commit c223c79b36fc908e48b780ba89028786bb57c70e Author: yangxiangyuan Date: Thu Jun 11 17:10:58 2026 +0800 chore: 初始提交 - 移除所有硬编码凭据,统一从环境变量读取 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0361921 --- /dev/null +++ b/.gitignore @@ -0,0 +1,71 @@ +# ===== 开发依赖 ===== +node_modules/ + +# ===== Windows 独有 ===== +winform/ +.DS_Store +Thumbs.db +desktop.ini + +# ===== 运行时数据(服务器重新生成)===== +data/ +logs/ +temp/ +.dbg/ +exports/ +backups/ +Toolbox-Weekly-Backup/ + +# ===== 前端大文件/素材(服务器不需要)===== +public/images/korean_references/ +public/images/zhihu/ +public/images/wave_references/ +public/images/x_fashion/ +public/images/style_check_images/ +public/home-bg/ +public/tools/apple_watch/apple_health_export/ +public/download_files/ + +# ===== 上传文件 ===== +uploads/ + +# ===== 脚本 ===== +scripts/ + +# ===== 本地凭证(含密码/密钥,不上传)===== +*.env.local +config/ +public/tools/markets/auth_config.json + +# ===== SSL 证书(服务器另有自己的)===== +umersoft.com_OV_SSL/ + +# ===== 调试/临时文件 ===== +*.md +*.txt +cookies.txt +_fix_*.js +_verify*.js +_verify2*.js +check_*.js +debug-*.md +example_auto_*.js +get_cookie_*.js +OSS权限.txt +.tmp_db_path.js +tmp_*.js +reproduce_issue.js +verify_db*.js +~\$*.docx + +# ===== IIS/构建配置(服务器不需要)===== +web.config +webpack.config.js +install_service_8977.bat +uninstall_service_8977.bat + +# ===== 杂项 ===== +.vscode/ +query +service/ +/tools/ \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..0dfee76 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,11029 @@ +{ + "name": "yangs-toolbox", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "yangs-toolbox", + "version": "0.1.0", + "dependencies": { + "@alicloud/pop-core": "^1.8.0", + "@univerjs/presets": "^0.19.0", + "@univerjs/protocol": "^0.1.48", + "@univerjs/ui": "^0.19.0", + "archiver": "^7.0.1", + "axios": "^1.7.5", + "better-sqlite3": "^9.4.5", + "cors": "^2.8.5", + "express": "^4.21.1", + "iconv-lite": "^0.6.3", + "imapflow": "^1.3.3", + "mailparser": "^3.9.8", + "mammoth": "^1.12.0", + "multer": "^2.0.2", + "nodemailer": "^6.9.8", + "pdf-parse": "^2.4.5", + "puppeteer": "^24.40.0", + "puppeteer-extra": "^3.3.6", + "puppeteer-extra-plugin-stealth": "^2.11.2", + "qrcode": "^1.5.4", + "react": "^19.2.4", + "react-dom": "^19.2.4", + "unzipper": "^0.10.14", + "word-extractor": "^1.0.4", + "ws": "^8.18.0", + "xlsx": "^0.18.5" + }, + "devDependencies": { + "css-loader": "^7.1.4", + "esbuild": "^0.27.4", + "style-loader": "^4.0.0", + "tinymce": "^6.8.3" + }, + "engines": { + "node": ">=22 <24" + } + }, + "node_modules/@alicloud/pop-core": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@alicloud/pop-core/-/pop-core-1.8.0.tgz", + "integrity": "sha512-ef6vIVigtr9n8Lw6Ld2GZ9jVUD0+ReHviaQaMqZDPI2HwdpVvrq1Rvn2tBnFToe0tdTpovz9N7XFSf/C274OtA==", + "license": "MIT", + "dependencies": { + "debug": "^3.1.0", + "httpx": "^2.1.2", + "json-bigint": "^1.0.0", + "kitx": "^1.2.1", + "xml2js": "^0.5.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@alicloud/pop-core/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/@alicloud/pop-core/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz", + "integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.4.tgz", + "integrity": "sha512-cQPwL2mp2nSmHHJlCyoXgHGhbEPMrEEU5xhkcy3Hs/O7nGZqEpZ2sUtLaL9MORLtDfRvVl2/3PAuEkYZH0Ty8Q==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.4.tgz", + "integrity": "sha512-X9bUgvxiC8CHAGKYufLIHGXPJWnr0OCdR0anD2e21vdvgCI8lIfqFbnoeOz7lBjdrAGUhqLZLcQo6MLhTO2DKQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.4.tgz", + "integrity": "sha512-gdLscB7v75wRfu7QSm/zg6Rx29VLdy9eTr2t44sfTW7CxwAtQghZ4ZnqHk3/ogz7xao0QAgrkradbBzcqFPasw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.4.tgz", + "integrity": "sha512-PzPFnBNVF292sfpfhiyiXCGSn9HZg5BcAz+ivBuSsl6Rk4ga1oEXAamhOXRFyMcjwr2DVtm40G65N3GLeH1Lvw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.4.tgz", + "integrity": "sha512-b7xaGIwdJlht8ZFCvMkpDN6uiSmnxxK56N2GDTMYPr2/gzvfdQN8rTfBsvVKmIVY/X7EM+/hJKEIbbHs9oA4tQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.4.tgz", + "integrity": "sha512-sR+OiKLwd15nmCdqpXMnuJ9W2kpy0KigzqScqHI3Hqwr7IXxBp3Yva+yJwoqh7rE8V77tdoheRYataNKL4QrPw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.4.tgz", + "integrity": "sha512-jnfpKe+p79tCnm4GVav68A7tUFeKQwQyLgESwEAUzyxk/TJr4QdGog9sqWNcUbr/bZt/O/HXouspuQDd9JxFSw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.4.tgz", + "integrity": "sha512-2kb4ceA/CpfUrIcTUl1wrP/9ad9Atrp5J94Lq69w7UwOMolPIGrfLSvAKJp0RTvkPPyn6CIWrNy13kyLikZRZQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.4.tgz", + "integrity": "sha512-aBYgcIxX/wd5n2ys0yESGeYMGF+pv6g0DhZr3G1ZG4jMfruU9Tl1i2Z+Wnj9/KjGz1lTLCcorqE2viePZqj4Eg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.4.tgz", + "integrity": "sha512-7nQOttdzVGth1iz57kxg9uCz57dxQLHWxopL6mYuYthohPKEK0vU0C3O21CcBK6KDlkYVcnDXY099HcCDXd9dA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.4.tgz", + "integrity": "sha512-oPtixtAIzgvzYcKBQM/qZ3R+9TEUd1aNJQu0HhGyqtx6oS7qTpvjheIWBbes4+qu1bNlo2V4cbkISr8q6gRBFA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.4.tgz", + "integrity": "sha512-8mL/vh8qeCoRcFH2nM8wm5uJP+ZcVYGGayMavi8GmRJjuI3g1v6Z7Ni0JJKAJW+m0EtUuARb6Lmp4hMjzCBWzA==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.4.tgz", + "integrity": "sha512-1RdrWFFiiLIW7LQq9Q2NES+HiD4NyT8Itj9AUeCl0IVCA459WnPhREKgwrpaIfTOe+/2rdntisegiPWn/r/aAw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.4.tgz", + "integrity": "sha512-tLCwNG47l3sd9lpfyx9LAGEGItCUeRCWeAx6x2Jmbav65nAwoPXfewtAdtbtit/pJFLUWOhpv0FpS6GQAmPrHA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.4.tgz", + "integrity": "sha512-BnASypppbUWyqjd1KIpU4AUBiIhVr6YlHx/cnPgqEkNoVOhHg+YiSVxM1RLfiy4t9cAulbRGTNCKOcqHrEQLIw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.4.tgz", + "integrity": "sha512-+eUqgb/Z7vxVLezG8bVB9SfBie89gMueS+I0xYh2tJdw3vqA/0ImZJ2ROeWwVJN59ihBeZ7Tu92dF/5dy5FttA==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.4.tgz", + "integrity": "sha512-S5qOXrKV8BQEzJPVxAwnryi2+Iq5pB40gTEIT69BQONqR7JH1EPIcQ/Uiv9mCnn05jff9umq/5nqzxlqTOg9NA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.4.tgz", + "integrity": "sha512-xHT8X4sb0GS8qTqiwzHqpY00C95DPAq7nAwX35Ie/s+LO9830hrMd3oX0ZMKLvy7vsonee73x0lmcdOVXFzd6Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.4.tgz", + "integrity": "sha512-RugOvOdXfdyi5Tyv40kgQnI0byv66BFgAqjdgtAKqHoZTbTF2QqfQrFwa7cHEORJf6X2ht+l9ABLMP0dnKYsgg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.4.tgz", + "integrity": "sha512-2MyL3IAaTX+1/qP0O1SwskwcwCoOI4kV2IBX1xYnDDqthmq5ArrW94qSIKCAuRraMgPOmG0RDTA74mzYNQA9ow==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.4.tgz", + "integrity": "sha512-u8fg/jQ5aQDfsnIV6+KwLOf1CmJnfu1ShpwqdwC0uA7ZPwFws55Ngc12vBdeUdnuWoQYx/SOQLGDcdlfXhYmXQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.4.tgz", + "integrity": "sha512-JkTZrl6VbyO8lDQO3yv26nNr2RM2yZzNrNHEsj9bm6dOwwu9OYN28CjzZkH57bh4w0I2F7IodpQvUAEd1mbWXg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.4.tgz", + "integrity": "sha512-/gOzgaewZJfeJTlsWhvUEmUG4tWEY2Spp5M20INYRg2ZKl9QPO3QEEgPeRtLjEWSW8FilRNacPOg8R1uaYkA6g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.4.tgz", + "integrity": "sha512-Z9SExBg2y32smoDQdf1HRwHRt6vAHLXcxD2uGgO/v2jK7Y718Ix4ndsbNMU/+1Qiem9OiOdaqitioZwxivhXYg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.4.tgz", + "integrity": "sha512-DAyGLS0Jz5G5iixEbMHi5KdiApqHBWMGzTtMiJ72ZOLhbu/bzxgAe8Ue8CTS3n3HbIUHQz/L51yMdGMeoxXNJw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.4.tgz", + "integrity": "sha512-+knoa0BDoeXgkNvvV1vvbZX4+hizelrkwmGJBdT17t8FNPwG2lKemmuMZlmaNQ3ws3DKKCxpb4zRZEIp3UxFCg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@flatten-js/interval-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@flatten-js/interval-tree/-/interval-tree-1.1.3.tgz", + "integrity": "sha512-xhFWUBoHJFF77cJO1D6REjdgJEMRf2Y2Z+eKEPav8evGKcLSnj1ud5pLXQSbGuxF3VSvT1rWhMfVpXEKJLTL+A==", + "license": "MIT" + }, + "node_modules/@floating-ui/core": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.5.tgz", + "integrity": "sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.11" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.6.tgz", + "integrity": "sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.7.5", + "@floating-ui/utils": "^0.2.11" + } + }, + "node_modules/@floating-ui/react-dom": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz", + "integrity": "sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.7.6" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.11.tgz", + "integrity": "sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==", + "license": "MIT" + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.11", + "resolved": "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.11.tgz", + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@napi-rs/canvas": { + "version": "0.1.80", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas/-/canvas-0.1.80.tgz", + "integrity": "sha512-DxuT1ClnIPts1kQx8FBmkk4BQDTfI5kIzywAaMjQSXfNnra5UFU9PwurXrl+Je3bJ6BGsp/zmshVVFbCmyI+ww==", + "license": "MIT", + "workspaces": [ + "e2e/*" + ], + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@napi-rs/canvas-android-arm64": "0.1.80", + "@napi-rs/canvas-darwin-arm64": "0.1.80", + "@napi-rs/canvas-darwin-x64": "0.1.80", + "@napi-rs/canvas-linux-arm-gnueabihf": "0.1.80", + "@napi-rs/canvas-linux-arm64-gnu": "0.1.80", + "@napi-rs/canvas-linux-arm64-musl": "0.1.80", + "@napi-rs/canvas-linux-riscv64-gnu": "0.1.80", + "@napi-rs/canvas-linux-x64-gnu": "0.1.80", + "@napi-rs/canvas-linux-x64-musl": "0.1.80", + "@napi-rs/canvas-win32-x64-msvc": "0.1.80" + } + }, + "node_modules/@napi-rs/canvas-android-arm64": { + "version": "0.1.80", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-android-arm64/-/canvas-android-arm64-0.1.80.tgz", + "integrity": "sha512-sk7xhN/MoXeuExlggf91pNziBxLPVUqF2CAVnB57KLG/pz7+U5TKG8eXdc3pm0d7Od0WreB6ZKLj37sX9muGOQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/canvas-darwin-arm64": { + "version": "0.1.80", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-arm64/-/canvas-darwin-arm64-0.1.80.tgz", + "integrity": "sha512-O64APRTXRUiAz0P8gErkfEr3lipLJgM6pjATwavZ22ebhjYl/SUbpgM0xcWPQBNMP1n29afAC/Us5PX1vg+JNQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/canvas-darwin-x64": { + "version": "0.1.80", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-x64/-/canvas-darwin-x64-0.1.80.tgz", + "integrity": "sha512-FqqSU7qFce0Cp3pwnTjVkKjjOtxMqRe6lmINxpIZYaZNnVI0H5FtsaraZJ36SiTHNjZlUB69/HhxNDT1Aaa9vA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/canvas-linux-arm-gnueabihf": { + "version": "0.1.80", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm-gnueabihf/-/canvas-linux-arm-gnueabihf-0.1.80.tgz", + "integrity": "sha512-eyWz0ddBDQc7/JbAtY4OtZ5SpK8tR4JsCYEZjCE3dI8pqoWUC8oMwYSBGCYfsx2w47cQgQCgMVRVTFiiO38hHQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/canvas-linux-arm64-gnu": { + "version": "0.1.80", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-gnu/-/canvas-linux-arm64-gnu-0.1.80.tgz", + "integrity": "sha512-qwA63t8A86bnxhuA/GwOkK3jvb+XTQaTiVML0vAWoHyoZYTjNs7BzoOONDgTnNtr8/yHrq64XXzUoLqDzU+Uuw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/canvas-linux-arm64-musl": { + "version": "0.1.80", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-musl/-/canvas-linux-arm64-musl-0.1.80.tgz", + "integrity": "sha512-1XbCOz/ymhj24lFaIXtWnwv/6eFHXDrjP0jYkc6iHQ9q8oXKzUX1Lc6bu+wuGiLhGh2GS/2JlfORC5ZcXimRcg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/canvas-linux-riscv64-gnu": { + "version": "0.1.80", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-riscv64-gnu/-/canvas-linux-riscv64-gnu-0.1.80.tgz", + "integrity": "sha512-XTzR125w5ZMs0lJcxRlS1K3P5RaZ9RmUsPtd1uGt+EfDyYMu4c6SEROYsxyatbbu/2+lPe7MPHOO/0a0x7L/gw==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/canvas-linux-x64-gnu": { + "version": "0.1.80", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-gnu/-/canvas-linux-x64-gnu-0.1.80.tgz", + "integrity": "sha512-BeXAmhKg1kX3UCrJsYbdQd3hIMDH/K6HnP/pG2LuITaXhXBiNdh//TVVVVCBbJzVQaV5gK/4ZOCMrQW9mvuTqA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/canvas-linux-x64-musl": { + "version": "0.1.80", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-musl/-/canvas-linux-x64-musl-0.1.80.tgz", + "integrity": "sha512-x0XvZWdHbkgdgucJsRxprX/4o4sEed7qo9rCQA9ugiS9qE2QvP0RIiEugtZhfLH3cyI+jIRFJHV4Fuz+1BHHMg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/canvas-win32-x64-msvc": { + "version": "0.1.80", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-x64-msvc/-/canvas-win32-x64-msvc-0.1.80.tgz", + "integrity": "sha512-Z8jPsM6df5V8B1HrCHB05+bDiCxjE9QA//3YrkKIdVDEwn5RKaqOxCJDRJkl48cJbylcrJbW4HxZbTte8juuPg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@noble/ed25519": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@noble/ed25519/-/ed25519-2.3.0.tgz", + "integrity": "sha512-M7dvXL2B92/M7dw9+gzuydL8qn/jiqNHaoR3Q+cb1q1GHV7uwE17WCyFMG+Y+TZb5izcaXk5TdJRrDUxHXL78A==", + "license": "MIT", + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@noble/hashes": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", + "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@pinojs/redact": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@pinojs/redact/-/redact-0.4.0.tgz", + "integrity": "sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg==", + "license": "MIT" + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@puppeteer/browsers": { + "version": "2.13.0", + "resolved": "https://registry.npmmirror.com/@puppeteer/browsers/-/browsers-2.13.0.tgz", + "integrity": "sha512-46BZJYJjc/WwmKjsvDFykHtXrtomsCIrwYQPOP7VfMJoZY2bsDF9oROBABR3paDjDcmkUye1Pb1BqdcdiipaWA==", + "license": "Apache-2.0", + "dependencies": { + "debug": "^4.4.3", + "extract-zip": "^2.0.1", + "progress": "^2.0.3", + "proxy-agent": "^6.5.0", + "semver": "^7.7.4", + "tar-fs": "^3.1.1", + "yargs": "^17.7.2" + }, + "bin": { + "browsers": "lib/cjs/main-cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@puppeteer/browsers/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@puppeteer/browsers/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@puppeteer/browsers/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@puppeteer/browsers/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@puppeteer/browsers/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/@puppeteer/browsers/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/@puppeteer/browsers/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@puppeteer/browsers/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@puppeteer/browsers/node_modules/tar-fs": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/tar-fs/-/tar-fs-3.1.2.tgz", + "integrity": "sha512-QGxxTxxyleAdyM3kpFs14ymbYmNFrfY+pHj7Z8FgtbZ7w2//VAgLMac7sT6nRpIHjppXO2AwwEOg0bPFVRcmXw==", + "license": "MIT", + "dependencies": { + "pump": "^3.0.0", + "tar-stream": "^3.1.5" + }, + "optionalDependencies": { + "bare-fs": "^4.0.1", + "bare-path": "^3.0.0" + } + }, + "node_modules/@puppeteer/browsers/node_modules/tar-stream": { + "version": "3.1.8", + "resolved": "https://registry.npmmirror.com/tar-stream/-/tar-stream-3.1.8.tgz", + "integrity": "sha512-U6QpVRyCGHva435KoNWy9PRoi2IFYCgtEhq9nmrPPpbRacPs9IH4aJ3gbrFC8dPcXvdSZ4XXfXT5Fshbp2MtlQ==", + "license": "MIT", + "dependencies": { + "b4a": "^1.6.4", + "bare-fs": "^4.5.5", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, + "node_modules/@puppeteer/browsers/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@puppeteer/browsers/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmmirror.com/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/@puppeteer/browsers/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@puppeteer/browsers/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/@radix-ui/primitive": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.3.tgz", + "integrity": "sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==", + "license": "MIT" + }, + "node_modules/@radix-ui/react-arrow": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.7.tgz", + "integrity": "sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collection": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.7.tgz", + "integrity": "sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.2.tgz", + "integrity": "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-context": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.2.tgz", + "integrity": "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dialog": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.15.tgz", + "integrity": "sha512-TCglVRtzlffRNxRMEyR36DGBLJpeusFcgMVD9PZEzAKnUs1lKCgX5u9BmC2Yg+LL9MgZDugFFs1Vl+Jp4t/PGw==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-focus-guards": "1.1.3", + "@radix-ui/react-focus-scope": "1.1.7", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-direction": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.1.1.tgz", + "integrity": "sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dismissable-layer": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.11.tgz", + "integrity": "sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-escape-keydown": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dropdown-menu": { + "version": "2.1.16", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.1.16.tgz", + "integrity": "sha512-1PLGQEynI/3OX/ftV54COn+3Sud/Mn8vALg2rWnBLnRaGtJDduNW/22XjlGgPdpcIbiQxjKtb7BkcjP00nqfJw==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-menu": "2.1.16", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-guards": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.3.tgz", + "integrity": "sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-scope": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.7.tgz", + "integrity": "sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-hover-card": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/@radix-ui/react-hover-card/-/react-hover-card-1.1.15.tgz", + "integrity": "sha512-qgTkjNT1CfKMoP0rcasmlH2r1DAiYicWsDsufxl940sT2wHNEWWv6FMWIQXWhVdmC1d/HYfbhQx60KYyAtKxjg==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-popper": "1.2.8", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-id": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.1.tgz", + "integrity": "sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-menu": { + "version": "2.1.16", + "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.1.16.tgz", + "integrity": "sha512-72F2T+PLlphrqLcAotYPp0uJMr5SjP5SL01wfEspJbru5Zs5vQaSHb4VB3ZMJPimgHHCHG7gMOeOB9H3Hdmtxg==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-focus-guards": "1.1.3", + "@radix-ui/react-focus-scope": "1.1.7", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-popper": "1.2.8", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-roving-focus": "1.1.11", + "@radix-ui/react-slot": "1.2.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popover": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.1.15.tgz", + "integrity": "sha512-kr0X2+6Yy/vJzLYJUPCZEc8SfQcf+1COFoAqauJm74umQhta9M7lNJHP7QQS3vkvcGLQUbWpMzwrXYwrYztHKA==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-focus-guards": "1.1.3", + "@radix-ui/react-focus-scope": "1.1.7", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-popper": "1.2.8", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popper": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.8.tgz", + "integrity": "sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw==", + "license": "MIT", + "dependencies": { + "@floating-ui/react-dom": "^2.0.0", + "@radix-ui/react-arrow": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-layout-effect": "1.1.1", + "@radix-ui/react-use-rect": "1.1.1", + "@radix-ui/react-use-size": "1.1.1", + "@radix-ui/rect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-portal": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.9.tgz", + "integrity": "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-presence": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.5.tgz", + "integrity": "sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-primitive": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz", + "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-slot": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-primitive/node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-roving-focus": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.11.tgz", + "integrity": "sha512-7A6S9jSgm/S+7MdtNDSb+IU859vQqJ/QAtcYQcfFC6W8RS4IxIZDldLR0xqCFZ6DCyrQLjLPsxtTNch5jVA4lA==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-separator": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.1.8.tgz", + "integrity": "sha512-sDvqVY4itsKwwSMEe0jtKgfTh+72Sy3gPmQpjqcQneqQ4PFmr/1I0YA+2/puilhggCe2gJcx5EBAYFkWkdpa5g==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.4" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.4.tgz", + "integrity": "sha512-9hQc4+GNVtJAIEPEqlYqW5RiYdrr8ea5XQ0ZOnD6fgru+83kqT15mq2OCcbe8KnjRZl5vF3ks69AKz3kh1jrhg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-slot": "1.2.4" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.4.tgz", + "integrity": "sha512-Jl+bCv8HxKnlTLVrcDE8zTMJ09R9/ukw4qBs/oZClOfoQk/cOTbDn+NceXfV7j09YPVQUryJPHurafcSg6EVKA==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.1.tgz", + "integrity": "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.2.2.tgz", + "integrity": "sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-effect-event": "0.0.2", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-effect-event": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-effect-event/-/react-use-effect-event-0.0.2.tgz", + "integrity": "sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-escape-keydown": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.1.tgz", + "integrity": "sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-callback-ref": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.1.tgz", + "integrity": "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-rect": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.1.1.tgz", + "integrity": "sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w==", + "license": "MIT", + "dependencies": { + "@radix-ui/rect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-size": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.1.1.tgz", + "integrity": "sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/rect": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.1.1.tgz", + "integrity": "sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==", + "license": "MIT" + }, + "node_modules/@selderee/plugin-htmlparser2": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@selderee/plugin-htmlparser2/-/plugin-htmlparser2-0.11.0.tgz", + "integrity": "sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==", + "license": "MIT", + "dependencies": { + "domhandler": "^5.0.3", + "selderee": "^0.11.0" + }, + "funding": { + "url": "https://ko-fi.com/killymxi" + } + }, + "node_modules/@tootallnate/quickjs-emscripten": { + "version": "0.23.0", + "resolved": "https://registry.npmmirror.com/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", + "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", + "license": "MIT" + }, + "node_modules/@types/debug": { + "version": "4.1.13", + "resolved": "https://registry.npmmirror.com/@types/debug/-/debug-4.1.13.tgz", + "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/eslint": { + "version": "9.6.1", + "resolved": "https://registry.npmmirror.com/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "20.19.30", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.30.tgz", + "integrity": "sha512-WJtwWJu7UdlvzEAUm484QNg5eAoq5QR08KDNx7g45Usrs2NtOPiX8ugDqmKdXkyL03rBqU5dYNYVQetEpBHq2g==", + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/yauzl": { + "version": "2.10.3", + "resolved": "https://registry.npmmirror.com/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", + "license": "MIT", + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@univerjs-pro/collaboration": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs-pro/collaboration/-/collaboration-0.19.0.tgz", + "integrity": "sha512-GRj2dnm+1FZkxVjOULAc65hCkbeUHmJj4OCykbRBWvViQb6nC0UGy19G1bPmvi6fCNHYhHFPwcaHC7icfQPCBA==", + "dependencies": { + "@univerjs-pro/license": "0.19.0", + "@univerjs/core": "0.19.0", + "@univerjs/data-validation": "0.19.0", + "@univerjs/docs": "0.19.0", + "@univerjs/engine-formula": "0.19.0", + "@univerjs/protocol": "0.1.48", + "@univerjs/sheets": "0.19.0", + "@univerjs/sheets-conditional-formatting": "0.19.0", + "@univerjs/sheets-drawing": "0.19.0", + "@univerjs/sheets-filter": "0.19.0", + "@univerjs/sheets-hyper-link": "0.19.0", + "@univerjs/thread-comment": "0.19.0", + "uuid": "^13.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + } + }, + "node_modules/@univerjs-pro/collaboration-client": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs-pro/collaboration-client/-/collaboration-client-0.19.0.tgz", + "integrity": "sha512-Vgag0DGsvQFYYkwCFkFTBT/FPUSTBMze19zGVaRsqg0SPUmGwf7fGhbPHUHkH7QO1hhna2cP7k+4fgdkorJF6A==", + "dependencies": { + "@univerjs-pro/collaboration": "0.19.0", + "@univerjs-pro/license": "0.19.0", + "@univerjs/core": "0.19.0", + "@univerjs/docs": "0.19.0", + "@univerjs/drawing": "0.19.0", + "@univerjs/network": "0.19.0", + "@univerjs/protocol": "0.1.48", + "@univerjs/sheets": "0.19.0", + "@univerjs/telemetry": "0.19.0", + "crypto-js": "4.2.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs-pro/collaboration-client-ui": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs-pro/collaboration-client-ui/-/collaboration-client-ui-0.19.0.tgz", + "integrity": "sha512-Ek4dtUfBT6uxi46TuFE9/H5yTUfVpIxECNDR8nbJ1Rrpp0619eT4/Pp77x0JM2X0CQO5pu4cKOUOvFYkKdg1Ug==", + "dependencies": { + "@univerjs-pro/collaboration": "0.19.0", + "@univerjs-pro/collaboration-client": "0.19.0", + "@univerjs/core": "0.19.0", + "@univerjs/design": "0.19.0", + "@univerjs/docs": "0.19.0", + "@univerjs/docs-ui": "0.19.0", + "@univerjs/drawing": "0.19.0", + "@univerjs/engine-formula": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/icons": "^1.1.1", + "@univerjs/network": "0.19.0", + "@univerjs/protocol": "0.1.48", + "@univerjs/rpc": "0.19.0", + "@univerjs/sheets": "0.19.0", + "@univerjs/sheets-ui": "0.19.0", + "@univerjs/ui": "0.19.0", + "crypto-js": "4.2.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs-pro/docs-exchange-client": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs-pro/docs-exchange-client/-/docs-exchange-client-0.19.0.tgz", + "integrity": "sha512-/CYwSAURW/uHafWkuOeOELfF8JXeqs3rip9WOrA8hxsRoj3kduDRx5HbfTZpQQnrIOWmcFpATp+7+axFJswfWw==", + "dependencies": { + "@univerjs-pro/exchange-client": "0.19.0", + "@univerjs/core": "0.19.0", + "@univerjs/ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + } + }, + "node_modules/@univerjs-pro/docs-print": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs-pro/docs-print/-/docs-print-0.19.0.tgz", + "integrity": "sha512-PWQLpQt4NgNLU9UHfl++5oDEFSvCgLOf43EiT4J6lAHGMAudIMep+y/tSESou/UL1DIGMOJpnv0pJztF+rEAzA==", + "dependencies": { + "@univerjs-pro/license": "0.19.0", + "@univerjs-pro/print": "0.19.0", + "@univerjs/core": "0.19.0", + "@univerjs/docs": "0.19.0", + "@univerjs/docs-ui": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/icons": "^1.1.1", + "@univerjs/network": "0.19.0", + "@univerjs/ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + } + }, + "node_modules/@univerjs-pro/edit-history-loader": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs-pro/edit-history-loader/-/edit-history-loader-0.19.0.tgz", + "integrity": "sha512-z+6fZ6vDcB1niQonBeMQ3xePg7w/vQVN5DCkPmusEX1CSNnZabPdGgLBRFafrPnMSXeZsznoDo/rQTZhe+0c2g==", + "dependencies": { + "@univerjs-pro/collaboration": "0.19.0", + "@univerjs-pro/collaboration-client": "0.19.0", + "@univerjs-pro/collaboration-client-ui": "0.19.0", + "@univerjs-pro/edit-history-viewer": "0.19.0", + "@univerjs-pro/license": "0.19.0", + "@univerjs-pro/sheets-chart": "0.19.0", + "@univerjs-pro/sheets-chart-ui": "0.19.0", + "@univerjs-pro/sheets-pivot": "0.19.0", + "@univerjs-pro/sheets-shape": "0.19.0", + "@univerjs-pro/sheets-shape-ui": "0.19.0", + "@univerjs-pro/sheets-sparkline": "0.19.0", + "@univerjs-pro/sheets-sparkline-ui": "0.19.0", + "@univerjs/core": "0.19.0", + "@univerjs/data-validation": "0.19.0", + "@univerjs/design": "0.19.0", + "@univerjs/docs": "0.19.0", + "@univerjs/docs-ui": "0.19.0", + "@univerjs/drawing": "0.19.0", + "@univerjs/drawing-ui": "0.19.0", + "@univerjs/engine-formula": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/icons": "^1.1.1", + "@univerjs/network": "0.19.0", + "@univerjs/protocol": "0.1.48", + "@univerjs/rpc": "0.19.0", + "@univerjs/sheets": "0.19.0", + "@univerjs/sheets-conditional-formatting": "0.19.0", + "@univerjs/sheets-conditional-formatting-ui": "0.19.0", + "@univerjs/sheets-data-validation": "0.19.0", + "@univerjs/sheets-data-validation-ui": "0.19.0", + "@univerjs/sheets-drawing": "0.19.0", + "@univerjs/sheets-drawing-ui": "0.19.0", + "@univerjs/sheets-filter": "0.19.0", + "@univerjs/sheets-filter-ui": "0.19.0", + "@univerjs/sheets-formula": "0.19.0", + "@univerjs/sheets-formula-ui": "0.19.0", + "@univerjs/sheets-hyper-link": "0.19.0", + "@univerjs/sheets-hyper-link-ui": "0.19.0", + "@univerjs/sheets-numfmt": "0.19.0", + "@univerjs/sheets-table": "0.19.0", + "@univerjs/sheets-ui": "0.19.0", + "@univerjs/ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs-pro/edit-history-viewer": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs-pro/edit-history-viewer/-/edit-history-viewer-0.19.0.tgz", + "integrity": "sha512-bzvJ7swLHSSws5eryT+WCEyd2nmibtPKDSPU/i/AXZS5pZwiO2YNYLUC+aTo7V9e1J0yRwxAu8WGrys5qOafXQ==", + "dependencies": { + "@univerjs-pro/collaboration": "0.19.0", + "@univerjs-pro/collaboration-client": "0.19.0", + "@univerjs-pro/collaboration-client-ui": "0.19.0", + "@univerjs-pro/sheets-chart": "0.19.0", + "@univerjs-pro/sheets-pivot": "0.19.0", + "@univerjs-pro/sheets-shape": "0.19.0", + "@univerjs-pro/sheets-sparkline": "0.19.0", + "@univerjs/core": "0.19.0", + "@univerjs/data-validation": "0.19.0", + "@univerjs/design": "0.19.0", + "@univerjs/drawing": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/icons": "^1.1.1", + "@univerjs/network": "0.19.0", + "@univerjs/protocol": "0.1.48", + "@univerjs/sheets": "0.19.0", + "@univerjs/sheets-conditional-formatting": "0.19.0", + "@univerjs/sheets-data-validation": "0.19.0", + "@univerjs/sheets-drawing": "0.19.0", + "@univerjs/sheets-filter": "0.19.0", + "@univerjs/sheets-table": "0.19.0", + "@univerjs/sheets-ui": "0.19.0", + "@univerjs/ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs-pro/engine-chart": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs-pro/engine-chart/-/engine-chart-0.19.0.tgz", + "integrity": "sha512-4eFHBgWfMfp/oVF4yONk0IXSokTBD8j9H+8diDP+RjqCutFBxPmbDPA0+TOE8Gy43+bxedz9rLHmvPwd6mylpg==", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/engine-render": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs-pro/engine-formula": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs-pro/engine-formula/-/engine-formula-0.19.0.tgz", + "integrity": "sha512-hUuE0+OcoMuTdjuqmFw27K31A37fVbGdWuMUCAhDeGWK3dsdE6/sTdPkPke8u3nloWl/LnsDo9KQqwKyWuqHWA==", + "dependencies": { + "@univerjs-pro/license": "0.19.0", + "@univerjs/core": "0.19.0", + "@univerjs/engine-formula": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + } + }, + "node_modules/@univerjs-pro/engine-pivot": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs-pro/engine-pivot/-/engine-pivot-0.19.0.tgz", + "integrity": "sha512-SelfKAeCibUTjerzTk6ss8A8ZpfNzM9VJaxv5zwOpY2kYRbSIHxtbGKxt1kBTvu84XukLDcmxALNrBl8JkB1Lw==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + } + }, + "node_modules/@univerjs-pro/engine-shape": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs-pro/engine-shape/-/engine-shape-0.19.0.tgz", + "integrity": "sha512-WMzEuCOAsqiE1Kkx85hFwVv5stetKS4LDW5h+sdui6KWvUT7KfRg8lF+y4YwTra2FcSzxqpQ9VBQYO6z6pk96A==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + } + }, + "node_modules/@univerjs-pro/exchange-client": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs-pro/exchange-client/-/exchange-client-0.19.0.tgz", + "integrity": "sha512-KHhuIjGkSM5NEieeGz9MC05Txy7QgzcQUxc0HKwQer8dHAwm9lOydZLXbOcW8wQjZO55ZZbbFNndJXBnD1Oqyw==", + "dependencies": { + "@univerjs-pro/collaboration": "0.19.0", + "@univerjs-pro/license": "0.19.0", + "@univerjs/core": "0.19.0", + "@univerjs/design": "0.19.0", + "@univerjs/icons": "^1.1.1", + "@univerjs/network": "0.19.0", + "@univerjs/protocol": "0.1.48", + "@univerjs/ui": "0.19.0", + "pako": "^2.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs-pro/license": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs-pro/license/-/license-0.19.0.tgz", + "integrity": "sha512-aqUiH8OL+89d9+h3VAmBu/ID1O+9b3nIdR6OmL6TwiQtf7E7IX5qD8p22jlU0JDAdeM6aoxSYHcO6Gin2OY6pQ==", + "dependencies": { + "@noble/ed25519": "2.3.0", + "@noble/hashes": "1.8.0", + "@univerjs/core": "0.19.0", + "@univerjs/engine-render": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs-pro/print": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs-pro/print/-/print-0.19.0.tgz", + "integrity": "sha512-pum3lxYKJQ2T6gGTRJ2ySSWX/d/Im4/VkcYWTNLRVaK/aGAskF4qu1vkMUMO8TyMqy70AAPzwocGz046dF+EtA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + } + }, + "node_modules/@univerjs-pro/sheets-chart": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs-pro/sheets-chart/-/sheets-chart-0.19.0.tgz", + "integrity": "sha512-5nWzkHAOuhCiAyGg7QxOensNAvu4R2++vFzz3sZl0m31Nr+TKUyLQ8JkRbORgBwuVL6YfV6uUX60NGj95S7wtg==", + "dependencies": { + "@univerjs-pro/engine-chart": "0.19.0", + "@univerjs-pro/license": "0.19.0", + "@univerjs/core": "0.19.0", + "@univerjs/sheets": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs-pro/sheets-chart-ui": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs-pro/sheets-chart-ui/-/sheets-chart-ui-0.19.0.tgz", + "integrity": "sha512-1zzBChTAGaH0hXl7N3N/xAtgzC7jz1rnL6G6iXZD1fQt9Q80pm+C+1LdndcYoKLdCy1OCMbaKDnOSnBgkluOlw==", + "dependencies": { + "@univerjs-pro/engine-chart": "0.19.0", + "@univerjs-pro/sheets-chart": "0.19.0", + "@univerjs/core": "0.19.0", + "@univerjs/design": "0.19.0", + "@univerjs/drawing": "0.19.0", + "@univerjs/engine-formula": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/icons": "^1.1.1", + "@univerjs/sheets": "0.19.0", + "@univerjs/sheets-drawing": "0.19.0", + "@univerjs/sheets-drawing-ui": "0.19.0", + "@univerjs/sheets-formula-ui": "0.19.0", + "@univerjs/sheets-ui": "0.19.0", + "@univerjs/ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs-pro/sheets-exchange-client": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs-pro/sheets-exchange-client/-/sheets-exchange-client-0.19.0.tgz", + "integrity": "sha512-HcB22iA+QoTNke0ibXwpnTjkR8ykEeTriTFBO8CP5PqPczTlICAQYGdNtW5xAwAee29jbF7sXrIC/MvgHOw2nQ==", + "dependencies": { + "@univerjs-pro/exchange-client": "0.19.0", + "@univerjs/core": "0.19.0", + "@univerjs/sheets": "0.19.0", + "@univerjs/sheets-ui": "0.19.0", + "@univerjs/ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + } + }, + "node_modules/@univerjs-pro/sheets-pivot": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs-pro/sheets-pivot/-/sheets-pivot-0.19.0.tgz", + "integrity": "sha512-ObGnE8byo1N0k5q9u3LTs/QCcsoRwqI/PgrBRMnRX6BnOjdmUR+EQ9UDNvLzE07JVSmjuP3p7UatREugyBWOrw==", + "dependencies": { + "@univerjs-pro/engine-pivot": "0.19.0", + "@univerjs-pro/license": "0.19.0", + "@univerjs/core": "0.19.0", + "@univerjs/engine-formula": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/rpc": "0.19.0", + "@univerjs/sheets": "0.19.0", + "@univerjs/sheets-filter": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs-pro/sheets-pivot-ui": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs-pro/sheets-pivot-ui/-/sheets-pivot-ui-0.19.0.tgz", + "integrity": "sha512-Y6B4qV5priGjcSKmBjAqQdjBz25q1DO4vlfGhLbMAk39GtWB6z7W4jfG4KIke89PsKfaYnA2thFVqHuf90dHDA==", + "dependencies": { + "@univerjs-pro/engine-pivot": "0.19.0", + "@univerjs-pro/sheets-pivot": "0.19.0", + "@univerjs/core": "0.19.0", + "@univerjs/design": "0.19.0", + "@univerjs/docs-ui": "0.19.0", + "@univerjs/engine-formula": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/icons": "^1.1.1", + "@univerjs/sheets": "0.19.0", + "@univerjs/sheets-formula-ui": "0.19.0", + "@univerjs/sheets-ui": "0.19.0", + "@univerjs/ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs-pro/sheets-print": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs-pro/sheets-print/-/sheets-print-0.19.0.tgz", + "integrity": "sha512-CdMjdh3FRNH16U72XcaZltVb8rL4eq5x3K3+9h3LZGQ9KpLMwgRJvT5fgwxXM8Ahvvkbr3kr2tzl3upT4ukfWQ==", + "dependencies": { + "@univerjs-pro/collaboration-client": "0.19.0", + "@univerjs-pro/license": "0.19.0", + "@univerjs-pro/print": "0.19.0", + "@univerjs/core": "0.19.0", + "@univerjs/design": "0.19.0", + "@univerjs/docs": "0.19.0", + "@univerjs/docs-ui": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/icons": "^1.1.1", + "@univerjs/network": "0.19.0", + "@univerjs/sheets": "0.19.0", + "@univerjs/sheets-ui": "0.19.0", + "@univerjs/ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs-pro/sheets-shape": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs-pro/sheets-shape/-/sheets-shape-0.19.0.tgz", + "integrity": "sha512-mTRSO5A0vK/u/Tp8TmjOrlVNrVFTBzTfs9xq1P4cxC8DRWJNlJYQyQFOOO5yKc0/FjrwbTZ/s5x2TWRSkfJAQg==", + "dependencies": { + "@univerjs-pro/engine-shape": "0.19.0", + "@univerjs-pro/license": "0.19.0", + "@univerjs/core": "0.19.0" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=8.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + } + }, + "node_modules/@univerjs-pro/sheets-shape-ui": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs-pro/sheets-shape-ui/-/sheets-shape-ui-0.19.0.tgz", + "integrity": "sha512-JvzJUux5oQwGGvOwI74fZNYf2l6b8e7zOprpzcdGLDgcWltT/vWb1U44DuRAg3elhsZtvt6hveUyWR3JGu3g2A==", + "dependencies": { + "@univerjs-pro/engine-shape": "0.19.0", + "@univerjs-pro/sheets-shape": "0.19.0", + "@univerjs/core": "0.19.0", + "@univerjs/design": "0.19.0", + "@univerjs/docs": "0.19.0", + "@univerjs/docs-ui": "0.19.0", + "@univerjs/drawing": "0.19.0", + "@univerjs/drawing-ui": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/icons": "^1.1.1", + "@univerjs/sheets": "0.19.0", + "@univerjs/sheets-drawing": "0.19.0", + "@univerjs/sheets-drawing-ui": "0.19.0", + "@univerjs/sheets-ui": "0.19.0", + "@univerjs/ui": "0.19.0" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=8.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs-pro/sheets-sparkline": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs-pro/sheets-sparkline/-/sheets-sparkline-0.19.0.tgz", + "integrity": "sha512-EF5Dvpo/wDXkEVkc7zfKR3IeZ5yMLRTnQhcJb/0xlFqKZoYyxNifAUMcOcrClfFkOp9VF90LGxdTSwpiWTCKHA==", + "dependencies": { + "@univerjs-pro/license": "0.19.0", + "@univerjs/core": "0.19.0", + "@univerjs/sheets": "0.19.0" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=8.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs-pro/sheets-sparkline-ui": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs-pro/sheets-sparkline-ui/-/sheets-sparkline-ui-0.19.0.tgz", + "integrity": "sha512-FH3hugOKnV58RXt9BM2YaJi6THZxpp7U6F1YZ8nEb0a9+FAHmyvLilH0je5nQMQ+QFSz/S3zAiobP7+MqUVubw==", + "dependencies": { + "@univerjs-pro/sheets-sparkline": "0.19.0", + "@univerjs/core": "0.19.0", + "@univerjs/design": "0.19.0", + "@univerjs/engine-formula": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/icons": "^1.1.1", + "@univerjs/sheets": "0.19.0", + "@univerjs/sheets-formula-ui": "0.19.0", + "@univerjs/sheets-graphics": "0.19.0", + "@univerjs/sheets-ui": "0.19.0", + "@univerjs/ui": "0.19.0" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=8.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs-pro/thread-comment-datasource": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs-pro/thread-comment-datasource/-/thread-comment-datasource-0.19.0.tgz", + "integrity": "sha512-oh+1lN5z6VzoxI53hrZ0od6NNJQozqBK2ymh/AZMp3SugXO/xVVhDdPa3zk88noUdhXhS2qzV+IrCrlTBllBBw==", + "dependencies": { + "@univerjs-pro/collaboration-client": "0.19.0", + "@univerjs-pro/license": "0.19.0", + "@univerjs/core": "0.19.0", + "@univerjs/network": "0.19.0", + "@univerjs/protocol": "0.1.48", + "@univerjs/thread-comment": "0.19.0", + "@univerjs/thread-comment-ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/core": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/core/-/core-0.19.0.tgz", + "integrity": "sha512-bB1vNixeOlGnd7r3S9raYH73BqpHToLWEN7Wc4UynIoouoYVFCQJ7V0sAz7Th5vGAfwg9+Isotug8somvMu3/g==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/protocol": "0.1.48", + "@univerjs/themes": "0.19.0", + "@wendellhu/redi": "1.1.1", + "async-lock": "^1.4.1", + "dayjs": "^1.11.20", + "fast-diff": "1.3.0", + "kdbush": "^4.0.2", + "lodash-es": "^4.17.23", + "nanoid": "5.1.7", + "numfmt": "^3.2.3", + "ot-json1": "^1.0.2", + "rbush": "^4.0.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/data-validation": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/data-validation/-/data-validation-0.19.0.tgz", + "integrity": "sha512-JbKycYiz+72ao1gjVE8gLnoAQCUbg5LDm4Wx2KOhCO1Bx+NggGkmym2jxuUcnZy1Cwa/TZb5/uR9jqHN4cD2Gw==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/design": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/design/-/design-0.19.0.tgz", + "integrity": "sha512-uANO24s4L69M40AtkKD2hbhadv8YJId7NCQKvflEaJt1eswgDWWj/3WZUv9idEQI/U2Vl2Pu59CbufgADfmpEw==", + "license": "Apache-2.0", + "dependencies": { + "@radix-ui/react-dialog": "^1.1.15", + "@radix-ui/react-dropdown-menu": "^2.1.16", + "@radix-ui/react-hover-card": "^1.1.15", + "@radix-ui/react-popover": "^1.1.15", + "@radix-ui/react-separator": "^1.1.8", + "@radix-ui/react-slot": "^1.2.4", + "@univerjs/icons": "^1.1.1", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "dayjs": "^1.11.20", + "react-transition-group": "^4.4.5", + "sonner": "^2.0.7", + "tailwind-merge": "2.6.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "react-dom": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + } + }, + "node_modules/@univerjs/docs": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/docs/-/docs-0.19.0.tgz", + "integrity": "sha512-o6HkW/OZ85cpmNxd4/2LW0uEulfDAMfue76kFtVxWBOCtGVwWrFdXlSdv3QrFk/WS0A8uK2JpRuubbVplmuD3A==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/engine-render": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/docs-drawing": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/docs-drawing/-/docs-drawing-0.19.0.tgz", + "integrity": "sha512-r12OopPz2SHO6P7/bqnSNB/iuesKKwniFbHOeYnY8YsOL489XATH9xTHyr7YHH08YAVXREIoFjrcH58xsOw9jw==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/drawing": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + } + }, + "node_modules/@univerjs/docs-drawing-ui": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/docs-drawing-ui/-/docs-drawing-ui-0.19.0.tgz", + "integrity": "sha512-nljXloxv/BvTjNinXpGEfuwpsuvVeZzQg8SaC1hVxl+kyMgLeSZ6xkzlSZXLL3OLlzbCjEmpRmwiH371ZCloZg==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/design": "0.19.0", + "@univerjs/docs": "0.19.0", + "@univerjs/docs-drawing": "0.19.0", + "@univerjs/docs-ui": "0.19.0", + "@univerjs/drawing": "0.19.0", + "@univerjs/drawing-ui": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/docs-hyper-link": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/docs-hyper-link/-/docs-hyper-link-0.19.0.tgz", + "integrity": "sha512-Ah6jKr0+YCqDTjm15sdYPAzmfxnx7CEORQzGBmEBaAKkFqXEX3eCgcXG/+bRVj2Xu4e447WyORtvlmM/Elzbdw==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + } + }, + "node_modules/@univerjs/docs-hyper-link-ui": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/docs-hyper-link-ui/-/docs-hyper-link-ui-0.19.0.tgz", + "integrity": "sha512-0Rwp8S9jqUxVUf8Og2SsxO5CHu0ENq8WTuWGKS0ENdLMY3GeQxsaDP05x+uyrMi+J+fYgUma0wgc13eSy0Ebbw==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/design": "0.19.0", + "@univerjs/docs": "0.19.0", + "@univerjs/docs-hyper-link": "0.19.0", + "@univerjs/docs-ui": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/icons": "^1.1.1", + "@univerjs/ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/docs-thread-comment-ui": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/docs-thread-comment-ui/-/docs-thread-comment-ui-0.19.0.tgz", + "integrity": "sha512-lKDQQgJGPSb+Gz9THPWpOzwMzCkX4lmY0JdZ2Bnh1jbHOV+w3zEAzAEI94hM2uvIVn+tz71jOmfmEom4N1xiVg==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/docs": "0.19.0", + "@univerjs/docs-ui": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/icons": "^1.1.1", + "@univerjs/thread-comment": "0.19.0", + "@univerjs/thread-comment-ui": "0.19.0", + "@univerjs/ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/docs-ui": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/docs-ui/-/docs-ui-0.19.0.tgz", + "integrity": "sha512-qIeMxmm9rkAV5IcNMUd/4puo05w3DR8StbnY0Hxf7Opw8LXUeoI5pCGhyezYL4Xi/sdPgaWEiqZJTJrqoN1AgA==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/design": "0.19.0", + "@univerjs/docs": "0.19.0", + "@univerjs/drawing": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/icons": "^1.1.1", + "@univerjs/ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/drawing": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/drawing/-/drawing-0.19.0.tgz", + "integrity": "sha512-TtL/4gWsbDv7t8flGnGCmnUmwW5JcOycxkjU+It9yVbUqkBUEGDIFylt90oqs8wq4AO8vezs/D0DaizDcxmd6A==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "ot-json1": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/drawing-ui": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/drawing-ui/-/drawing-ui-0.19.0.tgz", + "integrity": "sha512-atXQNKBnzftrhBHqKZYeHXiMYZJL3PA5U3wJTzSBjF8GQ7A+GAIuU2bxA2OZfFaKqzRUGXCJgOZikDCt05PJ2A==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/design": "0.19.0", + "@univerjs/drawing": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/icons": "^1.1.1", + "@univerjs/ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/engine-formula": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/engine-formula/-/engine-formula-0.19.0.tgz", + "integrity": "sha512-KsXt+dZzqIQif1EAiDgvzFzdMXT/7cWyZVRI8gUAZVYQMXlO8NESnrRUp9xtWsJw4UxSywf+OijsEFHfxLoV/A==", + "license": "Apache-2.0", + "dependencies": { + "@flatten-js/interval-tree": "1.1.3", + "@univerjs/core": "0.19.0", + "@univerjs/rpc": "0.19.0", + "decimal.js": "^10.6.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/engine-render": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/engine-render/-/engine-render-0.19.0.tgz", + "integrity": "sha512-4vU/yngPdZed8nvk5WekLSVblMqx55WDgSyNJ1kFDrSOkcqct6tsTqyc4cdDJjQGxkjt4AjlmeaitXAvJZRI9w==", + "license": "Apache-2.0", + "dependencies": { + "@floating-ui/dom": "^1.7.4", + "@floating-ui/utils": "^0.2.10", + "@univerjs/core": "0.19.0", + "cjk-regex": "^3.4.0", + "franc-min": "^6.2.0", + "opentype.js": "^1.3.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/find-replace": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/find-replace/-/find-replace-0.19.0.tgz", + "integrity": "sha512-sIPi3Tr1XyDpDYC7mAUAu9Z8+0XR+0HaFoP32CjmbBrfXzRxlYXqnMMPZQztbDKw43CZEI8t+90hs8NBgvGlZw==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/design": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/icons": "^1.1.1", + "@univerjs/ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/icons": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@univerjs/icons/-/icons-1.1.1.tgz", + "integrity": "sha512-3agWxYwNEyfpiCerajLZvZWfa+Fsx2LhGY9EeacSiPk+32BX9NwmCa9uTpDVe0F94iEO+fGfkTB8pCeIFU4l8w==", + "license": "MIT", + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/@univerjs/network": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/network/-/network-0.19.0.tgz", + "integrity": "sha512-j8MvEVhQicRppI68Nb6hscKWFGuykYXY1tTVaPSdUuiz4RfZDfADqnIU2xp04QJH4xEYXyt+dtxCPhz5NAAVfw==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/preset-docs-advanced": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/preset-docs-advanced/-/preset-docs-advanced-0.19.0.tgz", + "integrity": "sha512-VsnW9a+I/zb1fTRuUEhzI5iYWOrWN4s6QR8+N/8ir20mJDtoLgIHewbNWji0Xfu3EJDHdBjd/r1SIhi21TOehw==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs-pro/docs-exchange-client": "0.19.0", + "@univerjs-pro/docs-print": "0.19.0", + "@univerjs-pro/exchange-client": "0.19.0", + "@univerjs-pro/license": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "react-dom": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/preset-docs-collaboration": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/preset-docs-collaboration/-/preset-docs-collaboration-0.19.0.tgz", + "integrity": "sha512-HjTfO9OpKwjtZUCl4ulmxdvEEjOoTCEX4/5yXiMTPBkXGy3YD1l+VHq9VlGDRpIOAPFlgxLBCxZ5yCtQgKlKoQ==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs-pro/collaboration": "0.19.0", + "@univerjs-pro/collaboration-client": "0.19.0", + "@univerjs-pro/collaboration-client-ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "react-dom": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/preset-docs-core": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/preset-docs-core/-/preset-docs-core-0.19.0.tgz", + "integrity": "sha512-vziR5mTkKXZz1fG0D9eP/H99OgWLV+zHdeVzEker3BclRFHjZc72OsVvuUl4zD6/0WdkXR64C9V33LLdVd7DkQ==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/design": "0.19.0", + "@univerjs/docs": "0.19.0", + "@univerjs/docs-ui": "0.19.0", + "@univerjs/engine-formula": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/network": "0.19.0", + "@univerjs/ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "react-dom": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/preset-docs-drawing": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/preset-docs-drawing/-/preset-docs-drawing-0.19.0.tgz", + "integrity": "sha512-kVfe2yjVBCLNLeexzFezAEdWaTZaPo7K5pLVkHstl99zcPMIcxOuap9k2QPZ7rLz5EynUZRKjmIYwlzeC9GlyQ==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/docs-drawing": "0.19.0", + "@univerjs/docs-drawing-ui": "0.19.0", + "@univerjs/drawing": "0.19.0", + "@univerjs/drawing-ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "react-dom": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/preset-docs-hyper-link": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/preset-docs-hyper-link/-/preset-docs-hyper-link-0.19.0.tgz", + "integrity": "sha512-CLI3t1U83liPCVaZGjoDKV/JbLwnjqaTGZDx/4lxsA2NjFmkTbP9xfDGDIrRsALcCfwBDV/rjFuZjhmBasLmGg==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/docs-hyper-link": "0.19.0", + "@univerjs/docs-hyper-link-ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "react-dom": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/preset-docs-node-core": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/preset-docs-node-core/-/preset-docs-node-core-0.19.0.tgz", + "integrity": "sha512-g+gktZ8JZRbSBNBsMSNH5O8SJLxQ7TEITJUcdTI/xMjVdpeJLrvz2J1O3NHKUNwPXsXICJdN9879q1fsEozqfg==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/docs": "0.19.0", + "@univerjs/docs-drawing": "0.19.0", + "@univerjs/docs-hyper-link": "0.19.0", + "@univerjs/drawing": "0.19.0", + "@univerjs/engine-formula": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/rpc-node": "0.19.0", + "@univerjs/thread-comment": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/preset-docs-thread-comment": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/preset-docs-thread-comment/-/preset-docs-thread-comment-0.19.0.tgz", + "integrity": "sha512-k63nkqJT6NWCS9srxAXBwUU+lxpZbdBoJI1T/inabxwfe4P2PfXn6d/lj9K5LJ/zmrrhGRDkpdmthHnE/4cfpQ==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/docs-thread-comment-ui": "0.19.0", + "@univerjs/thread-comment": "0.19.0", + "@univerjs/thread-comment-ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "react-dom": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/preset-sheets-advanced": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/preset-sheets-advanced/-/preset-sheets-advanced-0.19.0.tgz", + "integrity": "sha512-zoTHM6j4DClcvzbwtH0t+65AwOcI52eqtVnsU54fP+C4h42umqzJtUVl4yUS4P0Hi0P5YyH9U+6nzeKY3qh+2g==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs-pro/engine-chart": "0.19.0", + "@univerjs-pro/engine-formula": "0.19.0", + "@univerjs-pro/engine-shape": "0.19.0", + "@univerjs-pro/exchange-client": "0.19.0", + "@univerjs-pro/license": "0.19.0", + "@univerjs-pro/sheets-chart": "0.19.0", + "@univerjs-pro/sheets-chart-ui": "0.19.0", + "@univerjs-pro/sheets-exchange-client": "0.19.0", + "@univerjs-pro/sheets-pivot": "0.19.0", + "@univerjs-pro/sheets-pivot-ui": "0.19.0", + "@univerjs-pro/sheets-print": "0.19.0", + "@univerjs-pro/sheets-shape": "0.19.0", + "@univerjs-pro/sheets-shape-ui": "0.19.0", + "@univerjs-pro/sheets-sparkline": "0.19.0", + "@univerjs-pro/sheets-sparkline-ui": "0.19.0", + "@univerjs/sheets-graphics": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "react-dom": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/preset-sheets-collaboration": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/preset-sheets-collaboration/-/preset-sheets-collaboration-0.19.0.tgz", + "integrity": "sha512-OckwkSwVOihixHShit5dKS9Zc+X+680VgEIYt0D978+xhVxcLKDBJ1Cs6rBJdl080YEC4yu0tZGqZyJN30xxlw==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs-pro/collaboration": "0.19.0", + "@univerjs-pro/collaboration-client": "0.19.0", + "@univerjs-pro/collaboration-client-ui": "0.19.0", + "@univerjs-pro/edit-history-loader": "0.19.0", + "@univerjs-pro/edit-history-viewer": "0.19.0", + "@univerjs-pro/thread-comment-datasource": "0.19.0", + "@univerjs/preset-sheets-advanced": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "react-dom": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/preset-sheets-conditional-formatting": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/preset-sheets-conditional-formatting/-/preset-sheets-conditional-formatting-0.19.0.tgz", + "integrity": "sha512-J3WxOeswCkT+p3JdA8bLaQzBoA+e/lS1pq4C3kpOzM55B5jj4bWwjojUh8fEqaZ8/oUuPCsEMaZcU6A3iadMXg==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/sheets-conditional-formatting": "0.19.0", + "@univerjs/sheets-conditional-formatting-ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "react-dom": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/preset-sheets-core": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/preset-sheets-core/-/preset-sheets-core-0.19.0.tgz", + "integrity": "sha512-xXG+7BuJovMWk4EqM2GgXpswt1OoSynnj62Yq1gvPMxs3krxQb3MEVK4jD7Kk+yv4tNWFMJnTu8HZf9j7MdeCw==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/design": "0.19.0", + "@univerjs/docs": "0.19.0", + "@univerjs/docs-ui": "0.19.0", + "@univerjs/engine-formula": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/network": "0.19.0", + "@univerjs/rpc": "0.19.0", + "@univerjs/sheets": "0.19.0", + "@univerjs/sheets-formula": "0.19.0", + "@univerjs/sheets-formula-ui": "0.19.0", + "@univerjs/sheets-numfmt": "0.19.0", + "@univerjs/sheets-numfmt-ui": "0.19.0", + "@univerjs/sheets-ui": "0.19.0", + "@univerjs/ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "react-dom": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/preset-sheets-data-validation": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/preset-sheets-data-validation/-/preset-sheets-data-validation-0.19.0.tgz", + "integrity": "sha512-fnSd6wb6YqW+sNv/IUGVyxMPOK986C4npa6kdNDdgc+nbItLiafRMTZs9efKeshrORx1qqynJ0fDm35o2N+GIg==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/data-validation": "0.19.0", + "@univerjs/sheets-data-validation": "0.19.0", + "@univerjs/sheets-data-validation-ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "react-dom": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/preset-sheets-drawing": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/preset-sheets-drawing/-/preset-sheets-drawing-0.19.0.tgz", + "integrity": "sha512-eBolGb9knHWGVtIcogAbAsQHglJ1qBhagYCMYjktjVpbhQk8NB1V8jTvO2c2T5rZXXkIFy+FwPr4NFt/XfmZHg==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/docs-drawing": "0.19.0", + "@univerjs/drawing": "0.19.0", + "@univerjs/drawing-ui": "0.19.0", + "@univerjs/sheets-drawing": "0.19.0", + "@univerjs/sheets-drawing-ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "react-dom": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/preset-sheets-filter": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/preset-sheets-filter/-/preset-sheets-filter-0.19.0.tgz", + "integrity": "sha512-PDFVsIpbaaGDLVOFjYmCFt7la1/0j7T6MGJz8RumcBc0hxTjTsiITdhpkimnsvE7PEaHt8uBagpWSBOeUw6ftQ==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/sheets-filter": "0.19.0", + "@univerjs/sheets-filter-ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "react-dom": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/preset-sheets-find-replace": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/preset-sheets-find-replace/-/preset-sheets-find-replace-0.19.0.tgz", + "integrity": "sha512-+i6Ujb8zdcM1210c1OpU5t/irq1am4tT8Bf6d2kV6MDcDirNAVSSYn637K0be0d1v0nP5W6RCLka+ryb0YF+sA==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/find-replace": "0.19.0", + "@univerjs/sheets-find-replace": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "react-dom": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/preset-sheets-hyper-link": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/preset-sheets-hyper-link/-/preset-sheets-hyper-link-0.19.0.tgz", + "integrity": "sha512-sgE64Q4PyX2lLk6gJFZiCHTvNu/eSPr4yYpTwAAK4VhGQGS6wZg0ncl9zGgGvtgsoj4xjG8FWkN9LQFvyjGIAQ==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/sheets-hyper-link": "0.19.0", + "@univerjs/sheets-hyper-link-ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "react-dom": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/preset-sheets-node-core": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/preset-sheets-node-core/-/preset-sheets-node-core-0.19.0.tgz", + "integrity": "sha512-+2AFhOO8easCeaJ2eB+X3eeFIzJW34Ipm74f2DVP70HVuHeqceJi8525pS3spg8hX6YtDAwDs8pgIak4oD37+Q==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/docs": "0.19.0", + "@univerjs/engine-formula": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/rpc-node": "0.19.0", + "@univerjs/sheets": "0.19.0", + "@univerjs/sheets-data-validation": "0.19.0", + "@univerjs/sheets-drawing": "0.19.0", + "@univerjs/sheets-filter": "0.19.0", + "@univerjs/sheets-formula": "0.19.0", + "@univerjs/sheets-hyper-link": "0.19.0", + "@univerjs/sheets-numfmt": "0.19.0", + "@univerjs/sheets-sort": "0.19.0", + "@univerjs/sheets-thread-comment": "0.19.0", + "@univerjs/thread-comment": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/preset-sheets-note": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/preset-sheets-note/-/preset-sheets-note-0.19.0.tgz", + "integrity": "sha512-HvxM8Nm7Vq6870r/CdXLz0oNmv2f+mlRGnqyK+0Oxt3wedoSswO8OS/SntWk+Xv+5xpgVrUw0GHfHRGoJqoQTQ==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/sheets-note": "0.19.0", + "@univerjs/sheets-note-ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "react-dom": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/preset-sheets-sort": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/preset-sheets-sort/-/preset-sheets-sort-0.19.0.tgz", + "integrity": "sha512-T2ClsxWNlBEI1bHMjCO2RMf3rIPAhbDUedbaG1uAhHPIBHJfEsIMgia/XlDM1rkTooJnV/wI1sJELD0LxqaP4Q==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/sheets-sort": "0.19.0", + "@univerjs/sheets-sort-ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "react-dom": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/preset-sheets-table": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/preset-sheets-table/-/preset-sheets-table-0.19.0.tgz", + "integrity": "sha512-Vg4ugCqgoZ+PkWmVjD14RKflv79TwnLK6PuW3MT0Qar8E/n34V4ZeLhEBRnLnT+NN+rfyg2zWpRAde3wTli7mQ==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/sheets-table": "0.19.0", + "@univerjs/sheets-table-ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "react-dom": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/preset-sheets-thread-comment": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/preset-sheets-thread-comment/-/preset-sheets-thread-comment-0.19.0.tgz", + "integrity": "sha512-c3fj2OonPJv1RRoC7T/jEcBN+Ep8uiYkdkMOjJZiGLl55ZQHd9YOiKz9Z++fXmIDC0A+W2cpb48N7fKfMf3GRA==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/sheets-thread-comment": "0.19.0", + "@univerjs/sheets-thread-comment-ui": "0.19.0", + "@univerjs/thread-comment": "0.19.0", + "@univerjs/thread-comment-ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "react-dom": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/presets": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/presets/-/presets-0.19.0.tgz", + "integrity": "sha512-8zBdu2MMWfvUnSHiZmJf1hwtVLxtNiqgoiWnDfQRs2vfXLw0uS5emhDW+cN3ZPgobMP4kOJh9jaZOCvxTehd4A==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/preset-docs-advanced": "0.19.0", + "@univerjs/preset-docs-collaboration": "0.19.0", + "@univerjs/preset-docs-core": "0.19.0", + "@univerjs/preset-docs-drawing": "0.19.0", + "@univerjs/preset-docs-hyper-link": "0.19.0", + "@univerjs/preset-docs-node-core": "0.19.0", + "@univerjs/preset-docs-thread-comment": "0.19.0", + "@univerjs/preset-sheets-advanced": "0.19.0", + "@univerjs/preset-sheets-collaboration": "0.19.0", + "@univerjs/preset-sheets-conditional-formatting": "0.19.0", + "@univerjs/preset-sheets-core": "0.19.0", + "@univerjs/preset-sheets-data-validation": "0.19.0", + "@univerjs/preset-sheets-drawing": "0.19.0", + "@univerjs/preset-sheets-filter": "0.19.0", + "@univerjs/preset-sheets-find-replace": "0.19.0", + "@univerjs/preset-sheets-hyper-link": "0.19.0", + "@univerjs/preset-sheets-node-core": "0.19.0", + "@univerjs/preset-sheets-note": "0.19.0", + "@univerjs/preset-sheets-sort": "0.19.0", + "@univerjs/preset-sheets-table": "0.19.0", + "@univerjs/preset-sheets-thread-comment": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "react-dom": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/protocol": { + "version": "0.1.48", + "resolved": "https://registry.npmjs.org/@univerjs/protocol/-/protocol-0.1.48.tgz", + "integrity": "sha512-nFHNtGAWOV0u1+IqoznH9K7hV/M9OZ61Vqwy8JMWKlgLLsx12m3vJqodkrVlLkI2YU5WuwjaUT1+J8/nM+kcUg==" + }, + "node_modules/@univerjs/rpc": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/rpc/-/rpc-0.19.0.tgz", + "integrity": "sha512-wn65EcsTHXJ87HmUmBbT607bdd/uxJtk8Jl839Kd+Hy/1fyvsIDexmKCRzkG9f9QB9CxRu0NsN6PCYgTo6LgLA==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/rpc-node": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/rpc-node/-/rpc-node-0.19.0.tgz", + "integrity": "sha512-qfmqZVyFHfXLfj319J0MLvemJhu4vmYLXFfuTZv85GpPhUyejZNLKv9xEIw3IZqeGNG1r4VEzecB2+/lIJQ1MQ==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/rpc": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/sheets": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/sheets/-/sheets-0.19.0.tgz", + "integrity": "sha512-iO2mX4Rh34RpNkHOsCC3h4UrspcKlA9NcR+fRFeArNrqbwwcv9MVyLjsIfZ256/hgoi9ADrKWD6nlqo09rL2mg==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/engine-formula": "0.19.0", + "@univerjs/protocol": "0.1.48", + "@univerjs/rpc": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/sheets-conditional-formatting": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/sheets-conditional-formatting/-/sheets-conditional-formatting-0.19.0.tgz", + "integrity": "sha512-zgbGP2XExIqqDsVkB4I2l8iZzxmnGQkN/BcCneMZEpdyMNF2eJ2c1tjPO4n7xola5MddcKpVKlfmY4S5Z7SOzA==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/engine-formula": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/sheets": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/sheets-conditional-formatting-ui": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/sheets-conditional-formatting-ui/-/sheets-conditional-formatting-ui-0.19.0.tgz", + "integrity": "sha512-sxlGhbriOt6tpshXOkI3d4Z4hFt8NFmmW2s1up6dY/TpGlj5NJHGwHO1pTJCGm95txnvGV1tkxO9OqGKbtyWZA==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/design": "0.19.0", + "@univerjs/engine-formula": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/icons": "^1.1.1", + "@univerjs/sheets": "0.19.0", + "@univerjs/sheets-conditional-formatting": "0.19.0", + "@univerjs/sheets-formula": "0.19.0", + "@univerjs/sheets-formula-ui": "0.19.0", + "@univerjs/sheets-ui": "0.19.0", + "@univerjs/ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/sheets-data-validation": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/sheets-data-validation/-/sheets-data-validation-0.19.0.tgz", + "integrity": "sha512-Ncvf/Nyu703qrGl00s0pkAC154kpp3g6ViRHccYIA12uQgQjzOb+yz25Hfk7jMyHHtc0Tu3avDHwBemrTRkYdw==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/data-validation": "0.19.0", + "@univerjs/engine-formula": "0.19.0", + "@univerjs/protocol": "0.1.48", + "@univerjs/sheets": "0.19.0", + "@univerjs/sheets-formula": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/sheets-data-validation-ui": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/sheets-data-validation-ui/-/sheets-data-validation-ui-0.19.0.tgz", + "integrity": "sha512-Y1ODnbXgQmh1moQqTWiLIRHUFq7VBB/+7TrfbJJDWS7EhNw1LcujeisvRSGZT2vWOEYjju29dTWCgx+VV+Ra4w==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/data-validation": "0.19.0", + "@univerjs/design": "0.19.0", + "@univerjs/engine-formula": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/icons": "^1.1.1", + "@univerjs/sheets": "0.19.0", + "@univerjs/sheets-data-validation": "0.19.0", + "@univerjs/sheets-formula-ui": "0.19.0", + "@univerjs/sheets-numfmt": "0.19.0", + "@univerjs/sheets-ui": "0.19.0", + "@univerjs/ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/sheets-drawing": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/sheets-drawing/-/sheets-drawing-0.19.0.tgz", + "integrity": "sha512-wGPfZswxYzFfEetvWqDezLGjM8K6PSUxwLaf9mBWf5TgQ5B1ukAuoqyt2ECUo+57eg9rJASYj00yoKARuj3KOQ==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/drawing": "0.19.0", + "@univerjs/sheets": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + } + }, + "node_modules/@univerjs/sheets-drawing-ui": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/sheets-drawing-ui/-/sheets-drawing-ui-0.19.0.tgz", + "integrity": "sha512-KQYge0rrvVbPAZ8DfvpC0wXTBSuy73vdbO6kSnlUu91mMTzfoslxdfev5X7JScOmYwFwICKA+2OIs00qiYeqHQ==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/design": "0.19.0", + "@univerjs/docs-drawing": "0.19.0", + "@univerjs/docs-ui": "0.19.0", + "@univerjs/drawing": "0.19.0", + "@univerjs/drawing-ui": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/sheets": "0.19.0", + "@univerjs/sheets-drawing": "0.19.0", + "@univerjs/sheets-ui": "0.19.0", + "@univerjs/ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/sheets-filter": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/sheets-filter/-/sheets-filter-0.19.0.tgz", + "integrity": "sha512-K2vskrCqW3CoKgt2mZiDv6yASpjTWTdw/BQypxgO/7iEheZuLc/ShRR4O3J5BRfzeZUT/UYgLztY9Ucuhs5J4A==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/engine-formula": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/rpc": "0.19.0", + "@univerjs/sheets": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/sheets-filter-ui": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/sheets-filter-ui/-/sheets-filter-ui-0.19.0.tgz", + "integrity": "sha512-VJKXycKZMtzrO/qK0B0AybX+AIsL2z0uGEhzjZGNrmcIxEU9WWEQ3rW3wI7DwsrEPE0iP2Z8uykR3ApP/CsjrA==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/design": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/icons": "^1.1.1", + "@univerjs/rpc": "0.19.0", + "@univerjs/sheets": "0.19.0", + "@univerjs/sheets-filter": "0.19.0", + "@univerjs/sheets-ui": "0.19.0", + "@univerjs/ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/sheets-find-replace": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/sheets-find-replace/-/sheets-find-replace-0.19.0.tgz", + "integrity": "sha512-kW+IcQebJnMh4WO2JgNMwXAcgpHr+fDLwtL3UoUSAqGuT0Sp2TTR9BZ/pGDCTzaXF9QvXCput5c72YDRB366bw==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/find-replace": "0.19.0", + "@univerjs/sheets": "0.19.0", + "@univerjs/sheets-ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/sheets-formula": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/sheets-formula/-/sheets-formula-0.19.0.tgz", + "integrity": "sha512-p+emJWTs1MwUhVysVt+yt+G7R+sZv59sy+cAnBTAajS4QDxnDZFvGcXNu4fDwzK4zKGnWXn0Vi6mB9f8FLNyug==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/engine-formula": "0.19.0", + "@univerjs/rpc": "0.19.0", + "@univerjs/sheets": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/sheets-formula-ui": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/sheets-formula-ui/-/sheets-formula-ui-0.19.0.tgz", + "integrity": "sha512-E8cLnjuLI1k4egtanklUuTBPUNEO88ezpcTARInbGmTppS7z5a1DdZjNd+QP8gYppiBg5B5BXs7ku5zT8D/AxQ==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/design": "0.19.0", + "@univerjs/docs": "0.19.0", + "@univerjs/docs-ui": "0.19.0", + "@univerjs/engine-formula": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/icons": "^1.1.1", + "@univerjs/sheets": "0.19.0", + "@univerjs/sheets-formula": "0.19.0", + "@univerjs/sheets-ui": "0.19.0", + "@univerjs/ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/sheets-graphics": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/sheets-graphics/-/sheets-graphics-0.19.0.tgz", + "integrity": "sha512-lp62+yMCqxzIxZ+CE9nfDFQiCPN6ZxIJd8LZusR63Mr9bd5mTVkLMKNFLJm/d0tGxbF3jQoGMxjclDV6PITorg==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/sheets-ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + } + }, + "node_modules/@univerjs/sheets-hyper-link": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/sheets-hyper-link/-/sheets-hyper-link-0.19.0.tgz", + "integrity": "sha512-y9JVo1KdULSH3LTKOHdd6O05cUZxxJXVv9zhQCyffxjchtpn0uFGzREmwPYlsIm+9nxOXTF4dGbwEdGNFKX4Sg==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/docs": "0.19.0", + "@univerjs/engine-formula": "0.19.0", + "@univerjs/sheets": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/sheets-hyper-link-ui": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/sheets-hyper-link-ui/-/sheets-hyper-link-ui-0.19.0.tgz", + "integrity": "sha512-1my91rooK5yqMt0c1AY7HK5V/FFepOSK9m4Eoo/Rkf0HSHgFr1j3dInORF8qBpYcjX4Pc7Q63LWzcO0Wjkww6Q==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/design": "0.19.0", + "@univerjs/docs": "0.19.0", + "@univerjs/docs-ui": "0.19.0", + "@univerjs/engine-formula": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/icons": "^1.1.1", + "@univerjs/sheets": "0.19.0", + "@univerjs/sheets-data-validation": "0.19.0", + "@univerjs/sheets-formula-ui": "0.19.0", + "@univerjs/sheets-hyper-link": "0.19.0", + "@univerjs/sheets-ui": "0.19.0", + "@univerjs/ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/sheets-note": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/sheets-note/-/sheets-note-0.19.0.tgz", + "integrity": "sha512-FwsMpEjGAPNmHo3vV33zhQ7WF3D6OGRCPxwqPiiz1HxXG47XxTctnnl6bEIGdHD7134bnOyXdjBufIoa4C1BhA==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/sheets": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/sheets-note-ui": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/sheets-note-ui/-/sheets-note-ui-0.19.0.tgz", + "integrity": "sha512-GeYFDKEnBHD1eZjEeBaqy2T6hvimbBkGR1vQKxxQspSgRZ+kV7pUiGS3mj5+oU9Yj6IV0Sf8Io3XLSCc44qgOA==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/design": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/icons": "^1.1.1", + "@univerjs/sheets": "0.19.0", + "@univerjs/sheets-note": "0.19.0", + "@univerjs/sheets-ui": "0.19.0", + "@univerjs/ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/sheets-numfmt": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/sheets-numfmt/-/sheets-numfmt-0.19.0.tgz", + "integrity": "sha512-89zwgMLYSgOZWWZAg+PQDU7eE9QLsRCM9TBOgTHpfJsqFpY30pzHAA8O6UbwIrcclCMwapA1f0ifY2HDOYm3/Q==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/engine-formula": "0.19.0", + "@univerjs/sheets": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/sheets-numfmt-ui": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/sheets-numfmt-ui/-/sheets-numfmt-ui-0.19.0.tgz", + "integrity": "sha512-yGjyV8zeZPkhg5OjDkMw/ozTL35Im5ahbJl1apLW+flg5VDHTd+6y4cS7kZWYAixoKpFPkPpg3sRWF8PG3k4vg==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/design": "0.19.0", + "@univerjs/engine-formula": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/icons": "^1.1.1", + "@univerjs/sheets": "0.19.0", + "@univerjs/sheets-numfmt": "0.19.0", + "@univerjs/sheets-ui": "0.19.0", + "@univerjs/ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/sheets-sort": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/sheets-sort/-/sheets-sort-0.19.0.tgz", + "integrity": "sha512-8agzitALs4ale8x0u137hDEElkkpTZrxo0WUk56aoFXZvTtpH1KN6k3GXNonYSDNTYbCSPaDbillLrZCKCHUFQ==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/engine-formula": "0.19.0", + "@univerjs/sheets": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + } + }, + "node_modules/@univerjs/sheets-sort-ui": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/sheets-sort-ui/-/sheets-sort-ui-0.19.0.tgz", + "integrity": "sha512-XCqh0v0kqkM8eyehsdR6GLWOu3ogMZrKhiOtA6GTKHBJHHXR3L2/cDJLRoPM1sN+EcTx4kcf12w621sD6RoLrA==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/design": "0.19.0", + "@univerjs/engine-formula": "0.19.0", + "@univerjs/icons": "^1.1.1", + "@univerjs/sheets": "0.19.0", + "@univerjs/sheets-sort": "0.19.0", + "@univerjs/sheets-ui": "0.19.0", + "@univerjs/ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/sheets-table": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/sheets-table/-/sheets-table-0.19.0.tgz", + "integrity": "sha512-TivihE6gGN5D+Y6UNEyJwkt26Y5vG8o2nxBklENWfg0ngrMkVBN7bbXNmnnmJiJXEotE/TxNIG2bWoNmQFcwCw==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/engine-formula": "0.19.0", + "@univerjs/sheets": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/sheets-table-ui": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/sheets-table-ui/-/sheets-table-ui-0.19.0.tgz", + "integrity": "sha512-ves8Dz8LmnxQnwgU/XpOP13Vex5ZhzbXRgdtFd/lqnuBAkjujh1rAJ+HSvAk4IOy/MmAQJIJUtupnVjEgfd72w==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/design": "0.19.0", + "@univerjs/engine-formula": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/icons": "^1.1.1", + "@univerjs/sheets": "0.19.0", + "@univerjs/sheets-formula-ui": "0.19.0", + "@univerjs/sheets-sort": "0.19.0", + "@univerjs/sheets-table": "0.19.0", + "@univerjs/sheets-ui": "0.19.0", + "@univerjs/ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/sheets-thread-comment": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/sheets-thread-comment/-/sheets-thread-comment-0.19.0.tgz", + "integrity": "sha512-ZE9ISSRaKa1vsb6GRE/aLVE7exg1+9wYNyXALuTdABDYkl4+9x3LV3o1HQZLD/373fzG0tPwKBTCicjsmTv7qQ==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/engine-formula": "0.19.0", + "@univerjs/sheets": "0.19.0", + "@univerjs/thread-comment": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/sheets-thread-comment-ui": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/sheets-thread-comment-ui/-/sheets-thread-comment-ui-0.19.0.tgz", + "integrity": "sha512-QaDj+U7vA6ze0iLGBA9POwJr1fyUrmvW9GUTxsL5P19TOBRqUkC9CcTkqplfnai3bbQfOJbcd8v/NByuA6QFYA==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/engine-formula": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/icons": "^1.1.1", + "@univerjs/sheets": "0.19.0", + "@univerjs/sheets-thread-comment": "0.19.0", + "@univerjs/sheets-ui": "0.19.0", + "@univerjs/thread-comment": "0.19.0", + "@univerjs/thread-comment-ui": "0.19.0", + "@univerjs/ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/sheets-ui": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/sheets-ui/-/sheets-ui-0.19.0.tgz", + "integrity": "sha512-fg4qst7n8YIkaV5UPzGJN4yDocjofR6mIyWS9F+8XdQrUlv/PmJvSZBj0++eBnC7hG6weUFb2wFyrVbKOhcbRw==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/design": "0.19.0", + "@univerjs/docs": "0.19.0", + "@univerjs/docs-ui": "0.19.0", + "@univerjs/engine-formula": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/icons": "^1.1.1", + "@univerjs/protocol": "0.1.48", + "@univerjs/sheets": "0.19.0", + "@univerjs/telemetry": "0.19.0", + "@univerjs/ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/telemetry": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/telemetry/-/telemetry-0.19.0.tgz", + "integrity": "sha512-g4EKKB1DPJXo3KuY/DHZmtuLTNJY3nleU88FVXDwcP/V+4IB6wXUlo45PWnbKnQnOvHLAsW0wUu4dMrRvdXoiw==", + "dependencies": { + "@univerjs/core": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + } + }, + "node_modules/@univerjs/themes": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/themes/-/themes-0.19.0.tgz", + "integrity": "sha512-lUeJBSOlNbilQ8O3/QHTM++4sgNy3kO9laDOJ0A6DbZBQvI1KBfpQrGHxYLIgbCX4aQwaJDBEcbQE7cM4R3/8A==", + "license": "Apache-2.0", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + } + }, + "node_modules/@univerjs/thread-comment": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/thread-comment/-/thread-comment-0.19.0.tgz", + "integrity": "sha512-U0jwX4ZX5oVGhLj/yc4QVMvfB+SiJzX06ukDq9Y68IDF0tkrqeWiyiHvf6kmN0rbgc3Oc36nG9aWOKF4ErZz3A==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/thread-comment-ui": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/thread-comment-ui/-/thread-comment-ui-0.19.0.tgz", + "integrity": "sha512-YsXNBfgG4eliyRKbdD5ReQ03aFjvY7CmgK2hI8sH/Xob+VQ9dScnD+dIPLPmRUmrrS+KKISTu+M04u/m8R1lzg==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/design": "0.19.0", + "@univerjs/docs-ui": "0.19.0", + "@univerjs/icons": "^1.1.1", + "@univerjs/thread-comment": "0.19.0", + "@univerjs/ui": "0.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@univerjs/ui": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@univerjs/ui/-/ui-0.19.0.tgz", + "integrity": "sha512-BRxLAsd+8n6p99KWFoz8hI1vi1B3uE3eD9KjSRmehd22LJ7mysGrov2FwMLlFEP8cWdZpyR+W1I6xNi5QfOHgQ==", + "license": "Apache-2.0", + "dependencies": { + "@univerjs/core": "0.19.0", + "@univerjs/design": "0.19.0", + "@univerjs/engine-render": "0.19.0", + "@univerjs/icons": "^1.1.1", + "@wendellhu/redi": "1.1.1", + "localforage": "^1.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/univer" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "react-dom": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "rxjs": ">=7.0.0" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@wendellhu/redi": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@wendellhu/redi/-/redi-1.1.1.tgz", + "integrity": "sha512-y2fuAgHJ2n8sI8Pe/1QtAuPQ6ZbZ9/Dn3uVQI8cctVqLZzp/0OpLM7DSMOU6vmGYXNsIQwsquR91WcxZ4jrRvA==", + "license": "MIT", + "peerDependencies": { + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + } + } + }, + "node_modules/@xmldom/xmldom": { + "version": "0.8.13", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.13.tgz", + "integrity": "sha512-KRYzxepc14G/CEpEGc3Yn+JKaAeT63smlDr+vjB8jRfgTBBI9wRj/nkQEO+ucV8p8I9bfKLWp37uHgFrbntPvw==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "license": "Apache-2.0", + "peer": true + }, + "node_modules/@zone-eu/mailsplit": { + "version": "5.4.9", + "resolved": "https://registry.npmjs.org/@zone-eu/mailsplit/-/mailsplit-5.4.9.tgz", + "integrity": "sha512-Qq7k6FzA5SmGf5HFPcr17gE7M+O1gttlmWn7tlGUlhGsbbjUaBL/4cEWIwExeCzqu5+kyZJ91mcBZbQ9zEwwYA==", + "license": "(MIT OR EUPL-1.1+)", + "dependencies": { + "libbase64": "1.3.0", + "libmime": "5.3.8", + "libqp": "2.1.1" + } + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "license": "MIT", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.16.0", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "dev": true, + "license": "MIT", + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-phases": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", + "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "acorn": "^8.14.0" + } + }, + "node_modules/adler-32": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.3.1.tgz", + "integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/append-field": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", + "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==", + "license": "MIT" + }, + "node_modules/archiver": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz", + "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==", + "license": "MIT", + "dependencies": { + "archiver-utils": "^5.0.2", + "async": "^3.2.4", + "buffer-crc32": "^1.0.0", + "readable-stream": "^4.0.0", + "readdir-glob": "^1.1.2", + "tar-stream": "^3.0.0", + "zip-stream": "^6.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/archiver-utils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-5.0.2.tgz", + "integrity": "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==", + "license": "MIT", + "dependencies": { + "glob": "^10.0.0", + "graceful-fs": "^4.2.0", + "is-stream": "^2.0.1", + "lazystream": "^1.0.0", + "lodash": "^4.17.15", + "normalize-path": "^3.0.0", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/archiver-utils/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/archiver-utils/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/archiver/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/archiver/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/archiver/node_modules/tar-stream": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", + "license": "MIT", + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/aria-hidden": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz", + "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" + }, + "node_modules/ast-types": { + "version": "0.13.4", + "resolved": "https://registry.npmmirror.com/ast-types/-/ast-types-0.13.4.tgz", + "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "license": "MIT" + }, + "node_modules/async-lock": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/async-lock/-/async-lock-1.4.1.tgz", + "integrity": "sha512-Az2ZTpuytrtqENulXwO3GGv1Bztugx6TT37NIo7imr/Qo0gsYiGtSdBa2B6fsXhTpVZDNfu1Qn3pk531e3q+nQ==", + "license": "MIT" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/atomic-sleep": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", + "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/axios": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/axios/-/axios-1.13.2.tgz", + "integrity": "sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.4", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/b4a": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.7.3.tgz", + "integrity": "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==", + "license": "Apache-2.0", + "peerDependencies": { + "react-native-b4a": "*" + }, + "peerDependenciesMeta": { + "react-native-b4a": { + "optional": true + } + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/bare-events": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz", + "integrity": "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==", + "license": "Apache-2.0", + "peerDependencies": { + "bare-abort-controller": "*" + }, + "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + } + } + }, + "node_modules/bare-fs": { + "version": "4.7.0", + "resolved": "https://registry.npmmirror.com/bare-fs/-/bare-fs-4.7.0.tgz", + "integrity": "sha512-xzqKsCFxAek9aezYhjJuJRXBIaYlg/0OGDTZp+T8eYmYMlm66cs6cYko02drIyjN2CBbi+I6L7YfXyqpqtKRXA==", + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.5.4", + "bare-path": "^3.0.0", + "bare-stream": "^2.6.4", + "bare-url": "^2.2.2", + "fast-fifo": "^1.3.2" + }, + "engines": { + "bare": ">=1.16.0" + }, + "peerDependencies": { + "bare-buffer": "*" + }, + "peerDependenciesMeta": { + "bare-buffer": { + "optional": true + } + } + }, + "node_modules/bare-os": { + "version": "3.8.7", + "resolved": "https://registry.npmmirror.com/bare-os/-/bare-os-3.8.7.tgz", + "integrity": "sha512-G4Gr1UsGeEy2qtDTZwL7JFLo2wapUarz7iTMcYcMFdS89AIQuBoyjgXZz0Utv7uHs3xA9LckhVbeBi8lEQrC+w==", + "license": "Apache-2.0", + "engines": { + "bare": ">=1.14.0" + } + }, + "node_modules/bare-path": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/bare-path/-/bare-path-3.0.0.tgz", + "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==", + "license": "Apache-2.0", + "dependencies": { + "bare-os": "^3.0.1" + } + }, + "node_modules/bare-stream": { + "version": "2.13.0", + "resolved": "https://registry.npmmirror.com/bare-stream/-/bare-stream-2.13.0.tgz", + "integrity": "sha512-3zAJRZMDFGjdn+RVnNpF9kuELw+0Fl3lpndM4NcEOhb9zwtSo/deETfuIwMSE5BXanA0FrN1qVjffGwAg2Y7EA==", + "license": "Apache-2.0", + "dependencies": { + "streamx": "^2.25.0", + "teex": "^1.0.1" + }, + "peerDependencies": { + "bare-abort-controller": "*", + "bare-buffer": "*", + "bare-events": "*" + }, + "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + }, + "bare-buffer": { + "optional": true + }, + "bare-events": { + "optional": true + } + } + }, + "node_modules/bare-url": { + "version": "2.4.0", + "resolved": "https://registry.npmmirror.com/bare-url/-/bare-url-2.4.0.tgz", + "integrity": "sha512-NSTU5WN+fy/L0DDenfE8SXQna4voXuW0FHM7wH8i3/q9khUSchfPbPezO4zSFMnDGIf9YE+mt/RWhZgNRKRIXA==", + "license": "Apache-2.0", + "dependencies": { + "bare-path": "^3.0.0" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.18", + "resolved": "https://registry.npmmirror.com/baseline-browser-mapping/-/baseline-browser-mapping-2.10.18.tgz", + "integrity": "sha512-VSnGQAOLtP5mib/DPyg2/t+Tlv65NTBz83BJBJvmLVHHuKJVaDOBvJJykiT5TR++em5nfAySPccDZDa4oSrn8A==", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/basic-ftp": { + "version": "5.2.2", + "resolved": "https://registry.npmmirror.com/basic-ftp/-/basic-ftp-5.2.2.tgz", + "integrity": "sha512-1tDrzKsdCg70WGvbFss/ulVAxupNauGnOlgpyjKzeQxzyllBLS0CGLV7tjIXTK3ZQA9/FBEm9qyFFN1bciA6pw==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/better-sqlite3": { + "version": "9.6.0", + "resolved": "https://registry.npmmirror.com/better-sqlite3/-/better-sqlite3-9.6.0.tgz", + "integrity": "sha512-yR5HATnqeYNVnkaUTf4bOP2dJSnyhP4puJN/QPRyx4YkBEEUxib422n2XzPqDEHjQQqazoYoADdAm5vE15+dAQ==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "bindings": "^1.5.0", + "prebuild-install": "^7.1.1" + } + }, + "node_modules/big-integer": { + "version": "1.6.52", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", + "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", + "license": "Unlicense", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/bignumber.js": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.1.tgz", + "integrity": "sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/binary": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", + "integrity": "sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==", + "license": "MIT", + "dependencies": { + "buffers": "~0.1.1", + "chainsaw": "~0.1.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "license": "MIT", + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bluebird": { + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz", + "integrity": "sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==", + "license": "MIT" + }, + "node_modules/body-parser": { + "version": "1.20.3", + "resolved": "https://registry.npmmirror.com/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/browserslist": { + "version": "4.28.2", + "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmmirror.com/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-crc32": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-1.0.0.tgz", + "integrity": "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT" + }, + "node_modules/buffer-indexof-polyfill": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz", + "integrity": "sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==", + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/buffers": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", + "integrity": "sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==", + "engines": { + "node": ">=0.2.0" + } + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001787", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001787.tgz", + "integrity": "sha512-mNcrMN9KeI68u7muanUpEejSLghOKlVhRqS/Za2IeyGllJ9I9otGpR9g3nsw7n4W378TE/LyIteA0+/FOZm4Kg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0", + "peer": true + }, + "node_modules/cfb": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.2.2.tgz", + "integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==", + "license": "Apache-2.0", + "dependencies": { + "adler-32": "~1.3.0", + "crc-32": "~1.2.0" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/chainsaw": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", + "integrity": "sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==", + "license": "MIT/X11", + "dependencies": { + "traverse": ">=0.3.0 <0.4" + }, + "engines": { + "node": "*" + } + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "license": "ISC" + }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/chromium-bidi": { + "version": "14.0.0", + "resolved": "https://registry.npmmirror.com/chromium-bidi/-/chromium-bidi-14.0.0.tgz", + "integrity": "sha512-9gYlLtS6tStdRWzrtXaTMnqcM4dudNegMXJxkR0I/CXObHalYeYcAMPrL19eroNZHtJ8DQmu1E+ZNOYu/IXMXw==", + "license": "Apache-2.0", + "dependencies": { + "mitt": "^3.0.1", + "zod": "^3.24.1" + }, + "peerDependencies": { + "devtools-protocol": "*" + } + }, + "node_modules/cjk-regex": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/cjk-regex/-/cjk-regex-3.4.0.tgz", + "integrity": "sha512-m+gbmlIP6gAG7tDvo2kpeSPAz/uh5wY5/zx10ymjdpbbiTHNTNoYnP2lCiyqtmbLxwhEdq8/lsVbsy4GTc9oUw==", + "license": "MIT", + "dependencies": { + "regexp-util": "^2.0.3", + "unicode-regex": "^4.2.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/class-variance-authority": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.1.tgz", + "integrity": "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==", + "license": "Apache-2.0", + "dependencies": { + "clsx": "^2.1.1" + }, + "funding": { + "url": "https://polar.sh/cva" + } + }, + "node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/clone-deep": { + "version": "0.2.4", + "resolved": "https://registry.npmmirror.com/clone-deep/-/clone-deep-0.2.4.tgz", + "integrity": "sha512-we+NuQo2DHhSl+DP6jlUiAhyAjBQrYnpOk15rN6c6JSPScjiCLh8IbSU+VTcph6YS3o7mASE8a0+gbZ7ChLpgg==", + "license": "MIT", + "dependencies": { + "for-own": "^0.1.3", + "is-plain-object": "^2.0.1", + "kind-of": "^3.0.2", + "lazy-cache": "^1.0.3", + "shallow-clone": "^0.1.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/codepage": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.15.0.tgz", + "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/collapse-white-space": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", + "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/compress-commons": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz", + "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==", + "license": "MIT", + "dependencies": { + "crc-32": "^1.2.0", + "crc32-stream": "^6.0.0", + "is-stream": "^2.0.1", + "normalize-path": "^3.0.0", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/compress-commons/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/compress-commons/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, + "node_modules/concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "engines": [ + "node >= 6.0" + ], + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmmirror.com/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.7.1", + "resolved": "https://registry.npmmirror.com/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "license": "MIT" + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT" + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmmirror.com/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/cosmiconfig": { + "version": "9.0.1", + "resolved": "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-9.0.1.tgz", + "integrity": "sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ==", + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "license": "Apache-2.0", + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/crc32-stream": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-6.0.0.tgz", + "integrity": "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==", + "license": "MIT", + "dependencies": { + "crc-32": "^1.2.0", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/crc32-stream/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/crc32-stream/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", + "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==", + "license": "MIT" + }, + "node_modules/css-loader": { + "version": "7.1.4", + "resolved": "https://registry.npmmirror.com/css-loader/-/css-loader-7.1.4.tgz", + "integrity": "sha512-vv3J9tlOl04WjiMvHQI/9tmIrCxVrj6PFbHemBB1iihpeRbi/I4h033eoFIhwxBBqLhI0KYFS7yvynBFhIZfTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.40", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.6.3" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || ^1.0.0 || ^2.0.0-0", + "webpack": "^5.27.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT" + }, + "node_modules/data-uri-to-buffer": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", + "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==", + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/dayjs": { + "version": "1.11.20", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.20.tgz", + "integrity": "sha512-YbwwqR/uYpeoP4pu043q+LTDLFBLApUP6VxRihdfNTqu4ubqMlGDLd6ErXhEgsyvY0K6nCs7nggYumAN+9uEuQ==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decimal.js": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", + "license": "MIT" + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "license": "MIT", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/degenerator": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/degenerator/-/degenerator-5.0.1.tgz", + "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", + "license": "MIT", + "dependencies": { + "ast-types": "^0.13.4", + "escodegen": "^2.1.0", + "esprima": "^4.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==", + "license": "MIT" + }, + "node_modules/devtools-protocol": { + "version": "0.0.1581282", + "resolved": "https://registry.npmmirror.com/devtools-protocol/-/devtools-protocol-0.0.1581282.tgz", + "integrity": "sha512-nv7iKtNZQshSW2hKzYNr46nM/Cfh5SEvE2oV0/SEGgc9XupIY5ggf84Cz8eJIkBce7S3bmTAauFD6aysMpnqsQ==", + "license": "BSD-3-Clause" + }, + "node_modules/dijkstrajs": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz", + "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==", + "license": "MIT" + }, + "node_modules/dingbat-to-unicode": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dingbat-to-unicode/-/dingbat-to-unicode-1.0.1.tgz", + "integrity": "sha512-98l0sW87ZT58pU4i61wa2OHwxbiYSbuxsCBozaVnYX2iCnr3bLM3fIes1/ej7h1YdOKuKt/MLs706TVnALA65w==", + "license": "BSD-2-Clause" + }, + "node_modules/dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/duck": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/duck/-/duck-0.1.12.tgz", + "integrity": "sha512-wkctla1O6VfP89gQ+J/yDesM0S7B7XLXjKGzXxMDVFg7uEn706niAtyYovKbyq1oT9YwDcly721/iUWoc8MVRg==", + "license": "BSD", + "dependencies": { + "underscore": "^1.13.1" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", + "license": "BSD-3-Clause", + "dependencies": { + "readable-stream": "^2.0.2" + } + }, + "node_modules/duplexer2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/duplexer2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/duplexer2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.335", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.335.tgz", + "integrity": "sha512-q9n5T4BR4Xwa2cwbrwcsDJtHD/enpQ5S1xF1IAtdqf5AAgqDFmR/aakqH3ChFdqd/QXJhS3rnnXFtexU7rax6Q==", + "dev": true, + "license": "ISC", + "peer": true + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding-japanese": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/encoding-japanese/-/encoding-japanese-2.2.0.tgz", + "integrity": "sha512-EuJWwlHPZ1LbADuKTClvHtwbaFn4rOD+dRAbWysqEOXRc2Uui0hJInNJrsdH0c+OhJA4nrCBdSkW4DD5YxAo6A==", + "license": "MIT", + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmmirror.com/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.20.1", + "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.20.1.tgz", + "integrity": "sha512-Qohcme7V1inbAfvjItgw0EaxVX5q2rdVEZHRBrEQdRZTssLDGsL8Lwrznl8oQ/6kuTJONLaDcGjkNP247XEhcA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.3.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/error-ex": { + "version": "1.3.4", + "resolved": "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.4.tgz", + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-2.0.0.tgz", + "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.4.tgz", + "integrity": "sha512-Rq4vbHnYkK5fws5NF7MYTU68FPRE1ajX7heQ/8QXXWqNgqqJ/GkmmyxIzUnf2Sr/bakf8l54716CcMGHYhMrrQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.4", + "@esbuild/android-arm": "0.27.4", + "@esbuild/android-arm64": "0.27.4", + "@esbuild/android-x64": "0.27.4", + "@esbuild/darwin-arm64": "0.27.4", + "@esbuild/darwin-x64": "0.27.4", + "@esbuild/freebsd-arm64": "0.27.4", + "@esbuild/freebsd-x64": "0.27.4", + "@esbuild/linux-arm": "0.27.4", + "@esbuild/linux-arm64": "0.27.4", + "@esbuild/linux-ia32": "0.27.4", + "@esbuild/linux-loong64": "0.27.4", + "@esbuild/linux-mips64el": "0.27.4", + "@esbuild/linux-ppc64": "0.27.4", + "@esbuild/linux-riscv64": "0.27.4", + "@esbuild/linux-s390x": "0.27.4", + "@esbuild/linux-x64": "0.27.4", + "@esbuild/netbsd-arm64": "0.27.4", + "@esbuild/netbsd-x64": "0.27.4", + "@esbuild/openbsd-arm64": "0.27.4", + "@esbuild/openbsd-x64": "0.27.4", + "@esbuild/openharmony-arm64": "0.27.4", + "@esbuild/sunos-x64": "0.27.4", + "@esbuild/win32-arm64": "0.27.4", + "@esbuild/win32-ia32": "0.27.4", + "@esbuild/win32-x64": "0.27.4" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-scope/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "license": "BSD-2-Clause", + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/events-universal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", + "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==", + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.7.0" + } + }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "license": "(MIT OR WTFPL)", + "engines": { + "node": ">=6" + } + }, + "node_modules/express": { + "version": "4.21.2", + "resolved": "https://registry.npmmirror.com/express/-/express-4.21.2.tgz", + "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.3", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.7.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.3.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.12", + "proxy-addr": "~2.0.7", + "qs": "6.13.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.19.0", + "serve-static": "1.16.2", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "license": "BSD-2-Clause", + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/extract-zip/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/extract-zip/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "license": "Apache-2.0" + }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "license": "MIT", + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "license": "MIT" + }, + "node_modules/finalhandler": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmmirror.com/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha512-SKmowqGTJoPzLO1T0BBJpkfp3EMacCMOuH40hOUbrbzElVktk4DioXVM99QkLCyKoiuOmyjgcWMpVz2xjE7LZw==", + "license": "MIT", + "dependencies": { + "for-in": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/form-data": { + "version": "4.0.5", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/frac": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz", + "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/franc-min": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/franc-min/-/franc-min-6.2.0.tgz", + "integrity": "sha512-1uDIEUSlUZgvJa2AKYR/dmJC66v/PvGQ9mWfI9nOr/kPpMFyvswK0gPXOwpYJYiYD008PpHLkGfG58SPjQJFxw==", + "license": "MIT", + "dependencies": { + "trigram-utils": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "license": "MIT" + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "license": "ISC" + }, + "node_modules/fstream": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "deprecated": "This package is no longer supported.", + "license": "ISC", + "dependencies": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + }, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-uri": { + "version": "6.0.5", + "resolved": "https://registry.npmmirror.com/get-uri/-/get-uri-6.0.5.tgz", + "integrity": "sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==", + "license": "MIT", + "dependencies": { + "basic-ftp": "^5.0.2", + "data-uri-to-buffer": "^6.0.2", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/get-uri/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/get-uri/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmmirror.com/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "license": "MIT" + }, + "node_modules/glob": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "license": "BSD-2-Clause", + "peer": true + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/html-to-text": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/html-to-text/-/html-to-text-9.0.5.tgz", + "integrity": "sha512-qY60FjREgVZL03vJU6IfMV4GDjGBIoOyvuFdpBDIX9yTlDw0TjxVBQp+P8NvpdIXNJvfWBTNul7fsAQJq2FNpg==", + "license": "MIT", + "dependencies": { + "@selderee/plugin-htmlparser2": "^0.11.0", + "deepmerge": "^4.3.1", + "dom-serializer": "^2.0.0", + "htmlparser2": "^8.0.2", + "selderee": "^0.11.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/http-proxy-agent/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/http-proxy-agent/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/https-proxy-agent/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/httpx": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/httpx/-/httpx-2.3.3.tgz", + "integrity": "sha512-k1qv94u1b6e+XKCxVbLgYlOypVP9MPGpnN5G/vxFf6tDO4V3xpz3d6FUOY/s8NtPgaq5RBVVgSB+7IHpVxMYzw==", + "license": "MIT", + "dependencies": { + "@types/node": "^20", + "debug": "^4.1.1" + } + }, + "node_modules/httpx/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/httpx/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/imapflow": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/imapflow/-/imapflow-1.3.3.tgz", + "integrity": "sha512-lx7nWcUDfNgITEKYYfunUDqJ3LT6ImuiA1ReqJepVEA2nqBQNUqa3ppF7Yz5CNjuDYG95pmzsCcNqRjMrwh/Vg==", + "license": "MIT", + "dependencies": { + "@zone-eu/mailsplit": "5.4.9", + "encoding-japanese": "2.2.0", + "iconv-lite": "0.7.2", + "libbase64": "1.3.0", + "libmime": "5.3.8", + "libqp": "2.1.1", + "nodemailer": "8.0.7", + "pino": "10.3.1", + "socks": "2.8.8" + } + }, + "node_modules/imapflow/node_modules/iconv-lite": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", + "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/imapflow/node_modules/nodemailer": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-8.0.7.tgz", + "integrity": "sha512-pkjE4mkBzQjdJT4/UmlKl3pX0rC9fZmjh7c6C9o7lv66Ac6w9WCnzPzhbPNxwZAzlF4mdq4CSWB5+FbK6FWCow==", + "license": "MIT-0", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", + "license": "MIT" + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmmirror.com/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" + }, + "node_modules/ip-address": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.2.0.tgz", + "integrity": "sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "license": "MIT" + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmmirror.com/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "license": "MIT" + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-bigint": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", + "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", + "license": "MIT", + "dependencies": { + "bignumber.js": "^9.0.0" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "license": "(MIT OR GPL-3.0-or-later)", + "dependencies": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, + "node_modules/jszip/node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "license": "MIT", + "dependencies": { + "immediate": "~3.0.5" + } + }, + "node_modules/jszip/node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "license": "(MIT AND Zlib)" + }, + "node_modules/jszip/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/jszip/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/jszip/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/kdbush": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-4.0.2.tgz", + "integrity": "sha512-WbCVYJ27Sz8zi9Q7Q0xHC+05iwkm3Znipc2XTlrnJbsHMYktW4hPhXUE8Ys1engBrvffoSCqbil1JQAa7clRpA==", + "license": "ISC" + }, + "node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kitx": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/kitx/-/kitx-1.3.0.tgz", + "integrity": "sha512-fhBqFlXd0GkKTB+8ayLfpzPUw+LHxZlPAukPNBD1Om7JMeInT+/PxCAf1yLagvD+VKoyWhXtJR68xQkX/a0wOQ==", + "license": "MIT" + }, + "node_modules/lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lazystream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", + "license": "MIT", + "dependencies": { + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" + } + }, + "node_modules/lazystream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/lazystream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/lazystream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/leac": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/leac/-/leac-0.6.0.tgz", + "integrity": "sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg==", + "license": "MIT", + "funding": { + "url": "https://ko-fi.com/killymxi" + } + }, + "node_modules/libbase64": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/libbase64/-/libbase64-1.3.0.tgz", + "integrity": "sha512-GgOXd0Eo6phYgh0DJtjQ2tO8dc0IVINtZJeARPeiIJqge+HdsWSuaDTe8ztQ7j/cONByDZ3zeB325AHiv5O0dg==", + "license": "MIT" + }, + "node_modules/libmime": { + "version": "5.3.8", + "resolved": "https://registry.npmjs.org/libmime/-/libmime-5.3.8.tgz", + "integrity": "sha512-ZrCY+Q66mPvasAfjsQ/IgahzoBvfE1VdtGRpo1hwRB1oK3wJKxhKA3GOcd2a6j7AH5eMFccxK9fBoCpRZTf8ng==", + "license": "MIT", + "dependencies": { + "encoding-japanese": "2.2.0", + "iconv-lite": "0.7.2", + "libbase64": "1.3.0", + "libqp": "2.1.1" + } + }, + "node_modules/libmime/node_modules/iconv-lite": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", + "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/libqp": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/libqp/-/libqp-2.1.1.tgz", + "integrity": "sha512-0Wd+GPz1O134cP62YU2GTOPNA7Qgl09XwCqM5zpBv87ERCXdfDtyKXvV7c9U22yWJh44QZqBocFnXN11K96qow==", + "license": "MIT" + }, + "node_modules/lie": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", + "integrity": "sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==", + "license": "MIT", + "dependencies": { + "immediate": "~3.0.5" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" + }, + "node_modules/linkify-it": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", + "license": "MIT", + "dependencies": { + "uc.micro": "^2.0.0" + } + }, + "node_modules/listenercount": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz", + "integrity": "sha512-3mk/Zag0+IJxeDrxSgaDPy4zZ3w05PRZeJNnlWhzFz5OkX49J4krc+A8X2d2M69vGMBEX0uyl8M+W+8gH+kBqQ==", + "license": "ISC" + }, + "node_modules/loader-runner": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.1.tgz", + "integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/localforage": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.10.0.tgz", + "integrity": "sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==", + "license": "Apache-2.0", + "dependencies": { + "lie": "3.1.1" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, + "node_modules/lodash-es": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.23.tgz", + "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==", + "license": "MIT" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lop": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/lop/-/lop-0.4.2.tgz", + "integrity": "sha512-RefILVDQ4DKoRZsJ4Pj22TxE3omDO47yFpkIBoDKzkqPRISs5U1cnAdg/5583YPkWPaLIYHOKRMQSvjFsO26cw==", + "license": "BSD-2-Clause", + "dependencies": { + "duck": "^0.1.12", + "option": "~0.2.1", + "underscore": "^1.13.1" + } + }, + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, + "node_modules/mailparser": { + "version": "3.9.8", + "resolved": "https://registry.npmjs.org/mailparser/-/mailparser-3.9.8.tgz", + "integrity": "sha512-7jSlFGXiianVnhnb6wdutJFloD34488nrHY7r6FNqwXAhZ7YiJDYrKKTxZJ0oSrXcAPHm8YoYnh97xyGtrBQ3w==", + "license": "MIT", + "dependencies": { + "@zone-eu/mailsplit": "5.4.8", + "encoding-japanese": "2.2.0", + "he": "1.2.0", + "html-to-text": "9.0.5", + "iconv-lite": "0.7.2", + "libmime": "5.3.8", + "linkify-it": "5.0.0", + "nodemailer": "8.0.5", + "punycode.js": "2.3.1", + "tlds": "1.261.0" + } + }, + "node_modules/mailparser/node_modules/@zone-eu/mailsplit": { + "version": "5.4.8", + "resolved": "https://registry.npmjs.org/@zone-eu/mailsplit/-/mailsplit-5.4.8.tgz", + "integrity": "sha512-eEyACj4JZ7sjzRvy26QhLgKEMWwQbsw1+QZnlLX+/gihcNH07lVPOcnwf5U6UAL7gkc//J3jVd76o/WS+taUiA==", + "license": "(MIT OR EUPL-1.1+)", + "dependencies": { + "libbase64": "1.3.0", + "libmime": "5.3.7", + "libqp": "2.1.1" + } + }, + "node_modules/mailparser/node_modules/@zone-eu/mailsplit/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mailparser/node_modules/@zone-eu/mailsplit/node_modules/libmime": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/libmime/-/libmime-5.3.7.tgz", + "integrity": "sha512-FlDb3Wtha8P01kTL3P9M+ZDNDWPKPmKHWaU/cG/lg5pfuAwdflVpZE+wm9m7pKmC5ww6s+zTxBKS1p6yl3KpSw==", + "license": "MIT", + "dependencies": { + "encoding-japanese": "2.2.0", + "iconv-lite": "0.6.3", + "libbase64": "1.3.0", + "libqp": "2.1.1" + } + }, + "node_modules/mailparser/node_modules/iconv-lite": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", + "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/mailparser/node_modules/nodemailer": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-8.0.5.tgz", + "integrity": "sha512-0PF8Yb1yZuQfQbq+5/pZJrtF6WQcjTd5/S4JOHs9PGFxuTqoB/icwuB44pOdURHJbRKX1PPoJZtY7R4VUoCC8w==", + "license": "MIT-0", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/mammoth": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/mammoth/-/mammoth-1.12.0.tgz", + "integrity": "sha512-cwnK1RIcRdDMi2HRx2EXGYlxqIEh0Oo3bLhorgnsVJi2UkbX1+jKxuBNR9PC5+JaX7EkmJxFPmo6mjLpqShI2w==", + "license": "BSD-2-Clause", + "dependencies": { + "@xmldom/xmldom": "^0.8.6", + "argparse": "~1.0.3", + "base64-js": "^1.5.1", + "bluebird": "~3.4.0", + "dingbat-to-unicode": "^1.0.1", + "jszip": "^3.7.1", + "lop": "^0.4.2", + "path-is-absolute": "^1.0.0", + "underscore": "^1.13.1", + "xmlbuilder": "^10.0.0" + }, + "bin": { + "mammoth": "bin/mammoth" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/mammoth/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/mammoth/node_modules/xmlbuilder": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-10.1.1.tgz", + "integrity": "sha512-OyzrcFLL/nb6fMGHbiRDuPup9ljBycsdCypwuyg5AAHvyWzGfChJpCXMG88AGTIMFhGZ9RccFN1e6lhg3hkwKg==", + "license": "MIT", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmmirror.com/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-deep": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/merge-deep/-/merge-deep-3.0.3.tgz", + "integrity": "sha512-qtmzAS6t6grwEkNrunqTBdn0qKwFgNWvlxUbAV8es9M7Ot1EbyApytCnvE0jALPa46ZpKDUo527kKiaWplmlFA==", + "license": "MIT", + "dependencies": { + "arr-union": "^3.1.0", + "clone-deep": "^0.2.4", + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "license": "MIT" + }, + "node_modules/mixin-object": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/mixin-object/-/mixin-object-2.0.1.tgz", + "integrity": "sha512-ALGF1Jt9ouehcaXaHhn6t1yGWRqGaHkPFndtFVHfZXOvkIZ/yoGaSi0AHVTafb3ZBGg4dr/bDwnaEKqCXzchMA==", + "license": "MIT", + "dependencies": { + "for-in": "^0.1.3", + "is-extendable": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-object/node_modules/for-in": { + "version": "0.1.8", + "resolved": "https://registry.npmmirror.com/for-in/-/for-in-0.1.8.tgz", + "integrity": "sha512-F0to7vbBSHP8E3l6dCjxNOLuSFAACIxFy3UehTUlG7svlXi37HHsDkyVcHo0Pq8QwrE+pXvWSVX3ZT1T9wAZ9g==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmmirror.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "license": "MIT" + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/multer": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/multer/-/multer-2.0.2.tgz", + "integrity": "sha512-u7f2xaZ/UG8oLXHvtF/oWTRvT44p9ecwBBqTwgJVq0+4BW1g8OW01TyMEGWBHbyMOYVHXslaut7qEQ1meATXgw==", + "license": "MIT", + "dependencies": { + "append-field": "^1.0.0", + "busboy": "^1.6.0", + "concat-stream": "^2.0.0", + "mkdirp": "^0.5.6", + "object-assign": "^4.1.1", + "type-is": "^1.6.18", + "xtend": "^4.0.2" + }, + "engines": { + "node": ">= 10.16.0" + } + }, + "node_modules/n-gram": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/n-gram/-/n-gram-2.0.2.tgz", + "integrity": "sha512-S24aGsn+HLBxUGVAUFOwGpKs7LBcG4RudKU//eWzt/mQ97/NMKQxDWHyHx63UNWk/OOdihgmzoETn1tf5nQDzQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/nanoid": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.7.tgz", + "integrity": "sha512-ua3NDgISf6jdwezAheMOk4mbE1LXjm1DfMUDMuJf4AqxLFK3ccGpgWizwa5YV7Yz9EpXwEaWoRXSb/BnV0t5dQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.js" + }, + "engines": { + "node": "^18 || >=20" + } + }, + "node_modules/napi-build-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/napi-build-utils/-/napi-build-utils-2.0.0.tgz", + "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==", + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/netmask": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/netmask/-/netmask-2.1.1.tgz", + "integrity": "sha512-eonl3sLUha+S1GzTPxychyhnUzKyeQkZ7jLjKrBagJgPla13F+uQ71HgpFefyHgqrjEbCPkDArxYsjY8/+gLKA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/node-abi": { + "version": "3.85.0", + "resolved": "https://registry.npmmirror.com/node-abi/-/node-abi-3.85.0.tgz", + "integrity": "sha512-zsFhmbkAzwhTft6nd3VxcG0cvJsT70rL+BIGHWVq5fi6MwGrHwzqKaxXE+Hl2GmnGItnDKPPkO5/LQqjVkIdFg==", + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-releases": { + "version": "2.0.37", + "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.37.tgz", + "integrity": "sha512-1h5gKZCF+pO/o3Iqt5Jp7wc9rH3eJJ0+nh/CIoiRwjRxde/hAHyLPXYN4V3CqKAbiZPSeJFSWHmJsbkicta0Eg==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/nodemailer": { + "version": "6.10.1", + "resolved": "https://registry.npmmirror.com/nodemailer/-/nodemailer-6.10.1.tgz", + "integrity": "sha512-Z+iLaBGVaSjbIzQ4pX6XV41HrooLsQ10ZWPUehGmuantvzWoDVBnmsdUcOIDM1t+yPor5pDhVlDESgOMEGxhHA==", + "license": "MIT-0", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/numfmt": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/numfmt/-/numfmt-3.2.4.tgz", + "integrity": "sha512-jtWPEIZwQgKudd/bRfslnLQdSvZpHOScrDRJoQO2NSrtRDM2gyaL6HGn2xJOjZuRh5ffCz10IX3puVHiz/qI/A==", + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-exit-leak-free": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz", + "integrity": "sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==", + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/opentype.js": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/opentype.js/-/opentype.js-1.3.4.tgz", + "integrity": "sha512-d2JE9RP/6uagpQAVtJoF0pJJA/fgai89Cc50Yp0EJHk+eLp6QQ7gBoblsnubRULNY132I0J1QKMJ+JTbMqz4sw==", + "license": "MIT", + "dependencies": { + "string.prototype.codepointat": "^0.2.1", + "tiny-inflate": "^1.0.3" + }, + "bin": { + "ot": "bin/ot" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/option": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/option/-/option-0.2.4.tgz", + "integrity": "sha512-pkEqbDyl8ou5cpq+VsnQbe/WlEy5qS7xPzMS1U55OCG9KPvwFD46zDbxQIj3egJSFc3D+XhYOPUzz49zQAVy7A==", + "license": "BSD-2-Clause" + }, + "node_modules/ot-json1": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/ot-json1/-/ot-json1-1.0.2.tgz", + "integrity": "sha512-IhxkqVWQqlkWULoi/Q2AdzKk0N5vQRbUMUwubFXFCPcY4TsOZjmp2YKrk0/z1TeiECPadWEK060sdFdQ3Grokg==", + "license": "ISC", + "dependencies": { + "ot-text-unicode": "4" + } + }, + "node_modules/ot-text-unicode": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/ot-text-unicode/-/ot-text-unicode-4.0.0.tgz", + "integrity": "sha512-W7ZLU8QXesY2wagYFv47zErXud3E93FGImmSGJsQnBzE+idcPPyo2u2KMilIrTwBh4pbCizy71qRjmmV6aDhcQ==", + "license": "ISC", + "dependencies": { + "unicount": "1.1" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/pac-proxy-agent": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz", + "integrity": "sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==", + "license": "MIT", + "dependencies": { + "@tootallnate/quickjs-emscripten": "^0.23.0", + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "get-uri": "^6.0.1", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.6", + "pac-resolver": "^7.0.1", + "socks-proxy-agent": "^8.0.5" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/pac-proxy-agent/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/pac-proxy-agent/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/pac-resolver": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/pac-resolver/-/pac-resolver-7.0.1.tgz", + "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==", + "license": "MIT", + "dependencies": { + "degenerator": "^5.0.0", + "netmask": "^2.0.2" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "license": "BlueOak-1.0.0" + }, + "node_modules/pako": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==", + "license": "(MIT AND Zlib)" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parseley": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/parseley/-/parseley-0.12.1.tgz", + "integrity": "sha512-e6qHKe3a9HWr0oMRVDTRhKce+bRO8VGQR3NyVwcjwrbhMmFCX9KszEV35+rn4AdilFAq9VPxP/Fe1wC9Qjd2lw==", + "license": "MIT", + "dependencies": { + "leac": "^0.6.0", + "peberminta": "^0.9.0" + }, + "funding": { + "url": "https://ko-fi.com/killymxi" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.12", + "resolved": "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", + "license": "MIT" + }, + "node_modules/pdf-parse": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/pdf-parse/-/pdf-parse-2.4.5.tgz", + "integrity": "sha512-mHU89HGh7v+4u2ubfnevJ03lmPgQ5WU4CxAVmTSh/sxVTEDYd1er/dKS/A6vg77NX47KTEoihq8jZBLr8Cxuwg==", + "license": "Apache-2.0", + "dependencies": { + "@napi-rs/canvas": "0.1.80", + "pdfjs-dist": "5.4.296" + }, + "bin": { + "pdf-parse": "bin/cli.mjs" + }, + "engines": { + "node": ">=20.16.0 <21 || >=22.3.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/mehmet-kozan" + } + }, + "node_modules/pdfjs-dist": { + "version": "5.4.296", + "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-5.4.296.tgz", + "integrity": "sha512-DlOzet0HO7OEnmUmB6wWGJrrdvbyJKftI1bhMitK7O2N8W2gc757yyYBbINy9IDafXAV9wmKr9t7xsTaNKRG5Q==", + "license": "Apache-2.0", + "engines": { + "node": ">=20.16.0 || >=22.3.0" + }, + "optionalDependencies": { + "@napi-rs/canvas": "^0.1.80" + } + }, + "node_modules/peberminta": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/peberminta/-/peberminta-0.9.0.tgz", + "integrity": "sha512-XIxfHpEuSJbITd1H3EeQwpcZbTLHc+VVr8ANI9t5sit565tsI4/xK3KWTUFE2e6QiangUkh3B0jihzmGnNrRsQ==", + "license": "MIT", + "funding": { + "url": "https://ko-fi.com/killymxi" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/pino": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/pino/-/pino-10.3.1.tgz", + "integrity": "sha512-r34yH/GlQpKZbU1BvFFqOjhISRo1MNx1tWYsYvmj6KIRHSPMT2+yHOEb1SG6NMvRoHRF0a07kCOox/9yakl1vg==", + "license": "MIT", + "dependencies": { + "@pinojs/redact": "^0.4.0", + "atomic-sleep": "^1.0.0", + "on-exit-leak-free": "^2.1.0", + "pino-abstract-transport": "^3.0.0", + "pino-std-serializers": "^7.0.0", + "process-warning": "^5.0.0", + "quick-format-unescaped": "^4.0.3", + "real-require": "^0.2.0", + "safe-stable-stringify": "^2.3.1", + "sonic-boom": "^4.0.1", + "thread-stream": "^4.0.0" + }, + "bin": { + "pino": "bin.js" + } + }, + "node_modules/pino-abstract-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-3.0.0.tgz", + "integrity": "sha512-wlfUczU+n7Hy/Ha5j9a/gZNy7We5+cXp8YL+X+PG8S0KXxw7n/JXA3c46Y0zQznIJ83URJiwy7Lh56WLokNuxg==", + "license": "MIT", + "dependencies": { + "split2": "^4.0.0" + } + }, + "node_modules/pino-std-serializers": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-7.1.0.tgz", + "integrity": "sha512-BndPH67/JxGExRgiX1dX0w1FvZck5Wa4aal9198SrRhZjH3GxKQUKIBnYJTdj2HDN3UQAS06HlfcSbQj2OHmaw==", + "license": "MIT" + }, + "node_modules/pngjs": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", + "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==", + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/postcss": { + "version": "8.5.9", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.5.9.tgz", + "integrity": "sha512-7a70Nsot+EMX9fFU3064K/kdHWZqGVY+BADLyXc8Dfv+mTLLVl6JzJpPaCZ2kQL9gIJvKXSLMHhqdRRjwQeFtw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", + "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^7.0.0", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", + "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", + "dev": true, + "license": "ISC", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/postcss/node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/prebuild-install": { + "version": "7.1.3", + "resolved": "https://registry.npmmirror.com/prebuild-install/-/prebuild-install-7.1.3.tgz", + "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^2.0.0", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "license": "MIT" + }, + "node_modules/process-warning": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-5.0.0.tgz", + "integrity": "sha512-a39t9ApHNx2L4+HBnQKqxxHNs1r7KF+Intd8Q/g1bUh6q0WIp9voPXJ/x0j+ZL45KF1pJd9+q2jLIRMfvEshkA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "MIT" + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmmirror.com/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-agent": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/proxy-agent/-/proxy-agent-6.5.0.tgz", + "integrity": "sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "http-proxy-agent": "^7.0.1", + "https-proxy-agent": "^7.0.6", + "lru-cache": "^7.14.1", + "pac-proxy-agent": "^7.1.0", + "proxy-from-env": "^1.1.0", + "socks-proxy-agent": "^8.0.5" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/proxy-agent/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/proxy-agent/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/proxy-agent/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/pump": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/pump/-/pump-3.0.3.tgz", + "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode.js": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", + "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/puppeteer": { + "version": "24.40.0", + "resolved": "https://registry.npmmirror.com/puppeteer/-/puppeteer-24.40.0.tgz", + "integrity": "sha512-IxQbDq93XHVVLWHrAkFP7F7iHvb9o0mgfsSIMlhHb+JM+JjM1V4v4MNSQfcRWJopx9dsNOr9adYv0U5fm9BJBQ==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@puppeteer/browsers": "2.13.0", + "chromium-bidi": "14.0.0", + "cosmiconfig": "^9.0.0", + "devtools-protocol": "0.0.1581282", + "puppeteer-core": "24.40.0", + "typed-query-selector": "^2.12.1" + }, + "bin": { + "puppeteer": "lib/cjs/puppeteer/node/cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/puppeteer-core": { + "version": "24.40.0", + "resolved": "https://registry.npmmirror.com/puppeteer-core/-/puppeteer-core-24.40.0.tgz", + "integrity": "sha512-MWL3XbUCfVgGR0gRsidzT6oKJT2QydPLhMITU6HoVWiiv4gkb6gJi3pcdAa8q4HwjBTbqISOWVP4aJiiyUJvag==", + "license": "Apache-2.0", + "dependencies": { + "@puppeteer/browsers": "2.13.0", + "chromium-bidi": "14.0.0", + "debug": "^4.4.3", + "devtools-protocol": "0.0.1581282", + "typed-query-selector": "^2.12.1", + "webdriver-bidi-protocol": "0.4.1", + "ws": "^8.19.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/puppeteer-core/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/puppeteer-core/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/puppeteer-extra": { + "version": "3.3.6", + "resolved": "https://registry.npmmirror.com/puppeteer-extra/-/puppeteer-extra-3.3.6.tgz", + "integrity": "sha512-rsLBE/6mMxAjlLd06LuGacrukP2bqbzKCLzV1vrhHFavqQE/taQ2UXv3H5P0Ls7nsrASa+6x3bDbXHpqMwq+7A==", + "license": "MIT", + "dependencies": { + "@types/debug": "^4.1.0", + "debug": "^4.1.1", + "deepmerge": "^4.2.2" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "@types/puppeteer": "*", + "puppeteer": "*", + "puppeteer-core": "*" + }, + "peerDependenciesMeta": { + "@types/puppeteer": { + "optional": true + }, + "puppeteer": { + "optional": true + }, + "puppeteer-core": { + "optional": true + } + } + }, + "node_modules/puppeteer-extra-plugin": { + "version": "3.2.3", + "resolved": "https://registry.npmmirror.com/puppeteer-extra-plugin/-/puppeteer-extra-plugin-3.2.3.tgz", + "integrity": "sha512-6RNy0e6pH8vaS3akPIKGg28xcryKscczt4wIl0ePciZENGE2yoaQJNd17UiEbdmh5/6WW6dPcfRWT9lxBwCi2Q==", + "license": "MIT", + "dependencies": { + "@types/debug": "^4.1.0", + "debug": "^4.1.1", + "merge-deep": "^3.0.1" + }, + "engines": { + "node": ">=9.11.2" + }, + "peerDependencies": { + "playwright-extra": "*", + "puppeteer-extra": "*" + }, + "peerDependenciesMeta": { + "playwright-extra": { + "optional": true + }, + "puppeteer-extra": { + "optional": true + } + } + }, + "node_modules/puppeteer-extra-plugin-stealth": { + "version": "2.11.2", + "resolved": "https://registry.npmmirror.com/puppeteer-extra-plugin-stealth/-/puppeteer-extra-plugin-stealth-2.11.2.tgz", + "integrity": "sha512-bUemM5XmTj9i2ZerBzsk2AN5is0wHMNE6K0hXBzBXOzP5m5G3Wl0RHhiqKeHToe/uIH8AoZiGhc1tCkLZQPKTQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "puppeteer-extra-plugin": "^3.2.3", + "puppeteer-extra-plugin-user-preferences": "^2.4.1" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "playwright-extra": "*", + "puppeteer-extra": "*" + }, + "peerDependenciesMeta": { + "playwright-extra": { + "optional": true + }, + "puppeteer-extra": { + "optional": true + } + } + }, + "node_modules/puppeteer-extra-plugin-stealth/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/puppeteer-extra-plugin-stealth/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/puppeteer-extra-plugin-user-data-dir": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/puppeteer-extra-plugin-user-data-dir/-/puppeteer-extra-plugin-user-data-dir-2.4.1.tgz", + "integrity": "sha512-kH1GnCcqEDoBXO7epAse4TBPJh9tEpVEK/vkedKfjOVOhZAvLkHGc9swMs5ChrJbRnf8Hdpug6TJlEuimXNQ+g==", + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "fs-extra": "^10.0.0", + "puppeteer-extra-plugin": "^3.2.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "playwright-extra": "*", + "puppeteer-extra": "*" + }, + "peerDependenciesMeta": { + "playwright-extra": { + "optional": true + }, + "puppeteer-extra": { + "optional": true + } + } + }, + "node_modules/puppeteer-extra-plugin-user-data-dir/node_modules/brace-expansion": { + "version": "1.1.14", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/puppeteer-extra-plugin-user-data-dir/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/puppeteer-extra-plugin-user-data-dir/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/puppeteer-extra-plugin-user-data-dir/node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/puppeteer-extra-plugin-user-data-dir/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/puppeteer-extra-plugin-user-data-dir/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/puppeteer-extra-plugin-user-preferences": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/puppeteer-extra-plugin-user-preferences/-/puppeteer-extra-plugin-user-preferences-2.4.1.tgz", + "integrity": "sha512-i1oAZxRbc1bk8MZufKCruCEC3CCafO9RKMkkodZltI4OqibLFXF3tj6HZ4LZ9C5vCXZjYcDWazgtY69mnmrQ9A==", + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "deepmerge": "^4.2.2", + "puppeteer-extra-plugin": "^3.2.3", + "puppeteer-extra-plugin-user-data-dir": "^2.4.1" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "playwright-extra": "*", + "puppeteer-extra": "*" + }, + "peerDependenciesMeta": { + "playwright-extra": { + "optional": true + }, + "puppeteer-extra": { + "optional": true + } + } + }, + "node_modules/puppeteer-extra-plugin-user-preferences/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/puppeteer-extra-plugin-user-preferences/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/puppeteer-extra-plugin/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/puppeteer-extra-plugin/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/puppeteer-extra/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/puppeteer-extra/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/qrcode": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.4.tgz", + "integrity": "sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==", + "license": "MIT", + "dependencies": { + "dijkstrajs": "^1.0.1", + "pngjs": "^5.0.0", + "yargs": "^15.3.1" + }, + "bin": { + "qrcode": "bin/qrcode" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmmirror.com/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/quick-format-unescaped": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", + "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==", + "license": "MIT" + }, + "node_modules/quickselect": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-3.0.0.tgz", + "integrity": "sha512-XdjUArbK4Bm5fLLvlm5KpTFOiOThgfWWI4axAZDWg4E/0mKdZyI9tNEfds27qCi1ze/vwTR16kvmmGhRra3c2g==", + "license": "ISC" + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmmirror.com/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rbush": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/rbush/-/rbush-4.0.1.tgz", + "integrity": "sha512-IP0UpfeWQujYC8Jg162rMNc01Rf0gWMMAb2Uxus/Q0qOFw4lCcq6ZnQEZwUoJqWyUGJ9th7JjwI4yIWo+uvoAQ==", + "license": "MIT", + "dependencies": { + "quickselect": "^3.0.0" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmmirror.com/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/react": { + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", + "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", + "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.4" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" + }, + "node_modules/react-remove-scroll": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.7.2.tgz", + "integrity": "sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q==", + "license": "MIT", + "dependencies": { + "react-remove-scroll-bar": "^2.3.7", + "react-style-singleton": "^2.2.3", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.3", + "use-sidecar": "^1.1.3" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz", + "integrity": "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==", + "license": "MIT", + "dependencies": { + "react-style-singleton": "^2.2.2", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-style-singleton": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz", + "integrity": "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==", + "license": "MIT", + "dependencies": { + "get-nonce": "^1.0.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "license": "BSD-3-Clause", + "dependencies": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": ">=16.6.0", + "react-dom": ">=16.6.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdir-glob": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", + "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.1.0" + } + }, + "node_modules/readdir-glob/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/real-require": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz", + "integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==", + "license": "MIT", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/regexp-util": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/regexp-util/-/regexp-util-2.0.3.tgz", + "integrity": "sha512-GP6h9OgJmhAZpb3dbNbXTfRWVnGcoMhWRZv/HxgM4/qCVqs1P9ukQdYxaUhjWBSAs9oJ/uPXUUvGT1VMe0Bs0Q==", + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "license": "ISC" + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/rimraf/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/rxjs": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safe-stable-stringify": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz", + "integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/sax": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.4.tgz", + "integrity": "sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } + }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" + }, + "node_modules/schema-utils": { + "version": "4.3.3", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/selderee": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/selderee/-/selderee-0.11.0.tgz", + "integrity": "sha512-5TF+l7p4+OsnP8BCCvSyZiSPc4x4//p5uPwK8TCnVPJYRmU2aYKMpOXvw8zM5a5JvuuCGN1jmsMwuU2W02ukfA==", + "license": "MIT", + "dependencies": { + "parseley": "^0.12.0" + }, + "funding": { + "url": "https://ko-fi.com/killymxi" + } + }, + "node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.19.0", + "resolved": "https://registry.npmmirror.com/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/serve-static": { + "version": "1.16.2", + "resolved": "https://registry.npmmirror.com/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.19.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "license": "ISC" + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "license": "MIT" + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/shallow-clone": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/shallow-clone/-/shallow-clone-0.1.2.tgz", + "integrity": "sha512-J1zdXCky5GmNnuauESROVu31MQSnLoYvlyEn6j2Ztk6Q5EHFIhxkMhYcv6vuDzl2XEzoRr856QwzMgWM/TmZgw==", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.1", + "kind-of": "^2.0.1", + "lazy-cache": "^0.2.3", + "mixin-object": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shallow-clone/node_modules/kind-of": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-2.0.1.tgz", + "integrity": "sha512-0u8i1NZ/mg0b+W3MGGw5I7+6Eib2nx72S/QvXa0hYjEkjTknYmEYQJwGu3mLC0BrhtJjtQafTkyRUQ75Kx0LVg==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shallow-clone/node_modules/lazy-cache": { + "version": "0.2.7", + "resolved": "https://registry.npmmirror.com/lazy-cache/-/lazy-cache-0.2.7.tgz", + "integrity": "sha512-gkX52wvU/R8DVMMt78ATVPFMJqfW8FPz1GZ1sVHBVQHmu/WvhIWE4cE1GBzhJNFicDeYhnwp6Rl35BcAIM3YOQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.8.tgz", + "integrity": "sha512-NlGELfPrgX2f1TAAcz0WawlLn+0r3FyhhCRpFFK2CemXenPYvzMWWZINv3eDNo9ucdwme7oCHRY0Jnbs4aIkog==", + "license": "MIT", + "dependencies": { + "ip-address": "^10.1.1", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "8.0.5", + "resolved": "https://registry.npmmirror.com/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", + "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/socks-proxy-agent/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socks-proxy-agent/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/sonic-boom": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-4.2.1.tgz", + "integrity": "sha512-w6AxtubXa2wTXAUsZMMWERrsIRAdrK0Sc+FUytWvYAhBJLyuI4llrMIC1DtlNSdI99EI86KZum2MMq3EAZlF9Q==", + "license": "MIT", + "dependencies": { + "atomic-sleep": "^1.0.0" + } + }, + "node_modules/sonner": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/sonner/-/sonner-2.0.7.tgz", + "integrity": "sha512-W6ZN4p58k8aDKA4XPcx2hpIQXBRAgyiWVkYhT7CvK6D3iAu7xjvVyhQHg2/iaKJZ1XVJ4r7XuwGL+WGEK37i9w==", + "license": "MIT", + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "react-dom": "^18.0.0 || ^19.0.0 || ^19.0.0-rc" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "devOptional": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "license": "ISC", + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "license": "BSD-3-Clause" + }, + "node_modules/ssf": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.11.2.tgz", + "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==", + "license": "Apache-2.0", + "dependencies": { + "frac": "~1.1.2" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/streamx": { + "version": "2.25.0", + "resolved": "https://registry.npmmirror.com/streamx/-/streamx-2.25.0.tgz", + "integrity": "sha512-0nQuG6jf1w+wddNEEXCF4nTg3LtufWINB5eFEN+5TNZW7KWJp6x87+JFL43vaAUPyCfH1wID+mNVyW6OHtFamg==", + "license": "MIT", + "dependencies": { + "events-universal": "^1.0.0", + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.codepointat": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz", + "integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==", + "license": "MIT" + }, + "node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/style-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/style-loader/-/style-loader-4.0.0.tgz", + "integrity": "sha512-1V4WqhhZZgjVAVJyt7TdDPZoPBPNHbekX4fWnCJL1yQukhCeZhJySUL+gL9y6sNdN95uEOS83Y55SqHcP7MzLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.27.0" + } + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/tailwind-merge": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.6.0.tgz", + "integrity": "sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, + "node_modules/tapable": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/tapable/-/tapable-2.3.2.tgz", + "integrity": "sha512-1MOpMXuhGzGL5TTCZFItxCc0AARf1EZFQkGqMm7ERKj8+Hgr5oLvJOVFcC+lRmR8hCe2S3jC4T5D7Vg/d7/fhA==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/tar-fs": { + "version": "2.1.4", + "resolved": "https://registry.npmmirror.com/tar-fs/-/tar-fs-2.1.4.tgz", + "integrity": "sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==", + "license": "MIT", + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "license": "MIT", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/teex": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/teex/-/teex-1.0.1.tgz", + "integrity": "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==", + "license": "MIT", + "dependencies": { + "streamx": "^2.12.5" + } + }, + "node_modules/terser": { + "version": "5.46.1", + "resolved": "https://registry.npmmirror.com/terser/-/terser-5.46.1.tgz", + "integrity": "sha512-vzCjQO/rgUuK9sf8VJZvjqiqiHFaZLnOiimmUuOKODxWL8mm/xua7viT7aqX7dgPY60otQjUotzFMmCB4VdmqQ==", + "dev": true, + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.15.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.4.0", + "resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.4.0.tgz", + "integrity": "sha512-Bn5vxm48flOIfkdl5CaD2+1CiUVbonWQ3KQPyP7/EuIl9Gbzq/gQFOzaMFUEgVjB1396tcK0SG8XcNJ/2kDH8g==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "jest-worker": "^27.4.5", + "schema-utils": "^4.3.0", + "terser": "^5.31.1" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/text-decoder": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", + "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.6.4" + } + }, + "node_modules/thread-stream": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-4.2.0.tgz", + "integrity": "sha512-e2zZ96wSChazBsbENf/Pcm/4swHt2cEKQ92rhUjkL9GCKiTDJIaTBenjE/m9DXi0QBmTMDkFDdOomUy20A1tDQ==", + "license": "MIT", + "dependencies": { + "real-require": "^1.0.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/thread-stream/node_modules/real-require": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/real-require/-/real-require-1.0.0.tgz", + "integrity": "sha512-P4nbQYQfePJxRSmY+v/KINxVucm4NF3p3s7pJveMTtom52FR4YGltUQLB8idDXwDDWW+eYrWDFbuzUnjoWHF7g==", + "license": "MIT" + }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", + "license": "MIT" + }, + "node_modules/tinymce": { + "version": "6.8.3", + "resolved": "https://registry.npmjs.org/tinymce/-/tinymce-6.8.3.tgz", + "integrity": "sha512-3fCHKAeqT+xNwBVESf6iDbDV0VNwZNmfrkx9c/6Gz5iB8piMfaO6s7FvoiTrj1hf1gVbfyLTnz1DooI6DhgINQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/tlds": { + "version": "1.261.0", + "resolved": "https://registry.npmjs.org/tlds/-/tlds-1.261.0.tgz", + "integrity": "sha512-QXqwfEl9ddlGBaRFXIvNKK6OhipSiLXuRuLJX5DErz0o0Q0rYxulWLdFryTkV5PkdZct5iMInwYEGe/eR++1AA==", + "license": "MIT", + "bin": { + "tlds": "bin.js" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/traverse": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", + "integrity": "sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==", + "license": "MIT/X11", + "engines": { + "node": "*" + } + }, + "node_modules/trigram-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/trigram-utils/-/trigram-utils-2.0.1.tgz", + "integrity": "sha512-nfWIXHEaB+HdyslAfMxSqWKDdmqY9I32jS7GnqpdWQnLH89r6A5sdk3fDVYqGAZ0CrT8ovAFSAo6HRiWcWNIGQ==", + "license": "MIT", + "dependencies": { + "collapse-white-space": "^2.0.0", + "n-gram": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmmirror.com/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typed-query-selector": { + "version": "2.12.1", + "resolved": "https://registry.npmmirror.com/typed-query-selector/-/typed-query-selector-2.12.1.tgz", + "integrity": "sha512-uzR+FzI8qrUEIu96oaeBJmd9E7CFEiQ3goA5qCVgc4s5llSubcfGHq9yUstZx/k4s9dXHVKsE35YWoFyvEqEHA==", + "license": "MIT" + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "license": "MIT" + }, + "node_modules/uc.micro": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", + "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", + "license": "MIT" + }, + "node_modules/underscore": { + "version": "1.13.8", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.8.tgz", + "integrity": "sha512-DXtD3ZtEQzc7M8m4cXotyHR+FAS18C64asBYY5vqZexfYryNNnDc02W4hKg3rdQuqOYas1jkseX0+nZXjTXnvQ==", + "license": "MIT" + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "license": "MIT" + }, + "node_modules/unicode-regex": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/unicode-regex/-/unicode-regex-4.2.0.tgz", + "integrity": "sha512-fEYz7CCnvHDAdrb8OYAP7qlQCWzXBO5cHXQ3XI+HoZaBpiAwyC6b2nixMGl91yrDYEIRm7NDskgTvnLZ7mqrKQ==", + "license": "MIT", + "dependencies": { + "regexp-util": "^2.0.3" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/unicount": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicount/-/unicount-1.1.0.tgz", + "integrity": "sha512-RlwWt1ywVW4WErPGAVHw/rIuJ2+MxvTME0siJ6lk9zBhpDfExDbspe6SRlWT3qU6AucNjotPl9qAJRVjP7guCQ==", + "license": "ISC" + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unzipper": { + "version": "0.10.14", + "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.10.14.tgz", + "integrity": "sha512-ti4wZj+0bQTiX2KmKWuwj7lhV+2n//uXEotUmGuQqrbVZSEGFMbI68+c6JCQ8aAmUWYvtHEz2A8K6wXvueR/6g==", + "license": "MIT", + "dependencies": { + "big-integer": "^1.6.17", + "binary": "~0.3.0", + "bluebird": "~3.4.1", + "buffer-indexof-polyfill": "~1.0.0", + "duplexer2": "~0.1.4", + "fstream": "^1.0.12", + "graceful-fs": "^4.2.2", + "listenercount": "~1.0.1", + "readable-stream": "~2.3.6", + "setimmediate": "~1.0.4" + } + }, + "node_modules/unzipper/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/unzipper/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/unzipper/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/use-callback-ref": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz", + "integrity": "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sidecar": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.3.tgz", + "integrity": "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==", + "license": "MIT", + "dependencies": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-13.0.0.tgz", + "integrity": "sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist-node/bin/uuid" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/watchpack": { + "version": "2.5.1", + "resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-2.5.1.tgz", + "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webdriver-bidi-protocol": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/webdriver-bidi-protocol/-/webdriver-bidi-protocol-0.4.1.tgz", + "integrity": "sha512-ARrjNjtWRRs2w4Tk7nqrf2gBI0QXWuOmMCx2hU+1jUt6d00MjMxURrhxhGbrsoiZKJrhTSTzbIrc554iKI10qw==", + "license": "Apache-2.0" + }, + "node_modules/webpack": { + "version": "5.106.1", + "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.106.1.tgz", + "integrity": "sha512-EW8af29ak8Oaf4T8k8YsajjrDBDYgnKZ5er6ljWFJsXABfTNowQfvHLftwcepVgdz+IoLSdEAbBiM9DFXoll9w==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.8", + "@types/json-schema": "^7.0.15", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", + "acorn": "^8.16.0", + "acorn-import-phases": "^1.0.3", + "browserslist": "^4.28.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.20.0", + "es-module-lexer": "^2.0.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.3.1", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^4.3.3", + "tapable": "^2.3.0", + "terser-webpack-plugin": "^5.3.17", + "watchpack": "^2.5.1", + "webpack-sources": "^3.3.4" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-sources": { + "version": "3.3.4", + "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.3.4.tgz", + "integrity": "sha512-7tP1PdV4vF+lYPnkMR0jMY5/la2ub5Fc/8VQrrU+lXkiM6C4TjVfGw7iKfyhnTQOsD+6Q/iKw0eFciziRgD58Q==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "license": "ISC" + }, + "node_modules/wmf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz", + "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/word": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/word/-/word-0.3.0.tgz", + "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/word-extractor": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/word-extractor/-/word-extractor-1.0.4.tgz", + "integrity": "sha512-PyAGZQ2gjnVA5kcZAOAxoYciCMaAvu0dbVlw/zxHphhy+3be8cDeYKHJPO8iedIM3Sx0arA/ugKTJyXhZNgo6g==", + "license": "MIT", + "dependencies": { + "saxes": "^5.0.1", + "yauzl": "^2.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/ws": { + "version": "8.20.0", + "resolved": "https://registry.npmmirror.com/ws/-/ws-8.20.0.tgz", + "integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xlsx": { + "version": "0.18.5", + "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.18.5.tgz", + "integrity": "sha512-dmg3LCjBPHZnQp5/F/+nnTa+miPJxUXB6vtk42YjBBKayDNagxGEeIdWApkYPOf3Z3pm3k62Knjzp7lMeTEtFQ==", + "license": "Apache-2.0", + "dependencies": { + "adler-32": "~1.3.0", + "cfb": "~1.2.1", + "codepage": "~1.15.0", + "crc-32": "~1.2.1", + "ssf": "~0.11.2", + "wmf": "~1.0.1", + "word": "~0.3.0" + }, + "bin": { + "xlsx": "bin/xlsx.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/xml2js": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", + "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", + "license": "MIT", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "license": "MIT", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "license": "MIT" + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "license": "ISC" + }, + "node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "license": "MIT", + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "license": "ISC", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmmirror.com/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "license": "MIT", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yauzl/node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmmirror.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/zip-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz", + "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==", + "license": "MIT", + "dependencies": { + "archiver-utils": "^5.0.0", + "compress-commons": "^6.0.2", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/zip-stream/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/zip-stream/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/zod": { + "version": "3.25.76", + "resolved": "https://registry.npmmirror.com/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..b53c8c1 --- /dev/null +++ b/package.json @@ -0,0 +1,54 @@ +{ + "name": "yangs-toolbox", + "version": "0.1.0", + "private": true, + "main": "src/server/index.js", + "engines": { + "node": ">=22 <24" + }, + "scripts": { + "start": "\"D:\\ProgramData\\nodejs_22\\node.exe\" src/server/index.js", + "start22": "\"D:\\ProgramData\\nodejs_22\\node.exe\" src/server/index.js", + "start:5051": "set PORT=5051&& \"D:\\ProgramData\\nodejs_22\\node.exe\" src/server/index.js", + "start:8976": "set PORT=8976&& \"D:\\ProgramData\\nodejs_22\\node.exe\" src/server/index.js", + "start:8977": "set PORT=8977&& \"D:\\ProgramData\\nodejs_22\\node.exe\" src/server/index.js", + "upgrade:expense": "\"D:\\ProgramData\\nodejs_22\\node.exe\" scripts/upgrade_expense_db.js", + "test": "\"D:\\ProgramData\\nodejs_22\\node.exe\" src/server/test_weekly_modular.js", + "lint": "powershell -NoProfile -Command \"Get-ChildItem -Recurse -Filter *.js -Path src,public | Where-Object { $_.FullName -notmatch '\\\\node_modules\\\\' -and $_.FullName -notmatch '\\\\public\\\\lib\\\\' -and $_.FullName -notmatch '\\\\public\\\\tools\\\\cloud_notes\\\\tinymce\\\\' -and $_.FullName -notmatch '\\\\public\\\\tools\\\\rebalance\\\\lib\\\\' -and $_.Name -notmatch '\\.min\\.js$' } | ForEach-Object { & 'D:\\\\ProgramData\\\\nodejs_22\\\\node.exe' --check $_.FullName }\"", + "typecheck": "npm run lint" + }, + "dependencies": { + "@alicloud/pop-core": "^1.8.0", + "@univerjs/presets": "^0.19.0", + "@univerjs/protocol": "^0.1.48", + "@univerjs/ui": "^0.19.0", + "archiver": "^7.0.1", + "axios": "^1.7.5", + "better-sqlite3": "^9.4.5", + "cors": "^2.8.5", + "express": "^4.21.1", + "iconv-lite": "^0.6.3", + "imapflow": "^1.3.3", + "mailparser": "^3.9.8", + "mammoth": "^1.12.0", + "multer": "^2.0.2", + "nodemailer": "^6.9.8", + "pdf-parse": "^2.4.5", + "puppeteer": "^24.40.0", + "puppeteer-extra": "^3.3.6", + "puppeteer-extra-plugin-stealth": "^2.11.2", + "qrcode": "^1.5.4", + "react": "^19.2.4", + "react-dom": "^19.2.4", + "unzipper": "^0.10.14", + "word-extractor": "^1.0.4", + "ws": "^8.18.0", + "xlsx": "^0.18.5" + }, + "devDependencies": { + "css-loader": "^7.1.4", + "esbuild": "^0.27.4", + "style-loader": "^4.0.0", + "tinymce": "^6.8.3" + } +} diff --git a/public/assets/auth.js b/public/assets/auth.js new file mode 100644 index 0000000..4e2c500 --- /dev/null +++ b/public/assets/auth.js @@ -0,0 +1,183 @@ +(() => { + const originalFetch = window.fetch + window.fetch = (input, init = {}) => { + const opts = Object.assign({}, init) + if (!opts.credentials) opts.credentials = 'include' + return originalFetch(input, opts) + } + const overlayId = 'authOverlay' + const ensureOverlay = () => { + let ov = document.getElementById(overlayId) + if (ov) return ov + ov = document.createElement('div') + ov.id = overlayId + ov.style.position = 'fixed' + ov.style.left = '0'; ov.style.top = '0'; ov.style.right = '0'; ov.style.bottom = '0' + ov.style.display = 'none' + ov.style.alignItems = 'center' + ov.style.justifyContent = 'center' + ov.style.background = 'rgba(0,0,0,0.6)' + ov.style.zIndex = '9999' + const panel = document.createElement('div') + panel.style.background = '#fff' + panel.style.padding = '20px' + panel.style.borderRadius = '8px' + panel.style.boxShadow = '0 4px 12px rgba(0,0,0,0.2)' + const title = document.createElement('div') + title.textContent = '鉴权失败,请重新校验' + title.style.fontSize = '16px' + title.style.marginBottom = '12px' + title.style.color = '#333' + const debug = document.createElement('pre') + debug.id = 'authDebug' + debug.style.fontSize = '12px' + debug.style.lineHeight = '1.5' + debug.style.background = '#f7f7f8' + debug.style.border = '1px solid #e3e3e7' + debug.style.padding = '10px' + debug.style.margin = '0 0 12px 0' + debug.style.maxWidth = '520px' + debug.style.maxHeight = '240px' + debug.style.overflow = 'auto' + debug.textContent = '正在收集诊断信息...' + const btn = document.createElement('button') + btn.textContent = '重新校验' + btn.style.padding = '8px 16px' + btn.addEventListener('click', async () => { + await handshake() + }) + panel.appendChild(title) + panel.appendChild(debug) + panel.appendChild(btn) + ov.appendChild(panel) + document.body.appendChild(ov) + return ov + } + const showOverlay = () => { ensureOverlay().style.display = 'flex' } + const hideOverlay = () => { const ov = ensureOverlay(); ov.style.display = 'none' } + let cfg = { enableCookieAuth: true, cookieName: 'rebalance_jwt' } + const loadConfig = async () => { + try { + const res = await fetch('/assets/auth_config.json', { cache: 'no-store' }) + if (!res.ok) return + const data = await res.json() + cfg = Object.assign({}, cfg, data || {}) + } catch (_) {} + } + const debugState = { + url: '', + config: {}, + tokenInUrl: false, + tokenCall: { tried: false, ok: false, status: 0 }, + handshake: { tried: false, ok: false, status: 0 }, + server: {} + } + const removeTokenFromUrl = () => { + try { + const nu = new URL(window.location.href) + nu.searchParams.delete('token') + window.history.replaceState(null, document.title, nu.toString()) + } catch (_) {} + } + const handleTokenInUrl = async () => { + try { + const u = new URL(window.location.href) + const token = u.searchParams.get('token') + debugState.url = u.toString() + debugState.config = { enableCookieAuth: !!cfg.enableCookieAuth, cookieName: String(cfg.cookieName || '') } + debugState.tokenInUrl = !!token + if (token) { + if (cfg.enableCookieAuth) { + const r = await fetch(`/auth/token?token=${encodeURIComponent(token)}`, { method: 'GET' }) + debugState.tokenCall.tried = true + debugState.tokenCall.ok = r.ok + debugState.tokenCall.status = r.status || 0 + removeTokenFromUrl() + return r.ok + } else { + removeTokenFromUrl() + return true + } + } + } catch (_) {} + return true + } + const handshake = async () => { + if (!cfg.enableCookieAuth) { hideOverlay(); return true } + try { + const r = await fetch('/auth/handshake', { cache: 'no-store' }) + debugState.handshake.tried = true + debugState.handshake.ok = r.ok + debugState.handshake.status = r.status || 0 + /* + try { + const dbgRes = await fetch('/auth/debug', { cache: 'no-store' }) + try { + const body = await dbgRes.json() + debugState.server = body + } catch (_) { + debugState.server = { error: 'debug parse failed', status: dbgRes.status || 0 } + } + } catch (e) { + debugState.server = { error: 'debug request failed' } + } + */ + const box = document.getElementById('authDebug') + if (box) { + const lines = [] + lines.push(`URL: ${debugState.url}`) + lines.push(`Config: enableCookieAuth=${debugState.config.enableCookieAuth} cookieName=${debugState.config.cookieName}`) + lines.push(`TokenInUrl: ${debugState.tokenInUrl}`) + lines.push(`TokenCall: tried=${debugState.tokenCall.tried} ok=${debugState.tokenCall.ok} status=${debugState.tokenCall.status}`) + lines.push(`Handshake: tried=${debugState.handshake.tried} ok=${debugState.handshake.ok} status=${debugState.handshake.status}`) + if (debugState.server && typeof debugState.server === 'object') { + lines.push(`Server.enableAuth: ${debugState.server.enableAuth}`) + lines.push(`Server.jwkLoaded: ${debugState.server.jwkLoaded}`) + lines.push(`Server.cookieName: ${debugState.server.cookieName}`) + lines.push(`Server.cookiePresent: ${debugState.server.cookiePresent}`) + lines.push(`Server.verified: ${debugState.server.verified}`) + lines.push(`Server.keysCount: ${debugState.server.keysCount}`) + try { + const ks = Array.isArray(debugState.server.keysSources) ? debugState.server.keysSources : [] + lines.push(`Server.keysSources: ${JSON.stringify(ks)}`) + } catch (_) {} + try { + const th = debugState.server.tokenHeader || {} + const tp = debugState.server.tokenPayload || {} + lines.push(`Server.tokenHeader.alg: ${th.alg || ''}`) + lines.push(`Server.tokenPayload.iss: ${tp.iss || ''}`) + lines.push(`Server.tokenPayload.aud: ${tp.aud || ''}`) + lines.push(`Server.tokenPayload.exp: ${tp.exp || ''}`) + } catch (_) {} + if (debugState.server.error) { + lines.push(`Server.error: ${debugState.server.error}`) + } + const rq = debugState.server.request || {} + lines.push(`Server.request.host: ${rq.host || ''}`) + lines.push(`Server.request.path: ${rq.path || ''}`) + lines.push(`Server.request.origin: ${rq.origin || ''}`) + lines.push(`Server.request.secFetchMode: ${rq.secFetchMode || ''}`) + lines.push(`Server.request.forwardedProto: ${rq.forwardedProto || ''}`) + lines.push(`Server.request.secure: ${rq.secure}`) + lines.push(`Server.request.proto: ${rq.proto || ''}`) + } else { + lines.push(`Server: ${String(debugState.server)}`) + } + lines.push(`Expected URLs: /auth/token?token=... , /auth/handshake , /api/...`) + box.textContent = lines.join('\n') + } + if (r.ok) { hideOverlay(); return true } + showOverlay(); return false + } catch (_) { showOverlay(); return false } + } + const init = async () => { + await loadConfig() + await handleTokenInUrl() + await handshake() + } + if (document.readyState === 'complete' || document.readyState === 'interactive') { + init() + } else { + document.addEventListener('DOMContentLoaded', init) + } +})() diff --git a/public/assets/auth_config.json b/public/assets/auth_config.json new file mode 100644 index 0000000..0435725 --- /dev/null +++ b/public/assets/auth_config.json @@ -0,0 +1,7 @@ +{ + "_comment": "公共静态资源下,与 Rebalance 相关的 JWT 鉴权配置", + "cookieName_comment": "用于识别已登录用户的 JWT cookie 名称", + "cookieName": "rebalance_jwt", + "enableCookieAuth_comment": "true:启用基于 cookie 的鉴权;false:不校验登录状态", + "enableCookieAuth": true +} diff --git a/public/common/common.css b/public/common/common.css new file mode 100644 index 0000000..f8d5649 --- /dev/null +++ b/public/common/common.css @@ -0,0 +1,19 @@ +* { box-sizing: border-box } +body { margin: 0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif } +.topbar { display: flex; justify-content: space-between; align-items: center; padding: 8px 12px; border-bottom: 1px solid #ddd; position: sticky; top: 0; background: #fff; z-index: 10 } +.tabs { display: flex; gap: 8px } +.tab { border: none; background: #f5f5f5; padding: 8px 12px; border-radius: 8px; cursor: pointer; text-decoration: none; color: inherit } +.tab.active { background: #222; color: #fff } +.settings { border: none; background: #fff; padding: 6px 10px; border: 1px solid #222; border-radius: 6px; cursor: pointer } +main { padding: 12px } +.modal { position: fixed; inset: 0; display: grid; place-items: center; background: rgba(0,0,0,0.35); z-index: 1000 } +.hidden { display: none } +.modal-body { background: #fff; width: 520px; max-width: 90vw; border-radius: 10px; padding: 16px; display: grid; gap: 8px } +.modal-actions { display: flex; justify-content: flex-end; gap: 8px } +mark { background: #ffe58f } +.kw-0 { background: #ffe58f } +.kw-1 { background: #ffd6e7 } +.kw-2 { background: #d6f5ff } +.kw-3 { background: #d9f7be } +.kw-4 { background: #fff1b8 } +.kw-5 { background: #efdbff } diff --git a/public/common/common.js b/public/common/common.js new file mode 100644 index 0000000..f7009ec --- /dev/null +++ b/public/common/common.js @@ -0,0 +1,61 @@ +const el = id => document.getElementById(id) +const highlight = (text, terms) => { + if (!terms || terms.length === 0) return text + let s = text + terms.forEach((t, i) => { + const cls = `kw-${i % 6}` + const re = new RegExp(`(${t.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')})`, 'gi') + s = s.replace(re, `$1`) + }) + return s +} + +const fmtCNDateTime = (d) => { + const date = d instanceof Date ? d : new Date() + try { + const s = new Intl.DateTimeFormat('zh-CN', { timeZone: 'Asia/Shanghai', year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit', hour12: false }).format(date) + return s.replace(/\//g, '-').replace(/\u200E/g, '') + } catch { + const pad = n => String(n).padStart(2, '0') + const y = date.getFullYear(), m = pad(date.getMonth()+1), day = pad(date.getDate()), hh = pad(date.getHours()), mm = pad(date.getMinutes()), ss = pad(date.getSeconds()) + return `${y}-${m}-${day} ${hh}:${mm}:${ss}` + } +} + +const fmtCNSimpleTime = (d) => { + const date = d instanceof Date ? d : new Date() + try { + const s = new Intl.DateTimeFormat('zh-CN', { timeZone: 'Asia/Shanghai', hour: '2-digit', minute: '2-digit', hour12: false }).format(date) + return s.replace(/\u200E/g, '') + } catch { + const pad = n => String(n).padStart(2, '0') + return `${pad(date.getHours())}:${pad(date.getMinutes())}` + } +} + +const cnDateStr = (d) => { + const date = d instanceof Date ? d : new Date() + try { + const s = new Intl.DateTimeFormat('zh-CN', { timeZone: 'Asia/Shanghai', year: 'numeric', month: '2-digit', day: '2-digit' }).format(date) + return s.replace(/\//g, '-').replace(/\u200E/g, '') + } catch { + const pad = n => String(n).padStart(2, '0') + return `${date.getFullYear()}-${pad(date.getMonth()+1)}-${pad(date.getDate())}` + } +} + +window.fmtCNDateTime = fmtCNDateTime +window.fmtCNSimpleTime = fmtCNSimpleTime +window.cnDateStr = cnDateStr + +;(function handleSetToken() { + try { + const u = new URL(window.location.href) + const token = u.searchParams.get('set_token') + if (token) { + localStorage.setItem('toolbox_creds_token', token) + u.searchParams.delete('set_token') + window.history.replaceState(null, '', u.toString()) + } + } catch {} +})() diff --git a/public/common/icons_list.json b/public/common/icons_list.json new file mode 100644 index 0000000..d648c34 --- /dev/null +++ b/public/common/icons_list.json @@ -0,0 +1,1081 @@ +[ + "10.png", + "11.png", + "12.png", + "13.png", + "14.png", + "15.png", + "16.png", + "17.png", + "18.png", + "19.png", + "2.png", + "20.png", + "21.png", + "22.png", + "23.png", + "24.png", + "25.png", + "26.png", + "27.png", + "28.png", + "29.png", + "3.png", + "30.png", + "31.png", + "32.png", + "33.png", + "34.png", + "35.png", + "36.png", + "37.png", + "38.png", + "39.png", + "4.png", + "40.png", + "41.png", + "42.png", + "43.png", + "44.png", + "45.png", + "46.png", + "47.png", + "48.png", + "49.png", + "5.png", + "50.png", + "51.png", + "52.png", + "53.png", + "54.png", + "55.png", + "56.png", + "57.png", + "58.png", + "59.png", + "6.png", + "60.png", + "61.png", + "62.png", + "63.png", + "64.png", + "65.png", + "66.png", + "67.png", + "68.png", + "69.png", + "7.png", + "70.png", + "71.png", + "72.png", + "73.png", + "74.png", + "75.png", + "76.png", + "77.png", + "8.png", + "9.png", + "accept.png", + "add.png", + "anchor.png", + "application.png", + "application_add.png", + "application_cascade.png", + "application_delete.png", + "application_double.png", + "application_edit.png", + "application_error.png", + "application_form.png", + "application_form_add.png", + "application_form_delete.png", + "application_form_edit.png", + "application_form_magnify.png", + "application_get.png", + "application_go.png", + "application_home.png", + "application_key.png", + "application_lightning.png", + "application_link.png", + "application_osx.png", + "application_osx_terminal.png", + "application_put.png", + "application_side_boxes.png", + "application_side_contract.png", + "application_side_expand.png", + "application_side_list.png", + "application_side_tree.png", + "application_split.png", + "application_tile_horizontal.png", + "application_tile_vertical.png", + "application_view_columns.png", + "application_view_detail.png", + "application_view_gallery.png", + "application_view_icons.png", + "application_view_list.png", + "application_view_tile.png", + "application_xp.png", + "application_xp_terminal.png", + "arrow_branch.png", + "arrow_divide.png", + "arrow_down.png", + "arrow_in.png", + "arrow_inout.png", + "arrow_join.png", + "arrow_left.png", + "arrow_merge.png", + "arrow_out.png", + "arrow_redo.png", + "arrow_refresh.png", + "arrow_refresh_small.png", + "arrow_right.png", + "arrow_rotate_anticlockwise.png", + "arrow_rotate_clockwise.png", + "arrow_switch.png", + "arrow_turn_left.png", + "arrow_turn_right.png", + "arrow_undo.png", + "arrow_up.png", + "asterisk_orange.png", + "asterisk_yellow.png", + "attach.png", + "award_star_add.png", + "award_star_bronze_1.png", + "award_star_bronze_2.png", + "award_star_bronze_3.png", + "award_star_delete.png", + "award_star_gold_1.png", + "award_star_gold_2.png", + "award_star_gold_3.png", + "award_star_silver_1.png", + "award_star_silver_2.png", + "award_star_silver_3.png", + "basket.png", + "basket_add.png", + "basket_delete.png", + "basket_edit.png", + "basket_error.png", + "basket_go.png", + "basket_put.png", + "basket_remove.png", + "bell.png", + "bell_add.png", + "bell_delete.png", + "bell_error.png", + "bell_go.png", + "bell_link.png", + "bin.png", + "bin_closed.png", + "bin_empty.png", + "bomb.png", + "book.png", + "book_add.png", + "book_addresses.png", + "book_delete.png", + "book_edit.png", + "book_error.png", + "book_go.png", + "book_key.png", + "book_link.png", + "book_next.png", + "book_open.png", + "book_previous.png", + "box.png", + "brick.png", + "bricks.png", + "brick_add.png", + "brick_delete.png", + "brick_edit.png", + "brick_error.png", + "brick_go.png", + "brick_link.png", + "briefcase.png", + "bug.png", + "bug_add.png", + "bug_delete.png", + "bug_edit.png", + "bug_error.png", + "bug_go.png", + "bug_link.png", + "building.png", + "building_add.png", + "building_delete.png", + "building_edit.png", + "building_error.png", + "building_go.png", + "building_key.png", + "building_link.png", + "bullet_add.png", + "bullet_arrow_bottom.png", + "bullet_arrow_down.png", + "bullet_arrow_top.png", + "bullet_arrow_up.png", + "bullet_black.png", + "bullet_blue.png", + "bullet_delete.png", + "bullet_disk.png", + "bullet_error.png", + "bullet_feed.png", + "bullet_go.png", + "bullet_green.png", + "bullet_key.png", + "bullet_orange.png", + "bullet_picture.png", + "bullet_pink.png", + "bullet_purple.png", + "bullet_red.png", + "bullet_star.png", + "bullet_toggle_minus.png", + "bullet_toggle_plus.png", + "bullet_white.png", + "bullet_wrench.png", + "bullet_yellow.png", + "cake.png", + "calculator.png", + "calculator_add.png", + "calculator_delete.png", + "calculator_edit.png", + "calculator_error.png", + "calculator_link.png", + "calendar.png", + "calendar_add.png", + "calendar_delete.png", + "calendar_edit.png", + "calendar_link.png", + "calendar_view_day.png", + "calendar_view_month.png", + "calendar_view_week.png", + "camera.png", + "camera_add.png", + "camera_delete.png", + "camera_edit.png", + "camera_error.png", + "camera_go.png", + "camera_link.png", + "camera_small.png", + "cancel.png", + "car.png", + "cart.png", + "cart_add.png", + "cart_delete.png", + "cart_edit.png", + "cart_error.png", + "cart_go.png", + "cart_put.png", + "cart_remove.png", + "car_add.png", + "car_delete.png", + "cd.png", + "cd_add.png", + "cd_burn.png", + "cd_delete.png", + "cd_edit.png", + "cd_eject.png", + "cd_go.png", + "chart_bar.png", + "chart_bar_add.png", + "chart_bar_delete.png", + "chart_bar_edit.png", + "chart_bar_error.png", + "chart_bar_link.png", + "chart_curve.png", + "chart_curve_add.png", + "chart_curve_delete.png", + "chart_curve_edit.png", + "chart_curve_error.png", + "chart_curve_go.png", + "chart_curve_link.png", + "chart_line.png", + "chart_line_add.png", + "chart_line_delete.png", + "chart_line_edit.png", + "chart_line_error.png", + "chart_line_link.png", + "chart_organisation.png", + "chart_organisation_add.png", + "chart_organisation_delete.png", + "chart_pie.png", + "chart_pie_add.png", + "chart_pie_delete.png", + "chart_pie_edit.png", + "chart_pie_error.png", + "chart_pie_link.png", + "clock.png", + "clock_add.png", + "clock_delete.png", + "clock_edit.png", + "clock_error.png", + "clock_go.png", + "clock_link.png", + "clock_pause.png", + "clock_play.png", + "clock_red.png", + "clock_stop.png", + "cog.png", + "cog_add.png", + "cog_delete.png", + "cog_edit.png", + "cog_error.png", + "cog_go.png", + "coins.png", + "coins_add.png", + "coins_delete.png", + "color_swatch.png", + "color_wheel.png", + "comment.png", + "comments.png", + "comments_add.png", + "comments_delete.png", + "comment_add.png", + "comment_delete.png", + "comment_edit.png", + "compress.png", + "computer.png", + "computer_add.png", + "computer_delete.png", + "computer_edit.png", + "computer_error.png", + "computer_go.png", + "computer_key.png", + "computer_link.png", + "connect.png", + "contrast.png", + "contrast_decrease.png", + "contrast_high.png", + "contrast_increase.png", + "contrast_low.png", + "controller.png", + "controller_add.png", + "controller_delete.png", + "controller_error.png", + "control_eject.png", + "control_eject_blue.png", + "control_end.png", + "control_end_blue.png", + "control_equalizer.png", + "control_equalizer_blue.png", + "control_fastforward.png", + "control_fastforward_blue.png", + "control_pause.png", + "control_pause_blue.png", + "control_play.png", + "control_play_blue.png", + "control_repeat.png", + "control_repeat_blue.png", + "control_rewind.png", + "control_rewind_blue.png", + "control_start.png", + "control_start_blue.png", + "control_stop.png", + "control_stop_blue.png", + "creditcards.png", + "cross.png", + "css.png", + "css_add.png", + "css_delete.png", + "css_go.png", + "css_valid.png", + "cup.png", + "cup_add.png", + "cup_delete.png", + "cup_edit.png", + "cup_error.png", + "cup_go.png", + "cup_key.png", + "cup_link.png", + "cursor.png", + "cut.png", + "cut_red.png", + "database.png", + "database_add.png", + "database_connect.png", + "database_delete.png", + "database_edit.png", + "database_error.png", + "database_gear.png", + "database_go.png", + "database_key.png", + "database_lightning.png", + "database_link.png", + "database_refresh.png", + "database_save.png", + "database_table.png", + "date.png", + "date_add.png", + "date_delete.png", + "date_edit.png", + "date_error.png", + "date_go.png", + "date_link.png", + "date_magnify.png", + "date_next.png", + "date_previous.png", + "delete.png", + "disconnect.png", + "disk.png", + "disk_multiple.png", + "door.png", + "door_in.png", + "door_open.png", + "door_out.png", + "drink.png", + "drink_empty.png", + "drive.png", + "drive_add.png", + "drive_burn.png", + "drive_cd.png", + "drive_cd_empty.png", + "drive_delete.png", + "drive_disk.png", + "drive_edit.png", + "drive_error.png", + "drive_go.png", + "drive_key.png", + "drive_link.png", + "drive_magnify.png", + "drive_network.png", + "drive_rename.png", + "drive_user.png", + "drive_web.png", + "dvd.png", + "dvd_add.png", + "dvd_delete.png", + "dvd_edit.png", + "dvd_error.png", + "dvd_go.png", + "dvd_key.png", + "dvd_link.png", + "email.png", + "email_add.png", + "email_attach.png", + "email_delete.png", + "email_edit.png", + "email_error.png", + "email_go.png", + "email_link.png", + "email_open.png", + "email_open_image.png", + "emoticon_evilgrin.png", + "emoticon_grin.png", + "emoticon_happy.png", + "emoticon_smile.png", + "emoticon_surprised.png", + "emoticon_tongue.png", + "emoticon_unhappy.png", + "emoticon_waii.png", + "emoticon_wink.png", + "error.png", + "error_add.png", + "error_delete.png", + "error_go.png", + "exclamation.png", + "eye.png", + "famfamfam-silk.png", + "feed.png", + "feed_add.png", + "feed_delete.png", + "feed_disk.png", + "feed_edit.png", + "feed_error.png", + "feed_go.png", + "feed_key.png", + "feed_link.png", + "feed_magnify.png", + "female.png", + "film.png", + "film_add.png", + "film_delete.png", + "film_edit.png", + "film_error.png", + "film_go.png", + "film_key.png", + "film_link.png", + "film_save.png", + "find.png", + "flag_blue.png", + "flag_green.png", + "flag_orange.png", + "flag_pink.png", + "flag_purple.png", + "flag_red.png", + "flag_yellow.png", + "folder.png", + "folder_add.png", + "folder_bell.png", + "folder_brick.png", + "folder_bug.png", + "folder_camera.png", + "folder_database.png", + "folder_delete.png", + "folder_edit.png", + "folder_error.png", + "folder_explore.png", + "folder_feed.png", + "folder_find.png", + "folder_go.png", + "folder_heart.png", + "folder_image.png", + "folder_key.png", + "folder_lightbulb.png", + "folder_link.png", + "folder_magnify.png", + "folder_page.png", + "folder_page_white.png", + "folder_palette.png", + "folder_picture.png", + "folder_star.png", + "folder_table.png", + "folder_user.png", + "folder_wrench.png", + "font.png", + "font_add.png", + "font_delete.png", + "font_go.png", + "group.png", + "group_add.png", + "group_delete.png", + "group_edit.png", + "group_error.png", + "group_gear.png", + "group_go.png", + "group_key.png", + "group_link.png", + "heart.png", + "heart_add.png", + "heart_delete.png", + "help.png", + "hourglass.png", + "hourglass_add.png", + "hourglass_delete.png", + "hourglass_go.png", + "hourglass_link.png", + "house.png", + "house_go.png", + "house_link.png", + "html.png", + "html_add.png", + "html_delete.png", + "html_go.png", + "html_valid.png", + "image.png", + "images.png", + "image_add.png", + "image_delete.png", + "image_edit.png", + "image_link.png", + "information.png", + "ipod.png", + "ipod_cast.png", + "ipod_cast_add.png", + "ipod_cast_delete.png", + "ipod_sound.png", + "joystick.png", + "joystick_add.png", + "joystick_delete.png", + "joystick_error.png", + "key.png", + "keyboard.png", + "keyboard_add.png", + "keyboard_delete.png", + "keyboard_magnify.png", + "key_add.png", + "key_delete.png", + "key_go.png", + "layers.png", + "layout.png", + "layout_add.png", + "layout_content.png", + "layout_delete.png", + "layout_edit.png", + "layout_error.png", + "layout_header.png", + "layout_link.png", + "layout_sidebar.png", + "lightbulb.png", + "lightbulb_add.png", + "lightbulb_delete.png", + "lightbulb_off.png", + "lightning.png", + "lightning_add.png", + "lightning_delete.png", + "lightning_go.png", + "link.png", + "link_add.png", + "link_break.png", + "link_delete.png", + "link_edit.png", + "link_error.png", + "link_go.png", + "lock.png", + "lock_add.png", + "lock_break.png", + "lock_delete.png", + "lock_edit.png", + "lock_go.png", + "lock_open.png", + "lorry.png", + "lorry_add.png", + "lorry_delete.png", + "lorry_error.png", + "lorry_flatbed.png", + "lorry_go.png", + "lorry_link.png", + "magifier_zoom_out.png", + "magnifier.png", + "magnifier_zoom_in.png", + "male.png", + "map.png", + "map_add.png", + "map_delete.png", + "map_edit.png", + "map_go.png", + "map_magnify.png", + "medal_bronze_1.png", + "medal_bronze_2.png", + "medal_bronze_3.png", + "medal_bronze_add.png", + "medal_bronze_delete.png", + "medal_gold_1.png", + "medal_gold_2.png", + "medal_gold_3.png", + "medal_gold_add.png", + "medal_gold_delete.png", + "medal_silver_1.png", + "medal_silver_2.png", + "medal_silver_3.png", + "medal_silver_add.png", + "medal_silver_delete.png", + "money.png", + "money_add.png", + "money_delete.png", + "money_dollar.png", + "money_euro.png", + "money_pound.png", + "money_yen.png", + "monitor.png", + "monitor_add.png", + "monitor_delete.png", + "monitor_edit.png", + "monitor_error.png", + "monitor_go.png", + "monitor_lightning.png", + "monitor_link.png", + "mouse.png", + "mouse_add.png", + "mouse_delete.png", + "mouse_error.png", + "music.png", + "new.png", + "newspaper.png", + "newspaper_add.png", + "newspaper_delete.png", + "newspaper_go.png", + "newspaper_link.png", + "note.png", + "note_add.png", + "note_delete.png", + "note_edit.png", + "note_error.png", + "note_go.png", + "overlays.png", + "package.png", + "package_add.png", + "package_delete.png", + "package_go.png", + "package_green.png", + "package_link.png", + "page.png", + "page_add.png", + "page_attach.png", + "page_code.png", + "page_copy.png", + "page_delete.png", + "page_edit.png", + "page_error.png", + "page_excel.png", + "page_find.png", + "page_gear.png", + "page_go.png", + "page_green.png", + "page_key.png", + "page_lightning.png", + "page_link.png", + "page_paintbrush.png", + "page_paste.png", + "page_red.png", + "page_refresh.png", + "page_save.png", + "page_white.png", + "page_white_acrobat.png", + "page_white_actionscript.png", + "page_white_add.png", + "page_white_c.png", + "page_white_camera.png", + "page_white_cd.png", + "page_white_code.png", + "page_white_code_red.png", + "page_white_coldfusion.png", + "page_white_compressed.png", + "page_white_copy.png", + "page_white_cplusplus.png", + "page_white_csharp.png", + "page_white_cup.png", + "page_white_database.png", + "page_white_delete.png", + "page_white_dvd.png", + "page_white_edit.png", + "page_white_error.png", + "page_white_excel.png", + "page_white_find.png", + "page_white_flash.png", + "page_white_freehand.png", + "page_white_gear.png", + "page_white_get.png", + "page_white_go.png", + "page_white_h.png", + "page_white_horizontal.png", + "page_white_key.png", + "page_white_lightning.png", + "page_white_link.png", + "page_white_magnify.png", + "page_white_medal.png", + "page_white_office.png", + "page_white_paint.png", + "page_white_paintbrush.png", + "page_white_paste.png", + "page_white_php.png", + "page_white_picture.png", + "page_white_powerpoint.png", + "page_white_put.png", + "page_white_ruby.png", + "page_white_stack.png", + "page_white_star.png", + "page_white_swoosh.png", + "page_white_text.png", + "page_white_text_width.png", + "page_white_tux.png", + "page_white_vector.png", + "page_white_visualstudio.png", + "page_white_width.png", + "page_white_word.png", + "page_white_world.png", + "page_white_wrench.png", + "page_white_zip.png", + "page_word.png", + "page_world.png", + "paintbrush.png", + "paintcan.png", + "palette.png", + "paste_plain.png", + "paste_word.png", + "pencil.png", + "pencil_add.png", + "pencil_delete.png", + "pencil_go.png", + "phone.png", + "phone_add.png", + "phone_delete.png", + "phone_sound.png", + "photo.png", + "photos.png", + "photo_add.png", + "photo_delete.png", + "photo_link.png", + "picture.png", + "pictures.png", + "picture_add.png", + "picture_delete.png", + "picture_edit.png", + "picture_empty.png", + "picture_error.png", + "picture_go.png", + "picture_key.png", + "picture_link.png", + "picture_save.png", + "pilcrow.png", + "pill.png", + "pill_add.png", + "pill_delete.png", + "pill_go.png", + "plugin.png", + "plugin_add.png", + "plugin_delete.png", + "plugin_disabled.png", + "plugin_edit.png", + "plugin_error.png", + "plugin_go.png", + "plugin_link.png", + "printer.png", + "printer_add.png", + "printer_delete.png", + "printer_empty.png", + "printer_error.png", + "rainbow.png", + "report.png", + "report_add.png", + "report_delete.png", + "report_disk.png", + "report_edit.png", + "report_go.png", + "report_key.png", + "report_link.png", + "report_magnify.png", + "report_picture.png", + "report_user.png", + "report_word.png", + "resultset_first.png", + "resultset_last.png", + "resultset_next.png", + "resultset_previous.png", + "rosette.png", + "rss.png", + "rss_add.png", + "rss_delete.png", + "rss_go.png", + "rss_valid.png", + "ruby.png", + "ruby_add.png", + "ruby_delete.png", + "ruby_gear.png", + "ruby_get.png", + "ruby_go.png", + "ruby_key.png", + "ruby_link.png", + "ruby_put.png", + "script.png", + "script_add.png", + "script_code.png", + "script_code_red.png", + "script_delete.png", + "script_edit.png", + "script_error.png", + "script_gear.png", + "script_go.png", + "script_key.png", + "script_lightning.png", + "script_link.png", + "script_palette.png", + "script_save.png", + "server.png", + "server_add.png", + "server_chart.png", + "server_compressed.png", + "server_connect.png", + "server_database.png", + "server_delete.png", + "server_edit.png", + "server_error.png", + "server_go.png", + "server_key.png", + "server_lightning.png", + "server_link.png", + "server_uncompressed.png", + "shading.png", + "shape_align_bottom.png", + "shape_align_center.png", + "shape_align_left.png", + "shape_align_middle.png", + "shape_align_right.png", + "shape_align_top.png", + "shape_flip_horizontal.png", + "shape_flip_vertical.png", + "shape_group.png", + "shape_handles.png", + "shape_move_back.png", + "shape_move_backwards.png", + "shape_move_forwards.png", + "shape_move_front.png", + "shape_rotate_anticlockwise.png", + "shape_rotate_clockwise.png", + "shape_square.png", + "shape_square_add.png", + "shape_square_delete.png", + "shape_square_edit.png", + "shape_square_error.png", + "shape_square_go.png", + "shape_square_key.png", + "shape_square_link.png", + "shape_ungroup.png", + "shield.png", + "shield_add.png", + "shield_delete.png", + "shield_go.png", + "sitemap.png", + "sitemap_color.png", + "sound.png", + "sound_add.png", + "sound_delete.png", + "sound_low.png", + "sound_mute.png", + "sound_none.png", + "spellcheck.png", + "sport_8ball.png", + "sport_basketball.png", + "sport_football.png", + "sport_golf.png", + "sport_raquet.png", + "sport_shuttlecock.png", + "sport_soccer.png", + "sport_tennis.png", + "star.png", + "status_away.png", + "status_busy.png", + "status_offline.png", + "status_online.png", + "stop.png", + "style.png", + "style_add.png", + "style_delete.png", + "style_edit.png", + "style_go.png", + "sum.png", + "tab.png", + "table.png", + "table_add.png", + "table_delete.png", + "table_edit.png", + "table_error.png", + "table_gear.png", + "table_go.png", + "table_key.png", + "table_lightning.png", + "table_link.png", + "table_multiple.png", + "table_refresh.png", + "table_relationship.png", + "table_row_delete.png", + "table_row_insert.png", + "table_save.png", + "table_sort.png", + "tab_add.png", + "tab_delete.png", + "tab_edit.png", + "tab_go.png", + "tag.png", + "tag_blue.png", + "tag_blue_add.png", + "tag_blue_delete.png", + "tag_blue_edit.png", + "tag_green.png", + "tag_orange.png", + "tag_pink.png", + "tag_purple.png", + "tag_red.png", + "tag_yellow.png", + "telephone.png", + "telephone_add.png", + "telephone_delete.png", + "telephone_edit.png", + "telephone_error.png", + "telephone_go.png", + "telephone_key.png", + "telephone_link.png", + "television.png", + "television_add.png", + "television_delete.png", + "textfield.png", + "textfield_add.png", + "textfield_delete.png", + "textfield_key.png", + "textfield_rename.png", + "text_align_center.png", + "text_align_justify.png", + "text_align_left.png", + "text_align_right.png", + "text_allcaps.png", + "text_bold.png", + "text_columns.png", + "text_dropcaps.png", + "text_heading_1.png", + "text_heading_2.png", + "text_heading_3.png", + "text_heading_4.png", + "text_heading_5.png", + "text_heading_6.png", + "text_horizontalrule.png", + "text_indent.png", + "text_indent_remove.png", + "text_italic.png", + "text_kerning.png", + "text_letterspacing.png", + "text_letter_omega.png", + "text_linespacing.png", + "text_list_bullets.png", + "text_list_numbers.png", + "text_lowercase.png", + "text_padding_bottom.png", + "text_padding_left.png", + "text_padding_right.png", + "text_padding_top.png", + "text_replace.png", + "text_signature.png", + "text_smallcaps.png", + "text_strikethrough.png", + "text_subscript.png", + "text_superscript.png", + "text_underline.png", + "text_uppercase.png", + "thumb_down.png", + "thumb_up.png", + "tick.png", + "time.png", + "timeline_marker.png", + "time_add.png", + "time_delete.png", + "time_go.png", + "transmit.png", + "transmit_add.png", + "transmit_blue.png", + "transmit_delete.png", + "transmit_edit.png", + "transmit_error.png", + "transmit_go.png", + "tux.png", + "twitter_tool.png", + "user.png", + "user_add.png", + "user_comment.png", + "user_delete.png", + "user_edit.png", + "user_female.png", + "user_go.png", + "user_gray.png", + "user_green.png", + "user_orange.png", + "user_red.png", + "user_suit.png", + "vcard.png", + "vcard_add.png", + "vcard_delete.png", + "vcard_edit.png", + "vector.png", + "vector_add.png", + "vector_delete.png", + "wand.png", + "weather_clouds.png", + "weather_cloudy.png", + "weather_lightning.png", + "weather_rain.png", + "weather_snow.png", + "weather_sun.png", + "webcam.png", + "webcam_add.png", + "webcam_delete.png", + "webcam_error.png", + "weibo.png", + "world.png", + "world_add.png", + "world_delete.png", + "world_edit.png", + "world_go.png", + "world_link.png", + "wrench.png", + "wrench_orange.png", + "xhtml.png", + "xhtml_add.png", + "xhtml_delete.png", + "xhtml_go.png", + "xhtml_valid.png", + "zoom.png", + "zoom_in.png", + "zoom_out.png" +] \ No newline at end of file diff --git a/public/common/nav.html b/public/common/nav.html new file mode 100644 index 0000000..2a5399d --- /dev/null +++ b/public/common/nav.html @@ -0,0 +1,16 @@ +
+ +
diff --git a/public/common/nav.js b/public/common/nav.js new file mode 100644 index 0000000..f13ce9f --- /dev/null +++ b/public/common/nav.js @@ -0,0 +1,26 @@ +(async function(){ + try { + const wrap = document.querySelector('#topbar') + if (!wrap) return + const res = await fetch('/common/nav.html') + const html = await res.text() + wrap.innerHTML = html + const path = location.pathname.toLowerCase() + let key = '' + if (path.includes('/tools/weibo/')) key = 'weibo' + else if (path.includes('/tools/markets/')) key = 'markets' + else if (path.includes('/tools/wall/')) key = 'wall' + else if (path.includes('/tools/funds/')) key = 'funds' + else if (path.includes('/tools/ccb_private_funds/')) key = 'ccb_private_funds' + else if (path.includes('/tools/cloud/')) key = 'cloud' + else if (path.includes('/tools/weekly/')) key = 'weekly' + else if (path.includes('/tools/ai-lib/')) key = 'ai-lib' + else if (path.includes('/tools/expense/')) key = 'expense' + if (key) { + wrap.querySelectorAll('a.tab').forEach(a => { + if (a.dataset.key === key) a.classList.add('active') + else a.classList.remove('active') + }) + } + } catch {} +})() diff --git a/public/common/nav.json b/public/common/nav.json new file mode 100644 index 0000000..e4aa2c5 --- /dev/null +++ b/public/common/nav.json @@ -0,0 +1,128 @@ +[ + + { + "name": "地下偶像相关揭示板", + "url": "https://m.weibo.cn/u/7716940453", + "icon": "text_italic.png" + },{ + "name": "世界树剧场", + "url": "https://m.weibo.cn/u/7925328421", + "icon": "user_go.png" + }, + { + "name": "育音堂", + "url": "https://weibo.com/u/1802208671", + "icon": "weather_sun.png" + }, + { + "name": "X下载利器", + "url": "https://ssstwitter.com/", + "icon": "twitter_tool.png" + }, + { + "name": "上海地下偶像联盟", + "url": "https://m.weibo.cn/u/7912812433", + "icon": "weibo.png" + }, + { + "name": "免费ICON", + "url": "https://igoutu.cn/icons", + "icon": "" + }, + + { + "name": "培训/导航/LOGO", + "url": "http://112.74.31.221:8888/default.html", + "icon": "HDA.png" + }, + { + "name": "Git 服务器", + "url": "http://47.101.56.101:8998/Home/LogOn?ReturnUrl=%2F", + "icon": "HDA.png" + }, + { + "name": "禅道 项目系统", + "url": "http://112.74.31.221:82/zentao/user-login-L3plbnRhby9teS5odG1s.html", + "icon": "HDA.png" + }, + { + "name": "阿里云-合规报告", + "url": "https://security.aliyun.com/trust-center/compliance?spm=5176.32436255.J_JIpOXHuIiVOM6_FDQtQLN.2.377618c54gQlJa", + "icon": "aliyun.png" + }, + { + "name": "硅谷-阿里合同", + "url": "https://traesite.umersoft.com:8975/download_files/%E9%98%BF%E9%87%8C%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%8D%8F%E8%AE%AE.pdf", + "icon": "aliyun.png" + }, + { + "name": "在线MP3播放", + "url": "https://music.cpp-prog.com", + "icon": "music.png" + }, + { + "name": "上海市医疗器械追溯报告系统", + "url": "https://zssb.yjj.sh.gov.cn", + "icon": "GOV.png" + }, + { + "name": "虚拟显示器,USB-MMIDD 驱动", + "url": "https://traesite.umersoft.com:8975/download_files/usbmmidd_v2.zip", + "icon": "download.png" + }, + { + "name": "CHROME纯净版X64", + "url": "https://traesite.umersoft.com:8975/download_files/ChromeStandaloneSetup64.exe", + "icon": "download.png" + }, + { + "name": "测试长标题如果不指定图标", + "url": "#", + "icon": "" + }, + { + "name": "测试长标题如果不指定图标", + "url": "#", + "icon": "" + }, + { + "name": "测试长标题如果不指定图标", + "url": "#", + "icon": "" + }, + { + "name": "测试长标题如果不指定图标", + "url": "#", + "icon": "" + }, + { + "name": "测试长标题如果不指定图标", + "url": "#", + "icon": "" + }, + { + "name": "测试长标题如果不指定图标", + "url": "#", + "icon": "" + }, + { + "name": "测试长标题如果不指定图标", + "url": "#", + "icon": "" + }, + { + "name": "测试长标题如果不指定图标", + "url": "#", + "icon": "" + }, + { + "name": "测试长标题如果不指定图标", + "url": "#", + "icon": "" + }, + { + "name": "测试长标题如果不指定图标", + "url": "#", + "icon": "" + } +] \ No newline at end of file diff --git a/public/icons/16X16PNG/10.png b/public/icons/16X16PNG/10.png new file mode 100644 index 0000000..2e39325 Binary files /dev/null and b/public/icons/16X16PNG/10.png differ diff --git a/public/icons/16X16PNG/11.png b/public/icons/16X16PNG/11.png new file mode 100644 index 0000000..cf78439 Binary files /dev/null and b/public/icons/16X16PNG/11.png differ diff --git a/public/icons/16X16PNG/12.png b/public/icons/16X16PNG/12.png new file mode 100644 index 0000000..9f3d05f Binary files /dev/null and b/public/icons/16X16PNG/12.png differ diff --git a/public/icons/16X16PNG/13.png b/public/icons/16X16PNG/13.png new file mode 100644 index 0000000..55741ce Binary files /dev/null and b/public/icons/16X16PNG/13.png differ diff --git a/public/icons/16X16PNG/14.png b/public/icons/16X16PNG/14.png new file mode 100644 index 0000000..a26129f Binary files /dev/null and b/public/icons/16X16PNG/14.png differ diff --git a/public/icons/16X16PNG/15.png b/public/icons/16X16PNG/15.png new file mode 100644 index 0000000..6cb0bc8 Binary files /dev/null and b/public/icons/16X16PNG/15.png differ diff --git a/public/icons/16X16PNG/16.png b/public/icons/16X16PNG/16.png new file mode 100644 index 0000000..f1575d1 Binary files /dev/null and b/public/icons/16X16PNG/16.png differ diff --git a/public/icons/16X16PNG/17.png b/public/icons/16X16PNG/17.png new file mode 100644 index 0000000..5c90524 Binary files /dev/null and b/public/icons/16X16PNG/17.png differ diff --git a/public/icons/16X16PNG/18.png b/public/icons/16X16PNG/18.png new file mode 100644 index 0000000..46c3584 Binary files /dev/null and b/public/icons/16X16PNG/18.png differ diff --git a/public/icons/16X16PNG/19.png b/public/icons/16X16PNG/19.png new file mode 100644 index 0000000..9309ec2 Binary files /dev/null and b/public/icons/16X16PNG/19.png differ diff --git a/public/icons/16X16PNG/2.png b/public/icons/16X16PNG/2.png new file mode 100644 index 0000000..e4baeee Binary files /dev/null and b/public/icons/16X16PNG/2.png differ diff --git a/public/icons/16X16PNG/20.png b/public/icons/16X16PNG/20.png new file mode 100644 index 0000000..89b627b Binary files /dev/null and b/public/icons/16X16PNG/20.png differ diff --git a/public/icons/16X16PNG/21.png b/public/icons/16X16PNG/21.png new file mode 100644 index 0000000..58b2002 Binary files /dev/null and b/public/icons/16X16PNG/21.png differ diff --git a/public/icons/16X16PNG/22.png b/public/icons/16X16PNG/22.png new file mode 100644 index 0000000..3a869f4 Binary files /dev/null and b/public/icons/16X16PNG/22.png differ diff --git a/public/icons/16X16PNG/23.png b/public/icons/16X16PNG/23.png new file mode 100644 index 0000000..24ce382 Binary files /dev/null and b/public/icons/16X16PNG/23.png differ diff --git a/public/icons/16X16PNG/24.png b/public/icons/16X16PNG/24.png new file mode 100644 index 0000000..1893ecb Binary files /dev/null and b/public/icons/16X16PNG/24.png differ diff --git a/public/icons/16X16PNG/25.png b/public/icons/16X16PNG/25.png new file mode 100644 index 0000000..bbe4cd4 Binary files /dev/null and b/public/icons/16X16PNG/25.png differ diff --git a/public/icons/16X16PNG/26.png b/public/icons/16X16PNG/26.png new file mode 100644 index 0000000..0ca682e Binary files /dev/null and b/public/icons/16X16PNG/26.png differ diff --git a/public/icons/16X16PNG/27.png b/public/icons/16X16PNG/27.png new file mode 100644 index 0000000..9b1f6b9 Binary files /dev/null and b/public/icons/16X16PNG/27.png differ diff --git a/public/icons/16X16PNG/28.png b/public/icons/16X16PNG/28.png new file mode 100644 index 0000000..cc1898e Binary files /dev/null and b/public/icons/16X16PNG/28.png differ diff --git a/public/icons/16X16PNG/29.png b/public/icons/16X16PNG/29.png new file mode 100644 index 0000000..a617828 Binary files /dev/null and b/public/icons/16X16PNG/29.png differ diff --git a/public/icons/16X16PNG/3.png b/public/icons/16X16PNG/3.png new file mode 100644 index 0000000..d0e27a7 Binary files /dev/null and b/public/icons/16X16PNG/3.png differ diff --git a/public/icons/16X16PNG/30.png b/public/icons/16X16PNG/30.png new file mode 100644 index 0000000..fc62858 Binary files /dev/null and b/public/icons/16X16PNG/30.png differ diff --git a/public/icons/16X16PNG/31.png b/public/icons/16X16PNG/31.png new file mode 100644 index 0000000..53c65da Binary files /dev/null and b/public/icons/16X16PNG/31.png differ diff --git a/public/icons/16X16PNG/32.png b/public/icons/16X16PNG/32.png new file mode 100644 index 0000000..19b0cc3 Binary files /dev/null and b/public/icons/16X16PNG/32.png differ diff --git a/public/icons/16X16PNG/33.png b/public/icons/16X16PNG/33.png new file mode 100644 index 0000000..2427d42 Binary files /dev/null and b/public/icons/16X16PNG/33.png differ diff --git a/public/icons/16X16PNG/34.png b/public/icons/16X16PNG/34.png new file mode 100644 index 0000000..5f0e1d5 Binary files /dev/null and b/public/icons/16X16PNG/34.png differ diff --git a/public/icons/16X16PNG/35.png b/public/icons/16X16PNG/35.png new file mode 100644 index 0000000..24e9e1a Binary files /dev/null and b/public/icons/16X16PNG/35.png differ diff --git a/public/icons/16X16PNG/36.png b/public/icons/16X16PNG/36.png new file mode 100644 index 0000000..5603476 Binary files /dev/null and b/public/icons/16X16PNG/36.png differ diff --git a/public/icons/16X16PNG/37.png b/public/icons/16X16PNG/37.png new file mode 100644 index 0000000..67ea570 Binary files /dev/null and b/public/icons/16X16PNG/37.png differ diff --git a/public/icons/16X16PNG/38.png b/public/icons/16X16PNG/38.png new file mode 100644 index 0000000..76128c4 Binary files /dev/null and b/public/icons/16X16PNG/38.png differ diff --git a/public/icons/16X16PNG/39.png b/public/icons/16X16PNG/39.png new file mode 100644 index 0000000..ae432da Binary files /dev/null and b/public/icons/16X16PNG/39.png differ diff --git a/public/icons/16X16PNG/4.png b/public/icons/16X16PNG/4.png new file mode 100644 index 0000000..3af1424 Binary files /dev/null and b/public/icons/16X16PNG/4.png differ diff --git a/public/icons/16X16PNG/40.png b/public/icons/16X16PNG/40.png new file mode 100644 index 0000000..513bc0b Binary files /dev/null and b/public/icons/16X16PNG/40.png differ diff --git a/public/icons/16X16PNG/41.png b/public/icons/16X16PNG/41.png new file mode 100644 index 0000000..1aa5eb0 Binary files /dev/null and b/public/icons/16X16PNG/41.png differ diff --git a/public/icons/16X16PNG/42.png b/public/icons/16X16PNG/42.png new file mode 100644 index 0000000..1b84789 Binary files /dev/null and b/public/icons/16X16PNG/42.png differ diff --git a/public/icons/16X16PNG/43.png b/public/icons/16X16PNG/43.png new file mode 100644 index 0000000..c84697e Binary files /dev/null and b/public/icons/16X16PNG/43.png differ diff --git a/public/icons/16X16PNG/44.png b/public/icons/16X16PNG/44.png new file mode 100644 index 0000000..6ca4e23 Binary files /dev/null and b/public/icons/16X16PNG/44.png differ diff --git a/public/icons/16X16PNG/45.png b/public/icons/16X16PNG/45.png new file mode 100644 index 0000000..fb35bb5 Binary files /dev/null and b/public/icons/16X16PNG/45.png differ diff --git a/public/icons/16X16PNG/46.png b/public/icons/16X16PNG/46.png new file mode 100644 index 0000000..5a12b5f Binary files /dev/null and b/public/icons/16X16PNG/46.png differ diff --git a/public/icons/16X16PNG/47.png b/public/icons/16X16PNG/47.png new file mode 100644 index 0000000..bc5dc86 Binary files /dev/null and b/public/icons/16X16PNG/47.png differ diff --git a/public/icons/16X16PNG/48.png b/public/icons/16X16PNG/48.png new file mode 100644 index 0000000..f5ba09a Binary files /dev/null and b/public/icons/16X16PNG/48.png differ diff --git a/public/icons/16X16PNG/49.png b/public/icons/16X16PNG/49.png new file mode 100644 index 0000000..019315a Binary files /dev/null and b/public/icons/16X16PNG/49.png differ diff --git a/public/icons/16X16PNG/5.png b/public/icons/16X16PNG/5.png new file mode 100644 index 0000000..51517ab Binary files /dev/null and b/public/icons/16X16PNG/5.png differ diff --git a/public/icons/16X16PNG/50.png b/public/icons/16X16PNG/50.png new file mode 100644 index 0000000..46af1b9 Binary files /dev/null and b/public/icons/16X16PNG/50.png differ diff --git a/public/icons/16X16PNG/51.png b/public/icons/16X16PNG/51.png new file mode 100644 index 0000000..7b19978 Binary files /dev/null and b/public/icons/16X16PNG/51.png differ diff --git a/public/icons/16X16PNG/52.png b/public/icons/16X16PNG/52.png new file mode 100644 index 0000000..6f6f946 Binary files /dev/null and b/public/icons/16X16PNG/52.png differ diff --git a/public/icons/16X16PNG/53.png b/public/icons/16X16PNG/53.png new file mode 100644 index 0000000..cbf128b Binary files /dev/null and b/public/icons/16X16PNG/53.png differ diff --git a/public/icons/16X16PNG/54.png b/public/icons/16X16PNG/54.png new file mode 100644 index 0000000..ccf75ab Binary files /dev/null and b/public/icons/16X16PNG/54.png differ diff --git a/public/icons/16X16PNG/55.png b/public/icons/16X16PNG/55.png new file mode 100644 index 0000000..75a5f44 Binary files /dev/null and b/public/icons/16X16PNG/55.png differ diff --git a/public/icons/16X16PNG/56.png b/public/icons/16X16PNG/56.png new file mode 100644 index 0000000..aedd859 Binary files /dev/null and b/public/icons/16X16PNG/56.png differ diff --git a/public/icons/16X16PNG/57.png b/public/icons/16X16PNG/57.png new file mode 100644 index 0000000..4b86cc7 Binary files /dev/null and b/public/icons/16X16PNG/57.png differ diff --git a/public/icons/16X16PNG/58.png b/public/icons/16X16PNG/58.png new file mode 100644 index 0000000..45fd744 Binary files /dev/null and b/public/icons/16X16PNG/58.png differ diff --git a/public/icons/16X16PNG/59.png b/public/icons/16X16PNG/59.png new file mode 100644 index 0000000..d294705 Binary files /dev/null and b/public/icons/16X16PNG/59.png differ diff --git a/public/icons/16X16PNG/6.png b/public/icons/16X16PNG/6.png new file mode 100644 index 0000000..ca0f992 Binary files /dev/null and b/public/icons/16X16PNG/6.png differ diff --git a/public/icons/16X16PNG/60.png b/public/icons/16X16PNG/60.png new file mode 100644 index 0000000..f2b49f9 Binary files /dev/null and b/public/icons/16X16PNG/60.png differ diff --git a/public/icons/16X16PNG/61.png b/public/icons/16X16PNG/61.png new file mode 100644 index 0000000..ffc2f09 Binary files /dev/null and b/public/icons/16X16PNG/61.png differ diff --git a/public/icons/16X16PNG/62.png b/public/icons/16X16PNG/62.png new file mode 100644 index 0000000..b03e49c Binary files /dev/null and b/public/icons/16X16PNG/62.png differ diff --git a/public/icons/16X16PNG/63.png b/public/icons/16X16PNG/63.png new file mode 100644 index 0000000..baa5dda Binary files /dev/null and b/public/icons/16X16PNG/63.png differ diff --git a/public/icons/16X16PNG/64.png b/public/icons/16X16PNG/64.png new file mode 100644 index 0000000..2a0ee7c Binary files /dev/null and b/public/icons/16X16PNG/64.png differ diff --git a/public/icons/16X16PNG/65.png b/public/icons/16X16PNG/65.png new file mode 100644 index 0000000..7c0aec3 Binary files /dev/null and b/public/icons/16X16PNG/65.png differ diff --git a/public/icons/16X16PNG/66.png b/public/icons/16X16PNG/66.png new file mode 100644 index 0000000..a5becb2 Binary files /dev/null and b/public/icons/16X16PNG/66.png differ diff --git a/public/icons/16X16PNG/67.png b/public/icons/16X16PNG/67.png new file mode 100644 index 0000000..189d4bd Binary files /dev/null and b/public/icons/16X16PNG/67.png differ diff --git a/public/icons/16X16PNG/68.png b/public/icons/16X16PNG/68.png new file mode 100644 index 0000000..4dec48f Binary files /dev/null and b/public/icons/16X16PNG/68.png differ diff --git a/public/icons/16X16PNG/69.png b/public/icons/16X16PNG/69.png new file mode 100644 index 0000000..5dde97e Binary files /dev/null and b/public/icons/16X16PNG/69.png differ diff --git a/public/icons/16X16PNG/7.png b/public/icons/16X16PNG/7.png new file mode 100644 index 0000000..710e30e Binary files /dev/null and b/public/icons/16X16PNG/7.png differ diff --git a/public/icons/16X16PNG/70.png b/public/icons/16X16PNG/70.png new file mode 100644 index 0000000..b785245 Binary files /dev/null and b/public/icons/16X16PNG/70.png differ diff --git a/public/icons/16X16PNG/71.png b/public/icons/16X16PNG/71.png new file mode 100644 index 0000000..6448c81 Binary files /dev/null and b/public/icons/16X16PNG/71.png differ diff --git a/public/icons/16X16PNG/72.png b/public/icons/16X16PNG/72.png new file mode 100644 index 0000000..2904e50 Binary files /dev/null and b/public/icons/16X16PNG/72.png differ diff --git a/public/icons/16X16PNG/73.png b/public/icons/16X16PNG/73.png new file mode 100644 index 0000000..fa030cf Binary files /dev/null and b/public/icons/16X16PNG/73.png differ diff --git a/public/icons/16X16PNG/74.png b/public/icons/16X16PNG/74.png new file mode 100644 index 0000000..64c406b Binary files /dev/null and b/public/icons/16X16PNG/74.png differ diff --git a/public/icons/16X16PNG/75.png b/public/icons/16X16PNG/75.png new file mode 100644 index 0000000..0a598b8 Binary files /dev/null and b/public/icons/16X16PNG/75.png differ diff --git a/public/icons/16X16PNG/76.png b/public/icons/16X16PNG/76.png new file mode 100644 index 0000000..72de9c9 Binary files /dev/null and b/public/icons/16X16PNG/76.png differ diff --git a/public/icons/16X16PNG/77.png b/public/icons/16X16PNG/77.png new file mode 100644 index 0000000..b8111f6 Binary files /dev/null and b/public/icons/16X16PNG/77.png differ diff --git a/public/icons/16X16PNG/8.png b/public/icons/16X16PNG/8.png new file mode 100644 index 0000000..45635ca Binary files /dev/null and b/public/icons/16X16PNG/8.png differ diff --git a/public/icons/16X16PNG/9.png b/public/icons/16X16PNG/9.png new file mode 100644 index 0000000..66b7b73 Binary files /dev/null and b/public/icons/16X16PNG/9.png differ diff --git a/public/icons/16X16PNG/HDA.png b/public/icons/16X16PNG/HDA.png new file mode 100644 index 0000000..bbf0d9d Binary files /dev/null and b/public/icons/16X16PNG/HDA.png differ diff --git a/public/icons/16X16PNG/accept.png b/public/icons/16X16PNG/accept.png new file mode 100644 index 0000000..89c8129 Binary files /dev/null and b/public/icons/16X16PNG/accept.png differ diff --git a/public/icons/16X16PNG/add.png b/public/icons/16X16PNG/add.png new file mode 100644 index 0000000..6332fef Binary files /dev/null and b/public/icons/16X16PNG/add.png differ diff --git a/public/icons/16X16PNG/aliyun.png b/public/icons/16X16PNG/aliyun.png new file mode 100644 index 0000000..2827298 Binary files /dev/null and b/public/icons/16X16PNG/aliyun.png differ diff --git a/public/icons/16X16PNG/anchor.png b/public/icons/16X16PNG/anchor.png new file mode 100644 index 0000000..9b3422c Binary files /dev/null and b/public/icons/16X16PNG/anchor.png differ diff --git a/public/icons/16X16PNG/application.png b/public/icons/16X16PNG/application.png new file mode 100644 index 0000000..1dee9e3 Binary files /dev/null and b/public/icons/16X16PNG/application.png differ diff --git a/public/icons/16X16PNG/application_add.png b/public/icons/16X16PNG/application_add.png new file mode 100644 index 0000000..2e94507 Binary files /dev/null and b/public/icons/16X16PNG/application_add.png differ diff --git a/public/icons/16X16PNG/application_cascade.png b/public/icons/16X16PNG/application_cascade.png new file mode 100644 index 0000000..da5c622 Binary files /dev/null and b/public/icons/16X16PNG/application_cascade.png differ diff --git a/public/icons/16X16PNG/application_delete.png b/public/icons/16X16PNG/application_delete.png new file mode 100644 index 0000000..0a335ac Binary files /dev/null and b/public/icons/16X16PNG/application_delete.png differ diff --git a/public/icons/16X16PNG/application_double.png b/public/icons/16X16PNG/application_double.png new file mode 100644 index 0000000..647592f Binary files /dev/null and b/public/icons/16X16PNG/application_double.png differ diff --git a/public/icons/16X16PNG/application_edit.png b/public/icons/16X16PNG/application_edit.png new file mode 100644 index 0000000..fb2efb8 Binary files /dev/null and b/public/icons/16X16PNG/application_edit.png differ diff --git a/public/icons/16X16PNG/application_error.png b/public/icons/16X16PNG/application_error.png new file mode 100644 index 0000000..b35fa57 Binary files /dev/null and b/public/icons/16X16PNG/application_error.png differ diff --git a/public/icons/16X16PNG/application_form.png b/public/icons/16X16PNG/application_form.png new file mode 100644 index 0000000..807b862 Binary files /dev/null and b/public/icons/16X16PNG/application_form.png differ diff --git a/public/icons/16X16PNG/application_form_add.png b/public/icons/16X16PNG/application_form_add.png new file mode 100644 index 0000000..28c2175 Binary files /dev/null and b/public/icons/16X16PNG/application_form_add.png differ diff --git a/public/icons/16X16PNG/application_form_delete.png b/public/icons/16X16PNG/application_form_delete.png new file mode 100644 index 0000000..cd305ec Binary files /dev/null and b/public/icons/16X16PNG/application_form_delete.png differ diff --git a/public/icons/16X16PNG/application_form_edit.png b/public/icons/16X16PNG/application_form_edit.png new file mode 100644 index 0000000..af486c9 Binary files /dev/null and b/public/icons/16X16PNG/application_form_edit.png differ diff --git a/public/icons/16X16PNG/application_form_magnify.png b/public/icons/16X16PNG/application_form_magnify.png new file mode 100644 index 0000000..7b7fbd1 Binary files /dev/null and b/public/icons/16X16PNG/application_form_magnify.png differ diff --git a/public/icons/16X16PNG/application_get.png b/public/icons/16X16PNG/application_get.png new file mode 100644 index 0000000..28e41ea Binary files /dev/null and b/public/icons/16X16PNG/application_get.png differ diff --git a/public/icons/16X16PNG/application_go.png b/public/icons/16X16PNG/application_go.png new file mode 100644 index 0000000..5cc2b0d Binary files /dev/null and b/public/icons/16X16PNG/application_go.png differ diff --git a/public/icons/16X16PNG/application_home.png b/public/icons/16X16PNG/application_home.png new file mode 100644 index 0000000..b60d0c8 Binary files /dev/null and b/public/icons/16X16PNG/application_home.png differ diff --git a/public/icons/16X16PNG/application_key.png b/public/icons/16X16PNG/application_key.png new file mode 100644 index 0000000..998d65c Binary files /dev/null and b/public/icons/16X16PNG/application_key.png differ diff --git a/public/icons/16X16PNG/application_lightning.png b/public/icons/16X16PNG/application_lightning.png new file mode 100644 index 0000000..7e91545 Binary files /dev/null and b/public/icons/16X16PNG/application_lightning.png differ diff --git a/public/icons/16X16PNG/application_link.png b/public/icons/16X16PNG/application_link.png new file mode 100644 index 0000000..f8fbb3e Binary files /dev/null and b/public/icons/16X16PNG/application_link.png differ diff --git a/public/icons/16X16PNG/application_osx.png b/public/icons/16X16PNG/application_osx.png new file mode 100644 index 0000000..9f022ec Binary files /dev/null and b/public/icons/16X16PNG/application_osx.png differ diff --git a/public/icons/16X16PNG/application_osx_terminal.png b/public/icons/16X16PNG/application_osx_terminal.png new file mode 100644 index 0000000..b3d8ce0 Binary files /dev/null and b/public/icons/16X16PNG/application_osx_terminal.png differ diff --git a/public/icons/16X16PNG/application_put.png b/public/icons/16X16PNG/application_put.png new file mode 100644 index 0000000..c30cf59 Binary files /dev/null and b/public/icons/16X16PNG/application_put.png differ diff --git a/public/icons/16X16PNG/application_side_boxes.png b/public/icons/16X16PNG/application_side_boxes.png new file mode 100644 index 0000000..efbf3c4 Binary files /dev/null and b/public/icons/16X16PNG/application_side_boxes.png differ diff --git a/public/icons/16X16PNG/application_side_contract.png b/public/icons/16X16PNG/application_side_contract.png new file mode 100644 index 0000000..3585f94 Binary files /dev/null and b/public/icons/16X16PNG/application_side_contract.png differ diff --git a/public/icons/16X16PNG/application_side_expand.png b/public/icons/16X16PNG/application_side_expand.png new file mode 100644 index 0000000..030cf7c Binary files /dev/null and b/public/icons/16X16PNG/application_side_expand.png differ diff --git a/public/icons/16X16PNG/application_side_list.png b/public/icons/16X16PNG/application_side_list.png new file mode 100644 index 0000000..248eaf1 Binary files /dev/null and b/public/icons/16X16PNG/application_side_list.png differ diff --git a/public/icons/16X16PNG/application_side_tree.png b/public/icons/16X16PNG/application_side_tree.png new file mode 100644 index 0000000..f04a52b Binary files /dev/null and b/public/icons/16X16PNG/application_side_tree.png differ diff --git a/public/icons/16X16PNG/application_split.png b/public/icons/16X16PNG/application_split.png new file mode 100644 index 0000000..a91c78a Binary files /dev/null and b/public/icons/16X16PNG/application_split.png differ diff --git a/public/icons/16X16PNG/application_tile_horizontal.png b/public/icons/16X16PNG/application_tile_horizontal.png new file mode 100644 index 0000000..8a1191c Binary files /dev/null and b/public/icons/16X16PNG/application_tile_horizontal.png differ diff --git a/public/icons/16X16PNG/application_tile_vertical.png b/public/icons/16X16PNG/application_tile_vertical.png new file mode 100644 index 0000000..1d40383 Binary files /dev/null and b/public/icons/16X16PNG/application_tile_vertical.png differ diff --git a/public/icons/16X16PNG/application_view_columns.png b/public/icons/16X16PNG/application_view_columns.png new file mode 100644 index 0000000..dc2e9d5 Binary files /dev/null and b/public/icons/16X16PNG/application_view_columns.png differ diff --git a/public/icons/16X16PNG/application_view_detail.png b/public/icons/16X16PNG/application_view_detail.png new file mode 100644 index 0000000..aba044b Binary files /dev/null and b/public/icons/16X16PNG/application_view_detail.png differ diff --git a/public/icons/16X16PNG/application_view_gallery.png b/public/icons/16X16PNG/application_view_gallery.png new file mode 100644 index 0000000..851950d Binary files /dev/null and b/public/icons/16X16PNG/application_view_gallery.png differ diff --git a/public/icons/16X16PNG/application_view_icons.png b/public/icons/16X16PNG/application_view_icons.png new file mode 100644 index 0000000..6a93cda Binary files /dev/null and b/public/icons/16X16PNG/application_view_icons.png differ diff --git a/public/icons/16X16PNG/application_view_list.png b/public/icons/16X16PNG/application_view_list.png new file mode 100644 index 0000000..acc30b8 Binary files /dev/null and b/public/icons/16X16PNG/application_view_list.png differ diff --git a/public/icons/16X16PNG/application_view_tile.png b/public/icons/16X16PNG/application_view_tile.png new file mode 100644 index 0000000..3bc0bd3 Binary files /dev/null and b/public/icons/16X16PNG/application_view_tile.png differ diff --git a/public/icons/16X16PNG/application_xp.png b/public/icons/16X16PNG/application_xp.png new file mode 100644 index 0000000..d22860a Binary files /dev/null and b/public/icons/16X16PNG/application_xp.png differ diff --git a/public/icons/16X16PNG/application_xp_terminal.png b/public/icons/16X16PNG/application_xp_terminal.png new file mode 100644 index 0000000..c28dd63 Binary files /dev/null and b/public/icons/16X16PNG/application_xp_terminal.png differ diff --git a/public/icons/16X16PNG/arrow_branch.png b/public/icons/16X16PNG/arrow_branch.png new file mode 100644 index 0000000..7542db1 Binary files /dev/null and b/public/icons/16X16PNG/arrow_branch.png differ diff --git a/public/icons/16X16PNG/arrow_divide.png b/public/icons/16X16PNG/arrow_divide.png new file mode 100644 index 0000000..61a7b1d Binary files /dev/null and b/public/icons/16X16PNG/arrow_divide.png differ diff --git a/public/icons/16X16PNG/arrow_down.png b/public/icons/16X16PNG/arrow_down.png new file mode 100644 index 0000000..2c4e279 Binary files /dev/null and b/public/icons/16X16PNG/arrow_down.png differ diff --git a/public/icons/16X16PNG/arrow_in.png b/public/icons/16X16PNG/arrow_in.png new file mode 100644 index 0000000..745c651 Binary files /dev/null and b/public/icons/16X16PNG/arrow_in.png differ diff --git a/public/icons/16X16PNG/arrow_inout.png b/public/icons/16X16PNG/arrow_inout.png new file mode 100644 index 0000000..1b76367 Binary files /dev/null and b/public/icons/16X16PNG/arrow_inout.png differ diff --git a/public/icons/16X16PNG/arrow_join.png b/public/icons/16X16PNG/arrow_join.png new file mode 100644 index 0000000..a128413 Binary files /dev/null and b/public/icons/16X16PNG/arrow_join.png differ diff --git a/public/icons/16X16PNG/arrow_left.png b/public/icons/16X16PNG/arrow_left.png new file mode 100644 index 0000000..5dc6967 Binary files /dev/null and b/public/icons/16X16PNG/arrow_left.png differ diff --git a/public/icons/16X16PNG/arrow_merge.png b/public/icons/16X16PNG/arrow_merge.png new file mode 100644 index 0000000..7502dbb Binary files /dev/null and b/public/icons/16X16PNG/arrow_merge.png differ diff --git a/public/icons/16X16PNG/arrow_out.png b/public/icons/16X16PNG/arrow_out.png new file mode 100644 index 0000000..2e9bc42 Binary files /dev/null and b/public/icons/16X16PNG/arrow_out.png differ diff --git a/public/icons/16X16PNG/arrow_redo.png b/public/icons/16X16PNG/arrow_redo.png new file mode 100644 index 0000000..fdc394c Binary files /dev/null and b/public/icons/16X16PNG/arrow_redo.png differ diff --git a/public/icons/16X16PNG/arrow_refresh.png b/public/icons/16X16PNG/arrow_refresh.png new file mode 100644 index 0000000..0de2656 Binary files /dev/null and b/public/icons/16X16PNG/arrow_refresh.png differ diff --git a/public/icons/16X16PNG/arrow_refresh_small.png b/public/icons/16X16PNG/arrow_refresh_small.png new file mode 100644 index 0000000..d3087df Binary files /dev/null and b/public/icons/16X16PNG/arrow_refresh_small.png differ diff --git a/public/icons/16X16PNG/arrow_right.png b/public/icons/16X16PNG/arrow_right.png new file mode 100644 index 0000000..b1a1819 Binary files /dev/null and b/public/icons/16X16PNG/arrow_right.png differ diff --git a/public/icons/16X16PNG/arrow_rotate_anticlockwise.png b/public/icons/16X16PNG/arrow_rotate_anticlockwise.png new file mode 100644 index 0000000..46c75aa Binary files /dev/null and b/public/icons/16X16PNG/arrow_rotate_anticlockwise.png differ diff --git a/public/icons/16X16PNG/arrow_rotate_clockwise.png b/public/icons/16X16PNG/arrow_rotate_clockwise.png new file mode 100644 index 0000000..aa65210 Binary files /dev/null and b/public/icons/16X16PNG/arrow_rotate_clockwise.png differ diff --git a/public/icons/16X16PNG/arrow_switch.png b/public/icons/16X16PNG/arrow_switch.png new file mode 100644 index 0000000..258c16c Binary files /dev/null and b/public/icons/16X16PNG/arrow_switch.png differ diff --git a/public/icons/16X16PNG/arrow_turn_left.png b/public/icons/16X16PNG/arrow_turn_left.png new file mode 100644 index 0000000..a3d6c9e Binary files /dev/null and b/public/icons/16X16PNG/arrow_turn_left.png differ diff --git a/public/icons/16X16PNG/arrow_turn_right.png b/public/icons/16X16PNG/arrow_turn_right.png new file mode 100644 index 0000000..629f20d Binary files /dev/null and b/public/icons/16X16PNG/arrow_turn_right.png differ diff --git a/public/icons/16X16PNG/arrow_undo.png b/public/icons/16X16PNG/arrow_undo.png new file mode 100644 index 0000000..6972c5e Binary files /dev/null and b/public/icons/16X16PNG/arrow_undo.png differ diff --git a/public/icons/16X16PNG/arrow_up.png b/public/icons/16X16PNG/arrow_up.png new file mode 100644 index 0000000..1ebb193 Binary files /dev/null and b/public/icons/16X16PNG/arrow_up.png differ diff --git a/public/icons/16X16PNG/asterisk_orange.png b/public/icons/16X16PNG/asterisk_orange.png new file mode 100644 index 0000000..1ebebde Binary files /dev/null and b/public/icons/16X16PNG/asterisk_orange.png differ diff --git a/public/icons/16X16PNG/asterisk_yellow.png b/public/icons/16X16PNG/asterisk_yellow.png new file mode 100644 index 0000000..bab7cc9 Binary files /dev/null and b/public/icons/16X16PNG/asterisk_yellow.png differ diff --git a/public/icons/16X16PNG/attach.png b/public/icons/16X16PNG/attach.png new file mode 100644 index 0000000..ea897cc Binary files /dev/null and b/public/icons/16X16PNG/attach.png differ diff --git a/public/icons/16X16PNG/award_star_add.png b/public/icons/16X16PNG/award_star_add.png new file mode 100644 index 0000000..9c4be9b Binary files /dev/null and b/public/icons/16X16PNG/award_star_add.png differ diff --git a/public/icons/16X16PNG/award_star_bronze_1.png b/public/icons/16X16PNG/award_star_bronze_1.png new file mode 100644 index 0000000..658c711 Binary files /dev/null and b/public/icons/16X16PNG/award_star_bronze_1.png differ diff --git a/public/icons/16X16PNG/award_star_bronze_2.png b/public/icons/16X16PNG/award_star_bronze_2.png new file mode 100644 index 0000000..e47babd Binary files /dev/null and b/public/icons/16X16PNG/award_star_bronze_2.png differ diff --git a/public/icons/16X16PNG/award_star_bronze_3.png b/public/icons/16X16PNG/award_star_bronze_3.png new file mode 100644 index 0000000..396e4b3 Binary files /dev/null and b/public/icons/16X16PNG/award_star_bronze_3.png differ diff --git a/public/icons/16X16PNG/award_star_delete.png b/public/icons/16X16PNG/award_star_delete.png new file mode 100644 index 0000000..4721b15 Binary files /dev/null and b/public/icons/16X16PNG/award_star_delete.png differ diff --git a/public/icons/16X16PNG/award_star_gold_1.png b/public/icons/16X16PNG/award_star_gold_1.png new file mode 100644 index 0000000..97a22b7 Binary files /dev/null and b/public/icons/16X16PNG/award_star_gold_1.png differ diff --git a/public/icons/16X16PNG/award_star_gold_2.png b/public/icons/16X16PNG/award_star_gold_2.png new file mode 100644 index 0000000..0eaa571 Binary files /dev/null and b/public/icons/16X16PNG/award_star_gold_2.png differ diff --git a/public/icons/16X16PNG/award_star_gold_3.png b/public/icons/16X16PNG/award_star_gold_3.png new file mode 100644 index 0000000..124c991 Binary files /dev/null and b/public/icons/16X16PNG/award_star_gold_3.png differ diff --git a/public/icons/16X16PNG/award_star_silver_1.png b/public/icons/16X16PNG/award_star_silver_1.png new file mode 100644 index 0000000..028a546 Binary files /dev/null and b/public/icons/16X16PNG/award_star_silver_1.png differ diff --git a/public/icons/16X16PNG/award_star_silver_2.png b/public/icons/16X16PNG/award_star_silver_2.png new file mode 100644 index 0000000..e487c3a Binary files /dev/null and b/public/icons/16X16PNG/award_star_silver_2.png differ diff --git a/public/icons/16X16PNG/award_star_silver_3.png b/public/icons/16X16PNG/award_star_silver_3.png new file mode 100644 index 0000000..1d72d47 Binary files /dev/null and b/public/icons/16X16PNG/award_star_silver_3.png differ diff --git a/public/icons/16X16PNG/basket.png b/public/icons/16X16PNG/basket.png new file mode 100644 index 0000000..b0686d7 Binary files /dev/null and b/public/icons/16X16PNG/basket.png differ diff --git a/public/icons/16X16PNG/basket_add.png b/public/icons/16X16PNG/basket_add.png new file mode 100644 index 0000000..3554368 Binary files /dev/null and b/public/icons/16X16PNG/basket_add.png differ diff --git a/public/icons/16X16PNG/basket_delete.png b/public/icons/16X16PNG/basket_delete.png new file mode 100644 index 0000000..1349974 Binary files /dev/null and b/public/icons/16X16PNG/basket_delete.png differ diff --git a/public/icons/16X16PNG/basket_edit.png b/public/icons/16X16PNG/basket_edit.png new file mode 100644 index 0000000..8138bbd Binary files /dev/null and b/public/icons/16X16PNG/basket_edit.png differ diff --git a/public/icons/16X16PNG/basket_error.png b/public/icons/16X16PNG/basket_error.png new file mode 100644 index 0000000..3978b29 Binary files /dev/null and b/public/icons/16X16PNG/basket_error.png differ diff --git a/public/icons/16X16PNG/basket_go.png b/public/icons/16X16PNG/basket_go.png new file mode 100644 index 0000000..ed8b9a5 Binary files /dev/null and b/public/icons/16X16PNG/basket_go.png differ diff --git a/public/icons/16X16PNG/basket_put.png b/public/icons/16X16PNG/basket_put.png new file mode 100644 index 0000000..be62faa Binary files /dev/null and b/public/icons/16X16PNG/basket_put.png differ diff --git a/public/icons/16X16PNG/basket_remove.png b/public/icons/16X16PNG/basket_remove.png new file mode 100644 index 0000000..04dd7fd Binary files /dev/null and b/public/icons/16X16PNG/basket_remove.png differ diff --git a/public/icons/16X16PNG/bell.png b/public/icons/16X16PNG/bell.png new file mode 100644 index 0000000..6e0015d Binary files /dev/null and b/public/icons/16X16PNG/bell.png differ diff --git a/public/icons/16X16PNG/bell_add.png b/public/icons/16X16PNG/bell_add.png new file mode 100644 index 0000000..7db01d6 Binary files /dev/null and b/public/icons/16X16PNG/bell_add.png differ diff --git a/public/icons/16X16PNG/bell_delete.png b/public/icons/16X16PNG/bell_delete.png new file mode 100644 index 0000000..23907bb Binary files /dev/null and b/public/icons/16X16PNG/bell_delete.png differ diff --git a/public/icons/16X16PNG/bell_error.png b/public/icons/16X16PNG/bell_error.png new file mode 100644 index 0000000..a0ddc00 Binary files /dev/null and b/public/icons/16X16PNG/bell_error.png differ diff --git a/public/icons/16X16PNG/bell_go.png b/public/icons/16X16PNG/bell_go.png new file mode 100644 index 0000000..b89bb34 Binary files /dev/null and b/public/icons/16X16PNG/bell_go.png differ diff --git a/public/icons/16X16PNG/bell_link.png b/public/icons/16X16PNG/bell_link.png new file mode 100644 index 0000000..b8c64af Binary files /dev/null and b/public/icons/16X16PNG/bell_link.png differ diff --git a/public/icons/16X16PNG/bin.png b/public/icons/16X16PNG/bin.png new file mode 100644 index 0000000..ebad933 Binary files /dev/null and b/public/icons/16X16PNG/bin.png differ diff --git a/public/icons/16X16PNG/bin_closed.png b/public/icons/16X16PNG/bin_closed.png new file mode 100644 index 0000000..afe22ba Binary files /dev/null and b/public/icons/16X16PNG/bin_closed.png differ diff --git a/public/icons/16X16PNG/bin_empty.png b/public/icons/16X16PNG/bin_empty.png new file mode 100644 index 0000000..375b8bf Binary files /dev/null and b/public/icons/16X16PNG/bin_empty.png differ diff --git a/public/icons/16X16PNG/bomb.png b/public/icons/16X16PNG/bomb.png new file mode 100644 index 0000000..1be3797 Binary files /dev/null and b/public/icons/16X16PNG/bomb.png differ diff --git a/public/icons/16X16PNG/book.png b/public/icons/16X16PNG/book.png new file mode 100644 index 0000000..b0f4dd7 Binary files /dev/null and b/public/icons/16X16PNG/book.png differ diff --git a/public/icons/16X16PNG/book_add.png b/public/icons/16X16PNG/book_add.png new file mode 100644 index 0000000..e2f0847 Binary files /dev/null and b/public/icons/16X16PNG/book_add.png differ diff --git a/public/icons/16X16PNG/book_addresses.png b/public/icons/16X16PNG/book_addresses.png new file mode 100644 index 0000000..b73419b Binary files /dev/null and b/public/icons/16X16PNG/book_addresses.png differ diff --git a/public/icons/16X16PNG/book_delete.png b/public/icons/16X16PNG/book_delete.png new file mode 100644 index 0000000..d9a6340 Binary files /dev/null and b/public/icons/16X16PNG/book_delete.png differ diff --git a/public/icons/16X16PNG/book_edit.png b/public/icons/16X16PNG/book_edit.png new file mode 100644 index 0000000..6e756cc Binary files /dev/null and b/public/icons/16X16PNG/book_edit.png differ diff --git a/public/icons/16X16PNG/book_error.png b/public/icons/16X16PNG/book_error.png new file mode 100644 index 0000000..f3fbed0 Binary files /dev/null and b/public/icons/16X16PNG/book_error.png differ diff --git a/public/icons/16X16PNG/book_go.png b/public/icons/16X16PNG/book_go.png new file mode 100644 index 0000000..cd4e196 Binary files /dev/null and b/public/icons/16X16PNG/book_go.png differ diff --git a/public/icons/16X16PNG/book_key.png b/public/icons/16X16PNG/book_key.png new file mode 100644 index 0000000..d8e23ec Binary files /dev/null and b/public/icons/16X16PNG/book_key.png differ diff --git a/public/icons/16X16PNG/book_link.png b/public/icons/16X16PNG/book_link.png new file mode 100644 index 0000000..dd0820e Binary files /dev/null and b/public/icons/16X16PNG/book_link.png differ diff --git a/public/icons/16X16PNG/book_next.png b/public/icons/16X16PNG/book_next.png new file mode 100644 index 0000000..ff2ea1a Binary files /dev/null and b/public/icons/16X16PNG/book_next.png differ diff --git a/public/icons/16X16PNG/book_open.png b/public/icons/16X16PNG/book_open.png new file mode 100644 index 0000000..7d863f9 Binary files /dev/null and b/public/icons/16X16PNG/book_open.png differ diff --git a/public/icons/16X16PNG/book_previous.png b/public/icons/16X16PNG/book_previous.png new file mode 100644 index 0000000..2e53c69 Binary files /dev/null and b/public/icons/16X16PNG/book_previous.png differ diff --git a/public/icons/16X16PNG/box.png b/public/icons/16X16PNG/box.png new file mode 100644 index 0000000..8443c23 Binary files /dev/null and b/public/icons/16X16PNG/box.png differ diff --git a/public/icons/16X16PNG/brick.png b/public/icons/16X16PNG/brick.png new file mode 100644 index 0000000..7851cf3 Binary files /dev/null and b/public/icons/16X16PNG/brick.png differ diff --git a/public/icons/16X16PNG/brick_add.png b/public/icons/16X16PNG/brick_add.png new file mode 100644 index 0000000..fac186b Binary files /dev/null and b/public/icons/16X16PNG/brick_add.png differ diff --git a/public/icons/16X16PNG/brick_delete.png b/public/icons/16X16PNG/brick_delete.png new file mode 100644 index 0000000..3a8c373 Binary files /dev/null and b/public/icons/16X16PNG/brick_delete.png differ diff --git a/public/icons/16X16PNG/brick_edit.png b/public/icons/16X16PNG/brick_edit.png new file mode 100644 index 0000000..eb06df3 Binary files /dev/null and b/public/icons/16X16PNG/brick_edit.png differ diff --git a/public/icons/16X16PNG/brick_error.png b/public/icons/16X16PNG/brick_error.png new file mode 100644 index 0000000..18ab01e Binary files /dev/null and b/public/icons/16X16PNG/brick_error.png differ diff --git a/public/icons/16X16PNG/brick_go.png b/public/icons/16X16PNG/brick_go.png new file mode 100644 index 0000000..fe0d335 Binary files /dev/null and b/public/icons/16X16PNG/brick_go.png differ diff --git a/public/icons/16X16PNG/brick_link.png b/public/icons/16X16PNG/brick_link.png new file mode 100644 index 0000000..9ebf013 Binary files /dev/null and b/public/icons/16X16PNG/brick_link.png differ diff --git a/public/icons/16X16PNG/bricks.png b/public/icons/16X16PNG/bricks.png new file mode 100644 index 0000000..0905f93 Binary files /dev/null and b/public/icons/16X16PNG/bricks.png differ diff --git a/public/icons/16X16PNG/briefcase.png b/public/icons/16X16PNG/briefcase.png new file mode 100644 index 0000000..05c5649 Binary files /dev/null and b/public/icons/16X16PNG/briefcase.png differ diff --git a/public/icons/16X16PNG/bug.png b/public/icons/16X16PNG/bug.png new file mode 100644 index 0000000..2d5fb90 Binary files /dev/null and b/public/icons/16X16PNG/bug.png differ diff --git a/public/icons/16X16PNG/bug_add.png b/public/icons/16X16PNG/bug_add.png new file mode 100644 index 0000000..ced7817 Binary files /dev/null and b/public/icons/16X16PNG/bug_add.png differ diff --git a/public/icons/16X16PNG/bug_delete.png b/public/icons/16X16PNG/bug_delete.png new file mode 100644 index 0000000..e81d757 Binary files /dev/null and b/public/icons/16X16PNG/bug_delete.png differ diff --git a/public/icons/16X16PNG/bug_edit.png b/public/icons/16X16PNG/bug_edit.png new file mode 100644 index 0000000..e5c7dc0 Binary files /dev/null and b/public/icons/16X16PNG/bug_edit.png differ diff --git a/public/icons/16X16PNG/bug_error.png b/public/icons/16X16PNG/bug_error.png new file mode 100644 index 0000000..c4e8c28 Binary files /dev/null and b/public/icons/16X16PNG/bug_error.png differ diff --git a/public/icons/16X16PNG/bug_go.png b/public/icons/16X16PNG/bug_go.png new file mode 100644 index 0000000..4e4ae99 Binary files /dev/null and b/public/icons/16X16PNG/bug_go.png differ diff --git a/public/icons/16X16PNG/bug_link.png b/public/icons/16X16PNG/bug_link.png new file mode 100644 index 0000000..30e25ab Binary files /dev/null and b/public/icons/16X16PNG/bug_link.png differ diff --git a/public/icons/16X16PNG/building.png b/public/icons/16X16PNG/building.png new file mode 100644 index 0000000..11a017c Binary files /dev/null and b/public/icons/16X16PNG/building.png differ diff --git a/public/icons/16X16PNG/building_add.png b/public/icons/16X16PNG/building_add.png new file mode 100644 index 0000000..d88e2b9 Binary files /dev/null and b/public/icons/16X16PNG/building_add.png differ diff --git a/public/icons/16X16PNG/building_delete.png b/public/icons/16X16PNG/building_delete.png new file mode 100644 index 0000000..db6455d Binary files /dev/null and b/public/icons/16X16PNG/building_delete.png differ diff --git a/public/icons/16X16PNG/building_edit.png b/public/icons/16X16PNG/building_edit.png new file mode 100644 index 0000000..646db36 Binary files /dev/null and b/public/icons/16X16PNG/building_edit.png differ diff --git a/public/icons/16X16PNG/building_error.png b/public/icons/16X16PNG/building_error.png new file mode 100644 index 0000000..a342eef Binary files /dev/null and b/public/icons/16X16PNG/building_error.png differ diff --git a/public/icons/16X16PNG/building_go.png b/public/icons/16X16PNG/building_go.png new file mode 100644 index 0000000..cdcbcb3 Binary files /dev/null and b/public/icons/16X16PNG/building_go.png differ diff --git a/public/icons/16X16PNG/building_key.png b/public/icons/16X16PNG/building_key.png new file mode 100644 index 0000000..8b79e30 Binary files /dev/null and b/public/icons/16X16PNG/building_key.png differ diff --git a/public/icons/16X16PNG/building_link.png b/public/icons/16X16PNG/building_link.png new file mode 100644 index 0000000..a340629 Binary files /dev/null and b/public/icons/16X16PNG/building_link.png differ diff --git a/public/icons/16X16PNG/bullet_add.png b/public/icons/16X16PNG/bullet_add.png new file mode 100644 index 0000000..41ff833 Binary files /dev/null and b/public/icons/16X16PNG/bullet_add.png differ diff --git a/public/icons/16X16PNG/bullet_arrow_bottom.png b/public/icons/16X16PNG/bullet_arrow_bottom.png new file mode 100644 index 0000000..1a28d82 Binary files /dev/null and b/public/icons/16X16PNG/bullet_arrow_bottom.png differ diff --git a/public/icons/16X16PNG/bullet_arrow_down.png b/public/icons/16X16PNG/bullet_arrow_down.png new file mode 100644 index 0000000..9b23c06 Binary files /dev/null and b/public/icons/16X16PNG/bullet_arrow_down.png differ diff --git a/public/icons/16X16PNG/bullet_arrow_top.png b/public/icons/16X16PNG/bullet_arrow_top.png new file mode 100644 index 0000000..0ce86d2 Binary files /dev/null and b/public/icons/16X16PNG/bullet_arrow_top.png differ diff --git a/public/icons/16X16PNG/bullet_arrow_up.png b/public/icons/16X16PNG/bullet_arrow_up.png new file mode 100644 index 0000000..24df0f4 Binary files /dev/null and b/public/icons/16X16PNG/bullet_arrow_up.png differ diff --git a/public/icons/16X16PNG/bullet_black.png b/public/icons/16X16PNG/bullet_black.png new file mode 100644 index 0000000..5761970 Binary files /dev/null and b/public/icons/16X16PNG/bullet_black.png differ diff --git a/public/icons/16X16PNG/bullet_blue.png b/public/icons/16X16PNG/bullet_blue.png new file mode 100644 index 0000000..a7651ec Binary files /dev/null and b/public/icons/16X16PNG/bullet_blue.png differ diff --git a/public/icons/16X16PNG/bullet_delete.png b/public/icons/16X16PNG/bullet_delete.png new file mode 100644 index 0000000..bd6271b Binary files /dev/null and b/public/icons/16X16PNG/bullet_delete.png differ diff --git a/public/icons/16X16PNG/bullet_disk.png b/public/icons/16X16PNG/bullet_disk.png new file mode 100644 index 0000000..209c6a7 Binary files /dev/null and b/public/icons/16X16PNG/bullet_disk.png differ diff --git a/public/icons/16X16PNG/bullet_error.png b/public/icons/16X16PNG/bullet_error.png new file mode 100644 index 0000000..bca2b49 Binary files /dev/null and b/public/icons/16X16PNG/bullet_error.png differ diff --git a/public/icons/16X16PNG/bullet_feed.png b/public/icons/16X16PNG/bullet_feed.png new file mode 100644 index 0000000..1a0e0f1 Binary files /dev/null and b/public/icons/16X16PNG/bullet_feed.png differ diff --git a/public/icons/16X16PNG/bullet_go.png b/public/icons/16X16PNG/bullet_go.png new file mode 100644 index 0000000..bc4faa7 Binary files /dev/null and b/public/icons/16X16PNG/bullet_go.png differ diff --git a/public/icons/16X16PNG/bullet_green.png b/public/icons/16X16PNG/bullet_green.png new file mode 100644 index 0000000..058ad26 Binary files /dev/null and b/public/icons/16X16PNG/bullet_green.png differ diff --git a/public/icons/16X16PNG/bullet_key.png b/public/icons/16X16PNG/bullet_key.png new file mode 100644 index 0000000..3d37f2e Binary files /dev/null and b/public/icons/16X16PNG/bullet_key.png differ diff --git a/public/icons/16X16PNG/bullet_orange.png b/public/icons/16X16PNG/bullet_orange.png new file mode 100644 index 0000000..fa63024 Binary files /dev/null and b/public/icons/16X16PNG/bullet_orange.png differ diff --git a/public/icons/16X16PNG/bullet_picture.png b/public/icons/16X16PNG/bullet_picture.png new file mode 100644 index 0000000..386cb30 Binary files /dev/null and b/public/icons/16X16PNG/bullet_picture.png differ diff --git a/public/icons/16X16PNG/bullet_pink.png b/public/icons/16X16PNG/bullet_pink.png new file mode 100644 index 0000000..0c9f73e Binary files /dev/null and b/public/icons/16X16PNG/bullet_pink.png differ diff --git a/public/icons/16X16PNG/bullet_purple.png b/public/icons/16X16PNG/bullet_purple.png new file mode 100644 index 0000000..52ba503 Binary files /dev/null and b/public/icons/16X16PNG/bullet_purple.png differ diff --git a/public/icons/16X16PNG/bullet_red.png b/public/icons/16X16PNG/bullet_red.png new file mode 100644 index 0000000..0cd8031 Binary files /dev/null and b/public/icons/16X16PNG/bullet_red.png differ diff --git a/public/icons/16X16PNG/bullet_star.png b/public/icons/16X16PNG/bullet_star.png new file mode 100644 index 0000000..fab774a Binary files /dev/null and b/public/icons/16X16PNG/bullet_star.png differ diff --git a/public/icons/16X16PNG/bullet_toggle_minus.png b/public/icons/16X16PNG/bullet_toggle_minus.png new file mode 100644 index 0000000..b47ce55 Binary files /dev/null and b/public/icons/16X16PNG/bullet_toggle_minus.png differ diff --git a/public/icons/16X16PNG/bullet_toggle_plus.png b/public/icons/16X16PNG/bullet_toggle_plus.png new file mode 100644 index 0000000..9ab4a89 Binary files /dev/null and b/public/icons/16X16PNG/bullet_toggle_plus.png differ diff --git a/public/icons/16X16PNG/bullet_white.png b/public/icons/16X16PNG/bullet_white.png new file mode 100644 index 0000000..a9af8d4 Binary files /dev/null and b/public/icons/16X16PNG/bullet_white.png differ diff --git a/public/icons/16X16PNG/bullet_wrench.png b/public/icons/16X16PNG/bullet_wrench.png new file mode 100644 index 0000000..67817e6 Binary files /dev/null and b/public/icons/16X16PNG/bullet_wrench.png differ diff --git a/public/icons/16X16PNG/bullet_yellow.png b/public/icons/16X16PNG/bullet_yellow.png new file mode 100644 index 0000000..6469cea Binary files /dev/null and b/public/icons/16X16PNG/bullet_yellow.png differ diff --git a/public/icons/16X16PNG/cake.png b/public/icons/16X16PNG/cake.png new file mode 100644 index 0000000..4ef151a Binary files /dev/null and b/public/icons/16X16PNG/cake.png differ diff --git a/public/icons/16X16PNG/calculator.png b/public/icons/16X16PNG/calculator.png new file mode 100644 index 0000000..701a60a Binary files /dev/null and b/public/icons/16X16PNG/calculator.png differ diff --git a/public/icons/16X16PNG/calculator_add.png b/public/icons/16X16PNG/calculator_add.png new file mode 100644 index 0000000..fd377bd Binary files /dev/null and b/public/icons/16X16PNG/calculator_add.png differ diff --git a/public/icons/16X16PNG/calculator_delete.png b/public/icons/16X16PNG/calculator_delete.png new file mode 100644 index 0000000..ac96170 Binary files /dev/null and b/public/icons/16X16PNG/calculator_delete.png differ diff --git a/public/icons/16X16PNG/calculator_edit.png b/public/icons/16X16PNG/calculator_edit.png new file mode 100644 index 0000000..63b06b9 Binary files /dev/null and b/public/icons/16X16PNG/calculator_edit.png differ diff --git a/public/icons/16X16PNG/calculator_error.png b/public/icons/16X16PNG/calculator_error.png new file mode 100644 index 0000000..0bc4288 Binary files /dev/null and b/public/icons/16X16PNG/calculator_error.png differ diff --git a/public/icons/16X16PNG/calculator_link.png b/public/icons/16X16PNG/calculator_link.png new file mode 100644 index 0000000..a2a8fe6 Binary files /dev/null and b/public/icons/16X16PNG/calculator_link.png differ diff --git a/public/icons/16X16PNG/calendar.png b/public/icons/16X16PNG/calendar.png new file mode 100644 index 0000000..6589138 Binary files /dev/null and b/public/icons/16X16PNG/calendar.png differ diff --git a/public/icons/16X16PNG/calendar_add.png b/public/icons/16X16PNG/calendar_add.png new file mode 100644 index 0000000..17679db Binary files /dev/null and b/public/icons/16X16PNG/calendar_add.png differ diff --git a/public/icons/16X16PNG/calendar_delete.png b/public/icons/16X16PNG/calendar_delete.png new file mode 100644 index 0000000..69a3b10 Binary files /dev/null and b/public/icons/16X16PNG/calendar_delete.png differ diff --git a/public/icons/16X16PNG/calendar_edit.png b/public/icons/16X16PNG/calendar_edit.png new file mode 100644 index 0000000..d1d2d6e Binary files /dev/null and b/public/icons/16X16PNG/calendar_edit.png differ diff --git a/public/icons/16X16PNG/calendar_link.png b/public/icons/16X16PNG/calendar_link.png new file mode 100644 index 0000000..6b106b9 Binary files /dev/null and b/public/icons/16X16PNG/calendar_link.png differ diff --git a/public/icons/16X16PNG/calendar_view_day.png b/public/icons/16X16PNG/calendar_view_day.png new file mode 100644 index 0000000..9740f76 Binary files /dev/null and b/public/icons/16X16PNG/calendar_view_day.png differ diff --git a/public/icons/16X16PNG/calendar_view_month.png b/public/icons/16X16PNG/calendar_view_month.png new file mode 100644 index 0000000..6cff76c Binary files /dev/null and b/public/icons/16X16PNG/calendar_view_month.png differ diff --git a/public/icons/16X16PNG/calendar_view_week.png b/public/icons/16X16PNG/calendar_view_week.png new file mode 100644 index 0000000..8fe695f Binary files /dev/null and b/public/icons/16X16PNG/calendar_view_week.png differ diff --git a/public/icons/16X16PNG/camera.png b/public/icons/16X16PNG/camera.png new file mode 100644 index 0000000..8536d1a Binary files /dev/null and b/public/icons/16X16PNG/camera.png differ diff --git a/public/icons/16X16PNG/camera_add.png b/public/icons/16X16PNG/camera_add.png new file mode 100644 index 0000000..08b5da9 Binary files /dev/null and b/public/icons/16X16PNG/camera_add.png differ diff --git a/public/icons/16X16PNG/camera_delete.png b/public/icons/16X16PNG/camera_delete.png new file mode 100644 index 0000000..3846d74 Binary files /dev/null and b/public/icons/16X16PNG/camera_delete.png differ diff --git a/public/icons/16X16PNG/camera_edit.png b/public/icons/16X16PNG/camera_edit.png new file mode 100644 index 0000000..b5015b1 Binary files /dev/null and b/public/icons/16X16PNG/camera_edit.png differ diff --git a/public/icons/16X16PNG/camera_error.png b/public/icons/16X16PNG/camera_error.png new file mode 100644 index 0000000..3c1bc95 Binary files /dev/null and b/public/icons/16X16PNG/camera_error.png differ diff --git a/public/icons/16X16PNG/camera_go.png b/public/icons/16X16PNG/camera_go.png new file mode 100644 index 0000000..94ce2b2 Binary files /dev/null and b/public/icons/16X16PNG/camera_go.png differ diff --git a/public/icons/16X16PNG/camera_link.png b/public/icons/16X16PNG/camera_link.png new file mode 100644 index 0000000..d2ac9f9 Binary files /dev/null and b/public/icons/16X16PNG/camera_link.png differ diff --git a/public/icons/16X16PNG/camera_small.png b/public/icons/16X16PNG/camera_small.png new file mode 100644 index 0000000..454b0b0 Binary files /dev/null and b/public/icons/16X16PNG/camera_small.png differ diff --git a/public/icons/16X16PNG/cancel.png b/public/icons/16X16PNG/cancel.png new file mode 100644 index 0000000..c149c2b Binary files /dev/null and b/public/icons/16X16PNG/cancel.png differ diff --git a/public/icons/16X16PNG/car.png b/public/icons/16X16PNG/car.png new file mode 100644 index 0000000..4f3a770 Binary files /dev/null and b/public/icons/16X16PNG/car.png differ diff --git a/public/icons/16X16PNG/car_add.png b/public/icons/16X16PNG/car_add.png new file mode 100644 index 0000000..1215a51 Binary files /dev/null and b/public/icons/16X16PNG/car_add.png differ diff --git a/public/icons/16X16PNG/car_delete.png b/public/icons/16X16PNG/car_delete.png new file mode 100644 index 0000000..2803b56 Binary files /dev/null and b/public/icons/16X16PNG/car_delete.png differ diff --git a/public/icons/16X16PNG/cart.png b/public/icons/16X16PNG/cart.png new file mode 100644 index 0000000..1baf7b9 Binary files /dev/null and b/public/icons/16X16PNG/cart.png differ diff --git a/public/icons/16X16PNG/cart_add.png b/public/icons/16X16PNG/cart_add.png new file mode 100644 index 0000000..45c2900 Binary files /dev/null and b/public/icons/16X16PNG/cart_add.png differ diff --git a/public/icons/16X16PNG/cart_delete.png b/public/icons/16X16PNG/cart_delete.png new file mode 100644 index 0000000..ac5bce5 Binary files /dev/null and b/public/icons/16X16PNG/cart_delete.png differ diff --git a/public/icons/16X16PNG/cart_edit.png b/public/icons/16X16PNG/cart_edit.png new file mode 100644 index 0000000..b94ff88 Binary files /dev/null and b/public/icons/16X16PNG/cart_edit.png differ diff --git a/public/icons/16X16PNG/cart_error.png b/public/icons/16X16PNG/cart_error.png new file mode 100644 index 0000000..144c835 Binary files /dev/null and b/public/icons/16X16PNG/cart_error.png differ diff --git a/public/icons/16X16PNG/cart_go.png b/public/icons/16X16PNG/cart_go.png new file mode 100644 index 0000000..20ee058 Binary files /dev/null and b/public/icons/16X16PNG/cart_go.png differ diff --git a/public/icons/16X16PNG/cart_put.png b/public/icons/16X16PNG/cart_put.png new file mode 100644 index 0000000..3aec353 Binary files /dev/null and b/public/icons/16X16PNG/cart_put.png differ diff --git a/public/icons/16X16PNG/cart_remove.png b/public/icons/16X16PNG/cart_remove.png new file mode 100644 index 0000000..360217b Binary files /dev/null and b/public/icons/16X16PNG/cart_remove.png differ diff --git a/public/icons/16X16PNG/cd.png b/public/icons/16X16PNG/cd.png new file mode 100644 index 0000000..ef43223 Binary files /dev/null and b/public/icons/16X16PNG/cd.png differ diff --git a/public/icons/16X16PNG/cd_add.png b/public/icons/16X16PNG/cd_add.png new file mode 100644 index 0000000..b0254ef Binary files /dev/null and b/public/icons/16X16PNG/cd_add.png differ diff --git a/public/icons/16X16PNG/cd_burn.png b/public/icons/16X16PNG/cd_burn.png new file mode 100644 index 0000000..157cb0b Binary files /dev/null and b/public/icons/16X16PNG/cd_burn.png differ diff --git a/public/icons/16X16PNG/cd_delete.png b/public/icons/16X16PNG/cd_delete.png new file mode 100644 index 0000000..7d7b3d5 Binary files /dev/null and b/public/icons/16X16PNG/cd_delete.png differ diff --git a/public/icons/16X16PNG/cd_edit.png b/public/icons/16X16PNG/cd_edit.png new file mode 100644 index 0000000..b0dc194 Binary files /dev/null and b/public/icons/16X16PNG/cd_edit.png differ diff --git a/public/icons/16X16PNG/cd_eject.png b/public/icons/16X16PNG/cd_eject.png new file mode 100644 index 0000000..762932f Binary files /dev/null and b/public/icons/16X16PNG/cd_eject.png differ diff --git a/public/icons/16X16PNG/cd_go.png b/public/icons/16X16PNG/cd_go.png new file mode 100644 index 0000000..13e0499 Binary files /dev/null and b/public/icons/16X16PNG/cd_go.png differ diff --git a/public/icons/16X16PNG/chart_bar.png b/public/icons/16X16PNG/chart_bar.png new file mode 100644 index 0000000..9051fbc Binary files /dev/null and b/public/icons/16X16PNG/chart_bar.png differ diff --git a/public/icons/16X16PNG/chart_bar_add.png b/public/icons/16X16PNG/chart_bar_add.png new file mode 100644 index 0000000..d283e84 Binary files /dev/null and b/public/icons/16X16PNG/chart_bar_add.png differ diff --git a/public/icons/16X16PNG/chart_bar_delete.png b/public/icons/16X16PNG/chart_bar_delete.png new file mode 100644 index 0000000..259f686 Binary files /dev/null and b/public/icons/16X16PNG/chart_bar_delete.png differ diff --git a/public/icons/16X16PNG/chart_bar_edit.png b/public/icons/16X16PNG/chart_bar_edit.png new file mode 100644 index 0000000..df64d97 Binary files /dev/null and b/public/icons/16X16PNG/chart_bar_edit.png differ diff --git a/public/icons/16X16PNG/chart_bar_error.png b/public/icons/16X16PNG/chart_bar_error.png new file mode 100644 index 0000000..bdacea5 Binary files /dev/null and b/public/icons/16X16PNG/chart_bar_error.png differ diff --git a/public/icons/16X16PNG/chart_bar_link.png b/public/icons/16X16PNG/chart_bar_link.png new file mode 100644 index 0000000..bf18aed Binary files /dev/null and b/public/icons/16X16PNG/chart_bar_link.png differ diff --git a/public/icons/16X16PNG/chart_curve.png b/public/icons/16X16PNG/chart_curve.png new file mode 100644 index 0000000..01e933a Binary files /dev/null and b/public/icons/16X16PNG/chart_curve.png differ diff --git a/public/icons/16X16PNG/chart_curve_add.png b/public/icons/16X16PNG/chart_curve_add.png new file mode 100644 index 0000000..f9e2050 Binary files /dev/null and b/public/icons/16X16PNG/chart_curve_add.png differ diff --git a/public/icons/16X16PNG/chart_curve_delete.png b/public/icons/16X16PNG/chart_curve_delete.png new file mode 100644 index 0000000..b411391 Binary files /dev/null and b/public/icons/16X16PNG/chart_curve_delete.png differ diff --git a/public/icons/16X16PNG/chart_curve_edit.png b/public/icons/16X16PNG/chart_curve_edit.png new file mode 100644 index 0000000..bd07673 Binary files /dev/null and b/public/icons/16X16PNG/chart_curve_edit.png differ diff --git a/public/icons/16X16PNG/chart_curve_error.png b/public/icons/16X16PNG/chart_curve_error.png new file mode 100644 index 0000000..906dd03 Binary files /dev/null and b/public/icons/16X16PNG/chart_curve_error.png differ diff --git a/public/icons/16X16PNG/chart_curve_go.png b/public/icons/16X16PNG/chart_curve_go.png new file mode 100644 index 0000000..ac9eda5 Binary files /dev/null and b/public/icons/16X16PNG/chart_curve_go.png differ diff --git a/public/icons/16X16PNG/chart_curve_link.png b/public/icons/16X16PNG/chart_curve_link.png new file mode 100644 index 0000000..144eafe Binary files /dev/null and b/public/icons/16X16PNG/chart_curve_link.png differ diff --git a/public/icons/16X16PNG/chart_line.png b/public/icons/16X16PNG/chart_line.png new file mode 100644 index 0000000..85020f3 Binary files /dev/null and b/public/icons/16X16PNG/chart_line.png differ diff --git a/public/icons/16X16PNG/chart_line_add.png b/public/icons/16X16PNG/chart_line_add.png new file mode 100644 index 0000000..5571a5e Binary files /dev/null and b/public/icons/16X16PNG/chart_line_add.png differ diff --git a/public/icons/16X16PNG/chart_line_delete.png b/public/icons/16X16PNG/chart_line_delete.png new file mode 100644 index 0000000..5b0aa90 Binary files /dev/null and b/public/icons/16X16PNG/chart_line_delete.png differ diff --git a/public/icons/16X16PNG/chart_line_edit.png b/public/icons/16X16PNG/chart_line_edit.png new file mode 100644 index 0000000..9cf6607 Binary files /dev/null and b/public/icons/16X16PNG/chart_line_edit.png differ diff --git a/public/icons/16X16PNG/chart_line_error.png b/public/icons/16X16PNG/chart_line_error.png new file mode 100644 index 0000000..ff23c03 Binary files /dev/null and b/public/icons/16X16PNG/chart_line_error.png differ diff --git a/public/icons/16X16PNG/chart_line_link.png b/public/icons/16X16PNG/chart_line_link.png new file mode 100644 index 0000000..f3727d2 Binary files /dev/null and b/public/icons/16X16PNG/chart_line_link.png differ diff --git a/public/icons/16X16PNG/chart_organisation.png b/public/icons/16X16PNG/chart_organisation.png new file mode 100644 index 0000000..c32d25c Binary files /dev/null and b/public/icons/16X16PNG/chart_organisation.png differ diff --git a/public/icons/16X16PNG/chart_organisation_add.png b/public/icons/16X16PNG/chart_organisation_add.png new file mode 100644 index 0000000..f0dba4a Binary files /dev/null and b/public/icons/16X16PNG/chart_organisation_add.png differ diff --git a/public/icons/16X16PNG/chart_organisation_delete.png b/public/icons/16X16PNG/chart_organisation_delete.png new file mode 100644 index 0000000..7dc8dca Binary files /dev/null and b/public/icons/16X16PNG/chart_organisation_delete.png differ diff --git a/public/icons/16X16PNG/chart_pie.png b/public/icons/16X16PNG/chart_pie.png new file mode 100644 index 0000000..fe00fa0 Binary files /dev/null and b/public/icons/16X16PNG/chart_pie.png differ diff --git a/public/icons/16X16PNG/chart_pie_add.png b/public/icons/16X16PNG/chart_pie_add.png new file mode 100644 index 0000000..bf0822e Binary files /dev/null and b/public/icons/16X16PNG/chart_pie_add.png differ diff --git a/public/icons/16X16PNG/chart_pie_delete.png b/public/icons/16X16PNG/chart_pie_delete.png new file mode 100644 index 0000000..5ab9efd Binary files /dev/null and b/public/icons/16X16PNG/chart_pie_delete.png differ diff --git a/public/icons/16X16PNG/chart_pie_edit.png b/public/icons/16X16PNG/chart_pie_edit.png new file mode 100644 index 0000000..3debc12 Binary files /dev/null and b/public/icons/16X16PNG/chart_pie_edit.png differ diff --git a/public/icons/16X16PNG/chart_pie_error.png b/public/icons/16X16PNG/chart_pie_error.png new file mode 100644 index 0000000..7344174 Binary files /dev/null and b/public/icons/16X16PNG/chart_pie_error.png differ diff --git a/public/icons/16X16PNG/chart_pie_link.png b/public/icons/16X16PNG/chart_pie_link.png new file mode 100644 index 0000000..c072f8e Binary files /dev/null and b/public/icons/16X16PNG/chart_pie_link.png differ diff --git a/public/icons/16X16PNG/clock.png b/public/icons/16X16PNG/clock.png new file mode 100644 index 0000000..e2672c2 Binary files /dev/null and b/public/icons/16X16PNG/clock.png differ diff --git a/public/icons/16X16PNG/clock_add.png b/public/icons/16X16PNG/clock_add.png new file mode 100644 index 0000000..598b839 Binary files /dev/null and b/public/icons/16X16PNG/clock_add.png differ diff --git a/public/icons/16X16PNG/clock_delete.png b/public/icons/16X16PNG/clock_delete.png new file mode 100644 index 0000000..8bf9efe Binary files /dev/null and b/public/icons/16X16PNG/clock_delete.png differ diff --git a/public/icons/16X16PNG/clock_edit.png b/public/icons/16X16PNG/clock_edit.png new file mode 100644 index 0000000..7d35718 Binary files /dev/null and b/public/icons/16X16PNG/clock_edit.png differ diff --git a/public/icons/16X16PNG/clock_error.png b/public/icons/16X16PNG/clock_error.png new file mode 100644 index 0000000..a7c461b Binary files /dev/null and b/public/icons/16X16PNG/clock_error.png differ diff --git a/public/icons/16X16PNG/clock_go.png b/public/icons/16X16PNG/clock_go.png new file mode 100644 index 0000000..a1a24d3 Binary files /dev/null and b/public/icons/16X16PNG/clock_go.png differ diff --git a/public/icons/16X16PNG/clock_link.png b/public/icons/16X16PNG/clock_link.png new file mode 100644 index 0000000..481cf04 Binary files /dev/null and b/public/icons/16X16PNG/clock_link.png differ diff --git a/public/icons/16X16PNG/clock_pause.png b/public/icons/16X16PNG/clock_pause.png new file mode 100644 index 0000000..ba74725 Binary files /dev/null and b/public/icons/16X16PNG/clock_pause.png differ diff --git a/public/icons/16X16PNG/clock_play.png b/public/icons/16X16PNG/clock_play.png new file mode 100644 index 0000000..fb4ebc8 Binary files /dev/null and b/public/icons/16X16PNG/clock_play.png differ diff --git a/public/icons/16X16PNG/clock_red.png b/public/icons/16X16PNG/clock_red.png new file mode 100644 index 0000000..2842cc3 Binary files /dev/null and b/public/icons/16X16PNG/clock_red.png differ diff --git a/public/icons/16X16PNG/clock_stop.png b/public/icons/16X16PNG/clock_stop.png new file mode 100644 index 0000000..6fe8a6f Binary files /dev/null and b/public/icons/16X16PNG/clock_stop.png differ diff --git a/public/icons/16X16PNG/cog.png b/public/icons/16X16PNG/cog.png new file mode 100644 index 0000000..67de2c6 Binary files /dev/null and b/public/icons/16X16PNG/cog.png differ diff --git a/public/icons/16X16PNG/cog_add.png b/public/icons/16X16PNG/cog_add.png new file mode 100644 index 0000000..04f22ba Binary files /dev/null and b/public/icons/16X16PNG/cog_add.png differ diff --git a/public/icons/16X16PNG/cog_delete.png b/public/icons/16X16PNG/cog_delete.png new file mode 100644 index 0000000..8ce71c4 Binary files /dev/null and b/public/icons/16X16PNG/cog_delete.png differ diff --git a/public/icons/16X16PNG/cog_edit.png b/public/icons/16X16PNG/cog_edit.png new file mode 100644 index 0000000..47b75a4 Binary files /dev/null and b/public/icons/16X16PNG/cog_edit.png differ diff --git a/public/icons/16X16PNG/cog_error.png b/public/icons/16X16PNG/cog_error.png new file mode 100644 index 0000000..4766743 Binary files /dev/null and b/public/icons/16X16PNG/cog_error.png differ diff --git a/public/icons/16X16PNG/cog_go.png b/public/icons/16X16PNG/cog_go.png new file mode 100644 index 0000000..3262767 Binary files /dev/null and b/public/icons/16X16PNG/cog_go.png differ diff --git a/public/icons/16X16PNG/coins.png b/public/icons/16X16PNG/coins.png new file mode 100644 index 0000000..0ca9074 Binary files /dev/null and b/public/icons/16X16PNG/coins.png differ diff --git a/public/icons/16X16PNG/coins_add.png b/public/icons/16X16PNG/coins_add.png new file mode 100644 index 0000000..cdff5d3 Binary files /dev/null and b/public/icons/16X16PNG/coins_add.png differ diff --git a/public/icons/16X16PNG/coins_delete.png b/public/icons/16X16PNG/coins_delete.png new file mode 100644 index 0000000..18e0c0f Binary files /dev/null and b/public/icons/16X16PNG/coins_delete.png differ diff --git a/public/icons/16X16PNG/color_swatch.png b/public/icons/16X16PNG/color_swatch.png new file mode 100644 index 0000000..6e6e852 Binary files /dev/null and b/public/icons/16X16PNG/color_swatch.png differ diff --git a/public/icons/16X16PNG/color_wheel.png b/public/icons/16X16PNG/color_wheel.png new file mode 100644 index 0000000..809fb00 Binary files /dev/null and b/public/icons/16X16PNG/color_wheel.png differ diff --git a/public/icons/16X16PNG/comment.png b/public/icons/16X16PNG/comment.png new file mode 100644 index 0000000..7bc9233 Binary files /dev/null and b/public/icons/16X16PNG/comment.png differ diff --git a/public/icons/16X16PNG/comment_add.png b/public/icons/16X16PNG/comment_add.png new file mode 100644 index 0000000..75e78de Binary files /dev/null and b/public/icons/16X16PNG/comment_add.png differ diff --git a/public/icons/16X16PNG/comment_delete.png b/public/icons/16X16PNG/comment_delete.png new file mode 100644 index 0000000..643fdbe Binary files /dev/null and b/public/icons/16X16PNG/comment_delete.png differ diff --git a/public/icons/16X16PNG/comment_edit.png b/public/icons/16X16PNG/comment_edit.png new file mode 100644 index 0000000..73db110 Binary files /dev/null and b/public/icons/16X16PNG/comment_edit.png differ diff --git a/public/icons/16X16PNG/comments.png b/public/icons/16X16PNG/comments.png new file mode 100644 index 0000000..39433cf Binary files /dev/null and b/public/icons/16X16PNG/comments.png differ diff --git a/public/icons/16X16PNG/comments_add.png b/public/icons/16X16PNG/comments_add.png new file mode 100644 index 0000000..b325634 Binary files /dev/null and b/public/icons/16X16PNG/comments_add.png differ diff --git a/public/icons/16X16PNG/comments_delete.png b/public/icons/16X16PNG/comments_delete.png new file mode 100644 index 0000000..6df7376 Binary files /dev/null and b/public/icons/16X16PNG/comments_delete.png differ diff --git a/public/icons/16X16PNG/compress.png b/public/icons/16X16PNG/compress.png new file mode 100644 index 0000000..8606ff0 Binary files /dev/null and b/public/icons/16X16PNG/compress.png differ diff --git a/public/icons/16X16PNG/computer.png b/public/icons/16X16PNG/computer.png new file mode 100644 index 0000000..9bc37dc Binary files /dev/null and b/public/icons/16X16PNG/computer.png differ diff --git a/public/icons/16X16PNG/computer_add.png b/public/icons/16X16PNG/computer_add.png new file mode 100644 index 0000000..db604ee Binary files /dev/null and b/public/icons/16X16PNG/computer_add.png differ diff --git a/public/icons/16X16PNG/computer_delete.png b/public/icons/16X16PNG/computer_delete.png new file mode 100644 index 0000000..5e9b268 Binary files /dev/null and b/public/icons/16X16PNG/computer_delete.png differ diff --git a/public/icons/16X16PNG/computer_edit.png b/public/icons/16X16PNG/computer_edit.png new file mode 100644 index 0000000..34c72fe Binary files /dev/null and b/public/icons/16X16PNG/computer_edit.png differ diff --git a/public/icons/16X16PNG/computer_error.png b/public/icons/16X16PNG/computer_error.png new file mode 100644 index 0000000..b2c3ed5 Binary files /dev/null and b/public/icons/16X16PNG/computer_error.png differ diff --git a/public/icons/16X16PNG/computer_go.png b/public/icons/16X16PNG/computer_go.png new file mode 100644 index 0000000..0b26144 Binary files /dev/null and b/public/icons/16X16PNG/computer_go.png differ diff --git a/public/icons/16X16PNG/computer_key.png b/public/icons/16X16PNG/computer_key.png new file mode 100644 index 0000000..eca5430 Binary files /dev/null and b/public/icons/16X16PNG/computer_key.png differ diff --git a/public/icons/16X16PNG/computer_link.png b/public/icons/16X16PNG/computer_link.png new file mode 100644 index 0000000..3859db2 Binary files /dev/null and b/public/icons/16X16PNG/computer_link.png differ diff --git a/public/icons/16X16PNG/connect.png b/public/icons/16X16PNG/connect.png new file mode 100644 index 0000000..024138e Binary files /dev/null and b/public/icons/16X16PNG/connect.png differ diff --git a/public/icons/16X16PNG/contrast.png b/public/icons/16X16PNG/contrast.png new file mode 100644 index 0000000..adcc004 Binary files /dev/null and b/public/icons/16X16PNG/contrast.png differ diff --git a/public/icons/16X16PNG/contrast_decrease.png b/public/icons/16X16PNG/contrast_decrease.png new file mode 100644 index 0000000..0155bf5 Binary files /dev/null and b/public/icons/16X16PNG/contrast_decrease.png differ diff --git a/public/icons/16X16PNG/contrast_high.png b/public/icons/16X16PNG/contrast_high.png new file mode 100644 index 0000000..d87c8cb Binary files /dev/null and b/public/icons/16X16PNG/contrast_high.png differ diff --git a/public/icons/16X16PNG/contrast_increase.png b/public/icons/16X16PNG/contrast_increase.png new file mode 100644 index 0000000..a3e7f52 Binary files /dev/null and b/public/icons/16X16PNG/contrast_increase.png differ diff --git a/public/icons/16X16PNG/contrast_low.png b/public/icons/16X16PNG/contrast_low.png new file mode 100644 index 0000000..dc9f4b1 Binary files /dev/null and b/public/icons/16X16PNG/contrast_low.png differ diff --git a/public/icons/16X16PNG/control_eject.png b/public/icons/16X16PNG/control_eject.png new file mode 100644 index 0000000..924d817 Binary files /dev/null and b/public/icons/16X16PNG/control_eject.png differ diff --git a/public/icons/16X16PNG/control_eject_blue.png b/public/icons/16X16PNG/control_eject_blue.png new file mode 100644 index 0000000..2bd4963 Binary files /dev/null and b/public/icons/16X16PNG/control_eject_blue.png differ diff --git a/public/icons/16X16PNG/control_end.png b/public/icons/16X16PNG/control_end.png new file mode 100644 index 0000000..036e04d Binary files /dev/null and b/public/icons/16X16PNG/control_end.png differ diff --git a/public/icons/16X16PNG/control_end_blue.png b/public/icons/16X16PNG/control_end_blue.png new file mode 100644 index 0000000..7207935 Binary files /dev/null and b/public/icons/16X16PNG/control_end_blue.png differ diff --git a/public/icons/16X16PNG/control_equalizer.png b/public/icons/16X16PNG/control_equalizer.png new file mode 100644 index 0000000..4606087 Binary files /dev/null and b/public/icons/16X16PNG/control_equalizer.png differ diff --git a/public/icons/16X16PNG/control_equalizer_blue.png b/public/icons/16X16PNG/control_equalizer_blue.png new file mode 100644 index 0000000..1b2e6a3 Binary files /dev/null and b/public/icons/16X16PNG/control_equalizer_blue.png differ diff --git a/public/icons/16X16PNG/control_fastforward.png b/public/icons/16X16PNG/control_fastforward.png new file mode 100644 index 0000000..31f7fd3 Binary files /dev/null and b/public/icons/16X16PNG/control_fastforward.png differ diff --git a/public/icons/16X16PNG/control_fastforward_blue.png b/public/icons/16X16PNG/control_fastforward_blue.png new file mode 100644 index 0000000..4a2f9d4 Binary files /dev/null and b/public/icons/16X16PNG/control_fastforward_blue.png differ diff --git a/public/icons/16X16PNG/control_pause.png b/public/icons/16X16PNG/control_pause.png new file mode 100644 index 0000000..2d9ce9c Binary files /dev/null and b/public/icons/16X16PNG/control_pause.png differ diff --git a/public/icons/16X16PNG/control_pause_blue.png b/public/icons/16X16PNG/control_pause_blue.png new file mode 100644 index 0000000..ec61099 Binary files /dev/null and b/public/icons/16X16PNG/control_pause_blue.png differ diff --git a/public/icons/16X16PNG/control_play.png b/public/icons/16X16PNG/control_play.png new file mode 100644 index 0000000..0846555 Binary files /dev/null and b/public/icons/16X16PNG/control_play.png differ diff --git a/public/icons/16X16PNG/control_play_blue.png b/public/icons/16X16PNG/control_play_blue.png new file mode 100644 index 0000000..f8c8ec6 Binary files /dev/null and b/public/icons/16X16PNG/control_play_blue.png differ diff --git a/public/icons/16X16PNG/control_repeat.png b/public/icons/16X16PNG/control_repeat.png new file mode 100644 index 0000000..1c4f57a Binary files /dev/null and b/public/icons/16X16PNG/control_repeat.png differ diff --git a/public/icons/16X16PNG/control_repeat_blue.png b/public/icons/16X16PNG/control_repeat_blue.png new file mode 100644 index 0000000..406ec33 Binary files /dev/null and b/public/icons/16X16PNG/control_repeat_blue.png differ diff --git a/public/icons/16X16PNG/control_rewind.png b/public/icons/16X16PNG/control_rewind.png new file mode 100644 index 0000000..c029447 Binary files /dev/null and b/public/icons/16X16PNG/control_rewind.png differ diff --git a/public/icons/16X16PNG/control_rewind_blue.png b/public/icons/16X16PNG/control_rewind_blue.png new file mode 100644 index 0000000..15d1584 Binary files /dev/null and b/public/icons/16X16PNG/control_rewind_blue.png differ diff --git a/public/icons/16X16PNG/control_start.png b/public/icons/16X16PNG/control_start.png new file mode 100644 index 0000000..7dd1c07 Binary files /dev/null and b/public/icons/16X16PNG/control_start.png differ diff --git a/public/icons/16X16PNG/control_start_blue.png b/public/icons/16X16PNG/control_start_blue.png new file mode 100644 index 0000000..6f11fcb Binary files /dev/null and b/public/icons/16X16PNG/control_start_blue.png differ diff --git a/public/icons/16X16PNG/control_stop.png b/public/icons/16X16PNG/control_stop.png new file mode 100644 index 0000000..893bb60 Binary files /dev/null and b/public/icons/16X16PNG/control_stop.png differ diff --git a/public/icons/16X16PNG/control_stop_blue.png b/public/icons/16X16PNG/control_stop_blue.png new file mode 100644 index 0000000..e6f75d2 Binary files /dev/null and b/public/icons/16X16PNG/control_stop_blue.png differ diff --git a/public/icons/16X16PNG/controller.png b/public/icons/16X16PNG/controller.png new file mode 100644 index 0000000..5cf76ed Binary files /dev/null and b/public/icons/16X16PNG/controller.png differ diff --git a/public/icons/16X16PNG/controller_add.png b/public/icons/16X16PNG/controller_add.png new file mode 100644 index 0000000..efecb38 Binary files /dev/null and b/public/icons/16X16PNG/controller_add.png differ diff --git a/public/icons/16X16PNG/controller_delete.png b/public/icons/16X16PNG/controller_delete.png new file mode 100644 index 0000000..3d83bc7 Binary files /dev/null and b/public/icons/16X16PNG/controller_delete.png differ diff --git a/public/icons/16X16PNG/controller_error.png b/public/icons/16X16PNG/controller_error.png new file mode 100644 index 0000000..7f17c0c Binary files /dev/null and b/public/icons/16X16PNG/controller_error.png differ diff --git a/public/icons/16X16PNG/creditcards.png b/public/icons/16X16PNG/creditcards.png new file mode 100644 index 0000000..4eae583 Binary files /dev/null and b/public/icons/16X16PNG/creditcards.png differ diff --git a/public/icons/16X16PNG/cross.png b/public/icons/16X16PNG/cross.png new file mode 100644 index 0000000..1514d51 Binary files /dev/null and b/public/icons/16X16PNG/cross.png differ diff --git a/public/icons/16X16PNG/css.png b/public/icons/16X16PNG/css.png new file mode 100644 index 0000000..23f3101 Binary files /dev/null and b/public/icons/16X16PNG/css.png differ diff --git a/public/icons/16X16PNG/css_add.png b/public/icons/16X16PNG/css_add.png new file mode 100644 index 0000000..e8ea10f Binary files /dev/null and b/public/icons/16X16PNG/css_add.png differ diff --git a/public/icons/16X16PNG/css_delete.png b/public/icons/16X16PNG/css_delete.png new file mode 100644 index 0000000..326aba4 Binary files /dev/null and b/public/icons/16X16PNG/css_delete.png differ diff --git a/public/icons/16X16PNG/css_go.png b/public/icons/16X16PNG/css_go.png new file mode 100644 index 0000000..6cdf38c Binary files /dev/null and b/public/icons/16X16PNG/css_go.png differ diff --git a/public/icons/16X16PNG/css_valid.png b/public/icons/16X16PNG/css_valid.png new file mode 100644 index 0000000..4c72ca5 Binary files /dev/null and b/public/icons/16X16PNG/css_valid.png differ diff --git a/public/icons/16X16PNG/cup.png b/public/icons/16X16PNG/cup.png new file mode 100644 index 0000000..b7bfcd1 Binary files /dev/null and b/public/icons/16X16PNG/cup.png differ diff --git a/public/icons/16X16PNG/cup_add.png b/public/icons/16X16PNG/cup_add.png new file mode 100644 index 0000000..4ecaece Binary files /dev/null and b/public/icons/16X16PNG/cup_add.png differ diff --git a/public/icons/16X16PNG/cup_delete.png b/public/icons/16X16PNG/cup_delete.png new file mode 100644 index 0000000..59a6d9c Binary files /dev/null and b/public/icons/16X16PNG/cup_delete.png differ diff --git a/public/icons/16X16PNG/cup_edit.png b/public/icons/16X16PNG/cup_edit.png new file mode 100644 index 0000000..0b8f1e1 Binary files /dev/null and b/public/icons/16X16PNG/cup_edit.png differ diff --git a/public/icons/16X16PNG/cup_error.png b/public/icons/16X16PNG/cup_error.png new file mode 100644 index 0000000..6879874 Binary files /dev/null and b/public/icons/16X16PNG/cup_error.png differ diff --git a/public/icons/16X16PNG/cup_go.png b/public/icons/16X16PNG/cup_go.png new file mode 100644 index 0000000..9527efb Binary files /dev/null and b/public/icons/16X16PNG/cup_go.png differ diff --git a/public/icons/16X16PNG/cup_key.png b/public/icons/16X16PNG/cup_key.png new file mode 100644 index 0000000..7ae160c Binary files /dev/null and b/public/icons/16X16PNG/cup_key.png differ diff --git a/public/icons/16X16PNG/cup_link.png b/public/icons/16X16PNG/cup_link.png new file mode 100644 index 0000000..41d1ace Binary files /dev/null and b/public/icons/16X16PNG/cup_link.png differ diff --git a/public/icons/16X16PNG/cursor.png b/public/icons/16X16PNG/cursor.png new file mode 100644 index 0000000..532f532 Binary files /dev/null and b/public/icons/16X16PNG/cursor.png differ diff --git a/public/icons/16X16PNG/cut.png b/public/icons/16X16PNG/cut.png new file mode 100644 index 0000000..f215d6f Binary files /dev/null and b/public/icons/16X16PNG/cut.png differ diff --git a/public/icons/16X16PNG/cut_red.png b/public/icons/16X16PNG/cut_red.png new file mode 100644 index 0000000..85bb2f0 Binary files /dev/null and b/public/icons/16X16PNG/cut_red.png differ diff --git a/public/icons/16X16PNG/database.png b/public/icons/16X16PNG/database.png new file mode 100644 index 0000000..3d09261 Binary files /dev/null and b/public/icons/16X16PNG/database.png differ diff --git a/public/icons/16X16PNG/database_add.png b/public/icons/16X16PNG/database_add.png new file mode 100644 index 0000000..802bd6c Binary files /dev/null and b/public/icons/16X16PNG/database_add.png differ diff --git a/public/icons/16X16PNG/database_connect.png b/public/icons/16X16PNG/database_connect.png new file mode 100644 index 0000000..3a11197 Binary files /dev/null and b/public/icons/16X16PNG/database_connect.png differ diff --git a/public/icons/16X16PNG/database_delete.png b/public/icons/16X16PNG/database_delete.png new file mode 100644 index 0000000..cce652e Binary files /dev/null and b/public/icons/16X16PNG/database_delete.png differ diff --git a/public/icons/16X16PNG/database_edit.png b/public/icons/16X16PNG/database_edit.png new file mode 100644 index 0000000..e501b66 Binary files /dev/null and b/public/icons/16X16PNG/database_edit.png differ diff --git a/public/icons/16X16PNG/database_error.png b/public/icons/16X16PNG/database_error.png new file mode 100644 index 0000000..578221a Binary files /dev/null and b/public/icons/16X16PNG/database_error.png differ diff --git a/public/icons/16X16PNG/database_gear.png b/public/icons/16X16PNG/database_gear.png new file mode 100644 index 0000000..7c0ab2b Binary files /dev/null and b/public/icons/16X16PNG/database_gear.png differ diff --git a/public/icons/16X16PNG/database_go.png b/public/icons/16X16PNG/database_go.png new file mode 100644 index 0000000..61a8556 Binary files /dev/null and b/public/icons/16X16PNG/database_go.png differ diff --git a/public/icons/16X16PNG/database_key.png b/public/icons/16X16PNG/database_key.png new file mode 100644 index 0000000..3334147 Binary files /dev/null and b/public/icons/16X16PNG/database_key.png differ diff --git a/public/icons/16X16PNG/database_lightning.png b/public/icons/16X16PNG/database_lightning.png new file mode 100644 index 0000000..d9eefc2 Binary files /dev/null and b/public/icons/16X16PNG/database_lightning.png differ diff --git a/public/icons/16X16PNG/database_link.png b/public/icons/16X16PNG/database_link.png new file mode 100644 index 0000000..4c8204a Binary files /dev/null and b/public/icons/16X16PNG/database_link.png differ diff --git a/public/icons/16X16PNG/database_refresh.png b/public/icons/16X16PNG/database_refresh.png new file mode 100644 index 0000000..ff803be Binary files /dev/null and b/public/icons/16X16PNG/database_refresh.png differ diff --git a/public/icons/16X16PNG/database_save.png b/public/icons/16X16PNG/database_save.png new file mode 100644 index 0000000..44c06dd Binary files /dev/null and b/public/icons/16X16PNG/database_save.png differ diff --git a/public/icons/16X16PNG/database_table.png b/public/icons/16X16PNG/database_table.png new file mode 100644 index 0000000..693709c Binary files /dev/null and b/public/icons/16X16PNG/database_table.png differ diff --git a/public/icons/16X16PNG/date.png b/public/icons/16X16PNG/date.png new file mode 100644 index 0000000..783c833 Binary files /dev/null and b/public/icons/16X16PNG/date.png differ diff --git a/public/icons/16X16PNG/date_add.png b/public/icons/16X16PNG/date_add.png new file mode 100644 index 0000000..6a7ae02 Binary files /dev/null and b/public/icons/16X16PNG/date_add.png differ diff --git a/public/icons/16X16PNG/date_delete.png b/public/icons/16X16PNG/date_delete.png new file mode 100644 index 0000000..969a6b7 Binary files /dev/null and b/public/icons/16X16PNG/date_delete.png differ diff --git a/public/icons/16X16PNG/date_edit.png b/public/icons/16X16PNG/date_edit.png new file mode 100644 index 0000000..e681065 Binary files /dev/null and b/public/icons/16X16PNG/date_edit.png differ diff --git a/public/icons/16X16PNG/date_error.png b/public/icons/16X16PNG/date_error.png new file mode 100644 index 0000000..442cd97 Binary files /dev/null and b/public/icons/16X16PNG/date_error.png differ diff --git a/public/icons/16X16PNG/date_go.png b/public/icons/16X16PNG/date_go.png new file mode 100644 index 0000000..52dd9f3 Binary files /dev/null and b/public/icons/16X16PNG/date_go.png differ diff --git a/public/icons/16X16PNG/date_link.png b/public/icons/16X16PNG/date_link.png new file mode 100644 index 0000000..9f0aada Binary files /dev/null and b/public/icons/16X16PNG/date_link.png differ diff --git a/public/icons/16X16PNG/date_magnify.png b/public/icons/16X16PNG/date_magnify.png new file mode 100644 index 0000000..cd05f19 Binary files /dev/null and b/public/icons/16X16PNG/date_magnify.png differ diff --git a/public/icons/16X16PNG/date_next.png b/public/icons/16X16PNG/date_next.png new file mode 100644 index 0000000..48d740a Binary files /dev/null and b/public/icons/16X16PNG/date_next.png differ diff --git a/public/icons/16X16PNG/date_previous.png b/public/icons/16X16PNG/date_previous.png new file mode 100644 index 0000000..e117a83 Binary files /dev/null and b/public/icons/16X16PNG/date_previous.png differ diff --git a/public/icons/16X16PNG/delete.png b/public/icons/16X16PNG/delete.png new file mode 100644 index 0000000..08f2493 Binary files /dev/null and b/public/icons/16X16PNG/delete.png differ diff --git a/public/icons/16X16PNG/disconnect.png b/public/icons/16X16PNG/disconnect.png new file mode 100644 index 0000000..b335cb1 Binary files /dev/null and b/public/icons/16X16PNG/disconnect.png differ diff --git a/public/icons/16X16PNG/disk.png b/public/icons/16X16PNG/disk.png new file mode 100644 index 0000000..99d532e Binary files /dev/null and b/public/icons/16X16PNG/disk.png differ diff --git a/public/icons/16X16PNG/disk_multiple.png b/public/icons/16X16PNG/disk_multiple.png new file mode 100644 index 0000000..fc5a52f Binary files /dev/null and b/public/icons/16X16PNG/disk_multiple.png differ diff --git a/public/icons/16X16PNG/door.png b/public/icons/16X16PNG/door.png new file mode 100644 index 0000000..369fc46 Binary files /dev/null and b/public/icons/16X16PNG/door.png differ diff --git a/public/icons/16X16PNG/door_in.png b/public/icons/16X16PNG/door_in.png new file mode 100644 index 0000000..41676a0 Binary files /dev/null and b/public/icons/16X16PNG/door_in.png differ diff --git a/public/icons/16X16PNG/door_open.png b/public/icons/16X16PNG/door_open.png new file mode 100644 index 0000000..64bab57 Binary files /dev/null and b/public/icons/16X16PNG/door_open.png differ diff --git a/public/icons/16X16PNG/door_out.png b/public/icons/16X16PNG/door_out.png new file mode 100644 index 0000000..2541d2b Binary files /dev/null and b/public/icons/16X16PNG/door_out.png differ diff --git a/public/icons/16X16PNG/drink.png b/public/icons/16X16PNG/drink.png new file mode 100644 index 0000000..d98359c Binary files /dev/null and b/public/icons/16X16PNG/drink.png differ diff --git a/public/icons/16X16PNG/drink_empty.png b/public/icons/16X16PNG/drink_empty.png new file mode 100644 index 0000000..a40211e Binary files /dev/null and b/public/icons/16X16PNG/drink_empty.png differ diff --git a/public/icons/16X16PNG/drive.png b/public/icons/16X16PNG/drive.png new file mode 100644 index 0000000..37b7c9b Binary files /dev/null and b/public/icons/16X16PNG/drive.png differ diff --git a/public/icons/16X16PNG/drive_add.png b/public/icons/16X16PNG/drive_add.png new file mode 100644 index 0000000..29a35d5 Binary files /dev/null and b/public/icons/16X16PNG/drive_add.png differ diff --git a/public/icons/16X16PNG/drive_burn.png b/public/icons/16X16PNG/drive_burn.png new file mode 100644 index 0000000..80fd79f Binary files /dev/null and b/public/icons/16X16PNG/drive_burn.png differ diff --git a/public/icons/16X16PNG/drive_cd.png b/public/icons/16X16PNG/drive_cd.png new file mode 100644 index 0000000..1850b70 Binary files /dev/null and b/public/icons/16X16PNG/drive_cd.png differ diff --git a/public/icons/16X16PNG/drive_cd_empty.png b/public/icons/16X16PNG/drive_cd_empty.png new file mode 100644 index 0000000..8df38d9 Binary files /dev/null and b/public/icons/16X16PNG/drive_cd_empty.png differ diff --git a/public/icons/16X16PNG/drive_delete.png b/public/icons/16X16PNG/drive_delete.png new file mode 100644 index 0000000..e6eb186 Binary files /dev/null and b/public/icons/16X16PNG/drive_delete.png differ diff --git a/public/icons/16X16PNG/drive_disk.png b/public/icons/16X16PNG/drive_disk.png new file mode 100644 index 0000000..5a51e81 Binary files /dev/null and b/public/icons/16X16PNG/drive_disk.png differ diff --git a/public/icons/16X16PNG/drive_edit.png b/public/icons/16X16PNG/drive_edit.png new file mode 100644 index 0000000..7923fad Binary files /dev/null and b/public/icons/16X16PNG/drive_edit.png differ diff --git a/public/icons/16X16PNG/drive_error.png b/public/icons/16X16PNG/drive_error.png new file mode 100644 index 0000000..309f639 Binary files /dev/null and b/public/icons/16X16PNG/drive_error.png differ diff --git a/public/icons/16X16PNG/drive_go.png b/public/icons/16X16PNG/drive_go.png new file mode 100644 index 0000000..fc53379 Binary files /dev/null and b/public/icons/16X16PNG/drive_go.png differ diff --git a/public/icons/16X16PNG/drive_key.png b/public/icons/16X16PNG/drive_key.png new file mode 100644 index 0000000..d0b3c67 Binary files /dev/null and b/public/icons/16X16PNG/drive_key.png differ diff --git a/public/icons/16X16PNG/drive_link.png b/public/icons/16X16PNG/drive_link.png new file mode 100644 index 0000000..8679c4b Binary files /dev/null and b/public/icons/16X16PNG/drive_link.png differ diff --git a/public/icons/16X16PNG/drive_magnify.png b/public/icons/16X16PNG/drive_magnify.png new file mode 100644 index 0000000..0f0f444 Binary files /dev/null and b/public/icons/16X16PNG/drive_magnify.png differ diff --git a/public/icons/16X16PNG/drive_network.png b/public/icons/16X16PNG/drive_network.png new file mode 100644 index 0000000..63d2d5d Binary files /dev/null and b/public/icons/16X16PNG/drive_network.png differ diff --git a/public/icons/16X16PNG/drive_rename.png b/public/icons/16X16PNG/drive_rename.png new file mode 100644 index 0000000..2a9f38b Binary files /dev/null and b/public/icons/16X16PNG/drive_rename.png differ diff --git a/public/icons/16X16PNG/drive_user.png b/public/icons/16X16PNG/drive_user.png new file mode 100644 index 0000000..0b4751c Binary files /dev/null and b/public/icons/16X16PNG/drive_user.png differ diff --git a/public/icons/16X16PNG/drive_web.png b/public/icons/16X16PNG/drive_web.png new file mode 100644 index 0000000..8850a83 Binary files /dev/null and b/public/icons/16X16PNG/drive_web.png differ diff --git a/public/icons/16X16PNG/dvd.png b/public/icons/16X16PNG/dvd.png new file mode 100644 index 0000000..9d94de5 Binary files /dev/null and b/public/icons/16X16PNG/dvd.png differ diff --git a/public/icons/16X16PNG/dvd_add.png b/public/icons/16X16PNG/dvd_add.png new file mode 100644 index 0000000..517d112 Binary files /dev/null and b/public/icons/16X16PNG/dvd_add.png differ diff --git a/public/icons/16X16PNG/dvd_delete.png b/public/icons/16X16PNG/dvd_delete.png new file mode 100644 index 0000000..87bed22 Binary files /dev/null and b/public/icons/16X16PNG/dvd_delete.png differ diff --git a/public/icons/16X16PNG/dvd_edit.png b/public/icons/16X16PNG/dvd_edit.png new file mode 100644 index 0000000..d6330aa Binary files /dev/null and b/public/icons/16X16PNG/dvd_edit.png differ diff --git a/public/icons/16X16PNG/dvd_error.png b/public/icons/16X16PNG/dvd_error.png new file mode 100644 index 0000000..8f6d4be Binary files /dev/null and b/public/icons/16X16PNG/dvd_error.png differ diff --git a/public/icons/16X16PNG/dvd_go.png b/public/icons/16X16PNG/dvd_go.png new file mode 100644 index 0000000..ef6959f Binary files /dev/null and b/public/icons/16X16PNG/dvd_go.png differ diff --git a/public/icons/16X16PNG/dvd_key.png b/public/icons/16X16PNG/dvd_key.png new file mode 100644 index 0000000..da9307f Binary files /dev/null and b/public/icons/16X16PNG/dvd_key.png differ diff --git a/public/icons/16X16PNG/dvd_link.png b/public/icons/16X16PNG/dvd_link.png new file mode 100644 index 0000000..caad726 Binary files /dev/null and b/public/icons/16X16PNG/dvd_link.png differ diff --git a/public/icons/16X16PNG/email.png b/public/icons/16X16PNG/email.png new file mode 100644 index 0000000..7348aed Binary files /dev/null and b/public/icons/16X16PNG/email.png differ diff --git a/public/icons/16X16PNG/email_add.png b/public/icons/16X16PNG/email_add.png new file mode 100644 index 0000000..6c93368 Binary files /dev/null and b/public/icons/16X16PNG/email_add.png differ diff --git a/public/icons/16X16PNG/email_attach.png b/public/icons/16X16PNG/email_attach.png new file mode 100644 index 0000000..1f99485 Binary files /dev/null and b/public/icons/16X16PNG/email_attach.png differ diff --git a/public/icons/16X16PNG/email_delete.png b/public/icons/16X16PNG/email_delete.png new file mode 100644 index 0000000..a9932b1 Binary files /dev/null and b/public/icons/16X16PNG/email_delete.png differ diff --git a/public/icons/16X16PNG/email_edit.png b/public/icons/16X16PNG/email_edit.png new file mode 100644 index 0000000..244f04a Binary files /dev/null and b/public/icons/16X16PNG/email_edit.png differ diff --git a/public/icons/16X16PNG/email_error.png b/public/icons/16X16PNG/email_error.png new file mode 100644 index 0000000..8bdd330 Binary files /dev/null and b/public/icons/16X16PNG/email_error.png differ diff --git a/public/icons/16X16PNG/email_go.png b/public/icons/16X16PNG/email_go.png new file mode 100644 index 0000000..4a6c5d3 Binary files /dev/null and b/public/icons/16X16PNG/email_go.png differ diff --git a/public/icons/16X16PNG/email_link.png b/public/icons/16X16PNG/email_link.png new file mode 100644 index 0000000..2c49f78 Binary files /dev/null and b/public/icons/16X16PNG/email_link.png differ diff --git a/public/icons/16X16PNG/email_open.png b/public/icons/16X16PNG/email_open.png new file mode 100644 index 0000000..7b6f981 Binary files /dev/null and b/public/icons/16X16PNG/email_open.png differ diff --git a/public/icons/16X16PNG/email_open_image.png b/public/icons/16X16PNG/email_open_image.png new file mode 100644 index 0000000..e588e2f Binary files /dev/null and b/public/icons/16X16PNG/email_open_image.png differ diff --git a/public/icons/16X16PNG/emoticon_evilgrin.png b/public/icons/16X16PNG/emoticon_evilgrin.png new file mode 100644 index 0000000..817bd50 Binary files /dev/null and b/public/icons/16X16PNG/emoticon_evilgrin.png differ diff --git a/public/icons/16X16PNG/emoticon_grin.png b/public/icons/16X16PNG/emoticon_grin.png new file mode 100644 index 0000000..fc60c5e Binary files /dev/null and b/public/icons/16X16PNG/emoticon_grin.png differ diff --git a/public/icons/16X16PNG/emoticon_happy.png b/public/icons/16X16PNG/emoticon_happy.png new file mode 100644 index 0000000..6b7336e Binary files /dev/null and b/public/icons/16X16PNG/emoticon_happy.png differ diff --git a/public/icons/16X16PNG/emoticon_smile.png b/public/icons/16X16PNG/emoticon_smile.png new file mode 100644 index 0000000..ade4318 Binary files /dev/null and b/public/icons/16X16PNG/emoticon_smile.png differ diff --git a/public/icons/16X16PNG/emoticon_surprised.png b/public/icons/16X16PNG/emoticon_surprised.png new file mode 100644 index 0000000..4520cfc Binary files /dev/null and b/public/icons/16X16PNG/emoticon_surprised.png differ diff --git a/public/icons/16X16PNG/emoticon_tongue.png b/public/icons/16X16PNG/emoticon_tongue.png new file mode 100644 index 0000000..ecafd2f Binary files /dev/null and b/public/icons/16X16PNG/emoticon_tongue.png differ diff --git a/public/icons/16X16PNG/emoticon_unhappy.png b/public/icons/16X16PNG/emoticon_unhappy.png new file mode 100644 index 0000000..fd5d030 Binary files /dev/null and b/public/icons/16X16PNG/emoticon_unhappy.png differ diff --git a/public/icons/16X16PNG/emoticon_waii.png b/public/icons/16X16PNG/emoticon_waii.png new file mode 100644 index 0000000..458f936 Binary files /dev/null and b/public/icons/16X16PNG/emoticon_waii.png differ diff --git a/public/icons/16X16PNG/emoticon_wink.png b/public/icons/16X16PNG/emoticon_wink.png new file mode 100644 index 0000000..a631949 Binary files /dev/null and b/public/icons/16X16PNG/emoticon_wink.png differ diff --git a/public/icons/16X16PNG/error.png b/public/icons/16X16PNG/error.png new file mode 100644 index 0000000..628cf2d Binary files /dev/null and b/public/icons/16X16PNG/error.png differ diff --git a/public/icons/16X16PNG/error_add.png b/public/icons/16X16PNG/error_add.png new file mode 100644 index 0000000..4c97484 Binary files /dev/null and b/public/icons/16X16PNG/error_add.png differ diff --git a/public/icons/16X16PNG/error_delete.png b/public/icons/16X16PNG/error_delete.png new file mode 100644 index 0000000..7f78bcc Binary files /dev/null and b/public/icons/16X16PNG/error_delete.png differ diff --git a/public/icons/16X16PNG/error_go.png b/public/icons/16X16PNG/error_go.png new file mode 100644 index 0000000..caa1838 Binary files /dev/null and b/public/icons/16X16PNG/error_go.png differ diff --git a/public/icons/16X16PNG/exclamation.png b/public/icons/16X16PNG/exclamation.png new file mode 100644 index 0000000..c37bd06 Binary files /dev/null and b/public/icons/16X16PNG/exclamation.png differ diff --git a/public/icons/16X16PNG/eye.png b/public/icons/16X16PNG/eye.png new file mode 100644 index 0000000..564a1a9 Binary files /dev/null and b/public/icons/16X16PNG/eye.png differ diff --git a/public/icons/16X16PNG/famfamfam-silk.png b/public/icons/16X16PNG/famfamfam-silk.png new file mode 100644 index 0000000..857597e Binary files /dev/null and b/public/icons/16X16PNG/famfamfam-silk.png differ diff --git a/public/icons/16X16PNG/feed.png b/public/icons/16X16PNG/feed.png new file mode 100644 index 0000000..315c4f4 Binary files /dev/null and b/public/icons/16X16PNG/feed.png differ diff --git a/public/icons/16X16PNG/feed_add.png b/public/icons/16X16PNG/feed_add.png new file mode 100644 index 0000000..e77d46e Binary files /dev/null and b/public/icons/16X16PNG/feed_add.png differ diff --git a/public/icons/16X16PNG/feed_delete.png b/public/icons/16X16PNG/feed_delete.png new file mode 100644 index 0000000..5e332b4 Binary files /dev/null and b/public/icons/16X16PNG/feed_delete.png differ diff --git a/public/icons/16X16PNG/feed_disk.png b/public/icons/16X16PNG/feed_disk.png new file mode 100644 index 0000000..a158c99 Binary files /dev/null and b/public/icons/16X16PNG/feed_disk.png differ diff --git a/public/icons/16X16PNG/feed_edit.png b/public/icons/16X16PNG/feed_edit.png new file mode 100644 index 0000000..f1fde7a Binary files /dev/null and b/public/icons/16X16PNG/feed_edit.png differ diff --git a/public/icons/16X16PNG/feed_error.png b/public/icons/16X16PNG/feed_error.png new file mode 100644 index 0000000..c0a801c Binary files /dev/null and b/public/icons/16X16PNG/feed_error.png differ diff --git a/public/icons/16X16PNG/feed_go.png b/public/icons/16X16PNG/feed_go.png new file mode 100644 index 0000000..f2eed1e Binary files /dev/null and b/public/icons/16X16PNG/feed_go.png differ diff --git a/public/icons/16X16PNG/feed_key.png b/public/icons/16X16PNG/feed_key.png new file mode 100644 index 0000000..156bfa9 Binary files /dev/null and b/public/icons/16X16PNG/feed_key.png differ diff --git a/public/icons/16X16PNG/feed_link.png b/public/icons/16X16PNG/feed_link.png new file mode 100644 index 0000000..c45a534 Binary files /dev/null and b/public/icons/16X16PNG/feed_link.png differ diff --git a/public/icons/16X16PNG/feed_magnify.png b/public/icons/16X16PNG/feed_magnify.png new file mode 100644 index 0000000..3023695 Binary files /dev/null and b/public/icons/16X16PNG/feed_magnify.png differ diff --git a/public/icons/16X16PNG/female.png b/public/icons/16X16PNG/female.png new file mode 100644 index 0000000..f92958e Binary files /dev/null and b/public/icons/16X16PNG/female.png differ diff --git a/public/icons/16X16PNG/film.png b/public/icons/16X16PNG/film.png new file mode 100644 index 0000000..b0ce7bb Binary files /dev/null and b/public/icons/16X16PNG/film.png differ diff --git a/public/icons/16X16PNG/film_add.png b/public/icons/16X16PNG/film_add.png new file mode 100644 index 0000000..40d681f Binary files /dev/null and b/public/icons/16X16PNG/film_add.png differ diff --git a/public/icons/16X16PNG/film_delete.png b/public/icons/16X16PNG/film_delete.png new file mode 100644 index 0000000..23a2508 Binary files /dev/null and b/public/icons/16X16PNG/film_delete.png differ diff --git a/public/icons/16X16PNG/film_edit.png b/public/icons/16X16PNG/film_edit.png new file mode 100644 index 0000000..af66b73 Binary files /dev/null and b/public/icons/16X16PNG/film_edit.png differ diff --git a/public/icons/16X16PNG/film_error.png b/public/icons/16X16PNG/film_error.png new file mode 100644 index 0000000..88f3d69 Binary files /dev/null and b/public/icons/16X16PNG/film_error.png differ diff --git a/public/icons/16X16PNG/film_go.png b/public/icons/16X16PNG/film_go.png new file mode 100644 index 0000000..dd0168e Binary files /dev/null and b/public/icons/16X16PNG/film_go.png differ diff --git a/public/icons/16X16PNG/film_key.png b/public/icons/16X16PNG/film_key.png new file mode 100644 index 0000000..5892162 Binary files /dev/null and b/public/icons/16X16PNG/film_key.png differ diff --git a/public/icons/16X16PNG/film_link.png b/public/icons/16X16PNG/film_link.png new file mode 100644 index 0000000..0f24e86 Binary files /dev/null and b/public/icons/16X16PNG/film_link.png differ diff --git a/public/icons/16X16PNG/film_save.png b/public/icons/16X16PNG/film_save.png new file mode 100644 index 0000000..bc8c0d3 Binary files /dev/null and b/public/icons/16X16PNG/film_save.png differ diff --git a/public/icons/16X16PNG/find.png b/public/icons/16X16PNG/find.png new file mode 100644 index 0000000..1547479 Binary files /dev/null and b/public/icons/16X16PNG/find.png differ diff --git a/public/icons/16X16PNG/flag_blue.png b/public/icons/16X16PNG/flag_blue.png new file mode 100644 index 0000000..003924f Binary files /dev/null and b/public/icons/16X16PNG/flag_blue.png differ diff --git a/public/icons/16X16PNG/flag_green.png b/public/icons/16X16PNG/flag_green.png new file mode 100644 index 0000000..e4bc611 Binary files /dev/null and b/public/icons/16X16PNG/flag_green.png differ diff --git a/public/icons/16X16PNG/flag_orange.png b/public/icons/16X16PNG/flag_orange.png new file mode 100644 index 0000000..e632024 Binary files /dev/null and b/public/icons/16X16PNG/flag_orange.png differ diff --git a/public/icons/16X16PNG/flag_pink.png b/public/icons/16X16PNG/flag_pink.png new file mode 100644 index 0000000..5f15e52 Binary files /dev/null and b/public/icons/16X16PNG/flag_pink.png differ diff --git a/public/icons/16X16PNG/flag_purple.png b/public/icons/16X16PNG/flag_purple.png new file mode 100644 index 0000000..d069866 Binary files /dev/null and b/public/icons/16X16PNG/flag_purple.png differ diff --git a/public/icons/16X16PNG/flag_red.png b/public/icons/16X16PNG/flag_red.png new file mode 100644 index 0000000..e8a602d Binary files /dev/null and b/public/icons/16X16PNG/flag_red.png differ diff --git a/public/icons/16X16PNG/flag_yellow.png b/public/icons/16X16PNG/flag_yellow.png new file mode 100644 index 0000000..14c89a5 Binary files /dev/null and b/public/icons/16X16PNG/flag_yellow.png differ diff --git a/public/icons/16X16PNG/folder.png b/public/icons/16X16PNG/folder.png new file mode 100644 index 0000000..784e8fa Binary files /dev/null and b/public/icons/16X16PNG/folder.png differ diff --git a/public/icons/16X16PNG/folder_add.png b/public/icons/16X16PNG/folder_add.png new file mode 100644 index 0000000..529fe8f Binary files /dev/null and b/public/icons/16X16PNG/folder_add.png differ diff --git a/public/icons/16X16PNG/folder_bell.png b/public/icons/16X16PNG/folder_bell.png new file mode 100644 index 0000000..d04dd7f Binary files /dev/null and b/public/icons/16X16PNG/folder_bell.png differ diff --git a/public/icons/16X16PNG/folder_brick.png b/public/icons/16X16PNG/folder_brick.png new file mode 100644 index 0000000..5dea976 Binary files /dev/null and b/public/icons/16X16PNG/folder_brick.png differ diff --git a/public/icons/16X16PNG/folder_bug.png b/public/icons/16X16PNG/folder_bug.png new file mode 100644 index 0000000..4f791b6 Binary files /dev/null and b/public/icons/16X16PNG/folder_bug.png differ diff --git a/public/icons/16X16PNG/folder_camera.png b/public/icons/16X16PNG/folder_camera.png new file mode 100644 index 0000000..c951941 Binary files /dev/null and b/public/icons/16X16PNG/folder_camera.png differ diff --git a/public/icons/16X16PNG/folder_database.png b/public/icons/16X16PNG/folder_database.png new file mode 100644 index 0000000..5193e2e Binary files /dev/null and b/public/icons/16X16PNG/folder_database.png differ diff --git a/public/icons/16X16PNG/folder_delete.png b/public/icons/16X16PNG/folder_delete.png new file mode 100644 index 0000000..112b016 Binary files /dev/null and b/public/icons/16X16PNG/folder_delete.png differ diff --git a/public/icons/16X16PNG/folder_edit.png b/public/icons/16X16PNG/folder_edit.png new file mode 100644 index 0000000..ad669cc Binary files /dev/null and b/public/icons/16X16PNG/folder_edit.png differ diff --git a/public/icons/16X16PNG/folder_error.png b/public/icons/16X16PNG/folder_error.png new file mode 100644 index 0000000..1af8809 Binary files /dev/null and b/public/icons/16X16PNG/folder_error.png differ diff --git a/public/icons/16X16PNG/folder_explore.png b/public/icons/16X16PNG/folder_explore.png new file mode 100644 index 0000000..0ba9391 Binary files /dev/null and b/public/icons/16X16PNG/folder_explore.png differ diff --git a/public/icons/16X16PNG/folder_feed.png b/public/icons/16X16PNG/folder_feed.png new file mode 100644 index 0000000..d06ee51 Binary files /dev/null and b/public/icons/16X16PNG/folder_feed.png differ diff --git a/public/icons/16X16PNG/folder_find.png b/public/icons/16X16PNG/folder_find.png new file mode 100644 index 0000000..c64e2ee Binary files /dev/null and b/public/icons/16X16PNG/folder_find.png differ diff --git a/public/icons/16X16PNG/folder_go.png b/public/icons/16X16PNG/folder_go.png new file mode 100644 index 0000000..34a736f Binary files /dev/null and b/public/icons/16X16PNG/folder_go.png differ diff --git a/public/icons/16X16PNG/folder_heart.png b/public/icons/16X16PNG/folder_heart.png new file mode 100644 index 0000000..56d7da1 Binary files /dev/null and b/public/icons/16X16PNG/folder_heart.png differ diff --git a/public/icons/16X16PNG/folder_image.png b/public/icons/16X16PNG/folder_image.png new file mode 100644 index 0000000..d5df75b Binary files /dev/null and b/public/icons/16X16PNG/folder_image.png differ diff --git a/public/icons/16X16PNG/folder_key.png b/public/icons/16X16PNG/folder_key.png new file mode 100644 index 0000000..fb9b4c2 Binary files /dev/null and b/public/icons/16X16PNG/folder_key.png differ diff --git a/public/icons/16X16PNG/folder_lightbulb.png b/public/icons/16X16PNG/folder_lightbulb.png new file mode 100644 index 0000000..f367a51 Binary files /dev/null and b/public/icons/16X16PNG/folder_lightbulb.png differ diff --git a/public/icons/16X16PNG/folder_link.png b/public/icons/16X16PNG/folder_link.png new file mode 100644 index 0000000..b9b75f6 Binary files /dev/null and b/public/icons/16X16PNG/folder_link.png differ diff --git a/public/icons/16X16PNG/folder_magnify.png b/public/icons/16X16PNG/folder_magnify.png new file mode 100644 index 0000000..0a3e798 Binary files /dev/null and b/public/icons/16X16PNG/folder_magnify.png differ diff --git a/public/icons/16X16PNG/folder_page.png b/public/icons/16X16PNG/folder_page.png new file mode 100644 index 0000000..1ef6e11 Binary files /dev/null and b/public/icons/16X16PNG/folder_page.png differ diff --git a/public/icons/16X16PNG/folder_page_white.png b/public/icons/16X16PNG/folder_page_white.png new file mode 100644 index 0000000..14d6b61 Binary files /dev/null and b/public/icons/16X16PNG/folder_page_white.png differ diff --git a/public/icons/16X16PNG/folder_palette.png b/public/icons/16X16PNG/folder_palette.png new file mode 100644 index 0000000..ba12fe8 Binary files /dev/null and b/public/icons/16X16PNG/folder_palette.png differ diff --git a/public/icons/16X16PNG/folder_picture.png b/public/icons/16X16PNG/folder_picture.png new file mode 100644 index 0000000..052b336 Binary files /dev/null and b/public/icons/16X16PNG/folder_picture.png differ diff --git a/public/icons/16X16PNG/folder_star.png b/public/icons/16X16PNG/folder_star.png new file mode 100644 index 0000000..448e46f Binary files /dev/null and b/public/icons/16X16PNG/folder_star.png differ diff --git a/public/icons/16X16PNG/folder_table.png b/public/icons/16X16PNG/folder_table.png new file mode 100644 index 0000000..473cee3 Binary files /dev/null and b/public/icons/16X16PNG/folder_table.png differ diff --git a/public/icons/16X16PNG/folder_user.png b/public/icons/16X16PNG/folder_user.png new file mode 100644 index 0000000..f021c3e Binary files /dev/null and b/public/icons/16X16PNG/folder_user.png differ diff --git a/public/icons/16X16PNG/folder_wrench.png b/public/icons/16X16PNG/folder_wrench.png new file mode 100644 index 0000000..ea3404e Binary files /dev/null and b/public/icons/16X16PNG/folder_wrench.png differ diff --git a/public/icons/16X16PNG/font.png b/public/icons/16X16PNG/font.png new file mode 100644 index 0000000..b7960db Binary files /dev/null and b/public/icons/16X16PNG/font.png differ diff --git a/public/icons/16X16PNG/font_add.png b/public/icons/16X16PNG/font_add.png new file mode 100644 index 0000000..b709eba Binary files /dev/null and b/public/icons/16X16PNG/font_add.png differ diff --git a/public/icons/16X16PNG/font_delete.png b/public/icons/16X16PNG/font_delete.png new file mode 100644 index 0000000..1d6124d Binary files /dev/null and b/public/icons/16X16PNG/font_delete.png differ diff --git a/public/icons/16X16PNG/font_go.png b/public/icons/16X16PNG/font_go.png new file mode 100644 index 0000000..75eba80 Binary files /dev/null and b/public/icons/16X16PNG/font_go.png differ diff --git a/public/icons/16X16PNG/group.png b/public/icons/16X16PNG/group.png new file mode 100644 index 0000000..7fb4e1f Binary files /dev/null and b/public/icons/16X16PNG/group.png differ diff --git a/public/icons/16X16PNG/group_add.png b/public/icons/16X16PNG/group_add.png new file mode 100644 index 0000000..06c5350 Binary files /dev/null and b/public/icons/16X16PNG/group_add.png differ diff --git a/public/icons/16X16PNG/group_delete.png b/public/icons/16X16PNG/group_delete.png new file mode 100644 index 0000000..4489ca2 Binary files /dev/null and b/public/icons/16X16PNG/group_delete.png differ diff --git a/public/icons/16X16PNG/group_edit.png b/public/icons/16X16PNG/group_edit.png new file mode 100644 index 0000000..c88b945 Binary files /dev/null and b/public/icons/16X16PNG/group_edit.png differ diff --git a/public/icons/16X16PNG/group_error.png b/public/icons/16X16PNG/group_error.png new file mode 100644 index 0000000..7364a13 Binary files /dev/null and b/public/icons/16X16PNG/group_error.png differ diff --git a/public/icons/16X16PNG/group_gear.png b/public/icons/16X16PNG/group_gear.png new file mode 100644 index 0000000..2544f2e Binary files /dev/null and b/public/icons/16X16PNG/group_gear.png differ diff --git a/public/icons/16X16PNG/group_go.png b/public/icons/16X16PNG/group_go.png new file mode 100644 index 0000000..1f52333 Binary files /dev/null and b/public/icons/16X16PNG/group_go.png differ diff --git a/public/icons/16X16PNG/group_key.png b/public/icons/16X16PNG/group_key.png new file mode 100644 index 0000000..257f111 Binary files /dev/null and b/public/icons/16X16PNG/group_key.png differ diff --git a/public/icons/16X16PNG/group_link.png b/public/icons/16X16PNG/group_link.png new file mode 100644 index 0000000..c77ed88 Binary files /dev/null and b/public/icons/16X16PNG/group_link.png differ diff --git a/public/icons/16X16PNG/heart.png b/public/icons/16X16PNG/heart.png new file mode 100644 index 0000000..d9ee53e Binary files /dev/null and b/public/icons/16X16PNG/heart.png differ diff --git a/public/icons/16X16PNG/heart_add.png b/public/icons/16X16PNG/heart_add.png new file mode 100644 index 0000000..d4195ff Binary files /dev/null and b/public/icons/16X16PNG/heart_add.png differ diff --git a/public/icons/16X16PNG/heart_delete.png b/public/icons/16X16PNG/heart_delete.png new file mode 100644 index 0000000..ce523e3 Binary files /dev/null and b/public/icons/16X16PNG/heart_delete.png differ diff --git a/public/icons/16X16PNG/help.png b/public/icons/16X16PNG/help.png new file mode 100644 index 0000000..5c87017 Binary files /dev/null and b/public/icons/16X16PNG/help.png differ diff --git a/public/icons/16X16PNG/hourglass.png b/public/icons/16X16PNG/hourglass.png new file mode 100644 index 0000000..57b03ce Binary files /dev/null and b/public/icons/16X16PNG/hourglass.png differ diff --git a/public/icons/16X16PNG/hourglass_add.png b/public/icons/16X16PNG/hourglass_add.png new file mode 100644 index 0000000..170dfff Binary files /dev/null and b/public/icons/16X16PNG/hourglass_add.png differ diff --git a/public/icons/16X16PNG/hourglass_delete.png b/public/icons/16X16PNG/hourglass_delete.png new file mode 100644 index 0000000..4b1337b Binary files /dev/null and b/public/icons/16X16PNG/hourglass_delete.png differ diff --git a/public/icons/16X16PNG/hourglass_go.png b/public/icons/16X16PNG/hourglass_go.png new file mode 100644 index 0000000..b2d3a98 Binary files /dev/null and b/public/icons/16X16PNG/hourglass_go.png differ diff --git a/public/icons/16X16PNG/hourglass_link.png b/public/icons/16X16PNG/hourglass_link.png new file mode 100644 index 0000000..ecc59b0 Binary files /dev/null and b/public/icons/16X16PNG/hourglass_link.png differ diff --git a/public/icons/16X16PNG/house.png b/public/icons/16X16PNG/house.png new file mode 100644 index 0000000..fed6221 Binary files /dev/null and b/public/icons/16X16PNG/house.png differ diff --git a/public/icons/16X16PNG/house_go.png b/public/icons/16X16PNG/house_go.png new file mode 100644 index 0000000..5457dbd Binary files /dev/null and b/public/icons/16X16PNG/house_go.png differ diff --git a/public/icons/16X16PNG/house_link.png b/public/icons/16X16PNG/house_link.png new file mode 100644 index 0000000..be2c271 Binary files /dev/null and b/public/icons/16X16PNG/house_link.png differ diff --git a/public/icons/16X16PNG/html.png b/public/icons/16X16PNG/html.png new file mode 100644 index 0000000..55d1072 Binary files /dev/null and b/public/icons/16X16PNG/html.png differ diff --git a/public/icons/16X16PNG/html_add.png b/public/icons/16X16PNG/html_add.png new file mode 100644 index 0000000..f1c08b7 Binary files /dev/null and b/public/icons/16X16PNG/html_add.png differ diff --git a/public/icons/16X16PNG/html_delete.png b/public/icons/16X16PNG/html_delete.png new file mode 100644 index 0000000..1bd2848 Binary files /dev/null and b/public/icons/16X16PNG/html_delete.png differ diff --git a/public/icons/16X16PNG/html_go.png b/public/icons/16X16PNG/html_go.png new file mode 100644 index 0000000..a95cede Binary files /dev/null and b/public/icons/16X16PNG/html_go.png differ diff --git a/public/icons/16X16PNG/html_valid.png b/public/icons/16X16PNG/html_valid.png new file mode 100644 index 0000000..71cec92 Binary files /dev/null and b/public/icons/16X16PNG/html_valid.png differ diff --git a/public/icons/16X16PNG/image.png b/public/icons/16X16PNG/image.png new file mode 100644 index 0000000..fc3c393 Binary files /dev/null and b/public/icons/16X16PNG/image.png differ diff --git a/public/icons/16X16PNG/image_add.png b/public/icons/16X16PNG/image_add.png new file mode 100644 index 0000000..fc5d613 Binary files /dev/null and b/public/icons/16X16PNG/image_add.png differ diff --git a/public/icons/16X16PNG/image_delete.png b/public/icons/16X16PNG/image_delete.png new file mode 100644 index 0000000..c260e1d Binary files /dev/null and b/public/icons/16X16PNG/image_delete.png differ diff --git a/public/icons/16X16PNG/image_edit.png b/public/icons/16X16PNG/image_edit.png new file mode 100644 index 0000000..0aa4cc6 Binary files /dev/null and b/public/icons/16X16PNG/image_edit.png differ diff --git a/public/icons/16X16PNG/image_link.png b/public/icons/16X16PNG/image_link.png new file mode 100644 index 0000000..4bdb354 Binary files /dev/null and b/public/icons/16X16PNG/image_link.png differ diff --git a/public/icons/16X16PNG/images.png b/public/icons/16X16PNG/images.png new file mode 100644 index 0000000..184860d Binary files /dev/null and b/public/icons/16X16PNG/images.png differ diff --git a/public/icons/16X16PNG/information.png b/public/icons/16X16PNG/information.png new file mode 100644 index 0000000..12cd1ae Binary files /dev/null and b/public/icons/16X16PNG/information.png differ diff --git a/public/icons/16X16PNG/ipod.png b/public/icons/16X16PNG/ipod.png new file mode 100644 index 0000000..3f768da Binary files /dev/null and b/public/icons/16X16PNG/ipod.png differ diff --git a/public/icons/16X16PNG/ipod_cast.png b/public/icons/16X16PNG/ipod_cast.png new file mode 100644 index 0000000..6f6d340 Binary files /dev/null and b/public/icons/16X16PNG/ipod_cast.png differ diff --git a/public/icons/16X16PNG/ipod_cast_add.png b/public/icons/16X16PNG/ipod_cast_add.png new file mode 100644 index 0000000..c3257f5 Binary files /dev/null and b/public/icons/16X16PNG/ipod_cast_add.png differ diff --git a/public/icons/16X16PNG/ipod_cast_delete.png b/public/icons/16X16PNG/ipod_cast_delete.png new file mode 100644 index 0000000..377ab69 Binary files /dev/null and b/public/icons/16X16PNG/ipod_cast_delete.png differ diff --git a/public/icons/16X16PNG/ipod_sound.png b/public/icons/16X16PNG/ipod_sound.png new file mode 100644 index 0000000..fef6e8b Binary files /dev/null and b/public/icons/16X16PNG/ipod_sound.png differ diff --git a/public/icons/16X16PNG/joystick.png b/public/icons/16X16PNG/joystick.png new file mode 100644 index 0000000..62168f5 Binary files /dev/null and b/public/icons/16X16PNG/joystick.png differ diff --git a/public/icons/16X16PNG/joystick_add.png b/public/icons/16X16PNG/joystick_add.png new file mode 100644 index 0000000..77e7107 Binary files /dev/null and b/public/icons/16X16PNG/joystick_add.png differ diff --git a/public/icons/16X16PNG/joystick_delete.png b/public/icons/16X16PNG/joystick_delete.png new file mode 100644 index 0000000..5d44b59 Binary files /dev/null and b/public/icons/16X16PNG/joystick_delete.png differ diff --git a/public/icons/16X16PNG/joystick_error.png b/public/icons/16X16PNG/joystick_error.png new file mode 100644 index 0000000..b32149e Binary files /dev/null and b/public/icons/16X16PNG/joystick_error.png differ diff --git a/public/icons/16X16PNG/key.png b/public/icons/16X16PNG/key.png new file mode 100644 index 0000000..4ec1a92 Binary files /dev/null and b/public/icons/16X16PNG/key.png differ diff --git a/public/icons/16X16PNG/key_add.png b/public/icons/16X16PNG/key_add.png new file mode 100644 index 0000000..d407403 Binary files /dev/null and b/public/icons/16X16PNG/key_add.png differ diff --git a/public/icons/16X16PNG/key_delete.png b/public/icons/16X16PNG/key_delete.png new file mode 100644 index 0000000..00dec80 Binary files /dev/null and b/public/icons/16X16PNG/key_delete.png differ diff --git a/public/icons/16X16PNG/key_go.png b/public/icons/16X16PNG/key_go.png new file mode 100644 index 0000000..30b0dc3 Binary files /dev/null and b/public/icons/16X16PNG/key_go.png differ diff --git a/public/icons/16X16PNG/keyboard.png b/public/icons/16X16PNG/keyboard.png new file mode 100644 index 0000000..898d402 Binary files /dev/null and b/public/icons/16X16PNG/keyboard.png differ diff --git a/public/icons/16X16PNG/keyboard_add.png b/public/icons/16X16PNG/keyboard_add.png new file mode 100644 index 0000000..26938dd Binary files /dev/null and b/public/icons/16X16PNG/keyboard_add.png differ diff --git a/public/icons/16X16PNG/keyboard_delete.png b/public/icons/16X16PNG/keyboard_delete.png new file mode 100644 index 0000000..1786ed5 Binary files /dev/null and b/public/icons/16X16PNG/keyboard_delete.png differ diff --git a/public/icons/16X16PNG/keyboard_magnify.png b/public/icons/16X16PNG/keyboard_magnify.png new file mode 100644 index 0000000..928fc17 Binary files /dev/null and b/public/icons/16X16PNG/keyboard_magnify.png differ diff --git a/public/icons/16X16PNG/layers.png b/public/icons/16X16PNG/layers.png new file mode 100644 index 0000000..00818f6 Binary files /dev/null and b/public/icons/16X16PNG/layers.png differ diff --git a/public/icons/16X16PNG/layout.png b/public/icons/16X16PNG/layout.png new file mode 100644 index 0000000..ea086b0 Binary files /dev/null and b/public/icons/16X16PNG/layout.png differ diff --git a/public/icons/16X16PNG/layout_add.png b/public/icons/16X16PNG/layout_add.png new file mode 100644 index 0000000..6203722 Binary files /dev/null and b/public/icons/16X16PNG/layout_add.png differ diff --git a/public/icons/16X16PNG/layout_content.png b/public/icons/16X16PNG/layout_content.png new file mode 100644 index 0000000..b4aaad9 Binary files /dev/null and b/public/icons/16X16PNG/layout_content.png differ diff --git a/public/icons/16X16PNG/layout_delete.png b/public/icons/16X16PNG/layout_delete.png new file mode 100644 index 0000000..4bd45f1 Binary files /dev/null and b/public/icons/16X16PNG/layout_delete.png differ diff --git a/public/icons/16X16PNG/layout_edit.png b/public/icons/16X16PNG/layout_edit.png new file mode 100644 index 0000000..ab3100b Binary files /dev/null and b/public/icons/16X16PNG/layout_edit.png differ diff --git a/public/icons/16X16PNG/layout_error.png b/public/icons/16X16PNG/layout_error.png new file mode 100644 index 0000000..5b5acea Binary files /dev/null and b/public/icons/16X16PNG/layout_error.png differ diff --git a/public/icons/16X16PNG/layout_header.png b/public/icons/16X16PNG/layout_header.png new file mode 100644 index 0000000..c6ea7f2 Binary files /dev/null and b/public/icons/16X16PNG/layout_header.png differ diff --git a/public/icons/16X16PNG/layout_link.png b/public/icons/16X16PNG/layout_link.png new file mode 100644 index 0000000..3445d42 Binary files /dev/null and b/public/icons/16X16PNG/layout_link.png differ diff --git a/public/icons/16X16PNG/layout_sidebar.png b/public/icons/16X16PNG/layout_sidebar.png new file mode 100644 index 0000000..3be27bb Binary files /dev/null and b/public/icons/16X16PNG/layout_sidebar.png differ diff --git a/public/icons/16X16PNG/lightbulb.png b/public/icons/16X16PNG/lightbulb.png new file mode 100644 index 0000000..d22fde8 Binary files /dev/null and b/public/icons/16X16PNG/lightbulb.png differ diff --git a/public/icons/16X16PNG/lightbulb_add.png b/public/icons/16X16PNG/lightbulb_add.png new file mode 100644 index 0000000..0dd848b Binary files /dev/null and b/public/icons/16X16PNG/lightbulb_add.png differ diff --git a/public/icons/16X16PNG/lightbulb_delete.png b/public/icons/16X16PNG/lightbulb_delete.png new file mode 100644 index 0000000..f4781da Binary files /dev/null and b/public/icons/16X16PNG/lightbulb_delete.png differ diff --git a/public/icons/16X16PNG/lightbulb_off.png b/public/icons/16X16PNG/lightbulb_off.png new file mode 100644 index 0000000..e95b8c5 Binary files /dev/null and b/public/icons/16X16PNG/lightbulb_off.png differ diff --git a/public/icons/16X16PNG/lightning.png b/public/icons/16X16PNG/lightning.png new file mode 100644 index 0000000..9680afd Binary files /dev/null and b/public/icons/16X16PNG/lightning.png differ diff --git a/public/icons/16X16PNG/lightning_add.png b/public/icons/16X16PNG/lightning_add.png new file mode 100644 index 0000000..dac3c90 Binary files /dev/null and b/public/icons/16X16PNG/lightning_add.png differ diff --git a/public/icons/16X16PNG/lightning_delete.png b/public/icons/16X16PNG/lightning_delete.png new file mode 100644 index 0000000..dfe2770 Binary files /dev/null and b/public/icons/16X16PNG/lightning_delete.png differ diff --git a/public/icons/16X16PNG/lightning_go.png b/public/icons/16X16PNG/lightning_go.png new file mode 100644 index 0000000..29039e6 Binary files /dev/null and b/public/icons/16X16PNG/lightning_go.png differ diff --git a/public/icons/16X16PNG/link.png b/public/icons/16X16PNG/link.png new file mode 100644 index 0000000..25eacb7 Binary files /dev/null and b/public/icons/16X16PNG/link.png differ diff --git a/public/icons/16X16PNG/link_add.png b/public/icons/16X16PNG/link_add.png new file mode 100644 index 0000000..00be352 Binary files /dev/null and b/public/icons/16X16PNG/link_add.png differ diff --git a/public/icons/16X16PNG/link_break.png b/public/icons/16X16PNG/link_break.png new file mode 100644 index 0000000..5235753 Binary files /dev/null and b/public/icons/16X16PNG/link_break.png differ diff --git a/public/icons/16X16PNG/link_delete.png b/public/icons/16X16PNG/link_delete.png new file mode 100644 index 0000000..f66e297 Binary files /dev/null and b/public/icons/16X16PNG/link_delete.png differ diff --git a/public/icons/16X16PNG/link_edit.png b/public/icons/16X16PNG/link_edit.png new file mode 100644 index 0000000..5b3aed0 Binary files /dev/null and b/public/icons/16X16PNG/link_edit.png differ diff --git a/public/icons/16X16PNG/link_error.png b/public/icons/16X16PNG/link_error.png new file mode 100644 index 0000000..ab694b1 Binary files /dev/null and b/public/icons/16X16PNG/link_error.png differ diff --git a/public/icons/16X16PNG/link_go.png b/public/icons/16X16PNG/link_go.png new file mode 100644 index 0000000..ae8cae8 Binary files /dev/null and b/public/icons/16X16PNG/link_go.png differ diff --git a/public/icons/16X16PNG/lock.png b/public/icons/16X16PNG/lock.png new file mode 100644 index 0000000..2ebc4f6 Binary files /dev/null and b/public/icons/16X16PNG/lock.png differ diff --git a/public/icons/16X16PNG/lock_add.png b/public/icons/16X16PNG/lock_add.png new file mode 100644 index 0000000..a7b566b Binary files /dev/null and b/public/icons/16X16PNG/lock_add.png differ diff --git a/public/icons/16X16PNG/lock_break.png b/public/icons/16X16PNG/lock_break.png new file mode 100644 index 0000000..13578ab Binary files /dev/null and b/public/icons/16X16PNG/lock_break.png differ diff --git a/public/icons/16X16PNG/lock_delete.png b/public/icons/16X16PNG/lock_delete.png new file mode 100644 index 0000000..ecb50a9 Binary files /dev/null and b/public/icons/16X16PNG/lock_delete.png differ diff --git a/public/icons/16X16PNG/lock_edit.png b/public/icons/16X16PNG/lock_edit.png new file mode 100644 index 0000000..116aa5b Binary files /dev/null and b/public/icons/16X16PNG/lock_edit.png differ diff --git a/public/icons/16X16PNG/lock_go.png b/public/icons/16X16PNG/lock_go.png new file mode 100644 index 0000000..8c7c89b Binary files /dev/null and b/public/icons/16X16PNG/lock_go.png differ diff --git a/public/icons/16X16PNG/lock_open.png b/public/icons/16X16PNG/lock_open.png new file mode 100644 index 0000000..a471765 Binary files /dev/null and b/public/icons/16X16PNG/lock_open.png differ diff --git a/public/icons/16X16PNG/lorry.png b/public/icons/16X16PNG/lorry.png new file mode 100644 index 0000000..8f95f5a Binary files /dev/null and b/public/icons/16X16PNG/lorry.png differ diff --git a/public/icons/16X16PNG/lorry_add.png b/public/icons/16X16PNG/lorry_add.png new file mode 100644 index 0000000..a2c5124 Binary files /dev/null and b/public/icons/16X16PNG/lorry_add.png differ diff --git a/public/icons/16X16PNG/lorry_delete.png b/public/icons/16X16PNG/lorry_delete.png new file mode 100644 index 0000000..66217f5 Binary files /dev/null and b/public/icons/16X16PNG/lorry_delete.png differ diff --git a/public/icons/16X16PNG/lorry_error.png b/public/icons/16X16PNG/lorry_error.png new file mode 100644 index 0000000..3619ead Binary files /dev/null and b/public/icons/16X16PNG/lorry_error.png differ diff --git a/public/icons/16X16PNG/lorry_flatbed.png b/public/icons/16X16PNG/lorry_flatbed.png new file mode 100644 index 0000000..8b20f55 Binary files /dev/null and b/public/icons/16X16PNG/lorry_flatbed.png differ diff --git a/public/icons/16X16PNG/lorry_go.png b/public/icons/16X16PNG/lorry_go.png new file mode 100644 index 0000000..1c296a6 Binary files /dev/null and b/public/icons/16X16PNG/lorry_go.png differ diff --git a/public/icons/16X16PNG/lorry_link.png b/public/icons/16X16PNG/lorry_link.png new file mode 100644 index 0000000..5e6663e Binary files /dev/null and b/public/icons/16X16PNG/lorry_link.png differ diff --git a/public/icons/16X16PNG/magifier_zoom_out.png b/public/icons/16X16PNG/magifier_zoom_out.png new file mode 100644 index 0000000..81f2819 Binary files /dev/null and b/public/icons/16X16PNG/magifier_zoom_out.png differ diff --git a/public/icons/16X16PNG/magnifier.png b/public/icons/16X16PNG/magnifier.png new file mode 100644 index 0000000..cf3d97f Binary files /dev/null and b/public/icons/16X16PNG/magnifier.png differ diff --git a/public/icons/16X16PNG/magnifier_zoom_in.png b/public/icons/16X16PNG/magnifier_zoom_in.png new file mode 100644 index 0000000..af4fe07 Binary files /dev/null and b/public/icons/16X16PNG/magnifier_zoom_in.png differ diff --git a/public/icons/16X16PNG/male.png b/public/icons/16X16PNG/male.png new file mode 100644 index 0000000..25d6ea9 Binary files /dev/null and b/public/icons/16X16PNG/male.png differ diff --git a/public/icons/16X16PNG/map.png b/public/icons/16X16PNG/map.png new file mode 100644 index 0000000..f90ef25 Binary files /dev/null and b/public/icons/16X16PNG/map.png differ diff --git a/public/icons/16X16PNG/map_add.png b/public/icons/16X16PNG/map_add.png new file mode 100644 index 0000000..2b72da0 Binary files /dev/null and b/public/icons/16X16PNG/map_add.png differ diff --git a/public/icons/16X16PNG/map_delete.png b/public/icons/16X16PNG/map_delete.png new file mode 100644 index 0000000..e74402f Binary files /dev/null and b/public/icons/16X16PNG/map_delete.png differ diff --git a/public/icons/16X16PNG/map_edit.png b/public/icons/16X16PNG/map_edit.png new file mode 100644 index 0000000..93d4d7e Binary files /dev/null and b/public/icons/16X16PNG/map_edit.png differ diff --git a/public/icons/16X16PNG/map_go.png b/public/icons/16X16PNG/map_go.png new file mode 100644 index 0000000..11eab26 Binary files /dev/null and b/public/icons/16X16PNG/map_go.png differ diff --git a/public/icons/16X16PNG/map_magnify.png b/public/icons/16X16PNG/map_magnify.png new file mode 100644 index 0000000..7184c9d Binary files /dev/null and b/public/icons/16X16PNG/map_magnify.png differ diff --git a/public/icons/16X16PNG/medal_bronze_1.png b/public/icons/16X16PNG/medal_bronze_1.png new file mode 100644 index 0000000..5f8a6d6 Binary files /dev/null and b/public/icons/16X16PNG/medal_bronze_1.png differ diff --git a/public/icons/16X16PNG/medal_bronze_2.png b/public/icons/16X16PNG/medal_bronze_2.png new file mode 100644 index 0000000..623d68c Binary files /dev/null and b/public/icons/16X16PNG/medal_bronze_2.png differ diff --git a/public/icons/16X16PNG/medal_bronze_3.png b/public/icons/16X16PNG/medal_bronze_3.png new file mode 100644 index 0000000..ed3f43e Binary files /dev/null and b/public/icons/16X16PNG/medal_bronze_3.png differ diff --git a/public/icons/16X16PNG/medal_bronze_add.png b/public/icons/16X16PNG/medal_bronze_add.png new file mode 100644 index 0000000..8487b2c Binary files /dev/null and b/public/icons/16X16PNG/medal_bronze_add.png differ diff --git a/public/icons/16X16PNG/medal_bronze_delete.png b/public/icons/16X16PNG/medal_bronze_delete.png new file mode 100644 index 0000000..d32aed7 Binary files /dev/null and b/public/icons/16X16PNG/medal_bronze_delete.png differ diff --git a/public/icons/16X16PNG/medal_gold_1.png b/public/icons/16X16PNG/medal_gold_1.png new file mode 100644 index 0000000..87584dc Binary files /dev/null and b/public/icons/16X16PNG/medal_gold_1.png differ diff --git a/public/icons/16X16PNG/medal_gold_2.png b/public/icons/16X16PNG/medal_gold_2.png new file mode 100644 index 0000000..fa3a15d Binary files /dev/null and b/public/icons/16X16PNG/medal_gold_2.png differ diff --git a/public/icons/16X16PNG/medal_gold_3.png b/public/icons/16X16PNG/medal_gold_3.png new file mode 100644 index 0000000..ef1b08b Binary files /dev/null and b/public/icons/16X16PNG/medal_gold_3.png differ diff --git a/public/icons/16X16PNG/medal_gold_add.png b/public/icons/16X16PNG/medal_gold_add.png new file mode 100644 index 0000000..dcade0d Binary files /dev/null and b/public/icons/16X16PNG/medal_gold_add.png differ diff --git a/public/icons/16X16PNG/medal_gold_delete.png b/public/icons/16X16PNG/medal_gold_delete.png new file mode 100644 index 0000000..84b06d5 Binary files /dev/null and b/public/icons/16X16PNG/medal_gold_delete.png differ diff --git a/public/icons/16X16PNG/medal_silver_1.png b/public/icons/16X16PNG/medal_silver_1.png new file mode 100644 index 0000000..75a64da Binary files /dev/null and b/public/icons/16X16PNG/medal_silver_1.png differ diff --git a/public/icons/16X16PNG/medal_silver_2.png b/public/icons/16X16PNG/medal_silver_2.png new file mode 100644 index 0000000..2e0fe75 Binary files /dev/null and b/public/icons/16X16PNG/medal_silver_2.png differ diff --git a/public/icons/16X16PNG/medal_silver_3.png b/public/icons/16X16PNG/medal_silver_3.png new file mode 100644 index 0000000..e385b54 Binary files /dev/null and b/public/icons/16X16PNG/medal_silver_3.png differ diff --git a/public/icons/16X16PNG/medal_silver_add.png b/public/icons/16X16PNG/medal_silver_add.png new file mode 100644 index 0000000..b0633fa Binary files /dev/null and b/public/icons/16X16PNG/medal_silver_add.png differ diff --git a/public/icons/16X16PNG/medal_silver_delete.png b/public/icons/16X16PNG/medal_silver_delete.png new file mode 100644 index 0000000..06cab46 Binary files /dev/null and b/public/icons/16X16PNG/medal_silver_delete.png differ diff --git a/public/icons/16X16PNG/money.png b/public/icons/16X16PNG/money.png new file mode 100644 index 0000000..42c52d0 Binary files /dev/null and b/public/icons/16X16PNG/money.png differ diff --git a/public/icons/16X16PNG/money_add.png b/public/icons/16X16PNG/money_add.png new file mode 100644 index 0000000..588fa9d Binary files /dev/null and b/public/icons/16X16PNG/money_add.png differ diff --git a/public/icons/16X16PNG/money_delete.png b/public/icons/16X16PNG/money_delete.png new file mode 100644 index 0000000..eae2c52 Binary files /dev/null and b/public/icons/16X16PNG/money_delete.png differ diff --git a/public/icons/16X16PNG/money_dollar.png b/public/icons/16X16PNG/money_dollar.png new file mode 100644 index 0000000..59af163 Binary files /dev/null and b/public/icons/16X16PNG/money_dollar.png differ diff --git a/public/icons/16X16PNG/money_euro.png b/public/icons/16X16PNG/money_euro.png new file mode 100644 index 0000000..b322ba9 Binary files /dev/null and b/public/icons/16X16PNG/money_euro.png differ diff --git a/public/icons/16X16PNG/money_pound.png b/public/icons/16X16PNG/money_pound.png new file mode 100644 index 0000000..b711364 Binary files /dev/null and b/public/icons/16X16PNG/money_pound.png differ diff --git a/public/icons/16X16PNG/money_yen.png b/public/icons/16X16PNG/money_yen.png new file mode 100644 index 0000000..228a677 Binary files /dev/null and b/public/icons/16X16PNG/money_yen.png differ diff --git a/public/icons/16X16PNG/monitor.png b/public/icons/16X16PNG/monitor.png new file mode 100644 index 0000000..d040bd0 Binary files /dev/null and b/public/icons/16X16PNG/monitor.png differ diff --git a/public/icons/16X16PNG/monitor_add.png b/public/icons/16X16PNG/monitor_add.png new file mode 100644 index 0000000..a818066 Binary files /dev/null and b/public/icons/16X16PNG/monitor_add.png differ diff --git a/public/icons/16X16PNG/monitor_delete.png b/public/icons/16X16PNG/monitor_delete.png new file mode 100644 index 0000000..3733256 Binary files /dev/null and b/public/icons/16X16PNG/monitor_delete.png differ diff --git a/public/icons/16X16PNG/monitor_edit.png b/public/icons/16X16PNG/monitor_edit.png new file mode 100644 index 0000000..f772c56 Binary files /dev/null and b/public/icons/16X16PNG/monitor_edit.png differ diff --git a/public/icons/16X16PNG/monitor_error.png b/public/icons/16X16PNG/monitor_error.png new file mode 100644 index 0000000..270c501 Binary files /dev/null and b/public/icons/16X16PNG/monitor_error.png differ diff --git a/public/icons/16X16PNG/monitor_go.png b/public/icons/16X16PNG/monitor_go.png new file mode 100644 index 0000000..8af3eda Binary files /dev/null and b/public/icons/16X16PNG/monitor_go.png differ diff --git a/public/icons/16X16PNG/monitor_lightning.png b/public/icons/16X16PNG/monitor_lightning.png new file mode 100644 index 0000000..06e53a9 Binary files /dev/null and b/public/icons/16X16PNG/monitor_lightning.png differ diff --git a/public/icons/16X16PNG/monitor_link.png b/public/icons/16X16PNG/monitor_link.png new file mode 100644 index 0000000..a014b02 Binary files /dev/null and b/public/icons/16X16PNG/monitor_link.png differ diff --git a/public/icons/16X16PNG/mouse.png b/public/icons/16X16PNG/mouse.png new file mode 100644 index 0000000..63a92fa Binary files /dev/null and b/public/icons/16X16PNG/mouse.png differ diff --git a/public/icons/16X16PNG/mouse_add.png b/public/icons/16X16PNG/mouse_add.png new file mode 100644 index 0000000..65bcab5 Binary files /dev/null and b/public/icons/16X16PNG/mouse_add.png differ diff --git a/public/icons/16X16PNG/mouse_delete.png b/public/icons/16X16PNG/mouse_delete.png new file mode 100644 index 0000000..7286566 Binary files /dev/null and b/public/icons/16X16PNG/mouse_delete.png differ diff --git a/public/icons/16X16PNG/mouse_error.png b/public/icons/16X16PNG/mouse_error.png new file mode 100644 index 0000000..bcc1562 Binary files /dev/null and b/public/icons/16X16PNG/mouse_error.png differ diff --git a/public/icons/16X16PNG/music.png b/public/icons/16X16PNG/music.png new file mode 100644 index 0000000..a8b3ede Binary files /dev/null and b/public/icons/16X16PNG/music.png differ diff --git a/public/icons/16X16PNG/new.png b/public/icons/16X16PNG/new.png new file mode 100644 index 0000000..6a9bf03 Binary files /dev/null and b/public/icons/16X16PNG/new.png differ diff --git a/public/icons/16X16PNG/newspaper.png b/public/icons/16X16PNG/newspaper.png new file mode 100644 index 0000000..6a2ecce Binary files /dev/null and b/public/icons/16X16PNG/newspaper.png differ diff --git a/public/icons/16X16PNG/newspaper_add.png b/public/icons/16X16PNG/newspaper_add.png new file mode 100644 index 0000000..8140e8c Binary files /dev/null and b/public/icons/16X16PNG/newspaper_add.png differ diff --git a/public/icons/16X16PNG/newspaper_delete.png b/public/icons/16X16PNG/newspaper_delete.png new file mode 100644 index 0000000..bde96ce Binary files /dev/null and b/public/icons/16X16PNG/newspaper_delete.png differ diff --git a/public/icons/16X16PNG/newspaper_go.png b/public/icons/16X16PNG/newspaper_go.png new file mode 100644 index 0000000..fd61428 Binary files /dev/null and b/public/icons/16X16PNG/newspaper_go.png differ diff --git a/public/icons/16X16PNG/newspaper_link.png b/public/icons/16X16PNG/newspaper_link.png new file mode 100644 index 0000000..99e57cb Binary files /dev/null and b/public/icons/16X16PNG/newspaper_link.png differ diff --git a/public/icons/16X16PNG/note.png b/public/icons/16X16PNG/note.png new file mode 100644 index 0000000..244e6ca Binary files /dev/null and b/public/icons/16X16PNG/note.png differ diff --git a/public/icons/16X16PNG/note_add.png b/public/icons/16X16PNG/note_add.png new file mode 100644 index 0000000..abdad91 Binary files /dev/null and b/public/icons/16X16PNG/note_add.png differ diff --git a/public/icons/16X16PNG/note_delete.png b/public/icons/16X16PNG/note_delete.png new file mode 100644 index 0000000..8a1f0ff Binary files /dev/null and b/public/icons/16X16PNG/note_delete.png differ diff --git a/public/icons/16X16PNG/note_edit.png b/public/icons/16X16PNG/note_edit.png new file mode 100644 index 0000000..291bfc7 Binary files /dev/null and b/public/icons/16X16PNG/note_edit.png differ diff --git a/public/icons/16X16PNG/note_error.png b/public/icons/16X16PNG/note_error.png new file mode 100644 index 0000000..896dadf Binary files /dev/null and b/public/icons/16X16PNG/note_error.png differ diff --git a/public/icons/16X16PNG/note_go.png b/public/icons/16X16PNG/note_go.png new file mode 100644 index 0000000..49e54fd Binary files /dev/null and b/public/icons/16X16PNG/note_go.png differ diff --git a/public/icons/16X16PNG/overlays.png b/public/icons/16X16PNG/overlays.png new file mode 100644 index 0000000..ab3100b Binary files /dev/null and b/public/icons/16X16PNG/overlays.png differ diff --git a/public/icons/16X16PNG/package.png b/public/icons/16X16PNG/package.png new file mode 100644 index 0000000..da3c2a2 Binary files /dev/null and b/public/icons/16X16PNG/package.png differ diff --git a/public/icons/16X16PNG/package_add.png b/public/icons/16X16PNG/package_add.png new file mode 100644 index 0000000..9c8a9da Binary files /dev/null and b/public/icons/16X16PNG/package_add.png differ diff --git a/public/icons/16X16PNG/package_delete.png b/public/icons/16X16PNG/package_delete.png new file mode 100644 index 0000000..86f7fbc Binary files /dev/null and b/public/icons/16X16PNG/package_delete.png differ diff --git a/public/icons/16X16PNG/package_go.png b/public/icons/16X16PNG/package_go.png new file mode 100644 index 0000000..aace63a Binary files /dev/null and b/public/icons/16X16PNG/package_go.png differ diff --git a/public/icons/16X16PNG/package_green.png b/public/icons/16X16PNG/package_green.png new file mode 100644 index 0000000..25b28bb Binary files /dev/null and b/public/icons/16X16PNG/package_green.png differ diff --git a/public/icons/16X16PNG/package_link.png b/public/icons/16X16PNG/package_link.png new file mode 100644 index 0000000..48e7ab5 Binary files /dev/null and b/public/icons/16X16PNG/package_link.png differ diff --git a/public/icons/16X16PNG/page.png b/public/icons/16X16PNG/page.png new file mode 100644 index 0000000..03ddd79 Binary files /dev/null and b/public/icons/16X16PNG/page.png differ diff --git a/public/icons/16X16PNG/page_add.png b/public/icons/16X16PNG/page_add.png new file mode 100644 index 0000000..d5bfa07 Binary files /dev/null and b/public/icons/16X16PNG/page_add.png differ diff --git a/public/icons/16X16PNG/page_attach.png b/public/icons/16X16PNG/page_attach.png new file mode 100644 index 0000000..89ee2da Binary files /dev/null and b/public/icons/16X16PNG/page_attach.png differ diff --git a/public/icons/16X16PNG/page_code.png b/public/icons/16X16PNG/page_code.png new file mode 100644 index 0000000..f7ea904 Binary files /dev/null and b/public/icons/16X16PNG/page_code.png differ diff --git a/public/icons/16X16PNG/page_copy.png b/public/icons/16X16PNG/page_copy.png new file mode 100644 index 0000000..195dc6d Binary files /dev/null and b/public/icons/16X16PNG/page_copy.png differ diff --git a/public/icons/16X16PNG/page_delete.png b/public/icons/16X16PNG/page_delete.png new file mode 100644 index 0000000..3141467 Binary files /dev/null and b/public/icons/16X16PNG/page_delete.png differ diff --git a/public/icons/16X16PNG/page_edit.png b/public/icons/16X16PNG/page_edit.png new file mode 100644 index 0000000..046811e Binary files /dev/null and b/public/icons/16X16PNG/page_edit.png differ diff --git a/public/icons/16X16PNG/page_error.png b/public/icons/16X16PNG/page_error.png new file mode 100644 index 0000000..f07f449 Binary files /dev/null and b/public/icons/16X16PNG/page_error.png differ diff --git a/public/icons/16X16PNG/page_excel.png b/public/icons/16X16PNG/page_excel.png new file mode 100644 index 0000000..eb6158e Binary files /dev/null and b/public/icons/16X16PNG/page_excel.png differ diff --git a/public/icons/16X16PNG/page_find.png b/public/icons/16X16PNG/page_find.png new file mode 100644 index 0000000..2f19388 Binary files /dev/null and b/public/icons/16X16PNG/page_find.png differ diff --git a/public/icons/16X16PNG/page_gear.png b/public/icons/16X16PNG/page_gear.png new file mode 100644 index 0000000..8e83281 Binary files /dev/null and b/public/icons/16X16PNG/page_gear.png differ diff --git a/public/icons/16X16PNG/page_go.png b/public/icons/16X16PNG/page_go.png new file mode 100644 index 0000000..80fe1ed Binary files /dev/null and b/public/icons/16X16PNG/page_go.png differ diff --git a/public/icons/16X16PNG/page_green.png b/public/icons/16X16PNG/page_green.png new file mode 100644 index 0000000..de8e003 Binary files /dev/null and b/public/icons/16X16PNG/page_green.png differ diff --git a/public/icons/16X16PNG/page_key.png b/public/icons/16X16PNG/page_key.png new file mode 100644 index 0000000..d6626cb Binary files /dev/null and b/public/icons/16X16PNG/page_key.png differ diff --git a/public/icons/16X16PNG/page_lightning.png b/public/icons/16X16PNG/page_lightning.png new file mode 100644 index 0000000..7e56870 Binary files /dev/null and b/public/icons/16X16PNG/page_lightning.png differ diff --git a/public/icons/16X16PNG/page_link.png b/public/icons/16X16PNG/page_link.png new file mode 100644 index 0000000..312eab0 Binary files /dev/null and b/public/icons/16X16PNG/page_link.png differ diff --git a/public/icons/16X16PNG/page_paintbrush.png b/public/icons/16X16PNG/page_paintbrush.png new file mode 100644 index 0000000..246a2f0 Binary files /dev/null and b/public/icons/16X16PNG/page_paintbrush.png differ diff --git a/public/icons/16X16PNG/page_paste.png b/public/icons/16X16PNG/page_paste.png new file mode 100644 index 0000000..968f073 Binary files /dev/null and b/public/icons/16X16PNG/page_paste.png differ diff --git a/public/icons/16X16PNG/page_red.png b/public/icons/16X16PNG/page_red.png new file mode 100644 index 0000000..0b18247 Binary files /dev/null and b/public/icons/16X16PNG/page_red.png differ diff --git a/public/icons/16X16PNG/page_refresh.png b/public/icons/16X16PNG/page_refresh.png new file mode 100644 index 0000000..cf347c7 Binary files /dev/null and b/public/icons/16X16PNG/page_refresh.png differ diff --git a/public/icons/16X16PNG/page_save.png b/public/icons/16X16PNG/page_save.png new file mode 100644 index 0000000..caea546 Binary files /dev/null and b/public/icons/16X16PNG/page_save.png differ diff --git a/public/icons/16X16PNG/page_white.png b/public/icons/16X16PNG/page_white.png new file mode 100644 index 0000000..8b8b1ca Binary files /dev/null and b/public/icons/16X16PNG/page_white.png differ diff --git a/public/icons/16X16PNG/page_white_acrobat.png b/public/icons/16X16PNG/page_white_acrobat.png new file mode 100644 index 0000000..8f8095e Binary files /dev/null and b/public/icons/16X16PNG/page_white_acrobat.png differ diff --git a/public/icons/16X16PNG/page_white_actionscript.png b/public/icons/16X16PNG/page_white_actionscript.png new file mode 100644 index 0000000..159b240 Binary files /dev/null and b/public/icons/16X16PNG/page_white_actionscript.png differ diff --git a/public/icons/16X16PNG/page_white_add.png b/public/icons/16X16PNG/page_white_add.png new file mode 100644 index 0000000..aa23dde Binary files /dev/null and b/public/icons/16X16PNG/page_white_add.png differ diff --git a/public/icons/16X16PNG/page_white_c.png b/public/icons/16X16PNG/page_white_c.png new file mode 100644 index 0000000..34a05cc Binary files /dev/null and b/public/icons/16X16PNG/page_white_c.png differ diff --git a/public/icons/16X16PNG/page_white_camera.png b/public/icons/16X16PNG/page_white_camera.png new file mode 100644 index 0000000..f501a59 Binary files /dev/null and b/public/icons/16X16PNG/page_white_camera.png differ diff --git a/public/icons/16X16PNG/page_white_cd.png b/public/icons/16X16PNG/page_white_cd.png new file mode 100644 index 0000000..848bdaf Binary files /dev/null and b/public/icons/16X16PNG/page_white_cd.png differ diff --git a/public/icons/16X16PNG/page_white_code.png b/public/icons/16X16PNG/page_white_code.png new file mode 100644 index 0000000..0c76bd1 Binary files /dev/null and b/public/icons/16X16PNG/page_white_code.png differ diff --git a/public/icons/16X16PNG/page_white_code_red.png b/public/icons/16X16PNG/page_white_code_red.png new file mode 100644 index 0000000..87a6914 Binary files /dev/null and b/public/icons/16X16PNG/page_white_code_red.png differ diff --git a/public/icons/16X16PNG/page_white_coldfusion.png b/public/icons/16X16PNG/page_white_coldfusion.png new file mode 100644 index 0000000..c66011f Binary files /dev/null and b/public/icons/16X16PNG/page_white_coldfusion.png differ diff --git a/public/icons/16X16PNG/page_white_compressed.png b/public/icons/16X16PNG/page_white_compressed.png new file mode 100644 index 0000000..2b6b100 Binary files /dev/null and b/public/icons/16X16PNG/page_white_compressed.png differ diff --git a/public/icons/16X16PNG/page_white_copy.png b/public/icons/16X16PNG/page_white_copy.png new file mode 100644 index 0000000..a9f31a2 Binary files /dev/null and b/public/icons/16X16PNG/page_white_copy.png differ diff --git a/public/icons/16X16PNG/page_white_cplusplus.png b/public/icons/16X16PNG/page_white_cplusplus.png new file mode 100644 index 0000000..a87cf84 Binary files /dev/null and b/public/icons/16X16PNG/page_white_cplusplus.png differ diff --git a/public/icons/16X16PNG/page_white_csharp.png b/public/icons/16X16PNG/page_white_csharp.png new file mode 100644 index 0000000..ffb8fc9 Binary files /dev/null and b/public/icons/16X16PNG/page_white_csharp.png differ diff --git a/public/icons/16X16PNG/page_white_cup.png b/public/icons/16X16PNG/page_white_cup.png new file mode 100644 index 0000000..0a7d6f4 Binary files /dev/null and b/public/icons/16X16PNG/page_white_cup.png differ diff --git a/public/icons/16X16PNG/page_white_database.png b/public/icons/16X16PNG/page_white_database.png new file mode 100644 index 0000000..bddba1f Binary files /dev/null and b/public/icons/16X16PNG/page_white_database.png differ diff --git a/public/icons/16X16PNG/page_white_delete.png b/public/icons/16X16PNG/page_white_delete.png new file mode 100644 index 0000000..af1ecaf Binary files /dev/null and b/public/icons/16X16PNG/page_white_delete.png differ diff --git a/public/icons/16X16PNG/page_white_dvd.png b/public/icons/16X16PNG/page_white_dvd.png new file mode 100644 index 0000000..4cc537a Binary files /dev/null and b/public/icons/16X16PNG/page_white_dvd.png differ diff --git a/public/icons/16X16PNG/page_white_edit.png b/public/icons/16X16PNG/page_white_edit.png new file mode 100644 index 0000000..b93e776 Binary files /dev/null and b/public/icons/16X16PNG/page_white_edit.png differ diff --git a/public/icons/16X16PNG/page_white_error.png b/public/icons/16X16PNG/page_white_error.png new file mode 100644 index 0000000..9fc5a0a Binary files /dev/null and b/public/icons/16X16PNG/page_white_error.png differ diff --git a/public/icons/16X16PNG/page_white_excel.png b/public/icons/16X16PNG/page_white_excel.png new file mode 100644 index 0000000..b977d7e Binary files /dev/null and b/public/icons/16X16PNG/page_white_excel.png differ diff --git a/public/icons/16X16PNG/page_white_find.png b/public/icons/16X16PNG/page_white_find.png new file mode 100644 index 0000000..5818436 Binary files /dev/null and b/public/icons/16X16PNG/page_white_find.png differ diff --git a/public/icons/16X16PNG/page_white_flash.png b/public/icons/16X16PNG/page_white_flash.png new file mode 100644 index 0000000..5769120 Binary files /dev/null and b/public/icons/16X16PNG/page_white_flash.png differ diff --git a/public/icons/16X16PNG/page_white_freehand.png b/public/icons/16X16PNG/page_white_freehand.png new file mode 100644 index 0000000..8d719df Binary files /dev/null and b/public/icons/16X16PNG/page_white_freehand.png differ diff --git a/public/icons/16X16PNG/page_white_gear.png b/public/icons/16X16PNG/page_white_gear.png new file mode 100644 index 0000000..106f5aa Binary files /dev/null and b/public/icons/16X16PNG/page_white_gear.png differ diff --git a/public/icons/16X16PNG/page_white_get.png b/public/icons/16X16PNG/page_white_get.png new file mode 100644 index 0000000..e4a1ecb Binary files /dev/null and b/public/icons/16X16PNG/page_white_get.png differ diff --git a/public/icons/16X16PNG/page_white_go.png b/public/icons/16X16PNG/page_white_go.png new file mode 100644 index 0000000..7e62a92 Binary files /dev/null and b/public/icons/16X16PNG/page_white_go.png differ diff --git a/public/icons/16X16PNG/page_white_h.png b/public/icons/16X16PNG/page_white_h.png new file mode 100644 index 0000000..e902abb Binary files /dev/null and b/public/icons/16X16PNG/page_white_h.png differ diff --git a/public/icons/16X16PNG/page_white_horizontal.png b/public/icons/16X16PNG/page_white_horizontal.png new file mode 100644 index 0000000..1d2d0a4 Binary files /dev/null and b/public/icons/16X16PNG/page_white_horizontal.png differ diff --git a/public/icons/16X16PNG/page_white_key.png b/public/icons/16X16PNG/page_white_key.png new file mode 100644 index 0000000..d616484 Binary files /dev/null and b/public/icons/16X16PNG/page_white_key.png differ diff --git a/public/icons/16X16PNG/page_white_lightning.png b/public/icons/16X16PNG/page_white_lightning.png new file mode 100644 index 0000000..7215d1e Binary files /dev/null and b/public/icons/16X16PNG/page_white_lightning.png differ diff --git a/public/icons/16X16PNG/page_white_link.png b/public/icons/16X16PNG/page_white_link.png new file mode 100644 index 0000000..bf7bd1c Binary files /dev/null and b/public/icons/16X16PNG/page_white_link.png differ diff --git a/public/icons/16X16PNG/page_white_magnify.png b/public/icons/16X16PNG/page_white_magnify.png new file mode 100644 index 0000000..f6b74cc Binary files /dev/null and b/public/icons/16X16PNG/page_white_magnify.png differ diff --git a/public/icons/16X16PNG/page_white_medal.png b/public/icons/16X16PNG/page_white_medal.png new file mode 100644 index 0000000..d3fffb6 Binary files /dev/null and b/public/icons/16X16PNG/page_white_medal.png differ diff --git a/public/icons/16X16PNG/page_white_office.png b/public/icons/16X16PNG/page_white_office.png new file mode 100644 index 0000000..a65bcb3 Binary files /dev/null and b/public/icons/16X16PNG/page_white_office.png differ diff --git a/public/icons/16X16PNG/page_white_paint.png b/public/icons/16X16PNG/page_white_paint.png new file mode 100644 index 0000000..23a37b8 Binary files /dev/null and b/public/icons/16X16PNG/page_white_paint.png differ diff --git a/public/icons/16X16PNG/page_white_paintbrush.png b/public/icons/16X16PNG/page_white_paintbrush.png new file mode 100644 index 0000000..f907e44 Binary files /dev/null and b/public/icons/16X16PNG/page_white_paintbrush.png differ diff --git a/public/icons/16X16PNG/page_white_paste.png b/public/icons/16X16PNG/page_white_paste.png new file mode 100644 index 0000000..5b2cbb3 Binary files /dev/null and b/public/icons/16X16PNG/page_white_paste.png differ diff --git a/public/icons/16X16PNG/page_white_php.png b/public/icons/16X16PNG/page_white_php.png new file mode 100644 index 0000000..7868a25 Binary files /dev/null and b/public/icons/16X16PNG/page_white_php.png differ diff --git a/public/icons/16X16PNG/page_white_picture.png b/public/icons/16X16PNG/page_white_picture.png new file mode 100644 index 0000000..134b669 Binary files /dev/null and b/public/icons/16X16PNG/page_white_picture.png differ diff --git a/public/icons/16X16PNG/page_white_powerpoint.png b/public/icons/16X16PNG/page_white_powerpoint.png new file mode 100644 index 0000000..c4eff03 Binary files /dev/null and b/public/icons/16X16PNG/page_white_powerpoint.png differ diff --git a/public/icons/16X16PNG/page_white_put.png b/public/icons/16X16PNG/page_white_put.png new file mode 100644 index 0000000..884ffd6 Binary files /dev/null and b/public/icons/16X16PNG/page_white_put.png differ diff --git a/public/icons/16X16PNG/page_white_ruby.png b/public/icons/16X16PNG/page_white_ruby.png new file mode 100644 index 0000000..f59b7c4 Binary files /dev/null and b/public/icons/16X16PNG/page_white_ruby.png differ diff --git a/public/icons/16X16PNG/page_white_stack.png b/public/icons/16X16PNG/page_white_stack.png new file mode 100644 index 0000000..44084ad Binary files /dev/null and b/public/icons/16X16PNG/page_white_stack.png differ diff --git a/public/icons/16X16PNG/page_white_star.png b/public/icons/16X16PNG/page_white_star.png new file mode 100644 index 0000000..3a1441c Binary files /dev/null and b/public/icons/16X16PNG/page_white_star.png differ diff --git a/public/icons/16X16PNG/page_white_swoosh.png b/public/icons/16X16PNG/page_white_swoosh.png new file mode 100644 index 0000000..e770829 Binary files /dev/null and b/public/icons/16X16PNG/page_white_swoosh.png differ diff --git a/public/icons/16X16PNG/page_white_text.png b/public/icons/16X16PNG/page_white_text.png new file mode 100644 index 0000000..813f712 Binary files /dev/null and b/public/icons/16X16PNG/page_white_text.png differ diff --git a/public/icons/16X16PNG/page_white_text_width.png b/public/icons/16X16PNG/page_white_text_width.png new file mode 100644 index 0000000..d9cf132 Binary files /dev/null and b/public/icons/16X16PNG/page_white_text_width.png differ diff --git a/public/icons/16X16PNG/page_white_tux.png b/public/icons/16X16PNG/page_white_tux.png new file mode 100644 index 0000000..52699bf Binary files /dev/null and b/public/icons/16X16PNG/page_white_tux.png differ diff --git a/public/icons/16X16PNG/page_white_vector.png b/public/icons/16X16PNG/page_white_vector.png new file mode 100644 index 0000000..4a05955 Binary files /dev/null and b/public/icons/16X16PNG/page_white_vector.png differ diff --git a/public/icons/16X16PNG/page_white_visualstudio.png b/public/icons/16X16PNG/page_white_visualstudio.png new file mode 100644 index 0000000..a0a433d Binary files /dev/null and b/public/icons/16X16PNG/page_white_visualstudio.png differ diff --git a/public/icons/16X16PNG/page_white_width.png b/public/icons/16X16PNG/page_white_width.png new file mode 100644 index 0000000..1eb8809 Binary files /dev/null and b/public/icons/16X16PNG/page_white_width.png differ diff --git a/public/icons/16X16PNG/page_white_word.png b/public/icons/16X16PNG/page_white_word.png new file mode 100644 index 0000000..ae8ecbf Binary files /dev/null and b/public/icons/16X16PNG/page_white_word.png differ diff --git a/public/icons/16X16PNG/page_white_world.png b/public/icons/16X16PNG/page_white_world.png new file mode 100644 index 0000000..6ed2490 Binary files /dev/null and b/public/icons/16X16PNG/page_white_world.png differ diff --git a/public/icons/16X16PNG/page_white_wrench.png b/public/icons/16X16PNG/page_white_wrench.png new file mode 100644 index 0000000..fecadd0 Binary files /dev/null and b/public/icons/16X16PNG/page_white_wrench.png differ diff --git a/public/icons/16X16PNG/page_white_zip.png b/public/icons/16X16PNG/page_white_zip.png new file mode 100644 index 0000000..fd4bbcc Binary files /dev/null and b/public/icons/16X16PNG/page_white_zip.png differ diff --git a/public/icons/16X16PNG/page_word.png b/public/icons/16X16PNG/page_word.png new file mode 100644 index 0000000..834cdfa Binary files /dev/null and b/public/icons/16X16PNG/page_word.png differ diff --git a/public/icons/16X16PNG/page_world.png b/public/icons/16X16PNG/page_world.png new file mode 100644 index 0000000..b8895dd Binary files /dev/null and b/public/icons/16X16PNG/page_world.png differ diff --git a/public/icons/16X16PNG/paintbrush.png b/public/icons/16X16PNG/paintbrush.png new file mode 100644 index 0000000..a3ecf87 Binary files /dev/null and b/public/icons/16X16PNG/paintbrush.png differ diff --git a/public/icons/16X16PNG/paintcan.png b/public/icons/16X16PNG/paintcan.png new file mode 100644 index 0000000..f82a886 Binary files /dev/null and b/public/icons/16X16PNG/paintcan.png differ diff --git a/public/icons/16X16PNG/palette.png b/public/icons/16X16PNG/palette.png new file mode 100644 index 0000000..73c5b3f Binary files /dev/null and b/public/icons/16X16PNG/palette.png differ diff --git a/public/icons/16X16PNG/paste_plain.png b/public/icons/16X16PNG/paste_plain.png new file mode 100644 index 0000000..c0490eb Binary files /dev/null and b/public/icons/16X16PNG/paste_plain.png differ diff --git a/public/icons/16X16PNG/paste_word.png b/public/icons/16X16PNG/paste_word.png new file mode 100644 index 0000000..f6b87f8 Binary files /dev/null and b/public/icons/16X16PNG/paste_word.png differ diff --git a/public/icons/16X16PNG/pencil.png b/public/icons/16X16PNG/pencil.png new file mode 100644 index 0000000..0bfecd5 Binary files /dev/null and b/public/icons/16X16PNG/pencil.png differ diff --git a/public/icons/16X16PNG/pencil_add.png b/public/icons/16X16PNG/pencil_add.png new file mode 100644 index 0000000..902bbe6 Binary files /dev/null and b/public/icons/16X16PNG/pencil_add.png differ diff --git a/public/icons/16X16PNG/pencil_delete.png b/public/icons/16X16PNG/pencil_delete.png new file mode 100644 index 0000000..d8944e6 Binary files /dev/null and b/public/icons/16X16PNG/pencil_delete.png differ diff --git a/public/icons/16X16PNG/pencil_go.png b/public/icons/16X16PNG/pencil_go.png new file mode 100644 index 0000000..937bded Binary files /dev/null and b/public/icons/16X16PNG/pencil_go.png differ diff --git a/public/icons/16X16PNG/phone.png b/public/icons/16X16PNG/phone.png new file mode 100644 index 0000000..c39f162 Binary files /dev/null and b/public/icons/16X16PNG/phone.png differ diff --git a/public/icons/16X16PNG/phone_add.png b/public/icons/16X16PNG/phone_add.png new file mode 100644 index 0000000..d3555e0 Binary files /dev/null and b/public/icons/16X16PNG/phone_add.png differ diff --git a/public/icons/16X16PNG/phone_delete.png b/public/icons/16X16PNG/phone_delete.png new file mode 100644 index 0000000..bbe4f8a Binary files /dev/null and b/public/icons/16X16PNG/phone_delete.png differ diff --git a/public/icons/16X16PNG/phone_sound.png b/public/icons/16X16PNG/phone_sound.png new file mode 100644 index 0000000..7fdf1c5 Binary files /dev/null and b/public/icons/16X16PNG/phone_sound.png differ diff --git a/public/icons/16X16PNG/photo.png b/public/icons/16X16PNG/photo.png new file mode 100644 index 0000000..6c2aaaa Binary files /dev/null and b/public/icons/16X16PNG/photo.png differ diff --git a/public/icons/16X16PNG/photo_add.png b/public/icons/16X16PNG/photo_add.png new file mode 100644 index 0000000..63cc355 Binary files /dev/null and b/public/icons/16X16PNG/photo_add.png differ diff --git a/public/icons/16X16PNG/photo_delete.png b/public/icons/16X16PNG/photo_delete.png new file mode 100644 index 0000000..18b67df Binary files /dev/null and b/public/icons/16X16PNG/photo_delete.png differ diff --git a/public/icons/16X16PNG/photo_link.png b/public/icons/16X16PNG/photo_link.png new file mode 100644 index 0000000..e6bb35f Binary files /dev/null and b/public/icons/16X16PNG/photo_link.png differ diff --git a/public/icons/16X16PNG/photos.png b/public/icons/16X16PNG/photos.png new file mode 100644 index 0000000..8836fe6 Binary files /dev/null and b/public/icons/16X16PNG/photos.png differ diff --git a/public/icons/16X16PNG/picture.png b/public/icons/16X16PNG/picture.png new file mode 100644 index 0000000..4a158fe Binary files /dev/null and b/public/icons/16X16PNG/picture.png differ diff --git a/public/icons/16X16PNG/picture_add.png b/public/icons/16X16PNG/picture_add.png new file mode 100644 index 0000000..d6d3f85 Binary files /dev/null and b/public/icons/16X16PNG/picture_add.png differ diff --git a/public/icons/16X16PNG/picture_delete.png b/public/icons/16X16PNG/picture_delete.png new file mode 100644 index 0000000..cca9f53 Binary files /dev/null and b/public/icons/16X16PNG/picture_delete.png differ diff --git a/public/icons/16X16PNG/picture_edit.png b/public/icons/16X16PNG/picture_edit.png new file mode 100644 index 0000000..9a70c34 Binary files /dev/null and b/public/icons/16X16PNG/picture_edit.png differ diff --git a/public/icons/16X16PNG/picture_empty.png b/public/icons/16X16PNG/picture_empty.png new file mode 100644 index 0000000..abd2b9b Binary files /dev/null and b/public/icons/16X16PNG/picture_empty.png differ diff --git a/public/icons/16X16PNG/picture_error.png b/public/icons/16X16PNG/picture_error.png new file mode 100644 index 0000000..d41d90d Binary files /dev/null and b/public/icons/16X16PNG/picture_error.png differ diff --git a/public/icons/16X16PNG/picture_go.png b/public/icons/16X16PNG/picture_go.png new file mode 100644 index 0000000..27c63c5 Binary files /dev/null and b/public/icons/16X16PNG/picture_go.png differ diff --git a/public/icons/16X16PNG/picture_key.png b/public/icons/16X16PNG/picture_key.png new file mode 100644 index 0000000..667086c Binary files /dev/null and b/public/icons/16X16PNG/picture_key.png differ diff --git a/public/icons/16X16PNG/picture_link.png b/public/icons/16X16PNG/picture_link.png new file mode 100644 index 0000000..42dca74 Binary files /dev/null and b/public/icons/16X16PNG/picture_link.png differ diff --git a/public/icons/16X16PNG/picture_save.png b/public/icons/16X16PNG/picture_save.png new file mode 100644 index 0000000..777fb5d Binary files /dev/null and b/public/icons/16X16PNG/picture_save.png differ diff --git a/public/icons/16X16PNG/pictures.png b/public/icons/16X16PNG/pictures.png new file mode 100644 index 0000000..d9591c1 Binary files /dev/null and b/public/icons/16X16PNG/pictures.png differ diff --git a/public/icons/16X16PNG/pilcrow.png b/public/icons/16X16PNG/pilcrow.png new file mode 100644 index 0000000..95704fb Binary files /dev/null and b/public/icons/16X16PNG/pilcrow.png differ diff --git a/public/icons/16X16PNG/pill.png b/public/icons/16X16PNG/pill.png new file mode 100644 index 0000000..f2bdef6 Binary files /dev/null and b/public/icons/16X16PNG/pill.png differ diff --git a/public/icons/16X16PNG/pill_add.png b/public/icons/16X16PNG/pill_add.png new file mode 100644 index 0000000..ac9c2df Binary files /dev/null and b/public/icons/16X16PNG/pill_add.png differ diff --git a/public/icons/16X16PNG/pill_delete.png b/public/icons/16X16PNG/pill_delete.png new file mode 100644 index 0000000..c61592e Binary files /dev/null and b/public/icons/16X16PNG/pill_delete.png differ diff --git a/public/icons/16X16PNG/pill_go.png b/public/icons/16X16PNG/pill_go.png new file mode 100644 index 0000000..e5c07d4 Binary files /dev/null and b/public/icons/16X16PNG/pill_go.png differ diff --git a/public/icons/16X16PNG/plugin.png b/public/icons/16X16PNG/plugin.png new file mode 100644 index 0000000..6187b15 Binary files /dev/null and b/public/icons/16X16PNG/plugin.png differ diff --git a/public/icons/16X16PNG/plugin_add.png b/public/icons/16X16PNG/plugin_add.png new file mode 100644 index 0000000..ae43690 Binary files /dev/null and b/public/icons/16X16PNG/plugin_add.png differ diff --git a/public/icons/16X16PNG/plugin_delete.png b/public/icons/16X16PNG/plugin_delete.png new file mode 100644 index 0000000..d9c3376 Binary files /dev/null and b/public/icons/16X16PNG/plugin_delete.png differ diff --git a/public/icons/16X16PNG/plugin_disabled.png b/public/icons/16X16PNG/plugin_disabled.png new file mode 100644 index 0000000..f4f6be5 Binary files /dev/null and b/public/icons/16X16PNG/plugin_disabled.png differ diff --git a/public/icons/16X16PNG/plugin_edit.png b/public/icons/16X16PNG/plugin_edit.png new file mode 100644 index 0000000..b6cb0ec Binary files /dev/null and b/public/icons/16X16PNG/plugin_edit.png differ diff --git a/public/icons/16X16PNG/plugin_error.png b/public/icons/16X16PNG/plugin_error.png new file mode 100644 index 0000000..cff65d7 Binary files /dev/null and b/public/icons/16X16PNG/plugin_error.png differ diff --git a/public/icons/16X16PNG/plugin_go.png b/public/icons/16X16PNG/plugin_go.png new file mode 100644 index 0000000..41da991 Binary files /dev/null and b/public/icons/16X16PNG/plugin_go.png differ diff --git a/public/icons/16X16PNG/plugin_link.png b/public/icons/16X16PNG/plugin_link.png new file mode 100644 index 0000000..445c188 Binary files /dev/null and b/public/icons/16X16PNG/plugin_link.png differ diff --git a/public/icons/16X16PNG/printer.png b/public/icons/16X16PNG/printer.png new file mode 100644 index 0000000..a350d18 Binary files /dev/null and b/public/icons/16X16PNG/printer.png differ diff --git a/public/icons/16X16PNG/printer_add.png b/public/icons/16X16PNG/printer_add.png new file mode 100644 index 0000000..d228d05 Binary files /dev/null and b/public/icons/16X16PNG/printer_add.png differ diff --git a/public/icons/16X16PNG/printer_delete.png b/public/icons/16X16PNG/printer_delete.png new file mode 100644 index 0000000..1d8605f Binary files /dev/null and b/public/icons/16X16PNG/printer_delete.png differ diff --git a/public/icons/16X16PNG/printer_empty.png b/public/icons/16X16PNG/printer_empty.png new file mode 100644 index 0000000..94e8c16 Binary files /dev/null and b/public/icons/16X16PNG/printer_empty.png differ diff --git a/public/icons/16X16PNG/printer_error.png b/public/icons/16X16PNG/printer_error.png new file mode 100644 index 0000000..279ebb0 Binary files /dev/null and b/public/icons/16X16PNG/printer_error.png differ diff --git a/public/icons/16X16PNG/rainbow.png b/public/icons/16X16PNG/rainbow.png new file mode 100644 index 0000000..5ede989 Binary files /dev/null and b/public/icons/16X16PNG/rainbow.png differ diff --git a/public/icons/16X16PNG/report.png b/public/icons/16X16PNG/report.png new file mode 100644 index 0000000..779ad58 Binary files /dev/null and b/public/icons/16X16PNG/report.png differ diff --git a/public/icons/16X16PNG/report_add.png b/public/icons/16X16PNG/report_add.png new file mode 100644 index 0000000..d5eac9b Binary files /dev/null and b/public/icons/16X16PNG/report_add.png differ diff --git a/public/icons/16X16PNG/report_delete.png b/public/icons/16X16PNG/report_delete.png new file mode 100644 index 0000000..dcce0b6 Binary files /dev/null and b/public/icons/16X16PNG/report_delete.png differ diff --git a/public/icons/16X16PNG/report_disk.png b/public/icons/16X16PNG/report_disk.png new file mode 100644 index 0000000..1c856cd Binary files /dev/null and b/public/icons/16X16PNG/report_disk.png differ diff --git a/public/icons/16X16PNG/report_edit.png b/public/icons/16X16PNG/report_edit.png new file mode 100644 index 0000000..c61a6d8 Binary files /dev/null and b/public/icons/16X16PNG/report_edit.png differ diff --git a/public/icons/16X16PNG/report_go.png b/public/icons/16X16PNG/report_go.png new file mode 100644 index 0000000..f35a979 Binary files /dev/null and b/public/icons/16X16PNG/report_go.png differ diff --git a/public/icons/16X16PNG/report_key.png b/public/icons/16X16PNG/report_key.png new file mode 100644 index 0000000..90b758e Binary files /dev/null and b/public/icons/16X16PNG/report_key.png differ diff --git a/public/icons/16X16PNG/report_link.png b/public/icons/16X16PNG/report_link.png new file mode 100644 index 0000000..23f2611 Binary files /dev/null and b/public/icons/16X16PNG/report_link.png differ diff --git a/public/icons/16X16PNG/report_magnify.png b/public/icons/16X16PNG/report_magnify.png new file mode 100644 index 0000000..aeaa889 Binary files /dev/null and b/public/icons/16X16PNG/report_magnify.png differ diff --git a/public/icons/16X16PNG/report_picture.png b/public/icons/16X16PNG/report_picture.png new file mode 100644 index 0000000..3a9a7e5 Binary files /dev/null and b/public/icons/16X16PNG/report_picture.png differ diff --git a/public/icons/16X16PNG/report_user.png b/public/icons/16X16PNG/report_user.png new file mode 100644 index 0000000..7766edd Binary files /dev/null and b/public/icons/16X16PNG/report_user.png differ diff --git a/public/icons/16X16PNG/report_word.png b/public/icons/16X16PNG/report_word.png new file mode 100644 index 0000000..9951342 Binary files /dev/null and b/public/icons/16X16PNG/report_word.png differ diff --git a/public/icons/16X16PNG/resultset_first.png b/public/icons/16X16PNG/resultset_first.png new file mode 100644 index 0000000..b03eaf8 Binary files /dev/null and b/public/icons/16X16PNG/resultset_first.png differ diff --git a/public/icons/16X16PNG/resultset_last.png b/public/icons/16X16PNG/resultset_last.png new file mode 100644 index 0000000..8ec8947 Binary files /dev/null and b/public/icons/16X16PNG/resultset_last.png differ diff --git a/public/icons/16X16PNG/resultset_next.png b/public/icons/16X16PNG/resultset_next.png new file mode 100644 index 0000000..e252606 Binary files /dev/null and b/public/icons/16X16PNG/resultset_next.png differ diff --git a/public/icons/16X16PNG/resultset_previous.png b/public/icons/16X16PNG/resultset_previous.png new file mode 100644 index 0000000..18f9cc1 Binary files /dev/null and b/public/icons/16X16PNG/resultset_previous.png differ diff --git a/public/icons/16X16PNG/rosette.png b/public/icons/16X16PNG/rosette.png new file mode 100644 index 0000000..f233bc7 Binary files /dev/null and b/public/icons/16X16PNG/rosette.png differ diff --git a/public/icons/16X16PNG/rss.png b/public/icons/16X16PNG/rss.png new file mode 100644 index 0000000..1dc6ff3 Binary files /dev/null and b/public/icons/16X16PNG/rss.png differ diff --git a/public/icons/16X16PNG/rss_add.png b/public/icons/16X16PNG/rss_add.png new file mode 100644 index 0000000..b590beb Binary files /dev/null and b/public/icons/16X16PNG/rss_add.png differ diff --git a/public/icons/16X16PNG/rss_delete.png b/public/icons/16X16PNG/rss_delete.png new file mode 100644 index 0000000..9deb738 Binary files /dev/null and b/public/icons/16X16PNG/rss_delete.png differ diff --git a/public/icons/16X16PNG/rss_go.png b/public/icons/16X16PNG/rss_go.png new file mode 100644 index 0000000..43a86bf Binary files /dev/null and b/public/icons/16X16PNG/rss_go.png differ diff --git a/public/icons/16X16PNG/rss_valid.png b/public/icons/16X16PNG/rss_valid.png new file mode 100644 index 0000000..a6d0b0e Binary files /dev/null and b/public/icons/16X16PNG/rss_valid.png differ diff --git a/public/icons/16X16PNG/ruby.png b/public/icons/16X16PNG/ruby.png new file mode 100644 index 0000000..f763a16 Binary files /dev/null and b/public/icons/16X16PNG/ruby.png differ diff --git a/public/icons/16X16PNG/ruby_add.png b/public/icons/16X16PNG/ruby_add.png new file mode 100644 index 0000000..a2cd648 Binary files /dev/null and b/public/icons/16X16PNG/ruby_add.png differ diff --git a/public/icons/16X16PNG/ruby_delete.png b/public/icons/16X16PNG/ruby_delete.png new file mode 100644 index 0000000..3002263 Binary files /dev/null and b/public/icons/16X16PNG/ruby_delete.png differ diff --git a/public/icons/16X16PNG/ruby_gear.png b/public/icons/16X16PNG/ruby_gear.png new file mode 100644 index 0000000..4a10590 Binary files /dev/null and b/public/icons/16X16PNG/ruby_gear.png differ diff --git a/public/icons/16X16PNG/ruby_get.png b/public/icons/16X16PNG/ruby_get.png new file mode 100644 index 0000000..f5203c7 Binary files /dev/null and b/public/icons/16X16PNG/ruby_get.png differ diff --git a/public/icons/16X16PNG/ruby_go.png b/public/icons/16X16PNG/ruby_go.png new file mode 100644 index 0000000..d8d276e Binary files /dev/null and b/public/icons/16X16PNG/ruby_go.png differ diff --git a/public/icons/16X16PNG/ruby_key.png b/public/icons/16X16PNG/ruby_key.png new file mode 100644 index 0000000..451cfeb Binary files /dev/null and b/public/icons/16X16PNG/ruby_key.png differ diff --git a/public/icons/16X16PNG/ruby_link.png b/public/icons/16X16PNG/ruby_link.png new file mode 100644 index 0000000..bf4be52 Binary files /dev/null and b/public/icons/16X16PNG/ruby_link.png differ diff --git a/public/icons/16X16PNG/ruby_put.png b/public/icons/16X16PNG/ruby_put.png new file mode 100644 index 0000000..e026323 Binary files /dev/null and b/public/icons/16X16PNG/ruby_put.png differ diff --git a/public/icons/16X16PNG/script.png b/public/icons/16X16PNG/script.png new file mode 100644 index 0000000..0f9ed4d Binary files /dev/null and b/public/icons/16X16PNG/script.png differ diff --git a/public/icons/16X16PNG/script_add.png b/public/icons/16X16PNG/script_add.png new file mode 100644 index 0000000..d650552 Binary files /dev/null and b/public/icons/16X16PNG/script_add.png differ diff --git a/public/icons/16X16PNG/script_code.png b/public/icons/16X16PNG/script_code.png new file mode 100644 index 0000000..63fe6ce Binary files /dev/null and b/public/icons/16X16PNG/script_code.png differ diff --git a/public/icons/16X16PNG/script_code_red.png b/public/icons/16X16PNG/script_code_red.png new file mode 100644 index 0000000..8fcf0f0 Binary files /dev/null and b/public/icons/16X16PNG/script_code_red.png differ diff --git a/public/icons/16X16PNG/script_delete.png b/public/icons/16X16PNG/script_delete.png new file mode 100644 index 0000000..e6500ce Binary files /dev/null and b/public/icons/16X16PNG/script_delete.png differ diff --git a/public/icons/16X16PNG/script_edit.png b/public/icons/16X16PNG/script_edit.png new file mode 100644 index 0000000..b4d31ce Binary files /dev/null and b/public/icons/16X16PNG/script_edit.png differ diff --git a/public/icons/16X16PNG/script_error.png b/public/icons/16X16PNG/script_error.png new file mode 100644 index 0000000..0491954 Binary files /dev/null and b/public/icons/16X16PNG/script_error.png differ diff --git a/public/icons/16X16PNG/script_gear.png b/public/icons/16X16PNG/script_gear.png new file mode 100644 index 0000000..56fcf84 Binary files /dev/null and b/public/icons/16X16PNG/script_gear.png differ diff --git a/public/icons/16X16PNG/script_go.png b/public/icons/16X16PNG/script_go.png new file mode 100644 index 0000000..8e154e2 Binary files /dev/null and b/public/icons/16X16PNG/script_go.png differ diff --git a/public/icons/16X16PNG/script_key.png b/public/icons/16X16PNG/script_key.png new file mode 100644 index 0000000..49bb24d Binary files /dev/null and b/public/icons/16X16PNG/script_key.png differ diff --git a/public/icons/16X16PNG/script_lightning.png b/public/icons/16X16PNG/script_lightning.png new file mode 100644 index 0000000..b3fa18c Binary files /dev/null and b/public/icons/16X16PNG/script_lightning.png differ diff --git a/public/icons/16X16PNG/script_link.png b/public/icons/16X16PNG/script_link.png new file mode 100644 index 0000000..bdeb985 Binary files /dev/null and b/public/icons/16X16PNG/script_link.png differ diff --git a/public/icons/16X16PNG/script_palette.png b/public/icons/16X16PNG/script_palette.png new file mode 100644 index 0000000..6d46962 Binary files /dev/null and b/public/icons/16X16PNG/script_palette.png differ diff --git a/public/icons/16X16PNG/script_save.png b/public/icons/16X16PNG/script_save.png new file mode 100644 index 0000000..36216d8 Binary files /dev/null and b/public/icons/16X16PNG/script_save.png differ diff --git a/public/icons/16X16PNG/server.png b/public/icons/16X16PNG/server.png new file mode 100644 index 0000000..720a237 Binary files /dev/null and b/public/icons/16X16PNG/server.png differ diff --git a/public/icons/16X16PNG/server_add.png b/public/icons/16X16PNG/server_add.png new file mode 100644 index 0000000..3f10a3a Binary files /dev/null and b/public/icons/16X16PNG/server_add.png differ diff --git a/public/icons/16X16PNG/server_chart.png b/public/icons/16X16PNG/server_chart.png new file mode 100644 index 0000000..1128d3f Binary files /dev/null and b/public/icons/16X16PNG/server_chart.png differ diff --git a/public/icons/16X16PNG/server_compressed.png b/public/icons/16X16PNG/server_compressed.png new file mode 100644 index 0000000..bf49fad Binary files /dev/null and b/public/icons/16X16PNG/server_compressed.png differ diff --git a/public/icons/16X16PNG/server_connect.png b/public/icons/16X16PNG/server_connect.png new file mode 100644 index 0000000..49b2691 Binary files /dev/null and b/public/icons/16X16PNG/server_connect.png differ diff --git a/public/icons/16X16PNG/server_database.png b/public/icons/16X16PNG/server_database.png new file mode 100644 index 0000000..b24e826 Binary files /dev/null and b/public/icons/16X16PNG/server_database.png differ diff --git a/public/icons/16X16PNG/server_delete.png b/public/icons/16X16PNG/server_delete.png new file mode 100644 index 0000000..61e740f Binary files /dev/null and b/public/icons/16X16PNG/server_delete.png differ diff --git a/public/icons/16X16PNG/server_edit.png b/public/icons/16X16PNG/server_edit.png new file mode 100644 index 0000000..dc76253 Binary files /dev/null and b/public/icons/16X16PNG/server_edit.png differ diff --git a/public/icons/16X16PNG/server_error.png b/public/icons/16X16PNG/server_error.png new file mode 100644 index 0000000..f640256 Binary files /dev/null and b/public/icons/16X16PNG/server_error.png differ diff --git a/public/icons/16X16PNG/server_go.png b/public/icons/16X16PNG/server_go.png new file mode 100644 index 0000000..540c8e2 Binary files /dev/null and b/public/icons/16X16PNG/server_go.png differ diff --git a/public/icons/16X16PNG/server_key.png b/public/icons/16X16PNG/server_key.png new file mode 100644 index 0000000..ecd5174 Binary files /dev/null and b/public/icons/16X16PNG/server_key.png differ diff --git a/public/icons/16X16PNG/server_lightning.png b/public/icons/16X16PNG/server_lightning.png new file mode 100644 index 0000000..b0f4e46 Binary files /dev/null and b/public/icons/16X16PNG/server_lightning.png differ diff --git a/public/icons/16X16PNG/server_link.png b/public/icons/16X16PNG/server_link.png new file mode 100644 index 0000000..e8821df Binary files /dev/null and b/public/icons/16X16PNG/server_link.png differ diff --git a/public/icons/16X16PNG/server_uncompressed.png b/public/icons/16X16PNG/server_uncompressed.png new file mode 100644 index 0000000..86e8325 Binary files /dev/null and b/public/icons/16X16PNG/server_uncompressed.png differ diff --git a/public/icons/16X16PNG/shading.png b/public/icons/16X16PNG/shading.png new file mode 100644 index 0000000..09275f9 Binary files /dev/null and b/public/icons/16X16PNG/shading.png differ diff --git a/public/icons/16X16PNG/shape_align_bottom.png b/public/icons/16X16PNG/shape_align_bottom.png new file mode 100644 index 0000000..55d2694 Binary files /dev/null and b/public/icons/16X16PNG/shape_align_bottom.png differ diff --git a/public/icons/16X16PNG/shape_align_center.png b/public/icons/16X16PNG/shape_align_center.png new file mode 100644 index 0000000..efe9a98 Binary files /dev/null and b/public/icons/16X16PNG/shape_align_center.png differ diff --git a/public/icons/16X16PNG/shape_align_left.png b/public/icons/16X16PNG/shape_align_left.png new file mode 100644 index 0000000..aaedc41 Binary files /dev/null and b/public/icons/16X16PNG/shape_align_left.png differ diff --git a/public/icons/16X16PNG/shape_align_middle.png b/public/icons/16X16PNG/shape_align_middle.png new file mode 100644 index 0000000..d350dd8 Binary files /dev/null and b/public/icons/16X16PNG/shape_align_middle.png differ diff --git a/public/icons/16X16PNG/shape_align_right.png b/public/icons/16X16PNG/shape_align_right.png new file mode 100644 index 0000000..ff556b6 Binary files /dev/null and b/public/icons/16X16PNG/shape_align_right.png differ diff --git a/public/icons/16X16PNG/shape_align_top.png b/public/icons/16X16PNG/shape_align_top.png new file mode 100644 index 0000000..1181b43 Binary files /dev/null and b/public/icons/16X16PNG/shape_align_top.png differ diff --git a/public/icons/16X16PNG/shape_flip_horizontal.png b/public/icons/16X16PNG/shape_flip_horizontal.png new file mode 100644 index 0000000..8667c81 Binary files /dev/null and b/public/icons/16X16PNG/shape_flip_horizontal.png differ diff --git a/public/icons/16X16PNG/shape_flip_vertical.png b/public/icons/16X16PNG/shape_flip_vertical.png new file mode 100644 index 0000000..0bd66d1 Binary files /dev/null and b/public/icons/16X16PNG/shape_flip_vertical.png differ diff --git a/public/icons/16X16PNG/shape_group.png b/public/icons/16X16PNG/shape_group.png new file mode 100644 index 0000000..bb2ff51 Binary files /dev/null and b/public/icons/16X16PNG/shape_group.png differ diff --git a/public/icons/16X16PNG/shape_handles.png b/public/icons/16X16PNG/shape_handles.png new file mode 100644 index 0000000..ce27fe3 Binary files /dev/null and b/public/icons/16X16PNG/shape_handles.png differ diff --git a/public/icons/16X16PNG/shape_move_back.png b/public/icons/16X16PNG/shape_move_back.png new file mode 100644 index 0000000..a216ffd Binary files /dev/null and b/public/icons/16X16PNG/shape_move_back.png differ diff --git a/public/icons/16X16PNG/shape_move_backwards.png b/public/icons/16X16PNG/shape_move_backwards.png new file mode 100644 index 0000000..ee3f9b2 Binary files /dev/null and b/public/icons/16X16PNG/shape_move_backwards.png differ diff --git a/public/icons/16X16PNG/shape_move_forwards.png b/public/icons/16X16PNG/shape_move_forwards.png new file mode 100644 index 0000000..cfe4493 Binary files /dev/null and b/public/icons/16X16PNG/shape_move_forwards.png differ diff --git a/public/icons/16X16PNG/shape_move_front.png b/public/icons/16X16PNG/shape_move_front.png new file mode 100644 index 0000000..b4a4e3b Binary files /dev/null and b/public/icons/16X16PNG/shape_move_front.png differ diff --git a/public/icons/16X16PNG/shape_rotate_anticlockwise.png b/public/icons/16X16PNG/shape_rotate_anticlockwise.png new file mode 100644 index 0000000..07a3020 Binary files /dev/null and b/public/icons/16X16PNG/shape_rotate_anticlockwise.png differ diff --git a/public/icons/16X16PNG/shape_rotate_clockwise.png b/public/icons/16X16PNG/shape_rotate_clockwise.png new file mode 100644 index 0000000..b99db7d Binary files /dev/null and b/public/icons/16X16PNG/shape_rotate_clockwise.png differ diff --git a/public/icons/16X16PNG/shape_square.png b/public/icons/16X16PNG/shape_square.png new file mode 100644 index 0000000..33af046 Binary files /dev/null and b/public/icons/16X16PNG/shape_square.png differ diff --git a/public/icons/16X16PNG/shape_square_add.png b/public/icons/16X16PNG/shape_square_add.png new file mode 100644 index 0000000..31edfce Binary files /dev/null and b/public/icons/16X16PNG/shape_square_add.png differ diff --git a/public/icons/16X16PNG/shape_square_delete.png b/public/icons/16X16PNG/shape_square_delete.png new file mode 100644 index 0000000..ede912d Binary files /dev/null and b/public/icons/16X16PNG/shape_square_delete.png differ diff --git a/public/icons/16X16PNG/shape_square_edit.png b/public/icons/16X16PNG/shape_square_edit.png new file mode 100644 index 0000000..d28dc6b Binary files /dev/null and b/public/icons/16X16PNG/shape_square_edit.png differ diff --git a/public/icons/16X16PNG/shape_square_error.png b/public/icons/16X16PNG/shape_square_error.png new file mode 100644 index 0000000..0d0dcfa Binary files /dev/null and b/public/icons/16X16PNG/shape_square_error.png differ diff --git a/public/icons/16X16PNG/shape_square_go.png b/public/icons/16X16PNG/shape_square_go.png new file mode 100644 index 0000000..5a2ad90 Binary files /dev/null and b/public/icons/16X16PNG/shape_square_go.png differ diff --git a/public/icons/16X16PNG/shape_square_key.png b/public/icons/16X16PNG/shape_square_key.png new file mode 100644 index 0000000..c34b982 Binary files /dev/null and b/public/icons/16X16PNG/shape_square_key.png differ diff --git a/public/icons/16X16PNG/shape_square_link.png b/public/icons/16X16PNG/shape_square_link.png new file mode 100644 index 0000000..b885fcc Binary files /dev/null and b/public/icons/16X16PNG/shape_square_link.png differ diff --git a/public/icons/16X16PNG/shape_ungroup.png b/public/icons/16X16PNG/shape_ungroup.png new file mode 100644 index 0000000..3a6f369 Binary files /dev/null and b/public/icons/16X16PNG/shape_ungroup.png differ diff --git a/public/icons/16X16PNG/shield.png b/public/icons/16X16PNG/shield.png new file mode 100644 index 0000000..3cb4e25 Binary files /dev/null and b/public/icons/16X16PNG/shield.png differ diff --git a/public/icons/16X16PNG/shield_add.png b/public/icons/16X16PNG/shield_add.png new file mode 100644 index 0000000..e20a1b4 Binary files /dev/null and b/public/icons/16X16PNG/shield_add.png differ diff --git a/public/icons/16X16PNG/shield_delete.png b/public/icons/16X16PNG/shield_delete.png new file mode 100644 index 0000000..22823a7 Binary files /dev/null and b/public/icons/16X16PNG/shield_delete.png differ diff --git a/public/icons/16X16PNG/shield_go.png b/public/icons/16X16PNG/shield_go.png new file mode 100644 index 0000000..e9bd852 Binary files /dev/null and b/public/icons/16X16PNG/shield_go.png differ diff --git a/public/icons/16X16PNG/sitemap.png b/public/icons/16X16PNG/sitemap.png new file mode 100644 index 0000000..ca779f3 Binary files /dev/null and b/public/icons/16X16PNG/sitemap.png differ diff --git a/public/icons/16X16PNG/sitemap_color.png b/public/icons/16X16PNG/sitemap_color.png new file mode 100644 index 0000000..c64582b Binary files /dev/null and b/public/icons/16X16PNG/sitemap_color.png differ diff --git a/public/icons/16X16PNG/sound.png b/public/icons/16X16PNG/sound.png new file mode 100644 index 0000000..6056d23 Binary files /dev/null and b/public/icons/16X16PNG/sound.png differ diff --git a/public/icons/16X16PNG/sound_add.png b/public/icons/16X16PNG/sound_add.png new file mode 100644 index 0000000..965c503 Binary files /dev/null and b/public/icons/16X16PNG/sound_add.png differ diff --git a/public/icons/16X16PNG/sound_delete.png b/public/icons/16X16PNG/sound_delete.png new file mode 100644 index 0000000..ab9577a Binary files /dev/null and b/public/icons/16X16PNG/sound_delete.png differ diff --git a/public/icons/16X16PNG/sound_low.png b/public/icons/16X16PNG/sound_low.png new file mode 100644 index 0000000..4d91863 Binary files /dev/null and b/public/icons/16X16PNG/sound_low.png differ diff --git a/public/icons/16X16PNG/sound_mute.png b/public/icons/16X16PNG/sound_mute.png new file mode 100644 index 0000000..b652d2a Binary files /dev/null and b/public/icons/16X16PNG/sound_mute.png differ diff --git a/public/icons/16X16PNG/sound_none.png b/public/icons/16X16PNG/sound_none.png new file mode 100644 index 0000000..b497ebd Binary files /dev/null and b/public/icons/16X16PNG/sound_none.png differ diff --git a/public/icons/16X16PNG/spellcheck.png b/public/icons/16X16PNG/spellcheck.png new file mode 100644 index 0000000..ebc632d Binary files /dev/null and b/public/icons/16X16PNG/spellcheck.png differ diff --git a/public/icons/16X16PNG/sport_8ball.png b/public/icons/16X16PNG/sport_8ball.png new file mode 100644 index 0000000..4f627b7 Binary files /dev/null and b/public/icons/16X16PNG/sport_8ball.png differ diff --git a/public/icons/16X16PNG/sport_basketball.png b/public/icons/16X16PNG/sport_basketball.png new file mode 100644 index 0000000..f7a000b Binary files /dev/null and b/public/icons/16X16PNG/sport_basketball.png differ diff --git a/public/icons/16X16PNG/sport_football.png b/public/icons/16X16PNG/sport_football.png new file mode 100644 index 0000000..199f0f7 Binary files /dev/null and b/public/icons/16X16PNG/sport_football.png differ diff --git a/public/icons/16X16PNG/sport_golf.png b/public/icons/16X16PNG/sport_golf.png new file mode 100644 index 0000000..e21fa44 Binary files /dev/null and b/public/icons/16X16PNG/sport_golf.png differ diff --git a/public/icons/16X16PNG/sport_raquet.png b/public/icons/16X16PNG/sport_raquet.png new file mode 100644 index 0000000..f5e0f0c Binary files /dev/null and b/public/icons/16X16PNG/sport_raquet.png differ diff --git a/public/icons/16X16PNG/sport_shuttlecock.png b/public/icons/16X16PNG/sport_shuttlecock.png new file mode 100644 index 0000000..917287f Binary files /dev/null and b/public/icons/16X16PNG/sport_shuttlecock.png differ diff --git a/public/icons/16X16PNG/sport_soccer.png b/public/icons/16X16PNG/sport_soccer.png new file mode 100644 index 0000000..3eb1828 Binary files /dev/null and b/public/icons/16X16PNG/sport_soccer.png differ diff --git a/public/icons/16X16PNG/sport_tennis.png b/public/icons/16X16PNG/sport_tennis.png new file mode 100644 index 0000000..e88a6ef Binary files /dev/null and b/public/icons/16X16PNG/sport_tennis.png differ diff --git a/public/icons/16X16PNG/star.png b/public/icons/16X16PNG/star.png new file mode 100644 index 0000000..b88c857 Binary files /dev/null and b/public/icons/16X16PNG/star.png differ diff --git a/public/icons/16X16PNG/status_away.png b/public/icons/16X16PNG/status_away.png new file mode 100644 index 0000000..70bcbcc Binary files /dev/null and b/public/icons/16X16PNG/status_away.png differ diff --git a/public/icons/16X16PNG/status_busy.png b/public/icons/16X16PNG/status_busy.png new file mode 100644 index 0000000..987c806 Binary files /dev/null and b/public/icons/16X16PNG/status_busy.png differ diff --git a/public/icons/16X16PNG/status_offline.png b/public/icons/16X16PNG/status_offline.png new file mode 100644 index 0000000..a88261a Binary files /dev/null and b/public/icons/16X16PNG/status_offline.png differ diff --git a/public/icons/16X16PNG/status_online.png b/public/icons/16X16PNG/status_online.png new file mode 100644 index 0000000..947bd4b Binary files /dev/null and b/public/icons/16X16PNG/status_online.png differ diff --git a/public/icons/16X16PNG/stop.png b/public/icons/16X16PNG/stop.png new file mode 100644 index 0000000..0cfd585 Binary files /dev/null and b/public/icons/16X16PNG/stop.png differ diff --git a/public/icons/16X16PNG/style.png b/public/icons/16X16PNG/style.png new file mode 100644 index 0000000..81e41de Binary files /dev/null and b/public/icons/16X16PNG/style.png differ diff --git a/public/icons/16X16PNG/style_add.png b/public/icons/16X16PNG/style_add.png new file mode 100644 index 0000000..e0369c6 Binary files /dev/null and b/public/icons/16X16PNG/style_add.png differ diff --git a/public/icons/16X16PNG/style_delete.png b/public/icons/16X16PNG/style_delete.png new file mode 100644 index 0000000..640f187 Binary files /dev/null and b/public/icons/16X16PNG/style_delete.png differ diff --git a/public/icons/16X16PNG/style_edit.png b/public/icons/16X16PNG/style_edit.png new file mode 100644 index 0000000..25bb5b6 Binary files /dev/null and b/public/icons/16X16PNG/style_edit.png differ diff --git a/public/icons/16X16PNG/style_go.png b/public/icons/16X16PNG/style_go.png new file mode 100644 index 0000000..25d6181 Binary files /dev/null and b/public/icons/16X16PNG/style_go.png differ diff --git a/public/icons/16X16PNG/sum.png b/public/icons/16X16PNG/sum.png new file mode 100644 index 0000000..fd7b32e Binary files /dev/null and b/public/icons/16X16PNG/sum.png differ diff --git a/public/icons/16X16PNG/tab.png b/public/icons/16X16PNG/tab.png new file mode 100644 index 0000000..3d8207f Binary files /dev/null and b/public/icons/16X16PNG/tab.png differ diff --git a/public/icons/16X16PNG/tab_add.png b/public/icons/16X16PNG/tab_add.png new file mode 100644 index 0000000..d3b9936 Binary files /dev/null and b/public/icons/16X16PNG/tab_add.png differ diff --git a/public/icons/16X16PNG/tab_delete.png b/public/icons/16X16PNG/tab_delete.png new file mode 100644 index 0000000..100da2f Binary files /dev/null and b/public/icons/16X16PNG/tab_delete.png differ diff --git a/public/icons/16X16PNG/tab_edit.png b/public/icons/16X16PNG/tab_edit.png new file mode 100644 index 0000000..4c09c0f Binary files /dev/null and b/public/icons/16X16PNG/tab_edit.png differ diff --git a/public/icons/16X16PNG/tab_go.png b/public/icons/16X16PNG/tab_go.png new file mode 100644 index 0000000..844ce04 Binary files /dev/null and b/public/icons/16X16PNG/tab_go.png differ diff --git a/public/icons/16X16PNG/table.png b/public/icons/16X16PNG/table.png new file mode 100644 index 0000000..abcd936 Binary files /dev/null and b/public/icons/16X16PNG/table.png differ diff --git a/public/icons/16X16PNG/table_add.png b/public/icons/16X16PNG/table_add.png new file mode 100644 index 0000000..2a3e5c4 Binary files /dev/null and b/public/icons/16X16PNG/table_add.png differ diff --git a/public/icons/16X16PNG/table_delete.png b/public/icons/16X16PNG/table_delete.png new file mode 100644 index 0000000..b85916d Binary files /dev/null and b/public/icons/16X16PNG/table_delete.png differ diff --git a/public/icons/16X16PNG/table_edit.png b/public/icons/16X16PNG/table_edit.png new file mode 100644 index 0000000..bfcb024 Binary files /dev/null and b/public/icons/16X16PNG/table_edit.png differ diff --git a/public/icons/16X16PNG/table_error.png b/public/icons/16X16PNG/table_error.png new file mode 100644 index 0000000..589e92b Binary files /dev/null and b/public/icons/16X16PNG/table_error.png differ diff --git a/public/icons/16X16PNG/table_gear.png b/public/icons/16X16PNG/table_gear.png new file mode 100644 index 0000000..cfc2702 Binary files /dev/null and b/public/icons/16X16PNG/table_gear.png differ diff --git a/public/icons/16X16PNG/table_go.png b/public/icons/16X16PNG/table_go.png new file mode 100644 index 0000000..0528dfa Binary files /dev/null and b/public/icons/16X16PNG/table_go.png differ diff --git a/public/icons/16X16PNG/table_key.png b/public/icons/16X16PNG/table_key.png new file mode 100644 index 0000000..34e23e2 Binary files /dev/null and b/public/icons/16X16PNG/table_key.png differ diff --git a/public/icons/16X16PNG/table_lightning.png b/public/icons/16X16PNG/table_lightning.png new file mode 100644 index 0000000..612612b Binary files /dev/null and b/public/icons/16X16PNG/table_lightning.png differ diff --git a/public/icons/16X16PNG/table_link.png b/public/icons/16X16PNG/table_link.png new file mode 100644 index 0000000..decac8a Binary files /dev/null and b/public/icons/16X16PNG/table_link.png differ diff --git a/public/icons/16X16PNG/table_multiple.png b/public/icons/16X16PNG/table_multiple.png new file mode 100644 index 0000000..d76448e Binary files /dev/null and b/public/icons/16X16PNG/table_multiple.png differ diff --git a/public/icons/16X16PNG/table_refresh.png b/public/icons/16X16PNG/table_refresh.png new file mode 100644 index 0000000..ab92010 Binary files /dev/null and b/public/icons/16X16PNG/table_refresh.png differ diff --git a/public/icons/16X16PNG/table_relationship.png b/public/icons/16X16PNG/table_relationship.png new file mode 100644 index 0000000..28b8505 Binary files /dev/null and b/public/icons/16X16PNG/table_relationship.png differ diff --git a/public/icons/16X16PNG/table_row_delete.png b/public/icons/16X16PNG/table_row_delete.png new file mode 100644 index 0000000..54c6969 Binary files /dev/null and b/public/icons/16X16PNG/table_row_delete.png differ diff --git a/public/icons/16X16PNG/table_row_insert.png b/public/icons/16X16PNG/table_row_insert.png new file mode 100644 index 0000000..ff5925e Binary files /dev/null and b/public/icons/16X16PNG/table_row_insert.png differ diff --git a/public/icons/16X16PNG/table_save.png b/public/icons/16X16PNG/table_save.png new file mode 100644 index 0000000..25b74d1 Binary files /dev/null and b/public/icons/16X16PNG/table_save.png differ diff --git a/public/icons/16X16PNG/table_sort.png b/public/icons/16X16PNG/table_sort.png new file mode 100644 index 0000000..ed6785a Binary files /dev/null and b/public/icons/16X16PNG/table_sort.png differ diff --git a/public/icons/16X16PNG/tag.png b/public/icons/16X16PNG/tag.png new file mode 100644 index 0000000..e093032 Binary files /dev/null and b/public/icons/16X16PNG/tag.png differ diff --git a/public/icons/16X16PNG/tag_blue.png b/public/icons/16X16PNG/tag_blue.png new file mode 100644 index 0000000..9757fc6 Binary files /dev/null and b/public/icons/16X16PNG/tag_blue.png differ diff --git a/public/icons/16X16PNG/tag_blue_add.png b/public/icons/16X16PNG/tag_blue_add.png new file mode 100644 index 0000000..f135248 Binary files /dev/null and b/public/icons/16X16PNG/tag_blue_add.png differ diff --git a/public/icons/16X16PNG/tag_blue_delete.png b/public/icons/16X16PNG/tag_blue_delete.png new file mode 100644 index 0000000..9fbae67 Binary files /dev/null and b/public/icons/16X16PNG/tag_blue_delete.png differ diff --git a/public/icons/16X16PNG/tag_blue_edit.png b/public/icons/16X16PNG/tag_blue_edit.png new file mode 100644 index 0000000..2a9f626 Binary files /dev/null and b/public/icons/16X16PNG/tag_blue_edit.png differ diff --git a/public/icons/16X16PNG/tag_green.png b/public/icons/16X16PNG/tag_green.png new file mode 100644 index 0000000..83ec984 Binary files /dev/null and b/public/icons/16X16PNG/tag_green.png differ diff --git a/public/icons/16X16PNG/tag_orange.png b/public/icons/16X16PNG/tag_orange.png new file mode 100644 index 0000000..454a59f Binary files /dev/null and b/public/icons/16X16PNG/tag_orange.png differ diff --git a/public/icons/16X16PNG/tag_pink.png b/public/icons/16X16PNG/tag_pink.png new file mode 100644 index 0000000..76e2296 Binary files /dev/null and b/public/icons/16X16PNG/tag_pink.png differ diff --git a/public/icons/16X16PNG/tag_purple.png b/public/icons/16X16PNG/tag_purple.png new file mode 100644 index 0000000..ebaf0e8 Binary files /dev/null and b/public/icons/16X16PNG/tag_purple.png differ diff --git a/public/icons/16X16PNG/tag_red.png b/public/icons/16X16PNG/tag_red.png new file mode 100644 index 0000000..6ebb37d Binary files /dev/null and b/public/icons/16X16PNG/tag_red.png differ diff --git a/public/icons/16X16PNG/tag_yellow.png b/public/icons/16X16PNG/tag_yellow.png new file mode 100644 index 0000000..83d1292 Binary files /dev/null and b/public/icons/16X16PNG/tag_yellow.png differ diff --git a/public/icons/16X16PNG/telephone.png b/public/icons/16X16PNG/telephone.png new file mode 100644 index 0000000..cecc436 Binary files /dev/null and b/public/icons/16X16PNG/telephone.png differ diff --git a/public/icons/16X16PNG/telephone_add.png b/public/icons/16X16PNG/telephone_add.png new file mode 100644 index 0000000..5591cfc Binary files /dev/null and b/public/icons/16X16PNG/telephone_add.png differ diff --git a/public/icons/16X16PNG/telephone_delete.png b/public/icons/16X16PNG/telephone_delete.png new file mode 100644 index 0000000..0013268 Binary files /dev/null and b/public/icons/16X16PNG/telephone_delete.png differ diff --git a/public/icons/16X16PNG/telephone_edit.png b/public/icons/16X16PNG/telephone_edit.png new file mode 100644 index 0000000..bcf6d7e Binary files /dev/null and b/public/icons/16X16PNG/telephone_edit.png differ diff --git a/public/icons/16X16PNG/telephone_error.png b/public/icons/16X16PNG/telephone_error.png new file mode 100644 index 0000000..d3ec3a1 Binary files /dev/null and b/public/icons/16X16PNG/telephone_error.png differ diff --git a/public/icons/16X16PNG/telephone_go.png b/public/icons/16X16PNG/telephone_go.png new file mode 100644 index 0000000..395c8fb Binary files /dev/null and b/public/icons/16X16PNG/telephone_go.png differ diff --git a/public/icons/16X16PNG/telephone_key.png b/public/icons/16X16PNG/telephone_key.png new file mode 100644 index 0000000..cef5dec Binary files /dev/null and b/public/icons/16X16PNG/telephone_key.png differ diff --git a/public/icons/16X16PNG/telephone_link.png b/public/icons/16X16PNG/telephone_link.png new file mode 100644 index 0000000..ef1ee5d Binary files /dev/null and b/public/icons/16X16PNG/telephone_link.png differ diff --git a/public/icons/16X16PNG/television.png b/public/icons/16X16PNG/television.png new file mode 100644 index 0000000..1738a4f Binary files /dev/null and b/public/icons/16X16PNG/television.png differ diff --git a/public/icons/16X16PNG/television_add.png b/public/icons/16X16PNG/television_add.png new file mode 100644 index 0000000..2baaad9 Binary files /dev/null and b/public/icons/16X16PNG/television_add.png differ diff --git a/public/icons/16X16PNG/television_delete.png b/public/icons/16X16PNG/television_delete.png new file mode 100644 index 0000000..b9a5860 Binary files /dev/null and b/public/icons/16X16PNG/television_delete.png differ diff --git a/public/icons/16X16PNG/text_align_center.png b/public/icons/16X16PNG/text_align_center.png new file mode 100644 index 0000000..57beb38 Binary files /dev/null and b/public/icons/16X16PNG/text_align_center.png differ diff --git a/public/icons/16X16PNG/text_align_justify.png b/public/icons/16X16PNG/text_align_justify.png new file mode 100644 index 0000000..2fbdd69 Binary files /dev/null and b/public/icons/16X16PNG/text_align_justify.png differ diff --git a/public/icons/16X16PNG/text_align_left.png b/public/icons/16X16PNG/text_align_left.png new file mode 100644 index 0000000..6c8fcc1 Binary files /dev/null and b/public/icons/16X16PNG/text_align_left.png differ diff --git a/public/icons/16X16PNG/text_align_right.png b/public/icons/16X16PNG/text_align_right.png new file mode 100644 index 0000000..a150257 Binary files /dev/null and b/public/icons/16X16PNG/text_align_right.png differ diff --git a/public/icons/16X16PNG/text_allcaps.png b/public/icons/16X16PNG/text_allcaps.png new file mode 100644 index 0000000..280fd44 Binary files /dev/null and b/public/icons/16X16PNG/text_allcaps.png differ diff --git a/public/icons/16X16PNG/text_bold.png b/public/icons/16X16PNG/text_bold.png new file mode 100644 index 0000000..889ae80 Binary files /dev/null and b/public/icons/16X16PNG/text_bold.png differ diff --git a/public/icons/16X16PNG/text_columns.png b/public/icons/16X16PNG/text_columns.png new file mode 100644 index 0000000..97b2e03 Binary files /dev/null and b/public/icons/16X16PNG/text_columns.png differ diff --git a/public/icons/16X16PNG/text_dropcaps.png b/public/icons/16X16PNG/text_dropcaps.png new file mode 100644 index 0000000..dd65786 Binary files /dev/null and b/public/icons/16X16PNG/text_dropcaps.png differ diff --git a/public/icons/16X16PNG/text_heading_1.png b/public/icons/16X16PNG/text_heading_1.png new file mode 100644 index 0000000..9c122e9 Binary files /dev/null and b/public/icons/16X16PNG/text_heading_1.png differ diff --git a/public/icons/16X16PNG/text_heading_2.png b/public/icons/16X16PNG/text_heading_2.png new file mode 100644 index 0000000..fbd8765 Binary files /dev/null and b/public/icons/16X16PNG/text_heading_2.png differ diff --git a/public/icons/16X16PNG/text_heading_3.png b/public/icons/16X16PNG/text_heading_3.png new file mode 100644 index 0000000..c7836cf Binary files /dev/null and b/public/icons/16X16PNG/text_heading_3.png differ diff --git a/public/icons/16X16PNG/text_heading_4.png b/public/icons/16X16PNG/text_heading_4.png new file mode 100644 index 0000000..4e929ea Binary files /dev/null and b/public/icons/16X16PNG/text_heading_4.png differ diff --git a/public/icons/16X16PNG/text_heading_5.png b/public/icons/16X16PNG/text_heading_5.png new file mode 100644 index 0000000..30cabeb Binary files /dev/null and b/public/icons/16X16PNG/text_heading_5.png differ diff --git a/public/icons/16X16PNG/text_heading_6.png b/public/icons/16X16PNG/text_heading_6.png new file mode 100644 index 0000000..058170a Binary files /dev/null and b/public/icons/16X16PNG/text_heading_6.png differ diff --git a/public/icons/16X16PNG/text_horizontalrule.png b/public/icons/16X16PNG/text_horizontalrule.png new file mode 100644 index 0000000..8dd1da1 Binary files /dev/null and b/public/icons/16X16PNG/text_horizontalrule.png differ diff --git a/public/icons/16X16PNG/text_indent.png b/public/icons/16X16PNG/text_indent.png new file mode 100644 index 0000000..9364532 Binary files /dev/null and b/public/icons/16X16PNG/text_indent.png differ diff --git a/public/icons/16X16PNG/text_indent_remove.png b/public/icons/16X16PNG/text_indent_remove.png new file mode 100644 index 0000000..1651b07 Binary files /dev/null and b/public/icons/16X16PNG/text_indent_remove.png differ diff --git a/public/icons/16X16PNG/text_italic.png b/public/icons/16X16PNG/text_italic.png new file mode 100644 index 0000000..8482ac8 Binary files /dev/null and b/public/icons/16X16PNG/text_italic.png differ diff --git a/public/icons/16X16PNG/text_kerning.png b/public/icons/16X16PNG/text_kerning.png new file mode 100644 index 0000000..377def6 Binary files /dev/null and b/public/icons/16X16PNG/text_kerning.png differ diff --git a/public/icons/16X16PNG/text_letter_omega.png b/public/icons/16X16PNG/text_letter_omega.png new file mode 100644 index 0000000..5075ec6 Binary files /dev/null and b/public/icons/16X16PNG/text_letter_omega.png differ diff --git a/public/icons/16X16PNG/text_letterspacing.png b/public/icons/16X16PNG/text_letterspacing.png new file mode 100644 index 0000000..41390f5 Binary files /dev/null and b/public/icons/16X16PNG/text_letterspacing.png differ diff --git a/public/icons/16X16PNG/text_linespacing.png b/public/icons/16X16PNG/text_linespacing.png new file mode 100644 index 0000000..1a91cbd Binary files /dev/null and b/public/icons/16X16PNG/text_linespacing.png differ diff --git a/public/icons/16X16PNG/text_list_bullets.png b/public/icons/16X16PNG/text_list_bullets.png new file mode 100644 index 0000000..4a8672b Binary files /dev/null and b/public/icons/16X16PNG/text_list_bullets.png differ diff --git a/public/icons/16X16PNG/text_list_numbers.png b/public/icons/16X16PNG/text_list_numbers.png new file mode 100644 index 0000000..33b0b8d Binary files /dev/null and b/public/icons/16X16PNG/text_list_numbers.png differ diff --git a/public/icons/16X16PNG/text_lowercase.png b/public/icons/16X16PNG/text_lowercase.png new file mode 100644 index 0000000..382a102 Binary files /dev/null and b/public/icons/16X16PNG/text_lowercase.png differ diff --git a/public/icons/16X16PNG/text_padding_bottom.png b/public/icons/16X16PNG/text_padding_bottom.png new file mode 100644 index 0000000..4880c43 Binary files /dev/null and b/public/icons/16X16PNG/text_padding_bottom.png differ diff --git a/public/icons/16X16PNG/text_padding_left.png b/public/icons/16X16PNG/text_padding_left.png new file mode 100644 index 0000000..b55482e Binary files /dev/null and b/public/icons/16X16PNG/text_padding_left.png differ diff --git a/public/icons/16X16PNG/text_padding_right.png b/public/icons/16X16PNG/text_padding_right.png new file mode 100644 index 0000000..106edae Binary files /dev/null and b/public/icons/16X16PNG/text_padding_right.png differ diff --git a/public/icons/16X16PNG/text_padding_top.png b/public/icons/16X16PNG/text_padding_top.png new file mode 100644 index 0000000..c5c45b2 Binary files /dev/null and b/public/icons/16X16PNG/text_padding_top.png differ diff --git a/public/icons/16X16PNG/text_replace.png b/public/icons/16X16PNG/text_replace.png new file mode 100644 index 0000000..877f82f Binary files /dev/null and b/public/icons/16X16PNG/text_replace.png differ diff --git a/public/icons/16X16PNG/text_signature.png b/public/icons/16X16PNG/text_signature.png new file mode 100644 index 0000000..c72fd80 Binary files /dev/null and b/public/icons/16X16PNG/text_signature.png differ diff --git a/public/icons/16X16PNG/text_smallcaps.png b/public/icons/16X16PNG/text_smallcaps.png new file mode 100644 index 0000000..5b98a6e Binary files /dev/null and b/public/icons/16X16PNG/text_smallcaps.png differ diff --git a/public/icons/16X16PNG/text_strikethrough.png b/public/icons/16X16PNG/text_strikethrough.png new file mode 100644 index 0000000..612058a Binary files /dev/null and b/public/icons/16X16PNG/text_strikethrough.png differ diff --git a/public/icons/16X16PNG/text_subscript.png b/public/icons/16X16PNG/text_subscript.png new file mode 100644 index 0000000..1a2b010 Binary files /dev/null and b/public/icons/16X16PNG/text_subscript.png differ diff --git a/public/icons/16X16PNG/text_superscript.png b/public/icons/16X16PNG/text_superscript.png new file mode 100644 index 0000000..2fb2a7c Binary files /dev/null and b/public/icons/16X16PNG/text_superscript.png differ diff --git a/public/icons/16X16PNG/text_underline.png b/public/icons/16X16PNG/text_underline.png new file mode 100644 index 0000000..90d0df2 Binary files /dev/null and b/public/icons/16X16PNG/text_underline.png differ diff --git a/public/icons/16X16PNG/text_uppercase.png b/public/icons/16X16PNG/text_uppercase.png new file mode 100644 index 0000000..8dcc2db Binary files /dev/null and b/public/icons/16X16PNG/text_uppercase.png differ diff --git a/public/icons/16X16PNG/textfield.png b/public/icons/16X16PNG/textfield.png new file mode 100644 index 0000000..d37e730 Binary files /dev/null and b/public/icons/16X16PNG/textfield.png differ diff --git a/public/icons/16X16PNG/textfield_add.png b/public/icons/16X16PNG/textfield_add.png new file mode 100644 index 0000000..204de72 Binary files /dev/null and b/public/icons/16X16PNG/textfield_add.png differ diff --git a/public/icons/16X16PNG/textfield_delete.png b/public/icons/16X16PNG/textfield_delete.png new file mode 100644 index 0000000..c7bd58b Binary files /dev/null and b/public/icons/16X16PNG/textfield_delete.png differ diff --git a/public/icons/16X16PNG/textfield_key.png b/public/icons/16X16PNG/textfield_key.png new file mode 100644 index 0000000..a9d5e4f Binary files /dev/null and b/public/icons/16X16PNG/textfield_key.png differ diff --git a/public/icons/16X16PNG/textfield_rename.png b/public/icons/16X16PNG/textfield_rename.png new file mode 100644 index 0000000..4e3688e Binary files /dev/null and b/public/icons/16X16PNG/textfield_rename.png differ diff --git a/public/icons/16X16PNG/thumb_down.png b/public/icons/16X16PNG/thumb_down.png new file mode 100644 index 0000000..3c832d4 Binary files /dev/null and b/public/icons/16X16PNG/thumb_down.png differ diff --git a/public/icons/16X16PNG/thumb_up.png b/public/icons/16X16PNG/thumb_up.png new file mode 100644 index 0000000..2bd16cc Binary files /dev/null and b/public/icons/16X16PNG/thumb_up.png differ diff --git a/public/icons/16X16PNG/tick.png b/public/icons/16X16PNG/tick.png new file mode 100644 index 0000000..a9925a0 Binary files /dev/null and b/public/icons/16X16PNG/tick.png differ diff --git a/public/icons/16X16PNG/time.png b/public/icons/16X16PNG/time.png new file mode 100644 index 0000000..911da3f Binary files /dev/null and b/public/icons/16X16PNG/time.png differ diff --git a/public/icons/16X16PNG/time_add.png b/public/icons/16X16PNG/time_add.png new file mode 100644 index 0000000..dcc45cb Binary files /dev/null and b/public/icons/16X16PNG/time_add.png differ diff --git a/public/icons/16X16PNG/time_delete.png b/public/icons/16X16PNG/time_delete.png new file mode 100644 index 0000000..5bf8313 Binary files /dev/null and b/public/icons/16X16PNG/time_delete.png differ diff --git a/public/icons/16X16PNG/time_go.png b/public/icons/16X16PNG/time_go.png new file mode 100644 index 0000000..d451ee0 Binary files /dev/null and b/public/icons/16X16PNG/time_go.png differ diff --git a/public/icons/16X16PNG/timeline_marker.png b/public/icons/16X16PNG/timeline_marker.png new file mode 100644 index 0000000..a3fbddf Binary files /dev/null and b/public/icons/16X16PNG/timeline_marker.png differ diff --git a/public/icons/16X16PNG/transmit.png b/public/icons/16X16PNG/transmit.png new file mode 100644 index 0000000..f54bf73 Binary files /dev/null and b/public/icons/16X16PNG/transmit.png differ diff --git a/public/icons/16X16PNG/transmit_add.png b/public/icons/16X16PNG/transmit_add.png new file mode 100644 index 0000000..b7fd4e6 Binary files /dev/null and b/public/icons/16X16PNG/transmit_add.png differ diff --git a/public/icons/16X16PNG/transmit_blue.png b/public/icons/16X16PNG/transmit_blue.png new file mode 100644 index 0000000..7b1142f Binary files /dev/null and b/public/icons/16X16PNG/transmit_blue.png differ diff --git a/public/icons/16X16PNG/transmit_delete.png b/public/icons/16X16PNG/transmit_delete.png new file mode 100644 index 0000000..3d72be2 Binary files /dev/null and b/public/icons/16X16PNG/transmit_delete.png differ diff --git a/public/icons/16X16PNG/transmit_edit.png b/public/icons/16X16PNG/transmit_edit.png new file mode 100644 index 0000000..eb9a3dd Binary files /dev/null and b/public/icons/16X16PNG/transmit_edit.png differ diff --git a/public/icons/16X16PNG/transmit_error.png b/public/icons/16X16PNG/transmit_error.png new file mode 100644 index 0000000..fd1d449 Binary files /dev/null and b/public/icons/16X16PNG/transmit_error.png differ diff --git a/public/icons/16X16PNG/transmit_go.png b/public/icons/16X16PNG/transmit_go.png new file mode 100644 index 0000000..10137e5 Binary files /dev/null and b/public/icons/16X16PNG/transmit_go.png differ diff --git a/public/icons/16X16PNG/tux.png b/public/icons/16X16PNG/tux.png new file mode 100644 index 0000000..bbefe2e Binary files /dev/null and b/public/icons/16X16PNG/tux.png differ diff --git a/public/icons/16X16PNG/twitter_tool.png b/public/icons/16X16PNG/twitter_tool.png new file mode 100644 index 0000000..e8b3b92 Binary files /dev/null and b/public/icons/16X16PNG/twitter_tool.png differ diff --git a/public/icons/16X16PNG/user.png b/public/icons/16X16PNG/user.png new file mode 100644 index 0000000..79f35cc Binary files /dev/null and b/public/icons/16X16PNG/user.png differ diff --git a/public/icons/16X16PNG/user_add.png b/public/icons/16X16PNG/user_add.png new file mode 100644 index 0000000..deae99b Binary files /dev/null and b/public/icons/16X16PNG/user_add.png differ diff --git a/public/icons/16X16PNG/user_comment.png b/public/icons/16X16PNG/user_comment.png new file mode 100644 index 0000000..e54ebeb Binary files /dev/null and b/public/icons/16X16PNG/user_comment.png differ diff --git a/public/icons/16X16PNG/user_delete.png b/public/icons/16X16PNG/user_delete.png new file mode 100644 index 0000000..acbb563 Binary files /dev/null and b/public/icons/16X16PNG/user_delete.png differ diff --git a/public/icons/16X16PNG/user_edit.png b/public/icons/16X16PNG/user_edit.png new file mode 100644 index 0000000..c1974cd Binary files /dev/null and b/public/icons/16X16PNG/user_edit.png differ diff --git a/public/icons/16X16PNG/user_female.png b/public/icons/16X16PNG/user_female.png new file mode 100644 index 0000000..7c71de0 Binary files /dev/null and b/public/icons/16X16PNG/user_female.png differ diff --git a/public/icons/16X16PNG/user_go.png b/public/icons/16X16PNG/user_go.png new file mode 100644 index 0000000..0468cf0 Binary files /dev/null and b/public/icons/16X16PNG/user_go.png differ diff --git a/public/icons/16X16PNG/user_gray.png b/public/icons/16X16PNG/user_gray.png new file mode 100644 index 0000000..8fd539e Binary files /dev/null and b/public/icons/16X16PNG/user_gray.png differ diff --git a/public/icons/16X16PNG/user_green.png b/public/icons/16X16PNG/user_green.png new file mode 100644 index 0000000..30383c2 Binary files /dev/null and b/public/icons/16X16PNG/user_green.png differ diff --git a/public/icons/16X16PNG/user_orange.png b/public/icons/16X16PNG/user_orange.png new file mode 100644 index 0000000..b818127 Binary files /dev/null and b/public/icons/16X16PNG/user_orange.png differ diff --git a/public/icons/16X16PNG/user_red.png b/public/icons/16X16PNG/user_red.png new file mode 100644 index 0000000..c6f66e8 Binary files /dev/null and b/public/icons/16X16PNG/user_red.png differ diff --git a/public/icons/16X16PNG/user_suit.png b/public/icons/16X16PNG/user_suit.png new file mode 100644 index 0000000..b3454e1 Binary files /dev/null and b/public/icons/16X16PNG/user_suit.png differ diff --git a/public/icons/16X16PNG/vcard.png b/public/icons/16X16PNG/vcard.png new file mode 100644 index 0000000..c02f315 Binary files /dev/null and b/public/icons/16X16PNG/vcard.png differ diff --git a/public/icons/16X16PNG/vcard_add.png b/public/icons/16X16PNG/vcard_add.png new file mode 100644 index 0000000..2a68453 Binary files /dev/null and b/public/icons/16X16PNG/vcard_add.png differ diff --git a/public/icons/16X16PNG/vcard_delete.png b/public/icons/16X16PNG/vcard_delete.png new file mode 100644 index 0000000..b194b97 Binary files /dev/null and b/public/icons/16X16PNG/vcard_delete.png differ diff --git a/public/icons/16X16PNG/vcard_edit.png b/public/icons/16X16PNG/vcard_edit.png new file mode 100644 index 0000000..ab0f6e7 Binary files /dev/null and b/public/icons/16X16PNG/vcard_edit.png differ diff --git a/public/icons/16X16PNG/vector.png b/public/icons/16X16PNG/vector.png new file mode 100644 index 0000000..a1291c2 Binary files /dev/null and b/public/icons/16X16PNG/vector.png differ diff --git a/public/icons/16X16PNG/vector_add.png b/public/icons/16X16PNG/vector_add.png new file mode 100644 index 0000000..988770f Binary files /dev/null and b/public/icons/16X16PNG/vector_add.png differ diff --git a/public/icons/16X16PNG/vector_delete.png b/public/icons/16X16PNG/vector_delete.png new file mode 100644 index 0000000..ca139e0 Binary files /dev/null and b/public/icons/16X16PNG/vector_delete.png differ diff --git a/public/icons/16X16PNG/wand.png b/public/icons/16X16PNG/wand.png new file mode 100644 index 0000000..44ccbf8 Binary files /dev/null and b/public/icons/16X16PNG/wand.png differ diff --git a/public/icons/16X16PNG/weather_clouds.png b/public/icons/16X16PNG/weather_clouds.png new file mode 100644 index 0000000..3f73eaa Binary files /dev/null and b/public/icons/16X16PNG/weather_clouds.png differ diff --git a/public/icons/16X16PNG/weather_cloudy.png b/public/icons/16X16PNG/weather_cloudy.png new file mode 100644 index 0000000..5856e1d Binary files /dev/null and b/public/icons/16X16PNG/weather_cloudy.png differ diff --git a/public/icons/16X16PNG/weather_lightning.png b/public/icons/16X16PNG/weather_lightning.png new file mode 100644 index 0000000..1d42b36 Binary files /dev/null and b/public/icons/16X16PNG/weather_lightning.png differ diff --git a/public/icons/16X16PNG/weather_rain.png b/public/icons/16X16PNG/weather_rain.png new file mode 100644 index 0000000..cb3d54d Binary files /dev/null and b/public/icons/16X16PNG/weather_rain.png differ diff --git a/public/icons/16X16PNG/weather_snow.png b/public/icons/16X16PNG/weather_snow.png new file mode 100644 index 0000000..45bbdf1 Binary files /dev/null and b/public/icons/16X16PNG/weather_snow.png differ diff --git a/public/icons/16X16PNG/weather_sun.png b/public/icons/16X16PNG/weather_sun.png new file mode 100644 index 0000000..0156c26 Binary files /dev/null and b/public/icons/16X16PNG/weather_sun.png differ diff --git a/public/icons/16X16PNG/webcam.png b/public/icons/16X16PNG/webcam.png new file mode 100644 index 0000000..af71c30 Binary files /dev/null and b/public/icons/16X16PNG/webcam.png differ diff --git a/public/icons/16X16PNG/webcam_add.png b/public/icons/16X16PNG/webcam_add.png new file mode 100644 index 0000000..f02fcfa Binary files /dev/null and b/public/icons/16X16PNG/webcam_add.png differ diff --git a/public/icons/16X16PNG/webcam_delete.png b/public/icons/16X16PNG/webcam_delete.png new file mode 100644 index 0000000..bd6277f Binary files /dev/null and b/public/icons/16X16PNG/webcam_delete.png differ diff --git a/public/icons/16X16PNG/webcam_error.png b/public/icons/16X16PNG/webcam_error.png new file mode 100644 index 0000000..2faa706 Binary files /dev/null and b/public/icons/16X16PNG/webcam_error.png differ diff --git a/public/icons/16X16PNG/weibo.png b/public/icons/16X16PNG/weibo.png new file mode 100644 index 0000000..f03a236 Binary files /dev/null and b/public/icons/16X16PNG/weibo.png differ diff --git a/public/icons/16X16PNG/world.png b/public/icons/16X16PNG/world.png new file mode 100644 index 0000000..68f21d3 Binary files /dev/null and b/public/icons/16X16PNG/world.png differ diff --git a/public/icons/16X16PNG/world_add.png b/public/icons/16X16PNG/world_add.png new file mode 100644 index 0000000..6d0d7f7 Binary files /dev/null and b/public/icons/16X16PNG/world_add.png differ diff --git a/public/icons/16X16PNG/world_delete.png b/public/icons/16X16PNG/world_delete.png new file mode 100644 index 0000000..ffcd115 Binary files /dev/null and b/public/icons/16X16PNG/world_delete.png differ diff --git a/public/icons/16X16PNG/world_edit.png b/public/icons/16X16PNG/world_edit.png new file mode 100644 index 0000000..00794d4 Binary files /dev/null and b/public/icons/16X16PNG/world_edit.png differ diff --git a/public/icons/16X16PNG/world_go.png b/public/icons/16X16PNG/world_go.png new file mode 100644 index 0000000..aee9c97 Binary files /dev/null and b/public/icons/16X16PNG/world_go.png differ diff --git a/public/icons/16X16PNG/world_link.png b/public/icons/16X16PNG/world_link.png new file mode 100644 index 0000000..b8edc12 Binary files /dev/null and b/public/icons/16X16PNG/world_link.png differ diff --git a/public/icons/16X16PNG/wrench.png b/public/icons/16X16PNG/wrench.png new file mode 100644 index 0000000..5c8213f Binary files /dev/null and b/public/icons/16X16PNG/wrench.png differ diff --git a/public/icons/16X16PNG/wrench_orange.png b/public/icons/16X16PNG/wrench_orange.png new file mode 100644 index 0000000..565a933 Binary files /dev/null and b/public/icons/16X16PNG/wrench_orange.png differ diff --git a/public/icons/16X16PNG/xhtml.png b/public/icons/16X16PNG/xhtml.png new file mode 100644 index 0000000..da5dbf2 Binary files /dev/null and b/public/icons/16X16PNG/xhtml.png differ diff --git a/public/icons/16X16PNG/xhtml_add.png b/public/icons/16X16PNG/xhtml_add.png new file mode 100644 index 0000000..bbaf784 Binary files /dev/null and b/public/icons/16X16PNG/xhtml_add.png differ diff --git a/public/icons/16X16PNG/xhtml_delete.png b/public/icons/16X16PNG/xhtml_delete.png new file mode 100644 index 0000000..157b520 Binary files /dev/null and b/public/icons/16X16PNG/xhtml_delete.png differ diff --git a/public/icons/16X16PNG/xhtml_go.png b/public/icons/16X16PNG/xhtml_go.png new file mode 100644 index 0000000..43cf814 Binary files /dev/null and b/public/icons/16X16PNG/xhtml_go.png differ diff --git a/public/icons/16X16PNG/xhtml_valid.png b/public/icons/16X16PNG/xhtml_valid.png new file mode 100644 index 0000000..d2e1cfb Binary files /dev/null and b/public/icons/16X16PNG/xhtml_valid.png differ diff --git a/public/icons/16X16PNG/zoom.png b/public/icons/16X16PNG/zoom.png new file mode 100644 index 0000000..908612e Binary files /dev/null and b/public/icons/16X16PNG/zoom.png differ diff --git a/public/icons/16X16PNG/zoom_in.png b/public/icons/16X16PNG/zoom_in.png new file mode 100644 index 0000000..cdf0a52 Binary files /dev/null and b/public/icons/16X16PNG/zoom_in.png differ diff --git a/public/icons/16X16PNG/zoom_out.png b/public/icons/16X16PNG/zoom_out.png new file mode 100644 index 0000000..07bf98a Binary files /dev/null and b/public/icons/16X16PNG/zoom_out.png differ diff --git a/public/icons/ai-lib.svg b/public/icons/ai-lib.svg new file mode 100644 index 0000000..2dc2b46 --- /dev/null +++ b/public/icons/ai-lib.svg @@ -0,0 +1,3 @@ + + 📚 + \ No newline at end of file diff --git a/public/icons/ccb_private_funds.svg b/public/icons/ccb_private_funds.svg new file mode 100644 index 0000000..7d2f95b --- /dev/null +++ b/public/icons/ccb_private_funds.svg @@ -0,0 +1,3 @@ + + 🏦 + \ No newline at end of file diff --git a/public/icons/cloud.svg b/public/icons/cloud.svg new file mode 100644 index 0000000..3baeda8 --- /dev/null +++ b/public/icons/cloud.svg @@ -0,0 +1,3 @@ + + ☁️ + \ No newline at end of file diff --git a/public/icons/expense.svg b/public/icons/expense.svg new file mode 100644 index 0000000..9426a16 --- /dev/null +++ b/public/icons/expense.svg @@ -0,0 +1,3 @@ + + ✈️ + \ No newline at end of file diff --git a/public/icons/funds.svg b/public/icons/funds.svg new file mode 100644 index 0000000..c5d192c --- /dev/null +++ b/public/icons/funds.svg @@ -0,0 +1,3 @@ + + 💰 + \ No newline at end of file diff --git a/public/icons/lucky-coin.svg b/public/icons/lucky-coin.svg new file mode 100644 index 0000000..c1c06c4 --- /dev/null +++ b/public/icons/lucky-coin.svg @@ -0,0 +1,9 @@ + + + + 财 + + + + + \ No newline at end of file diff --git a/public/icons/markets.svg b/public/icons/markets.svg new file mode 100644 index 0000000..f2b859a --- /dev/null +++ b/public/icons/markets.svg @@ -0,0 +1,3 @@ + + 📈 + \ No newline at end of file diff --git a/public/icons/rebalance.svg b/public/icons/rebalance.svg new file mode 100644 index 0000000..ac53f71 --- /dev/null +++ b/public/icons/rebalance.svg @@ -0,0 +1,3 @@ + + ⚖️ + \ No newline at end of file diff --git a/public/icons/toolbox.svg b/public/icons/toolbox.svg new file mode 100644 index 0000000..8ac5a38 --- /dev/null +++ b/public/icons/toolbox.svg @@ -0,0 +1,3 @@ + + 🧰 + \ No newline at end of file diff --git a/public/icons/wall.svg b/public/icons/wall.svg new file mode 100644 index 0000000..b038095 --- /dev/null +++ b/public/icons/wall.svg @@ -0,0 +1,3 @@ + + 📋 + \ No newline at end of file diff --git a/public/icons/wealth-tree.svg b/public/icons/wealth-tree.svg new file mode 100644 index 0000000..131f377 --- /dev/null +++ b/public/icons/wealth-tree.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/icons/weekly.svg b/public/icons/weekly.svg new file mode 100644 index 0000000..8c31d7f --- /dev/null +++ b/public/icons/weekly.svg @@ -0,0 +1,3 @@ + + 📓 + \ No newline at end of file diff --git a/public/icons/weibo.svg b/public/icons/weibo.svg new file mode 100644 index 0000000..baae3e9 --- /dev/null +++ b/public/icons/weibo.svg @@ -0,0 +1,3 @@ + + 📱 + \ No newline at end of file diff --git a/public/images/lucky-pattern.svg b/public/images/lucky-pattern.svg new file mode 100644 index 0000000..197891c --- /dev/null +++ b/public/images/lucky-pattern.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/images/xiangyun.png b/public/images/xiangyun.png new file mode 100644 index 0000000..0d29fbe Binary files /dev/null and b/public/images/xiangyun.png differ diff --git a/public/index.css b/public/index.css new file mode 100644 index 0000000..da2d093 --- /dev/null +++ b/public/index.css @@ -0,0 +1,726 @@ +/* 多宫格导航页面样式 - 炫酷有氛围版本 */ + +:root { + --primary-color: #6366f1; + --secondary-color: #8b5cf6; + --accent-color: #06b6d4; + --text-light: #f8fafc; + --text-dark: #1e293b; + --bg-overlay: rgba(0, 0, 0, 0.3); + --card-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); + --card-glow: 0 0 20px rgba(99, 102, 241, 0.3); + --card-text-color: #f8fafc; +} + +/* 顶部右侧滑块(打开方式) */ +.top-right-controls { + position: fixed; + top: 16px; + right: 16px; + z-index: 1000; +} +.ios-switch { + position: relative; + display: inline-block; + width: 52px; + height: 28px; + cursor: pointer; +} +.ios-switch input { + opacity: 0; + width: 0; + height: 0; +} +.ios-switch .slider { + position: absolute; + inset: 0; + background: linear-gradient(135deg, #334155, #0f172a); + border: 1px solid rgba(255,255,255,0.15); + border-radius: 999px; + box-shadow: 0 4px 12px rgba(0,0,0,0.4) inset; + transition: all .25s ease; +} +.ios-switch .slider::before { + content: ''; + position: absolute; + height: 22px; + width: 22px; + left: 3px; + top: 3px; + background: radial-gradient(circle at 30% 30%, #ffffff, #cbd5e1); + border-radius: 50%; + box-shadow: 0 4px 10px rgba(0,0,0,0.35); + transition: transform .25s ease, background .25s ease; +} +.ios-switch input:checked + .slider { + background: linear-gradient(135deg, #22c55e, #0ea5e9); + border-color: rgba(255,255,255,0.3); +} +.ios-switch input:checked + .slider::before { + transform: translateX(24px); + background: radial-gradient(circle at 30% 30%, #ffffff, #e2e8f0); +} + +/* 备注:已移除内嵌弹层样式,改为新标签/窗口打开 */ + +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: 'Segoe UI', system-ui, sans-serif; + min-height: 100vh; + overflow-x: hidden; + position: relative; + background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); + transition: background 1.5s ease-in-out; +} + +/* 背景图片容器 */ +.background-container { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: -1; + overflow: hidden; +} + +.background-image { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + object-fit: cover; + opacity: 0; + transition: opacity 1.5s ease-in-out; +} + +.background-image.active { + opacity: 1; +} + +/* 背景遮罩 */ +.background-overlay { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: var(--bg-overlay); + backdrop-filter: blur(2px); +} + +/* 主容器 */ +.main-container { + min-height: 100vh; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + padding: 2rem; + position: relative; + z-index: 1; +} + +/* 标题区域 */ +.header { + text-align: center; + margin-bottom: 3rem; + color: var(--text-light); +} + +.header h1 { + font-size: 3rem; + font-weight: 700; + margin-bottom: 0.5rem; + text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); + background: linear-gradient(135deg, #f0f4ff, #e0e7ff); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + background-clip: text; +} + +.header p { + font-size: 1.2rem; + opacity: 0.9; + font-weight: 300; +} + +/* 多宫格布局 */ +.tool-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + gap: 1.5rem; + max-width: 1200px; + width: 100%; + margin: 0 auto; +} + +/* 工具卡片样式 */ +.tool-card { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + padding: 2rem 1.5rem; + border-radius: 12px; + text-decoration: none; + transition: all 0.1s cubic-bezier(0.4, 0, 0.2, 1); + position: relative; + overflow: hidden; + backdrop-filter: blur(8px); + border: 1px solid rgba(255, 255, 255, 0.2); + background: rgba(0, 0, 0, 0.4); + box-shadow: var(--card-shadow); + min-height: 140px; + color: #ffffff; +} + +.tool-card, +.tool-card:link, +.tool-card:visited, +.tool-card:hover, +.tool-card:active { + color: #ffffff; +} + +.tool-card:hover { + background: rgba(60, 60, 60, 0.6); /* 稍微变亮 */ + transform: translateY(-5px); +} + +.tool-card::before { + content: ''; + position: absolute; + top: 0; + left: -100%; + width: 100%; + height: 100%; + background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent); + transition: left 0.5s; +} + +.tool-card:hover { + transform: translateY(-4px) scale(1.02); + box-shadow: var(--card-shadow), var(--card-glow); + background: rgba(255, 255, 255, 0.15); +} + +.tool-card:hover::before { + left: 100%; +} + +.tool-card:active { + transform: translateY(-2px) scale(0.98); + transition: all 0.1s; +} + +/* 图标样式 */ +.tool-icon { + font-size: 2.5rem; + margin-bottom: 0.75rem; + transition: transform 0.3s ease; + filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2)); +} + +.tool-card:hover .tool-icon { + transform: scale(1.1); +} + +/* 文字样式 */ +.tool-text { + font-size: 1.1rem; + font-weight: 600; + text-align: center; + transition: all 0.3s ease; + text-shadow: 0 1px 4px rgba(0, 0, 0, 0.45); + color: var(--card-text-color); +} + +/* 特效容器 */ +.effects-container { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + pointer-events: none; + z-index: 0; +} + +/* 流星特效 */ +.meteor { + position: absolute; + width: 2px; + height: 2px; + background: linear-gradient(90deg, rgba(255, 255, 255, 0.8), transparent); + border-radius: 50%; + animation: meteor-fall 10s linear infinite; + opacity: 0; +} + +@keyframes meteor-fall { + 0% { + transform: translateX(-100px) translateY(-100px); + opacity: 0; + } + 10% { + opacity: 1; + } + 90% { + opacity: 0.5; + } + 100% { + transform: translateX(100vw) translateY(100vh); + opacity: 0; + } +} + + + +/* 换背景按钮 */ +.change-background-btn { + position: fixed; + bottom: 2rem; + right: 2rem; + background: rgba(255, 255, 255, 0.2); + border: 1px solid rgba(255, 255, 255, 0.3); + border-radius: 50px; + padding: 0.75rem 1.5rem; + color: var(--text-light); + font-size: 0.9rem; + cursor: pointer; + transition: all 0.3s ease; + backdrop-filter: blur(10px); + z-index: 1000; +} + +.change-background-btn:hover { + background: rgba(255, 255, 255, 0.3); + transform: translateY(-2px); +} + +/* 响应式设计 */ +@media (max-width: 768px) { + .tool-grid { + grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); + gap: 1rem; + } + + .tool-card { + padding: 1.5rem 1rem; + min-height: 120px; + } + + .tool-icon { + font-size: 2rem; + } + + .tool-text { + font-size: 1rem; + } + + .header h1 { + font-size: 2rem; + } + + .header p { + font-size: 1rem; + } +} + +@media (max-width: 480px) { + .tool-grid { + grid-template-columns: repeat(2, 1fr); + } + + .main-container { + padding: 1rem; + } +} + +.tab-bar { + display: flex; + gap: 12px; + flex-wrap: wrap; + justify-content: center; + margin-bottom: 1.5rem; +} + +.tab-btn { + border: 1px solid rgba(255, 255, 255, 0.25); + background: rgba(0, 0, 0, 0.35); + color: #ffffff; + padding: 0.5rem 1rem; + border-radius: 999px; + cursor: pointer; + font-size: 0.95rem; + transition: all 0.2s ease; +} + +.tab-btn.active { + background: rgba(255, 255, 255, 0.25); + box-shadow: var(--card-shadow); +} + +.tab-pages { + width: 100%; + max-width: 1200px; +} + +.tab-page { + display: none; + width: 100%; +} + +.tab-page.active { + display: block; +} + +.tab-page.admin-visible .bookmark-toolbar, +.tab-page.admin-visible .bookmark-sections, +.tab-page.admin-visible .bookmark-empty { + display: none; +} + +.bookmark-toolbar { + display: flex; + flex-wrap: wrap; + gap: 12px; + align-items: center; + width: 100%; + margin-bottom: 16px; +} + +.bookmark-search { + flex: 1; + min-width: 200px; + padding: 0.5rem 0.8rem; + border-radius: 8px; + border: 1px solid rgba(255, 255, 255, 0.3); + background: rgba(0, 0, 0, 0.35); + color: #ffffff; + outline: none; +} + +.bookmark-btn { + border: 1px solid rgba(255, 255, 255, 0.25); + background: rgba(0, 0, 0, 0.35); + color: #ffffff; + padding: 0.5rem 0.9rem; + border-radius: 8px; + cursor: pointer; + font-size: 0.9rem; + transition: all 0.2s ease; +} + +.bookmark-btn.primary { + background: rgba(99, 102, 241, 0.5); +} + +.bookmark-btn.danger { + background: rgba(239, 68, 68, 0.5); +} + +.bookmark-sections { + display: flex; + flex-direction: column; + gap: 14px; +} + +.bookmark-section { + padding: 12px; + border-radius: 12px; + background: rgba(0, 0, 0, 0.28); + border: 1px solid rgba(255, 255, 255, 0.18); +} + +.bookmark-section-header { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; +} + +.bookmark-section-title { + font-weight: 600; + font-size: 1rem; +} + +.category-toggle { + width: 28px; + height: 28px; + border-radius: 50%; + border: 1px solid rgba(255, 255, 255, 0.2); + background: rgba(0, 0, 0, 0.35); + color: #ffffff; + cursor: pointer; +} + +.bookmark-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); + gap: 10px; + margin-top: 10px; +} + +.bookmark-section.collapsed .bookmark-grid { + display: none; +} + +.bookmark-item { + display: flex; + align-items: center; + gap: 8px; + padding: 8px 10px; + border-radius: 8px; + background: rgba(0, 0, 0, 0.35); + border: 1px solid rgba(255, 255, 255, 0.2); + text-decoration: none; + color: #ffffff; + transition: all 0.2s ease; +} + +.bookmark-item:hover { + transform: translateY(-2px); + background: rgba(255, 255, 255, 0.2); +} + +.bookmark-icon { + width: 16px; + height: 16px; + object-fit: contain; +} + +.bookmark-text { + font-size: 0.95rem; +} + +.bookmark-empty { + text-align: center; + padding: 20px 0; + opacity: 0.8; +} + +.bookmark-admin { + display: none; + margin-top: 18px; + padding: 16px; + border-radius: 12px; + background: rgba(0, 0, 0, 0.35); + border: 1px solid rgba(255, 255, 255, 0.2); +} + +.bookmark-admin.active { + display: block; +} + +.admin-header { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 12px; +} + +.admin-title { + font-size: 1.1rem; + font-weight: 600; +} + +.admin-columns { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); + gap: 16px; +} + +.admin-panel { + padding: 12px; + border-radius: 10px; + background: rgba(0, 0, 0, 0.3); + border: 1px solid rgba(255, 255, 255, 0.18); +} + +.admin-panel-title { + font-weight: 600; + margin-bottom: 8px; +} + +.admin-form { + display: grid; + gap: 10px; + margin-bottom: 12px; +} + +.form-row { + display: flex; + flex-direction: column; + gap: 6px; +} + +.form-row input, +.form-row select, +.form-row textarea { + border-radius: 8px; + border: 1px solid rgba(255, 255, 255, 0.25); + background: rgba(0, 0, 0, 0.35); + color: #ffffff; + padding: 0.45rem 0.6rem; + outline: none; +} + +.form-actions { + display: flex; + gap: 10px; +} + +.admin-list { + display: flex; + flex-direction: column; + gap: 8px; +} + +.admin-row { + display: flex; + align-items: center; + justify-content: space-between; + gap: 10px; + padding: 8px; + border-radius: 8px; + background: rgba(0, 0, 0, 0.25); + border: 1px solid rgba(255, 255, 255, 0.12); +} + +.admin-row-main { + display: flex; + flex-direction: column; + gap: 2px; +} + +.admin-row-title { + font-weight: 600; +} + +.admin-row-meta { + font-size: 0.85rem; + opacity: 0.8; +} + +.admin-row-actions { + display: flex; + gap: 6px; +} + +.icon-input-row { + display: flex; + flex-wrap: wrap; + gap: 8px; + align-items: center; +} + +.icon-preview { + display: flex; + align-items: center; + gap: 8px; + min-height: 24px; + opacity: 0.9; +} + +.icon-preview img { + width: 20px; + height: 20px; + object-fit: contain; +} + +.readonly { + padding: 0.45rem 0.6rem; + border-radius: 8px; + background: rgba(0, 0, 0, 0.2); + border: 1px solid rgba(255, 255, 255, 0.15); + min-height: 36px; + display: flex; + align-items: center; +} + +.icon-picker { + position: fixed; + inset: 0; + display: none; + align-items: center; + justify-content: center; + background: rgba(0, 0, 0, 0.65); + z-index: 2000; +} + +.icon-picker.active { + display: flex; +} + +.icon-picker-panel { + width: min(960px, 95vw); + max-height: 80vh; + background: rgba(15, 23, 42, 0.95); + border-radius: 12px; + padding: 14px; + border: 1px solid rgba(255, 255, 255, 0.2); + display: flex; + flex-direction: column; + gap: 10px; +} + +.icon-picker-header { + display: flex; + justify-content: space-between; + align-items: center; + font-weight: 600; +} + +.icon-picker-grid { + display: grid; + grid-template-columns: repeat(20, 24px); + gap: 6px; + overflow: auto; + padding: 8px; + border-radius: 10px; + background: rgba(0, 0, 0, 0.35); +} + +.icon-picker-item { + width: 24px; + height: 24px; + border-radius: 6px; + border: 1px solid rgba(255, 255, 255, 0.15); + background: rgba(0, 0, 0, 0.2); + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; +} + +.icon-picker-item img { + width: 16px; + height: 16px; +} + +@media (max-width: 768px) { + .bookmark-grid { + grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); + } + .icon-picker-grid { + grid-template-columns: repeat(10, 24px); + } +} + +@media (max-width: 480px) { + .bookmark-toolbar { + flex-direction: column; + align-items: stretch; + } + .icon-picker-grid { + grid-template-columns: repeat(6, 24px); + } +} diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..7e419e7 --- /dev/null +++ b/public/index.html @@ -0,0 +1,14 @@ + + + + + + Yang's Toolbox + + + + + + + + diff --git a/public/index.js b/public/index.js new file mode 100644 index 0000000..f80417f --- /dev/null +++ b/public/index.js @@ -0,0 +1,1145 @@ +// 多宫格导航页面功能 - 炫酷有氛围版本 + +class ToolboxHome { + constructor() { + this.currentTheme = 0; + this.openInModal = true; + this.themes = [ + { + name: '夜空星轨', + background: 'https://images.unsplash.com/photo-1534796636912-3b95b3ab5986?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80', + effect: 'meteor', + cardGradient: 'linear-gradient(135deg, rgba(59, 130, 246, 0.2), rgba(168, 85, 247, 0.2))', + textColor: '#f8fafc' + }, + { + name: '蓝天白云', + background: 'https://images.unsplash.com/photo-1501594907352-04cda38ebc29?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80', + effect: 'meteor', + cardGradient: 'linear-gradient(135deg, rgba(14, 165, 233, 0.2), rgba(56, 189, 248, 0.2))', + textColor: '#1e293b' + }, + { + name: '治愈森林', + background: 'https://images.unsplash.com/photo-1448375240586-882707db888b?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80', + effect: 'meteor', + cardGradient: 'linear-gradient(135deg, rgba(34, 197, 94, 0.2), rgba(132, 204, 22, 0.2))', + textColor: '#f8fafc' + }, + { + name: '运动风', + background: 'https://images.unsplash.com/photo-1521412644187-9d2e0ad0a2f5?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80', + effect: 'meteor', + cardGradient: 'linear-gradient(135deg, rgba(234, 88, 12, 0.24), rgba(59, 130, 246, 0.24))', + textColor: '#ffffff' + }, + { + name: '科技霓虹', + background: 'https://images.unsplash.com/photo-1496307042754-b4aa456c4a2d?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80', + effect: 'meteor', + cardGradient: 'linear-gradient(135deg, rgba(99, 102, 241, 0.26), rgba(236, 72, 153, 0.26))', + textColor: '#ffffff' + }, + { + name: '商务简约', + background: 'https://images.unsplash.com/photo-1487015307662-6ce621f0df3f?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80', + effect: 'meteor', + cardGradient: 'linear-gradient(135deg, rgba(226, 232, 240, 0.35), rgba(148, 163, 184, 0.35))', + textColor: '#0b1220' + }, + { + name: '暖色日落', + background: 'https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80', + effect: 'meteor', + cardGradient: 'linear-gradient(135deg, rgba(244, 114, 182, 0.25), rgba(251, 146, 60, 0.25))', + textColor: '#ffffff' + }, + { + name: '冷色极夜', + background: 'https://images.unsplash.com/photo-1469474968028-56623f02e42e?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80', + effect: 'meteor', + cardGradient: 'linear-gradient(135deg, rgba(14, 165, 233, 0.25), rgba(5, 150, 105, 0.25))', + textColor: '#e6f7ff' + } + ]; + + this.highFreqTools = []; + this.lowFreqTools = []; + this.tools = []; // 保留向后兼容 + + this.categories = []; + this.bookmarks = []; + this.availableIcons = []; + this.collapsedCategories = {}; + this.searchQuery = ''; + this.adminVisible = false; + this.editingCategoryCode = ''; + this.editingBookmarkId = ''; + this.iconPickerTarget = null; + + this.init(); + } + + init() { + this.createDOM(); + this.setupEventListeners(); + this.applyTheme(this.currentTheme); + this.startEffects(); + this.startBackgroundRotation(); + this.loadIcons(); + this.loadBookmarks(); + this.loadTools(); + } + + createDOM() { + // 创建背景容器 + const backgroundContainer = document.createElement('div'); + backgroundContainer.className = 'background-container'; + + // 创建背景图片 + this.themes.forEach((theme, index) => { + const bgImg = document.createElement('img'); + bgImg.className = 'background-image'; + bgImg.alt = theme.name; + if (index === 0) bgImg.classList.add('active'); + backgroundContainer.appendChild(bgImg); + }); + + // 创建背景遮罩 + const overlay = document.createElement('div'); + overlay.className = 'background-overlay'; + backgroundContainer.appendChild(overlay); + + // 创建特效容器 + const effectsContainer = document.createElement('div'); + effectsContainer.className = 'effects-container'; + + // 创建主容器 + const mainContainer = document.createElement('div'); + mainContainer.className = 'main-container'; + + // 创建标题区域 + const header = document.createElement('div'); + header.className = 'header'; + header.innerHTML = ``; + //

Yang's Toolbox

+ //

个人工具箱入口 - 简洁高效

+ + const tabBar = document.createElement('div'); + tabBar.className = 'tab-bar'; + tabBar.innerHTML = ` + + + + `; + + const tabPages = document.createElement('div'); + tabPages.className = 'tab-pages'; + + // 高频 Tools 页面 + const highToolsPage = document.createElement('div'); + highToolsPage.className = 'tab-page active'; + highToolsPage.dataset.tab = 'high'; + const highToolGrid = document.createElement('div'); + highToolGrid.className = 'tool-grid'; + highToolGrid.id = 'tool-grid-high'; + highToolsPage.appendChild(highToolGrid); + + // 低频 Tools 页面 + const lowToolsPage = document.createElement('div'); + lowToolsPage.className = 'tab-page'; + lowToolsPage.dataset.tab = 'low'; + const lowToolGrid = document.createElement('div'); + lowToolGrid.className = 'tool-grid'; + lowToolGrid.id = 'tool-grid-low'; + lowToolsPage.appendChild(lowToolGrid); + + // 书签导航页面 + const bookmarksPage = document.createElement('div'); + bookmarksPage.className = 'tab-page'; + bookmarksPage.dataset.tab = 'bookmarks'; + + const bookmarkToolbar = document.createElement('div'); + bookmarkToolbar.className = 'bookmark-toolbar'; + bookmarkToolbar.innerHTML = ` + + + + `; + + const bookmarkSections = document.createElement('div'); + bookmarkSections.className = 'bookmark-sections'; + + const bookmarkEmpty = document.createElement('div'); + bookmarkEmpty.className = 'bookmark-empty'; + bookmarkEmpty.textContent = '暂无书签'; + + const bookmarkAdmin = document.createElement('div'); + bookmarkAdmin.className = 'bookmark-admin'; + bookmarkAdmin.innerHTML = ` +
+
书签后台维护
+ +
+
+
+
分类维护
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+
+
书签维护
+
+
+ + +
+
+ + +
+
+ + +
+
+ +
+ + + +
+
+
+
+ + +
+
+ + +
+
+ +
-
+
+
+ + +
+
+
+
+
+ `; + + bookmarksPage.appendChild(bookmarkToolbar); + bookmarksPage.appendChild(bookmarkSections); + bookmarksPage.appendChild(bookmarkEmpty); + bookmarksPage.appendChild(bookmarkAdmin); + + tabPages.appendChild(highToolsPage); + tabPages.appendChild(lowToolsPage); + tabPages.appendChild(bookmarksPage); + + // 创建换背景按钮 + const changeBgBtn = document.createElement('button'); + changeBgBtn.className = 'change-background-btn'; + changeBgBtn.innerHTML = '🎨 换背景'; + + // 组装页面 + mainContainer.appendChild(header); + mainContainer.appendChild(tabBar); + mainContainer.appendChild(tabPages); + + document.body.innerHTML = ''; + document.body.appendChild(backgroundContainer); + document.body.appendChild(effectsContainer); + document.body.appendChild(mainContainer); + document.body.appendChild(changeBgBtn); + // 顶部右侧滑块(弹窗/本地切换) + const controls = document.createElement('div'); + controls.className = 'top-right-controls'; + controls.innerHTML = ` + + `; + document.body.appendChild(controls); + this.ensureBgLoaded(0, true); + + const iconPicker = document.createElement('div'); + iconPicker.className = 'icon-picker'; + iconPicker.innerHTML = ` +
+
+
选择图标
+ +
+
+
+ `; + document.body.appendChild(iconPicker); + + this.tabBar = tabBar; + this.highToolGrid = highToolGrid; + this.lowToolGrid = lowToolGrid; + this.toolsPage = highToolsPage; + this.bookmarksPage = bookmarksPage; + this.tabPages = [highToolsPage, lowToolsPage, bookmarksPage]; + this.bookmarkContainer = bookmarkSections; + this.bookmarkEmpty = bookmarkEmpty; + this.bookmarkAdmin = bookmarkAdmin; + this.categoryForm = bookmarkAdmin.querySelector('#category-form'); + this.bookmarkForm = bookmarkAdmin.querySelector('#bookmark-form'); + this.categoryListEl = bookmarkAdmin.querySelector('#category-list'); + this.bookmarkListEl = bookmarkAdmin.querySelector('#bookmark-list'); + this.bookmarkSearchInput = bookmarkToolbar.querySelector('#bookmark-search'); + this.bookmarkCreatedAtEl = bookmarkAdmin.querySelector('[data-field="created_at"]'); + this.iconPreviewEl = bookmarkAdmin.querySelector('[data-field="icon-preview"]'); + this.iconPicker = iconPicker; + this.iconPickerGrid = iconPicker.querySelector('.icon-picker-grid'); + } + + async loadIcons() { + try { + const iconsRes = await fetch('/common/icons_list.json?t=' + Date.now()); + if (iconsRes.ok) { + const data = await iconsRes.json(); + if (Array.isArray(data)) this.availableIcons = data; + } + } catch {} + this.renderIconPicker(); + } + + async loadBookmarks() { + try { + const res = await fetch('/api/nav_bookmarks/state?t=' + Date.now()); + if (!res.ok) return; + const data = await res.json(); + if (!data || !data.ok) return; + this.categories = Array.isArray(data.categories) ? data.categories : []; + this.bookmarks = Array.isArray(data.bookmarks) ? data.bookmarks : []; + this.renderBookmarks(); + this.renderAdmin(); + } catch {} + } + + renderIconPicker() { + if (!this.iconPickerGrid) return; + this.iconPickerGrid.innerHTML = ''; + this.availableIcons.forEach(name => { + const btn = document.createElement('button'); + btn.type = 'button'; + btn.className = 'icon-picker-item'; + btn.dataset.icon = name; + const img = document.createElement('img'); + img.src = `/icons/16X16PNG/${name}`; + img.alt = name; + btn.appendChild(img); + this.iconPickerGrid.appendChild(btn); + }); + } + + setActiveTab(tab) { + if (!this.tabBar) return; + this.tabBar.querySelectorAll('.tab-btn').forEach(btn => { + btn.classList.toggle('active', btn.dataset.tab === tab); + }); + (this.tabPages || []).forEach(page => { + if (!page) return; + page.classList.toggle('active', page.dataset.tab === tab); + }); + } + + async loadTools() { + try { + const res = await fetch('/api/tools?t=' + Date.now()); + if (!res.ok) return; + const data = await res.json(); + const tools = Array.isArray(data.tools) ? data.tools : []; + this.highFreqTools = tools.filter(t => t.type === 'high'); + this.lowFreqTools = tools.filter(t => t.type === 'low'); + this.renderToolGrids(); + } catch (err) { + console.error('加载 tools.json 失败:', err); + } + } + + renderToolGrids() { + const renderGrid = (gridEl, tools) => { + if (!gridEl) return; + gridEl.innerHTML = ''; + tools.forEach(tool => { + const card = document.createElement('a'); + card.className = 'tool-card'; + card.href = tool.href; + card.innerHTML = ` +
${tool.icon}
+
${tool.name}
+ `; + gridEl.appendChild(card); + }); + }; + renderGrid(this.highToolGrid, this.highFreqTools); + renderGrid(this.lowToolGrid, this.lowFreqTools); + } + + openAdmin() { + this.adminVisible = true; + if (this.bookmarkAdmin) this.bookmarkAdmin.classList.add('active'); + if (this.bookmarksPage) this.bookmarksPage.classList.add('admin-visible'); + this.renderAdmin(); + this.bookmarkAdmin.scrollIntoView({ behavior: 'smooth', block: 'start' }); + } + + closeAdmin() { + this.adminVisible = false; + if (this.bookmarkAdmin) this.bookmarkAdmin.classList.remove('active'); + if (this.bookmarksPage) this.bookmarksPage.classList.remove('admin-visible'); + } + + getIconUrl(icon) { + const iconSrc = String(icon || '').trim(); + if (!iconSrc) { + if (this.availableIcons.length > 0) return `/icons/16X16PNG/${this.availableIcons[0]}`; + return ''; + } + if (iconSrc.includes('/')) return iconSrc; + return `/icons/16X16PNG/${iconSrc}`; + } + + renderBookmarks() { + if (!this.bookmarkContainer) return; + const query = String(this.searchQuery || '').trim().toLowerCase(); + const categoryMap = new Map(); + this.categories.forEach(c => categoryMap.set(String(c.code), c)); + const buckets = {}; + this.bookmarks.forEach(b => { + const code = String(b.category_code || ''); + if (!buckets[code]) buckets[code] = []; + buckets[code].push(b); + }); + const categories = this.categories.slice().sort((a, b) => { + const sa = Number(a.sort_order || 0); + const sb = Number(b.sort_order || 0); + if (sa !== sb) return sa - sb; + return String(a.code).localeCompare(String(b.code)); + }); + if (!categoryMap.has('') && buckets['']) { + categories.push({ code: '', name: '未分类', sort_order: 9999 }); + } + this.bookmarkContainer.innerHTML = ''; + let hasAny = false; + categories.forEach(cat => { + const list = (buckets[String(cat.code)] || []).slice().sort((a, b) => { + const sa = Number(a.sort_order || 0); + const sb = Number(b.sort_order || 0); + if (sa !== sb) return sa - sb; + return String(a.created_at || '').localeCompare(String(b.created_at || '')); + }); + const filtered = query ? list.filter(item => { + const name = String(item.name || '').toLowerCase(); + const url = String(item.url || '').toLowerCase(); + const remark = String(item.remark || '').toLowerCase(); + return name.includes(query) || url.includes(query) || remark.includes(query); + }) : list; + if (!filtered.length) return; + hasAny = true; + const section = document.createElement('div'); + section.className = 'bookmark-section'; + const header = document.createElement('div'); + header.className = 'bookmark-section-header'; + const title = document.createElement('div'); + title.className = 'bookmark-section-title'; + title.textContent = `${cat.name || '未分类'} (${filtered.length})`; + const toggle = document.createElement('button'); + toggle.type = 'button'; + toggle.className = 'category-toggle'; + const isCollapsed = !!this.collapsedCategories[String(cat.code)]; + toggle.textContent = isCollapsed ? '+' : '-'; + toggle.dataset.code = String(cat.code); + header.appendChild(title); + header.appendChild(toggle); + const grid = document.createElement('div'); + grid.className = 'bookmark-grid'; + if (isCollapsed) section.classList.add('collapsed'); + filtered.forEach(item => { + const link = document.createElement('a'); + link.className = 'bookmark-item'; + link.href = item.url || '#'; + link.target = '_blank'; + const iconUrl = this.getIconUrl(item.icon); + if (iconUrl) { + const img = document.createElement('img'); + img.src = iconUrl; + img.className = 'bookmark-icon'; + img.alt = item.name || ''; + link.appendChild(img); + } + const span = document.createElement('span'); + span.className = 'bookmark-text'; + span.textContent = item.name || '未命名'; + link.appendChild(span); + const tooltip = String(item.remark || item.name || '').trim(); + if (tooltip) link.title = tooltip; + link.addEventListener('click', (e) => { + if (this.openInModal) { + e.preventDefault(); + const url = link.getAttribute('href') || '/'; + window.open(url, '_blank'); + } + }); + grid.appendChild(link); + }); + section.appendChild(header); + section.appendChild(grid); + this.bookmarkContainer.appendChild(section); + }); + if (this.bookmarkEmpty) { + this.bookmarkEmpty.style.display = hasAny ? 'none' : 'block'; + } + } + + renderAdmin() { + if (!this.bookmarkAdmin) return; + const categorySelect = this.bookmarkForm ? this.bookmarkForm.querySelector('select[name="category_code"]') : null; + if (categorySelect) { + categorySelect.innerHTML = ''; + const emptyOpt = document.createElement('option'); + emptyOpt.value = ''; + emptyOpt.textContent = '未分类'; + categorySelect.appendChild(emptyOpt); + this.categories.forEach(cat => { + const opt = document.createElement('option'); + opt.value = cat.code; + opt.textContent = `${cat.code} - ${cat.name}`; + categorySelect.appendChild(opt); + }); + } + if (this.categoryListEl) { + this.categoryListEl.innerHTML = ''; + this.categories.forEach(cat => { + const row = document.createElement('div'); + row.className = 'admin-row'; + row.innerHTML = ` +
+
${cat.code} - ${cat.name}
+
排序 ${cat.sort_order || 0}
+
+
+ + +
+ `; + this.categoryListEl.appendChild(row); + }); + } + if (this.bookmarkListEl) { + this.bookmarkListEl.innerHTML = ''; + this.bookmarks.forEach(item => { + const cat = this.categories.find(c => String(c.code) === String(item.category_code)) || { name: '未分类' }; + const row = document.createElement('div'); + row.className = 'admin-row'; + row.innerHTML = ` +
+
${item.name || '未命名'}
+
${cat.name} · 排序 ${item.sort_order || 0}
+
+
+ + +
+ `; + this.bookmarkListEl.appendChild(row); + }); + } + this.updateIconPreview(); + } + + setupEventListeners() { + // 换背景按钮事件 + document.querySelector('.change-background-btn').addEventListener('click', () => { + this.ensureBgLoaded(this.currentTheme, false); + }); + + // 工具卡片点击效果 + 打开方式(委托方式,支持动态加载) + document.querySelector('.tab-pages').addEventListener('click', (e) => { + const card = e.target.closest('.tool-card'); + if (!card) return; + card.style.transform = 'scale(0.95)'; + setTimeout(() => { card.style.transform = ''; }, 150); + if (this.openInModal) { + e.preventDefault(); + window.open(card.getAttribute('href') || '/', '_blank'); + } + }); + + // 键盘快捷键 + document.addEventListener('keydown', (e) => { + if (e.key === 'b' || e.key === 'B') { + e.preventDefault(); + this.nextTheme(); + } + }); + + // 滑块切换事件 + const switchEl = document.getElementById('open-mode-switch'); + if (switchEl) { + switchEl.addEventListener('change', () => { + this.openInModal = !!switchEl.checked; + }); + } + + if (this.tabBar) { + this.tabBar.addEventListener('click', (e) => { + const btn = e.target.closest('.tab-btn'); + if (!btn) return; + const tab = btn.dataset.tab; + if (tab) this.setActiveTab(tab); + }); + } + + const clearBtn = document.getElementById('bookmark-search-clear'); + if (this.bookmarkSearchInput) { + this.bookmarkSearchInput.addEventListener('input', () => { + this.searchQuery = this.bookmarkSearchInput.value; + this.renderBookmarks(); + }); + } + if (clearBtn) { + clearBtn.addEventListener('click', () => { + if (this.bookmarkSearchInput) this.bookmarkSearchInput.value = ''; + this.searchQuery = ''; + this.renderBookmarks(); + }); + } + + const adminBtn = document.getElementById('bookmark-admin-btn'); + if (adminBtn) { + adminBtn.addEventListener('click', () => { + this.openAdmin(); + }); + } + const adminClose = document.getElementById('bookmark-admin-close'); + if (adminClose) { + adminClose.addEventListener('click', () => { + this.closeAdmin(); + }); + } + + if (this.bookmarkContainer) { + this.bookmarkContainer.addEventListener('click', (e) => { + const toggle = e.target.closest('.category-toggle'); + if (!toggle) return; + const code = String(toggle.dataset.code || ''); + this.collapsedCategories[code] = !this.collapsedCategories[code]; + this.renderBookmarks(); + }); + } + + if (this.categoryForm) { + this.categoryForm.addEventListener('submit', async (e) => { + e.preventDefault(); + const data = new FormData(this.categoryForm); + const payload = { + code: String(data.get('code') || '').trim(), + name: String(data.get('name') || '').trim(), + sort_order: Number(data.get('sort_order') || 0) + }; + try { + if (this.editingCategoryCode) { + await this.apiRequest(`/api/nav_bookmarks/categories/${encodeURIComponent(this.editingCategoryCode)}`, { + method: 'PUT', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(payload) + }); + } else { + await this.apiRequest('/api/nav_bookmarks/categories', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(payload) + }); + } + this.resetCategoryForm(); + await this.loadBookmarks(); + } catch (err) { + alert(err.message || '保存失败'); + } + }); + const cancelBtn = this.categoryForm.querySelector('[data-action="cancel-category"]'); + if (cancelBtn) { + cancelBtn.addEventListener('click', () => { + this.resetCategoryForm(); + }); + } + } + + if (this.bookmarkForm) { + this.bookmarkForm.addEventListener('submit', async (e) => { + e.preventDefault(); + const data = new FormData(this.bookmarkForm); + const payload = { + name: String(data.get('name') || '').trim(), + url: String(data.get('url') || '').trim(), + category_code: String(data.get('category_code') || '').trim(), + icon: String(data.get('icon') || '').trim(), + remark: String(data.get('remark') || '').trim(), + sort_order: Number(data.get('sort_order') || 0) + }; + try { + if (this.editingBookmarkId) { + await this.apiRequest(`/api/nav_bookmarks/bookmarks/${encodeURIComponent(this.editingBookmarkId)}`, { + method: 'PUT', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(payload) + }); + } else { + await this.apiRequest('/api/nav_bookmarks/bookmarks', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(payload) + }); + } + this.resetBookmarkForm(); + await this.loadBookmarks(); + } catch (err) { + alert(err.message || '保存失败'); + } + }); + const cancelBtn = this.bookmarkForm.querySelector('[data-action="cancel-bookmark"]'); + if (cancelBtn) { + cancelBtn.addEventListener('click', () => { + this.resetBookmarkForm(); + }); + } + this.bookmarkForm.addEventListener('input', (e) => { + if (e.target && e.target.name === 'icon') this.updateIconPreview(); + }); + const pickBtn = this.bookmarkForm.querySelector('[data-action="pick-icon"]'); + const clearBtn2 = this.bookmarkForm.querySelector('[data-action="clear-icon"]'); + if (pickBtn) { + pickBtn.addEventListener('click', () => { + this.iconPickerTarget = this.bookmarkForm.querySelector('input[name="icon"]'); + if (this.iconPicker) this.iconPicker.classList.add('active'); + }); + } + if (clearBtn2) { + clearBtn2.addEventListener('click', () => { + const input = this.bookmarkForm.querySelector('input[name="icon"]'); + if (input) input.value = ''; + this.updateIconPreview(); + }); + } + } + + if (this.categoryListEl) { + this.categoryListEl.addEventListener('click', async (e) => { + const btn = e.target.closest('button[data-action]'); + if (!btn) return; + const action = btn.dataset.action; + const code = btn.dataset.code; + if (action === 'edit-category') { + const cat = this.categories.find(c => String(c.code) === String(code)); + if (cat) this.fillCategoryForm(cat); + } + if (action === 'delete-category') { + if (!confirm('确定删除该分类吗?')) return; + try { + await this.apiRequest(`/api/nav_bookmarks/categories/${encodeURIComponent(code)}`, { method: 'DELETE' }); + await this.loadBookmarks(); + } catch (err) { + alert(err.message || '删除失败'); + } + } + }); + } + + if (this.bookmarkListEl) { + this.bookmarkListEl.addEventListener('click', async (e) => { + const btn = e.target.closest('button[data-action]'); + if (!btn) return; + const action = btn.dataset.action; + const id = btn.dataset.id; + if (action === 'edit-bookmark') { + const item = this.bookmarks.find(b => String(b.id) === String(id)); + if (item) this.fillBookmarkForm(item); + } + if (action === 'delete-bookmark') { + if (!confirm('确定删除该书签吗?')) return; + try { + await this.apiRequest(`/api/nav_bookmarks/bookmarks/${encodeURIComponent(id)}`, { method: 'DELETE' }); + await this.loadBookmarks(); + } catch (err) { + alert(err.message || '删除失败'); + } + } + }); + } + + if (this.iconPicker) { + this.iconPicker.addEventListener('click', (e) => { + const closeBtn = e.target.closest('[data-action="close-icon-picker"]'); + if (closeBtn) { + this.iconPicker.classList.remove('active'); + return; + } + const btn = e.target.closest('.icon-picker-item'); + if (btn && this.iconPickerTarget) { + this.iconPickerTarget.value = btn.dataset.icon || ''; + this.updateIconPreview(); + this.iconPicker.classList.remove('active'); + return; + } + if (e.target === this.iconPicker) { + this.iconPicker.classList.remove('active'); + } + }); + } + } + + async apiRequest(url, options) { + const res = await fetch(url, options || {}); + let data = null; + try { data = await res.json(); } catch {} + if (!res.ok || (data && data.ok === false)) { + const msg = data && data.error ? data.error : res.statusText; + throw new Error(msg || '请求失败'); + } + return data; + } + + resetCategoryForm() { + if (!this.categoryForm) return; + this.editingCategoryCode = ''; + this.categoryForm.reset(); + const codeInput = this.categoryForm.querySelector('input[name="code"]'); + if (codeInput) codeInput.disabled = false; + } + + resetBookmarkForm() { + if (!this.bookmarkForm) return; + this.editingBookmarkId = ''; + this.bookmarkForm.reset(); + if (this.bookmarkCreatedAtEl) this.bookmarkCreatedAtEl.textContent = '-'; + this.updateIconPreview(); + } + + fillCategoryForm(cat) { + if (!this.categoryForm) return; + this.editingCategoryCode = String(cat.code); + const codeInput = this.categoryForm.querySelector('input[name="code"]'); + const nameInput = this.categoryForm.querySelector('input[name="name"]'); + const sortInput = this.categoryForm.querySelector('input[name="sort_order"]'); + if (codeInput) { + codeInput.value = cat.code; + codeInput.disabled = true; + } + if (nameInput) nameInput.value = cat.name || ''; + if (sortInput) sortInput.value = Number(cat.sort_order || 0); + } + + fillBookmarkForm(item) { + if (!this.bookmarkForm) return; + this.editingBookmarkId = String(item.id); + const nameInput = this.bookmarkForm.querySelector('input[name="name"]'); + const urlInput = this.bookmarkForm.querySelector('input[name="url"]'); + const catSelect = this.bookmarkForm.querySelector('select[name="category_code"]'); + const iconInput = this.bookmarkForm.querySelector('input[name="icon"]'); + const remarkInput = this.bookmarkForm.querySelector('textarea[name="remark"]'); + const sortInput = this.bookmarkForm.querySelector('input[name="sort_order"]'); + if (nameInput) nameInput.value = item.name || ''; + if (urlInput) urlInput.value = item.url || ''; + if (catSelect) catSelect.value = item.category_code || ''; + if (iconInput) iconInput.value = item.icon || ''; + if (remarkInput) remarkInput.value = item.remark || ''; + if (sortInput) sortInput.value = Number(item.sort_order || 0); + if (this.bookmarkCreatedAtEl) this.bookmarkCreatedAtEl.textContent = item.created_at || '-'; + this.updateIconPreview(); + } + + updateIconPreview() { + if (!this.bookmarkForm || !this.iconPreviewEl) return; + const iconInput = this.bookmarkForm.querySelector('input[name="icon"]'); + if (!iconInput) return; + const iconUrl = this.getIconUrl(iconInput.value); + this.iconPreviewEl.innerHTML = ''; + if (iconUrl) { + const img = document.createElement('img'); + img.src = iconUrl; + img.alt = iconInput.value || ''; + this.iconPreviewEl.appendChild(img); + } else { + this.iconPreviewEl.textContent = '未选择'; + } + } + + applyTheme(themeIndex) { + const theme = this.themes[themeIndex]; + + // 更新背景图片 + document.querySelectorAll('.background-image').forEach((img, index) => { + img.classList.toggle('active', index === themeIndex); + }); + this.ensureBgLoaded(themeIndex, true); + + // 强制使用纯白文字 + document.body.style.color = '#ffffff'; + document.documentElement.style.setProperty('--card-text-color', '#ffffff'); + + // 移除对 tool-card 的个别样式覆盖,统一使用 CSS 类控制 + /* + document.querySelectorAll('.tool-card').forEach(card => { + card.style.background = theme.cardGradient; + card.style.color = theme.textColor; + }); + */ + + // 清除所有特效 + this.clearEffects(); + + // 应用新特效 + setTimeout(() => { + this.startEffect(theme.effect); + }, 500); + } + + async ensureBgLoaded(themeIndex, preferLocal = true) { + try { + const theme = this.themes[themeIndex]; + const imgs = document.querySelectorAll('.background-image'); + const img = imgs[themeIndex]; + if (!img || !theme) return; + const r = await fetch(`/api/home/bg?theme=${encodeURIComponent(theme.name)}&url=${encodeURIComponent(theme.background)}&prefer_local=${preferLocal ? '1' : '0'}`); + const j = await r.json(); + img.src = (j && j.url) ? j.url : theme.background; + } catch { + const theme = this.themes[themeIndex]; + const imgs = document.querySelectorAll('.background-image'); + const img = imgs[themeIndex]; + if (img && theme) img.src = theme.background; + } + } + + nextTheme() { + this.currentTheme = (this.currentTheme + 1) % this.themes.length; + this.applyTheme(this.currentTheme); + + // 显示当前主题名称 + const themeName = this.themes[this.currentTheme].name; + this.showNotification(`切换到: ${themeName}`); + } + + startEffects() { + const currentTheme = this.themes[this.currentTheme]; + this.startEffect(currentTheme.effect); + } + + startEffect(effectType) { + const effectsContainer = document.querySelector('.effects-container'); + + switch (effectType) { + case 'meteor': + this.startMeteorEffect(effectsContainer); + break; + default: + this.startMeteorEffect(effectsContainer); + break; + } + } + + startMeteorEffect(container) { + // 创建流星 + const createMeteor = () => { + const meteor = document.createElement('div'); + meteor.className = 'meteor'; + + // 随机位置 + const left = Math.random() * 100; + const top = Math.random() * 50; + meteor.style.left = `${left}%`; + meteor.style.top = `${top}%`; + + // 随机大小和速度 + const size = 1 + Math.random() * 2; + const duration = 8 + Math.random() * 4; + meteor.style.width = `${size}px`; + meteor.style.height = `${size}px`; + meteor.style.animationDuration = `${duration}s`; + + container.appendChild(meteor); + + // 移除流星 + setTimeout(() => { + if (meteor.parentNode) { + meteor.parentNode.removeChild(meteor); + } + }, duration * 1000); + }; + + // 定期创建流星 + this.meteorInterval = setInterval(createMeteor, 3000); + + // 初始创建几个流星 + for (let i = 0; i < 3; i++) { + setTimeout(createMeteor, i * 1000); + } + } + + startPaperPlaneEffect(container) { + // 创建纸飞机 + const createPaperPlane = () => { + const plane = document.createElement('div'); + plane.className = 'paper-plane'; + plane.innerHTML = '✈️'; + + // 随机位置 + const top = 10 + Math.random() * 70; + plane.style.top = `${top}%`; + + // 随机延迟和速度 + const delay = Math.random() * 5; + const duration = 12 + Math.random() * 6; + plane.style.animationDelay = `${delay}s`; + plane.style.animationDuration = `${duration}s`; + + container.appendChild(plane); + + // 移除飞机 + setTimeout(() => { + if (plane.parentNode) { + plane.parentNode.removeChild(plane); + } + }, (duration + delay) * 1000); + }; + + // 定期创建纸飞机 + this.planeInterval = setInterval(createPaperPlane, 8000); + + // 初始创建几个纸飞机 + for (let i = 0; i < 2; i++) { + setTimeout(createPaperPlane, i * 2000); + } + } + + startForestEffect(container) { + // 森林主题的飘叶效果 + const createLeaf = () => { + const leaf = document.createElement('div'); + leaf.className = 'paper-plane'; + leaf.innerHTML = '🍃'; + leaf.style.fontSize = '16px'; + + // 随机位置 + const left = Math.random() * 100; + const top = Math.random() * 100; + leaf.style.left = `${left}%`; + leaf.style.top = `${top}%`; + + // 随机动画参数 + const delay = Math.random() * 3; + const duration = 10 + Math.random() * 8; + leaf.style.animationDelay = `${delay}s`; + leaf.style.animationDuration = `${duration}s`; + + container.appendChild(leaf); + + // 移除叶子 + setTimeout(() => { + if (leaf.parentNode) { + leaf.parentNode.removeChild(leaf); + } + }, (duration + delay) * 1000); + }; + + // 定期创建叶子 + this.leafInterval = setInterval(createLeaf, 4000); + + // 初始创建几个叶子 + for (let i = 0; i < 4; i++) { + setTimeout(createLeaf, i * 1000); + } + } + + clearEffects() { + // 清除所有定时器 + if (this.meteorInterval) clearInterval(this.meteorInterval); + if (this.planeInterval) clearInterval(this.planeInterval); + if (this.leafInterval) clearInterval(this.leafInterval); + + // 清除所有特效元素 + const effectsContainer = document.querySelector('.effects-container'); + if (effectsContainer) { + effectsContainer.innerHTML = ''; + } + } + + startBackgroundRotation() { + // 每30秒自动切换背景 + this.rotationInterval = setInterval(() => { + this.nextTheme(); + }, 30000); + } + + showNotification(message) { + // 创建通知元素 + const notification = document.createElement('div'); + notification.style.cssText = ` + position: fixed; + top: 2rem; + left: 50%; + transform: translateX(-50%); + background: rgba(255, 255, 255, 0.2); + backdrop-filter: blur(10px); + border: 1px solid rgba(255, 255, 255, 0.3); + color: var(--text-light); + padding: 0.75rem 1.5rem; + border-radius: 25px; + font-size: 0.9rem; + z-index: 1000; + opacity: 0; + transition: opacity 0.3s ease; + `; + notification.textContent = message; + + document.body.appendChild(notification); + + // 显示动画 + setTimeout(() => { + notification.style.opacity = '1'; + }, 10); + + // 隐藏动画 + setTimeout(() => { + notification.style.opacity = '0'; + setTimeout(() => { + if (notification.parentNode) { + notification.parentNode.removeChild(notification); + } + }, 300); + }, 2000); + } +} + +// 页面加载完成后初始化 +document.addEventListener('DOMContentLoaded', () => { + new ToolboxHome(); +}); diff --git a/public/lib/bootstrap.bundle.min.js b/public/lib/bootstrap.bundle.min.js new file mode 100644 index 0000000..04e9185 --- /dev/null +++ b/public/lib/bootstrap.bundle.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v5.3.3 (https://getbootstrap.com/) + * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";const t=new Map,e={set(e,i,n){t.has(e)||t.set(e,new Map);const s=t.get(e);s.has(i)||0===s.size?s.set(i,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`)},get:(e,i)=>t.has(e)&&t.get(e).get(i)||null,remove(e,i){if(!t.has(e))return;const n=t.get(e);n.delete(i),0===n.size&&t.delete(e)}},i="transitionend",n=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),s=t=>{t.dispatchEvent(new Event(i))},o=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),r=t=>o(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(n(t)):null,a=t=>{if(!o(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},l=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),c=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?c(t.parentNode):null},h=()=>{},d=t=>{t.offsetHeight},u=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,f=[],p=()=>"rtl"===document.documentElement.dir,m=t=>{var e;e=()=>{const e=u();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(f.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of f)t()})),f.push(e)):e()},g=(t,e=[],i=t)=>"function"==typeof t?t(...e):i,_=(t,e,n=!0)=>{if(!n)return void g(t);const o=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let r=!1;const a=({target:n})=>{n===e&&(r=!0,e.removeEventListener(i,a),g(t))};e.addEventListener(i,a),setTimeout((()=>{r||s(e)}),o)},b=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},v=/[^.]*(?=\..*)\.|.*/,y=/\..*/,w=/::\d+$/,A={};let E=1;const T={mouseenter:"mouseover",mouseleave:"mouseout"},C=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function O(t,e){return e&&`${e}::${E++}`||t.uidEvent||E++}function x(t){const e=O(t);return t.uidEvent=e,A[e]=A[e]||{},A[e]}function k(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function L(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=I(t);return C.has(o)||(o=t),[n,s,o]}function S(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=L(e,i,n);if(e in T){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=x(t),c=l[a]||(l[a]={}),h=k(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=O(r,e.replace(v,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return P(s,{delegateTarget:r}),n.oneOff&&N.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return P(n,{delegateTarget:t}),i.oneOff&&N.off(t,n.type,e),e.apply(t,[n])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function D(t,e,i,n,s){const o=k(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function $(t,e,i,n){const s=e[i]||{};for(const[o,r]of Object.entries(s))o.includes(n)&&D(t,e,i,r.callable,r.delegationSelector)}function I(t){return t=t.replace(y,""),T[t]||t}const N={on(t,e,i,n){S(t,e,i,n,!1)},one(t,e,i,n){S(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=L(e,i,n),a=r!==e,l=x(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))$(t,l,i,e.slice(1));for(const[i,n]of Object.entries(c)){const s=i.replace(w,"");a&&!e.includes(s)||D(t,l,r,n.callable,n.delegationSelector)}}else{if(!Object.keys(c).length)return;D(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=u();let s=null,o=!0,r=!0,a=!1;e!==I(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());const l=P(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function P(t,e={}){for(const[i,n]of Object.entries(e))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}function j(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function M(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const F={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${M(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${M(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=j(t.dataset[n])}return e},getDataAttribute:(t,e)=>j(t.getAttribute(`data-bs-${M(e)}`))};class H{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=o(e)?F.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...o(e)?F.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[n,s]of Object.entries(e)){const e=t[n],r=o(e)?"element":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(r))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${r}" but expected type "${s}".`)}var i}}class W extends H{constructor(t,i){super(),(t=r(t))&&(this._element=t,this._config=this._getConfig(i),e.set(this._element,this.constructor.DATA_KEY,this))}dispose(){e.remove(this._element,this.constructor.DATA_KEY),N.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){_(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return e.get(r(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.3"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const B=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return e?e.split(",").map((t=>n(t))).join(","):null},z={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!l(t)&&a(t)))},getSelectorFromElement(t){const e=B(t);return e&&z.findOne(e)?e:null},getElementFromSelector(t){const e=B(t);return e?z.findOne(e):null},getMultipleElementsFromSelector(t){const e=B(t);return e?z.find(e):[]}},R=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;N.on(document,i,`[data-bs-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),l(this))return;const s=z.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()}))},q=".bs.alert",V=`close${q}`,K=`closed${q}`;class Q extends W{static get NAME(){return"alert"}close(){if(N.trigger(this._element,V).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),N.trigger(this._element,K),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=Q.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}R(Q,"close"),m(Q);const X='[data-bs-toggle="button"]';class Y extends W{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=Y.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}N.on(document,"click.bs.button.data-api",X,(t=>{t.preventDefault();const e=t.target.closest(X);Y.getOrCreateInstance(e).toggle()})),m(Y);const U=".bs.swipe",G=`touchstart${U}`,J=`touchmove${U}`,Z=`touchend${U}`,tt=`pointerdown${U}`,et=`pointerup${U}`,it={endCallback:null,leftCallback:null,rightCallback:null},nt={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class st extends H{constructor(t,e){super(),this._element=t,t&&st.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return it}static get DefaultType(){return nt}static get NAME(){return"swipe"}dispose(){N.off(this._element,U)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),g(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&g(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(N.on(this._element,tt,(t=>this._start(t))),N.on(this._element,et,(t=>this._end(t))),this._element.classList.add("pointer-event")):(N.on(this._element,G,(t=>this._start(t))),N.on(this._element,J,(t=>this._move(t))),N.on(this._element,Z,(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const ot=".bs.carousel",rt=".data-api",at="next",lt="prev",ct="left",ht="right",dt=`slide${ot}`,ut=`slid${ot}`,ft=`keydown${ot}`,pt=`mouseenter${ot}`,mt=`mouseleave${ot}`,gt=`dragstart${ot}`,_t=`load${ot}${rt}`,bt=`click${ot}${rt}`,vt="carousel",yt="active",wt=".active",At=".carousel-item",Et=wt+At,Tt={ArrowLeft:ht,ArrowRight:ct},Ct={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Ot={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class xt extends W{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=z.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===vt&&this.cycle()}static get Default(){return Ct}static get DefaultType(){return Ot}static get NAME(){return"carousel"}next(){this._slide(at)}nextWhenVisible(){!document.hidden&&a(this._element)&&this.next()}prev(){this._slide(lt)}pause(){this._isSliding&&s(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?N.one(this._element,ut,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void N.one(this._element,ut,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?at:lt;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&N.on(this._element,ft,(t=>this._keydown(t))),"hover"===this._config.pause&&(N.on(this._element,pt,(()=>this.pause())),N.on(this._element,mt,(()=>this._maybeEnableCycle()))),this._config.touch&&st.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of z.find(".carousel-item img",this._element))N.on(t,gt,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(ct)),rightCallback:()=>this._slide(this._directionToOrder(ht)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new st(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=Tt[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=z.findOne(wt,this._indicatorsElement);e.classList.remove(yt),e.removeAttribute("aria-current");const i=z.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(yt),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===at,s=e||b(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>N.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(dt).defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",c=n?"carousel-item-next":"carousel-item-prev";s.classList.add(c),d(s),i.classList.add(l),s.classList.add(l),this._queueCallback((()=>{s.classList.remove(l,c),s.classList.add(yt),i.classList.remove(yt,c,l),this._isSliding=!1,r(ut)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return z.findOne(Et,this._element)}_getItems(){return z.find(At,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return p()?t===ct?lt:at:t===ct?at:lt}_orderToDirection(t){return p()?t===lt?ct:ht:t===lt?ht:ct}static jQueryInterface(t){return this.each((function(){const e=xt.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}N.on(document,bt,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=z.getElementFromSelector(this);if(!e||!e.classList.contains(vt))return;t.preventDefault();const i=xt.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===F.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),N.on(window,_t,(()=>{const t=z.find('[data-bs-ride="carousel"]');for(const e of t)xt.getOrCreateInstance(e)})),m(xt);const kt=".bs.collapse",Lt=`show${kt}`,St=`shown${kt}`,Dt=`hide${kt}`,$t=`hidden${kt}`,It=`click${kt}.data-api`,Nt="show",Pt="collapse",jt="collapsing",Mt=`:scope .${Pt} .${Pt}`,Ft='[data-bs-toggle="collapse"]',Ht={parent:null,toggle:!0},Wt={parent:"(null|element)",toggle:"boolean"};class Bt extends W{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=z.find(Ft);for(const t of i){const e=z.getSelectorFromElement(t),i=z.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Ht}static get DefaultType(){return Wt}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>Bt.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(N.trigger(this._element,Lt).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(Pt),this._element.classList.add(jt),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(jt),this._element.classList.add(Pt,Nt),this._element.style[e]="",N.trigger(this._element,St)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(N.trigger(this._element,Dt).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,d(this._element),this._element.classList.add(jt),this._element.classList.remove(Pt,Nt);for(const t of this._triggerArray){const e=z.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(jt),this._element.classList.add(Pt),N.trigger(this._element,$t)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(Nt)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=r(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(Ft);for(const e of t){const t=z.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=z.find(Mt,this._config.parent);return z.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=Bt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}N.on(document,It,Ft,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of z.getMultipleElementsFromSelector(this))Bt.getOrCreateInstance(t,{toggle:!1}).toggle()})),m(Bt);var zt="top",Rt="bottom",qt="right",Vt="left",Kt="auto",Qt=[zt,Rt,qt,Vt],Xt="start",Yt="end",Ut="clippingParents",Gt="viewport",Jt="popper",Zt="reference",te=Qt.reduce((function(t,e){return t.concat([e+"-"+Xt,e+"-"+Yt])}),[]),ee=[].concat(Qt,[Kt]).reduce((function(t,e){return t.concat([e,e+"-"+Xt,e+"-"+Yt])}),[]),ie="beforeRead",ne="read",se="afterRead",oe="beforeMain",re="main",ae="afterMain",le="beforeWrite",ce="write",he="afterWrite",de=[ie,ne,se,oe,re,ae,le,ce,he];function ue(t){return t?(t.nodeName||"").toLowerCase():null}function fe(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function pe(t){return t instanceof fe(t).Element||t instanceof Element}function me(t){return t instanceof fe(t).HTMLElement||t instanceof HTMLElement}function ge(t){return"undefined"!=typeof ShadowRoot&&(t instanceof fe(t).ShadowRoot||t instanceof ShadowRoot)}const _e={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];me(s)&&ue(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});me(n)&&ue(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function be(t){return t.split("-")[0]}var ve=Math.max,ye=Math.min,we=Math.round;function Ae(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function Ee(){return!/^((?!chrome|android).)*safari/i.test(Ae())}function Te(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&me(t)&&(s=t.offsetWidth>0&&we(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&we(n.height)/t.offsetHeight||1);var r=(pe(t)?fe(t):window).visualViewport,a=!Ee()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,d=n.height/o;return{width:h,height:d,top:c,right:l+h,bottom:c+d,left:l,x:l,y:c}}function Ce(t){var e=Te(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Oe(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&ge(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function xe(t){return fe(t).getComputedStyle(t)}function ke(t){return["table","td","th"].indexOf(ue(t))>=0}function Le(t){return((pe(t)?t.ownerDocument:t.document)||window.document).documentElement}function Se(t){return"html"===ue(t)?t:t.assignedSlot||t.parentNode||(ge(t)?t.host:null)||Le(t)}function De(t){return me(t)&&"fixed"!==xe(t).position?t.offsetParent:null}function $e(t){for(var e=fe(t),i=De(t);i&&ke(i)&&"static"===xe(i).position;)i=De(i);return i&&("html"===ue(i)||"body"===ue(i)&&"static"===xe(i).position)?e:i||function(t){var e=/firefox/i.test(Ae());if(/Trident/i.test(Ae())&&me(t)&&"fixed"===xe(t).position)return null;var i=Se(t);for(ge(i)&&(i=i.host);me(i)&&["html","body"].indexOf(ue(i))<0;){var n=xe(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function Ie(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Ne(t,e,i){return ve(t,ye(e,i))}function Pe(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function je(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const Me={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=be(i.placement),l=Ie(a),c=[Vt,qt].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return Pe("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:je(t,Qt))}(s.padding,i),d=Ce(o),u="y"===l?zt:Vt,f="y"===l?Rt:qt,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=$e(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,A=Ne(v,w,y),E=l;i.modifiersData[n]=((e={})[E]=A,e.centerOffset=A-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&Oe(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Fe(t){return t.split("-")[1]}var He={top:"auto",right:"auto",bottom:"auto",left:"auto"};function We(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,d=t.isFixed,u=r.x,f=void 0===u?0:u,p=r.y,m=void 0===p?0:p,g="function"==typeof h?h({x:f,y:m}):{x:f,y:m};f=g.x,m=g.y;var _=r.hasOwnProperty("x"),b=r.hasOwnProperty("y"),v=Vt,y=zt,w=window;if(c){var A=$e(i),E="clientHeight",T="clientWidth";A===fe(i)&&"static"!==xe(A=Le(i)).position&&"absolute"===a&&(E="scrollHeight",T="scrollWidth"),(s===zt||(s===Vt||s===qt)&&o===Yt)&&(y=Rt,m-=(d&&A===w&&w.visualViewport?w.visualViewport.height:A[E])-n.height,m*=l?1:-1),s!==Vt&&(s!==zt&&s!==Rt||o!==Yt)||(v=qt,f-=(d&&A===w&&w.visualViewport?w.visualViewport.width:A[T])-n.width,f*=l?1:-1)}var C,O=Object.assign({position:a},c&&He),x=!0===h?function(t,e){var i=t.x,n=t.y,s=e.devicePixelRatio||1;return{x:we(i*s)/s||0,y:we(n*s)/s||0}}({x:f,y:m},fe(i)):{x:f,y:m};return f=x.x,m=x.y,l?Object.assign({},O,((C={})[y]=b?"0":"",C[v]=_?"0":"",C.transform=(w.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",C)):Object.assign({},O,((e={})[y]=b?m+"px":"",e[v]=_?f+"px":"",e.transform="",e))}const Be={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:be(e.placement),variation:Fe(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,We(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,We(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var ze={passive:!0};const Re={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=fe(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,ze)})),a&&l.addEventListener("resize",i.update,ze),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,ze)})),a&&l.removeEventListener("resize",i.update,ze)}},data:{}};var qe={left:"right",right:"left",bottom:"top",top:"bottom"};function Ve(t){return t.replace(/left|right|bottom|top/g,(function(t){return qe[t]}))}var Ke={start:"end",end:"start"};function Qe(t){return t.replace(/start|end/g,(function(t){return Ke[t]}))}function Xe(t){var e=fe(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Ye(t){return Te(Le(t)).left+Xe(t).scrollLeft}function Ue(t){var e=xe(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Ge(t){return["html","body","#document"].indexOf(ue(t))>=0?t.ownerDocument.body:me(t)&&Ue(t)?t:Ge(Se(t))}function Je(t,e){var i;void 0===e&&(e=[]);var n=Ge(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=fe(n),r=s?[o].concat(o.visualViewport||[],Ue(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Je(Se(r)))}function Ze(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function ti(t,e,i){return e===Gt?Ze(function(t,e){var i=fe(t),n=Le(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=Ee();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+Ye(t),y:l}}(t,i)):pe(e)?function(t,e){var i=Te(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):Ze(function(t){var e,i=Le(t),n=Xe(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=ve(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=ve(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+Ye(t),l=-n.scrollTop;return"rtl"===xe(s||i).direction&&(a+=ve(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Le(t)))}function ei(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?be(s):null,r=s?Fe(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case zt:e={x:a,y:i.y-n.height};break;case Rt:e={x:a,y:i.y+i.height};break;case qt:e={x:i.x+i.width,y:l};break;case Vt:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?Ie(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case Xt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case Yt:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function ii(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.strategy,r=void 0===o?t.strategy:o,a=i.boundary,l=void 0===a?Ut:a,c=i.rootBoundary,h=void 0===c?Gt:c,d=i.elementContext,u=void 0===d?Jt:d,f=i.altBoundary,p=void 0!==f&&f,m=i.padding,g=void 0===m?0:m,_=Pe("number"!=typeof g?g:je(g,Qt)),b=u===Jt?Zt:Jt,v=t.rects.popper,y=t.elements[p?b:u],w=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=Je(Se(t)),i=["absolute","fixed"].indexOf(xe(t).position)>=0&&me(t)?$e(t):t;return pe(i)?e.filter((function(t){return pe(t)&&Oe(t,i)&&"body"!==ue(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=ti(t,i,n);return e.top=ve(s.top,e.top),e.right=ye(s.right,e.right),e.bottom=ye(s.bottom,e.bottom),e.left=ve(s.left,e.left),e}),ti(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(pe(y)?y:y.contextElement||Le(t.elements.popper),l,h,r),A=Te(t.elements.reference),E=ei({reference:A,element:v,strategy:"absolute",placement:s}),T=Ze(Object.assign({},v,E)),C=u===Jt?T:A,O={top:w.top-C.top+_.top,bottom:C.bottom-w.bottom+_.bottom,left:w.left-C.left+_.left,right:C.right-w.right+_.right},x=t.modifiersData.offset;if(u===Jt&&x){var k=x[s];Object.keys(O).forEach((function(t){var e=[qt,Rt].indexOf(t)>=0?1:-1,i=[zt,Rt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e}))}return O}function ni(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?ee:l,h=Fe(n),d=h?a?te:te.filter((function(t){return Fe(t)===h})):Qt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=ii(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[be(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const si={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,m=i.allowedAutoPlacements,g=e.options.placement,_=be(g),b=l||(_!==g&&p?function(t){if(be(t)===Kt)return[];var e=Ve(t);return[Qe(t),e,Qe(e)]}(g):[Ve(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat(be(i)===Kt?ni(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,A=new Map,E=!0,T=v[0],C=0;C=0,S=L?"width":"height",D=ii(e,{placement:O,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),$=L?k?qt:Vt:k?Rt:zt;y[S]>w[S]&&($=Ve($));var I=Ve($),N=[];if(o&&N.push(D[x]<=0),a&&N.push(D[$]<=0,D[I]<=0),N.every((function(t){return t}))){T=O,E=!1;break}A.set(O,N)}if(E)for(var P=function(t){var e=v.find((function(e){var i=A.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},j=p?3:1;j>0&&"break"!==P(j);j--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function oi(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function ri(t){return[zt,qt,Rt,Vt].some((function(e){return t[e]>=0}))}const ai={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=ii(e,{elementContext:"reference"}),a=ii(e,{altBoundary:!0}),l=oi(r,n),c=oi(a,s,o),h=ri(l),d=ri(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},li={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=ee.reduce((function(t,i){return t[i]=function(t,e,i){var n=be(t),s=[Vt,zt].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[Vt,qt].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},ci={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=ei({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},hi={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,m=void 0===p?0:p,g=ii(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=be(e.placement),b=Fe(e.placement),v=!b,y=Ie(_),w="x"===y?"y":"x",A=e.modifiersData.popperOffsets,E=e.rects.reference,T=e.rects.popper,C="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,O="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),x=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,k={x:0,y:0};if(A){if(o){var L,S="y"===y?zt:Vt,D="y"===y?Rt:qt,$="y"===y?"height":"width",I=A[y],N=I+g[S],P=I-g[D],j=f?-T[$]/2:0,M=b===Xt?E[$]:T[$],F=b===Xt?-T[$]:-E[$],H=e.elements.arrow,W=f&&H?Ce(H):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=B[S],R=B[D],q=Ne(0,E[$],W[$]),V=v?E[$]/2-j-q-z-O.mainAxis:M-q-z-O.mainAxis,K=v?-E[$]/2+j+q+R+O.mainAxis:F+q+R+O.mainAxis,Q=e.elements.arrow&&$e(e.elements.arrow),X=Q?"y"===y?Q.clientTop||0:Q.clientLeft||0:0,Y=null!=(L=null==x?void 0:x[y])?L:0,U=I+K-Y,G=Ne(f?ye(N,I+V-Y-X):N,I,f?ve(P,U):P);A[y]=G,k[y]=G-I}if(a){var J,Z="x"===y?zt:Vt,tt="x"===y?Rt:qt,et=A[w],it="y"===w?"height":"width",nt=et+g[Z],st=et-g[tt],ot=-1!==[zt,Vt].indexOf(_),rt=null!=(J=null==x?void 0:x[w])?J:0,at=ot?nt:et-E[it]-T[it]-rt+O.altAxis,lt=ot?et+E[it]+T[it]-rt-O.altAxis:st,ct=f&&ot?function(t,e,i){var n=Ne(t,e,i);return n>i?i:n}(at,et,lt):Ne(f?at:nt,et,f?lt:st);A[w]=ct,k[w]=ct-et}e.modifiersData[n]=k}},requiresIfExists:["offset"]};function di(t,e,i){void 0===i&&(i=!1);var n,s,o=me(e),r=me(e)&&function(t){var e=t.getBoundingClientRect(),i=we(e.width)/t.offsetWidth||1,n=we(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=Le(e),l=Te(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==ue(e)||Ue(a))&&(c=(n=e)!==fe(n)&&me(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:Xe(n)),me(e)?((h=Te(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=Ye(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function ui(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var fi={placement:"bottom",modifiers:[],strategy:"absolute"};function pi(){for(var t=arguments.length,e=new Array(t),i=0;iNumber.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(F.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...g(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const i=z.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>a(t)));i.length&&b(i,e,t===Ti,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=qi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=z.find(Ni);for(const i of e){const e=qi.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Ei,Ti].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Ii)?this:z.prev(this,Ii)[0]||z.next(this,Ii)[0]||z.findOne(Ii,t.delegateTarget.parentNode),o=qi.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}N.on(document,Si,Ii,qi.dataApiKeydownHandler),N.on(document,Si,Pi,qi.dataApiKeydownHandler),N.on(document,Li,qi.clearMenus),N.on(document,Di,qi.clearMenus),N.on(document,Li,Ii,(function(t){t.preventDefault(),qi.getOrCreateInstance(this).toggle()})),m(qi);const Vi="backdrop",Ki="show",Qi=`mousedown.bs.${Vi}`,Xi={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Yi={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Ui extends H{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return Xi}static get DefaultType(){return Yi}static get NAME(){return Vi}show(t){if(!this._config.isVisible)return void g(t);this._append();const e=this._getElement();this._config.isAnimated&&d(e),e.classList.add(Ki),this._emulateAnimation((()=>{g(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Ki),this._emulateAnimation((()=>{this.dispose(),g(t)}))):g(t)}dispose(){this._isAppended&&(N.off(this._element,Qi),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=r(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),N.on(t,Qi,(()=>{g(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){_(t,this._getElement(),this._config.isAnimated)}}const Gi=".bs.focustrap",Ji=`focusin${Gi}`,Zi=`keydown.tab${Gi}`,tn="backward",en={autofocus:!0,trapElement:null},nn={autofocus:"boolean",trapElement:"element"};class sn extends H{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return en}static get DefaultType(){return nn}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),N.off(document,Gi),N.on(document,Ji,(t=>this._handleFocusin(t))),N.on(document,Zi,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,N.off(document,Gi))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=z.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===tn?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?tn:"forward")}}const on=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",rn=".sticky-top",an="padding-right",ln="margin-right";class cn{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,an,(e=>e+t)),this._setElementAttributes(on,an,(e=>e+t)),this._setElementAttributes(rn,ln,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,an),this._resetElementAttributes(on,an),this._resetElementAttributes(rn,ln)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&F.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=F.getDataAttribute(t,e);null!==i?(F.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(o(t))e(t);else for(const i of z.find(t,this._element))e(i)}}const hn=".bs.modal",dn=`hide${hn}`,un=`hidePrevented${hn}`,fn=`hidden${hn}`,pn=`show${hn}`,mn=`shown${hn}`,gn=`resize${hn}`,_n=`click.dismiss${hn}`,bn=`mousedown.dismiss${hn}`,vn=`keydown.dismiss${hn}`,yn=`click${hn}.data-api`,wn="modal-open",An="show",En="modal-static",Tn={backdrop:!0,focus:!0,keyboard:!0},Cn={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class On extends W{constructor(t,e){super(t,e),this._dialog=z.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new cn,this._addEventListeners()}static get Default(){return Tn}static get DefaultType(){return Cn}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||N.trigger(this._element,pn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(wn),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(N.trigger(this._element,dn).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(An),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){N.off(window,hn),N.off(this._dialog,hn),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Ui({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=z.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),d(this._element),this._element.classList.add(An),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,N.trigger(this._element,mn,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){N.on(this._element,vn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),N.on(window,gn,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),N.on(this._element,bn,(t=>{N.one(this._element,_n,(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(wn),this._resetAdjustments(),this._scrollBar.reset(),N.trigger(this._element,fn)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(N.trigger(this._element,un).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(En)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(En),this._queueCallback((()=>{this._element.classList.remove(En),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=p()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=p()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=On.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}N.on(document,yn,'[data-bs-toggle="modal"]',(function(t){const e=z.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),N.one(e,pn,(t=>{t.defaultPrevented||N.one(e,fn,(()=>{a(this)&&this.focus()}))}));const i=z.findOne(".modal.show");i&&On.getInstance(i).hide(),On.getOrCreateInstance(e).toggle(this)})),R(On),m(On);const xn=".bs.offcanvas",kn=".data-api",Ln=`load${xn}${kn}`,Sn="show",Dn="showing",$n="hiding",In=".offcanvas.show",Nn=`show${xn}`,Pn=`shown${xn}`,jn=`hide${xn}`,Mn=`hidePrevented${xn}`,Fn=`hidden${xn}`,Hn=`resize${xn}`,Wn=`click${xn}${kn}`,Bn=`keydown.dismiss${xn}`,zn={backdrop:!0,keyboard:!0,scroll:!1},Rn={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class qn extends W{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return zn}static get DefaultType(){return Rn}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||N.trigger(this._element,Nn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new cn).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Dn),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(Sn),this._element.classList.remove(Dn),N.trigger(this._element,Pn,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(N.trigger(this._element,jn).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add($n),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(Sn,$n),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new cn).reset(),N.trigger(this._element,Fn)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new Ui({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():N.trigger(this._element,Mn)}:null})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_addEventListeners(){N.on(this._element,Bn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():N.trigger(this._element,Mn))}))}static jQueryInterface(t){return this.each((function(){const e=qn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}N.on(document,Wn,'[data-bs-toggle="offcanvas"]',(function(t){const e=z.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this))return;N.one(e,Fn,(()=>{a(this)&&this.focus()}));const i=z.findOne(In);i&&i!==e&&qn.getInstance(i).hide(),qn.getOrCreateInstance(e).toggle(this)})),N.on(window,Ln,(()=>{for(const t of z.find(In))qn.getOrCreateInstance(t).show()})),N.on(window,Hn,(()=>{for(const t of z.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&qn.getOrCreateInstance(t).hide()})),R(qn),m(qn);const Vn={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Kn=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Qn=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Xn=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Kn.has(i)||Boolean(Qn.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Yn={allowList:Vn,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Un={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Gn={entry:"(string|element|function|null)",selector:"(string|element)"};class Jn extends H{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Yn}static get DefaultType(){return Un}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},Gn)}_setContent(t,e,i){const n=z.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?o(e)?this._putElementInTemplate(r(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Xn(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return g(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Zn=new Set(["sanitize","allowList","sanitizeFn"]),ts="fade",es="show",is=".modal",ns="hide.bs.modal",ss="hover",os="focus",rs={AUTO:"auto",TOP:"top",RIGHT:p()?"left":"right",BOTTOM:"bottom",LEFT:p()?"right":"left"},as={allowList:Vn,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},ls={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class cs extends W{constructor(t,e){if(void 0===vi)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return as}static get DefaultType(){return ls}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),N.off(this._element.closest(is),ns,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=N.trigger(this._element,this.constructor.eventName("show")),e=(c(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),N.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.on(t,"mouseover",h);this._queueCallback((()=>{N.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!N.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.off(t,"mouseover",h);this._activeTrigger.click=!1,this._activeTrigger[os]=!1,this._activeTrigger[ss]=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),N.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(ts,es),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(ts),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Jn({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(ts)}_isShown(){return this.tip&&this.tip.classList.contains(es)}_createPopper(t){const e=g(this._config.placement,[this,t,this._element]),i=rs[e.toUpperCase()];return bi(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return g(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,...g(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)N.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===ss?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===ss?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");N.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?os:ss]=!0,e._enter()})),N.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?os:ss]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},N.on(this._element.closest(is),ns,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=F.getDataAttributes(this._element);for(const t of Object.keys(e))Zn.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:r(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=cs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(cs);const hs={...cs.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},ds={...cs.DefaultType,content:"(null|string|element|function)"};class us extends cs{static get Default(){return hs}static get DefaultType(){return ds}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=us.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(us);const fs=".bs.scrollspy",ps=`activate${fs}`,ms=`click${fs}`,gs=`load${fs}.data-api`,_s="active",bs="[href]",vs=".nav-link",ys=`${vs}, .nav-item > ${vs}, .list-group-item`,ws={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},As={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Es extends W{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return ws}static get DefaultType(){return As}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=r(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(N.off(this._config.target,ms),N.on(this._config.target,ms,bs,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=z.find(bs,this._config.target);for(const e of t){if(!e.hash||l(e))continue;const t=z.findOne(decodeURI(e.hash),this._element);a(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(_s),this._activateParents(t),N.trigger(this._element,ps,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))z.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(_s);else for(const e of z.parents(t,".nav, .list-group"))for(const t of z.prev(e,ys))t.classList.add(_s)}_clearActiveClass(t){t.classList.remove(_s);const e=z.find(`${bs}.${_s}`,t);for(const t of e)t.classList.remove(_s)}static jQueryInterface(t){return this.each((function(){const e=Es.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(window,gs,(()=>{for(const t of z.find('[data-bs-spy="scroll"]'))Es.getOrCreateInstance(t)})),m(Es);const Ts=".bs.tab",Cs=`hide${Ts}`,Os=`hidden${Ts}`,xs=`show${Ts}`,ks=`shown${Ts}`,Ls=`click${Ts}`,Ss=`keydown${Ts}`,Ds=`load${Ts}`,$s="ArrowLeft",Is="ArrowRight",Ns="ArrowUp",Ps="ArrowDown",js="Home",Ms="End",Fs="active",Hs="fade",Ws="show",Bs=".dropdown-toggle",zs=`:not(${Bs})`,Rs='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',qs=`.nav-link${zs}, .list-group-item${zs}, [role="tab"]${zs}, ${Rs}`,Vs=`.${Fs}[data-bs-toggle="tab"], .${Fs}[data-bs-toggle="pill"], .${Fs}[data-bs-toggle="list"]`;class Ks extends W{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),N.on(this._element,Ss,(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?N.trigger(e,Cs,{relatedTarget:t}):null;N.trigger(t,xs,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(Fs),this._activate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),N.trigger(t,ks,{relatedTarget:e})):t.classList.add(Ws)}),t,t.classList.contains(Hs)))}_deactivate(t,e){t&&(t.classList.remove(Fs),t.blur(),this._deactivate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),N.trigger(t,Os,{relatedTarget:e})):t.classList.remove(Ws)}),t,t.classList.contains(Hs)))}_keydown(t){if(![$s,Is,Ns,Ps,js,Ms].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter((t=>!l(t)));let i;if([js,Ms].includes(t.key))i=e[t.key===js?0:e.length-1];else{const n=[Is,Ps].includes(t.key);i=b(e,t.target,n,!0)}i&&(i.focus({preventScroll:!0}),Ks.getOrCreateInstance(i).show())}_getChildren(){return z.find(qs,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=z.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=z.findOne(t,i);s&&s.classList.toggle(n,e)};n(Bs,Fs),n(".dropdown-menu",Ws),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(Fs)}_getInnerElement(t){return t.matches(qs)?t:z.findOne(qs,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=Ks.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(document,Ls,Rs,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this)||Ks.getOrCreateInstance(this).show()})),N.on(window,Ds,(()=>{for(const t of z.find(Vs))Ks.getOrCreateInstance(t)})),m(Ks);const Qs=".bs.toast",Xs=`mouseover${Qs}`,Ys=`mouseout${Qs}`,Us=`focusin${Qs}`,Gs=`focusout${Qs}`,Js=`hide${Qs}`,Zs=`hidden${Qs}`,to=`show${Qs}`,eo=`shown${Qs}`,io="hide",no="show",so="showing",oo={animation:"boolean",autohide:"boolean",delay:"number"},ro={animation:!0,autohide:!0,delay:5e3};class ao extends W{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return ro}static get DefaultType(){return oo}static get NAME(){return"toast"}show(){N.trigger(this._element,to).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(io),d(this._element),this._element.classList.add(no,so),this._queueCallback((()=>{this._element.classList.remove(so),N.trigger(this._element,eo),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(N.trigger(this._element,Js).defaultPrevented||(this._element.classList.add(so),this._queueCallback((()=>{this._element.classList.add(io),this._element.classList.remove(so,no),N.trigger(this._element,Zs)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(no),super.dispose()}isShown(){return this._element.classList.contains(no)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){N.on(this._element,Xs,(t=>this._onInteraction(t,!0))),N.on(this._element,Ys,(t=>this._onInteraction(t,!1))),N.on(this._element,Us,(t=>this._onInteraction(t,!0))),N.on(this._element,Gs,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=ao.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return R(ao),m(ao),{Alert:Q,Button:Y,Carousel:xt,Collapse:Bt,Dropdown:qi,Modal:On,Offcanvas:qn,Popover:us,ScrollSpy:Es,Tab:Ks,Toast:ao,Tooltip:cs}})); +//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/public/lib/bootstrap.min.css b/public/lib/bootstrap.min.css new file mode 100644 index 0000000..3993414 --- /dev/null +++ b/public/lib/bootstrap.min.css @@ -0,0 +1,6 @@ +@charset "UTF-8";/*! + * Bootstrap v5.3.3 (https://getbootstrap.com/) + * Copyright 2011-2024 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), 0.05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), 0.1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b5b6b7;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::-moz-placeholder{color:var(--bs-secondary-color);opacity:1}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::-moz-placeholder,.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:not(:-moz-placeholder-shown),.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:not(:-moz-placeholder-shown)~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control-plaintext~label::after,.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after,.form-floating>.form-select~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:#6c757d}.form-floating>.form-control:disabled~label::after,.form-floating>:disabled~label::after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:0.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 0.2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}.accordion-flush>.accordion-item>.accordion-collapse{border-radius:0}[data-bs-theme=dark] .accordion-button::after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:0.75rem;--bs-pagination-padding-y:0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(var(--bs-border-width) * -1)}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:0.5rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:var(--bs-primary-text-emphasis);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text-emphasis);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color:var(--bs-info-text-emphasis);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color:var(--bs-dark-text-emphasis);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity:0.5;--bs-btn-close-hover-opacity:0.75;--bs-btn-close-focus-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;--bs-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{filter:var(--bs-btn-close-white-filter)}[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color: ;--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:0.9;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:0.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-border,.spinner-grow{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform 0.3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin:calc(-.5 * var(--bs-offcanvas-padding-y)) calc(-.5 * var(--bs-offcanvas-padding-x)) calc(-.5 * var(--bs-offcanvas-padding-y)) auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(10,88,202,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(86,94,100,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(20,108,67,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(61,213,243,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(255,205,57,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(249,250,251,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-underline-offset:0.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10{--bs-link-opacity:0.1}.link-opacity-10-hover:hover{--bs-link-opacity:0.1}.link-opacity-25{--bs-link-opacity:0.25}.link-opacity-25-hover:hover{--bs-link-opacity:0.25}.link-opacity-50{--bs-link-opacity:0.5}.link-opacity-50-hover:hover{--bs-link-opacity:0.5}.link-opacity-75{--bs-link-opacity:0.75}.link-opacity-75-hover:hover{--bs-link-opacity:0.75}.link-opacity-100{--bs-link-opacity:1}.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1{text-underline-offset:0.125em!important}.link-offset-1-hover:hover{text-underline-offset:0.125em!important}.link-offset-2{text-underline-offset:0.25em!important}.link-offset-2-hover:hover{text-underline-offset:0.25em!important}.link-offset-3{text-underline-offset:0.375em!important}.link-offset-3-hover:hover{text-underline-offset:0.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0{--bs-link-underline-opacity:0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10{--bs-link-underline-opacity:0.1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:0.1}.link-underline-opacity-25{--bs-link-underline-opacity:0.25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:0.25}.link-underline-opacity-50{--bs-link-underline-opacity:0.5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:0.5}.link-underline-opacity-75{--bs-link-underline-opacity:0.75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:0.75}.link-underline-opacity-100{--bs-link-underline-opacity:1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/public/lib/cpexcel.js b/public/lib/cpexcel.js new file mode 100644 index 0000000..4f195eb --- /dev/null +++ b/public/lib/cpexcel.js @@ -0,0 +1,1506 @@ +/*! cpexcel.js (C) 2013-present SheetJS -- http://sheetjs.com */ +/*jshint -W100 */ +var cptable = {version:"1.15.0"}; +cptable[437] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); +cptable[620] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàąçêëèïîćÄĄĘęłôöĆûùŚÖܢ٥śƒŹŻóÓńŃźż¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); +cptable[737] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρσςτυφχψ░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ωάέήϊίόύϋώΆΈΉΊΌΎΏ±≥≤ΪΫ÷≈°∙·√ⁿ²■ ", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); +cptable[850] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø×ƒáíóúñѪº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈıÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýݯ´­±‗¾¶§÷¸°¨·¹³²■ ", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); +cptable[852] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäůćçłëŐőîŹÄĆÉĹĺôöĽľŚśÖÜŤťŁ×čáíóúĄąŽžĘ꬟Ⱥ«»░▒▓│┤ÁÂĚŞ╣║╗╝Żż┐└┴┬├─┼Ăă╚╔╩╦╠═╬¤đĐĎËďŇÍÎě┘┌█▄ŢŮ▀ÓßÔŃńňŠšŔÚŕŰýÝţ´­˝˛ˇ˘§÷¸°¨˙űŘř■ ", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); +cptable[857] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîıÄÅÉæÆôöòûùİÖÜø£ØŞşáíóúñÑĞ𿮬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ºªÊËÈ�ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµ�×ÚÛÙìÿ¯´­±�¾¶§÷¸°¨·¹³²■ ", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); +cptable[861] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèÐðÞÄÅÉæÆôöþûÝýÖÜø£Ø₧ƒáíóúÁÍÓÚ¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); +cptable[865] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø₧ƒáíóúñѪº¿⌐¬½¼¡«¤░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); +cptable[866] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■ ", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); +cptable[874] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€����…�����������‘’“”•–—�������� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); +cptable[895] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ČüéďäĎŤčěĚĹÍľǪÄÁÉžŽôöÓůÚýÖÜŠĽÝŘťáíóúňŇŮÔšřŕŔ¼§«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); +cptable[932] = (function(){ var d = [], e = {}, D = [], j; +D[0] = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~���������������������������������。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙゚��������������������������������".split(""); +for(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];} +D[129] = "���������������������������������������������������������������� 、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/\~∥|…‥‘’“”()〔〕[]{}〈〉《》「」『』【】+-±×�÷=≠<>≦≧∞∴♂♀°′″℃¥$¢£%#&*@§☆★○●◎◇◆□■△▲▽▼※〒→←↑↓〓�����������∈∋⊆⊇⊂⊃∪∩��������∧∨¬⇒⇔∀∃�����������∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬�������ʼn♯♭♪†‡¶����◯���".split(""); +for(j = 0; j != D[129].length; ++j) if(D[129][j].charCodeAt(0) !== 0xFFFD) { e[D[129][j]] = 33024 + j; d[33024 + j] = D[129][j];} +D[130] = "�������������������������������������������������������������������������������0123456789�������ABCDEFGHIJKLMNOPQRSTUVWXYZ�������abcdefghijklmnopqrstuvwxyz����ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん��������������".split(""); +for(j = 0; j != D[130].length; ++j) if(D[130][j].charCodeAt(0) !== 0xFFFD) { e[D[130][j]] = 33280 + j; d[33280 + j] = D[130][j];} +D[131] = "����������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミ�ムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ��������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�����������������������������������������".split(""); +for(j = 0; j != D[131].length; ++j) if(D[131][j].charCodeAt(0) !== 0xFFFD) { e[D[131][j]] = 33536 + j; d[33536 + j] = D[131][j];} +D[132] = "����������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмн�опрстуфхцчшщъыьэюя�������������─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂�����������������������������������������������������������������".split(""); +for(j = 0; j != D[132].length; ++j) if(D[132][j].charCodeAt(0) !== 0xFFFD) { e[D[132][j]] = 33792 + j; d[33792 + j] = D[132][j];} +D[135] = "����������������������������������������������������������������①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ�㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡��������㍻�〝〟№㏍℡㊤㊥㊦㊧㊨㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪���������������������������������������������������������������������������������������������������".split(""); +for(j = 0; j != D[135].length; ++j) if(D[135][j].charCodeAt(0) !== 0xFFFD) { e[D[135][j]] = 34560 + j; d[34560 + j] = D[135][j];} +D[136] = "���������������������������������������������������������������������������������������������������������������������������������������������������������������亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭���".split(""); +for(j = 0; j != D[136].length; ++j) if(D[136][j].charCodeAt(0) !== 0xFFFD) { e[D[136][j]] = 34816 + j; d[34816 + j] = D[136][j];} +D[137] = "����������������������������������������������������������������院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円�園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改���".split(""); +for(j = 0; j != D[137].length; ++j) if(D[137][j].charCodeAt(0) !== 0xFFFD) { e[D[137][j]] = 35072 + j; d[35072 + j] = D[137][j];} +D[138] = "����������������������������������������������������������������魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫�橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄���".split(""); +for(j = 0; j != D[138].length; ++j) if(D[138][j].charCodeAt(0) !== 0xFFFD) { e[D[138][j]] = 35328 + j; d[35328 + j] = D[138][j];} +D[139] = "����������������������������������������������������������������機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救�朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈���".split(""); +for(j = 0; j != D[139].length; ++j) if(D[139][j].charCodeAt(0) !== 0xFFFD) { e[D[139][j]] = 35584 + j; d[35584 + j] = D[139][j];} +D[140] = "����������������������������������������������������������������掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨�劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向���".split(""); +for(j = 0; j != D[140].length; ++j) if(D[140][j].charCodeAt(0) !== 0xFFFD) { e[D[140][j]] = 35840 + j; d[35840 + j] = D[140][j];} +D[141] = "����������������������������������������������������������������后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降�項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷���".split(""); +for(j = 0; j != D[141].length; ++j) if(D[141][j].charCodeAt(0) !== 0xFFFD) { e[D[141][j]] = 36096 + j; d[36096 + j] = D[141][j];} +D[142] = "����������������������������������������������������������������察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止�死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周���".split(""); +for(j = 0; j != D[142].length; ++j) if(D[142][j].charCodeAt(0) !== 0xFFFD) { e[D[142][j]] = 36352 + j; d[36352 + j] = D[142][j];} +D[143] = "����������������������������������������������������������������宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳�準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾���".split(""); +for(j = 0; j != D[143].length; ++j) if(D[143][j].charCodeAt(0) !== 0xFFFD) { e[D[143][j]] = 36608 + j; d[36608 + j] = D[143][j];} +D[144] = "����������������������������������������������������������������拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨�逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線���".split(""); +for(j = 0; j != D[144].length; ++j) if(D[144][j].charCodeAt(0) !== 0xFFFD) { e[D[144][j]] = 36864 + j; d[36864 + j] = D[144][j];} +D[145] = "����������������������������������������������������������������繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻�操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只���".split(""); +for(j = 0; j != D[145].length; ++j) if(D[145][j].charCodeAt(0) !== 0xFFFD) { e[D[145][j]] = 37120 + j; d[37120 + j] = D[145][j];} +D[146] = "����������������������������������������������������������������叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄�逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓���".split(""); +for(j = 0; j != D[146].length; ++j) if(D[146][j].charCodeAt(0) !== 0xFFFD) { e[D[146][j]] = 37376 + j; d[37376 + j] = D[146][j];} +D[147] = "����������������������������������������������������������������邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬�凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入���".split(""); +for(j = 0; j != D[147].length; ++j) if(D[147][j].charCodeAt(0) !== 0xFFFD) { e[D[147][j]] = 37632 + j; d[37632 + j] = D[147][j];} +D[148] = "����������������������������������������������������������������如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅�楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美���".split(""); +for(j = 0; j != D[148].length; ++j) if(D[148][j].charCodeAt(0) !== 0xFFFD) { e[D[148][j]] = 37888 + j; d[37888 + j] = D[148][j];} +D[149] = "����������������������������������������������������������������鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷�斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋���".split(""); +for(j = 0; j != D[149].length; ++j) if(D[149][j].charCodeAt(0) !== 0xFFFD) { e[D[149][j]] = 38144 + j; d[38144 + j] = D[149][j];} +D[150] = "����������������������������������������������������������������法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆�摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒���".split(""); +for(j = 0; j != D[150].length; ++j) if(D[150][j].charCodeAt(0) !== 0xFFFD) { e[D[150][j]] = 38400 + j; d[38400 + j] = D[150][j];} +D[151] = "����������������������������������������������������������������諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲�沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯���".split(""); +for(j = 0; j != D[151].length; ++j) if(D[151][j].charCodeAt(0) !== 0xFFFD) { e[D[151][j]] = 38656 + j; d[38656 + j] = D[151][j];} +D[152] = "����������������������������������������������������������������蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕��������������������������������������������弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲���".split(""); +for(j = 0; j != D[152].length; ++j) if(D[152][j].charCodeAt(0) !== 0xFFFD) { e[D[152][j]] = 38912 + j; d[38912 + j] = D[152][j];} +D[153] = "����������������������������������������������������������������僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭�凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨���".split(""); +for(j = 0; j != D[153].length; ++j) if(D[153][j].charCodeAt(0) !== 0xFFFD) { e[D[153][j]] = 39168 + j; d[39168 + j] = D[153][j];} +D[154] = "����������������������������������������������������������������咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸�噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩���".split(""); +for(j = 0; j != D[154].length; ++j) if(D[154][j].charCodeAt(0) !== 0xFFFD) { e[D[154][j]] = 39424 + j; d[39424 + j] = D[154][j];} +D[155] = "����������������������������������������������������������������奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀�它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏���".split(""); +for(j = 0; j != D[155].length; ++j) if(D[155][j].charCodeAt(0) !== 0xFFFD) { e[D[155][j]] = 39680 + j; d[39680 + j] = D[155][j];} +D[156] = "����������������������������������������������������������������廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠�怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛���".split(""); +for(j = 0; j != D[156].length; ++j) if(D[156][j].charCodeAt(0) !== 0xFFFD) { e[D[156][j]] = 39936 + j; d[39936 + j] = D[156][j];} +D[157] = "����������������������������������������������������������������戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫�捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼���".split(""); +for(j = 0; j != D[157].length; ++j) if(D[157][j].charCodeAt(0) !== 0xFFFD) { e[D[157][j]] = 40192 + j; d[40192 + j] = D[157][j];} +D[158] = "����������������������������������������������������������������曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎�梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣���".split(""); +for(j = 0; j != D[158].length; ++j) if(D[158][j].charCodeAt(0) !== 0xFFFD) { e[D[158][j]] = 40448 + j; d[40448 + j] = D[158][j];} +D[159] = "����������������������������������������������������������������檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯�麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌���".split(""); +for(j = 0; j != D[159].length; ++j) if(D[159][j].charCodeAt(0) !== 0xFFFD) { e[D[159][j]] = 40704 + j; d[40704 + j] = D[159][j];} +D[224] = "����������������������������������������������������������������漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝�烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱���".split(""); +for(j = 0; j != D[224].length; ++j) if(D[224][j].charCodeAt(0) !== 0xFFFD) { e[D[224][j]] = 57344 + j; d[57344 + j] = D[224][j];} +D[225] = "����������������������������������������������������������������瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿�痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬���".split(""); +for(j = 0; j != D[225].length; ++j) if(D[225][j].charCodeAt(0) !== 0xFFFD) { e[D[225][j]] = 57600 + j; d[57600 + j] = D[225][j];} +D[226] = "����������������������������������������������������������������磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰�窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆���".split(""); +for(j = 0; j != D[226].length; ++j) if(D[226][j].charCodeAt(0) !== 0xFFFD) { e[D[226][j]] = 57856 + j; d[57856 + j] = D[226][j];} +D[227] = "����������������������������������������������������������������紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷�縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋���".split(""); +for(j = 0; j != D[227].length; ++j) if(D[227][j].charCodeAt(0) !== 0xFFFD) { e[D[227][j]] = 58112 + j; d[58112 + j] = D[227][j];} +D[228] = "����������������������������������������������������������������隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤�艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈���".split(""); +for(j = 0; j != D[228].length; ++j) if(D[228][j].charCodeAt(0) !== 0xFFFD) { e[D[228][j]] = 58368 + j; d[58368 + j] = D[228][j];} +D[229] = "����������������������������������������������������������������蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬�蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞���".split(""); +for(j = 0; j != D[229].length; ++j) if(D[229][j].charCodeAt(0) !== 0xFFFD) { e[D[229][j]] = 58624 + j; d[58624 + j] = D[229][j];} +D[230] = "����������������������������������������������������������������襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧�諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊���".split(""); +for(j = 0; j != D[230].length; ++j) if(D[230][j].charCodeAt(0) !== 0xFFFD) { e[D[230][j]] = 58880 + j; d[58880 + j] = D[230][j];} +D[231] = "����������������������������������������������������������������蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜�轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮���".split(""); +for(j = 0; j != D[231].length; ++j) if(D[231][j].charCodeAt(0) !== 0xFFFD) { e[D[231][j]] = 59136 + j; d[59136 + j] = D[231][j];} +D[232] = "����������������������������������������������������������������錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙�閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰���".split(""); +for(j = 0; j != D[232].length; ++j) if(D[232][j].charCodeAt(0) !== 0xFFFD) { e[D[232][j]] = 59392 + j; d[59392 + j] = D[232][j];} +D[233] = "����������������������������������������������������������������顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃�騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈���".split(""); +for(j = 0; j != D[233].length; ++j) if(D[233][j].charCodeAt(0) !== 0xFFFD) { e[D[233][j]] = 59648 + j; d[59648 + j] = D[233][j];} +D[234] = "����������������������������������������������������������������鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯�黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠堯槇遙瑤凜熙�������������������������������������������������������������������������������������������".split(""); +for(j = 0; j != D[234].length; ++j) if(D[234][j].charCodeAt(0) !== 0xFFFD) { e[D[234][j]] = 59904 + j; d[59904 + j] = D[234][j];} +D[237] = "����������������������������������������������������������������纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏�塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱���".split(""); +for(j = 0; j != D[237].length; ++j) if(D[237][j].charCodeAt(0) !== 0xFFFD) { e[D[237][j]] = 60672 + j; d[60672 + j] = D[237][j];} +D[238] = "����������������������������������������������������������������犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙�蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑��ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ¬¦'"���".split(""); +for(j = 0; j != D[238].length; ++j) if(D[238][j].charCodeAt(0) !== 0xFFFD) { e[D[238][j]] = 60928 + j; d[60928 + j] = D[238][j];} +D[250] = "����������������������������������������������������������������ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ¬¦'"㈱№℡∵纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊�兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯���".split(""); +for(j = 0; j != D[250].length; ++j) if(D[250][j].charCodeAt(0) !== 0xFFFD) { e[D[250][j]] = 64000 + j; d[64000 + j] = D[250][j];} +D[251] = "����������������������������������������������������������������涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神�祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙���".split(""); +for(j = 0; j != D[251].length; ++j) if(D[251][j].charCodeAt(0) !== 0xFFFD) { e[D[251][j]] = 64256 + j; d[64256 + j] = D[251][j];} +D[252] = "����������������������������������������������������������������髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������".split(""); +for(j = 0; j != D[252].length; ++j) if(D[252][j].charCodeAt(0) !== 0xFFFD) { e[D[252][j]] = 64512 + j; d[64512 + j] = D[252][j];} +return {"enc": e, "dec": d }; })(); +cptable[936] = (function(){ var d = [], e = {}, D = [], j; +D[0] = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�������������������������������������������������������������������������������������������������������������������������������".split(""); +for(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];} +D[129] = "����������������������������������������������������������������丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳丵丷丼乀乁乂乄乆乊乑乕乗乚乛乢乣乤乥乧乨乪乫乬乭乮乯乲乴乵乶乷乸乹乺乻乼乽乿亀亁亂亃亄亅亇亊�亐亖亗亙亜亝亞亣亪亯亰亱亴亶亷亸亹亼亽亾仈仌仏仐仒仚仛仜仠仢仦仧仩仭仮仯仱仴仸仹仺仼仾伀伂伃伄伅伆伇伈伋伌伒伓伔伕伖伜伝伡伣伨伩伬伭伮伱伳伵伷伹伻伾伿佀佁佂佄佅佇佈佉佊佋佌佒佔佖佡佢佦佨佪佫佭佮佱佲併佷佸佹佺佽侀侁侂侅來侇侊侌侎侐侒侓侕侖侘侙侚侜侞侟価侢�".split(""); +for(j = 0; j != D[129].length; ++j) if(D[129][j].charCodeAt(0) !== 0xFFFD) { e[D[129][j]] = 33024 + j; d[33024 + j] = D[129][j];} +D[130] = "����������������������������������������������������������������侤侫侭侰侱侲侳侴侶侷侸侹侺侻侼侽侾俀俁係俆俇俈俉俋俌俍俒俓俔俕俖俙俛俠俢俤俥俧俫俬俰俲俴俵俶俷俹俻俼俽俿倀倁倂倃倄倅倆倇倈倉倊�個倎倐們倓倕倖倗倛倝倞倠倢倣値倧倫倯倰倱倲倳倴倵倶倷倸倹倻倽倿偀偁偂偄偅偆偉偊偋偍偐偑偒偓偔偖偗偘偙偛偝偞偟偠偡偢偣偤偦偧偨偩偪偫偭偮偯偰偱偲偳側偵偸偹偺偼偽傁傂傃傄傆傇傉傊傋傌傎傏傐傑傒傓傔傕傖傗傘備傚傛傜傝傞傟傠傡傢傤傦傪傫傭傮傯傰傱傳傴債傶傷傸傹傼�".split(""); +for(j = 0; j != D[130].length; ++j) if(D[130][j].charCodeAt(0) !== 0xFFFD) { e[D[130][j]] = 33280 + j; d[33280 + j] = D[130][j];} +D[131] = "����������������������������������������������������������������傽傾傿僀僁僂僃僄僅僆僇僈僉僊僋僌働僎僐僑僒僓僔僕僗僘僙僛僜僝僞僟僠僡僢僣僤僥僨僩僪僫僯僰僱僲僴僶僷僸價僺僼僽僾僿儀儁儂儃億儅儈�儉儊儌儍儎儏儐儑儓儔儕儖儗儘儙儚儛儜儝儞償儠儢儣儤儥儦儧儨儩優儫儬儭儮儯儰儱儲儳儴儵儶儷儸儹儺儻儼儽儾兂兇兊兌兎兏児兒兓兗兘兙兛兝兞兟兠兡兣兤兦內兩兪兯兲兺兾兿冃冄円冇冊冋冎冏冐冑冓冔冘冚冝冞冟冡冣冦冧冨冩冪冭冮冴冸冹冺冾冿凁凂凃凅凈凊凍凎凐凒凓凔凕凖凗�".split(""); +for(j = 0; j != D[131].length; ++j) if(D[131][j].charCodeAt(0) !== 0xFFFD) { e[D[131][j]] = 33536 + j; d[33536 + j] = D[131][j];} +D[132] = "����������������������������������������������������������������凘凙凚凜凞凟凢凣凥処凧凨凩凪凬凮凱凲凴凷凾刄刅刉刋刌刏刐刓刔刕刜刞刟刡刢刣別刦刧刪刬刯刱刲刴刵刼刾剄剅剆則剈剉剋剎剏剒剓剕剗剘�剙剚剛剝剟剠剢剣剤剦剨剫剬剭剮剰剱剳剴創剶剷剸剹剺剻剼剾劀劃劄劅劆劇劉劊劋劌劍劎劏劑劒劔劕劖劗劘劙劚劜劤劥劦劧劮劯劰労劵劶劷劸効劺劻劼劽勀勁勂勄勅勆勈勊勌勍勎勏勑勓勔動勗務勚勛勜勝勞勠勡勢勣勥勦勧勨勩勪勫勬勭勮勯勱勲勳勴勵勶勷勸勻勼勽匁匂匃匄匇匉匊匋匌匎�".split(""); +for(j = 0; j != D[132].length; ++j) if(D[132][j].charCodeAt(0) !== 0xFFFD) { e[D[132][j]] = 33792 + j; d[33792 + j] = D[132][j];} +D[133] = "����������������������������������������������������������������匑匒匓匔匘匛匜匞匟匢匤匥匧匨匩匫匬匭匯匰匱匲匳匴匵匶匷匸匼匽區卂卄卆卋卌卍卐協単卙卛卝卥卨卪卬卭卲卶卹卻卼卽卾厀厁厃厇厈厊厎厏�厐厑厒厓厔厖厗厙厛厜厞厠厡厤厧厪厫厬厭厯厰厱厲厳厴厵厷厸厹厺厼厽厾叀參叄叅叆叇収叏叐叒叓叕叚叜叝叞叡叢叧叴叺叾叿吀吂吅吇吋吔吘吙吚吜吢吤吥吪吰吳吶吷吺吽吿呁呂呄呅呇呉呌呍呎呏呑呚呝呞呟呠呡呣呥呧呩呪呫呬呭呮呯呰呴呹呺呾呿咁咃咅咇咈咉咊咍咑咓咗咘咜咞咟咠咡�".split(""); +for(j = 0; j != D[133].length; ++j) if(D[133][j].charCodeAt(0) !== 0xFFFD) { e[D[133][j]] = 34048 + j; d[34048 + j] = D[133][j];} +D[134] = "����������������������������������������������������������������咢咥咮咰咲咵咶咷咹咺咼咾哃哅哊哋哖哘哛哠員哢哣哤哫哬哯哰哱哴哵哶哷哸哹哻哾唀唂唃唄唅唈唊唋唌唍唎唒唓唕唖唗唘唙唚唜唝唞唟唡唥唦�唨唩唫唭唲唴唵唶唸唹唺唻唽啀啂啅啇啈啋啌啍啎問啑啒啓啔啗啘啙啚啛啝啞啟啠啢啣啨啩啫啯啰啱啲啳啴啹啺啽啿喅喆喌喍喎喐喒喓喕喖喗喚喛喞喠喡喢喣喤喥喦喨喩喪喫喬喭單喯喰喲喴営喸喺喼喿嗀嗁嗂嗃嗆嗇嗈嗊嗋嗎嗏嗐嗕嗗嗘嗙嗚嗛嗞嗠嗢嗧嗩嗭嗮嗰嗱嗴嗶嗸嗹嗺嗻嗼嗿嘂嘃嘄嘅�".split(""); +for(j = 0; j != D[134].length; ++j) if(D[134][j].charCodeAt(0) !== 0xFFFD) { e[D[134][j]] = 34304 + j; d[34304 + j] = D[134][j];} +D[135] = "����������������������������������������������������������������嘆嘇嘊嘋嘍嘐嘑嘒嘓嘔嘕嘖嘗嘙嘚嘜嘝嘠嘡嘢嘥嘦嘨嘩嘪嘫嘮嘯嘰嘳嘵嘷嘸嘺嘼嘽嘾噀噁噂噃噄噅噆噇噈噉噊噋噏噐噑噒噓噕噖噚噛噝噞噟噠噡�噣噥噦噧噭噮噯噰噲噳噴噵噷噸噹噺噽噾噿嚀嚁嚂嚃嚄嚇嚈嚉嚊嚋嚌嚍嚐嚑嚒嚔嚕嚖嚗嚘嚙嚚嚛嚜嚝嚞嚟嚠嚡嚢嚤嚥嚦嚧嚨嚩嚪嚫嚬嚭嚮嚰嚱嚲嚳嚴嚵嚶嚸嚹嚺嚻嚽嚾嚿囀囁囂囃囄囅囆囇囈囉囋囌囍囎囏囐囑囒囓囕囖囘囙囜団囥囦囧囨囩囪囬囮囯囲図囶囷囸囻囼圀圁圂圅圇國圌圍圎圏圐圑�".split(""); +for(j = 0; j != D[135].length; ++j) if(D[135][j].charCodeAt(0) !== 0xFFFD) { e[D[135][j]] = 34560 + j; d[34560 + j] = D[135][j];} +D[136] = "����������������������������������������������������������������園圓圔圕圖圗團圙圚圛圝圞圠圡圢圤圥圦圧圫圱圲圴圵圶圷圸圼圽圿坁坃坄坅坆坈坉坋坒坓坔坕坖坘坙坢坣坥坧坬坮坰坱坲坴坵坸坹坺坽坾坿垀�垁垇垈垉垊垍垎垏垐垑垔垕垖垗垘垙垚垜垝垞垟垥垨垪垬垯垰垱垳垵垶垷垹垺垻垼垽垾垿埀埁埄埅埆埇埈埉埊埌埍埐埑埓埖埗埛埜埞埡埢埣埥埦埧埨埩埪埫埬埮埰埱埲埳埵埶執埻埼埾埿堁堃堄堅堈堉堊堌堎堏堐堒堓堔堖堗堘堚堛堜堝堟堢堣堥堦堧堨堩堫堬堭堮堯報堲堳場堶堷堸堹堺堻堼堽�".split(""); +for(j = 0; j != D[136].length; ++j) if(D[136][j].charCodeAt(0) !== 0xFFFD) { e[D[136][j]] = 34816 + j; d[34816 + j] = D[136][j];} +D[137] = "����������������������������������������������������������������堾堿塀塁塂塃塅塆塇塈塉塊塋塎塏塐塒塓塕塖塗塙塚塛塜塝塟塠塡塢塣塤塦塧塨塩塪塭塮塯塰塱塲塳塴塵塶塷塸塹塺塻塼塽塿墂墄墆墇墈墊墋墌�墍墎墏墐墑墔墕墖増墘墛墜墝墠墡墢墣墤墥墦墧墪墫墬墭墮墯墰墱墲墳墴墵墶墷墸墹墺墻墽墾墿壀壂壃壄壆壇壈壉壊壋壌壍壎壏壐壒壓壔壖壗壘壙壚壛壜壝壞壟壠壡壢壣壥壦壧壨壩壪壭壯壱売壴壵壷壸壺壻壼壽壾壿夀夁夃夅夆夈変夊夋夌夎夐夑夒夓夗夘夛夝夞夠夡夢夣夦夨夬夰夲夳夵夶夻�".split(""); +for(j = 0; j != D[137].length; ++j) if(D[137][j].charCodeAt(0) !== 0xFFFD) { e[D[137][j]] = 35072 + j; d[35072 + j] = D[137][j];} +D[138] = "����������������������������������������������������������������夽夾夿奀奃奅奆奊奌奍奐奒奓奙奛奜奝奞奟奡奣奤奦奧奨奩奪奫奬奭奮奯奰奱奲奵奷奺奻奼奾奿妀妅妉妋妌妎妏妐妑妔妕妘妚妛妜妝妟妠妡妢妦�妧妬妭妰妱妳妴妵妶妷妸妺妼妽妿姀姁姂姃姄姅姇姈姉姌姍姎姏姕姖姙姛姞姟姠姡姢姤姦姧姩姪姫姭姮姯姰姱姲姳姴姵姶姷姸姺姼姽姾娀娂娊娋娍娎娏娐娒娔娕娖娗娙娚娛娝娞娡娢娤娦娧娨娪娫娬娭娮娯娰娳娵娷娸娹娺娻娽娾娿婁婂婃婄婅婇婈婋婌婍婎婏婐婑婒婓婔婖婗婘婙婛婜婝婞婟婠�".split(""); +for(j = 0; j != D[138].length; ++j) if(D[138][j].charCodeAt(0) !== 0xFFFD) { e[D[138][j]] = 35328 + j; d[35328 + j] = D[138][j];} +D[139] = "����������������������������������������������������������������婡婣婤婥婦婨婩婫婬婭婮婯婰婱婲婳婸婹婻婼婽婾媀媁媂媃媄媅媆媇媈媉媊媋媌媍媎媏媐媑媓媔媕媖媗媘媙媜媝媞媟媠媡媢媣媤媥媦媧媨媩媫媬�媭媮媯媰媱媴媶媷媹媺媻媼媽媿嫀嫃嫄嫅嫆嫇嫈嫊嫋嫍嫎嫏嫐嫑嫓嫕嫗嫙嫚嫛嫝嫞嫟嫢嫤嫥嫧嫨嫪嫬嫭嫮嫯嫰嫲嫳嫴嫵嫶嫷嫸嫹嫺嫻嫼嫽嫾嫿嬀嬁嬂嬃嬄嬅嬆嬇嬈嬊嬋嬌嬍嬎嬏嬐嬑嬒嬓嬔嬕嬘嬙嬚嬛嬜嬝嬞嬟嬠嬡嬢嬣嬤嬥嬦嬧嬨嬩嬪嬫嬬嬭嬮嬯嬰嬱嬳嬵嬶嬸嬹嬺嬻嬼嬽嬾嬿孁孂孃孄孅孆孇�".split(""); +for(j = 0; j != D[139].length; ++j) if(D[139][j].charCodeAt(0) !== 0xFFFD) { e[D[139][j]] = 35584 + j; d[35584 + j] = D[139][j];} +D[140] = "����������������������������������������������������������������孈孉孊孋孌孍孎孏孒孖孞孠孡孧孨孫孭孮孯孲孴孶孷學孹孻孼孾孿宂宆宊宍宎宐宑宒宔宖実宧宨宩宬宭宮宯宱宲宷宺宻宼寀寁寃寈寉寊寋寍寎寏�寑寔寕寖寗寘寙寚寛寜寠寢寣實寧審寪寫寬寭寯寱寲寳寴寵寶寷寽対尀専尃尅將專尋尌對導尐尒尓尗尙尛尞尟尠尡尣尦尨尩尪尫尭尮尯尰尲尳尵尶尷屃屄屆屇屌屍屒屓屔屖屗屘屚屛屜屝屟屢層屧屨屩屪屫屬屭屰屲屳屴屵屶屷屸屻屼屽屾岀岃岄岅岆岇岉岊岋岎岏岒岓岕岝岞岟岠岡岤岥岦岧岨�".split(""); +for(j = 0; j != D[140].length; ++j) if(D[140][j].charCodeAt(0) !== 0xFFFD) { e[D[140][j]] = 35840 + j; d[35840 + j] = D[140][j];} +D[141] = "����������������������������������������������������������������岪岮岯岰岲岴岶岹岺岻岼岾峀峂峃峅峆峇峈峉峊峌峍峎峏峐峑峓峔峕峖峗峘峚峛峜峝峞峟峠峢峣峧峩峫峬峮峯峱峲峳峴峵島峷峸峹峺峼峽峾峿崀�崁崄崅崈崉崊崋崌崍崏崐崑崒崓崕崗崘崙崚崜崝崟崠崡崢崣崥崨崪崫崬崯崰崱崲崳崵崶崷崸崹崺崻崼崿嵀嵁嵂嵃嵄嵅嵆嵈嵉嵍嵎嵏嵐嵑嵒嵓嵔嵕嵖嵗嵙嵚嵜嵞嵟嵠嵡嵢嵣嵤嵥嵦嵧嵨嵪嵭嵮嵰嵱嵲嵳嵵嵶嵷嵸嵹嵺嵻嵼嵽嵾嵿嶀嶁嶃嶄嶅嶆嶇嶈嶉嶊嶋嶌嶍嶎嶏嶐嶑嶒嶓嶔嶕嶖嶗嶘嶚嶛嶜嶞嶟嶠�".split(""); +for(j = 0; j != D[141].length; ++j) if(D[141][j].charCodeAt(0) !== 0xFFFD) { e[D[141][j]] = 36096 + j; d[36096 + j] = D[141][j];} +D[142] = "����������������������������������������������������������������嶡嶢嶣嶤嶥嶦嶧嶨嶩嶪嶫嶬嶭嶮嶯嶰嶱嶲嶳嶴嶵嶶嶸嶹嶺嶻嶼嶽嶾嶿巀巁巂巃巄巆巇巈巉巊巋巌巎巏巐巑巒巓巔巕巖巗巘巙巚巜巟巠巣巤巪巬巭�巰巵巶巸巹巺巻巼巿帀帄帇帉帊帋帍帎帒帓帗帞帟帠帡帢帣帤帥帨帩帪師帬帯帰帲帳帴帵帶帹帺帾帿幀幁幃幆幇幈幉幊幋幍幎幏幐幑幒幓幖幗幘幙幚幜幝幟幠幣幤幥幦幧幨幩幪幫幬幭幮幯幰幱幵幷幹幾庁庂広庅庈庉庌庍庎庒庘庛庝庡庢庣庤庨庩庪庫庬庮庯庰庱庲庴庺庻庼庽庿廀廁廂廃廄廅�".split(""); +for(j = 0; j != D[142].length; ++j) if(D[142][j].charCodeAt(0) !== 0xFFFD) { e[D[142][j]] = 36352 + j; d[36352 + j] = D[142][j];} +D[143] = "����������������������������������������������������������������廆廇廈廋廌廍廎廏廐廔廕廗廘廙廚廜廝廞廟廠廡廢廣廤廥廦廧廩廫廬廭廮廯廰廱廲廳廵廸廹廻廼廽弅弆弇弉弌弍弎弐弒弔弖弙弚弜弝弞弡弢弣弤�弨弫弬弮弰弲弳弴張弶強弸弻弽弾弿彁彂彃彄彅彆彇彈彉彊彋彌彍彎彏彑彔彙彚彛彜彞彟彠彣彥彧彨彫彮彯彲彴彵彶彸彺彽彾彿徃徆徍徎徏徑従徔徖徚徛徝從徟徠徢徣徤徥徦徧復徫徬徯徰徱徲徳徴徶徸徹徺徻徾徿忀忁忂忇忈忊忋忎忓忔忕忚忛応忞忟忢忣忥忦忨忩忬忯忰忲忳忴忶忷忹忺忼怇�".split(""); +for(j = 0; j != D[143].length; ++j) if(D[143][j].charCodeAt(0) !== 0xFFFD) { e[D[143][j]] = 36608 + j; d[36608 + j] = D[143][j];} +D[144] = "����������������������������������������������������������������怈怉怋怌怐怑怓怗怘怚怞怟怢怣怤怬怭怮怰怱怲怳怴怶怷怸怹怺怽怾恀恄恅恆恇恈恉恊恌恎恏恑恓恔恖恗恘恛恜恞恟恠恡恥恦恮恱恲恴恵恷恾悀�悁悂悅悆悇悈悊悋悎悏悐悑悓悕悗悘悙悜悞悡悢悤悥悧悩悪悮悰悳悵悶悷悹悺悽悾悿惀惁惂惃惄惇惈惉惌惍惎惏惐惒惓惔惖惗惙惛惞惡惢惣惤惥惪惱惲惵惷惸惻惼惽惾惿愂愃愄愅愇愊愋愌愐愑愒愓愔愖愗愘愙愛愜愝愞愡愢愥愨愩愪愬愭愮愯愰愱愲愳愴愵愶愷愸愹愺愻愼愽愾慀慁慂慃慄慅慆�".split(""); +for(j = 0; j != D[144].length; ++j) if(D[144][j].charCodeAt(0) !== 0xFFFD) { e[D[144][j]] = 36864 + j; d[36864 + j] = D[144][j];} +D[145] = "����������������������������������������������������������������慇慉態慍慏慐慒慓慔慖慗慘慙慚慛慜慞慟慠慡慣慤慥慦慩慪慫慬慭慮慯慱慲慳慴慶慸慹慺慻慼慽慾慿憀憁憂憃憄憅憆憇憈憉憊憌憍憏憐憑憒憓憕�憖憗憘憙憚憛憜憞憟憠憡憢憣憤憥憦憪憫憭憮憯憰憱憲憳憴憵憶憸憹憺憻憼憽憿懀懁懃懄懅懆懇應懌懍懎懏懐懓懕懖懗懘懙懚懛懜懝懞懟懠懡懢懣懤懥懧懨懩懪懫懬懭懮懯懰懱懲懳懴懶懷懸懹懺懻懼懽懾戀戁戂戃戄戅戇戉戓戔戙戜戝戞戠戣戦戧戨戩戫戭戯戰戱戲戵戶戸戹戺戻戼扂扄扅扆扊�".split(""); +for(j = 0; j != D[145].length; ++j) if(D[145][j].charCodeAt(0) !== 0xFFFD) { e[D[145][j]] = 37120 + j; d[37120 + j] = D[145][j];} +D[146] = "����������������������������������������������������������������扏扐払扖扗扙扚扜扝扞扟扠扡扢扤扥扨扱扲扴扵扷扸扺扻扽抁抂抃抅抆抇抈抋抌抍抎抏抐抔抙抜抝択抣抦抧抩抪抭抮抯抰抲抳抴抶抷抸抺抾拀拁�拃拋拏拑拕拝拞拠拡拤拪拫拰拲拵拸拹拺拻挀挃挄挅挆挊挋挌挍挏挐挒挓挔挕挗挘挙挜挦挧挩挬挭挮挰挱挳挴挵挶挷挸挻挼挾挿捀捁捄捇捈捊捑捒捓捔捖捗捘捙捚捛捜捝捠捤捥捦捨捪捫捬捯捰捲捳捴捵捸捹捼捽捾捿掁掃掄掅掆掋掍掑掓掔掕掗掙掚掛掜掝掞掟採掤掦掫掯掱掲掵掶掹掻掽掿揀�".split(""); +for(j = 0; j != D[146].length; ++j) if(D[146][j].charCodeAt(0) !== 0xFFFD) { e[D[146][j]] = 37376 + j; d[37376 + j] = D[146][j];} +D[147] = "����������������������������������������������������������������揁揂揃揅揇揈揊揋揌揑揓揔揕揗揘揙揚換揜揝揟揢揤揥揦揧揨揫揬揮揯揰揱揳揵揷揹揺揻揼揾搃搄搆搇搈搉搊損搎搑搒搕搖搗搘搙搚搝搟搢搣搤�搥搧搨搩搫搮搯搰搱搲搳搵搶搷搸搹搻搼搾摀摂摃摉摋摌摍摎摏摐摑摓摕摖摗摙摚摛摜摝摟摠摡摢摣摤摥摦摨摪摫摬摮摯摰摱摲摳摴摵摶摷摻摼摽摾摿撀撁撃撆撈撉撊撋撌撍撎撏撐撓撔撗撘撚撛撜撝撟撠撡撢撣撥撦撧撨撪撫撯撱撲撳撴撶撹撻撽撾撿擁擃擄擆擇擈擉擊擋擌擏擑擓擔擕擖擙據�".split(""); +for(j = 0; j != D[147].length; ++j) if(D[147][j].charCodeAt(0) !== 0xFFFD) { e[D[147][j]] = 37632 + j; d[37632 + j] = D[147][j];} +D[148] = "����������������������������������������������������������������擛擜擝擟擠擡擣擥擧擨擩擪擫擬擭擮擯擰擱擲擳擴擵擶擷擸擹擺擻擼擽擾擿攁攂攃攄攅攆攇攈攊攋攌攍攎攏攐攑攓攔攕攖攗攙攚攛攜攝攞攟攠攡�攢攣攤攦攧攨攩攪攬攭攰攱攲攳攷攺攼攽敀敁敂敃敄敆敇敊敋敍敎敐敒敓敔敗敘敚敜敟敠敡敤敥敧敨敩敪敭敮敯敱敳敵敶數敹敺敻敼敽敾敿斀斁斂斃斄斅斆斈斉斊斍斎斏斒斔斕斖斘斚斝斞斠斢斣斦斨斪斬斮斱斲斳斴斵斶斷斸斺斻斾斿旀旂旇旈旉旊旍旐旑旓旔旕旘旙旚旛旜旝旞旟旡旣旤旪旫�".split(""); +for(j = 0; j != D[148].length; ++j) if(D[148][j].charCodeAt(0) !== 0xFFFD) { e[D[148][j]] = 37888 + j; d[37888 + j] = D[148][j];} +D[149] = "����������������������������������������������������������������旲旳旴旵旸旹旻旼旽旾旿昁昄昅昇昈昉昋昍昐昑昒昖昗昘昚昛昜昞昡昢昣昤昦昩昪昫昬昮昰昲昳昷昸昹昺昻昽昿晀時晄晅晆晇晈晉晊晍晎晐晑晘�晙晛晜晝晞晠晢晣晥晧晩晪晫晬晭晱晲晳晵晸晹晻晼晽晿暀暁暃暅暆暈暉暊暋暍暎暏暐暒暓暔暕暘暙暚暛暜暞暟暠暡暢暣暤暥暦暩暪暫暬暭暯暰暱暲暳暵暶暷暸暺暻暼暽暿曀曁曂曃曄曅曆曇曈曉曊曋曌曍曎曏曐曑曒曓曔曕曖曗曘曚曞曟曠曡曢曣曤曥曧曨曪曫曬曭曮曯曱曵曶書曺曻曽朁朂會�".split(""); +for(j = 0; j != D[149].length; ++j) if(D[149][j].charCodeAt(0) !== 0xFFFD) { e[D[149][j]] = 38144 + j; d[38144 + j] = D[149][j];} +D[150] = "����������������������������������������������������������������朄朅朆朇朌朎朏朑朒朓朖朘朙朚朜朞朠朡朢朣朤朥朧朩朮朰朲朳朶朷朸朹朻朼朾朿杁杄杅杇杊杋杍杒杔杕杗杘杙杚杛杝杢杣杤杦杧杫杬杮東杴杶�杸杹杺杻杽枀枂枃枅枆枈枊枌枍枎枏枑枒枓枔枖枙枛枟枠枡枤枦枩枬枮枱枲枴枹枺枻枼枽枾枿柀柂柅柆柇柈柉柊柋柌柍柎柕柖柗柛柟柡柣柤柦柧柨柪柫柭柮柲柵柶柷柸柹柺査柼柾栁栂栃栄栆栍栐栒栔栕栘栙栚栛栜栞栟栠栢栣栤栥栦栧栨栫栬栭栮栯栰栱栴栵栶栺栻栿桇桋桍桏桒桖桗桘桙桚桛�".split(""); +for(j = 0; j != D[150].length; ++j) if(D[150][j].charCodeAt(0) !== 0xFFFD) { e[D[150][j]] = 38400 + j; d[38400 + j] = D[150][j];} +D[151] = "����������������������������������������������������������������桜桝桞桟桪桬桭桮桯桰桱桲桳桵桸桹桺桻桼桽桾桿梀梂梄梇梈梉梊梋梌梍梎梐梑梒梔梕梖梘梙梚梛梜條梞梟梠梡梣梤梥梩梪梫梬梮梱梲梴梶梷梸�梹梺梻梼梽梾梿棁棃棄棅棆棇棈棊棌棎棏棐棑棓棔棖棗棙棛棜棝棞棟棡棢棤棥棦棧棨棩棪棫棬棭棯棲棳棴棶棷棸棻棽棾棿椀椂椃椄椆椇椈椉椊椌椏椑椓椔椕椖椗椘椙椚椛検椝椞椡椢椣椥椦椧椨椩椪椫椬椮椯椱椲椳椵椶椷椸椺椻椼椾楀楁楃楄楅楆楇楈楉楊楋楌楍楎楏楐楑楒楓楕楖楘楙楛楜楟�".split(""); +for(j = 0; j != D[151].length; ++j) if(D[151][j].charCodeAt(0) !== 0xFFFD) { e[D[151][j]] = 38656 + j; d[38656 + j] = D[151][j];} +D[152] = "����������������������������������������������������������������楡楢楤楥楧楨楩楪楬業楯楰楲楳楴極楶楺楻楽楾楿榁榃榅榊榋榌榎榏榐榑榒榓榖榗榙榚榝榞榟榠榡榢榣榤榥榦榩榪榬榮榯榰榲榳榵榶榸榹榺榼榽�榾榿槀槂槃槄槅槆槇槈槉構槍槏槑槒槓槕槖槗様槙槚槜槝槞槡槢槣槤槥槦槧槨槩槪槫槬槮槯槰槱槳槴槵槶槷槸槹槺槻槼槾樀樁樂樃樄樅樆樇樈樉樋樌樍樎樏樐樑樒樓樔樕樖標樚樛樜樝樞樠樢樣樤樥樦樧権樫樬樭樮樰樲樳樴樶樷樸樹樺樻樼樿橀橁橂橃橅橆橈橉橊橋橌橍橎橏橑橒橓橔橕橖橗橚�".split(""); +for(j = 0; j != D[152].length; ++j) if(D[152][j].charCodeAt(0) !== 0xFFFD) { e[D[152][j]] = 38912 + j; d[38912 + j] = D[152][j];} +D[153] = "����������������������������������������������������������������橜橝橞機橠橢橣橤橦橧橨橩橪橫橬橭橮橯橰橲橳橴橵橶橷橸橺橻橽橾橿檁檂檃檅檆檇檈檉檊檋檌檍檏檒檓檔檕檖檘檙檚檛檜檝檞檟檡檢檣檤檥檦�檧檨檪檭檮檯檰檱檲檳檴檵檶檷檸檹檺檻檼檽檾檿櫀櫁櫂櫃櫄櫅櫆櫇櫈櫉櫊櫋櫌櫍櫎櫏櫐櫑櫒櫓櫔櫕櫖櫗櫘櫙櫚櫛櫜櫝櫞櫟櫠櫡櫢櫣櫤櫥櫦櫧櫨櫩櫪櫫櫬櫭櫮櫯櫰櫱櫲櫳櫴櫵櫶櫷櫸櫹櫺櫻櫼櫽櫾櫿欀欁欂欃欄欅欆欇欈欉權欋欌欍欎欏欐欑欒欓欔欕欖欗欘欙欚欛欜欝欞欟欥欦欨欩欪欫欬欭欮�".split(""); +for(j = 0; j != D[153].length; ++j) if(D[153][j].charCodeAt(0) !== 0xFFFD) { e[D[153][j]] = 39168 + j; d[39168 + j] = D[153][j];} +D[154] = "����������������������������������������������������������������欯欰欱欳欴欵欶欸欻欼欽欿歀歁歂歄歅歈歊歋歍歎歏歐歑歒歓歔歕歖歗歘歚歛歜歝歞歟歠歡歨歩歫歬歭歮歯歰歱歲歳歴歵歶歷歸歺歽歾歿殀殅殈�殌殎殏殐殑殔殕殗殘殙殜殝殞殟殠殢殣殤殥殦殧殨殩殫殬殭殮殯殰殱殲殶殸殹殺殻殼殽殾毀毃毄毆毇毈毉毊毌毎毐毑毘毚毜毝毞毟毠毢毣毤毥毦毧毨毩毬毭毮毰毱毲毴毶毷毸毺毻毼毾毿氀氁氂氃氄氈氉氊氋氌氎氒気氜氝氞氠氣氥氫氬氭氱氳氶氷氹氺氻氼氾氿汃汄汅汈汋汌汍汎汏汑汒汓汖汘�".split(""); +for(j = 0; j != D[154].length; ++j) if(D[154][j].charCodeAt(0) !== 0xFFFD) { e[D[154][j]] = 39424 + j; d[39424 + j] = D[154][j];} +D[155] = "����������������������������������������������������������������汙汚汢汣汥汦汧汫汬汭汮汯汱汳汵汷汸決汻汼汿沀沄沇沊沋沍沎沑沒沕沖沗沘沚沜沝沞沠沢沨沬沯沰沴沵沶沷沺泀況泂泃泆泇泈泋泍泎泏泑泒泘�泙泚泜泝泟泤泦泧泩泬泭泲泴泹泿洀洂洃洅洆洈洉洊洍洏洐洑洓洔洕洖洘洜洝洟洠洡洢洣洤洦洨洩洬洭洯洰洴洶洷洸洺洿浀浂浄浉浌浐浕浖浗浘浛浝浟浡浢浤浥浧浨浫浬浭浰浱浲浳浵浶浹浺浻浽浾浿涀涁涃涄涆涇涊涋涍涏涐涒涖涗涘涙涚涜涢涥涬涭涰涱涳涴涶涷涹涺涻涼涽涾淁淂淃淈淉淊�".split(""); +for(j = 0; j != D[155].length; ++j) if(D[155][j].charCodeAt(0) !== 0xFFFD) { e[D[155][j]] = 39680 + j; d[39680 + j] = D[155][j];} +D[156] = "����������������������������������������������������������������淍淎淏淐淒淓淔淕淗淚淛淜淟淢淣淥淧淨淩淪淭淯淰淲淴淵淶淸淺淽淾淿渀渁渂渃渄渆渇済渉渋渏渒渓渕渘渙減渜渞渟渢渦渧渨渪測渮渰渱渳渵�渶渷渹渻渼渽渾渿湀湁湂湅湆湇湈湉湊湋湌湏湐湑湒湕湗湙湚湜湝湞湠湡湢湣湤湥湦湧湨湩湪湬湭湯湰湱湲湳湴湵湶湷湸湹湺湻湼湽満溁溂溄溇溈溊溋溌溍溎溑溒溓溔溕準溗溙溚溛溝溞溠溡溣溤溦溨溩溫溬溭溮溰溳溵溸溹溼溾溿滀滃滄滅滆滈滉滊滌滍滎滐滒滖滘滙滛滜滝滣滧滪滫滬滭滮滯�".split(""); +for(j = 0; j != D[156].length; ++j) if(D[156][j].charCodeAt(0) !== 0xFFFD) { e[D[156][j]] = 39936 + j; d[39936 + j] = D[156][j];} +D[157] = "����������������������������������������������������������������滰滱滲滳滵滶滷滸滺滻滼滽滾滿漀漁漃漄漅漇漈漊漋漌漍漎漐漑漒漖漗漘漙漚漛漜漝漞漟漡漢漣漥漦漧漨漬漮漰漲漴漵漷漸漹漺漻漼漽漿潀潁潂�潃潄潅潈潉潊潌潎潏潐潑潒潓潔潕潖潗潙潚潛潝潟潠潡潣潤潥潧潨潩潪潫潬潯潰潱潳潵潶潷潹潻潽潾潿澀澁澂澃澅澆澇澊澋澏澐澑澒澓澔澕澖澗澘澙澚澛澝澞澟澠澢澣澤澥澦澨澩澪澫澬澭澮澯澰澱澲澴澵澷澸澺澻澼澽澾澿濁濃濄濅濆濇濈濊濋濌濍濎濏濐濓濔濕濖濗濘濙濚濛濜濝濟濢濣濤濥�".split(""); +for(j = 0; j != D[157].length; ++j) if(D[157][j].charCodeAt(0) !== 0xFFFD) { e[D[157][j]] = 40192 + j; d[40192 + j] = D[157][j];} +D[158] = "����������������������������������������������������������������濦濧濨濩濪濫濬濭濰濱濲濳濴濵濶濷濸濹濺濻濼濽濾濿瀀瀁瀂瀃瀄瀅瀆瀇瀈瀉瀊瀋瀌瀍瀎瀏瀐瀒瀓瀔瀕瀖瀗瀘瀙瀜瀝瀞瀟瀠瀡瀢瀤瀥瀦瀧瀨瀩瀪�瀫瀬瀭瀮瀯瀰瀱瀲瀳瀴瀶瀷瀸瀺瀻瀼瀽瀾瀿灀灁灂灃灄灅灆灇灈灉灊灋灍灎灐灑灒灓灔灕灖灗灘灙灚灛灜灝灟灠灡灢灣灤灥灦灧灨灩灪灮灱灲灳灴灷灹灺灻災炁炂炃炄炆炇炈炋炌炍炏炐炑炓炗炘炚炛炞炟炠炡炢炣炤炥炦炧炨炩炪炰炲炴炵炶為炾炿烄烅烆烇烉烋烌烍烎烏烐烑烒烓烔烕烖烗烚�".split(""); +for(j = 0; j != D[158].length; ++j) if(D[158][j].charCodeAt(0) !== 0xFFFD) { e[D[158][j]] = 40448 + j; d[40448 + j] = D[158][j];} +D[159] = "����������������������������������������������������������������烜烝烞烠烡烢烣烥烪烮烰烱烲烳烴烵烶烸烺烻烼烾烿焀焁焂焃焄焅焆焇焈焋焌焍焎焏焑焒焔焗焛焜焝焞焟焠無焢焣焤焥焧焨焩焪焫焬焭焮焲焳焴�焵焷焸焹焺焻焼焽焾焿煀煁煂煃煄煆煇煈煉煋煍煏煐煑煒煓煔煕煖煗煘煙煚煛煝煟煠煡煢煣煥煩煪煫煬煭煯煰煱煴煵煶煷煹煻煼煾煿熀熁熂熃熅熆熇熈熉熋熌熍熎熐熑熒熓熕熖熗熚熛熜熝熞熡熢熣熤熥熦熧熩熪熫熭熮熯熰熱熲熴熶熷熸熺熻熼熽熾熿燀燁燂燄燅燆燇燈燉燊燋燌燍燏燐燑燒燓�".split(""); +for(j = 0; j != D[159].length; ++j) if(D[159][j].charCodeAt(0) !== 0xFFFD) { e[D[159][j]] = 40704 + j; d[40704 + j] = D[159][j];} +D[160] = "����������������������������������������������������������������燖燗燘燙燚燛燜燝燞營燡燢燣燤燦燨燩燪燫燬燭燯燰燱燲燳燴燵燶燷燸燺燻燼燽燾燿爀爁爂爃爄爅爇爈爉爊爋爌爍爎爏爐爑爒爓爔爕爖爗爘爙爚�爛爜爞爟爠爡爢爣爤爥爦爧爩爫爭爮爯爲爳爴爺爼爾牀牁牂牃牄牅牆牉牊牋牎牏牐牑牓牔牕牗牘牚牜牞牠牣牤牥牨牪牫牬牭牰牱牳牴牶牷牸牻牼牽犂犃犅犆犇犈犉犌犎犐犑犓犔犕犖犗犘犙犚犛犜犝犞犠犡犢犣犤犥犦犧犨犩犪犫犮犱犲犳犵犺犻犼犽犾犿狀狅狆狇狉狊狋狌狏狑狓狔狕狖狘狚狛�".split(""); +for(j = 0; j != D[160].length; ++j) if(D[160][j].charCodeAt(0) !== 0xFFFD) { e[D[160][j]] = 40960 + j; d[40960 + j] = D[160][j];} +D[161] = "����������������������������������������������������������������������������������������������������������������������������������������������������������������� 、。·ˉˇ¨〃々—~‖…‘’“”〔〕〈〉《》「」『』〖〗【】±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵∴♂♀°′″℃$¤¢£‰§№☆★○●◎◇◆□■△▲※→←↑↓〓�".split(""); +for(j = 0; j != D[161].length; ++j) if(D[161][j].charCodeAt(0) !== 0xFFFD) { e[D[161][j]] = 41216 + j; d[41216 + j] = D[161][j];} +D[162] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ������⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇①②③④⑤⑥⑦⑧⑨⑩��㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩��ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ���".split(""); +for(j = 0; j != D[162].length; ++j) if(D[162][j].charCodeAt(0) !== 0xFFFD) { e[D[162][j]] = 41472 + j; d[41472 + j] = D[162][j];} +D[163] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������!"#¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|} ̄�".split(""); +for(j = 0; j != D[163].length; ++j) if(D[163][j].charCodeAt(0) !== 0xFFFD) { e[D[163][j]] = 41728 + j; d[41728 + j] = D[163][j];} +D[164] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������".split(""); +for(j = 0; j != D[164].length; ++j) if(D[164][j].charCodeAt(0) !== 0xFFFD) { e[D[164][j]] = 41984 + j; d[41984 + j] = D[164][j];} +D[165] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������".split(""); +for(j = 0; j != D[165].length; ++j) if(D[165][j].charCodeAt(0) !== 0xFFFD) { e[D[165][j]] = 42240 + j; d[42240 + j] = D[165][j];} +D[166] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�������︵︶︹︺︿﹀︽︾﹁﹂﹃﹄��︻︼︷︸︱�︳︴����������".split(""); +for(j = 0; j != D[166].length; ++j) if(D[166][j].charCodeAt(0) !== 0xFFFD) { e[D[166][j]] = 42496 + j; d[42496 + j] = D[166][j];} +D[167] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������".split(""); +for(j = 0; j != D[167].length; ++j) if(D[167][j].charCodeAt(0) !== 0xFFFD) { e[D[167][j]] = 42752 + j; d[42752 + j] = D[167][j];} +D[168] = "����������������������������������������������������������������ˊˋ˙–―‥‵℅℉↖↗↘↙∕∟∣≒≦≧⊿═║╒╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡╢╣╤╥╦╧╨╩╪╫╬╭╮╯╰╱╲╳▁▂▃▄▅▆▇�█▉▊▋▌▍▎▏▓▔▕▼▽◢◣◤◥☉⊕〒〝〞�����������āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüêɑ�ńň�ɡ����ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ����������������������".split(""); +for(j = 0; j != D[168].length; ++j) if(D[168][j].charCodeAt(0) !== 0xFFFD) { e[D[168][j]] = 43008 + j; d[43008 + j] = D[168][j];} +D[169] = "����������������������������������������������������������������〡〢〣〤〥〦〧〨〩㊣㎎㎏㎜㎝㎞㎡㏄㏎㏑㏒㏕︰¬¦�℡㈱�‐���ー゛゜ヽヾ〆ゝゞ﹉﹊﹋﹌﹍﹎﹏﹐﹑﹒﹔﹕﹖﹗﹙﹚﹛﹜﹝﹞﹟﹠﹡�﹢﹣﹤﹥﹦﹨﹩﹪﹫�������������〇�������������─━│┃┄┅┆┇┈┉┊┋┌┍┎┏┐┑┒┓└┕┖┗┘┙┚┛├┝┞┟┠┡┢┣┤┥┦┧┨┩┪┫┬┭┮┯┰┱┲┳┴┵┶┷┸┹┺┻┼┽┾┿╀╁╂╃╄╅╆╇╈╉╊╋����������������".split(""); +for(j = 0; j != D[169].length; ++j) if(D[169][j].charCodeAt(0) !== 0xFFFD) { e[D[169][j]] = 43264 + j; d[43264 + j] = D[169][j];} +D[170] = "����������������������������������������������������������������狜狝狟狢狣狤狥狦狧狪狫狵狶狹狽狾狿猀猂猄猅猆猇猈猉猋猌猍猏猐猑猒猔猘猙猚猟猠猣猤猦猧猨猭猯猰猲猳猵猶猺猻猼猽獀獁獂獃獄獅獆獇獈�獉獊獋獌獎獏獑獓獔獕獖獘獙獚獛獜獝獞獟獡獢獣獤獥獦獧獨獩獪獫獮獰獱�����������������������������������������������������������������������������������������������".split(""); +for(j = 0; j != D[170].length; ++j) if(D[170][j].charCodeAt(0) !== 0xFFFD) { e[D[170][j]] = 43520 + j; d[43520 + j] = D[170][j];} +D[171] = "����������������������������������������������������������������獲獳獴獵獶獷獸獹獺獻獼獽獿玀玁玂玃玅玆玈玊玌玍玏玐玒玓玔玕玗玘玙玚玜玝玞玠玡玣玤玥玦玧玨玪玬玭玱玴玵玶玸玹玼玽玾玿珁珃珄珅珆珇�珋珌珎珒珓珔珕珖珗珘珚珛珜珝珟珡珢珣珤珦珨珪珫珬珮珯珰珱珳珴珵珶珷�����������������������������������������������������������������������������������������������".split(""); +for(j = 0; j != D[171].length; ++j) if(D[171][j].charCodeAt(0) !== 0xFFFD) { e[D[171][j]] = 43776 + j; d[43776 + j] = D[171][j];} +D[172] = "����������������������������������������������������������������珸珹珺珻珼珽現珿琀琁琂琄琇琈琋琌琍琎琑琒琓琔琕琖琗琘琙琜琝琞琟琠琡琣琤琧琩琫琭琯琱琲琷琸琹琺琻琽琾琿瑀瑂瑃瑄瑅瑆瑇瑈瑉瑊瑋瑌瑍�瑎瑏瑐瑑瑒瑓瑔瑖瑘瑝瑠瑡瑢瑣瑤瑥瑦瑧瑨瑩瑪瑫瑬瑮瑯瑱瑲瑳瑴瑵瑸瑹瑺�����������������������������������������������������������������������������������������������".split(""); +for(j = 0; j != D[172].length; ++j) if(D[172][j].charCodeAt(0) !== 0xFFFD) { e[D[172][j]] = 44032 + j; d[44032 + j] = D[172][j];} +D[173] = "����������������������������������������������������������������瑻瑼瑽瑿璂璄璅璆璈璉璊璌璍璏璑璒璓璔璕璖璗璘璙璚璛璝璟璠璡璢璣璤璥璦璪璫璬璭璮璯環璱璲璳璴璵璶璷璸璹璻璼璽璾璿瓀瓁瓂瓃瓄瓅瓆瓇�瓈瓉瓊瓋瓌瓍瓎瓏瓐瓑瓓瓔瓕瓖瓗瓘瓙瓚瓛瓝瓟瓡瓥瓧瓨瓩瓪瓫瓬瓭瓰瓱瓲�����������������������������������������������������������������������������������������������".split(""); +for(j = 0; j != D[173].length; ++j) if(D[173][j].charCodeAt(0) !== 0xFFFD) { e[D[173][j]] = 44288 + j; d[44288 + j] = D[173][j];} +D[174] = "����������������������������������������������������������������瓳瓵瓸瓹瓺瓻瓼瓽瓾甀甁甂甃甅甆甇甈甉甊甋甌甎甐甒甔甕甖甗甛甝甞甠甡產産甤甦甧甪甮甴甶甹甼甽甿畁畂畃畄畆畇畉畊畍畐畑畒畓畕畖畗畘�畝畞畟畠畡畢畣畤畧畨畩畫畬畭畮畯異畱畳畵當畷畺畻畼畽畾疀疁疂疄疅疇�����������������������������������������������������������������������������������������������".split(""); +for(j = 0; j != D[174].length; ++j) if(D[174][j].charCodeAt(0) !== 0xFFFD) { e[D[174][j]] = 44544 + j; d[44544 + j] = D[174][j];} +D[175] = "����������������������������������������������������������������疈疉疊疌疍疎疐疓疕疘疛疜疞疢疦疧疨疩疪疭疶疷疺疻疿痀痁痆痋痌痎痏痐痑痓痗痙痚痜痝痟痠痡痥痩痬痭痮痯痲痳痵痶痷痸痺痻痽痾瘂瘄瘆瘇�瘈瘉瘋瘍瘎瘏瘑瘒瘓瘔瘖瘚瘜瘝瘞瘡瘣瘧瘨瘬瘮瘯瘱瘲瘶瘷瘹瘺瘻瘽癁療癄�����������������������������������������������������������������������������������������������".split(""); +for(j = 0; j != D[175].length; ++j) if(D[175][j].charCodeAt(0) !== 0xFFFD) { e[D[175][j]] = 44800 + j; d[44800 + j] = D[175][j];} +D[176] = "����������������������������������������������������������������癅癆癇癈癉癊癋癎癏癐癑癒癓癕癗癘癙癚癛癝癟癠癡癢癤癥癦癧癨癩癪癬癭癮癰癱癲癳癴癵癶癷癹発發癿皀皁皃皅皉皊皌皍皏皐皒皔皕皗皘皚皛�皜皝皞皟皠皡皢皣皥皦皧皨皩皪皫皬皭皯皰皳皵皶皷皸皹皺皻皼皽皾盀盁盃啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥�".split(""); +for(j = 0; j != D[176].length; ++j) if(D[176][j].charCodeAt(0) !== 0xFFFD) { e[D[176][j]] = 45056 + j; d[45056 + j] = D[176][j];} +D[177] = "����������������������������������������������������������������盄盇盉盋盌盓盕盙盚盜盝盞盠盡盢監盤盦盧盨盩盪盫盬盭盰盳盵盶盷盺盻盽盿眀眂眃眅眆眊県眎眏眐眑眒眓眔眕眖眗眘眛眜眝眞眡眣眤眥眧眪眫�眬眮眰眱眲眳眴眹眻眽眾眿睂睄睅睆睈睉睊睋睌睍睎睏睒睓睔睕睖睗睘睙睜薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳�".split(""); +for(j = 0; j != D[177].length; ++j) if(D[177][j].charCodeAt(0) !== 0xFFFD) { e[D[177][j]] = 45312 + j; d[45312 + j] = D[177][j];} +D[178] = "����������������������������������������������������������������睝睞睟睠睤睧睩睪睭睮睯睰睱睲睳睴睵睶睷睸睺睻睼瞁瞂瞃瞆瞇瞈瞉瞊瞋瞏瞐瞓瞔瞕瞖瞗瞘瞙瞚瞛瞜瞝瞞瞡瞣瞤瞦瞨瞫瞭瞮瞯瞱瞲瞴瞶瞷瞸瞹瞺�瞼瞾矀矁矂矃矄矅矆矇矈矉矊矋矌矎矏矐矑矒矓矔矕矖矘矙矚矝矞矟矠矡矤病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖�".split(""); +for(j = 0; j != D[178].length; ++j) if(D[178][j].charCodeAt(0) !== 0xFFFD) { e[D[178][j]] = 45568 + j; d[45568 + j] = D[178][j];} +D[179] = "����������������������������������������������������������������矦矨矪矯矰矱矲矴矵矷矹矺矻矼砃砄砅砆砇砈砊砋砎砏砐砓砕砙砛砞砠砡砢砤砨砪砫砮砯砱砲砳砵砶砽砿硁硂硃硄硆硈硉硊硋硍硏硑硓硔硘硙硚�硛硜硞硟硠硡硢硣硤硥硦硧硨硩硯硰硱硲硳硴硵硶硸硹硺硻硽硾硿碀碁碂碃场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚�".split(""); +for(j = 0; j != D[179].length; ++j) if(D[179][j].charCodeAt(0) !== 0xFFFD) { e[D[179][j]] = 45824 + j; d[45824 + j] = D[179][j];} +D[180] = "����������������������������������������������������������������碄碅碆碈碊碋碏碐碒碔碕碖碙碝碞碠碢碤碦碨碩碪碫碬碭碮碯碵碶碷碸確碻碼碽碿磀磂磃磄磆磇磈磌磍磎磏磑磒磓磖磗磘磚磛磜磝磞磟磠磡磢磣�磤磥磦磧磩磪磫磭磮磯磰磱磳磵磶磸磹磻磼磽磾磿礀礂礃礄礆礇礈礉礊礋礌础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮�".split(""); +for(j = 0; j != D[180].length; ++j) if(D[180][j].charCodeAt(0) !== 0xFFFD) { e[D[180][j]] = 46080 + j; d[46080 + j] = D[180][j];} +D[181] = "����������������������������������������������������������������礍礎礏礐礑礒礔礕礖礗礘礙礚礛礜礝礟礠礡礢礣礥礦礧礨礩礪礫礬礭礮礯礰礱礲礳礵礶礷礸礹礽礿祂祃祄祅祇祊祋祌祍祎祏祐祑祒祔祕祘祙祡祣�祤祦祩祪祫祬祮祰祱祲祳祴祵祶祹祻祼祽祾祿禂禃禆禇禈禉禋禌禍禎禐禑禒怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠�".split(""); +for(j = 0; j != D[181].length; ++j) if(D[181][j].charCodeAt(0) !== 0xFFFD) { e[D[181][j]] = 46336 + j; d[46336 + j] = D[181][j];} +D[182] = "����������������������������������������������������������������禓禔禕禖禗禘禙禛禜禝禞禟禠禡禢禣禤禥禦禨禩禪禫禬禭禮禯禰禱禲禴禵禶禷禸禼禿秂秄秅秇秈秊秌秎秏秐秓秔秖秗秙秚秛秜秝秞秠秡秢秥秨秪�秬秮秱秲秳秴秵秶秷秹秺秼秾秿稁稄稅稇稈稉稊稌稏稐稑稒稓稕稖稘稙稛稜丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二�".split(""); +for(j = 0; j != D[182].length; ++j) if(D[182][j].charCodeAt(0) !== 0xFFFD) { e[D[182][j]] = 46592 + j; d[46592 + j] = D[182][j];} +D[183] = "����������������������������������������������������������������稝稟稡稢稤稥稦稧稨稩稪稫稬稭種稯稰稱稲稴稵稶稸稺稾穀穁穂穃穄穅穇穈穉穊穋穌積穎穏穐穒穓穔穕穖穘穙穚穛穜穝穞穟穠穡穢穣穤穥穦穧穨�穩穪穫穬穭穮穯穱穲穳穵穻穼穽穾窂窅窇窉窊窋窌窎窏窐窓窔窙窚窛窞窡窢贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服�".split(""); +for(j = 0; j != D[183].length; ++j) if(D[183][j].charCodeAt(0) !== 0xFFFD) { e[D[183][j]] = 46848 + j; d[46848 + j] = D[183][j];} +D[184] = "����������������������������������������������������������������窣窤窧窩窪窫窮窯窰窱窲窴窵窶窷窸窹窺窻窼窽窾竀竁竂竃竄竅竆竇竈竉竊竌竍竎竏竐竑竒竓竔竕竗竘竚竛竜竝竡竢竤竧竨竩竪竫竬竮竰竱竲竳�竴竵競竷竸竻竼竾笀笁笂笅笇笉笌笍笎笐笒笓笖笗笘笚笜笝笟笡笢笣笧笩笭浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹�".split(""); +for(j = 0; j != D[184].length; ++j) if(D[184][j].charCodeAt(0) !== 0xFFFD) { e[D[184][j]] = 47104 + j; d[47104 + j] = D[184][j];} +D[185] = "����������������������������������������������������������������笯笰笲笴笵笶笷笹笻笽笿筀筁筂筃筄筆筈筊筍筎筓筕筗筙筜筞筟筡筣筤筥筦筧筨筩筪筫筬筭筯筰筳筴筶筸筺筼筽筿箁箂箃箄箆箇箈箉箊箋箌箎箏�箑箒箓箖箘箙箚箛箞箟箠箣箤箥箮箯箰箲箳箵箶箷箹箺箻箼箽箾箿節篂篃範埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈�".split(""); +for(j = 0; j != D[185].length; ++j) if(D[185][j].charCodeAt(0) !== 0xFFFD) { e[D[185][j]] = 47360 + j; d[47360 + j] = D[185][j];} +D[186] = "����������������������������������������������������������������篅篈築篊篋篍篎篏篐篒篔篕篖篗篘篛篜篞篟篠篢篣篤篧篨篩篫篬篭篯篰篲篳篴篵篶篸篹篺篻篽篿簀簁簂簃簄簅簆簈簉簊簍簎簐簑簒簓簔簕簗簘簙�簚簛簜簝簞簠簡簢簣簤簥簨簩簫簬簭簮簯簰簱簲簳簴簵簶簷簹簺簻簼簽簾籂骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖�".split(""); +for(j = 0; j != D[186].length; ++j) if(D[186][j].charCodeAt(0) !== 0xFFFD) { e[D[186][j]] = 47616 + j; d[47616 + j] = D[186][j];} +D[187] = "����������������������������������������������������������������籃籄籅籆籇籈籉籊籋籌籎籏籐籑籒籓籔籕籖籗籘籙籚籛籜籝籞籟籠籡籢籣籤籥籦籧籨籩籪籫籬籭籮籯籰籱籲籵籶籷籸籹籺籾籿粀粁粂粃粄粅粆粇�粈粊粋粌粍粎粏粐粓粔粖粙粚粛粠粡粣粦粧粨粩粫粬粭粯粰粴粵粶粷粸粺粻弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕�".split(""); +for(j = 0; j != D[187].length; ++j) if(D[187][j].charCodeAt(0) !== 0xFFFD) { e[D[187][j]] = 47872 + j; d[47872 + j] = D[187][j];} +D[188] = "����������������������������������������������������������������粿糀糂糃糄糆糉糋糎糏糐糑糒糓糔糘糚糛糝糞糡糢糣糤糥糦糧糩糪糫糬糭糮糰糱糲糳糴糵糶糷糹糺糼糽糾糿紀紁紂紃約紅紆紇紈紉紋紌納紎紏紐�紑紒紓純紕紖紗紘紙級紛紜紝紞紟紡紣紤紥紦紨紩紪紬紭紮細紱紲紳紴紵紶肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件�".split(""); +for(j = 0; j != D[188].length; ++j) if(D[188][j].charCodeAt(0) !== 0xFFFD) { e[D[188][j]] = 48128 + j; d[48128 + j] = D[188][j];} +D[189] = "����������������������������������������������������������������紷紸紹紺紻紼紽紾紿絀絁終絃組絅絆絇絈絉絊絋経絍絎絏結絑絒絓絔絕絖絗絘絙絚絛絜絝絞絟絠絡絢絣絤絥給絧絨絩絪絫絬絭絯絰統絲絳絴絵絶�絸絹絺絻絼絽絾絿綀綁綂綃綄綅綆綇綈綉綊綋綌綍綎綏綐綑綒經綔綕綖綗綘健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸�".split(""); +for(j = 0; j != D[189].length; ++j) if(D[189][j].charCodeAt(0) !== 0xFFFD) { e[D[189][j]] = 48384 + j; d[48384 + j] = D[189][j];} +D[190] = "����������������������������������������������������������������継続綛綜綝綞綟綠綡綢綣綤綥綧綨綩綪綫綬維綯綰綱網綳綴綵綶綷綸綹綺綻綼綽綾綿緀緁緂緃緄緅緆緇緈緉緊緋緌緍緎総緐緑緒緓緔緕緖緗緘緙�線緛緜緝緞緟締緡緢緣緤緥緦緧編緩緪緫緬緭緮緯緰緱緲緳練緵緶緷緸緹緺尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻�".split(""); +for(j = 0; j != D[190].length; ++j) if(D[190][j].charCodeAt(0) !== 0xFFFD) { e[D[190][j]] = 48640 + j; d[48640 + j] = D[190][j];} +D[191] = "����������������������������������������������������������������緻緼緽緾緿縀縁縂縃縄縅縆縇縈縉縊縋縌縍縎縏縐縑縒縓縔縕縖縗縘縙縚縛縜縝縞縟縠縡縢縣縤縥縦縧縨縩縪縫縬縭縮縯縰縱縲縳縴縵縶縷縸縹�縺縼總績縿繀繂繃繄繅繆繈繉繊繋繌繍繎繏繐繑繒繓織繕繖繗繘繙繚繛繜繝俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀�".split(""); +for(j = 0; j != D[191].length; ++j) if(D[191][j].charCodeAt(0) !== 0xFFFD) { e[D[191][j]] = 48896 + j; d[48896 + j] = D[191][j];} +D[192] = "����������������������������������������������������������������繞繟繠繡繢繣繤繥繦繧繨繩繪繫繬繭繮繯繰繱繲繳繴繵繶繷繸繹繺繻繼繽繾繿纀纁纃纄纅纆纇纈纉纊纋續纍纎纏纐纑纒纓纔纕纖纗纘纙纚纜纝纞�纮纴纻纼绖绤绬绹缊缐缞缷缹缻缼缽缾缿罀罁罃罆罇罈罉罊罋罌罍罎罏罒罓馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐�".split(""); +for(j = 0; j != D[192].length; ++j) if(D[192][j].charCodeAt(0) !== 0xFFFD) { e[D[192][j]] = 49152 + j; d[49152 + j] = D[192][j];} +D[193] = "����������������������������������������������������������������罖罙罛罜罝罞罠罣罤罥罦罧罫罬罭罯罰罳罵罶罷罸罺罻罼罽罿羀羂羃羄羅羆羇羈羉羋羍羏羐羑羒羓羕羖羗羘羙羛羜羠羢羣羥羦羨義羪羫羬羭羮羱�羳羴羵羶羷羺羻羾翀翂翃翄翆翇翈翉翋翍翏翐翑習翓翖翗翙翚翛翜翝翞翢翣痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿�".split(""); +for(j = 0; j != D[193].length; ++j) if(D[193][j].charCodeAt(0) !== 0xFFFD) { e[D[193][j]] = 49408 + j; d[49408 + j] = D[193][j];} +D[194] = "����������������������������������������������������������������翤翧翨翪翫翬翭翯翲翴翵翶翷翸翹翺翽翾翿耂耇耈耉耊耎耏耑耓耚耛耝耞耟耡耣耤耫耬耭耮耯耰耲耴耹耺耼耾聀聁聄聅聇聈聉聎聏聐聑聓聕聖聗�聙聛聜聝聞聟聠聡聢聣聤聥聦聧聨聫聬聭聮聯聰聲聳聴聵聶職聸聹聺聻聼聽隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫�".split(""); +for(j = 0; j != D[194].length; ++j) if(D[194][j].charCodeAt(0) !== 0xFFFD) { e[D[194][j]] = 49664 + j; d[49664 + j] = D[194][j];} +D[195] = "����������������������������������������������������������������聾肁肂肅肈肊肍肎肏肐肑肒肔肕肗肙肞肣肦肧肨肬肰肳肵肶肸肹肻胅胇胈胉胊胋胏胐胑胒胓胔胕胘胟胠胢胣胦胮胵胷胹胻胾胿脀脁脃脄脅脇脈脋�脌脕脗脙脛脜脝脟脠脡脢脣脤脥脦脧脨脩脪脫脭脮脰脳脴脵脷脹脺脻脼脽脿谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸�".split(""); +for(j = 0; j != D[195].length; ++j) if(D[195][j].charCodeAt(0) !== 0xFFFD) { e[D[195][j]] = 49920 + j; d[49920 + j] = D[195][j];} +D[196] = "����������������������������������������������������������������腀腁腂腃腄腅腇腉腍腎腏腒腖腗腘腛腜腝腞腟腡腢腣腤腦腨腪腫腬腯腲腳腵腶腷腸膁膃膄膅膆膇膉膋膌膍膎膐膒膓膔膕膖膗膙膚膞膟膠膡膢膤膥�膧膩膫膬膭膮膯膰膱膲膴膵膶膷膸膹膼膽膾膿臄臅臇臈臉臋臍臎臏臐臑臒臓摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁�".split(""); +for(j = 0; j != D[196].length; ++j) if(D[196][j].charCodeAt(0) !== 0xFFFD) { e[D[196][j]] = 50176 + j; d[50176 + j] = D[196][j];} +D[197] = "����������������������������������������������������������������臔臕臖臗臘臙臚臛臜臝臞臟臠臡臢臤臥臦臨臩臫臮臯臰臱臲臵臶臷臸臹臺臽臿舃與興舉舊舋舎舏舑舓舕舖舗舘舙舚舝舠舤舥舦舧舩舮舲舺舼舽舿�艀艁艂艃艅艆艈艊艌艍艎艐艑艒艓艔艕艖艗艙艛艜艝艞艠艡艢艣艤艥艦艧艩拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗�".split(""); +for(j = 0; j != D[197].length; ++j) if(D[197][j].charCodeAt(0) !== 0xFFFD) { e[D[197][j]] = 50432 + j; d[50432 + j] = D[197][j];} +D[198] = "����������������������������������������������������������������艪艫艬艭艱艵艶艷艸艻艼芀芁芃芅芆芇芉芌芐芓芔芕芖芚芛芞芠芢芣芧芲芵芶芺芻芼芿苀苂苃苅苆苉苐苖苙苚苝苢苧苨苩苪苬苭苮苰苲苳苵苶苸�苺苼苽苾苿茀茊茋茍茐茒茓茖茘茙茝茞茟茠茡茢茣茤茥茦茩茪茮茰茲茷茻茽啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐�".split(""); +for(j = 0; j != D[198].length; ++j) if(D[198][j].charCodeAt(0) !== 0xFFFD) { e[D[198][j]] = 50688 + j; d[50688 + j] = D[198][j];} +D[199] = "����������������������������������������������������������������茾茿荁荂荄荅荈荊荋荌荍荎荓荕荖荗荘荙荝荢荰荱荲荳荴荵荶荹荺荾荿莀莁莂莃莄莇莈莊莋莌莍莏莐莑莔莕莖莗莙莚莝莟莡莢莣莤莥莦莧莬莭莮�莯莵莻莾莿菂菃菄菆菈菉菋菍菎菐菑菒菓菕菗菙菚菛菞菢菣菤菦菧菨菫菬菭恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠�".split(""); +for(j = 0; j != D[199].length; ++j) if(D[199][j].charCodeAt(0) !== 0xFFFD) { e[D[199][j]] = 50944 + j; d[50944 + j] = D[199][j];} +D[200] = "����������������������������������������������������������������菮華菳菴菵菶菷菺菻菼菾菿萀萂萅萇萈萉萊萐萒萓萔萕萖萗萙萚萛萞萟萠萡萢萣萩萪萫萬萭萮萯萰萲萳萴萵萶萷萹萺萻萾萿葀葁葂葃葄葅葇葈葉�葊葋葌葍葎葏葐葒葓葔葕葖葘葝葞葟葠葢葤葥葦葧葨葪葮葯葰葲葴葷葹葻葼取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁�".split(""); +for(j = 0; j != D[200].length; ++j) if(D[200][j].charCodeAt(0) !== 0xFFFD) { e[D[200][j]] = 51200 + j; d[51200 + j] = D[200][j];} +D[201] = "����������������������������������������������������������������葽葾葿蒀蒁蒃蒄蒅蒆蒊蒍蒏蒐蒑蒒蒓蒔蒕蒖蒘蒚蒛蒝蒞蒟蒠蒢蒣蒤蒥蒦蒧蒨蒩蒪蒫蒬蒭蒮蒰蒱蒳蒵蒶蒷蒻蒼蒾蓀蓂蓃蓅蓆蓇蓈蓋蓌蓎蓏蓒蓔蓕蓗�蓘蓙蓚蓛蓜蓞蓡蓢蓤蓧蓨蓩蓪蓫蓭蓮蓯蓱蓲蓳蓴蓵蓶蓷蓸蓹蓺蓻蓽蓾蔀蔁蔂伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳�".split(""); +for(j = 0; j != D[201].length; ++j) if(D[201][j].charCodeAt(0) !== 0xFFFD) { e[D[201][j]] = 51456 + j; d[51456 + j] = D[201][j];} +D[202] = "����������������������������������������������������������������蔃蔄蔅蔆蔇蔈蔉蔊蔋蔍蔎蔏蔐蔒蔔蔕蔖蔘蔙蔛蔜蔝蔞蔠蔢蔣蔤蔥蔦蔧蔨蔩蔪蔭蔮蔯蔰蔱蔲蔳蔴蔵蔶蔾蔿蕀蕁蕂蕄蕅蕆蕇蕋蕌蕍蕎蕏蕐蕑蕒蕓蕔蕕�蕗蕘蕚蕛蕜蕝蕟蕠蕡蕢蕣蕥蕦蕧蕩蕪蕫蕬蕭蕮蕯蕰蕱蕳蕵蕶蕷蕸蕼蕽蕿薀薁省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱�".split(""); +for(j = 0; j != D[202].length; ++j) if(D[202][j].charCodeAt(0) !== 0xFFFD) { e[D[202][j]] = 51712 + j; d[51712 + j] = D[202][j];} +D[203] = "����������������������������������������������������������������薂薃薆薈薉薊薋薌薍薎薐薑薒薓薔薕薖薗薘薙薚薝薞薟薠薡薢薣薥薦薧薩薫薬薭薱薲薳薴薵薶薸薺薻薼薽薾薿藀藂藃藄藅藆藇藈藊藋藌藍藎藑藒�藔藖藗藘藙藚藛藝藞藟藠藡藢藣藥藦藧藨藪藫藬藭藮藯藰藱藲藳藴藵藶藷藸恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔�".split(""); +for(j = 0; j != D[203].length; ++j) if(D[203][j].charCodeAt(0) !== 0xFFFD) { e[D[203][j]] = 51968 + j; d[51968 + j] = D[203][j];} +D[204] = "����������������������������������������������������������������藹藺藼藽藾蘀蘁蘂蘃蘄蘆蘇蘈蘉蘊蘋蘌蘍蘎蘏蘐蘒蘓蘔蘕蘗蘘蘙蘚蘛蘜蘝蘞蘟蘠蘡蘢蘣蘤蘥蘦蘨蘪蘫蘬蘭蘮蘯蘰蘱蘲蘳蘴蘵蘶蘷蘹蘺蘻蘽蘾蘿虀�虁虂虃虄虅虆虇虈虉虊虋虌虒虓處虖虗虘虙虛虜虝號虠虡虣虤虥虦虧虨虩虪獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃�".split(""); +for(j = 0; j != D[204].length; ++j) if(D[204][j].charCodeAt(0) !== 0xFFFD) { e[D[204][j]] = 52224 + j; d[52224 + j] = D[204][j];} +D[205] = "����������������������������������������������������������������虭虯虰虲虳虴虵虶虷虸蚃蚄蚅蚆蚇蚈蚉蚎蚏蚐蚑蚒蚔蚖蚗蚘蚙蚚蚛蚞蚟蚠蚡蚢蚥蚦蚫蚭蚮蚲蚳蚷蚸蚹蚻蚼蚽蚾蚿蛁蛂蛃蛅蛈蛌蛍蛒蛓蛕蛖蛗蛚蛜�蛝蛠蛡蛢蛣蛥蛦蛧蛨蛪蛫蛬蛯蛵蛶蛷蛺蛻蛼蛽蛿蜁蜄蜅蜆蜋蜌蜎蜏蜐蜑蜔蜖汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威�".split(""); +for(j = 0; j != D[205].length; ++j) if(D[205][j].charCodeAt(0) !== 0xFFFD) { e[D[205][j]] = 52480 + j; d[52480 + j] = D[205][j];} +D[206] = "����������������������������������������������������������������蜙蜛蜝蜟蜠蜤蜦蜧蜨蜪蜫蜬蜭蜯蜰蜲蜳蜵蜶蜸蜹蜺蜼蜽蝀蝁蝂蝃蝄蝅蝆蝊蝋蝍蝏蝐蝑蝒蝔蝕蝖蝘蝚蝛蝜蝝蝞蝟蝡蝢蝦蝧蝨蝩蝪蝫蝬蝭蝯蝱蝲蝳蝵�蝷蝸蝹蝺蝿螀螁螄螆螇螉螊螌螎螏螐螑螒螔螕螖螘螙螚螛螜螝螞螠螡螢螣螤巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺�".split(""); +for(j = 0; j != D[206].length; ++j) if(D[206][j].charCodeAt(0) !== 0xFFFD) { e[D[206][j]] = 52736 + j; d[52736 + j] = D[206][j];} +D[207] = "����������������������������������������������������������������螥螦螧螩螪螮螰螱螲螴螶螷螸螹螻螼螾螿蟁蟂蟃蟄蟅蟇蟈蟉蟌蟍蟎蟏蟐蟔蟕蟖蟗蟘蟙蟚蟜蟝蟞蟟蟡蟢蟣蟤蟦蟧蟨蟩蟫蟬蟭蟯蟰蟱蟲蟳蟴蟵蟶蟷蟸�蟺蟻蟼蟽蟿蠀蠁蠂蠄蠅蠆蠇蠈蠉蠋蠌蠍蠎蠏蠐蠑蠒蠔蠗蠘蠙蠚蠜蠝蠞蠟蠠蠣稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓�".split(""); +for(j = 0; j != D[207].length; ++j) if(D[207][j].charCodeAt(0) !== 0xFFFD) { e[D[207][j]] = 52992 + j; d[52992 + j] = D[207][j];} +D[208] = "����������������������������������������������������������������蠤蠥蠦蠧蠨蠩蠪蠫蠬蠭蠮蠯蠰蠱蠳蠴蠵蠶蠷蠸蠺蠻蠽蠾蠿衁衂衃衆衇衈衉衊衋衎衏衐衑衒術衕衖衘衚衛衜衝衞衟衠衦衧衪衭衯衱衳衴衵衶衸衹衺�衻衼袀袃袆袇袉袊袌袎袏袐袑袓袔袕袗袘袙袚袛袝袞袟袠袡袣袥袦袧袨袩袪小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄�".split(""); +for(j = 0; j != D[208].length; ++j) if(D[208][j].charCodeAt(0) !== 0xFFFD) { e[D[208][j]] = 53248 + j; d[53248 + j] = D[208][j];} +D[209] = "����������������������������������������������������������������袬袮袯袰袲袳袴袵袶袸袹袺袻袽袾袿裀裃裄裇裈裊裋裌裍裏裐裑裓裖裗裚裛補裝裞裠裡裦裧裩裪裫裬裭裮裯裲裵裶裷裺裻製裿褀褁褃褄褅褆複褈�褉褋褌褍褎褏褑褔褕褖褗褘褜褝褞褟褠褢褣褤褦褧褨褩褬褭褮褯褱褲褳褵褷选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶�".split(""); +for(j = 0; j != D[209].length; ++j) if(D[209][j].charCodeAt(0) !== 0xFFFD) { e[D[209][j]] = 53504 + j; d[53504 + j] = D[209][j];} +D[210] = "����������������������������������������������������������������褸褹褺褻褼褽褾褿襀襂襃襅襆襇襈襉襊襋襌襍襎襏襐襑襒襓襔襕襖襗襘襙襚襛襜襝襠襡襢襣襤襥襧襨襩襪襫襬襭襮襯襰襱襲襳襴襵襶襷襸襹襺襼�襽襾覀覂覄覅覇覈覉覊見覌覍覎規覐覑覒覓覔覕視覗覘覙覚覛覜覝覞覟覠覡摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐�".split(""); +for(j = 0; j != D[210].length; ++j) if(D[210][j].charCodeAt(0) !== 0xFFFD) { e[D[210][j]] = 53760 + j; d[53760 + j] = D[210][j];} +D[211] = "����������������������������������������������������������������覢覣覤覥覦覧覨覩親覫覬覭覮覯覰覱覲観覴覵覶覷覸覹覺覻覼覽覾覿觀觃觍觓觔觕觗觘觙觛觝觟觠觡觢觤觧觨觩觪觬觭觮觰觱觲觴觵觶觷觸觹觺�觻觼觽觾觿訁訂訃訄訅訆計訉訊訋訌訍討訏訐訑訒訓訔訕訖託記訙訚訛訜訝印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉�".split(""); +for(j = 0; j != D[211].length; ++j) if(D[211][j].charCodeAt(0) !== 0xFFFD) { e[D[211][j]] = 54016 + j; d[54016 + j] = D[211][j];} +D[212] = "����������������������������������������������������������������訞訟訠訡訢訣訤訥訦訧訨訩訪訫訬設訮訯訰許訲訳訴訵訶訷訸訹診註証訽訿詀詁詂詃詄詅詆詇詉詊詋詌詍詎詏詐詑詒詓詔評詖詗詘詙詚詛詜詝詞�詟詠詡詢詣詤詥試詧詨詩詪詫詬詭詮詯詰話該詳詴詵詶詷詸詺詻詼詽詾詿誀浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧�".split(""); +for(j = 0; j != D[212].length; ++j) if(D[212][j].charCodeAt(0) !== 0xFFFD) { e[D[212][j]] = 54272 + j; d[54272 + j] = D[212][j];} +D[213] = "����������������������������������������������������������������誁誂誃誄誅誆誇誈誋誌認誎誏誐誑誒誔誕誖誗誘誙誚誛誜誝語誟誠誡誢誣誤誥誦誧誨誩說誫説読誮誯誰誱課誳誴誵誶誷誸誹誺誻誼誽誾調諀諁諂�諃諄諅諆談諈諉諊請諌諍諎諏諐諑諒諓諔諕論諗諘諙諚諛諜諝諞諟諠諡諢諣铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政�".split(""); +for(j = 0; j != D[213].length; ++j) if(D[213][j].charCodeAt(0) !== 0xFFFD) { e[D[213][j]] = 54528 + j; d[54528 + j] = D[213][j];} +D[214] = "����������������������������������������������������������������諤諥諦諧諨諩諪諫諬諭諮諯諰諱諲諳諴諵諶諷諸諹諺諻諼諽諾諿謀謁謂謃謄謅謆謈謉謊謋謌謍謎謏謐謑謒謓謔謕謖謗謘謙謚講謜謝謞謟謠謡謢謣�謤謥謧謨謩謪謫謬謭謮謯謰謱謲謳謴謵謶謷謸謹謺謻謼謽謾謿譀譁譂譃譄譅帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑�".split(""); +for(j = 0; j != D[214].length; ++j) if(D[214][j].charCodeAt(0) !== 0xFFFD) { e[D[214][j]] = 54784 + j; d[54784 + j] = D[214][j];} +D[215] = "����������������������������������������������������������������譆譇譈證譊譋譌譍譎譏譐譑譒譓譔譕譖譗識譙譚譛譜譝譞譟譠譡譢譣譤譥譧譨譩譪譫譭譮譯議譱譲譳譴譵譶護譸譹譺譻譼譽譾譿讀讁讂讃讄讅讆�讇讈讉變讋讌讍讎讏讐讑讒讓讔讕讖讗讘讙讚讛讜讝讞讟讬讱讻诇诐诪谉谞住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座������".split(""); +for(j = 0; j != D[215].length; ++j) if(D[215][j].charCodeAt(0) !== 0xFFFD) { e[D[215][j]] = 55040 + j; d[55040 + j] = D[215][j];} +D[216] = "����������������������������������������������������������������谸谹谺谻谼谽谾谿豀豂豃豄豅豈豊豋豍豎豏豐豑豒豓豔豖豗豘豙豛豜豝豞豟豠豣豤豥豦豧豨豩豬豭豮豯豰豱豲豴豵豶豷豻豼豽豾豿貀貁貃貄貆貇�貈貋貍貎貏貐貑貒貓貕貖貗貙貚貛貜貝貞貟負財貢貣貤貥貦貧貨販貪貫責貭亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝�".split(""); +for(j = 0; j != D[216].length; ++j) if(D[216][j].charCodeAt(0) !== 0xFFFD) { e[D[216][j]] = 55296 + j; d[55296 + j] = D[216][j];} +D[217] = "����������������������������������������������������������������貮貯貰貱貲貳貴貵貶買貸貹貺費貼貽貾貿賀賁賂賃賄賅賆資賈賉賊賋賌賍賎賏賐賑賒賓賔賕賖賗賘賙賚賛賜賝賞賟賠賡賢賣賤賥賦賧賨賩質賫賬�賭賮賯賰賱賲賳賴賵賶賷賸賹賺賻購賽賾賿贀贁贂贃贄贅贆贇贈贉贊贋贌贍佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼�".split(""); +for(j = 0; j != D[217].length; ++j) if(D[217][j].charCodeAt(0) !== 0xFFFD) { e[D[217][j]] = 55552 + j; d[55552 + j] = D[217][j];} +D[218] = "����������������������������������������������������������������贎贏贐贑贒贓贔贕贖贗贘贙贚贛贜贠赑赒赗赟赥赨赩赪赬赮赯赱赲赸赹赺赻赼赽赾赿趀趂趃趆趇趈趉趌趍趎趏趐趒趓趕趖趗趘趙趚趛趜趝趞趠趡�趢趤趥趦趧趨趩趪趫趬趭趮趯趰趲趶趷趹趻趽跀跁跂跅跇跈跉跊跍跐跒跓跔凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺�".split(""); +for(j = 0; j != D[218].length; ++j) if(D[218][j].charCodeAt(0) !== 0xFFFD) { e[D[218][j]] = 55808 + j; d[55808 + j] = D[218][j];} +D[219] = "����������������������������������������������������������������跕跘跙跜跠跡跢跥跦跧跩跭跮跰跱跲跴跶跼跾跿踀踁踂踃踄踆踇踈踋踍踎踐踑踒踓踕踖踗踘踙踚踛踜踠踡踤踥踦踧踨踫踭踰踲踳踴踶踷踸踻踼踾�踿蹃蹅蹆蹌蹍蹎蹏蹐蹓蹔蹕蹖蹗蹘蹚蹛蹜蹝蹞蹟蹠蹡蹢蹣蹤蹥蹧蹨蹪蹫蹮蹱邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝�".split(""); +for(j = 0; j != D[219].length; ++j) if(D[219][j].charCodeAt(0) !== 0xFFFD) { e[D[219][j]] = 56064 + j; d[56064 + j] = D[219][j];} +D[220] = "����������������������������������������������������������������蹳蹵蹷蹸蹹蹺蹻蹽蹾躀躂躃躄躆躈躉躊躋躌躍躎躑躒躓躕躖躗躘躙躚躛躝躟躠躡躢躣躤躥躦躧躨躩躪躭躮躰躱躳躴躵躶躷躸躹躻躼躽躾躿軀軁軂�軃軄軅軆軇軈軉車軋軌軍軏軐軑軒軓軔軕軖軗軘軙軚軛軜軝軞軟軠軡転軣軤堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥�".split(""); +for(j = 0; j != D[220].length; ++j) if(D[220][j].charCodeAt(0) !== 0xFFFD) { e[D[220][j]] = 56320 + j; d[56320 + j] = D[220][j];} +D[221] = "����������������������������������������������������������������軥軦軧軨軩軪軫軬軭軮軯軰軱軲軳軴軵軶軷軸軹軺軻軼軽軾軿輀輁輂較輄輅輆輇輈載輊輋輌輍輎輏輐輑輒輓輔輕輖輗輘輙輚輛輜輝輞輟輠輡輢輣�輤輥輦輧輨輩輪輫輬輭輮輯輰輱輲輳輴輵輶輷輸輹輺輻輼輽輾輿轀轁轂轃轄荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺�".split(""); +for(j = 0; j != D[221].length; ++j) if(D[221][j].charCodeAt(0) !== 0xFFFD) { e[D[221][j]] = 56576 + j; d[56576 + j] = D[221][j];} +D[222] = "����������������������������������������������������������������轅轆轇轈轉轊轋轌轍轎轏轐轑轒轓轔轕轖轗轘轙轚轛轜轝轞轟轠轡轢轣轤轥轪辀辌辒辝辠辡辢辤辥辦辧辪辬辭辮辯農辳辴辵辷辸辺辻込辿迀迃迆�迉迊迋迌迍迏迒迖迗迚迠迡迣迧迬迯迱迲迴迵迶迺迻迼迾迿逇逈逌逎逓逕逘蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖�".split(""); +for(j = 0; j != D[222].length; ++j) if(D[222][j].charCodeAt(0) !== 0xFFFD) { e[D[222][j]] = 56832 + j; d[56832 + j] = D[222][j];} +D[223] = "����������������������������������������������������������������這逜連逤逥逧逨逩逪逫逬逰週進逳逴逷逹逺逽逿遀遃遅遆遈遉遊運遌過達違遖遙遚遜遝遞遟遠遡遤遦遧適遪遫遬遯遰遱遲遳遶遷選遹遺遻遼遾邁�還邅邆邇邉邊邌邍邎邏邐邒邔邖邘邚邜邞邟邠邤邥邧邨邩邫邭邲邷邼邽邿郀摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼�".split(""); +for(j = 0; j != D[223].length; ++j) if(D[223][j].charCodeAt(0) !== 0xFFFD) { e[D[223][j]] = 57088 + j; d[57088 + j] = D[223][j];} +D[224] = "����������������������������������������������������������������郂郃郆郈郉郋郌郍郒郔郕郖郘郙郚郞郟郠郣郤郥郩郪郬郮郰郱郲郳郵郶郷郹郺郻郼郿鄀鄁鄃鄅鄆鄇鄈鄉鄊鄋鄌鄍鄎鄏鄐鄑鄒鄓鄔鄕鄖鄗鄘鄚鄛鄜�鄝鄟鄠鄡鄤鄥鄦鄧鄨鄩鄪鄫鄬鄭鄮鄰鄲鄳鄴鄵鄶鄷鄸鄺鄻鄼鄽鄾鄿酀酁酂酄唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼�".split(""); +for(j = 0; j != D[224].length; ++j) if(D[224][j].charCodeAt(0) !== 0xFFFD) { e[D[224][j]] = 57344 + j; d[57344 + j] = D[224][j];} +D[225] = "����������������������������������������������������������������酅酇酈酑酓酔酕酖酘酙酛酜酟酠酦酧酨酫酭酳酺酻酼醀醁醂醃醄醆醈醊醎醏醓醔醕醖醗醘醙醜醝醞醟醠醡醤醥醦醧醨醩醫醬醰醱醲醳醶醷醸醹醻�醼醽醾醿釀釁釂釃釄釅釆釈釋釐釒釓釔釕釖釗釘釙釚釛針釞釟釠釡釢釣釤釥帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺�".split(""); +for(j = 0; j != D[225].length; ++j) if(D[225][j].charCodeAt(0) !== 0xFFFD) { e[D[225][j]] = 57600 + j; d[57600 + j] = D[225][j];} +D[226] = "����������������������������������������������������������������釦釧釨釩釪釫釬釭釮釯釰釱釲釳釴釵釶釷釸釹釺釻釼釽釾釿鈀鈁鈂鈃鈄鈅鈆鈇鈈鈉鈊鈋鈌鈍鈎鈏鈐鈑鈒鈓鈔鈕鈖鈗鈘鈙鈚鈛鈜鈝鈞鈟鈠鈡鈢鈣鈤�鈥鈦鈧鈨鈩鈪鈫鈬鈭鈮鈯鈰鈱鈲鈳鈴鈵鈶鈷鈸鈹鈺鈻鈼鈽鈾鈿鉀鉁鉂鉃鉄鉅狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧饨饩饪饫饬饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂�".split(""); +for(j = 0; j != D[226].length; ++j) if(D[226][j].charCodeAt(0) !== 0xFFFD) { e[D[226][j]] = 57856 + j; d[57856 + j] = D[226][j];} +D[227] = "����������������������������������������������������������������鉆鉇鉈鉉鉊鉋鉌鉍鉎鉏鉐鉑鉒鉓鉔鉕鉖鉗鉘鉙鉚鉛鉜鉝鉞鉟鉠鉡鉢鉣鉤鉥鉦鉧鉨鉩鉪鉫鉬鉭鉮鉯鉰鉱鉲鉳鉵鉶鉷鉸鉹鉺鉻鉼鉽鉾鉿銀銁銂銃銄銅�銆銇銈銉銊銋銌銍銏銐銑銒銓銔銕銖銗銘銙銚銛銜銝銞銟銠銡銢銣銤銥銦銧恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾�".split(""); +for(j = 0; j != D[227].length; ++j) if(D[227][j].charCodeAt(0) !== 0xFFFD) { e[D[227][j]] = 58112 + j; d[58112 + j] = D[227][j];} +D[228] = "����������������������������������������������������������������銨銩銪銫銬銭銯銰銱銲銳銴銵銶銷銸銹銺銻銼銽銾銿鋀鋁鋂鋃鋄鋅鋆鋇鋉鋊鋋鋌鋍鋎鋏鋐鋑鋒鋓鋔鋕鋖鋗鋘鋙鋚鋛鋜鋝鋞鋟鋠鋡鋢鋣鋤鋥鋦鋧鋨�鋩鋪鋫鋬鋭鋮鋯鋰鋱鋲鋳鋴鋵鋶鋷鋸鋹鋺鋻鋼鋽鋾鋿錀錁錂錃錄錅錆錇錈錉洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑�".split(""); +for(j = 0; j != D[228].length; ++j) if(D[228][j].charCodeAt(0) !== 0xFFFD) { e[D[228][j]] = 58368 + j; d[58368 + j] = D[228][j];} +D[229] = "����������������������������������������������������������������錊錋錌錍錎錏錐錑錒錓錔錕錖錗錘錙錚錛錜錝錞錟錠錡錢錣錤錥錦錧錨錩錪錫錬錭錮錯錰錱録錳錴錵錶錷錸錹錺錻錼錽錿鍀鍁鍂鍃鍄鍅鍆鍇鍈鍉�鍊鍋鍌鍍鍎鍏鍐鍑鍒鍓鍔鍕鍖鍗鍘鍙鍚鍛鍜鍝鍞鍟鍠鍡鍢鍣鍤鍥鍦鍧鍨鍩鍫濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣�".split(""); +for(j = 0; j != D[229].length; ++j) if(D[229][j].charCodeAt(0) !== 0xFFFD) { e[D[229][j]] = 58624 + j; d[58624 + j] = D[229][j];} +D[230] = "����������������������������������������������������������������鍬鍭鍮鍯鍰鍱鍲鍳鍴鍵鍶鍷鍸鍹鍺鍻鍼鍽鍾鍿鎀鎁鎂鎃鎄鎅鎆鎇鎈鎉鎊鎋鎌鎍鎎鎐鎑鎒鎓鎔鎕鎖鎗鎘鎙鎚鎛鎜鎝鎞鎟鎠鎡鎢鎣鎤鎥鎦鎧鎨鎩鎪鎫�鎬鎭鎮鎯鎰鎱鎲鎳鎴鎵鎶鎷鎸鎹鎺鎻鎼鎽鎾鎿鏀鏁鏂鏃鏄鏅鏆鏇鏈鏉鏋鏌鏍妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩�".split(""); +for(j = 0; j != D[230].length; ++j) if(D[230][j].charCodeAt(0) !== 0xFFFD) { e[D[230][j]] = 58880 + j; d[58880 + j] = D[230][j];} +D[231] = "����������������������������������������������������������������鏎鏏鏐鏑鏒鏓鏔鏕鏗鏘鏙鏚鏛鏜鏝鏞鏟鏠鏡鏢鏣鏤鏥鏦鏧鏨鏩鏪鏫鏬鏭鏮鏯鏰鏱鏲鏳鏴鏵鏶鏷鏸鏹鏺鏻鏼鏽鏾鏿鐀鐁鐂鐃鐄鐅鐆鐇鐈鐉鐊鐋鐌鐍�鐎鐏鐐鐑鐒鐓鐔鐕鐖鐗鐘鐙鐚鐛鐜鐝鐞鐟鐠鐡鐢鐣鐤鐥鐦鐧鐨鐩鐪鐫鐬鐭鐮纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡缢缣缤缥缦缧缪缫缬缭缯缰缱缲缳缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬�".split(""); +for(j = 0; j != D[231].length; ++j) if(D[231][j].charCodeAt(0) !== 0xFFFD) { e[D[231][j]] = 59136 + j; d[59136 + j] = D[231][j];} +D[232] = "����������������������������������������������������������������鐯鐰鐱鐲鐳鐴鐵鐶鐷鐸鐹鐺鐻鐼鐽鐿鑀鑁鑂鑃鑄鑅鑆鑇鑈鑉鑊鑋鑌鑍鑎鑏鑐鑑鑒鑓鑔鑕鑖鑗鑘鑙鑚鑛鑜鑝鑞鑟鑠鑡鑢鑣鑤鑥鑦鑧鑨鑩鑪鑬鑭鑮鑯�鑰鑱鑲鑳鑴鑵鑶鑷鑸鑹鑺鑻鑼鑽鑾鑿钀钁钂钃钄钑钖钘铇铏铓铔铚铦铻锜锠琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹�".split(""); +for(j = 0; j != D[232].length; ++j) if(D[232][j].charCodeAt(0) !== 0xFFFD) { e[D[232][j]] = 59392 + j; d[59392 + j] = D[232][j];} +D[233] = "����������������������������������������������������������������锧锳锽镃镈镋镕镚镠镮镴镵長镸镹镺镻镼镽镾門閁閂閃閄閅閆閇閈閉閊開閌閍閎閏閐閑閒間閔閕閖閗閘閙閚閛閜閝閞閟閠閡関閣閤閥閦閧閨閩閪�閫閬閭閮閯閰閱閲閳閴閵閶閷閸閹閺閻閼閽閾閿闀闁闂闃闄闅闆闇闈闉闊闋椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋�".split(""); +for(j = 0; j != D[233].length; ++j) if(D[233][j].charCodeAt(0) !== 0xFFFD) { e[D[233][j]] = 59648 + j; d[59648 + j] = D[233][j];} +D[234] = "����������������������������������������������������������������闌闍闎闏闐闑闒闓闔闕闖闗闘闙闚闛關闝闞闟闠闡闢闣闤闥闦闧闬闿阇阓阘阛阞阠阣阤阥阦阧阨阩阫阬阭阯阰阷阸阹阺阾陁陃陊陎陏陑陒陓陖陗�陘陙陚陜陝陞陠陣陥陦陫陭陮陯陰陱陳陸陹険陻陼陽陾陿隀隁隂隃隄隇隉隊辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰�".split(""); +for(j = 0; j != D[234].length; ++j) if(D[234][j].charCodeAt(0) !== 0xFFFD) { e[D[234][j]] = 59904 + j; d[59904 + j] = D[234][j];} +D[235] = "����������������������������������������������������������������隌階隑隒隓隕隖隚際隝隞隟隠隡隢隣隤隥隦隨隩險隫隬隭隮隯隱隲隴隵隷隸隺隻隿雂雃雈雊雋雐雑雓雔雖雗雘雙雚雛雜雝雞雟雡離難雤雥雦雧雫�雬雭雮雰雱雲雴雵雸雺電雼雽雿霂霃霅霊霋霌霐霑霒霔霕霗霘霙霚霛霝霟霠搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻�".split(""); +for(j = 0; j != D[235].length; ++j) if(D[235][j].charCodeAt(0) !== 0xFFFD) { e[D[235][j]] = 60160 + j; d[60160 + j] = D[235][j];} +D[236] = "����������������������������������������������������������������霡霢霣霤霥霦霧霨霩霫霬霮霯霱霳霴霵霶霷霺霻霼霽霿靀靁靂靃靄靅靆靇靈靉靊靋靌靍靎靏靐靑靔靕靗靘靚靜靝靟靣靤靦靧靨靪靫靬靭靮靯靰靱�靲靵靷靸靹靺靻靽靾靿鞀鞁鞂鞃鞄鞆鞇鞈鞉鞊鞌鞎鞏鞐鞓鞕鞖鞗鞙鞚鞛鞜鞝臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐�".split(""); +for(j = 0; j != D[236].length; ++j) if(D[236][j].charCodeAt(0) !== 0xFFFD) { e[D[236][j]] = 60416 + j; d[60416 + j] = D[236][j];} +D[237] = "����������������������������������������������������������������鞞鞟鞡鞢鞤鞥鞦鞧鞨鞩鞪鞬鞮鞰鞱鞳鞵鞶鞷鞸鞹鞺鞻鞼鞽鞾鞿韀韁韂韃韄韅韆韇韈韉韊韋韌韍韎韏韐韑韒韓韔韕韖韗韘韙韚韛韜韝韞韟韠韡韢韣�韤韥韨韮韯韰韱韲韴韷韸韹韺韻韼韽韾響頀頁頂頃頄項順頇須頉頊頋頌頍頎怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨�".split(""); +for(j = 0; j != D[237].length; ++j) if(D[237][j].charCodeAt(0) !== 0xFFFD) { e[D[237][j]] = 60672 + j; d[60672 + j] = D[237][j];} +D[238] = "����������������������������������������������������������������頏預頑頒頓頔頕頖頗領頙頚頛頜頝頞頟頠頡頢頣頤頥頦頧頨頩頪頫頬頭頮頯頰頱頲頳頴頵頶頷頸頹頺頻頼頽頾頿顀顁顂顃顄顅顆顇顈顉顊顋題額�顎顏顐顑顒顓顔顕顖顗願顙顚顛顜顝類顟顠顡顢顣顤顥顦顧顨顩顪顫顬顭顮睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶钷钸钹钺钼钽钿铄铈铉铊铋铌铍铎铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪�".split(""); +for(j = 0; j != D[238].length; ++j) if(D[238][j].charCodeAt(0) !== 0xFFFD) { e[D[238][j]] = 60928 + j; d[60928 + j] = D[238][j];} +D[239] = "����������������������������������������������������������������顯顰顱顲顳顴颋颎颒颕颙颣風颩颪颫颬颭颮颯颰颱颲颳颴颵颶颷颸颹颺颻颼颽颾颿飀飁飂飃飄飅飆飇飈飉飊飋飌飍飏飐飔飖飗飛飜飝飠飡飢飣飤�飥飦飩飪飫飬飭飮飯飰飱飲飳飴飵飶飷飸飹飺飻飼飽飾飿餀餁餂餃餄餅餆餇铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒锓锔锕锖锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤镥镦镧镨镩镪镫镬镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔�".split(""); +for(j = 0; j != D[239].length; ++j) if(D[239][j].charCodeAt(0) !== 0xFFFD) { e[D[239][j]] = 61184 + j; d[61184 + j] = D[239][j];} +D[240] = "����������������������������������������������������������������餈餉養餋餌餎餏餑餒餓餔餕餖餗餘餙餚餛餜餝餞餟餠餡餢餣餤餥餦餧館餩餪餫餬餭餯餰餱餲餳餴餵餶餷餸餹餺餻餼餽餾餿饀饁饂饃饄饅饆饇饈饉�饊饋饌饍饎饏饐饑饒饓饖饗饘饙饚饛饜饝饞饟饠饡饢饤饦饳饸饹饻饾馂馃馉稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨鸩鸪鸫鸬鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦鹧鹨鹩鹪鹫鹬鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙�".split(""); +for(j = 0; j != D[240].length; ++j) if(D[240][j].charCodeAt(0) !== 0xFFFD) { e[D[240][j]] = 61440 + j; d[61440 + j] = D[240][j];} +D[241] = "����������������������������������������������������������������馌馎馚馛馜馝馞馟馠馡馢馣馤馦馧馩馪馫馬馭馮馯馰馱馲馳馴馵馶馷馸馹馺馻馼馽馾馿駀駁駂駃駄駅駆駇駈駉駊駋駌駍駎駏駐駑駒駓駔駕駖駗駘�駙駚駛駜駝駞駟駠駡駢駣駤駥駦駧駨駩駪駫駬駭駮駯駰駱駲駳駴駵駶駷駸駹瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃�".split(""); +for(j = 0; j != D[241].length; ++j) if(D[241][j].charCodeAt(0) !== 0xFFFD) { e[D[241][j]] = 61696 + j; d[61696 + j] = D[241][j];} +D[242] = "����������������������������������������������������������������駺駻駼駽駾駿騀騁騂騃騄騅騆騇騈騉騊騋騌騍騎騏騐騑騒験騔騕騖騗騘騙騚騛騜騝騞騟騠騡騢騣騤騥騦騧騨騩騪騫騬騭騮騯騰騱騲騳騴騵騶騷騸�騹騺騻騼騽騾騿驀驁驂驃驄驅驆驇驈驉驊驋驌驍驎驏驐驑驒驓驔驕驖驗驘驙颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒�".split(""); +for(j = 0; j != D[242].length; ++j) if(D[242][j].charCodeAt(0) !== 0xFFFD) { e[D[242][j]] = 61952 + j; d[61952 + j] = D[242][j];} +D[243] = "����������������������������������������������������������������驚驛驜驝驞驟驠驡驢驣驤驥驦驧驨驩驪驫驲骃骉骍骎骔骕骙骦骩骪骫骬骭骮骯骲骳骴骵骹骻骽骾骿髃髄髆髇髈髉髊髍髎髏髐髒體髕髖髗髙髚髛髜�髝髞髠髢髣髤髥髧髨髩髪髬髮髰髱髲髳髴髵髶髷髸髺髼髽髾髿鬀鬁鬂鬄鬅鬆蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋�".split(""); +for(j = 0; j != D[243].length; ++j) if(D[243][j].charCodeAt(0) !== 0xFFFD) { e[D[243][j]] = 62208 + j; d[62208 + j] = D[243][j];} +D[244] = "����������������������������������������������������������������鬇鬉鬊鬋鬌鬍鬎鬐鬑鬒鬔鬕鬖鬗鬘鬙鬚鬛鬜鬝鬞鬠鬡鬢鬤鬥鬦鬧鬨鬩鬪鬫鬬鬭鬮鬰鬱鬳鬴鬵鬶鬷鬸鬹鬺鬽鬾鬿魀魆魊魋魌魎魐魒魓魕魖魗魘魙魚�魛魜魝魞魟魠魡魢魣魤魥魦魧魨魩魪魫魬魭魮魯魰魱魲魳魴魵魶魷魸魹魺魻簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤�".split(""); +for(j = 0; j != D[244].length; ++j) if(D[244][j].charCodeAt(0) !== 0xFFFD) { e[D[244][j]] = 62464 + j; d[62464 + j] = D[244][j];} +D[245] = "����������������������������������������������������������������魼魽魾魿鮀鮁鮂鮃鮄鮅鮆鮇鮈鮉鮊鮋鮌鮍鮎鮏鮐鮑鮒鮓鮔鮕鮖鮗鮘鮙鮚鮛鮜鮝鮞鮟鮠鮡鮢鮣鮤鮥鮦鮧鮨鮩鮪鮫鮬鮭鮮鮯鮰鮱鮲鮳鮴鮵鮶鮷鮸鮹鮺�鮻鮼鮽鮾鮿鯀鯁鯂鯃鯄鯅鯆鯇鯈鯉鯊鯋鯌鯍鯎鯏鯐鯑鯒鯓鯔鯕鯖鯗鯘鯙鯚鯛酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜�".split(""); +for(j = 0; j != D[245].length; ++j) if(D[245][j].charCodeAt(0) !== 0xFFFD) { e[D[245][j]] = 62720 + j; d[62720 + j] = D[245][j];} +D[246] = "����������������������������������������������������������������鯜鯝鯞鯟鯠鯡鯢鯣鯤鯥鯦鯧鯨鯩鯪鯫鯬鯭鯮鯯鯰鯱鯲鯳鯴鯵鯶鯷鯸鯹鯺鯻鯼鯽鯾鯿鰀鰁鰂鰃鰄鰅鰆鰇鰈鰉鰊鰋鰌鰍鰎鰏鰐鰑鰒鰓鰔鰕鰖鰗鰘鰙鰚�鰛鰜鰝鰞鰟鰠鰡鰢鰣鰤鰥鰦鰧鰨鰩鰪鰫鰬鰭鰮鰯鰰鰱鰲鰳鰴鰵鰶鰷鰸鰹鰺鰻觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅龆龇龈龉龊龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞鲟鲠鲡鲢鲣鲥鲦鲧鲨鲩鲫鲭鲮鲰鲱鲲鲳鲴鲵鲶鲷鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋�".split(""); +for(j = 0; j != D[246].length; ++j) if(D[246][j].charCodeAt(0) !== 0xFFFD) { e[D[246][j]] = 62976 + j; d[62976 + j] = D[246][j];} +D[247] = "����������������������������������������������������������������鰼鰽鰾鰿鱀鱁鱂鱃鱄鱅鱆鱇鱈鱉鱊鱋鱌鱍鱎鱏鱐鱑鱒鱓鱔鱕鱖鱗鱘鱙鱚鱛鱜鱝鱞鱟鱠鱡鱢鱣鱤鱥鱦鱧鱨鱩鱪鱫鱬鱭鱮鱯鱰鱱鱲鱳鱴鱵鱶鱷鱸鱹鱺�鱻鱽鱾鲀鲃鲄鲉鲊鲌鲏鲓鲖鲗鲘鲙鲝鲪鲬鲯鲹鲾鲿鳀鳁鳂鳈鳉鳑鳒鳚鳛鳠鳡鳌鳍鳎鳏鳐鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄�".split(""); +for(j = 0; j != D[247].length; ++j) if(D[247][j].charCodeAt(0) !== 0xFFFD) { e[D[247][j]] = 63232 + j; d[63232 + j] = D[247][j];} +D[248] = "����������������������������������������������������������������鳣鳤鳥鳦鳧鳨鳩鳪鳫鳬鳭鳮鳯鳰鳱鳲鳳鳴鳵鳶鳷鳸鳹鳺鳻鳼鳽鳾鳿鴀鴁鴂鴃鴄鴅鴆鴇鴈鴉鴊鴋鴌鴍鴎鴏鴐鴑鴒鴓鴔鴕鴖鴗鴘鴙鴚鴛鴜鴝鴞鴟鴠鴡�鴢鴣鴤鴥鴦鴧鴨鴩鴪鴫鴬鴭鴮鴯鴰鴱鴲鴳鴴鴵鴶鴷鴸鴹鴺鴻鴼鴽鴾鴿鵀鵁鵂�����������������������������������������������������������������������������������������������".split(""); +for(j = 0; j != D[248].length; ++j) if(D[248][j].charCodeAt(0) !== 0xFFFD) { e[D[248][j]] = 63488 + j; d[63488 + j] = D[248][j];} +D[249] = "����������������������������������������������������������������鵃鵄鵅鵆鵇鵈鵉鵊鵋鵌鵍鵎鵏鵐鵑鵒鵓鵔鵕鵖鵗鵘鵙鵚鵛鵜鵝鵞鵟鵠鵡鵢鵣鵤鵥鵦鵧鵨鵩鵪鵫鵬鵭鵮鵯鵰鵱鵲鵳鵴鵵鵶鵷鵸鵹鵺鵻鵼鵽鵾鵿鶀鶁�鶂鶃鶄鶅鶆鶇鶈鶉鶊鶋鶌鶍鶎鶏鶐鶑鶒鶓鶔鶕鶖鶗鶘鶙鶚鶛鶜鶝鶞鶟鶠鶡鶢�����������������������������������������������������������������������������������������������".split(""); +for(j = 0; j != D[249].length; ++j) if(D[249][j].charCodeAt(0) !== 0xFFFD) { e[D[249][j]] = 63744 + j; d[63744 + j] = D[249][j];} +D[250] = "����������������������������������������������������������������鶣鶤鶥鶦鶧鶨鶩鶪鶫鶬鶭鶮鶯鶰鶱鶲鶳鶴鶵鶶鶷鶸鶹鶺鶻鶼鶽鶾鶿鷀鷁鷂鷃鷄鷅鷆鷇鷈鷉鷊鷋鷌鷍鷎鷏鷐鷑鷒鷓鷔鷕鷖鷗鷘鷙鷚鷛鷜鷝鷞鷟鷠鷡�鷢鷣鷤鷥鷦鷧鷨鷩鷪鷫鷬鷭鷮鷯鷰鷱鷲鷳鷴鷵鷶鷷鷸鷹鷺鷻鷼鷽鷾鷿鸀鸁鸂�����������������������������������������������������������������������������������������������".split(""); +for(j = 0; j != D[250].length; ++j) if(D[250][j].charCodeAt(0) !== 0xFFFD) { e[D[250][j]] = 64000 + j; d[64000 + j] = D[250][j];} +D[251] = "����������������������������������������������������������������鸃鸄鸅鸆鸇鸈鸉鸊鸋鸌鸍鸎鸏鸐鸑鸒鸓鸔鸕鸖鸗鸘鸙鸚鸛鸜鸝鸞鸤鸧鸮鸰鸴鸻鸼鹀鹍鹐鹒鹓鹔鹖鹙鹝鹟鹠鹡鹢鹥鹮鹯鹲鹴鹵鹶鹷鹸鹹鹺鹻鹼鹽麀�麁麃麄麅麆麉麊麌麍麎麏麐麑麔麕麖麗麘麙麚麛麜麞麠麡麢麣麤麥麧麨麩麪�����������������������������������������������������������������������������������������������".split(""); +for(j = 0; j != D[251].length; ++j) if(D[251][j].charCodeAt(0) !== 0xFFFD) { e[D[251][j]] = 64256 + j; d[64256 + j] = D[251][j];} +D[252] = "����������������������������������������������������������������麫麬麭麮麯麰麱麲麳麵麶麷麹麺麼麿黀黁黂黃黅黆黇黈黊黋黌黐黒黓黕黖黗黙黚點黡黣黤黦黨黫黬黭黮黰黱黲黳黴黵黶黷黸黺黽黿鼀鼁鼂鼃鼄鼅�鼆鼇鼈鼉鼊鼌鼏鼑鼒鼔鼕鼖鼘鼚鼛鼜鼝鼞鼟鼡鼣鼤鼥鼦鼧鼨鼩鼪鼫鼭鼮鼰鼱�����������������������������������������������������������������������������������������������".split(""); +for(j = 0; j != D[252].length; ++j) if(D[252][j].charCodeAt(0) !== 0xFFFD) { e[D[252][j]] = 64512 + j; d[64512 + j] = D[252][j];} +D[253] = "����������������������������������������������������������������鼲鼳鼴鼵鼶鼸鼺鼼鼿齀齁齂齃齅齆齇齈齉齊齋齌齍齎齏齒齓齔齕齖齗齘齙齚齛齜齝齞齟齠齡齢齣齤齥齦齧齨齩齪齫齬齭齮齯齰齱齲齳齴齵齶齷齸�齹齺齻齼齽齾龁龂龍龎龏龐龑龒龓龔龕龖龗龘龜龝龞龡龢龣龤龥郎凉秊裏隣�����������������������������������������������������������������������������������������������".split(""); +for(j = 0; j != D[253].length; ++j) if(D[253][j].charCodeAt(0) !== 0xFFFD) { e[D[253][j]] = 64768 + j; d[64768 + j] = D[253][j];} +D[254] = "����������������������������������������������������������������兀嗀﨎﨏﨑﨓﨔礼﨟蘒﨡﨣﨤﨧﨨﨩��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������".split(""); +for(j = 0; j != D[254].length; ++j) if(D[254][j].charCodeAt(0) !== 0xFFFD) { e[D[254][j]] = 65024 + j; d[65024 + j] = D[254][j];} +return {"enc": e, "dec": d }; })(); +cptable[949] = (function(){ var d = [], e = {}, D = [], j; +D[0] = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������".split(""); +for(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];} +D[129] = "�����������������������������������������������������������������갂갃갅갆갋갌갍갎갏갘갞갟갡갢갣갥갦갧갨갩갪갫갮갲갳갴������갵갶갷갺갻갽갾갿걁걂걃걄걅걆걇걈걉걊걌걎걏걐걑걒걓걕������걖걗걙걚걛걝걞걟걠걡걢걣걤걥걦걧걨걩걪걫걬걭걮걯걲걳걵걶걹걻걼걽걾걿겂겇겈겍겎겏겑겒겓겕겖겗겘겙겚겛겞겢겣겤겥겦겧겫겭겮겱겲겳겴겵겶겷겺겾겿곀곂곃곅곆곇곉곊곋곍곎곏곐곑곒곓곔곖곘곙곚곛곜곝곞곟곢곣곥곦곩곫곭곮곲곴곷곸곹곺곻곾곿괁괂괃괅괇괈괉괊괋괎괐괒괓�".split(""); +for(j = 0; j != D[129].length; ++j) if(D[129][j].charCodeAt(0) !== 0xFFFD) { e[D[129][j]] = 33024 + j; d[33024 + j] = D[129][j];} +D[130] = "�����������������������������������������������������������������괔괕괖괗괙괚괛괝괞괟괡괢괣괤괥괦괧괨괪괫괮괯괰괱괲괳������괶괷괹괺괻괽괾괿굀굁굂굃굆굈굊굋굌굍굎굏굑굒굓굕굖굗������굙굚굛굜굝굞굟굠굢굤굥굦굧굨굩굪굫굮굯굱굲굷굸굹굺굾궀궃궄궅궆궇궊궋궍궎궏궑궒궓궔궕궖궗궘궙궚궛궞궟궠궡궢궣궥궦궧궨궩궪궫궬궭궮궯궰궱궲궳궴궵궶궸궹궺궻궼궽궾궿귂귃귅귆귇귉귊귋귌귍귎귏귒귔귕귖귗귘귙귚귛귝귞귟귡귢귣귥귦귧귨귩귪귫귬귭귮귯귰귱귲귳귴귵귶귷�".split(""); +for(j = 0; j != D[130].length; ++j) if(D[130][j].charCodeAt(0) !== 0xFFFD) { e[D[130][j]] = 33280 + j; d[33280 + j] = D[130][j];} +D[131] = "�����������������������������������������������������������������귺귻귽귾긂긃긄긅긆긇긊긌긎긏긐긑긒긓긕긖긗긘긙긚긛긜������긝긞긟긠긡긢긣긤긥긦긧긨긩긪긫긬긭긮긯긲긳긵긶긹긻긼������긽긾긿깂깄깇깈깉깋깏깑깒깓깕깗깘깙깚깛깞깢깣깤깦깧깪깫깭깮깯깱깲깳깴깵깶깷깺깾깿꺀꺁꺂꺃꺆꺇꺈꺉꺊꺋꺍꺎꺏꺐꺑꺒꺓꺔꺕꺖꺗꺘꺙꺚꺛꺜꺝꺞꺟꺠꺡꺢꺣꺤꺥꺦꺧꺨꺩꺪꺫꺬꺭꺮꺯꺰꺱꺲꺳꺴꺵꺶꺷꺸꺹꺺꺻꺿껁껂껃껅껆껇껈껉껊껋껎껒껓껔껕껖껗껚껛껝껞껟껠껡껢껣껤껥�".split(""); +for(j = 0; j != D[131].length; ++j) if(D[131][j].charCodeAt(0) !== 0xFFFD) { e[D[131][j]] = 33536 + j; d[33536 + j] = D[131][j];} +D[132] = "�����������������������������������������������������������������껦껧껩껪껬껮껯껰껱껲껳껵껶껷껹껺껻껽껾껿꼀꼁꼂꼃꼄꼅������꼆꼉꼊꼋꼌꼎꼏꼑꼒꼓꼔꼕꼖꼗꼘꼙꼚꼛꼜꼝꼞꼟꼠꼡꼢꼣������꼤꼥꼦꼧꼨꼩꼪꼫꼮꼯꼱꼳꼵꼶꼷꼸꼹꼺꼻꼾꽀꽄꽅꽆꽇꽊꽋꽌꽍꽎꽏꽑꽒꽓꽔꽕꽖꽗꽘꽙꽚꽛꽞꽟꽠꽡꽢꽣꽦꽧꽨꽩꽪꽫꽬꽭꽮꽯꽰꽱꽲꽳꽴꽵꽶꽷꽸꽺꽻꽼꽽꽾꽿꾁꾂꾃꾅꾆꾇꾉꾊꾋꾌꾍꾎꾏꾒꾓꾔꾖꾗꾘꾙꾚꾛꾝꾞꾟꾠꾡꾢꾣꾤꾥꾦꾧꾨꾩꾪꾫꾬꾭꾮꾯꾰꾱꾲꾳꾴꾵꾶꾷꾺꾻꾽꾾�".split(""); +for(j = 0; j != D[132].length; ++j) if(D[132][j].charCodeAt(0) !== 0xFFFD) { e[D[132][j]] = 33792 + j; d[33792 + j] = D[132][j];} +D[133] = "�����������������������������������������������������������������꾿꿁꿂꿃꿄꿅꿆꿊꿌꿏꿐꿑꿒꿓꿕꿖꿗꿘꿙꿚꿛꿝꿞꿟꿠꿡������꿢꿣꿤꿥꿦꿧꿪꿫꿬꿭꿮꿯꿲꿳꿵꿶꿷꿹꿺꿻꿼꿽꿾꿿뀂뀃������뀅뀆뀇뀈뀉뀊뀋뀍뀎뀏뀑뀒뀓뀕뀖뀗뀘뀙뀚뀛뀞뀟뀠뀡뀢뀣뀤뀥뀦뀧뀩뀪뀫뀬뀭뀮뀯뀰뀱뀲뀳뀴뀵뀶뀷뀸뀹뀺뀻뀼뀽뀾뀿끀끁끂끃끆끇끉끋끍끏끐끑끒끖끘끚끛끜끞끟끠끡끢끣끤끥끦끧끨끩끪끫끬끭끮끯끰끱끲끳끴끵끶끷끸끹끺끻끾끿낁낂낃낅낆낇낈낉낊낋낎낐낒낓낔낕낖낗낛낝낞낣낤�".split(""); +for(j = 0; j != D[133].length; ++j) if(D[133][j].charCodeAt(0) !== 0xFFFD) { e[D[133][j]] = 34048 + j; d[34048 + j] = D[133][j];} +D[134] = "�����������������������������������������������������������������낥낦낧낪낰낲낶낷낹낺낻낽낾낿냀냁냂냃냆냊냋냌냍냎냏냒������냓냕냖냗냙냚냛냜냝냞냟냡냢냣냤냦냧냨냩냪냫냬냭냮냯냰������냱냲냳냴냵냶냷냸냹냺냻냼냽냾냿넀넁넂넃넄넅넆넇넊넍넎넏넑넔넕넖넗넚넞넟넠넡넢넦넧넩넪넫넭넮넯넰넱넲넳넶넺넻넼넽넾넿녂녃녅녆녇녉녊녋녌녍녎녏녒녓녖녗녙녚녛녝녞녟녡녢녣녤녥녦녧녨녩녪녫녬녭녮녯녰녱녲녳녴녵녶녷녺녻녽녾녿놁놃놄놅놆놇놊놌놎놏놐놑놕놖놗놙놚놛놝�".split(""); +for(j = 0; j != D[134].length; ++j) if(D[134][j].charCodeAt(0) !== 0xFFFD) { e[D[134][j]] = 34304 + j; d[34304 + j] = D[134][j];} +D[135] = "�����������������������������������������������������������������놞놟놠놡놢놣놤놥놦놧놩놪놫놬놭놮놯놰놱놲놳놴놵놶놷놸������놹놺놻놼놽놾놿뇀뇁뇂뇃뇄뇅뇆뇇뇈뇉뇊뇋뇍뇎뇏뇑뇒뇓뇕������뇖뇗뇘뇙뇚뇛뇞뇠뇡뇢뇣뇤뇥뇦뇧뇪뇫뇭뇮뇯뇱뇲뇳뇴뇵뇶뇷뇸뇺뇼뇾뇿눀눁눂눃눆눇눉눊눍눎눏눐눑눒눓눖눘눚눛눜눝눞눟눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눵눶눷눸눹눺눻눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉙뉚뉛뉝뉞뉟뉡뉢뉣뉤뉥뉦뉧뉪뉫뉬뉭뉮�".split(""); +for(j = 0; j != D[135].length; ++j) if(D[135][j].charCodeAt(0) !== 0xFFFD) { e[D[135][j]] = 34560 + j; d[34560 + j] = D[135][j];} +D[136] = "�����������������������������������������������������������������뉯뉰뉱뉲뉳뉶뉷뉸뉹뉺뉻뉽뉾뉿늀늁늂늃늆늇늈늊늋늌늍늎������늏늒늓늕늖늗늛늜늝늞늟늢늤늧늨늩늫늭늮늯늱늲늳늵늶늷������늸늹늺늻늼늽늾늿닀닁닂닃닄닅닆닇닊닋닍닎닏닑닓닔닕닖닗닚닜닞닟닠닡닣닧닩닪닰닱닲닶닼닽닾댂댃댅댆댇댉댊댋댌댍댎댏댒댖댗댘댙댚댛댝댞댟댠댡댢댣댤댥댦댧댨댩댪댫댬댭댮댯댰댱댲댳댴댵댶댷댸댹댺댻댼댽댾댿덀덁덂덃덄덅덆덇덈덉덊덋덌덍덎덏덐덑덒덓덗덙덚덝덠덡덢덣�".split(""); +for(j = 0; j != D[136].length; ++j) if(D[136][j].charCodeAt(0) !== 0xFFFD) { e[D[136][j]] = 34816 + j; d[34816 + j] = D[136][j];} +D[137] = "�����������������������������������������������������������������덦덨덪덬덭덯덲덳덵덶덷덹덺덻덼덽덾덿뎂뎆뎇뎈뎉뎊뎋뎍������뎎뎏뎑뎒뎓뎕뎖뎗뎘뎙뎚뎛뎜뎝뎞뎟뎢뎣뎤뎥뎦뎧뎩뎪뎫뎭������뎮뎯뎰뎱뎲뎳뎴뎵뎶뎷뎸뎹뎺뎻뎼뎽뎾뎿돀돁돂돃돆돇돉돊돍돏돑돒돓돖돘돚돜돞돟돡돢돣돥돦돧돩돪돫돬돭돮돯돰돱돲돳돴돵돶돷돸돹돺돻돽돾돿됀됁됂됃됄됅됆됇됈됉됊됋됌됍됎됏됑됒됓됔됕됖됗됙됚됛됝됞됟됡됢됣됤됥됦됧됪됬됭됮됯됰됱됲됳됵됶됷됸됹됺됻됼됽됾됿둀둁둂둃둄�".split(""); +for(j = 0; j != D[137].length; ++j) if(D[137][j].charCodeAt(0) !== 0xFFFD) { e[D[137][j]] = 35072 + j; d[35072 + j] = D[137][j];} +D[138] = "�����������������������������������������������������������������둅둆둇둈둉둊둋둌둍둎둏둒둓둕둖둗둙둚둛둜둝둞둟둢둤둦������둧둨둩둪둫둭둮둯둰둱둲둳둴둵둶둷둸둹둺둻둼둽둾둿뒁뒂������뒃뒄뒅뒆뒇뒉뒊뒋뒌뒍뒎뒏뒐뒑뒒뒓뒔뒕뒖뒗뒘뒙뒚뒛뒜뒞뒟뒠뒡뒢뒣뒥뒦뒧뒩뒪뒫뒭뒮뒯뒰뒱뒲뒳뒴뒶뒸뒺뒻뒼뒽뒾뒿듁듂듃듅듆듇듉듊듋듌듍듎듏듑듒듓듔듖듗듘듙듚듛듞듟듡듢듥듧듨듩듪듫듮듰듲듳듴듵듶듷듹듺듻듼듽듾듿딀딁딂딃딄딅딆딇딈딉딊딋딌딍딎딏딐딑딒딓딖딗딙딚딝�".split(""); +for(j = 0; j != D[138].length; ++j) if(D[138][j].charCodeAt(0) !== 0xFFFD) { e[D[138][j]] = 35328 + j; d[35328 + j] = D[138][j];} +D[139] = "�����������������������������������������������������������������딞딟딠딡딢딣딦딫딬딭딮딯딲딳딵딶딷딹딺딻딼딽딾딿땂땆������땇땈땉땊땎땏땑땒땓땕땖땗땘땙땚땛땞땢땣땤땥땦땧땨땩땪������땫땬땭땮땯땰땱땲땳땴땵땶땷땸땹땺땻땼땽땾땿떀떁떂떃떄떅떆떇떈떉떊떋떌떍떎떏떐떑떒떓떔떕떖떗떘떙떚떛떜떝떞떟떢떣떥떦떧떩떬떭떮떯떲떶떷떸떹떺떾떿뗁뗂뗃뗅뗆뗇뗈뗉뗊뗋뗎뗒뗓뗔뗕뗖뗗뗙뗚뗛뗜뗝뗞뗟뗠뗡뗢뗣뗤뗥뗦뗧뗨뗩뗪뗫뗭뗮뗯뗰뗱뗲뗳뗴뗵뗶뗷뗸뗹뗺뗻뗼뗽뗾뗿�".split(""); +for(j = 0; j != D[139].length; ++j) if(D[139][j].charCodeAt(0) !== 0xFFFD) { e[D[139][j]] = 35584 + j; d[35584 + j] = D[139][j];} +D[140] = "�����������������������������������������������������������������똀똁똂똃똄똅똆똇똈똉똊똋똌똍똎똏똒똓똕똖똗똙똚똛똜똝������똞똟똠똡똢똣똤똦똧똨똩똪똫똭똮똯똰똱똲똳똵똶똷똸똹똺������똻똼똽똾똿뙀뙁뙂뙃뙄뙅뙆뙇뙉뙊뙋뙌뙍뙎뙏뙐뙑뙒뙓뙔뙕뙖뙗뙘뙙뙚뙛뙜뙝뙞뙟뙠뙡뙢뙣뙥뙦뙧뙩뙪뙫뙬뙭뙮뙯뙰뙱뙲뙳뙴뙵뙶뙷뙸뙹뙺뙻뙼뙽뙾뙿뚀뚁뚂뚃뚄뚅뚆뚇뚈뚉뚊뚋뚌뚍뚎뚏뚐뚑뚒뚓뚔뚕뚖뚗뚘뚙뚚뚛뚞뚟뚡뚢뚣뚥뚦뚧뚨뚩뚪뚭뚮뚯뚰뚲뚳뚴뚵뚶뚷뚸뚹뚺뚻뚼뚽뚾뚿뛀뛁뛂�".split(""); +for(j = 0; j != D[140].length; ++j) if(D[140][j].charCodeAt(0) !== 0xFFFD) { e[D[140][j]] = 35840 + j; d[35840 + j] = D[140][j];} +D[141] = "�����������������������������������������������������������������뛃뛄뛅뛆뛇뛈뛉뛊뛋뛌뛍뛎뛏뛐뛑뛒뛓뛕뛖뛗뛘뛙뛚뛛뛜뛝������뛞뛟뛠뛡뛢뛣뛤뛥뛦뛧뛨뛩뛪뛫뛬뛭뛮뛯뛱뛲뛳뛵뛶뛷뛹뛺������뛻뛼뛽뛾뛿뜂뜃뜄뜆뜇뜈뜉뜊뜋뜌뜍뜎뜏뜐뜑뜒뜓뜔뜕뜖뜗뜘뜙뜚뜛뜜뜝뜞뜟뜠뜡뜢뜣뜤뜥뜦뜧뜪뜫뜭뜮뜱뜲뜳뜴뜵뜶뜷뜺뜼뜽뜾뜿띀띁띂띃띅띆띇띉띊띋띍띎띏띐띑띒띓띖띗띘띙띚띛띜띝띞띟띡띢띣띥띦띧띩띪띫띬띭띮띯띲띴띶띷띸띹띺띻띾띿랁랂랃랅랆랇랈랉랊랋랎랓랔랕랚랛랝랞�".split(""); +for(j = 0; j != D[141].length; ++j) if(D[141][j].charCodeAt(0) !== 0xFFFD) { e[D[141][j]] = 36096 + j; d[36096 + j] = D[141][j];} +D[142] = "�����������������������������������������������������������������랟랡랢랣랤랥랦랧랪랮랯랰랱랲랳랶랷랹랺랻랼랽랾랿럀럁������럂럃럄럅럆럈럊럋럌럍럎럏럐럑럒럓럔럕럖럗럘럙럚럛럜럝������럞럟럠럡럢럣럤럥럦럧럨럩럪럫럮럯럱럲럳럵럶럷럸럹럺럻럾렂렃렄렅렆렊렋렍렎렏렑렒렓렔렕렖렗렚렜렞렟렠렡렢렣렦렧렩렪렫렭렮렯렰렱렲렳렶렺렻렼렽렾렿롁롂롃롅롆롇롈롉롊롋롌롍롎롏롐롒롔롕롖롗롘롙롚롛롞롟롡롢롣롥롦롧롨롩롪롫롮롰롲롳롴롵롶롷롹롺롻롽롾롿뢀뢁뢂뢃뢄�".split(""); +for(j = 0; j != D[142].length; ++j) if(D[142][j].charCodeAt(0) !== 0xFFFD) { e[D[142][j]] = 36352 + j; d[36352 + j] = D[142][j];} +D[143] = "�����������������������������������������������������������������뢅뢆뢇뢈뢉뢊뢋뢌뢎뢏뢐뢑뢒뢓뢔뢕뢖뢗뢘뢙뢚뢛뢜뢝뢞뢟������뢠뢡뢢뢣뢤뢥뢦뢧뢩뢪뢫뢬뢭뢮뢯뢱뢲뢳뢵뢶뢷뢹뢺뢻뢼뢽������뢾뢿룂룄룆룇룈룉룊룋룍룎룏룑룒룓룕룖룗룘룙룚룛룜룞룠룢룣룤룥룦룧룪룫룭룮룯룱룲룳룴룵룶룷룺룼룾룿뤀뤁뤂뤃뤅뤆뤇뤈뤉뤊뤋뤌뤍뤎뤏뤐뤑뤒뤓뤔뤕뤖뤗뤙뤚뤛뤜뤝뤞뤟뤡뤢뤣뤤뤥뤦뤧뤨뤩뤪뤫뤬뤭뤮뤯뤰뤱뤲뤳뤴뤵뤶뤷뤸뤹뤺뤻뤾뤿륁륂륃륅륆륇륈륉륊륋륍륎륐륒륓륔륕륖륗�".split(""); +for(j = 0; j != D[143].length; ++j) if(D[143][j].charCodeAt(0) !== 0xFFFD) { e[D[143][j]] = 36608 + j; d[36608 + j] = D[143][j];} +D[144] = "�����������������������������������������������������������������륚륛륝륞륟륡륢륣륤륥륦륧륪륬륮륯륰륱륲륳륶륷륹륺륻륽������륾륿릀릁릂릃릆릈릋릌릏릐릑릒릓릔릕릖릗릘릙릚릛릜릝릞������릟릠릡릢릣릤릥릦릧릨릩릪릫릮릯릱릲릳릵릶릷릸릹릺릻릾맀맂맃맄맅맆맇맊맋맍맓맔맕맖맗맚맜맟맠맢맦맧맩맪맫맭맮맯맰맱맲맳맶맻맼맽맾맿먂먃먄먅먆먇먉먊먋먌먍먎먏먐먑먒먓먔먖먗먘먙먚먛먜먝먞먟먠먡먢먣먤먥먦먧먨먩먪먫먬먭먮먯먰먱먲먳먴먵먶먷먺먻먽먾먿멁멃멄멅멆�".split(""); +for(j = 0; j != D[144].length; ++j) if(D[144][j].charCodeAt(0) !== 0xFFFD) { e[D[144][j]] = 36864 + j; d[36864 + j] = D[144][j];} +D[145] = "�����������������������������������������������������������������멇멊멌멏멐멑멒멖멗멙멚멛멝멞멟멠멡멢멣멦멪멫멬멭멮멯������멲멳멵멶멷멹멺멻멼멽멾멿몀몁몂몆몈몉몊몋몍몎몏몐몑몒������몓몔몕몖몗몘몙몚몛몜몝몞몟몠몡몢몣몤몥몦몧몪몭몮몯몱몳몴몵몶몷몺몼몾몿뫀뫁뫂뫃뫅뫆뫇뫉뫊뫋뫌뫍뫎뫏뫐뫑뫒뫓뫔뫕뫖뫗뫚뫛뫜뫝뫞뫟뫠뫡뫢뫣뫤뫥뫦뫧뫨뫩뫪뫫뫬뫭뫮뫯뫰뫱뫲뫳뫴뫵뫶뫷뫸뫹뫺뫻뫽뫾뫿묁묂묃묅묆묇묈묉묊묋묌묎묐묒묓묔묕묖묗묙묚묛묝묞묟묡묢묣묤묥묦묧�".split(""); +for(j = 0; j != D[145].length; ++j) if(D[145][j].charCodeAt(0) !== 0xFFFD) { e[D[145][j]] = 37120 + j; d[37120 + j] = D[145][j];} +D[146] = "�����������������������������������������������������������������묨묪묬묭묮묯묰묱묲묳묷묹묺묿뭀뭁뭂뭃뭆뭈뭊뭋뭌뭎뭑뭒������뭓뭕뭖뭗뭙뭚뭛뭜뭝뭞뭟뭠뭢뭤뭥뭦뭧뭨뭩뭪뭫뭭뭮뭯뭰뭱������뭲뭳뭴뭵뭶뭷뭸뭹뭺뭻뭼뭽뭾뭿뮀뮁뮂뮃뮄뮅뮆뮇뮉뮊뮋뮍뮎뮏뮑뮒뮓뮔뮕뮖뮗뮘뮙뮚뮛뮜뮝뮞뮟뮠뮡뮢뮣뮥뮦뮧뮩뮪뮫뮭뮮뮯뮰뮱뮲뮳뮵뮶뮸뮹뮺뮻뮼뮽뮾뮿믁믂믃믅믆믇믉믊믋믌믍믎믏믑믒믔믕믖믗믘믙믚믛믜믝믞믟믠믡믢믣믤믥믦믧믨믩믪믫믬믭믮믯믰믱믲믳믴믵믶믷믺믻믽믾밁�".split(""); +for(j = 0; j != D[146].length; ++j) if(D[146][j].charCodeAt(0) !== 0xFFFD) { e[D[146][j]] = 37376 + j; d[37376 + j] = D[146][j];} +D[147] = "�����������������������������������������������������������������밃밄밅밆밇밊밎밐밒밓밙밚밠밡밢밣밦밨밪밫밬밮밯밲밳밵������밶밷밹밺밻밼밽밾밿뱂뱆뱇뱈뱊뱋뱎뱏뱑뱒뱓뱔뱕뱖뱗뱘뱙������뱚뱛뱜뱞뱟뱠뱡뱢뱣뱤뱥뱦뱧뱨뱩뱪뱫뱬뱭뱮뱯뱰뱱뱲뱳뱴뱵뱶뱷뱸뱹뱺뱻뱼뱽뱾뱿벀벁벂벃벆벇벉벊벍벏벐벑벒벓벖벘벛벜벝벞벟벢벣벥벦벩벪벫벬벭벮벯벲벶벷벸벹벺벻벾벿볁볂볃볅볆볇볈볉볊볋볌볎볒볓볔볖볗볙볚볛볝볞볟볠볡볢볣볤볥볦볧볨볩볪볫볬볭볮볯볰볱볲볳볷볹볺볻볽�".split(""); +for(j = 0; j != D[147].length; ++j) if(D[147][j].charCodeAt(0) !== 0xFFFD) { e[D[147][j]] = 37632 + j; d[37632 + j] = D[147][j];} +D[148] = "�����������������������������������������������������������������볾볿봀봁봂봃봆봈봊봋봌봍봎봏봑봒봓봕봖봗봘봙봚봛봜봝������봞봟봠봡봢봣봥봦봧봨봩봪봫봭봮봯봰봱봲봳봴봵봶봷봸봹������봺봻봼봽봾봿뵁뵂뵃뵄뵅뵆뵇뵊뵋뵍뵎뵏뵑뵒뵓뵔뵕뵖뵗뵚뵛뵜뵝뵞뵟뵠뵡뵢뵣뵥뵦뵧뵩뵪뵫뵬뵭뵮뵯뵰뵱뵲뵳뵴뵵뵶뵷뵸뵹뵺뵻뵼뵽뵾뵿붂붃붅붆붋붌붍붎붏붒붔붖붗붘붛붝붞붟붠붡붢붣붥붦붧붨붩붪붫붬붭붮붯붱붲붳붴붵붶붷붹붺붻붼붽붾붿뷀뷁뷂뷃뷄뷅뷆뷇뷈뷉뷊뷋뷌뷍뷎뷏뷐뷑�".split(""); +for(j = 0; j != D[148].length; ++j) if(D[148][j].charCodeAt(0) !== 0xFFFD) { e[D[148][j]] = 37888 + j; d[37888 + j] = D[148][j];} +D[149] = "�����������������������������������������������������������������뷒뷓뷖뷗뷙뷚뷛뷝뷞뷟뷠뷡뷢뷣뷤뷥뷦뷧뷨뷪뷫뷬뷭뷮뷯뷱������뷲뷳뷵뷶뷷뷹뷺뷻뷼뷽뷾뷿븁븂븄븆븇븈븉븊븋븎븏븑븒븓������븕븖븗븘븙븚븛븞븠븡븢븣븤븥븦븧븨븩븪븫븬븭븮븯븰븱븲븳븴븵븶븷븸븹븺븻븼븽븾븿빀빁빂빃빆빇빉빊빋빍빏빐빑빒빓빖빘빜빝빞빟빢빣빥빦빧빩빫빬빭빮빯빲빶빷빸빹빺빾빿뺁뺂뺃뺅뺆뺇뺈뺉뺊뺋뺎뺒뺓뺔뺕뺖뺗뺚뺛뺜뺝뺞뺟뺠뺡뺢뺣뺤뺥뺦뺧뺩뺪뺫뺬뺭뺮뺯뺰뺱뺲뺳뺴뺵뺶뺷�".split(""); +for(j = 0; j != D[149].length; ++j) if(D[149][j].charCodeAt(0) !== 0xFFFD) { e[D[149][j]] = 38144 + j; d[38144 + j] = D[149][j];} +D[150] = "�����������������������������������������������������������������뺸뺹뺺뺻뺼뺽뺾뺿뻀뻁뻂뻃뻄뻅뻆뻇뻈뻉뻊뻋뻌뻍뻎뻏뻒뻓������뻕뻖뻙뻚뻛뻜뻝뻞뻟뻡뻢뻦뻧뻨뻩뻪뻫뻭뻮뻯뻰뻱뻲뻳뻴뻵������뻶뻷뻸뻹뻺뻻뻼뻽뻾뻿뼀뼂뼃뼄뼅뼆뼇뼊뼋뼌뼍뼎뼏뼐뼑뼒뼓뼔뼕뼖뼗뼚뼞뼟뼠뼡뼢뼣뼤뼥뼦뼧뼨뼩뼪뼫뼬뼭뼮뼯뼰뼱뼲뼳뼴뼵뼶뼷뼸뼹뼺뼻뼼뼽뼾뼿뽂뽃뽅뽆뽇뽉뽊뽋뽌뽍뽎뽏뽒뽓뽔뽖뽗뽘뽙뽚뽛뽜뽝뽞뽟뽠뽡뽢뽣뽤뽥뽦뽧뽨뽩뽪뽫뽬뽭뽮뽯뽰뽱뽲뽳뽴뽵뽶뽷뽸뽹뽺뽻뽼뽽뽾뽿뾀뾁뾂�".split(""); +for(j = 0; j != D[150].length; ++j) if(D[150][j].charCodeAt(0) !== 0xFFFD) { e[D[150][j]] = 38400 + j; d[38400 + j] = D[150][j];} +D[151] = "�����������������������������������������������������������������뾃뾄뾅뾆뾇뾈뾉뾊뾋뾌뾍뾎뾏뾐뾑뾒뾓뾕뾖뾗뾘뾙뾚뾛뾜뾝������뾞뾟뾠뾡뾢뾣뾤뾥뾦뾧뾨뾩뾪뾫뾬뾭뾮뾯뾱뾲뾳뾴뾵뾶뾷뾸������뾹뾺뾻뾼뾽뾾뾿뿀뿁뿂뿃뿄뿆뿇뿈뿉뿊뿋뿎뿏뿑뿒뿓뿕뿖뿗뿘뿙뿚뿛뿝뿞뿠뿢뿣뿤뿥뿦뿧뿨뿩뿪뿫뿬뿭뿮뿯뿰뿱뿲뿳뿴뿵뿶뿷뿸뿹뿺뿻뿼뿽뿾뿿쀀쀁쀂쀃쀄쀅쀆쀇쀈쀉쀊쀋쀌쀍쀎쀏쀐쀑쀒쀓쀔쀕쀖쀗쀘쀙쀚쀛쀜쀝쀞쀟쀠쀡쀢쀣쀤쀥쀦쀧쀨쀩쀪쀫쀬쀭쀮쀯쀰쀱쀲쀳쀴쀵쀶쀷쀸쀹쀺쀻쀽쀾쀿�".split(""); +for(j = 0; j != D[151].length; ++j) if(D[151][j].charCodeAt(0) !== 0xFFFD) { e[D[151][j]] = 38656 + j; d[38656 + j] = D[151][j];} +D[152] = "�����������������������������������������������������������������쁀쁁쁂쁃쁄쁅쁆쁇쁈쁉쁊쁋쁌쁍쁎쁏쁐쁒쁓쁔쁕쁖쁗쁙쁚쁛������쁝쁞쁟쁡쁢쁣쁤쁥쁦쁧쁪쁫쁬쁭쁮쁯쁰쁱쁲쁳쁴쁵쁶쁷쁸쁹������쁺쁻쁼쁽쁾쁿삀삁삂삃삄삅삆삇삈삉삊삋삌삍삎삏삒삓삕삖삗삙삚삛삜삝삞삟삢삤삦삧삨삩삪삫삮삱삲삷삸삹삺삻삾샂샃샄샆샇샊샋샍샎샏샑샒샓샔샕샖샗샚샞샟샠샡샢샣샦샧샩샪샫샭샮샯샰샱샲샳샶샸샺샻샼샽샾샿섁섂섃섅섆섇섉섊섋섌섍섎섏섑섒섓섔섖섗섘섙섚섛섡섢섥섨섩섪섫섮�".split(""); +for(j = 0; j != D[152].length; ++j) if(D[152][j].charCodeAt(0) !== 0xFFFD) { e[D[152][j]] = 38912 + j; d[38912 + j] = D[152][j];} +D[153] = "�����������������������������������������������������������������섲섳섴섵섷섺섻섽섾섿셁셂셃셄셅셆셇셊셎셏셐셑셒셓셖셗������셙셚셛셝셞셟셠셡셢셣셦셪셫셬셭셮셯셱셲셳셵셶셷셹셺셻������셼셽셾셿솀솁솂솃솄솆솇솈솉솊솋솏솑솒솓솕솗솘솙솚솛솞솠솢솣솤솦솧솪솫솭솮솯솱솲솳솴솵솶솷솸솹솺솻솼솾솿쇀쇁쇂쇃쇅쇆쇇쇉쇊쇋쇍쇎쇏쇐쇑쇒쇓쇕쇖쇙쇚쇛쇜쇝쇞쇟쇡쇢쇣쇥쇦쇧쇩쇪쇫쇬쇭쇮쇯쇲쇴쇵쇶쇷쇸쇹쇺쇻쇾쇿숁숂숃숅숆숇숈숉숊숋숎숐숒숓숔숕숖숗숚숛숝숞숡숢숣�".split(""); +for(j = 0; j != D[153].length; ++j) if(D[153][j].charCodeAt(0) !== 0xFFFD) { e[D[153][j]] = 39168 + j; d[39168 + j] = D[153][j];} +D[154] = "�����������������������������������������������������������������숤숥숦숧숪숬숮숰숳숵숶숷숸숹숺숻숼숽숾숿쉀쉁쉂쉃쉄쉅������쉆쉇쉉쉊쉋쉌쉍쉎쉏쉒쉓쉕쉖쉗쉙쉚쉛쉜쉝쉞쉟쉡쉢쉣쉤쉦������쉧쉨쉩쉪쉫쉮쉯쉱쉲쉳쉵쉶쉷쉸쉹쉺쉻쉾슀슂슃슄슅슆슇슊슋슌슍슎슏슑슒슓슔슕슖슗슙슚슜슞슟슠슡슢슣슦슧슩슪슫슮슯슰슱슲슳슶슸슺슻슼슽슾슿싀싁싂싃싄싅싆싇싈싉싊싋싌싍싎싏싐싑싒싓싔싕싖싗싘싙싚싛싞싟싡싢싥싦싧싨싩싪싮싰싲싳싴싵싷싺싽싾싿쌁쌂쌃쌄쌅쌆쌇쌊쌋쌎쌏�".split(""); +for(j = 0; j != D[154].length; ++j) if(D[154][j].charCodeAt(0) !== 0xFFFD) { e[D[154][j]] = 39424 + j; d[39424 + j] = D[154][j];} +D[155] = "�����������������������������������������������������������������쌐쌑쌒쌖쌗쌙쌚쌛쌝쌞쌟쌠쌡쌢쌣쌦쌧쌪쌫쌬쌭쌮쌯쌰쌱쌲������쌳쌴쌵쌶쌷쌸쌹쌺쌻쌼쌽쌾쌿썀썁썂썃썄썆썇썈썉썊썋썌썍������썎썏썐썑썒썓썔썕썖썗썘썙썚썛썜썝썞썟썠썡썢썣썤썥썦썧썪썫썭썮썯썱썳썴썵썶썷썺썻썾썿쎀쎁쎂쎃쎅쎆쎇쎉쎊쎋쎍쎎쎏쎐쎑쎒쎓쎔쎕쎖쎗쎘쎙쎚쎛쎜쎝쎞쎟쎠쎡쎢쎣쎤쎥쎦쎧쎨쎩쎪쎫쎬쎭쎮쎯쎰쎱쎲쎳쎴쎵쎶쎷쎸쎹쎺쎻쎼쎽쎾쎿쏁쏂쏃쏄쏅쏆쏇쏈쏉쏊쏋쏌쏍쏎쏏쏐쏑쏒쏓쏔쏕쏖쏗쏚�".split(""); +for(j = 0; j != D[155].length; ++j) if(D[155][j].charCodeAt(0) !== 0xFFFD) { e[D[155][j]] = 39680 + j; d[39680 + j] = D[155][j];} +D[156] = "�����������������������������������������������������������������쏛쏝쏞쏡쏣쏤쏥쏦쏧쏪쏫쏬쏮쏯쏰쏱쏲쏳쏶쏷쏹쏺쏻쏼쏽쏾������쏿쐀쐁쐂쐃쐄쐅쐆쐇쐉쐊쐋쐌쐍쐎쐏쐑쐒쐓쐔쐕쐖쐗쐘쐙쐚������쐛쐜쐝쐞쐟쐠쐡쐢쐣쐥쐦쐧쐨쐩쐪쐫쐭쐮쐯쐱쐲쐳쐵쐶쐷쐸쐹쐺쐻쐾쐿쑀쑁쑂쑃쑄쑅쑆쑇쑉쑊쑋쑌쑍쑎쑏쑐쑑쑒쑓쑔쑕쑖쑗쑘쑙쑚쑛쑜쑝쑞쑟쑠쑡쑢쑣쑦쑧쑩쑪쑫쑭쑮쑯쑰쑱쑲쑳쑶쑷쑸쑺쑻쑼쑽쑾쑿쒁쒂쒃쒄쒅쒆쒇쒈쒉쒊쒋쒌쒍쒎쒏쒐쒑쒒쒓쒕쒖쒗쒘쒙쒚쒛쒝쒞쒟쒠쒡쒢쒣쒤쒥쒦쒧쒨쒩�".split(""); +for(j = 0; j != D[156].length; ++j) if(D[156][j].charCodeAt(0) !== 0xFFFD) { e[D[156][j]] = 39936 + j; d[39936 + j] = D[156][j];} +D[157] = "�����������������������������������������������������������������쒪쒫쒬쒭쒮쒯쒰쒱쒲쒳쒴쒵쒶쒷쒹쒺쒻쒽쒾쒿쓀쓁쓂쓃쓄쓅������쓆쓇쓈쓉쓊쓋쓌쓍쓎쓏쓐쓑쓒쓓쓔쓕쓖쓗쓘쓙쓚쓛쓜쓝쓞쓟������쓠쓡쓢쓣쓤쓥쓦쓧쓨쓪쓫쓬쓭쓮쓯쓲쓳쓵쓶쓷쓹쓻쓼쓽쓾씂씃씄씅씆씇씈씉씊씋씍씎씏씑씒씓씕씖씗씘씙씚씛씝씞씟씠씡씢씣씤씥씦씧씪씫씭씮씯씱씲씳씴씵씶씷씺씼씾씿앀앁앂앃앆앇앋앏앐앑앒앖앚앛앜앟앢앣앥앦앧앩앪앫앬앭앮앯앲앶앷앸앹앺앻앾앿얁얂얃얅얆얈얉얊얋얎얐얒얓얔�".split(""); +for(j = 0; j != D[157].length; ++j) if(D[157][j].charCodeAt(0) !== 0xFFFD) { e[D[157][j]] = 40192 + j; d[40192 + j] = D[157][j];} +D[158] = "�����������������������������������������������������������������얖얙얚얛얝얞얟얡얢얣얤얥얦얧얨얪얫얬얭얮얯얰얱얲얳얶������얷얺얿엀엁엂엃엋엍엏엒엓엕엖엗엙엚엛엜엝엞엟엢엤엦엧������엨엩엪엫엯엱엲엳엵엸엹엺엻옂옃옄옉옊옋옍옎옏옑옒옓옔옕옖옗옚옝옞옟옠옡옢옣옦옧옩옪옫옯옱옲옶옸옺옼옽옾옿왂왃왅왆왇왉왊왋왌왍왎왏왒왖왗왘왙왚왛왞왟왡왢왣왤왥왦왧왨왩왪왫왭왮왰왲왳왴왵왶왷왺왻왽왾왿욁욂욃욄욅욆욇욊욌욎욏욐욑욒욓욖욗욙욚욛욝욞욟욠욡욢욣욦�".split(""); +for(j = 0; j != D[158].length; ++j) if(D[158][j].charCodeAt(0) !== 0xFFFD) { e[D[158][j]] = 40448 + j; d[40448 + j] = D[158][j];} +D[159] = "�����������������������������������������������������������������욨욪욫욬욭욮욯욲욳욵욶욷욻욼욽욾욿웂웄웆웇웈웉웊웋웎������웏웑웒웓웕웖웗웘웙웚웛웞웟웢웣웤웥웦웧웪웫웭웮웯웱웲������웳웴웵웶웷웺웻웼웾웿윀윁윂윃윆윇윉윊윋윍윎윏윐윑윒윓윖윘윚윛윜윝윞윟윢윣윥윦윧윩윪윫윬윭윮윯윲윴윶윸윹윺윻윾윿읁읂읃읅읆읇읈읉읋읎읐읙읚읛읝읞읟읡읢읣읤읥읦읧읩읪읬읭읮읯읰읱읲읳읶읷읹읺읻읿잀잁잂잆잋잌잍잏잒잓잕잙잛잜잝잞잟잢잧잨잩잪잫잮잯잱잲잳잵잶잷�".split(""); +for(j = 0; j != D[159].length; ++j) if(D[159][j].charCodeAt(0) !== 0xFFFD) { e[D[159][j]] = 40704 + j; d[40704 + j] = D[159][j];} +D[160] = "�����������������������������������������������������������������잸잹잺잻잾쟂쟃쟄쟅쟆쟇쟊쟋쟍쟏쟑쟒쟓쟔쟕쟖쟗쟙쟚쟛쟜������쟞쟟쟠쟡쟢쟣쟥쟦쟧쟩쟪쟫쟭쟮쟯쟰쟱쟲쟳쟴쟵쟶쟷쟸쟹쟺������쟻쟼쟽쟾쟿젂젃젅젆젇젉젋젌젍젎젏젒젔젗젘젙젚젛젞젟젡젢젣젥젦젧젨젩젪젫젮젰젲젳젴젵젶젷젹젺젻젽젾젿졁졂졃졄졅졆졇졊졋졎졏졐졑졒졓졕졖졗졘졙졚졛졜졝졞졟졠졡졢졣졤졥졦졧졨졩졪졫졬졭졮졯졲졳졵졶졷졹졻졼졽졾졿좂좄좈좉좊좎좏좐좑좒좓좕좖좗좘좙좚좛좜좞좠좢좣좤�".split(""); +for(j = 0; j != D[160].length; ++j) if(D[160][j].charCodeAt(0) !== 0xFFFD) { e[D[160][j]] = 40960 + j; d[40960 + j] = D[160][j];} +D[161] = "�����������������������������������������������������������������좥좦좧좩좪좫좬좭좮좯좰좱좲좳좴좵좶좷좸좹좺좻좾좿죀죁������죂죃죅죆죇죉죊죋죍죎죏죐죑죒죓죖죘죚죛죜죝죞죟죢죣죥������죦죧죨죩죪죫죬죭죮죯죰죱죲죳죴죶죷죸죹죺죻죾죿줁줂줃줇줈줉줊줋줎 、。·‥…¨〃­―∥\∼‘’“”〔〕〈〉《》「」『』【】±×÷≠≤≥∞∴°′″℃Å¢£¥♂♀∠⊥⌒∂∇≡≒§※☆★○●◎◇◆□■△▲▽▼→←↑↓↔〓≪≫√∽∝∵∫∬∈∋⊆⊇⊂⊃∪∩∧∨¬�".split(""); +for(j = 0; j != D[161].length; ++j) if(D[161][j].charCodeAt(0) !== 0xFFFD) { e[D[161][j]] = 41216 + j; d[41216 + j] = D[161][j];} +D[162] = "�����������������������������������������������������������������줐줒줓줔줕줖줗줙줚줛줜줝줞줟줠줡줢줣줤줥줦줧줨줩줪줫������줭줮줯줰줱줲줳줵줶줷줸줹줺줻줼줽줾줿쥀쥁쥂쥃쥄쥅쥆쥇������쥈쥉쥊쥋쥌쥍쥎쥏쥒쥓쥕쥖쥗쥙쥚쥛쥜쥝쥞쥟쥢쥤쥥쥦쥧쥨쥩쥪쥫쥭쥮쥯⇒⇔∀∃´~ˇ˘˝˚˙¸˛¡¿ː∮∑∏¤℉‰◁◀▷▶♤♠♡♥♧♣⊙◈▣◐◑▒▤▥▨▧▦▩♨☏☎☜☞¶†‡↕↗↙↖↘♭♩♪♬㉿㈜№㏇™㏂㏘℡€®������������������������".split(""); +for(j = 0; j != D[162].length; ++j) if(D[162][j].charCodeAt(0) !== 0xFFFD) { e[D[162][j]] = 41472 + j; d[41472 + j] = D[162][j];} +D[163] = "�����������������������������������������������������������������쥱쥲쥳쥵쥶쥷쥸쥹쥺쥻쥽쥾쥿즀즁즂즃즄즅즆즇즊즋즍즎즏������즑즒즓즔즕즖즗즚즜즞즟즠즡즢즣즤즥즦즧즨즩즪즫즬즭즮������즯즰즱즲즳즴즵즶즷즸즹즺즻즼즽즾즿짂짃짅짆짉짋짌짍짎짏짒짔짗짘짛!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[₩]^_`abcdefghijklmnopqrstuvwxyz{|} ̄�".split(""); +for(j = 0; j != D[163].length; ++j) if(D[163][j].charCodeAt(0) !== 0xFFFD) { e[D[163][j]] = 41728 + j; d[41728 + j] = D[163][j];} +D[164] = "�����������������������������������������������������������������짞짟짡짣짥짦짨짩짪짫짮짲짳짴짵짶짷짺짻짽짾짿쨁쨂쨃쨄������쨅쨆쨇쨊쨎쨏쨐쨑쨒쨓쨕쨖쨗쨙쨚쨛쨜쨝쨞쨟쨠쨡쨢쨣쨤쨥������쨦쨧쨨쨪쨫쨬쨭쨮쨯쨰쨱쨲쨳쨴쨵쨶쨷쨸쨹쨺쨻쨼쨽쨾쨿쩀쩁쩂쩃쩄쩅쩆ㄱㄲㄳㄴㄵㄶㄷㄸㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅃㅄㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎㅏㅐㅑㅒㅓㅔㅕㅖㅗㅘㅙㅚㅛㅜㅝㅞㅟㅠㅡㅢㅣㅤㅥㅦㅧㅨㅩㅪㅫㅬㅭㅮㅯㅰㅱㅲㅳㅴㅵㅶㅷㅸㅹㅺㅻㅼㅽㅾㅿㆀㆁㆂㆃㆄㆅㆆㆇㆈㆉㆊㆋㆌㆍㆎ�".split(""); +for(j = 0; j != D[164].length; ++j) if(D[164][j].charCodeAt(0) !== 0xFFFD) { e[D[164][j]] = 41984 + j; d[41984 + j] = D[164][j];} +D[165] = "�����������������������������������������������������������������쩇쩈쩉쩊쩋쩎쩏쩑쩒쩓쩕쩖쩗쩘쩙쩚쩛쩞쩢쩣쩤쩥쩦쩧쩩쩪������쩫쩬쩭쩮쩯쩰쩱쩲쩳쩴쩵쩶쩷쩸쩹쩺쩻쩼쩾쩿쪀쪁쪂쪃쪅쪆������쪇쪈쪉쪊쪋쪌쪍쪎쪏쪐쪑쪒쪓쪔쪕쪖쪗쪙쪚쪛쪜쪝쪞쪟쪠쪡쪢쪣쪤쪥쪦쪧ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ�����ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ�������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�������".split(""); +for(j = 0; j != D[165].length; ++j) if(D[165][j].charCodeAt(0) !== 0xFFFD) { e[D[165][j]] = 42240 + j; d[42240 + j] = D[165][j];} +D[166] = "�����������������������������������������������������������������쪨쪩쪪쪫쪬쪭쪮쪯쪰쪱쪲쪳쪴쪵쪶쪷쪸쪹쪺쪻쪾쪿쫁쫂쫃쫅������쫆쫇쫈쫉쫊쫋쫎쫐쫒쫔쫕쫖쫗쫚쫛쫜쫝쫞쫟쫡쫢쫣쫤쫥쫦쫧������쫨쫩쫪쫫쫭쫮쫯쫰쫱쫲쫳쫵쫶쫷쫸쫹쫺쫻쫼쫽쫾쫿쬀쬁쬂쬃쬄쬅쬆쬇쬉쬊─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂┒┑┚┙┖┕┎┍┞┟┡┢┦┧┩┪┭┮┱┲┵┶┹┺┽┾╀╁╃╄╅╆╇╈╉╊���������������������������".split(""); +for(j = 0; j != D[166].length; ++j) if(D[166][j].charCodeAt(0) !== 0xFFFD) { e[D[166][j]] = 42496 + j; d[42496 + j] = D[166][j];} +D[167] = "�����������������������������������������������������������������쬋쬌쬍쬎쬏쬑쬒쬓쬕쬖쬗쬙쬚쬛쬜쬝쬞쬟쬢쬣쬤쬥쬦쬧쬨쬩������쬪쬫쬬쬭쬮쬯쬰쬱쬲쬳쬴쬵쬶쬷쬸쬹쬺쬻쬼쬽쬾쬿쭀쭂쭃쭄������쭅쭆쭇쭊쭋쭍쭎쭏쭑쭒쭓쭔쭕쭖쭗쭚쭛쭜쭞쭟쭠쭡쭢쭣쭥쭦쭧쭨쭩쭪쭫쭬㎕㎖㎗ℓ㎘㏄㎣㎤㎥㎦㎙㎚㎛㎜㎝㎞㎟㎠㎡㎢㏊㎍㎎㎏㏏㎈㎉㏈㎧㎨㎰㎱㎲㎳㎴㎵㎶㎷㎸㎹㎀㎁㎂㎃㎄㎺㎻㎼㎽㎾㎿㎐㎑㎒㎓㎔Ω㏀㏁㎊㎋㎌㏖㏅㎭㎮㎯㏛㎩㎪㎫㎬㏝㏐㏓㏃㏉㏜㏆����������������".split(""); +for(j = 0; j != D[167].length; ++j) if(D[167][j].charCodeAt(0) !== 0xFFFD) { e[D[167][j]] = 42752 + j; d[42752 + j] = D[167][j];} +D[168] = "�����������������������������������������������������������������쭭쭮쭯쭰쭱쭲쭳쭴쭵쭶쭷쭺쭻쭼쭽쭾쭿쮀쮁쮂쮃쮄쮅쮆쮇쮈������쮉쮊쮋쮌쮍쮎쮏쮐쮑쮒쮓쮔쮕쮖쮗쮘쮙쮚쮛쮝쮞쮟쮠쮡쮢쮣������쮤쮥쮦쮧쮨쮩쮪쮫쮬쮭쮮쮯쮰쮱쮲쮳쮴쮵쮶쮷쮹쮺쮻쮼쮽쮾쮿쯀쯁쯂쯃쯄ÆÐªĦ�IJ�ĿŁØŒºÞŦŊ�㉠㉡㉢㉣㉤㉥㉦㉧㉨㉩㉪㉫㉬㉭㉮㉯㉰㉱㉲㉳㉴㉵㉶㉷㉸㉹㉺㉻ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮½⅓⅔¼¾⅛⅜⅝⅞�".split(""); +for(j = 0; j != D[168].length; ++j) if(D[168][j].charCodeAt(0) !== 0xFFFD) { e[D[168][j]] = 43008 + j; d[43008 + j] = D[168][j];} +D[169] = "�����������������������������������������������������������������쯅쯆쯇쯈쯉쯊쯋쯌쯍쯎쯏쯐쯑쯒쯓쯕쯖쯗쯘쯙쯚쯛쯜쯝쯞쯟������쯠쯡쯢쯣쯥쯦쯨쯪쯫쯬쯭쯮쯯쯰쯱쯲쯳쯴쯵쯶쯷쯸쯹쯺쯻쯼������쯽쯾쯿찀찁찂찃찄찅찆찇찈찉찊찋찎찏찑찒찓찕찖찗찘찙찚찛찞찟찠찣찤æđðħıijĸŀłøœßþŧŋʼn㈀㈁㈂㈃㈄㈅㈆㈇㈈㈉㈊㈋㈌㈍㈎㈏㈐㈑㈒㈓㈔㈕㈖㈗㈘㈙㈚㈛⒜⒝⒞⒟⒠⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂¹²³⁴ⁿ₁₂₃₄�".split(""); +for(j = 0; j != D[169].length; ++j) if(D[169][j].charCodeAt(0) !== 0xFFFD) { e[D[169][j]] = 43264 + j; d[43264 + j] = D[169][j];} +D[170] = "�����������������������������������������������������������������찥찦찪찫찭찯찱찲찳찴찵찶찷찺찿챀챁챂챃챆챇챉챊챋챍챎������챏챐챑챒챓챖챚챛챜챝챞챟챡챢챣챥챧챩챪챫챬챭챮챯챱챲������챳챴챶챷챸챹챺챻챼챽챾챿첀첁첂첃첄첅첆첇첈첉첊첋첌첍첎첏첐첑첒첓ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������".split(""); +for(j = 0; j != D[170].length; ++j) if(D[170][j].charCodeAt(0) !== 0xFFFD) { e[D[170][j]] = 43520 + j; d[43520 + j] = D[170][j];} +D[171] = "�����������������������������������������������������������������첔첕첖첗첚첛첝첞첟첡첢첣첤첥첦첧첪첮첯첰첱첲첳첶첷첹������첺첻첽첾첿쳀쳁쳂쳃쳆쳈쳊쳋쳌쳍쳎쳏쳑쳒쳓쳕쳖쳗쳘쳙쳚������쳛쳜쳝쳞쳟쳠쳡쳢쳣쳥쳦쳧쳨쳩쳪쳫쳭쳮쳯쳱쳲쳳쳴쳵쳶쳷쳸쳹쳺쳻쳼쳽ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������".split(""); +for(j = 0; j != D[171].length; ++j) if(D[171][j].charCodeAt(0) !== 0xFFFD) { e[D[171][j]] = 43776 + j; d[43776 + j] = D[171][j];} +D[172] = "�����������������������������������������������������������������쳾쳿촀촂촃촄촅촆촇촊촋촍촎촏촑촒촓촔촕촖촗촚촜촞촟촠������촡촢촣촥촦촧촩촪촫촭촮촯촰촱촲촳촴촵촶촷촸촺촻촼촽촾������촿쵀쵁쵂쵃쵄쵅쵆쵇쵈쵉쵊쵋쵌쵍쵎쵏쵐쵑쵒쵓쵔쵕쵖쵗쵘쵙쵚쵛쵝쵞쵟АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������".split(""); +for(j = 0; j != D[172].length; ++j) if(D[172][j].charCodeAt(0) !== 0xFFFD) { e[D[172][j]] = 44032 + j; d[44032 + j] = D[172][j];} +D[173] = "�����������������������������������������������������������������쵡쵢쵣쵥쵦쵧쵨쵩쵪쵫쵮쵰쵲쵳쵴쵵쵶쵷쵹쵺쵻쵼쵽쵾쵿춀������춁춂춃춄춅춆춇춉춊춋춌춍춎춏춐춑춒춓춖춗춙춚춛춝춞춟������춠춡춢춣춦춨춪춫춬춭춮춯춱춲춳춴춵춶춷춸춹춺춻춼춽춾춿췀췁췂췃췅�����������������������������������������������������������������������������������������������".split(""); +for(j = 0; j != D[173].length; ++j) if(D[173][j].charCodeAt(0) !== 0xFFFD) { e[D[173][j]] = 44288 + j; d[44288 + j] = D[173][j];} +D[174] = "�����������������������������������������������������������������췆췇췈췉췊췋췍췎췏췑췒췓췔췕췖췗췘췙췚췛췜췝췞췟췠췡������췢췣췤췥췦췧췩췪췫췭췮췯췱췲췳췴췵췶췷췺췼췾췿츀츁츂������츃츅츆츇츉츊츋츍츎츏츐츑츒츓츕츖츗츘츚츛츜츝츞츟츢츣츥츦츧츩츪츫�����������������������������������������������������������������������������������������������".split(""); +for(j = 0; j != D[174].length; ++j) if(D[174][j].charCodeAt(0) !== 0xFFFD) { e[D[174][j]] = 44544 + j; d[44544 + j] = D[174][j];} +D[175] = "�����������������������������������������������������������������츬츭츮츯츲츴츶츷츸츹츺츻츼츽츾츿칀칁칂칃칄칅칆칇칈칉������칊칋칌칍칎칏칐칑칒칓칔칕칖칗칚칛칝칞칢칣칤칥칦칧칪칬������칮칯칰칱칲칳칶칷칹칺칻칽칾칿캀캁캂캃캆캈캊캋캌캍캎캏캒캓캕캖캗캙�����������������������������������������������������������������������������������������������".split(""); +for(j = 0; j != D[175].length; ++j) if(D[175][j].charCodeAt(0) !== 0xFFFD) { e[D[175][j]] = 44800 + j; d[44800 + j] = D[175][j];} +D[176] = "�����������������������������������������������������������������캚캛캜캝캞캟캢캦캧캨캩캪캫캮캯캰캱캲캳캴캵캶캷캸캹캺������캻캼캽캾캿컀컂컃컄컅컆컇컈컉컊컋컌컍컎컏컐컑컒컓컔컕������컖컗컘컙컚컛컜컝컞컟컠컡컢컣컦컧컩컪컭컮컯컰컱컲컳컶컺컻컼컽컾컿가각간갇갈갉갊감갑값갓갔강갖갗같갚갛개객갠갤갬갭갯갰갱갸갹갼걀걋걍걔걘걜거걱건걷걸걺검겁것겄겅겆겉겊겋게겐겔겜겝겟겠겡겨격겪견겯결겸겹겻겼경곁계곈곌곕곗고곡곤곧골곪곬곯곰곱곳공곶과곽관괄괆�".split(""); +for(j = 0; j != D[176].length; ++j) if(D[176][j].charCodeAt(0) !== 0xFFFD) { e[D[176][j]] = 45056 + j; d[45056 + j] = D[176][j];} +D[177] = "�����������������������������������������������������������������켂켃켅켆켇켉켊켋켌켍켎켏켒켔켖켗켘켙켚켛켝켞켟켡켢켣������켥켦켧켨켩켪켫켮켲켳켴켵켶켷켹켺켻켼켽켾켿콀콁콂콃콄������콅콆콇콈콉콊콋콌콍콎콏콐콑콒콓콖콗콙콚콛콝콞콟콠콡콢콣콦콨콪콫콬괌괍괏광괘괜괠괩괬괭괴괵괸괼굄굅굇굉교굔굘굡굣구국군굳굴굵굶굻굼굽굿궁궂궈궉권궐궜궝궤궷귀귁귄귈귐귑귓규균귤그극근귿글긁금급긋긍긔기긱긴긷길긺김깁깃깅깆깊까깍깎깐깔깖깜깝깟깠깡깥깨깩깬깰깸�".split(""); +for(j = 0; j != D[177].length; ++j) if(D[177][j].charCodeAt(0) !== 0xFFFD) { e[D[177][j]] = 45312 + j; d[45312 + j] = D[177][j];} +D[178] = "�����������������������������������������������������������������콭콮콯콲콳콵콶콷콹콺콻콼콽콾콿쾁쾂쾃쾄쾆쾇쾈쾉쾊쾋쾍������쾎쾏쾐쾑쾒쾓쾔쾕쾖쾗쾘쾙쾚쾛쾜쾝쾞쾟쾠쾢쾣쾤쾥쾦쾧쾩������쾪쾫쾬쾭쾮쾯쾱쾲쾳쾴쾵쾶쾷쾸쾹쾺쾻쾼쾽쾾쾿쿀쿁쿂쿃쿅쿆쿇쿈쿉쿊쿋깹깻깼깽꺄꺅꺌꺼꺽꺾껀껄껌껍껏껐껑께껙껜껨껫껭껴껸껼꼇꼈꼍꼐꼬꼭꼰꼲꼴꼼꼽꼿꽁꽂꽃꽈꽉꽐꽜꽝꽤꽥꽹꾀꾄꾈꾐꾑꾕꾜꾸꾹꾼꿀꿇꿈꿉꿋꿍꿎꿔꿜꿨꿩꿰꿱꿴꿸뀀뀁뀄뀌뀐뀔뀜뀝뀨끄끅끈끊끌끎끓끔끕끗끙�".split(""); +for(j = 0; j != D[178].length; ++j) if(D[178][j].charCodeAt(0) !== 0xFFFD) { e[D[178][j]] = 45568 + j; d[45568 + j] = D[178][j];} +D[179] = "�����������������������������������������������������������������쿌쿍쿎쿏쿐쿑쿒쿓쿔쿕쿖쿗쿘쿙쿚쿛쿜쿝쿞쿟쿢쿣쿥쿦쿧쿩������쿪쿫쿬쿭쿮쿯쿲쿴쿶쿷쿸쿹쿺쿻쿽쿾쿿퀁퀂퀃퀅퀆퀇퀈퀉퀊������퀋퀌퀍퀎퀏퀐퀒퀓퀔퀕퀖퀗퀙퀚퀛퀜퀝퀞퀟퀠퀡퀢퀣퀤퀥퀦퀧퀨퀩퀪퀫퀬끝끼끽낀낄낌낍낏낑나낙낚난낟날낡낢남납낫났낭낮낯낱낳내낵낸낼냄냅냇냈냉냐냑냔냘냠냥너넉넋넌널넒넓넘넙넛넜넝넣네넥넨넬넴넵넷넸넹녀녁년녈념녑녔녕녘녜녠노녹논놀놂놈놉놋농높놓놔놘놜놨뇌뇐뇔뇜뇝�".split(""); +for(j = 0; j != D[179].length; ++j) if(D[179][j].charCodeAt(0) !== 0xFFFD) { e[D[179][j]] = 45824 + j; d[45824 + j] = D[179][j];} +D[180] = "�����������������������������������������������������������������퀮퀯퀰퀱퀲퀳퀶퀷퀹퀺퀻퀽퀾퀿큀큁큂큃큆큈큊큋큌큍큎큏������큑큒큓큕큖큗큙큚큛큜큝큞큟큡큢큣큤큥큦큧큨큩큪큫큮큯������큱큲큳큵큶큷큸큹큺큻큾큿킀킂킃킄킅킆킇킈킉킊킋킌킍킎킏킐킑킒킓킔뇟뇨뇩뇬뇰뇹뇻뇽누눅눈눋눌눔눕눗눙눠눴눼뉘뉜뉠뉨뉩뉴뉵뉼늄늅늉느늑는늘늙늚늠늡늣능늦늪늬늰늴니닉닌닐닒님닙닛닝닢다닥닦단닫달닭닮닯닳담답닷닸당닺닻닿대댁댄댈댐댑댓댔댕댜더덕덖던덛덜덞덟덤덥�".split(""); +for(j = 0; j != D[180].length; ++j) if(D[180][j].charCodeAt(0) !== 0xFFFD) { e[D[180][j]] = 46080 + j; d[46080 + j] = D[180][j];} +D[181] = "�����������������������������������������������������������������킕킖킗킘킙킚킛킜킝킞킟킠킡킢킣킦킧킩킪킫킭킮킯킰킱킲������킳킶킸킺킻킼킽킾킿탂탃탅탆탇탊탋탌탍탎탏탒탖탗탘탙탚������탛탞탟탡탢탣탥탦탧탨탩탪탫탮탲탳탴탵탶탷탹탺탻탼탽탾탿턀턁턂턃턄덧덩덫덮데덱덴델뎀뎁뎃뎄뎅뎌뎐뎔뎠뎡뎨뎬도독돈돋돌돎돐돔돕돗동돛돝돠돤돨돼됐되된될됨됩됫됴두둑둔둘둠둡둣둥둬뒀뒈뒝뒤뒨뒬뒵뒷뒹듀듄듈듐듕드득든듣들듦듬듭듯등듸디딕딘딛딜딤딥딧딨딩딪따딱딴딸�".split(""); +for(j = 0; j != D[181].length; ++j) if(D[181][j].charCodeAt(0) !== 0xFFFD) { e[D[181][j]] = 46336 + j; d[46336 + j] = D[181][j];} +D[182] = "�����������������������������������������������������������������턅턆턇턈턉턊턋턌턎턏턐턑턒턓턔턕턖턗턘턙턚턛턜턝턞턟������턠턡턢턣턤턥턦턧턨턩턪턫턬턭턮턯턲턳턵턶턷턹턻턼턽턾������턿텂텆텇텈텉텊텋텎텏텑텒텓텕텖텗텘텙텚텛텞텠텢텣텤텥텦텧텩텪텫텭땀땁땃땄땅땋때땍땐땔땜땝땟땠땡떠떡떤떨떪떫떰떱떳떴떵떻떼떽뗀뗄뗌뗍뗏뗐뗑뗘뗬또똑똔똘똥똬똴뙈뙤뙨뚜뚝뚠뚤뚫뚬뚱뛔뛰뛴뛸뜀뜁뜅뜨뜩뜬뜯뜰뜸뜹뜻띄띈띌띔띕띠띤띨띰띱띳띵라락란랄람랍랏랐랑랒랖랗�".split(""); +for(j = 0; j != D[182].length; ++j) if(D[182][j].charCodeAt(0) !== 0xFFFD) { e[D[182][j]] = 46592 + j; d[46592 + j] = D[182][j];} +D[183] = "�����������������������������������������������������������������텮텯텰텱텲텳텴텵텶텷텸텹텺텻텽텾텿톀톁톂톃톅톆톇톉톊������톋톌톍톎톏톐톑톒톓톔톕톖톗톘톙톚톛톜톝톞톟톢톣톥톦톧������톩톪톫톬톭톮톯톲톴톶톷톸톹톻톽톾톿퇁퇂퇃퇄퇅퇆퇇퇈퇉퇊퇋퇌퇍퇎퇏래랙랜랠램랩랫랬랭랴략랸럇량러럭런럴럼럽럿렀렁렇레렉렌렐렘렙렛렝려력련렬렴렵렷렸령례롄롑롓로록론롤롬롭롯롱롸롼뢍뢨뢰뢴뢸룀룁룃룅료룐룔룝룟룡루룩룬룰룸룹룻룽뤄뤘뤠뤼뤽륀륄륌륏륑류륙륜률륨륩�".split(""); +for(j = 0; j != D[183].length; ++j) if(D[183][j].charCodeAt(0) !== 0xFFFD) { e[D[183][j]] = 46848 + j; d[46848 + j] = D[183][j];} +D[184] = "�����������������������������������������������������������������퇐퇑퇒퇓퇔퇕퇖퇗퇙퇚퇛퇜퇝퇞퇟퇠퇡퇢퇣퇤퇥퇦퇧퇨퇩퇪������퇫퇬퇭퇮퇯퇰퇱퇲퇳퇵퇶퇷퇹퇺퇻퇼퇽퇾퇿툀툁툂툃툄툅툆������툈툊툋툌툍툎툏툑툒툓툔툕툖툗툘툙툚툛툜툝툞툟툠툡툢툣툤툥툦툧툨툩륫륭르륵른를름릅릇릉릊릍릎리릭린릴림립릿링마막만많맏말맑맒맘맙맛망맞맡맣매맥맨맬맴맵맷맸맹맺먀먁먈먕머먹먼멀멂멈멉멋멍멎멓메멕멘멜멤멥멧멨멩며멱면멸몃몄명몇몌모목몫몬몰몲몸몹못몽뫄뫈뫘뫙뫼�".split(""); +for(j = 0; j != D[184].length; ++j) if(D[184][j].charCodeAt(0) !== 0xFFFD) { e[D[184][j]] = 47104 + j; d[47104 + j] = D[184][j];} +D[185] = "�����������������������������������������������������������������툪툫툮툯툱툲툳툵툶툷툸툹툺툻툾퉀퉂퉃퉄퉅퉆퉇퉉퉊퉋퉌������퉍퉎퉏퉐퉑퉒퉓퉔퉕퉖퉗퉘퉙퉚퉛퉝퉞퉟퉠퉡퉢퉣퉥퉦퉧퉨������퉩퉪퉫퉬퉭퉮퉯퉰퉱퉲퉳퉴퉵퉶퉷퉸퉹퉺퉻퉼퉽퉾퉿튂튃튅튆튇튉튊튋튌묀묄묍묏묑묘묜묠묩묫무묵묶문묻물묽묾뭄뭅뭇뭉뭍뭏뭐뭔뭘뭡뭣뭬뮈뮌뮐뮤뮨뮬뮴뮷므믄믈믐믓미믹민믿밀밂밈밉밋밌밍및밑바박밖밗반받발밝밞밟밤밥밧방밭배백밴밸뱀뱁뱃뱄뱅뱉뱌뱍뱐뱝버벅번벋벌벎범법벗�".split(""); +for(j = 0; j != D[185].length; ++j) if(D[185][j].charCodeAt(0) !== 0xFFFD) { e[D[185][j]] = 47360 + j; d[47360 + j] = D[185][j];} +D[186] = "�����������������������������������������������������������������튍튎튏튒튓튔튖튗튘튙튚튛튝튞튟튡튢튣튥튦튧튨튩튪튫튭������튮튯튰튲튳튴튵튶튷튺튻튽튾틁틃틄틅틆틇틊틌틍틎틏틐틑������틒틓틕틖틗틙틚틛틝틞틟틠틡틢틣틦틧틨틩틪틫틬틭틮틯틲틳틵틶틷틹틺벙벚베벡벤벧벨벰벱벳벴벵벼벽변별볍볏볐병볕볘볜보복볶본볼봄봅봇봉봐봔봤봬뵀뵈뵉뵌뵐뵘뵙뵤뵨부북분붇불붉붊붐붑붓붕붙붚붜붤붰붸뷔뷕뷘뷜뷩뷰뷴뷸븀븃븅브븍븐블븜븝븟비빅빈빌빎빔빕빗빙빚빛빠빡빤�".split(""); +for(j = 0; j != D[186].length; ++j) if(D[186][j].charCodeAt(0) !== 0xFFFD) { e[D[186][j]] = 47616 + j; d[47616 + j] = D[186][j];} +D[187] = "�����������������������������������������������������������������틻틼틽틾틿팂팄팆팇팈팉팊팋팏팑팒팓팕팗팘팙팚팛팞팢팣������팤팦팧팪팫팭팮팯팱팲팳팴팵팶팷팺팾팿퍀퍁퍂퍃퍆퍇퍈퍉������퍊퍋퍌퍍퍎퍏퍐퍑퍒퍓퍔퍕퍖퍗퍘퍙퍚퍛퍜퍝퍞퍟퍠퍡퍢퍣퍤퍥퍦퍧퍨퍩빨빪빰빱빳빴빵빻빼빽뺀뺄뺌뺍뺏뺐뺑뺘뺙뺨뻐뻑뻔뻗뻘뻠뻣뻤뻥뻬뼁뼈뼉뼘뼙뼛뼜뼝뽀뽁뽄뽈뽐뽑뽕뾔뾰뿅뿌뿍뿐뿔뿜뿟뿡쀼쁑쁘쁜쁠쁨쁩삐삑삔삘삠삡삣삥사삭삯산삳살삵삶삼삽삿샀상샅새색샌샐샘샙샛샜생샤�".split(""); +for(j = 0; j != D[187].length; ++j) if(D[187][j].charCodeAt(0) !== 0xFFFD) { e[D[187][j]] = 47872 + j; d[47872 + j] = D[187][j];} +D[188] = "�����������������������������������������������������������������퍪퍫퍬퍭퍮퍯퍰퍱퍲퍳퍴퍵퍶퍷퍸퍹퍺퍻퍾퍿펁펂펃펅펆펇������펈펉펊펋펎펒펓펔펕펖펗펚펛펝펞펟펡펢펣펤펥펦펧펪펬펮������펯펰펱펲펳펵펶펷펹펺펻펽펾펿폀폁폂폃폆폇폊폋폌폍폎폏폑폒폓폔폕폖샥샨샬샴샵샷샹섀섄섈섐섕서석섞섟선섣설섦섧섬섭섯섰성섶세섹센셀셈셉셋셌셍셔셕션셜셤셥셧셨셩셰셴셸솅소속솎손솔솖솜솝솟송솥솨솩솬솰솽쇄쇈쇌쇔쇗쇘쇠쇤쇨쇰쇱쇳쇼쇽숀숄숌숍숏숑수숙순숟술숨숩숫숭�".split(""); +for(j = 0; j != D[188].length; ++j) if(D[188][j].charCodeAt(0) !== 0xFFFD) { e[D[188][j]] = 48128 + j; d[48128 + j] = D[188][j];} +D[189] = "�����������������������������������������������������������������폗폙폚폛폜폝폞폟폠폢폤폥폦폧폨폩폪폫폮폯폱폲폳폵폶폷������폸폹폺폻폾퐀퐂퐃퐄퐅퐆퐇퐉퐊퐋퐌퐍퐎퐏퐐퐑퐒퐓퐔퐕퐖������퐗퐘퐙퐚퐛퐜퐞퐟퐠퐡퐢퐣퐤퐥퐦퐧퐨퐩퐪퐫퐬퐭퐮퐯퐰퐱퐲퐳퐴퐵퐶퐷숯숱숲숴쉈쉐쉑쉔쉘쉠쉥쉬쉭쉰쉴쉼쉽쉿슁슈슉슐슘슛슝스슥슨슬슭슴습슷승시식신싣실싫심십싯싱싶싸싹싻싼쌀쌈쌉쌌쌍쌓쌔쌕쌘쌜쌤쌥쌨쌩썅써썩썬썰썲썸썹썼썽쎄쎈쎌쏀쏘쏙쏜쏟쏠쏢쏨쏩쏭쏴쏵쏸쐈쐐쐤쐬쐰�".split(""); +for(j = 0; j != D[189].length; ++j) if(D[189][j].charCodeAt(0) !== 0xFFFD) { e[D[189][j]] = 48384 + j; d[48384 + j] = D[189][j];} +D[190] = "�����������������������������������������������������������������퐸퐹퐺퐻퐼퐽퐾퐿푁푂푃푅푆푇푈푉푊푋푌푍푎푏푐푑푒푓������푔푕푖푗푘푙푚푛푝푞푟푡푢푣푥푦푧푨푩푪푫푬푮푰푱푲������푳푴푵푶푷푺푻푽푾풁풃풄풅풆풇풊풌풎풏풐풑풒풓풕풖풗풘풙풚풛풜풝쐴쐼쐽쑈쑤쑥쑨쑬쑴쑵쑹쒀쒔쒜쒸쒼쓩쓰쓱쓴쓸쓺쓿씀씁씌씐씔씜씨씩씬씰씸씹씻씽아악안앉않알앍앎앓암압앗았앙앝앞애액앤앨앰앱앳앴앵야약얀얄얇얌얍얏양얕얗얘얜얠얩어억언얹얻얼얽얾엄업없엇었엉엊엌엎�".split(""); +for(j = 0; j != D[190].length; ++j) if(D[190][j].charCodeAt(0) !== 0xFFFD) { e[D[190][j]] = 48640 + j; d[48640 + j] = D[190][j];} +D[191] = "�����������������������������������������������������������������풞풟풠풡풢풣풤풥풦풧풨풪풫풬풭풮풯풰풱풲풳풴풵풶풷풸������풹풺풻풼풽풾풿퓀퓁퓂퓃퓄퓅퓆퓇퓈퓉퓊퓋퓍퓎퓏퓑퓒퓓퓕������퓖퓗퓘퓙퓚퓛퓝퓞퓠퓡퓢퓣퓤퓥퓦퓧퓩퓪퓫퓭퓮퓯퓱퓲퓳퓴퓵퓶퓷퓹퓺퓼에엑엔엘엠엡엣엥여역엮연열엶엷염엽엾엿였영옅옆옇예옌옐옘옙옛옜오옥온올옭옮옰옳옴옵옷옹옻와왁완왈왐왑왓왔왕왜왝왠왬왯왱외왹왼욀욈욉욋욍요욕욘욜욤욥욧용우욱운울욹욺움웁웃웅워웍원월웜웝웠웡웨�".split(""); +for(j = 0; j != D[191].length; ++j) if(D[191][j].charCodeAt(0) !== 0xFFFD) { e[D[191][j]] = 48896 + j; d[48896 + j] = D[191][j];} +D[192] = "�����������������������������������������������������������������퓾퓿픀픁픂픃픅픆픇픉픊픋픍픎픏픐픑픒픓픖픘픙픚픛픜픝������픞픟픠픡픢픣픤픥픦픧픨픩픪픫픬픭픮픯픰픱픲픳픴픵픶픷������픸픹픺픻픾픿핁핂핃핅핆핇핈핉핊핋핎핐핒핓핔핕핖핗핚핛핝핞핟핡핢핣웩웬웰웸웹웽위윅윈윌윔윕윗윙유육윤율윰윱윳융윷으윽은을읊음읍읏응읒읓읔읕읖읗의읜읠읨읫이익인일읽읾잃임입잇있잉잊잎자작잔잖잗잘잚잠잡잣잤장잦재잭잰잴잼잽잿쟀쟁쟈쟉쟌쟎쟐쟘쟝쟤쟨쟬저적전절젊�".split(""); +for(j = 0; j != D[192].length; ++j) if(D[192][j].charCodeAt(0) !== 0xFFFD) { e[D[192][j]] = 49152 + j; d[49152 + j] = D[192][j];} +D[193] = "�����������������������������������������������������������������핤핦핧핪핬핮핯핰핱핲핳핶핷핹핺핻핽핾핿햀햁햂햃햆햊햋������햌햍햎햏햑햒햓햔햕햖햗햘햙햚햛햜햝햞햟햠햡햢햣햤햦햧������햨햩햪햫햬햭햮햯햰햱햲햳햴햵햶햷햸햹햺햻햼햽햾햿헀헁헂헃헄헅헆헇점접젓정젖제젝젠젤젬젭젯젱져젼졀졈졉졌졍졔조족존졸졺좀좁좃종좆좇좋좌좍좔좝좟좡좨좼좽죄죈죌죔죕죗죙죠죡죤죵주죽준줄줅줆줌줍줏중줘줬줴쥐쥑쥔쥘쥠쥡쥣쥬쥰쥴쥼즈즉즌즐즘즙즛증지직진짇질짊짐집짓�".split(""); +for(j = 0; j != D[193].length; ++j) if(D[193][j].charCodeAt(0) !== 0xFFFD) { e[D[193][j]] = 49408 + j; d[49408 + j] = D[193][j];} +D[194] = "�����������������������������������������������������������������헊헋헍헎헏헑헓헔헕헖헗헚헜헞헟헠헡헢헣헦헧헩헪헫헭헮������헯헰헱헲헳헶헸헺헻헼헽헾헿혂혃혅혆혇혉혊혋혌혍혎혏혒������혖혗혘혙혚혛혝혞혟혡혢혣혥혦혧혨혩혪혫혬혮혯혰혱혲혳혴혵혶혷혺혻징짖짙짚짜짝짠짢짤짧짬짭짯짰짱째짹짼쨀쨈쨉쨋쨌쨍쨔쨘쨩쩌쩍쩐쩔쩜쩝쩟쩠쩡쩨쩽쪄쪘쪼쪽쫀쫄쫌쫍쫏쫑쫓쫘쫙쫠쫬쫴쬈쬐쬔쬘쬠쬡쭁쭈쭉쭌쭐쭘쭙쭝쭤쭸쭹쮜쮸쯔쯤쯧쯩찌찍찐찔찜찝찡찢찧차착찬찮찰참찹찻�".split(""); +for(j = 0; j != D[194].length; ++j) if(D[194][j].charCodeAt(0) !== 0xFFFD) { e[D[194][j]] = 49664 + j; d[49664 + j] = D[194][j];} +D[195] = "�����������������������������������������������������������������혽혾혿홁홂홃홄홆홇홊홌홎홏홐홒홓홖홗홙홚홛홝홞홟홠홡������홢홣홤홥홦홨홪홫홬홭홮홯홲홳홵홶홷홸홹홺홻홼홽홾홿횀������횁횂횄횆횇횈횉횊횋횎횏횑횒횓횕횖횗횘횙횚횛횜횞횠횢횣횤횥횦횧횩횪찼창찾채책챈챌챔챕챗챘챙챠챤챦챨챰챵처척천철첨첩첫첬청체첵첸첼쳄쳅쳇쳉쳐쳔쳤쳬쳰촁초촉촌촐촘촙촛총촤촨촬촹최쵠쵤쵬쵭쵯쵱쵸춈추축춘출춤춥춧충춰췄췌췐취췬췰췸췹췻췽츄츈츌츔츙츠측츤츨츰츱츳층�".split(""); +for(j = 0; j != D[195].length; ++j) if(D[195][j].charCodeAt(0) !== 0xFFFD) { e[D[195][j]] = 49920 + j; d[49920 + j] = D[195][j];} +D[196] = "�����������������������������������������������������������������횫횭횮횯횱횲횳횴횵횶횷횸횺횼횽횾횿훀훁훂훃훆훇훉훊훋������훍훎훏훐훒훓훕훖훘훚훛훜훝훞훟훡훢훣훥훦훧훩훪훫훬훭������훮훯훱훲훳훴훶훷훸훹훺훻훾훿휁휂휃휅휆휇휈휉휊휋휌휍휎휏휐휒휓휔치칙친칟칠칡침칩칫칭카칵칸칼캄캅캇캉캐캑캔캘캠캡캣캤캥캬캭컁커컥컨컫컬컴컵컷컸컹케켁켄켈켐켑켓켕켜켠켤켬켭켯켰켱켸코콕콘콜콤콥콧콩콰콱콴콸쾀쾅쾌쾡쾨쾰쿄쿠쿡쿤쿨쿰쿱쿳쿵쿼퀀퀄퀑퀘퀭퀴퀵퀸퀼�".split(""); +for(j = 0; j != D[196].length; ++j) if(D[196][j].charCodeAt(0) !== 0xFFFD) { e[D[196][j]] = 50176 + j; d[50176 + j] = D[196][j];} +D[197] = "�����������������������������������������������������������������휕휖휗휚휛휝휞휟휡휢휣휤휥휦휧휪휬휮휯휰휱휲휳휶휷휹������휺휻휽휾휿흀흁흂흃흅흆흈흊흋흌흍흎흏흒흓흕흚흛흜흝흞������흟흢흤흦흧흨흪흫흭흮흯흱흲흳흵흶흷흸흹흺흻흾흿힀힂힃힄힅힆힇힊힋큄큅큇큉큐큔큘큠크큭큰클큼큽킁키킥킨킬킴킵킷킹타탁탄탈탉탐탑탓탔탕태택탠탤탬탭탯탰탱탸턍터턱턴털턺텀텁텃텄텅테텍텐텔템텝텟텡텨텬텼톄톈토톡톤톨톰톱톳통톺톼퇀퇘퇴퇸툇툉툐투툭툰툴툼툽툿퉁퉈퉜�".split(""); +for(j = 0; j != D[197].length; ++j) if(D[197][j].charCodeAt(0) !== 0xFFFD) { e[D[197][j]] = 50432 + j; d[50432 + j] = D[197][j];} +D[198] = "�����������������������������������������������������������������힍힎힏힑힒힓힔힕힖힗힚힜힞힟힠힡힢힣������������������������������������������������������������������������������퉤튀튁튄튈튐튑튕튜튠튤튬튱트특튼튿틀틂틈틉틋틔틘틜틤틥티틱틴틸팀팁팃팅파팍팎판팔팖팜팝팟팠팡팥패팩팬팰팸팹팻팼팽퍄퍅퍼퍽펀펄펌펍펏펐펑페펙펜펠펨펩펫펭펴편펼폄폅폈평폐폘폡폣포폭폰폴폼폽폿퐁�".split(""); +for(j = 0; j != D[198].length; ++j) if(D[198][j].charCodeAt(0) !== 0xFFFD) { e[D[198][j]] = 50688 + j; d[50688 + j] = D[198][j];} +D[199] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������퐈퐝푀푄표푠푤푭푯푸푹푼푿풀풂품풉풋풍풔풩퓌퓐퓔퓜퓟퓨퓬퓰퓸퓻퓽프픈플픔픕픗피픽핀필핌핍핏핑하학한할핥함합핫항해핵핸핼햄햅햇했행햐향허헉헌헐헒험헙헛헝헤헥헨헬헴헵헷헹혀혁현혈혐협혓혔형혜혠�".split(""); +for(j = 0; j != D[199].length; ++j) if(D[199][j].charCodeAt(0) !== 0xFFFD) { e[D[199][j]] = 50944 + j; d[50944 + j] = D[199][j];} +D[200] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������혤혭호혹혼홀홅홈홉홋홍홑화확환활홧황홰홱홴횃횅회획횐횔횝횟횡효횬횰횹횻후훅훈훌훑훔훗훙훠훤훨훰훵훼훽휀휄휑휘휙휜휠휨휩휫휭휴휵휸휼흄흇흉흐흑흔흖흗흘흙흠흡흣흥흩희흰흴흼흽힁히힉힌힐힘힙힛힝�".split(""); +for(j = 0; j != D[200].length; ++j) if(D[200][j].charCodeAt(0) !== 0xFFFD) { e[D[200][j]] = 51200 + j; d[51200 + j] = D[200][j];} +D[202] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������伽佳假價加可呵哥嘉嫁家暇架枷柯歌珂痂稼苛茄街袈訶賈跏軻迦駕刻却各恪慤殼珏脚覺角閣侃刊墾奸姦干幹懇揀杆柬桿澗癎看磵稈竿簡肝艮艱諫間乫喝曷渴碣竭葛褐蝎鞨勘坎堪嵌感憾戡敢柑橄減甘疳監瞰紺邯鑑鑒龕�".split(""); +for(j = 0; j != D[202].length; ++j) if(D[202][j].charCodeAt(0) !== 0xFFFD) { e[D[202][j]] = 51712 + j; d[51712 + j] = D[202][j];} +D[203] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������匣岬甲胛鉀閘剛堈姜岡崗康强彊慷江畺疆糠絳綱羌腔舡薑襁講鋼降鱇介价個凱塏愷愾慨改槪漑疥皆盖箇芥蓋豈鎧開喀客坑更粳羹醵倨去居巨拒据據擧渠炬祛距踞車遽鉅鋸乾件健巾建愆楗腱虔蹇鍵騫乞傑杰桀儉劍劒檢�".split(""); +for(j = 0; j != D[203].length; ++j) if(D[203][j].charCodeAt(0) !== 0xFFFD) { e[D[203][j]] = 51968 + j; d[51968 + j] = D[203][j];} +D[204] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������瞼鈐黔劫怯迲偈憩揭擊格檄激膈覡隔堅牽犬甄絹繭肩見譴遣鵑抉決潔結缺訣兼慊箝謙鉗鎌京俓倞傾儆勁勍卿坰境庚徑慶憬擎敬景暻更梗涇炅烱璟璥瓊痙硬磬竟競絅經耕耿脛莖警輕逕鏡頃頸驚鯨係啓堺契季屆悸戒桂械�".split(""); +for(j = 0; j != D[204].length; ++j) if(D[204][j].charCodeAt(0) !== 0xFFFD) { e[D[204][j]] = 52224 + j; d[52224 + j] = D[204][j];} +D[205] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������棨溪界癸磎稽系繫繼計誡谿階鷄古叩告呱固姑孤尻庫拷攷故敲暠枯槁沽痼皐睾稿羔考股膏苦苽菰藁蠱袴誥賈辜錮雇顧高鼓哭斛曲梏穀谷鵠困坤崑昆梱棍滾琨袞鯤汨滑骨供公共功孔工恐恭拱控攻珙空蚣貢鞏串寡戈果瓜�".split(""); +for(j = 0; j != D[205].length; ++j) if(D[205][j].charCodeAt(0) !== 0xFFFD) { e[D[205][j]] = 52480 + j; d[52480 + j] = D[205][j];} +D[206] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������科菓誇課跨過鍋顆廓槨藿郭串冠官寬慣棺款灌琯瓘管罐菅觀貫關館刮恝括适侊光匡壙廣曠洸炚狂珖筐胱鑛卦掛罫乖傀塊壞怪愧拐槐魁宏紘肱轟交僑咬喬嬌嶠巧攪敎校橋狡皎矯絞翹膠蕎蛟較轎郊餃驕鮫丘久九仇俱具勾�".split(""); +for(j = 0; j != D[206].length; ++j) if(D[206][j].charCodeAt(0) !== 0xFFFD) { e[D[206][j]] = 52736 + j; d[52736 + j] = D[206][j];} +D[207] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������區口句咎嘔坵垢寇嶇廐懼拘救枸柩構歐毆毬求溝灸狗玖球瞿矩究絿耉臼舅舊苟衢謳購軀逑邱鉤銶駒驅鳩鷗龜國局菊鞠鞫麴君窘群裙軍郡堀屈掘窟宮弓穹窮芎躬倦券勸卷圈拳捲權淃眷厥獗蕨蹶闕机櫃潰詭軌饋句晷歸貴�".split(""); +for(j = 0; j != D[207].length; ++j) if(D[207][j].charCodeAt(0) !== 0xFFFD) { e[D[207][j]] = 52992 + j; d[52992 + j] = D[207][j];} +D[208] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������鬼龜叫圭奎揆槻珪硅窺竅糾葵規赳逵閨勻均畇筠菌鈞龜橘克剋劇戟棘極隙僅劤勤懃斤根槿瑾筋芹菫覲謹近饉契今妗擒昑檎琴禁禽芩衾衿襟金錦伋及急扱汲級給亘兢矜肯企伎其冀嗜器圻基埼夔奇妓寄岐崎己幾忌技旗旣�".split(""); +for(j = 0; j != D[208].length; ++j) if(D[208][j].charCodeAt(0) !== 0xFFFD) { e[D[208][j]] = 53248 + j; d[53248 + j] = D[208][j];} +D[209] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������朞期杞棋棄機欺氣汽沂淇玘琦琪璂璣畸畿碁磯祁祇祈祺箕紀綺羈耆耭肌記譏豈起錡錤飢饑騎騏驥麒緊佶吉拮桔金喫儺喇奈娜懦懶拏拿癩羅蘿螺裸邏那樂洛烙珞落諾酪駱亂卵暖欄煖爛蘭難鸞捏捺南嵐枏楠湳濫男藍襤拉�".split(""); +for(j = 0; j != D[209].length; ++j) if(D[209][j].charCodeAt(0) !== 0xFFFD) { e[D[209][j]] = 53504 + j; d[53504 + j] = D[209][j];} +D[210] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������納臘蠟衲囊娘廊朗浪狼郎乃來內奈柰耐冷女年撚秊念恬拈捻寧寗努勞奴弩怒擄櫓爐瑙盧老蘆虜路露駑魯鷺碌祿綠菉錄鹿論壟弄濃籠聾膿農惱牢磊腦賂雷尿壘屢樓淚漏累縷陋嫩訥杻紐勒肋凜凌稜綾能菱陵尼泥匿溺多茶�".split(""); +for(j = 0; j != D[210].length; ++j) if(D[210][j].charCodeAt(0) !== 0xFFFD) { e[D[210][j]] = 53760 + j; d[53760 + j] = D[210][j];} +D[211] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������丹亶但單團壇彖斷旦檀段湍短端簞緞蛋袒鄲鍛撻澾獺疸達啖坍憺擔曇淡湛潭澹痰聃膽蕁覃談譚錟沓畓答踏遝唐堂塘幢戇撞棠當糖螳黨代垈坮大對岱帶待戴擡玳臺袋貸隊黛宅德悳倒刀到圖堵塗導屠島嶋度徒悼挑掉搗桃�".split(""); +for(j = 0; j != D[211].length; ++j) if(D[211][j].charCodeAt(0) !== 0xFFFD) { e[D[211][j]] = 54016 + j; d[54016 + j] = D[211][j];} +D[212] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������棹櫂淘渡滔濤燾盜睹禱稻萄覩賭跳蹈逃途道都鍍陶韜毒瀆牘犢獨督禿篤纛讀墩惇敦旽暾沌焞燉豚頓乭突仝冬凍動同憧東桐棟洞潼疼瞳童胴董銅兜斗杜枓痘竇荳讀豆逗頭屯臀芚遁遯鈍得嶝橙燈登等藤謄鄧騰喇懶拏癩羅�".split(""); +for(j = 0; j != D[212].length; ++j) if(D[212][j].charCodeAt(0) !== 0xFFFD) { e[D[212][j]] = 54272 + j; d[54272 + j] = D[212][j];} +D[213] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������蘿螺裸邏樂洛烙珞絡落諾酪駱丹亂卵欄欒瀾爛蘭鸞剌辣嵐擥攬欖濫籃纜藍襤覽拉臘蠟廊朗浪狼琅瑯螂郞來崍徠萊冷掠略亮倆兩凉梁樑粮粱糧良諒輛量侶儷勵呂廬慮戾旅櫚濾礪藜蠣閭驢驪麗黎力曆歷瀝礫轢靂憐戀攣漣�".split(""); +for(j = 0; j != D[213].length; ++j) if(D[213][j].charCodeAt(0) !== 0xFFFD) { e[D[213][j]] = 54528 + j; d[54528 + j] = D[213][j];} +D[214] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������煉璉練聯蓮輦連鍊冽列劣洌烈裂廉斂殮濂簾獵令伶囹寧岺嶺怜玲笭羚翎聆逞鈴零靈領齡例澧禮醴隷勞怒撈擄櫓潞瀘爐盧老蘆虜路輅露魯鷺鹵碌祿綠菉錄鹿麓論壟弄朧瀧瓏籠聾儡瀨牢磊賂賚賴雷了僚寮廖料燎療瞭聊蓼�".split(""); +for(j = 0; j != D[214].length; ++j) if(D[214][j].charCodeAt(0) !== 0xFFFD) { e[D[214][j]] = 54784 + j; d[54784 + j] = D[214][j];} +D[215] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������遼鬧龍壘婁屢樓淚漏瘻累縷蔞褸鏤陋劉旒柳榴流溜瀏琉瑠留瘤硫謬類六戮陸侖倫崙淪綸輪律慄栗率隆勒肋凜凌楞稜綾菱陵俚利厘吏唎履悧李梨浬犁狸理璃異痢籬罹羸莉裏裡里釐離鯉吝潾燐璘藺躪隣鱗麟林淋琳臨霖砬�".split(""); +for(j = 0; j != D[215].length; ++j) if(D[215][j].charCodeAt(0) !== 0xFFFD) { e[D[215][j]] = 55040 + j; d[55040 + j] = D[215][j];} +D[216] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������立笠粒摩瑪痲碼磨馬魔麻寞幕漠膜莫邈万卍娩巒彎慢挽晩曼滿漫灣瞞萬蔓蠻輓饅鰻唜抹末沫茉襪靺亡妄忘忙望網罔芒茫莽輞邙埋妹媒寐昧枚梅每煤罵買賣邁魅脈貊陌驀麥孟氓猛盲盟萌冪覓免冕勉棉沔眄眠綿緬面麵滅�".split(""); +for(j = 0; j != D[216].length; ++j) if(D[216][j].charCodeAt(0) !== 0xFFFD) { e[D[216][j]] = 55296 + j; d[55296 + j] = D[216][j];} +D[217] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������蔑冥名命明暝椧溟皿瞑茗蓂螟酩銘鳴袂侮冒募姆帽慕摸摹暮某模母毛牟牡瑁眸矛耗芼茅謀謨貌木沐牧目睦穆鶩歿沒夢朦蒙卯墓妙廟描昴杳渺猫竗苗錨務巫憮懋戊拇撫无楙武毋無珷畝繆舞茂蕪誣貿霧鵡墨默們刎吻問文�".split(""); +for(j = 0; j != D[217].length; ++j) if(D[217][j].charCodeAt(0) !== 0xFFFD) { e[D[217][j]] = 55552 + j; d[55552 + j] = D[217][j];} +D[218] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������汶紊紋聞蚊門雯勿沕物味媚尾嵋彌微未梶楣渼湄眉米美薇謎迷靡黴岷悶愍憫敏旻旼民泯玟珉緡閔密蜜謐剝博拍搏撲朴樸泊珀璞箔粕縛膊舶薄迫雹駁伴半反叛拌搬攀斑槃泮潘班畔瘢盤盼磐磻礬絆般蟠返頒飯勃拔撥渤潑�".split(""); +for(j = 0; j != D[218].length; ++j) if(D[218][j].charCodeAt(0) !== 0xFFFD) { e[D[218][j]] = 55808 + j; d[55808 + j] = D[218][j];} +D[219] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������發跋醱鉢髮魃倣傍坊妨尨幇彷房放方旁昉枋榜滂磅紡肪膀舫芳蒡蚌訪謗邦防龐倍俳北培徘拜排杯湃焙盃背胚裴裵褙賠輩配陪伯佰帛柏栢白百魄幡樊煩燔番磻繁蕃藩飜伐筏罰閥凡帆梵氾汎泛犯範范法琺僻劈壁擘檗璧癖�".split(""); +for(j = 0; j != D[219].length; ++j) if(D[219][j].charCodeAt(0) !== 0xFFFD) { e[D[219][j]] = 56064 + j; d[56064 + j] = D[219][j];} +D[220] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������碧蘗闢霹便卞弁變辨辯邊別瞥鱉鼈丙倂兵屛幷昞昺柄棅炳甁病秉竝輧餠騈保堡報寶普步洑湺潽珤甫菩補褓譜輔伏僕匐卜宓復服福腹茯蔔複覆輹輻馥鰒本乶俸奉封峯峰捧棒烽熢琫縫蓬蜂逢鋒鳳不付俯傅剖副否咐埠夫婦�".split(""); +for(j = 0; j != D[220].length; ++j) if(D[220][j].charCodeAt(0) !== 0xFFFD) { e[D[220][j]] = 56320 + j; d[56320 + j] = D[220][j];} +D[221] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������孚孵富府復扶敷斧浮溥父符簿缶腐腑膚艀芙莩訃負賦賻赴趺部釜阜附駙鳧北分吩噴墳奔奮忿憤扮昐汾焚盆粉糞紛芬賁雰不佛弗彿拂崩朋棚硼繃鵬丕備匕匪卑妃婢庇悲憊扉批斐枇榧比毖毗毘沸泌琵痺砒碑秕秘粃緋翡肥�".split(""); +for(j = 0; j != D[221].length; ++j) if(D[221][j].charCodeAt(0) !== 0xFFFD) { e[D[221][j]] = 56576 + j; d[56576 + j] = D[221][j];} +D[222] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������脾臂菲蜚裨誹譬費鄙非飛鼻嚬嬪彬斌檳殯浜濱瀕牝玭貧賓頻憑氷聘騁乍事些仕伺似使俟僿史司唆嗣四士奢娑寫寺射巳師徙思捨斜斯柶査梭死沙泗渣瀉獅砂社祀祠私篩紗絲肆舍莎蓑蛇裟詐詞謝賜赦辭邪飼駟麝削數朔索�".split(""); +for(j = 0; j != D[222].length; ++j) if(D[222][j].charCodeAt(0) !== 0xFFFD) { e[D[222][j]] = 56832 + j; d[56832 + j] = D[222][j];} +D[223] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������傘刪山散汕珊産疝算蒜酸霰乷撒殺煞薩三參杉森渗芟蔘衫揷澁鈒颯上傷像償商喪嘗孀尙峠常床庠廂想桑橡湘爽牀狀相祥箱翔裳觴詳象賞霜塞璽賽嗇塞穡索色牲生甥省笙墅壻嶼序庶徐恕抒捿敍暑曙書栖棲犀瑞筮絮緖署�".split(""); +for(j = 0; j != D[223].length; ++j) if(D[223][j].charCodeAt(0) !== 0xFFFD) { e[D[223][j]] = 57088 + j; d[57088 + j] = D[223][j];} +D[224] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������胥舒薯西誓逝鋤黍鼠夕奭席惜昔晳析汐淅潟石碩蓆釋錫仙僊先善嬋宣扇敾旋渲煽琁瑄璇璿癬禪線繕羨腺膳船蘚蟬詵跣選銑鐥饍鮮卨屑楔泄洩渫舌薛褻設說雪齧剡暹殲纖蟾贍閃陝攝涉燮葉城姓宬性惺成星晟猩珹盛省筬�".split(""); +for(j = 0; j != D[224].length; ++j) if(D[224][j].charCodeAt(0) !== 0xFFFD) { e[D[224][j]] = 57344 + j; d[57344 + j] = D[224][j];} +D[225] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������聖聲腥誠醒世勢歲洗稅笹細說貰召嘯塑宵小少巢所掃搔昭梳沼消溯瀟炤燒甦疏疎瘙笑篠簫素紹蔬蕭蘇訴逍遡邵銷韶騷俗屬束涑粟續謖贖速孫巽損蓀遜飡率宋悚松淞訟誦送頌刷殺灑碎鎖衰釗修受嗽囚垂壽嫂守岫峀帥愁�".split(""); +for(j = 0; j != D[225].length; ++j) if(D[225][j].charCodeAt(0) !== 0xFFFD) { e[D[225][j]] = 57600 + j; d[57600 + j] = D[225][j];} +D[226] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������戍手授搜收數樹殊水洙漱燧狩獸琇璲瘦睡秀穗竪粹綏綬繡羞脩茱蒐蓚藪袖誰讐輸遂邃酬銖銹隋隧隨雖需須首髓鬚叔塾夙孰宿淑潚熟琡璹肅菽巡徇循恂旬栒楯橓殉洵淳珣盾瞬筍純脣舜荀蓴蕣詢諄醇錞順馴戌術述鉥崇崧�".split(""); +for(j = 0; j != D[226].length; ++j) if(D[226][j].charCodeAt(0) !== 0xFFFD) { e[D[226][j]] = 57856 + j; d[57856 + j] = D[226][j];} +D[227] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������嵩瑟膝蝨濕拾習褶襲丞乘僧勝升承昇繩蠅陞侍匙嘶始媤尸屎屍市弑恃施是時枾柴猜矢示翅蒔蓍視試詩諡豕豺埴寔式息拭植殖湜熄篒蝕識軾食飾伸侁信呻娠宸愼新晨燼申神紳腎臣莘薪藎蜃訊身辛辰迅失室實悉審尋心沁�".split(""); +for(j = 0; j != D[227].length; ++j) if(D[227][j].charCodeAt(0) !== 0xFFFD) { e[D[227][j]] = 58112 + j; d[58112 + j] = D[227][j];} +D[228] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������沈深瀋甚芯諶什十拾雙氏亞俄兒啞娥峨我牙芽莪蛾衙訝阿雅餓鴉鵝堊岳嶽幄惡愕握樂渥鄂鍔顎鰐齷安岸按晏案眼雁鞍顔鮟斡謁軋閼唵岩巖庵暗癌菴闇壓押狎鴨仰央怏昻殃秧鴦厓哀埃崖愛曖涯碍艾隘靄厄扼掖液縊腋額�".split(""); +for(j = 0; j != D[228].length; ++j) if(D[228][j].charCodeAt(0) !== 0xFFFD) { e[D[228][j]] = 58368 + j; d[58368 + j] = D[228][j];} +D[229] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������櫻罌鶯鸚也倻冶夜惹揶椰爺耶若野弱掠略約若葯蒻藥躍亮佯兩凉壤孃恙揚攘敭暘梁楊樣洋瀁煬痒瘍禳穰糧羊良襄諒讓釀陽量養圄御於漁瘀禦語馭魚齬億憶抑檍臆偃堰彦焉言諺孼蘖俺儼嚴奄掩淹嶪業円予余勵呂女如廬�".split(""); +for(j = 0; j != D[229].length; ++j) if(D[229][j].charCodeAt(0) !== 0xFFFD) { e[D[229][j]] = 58624 + j; d[58624 + j] = D[229][j];} +D[230] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������旅歟汝濾璵礖礪與艅茹輿轝閭餘驪麗黎亦力域役易曆歷疫繹譯轢逆驛嚥堧姸娟宴年延憐戀捐挻撚椽沇沿涎涓淵演漣烟然煙煉燃燕璉硏硯秊筵緣練縯聯衍軟輦蓮連鉛鍊鳶列劣咽悅涅烈熱裂說閱厭廉念捻染殮炎焰琰艶苒�".split(""); +for(j = 0; j != D[230].length; ++j) if(D[230][j].charCodeAt(0) !== 0xFFFD) { e[D[230][j]] = 58880 + j; d[58880 + j] = D[230][j];} +D[231] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������簾閻髥鹽曄獵燁葉令囹塋寧嶺嶸影怜映暎楹榮永泳渶潁濚瀛瀯煐營獰玲瑛瑩瓔盈穎纓羚聆英詠迎鈴鍈零霙靈領乂倪例刈叡曳汭濊猊睿穢芮藝蘂禮裔詣譽豫醴銳隸霓預五伍俉傲午吾吳嗚塢墺奧娛寤悟惡懊敖旿晤梧汚澳�".split(""); +for(j = 0; j != D[231].length; ++j) if(D[231][j].charCodeAt(0) !== 0xFFFD) { e[D[231][j]] = 59136 + j; d[59136 + j] = D[231][j];} +D[232] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������烏熬獒筽蜈誤鰲鼇屋沃獄玉鈺溫瑥瘟穩縕蘊兀壅擁瓮甕癰翁邕雍饔渦瓦窩窪臥蛙蝸訛婉完宛梡椀浣玩琓琬碗緩翫脘腕莞豌阮頑曰往旺枉汪王倭娃歪矮外嵬巍猥畏了僚僥凹堯夭妖姚寥寮尿嶢拗搖撓擾料曜樂橈燎燿瑤療�".split(""); +for(j = 0; j != D[232].length; ++j) if(D[232][j].charCodeAt(0) !== 0xFFFD) { e[D[232][j]] = 59392 + j; d[59392 + j] = D[232][j];} +D[233] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������窈窯繇繞耀腰蓼蟯要謠遙遼邀饒慾欲浴縟褥辱俑傭冗勇埇墉容庸慂榕涌湧溶熔瑢用甬聳茸蓉踊鎔鏞龍于佑偶優又友右宇寓尤愚憂旴牛玗瑀盂祐禑禹紆羽芋藕虞迂遇郵釪隅雨雩勖彧旭昱栯煜稶郁頊云暈橒殞澐熉耘芸蕓�".split(""); +for(j = 0; j != D[233].length; ++j) if(D[233][j].charCodeAt(0) !== 0xFFFD) { e[D[233][j]] = 59648 + j; d[59648 + j] = D[233][j];} +D[234] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������運隕雲韻蔚鬱亐熊雄元原員圓園垣媛嫄寃怨愿援沅洹湲源爰猿瑗苑袁轅遠阮院願鴛月越鉞位偉僞危圍委威尉慰暐渭爲瑋緯胃萎葦蔿蝟衛褘謂違韋魏乳侑儒兪劉唯喩孺宥幼幽庾悠惟愈愉揄攸有杻柔柚柳楡楢油洧流游溜�".split(""); +for(j = 0; j != D[234].length; ++j) if(D[234][j].charCodeAt(0) !== 0xFFFD) { e[D[234][j]] = 59904 + j; d[59904 + j] = D[234][j];} +D[235] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������濡猶猷琉瑜由留癒硫紐維臾萸裕誘諛諭踰蹂遊逾遺酉釉鍮類六堉戮毓肉育陸倫允奫尹崙淪潤玧胤贇輪鈗閏律慄栗率聿戎瀜絨融隆垠恩慇殷誾銀隱乙吟淫蔭陰音飮揖泣邑凝應膺鷹依倚儀宜意懿擬椅毅疑矣義艤薏蟻衣誼�".split(""); +for(j = 0; j != D[235].length; ++j) if(D[235][j].charCodeAt(0) !== 0xFFFD) { e[D[235][j]] = 60160 + j; d[60160 + j] = D[235][j];} +D[236] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������議醫二以伊利吏夷姨履已弛彛怡易李梨泥爾珥理異痍痢移罹而耳肄苡荑裏裡貽貳邇里離飴餌匿溺瀷益翊翌翼謚人仁刃印吝咽因姻寅引忍湮燐璘絪茵藺蚓認隣靭靷鱗麟一佚佾壹日溢逸鎰馹任壬妊姙恁林淋稔臨荏賃入卄�".split(""); +for(j = 0; j != D[236].length; ++j) if(D[236][j].charCodeAt(0) !== 0xFFFD) { e[D[236][j]] = 60416 + j; d[60416 + j] = D[236][j];} +D[237] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������立笠粒仍剩孕芿仔刺咨姉姿子字孜恣慈滋炙煮玆瓷疵磁紫者自茨蔗藉諮資雌作勺嚼斫昨灼炸爵綽芍酌雀鵲孱棧殘潺盞岑暫潛箴簪蠶雜丈仗匠場墻壯奬將帳庄張掌暲杖樟檣欌漿牆狀獐璋章粧腸臟臧莊葬蔣薔藏裝贓醬長�".split(""); +for(j = 0; j != D[237].length; ++j) if(D[237][j].charCodeAt(0) !== 0xFFFD) { e[D[237][j]] = 60672 + j; d[60672 + j] = D[237][j];} +D[238] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������障再哉在宰才材栽梓渽滓災縡裁財載齋齎爭箏諍錚佇低儲咀姐底抵杵楮樗沮渚狙猪疽箸紵苧菹著藷詛貯躇這邸雎齟勣吊嫡寂摘敵滴狄炙的積笛籍績翟荻謫賊赤跡蹟迪迹適鏑佃佺傳全典前剪塡塼奠專展廛悛戰栓殿氈澱�".split(""); +for(j = 0; j != D[238].length; ++j) if(D[238][j].charCodeAt(0) !== 0xFFFD) { e[D[238][j]] = 60928 + j; d[60928 + j] = D[238][j];} +D[239] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������煎琠田甸畑癲筌箋箭篆纏詮輾轉鈿銓錢鐫電顚顫餞切截折浙癤竊節絶占岾店漸点粘霑鮎點接摺蝶丁井亭停偵呈姃定幀庭廷征情挺政整旌晶晸柾楨檉正汀淀淨渟湞瀞炡玎珽町睛碇禎程穽精綎艇訂諪貞鄭酊釘鉦鋌錠霆靖�".split(""); +for(j = 0; j != D[239].length; ++j) if(D[239][j].charCodeAt(0) !== 0xFFFD) { e[D[239][j]] = 61184 + j; d[61184 + j] = D[239][j];} +D[240] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������靜頂鼎制劑啼堤帝弟悌提梯濟祭第臍薺製諸蹄醍除際霽題齊俎兆凋助嘲弔彫措操早晁曺曹朝條棗槽漕潮照燥爪璪眺祖祚租稠窕粗糟組繰肇藻蚤詔調趙躁造遭釣阻雕鳥族簇足鏃存尊卒拙猝倧宗從悰慫棕淙琮種終綜縱腫�".split(""); +for(j = 0; j != D[240].length; ++j) if(D[240][j].charCodeAt(0) !== 0xFFFD) { e[D[240][j]] = 61440 + j; d[61440 + j] = D[240][j];} +D[241] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������踪踵鍾鐘佐坐左座挫罪主住侏做姝胄呪周嗾奏宙州廚晝朱柱株注洲湊澍炷珠疇籌紂紬綢舟蛛註誅走躊輳週酎酒鑄駐竹粥俊儁准埈寯峻晙樽浚準濬焌畯竣蠢逡遵雋駿茁中仲衆重卽櫛楫汁葺增憎曾拯烝甑症繒蒸證贈之只�".split(""); +for(j = 0; j != D[241].length; ++j) if(D[241][j].charCodeAt(0) !== 0xFFFD) { e[D[241][j]] = 61696 + j; d[61696 + j] = D[241][j];} +D[242] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������咫地址志持指摯支旨智枝枳止池沚漬知砥祉祗紙肢脂至芝芷蜘誌識贄趾遲直稙稷織職唇嗔塵振搢晉晋桭榛殄津溱珍瑨璡畛疹盡眞瞋秦縉縝臻蔯袗診賑軫辰進鎭陣陳震侄叱姪嫉帙桎瓆疾秩窒膣蛭質跌迭斟朕什執潗緝輯�".split(""); +for(j = 0; j != D[242].length; ++j) if(D[242][j].charCodeAt(0) !== 0xFFFD) { e[D[242][j]] = 61952 + j; d[61952 + j] = D[242][j];} +D[243] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������鏶集徵懲澄且侘借叉嗟嵯差次此磋箚茶蹉車遮捉搾着窄錯鑿齪撰澯燦璨瓚竄簒纂粲纘讚贊鑽餐饌刹察擦札紮僭參塹慘慙懺斬站讒讖倉倡創唱娼廠彰愴敞昌昶暢槍滄漲猖瘡窓脹艙菖蒼債埰寀寨彩採砦綵菜蔡采釵冊柵策�".split(""); +for(j = 0; j != D[243].length; ++j) if(D[243][j].charCodeAt(0) !== 0xFFFD) { e[D[243][j]] = 62208 + j; d[62208 + j] = D[243][j];} +D[244] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������責凄妻悽處倜刺剔尺慽戚拓擲斥滌瘠脊蹠陟隻仟千喘天川擅泉淺玔穿舛薦賤踐遷釧闡阡韆凸哲喆徹撤澈綴輟轍鐵僉尖沾添甛瞻簽籤詹諂堞妾帖捷牒疊睫諜貼輒廳晴淸聽菁請靑鯖切剃替涕滯締諦逮遞體初剿哨憔抄招梢�".split(""); +for(j = 0; j != D[244].length; ++j) if(D[244][j].charCodeAt(0) !== 0xFFFD) { e[D[244][j]] = 62464 + j; d[62464 + j] = D[244][j];} +D[245] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������椒楚樵炒焦硝礁礎秒稍肖艸苕草蕉貂超酢醋醮促囑燭矗蜀觸寸忖村邨叢塚寵悤憁摠總聰蔥銃撮催崔最墜抽推椎楸樞湫皺秋芻萩諏趨追鄒酋醜錐錘鎚雛騶鰍丑畜祝竺筑築縮蓄蹙蹴軸逐春椿瑃出朮黜充忠沖蟲衝衷悴膵萃�".split(""); +for(j = 0; j != D[245].length; ++j) if(D[245][j].charCodeAt(0) !== 0xFFFD) { e[D[245][j]] = 62720 + j; d[62720 + j] = D[245][j];} +D[246] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������贅取吹嘴娶就炊翠聚脆臭趣醉驟鷲側仄厠惻測層侈値嗤峙幟恥梔治淄熾痔痴癡稚穉緇緻置致蚩輜雉馳齒則勅飭親七柒漆侵寢枕沈浸琛砧針鍼蟄秤稱快他咤唾墮妥惰打拖朶楕舵陀馱駝倬卓啄坼度托拓擢晫柝濁濯琢琸託�".split(""); +for(j = 0; j != D[246].length; ++j) if(D[246][j].charCodeAt(0) !== 0xFFFD) { e[D[246][j]] = 62976 + j; d[62976 + j] = D[246][j];} +D[247] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������鐸呑嘆坦彈憚歎灘炭綻誕奪脫探眈耽貪塔搭榻宕帑湯糖蕩兌台太怠態殆汰泰笞胎苔跆邰颱宅擇澤撑攄兎吐土討慟桶洞痛筒統通堆槌腿褪退頹偸套妬投透鬪慝特闖坡婆巴把播擺杷波派爬琶破罷芭跛頗判坂板版瓣販辦鈑�".split(""); +for(j = 0; j != D[247].length; ++j) if(D[247][j].charCodeAt(0) !== 0xFFFD) { e[D[247][j]] = 63232 + j; d[63232 + j] = D[247][j];} +D[248] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������阪八叭捌佩唄悖敗沛浿牌狽稗覇貝彭澎烹膨愎便偏扁片篇編翩遍鞭騙貶坪平枰萍評吠嬖幣廢弊斃肺蔽閉陛佈包匍匏咆哺圃布怖抛抱捕暴泡浦疱砲胞脯苞葡蒲袍褒逋鋪飽鮑幅暴曝瀑爆輻俵剽彪慓杓標漂瓢票表豹飇飄驃�".split(""); +for(j = 0; j != D[248].length; ++j) if(D[248][j].charCodeAt(0) !== 0xFFFD) { e[D[248][j]] = 63488 + j; d[63488 + j] = D[248][j];} +D[249] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������品稟楓諷豊風馮彼披疲皮被避陂匹弼必泌珌畢疋筆苾馝乏逼下何厦夏廈昰河瑕荷蝦賀遐霞鰕壑學虐謔鶴寒恨悍旱汗漢澣瀚罕翰閑閒限韓割轄函含咸啣喊檻涵緘艦銜陷鹹合哈盒蛤閤闔陜亢伉姮嫦巷恒抗杭桁沆港缸肛航�".split(""); +for(j = 0; j != D[249].length; ++j) if(D[249][j].charCodeAt(0) !== 0xFFFD) { e[D[249][j]] = 63744 + j; d[63744 + j] = D[249][j];} +D[250] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������行降項亥偕咳垓奚孩害懈楷海瀣蟹解該諧邂駭骸劾核倖幸杏荇行享向嚮珦鄕響餉饗香噓墟虛許憲櫶獻軒歇險驗奕爀赫革俔峴弦懸晛泫炫玄玹現眩睍絃絢縣舷衒見賢鉉顯孑穴血頁嫌俠協夾峽挾浹狹脅脇莢鋏頰亨兄刑型�".split(""); +for(j = 0; j != D[250].length; ++j) if(D[250][j].charCodeAt(0) !== 0xFFFD) { e[D[250][j]] = 64000 + j; d[64000 + j] = D[250][j];} +D[251] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������形泂滎瀅灐炯熒珩瑩荊螢衡逈邢鎣馨兮彗惠慧暳蕙蹊醯鞋乎互呼壕壺好岵弧戶扈昊晧毫浩淏湖滸澔濠濩灝狐琥瑚瓠皓祜糊縞胡芦葫蒿虎號蝴護豪鎬頀顥惑或酷婚昏混渾琿魂忽惚笏哄弘汞泓洪烘紅虹訌鴻化和嬅樺火畵�".split(""); +for(j = 0; j != D[251].length; ++j) if(D[251][j].charCodeAt(0) !== 0xFFFD) { e[D[251][j]] = 64256 + j; d[64256 + j] = D[251][j];} +D[252] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������禍禾花華話譁貨靴廓擴攫確碻穫丸喚奐宦幻患換歡晥桓渙煥環紈還驩鰥活滑猾豁闊凰幌徨恍惶愰慌晃晄榥況湟滉潢煌璜皇篁簧荒蝗遑隍黃匯回廻徊恢悔懷晦會檜淮澮灰獪繪膾茴蛔誨賄劃獲宖橫鐄哮嚆孝效斅曉梟涍淆�".split(""); +for(j = 0; j != D[252].length; ++j) if(D[252][j].charCodeAt(0) !== 0xFFFD) { e[D[252][j]] = 64512 + j; d[64512 + j] = D[252][j];} +D[253] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������爻肴酵驍侯候厚后吼喉嗅帿後朽煦珝逅勛勳塤壎焄熏燻薰訓暈薨喧暄煊萱卉喙毁彙徽揮暉煇諱輝麾休携烋畦虧恤譎鷸兇凶匈洶胸黑昕欣炘痕吃屹紇訖欠欽歆吸恰洽翕興僖凞喜噫囍姬嬉希憙憘戱晞曦熙熹熺犧禧稀羲詰�".split(""); +for(j = 0; j != D[253].length; ++j) if(D[253][j].charCodeAt(0) !== 0xFFFD) { e[D[253][j]] = 64768 + j; d[64768 + j] = D[253][j];} +return {"enc": e, "dec": d }; })(); +cptable[950] = (function(){ var d = [], e = {}, D = [], j; +D[0] = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������".split(""); +for(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];} +D[161] = "���������������������������������������������������������������� ,、。.‧;:?!︰…‥﹐﹑﹒·﹔﹕﹖﹗|–︱—︳╴︴﹏()︵︶{}︷︸〔〕︹︺【】︻︼《》︽︾〈〉︿﹀「」﹁﹂『』﹃﹄﹙﹚����������������������������������﹛﹜﹝﹞‘’“”〝〞‵′#&*※§〃○●△▲◎☆★◇◆□■▽▼㊣℅¯ ̄_ˍ﹉﹊﹍﹎﹋﹌﹟﹠﹡+-×÷±√<>=≦≧≠∞≒≡﹢﹣﹤﹥﹦~∩∪⊥∠∟⊿㏒㏑∫∮∵∴♀♂⊕⊙↑↓←→↖↗↙↘∥∣/�".split(""); +for(j = 0; j != D[161].length; ++j) if(D[161][j].charCodeAt(0) !== 0xFFFD) { e[D[161][j]] = 41216 + j; d[41216 + j] = D[161][j];} +D[162] = "����������������������������������������������������������������\∕﹨$¥〒¢£%@℃℉﹩﹪﹫㏕㎜㎝㎞㏎㎡㎎㎏㏄°兙兛兞兝兡兣嗧瓩糎▁▂▃▄▅▆▇█▏▎▍▌▋▊▉┼┴┬┤├▔─│▕┌┐└┘╭����������������������������������╮╰╯═╞╪╡◢◣◥◤╱╲╳0123456789ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ〡〢〣〤〥〦〧〨〩十卄卅ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuv�".split(""); +for(j = 0; j != D[162].length; ++j) if(D[162][j].charCodeAt(0) !== 0xFFFD) { e[D[162][j]] = 41472 + j; d[41472 + j] = D[162][j];} +D[163] = "����������������������������������������������������������������wxyzΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρστυφχψωㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏ����������������������������������ㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ˙ˉˊˇˋ���������������������������������€������������������������������".split(""); +for(j = 0; j != D[163].length; ++j) if(D[163][j].charCodeAt(0) !== 0xFFFD) { e[D[163][j]] = 41728 + j; d[41728 + j] = D[163][j];} +D[164] = "����������������������������������������������������������������一乙丁七乃九了二人儿入八几刀刁力匕十卜又三下丈上丫丸凡久么也乞于亡兀刃勺千叉口土士夕大女子孑孓寸小尢尸山川工己已巳巾干廾弋弓才����������������������������������丑丐不中丰丹之尹予云井互五亢仁什仃仆仇仍今介仄元允內六兮公冗凶分切刈勻勾勿化匹午升卅卞厄友及反壬天夫太夭孔少尤尺屯巴幻廿弔引心戈戶手扎支文斗斤方日曰月木欠止歹毋比毛氏水火爪父爻片牙牛犬王丙�".split(""); +for(j = 0; j != D[164].length; ++j) if(D[164][j].charCodeAt(0) !== 0xFFFD) { e[D[164][j]] = 41984 + j; d[41984 + j] = D[164][j];} +D[165] = "����������������������������������������������������������������世丕且丘主乍乏乎以付仔仕他仗代令仙仞充兄冉冊冬凹出凸刊加功包匆北匝仟半卉卡占卯卮去可古右召叮叩叨叼司叵叫另只史叱台句叭叻四囚外����������������������������������央失奴奶孕它尼巨巧左市布平幼弁弘弗必戊打扔扒扑斥旦朮本未末札正母民氐永汁汀氾犯玄玉瓜瓦甘生用甩田由甲申疋白皮皿目矛矢石示禾穴立丞丟乒乓乩亙交亦亥仿伉伙伊伕伍伐休伏仲件任仰仳份企伋光兇兆先全�".split(""); +for(j = 0; j != D[165].length; ++j) if(D[165][j].charCodeAt(0) !== 0xFFFD) { e[D[165][j]] = 42240 + j; d[42240 + j] = D[165][j];} +D[166] = "����������������������������������������������������������������共再冰列刑划刎刖劣匈匡匠印危吉吏同吊吐吁吋各向名合吃后吆吒因回囝圳地在圭圬圯圩夙多夷夸妄奸妃好她如妁字存宇守宅安寺尖屹州帆并年����������������������������������式弛忙忖戎戌戍成扣扛托收早旨旬旭曲曳有朽朴朱朵次此死氖汝汗汙江池汐汕污汛汍汎灰牟牝百竹米糸缶羊羽老考而耒耳聿肉肋肌臣自至臼舌舛舟艮色艾虫血行衣西阡串亨位住佇佗佞伴佛何估佐佑伽伺伸佃佔似但佣�".split(""); +for(j = 0; j != D[166].length; ++j) if(D[166][j].charCodeAt(0) !== 0xFFFD) { e[D[166][j]] = 42496 + j; d[42496 + j] = D[166][j];} +D[167] = "����������������������������������������������������������������作你伯低伶余佝佈佚兌克免兵冶冷別判利刪刨劫助努劬匣即卵吝吭吞吾否呎吧呆呃吳呈呂君吩告吹吻吸吮吵吶吠吼呀吱含吟听囪困囤囫坊坑址坍����������������������������������均坎圾坐坏圻壯夾妝妒妨妞妣妙妖妍妤妓妊妥孝孜孚孛完宋宏尬局屁尿尾岐岑岔岌巫希序庇床廷弄弟彤形彷役忘忌志忍忱快忸忪戒我抄抗抖技扶抉扭把扼找批扳抒扯折扮投抓抑抆改攻攸旱更束李杏材村杜杖杞杉杆杠�".split(""); +for(j = 0; j != D[167].length; ++j) if(D[167][j].charCodeAt(0) !== 0xFFFD) { e[D[167][j]] = 42752 + j; d[42752 + j] = D[167][j];} +D[168] = "����������������������������������������������������������������杓杗步每求汞沙沁沈沉沅沛汪決沐汰沌汨沖沒汽沃汲汾汴沆汶沍沔沘沂灶灼災灸牢牡牠狄狂玖甬甫男甸皂盯矣私秀禿究系罕肖肓肝肘肛肚育良芒����������������������������������芋芍見角言谷豆豕貝赤走足身車辛辰迂迆迅迄巡邑邢邪邦那酉釆里防阮阱阪阬並乖乳事些亞享京佯依侍佳使佬供例來侃佰併侈佩佻侖佾侏侑佺兔兒兕兩具其典冽函刻券刷刺到刮制剁劾劻卒協卓卑卦卷卸卹取叔受味呵�".split(""); +for(j = 0; j != D[168].length; ++j) if(D[168][j].charCodeAt(0) !== 0xFFFD) { e[D[168][j]] = 43008 + j; d[43008 + j] = D[168][j];} +D[169] = "����������������������������������������������������������������咖呸咕咀呻呷咄咒咆呼咐呱呶和咚呢周咋命咎固垃坷坪坩坡坦坤坼夜奉奇奈奄奔妾妻委妹妮姑姆姐姍始姓姊妯妳姒姅孟孤季宗定官宜宙宛尚屈居����������������������������������屆岷岡岸岩岫岱岳帘帚帖帕帛帑幸庚店府底庖延弦弧弩往征彿彼忝忠忽念忿怏怔怯怵怖怪怕怡性怩怫怛或戕房戾所承拉拌拄抿拂抹拒招披拓拔拋拈抨抽押拐拙拇拍抵拚抱拘拖拗拆抬拎放斧於旺昔易昌昆昂明昀昏昕昊�".split(""); +for(j = 0; j != D[169].length; ++j) if(D[169][j].charCodeAt(0) !== 0xFFFD) { e[D[169][j]] = 43264 + j; d[43264 + j] = D[169][j];} +D[170] = "����������������������������������������������������������������昇服朋杭枋枕東果杳杷枇枝林杯杰板枉松析杵枚枓杼杪杲欣武歧歿氓氛泣注泳沱泌泥河沽沾沼波沫法泓沸泄油況沮泗泅泱沿治泡泛泊沬泯泜泖泠����������������������������������炕炎炒炊炙爬爭爸版牧物狀狎狙狗狐玩玨玟玫玥甽疝疙疚的盂盲直知矽社祀祁秉秈空穹竺糾罔羌羋者肺肥肢肱股肫肩肴肪肯臥臾舍芳芝芙芭芽芟芹花芬芥芯芸芣芰芾芷虎虱初表軋迎返近邵邸邱邶采金長門阜陀阿阻附�".split(""); +for(j = 0; j != D[170].length; ++j) if(D[170][j].charCodeAt(0) !== 0xFFFD) { e[D[170][j]] = 43520 + j; d[43520 + j] = D[170][j];} +D[171] = "����������������������������������������������������������������陂隹雨青非亟亭亮信侵侯便俠俑俏保促侶俘俟俊俗侮俐俄係俚俎俞侷兗冒冑冠剎剃削前剌剋則勇勉勃勁匍南卻厚叛咬哀咨哎哉咸咦咳哇哂咽咪品����������������������������������哄哈咯咫咱咻咩咧咿囿垂型垠垣垢城垮垓奕契奏奎奐姜姘姿姣姨娃姥姪姚姦威姻孩宣宦室客宥封屎屏屍屋峙峒巷帝帥帟幽庠度建弈弭彥很待徊律徇後徉怒思怠急怎怨恍恰恨恢恆恃恬恫恪恤扁拜挖按拼拭持拮拽指拱拷�".split(""); +for(j = 0; j != D[171].length; ++j) if(D[171][j].charCodeAt(0) !== 0xFFFD) { e[D[171][j]] = 43776 + j; d[43776 + j] = D[171][j];} +D[172] = "����������������������������������������������������������������拯括拾拴挑挂政故斫施既春昭映昧是星昨昱昤曷柿染柱柔某柬架枯柵柩柯柄柑枴柚查枸柏柞柳枰柙柢柝柒歪殃殆段毒毗氟泉洋洲洪流津洌洱洞洗����������������������������������活洽派洶洛泵洹洧洸洩洮洵洎洫炫為炳炬炯炭炸炮炤爰牲牯牴狩狠狡玷珊玻玲珍珀玳甚甭畏界畎畋疫疤疥疢疣癸皆皇皈盈盆盃盅省盹相眉看盾盼眇矜砂研砌砍祆祉祈祇禹禺科秒秋穿突竿竽籽紂紅紀紉紇約紆缸美羿耄�".split(""); +for(j = 0; j != D[172].length; ++j) if(D[172][j].charCodeAt(0) !== 0xFFFD) { e[D[172][j]] = 44032 + j; d[44032 + j] = D[172][j];} +D[173] = "����������������������������������������������������������������耐耍耑耶胖胥胚胃胄背胡胛胎胞胤胝致舢苧范茅苣苛苦茄若茂茉苒苗英茁苜苔苑苞苓苟苯茆虐虹虻虺衍衫要觔計訂訃貞負赴赳趴軍軌述迦迢迪迥����������������������������������迭迫迤迨郊郎郁郃酋酊重閂限陋陌降面革韋韭音頁風飛食首香乘亳倌倍倣俯倦倥俸倩倖倆值借倚倒們俺倀倔倨俱倡個候倘俳修倭倪俾倫倉兼冤冥冢凍凌准凋剖剜剔剛剝匪卿原厝叟哨唐唁唷哼哥哲唆哺唔哩哭員唉哮哪�".split(""); +for(j = 0; j != D[173].length; ++j) if(D[173][j].charCodeAt(0) !== 0xFFFD) { e[D[173][j]] = 44288 + j; d[44288 + j] = D[173][j];} +D[174] = "����������������������������������������������������������������哦唧唇哽唏圃圄埂埔埋埃堉夏套奘奚娑娘娜娟娛娓姬娠娣娩娥娌娉孫屘宰害家宴宮宵容宸射屑展屐峭峽峻峪峨峰島崁峴差席師庫庭座弱徒徑徐恙����������������������������������恣恥恐恕恭恩息悄悟悚悍悔悌悅悖扇拳挈拿捎挾振捕捂捆捏捉挺捐挽挪挫挨捍捌效敉料旁旅時晉晏晃晒晌晅晁書朔朕朗校核案框桓根桂桔栩梳栗桌桑栽柴桐桀格桃株桅栓栘桁殊殉殷氣氧氨氦氤泰浪涕消涇浦浸海浙涓�".split(""); +for(j = 0; j != D[174].length; ++j) if(D[174][j].charCodeAt(0) !== 0xFFFD) { e[D[174][j]] = 44544 + j; d[44544 + j] = D[174][j];} +D[175] = "����������������������������������������������������������������浬涉浮浚浴浩涌涊浹涅浥涔烊烘烤烙烈烏爹特狼狹狽狸狷玆班琉珮珠珪珞畔畝畜畚留疾病症疲疳疽疼疹痂疸皋皰益盍盎眩真眠眨矩砰砧砸砝破砷����������������������������������砥砭砠砟砲祕祐祠祟祖神祝祗祚秤秣秧租秦秩秘窄窈站笆笑粉紡紗紋紊素索純紐紕級紜納紙紛缺罟羔翅翁耆耘耕耙耗耽耿胱脂胰脅胭胴脆胸胳脈能脊胼胯臭臬舀舐航舫舨般芻茫荒荔荊茸荐草茵茴荏茲茹茶茗荀茱茨荃�".split(""); +for(j = 0; j != D[175].length; ++j) if(D[175][j].charCodeAt(0) !== 0xFFFD) { e[D[175][j]] = 44800 + j; d[44800 + j] = D[175][j];} +D[176] = "����������������������������������������������������������������虔蚊蚪蚓蚤蚩蚌蚣蚜衰衷袁袂衽衹記訐討訌訕訊託訓訖訏訑豈豺豹財貢起躬軒軔軏辱送逆迷退迺迴逃追逅迸邕郡郝郢酒配酌釘針釗釜釙閃院陣陡����������������������������������陛陝除陘陞隻飢馬骨高鬥鬲鬼乾偺偽停假偃偌做偉健偶偎偕偵側偷偏倏偯偭兜冕凰剪副勒務勘動匐匏匙匿區匾參曼商啪啦啄啞啡啃啊唱啖問啕唯啤唸售啜唬啣唳啁啗圈國圉域堅堊堆埠埤基堂堵執培夠奢娶婁婉婦婪婀�".split(""); +for(j = 0; j != D[176].length; ++j) if(D[176][j].charCodeAt(0) !== 0xFFFD) { e[D[176][j]] = 45056 + j; d[45056 + j] = D[176][j];} +D[177] = "����������������������������������������������������������������娼婢婚婆婊孰寇寅寄寂宿密尉專將屠屜屝崇崆崎崛崖崢崑崩崔崙崤崧崗巢常帶帳帷康庸庶庵庾張強彗彬彩彫得徙從徘御徠徜恿患悉悠您惋悴惦悽����������������������������������情悻悵惜悼惘惕惆惟悸惚惇戚戛扈掠控捲掖探接捷捧掘措捱掩掉掃掛捫推掄授掙採掬排掏掀捻捩捨捺敝敖救教敗啟敏敘敕敔斜斛斬族旋旌旎晝晚晤晨晦晞曹勗望梁梯梢梓梵桿桶梱梧梗械梃棄梭梆梅梔條梨梟梡梂欲殺�".split(""); +for(j = 0; j != D[177].length; ++j) if(D[177][j].charCodeAt(0) !== 0xFFFD) { e[D[177][j]] = 45312 + j; d[45312 + j] = D[177][j];} +D[178] = "����������������������������������������������������������������毫毬氫涎涼淳淙液淡淌淤添淺清淇淋涯淑涮淞淹涸混淵淅淒渚涵淚淫淘淪深淮淨淆淄涪淬涿淦烹焉焊烽烯爽牽犁猜猛猖猓猙率琅琊球理現琍瓠瓶����������������������������������瓷甜產略畦畢異疏痔痕疵痊痍皎盔盒盛眷眾眼眶眸眺硫硃硎祥票祭移窒窕笠笨笛第符笙笞笮粒粗粕絆絃統紮紹紼絀細紳組累終紲紱缽羞羚翌翎習耜聊聆脯脖脣脫脩脰脤舂舵舷舶船莎莞莘荸莢莖莽莫莒莊莓莉莠荷荻荼�".split(""); +for(j = 0; j != D[178].length; ++j) if(D[178][j].charCodeAt(0) !== 0xFFFD) { e[D[178][j]] = 45568 + j; d[45568 + j] = D[178][j];} +D[179] = "����������������������������������������������������������������莆莧處彪蛇蛀蚶蛄蚵蛆蛋蚱蚯蛉術袞袈被袒袖袍袋覓規訪訝訣訥許設訟訛訢豉豚販責貫貨貪貧赧赦趾趺軛軟這逍通逗連速逝逐逕逞造透逢逖逛途����������������������������������部郭都酗野釵釦釣釧釭釩閉陪陵陳陸陰陴陶陷陬雀雪雩章竟頂頃魚鳥鹵鹿麥麻傢傍傅備傑傀傖傘傚最凱割剴創剩勞勝勛博厥啻喀喧啼喊喝喘喂喜喪喔喇喋喃喳單喟唾喲喚喻喬喱啾喉喫喙圍堯堪場堤堰報堡堝堠壹壺奠�".split(""); +for(j = 0; j != D[179].length; ++j) if(D[179][j].charCodeAt(0) !== 0xFFFD) { e[D[179][j]] = 45824 + j; d[45824 + j] = D[179][j];} +D[180] = "����������������������������������������������������������������婷媚婿媒媛媧孳孱寒富寓寐尊尋就嵌嵐崴嵇巽幅帽幀幃幾廊廁廂廄弼彭復循徨惑惡悲悶惠愜愣惺愕惰惻惴慨惱愎惶愉愀愒戟扉掣掌描揀揩揉揆揍����������������������������������插揣提握揖揭揮捶援揪換摒揚揹敞敦敢散斑斐斯普晰晴晶景暑智晾晷曾替期朝棺棕棠棘棗椅棟棵森棧棹棒棲棣棋棍植椒椎棉棚楮棻款欺欽殘殖殼毯氮氯氬港游湔渡渲湧湊渠渥渣減湛湘渤湖湮渭渦湯渴湍渺測湃渝渾滋�".split(""); +for(j = 0; j != D[180].length; ++j) if(D[180][j].charCodeAt(0) !== 0xFFFD) { e[D[180][j]] = 46080 + j; d[46080 + j] = D[180][j];} +D[181] = "����������������������������������������������������������������溉渙湎湣湄湲湩湟焙焚焦焰無然煮焜牌犄犀猶猥猴猩琺琪琳琢琥琵琶琴琯琛琦琨甥甦畫番痢痛痣痙痘痞痠登發皖皓皴盜睏短硝硬硯稍稈程稅稀窘����������������������������������窗窖童竣等策筆筐筒答筍筋筏筑粟粥絞結絨絕紫絮絲絡給絢絰絳善翔翕耋聒肅腕腔腋腑腎脹腆脾腌腓腴舒舜菩萃菸萍菠菅萋菁華菱菴著萊菰萌菌菽菲菊萸萎萄菜萇菔菟虛蛟蛙蛭蛔蛛蛤蛐蛞街裁裂袱覃視註詠評詞証詁�".split(""); +for(j = 0; j != D[181].length; ++j) if(D[181][j].charCodeAt(0) !== 0xFFFD) { e[D[181][j]] = 46336 + j; d[46336 + j] = D[181][j];} +D[182] = "����������������������������������������������������������������詔詛詐詆訴診訶詖象貂貯貼貳貽賁費賀貴買貶貿貸越超趁跎距跋跚跑跌跛跆軻軸軼辜逮逵週逸進逶鄂郵鄉郾酣酥量鈔鈕鈣鈉鈞鈍鈐鈇鈑閔閏開閑����������������������������������間閒閎隊階隋陽隅隆隍陲隄雁雅雄集雇雯雲韌項順須飧飪飯飩飲飭馮馭黃黍黑亂傭債傲傳僅傾催傷傻傯僇剿剷剽募勦勤勢勣匯嗟嗨嗓嗦嗎嗜嗇嗑嗣嗤嗯嗚嗡嗅嗆嗥嗉園圓塞塑塘塗塚塔填塌塭塊塢塒塋奧嫁嫉嫌媾媽媼�".split(""); +for(j = 0; j != D[182].length; ++j) if(D[182][j].charCodeAt(0) !== 0xFFFD) { e[D[182][j]] = 46592 + j; d[46592 + j] = D[182][j];} +D[183] = "����������������������������������������������������������������媳嫂媲嵩嵯幌幹廉廈弒彙徬微愚意慈感想愛惹愁愈慎慌慄慍愾愴愧愍愆愷戡戢搓搾搞搪搭搽搬搏搜搔損搶搖搗搆敬斟新暗暉暇暈暖暄暘暍會榔業����������������������������������楚楷楠楔極椰概楊楨楫楞楓楹榆楝楣楛歇歲毀殿毓毽溢溯滓溶滂源溝滇滅溥溘溼溺溫滑準溜滄滔溪溧溴煎煙煩煤煉照煜煬煦煌煥煞煆煨煖爺牒猷獅猿猾瑯瑚瑕瑟瑞瑁琿瑙瑛瑜當畸瘀痰瘁痲痱痺痿痴痳盞盟睛睫睦睞督�".split(""); +for(j = 0; j != D[183].length; ++j) if(D[183][j].charCodeAt(0) !== 0xFFFD) { e[D[183][j]] = 46848 + j; d[46848 + j] = D[183][j];} +D[184] = "����������������������������������������������������������������睹睪睬睜睥睨睢矮碎碰碗碘碌碉硼碑碓硿祺祿禁萬禽稜稚稠稔稟稞窟窠筷節筠筮筧粱粳粵經絹綑綁綏絛置罩罪署義羨群聖聘肆肄腱腰腸腥腮腳腫����������������������������������腹腺腦舅艇蒂葷落萱葵葦葫葉葬葛萼萵葡董葩葭葆虞虜號蛹蜓蜈蜇蜀蛾蛻蜂蜃蜆蜊衙裟裔裙補裘裝裡裊裕裒覜解詫該詳試詩詰誇詼詣誠話誅詭詢詮詬詹詻訾詨豢貊貉賊資賈賄貲賃賂賅跡跟跨路跳跺跪跤跦躲較載軾輊�".split(""); +for(j = 0; j != D[184].length; ++j) if(D[184][j].charCodeAt(0) !== 0xFFFD) { e[D[184][j]] = 47104 + j; d[47104 + j] = D[184][j];} +D[185] = "����������������������������������������������������������������辟農運遊道遂達逼違遐遇遏過遍遑逾遁鄒鄗酬酪酩釉鈷鉗鈸鈽鉀鈾鉛鉋鉤鉑鈴鉉鉍鉅鈹鈿鉚閘隘隔隕雍雋雉雊雷電雹零靖靴靶預頑頓頊頒頌飼飴����������������������������������飽飾馳馱馴髡鳩麂鼎鼓鼠僧僮僥僖僭僚僕像僑僱僎僩兢凳劃劂匱厭嗾嘀嘛嘗嗽嘔嘆嘉嘍嘎嗷嘖嘟嘈嘐嗶團圖塵塾境墓墊塹墅塽壽夥夢夤奪奩嫡嫦嫩嫗嫖嫘嫣孵寞寧寡寥實寨寢寤察對屢嶄嶇幛幣幕幗幔廓廖弊彆彰徹慇�".split(""); +for(j = 0; j != D[185].length; ++j) if(D[185][j].charCodeAt(0) !== 0xFFFD) { e[D[185][j]] = 47360 + j; d[47360 + j] = D[185][j];} +D[186] = "����������������������������������������������������������������愿態慷慢慣慟慚慘慵截撇摘摔撤摸摟摺摑摧搴摭摻敲斡旗旖暢暨暝榜榨榕槁榮槓構榛榷榻榫榴槐槍榭槌榦槃榣歉歌氳漳演滾漓滴漩漾漠漬漏漂漢����������������������������������滿滯漆漱漸漲漣漕漫漯澈漪滬漁滲滌滷熔熙煽熊熄熒爾犒犖獄獐瑤瑣瑪瑰瑭甄疑瘧瘍瘋瘉瘓盡監瞄睽睿睡磁碟碧碳碩碣禎福禍種稱窪窩竭端管箕箋筵算箝箔箏箸箇箄粹粽精綻綰綜綽綾綠緊綴網綱綺綢綿綵綸維緒緇綬�".split(""); +for(j = 0; j != D[186].length; ++j) if(D[186][j].charCodeAt(0) !== 0xFFFD) { e[D[186][j]] = 47616 + j; d[47616 + j] = D[186][j];} +D[187] = "����������������������������������������������������������������罰翠翡翟聞聚肇腐膀膏膈膊腿膂臧臺與舔舞艋蓉蒿蓆蓄蒙蒞蒲蒜蓋蒸蓀蓓蒐蒼蓑蓊蜿蜜蜻蜢蜥蜴蜘蝕蜷蜩裳褂裴裹裸製裨褚裯誦誌語誣認誡誓誤����������������������������������說誥誨誘誑誚誧豪貍貌賓賑賒赫趙趕跼輔輒輕輓辣遠遘遜遣遙遞遢遝遛鄙鄘鄞酵酸酷酴鉸銀銅銘銖鉻銓銜銨鉼銑閡閨閩閣閥閤隙障際雌雒需靼鞅韶頗領颯颱餃餅餌餉駁骯骰髦魁魂鳴鳶鳳麼鼻齊億儀僻僵價儂儈儉儅凜�".split(""); +for(j = 0; j != D[187].length; ++j) if(D[187][j].charCodeAt(0) !== 0xFFFD) { e[D[187][j]] = 47872 + j; d[47872 + j] = D[187][j];} +D[188] = "����������������������������������������������������������������劇劈劉劍劊勰厲嘮嘻嘹嘲嘿嘴嘩噓噎噗噴嘶嘯嘰墀墟增墳墜墮墩墦奭嬉嫻嬋嫵嬌嬈寮寬審寫層履嶝嶔幢幟幡廢廚廟廝廣廠彈影德徵慶慧慮慝慕憂����������������������������������慼慰慫慾憧憐憫憎憬憚憤憔憮戮摩摯摹撞撲撈撐撰撥撓撕撩撒撮播撫撚撬撙撢撳敵敷數暮暫暴暱樣樟槨樁樞標槽模樓樊槳樂樅槭樑歐歎殤毅毆漿潼澄潑潦潔澆潭潛潸潮澎潺潰潤澗潘滕潯潠潟熟熬熱熨牖犛獎獗瑩璋璃�".split(""); +for(j = 0; j != D[188].length; ++j) if(D[188][j].charCodeAt(0) !== 0xFFFD) { e[D[188][j]] = 48128 + j; d[48128 + j] = D[188][j];} +D[189] = "����������������������������������������������������������������瑾璀畿瘠瘩瘟瘤瘦瘡瘢皚皺盤瞎瞇瞌瞑瞋磋磅確磊碾磕碼磐稿稼穀稽稷稻窯窮箭箱範箴篆篇篁箠篌糊締練緯緻緘緬緝編緣線緞緩綞緙緲緹罵罷羯����������������������������������翩耦膛膜膝膠膚膘蔗蔽蔚蓮蔬蔭蔓蔑蔣蔡蔔蓬蔥蓿蔆螂蝴蝶蝠蝦蝸蝨蝙蝗蝌蝓衛衝褐複褒褓褕褊誼諒談諄誕請諸課諉諂調誰論諍誶誹諛豌豎豬賠賞賦賤賬賭賢賣賜質賡赭趟趣踫踐踝踢踏踩踟踡踞躺輝輛輟輩輦輪輜輞�".split(""); +for(j = 0; j != D[189].length; ++j) if(D[189][j].charCodeAt(0) !== 0xFFFD) { e[D[189][j]] = 48384 + j; d[48384 + j] = D[189][j];} +D[190] = "����������������������������������������������������������������輥適遮遨遭遷鄰鄭鄧鄱醇醉醋醃鋅銻銷鋪銬鋤鋁銳銼鋒鋇鋰銲閭閱霄霆震霉靠鞍鞋鞏頡頫頜颳養餓餒餘駝駐駟駛駑駕駒駙骷髮髯鬧魅魄魷魯鴆鴉����������������������������������鴃麩麾黎墨齒儒儘儔儐儕冀冪凝劑劓勳噙噫噹噩噤噸噪器噥噱噯噬噢噶壁墾壇壅奮嬝嬴學寰導彊憲憑憩憊懍憶憾懊懈戰擅擁擋撻撼據擄擇擂操撿擒擔撾整曆曉暹曄曇暸樽樸樺橙橫橘樹橄橢橡橋橇樵機橈歙歷氅濂澱澡�".split(""); +for(j = 0; j != D[190].length; ++j) if(D[190][j].charCodeAt(0) !== 0xFFFD) { e[D[190][j]] = 48640 + j; d[48640 + j] = D[190][j];} +D[191] = "����������������������������������������������������������������濃澤濁澧澳激澹澶澦澠澴熾燉燐燒燈燕熹燎燙燜燃燄獨璜璣璘璟璞瓢甌甍瘴瘸瘺盧盥瞠瞞瞟瞥磨磚磬磧禦積穎穆穌穋窺篙簑築篤篛篡篩篦糕糖縊����������������������������������縑縈縛縣縞縝縉縐罹羲翰翱翮耨膳膩膨臻興艘艙蕊蕙蕈蕨蕩蕃蕉蕭蕪蕞螃螟螞螢融衡褪褲褥褫褡親覦諦諺諫諱謀諜諧諮諾謁謂諷諭諳諶諼豫豭貓賴蹄踱踴蹂踹踵輻輯輸輳辨辦遵遴選遲遼遺鄴醒錠錶鋸錳錯錢鋼錫錄錚�".split(""); +for(j = 0; j != D[191].length; ++j) if(D[191][j].charCodeAt(0) !== 0xFFFD) { e[D[191][j]] = 48896 + j; d[48896 + j] = D[191][j];} +D[192] = "����������������������������������������������������������������錐錦錡錕錮錙閻隧隨險雕霎霑霖霍霓霏靛靜靦鞘頰頸頻頷頭頹頤餐館餞餛餡餚駭駢駱骸骼髻髭鬨鮑鴕鴣鴦鴨鴒鴛默黔龍龜優償儡儲勵嚎嚀嚐嚅嚇����������������������������������嚏壕壓壑壎嬰嬪嬤孺尷屨嶼嶺嶽嶸幫彌徽應懂懇懦懋戲戴擎擊擘擠擰擦擬擱擢擭斂斃曙曖檀檔檄檢檜櫛檣橾檗檐檠歜殮毚氈濘濱濟濠濛濤濫濯澀濬濡濩濕濮濰燧營燮燦燥燭燬燴燠爵牆獰獲璩環璦璨癆療癌盪瞳瞪瞰瞬�".split(""); +for(j = 0; j != D[192].length; ++j) if(D[192][j].charCodeAt(0) !== 0xFFFD) { e[D[192][j]] = 49152 + j; d[49152 + j] = D[192][j];} +D[193] = "����������������������������������������������������������������瞧瞭矯磷磺磴磯礁禧禪穗窿簇簍篾篷簌篠糠糜糞糢糟糙糝縮績繆縷縲繃縫總縱繅繁縴縹繈縵縿縯罄翳翼聱聲聰聯聳臆臃膺臂臀膿膽臉膾臨舉艱薪����������������������������������薄蕾薜薑薔薯薛薇薨薊虧蟀蟑螳蟒蟆螫螻螺蟈蟋褻褶襄褸褽覬謎謗謙講謊謠謝謄謐豁谿豳賺賽購賸賻趨蹉蹋蹈蹊轄輾轂轅輿避遽還邁邂邀鄹醣醞醜鍍鎂錨鍵鍊鍥鍋錘鍾鍬鍛鍰鍚鍔闊闋闌闈闆隱隸雖霜霞鞠韓顆颶餵騁�".split(""); +for(j = 0; j != D[193].length; ++j) if(D[193][j].charCodeAt(0) !== 0xFFFD) { e[D[193][j]] = 49408 + j; d[49408 + j] = D[193][j];} +D[194] = "����������������������������������������������������������������駿鮮鮫鮪鮭鴻鴿麋黏點黜黝黛鼾齋叢嚕嚮壙壘嬸彝懣戳擴擲擾攆擺擻擷斷曜朦檳檬櫃檻檸櫂檮檯歟歸殯瀉瀋濾瀆濺瀑瀏燻燼燾燸獷獵璧璿甕癖癘����������������������������������癒瞽瞿瞻瞼礎禮穡穢穠竄竅簫簧簪簞簣簡糧織繕繞繚繡繒繙罈翹翻職聶臍臏舊藏薩藍藐藉薰薺薹薦蟯蟬蟲蟠覆覲觴謨謹謬謫豐贅蹙蹣蹦蹤蹟蹕軀轉轍邇邃邈醫醬釐鎔鎊鎖鎢鎳鎮鎬鎰鎘鎚鎗闔闖闐闕離雜雙雛雞霤鞣鞦�".split(""); +for(j = 0; j != D[194].length; ++j) if(D[194][j].charCodeAt(0) !== 0xFFFD) { e[D[194][j]] = 49664 + j; d[49664 + j] = D[194][j];} +D[195] = "����������������������������������������������������������������鞭韹額顏題顎顓颺餾餿餽餮馥騎髁鬃鬆魏魎魍鯊鯉鯽鯈鯀鵑鵝鵠黠鼕鼬儳嚥壞壟壢寵龐廬懲懷懶懵攀攏曠曝櫥櫝櫚櫓瀛瀟瀨瀚瀝瀕瀘爆爍牘犢獸����������������������������������獺璽瓊瓣疇疆癟癡矇礙禱穫穩簾簿簸簽簷籀繫繭繹繩繪羅繳羶羹羸臘藩藝藪藕藤藥藷蟻蠅蠍蟹蟾襠襟襖襞譁譜識證譚譎譏譆譙贈贊蹼蹲躇蹶蹬蹺蹴轔轎辭邊邋醱醮鏡鏑鏟鏃鏈鏜鏝鏖鏢鏍鏘鏤鏗鏨關隴難霪霧靡韜韻類�".split(""); +for(j = 0; j != D[195].length; ++j) if(D[195][j].charCodeAt(0) !== 0xFFFD) { e[D[195][j]] = 49920 + j; d[49920 + j] = D[195][j];} +D[196] = "����������������������������������������������������������������願顛颼饅饉騖騙鬍鯨鯧鯖鯛鶉鵡鵲鵪鵬麒麗麓麴勸嚨嚷嚶嚴嚼壤孀孃孽寶巉懸懺攘攔攙曦朧櫬瀾瀰瀲爐獻瓏癢癥礦礪礬礫竇競籌籃籍糯糰辮繽繼����������������������������������纂罌耀臚艦藻藹蘑藺蘆蘋蘇蘊蠔蠕襤覺觸議譬警譯譟譫贏贍躉躁躅躂醴釋鐘鐃鏽闡霰飄饒饑馨騫騰騷騵鰓鰍鹹麵黨鼯齟齣齡儷儸囁囀囂夔屬巍懼懾攝攜斕曩櫻欄櫺殲灌爛犧瓖瓔癩矓籐纏續羼蘗蘭蘚蠣蠢蠡蠟襪襬覽譴�".split(""); +for(j = 0; j != D[196].length; ++j) if(D[196][j].charCodeAt(0) !== 0xFFFD) { e[D[196][j]] = 50176 + j; d[50176 + j] = D[196][j];} +D[197] = "����������������������������������������������������������������護譽贓躊躍躋轟辯醺鐮鐳鐵鐺鐸鐲鐫闢霸霹露響顧顥饗驅驃驀騾髏魔魑鰭鰥鶯鶴鷂鶸麝黯鼙齜齦齧儼儻囈囊囉孿巔巒彎懿攤權歡灑灘玀瓤疊癮癬����������������������������������禳籠籟聾聽臟襲襯觼讀贖贗躑躓轡酈鑄鑑鑒霽霾韃韁顫饕驕驍髒鬚鱉鰱鰾鰻鷓鷗鼴齬齪龔囌巖戀攣攫攪曬欐瓚竊籤籣籥纓纖纔臢蘸蘿蠱變邐邏鑣鑠鑤靨顯饜驚驛驗髓體髑鱔鱗鱖鷥麟黴囑壩攬灞癱癲矗罐羈蠶蠹衢讓讒�".split(""); +for(j = 0; j != D[197].length; ++j) if(D[197][j].charCodeAt(0) !== 0xFFFD) { e[D[197][j]] = 50432 + j; d[50432 + j] = D[197][j];} +D[198] = "����������������������������������������������������������������讖艷贛釀鑪靂靈靄韆顰驟鬢魘鱟鷹鷺鹼鹽鼇齷齲廳欖灣籬籮蠻觀躡釁鑲鑰顱饞髖鬣黌灤矚讚鑷韉驢驥纜讜躪釅鑽鑾鑼鱷鱸黷豔鑿鸚爨驪鬱鸛鸞籲���������������������������������������������������������������������������������������������������������������������������������".split(""); +for(j = 0; j != D[198].length; ++j) if(D[198][j].charCodeAt(0) !== 0xFFFD) { e[D[198][j]] = 50688 + j; d[50688 + j] = D[198][j];} +D[201] = "����������������������������������������������������������������乂乜凵匚厂万丌乇亍囗兀屮彳丏冇与丮亓仂仉仈冘勼卬厹圠夃夬尐巿旡殳毌气爿丱丼仨仜仩仡仝仚刌匜卌圢圣夗夯宁宄尒尻屴屳帄庀庂忉戉扐氕����������������������������������氶汃氿氻犮犰玊禸肊阞伎优伬仵伔仱伀价伈伝伂伅伢伓伄仴伒冱刓刉刐劦匢匟卍厊吇囡囟圮圪圴夼妀奼妅奻奾奷奿孖尕尥屼屺屻屾巟幵庄异弚彴忕忔忏扜扞扤扡扦扢扙扠扚扥旯旮朾朹朸朻机朿朼朳氘汆汒汜汏汊汔汋�".split(""); +for(j = 0; j != D[201].length; ++j) if(D[201][j].charCodeAt(0) !== 0xFFFD) { e[D[201][j]] = 51456 + j; d[51456 + j] = D[201][j];} +D[202] = "����������������������������������������������������������������汌灱牞犴犵玎甪癿穵网艸艼芀艽艿虍襾邙邗邘邛邔阢阤阠阣佖伻佢佉体佤伾佧佒佟佁佘伭伳伿佡冏冹刜刞刡劭劮匉卣卲厎厏吰吷吪呔呅吙吜吥吘����������������������������������吽呏呁吨吤呇囮囧囥坁坅坌坉坋坒夆奀妦妘妠妗妎妢妐妏妧妡宎宒尨尪岍岏岈岋岉岒岊岆岓岕巠帊帎庋庉庌庈庍弅弝彸彶忒忑忐忭忨忮忳忡忤忣忺忯忷忻怀忴戺抃抌抎抏抔抇扱扻扺扰抁抈扷扽扲扴攷旰旴旳旲旵杅杇�".split(""); +for(j = 0; j != D[202].length; ++j) if(D[202][j].charCodeAt(0) !== 0xFFFD) { e[D[202][j]] = 51712 + j; d[51712 + j] = D[202][j];} +D[203] = "����������������������������������������������������������������杙杕杌杈杝杍杚杋毐氙氚汸汧汫沄沋沏汱汯汩沚汭沇沕沜汦汳汥汻沎灴灺牣犿犽狃狆狁犺狅玕玗玓玔玒町甹疔疕皁礽耴肕肙肐肒肜芐芏芅芎芑芓����������������������������������芊芃芄豸迉辿邟邡邥邞邧邠阰阨阯阭丳侘佼侅佽侀侇佶佴侉侄佷佌侗佪侚佹侁佸侐侜侔侞侒侂侕佫佮冞冼冾刵刲刳剆刱劼匊匋匼厒厔咇呿咁咑咂咈呫呺呾呥呬呴呦咍呯呡呠咘呣呧呤囷囹坯坲坭坫坱坰坶垀坵坻坳坴坢�".split(""); +for(j = 0; j != D[203].length; ++j) if(D[203][j].charCodeAt(0) !== 0xFFFD) { e[D[203][j]] = 51968 + j; d[51968 + j] = D[203][j];} +D[204] = "����������������������������������������������������������������坨坽夌奅妵妺姏姎妲姌姁妶妼姃姖妱妽姀姈妴姇孢孥宓宕屄屇岮岤岠岵岯岨岬岟岣岭岢岪岧岝岥岶岰岦帗帔帙弨弢弣弤彔徂彾彽忞忥怭怦怙怲怋����������������������������������怴怊怗怳怚怞怬怢怍怐怮怓怑怌怉怜戔戽抭抴拑抾抪抶拊抮抳抯抻抩抰抸攽斨斻昉旼昄昒昈旻昃昋昍昅旽昑昐曶朊枅杬枎枒杶杻枘枆构杴枍枌杺枟枑枙枃杽极杸杹枔欥殀歾毞氝沓泬泫泮泙沶泔沭泧沷泐泂沺泃泆泭泲�".split(""); +for(j = 0; j != D[204].length; ++j) if(D[204][j].charCodeAt(0) !== 0xFFFD) { e[D[204][j]] = 52224 + j; d[52224 + j] = D[204][j];} +D[205] = "����������������������������������������������������������������泒泝沴沊沝沀泞泀洰泍泇沰泹泏泩泑炔炘炅炓炆炄炑炖炂炚炃牪狖狋狘狉狜狒狔狚狌狑玤玡玭玦玢玠玬玝瓝瓨甿畀甾疌疘皯盳盱盰盵矸矼矹矻矺����������������������������������矷祂礿秅穸穻竻籵糽耵肏肮肣肸肵肭舠芠苀芫芚芘芛芵芧芮芼芞芺芴芨芡芩苂芤苃芶芢虰虯虭虮豖迒迋迓迍迖迕迗邲邴邯邳邰阹阽阼阺陃俍俅俓侲俉俋俁俔俜俙侻侳俛俇俖侺俀侹俬剄剉勀勂匽卼厗厖厙厘咺咡咭咥哏�".split(""); +for(j = 0; j != D[205].length; ++j) if(D[205][j].charCodeAt(0) !== 0xFFFD) { e[D[205][j]] = 52480 + j; d[52480 + j] = D[205][j];} +D[206] = "����������������������������������������������������������������哃茍咷咮哖咶哅哆咠呰咼咢咾呲哞咰垵垞垟垤垌垗垝垛垔垘垏垙垥垚垕壴复奓姡姞姮娀姱姝姺姽姼姶姤姲姷姛姩姳姵姠姾姴姭宨屌峐峘峌峗峋峛����������������������������������峞峚峉峇峊峖峓峔峏峈峆峎峟峸巹帡帢帣帠帤庰庤庢庛庣庥弇弮彖徆怷怹恔恲恞恅恓恇恉恛恌恀恂恟怤恄恘恦恮扂扃拏挍挋拵挎挃拫拹挏挌拸拶挀挓挔拺挕拻拰敁敃斪斿昶昡昲昵昜昦昢昳昫昺昝昴昹昮朏朐柁柲柈枺�".split(""); +for(j = 0; j != D[206].length; ++j) if(D[206][j].charCodeAt(0) !== 0xFFFD) { e[D[206][j]] = 52736 + j; d[52736 + j] = D[206][j];} +D[207] = "����������������������������������������������������������������柜枻柸柘柀枷柅柫柤柟枵柍枳柷柶柮柣柂枹柎柧柰枲柼柆柭柌枮柦柛柺柉柊柃柪柋欨殂殄殶毖毘毠氠氡洨洴洭洟洼洿洒洊泚洳洄洙洺洚洑洀洝浂����������������������������������洁洘洷洃洏浀洇洠洬洈洢洉洐炷炟炾炱炰炡炴炵炩牁牉牊牬牰牳牮狊狤狨狫狟狪狦狣玅珌珂珈珅玹玶玵玴珫玿珇玾珃珆玸珋瓬瓮甮畇畈疧疪癹盄眈眃眄眅眊盷盻盺矧矨砆砑砒砅砐砏砎砉砃砓祊祌祋祅祄秕种秏秖秎窀�".split(""); +for(j = 0; j != D[207].length; ++j) if(D[207][j].charCodeAt(0) !== 0xFFFD) { e[D[207][j]] = 52992 + j; d[52992 + j] = D[207][j];} +D[208] = "����������������������������������������������������������������穾竑笀笁籺籸籹籿粀粁紃紈紁罘羑羍羾耇耎耏耔耷胘胇胠胑胈胂胐胅胣胙胜胊胕胉胏胗胦胍臿舡芔苙苾苹茇苨茀苕茺苫苖苴苬苡苲苵茌苻苶苰苪����������������������������������苤苠苺苳苭虷虴虼虳衁衎衧衪衩觓訄訇赲迣迡迮迠郱邽邿郕郅邾郇郋郈釔釓陔陏陑陓陊陎倞倅倇倓倢倰倛俵俴倳倷倬俶俷倗倜倠倧倵倯倱倎党冔冓凊凄凅凈凎剡剚剒剞剟剕剢勍匎厞唦哢唗唒哧哳哤唚哿唄唈哫唑唅哱�".split(""); +for(j = 0; j != D[208].length; ++j) if(D[208][j].charCodeAt(0) !== 0xFFFD) { e[D[208][j]] = 53248 + j; d[53248 + j] = D[208][j];} +D[209] = "����������������������������������������������������������������唊哻哷哸哠唎唃唋圁圂埌堲埕埒垺埆垽垼垸垶垿埇埐垹埁夎奊娙娖娭娮娕娏娗娊娞娳孬宧宭宬尃屖屔峬峿峮峱峷崀峹帩帨庨庮庪庬弳弰彧恝恚恧����������������������������������恁悢悈悀悒悁悝悃悕悛悗悇悜悎戙扆拲挐捖挬捄捅挶捃揤挹捋捊挼挩捁挴捘捔捙挭捇挳捚捑挸捗捀捈敊敆旆旃旄旂晊晟晇晑朒朓栟栚桉栲栳栻桋桏栖栱栜栵栫栭栯桎桄栴栝栒栔栦栨栮桍栺栥栠欬欯欭欱欴歭肂殈毦毤�".split(""); +for(j = 0; j != D[209].length; ++j) if(D[209][j].charCodeAt(0) !== 0xFFFD) { e[D[209][j]] = 53504 + j; d[53504 + j] = D[209][j];} +D[210] = "����������������������������������������������������������������毨毣毢毧氥浺浣浤浶洍浡涒浘浢浭浯涑涍淯浿涆浞浧浠涗浰浼浟涂涘洯浨涋浾涀涄洖涃浻浽浵涐烜烓烑烝烋缹烢烗烒烞烠烔烍烅烆烇烚烎烡牂牸����������������������������������牷牶猀狺狴狾狶狳狻猁珓珙珥珖玼珧珣珩珜珒珛珔珝珚珗珘珨瓞瓟瓴瓵甡畛畟疰痁疻痄痀疿疶疺皊盉眝眛眐眓眒眣眑眕眙眚眢眧砣砬砢砵砯砨砮砫砡砩砳砪砱祔祛祏祜祓祒祑秫秬秠秮秭秪秜秞秝窆窉窅窋窌窊窇竘笐�".split(""); +for(j = 0; j != D[210].length; ++j) if(D[210][j].charCodeAt(0) !== 0xFFFD) { e[D[210][j]] = 53760 + j; d[53760 + j] = D[210][j];} +D[211] = "����������������������������������������������������������������笄笓笅笏笈笊笎笉笒粄粑粊粌粈粍粅紞紝紑紎紘紖紓紟紒紏紌罜罡罞罠罝罛羖羒翃翂翀耖耾耹胺胲胹胵脁胻脀舁舯舥茳茭荄茙荑茥荖茿荁茦茜茢����������������������������������荂荎茛茪茈茼荍茖茤茠茷茯茩荇荅荌荓茞茬荋茧荈虓虒蚢蚨蚖蚍蚑蚞蚇蚗蚆蚋蚚蚅蚥蚙蚡蚧蚕蚘蚎蚝蚐蚔衃衄衭衵衶衲袀衱衿衯袃衾衴衼訒豇豗豻貤貣赶赸趵趷趶軑軓迾迵适迿迻逄迼迶郖郠郙郚郣郟郥郘郛郗郜郤酐�".split(""); +for(j = 0; j != D[211].length; ++j) if(D[211][j].charCodeAt(0) !== 0xFFFD) { e[D[211][j]] = 54016 + j; d[54016 + j] = D[211][j];} +D[212] = "����������������������������������������������������������������酎酏釕釢釚陜陟隼飣髟鬯乿偰偪偡偞偠偓偋偝偲偈偍偁偛偊偢倕偅偟偩偫偣偤偆偀偮偳偗偑凐剫剭剬剮勖勓匭厜啵啶唼啍啐唴唪啑啢唶唵唰啒啅����������������������������������唌唲啥啎唹啈唭唻啀啋圊圇埻堔埢埶埜埴堀埭埽堈埸堋埳埏堇埮埣埲埥埬埡堎埼堐埧堁堌埱埩埰堍堄奜婠婘婕婧婞娸娵婭婐婟婥婬婓婤婗婃婝婒婄婛婈媎娾婍娹婌婰婩婇婑婖婂婜孲孮寁寀屙崞崋崝崚崠崌崨崍崦崥崏�".split(""); +for(j = 0; j != D[212].length; ++j) if(D[212][j].charCodeAt(0) !== 0xFFFD) { e[D[212][j]] = 54272 + j; d[54272 + j] = D[212][j];} +D[213] = "����������������������������������������������������������������崰崒崣崟崮帾帴庱庴庹庲庳弶弸徛徖徟悊悐悆悾悰悺惓惔惏惤惙惝惈悱惛悷惊悿惃惍惀挲捥掊掂捽掽掞掭掝掗掫掎捯掇掐据掯捵掜捭掮捼掤挻掟����������������������������������捸掅掁掑掍捰敓旍晥晡晛晙晜晢朘桹梇梐梜桭桮梮梫楖桯梣梬梩桵桴梲梏桷梒桼桫桲梪梀桱桾梛梖梋梠梉梤桸桻梑梌梊桽欶欳欷欸殑殏殍殎殌氪淀涫涴涳湴涬淩淢涷淶淔渀淈淠淟淖涾淥淜淝淛淴淊涽淭淰涺淕淂淏淉�".split(""); +for(j = 0; j != D[213].length; ++j) if(D[213][j].charCodeAt(0) !== 0xFFFD) { e[D[213][j]] = 54528 + j; d[54528 + j] = D[213][j];} +D[214] = "����������������������������������������������������������������淐淲淓淽淗淍淣涻烺焍烷焗烴焌烰焄烳焐烼烿焆焓焀烸烶焋焂焎牾牻牼牿猝猗猇猑猘猊猈狿猏猞玈珶珸珵琄琁珽琇琀珺珼珿琌琋珴琈畤畣痎痒痏����������������������������������痋痌痑痐皏皉盓眹眯眭眱眲眴眳眽眥眻眵硈硒硉硍硊硌砦硅硐祤祧祩祪祣祫祡离秺秸秶秷窏窔窐笵筇笴笥笰笢笤笳笘笪笝笱笫笭笯笲笸笚笣粔粘粖粣紵紽紸紶紺絅紬紩絁絇紾紿絊紻紨罣羕羜羝羛翊翋翍翐翑翇翏翉耟�".split(""); +for(j = 0; j != D[214].length; ++j) if(D[214][j].charCodeAt(0) !== 0xFFFD) { e[D[214][j]] = 54784 + j; d[54784 + j] = D[214][j];} +D[215] = "����������������������������������������������������������������耞耛聇聃聈脘脥脙脛脭脟脬脞脡脕脧脝脢舑舸舳舺舴舲艴莐莣莨莍荺荳莤荴莏莁莕莙荵莔莩荽莃莌莝莛莪莋荾莥莯莈莗莰荿莦莇莮荶莚虙虖蚿蚷����������������������������������蛂蛁蛅蚺蚰蛈蚹蚳蚸蛌蚴蚻蚼蛃蚽蚾衒袉袕袨袢袪袚袑袡袟袘袧袙袛袗袤袬袌袓袎覂觖觙觕訰訧訬訞谹谻豜豝豽貥赽赻赹趼跂趹趿跁軘軞軝軜軗軠軡逤逋逑逜逌逡郯郪郰郴郲郳郔郫郬郩酖酘酚酓酕釬釴釱釳釸釤釹釪�".split(""); +for(j = 0; j != D[215].length; ++j) if(D[215][j].charCodeAt(0) !== 0xFFFD) { e[D[215][j]] = 55040 + j; d[55040 + j] = D[215][j];} +D[216] = "����������������������������������������������������������������釫釷釨釮镺閆閈陼陭陫陱陯隿靪頄飥馗傛傕傔傞傋傣傃傌傎傝偨傜傒傂傇兟凔匒匑厤厧喑喨喥喭啷噅喢喓喈喏喵喁喣喒喤啽喌喦啿喕喡喎圌堩堷����������������������������������堙堞堧堣堨埵塈堥堜堛堳堿堶堮堹堸堭堬堻奡媯媔媟婺媢媞婸媦婼媥媬媕媮娷媄媊媗媃媋媩婻婽媌媜媏媓媝寪寍寋寔寑寊寎尌尰崷嵃嵫嵁嵋崿崵嵑嵎嵕崳崺嵒崽崱嵙嵂崹嵉崸崼崲崶嵀嵅幄幁彘徦徥徫惉悹惌惢惎惄愔�".split(""); +for(j = 0; j != D[216].length; ++j) if(D[216][j].charCodeAt(0) !== 0xFFFD) { e[D[216][j]] = 55296 + j; d[55296 + j] = D[216][j];} +D[217] = "����������������������������������������������������������������惲愊愖愅惵愓惸惼惾惁愃愘愝愐惿愄愋扊掔掱掰揎揥揨揯揃撝揳揊揠揶揕揲揵摡揟掾揝揜揄揘揓揂揇揌揋揈揰揗揙攲敧敪敤敜敨敥斌斝斞斮旐旒����������������������������������晼晬晻暀晱晹晪晲朁椌棓椄棜椪棬棪棱椏棖棷棫棤棶椓椐棳棡椇棌椈楰梴椑棯棆椔棸棐棽棼棨椋椊椗棎棈棝棞棦棴棑椆棔棩椕椥棇欹欻欿欼殔殗殙殕殽毰毲毳氰淼湆湇渟湉溈渼渽湅湢渫渿湁湝湳渜渳湋湀湑渻渃渮湞�".split(""); +for(j = 0; j != D[217].length; ++j) if(D[217][j].charCodeAt(0) !== 0xFFFD) { e[D[217][j]] = 55552 + j; d[55552 + j] = D[217][j];} +D[218] = "����������������������������������������������������������������湨湜湡渱渨湠湱湫渹渢渰湓湥渧湸湤湷湕湹湒湦渵渶湚焠焞焯烻焮焱焣焥焢焲焟焨焺焛牋牚犈犉犆犅犋猒猋猰猢猱猳猧猲猭猦猣猵猌琮琬琰琫琖����������������������������������琚琡琭琱琤琣琝琩琠琲瓻甯畯畬痧痚痡痦痝痟痤痗皕皒盚睆睇睄睍睅睊睎睋睌矞矬硠硤硥硜硭硱硪确硰硩硨硞硢祴祳祲祰稂稊稃稌稄窙竦竤筊笻筄筈筌筎筀筘筅粢粞粨粡絘絯絣絓絖絧絪絏絭絜絫絒絔絩絑絟絎缾缿罥�".split(""); +for(j = 0; j != D[218].length; ++j) if(D[218][j].charCodeAt(0) !== 0xFFFD) { e[D[218][j]] = 55808 + j; d[55808 + j] = D[218][j];} +D[219] = "����������������������������������������������������������������罦羢羠羡翗聑聏聐胾胔腃腊腒腏腇脽腍脺臦臮臷臸臹舄舼舽舿艵茻菏菹萣菀菨萒菧菤菼菶萐菆菈菫菣莿萁菝菥菘菿菡菋菎菖菵菉萉萏菞萑萆菂菳����������������������������������菕菺菇菑菪萓菃菬菮菄菻菗菢萛菛菾蛘蛢蛦蛓蛣蛚蛪蛝蛫蛜蛬蛩蛗蛨蛑衈衖衕袺裗袹袸裀袾袶袼袷袽袲褁裉覕覘覗觝觚觛詎詍訹詙詀詗詘詄詅詒詈詑詊詌詏豟貁貀貺貾貰貹貵趄趀趉跘跓跍跇跖跜跏跕跙跈跗跅軯軷軺�".split(""); +for(j = 0; j != D[219].length; ++j) if(D[219][j].charCodeAt(0) !== 0xFFFD) { e[D[219][j]] = 56064 + j; d[56064 + j] = D[219][j];} +D[220] = "����������������������������������������������������������������軹軦軮軥軵軧軨軶軫軱軬軴軩逭逴逯鄆鄬鄄郿郼鄈郹郻鄁鄀鄇鄅鄃酡酤酟酢酠鈁鈊鈥鈃鈚鈦鈏鈌鈀鈒釿釽鈆鈄鈧鈂鈜鈤鈙鈗鈅鈖镻閍閌閐隇陾隈����������������������������������隉隃隀雂雈雃雱雰靬靰靮頇颩飫鳦黹亃亄亶傽傿僆傮僄僊傴僈僂傰僁傺傱僋僉傶傸凗剺剸剻剼嗃嗛嗌嗐嗋嗊嗝嗀嗔嗄嗩喿嗒喍嗏嗕嗢嗖嗈嗲嗍嗙嗂圔塓塨塤塏塍塉塯塕塎塝塙塥塛堽塣塱壼嫇嫄嫋媺媸媱媵媰媿嫈媻嫆�".split(""); +for(j = 0; j != D[220].length; ++j) if(D[220][j].charCodeAt(0) !== 0xFFFD) { e[D[220][j]] = 56320 + j; d[56320 + j] = D[220][j];} +D[221] = "����������������������������������������������������������������媷嫀嫊媴媶嫍媹媐寖寘寙尟尳嵱嵣嵊嵥嵲嵬嵞嵨嵧嵢巰幏幎幊幍幋廅廌廆廋廇彀徯徭惷慉慊愫慅愶愲愮慆愯慏愩慀戠酨戣戥戤揅揱揫搐搒搉搠搤����������������������������������搳摃搟搕搘搹搷搢搣搌搦搰搨摁搵搯搊搚摀搥搧搋揧搛搮搡搎敯斒旓暆暌暕暐暋暊暙暔晸朠楦楟椸楎楢楱椿楅楪椹楂楗楙楺楈楉椵楬椳椽楥棰楸椴楩楀楯楄楶楘楁楴楌椻楋椷楜楏楑椲楒椯楻椼歆歅歃歂歈歁殛嗀毻毼�".split(""); +for(j = 0; j != D[221].length; ++j) if(D[221][j].charCodeAt(0) !== 0xFFFD) { e[D[221][j]] = 56576 + j; d[56576 + j] = D[221][j];} +D[222] = "����������������������������������������������������������������毹毷毸溛滖滈溏滀溟溓溔溠溱溹滆滒溽滁溞滉溷溰滍溦滏溲溾滃滜滘溙溒溎溍溤溡溿溳滐滊溗溮溣煇煔煒煣煠煁煝煢煲煸煪煡煂煘煃煋煰煟煐煓����������������������������������煄煍煚牏犍犌犑犐犎猼獂猻猺獀獊獉瑄瑊瑋瑒瑑瑗瑀瑏瑐瑎瑂瑆瑍瑔瓡瓿瓾瓽甝畹畷榃痯瘏瘃痷痾痼痹痸瘐痻痶痭痵痽皙皵盝睕睟睠睒睖睚睩睧睔睙睭矠碇碚碔碏碄碕碅碆碡碃硹碙碀碖硻祼禂祽祹稑稘稙稒稗稕稢稓�".split(""); +for(j = 0; j != D[222].length; ++j) if(D[222][j].charCodeAt(0) !== 0xFFFD) { e[D[222][j]] = 56832 + j; d[56832 + j] = D[222][j];} +D[223] = "����������������������������������������������������������������稛稐窣窢窞竫筦筤筭筴筩筲筥筳筱筰筡筸筶筣粲粴粯綈綆綀綍絿綅絺綎絻綃絼綌綔綄絽綒罭罫罧罨罬羦羥羧翛翜耡腤腠腷腜腩腛腢腲朡腞腶腧腯����������������������������������腄腡舝艉艄艀艂艅蓱萿葖葶葹蒏蒍葥葑葀蒆葧萰葍葽葚葙葴葳葝蔇葞萷萺萴葺葃葸萲葅萩菙葋萯葂萭葟葰萹葎葌葒葯蓅蒎萻葇萶萳葨葾葄萫葠葔葮葐蜋蜄蛷蜌蛺蛖蛵蝍蛸蜎蜉蜁蛶蜍蜅裖裋裍裎裞裛裚裌裐覅覛觟觥觤�".split(""); +for(j = 0; j != D[223].length; ++j) if(D[223][j].charCodeAt(0) !== 0xFFFD) { e[D[223][j]] = 57088 + j; d[57088 + j] = D[223][j];} +D[224] = "����������������������������������������������������������������觡觠觢觜触詶誆詿詡訿詷誂誄詵誃誁詴詺谼豋豊豥豤豦貆貄貅賌赨赩趑趌趎趏趍趓趔趐趒跰跠跬跱跮跐跩跣跢跧跲跫跴輆軿輁輀輅輇輈輂輋遒逿����������������������������������遄遉逽鄐鄍鄏鄑鄖鄔鄋鄎酮酯鉈鉒鈰鈺鉦鈳鉥鉞銃鈮鉊鉆鉭鉬鉏鉠鉧鉯鈶鉡鉰鈱鉔鉣鉐鉲鉎鉓鉌鉖鈲閟閜閞閛隒隓隑隗雎雺雽雸雵靳靷靸靲頏頍頎颬飶飹馯馲馰馵骭骫魛鳪鳭鳧麀黽僦僔僗僨僳僛僪僝僤僓僬僰僯僣僠�".split(""); +for(j = 0; j != D[224].length; ++j) if(D[224][j].charCodeAt(0) !== 0xFFFD) { e[D[224][j]] = 57344 + j; d[57344 + j] = D[224][j];} +D[225] = "����������������������������������������������������������������凘劀劁勩勫匰厬嘧嘕嘌嘒嗼嘏嘜嘁嘓嘂嗺嘝嘄嗿嗹墉塼墐墘墆墁塿塴墋塺墇墑墎塶墂墈塻墔墏壾奫嫜嫮嫥嫕嫪嫚嫭嫫嫳嫢嫠嫛嫬嫞嫝嫙嫨嫟孷寠����������������������������������寣屣嶂嶀嵽嶆嵺嶁嵷嶊嶉嶈嵾嵼嶍嵹嵿幘幙幓廘廑廗廎廜廕廙廒廔彄彃彯徶愬愨慁慞慱慳慒慓慲慬憀慴慔慺慛慥愻慪慡慖戩戧戫搫摍摛摝摴摶摲摳摽摵摦撦摎撂摞摜摋摓摠摐摿搿摬摫摙摥摷敳斠暡暠暟朅朄朢榱榶槉�".split(""); +for(j = 0; j != D[225].length; ++j) if(D[225][j].charCodeAt(0) !== 0xFFFD) { e[D[225][j]] = 57600 + j; d[57600 + j] = D[225][j];} +D[226] = "����������������������������������������������������������������榠槎榖榰榬榼榑榙榎榧榍榩榾榯榿槄榽榤槔榹槊榚槏榳榓榪榡榞槙榗榐槂榵榥槆歊歍歋殞殟殠毃毄毾滎滵滱漃漥滸漷滻漮漉潎漙漚漧漘漻漒滭漊����������������������������������漶潳滹滮漭潀漰漼漵滫漇漎潃漅滽滶漹漜滼漺漟漍漞漈漡熇熐熉熀熅熂熏煻熆熁熗牄牓犗犕犓獃獍獑獌瑢瑳瑱瑵瑲瑧瑮甀甂甃畽疐瘖瘈瘌瘕瘑瘊瘔皸瞁睼瞅瞂睮瞀睯睾瞃碲碪碴碭碨硾碫碞碥碠碬碢碤禘禊禋禖禕禔禓�".split(""); +for(j = 0; j != D[226].length; ++j) if(D[226][j].charCodeAt(0) !== 0xFFFD) { e[D[226][j]] = 57856 + j; d[57856 + j] = D[226][j];} +D[227] = "����������������������������������������������������������������禗禈禒禐稫穊稰稯稨稦窨窫窬竮箈箜箊箑箐箖箍箌箛箎箅箘劄箙箤箂粻粿粼粺綧綷緂綣綪緁緀緅綝緎緄緆緋緌綯綹綖綼綟綦綮綩綡緉罳翢翣翥翞����������������������������������耤聝聜膉膆膃膇膍膌膋舕蒗蒤蒡蒟蒺蓎蓂蒬蒮蒫蒹蒴蓁蓍蒪蒚蒱蓐蒝蒧蒻蒢蒔蓇蓌蒛蒩蒯蒨蓖蒘蒶蓏蒠蓗蓔蓒蓛蒰蒑虡蜳蜣蜨蝫蝀蜮蜞蜡蜙蜛蝃蜬蝁蜾蝆蜠蜲蜪蜭蜼蜒蜺蜱蜵蝂蜦蜧蜸蜤蜚蜰蜑裷裧裱裲裺裾裮裼裶裻�".split(""); +for(j = 0; j != D[227].length; ++j) if(D[227][j].charCodeAt(0) !== 0xFFFD) { e[D[227][j]] = 58112 + j; d[58112 + j] = D[227][j];} +D[228] = "����������������������������������������������������������������裰裬裫覝覡覟覞觩觫觨誫誙誋誒誏誖谽豨豩賕賏賗趖踉踂跿踍跽踊踃踇踆踅跾踀踄輐輑輎輍鄣鄜鄠鄢鄟鄝鄚鄤鄡鄛酺酲酹酳銥銤鉶銛鉺銠銔銪銍����������������������������������銦銚銫鉹銗鉿銣鋮銎銂銕銢鉽銈銡銊銆銌銙銧鉾銇銩銝銋鈭隞隡雿靘靽靺靾鞃鞀鞂靻鞄鞁靿韎韍頖颭颮餂餀餇馝馜駃馹馻馺駂馽駇骱髣髧鬾鬿魠魡魟鳱鳲鳵麧僿儃儰僸儆儇僶僾儋儌僽儊劋劌勱勯噈噂噌嘵噁噊噉噆噘�".split(""); +for(j = 0; j != D[228].length; ++j) if(D[228][j].charCodeAt(0) !== 0xFFFD) { e[D[228][j]] = 58368 + j; d[58368 + j] = D[228][j];} +D[229] = "����������������������������������������������������������������噚噀嘳嘽嘬嘾嘸嘪嘺圚墫墝墱墠墣墯墬墥墡壿嫿嫴嫽嫷嫶嬃嫸嬂嫹嬁嬇嬅嬏屧嶙嶗嶟嶒嶢嶓嶕嶠嶜嶡嶚嶞幩幝幠幜緳廛廞廡彉徲憋憃慹憱憰憢憉����������������������������������憛憓憯憭憟憒憪憡憍慦憳戭摮摰撖撠撅撗撜撏撋撊撌撣撟摨撱撘敶敺敹敻斲斳暵暰暩暲暷暪暯樀樆樗槥槸樕槱槤樠槿槬槢樛樝槾樧槲槮樔槷槧橀樈槦槻樍槼槫樉樄樘樥樏槶樦樇槴樖歑殥殣殢殦氁氀毿氂潁漦潾澇濆澒�".split(""); +for(j = 0; j != D[229].length; ++j) if(D[229][j].charCodeAt(0) !== 0xFFFD) { e[D[229][j]] = 58624 + j; d[58624 + j] = D[229][j];} +D[230] = "����������������������������������������������������������������澍澉澌潢潏澅潚澖潶潬澂潕潲潒潐潗澔澓潝漀潡潫潽潧澐潓澋潩潿澕潣潷潪潻熲熯熛熰熠熚熩熵熝熥熞熤熡熪熜熧熳犘犚獘獒獞獟獠獝獛獡獚獙����������������������������������獢璇璉璊璆璁瑽璅璈瑼瑹甈甇畾瘥瘞瘙瘝瘜瘣瘚瘨瘛皜皝皞皛瞍瞏瞉瞈磍碻磏磌磑磎磔磈磃磄磉禚禡禠禜禢禛歶稹窲窴窳箷篋箾箬篎箯箹篊箵糅糈糌糋緷緛緪緧緗緡縃緺緦緶緱緰緮緟罶羬羰羭翭翫翪翬翦翨聤聧膣膟�".split(""); +for(j = 0; j != D[230].length; ++j) if(D[230][j].charCodeAt(0) !== 0xFFFD) { e[D[230][j]] = 58880 + j; d[58880 + j] = D[230][j];} +D[231] = "����������������������������������������������������������������膞膕膢膙膗舖艏艓艒艐艎艑蔤蔻蔏蔀蔩蔎蔉蔍蔟蔊蔧蔜蓻蔫蓺蔈蔌蓴蔪蓲蔕蓷蓫蓳蓼蔒蓪蓩蔖蓾蔨蔝蔮蔂蓽蔞蓶蔱蔦蓧蓨蓰蓯蓹蔘蔠蔰蔋蔙蔯虢����������������������������������蝖蝣蝤蝷蟡蝳蝘蝔蝛蝒蝡蝚蝑蝞蝭蝪蝐蝎蝟蝝蝯蝬蝺蝮蝜蝥蝏蝻蝵蝢蝧蝩衚褅褌褔褋褗褘褙褆褖褑褎褉覢覤覣觭觰觬諏諆誸諓諑諔諕誻諗誾諀諅諘諃誺誽諙谾豍貏賥賟賙賨賚賝賧趠趜趡趛踠踣踥踤踮踕踛踖踑踙踦踧�".split(""); +for(j = 0; j != D[231].length; ++j) if(D[231][j].charCodeAt(0) !== 0xFFFD) { e[D[231][j]] = 59136 + j; d[59136 + j] = D[231][j];} +D[232] = "����������������������������������������������������������������踔踒踘踓踜踗踚輬輤輘輚輠輣輖輗遳遰遯遧遫鄯鄫鄩鄪鄲鄦鄮醅醆醊醁醂醄醀鋐鋃鋄鋀鋙銶鋏鋱鋟鋘鋩鋗鋝鋌鋯鋂鋨鋊鋈鋎鋦鋍鋕鋉鋠鋞鋧鋑鋓����������������������������������銵鋡鋆銴镼閬閫閮閰隤隢雓霅霈霂靚鞊鞎鞈韐韏頞頝頦頩頨頠頛頧颲餈飺餑餔餖餗餕駜駍駏駓駔駎駉駖駘駋駗駌骳髬髫髳髲髱魆魃魧魴魱魦魶魵魰魨魤魬鳼鳺鳽鳿鳷鴇鴀鳹鳻鴈鴅鴄麃黓鼏鼐儜儓儗儚儑凞匴叡噰噠噮�".split(""); +for(j = 0; j != D[232].length; ++j) if(D[232][j].charCodeAt(0) !== 0xFFFD) { e[D[232][j]] = 59392 + j; d[59392 + j] = D[232][j];} +D[233] = "����������������������������������������������������������������噳噦噣噭噲噞噷圜圛壈墽壉墿墺壂墼壆嬗嬙嬛嬡嬔嬓嬐嬖嬨嬚嬠嬞寯嶬嶱嶩嶧嶵嶰嶮嶪嶨嶲嶭嶯嶴幧幨幦幯廩廧廦廨廥彋徼憝憨憖懅憴懆懁懌憺����������������������������������憿憸憌擗擖擐擏擉撽撉擃擛擳擙攳敿敼斢曈暾曀曊曋曏暽暻暺曌朣樴橦橉橧樲橨樾橝橭橶橛橑樨橚樻樿橁橪橤橐橏橔橯橩橠樼橞橖橕橍橎橆歕歔歖殧殪殫毈毇氄氃氆澭濋澣濇澼濎濈潞濄澽澞濊澨瀄澥澮澺澬澪濏澿澸�".split(""); +for(j = 0; j != D[233].length; ++j) if(D[233][j].charCodeAt(0) !== 0xFFFD) { e[D[233][j]] = 59648 + j; d[59648 + j] = D[233][j];} +D[234] = "����������������������������������������������������������������澢濉澫濍澯澲澰燅燂熿熸燖燀燁燋燔燊燇燏熽燘熼燆燚燛犝犞獩獦獧獬獥獫獪瑿璚璠璔璒璕璡甋疀瘯瘭瘱瘽瘳瘼瘵瘲瘰皻盦瞚瞝瞡瞜瞛瞢瞣瞕瞙����������������������������������瞗磝磩磥磪磞磣磛磡磢磭磟磠禤穄穈穇窶窸窵窱窷篞篣篧篝篕篥篚篨篹篔篪篢篜篫篘篟糒糔糗糐糑縒縡縗縌縟縠縓縎縜縕縚縢縋縏縖縍縔縥縤罃罻罼罺羱翯耪耩聬膱膦膮膹膵膫膰膬膴膲膷膧臲艕艖艗蕖蕅蕫蕍蕓蕡蕘�".split(""); +for(j = 0; j != D[234].length; ++j) if(D[234][j].charCodeAt(0) !== 0xFFFD) { e[D[234][j]] = 59904 + j; d[59904 + j] = D[234][j];} +D[235] = "����������������������������������������������������������������蕀蕆蕤蕁蕢蕄蕑蕇蕣蔾蕛蕱蕎蕮蕵蕕蕧蕠薌蕦蕝蕔蕥蕬虣虥虤螛螏螗螓螒螈螁螖螘蝹螇螣螅螐螑螝螄螔螜螚螉褞褦褰褭褮褧褱褢褩褣褯褬褟觱諠����������������������������������諢諲諴諵諝謔諤諟諰諈諞諡諨諿諯諻貑貒貐賵賮賱賰賳赬赮趥趧踳踾踸蹀蹅踶踼踽蹁踰踿躽輶輮輵輲輹輷輴遶遹遻邆郺鄳鄵鄶醓醐醑醍醏錧錞錈錟錆錏鍺錸錼錛錣錒錁鍆錭錎錍鋋錝鋺錥錓鋹鋷錴錂錤鋿錩錹錵錪錔錌�".split(""); +for(j = 0; j != D[235].length; ++j) if(D[235][j].charCodeAt(0) !== 0xFFFD) { e[D[235][j]] = 60160 + j; d[60160 + j] = D[235][j];} +D[236] = "����������������������������������������������������������������錋鋾錉錀鋻錖閼闍閾閹閺閶閿閵閽隩雔霋霒霐鞙鞗鞔韰韸頵頯頲餤餟餧餩馞駮駬駥駤駰駣駪駩駧骹骿骴骻髶髺髹髷鬳鮀鮅鮇魼魾魻鮂鮓鮒鮐魺鮕����������������������������������魽鮈鴥鴗鴠鴞鴔鴩鴝鴘鴢鴐鴙鴟麈麆麇麮麭黕黖黺鼒鼽儦儥儢儤儠儩勴嚓嚌嚍嚆嚄嚃噾嚂噿嚁壖壔壏壒嬭嬥嬲嬣嬬嬧嬦嬯嬮孻寱寲嶷幬幪徾徻懃憵憼懧懠懥懤懨懞擯擩擣擫擤擨斁斀斶旚曒檍檖檁檥檉檟檛檡檞檇檓檎�".split(""); +for(j = 0; j != D[236].length; ++j) if(D[236][j].charCodeAt(0) !== 0xFFFD) { e[D[236][j]] = 60416 + j; d[60416 + j] = D[236][j];} +D[237] = "����������������������������������������������������������������檕檃檨檤檑橿檦檚檅檌檒歛殭氉濌澩濴濔濣濜濭濧濦濞濲濝濢濨燡燱燨燲燤燰燢獳獮獯璗璲璫璐璪璭璱璥璯甐甑甒甏疄癃癈癉癇皤盩瞵瞫瞲瞷瞶����������������������������������瞴瞱瞨矰磳磽礂磻磼磲礅磹磾礄禫禨穜穛穖穘穔穚窾竀竁簅簏篲簀篿篻簎篴簋篳簂簉簃簁篸篽簆篰篱簐簊糨縭縼繂縳顈縸縪繉繀繇縩繌縰縻縶繄縺罅罿罾罽翴翲耬膻臄臌臊臅臇膼臩艛艚艜薃薀薏薧薕薠薋薣蕻薤薚薞�".split(""); +for(j = 0; j != D[237].length; ++j) if(D[237][j].charCodeAt(0) !== 0xFFFD) { e[D[237][j]] = 60672 + j; d[60672 + j] = D[237][j];} +D[238] = "����������������������������������������������������������������蕷蕼薉薡蕺蕸蕗薎薖薆薍薙薝薁薢薂薈薅蕹蕶薘薐薟虨螾螪螭蟅螰螬螹螵螼螮蟉蟃蟂蟌螷螯蟄蟊螴螶螿螸螽蟞螲褵褳褼褾襁襒褷襂覭覯覮觲觳謞����������������������������������謘謖謑謅謋謢謏謒謕謇謍謈謆謜謓謚豏豰豲豱豯貕貔賹赯蹎蹍蹓蹐蹌蹇轃轀邅遾鄸醚醢醛醙醟醡醝醠鎡鎃鎯鍤鍖鍇鍼鍘鍜鍶鍉鍐鍑鍠鍭鎏鍌鍪鍹鍗鍕鍒鍏鍱鍷鍻鍡鍞鍣鍧鎀鍎鍙闇闀闉闃闅閷隮隰隬霠霟霘霝霙鞚鞡鞜�".split(""); +for(j = 0; j != D[238].length; ++j) if(D[238][j].charCodeAt(0) !== 0xFFFD) { e[D[238][j]] = 60928 + j; d[60928 + j] = D[238][j];} +D[239] = "����������������������������������������������������������������鞞鞝韕韔韱顁顄顊顉顅顃餥餫餬餪餳餲餯餭餱餰馘馣馡騂駺駴駷駹駸駶駻駽駾駼騃骾髾髽鬁髼魈鮚鮨鮞鮛鮦鮡鮥鮤鮆鮢鮠鮯鴳鵁鵧鴶鴮鴯鴱鴸鴰����������������������������������鵅鵂鵃鴾鴷鵀鴽翵鴭麊麉麍麰黈黚黻黿鼤鼣鼢齔龠儱儭儮嚘嚜嚗嚚嚝嚙奰嬼屩屪巀幭幮懘懟懭懮懱懪懰懫懖懩擿攄擽擸攁攃擼斔旛曚曛曘櫅檹檽櫡櫆檺檶檷櫇檴檭歞毉氋瀇瀌瀍瀁瀅瀔瀎濿瀀濻瀦濼濷瀊爁燿燹爃燽獶�".split(""); +for(j = 0; j != D[239].length; ++j) if(D[239][j].charCodeAt(0) !== 0xFFFD) { e[D[239][j]] = 61184 + j; d[61184 + j] = D[239][j];} +D[240] = "����������������������������������������������������������������璸瓀璵瓁璾璶璻瓂甔甓癜癤癙癐癓癗癚皦皽盬矂瞺磿礌礓礔礉礐礒礑禭禬穟簜簩簙簠簟簭簝簦簨簢簥簰繜繐繖繣繘繢繟繑繠繗繓羵羳翷翸聵臑臒����������������������������������臐艟艞薴藆藀藃藂薳薵薽藇藄薿藋藎藈藅薱薶藒蘤薸薷薾虩蟧蟦蟢蟛蟫蟪蟥蟟蟳蟤蟔蟜蟓蟭蟘蟣螤蟗蟙蠁蟴蟨蟝襓襋襏襌襆襐襑襉謪謧謣謳謰謵譇謯謼謾謱謥謷謦謶謮謤謻謽謺豂豵貙貘貗賾贄贂贀蹜蹢蹠蹗蹖蹞蹥蹧�".split(""); +for(j = 0; j != D[240].length; ++j) if(D[240][j].charCodeAt(0) !== 0xFFFD) { e[D[240][j]] = 61440 + j; d[61440 + j] = D[240][j];} +D[241] = "����������������������������������������������������������������蹛蹚蹡蹝蹩蹔轆轇轈轋鄨鄺鄻鄾醨醥醧醯醪鎵鎌鎒鎷鎛鎝鎉鎧鎎鎪鎞鎦鎕鎈鎙鎟鎍鎱鎑鎲鎤鎨鎴鎣鎥闒闓闑隳雗雚巂雟雘雝霣霢霥鞬鞮鞨鞫鞤鞪����������������������������������鞢鞥韗韙韖韘韺顐顑顒颸饁餼餺騏騋騉騍騄騑騊騅騇騆髀髜鬈鬄鬅鬩鬵魊魌魋鯇鯆鯃鮿鯁鮵鮸鯓鮶鯄鮹鮽鵜鵓鵏鵊鵛鵋鵙鵖鵌鵗鵒鵔鵟鵘鵚麎麌黟鼁鼀鼖鼥鼫鼪鼩鼨齌齕儴儵劖勷厴嚫嚭嚦嚧嚪嚬壚壝壛夒嬽嬾嬿巃幰�".split(""); +for(j = 0; j != D[241].length; ++j) if(D[241][j].charCodeAt(0) !== 0xFFFD) { e[D[241][j]] = 61696 + j; d[61696 + j] = D[241][j];} +D[242] = "����������������������������������������������������������������徿懻攇攐攍攉攌攎斄旞旝曞櫧櫠櫌櫑櫙櫋櫟櫜櫐櫫櫏櫍櫞歠殰氌瀙瀧瀠瀖瀫瀡瀢瀣瀩瀗瀤瀜瀪爌爊爇爂爅犥犦犤犣犡瓋瓅璷瓃甖癠矉矊矄矱礝礛����������������������������������礡礜礗礞禰穧穨簳簼簹簬簻糬糪繶繵繸繰繷繯繺繲繴繨罋罊羃羆羷翽翾聸臗臕艤艡艣藫藱藭藙藡藨藚藗藬藲藸藘藟藣藜藑藰藦藯藞藢蠀蟺蠃蟶蟷蠉蠌蠋蠆蟼蠈蟿蠊蠂襢襚襛襗襡襜襘襝襙覈覷覶觶譐譈譊譀譓譖譔譋譕�".split(""); +for(j = 0; j != D[242].length; ++j) if(D[242][j].charCodeAt(0) !== 0xFFFD) { e[D[242][j]] = 61952 + j; d[61952 + j] = D[242][j];} +D[243] = "����������������������������������������������������������������譑譂譒譗豃豷豶貚贆贇贉趬趪趭趫蹭蹸蹳蹪蹯蹻軂轒轑轏轐轓辴酀鄿醰醭鏞鏇鏏鏂鏚鏐鏹鏬鏌鏙鎩鏦鏊鏔鏮鏣鏕鏄鏎鏀鏒鏧镽闚闛雡霩霫霬霨霦����������������������������������鞳鞷鞶韝韞韟顜顙顝顗颿颽颻颾饈饇饃馦馧騚騕騥騝騤騛騢騠騧騣騞騜騔髂鬋鬊鬎鬌鬷鯪鯫鯠鯞鯤鯦鯢鯰鯔鯗鯬鯜鯙鯥鯕鯡鯚鵷鶁鶊鶄鶈鵱鶀鵸鶆鶋鶌鵽鵫鵴鵵鵰鵩鶅鵳鵻鶂鵯鵹鵿鶇鵨麔麑黀黼鼭齀齁齍齖齗齘匷嚲�".split(""); +for(j = 0; j != D[243].length; ++j) if(D[243][j].charCodeAt(0) !== 0xFFFD) { e[D[243][j]] = 62208 + j; d[62208 + j] = D[243][j];} +D[244] = "����������������������������������������������������������������嚵嚳壣孅巆巇廮廯忀忁懹攗攖攕攓旟曨曣曤櫳櫰櫪櫨櫹櫱櫮櫯瀼瀵瀯瀷瀴瀱灂瀸瀿瀺瀹灀瀻瀳灁爓爔犨獽獼璺皫皪皾盭矌矎矏矍矲礥礣礧礨礤礩����������������������������������禲穮穬穭竷籉籈籊籇籅糮繻繾纁纀羺翿聹臛臙舋艨艩蘢藿蘁藾蘛蘀藶蘄蘉蘅蘌藽蠙蠐蠑蠗蠓蠖襣襦覹觷譠譪譝譨譣譥譧譭趮躆躈躄轙轖轗轕轘轚邍酃酁醷醵醲醳鐋鐓鏻鐠鐏鐔鏾鐕鐐鐨鐙鐍鏵鐀鏷鐇鐎鐖鐒鏺鐉鏸鐊鏿�".split(""); +for(j = 0; j != D[244].length; ++j) if(D[244][j].charCodeAt(0) !== 0xFFFD) { e[D[244][j]] = 62464 + j; d[62464 + j] = D[244][j];} +D[245] = "����������������������������������������������������������������鏼鐌鏶鐑鐆闞闠闟霮霯鞹鞻韽韾顠顢顣顟飁飂饐饎饙饌饋饓騲騴騱騬騪騶騩騮騸騭髇髊髆鬐鬒鬑鰋鰈鯷鰅鰒鯸鱀鰇鰎鰆鰗鰔鰉鶟鶙鶤鶝鶒鶘鶐鶛����������������������������������鶠鶔鶜鶪鶗鶡鶚鶢鶨鶞鶣鶿鶩鶖鶦鶧麙麛麚黥黤黧黦鼰鼮齛齠齞齝齙龑儺儹劘劗囃嚽嚾孈孇巋巏廱懽攛欂櫼欃櫸欀灃灄灊灈灉灅灆爝爚爙獾甗癪矐礭礱礯籔籓糲纊纇纈纋纆纍罍羻耰臝蘘蘪蘦蘟蘣蘜蘙蘧蘮蘡蘠蘩蘞蘥�".split(""); +for(j = 0; j != D[245].length; ++j) if(D[245][j].charCodeAt(0) !== 0xFFFD) { e[D[245][j]] = 62720 + j; d[62720 + j] = D[245][j];} +D[246] = "����������������������������������������������������������������蠩蠝蠛蠠蠤蠜蠫衊襭襩襮襫觺譹譸譅譺譻贐贔趯躎躌轞轛轝酆酄酅醹鐿鐻鐶鐩鐽鐼鐰鐹鐪鐷鐬鑀鐱闥闤闣霵霺鞿韡顤飉飆飀饘饖騹騽驆驄驂驁騺����������������������������������騿髍鬕鬗鬘鬖鬺魒鰫鰝鰜鰬鰣鰨鰩鰤鰡鶷鶶鶼鷁鷇鷊鷏鶾鷅鷃鶻鶵鷎鶹鶺鶬鷈鶱鶭鷌鶳鷍鶲鹺麜黫黮黭鼛鼘鼚鼱齎齥齤龒亹囆囅囋奱孋孌巕巑廲攡攠攦攢欋欈欉氍灕灖灗灒爞爟犩獿瓘瓕瓙瓗癭皭礵禴穰穱籗籜籙籛籚�".split(""); +for(j = 0; j != D[246].length; ++j) if(D[246][j].charCodeAt(0) !== 0xFFFD) { e[D[246][j]] = 62976 + j; d[62976 + j] = D[246][j];} +D[247] = "����������������������������������������������������������������糴糱纑罏羇臞艫蘴蘵蘳蘬蘲蘶蠬蠨蠦蠪蠥襱覿覾觻譾讄讂讆讅譿贕躕躔躚躒躐躖躗轠轢酇鑌鑐鑊鑋鑏鑇鑅鑈鑉鑆霿韣顪顩飋饔饛驎驓驔驌驏驈驊����������������������������������驉驒驐髐鬙鬫鬻魖魕鱆鱈鰿鱄鰹鰳鱁鰼鰷鰴鰲鰽鰶鷛鷒鷞鷚鷋鷐鷜鷑鷟鷩鷙鷘鷖鷵鷕鷝麶黰鼵鼳鼲齂齫龕龢儽劙壨壧奲孍巘蠯彏戁戃戄攩攥斖曫欑欒欏毊灛灚爢玂玁玃癰矔籧籦纕艬蘺虀蘹蘼蘱蘻蘾蠰蠲蠮蠳襶襴襳觾�".split(""); +for(j = 0; j != D[247].length; ++j) if(D[247][j].charCodeAt(0) !== 0xFFFD) { e[D[247][j]] = 63232 + j; d[63232 + j] = D[247][j];} +D[248] = "����������������������������������������������������������������讌讎讋讈豅贙躘轤轣醼鑢鑕鑝鑗鑞韄韅頀驖驙鬞鬟鬠鱒鱘鱐鱊鱍鱋鱕鱙鱌鱎鷻鷷鷯鷣鷫鷸鷤鷶鷡鷮鷦鷲鷰鷢鷬鷴鷳鷨鷭黂黐黲黳鼆鼜鼸鼷鼶齃齏����������������������������������齱齰齮齯囓囍孎屭攭曭曮欓灟灡灝灠爣瓛瓥矕礸禷禶籪纗羉艭虃蠸蠷蠵衋讔讕躞躟躠躝醾醽釂鑫鑨鑩雥靆靃靇韇韥驞髕魙鱣鱧鱦鱢鱞鱠鸂鷾鸇鸃鸆鸅鸀鸁鸉鷿鷽鸄麠鼞齆齴齵齶囔攮斸欘欙欗欚灢爦犪矘矙礹籩籫糶纚�".split(""); +for(j = 0; j != D[248].length; ++j) if(D[248][j].charCodeAt(0) !== 0xFFFD) { e[D[248][j]] = 63488 + j; d[63488 + j] = D[248][j];} +D[249] = "����������������������������������������������������������������纘纛纙臠臡虆虇虈襹襺襼襻觿讘讙躥躤躣鑮鑭鑯鑱鑳靉顲饟鱨鱮鱭鸋鸍鸐鸏鸒鸑麡黵鼉齇齸齻齺齹圞灦籯蠼趲躦釃鑴鑸鑶鑵驠鱴鱳鱱鱵鸔鸓黶鼊����������������������������������龤灨灥糷虪蠾蠽蠿讞貜躩軉靋顳顴飌饡馫驤驦驧鬤鸕鸗齈戇欞爧虌躨钂钀钁驩驨鬮鸙爩虋讟钃鱹麷癵驫鱺鸝灩灪麤齾齉龘碁銹裏墻恒粧嫺╔╦╗╠╬╣╚╩╝╒╤╕╞╪╡╘╧╛╓╥╖╟╫╢╙╨╜║═╭╮╰╯▓�".split(""); +for(j = 0; j != D[249].length; ++j) if(D[249][j].charCodeAt(0) !== 0xFFFD) { e[D[249][j]] = 63744 + j; d[63744 + j] = D[249][j];} +return {"enc": e, "dec": d }; })(); +cptable[1250] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬­®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); +cptable[1251] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—�™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬­®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); +cptable[1252] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); +cptable[1253] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›���� ΅Ά£¤¥¦§¨©�«¬­®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); +cptable[1254] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“”•–—˜™š›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖרÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); +cptable[1255] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰�‹�����‘’“”•–—˜™�›���� ¡¢£₪¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹ�ֻּֽ־ֿ׀ׁׂ׃װױײ׳״�������אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); +cptable[1256] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œ‌‍ں ،¢£¤¥¦§¨©ھ«¬­®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûü‎‏ے", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); +cptable[1257] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“”•–—�™�›�¯˛� �¢£¤�¦§Ø©Ŗ«¬­®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); +cptable[1258] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“”•–—˜™�›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖרÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); +cptable[10000] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); +cptable[10006] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦­ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ�", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); +cptable[10007] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°¢£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµ∂ЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); +cptable[10008] = (function(){ var d = [], e = {}, D = [], j; +D[0] = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€���������������������������������������������������������������������������������������".split(""); +for(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];} +D[161] = "����������������������������������������������������������������������������������������������������������������������������������������������������������������� 、。・ˉˇ¨〃々―~�…‘’“”〔〕〈〉《》「」『』〖〗【】±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵∴♂♀°′″℃$¤¢£‰§№☆★○●◎◇◆□■△▲※→←↑↓〓�".split(""); +for(j = 0; j != D[161].length; ++j) if(D[161][j].charCodeAt(0) !== 0xFFFD) { e[D[161][j]] = 41216 + j; d[41216 + j] = D[161][j];} +D[162] = "���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇①②③④⑤⑥⑦⑧⑨⑩��㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩��ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ���".split(""); +for(j = 0; j != D[162].length; ++j) if(D[162][j].charCodeAt(0) !== 0xFFFD) { e[D[162][j]] = 41472 + j; d[41472 + j] = D[162][j];} +D[163] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������!"#¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|} ̄�".split(""); +for(j = 0; j != D[163].length; ++j) if(D[163][j].charCodeAt(0) !== 0xFFFD) { e[D[163][j]] = 41728 + j; d[41728 + j] = D[163][j];} +D[164] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������".split(""); +for(j = 0; j != D[164].length; ++j) if(D[164][j].charCodeAt(0) !== 0xFFFD) { e[D[164][j]] = 41984 + j; d[41984 + j] = D[164][j];} +D[165] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������".split(""); +for(j = 0; j != D[165].length; ++j) if(D[165][j].charCodeAt(0) !== 0xFFFD) { e[D[165][j]] = 42240 + j; d[42240 + j] = D[165][j];} +D[166] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω���������������������������������������".split(""); +for(j = 0; j != D[166].length; ++j) if(D[166][j].charCodeAt(0) !== 0xFFFD) { e[D[166][j]] = 42496 + j; d[42496 + j] = D[166][j];} +D[167] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������".split(""); +for(j = 0; j != D[167].length; ++j) if(D[167][j].charCodeAt(0) !== 0xFFFD) { e[D[167][j]] = 42752 + j; d[42752 + j] = D[167][j];} +D[168] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüê����������ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ����������������������".split(""); +for(j = 0; j != D[168].length; ++j) if(D[168][j].charCodeAt(0) !== 0xFFFD) { e[D[168][j]] = 43008 + j; d[43008 + j] = D[168][j];} +D[169] = "��������������������������������������������������������������������������������������������������������������������������������������������������������������������─━│┃┄┅┆┇┈┉┊┋┌┍┎┏┐┑┒┓└┕┖┗┘┙┚┛├┝┞┟┠┡┢┣┤┥┦┧┨┩┪┫┬┭┮┯┰┱┲┳┴┵┶┷┸┹┺┻┼┽┾┿╀╁╂╃╄╅╆╇╈╉╊╋����������������".split(""); +for(j = 0; j != D[169].length; ++j) if(D[169][j].charCodeAt(0) !== 0xFFFD) { e[D[169][j]] = 43264 + j; d[43264 + j] = D[169][j];} +D[176] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥�".split(""); +for(j = 0; j != D[176].length; ++j) if(D[176][j].charCodeAt(0) !== 0xFFFD) { e[D[176][j]] = 45056 + j; d[45056 + j] = D[176][j];} +D[177] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳�".split(""); +for(j = 0; j != D[177].length; ++j) if(D[177][j].charCodeAt(0) !== 0xFFFD) { e[D[177][j]] = 45312 + j; d[45312 + j] = D[177][j];} +D[178] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖�".split(""); +for(j = 0; j != D[178].length; ++j) if(D[178][j].charCodeAt(0) !== 0xFFFD) { e[D[178][j]] = 45568 + j; d[45568 + j] = D[178][j];} +D[179] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚�".split(""); +for(j = 0; j != D[179].length; ++j) if(D[179][j].charCodeAt(0) !== 0xFFFD) { e[D[179][j]] = 45824 + j; d[45824 + j] = D[179][j];} +D[180] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮�".split(""); +for(j = 0; j != D[180].length; ++j) if(D[180][j].charCodeAt(0) !== 0xFFFD) { e[D[180][j]] = 46080 + j; d[46080 + j] = D[180][j];} +D[181] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠�".split(""); +for(j = 0; j != D[181].length; ++j) if(D[181][j].charCodeAt(0) !== 0xFFFD) { e[D[181][j]] = 46336 + j; d[46336 + j] = D[181][j];} +D[182] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二�".split(""); +for(j = 0; j != D[182].length; ++j) if(D[182][j].charCodeAt(0) !== 0xFFFD) { e[D[182][j]] = 46592 + j; d[46592 + j] = D[182][j];} +D[183] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服�".split(""); +for(j = 0; j != D[183].length; ++j) if(D[183][j].charCodeAt(0) !== 0xFFFD) { e[D[183][j]] = 46848 + j; d[46848 + j] = D[183][j];} +D[184] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹�".split(""); +for(j = 0; j != D[184].length; ++j) if(D[184][j].charCodeAt(0) !== 0xFFFD) { e[D[184][j]] = 47104 + j; d[47104 + j] = D[184][j];} +D[185] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈�".split(""); +for(j = 0; j != D[185].length; ++j) if(D[185][j].charCodeAt(0) !== 0xFFFD) { e[D[185][j]] = 47360 + j; d[47360 + j] = D[185][j];} +D[186] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖�".split(""); +for(j = 0; j != D[186].length; ++j) if(D[186][j].charCodeAt(0) !== 0xFFFD) { e[D[186][j]] = 47616 + j; d[47616 + j] = D[186][j];} +D[187] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕�".split(""); +for(j = 0; j != D[187].length; ++j) if(D[187][j].charCodeAt(0) !== 0xFFFD) { e[D[187][j]] = 47872 + j; d[47872 + j] = D[187][j];} +D[188] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件�".split(""); +for(j = 0; j != D[188].length; ++j) if(D[188][j].charCodeAt(0) !== 0xFFFD) { e[D[188][j]] = 48128 + j; d[48128 + j] = D[188][j];} +D[189] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸�".split(""); +for(j = 0; j != D[189].length; ++j) if(D[189][j].charCodeAt(0) !== 0xFFFD) { e[D[189][j]] = 48384 + j; d[48384 + j] = D[189][j];} +D[190] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻�".split(""); +for(j = 0; j != D[190].length; ++j) if(D[190][j].charCodeAt(0) !== 0xFFFD) { e[D[190][j]] = 48640 + j; d[48640 + j] = D[190][j];} +D[191] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀�".split(""); +for(j = 0; j != D[191].length; ++j) if(D[191][j].charCodeAt(0) !== 0xFFFD) { e[D[191][j]] = 48896 + j; d[48896 + j] = D[191][j];} +D[192] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐�".split(""); +for(j = 0; j != D[192].length; ++j) if(D[192][j].charCodeAt(0) !== 0xFFFD) { e[D[192][j]] = 49152 + j; d[49152 + j] = D[192][j];} +D[193] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿�".split(""); +for(j = 0; j != D[193].length; ++j) if(D[193][j].charCodeAt(0) !== 0xFFFD) { e[D[193][j]] = 49408 + j; d[49408 + j] = D[193][j];} +D[194] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫�".split(""); +for(j = 0; j != D[194].length; ++j) if(D[194][j].charCodeAt(0) !== 0xFFFD) { e[D[194][j]] = 49664 + j; d[49664 + j] = D[194][j];} +D[195] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸�".split(""); +for(j = 0; j != D[195].length; ++j) if(D[195][j].charCodeAt(0) !== 0xFFFD) { e[D[195][j]] = 49920 + j; d[49920 + j] = D[195][j];} +D[196] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁�".split(""); +for(j = 0; j != D[196].length; ++j) if(D[196][j].charCodeAt(0) !== 0xFFFD) { e[D[196][j]] = 50176 + j; d[50176 + j] = D[196][j];} +D[197] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗�".split(""); +for(j = 0; j != D[197].length; ++j) if(D[197][j].charCodeAt(0) !== 0xFFFD) { e[D[197][j]] = 50432 + j; d[50432 + j] = D[197][j];} +D[198] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐�".split(""); +for(j = 0; j != D[198].length; ++j) if(D[198][j].charCodeAt(0) !== 0xFFFD) { e[D[198][j]] = 50688 + j; d[50688 + j] = D[198][j];} +D[199] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠�".split(""); +for(j = 0; j != D[199].length; ++j) if(D[199][j].charCodeAt(0) !== 0xFFFD) { e[D[199][j]] = 50944 + j; d[50944 + j] = D[199][j];} +D[200] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁�".split(""); +for(j = 0; j != D[200].length; ++j) if(D[200][j].charCodeAt(0) !== 0xFFFD) { e[D[200][j]] = 51200 + j; d[51200 + j] = D[200][j];} +D[201] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳�".split(""); +for(j = 0; j != D[201].length; ++j) if(D[201][j].charCodeAt(0) !== 0xFFFD) { e[D[201][j]] = 51456 + j; d[51456 + j] = D[201][j];} +D[202] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱�".split(""); +for(j = 0; j != D[202].length; ++j) if(D[202][j].charCodeAt(0) !== 0xFFFD) { e[D[202][j]] = 51712 + j; d[51712 + j] = D[202][j];} +D[203] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔�".split(""); +for(j = 0; j != D[203].length; ++j) if(D[203][j].charCodeAt(0) !== 0xFFFD) { e[D[203][j]] = 51968 + j; d[51968 + j] = D[203][j];} +D[204] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃�".split(""); +for(j = 0; j != D[204].length; ++j) if(D[204][j].charCodeAt(0) !== 0xFFFD) { e[D[204][j]] = 52224 + j; d[52224 + j] = D[204][j];} +D[205] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威�".split(""); +for(j = 0; j != D[205].length; ++j) if(D[205][j].charCodeAt(0) !== 0xFFFD) { e[D[205][j]] = 52480 + j; d[52480 + j] = D[205][j];} +D[206] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺�".split(""); +for(j = 0; j != D[206].length; ++j) if(D[206][j].charCodeAt(0) !== 0xFFFD) { e[D[206][j]] = 52736 + j; d[52736 + j] = D[206][j];} +D[207] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓�".split(""); +for(j = 0; j != D[207].length; ++j) if(D[207][j].charCodeAt(0) !== 0xFFFD) { e[D[207][j]] = 52992 + j; d[52992 + j] = D[207][j];} +D[208] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄�".split(""); +for(j = 0; j != D[208].length; ++j) if(D[208][j].charCodeAt(0) !== 0xFFFD) { e[D[208][j]] = 53248 + j; d[53248 + j] = D[208][j];} +D[209] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶�".split(""); +for(j = 0; j != D[209].length; ++j) if(D[209][j].charCodeAt(0) !== 0xFFFD) { e[D[209][j]] = 53504 + j; d[53504 + j] = D[209][j];} +D[210] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐�".split(""); +for(j = 0; j != D[210].length; ++j) if(D[210][j].charCodeAt(0) !== 0xFFFD) { e[D[210][j]] = 53760 + j; d[53760 + j] = D[210][j];} +D[211] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉�".split(""); +for(j = 0; j != D[211].length; ++j) if(D[211][j].charCodeAt(0) !== 0xFFFD) { e[D[211][j]] = 54016 + j; d[54016 + j] = D[211][j];} +D[212] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧�".split(""); +for(j = 0; j != D[212].length; ++j) if(D[212][j].charCodeAt(0) !== 0xFFFD) { e[D[212][j]] = 54272 + j; d[54272 + j] = D[212][j];} +D[213] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政�".split(""); +for(j = 0; j != D[213].length; ++j) if(D[213][j].charCodeAt(0) !== 0xFFFD) { e[D[213][j]] = 54528 + j; d[54528 + j] = D[213][j];} +D[214] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑�".split(""); +for(j = 0; j != D[214].length; ++j) if(D[214][j].charCodeAt(0) !== 0xFFFD) { e[D[214][j]] = 54784 + j; d[54784 + j] = D[214][j];} +D[215] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座������".split(""); +for(j = 0; j != D[215].length; ++j) if(D[215][j].charCodeAt(0) !== 0xFFFD) { e[D[215][j]] = 55040 + j; d[55040 + j] = D[215][j];} +D[216] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝�".split(""); +for(j = 0; j != D[216].length; ++j) if(D[216][j].charCodeAt(0) !== 0xFFFD) { e[D[216][j]] = 55296 + j; d[55296 + j] = D[216][j];} +D[217] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼�".split(""); +for(j = 0; j != D[217].length; ++j) if(D[217][j].charCodeAt(0) !== 0xFFFD) { e[D[217][j]] = 55552 + j; d[55552 + j] = D[217][j];} +D[218] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺�".split(""); +for(j = 0; j != D[218].length; ++j) if(D[218][j].charCodeAt(0) !== 0xFFFD) { e[D[218][j]] = 55808 + j; d[55808 + j] = D[218][j];} +D[219] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝�".split(""); +for(j = 0; j != D[219].length; ++j) if(D[219][j].charCodeAt(0) !== 0xFFFD) { e[D[219][j]] = 56064 + j; d[56064 + j] = D[219][j];} +D[220] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥�".split(""); +for(j = 0; j != D[220].length; ++j) if(D[220][j].charCodeAt(0) !== 0xFFFD) { e[D[220][j]] = 56320 + j; d[56320 + j] = D[220][j];} +D[221] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺�".split(""); +for(j = 0; j != D[221].length; ++j) if(D[221][j].charCodeAt(0) !== 0xFFFD) { e[D[221][j]] = 56576 + j; d[56576 + j] = D[221][j];} +D[222] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖�".split(""); +for(j = 0; j != D[222].length; ++j) if(D[222][j].charCodeAt(0) !== 0xFFFD) { e[D[222][j]] = 56832 + j; d[56832 + j] = D[222][j];} +D[223] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼�".split(""); +for(j = 0; j != D[223].length; ++j) if(D[223][j].charCodeAt(0) !== 0xFFFD) { e[D[223][j]] = 57088 + j; d[57088 + j] = D[223][j];} +D[224] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼�".split(""); +for(j = 0; j != D[224].length; ++j) if(D[224][j].charCodeAt(0) !== 0xFFFD) { e[D[224][j]] = 57344 + j; d[57344 + j] = D[224][j];} +D[225] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺�".split(""); +for(j = 0; j != D[225].length; ++j) if(D[225][j].charCodeAt(0) !== 0xFFFD) { e[D[225][j]] = 57600 + j; d[57600 + j] = D[225][j];} +D[226] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧饨饩饪饫饬饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂�".split(""); +for(j = 0; j != D[226].length; ++j) if(D[226][j].charCodeAt(0) !== 0xFFFD) { e[D[226][j]] = 57856 + j; d[57856 + j] = D[226][j];} +D[227] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾�".split(""); +for(j = 0; j != D[227].length; ++j) if(D[227][j].charCodeAt(0) !== 0xFFFD) { e[D[227][j]] = 58112 + j; d[58112 + j] = D[227][j];} +D[228] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑�".split(""); +for(j = 0; j != D[228].length; ++j) if(D[228][j].charCodeAt(0) !== 0xFFFD) { e[D[228][j]] = 58368 + j; d[58368 + j] = D[228][j];} +D[229] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣�".split(""); +for(j = 0; j != D[229].length; ++j) if(D[229][j].charCodeAt(0) !== 0xFFFD) { e[D[229][j]] = 58624 + j; d[58624 + j] = D[229][j];} +D[230] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩�".split(""); +for(j = 0; j != D[230].length; ++j) if(D[230][j].charCodeAt(0) !== 0xFFFD) { e[D[230][j]] = 58880 + j; d[58880 + j] = D[230][j];} +D[231] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡缢缣缤缥缦缧缪缫缬缭缯缰缱缲缳缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬�".split(""); +for(j = 0; j != D[231].length; ++j) if(D[231][j].charCodeAt(0) !== 0xFFFD) { e[D[231][j]] = 59136 + j; d[59136 + j] = D[231][j];} +D[232] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹�".split(""); +for(j = 0; j != D[232].length; ++j) if(D[232][j].charCodeAt(0) !== 0xFFFD) { e[D[232][j]] = 59392 + j; d[59392 + j] = D[232][j];} +D[233] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋�".split(""); +for(j = 0; j != D[233].length; ++j) if(D[233][j].charCodeAt(0) !== 0xFFFD) { e[D[233][j]] = 59648 + j; d[59648 + j] = D[233][j];} +D[234] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰�".split(""); +for(j = 0; j != D[234].length; ++j) if(D[234][j].charCodeAt(0) !== 0xFFFD) { e[D[234][j]] = 59904 + j; d[59904 + j] = D[234][j];} +D[235] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻�".split(""); +for(j = 0; j != D[235].length; ++j) if(D[235][j].charCodeAt(0) !== 0xFFFD) { e[D[235][j]] = 60160 + j; d[60160 + j] = D[235][j];} +D[236] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐�".split(""); +for(j = 0; j != D[236].length; ++j) if(D[236][j].charCodeAt(0) !== 0xFFFD) { e[D[236][j]] = 60416 + j; d[60416 + j] = D[236][j];} +D[237] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨�".split(""); +for(j = 0; j != D[237].length; ++j) if(D[237][j].charCodeAt(0) !== 0xFFFD) { e[D[237][j]] = 60672 + j; d[60672 + j] = D[237][j];} +D[238] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶钷钸钹钺钼钽钿铄铈铉铊铋铌铍铎铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪�".split(""); +for(j = 0; j != D[238].length; ++j) if(D[238][j].charCodeAt(0) !== 0xFFFD) { e[D[238][j]] = 60928 + j; d[60928 + j] = D[238][j];} +D[239] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒锓锔锕锖锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤镥镦镧镨镩镪镫镬镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔�".split(""); +for(j = 0; j != D[239].length; ++j) if(D[239][j].charCodeAt(0) !== 0xFFFD) { e[D[239][j]] = 61184 + j; d[61184 + j] = D[239][j];} +D[240] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨鸩鸪鸫鸬鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦鹧鹨鹩鹪鹫鹬鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙�".split(""); +for(j = 0; j != D[240].length; ++j) if(D[240][j].charCodeAt(0) !== 0xFFFD) { e[D[240][j]] = 61440 + j; d[61440 + j] = D[240][j];} +D[241] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃�".split(""); +for(j = 0; j != D[241].length; ++j) if(D[241][j].charCodeAt(0) !== 0xFFFD) { e[D[241][j]] = 61696 + j; d[61696 + j] = D[241][j];} +D[242] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒�".split(""); +for(j = 0; j != D[242].length; ++j) if(D[242][j].charCodeAt(0) !== 0xFFFD) { e[D[242][j]] = 61952 + j; d[61952 + j] = D[242][j];} +D[243] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋�".split(""); +for(j = 0; j != D[243].length; ++j) if(D[243][j].charCodeAt(0) !== 0xFFFD) { e[D[243][j]] = 62208 + j; d[62208 + j] = D[243][j];} +D[244] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤�".split(""); +for(j = 0; j != D[244].length; ++j) if(D[244][j].charCodeAt(0) !== 0xFFFD) { e[D[244][j]] = 62464 + j; d[62464 + j] = D[244][j];} +D[245] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜�".split(""); +for(j = 0; j != D[245].length; ++j) if(D[245][j].charCodeAt(0) !== 0xFFFD) { e[D[245][j]] = 62720 + j; d[62720 + j] = D[245][j];} +D[246] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅龆龇龈龉龊龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞鲟鲠鲡鲢鲣鲥鲦鲧鲨鲩鲫鲭鲮鲰鲱鲲鲳鲴鲵鲶鲷鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋�".split(""); +for(j = 0; j != D[246].length; ++j) if(D[246][j].charCodeAt(0) !== 0xFFFD) { e[D[246][j]] = 62976 + j; d[62976 + j] = D[246][j];} +D[247] = "�����������������������������������������������������������������������������������������������������������������������������������������������������������������鳌鳍鳎鳏鳐鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄�".split(""); +for(j = 0; j != D[247].length; ++j) if(D[247][j].charCodeAt(0) !== 0xFFFD) { e[D[247][j]] = 63232 + j; d[63232 + j] = D[247][j];} +return {"enc": e, "dec": d }; })(); +cptable[10029] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); +cptable[10079] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüݰ¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); +cptable[10081] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙ�ˆ˜¯˘˙˚¸˝˛ˇ", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); +cptable[28591] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); +// eslint-disable-next-line no-undef +if (typeof module !== 'undefined' && module.exports && typeof DO_NOT_EXPORT_CODEPAGE === 'undefined') module.exports = cptable; +/*! cputils.js (C) 2013-present SheetJS -- http://sheetjs.com */ +/* vim: set ft=javascript: */ +/*jshint newcap: false */ +(function(root, factory) { + /*jshint ignore:start */ + /*eslint-disable */ + "use strict"; + if(typeof cptable === "undefined") { + if(typeof require !== "undefined"){ + var cpt = cptable; + if (typeof module !== 'undefined' && module.exports && typeof DO_NOT_EXPORT_CODEPAGE === 'undefined') module.exports = factory(cpt); + else root.cptable = factory(cpt); + } else throw new Error("cptable not found"); + } else cptable = factory(cptable); + /*eslint-enable */ + /*jshint ignore:end */ +}(this, function(cpt){ + "use strict"; + /*global module, Buffer */ + var magic = { + "1200":"utf16le", + "1201":"utf16be", + "12000":"utf32le", + "12001":"utf32be", + "16969":"utf64le", + "20127":"ascii", + "65000":"utf7", + "65001":"utf8" + }; + + var sbcs_cache = [874,1250,1251,1252,1253,1254,1255,1256,10000]; + var dbcs_cache = [932,936,949,950]; + var magic_cache = [65001]; + var magic_decode = {}; + var magic_encode = {}; + var cpdcache = {}; + var cpecache = {}; + + var sfcc = function sfcc(x) { return String.fromCharCode(x); }; + var cca = function cca(x) { return x.charCodeAt(0); }; + + var has_buf = (typeof Buffer !== 'undefined'); + var Buffer_from = function(){}; + if(has_buf) { + var nbfs = !Buffer.from; + if(!nbfs) try { Buffer.from("foo", "utf8"); } catch(e) { nbfs = true; } + Buffer_from = nbfs ? function(buf, enc) { return (enc) ? new Buffer(buf, enc) : new Buffer(buf); } : Buffer.from.bind(Buffer); + // $FlowIgnore + if(!Buffer.allocUnsafe) Buffer.allocUnsafe = function(n) { return new Buffer(n); }; + + var mdl = 1024, mdb = Buffer.allocUnsafe(mdl); + var make_EE = function make_EE(E){ + var EE = Buffer.allocUnsafe(65536); + for(var i = 0; i < 65536;++i) EE[i] = 0; + var keys = Object.keys(E), len = keys.length; + for(var ee = 0, e = keys[ee]; ee < len; ++ee) { + if(!(e = keys[ee])) continue; + EE[e.charCodeAt(0)] = E[e]; + } + return EE; + }; + var sbcs_encode = function make_sbcs_encode(cp) { + var EE = make_EE(cpt[cp].enc); + return function sbcs_e(data, ofmt) { + var len = data.length; + var out, i=0, j=0, D=0, w=0; + if(typeof data === 'string') { + out = Buffer.allocUnsafe(len); + for(i = 0; i < len; ++i) out[i] = EE[data.charCodeAt(i)]; + } else if(Buffer.isBuffer(data)) { + out = Buffer.allocUnsafe(2*len); + j = 0; + for(i = 0; i < len; ++i) { + D = data[i]; + if(D < 128) out[j++] = EE[D]; + else if(D < 224) { out[j++] = EE[((D&31)<<6)+(data[i+1]&63)]; ++i; } + else if(D < 240) { out[j++] = EE[((D&15)<<12)+((data[i+1]&63)<<6)+(data[i+2]&63)]; i+=2; } + else { + w = ((D&7)<<18)+((data[i+1]&63)<<12)+((data[i+2]&63)<<6)+(data[i+3]&63); i+=3; + if(w < 65536) out[j++] = EE[w]; + else { w -= 65536; out[j++] = EE[0xD800 + ((w>>10)&1023)]; out[j++] = EE[0xDC00 + (w&1023)]; } + } + } + out = out.slice(0,j); + } else { + out = Buffer.allocUnsafe(len); + for(i = 0; i < len; ++i) out[i] = EE[data[i].charCodeAt(0)]; + } + if(!ofmt || ofmt === 'buf') return out; + if(ofmt !== 'arr') return out.toString('binary'); + return [].slice.call(out); + }; + }; + var sbcs_decode = function make_sbcs_decode(cp) { + var D = cpt[cp].dec; + var DD = Buffer.allocUnsafe(131072), d=0, c=""; + for(d=0;d>8; + } + return function sbcs_d(data) { + var len = data.length, i=0, j=0; + if(2 * len > mdl) { mdl = 2 * len; mdb = Buffer.allocUnsafe(mdl); } + if(Buffer.isBuffer(data)) { + for(i = 0; i < len; i++) { + j = 2*data[i]; + mdb[2*i] = DD[j]; mdb[2*i+1] = DD[j+1]; + } + } else if(typeof data === "string") { + for(i = 0; i < len; i++) { + j = 2*data.charCodeAt(i); + mdb[2*i] = DD[j]; mdb[2*i+1] = DD[j+1]; + } + } else { + for(i = 0; i < len; i++) { + j = 2*data[i]; + mdb[2*i] = DD[j]; mdb[2*i+1] = DD[j+1]; + } + } + return mdb.slice(0, 2 * len).toString('ucs2'); + }; + }; + var dbcs_encode = function make_dbcs_encode(cp) { + var E = cpt[cp].enc; + var EE = Buffer.allocUnsafe(131072); + for(var i = 0; i < 131072; ++i) EE[i] = 0; + var keys = Object.keys(E); + for(var ee = 0, e = keys[ee]; ee < keys.length; ++ee) { + if(!(e = keys[ee])) continue; + var f = e.charCodeAt(0); + EE[2*f] = E[e] & 255; EE[2*f+1] = E[e]>>8; + } + return function dbcs_e(data, ofmt) { + var len = data.length, out = Buffer.allocUnsafe(2*len), i=0, j=0, jj=0, k=0, D=0; + if(typeof data === 'string') { + for(i = k = 0; i < len; ++i) { + j = data.charCodeAt(i)*2; + out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j]; + } + out = out.slice(0,k); + } else if(Buffer.isBuffer(data)) { + for(i = k = 0; i < len; ++i) { + D = data[i]; + if(D < 128) j = D; + else if(D < 224) { j = ((D&31)<<6)+(data[i+1]&63); ++i; } + else if(D < 240) { j = ((D&15)<<12)+((data[i+1]&63)<<6)+(data[i+2]&63); i+=2; } + else { j = ((D&7)<<18)+((data[i+1]&63)<<12)+((data[i+2]&63)<<6)+(data[i+3]&63); i+=3; } + if(j<65536) { j*=2; out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j]; } + else { jj = j-65536; + j=2*(0xD800 + ((jj>>10)&1023)); out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j]; + j=2*(0xDC00 + (jj&1023)); out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j]; + } + } + out = out.slice(0,k); + } else { + for(i = k = 0; i < len; i++) { + j = data[i].charCodeAt(0)*2; + out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j]; + } + } + if(!ofmt || ofmt === 'buf') return out; + if(ofmt !== 'arr') return out.toString('binary'); + return [].slice.call(out); + }; + }; + var dbcs_decode = function make_dbcs_decode(cp) { + var D = cpt[cp].dec; + var DD = Buffer.allocUnsafe(131072), d=0, c, w=0, j=0, i=0; + for(i = 0; i < 65536; ++i) { DD[2*i] = 0xFF; DD[2*i+1] = 0xFD;} + for(d = 0; d < D.length; ++d) { + if(!(c=D[d])) continue; + w = c.charCodeAt(0); + j = 2*d; + DD[j] = w&255; DD[j+1] = w>>8; + } + return function dbcs_d(data) { + var len = data.length, out = Buffer.allocUnsafe(2*len), i=0, j=0, k=0; + if(Buffer.isBuffer(data)) { + for(i = 0; i < len; i++) { + j = 2*data[i]; + if(DD[j]===0xFF && DD[j+1]===0xFD) { j=2*((data[i]<<8)+data[i+1]); ++i; } + out[k++] = DD[j]; out[k++] = DD[j+1]; + } + } else if(typeof data === "string") { + for(i = 0; i < len; i++) { + j = 2*data.charCodeAt(i); + if(DD[j]===0xFF && DD[j+1]===0xFD) { j=2*((data.charCodeAt(i)<<8)+data.charCodeAt(i+1)); ++i; } + out[k++] = DD[j]; out[k++] = DD[j+1]; + } + } else { + for(i = 0; i < len; i++) { + j = 2*data[i]; + if(DD[j]===0xFF && DD[j+1]===0xFD) { j=2*((data[i]<<8)+data[i+1]); ++i; } + out[k++] = DD[j]; out[k++] = DD[j+1]; + } + } + return out.slice(0,k).toString('ucs2'); + }; + }; + magic_decode[65001] = function utf8_d(data) { + if(typeof data === "string") return utf8_d(data.split("").map(cca)); + var len = data.length, w = 0, ww = 0; + if(4 * len > mdl) { mdl = 4 * len; mdb = Buffer.allocUnsafe(mdl); } + var i = 0; + if(len >= 3 && data[0] == 0xEF) if(data[1] == 0xBB && data[2] == 0xBF) i = 3; + for(var j = 1, k = 0, D = 0; i < len; i+=j) { + j = 1; D = data[i]; + if(D < 128) w = D; + else if(D < 224) { w=(D&31)*64+(data[i+1]&63); j=2; } + else if(D < 240) { w=((D&15)<<12)+(data[i+1]&63)*64+(data[i+2]&63); j=3; } + else { w=(D&7)*262144+((data[i+1]&63)<<12)+(data[i+2]&63)*64+(data[i+3]&63); j=4; } + if(w < 65536) { mdb[k++] = w&255; mdb[k++] = w>>8; } + else { + w -= 65536; ww = 0xD800 + ((w>>10)&1023); w = 0xDC00 + (w&1023); + mdb[k++] = ww&255; mdb[k++] = ww>>>8; mdb[k++] = w&255; mdb[k++] = (w>>>8)&255; + } + } + return mdb.slice(0,k).toString('ucs2'); + }; + magic_encode[65001] = function utf8_e(data, ofmt) { + if(has_buf && Buffer.isBuffer(data)) { + if(!ofmt || ofmt === 'buf') return data; + if(ofmt !== 'arr') return data.toString('binary'); + return [].slice.call(data); + } + var len = data.length, w = 0, ww = 0, j = 0; + var direct = typeof data === "string"; + if(4 * len > mdl) { mdl = 4 * len; mdb = Buffer.allocUnsafe(mdl); } + for(var i = 0; i < len; ++i) { + w = direct ? data.charCodeAt(i) : data[i].charCodeAt(0); + if(w <= 0x007F) mdb[j++] = w; + else if(w <= 0x07FF) { + mdb[j++] = 192 + (w >> 6); + mdb[j++] = 128 + (w&63); + } else if(w >= 0xD800 && w <= 0xDFFF) { + w -= 0xD800; ++i; + ww = (direct ? data.charCodeAt(i) : data[i].charCodeAt(0)) - 0xDC00 + (w << 10); + mdb[j++] = 240 + ((ww>>>18) & 0x07); + mdb[j++] = 144 + ((ww>>>12) & 0x3F); + mdb[j++] = 128 + ((ww>>>6) & 0x3F); + mdb[j++] = 128 + (ww & 0x3F); + } else { + mdb[j++] = 224 + (w >> 12); + mdb[j++] = 128 + ((w >> 6)&63); + mdb[j++] = 128 + (w&63); + } + } + if(!ofmt || ofmt === 'buf') return mdb.slice(0,j); + if(ofmt !== 'arr') return mdb.slice(0,j).toString('binary'); + return [].slice.call(mdb, 0, j); + }; + } + + var encache = function encache() { + if(has_buf) { + if(cpdcache[sbcs_cache[0]]) return; + var i=0, s=0; + for(i = 0; i < sbcs_cache.length; ++i) { + s = sbcs_cache[i]; + if(cpt[s]) { + cpdcache[s] = sbcs_decode(s); + cpecache[s] = sbcs_encode(s); + } + } + for(i = 0; i < dbcs_cache.length; ++i) { + s = dbcs_cache[i]; + if(cpt[s]) { + cpdcache[s] = dbcs_decode(s); + cpecache[s] = dbcs_encode(s); + } + } + for(i = 0; i < magic_cache.length; ++i) { + s = magic_cache[i]; + if(magic_decode[s]) cpdcache[s] = magic_decode[s]; + if(magic_encode[s]) cpecache[s] = magic_encode[s]; + } + } + }; + var null_enc = function(data, ofmt) { void ofmt; return ""; }; + var cp_decache = function cp_decache(cp) { delete cpdcache[cp]; delete cpecache[cp]; }; + var decache = function decache() { + if(has_buf) { + if(!cpdcache[sbcs_cache[0]]) return; + sbcs_cache.forEach(cp_decache); + dbcs_cache.forEach(cp_decache); + magic_cache.forEach(cp_decache); + } + last_enc = null_enc; last_cp = 0; + }; + var cache = { + encache: encache, + decache: decache, + sbcs: sbcs_cache, + dbcs: dbcs_cache + }; + + encache(); + + var BM = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + var SetD = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'(),-./:?"; + var last_enc = null_enc, last_cp = 0; + var encode = function encode(cp, data, ofmt) { + if(cp === last_cp && last_enc) { return last_enc(data, ofmt); } + if(cpecache[cp]) { last_enc = cpecache[last_cp=cp]; return last_enc(data, ofmt); } + if(has_buf && Buffer.isBuffer(data)) data = data.toString('utf8'); + var len = data.length; + var out = has_buf ? Buffer.allocUnsafe(4*len) : [], w=0, i=0, j = 0, ww=0; + var C = cpt[cp], E, M = ""; + var isstr = typeof data === 'string'; + if(C && (E=C.enc)) for(i = 0; i < len; ++i, ++j) { + w = E[isstr? data.charAt(i) : data[i]]; + if(w > 255) { + out[j] = w>>8; + out[++j] = w&255; + } else out[j] = w&255; + } + else if((M=magic[cp])) switch(M) { + case "utf8": + if(has_buf && isstr) { out = Buffer_from(data, M); j = out.length; break; } + for(i = 0; i < len; ++i, ++j) { + w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0); + if(w <= 0x007F) out[j] = w; + else if(w <= 0x07FF) { + out[j] = 192 + (w >> 6); + out[++j] = 128 + (w&63); + } else if(w >= 0xD800 && w <= 0xDFFF) { + w -= 0xD800; + ww = (isstr ? data.charCodeAt(++i) : data[++i].charCodeAt(0)) - 0xDC00 + (w << 10); + out[j] = 240 + ((ww>>>18) & 0x07); + out[++j] = 144 + ((ww>>>12) & 0x3F); + out[++j] = 128 + ((ww>>>6) & 0x3F); + out[++j] = 128 + (ww & 0x3F); + } else { + out[j] = 224 + (w >> 12); + out[++j] = 128 + ((w >> 6)&63); + out[++j] = 128 + (w&63); + } + } + break; + case "ascii": + if(has_buf && typeof data === "string") { out = Buffer_from(data, M); j = out.length; break; } + for(i = 0; i < len; ++i, ++j) { + w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0); + if(w <= 0x007F) out[j] = w; + else throw new Error("bad ascii " + w); + } + break; + case "utf16le": + if(has_buf && typeof data === "string") { out = Buffer_from(data, M); j = out.length; break; } + for(i = 0; i < len; ++i) { + w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0); + out[j++] = w&255; + out[j++] = w>>8; + } + break; + case "utf16be": + for(i = 0; i < len; ++i) { + w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0); + out[j++] = w>>8; + out[j++] = w&255; + } + break; + case "utf32le": + for(i = 0; i < len; ++i) { + w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0); + if(w >= 0xD800 && w <= 0xDFFF) w = 0x10000 + ((w - 0xD800) << 10) + (data[++i].charCodeAt(0) - 0xDC00); + out[j++] = w&255; w >>= 8; + out[j++] = w&255; w >>= 8; + out[j++] = w&255; w >>= 8; + out[j++] = w&255; + } + break; + case "utf32be": + for(i = 0; i < len; ++i) { + w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0); + if(w >= 0xD800 && w <= 0xDFFF) w = 0x10000 + ((w - 0xD800) << 10) + (data[++i].charCodeAt(0) - 0xDC00); + out[j+3] = w&255; w >>= 8; + out[j+2] = w&255; w >>= 8; + out[j+1] = w&255; w >>= 8; + out[j] = w&255; + j+=4; + } + break; + case "utf7": + for(i = 0; i < len; i++) { + var c = isstr ? data.charAt(i) : data[i].charAt(0); + if(c === "+") { out[j++] = 0x2b; out[j++] = 0x2d; continue; } + if(SetD.indexOf(c) > -1) { out[j++] = c.charCodeAt(0); continue; } + var tt = encode(1201, c); + out[j++] = 0x2b; + out[j++] = BM.charCodeAt(tt[0]>>2); + out[j++] = BM.charCodeAt(((tt[0]&0x03)<<4) + ((tt[1]||0)>>4)); + out[j++] = BM.charCodeAt(((tt[1]&0x0F)<<2) + ((tt[2]||0)>>6)); + out[j++] = 0x2d; + } + break; + default: throw new Error("Unsupported magic: " + cp + " " + magic[cp]); + } + else throw new Error("Unrecognized CP: " + cp); + out = out.slice(0,j); + if(!has_buf) return (ofmt == 'str') ? (out).map(sfcc).join("") : out; + if(!ofmt || ofmt === 'buf') return out; + if(ofmt !== 'arr') return out.toString('binary'); + return [].slice.call(out); + }; + var decode = function decode(cp, data) { + var F; if((F=cpdcache[cp])) return F(data); + if(typeof data === "string") return decode(cp, data.split("").map(cca)); + var len = data.length, out = new Array(len), s="", w=0, i=0, j=1, k=0, ww=0; + var C = cpt[cp], D, M=""; + if(C && (D=C.dec)) { + for(i = 0; i < len; i+=j) { + j = 2; + s = D[(data[i]<<8)+ data[i+1]]; + if(!s) { + j = 1; + s = D[data[i]]; + } + if(!s) throw new Error('Unrecognized code: ' + data[i] + ' ' + data[i+j-1] + ' ' + i + ' ' + j + ' ' + D[data[i]]); + out[k++] = s; + } + } + else if((M=magic[cp])) switch(M) { + case "utf8": + if(len >= 3 && data[0] == 0xEF) if(data[1] == 0xBB && data[2] == 0xBF) i = 3; + for(; i < len; i+=j) { + j = 1; + if(data[i] < 128) w = data[i]; + else if(data[i] < 224) { w=(data[i]&31)*64+(data[i+1]&63); j=2; } + else if(data[i] < 240) { w=((data[i]&15)<<12)+(data[i+1]&63)*64+(data[i+2]&63); j=3; } + else { w=(data[i]&7)*262144+((data[i+1]&63)<<12)+(data[i+2]&63)*64+(data[i+3]&63); j=4; } + if(w < 65536) { out[k++] = String.fromCharCode(w); } + else { + w -= 65536; ww = 0xD800 + ((w>>10)&1023); w = 0xDC00 + (w&1023); + out[k++] = String.fromCharCode(ww); out[k++] = String.fromCharCode(w); + } + } + break; + case "ascii": + if(has_buf && Buffer.isBuffer(data)) return data.toString(M); + for(i = 0; i < len; i++) out[i] = String.fromCharCode(data[i]); + k = len; break; + case "utf16le": + if(len >= 2 && data[0] == 0xFF) if(data[1] == 0xFE) i = 2; + if(has_buf && Buffer.isBuffer(data)) return data.toString(M); + j = 2; + for(; i+1 < len; i+=j) { + out[k++] = String.fromCharCode((data[i+1]<<8) + data[i]); + } + break; + case "utf16be": + if(len >= 2 && data[0] == 0xFE) if(data[1] == 0xFF) i = 2; + j = 2; + for(; i+1 < len; i+=j) { + out[k++] = String.fromCharCode((data[i]<<8) + data[i+1]); + } + break; + case "utf32le": + if(len >= 4 && data[0] == 0xFF) if(data[1] == 0xFE && data[2] === 0 && data[3] === 0) i = 4; + j = 4; + for(; i < len; i+=j) { + w = (data[i+3]<<24) + (data[i+2]<<16) + (data[i+1]<<8) + (data[i]); + if(w > 0xFFFF) { + w -= 0x10000; + out[k++] = String.fromCharCode(0xD800 + ((w >> 10) & 0x3FF)); + out[k++] = String.fromCharCode(0xDC00 + (w & 0x3FF)); + } + else out[k++] = String.fromCharCode(w); + } + break; + case "utf32be": + if(len >= 4 && data[3] == 0xFF) if(data[2] == 0xFE && data[1] === 0 && data[0] === 0) i = 4; + j = 4; + for(; i < len; i+=j) { + w = (data[i]<<24) + (data[i+1]<<16) + (data[i+2]<<8) + (data[i+3]); + if(w > 0xFFFF) { + w -= 0x10000; + out[k++] = String.fromCharCode(0xD800 + ((w >> 10) & 0x3FF)); + out[k++] = String.fromCharCode(0xDC00 + (w & 0x3FF)); + } + else out[k++] = String.fromCharCode(w); + } + break; + case "utf7": + if(len >= 4 && data[0] == 0x2B && data[1] == 0x2F && data[2] == 0x76) { + if(len >= 5 && data[3] == 0x38 && data[4] == 0x2D) i = 5; + else if(data[3] == 0x38 || data[3] == 0x39 || data[3] == 0x2B || data[3] == 0x2F) i = 4; + } + for(; i < len; i+=j) { + if(data[i] !== 0x2b) { j=1; out[k++] = String.fromCharCode(data[i]); continue; } + j=1; + if(data[i+1] === 0x2d) { j = 2; out[k++] = "+"; continue; } + // eslint-disable-next-line no-useless-escape + while(String.fromCharCode(data[i+j]).match(/[A-Za-z0-9+\/]/)) j++; + var dash = 0; + if(data[i+j] === 0x2d) { ++j; dash=1; } + var tt = []; + var o64 = ""; + var c1=0, c2=0, c3=0; + var e1=0, e2=0, e3=0, e4=0; + for(var l = 1; l < j - dash;) { + e1 = BM.indexOf(String.fromCharCode(data[i+l++])); + e2 = BM.indexOf(String.fromCharCode(data[i+l++])); + c1 = e1 << 2 | e2 >> 4; + tt.push(c1); + e3 = BM.indexOf(String.fromCharCode(data[i+l++])); + if(e3 === -1) break; + c2 = (e2 & 15) << 4 | e3 >> 2; + tt.push(c2); + e4 = BM.indexOf(String.fromCharCode(data[i+l++])); + if(e4 === -1) break; + c3 = (e3 & 3) << 6 | e4; + if(e4 < 64) tt.push(c3); + } + o64 = decode(1201, tt); + for(l = 0; l < o64.length; ++l) out[k++] = o64.charAt(l); + } + break; + default: throw new Error("Unsupported magic: " + cp + " " + magic[cp]); + } + else throw new Error("Unrecognized CP: " + cp); + return out.slice(0,k).join(""); + }; + var hascp = function hascp(cp) { return !!(cpt[cp] || magic[cp]); }; + cpt.utils = { decode: decode, encode: encode, hascp: hascp, magic: magic, cache:cache }; + return cpt; +})); diff --git a/public/lib/xlsx.full.min.js b/public/lib/xlsx.full.min.js new file mode 100644 index 0000000..16e013f --- /dev/null +++ b/public/lib/xlsx.full.min.js @@ -0,0 +1,22 @@ +/*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */ +var DO_NOT_EXPORT_CODEPAGE=true;var cptable={version:"1.15.0"};cptable[437]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[620]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàąçêëèïîćÄĄĘęłôöĆûùŚÖܢ٥śƒŹŻóÓńŃźż¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[737]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρσςτυφχψ░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ωάέήϊίόύϋώΆΈΉΊΌΎΏ±≥≤ΪΫ÷≈°∙·√ⁿ²■ ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[850]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø×ƒáíóúñѪº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈıÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýݯ´­±‗¾¶§÷¸°¨·¹³²■ ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[852]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäůćçłëŐőîŹÄĆÉĹĺôöĽľŚśÖÜŤťŁ×čáíóúĄąŽžĘ꬟Ⱥ«»░▒▓│┤ÁÂĚŞ╣║╗╝Żż┐└┴┬├─┼Ăă╚╔╩╦╠═╬¤đĐĎËďŇÍÎě┘┌█▄ŢŮ▀ÓßÔŃńňŠšŔÚŕŰýÝţ´­˝˛ˇ˘§÷¸°¨˙űŘř■ ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[857]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîıÄÅÉæÆôöòûùİÖÜø£ØŞşáíóúñÑĞ𿮬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ºªÊËÈ�ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµ�×ÚÛÙìÿ¯´­±�¾¶§÷¸°¨·¹³²■ ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[861]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèÐðÞÄÅÉæÆôöþûÝýÖÜø£Ø₧ƒáíóúÁÍÓÚ¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[865]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø₧ƒáíóúñѪº¿⌐¬½¼¡«¤░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[866]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■ ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[874]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€����…�����������‘’“”•–—�������� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[895]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ČüéďäĎŤčěĚĹÍľǪÄÁÉžŽôöÓůÚýÖÜŠĽÝŘťáíóúňŇŮÔšřŕŔ¼§«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[932]=function(){var e=[],r={},t=[],a;t[0]="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~���������������������������������。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙゚��������������������������������".split("");for(a=0;a!=t[0].length;++a)if(t[0][a].charCodeAt(0)!==65533){r[t[0][a]]=0+a;e[0+a]=t[0][a]}t[129]="���������������������������������������������������������������� 、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/\~∥|…‥‘’“”()〔〕[]{}〈〉《》「」『』【】+-±×�÷=≠<>≦≧∞∴♂♀°′″℃¥$¢£%#&*@§☆★○●◎◇◆□■△▲▽▼※〒→←↑↓〓�����������∈∋⊆⊇⊂⊃∪∩��������∧∨¬⇒⇔∀∃�����������∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬�������ʼn♯♭♪†‡¶����◯���".split("");for(a=0;a!=t[129].length;++a)if(t[129][a].charCodeAt(0)!==65533){r[t[129][a]]=33024+a;e[33024+a]=t[129][a]}t[130]="�������������������������������������������������������������������������������0123456789�������ABCDEFGHIJKLMNOPQRSTUVWXYZ�������abcdefghijklmnopqrstuvwxyz����ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん��������������".split("");for(a=0;a!=t[130].length;++a)if(t[130][a].charCodeAt(0)!==65533){r[t[130][a]]=33280+a;e[33280+a]=t[130][a]}t[131]="����������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミ�ムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ��������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�����������������������������������������".split("");for(a=0;a!=t[131].length;++a)if(t[131][a].charCodeAt(0)!==65533){r[t[131][a]]=33536+a;e[33536+a]=t[131][a]}t[132]="����������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмн�опрстуфхцчшщъыьэюя�������������─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂�����������������������������������������������������������������".split("");for(a=0;a!=t[132].length;++a)if(t[132][a].charCodeAt(0)!==65533){r[t[132][a]]=33792+a;e[33792+a]=t[132][a]}t[135]="����������������������������������������������������������������①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ�㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡��������㍻�〝〟№㏍℡㊤㊥㊦㊧㊨㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪���������������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[135].length;++a)if(t[135][a].charCodeAt(0)!==65533){r[t[135][a]]=34560+a;e[34560+a]=t[135][a]}t[136]="���������������������������������������������������������������������������������������������������������������������������������������������������������������亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭���".split("");for(a=0;a!=t[136].length;++a)if(t[136][a].charCodeAt(0)!==65533){r[t[136][a]]=34816+a;e[34816+a]=t[136][a]}t[137]="����������������������������������������������������������������院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円�園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改���".split("");for(a=0;a!=t[137].length;++a)if(t[137][a].charCodeAt(0)!==65533){r[t[137][a]]=35072+a;e[35072+a]=t[137][a]}t[138]="����������������������������������������������������������������魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫�橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄���".split("");for(a=0;a!=t[138].length;++a)if(t[138][a].charCodeAt(0)!==65533){r[t[138][a]]=35328+a;e[35328+a]=t[138][a]}t[139]="����������������������������������������������������������������機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救�朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈���".split("");for(a=0;a!=t[139].length;++a)if(t[139][a].charCodeAt(0)!==65533){r[t[139][a]]=35584+a;e[35584+a]=t[139][a]}t[140]="����������������������������������������������������������������掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨�劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向���".split("");for(a=0;a!=t[140].length;++a)if(t[140][a].charCodeAt(0)!==65533){r[t[140][a]]=35840+a;e[35840+a]=t[140][a]}t[141]="����������������������������������������������������������������后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降�項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷���".split("");for(a=0;a!=t[141].length;++a)if(t[141][a].charCodeAt(0)!==65533){r[t[141][a]]=36096+a;e[36096+a]=t[141][a]}t[142]="����������������������������������������������������������������察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止�死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周���".split("");for(a=0;a!=t[142].length;++a)if(t[142][a].charCodeAt(0)!==65533){r[t[142][a]]=36352+a;e[36352+a]=t[142][a]}t[143]="����������������������������������������������������������������宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳�準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾���".split("");for(a=0;a!=t[143].length;++a)if(t[143][a].charCodeAt(0)!==65533){r[t[143][a]]=36608+a;e[36608+a]=t[143][a]}t[144]="����������������������������������������������������������������拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨�逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線���".split("");for(a=0;a!=t[144].length;++a)if(t[144][a].charCodeAt(0)!==65533){r[t[144][a]]=36864+a;e[36864+a]=t[144][a]}t[145]="����������������������������������������������������������������繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻�操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只���".split("");for(a=0;a!=t[145].length;++a)if(t[145][a].charCodeAt(0)!==65533){r[t[145][a]]=37120+a;e[37120+a]=t[145][a]}t[146]="����������������������������������������������������������������叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄�逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓���".split("");for(a=0;a!=t[146].length;++a)if(t[146][a].charCodeAt(0)!==65533){r[t[146][a]]=37376+a;e[37376+a]=t[146][a]}t[147]="����������������������������������������������������������������邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬�凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入���".split("");for(a=0;a!=t[147].length;++a)if(t[147][a].charCodeAt(0)!==65533){r[t[147][a]]=37632+a;e[37632+a]=t[147][a]}t[148]="����������������������������������������������������������������如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅�楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美���".split("");for(a=0;a!=t[148].length;++a)if(t[148][a].charCodeAt(0)!==65533){r[t[148][a]]=37888+a;e[37888+a]=t[148][a]}t[149]="����������������������������������������������������������������鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷�斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋���".split("");for(a=0;a!=t[149].length;++a)if(t[149][a].charCodeAt(0)!==65533){r[t[149][a]]=38144+a;e[38144+a]=t[149][a]}t[150]="����������������������������������������������������������������法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆�摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒���".split("");for(a=0;a!=t[150].length;++a)if(t[150][a].charCodeAt(0)!==65533){r[t[150][a]]=38400+a;e[38400+a]=t[150][a]}t[151]="����������������������������������������������������������������諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲�沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯���".split("");for(a=0;a!=t[151].length;++a)if(t[151][a].charCodeAt(0)!==65533){r[t[151][a]]=38656+a;e[38656+a]=t[151][a]}t[152]="����������������������������������������������������������������蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕��������������������������������������������弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲���".split("");for(a=0;a!=t[152].length;++a)if(t[152][a].charCodeAt(0)!==65533){r[t[152][a]]=38912+a;e[38912+a]=t[152][a]}t[153]="����������������������������������������������������������������僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭�凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨���".split("");for(a=0;a!=t[153].length;++a)if(t[153][a].charCodeAt(0)!==65533){r[t[153][a]]=39168+a;e[39168+a]=t[153][a]}t[154]="����������������������������������������������������������������咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸�噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩���".split("");for(a=0;a!=t[154].length;++a)if(t[154][a].charCodeAt(0)!==65533){r[t[154][a]]=39424+a;e[39424+a]=t[154][a]}t[155]="����������������������������������������������������������������奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀�它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏���".split("");for(a=0;a!=t[155].length;++a)if(t[155][a].charCodeAt(0)!==65533){r[t[155][a]]=39680+a;e[39680+a]=t[155][a]}t[156]="����������������������������������������������������������������廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠�怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛���".split("");for(a=0;a!=t[156].length;++a)if(t[156][a].charCodeAt(0)!==65533){r[t[156][a]]=39936+a;e[39936+a]=t[156][a]}t[157]="����������������������������������������������������������������戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫�捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼���".split("");for(a=0;a!=t[157].length;++a)if(t[157][a].charCodeAt(0)!==65533){r[t[157][a]]=40192+a;e[40192+a]=t[157][a]}t[158]="����������������������������������������������������������������曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎�梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣���".split("");for(a=0;a!=t[158].length;++a)if(t[158][a].charCodeAt(0)!==65533){r[t[158][a]]=40448+a;e[40448+a]=t[158][a]}t[159]="����������������������������������������������������������������檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯�麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌���".split("");for(a=0;a!=t[159].length;++a)if(t[159][a].charCodeAt(0)!==65533){r[t[159][a]]=40704+a;e[40704+a]=t[159][a]}t[224]="����������������������������������������������������������������漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝�烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱���".split("");for(a=0;a!=t[224].length;++a)if(t[224][a].charCodeAt(0)!==65533){r[t[224][a]]=57344+a;e[57344+a]=t[224][a]}t[225]="����������������������������������������������������������������瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿�痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬���".split("");for(a=0;a!=t[225].length;++a)if(t[225][a].charCodeAt(0)!==65533){r[t[225][a]]=57600+a;e[57600+a]=t[225][a]}t[226]="����������������������������������������������������������������磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰�窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆���".split("");for(a=0;a!=t[226].length;++a)if(t[226][a].charCodeAt(0)!==65533){r[t[226][a]]=57856+a;e[57856+a]=t[226][a]}t[227]="����������������������������������������������������������������紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷�縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋���".split("");for(a=0;a!=t[227].length;++a)if(t[227][a].charCodeAt(0)!==65533){r[t[227][a]]=58112+a;e[58112+a]=t[227][a]}t[228]="����������������������������������������������������������������隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤�艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈���".split("");for(a=0;a!=t[228].length;++a)if(t[228][a].charCodeAt(0)!==65533){r[t[228][a]]=58368+a;e[58368+a]=t[228][a]}t[229]="����������������������������������������������������������������蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬�蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞���".split("");for(a=0;a!=t[229].length;++a)if(t[229][a].charCodeAt(0)!==65533){r[t[229][a]]=58624+a;e[58624+a]=t[229][a]}t[230]="����������������������������������������������������������������襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧�諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊���".split("");for(a=0;a!=t[230].length;++a)if(t[230][a].charCodeAt(0)!==65533){r[t[230][a]]=58880+a;e[58880+a]=t[230][a]}t[231]="����������������������������������������������������������������蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜�轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮���".split("");for(a=0;a!=t[231].length;++a)if(t[231][a].charCodeAt(0)!==65533){r[t[231][a]]=59136+a;e[59136+a]=t[231][a]}t[232]="����������������������������������������������������������������錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙�閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰���".split("");for(a=0;a!=t[232].length;++a)if(t[232][a].charCodeAt(0)!==65533){r[t[232][a]]=59392+a;e[59392+a]=t[232][a]}t[233]="����������������������������������������������������������������顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃�騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈���".split("");for(a=0;a!=t[233].length;++a)if(t[233][a].charCodeAt(0)!==65533){r[t[233][a]]=59648+a;e[59648+a]=t[233][a]}t[234]="����������������������������������������������������������������鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯�黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠堯槇遙瑤凜熙�������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[234].length;++a)if(t[234][a].charCodeAt(0)!==65533){r[t[234][a]]=59904+a;e[59904+a]=t[234][a]}t[237]="����������������������������������������������������������������纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏�塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱���".split("");for(a=0;a!=t[237].length;++a)if(t[237][a].charCodeAt(0)!==65533){r[t[237][a]]=60672+a;e[60672+a]=t[237][a]}t[238]="����������������������������������������������������������������犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙�蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑��ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ¬¦'"���".split("");for(a=0;a!=t[238].length;++a)if(t[238][a].charCodeAt(0)!==65533){r[t[238][a]]=60928+a;e[60928+a]=t[238][a]}t[250]="����������������������������������������������������������������ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ¬¦'"㈱№℡∵纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊�兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯���".split("");for(a=0;a!=t[250].length;++a)if(t[250][a].charCodeAt(0)!==65533){r[t[250][a]]=64e3+a;e[64e3+a]=t[250][a]}t[251]="����������������������������������������������������������������涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神�祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙���".split("");for(a=0;a!=t[251].length;++a)if(t[251][a].charCodeAt(0)!==65533){r[t[251][a]]=64256+a;e[64256+a]=t[251][a]}t[252]="����������������������������������������������������������������髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[252].length;++a)if(t[252][a].charCodeAt(0)!==65533){r[t[252][a]]=64512+a;e[64512+a]=t[252][a]}return{enc:r,dec:e}}();cptable[936]=function(){var e=[],r={},t=[],a;t[0]="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�������������������������������������������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[0].length;++a)if(t[0][a].charCodeAt(0)!==65533){r[t[0][a]]=0+a;e[0+a]=t[0][a]}t[129]="����������������������������������������������������������������丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳丵丷丼乀乁乂乄乆乊乑乕乗乚乛乢乣乤乥乧乨乪乫乬乭乮乯乲乴乵乶乷乸乹乺乻乼乽乿亀亁亂亃亄亅亇亊�亐亖亗亙亜亝亞亣亪亯亰亱亴亶亷亸亹亼亽亾仈仌仏仐仒仚仛仜仠仢仦仧仩仭仮仯仱仴仸仹仺仼仾伀伂伃伄伅伆伇伈伋伌伒伓伔伕伖伜伝伡伣伨伩伬伭伮伱伳伵伷伹伻伾伿佀佁佂佄佅佇佈佉佊佋佌佒佔佖佡佢佦佨佪佫佭佮佱佲併佷佸佹佺佽侀侁侂侅來侇侊侌侎侐侒侓侕侖侘侙侚侜侞侟価侢�".split("");for(a=0;a!=t[129].length;++a)if(t[129][a].charCodeAt(0)!==65533){r[t[129][a]]=33024+a;e[33024+a]=t[129][a]}t[130]="����������������������������������������������������������������侤侫侭侰侱侲侳侴侶侷侸侹侺侻侼侽侾俀俁係俆俇俈俉俋俌俍俒俓俔俕俖俙俛俠俢俤俥俧俫俬俰俲俴俵俶俷俹俻俼俽俿倀倁倂倃倄倅倆倇倈倉倊�個倎倐們倓倕倖倗倛倝倞倠倢倣値倧倫倯倰倱倲倳倴倵倶倷倸倹倻倽倿偀偁偂偄偅偆偉偊偋偍偐偑偒偓偔偖偗偘偙偛偝偞偟偠偡偢偣偤偦偧偨偩偪偫偭偮偯偰偱偲偳側偵偸偹偺偼偽傁傂傃傄傆傇傉傊傋傌傎傏傐傑傒傓傔傕傖傗傘備傚傛傜傝傞傟傠傡傢傤傦傪傫傭傮傯傰傱傳傴債傶傷傸傹傼�".split("");for(a=0;a!=t[130].length;++a)if(t[130][a].charCodeAt(0)!==65533){r[t[130][a]]=33280+a;e[33280+a]=t[130][a]}t[131]="����������������������������������������������������������������傽傾傿僀僁僂僃僄僅僆僇僈僉僊僋僌働僎僐僑僒僓僔僕僗僘僙僛僜僝僞僟僠僡僢僣僤僥僨僩僪僫僯僰僱僲僴僶僷僸價僺僼僽僾僿儀儁儂儃億儅儈�儉儊儌儍儎儏儐儑儓儔儕儖儗儘儙儚儛儜儝儞償儠儢儣儤儥儦儧儨儩優儫儬儭儮儯儰儱儲儳儴儵儶儷儸儹儺儻儼儽儾兂兇兊兌兎兏児兒兓兗兘兙兛兝兞兟兠兡兣兤兦內兩兪兯兲兺兾兿冃冄円冇冊冋冎冏冐冑冓冔冘冚冝冞冟冡冣冦冧冨冩冪冭冮冴冸冹冺冾冿凁凂凃凅凈凊凍凎凐凒凓凔凕凖凗�".split("");for(a=0;a!=t[131].length;++a)if(t[131][a].charCodeAt(0)!==65533){r[t[131][a]]=33536+a;e[33536+a]=t[131][a]}t[132]="����������������������������������������������������������������凘凙凚凜凞凟凢凣凥処凧凨凩凪凬凮凱凲凴凷凾刄刅刉刋刌刏刐刓刔刕刜刞刟刡刢刣別刦刧刪刬刯刱刲刴刵刼刾剄剅剆則剈剉剋剎剏剒剓剕剗剘�剙剚剛剝剟剠剢剣剤剦剨剫剬剭剮剰剱剳剴創剶剷剸剹剺剻剼剾劀劃劄劅劆劇劉劊劋劌劍劎劏劑劒劔劕劖劗劘劙劚劜劤劥劦劧劮劯劰労劵劶劷劸効劺劻劼劽勀勁勂勄勅勆勈勊勌勍勎勏勑勓勔動勗務勚勛勜勝勞勠勡勢勣勥勦勧勨勩勪勫勬勭勮勯勱勲勳勴勵勶勷勸勻勼勽匁匂匃匄匇匉匊匋匌匎�".split("");for(a=0;a!=t[132].length;++a)if(t[132][a].charCodeAt(0)!==65533){r[t[132][a]]=33792+a;e[33792+a]=t[132][a]}t[133]="����������������������������������������������������������������匑匒匓匔匘匛匜匞匟匢匤匥匧匨匩匫匬匭匯匰匱匲匳匴匵匶匷匸匼匽區卂卄卆卋卌卍卐協単卙卛卝卥卨卪卬卭卲卶卹卻卼卽卾厀厁厃厇厈厊厎厏�厐厑厒厓厔厖厗厙厛厜厞厠厡厤厧厪厫厬厭厯厰厱厲厳厴厵厷厸厹厺厼厽厾叀參叄叅叆叇収叏叐叒叓叕叚叜叝叞叡叢叧叴叺叾叿吀吂吅吇吋吔吘吙吚吜吢吤吥吪吰吳吶吷吺吽吿呁呂呄呅呇呉呌呍呎呏呑呚呝呞呟呠呡呣呥呧呩呪呫呬呭呮呯呰呴呹呺呾呿咁咃咅咇咈咉咊咍咑咓咗咘咜咞咟咠咡�".split("");for(a=0;a!=t[133].length;++a)if(t[133][a].charCodeAt(0)!==65533){r[t[133][a]]=34048+a;e[34048+a]=t[133][a]}t[134]="����������������������������������������������������������������咢咥咮咰咲咵咶咷咹咺咼咾哃哅哊哋哖哘哛哠員哢哣哤哫哬哯哰哱哴哵哶哷哸哹哻哾唀唂唃唄唅唈唊唋唌唍唎唒唓唕唖唗唘唙唚唜唝唞唟唡唥唦�唨唩唫唭唲唴唵唶唸唹唺唻唽啀啂啅啇啈啋啌啍啎問啑啒啓啔啗啘啙啚啛啝啞啟啠啢啣啨啩啫啯啰啱啲啳啴啹啺啽啿喅喆喌喍喎喐喒喓喕喖喗喚喛喞喠喡喢喣喤喥喦喨喩喪喫喬喭單喯喰喲喴営喸喺喼喿嗀嗁嗂嗃嗆嗇嗈嗊嗋嗎嗏嗐嗕嗗嗘嗙嗚嗛嗞嗠嗢嗧嗩嗭嗮嗰嗱嗴嗶嗸嗹嗺嗻嗼嗿嘂嘃嘄嘅�".split("");for(a=0;a!=t[134].length;++a)if(t[134][a].charCodeAt(0)!==65533){r[t[134][a]]=34304+a;e[34304+a]=t[134][a]}t[135]="����������������������������������������������������������������嘆嘇嘊嘋嘍嘐嘑嘒嘓嘔嘕嘖嘗嘙嘚嘜嘝嘠嘡嘢嘥嘦嘨嘩嘪嘫嘮嘯嘰嘳嘵嘷嘸嘺嘼嘽嘾噀噁噂噃噄噅噆噇噈噉噊噋噏噐噑噒噓噕噖噚噛噝噞噟噠噡�噣噥噦噧噭噮噯噰噲噳噴噵噷噸噹噺噽噾噿嚀嚁嚂嚃嚄嚇嚈嚉嚊嚋嚌嚍嚐嚑嚒嚔嚕嚖嚗嚘嚙嚚嚛嚜嚝嚞嚟嚠嚡嚢嚤嚥嚦嚧嚨嚩嚪嚫嚬嚭嚮嚰嚱嚲嚳嚴嚵嚶嚸嚹嚺嚻嚽嚾嚿囀囁囂囃囄囅囆囇囈囉囋囌囍囎囏囐囑囒囓囕囖囘囙囜団囥囦囧囨囩囪囬囮囯囲図囶囷囸囻囼圀圁圂圅圇國圌圍圎圏圐圑�".split("");for(a=0;a!=t[135].length;++a)if(t[135][a].charCodeAt(0)!==65533){r[t[135][a]]=34560+a;e[34560+a]=t[135][a]}t[136]="����������������������������������������������������������������園圓圔圕圖圗團圙圚圛圝圞圠圡圢圤圥圦圧圫圱圲圴圵圶圷圸圼圽圿坁坃坄坅坆坈坉坋坒坓坔坕坖坘坙坢坣坥坧坬坮坰坱坲坴坵坸坹坺坽坾坿垀�垁垇垈垉垊垍垎垏垐垑垔垕垖垗垘垙垚垜垝垞垟垥垨垪垬垯垰垱垳垵垶垷垹垺垻垼垽垾垿埀埁埄埅埆埇埈埉埊埌埍埐埑埓埖埗埛埜埞埡埢埣埥埦埧埨埩埪埫埬埮埰埱埲埳埵埶執埻埼埾埿堁堃堄堅堈堉堊堌堎堏堐堒堓堔堖堗堘堚堛堜堝堟堢堣堥堦堧堨堩堫堬堭堮堯報堲堳場堶堷堸堹堺堻堼堽�".split("");for(a=0;a!=t[136].length;++a)if(t[136][a].charCodeAt(0)!==65533){r[t[136][a]]=34816+a;e[34816+a]=t[136][a]}t[137]="����������������������������������������������������������������堾堿塀塁塂塃塅塆塇塈塉塊塋塎塏塐塒塓塕塖塗塙塚塛塜塝塟塠塡塢塣塤塦塧塨塩塪塭塮塯塰塱塲塳塴塵塶塷塸塹塺塻塼塽塿墂墄墆墇墈墊墋墌�墍墎墏墐墑墔墕墖増墘墛墜墝墠墡墢墣墤墥墦墧墪墫墬墭墮墯墰墱墲墳墴墵墶墷墸墹墺墻墽墾墿壀壂壃壄壆壇壈壉壊壋壌壍壎壏壐壒壓壔壖壗壘壙壚壛壜壝壞壟壠壡壢壣壥壦壧壨壩壪壭壯壱売壴壵壷壸壺壻壼壽壾壿夀夁夃夅夆夈変夊夋夌夎夐夑夒夓夗夘夛夝夞夠夡夢夣夦夨夬夰夲夳夵夶夻�".split("");for(a=0;a!=t[137].length;++a)if(t[137][a].charCodeAt(0)!==65533){r[t[137][a]]=35072+a;e[35072+a]=t[137][a]}t[138]="����������������������������������������������������������������夽夾夿奀奃奅奆奊奌奍奐奒奓奙奛奜奝奞奟奡奣奤奦奧奨奩奪奫奬奭奮奯奰奱奲奵奷奺奻奼奾奿妀妅妉妋妌妎妏妐妑妔妕妘妚妛妜妝妟妠妡妢妦�妧妬妭妰妱妳妴妵妶妷妸妺妼妽妿姀姁姂姃姄姅姇姈姉姌姍姎姏姕姖姙姛姞姟姠姡姢姤姦姧姩姪姫姭姮姯姰姱姲姳姴姵姶姷姸姺姼姽姾娀娂娊娋娍娎娏娐娒娔娕娖娗娙娚娛娝娞娡娢娤娦娧娨娪娫娬娭娮娯娰娳娵娷娸娹娺娻娽娾娿婁婂婃婄婅婇婈婋婌婍婎婏婐婑婒婓婔婖婗婘婙婛婜婝婞婟婠�".split("");for(a=0;a!=t[138].length;++a)if(t[138][a].charCodeAt(0)!==65533){r[t[138][a]]=35328+a;e[35328+a]=t[138][a]}t[139]="����������������������������������������������������������������婡婣婤婥婦婨婩婫婬婭婮婯婰婱婲婳婸婹婻婼婽婾媀媁媂媃媄媅媆媇媈媉媊媋媌媍媎媏媐媑媓媔媕媖媗媘媙媜媝媞媟媠媡媢媣媤媥媦媧媨媩媫媬�媭媮媯媰媱媴媶媷媹媺媻媼媽媿嫀嫃嫄嫅嫆嫇嫈嫊嫋嫍嫎嫏嫐嫑嫓嫕嫗嫙嫚嫛嫝嫞嫟嫢嫤嫥嫧嫨嫪嫬嫭嫮嫯嫰嫲嫳嫴嫵嫶嫷嫸嫹嫺嫻嫼嫽嫾嫿嬀嬁嬂嬃嬄嬅嬆嬇嬈嬊嬋嬌嬍嬎嬏嬐嬑嬒嬓嬔嬕嬘嬙嬚嬛嬜嬝嬞嬟嬠嬡嬢嬣嬤嬥嬦嬧嬨嬩嬪嬫嬬嬭嬮嬯嬰嬱嬳嬵嬶嬸嬹嬺嬻嬼嬽嬾嬿孁孂孃孄孅孆孇�".split("");for(a=0;a!=t[139].length;++a)if(t[139][a].charCodeAt(0)!==65533){r[t[139][a]]=35584+a;e[35584+a]=t[139][a]}t[140]="����������������������������������������������������������������孈孉孊孋孌孍孎孏孒孖孞孠孡孧孨孫孭孮孯孲孴孶孷學孹孻孼孾孿宂宆宊宍宎宐宑宒宔宖実宧宨宩宬宭宮宯宱宲宷宺宻宼寀寁寃寈寉寊寋寍寎寏�寑寔寕寖寗寘寙寚寛寜寠寢寣實寧審寪寫寬寭寯寱寲寳寴寵寶寷寽対尀専尃尅將專尋尌對導尐尒尓尗尙尛尞尟尠尡尣尦尨尩尪尫尭尮尯尰尲尳尵尶尷屃屄屆屇屌屍屒屓屔屖屗屘屚屛屜屝屟屢層屧屨屩屪屫屬屭屰屲屳屴屵屶屷屸屻屼屽屾岀岃岄岅岆岇岉岊岋岎岏岒岓岕岝岞岟岠岡岤岥岦岧岨�".split("");for(a=0;a!=t[140].length;++a)if(t[140][a].charCodeAt(0)!==65533){r[t[140][a]]=35840+a;e[35840+a]=t[140][a]}t[141]="����������������������������������������������������������������岪岮岯岰岲岴岶岹岺岻岼岾峀峂峃峅峆峇峈峉峊峌峍峎峏峐峑峓峔峕峖峗峘峚峛峜峝峞峟峠峢峣峧峩峫峬峮峯峱峲峳峴峵島峷峸峹峺峼峽峾峿崀�崁崄崅崈崉崊崋崌崍崏崐崑崒崓崕崗崘崙崚崜崝崟崠崡崢崣崥崨崪崫崬崯崰崱崲崳崵崶崷崸崹崺崻崼崿嵀嵁嵂嵃嵄嵅嵆嵈嵉嵍嵎嵏嵐嵑嵒嵓嵔嵕嵖嵗嵙嵚嵜嵞嵟嵠嵡嵢嵣嵤嵥嵦嵧嵨嵪嵭嵮嵰嵱嵲嵳嵵嵶嵷嵸嵹嵺嵻嵼嵽嵾嵿嶀嶁嶃嶄嶅嶆嶇嶈嶉嶊嶋嶌嶍嶎嶏嶐嶑嶒嶓嶔嶕嶖嶗嶘嶚嶛嶜嶞嶟嶠�".split("");for(a=0;a!=t[141].length;++a)if(t[141][a].charCodeAt(0)!==65533){r[t[141][a]]=36096+a;e[36096+a]=t[141][a]}t[142]="����������������������������������������������������������������嶡嶢嶣嶤嶥嶦嶧嶨嶩嶪嶫嶬嶭嶮嶯嶰嶱嶲嶳嶴嶵嶶嶸嶹嶺嶻嶼嶽嶾嶿巀巁巂巃巄巆巇巈巉巊巋巌巎巏巐巑巒巓巔巕巖巗巘巙巚巜巟巠巣巤巪巬巭�巰巵巶巸巹巺巻巼巿帀帄帇帉帊帋帍帎帒帓帗帞帟帠帡帢帣帤帥帨帩帪師帬帯帰帲帳帴帵帶帹帺帾帿幀幁幃幆幇幈幉幊幋幍幎幏幐幑幒幓幖幗幘幙幚幜幝幟幠幣幤幥幦幧幨幩幪幫幬幭幮幯幰幱幵幷幹幾庁庂広庅庈庉庌庍庎庒庘庛庝庡庢庣庤庨庩庪庫庬庮庯庰庱庲庴庺庻庼庽庿廀廁廂廃廄廅�".split("");for(a=0;a!=t[142].length;++a)if(t[142][a].charCodeAt(0)!==65533){r[t[142][a]]=36352+a;e[36352+a]=t[142][a]}t[143]="����������������������������������������������������������������廆廇廈廋廌廍廎廏廐廔廕廗廘廙廚廜廝廞廟廠廡廢廣廤廥廦廧廩廫廬廭廮廯廰廱廲廳廵廸廹廻廼廽弅弆弇弉弌弍弎弐弒弔弖弙弚弜弝弞弡弢弣弤�弨弫弬弮弰弲弳弴張弶強弸弻弽弾弿彁彂彃彄彅彆彇彈彉彊彋彌彍彎彏彑彔彙彚彛彜彞彟彠彣彥彧彨彫彮彯彲彴彵彶彸彺彽彾彿徃徆徍徎徏徑従徔徖徚徛徝從徟徠徢徣徤徥徦徧復徫徬徯徰徱徲徳徴徶徸徹徺徻徾徿忀忁忂忇忈忊忋忎忓忔忕忚忛応忞忟忢忣忥忦忨忩忬忯忰忲忳忴忶忷忹忺忼怇�".split("");for(a=0;a!=t[143].length;++a)if(t[143][a].charCodeAt(0)!==65533){r[t[143][a]]=36608+a;e[36608+a]=t[143][a]}t[144]="����������������������������������������������������������������怈怉怋怌怐怑怓怗怘怚怞怟怢怣怤怬怭怮怰怱怲怳怴怶怷怸怹怺怽怾恀恄恅恆恇恈恉恊恌恎恏恑恓恔恖恗恘恛恜恞恟恠恡恥恦恮恱恲恴恵恷恾悀�悁悂悅悆悇悈悊悋悎悏悐悑悓悕悗悘悙悜悞悡悢悤悥悧悩悪悮悰悳悵悶悷悹悺悽悾悿惀惁惂惃惄惇惈惉惌惍惎惏惐惒惓惔惖惗惙惛惞惡惢惣惤惥惪惱惲惵惷惸惻惼惽惾惿愂愃愄愅愇愊愋愌愐愑愒愓愔愖愗愘愙愛愜愝愞愡愢愥愨愩愪愬愭愮愯愰愱愲愳愴愵愶愷愸愹愺愻愼愽愾慀慁慂慃慄慅慆�".split("");for(a=0;a!=t[144].length;++a)if(t[144][a].charCodeAt(0)!==65533){r[t[144][a]]=36864+a;e[36864+a]=t[144][a]}t[145]="����������������������������������������������������������������慇慉態慍慏慐慒慓慔慖慗慘慙慚慛慜慞慟慠慡慣慤慥慦慩慪慫慬慭慮慯慱慲慳慴慶慸慹慺慻慼慽慾慿憀憁憂憃憄憅憆憇憈憉憊憌憍憏憐憑憒憓憕�憖憗憘憙憚憛憜憞憟憠憡憢憣憤憥憦憪憫憭憮憯憰憱憲憳憴憵憶憸憹憺憻憼憽憿懀懁懃懄懅懆懇應懌懍懎懏懐懓懕懖懗懘懙懚懛懜懝懞懟懠懡懢懣懤懥懧懨懩懪懫懬懭懮懯懰懱懲懳懴懶懷懸懹懺懻懼懽懾戀戁戂戃戄戅戇戉戓戔戙戜戝戞戠戣戦戧戨戩戫戭戯戰戱戲戵戶戸戹戺戻戼扂扄扅扆扊�".split("");for(a=0;a!=t[145].length;++a)if(t[145][a].charCodeAt(0)!==65533){r[t[145][a]]=37120+a;e[37120+a]=t[145][a]}t[146]="����������������������������������������������������������������扏扐払扖扗扙扚扜扝扞扟扠扡扢扤扥扨扱扲扴扵扷扸扺扻扽抁抂抃抅抆抇抈抋抌抍抎抏抐抔抙抜抝択抣抦抧抩抪抭抮抯抰抲抳抴抶抷抸抺抾拀拁�拃拋拏拑拕拝拞拠拡拤拪拫拰拲拵拸拹拺拻挀挃挄挅挆挊挋挌挍挏挐挒挓挔挕挗挘挙挜挦挧挩挬挭挮挰挱挳挴挵挶挷挸挻挼挾挿捀捁捄捇捈捊捑捒捓捔捖捗捘捙捚捛捜捝捠捤捥捦捨捪捫捬捯捰捲捳捴捵捸捹捼捽捾捿掁掃掄掅掆掋掍掑掓掔掕掗掙掚掛掜掝掞掟採掤掦掫掯掱掲掵掶掹掻掽掿揀�".split("");for(a=0;a!=t[146].length;++a)if(t[146][a].charCodeAt(0)!==65533){r[t[146][a]]=37376+a;e[37376+a]=t[146][a]}t[147]="����������������������������������������������������������������揁揂揃揅揇揈揊揋揌揑揓揔揕揗揘揙揚換揜揝揟揢揤揥揦揧揨揫揬揮揯揰揱揳揵揷揹揺揻揼揾搃搄搆搇搈搉搊損搎搑搒搕搖搗搘搙搚搝搟搢搣搤�搥搧搨搩搫搮搯搰搱搲搳搵搶搷搸搹搻搼搾摀摂摃摉摋摌摍摎摏摐摑摓摕摖摗摙摚摛摜摝摟摠摡摢摣摤摥摦摨摪摫摬摮摯摰摱摲摳摴摵摶摷摻摼摽摾摿撀撁撃撆撈撉撊撋撌撍撎撏撐撓撔撗撘撚撛撜撝撟撠撡撢撣撥撦撧撨撪撫撯撱撲撳撴撶撹撻撽撾撿擁擃擄擆擇擈擉擊擋擌擏擑擓擔擕擖擙據�".split("");for(a=0;a!=t[147].length;++a)if(t[147][a].charCodeAt(0)!==65533){r[t[147][a]]=37632+a;e[37632+a]=t[147][a]}t[148]="����������������������������������������������������������������擛擜擝擟擠擡擣擥擧擨擩擪擫擬擭擮擯擰擱擲擳擴擵擶擷擸擹擺擻擼擽擾擿攁攂攃攄攅攆攇攈攊攋攌攍攎攏攐攑攓攔攕攖攗攙攚攛攜攝攞攟攠攡�攢攣攤攦攧攨攩攪攬攭攰攱攲攳攷攺攼攽敀敁敂敃敄敆敇敊敋敍敎敐敒敓敔敗敘敚敜敟敠敡敤敥敧敨敩敪敭敮敯敱敳敵敶數敹敺敻敼敽敾敿斀斁斂斃斄斅斆斈斉斊斍斎斏斒斔斕斖斘斚斝斞斠斢斣斦斨斪斬斮斱斲斳斴斵斶斷斸斺斻斾斿旀旂旇旈旉旊旍旐旑旓旔旕旘旙旚旛旜旝旞旟旡旣旤旪旫�".split("");for(a=0;a!=t[148].length;++a)if(t[148][a].charCodeAt(0)!==65533){r[t[148][a]]=37888+a;e[37888+a]=t[148][a]}t[149]="����������������������������������������������������������������旲旳旴旵旸旹旻旼旽旾旿昁昄昅昇昈昉昋昍昐昑昒昖昗昘昚昛昜昞昡昢昣昤昦昩昪昫昬昮昰昲昳昷昸昹昺昻昽昿晀時晄晅晆晇晈晉晊晍晎晐晑晘�晙晛晜晝晞晠晢晣晥晧晩晪晫晬晭晱晲晳晵晸晹晻晼晽晿暀暁暃暅暆暈暉暊暋暍暎暏暐暒暓暔暕暘暙暚暛暜暞暟暠暡暢暣暤暥暦暩暪暫暬暭暯暰暱暲暳暵暶暷暸暺暻暼暽暿曀曁曂曃曄曅曆曇曈曉曊曋曌曍曎曏曐曑曒曓曔曕曖曗曘曚曞曟曠曡曢曣曤曥曧曨曪曫曬曭曮曯曱曵曶書曺曻曽朁朂會�".split("");for(a=0;a!=t[149].length;++a)if(t[149][a].charCodeAt(0)!==65533){r[t[149][a]]=38144+a;e[38144+a]=t[149][a]}t[150]="����������������������������������������������������������������朄朅朆朇朌朎朏朑朒朓朖朘朙朚朜朞朠朡朢朣朤朥朧朩朮朰朲朳朶朷朸朹朻朼朾朿杁杄杅杇杊杋杍杒杔杕杗杘杙杚杛杝杢杣杤杦杧杫杬杮東杴杶�杸杹杺杻杽枀枂枃枅枆枈枊枌枍枎枏枑枒枓枔枖枙枛枟枠枡枤枦枩枬枮枱枲枴枹枺枻枼枽枾枿柀柂柅柆柇柈柉柊柋柌柍柎柕柖柗柛柟柡柣柤柦柧柨柪柫柭柮柲柵柶柷柸柹柺査柼柾栁栂栃栄栆栍栐栒栔栕栘栙栚栛栜栞栟栠栢栣栤栥栦栧栨栫栬栭栮栯栰栱栴栵栶栺栻栿桇桋桍桏桒桖桗桘桙桚桛�".split("");for(a=0;a!=t[150].length;++a)if(t[150][a].charCodeAt(0)!==65533){r[t[150][a]]=38400+a;e[38400+a]=t[150][a]}t[151]="����������������������������������������������������������������桜桝桞桟桪桬桭桮桯桰桱桲桳桵桸桹桺桻桼桽桾桿梀梂梄梇梈梉梊梋梌梍梎梐梑梒梔梕梖梘梙梚梛梜條梞梟梠梡梣梤梥梩梪梫梬梮梱梲梴梶梷梸�梹梺梻梼梽梾梿棁棃棄棅棆棇棈棊棌棎棏棐棑棓棔棖棗棙棛棜棝棞棟棡棢棤棥棦棧棨棩棪棫棬棭棯棲棳棴棶棷棸棻棽棾棿椀椂椃椄椆椇椈椉椊椌椏椑椓椔椕椖椗椘椙椚椛検椝椞椡椢椣椥椦椧椨椩椪椫椬椮椯椱椲椳椵椶椷椸椺椻椼椾楀楁楃楄楅楆楇楈楉楊楋楌楍楎楏楐楑楒楓楕楖楘楙楛楜楟�".split("");for(a=0;a!=t[151].length;++a)if(t[151][a].charCodeAt(0)!==65533){r[t[151][a]]=38656+a;e[38656+a]=t[151][a]}t[152]="����������������������������������������������������������������楡楢楤楥楧楨楩楪楬業楯楰楲楳楴極楶楺楻楽楾楿榁榃榅榊榋榌榎榏榐榑榒榓榖榗榙榚榝榞榟榠榡榢榣榤榥榦榩榪榬榮榯榰榲榳榵榶榸榹榺榼榽�榾榿槀槂槃槄槅槆槇槈槉構槍槏槑槒槓槕槖槗様槙槚槜槝槞槡槢槣槤槥槦槧槨槩槪槫槬槮槯槰槱槳槴槵槶槷槸槹槺槻槼槾樀樁樂樃樄樅樆樇樈樉樋樌樍樎樏樐樑樒樓樔樕樖標樚樛樜樝樞樠樢樣樤樥樦樧権樫樬樭樮樰樲樳樴樶樷樸樹樺樻樼樿橀橁橂橃橅橆橈橉橊橋橌橍橎橏橑橒橓橔橕橖橗橚�".split("");for(a=0;a!=t[152].length;++a)if(t[152][a].charCodeAt(0)!==65533){r[t[152][a]]=38912+a;e[38912+a]=t[152][a]; +}t[153]="����������������������������������������������������������������橜橝橞機橠橢橣橤橦橧橨橩橪橫橬橭橮橯橰橲橳橴橵橶橷橸橺橻橽橾橿檁檂檃檅檆檇檈檉檊檋檌檍檏檒檓檔檕檖檘檙檚檛檜檝檞檟檡檢檣檤檥檦�檧檨檪檭檮檯檰檱檲檳檴檵檶檷檸檹檺檻檼檽檾檿櫀櫁櫂櫃櫄櫅櫆櫇櫈櫉櫊櫋櫌櫍櫎櫏櫐櫑櫒櫓櫔櫕櫖櫗櫘櫙櫚櫛櫜櫝櫞櫟櫠櫡櫢櫣櫤櫥櫦櫧櫨櫩櫪櫫櫬櫭櫮櫯櫰櫱櫲櫳櫴櫵櫶櫷櫸櫹櫺櫻櫼櫽櫾櫿欀欁欂欃欄欅欆欇欈欉權欋欌欍欎欏欐欑欒欓欔欕欖欗欘欙欚欛欜欝欞欟欥欦欨欩欪欫欬欭欮�".split("");for(a=0;a!=t[153].length;++a)if(t[153][a].charCodeAt(0)!==65533){r[t[153][a]]=39168+a;e[39168+a]=t[153][a]}t[154]="����������������������������������������������������������������欯欰欱欳欴欵欶欸欻欼欽欿歀歁歂歄歅歈歊歋歍歎歏歐歑歒歓歔歕歖歗歘歚歛歜歝歞歟歠歡歨歩歫歬歭歮歯歰歱歲歳歴歵歶歷歸歺歽歾歿殀殅殈�殌殎殏殐殑殔殕殗殘殙殜殝殞殟殠殢殣殤殥殦殧殨殩殫殬殭殮殯殰殱殲殶殸殹殺殻殼殽殾毀毃毄毆毇毈毉毊毌毎毐毑毘毚毜毝毞毟毠毢毣毤毥毦毧毨毩毬毭毮毰毱毲毴毶毷毸毺毻毼毾毿氀氁氂氃氄氈氉氊氋氌氎氒気氜氝氞氠氣氥氫氬氭氱氳氶氷氹氺氻氼氾氿汃汄汅汈汋汌汍汎汏汑汒汓汖汘�".split("");for(a=0;a!=t[154].length;++a)if(t[154][a].charCodeAt(0)!==65533){r[t[154][a]]=39424+a;e[39424+a]=t[154][a]}t[155]="����������������������������������������������������������������汙汚汢汣汥汦汧汫汬汭汮汯汱汳汵汷汸決汻汼汿沀沄沇沊沋沍沎沑沒沕沖沗沘沚沜沝沞沠沢沨沬沯沰沴沵沶沷沺泀況泂泃泆泇泈泋泍泎泏泑泒泘�泙泚泜泝泟泤泦泧泩泬泭泲泴泹泿洀洂洃洅洆洈洉洊洍洏洐洑洓洔洕洖洘洜洝洟洠洡洢洣洤洦洨洩洬洭洯洰洴洶洷洸洺洿浀浂浄浉浌浐浕浖浗浘浛浝浟浡浢浤浥浧浨浫浬浭浰浱浲浳浵浶浹浺浻浽浾浿涀涁涃涄涆涇涊涋涍涏涐涒涖涗涘涙涚涜涢涥涬涭涰涱涳涴涶涷涹涺涻涼涽涾淁淂淃淈淉淊�".split("");for(a=0;a!=t[155].length;++a)if(t[155][a].charCodeAt(0)!==65533){r[t[155][a]]=39680+a;e[39680+a]=t[155][a]}t[156]="����������������������������������������������������������������淍淎淏淐淒淓淔淕淗淚淛淜淟淢淣淥淧淨淩淪淭淯淰淲淴淵淶淸淺淽淾淿渀渁渂渃渄渆渇済渉渋渏渒渓渕渘渙減渜渞渟渢渦渧渨渪測渮渰渱渳渵�渶渷渹渻渼渽渾渿湀湁湂湅湆湇湈湉湊湋湌湏湐湑湒湕湗湙湚湜湝湞湠湡湢湣湤湥湦湧湨湩湪湬湭湯湰湱湲湳湴湵湶湷湸湹湺湻湼湽満溁溂溄溇溈溊溋溌溍溎溑溒溓溔溕準溗溙溚溛溝溞溠溡溣溤溦溨溩溫溬溭溮溰溳溵溸溹溼溾溿滀滃滄滅滆滈滉滊滌滍滎滐滒滖滘滙滛滜滝滣滧滪滫滬滭滮滯�".split("");for(a=0;a!=t[156].length;++a)if(t[156][a].charCodeAt(0)!==65533){r[t[156][a]]=39936+a;e[39936+a]=t[156][a]}t[157]="����������������������������������������������������������������滰滱滲滳滵滶滷滸滺滻滼滽滾滿漀漁漃漄漅漇漈漊漋漌漍漎漐漑漒漖漗漘漙漚漛漜漝漞漟漡漢漣漥漦漧漨漬漮漰漲漴漵漷漸漹漺漻漼漽漿潀潁潂�潃潄潅潈潉潊潌潎潏潐潑潒潓潔潕潖潗潙潚潛潝潟潠潡潣潤潥潧潨潩潪潫潬潯潰潱潳潵潶潷潹潻潽潾潿澀澁澂澃澅澆澇澊澋澏澐澑澒澓澔澕澖澗澘澙澚澛澝澞澟澠澢澣澤澥澦澨澩澪澫澬澭澮澯澰澱澲澴澵澷澸澺澻澼澽澾澿濁濃濄濅濆濇濈濊濋濌濍濎濏濐濓濔濕濖濗濘濙濚濛濜濝濟濢濣濤濥�".split("");for(a=0;a!=t[157].length;++a)if(t[157][a].charCodeAt(0)!==65533){r[t[157][a]]=40192+a;e[40192+a]=t[157][a]}t[158]="����������������������������������������������������������������濦濧濨濩濪濫濬濭濰濱濲濳濴濵濶濷濸濹濺濻濼濽濾濿瀀瀁瀂瀃瀄瀅瀆瀇瀈瀉瀊瀋瀌瀍瀎瀏瀐瀒瀓瀔瀕瀖瀗瀘瀙瀜瀝瀞瀟瀠瀡瀢瀤瀥瀦瀧瀨瀩瀪�瀫瀬瀭瀮瀯瀰瀱瀲瀳瀴瀶瀷瀸瀺瀻瀼瀽瀾瀿灀灁灂灃灄灅灆灇灈灉灊灋灍灎灐灑灒灓灔灕灖灗灘灙灚灛灜灝灟灠灡灢灣灤灥灦灧灨灩灪灮灱灲灳灴灷灹灺灻災炁炂炃炄炆炇炈炋炌炍炏炐炑炓炗炘炚炛炞炟炠炡炢炣炤炥炦炧炨炩炪炰炲炴炵炶為炾炿烄烅烆烇烉烋烌烍烎烏烐烑烒烓烔烕烖烗烚�".split("");for(a=0;a!=t[158].length;++a)if(t[158][a].charCodeAt(0)!==65533){r[t[158][a]]=40448+a;e[40448+a]=t[158][a]}t[159]="����������������������������������������������������������������烜烝烞烠烡烢烣烥烪烮烰烱烲烳烴烵烶烸烺烻烼烾烿焀焁焂焃焄焅焆焇焈焋焌焍焎焏焑焒焔焗焛焜焝焞焟焠無焢焣焤焥焧焨焩焪焫焬焭焮焲焳焴�焵焷焸焹焺焻焼焽焾焿煀煁煂煃煄煆煇煈煉煋煍煏煐煑煒煓煔煕煖煗煘煙煚煛煝煟煠煡煢煣煥煩煪煫煬煭煯煰煱煴煵煶煷煹煻煼煾煿熀熁熂熃熅熆熇熈熉熋熌熍熎熐熑熒熓熕熖熗熚熛熜熝熞熡熢熣熤熥熦熧熩熪熫熭熮熯熰熱熲熴熶熷熸熺熻熼熽熾熿燀燁燂燄燅燆燇燈燉燊燋燌燍燏燐燑燒燓�".split("");for(a=0;a!=t[159].length;++a)if(t[159][a].charCodeAt(0)!==65533){r[t[159][a]]=40704+a;e[40704+a]=t[159][a]}t[160]="����������������������������������������������������������������燖燗燘燙燚燛燜燝燞營燡燢燣燤燦燨燩燪燫燬燭燯燰燱燲燳燴燵燶燷燸燺燻燼燽燾燿爀爁爂爃爄爅爇爈爉爊爋爌爍爎爏爐爑爒爓爔爕爖爗爘爙爚�爛爜爞爟爠爡爢爣爤爥爦爧爩爫爭爮爯爲爳爴爺爼爾牀牁牂牃牄牅牆牉牊牋牎牏牐牑牓牔牕牗牘牚牜牞牠牣牤牥牨牪牫牬牭牰牱牳牴牶牷牸牻牼牽犂犃犅犆犇犈犉犌犎犐犑犓犔犕犖犗犘犙犚犛犜犝犞犠犡犢犣犤犥犦犧犨犩犪犫犮犱犲犳犵犺犻犼犽犾犿狀狅狆狇狉狊狋狌狏狑狓狔狕狖狘狚狛�".split("");for(a=0;a!=t[160].length;++a)if(t[160][a].charCodeAt(0)!==65533){r[t[160][a]]=40960+a;e[40960+a]=t[160][a]}t[161]="����������������������������������������������������������������������������������������������������������������������������������������������������������������� 、。·ˉˇ¨〃々—~‖…‘’“”〔〕〈〉《》「」『』〖〗【】±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵∴♂♀°′″℃$¤¢£‰§№☆★○●◎◇◆□■△▲※→←↑↓〓�".split("");for(a=0;a!=t[161].length;++a)if(t[161][a].charCodeAt(0)!==65533){r[t[161][a]]=41216+a;e[41216+a]=t[161][a]}t[162]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ������⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇①②③④⑤⑥⑦⑧⑨⑩��㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩��ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ���".split("");for(a=0;a!=t[162].length;++a)if(t[162][a].charCodeAt(0)!==65533){r[t[162][a]]=41472+a;e[41472+a]=t[162][a]}t[163]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������!"#¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|} ̄�".split("");for(a=0;a!=t[163].length;++a)if(t[163][a].charCodeAt(0)!==65533){r[t[163][a]]=41728+a;e[41728+a]=t[163][a]}t[164]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������".split("");for(a=0;a!=t[164].length;++a)if(t[164][a].charCodeAt(0)!==65533){r[t[164][a]]=41984+a;e[41984+a]=t[164][a]}t[165]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������".split("");for(a=0;a!=t[165].length;++a)if(t[165][a].charCodeAt(0)!==65533){r[t[165][a]]=42240+a;e[42240+a]=t[165][a]}t[166]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�������︵︶︹︺︿﹀︽︾﹁﹂﹃﹄��︻︼︷︸︱�︳︴����������".split("");for(a=0;a!=t[166].length;++a)if(t[166][a].charCodeAt(0)!==65533){r[t[166][a]]=42496+a;e[42496+a]=t[166][a]}t[167]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������".split("");for(a=0;a!=t[167].length;++a)if(t[167][a].charCodeAt(0)!==65533){r[t[167][a]]=42752+a;e[42752+a]=t[167][a]}t[168]="����������������������������������������������������������������ˊˋ˙–―‥‵℅℉↖↗↘↙∕∟∣≒≦≧⊿═║╒╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡╢╣╤╥╦╧╨╩╪╫╬╭╮╯╰╱╲╳▁▂▃▄▅▆▇�█▉▊▋▌▍▎▏▓▔▕▼▽◢◣◤◥☉⊕〒〝〞�����������āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüêɑ�ńň�ɡ����ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ����������������������".split("");for(a=0;a!=t[168].length;++a)if(t[168][a].charCodeAt(0)!==65533){r[t[168][a]]=43008+a;e[43008+a]=t[168][a]}t[169]="����������������������������������������������������������������〡〢〣〤〥〦〧〨〩㊣㎎㎏㎜㎝㎞㎡㏄㏎㏑㏒㏕︰¬¦�℡㈱�‐���ー゛゜ヽヾ〆ゝゞ﹉﹊﹋﹌﹍﹎﹏﹐﹑﹒﹔﹕﹖﹗﹙﹚﹛﹜﹝﹞﹟﹠﹡�﹢﹣﹤﹥﹦﹨﹩﹪﹫�������������〇�������������─━│┃┄┅┆┇┈┉┊┋┌┍┎┏┐┑┒┓└┕┖┗┘┙┚┛├┝┞┟┠┡┢┣┤┥┦┧┨┩┪┫┬┭┮┯┰┱┲┳┴┵┶┷┸┹┺┻┼┽┾┿╀╁╂╃╄╅╆╇╈╉╊╋����������������".split("");for(a=0;a!=t[169].length;++a)if(t[169][a].charCodeAt(0)!==65533){r[t[169][a]]=43264+a;e[43264+a]=t[169][a]}t[170]="����������������������������������������������������������������狜狝狟狢狣狤狥狦狧狪狫狵狶狹狽狾狿猀猂猄猅猆猇猈猉猋猌猍猏猐猑猒猔猘猙猚猟猠猣猤猦猧猨猭猯猰猲猳猵猶猺猻猼猽獀獁獂獃獄獅獆獇獈�獉獊獋獌獎獏獑獓獔獕獖獘獙獚獛獜獝獞獟獡獢獣獤獥獦獧獨獩獪獫獮獰獱�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[170].length;++a)if(t[170][a].charCodeAt(0)!==65533){r[t[170][a]]=43520+a;e[43520+a]=t[170][a]}t[171]="����������������������������������������������������������������獲獳獴獵獶獷獸獹獺獻獼獽獿玀玁玂玃玅玆玈玊玌玍玏玐玒玓玔玕玗玘玙玚玜玝玞玠玡玣玤玥玦玧玨玪玬玭玱玴玵玶玸玹玼玽玾玿珁珃珄珅珆珇�珋珌珎珒珓珔珕珖珗珘珚珛珜珝珟珡珢珣珤珦珨珪珫珬珮珯珰珱珳珴珵珶珷�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[171].length;++a)if(t[171][a].charCodeAt(0)!==65533){r[t[171][a]]=43776+a;e[43776+a]=t[171][a]}t[172]="����������������������������������������������������������������珸珹珺珻珼珽現珿琀琁琂琄琇琈琋琌琍琎琑琒琓琔琕琖琗琘琙琜琝琞琟琠琡琣琤琧琩琫琭琯琱琲琷琸琹琺琻琽琾琿瑀瑂瑃瑄瑅瑆瑇瑈瑉瑊瑋瑌瑍�瑎瑏瑐瑑瑒瑓瑔瑖瑘瑝瑠瑡瑢瑣瑤瑥瑦瑧瑨瑩瑪瑫瑬瑮瑯瑱瑲瑳瑴瑵瑸瑹瑺�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[172].length;++a)if(t[172][a].charCodeAt(0)!==65533){r[t[172][a]]=44032+a;e[44032+a]=t[172][a]}t[173]="����������������������������������������������������������������瑻瑼瑽瑿璂璄璅璆璈璉璊璌璍璏璑璒璓璔璕璖璗璘璙璚璛璝璟璠璡璢璣璤璥璦璪璫璬璭璮璯環璱璲璳璴璵璶璷璸璹璻璼璽璾璿瓀瓁瓂瓃瓄瓅瓆瓇�瓈瓉瓊瓋瓌瓍瓎瓏瓐瓑瓓瓔瓕瓖瓗瓘瓙瓚瓛瓝瓟瓡瓥瓧瓨瓩瓪瓫瓬瓭瓰瓱瓲�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[173].length;++a)if(t[173][a].charCodeAt(0)!==65533){r[t[173][a]]=44288+a;e[44288+a]=t[173][a]}t[174]="����������������������������������������������������������������瓳瓵瓸瓹瓺瓻瓼瓽瓾甀甁甂甃甅甆甇甈甉甊甋甌甎甐甒甔甕甖甗甛甝甞甠甡產産甤甦甧甪甮甴甶甹甼甽甿畁畂畃畄畆畇畉畊畍畐畑畒畓畕畖畗畘�畝畞畟畠畡畢畣畤畧畨畩畫畬畭畮畯異畱畳畵當畷畺畻畼畽畾疀疁疂疄疅疇�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[174].length;++a)if(t[174][a].charCodeAt(0)!==65533){r[t[174][a]]=44544+a;e[44544+a]=t[174][a]}t[175]="����������������������������������������������������������������疈疉疊疌疍疎疐疓疕疘疛疜疞疢疦疧疨疩疪疭疶疷疺疻疿痀痁痆痋痌痎痏痐痑痓痗痙痚痜痝痟痠痡痥痩痬痭痮痯痲痳痵痶痷痸痺痻痽痾瘂瘄瘆瘇�瘈瘉瘋瘍瘎瘏瘑瘒瘓瘔瘖瘚瘜瘝瘞瘡瘣瘧瘨瘬瘮瘯瘱瘲瘶瘷瘹瘺瘻瘽癁療癄�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[175].length;++a)if(t[175][a].charCodeAt(0)!==65533){r[t[175][a]]=44800+a;e[44800+a]=t[175][a]}t[176]="����������������������������������������������������������������癅癆癇癈癉癊癋癎癏癐癑癒癓癕癗癘癙癚癛癝癟癠癡癢癤癥癦癧癨癩癪癬癭癮癰癱癲癳癴癵癶癷癹発發癿皀皁皃皅皉皊皌皍皏皐皒皔皕皗皘皚皛�皜皝皞皟皠皡皢皣皥皦皧皨皩皪皫皬皭皯皰皳皵皶皷皸皹皺皻皼皽皾盀盁盃啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥�".split("");for(a=0;a!=t[176].length;++a)if(t[176][a].charCodeAt(0)!==65533){r[t[176][a]]=45056+a;e[45056+a]=t[176][a]}t[177]="����������������������������������������������������������������盄盇盉盋盌盓盕盙盚盜盝盞盠盡盢監盤盦盧盨盩盪盫盬盭盰盳盵盶盷盺盻盽盿眀眂眃眅眆眊県眎眏眐眑眒眓眔眕眖眗眘眛眜眝眞眡眣眤眥眧眪眫�眬眮眰眱眲眳眴眹眻眽眾眿睂睄睅睆睈睉睊睋睌睍睎睏睒睓睔睕睖睗睘睙睜薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳�".split("");for(a=0;a!=t[177].length;++a)if(t[177][a].charCodeAt(0)!==65533){r[t[177][a]]=45312+a;e[45312+a]=t[177][a]}t[178]="����������������������������������������������������������������睝睞睟睠睤睧睩睪睭睮睯睰睱睲睳睴睵睶睷睸睺睻睼瞁瞂瞃瞆瞇瞈瞉瞊瞋瞏瞐瞓瞔瞕瞖瞗瞘瞙瞚瞛瞜瞝瞞瞡瞣瞤瞦瞨瞫瞭瞮瞯瞱瞲瞴瞶瞷瞸瞹瞺�瞼瞾矀矁矂矃矄矅矆矇矈矉矊矋矌矎矏矐矑矒矓矔矕矖矘矙矚矝矞矟矠矡矤病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖�".split("");for(a=0;a!=t[178].length;++a)if(t[178][a].charCodeAt(0)!==65533){r[t[178][a]]=45568+a;e[45568+a]=t[178][a]}t[179]="����������������������������������������������������������������矦矨矪矯矰矱矲矴矵矷矹矺矻矼砃砄砅砆砇砈砊砋砎砏砐砓砕砙砛砞砠砡砢砤砨砪砫砮砯砱砲砳砵砶砽砿硁硂硃硄硆硈硉硊硋硍硏硑硓硔硘硙硚�硛硜硞硟硠硡硢硣硤硥硦硧硨硩硯硰硱硲硳硴硵硶硸硹硺硻硽硾硿碀碁碂碃场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚�".split("");for(a=0;a!=t[179].length;++a)if(t[179][a].charCodeAt(0)!==65533){r[t[179][a]]=45824+a;e[45824+a]=t[179][a]}t[180]="����������������������������������������������������������������碄碅碆碈碊碋碏碐碒碔碕碖碙碝碞碠碢碤碦碨碩碪碫碬碭碮碯碵碶碷碸確碻碼碽碿磀磂磃磄磆磇磈磌磍磎磏磑磒磓磖磗磘磚磛磜磝磞磟磠磡磢磣�磤磥磦磧磩磪磫磭磮磯磰磱磳磵磶磸磹磻磼磽磾磿礀礂礃礄礆礇礈礉礊礋礌础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮�".split("");for(a=0;a!=t[180].length;++a)if(t[180][a].charCodeAt(0)!==65533){r[t[180][a]]=46080+a;e[46080+a]=t[180][a]}t[181]="����������������������������������������������������������������礍礎礏礐礑礒礔礕礖礗礘礙礚礛礜礝礟礠礡礢礣礥礦礧礨礩礪礫礬礭礮礯礰礱礲礳礵礶礷礸礹礽礿祂祃祄祅祇祊祋祌祍祎祏祐祑祒祔祕祘祙祡祣�祤祦祩祪祫祬祮祰祱祲祳祴祵祶祹祻祼祽祾祿禂禃禆禇禈禉禋禌禍禎禐禑禒怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠�".split("");for(a=0;a!=t[181].length;++a)if(t[181][a].charCodeAt(0)!==65533){r[t[181][a]]=46336+a;e[46336+a]=t[181][a]}t[182]="����������������������������������������������������������������禓禔禕禖禗禘禙禛禜禝禞禟禠禡禢禣禤禥禦禨禩禪禫禬禭禮禯禰禱禲禴禵禶禷禸禼禿秂秄秅秇秈秊秌秎秏秐秓秔秖秗秙秚秛秜秝秞秠秡秢秥秨秪�秬秮秱秲秳秴秵秶秷秹秺秼秾秿稁稄稅稇稈稉稊稌稏稐稑稒稓稕稖稘稙稛稜丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二�".split("");for(a=0;a!=t[182].length;++a)if(t[182][a].charCodeAt(0)!==65533){r[t[182][a]]=46592+a;e[46592+a]=t[182][a]}t[183]="����������������������������������������������������������������稝稟稡稢稤稥稦稧稨稩稪稫稬稭種稯稰稱稲稴稵稶稸稺稾穀穁穂穃穄穅穇穈穉穊穋穌積穎穏穐穒穓穔穕穖穘穙穚穛穜穝穞穟穠穡穢穣穤穥穦穧穨�穩穪穫穬穭穮穯穱穲穳穵穻穼穽穾窂窅窇窉窊窋窌窎窏窐窓窔窙窚窛窞窡窢贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服�".split("");for(a=0;a!=t[183].length;++a)if(t[183][a].charCodeAt(0)!==65533){r[t[183][a]]=46848+a;e[46848+a]=t[183][a]}t[184]="����������������������������������������������������������������窣窤窧窩窪窫窮窯窰窱窲窴窵窶窷窸窹窺窻窼窽窾竀竁竂竃竄竅竆竇竈竉竊竌竍竎竏竐竑竒竓竔竕竗竘竚竛竜竝竡竢竤竧竨竩竪竫竬竮竰竱竲竳�竴竵競竷竸竻竼竾笀笁笂笅笇笉笌笍笎笐笒笓笖笗笘笚笜笝笟笡笢笣笧笩笭浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹�".split("");for(a=0;a!=t[184].length;++a)if(t[184][a].charCodeAt(0)!==65533){r[t[184][a]]=47104+a;e[47104+a]=t[184][a]}t[185]="����������������������������������������������������������������笯笰笲笴笵笶笷笹笻笽笿筀筁筂筃筄筆筈筊筍筎筓筕筗筙筜筞筟筡筣筤筥筦筧筨筩筪筫筬筭筯筰筳筴筶筸筺筼筽筿箁箂箃箄箆箇箈箉箊箋箌箎箏�箑箒箓箖箘箙箚箛箞箟箠箣箤箥箮箯箰箲箳箵箶箷箹箺箻箼箽箾箿節篂篃範埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈�".split("");for(a=0;a!=t[185].length;++a)if(t[185][a].charCodeAt(0)!==65533){r[t[185][a]]=47360+a;e[47360+a]=t[185][a]}t[186]="����������������������������������������������������������������篅篈築篊篋篍篎篏篐篒篔篕篖篗篘篛篜篞篟篠篢篣篤篧篨篩篫篬篭篯篰篲篳篴篵篶篸篹篺篻篽篿簀簁簂簃簄簅簆簈簉簊簍簎簐簑簒簓簔簕簗簘簙�簚簛簜簝簞簠簡簢簣簤簥簨簩簫簬簭簮簯簰簱簲簳簴簵簶簷簹簺簻簼簽簾籂骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖�".split("");for(a=0;a!=t[186].length;++a)if(t[186][a].charCodeAt(0)!==65533){r[t[186][a]]=47616+a;e[47616+a]=t[186][a]}t[187]="����������������������������������������������������������������籃籄籅籆籇籈籉籊籋籌籎籏籐籑籒籓籔籕籖籗籘籙籚籛籜籝籞籟籠籡籢籣籤籥籦籧籨籩籪籫籬籭籮籯籰籱籲籵籶籷籸籹籺籾籿粀粁粂粃粄粅粆粇�粈粊粋粌粍粎粏粐粓粔粖粙粚粛粠粡粣粦粧粨粩粫粬粭粯粰粴粵粶粷粸粺粻弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕�".split("");for(a=0;a!=t[187].length;++a)if(t[187][a].charCodeAt(0)!==65533){r[t[187][a]]=47872+a;e[47872+a]=t[187][a]}t[188]="����������������������������������������������������������������粿糀糂糃糄糆糉糋糎糏糐糑糒糓糔糘糚糛糝糞糡糢糣糤糥糦糧糩糪糫糬糭糮糰糱糲糳糴糵糶糷糹糺糼糽糾糿紀紁紂紃約紅紆紇紈紉紋紌納紎紏紐�紑紒紓純紕紖紗紘紙級紛紜紝紞紟紡紣紤紥紦紨紩紪紬紭紮細紱紲紳紴紵紶肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件�".split("");for(a=0;a!=t[188].length;++a)if(t[188][a].charCodeAt(0)!==65533){r[t[188][a]]=48128+a;e[48128+a]=t[188][a]}t[189]="����������������������������������������������������������������紷紸紹紺紻紼紽紾紿絀絁終絃組絅絆絇絈絉絊絋経絍絎絏結絑絒絓絔絕絖絗絘絙絚絛絜絝絞絟絠絡絢絣絤絥給絧絨絩絪絫絬絭絯絰統絲絳絴絵絶�絸絹絺絻絼絽絾絿綀綁綂綃綄綅綆綇綈綉綊綋綌綍綎綏綐綑綒經綔綕綖綗綘健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸�".split("");for(a=0;a!=t[189].length;++a)if(t[189][a].charCodeAt(0)!==65533){r[t[189][a]]=48384+a;e[48384+a]=t[189][a]}t[190]="����������������������������������������������������������������継続綛綜綝綞綟綠綡綢綣綤綥綧綨綩綪綫綬維綯綰綱網綳綴綵綶綷綸綹綺綻綼綽綾綿緀緁緂緃緄緅緆緇緈緉緊緋緌緍緎総緐緑緒緓緔緕緖緗緘緙�線緛緜緝緞緟締緡緢緣緤緥緦緧編緩緪緫緬緭緮緯緰緱緲緳練緵緶緷緸緹緺尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻�".split("");for(a=0;a!=t[190].length;++a)if(t[190][a].charCodeAt(0)!==65533){r[t[190][a]]=48640+a;e[48640+a]=t[190][a]}t[191]="����������������������������������������������������������������緻緼緽緾緿縀縁縂縃縄縅縆縇縈縉縊縋縌縍縎縏縐縑縒縓縔縕縖縗縘縙縚縛縜縝縞縟縠縡縢縣縤縥縦縧縨縩縪縫縬縭縮縯縰縱縲縳縴縵縶縷縸縹�縺縼總績縿繀繂繃繄繅繆繈繉繊繋繌繍繎繏繐繑繒繓織繕繖繗繘繙繚繛繜繝俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀�".split("");for(a=0;a!=t[191].length;++a)if(t[191][a].charCodeAt(0)!==65533){r[t[191][a]]=48896+a;e[48896+a]=t[191][a]}t[192]="����������������������������������������������������������������繞繟繠繡繢繣繤繥繦繧繨繩繪繫繬繭繮繯繰繱繲繳繴繵繶繷繸繹繺繻繼繽繾繿纀纁纃纄纅纆纇纈纉纊纋續纍纎纏纐纑纒纓纔纕纖纗纘纙纚纜纝纞�纮纴纻纼绖绤绬绹缊缐缞缷缹缻缼缽缾缿罀罁罃罆罇罈罉罊罋罌罍罎罏罒罓馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐�".split("");for(a=0;a!=t[192].length;++a)if(t[192][a].charCodeAt(0)!==65533){r[t[192][a]]=49152+a;e[49152+a]=t[192][a]}t[193]="����������������������������������������������������������������罖罙罛罜罝罞罠罣罤罥罦罧罫罬罭罯罰罳罵罶罷罸罺罻罼罽罿羀羂羃羄羅羆羇羈羉羋羍羏羐羑羒羓羕羖羗羘羙羛羜羠羢羣羥羦羨義羪羫羬羭羮羱�羳羴羵羶羷羺羻羾翀翂翃翄翆翇翈翉翋翍翏翐翑習翓翖翗翙翚翛翜翝翞翢翣痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿�".split("");for(a=0;a!=t[193].length;++a)if(t[193][a].charCodeAt(0)!==65533){r[t[193][a]]=49408+a;e[49408+a]=t[193][a]}t[194]="����������������������������������������������������������������翤翧翨翪翫翬翭翯翲翴翵翶翷翸翹翺翽翾翿耂耇耈耉耊耎耏耑耓耚耛耝耞耟耡耣耤耫耬耭耮耯耰耲耴耹耺耼耾聀聁聄聅聇聈聉聎聏聐聑聓聕聖聗�聙聛聜聝聞聟聠聡聢聣聤聥聦聧聨聫聬聭聮聯聰聲聳聴聵聶職聸聹聺聻聼聽隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫�".split("");for(a=0;a!=t[194].length;++a)if(t[194][a].charCodeAt(0)!==65533){r[t[194][a]]=49664+a;e[49664+a]=t[194][a]}t[195]="����������������������������������������������������������������聾肁肂肅肈肊肍肎肏肐肑肒肔肕肗肙肞肣肦肧肨肬肰肳肵肶肸肹肻胅胇胈胉胊胋胏胐胑胒胓胔胕胘胟胠胢胣胦胮胵胷胹胻胾胿脀脁脃脄脅脇脈脋�脌脕脗脙脛脜脝脟脠脡脢脣脤脥脦脧脨脩脪脫脭脮脰脳脴脵脷脹脺脻脼脽脿谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸�".split("");for(a=0;a!=t[195].length;++a)if(t[195][a].charCodeAt(0)!==65533){r[t[195][a]]=49920+a;e[49920+a]=t[195][a]}t[196]="����������������������������������������������������������������腀腁腂腃腄腅腇腉腍腎腏腒腖腗腘腛腜腝腞腟腡腢腣腤腦腨腪腫腬腯腲腳腵腶腷腸膁膃膄膅膆膇膉膋膌膍膎膐膒膓膔膕膖膗膙膚膞膟膠膡膢膤膥�膧膩膫膬膭膮膯膰膱膲膴膵膶膷膸膹膼膽膾膿臄臅臇臈臉臋臍臎臏臐臑臒臓摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁�".split("");for(a=0;a!=t[196].length;++a)if(t[196][a].charCodeAt(0)!==65533){r[t[196][a]]=50176+a;e[50176+a]=t[196][a]}t[197]="����������������������������������������������������������������臔臕臖臗臘臙臚臛臜臝臞臟臠臡臢臤臥臦臨臩臫臮臯臰臱臲臵臶臷臸臹臺臽臿舃與興舉舊舋舎舏舑舓舕舖舗舘舙舚舝舠舤舥舦舧舩舮舲舺舼舽舿�艀艁艂艃艅艆艈艊艌艍艎艐艑艒艓艔艕艖艗艙艛艜艝艞艠艡艢艣艤艥艦艧艩拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗�".split("");for(a=0;a!=t[197].length;++a)if(t[197][a].charCodeAt(0)!==65533){r[t[197][a]]=50432+a;e[50432+a]=t[197][a]}t[198]="����������������������������������������������������������������艪艫艬艭艱艵艶艷艸艻艼芀芁芃芅芆芇芉芌芐芓芔芕芖芚芛芞芠芢芣芧芲芵芶芺芻芼芿苀苂苃苅苆苉苐苖苙苚苝苢苧苨苩苪苬苭苮苰苲苳苵苶苸�苺苼苽苾苿茀茊茋茍茐茒茓茖茘茙茝茞茟茠茡茢茣茤茥茦茩茪茮茰茲茷茻茽啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐�".split("");for(a=0;a!=t[198].length;++a)if(t[198][a].charCodeAt(0)!==65533){r[t[198][a]]=50688+a;e[50688+a]=t[198][a]}t[199]="����������������������������������������������������������������茾茿荁荂荄荅荈荊荋荌荍荎荓荕荖荗荘荙荝荢荰荱荲荳荴荵荶荹荺荾荿莀莁莂莃莄莇莈莊莋莌莍莏莐莑莔莕莖莗莙莚莝莟莡莢莣莤莥莦莧莬莭莮�莯莵莻莾莿菂菃菄菆菈菉菋菍菎菐菑菒菓菕菗菙菚菛菞菢菣菤菦菧菨菫菬菭恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠�".split("");for(a=0;a!=t[199].length;++a)if(t[199][a].charCodeAt(0)!==65533){r[t[199][a]]=50944+a;e[50944+a]=t[199][a]}t[200]="����������������������������������������������������������������菮華菳菴菵菶菷菺菻菼菾菿萀萂萅萇萈萉萊萐萒萓萔萕萖萗萙萚萛萞萟萠萡萢萣萩萪萫萬萭萮萯萰萲萳萴萵萶萷萹萺萻萾萿葀葁葂葃葄葅葇葈葉�葊葋葌葍葎葏葐葒葓葔葕葖葘葝葞葟葠葢葤葥葦葧葨葪葮葯葰葲葴葷葹葻葼取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁�".split("");for(a=0;a!=t[200].length;++a)if(t[200][a].charCodeAt(0)!==65533){r[t[200][a]]=51200+a;e[51200+a]=t[200][a]}t[201]="����������������������������������������������������������������葽葾葿蒀蒁蒃蒄蒅蒆蒊蒍蒏蒐蒑蒒蒓蒔蒕蒖蒘蒚蒛蒝蒞蒟蒠蒢蒣蒤蒥蒦蒧蒨蒩蒪蒫蒬蒭蒮蒰蒱蒳蒵蒶蒷蒻蒼蒾蓀蓂蓃蓅蓆蓇蓈蓋蓌蓎蓏蓒蓔蓕蓗�蓘蓙蓚蓛蓜蓞蓡蓢蓤蓧蓨蓩蓪蓫蓭蓮蓯蓱蓲蓳蓴蓵蓶蓷蓸蓹蓺蓻蓽蓾蔀蔁蔂伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳�".split("");for(a=0;a!=t[201].length;++a)if(t[201][a].charCodeAt(0)!==65533){r[t[201][a]]=51456+a;e[51456+a]=t[201][a]}t[202]="����������������������������������������������������������������蔃蔄蔅蔆蔇蔈蔉蔊蔋蔍蔎蔏蔐蔒蔔蔕蔖蔘蔙蔛蔜蔝蔞蔠蔢蔣蔤蔥蔦蔧蔨蔩蔪蔭蔮蔯蔰蔱蔲蔳蔴蔵蔶蔾蔿蕀蕁蕂蕄蕅蕆蕇蕋蕌蕍蕎蕏蕐蕑蕒蕓蕔蕕�蕗蕘蕚蕛蕜蕝蕟蕠蕡蕢蕣蕥蕦蕧蕩蕪蕫蕬蕭蕮蕯蕰蕱蕳蕵蕶蕷蕸蕼蕽蕿薀薁省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱�".split("");for(a=0;a!=t[202].length;++a)if(t[202][a].charCodeAt(0)!==65533){r[t[202][a]]=51712+a;e[51712+a]=t[202][a]}t[203]="����������������������������������������������������������������薂薃薆薈薉薊薋薌薍薎薐薑薒薓薔薕薖薗薘薙薚薝薞薟薠薡薢薣薥薦薧薩薫薬薭薱薲薳薴薵薶薸薺薻薼薽薾薿藀藂藃藄藅藆藇藈藊藋藌藍藎藑藒�藔藖藗藘藙藚藛藝藞藟藠藡藢藣藥藦藧藨藪藫藬藭藮藯藰藱藲藳藴藵藶藷藸恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔�".split("");for(a=0;a!=t[203].length;++a)if(t[203][a].charCodeAt(0)!==65533){r[t[203][a]]=51968+a;e[51968+a]=t[203][a]}t[204]="����������������������������������������������������������������藹藺藼藽藾蘀蘁蘂蘃蘄蘆蘇蘈蘉蘊蘋蘌蘍蘎蘏蘐蘒蘓蘔蘕蘗蘘蘙蘚蘛蘜蘝蘞蘟蘠蘡蘢蘣蘤蘥蘦蘨蘪蘫蘬蘭蘮蘯蘰蘱蘲蘳蘴蘵蘶蘷蘹蘺蘻蘽蘾蘿虀�虁虂虃虄虅虆虇虈虉虊虋虌虒虓處虖虗虘虙虛虜虝號虠虡虣虤虥虦虧虨虩虪獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃�".split("");for(a=0;a!=t[204].length;++a)if(t[204][a].charCodeAt(0)!==65533){r[t[204][a]]=52224+a;e[52224+a]=t[204][a]}t[205]="����������������������������������������������������������������虭虯虰虲虳虴虵虶虷虸蚃蚄蚅蚆蚇蚈蚉蚎蚏蚐蚑蚒蚔蚖蚗蚘蚙蚚蚛蚞蚟蚠蚡蚢蚥蚦蚫蚭蚮蚲蚳蚷蚸蚹蚻蚼蚽蚾蚿蛁蛂蛃蛅蛈蛌蛍蛒蛓蛕蛖蛗蛚蛜�蛝蛠蛡蛢蛣蛥蛦蛧蛨蛪蛫蛬蛯蛵蛶蛷蛺蛻蛼蛽蛿蜁蜄蜅蜆蜋蜌蜎蜏蜐蜑蜔蜖汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威�".split("");for(a=0;a!=t[205].length;++a)if(t[205][a].charCodeAt(0)!==65533){r[t[205][a]]=52480+a;e[52480+a]=t[205][a]}t[206]="����������������������������������������������������������������蜙蜛蜝蜟蜠蜤蜦蜧蜨蜪蜫蜬蜭蜯蜰蜲蜳蜵蜶蜸蜹蜺蜼蜽蝀蝁蝂蝃蝄蝅蝆蝊蝋蝍蝏蝐蝑蝒蝔蝕蝖蝘蝚蝛蝜蝝蝞蝟蝡蝢蝦蝧蝨蝩蝪蝫蝬蝭蝯蝱蝲蝳蝵�蝷蝸蝹蝺蝿螀螁螄螆螇螉螊螌螎螏螐螑螒螔螕螖螘螙螚螛螜螝螞螠螡螢螣螤巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺�".split("");for(a=0;a!=t[206].length;++a)if(t[206][a].charCodeAt(0)!==65533){r[t[206][a]]=52736+a;e[52736+a]=t[206][a]}t[207]="����������������������������������������������������������������螥螦螧螩螪螮螰螱螲螴螶螷螸螹螻螼螾螿蟁蟂蟃蟄蟅蟇蟈蟉蟌蟍蟎蟏蟐蟔蟕蟖蟗蟘蟙蟚蟜蟝蟞蟟蟡蟢蟣蟤蟦蟧蟨蟩蟫蟬蟭蟯蟰蟱蟲蟳蟴蟵蟶蟷蟸�蟺蟻蟼蟽蟿蠀蠁蠂蠄蠅蠆蠇蠈蠉蠋蠌蠍蠎蠏蠐蠑蠒蠔蠗蠘蠙蠚蠜蠝蠞蠟蠠蠣稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓�".split("");for(a=0;a!=t[207].length;++a)if(t[207][a].charCodeAt(0)!==65533){r[t[207][a]]=52992+a;e[52992+a]=t[207][a]}t[208]="����������������������������������������������������������������蠤蠥蠦蠧蠨蠩蠪蠫蠬蠭蠮蠯蠰蠱蠳蠴蠵蠶蠷蠸蠺蠻蠽蠾蠿衁衂衃衆衇衈衉衊衋衎衏衐衑衒術衕衖衘衚衛衜衝衞衟衠衦衧衪衭衯衱衳衴衵衶衸衹衺�衻衼袀袃袆袇袉袊袌袎袏袐袑袓袔袕袗袘袙袚袛袝袞袟袠袡袣袥袦袧袨袩袪小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄�".split("");for(a=0;a!=t[208].length;++a)if(t[208][a].charCodeAt(0)!==65533){r[t[208][a]]=53248+a;e[53248+a]=t[208][a]}t[209]="����������������������������������������������������������������袬袮袯袰袲袳袴袵袶袸袹袺袻袽袾袿裀裃裄裇裈裊裋裌裍裏裐裑裓裖裗裚裛補裝裞裠裡裦裧裩裪裫裬裭裮裯裲裵裶裷裺裻製裿褀褁褃褄褅褆複褈�褉褋褌褍褎褏褑褔褕褖褗褘褜褝褞褟褠褢褣褤褦褧褨褩褬褭褮褯褱褲褳褵褷选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶�".split("");for(a=0;a!=t[209].length;++a)if(t[209][a].charCodeAt(0)!==65533){r[t[209][a]]=53504+a;e[53504+a]=t[209][a]}t[210]="����������������������������������������������������������������褸褹褺褻褼褽褾褿襀襂襃襅襆襇襈襉襊襋襌襍襎襏襐襑襒襓襔襕襖襗襘襙襚襛襜襝襠襡襢襣襤襥襧襨襩襪襫襬襭襮襯襰襱襲襳襴襵襶襷襸襹襺襼�襽襾覀覂覄覅覇覈覉覊見覌覍覎規覐覑覒覓覔覕視覗覘覙覚覛覜覝覞覟覠覡摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐�".split("");for(a=0;a!=t[210].length;++a)if(t[210][a].charCodeAt(0)!==65533){r[t[210][a]]=53760+a;e[53760+a]=t[210][a]}t[211]="����������������������������������������������������������������覢覣覤覥覦覧覨覩親覫覬覭覮覯覰覱覲観覴覵覶覷覸覹覺覻覼覽覾覿觀觃觍觓觔觕觗觘觙觛觝觟觠觡觢觤觧觨觩觪觬觭觮觰觱觲觴觵觶觷觸觹觺�觻觼觽觾觿訁訂訃訄訅訆計訉訊訋訌訍討訏訐訑訒訓訔訕訖託記訙訚訛訜訝印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉�".split("");for(a=0;a!=t[211].length;++a)if(t[211][a].charCodeAt(0)!==65533){r[t[211][a]]=54016+a;e[54016+a]=t[211][a]}t[212]="����������������������������������������������������������������訞訟訠訡訢訣訤訥訦訧訨訩訪訫訬設訮訯訰許訲訳訴訵訶訷訸訹診註証訽訿詀詁詂詃詄詅詆詇詉詊詋詌詍詎詏詐詑詒詓詔評詖詗詘詙詚詛詜詝詞�詟詠詡詢詣詤詥試詧詨詩詪詫詬詭詮詯詰話該詳詴詵詶詷詸詺詻詼詽詾詿誀浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧�".split("");for(a=0;a!=t[212].length;++a)if(t[212][a].charCodeAt(0)!==65533){r[t[212][a]]=54272+a;e[54272+a]=t[212][a]}t[213]="����������������������������������������������������������������誁誂誃誄誅誆誇誈誋誌認誎誏誐誑誒誔誕誖誗誘誙誚誛誜誝語誟誠誡誢誣誤誥誦誧誨誩說誫説読誮誯誰誱課誳誴誵誶誷誸誹誺誻誼誽誾調諀諁諂�諃諄諅諆談諈諉諊請諌諍諎諏諐諑諒諓諔諕論諗諘諙諚諛諜諝諞諟諠諡諢諣铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政�".split("");for(a=0;a!=t[213].length;++a)if(t[213][a].charCodeAt(0)!==65533){r[t[213][a]]=54528+a;e[54528+a]=t[213][a]}t[214]="����������������������������������������������������������������諤諥諦諧諨諩諪諫諬諭諮諯諰諱諲諳諴諵諶諷諸諹諺諻諼諽諾諿謀謁謂謃謄謅謆謈謉謊謋謌謍謎謏謐謑謒謓謔謕謖謗謘謙謚講謜謝謞謟謠謡謢謣�謤謥謧謨謩謪謫謬謭謮謯謰謱謲謳謴謵謶謷謸謹謺謻謼謽謾謿譀譁譂譃譄譅帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑�".split("");for(a=0;a!=t[214].length;++a)if(t[214][a].charCodeAt(0)!==65533){r[t[214][a]]=54784+a;e[54784+a]=t[214][a]}t[215]="����������������������������������������������������������������譆譇譈證譊譋譌譍譎譏譐譑譒譓譔譕譖譗識譙譚譛譜譝譞譟譠譡譢譣譤譥譧譨譩譪譫譭譮譯議譱譲譳譴譵譶護譸譹譺譻譼譽譾譿讀讁讂讃讄讅讆�讇讈讉變讋讌讍讎讏讐讑讒讓讔讕讖讗讘讙讚讛讜讝讞讟讬讱讻诇诐诪谉谞住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座������".split("");for(a=0;a!=t[215].length;++a)if(t[215][a].charCodeAt(0)!==65533){r[t[215][a]]=55040+a;e[55040+a]=t[215][a]}t[216]="����������������������������������������������������������������谸谹谺谻谼谽谾谿豀豂豃豄豅豈豊豋豍豎豏豐豑豒豓豔豖豗豘豙豛豜豝豞豟豠豣豤豥豦豧豨豩豬豭豮豯豰豱豲豴豵豶豷豻豼豽豾豿貀貁貃貄貆貇�貈貋貍貎貏貐貑貒貓貕貖貗貙貚貛貜貝貞貟負財貢貣貤貥貦貧貨販貪貫責貭亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝�".split("");for(a=0;a!=t[216].length;++a)if(t[216][a].charCodeAt(0)!==65533){r[t[216][a]]=55296+a;e[55296+a]=t[216][a]}t[217]="����������������������������������������������������������������貮貯貰貱貲貳貴貵貶買貸貹貺費貼貽貾貿賀賁賂賃賄賅賆資賈賉賊賋賌賍賎賏賐賑賒賓賔賕賖賗賘賙賚賛賜賝賞賟賠賡賢賣賤賥賦賧賨賩質賫賬�賭賮賯賰賱賲賳賴賵賶賷賸賹賺賻購賽賾賿贀贁贂贃贄贅贆贇贈贉贊贋贌贍佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼�".split("");for(a=0;a!=t[217].length;++a)if(t[217][a].charCodeAt(0)!==65533){r[t[217][a]]=55552+a;e[55552+a]=t[217][a]}t[218]="����������������������������������������������������������������贎贏贐贑贒贓贔贕贖贗贘贙贚贛贜贠赑赒赗赟赥赨赩赪赬赮赯赱赲赸赹赺赻赼赽赾赿趀趂趃趆趇趈趉趌趍趎趏趐趒趓趕趖趗趘趙趚趛趜趝趞趠趡�趢趤趥趦趧趨趩趪趫趬趭趮趯趰趲趶趷趹趻趽跀跁跂跅跇跈跉跊跍跐跒跓跔凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺�".split("");for(a=0;a!=t[218].length;++a)if(t[218][a].charCodeAt(0)!==65533){r[t[218][a]]=55808+a;e[55808+a]=t[218][a]}t[219]="����������������������������������������������������������������跕跘跙跜跠跡跢跥跦跧跩跭跮跰跱跲跴跶跼跾跿踀踁踂踃踄踆踇踈踋踍踎踐踑踒踓踕踖踗踘踙踚踛踜踠踡踤踥踦踧踨踫踭踰踲踳踴踶踷踸踻踼踾�踿蹃蹅蹆蹌蹍蹎蹏蹐蹓蹔蹕蹖蹗蹘蹚蹛蹜蹝蹞蹟蹠蹡蹢蹣蹤蹥蹧蹨蹪蹫蹮蹱邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝�".split("");for(a=0;a!=t[219].length;++a)if(t[219][a].charCodeAt(0)!==65533){r[t[219][a]]=56064+a;e[56064+a]=t[219][a]}t[220]="����������������������������������������������������������������蹳蹵蹷蹸蹹蹺蹻蹽蹾躀躂躃躄躆躈躉躊躋躌躍躎躑躒躓躕躖躗躘躙躚躛躝躟躠躡躢躣躤躥躦躧躨躩躪躭躮躰躱躳躴躵躶躷躸躹躻躼躽躾躿軀軁軂�軃軄軅軆軇軈軉車軋軌軍軏軐軑軒軓軔軕軖軗軘軙軚軛軜軝軞軟軠軡転軣軤堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥�".split("");for(a=0;a!=t[220].length;++a)if(t[220][a].charCodeAt(0)!==65533){r[t[220][a]]=56320+a;e[56320+a]=t[220][a]}t[221]="����������������������������������������������������������������軥軦軧軨軩軪軫軬軭軮軯軰軱軲軳軴軵軶軷軸軹軺軻軼軽軾軿輀輁輂較輄輅輆輇輈載輊輋輌輍輎輏輐輑輒輓輔輕輖輗輘輙輚輛輜輝輞輟輠輡輢輣�輤輥輦輧輨輩輪輫輬輭輮輯輰輱輲輳輴輵輶輷輸輹輺輻輼輽輾輿轀轁轂轃轄荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺�".split("");for(a=0;a!=t[221].length;++a)if(t[221][a].charCodeAt(0)!==65533){r[t[221][a]]=56576+a;e[56576+a]=t[221][a]}t[222]="����������������������������������������������������������������轅轆轇轈轉轊轋轌轍轎轏轐轑轒轓轔轕轖轗轘轙轚轛轜轝轞轟轠轡轢轣轤轥轪辀辌辒辝辠辡辢辤辥辦辧辪辬辭辮辯農辳辴辵辷辸辺辻込辿迀迃迆�迉迊迋迌迍迏迒迖迗迚迠迡迣迧迬迯迱迲迴迵迶迺迻迼迾迿逇逈逌逎逓逕逘蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖�".split("");for(a=0;a!=t[222].length;++a)if(t[222][a].charCodeAt(0)!==65533){r[t[222][a]]=56832+a;e[56832+a]=t[222][a]}t[223]="����������������������������������������������������������������這逜連逤逥逧逨逩逪逫逬逰週進逳逴逷逹逺逽逿遀遃遅遆遈遉遊運遌過達違遖遙遚遜遝遞遟遠遡遤遦遧適遪遫遬遯遰遱遲遳遶遷選遹遺遻遼遾邁�還邅邆邇邉邊邌邍邎邏邐邒邔邖邘邚邜邞邟邠邤邥邧邨邩邫邭邲邷邼邽邿郀摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼�".split("");for(a=0;a!=t[223].length;++a)if(t[223][a].charCodeAt(0)!==65533){r[t[223][a]]=57088+a;e[57088+a]=t[223][a]}t[224]="����������������������������������������������������������������郂郃郆郈郉郋郌郍郒郔郕郖郘郙郚郞郟郠郣郤郥郩郪郬郮郰郱郲郳郵郶郷郹郺郻郼郿鄀鄁鄃鄅鄆鄇鄈鄉鄊鄋鄌鄍鄎鄏鄐鄑鄒鄓鄔鄕鄖鄗鄘鄚鄛鄜�鄝鄟鄠鄡鄤鄥鄦鄧鄨鄩鄪鄫鄬鄭鄮鄰鄲鄳鄴鄵鄶鄷鄸鄺鄻鄼鄽鄾鄿酀酁酂酄唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼�".split("");for(a=0;a!=t[224].length;++a)if(t[224][a].charCodeAt(0)!==65533){r[t[224][a]]=57344+a;e[57344+a]=t[224][a]}t[225]="����������������������������������������������������������������酅酇酈酑酓酔酕酖酘酙酛酜酟酠酦酧酨酫酭酳酺酻酼醀醁醂醃醄醆醈醊醎醏醓醔醕醖醗醘醙醜醝醞醟醠醡醤醥醦醧醨醩醫醬醰醱醲醳醶醷醸醹醻�醼醽醾醿釀釁釂釃釄釅釆釈釋釐釒釓釔釕釖釗釘釙釚釛針釞釟釠釡釢釣釤釥帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺�".split("");for(a=0;a!=t[225].length;++a)if(t[225][a].charCodeAt(0)!==65533){r[t[225][a]]=57600+a;e[57600+a]=t[225][a]}t[226]="����������������������������������������������������������������釦釧釨釩釪釫釬釭釮釯釰釱釲釳釴釵釶釷釸釹釺釻釼釽釾釿鈀鈁鈂鈃鈄鈅鈆鈇鈈鈉鈊鈋鈌鈍鈎鈏鈐鈑鈒鈓鈔鈕鈖鈗鈘鈙鈚鈛鈜鈝鈞鈟鈠鈡鈢鈣鈤�鈥鈦鈧鈨鈩鈪鈫鈬鈭鈮鈯鈰鈱鈲鈳鈴鈵鈶鈷鈸鈹鈺鈻鈼鈽鈾鈿鉀鉁鉂鉃鉄鉅狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧饨饩饪饫饬饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂�".split("");for(a=0;a!=t[226].length;++a)if(t[226][a].charCodeAt(0)!==65533){r[t[226][a]]=57856+a;e[57856+a]=t[226][a]}t[227]="����������������������������������������������������������������鉆鉇鉈鉉鉊鉋鉌鉍鉎鉏鉐鉑鉒鉓鉔鉕鉖鉗鉘鉙鉚鉛鉜鉝鉞鉟鉠鉡鉢鉣鉤鉥鉦鉧鉨鉩鉪鉫鉬鉭鉮鉯鉰鉱鉲鉳鉵鉶鉷鉸鉹鉺鉻鉼鉽鉾鉿銀銁銂銃銄銅�銆銇銈銉銊銋銌銍銏銐銑銒銓銔銕銖銗銘銙銚銛銜銝銞銟銠銡銢銣銤銥銦銧恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾�".split("");for(a=0;a!=t[227].length;++a)if(t[227][a].charCodeAt(0)!==65533){r[t[227][a]]=58112+a;e[58112+a]=t[227][a]}t[228]="����������������������������������������������������������������銨銩銪銫銬銭銯銰銱銲銳銴銵銶銷銸銹銺銻銼銽銾銿鋀鋁鋂鋃鋄鋅鋆鋇鋉鋊鋋鋌鋍鋎鋏鋐鋑鋒鋓鋔鋕鋖鋗鋘鋙鋚鋛鋜鋝鋞鋟鋠鋡鋢鋣鋤鋥鋦鋧鋨�鋩鋪鋫鋬鋭鋮鋯鋰鋱鋲鋳鋴鋵鋶鋷鋸鋹鋺鋻鋼鋽鋾鋿錀錁錂錃錄錅錆錇錈錉洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑�".split("");for(a=0;a!=t[228].length;++a)if(t[228][a].charCodeAt(0)!==65533){r[t[228][a]]=58368+a;e[58368+a]=t[228][a]}t[229]="����������������������������������������������������������������錊錋錌錍錎錏錐錑錒錓錔錕錖錗錘錙錚錛錜錝錞錟錠錡錢錣錤錥錦錧錨錩錪錫錬錭錮錯錰錱録錳錴錵錶錷錸錹錺錻錼錽錿鍀鍁鍂鍃鍄鍅鍆鍇鍈鍉�鍊鍋鍌鍍鍎鍏鍐鍑鍒鍓鍔鍕鍖鍗鍘鍙鍚鍛鍜鍝鍞鍟鍠鍡鍢鍣鍤鍥鍦鍧鍨鍩鍫濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣�".split("");for(a=0;a!=t[229].length;++a)if(t[229][a].charCodeAt(0)!==65533){r[t[229][a]]=58624+a;e[58624+a]=t[229][a]}t[230]="����������������������������������������������������������������鍬鍭鍮鍯鍰鍱鍲鍳鍴鍵鍶鍷鍸鍹鍺鍻鍼鍽鍾鍿鎀鎁鎂鎃鎄鎅鎆鎇鎈鎉鎊鎋鎌鎍鎎鎐鎑鎒鎓鎔鎕鎖鎗鎘鎙鎚鎛鎜鎝鎞鎟鎠鎡鎢鎣鎤鎥鎦鎧鎨鎩鎪鎫�鎬鎭鎮鎯鎰鎱鎲鎳鎴鎵鎶鎷鎸鎹鎺鎻鎼鎽鎾鎿鏀鏁鏂鏃鏄鏅鏆鏇鏈鏉鏋鏌鏍妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩�".split("");for(a=0;a!=t[230].length;++a)if(t[230][a].charCodeAt(0)!==65533){r[t[230][a]]=58880+a;e[58880+a]=t[230][a]}t[231]="����������������������������������������������������������������鏎鏏鏐鏑鏒鏓鏔鏕鏗鏘鏙鏚鏛鏜鏝鏞鏟鏠鏡鏢鏣鏤鏥鏦鏧鏨鏩鏪鏫鏬鏭鏮鏯鏰鏱鏲鏳鏴鏵鏶鏷鏸鏹鏺鏻鏼鏽鏾鏿鐀鐁鐂鐃鐄鐅鐆鐇鐈鐉鐊鐋鐌鐍�鐎鐏鐐鐑鐒鐓鐔鐕鐖鐗鐘鐙鐚鐛鐜鐝鐞鐟鐠鐡鐢鐣鐤鐥鐦鐧鐨鐩鐪鐫鐬鐭鐮纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡缢缣缤缥缦缧缪缫缬缭缯缰缱缲缳缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬�".split("");for(a=0;a!=t[231].length;++a)if(t[231][a].charCodeAt(0)!==65533){r[t[231][a]]=59136+a;e[59136+a]=t[231][a]}t[232]="����������������������������������������������������������������鐯鐰鐱鐲鐳鐴鐵鐶鐷鐸鐹鐺鐻鐼鐽鐿鑀鑁鑂鑃鑄鑅鑆鑇鑈鑉鑊鑋鑌鑍鑎鑏鑐鑑鑒鑓鑔鑕鑖鑗鑘鑙鑚鑛鑜鑝鑞鑟鑠鑡鑢鑣鑤鑥鑦鑧鑨鑩鑪鑬鑭鑮鑯�鑰鑱鑲鑳鑴鑵鑶鑷鑸鑹鑺鑻鑼鑽鑾鑿钀钁钂钃钄钑钖钘铇铏铓铔铚铦铻锜锠琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹�".split("");for(a=0;a!=t[232].length;++a)if(t[232][a].charCodeAt(0)!==65533){r[t[232][a]]=59392+a;e[59392+a]=t[232][a]}t[233]="����������������������������������������������������������������锧锳锽镃镈镋镕镚镠镮镴镵長镸镹镺镻镼镽镾門閁閂閃閄閅閆閇閈閉閊開閌閍閎閏閐閑閒間閔閕閖閗閘閙閚閛閜閝閞閟閠閡関閣閤閥閦閧閨閩閪�閫閬閭閮閯閰閱閲閳閴閵閶閷閸閹閺閻閼閽閾閿闀闁闂闃闄闅闆闇闈闉闊闋椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋�".split("");for(a=0;a!=t[233].length;++a)if(t[233][a].charCodeAt(0)!==65533){r[t[233][a]]=59648+a;e[59648+a]=t[233][a]}t[234]="����������������������������������������������������������������闌闍闎闏闐闑闒闓闔闕闖闗闘闙闚闛關闝闞闟闠闡闢闣闤闥闦闧闬闿阇阓阘阛阞阠阣阤阥阦阧阨阩阫阬阭阯阰阷阸阹阺阾陁陃陊陎陏陑陒陓陖陗�陘陙陚陜陝陞陠陣陥陦陫陭陮陯陰陱陳陸陹険陻陼陽陾陿隀隁隂隃隄隇隉隊辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰�".split("");for(a=0;a!=t[234].length;++a)if(t[234][a].charCodeAt(0)!==65533){r[t[234][a]]=59904+a;e[59904+a]=t[234][a]}t[235]="����������������������������������������������������������������隌階隑隒隓隕隖隚際隝隞隟隠隡隢隣隤隥隦隨隩險隫隬隭隮隯隱隲隴隵隷隸隺隻隿雂雃雈雊雋雐雑雓雔雖雗雘雙雚雛雜雝雞雟雡離難雤雥雦雧雫�雬雭雮雰雱雲雴雵雸雺電雼雽雿霂霃霅霊霋霌霐霑霒霔霕霗霘霙霚霛霝霟霠搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻�".split("");for(a=0;a!=t[235].length;++a)if(t[235][a].charCodeAt(0)!==65533){r[t[235][a]]=60160+a;e[60160+a]=t[235][a]}t[236]="����������������������������������������������������������������霡霢霣霤霥霦霧霨霩霫霬霮霯霱霳霴霵霶霷霺霻霼霽霿靀靁靂靃靄靅靆靇靈靉靊靋靌靍靎靏靐靑靔靕靗靘靚靜靝靟靣靤靦靧靨靪靫靬靭靮靯靰靱�靲靵靷靸靹靺靻靽靾靿鞀鞁鞂鞃鞄鞆鞇鞈鞉鞊鞌鞎鞏鞐鞓鞕鞖鞗鞙鞚鞛鞜鞝臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐�".split(""); +for(a=0;a!=t[236].length;++a)if(t[236][a].charCodeAt(0)!==65533){r[t[236][a]]=60416+a;e[60416+a]=t[236][a]}t[237]="����������������������������������������������������������������鞞鞟鞡鞢鞤鞥鞦鞧鞨鞩鞪鞬鞮鞰鞱鞳鞵鞶鞷鞸鞹鞺鞻鞼鞽鞾鞿韀韁韂韃韄韅韆韇韈韉韊韋韌韍韎韏韐韑韒韓韔韕韖韗韘韙韚韛韜韝韞韟韠韡韢韣�韤韥韨韮韯韰韱韲韴韷韸韹韺韻韼韽韾響頀頁頂頃頄項順頇須頉頊頋頌頍頎怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨�".split("");for(a=0;a!=t[237].length;++a)if(t[237][a].charCodeAt(0)!==65533){r[t[237][a]]=60672+a;e[60672+a]=t[237][a]}t[238]="����������������������������������������������������������������頏預頑頒頓頔頕頖頗領頙頚頛頜頝頞頟頠頡頢頣頤頥頦頧頨頩頪頫頬頭頮頯頰頱頲頳頴頵頶頷頸頹頺頻頼頽頾頿顀顁顂顃顄顅顆顇顈顉顊顋題額�顎顏顐顑顒顓顔顕顖顗願顙顚顛顜顝類顟顠顡顢顣顤顥顦顧顨顩顪顫顬顭顮睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶钷钸钹钺钼钽钿铄铈铉铊铋铌铍铎铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪�".split("");for(a=0;a!=t[238].length;++a)if(t[238][a].charCodeAt(0)!==65533){r[t[238][a]]=60928+a;e[60928+a]=t[238][a]}t[239]="����������������������������������������������������������������顯顰顱顲顳顴颋颎颒颕颙颣風颩颪颫颬颭颮颯颰颱颲颳颴颵颶颷颸颹颺颻颼颽颾颿飀飁飂飃飄飅飆飇飈飉飊飋飌飍飏飐飔飖飗飛飜飝飠飡飢飣飤�飥飦飩飪飫飬飭飮飯飰飱飲飳飴飵飶飷飸飹飺飻飼飽飾飿餀餁餂餃餄餅餆餇铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒锓锔锕锖锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤镥镦镧镨镩镪镫镬镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔�".split("");for(a=0;a!=t[239].length;++a)if(t[239][a].charCodeAt(0)!==65533){r[t[239][a]]=61184+a;e[61184+a]=t[239][a]}t[240]="����������������������������������������������������������������餈餉養餋餌餎餏餑餒餓餔餕餖餗餘餙餚餛餜餝餞餟餠餡餢餣餤餥餦餧館餩餪餫餬餭餯餰餱餲餳餴餵餶餷餸餹餺餻餼餽餾餿饀饁饂饃饄饅饆饇饈饉�饊饋饌饍饎饏饐饑饒饓饖饗饘饙饚饛饜饝饞饟饠饡饢饤饦饳饸饹饻饾馂馃馉稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨鸩鸪鸫鸬鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦鹧鹨鹩鹪鹫鹬鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙�".split("");for(a=0;a!=t[240].length;++a)if(t[240][a].charCodeAt(0)!==65533){r[t[240][a]]=61440+a;e[61440+a]=t[240][a]}t[241]="����������������������������������������������������������������馌馎馚馛馜馝馞馟馠馡馢馣馤馦馧馩馪馫馬馭馮馯馰馱馲馳馴馵馶馷馸馹馺馻馼馽馾馿駀駁駂駃駄駅駆駇駈駉駊駋駌駍駎駏駐駑駒駓駔駕駖駗駘�駙駚駛駜駝駞駟駠駡駢駣駤駥駦駧駨駩駪駫駬駭駮駯駰駱駲駳駴駵駶駷駸駹瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃�".split("");for(a=0;a!=t[241].length;++a)if(t[241][a].charCodeAt(0)!==65533){r[t[241][a]]=61696+a;e[61696+a]=t[241][a]}t[242]="����������������������������������������������������������������駺駻駼駽駾駿騀騁騂騃騄騅騆騇騈騉騊騋騌騍騎騏騐騑騒験騔騕騖騗騘騙騚騛騜騝騞騟騠騡騢騣騤騥騦騧騨騩騪騫騬騭騮騯騰騱騲騳騴騵騶騷騸�騹騺騻騼騽騾騿驀驁驂驃驄驅驆驇驈驉驊驋驌驍驎驏驐驑驒驓驔驕驖驗驘驙颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒�".split("");for(a=0;a!=t[242].length;++a)if(t[242][a].charCodeAt(0)!==65533){r[t[242][a]]=61952+a;e[61952+a]=t[242][a]}t[243]="����������������������������������������������������������������驚驛驜驝驞驟驠驡驢驣驤驥驦驧驨驩驪驫驲骃骉骍骎骔骕骙骦骩骪骫骬骭骮骯骲骳骴骵骹骻骽骾骿髃髄髆髇髈髉髊髍髎髏髐髒體髕髖髗髙髚髛髜�髝髞髠髢髣髤髥髧髨髩髪髬髮髰髱髲髳髴髵髶髷髸髺髼髽髾髿鬀鬁鬂鬄鬅鬆蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋�".split("");for(a=0;a!=t[243].length;++a)if(t[243][a].charCodeAt(0)!==65533){r[t[243][a]]=62208+a;e[62208+a]=t[243][a]}t[244]="����������������������������������������������������������������鬇鬉鬊鬋鬌鬍鬎鬐鬑鬒鬔鬕鬖鬗鬘鬙鬚鬛鬜鬝鬞鬠鬡鬢鬤鬥鬦鬧鬨鬩鬪鬫鬬鬭鬮鬰鬱鬳鬴鬵鬶鬷鬸鬹鬺鬽鬾鬿魀魆魊魋魌魎魐魒魓魕魖魗魘魙魚�魛魜魝魞魟魠魡魢魣魤魥魦魧魨魩魪魫魬魭魮魯魰魱魲魳魴魵魶魷魸魹魺魻簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤�".split("");for(a=0;a!=t[244].length;++a)if(t[244][a].charCodeAt(0)!==65533){r[t[244][a]]=62464+a;e[62464+a]=t[244][a]}t[245]="����������������������������������������������������������������魼魽魾魿鮀鮁鮂鮃鮄鮅鮆鮇鮈鮉鮊鮋鮌鮍鮎鮏鮐鮑鮒鮓鮔鮕鮖鮗鮘鮙鮚鮛鮜鮝鮞鮟鮠鮡鮢鮣鮤鮥鮦鮧鮨鮩鮪鮫鮬鮭鮮鮯鮰鮱鮲鮳鮴鮵鮶鮷鮸鮹鮺�鮻鮼鮽鮾鮿鯀鯁鯂鯃鯄鯅鯆鯇鯈鯉鯊鯋鯌鯍鯎鯏鯐鯑鯒鯓鯔鯕鯖鯗鯘鯙鯚鯛酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜�".split("");for(a=0;a!=t[245].length;++a)if(t[245][a].charCodeAt(0)!==65533){r[t[245][a]]=62720+a;e[62720+a]=t[245][a]}t[246]="����������������������������������������������������������������鯜鯝鯞鯟鯠鯡鯢鯣鯤鯥鯦鯧鯨鯩鯪鯫鯬鯭鯮鯯鯰鯱鯲鯳鯴鯵鯶鯷鯸鯹鯺鯻鯼鯽鯾鯿鰀鰁鰂鰃鰄鰅鰆鰇鰈鰉鰊鰋鰌鰍鰎鰏鰐鰑鰒鰓鰔鰕鰖鰗鰘鰙鰚�鰛鰜鰝鰞鰟鰠鰡鰢鰣鰤鰥鰦鰧鰨鰩鰪鰫鰬鰭鰮鰯鰰鰱鰲鰳鰴鰵鰶鰷鰸鰹鰺鰻觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅龆龇龈龉龊龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞鲟鲠鲡鲢鲣鲥鲦鲧鲨鲩鲫鲭鲮鲰鲱鲲鲳鲴鲵鲶鲷鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋�".split("");for(a=0;a!=t[246].length;++a)if(t[246][a].charCodeAt(0)!==65533){r[t[246][a]]=62976+a;e[62976+a]=t[246][a]}t[247]="����������������������������������������������������������������鰼鰽鰾鰿鱀鱁鱂鱃鱄鱅鱆鱇鱈鱉鱊鱋鱌鱍鱎鱏鱐鱑鱒鱓鱔鱕鱖鱗鱘鱙鱚鱛鱜鱝鱞鱟鱠鱡鱢鱣鱤鱥鱦鱧鱨鱩鱪鱫鱬鱭鱮鱯鱰鱱鱲鱳鱴鱵鱶鱷鱸鱹鱺�鱻鱽鱾鲀鲃鲄鲉鲊鲌鲏鲓鲖鲗鲘鲙鲝鲪鲬鲯鲹鲾鲿鳀鳁鳂鳈鳉鳑鳒鳚鳛鳠鳡鳌鳍鳎鳏鳐鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄�".split("");for(a=0;a!=t[247].length;++a)if(t[247][a].charCodeAt(0)!==65533){r[t[247][a]]=63232+a;e[63232+a]=t[247][a]}t[248]="����������������������������������������������������������������鳣鳤鳥鳦鳧鳨鳩鳪鳫鳬鳭鳮鳯鳰鳱鳲鳳鳴鳵鳶鳷鳸鳹鳺鳻鳼鳽鳾鳿鴀鴁鴂鴃鴄鴅鴆鴇鴈鴉鴊鴋鴌鴍鴎鴏鴐鴑鴒鴓鴔鴕鴖鴗鴘鴙鴚鴛鴜鴝鴞鴟鴠鴡�鴢鴣鴤鴥鴦鴧鴨鴩鴪鴫鴬鴭鴮鴯鴰鴱鴲鴳鴴鴵鴶鴷鴸鴹鴺鴻鴼鴽鴾鴿鵀鵁鵂�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[248].length;++a)if(t[248][a].charCodeAt(0)!==65533){r[t[248][a]]=63488+a;e[63488+a]=t[248][a]}t[249]="����������������������������������������������������������������鵃鵄鵅鵆鵇鵈鵉鵊鵋鵌鵍鵎鵏鵐鵑鵒鵓鵔鵕鵖鵗鵘鵙鵚鵛鵜鵝鵞鵟鵠鵡鵢鵣鵤鵥鵦鵧鵨鵩鵪鵫鵬鵭鵮鵯鵰鵱鵲鵳鵴鵵鵶鵷鵸鵹鵺鵻鵼鵽鵾鵿鶀鶁�鶂鶃鶄鶅鶆鶇鶈鶉鶊鶋鶌鶍鶎鶏鶐鶑鶒鶓鶔鶕鶖鶗鶘鶙鶚鶛鶜鶝鶞鶟鶠鶡鶢�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[249].length;++a)if(t[249][a].charCodeAt(0)!==65533){r[t[249][a]]=63744+a;e[63744+a]=t[249][a]}t[250]="����������������������������������������������������������������鶣鶤鶥鶦鶧鶨鶩鶪鶫鶬鶭鶮鶯鶰鶱鶲鶳鶴鶵鶶鶷鶸鶹鶺鶻鶼鶽鶾鶿鷀鷁鷂鷃鷄鷅鷆鷇鷈鷉鷊鷋鷌鷍鷎鷏鷐鷑鷒鷓鷔鷕鷖鷗鷘鷙鷚鷛鷜鷝鷞鷟鷠鷡�鷢鷣鷤鷥鷦鷧鷨鷩鷪鷫鷬鷭鷮鷯鷰鷱鷲鷳鷴鷵鷶鷷鷸鷹鷺鷻鷼鷽鷾鷿鸀鸁鸂�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[250].length;++a)if(t[250][a].charCodeAt(0)!==65533){r[t[250][a]]=64e3+a;e[64e3+a]=t[250][a]}t[251]="����������������������������������������������������������������鸃鸄鸅鸆鸇鸈鸉鸊鸋鸌鸍鸎鸏鸐鸑鸒鸓鸔鸕鸖鸗鸘鸙鸚鸛鸜鸝鸞鸤鸧鸮鸰鸴鸻鸼鹀鹍鹐鹒鹓鹔鹖鹙鹝鹟鹠鹡鹢鹥鹮鹯鹲鹴鹵鹶鹷鹸鹹鹺鹻鹼鹽麀�麁麃麄麅麆麉麊麌麍麎麏麐麑麔麕麖麗麘麙麚麛麜麞麠麡麢麣麤麥麧麨麩麪�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[251].length;++a)if(t[251][a].charCodeAt(0)!==65533){r[t[251][a]]=64256+a;e[64256+a]=t[251][a]}t[252]="����������������������������������������������������������������麫麬麭麮麯麰麱麲麳麵麶麷麹麺麼麿黀黁黂黃黅黆黇黈黊黋黌黐黒黓黕黖黗黙黚點黡黣黤黦黨黫黬黭黮黰黱黲黳黴黵黶黷黸黺黽黿鼀鼁鼂鼃鼄鼅�鼆鼇鼈鼉鼊鼌鼏鼑鼒鼔鼕鼖鼘鼚鼛鼜鼝鼞鼟鼡鼣鼤鼥鼦鼧鼨鼩鼪鼫鼭鼮鼰鼱�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[252].length;++a)if(t[252][a].charCodeAt(0)!==65533){r[t[252][a]]=64512+a;e[64512+a]=t[252][a]}t[253]="����������������������������������������������������������������鼲鼳鼴鼵鼶鼸鼺鼼鼿齀齁齂齃齅齆齇齈齉齊齋齌齍齎齏齒齓齔齕齖齗齘齙齚齛齜齝齞齟齠齡齢齣齤齥齦齧齨齩齪齫齬齭齮齯齰齱齲齳齴齵齶齷齸�齹齺齻齼齽齾龁龂龍龎龏龐龑龒龓龔龕龖龗龘龜龝龞龡龢龣龤龥郎凉秊裏隣�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[253].length;++a)if(t[253][a].charCodeAt(0)!==65533){r[t[253][a]]=64768+a;e[64768+a]=t[253][a]}t[254]="����������������������������������������������������������������兀嗀﨎﨏﨑﨓﨔礼﨟蘒﨡﨣﨤﨧﨨﨩��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[254].length;++a)if(t[254][a].charCodeAt(0)!==65533){r[t[254][a]]=65024+a;e[65024+a]=t[254][a]}return{enc:r,dec:e}}();cptable[949]=function(){var e=[],r={},t=[],a;t[0]="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[0].length;++a)if(t[0][a].charCodeAt(0)!==65533){r[t[0][a]]=0+a;e[0+a]=t[0][a]}t[129]="�����������������������������������������������������������������갂갃갅갆갋갌갍갎갏갘갞갟갡갢갣갥갦갧갨갩갪갫갮갲갳갴������갵갶갷갺갻갽갾갿걁걂걃걄걅걆걇걈걉걊걌걎걏걐걑걒걓걕������걖걗걙걚걛걝걞걟걠걡걢걣걤걥걦걧걨걩걪걫걬걭걮걯걲걳걵걶걹걻걼걽걾걿겂겇겈겍겎겏겑겒겓겕겖겗겘겙겚겛겞겢겣겤겥겦겧겫겭겮겱겲겳겴겵겶겷겺겾겿곀곂곃곅곆곇곉곊곋곍곎곏곐곑곒곓곔곖곘곙곚곛곜곝곞곟곢곣곥곦곩곫곭곮곲곴곷곸곹곺곻곾곿괁괂괃괅괇괈괉괊괋괎괐괒괓�".split("");for(a=0;a!=t[129].length;++a)if(t[129][a].charCodeAt(0)!==65533){r[t[129][a]]=33024+a;e[33024+a]=t[129][a]}t[130]="�����������������������������������������������������������������괔괕괖괗괙괚괛괝괞괟괡괢괣괤괥괦괧괨괪괫괮괯괰괱괲괳������괶괷괹괺괻괽괾괿굀굁굂굃굆굈굊굋굌굍굎굏굑굒굓굕굖굗������굙굚굛굜굝굞굟굠굢굤굥굦굧굨굩굪굫굮굯굱굲굷굸굹굺굾궀궃궄궅궆궇궊궋궍궎궏궑궒궓궔궕궖궗궘궙궚궛궞궟궠궡궢궣궥궦궧궨궩궪궫궬궭궮궯궰궱궲궳궴궵궶궸궹궺궻궼궽궾궿귂귃귅귆귇귉귊귋귌귍귎귏귒귔귕귖귗귘귙귚귛귝귞귟귡귢귣귥귦귧귨귩귪귫귬귭귮귯귰귱귲귳귴귵귶귷�".split("");for(a=0;a!=t[130].length;++a)if(t[130][a].charCodeAt(0)!==65533){r[t[130][a]]=33280+a;e[33280+a]=t[130][a]}t[131]="�����������������������������������������������������������������귺귻귽귾긂긃긄긅긆긇긊긌긎긏긐긑긒긓긕긖긗긘긙긚긛긜������긝긞긟긠긡긢긣긤긥긦긧긨긩긪긫긬긭긮긯긲긳긵긶긹긻긼������긽긾긿깂깄깇깈깉깋깏깑깒깓깕깗깘깙깚깛깞깢깣깤깦깧깪깫깭깮깯깱깲깳깴깵깶깷깺깾깿꺀꺁꺂꺃꺆꺇꺈꺉꺊꺋꺍꺎꺏꺐꺑꺒꺓꺔꺕꺖꺗꺘꺙꺚꺛꺜꺝꺞꺟꺠꺡꺢꺣꺤꺥꺦꺧꺨꺩꺪꺫꺬꺭꺮꺯꺰꺱꺲꺳꺴꺵꺶꺷꺸꺹꺺꺻꺿껁껂껃껅껆껇껈껉껊껋껎껒껓껔껕껖껗껚껛껝껞껟껠껡껢껣껤껥�".split("");for(a=0;a!=t[131].length;++a)if(t[131][a].charCodeAt(0)!==65533){r[t[131][a]]=33536+a;e[33536+a]=t[131][a]}t[132]="�����������������������������������������������������������������껦껧껩껪껬껮껯껰껱껲껳껵껶껷껹껺껻껽껾껿꼀꼁꼂꼃꼄꼅������꼆꼉꼊꼋꼌꼎꼏꼑꼒꼓꼔꼕꼖꼗꼘꼙꼚꼛꼜꼝꼞꼟꼠꼡꼢꼣������꼤꼥꼦꼧꼨꼩꼪꼫꼮꼯꼱꼳꼵꼶꼷꼸꼹꼺꼻꼾꽀꽄꽅꽆꽇꽊꽋꽌꽍꽎꽏꽑꽒꽓꽔꽕꽖꽗꽘꽙꽚꽛꽞꽟꽠꽡꽢꽣꽦꽧꽨꽩꽪꽫꽬꽭꽮꽯꽰꽱꽲꽳꽴꽵꽶꽷꽸꽺꽻꽼꽽꽾꽿꾁꾂꾃꾅꾆꾇꾉꾊꾋꾌꾍꾎꾏꾒꾓꾔꾖꾗꾘꾙꾚꾛꾝꾞꾟꾠꾡꾢꾣꾤꾥꾦꾧꾨꾩꾪꾫꾬꾭꾮꾯꾰꾱꾲꾳꾴꾵꾶꾷꾺꾻꾽꾾�".split("");for(a=0;a!=t[132].length;++a)if(t[132][a].charCodeAt(0)!==65533){r[t[132][a]]=33792+a;e[33792+a]=t[132][a]}t[133]="�����������������������������������������������������������������꾿꿁꿂꿃꿄꿅꿆꿊꿌꿏꿐꿑꿒꿓꿕꿖꿗꿘꿙꿚꿛꿝꿞꿟꿠꿡������꿢꿣꿤꿥꿦꿧꿪꿫꿬꿭꿮꿯꿲꿳꿵꿶꿷꿹꿺꿻꿼꿽꿾꿿뀂뀃������뀅뀆뀇뀈뀉뀊뀋뀍뀎뀏뀑뀒뀓뀕뀖뀗뀘뀙뀚뀛뀞뀟뀠뀡뀢뀣뀤뀥뀦뀧뀩뀪뀫뀬뀭뀮뀯뀰뀱뀲뀳뀴뀵뀶뀷뀸뀹뀺뀻뀼뀽뀾뀿끀끁끂끃끆끇끉끋끍끏끐끑끒끖끘끚끛끜끞끟끠끡끢끣끤끥끦끧끨끩끪끫끬끭끮끯끰끱끲끳끴끵끶끷끸끹끺끻끾끿낁낂낃낅낆낇낈낉낊낋낎낐낒낓낔낕낖낗낛낝낞낣낤�".split("");for(a=0;a!=t[133].length;++a)if(t[133][a].charCodeAt(0)!==65533){r[t[133][a]]=34048+a;e[34048+a]=t[133][a]}t[134]="�����������������������������������������������������������������낥낦낧낪낰낲낶낷낹낺낻낽낾낿냀냁냂냃냆냊냋냌냍냎냏냒������냓냕냖냗냙냚냛냜냝냞냟냡냢냣냤냦냧냨냩냪냫냬냭냮냯냰������냱냲냳냴냵냶냷냸냹냺냻냼냽냾냿넀넁넂넃넄넅넆넇넊넍넎넏넑넔넕넖넗넚넞넟넠넡넢넦넧넩넪넫넭넮넯넰넱넲넳넶넺넻넼넽넾넿녂녃녅녆녇녉녊녋녌녍녎녏녒녓녖녗녙녚녛녝녞녟녡녢녣녤녥녦녧녨녩녪녫녬녭녮녯녰녱녲녳녴녵녶녷녺녻녽녾녿놁놃놄놅놆놇놊놌놎놏놐놑놕놖놗놙놚놛놝�".split("");for(a=0;a!=t[134].length;++a)if(t[134][a].charCodeAt(0)!==65533){r[t[134][a]]=34304+a;e[34304+a]=t[134][a]}t[135]="�����������������������������������������������������������������놞놟놠놡놢놣놤놥놦놧놩놪놫놬놭놮놯놰놱놲놳놴놵놶놷놸������놹놺놻놼놽놾놿뇀뇁뇂뇃뇄뇅뇆뇇뇈뇉뇊뇋뇍뇎뇏뇑뇒뇓뇕������뇖뇗뇘뇙뇚뇛뇞뇠뇡뇢뇣뇤뇥뇦뇧뇪뇫뇭뇮뇯뇱뇲뇳뇴뇵뇶뇷뇸뇺뇼뇾뇿눀눁눂눃눆눇눉눊눍눎눏눐눑눒눓눖눘눚눛눜눝눞눟눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눵눶눷눸눹눺눻눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉙뉚뉛뉝뉞뉟뉡뉢뉣뉤뉥뉦뉧뉪뉫뉬뉭뉮�".split("");for(a=0;a!=t[135].length;++a)if(t[135][a].charCodeAt(0)!==65533){r[t[135][a]]=34560+a;e[34560+a]=t[135][a]}t[136]="�����������������������������������������������������������������뉯뉰뉱뉲뉳뉶뉷뉸뉹뉺뉻뉽뉾뉿늀늁늂늃늆늇늈늊늋늌늍늎������늏늒늓늕늖늗늛늜늝늞늟늢늤늧늨늩늫늭늮늯늱늲늳늵늶늷������늸늹늺늻늼늽늾늿닀닁닂닃닄닅닆닇닊닋닍닎닏닑닓닔닕닖닗닚닜닞닟닠닡닣닧닩닪닰닱닲닶닼닽닾댂댃댅댆댇댉댊댋댌댍댎댏댒댖댗댘댙댚댛댝댞댟댠댡댢댣댤댥댦댧댨댩댪댫댬댭댮댯댰댱댲댳댴댵댶댷댸댹댺댻댼댽댾댿덀덁덂덃덄덅덆덇덈덉덊덋덌덍덎덏덐덑덒덓덗덙덚덝덠덡덢덣�".split("");for(a=0;a!=t[136].length;++a)if(t[136][a].charCodeAt(0)!==65533){r[t[136][a]]=34816+a;e[34816+a]=t[136][a]}t[137]="�����������������������������������������������������������������덦덨덪덬덭덯덲덳덵덶덷덹덺덻덼덽덾덿뎂뎆뎇뎈뎉뎊뎋뎍������뎎뎏뎑뎒뎓뎕뎖뎗뎘뎙뎚뎛뎜뎝뎞뎟뎢뎣뎤뎥뎦뎧뎩뎪뎫뎭������뎮뎯뎰뎱뎲뎳뎴뎵뎶뎷뎸뎹뎺뎻뎼뎽뎾뎿돀돁돂돃돆돇돉돊돍돏돑돒돓돖돘돚돜돞돟돡돢돣돥돦돧돩돪돫돬돭돮돯돰돱돲돳돴돵돶돷돸돹돺돻돽돾돿됀됁됂됃됄됅됆됇됈됉됊됋됌됍됎됏됑됒됓됔됕됖됗됙됚됛됝됞됟됡됢됣됤됥됦됧됪됬됭됮됯됰됱됲됳됵됶됷됸됹됺됻됼됽됾됿둀둁둂둃둄�".split("");for(a=0;a!=t[137].length;++a)if(t[137][a].charCodeAt(0)!==65533){r[t[137][a]]=35072+a;e[35072+a]=t[137][a]}t[138]="�����������������������������������������������������������������둅둆둇둈둉둊둋둌둍둎둏둒둓둕둖둗둙둚둛둜둝둞둟둢둤둦������둧둨둩둪둫둭둮둯둰둱둲둳둴둵둶둷둸둹둺둻둼둽둾둿뒁뒂������뒃뒄뒅뒆뒇뒉뒊뒋뒌뒍뒎뒏뒐뒑뒒뒓뒔뒕뒖뒗뒘뒙뒚뒛뒜뒞뒟뒠뒡뒢뒣뒥뒦뒧뒩뒪뒫뒭뒮뒯뒰뒱뒲뒳뒴뒶뒸뒺뒻뒼뒽뒾뒿듁듂듃듅듆듇듉듊듋듌듍듎듏듑듒듓듔듖듗듘듙듚듛듞듟듡듢듥듧듨듩듪듫듮듰듲듳듴듵듶듷듹듺듻듼듽듾듿딀딁딂딃딄딅딆딇딈딉딊딋딌딍딎딏딐딑딒딓딖딗딙딚딝�".split("");for(a=0;a!=t[138].length;++a)if(t[138][a].charCodeAt(0)!==65533){r[t[138][a]]=35328+a;e[35328+a]=t[138][a]}t[139]="�����������������������������������������������������������������딞딟딠딡딢딣딦딫딬딭딮딯딲딳딵딶딷딹딺딻딼딽딾딿땂땆������땇땈땉땊땎땏땑땒땓땕땖땗땘땙땚땛땞땢땣땤땥땦땧땨땩땪������땫땬땭땮땯땰땱땲땳땴땵땶땷땸땹땺땻땼땽땾땿떀떁떂떃떄떅떆떇떈떉떊떋떌떍떎떏떐떑떒떓떔떕떖떗떘떙떚떛떜떝떞떟떢떣떥떦떧떩떬떭떮떯떲떶떷떸떹떺떾떿뗁뗂뗃뗅뗆뗇뗈뗉뗊뗋뗎뗒뗓뗔뗕뗖뗗뗙뗚뗛뗜뗝뗞뗟뗠뗡뗢뗣뗤뗥뗦뗧뗨뗩뗪뗫뗭뗮뗯뗰뗱뗲뗳뗴뗵뗶뗷뗸뗹뗺뗻뗼뗽뗾뗿�".split("");for(a=0;a!=t[139].length;++a)if(t[139][a].charCodeAt(0)!==65533){r[t[139][a]]=35584+a;e[35584+a]=t[139][a]}t[140]="�����������������������������������������������������������������똀똁똂똃똄똅똆똇똈똉똊똋똌똍똎똏똒똓똕똖똗똙똚똛똜똝������똞똟똠똡똢똣똤똦똧똨똩똪똫똭똮똯똰똱똲똳똵똶똷똸똹똺������똻똼똽똾똿뙀뙁뙂뙃뙄뙅뙆뙇뙉뙊뙋뙌뙍뙎뙏뙐뙑뙒뙓뙔뙕뙖뙗뙘뙙뙚뙛뙜뙝뙞뙟뙠뙡뙢뙣뙥뙦뙧뙩뙪뙫뙬뙭뙮뙯뙰뙱뙲뙳뙴뙵뙶뙷뙸뙹뙺뙻뙼뙽뙾뙿뚀뚁뚂뚃뚄뚅뚆뚇뚈뚉뚊뚋뚌뚍뚎뚏뚐뚑뚒뚓뚔뚕뚖뚗뚘뚙뚚뚛뚞뚟뚡뚢뚣뚥뚦뚧뚨뚩뚪뚭뚮뚯뚰뚲뚳뚴뚵뚶뚷뚸뚹뚺뚻뚼뚽뚾뚿뛀뛁뛂�".split("");for(a=0;a!=t[140].length;++a)if(t[140][a].charCodeAt(0)!==65533){r[t[140][a]]=35840+a;e[35840+a]=t[140][a]}t[141]="�����������������������������������������������������������������뛃뛄뛅뛆뛇뛈뛉뛊뛋뛌뛍뛎뛏뛐뛑뛒뛓뛕뛖뛗뛘뛙뛚뛛뛜뛝������뛞뛟뛠뛡뛢뛣뛤뛥뛦뛧뛨뛩뛪뛫뛬뛭뛮뛯뛱뛲뛳뛵뛶뛷뛹뛺������뛻뛼뛽뛾뛿뜂뜃뜄뜆뜇뜈뜉뜊뜋뜌뜍뜎뜏뜐뜑뜒뜓뜔뜕뜖뜗뜘뜙뜚뜛뜜뜝뜞뜟뜠뜡뜢뜣뜤뜥뜦뜧뜪뜫뜭뜮뜱뜲뜳뜴뜵뜶뜷뜺뜼뜽뜾뜿띀띁띂띃띅띆띇띉띊띋띍띎띏띐띑띒띓띖띗띘띙띚띛띜띝띞띟띡띢띣띥띦띧띩띪띫띬띭띮띯띲띴띶띷띸띹띺띻띾띿랁랂랃랅랆랇랈랉랊랋랎랓랔랕랚랛랝랞�".split("");for(a=0;a!=t[141].length;++a)if(t[141][a].charCodeAt(0)!==65533){r[t[141][a]]=36096+a;e[36096+a]=t[141][a]}t[142]="�����������������������������������������������������������������랟랡랢랣랤랥랦랧랪랮랯랰랱랲랳랶랷랹랺랻랼랽랾랿럀럁������럂럃럄럅럆럈럊럋럌럍럎럏럐럑럒럓럔럕럖럗럘럙럚럛럜럝������럞럟럠럡럢럣럤럥럦럧럨럩럪럫럮럯럱럲럳럵럶럷럸럹럺럻럾렂렃렄렅렆렊렋렍렎렏렑렒렓렔렕렖렗렚렜렞렟렠렡렢렣렦렧렩렪렫렭렮렯렰렱렲렳렶렺렻렼렽렾렿롁롂롃롅롆롇롈롉롊롋롌롍롎롏롐롒롔롕롖롗롘롙롚롛롞롟롡롢롣롥롦롧롨롩롪롫롮롰롲롳롴롵롶롷롹롺롻롽롾롿뢀뢁뢂뢃뢄�".split("");for(a=0;a!=t[142].length;++a)if(t[142][a].charCodeAt(0)!==65533){r[t[142][a]]=36352+a;e[36352+a]=t[142][a]}t[143]="�����������������������������������������������������������������뢅뢆뢇뢈뢉뢊뢋뢌뢎뢏뢐뢑뢒뢓뢔뢕뢖뢗뢘뢙뢚뢛뢜뢝뢞뢟������뢠뢡뢢뢣뢤뢥뢦뢧뢩뢪뢫뢬뢭뢮뢯뢱뢲뢳뢵뢶뢷뢹뢺뢻뢼뢽������뢾뢿룂룄룆룇룈룉룊룋룍룎룏룑룒룓룕룖룗룘룙룚룛룜룞룠룢룣룤룥룦룧룪룫룭룮룯룱룲룳룴룵룶룷룺룼룾룿뤀뤁뤂뤃뤅뤆뤇뤈뤉뤊뤋뤌뤍뤎뤏뤐뤑뤒뤓뤔뤕뤖뤗뤙뤚뤛뤜뤝뤞뤟뤡뤢뤣뤤뤥뤦뤧뤨뤩뤪뤫뤬뤭뤮뤯뤰뤱뤲뤳뤴뤵뤶뤷뤸뤹뤺뤻뤾뤿륁륂륃륅륆륇륈륉륊륋륍륎륐륒륓륔륕륖륗�".split("");for(a=0;a!=t[143].length;++a)if(t[143][a].charCodeAt(0)!==65533){r[t[143][a]]=36608+a;e[36608+a]=t[143][a]}t[144]="�����������������������������������������������������������������륚륛륝륞륟륡륢륣륤륥륦륧륪륬륮륯륰륱륲륳륶륷륹륺륻륽������륾륿릀릁릂릃릆릈릋릌릏릐릑릒릓릔릕릖릗릘릙릚릛릜릝릞������릟릠릡릢릣릤릥릦릧릨릩릪릫릮릯릱릲릳릵릶릷릸릹릺릻릾맀맂맃맄맅맆맇맊맋맍맓맔맕맖맗맚맜맟맠맢맦맧맩맪맫맭맮맯맰맱맲맳맶맻맼맽맾맿먂먃먄먅먆먇먉먊먋먌먍먎먏먐먑먒먓먔먖먗먘먙먚먛먜먝먞먟먠먡먢먣먤먥먦먧먨먩먪먫먬먭먮먯먰먱먲먳먴먵먶먷먺먻먽먾먿멁멃멄멅멆�".split("");for(a=0;a!=t[144].length;++a)if(t[144][a].charCodeAt(0)!==65533){r[t[144][a]]=36864+a;e[36864+a]=t[144][a]}t[145]="�����������������������������������������������������������������멇멊멌멏멐멑멒멖멗멙멚멛멝멞멟멠멡멢멣멦멪멫멬멭멮멯������멲멳멵멶멷멹멺멻멼멽멾멿몀몁몂몆몈몉몊몋몍몎몏몐몑몒������몓몔몕몖몗몘몙몚몛몜몝몞몟몠몡몢몣몤몥몦몧몪몭몮몯몱몳몴몵몶몷몺몼몾몿뫀뫁뫂뫃뫅뫆뫇뫉뫊뫋뫌뫍뫎뫏뫐뫑뫒뫓뫔뫕뫖뫗뫚뫛뫜뫝뫞뫟뫠뫡뫢뫣뫤뫥뫦뫧뫨뫩뫪뫫뫬뫭뫮뫯뫰뫱뫲뫳뫴뫵뫶뫷뫸뫹뫺뫻뫽뫾뫿묁묂묃묅묆묇묈묉묊묋묌묎묐묒묓묔묕묖묗묙묚묛묝묞묟묡묢묣묤묥묦묧�".split("");for(a=0;a!=t[145].length;++a)if(t[145][a].charCodeAt(0)!==65533){r[t[145][a]]=37120+a;e[37120+a]=t[145][a]}t[146]="�����������������������������������������������������������������묨묪묬묭묮묯묰묱묲묳묷묹묺묿뭀뭁뭂뭃뭆뭈뭊뭋뭌뭎뭑뭒������뭓뭕뭖뭗뭙뭚뭛뭜뭝뭞뭟뭠뭢뭤뭥뭦뭧뭨뭩뭪뭫뭭뭮뭯뭰뭱������뭲뭳뭴뭵뭶뭷뭸뭹뭺뭻뭼뭽뭾뭿뮀뮁뮂뮃뮄뮅뮆뮇뮉뮊뮋뮍뮎뮏뮑뮒뮓뮔뮕뮖뮗뮘뮙뮚뮛뮜뮝뮞뮟뮠뮡뮢뮣뮥뮦뮧뮩뮪뮫뮭뮮뮯뮰뮱뮲뮳뮵뮶뮸뮹뮺뮻뮼뮽뮾뮿믁믂믃믅믆믇믉믊믋믌믍믎믏믑믒믔믕믖믗믘믙믚믛믜믝믞믟믠믡믢믣믤믥믦믧믨믩믪믫믬믭믮믯믰믱믲믳믴믵믶믷믺믻믽믾밁�".split("");for(a=0;a!=t[146].length;++a)if(t[146][a].charCodeAt(0)!==65533){r[t[146][a]]=37376+a;e[37376+a]=t[146][a]}t[147]="�����������������������������������������������������������������밃밄밅밆밇밊밎밐밒밓밙밚밠밡밢밣밦밨밪밫밬밮밯밲밳밵������밶밷밹밺밻밼밽밾밿뱂뱆뱇뱈뱊뱋뱎뱏뱑뱒뱓뱔뱕뱖뱗뱘뱙������뱚뱛뱜뱞뱟뱠뱡뱢뱣뱤뱥뱦뱧뱨뱩뱪뱫뱬뱭뱮뱯뱰뱱뱲뱳뱴뱵뱶뱷뱸뱹뱺뱻뱼뱽뱾뱿벀벁벂벃벆벇벉벊벍벏벐벑벒벓벖벘벛벜벝벞벟벢벣벥벦벩벪벫벬벭벮벯벲벶벷벸벹벺벻벾벿볁볂볃볅볆볇볈볉볊볋볌볎볒볓볔볖볗볙볚볛볝볞볟볠볡볢볣볤볥볦볧볨볩볪볫볬볭볮볯볰볱볲볳볷볹볺볻볽�".split("");for(a=0;a!=t[147].length;++a)if(t[147][a].charCodeAt(0)!==65533){r[t[147][a]]=37632+a;e[37632+a]=t[147][a]}t[148]="�����������������������������������������������������������������볾볿봀봁봂봃봆봈봊봋봌봍봎봏봑봒봓봕봖봗봘봙봚봛봜봝������봞봟봠봡봢봣봥봦봧봨봩봪봫봭봮봯봰봱봲봳봴봵봶봷봸봹������봺봻봼봽봾봿뵁뵂뵃뵄뵅뵆뵇뵊뵋뵍뵎뵏뵑뵒뵓뵔뵕뵖뵗뵚뵛뵜뵝뵞뵟뵠뵡뵢뵣뵥뵦뵧뵩뵪뵫뵬뵭뵮뵯뵰뵱뵲뵳뵴뵵뵶뵷뵸뵹뵺뵻뵼뵽뵾뵿붂붃붅붆붋붌붍붎붏붒붔붖붗붘붛붝붞붟붠붡붢붣붥붦붧붨붩붪붫붬붭붮붯붱붲붳붴붵붶붷붹붺붻붼붽붾붿뷀뷁뷂뷃뷄뷅뷆뷇뷈뷉뷊뷋뷌뷍뷎뷏뷐뷑�".split("");for(a=0;a!=t[148].length;++a)if(t[148][a].charCodeAt(0)!==65533){r[t[148][a]]=37888+a;e[37888+a]=t[148][a]}t[149]="�����������������������������������������������������������������뷒뷓뷖뷗뷙뷚뷛뷝뷞뷟뷠뷡뷢뷣뷤뷥뷦뷧뷨뷪뷫뷬뷭뷮뷯뷱������뷲뷳뷵뷶뷷뷹뷺뷻뷼뷽뷾뷿븁븂븄븆븇븈븉븊븋븎븏븑븒븓������븕븖븗븘븙븚븛븞븠븡븢븣븤븥븦븧븨븩븪븫븬븭븮븯븰븱븲븳븴븵븶븷븸븹븺븻븼븽븾븿빀빁빂빃빆빇빉빊빋빍빏빐빑빒빓빖빘빜빝빞빟빢빣빥빦빧빩빫빬빭빮빯빲빶빷빸빹빺빾빿뺁뺂뺃뺅뺆뺇뺈뺉뺊뺋뺎뺒뺓뺔뺕뺖뺗뺚뺛뺜뺝뺞뺟뺠뺡뺢뺣뺤뺥뺦뺧뺩뺪뺫뺬뺭뺮뺯뺰뺱뺲뺳뺴뺵뺶뺷�".split("");for(a=0;a!=t[149].length;++a)if(t[149][a].charCodeAt(0)!==65533){r[t[149][a]]=38144+a;e[38144+a]=t[149][a]}t[150]="�����������������������������������������������������������������뺸뺹뺺뺻뺼뺽뺾뺿뻀뻁뻂뻃뻄뻅뻆뻇뻈뻉뻊뻋뻌뻍뻎뻏뻒뻓������뻕뻖뻙뻚뻛뻜뻝뻞뻟뻡뻢뻦뻧뻨뻩뻪뻫뻭뻮뻯뻰뻱뻲뻳뻴뻵������뻶뻷뻸뻹뻺뻻뻼뻽뻾뻿뼀뼂뼃뼄뼅뼆뼇뼊뼋뼌뼍뼎뼏뼐뼑뼒뼓뼔뼕뼖뼗뼚뼞뼟뼠뼡뼢뼣뼤뼥뼦뼧뼨뼩뼪뼫뼬뼭뼮뼯뼰뼱뼲뼳뼴뼵뼶뼷뼸뼹뼺뼻뼼뼽뼾뼿뽂뽃뽅뽆뽇뽉뽊뽋뽌뽍뽎뽏뽒뽓뽔뽖뽗뽘뽙뽚뽛뽜뽝뽞뽟뽠뽡뽢뽣뽤뽥뽦뽧뽨뽩뽪뽫뽬뽭뽮뽯뽰뽱뽲뽳뽴뽵뽶뽷뽸뽹뽺뽻뽼뽽뽾뽿뾀뾁뾂�".split("");for(a=0;a!=t[150].length;++a)if(t[150][a].charCodeAt(0)!==65533){r[t[150][a]]=38400+a;e[38400+a]=t[150][a]}t[151]="�����������������������������������������������������������������뾃뾄뾅뾆뾇뾈뾉뾊뾋뾌뾍뾎뾏뾐뾑뾒뾓뾕뾖뾗뾘뾙뾚뾛뾜뾝������뾞뾟뾠뾡뾢뾣뾤뾥뾦뾧뾨뾩뾪뾫뾬뾭뾮뾯뾱뾲뾳뾴뾵뾶뾷뾸������뾹뾺뾻뾼뾽뾾뾿뿀뿁뿂뿃뿄뿆뿇뿈뿉뿊뿋뿎뿏뿑뿒뿓뿕뿖뿗뿘뿙뿚뿛뿝뿞뿠뿢뿣뿤뿥뿦뿧뿨뿩뿪뿫뿬뿭뿮뿯뿰뿱뿲뿳뿴뿵뿶뿷뿸뿹뿺뿻뿼뿽뿾뿿쀀쀁쀂쀃쀄쀅쀆쀇쀈쀉쀊쀋쀌쀍쀎쀏쀐쀑쀒쀓쀔쀕쀖쀗쀘쀙쀚쀛쀜쀝쀞쀟쀠쀡쀢쀣쀤쀥쀦쀧쀨쀩쀪쀫쀬쀭쀮쀯쀰쀱쀲쀳쀴쀵쀶쀷쀸쀹쀺쀻쀽쀾쀿�".split("");for(a=0;a!=t[151].length;++a)if(t[151][a].charCodeAt(0)!==65533){r[t[151][a]]=38656+a;e[38656+a]=t[151][a]}t[152]="�����������������������������������������������������������������쁀쁁쁂쁃쁄쁅쁆쁇쁈쁉쁊쁋쁌쁍쁎쁏쁐쁒쁓쁔쁕쁖쁗쁙쁚쁛������쁝쁞쁟쁡쁢쁣쁤쁥쁦쁧쁪쁫쁬쁭쁮쁯쁰쁱쁲쁳쁴쁵쁶쁷쁸쁹������쁺쁻쁼쁽쁾쁿삀삁삂삃삄삅삆삇삈삉삊삋삌삍삎삏삒삓삕삖삗삙삚삛삜삝삞삟삢삤삦삧삨삩삪삫삮삱삲삷삸삹삺삻삾샂샃샄샆샇샊샋샍샎샏샑샒샓샔샕샖샗샚샞샟샠샡샢샣샦샧샩샪샫샭샮샯샰샱샲샳샶샸샺샻샼샽샾샿섁섂섃섅섆섇섉섊섋섌섍섎섏섑섒섓섔섖섗섘섙섚섛섡섢섥섨섩섪섫섮�".split("");for(a=0;a!=t[152].length;++a)if(t[152][a].charCodeAt(0)!==65533){r[t[152][a]]=38912+a;e[38912+a]=t[152][a]}t[153]="�����������������������������������������������������������������섲섳섴섵섷섺섻섽섾섿셁셂셃셄셅셆셇셊셎셏셐셑셒셓셖셗������셙셚셛셝셞셟셠셡셢셣셦셪셫셬셭셮셯셱셲셳셵셶셷셹셺셻������셼셽셾셿솀솁솂솃솄솆솇솈솉솊솋솏솑솒솓솕솗솘솙솚솛솞솠솢솣솤솦솧솪솫솭솮솯솱솲솳솴솵솶솷솸솹솺솻솼솾솿쇀쇁쇂쇃쇅쇆쇇쇉쇊쇋쇍쇎쇏쇐쇑쇒쇓쇕쇖쇙쇚쇛쇜쇝쇞쇟쇡쇢쇣쇥쇦쇧쇩쇪쇫쇬쇭쇮쇯쇲쇴쇵쇶쇷쇸쇹쇺쇻쇾쇿숁숂숃숅숆숇숈숉숊숋숎숐숒숓숔숕숖숗숚숛숝숞숡숢숣�".split("");for(a=0;a!=t[153].length;++a)if(t[153][a].charCodeAt(0)!==65533){r[t[153][a]]=39168+a;e[39168+a]=t[153][a]}t[154]="�����������������������������������������������������������������숤숥숦숧숪숬숮숰숳숵숶숷숸숹숺숻숼숽숾숿쉀쉁쉂쉃쉄쉅������쉆쉇쉉쉊쉋쉌쉍쉎쉏쉒쉓쉕쉖쉗쉙쉚쉛쉜쉝쉞쉟쉡쉢쉣쉤쉦������쉧쉨쉩쉪쉫쉮쉯쉱쉲쉳쉵쉶쉷쉸쉹쉺쉻쉾슀슂슃슄슅슆슇슊슋슌슍슎슏슑슒슓슔슕슖슗슙슚슜슞슟슠슡슢슣슦슧슩슪슫슮슯슰슱슲슳슶슸슺슻슼슽슾슿싀싁싂싃싄싅싆싇싈싉싊싋싌싍싎싏싐싑싒싓싔싕싖싗싘싙싚싛싞싟싡싢싥싦싧싨싩싪싮싰싲싳싴싵싷싺싽싾싿쌁쌂쌃쌄쌅쌆쌇쌊쌋쌎쌏�".split("");for(a=0;a!=t[154].length;++a)if(t[154][a].charCodeAt(0)!==65533){r[t[154][a]]=39424+a;e[39424+a]=t[154][a]}t[155]="�����������������������������������������������������������������쌐쌑쌒쌖쌗쌙쌚쌛쌝쌞쌟쌠쌡쌢쌣쌦쌧쌪쌫쌬쌭쌮쌯쌰쌱쌲������쌳쌴쌵쌶쌷쌸쌹쌺쌻쌼쌽쌾쌿썀썁썂썃썄썆썇썈썉썊썋썌썍������썎썏썐썑썒썓썔썕썖썗썘썙썚썛썜썝썞썟썠썡썢썣썤썥썦썧썪썫썭썮썯썱썳썴썵썶썷썺썻썾썿쎀쎁쎂쎃쎅쎆쎇쎉쎊쎋쎍쎎쎏쎐쎑쎒쎓쎔쎕쎖쎗쎘쎙쎚쎛쎜쎝쎞쎟쎠쎡쎢쎣쎤쎥쎦쎧쎨쎩쎪쎫쎬쎭쎮쎯쎰쎱쎲쎳쎴쎵쎶쎷쎸쎹쎺쎻쎼쎽쎾쎿쏁쏂쏃쏄쏅쏆쏇쏈쏉쏊쏋쏌쏍쏎쏏쏐쏑쏒쏓쏔쏕쏖쏗쏚�".split("");for(a=0;a!=t[155].length;++a)if(t[155][a].charCodeAt(0)!==65533){r[t[155][a]]=39680+a;e[39680+a]=t[155][a]}t[156]="�����������������������������������������������������������������쏛쏝쏞쏡쏣쏤쏥쏦쏧쏪쏫쏬쏮쏯쏰쏱쏲쏳쏶쏷쏹쏺쏻쏼쏽쏾������쏿쐀쐁쐂쐃쐄쐅쐆쐇쐉쐊쐋쐌쐍쐎쐏쐑쐒쐓쐔쐕쐖쐗쐘쐙쐚������쐛쐜쐝쐞쐟쐠쐡쐢쐣쐥쐦쐧쐨쐩쐪쐫쐭쐮쐯쐱쐲쐳쐵쐶쐷쐸쐹쐺쐻쐾쐿쑀쑁쑂쑃쑄쑅쑆쑇쑉쑊쑋쑌쑍쑎쑏쑐쑑쑒쑓쑔쑕쑖쑗쑘쑙쑚쑛쑜쑝쑞쑟쑠쑡쑢쑣쑦쑧쑩쑪쑫쑭쑮쑯쑰쑱쑲쑳쑶쑷쑸쑺쑻쑼쑽쑾쑿쒁쒂쒃쒄쒅쒆쒇쒈쒉쒊쒋쒌쒍쒎쒏쒐쒑쒒쒓쒕쒖쒗쒘쒙쒚쒛쒝쒞쒟쒠쒡쒢쒣쒤쒥쒦쒧쒨쒩�".split("");for(a=0;a!=t[156].length;++a)if(t[156][a].charCodeAt(0)!==65533){r[t[156][a]]=39936+a;e[39936+a]=t[156][a]}t[157]="�����������������������������������������������������������������쒪쒫쒬쒭쒮쒯쒰쒱쒲쒳쒴쒵쒶쒷쒹쒺쒻쒽쒾쒿쓀쓁쓂쓃쓄쓅������쓆쓇쓈쓉쓊쓋쓌쓍쓎쓏쓐쓑쓒쓓쓔쓕쓖쓗쓘쓙쓚쓛쓜쓝쓞쓟������쓠쓡쓢쓣쓤쓥쓦쓧쓨쓪쓫쓬쓭쓮쓯쓲쓳쓵쓶쓷쓹쓻쓼쓽쓾씂씃씄씅씆씇씈씉씊씋씍씎씏씑씒씓씕씖씗씘씙씚씛씝씞씟씠씡씢씣씤씥씦씧씪씫씭씮씯씱씲씳씴씵씶씷씺씼씾씿앀앁앂앃앆앇앋앏앐앑앒앖앚앛앜앟앢앣앥앦앧앩앪앫앬앭앮앯앲앶앷앸앹앺앻앾앿얁얂얃얅얆얈얉얊얋얎얐얒얓얔�".split("");for(a=0;a!=t[157].length;++a)if(t[157][a].charCodeAt(0)!==65533){r[t[157][a]]=40192+a;e[40192+a]=t[157][a]}t[158]="�����������������������������������������������������������������얖얙얚얛얝얞얟얡얢얣얤얥얦얧얨얪얫얬얭얮얯얰얱얲얳얶������얷얺얿엀엁엂엃엋엍엏엒엓엕엖엗엙엚엛엜엝엞엟엢엤엦엧������엨엩엪엫엯엱엲엳엵엸엹엺엻옂옃옄옉옊옋옍옎옏옑옒옓옔옕옖옗옚옝옞옟옠옡옢옣옦옧옩옪옫옯옱옲옶옸옺옼옽옾옿왂왃왅왆왇왉왊왋왌왍왎왏왒왖왗왘왙왚왛왞왟왡왢왣왤왥왦왧왨왩왪왫왭왮왰왲왳왴왵왶왷왺왻왽왾왿욁욂욃욄욅욆욇욊욌욎욏욐욑욒욓욖욗욙욚욛욝욞욟욠욡욢욣욦�".split("");for(a=0;a!=t[158].length;++a)if(t[158][a].charCodeAt(0)!==65533){r[t[158][a]]=40448+a;e[40448+a]=t[158][a]}t[159]="�����������������������������������������������������������������욨욪욫욬욭욮욯욲욳욵욶욷욻욼욽욾욿웂웄웆웇웈웉웊웋웎������웏웑웒웓웕웖웗웘웙웚웛웞웟웢웣웤웥웦웧웪웫웭웮웯웱웲������웳웴웵웶웷웺웻웼웾웿윀윁윂윃윆윇윉윊윋윍윎윏윐윑윒윓윖윘윚윛윜윝윞윟윢윣윥윦윧윩윪윫윬윭윮윯윲윴윶윸윹윺윻윾윿읁읂읃읅읆읇읈읉읋읎읐읙읚읛읝읞읟읡읢읣읤읥읦읧읩읪읬읭읮읯읰읱읲읳읶읷읹읺읻읿잀잁잂잆잋잌잍잏잒잓잕잙잛잜잝잞잟잢잧잨잩잪잫잮잯잱잲잳잵잶잷�".split("");for(a=0;a!=t[159].length;++a)if(t[159][a].charCodeAt(0)!==65533){r[t[159][a]]=40704+a;e[40704+a]=t[159][a]}t[160]="�����������������������������������������������������������������잸잹잺잻잾쟂쟃쟄쟅쟆쟇쟊쟋쟍쟏쟑쟒쟓쟔쟕쟖쟗쟙쟚쟛쟜������쟞쟟쟠쟡쟢쟣쟥쟦쟧쟩쟪쟫쟭쟮쟯쟰쟱쟲쟳쟴쟵쟶쟷쟸쟹쟺������쟻쟼쟽쟾쟿젂젃젅젆젇젉젋젌젍젎젏젒젔젗젘젙젚젛젞젟젡젢젣젥젦젧젨젩젪젫젮젰젲젳젴젵젶젷젹젺젻젽젾젿졁졂졃졄졅졆졇졊졋졎졏졐졑졒졓졕졖졗졘졙졚졛졜졝졞졟졠졡졢졣졤졥졦졧졨졩졪졫졬졭졮졯졲졳졵졶졷졹졻졼졽졾졿좂좄좈좉좊좎좏좐좑좒좓좕좖좗좘좙좚좛좜좞좠좢좣좤�".split("");for(a=0;a!=t[160].length;++a)if(t[160][a].charCodeAt(0)!==65533){r[t[160][a]]=40960+a;e[40960+a]=t[160][a]}t[161]="�����������������������������������������������������������������좥좦좧좩좪좫좬좭좮좯좰좱좲좳좴좵좶좷좸좹좺좻좾좿죀죁������죂죃죅죆죇죉죊죋죍죎죏죐죑죒죓죖죘죚죛죜죝죞죟죢죣죥������죦죧죨죩죪죫죬죭죮죯죰죱죲죳죴죶죷죸죹죺죻죾죿줁줂줃줇줈줉줊줋줎 、。·‥…¨〃­―∥\∼‘’“”〔〕〈〉《》「」『』【】±×÷≠≤≥∞∴°′″℃Å¢£¥♂♀∠⊥⌒∂∇≡≒§※☆★○●◎◇◆□■△▲▽▼→←↑↓↔〓≪≫√∽∝∵∫∬∈∋⊆⊇⊂⊃∪∩∧∨¬�".split("");for(a=0;a!=t[161].length;++a)if(t[161][a].charCodeAt(0)!==65533){r[t[161][a]]=41216+a;e[41216+a]=t[161][a]}t[162]="�����������������������������������������������������������������줐줒줓줔줕줖줗줙줚줛줜줝줞줟줠줡줢줣줤줥줦줧줨줩줪줫������줭줮줯줰줱줲줳줵줶줷줸줹줺줻줼줽줾줿쥀쥁쥂쥃쥄쥅쥆쥇������쥈쥉쥊쥋쥌쥍쥎쥏쥒쥓쥕쥖쥗쥙쥚쥛쥜쥝쥞쥟쥢쥤쥥쥦쥧쥨쥩쥪쥫쥭쥮쥯⇒⇔∀∃´~ˇ˘˝˚˙¸˛¡¿ː∮∑∏¤℉‰◁◀▷▶♤♠♡♥♧♣⊙◈▣◐◑▒▤▥▨▧▦▩♨☏☎☜☞¶†‡↕↗↙↖↘♭♩♪♬㉿㈜№㏇™㏂㏘℡€®������������������������".split("");for(a=0;a!=t[162].length;++a)if(t[162][a].charCodeAt(0)!==65533){r[t[162][a]]=41472+a;e[41472+a]=t[162][a]}t[163]="�����������������������������������������������������������������쥱쥲쥳쥵쥶쥷쥸쥹쥺쥻쥽쥾쥿즀즁즂즃즄즅즆즇즊즋즍즎즏������즑즒즓즔즕즖즗즚즜즞즟즠즡즢즣즤즥즦즧즨즩즪즫즬즭즮������즯즰즱즲즳즴즵즶즷즸즹즺즻즼즽즾즿짂짃짅짆짉짋짌짍짎짏짒짔짗짘짛!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[₩]^_`abcdefghijklmnopqrstuvwxyz{|} ̄�".split("");for(a=0;a!=t[163].length;++a)if(t[163][a].charCodeAt(0)!==65533){r[t[163][a]]=41728+a;e[41728+a]=t[163][a]}t[164]="�����������������������������������������������������������������짞짟짡짣짥짦짨짩짪짫짮짲짳짴짵짶짷짺짻짽짾짿쨁쨂쨃쨄������쨅쨆쨇쨊쨎쨏쨐쨑쨒쨓쨕쨖쨗쨙쨚쨛쨜쨝쨞쨟쨠쨡쨢쨣쨤쨥������쨦쨧쨨쨪쨫쨬쨭쨮쨯쨰쨱쨲쨳쨴쨵쨶쨷쨸쨹쨺쨻쨼쨽쨾쨿쩀쩁쩂쩃쩄쩅쩆ㄱㄲㄳㄴㄵㄶㄷㄸㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅃㅄㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎㅏㅐㅑㅒㅓㅔㅕㅖㅗㅘㅙㅚㅛㅜㅝㅞㅟㅠㅡㅢㅣㅤㅥㅦㅧㅨㅩㅪㅫㅬㅭㅮㅯㅰㅱㅲㅳㅴㅵㅶㅷㅸㅹㅺㅻㅼㅽㅾㅿㆀㆁㆂㆃㆄㆅㆆㆇㆈㆉㆊㆋㆌㆍㆎ�".split("");for(a=0;a!=t[164].length;++a)if(t[164][a].charCodeAt(0)!==65533){r[t[164][a]]=41984+a;e[41984+a]=t[164][a]}t[165]="�����������������������������������������������������������������쩇쩈쩉쩊쩋쩎쩏쩑쩒쩓쩕쩖쩗쩘쩙쩚쩛쩞쩢쩣쩤쩥쩦쩧쩩쩪������쩫쩬쩭쩮쩯쩰쩱쩲쩳쩴쩵쩶쩷쩸쩹쩺쩻쩼쩾쩿쪀쪁쪂쪃쪅쪆������쪇쪈쪉쪊쪋쪌쪍쪎쪏쪐쪑쪒쪓쪔쪕쪖쪗쪙쪚쪛쪜쪝쪞쪟쪠쪡쪢쪣쪤쪥쪦쪧ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ�����ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ�������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�������".split("");for(a=0;a!=t[165].length;++a)if(t[165][a].charCodeAt(0)!==65533){r[t[165][a]]=42240+a;e[42240+a]=t[165][a]}t[166]="�����������������������������������������������������������������쪨쪩쪪쪫쪬쪭쪮쪯쪰쪱쪲쪳쪴쪵쪶쪷쪸쪹쪺쪻쪾쪿쫁쫂쫃쫅������쫆쫇쫈쫉쫊쫋쫎쫐쫒쫔쫕쫖쫗쫚쫛쫜쫝쫞쫟쫡쫢쫣쫤쫥쫦쫧������쫨쫩쫪쫫쫭쫮쫯쫰쫱쫲쫳쫵쫶쫷쫸쫹쫺쫻쫼쫽쫾쫿쬀쬁쬂쬃쬄쬅쬆쬇쬉쬊─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂┒┑┚┙┖┕┎┍┞┟┡┢┦┧┩┪┭┮┱┲┵┶┹┺┽┾╀╁╃╄╅╆╇╈╉╊���������������������������".split("");for(a=0;a!=t[166].length;++a)if(t[166][a].charCodeAt(0)!==65533){r[t[166][a]]=42496+a;e[42496+a]=t[166][a]}t[167]="�����������������������������������������������������������������쬋쬌쬍쬎쬏쬑쬒쬓쬕쬖쬗쬙쬚쬛쬜쬝쬞쬟쬢쬣쬤쬥쬦쬧쬨쬩������쬪쬫쬬쬭쬮쬯쬰쬱쬲쬳쬴쬵쬶쬷쬸쬹쬺쬻쬼쬽쬾쬿쭀쭂쭃쭄������쭅쭆쭇쭊쭋쭍쭎쭏쭑쭒쭓쭔쭕쭖쭗쭚쭛쭜쭞쭟쭠쭡쭢쭣쭥쭦쭧쭨쭩쭪쭫쭬㎕㎖㎗ℓ㎘㏄㎣㎤㎥㎦㎙㎚㎛㎜㎝㎞㎟㎠㎡㎢㏊㎍㎎㎏㏏㎈㎉㏈㎧㎨㎰㎱㎲㎳㎴㎵㎶㎷㎸㎹㎀㎁㎂㎃㎄㎺㎻㎼㎽㎾㎿㎐㎑㎒㎓㎔Ω㏀㏁㎊㎋㎌㏖㏅㎭㎮㎯㏛㎩㎪㎫㎬㏝㏐㏓㏃㏉㏜㏆����������������".split("");for(a=0;a!=t[167].length;++a)if(t[167][a].charCodeAt(0)!==65533){r[t[167][a]]=42752+a;e[42752+a]=t[167][a]}t[168]="�����������������������������������������������������������������쭭쭮쭯쭰쭱쭲쭳쭴쭵쭶쭷쭺쭻쭼쭽쭾쭿쮀쮁쮂쮃쮄쮅쮆쮇쮈������쮉쮊쮋쮌쮍쮎쮏쮐쮑쮒쮓쮔쮕쮖쮗쮘쮙쮚쮛쮝쮞쮟쮠쮡쮢쮣������쮤쮥쮦쮧쮨쮩쮪쮫쮬쮭쮮쮯쮰쮱쮲쮳쮴쮵쮶쮷쮹쮺쮻쮼쮽쮾쮿쯀쯁쯂쯃쯄ÆÐªĦ�IJ�ĿŁØŒºÞŦŊ�㉠㉡㉢㉣㉤㉥㉦㉧㉨㉩㉪㉫㉬㉭㉮㉯㉰㉱㉲㉳㉴㉵㉶㉷㉸㉹㉺㉻ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮½⅓⅔¼¾⅛⅜⅝⅞�".split("");for(a=0;a!=t[168].length;++a)if(t[168][a].charCodeAt(0)!==65533){r[t[168][a]]=43008+a;e[43008+a]=t[168][a]}t[169]="�����������������������������������������������������������������쯅쯆쯇쯈쯉쯊쯋쯌쯍쯎쯏쯐쯑쯒쯓쯕쯖쯗쯘쯙쯚쯛쯜쯝쯞쯟������쯠쯡쯢쯣쯥쯦쯨쯪쯫쯬쯭쯮쯯쯰쯱쯲쯳쯴쯵쯶쯷쯸쯹쯺쯻쯼������쯽쯾쯿찀찁찂찃찄찅찆찇찈찉찊찋찎찏찑찒찓찕찖찗찘찙찚찛찞찟찠찣찤æđðħıijĸŀłøœßþŧŋʼn㈀㈁㈂㈃㈄㈅㈆㈇㈈㈉㈊㈋㈌㈍㈎㈏㈐㈑㈒㈓㈔㈕㈖㈗㈘㈙㈚㈛⒜⒝⒞⒟⒠⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂¹²³⁴ⁿ₁₂₃₄�".split("");for(a=0;a!=t[169].length;++a)if(t[169][a].charCodeAt(0)!==65533){r[t[169][a]]=43264+a;e[43264+a]=t[169][a]}t[170]="�����������������������������������������������������������������찥찦찪찫찭찯찱찲찳찴찵찶찷찺찿챀챁챂챃챆챇챉챊챋챍챎������챏챐챑챒챓챖챚챛챜챝챞챟챡챢챣챥챧챩챪챫챬챭챮챯챱챲������챳챴챶챷챸챹챺챻챼챽챾챿첀첁첂첃첄첅첆첇첈첉첊첋첌첍첎첏첐첑첒첓ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������".split("");for(a=0;a!=t[170].length;++a)if(t[170][a].charCodeAt(0)!==65533){r[t[170][a]]=43520+a;e[43520+a]=t[170][a]}t[171]="�����������������������������������������������������������������첔첕첖첗첚첛첝첞첟첡첢첣첤첥첦첧첪첮첯첰첱첲첳첶첷첹������첺첻첽첾첿쳀쳁쳂쳃쳆쳈쳊쳋쳌쳍쳎쳏쳑쳒쳓쳕쳖쳗쳘쳙쳚������쳛쳜쳝쳞쳟쳠쳡쳢쳣쳥쳦쳧쳨쳩쳪쳫쳭쳮쳯쳱쳲쳳쳴쳵쳶쳷쳸쳹쳺쳻쳼쳽ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������".split("");for(a=0;a!=t[171].length;++a)if(t[171][a].charCodeAt(0)!==65533){r[t[171][a]]=43776+a;e[43776+a]=t[171][a]}t[172]="�����������������������������������������������������������������쳾쳿촀촂촃촄촅촆촇촊촋촍촎촏촑촒촓촔촕촖촗촚촜촞촟촠������촡촢촣촥촦촧촩촪촫촭촮촯촰촱촲촳촴촵촶촷촸촺촻촼촽촾������촿쵀쵁쵂쵃쵄쵅쵆쵇쵈쵉쵊쵋쵌쵍쵎쵏쵐쵑쵒쵓쵔쵕쵖쵗쵘쵙쵚쵛쵝쵞쵟АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������".split("");for(a=0;a!=t[172].length;++a)if(t[172][a].charCodeAt(0)!==65533){r[t[172][a]]=44032+a;e[44032+a]=t[172][a]}t[173]="�����������������������������������������������������������������쵡쵢쵣쵥쵦쵧쵨쵩쵪쵫쵮쵰쵲쵳쵴쵵쵶쵷쵹쵺쵻쵼쵽쵾쵿춀������춁춂춃춄춅춆춇춉춊춋춌춍춎춏춐춑춒춓춖춗춙춚춛춝춞춟������춠춡춢춣춦춨춪춫춬춭춮춯춱춲춳춴춵춶춷춸춹춺춻춼춽춾춿췀췁췂췃췅�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[173].length;++a)if(t[173][a].charCodeAt(0)!==65533){r[t[173][a]]=44288+a;e[44288+a]=t[173][a]}t[174]="�����������������������������������������������������������������췆췇췈췉췊췋췍췎췏췑췒췓췔췕췖췗췘췙췚췛췜췝췞췟췠췡������췢췣췤췥췦췧췩췪췫췭췮췯췱췲췳췴췵췶췷췺췼췾췿츀츁츂������츃츅츆츇츉츊츋츍츎츏츐츑츒츓츕츖츗츘츚츛츜츝츞츟츢츣츥츦츧츩츪츫�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[174].length;++a)if(t[174][a].charCodeAt(0)!==65533){r[t[174][a]]=44544+a;e[44544+a]=t[174][a]}t[175]="�����������������������������������������������������������������츬츭츮츯츲츴츶츷츸츹츺츻츼츽츾츿칀칁칂칃칄칅칆칇칈칉������칊칋칌칍칎칏칐칑칒칓칔칕칖칗칚칛칝칞칢칣칤칥칦칧칪칬������칮칯칰칱칲칳칶칷칹칺칻칽칾칿캀캁캂캃캆캈캊캋캌캍캎캏캒캓캕캖캗캙�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[175].length;++a)if(t[175][a].charCodeAt(0)!==65533){r[t[175][a]]=44800+a;e[44800+a]=t[175][a]}t[176]="�����������������������������������������������������������������캚캛캜캝캞캟캢캦캧캨캩캪캫캮캯캰캱캲캳캴캵캶캷캸캹캺������캻캼캽캾캿컀컂컃컄컅컆컇컈컉컊컋컌컍컎컏컐컑컒컓컔컕������컖컗컘컙컚컛컜컝컞컟컠컡컢컣컦컧컩컪컭컮컯컰컱컲컳컶컺컻컼컽컾컿가각간갇갈갉갊감갑값갓갔강갖갗같갚갛개객갠갤갬갭갯갰갱갸갹갼걀걋걍걔걘걜거걱건걷걸걺검겁것겄겅겆겉겊겋게겐겔겜겝겟겠겡겨격겪견겯결겸겹겻겼경곁계곈곌곕곗고곡곤곧골곪곬곯곰곱곳공곶과곽관괄괆�".split("");for(a=0;a!=t[176].length;++a)if(t[176][a].charCodeAt(0)!==65533){r[t[176][a]]=45056+a;e[45056+a]=t[176][a]}t[177]="�����������������������������������������������������������������켂켃켅켆켇켉켊켋켌켍켎켏켒켔켖켗켘켙켚켛켝켞켟켡켢켣������켥켦켧켨켩켪켫켮켲켳켴켵켶켷켹켺켻켼켽켾켿콀콁콂콃콄������콅콆콇콈콉콊콋콌콍콎콏콐콑콒콓콖콗콙콚콛콝콞콟콠콡콢콣콦콨콪콫콬괌괍괏광괘괜괠괩괬괭괴괵괸괼굄굅굇굉교굔굘굡굣구국군굳굴굵굶굻굼굽굿궁궂궈궉권궐궜궝궤궷귀귁귄귈귐귑귓규균귤그극근귿글긁금급긋긍긔기긱긴긷길긺김깁깃깅깆깊까깍깎깐깔깖깜깝깟깠깡깥깨깩깬깰깸�".split("");for(a=0;a!=t[177].length;++a)if(t[177][a].charCodeAt(0)!==65533){r[t[177][a]]=45312+a;e[45312+a]=t[177][a]}t[178]="�����������������������������������������������������������������콭콮콯콲콳콵콶콷콹콺콻콼콽콾콿쾁쾂쾃쾄쾆쾇쾈쾉쾊쾋쾍������쾎쾏쾐쾑쾒쾓쾔쾕쾖쾗쾘쾙쾚쾛쾜쾝쾞쾟쾠쾢쾣쾤쾥쾦쾧쾩������쾪쾫쾬쾭쾮쾯쾱쾲쾳쾴쾵쾶쾷쾸쾹쾺쾻쾼쾽쾾쾿쿀쿁쿂쿃쿅쿆쿇쿈쿉쿊쿋깹깻깼깽꺄꺅꺌꺼꺽꺾껀껄껌껍껏껐껑께껙껜껨껫껭껴껸껼꼇꼈꼍꼐꼬꼭꼰꼲꼴꼼꼽꼿꽁꽂꽃꽈꽉꽐꽜꽝꽤꽥꽹꾀꾄꾈꾐꾑꾕꾜꾸꾹꾼꿀꿇꿈꿉꿋꿍꿎꿔꿜꿨꿩꿰꿱꿴꿸뀀뀁뀄뀌뀐뀔뀜뀝뀨끄끅끈끊끌끎끓끔끕끗끙�".split("");for(a=0;a!=t[178].length;++a)if(t[178][a].charCodeAt(0)!==65533){r[t[178][a]]=45568+a;e[45568+a]=t[178][a]}t[179]="�����������������������������������������������������������������쿌쿍쿎쿏쿐쿑쿒쿓쿔쿕쿖쿗쿘쿙쿚쿛쿜쿝쿞쿟쿢쿣쿥쿦쿧쿩������쿪쿫쿬쿭쿮쿯쿲쿴쿶쿷쿸쿹쿺쿻쿽쿾쿿퀁퀂퀃퀅퀆퀇퀈퀉퀊������퀋퀌퀍퀎퀏퀐퀒퀓퀔퀕퀖퀗퀙퀚퀛퀜퀝퀞퀟퀠퀡퀢퀣퀤퀥퀦퀧퀨퀩퀪퀫퀬끝끼끽낀낄낌낍낏낑나낙낚난낟날낡낢남납낫났낭낮낯낱낳내낵낸낼냄냅냇냈냉냐냑냔냘냠냥너넉넋넌널넒넓넘넙넛넜넝넣네넥넨넬넴넵넷넸넹녀녁년녈념녑녔녕녘녜녠노녹논놀놂놈놉놋농높놓놔놘놜놨뇌뇐뇔뇜뇝�".split("");for(a=0;a!=t[179].length;++a)if(t[179][a].charCodeAt(0)!==65533){r[t[179][a]]=45824+a;e[45824+a]=t[179][a]}t[180]="�����������������������������������������������������������������퀮퀯퀰퀱퀲퀳퀶퀷퀹퀺퀻퀽퀾퀿큀큁큂큃큆큈큊큋큌큍큎큏������큑큒큓큕큖큗큙큚큛큜큝큞큟큡큢큣큤큥큦큧큨큩큪큫큮큯������큱큲큳큵큶큷큸큹큺큻큾큿킀킂킃킄킅킆킇킈킉킊킋킌킍킎킏킐킑킒킓킔뇟뇨뇩뇬뇰뇹뇻뇽누눅눈눋눌눔눕눗눙눠눴눼뉘뉜뉠뉨뉩뉴뉵뉼늄늅늉느늑는늘늙늚늠늡늣능늦늪늬늰늴니닉닌닐닒님닙닛닝닢다닥닦단닫달닭닮닯닳담답닷닸당닺닻닿대댁댄댈댐댑댓댔댕댜더덕덖던덛덜덞덟덤덥�".split("");for(a=0;a!=t[180].length;++a)if(t[180][a].charCodeAt(0)!==65533){r[t[180][a]]=46080+a;e[46080+a]=t[180][a]}t[181]="�����������������������������������������������������������������킕킖킗킘킙킚킛킜킝킞킟킠킡킢킣킦킧킩킪킫킭킮킯킰킱킲������킳킶킸킺킻킼킽킾킿탂탃탅탆탇탊탋탌탍탎탏탒탖탗탘탙탚������탛탞탟탡탢탣탥탦탧탨탩탪탫탮탲탳탴탵탶탷탹탺탻탼탽탾탿턀턁턂턃턄덧덩덫덮데덱덴델뎀뎁뎃뎄뎅뎌뎐뎔뎠뎡뎨뎬도독돈돋돌돎돐돔돕돗동돛돝돠돤돨돼됐되된될됨됩됫됴두둑둔둘둠둡둣둥둬뒀뒈뒝뒤뒨뒬뒵뒷뒹듀듄듈듐듕드득든듣들듦듬듭듯등듸디딕딘딛딜딤딥딧딨딩딪따딱딴딸�".split("");for(a=0;a!=t[181].length;++a)if(t[181][a].charCodeAt(0)!==65533){r[t[181][a]]=46336+a;e[46336+a]=t[181][a]}t[182]="�����������������������������������������������������������������턅턆턇턈턉턊턋턌턎턏턐턑턒턓턔턕턖턗턘턙턚턛턜턝턞턟������턠턡턢턣턤턥턦턧턨턩턪턫턬턭턮턯턲턳턵턶턷턹턻턼턽턾������턿텂텆텇텈텉텊텋텎텏텑텒텓텕텖텗텘텙텚텛텞텠텢텣텤텥텦텧텩텪텫텭땀땁땃땄땅땋때땍땐땔땜땝땟땠땡떠떡떤떨떪떫떰떱떳떴떵떻떼떽뗀뗄뗌뗍뗏뗐뗑뗘뗬또똑똔똘똥똬똴뙈뙤뙨뚜뚝뚠뚤뚫뚬뚱뛔뛰뛴뛸뜀뜁뜅뜨뜩뜬뜯뜰뜸뜹뜻띄띈띌띔띕띠띤띨띰띱띳띵라락란랄람랍랏랐랑랒랖랗�".split("");for(a=0;a!=t[182].length;++a)if(t[182][a].charCodeAt(0)!==65533){r[t[182][a]]=46592+a;e[46592+a]=t[182][a]}t[183]="�����������������������������������������������������������������텮텯텰텱텲텳텴텵텶텷텸텹텺텻텽텾텿톀톁톂톃톅톆톇톉톊������톋톌톍톎톏톐톑톒톓톔톕톖톗톘톙톚톛톜톝톞톟톢톣톥톦톧������톩톪톫톬톭톮톯톲톴톶톷톸톹톻톽톾톿퇁퇂퇃퇄퇅퇆퇇퇈퇉퇊퇋퇌퇍퇎퇏래랙랜랠램랩랫랬랭랴략랸럇량러럭런럴럼럽럿렀렁렇레렉렌렐렘렙렛렝려력련렬렴렵렷렸령례롄롑롓로록론롤롬롭롯롱롸롼뢍뢨뢰뢴뢸룀룁룃룅료룐룔룝룟룡루룩룬룰룸룹룻룽뤄뤘뤠뤼뤽륀륄륌륏륑류륙륜률륨륩�".split("");for(a=0;a!=t[183].length;++a)if(t[183][a].charCodeAt(0)!==65533){r[t[183][a]]=46848+a;e[46848+a]=t[183][a]}t[184]="�����������������������������������������������������������������퇐퇑퇒퇓퇔퇕퇖퇗퇙퇚퇛퇜퇝퇞퇟퇠퇡퇢퇣퇤퇥퇦퇧퇨퇩퇪������퇫퇬퇭퇮퇯퇰퇱퇲퇳퇵퇶퇷퇹퇺퇻퇼퇽퇾퇿툀툁툂툃툄툅툆������툈툊툋툌툍툎툏툑툒툓툔툕툖툗툘툙툚툛툜툝툞툟툠툡툢툣툤툥툦툧툨툩륫륭르륵른를름릅릇릉릊릍릎리릭린릴림립릿링마막만많맏말맑맒맘맙맛망맞맡맣매맥맨맬맴맵맷맸맹맺먀먁먈먕머먹먼멀멂멈멉멋멍멎멓메멕멘멜멤멥멧멨멩며멱면멸몃몄명몇몌모목몫몬몰몲몸몹못몽뫄뫈뫘뫙뫼�".split("");for(a=0;a!=t[184].length;++a)if(t[184][a].charCodeAt(0)!==65533){r[t[184][a]]=47104+a;e[47104+a]=t[184][a]}t[185]="�����������������������������������������������������������������툪툫툮툯툱툲툳툵툶툷툸툹툺툻툾퉀퉂퉃퉄퉅퉆퉇퉉퉊퉋퉌������퉍퉎퉏퉐퉑퉒퉓퉔퉕퉖퉗퉘퉙퉚퉛퉝퉞퉟퉠퉡퉢퉣퉥퉦퉧퉨������퉩퉪퉫퉬퉭퉮퉯퉰퉱퉲퉳퉴퉵퉶퉷퉸퉹퉺퉻퉼퉽퉾퉿튂튃튅튆튇튉튊튋튌묀묄묍묏묑묘묜묠묩묫무묵묶문묻물묽묾뭄뭅뭇뭉뭍뭏뭐뭔뭘뭡뭣뭬뮈뮌뮐뮤뮨뮬뮴뮷므믄믈믐믓미믹민믿밀밂밈밉밋밌밍및밑바박밖밗반받발밝밞밟밤밥밧방밭배백밴밸뱀뱁뱃뱄뱅뱉뱌뱍뱐뱝버벅번벋벌벎범법벗�".split("");for(a=0;a!=t[185].length;++a)if(t[185][a].charCodeAt(0)!==65533){r[t[185][a]]=47360+a;e[47360+a]=t[185][a]}t[186]="�����������������������������������������������������������������튍튎튏튒튓튔튖튗튘튙튚튛튝튞튟튡튢튣튥튦튧튨튩튪튫튭������튮튯튰튲튳튴튵튶튷튺튻튽튾틁틃틄틅틆틇틊틌틍틎틏틐틑������틒틓틕틖틗틙틚틛틝틞틟틠틡틢틣틦틧틨틩틪틫틬틭틮틯틲틳틵틶틷틹틺벙벚베벡벤벧벨벰벱벳벴벵벼벽변별볍볏볐병볕볘볜보복볶본볼봄봅봇봉봐봔봤봬뵀뵈뵉뵌뵐뵘뵙뵤뵨부북분붇불붉붊붐붑붓붕붙붚붜붤붰붸뷔뷕뷘뷜뷩뷰뷴뷸븀븃븅브븍븐블븜븝븟비빅빈빌빎빔빕빗빙빚빛빠빡빤�".split("");for(a=0;a!=t[186].length;++a)if(t[186][a].charCodeAt(0)!==65533){r[t[186][a]]=47616+a;e[47616+a]=t[186][a]}t[187]="�����������������������������������������������������������������틻틼틽틾틿팂팄팆팇팈팉팊팋팏팑팒팓팕팗팘팙팚팛팞팢팣������팤팦팧팪팫팭팮팯팱팲팳팴팵팶팷팺팾팿퍀퍁퍂퍃퍆퍇퍈퍉������퍊퍋퍌퍍퍎퍏퍐퍑퍒퍓퍔퍕퍖퍗퍘퍙퍚퍛퍜퍝퍞퍟퍠퍡퍢퍣퍤퍥퍦퍧퍨퍩빨빪빰빱빳빴빵빻빼빽뺀뺄뺌뺍뺏뺐뺑뺘뺙뺨뻐뻑뻔뻗뻘뻠뻣뻤뻥뻬뼁뼈뼉뼘뼙뼛뼜뼝뽀뽁뽄뽈뽐뽑뽕뾔뾰뿅뿌뿍뿐뿔뿜뿟뿡쀼쁑쁘쁜쁠쁨쁩삐삑삔삘삠삡삣삥사삭삯산삳살삵삶삼삽삿샀상샅새색샌샐샘샙샛샜생샤�".split("");for(a=0;a!=t[187].length;++a)if(t[187][a].charCodeAt(0)!==65533){r[t[187][a]]=47872+a;e[47872+a]=t[187][a]}t[188]="�����������������������������������������������������������������퍪퍫퍬퍭퍮퍯퍰퍱퍲퍳퍴퍵퍶퍷퍸퍹퍺퍻퍾퍿펁펂펃펅펆펇������펈펉펊펋펎펒펓펔펕펖펗펚펛펝펞펟펡펢펣펤펥펦펧펪펬펮������펯펰펱펲펳펵펶펷펹펺펻펽펾펿폀폁폂폃폆폇폊폋폌폍폎폏폑폒폓폔폕폖샥샨샬샴샵샷샹섀섄섈섐섕서석섞섟선섣설섦섧섬섭섯섰성섶세섹센셀셈셉셋셌셍셔셕션셜셤셥셧셨셩셰셴셸솅소속솎손솔솖솜솝솟송솥솨솩솬솰솽쇄쇈쇌쇔쇗쇘쇠쇤쇨쇰쇱쇳쇼쇽숀숄숌숍숏숑수숙순숟술숨숩숫숭�".split("");for(a=0;a!=t[188].length;++a)if(t[188][a].charCodeAt(0)!==65533){r[t[188][a]]=48128+a;e[48128+a]=t[188][a]}t[189]="�����������������������������������������������������������������폗폙폚폛폜폝폞폟폠폢폤폥폦폧폨폩폪폫폮폯폱폲폳폵폶폷������폸폹폺폻폾퐀퐂퐃퐄퐅퐆퐇퐉퐊퐋퐌퐍퐎퐏퐐퐑퐒퐓퐔퐕퐖������퐗퐘퐙퐚퐛퐜퐞퐟퐠퐡퐢퐣퐤퐥퐦퐧퐨퐩퐪퐫퐬퐭퐮퐯퐰퐱퐲퐳퐴퐵퐶퐷숯숱숲숴쉈쉐쉑쉔쉘쉠쉥쉬쉭쉰쉴쉼쉽쉿슁슈슉슐슘슛슝스슥슨슬슭슴습슷승시식신싣실싫심십싯싱싶싸싹싻싼쌀쌈쌉쌌쌍쌓쌔쌕쌘쌜쌤쌥쌨쌩썅써썩썬썰썲썸썹썼썽쎄쎈쎌쏀쏘쏙쏜쏟쏠쏢쏨쏩쏭쏴쏵쏸쐈쐐쐤쐬쐰�".split("");for(a=0;a!=t[189].length;++a)if(t[189][a].charCodeAt(0)!==65533){r[t[189][a]]=48384+a;e[48384+a]=t[189][a]}t[190]="�����������������������������������������������������������������퐸퐹퐺퐻퐼퐽퐾퐿푁푂푃푅푆푇푈푉푊푋푌푍푎푏푐푑푒푓������푔푕푖푗푘푙푚푛푝푞푟푡푢푣푥푦푧푨푩푪푫푬푮푰푱푲������푳푴푵푶푷푺푻푽푾풁풃풄풅풆풇풊풌풎풏풐풑풒풓풕풖풗풘풙풚풛풜풝쐴쐼쐽쑈쑤쑥쑨쑬쑴쑵쑹쒀쒔쒜쒸쒼쓩쓰쓱쓴쓸쓺쓿씀씁씌씐씔씜씨씩씬씰씸씹씻씽아악안앉않알앍앎앓암압앗았앙앝앞애액앤앨앰앱앳앴앵야약얀얄얇얌얍얏양얕얗얘얜얠얩어억언얹얻얼얽얾엄업없엇었엉엊엌엎�".split("");for(a=0;a!=t[190].length;++a)if(t[190][a].charCodeAt(0)!==65533){r[t[190][a]]=48640+a;e[48640+a]=t[190][a]}t[191]="�����������������������������������������������������������������풞풟풠풡풢풣풤풥풦풧풨풪풫풬풭풮풯풰풱풲풳풴풵풶풷풸������풹풺풻풼풽풾풿퓀퓁퓂퓃퓄퓅퓆퓇퓈퓉퓊퓋퓍퓎퓏퓑퓒퓓퓕������퓖퓗퓘퓙퓚퓛퓝퓞퓠퓡퓢퓣퓤퓥퓦퓧퓩퓪퓫퓭퓮퓯퓱퓲퓳퓴퓵퓶퓷퓹퓺퓼에엑엔엘엠엡엣엥여역엮연열엶엷염엽엾엿였영옅옆옇예옌옐옘옙옛옜오옥온올옭옮옰옳옴옵옷옹옻와왁완왈왐왑왓왔왕왜왝왠왬왯왱외왹왼욀욈욉욋욍요욕욘욜욤욥욧용우욱운울욹욺움웁웃웅워웍원월웜웝웠웡웨�".split("");for(a=0;a!=t[191].length;++a)if(t[191][a].charCodeAt(0)!==65533){r[t[191][a]]=48896+a;e[48896+a]=t[191][a]}t[192]="�����������������������������������������������������������������퓾퓿픀픁픂픃픅픆픇픉픊픋픍픎픏픐픑픒픓픖픘픙픚픛픜픝������픞픟픠픡픢픣픤픥픦픧픨픩픪픫픬픭픮픯픰픱픲픳픴픵픶픷������픸픹픺픻픾픿핁핂핃핅핆핇핈핉핊핋핎핐핒핓핔핕핖핗핚핛핝핞핟핡핢핣웩웬웰웸웹웽위윅윈윌윔윕윗윙유육윤율윰윱윳융윷으윽은을읊음읍읏응읒읓읔읕읖읗의읜읠읨읫이익인일읽읾잃임입잇있잉잊잎자작잔잖잗잘잚잠잡잣잤장잦재잭잰잴잼잽잿쟀쟁쟈쟉쟌쟎쟐쟘쟝쟤쟨쟬저적전절젊�".split("");for(a=0;a!=t[192].length;++a)if(t[192][a].charCodeAt(0)!==65533){r[t[192][a]]=49152+a;e[49152+a]=t[192][a]}t[193]="�����������������������������������������������������������������핤핦핧핪핬핮핯핰핱핲핳핶핷핹핺핻핽핾핿햀햁햂햃햆햊햋������햌햍햎햏햑햒햓햔햕햖햗햘햙햚햛햜햝햞햟햠햡햢햣햤햦햧������햨햩햪햫햬햭햮햯햰햱햲햳햴햵햶햷햸햹햺햻햼햽햾햿헀헁헂헃헄헅헆헇점접젓정젖제젝젠젤젬젭젯젱져젼졀졈졉졌졍졔조족존졸졺좀좁좃종좆좇좋좌좍좔좝좟좡좨좼좽죄죈죌죔죕죗죙죠죡죤죵주죽준줄줅줆줌줍줏중줘줬줴쥐쥑쥔쥘쥠쥡쥣쥬쥰쥴쥼즈즉즌즐즘즙즛증지직진짇질짊짐집짓�".split(""); +for(a=0;a!=t[193].length;++a)if(t[193][a].charCodeAt(0)!==65533){r[t[193][a]]=49408+a;e[49408+a]=t[193][a]}t[194]="�����������������������������������������������������������������헊헋헍헎헏헑헓헔헕헖헗헚헜헞헟헠헡헢헣헦헧헩헪헫헭헮������헯헰헱헲헳헶헸헺헻헼헽헾헿혂혃혅혆혇혉혊혋혌혍혎혏혒������혖혗혘혙혚혛혝혞혟혡혢혣혥혦혧혨혩혪혫혬혮혯혰혱혲혳혴혵혶혷혺혻징짖짙짚짜짝짠짢짤짧짬짭짯짰짱째짹짼쨀쨈쨉쨋쨌쨍쨔쨘쨩쩌쩍쩐쩔쩜쩝쩟쩠쩡쩨쩽쪄쪘쪼쪽쫀쫄쫌쫍쫏쫑쫓쫘쫙쫠쫬쫴쬈쬐쬔쬘쬠쬡쭁쭈쭉쭌쭐쭘쭙쭝쭤쭸쭹쮜쮸쯔쯤쯧쯩찌찍찐찔찜찝찡찢찧차착찬찮찰참찹찻�".split("");for(a=0;a!=t[194].length;++a)if(t[194][a].charCodeAt(0)!==65533){r[t[194][a]]=49664+a;e[49664+a]=t[194][a]}t[195]="�����������������������������������������������������������������혽혾혿홁홂홃홄홆홇홊홌홎홏홐홒홓홖홗홙홚홛홝홞홟홠홡������홢홣홤홥홦홨홪홫홬홭홮홯홲홳홵홶홷홸홹홺홻홼홽홾홿횀������횁횂횄횆횇횈횉횊횋횎횏횑횒횓횕횖횗횘횙횚횛횜횞횠횢횣횤횥횦횧횩횪찼창찾채책챈챌챔챕챗챘챙챠챤챦챨챰챵처척천철첨첩첫첬청체첵첸첼쳄쳅쳇쳉쳐쳔쳤쳬쳰촁초촉촌촐촘촙촛총촤촨촬촹최쵠쵤쵬쵭쵯쵱쵸춈추축춘출춤춥춧충춰췄췌췐취췬췰췸췹췻췽츄츈츌츔츙츠측츤츨츰츱츳층�".split("");for(a=0;a!=t[195].length;++a)if(t[195][a].charCodeAt(0)!==65533){r[t[195][a]]=49920+a;e[49920+a]=t[195][a]}t[196]="�����������������������������������������������������������������횫횭횮횯횱횲횳횴횵횶횷횸횺횼횽횾횿훀훁훂훃훆훇훉훊훋������훍훎훏훐훒훓훕훖훘훚훛훜훝훞훟훡훢훣훥훦훧훩훪훫훬훭������훮훯훱훲훳훴훶훷훸훹훺훻훾훿휁휂휃휅휆휇휈휉휊휋휌휍휎휏휐휒휓휔치칙친칟칠칡침칩칫칭카칵칸칼캄캅캇캉캐캑캔캘캠캡캣캤캥캬캭컁커컥컨컫컬컴컵컷컸컹케켁켄켈켐켑켓켕켜켠켤켬켭켯켰켱켸코콕콘콜콤콥콧콩콰콱콴콸쾀쾅쾌쾡쾨쾰쿄쿠쿡쿤쿨쿰쿱쿳쿵쿼퀀퀄퀑퀘퀭퀴퀵퀸퀼�".split("");for(a=0;a!=t[196].length;++a)if(t[196][a].charCodeAt(0)!==65533){r[t[196][a]]=50176+a;e[50176+a]=t[196][a]}t[197]="�����������������������������������������������������������������휕휖휗휚휛휝휞휟휡휢휣휤휥휦휧휪휬휮휯휰휱휲휳휶휷휹������휺휻휽휾휿흀흁흂흃흅흆흈흊흋흌흍흎흏흒흓흕흚흛흜흝흞������흟흢흤흦흧흨흪흫흭흮흯흱흲흳흵흶흷흸흹흺흻흾흿힀힂힃힄힅힆힇힊힋큄큅큇큉큐큔큘큠크큭큰클큼큽킁키킥킨킬킴킵킷킹타탁탄탈탉탐탑탓탔탕태택탠탤탬탭탯탰탱탸턍터턱턴털턺텀텁텃텄텅테텍텐텔템텝텟텡텨텬텼톄톈토톡톤톨톰톱톳통톺톼퇀퇘퇴퇸툇툉툐투툭툰툴툼툽툿퉁퉈퉜�".split("");for(a=0;a!=t[197].length;++a)if(t[197][a].charCodeAt(0)!==65533){r[t[197][a]]=50432+a;e[50432+a]=t[197][a]}t[198]="�����������������������������������������������������������������힍힎힏힑힒힓힔힕힖힗힚힜힞힟힠힡힢힣������������������������������������������������������������������������������퉤튀튁튄튈튐튑튕튜튠튤튬튱트특튼튿틀틂틈틉틋틔틘틜틤틥티틱틴틸팀팁팃팅파팍팎판팔팖팜팝팟팠팡팥패팩팬팰팸팹팻팼팽퍄퍅퍼퍽펀펄펌펍펏펐펑페펙펜펠펨펩펫펭펴편펼폄폅폈평폐폘폡폣포폭폰폴폼폽폿퐁�".split("");for(a=0;a!=t[198].length;++a)if(t[198][a].charCodeAt(0)!==65533){r[t[198][a]]=50688+a;e[50688+a]=t[198][a]}t[199]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������퐈퐝푀푄표푠푤푭푯푸푹푼푿풀풂품풉풋풍풔풩퓌퓐퓔퓜퓟퓨퓬퓰퓸퓻퓽프픈플픔픕픗피픽핀필핌핍핏핑하학한할핥함합핫항해핵핸핼햄햅햇했행햐향허헉헌헐헒험헙헛헝헤헥헨헬헴헵헷헹혀혁현혈혐협혓혔형혜혠�".split("");for(a=0;a!=t[199].length;++a)if(t[199][a].charCodeAt(0)!==65533){r[t[199][a]]=50944+a;e[50944+a]=t[199][a]}t[200]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������혤혭호혹혼홀홅홈홉홋홍홑화확환활홧황홰홱홴횃횅회획횐횔횝횟횡효횬횰횹횻후훅훈훌훑훔훗훙훠훤훨훰훵훼훽휀휄휑휘휙휜휠휨휩휫휭휴휵휸휼흄흇흉흐흑흔흖흗흘흙흠흡흣흥흩희흰흴흼흽힁히힉힌힐힘힙힛힝�".split("");for(a=0;a!=t[200].length;++a)if(t[200][a].charCodeAt(0)!==65533){r[t[200][a]]=51200+a;e[51200+a]=t[200][a]}t[202]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������伽佳假價加可呵哥嘉嫁家暇架枷柯歌珂痂稼苛茄街袈訶賈跏軻迦駕刻却各恪慤殼珏脚覺角閣侃刊墾奸姦干幹懇揀杆柬桿澗癎看磵稈竿簡肝艮艱諫間乫喝曷渴碣竭葛褐蝎鞨勘坎堪嵌感憾戡敢柑橄減甘疳監瞰紺邯鑑鑒龕�".split("");for(a=0;a!=t[202].length;++a)if(t[202][a].charCodeAt(0)!==65533){r[t[202][a]]=51712+a;e[51712+a]=t[202][a]}t[203]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������匣岬甲胛鉀閘剛堈姜岡崗康强彊慷江畺疆糠絳綱羌腔舡薑襁講鋼降鱇介价個凱塏愷愾慨改槪漑疥皆盖箇芥蓋豈鎧開喀客坑更粳羹醵倨去居巨拒据據擧渠炬祛距踞車遽鉅鋸乾件健巾建愆楗腱虔蹇鍵騫乞傑杰桀儉劍劒檢�".split("");for(a=0;a!=t[203].length;++a)if(t[203][a].charCodeAt(0)!==65533){r[t[203][a]]=51968+a;e[51968+a]=t[203][a]}t[204]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������瞼鈐黔劫怯迲偈憩揭擊格檄激膈覡隔堅牽犬甄絹繭肩見譴遣鵑抉決潔結缺訣兼慊箝謙鉗鎌京俓倞傾儆勁勍卿坰境庚徑慶憬擎敬景暻更梗涇炅烱璟璥瓊痙硬磬竟競絅經耕耿脛莖警輕逕鏡頃頸驚鯨係啓堺契季屆悸戒桂械�".split("");for(a=0;a!=t[204].length;++a)if(t[204][a].charCodeAt(0)!==65533){r[t[204][a]]=52224+a;e[52224+a]=t[204][a]}t[205]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������棨溪界癸磎稽系繫繼計誡谿階鷄古叩告呱固姑孤尻庫拷攷故敲暠枯槁沽痼皐睾稿羔考股膏苦苽菰藁蠱袴誥賈辜錮雇顧高鼓哭斛曲梏穀谷鵠困坤崑昆梱棍滾琨袞鯤汨滑骨供公共功孔工恐恭拱控攻珙空蚣貢鞏串寡戈果瓜�".split("");for(a=0;a!=t[205].length;++a)if(t[205][a].charCodeAt(0)!==65533){r[t[205][a]]=52480+a;e[52480+a]=t[205][a]}t[206]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������科菓誇課跨過鍋顆廓槨藿郭串冠官寬慣棺款灌琯瓘管罐菅觀貫關館刮恝括适侊光匡壙廣曠洸炚狂珖筐胱鑛卦掛罫乖傀塊壞怪愧拐槐魁宏紘肱轟交僑咬喬嬌嶠巧攪敎校橋狡皎矯絞翹膠蕎蛟較轎郊餃驕鮫丘久九仇俱具勾�".split("");for(a=0;a!=t[206].length;++a)if(t[206][a].charCodeAt(0)!==65533){r[t[206][a]]=52736+a;e[52736+a]=t[206][a]}t[207]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������區口句咎嘔坵垢寇嶇廐懼拘救枸柩構歐毆毬求溝灸狗玖球瞿矩究絿耉臼舅舊苟衢謳購軀逑邱鉤銶駒驅鳩鷗龜國局菊鞠鞫麴君窘群裙軍郡堀屈掘窟宮弓穹窮芎躬倦券勸卷圈拳捲權淃眷厥獗蕨蹶闕机櫃潰詭軌饋句晷歸貴�".split("");for(a=0;a!=t[207].length;++a)if(t[207][a].charCodeAt(0)!==65533){r[t[207][a]]=52992+a;e[52992+a]=t[207][a]}t[208]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������鬼龜叫圭奎揆槻珪硅窺竅糾葵規赳逵閨勻均畇筠菌鈞龜橘克剋劇戟棘極隙僅劤勤懃斤根槿瑾筋芹菫覲謹近饉契今妗擒昑檎琴禁禽芩衾衿襟金錦伋及急扱汲級給亘兢矜肯企伎其冀嗜器圻基埼夔奇妓寄岐崎己幾忌技旗旣�".split("");for(a=0;a!=t[208].length;++a)if(t[208][a].charCodeAt(0)!==65533){r[t[208][a]]=53248+a;e[53248+a]=t[208][a]}t[209]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������朞期杞棋棄機欺氣汽沂淇玘琦琪璂璣畸畿碁磯祁祇祈祺箕紀綺羈耆耭肌記譏豈起錡錤飢饑騎騏驥麒緊佶吉拮桔金喫儺喇奈娜懦懶拏拿癩羅蘿螺裸邏那樂洛烙珞落諾酪駱亂卵暖欄煖爛蘭難鸞捏捺南嵐枏楠湳濫男藍襤拉�".split("");for(a=0;a!=t[209].length;++a)if(t[209][a].charCodeAt(0)!==65533){r[t[209][a]]=53504+a;e[53504+a]=t[209][a]}t[210]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������納臘蠟衲囊娘廊朗浪狼郎乃來內奈柰耐冷女年撚秊念恬拈捻寧寗努勞奴弩怒擄櫓爐瑙盧老蘆虜路露駑魯鷺碌祿綠菉錄鹿論壟弄濃籠聾膿農惱牢磊腦賂雷尿壘屢樓淚漏累縷陋嫩訥杻紐勒肋凜凌稜綾能菱陵尼泥匿溺多茶�".split("");for(a=0;a!=t[210].length;++a)if(t[210][a].charCodeAt(0)!==65533){r[t[210][a]]=53760+a;e[53760+a]=t[210][a]}t[211]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������丹亶但單團壇彖斷旦檀段湍短端簞緞蛋袒鄲鍛撻澾獺疸達啖坍憺擔曇淡湛潭澹痰聃膽蕁覃談譚錟沓畓答踏遝唐堂塘幢戇撞棠當糖螳黨代垈坮大對岱帶待戴擡玳臺袋貸隊黛宅德悳倒刀到圖堵塗導屠島嶋度徒悼挑掉搗桃�".split("");for(a=0;a!=t[211].length;++a)if(t[211][a].charCodeAt(0)!==65533){r[t[211][a]]=54016+a;e[54016+a]=t[211][a]}t[212]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������棹櫂淘渡滔濤燾盜睹禱稻萄覩賭跳蹈逃途道都鍍陶韜毒瀆牘犢獨督禿篤纛讀墩惇敦旽暾沌焞燉豚頓乭突仝冬凍動同憧東桐棟洞潼疼瞳童胴董銅兜斗杜枓痘竇荳讀豆逗頭屯臀芚遁遯鈍得嶝橙燈登等藤謄鄧騰喇懶拏癩羅�".split("");for(a=0;a!=t[212].length;++a)if(t[212][a].charCodeAt(0)!==65533){r[t[212][a]]=54272+a;e[54272+a]=t[212][a]}t[213]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������蘿螺裸邏樂洛烙珞絡落諾酪駱丹亂卵欄欒瀾爛蘭鸞剌辣嵐擥攬欖濫籃纜藍襤覽拉臘蠟廊朗浪狼琅瑯螂郞來崍徠萊冷掠略亮倆兩凉梁樑粮粱糧良諒輛量侶儷勵呂廬慮戾旅櫚濾礪藜蠣閭驢驪麗黎力曆歷瀝礫轢靂憐戀攣漣�".split("");for(a=0;a!=t[213].length;++a)if(t[213][a].charCodeAt(0)!==65533){r[t[213][a]]=54528+a;e[54528+a]=t[213][a]}t[214]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������煉璉練聯蓮輦連鍊冽列劣洌烈裂廉斂殮濂簾獵令伶囹寧岺嶺怜玲笭羚翎聆逞鈴零靈領齡例澧禮醴隷勞怒撈擄櫓潞瀘爐盧老蘆虜路輅露魯鷺鹵碌祿綠菉錄鹿麓論壟弄朧瀧瓏籠聾儡瀨牢磊賂賚賴雷了僚寮廖料燎療瞭聊蓼�".split("");for(a=0;a!=t[214].length;++a)if(t[214][a].charCodeAt(0)!==65533){r[t[214][a]]=54784+a;e[54784+a]=t[214][a]}t[215]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������遼鬧龍壘婁屢樓淚漏瘻累縷蔞褸鏤陋劉旒柳榴流溜瀏琉瑠留瘤硫謬類六戮陸侖倫崙淪綸輪律慄栗率隆勒肋凜凌楞稜綾菱陵俚利厘吏唎履悧李梨浬犁狸理璃異痢籬罹羸莉裏裡里釐離鯉吝潾燐璘藺躪隣鱗麟林淋琳臨霖砬�".split("");for(a=0;a!=t[215].length;++a)if(t[215][a].charCodeAt(0)!==65533){r[t[215][a]]=55040+a;e[55040+a]=t[215][a]}t[216]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������立笠粒摩瑪痲碼磨馬魔麻寞幕漠膜莫邈万卍娩巒彎慢挽晩曼滿漫灣瞞萬蔓蠻輓饅鰻唜抹末沫茉襪靺亡妄忘忙望網罔芒茫莽輞邙埋妹媒寐昧枚梅每煤罵買賣邁魅脈貊陌驀麥孟氓猛盲盟萌冪覓免冕勉棉沔眄眠綿緬面麵滅�".split("");for(a=0;a!=t[216].length;++a)if(t[216][a].charCodeAt(0)!==65533){r[t[216][a]]=55296+a;e[55296+a]=t[216][a]}t[217]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������蔑冥名命明暝椧溟皿瞑茗蓂螟酩銘鳴袂侮冒募姆帽慕摸摹暮某模母毛牟牡瑁眸矛耗芼茅謀謨貌木沐牧目睦穆鶩歿沒夢朦蒙卯墓妙廟描昴杳渺猫竗苗錨務巫憮懋戊拇撫无楙武毋無珷畝繆舞茂蕪誣貿霧鵡墨默們刎吻問文�".split("");for(a=0;a!=t[217].length;++a)if(t[217][a].charCodeAt(0)!==65533){r[t[217][a]]=55552+a;e[55552+a]=t[217][a]}t[218]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������汶紊紋聞蚊門雯勿沕物味媚尾嵋彌微未梶楣渼湄眉米美薇謎迷靡黴岷悶愍憫敏旻旼民泯玟珉緡閔密蜜謐剝博拍搏撲朴樸泊珀璞箔粕縛膊舶薄迫雹駁伴半反叛拌搬攀斑槃泮潘班畔瘢盤盼磐磻礬絆般蟠返頒飯勃拔撥渤潑�".split("");for(a=0;a!=t[218].length;++a)if(t[218][a].charCodeAt(0)!==65533){r[t[218][a]]=55808+a;e[55808+a]=t[218][a]}t[219]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������發跋醱鉢髮魃倣傍坊妨尨幇彷房放方旁昉枋榜滂磅紡肪膀舫芳蒡蚌訪謗邦防龐倍俳北培徘拜排杯湃焙盃背胚裴裵褙賠輩配陪伯佰帛柏栢白百魄幡樊煩燔番磻繁蕃藩飜伐筏罰閥凡帆梵氾汎泛犯範范法琺僻劈壁擘檗璧癖�".split("");for(a=0;a!=t[219].length;++a)if(t[219][a].charCodeAt(0)!==65533){r[t[219][a]]=56064+a;e[56064+a]=t[219][a]}t[220]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������碧蘗闢霹便卞弁變辨辯邊別瞥鱉鼈丙倂兵屛幷昞昺柄棅炳甁病秉竝輧餠騈保堡報寶普步洑湺潽珤甫菩補褓譜輔伏僕匐卜宓復服福腹茯蔔複覆輹輻馥鰒本乶俸奉封峯峰捧棒烽熢琫縫蓬蜂逢鋒鳳不付俯傅剖副否咐埠夫婦�".split("");for(a=0;a!=t[220].length;++a)if(t[220][a].charCodeAt(0)!==65533){r[t[220][a]]=56320+a;e[56320+a]=t[220][a]}t[221]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������孚孵富府復扶敷斧浮溥父符簿缶腐腑膚艀芙莩訃負賦賻赴趺部釜阜附駙鳧北分吩噴墳奔奮忿憤扮昐汾焚盆粉糞紛芬賁雰不佛弗彿拂崩朋棚硼繃鵬丕備匕匪卑妃婢庇悲憊扉批斐枇榧比毖毗毘沸泌琵痺砒碑秕秘粃緋翡肥�".split("");for(a=0;a!=t[221].length;++a)if(t[221][a].charCodeAt(0)!==65533){r[t[221][a]]=56576+a;e[56576+a]=t[221][a]}t[222]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������脾臂菲蜚裨誹譬費鄙非飛鼻嚬嬪彬斌檳殯浜濱瀕牝玭貧賓頻憑氷聘騁乍事些仕伺似使俟僿史司唆嗣四士奢娑寫寺射巳師徙思捨斜斯柶査梭死沙泗渣瀉獅砂社祀祠私篩紗絲肆舍莎蓑蛇裟詐詞謝賜赦辭邪飼駟麝削數朔索�".split("");for(a=0;a!=t[222].length;++a)if(t[222][a].charCodeAt(0)!==65533){r[t[222][a]]=56832+a;e[56832+a]=t[222][a]}t[223]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������傘刪山散汕珊産疝算蒜酸霰乷撒殺煞薩三參杉森渗芟蔘衫揷澁鈒颯上傷像償商喪嘗孀尙峠常床庠廂想桑橡湘爽牀狀相祥箱翔裳觴詳象賞霜塞璽賽嗇塞穡索色牲生甥省笙墅壻嶼序庶徐恕抒捿敍暑曙書栖棲犀瑞筮絮緖署�".split("");for(a=0;a!=t[223].length;++a)if(t[223][a].charCodeAt(0)!==65533){r[t[223][a]]=57088+a;e[57088+a]=t[223][a]}t[224]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������胥舒薯西誓逝鋤黍鼠夕奭席惜昔晳析汐淅潟石碩蓆釋錫仙僊先善嬋宣扇敾旋渲煽琁瑄璇璿癬禪線繕羨腺膳船蘚蟬詵跣選銑鐥饍鮮卨屑楔泄洩渫舌薛褻設說雪齧剡暹殲纖蟾贍閃陝攝涉燮葉城姓宬性惺成星晟猩珹盛省筬�".split("");for(a=0;a!=t[224].length;++a)if(t[224][a].charCodeAt(0)!==65533){r[t[224][a]]=57344+a;e[57344+a]=t[224][a]}t[225]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������聖聲腥誠醒世勢歲洗稅笹細說貰召嘯塑宵小少巢所掃搔昭梳沼消溯瀟炤燒甦疏疎瘙笑篠簫素紹蔬蕭蘇訴逍遡邵銷韶騷俗屬束涑粟續謖贖速孫巽損蓀遜飡率宋悚松淞訟誦送頌刷殺灑碎鎖衰釗修受嗽囚垂壽嫂守岫峀帥愁�".split("");for(a=0;a!=t[225].length;++a)if(t[225][a].charCodeAt(0)!==65533){r[t[225][a]]=57600+a;e[57600+a]=t[225][a]}t[226]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������戍手授搜收數樹殊水洙漱燧狩獸琇璲瘦睡秀穗竪粹綏綬繡羞脩茱蒐蓚藪袖誰讐輸遂邃酬銖銹隋隧隨雖需須首髓鬚叔塾夙孰宿淑潚熟琡璹肅菽巡徇循恂旬栒楯橓殉洵淳珣盾瞬筍純脣舜荀蓴蕣詢諄醇錞順馴戌術述鉥崇崧�".split("");for(a=0;a!=t[226].length;++a)if(t[226][a].charCodeAt(0)!==65533){r[t[226][a]]=57856+a;e[57856+a]=t[226][a]}t[227]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������嵩瑟膝蝨濕拾習褶襲丞乘僧勝升承昇繩蠅陞侍匙嘶始媤尸屎屍市弑恃施是時枾柴猜矢示翅蒔蓍視試詩諡豕豺埴寔式息拭植殖湜熄篒蝕識軾食飾伸侁信呻娠宸愼新晨燼申神紳腎臣莘薪藎蜃訊身辛辰迅失室實悉審尋心沁�".split("");for(a=0;a!=t[227].length;++a)if(t[227][a].charCodeAt(0)!==65533){r[t[227][a]]=58112+a;e[58112+a]=t[227][a]}t[228]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������沈深瀋甚芯諶什十拾雙氏亞俄兒啞娥峨我牙芽莪蛾衙訝阿雅餓鴉鵝堊岳嶽幄惡愕握樂渥鄂鍔顎鰐齷安岸按晏案眼雁鞍顔鮟斡謁軋閼唵岩巖庵暗癌菴闇壓押狎鴨仰央怏昻殃秧鴦厓哀埃崖愛曖涯碍艾隘靄厄扼掖液縊腋額�".split("");for(a=0;a!=t[228].length;++a)if(t[228][a].charCodeAt(0)!==65533){r[t[228][a]]=58368+a;e[58368+a]=t[228][a]}t[229]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������櫻罌鶯鸚也倻冶夜惹揶椰爺耶若野弱掠略約若葯蒻藥躍亮佯兩凉壤孃恙揚攘敭暘梁楊樣洋瀁煬痒瘍禳穰糧羊良襄諒讓釀陽量養圄御於漁瘀禦語馭魚齬億憶抑檍臆偃堰彦焉言諺孼蘖俺儼嚴奄掩淹嶪業円予余勵呂女如廬�".split("");for(a=0;a!=t[229].length;++a)if(t[229][a].charCodeAt(0)!==65533){r[t[229][a]]=58624+a;e[58624+a]=t[229][a]}t[230]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������旅歟汝濾璵礖礪與艅茹輿轝閭餘驪麗黎亦力域役易曆歷疫繹譯轢逆驛嚥堧姸娟宴年延憐戀捐挻撚椽沇沿涎涓淵演漣烟然煙煉燃燕璉硏硯秊筵緣練縯聯衍軟輦蓮連鉛鍊鳶列劣咽悅涅烈熱裂說閱厭廉念捻染殮炎焰琰艶苒�".split("");for(a=0;a!=t[230].length;++a)if(t[230][a].charCodeAt(0)!==65533){r[t[230][a]]=58880+a;e[58880+a]=t[230][a]}t[231]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������簾閻髥鹽曄獵燁葉令囹塋寧嶺嶸影怜映暎楹榮永泳渶潁濚瀛瀯煐營獰玲瑛瑩瓔盈穎纓羚聆英詠迎鈴鍈零霙靈領乂倪例刈叡曳汭濊猊睿穢芮藝蘂禮裔詣譽豫醴銳隸霓預五伍俉傲午吾吳嗚塢墺奧娛寤悟惡懊敖旿晤梧汚澳�".split("");for(a=0;a!=t[231].length;++a)if(t[231][a].charCodeAt(0)!==65533){r[t[231][a]]=59136+a;e[59136+a]=t[231][a]}t[232]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������烏熬獒筽蜈誤鰲鼇屋沃獄玉鈺溫瑥瘟穩縕蘊兀壅擁瓮甕癰翁邕雍饔渦瓦窩窪臥蛙蝸訛婉完宛梡椀浣玩琓琬碗緩翫脘腕莞豌阮頑曰往旺枉汪王倭娃歪矮外嵬巍猥畏了僚僥凹堯夭妖姚寥寮尿嶢拗搖撓擾料曜樂橈燎燿瑤療�".split("");for(a=0;a!=t[232].length;++a)if(t[232][a].charCodeAt(0)!==65533){r[t[232][a]]=59392+a;e[59392+a]=t[232][a]}t[233]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������窈窯繇繞耀腰蓼蟯要謠遙遼邀饒慾欲浴縟褥辱俑傭冗勇埇墉容庸慂榕涌湧溶熔瑢用甬聳茸蓉踊鎔鏞龍于佑偶優又友右宇寓尤愚憂旴牛玗瑀盂祐禑禹紆羽芋藕虞迂遇郵釪隅雨雩勖彧旭昱栯煜稶郁頊云暈橒殞澐熉耘芸蕓�".split("");for(a=0;a!=t[233].length;++a)if(t[233][a].charCodeAt(0)!==65533){r[t[233][a]]=59648+a;e[59648+a]=t[233][a]}t[234]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������運隕雲韻蔚鬱亐熊雄元原員圓園垣媛嫄寃怨愿援沅洹湲源爰猿瑗苑袁轅遠阮院願鴛月越鉞位偉僞危圍委威尉慰暐渭爲瑋緯胃萎葦蔿蝟衛褘謂違韋魏乳侑儒兪劉唯喩孺宥幼幽庾悠惟愈愉揄攸有杻柔柚柳楡楢油洧流游溜�".split("");for(a=0;a!=t[234].length;++a)if(t[234][a].charCodeAt(0)!==65533){r[t[234][a]]=59904+a;e[59904+a]=t[234][a]}t[235]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������濡猶猷琉瑜由留癒硫紐維臾萸裕誘諛諭踰蹂遊逾遺酉釉鍮類六堉戮毓肉育陸倫允奫尹崙淪潤玧胤贇輪鈗閏律慄栗率聿戎瀜絨融隆垠恩慇殷誾銀隱乙吟淫蔭陰音飮揖泣邑凝應膺鷹依倚儀宜意懿擬椅毅疑矣義艤薏蟻衣誼�".split("");for(a=0;a!=t[235].length;++a)if(t[235][a].charCodeAt(0)!==65533){r[t[235][a]]=60160+a;e[60160+a]=t[235][a]}t[236]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������議醫二以伊利吏夷姨履已弛彛怡易李梨泥爾珥理異痍痢移罹而耳肄苡荑裏裡貽貳邇里離飴餌匿溺瀷益翊翌翼謚人仁刃印吝咽因姻寅引忍湮燐璘絪茵藺蚓認隣靭靷鱗麟一佚佾壹日溢逸鎰馹任壬妊姙恁林淋稔臨荏賃入卄�".split("");for(a=0;a!=t[236].length;++a)if(t[236][a].charCodeAt(0)!==65533){r[t[236][a]]=60416+a;e[60416+a]=t[236][a]}t[237]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������立笠粒仍剩孕芿仔刺咨姉姿子字孜恣慈滋炙煮玆瓷疵磁紫者自茨蔗藉諮資雌作勺嚼斫昨灼炸爵綽芍酌雀鵲孱棧殘潺盞岑暫潛箴簪蠶雜丈仗匠場墻壯奬將帳庄張掌暲杖樟檣欌漿牆狀獐璋章粧腸臟臧莊葬蔣薔藏裝贓醬長�".split("");for(a=0;a!=t[237].length;++a)if(t[237][a].charCodeAt(0)!==65533){r[t[237][a]]=60672+a;e[60672+a]=t[237][a]}t[238]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������障再哉在宰才材栽梓渽滓災縡裁財載齋齎爭箏諍錚佇低儲咀姐底抵杵楮樗沮渚狙猪疽箸紵苧菹著藷詛貯躇這邸雎齟勣吊嫡寂摘敵滴狄炙的積笛籍績翟荻謫賊赤跡蹟迪迹適鏑佃佺傳全典前剪塡塼奠專展廛悛戰栓殿氈澱�".split("");for(a=0;a!=t[238].length;++a)if(t[238][a].charCodeAt(0)!==65533){r[t[238][a]]=60928+a;e[60928+a]=t[238][a]}t[239]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������煎琠田甸畑癲筌箋箭篆纏詮輾轉鈿銓錢鐫電顚顫餞切截折浙癤竊節絶占岾店漸点粘霑鮎點接摺蝶丁井亭停偵呈姃定幀庭廷征情挺政整旌晶晸柾楨檉正汀淀淨渟湞瀞炡玎珽町睛碇禎程穽精綎艇訂諪貞鄭酊釘鉦鋌錠霆靖�".split("");for(a=0;a!=t[239].length;++a)if(t[239][a].charCodeAt(0)!==65533){r[t[239][a]]=61184+a;e[61184+a]=t[239][a]}t[240]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������靜頂鼎制劑啼堤帝弟悌提梯濟祭第臍薺製諸蹄醍除際霽題齊俎兆凋助嘲弔彫措操早晁曺曹朝條棗槽漕潮照燥爪璪眺祖祚租稠窕粗糟組繰肇藻蚤詔調趙躁造遭釣阻雕鳥族簇足鏃存尊卒拙猝倧宗從悰慫棕淙琮種終綜縱腫�".split("");for(a=0;a!=t[240].length;++a)if(t[240][a].charCodeAt(0)!==65533){r[t[240][a]]=61440+a;e[61440+a]=t[240][a]}t[241]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������踪踵鍾鐘佐坐左座挫罪主住侏做姝胄呪周嗾奏宙州廚晝朱柱株注洲湊澍炷珠疇籌紂紬綢舟蛛註誅走躊輳週酎酒鑄駐竹粥俊儁准埈寯峻晙樽浚準濬焌畯竣蠢逡遵雋駿茁中仲衆重卽櫛楫汁葺增憎曾拯烝甑症繒蒸證贈之只�".split("");for(a=0;a!=t[241].length;++a)if(t[241][a].charCodeAt(0)!==65533){r[t[241][a]]=61696+a;e[61696+a]=t[241][a]}t[242]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������咫地址志持指摯支旨智枝枳止池沚漬知砥祉祗紙肢脂至芝芷蜘誌識贄趾遲直稙稷織職唇嗔塵振搢晉晋桭榛殄津溱珍瑨璡畛疹盡眞瞋秦縉縝臻蔯袗診賑軫辰進鎭陣陳震侄叱姪嫉帙桎瓆疾秩窒膣蛭質跌迭斟朕什執潗緝輯�".split("");for(a=0;a!=t[242].length;++a)if(t[242][a].charCodeAt(0)!==65533){r[t[242][a]]=61952+a;e[61952+a]=t[242][a]}t[243]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������鏶集徵懲澄且侘借叉嗟嵯差次此磋箚茶蹉車遮捉搾着窄錯鑿齪撰澯燦璨瓚竄簒纂粲纘讚贊鑽餐饌刹察擦札紮僭參塹慘慙懺斬站讒讖倉倡創唱娼廠彰愴敞昌昶暢槍滄漲猖瘡窓脹艙菖蒼債埰寀寨彩採砦綵菜蔡采釵冊柵策�".split("");for(a=0;a!=t[243].length;++a)if(t[243][a].charCodeAt(0)!==65533){r[t[243][a]]=62208+a;e[62208+a]=t[243][a]}t[244]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������責凄妻悽處倜刺剔尺慽戚拓擲斥滌瘠脊蹠陟隻仟千喘天川擅泉淺玔穿舛薦賤踐遷釧闡阡韆凸哲喆徹撤澈綴輟轍鐵僉尖沾添甛瞻簽籤詹諂堞妾帖捷牒疊睫諜貼輒廳晴淸聽菁請靑鯖切剃替涕滯締諦逮遞體初剿哨憔抄招梢�".split("");for(a=0;a!=t[244].length;++a)if(t[244][a].charCodeAt(0)!==65533){r[t[244][a]]=62464+a;e[62464+a]=t[244][a]}t[245]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������椒楚樵炒焦硝礁礎秒稍肖艸苕草蕉貂超酢醋醮促囑燭矗蜀觸寸忖村邨叢塚寵悤憁摠總聰蔥銃撮催崔最墜抽推椎楸樞湫皺秋芻萩諏趨追鄒酋醜錐錘鎚雛騶鰍丑畜祝竺筑築縮蓄蹙蹴軸逐春椿瑃出朮黜充忠沖蟲衝衷悴膵萃�".split("");for(a=0;a!=t[245].length;++a)if(t[245][a].charCodeAt(0)!==65533){r[t[245][a]]=62720+a;e[62720+a]=t[245][a]}t[246]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������贅取吹嘴娶就炊翠聚脆臭趣醉驟鷲側仄厠惻測層侈値嗤峙幟恥梔治淄熾痔痴癡稚穉緇緻置致蚩輜雉馳齒則勅飭親七柒漆侵寢枕沈浸琛砧針鍼蟄秤稱快他咤唾墮妥惰打拖朶楕舵陀馱駝倬卓啄坼度托拓擢晫柝濁濯琢琸託�".split("");for(a=0;a!=t[246].length;++a)if(t[246][a].charCodeAt(0)!==65533){r[t[246][a]]=62976+a;e[62976+a]=t[246][a]}t[247]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������鐸呑嘆坦彈憚歎灘炭綻誕奪脫探眈耽貪塔搭榻宕帑湯糖蕩兌台太怠態殆汰泰笞胎苔跆邰颱宅擇澤撑攄兎吐土討慟桶洞痛筒統通堆槌腿褪退頹偸套妬投透鬪慝特闖坡婆巴把播擺杷波派爬琶破罷芭跛頗判坂板版瓣販辦鈑�".split("");for(a=0;a!=t[247].length;++a)if(t[247][a].charCodeAt(0)!==65533){r[t[247][a]]=63232+a;e[63232+a]=t[247][a]}t[248]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������阪八叭捌佩唄悖敗沛浿牌狽稗覇貝彭澎烹膨愎便偏扁片篇編翩遍鞭騙貶坪平枰萍評吠嬖幣廢弊斃肺蔽閉陛佈包匍匏咆哺圃布怖抛抱捕暴泡浦疱砲胞脯苞葡蒲袍褒逋鋪飽鮑幅暴曝瀑爆輻俵剽彪慓杓標漂瓢票表豹飇飄驃�".split("");for(a=0;a!=t[248].length;++a)if(t[248][a].charCodeAt(0)!==65533){r[t[248][a]]=63488+a;e[63488+a]=t[248][a]}t[249]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������品稟楓諷豊風馮彼披疲皮被避陂匹弼必泌珌畢疋筆苾馝乏逼下何厦夏廈昰河瑕荷蝦賀遐霞鰕壑學虐謔鶴寒恨悍旱汗漢澣瀚罕翰閑閒限韓割轄函含咸啣喊檻涵緘艦銜陷鹹合哈盒蛤閤闔陜亢伉姮嫦巷恒抗杭桁沆港缸肛航�".split("");for(a=0;a!=t[249].length;++a)if(t[249][a].charCodeAt(0)!==65533){r[t[249][a]]=63744+a;e[63744+a]=t[249][a]}t[250]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������行降項亥偕咳垓奚孩害懈楷海瀣蟹解該諧邂駭骸劾核倖幸杏荇行享向嚮珦鄕響餉饗香噓墟虛許憲櫶獻軒歇險驗奕爀赫革俔峴弦懸晛泫炫玄玹現眩睍絃絢縣舷衒見賢鉉顯孑穴血頁嫌俠協夾峽挾浹狹脅脇莢鋏頰亨兄刑型�".split("");for(a=0;a!=t[250].length;++a)if(t[250][a].charCodeAt(0)!==65533){r[t[250][a]]=64e3+a;e[64e3+a]=t[250][a]}t[251]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������形泂滎瀅灐炯熒珩瑩荊螢衡逈邢鎣馨兮彗惠慧暳蕙蹊醯鞋乎互呼壕壺好岵弧戶扈昊晧毫浩淏湖滸澔濠濩灝狐琥瑚瓠皓祜糊縞胡芦葫蒿虎號蝴護豪鎬頀顥惑或酷婚昏混渾琿魂忽惚笏哄弘汞泓洪烘紅虹訌鴻化和嬅樺火畵�".split("");for(a=0;a!=t[251].length;++a)if(t[251][a].charCodeAt(0)!==65533){r[t[251][a]]=64256+a;e[64256+a]=t[251][a]}t[252]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������禍禾花華話譁貨靴廓擴攫確碻穫丸喚奐宦幻患換歡晥桓渙煥環紈還驩鰥活滑猾豁闊凰幌徨恍惶愰慌晃晄榥況湟滉潢煌璜皇篁簧荒蝗遑隍黃匯回廻徊恢悔懷晦會檜淮澮灰獪繪膾茴蛔誨賄劃獲宖橫鐄哮嚆孝效斅曉梟涍淆�".split("");for(a=0;a!=t[252].length;++a)if(t[252][a].charCodeAt(0)!==65533){r[t[252][a]]=64512+a;e[64512+a]=t[252][a]}t[253]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������爻肴酵驍侯候厚后吼喉嗅帿後朽煦珝逅勛勳塤壎焄熏燻薰訓暈薨喧暄煊萱卉喙毁彙徽揮暉煇諱輝麾休携烋畦虧恤譎鷸兇凶匈洶胸黑昕欣炘痕吃屹紇訖欠欽歆吸恰洽翕興僖凞喜噫囍姬嬉希憙憘戱晞曦熙熹熺犧禧稀羲詰�".split("");for(a=0;a!=t[253].length;++a)if(t[253][a].charCodeAt(0)!==65533){r[t[253][a]]=64768+a;e[64768+a]=t[253][a]}return{enc:r,dec:e}}();cptable[950]=function(){var e=[],r={},t=[],a;t[0]="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[0].length;++a)if(t[0][a].charCodeAt(0)!==65533){r[t[0][a]]=0+a;e[0+a]=t[0][a]}t[161]="���������������������������������������������������������������� ,、。.‧;:?!︰…‥﹐﹑﹒·﹔﹕﹖﹗|–︱—︳╴︴﹏()︵︶{}︷︸〔〕︹︺【】︻︼《》︽︾〈〉︿﹀「」﹁﹂『』﹃﹄﹙﹚����������������������������������﹛﹜﹝﹞‘’“”〝〞‵′#&*※§〃○●△▲◎☆★◇◆□■▽▼㊣℅¯ ̄_ˍ﹉﹊﹍﹎﹋﹌﹟﹠﹡+-×÷±√<>=≦≧≠∞≒≡﹢﹣﹤﹥﹦~∩∪⊥∠∟⊿㏒㏑∫∮∵∴♀♂⊕⊙↑↓←→↖↗↙↘∥∣/�".split("");for(a=0;a!=t[161].length;++a)if(t[161][a].charCodeAt(0)!==65533){r[t[161][a]]=41216+a;e[41216+a]=t[161][a]}t[162]="����������������������������������������������������������������\∕﹨$¥〒¢£%@℃℉﹩﹪﹫㏕㎜㎝㎞㏎㎡㎎㎏㏄°兙兛兞兝兡兣嗧瓩糎▁▂▃▄▅▆▇█▏▎▍▌▋▊▉┼┴┬┤├▔─│▕┌┐└┘╭����������������������������������╮╰╯═╞╪╡◢◣◥◤╱╲╳0123456789ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ〡〢〣〤〥〦〧〨〩十卄卅ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuv�".split("");for(a=0;a!=t[162].length;++a)if(t[162][a].charCodeAt(0)!==65533){r[t[162][a]]=41472+a;e[41472+a]=t[162][a]}t[163]="����������������������������������������������������������������wxyzΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρστυφχψωㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏ����������������������������������ㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ˙ˉˊˇˋ���������������������������������€������������������������������".split("");for(a=0;a!=t[163].length;++a)if(t[163][a].charCodeAt(0)!==65533){r[t[163][a]]=41728+a;e[41728+a]=t[163][a]}t[164]="����������������������������������������������������������������一乙丁七乃九了二人儿入八几刀刁力匕十卜又三下丈上丫丸凡久么也乞于亡兀刃勺千叉口土士夕大女子孑孓寸小尢尸山川工己已巳巾干廾弋弓才����������������������������������丑丐不中丰丹之尹予云井互五亢仁什仃仆仇仍今介仄元允內六兮公冗凶分切刈勻勾勿化匹午升卅卞厄友及反壬天夫太夭孔少尤尺屯巴幻廿弔引心戈戶手扎支文斗斤方日曰月木欠止歹毋比毛氏水火爪父爻片牙牛犬王丙�".split("");for(a=0;a!=t[164].length;++a)if(t[164][a].charCodeAt(0)!==65533){r[t[164][a]]=41984+a;e[41984+a]=t[164][a]}t[165]="����������������������������������������������������������������世丕且丘主乍乏乎以付仔仕他仗代令仙仞充兄冉冊冬凹出凸刊加功包匆北匝仟半卉卡占卯卮去可古右召叮叩叨叼司叵叫另只史叱台句叭叻四囚外����������������������������������央失奴奶孕它尼巨巧左市布平幼弁弘弗必戊打扔扒扑斥旦朮本未末札正母民氐永汁汀氾犯玄玉瓜瓦甘生用甩田由甲申疋白皮皿目矛矢石示禾穴立丞丟乒乓乩亙交亦亥仿伉伙伊伕伍伐休伏仲件任仰仳份企伋光兇兆先全�".split("");for(a=0;a!=t[165].length;++a)if(t[165][a].charCodeAt(0)!==65533){r[t[165][a]]=42240+a;e[42240+a]=t[165][a]}t[166]="����������������������������������������������������������������共再冰列刑划刎刖劣匈匡匠印危吉吏同吊吐吁吋各向名合吃后吆吒因回囝圳地在圭圬圯圩夙多夷夸妄奸妃好她如妁字存宇守宅安寺尖屹州帆并年����������������������������������式弛忙忖戎戌戍成扣扛托收早旨旬旭曲曳有朽朴朱朵次此死氖汝汗汙江池汐汕污汛汍汎灰牟牝百竹米糸缶羊羽老考而耒耳聿肉肋肌臣自至臼舌舛舟艮色艾虫血行衣西阡串亨位住佇佗佞伴佛何估佐佑伽伺伸佃佔似但佣�".split("");for(a=0;a!=t[166].length;++a)if(t[166][a].charCodeAt(0)!==65533){r[t[166][a]]=42496+a;e[42496+a]=t[166][a]}t[167]="����������������������������������������������������������������作你伯低伶余佝佈佚兌克免兵冶冷別判利刪刨劫助努劬匣即卵吝吭吞吾否呎吧呆呃吳呈呂君吩告吹吻吸吮吵吶吠吼呀吱含吟听囪困囤囫坊坑址坍����������������������������������均坎圾坐坏圻壯夾妝妒妨妞妣妙妖妍妤妓妊妥孝孜孚孛完宋宏尬局屁尿尾岐岑岔岌巫希序庇床廷弄弟彤形彷役忘忌志忍忱快忸忪戒我抄抗抖技扶抉扭把扼找批扳抒扯折扮投抓抑抆改攻攸旱更束李杏材村杜杖杞杉杆杠�".split("");for(a=0;a!=t[167].length;++a)if(t[167][a].charCodeAt(0)!==65533){r[t[167][a]]=42752+a;e[42752+a]=t[167][a]}t[168]="����������������������������������������������������������������杓杗步每求汞沙沁沈沉沅沛汪決沐汰沌汨沖沒汽沃汲汾汴沆汶沍沔沘沂灶灼災灸牢牡牠狄狂玖甬甫男甸皂盯矣私秀禿究系罕肖肓肝肘肛肚育良芒����������������������������������芋芍見角言谷豆豕貝赤走足身車辛辰迂迆迅迄巡邑邢邪邦那酉釆里防阮阱阪阬並乖乳事些亞享京佯依侍佳使佬供例來侃佰併侈佩佻侖佾侏侑佺兔兒兕兩具其典冽函刻券刷刺到刮制剁劾劻卒協卓卑卦卷卸卹取叔受味呵�".split("");for(a=0;a!=t[168].length;++a)if(t[168][a].charCodeAt(0)!==65533){r[t[168][a]]=43008+a;e[43008+a]=t[168][a]}t[169]="����������������������������������������������������������������咖呸咕咀呻呷咄咒咆呼咐呱呶和咚呢周咋命咎固垃坷坪坩坡坦坤坼夜奉奇奈奄奔妾妻委妹妮姑姆姐姍始姓姊妯妳姒姅孟孤季宗定官宜宙宛尚屈居����������������������������������屆岷岡岸岩岫岱岳帘帚帖帕帛帑幸庚店府底庖延弦弧弩往征彿彼忝忠忽念忿怏怔怯怵怖怪怕怡性怩怫怛或戕房戾所承拉拌拄抿拂抹拒招披拓拔拋拈抨抽押拐拙拇拍抵拚抱拘拖拗拆抬拎放斧於旺昔易昌昆昂明昀昏昕昊�".split("");for(a=0;a!=t[169].length;++a)if(t[169][a].charCodeAt(0)!==65533){r[t[169][a]]=43264+a;e[43264+a]=t[169][a]}t[170]="����������������������������������������������������������������昇服朋杭枋枕東果杳杷枇枝林杯杰板枉松析杵枚枓杼杪杲欣武歧歿氓氛泣注泳沱泌泥河沽沾沼波沫法泓沸泄油況沮泗泅泱沿治泡泛泊沬泯泜泖泠����������������������������������炕炎炒炊炙爬爭爸版牧物狀狎狙狗狐玩玨玟玫玥甽疝疙疚的盂盲直知矽社祀祁秉秈空穹竺糾罔羌羋者肺肥肢肱股肫肩肴肪肯臥臾舍芳芝芙芭芽芟芹花芬芥芯芸芣芰芾芷虎虱初表軋迎返近邵邸邱邶采金長門阜陀阿阻附�".split("");for(a=0;a!=t[170].length;++a)if(t[170][a].charCodeAt(0)!==65533){r[t[170][a]]=43520+a;e[43520+a]=t[170][a]}t[171]="����������������������������������������������������������������陂隹雨青非亟亭亮信侵侯便俠俑俏保促侶俘俟俊俗侮俐俄係俚俎俞侷兗冒冑冠剎剃削前剌剋則勇勉勃勁匍南卻厚叛咬哀咨哎哉咸咦咳哇哂咽咪品����������������������������������哄哈咯咫咱咻咩咧咿囿垂型垠垣垢城垮垓奕契奏奎奐姜姘姿姣姨娃姥姪姚姦威姻孩宣宦室客宥封屎屏屍屋峙峒巷帝帥帟幽庠度建弈弭彥很待徊律徇後徉怒思怠急怎怨恍恰恨恢恆恃恬恫恪恤扁拜挖按拼拭持拮拽指拱拷�".split("");for(a=0;a!=t[171].length;++a)if(t[171][a].charCodeAt(0)!==65533){r[t[171][a]]=43776+a;e[43776+a]=t[171][a]}t[172]="����������������������������������������������������������������拯括拾拴挑挂政故斫施既春昭映昧是星昨昱昤曷柿染柱柔某柬架枯柵柩柯柄柑枴柚查枸柏柞柳枰柙柢柝柒歪殃殆段毒毗氟泉洋洲洪流津洌洱洞洗����������������������������������活洽派洶洛泵洹洧洸洩洮洵洎洫炫為炳炬炯炭炸炮炤爰牲牯牴狩狠狡玷珊玻玲珍珀玳甚甭畏界畎畋疫疤疥疢疣癸皆皇皈盈盆盃盅省盹相眉看盾盼眇矜砂研砌砍祆祉祈祇禹禺科秒秋穿突竿竽籽紂紅紀紉紇約紆缸美羿耄�".split("");for(a=0;a!=t[172].length;++a)if(t[172][a].charCodeAt(0)!==65533){r[t[172][a]]=44032+a;e[44032+a]=t[172][a]}t[173]="����������������������������������������������������������������耐耍耑耶胖胥胚胃胄背胡胛胎胞胤胝致舢苧范茅苣苛苦茄若茂茉苒苗英茁苜苔苑苞苓苟苯茆虐虹虻虺衍衫要觔計訂訃貞負赴赳趴軍軌述迦迢迪迥����������������������������������迭迫迤迨郊郎郁郃酋酊重閂限陋陌降面革韋韭音頁風飛食首香乘亳倌倍倣俯倦倥俸倩倖倆值借倚倒們俺倀倔倨俱倡個候倘俳修倭倪俾倫倉兼冤冥冢凍凌准凋剖剜剔剛剝匪卿原厝叟哨唐唁唷哼哥哲唆哺唔哩哭員唉哮哪�".split("");for(a=0;a!=t[173].length;++a)if(t[173][a].charCodeAt(0)!==65533){r[t[173][a]]=44288+a;e[44288+a]=t[173][a]}t[174]="����������������������������������������������������������������哦唧唇哽唏圃圄埂埔埋埃堉夏套奘奚娑娘娜娟娛娓姬娠娣娩娥娌娉孫屘宰害家宴宮宵容宸射屑展屐峭峽峻峪峨峰島崁峴差席師庫庭座弱徒徑徐恙����������������������������������恣恥恐恕恭恩息悄悟悚悍悔悌悅悖扇拳挈拿捎挾振捕捂捆捏捉挺捐挽挪挫挨捍捌效敉料旁旅時晉晏晃晒晌晅晁書朔朕朗校核案框桓根桂桔栩梳栗桌桑栽柴桐桀格桃株桅栓栘桁殊殉殷氣氧氨氦氤泰浪涕消涇浦浸海浙涓�".split("");for(a=0;a!=t[174].length;++a)if(t[174][a].charCodeAt(0)!==65533){r[t[174][a]]=44544+a;e[44544+a]=t[174][a]}t[175]="����������������������������������������������������������������浬涉浮浚浴浩涌涊浹涅浥涔烊烘烤烙烈烏爹特狼狹狽狸狷玆班琉珮珠珪珞畔畝畜畚留疾病症疲疳疽疼疹痂疸皋皰益盍盎眩真眠眨矩砰砧砸砝破砷����������������������������������砥砭砠砟砲祕祐祠祟祖神祝祗祚秤秣秧租秦秩秘窄窈站笆笑粉紡紗紋紊素索純紐紕級紜納紙紛缺罟羔翅翁耆耘耕耙耗耽耿胱脂胰脅胭胴脆胸胳脈能脊胼胯臭臬舀舐航舫舨般芻茫荒荔荊茸荐草茵茴荏茲茹茶茗荀茱茨荃�".split("");for(a=0;a!=t[175].length;++a)if(t[175][a].charCodeAt(0)!==65533){r[t[175][a]]=44800+a;e[44800+a]=t[175][a]}t[176]="����������������������������������������������������������������虔蚊蚪蚓蚤蚩蚌蚣蚜衰衷袁袂衽衹記訐討訌訕訊託訓訖訏訑豈豺豹財貢起躬軒軔軏辱送逆迷退迺迴逃追逅迸邕郡郝郢酒配酌釘針釗釜釙閃院陣陡����������������������������������陛陝除陘陞隻飢馬骨高鬥鬲鬼乾偺偽停假偃偌做偉健偶偎偕偵側偷偏倏偯偭兜冕凰剪副勒務勘動匐匏匙匿區匾參曼商啪啦啄啞啡啃啊唱啖問啕唯啤唸售啜唬啣唳啁啗圈國圉域堅堊堆埠埤基堂堵執培夠奢娶婁婉婦婪婀�".split("");for(a=0;a!=t[176].length;++a)if(t[176][a].charCodeAt(0)!==65533){r[t[176][a]]=45056+a;e[45056+a]=t[176][a]}t[177]="����������������������������������������������������������������娼婢婚婆婊孰寇寅寄寂宿密尉專將屠屜屝崇崆崎崛崖崢崑崩崔崙崤崧崗巢常帶帳帷康庸庶庵庾張強彗彬彩彫得徙從徘御徠徜恿患悉悠您惋悴惦悽����������������������������������情悻悵惜悼惘惕惆惟悸惚惇戚戛扈掠控捲掖探接捷捧掘措捱掩掉掃掛捫推掄授掙採掬排掏掀捻捩捨捺敝敖救教敗啟敏敘敕敔斜斛斬族旋旌旎晝晚晤晨晦晞曹勗望梁梯梢梓梵桿桶梱梧梗械梃棄梭梆梅梔條梨梟梡梂欲殺�".split("");for(a=0;a!=t[177].length;++a)if(t[177][a].charCodeAt(0)!==65533){r[t[177][a]]=45312+a;e[45312+a]=t[177][a]}t[178]="����������������������������������������������������������������毫毬氫涎涼淳淙液淡淌淤添淺清淇淋涯淑涮淞淹涸混淵淅淒渚涵淚淫淘淪深淮淨淆淄涪淬涿淦烹焉焊烽烯爽牽犁猜猛猖猓猙率琅琊球理現琍瓠瓶����������������������������������瓷甜產略畦畢異疏痔痕疵痊痍皎盔盒盛眷眾眼眶眸眺硫硃硎祥票祭移窒窕笠笨笛第符笙笞笮粒粗粕絆絃統紮紹紼絀細紳組累終紲紱缽羞羚翌翎習耜聊聆脯脖脣脫脩脰脤舂舵舷舶船莎莞莘荸莢莖莽莫莒莊莓莉莠荷荻荼�".split("");for(a=0;a!=t[178].length;++a)if(t[178][a].charCodeAt(0)!==65533){r[t[178][a]]=45568+a;e[45568+a]=t[178][a]}t[179]="����������������������������������������������������������������莆莧處彪蛇蛀蚶蛄蚵蛆蛋蚱蚯蛉術袞袈被袒袖袍袋覓規訪訝訣訥許設訟訛訢豉豚販責貫貨貪貧赧赦趾趺軛軟這逍通逗連速逝逐逕逞造透逢逖逛途����������������������������������部郭都酗野釵釦釣釧釭釩閉陪陵陳陸陰陴陶陷陬雀雪雩章竟頂頃魚鳥鹵鹿麥麻傢傍傅備傑傀傖傘傚最凱割剴創剩勞勝勛博厥啻喀喧啼喊喝喘喂喜喪喔喇喋喃喳單喟唾喲喚喻喬喱啾喉喫喙圍堯堪場堤堰報堡堝堠壹壺奠�".split("");for(a=0;a!=t[179].length;++a)if(t[179][a].charCodeAt(0)!==65533){r[t[179][a]]=45824+a;e[45824+a]=t[179][a]}t[180]="����������������������������������������������������������������婷媚婿媒媛媧孳孱寒富寓寐尊尋就嵌嵐崴嵇巽幅帽幀幃幾廊廁廂廄弼彭復循徨惑惡悲悶惠愜愣惺愕惰惻惴慨惱愎惶愉愀愒戟扉掣掌描揀揩揉揆揍����������������������������������插揣提握揖揭揮捶援揪換摒揚揹敞敦敢散斑斐斯普晰晴晶景暑智晾晷曾替期朝棺棕棠棘棗椅棟棵森棧棹棒棲棣棋棍植椒椎棉棚楮棻款欺欽殘殖殼毯氮氯氬港游湔渡渲湧湊渠渥渣減湛湘渤湖湮渭渦湯渴湍渺測湃渝渾滋�".split("");for(a=0;a!=t[180].length;++a)if(t[180][a].charCodeAt(0)!==65533){r[t[180][a]]=46080+a;e[46080+a]=t[180][a]}t[181]="����������������������������������������������������������������溉渙湎湣湄湲湩湟焙焚焦焰無然煮焜牌犄犀猶猥猴猩琺琪琳琢琥琵琶琴琯琛琦琨甥甦畫番痢痛痣痙痘痞痠登發皖皓皴盜睏短硝硬硯稍稈程稅稀窘����������������������������������窗窖童竣等策筆筐筒答筍筋筏筑粟粥絞結絨絕紫絮絲絡給絢絰絳善翔翕耋聒肅腕腔腋腑腎脹腆脾腌腓腴舒舜菩萃菸萍菠菅萋菁華菱菴著萊菰萌菌菽菲菊萸萎萄菜萇菔菟虛蛟蛙蛭蛔蛛蛤蛐蛞街裁裂袱覃視註詠評詞証詁�".split("");for(a=0;a!=t[181].length;++a)if(t[181][a].charCodeAt(0)!==65533){r[t[181][a]]=46336+a;e[46336+a]=t[181][a]}t[182]="����������������������������������������������������������������詔詛詐詆訴診訶詖象貂貯貼貳貽賁費賀貴買貶貿貸越超趁跎距跋跚跑跌跛跆軻軸軼辜逮逵週逸進逶鄂郵鄉郾酣酥量鈔鈕鈣鈉鈞鈍鈐鈇鈑閔閏開閑����������������������������������間閒閎隊階隋陽隅隆隍陲隄雁雅雄集雇雯雲韌項順須飧飪飯飩飲飭馮馭黃黍黑亂傭債傲傳僅傾催傷傻傯僇剿剷剽募勦勤勢勣匯嗟嗨嗓嗦嗎嗜嗇嗑嗣嗤嗯嗚嗡嗅嗆嗥嗉園圓塞塑塘塗塚塔填塌塭塊塢塒塋奧嫁嫉嫌媾媽媼�".split("");for(a=0;a!=t[182].length;++a)if(t[182][a].charCodeAt(0)!==65533){r[t[182][a]]=46592+a;e[46592+a]=t[182][a]}t[183]="����������������������������������������������������������������媳嫂媲嵩嵯幌幹廉廈弒彙徬微愚意慈感想愛惹愁愈慎慌慄慍愾愴愧愍愆愷戡戢搓搾搞搪搭搽搬搏搜搔損搶搖搗搆敬斟新暗暉暇暈暖暄暘暍會榔業����������������������������������楚楷楠楔極椰概楊楨楫楞楓楹榆楝楣楛歇歲毀殿毓毽溢溯滓溶滂源溝滇滅溥溘溼溺溫滑準溜滄滔溪溧溴煎煙煩煤煉照煜煬煦煌煥煞煆煨煖爺牒猷獅猿猾瑯瑚瑕瑟瑞瑁琿瑙瑛瑜當畸瘀痰瘁痲痱痺痿痴痳盞盟睛睫睦睞督�".split("");for(a=0;a!=t[183].length;++a)if(t[183][a].charCodeAt(0)!==65533){r[t[183][a]]=46848+a;e[46848+a]=t[183][a]}t[184]="����������������������������������������������������������������睹睪睬睜睥睨睢矮碎碰碗碘碌碉硼碑碓硿祺祿禁萬禽稜稚稠稔稟稞窟窠筷節筠筮筧粱粳粵經絹綑綁綏絛置罩罪署義羨群聖聘肆肄腱腰腸腥腮腳腫����������������������������������腹腺腦舅艇蒂葷落萱葵葦葫葉葬葛萼萵葡董葩葭葆虞虜號蛹蜓蜈蜇蜀蛾蛻蜂蜃蜆蜊衙裟裔裙補裘裝裡裊裕裒覜解詫該詳試詩詰誇詼詣誠話誅詭詢詮詬詹詻訾詨豢貊貉賊資賈賄貲賃賂賅跡跟跨路跳跺跪跤跦躲較載軾輊�".split(""); +for(a=0;a!=t[184].length;++a)if(t[184][a].charCodeAt(0)!==65533){r[t[184][a]]=47104+a;e[47104+a]=t[184][a]}t[185]="����������������������������������������������������������������辟農運遊道遂達逼違遐遇遏過遍遑逾遁鄒鄗酬酪酩釉鈷鉗鈸鈽鉀鈾鉛鉋鉤鉑鈴鉉鉍鉅鈹鈿鉚閘隘隔隕雍雋雉雊雷電雹零靖靴靶預頑頓頊頒頌飼飴����������������������������������飽飾馳馱馴髡鳩麂鼎鼓鼠僧僮僥僖僭僚僕像僑僱僎僩兢凳劃劂匱厭嗾嘀嘛嘗嗽嘔嘆嘉嘍嘎嗷嘖嘟嘈嘐嗶團圖塵塾境墓墊塹墅塽壽夥夢夤奪奩嫡嫦嫩嫗嫖嫘嫣孵寞寧寡寥實寨寢寤察對屢嶄嶇幛幣幕幗幔廓廖弊彆彰徹慇�".split("");for(a=0;a!=t[185].length;++a)if(t[185][a].charCodeAt(0)!==65533){r[t[185][a]]=47360+a;e[47360+a]=t[185][a]}t[186]="����������������������������������������������������������������愿態慷慢慣慟慚慘慵截撇摘摔撤摸摟摺摑摧搴摭摻敲斡旗旖暢暨暝榜榨榕槁榮槓構榛榷榻榫榴槐槍榭槌榦槃榣歉歌氳漳演滾漓滴漩漾漠漬漏漂漢����������������������������������滿滯漆漱漸漲漣漕漫漯澈漪滬漁滲滌滷熔熙煽熊熄熒爾犒犖獄獐瑤瑣瑪瑰瑭甄疑瘧瘍瘋瘉瘓盡監瞄睽睿睡磁碟碧碳碩碣禎福禍種稱窪窩竭端管箕箋筵算箝箔箏箸箇箄粹粽精綻綰綜綽綾綠緊綴網綱綺綢綿綵綸維緒緇綬�".split("");for(a=0;a!=t[186].length;++a)if(t[186][a].charCodeAt(0)!==65533){r[t[186][a]]=47616+a;e[47616+a]=t[186][a]}t[187]="����������������������������������������������������������������罰翠翡翟聞聚肇腐膀膏膈膊腿膂臧臺與舔舞艋蓉蒿蓆蓄蒙蒞蒲蒜蓋蒸蓀蓓蒐蒼蓑蓊蜿蜜蜻蜢蜥蜴蜘蝕蜷蜩裳褂裴裹裸製裨褚裯誦誌語誣認誡誓誤����������������������������������說誥誨誘誑誚誧豪貍貌賓賑賒赫趙趕跼輔輒輕輓辣遠遘遜遣遙遞遢遝遛鄙鄘鄞酵酸酷酴鉸銀銅銘銖鉻銓銜銨鉼銑閡閨閩閣閥閤隙障際雌雒需靼鞅韶頗領颯颱餃餅餌餉駁骯骰髦魁魂鳴鳶鳳麼鼻齊億儀僻僵價儂儈儉儅凜�".split("");for(a=0;a!=t[187].length;++a)if(t[187][a].charCodeAt(0)!==65533){r[t[187][a]]=47872+a;e[47872+a]=t[187][a]}t[188]="����������������������������������������������������������������劇劈劉劍劊勰厲嘮嘻嘹嘲嘿嘴嘩噓噎噗噴嘶嘯嘰墀墟增墳墜墮墩墦奭嬉嫻嬋嫵嬌嬈寮寬審寫層履嶝嶔幢幟幡廢廚廟廝廣廠彈影德徵慶慧慮慝慕憂����������������������������������慼慰慫慾憧憐憫憎憬憚憤憔憮戮摩摯摹撞撲撈撐撰撥撓撕撩撒撮播撫撚撬撙撢撳敵敷數暮暫暴暱樣樟槨樁樞標槽模樓樊槳樂樅槭樑歐歎殤毅毆漿潼澄潑潦潔澆潭潛潸潮澎潺潰潤澗潘滕潯潠潟熟熬熱熨牖犛獎獗瑩璋璃�".split("");for(a=0;a!=t[188].length;++a)if(t[188][a].charCodeAt(0)!==65533){r[t[188][a]]=48128+a;e[48128+a]=t[188][a]}t[189]="����������������������������������������������������������������瑾璀畿瘠瘩瘟瘤瘦瘡瘢皚皺盤瞎瞇瞌瞑瞋磋磅確磊碾磕碼磐稿稼穀稽稷稻窯窮箭箱範箴篆篇篁箠篌糊締練緯緻緘緬緝編緣線緞緩綞緙緲緹罵罷羯����������������������������������翩耦膛膜膝膠膚膘蔗蔽蔚蓮蔬蔭蔓蔑蔣蔡蔔蓬蔥蓿蔆螂蝴蝶蝠蝦蝸蝨蝙蝗蝌蝓衛衝褐複褒褓褕褊誼諒談諄誕請諸課諉諂調誰論諍誶誹諛豌豎豬賠賞賦賤賬賭賢賣賜質賡赭趟趣踫踐踝踢踏踩踟踡踞躺輝輛輟輩輦輪輜輞�".split("");for(a=0;a!=t[189].length;++a)if(t[189][a].charCodeAt(0)!==65533){r[t[189][a]]=48384+a;e[48384+a]=t[189][a]}t[190]="����������������������������������������������������������������輥適遮遨遭遷鄰鄭鄧鄱醇醉醋醃鋅銻銷鋪銬鋤鋁銳銼鋒鋇鋰銲閭閱霄霆震霉靠鞍鞋鞏頡頫頜颳養餓餒餘駝駐駟駛駑駕駒駙骷髮髯鬧魅魄魷魯鴆鴉����������������������������������鴃麩麾黎墨齒儒儘儔儐儕冀冪凝劑劓勳噙噫噹噩噤噸噪器噥噱噯噬噢噶壁墾壇壅奮嬝嬴學寰導彊憲憑憩憊懍憶憾懊懈戰擅擁擋撻撼據擄擇擂操撿擒擔撾整曆曉暹曄曇暸樽樸樺橙橫橘樹橄橢橡橋橇樵機橈歙歷氅濂澱澡�".split("");for(a=0;a!=t[190].length;++a)if(t[190][a].charCodeAt(0)!==65533){r[t[190][a]]=48640+a;e[48640+a]=t[190][a]}t[191]="����������������������������������������������������������������濃澤濁澧澳激澹澶澦澠澴熾燉燐燒燈燕熹燎燙燜燃燄獨璜璣璘璟璞瓢甌甍瘴瘸瘺盧盥瞠瞞瞟瞥磨磚磬磧禦積穎穆穌穋窺篙簑築篤篛篡篩篦糕糖縊����������������������������������縑縈縛縣縞縝縉縐罹羲翰翱翮耨膳膩膨臻興艘艙蕊蕙蕈蕨蕩蕃蕉蕭蕪蕞螃螟螞螢融衡褪褲褥褫褡親覦諦諺諫諱謀諜諧諮諾謁謂諷諭諳諶諼豫豭貓賴蹄踱踴蹂踹踵輻輯輸輳辨辦遵遴選遲遼遺鄴醒錠錶鋸錳錯錢鋼錫錄錚�".split("");for(a=0;a!=t[191].length;++a)if(t[191][a].charCodeAt(0)!==65533){r[t[191][a]]=48896+a;e[48896+a]=t[191][a]}t[192]="����������������������������������������������������������������錐錦錡錕錮錙閻隧隨險雕霎霑霖霍霓霏靛靜靦鞘頰頸頻頷頭頹頤餐館餞餛餡餚駭駢駱骸骼髻髭鬨鮑鴕鴣鴦鴨鴒鴛默黔龍龜優償儡儲勵嚎嚀嚐嚅嚇����������������������������������嚏壕壓壑壎嬰嬪嬤孺尷屨嶼嶺嶽嶸幫彌徽應懂懇懦懋戲戴擎擊擘擠擰擦擬擱擢擭斂斃曙曖檀檔檄檢檜櫛檣橾檗檐檠歜殮毚氈濘濱濟濠濛濤濫濯澀濬濡濩濕濮濰燧營燮燦燥燭燬燴燠爵牆獰獲璩環璦璨癆療癌盪瞳瞪瞰瞬�".split("");for(a=0;a!=t[192].length;++a)if(t[192][a].charCodeAt(0)!==65533){r[t[192][a]]=49152+a;e[49152+a]=t[192][a]}t[193]="����������������������������������������������������������������瞧瞭矯磷磺磴磯礁禧禪穗窿簇簍篾篷簌篠糠糜糞糢糟糙糝縮績繆縷縲繃縫總縱繅繁縴縹繈縵縿縯罄翳翼聱聲聰聯聳臆臃膺臂臀膿膽臉膾臨舉艱薪����������������������������������薄蕾薜薑薔薯薛薇薨薊虧蟀蟑螳蟒蟆螫螻螺蟈蟋褻褶襄褸褽覬謎謗謙講謊謠謝謄謐豁谿豳賺賽購賸賻趨蹉蹋蹈蹊轄輾轂轅輿避遽還邁邂邀鄹醣醞醜鍍鎂錨鍵鍊鍥鍋錘鍾鍬鍛鍰鍚鍔闊闋闌闈闆隱隸雖霜霞鞠韓顆颶餵騁�".split("");for(a=0;a!=t[193].length;++a)if(t[193][a].charCodeAt(0)!==65533){r[t[193][a]]=49408+a;e[49408+a]=t[193][a]}t[194]="����������������������������������������������������������������駿鮮鮫鮪鮭鴻鴿麋黏點黜黝黛鼾齋叢嚕嚮壙壘嬸彝懣戳擴擲擾攆擺擻擷斷曜朦檳檬櫃檻檸櫂檮檯歟歸殯瀉瀋濾瀆濺瀑瀏燻燼燾燸獷獵璧璿甕癖癘����������������������������������癒瞽瞿瞻瞼礎禮穡穢穠竄竅簫簧簪簞簣簡糧織繕繞繚繡繒繙罈翹翻職聶臍臏舊藏薩藍藐藉薰薺薹薦蟯蟬蟲蟠覆覲觴謨謹謬謫豐贅蹙蹣蹦蹤蹟蹕軀轉轍邇邃邈醫醬釐鎔鎊鎖鎢鎳鎮鎬鎰鎘鎚鎗闔闖闐闕離雜雙雛雞霤鞣鞦�".split("");for(a=0;a!=t[194].length;++a)if(t[194][a].charCodeAt(0)!==65533){r[t[194][a]]=49664+a;e[49664+a]=t[194][a]}t[195]="����������������������������������������������������������������鞭韹額顏題顎顓颺餾餿餽餮馥騎髁鬃鬆魏魎魍鯊鯉鯽鯈鯀鵑鵝鵠黠鼕鼬儳嚥壞壟壢寵龐廬懲懷懶懵攀攏曠曝櫥櫝櫚櫓瀛瀟瀨瀚瀝瀕瀘爆爍牘犢獸����������������������������������獺璽瓊瓣疇疆癟癡矇礙禱穫穩簾簿簸簽簷籀繫繭繹繩繪羅繳羶羹羸臘藩藝藪藕藤藥藷蟻蠅蠍蟹蟾襠襟襖襞譁譜識證譚譎譏譆譙贈贊蹼蹲躇蹶蹬蹺蹴轔轎辭邊邋醱醮鏡鏑鏟鏃鏈鏜鏝鏖鏢鏍鏘鏤鏗鏨關隴難霪霧靡韜韻類�".split("");for(a=0;a!=t[195].length;++a)if(t[195][a].charCodeAt(0)!==65533){r[t[195][a]]=49920+a;e[49920+a]=t[195][a]}t[196]="����������������������������������������������������������������願顛颼饅饉騖騙鬍鯨鯧鯖鯛鶉鵡鵲鵪鵬麒麗麓麴勸嚨嚷嚶嚴嚼壤孀孃孽寶巉懸懺攘攔攙曦朧櫬瀾瀰瀲爐獻瓏癢癥礦礪礬礫竇競籌籃籍糯糰辮繽繼����������������������������������纂罌耀臚艦藻藹蘑藺蘆蘋蘇蘊蠔蠕襤覺觸議譬警譯譟譫贏贍躉躁躅躂醴釋鐘鐃鏽闡霰飄饒饑馨騫騰騷騵鰓鰍鹹麵黨鼯齟齣齡儷儸囁囀囂夔屬巍懼懾攝攜斕曩櫻欄櫺殲灌爛犧瓖瓔癩矓籐纏續羼蘗蘭蘚蠣蠢蠡蠟襪襬覽譴�".split("");for(a=0;a!=t[196].length;++a)if(t[196][a].charCodeAt(0)!==65533){r[t[196][a]]=50176+a;e[50176+a]=t[196][a]}t[197]="����������������������������������������������������������������護譽贓躊躍躋轟辯醺鐮鐳鐵鐺鐸鐲鐫闢霸霹露響顧顥饗驅驃驀騾髏魔魑鰭鰥鶯鶴鷂鶸麝黯鼙齜齦齧儼儻囈囊囉孿巔巒彎懿攤權歡灑灘玀瓤疊癮癬����������������������������������禳籠籟聾聽臟襲襯觼讀贖贗躑躓轡酈鑄鑑鑒霽霾韃韁顫饕驕驍髒鬚鱉鰱鰾鰻鷓鷗鼴齬齪龔囌巖戀攣攫攪曬欐瓚竊籤籣籥纓纖纔臢蘸蘿蠱變邐邏鑣鑠鑤靨顯饜驚驛驗髓體髑鱔鱗鱖鷥麟黴囑壩攬灞癱癲矗罐羈蠶蠹衢讓讒�".split("");for(a=0;a!=t[197].length;++a)if(t[197][a].charCodeAt(0)!==65533){r[t[197][a]]=50432+a;e[50432+a]=t[197][a]}t[198]="����������������������������������������������������������������讖艷贛釀鑪靂靈靄韆顰驟鬢魘鱟鷹鷺鹼鹽鼇齷齲廳欖灣籬籮蠻觀躡釁鑲鑰顱饞髖鬣黌灤矚讚鑷韉驢驥纜讜躪釅鑽鑾鑼鱷鱸黷豔鑿鸚爨驪鬱鸛鸞籲���������������������������������������������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[198].length;++a)if(t[198][a].charCodeAt(0)!==65533){r[t[198][a]]=50688+a;e[50688+a]=t[198][a]}t[201]="����������������������������������������������������������������乂乜凵匚厂万丌乇亍囗兀屮彳丏冇与丮亓仂仉仈冘勼卬厹圠夃夬尐巿旡殳毌气爿丱丼仨仜仩仡仝仚刌匜卌圢圣夗夯宁宄尒尻屴屳帄庀庂忉戉扐氕����������������������������������氶汃氿氻犮犰玊禸肊阞伎优伬仵伔仱伀价伈伝伂伅伢伓伄仴伒冱刓刉刐劦匢匟卍厊吇囡囟圮圪圴夼妀奼妅奻奾奷奿孖尕尥屼屺屻屾巟幵庄异弚彴忕忔忏扜扞扤扡扦扢扙扠扚扥旯旮朾朹朸朻机朿朼朳氘汆汒汜汏汊汔汋�".split("");for(a=0;a!=t[201].length;++a)if(t[201][a].charCodeAt(0)!==65533){r[t[201][a]]=51456+a;e[51456+a]=t[201][a]}t[202]="����������������������������������������������������������������汌灱牞犴犵玎甪癿穵网艸艼芀艽艿虍襾邙邗邘邛邔阢阤阠阣佖伻佢佉体佤伾佧佒佟佁佘伭伳伿佡冏冹刜刞刡劭劮匉卣卲厎厏吰吷吪呔呅吙吜吥吘����������������������������������吽呏呁吨吤呇囮囧囥坁坅坌坉坋坒夆奀妦妘妠妗妎妢妐妏妧妡宎宒尨尪岍岏岈岋岉岒岊岆岓岕巠帊帎庋庉庌庈庍弅弝彸彶忒忑忐忭忨忮忳忡忤忣忺忯忷忻怀忴戺抃抌抎抏抔抇扱扻扺扰抁抈扷扽扲扴攷旰旴旳旲旵杅杇�".split("");for(a=0;a!=t[202].length;++a)if(t[202][a].charCodeAt(0)!==65533){r[t[202][a]]=51712+a;e[51712+a]=t[202][a]}t[203]="����������������������������������������������������������������杙杕杌杈杝杍杚杋毐氙氚汸汧汫沄沋沏汱汯汩沚汭沇沕沜汦汳汥汻沎灴灺牣犿犽狃狆狁犺狅玕玗玓玔玒町甹疔疕皁礽耴肕肙肐肒肜芐芏芅芎芑芓����������������������������������芊芃芄豸迉辿邟邡邥邞邧邠阰阨阯阭丳侘佼侅佽侀侇佶佴侉侄佷佌侗佪侚佹侁佸侐侜侔侞侒侂侕佫佮冞冼冾刵刲刳剆刱劼匊匋匼厒厔咇呿咁咑咂咈呫呺呾呥呬呴呦咍呯呡呠咘呣呧呤囷囹坯坲坭坫坱坰坶垀坵坻坳坴坢�".split("");for(a=0;a!=t[203].length;++a)if(t[203][a].charCodeAt(0)!==65533){r[t[203][a]]=51968+a;e[51968+a]=t[203][a]}t[204]="����������������������������������������������������������������坨坽夌奅妵妺姏姎妲姌姁妶妼姃姖妱妽姀姈妴姇孢孥宓宕屄屇岮岤岠岵岯岨岬岟岣岭岢岪岧岝岥岶岰岦帗帔帙弨弢弣弤彔徂彾彽忞忥怭怦怙怲怋����������������������������������怴怊怗怳怚怞怬怢怍怐怮怓怑怌怉怜戔戽抭抴拑抾抪抶拊抮抳抯抻抩抰抸攽斨斻昉旼昄昒昈旻昃昋昍昅旽昑昐曶朊枅杬枎枒杶杻枘枆构杴枍枌杺枟枑枙枃杽极杸杹枔欥殀歾毞氝沓泬泫泮泙沶泔沭泧沷泐泂沺泃泆泭泲�".split("");for(a=0;a!=t[204].length;++a)if(t[204][a].charCodeAt(0)!==65533){r[t[204][a]]=52224+a;e[52224+a]=t[204][a]}t[205]="����������������������������������������������������������������泒泝沴沊沝沀泞泀洰泍泇沰泹泏泩泑炔炘炅炓炆炄炑炖炂炚炃牪狖狋狘狉狜狒狔狚狌狑玤玡玭玦玢玠玬玝瓝瓨甿畀甾疌疘皯盳盱盰盵矸矼矹矻矺����������������������������������矷祂礿秅穸穻竻籵糽耵肏肮肣肸肵肭舠芠苀芫芚芘芛芵芧芮芼芞芺芴芨芡芩苂芤苃芶芢虰虯虭虮豖迒迋迓迍迖迕迗邲邴邯邳邰阹阽阼阺陃俍俅俓侲俉俋俁俔俜俙侻侳俛俇俖侺俀侹俬剄剉勀勂匽卼厗厖厙厘咺咡咭咥哏�".split("");for(a=0;a!=t[205].length;++a)if(t[205][a].charCodeAt(0)!==65533){r[t[205][a]]=52480+a;e[52480+a]=t[205][a]}t[206]="����������������������������������������������������������������哃茍咷咮哖咶哅哆咠呰咼咢咾呲哞咰垵垞垟垤垌垗垝垛垔垘垏垙垥垚垕壴复奓姡姞姮娀姱姝姺姽姼姶姤姲姷姛姩姳姵姠姾姴姭宨屌峐峘峌峗峋峛����������������������������������峞峚峉峇峊峖峓峔峏峈峆峎峟峸巹帡帢帣帠帤庰庤庢庛庣庥弇弮彖徆怷怹恔恲恞恅恓恇恉恛恌恀恂恟怤恄恘恦恮扂扃拏挍挋拵挎挃拫拹挏挌拸拶挀挓挔拺挕拻拰敁敃斪斿昶昡昲昵昜昦昢昳昫昺昝昴昹昮朏朐柁柲柈枺�".split("");for(a=0;a!=t[206].length;++a)if(t[206][a].charCodeAt(0)!==65533){r[t[206][a]]=52736+a;e[52736+a]=t[206][a]}t[207]="����������������������������������������������������������������柜枻柸柘柀枷柅柫柤柟枵柍枳柷柶柮柣柂枹柎柧柰枲柼柆柭柌枮柦柛柺柉柊柃柪柋欨殂殄殶毖毘毠氠氡洨洴洭洟洼洿洒洊泚洳洄洙洺洚洑洀洝浂����������������������������������洁洘洷洃洏浀洇洠洬洈洢洉洐炷炟炾炱炰炡炴炵炩牁牉牊牬牰牳牮狊狤狨狫狟狪狦狣玅珌珂珈珅玹玶玵玴珫玿珇玾珃珆玸珋瓬瓮甮畇畈疧疪癹盄眈眃眄眅眊盷盻盺矧矨砆砑砒砅砐砏砎砉砃砓祊祌祋祅祄秕种秏秖秎窀�".split("");for(a=0;a!=t[207].length;++a)if(t[207][a].charCodeAt(0)!==65533){r[t[207][a]]=52992+a;e[52992+a]=t[207][a]}t[208]="����������������������������������������������������������������穾竑笀笁籺籸籹籿粀粁紃紈紁罘羑羍羾耇耎耏耔耷胘胇胠胑胈胂胐胅胣胙胜胊胕胉胏胗胦胍臿舡芔苙苾苹茇苨茀苕茺苫苖苴苬苡苲苵茌苻苶苰苪����������������������������������苤苠苺苳苭虷虴虼虳衁衎衧衪衩觓訄訇赲迣迡迮迠郱邽邿郕郅邾郇郋郈釔釓陔陏陑陓陊陎倞倅倇倓倢倰倛俵俴倳倷倬俶俷倗倜倠倧倵倯倱倎党冔冓凊凄凅凈凎剡剚剒剞剟剕剢勍匎厞唦哢唗唒哧哳哤唚哿唄唈哫唑唅哱�".split("");for(a=0;a!=t[208].length;++a)if(t[208][a].charCodeAt(0)!==65533){r[t[208][a]]=53248+a;e[53248+a]=t[208][a]}t[209]="����������������������������������������������������������������唊哻哷哸哠唎唃唋圁圂埌堲埕埒垺埆垽垼垸垶垿埇埐垹埁夎奊娙娖娭娮娕娏娗娊娞娳孬宧宭宬尃屖屔峬峿峮峱峷崀峹帩帨庨庮庪庬弳弰彧恝恚恧����������������������������������恁悢悈悀悒悁悝悃悕悛悗悇悜悎戙扆拲挐捖挬捄捅挶捃揤挹捋捊挼挩捁挴捘捔捙挭捇挳捚捑挸捗捀捈敊敆旆旃旄旂晊晟晇晑朒朓栟栚桉栲栳栻桋桏栖栱栜栵栫栭栯桎桄栴栝栒栔栦栨栮桍栺栥栠欬欯欭欱欴歭肂殈毦毤�".split("");for(a=0;a!=t[209].length;++a)if(t[209][a].charCodeAt(0)!==65533){r[t[209][a]]=53504+a;e[53504+a]=t[209][a]}t[210]="����������������������������������������������������������������毨毣毢毧氥浺浣浤浶洍浡涒浘浢浭浯涑涍淯浿涆浞浧浠涗浰浼浟涂涘洯浨涋浾涀涄洖涃浻浽浵涐烜烓烑烝烋缹烢烗烒烞烠烔烍烅烆烇烚烎烡牂牸����������������������������������牷牶猀狺狴狾狶狳狻猁珓珙珥珖玼珧珣珩珜珒珛珔珝珚珗珘珨瓞瓟瓴瓵甡畛畟疰痁疻痄痀疿疶疺皊盉眝眛眐眓眒眣眑眕眙眚眢眧砣砬砢砵砯砨砮砫砡砩砳砪砱祔祛祏祜祓祒祑秫秬秠秮秭秪秜秞秝窆窉窅窋窌窊窇竘笐�".split("");for(a=0;a!=t[210].length;++a)if(t[210][a].charCodeAt(0)!==65533){r[t[210][a]]=53760+a;e[53760+a]=t[210][a]}t[211]="����������������������������������������������������������������笄笓笅笏笈笊笎笉笒粄粑粊粌粈粍粅紞紝紑紎紘紖紓紟紒紏紌罜罡罞罠罝罛羖羒翃翂翀耖耾耹胺胲胹胵脁胻脀舁舯舥茳茭荄茙荑茥荖茿荁茦茜茢����������������������������������荂荎茛茪茈茼荍茖茤茠茷茯茩荇荅荌荓茞茬荋茧荈虓虒蚢蚨蚖蚍蚑蚞蚇蚗蚆蚋蚚蚅蚥蚙蚡蚧蚕蚘蚎蚝蚐蚔衃衄衭衵衶衲袀衱衿衯袃衾衴衼訒豇豗豻貤貣赶赸趵趷趶軑軓迾迵适迿迻逄迼迶郖郠郙郚郣郟郥郘郛郗郜郤酐�".split("");for(a=0;a!=t[211].length;++a)if(t[211][a].charCodeAt(0)!==65533){r[t[211][a]]=54016+a;e[54016+a]=t[211][a]}t[212]="����������������������������������������������������������������酎酏釕釢釚陜陟隼飣髟鬯乿偰偪偡偞偠偓偋偝偲偈偍偁偛偊偢倕偅偟偩偫偣偤偆偀偮偳偗偑凐剫剭剬剮勖勓匭厜啵啶唼啍啐唴唪啑啢唶唵唰啒啅����������������������������������唌唲啥啎唹啈唭唻啀啋圊圇埻堔埢埶埜埴堀埭埽堈埸堋埳埏堇埮埣埲埥埬埡堎埼堐埧堁堌埱埩埰堍堄奜婠婘婕婧婞娸娵婭婐婟婥婬婓婤婗婃婝婒婄婛婈媎娾婍娹婌婰婩婇婑婖婂婜孲孮寁寀屙崞崋崝崚崠崌崨崍崦崥崏�".split("");for(a=0;a!=t[212].length;++a)if(t[212][a].charCodeAt(0)!==65533){r[t[212][a]]=54272+a;e[54272+a]=t[212][a]}t[213]="����������������������������������������������������������������崰崒崣崟崮帾帴庱庴庹庲庳弶弸徛徖徟悊悐悆悾悰悺惓惔惏惤惙惝惈悱惛悷惊悿惃惍惀挲捥掊掂捽掽掞掭掝掗掫掎捯掇掐据掯捵掜捭掮捼掤挻掟����������������������������������捸掅掁掑掍捰敓旍晥晡晛晙晜晢朘桹梇梐梜桭桮梮梫楖桯梣梬梩桵桴梲梏桷梒桼桫桲梪梀桱桾梛梖梋梠梉梤桸桻梑梌梊桽欶欳欷欸殑殏殍殎殌氪淀涫涴涳湴涬淩淢涷淶淔渀淈淠淟淖涾淥淜淝淛淴淊涽淭淰涺淕淂淏淉�".split("");for(a=0;a!=t[213].length;++a)if(t[213][a].charCodeAt(0)!==65533){r[t[213][a]]=54528+a;e[54528+a]=t[213][a]}t[214]="����������������������������������������������������������������淐淲淓淽淗淍淣涻烺焍烷焗烴焌烰焄烳焐烼烿焆焓焀烸烶焋焂焎牾牻牼牿猝猗猇猑猘猊猈狿猏猞玈珶珸珵琄琁珽琇琀珺珼珿琌琋珴琈畤畣痎痒痏����������������������������������痋痌痑痐皏皉盓眹眯眭眱眲眴眳眽眥眻眵硈硒硉硍硊硌砦硅硐祤祧祩祪祣祫祡离秺秸秶秷窏窔窐笵筇笴笥笰笢笤笳笘笪笝笱笫笭笯笲笸笚笣粔粘粖粣紵紽紸紶紺絅紬紩絁絇紾紿絊紻紨罣羕羜羝羛翊翋翍翐翑翇翏翉耟�".split("");for(a=0;a!=t[214].length;++a)if(t[214][a].charCodeAt(0)!==65533){r[t[214][a]]=54784+a;e[54784+a]=t[214][a]}t[215]="����������������������������������������������������������������耞耛聇聃聈脘脥脙脛脭脟脬脞脡脕脧脝脢舑舸舳舺舴舲艴莐莣莨莍荺荳莤荴莏莁莕莙荵莔莩荽莃莌莝莛莪莋荾莥莯莈莗莰荿莦莇莮荶莚虙虖蚿蚷����������������������������������蛂蛁蛅蚺蚰蛈蚹蚳蚸蛌蚴蚻蚼蛃蚽蚾衒袉袕袨袢袪袚袑袡袟袘袧袙袛袗袤袬袌袓袎覂觖觙觕訰訧訬訞谹谻豜豝豽貥赽赻赹趼跂趹趿跁軘軞軝軜軗軠軡逤逋逑逜逌逡郯郪郰郴郲郳郔郫郬郩酖酘酚酓酕釬釴釱釳釸釤釹釪�".split("");for(a=0;a!=t[215].length;++a)if(t[215][a].charCodeAt(0)!==65533){r[t[215][a]]=55040+a;e[55040+a]=t[215][a]}t[216]="����������������������������������������������������������������釫釷釨釮镺閆閈陼陭陫陱陯隿靪頄飥馗傛傕傔傞傋傣傃傌傎傝偨傜傒傂傇兟凔匒匑厤厧喑喨喥喭啷噅喢喓喈喏喵喁喣喒喤啽喌喦啿喕喡喎圌堩堷����������������������������������堙堞堧堣堨埵塈堥堜堛堳堿堶堮堹堸堭堬堻奡媯媔媟婺媢媞婸媦婼媥媬媕媮娷媄媊媗媃媋媩婻婽媌媜媏媓媝寪寍寋寔寑寊寎尌尰崷嵃嵫嵁嵋崿崵嵑嵎嵕崳崺嵒崽崱嵙嵂崹嵉崸崼崲崶嵀嵅幄幁彘徦徥徫惉悹惌惢惎惄愔�".split("");for(a=0;a!=t[216].length;++a)if(t[216][a].charCodeAt(0)!==65533){r[t[216][a]]=55296+a;e[55296+a]=t[216][a]}t[217]="����������������������������������������������������������������惲愊愖愅惵愓惸惼惾惁愃愘愝愐惿愄愋扊掔掱掰揎揥揨揯揃撝揳揊揠揶揕揲揵摡揟掾揝揜揄揘揓揂揇揌揋揈揰揗揙攲敧敪敤敜敨敥斌斝斞斮旐旒����������������������������������晼晬晻暀晱晹晪晲朁椌棓椄棜椪棬棪棱椏棖棷棫棤棶椓椐棳棡椇棌椈楰梴椑棯棆椔棸棐棽棼棨椋椊椗棎棈棝棞棦棴棑椆棔棩椕椥棇欹欻欿欼殔殗殙殕殽毰毲毳氰淼湆湇渟湉溈渼渽湅湢渫渿湁湝湳渜渳湋湀湑渻渃渮湞�".split("");for(a=0;a!=t[217].length;++a)if(t[217][a].charCodeAt(0)!==65533){r[t[217][a]]=55552+a;e[55552+a]=t[217][a]}t[218]="����������������������������������������������������������������湨湜湡渱渨湠湱湫渹渢渰湓湥渧湸湤湷湕湹湒湦渵渶湚焠焞焯烻焮焱焣焥焢焲焟焨焺焛牋牚犈犉犆犅犋猒猋猰猢猱猳猧猲猭猦猣猵猌琮琬琰琫琖����������������������������������琚琡琭琱琤琣琝琩琠琲瓻甯畯畬痧痚痡痦痝痟痤痗皕皒盚睆睇睄睍睅睊睎睋睌矞矬硠硤硥硜硭硱硪确硰硩硨硞硢祴祳祲祰稂稊稃稌稄窙竦竤筊笻筄筈筌筎筀筘筅粢粞粨粡絘絯絣絓絖絧絪絏絭絜絫絒絔絩絑絟絎缾缿罥�".split("");for(a=0;a!=t[218].length;++a)if(t[218][a].charCodeAt(0)!==65533){r[t[218][a]]=55808+a;e[55808+a]=t[218][a]}t[219]="����������������������������������������������������������������罦羢羠羡翗聑聏聐胾胔腃腊腒腏腇脽腍脺臦臮臷臸臹舄舼舽舿艵茻菏菹萣菀菨萒菧菤菼菶萐菆菈菫菣莿萁菝菥菘菿菡菋菎菖菵菉萉萏菞萑萆菂菳����������������������������������菕菺菇菑菪萓菃菬菮菄菻菗菢萛菛菾蛘蛢蛦蛓蛣蛚蛪蛝蛫蛜蛬蛩蛗蛨蛑衈衖衕袺裗袹袸裀袾袶袼袷袽袲褁裉覕覘覗觝觚觛詎詍訹詙詀詗詘詄詅詒詈詑詊詌詏豟貁貀貺貾貰貹貵趄趀趉跘跓跍跇跖跜跏跕跙跈跗跅軯軷軺�".split("");for(a=0;a!=t[219].length;++a)if(t[219][a].charCodeAt(0)!==65533){r[t[219][a]]=56064+a;e[56064+a]=t[219][a]}t[220]="����������������������������������������������������������������軹軦軮軥軵軧軨軶軫軱軬軴軩逭逴逯鄆鄬鄄郿郼鄈郹郻鄁鄀鄇鄅鄃酡酤酟酢酠鈁鈊鈥鈃鈚鈦鈏鈌鈀鈒釿釽鈆鈄鈧鈂鈜鈤鈙鈗鈅鈖镻閍閌閐隇陾隈����������������������������������隉隃隀雂雈雃雱雰靬靰靮頇颩飫鳦黹亃亄亶傽傿僆傮僄僊傴僈僂傰僁傺傱僋僉傶傸凗剺剸剻剼嗃嗛嗌嗐嗋嗊嗝嗀嗔嗄嗩喿嗒喍嗏嗕嗢嗖嗈嗲嗍嗙嗂圔塓塨塤塏塍塉塯塕塎塝塙塥塛堽塣塱壼嫇嫄嫋媺媸媱媵媰媿嫈媻嫆�".split("");for(a=0;a!=t[220].length;++a)if(t[220][a].charCodeAt(0)!==65533){r[t[220][a]]=56320+a;e[56320+a]=t[220][a]}t[221]="����������������������������������������������������������������媷嫀嫊媴媶嫍媹媐寖寘寙尟尳嵱嵣嵊嵥嵲嵬嵞嵨嵧嵢巰幏幎幊幍幋廅廌廆廋廇彀徯徭惷慉慊愫慅愶愲愮慆愯慏愩慀戠酨戣戥戤揅揱揫搐搒搉搠搤����������������������������������搳摃搟搕搘搹搷搢搣搌搦搰搨摁搵搯搊搚摀搥搧搋揧搛搮搡搎敯斒旓暆暌暕暐暋暊暙暔晸朠楦楟椸楎楢楱椿楅楪椹楂楗楙楺楈楉椵楬椳椽楥棰楸椴楩楀楯楄楶楘楁楴楌椻楋椷楜楏楑椲楒椯楻椼歆歅歃歂歈歁殛嗀毻毼�".split("");for(a=0;a!=t[221].length;++a)if(t[221][a].charCodeAt(0)!==65533){r[t[221][a]]=56576+a;e[56576+a]=t[221][a]}t[222]="����������������������������������������������������������������毹毷毸溛滖滈溏滀溟溓溔溠溱溹滆滒溽滁溞滉溷溰滍溦滏溲溾滃滜滘溙溒溎溍溤溡溿溳滐滊溗溮溣煇煔煒煣煠煁煝煢煲煸煪煡煂煘煃煋煰煟煐煓����������������������������������煄煍煚牏犍犌犑犐犎猼獂猻猺獀獊獉瑄瑊瑋瑒瑑瑗瑀瑏瑐瑎瑂瑆瑍瑔瓡瓿瓾瓽甝畹畷榃痯瘏瘃痷痾痼痹痸瘐痻痶痭痵痽皙皵盝睕睟睠睒睖睚睩睧睔睙睭矠碇碚碔碏碄碕碅碆碡碃硹碙碀碖硻祼禂祽祹稑稘稙稒稗稕稢稓�".split("");for(a=0;a!=t[222].length;++a)if(t[222][a].charCodeAt(0)!==65533){r[t[222][a]]=56832+a;e[56832+a]=t[222][a]}t[223]="����������������������������������������������������������������稛稐窣窢窞竫筦筤筭筴筩筲筥筳筱筰筡筸筶筣粲粴粯綈綆綀綍絿綅絺綎絻綃絼綌綔綄絽綒罭罫罧罨罬羦羥羧翛翜耡腤腠腷腜腩腛腢腲朡腞腶腧腯����������������������������������腄腡舝艉艄艀艂艅蓱萿葖葶葹蒏蒍葥葑葀蒆葧萰葍葽葚葙葴葳葝蔇葞萷萺萴葺葃葸萲葅萩菙葋萯葂萭葟葰萹葎葌葒葯蓅蒎萻葇萶萳葨葾葄萫葠葔葮葐蜋蜄蛷蜌蛺蛖蛵蝍蛸蜎蜉蜁蛶蜍蜅裖裋裍裎裞裛裚裌裐覅覛觟觥觤�".split("");for(a=0;a!=t[223].length;++a)if(t[223][a].charCodeAt(0)!==65533){r[t[223][a]]=57088+a;e[57088+a]=t[223][a]}t[224]="����������������������������������������������������������������觡觠觢觜触詶誆詿詡訿詷誂誄詵誃誁詴詺谼豋豊豥豤豦貆貄貅賌赨赩趑趌趎趏趍趓趔趐趒跰跠跬跱跮跐跩跣跢跧跲跫跴輆軿輁輀輅輇輈輂輋遒逿����������������������������������遄遉逽鄐鄍鄏鄑鄖鄔鄋鄎酮酯鉈鉒鈰鈺鉦鈳鉥鉞銃鈮鉊鉆鉭鉬鉏鉠鉧鉯鈶鉡鉰鈱鉔鉣鉐鉲鉎鉓鉌鉖鈲閟閜閞閛隒隓隑隗雎雺雽雸雵靳靷靸靲頏頍頎颬飶飹馯馲馰馵骭骫魛鳪鳭鳧麀黽僦僔僗僨僳僛僪僝僤僓僬僰僯僣僠�".split("");for(a=0;a!=t[224].length;++a)if(t[224][a].charCodeAt(0)!==65533){r[t[224][a]]=57344+a;e[57344+a]=t[224][a]}t[225]="����������������������������������������������������������������凘劀劁勩勫匰厬嘧嘕嘌嘒嗼嘏嘜嘁嘓嘂嗺嘝嘄嗿嗹墉塼墐墘墆墁塿塴墋塺墇墑墎塶墂墈塻墔墏壾奫嫜嫮嫥嫕嫪嫚嫭嫫嫳嫢嫠嫛嫬嫞嫝嫙嫨嫟孷寠����������������������������������寣屣嶂嶀嵽嶆嵺嶁嵷嶊嶉嶈嵾嵼嶍嵹嵿幘幙幓廘廑廗廎廜廕廙廒廔彄彃彯徶愬愨慁慞慱慳慒慓慲慬憀慴慔慺慛慥愻慪慡慖戩戧戫搫摍摛摝摴摶摲摳摽摵摦撦摎撂摞摜摋摓摠摐摿搿摬摫摙摥摷敳斠暡暠暟朅朄朢榱榶槉�".split("");for(a=0;a!=t[225].length;++a)if(t[225][a].charCodeAt(0)!==65533){r[t[225][a]]=57600+a;e[57600+a]=t[225][a]}t[226]="����������������������������������������������������������������榠槎榖榰榬榼榑榙榎榧榍榩榾榯榿槄榽榤槔榹槊榚槏榳榓榪榡榞槙榗榐槂榵榥槆歊歍歋殞殟殠毃毄毾滎滵滱漃漥滸漷滻漮漉潎漙漚漧漘漻漒滭漊����������������������������������漶潳滹滮漭潀漰漼漵滫漇漎潃漅滽滶漹漜滼漺漟漍漞漈漡熇熐熉熀熅熂熏煻熆熁熗牄牓犗犕犓獃獍獑獌瑢瑳瑱瑵瑲瑧瑮甀甂甃畽疐瘖瘈瘌瘕瘑瘊瘔皸瞁睼瞅瞂睮瞀睯睾瞃碲碪碴碭碨硾碫碞碥碠碬碢碤禘禊禋禖禕禔禓�".split("");for(a=0;a!=t[226].length;++a)if(t[226][a].charCodeAt(0)!==65533){r[t[226][a]]=57856+a;e[57856+a]=t[226][a]}t[227]="����������������������������������������������������������������禗禈禒禐稫穊稰稯稨稦窨窫窬竮箈箜箊箑箐箖箍箌箛箎箅箘劄箙箤箂粻粿粼粺綧綷緂綣綪緁緀緅綝緎緄緆緋緌綯綹綖綼綟綦綮綩綡緉罳翢翣翥翞����������������������������������耤聝聜膉膆膃膇膍膌膋舕蒗蒤蒡蒟蒺蓎蓂蒬蒮蒫蒹蒴蓁蓍蒪蒚蒱蓐蒝蒧蒻蒢蒔蓇蓌蒛蒩蒯蒨蓖蒘蒶蓏蒠蓗蓔蓒蓛蒰蒑虡蜳蜣蜨蝫蝀蜮蜞蜡蜙蜛蝃蜬蝁蜾蝆蜠蜲蜪蜭蜼蜒蜺蜱蜵蝂蜦蜧蜸蜤蜚蜰蜑裷裧裱裲裺裾裮裼裶裻�".split("");for(a=0;a!=t[227].length;++a)if(t[227][a].charCodeAt(0)!==65533){r[t[227][a]]=58112+a;e[58112+a]=t[227][a]}t[228]="����������������������������������������������������������������裰裬裫覝覡覟覞觩觫觨誫誙誋誒誏誖谽豨豩賕賏賗趖踉踂跿踍跽踊踃踇踆踅跾踀踄輐輑輎輍鄣鄜鄠鄢鄟鄝鄚鄤鄡鄛酺酲酹酳銥銤鉶銛鉺銠銔銪銍����������������������������������銦銚銫鉹銗鉿銣鋮銎銂銕銢鉽銈銡銊銆銌銙銧鉾銇銩銝銋鈭隞隡雿靘靽靺靾鞃鞀鞂靻鞄鞁靿韎韍頖颭颮餂餀餇馝馜駃馹馻馺駂馽駇骱髣髧鬾鬿魠魡魟鳱鳲鳵麧僿儃儰僸儆儇僶僾儋儌僽儊劋劌勱勯噈噂噌嘵噁噊噉噆噘�".split("");for(a=0;a!=t[228].length;++a)if(t[228][a].charCodeAt(0)!==65533){r[t[228][a]]=58368+a;e[58368+a]=t[228][a]}t[229]="����������������������������������������������������������������噚噀嘳嘽嘬嘾嘸嘪嘺圚墫墝墱墠墣墯墬墥墡壿嫿嫴嫽嫷嫶嬃嫸嬂嫹嬁嬇嬅嬏屧嶙嶗嶟嶒嶢嶓嶕嶠嶜嶡嶚嶞幩幝幠幜緳廛廞廡彉徲憋憃慹憱憰憢憉����������������������������������憛憓憯憭憟憒憪憡憍慦憳戭摮摰撖撠撅撗撜撏撋撊撌撣撟摨撱撘敶敺敹敻斲斳暵暰暩暲暷暪暯樀樆樗槥槸樕槱槤樠槿槬槢樛樝槾樧槲槮樔槷槧橀樈槦槻樍槼槫樉樄樘樥樏槶樦樇槴樖歑殥殣殢殦氁氀毿氂潁漦潾澇濆澒�".split("");for(a=0;a!=t[229].length;++a)if(t[229][a].charCodeAt(0)!==65533){r[t[229][a]]=58624+a;e[58624+a]=t[229][a]}t[230]="����������������������������������������������������������������澍澉澌潢潏澅潚澖潶潬澂潕潲潒潐潗澔澓潝漀潡潫潽潧澐潓澋潩潿澕潣潷潪潻熲熯熛熰熠熚熩熵熝熥熞熤熡熪熜熧熳犘犚獘獒獞獟獠獝獛獡獚獙����������������������������������獢璇璉璊璆璁瑽璅璈瑼瑹甈甇畾瘥瘞瘙瘝瘜瘣瘚瘨瘛皜皝皞皛瞍瞏瞉瞈磍碻磏磌磑磎磔磈磃磄磉禚禡禠禜禢禛歶稹窲窴窳箷篋箾箬篎箯箹篊箵糅糈糌糋緷緛緪緧緗緡縃緺緦緶緱緰緮緟罶羬羰羭翭翫翪翬翦翨聤聧膣膟�".split("");for(a=0;a!=t[230].length;++a)if(t[230][a].charCodeAt(0)!==65533){r[t[230][a]]=58880+a;e[58880+a]=t[230][a]}t[231]="����������������������������������������������������������������膞膕膢膙膗舖艏艓艒艐艎艑蔤蔻蔏蔀蔩蔎蔉蔍蔟蔊蔧蔜蓻蔫蓺蔈蔌蓴蔪蓲蔕蓷蓫蓳蓼蔒蓪蓩蔖蓾蔨蔝蔮蔂蓽蔞蓶蔱蔦蓧蓨蓰蓯蓹蔘蔠蔰蔋蔙蔯虢����������������������������������蝖蝣蝤蝷蟡蝳蝘蝔蝛蝒蝡蝚蝑蝞蝭蝪蝐蝎蝟蝝蝯蝬蝺蝮蝜蝥蝏蝻蝵蝢蝧蝩衚褅褌褔褋褗褘褙褆褖褑褎褉覢覤覣觭觰觬諏諆誸諓諑諔諕誻諗誾諀諅諘諃誺誽諙谾豍貏賥賟賙賨賚賝賧趠趜趡趛踠踣踥踤踮踕踛踖踑踙踦踧�".split("");for(a=0;a!=t[231].length;++a)if(t[231][a].charCodeAt(0)!==65533){r[t[231][a]]=59136+a;e[59136+a]=t[231][a]}t[232]="����������������������������������������������������������������踔踒踘踓踜踗踚輬輤輘輚輠輣輖輗遳遰遯遧遫鄯鄫鄩鄪鄲鄦鄮醅醆醊醁醂醄醀鋐鋃鋄鋀鋙銶鋏鋱鋟鋘鋩鋗鋝鋌鋯鋂鋨鋊鋈鋎鋦鋍鋕鋉鋠鋞鋧鋑鋓����������������������������������銵鋡鋆銴镼閬閫閮閰隤隢雓霅霈霂靚鞊鞎鞈韐韏頞頝頦頩頨頠頛頧颲餈飺餑餔餖餗餕駜駍駏駓駔駎駉駖駘駋駗駌骳髬髫髳髲髱魆魃魧魴魱魦魶魵魰魨魤魬鳼鳺鳽鳿鳷鴇鴀鳹鳻鴈鴅鴄麃黓鼏鼐儜儓儗儚儑凞匴叡噰噠噮�".split("");for(a=0;a!=t[232].length;++a)if(t[232][a].charCodeAt(0)!==65533){r[t[232][a]]=59392+a;e[59392+a]=t[232][a]}t[233]="����������������������������������������������������������������噳噦噣噭噲噞噷圜圛壈墽壉墿墺壂墼壆嬗嬙嬛嬡嬔嬓嬐嬖嬨嬚嬠嬞寯嶬嶱嶩嶧嶵嶰嶮嶪嶨嶲嶭嶯嶴幧幨幦幯廩廧廦廨廥彋徼憝憨憖懅憴懆懁懌憺����������������������������������憿憸憌擗擖擐擏擉撽撉擃擛擳擙攳敿敼斢曈暾曀曊曋曏暽暻暺曌朣樴橦橉橧樲橨樾橝橭橶橛橑樨橚樻樿橁橪橤橐橏橔橯橩橠樼橞橖橕橍橎橆歕歔歖殧殪殫毈毇氄氃氆澭濋澣濇澼濎濈潞濄澽澞濊澨瀄澥澮澺澬澪濏澿澸�".split("");for(a=0;a!=t[233].length;++a)if(t[233][a].charCodeAt(0)!==65533){r[t[233][a]]=59648+a;e[59648+a]=t[233][a]}t[234]="����������������������������������������������������������������澢濉澫濍澯澲澰燅燂熿熸燖燀燁燋燔燊燇燏熽燘熼燆燚燛犝犞獩獦獧獬獥獫獪瑿璚璠璔璒璕璡甋疀瘯瘭瘱瘽瘳瘼瘵瘲瘰皻盦瞚瞝瞡瞜瞛瞢瞣瞕瞙����������������������������������瞗磝磩磥磪磞磣磛磡磢磭磟磠禤穄穈穇窶窸窵窱窷篞篣篧篝篕篥篚篨篹篔篪篢篜篫篘篟糒糔糗糐糑縒縡縗縌縟縠縓縎縜縕縚縢縋縏縖縍縔縥縤罃罻罼罺羱翯耪耩聬膱膦膮膹膵膫膰膬膴膲膷膧臲艕艖艗蕖蕅蕫蕍蕓蕡蕘�".split("");for(a=0;a!=t[234].length;++a)if(t[234][a].charCodeAt(0)!==65533){r[t[234][a]]=59904+a;e[59904+a]=t[234][a]}t[235]="����������������������������������������������������������������蕀蕆蕤蕁蕢蕄蕑蕇蕣蔾蕛蕱蕎蕮蕵蕕蕧蕠薌蕦蕝蕔蕥蕬虣虥虤螛螏螗螓螒螈螁螖螘蝹螇螣螅螐螑螝螄螔螜螚螉褞褦褰褭褮褧褱褢褩褣褯褬褟觱諠����������������������������������諢諲諴諵諝謔諤諟諰諈諞諡諨諿諯諻貑貒貐賵賮賱賰賳赬赮趥趧踳踾踸蹀蹅踶踼踽蹁踰踿躽輶輮輵輲輹輷輴遶遹遻邆郺鄳鄵鄶醓醐醑醍醏錧錞錈錟錆錏鍺錸錼錛錣錒錁鍆錭錎錍鋋錝鋺錥錓鋹鋷錴錂錤鋿錩錹錵錪錔錌�".split("");for(a=0;a!=t[235].length;++a)if(t[235][a].charCodeAt(0)!==65533){r[t[235][a]]=60160+a;e[60160+a]=t[235][a]}t[236]="����������������������������������������������������������������錋鋾錉錀鋻錖閼闍閾閹閺閶閿閵閽隩雔霋霒霐鞙鞗鞔韰韸頵頯頲餤餟餧餩馞駮駬駥駤駰駣駪駩駧骹骿骴骻髶髺髹髷鬳鮀鮅鮇魼魾魻鮂鮓鮒鮐魺鮕����������������������������������魽鮈鴥鴗鴠鴞鴔鴩鴝鴘鴢鴐鴙鴟麈麆麇麮麭黕黖黺鼒鼽儦儥儢儤儠儩勴嚓嚌嚍嚆嚄嚃噾嚂噿嚁壖壔壏壒嬭嬥嬲嬣嬬嬧嬦嬯嬮孻寱寲嶷幬幪徾徻懃憵憼懧懠懥懤懨懞擯擩擣擫擤擨斁斀斶旚曒檍檖檁檥檉檟檛檡檞檇檓檎�".split("");for(a=0;a!=t[236].length;++a)if(t[236][a].charCodeAt(0)!==65533){r[t[236][a]]=60416+a;e[60416+a]=t[236][a]}t[237]="����������������������������������������������������������������檕檃檨檤檑橿檦檚檅檌檒歛殭氉濌澩濴濔濣濜濭濧濦濞濲濝濢濨燡燱燨燲燤燰燢獳獮獯璗璲璫璐璪璭璱璥璯甐甑甒甏疄癃癈癉癇皤盩瞵瞫瞲瞷瞶����������������������������������瞴瞱瞨矰磳磽礂磻磼磲礅磹磾礄禫禨穜穛穖穘穔穚窾竀竁簅簏篲簀篿篻簎篴簋篳簂簉簃簁篸篽簆篰篱簐簊糨縭縼繂縳顈縸縪繉繀繇縩繌縰縻縶繄縺罅罿罾罽翴翲耬膻臄臌臊臅臇膼臩艛艚艜薃薀薏薧薕薠薋薣蕻薤薚薞�".split("");for(a=0;a!=t[237].length;++a)if(t[237][a].charCodeAt(0)!==65533){r[t[237][a]]=60672+a;e[60672+a]=t[237][a]}t[238]="����������������������������������������������������������������蕷蕼薉薡蕺蕸蕗薎薖薆薍薙薝薁薢薂薈薅蕹蕶薘薐薟虨螾螪螭蟅螰螬螹螵螼螮蟉蟃蟂蟌螷螯蟄蟊螴螶螿螸螽蟞螲褵褳褼褾襁襒褷襂覭覯覮觲觳謞����������������������������������謘謖謑謅謋謢謏謒謕謇謍謈謆謜謓謚豏豰豲豱豯貕貔賹赯蹎蹍蹓蹐蹌蹇轃轀邅遾鄸醚醢醛醙醟醡醝醠鎡鎃鎯鍤鍖鍇鍼鍘鍜鍶鍉鍐鍑鍠鍭鎏鍌鍪鍹鍗鍕鍒鍏鍱鍷鍻鍡鍞鍣鍧鎀鍎鍙闇闀闉闃闅閷隮隰隬霠霟霘霝霙鞚鞡鞜�".split("");for(a=0;a!=t[238].length;++a)if(t[238][a].charCodeAt(0)!==65533){r[t[238][a]]=60928+a;e[60928+a]=t[238][a]}t[239]="����������������������������������������������������������������鞞鞝韕韔韱顁顄顊顉顅顃餥餫餬餪餳餲餯餭餱餰馘馣馡騂駺駴駷駹駸駶駻駽駾駼騃骾髾髽鬁髼魈鮚鮨鮞鮛鮦鮡鮥鮤鮆鮢鮠鮯鴳鵁鵧鴶鴮鴯鴱鴸鴰����������������������������������鵅鵂鵃鴾鴷鵀鴽翵鴭麊麉麍麰黈黚黻黿鼤鼣鼢齔龠儱儭儮嚘嚜嚗嚚嚝嚙奰嬼屩屪巀幭幮懘懟懭懮懱懪懰懫懖懩擿攄擽擸攁攃擼斔旛曚曛曘櫅檹檽櫡櫆檺檶檷櫇檴檭歞毉氋瀇瀌瀍瀁瀅瀔瀎濿瀀濻瀦濼濷瀊爁燿燹爃燽獶�".split("");for(a=0;a!=t[239].length;++a)if(t[239][a].charCodeAt(0)!==65533){r[t[239][a]]=61184+a;e[61184+a]=t[239][a]}t[240]="����������������������������������������������������������������璸瓀璵瓁璾璶璻瓂甔甓癜癤癙癐癓癗癚皦皽盬矂瞺磿礌礓礔礉礐礒礑禭禬穟簜簩簙簠簟簭簝簦簨簢簥簰繜繐繖繣繘繢繟繑繠繗繓羵羳翷翸聵臑臒����������������������������������臐艟艞薴藆藀藃藂薳薵薽藇藄薿藋藎藈藅薱薶藒蘤薸薷薾虩蟧蟦蟢蟛蟫蟪蟥蟟蟳蟤蟔蟜蟓蟭蟘蟣螤蟗蟙蠁蟴蟨蟝襓襋襏襌襆襐襑襉謪謧謣謳謰謵譇謯謼謾謱謥謷謦謶謮謤謻謽謺豂豵貙貘貗賾贄贂贀蹜蹢蹠蹗蹖蹞蹥蹧�".split("");for(a=0;a!=t[240].length;++a)if(t[240][a].charCodeAt(0)!==65533){r[t[240][a]]=61440+a;e[61440+a]=t[240][a]}t[241]="����������������������������������������������������������������蹛蹚蹡蹝蹩蹔轆轇轈轋鄨鄺鄻鄾醨醥醧醯醪鎵鎌鎒鎷鎛鎝鎉鎧鎎鎪鎞鎦鎕鎈鎙鎟鎍鎱鎑鎲鎤鎨鎴鎣鎥闒闓闑隳雗雚巂雟雘雝霣霢霥鞬鞮鞨鞫鞤鞪����������������������������������鞢鞥韗韙韖韘韺顐顑顒颸饁餼餺騏騋騉騍騄騑騊騅騇騆髀髜鬈鬄鬅鬩鬵魊魌魋鯇鯆鯃鮿鯁鮵鮸鯓鮶鯄鮹鮽鵜鵓鵏鵊鵛鵋鵙鵖鵌鵗鵒鵔鵟鵘鵚麎麌黟鼁鼀鼖鼥鼫鼪鼩鼨齌齕儴儵劖勷厴嚫嚭嚦嚧嚪嚬壚壝壛夒嬽嬾嬿巃幰�".split("");for(a=0;a!=t[241].length;++a)if(t[241][a].charCodeAt(0)!==65533){r[t[241][a]]=61696+a;e[61696+a]=t[241][a]}t[242]="����������������������������������������������������������������徿懻攇攐攍攉攌攎斄旞旝曞櫧櫠櫌櫑櫙櫋櫟櫜櫐櫫櫏櫍櫞歠殰氌瀙瀧瀠瀖瀫瀡瀢瀣瀩瀗瀤瀜瀪爌爊爇爂爅犥犦犤犣犡瓋瓅璷瓃甖癠矉矊矄矱礝礛����������������������������������礡礜礗礞禰穧穨簳簼簹簬簻糬糪繶繵繸繰繷繯繺繲繴繨罋罊羃羆羷翽翾聸臗臕艤艡艣藫藱藭藙藡藨藚藗藬藲藸藘藟藣藜藑藰藦藯藞藢蠀蟺蠃蟶蟷蠉蠌蠋蠆蟼蠈蟿蠊蠂襢襚襛襗襡襜襘襝襙覈覷覶觶譐譈譊譀譓譖譔譋譕�".split("");for(a=0;a!=t[242].length;++a)if(t[242][a].charCodeAt(0)!==65533){r[t[242][a]]=61952+a;e[61952+a]=t[242][a]}t[243]="����������������������������������������������������������������譑譂譒譗豃豷豶貚贆贇贉趬趪趭趫蹭蹸蹳蹪蹯蹻軂轒轑轏轐轓辴酀鄿醰醭鏞鏇鏏鏂鏚鏐鏹鏬鏌鏙鎩鏦鏊鏔鏮鏣鏕鏄鏎鏀鏒鏧镽闚闛雡霩霫霬霨霦����������������������������������鞳鞷鞶韝韞韟顜顙顝顗颿颽颻颾饈饇饃馦馧騚騕騥騝騤騛騢騠騧騣騞騜騔髂鬋鬊鬎鬌鬷鯪鯫鯠鯞鯤鯦鯢鯰鯔鯗鯬鯜鯙鯥鯕鯡鯚鵷鶁鶊鶄鶈鵱鶀鵸鶆鶋鶌鵽鵫鵴鵵鵰鵩鶅鵳鵻鶂鵯鵹鵿鶇鵨麔麑黀黼鼭齀齁齍齖齗齘匷嚲�".split("");for(a=0;a!=t[243].length;++a)if(t[243][a].charCodeAt(0)!==65533){r[t[243][a]]=62208+a;e[62208+a]=t[243][a]}t[244]="����������������������������������������������������������������嚵嚳壣孅巆巇廮廯忀忁懹攗攖攕攓旟曨曣曤櫳櫰櫪櫨櫹櫱櫮櫯瀼瀵瀯瀷瀴瀱灂瀸瀿瀺瀹灀瀻瀳灁爓爔犨獽獼璺皫皪皾盭矌矎矏矍矲礥礣礧礨礤礩����������������������������������禲穮穬穭竷籉籈籊籇籅糮繻繾纁纀羺翿聹臛臙舋艨艩蘢藿蘁藾蘛蘀藶蘄蘉蘅蘌藽蠙蠐蠑蠗蠓蠖襣襦覹觷譠譪譝譨譣譥譧譭趮躆躈躄轙轖轗轕轘轚邍酃酁醷醵醲醳鐋鐓鏻鐠鐏鐔鏾鐕鐐鐨鐙鐍鏵鐀鏷鐇鐎鐖鐒鏺鐉鏸鐊鏿�".split("");for(a=0;a!=t[244].length;++a)if(t[244][a].charCodeAt(0)!==65533){r[t[244][a]]=62464+a;e[62464+a]=t[244][a]}t[245]="����������������������������������������������������������������鏼鐌鏶鐑鐆闞闠闟霮霯鞹鞻韽韾顠顢顣顟飁飂饐饎饙饌饋饓騲騴騱騬騪騶騩騮騸騭髇髊髆鬐鬒鬑鰋鰈鯷鰅鰒鯸鱀鰇鰎鰆鰗鰔鰉鶟鶙鶤鶝鶒鶘鶐鶛����������������������������������鶠鶔鶜鶪鶗鶡鶚鶢鶨鶞鶣鶿鶩鶖鶦鶧麙麛麚黥黤黧黦鼰鼮齛齠齞齝齙龑儺儹劘劗囃嚽嚾孈孇巋巏廱懽攛欂櫼欃櫸欀灃灄灊灈灉灅灆爝爚爙獾甗癪矐礭礱礯籔籓糲纊纇纈纋纆纍罍羻耰臝蘘蘪蘦蘟蘣蘜蘙蘧蘮蘡蘠蘩蘞蘥�".split("");for(a=0;a!=t[245].length;++a)if(t[245][a].charCodeAt(0)!==65533){r[t[245][a]]=62720+a;e[62720+a]=t[245][a]}t[246]="����������������������������������������������������������������蠩蠝蠛蠠蠤蠜蠫衊襭襩襮襫觺譹譸譅譺譻贐贔趯躎躌轞轛轝酆酄酅醹鐿鐻鐶鐩鐽鐼鐰鐹鐪鐷鐬鑀鐱闥闤闣霵霺鞿韡顤飉飆飀饘饖騹騽驆驄驂驁騺����������������������������������騿髍鬕鬗鬘鬖鬺魒鰫鰝鰜鰬鰣鰨鰩鰤鰡鶷鶶鶼鷁鷇鷊鷏鶾鷅鷃鶻鶵鷎鶹鶺鶬鷈鶱鶭鷌鶳鷍鶲鹺麜黫黮黭鼛鼘鼚鼱齎齥齤龒亹囆囅囋奱孋孌巕巑廲攡攠攦攢欋欈欉氍灕灖灗灒爞爟犩獿瓘瓕瓙瓗癭皭礵禴穰穱籗籜籙籛籚�".split("");for(a=0;a!=t[246].length;++a)if(t[246][a].charCodeAt(0)!==65533){r[t[246][a]]=62976+a;e[62976+a]=t[246][a]}t[247]="����������������������������������������������������������������糴糱纑罏羇臞艫蘴蘵蘳蘬蘲蘶蠬蠨蠦蠪蠥襱覿覾觻譾讄讂讆讅譿贕躕躔躚躒躐躖躗轠轢酇鑌鑐鑊鑋鑏鑇鑅鑈鑉鑆霿韣顪顩飋饔饛驎驓驔驌驏驈驊����������������������������������驉驒驐髐鬙鬫鬻魖魕鱆鱈鰿鱄鰹鰳鱁鰼鰷鰴鰲鰽鰶鷛鷒鷞鷚鷋鷐鷜鷑鷟鷩鷙鷘鷖鷵鷕鷝麶黰鼵鼳鼲齂齫龕龢儽劙壨壧奲孍巘蠯彏戁戃戄攩攥斖曫欑欒欏毊灛灚爢玂玁玃癰矔籧籦纕艬蘺虀蘹蘼蘱蘻蘾蠰蠲蠮蠳襶襴襳觾�".split("");for(a=0;a!=t[247].length;++a)if(t[247][a].charCodeAt(0)!==65533){r[t[247][a]]=63232+a;e[63232+a]=t[247][a]}t[248]="����������������������������������������������������������������讌讎讋讈豅贙躘轤轣醼鑢鑕鑝鑗鑞韄韅頀驖驙鬞鬟鬠鱒鱘鱐鱊鱍鱋鱕鱙鱌鱎鷻鷷鷯鷣鷫鷸鷤鷶鷡鷮鷦鷲鷰鷢鷬鷴鷳鷨鷭黂黐黲黳鼆鼜鼸鼷鼶齃齏����������������������������������齱齰齮齯囓囍孎屭攭曭曮欓灟灡灝灠爣瓛瓥矕礸禷禶籪纗羉艭虃蠸蠷蠵衋讔讕躞躟躠躝醾醽釂鑫鑨鑩雥靆靃靇韇韥驞髕魙鱣鱧鱦鱢鱞鱠鸂鷾鸇鸃鸆鸅鸀鸁鸉鷿鷽鸄麠鼞齆齴齵齶囔攮斸欘欙欗欚灢爦犪矘矙礹籩籫糶纚�".split("");for(a=0;a!=t[248].length;++a)if(t[248][a].charCodeAt(0)!==65533){r[t[248][a]]=63488+a;e[63488+a]=t[248][a]}t[249]="����������������������������������������������������������������纘纛纙臠臡虆虇虈襹襺襼襻觿讘讙躥躤躣鑮鑭鑯鑱鑳靉顲饟鱨鱮鱭鸋鸍鸐鸏鸒鸑麡黵鼉齇齸齻齺齹圞灦籯蠼趲躦釃鑴鑸鑶鑵驠鱴鱳鱱鱵鸔鸓黶鼊����������������������������������龤灨灥糷虪蠾蠽蠿讞貜躩軉靋顳顴飌饡馫驤驦驧鬤鸕鸗齈戇欞爧虌躨钂钀钁驩驨鬮鸙爩虋讟钃鱹麷癵驫鱺鸝灩灪麤齾齉龘碁銹裏墻恒粧嫺╔╦╗╠╬╣╚╩╝╒╤╕╞╪╡╘╧╛╓╥╖╟╫╢╙╨╜║═╭╮╰╯▓�".split("");for(a=0;a!=t[249].length;++a)if(t[249][a].charCodeAt(0)!==65533){r[t[249][a]]=63744+a;e[63744+a]=t[249][a]}return{enc:r,dec:e}}();cptable[1250]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬­®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1251]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—�™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬­®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1252]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1253]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›���� ΅Ά£¤¥¦§¨©�«¬­®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1254]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“”•–—˜™š›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖרÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1255]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰�‹�����‘’“”•–—˜™�›���� ¡¢£₪¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹ�ֻּֽ־ֿ׀ׁׂ׃װױײ׳״�������אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1256]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œ‌‍ں ،¢£¤¥¦§¨©ھ«¬­®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûü‎‏ے",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1257]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“”•–—�™�›�¯˛� �¢£¤�¦§Ø©Ŗ«¬­®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1258]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“”•–—˜™�›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖרÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1e4]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[10006]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦­ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ�",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[10007]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°¢£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµ∂ЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[10008]=function(){var e=[],r={},t=[],a;t[0]="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€���������������������������������������������������������������������������������������".split("");for(a=0;a!=t[0].length;++a)if(t[0][a].charCodeAt(0)!==65533){r[t[0][a]]=0+a;e[0+a]=t[0][a]}t[161]="����������������������������������������������������������������������������������������������������������������������������������������������������������������� 、。・ˉˇ¨〃々―~�…‘’“”〔〕〈〉《》「」『』〖〗【】±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵∴♂♀°′″℃$¤¢£‰§№☆★○●◎◇◆□■△▲※→←↑↓〓�".split("");for(a=0;a!=t[161].length;++a)if(t[161][a].charCodeAt(0)!==65533){r[t[161][a]]=41216+a;e[41216+a]=t[161][a]}t[162]="���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇①②③④⑤⑥⑦⑧⑨⑩��㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩��ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ���".split("");for(a=0;a!=t[162].length;++a)if(t[162][a].charCodeAt(0)!==65533){r[t[162][a]]=41472+a;e[41472+a]=t[162][a]}t[163]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������!"#¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|} ̄�".split("");for(a=0;a!=t[163].length;++a)if(t[163][a].charCodeAt(0)!==65533){r[t[163][a]]=41728+a;e[41728+a]=t[163][a]}t[164]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������".split("");for(a=0;a!=t[164].length;++a)if(t[164][a].charCodeAt(0)!==65533){r[t[164][a]]=41984+a;e[41984+a]=t[164][a]}t[165]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������".split("");for(a=0;a!=t[165].length;++a)if(t[165][a].charCodeAt(0)!==65533){r[t[165][a]]=42240+a;e[42240+a]=t[165][a]}t[166]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω���������������������������������������".split("");for(a=0;a!=t[166].length;++a)if(t[166][a].charCodeAt(0)!==65533){ +r[t[166][a]]=42496+a;e[42496+a]=t[166][a]}t[167]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������".split("");for(a=0;a!=t[167].length;++a)if(t[167][a].charCodeAt(0)!==65533){r[t[167][a]]=42752+a;e[42752+a]=t[167][a]}t[168]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüê����������ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ����������������������".split("");for(a=0;a!=t[168].length;++a)if(t[168][a].charCodeAt(0)!==65533){r[t[168][a]]=43008+a;e[43008+a]=t[168][a]}t[169]="��������������������������������������������������������������������������������������������������������������������������������������������������������������������─━│┃┄┅┆┇┈┉┊┋┌┍┎┏┐┑┒┓└┕┖┗┘┙┚┛├┝┞┟┠┡┢┣┤┥┦┧┨┩┪┫┬┭┮┯┰┱┲┳┴┵┶┷┸┹┺┻┼┽┾┿╀╁╂╃╄╅╆╇╈╉╊╋����������������".split("");for(a=0;a!=t[169].length;++a)if(t[169][a].charCodeAt(0)!==65533){r[t[169][a]]=43264+a;e[43264+a]=t[169][a]}t[176]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥�".split("");for(a=0;a!=t[176].length;++a)if(t[176][a].charCodeAt(0)!==65533){r[t[176][a]]=45056+a;e[45056+a]=t[176][a]}t[177]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳�".split("");for(a=0;a!=t[177].length;++a)if(t[177][a].charCodeAt(0)!==65533){r[t[177][a]]=45312+a;e[45312+a]=t[177][a]}t[178]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖�".split("");for(a=0;a!=t[178].length;++a)if(t[178][a].charCodeAt(0)!==65533){r[t[178][a]]=45568+a;e[45568+a]=t[178][a]}t[179]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚�".split("");for(a=0;a!=t[179].length;++a)if(t[179][a].charCodeAt(0)!==65533){r[t[179][a]]=45824+a;e[45824+a]=t[179][a]}t[180]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮�".split("");for(a=0;a!=t[180].length;++a)if(t[180][a].charCodeAt(0)!==65533){r[t[180][a]]=46080+a;e[46080+a]=t[180][a]}t[181]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠�".split("");for(a=0;a!=t[181].length;++a)if(t[181][a].charCodeAt(0)!==65533){r[t[181][a]]=46336+a;e[46336+a]=t[181][a]}t[182]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二�".split("");for(a=0;a!=t[182].length;++a)if(t[182][a].charCodeAt(0)!==65533){r[t[182][a]]=46592+a;e[46592+a]=t[182][a]}t[183]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服�".split("");for(a=0;a!=t[183].length;++a)if(t[183][a].charCodeAt(0)!==65533){r[t[183][a]]=46848+a;e[46848+a]=t[183][a]}t[184]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹�".split("");for(a=0;a!=t[184].length;++a)if(t[184][a].charCodeAt(0)!==65533){r[t[184][a]]=47104+a;e[47104+a]=t[184][a]}t[185]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈�".split("");for(a=0;a!=t[185].length;++a)if(t[185][a].charCodeAt(0)!==65533){r[t[185][a]]=47360+a;e[47360+a]=t[185][a]}t[186]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖�".split("");for(a=0;a!=t[186].length;++a)if(t[186][a].charCodeAt(0)!==65533){r[t[186][a]]=47616+a;e[47616+a]=t[186][a]}t[187]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕�".split("");for(a=0;a!=t[187].length;++a)if(t[187][a].charCodeAt(0)!==65533){r[t[187][a]]=47872+a;e[47872+a]=t[187][a]}t[188]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件�".split("");for(a=0;a!=t[188].length;++a)if(t[188][a].charCodeAt(0)!==65533){r[t[188][a]]=48128+a;e[48128+a]=t[188][a]}t[189]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸�".split("");for(a=0;a!=t[189].length;++a)if(t[189][a].charCodeAt(0)!==65533){r[t[189][a]]=48384+a;e[48384+a]=t[189][a]}t[190]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻�".split("");for(a=0;a!=t[190].length;++a)if(t[190][a].charCodeAt(0)!==65533){r[t[190][a]]=48640+a;e[48640+a]=t[190][a]}t[191]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀�".split("");for(a=0;a!=t[191].length;++a)if(t[191][a].charCodeAt(0)!==65533){r[t[191][a]]=48896+a;e[48896+a]=t[191][a]}t[192]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐�".split("");for(a=0;a!=t[192].length;++a)if(t[192][a].charCodeAt(0)!==65533){r[t[192][a]]=49152+a;e[49152+a]=t[192][a]}t[193]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿�".split("");for(a=0;a!=t[193].length;++a)if(t[193][a].charCodeAt(0)!==65533){r[t[193][a]]=49408+a;e[49408+a]=t[193][a]}t[194]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫�".split("");for(a=0;a!=t[194].length;++a)if(t[194][a].charCodeAt(0)!==65533){r[t[194][a]]=49664+a;e[49664+a]=t[194][a]}t[195]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸�".split("");for(a=0;a!=t[195].length;++a)if(t[195][a].charCodeAt(0)!==65533){r[t[195][a]]=49920+a;e[49920+a]=t[195][a]}t[196]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁�".split("");for(a=0;a!=t[196].length;++a)if(t[196][a].charCodeAt(0)!==65533){r[t[196][a]]=50176+a;e[50176+a]=t[196][a]}t[197]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗�".split("");for(a=0;a!=t[197].length;++a)if(t[197][a].charCodeAt(0)!==65533){r[t[197][a]]=50432+a;e[50432+a]=t[197][a]}t[198]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐�".split("");for(a=0;a!=t[198].length;++a)if(t[198][a].charCodeAt(0)!==65533){r[t[198][a]]=50688+a;e[50688+a]=t[198][a]}t[199]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠�".split("");for(a=0;a!=t[199].length;++a)if(t[199][a].charCodeAt(0)!==65533){r[t[199][a]]=50944+a;e[50944+a]=t[199][a]}t[200]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁�".split("");for(a=0;a!=t[200].length;++a)if(t[200][a].charCodeAt(0)!==65533){r[t[200][a]]=51200+a;e[51200+a]=t[200][a]}t[201]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳�".split("");for(a=0;a!=t[201].length;++a)if(t[201][a].charCodeAt(0)!==65533){r[t[201][a]]=51456+a;e[51456+a]=t[201][a]}t[202]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱�".split("");for(a=0;a!=t[202].length;++a)if(t[202][a].charCodeAt(0)!==65533){r[t[202][a]]=51712+a;e[51712+a]=t[202][a]}t[203]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔�".split("");for(a=0;a!=t[203].length;++a)if(t[203][a].charCodeAt(0)!==65533){r[t[203][a]]=51968+a;e[51968+a]=t[203][a]}t[204]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃�".split("");for(a=0;a!=t[204].length;++a)if(t[204][a].charCodeAt(0)!==65533){r[t[204][a]]=52224+a;e[52224+a]=t[204][a]}t[205]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威�".split("");for(a=0;a!=t[205].length;++a)if(t[205][a].charCodeAt(0)!==65533){r[t[205][a]]=52480+a;e[52480+a]=t[205][a]}t[206]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺�".split("");for(a=0;a!=t[206].length;++a)if(t[206][a].charCodeAt(0)!==65533){r[t[206][a]]=52736+a;e[52736+a]=t[206][a]}t[207]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓�".split("");for(a=0;a!=t[207].length;++a)if(t[207][a].charCodeAt(0)!==65533){r[t[207][a]]=52992+a;e[52992+a]=t[207][a]}t[208]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄�".split("");for(a=0;a!=t[208].length;++a)if(t[208][a].charCodeAt(0)!==65533){r[t[208][a]]=53248+a;e[53248+a]=t[208][a]}t[209]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶�".split("");for(a=0;a!=t[209].length;++a)if(t[209][a].charCodeAt(0)!==65533){r[t[209][a]]=53504+a;e[53504+a]=t[209][a]}t[210]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐�".split("");for(a=0;a!=t[210].length;++a)if(t[210][a].charCodeAt(0)!==65533){r[t[210][a]]=53760+a;e[53760+a]=t[210][a]}t[211]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉�".split("");for(a=0;a!=t[211].length;++a)if(t[211][a].charCodeAt(0)!==65533){r[t[211][a]]=54016+a;e[54016+a]=t[211][a]}t[212]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧�".split("");for(a=0;a!=t[212].length;++a)if(t[212][a].charCodeAt(0)!==65533){r[t[212][a]]=54272+a;e[54272+a]=t[212][a]}t[213]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政�".split("");for(a=0;a!=t[213].length;++a)if(t[213][a].charCodeAt(0)!==65533){r[t[213][a]]=54528+a;e[54528+a]=t[213][a]}t[214]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑�".split("");for(a=0;a!=t[214].length;++a)if(t[214][a].charCodeAt(0)!==65533){r[t[214][a]]=54784+a;e[54784+a]=t[214][a]}t[215]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座������".split("");for(a=0;a!=t[215].length;++a)if(t[215][a].charCodeAt(0)!==65533){r[t[215][a]]=55040+a;e[55040+a]=t[215][a]}t[216]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝�".split("");for(a=0;a!=t[216].length;++a)if(t[216][a].charCodeAt(0)!==65533){r[t[216][a]]=55296+a;e[55296+a]=t[216][a]}t[217]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼�".split("");for(a=0;a!=t[217].length;++a)if(t[217][a].charCodeAt(0)!==65533){r[t[217][a]]=55552+a;e[55552+a]=t[217][a]}t[218]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺�".split("");for(a=0;a!=t[218].length;++a)if(t[218][a].charCodeAt(0)!==65533){r[t[218][a]]=55808+a;e[55808+a]=t[218][a]}t[219]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝�".split("");for(a=0;a!=t[219].length;++a)if(t[219][a].charCodeAt(0)!==65533){r[t[219][a]]=56064+a;e[56064+a]=t[219][a]}t[220]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥�".split("");for(a=0;a!=t[220].length;++a)if(t[220][a].charCodeAt(0)!==65533){r[t[220][a]]=56320+a;e[56320+a]=t[220][a]}t[221]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺�".split("");for(a=0;a!=t[221].length;++a)if(t[221][a].charCodeAt(0)!==65533){r[t[221][a]]=56576+a;e[56576+a]=t[221][a]}t[222]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖�".split("");for(a=0;a!=t[222].length;++a)if(t[222][a].charCodeAt(0)!==65533){r[t[222][a]]=56832+a;e[56832+a]=t[222][a]}t[223]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼�".split("");for(a=0;a!=t[223].length;++a)if(t[223][a].charCodeAt(0)!==65533){r[t[223][a]]=57088+a;e[57088+a]=t[223][a]}t[224]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼�".split("");for(a=0;a!=t[224].length;++a)if(t[224][a].charCodeAt(0)!==65533){r[t[224][a]]=57344+a;e[57344+a]=t[224][a]}t[225]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺�".split("");for(a=0;a!=t[225].length;++a)if(t[225][a].charCodeAt(0)!==65533){r[t[225][a]]=57600+a;e[57600+a]=t[225][a]}t[226]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧饨饩饪饫饬饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂�".split("");for(a=0;a!=t[226].length;++a)if(t[226][a].charCodeAt(0)!==65533){r[t[226][a]]=57856+a;e[57856+a]=t[226][a]}t[227]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾�".split("");for(a=0;a!=t[227].length;++a)if(t[227][a].charCodeAt(0)!==65533){r[t[227][a]]=58112+a;e[58112+a]=t[227][a]}t[228]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑�".split("");for(a=0;a!=t[228].length;++a)if(t[228][a].charCodeAt(0)!==65533){r[t[228][a]]=58368+a;e[58368+a]=t[228][a]}t[229]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣�".split("");for(a=0;a!=t[229].length;++a)if(t[229][a].charCodeAt(0)!==65533){r[t[229][a]]=58624+a;e[58624+a]=t[229][a]}t[230]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩�".split("");for(a=0;a!=t[230].length;++a)if(t[230][a].charCodeAt(0)!==65533){r[t[230][a]]=58880+a;e[58880+a]=t[230][a]}t[231]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡缢缣缤缥缦缧缪缫缬缭缯缰缱缲缳缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬�".split("");for(a=0;a!=t[231].length;++a)if(t[231][a].charCodeAt(0)!==65533){r[t[231][a]]=59136+a;e[59136+a]=t[231][a]}t[232]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹�".split("");for(a=0;a!=t[232].length;++a)if(t[232][a].charCodeAt(0)!==65533){r[t[232][a]]=59392+a;e[59392+a]=t[232][a]}t[233]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋�".split("");for(a=0;a!=t[233].length;++a)if(t[233][a].charCodeAt(0)!==65533){r[t[233][a]]=59648+a;e[59648+a]=t[233][a]}t[234]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰�".split("");for(a=0;a!=t[234].length;++a)if(t[234][a].charCodeAt(0)!==65533){r[t[234][a]]=59904+a;e[59904+a]=t[234][a]}t[235]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻�".split("");for(a=0;a!=t[235].length;++a)if(t[235][a].charCodeAt(0)!==65533){r[t[235][a]]=60160+a;e[60160+a]=t[235][a]}t[236]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐�".split("");for(a=0;a!=t[236].length;++a)if(t[236][a].charCodeAt(0)!==65533){r[t[236][a]]=60416+a;e[60416+a]=t[236][a]}t[237]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨�".split("");for(a=0;a!=t[237].length;++a)if(t[237][a].charCodeAt(0)!==65533){r[t[237][a]]=60672+a;e[60672+a]=t[237][a]}t[238]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶钷钸钹钺钼钽钿铄铈铉铊铋铌铍铎铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪�".split("");for(a=0;a!=t[238].length;++a)if(t[238][a].charCodeAt(0)!==65533){r[t[238][a]]=60928+a;e[60928+a]=t[238][a]}t[239]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒锓锔锕锖锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤镥镦镧镨镩镪镫镬镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔�".split("");for(a=0;a!=t[239].length;++a)if(t[239][a].charCodeAt(0)!==65533){r[t[239][a]]=61184+a;e[61184+a]=t[239][a]}t[240]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨鸩鸪鸫鸬鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦鹧鹨鹩鹪鹫鹬鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙�".split("");for(a=0;a!=t[240].length;++a)if(t[240][a].charCodeAt(0)!==65533){r[t[240][a]]=61440+a;e[61440+a]=t[240][a]}t[241]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃�".split("");for(a=0;a!=t[241].length;++a)if(t[241][a].charCodeAt(0)!==65533){r[t[241][a]]=61696+a;e[61696+a]=t[241][a]}t[242]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒�".split("");for(a=0;a!=t[242].length;++a)if(t[242][a].charCodeAt(0)!==65533){r[t[242][a]]=61952+a;e[61952+a]=t[242][a]}t[243]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋�".split("");for(a=0;a!=t[243].length;++a)if(t[243][a].charCodeAt(0)!==65533){r[t[243][a]]=62208+a;e[62208+a]=t[243][a]}t[244]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤�".split("");for(a=0;a!=t[244].length;++a)if(t[244][a].charCodeAt(0)!==65533){r[t[244][a]]=62464+a;e[62464+a]=t[244][a]}t[245]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜�".split("");for(a=0;a!=t[245].length;++a)if(t[245][a].charCodeAt(0)!==65533){r[t[245][a]]=62720+a;e[62720+a]=t[245][a]}t[246]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅龆龇龈龉龊龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞鲟鲠鲡鲢鲣鲥鲦鲧鲨鲩鲫鲭鲮鲰鲱鲲鲳鲴鲵鲶鲷鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋�".split("");for(a=0;a!=t[246].length;++a)if(t[246][a].charCodeAt(0)!==65533){r[t[246][a]]=62976+a;e[62976+a]=t[246][a]}t[247]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������鳌鳍鳎鳏鳐鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄�".split("");for(a=0;a!=t[247].length;++a)if(t[247][a].charCodeAt(0)!==65533){r[t[247][a]]=63232+a;e[63232+a]=t[247][a]}return{enc:r,dec:e}}();cptable[10029]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[10079]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüݰ¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[10081]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙ�ˆ˜¯˘˙˚¸˝˛ˇ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[28591]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();if(typeof module!=="undefined"&&module.exports&&typeof DO_NOT_EXPORT_CODEPAGE==="undefined")module.exports=cptable;(function(e,r){"use strict";if(typeof cptable==="undefined"){if(typeof require!=="undefined"){var t=cptable;if(typeof module!=="undefined"&&module.exports&&typeof DO_NOT_EXPORT_CODEPAGE==="undefined")module.exports=r(t);else e.cptable=r(t)}else throw new Error("cptable not found")}else cptable=r(cptable)})(this,function(e){"use strict";var r={1200:"utf16le",1201:"utf16be",12000:"utf32le",12001:"utf32be",16969:"utf64le",20127:"ascii",65000:"utf7",65001:"utf8"};var t=[874,1250,1251,1252,1253,1254,1255,1256,1e4];var a=[932,936,949,950];var n=[65001];var i={};var s={};var f={};var o={};var l=function F(e){return String.fromCharCode(e)};var c=function P(e){return e.charCodeAt(0)};var h=typeof Buffer!=="undefined";var u=function(){};if(h){var d=!Buffer.from;if(!d)try{Buffer.from("foo","utf8")}catch(v){d=true}u=d?function(e,r){return r?new Buffer(e,r):new Buffer(e)}:Buffer.from.bind(Buffer);if(!Buffer.allocUnsafe)Buffer.allocUnsafe=function(e){return new Buffer(e)};var p=1024,g=Buffer.allocUnsafe(p);var m=function L(e){var r=Buffer.allocUnsafe(65536);for(var t=0;t<65536;++t)r[t]=0;var a=Object.keys(e),n=a.length;for(var i=0,s=a[i];i>10&1023)];n[s++]=t[56320+(o&1023)]}}}n=n.slice(0,s)}else{n=Buffer.allocUnsafe(a);for(i=0;i>8}return function f(e){var r=e.length,t=0,n=0;if(2*r>p){p=2*r;g=Buffer.allocUnsafe(p)}if(Buffer.isBuffer(e)){for(t=0;t>8}return function l(e,r){var t=e.length,n=Buffer.allocUnsafe(2*t),i=0,s=0,f=0,o=0,l=0;if(typeof e==="string"){for(i=o=0;i0)n[o++]=a[s]}n=n.slice(0,o)}else if(Buffer.isBuffer(e)){for(i=o=0;i0)n[o++]=a[s]}else{f=s-65536;s=2*(55296+(f>>10&1023));n[o++]=a[s+1]||a[s];if(a[s+1]>0)n[o++]=a[s];s=2*(56320+(f&1023));n[o++]=a[s+1]||a[s];if(a[s+1]>0)n[o++]=a[s]}}n=n.slice(0,o)}else{for(i=o=0;i0)n[o++]=a[s]}}if(!r||r==="buf")return n;if(r!=="arr")return n.toString("binary");return[].slice.call(n)}};var T=function W(r){var t=e[r].dec;var a=Buffer.allocUnsafe(131072),n=0,i,s=0,f=0,o=0;for(o=0;o<65536;++o){a[2*o]=255;a[2*o+1]=253}for(n=0;n>8}return function l(e){var r=e.length,t=Buffer.allocUnsafe(2*r),n=0,i=0,s=0;if(Buffer.isBuffer(e)){for(n=0;np){p=4*r;g=Buffer.allocUnsafe(p)}var n=0;if(r>=3&&e[0]==239)if(e[1]==187&&e[2]==191)n=3;for(var i=1,s=0,f=0;n>8}else{t-=65536;a=55296+(t>>10&1023);t=56320+(t&1023);g[s++]=a&255;g[s++]=a>>>8;g[s++]=t&255;g[s++]=t>>>8&255}}return g.slice(0,s).toString("ucs2")};s[65001]=function z(e,r){if(h&&Buffer.isBuffer(e)){if(!r||r==="buf")return e;if(r!=="arr")return e.toString("binary");return[].slice.call(e)}var t=e.length,a=0,n=0,i=0;var s=typeof e==="string";if(4*t>p){p=4*t;g=Buffer.allocUnsafe(p)}for(var f=0;f>6);g[i++]=128+(a&63)}else if(a>=55296&&a<=57343){a-=55296;++f;n=(s?e.charCodeAt(f):e[f].charCodeAt(0))-56320+(a<<10);g[i++]=240+(n>>>18&7);g[i++]=144+(n>>>12&63);g[i++]=128+(n>>>6&63);g[i++]=128+(n&63)}else{g[i++]=224+(a>>12);g[i++]=128+(a>>6&63);g[i++]=128+(a&63)}}if(!r||r==="buf")return g.slice(0,i);if(r!=="arr")return g.slice(0,i).toString("binary");return[].slice.call(g,0,i)}}var A=function V(){if(h){if(f[t[0]])return;var r=0,l=0;for(r=0;r255){s[d]=f>>8;s[++d]=f&255}else s[d]=f&255}else if(m=r[t])switch(m){case"utf8":if(h&&b){s=u(a,m);d=s.length;break}for(c=0;c>6);s[++d]=128+(f&63)}else if(f>=55296&&f<=57343){f-=55296;v=(b?a.charCodeAt(++c):a[++c].charCodeAt(0))-56320+(f<<10);s[d]=240+(v>>>18&7);s[++d]=144+(v>>>12&63);s[++d]=128+(v>>>6&63);s[++d]=128+(v&63)}else{s[d]=224+(f>>12);s[++d]=128+(f>>6&63);s[++d]=128+(f&63)}}break;case"ascii":if(h&&typeof a==="string"){s=u(a,m);d=s.length;break}for(c=0;c>8}break;case"utf16be":for(c=0;c>8;s[d++]=f&255}break;case"utf32le":for(c=0;c=55296&&f<=57343)f=65536+(f-55296<<10)+(a[++c].charCodeAt(0)-56320);s[d++]=f&255;f>>=8;s[d++]=f&255;f>>=8;s[d++]=f&255;f>>=8;s[d++]=f&255}break;case"utf32be":for(c=0;c=55296&&f<=57343)f=65536+(f-55296<<10)+(a[++c].charCodeAt(0)-56320);s[d+3]=f&255;f>>=8;s[d+2]=f&255;f>>=8;s[d+1]=f&255;f>>=8;s[d]=f&255;d+=4}break;case"utf7":for(c=0;c-1){s[d++]=w.charCodeAt(0);continue}var k=X(1201,w);s[d++]=43;s[d++]=_.charCodeAt(k[0]>>2);s[d++]=_.charCodeAt(((k[0]&3)<<4)+((k[1]||0)>>4));s[d++]=_.charCodeAt(((k[1]&15)<<2)+((k[2]||0)>>6));s[d++]=45}break;default:throw new Error("Unsupported magic: "+t+" "+r[t]);}else throw new Error("Unrecognized CP: "+t);s=s.slice(0,d);if(!h)return n=="str"?s.map(l).join(""):s;if(!n||n==="buf")return s;if(n!=="arr")return s.toString("binary");return[].slice.call(s)};var N=function $(t,a){var n;if(n=f[t])return n(a);if(typeof a==="string")return $(t,a.split("").map(c));var i=a.length,s=new Array(i),o="",l=0,u=0,d=1,v=0,p=0;var g=e[t],m,b="";if(g&&(m=g.dec)){for(u=0;u=3&&a[0]==239)if(a[1]==187&&a[2]==191)u=3;for(;u>10&1023);l=56320+(l&1023);s[v++]=String.fromCharCode(p);s[v++]=String.fromCharCode(l)}}break;case"ascii":if(h&&Buffer.isBuffer(a))return a.toString(b);for(u=0;u=2&&a[0]==255)if(a[1]==254)u=2;if(h&&Buffer.isBuffer(a))return a.toString(b);d=2;for(;u+1=2&&a[0]==254)if(a[1]==255)u=2;d=2;for(;u+1=4&&a[0]==255)if(a[1]==254&&a[2]===0&&a[3]===0)u=4;d=4;for(;u65535){l-=65536;s[v++]=String.fromCharCode(55296+(l>>10&1023));s[v++]=String.fromCharCode(56320+(l&1023))}else s[v++]=String.fromCharCode(l)}break;case"utf32be":if(i>=4&&a[3]==255)if(a[2]==254&&a[1]===0&&a[0]===0)u=4;d=4;for(;u65535){l-=65536;s[v++]=String.fromCharCode(55296+(l>>10&1023));s[v++]=String.fromCharCode(56320+(l&1023))}else s[v++]=String.fromCharCode(l)}break;case"utf7":if(i>=4&&a[0]==43&&a[1]==47&&a[2]==118){if(i>=5&&a[3]==56&&a[4]==45)u=5;else if(a[3]==56||a[3]==57||a[3]==43||a[3]==47)u=4}for(;u>4;k.push(A);x=_.indexOf(String.fromCharCode(a[u+R++]));if(x===-1)break;E=(S&15)<<4|x>>2;k.push(E);O=_.indexOf(String.fromCharCode(a[u+R++]));if(O===-1)break;C=(x&3)<<6|O;if(O<64)k.push(C)}T=$(1201,k);for(R=0;R>1;++t)r[t]=String.fromCharCode(e.charCodeAt(2*t)+(e.charCodeAt(2*t+1)<<8));return r.join("")}function u(e){var r=[];for(var t=0;t>1;++t)r[t]=String.fromCharCode(e.charCodeAt(2*t+1)+(e.charCodeAt(2*t)<<8));return r.join("")}var d=function(e){var r=e.charCodeAt(0),t=e.charCodeAt(1);if(r==255&&t==254)return h(e.slice(2));if(r==254&&t==255)return u(e.slice(2));if(r==65279)return e.slice(1);return e};var v=function Yw(e){return String.fromCharCode(e)};var p=function Kw(e){return String.fromCharCode(e)};if(typeof a!=="undefined"){o=function(e){r=e;s(e)};d=function(e){if(e.charCodeAt(0)===255&&e.charCodeAt(1)===254){return a.utils.decode(1200,c(e.slice(2)))}return e};v=function Jw(e){if(r===1200)return String.fromCharCode(e);return a.utils.decode(r,[e&255,e>>8])[0]};p=function qw(e){return a.utils.decode(t,[e])[0]}}var g=null;var m=true;var b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function w(e){var r="";var t=0,a=0,n=0,i=0,s=0,f=0,o=0;for(var l=0;l>2;a=e.charCodeAt(l++);s=(t&3)<<4|a>>4;n=e.charCodeAt(l++);f=(a&15)<<2|n>>6;o=n&63;if(isNaN(a)){f=o=64}else if(isNaN(n)){o=64}r+=b.charAt(i)+b.charAt(s)+b.charAt(f)+b.charAt(o)}return r}function k(e){var r="";var t=0,a=0,n=0,i=0,s=0,f=0,o=0;e=e.replace(/[^\w\+\/\=]/g,"");for(var l=0;l>4;r+=String.fromCharCode(t);f=b.indexOf(e.charAt(l++));a=(s&15)<<4|f>>2;if(f!==64){r+=String.fromCharCode(a)}o=b.indexOf(e.charAt(l++));n=(f&3)<<6|o;if(o!==64){r+=String.fromCharCode(n)}}return r}var T=function(){return typeof Buffer!=="undefined"&&typeof undefined!=="undefined"&&typeof{}!=="undefined"&&!!{}.node}();var A=function(){if(typeof Buffer!=="undefined"){var e=!Buffer.from;if(!e)try{Buffer.from("foo","utf8")}catch(r){e=true}return e?function(e,r){return r?new Buffer(e,r):new Buffer(e)}:Buffer.from.bind(Buffer)}return function(){}}();function E(e){if(T)return Buffer.alloc?Buffer.alloc(e):new Buffer(e);return typeof Uint8Array!="undefined"?new Uint8Array(e):new Array(e)}function C(e){if(T)return Buffer.allocUnsafe?Buffer.allocUnsafe(e):new Buffer(e);return typeof Uint8Array!="undefined"?new Uint8Array(e):new Array(e)}var y=function Zw(e){if(T)return A(e,"binary");return e.split("").map(function(e){return e.charCodeAt(0)&255})};function S(e){if(typeof ArrayBuffer==="undefined")return y(e);var r=new ArrayBuffer(e.length),t=new Uint8Array(r);for(var a=0;a!=e.length;++a)t[a]=e.charCodeAt(a)&255;return r}function _(e){if(Array.isArray(e))return e.map(function(e){return String.fromCharCode(e)}).join("");var r=[];for(var t=0;t>6&31;n[t++]=128|s&63}else if(s>=55296&&s<57344){s=(s&1023)+64;var f=e.charCodeAt(++i)&1023;n[t++]=240|s>>8&7;n[t++]=128|s>>2&63;n[t++]=128|f>>6&15|(s&3)<<4;n[t++]=128|f&63}else{n[t++]=224|s>>12&15;n[t++]=128|s>>6&63;n[t++]=128|s&63}if(t>a){r.push(n.slice(0,t));t=0;n=E(65535);a=65530}}r.push(n.slice(0,t));return R(r)}var N=/\u0000/g,D=/[\u0001-\u0006]/g;function F(e){var r="",t=e.length-1;while(t>=0)r+=e.charAt(t--);return r}function P(e,r){var t=""+e;return t.length>=r?t:wr("0",r-t.length)+t}function L(e,r){var t=""+e;return t.length>=r?t:wr(" ",r-t.length)+t}function M(e,r){var t=""+e;return t.length>=r?t:t+wr(" ",r-t.length)}function U(e,r){var t=""+Math.round(e);return t.length>=r?t:wr("0",r-t.length)+t}function B(e,r){var t=""+e;return t.length>=r?t:wr("0",r-t.length)+t}var W=Math.pow(2,32);function H(e,r){if(e>W||e<-W)return U(e,r);var t=Math.round(e);return B(t,r)}function z(e,r){r=r||0;return e.length>=7+r&&(e.charCodeAt(r)|32)===103&&(e.charCodeAt(r+1)|32)===101&&(e.charCodeAt(r+2)|32)===110&&(e.charCodeAt(r+3)|32)===101&&(e.charCodeAt(r+4)|32)===114&&(e.charCodeAt(r+5)|32)===97&&(e.charCodeAt(r+6)|32)===108}var V=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]];var G=[["J","Jan","January"],["F","Feb","February"],["M","Mar","March"],["A","Apr","April"],["M","May","May"],["J","Jun","June"],["J","Jul","July"],["A","Aug","August"],["S","Sep","September"],["O","Oct","October"],["N","Nov","November"],["D","Dec","December"]];function j(e){if(!e)e={};e[0]="General";e[1]="0";e[2]="0.00";e[3]="#,##0";e[4]="#,##0.00";e[9]="0%";e[10]="0.00%";e[11]="0.00E+00";e[12]="# ?/?";e[13]="# ??/??";e[14]="m/d/yy";e[15]="d-mmm-yy";e[16]="d-mmm";e[17]="mmm-yy";e[18]="h:mm AM/PM";e[19]="h:mm:ss AM/PM";e[20]="h:mm";e[21]="h:mm:ss";e[22]="m/d/yy h:mm";e[37]="#,##0 ;(#,##0)";e[38]="#,##0 ;[Red](#,##0)";e[39]="#,##0.00;(#,##0.00)";e[40]="#,##0.00;[Red](#,##0.00)";e[45]="mm:ss";e[46]="[h]:mm:ss";e[47]="mmss.0";e[48]="##0.0E+0";e[49]="@";e[56]='"上午/下午 "hh"時"mm"分"ss"秒 "';return e}var X={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"m/d/yy",15:"d-mmm-yy",16:"d-mmm",17:"mmm-yy",18:"h:mm AM/PM",19:"h:mm:ss AM/PM",20:"h:mm",21:"h:mm:ss",22:"m/d/yy h:mm",37:"#,##0 ;(#,##0)",38:"#,##0 ;[Red](#,##0)",39:"#,##0.00;(#,##0.00)",40:"#,##0.00;[Red](#,##0.00)",45:"mm:ss",46:"[h]:mm:ss",47:"mmss.0",48:"##0.0E+0",49:"@",56:'"上午/下午 "hh"時"mm"分"ss"秒 "'};var Y={5:37,6:38,7:39,8:40,23:0,24:0,25:0,26:0,27:14,28:14,29:14,30:14,31:14,50:14,51:14,52:14,53:14,54:14,55:14,56:14,57:14,58:14,59:1,60:2,61:3,62:4,67:9,68:10,69:12,70:13,71:14,72:14,73:15,74:16,75:17,76:20,77:21,78:22,79:45,80:46,81:47,82:0};var K={5:'"$"#,##0_);\\("$"#,##0\\)',63:'"$"#,##0_);\\("$"#,##0\\)',6:'"$"#,##0_);[Red]\\("$"#,##0\\)',64:'"$"#,##0_);[Red]\\("$"#,##0\\)',7:'"$"#,##0.00_);\\("$"#,##0.00\\)',65:'"$"#,##0.00_);\\("$"#,##0.00\\)',8:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',66:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',41:'_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)',42:'_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)',43:'_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)',44:'_("$"* #,##0.00_);_("$"* \\(#,##0.00\\);_("$"* "-"??_);_(@_)'};function J(e,r,t){var a=e<0?-1:1;var n=e*a;var i=0,s=1,f=0;var o=1,l=0,c=0;var h=Math.floor(n);while(lr){if(l>r){c=o;f=i}else{c=l;f=s}}if(!t)return[0,a*f,c];var u=Math.floor(a*f/c);return[u,a*f-u*c,c]}function q(e,r,t){if(e>2958465||e<0)return null;var a=e|0,n=Math.floor(86400*(e-a)),i=0;var s=[];var f={D:a,T:n,u:86400*(e-a)-n,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(f.u)<1e-6)f.u=0;if(r&&r.date1904)a+=1462;if(f.u>.9999){f.u=0;if(++n==86400){f.T=n=0;++a;++f.D}}if(a===60){s=t?[1317,10,29]:[1900,2,29];i=3}else if(a===0){s=t?[1317,8,29]:[1900,1,0];i=6}else{if(a>60)--a;var o=new Date(1900,0,1);o.setDate(o.getDate()+a-1);s=[o.getFullYear(),o.getMonth()+1,o.getDate()];i=o.getDay();if(a<60)i=(i+6)%7;if(t)i=oe(o,s)}f.y=s[0];f.m=s[1];f.d=s[2];f.S=n%60;n=Math.floor(n/60);f.M=n%60;n=Math.floor(n/60);f.H=n;f.q=i;return f}var Z=new Date(1899,11,31,0,0,0);var Q=Z.getTime();var ee=new Date(1900,2,1,0,0,0);function re(e,r){var t=e.getTime();if(r)t-=1461*24*60*60*1e3;else if(e>=ee)t+=24*60*60*1e3;return(t-(Q+(e.getTimezoneOffset()-Z.getTimezoneOffset())*6e4))/(24*60*60*1e3)}function te(e){return e.indexOf(".")==-1?e:e.replace(/(?:\.0*|(\.\d*[1-9])0+)$/,"$1")}function ae(e){if(e.indexOf("E")==-1)return e;return e.replace(/(?:\.0*|(\.\d*[1-9])0+)[Ee]/,"$1E").replace(/(E[+-])(\d)$/,"$10$2")}function ne(e){var r=e<0?12:11;var t=te(e.toFixed(12));if(t.length<=r)return t;t=e.toPrecision(10);if(t.length<=r)return t;return e.toExponential(5)}function ie(e){var r=te(e.toFixed(11));return r.length>(e<0?12:11)||r==="0"||r==="-0"?e.toPrecision(6):r}function se(e){var r=Math.floor(Math.log(Math.abs(e))*Math.LOG10E),t;if(r>=-4&&r<=-1)t=e.toPrecision(10+r);else if(Math.abs(r)<=9)t=ne(e);else if(r===10)t=e.toFixed(10).substr(0,12);else t=ie(e);return te(ae(t.toUpperCase()))}function fe(e,r){switch(typeof e){case"string":return e;case"boolean":return e?"TRUE":"FALSE";case"number":return(e|0)===e?e.toString(10):se(e);case"undefined":return"";case"object":if(e==null)return"";if(e instanceof Date)return Be(14,re(e,r&&r.date1904),r);}throw new Error("unsupported value in General format: "+e)}function oe(e,r){r[0]-=581;var t=e.getDay();if(e<60)t=(t+6)%7;return t}function le(e,r,t,a){var n="",i=0,s=0,f=t.y,o,l=0;switch(e){case 98:f=t.y+543;case 121:switch(r.length){case 1:;case 2:o=f%100;l=2;break;default:o=f%1e4;l=4;break;}break;case 109:switch(r.length){case 1:;case 2:o=t.m;l=r.length;break;case 3:return G[t.m-1][1];case 5:return G[t.m-1][0];default:return G[t.m-1][2];}break;case 100:switch(r.length){case 1:;case 2:o=t.d;l=r.length;break;case 3:return V[t.q][0];default:return V[t.q][1];}break;case 104:switch(r.length){case 1:;case 2:o=1+(t.H+11)%12;l=r.length;break;default:throw"bad hour format: "+r;}break;case 72:switch(r.length){case 1:;case 2:o=t.H;l=r.length;break;default:throw"bad hour format: "+r;}break;case 77:switch(r.length){case 1:;case 2:o=t.M;l=r.length;break;default:throw"bad minute format: "+r;}break;case 115:if(r!="s"&&r!="ss"&&r!=".0"&&r!=".00"&&r!=".000")throw"bad second format: "+r;if(t.u===0&&(r=="s"||r=="ss"))return P(t.S,r.length);if(a>=2)s=a===3?1e3:100;else s=a===1?10:1;i=Math.round(s*(t.S+t.u));if(i>=60*s)i=0;if(r==="s")return i===0?"0":""+i/s;n=P(i,2+a);if(r==="ss")return n.substr(0,2);return"."+n.substr(2,r.length-1);case 90:switch(r){case"[h]":;case"[hh]":o=t.D*24+t.H;break;case"[m]":;case"[mm]":o=(t.D*24+t.H)*60+t.M;break;case"[s]":;case"[ss]":o=((t.D*24+t.H)*60+t.M)*60+Math.round(t.S+t.u);break;default:throw"bad abstime format: "+r;}l=r.length===3?1:2;break;case 101:o=f;l=1;break;}var c=l>0?P(o,l):"";return c}function ce(e){var r=3;if(e.length<=r)return e;var t=e.length%r,a=e.substr(0,t);for(;t!=e.length;t+=r)a+=(a.length>0?",":"")+e.substr(t,r);return a}var he=/%/g;function ue(e,r,t){var a=r.replace(he,""),n=r.length-a.length;return Ie(e,a,t*Math.pow(10,2*n))+wr("%",n)}function de(e,r,t){var a=r.length-1;while(r.charCodeAt(a-1)===44)--a;return Ie(e,r.substr(0,a),t/Math.pow(10,3*(r.length-a)))}function ve(e,r){var t;var a=e.indexOf("E")-e.indexOf(".")-1;if(e.match(/^#+0.0E\+0$/)){if(r==0)return"0.0E+0";else if(r<0)return"-"+ve(e,-r);var n=e.indexOf(".");if(n===-1)n=e.indexOf("E");var i=Math.floor(Math.log(r)*Math.LOG10E)%n;if(i<0)i+=n;t=(r/Math.pow(10,i)).toPrecision(a+1+(n+i)%n);if(t.indexOf("e")===-1){var s=Math.floor(Math.log(r)*Math.LOG10E);if(t.indexOf(".")===-1)t=t.charAt(0)+"."+t.substr(1)+"E+"+(s-t.length+i);else t+="E+"+(s-i);while(t.substr(0,2)==="0."){t=t.charAt(0)+t.substr(2,n)+"."+t.substr(2+n);t=t.replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.")}t=t.replace(/\+-/,"-")}t=t.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function(e,r,t,a){return r+t+a.substr(0,(n+i)%n)+"."+a.substr(i)+"E"})}else t=r.toExponential(a);if(e.match(/E\+00$/)&&t.match(/e[+-]\d$/))t=t.substr(0,t.length-1)+"0"+t.charAt(t.length-1);if(e.match(/E\-/)&&t.match(/e\+/))t=t.replace(/e\+/,"e");return t.replace("e","E")}var pe=/# (\?+)( ?)\/( ?)(\d+)/;function ge(e,r,t){var a=parseInt(e[4],10),n=Math.round(r*a),i=Math.floor(n/a);var s=n-i*a,f=a;return t+(i===0?"":""+i)+" "+(s===0?wr(" ",e[1].length+1+e[4].length):L(s,e[1].length)+e[2]+"/"+e[3]+P(f,e[4].length))}function me(e,r,t){return t+(r===0?"":""+r)+wr(" ",e[1].length+2+e[4].length)}var be=/^#*0*\.([0#]+)/;var we=/\).*[0#]/;var ke=/\(###\) ###\\?-####/;function Te(e){var r="",t;for(var a=0;a!=e.length;++a)switch(t=e.charCodeAt(a)){case 35:break;case 63:r+=" ";break;case 48:r+="0";break;default:r+=String.fromCharCode(t);}return r}function Ae(e,r){var t=Math.pow(10,r);return""+Math.round(e*t)/t}function Ee(e,r){var t=e-Math.floor(e),a=Math.pow(10,r);if(r<(""+Math.round(t*a)).length)return 0;return Math.round(t*a)}function Ce(e,r){if(r<(""+Math.round((e-Math.floor(e))*Math.pow(10,r))).length){return 1}return 0}function ye(e){if(e<2147483647&&e>-2147483648)return""+(e>=0?e|0:e-1|0);return""+Math.floor(e)}function Se(e,r,t){if(e.charCodeAt(0)===40&&!r.match(we)){var a=r.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");if(t>=0)return Se("n",a,t);return"("+Se("n",a,-t)+")"}if(r.charCodeAt(r.length-1)===44)return de(e,r,t);if(r.indexOf("%")!==-1)return ue(e,r,t);if(r.indexOf("E")!==-1)return ve(r,t);if(r.charCodeAt(0)===36)return"$"+Se(e,r.substr(r.charAt(1)==" "?2:1),t);var n;var i,s,f,o=Math.abs(t),l=t<0?"-":"";if(r.match(/^00+$/))return l+H(o,r.length);if(r.match(/^[#?]+$/)){n=H(t,0);if(n==="0")n="";return n.length>r.length?n:Te(r.substr(0,r.length-n.length))+n}if(i=r.match(pe))return ge(i,o,l);if(r.match(/^#+0+$/))return l+H(o,r.length-r.indexOf("0"));if(i=r.match(be)){n=Ae(t,i[1].length).replace(/^([^\.]+)$/,"$1."+Te(i[1])).replace(/\.$/,"."+Te(i[1])).replace(/\.(\d*)$/,function(e,r){return"."+r+wr("0",Te(i[1]).length-r.length)});return r.indexOf("0.")!==-1?n:n.replace(/^0\./,".")}r=r.replace(/^#+([0.])/,"$1");if(i=r.match(/^(0*)\.(#*)$/)){return l+Ae(o,i[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,i[1].length?"0.":".")}if(i=r.match(/^#{1,3},##0(\.?)$/))return l+ce(H(o,0));if(i=r.match(/^#,##0\.([#0]*0)$/)){return t<0?"-"+Se(e,r,-t):ce(""+(Math.floor(t)+Ce(t,i[1].length)))+"."+P(Ee(t,i[1].length),i[1].length)}if(i=r.match(/^#,#*,#0/))return Se(e,r.replace(/^#,#*,/,""),t);if(i=r.match(/^([0#]+)(\\?-([0#]+))+$/)){n=F(Se(e,r.replace(/[\\-]/g,""),t));s=0;return F(F(r.replace(/\\/g,"")).replace(/[0#]/g,function(e){return s=0)return Re("n",a,t);return"("+Re("n",a,-t)+")"}if(r.charCodeAt(r.length-1)===44)return _e(e,r,t);if(r.indexOf("%")!==-1)return xe(e,r,t);if(r.indexOf("E")!==-1)return Oe(r,t);if(r.charCodeAt(0)===36)return"$"+Re(e,r.substr(r.charAt(1)==" "?2:1),t);var n;var i,s,f,o=Math.abs(t),l=t<0?"-":"";if(r.match(/^00+$/))return l+P(o,r.length);if(r.match(/^[#?]+$/)){n=""+t;if(t===0)n="";return n.length>r.length?n:Te(r.substr(0,r.length-n.length))+n}if(i=r.match(pe))return me(i,o,l);if(r.match(/^#+0+$/))return l+P(o,r.length-r.indexOf("0"));if(i=r.match(be)){n=(""+t).replace(/^([^\.]+)$/,"$1."+Te(i[1])).replace(/\.$/,"."+Te(i[1]));n=n.replace(/\.(\d*)$/,function(e,r){return"."+r+wr("0",Te(i[1]).length-r.length)});return r.indexOf("0.")!==-1?n:n.replace(/^0\./,".")}r=r.replace(/^#+([0.])/,"$1");if(i=r.match(/^(0*)\.(#*)$/)){return l+(""+o).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,i[1].length?"0.":".")}if(i=r.match(/^#{1,3},##0(\.?)$/))return l+ce(""+o);if(i=r.match(/^#,##0\.([#0]*0)$/)){return t<0?"-"+Re(e,r,-t):ce(""+t)+"."+wr("0",i[1].length)}if(i=r.match(/^#,#*,#0/))return Re(e,r.replace(/^#,#*,/,""),t);if(i=r.match(/^([0#]+)(\\?-([0#]+))+$/)){n=F(Re(e,r.replace(/[\\-]/g,""),t));s=0;return F(F(r.replace(/\\/g,"")).replace(/[0#]/g,function(e){return s-1||t=="\\"&&e.charAt(r+1)=="-"&&"0#".indexOf(e.charAt(r+2))>-1)){}break;case"?":while(e.charAt(++r)===t){}break;case"*":++r;if(e.charAt(r)==" "||e.charAt(r)=="*")++r;break;case"(":;case")":++r;break;case"1":;case"2":;case"3":;case"4":;case"5":;case"6":;case"7":;case"8":;case"9":while(r-1){}break;case" ":++r;break;default:++r;break;}}return false}function Pe(e,r,t,a){ +var n=[],i="",s=0,f="",o="t",l,c,h;var u="H";while(s=12?"P":"A";p.t="T";u="h";s+=3}else if(e.substr(s,5).toUpperCase()==="AM/PM"){if(l!=null)p.v=l.H>=12?"PM":"AM";p.t="T";s+=5;u="h"}else if(e.substr(s,5).toUpperCase()==="上午/下午"){if(l!=null)p.v=l.H>=12?"下午":"上午";p.t="T";s+=5;u="h"}else{p.t="t";++s}if(l==null&&p.t==="T")return"";n[n.length]=p;o=f;break;case"[":i=f;while(e.charAt(s++)!=="]"&&s-1){i=(i.match(/\$([^-\[\]]*)/)||[])[1]||"$";if(!Fe(e))n[n.length]={t:"t",v:i}}break;case".":if(l!=null){i=f;while(++s-1)i+=f;n[n.length]={t:"n",v:i};break;case"?":i=f;while(e.charAt(++s)===f)i+=f;n[n.length]={t:f,v:i};o=f;break;case"*":++s;if(e.charAt(s)==" "||e.charAt(s)=="*")++s;break;case"(":;case")":n[n.length]={t:a===1?"t":f,v:f};++s;break;case"1":;case"2":;case"3":;case"4":;case"5":;case"6":;case"7":;case"8":;case"9":i=f;while(s-1)i+=e.charAt(s);n[n.length]={t:"D",v:i};break;case" ":n[n.length]={t:f,v:f};++s;break;case"$":n[n.length]={t:"t",v:"$"};++s;break;default:if(",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP".indexOf(f)===-1)throw new Error("unrecognized character "+f+" in "+e);n[n.length]={t:"t",v:f};++s;break;}}var g=0,m=0,b;for(s=n.length-1,o="t";s>=0;--s){switch(n[s].t){case"h":;case"H":n[s].t=u;o="h";if(g<1)g=1;break;case"s":if(b=n[s].v.match(/\.0+$/))m=Math.max(m,b[0].length-1);if(g<3)g=3;case"d":;case"y":;case"M":;case"e":o=n[s].t;break;case"m":if(o==="s"){n[s].t="M";if(g<2)g=2}break;case"X":break;case"Z":if(g<1&&n[s].v.match(/[Hh]/))g=1;if(g<2&&n[s].v.match(/[Mm]/))g=2;if(g<3&&n[s].v.match(/[Ss]/))g=3;}}switch(g){case 0:break;case 1:if(l.u>=.5){l.u=0;++l.S}if(l.S>=60){l.S=0;++l.M}if(l.M>=60){l.M=0;++l.H}break;case 2:if(l.u>=.5){l.u=0;++l.S}if(l.S>=60){l.S=0;++l.M}break;}var w="",k;for(s=0;s0){if(w.charCodeAt(0)==40){A=r<0&&w.charCodeAt(0)===45?-r:r;E=Ie("n",w,A)}else{A=r<0&&a>1?-r:r;E=Ie("n",w,A);if(A<0&&n[0]&&n[0].t=="t"){E=E.substr(1);n[0].v="-"+n[0].v}}k=E.length-1;var C=n.length;for(s=0;s-1){C=s;break}var y=n.length;if(C===n.length&&E.indexOf("E")===-1){for(s=n.length-1;s>=0;--s){if(n[s]==null||"n?".indexOf(n[s].t)===-1)continue;if(k>=n[s].v.length-1){k-=n[s].v.length;n[s].v=E.substr(k+1,n[s].v.length)}else if(k<0)n[s].v="";else{n[s].v=E.substr(0,k+1);k=-1}n[s].t="t";y=s}if(k>=0&&y=0;--s){if(n[s]==null||"n?".indexOf(n[s].t)===-1)continue;c=n[s].v.indexOf(".")>-1&&s===C?n[s].v.indexOf(".")-1:n[s].v.length-1;T=n[s].v.substr(c+1);for(;c>=0;--c){if(k>=0&&(n[s].v.charAt(c)==="0"||n[s].v.charAt(c)==="#"))T=E.charAt(k--)+T}n[s].v=T;n[s].t="t";y=s}if(k>=0&&y-1&&s===C?n[s].v.indexOf(".")+1:0;T=n[s].v.substr(0,c);for(;c-1){A=a>1&&r<0&&s>0&&n[s-1].v==="-"?-r:r;n[s].v=Ie(n[s].t,n[s].v,A);n[s].t="t"}var S="";for(s=0;s!==n.length;++s)if(n[s]!=null)S+=n[s].v;return S}var Le=/\[(=|>[=]?|<[>=]?)(-?\d+(?:\.\d*)?)\]/;function Me(e,r){if(r==null)return false;var t=parseFloat(r[2]);switch(r[1]){case"=":if(e==t)return true;break;case">":if(e>t)return true;break;case"<":if(e":if(e!=t)return true;break;case">=":if(e>=t)return true;break;case"<=":if(e<=t)return true;break;}return false}function Ue(e,r){var t=Ne(e);var a=t.length,n=t[a-1].indexOf("@");if(a<4&&n>-1)--a;if(t.length>4)throw new Error("cannot find right format for |"+t.join("|")+"|");if(typeof r!=="number")return[4,t.length===4||n>-1?t[t.length-1]:"@"];switch(t.length){case 1:t=n>-1?["General","General","General",t[0]]:[t[0],t[0],t[0],"@"];break;case 2:t=n>-1?[t[0],t[0],t[0],t[1]]:[t[0],t[1],t[0],"@"];break;case 3:t=n>-1?[t[0],t[1],t[0],t[2]]:[t[0],t[1],t[2],"@"];break;case 4:break;}var i=r>0?t[0]:r<0?t[1]:t[2];if(t[0].indexOf("[")===-1&&t[1].indexOf("[")===-1)return[a,i];if(t[0].match(/\[[=<>]/)!=null||t[1].match(/\[[=<>]/)!=null){var s=t[0].match(Le);var f=t[1].match(Le);return Me(r,s)?[a,t[0]]:Me(r,f)?[a,t[1]]:[a,t[s!=null&&f!=null?2:1]]}return[a,i]}function Be(e,r,t){if(t==null)t={};var a="";switch(typeof e){case"string":if(e=="m/d/yy"&&t.dateNF)a=t.dateNF;else a=e;break;case"number":if(e==14&&t.dateNF)a=t.dateNF;else a=(t.table!=null?t.table:X)[e];if(a==null)a=t.table&&t.table[Y[e]]||X[Y[e]];if(a==null)a=K[e]||"General";break;}if(z(a,0))return fe(r,t);if(r instanceof Date)r=re(r,t.date1904);var n=Ue(a,r);if(z(n[1]))return fe(r,t);if(r===true)r="TRUE";else if(r===false)r="FALSE";else if(r===""||r==null)return"";return Pe(n[1],r,t,n[0])}function We(e,r){if(typeof r!="number"){r=+r||-1;for(var t=0;t<392;++t){if(X[t]==undefined){if(r<0)r=t;continue}if(X[t]==e){r=t;break}}if(r<0)r=391}X[r]=e;return r}function He(e){for(var r=0;r!=392;++r)if(e[r]!==undefined)We(e[r],r)}function ze(){X=j()}var Ve={format:Be,load:We,_table:X,load_table:He,parse_date_code:q,is_date:Fe,get_table:function Qw(){return Ve._table=X}};var Ge={5:'"$"#,##0_);\\("$"#,##0\\)',6:'"$"#,##0_);[Red]\\("$"#,##0\\)',7:'"$"#,##0.00_);\\("$"#,##0.00\\)',8:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',23:"General",24:"General",25:"General",26:"General",27:"m/d/yy",28:"m/d/yy",29:"m/d/yy",30:"m/d/yy",31:"m/d/yy",32:"h:mm:ss",33:"h:mm:ss",34:"h:mm:ss",35:"h:mm:ss",36:"m/d/yy",41:'_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)',42:'_("$"* #,##0_);_("$"* (#,##0);_("$"* "-"_);_(@_)',43:'_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)',44:'_("$"* #,##0.00_);_("$"* (#,##0.00);_("$"* "-"??_);_(@_)',50:"m/d/yy",51:"m/d/yy",52:"m/d/yy",53:"m/d/yy",54:"m/d/yy",55:"m/d/yy",56:"m/d/yy",57:"m/d/yy",58:"m/d/yy",59:"0",60:"0.00",61:"#,##0",62:"#,##0.00",63:'"$"#,##0_);\\("$"#,##0\\)',64:'"$"#,##0_);[Red]\\("$"#,##0\\)',65:'"$"#,##0.00_);\\("$"#,##0.00\\)',66:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',67:"0%",68:"0.00%",69:"# ?/?",70:"# ??/??",71:"m/d/yy",72:"m/d/yy",73:"d-mmm-yy",74:"d-mmm",75:"mmm-yy",76:"h:mm",77:"h:mm:ss",78:"m/d/yy h:mm",79:"mm:ss",80:"[h]:mm:ss",81:"mmss.0"};var je=/[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;function Xe(e){var r=typeof e=="number"?X[e]:e;r=r.replace(je,"(\\d+)");return new RegExp("^"+r+"$")}function $e(e,r,t){var a=-1,n=-1,i=-1,s=-1,f=-1,o=-1;(r.match(je)||[]).forEach(function(e,r){var l=parseInt(t[r+1],10);switch(e.toLowerCase().charAt(0)){case"y":a=l;break;case"d":i=l;break;case"h":s=l;break;case"s":o=l;break;case"m":if(s>=0)f=l;else n=l;break;}});if(o>=0&&f==-1&&n>=0){f=n;n=-1}var l=(""+(a>=0?a:(new Date).getFullYear())).slice(-4)+"-"+("00"+(n>=1?n:1)).slice(-2)+"-"+("00"+(i>=1?i:1)).slice(-2);if(l.length==7)l="0"+l;if(l.length==8)l="20"+l;var c=("00"+(s>=0?s:0)).slice(-2)+":"+("00"+(f>=0?f:0)).slice(-2)+":"+("00"+(o>=0?o:0)).slice(-2);if(s==-1&&f==-1&&o==-1)return l;if(a==-1&&n==-1&&i==-1)return c;return l+"T"+c}var Ye=function(){var e={};e.version="1.2.0";function r(){var e=0,r=new Array(256);for(var t=0;t!=256;++t){e=t;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;r[t]=e}return typeof Int32Array!=="undefined"?new Int32Array(r):r}var t=r();function a(e){var r=0,t=0,a=0,n=typeof Int32Array!=="undefined"?new Int32Array(4096):new Array(4096);for(a=0;a!=256;++a)n[a]=e[a];for(a=0;a!=256;++a){t=e[a];for(r=256+a;r<4096;r+=256)t=n[r]=t>>>8^e[t&255]}var i=[];for(a=1;a!=16;++a)i[a-1]=typeof Int32Array!=="undefined"?n.subarray(a*256,a*256+256):n.slice(a*256,a*256+256);return i}var n=a(t);var i=n[0],s=n[1],f=n[2],o=n[3],l=n[4];var c=n[5],h=n[6],u=n[7],d=n[8],v=n[9];var p=n[10],g=n[11],m=n[12],b=n[13],w=n[14];function k(e,r){var a=r^-1;for(var n=0,i=e.length;n>>8^t[(a^e.charCodeAt(n++))&255];return~a}function T(e,r){var a=r^-1,n=e.length-15,k=0;for(;k>8&255]^m[e[k++]^a>>16&255]^g[e[k++]^a>>>24]^p[e[k++]]^v[e[k++]]^d[e[k++]]^u[e[k++]]^h[e[k++]]^c[e[k++]]^l[e[k++]]^o[e[k++]]^f[e[k++]]^s[e[k++]]^i[e[k++]]^t[e[k++]];n+=15;while(k>>8^t[(a^e[k++])&255];return~a}function A(e,r){var a=r^-1;for(var n=0,i=e.length,s=0,f=0;n>>8^t[(a^s)&255]}else if(s<2048){a=a>>>8^t[(a^(192|s>>6&31))&255];a=a>>>8^t[(a^(128|s&63))&255]}else if(s>=55296&&s<57344){s=(s&1023)+64;f=e.charCodeAt(n++)&1023;a=a>>>8^t[(a^(240|s>>8&7))&255];a=a>>>8^t[(a^(128|s>>2&63))&255];a=a>>>8^t[(a^(128|f>>6&15|(s&3)<<4))&255];a=a>>>8^t[(a^(128|f&63))&255]}else{a=a>>>8^t[(a^(224|s>>12&15))&255];a=a>>>8^t[(a^(128|s>>6&63))&255];a=a>>>8^t[(a^(128|s&63))&255]}}return~a}e.table=t;e.bstr=k;e.buf=T;e.str=A;return e}();var Ke=function ek(){var e={};e.version="1.2.1";function r(e,r){var t=e.split("/"),a=r.split("/");for(var n=0,i=0,s=Math.min(t.length,a.length);n>>1;e._W(2,t);var a=r.getFullYear()-1980;a=a<<4|r.getMonth()+1;a=a<<5|r.getDate();e._W(2,a)}function i(e){var r=e._R(2)&65535;var t=e._R(2)&65535;var a=new Date;var n=t&31;t>>>=5;var i=t&15;t>>>=4;a.setMilliseconds(0);a.setFullYear(t+1980);a.setMonth(i-1);a.setDate(n);var s=r&31;r>>>=5;var f=r&63;r>>>=6;a.setHours(r);a.setMinutes(f);a.setSeconds(s<<1);return a}function s(e){ca(e,0);var r={};var t=0;while(e.l<=e.length-4){var a=e._R(2);var n=e._R(2),i=e.l+n;var s={};switch(a){case 21589:{t=e._R(1);if(t&1)s.mtime=e._R(4);if(n>5){if(t&2)s.atime=e._R(4);if(t&4)s.ctime=e._R(4)}if(s.mtime)s.mt=new Date(s.mtime*1e3)}break;}e.l=i;r[a]=s}return r}var f;function o(){return f||(f=undefined)}function l(e,r){if(e[0]==80&&e[1]==75)return Ie(e,r);if((e[0]|32)==109&&(e[1]|32)==105)return We(e,r);if(e.length<512)throw new Error("CFB file size "+e.length+" < 512");var t=3;var a=512;var n=0;var i=0;var s=0;var f=0;var o=0;var l=[];var v=e.slice(0,512);ca(v,0);var g=c(v);t=g[0];switch(t){case 3:a=512;break;case 4:a=4096;break;case 0:if(g[1]==0)return Ie(e,r);default:throw new Error("Major Version: Expected 3 or 4 saw "+t);}if(a!==512){v=e.slice(0,a);ca(v,28)}var w=e.slice(0,a);h(v,t);var k=v._R(4,"i");if(t===3&&k!==0)throw new Error("# Directory Sectors: Expected 0 saw "+k);v.l+=4;s=v._R(4,"i");v.l+=4;v.chk("00100000","Mini Stream Cutoff Size: ");f=v._R(4,"i");n=v._R(4,"i");o=v._R(4,"i");i=v._R(4,"i");for(var T=-1,A=0;A<109;++A){T=v._R(4,"i");if(T<0)break;l[A]=T}var E=u(e,a);p(o,i,E,a,l);var C=m(E,s,l,a);C[s].name="!Directory";if(n>0&&f!==U)C[f].name="!MiniFAT";C[l[0]].name="!FAT";C.fat_addrs=l;C.ssz=a;var y={},S=[],_=[],x=[];b(s,C,E,S,n,y,_,f);d(_,x,S);S.shift();var O={FileIndex:_,FullPaths:x};if(r&&r.raw)O.raw={header:w,sectors:E};return O}function c(e){if(e[e.l]==80&&e[e.l+1]==75)return[0,0];e.chk(B,"Header Signature: ");e.l+=16;var r=e._R(2,"u");return[e._R(2,"u"),r]}function h(e,r){var t=9;e.l+=2;switch(t=e._R(2)){case 9:if(r!=3)throw new Error("Sector Shift: Expected 9 saw "+t);break;case 12:if(r!=4)throw new Error("Sector Shift: Expected 12 saw "+t);break;default:throw new Error("Sector Shift: Expected 9 or 12 saw "+t);}e.chk("0600","Mini Sector Shift: ");e.chk("000000000000","Reserved: ")}function u(e,r){var t=Math.ceil(e.length/r)-1;var a=[];for(var n=1;n0&&s>=0){i.push(r.slice(s*M,s*M+M));n-=M;s=ta(t,s*4)}if(i.length===0)return ua(0);return R(i).slice(0,e.size)}function p(e,r,t,a,n){var i=U;if(e===U){if(r!==0)throw new Error("DIFAT chain shorter than expected")}else if(e!==-1){var s=t[e],f=(a>>>2)-1;if(!s)return;for(var o=0;o=0;){n[o]=true;i[i.length]=o;s.push(e[o]);var c=t[Math.floor(o*4/a)];l=o*4&f;if(a<4+l)throw new Error("FAT boundary crossed: "+o+" 4 "+a);if(!e[c])break;o=ta(e[c],l)}return{nodes:i,data:It([s])}}function m(e,r,t,a){var n=e.length,i=[];var s=[],f=[],o=[];var l=a-1,c=0,h=0,u=0,d=0;for(c=0;c=n)u-=n;if(s[u])continue;o=[];var v=[];for(h=u;h>=0;){v[h]=true;s[h]=true;f[f.length]=h;o.push(e[h]);var p=t[Math.floor(h*4/a)];d=h*4&l;if(a<4+d)throw new Error("FAT boundary crossed: "+h+" 4 "+a);if(!e[p])break;h=ta(e[p],d);if(v[h])break}i[u]={nodes:f,data:It([o])}}return i}function b(e,r,t,a,n,i,s,f){var o=0,l=a.length?2:0;var c=r[e].data;var h=0,u=0,d;for(;h0&&o!==U)r[o].name="!StreamData"}else if(m.size>=4096){m.storage="fat";if(r[m.start]===undefined)r[m.start]=g(t,m.start,r.fat_addrs,r.ssz);r[m.start].name=m.name;m.content=r[m.start].data.slice(0,m.size)}else{m.storage="minifat";if(m.size<0)m.size=0;else if(o!==U&&m.start!==U&&r[o]){m.content=v(m,r[o].data,(r[f]||{}).data)}}if(m.content)ca(m.content,0);i[d]=m;s.push(m)}}function S(e,r){return new Date((ra(e,r+4)/1e7*Math.pow(2,32)+ra(e,r)/1e7-11644473600)*1e3)}function _(e,r){o();return l(f.readFileSync(e),r)}function x(e,r){var t=r&&r.type;if(!t){if(T&&Buffer.isBuffer(e))t="buffer"}switch(t||"base64"){case"file":return _(e,r);case"base64":return l(y(k(e)),r);case"binary":return l(y(e),r);}return l(e,r)}function O(e,r){var t=r||{},a=t.root||"Root Entry";if(!e.FullPaths)e.FullPaths=[];if(!e.FileIndex)e.FileIndex=[];if(e.FullPaths.length!==e.FileIndex.length)throw new Error("inconsistent CFB structure");if(e.FullPaths.length===0){e.FullPaths[0]=a+"/";e.FileIndex[0]={name:a,type:5}}if(t.CLSID)e.FileIndex[0].clsid=t.CLSID;I(e)}function I(e){var r="Sh33tJ5";if(Ke.find(e,"/"+r))return;var t=ua(4);t[0]=55;t[1]=t[3]=50;t[2]=54;e.FileIndex.push({name:r,type:2,content:t,size:4,L:69,R:69,C:69});e.FullPaths.push(e.FullPaths[0]+r);F(e)}function F(e,n){O(e);var i=false,s=false;for(var f=e.FullPaths.length-1;f>=0;--f){var o=e.FileIndex[f];switch(o.type){case 0:if(s)i=true;else{e.FileIndex.pop();e.FullPaths.pop()}break;case 1:;case 2:;case 5:s=true;if(isNaN(o.R*o.L*o.C))i=true;if(o.R>-1&&o.L>-1&&o.R==o.L)i=true;break;default:i=true;break;}}if(!i&&!n)return;var l=new Date(1987,1,19),c=0;var h=Object.create?Object.create(null):{};var u=[];for(f=0;f1?1:-1;v.size=0;v.type=5}else if(p.slice(-1)=="/"){for(c=f+1;c=u.length?-1:c;for(c=f+1;c=u.length?-1:c;v.type=1}else{if(t(e.FullPaths[f+1]||"")==t(p))v.R=f+1;v.type=2}}}function P(e,r){var t=r||{};if(t.fileType=="mad")return He(e,t);F(e);switch(t.fileType){case"zip":return De(e,t);}var a=function(e){var r=0,t=0;for(var a=0;a0){if(i<4096)r+=i+63>>6;else t+=i+511>>9}}var s=e.FullPaths.length+3>>2;var f=r+7>>3;var o=r+127>>7;var l=f+t+s+o;var c=l+127>>7;var h=c<=109?0:Math.ceil((c-109)/127);while(l+c+h+127>>7>c)h=++c<=109?0:Math.ceil((c-109)/127);var u=[1,h,c,o,s,t,r,0];e.FileIndex[0].size=r<<6;u[7]=(e.FileIndex[0].start=u[0]+u[1]+u[2]+u[3]+u[4]+u[5])+(u[6]+7>>3);return u}(e);var n=ua(a[7]<<9);var i=0,s=0;{for(i=0;i<8;++i)n._W(1,W[i]);for(i=0;i<8;++i)n._W(2,0);n._W(2,62);n._W(2,3);n._W(2,65534);n._W(2,9);n._W(2,6);for(i=0;i<3;++i)n._W(2,0);n._W(4,0);n._W(4,a[2]);n._W(4,a[0]+a[1]+a[2]+a[3]-1);n._W(4,0);n._W(4,1<<12);n._W(4,a[3]?a[0]+a[1]+a[2]-1:U);n._W(4,a[3]);n._W(-4,a[1]?a[0]-1:U);n._W(4,a[1]);for(i=0;i<109;++i)n._W(-4,i>9)}f(a[6]+7>>3);while(n.l&511)n._W(-4,z.ENDOFCHAIN);s=i=0;for(o=0;o=4096)continue;c.start=s;f(l+63>>6)}while(n.l&511)n._W(-4,z.ENDOFCHAIN);for(i=0;i=4096){n.l=c.start+1<<9;if(T&&Buffer.isBuffer(c.content)){c.content.copy(n,n.l,0,c.size);n.l+=c.size+511&-512}else{for(o=0;o0&&c.size<4096){if(T&&Buffer.isBuffer(c.content)){c.content.copy(n,n.l,0,c.size);n.l+=c.size+63&-64}else{for(o=0;o>16|r>>8|r)&255}var ee=typeof Uint8Array!=="undefined";var re=ee?new Uint8Array(1<<8):[];for(var te=0;te<1<<8;++te)re[te]=Q(te);function ae(e,r){var t=re[e&255];if(r<=8)return t>>>8-r;t=t<<8|re[e>>8&255];if(r<=16)return t>>>16-r;t=t<<8|re[e>>16&255];return t>>>24-r}function ne(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=6?0:e[a+1]<<8))>>>t&3}function ie(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=5?0:e[a+1]<<8))>>>t&7}function se(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=4?0:e[a+1]<<8))>>>t&15}function fe(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=3?0:e[a+1]<<8))>>>t&31}function oe(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=1?0:e[a+1]<<8))>>>t&127}function le(e,r,t){var a=r&7,n=r>>>3,i=(1<>>a;if(t<8-a)return s&i;s|=e[n+1]<<8-a;if(t<16-a)return s&i;s|=e[n+2]<<16-a;if(t<24-a)return s&i;s|=e[n+3]<<24-a;return s&i}function ce(e,r,t){var a=r&7,n=r>>>3;if(a<=5)e[n]|=(t&7)<>8-a}return r+3}function he(e,r,t){var a=r&7,n=r>>>3;t=(t&1)<>>3;t<<=a;e[n]|=t&255;t>>>=8;e[n+1]=t;return r+8}function de(e,r,t){var a=r&7,n=r>>>3;t<<=a;e[n]|=t&255;t>>>=8;e[n+1]=t&255;e[n+2]=t>>>8;return r+16}function ve(e,r){var t=e.length,a=2*t>r?2*t:r+5,n=0;if(t>=r)return e;if(T){var i=C(a);if(e.copy)e.copy(i);else for(;n>a-h;for(s=(1<=0;--s)r[f|s<0)r[r.l++]=e[t++]}return r.l}function i(r,t){var n=0;var i=0;var s=ee?new Uint16Array(32768):[];while(i0)t[t.l++]=r[i++];n=t.l*8;continue}n=ce(t,n,+!!(i+f==r.length)+2);var o=0;while(f-- >0){var l=r[i];o=(o<<5^l)&32767;var c=-1,h=0;if(c=s[o]){c|=i&~32767;if(c>i)c-=32768;if(c2){l=a[h];if(l<=22)n=ue(t,n,re[l+1]>>1)-1;else{ue(t,n,3);n+=5;ue(t,n,re[l-23]>>5);n+=3}var u=l<8?0:l-4>>2;if(u>0){de(t,n,h-q[l]);n+=u}l=e[i-c];n=ue(t,n,re[l]>>3);n-=3;var d=l<4?0:l-2>>1;if(d>0){de(t,n,i-c-Z[l]);n+=d}for(var v=0;v>8-v;for(var p=(1<<7-v)-1;p>=0;--p)Ce[d|p<>>=3){case 16:i=3+ne(e,r);r+=2;d=g[g.length-1];while(i-- >0)g.push(d);break;case 17:i=3+ie(e,r);r+=3;while(i-- >0)g.push(0);break;case 18:i=11+oe(e,r);r+=7;while(i-- >0)g.push(0);break;default:g.push(d);if(o>>0;var f=0,o=0;while((a&1)==0){a=ie(e,t);t+=3;if(a>>>1==0){if(t&7)t+=8-(t&7);var l=e[t>>>3]|e[(t>>>3)+1]<<8;t+=32;if(l>0){if(!r&&s0){n[i++]=e[t>>>3];t+=8}}continue}else if(a>>1==1){f=9;o=5}else{t=_e(e,t);f=ye;o=Se}for(;;){if(!r&&s>>1==1?me[c]:Ae[c];t+=h&15;h>>>=4;if((h>>>8&255)===0)n[i++]=h;else if(h==256)break;else{h-=257;var u=h<8?0:h-4>>2;if(u>5)u=0;var d=i+q[h];if(u>0){d+=le(e,t,u);t+=u}c=le(e,t,o);h=a>>>1==1?be[c]:Ee[c];t+=h&15;h>>>=4;var v=h<4?0:h-2>>1;var p=Z[h];if(v>0){p+=le(e,t,v);t+=v}if(!r&&s>>3];return[n.slice(0,i),t+7>>>3]}function Oe(e,r){var t=e.slice(e.l||0);var a=xe(t,r);e.l+=a[1];return a[0]}function Re(e,r){if(e){if(typeof console!=="undefined")console.error(r)}else throw new Error(r)}function Ie(e,r){var t=e;ca(t,0);var a=[],n=[];var i={FileIndex:a,FullPaths:n};O(i,{root:r.root});var f=t.length-4;while((t[f]!=80||t[f+1]!=75||t[f+2]!=5||t[f+3]!=6)&&f>=0)--f;t.l=f+4;t.l+=4;var o=t._R(2);t.l+=6;var l=t._R(4);t.l=l;for(f=0;f0){t=t.slice(0,t.length-1);t=t.slice(0,t.lastIndexOf("/")+1);if(i.slice(0,t.length)==t)break}}var s=(a[1]||"").match(/boundary="(.*?)"/);if(!s)throw new Error("MAD cannot find boundary");var f="--"+(s[1]||"");var o=[],l=[];var c={FileIndex:o,FullPaths:l};O(c);var h,u=0;for(n=0;n=32&&d<128)++h;var p=h>=u*4/5;n.push(a);n.push("Content-Location: "+(t.root||"file:///C:/SheetJS/")+s);n.push("Content-Transfer-Encoding: "+(p?"quoted-printable":"base64"));n.push("Content-Type: "+Pe(f,s));n.push("");n.push(p?Me(c):Le(c))}n.push(a+"--\r\n");return n.join("\r\n")}function ze(e){var r={};O(r,e);return r}function Ve(e,r,t,n){var i=n&&n.unsafe;if(!i)O(e);var s=!i&&Ke.find(e,r);if(!s){var f=e.FullPaths[0];if(r.slice(0,f.length)==f)f=r;else{if(f.slice(-1)!="/")f+="/";f=(f+r).replace("//","/")}s={name:a(r),type:2};e.FileIndex.push(s);e.FullPaths.push(f);if(!i)Ke.utils.cfb_gc(e)}s.content=t;s.size=t?t.length:0;if(n){if(n.CLSID)s.clsid=n.CLSID;if(n.mt)s.mt=n.mt;if(n.ct)s.ct=n.ct}return s}function Ge(e,r){O(e);var t=Ke.find(e,r);if(t)for(var a=0;a3)a=true;switch(n[i].slice(n[i].length-1)){case"Y":throw new Error("Unsupported ISO Duration Field: "+n[i].slice(n[i].length-1));case"D":t*=24;case"H":t*=60;case"M":if(!a)throw new Error("Unsupported ISO Duration Field: M");else t*=60;case"S":break;}r+=t*parseInt(n[i],10)}return r}var dr=new Date("2017-02-19T19:06:09.000Z");var vr=isNaN(dr.getFullYear())?new Date("2/19/17"):dr;var pr=vr.getFullYear()==2017;function gr(e,r){var t=new Date(e);if(pr){if(r>0)t.setTime(t.getTime()+t.getTimezoneOffset()*60*1e3);else if(r<0)t.setTime(t.getTime()-t.getTimezoneOffset()*60*1e3);return t}if(e instanceof Date)return e;if(vr.getFullYear()==1917&&!isNaN(t.getFullYear())){var a=t.getFullYear();if(e.indexOf(""+a)>-1)return t;t.setFullYear(t.getFullYear()+100);return t}var n=e.match(/\d+/g)||["2017","2","19","0","0","0"];var i=new Date(+n[0],+n[1]-1,+n[2],+n[3]||0,+n[4]||0,+n[5]||0);if(e.indexOf("Z")>-1)i=new Date(i.getTime()-i.getTimezoneOffset()*60*1e3);return i}function mr(e,r){if(T&&Buffer.isBuffer(e)){if(r){if(e[0]==255&&e[1]==254)return ct(e.slice(2).toString("utf16le"));if(e[1]==254&&e[2]==255)return ct(u(e.slice(2).toString("binary")))}return e.toString("binary")}if(typeof TextDecoder!=="undefined")try{if(r){if(e[0]==255&&e[1]==254)return ct(new TextDecoder("utf-16le").decode(e.slice(2)));if(e[0]==254&&e[1]==255)return ct(new TextDecoder("utf-16be").decode(e.slice(2)))}var t={"€":"€","‚":"‚","ƒ":"ƒ","„":"„","…":"…","†":"†","‡":"‡","ˆ":"ˆ","‰":"‰","Š":"Š","‹":"‹","Œ":"Œ","Ž":"Ž","‘":"‘","’":"’","“":"“","”":"”","•":"•","–":"–","—":"—","˜":"˜","™":"™","š":"š","›":"›","œ":"œ","ž":"ž","Ÿ":"Ÿ"};if(Array.isArray(e))e=new Uint8Array(e);return new TextDecoder("latin1").decode(e).replace(/[€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ]/g,function(e){return t[e]||e})}catch(a){}var n=[];for(var i=0;i!=e.length;++i)n.push(String.fromCharCode(e[i]));return n.join("")}function br(e){if(typeof JSON!="undefined"&&!Array.isArray(e))return JSON.parse(JSON.stringify(e));if(typeof e!="object"||e==null)return e;if(e instanceof Date)return new Date(e.getTime());var r={};for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))r[t]=br(e[t]);return r}function wr(e,r){var t="";while(t.length3&&Tr.indexOf(s)==-1)return t}else if(s.match(/[a-z]/))return t;if(a<0||a>8099)return t;if((n>0||i>1)&&a!=101)return r;if(e.match(/[^-0-9:,\/\\]/))return t;return r}var Er=function(){var e="abacaba".split(/(:?b)/i).length==5;return function r(t,a,n){if(e||typeof a=="string")return t.split(a);var i=t.split(a),s=[i[0]];for(var f=1;f\/]+)\s*=\s*((?:")([^"]*)(?:")|(?:')([^']*)(?:')|([^'">\s]+))/g;var Br=/<[\/\?]?[a-zA-Z0-9:_-]+(?:\s+[^"\s?>\/]+\s*=\s*(?:"[^"]*"|'[^']*'|[^'">\s=]+))*\s*[\/\?]?>/gm,Wr=/<[^>]*>/g;var Hr=Mr.match(Br)?Br:Wr;var zr=/<\w*:/,Vr=/<(\/?)\w+:/;function Gr(e,r,t){var a={};var n=0,i=0;for(;n!==e.length;++n)if((i=e.charCodeAt(n))===32||i===10||i===13)break;if(!r)a[0]=e.slice(0,n);if(n===e.length)return a;var s=e.match(Ur),f=0,o="",l=0,c="",h="",u=1;if(s)for(l=0;l!=s.length;++l){h=s[l];for(i=0;i!=h.length;++i)if(h.charCodeAt(i)===61)break;c=h.slice(0,i).trim();while(h.charCodeAt(i+1)==32)++i;u=(n=h.charCodeAt(i+1))==34||n==39?1:0;o=h.slice(i+1+u,h.length-u);for(f=0;f!=c.length;++f)if(c.charCodeAt(f)===58)break;if(f===c.length){if(c.indexOf("_")>0)c=c.slice(0,c.indexOf("_"));a[c]=o;if(!t)a[c.toLowerCase()]=o}else{var d=(f===5&&c.slice(0,5)==="xmlns"?"xmlns":"")+c.slice(f+1);if(a[d]&&c.slice(f-3,f)=="ext")continue;a[d]=o;if(!t)a[d.toLowerCase()]=o}}return a}function jr(e){return e.replace(Vr,"<$1")}var Xr={""":'"',"'":"'",">":">","<":"<","&":"&"};var $r=ar(Xr);var Yr=function(){var e=/&(?:quot|apos|gt|lt|amp|#x?([\da-fA-F]+));/gi,r=/_x([\da-fA-F]{4})_/gi;return function t(a){var n=a+"",i=n.indexOf("-1?16:10))||e}).replace(r,function(e,r){return String.fromCharCode(parseInt(r,16))});var s=n.indexOf("]]>");return t(n.slice(0,i))+n.slice(i+9,s)+t(n.slice(s+3))}}();var Kr=/[&<>'"]/g,Jr=/[\u0000-\u0008\u000b-\u001f]/g;function qr(e){var r=e+"";return r.replace(Kr,function(e){return $r[e]}).replace(Jr,function(e){return"_x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+"_"})}function Zr(e){return qr(e).replace(/ /g,"_x0020_")}var Qr=/[\u0000-\u001f]/g;function et(e){var r=e+"";return r.replace(Kr,function(e){return $r[e]}).replace(/\n/g,"
").replace(Qr,function(e){return"&#x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+";"})}function rt(e){var r=e+"";return r.replace(Kr,function(e){return $r[e]}).replace(Qr,function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"})}var tt=function(){var e=/&#(\d+);/g;function r(e,r){return String.fromCharCode(parseInt(r,10))}return function t(a){return a.replace(e,r)}}();function at(e){return e.replace(/(\r\n|[\r\n])/g," ")}function nt(e){switch(e){case 1:;case true:;case"1":;case"true":;case"TRUE":return true;default:return false;}}function it(e){var r="",t=0,a=0,n=0,i=0,s=0,f=0;while(t191&&a<224){s=(a&31)<<6;s|=n&63;r+=String.fromCharCode(s);continue}i=e.charCodeAt(t++);if(a<240){r+=String.fromCharCode((a&15)<<12|(n&63)<<6|i&63);continue}s=e.charCodeAt(t++);f=((a&7)<<18|(n&63)<<12|(i&63)<<6|s&63)-65536;r+=String.fromCharCode(55296+(f>>>10&1023));r+=String.fromCharCode(56320+(f&1023))}return r}function st(e){var r=E(2*e.length),t,a,n=1,i=0,s=0,f;for(a=0;a>>10&1023);t=56320+(t&1023)}if(s!==0){r[i++]=s&255;r[i++]=s>>>8;s=0}r[i++]=t%256;r[i++]=t>>>8}return r.slice(0,i).toString("ucs2")}function ft(e){return A(e,"binary").toString("utf8")}var ot="foo bar baz☃🍣";var lt=T&&(ft(ot)==it(ot)&&ft||st(ot)==it(ot)&&st)||it;var ct=T?function(e){return A(e,"utf8").toString("binary")}:function(e){var r=[],t=0,a=0,n=0;while(t>6)));r.push(String.fromCharCode(128+(a&63)));break;case a>=55296&&a<57344:a-=55296;n=e.charCodeAt(t++)-56320+(a<<10);r.push(String.fromCharCode(240+(n>>18&7)));r.push(String.fromCharCode(144+(n>>12&63)));r.push(String.fromCharCode(128+(n>>6&63)));r.push(String.fromCharCode(128+(n&63)));break;default:r.push(String.fromCharCode(224+(a>>12)));r.push(String.fromCharCode(128+(a>>6&63)));r.push(String.fromCharCode(128+(a&63)));}}return r.join("")};var ht=function(){var e={};return function r(t,a){var n=t+"|"+(a||"");if(e[n])return e[n];return e[n]=new RegExp("<(?:\\w+:)?"+t+'(?: xml:space="preserve")?(?:[^>]*)>([\\s\\S]*?)",a||"")}}();var ut=function(){var e=[["nbsp"," "],["middot","·"],["quot",'"'],["apos","'"],["gt",">"],["lt","<"],["amp","&"]].map(function(e){return[new RegExp("&"+e[0]+";","ig"),e[1]]});return function r(t){var a=t.replace(/^[\t\n\r ]+/,"").replace(/[\t\n\r ]+$/,"").replace(/>\s+/g,">").replace(/\s+/g,"\n").replace(/<[^>]*>/g,"");for(var n=0;n([\\s\\S]*?)","g")}}();var vt=/<\/?(?:vt:)?variant>/g,pt=/<(?:vt:)([^>]*)>([\s\S]*)"+r+""}function wt(e){return rr(e).map(function(r){return" "+r+'="'+e[r]+'"'}).join("")}function kt(e,r,t){return"<"+e+(t!=null?wt(t):"")+(r!=null?(r.match(mt)?' xml:space="preserve"':"")+">"+r+""}function Tt(e,r){try{return e.toISOString().replace(/\.\d*/,"")}catch(t){if(r)throw t}return""}function At(e,r){switch(typeof e){case"string":var t=kt("vt:lpwstr",qr(e));if(r)t=t.replace(/"/g,"_x0022_");return t;case"number":return kt((e|0)==e?"vt:i4":"vt:r8",qr(String(e)));case"boolean":return kt("vt:bool",e?"true":"false");}if(e instanceof Date)return kt("vt:filetime",Tt(e));throw new Error("Unable to serialize "+e)}function Et(e){if(T&&Buffer.isBuffer(e))return e.toString("utf8");if(typeof e==="string")return e;if(typeof Uint8Array!=="undefined"&&e instanceof Uint8Array)return lt(_(O(e)));throw new Error("Bad input format: expected Buffer or string")}var Ct=/<(\/?)([^\s?>:\/]+)(?:[\s?:\/][^>]*)?>/gm;var yt={CORE_PROPS:"http://schemas.openxmlformats.org/package/2006/metadata/core-properties",CUST_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties",EXT_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties",CT:"http://schemas.openxmlformats.org/package/2006/content-types",RELS:"http://schemas.openxmlformats.org/package/2006/relationships",TCMNT:"http://schemas.microsoft.com/office/spreadsheetml/2018/threadedcomments",dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/",dcmitype:"http://purl.org/dc/dcmitype/",mx:"http://schemas.microsoft.com/office/mac/excel/2008/main",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",sjs:"http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties",vt:"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes",xsi:"http://www.w3.org/2001/XMLSchema-instance",xsd:"http://www.w3.org/2001/XMLSchema"};var St=["http://schemas.openxmlformats.org/spreadsheetml/2006/main","http://purl.oclc.org/ooxml/spreadsheetml/main","http://schemas.microsoft.com/office/excel/2006/main","http://schemas.microsoft.com/office/excel/2006/2"];var _t={o:"urn:schemas-microsoft-com:office:office",x:"urn:schemas-microsoft-com:office:excel",ss:"urn:schemas-microsoft-com:office:spreadsheet",dt:"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882",mv:"http://macVmlSchemaUri",v:"urn:schemas-microsoft-com:vml",html:"http://www.w3.org/TR/REC-html40"};function xt(e,r){var t=1-2*(e[r+7]>>>7);var a=((e[r+7]&127)<<4)+(e[r+6]>>>4&15);var n=e[r+6]&15;for(var i=5;i>=0;--i)n=n*256+e[r+i];if(a==2047)return n==0?t*Infinity:NaN;if(a==0)a=-1022;else{a-=1023;n+=Math.pow(2,52)}return t*Math.pow(2,a-52)*n}function Ot(e,r,t){var a=(r<0||1/r==-Infinity?1:0)<<7,n=0,i=0;var s=a?-r:r;if(!isFinite(s)){n=2047;i=isNaN(r)?26985:0}else if(s==0)n=i=0;else{n=Math.floor(Math.log(s)/Math.LN2);i=s*Math.pow(2,52-n);if(n<=-1023&&(!isFinite(i)||i>4|a}var Rt=function(e){var r=[],t=10240;for(var a=0;a0&&Buffer.isBuffer(e[0][0])?Buffer.concat(e[0].map(function(e){return Buffer.isBuffer(e)?e:A(e)})):Rt(e)}:Rt;var Nt=function(e,r,t){var a=[];for(var n=r;n0?Mt(e,r+4,r+4+t-1):""};var Bt=Ut;var Wt=function(e,r){var t=ra(e,r);return t>0?Mt(e,r+4,r+4+t-1):""};var Ht=Wt;var zt=function(e,r){var t=2*ra(e,r);return t>0?Mt(e,r+4,r+4+t-1):""};var Vt=zt;var Gt=function tk(e,r){var t=ra(e,r);return t>0?Dt(e,r+4,r+4+t):""};var jt=Gt;var Xt=function(e,r){var t=ra(e,r);return t>0?Mt(e,r+4,r+4+t):""};var $t=Xt;var Yt=function(e,r){return xt(e,r)};var Kt=Yt;var Jt=function ak(e){return Array.isArray(e)||typeof Uint8Array!=="undefined"&&e instanceof Uint8Array};if(T){Bt=function nk(e,r){if(!Buffer.isBuffer(e))return Ut(e,r);var t=e.readUInt32LE(r);return t>0?e.toString("utf8",r+4,r+4+t-1):""};Ht=function ik(e,r){if(!Buffer.isBuffer(e))return Wt(e,r);var t=e.readUInt32LE(r);return t>0?e.toString("utf8",r+4,r+4+t-1):""};Vt=function sk(e,r){if(!Buffer.isBuffer(e))return zt(e,r);var t=2*e.readUInt32LE(r);return e.toString("utf16le",r+4,r+4+t-1)};jt=function fk(e,r){if(!Buffer.isBuffer(e))return Gt(e,r);var t=e.readUInt32LE(r);return e.toString("utf16le",r+4,r+4+t)};$t=function ok(e,r){if(!Buffer.isBuffer(e))return Xt(e,r);var t=e.readUInt32LE(r);return e.toString("utf8",r+4,r+4+t)};Kt=function lk(e,r){if(Buffer.isBuffer(e))return e.readDoubleLE(r);return Yt(e,r)};Jt=function ck(e){return Buffer.isBuffer(e)||Array.isArray(e)||typeof Uint8Array!=="undefined"&&e instanceof Uint8Array}}function qt(){Dt=function(e,r,t){return a.utils.decode(1200,e.slice(r,t)).replace(N,"")};Mt=function(e,r,t){return a.utils.decode(65001,e.slice(r,t))};Bt=function(e,r){var n=ra(e,r);return n>0?a.utils.decode(t,e.slice(r+4,r+4+n-1)):""};Ht=function(e,t){var n=ra(e,t);return n>0?a.utils.decode(r,e.slice(t+4,t+4+n-1)):""};Vt=function(e,r){var t=2*ra(e,r);return t>0?a.utils.decode(1200,e.slice(r+4,r+4+t-1)):""};jt=function(e,r){var t=ra(e,r);return t>0?a.utils.decode(1200,e.slice(r+4,r+4+t)):""};$t=function(e,r){var t=ra(e,r);return t>0?a.utils.decode(65001,e.slice(r+4,r+4+t)):""}}if(typeof a!=="undefined")qt();var Zt=function(e,r){return e[r]};var Qt=function(e,r){return e[r+1]*(1<<8)+e[r]};var ea=function(e,r){var t=e[r+1]*(1<<8)+e[r];return t<32768?t:(65535-t+1)*-1};var ra=function(e,r){return e[r+3]*(1<<24)+(e[r+2]<<16)+(e[r+1]<<8)+e[r]};var ta=function(e,r){return e[r+3]<<24|e[r+2]<<16|e[r+1]<<8|e[r]};var aa=function(e,r){return e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3]};function na(e,t){var n="",i,s,f=[],o,l,c,h;switch(t){case"dbcs":h=this.l;if(T&&Buffer.isBuffer(this))n=this.slice(this.l,this.l+2*e).toString("utf16le");else for(c=0;c0?ta:aa)(this,this.l);this.l+=4;return i}else{s=ra(this,this.l);this.l+=4}return s;case 8:;case-8:if(t==="f"){if(e==8)s=Kt(this,this.l);else s=Kt([this[this.l+7],this[this.l+6],this[this.l+5],this[this.l+4],this[this.l+3],this[this.l+2],this[this.l+1],this[this.l+0]],0);this.l+=8;return s}else e=8;case 16:n=Pt(this,this.l,e);break;};}this.l+=e;return n}var ia=function(e,r,t){e[t]=r&255;e[t+1]=r>>>8&255;e[t+2]=r>>>16&255;e[t+3]=r>>>24&255};var sa=function(e,r,t){e[t]=r&255;e[t+1]=r>>8&255;e[t+2]=r>>16&255;e[t+3]=r>>24&255};var fa=function(e,r,t){e[t]=r&255;e[t+1]=r>>>8&255};function oa(e,r,n){var i=0,s=0;if(n==="dbcs"){for(s=0;s!=r.length;++s)fa(this,r.charCodeAt(s),this.l+2*s);i=2*r.length}else if(n==="sbcs"){if(typeof a!=="undefined"&&t==874){for(s=0;s!=r.length;++s){var f=a.utils.encode(t,r.charAt(s));this[this.l+s]=f[0]}}else{r=r.replace(/[^\x00-\x7F]/g,"_");for(s=0;s!=r.length;++s)this[this.l+s]=r.charCodeAt(s)&255}i=r.length}else if(n==="hex"){for(;s>8}while(this.l>>=8;this[this.l+1]=r&255;break;case 3:i=3;this[this.l]=r&255;r>>>=8;this[this.l+1]=r&255;r>>>=8;this[this.l+2]=r&255;break;case 4:i=4;ia(this,r,this.l);break;case 8:i=8;if(n==="f"){Ot(this,r,this.l);break};case 16:break;case-4:i=4;sa(this,r,this.l);break;}this.l+=i;return this}function la(e,r){var t=Pt(this,this.l,e.length>>1);if(t!==e)throw new Error(r+"Expected "+e+" saw "+t);this.l+=e.length>>1}function ca(e,r){e.l=r;e._R=na;e.chk=la;e._W=oa}function ha(e,r){e.l+=r}function ua(e){var r=E(e);ca(r,0);return r}function da(e,r,t){if(!e)return;var a,n,i;ca(e,e.l||0);var s=e.length,f=0,o=0;while(e.la.l){a=a.slice(0,a.l);a.l=a.length}if(a.length>0)e.push(a);a=null};var i=function c(e){if(a&&e=128?1:0)+1;if(a>=128)++i;if(a>=16384)++i;if(a>=2097152)++i;var s=e.next(i);if(n<=127)s._W(1,n);else{s._W(1,(n&127)+128);s._W(1,n>>7)}for(var f=0;f!=4;++f){if(a>=128){s._W(1,(a&127)+128);a>>=7}else{s._W(1,a);break}}if(a>0&&Jt(t))e.push(t)}function ga(e,r,t){var a=br(e);if(r.s){if(a.cRel)a.c+=r.s.c;if(a.rRel)a.r+=r.s.r}else{if(a.cRel)a.c+=r.c;if(a.rRel)a.r+=r.r}if(!t||t.biff<12){while(a.c>=256)a.c-=256;while(a.r>=65536)a.r-=65536}return a}function ma(e,r,t){var a=br(e);a.s=ga(a.s,r.s,t);a.e=ga(a.e,r.s,t);return a}function ba(e,r){if(e.cRel&&e.c<0){e=br(e);while(e.c<0)e.c+=r>8?16384:256}if(e.rRel&&e.r<0){e=br(e);while(e.r<0)e.r+=r>8?1048576:r>5?65536:16384}var t=Ra(e);if(!e.cRel&&e.cRel!=null)t=Sa(t);if(!e.rRel&&e.rRel!=null)t=Aa(t);return t}function wa(e,r){if(e.s.r==0&&!e.s.rRel){if(e.e.r==(r.biff>=12?1048575:r.biff>=8?65536:16384)&&!e.e.rRel){return(e.s.cRel?"":"$")+ya(e.s.c)+":"+(e.e.cRel?"":"$")+ya(e.e.c); +}}if(e.s.c==0&&!e.s.cRel){if(e.e.c==(r.biff>=12?16383:255)&&!e.e.cRel){return(e.s.rRel?"":"$")+Ta(e.s.r)+":"+(e.e.rRel?"":"$")+Ta(e.e.r)}}return ba(e.s,r.biff)+":"+ba(e.e,r.biff)}function ka(e){return parseInt(Ea(e),10)-1}function Ta(e){return""+(e+1)}function Aa(e){return e.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")}function Ea(e){return e.replace(/\$(\d+)$/,"$1")}function Ca(e){var r=_a(e),t=0,a=0;for(;a!==r.length;++a)t=26*t+r.charCodeAt(a)-64;return t-1}function ya(e){if(e<0)throw new Error("invalid column "+e);var r="";for(++e;e;e=Math.floor((e-1)/26))r=String.fromCharCode((e-1)%26+65)+r;return r}function Sa(e){return e.replace(/^([A-Z])/,"$$$1")}function _a(e){return e.replace(/^\$([A-Z])/,"$1")}function xa(e){return e.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")}function Oa(e){var r=0,t=0;for(var a=0;a=48&&n<=57)r=10*r+(n-48);else if(n>=65&&n<=90)t=26*t+(n-64)}return{c:t-1,r:r-1}}function Ra(e){var r=e.c+1;var t="";for(;r;r=(r-1)/26|0)t=String.fromCharCode((r-1)%26+65)+t;return t+(e.r+1)}function Ia(e){var r=e.indexOf(":");if(r==-1)return{s:Oa(e),e:Oa(e)};return{s:Oa(e.slice(0,r)),e:Oa(e.slice(r+1))}}function Na(e,r){if(typeof r==="undefined"||typeof r==="number"){return Na(e.s,e.e)}if(typeof e!=="string")e=Ra(e);if(typeof r!=="string")r=Ra(r);return e==r?e:e+":"+r}function Da(e){var r={s:{c:0,r:0},e:{c:0,r:0}};var t=0,a=0,n=0;var i=e.length;for(t=0;a26)break;t=26*t+n}r.s.c=--t;for(t=0;a9)break;t=10*t+n}r.s.r=--t;if(a===i||n!=10){r.e.c=r.s.c;r.e.r=r.s.r;return r}++a;for(t=0;a!=i;++a){if((n=e.charCodeAt(a)-64)<1||n>26)break;t=26*t+n}r.e.c=--t;for(t=0;a!=i;++a){if((n=e.charCodeAt(a)-48)<0||n>9)break;t=10*t+n}r.e.r=--t;return r}function Fa(e,r){var t=e.t=="d"&&r instanceof Date;if(e.z!=null)try{return e.w=Be(e.z,t?fr(r):r)}catch(a){}try{return e.w=Be((e.XF||{}).numFmtId||(t?14:0),t?fr(r):r)}catch(a){return""+r}}function Pa(e,r,t){if(e==null||e.t==null||e.t=="z")return"";if(e.w!==undefined)return e.w;if(e.t=="d"&&!e.z&&t&&t.dateNF)e.z=t.dateNF;if(e.t=="e")return Gn[e.v]||e.v;if(r==undefined)return Fa(e,e.v);return Fa(e,r)}function La(e,r){var t=r&&r.sheet?r.sheet:"Sheet1";var a={};a[t]=e;return{SheetNames:[t],Sheets:a}}function Ma(e,r,t){var a=t||{};var n=e?Array.isArray(e):a.dense;if(g!=null&&n==null)n=g;var i=e||(n?[]:{});var s=0,f=0;if(i&&a.origin!=null){if(typeof a.origin=="number")s=a.origin;else{var o=typeof a.origin=="string"?Oa(a.origin):a.origin;s=o.r;f=o.c}if(!i["!ref"])i["!ref"]="A1:A1"}var l={s:{c:1e7,r:1e7},e:{c:0,r:0}};if(i["!ref"]){var c=Da(i["!ref"]);l.s.c=c.s.c;l.s.r=c.s.r;l.e.c=Math.max(l.e.c,c.e.c);l.e.r=Math.max(l.e.r,c.e.r);if(s==-1)l.e.r=s=c.e.r+1}for(var h=0;h!=r.length;++h){if(!r[h])continue;if(!Array.isArray(r[h]))throw new Error("aoa_to_sheet expects an array of arrays");for(var u=0;u!=r[h].length;++u){if(typeof r[h][u]==="undefined")continue;var d={v:r[h][u]};var v=s+h,p=f+u;if(l.s.r>v)l.s.r=v;if(l.s.c>p)l.s.c=p;if(l.e.r0)r._W(0,e,"dbcs");return t?r.slice(0,r.l):r}function Va(e){return{ich:e._R(2),ifnt:e._R(2)}}function Ga(e,r){if(!r)r=ua(4);r._W(2,e.ich||0);r._W(2,e.ifnt||0);return r}function ja(e,r){var t=e.l;var a=e._R(1);var n=Ha(e);var i=[];var s={t:n,h:n};if((a&1)!==0){var f=e._R(4);for(var o=0;o!=f;++o)i.push(Va(e));s.r=i}else s.r=[{ich:0,ifnt:0}];e.l=t+r;return s}function Xa(e,r){var t=false;if(r==null){t=true;r=ua(15+4*e.t.length)}r._W(1,0);za(e.t,r);return t?r.slice(0,r.l):r}var $a=ja;function Ya(e,r){var t=false;if(r==null){t=true;r=ua(23+4*e.t.length)}r._W(1,1);za(e.t,r);r._W(4,1);Ga({ich:0,ifnt:0},r);return t?r.slice(0,r.l):r}function Ka(e){var r=e._R(4);var t=e._R(2);t+=e._R(1)<<16;e.l++;return{c:r,iStyleRef:t}}function Ja(e,r){if(r==null)r=ua(8);r._W(-4,e.c);r._W(3,e.iStyleRef||e.s);r._W(1,0);return r}function qa(e){var r=e._R(2);r+=e._R(1)<<16;e.l++;return{c:-1,iStyleRef:r}}function Za(e,r){if(r==null)r=ua(4);r._W(3,e.iStyleRef||e.s);r._W(1,0);return r}var Qa=Ha;var en=za;function rn(e){var r=e._R(4);return r===0||r===4294967295?"":e._R(r,"dbcs")}function tn(e,r){var t=false;if(r==null){t=true;r=ua(127)}r._W(4,e.length>0?e.length:4294967295);if(e.length>0)r._W(0,e,"dbcs");return t?r.slice(0,r.l):r}var an=Ha;var nn=rn;var sn=tn;function fn(e){var r=e.slice(e.l,e.l+4);var t=r[0]&1,a=r[0]&2;e.l+=4;var n=a===0?Kt([0,0,0,0,r[0]&252,r[1],r[2],r[3]],0):ta(r,0)>>2;return t?n/100:n}function on(e,r){if(r==null)r=ua(4);var t=0,a=0,n=e*100;if(e==(e|0)&&e>=-(1<<29)&&e<1<<29){a=1}else if(n==(n|0)&&n>=-(1<<29)&&n<1<<29){a=1;t=1}if(a)r._W(-4,((t?n:e)<<2)+(t+2));else throw new Error("unsupported RkNumber "+e)}function ln(e){var r={s:{},e:{}};r.s.r=e._R(4);r.e.r=e._R(4);r.s.c=e._R(4);r.e.c=e._R(4);return r}function cn(e,r){if(!r)r=ua(16);r._W(4,e.s.r);r._W(4,e.e.r);r._W(4,e.s.c);r._W(4,e.e.c);return r}var hn=ln;var un=cn;function dn(e){if(e.length-e.l<8)throw"XLS Xnum Buffer underflow";return e._R(8,"f")}function vn(e,r){return(r||ua(8))._W(8,e,"f")}function pn(e){var r={};var t=e._R(1);var a=t>>>1;var n=e._R(1);var i=e._R(2,"i");var s=e._R(1);var f=e._R(1);var o=e._R(1);e.l++;switch(a){case 0:r.auto=1;break;case 1:r.index=n;var l=Vn[n];if(l)r.rgb=bl(l);break;case 2:r.rgb=bl([s,f,o]);break;case 3:r.theme=n;break;}if(i!=0)r.tint=i>0?i/32767:i/32768;return r}function gn(e,r){if(!r)r=ua(8);if(!e||e.auto){r._W(4,0);r._W(4,0);return r}if(e.index!=null){r._W(1,2);r._W(1,e.index)}else if(e.theme!=null){r._W(1,6);r._W(1,e.theme)}else{r._W(1,5);r._W(1,0)}var t=e.tint||0;if(t>0)t*=32767;else if(t<0)t*=32768;r._W(2,t);if(!e.rgb||e.theme!=null){r._W(2,0);r._W(1,0);r._W(1,0)}else{var a=e.rgb||"FFFFFF";if(typeof a=="number")a=("000000"+a.toString(16)).slice(-6);r._W(1,parseInt(a.slice(0,2),16));r._W(1,parseInt(a.slice(2,4),16));r._W(1,parseInt(a.slice(4,6),16));r._W(1,255)}return r}function mn(e){var r=e._R(1);e.l++;var t={fBold:r&1,fItalic:r&2,fUnderline:r&4,fStrikeout:r&8,fOutline:r&16,fShadow:r&32,fCondense:r&64,fExtend:r&128};return t}function bn(e,r){if(!r)r=ua(2);var t=(e.italic?2:0)|(e.strike?8:0)|(e.outline?16:0)|(e.shadow?32:0)|(e.condense?64:0)|(e.extend?128:0);r._W(1,t);r._W(1,0);return r}function wn(e,r){var t={2:"BITMAP",3:"METAFILEPICT",8:"DIB",14:"ENHMETAFILE"};var a=e._R(4);switch(a){case 0:return"";case 4294967295:;case 4294967294:return t[e._R(4)]||"";}if(a>400)throw new Error("Unsupported Clipboard: "+a.toString(16));e.l-=4;return e._R(0,r==1?"lpstr":"lpwstr")}function kn(e){return wn(e,1)}function Tn(e){return wn(e,2)}var An=2;var En=3;var Cn=11;var yn=12;var Sn=19;var _n=30;var xn=64;var On=65;var Rn=71;var In=4096;var Nn=4108;var Dn=4126;var Fn=80;var Pn=81;var Ln=[Fn,Pn];var Mn={1:{n:"CodePage",t:An},2:{n:"Category",t:Fn},3:{n:"PresentationFormat",t:Fn},4:{n:"ByteCount",t:En},5:{n:"LineCount",t:En},6:{n:"ParagraphCount",t:En},7:{n:"SlideCount",t:En},8:{n:"NoteCount",t:En},9:{n:"HiddenCount",t:En},10:{n:"MultimediaClipCount",t:En},11:{n:"ScaleCrop",t:Cn},12:{n:"HeadingPairs",t:Nn},13:{n:"TitlesOfParts",t:Dn},14:{n:"Manager",t:Fn},15:{n:"Company",t:Fn},16:{n:"LinksUpToDate",t:Cn},17:{n:"CharacterCount",t:En},19:{n:"SharedDoc",t:Cn},22:{n:"HyperlinksChanged",t:Cn},23:{n:"AppVersion",t:En,p:"version"},24:{n:"DigSig",t:On},26:{n:"ContentType",t:Fn},27:{n:"ContentStatus",t:Fn},28:{n:"Language",t:Fn},29:{n:"Version",t:Fn},255:{},2147483648:{n:"Locale",t:Sn},2147483651:{n:"Behavior",t:Sn},1919054434:{}};var Un={1:{n:"CodePage",t:An},2:{n:"Title",t:Fn},3:{n:"Subject",t:Fn},4:{n:"Author",t:Fn},5:{n:"Keywords",t:Fn},6:{n:"Comments",t:Fn},7:{n:"Template",t:Fn},8:{n:"LastAuthor",t:Fn},9:{n:"RevNumber",t:Fn},10:{n:"EditTime",t:xn},11:{n:"LastPrinted",t:xn},12:{n:"CreatedDate",t:xn},13:{n:"ModifiedDate",t:xn},14:{n:"PageCount",t:En},15:{n:"WordCount",t:En},16:{n:"CharCount",t:En},17:{n:"Thumbnail",t:Rn},18:{n:"Application",t:Fn},19:{n:"DocSecurity",t:En},255:{},2147483648:{n:"Locale",t:Sn},2147483651:{n:"Behavior",t:Sn},1919054434:{}};var Bn={1:"US",2:"CA",3:"",7:"RU",20:"EG",30:"GR",31:"NL",32:"BE",33:"FR",34:"ES",36:"HU",39:"IT",41:"CH",43:"AT",44:"GB",45:"DK",46:"SE",47:"NO",48:"PL",49:"DE",52:"MX",55:"BR",61:"AU",64:"NZ",66:"TH",81:"JP",82:"KR",84:"VN",86:"CN",90:"TR",105:"JS",213:"DZ",216:"MA",218:"LY",351:"PT",354:"IS",358:"FI",420:"CZ",886:"TW",961:"LB",962:"JO",963:"SY",964:"IQ",965:"KW",966:"SA",971:"AE",972:"IL",974:"QA",981:"IR",65535:"US"};var Wn=[null,"solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];function Hn(e){return e.map(function(e){return[e>>16&255,e>>8&255,e&255]})}var zn=Hn([0,16777215,16711680,65280,255,16776960,16711935,65535,0,16777215,16711680,65280,255,16776960,16711935,65535,8388608,32768,128,8421376,8388736,32896,12632256,8421504,10066431,10040166,16777164,13434879,6684774,16744576,26316,13421823,128,16711935,16776960,65535,8388736,8388608,32896,255,52479,13434879,13434828,16777113,10079487,16751052,13408767,16764057,3368703,3394764,10079232,16763904,16750848,16737792,6710937,9868950,13158,3381606,13056,3355392,10040064,10040166,3355545,3355443,16777215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);var Vn=br(zn);var Gn={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"};var jn={"#NULL!":0,"#DIV/0!":7,"#VALUE!":15,"#REF!":23,"#NAME?":29,"#NUM!":36,"#N/A":42,"#GETTING_DATA":43,"#WTF?":255};var Xn={"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":"workbooks","application/vnd.ms-excel.sheet.macroEnabled.main+xml":"workbooks","application/vnd.ms-excel.sheet.binary.macroEnabled.main":"workbooks","application/vnd.ms-excel.addin.macroEnabled.main+xml":"workbooks","application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":"workbooks","application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":"sheets","application/vnd.ms-excel.worksheet":"sheets","application/vnd.ms-excel.binIndexWs":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":"charts","application/vnd.ms-excel.chartsheet":"charts","application/vnd.ms-excel.macrosheet+xml":"macros","application/vnd.ms-excel.macrosheet":"macros","application/vnd.ms-excel.intlmacrosheet":"TODO","application/vnd.ms-excel.binIndexMs":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":"dialogs","application/vnd.ms-excel.dialogsheet":"dialogs","application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml":"strs","application/vnd.ms-excel.sharedStrings":"strs","application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":"styles","application/vnd.ms-excel.styles":"styles","application/vnd.openxmlformats-package.core-properties+xml":"coreprops","application/vnd.openxmlformats-officedocument.custom-properties+xml":"custprops","application/vnd.openxmlformats-officedocument.extended-properties+xml":"extprops","application/vnd.openxmlformats-officedocument.customXmlProperties+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":"comments","application/vnd.ms-excel.comments":"comments","application/vnd.ms-excel.threadedcomments+xml":"threadedcomments","application/vnd.ms-excel.person+xml":"people","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml":"metadata","application/vnd.ms-excel.sheetMetadata":"metadata","application/vnd.ms-excel.pivotTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.chart+xml":"TODO","application/vnd.ms-office.chartcolorstyle+xml":"TODO","application/vnd.ms-office.chartstyle+xml":"TODO","application/vnd.ms-office.chartex+xml":"TODO","application/vnd.ms-excel.calcChain":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings":"TODO","application/vnd.ms-office.activeX":"TODO","application/vnd.ms-office.activeX+xml":"TODO","application/vnd.ms-excel.attachedToolbars":"TODO","application/vnd.ms-excel.connections":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":"TODO","application/vnd.ms-excel.externalLink":"links","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml":"links","application/vnd.ms-excel.pivotCacheDefinition":"TODO","application/vnd.ms-excel.pivotCacheRecords":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml":"TODO","application/vnd.ms-excel.queryTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml":"TODO","application/vnd.ms-excel.userNames":"TODO","application/vnd.ms-excel.revisionHeaders":"TODO","application/vnd.ms-excel.revisionLog":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml":"TODO","application/vnd.ms-excel.tableSingleCells":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml":"TODO","application/vnd.ms-excel.slicer":"TODO","application/vnd.ms-excel.slicerCache":"TODO","application/vnd.ms-excel.slicer+xml":"TODO","application/vnd.ms-excel.slicerCache+xml":"TODO","application/vnd.ms-excel.wsSortMap":"TODO","application/vnd.ms-excel.table":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":"TODO","application/vnd.openxmlformats-officedocument.theme+xml":"themes","application/vnd.openxmlformats-officedocument.themeOverride+xml":"TODO","application/vnd.ms-excel.Timeline+xml":"TODO","application/vnd.ms-excel.TimelineCache+xml":"TODO","application/vnd.ms-office.vbaProject":"vba","application/vnd.ms-office.vbaProjectSignature":"TODO","application/vnd.ms-office.volatileDependencies":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml":"TODO","application/vnd.ms-excel.controlproperties+xml":"TODO","application/vnd.openxmlformats-officedocument.model+data":"TODO","application/vnd.ms-excel.Survey+xml":"TODO","application/vnd.openxmlformats-officedocument.drawing+xml":"drawings","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml":"TODO","application/vnd.openxmlformats-officedocument.vmlDrawing":"TODO","application/vnd.openxmlformats-package.relationships+xml":"rels","application/vnd.openxmlformats-officedocument.oleObject":"TODO","image/png":"TODO",sheet:"js"};var $n={workbooks:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml",xlsm:"application/vnd.ms-excel.sheet.macroEnabled.main+xml",xlsb:"application/vnd.ms-excel.sheet.binary.macroEnabled.main",xlam:"application/vnd.ms-excel.addin.macroEnabled.main+xml",xltx:"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml"},strs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",xlsb:"application/vnd.ms-excel.sharedStrings"},comments:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml",xlsb:"application/vnd.ms-excel.comments"},sheets:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",xlsb:"application/vnd.ms-excel.worksheet"},charts:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml",xlsb:"application/vnd.ms-excel.chartsheet"},dialogs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml",xlsb:"application/vnd.ms-excel.dialogsheet"},macros:{xlsx:"application/vnd.ms-excel.macrosheet+xml",xlsb:"application/vnd.ms-excel.macrosheet"},metadata:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml",xlsb:"application/vnd.ms-excel.sheetMetadata"},styles:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",xlsb:"application/vnd.ms-excel.styles"}};function Yn(){return{workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],threadedcomments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],people:[],TODO:[],xmlns:""}}function Kn(e){var r=Yn();if(!e||!e.match)return r;var t={};(e.match(Hr)||[]).forEach(function(e){var a=Gr(e);switch(a[0].replace(zr,"<")){case"0?r.calcchains[0]:"";r.sst=r.strs.length>0?r.strs[0]:"";r.style=r.styles.length>0?r.styles[0]:"";r.defaults=t;delete r.calcchains;return r}function Jn(e,r){var t=ir(Xn);var a=[],n;a[a.length]=Mr;a[a.length]=kt("Types",null,{xmlns:yt.CT,"xmlns:xsd":yt.xsd,"xmlns:xsi":yt.xsi});a=a.concat([["xml","application/xml"],["bin","application/vnd.ms-excel.sheet.binary.macroEnabled.main"],["vml","application/vnd.openxmlformats-officedocument.vmlDrawing"],["data","application/vnd.openxmlformats-officedocument.model+data"],["bmp","image/bmp"],["png","image/png"],["gif","image/gif"],["emf","image/x-emf"],["wmf","image/x-wmf"],["jpg","image/jpeg"],["jpeg","image/jpeg"],["tif","image/tiff"],["tiff","image/tiff"],["pdf","application/pdf"],["rels","application/vnd.openxmlformats-package.relationships+xml"]].map(function(e){return kt("Default",null,{Extension:e[0],ContentType:e[1]})}));var i=function(t){if(e[t]&&e[t].length>0){n=e[t][0];a[a.length]=kt("Override",null,{PartName:(n[0]=="/"?"":"/")+n,ContentType:$n[t][r.bookType]||$n[t]["xlsx"]})}};var s=function(t){(e[t]||[]).forEach(function(e){a[a.length]=kt("Override",null,{PartName:(e[0]=="/"?"":"/")+e,ContentType:$n[t][r.bookType]||$n[t]["xlsx"]})})};var f=function(r){(e[r]||[]).forEach(function(e){a[a.length]=kt("Override",null,{PartName:(e[0]=="/"?"":"/")+e,ContentType:t[r][0]})})};i("workbooks");s("sheets");s("charts");f("themes");["strs","styles"].forEach(i);["coreprops","extprops","custprops"].forEach(f);f("vba");f("comments");f("threadedcomments");f("drawings");s("metadata");f("people");if(a.length>2){a[a.length]="";a[1]=a[1].replace("/>",">")}return a.join("")}var qn={WB:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",SHEET:"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument",HLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",VML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing",XPATH:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath",XMISS:"http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing",XLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink",CXML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml",CXMLP:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps",CMNT:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments",CORE_PROPS:"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties",EXT_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties",CUST_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties",SST:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings",STY:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",THEME:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",CHART:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart",CHARTEX:"http://schemas.microsoft.com/office/2014/relationships/chartEx",CS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet",WS:["http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet","http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet"],DS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet",MS:"http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet",IMG:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",DRAW:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing",XLMETA:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata",TCMNT:"http://schemas.microsoft.com/office/2017/10/relationships/threadedComment",PEOPLE:"http://schemas.microsoft.com/office/2017/10/relationships/person",VBA:"http://schemas.microsoft.com/office/2006/relationships/vbaProject"};function Zn(e){var r=e.lastIndexOf("/");return e.slice(0,r+1)+"_rels/"+e.slice(r+1)+".rels"}function Qn(e,r){var t={"!id":{}};if(!e)return t;if(r.charAt(0)!=="/"){r="/"+r}var a={};(e.match(Hr)||[]).forEach(function(e){var n=Gr(e);if(n[0]==="2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function ri(e,r,t,a,n,i){if(!n)n={};if(!e["!id"])e["!id"]={};if(!e["!idx"])e["!idx"]=1;if(r<0)for(r=e["!idx"];e["!id"]["rId"+r];++r){}e["!idx"]=r+1;n.Id="rId"+r;n.Type=a;n.Target=t;if(i)n.TargetMode=i;else if([qn.HLINK,qn.XPATH,qn.XMISS].indexOf(n.Type)>-1)n.TargetMode="External";if(e["!id"][n.Id])throw new Error("Cannot rewrite rId "+r);e["!id"][n.Id]=n;e[("/"+n.Target).replace("//","/")]=n;return r}var ti="application/vnd.oasis.opendocument.spreadsheet";function ai(e,r){var t=Et(e);var a;var n;while(a=Ct.exec(t))switch(a[3]){case"manifest":break;case"file-entry":n=Gr(a[0],false);if(n.path=="/"&&n.type!==ti)throw new Error("This OpenDocument is not a spreadsheet");break;case"encryption-data":;case"algorithm":;case"start-key-generation":;case"key-derivation":throw new Error("Unsupported ODS Encryption");default:if(r&&r.WTF)throw a;}}function ni(e){var r=[Mr];r.push('\n');r.push(' \n');for(var t=0;t\n');r.push("");return r.join("")}function ii(e,r,t){return[' \n',' \n'," \n"].join("")}function si(e,r){return[' \n',' \n'," \n"].join("")}function fi(e){var r=[Mr];r.push('\n');for(var t=0;t!=e.length;++t){r.push(ii(e[t][0],e[t][1]));r.push(si("",e[t][0]))}r.push(ii("","Document","pkg"));r.push("");return r.join("")}function oi(){return'Sheet'+"JS "+e.version+""}var li=[["cp:category","Category"],["cp:contentStatus","ContentStatus"],["cp:keywords","Keywords"],["cp:lastModifiedBy","LastAuthor"],["cp:lastPrinted","LastPrinted"],["cp:revision","RevNumber"],["cp:version","Version"],["dc:creator","Author"],["dc:description","Comments"],["dc:identifier","Identifier"],["dc:language","Language"],["dc:subject","Subject"],["dc:title","Title"],["dcterms:created","CreatedDate","date"],["dcterms:modified","ModifiedDate","date"]];var ci=function(){var e=new Array(li.length);for(var r=0;r]*>([\\s\\S]*?)")}return e}();function hi(e){var r={};e=lt(e);for(var t=0;t0)r[a[1]]=Yr(n[1]);if(a[2]==="date"&&r[a[1]])r[a[1]]=gr(r[a[1]])}return r}function ui(e,r,t,a,n){if(n[e]!=null||r==null||r==="")return;n[e]=r;r=qr(r);a[a.length]=t?kt(e,r,t):bt(e,r)}function di(e,r){var t=r||{};var a=[Mr,kt("cp:coreProperties",null,{"xmlns:cp":yt.CORE_PROPS,"xmlns:dc":yt.dc,"xmlns:dcterms":yt.dcterms,"xmlns:dcmitype":yt.dcmitype,"xmlns:xsi":yt.xsi})],n={};if(!e&&!t.Props)return a.join("");if(e){if(e.CreatedDate!=null)ui("dcterms:created",typeof e.CreatedDate==="string"?e.CreatedDate:Tt(e.CreatedDate,t.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n);if(e.ModifiedDate!=null)ui("dcterms:modified",typeof e.ModifiedDate==="string"?e.ModifiedDate:Tt(e.ModifiedDate,t.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n)}for(var i=0;i!=li.length;++i){var s=li[i];var f=t.Props&&t.Props[s[1]]!=null?t.Props[s[1]]:e?e[s[1]]:null;if(f===true)f="1";else if(f===false)f="0";else if(typeof f=="number")f=String(f);if(f!=null)ui(s[0],f,null,a,n)}if(a.length>2){a[a.length]="";a[1]=a[1].replace("/>",">")}return a.join("")}var vi=[["Application","Application","string"],["AppVersion","AppVersion","string"],["Company","Company","string"],["DocSecurity","DocSecurity","string"],["Manager","Manager","string"],["HyperlinksChanged","HyperlinksChanged","bool"],["SharedDoc","SharedDoc","bool"],["LinksUpToDate","LinksUpToDate","bool"],["ScaleCrop","ScaleCrop","bool"],["HeadingPairs","HeadingPairs","raw"],["TitlesOfParts","TitlesOfParts","raw"]];var pi=["Worksheets","SheetNames","NamedRanges","DefinedNames","Chartsheets","ChartNames"];function gi(e,r,t,a){var n=[];if(typeof e=="string")n=gt(e,a);else for(var i=0;i0)for(var l=0;l!==n.length;l+=2){o=+n[l+1].v;switch(n[l].v){case"Worksheets":;case"工作表":;case"Листы":;case"أوراق العمل":;case"ワークシート":;case"גליונות עבודה":;case"Arbeitsblätter":;case"Çalışma Sayfaları":;case"Feuilles de calcul":;case"Fogli di lavoro":;case"Folhas de cálculo":;case"Planilhas":;case"Regneark":;case"Hojas de cálculo":;case"Werkbladen":t.Worksheets=o;t.SheetNames=s.slice(f,f+o);break;case"Named Ranges":;case"Rangos con nombre":;case"名前付き一覧":;case"Benannte Bereiche":;case"Navngivne områder":t.NamedRanges=o;t.DefinedNames=s.slice(f,f+o);break;case"Charts":;case"Diagramme":t.Chartsheets=o;t.ChartNames=s.slice(f,f+o);break;}f+=o}}function mi(e,r,t){var a={};if(!r)r={};e=lt(e);vi.forEach(function(t){var n=(e.match(ht(t[0]))||[])[1];switch(t[2]){case"string":if(n)r[t[1]]=Yr(n);break;case"bool":r[t[1]]=n==="true";break;case"raw":var i=e.match(new RegExp("<"+t[0]+"[^>]*>([\\s\\S]*?)"));if(i&&i.length>0)a[t[1]]=i[1];break;}});if(a.HeadingPairs&&a.TitlesOfParts)gi(a.HeadingPairs,a.TitlesOfParts,r,t);return r}function bi(e){var r=[],t=kt;if(!e)e={};e.Application="SheetJS";r[r.length]=Mr;r[r.length]=kt("Properties",null,{xmlns:yt.EXT_PROPS,"xmlns:vt":yt.vt});vi.forEach(function(a){if(e[a[1]]===undefined)return;var n;switch(a[2]){case"string":n=qr(String(e[a[1]]));break;case"bool":n=e[a[1]]?"true":"false";break;}if(n!==undefined)r[r.length]=t(a[0],n)});r[r.length]=t("HeadingPairs",t("vt:vector",t("vt:variant","Worksheets")+t("vt:variant",t("vt:i4",String(e.Worksheets))),{size:2,baseType:"variant"}));r[r.length]=t("TitlesOfParts",t("vt:vector",e.SheetNames.map(function(e){return""+qr(e)+""}).join(""),{size:e.Worksheets,baseType:"lpstr"}));if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}var wi=/<[^>]+>[^<]*/g;function ki(e,r){var t={},a="";var n=e.match(wi);if(n)for(var i=0;i!=n.length;++i){var s=n[i],f=Gr(s);switch(f[0]){case"":a=null;break;default:if(s.indexOf("");var l=o[0].slice(4),c=o[1];switch(l){case"lpstr":;case"bstr":;case"lpwstr":t[a]=Yr(c);break;case"bool":t[a]=nt(c);break;case"i1":;case"i2":;case"i4":;case"i8":;case"int":;case"uint":t[a]=parseInt(c,10);break;case"r4":;case"r8":;case"decimal":t[a]=parseFloat(c);break;case"filetime":;case"date":t[a]=gr(c);break;case"cy":;case"error":t[a]=Yr(c);break;default:if(l.slice(-1)=="/")break;if(r.WTF&&typeof console!=="undefined")console.warn("Unexpected",s,l,o);}}else if(s.slice(0,2)==="2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}var Ai={Title:"Title",Subject:"Subject",Author:"Author",Keywords:"Keywords",Comments:"Description",LastAuthor:"LastAuthor",RevNumber:"Revision",Application:"AppName",LastPrinted:"LastPrinted",CreatedDate:"Created",ModifiedDate:"LastSaved",Category:"Category",Manager:"Manager",Company:"Company",AppVersion:"Version",ContentStatus:"ContentStatus",Identifier:"Identifier", +Language:"Language"};var Ei;function Ci(e,r,t){if(!Ei)Ei=ar(Ai);r=Ei[r]||r;e[r]=t}function yi(e,r){var t=[];rr(Ai).map(function(e){for(var r=0;r'+n.join("")+""}function _i(e){var r=e._R(4),t=e._R(4);return new Date((t/1e7*Math.pow(2,32)+r/1e7-11644473600)*1e3).toISOString().replace(/\.000/,"")}function xi(e){var r=typeof e=="string"?new Date(Date.parse(e)):e;var t=r.getTime()/1e3+11644473600;var a=t%Math.pow(2,32),n=(t-a)/Math.pow(2,32);a*=1e7;n*=1e7;var i=a/Math.pow(2,32)|0;if(i>0){a=a%Math.pow(2,32);n+=i}var s=ua(8);s._W(4,a);s._W(4,n);return s}function Oi(e,r,t){var a=e.l;var n=e._R(0,"lpstr-cp");if(t)while(e.l-a&3)++e.l;return n}function Ri(e,r,t){var a=e._R(0,"lpwstr");if(t)e.l+=4-(a.length+1&3)&3;return a}function Ii(e,r,t){if(r===31)return Ri(e);return Oi(e,r,t)}function Ni(e,r,t){return Ii(e,r,t===false?0:4)}function Di(e,r){if(!r)throw new Error("VtUnalignedString must have positive length");return Ii(e,r,0)}function Fi(e){var r=e._R(4);var t=[];for(var a=0;a!=r;++a){var n=e.l;t[a]=e._R(0,"lpwstr").replace(N,"");if(e.l-n&2)e.l+=2}return t}function Pi(e){var r=e._R(4);var t=[];for(var a=0;a!=r;++a)t[a]=e._R(0,"lpstr-cp").replace(N,"");return t}function Li(e){var r=e.l;var t=Hi(e,Pn);if(e[e.l]==0&&e[e.l+1]==0&&e.l-r&2)e.l+=2;var a=Hi(e,En);return[t,a]}function Mi(e){var r=e._R(4);var t=[];for(var a=0;a>2+1<<2;return a}function Bi(e){var r=e._R(4);var t=e.slice(e.l,e.l+r);e.l+=r;if((r&3)>0)e.l+=4-(r&3)&3;return t}function Wi(e){var r={};r.Size=e._R(4);e.l+=r.Size+3-(r.Size-1)%4;return r}function Hi(e,r,t){var a=e._R(2),n,i=t||{};e.l+=2;if(r!==yn)if(a!==r&&Ln.indexOf(r)===-1&&!((r&65534)==4126&&(a&65534)==4126))throw new Error("Expected type "+r+" saw "+a);switch(r===yn?a:r){case 2:n=e._R(2,"i");if(!i.raw)e.l+=2;return n;case 3:n=e._R(4,"i");return n;case 11:return e._R(4)!==0;case 19:n=e._R(4);return n;case 30:return Oi(e,a,4).replace(N,"");case 31:return Ri(e);case 64:return _i(e);case 65:return Bi(e);case 71:return Wi(e);case 80:return Ni(e,a,!i.raw).replace(N,"");case 81:return Di(e,a).replace(N,"");case 4108:return Mi(e);case 4126:;case 4127:return a==4127?Fi(e):Pi(e);default:throw new Error("TypedPropertyValue unrecognized type "+r+" "+a);}}function zi(e,r){var t=ua(4),a=ua(4);t._W(4,e==80?31:e);switch(e){case 3:a._W(-4,r);break;case 5:a=ua(8);a._W(8,r,"f");break;case 11:a._W(4,r?1:0);break;case 64:a=xi(r);break;case 31:;case 80:a=ua(4+2*(r.length+1)+(r.length%2?0:2));a._W(4,r.length+1);a._W(0,r,"dbcs");while(a.l!=a.length)a._W(1,0);break;default:throw new Error("TypedPropertyValue unrecognized type "+e+" "+r);}return R([t,a])}function Vi(e,r){var t=e.l;var a=e._R(4);var n=e._R(4);var i=[],s=0;var f=0;var l=-1,c={};for(s=0;s!=n;++s){var h=e._R(4);var u=e._R(4);i[s]=[h,u+t]}i.sort(function(e,r){return e[1]-r[1]});var d={};for(s=0;s!=n;++s){if(e.l!==i[s][1]){var v=true;if(s>0&&r)switch(r[i[s-1][0]].t){case 2:if(e.l+2===i[s][1]){e.l+=2;v=false}break;case 80:if(e.l<=i[s][1]){e.l=i[s][1];v=false}break;case 4108:if(e.l<=i[s][1]){e.l=i[s][1];v=false}break;}if((!r||s==0)&&e.l<=i[s][1]){v=false;e.l=i[s][1]}if(v)throw new Error("Read Error: Expected address "+i[s][1]+" at "+e.l+" :"+s)}if(r){var p=r[i[s][0]];d[p.n]=Hi(e,p.t,{raw:true});if(p.p==="version")d[p.n]=String(d[p.n]>>16)+"."+("0000"+String(d[p.n]&65535)).slice(-4);if(p.n=="CodePage")switch(d[p.n]){case 0:d[p.n]=1252;case 874:;case 932:;case 936:;case 949:;case 950:;case 1250:;case 1251:;case 1253:;case 1254:;case 1255:;case 1256:;case 1257:;case 1258:;case 1e4:;case 1200:;case 1201:;case 1252:;case 65e3:;case-536:;case 65001:;case-535:o(f=d[p.n]>>>0&65535);break;default:throw new Error("Unsupported CodePage: "+d[p.n]);}}else{if(i[s][0]===1){f=d.CodePage=Hi(e,An);o(f);if(l!==-1){var g=e.l;e.l=i[l][1];c=Ui(e,f);e.l=g}}else if(i[s][0]===0){if(f===0){l=s;e.l=i[s+1][1];continue}c=Ui(e,f)}else{var m=c[i[s][0]];var b;switch(e[e.l]){case 65:e.l+=4;b=Bi(e);break;case 30:e.l+=4;b=Ni(e,e[e.l-4]).replace(/\u0000+$/,"");break;case 31:e.l+=4;b=Ni(e,e[e.l-4]).replace(/\u0000+$/,"");break;case 3:e.l+=4;b=e._R(4,"i");break;case 19:e.l+=4;b=e._R(4);break;case 5:e.l+=4;b=e._R(8,"f");break;case 11:e.l+=4;b=Zi(e,4);break;case 64:e.l+=4;b=gr(_i(e));break;default:throw new Error("unparsed value: "+e[e.l]);}d[m]=b}}}e.l=t+a;return d}var Gi=["CodePage","Thumbnail","_PID_LINKBASE","_PID_HLINKS","SystemIdentifier","FMTID"];function ji(e){switch(typeof e){case"boolean":return 11;case"number":return(e|0)==e?3:5;case"string":return 31;case"object":if(e instanceof Date)return 64;break;}return-1}function Xi(e,r,t){var a=ua(8),n=[],i=[];var s=8,f=0;var o=ua(8),l=ua(8);o._W(4,2);o._W(4,1200);l._W(4,1);i.push(o);n.push(l);s+=8+o.length;if(!r){l=ua(8);l._W(4,0);n.unshift(l);var c=[ua(4)];c[0]._W(4,e.length);for(f=0;f-1||pi.indexOf(e[f][0])>-1)continue;if(e[f][1]==null)continue;var u=e[f][1],d=0;if(r){d=+r[e[f][0]];var v=t[d];if(v.p=="version"&&typeof u=="string"){var p=u.split(".");u=(+p[0]<<16)+(+p[1]||0)}o=zi(v.t,u)}else{var g=ji(u);if(g==-1){g=31;u=String(u)}o=zi(g,u)}i.push(o);l=ua(8);l._W(4,!r?2+f:d);n.push(l);s+=8+o.length}var m=8*(i.length+1);for(f=0;f=12?2:1);var i="sbcs-cont";var s=r;if(a&&a.biff>=8)r=1200;if(!a||a.biff==8){var f=e._R(1);if(f){i="dbcs-cont"}}else if(a.biff==12){i="wstr"}if(a.biff>=2&&a.biff<=5)i="cpstr";var o=n?e._R(n,i):"";r=s;return o}function ss(e){var t=r;r=1200;var a=e._R(2),n=e._R(1);var i=n&4,s=n&8;var f=1+(n&1);var o=0,l;var c={};if(s)o=e._R(2);if(i)l=e._R(4);var h=f==2?"dbcs-cont":"sbcs-cont";var u=a===0?"":e._R(a,h);if(s)e.l+=4*o;if(i)e.l+=l;c.t=u;if(!s){c.raw=""+c.t+"";c.r=c.t}r=t;return c}function fs(e){var r=e.t||"",t=1;var a=ua(3+(t>1?2:0));a._W(2,r.length);a._W(1,(t>1?8:0)|1);if(t>1)a._W(2,t);var n=ua(2*r.length);n._W(2*r.length,r,"utf16le");var i=[a,n];return R(i)}function os(e,r,t){var a;if(t){if(t.biff>=2&&t.biff<=5)return e._R(r,"cpstr");if(t.biff>=12)return e._R(r,"dbcs-cont")}var n=e._R(1);if(n===0){a=e._R(r,"sbcs-cont")}else{a=e._R(r,"dbcs-cont")}return a}function ls(e,r,t){var a=e._R(t&&t.biff==2?1:2);if(a===0){e.l++;return""}return os(e,a,t)}function cs(e,r,t){if(t.biff>5)return ls(e,r,t);var a=e._R(1);if(a===0){e.l++;return""}return e._R(a,t.biff<=4||!e.lens?"cpstr":"sbcs-cont")}function hs(e,r,t){if(!t)t=ua(3+2*e.length);t._W(2,e.length);t._W(1,1);t._W(31,e,"utf16le");return t}function us(e){var r=e._R(1);e.l++;var t=e._R(2);e.l+=2;return[r,t]}function ds(e){var r=e._R(4),t=e.l;var a=false;if(r>24){e.l+=r-24;if(e._R(16)==="795881f43b1d7f48af2c825dc4852763")a=true;e.l=t}var n=e._R((a?r-24:r)>>1,"utf16le").replace(N,"");if(a)e.l+=24;return n}function vs(e){var r=e._R(2);var t="";while(r-- >0)t+="../";var a=e._R(0,"lpstr-ansi");e.l+=2;if(e._R(2)!=57005)throw new Error("Bad FileMoniker");var n=e._R(4);if(n===0)return t+a.replace(/\\/g,"/");var i=e._R(4);if(e._R(2)!=3)throw new Error("Bad FileMoniker");var s=e._R(i>>1,"utf16le").replace(N,"");return t+s}function ps(e,r){var t=e._R(16);r-=16;switch(t){case"e0c9ea79f9bace118c8200aa004ba90b":return ds(e,r);case"0303000000000000c000000000000046":return vs(e,r);default:throw new Error("Unsupported Moniker "+t);}}function gs(e){var r=e._R(4);var t=r>0?e._R(r,"utf16le").replace(N,""):"";return t}function ms(e,r){if(!r)r=ua(6+e.length*2);r._W(4,1+e.length);for(var t=0;t-1?31:23;switch(a.charAt(0)){case"#":i=28;break;case".":i&=~2;break;}r._W(4,2);r._W(4,i);var s=[8,6815827,6619237,4849780,83];for(t=0;t-1?a.slice(0,n):a;r._W(4,2*(f.length+1));for(t=0;t-1?a.slice(n+1):"",r)}else{s="03 03 00 00 00 00 00 00 c0 00 00 00 00 00 00 46".split(" ");for(t=0;t8?4:2;var n=e._R(a),i=e._R(a,"i"),s=e._R(a,"i");return[n,i,s]}function _s(e){var r=e._R(2);var t=fn(e);return[r,t]}function xs(e,r,t){e.l+=4;r-=4;var a=e.l+r;var n=is(e,r,t);var i=e._R(2);a-=e.l;if(i!==a)throw new Error("Malformed AddinUdf: padding = "+a+" != "+i);e.l+=i;return n}function Os(e){var r=e._R(2);var t=e._R(2);var a=e._R(2);var n=e._R(2);return{s:{c:a,r:r},e:{c:n,r:t}}}function Rs(e,r){if(!r)r=ua(8);r._W(2,e.s.r);r._W(2,e.e.r);r._W(2,e.s.c);r._W(2,e.e.c);return r}function Is(e){var r=e._R(2);var t=e._R(2);var a=e._R(1);var n=e._R(1);return{s:{c:a,r:r},e:{c:n,r:t}}}var Ns=Is;function Ds(e){e.l+=4;var r=e._R(2);var t=e._R(2);var a=e._R(2);e.l+=12;return[t,r,a]}function Fs(e){var r={};e.l+=4;e.l+=16;r.fSharedNote=e._R(2);e.l+=4;return r}function Ps(e){var r={};e.l+=4;e.cf=e._R(2);return r}function Ls(e){e.l+=2;e.l+=e._R(2)}var Ms={0:Ls,4:Ls,5:Ls,6:Ls,7:Ps,8:Ls,9:Ls,10:Ls,11:Ls,12:Ls,13:Fs,14:Ls,15:Ls,16:Ls,17:Ls,18:Ls,19:Ls,20:Ls,21:Ds};function Us(e,r){var t=e.l+r;var a=[];while(e.l=2){t.dt=e._R(2);e.l-=2}switch(t.BIFFVer){case 1536:;case 1280:;case 1024:;case 768:;case 512:;case 2:;case 7:break;default:if(r>6)throw new Error("Unexpected BIFF Ver "+t.BIFFVer);}e._R(r);return t}function Ws(e,r,t){var a=1536,n=16;switch(t.bookType){case"biff8":break;case"biff5":a=1280;n=8;break;case"biff4":a=4;n=6;break;case"biff3":a=3;n=6;break;case"biff2":a=2;n=4;break;case"xla":break;default:throw new Error("unsupported BIFF version");}var i=ua(n);i._W(2,a);i._W(2,r);if(n>4)i._W(2,29282);if(n>6)i._W(2,1997);if(n>8){i._W(2,49161);i._W(2,1);i._W(2,1798);i._W(2,0)}return i}function Hs(e,r){if(r===0)return 1200;if(e._R(2)!==1200){}return 1200}function zs(e,r,t){if(t.enc){e.l+=r;return""}var a=e.l;var n=cs(e,0,t);e._R(r+a-e.l);return n}function Vs(e,r){var t=!r||r.biff==8;var a=ua(t?112:54);a._W(r.biff==8?2:1,7);if(t)a._W(1,0);a._W(4,859007059);a._W(4,5458548|(t?0:536870912));while(a.l=8?2:1;var a=ua(8+t*e.name.length);a._W(4,e.pos);a._W(1,e.hs||0);a._W(1,e.dt);a._W(1,e.name.length);if(r.biff>=8)a._W(1,1);a._W(t*e.name.length,e.name,r.biff<8?"sbcs":"utf16le");var n=a.slice(0,a.l);n.l=a.l;return n}function $s(e,r){var t=e.l+r;var a=e._R(4);var n=e._R(4);var i=[];for(var s=0;s!=n&&e.l>15);n&=32767}var i={Unsynced:a&1,DyZero:(a&2)>>1,ExAsc:(a&4)>>2,ExDsc:(a&8)>>3};return[i,n]}function ef(e){var r=e._R(2),t=e._R(2),a=e._R(2),n=e._R(2);var i=e._R(2),s=e._R(2),f=e._R(2);var o=e._R(2),l=e._R(2);return{Pos:[r,t],Dim:[a,n],Flags:i,CurTab:s,FirstTab:f,Selected:o,TabRatio:l}}function rf(){var e=ua(18);e._W(2,0);e._W(2,0);e._W(2,29280);e._W(2,17600);e._W(2,56);e._W(2,0);e._W(2,0);e._W(2,1);e._W(2,500);return e}function tf(e,r,t){if(t&&t.biff>=2&&t.biff<5)return{};var a=e._R(2);return{RTL:a&64}}function af(e){var r=ua(18),t=1718;if(e&&e.RTL)t|=64;r._W(2,t);r._W(4,0);r._W(4,64);r._W(4,0);r._W(4,0);return r}function nf(){}function sf(e,r,t){var a={dyHeight:e._R(2),fl:e._R(2)};switch(t&&t.biff||8){case 2:break;case 3:;case 4:e.l+=2;break;default:e.l+=10;break;}a.name=is(e,0,t);return a}function ff(e,r){var t=e.name||"Arial";var a=r&&r.biff==5,n=a?15+t.length:16+2*t.length;var i=ua(n);i._W(2,(e.sz||12)*20);i._W(4,0);i._W(2,400);i._W(4,0);i._W(2,0);i._W(1,t.length);if(!a)i._W(1,1);i._W((a?1:2)*t.length,t,a?"sbcs":"utf16le");return i}function of(e){var r=As(e);r.isst=e._R(4);return r}function lf(e,r,t,a){var n=ua(10);Es(e,r,a,n);n._W(4,t);return n}function cf(e,r,t){if(t.biffguess&&t.biff==2)t.biff=5;var a=e.l+r;var n=As(e,6);if(t.biff==2)e.l++;var i=ls(e,a-e.l,t);n.val=i;return n}function hf(e,r,t,a,n){var i=!n||n.biff==8;var s=ua(6+2+ +i+(1+i)*t.length);Es(e,r,a,s);s._W(2,t.length);if(i)s._W(1,1);s._W((1+i)*t.length,t,i?"utf16le":"sbcs");return s}function uf(e,r,t){var a=e._R(2);var n=cs(e,0,t);return[a,n]}function df(e,r,t,a){var n=t&&t.biff==5;if(!a)a=ua(n?3+r.length:5+2*r.length);a._W(2,e);a._W(n?1:2,r.length);if(!n)a._W(1,1);a._W((n?1:2)*r.length,r,n?"sbcs":"utf16le");var i=a.length>a.l?a.slice(0,a.l):a;if(i.l==null)i.l=i.length;return i}var vf=cs;function pf(e,r,t){var a=e.l+r;var n=t.biff==8||!t.biff?4:2;var i=e._R(n),s=e._R(n);var f=e._R(2),o=e._R(2);e.l=a;return{s:{r:i,c:f},e:{r:s,c:o}}}function gf(e,r){var t=r.biff==8||!r.biff?4:2;var a=ua(2*t+6);a._W(t,e.s.r);a._W(t,e.e.r+1);a._W(2,e.s.c);a._W(2,e.e.c+1);a._W(2,0);return a}function mf(e){var r=e._R(2),t=e._R(2);var a=_s(e);return{r:r,c:t,ixfe:a[0],rknum:a[1]}}function bf(e,r){var t=e.l+r-2;var a=e._R(2),n=e._R(2);var i=[];while(e.l>26];if(!a.cellStyles)return n;n.alc=i&7;n.fWrap=i>>3&1;n.alcV=i>>4&7;n.fJustLast=i>>7&1;n.trot=i>>8&255;n.cIndent=i>>16&15;n.fShrinkToFit=i>>20&1;n.iReadOrder=i>>22&2;n.fAtrNum=i>>26&1;n.fAtrFnt=i>>27&1;n.fAtrAlc=i>>28&1;n.fAtrBdr=i>>29&1;n.fAtrPat=i>>30&1;n.fAtrProt=i>>31&1;n.dgLeft=s&15;n.dgRight=s>>4&15;n.dgTop=s>>8&15;n.dgBottom=s>>12&15;n.icvLeft=s>>16&127;n.icvRight=s>>23&127;n.grbitDiag=s>>30&3;n.icvTop=f&127;n.icvBottom=f>>7&127;n.icvDiag=f>>14&127;n.dgDiag=f>>21&15;n.icvFore=o&127;n.icvBack=o>>7&127;n.fsxButton=o>>14&1;return n}function Tf(e,r,t){var a={};a.ifnt=e._R(2);a.numFmtId=e._R(2);a.flags=e._R(2);a.fStyle=a.flags>>2&1;r-=6;a.data=kf(e,r,a.fStyle,t);return a}function Af(e,r,t,a){var n=t&&t.biff==5;if(!a)a=ua(n?16:20);a._W(2,0);if(e.style){a._W(2,e.numFmtId||0);a._W(2,65524)}else{a._W(2,e.numFmtId||0);a._W(2,r<<4)}var i=0;if(e.numFmtId>0&&n)i|=1024;a._W(4,i);a._W(4,0);if(!n)a._W(4,0);a._W(2,0);return a}function Ef(e){e.l+=4;var r=[e._R(2),e._R(2)];if(r[0]!==0)r[0]--;if(r[1]!==0)r[1]--;if(r[0]>7||r[1]>7)throw new Error("Bad Gutters: "+r.join("|"));return r}function Cf(e){var r=ua(8);r._W(4,0);r._W(2,e[0]?e[0]+1:0);r._W(2,e[1]?e[1]+1:0);return r}function yf(e,r,t){var a=As(e,6);if(t.biff==2||r==9)++e.l;var n=as(e,2);a.val=n;a.t=n===true||n===false?"b":"e";return a}function Sf(e,r,t,a,n,i){var s=ua(8);Es(e,r,a,s);ns(t,i,s);return s}function _f(e,r,t){if(t.biffguess&&t.biff==2)t.biff=5;var a=As(e,6);var n=dn(e,8);a.val=n;return a}function xf(e,r,t,a){var n=ua(14);Es(e,r,a,n);vn(t,n);return n}var Of=ys;function Rf(e,r,t){var a=e.l+r;var n=e._R(2);var i=e._R(2);t.sbcch=i;if(i==1025||i==14849)return[i,n];if(i<1||i>255)throw new Error("Unexpected SupBook type: "+i);var s=os(e,i);var f=[];while(a>e.l)f.push(ls(e));return[i,n,s,f]}function If(e,r,t){var a=e._R(2);var n;var i={fBuiltIn:a&1,fWantAdvise:a>>>1&1,fWantPict:a>>>2&1,fOle:a>>>3&1,fOleLink:a>>>4&1,cf:a>>>5&1023,fIcon:a>>>15&1};if(t.sbcch===14849)n=xs(e,r-2,t);i.body=n||e._R(r-2);if(typeof n==="string")i.Name=n;return i}var Nf=["_xlnm.Consolidate_Area","_xlnm.Auto_Open","_xlnm.Auto_Close","_xlnm.Extract","_xlnm.Database","_xlnm.Criteria","_xlnm.Print_Area","_xlnm.Print_Titles","_xlnm.Recorder","_xlnm.Data_Form","_xlnm.Auto_Activate","_xlnm.Auto_Deactivate","_xlnm.Sheet_Title","_xlnm._FilterDatabase"];function Df(e,r,t){var a=e.l+r;var n=e._R(2);var i=e._R(1);var s=e._R(1);var f=e._R(t&&t.biff==2?1:2);var o=0;if(!t||t.biff>=5){if(t.biff!=5)e.l+=2;o=e._R(2);if(t.biff==5)e.l+=2;e.l+=4}var l=os(e,s,t);if(n&32)l=Nf[l.charCodeAt(0)];var c=a-e.l;if(t&&t.biff==2)--c;var h=a==e.l||f===0||!(c>0)?[]:cd(e,c,t,f);return{chKey:i,Name:l,itab:o,rgce:h}}function Ff(e,r,t){if(t.biff<8)return Pf(e,r,t);var a=[],n=e.l+r,i=e._R(t.biff>8?4:2);while(i--!==0)a.push(Ss(e,t.biff>8?12:6,t));if(e.l!=n)throw new Error("Bad ExternSheet: "+e.l+" != "+n);return a}function Pf(e,r,t){if(e[e.l+1]==3)e[e.l]++;var a=is(e,r,t);return a.charCodeAt(0)==3?a.slice(1):a}function Lf(e,r,t){if(t.biff<8){e.l+=r;return}var a=e._R(2);var n=e._R(2);var i=os(e,a,t);var s=os(e,n,t);return[i,s]}function Mf(e,r,t){var a=Is(e,6);e.l++;var n=e._R(1);r-=8;return[hd(e,r,t),n,a]}function Uf(e,r,t){var a=Ns(e,6);switch(t.biff){case 2:e.l++;r-=7;break;case 3:;case 4:e.l+=2;r-=8;break;default:e.l+=6;r-=12;}return[a,od(e,r,t,a)]}function Bf(e){var r=e._R(4)!==0;var t=e._R(4)!==0;var a=e._R(4);return[r,t,a]}function Wf(e,r,t){if(t.biff<8)return;var a=e._R(2),n=e._R(2);var i=e._R(2),s=e._R(2);var f=cs(e,0,t);if(t.biff<8)e._R(1);return[{r:a,c:n},f,s,i]}function Hf(e,r,t){return Wf(e,r,t)}function zf(e,r){var t=[];var a=e._R(2);while(a--)t.push(Os(e,r));return t}function Vf(e){var r=ua(2+e.length*8);r._W(2,e.length);for(var t=0;t=(c?f:2*f))break}if(n.length!==f&&n.length!==f*2){throw new Error("cchText: "+f+" != "+n.length)}e.l=a+r;return{t:n}}catch(u){e.l=a+r;return{t:n}}}function Yf(e,r){var t=Os(e,8);e.l+=16;var a=bs(e,r-24);return[t,a]}function Kf(e){var r=ua(24);var t=Oa(e[0]);r._W(2,t.r);r._W(2,t.r);r._W(2,t.c);r._W(2,t.c);var a="d0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b".split(" ");for(var n=0;n<16;++n)r._W(1,parseInt(a[n],16));return R([r,ws(e[1])])}function Jf(e,r){e._R(2);var t=Os(e,8);var a=e._R((r-10)/2,"dbcs-cont");a=a.replace(N,"");return[t,a]}function qf(e){var r=e[1].Tooltip;var t=ua(10+2*(r.length+1));t._W(2,2048);var a=Oa(e[0]);t._W(2,a.r);t._W(2,a.r);t._W(2,a.c);t._W(2,a.c);for(var n=0;n0)t.push(Ts(e,8));return t}function ro(e){var r=e._R(2);var t=[];while(r-- >0)t.push(Ts(e,8));return t}function to(e){e.l+=2;var r={cxfs:0,crc:0};r.cxfs=e._R(2);r.crc=e._R(4);return r}function ao(e,r,t){if(!t.cellStyles)return ha(e,r);var a=t&&t.biff>=12?4:2;var n=e._R(a);var i=e._R(a);var s=e._R(a);var f=e._R(a);var o=e._R(2);if(a==2)e.l+=2;var l={s:n,e:i,w:s,ixfe:f,flags:o};if(t.biff>=5||!t.biff)l.level=o>>8&7;return l}function no(e,r){var t=ua(12);t._W(2,r);t._W(2,r);t._W(2,e.width*256);t._W(2,0);var a=0;if(e.hidden)a|=1;t._W(1,a);a=e.level||0;t._W(1,a);t._W(2,0);return t}function io(e,r){var t={};if(r<32)return t;e.l+=16;t.header=dn(e,8);t.footer=dn(e,8);e.l+=2;return t}function so(e,r,t){var a={area:false};if(t.biff!=5){e.l+=r;return a}var n=e._R(1);e.l+=3;if(n&16)a.area=true;return a}function fo(e){var r=ua(2*e);for(var t=0;t1048576)c=1e6;if(s!=2)h=i._R(2);var u=i._R(2);var d=t.codepage||1252;if(s!=2){i.l+=16;i._R(1);if(i[i.l]!==0)d=e[i[i.l]];i.l+=1;i.l+=2}if(l)i.l+=36;var v=[],p={};var g=Math.min(i.length,s==2?521:h-10-(o?264:0));var m=l?32:11;while(i.l0){if(i[i.l]===42){i.l+=u;continue}++i.l;n[++b]=[];w=0;for(w=0;w!=v.length;++w){var T=i.slice(i.l,i.l+v[w].len);i.l+=v[w].len;ca(T,0);var A=a.utils.decode(d,T);switch(v[w].type){case"C":if(A.trim().length)n[b][w]=A.replace(/\s+$/,""); +break;case"D":if(A.length===8)n[b][w]=new Date(+A.slice(0,4),+A.slice(4,6)-1,+A.slice(6,8));else n[b][w]=A;break;case"F":n[b][w]=parseFloat(A.trim());break;case"+":;case"I":n[b][w]=l?T._R(-4,"i")^2147483648:T._R(4,"i");break;case"L":switch(A.trim().toUpperCase()){case"Y":;case"T":n[b][w]=true;break;case"N":;case"F":n[b][w]=false;break;case"":;case"?":break;default:throw new Error("DBF Unrecognized L:|"+A+"|");}break;case"M":if(!f)throw new Error("DBF Unexpected MEMO for type "+s.toString(16));n[b][w]="##MEMO##"+(l?parseInt(A.trim(),10):T._R(4));break;case"N":A=A.replace(/\u0000/g,"").trim();if(A&&A!=".")n[b][w]=+A||0;break;case"@":n[b][w]=new Date(T._R(-8,"f")-621356832e5);break;case"T":n[b][w]=new Date((T._R(4)-2440588)*864e5+T._R(4));break;case"Y":n[b][w]=T._R(4,"i")/1e4+T._R(4,"i")/1e4*Math.pow(2,32);break;case"O":n[b][w]=-T._R(-8,"f");break;case"B":if(o&&v[w].len==8){n[b][w]=T._R(8,"f");break};case"G":;case"P":T.l+=v[w].len;break;case"0":if(v[w].name==="_NullFlags")break;default:throw new Error("DBF Unsupported data type "+v[w].type);}}}if(s!=2)if(i.l=0)o(+n.codepage);if(n.type=="string")throw new Error("Cannot write DBF to JS string");var i=va();var s=Aw(e,{header:1,raw:true,cellDates:true});var l=s[0],c=s.slice(1),h=e["!cols"]||[];var u=0,d=0,v=0,p=1;for(u=0;u250)A=250;T=((h[u]||{}).DBF||{}).type;if(T=="C"){if(h[u].DBF.len>A)A=h[u].DBF.len}if(k=="B"&&T=="N"){k="N";w[u]=h[u].DBF.dec;A=h[u].DBF.len}b[u]=k=="C"||T=="N"?A:f[k]||0;p+=b[u];m[u]=k}var C=i.next(32);C._W(4,318902576);C._W(4,c.length);C._W(2,296+32*v);C._W(2,p);for(u=0;u<4;++u)C._W(4,0);C._W(4,0|(+r[t]||3)<<8);for(u=0,d=0;u":190,"?":191,"{":223};var r=new RegExp("N("+rr(e).join("|").replace(/\|\|\|/,"|\\||").replace(/([?()+])/g,"\\$1")+"|\\|)","gm");var t=function(r,t){var a=e[t];return typeof a=="number"?p(a):a};var n=function(e,r,t){var a=r.charCodeAt(0)-32<<4|t.charCodeAt(0)-48;return a==59?e:p(a)};e["|"]=254;function i(e,r){switch(r.type){case"base64":return s(k(e),r);case"binary":return s(e,r);case"buffer":return s(T&&Buffer.isBuffer(e)?e.toString("binary"):_(e),r);case"array":return s(mr(e),r);}throw new Error("Unrecognized type "+r.type)}function s(e,i){var s=e.split(/[\n\r]+/),f=-1,l=-1,c=0,h=0,u=[];var d=[];var v=null;var p={},g=[],m=[],b=[];var w=0,k;if(+i.codepage>=0)o(+i.codepage);for(;c!==s.length;++c){w=0;var T=s[c].trim().replace(/\x1B([\x20-\x2F])([\x30-\x3F])/g,n).replace(r,t);var A=T.replace(/;;/g,"\0").split(";").map(function(e){return e.replace(/\u0000/g,";")});var E=A[0],C;if(T.length>0)switch(E){case"ID":break;case"E":break;case"B":break;case"O":break;case"W":break;case"P":if(A[1].charAt(0)=="P")d.push(T.slice(3).replace(/;;/g,";"));break;case"C":var y=false,S=false,_=false,x=false,O=-1,R=-1;for(h=1;h-1&&u[O][R];if(!N||!N[1])throw new Error("SYLK shared formula cannot find base");u[f][l][1]=Oh(N[1],{r:f-O,c:l-R})}break;case"F":var D=0;for(h=1;h0){g[f].hpt=w;g[f].hpx=Pl(w)}else if(w===0)g[f].hidden=true;break;default:if(i&&i.WTF)throw new Error("SYLK bad record "+T);}if(D<1)v=null;break;default:if(i&&i.WTF)throw new Error("SYLK bad record "+T);}}if(g.length>0)p["!rows"]=g;if(m.length>0)p["!cols"]=m;if(i&&i.sheetRows)u=u.slice(0,i.sheetRows);return[u,p]}function f(e,r){var t=i(e,r);var a=t[0],n=t[1];var s=Ua(a,r);rr(n).forEach(function(e){s[e]=n[e]});return s}function l(e,r){return La(f(e,r),r)}function c(e,r,t,a){var n="C;Y"+(t+1)+";X"+(a+1)+";K";switch(e.t){case"n":n+=e.v||0;if(e.f&&!e.F)n+=";E"+xh(e.f,{r:t,c:a});break;case"b":n+=e.v?"TRUE":"FALSE";break;case"e":n+=e.w||e.v;break;case"d":n+='"'+(e.w||e.v)+'"';break;case"s":n+='"'+e.v.replace(/"/g,"").replace(/;/g,";;")+'"';break;}return n}function h(e,r){r.forEach(function(r,t){var a="F;W"+(t+1)+" "+(t+1)+" ";if(r.hidden)a+="0";else{if(typeof r.width=="number"&&!r.wpx)r.wpx=Sl(r.width);if(typeof r.wpx=="number"&&!r.wch)r.wch=_l(r.wpx);if(typeof r.wch=="number")a+=Math.round(r.wch)}if(a.charAt(a.length-1)!=" ")e.push(a)})}function u(e,r){r.forEach(function(r,t){var a="F;";if(r.hidden)a+="M0;";else if(r.hpt)a+="M"+20*r.hpt+";";else if(r.hpx)a+="M"+20*Fl(r.hpx)+";";if(a.length>2)e.push(a+"R"+(t+1))})}function d(e,r){var t=["ID;PWXL;N;E"],a=[];var n=Da(e["!ref"]),i;var s=Array.isArray(e);var f="\r\n";t.push("P;PGeneral");t.push("F;P0;DG0G8;M255");if(e["!cols"])h(t,e["!cols"]);if(e["!rows"])u(t,e["!rows"]);t.push("B;Y"+(n.e.r-n.s.r+1)+";X"+(n.e.c-n.s.c+1)+";D"+[n.s.c,n.s.r,n.e.c,n.e.r].join(" "));for(var o=n.s.r;o<=n.e.r;++o){for(var l=n.s.c;l<=n.e.c;++l){var d=Ra({r:o,c:l});i=s?(e[o]||[])[l]:e[d];if(!i||i.v==null&&(!i.f||i.F))continue;a.push(c(i,e,o,l,r))}}return t.join(f)+f+a.join(f)+f+"E"+f}return{to_workbook:l,to_sheet:f,from_sheet:d}}();var Co=function(){function e(e,t){switch(t.type){case"base64":return r(k(e),t);case"binary":return r(e,t);case"buffer":return r(T&&Buffer.isBuffer(e)?e.toString("binary"):_(e),t);case"array":return r(mr(e),t);}throw new Error("Unrecognized type "+t.type)}function r(e,r){var t=e.split("\n"),a=-1,n=-1,i=0,s=[];for(;i!==t.length;++i){if(t[i].trim()==="BOT"){s[++a]=[];n=0;continue}if(a<0)continue;var f=t[i].trim().split(",");var o=f[0],l=f[1];++i;var c=t[i]||"";while((c.match(/["]/g)||[]).length&1&&i=0&&i[s].length===0)--s;var f=10,o=0;var l=0;for(;l<=s;++l){o=i[l].indexOf(" ");if(o==-1)o=i[l].length;else o++;f=Math.max(f,o)}for(l=0;l<=s;++l){n[l]=[];var c=0;e(i[l].slice(0,f).trim(),n,l,c,a);for(c=1;c<=(i[l].length-f)/10+1;++c)e(i[l].slice(f+(c-1)*10,f+c*10).trim(),n,l,c,a)}if(a.sheetRows)n=n.slice(0,a.sheetRows);return n}var t={44:",",9:"\t",59:";",124:"|"};var n={44:3,9:2,59:1,124:0};function i(e){var r={},a=false,i=0,s=0;for(;i0)b();n["!ref"]=Na(s);return n}function f(e,t){if(!(t&&t.PRN))return s(e,t);if(t.FS)return s(e,t);if(e.slice(0,4)=="sep=")return s(e,t);if(e.indexOf("\t")>=0||e.indexOf(",")>=0||e.indexOf(";")>=0)return s(e,t);return Ua(r(e,t),t)}function o(e,r){var t="",n=r.type=="string"?[0,0,0,0]:qb(e,r);switch(r.type){case"base64":t=k(e);break;case"binary":t=e;break;case"buffer":if(r.codepage==65001)t=e.toString("utf8");else if(r.codepage&&typeof a!=="undefined")t=a.utils.decode(r.codepage,e);else t=T&&Buffer.isBuffer(e)?e.toString("binary"):_(e);break;case"array":t=mr(e);break;case"string":t=e;break;default:throw new Error("Unrecognized type "+r.type);}if(n[0]==239&&n[1]==187&&n[2]==191)t=lt(t.slice(3));else if(r.type!="string"&&r.type!="buffer"&&r.codepage==65001)t=lt(t);else if(r.type=="binary"&&typeof a!=="undefined"&&r.codepage)t=a.utils.decode(r.codepage,a.utils.encode(28591,t));if(t.slice(0,19)=="socialcalc:version:")return yo.to_sheet(r.type=="string"?t:lt(t),r);return f(t,r)}function l(e,r){return La(o(e,r),r)}function c(e){var r=[];var t=Da(e["!ref"]),a;var n=Array.isArray(e);for(var i=t.s.r;i<=t.e.r;++i){var s=[];for(var f=t.s.c;f<=t.e.c;++f){var o=Ra({r:i,c:f});a=n?(e[i]||[])[f]:e[o];if(!a||a.v==null){s.push(" ");continue}var l=(a.w||(Pa(a),a.w)||"").slice(0,10);while(l.length<10)l+=" ";s.push(l+(f===0?" ":""))}r.push(s.join(""))}return r.join("\n")}return{to_workbook:l,to_sheet:o,from_sheet:c}}();function _o(e,r){var t=r||{},a=!!t.WTF;t.WTF=true;try{var n=Eo.to_workbook(e,t);t.WTF=a;return n}catch(i){t.WTF=a;if(!i.message.match(/SYLK bad record ID/)&&a)throw i;return So.to_workbook(e,r)}}var xo=function(){function e(e,r,t){if(!e)return;ca(e,e.l||0);var a=t.Enum||W;while(e.l=16&&r[14]==5&&r[15]===108)throw new Error("Unsupported Works 3 for Mac file")}}if(r[2]==2){a.Enum=W;e(r,function(e,r,t){switch(t){case 0:a.vers=e;if(e>=4096)a.qpro=true;break;case 6:h=e;break;case 204:if(e)s=e;break;case 222:s=e;break;case 15:;case 51:if(!a.qpro)e[1].v=e[1].v.slice(1);case 13:;case 14:;case 16:if(t==14&&(e[2]&112)==112&&(e[2]&15)>1&&(e[2]&15)<15){e[1].z=a.dateNF||X[14];if(a.cellDates){e[1].t="d";e[1].v=hr(e[1].v)}}if(a.qpro){if(e[3]>f){n["!ref"]=Na(h);o[i]=n;l.push(i);n=a.dense?[]:{};h={s:{r:0,c:0},e:{r:0,c:0}};f=e[3];i=s||"Sheet"+(f+1);s=""}}var c=a.dense?(n[e[0].r]||[])[e[0].c]:n[Ra(e[0])];if(c){c.t=e[1].t;c.v=e[1].v;if(e[1].z!=null)c.z=e[1].z;if(e[1].f!=null)c.f=e[1].f;break}if(a.dense){if(!n[e[0].r])n[e[0].r]=[];n[e[0].r][e[0].c]=e[1]}else n[Ra(e[0])]=e[1];break;default:;}},a)}else if(r[2]==26||r[2]==14){a.Enum=H;if(r[2]==14){a.qpro=true;r.l=0}e(r,function(e,r,t){switch(t){case 204:i=e;break;case 22:e[1].v=e[1].v.slice(1);case 23:;case 24:;case 25:;case 37:;case 39:;case 40:if(e[3]>f){n["!ref"]=Na(h);o[i]=n;l.push(i);n=a.dense?[]:{};h={s:{r:0,c:0},e:{r:0,c:0}};f=e[3];i="Sheet"+(f+1)}if(u>0&&e[0].r>=u)break;if(a.dense){if(!n[e[0].r])n[e[0].r]=[];n[e[0].r][e[0].c]=e[1]}else n[Ra(e[0])]=e[1];if(h.e.c=0)o(+t.codepage);if(t.type=="string")throw new Error("Cannot write WK1 to JS string");var a=va();var n=Da(e["!ref"]);var s=Array.isArray(e);var f=[];bm(a,0,i(1030));bm(a,6,l(n));var c=Math.min(n.e.r,8191);for(var h=n.s.r;h<=c;++h){var d=Ta(h);for(var p=n.s.c;p<=n.e.c;++p){if(h===n.s.r)f[p]=ya(p);var g=f[p]+d;var b=s?(e[h]||[])[p]:e[g];if(!b||b.t=="z")continue;if(b.t=="n"){if((b.v|0)==b.v&&b.v>=-32768&&b.v<=32767)bm(a,13,v(h,p,b.v));else bm(a,14,m(h,p,b.v))}else{var w=Pa(b);bm(a,15,u(h,p,w.slice(0,239)))}}}bm(a,1);return a.end()}function n(e,r){var t=r||{};if(+t.codepage>=0)o(+t.codepage);if(t.type=="string")throw new Error("Cannot write WK3 to JS string");var a=va();bm(a,0,s(e));for(var n=0,i=0;n8191)t=8191;r._W(2,t);r._W(1,n);r._W(1,a);r._W(2,0);r._W(2,0);r._W(1,1);r._W(1,2);r._W(4,0);r._W(4,0);return r}function f(e,r,t){var a={s:{c:0,r:0},e:{c:0,r:0}};if(r==8&&t.qpro){a.s.c=e._R(1);e.l++;a.s.r=e._R(2);a.e.c=e._R(1);e.l++;a.e.r=e._R(2);return a}a.s.c=e._R(2);a.s.r=e._R(2);if(r==12&&t.qpro)e.l+=2;a.e.c=e._R(2);a.e.r=e._R(2);if(r==12&&t.qpro)e.l+=2;if(a.s.c==65535)a.s.c=a.e.c=a.s.r=a.e.r=0;return a}function l(e){var r=ua(8);r._W(2,e.s.c);r._W(2,e.s.r);r._W(2,e.e.c);r._W(2,e.e.r);return r}function c(e,r,t){var a=[{c:0,r:0},{t:"n",v:0},0,0];if(t.qpro&&t.vers!=20768){a[0].c=e._R(1);a[3]=e._R(1);a[0].r=e._R(2);e.l+=2}else{a[2]=e._R(1);a[0].c=e._R(2);a[0].r=e._R(2)}return a}function h(e,r,t){var a=e.l+r;var n=c(e,r,t);n[1].t="s";if(t.vers==20768){e.l++;var i=e._R(1);n[1].v=e._R(i,"utf8");return n}if(t.qpro)e.l++;n[1].v=e._R(a-e.l,"cstr");return n}function u(e,r,t){var a=ua(7+t.length);a._W(1,255);a._W(2,r);a._W(2,e);a._W(1,39);for(var n=0;n=128?95:i)}a._W(1,0);return a}function d(e,r,t){var a=c(e,r,t);a[1].v=e._R(2,"i");return a}function v(e,r,t){var a=ua(7);a._W(1,255);a._W(2,r);a._W(2,e);a._W(2,t,"i");return a}function p(e,r,t){var a=c(e,r,t);a[1].v=e._R(8,"f");return a}function m(e,r,t){var a=ua(13);a._W(1,255);a._W(2,r);a._W(2,e);a._W(8,t,"f");return a}function b(e,r,t){var a=e.l+r;var n=c(e,r,t);n[1].v=e._R(8,"f");if(t.qpro)e.l=a;else{var i=e._R(2);E(e.slice(e.l,e.l+i),n);e.l+=i}return n}function w(e,r,t){var a=r&32768;r&=~32768;r=(a?e:0)+(r>=8192?r-16384:r);return(a?"":"$")+(t?ya(r):Ta(r))}var T={51:["FALSE",0],52:["TRUE",0],70:["LEN",1],80:["SUM",69],81:["AVERAGEA",69],82:["COUNTA",69],83:["MINA",69],84:["MAXA",69],111:["T",1]};var A=["","","","","","","","","","+","-","*","/","^","=","<>","<=",">=","<",">","","","","","&","","","","","","",""];function E(e,r){ca(e,0);var t=[],a=0,n="",i="",s="",f="";while(e.lt.length){console.error("WK1 bad formula parse 0x"+o.toString(16)+":|"+t.join("|")+"|");return}var u=t.slice(-a);t.length-=a;t.push(T[o][0]+"("+u.join(",")+")")}else if(o<=7)return console.error("WK1 invalid opcode "+o.toString(16));else if(o<=24)return console.error("WK1 unsupported op "+o.toString(16));else if(o<=30)return console.error("WK1 invalid opcode "+o.toString(16));else if(o<=115)return console.error("WK1 unsupported function opcode "+o.toString(16));else return console.error("WK1 unrecognized opcode "+o.toString(16));}}if(t.length==1)r[1].f=""+t[0];else console.error("WK1 bad formula parse |"+t.join("|")+"|")}function C(e){var r=[{c:0,r:0},{t:"n",v:0},0];r[0].r=e._R(2);r[3]=e[e.l++];r[0].c=e[e.l++];return r}function S(e,r){var t=C(e,r);t[1].t="s";t[1].v=e._R(r-4,"cstr");return t}function _(e,r,t,a){var n=ua(6+a.length);n._W(2,e);n._W(1,t);n._W(1,r);n._W(1,39);for(var i=0;i=128?95:s)}n._W(1,0);return n}function x(e,r){var t=C(e,r);t[1].v=e._R(2);var a=t[1].v>>1;if(t[1].v&1){switch(a&7){case 0:a=(a>>3)*5e3;break;case 1:a=(a>>3)*500;break;case 2:a=(a>>3)/20;break;case 3:a=(a>>3)/200;break;case 4:a=(a>>3)/2e3;break;case 5:a=(a>>3)/2e4;break;case 6:a=(a>>3)/16;break;case 7:a=(a>>3)/64;break;}}t[1].v=a;return t}function O(e,r){var t=C(e,r);var a=e._R(4);var n=e._R(4);var i=e._R(2);if(i==65535){if(a===0&&n===3221225472){t[1].t="e";t[1].v=15}else if(a===0&&n===3489660928){t[1].t="e";t[1].v=42}else t[1].v=0;return t}var s=i&32768;i=(i&32767)-16446;t[1].v=(1-s*2)*(n*Math.pow(2,i+32)+a*Math.pow(2,i));return t}function R(e,r,t,a){var n=ua(14);n._W(2,e);n._W(1,t);n._W(1,r);if(a==0){n._W(4,0);n._W(4,0);n._W(2,65535);return n}var i=0,s=0,f=0,o=0;if(a<0){i=1;a=-a}s=Math.log2(a)|0;a/=Math.pow(2,s-31);o=a>>>0;if((o&2147483648)==0){a/=2;++s;o=a>>>0}a-=o;o|=2147483648;o>>>=0;a*=Math.pow(2,32);f=a>>>0;n._W(4,f);n._W(4,o);s+=16383+(i?32768:0);n._W(2,s);return n}function I(e,r){var t=O(e,14);e.l+=r-14;return t}function N(e,r){var t=C(e,r);var a=e._R(4);t[1].v=a>>6;return t}function D(e,r){var t=C(e,r);var a=e._R(8,"f");t[1].v=a;return t}function F(e,r){var t=D(e,14);e.l+=r-10;return t}function P(e,r){return e[e.l+r-1]==0?e._R(r,"cstr"):""}function L(e,r){var t=e[e.l++];if(t>r-1)t=r-1;var a="";while(a.length127?95:n}t[t.l++]=0;return t}var W={0:{n:"BOF",f:es},1:{n:"EOF"},2:{n:"CALCMODE"},3:{n:"CALCORDER"},4:{n:"SPLIT"},5:{n:"SYNC"},6:{n:"RANGE",f:f},7:{n:"WINDOW1"},8:{n:"COLW1"},9:{n:"WINTWO"},10:{n:"COLW2"},11:{n:"NAME"},12:{n:"BLANK"},13:{n:"INTEGER",f:d},14:{n:"NUMBER",f:p},15:{n:"LABEL",f:h},16:{n:"FORMULA",f:b},24:{n:"TABLE"},25:{n:"ORANGE"},26:{n:"PRANGE"},27:{n:"SRANGE"},28:{n:"FRANGE"},29:{n:"KRANGE1"},32:{n:"HRANGE"},35:{n:"KRANGE2"},36:{n:"PROTEC"},37:{n:"FOOTER"},38:{n:"HEADER"},39:{n:"SETUP"},40:{n:"MARGINS"},41:{n:"LABELFMT"},42:{n:"TITLES"},43:{n:"SHEETJS"},45:{n:"GRAPH"},46:{n:"NGRAPH"},47:{n:"CALCCOUNT"},48:{n:"UNFORMATTED"},49:{n:"CURSORW12"},50:{n:"WINDOW"},51:{n:"STRING",f:h},55:{n:"PASSWORD"},56:{n:"LOCKED"},60:{n:"QUERY"},61:{n:"QUERYNAME"},62:{n:"PRINT"},63:{n:"PRINTNAME"},64:{n:"GRAPH2"},65:{n:"GRAPHNAME"},66:{n:"ZOOM"},67:{n:"SYMSPLIT"},68:{n:"NSROWS"},69:{n:"NSCOLS"},70:{n:"RULER"},71:{n:"NNAME"},72:{n:"ACOMM"},73:{n:"AMACRO"},74:{n:"PARSE"},102:{n:"PRANGES??"},103:{n:"RRANGES??"},104:{n:"FNAME??"},105:{n:"MRANGES??"},204:{n:"SHEETNAMECS",f:P},222:{n:"SHEETNAMELP",f:L},65535:{n:""}};var H={0:{n:"BOF"},1:{n:"EOF"},2:{n:"PASSWORD"},3:{n:"CALCSET"},4:{n:"WINDOWSET"},5:{n:"SHEETCELLPTR"},6:{n:"SHEETLAYOUT"},7:{n:"COLUMNWIDTH"},8:{n:"HIDDENCOLUMN"},9:{n:"USERRANGE"},10:{n:"SYSTEMRANGE"},11:{n:"ZEROFORCE"},12:{n:"SORTKEYDIR"},13:{n:"FILESEAL"},14:{n:"DATAFILLNUMS"},15:{n:"PRINTMAIN"},16:{n:"PRINTSTRING"},17:{n:"GRAPHMAIN"},18:{n:"GRAPHSTRING"},19:{n:"??"},20:{n:"ERRCELL"},21:{n:"NACELL"},22:{n:"LABEL16",f:S},23:{n:"NUMBER17",f:O},24:{n:"NUMBER18",f:x},25:{n:"FORMULA19",f:I},26:{n:"FORMULA1A"},27:{n:"XFORMAT",f:U},28:{n:"DTLABELMISC"},29:{n:"DTLABELCELL"},30:{n:"GRAPHWINDOW"},31:{n:"CPA"},32:{n:"LPLAUTO"},33:{n:"QUERY"},34:{n:"HIDDENSHEET"},35:{n:"??"},37:{n:"NUMBER25",f:N},38:{n:"??"},39:{n:"NUMBER27",f:D},40:{n:"FORMULA28",f:F},142:{n:"??"},147:{n:"??"},150:{n:"??"},151:{n:"??"},152:{n:"??"},153:{n:"??"},154:{n:"??"},155:{n:"??"},156:{n:"??"},163:{n:"??"},174:{n:"??"},175:{n:"??"},176:{n:"??"},177:{n:"??"},184:{n:"??"},185:{n:"??"},186:{n:"??"},187:{n:"??"},188:{n:"??"},195:{n:"??"},201:{n:"??"},204:{n:"SHEETNAMECS",f:P},205:{n:"??"},206:{n:"??"},207:{n:"??"},208:{n:"??"},256:{n:"??"},259:{n:"??"},260:{n:"??"},261:{n:"??"},262:{n:"??"},263:{n:"??"},265:{n:"??"},266:{n:"??"},267:{n:"??"},268:{n:"??"},270:{n:"??"},271:{n:"??"},384:{n:"??"},389:{n:"??"},390:{n:"??"},393:{n:"??"},396:{n:"??"},512:{n:"??"},514:{n:"??"},513:{n:"??"},516:{n:"??"},517:{n:"??"},640:{n:"??"},641:{n:"??"},642:{n:"??"},643:{n:"??"},644:{n:"??"},645:{n:"??"},646:{n:"??"},647:{n:"??"},648:{n:"??"},658:{n:"??"},659:{n:"??"},660:{n:"??"},661:{n:"??"},662:{n:"??"},665:{n:"??"},666:{n:"??"},768:{n:"??"},772:{n:"??"},1537:{n:"SHEETINFOQP",f:M},1600:{n:"??"},1602:{n:"??"},1793:{n:"??"},1794:{n:"??"},1795:{n:"??"},1796:{n:"??"},1920:{n:"??"},2048:{n:"??"},2049:{n:"??"},2052:{n:"??"},2688:{n:"??"},10998:{n:"??"},12849:{n:"??"},28233:{n:"??"},28484:{n:"??"},65535:{n:""}};return{sheet_to_wk1:a,book_to_wk3:n,to_workbook:r}}();function Oo(e){var r={},t=e.match(Hr),a=0;var n=false;if(t)for(;a!=t.length;++a){var s=Gr(t[a]);switch(s[0].replace(/\w*:/g,"")){case"":;case"":r.shadow=1;break;case"":break;case"":;case"":r.outline=1;break;case"":break;case"":;case"":r.strike=1;break;case"":break;case"":;case"":r.u=1;break;case"":break;case"":;case"":r.b=1;break;case"":break;case"":;case"":r.i=1;break;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"":break;case"":n=false;break;default:if(s[0].charCodeAt(1)!==47&&!n)throw new Error("Unrecognized rich format "+s[0]);}}return r}var Ro=function(){var e=ht("t"),r=ht("rPr");function t(t){var a=t.match(e);if(!a)return{t:"s",v:""};var n={t:"s",v:Yr(a[1])};var i=t.match(r);if(i)n.s=Oo(i[1]);return n}var a=/<(?:\w+:)?r>/g,n=/<\/(?:\w+:)?r>/;return function i(e){return e.replace(a,"").split(n).map(t).filter(function(e){return e.v})}}();var Io=function hk(){var e=/(\r\n|\n)/g;function r(e,r,t){var a=[];if(e.u)a.push("text-decoration: underline;");if(e.uval)a.push("text-underline-style:"+e.uval+";");if(e.sz)a.push("font-size:"+e.sz+"pt;");if(e.outline)a.push("text-effect: outline;");if(e.shadow)a.push("text-shadow: auto;");r.push('');if(e.b){r.push("");t.push("")}if(e.i){r.push("");t.push("")}if(e.strike){r.push("");t.push("")}var n=e.valign||"";if(n=="superscript"||n=="super")n="sup";else if(n=="subscript")n="sub";if(n!=""){r.push("<"+n+">");t.push("")}t.push("");return e}function t(t){var a=[[],t.v,[]];if(!t.v)return"";if(t.s)r(t.s,a[0],a[2]);return a[0].join("")+a[1].replace(e,"
")+a[2].join("")}return function a(e){return e.map(t).join("")}}();var No=/<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g,Do=/<(?:\w+:)?r>/;var Fo=/<(?:\w+:)?rPh.*?>([\s\S]*?)<\/(?:\w+:)?rPh>/g;function Po(e,r){var t=r?r.cellHTML:true;var a={};if(!e)return{t:""};if(e.match(/^\s*<(?:\w+:)?t[^>]*>/)){a.t=Yr(lt(e.slice(e.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]||""));a.r=lt(e);if(t)a.h=et(a.t)}else if(e.match(Do)){a.r=lt(e);a.t=Yr(lt((e.replace(Fo,"").match(No)||[]).join("").replace(Hr,"")));if(t)a.h=Io(Ro(a.r))}return a}var Lo=/<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/;var Mo=/<(?:\w+:)?(?:si|sstItem)>/g;var Uo=/<\/(?:\w+:)?(?:si|sstItem)>/;function Bo(e,r){var t=[],a="";if(!e)return t;var n=e.match(Lo);if(n){a=n[2].replace(Mo,"").split(Uo);for(var i=0;i!=a.length;++i){var s=Po(a[i].trim(),r);if(s!=null)t[t.length]=s}n=Gr(n[1]);t.Count=n.count;t.Unique=n.uniqueCount}return t}var Wo=/^\s|\s$|[\t\n\r]/;function Ho(e,r){if(!r.bookSST)return"";var t=[Mr];t[t.length]=kt("sst",null,{xmlns:St[0],count:e.Count,uniqueCount:e.Unique});for(var a=0;a!=e.length;++a){if(e[a]==null)continue;var n=e[a];var i="";if(n.r)i+=n.r;else{i+=""}i+="";t[t.length]=i}if(t.length>2){t[t.length]="";t[1]=t[1].replace("/>",">")}return t.join("")}function zo(e){return[e._R(4),e._R(4)]}function Vo(e,r){var t=[];var a=false;da(e,function n(e,i,s){switch(s){case 159:t.Count=e[0];t.Unique=e[1];break;case 19:t.push(e);break;case 160:return true;case 35:a=true;break;case 36:a=false;break;default:if(i.T){}if(!a||r.WTF)throw new Error("Unexpected record 0x"+s.toString(16));}});return t}function Go(e,r){if(!r)r=ua(8);r._W(4,e.Count);r._W(4,e.Unique);return r}var jo=Xa;function Xo(e){var r=va();pa(r,159,Go(e));for(var t=0;t=4)e.l+=r-4;return t}function Ko(e){var r={};r.id=e._R(0,"lpp4");r.R=Yo(e,4);r.U=Yo(e,4);r.W=Yo(e,4);return r}function Jo(e){var r=e._R(4);var t=e.l+r-4;var a={};var n=e._R(4);var i=[];while(n-- >0)i.push({t:e._R(4),v:e._R(0,"lpp4")});a.name=e._R(0,"lpp4");a.comps=i;if(e.l!=t)throw new Error("Bad DataSpaceMapEntry: "+e.l+" != "+t);return a}function qo(e){var r=[];e.l+=4;var t=e._R(4);while(t-- >0)r.push(Jo(e));return r}function Zo(e){var r=[];e.l+=4;var t=e._R(4);while(t-- >0)r.push(e._R(0,"lpp4"));return r}function Qo(e){var r={};e._R(4);e.l+=4;r.id=e._R(0,"lpp4");r.name=e._R(0,"lpp4");r.R=Yo(e,4);r.U=Yo(e,4);r.W=Yo(e,4);return r}function el(e){var r=Qo(e);r.ename=e._R(0,"8lpp4");r.blksz=e._R(4);r.cmode=e._R(4);if(e._R(4)!=4)throw new Error("Bad !Primary record");return r}function rl(e,r){var t=e.l+r;var a={};a.Flags=e._R(4)&63;e.l+=4;a.AlgID=e._R(4);var n=false;switch(a.AlgID){case 26126:;case 26127:;case 26128:n=a.Flags==36;break;case 26625:n=a.Flags==4;break;case 0:n=a.Flags==16||a.Flags==4||a.Flags==36;break;default:throw"Unrecognized encryption algorithm: "+a.AlgID;}if(!n)throw new Error("Encryption Flags/AlgID mismatch");a.AlgIDHash=e._R(4);a.KeySize=e._R(4);a.ProviderType=e._R(4);e.l+=8;a.CSPName=e._R(t-e.l>>1,"utf16le");e.l=t;return a}function tl(e,r){var t={},a=e.l+r;e.l+=4;t.Salt=e.slice(e.l,e.l+16);e.l+=16;t.Verifier=e.slice(e.l,e.l+16);e.l+=16;e._R(4);t.VerifierHash=e.slice(e.l,a);e.l=a;return t}function al(e){var r=Yo(e);switch(r.Minor){case 2:return[r.Minor,nl(e,r)];case 3:return[r.Minor,il(e,r)];case 4:return[r.Minor,sl(e,r)];}throw new Error("ECMA-376 Encrypted file unrecognized Version: "+r.Minor)}function nl(e){var r=e._R(4);if((r&63)!=36)throw new Error("EncryptionInfo mismatch");var t=e._R(4);var a=rl(e,t);var n=tl(e,e.length-e.l);return{t:"Std",h:a,v:n}}function il(){throw new Error("File is password-protected: ECMA-376 Extensible")}function sl(e){var r=["saltSize","blockSize","keyBits","hashSize","cipherAlgorithm","cipherChaining","hashAlgorithm","saltValue"];e.l+=4;var t=e._R(e.length-e.l,"utf8");var a={};t.replace(Hr,function n(e){var t=Gr(e);switch(jr(t[0])){case"":break;case"":;case"":break;case"":break;case"4||a.Major<2)throw new Error("unrecognized major version code: "+a.Major);t.Flags=e._R(4);r-=4;var n=e._R(4);r-=4;t.EncryptionHeader=rl(e,n);r-=n;t.EncryptionVerifier=tl(e,r);return t}function ol(e){var r={};var t=r.EncryptionVersionInfo=Yo(e,4);if(t.Major!=1||t.Minor!=1)throw"unrecognized version code "+t.Major+" : "+t.Minor;r.Salt=e._R(16);r.EncryptedVerifier=e._R(16);r.EncryptedVerifierHash=e._R(16);return r}function ll(e){var r=0,t;var a=$o(e);var n=a.length+1,i,s;var f,o,l;t=E(n);t[0]=a.length;for(i=1;i!=n;++i)t[i]=a[i-1];for(i=n-1;i>=0;--i){s=t[i];f=(r&16384)===0?0:1;o=r<<1&32767;l=f|o;r=l^s}return r^52811}var cl=function(){var e=[187,255,255,186,255,255,185,128,0,190,15,0,191,15,0];var r=[57840,7439,52380,33984,4364,3600,61902,12606,6258,57657,54287,34041,10252,43370,20163];var t=[44796,19929,39858,10053,20106,40212,10761,31585,63170,64933,60267,50935,40399,11199,17763,35526,1453,2906,5812,11624,23248,885,1770,3540,7080,14160,28320,56640,55369,41139,20807,41614,21821,43642,17621,28485,56970,44341,19019,38038,14605,29210,60195,50791,40175,10751,21502,43004,24537,18387,36774,3949,7898,15796,31592,63184,47201,24803,49606,37805,14203,28406,56812,17824,35648,1697,3394,6788,13576,27152,43601,17539,35078,557,1114,2228,4456,30388,60776,51953,34243,7079,14158,28316,14128,28256,56512,43425,17251,34502,7597,13105,26210,52420,35241,883,1766,3532,4129,8258,16516,33032,4657,9314,18628];var a=function(e){return(e/2|e*128)&255};var n=function(e,r){return a(e^r)};var i=function(e){var a=r[e.length-1];var n=104;for(var i=e.length-1;i>=0;--i){var s=e[i];for(var f=0;f!=7;++f){if(s&64)a^=t[n];s*=2;--n}}return a};return function(r){var t=$o(r);var a=i(t);var s=t.length;var f=E(16);for(var o=0;o!=16;++o)f[o]=0;var l,c,h;if((s&1)===1){l=a>>8;f[s]=n(e[0],l);--s;l=a&255;c=t[t.length-1];f[s]=n(c,l)}while(s>0){--s;l=a>>8;f[s]=n(t[s],l);--s;l=a&255;f[s]=n(t[s],l)}s=15;h=15-t.length;while(h>0){l=a>>8;f[s]=n(e[h],l);--s;--h;l=a&255;f[s]=n(t[s],l);--s;--h}return f}}();var hl=function(e,r,t,a,n){if(!n)n=r;if(!a)a=cl(e);var i,s;for(i=0;i!=r.length;++i){s=r[i];s^=a[t];s=(s>>5|s<<3)&255;n[i]=s;++t}return[n,t,a]};var ul=function(e){var r=0,t=cl(e);return function(e){var a=hl("",e,r,t);r=a[1];return a[0]}};function dl(e,r,t,a){var n={key:es(e),verificationBytes:es(e)};if(t.password)n.verifier=ll(t.password);a.valid=n.verificationBytes===n.verifier;if(a.valid)a.insitu=ul(t.password);return n}function vl(e,r,t){var a=t||{};a.Info=e._R(2);e.l-=2;if(a.Info===1)a.Data=ol(e,r);else a.Data=fl(e,r);return a}function pl(e,r,t){var a={Type:t.biff>=8?e._R(2):0};if(a.Type)vl(e,r-2,a);else dl(e,t.biff>=8?r:r-2,t,a);return a}var gl=function(){function e(e,t){switch(t.type){case"base64":return r(k(e),t);case"binary":return r(e,t);case"buffer":return r(T&&Buffer.isBuffer(e)?e.toString("binary"):_(e),t);case"array":return r(mr(e),t);}throw new Error("Unrecognized type "+t.type)}function r(e,r){var t=r||{};var a=t.dense?[]:{};var n=e.match(/\\trowd.*?\\row\b/g);if(!n.length)throw new Error("RTF missing table");var i={s:{c:0,r:0},e:{c:0,r:n.length-1}};n.forEach(function(e,r){if(Array.isArray(a))a[r]=[];var t=/\\\w+\b/g;var n=0;var s;var f=-1;while(s=t.exec(e)){switch(s[0]){case"\\cell":var o=e.slice(n,t.lastIndex-s[0].length);if(o[0]==" ")o=o.slice(1);++f;if(o.length){var l={v:o,t:"s"};if(Array.isArray(a))a[r][f]=l;else a[Ra({r:r,c:f})]=l}break;}n=t.lastIndex}if(f>i.e.c)i.e.c=f});a["!ref"]=Na(i);return a}function t(r,t){return La(e(r,t),t)}function a(e){var r=["{\\rtf1\\ansi"];var t=Da(e["!ref"]),a;var n=Array.isArray(e);for(var i=t.s.r;i<=t.e.r;++i){r.push("\\trowd\\trautofit1");for(var s=t.s.c;s<=t.e.c;++s)r.push("\\cellx"+(s+1));r.push("\\pard\\intbl");for(s=t.s.c;s<=t.e.c;++s){var f=Ra({r:i,c:s});a=n?(e[i]||[])[s]:e[f];if(!a||a.v==null&&(!a.f||a.F))continue;r.push(" "+(a.w||(Pa(a),a.w)));r.push("\\cell")}r.push("\\pard\\intbl\\row")}return r.join("")+"}"}return{to_workbook:t,to_sheet:e,from_sheet:a}}();function ml(e){var r=e.slice(e[0]==="#"?1:0).slice(0,6);return[parseInt(r.slice(0,2),16),parseInt(r.slice(2,4),16),parseInt(r.slice(4,6),16)]}function bl(e){for(var r=0,t=1;r!=3;++r)t=t*256+(e[r]>255?255:e[r]<0?0:e[r]);return t.toString(16).toUpperCase().slice(1)}function wl(e){var r=e[0]/255,t=e[1]/255,a=e[2]/255;var n=Math.max(r,t,a),i=Math.min(r,t,a),s=n-i;if(s===0)return[0,0,r];var f=0,o=0,l=n+i;o=s/(l>1?2-l:l);switch(n){case r:f=((t-a)/s+6)%6;break;case t:f=(a-r)/s+2;break;case a:f=(r-t)/s+4;break;}return[f/6,o,l/2]}function kl(e){var r=e[0],t=e[1],a=e[2];var n=t*2*(a<.5?a:1-a),i=a-n/2;var s=[i,i,i],f=6*r;var o;if(t!==0)switch(f|0){case 0:;case 6:o=n*f;s[0]+=n;s[1]+=o;break;case 1:o=n*(2-f);s[0]+=o;s[1]+=n;break;case 2:o=n*(f-2);s[1]+=n;s[2]+=o;break;case 3:o=n*(4-f);s[1]+=o;s[2]+=n;break;case 4:o=n*(f-4);s[2]+=n;s[0]+=o;break;case 5:o=n*(6-f);s[2]+=o;s[0]+=n;break;}for(var l=0;l!=3;++l)s[l]=Math.round(s[l]*255);return s}function Tl(e,r){if(r===0)return e;var t=wl(ml(e));if(r<0)t[2]=t[2]*(1+r);else t[2]=1-(1-t[2])*(1-r);return bl(kl(t))}var Al=6,El=15,Cl=1,yl=Al;function Sl(e){return Math.floor((e+Math.round(128/yl)/256)*yl)}function _l(e){return Math.floor((e-5)/yl*100+.5)/100}function xl(e){return Math.round((e*yl+5)/yl*256)/256}function Ol(e){return xl(_l(Sl(e)))}function Rl(e){var r=Math.abs(e-Ol(e)),t=yl;if(r>.005)for(yl=Cl;yl":;case"":break;case"":;case"":n={};if(t.diagonalUp)n.diagonalUp=nt(t.diagonalUp);if(t.diagonalDown)n.diagonalDown=nt(t.diagonalDown);r.Borders.push(n);break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":break;case"":;case"":break;case"":;case"":break;case"":i=false;break;default:if(a&&a.WTF){if(!i)throw new Error("unrecognized "+t[0]+" in borders")};}})}function Ul(e,r,t,a){r.Fills=[];var n={};var i=false;(e[0].match(Hr)||[]).forEach(function(e){var t=Gr(e);switch(jr(t[0])){case"":;case"":break;case"":;case"":n={};r.Fills.push(n);break;case"":break;case"":break;case"":r.Fills.push(n);n={};break;case"":if(t.patternType)n.patternType=t.patternType;break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":break;case"":break;case"":break;case"":break;case"":;case"":break;case"":i=false;break;default:if(a&&a.WTF){if(!i)throw new Error("unrecognized "+t[0]+" in fills")};}})}function Bl(e,r,t,a){r.Fonts=[];var n={};var s=false;(e[0].match(Hr)||[]).forEach(function(e){var f=Gr(e);switch(jr(f[0])){case"":;case"":break;case"":break;case"":;case"":r.Fonts.push(n);n={};break;case"":;case"":break;case"":n.bold=1;break;case"":n.italic=1;break;case"":n.underline=1;break;case"":n.strike=1;break;case"":n.outline=1;break;case"":n.shadow=1;break;case"":n.condense=1;break;case"":n.extend=1;break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":s=false;break;case"":;case"":break;case"":s=false;break;default:if(a&&a.WTF){if(!s)throw new Error("unrecognized "+f[0]+" in fonts")};}})}function Wl(e,r,t){r.NumberFmt=[];var a=rr(X);for(var n=0;n":;case"":;case"":break;case"0){if(o>392){for(o=392;o>60;--o)if(r.NumberFmt[o]==null)break;r.NumberFmt[o]=f}We(f,o)}}break;case"":break;default:if(t.WTF)throw new Error("unrecognized "+s[0]+" in numFmts");}}}function Hl(e){var r=[""];[[5,8],[23,26],[41,44],[50,392]].forEach(function(t){for(var a=t[0];a<=t[1];++a)if(e[a]!=null)r[r.length]=kt("numFmt",null,{numFmtId:a,formatCode:qr(e[a])})});if(r.length===1)return"";r[r.length]="";r[0]=kt("numFmts",null,{count:r.length-2}).replace("/>",">");return r.join("")}var zl=["numFmtId","fillId","fontId","borderId","xfId"];var Vl=["applyAlignment","applyBorder","applyFill","applyFont","applyNumberFormat","applyProtection","pivotButton","quotePrefix"];function Gl(e,r,t){r.CellXf=[];var a;var n=false;(e[0].match(Hr)||[]).forEach(function(e){var i=Gr(e),s=0;switch(jr(i[0])){case"":;case"":;case"":break;case"":a=i;delete a[0];for(s=0;s392){for(s=392;s>60;--s)if(r.NumberFmt[a.numFmtId]==r.NumberFmt[s]){a.numFmtId=s;break}}r.CellXf.push(a);break;case"":break;case"":var f={};if(i.vertical)f.vertical=i.vertical;if(i.horizontal)f.horizontal=i.horizontal;if(i.textRotation!=null)f.textRotation=i.textRotation;if(i.indent)f.indent=i.indent;if(i.wrapText)f.wrapText=nt(i.wrapText);a.alignment=f;break;case"":break;case"":;case"":break;case"":n=false;break;case"":;case"":break;case"":n=false;break;default:if(t&&t.WTF){if(!n)throw new Error("unrecognized "+i[0]+" in cellXfs")};}})}function jl(e){var r=[];r[r.length]=kt("cellXfs",null);e.forEach(function(e){r[r.length]=kt("xf",null,e)});r[r.length]="";if(r.length===2)return"";r[0]=kt("cellXfs",null,{count:r.length-2}).replace("/>",">");return r.join("")}var Xl=function uk(){var e=/<(?:\w+:)?numFmts([^>]*)>[\S\s]*?<\/(?:\w+:)?numFmts>/;var r=/<(?:\w+:)?cellXfs([^>]*)>[\S\s]*?<\/(?:\w+:)?cellXfs>/;var t=/<(?:\w+:)?fills([^>]*)>[\S\s]*?<\/(?:\w+:)?fills>/;var a=/<(?:\w+:)?fonts([^>]*)>[\S\s]*?<\/(?:\w+:)?fonts>/;var n=/<(?:\w+:)?borders([^>]*)>[\S\s]*?<\/(?:\w+:)?borders>/;return function i(s,f,o){var l={};if(!s)return l;s=s.replace(//gm,"").replace(//gm,"");var c;if(c=s.match(e))Wl(c,l,o);if(c=s.match(a))Bl(c,l,f,o);if(c=s.match(t))Ul(c,l,f,o);if(c=s.match(n))Ml(c,l,f,o);if(c=s.match(r))Gl(c,l,o);return l}}();function $l(e,r){var t=[Mr,kt("styleSheet",null,{xmlns:St[0],"xmlns:vt":yt.vt})],a;if(e.SSF&&(a=Hl(e.SSF))!=null)t[t.length]=a;t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';if(a=jl(r.cellXfs))t[t.length]=a;t[t.length]='';t[t.length]='';t[t.length]='';if(t.length>2){t[t.length]="";t[1]=t[1].replace("/>",">")}return t.join("")}function Yl(e,r){var t=e._R(2);var a=Ha(e,r-2);return[t,a]}function Kl(e,r,t){if(!t)t=ua(6+4*r.length);t._W(2,e);za(r,t);var a=t.length>t.l?t.slice(0,t.l):t;if(t.l==null)t.l=t.length;return a}function Jl(e,r,t){var a={};a.sz=e._R(2)/20;var n=mn(e,2,t);if(n.fItalic)a.italic=1;if(n.fCondense)a.condense=1;if(n.fExtend)a.extend=1;if(n.fShadow)a.shadow=1;if(n.fOutline)a.outline=1;if(n.fStrikeout)a.strike=1;var i=e._R(2);if(i===700)a.bold=1;switch(e._R(2)){case 1:a.vertAlign="superscript";break;case 2:a.vertAlign="subscript";break;}var s=e._R(1);if(s!=0)a.underline=s;var f=e._R(1);if(f>0)a.family=f;var o=e._R(1);if(o>0)a.charset=o;e.l++;a.color=pn(e,8);switch(e._R(1)){case 1:a.scheme="major";break;case 2:a.scheme="minor";break;}a.name=Ha(e,r-21);return a}function ql(e,r){if(!r)r=ua(25+4*32);r._W(2,e.sz*20);bn(e,r);r._W(2,e.bold?700:400);var t=0;if(e.vertAlign=="superscript")t=1;else if(e.vertAlign=="subscript")t=2;r._W(2,t);r._W(1,e.underline||0);r._W(1,e.family||0);r._W(1,e.charset||0);r._W(1,0);gn(e.color,r);var a=0;if(e.scheme=="major")a=1;if(e.scheme=="minor")a=2;r._W(1,a);za(e.name,r);return r.length>r.l?r.slice(0,r.l):r}var Zl=["none","solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];var Ql;var ec=ha;function rc(e,r){if(!r)r=ua(4*3+8*7+16*1);if(!Ql)Ql=ar(Zl);var t=Ql[e.patternType];if(t==null)t=40;r._W(4,t);var a=0;if(t!=40){gn({auto:1},r);gn({auto:1},r);for(;a<12;++a)r._W(4,0)}else{for(;a<4;++a)r._W(4,0);for(;a<12;++a)r._W(4,0)}return r.length>r.l?r.slice(0,r.l):r}function tc(e,r){var t=e.l+r;var a=e._R(2);var n=e._R(2);e.l=t;return{ixfe:a,numFmtId:n}}function ac(e,r,t){if(!t)t=ua(16);t._W(2,r||0);t._W(2,e.numFmtId||0);t._W(2,0);t._W(2,0);t._W(2,0);t._W(1,0);t._W(1,0);var a=0;t._W(1,a);t._W(1,0);t._W(1,0);t._W(1,0);return t}function nc(e,r){if(!r)r=ua(10);r._W(1,0);r._W(1,0);r._W(4,0);r._W(4,0);return r}var ic=ha;function sc(e,r){if(!r)r=ua(51);r._W(1,0);nc(null,r);nc(null,r);nc(null,r);nc(null,r);nc(null,r);return r.length>r.l?r.slice(0,r.l):r}function fc(e,r){if(!r)r=ua(12+4*10);r._W(4,e.xfId);r._W(2,1);r._W(1,+e.builtinId);r._W(1,0);tn(e.name||"",r);return r.length>r.l?r.slice(0,r.l):r}function oc(e,r,t){var a=ua(4+256*2*4);a._W(4,e);tn(r,a);tn(t,a);return a.length>a.l?a.slice(0,a.l):a}function lc(e,r,t){var a={};a.NumberFmt=[];for(var n in X)a.NumberFmt[n]=X[n];a.CellXf=[];a.Fonts=[];var i=[];var s=false;da(e,function f(e,n,o){switch(o){case 44:a.NumberFmt[e[0]]=e[1];We(e[1],e[0]);break;case 43:a.Fonts.push(e);if(e.color.theme!=null&&r&&r.themeElements&&r.themeElements.clrScheme){e.color.rgb=Tl(r.themeElements.clrScheme[e.color.theme].rgb,e.color.tint||0)}break;case 1025:break;case 45:break;case 46:break;case 47:if(i[i.length-1]==617){a.CellXf.push(e)}break;case 48:;case 507:;case 572:;case 475:break;case 1171:;case 2102:;case 1130:;case 512:;case 2095:;case 3072:break;case 35:s=true;break;case 36:s=false;break;case 37:i.push(o);s=true;break;case 38:i.pop();s=false;break;default:if(n.T>0)i.push(o);else if(n.T<0)i.pop();else if(!s||t.WTF&&i[i.length-1]!=37)throw new Error("Unexpected record 0x"+o.toString(16));}});return a}function cc(e,r){if(!r)return;var t=0;[[5,8],[23,26],[41,44],[50,392]].forEach(function(e){for(var a=e[0];a<=e[1];++a)if(r[a]!=null)++t});if(t==0)return;pa(e,615,Wa(t));[[5,8],[23,26],[41,44],[50,392]].forEach(function(t){for(var a=t[0];a<=t[1];++a)if(r[a]!=null)pa(e,44,Kl(a,r[a]))});pa(e,616)}function hc(e){var r=1;if(r==0)return;pa(e,611,Wa(r));pa(e,43,ql({sz:12,color:{theme:1},name:"Calibri",family:2,scheme:"minor"}));pa(e,612)}function uc(e){var r=2;if(r==0)return;pa(e,603,Wa(r));pa(e,45,rc({patternType:"none"}));pa(e,45,rc({patternType:"gray125"}));pa(e,604)}function dc(e){var r=1;if(r==0)return;pa(e,613,Wa(r));pa(e,46,sc({}));pa(e,614)}function vc(e){var r=1;pa(e,626,Wa(r));pa(e,47,ac({numFmtId:0,fontId:0,fillId:0,borderId:0},65535));pa(e,627)}function pc(e,r){pa(e,617,Wa(r.length));r.forEach(function(r){pa(e,47,ac(r,0))});pa(e,618)}function gc(e){var r=1;pa(e,619,Wa(r));pa(e,48,fc({xfId:0,builtinId:0,name:"Normal"}));pa(e,620)}function mc(e){var r=0;pa(e,505,Wa(r));pa(e,506)}function bc(e){var r=0;pa(e,508,oc(r,"TableStyleMedium9","PivotStyleMedium4"));pa(e,509)}function wc(){return}function kc(e,r){var t=va();pa(t,278);cc(t,e.SSF);hc(t,e);uc(t,e);dc(t,e);vc(t,e);pc(t,r.cellXfs);gc(t,e);mc(t,e);bc(t,e);wc(t,e);pa(t,279);return t.end()}var Tc=["","","","","","","","","","","",""];function Ac(e,r,t){r.themeElements.clrScheme=[];var a={};(e[0].match(Hr)||[]).forEach(function(e){var n=Gr(e);switch(n[0]){case"":break;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":if(n[0].charAt(1)==="/"){r.themeElements.clrScheme[Tc.indexOf(n[0])]=a;a={}}else{a.name=n[0].slice(3,n[0].length-1)}break;default:if(t&&t.WTF)throw new Error("Unrecognized "+n[0]+" in clrScheme");}})}function Ec(){}function Cc(){}var yc=/]*)>[\s\S]*<\/a:clrScheme>/;var Sc=/]*)>[\s\S]*<\/a:fontScheme>/;var _c=/]*)>[\s\S]*<\/a:fmtScheme>/;function xc(e,r,t){r.themeElements={};var a;[["clrScheme",yc,Ac],["fontScheme",Sc,Ec],["fmtScheme",_c,Cc]].forEach(function(n){if(!(a=e.match(n[1])))throw new Error(n[0]+" not found in themeElements");n[2](a,r,t)})}var Oc=/]*)>[\s\S]*<\/a:themeElements>/;function Rc(e,r){if(!e||e.length===0)e=Ic();var t;var a={};if(!(t=e.match(Oc)))throw new Error("themeElements not found in theme");xc(t[0],a,r);a.raw=e;return a}function Ic(e,r){if(r&&r.themeXLSX)return r.themeXLSX;if(e&&typeof e.raw=="string")return e.raw;var t=[Mr];t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]=''; +t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";return t.join("")}function Nc(e,r,t){var a=e.l+r;var n=e._R(4);if(n===124226)return;if(!t.cellStyles){e.l=a;return}var i=e.slice(e.l);e.l=a;var s;try{s=Pr(i,{type:"array"})}catch(f){return}var o=Rr(s,"theme/theme/theme1.xml",true);if(!o)return;return Rc(o,t)}function Dc(e){return e._R(4)}function Fc(e){var r={};r.xclrType=e._R(2);r.nTintShade=e._R(2);switch(r.xclrType){case 0:e.l+=4;break;case 1:r.xclrValue=Pc(e,4);break;case 2:r.xclrValue=ks(e,4);break;case 3:r.xclrValue=Dc(e,4);break;case 4:e.l+=4;break;}e.l+=8;return r}function Pc(e,r){return ha(e,r)}function Lc(e,r){return ha(e,r)}function Mc(e){var r=e._R(2);var t=e._R(2)-4;var a=[r];switch(r){case 4:;case 5:;case 7:;case 8:;case 9:;case 10:;case 11:;case 13:a[1]=Fc(e,t);break;case 6:a[1]=Lc(e,t);break;case 14:;case 15:a[1]=e._R(t===1?1:2);break;default:throw new Error("Unrecognized ExtProp type: "+r+" "+t);}return a}function Uc(e,r){var t=e.l+r;e.l+=2;var a=e._R(2);e.l+=2;var n=e._R(2);var i=[];while(n-- >0)i.push(Mc(e,t-e.l));return{ixfe:a,ext:i}}function Bc(e,r){r.forEach(function(e){switch(e[0]){case 4:break;case 5:break;case 6:break;case 7:break;case 8:break;case 9:break;case 10:break;case 11:break;case 13:break;case 14:break;case 15:break;}})}function Wc(e,r){return{flags:e._R(4),version:e._R(4),name:Ha(e,r-8)}}function Hc(e){var r=ua(12+2*e.name.length);r._W(4,e.flags);r._W(4,e.version);za(e.name,r);return r.slice(0,r.l)}function zc(e){var r=[];var t=e._R(4);while(t-- >0)r.push([e._R(4),e._R(4)]);return r}function Vc(e){var r=ua(4+8*e.length);r._W(4,e.length);for(var t=0;t":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":i=2;break;case"":i=2;break;case"":;case"":;case"":break;case"":n=false;break;case"\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n');return e.join("")}function qc(e){var r=[];if(!e)return r;var t=1;(e.match(Hr)||[]).forEach(function(e){var a=Gr(e);switch(a[0]){case"":;case"":break;case"]*r:id="([^"]*)"/)||["",""])[1];return r["!id"][t].Target}var ah=1024;function nh(e,r){var t=[21600,21600];var a=["m0,0l0",t[1],t[0],t[1],t[0],"0xe"].join(",");var n=[kt("xml",null,{"xmlns:v":_t.v,"xmlns:o":_t.o,"xmlns:x":_t.x,"xmlns:mv":_t.mv}).replace(/\/>/,">"),kt("o:shapelayout",kt("o:idmap",null,{"v:ext":"edit",data:e}),{"v:ext":"edit"}),kt("v:shapetype",[kt("v:stroke",null,{joinstyle:"miter"}),kt("v:path",null,{gradientshapeok:"t","o:connecttype":"rect"})].join(""),{id:"_x0000_t202","o:spt":202,coordsize:t.join(","),path:a})];while(ah",i,kt("v:shadow",null,s),kt("v:path",null,{"o:connecttype":"none"}),'
','',"","",bt("x:Anchor",[r.c+1,0,r.r+1,0,r.c+3,20,r.r+5,20].join(",")),bt("x:AutoFill","False"),bt("x:Row",String(r.r)),bt("x:Column",String(r.c)),e[1].hidden?"":"","",""])});n.push("");return n.join("")}function ih(e,r,t,a){var n=Array.isArray(e);var i;r.forEach(function(r){var s=Oa(r.ref);if(n){if(!e[s.r])e[s.r]=[];i=e[s.r][s.c]}else i=e[r.ref];if(!i){i={t:"z"};if(n)e[s.r][s.c]=i;else e[r.ref]=i;var f=Da(e["!ref"]||"BDWGO1000001:A1");if(f.s.r>s.r)f.s.r=s.r;if(f.e.rs.c)f.s.c=s.c;if(f.e.c=0;--c){if(!t&&i.c[c].T)return;if(t&&!i.c[c].T)i.c.splice(c,1)}if(t&&a)for(c=0;c/))return[];var t=[];var a=[];var n=e.match(/<(?:\w+:)?authors>([\s\S]*)<\/(?:\w+:)?authors>/);if(n&&n[1])n[1].split(/<\/\w*:?author>/).forEach(function(e){if(e===""||e.trim()==="")return;var r=e.match(/<(?:\w+:)?author[^>]*>(.*)/);if(r)t.push(r[1])});var i=e.match(/<(?:\w+:)?commentList>([\s\S]*)<\/(?:\w+:)?commentList>/);if(i&&i[1])i[1].split(/<\/\w*:?comment>/).forEach(function(e){if(e===""||e.trim()==="")return;var n=e.match(/<(?:\w+:)?comment[^>]*>/);if(!n)return;var i=Gr(n[0]);var s={author:i.authorId&&t[i.authorId]||"sheetjsghost",ref:i.ref,guid:i.guid};var f=Oa(i.ref);if(r.sheetRows&&r.sheetRows<=f.r)return;var o=e.match(/<(?:\w+:)?text>([\s\S]*)<\/(?:\w+:)?text>/);var l=!!o&&!!o[1]&&Po(o[1])||{r:"",t:"",h:""};s.r=l.r;if(l.r=="")l.t=l.h="";s.t=(l.t||"").replace(/\r\n/g,"\n").replace(/\r/g,"\n");if(r.cellHTML)s.h=l.h;a.push(s)});return a}function fh(e){var r=[Mr,kt("comments",null,{xmlns:St[0]})];var t=[];r.push("");e.forEach(function(e){e[1].forEach(function(e){var a=qr(e.a);if(t.indexOf(a)==-1){t.push(a);r.push(""+a+"")}if(e.T&&e.ID&&t.indexOf("tc="+e.ID)==-1){t.push("tc="+e.ID);r.push(""+"tc="+e.ID+"")}})});if(t.length==0){t.push("SheetJ5");r.push("SheetJ5")}r.push("");r.push("");e.forEach(function(e){var a=0,n=[];if(e[1][0]&&e[1][0].T&&e[1][0].ID)a=t.indexOf("tc="+e[1][0].ID);else e[1].forEach(function(e){if(e.a)a=t.indexOf(qr(e.a));n.push(e.t||"")});r.push('');if(n.length<=1)r.push(bt("t",qr(n[0]||"")));else{var i="Comment:\n "+n[0]+"\n";for(var s=1;s")});r.push("");if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function oh(e,r){var t=[];var a=false,n={},i=0;e.replace(Hr,function s(f,o){var l=Gr(f);switch(jr(l[0])){case"":break;case"":if(n.t!=null)t.push(n);break;case"":;case"":n.t=e.slice(i,o).replace(/\r\n/g,"\n").replace(/\r/g,"\n");break;case"":a=true;break;case"":a=false;break;case"":;case"
":;case"":break;case"":a=false;break;default:if(!a&&r.WTF)throw new Error("unrecognized "+l[0]+" in threaded comments");}return f});return t}function lh(e,r,t){var a=[Mr,kt("ThreadedComments",null,{xmlns:yt.TCMNT}).replace(/[\/]>/,">")];e.forEach(function(e){var n="";(e[1]||[]).forEach(function(i,s){if(!i.T){delete i.ID;return}if(i.a&&r.indexOf(i.a)==-1)r.push(i.a);var f={ref:e[0],id:"{54EE7951-7262-4200-6969-"+("000000000000"+t.tcid++).slice(-12)+"}"};if(s==0)n=f.id;else f.parentId=n;i.ID=f.id;if(i.a)f.personId="{54EE7950-7262-4200-6969-"+("000000000000"+r.indexOf(i.a)).slice(-12)+"}";a.push(kt("threadedComment",bt("text",i.t||""),f))})});a.push("");return a.join("")}function ch(e,r){var t=[];var a=false;e.replace(Hr,function n(e){var n=Gr(e);switch(jr(n[0])){case"":break;case"":break;case"":;case"":;case"":break;case"":a=false;break;default:if(!a&&r.WTF)throw new Error("unrecognized "+n[0]+" in threaded comments");}return e});return t}function hh(e){var r=[Mr,kt("personList",null,{xmlns:yt.TCMNT,"xmlns:x":St[0]}).replace(/[\/]>/,">")];e.forEach(function(e,t){r.push(kt("person",null,{displayName:e,id:"{54EE7950-7262-4200-6969-"+("000000000000"+t).slice(-12)+"}",userId:e,providerId:"None"}))});r.push("");return r.join("")}function uh(e){var r={};r.iauthor=e._R(4);var t=hn(e,16);r.rfx=t.s;r.ref=Ra(t.s);e.l+=16;return r}function dh(e,r){if(r==null)r=ua(36);r._W(4,e[1].iauthor);un(e[0],r);r._W(4,0);r._W(4,0);r._W(4,0);r._W(4,0);return r}var vh=Ha;function ph(e){return za(e.slice(0,54))}function gh(e,r){var t=[];var a=[];var n={};var i=false;da(e,function s(e,f,o){switch(o){case 632:a.push(e);break;case 635:n=e;break;case 637:n.t=e.t;n.h=e.h;n.r=e.r;break;case 636:n.author=a[n.iauthor];delete n.iauthor;if(r.sheetRows&&n.rfx&&r.sheetRows<=n.rfx.r)break;if(!n.t)n.t="";delete n.rfx;t.push(n);break;case 3072:break;case 35:i=true;break;case 36:i=false;break;case 37:break;case 38:break;default:if(f.T){}else if(!i||r.WTF)throw new Error("Unexpected record 0x"+o.toString(16));}});return t}function mh(e){var r=va();var t=[];pa(r,628);pa(r,630);e.forEach(function(e){e[1].forEach(function(e){if(t.indexOf(e.a)>-1)return;t.push(e.a.slice(0,54));pa(r,632,ph(e.a))})});pa(r,631);pa(r,633);e.forEach(function(e){e[1].forEach(function(a){a.iauthor=t.indexOf(a.a);var n={s:Oa(e[0]),e:Oa(e[0])};pa(r,635,dh([n,a]));if(a.t&&a.t.length>0)pa(r,637,Ya(a));pa(r,636);delete a.iauthor})});pa(r,634);pa(r,629);return r.end()}var bh="application/vnd.ms-office.vbaProject";function wh(e){var r=Ke.utils.cfb_new({root:"R"});e.FullPaths.forEach(function(t,a){if(t.slice(-1)==="/"||!t.match(/_VBA_PROJECT_CUR/))return;var n=t.replace(/^[^\/]*/,"R").replace(/\/_VBA_PROJECT_CUR\u0000*/,"");Ke.utils.cfb_add(r,n,e.FileIndex[a].content)});return Ke.write(r)}function kh(e,r){r.FullPaths.forEach(function(t,a){if(a==0)return;var n=t.replace(/[^\/]*[\/]/,"/_VBA_PROJECT_CUR/");if(n.slice(-1)!=="/")Ke.utils.cfb_add(e,n,r.FileIndex[a].content)})}var Th=["xlsb","xlsm","xlam","biff8","xla"];function Ah(){return{"!type":"dialog"}}function Eh(){return{"!type":"dialog"}}function Ch(){return{"!type":"macro"}}function yh(){return{"!type":"macro"}}var Sh=function(){var e=/(^|[^A-Za-z_])R(\[?-?\d+\]|[1-9]\d*|)C(\[?-?\d+\]|[1-9]\d*|)(?![A-Za-z0-9_])/g;var r={r:0,c:0};function t(e,t,a,n){var i=false,s=false;if(a.length==0)s=true;else if(a.charAt(0)=="["){s=true;a=a.slice(1,-1)}if(n.length==0)i=true;else if(n.charAt(0)=="["){i=true;n=n.slice(1,-1)}var f=a.length>0?parseInt(a,10)|0:0,o=n.length>0?parseInt(n,10)|0:0;if(i)o+=r.c;else--o;if(s)f+=r.r;else--f;return t+(i?"":"$")+ya(o)+(s?"":"$")+Ta(f)}return function a(n,i){r=i;return n.replace(e,t)}}();var _h=/(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)(10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6]|[1-9]\d{0,5})(?![_.\(A-Za-z0-9])/g;var xh=function(){return function e(r,t){return r.replace(_h,function(e,r,a,n,i,s){var f=Ca(n)-(a?0:t.c);var o=ka(s)-(i?0:t.r);var l=o==0?"":!i?"["+o+"]":o+1;var c=f==0?"":!a?"["+f+"]":f+1;return r+"R"+l+"C"+c})}}();function Oh(e,r){return e.replace(_h,function(e,t,a,n,i,s){return t+(a=="$"?a+n:ya(Ca(n)+r.c))+(i=="$"?i+s:Ta(ka(s)+r.r))})}function Rh(e,r,t){var a=Ia(r),n=a.s,i=Oa(t);var s={r:i.r-n.r,c:i.c-n.c};return Oh(e,s)}function Ih(e){if(e.length==1)return false;return true}function Nh(e){return e.replace(/_xlfn\./g,"")}function Dh(e){e.l+=1;return}function Fh(e,r){var t=e._R(r==1?1:2);return[t&16383,t>>14&1,t>>15&1]}function Ph(e,r,t){var a=2;if(t){if(t.biff>=2&&t.biff<=5)return Lh(e,r,t);else if(t.biff==12)a=4}var n=e._R(a),i=e._R(a);var s=Fh(e,2);var f=Fh(e,2);return{s:{r:n,c:s[0],cRel:s[1],rRel:s[2]},e:{r:i,c:f[0],cRel:f[1],rRel:f[2]}}}function Lh(e){var r=Fh(e,2),t=Fh(e,2);var a=e._R(1);var n=e._R(1);return{s:{r:r[0],c:a,cRel:r[1],rRel:r[2]},e:{r:t[0],c:n,cRel:t[1],rRel:t[2]}}}function Mh(e,r,t){if(t.biff<8)return Lh(e,r,t);var a=e._R(t.biff==12?4:2),n=e._R(t.biff==12?4:2);var i=Fh(e,2);var s=Fh(e,2);return{s:{r:a,c:i[0],cRel:i[1],rRel:i[2]},e:{r:n,c:s[0],cRel:s[1],rRel:s[2]}}}function Uh(e,r,t){if(t&&t.biff>=2&&t.biff<=5)return Bh(e,r,t);var a=e._R(t&&t.biff==12?4:2);var n=Fh(e,2);return{r:a,c:n[0],cRel:n[1],rRel:n[2]}}function Bh(e){var r=Fh(e,2);var t=e._R(1);return{r:r[0],c:t,cRel:r[1],rRel:r[2]}}function Wh(e){var r=e._R(2);var t=e._R(2);return{r:r,c:t&255,fQuoted:!!(t&16384),cRel:t>>15,rRel:t>>15}}function Hh(e,r,t){var a=t&&t.biff?t.biff:8;if(a>=2&&a<=5)return zh(e,r,t);var n=e._R(a>=12?4:2);var i=e._R(2);var s=(i&16384)>>14,f=(i&32768)>>15;i&=16383;if(f==1)while(n>524287)n-=1048576;if(s==1)while(i>8191)i=i-16384;return{r:n,c:i,cRel:s,rRel:f}}function zh(e){var r=e._R(2);var t=e._R(1);var a=(r&32768)>>15,n=(r&16384)>>14;r&=16383;if(a==1&&r>=8192)r=r-16384;if(n==1&&t>=128)t=t-256;return{r:r,c:t,cRel:n,rRel:a}}function Vh(e,r,t){var a=(e[e.l++]&96)>>5;var n=Ph(e,t.biff>=2&&t.biff<=5?6:8,t);return[a,n]}function Gh(e,r,t){var a=(e[e.l++]&96)>>5;var n=e._R(2,"i");var i=8;if(t)switch(t.biff){case 5:e.l+=12;i=6;break;case 12:i=12;break;}var s=Ph(e,i,t);return[a,n,s]}function jh(e,r,t){var a=(e[e.l++]&96)>>5;e.l+=t&&t.biff>8?12:t.biff<8?6:8;return[a]}function Xh(e,r,t){var a=(e[e.l++]&96)>>5;var n=e._R(2);var i=8;if(t)switch(t.biff){case 5:e.l+=12;i=6;break;case 12:i=12;break;}e.l+=i;return[a,n]}function $h(e,r,t){var a=(e[e.l++]&96)>>5;var n=Mh(e,r-1,t);return[a,n]}function Yh(e,r,t){var a=(e[e.l++]&96)>>5;e.l+=t.biff==2?6:t.biff==12?14:7;return[a]}function Kh(e){var r=e[e.l+1]&1;var t=1;e.l+=4;return[r,t]}function Jh(e,r,t){e.l+=2;var a=e._R(t&&t.biff==2?1:2);var n=[];for(var i=0;i<=a;++i)n.push(e._R(t&&t.biff==2?1:2));return n}function qh(e,r,t){var a=e[e.l+1]&255?1:0;e.l+=2;return[a,e._R(t&&t.biff==2?1:2)]}function Zh(e,r,t){var a=e[e.l+1]&255?1:0;e.l+=2;return[a,e._R(t&&t.biff==2?1:2)]}function Qh(e){var r=e[e.l+1]&255?1:0;e.l+=2;return[r,e._R(2)]}function eu(e,r,t){var a=e[e.l+1]&255?1:0;e.l+=t&&t.biff==2?3:4;return[a]}function ru(e){var r=e._R(1),t=e._R(1);return[r,t]}function tu(e){e._R(2);return ru(e,2)}function au(e){e._R(2);return ru(e,2)}function nu(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=Uh(e,0,t);return[a,n]}function iu(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=Hh(e,0,t);return[a,n]}function su(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=e._R(2);if(t&&t.biff==5)e.l+=12;var i=Uh(e,0,t);return[a,n,i]}function fu(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=e._R(t&&t.biff<=3?1:2);return[Ed[n],Ad[n],a]}function ou(e,r,t){var a=e[e.l++];var n=e._R(1),i=t&&t.biff<=3?[a==88?-1:0,e._R(1)]:lu(e);return[n,(i[0]===0?Ad:Td)[i[1]]]}function lu(e){return[e[e.l+1]>>7,e._R(2)&32767]}function cu(e,r,t){e.l+=t&&t.biff==2?3:4;return}function hu(e,r,t){e.l++;if(t&&t.biff==12)return[e._R(4,"i"),0];var a=e._R(2);var n=e._R(t&&t.biff==2?1:2);return[a,n]}function uu(e){e.l++;return Gn[e._R(1)]}function du(e){e.l++;return e._R(2)}function vu(e){e.l++;return e._R(1)!==0}function pu(e){e.l++;return dn(e,8)}function gu(e,r,t){e.l++;return is(e,r-1,t)}function mu(e,r){var t=[e._R(1)];if(r==12)switch(t[0]){case 2:t[0]=4;break;case 4:t[0]=16;break;case 0:t[0]=1;break;case 1:t[0]=2;break;}switch(t[0]){case 4:t[1]=Zi(e,1)?"TRUE":"FALSE";if(r!=12)e.l+=7;break;case 37:;case 16:t[1]=Gn[e[e.l]];e.l+=r==12?4:8;break;case 0:e.l+=8;break;case 1:t[1]=dn(e,8);break;case 2:t[1]=cs(e,0,{biff:r>0&&r<8?2:r});break;default:throw new Error("Bad SerAr: "+t[0]);}return t}function bu(e,r,t){var a=e._R(t.biff==12?4:2);var n=[];for(var i=0;i!=a;++i)n.push((t.biff==12?hn:Os)(e,8));return n}function wu(e,r,t){var a=0,n=0;if(t.biff==12){a=e._R(4);n=e._R(4)}else{n=1+e._R(1);a=1+e._R(2)}if(t.biff>=2&&t.biff<8){--a;if(--n==0)n=256}for(var i=0,s=[];i!=a&&(s[i]=[]);++i)for(var f=0;f!=n;++f)s[i][f]=mu(e,t.biff);return s}function ku(e,r,t){var a=e._R(1)>>>5&3;var n=!t||t.biff>=8?4:2;var i=e._R(n);switch(t.biff){case 2:e.l+=5;break;case 3:;case 4:e.l+=8;break;case 5:e.l+=12;break;}return[a,0,i]}function Tu(e,r,t){if(t.biff==5)return Au(e,r,t);var a=e._R(1)>>>5&3;var n=e._R(2);var i=e._R(4);return[a,n,i]}function Au(e){var r=e._R(1)>>>5&3;var t=e._R(2,"i");e.l+=8;var a=e._R(2);e.l+=12;return[r,t,a]}function Eu(e,r,t){var a=e._R(1)>>>5&3;e.l+=t&&t.biff==2?3:4;var n=e._R(t&&t.biff==2?1:2);return[a,n]}function Cu(e,r,t){var a=e._R(1)>>>5&3;var n=e._R(t&&t.biff==2?1:2);return[a,n]}function yu(e,r,t){var a=e._R(1)>>>5&3;e.l+=4;if(t.biff<8)e.l--;if(t.biff==12)e.l+=2;return[a]}function Su(e,r,t){var a=(e[e.l++]&96)>>5;var n=e._R(2);var i=4;if(t)switch(t.biff){case 5:i=15;break;case 12:i=6;break;}e.l+=i;return[a,n]}var _u=ha;var xu=ha;var Ou=ha;function Ru(e,r,t){e.l+=2;return[Wh(e,4,t)]}function Iu(e){e.l+=6;return[]}var Nu=Ru;var Du=Iu;var Fu=Iu;var Pu=Ru;function Lu(e){e.l+=2;return[es(e),e._R(2)&1]}var Mu=Ru;var Uu=Lu;var Bu=Iu;var Wu=Ru;var Hu=Ru;var zu=["Data","All","Headers","??","?Data2","??","?DataHeaders","??","Totals","??","??","??","?DataTotals","??","??","??","?Current"];function Vu(e){e.l+=2;var r=e._R(2);var t=e._R(2);var a=e._R(4);var n=e._R(2);var i=e._R(2);var s=zu[t>>2&31];return{ixti:r,coltype:t&3,rt:s,idx:a,c:n,C:i}}function Gu(e){e.l+=2;return[e._R(4)]}function ju(e,r,t){e.l+=5;e.l+=2;e.l+=t.biff==2?1:4;return["PTGSHEET"]}function Xu(e,r,t){e.l+=t.biff==2?4:5;return["PTGENDSHEET"]}function $u(e){var r=e._R(1)>>>5&3;var t=e._R(2);return[r,t]}function Yu(e){var r=e._R(1)>>>5&3;var t=e._R(2);return[r,t]}function Ku(e){e.l+=4;return[0,0]}var Ju={1:{n:"PtgExp",f:hu},2:{n:"PtgTbl",f:Ou},3:{n:"PtgAdd",f:Dh},4:{n:"PtgSub",f:Dh},5:{n:"PtgMul",f:Dh},6:{n:"PtgDiv",f:Dh},7:{n:"PtgPower",f:Dh},8:{n:"PtgConcat",f:Dh},9:{n:"PtgLt",f:Dh},10:{n:"PtgLe",f:Dh},11:{n:"PtgEq",f:Dh},12:{n:"PtgGe",f:Dh},13:{n:"PtgGt",f:Dh},14:{n:"PtgNe",f:Dh},15:{n:"PtgIsect",f:Dh},16:{n:"PtgUnion",f:Dh},17:{n:"PtgRange",f:Dh},18:{n:"PtgUplus",f:Dh},19:{n:"PtgUminus",f:Dh},20:{n:"PtgPercent",f:Dh},21:{n:"PtgParen",f:Dh},22:{n:"PtgMissArg",f:Dh},23:{n:"PtgStr",f:gu},26:{n:"PtgSheet",f:ju},27:{n:"PtgEndSheet",f:Xu},28:{n:"PtgErr",f:uu},29:{n:"PtgBool",f:vu},30:{n:"PtgInt",f:du},31:{n:"PtgNum",f:pu},32:{n:"PtgArray",f:Yh},33:{n:"PtgFunc",f:fu},34:{n:"PtgFuncVar",f:ou},35:{n:"PtgName",f:ku},36:{n:"PtgRef",f:nu},37:{n:"PtgArea",f:Vh},38:{n:"PtgMemArea",f:Eu},39:{n:"PtgMemErr",f:_u},40:{n:"PtgMemNoMem",f:xu},41:{n:"PtgMemFunc",f:Cu},42:{n:"PtgRefErr",f:yu},43:{n:"PtgAreaErr",f:jh},44:{n:"PtgRefN",f:iu},45:{n:"PtgAreaN",f:$h},46:{n:"PtgMemAreaN",f:$u},47:{n:"PtgMemNoMemN",f:Yu},57:{n:"PtgNameX",f:Tu},58:{n:"PtgRef3d",f:su},59:{n:"PtgArea3d",f:Gh},60:{n:"PtgRefErr3d",f:Su},61:{n:"PtgAreaErr3d",f:Xh},255:{}};var qu={64:32,96:32,65:33,97:33,66:34,98:34,67:35,99:35,68:36,100:36,69:37,101:37,70:38,102:38,71:39,103:39,72:40,104:40,73:41,105:41,74:42,106:42,75:43,107:43,76:44,108:44,77:45,109:45,78:46,110:46,79:47,111:47,88:34,120:34,89:57,121:57,90:58,122:58,91:59,123:59,92:60,124:60,93:61,125:61};var Zu={1:{n:"PtgElfLel",f:Lu},2:{n:"PtgElfRw",f:Wu},3:{n:"PtgElfCol",f:Nu},6:{n:"PtgElfRwV",f:Hu},7:{n:"PtgElfColV",f:Pu},10:{n:"PtgElfRadical",f:Mu},11:{n:"PtgElfRadicalS",f:Bu},13:{n:"PtgElfColS",f:Du},15:{n:"PtgElfColSV",f:Fu},16:{n:"PtgElfRadicalLel",f:Uu},25:{n:"PtgList",f:Vu},29:{n:"PtgSxName",f:Gu},255:{}};var Qu={0:{n:"PtgAttrNoop",f:Ku},1:{n:"PtgAttrSemi",f:eu},2:{n:"PtgAttrIf",f:Zh},4:{n:"PtgAttrChoose",f:Jh},8:{n:"PtgAttrGoto",f:qh},16:{n:"PtgAttrSum",f:cu},32:{n:"PtgAttrBaxcel",f:Kh},33:{n:"PtgAttrBaxcel",f:Kh},64:{n:"PtgAttrSpace",f:tu},65:{n:"PtgAttrSpaceSemi",f:au},128:{n:"PtgAttrIfError",f:Qh},255:{}};function ed(e,r,t,a){if(a.biff<8)return ha(e,r);var n=e.l+r;var i=[];for(var s=0;s!==t.length;++s){switch(t[s][0]){case"PtgArray":t[s][1]=wu(e,0,a);i.push(t[s][1]);break;case"PtgMemArea":t[s][2]=bu(e,t[s][1],a);i.push(t[s][2]);break;case"PtgExp":if(a&&a.biff==12){t[s][1][1]=e._R(4);i.push(t[s][1])}break;case"PtgList":;case"PtgElfRadicalS":;case"PtgElfColS":;case"PtgElfColSV":throw"Unsupported "+t[s][0];default:break;}}r=n-e.l;if(r!==0)i.push(ha(e,r));return i}function rd(e,r,t){var a=e.l+r;var n,i,s=[];while(a!=e.l){r=a-e.l;i=e[e.l];n=Ju[i]||Ju[qu[i]];if(i===24||i===25)n=(i===24?Zu:Qu)[e[e.l+1]];if(!n||!n.f){ha(e,r)}else{s.push([n.n,n.f(e,r,t)])}}return s}function td(e){var r=[];for(var t=0;t=",PtgGt:">",PtgLe:"<=",PtgLt:"<",PtgMul:"*",PtgNe:"<>",PtgPower:"^",PtgSub:"-"};function nd(e,r){if(!e&&!(r&&r.biff<=5&&r.biff>=2))throw new Error("empty sheet name");if(/[^\w\u4E00-\u9FFF\u3040-\u30FF]/.test(e))return"'"+e+"'";return e}function id(e,r,t){if(!e)return"SH33TJSERR0";if(t.biff>8&&(!e.XTI||!e.XTI[r]))return e.SheetNames[r];if(!e.XTI)return"SH33TJSERR6"; +var a=e.XTI[r];if(t.biff<8){if(r>1e4)r-=65536;if(r<0)r=-r;return r==0?"":e.XTI[r-1]}if(!a)return"SH33TJSERR1";var n="";if(t.biff>8)switch(e[a[0]][0]){case 357:n=a[1]==-1?"#REF":e.SheetNames[a[1]];return a[1]==a[2]?n:n+":"+e.SheetNames[a[2]];case 358:if(t.SID!=null)return e.SheetNames[t.SID];return"SH33TJSSAME"+e[a[0]][0];case 355:;default:return"SH33TJSSRC"+e[a[0]][0];}switch(e[a[0]][0][0]){case 1025:n=a[1]==-1?"#REF":e.SheetNames[a[1]]||"SH33TJSERR3";return a[1]==a[2]?n:n+":"+e.SheetNames[a[2]];case 14849:return e[a[0]].slice(1).map(function(e){return e.Name}).join(";;");default:if(!e[a[0]][0][3])return"SH33TJSERR2";n=a[1]==-1?"#REF":e[a[0]][0][3][a[1]]||"SH33TJSERR4";return a[1]==a[2]?n:n+":"+e[a[0]][0][3][a[2]];}}function sd(e,r,t){var a=id(e,r,t);return a=="#REF"?a:nd(a,t)}function fd(e,r,t,a,n){var i=n&&n.biff||8;var s={s:{c:0,r:0},e:{c:0,r:0}};var f=[],o,l,c,h=0,u=0,d,v="";if(!e[0]||!e[0][0])return"";var p=-1,g="";for(var m=0,b=e[0].length;m=0){switch(e[0][p][1][0]){case 0:g=wr(" ",e[0][p][1][1]);break;case 1:g=wr("\r",e[0][p][1][1]);break;default:g="";if(n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+e[0][p][1][0]);}l=l+g;p=-1}f.push(l+ad[w[0]]+o);break;case"PtgIsect":o=f.pop();l=f.pop();f.push(l+" "+o);break;case"PtgUnion":o=f.pop();l=f.pop();f.push(l+","+o);break;case"PtgRange":o=f.pop();l=f.pop();f.push(l+":"+o);break;case"PtgAttrChoose":break;case"PtgAttrGoto":break;case"PtgAttrIf":break;case"PtgAttrIfError":break;case"PtgRef":c=ga(w[1][1],s,n);f.push(ba(c,i));break;case"PtgRefN":c=t?ga(w[1][1],t,n):w[1][1];f.push(ba(c,i));break;case"PtgRef3d":h=w[1][1];c=ga(w[1][2],s,n);v=sd(a,h,n);var k=v;f.push(v+"!"+ba(c,i));break;case"PtgFunc":;case"PtgFuncVar":var T=w[1][0],A=w[1][1];if(!T)T=0;T&=127;var E=T==0?[]:f.slice(-T);f.length-=T;if(A==="User")A=E.shift();f.push(A+"("+E.join(",")+")");break;case"PtgBool":f.push(w[1]?"TRUE":"FALSE");break;case"PtgInt":f.push(w[1]);break;case"PtgNum":f.push(String(w[1]));break;case"PtgStr":f.push('"'+w[1].replace(/"/g,'""')+'"');break;case"PtgErr":f.push(w[1]);break;case"PtgAreaN":d=ma(w[1][1],t?{s:t}:s,n);f.push(wa(d,n));break;case"PtgArea":d=ma(w[1][1],s,n);f.push(wa(d,n));break;case"PtgArea3d":h=w[1][1];d=w[1][2];v=sd(a,h,n);f.push(v+"!"+wa(d,n));break;case"PtgAttrSum":f.push("SUM("+f.pop()+")");break;case"PtgAttrBaxcel":;case"PtgAttrSemi":break;case"PtgName":u=w[1][2];var C=(a.names||[])[u-1]||(a[0]||[])[u];var y=C?C.Name:"SH33TJSNAME"+String(u);if(y&&y.slice(0,6)=="_xlfn."&&!n.xlfn)y=y.slice(6);f.push(y);break;case"PtgNameX":var S=w[1][1];u=w[1][2];var _;if(n.biff<=5){if(S<0)S=-S;if(a[S])_=a[S][u]}else{var x="";if(((a[S]||[])[0]||[])[0]==14849){}else if(((a[S]||[])[0]||[])[0]==1025){if(a[S][u]&&a[S][u].itab>0){x=a.SheetNames[a[S][u].itab-1]+"!"}}else x=a.SheetNames[u-1]+"!";if(a[S]&&a[S][u])x+=a[S][u].Name;else if(a[0]&&a[0][u])x+=a[0][u].Name;else{var O=(id(a,S,n)||"").split(";;");if(O[u-1])x=O[u-1];else x+="SH33TJSERRX"}f.push(x);break}if(!_)_={Name:"SH33TJSERRY"};f.push(_.Name);break;case"PtgParen":var R="(",I=")";if(p>=0){g="";switch(e[0][p][1][0]){case 2:R=wr(" ",e[0][p][1][1])+R;break;case 3:R=wr("\r",e[0][p][1][1])+R;break;case 4:I=wr(" ",e[0][p][1][1])+I;break;case 5:I=wr("\r",e[0][p][1][1])+I;break;default:if(n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+e[0][p][1][0]);}p=-1}f.push(R+f.pop()+I);break;case"PtgRefErr":f.push("#REF!");break;case"PtgRefErr3d":f.push("#REF!");break;case"PtgExp":c={c:w[1][1],r:w[1][0]};var N={c:t.c,r:t.r};if(a.sharedf[Ra(c)]){var D=a.sharedf[Ra(c)];f.push(fd(D,s,N,a,n))}else{var F=false;for(o=0;o!=a.arrayf.length;++o){l=a.arrayf[o];if(c.cl[0].e.c)continue;if(c.rl[0].e.r)continue;f.push(fd(l[1],s,N,a,n));F=true;break}if(!F)f.push(w[1])}break;case"PtgArray":f.push("{"+td(w[1])+"}");break;case"PtgMemArea":break;case"PtgAttrSpace":;case"PtgAttrSpaceSemi":p=m;break;case"PtgTbl":break;case"PtgMemErr":break;case"PtgMissArg":f.push("");break;case"PtgAreaErr":f.push("#REF!");break;case"PtgAreaErr3d":f.push("#REF!");break;case"PtgList":f.push("Table"+w[1].idx+"[#"+w[1].rt+"]");break;case"PtgMemAreaN":;case"PtgMemNoMemN":;case"PtgAttrNoop":;case"PtgSheet":;case"PtgEndSheet":break;case"PtgMemFunc":break;case"PtgMemNoMem":break;case"PtgElfCol":;case"PtgElfColS":;case"PtgElfColSV":;case"PtgElfColV":;case"PtgElfLel":;case"PtgElfRadical":;case"PtgElfRadicalLel":;case"PtgElfRadicalS":;case"PtgElfRw":;case"PtgElfRwV":throw new Error("Unsupported ELFs");case"PtgSxName":throw new Error("Unrecognized Formula Token: "+String(w));default:throw new Error("Unrecognized Formula Token: "+String(w));}var P=["PtgAttrSpace","PtgAttrSpaceSemi","PtgAttrGoto"];if(n.biff!=3)if(p>=0&&P.indexOf(e[0][m][0])==-1){w=e[0][p];var L=true;switch(w[1][0]){case 4:L=false;case 0:g=wr(" ",w[1][1]);break;case 5:L=false;case 1:g=wr("\r",w[1][1]);break;default:g="";if(n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+w[1][0]);}f.push((L?g:"")+f.pop()+(L?"":g));p=-1}}if(f.length>1&&n.WTF)throw new Error("bad formula stack");return f[0]}function od(e,r,t){var a=e.l+r,n=t.biff==2?1:2;var i,s=e._R(n);if(s==65535)return[[],ha(e,r-2)];var f=rd(e,s,t);if(r!==s+n)i=ed(e,r-s-n,f,t);e.l=a;return[f,i]}function ld(e,r,t){var a=e.l+r,n=t.biff==2?1:2;var i,s=e._R(n);if(s==65535)return[[],ha(e,r-2)];var f=rd(e,s,t);if(r!==s+n)i=ed(e,r-s-n,f,t);e.l=a;return[f,i]}function cd(e,r,t,a){var n=e.l+r;var i=rd(e,a,t);var s;if(n!==e.l)s=ed(e,n-e.l,i,t);return[i,s]}function hd(e,r,t){var a=e.l+r;var n,i=e._R(2);var s=rd(e,i,t);if(i==65535)return[[],ha(e,r-2)];if(r!==i+2)n=ed(e,a-i-2,s,t);return[s,n]}function ud(e){var r;if(Qt(e,e.l+6)!==65535)return[dn(e),"n"];switch(e[e.l]){case 0:e.l+=8;return["String","s"];case 1:r=e[e.l+2]===1;e.l+=8;return[r,"b"];case 2:r=e[e.l+2];e.l+=8;return[r,"e"];case 3:e.l+=8;return["","s"];}return[]}function dd(e){if(e==null){var r=ua(8);r._W(1,3);r._W(1,0);r._W(2,0);r._W(2,0);r._W(2,65535);return r}else if(typeof e=="number")return vn(e);return vn(0)}function vd(e,r,t){var a=e.l+r;var n=As(e,6);if(t.biff==2)++e.l;var i=ud(e,8);var s=e._R(1);if(t.biff!=2){e._R(1);if(t.biff>=5){e._R(4)}}var f=ld(e,a-e.l,t);return{cell:n,val:i[0],formula:f,shared:s>>3&1,tt:i[1]}}function pd(e,r,t,a,n){var i=Es(r,t,n);var s=dd(e.v);var f=ua(6);var o=1|32;f._W(2,o);f._W(4,0);var l=ua(e.bf.length);for(var c=0;c0?ed(e,i,n,t):null;return[n,s]}var md=gd;var bd=gd;var wd=gd;var kd=gd;var Td={0:"BEEP",1:"OPEN",2:"OPEN.LINKS",3:"CLOSE.ALL",4:"SAVE",5:"SAVE.AS",6:"FILE.DELETE",7:"PAGE.SETUP",8:"PRINT",9:"PRINTER.SETUP",10:"QUIT",11:"NEW.WINDOW",12:"ARRANGE.ALL",13:"WINDOW.SIZE",14:"WINDOW.MOVE",15:"FULL",16:"CLOSE",17:"RUN",22:"SET.PRINT.AREA",23:"SET.PRINT.TITLES",24:"SET.PAGE.BREAK",25:"REMOVE.PAGE.BREAK",26:"FONT",27:"DISPLAY",28:"PROTECT.DOCUMENT",29:"PRECISION",30:"A1.R1C1",31:"CALCULATE.NOW",32:"CALCULATION",34:"DATA.FIND",35:"EXTRACT",36:"DATA.DELETE",37:"SET.DATABASE",38:"SET.CRITERIA",39:"SORT",40:"DATA.SERIES",41:"TABLE",42:"FORMAT.NUMBER",43:"ALIGNMENT",44:"STYLE",45:"BORDER",46:"CELL.PROTECTION",47:"COLUMN.WIDTH",48:"UNDO",49:"CUT",50:"COPY",51:"PASTE",52:"CLEAR",53:"PASTE.SPECIAL",54:"EDIT.DELETE",55:"INSERT",56:"FILL.RIGHT",57:"FILL.DOWN",61:"DEFINE.NAME",62:"CREATE.NAMES",63:"FORMULA.GOTO",64:"FORMULA.FIND",65:"SELECT.LAST.CELL",66:"SHOW.ACTIVE.CELL",67:"GALLERY.AREA",68:"GALLERY.BAR",69:"GALLERY.COLUMN",70:"GALLERY.LINE",71:"GALLERY.PIE",72:"GALLERY.SCATTER",73:"COMBINATION",74:"PREFERRED",75:"ADD.OVERLAY",76:"GRIDLINES",77:"SET.PREFERRED",78:"AXES",79:"LEGEND",80:"ATTACH.TEXT",81:"ADD.ARROW",82:"SELECT.CHART",83:"SELECT.PLOT.AREA",84:"PATTERNS",85:"MAIN.CHART",86:"OVERLAY",87:"SCALE",88:"FORMAT.LEGEND",89:"FORMAT.TEXT",90:"EDIT.REPEAT",91:"PARSE",92:"JUSTIFY",93:"HIDE",94:"UNHIDE",95:"WORKSPACE",96:"FORMULA",97:"FORMULA.FILL",98:"FORMULA.ARRAY",99:"DATA.FIND.NEXT",100:"DATA.FIND.PREV",101:"FORMULA.FIND.NEXT",102:"FORMULA.FIND.PREV",103:"ACTIVATE",104:"ACTIVATE.NEXT",105:"ACTIVATE.PREV",106:"UNLOCKED.NEXT",107:"UNLOCKED.PREV",108:"COPY.PICTURE",109:"SELECT",110:"DELETE.NAME",111:"DELETE.FORMAT",112:"VLINE",113:"HLINE",114:"VPAGE",115:"HPAGE",116:"VSCROLL",117:"HSCROLL",118:"ALERT",119:"NEW",120:"CANCEL.COPY",121:"SHOW.CLIPBOARD",122:"MESSAGE",124:"PASTE.LINK",125:"APP.ACTIVATE",126:"DELETE.ARROW",127:"ROW.HEIGHT",128:"FORMAT.MOVE",129:"FORMAT.SIZE",130:"FORMULA.REPLACE",131:"SEND.KEYS",132:"SELECT.SPECIAL",133:"APPLY.NAMES",134:"REPLACE.FONT",135:"FREEZE.PANES",136:"SHOW.INFO",137:"SPLIT",138:"ON.WINDOW",139:"ON.DATA",140:"DISABLE.INPUT",142:"OUTLINE",143:"LIST.NAMES",144:"FILE.CLOSE",145:"SAVE.WORKBOOK",146:"DATA.FORM",147:"COPY.CHART",148:"ON.TIME",149:"WAIT",150:"FORMAT.FONT",151:"FILL.UP",152:"FILL.LEFT",153:"DELETE.OVERLAY",155:"SHORT.MENUS",159:"SET.UPDATE.STATUS",161:"COLOR.PALETTE",162:"DELETE.STYLE",163:"WINDOW.RESTORE",164:"WINDOW.MAXIMIZE",166:"CHANGE.LINK",167:"CALCULATE.DOCUMENT",168:"ON.KEY",169:"APP.RESTORE",170:"APP.MOVE",171:"APP.SIZE",172:"APP.MINIMIZE",173:"APP.MAXIMIZE",174:"BRING.TO.FRONT",175:"SEND.TO.BACK",185:"MAIN.CHART.TYPE",186:"OVERLAY.CHART.TYPE",187:"SELECT.END",188:"OPEN.MAIL",189:"SEND.MAIL",190:"STANDARD.FONT",191:"CONSOLIDATE",192:"SORT.SPECIAL",193:"GALLERY.3D.AREA",194:"GALLERY.3D.COLUMN",195:"GALLERY.3D.LINE",196:"GALLERY.3D.PIE",197:"VIEW.3D",198:"GOAL.SEEK",199:"WORKGROUP",200:"FILL.GROUP",201:"UPDATE.LINK",202:"PROMOTE",203:"DEMOTE",204:"SHOW.DETAIL",206:"UNGROUP",207:"OBJECT.PROPERTIES",208:"SAVE.NEW.OBJECT",209:"SHARE",210:"SHARE.NAME",211:"DUPLICATE",212:"APPLY.STYLE",213:"ASSIGN.TO.OBJECT",214:"OBJECT.PROTECTION",215:"HIDE.OBJECT",216:"SET.EXTRACT",217:"CREATE.PUBLISHER",218:"SUBSCRIBE.TO",219:"ATTRIBUTES",220:"SHOW.TOOLBAR",222:"PRINT.PREVIEW",223:"EDIT.COLOR",224:"SHOW.LEVELS",225:"FORMAT.MAIN",226:"FORMAT.OVERLAY",227:"ON.RECALC",228:"EDIT.SERIES",229:"DEFINE.STYLE",240:"LINE.PRINT",243:"ENTER.DATA",249:"GALLERY.RADAR",250:"MERGE.STYLES",251:"EDITION.OPTIONS",252:"PASTE.PICTURE",253:"PASTE.PICTURE.LINK",254:"SPELLING",256:"ZOOM",259:"INSERT.OBJECT",260:"WINDOW.MINIMIZE",265:"SOUND.NOTE",266:"SOUND.PLAY",267:"FORMAT.SHAPE",268:"EXTEND.POLYGON",269:"FORMAT.AUTO",272:"GALLERY.3D.BAR",273:"GALLERY.3D.SURFACE",274:"FILL.AUTO",276:"CUSTOMIZE.TOOLBAR",277:"ADD.TOOL",278:"EDIT.OBJECT",279:"ON.DOUBLECLICK",280:"ON.ENTRY",281:"WORKBOOK.ADD",282:"WORKBOOK.MOVE",283:"WORKBOOK.COPY",284:"WORKBOOK.OPTIONS",285:"SAVE.WORKSPACE",288:"CHART.WIZARD",289:"DELETE.TOOL",290:"MOVE.TOOL",291:"WORKBOOK.SELECT",292:"WORKBOOK.ACTIVATE",293:"ASSIGN.TO.TOOL",295:"COPY.TOOL",296:"RESET.TOOL",297:"CONSTRAIN.NUMERIC",298:"PASTE.TOOL",302:"WORKBOOK.NEW",305:"SCENARIO.CELLS",306:"SCENARIO.DELETE",307:"SCENARIO.ADD",308:"SCENARIO.EDIT",309:"SCENARIO.SHOW",310:"SCENARIO.SHOW.NEXT",311:"SCENARIO.SUMMARY",312:"PIVOT.TABLE.WIZARD",313:"PIVOT.FIELD.PROPERTIES",314:"PIVOT.FIELD",315:"PIVOT.ITEM",316:"PIVOT.ADD.FIELDS",318:"OPTIONS.CALCULATION",319:"OPTIONS.EDIT",320:"OPTIONS.VIEW",321:"ADDIN.MANAGER",322:"MENU.EDITOR",323:"ATTACH.TOOLBARS",324:"VBAActivate",325:"OPTIONS.CHART",328:"VBA.INSERT.FILE",330:"VBA.PROCEDURE.DEFINITION",336:"ROUTING.SLIP",338:"ROUTE.DOCUMENT",339:"MAIL.LOGON",342:"INSERT.PICTURE",343:"EDIT.TOOL",344:"GALLERY.DOUGHNUT",350:"CHART.TREND",352:"PIVOT.ITEM.PROPERTIES",354:"WORKBOOK.INSERT",355:"OPTIONS.TRANSITION",356:"OPTIONS.GENERAL",370:"FILTER.ADVANCED",373:"MAIL.ADD.MAILER",374:"MAIL.DELETE.MAILER",375:"MAIL.REPLY",376:"MAIL.REPLY.ALL",377:"MAIL.FORWARD",378:"MAIL.NEXT.LETTER",379:"DATA.LABEL",380:"INSERT.TITLE",381:"FONT.PROPERTIES",382:"MACRO.OPTIONS",383:"WORKBOOK.HIDE",384:"WORKBOOK.UNHIDE",385:"WORKBOOK.DELETE",386:"WORKBOOK.NAME",388:"GALLERY.CUSTOM",390:"ADD.CHART.AUTOFORMAT",391:"DELETE.CHART.AUTOFORMAT",392:"CHART.ADD.DATA",393:"AUTO.OUTLINE",394:"TAB.ORDER",395:"SHOW.DIALOG",396:"SELECT.ALL",397:"UNGROUP.SHEETS",398:"SUBTOTAL.CREATE",399:"SUBTOTAL.REMOVE",400:"RENAME.OBJECT",412:"WORKBOOK.SCROLL",413:"WORKBOOK.NEXT",414:"WORKBOOK.PREV",415:"WORKBOOK.TAB.SPLIT",416:"FULL.SCREEN",417:"WORKBOOK.PROTECT",420:"SCROLLBAR.PROPERTIES",421:"PIVOT.SHOW.PAGES",422:"TEXT.TO.COLUMNS",423:"FORMAT.CHARTTYPE",424:"LINK.FORMAT",425:"TRACER.DISPLAY",430:"TRACER.NAVIGATE",431:"TRACER.CLEAR",432:"TRACER.ERROR",433:"PIVOT.FIELD.GROUP",434:"PIVOT.FIELD.UNGROUP",435:"CHECKBOX.PROPERTIES",436:"LABEL.PROPERTIES",437:"LISTBOX.PROPERTIES",438:"EDITBOX.PROPERTIES",439:"PIVOT.REFRESH",440:"LINK.COMBO",441:"OPEN.TEXT",442:"HIDE.DIALOG",443:"SET.DIALOG.FOCUS",444:"ENABLE.OBJECT",445:"PUSHBUTTON.PROPERTIES",446:"SET.DIALOG.DEFAULT",447:"FILTER",448:"FILTER.SHOW.ALL",449:"CLEAR.OUTLINE",450:"FUNCTION.WIZARD",451:"ADD.LIST.ITEM",452:"SET.LIST.ITEM",453:"REMOVE.LIST.ITEM",454:"SELECT.LIST.ITEM",455:"SET.CONTROL.VALUE",456:"SAVE.COPY.AS",458:"OPTIONS.LISTS.ADD",459:"OPTIONS.LISTS.DELETE",460:"SERIES.AXES",461:"SERIES.X",462:"SERIES.Y",463:"ERRORBAR.X",464:"ERRORBAR.Y",465:"FORMAT.CHART",466:"SERIES.ORDER",467:"MAIL.LOGOFF",468:"CLEAR.ROUTING.SLIP",469:"APP.ACTIVATE.MICROSOFT",470:"MAIL.EDIT.MAILER",471:"ON.SHEET",472:"STANDARD.WIDTH",473:"SCENARIO.MERGE",474:"SUMMARY.INFO",475:"FIND.FILE",476:"ACTIVE.CELL.FONT",477:"ENABLE.TIPWIZARD",478:"VBA.MAKE.ADDIN",480:"INSERTDATATABLE",481:"WORKGROUP.OPTIONS",482:"MAIL.SEND.MAILER",485:"AUTOCORRECT",489:"POST.DOCUMENT",491:"PICKLIST",493:"VIEW.SHOW",494:"VIEW.DEFINE",495:"VIEW.DELETE",509:"SHEET.BACKGROUND",510:"INSERT.MAP.OBJECT",511:"OPTIONS.MENONO",517:"MSOCHECKS",518:"NORMAL",519:"LAYOUT",520:"RM.PRINT.AREA",521:"CLEAR.PRINT.AREA",522:"ADD.PRINT.AREA",523:"MOVE.BRK",545:"HIDECURR.NOTE",546:"HIDEALL.NOTES",547:"DELETE.NOTE",548:"TRAVERSE.NOTES",549:"ACTIVATE.NOTES",620:"PROTECT.REVISIONS",621:"UNPROTECT.REVISIONS",647:"OPTIONS.ME",653:"WEB.PUBLISH",667:"NEWWEBQUERY",673:"PIVOT.TABLE.CHART",753:"OPTIONS.SAVE",755:"OPTIONS.SPELL",808:"HIDEALL.INKANNOTS"};var Ad={0:"COUNT",1:"IF",2:"ISNA",3:"ISERROR",4:"SUM",5:"AVERAGE",6:"MIN",7:"MAX",8:"ROW",9:"COLUMN",10:"NA",11:"NPV",12:"STDEV",13:"DOLLAR",14:"FIXED",15:"SIN",16:"COS",17:"TAN",18:"ATAN",19:"PI",20:"SQRT",21:"EXP",22:"LN",23:"LOG10",24:"ABS",25:"INT",26:"SIGN",27:"ROUND",28:"LOOKUP",29:"INDEX",30:"REPT",31:"MID",32:"LEN",33:"VALUE",34:"TRUE",35:"FALSE",36:"AND",37:"OR",38:"NOT",39:"MOD",40:"DCOUNT",41:"DSUM",42:"DAVERAGE",43:"DMIN",44:"DMAX",45:"DSTDEV",46:"VAR",47:"DVAR",48:"TEXT",49:"LINEST",50:"TREND",51:"LOGEST",52:"GROWTH",53:"GOTO",54:"HALT",55:"RETURN",56:"PV",57:"FV",58:"NPER",59:"PMT",60:"RATE",61:"MIRR",62:"IRR",63:"RAND",64:"MATCH",65:"DATE",66:"TIME",67:"DAY",68:"MONTH",69:"YEAR",70:"WEEKDAY",71:"HOUR",72:"MINUTE",73:"SECOND",74:"NOW",75:"AREAS",76:"ROWS",77:"COLUMNS",78:"OFFSET",79:"ABSREF",80:"RELREF",81:"ARGUMENT",82:"SEARCH",83:"TRANSPOSE",84:"ERROR",85:"STEP",86:"TYPE",87:"ECHO",88:"SET.NAME",89:"CALLER",90:"DEREF",91:"WINDOWS",92:"SERIES",93:"DOCUMENTS",94:"ACTIVE.CELL",95:"SELECTION",96:"RESULT",97:"ATAN2",98:"ASIN",99:"ACOS",100:"CHOOSE",101:"HLOOKUP",102:"VLOOKUP",103:"LINKS",104:"INPUT",105:"ISREF",106:"GET.FORMULA",107:"GET.NAME",108:"SET.VALUE",109:"LOG",110:"EXEC",111:"CHAR",112:"LOWER",113:"UPPER",114:"PROPER",115:"LEFT",116:"RIGHT",117:"EXACT",118:"TRIM",119:"REPLACE",120:"SUBSTITUTE",121:"CODE",122:"NAMES",123:"DIRECTORY",124:"FIND",125:"CELL",126:"ISERR",127:"ISTEXT",128:"ISNUMBER",129:"ISBLANK",130:"T",131:"N",132:"FOPEN",133:"FCLOSE",134:"FSIZE",135:"FREADLN",136:"FREAD",137:"FWRITELN",138:"FWRITE",139:"FPOS",140:"DATEVALUE",141:"TIMEVALUE",142:"SLN",143:"SYD",144:"DDB",145:"GET.DEF",146:"REFTEXT",147:"TEXTREF",148:"INDIRECT",149:"REGISTER",150:"CALL",151:"ADD.BAR",152:"ADD.MENU",153:"ADD.COMMAND",154:"ENABLE.COMMAND",155:"CHECK.COMMAND",156:"RENAME.COMMAND",157:"SHOW.BAR",158:"DELETE.MENU",159:"DELETE.COMMAND",160:"GET.CHART.ITEM",161:"DIALOG.BOX",162:"CLEAN",163:"MDETERM",164:"MINVERSE",165:"MMULT",166:"FILES",167:"IPMT",168:"PPMT",169:"COUNTA",170:"CANCEL.KEY",171:"FOR",172:"WHILE",173:"BREAK",174:"NEXT",175:"INITIATE",176:"REQUEST",177:"POKE",178:"EXECUTE",179:"TERMINATE",180:"RESTART",181:"HELP",182:"GET.BAR",183:"PRODUCT",184:"FACT",185:"GET.CELL",186:"GET.WORKSPACE",187:"GET.WINDOW",188:"GET.DOCUMENT",189:"DPRODUCT",190:"ISNONTEXT",191:"GET.NOTE",192:"NOTE",193:"STDEVP",194:"VARP",195:"DSTDEVP",196:"DVARP",197:"TRUNC",198:"ISLOGICAL",199:"DCOUNTA",200:"DELETE.BAR",201:"UNREGISTER",204:"USDOLLAR",205:"FINDB",206:"SEARCHB",207:"REPLACEB",208:"LEFTB",209:"RIGHTB",210:"MIDB",211:"LENB",212:"ROUNDUP",213:"ROUNDDOWN",214:"ASC",215:"DBCS",216:"RANK",219:"ADDRESS",220:"DAYS360",221:"TODAY",222:"VDB",223:"ELSE",224:"ELSE.IF",225:"END.IF",226:"FOR.CELL",227:"MEDIAN",228:"SUMPRODUCT",229:"SINH",230:"COSH",231:"TANH",232:"ASINH",233:"ACOSH",234:"ATANH",235:"DGET",236:"CREATE.OBJECT",237:"VOLATILE",238:"LAST.ERROR",239:"CUSTOM.UNDO",240:"CUSTOM.REPEAT",241:"FORMULA.CONVERT",242:"GET.LINK.INFO",243:"TEXT.BOX",244:"INFO",245:"GROUP",246:"GET.OBJECT",247:"DB",248:"PAUSE",251:"RESUME",252:"FREQUENCY",253:"ADD.TOOLBAR",254:"DELETE.TOOLBAR",255:"User",256:"RESET.TOOLBAR",257:"EVALUATE",258:"GET.TOOLBAR",259:"GET.TOOL",260:"SPELLING.CHECK",261:"ERROR.TYPE",262:"APP.TITLE",263:"WINDOW.TITLE",264:"SAVE.TOOLBAR",265:"ENABLE.TOOL",266:"PRESS.TOOL",267:"REGISTER.ID",268:"GET.WORKBOOK",269:"AVEDEV",270:"BETADIST",271:"GAMMALN",272:"BETAINV",273:"BINOMDIST",274:"CHIDIST",275:"CHIINV",276:"COMBIN",277:"CONFIDENCE",278:"CRITBINOM",279:"EVEN",280:"EXPONDIST",281:"FDIST",282:"FINV",283:"FISHER",284:"FISHERINV",285:"FLOOR",286:"GAMMADIST",287:"GAMMAINV",288:"CEILING",289:"HYPGEOMDIST",290:"LOGNORMDIST",291:"LOGINV",292:"NEGBINOMDIST",293:"NORMDIST",294:"NORMSDIST",295:"NORMINV",296:"NORMSINV",297:"STANDARDIZE",298:"ODD",299:"PERMUT",300:"POISSON",301:"TDIST",302:"WEIBULL",303:"SUMXMY2",304:"SUMX2MY2",305:"SUMX2PY2",306:"CHITEST",307:"CORREL",308:"COVAR",309:"FORECAST",310:"FTEST",311:"INTERCEPT",312:"PEARSON",313:"RSQ",314:"STEYX",315:"SLOPE",316:"TTEST",317:"PROB",318:"DEVSQ",319:"GEOMEAN",320:"HARMEAN",321:"SUMSQ",322:"KURT",323:"SKEW",324:"ZTEST",325:"LARGE",326:"SMALL",327:"QUARTILE",328:"PERCENTILE",329:"PERCENTRANK",330:"MODE",331:"TRIMMEAN",332:"TINV",334:"MOVIE.COMMAND",335:"GET.MOVIE",336:"CONCATENATE",337:"POWER",338:"PIVOT.ADD.DATA",339:"GET.PIVOT.TABLE",340:"GET.PIVOT.FIELD",341:"GET.PIVOT.ITEM",342:"RADIANS",343:"DEGREES",344:"SUBTOTAL",345:"SUMIF",346:"COUNTIF",347:"COUNTBLANK",348:"SCENARIO.GET",349:"OPTIONS.LISTS.GET",350:"ISPMT",351:"DATEDIF",352:"DATESTRING",353:"NUMBERSTRING",354:"ROMAN",355:"OPEN.DIALOG",356:"SAVE.DIALOG",357:"VIEW.GET",358:"GETPIVOTDATA",359:"HYPERLINK",360:"PHONETIC",361:"AVERAGEA",362:"MAXA",363:"MINA",364:"STDEVPA",365:"VARPA",366:"STDEVA",367:"VARA",368:"BAHTTEXT",369:"THAIDAYOFWEEK",370:"THAIDIGIT",371:"THAIMONTHOFYEAR",372:"THAINUMSOUND",373:"THAINUMSTRING",374:"THAISTRINGLENGTH",375:"ISTHAIDIGIT",376:"ROUNDBAHTDOWN",377:"ROUNDBAHTUP",378:"THAIYEAR",379:"RTD",380:"CUBEVALUE",381:"CUBEMEMBER",382:"CUBEMEMBERPROPERTY",383:"CUBERANKEDMEMBER",384:"HEX2BIN",385:"HEX2DEC",386:"HEX2OCT",387:"DEC2BIN",388:"DEC2HEX",389:"DEC2OCT",390:"OCT2BIN",391:"OCT2HEX",392:"OCT2DEC",393:"BIN2DEC",394:"BIN2OCT",395:"BIN2HEX",396:"IMSUB",397:"IMDIV",398:"IMPOWER",399:"IMABS",400:"IMSQRT",401:"IMLN",402:"IMLOG2",403:"IMLOG10",404:"IMSIN",405:"IMCOS",406:"IMEXP",407:"IMARGUMENT",408:"IMCONJUGATE",409:"IMAGINARY",410:"IMREAL",411:"COMPLEX",412:"IMSUM",413:"IMPRODUCT",414:"SERIESSUM",415:"FACTDOUBLE",416:"SQRTPI",417:"QUOTIENT",418:"DELTA",419:"GESTEP",420:"ISEVEN",421:"ISODD",422:"MROUND",423:"ERF",424:"ERFC",425:"BESSELJ",426:"BESSELK",427:"BESSELY",428:"BESSELI",429:"XIRR",430:"XNPV",431:"PRICEMAT",432:"YIELDMAT",433:"INTRATE",434:"RECEIVED",435:"DISC",436:"PRICEDISC",437:"YIELDDISC",438:"TBILLEQ",439:"TBILLPRICE",440:"TBILLYIELD",441:"PRICE",442:"YIELD",443:"DOLLARDE",444:"DOLLARFR",445:"NOMINAL",446:"EFFECT",447:"CUMPRINC",448:"CUMIPMT",449:"EDATE",450:"EOMONTH",451:"YEARFRAC",452:"COUPDAYBS",453:"COUPDAYS",454:"COUPDAYSNC",455:"COUPNCD",456:"COUPNUM",457:"COUPPCD",458:"DURATION",459:"MDURATION",460:"ODDLPRICE",461:"ODDLYIELD",462:"ODDFPRICE",463:"ODDFYIELD",464:"RANDBETWEEN",465:"WEEKNUM",466:"AMORDEGRC",467:"AMORLINC",468:"CONVERT",724:"SHEETJS",469:"ACCRINT",470:"ACCRINTM",471:"WORKDAY",472:"NETWORKDAYS",473:"GCD",474:"MULTINOMIAL",475:"LCM",476:"FVSCHEDULE",477:"CUBEKPIMEMBER",478:"CUBESET",479:"CUBESETCOUNT",480:"IFERROR",481:"COUNTIFS",482:"SUMIFS",483:"AVERAGEIF",484:"AVERAGEIFS"};var Ed={2:1,3:1,10:0,15:1,16:1,17:1,18:1,19:0,20:1,21:1,22:1,23:1,24:1,25:1,26:1,27:2,30:2,31:3,32:1,33:1,34:0,35:0,38:1,39:2,40:3,41:3,42:3,43:3,44:3,45:3,47:3,48:2,53:1,61:3,63:0,65:3,66:3,67:1,68:1,69:1,70:1,71:1,72:1,73:1,74:0,75:1,76:1,77:1,79:2,80:2,83:1,85:0,86:1,89:0,90:1,94:0,95:0,97:2,98:1,99:1,101:3,102:3,105:1,106:1,108:2,111:1,112:1,113:1,114:1,117:2,118:1,119:4,121:1,126:1,127:1,128:1,129:1,130:1,131:1,133:1,134:1,135:1,136:2,137:2,138:2,140:1,141:1,142:3,143:4,144:4,161:1,162:1,163:1,164:1,165:2,172:1,175:2,176:2,177:3,178:2,179:1,184:1,186:1,189:3,190:1,195:3,196:3,197:1,198:1,199:3,201:1,207:4,210:3,211:1,212:2,213:2,214:1,215:1,225:0,229:1,230:1,231:1,232:1,233:1,234:1,235:3,244:1,247:4,252:2,257:1,261:1,271:1,273:4,274:2,275:2,276:2,277:3,278:3,279:1,280:3,281:3,282:3,283:1,284:1,285:2,286:4,287:3,288:2,289:4,290:3,291:3,292:3,293:4,294:1,295:3,296:1,297:3,298:1,299:2,300:3,301:3,302:4,303:2,304:2,305:2,306:2,307:2,308:2,309:3,310:2,311:2,312:2,313:2,314:2,315:2,316:4,325:2,326:2,327:2,328:2,331:2,332:2,337:2,342:1,343:1,346:2,347:1,350:4,351:3,352:1,353:2,360:1,368:1,369:1,370:1,371:1,372:1,373:1,374:1,375:1,376:1,377:1,378:1,382:3,385:1,392:1,393:1,396:2,397:2,398:2,399:1,400:1,401:1,402:1,403:1,404:1,405:1,406:1,407:1,408:1,409:1,410:1,414:4,415:1,416:1,417:2,420:1,421:1,422:2,424:1,425:2,426:2,427:2,428:2,430:3,438:3,439:3,440:3,443:2,444:2,445:2,446:2,447:6,448:6,449:2,450:2,464:2,468:3,476:2,479:1,480:2,65535:0};function Cd(e){if(e.slice(0,3)=="of:")e=e.slice(3);if(e.charCodeAt(0)==61){e=e.slice(1);if(e.charCodeAt(0)==61)e=e.slice(1)}e=e.replace(/COM\.MICROSOFT\./g,"");e=e.replace(/\[((?:\.[A-Z]+[0-9]+)(?::\.[A-Z]+[0-9]+)?)\]/g,function(e,r){return r.replace(/\./g,"")});e=e.replace(/\[.(#[A-Z]*[?!])\]/g,"$1");return e.replace(/[;~]/g,",").replace(/\|/g,";")}function yd(e){var r="of:="+e.replace(_h,"$1[.$2$3$4$5]").replace(/\]:\[/g,":");return r.replace(/;/g,"|").replace(/,/g,";")}function Sd(e){var r=e.split(":");var t=r[0].split(".")[0];return[t,r[0].split(".")[1]+(r.length>1?":"+(r[1].split(".")[1]||r[1].split(".")[0]):"")]}function _d(e){return e.replace(/\./,"!")}var xd={};var Od={};var Rd=typeof Map!=="undefined";function Id(e,r,t){var a=0,n=e.length;if(t){if(Rd?t.has(r):Object.prototype.hasOwnProperty.call(t,r)){var i=Rd?t.get(r):t[r];for(;a-1){t.width=xl(a);t.customWidth=1}else if(r.width!=null)t.width=r.width;if(r.hidden)t.hidden=true;if(r.level!=null){t.outlineLevel=t.level=r.level}return t}function Dd(e,r){if(!e)return;var t=[.7,.7,.75,.75,.3,.3];if(r=="xlml")t=[1,1,1,1,.5,.5];if(e.left==null)e.left=t[0];if(e.right==null)e.right=t[1];if(e.top==null)e.top=t[2];if(e.bottom==null)e.bottom=t[3];if(e.header==null)e.header=t[4];if(e.footer==null)e.footer=t[5]}function Fd(e,r,t){var a=t.revssf[r.z!=null?r.z:"General"];var n=60,i=e.length;if(a==null&&t.ssf){for(;n<392;++n)if(t.ssf[n]==null){We(r.z,n);t.ssf[n]=r.z;t.revssf[r.z]=a=n;break}}for(n=0;n!=i;++n)if(e[n].numFmtId===a)return n;e[i]={numFmtId:a,fontId:0,fillId:0,borderId:0,xfId:0,applyNumberFormat:1};return i}function Pd(e,r,t,a,n,i){try{if(a.cellNF)e.z=X[r]}catch(s){if(a.WTF)throw s}if(e.t==="z"&&!a.cellStyles)return;if(e.t==="d"&&typeof e.v==="string")e.v=gr(e.v);if((!a||a.cellText!==false)&&e.t!=="z")try{if(X[r]==null)We(Ge[r]||"General",r);if(e.t==="e")e.w=e.w||Gn[e.v];else if(r===0){if(e.t==="n"){if((e.v|0)===e.v)e.w=e.v.toString(10);else e.w=se(e.v)}else if(e.t==="d"){var f=fr(e.v);if((f|0)===f)e.w=f.toString(10);else e.w=se(f)}else if(e.v===undefined)return"";else e.w=fe(e.v,Od)}else if(e.t==="d")e.w=Be(r,fr(e.v),Od);else e.w=Be(r,e.v,Od)}catch(s){if(a.WTF)throw s}if(!a.cellStyles)return;if(t!=null)try{e.s=i.Fills[t];if(e.s.fgColor&&e.s.fgColor.theme&&!e.s.fgColor.rgb){e.s.fgColor.rgb=Tl(n.themeElements.clrScheme[e.s.fgColor.theme].rgb,e.s.fgColor.tint||0);if(a.WTF)e.s.fgColor.raw_rgb=n.themeElements.clrScheme[e.s.fgColor.theme].rgb}if(e.s.bgColor&&e.s.bgColor.theme){e.s.bgColor.rgb=Tl(n.themeElements.clrScheme[e.s.bgColor.theme].rgb,e.s.bgColor.tint||0);if(a.WTF)e.s.bgColor.raw_rgb=n.themeElements.clrScheme[e.s.bgColor.theme].rgb}}catch(s){if(a.WTF&&i.Fills)throw s}}function Ld(e,r,t){if(e&&e["!ref"]){var a=Da(e["!ref"]);if(a.e.c=0&&t.s.c>=0)e["!ref"]=Na(t)}var Ud=/<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*[\/]?>/g;var Bd=/<(?:\w+:)?sheetData[^>]*>([\s\S]*)<\/(?:\w+:)?sheetData>/;var Wd=/<(?:\w:)?hyperlink [^>]*>/gm;var Hd=/"(\w*:\w*)"/;var zd=/<(?:\w:)?col\b[^>]*[\/]?>/g;var Vd=/<(?:\w:)?autoFilter[^>]*([\/]|>([\s\S]*)<\/(?:\w:)?autoFilter)>/g;var Gd=/<(?:\w:)?pageMargins[^>]*\/>/g;var jd=/<(?:\w:)?sheetPr\b(?:[^>a-z][^>]*)?\/>/;var Xd=/<(?:\w:)?sheetPr[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetPr)>/;var $d=/<(?:\w:)?sheetViews[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetViews)>/;function Yd(e,r,t,a,n,i,s){if(!e)return e;if(!a)a={"!id":{}};if(g!=null&&r.dense==null)r.dense=g;var f=r.dense?[]:{};var o={s:{r:2e6,c:2e6},e:{r:0,c:0}};var l="",c="";var h=e.match(Bd);if(h){l=e.slice(0,h.index);c=e.slice(h.index+h[0].length)}else l=c=e;var u=l.match(jd);if(u)Jd(u[0],f,n,t);else if(u=l.match(Xd))qd(u[0],u[1]||"",f,n,t,s,i);var d=(l.match(/<(?:\w*:)?dimension/)||{index:-1}).index;if(d>0){var v=l.slice(d,d+50).match(Hd);if(v)Md(f,v[1])}var p=l.match($d);if(p&&p[1])cv(p[1],n);var m=[];if(r.cellStyles){var b=l.match(zd);if(b)iv(m,b)}if(h)dv(h[1],f,r,o,i,s);var w=c.match(Vd);if(w)f["!autofilter"]=fv(w[0]);var k=[];var T=c.match(Ud);if(T)for(d=0;d!=T.length;++d)k[d]=Da(T[d].slice(T[d].indexOf('"')+1));var A=c.match(Wd);if(A)tv(f,A,a);var E=c.match(Gd);if(E)f["!margins"]=av(Gr(E[0]));if(!f["!ref"]&&o.e.c>=o.s.c&&o.e.r>=o.s.r)f["!ref"]=Na(o);if(r.sheetRows>0&&f["!ref"]){var C=Da(f["!ref"]);if(r.sheetRows<=+C.e.r){C.e.r=r.sheetRows-1;if(C.e.r>o.e.r)C.e.r=o.e.r;if(C.e.ro.e.c)C.e.c=o.e.c;if(C.e.c0)f["!cols"]=m;if(k.length>0)f["!merges"]=k;return f}function Kd(e){if(e.length===0)return"";var r='';for(var t=0;t!=e.length;++t)r+='';return r+""}function Jd(e,r,t,a){var n=Gr(e);if(!t.Sheets[a])t.Sheets[a]={};if(n.codeName)t.Sheets[a].CodeName=Yr(lt(n.codeName))}function qd(e,r,t,a,n){Jd(e.slice(0,e.indexOf(">")),t,a,n)}function Zd(e,r,t,a,n){var i=false;var s={},f=null;if(a.bookType!=="xlsx"&&r.vbaraw){var o=r.SheetNames[t];try{if(r.Workbook)o=r.Workbook.Sheets[t].CodeName||o}catch(l){}i=true;s.codeName=ct(qr(o))}if(e&&e["!outline"]){var c={summaryBelow:1,summaryRight:1};if(e["!outline"].above)c.summaryBelow=0;if(e["!outline"].left)c.summaryRight=0;f=(f||"")+kt("outlinePr",null,c)}if(!i&&!f)return;n[n.length]=kt("sheetPr",f,s)}var Qd=["objects","scenarios","selectLockedCells","selectUnlockedCells"];var ev=["formatColumns","formatRows","formatCells","insertColumns","insertRows","insertHyperlinks","deleteColumns","deleteRows","sort","autoFilter","pivotTables"];function rv(e){var r={sheet:1};Qd.forEach(function(t){if(e[t]!=null&&e[t])r[t]="1"});ev.forEach(function(t){if(e[t]!=null&&!e[t])r[t]="0"});if(e.password)r.password=ll(e.password).toString(16).toUpperCase();return kt("sheetProtection",null,r)}function tv(e,r,t){var a=Array.isArray(e);for(var n=0;n!=r.length;++n){var i=Gr(lt(r[n]),true);if(!i.ref)return;var s=((t||{})["!id"]||[])[i.id];if(s){i.Target=s.Target;if(i.location)i.Target+="#"+Yr(i.location)}else{i.Target="#"+Yr(i.location);s={Target:i.Target,TargetMode:"Internal"}}i.Rel=s;if(i.tooltip){i.Tooltip=i.tooltip;delete i.tooltip}var f=Da(i.ref);for(var o=f.s.r;o<=f.e.r;++o)for(var l=f.s.c;l<=f.e.c;++l){var c=Ra({c:l,r:o});if(a){if(!e[o])e[o]=[];if(!e[o][l])e[o][l]={t:"z",v:undefined};e[o][l].l=i}else{if(!e[c])e[c]={t:"z",v:undefined};e[c].l=i}}}}function av(e){var r={};["left","right","top","bottom","header","footer"].forEach(function(t){if(e[t])r[t]=parseFloat(e[t])});return r}function nv(e){Dd(e);return kt("pageMargins",null,e)}function iv(e,r){var t=false;for(var a=0;a!=r.length;++a){var n=Gr(r[a],true);if(n.hidden)n.hidden=nt(n.hidden);var i=parseInt(n.min,10)-1,s=parseInt(n.max,10)-1;if(n.outlineLevel)n.level=+n.outlineLevel||0;delete n.min;delete n.max;n.width=+n.width;if(!t&&n.width){t=true;Rl(n.width)}Il(n);while(i<=s)e[i++]=br(n)}}function sv(e,r){var t=[""],a;for(var n=0;n!=r.length;++n){if(!(a=r[n]))continue;t[t.length]=kt("col",null,Nd(n,a))}t[t.length]="";return t.join("")}function fv(e){var r={ref:(e.match(/ref="([^"]*)"/)||[])[1]};return r}function ov(e,r,t,a){var n=typeof e.ref=="string"?e.ref:Na(e.ref);if(!t.Workbook)t.Workbook={Sheets:[]};if(!t.Workbook.Names)t.Workbook.Names=[];var i=t.Workbook.Names;var s=Ia(n);if(s.s.r==s.e.r){s.e.r=Ia(r["!ref"]).e.r;n=Na(s)}for(var f=0;fa-z][^>]*)?\/?>/;function cv(e,r){if(!r.Views)r.Views=[{}];(e.match(lv)||[]).forEach(function(e,t){var a=Gr(e);if(!r.Views[t])r.Views[t]={};if(+a.zoomScale)r.Views[t].zoom=+a.zoomScale;if(nt(a.rightToLeft))r.Views[t].RTL=true})}function hv(e,r,t,a){var n={workbookViewId:"0"};if((((a||{}).Workbook||{}).Views||[])[0])n.rightToLeft=a.Workbook.Views[0].RTL?"1":"0";return kt("sheetViews",kt("sheetView",null,n),{})}function uv(e,r,t,a){if(e.c)t["!comments"].push([r,e.c]);if(e.v===undefined&&typeof e.f!=="string"||e.t==="z"&&!e.f)return"";var n="";var i=e.t,s=e.v;if(e.t!=="z")switch(e.t){case"b":n=e.v?"1":"0";break;case"n":n=""+e.v;break;case"e":n=Gn[e.v];break;case"d":if(a&&a.cellDates)n=gr(e.v,-1).toISOString();else{e=br(e);e.t="n";n=""+(e.v=fr(gr(e.v)))}if(typeof e.z==="undefined")e.z=X[14];break;default:n=e.v;break;}var f=bt("v",qr(n)),o={r:r};var l=Fd(a.cellXfs,e,a);if(l!==0)o.s=l;switch(e.t){case"n":break;case"d":o.t="d";break;case"b":o.t="b";break;case"e":o.t="e";break;case"z":break;default:if(e.v==null){delete e.t;break}if(e.v.length>32767)throw new Error("Text length must not exceed 32767 characters");if(a&&a.bookSST){f=bt("v",""+Id(a.Strings,e.v,a.revStrings));o.t="s";break}o.t="str";break;}if(e.t!=i){e.t=i;e.v=s}if(typeof e.f=="string"&&e.f){var c=e.F&&e.F.slice(0,r.length)==r?{t:"array",ref:e.F}:null;f=kt("f",qr(e.f),c)+(e.v!=null?f:"")}if(e.l)t["!links"].push([r,e.l]);if(e.D)o.cm=1;return kt("c",f,o)}var dv=function(){var e=/<(?:\w+:)?c[ \/>]/,r=/<\/(?:\w+:)?row>/;var t=/r=["']([^"']*)["']/,a=/<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/; +var n=/ref=["']([^"']*)["']/;var i=ht("v"),s=ht("f");return function f(o,l,c,h,u,d){var v=0,p="",g=[],m=[],b=0,w=0,k=0,T="",A;var E,C=0,y=0;var S,_;var x=0,O=0;var R=Array.isArray(d.CellXf),I;var N=[];var D=[];var F=Array.isArray(l);var P=[],L={},M=false;var U=!!c.sheetStubs;for(var B=o.split(r),W=0,H=B.length;W!=H;++W){p=B[W].trim();var z=p.length;if(z===0)continue;var V=0;e:for(v=0;v":if(p[v-1]!="/"){++v;break e}if(c&&c.cellStyles){E=Gr(p.slice(V,v),true);C=E.r!=null?parseInt(E.r,10):C+1;y=-1;if(c.sheetRows&&c.sheetRows=v)break;E=Gr(p.slice(V,v),true);C=E.r!=null?parseInt(E.r,10):C+1;y=-1;if(c.sheetRows&&c.sheetRowsC-1)h.s.r=C-1;if(h.e.r":"")+p;if(m!=null&&m.length===2){b=0;T=m[1];for(w=0;w!=T.length;++w){if((k=T.charCodeAt(w)-64)<1||k>26)break;b=26*b+k}--b;y=b}else++y;for(w=0;w!=p.length;++w)if(p.charCodeAt(w)===62)break;++w;E=Gr(p.slice(0,w),true);if(!E.r)E.r=Ra({r:C-1,c:y});T=p.slice(w);A={t:""};if((m=T.match(i))!=null&&m[1]!=="")A.v=Yr(m[1]);if(c.cellFormula){if((m=T.match(s))!=null&&m[1]!==""){A.f=Yr(lt(m[1])).replace(/\r\n/g,"\n");if(!c.xlfn)A.f=Nh(A.f);if(m[0].indexOf('t="array"')>-1){A.F=(T.match(n)||[])[1];if(A.F.indexOf(":")>-1)N.push([Da(A.F),A.F])}else if(m[0].indexOf('t="shared"')>-1){_=Gr(m[0]);var j=Yr(lt(m[1]));if(!c.xlfn)j=Nh(j);D[parseInt(_.si,10)]=[_,j,E.r]}}else if(m=T.match(/]*\/>/)){_=Gr(m[0]);if(D[_.si])A.f=Rh(D[_.si][1],D[_.si][2],E.r)}var $=Oa(E.r);for(w=0;w=N[w][0].s.r&&$.r<=N[w][0].e.r)if($.c>=N[w][0].s.c&&$.c<=N[w][0].e.c)A.F=N[w][1]}if(E.t==null&&A.v===undefined){if(A.f||A.F){A.v=0;A.t="n"}else if(!U)continue;else A.t="z"}else A.t=E.t||"n";if(h.s.c>y)h.s.c=y;if(h.e.c0)l["!rows"]=P}}();function vv(e,r,t,a){var n=[],i=[],s=Da(e["!ref"]),f="",o,l="",c=[],h=0,u=0,d=e["!rows"];var v=Array.isArray(e);var p={r:l},g,m=-1;for(u=s.s.c;u<=s.e.c;++u)c[u]=ya(u);for(h=s.s.r;h<=s.e.r;++h){i=[];l=Ta(h);for(u=s.s.c;u<=s.e.c;++u){o=c[u]+l;var b=v?(e[h]||[])[u]:e[o];if(b===undefined)continue;if((f=uv(b,o,e,r,t,a))!=null)i.push(f)}if(i.length>0||d&&d[h]){p={r:l};if(d&&d[h]){g=d[h];if(g.hidden)p.hidden=1;m=-1;if(g.hpx)m=Fl(g.hpx);else if(g.hpt)m=g.hpt;if(m>-1){p.ht=m;p.customHeight=1}if(g.level){p.outlineLevel=g.level}}n[n.length]=kt("row",i.join(""),p)}}if(d)for(;h-1){p.ht=m;p.customHeight=1}if(g.level){p.outlineLevel=g.level}n[n.length]=kt("row","",p)}}return n.join("")}function pv(e,r,t,a){var n=[Mr,kt("worksheet",null,{xmlns:St[0],"xmlns:r":yt.r})];var i=t.SheetNames[e],s=0,f="";var o=t.Sheets[i];if(o==null)o={};var l=o["!ref"]||"A1";var c=Da(l);if(c.e.c>16383||c.e.r>1048575){if(r.WTF)throw new Error("Range "+l+" exceeds format limit A1:XFD1048576");c.e.c=Math.min(c.e.c,16383);c.e.r=Math.min(c.e.c,1048575);l=Na(c)}if(!a)a={};o["!comments"]=[];var h=[];Zd(o,t,e,r,n);n[n.length]=kt("dimension",null,{ref:l});n[n.length]=hv(o,r,e,t);if(r.sheetFormat)n[n.length]=kt("sheetFormatPr",null,{defaultRowHeight:r.sheetFormat.defaultRowHeight||"16",baseColWidth:r.sheetFormat.baseColWidth||"10",outlineLevelRow:r.sheetFormat.outlineLevelRow||"7"});if(o["!cols"]!=null&&o["!cols"].length>0)n[n.length]=sv(o,o["!cols"]);n[s=n.length]="";o["!links"]=[];if(o["!ref"]!=null){f=vv(o,r,e,t,a);if(f.length>0)n[n.length]=f}if(n.length>s+1){n[n.length]="";n[s]=n[s].replace("/>",">")}if(o["!protect"])n[n.length]=rv(o["!protect"]);if(o["!autofilter"]!=null)n[n.length]=ov(o["!autofilter"],o,t,e);if(o["!merges"]!=null&&o["!merges"].length>0)n[n.length]=Kd(o["!merges"]);var u=-1,d,v=-1;if(o["!links"].length>0){n[n.length]="";o["!links"].forEach(function(e){if(!e[1].Target)return;d={ref:e[0]};if(e[1].Target.charAt(0)!="#"){v=ri(a,-1,qr(e[1].Target).replace(/#.*$/,""),qn.HLINK);d["r:id"]="rId"+v}if((u=e[1].Target.indexOf("#"))>-1)d.location=qr(e[1].Target.slice(u+1));if(e[1].Tooltip)d.tooltip=qr(e[1].Tooltip);n[n.length]=kt("hyperlink",null,d)});n[n.length]=""}delete o["!links"];if(o["!margins"]!=null)n[n.length]=nv(o["!margins"]);if(!r||r.ignoreEC||r.ignoreEC==void 0)n[n.length]=bt("ignoredErrors",kt("ignoredError",null,{numberStoredAsText:1,sqref:l}));if(h.length>0){v=ri(a,-1,"../drawings/drawing"+(e+1)+".xml",qn.DRAW);n[n.length]=kt("drawing",null,{"r:id":"rId"+v});o["!drawing"]=h}if(o["!comments"].length>0){v=ri(a,-1,"../drawings/vmlDrawing"+(e+1)+".vml",qn.VML);n[n.length]=kt("legacyDrawing",null,{"r:id":"rId"+v});o["!legacy"]=v}if(n.length>1){n[n.length]="";n[1]=n[1].replace("/>",">")}return n.join("")}function gv(e,r){var t={};var a=e.l+r;t.r=e._R(4);e.l+=4;var n=e._R(2);e.l+=1;var i=e._R(1);e.l=a;if(i&7)t.level=i&7;if(i&16)t.hidden=true;if(i&32)t.hpt=n/20;return t}function mv(e,r,t){var a=ua(17+8*16);var n=(t["!rows"]||[])[e]||{};a._W(4,e);a._W(4,0);var i=320;if(n.hpx)i=Fl(n.hpx)*20;else if(n.hpt)i=n.hpt*20;a._W(2,i);a._W(1,0);var s=0;if(n.level)s|=n.level;if(n.hidden)s|=16;if(n.hpx||n.hpt)s|=32;a._W(1,s);a._W(1,0);var f=0,o=a.l;a.l+=4;var l={r:e,c:0};for(var c=0;c<16;++c){if(r.s.c>c+1<<10||r.e.ca.l?a.slice(0,a.l):a}function bv(e,r,t,a){var n=mv(a,t,r);if(n.length>17||(r["!rows"]||[])[a])pa(e,0,n)}var wv=hn;var kv=un;function Tv(){}function Av(e,r){var t={};var a=e[e.l];++e.l;t.above=!(a&64);t.left=!(a&128);e.l+=18;t.name=Qa(e,r-19);return t}function Ev(e,r,t){if(t==null)t=ua(84+4*e.length);var a=192;if(r){if(r.above)a&=~64;if(r.left)a&=~128}t._W(1,a);for(var n=1;n<3;++n)t._W(1,0);gn({auto:1},t);t._W(-4,-1);t._W(-4,-1);en(e,t);return t.slice(0,t.l)}function Cv(e){var r=Ka(e);return[r]}function yv(e,r,t){if(t==null)t=ua(8);return Ja(r,t)}function Sv(e){var r=qa(e);return[r]}function _v(e,r,t){if(t==null)t=ua(4);return Za(r,t)}function xv(e){var r=Ka(e);var t=e._R(1);return[r,t,"b"]}function Ov(e,r,t){if(t==null)t=ua(9);Ja(r,t);t._W(1,e.v?1:0);return t}function Rv(e){var r=qa(e);var t=e._R(1);return[r,t,"b"]}function Iv(e,r,t){if(t==null)t=ua(5);Za(r,t);t._W(1,e.v?1:0);return t}function Nv(e){var r=Ka(e);var t=e._R(1);return[r,t,"e"]}function Dv(e,r,t){if(t==null)t=ua(9);Ja(r,t);t._W(1,e.v);return t}function Fv(e){var r=qa(e);var t=e._R(1);return[r,t,"e"]}function Pv(e,r,t){if(t==null)t=ua(8);Za(r,t);t._W(1,e.v);t._W(2,0);t._W(1,0);return t}function Lv(e){var r=Ka(e);var t=e._R(4);return[r,t,"s"]}function Mv(e,r,t){if(t==null)t=ua(12);Ja(r,t);t._W(4,r.v);return t}function Uv(e){var r=qa(e);var t=e._R(4);return[r,t,"s"]}function Bv(e,r,t){if(t==null)t=ua(8);Za(r,t);t._W(4,r.v);return t}function Wv(e){var r=Ka(e);var t=dn(e);return[r,t,"n"]}function Hv(e,r,t){if(t==null)t=ua(16);Ja(r,t);vn(e.v,t);return t}function zv(e){var r=qa(e);var t=dn(e);return[r,t,"n"]}function Vv(e,r,t){if(t==null)t=ua(12);Za(r,t);vn(e.v,t);return t}function Gv(e){var r=Ka(e);var t=fn(e);return[r,t,"n"]}function jv(e,r,t){if(t==null)t=ua(12);Ja(r,t);on(e.v,t);return t}function Xv(e){var r=qa(e);var t=fn(e);return[r,t,"n"]}function $v(e,r,t){if(t==null)t=ua(8);Za(r,t);on(e.v,t);return t}function Yv(e){var r=Ka(e);var t=ja(e);return[r,t,"is"]}function Kv(e){var r=Ka(e);var t=Ha(e);return[r,t,"str"]}function Jv(e,r,t){if(t==null)t=ua(12+4*e.v.length);Ja(r,t);za(e.v,t);return t.length>t.l?t.slice(0,t.l):t}function qv(e){var r=qa(e);var t=Ha(e);return[r,t,"str"]}function Zv(e,r,t){if(t==null)t=ua(8+4*e.v.length);Za(r,t);za(e.v,t);return t.length>t.l?t.slice(0,t.l):t}function Qv(e,r,t){var a=e.l+r;var n=Ka(e);n.r=t["!row"];var i=e._R(1);var s=[n,i,"b"];if(t.cellFormula){e.l+=2;var f=bd(e,a-e.l,t);s[3]=fd(f,null,n,t.supbooks,t)}else e.l=a;return s}function ep(e,r,t){var a=e.l+r;var n=Ka(e);n.r=t["!row"];var i=e._R(1);var s=[n,i,"e"];if(t.cellFormula){e.l+=2;var f=bd(e,a-e.l,t);s[3]=fd(f,null,n,t.supbooks,t)}else e.l=a;return s}function rp(e,r,t){var a=e.l+r;var n=Ka(e);n.r=t["!row"];var i=dn(e);var s=[n,i,"n"];if(t.cellFormula){e.l+=2;var f=bd(e,a-e.l,t);s[3]=fd(f,null,n,t.supbooks,t)}else e.l=a;return s}function tp(e,r,t){var a=e.l+r;var n=Ka(e);n.r=t["!row"];var i=Ha(e);var s=[n,i,"str"];if(t.cellFormula){e.l+=2;var f=bd(e,a-e.l,t);s[3]=fd(f,null,n,t.supbooks,t)}else e.l=a;return s}var ap=hn;var np=un;function ip(e,r){if(r==null)r=ua(4);r._W(4,e);return r}function sp(e,r){var t=e.l+r;var a=hn(e,16);var n=rn(e);var i=Ha(e);var s=Ha(e);var f=Ha(e);e.l=t;var o={rfx:a,relId:n,loc:i,display:f};if(s)o.Tooltip=s;return o}function fp(e,r){var t=ua(50+4*(e[1].Target.length+(e[1].Tooltip||"").length));un({s:Oa(e[0]),e:Oa(e[0])},t);sn("rId"+r,t);var a=e[1].Target.indexOf("#");var n=a==-1?"":e[1].Target.slice(a+1);za(n||"",t);za(e[1].Tooltip||"",t);za("",t);return t.slice(0,t.l)}function op(){}function lp(e,r,t){var a=e.l+r;var n=ln(e,16);var i=e._R(1);var s=[n];s[2]=i;if(t.cellFormula){var f=md(e,a-e.l,t);s[1]=f}else e.l=a;return s}function cp(e,r,t){var a=e.l+r;var n=hn(e,16);var i=[n];if(t.cellFormula){var s=kd(e,a-e.l,t);i[1]=s;e.l=a}else e.l=a;return i}function hp(e,r,t){if(t==null)t=ua(18);var a=Nd(e,r);t._W(-4,e);t._W(-4,e);t._W(4,(a.width||10)*256);t._W(4,0);var n=0;if(r.hidden)n|=1;if(typeof a.width=="number")n|=2;if(r.level)n|=r.level<<8;t._W(2,n);return t}var up=["left","right","top","bottom","header","footer"];function dp(e){var r={};up.forEach(function(t){r[t]=dn(e,8)});return r}function vp(e,r){if(r==null)r=ua(6*8);Dd(e);up.forEach(function(t){vn(e[t],r)});return r}function pp(e){var r=e._R(2);e.l+=28;return{RTL:r&32}}function gp(e,r,t){if(t==null)t=ua(30);var a=924;if((((r||{}).Views||[])[0]||{}).RTL)a|=32;t._W(2,a);t._W(4,0);t._W(4,0);t._W(4,0);t._W(1,0);t._W(1,0);t._W(2,0);t._W(2,100);t._W(2,0);t._W(2,0);t._W(2,0);t._W(4,0);return t}function mp(e){var r=ua(24);r._W(4,4);r._W(4,1);un(e,r);return r}function bp(e,r){if(r==null)r=ua(16*4+2);r._W(2,e.password?ll(e.password):0);r._W(4,1);[["objects",false],["scenarios",false],["formatCells",true],["formatColumns",true],["formatRows",true],["insertColumns",true],["insertRows",true],["insertHyperlinks",true],["deleteColumns",true],["deleteRows",true],["selectLockedCells",false],["sort",true],["autoFilter",true],["pivotTables",true],["selectUnlockedCells",false]].forEach(function(t){if(t[1])r._W(4,e[t[0]]!=null&&!e[t[0]]?1:0);else r._W(4,e[t[0]]!=null&&e[t[0]]?0:1)});return r}function wp(){}function kp(){}function Tp(e,r,t,a,n,i,s){if(!e)return e;var f=r||{};if(!a)a={"!id":{}};if(g!=null&&f.dense==null)f.dense=g;var o=f.dense?[]:{};var l;var c={s:{r:2e6,c:2e6},e:{r:0,c:0}};var h=[];var u=false,d=false;var v,p,m,b,w,k,T,A,E;var C=[];f.biff=12;f["!row"]=0;var y=0,S=false;var _=[];var x={};var O=f.supbooks||n.supbooks||[[]];O.sharedf=x;O.arrayf=_;O.SheetNames=n.SheetNames||n.Sheets.map(function(e){return e.name});if(!f.supbooks){f.supbooks=O;if(n.Names)for(var R=0;R=R[0].s.r&&v.r<=R[0].e.r)if(w>=R[0].s.c&&w<=R[0].e.c){p.F=Na(R[0]);S=true}}if(!S&&e.length>3)p.f=e[3]}if(c.s.r>v.r)c.s.r=v.r;if(c.s.c>w)c.s.c=w;if(c.e.rv.r)c.s.r=v.r;if(c.s.c>w)c.s.c=w;if(c.e.r=e.s){I[e.e--]={width:e.w/256,hidden:!!(e.flags&1),level:e.level};if(!D){D=true;Rl(e.w/256)}Il(I[e.e+1])}break;case 161:o["!autofilter"]={ref:Na(e)};break;case 476:o["!margins"]=e;break;case 147:if(!n.Sheets[t])n.Sheets[t]={};if(e.name)n.Sheets[t].CodeName=e.name;if(e.above||e.left)o["!outline"]={above:e.above,left:e.left};break;case 137:if(!n.Views)n.Views=[{}];if(!n.Views[0])n.Views[0]={};if(e.RTL)n.Views[0].RTL=true;break;case 485:break;case 64:;case 1053:break;case 151:break;case 152:;case 175:;case 644:;case 625:;case 562:;case 396:;case 1112:;case 1146:;case 471:;case 1050:;case 649:;case 1105:;case 589:;case 607:;case 564:;case 1055:;case 168:;case 174:;case 1180:;case 499:;case 507:;case 550:;case 171:;case 167:;case 1177:;case 169:;case 1181:;case 551:;case 552:;case 661:;case 639:;case 478:;case 537:;case 477:;case 536:;case 1103:;case 680:;case 1104:;case 1024:;case 663:;case 535:;case 678:;case 504:;case 1043:;case 428:;case 170:;case 3072:;case 50:;case 2070:;case 1045:break;case 35:u=true;break;case 36:u=false;break;case 37:h.push(g);u=true;break;case 38:h.pop();u=false;break;default:if(r.T){}else if(!u||f.WTF)throw new Error("Unexpected record 0x"+g.toString(16));}},f);delete f.supbooks;delete f["!row"];if(!o["!ref"]&&(c.s.r<2e6||l&&(l.e.r>0||l.e.c>0||l.s.r>0||l.s.c>0)))o["!ref"]=Na(l||c);if(f.sheetRows&&o["!ref"]){var L=Da(o["!ref"]);if(f.sheetRows<=+L.e.r){L.e.r=f.sheetRows-1;if(L.e.r>c.e.r)L.e.r=c.e.r;if(L.e.rc.e.c)L.e.c=c.e.c;if(L.e.c0)o["!merges"]=C;if(I.length>0)o["!cols"]=I;if(N.length>0)o["!rows"]=N;return o}function Ap(e,r,t,a,n,i,s){if(r.v===undefined)return false;var f="";switch(r.t){case"b":f=r.v?"1":"0";break;case"d":r=br(r);r.z=r.z||X[14];r.v=fr(gr(r.v));r.t="n";break;case"n":;case"e":f=""+r.v;break;default:f=r.v;break;}var o={r:t,c:a};o.s=Fd(n.cellXfs,r,n);if(r.l)i["!links"].push([Ra(o),r.l]);if(r.c)i["!comments"].push([Ra(o),r.c]);switch(r.t){case"s":;case"str":if(n.bookSST){f=Id(n.Strings,r.v,n.revStrings);o.t="s";o.v=f;if(s)pa(e,18,Bv(r,o));else pa(e,7,Mv(r,o))}else{o.t="str";if(s)pa(e,17,Zv(r,o));else pa(e,6,Jv(r,o))}return true;case"n":if(r.v==(r.v|0)&&r.v>-1e3&&r.v<1e3){if(s)pa(e,13,$v(r,o));else pa(e,2,jv(r,o))}else{if(s)pa(e,16,Vv(r,o));else pa(e,5,Hv(r,o))}return true;case"b":o.t="b";if(s)pa(e,15,Iv(r,o));else pa(e,4,Ov(r,o));return true;case"e":o.t="e";if(s)pa(e,14,Pv(r,o));else pa(e,3,Dv(r,o));return true;}if(s)pa(e,12,_v(r,o));else pa(e,1,yv(r,o));return true}function Ep(e,r,t,a){var n=Da(r["!ref"]||"A1"),i,s="",f=[];pa(e,145);var o=Array.isArray(r);var l=n.e.r;if(r["!rows"])l=Math.max(n.e.r,r["!rows"].length-1);for(var c=n.s.r;c<=l;++c){s=Ta(c);bv(e,r,n,c);var h=false;if(c<=n.e.r)for(var u=n.s.c;u<=n.e.c;++u){if(c===n.s.r)f[u]=ya(u);i=f[u]+s;var d=o?(r[c]||[])[u]:r[i];if(!d){h=false;continue}h=Ap(e,d,c,u,a,r,h)}}pa(e,146)}function Cp(e,r){if(!r||!r["!merges"])return;pa(e,177,ip(r["!merges"].length));r["!merges"].forEach(function(r){pa(e,176,np(r))});pa(e,178)}function yp(e,r){if(!r||!r["!cols"])return;pa(e,390);r["!cols"].forEach(function(r,t){if(r)pa(e,60,hp(t,r))});pa(e,391)}function Sp(e,r){if(!r||!r["!ref"])return;pa(e,648);pa(e,649,mp(Da(r["!ref"])));pa(e,650)}function _p(e,r,t){r["!links"].forEach(function(r){if(!r[1].Target)return;var a=ri(t,-1,r[1].Target.replace(/#.*$/,""),qn.HLINK);pa(e,494,fp(r,a))});delete r["!links"]}function xp(e,r,t,a){if(r["!comments"].length>0){var n=ri(a,-1,"../drawings/vmlDrawing"+(t+1)+".vml",qn.VML);pa(e,551,sn("rId"+n));r["!legacy"]=n}}function Op(e,r,t,a){if(!r["!autofilter"])return;var n=r["!autofilter"];var i=typeof n.ref==="string"?n.ref:Na(n.ref);if(!t.Workbook)t.Workbook={Sheets:[]};if(!t.Workbook.Names)t.Workbook.Names=[];var s=t.Workbook.Names;var f=Ia(i);if(f.s.r==f.e.r){f.e.r=Ia(r["!ref"]).e.r;i=Na(f)}for(var o=0;o16383||l.e.r>1048575){if(r.WTF)throw new Error("Range "+(s["!ref"]||"A1")+" exceeds format limit A1:XFD1048576");l.e.c=Math.min(l.e.c,16383);l.e.r=Math.min(l.e.c,1048575)}s["!links"]=[];s["!comments"]=[];pa(n,129);if(t.vbaraw||s["!outline"])pa(n,147,Ev(f,s["!outline"]));pa(n,148,kv(l));Rp(n,s,t.Workbook);Ip(n,s);yp(n,s,e,r,t);Ep(n,s,e,r,t);Np(n,s);Op(n,s,t,e);Cp(n,s);_p(n,s,a);if(s["!margins"])pa(n,476,vp(s["!margins"]));if(!r||r.ignoreEC||r.ignoreEC==void 0)Sp(n,s);xp(n,s,e,a);pa(n,130);return n.end()}function Fp(e){var r=[];var t=e.match(/^/);var a;(e.match(/(.*?)<\/c:pt>/gm)||[]).forEach(function(e){var a=e.match(/(.*)<\/c:v><\/c:pt>/);if(!a)return;r[+a[1]]=t?+a[2]:a[2]});var n=Yr((e.match(/([\s\S]*?)<\/c:formatCode>/)||["","General"])[1]);(e.match(/(.*?)<\/c:f>/gm)||[]).forEach(function(e){a=e.replace(/<.*?>/g,"")});return[r,n,a]}function Pp(e,r,t,a,n,i){var s=i||{"!type":"chart"};if(!e)return i;var f=0,o=0,l="A";var c={s:{r:2e6,c:2e6},e:{r:0,c:0}};(e.match(/[\s\S]*?<\/c:numCache>/gm)||[]).forEach(function(e){var r=Fp(e);c.s.r=c.s.c=0;c.e.c=f;l=ya(f);r[0].forEach(function(e,t){s[l+Ta(t)]={t:"n",v:e,z:r[1]};o=t});if(c.e.r0)s["!ref"]=Na(c);return s}function Lp(e,r,t,a,n){if(!e)return e;if(!a)a={"!id":{}};var i={"!type":"chart","!drawel":null,"!rel":""};var s;var f=e.match(jd);if(f)Jd(f[0],i,n,t);if(s=e.match(/drawing r:id="(.*?)"/))i["!rel"]=s[1];if(a["!id"][i["!rel"]])i["!drawel"]=a["!id"][i["!rel"]];return i}function Mp(e,r,t,a){var n=[Mr,kt("chartsheet",null,{xmlns:St[0],"xmlns:r":yt.r})];n[n.length]=kt("drawing",null,{"r:id":"rId1"});ri(a,-1,"../drawings/drawing"+(e+1)+".xml",qn.DRAW);if(n.length>2){n[n.length]="";n[1]=n[1].replace("/>",">")}return n.join("")}function Up(e,r){e.l+=10;var t=Ha(e,r-10);return{name:t}}function Bp(e,r,t,a,n){if(!e)return e;if(!a)a={"!id":{}};var i={"!type":"chart","!drawel":null,"!rel":""};var s=[];var f=false;da(e,function o(e,a,l){switch(l){case 550:i["!rel"]=e;break;case 651:if(!n.Sheets[t])n.Sheets[t]={};if(e.name)n.Sheets[t].CodeName=e.name;break;case 562:;case 652:;case 669:;case 679:;case 551:;case 552:;case 476:;case 3072:break;case 35:f=true;break;case 36:f=false;break;case 37:s.push(l);break;case 38:s.pop();break;default:if(a.T>0)s.push(l);else if(a.T<0)s.pop();else if(!f||r.WTF)throw new Error("Unexpected record 0x"+l.toString(16));}},r);if(a["!id"][i["!rel"]])i["!drawel"]=a["!id"][i["!rel"]];return i}function Wp(){var e=va();pa(e,129);pa(e,130);return e.end()}var Hp=[["allowRefreshQuery",false,"bool"],["autoCompressPictures",true,"bool"],["backupFile",false,"bool"],["checkCompatibility",false,"bool"],["CodeName",""],["date1904",false,"bool"],["defaultThemeVersion",0,"int"],["filterPrivacy",false,"bool"],["hidePivotFieldList",false,"bool"],["promptedSolutions",false,"bool"],["publishItems",false,"bool"],["refreshAllConnections",false,"bool"],["saveExternalLinkValues",true,"bool"],["showBorderUnselectedTables",true,"bool"],["showInkAnnotation",true,"bool"],["showObjects","all"],["showPivotChartFilter",false,"bool"],["updateLinks","userSet"]];var zp=[["activeTab",0,"int"],["autoFilterDateGrouping",true,"bool"],["firstSheet",0,"int"],["minimized",false,"bool"],["showHorizontalScroll",true,"bool"],["showSheetTabs",true,"bool"],["showVerticalScroll",true,"bool"],["tabRatio",600,"int"],["visibility","visible"]];var Vp=[];var Gp=[["calcCompleted","true"],["calcMode","auto"],["calcOnSave","true"],["concurrentCalc","true"],["fullCalcOnLoad","false"],["fullPrecision","true"],["iterate","false"],["iterateCount","100"],["iterateDelta","0.001"],["refMode","A1"]];function jp(e,r){for(var t=0;t!=e.length;++t){var a=e[t];for(var n=0;n!=r.length;++n){var i=r[n];if(a[i[0]]==null)a[i[0]]=i[1];else switch(i[2]){case"bool":if(typeof a[i[0]]=="string")a[i[0]]=nt(a[i[0]]);break;case"int":if(typeof a[i[0]]=="string")a[i[0]]=parseInt(a[i[0]],10);break;}}}}function Xp(e,r){for(var t=0;t!=r.length;++t){var a=r[t];if(e[a[0]]==null)e[a[0]]=a[1];else switch(a[2]){case"bool":if(typeof e[a[0]]=="string")e[a[0]]=nt(e[a[0]]);break;case"int":if(typeof e[a[0]]=="string")e[a[0]]=parseInt(e[a[0]],10);break;}}}function $p(e){Xp(e.WBProps,Hp);Xp(e.CalcPr,Gp);jp(e.WBView,zp);jp(e.Sheets,Vp);Od.date1904=nt(e.WBProps.date1904)}function Yp(e){if(!e.Workbook)return"false";if(!e.Workbook.WBProps)return"false";return nt(e.Workbook.WBProps.date1904)?"true":"false"}var Kp="][*?/\\".split("");function Jp(e,r){if(e.length>31){if(r)return false;throw new Error("Sheet names cannot exceed 31 chars")}var t=true;Kp.forEach(function(a){if(e.indexOf(a)==-1)return;if(!r)throw new Error("Sheet name cannot contain : \\ / ? * [ ]");t=false});return t}function qp(e,r,t){e.forEach(function(a,n){Jp(a);for(var i=0;i22)throw new Error("Bad Code Name: Worksheet"+s)}})}function Zp(e){if(!e||!e.SheetNames||!e.Sheets)throw new Error("Invalid Workbook");if(!e.SheetNames.length)throw new Error("Workbook is empty");var r=e.Workbook&&e.Workbook.Sheets||[];qp(e.SheetNames,r,!!e.vbaraw);for(var t=0;t":break;case"":;case"":break;case"":break;case"":Hp.forEach(function(e){if(c[e[0]]==null)return;switch(e[2]){case"bool":t.WBProps[e[0]]=nt(c[e[0]]);break;case"int":t.WBProps[e[0]]=parseInt(c[e[0]],10);break;default:t.WBProps[e[0]]=c[e[0]];}});if(c.codeName)t.WBProps.CodeName=lt(c.codeName);break;case"":break;case"":break;case"":;case"":break;case"":delete c[0];t.WBView.push(c);break;case"":break;case"":;case"":break;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":a=false;break;case"":{i.Ref=Yr(lt(e.slice(s,l)));t.Names.push(i)}break;case"":break;case"":delete c[0];t.CalcPr=c;break;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"":break;case"":break;case"":break;case"":;case"":break;case"":;case"":;case"":break;case"":a=false;break;case"":a=true;break;case"":a=false;break;case"0;var a={codeName:"ThisWorkbook"};if(e.Workbook&&e.Workbook.WBProps){Hp.forEach(function(r){if(e.Workbook.WBProps[r[0]]==null)return;if(e.Workbook.WBProps[r[0]]==r[1])return;a[r[0]]=e.Workbook.WBProps[r[0]]});if(e.Workbook.WBProps.CodeName){a.codeName=e.Workbook.WBProps.CodeName;delete a.CodeName}}r[r.length]=kt("workbookPr",null,a);var n=e.Workbook&&e.Workbook.Sheets||[];var i=0;if(n&&n[0]&&!!n[0].Hidden){r[r.length]="";for(i=0;i!=e.SheetNames.length;++i){if(!n[i])break;if(!n[i].Hidden)break}if(i==e.SheetNames.length)i=0;r[r.length]='';r[r.length]=""}r[r.length]="";for(i=0;i!=e.SheetNames.length;++i){var s={name:qr(e.SheetNames[i].slice(0,31))};s.sheetId=""+(i+1);s["r:id"]="rId"+(i+1);if(n[i])switch(n[i].Hidden){case 1:s.state="hidden";break;case 2:s.state="veryHidden";break;}r[r.length]=kt("sheet",null,s)}r[r.length]="";if(t){r[r.length]="";if(e.Workbook&&e.Workbook.Names)e.Workbook.Names.forEach(function(e){var t={name:e.Name};if(e.Comment)t.comment=e.Comment;if(e.Sheet!=null)t.localSheetId=""+e.Sheet;if(e.Hidden)t.hidden="1";if(!e.Ref)return;r[r.length]=kt("definedName",qr(e.Ref),t)});r[r.length]=""}if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function tg(e,r){var t={};t.Hidden=e._R(4);t.iTabID=e._R(4);t.strRelID=nn(e,r-8);t.name=Ha(e);return t}function ag(e,r){if(!r)r=ua(127);r._W(4,e.Hidden);r._W(4,e.iTabID);sn(e.strRelID,r);za(e.name.slice(0,31),r);return r.length>r.l?r.slice(0,r.l):r}function ng(e,r){var t={};var a=e._R(4);t.defaultThemeVersion=e._R(4);var n=r>8?Ha(e):"";if(n.length>0)t.CodeName=n;t.autoCompressPictures=!!(a&65536);t.backupFile=!!(a&64);t.checkCompatibility=!!(a&4096);t.date1904=!!(a&1);t.filterPrivacy=!!(a&8);t.hidePivotFieldList=!!(a&1024);t.promptedSolutions=!!(a&16);t.publishItems=!!(a&2048);t.refreshAllConnections=!!(a&262144);t.saveExternalLinkValues=!!(a&128);t.showBorderUnselectedTables=!!(a&4);t.showInkAnnotation=!!(a&32);t.showObjects=["all","placeholders","none"][a>>13&3];t.showPivotChartFilter=!!(a&32768);t.updateLinks=["userSet","never","always"][a>>8&3];return t}function ig(e,r){if(!r)r=ua(72);var t=0;if(e){if(e.filterPrivacy)t|=8}r._W(4,t);r._W(4,0);en(e&&e.CodeName||"ThisWorkbook",r);return r.slice(0,r.l)}function sg(e,r){var t={};e._R(4);t.ArchID=e._R(4);e.l+=r-8;return t}function fg(e,r,t){var a=e.l+r;e.l+=4;e.l+=1;var n=e._R(4);var i=an(e);var s=wd(e,0,t);var f=rn(e);e.l=a;var o={Name:i,Ptg:s};if(n<268435455)o.Sheet=n;if(f)o.Comment=f;return o}function og(e,r){var t={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var a=[];var n=false;if(!r)r={};r.biff=12;var i=[];var s=[[]];s.SheetNames=[];s.XTI=[];gm[16]={n:"BrtFRTArchID$",f:sg};da(e,function f(e,o,l){switch(l){case 156:s.SheetNames.push(e.name);t.Sheets.push(e);break;case 153:t.WBProps=e;break;case 39:if(e.Sheet!=null)r.SID=e.Sheet;e.Ref=fd(e.Ptg,null,null,s,r);delete r.SID;delete e.Ptg;i.push(e);break;case 1036:break;case 357:;case 358:;case 355:;case 667:if(!s[0].length)s[0]=[l,e];else s.push([l,e]);s[s.length-1].XTI=[];break;case 362:if(s.length===0){s[0]=[];s[0].XTI=[]}s[s.length-1].XTI=s[s.length-1].XTI.concat(e);s.XTI=s.XTI.concat(e);break;case 361:break;case 2071:;case 158:;case 143:;case 664:;case 353:break;case 3072:;case 3073:;case 534:;case 677:;case 157:;case 610:;case 2050:;case 155:;case 548:;case 676:;case 128:;case 665:;case 2128:;case 2125:;case 549:;case 2053:;case 596:;case 2076:;case 2075:;case 2082:;case 397:;case 154:;case 1117:;case 553:;case 2091: +break;case 35:a.push(l);n=true;break;case 36:a.pop();n=false;break;case 37:a.push(l);n=true;break;case 38:a.pop();n=false;break;case 16:break;default:if(o.T){}else if(!n||r.WTF&&a[a.length-1]!=37&&a[a.length-1]!=35)throw new Error("Unexpected record 0x"+l.toString(16));}},r);$p(t);t.Names=i;t.supbooks=s;return t}function lg(e,r){pa(e,143);for(var t=0;t!=r.SheetNames.length;++t){var a=r.Workbook&&r.Workbook.Sheets&&r.Workbook.Sheets[t]&&r.Workbook.Sheets[t].Hidden||0;var n={Hidden:a,iTabID:t+1,strRelID:"rId"+(t+1),name:r.SheetNames[t]};pa(e,156,ag(n))}pa(e,144)}function cg(r,t){if(!t)t=ua(127);for(var a=0;a!=4;++a)t._W(4,0);za("SheetJS",t);za(e.version,t);za(e.version,t);za("7262",t);return t.length>t.l?t.slice(0,t.l):t}function hg(e,r){if(!r)r=ua(29);r._W(-4,0);r._W(-4,460);r._W(4,28800);r._W(4,17600);r._W(4,500);r._W(4,e);r._W(4,e);var t=120;r._W(1,t);return r.length>r.l?r.slice(0,r.l):r}function ug(e,r){if(!r.Workbook||!r.Workbook.Sheets)return;var t=r.Workbook.Sheets;var a=0,n=-1,i=-1;for(;an)return;pa(e,135);pa(e,158,hg(n));pa(e,136)}function dg(e,r){var t=va();pa(t,131);pa(t,128,cg());pa(t,153,ig(e.Workbook&&e.Workbook.WBProps||null));ug(t,e,r);lg(t,e,r);pa(t,132);return t.end()}function vg(e,r,t){if(r.slice(-4)===".bin")return og(e,t);return eg(e,t)}function pg(e,r,t,a,n,i,s,f){if(r.slice(-4)===".bin")return Tp(e,a,t,n,i,s,f);return Yd(e,a,t,n,i,s,f)}function gg(e,r,t,a,n,i,s,f){if(r.slice(-4)===".bin")return Bp(e,a,t,n,i,s,f);return Lp(e,a,t,n,i,s,f)}function mg(e,r,t,a,n,i,s,f){if(r.slice(-4)===".bin")return Ch(e,a,t,n,i,s,f);return yh(e,a,t,n,i,s,f)}function bg(e,r,t,a,n,i,s,f){if(r.slice(-4)===".bin")return Ah(e,a,t,n,i,s,f);return Eh(e,a,t,n,i,s,f)}function wg(e,r,t,a){if(r.slice(-4)===".bin")return lc(e,t,a);return Xl(e,t,a)}function kg(e,r,t){return Rc(e,t)}function Tg(e,r,t){if(r.slice(-4)===".bin")return Vo(e,t);return Bo(e,t)}function Ag(e,r,t){if(r.slice(-4)===".bin")return gh(e,t);return sh(e,t)}function Eg(e,r,t){if(r.slice(-4)===".bin")return Qc(e,r,t);return qc(e,r,t)}function Cg(e,r,t,a){if(t.slice(-4)===".bin")return rh(e,r,t,a);return eh(e,r,t,a)}function yg(e,r,t){if(r.slice(-4)===".bin")return $c(e,r,t);return Kc(e,r,t)}function Sg(e,r,t){return(r.slice(-4)===".bin"?dg:rg)(e,t)}function _g(e,r,t,a,n){return(r.slice(-4)===".bin"?Dp:pv)(e,t,a,n)}function xg(e,r,t,a,n){return(r.slice(-4)===".bin"?Wp:Mp)(e,t,a,n)}function Og(e,r,t){return(r.slice(-4)===".bin"?kc:$l)(e,t)}function Rg(e,r,t){return(r.slice(-4)===".bin"?Xo:Ho)(e,t)}function Ig(e,r,t){return(r.slice(-4)===".bin"?mh:fh)(e,t)}function Ng(e){return(e.slice(-4)===".bin"?Yc:Jc)()}var Dg=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g;var Fg=/([\w:]+)=((?:")(?:[^"]*)(?:")|(?:')(?:[^']*)(?:'))/;function Pg(e,r){var t=e.split(/\s+/);var a=[];if(!r)a[0]=t[0];if(t.length===1)return a;var n=e.match(Dg),i,s,f,o;if(n)for(o=0;o!=n.length;++o){i=n[o].match(Fg);if((s=i[1].indexOf(":"))===-1)a[i[1]]=i[2].slice(1,i[2].length-1);else{if(i[1].slice(0,6)==="xmlns:")f="xmlns"+i[1].slice(6);else f=i[1].slice(s+1);a[f]=i[2].slice(1,i[2].length-1)}}return a}function Lg(e){var r=e.split(/\s+/);var t={};if(r.length===1)return t;var a=e.match(Dg),n,i,s,f;if(a)for(f=0;f!=a.length;++f){n=a[f].match(Fg);if((i=n[1].indexOf(":"))===-1)t[n[1]]=n[2].slice(1,n[2].length-1);else{if(n[1].slice(0,6)==="xmlns:")s="xmlns"+n[1].slice(6);else s=n[1].slice(i+1);t[s]=n[2].slice(1,n[2].length-1)}}return t}var Mg;function Ug(e,r){var t=Mg[e]||Yr(e);if(t==="General")return fe(r);return Be(t,r)}function Bg(e,r,t,a){var n=a;switch((t[0].match(/dt:dt="([\w.]+)"/)||["",""])[1]){case"boolean":n=nt(a);break;case"i2":;case"int":n=parseInt(a,10);break;case"r4":;case"float":n=parseFloat(a);break;case"date":;case"dateTime.tz":n=gr(a);break;case"i8":;case"string":;case"fixed":;case"uuid":;case"bin.base64":break;default:throw new Error("bad custprop:"+t[0]);}e[Yr(r)]=n}function Wg(e,r,t){if(e.t==="z")return;if(!t||t.cellText!==false)try{if(e.t==="e"){e.w=e.w||Gn[e.v]}else if(r==="General"){if(e.t==="n"){if((e.v|0)===e.v)e.w=e.v.toString(10);else e.w=se(e.v)}else e.w=fe(e.v)}else e.w=Ug(r||"General",e.v)}catch(a){if(t.WTF)throw a}try{var n=Mg[r]||r||"General";if(t.cellNF)e.z=n;if(t.cellDates&&e.t=="n"&&Fe(n)){var i=q(e.v);if(i){e.t="d";e.v=new Date(i.y,i.m-1,i.d,i.H,i.M,i.S,i.u)}}}catch(a){if(t.WTF)throw a}}function Hg(e,r,t){if(t.cellStyles){if(r.Interior){var a=r.Interior;if(a.Pattern)a.patternType=Ll[a.Pattern]||a.Pattern}}e[r.ID]=r}function zg(e,r,t,a,n,i,s,f,o,l){var c="General",h=a.StyleID,u={};l=l||{};var d=[];var v=0;if(h===undefined&&f)h=f.StyleID;if(h===undefined&&s)h=s.StyleID;while(i[h]!==undefined){if(i[h].nf)c=i[h].nf;if(i[h].Interior)d.push(i[h].Interior);if(!i[h].Parent)break;h=i[h].Parent}switch(t.Type){case"Boolean":a.t="b";a.v=nt(e);break;case"String":a.t="s";a.r=tt(Yr(e));a.v=e.indexOf("<")>-1?Yr(r||e).replace(/<.*?>/g,""):a.r;break;case"DateTime":if(e.slice(-1)!="Z")e+="Z";a.v=(gr(e)-new Date(Date.UTC(1899,11,30)))/(24*60*60*1e3);if(a.v!==a.v)a.v=Yr(e);else if(a.v<60)a.v=a.v-1;if(!c||c=="General")c="yyyy-mm-dd";case"Number":if(a.v===undefined)a.v=+e;if(!a.t)a.t="n";break;case"Error":a.t="e";a.v=jn[e];if(l.cellText!==false)a.w=e;break;default:if(e==""&&r==""){a.t="z"}else{a.t="s";a.v=tt(r||e)}break;}Wg(a,c,l);if(l.cellFormula!==false){if(a.Formula){var p=Yr(a.Formula);if(p.charCodeAt(0)==61)p=p.slice(1);a.f=Sh(p,n);delete a.Formula;if(a.ArrayRange=="RC")a.F=Sh("RC:RC",n);else if(a.ArrayRange){a.F=Sh(a.ArrayRange,n);o.push([Da(a.F),a.F])}}else{for(v=0;v=o[v][0].s.r&&n.r<=o[v][0].e.r)if(n.c>=o[v][0].s.c&&n.c<=o[v][0].e.c)a.F=o[v][1]}}if(l.cellStyles){d.forEach(function(e){if(!u.patternType&&e.patternType)u.patternType=e.patternType});a.s=u}if(a.StyleID!==undefined)a.ixfe=a.StyleID}function Vg(e){e.t=e.v||"";e.t=e.t.replace(/\r\n/g,"\n").replace(/\r/g,"\n");e.v=e.w=e.ixfe=undefined}function Gg(e,r){var t=r||{};ze();var n=d(Et(e));if(t.type=="binary"||t.type=="array"||t.type=="base64"){if(typeof a!=="undefined")n=a.utils.decode(65001,c(n));else n=lt(n)}var i=n.slice(0,1024).toLowerCase(),s=false;i=i.replace(/".*?"/g,"");if((i.indexOf(">")&1023)>Math.min(i.indexOf(",")&1023,i.indexOf(";")&1023)){var f=br(t);f.type="string";return So.to_workbook(n,f)}if(i.indexOf("=0)s=true});if(s)return Hm(n,t);Mg={"General Number":"General","General Date":X[22],"Long Date":"dddd, mmmm dd, yyyy","Medium Date":X[15],"Short Date":X[14],"Long Time":X[19],"Medium Time":X[18],"Short Time":X[20],Currency:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',Fixed:X[2],Standard:X[4],Percent:X[10],Scientific:X[11],"Yes/No":'"Yes";"Yes";"No";@',"True/False":'"True";"True";"False";@',"On/Off":'"Yes";"Yes";"No";@'};var o;var l=[],h;if(g!=null&&t.dense==null)t.dense=g;var u={},v=[],p=t.dense?[]:{},m="";var b={},w={};var k=Pg(''),T=0;var A=0,E=0;var C={s:{r:2e6,c:2e6},e:{r:0,c:0}};var y={},S={};var _="",x=0;var O=[];var R={},I={},N=0,D=[];var F=[],P={};var L=[],M,U=false;var B=[];var W=[],H={},z=0,V=0;var G={Sheets:[],WBProps:{date1904:false}},j={};Ct.lastIndex=0;n=n.replace(//gm,"");var $="";while(o=Ct.exec(n))switch(o[3]=($=o[3]).toLowerCase()){case"data":if($=="data"){if(o[1]==="/"){if((h=l.pop())[0]!==o[3])throw new Error("Bad state: "+h.join("|"))}else if(o[0].charAt(o[0].length-2)!=="/")l.push([o[3],true]);break}if(l[l.length-1][1])break;if(o[1]==="/")zg(n.slice(T,o.index),_,k,l[l.length-1][0]=="comment"?P:b,{c:A,r:E},y,L[A],w,B,t);else{_="";k=Pg(o[0]);T=o.index+o[0].length}break;case"cell":if(o[1]==="/"){if(F.length>0)b.c=F;if((!t.sheetRows||t.sheetRows>E)&&b.v!==undefined){if(t.dense){if(!p[E])p[E]=[];p[E][A]=b}else p[ya(A)+Ta(E)]=b}if(b.HRef){b.l={Target:Yr(b.HRef)};if(b.HRefScreenTip)b.l.Tooltip=b.HRefScreenTip;delete b.HRef;delete b.HRefScreenTip}if(b.MergeAcross||b.MergeDown){z=A+(parseInt(b.MergeAcross,10)|0);V=E+(parseInt(b.MergeDown,10)|0);O.push({s:{c:A,r:E},e:{c:z,r:V}})}if(!t.sheetStubs){if(b.MergeAcross)A=z+1;else++A}else if(b.MergeAcross||b.MergeDown){for(var Y=A;Y<=z;++Y){for(var K=E;K<=V;++K){if(Y>A||K>E){if(t.dense){if(!p[K])p[K]=[];p[K][Y]={t:"z"}}else p[ya(Y)+Ta(K)]={t:"z"}}}}A=z+1}else++A}else{b=Lg(o[0]);if(b.Index)A=+b.Index-1;if(AC.e.c)C.e.c=A;if(o[0].slice(-2)==="/>")++A;F=[]}break;case"row":if(o[1]==="/"||o[0].slice(-2)==="/>"){if(EC.e.r)C.e.r=E;if(o[0].slice(-2)==="/>"){w=Pg(o[0]);if(w.Index)E=+w.Index-1}A=0;++E}else{w=Pg(o[0]);if(w.Index)E=+w.Index-1;H={};if(w.AutoFitHeight=="0"||w.Height){H.hpx=parseInt(w.Height,10);H.hpt=Fl(H.hpx);W[E]=H}if(w.Hidden=="1"){H.hidden=true;W[E]=H}}break;case"worksheet":if(o[1]==="/"){if((h=l.pop())[0]!==o[3])throw new Error("Bad state: "+h.join("|"));v.push(m);if(C.s.r<=C.e.r&&C.s.c<=C.e.c){p["!ref"]=Na(C);if(t.sheetRows&&t.sheetRows<=C.e.r){p["!fullref"]=p["!ref"];C.e.r=t.sheetRows-1;p["!ref"]=Na(C)}}if(O.length)p["!merges"]=O;if(L.length>0)p["!cols"]=L;if(W.length>0)p["!rows"]=W;u[m]=p}else{C={s:{r:2e6,c:2e6},e:{r:0,c:0}};E=A=0;l.push([o[3],false]);h=Pg(o[0]);m=Yr(h.Name);p=t.dense?[]:{};O=[];B=[];W=[];j={name:m,Hidden:0};G.Sheets.push(j)}break;case"table":if(o[1]==="/"){if((h=l.pop())[0]!==o[3])throw new Error("Bad state: "+h.join("|"))}else if(o[0].slice(-2)=="/>")break;else{l.push([o[3],false]);L=[];U=false}break;case"style":if(o[1]==="/")Hg(y,S,t);else S=Pg(o[0]);break;case"numberformat":S.nf=Yr(Pg(o[0]).Format||"General");if(Mg[S.nf])S.nf=Mg[S.nf];for(var J=0;J!=392;++J)if(X[J]==S.nf)break;if(J==392)for(J=57;J!=392;++J)if(X[J]==null){We(S.nf,J);break}break;case"column":if(l[l.length-1][0]!=="table")break;M=Pg(o[0]);if(M.Hidden){M.hidden=true;delete M.Hidden}if(M.Width)M.wpx=parseInt(M.Width,10);if(!U&&M.wpx>10){U=true;yl=Al;for(var q=0;q0)ee.Sheet=G.Sheets.length-1;G.Names.push(ee);break;case"namedcell":break;case"b":break;case"i":break;case"u":break;case"s":break;case"em":break;case"h2":break;case"h3":break;case"sub":break;case"sup":break;case"span":break;case"alignment":break;case"borders":break;case"border":break;case"font":if(o[0].slice(-2)==="/>")break;else if(o[1]==="/")_+=n.slice(x,o.index);else x=o.index+o[0].length;break;case"interior":if(!t.cellStyles)break;S.Interior=Pg(o[0]);break;case"protection":break;case"author":;case"title":;case"description":;case"created":;case"keywords":;case"subject":;case"category":;case"company":;case"lastauthor":;case"lastsaved":;case"lastprinted":;case"version":;case"revision":;case"totaltime":;case"hyperlinkbase":;case"manager":;case"contentstatus":;case"identifier":;case"language":;case"appname":if(o[0].slice(-2)==="/>")break;else if(o[1]==="/")Ci(R,$,n.slice(N,o.index));else N=o.index+o[0].length;break;case"paragraphs":break;case"styles":;case"workbook":if(o[1]==="/"){if((h=l.pop())[0]!==o[3])throw new Error("Bad state: "+h.join("|"))}else l.push([o[3],false]);break;case"comment":if(o[1]==="/"){if((h=l.pop())[0]!==o[3])throw new Error("Bad state: "+h.join("|"));Vg(P);F.push(P)}else{l.push([o[3],false]);h=Pg(o[0]);P={a:h.Author}}break;case"autofilter":if(o[1]==="/"){if((h=l.pop())[0]!==o[3])throw new Error("Bad state: "+h.join("|"))}else if(o[0].charAt(o[0].length-2)!=="/"){var re=Pg(o[0]);p["!autofilter"]={ref:Sh(re.Range).replace(/\$/g,"")};l.push([o[3],true])}break;case"name":break;case"datavalidation":if(o[1]==="/"){if((h=l.pop())[0]!==o[3])throw new Error("Bad state: "+h.join("|"))}else{if(o[0].charAt(o[0].length-2)!=="/")l.push([o[3],true])}break;case"pixelsperinch":break;case"componentoptions":;case"documentproperties":;case"customdocumentproperties":;case"officedocumentsettings":;case"pivottable":;case"pivotcache":;case"names":;case"mapinfo":;case"pagebreaks":;case"querytable":;case"sorting":;case"schema":;case"conditionalformatting":;case"smarttagtype":;case"smarttags":;case"excelworkbook":;case"workbookoptions":;case"worksheetoptions":if(o[1]==="/"){if((h=l.pop())[0]!==o[3])throw new Error("Bad state: "+h.join("|"))}else if(o[0].charAt(o[0].length-2)!=="/")l.push([o[3],true]);break;case"null":break;default:if(l.length==0&&o[3]=="document")return Qm(n,t);if(l.length==0&&o[3]=="uof")return Qm(n,t);var te=true;switch(l[l.length-1][0]){case"officedocumentsettings":switch(o[3]){case"allowpng":break;case"removepersonalinformation":break;case"downloadcomponents":break;case"locationofcomponents":break;case"colors":break;case"color":break;case"index":break;case"rgb":break;case"targetscreensize":break;case"readonlyrecommended":break;default:te=false;}break;case"componentoptions":switch(o[3]){case"toolbar":break;case"hideofficelogo":break;case"spreadsheetautofit":break;case"label":break;case"caption":break;case"maxheight":break;case"maxwidth":break;case"nextsheetnumber":break;default:te=false;}break;case"excelworkbook":switch(o[3]){case"date1904":G.WBProps.date1904=true;break;case"windowheight":break;case"windowwidth":break;case"windowtopx":break;case"windowtopy":break;case"tabratio":break;case"protectstructure":break;case"protectwindow":break;case"protectwindows":break;case"activesheet":break;case"displayinknotes":break;case"firstvisiblesheet":break;case"supbook":break;case"sheetname":break;case"sheetindex":break;case"sheetindexfirst":break;case"sheetindexlast":break;case"dll":break;case"acceptlabelsinformulas":break;case"donotsavelinkvalues":break;case"iteration":break;case"maxiterations":break;case"maxchange":break;case"path":break;case"xct":break;case"count":break;case"selectedsheets":break;case"calculation":break;case"uncalced":break;case"startupprompt":break;case"crn":break;case"externname":break;case"formula":break;case"colfirst":break;case"collast":break;case"wantadvise":break;case"boolean":break;case"error":break;case"text":break;case"ole":break;case"noautorecover":break;case"publishobjects":break;case"donotcalculatebeforesave":break;case"number":break;case"refmoder1c1":break;case"embedsavesmarttags":break;default:te=false;}break;case"workbookoptions":switch(o[3]){case"owcversion":break;case"height":break;case"width":break;default:te=false;}break;case"worksheetoptions":switch(o[3]){case"visible":if(o[0].slice(-2)==="/>"){}else if(o[1]==="/")switch(n.slice(N,o.index)){case"SheetHidden":j.Hidden=1;break;case"SheetVeryHidden":j.Hidden=2;break;}else N=o.index+o[0].length;break;case"header":if(!p["!margins"])Dd(p["!margins"]={},"xlml");if(!isNaN(+Gr(o[0]).Margin))p["!margins"].header=+Gr(o[0]).Margin;break;case"footer":if(!p["!margins"])Dd(p["!margins"]={},"xlml");if(!isNaN(+Gr(o[0]).Margin))p["!margins"].footer=+Gr(o[0]).Margin;break;case"pagemargins":var ae=Gr(o[0]);if(!p["!margins"])Dd(p["!margins"]={},"xlml");if(!isNaN(+ae.Top))p["!margins"].top=+ae.Top;if(!isNaN(+ae.Left))p["!margins"].left=+ae.Left;if(!isNaN(+ae.Right))p["!margins"].right=+ae.Right;if(!isNaN(+ae.Bottom))p["!margins"].bottom=+ae.Bottom;break;case"displayrighttoleft":if(!G.Views)G.Views=[];if(!G.Views[0])G.Views[0]={};G.Views[0].RTL=true;break;case"freezepanes":break;case"frozennosplit":break;case"splithorizontal":;case"splitvertical":break;case"donotdisplaygridlines":break;case"activerow":break;case"activecol":break;case"toprowbottompane":break;case"leftcolumnrightpane":break;case"unsynced":break;case"print":break;case"printerrors":break;case"panes":break;case"scale":break;case"pane":break;case"number":break;case"layout":break;case"pagesetup":break;case"selected":break;case"protectobjects":break;case"enableselection":break;case"protectscenarios":break;case"validprinterinfo":break;case"horizontalresolution":break;case"verticalresolution":break;case"numberofcopies":break;case"activepane":break;case"toprowvisible":break;case"leftcolumnvisible":break;case"fittopage":break;case"rangeselection":break;case"papersizeindex":break;case"pagelayoutzoom":break;case"pagebreakzoom":break;case"filteron":break;case"fitwidth":break;case"fitheight":break;case"commentslayout":break;case"zoom":break;case"lefttoright":break;case"gridlines":break;case"allowsort":break;case"allowfilter":break;case"allowinsertrows":break;case"allowdeleterows":break;case"allowinsertcols":break;case"allowdeletecols":break;case"allowinserthyperlinks":break;case"allowformatcells":break;case"allowsizecols":break;case"allowsizerows":break;case"nosummaryrowsbelowdetail":if(!p["!outline"])p["!outline"]={};p["!outline"].above=true;break;case"tabcolorindex":break;case"donotdisplayheadings":break;case"showpagelayoutzoom":break;case"nosummarycolumnsrightdetail":if(!p["!outline"])p["!outline"]={};p["!outline"].left=true;break;case"blackandwhite":break;case"donotdisplayzeros":break;case"displaypagebreak":break;case"rowcolheadings":break;case"donotdisplayoutline":break;case"noorientation":break;case"allowusepivottables":break;case"zeroheight":break;case"viewablerange":break;case"selection":break;case"protectcontents":break;default:te=false;}break;case"pivottable":;case"pivotcache":switch(o[3]){case"immediateitemsondrop":break;case"showpagemultipleitemlabel":break;case"compactrowindent":break;case"location":break;case"pivotfield":break;case"orientation":break;case"layoutform":break;case"layoutsubtotallocation":break;case"layoutcompactrow":break;case"position":break;case"pivotitem":break;case"datatype":break;case"datafield":break;case"sourcename":break;case"parentfield":break;case"ptlineitems":break;case"ptlineitem":break;case"countofsameitems":break;case"item":break;case"itemtype":break;case"ptsource":break;case"cacheindex":break;case"consolidationreference":break;case"filename":break;case"reference":break;case"nocolumngrand":break;case"norowgrand":break;case"blanklineafteritems":break;case"hidden":break;case"subtotal":break;case"basefield":break;case"mapchilditems":break;case"function":break;case"refreshonfileopen":break;case"printsettitles":break;case"mergelabels":break;case"defaultversion":break;case"refreshname":break;case"refreshdate":break;case"refreshdatecopy":break;case"versionlastrefresh":break;case"versionlastupdate":break;case"versionupdateablemin":break;case"versionrefreshablemin":break;case"calculation":break;default:te=false;}break;case"pagebreaks":switch(o[3]){case"colbreaks":break;case"colbreak":break;case"rowbreaks":break;case"rowbreak":break;case"colstart":break;case"colend":break;case"rowend":break;default:te=false;}break;case"autofilter":switch(o[3]){case"autofiltercolumn":break;case"autofiltercondition":break;case"autofilterand":break;case"autofilteror":break;default:te=false;}break;case"querytable":switch(o[3]){case"id":break;case"autoformatfont":break;case"autoformatpattern":break;case"querysource":break;case"querytype":break;case"enableredirections":break;case"refreshedinxl9":break;case"urlstring":break;case"htmltables":break;case"connection":break;case"commandtext":break;case"refreshinfo":break;case"notitles":break;case"nextid":break;case"columninfo":break;case"overwritecells":break;case"donotpromptforfile":break;case"textwizardsettings":break;case"source":break;case"number":break;case"decimal":break;case"thousandseparator":break;case"trailingminusnumbers":break;case"formatsettings":break;case"fieldtype":break;case"delimiters":break;case"tab":break;case"comma":break;case"autoformatname":break;case"versionlastedit":break;case"versionlastrefresh":break;default:te=false;}break;case"datavalidation":switch(o[3]){case"range":break;case"type":break;case"min":break;case"max":break;case"sort":break;case"descending":break;case"order":break;case"casesensitive":break;case"value":break;case"errorstyle":break;case"errormessage":break;case"errortitle":break;case"inputmessage":break;case"inputtitle":break;case"combohide":break;case"inputhide":break;case"condition":break;case"qualifier":break;case"useblank":break;case"value1":break;case"value2":break;case"format":break;case"cellrangelist":break;default:te=false;}break;case"sorting":;case"conditionalformatting":switch(o[3]){case"range":break;case"type":break;case"min":break;case"max":break;case"sort":break;case"descending":break;case"order":break;case"casesensitive":break;case"value":break;case"errorstyle":break;case"errormessage":break;case"errortitle":break;case"cellrangelist":break;case"inputmessage":break;case"inputtitle":break;case"combohide":break;case"inputhide":break;case"condition":break;case"qualifier":break;case"useblank":break;case"value1":break;case"value2":break;case"format":break;default:te=false;}break;case"mapinfo":;case"schema":;case"data":switch(o[3]){case"map":break;case"entry":break;case"range":break;case"xpath":break;case"field":break;case"xsdtype":break;case"filteron":break;case"aggregate":break;case"elementtype":break;case"attributetype":break;case"schema":;case"element":;case"complextype":;case"datatype":;case"all":;case"attribute":;case"extends":break;case"row":break;default:te=false;}break;case"smarttags":break;default:te=false;break;}if(te)break;if(o[3].match(/!\[CDATA/))break;if(!l[l.length-1][1])throw"Unrecognized tag: "+o[3]+"|"+l.join("|");if(l[l.length-1][0]==="customdocumentproperties"){if(o[0].slice(-2)==="/>")break;else if(o[1]==="/")Bg(I,$,D,n.slice(N,o.index));else{D=o;N=o.index+o[0].length}break}if(t.WTF)throw"Unrecognized tag: "+o[3]+"|"+l.join("|");}var ne={};if(!t.bookSheets&&!t.bookProps)ne.Sheets=u;ne.SheetNames=v;ne.Workbook=G;ne.SSF=br(X);ne.Props=R;ne.Custprops=I;return ne}function jg(e,r){Wb(r=r||{});switch(r.type||"base64"){case"base64":return Gg(k(e),r);case"binary":;case"buffer":;case"file":return Gg(e,r);case"array":return Gg(_(e),r);}}function Xg(e,r){var t=[];if(e.Props)t.push(yi(e.Props,r));if(e.Custprops)t.push(Si(e.Props,e.Custprops,r));return t.join("")}function $g(){return""}function Yg(e,r){var t=[''];r.cellXfs.forEach(function(e,r){var a=[];a.push(kt("NumberFormat",null,{"ss:Format":qr(X[e.numFmtId])}));var n={"ss:ID":"s"+(21+r)};t.push(kt("Style",a.join(""),n))});return kt("Styles",t.join(""))}function Kg(e){return kt("NamedRange",null,{"ss:Name":e.Name,"ss:RefersTo":"="+xh(e.Ref,{r:0,c:0})})}function Jg(e){if(!((e||{}).Workbook||{}).Names)return"";var r=e.Workbook.Names;var t=[];for(var a=0;a");if(e["!margins"].header)n.push(kt("Header",null,{"x:Margin":e["!margins"].header}));if(e["!margins"].footer)n.push(kt("Footer",null,{"x:Margin":e["!margins"].footer}));n.push(kt("PageMargins",null,{"x:Bottom":e["!margins"].bottom||"0.75","x:Left":e["!margins"].left||"0.7","x:Right":e["!margins"].right||"0.7","x:Top":e["!margins"].top||"0.75"}));n.push("")}if(a&&a.Workbook&&a.Workbook.Sheets&&a.Workbook.Sheets[t]){if(a.Workbook.Sheets[t].Hidden)n.push(kt("Visible",a.Workbook.Sheets[t].Hidden==1?"SheetHidden":"SheetVeryHidden",{}));else{for(var i=0;i")}}if(((((a||{}).Workbook||{}).Views||[])[0]||{}).RTL)n.push("");if(e["!protect"]){n.push(bt("ProtectContents","True"));if(e["!protect"].objects)n.push(bt("ProtectObjects","True"));if(e["!protect"].scenarios)n.push(bt("ProtectScenarios","True"));if(e["!protect"].selectLockedCells!=null&&!e["!protect"].selectLockedCells)n.push(bt("EnableSelection","NoSelection"));else if(e["!protect"].selectUnlockedCells!=null&&!e["!protect"].selectUnlockedCells)n.push(bt("EnableSelection","UnlockedCells"));[["formatCells","AllowFormatCells"],["formatColumns","AllowSizeCols"],["formatRows","AllowSizeRows"],["insertColumns","AllowInsertCols"],["insertRows","AllowInsertRows"],["insertHyperlinks","AllowInsertHyperlinks"],["deleteColumns","AllowDeleteCols"],["deleteRows","AllowDeleteRows"],["sort","AllowSort"],["autoFilter","AllowFilter"],["pivotTables","AllowUsePivotTables"]].forEach(function(r){if(e["!protect"][r[0]])n.push("<"+r[1]+"/>")})}if(n.length==0)return"";return kt("WorksheetOptions",n.join(""),{xmlns:_t.x})}function Qg(e){return e.map(function(e){var r=at(e.t||"");var t=kt("ss:Data",r,{xmlns:"http://www.w3.org/TR/REC-html40"});return kt("Comment",t,{"ss:Author":e.a})}).join("")}function em(e,r,t,a,n,i,s){if(!e||e.v==undefined&&e.f==undefined)return"";var f={};if(e.f)f["ss:Formula"]="="+qr(xh(e.f,s));if(e.F&&e.F.slice(0,r.length)==r){var o=Oa(e.F.slice(r.length+1));f["ss:ArrayRange"]="RC:R"+(o.r==s.r?"":"["+(o.r-s.r)+"]")+"C"+(o.c==s.c?"":"["+(o.c-s.c)+"]")}if(e.l&&e.l.Target){f["ss:HRef"]=qr(e.l.Target);if(e.l.Tooltip)f["x:HRefScreenTip"]=qr(e.l.Tooltip)}if(t["!merges"]){var l=t["!merges"];for(var c=0;c!=l.length;++c){if(l[c].s.c!=s.c||l[c].s.r!=s.r)continue;if(l[c].e.c>l[c].s.c)f["ss:MergeAcross"]=l[c].e.c-l[c].s.c;if(l[c].e.r>l[c].s.r)f["ss:MergeDown"]=l[c].e.r-l[c].s.r}}var h="",u="";switch(e.t){case"z":if(!a.sheetStubs)return"";break;case"n":h="Number";u=String(e.v);break;case"b":h="Boolean";u=e.v?"1":"0";break;case"e":h="Error";u=Gn[e.v];break;case"d":h="DateTime";u=new Date(e.v).toISOString();if(e.z==null)e.z=e.z||X[14];break;case"s":h="String";u=rt(e.v||"");break;}var d=Fd(a.cellXfs,e,a);f["ss:StyleID"]="s"+(21+d);f["ss:Index"]=s.c+1;var v=e.v!=null?u:"";var p=e.t=="z"?"":''+v+"";if((e.c||[]).length>0)p+=Qg(e.c);return kt("Cell",p,f)}function rm(e,r){var t='"}function tm(e,r,t,a){if(!e["!ref"])return"";var n=Da(e["!ref"]);var i=e["!merges"]||[],s=0;var f=[];if(e["!cols"])e["!cols"].forEach(function(e,r){Il(e);var t=!!e.width;var a=Nd(r,e);var n={"ss:Index":r+1};if(t)n["ss:Width"]=Sl(a.width);if(e.hidden)n["ss:Hidden"]="1";f.push(kt("Column",null,n))});var o=Array.isArray(e);for(var l=n.s.r;l<=n.e.r;++l){var c=[rm(l,(e["!rows"]||[])[l])];for(var h=n.s.c;h<=n.e.c;++h){var u=false;for(s=0;s!=i.length;++s){if(i[s].s.c>h)continue;if(i[s].s.r>l)continue;if(i[s].e.c");if(c.length>2)f.push(c.join(""))}return f.join("")}function am(e,r,t){var a=[];var n=t.SheetNames[e];var i=t.Sheets[n];var s=i?qg(i,r,e,t):"";if(s.length>0)a.push(""+s+"");s=i?tm(i,r,e,t):"";if(s.length>0)a.push(""+s+"
");a.push(Zg(i,r,e,t));return a.join("")}function nm(e,r){if(!r)r={};if(!e.SSF)e.SSF=br(X);if(e.SSF){ze();He(e.SSF);r.revssf=nr(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF;r.cellXfs=[];Fd(r.cellXfs,{},{revssf:{General:0}})}var t=[];t.push(Xg(e,r));t.push($g(e,r));t.push("");t.push("");for(var a=0;a40)return r;t.l-=4;r.Reserved1=t._R(0,"lpstr-ansi");if(t.length-t.l<=4)return r;a=t._R(4);if(a!==1907505652)return r;r.UnicodeClipboardFormat=Tn(t);a=t._R(4);if(a==0||a>40)return r;t.l-=4;r.Reserved2=t._R(0,"lpwstr")}var sm=[60,1084,2066,2165,2175];function fm(e,r,t,a,n){var i=a;var s=[];var f=t.slice(t.l,t.l+i);if(n&&n.enc&&n.enc.insitu&&f.length>0)switch(e){case 9:;case 521:;case 1033:;case 2057:;case 47:;case 405:;case 225:;case 406:;case 312:;case 404:;case 10:break;case 133:break;default:n.enc.insitu(f);}s.push(f);t.l+=i;var o=Qt(t,t.l),l=mm[o];var c=0;while(l!=null&&sm.indexOf(o)>-1){i=Qt(t,t.l+2);c=t.l+4;if(o==2066)c+=4;else if(o==2165||o==2175){c+=12}f=t.slice(c,t.l+4+i);s.push(f);t.l+=4+i;l=mm[o=Qt(t,t.l)]}var h=R(s);ca(h,0);var u=0;h.lens=[];for(var d=0;d1)return;if(t.sheetRows&&e.r>=t.sheetRows)return;if(t.cellStyles&&r.XF&&r.XF.data)x(e,r,t);delete r.ixfe;delete r.XF;u=e;d=Ra(e);if(!s||!s.s||!s.e)s={s:{r:0,c:0},e:{r:0,c:0}};if(e.rs.e.r)s.e.r=e.r+1;if(e.c+1>s.e.c)s.e.c=e.c+1;if(t.cellFormula&&r.f){for(var a=0;ae.c||k[a][0].s.r>e.r)continue;if(k[a][0].e.c>8)!==$)throw new Error("rt mismatch: "+J+"!="+$);if(K.r==12){e.l+=10;Y-=10}}var q={};if($===10)q=K.f(e,Y,R);else q=fm($,K,e,Y,R);if(B==0&&[9,521,1033,2057].indexOf(U)===-1)continue;switch($){case 34:t.opts.Date1904=y.WBProps.date1904=q;break;case 134:t.opts.WriteProtect=true;break;case 47:if(!R.enc)e.l=0;R.enc=q;if(!r.password)throw new Error("File is password-protected");if(q.valid==null)throw new Error("Encryption scheme unsupported");if(!q.valid)throw new Error("Password is incorrect");break;case 92:R.lastuser=q;break;case 66:var Z=Number(q);switch(Z){case 21010:Z=1200;break;case 32768:Z=1e4;break;case 32769:Z=1252;break;}o(R.codepage=Z);G=true;break;case 317:R.rrtabid=q;break;case 25:R.winlocked=q;break;case 439:t.opts["RefreshAll"]=q;break;case 12:t.opts["CalcCount"]=q;break;case 16:t.opts["CalcDelta"]=q;break;case 17: +t.opts["CalcIter"]=q;break;case 13:t.opts["CalcMode"]=q;break;case 14:t.opts["CalcPrecision"]=q;break;case 95:t.opts["CalcSaveRecalc"]=q;break;case 15:R.CalcRefMode=q;break;case 2211:t.opts.FullCalc=q;break;case 129:if(q.fDialog)n["!type"]="dialog";if(!q.fBelow)(n["!outline"]||(n["!outline"]={})).above=true;if(!q.fRight)(n["!outline"]||(n["!outline"]={})).left=true;break;case 224:E.push(q);break;case 430:M.push([q]);M[M.length-1].XTI=[];break;case 35:;case 547:M[M.length-1].push(q);break;case 24:;case 536:V={Name:q.Name,Ref:fd(q.rgce,s,null,M,R)};if(q.itab>0)V.Sheet=q.itab-1;M.names.push(V);if(!M[0]){M[0]=[];M[0].XTI=[]}M[M.length-1].push(q);if(q.Name=="_xlnm._FilterDatabase"&&q.itab>0)if(q.rgce&&q.rgce[0]&&q.rgce[0][0]&&q.rgce[0][0][0]=="PtgArea3d")z[q.itab-1]={ref:Na(q.rgce[0][0][1][2])};break;case 22:R.ExternCount=q;break;case 23:if(M.length==0){M[0]=[];M[0].XTI=[]}M[M.length-1].XTI=M[M.length-1].XTI.concat(q);M.XTI=M.XTI.concat(q);break;case 2196:if(R.biff<8)break;if(V!=null)V.Comment=q[1];break;case 18:n["!protect"]=q;break;case 19:if(q!==0&&R.WTF)console.error("Password verifier: "+q);break;case 133:{i[q.pos]=q;R.snames.push(q.name)}break;case 10:{if(--B)break;if(s.e){if(s.e.r>0&&s.e.c>0){s.e.r--;s.e.c--;n["!ref"]=Na(s);if(r.sheetRows&&r.sheetRows<=s.e.r){var Q=s.e.r;s.e.r=r.sheetRows-1;n["!fullref"]=n["!ref"];n["!ref"]=Na(s);s.e.r=Q}s.e.r++;s.e.c++}if(N.length>0)n["!merges"]=N;if(D.length>0)n["!objects"]=D;if(F.length>0)n["!cols"]=F;if(P.length>0)n["!rows"]=P;y.Sheets.push(S)}if(c==="")h=n;else a[c]=n;n=r.dense?[]:{}}break;case 9:;case 521:;case 1033:;case 2057:{if(R.biff===8)R.biff={9:2,521:3,1033:4}[$]||{512:2,768:3,1024:4,1280:5,1536:8,2:2,7:2}[q.BIFFVer]||8;R.biffguess=q.BIFFVer==0;if(q.BIFFVer==0&&q.dt==4096){R.biff=5;G=true;o(R.codepage=28591)}if(R.biff==8&&q.BIFFVer==0&&q.dt==16)R.biff=2;if(B++)break;n=r.dense?[]:{};if(R.biff<8&&!G){G=true;o(R.codepage=r.codepage||1252)}if(R.biff<5||q.BIFFVer==0&&q.dt==4096){if(c==="")c="Sheet1";s={s:{r:0,c:0},e:{r:0,c:0}};var ee={pos:e.l-Y,name:c};i[ee.pos]=ee;R.snames.push(c)}else c=(i[j]||{name:""}).name;if(q.dt==32)n["!type"]="chart";if(q.dt==64)n["!type"]="macro";N=[];D=[];R.arrayf=k=[];F=[];P=[];L=false;S={Hidden:(i[j]||{hs:0}).hs,name:c}}break;case 515:;case 3:;case 2:{if(n["!type"]=="chart")if(r.dense?(n[q.r]||[])[q.c]:n[Ra({c:q.c,r:q.r})])++q.c;T={ixfe:q.ixfe,XF:E[q.ixfe]||{},v:q.val,t:"n"};if(W>0)T.z=H[T.ixfe>>8&63];om(T,r,t.opts.Date1904);O({c:q.c,r:q.r},T,r)}break;case 5:;case 517:{T={ixfe:q.ixfe,XF:E[q.ixfe],v:q.val,t:q.t};if(W>0)T.z=H[T.ixfe>>8&63];om(T,r,t.opts.Date1904);O({c:q.c,r:q.r},T,r)}break;case 638:{T={ixfe:q.ixfe,XF:E[q.ixfe],v:q.rknum,t:"n"};if(W>0)T.z=H[T.ixfe>>8&63];om(T,r,t.opts.Date1904);O({c:q.c,r:q.r},T,r)}break;case 189:{for(var re=q.c;re<=q.C;++re){var te=q.rkrec[re-q.c][0];T={ixfe:te,XF:E[te],v:q.rkrec[re-q.c][1],t:"n"};if(W>0)T.z=H[T.ixfe>>8&63];om(T,r,t.opts.Date1904);O({c:re,r:q.r},T,r)}}break;case 6:;case 518:;case 1030:{if(q.val=="String"){f=q;break}T=lm(q.val,q.cell.ixfe,q.tt);T.XF=E[T.ixfe];if(r.cellFormula){var ae=q.formula;if(ae&&ae[0]&&ae[0][0]&&ae[0][0][0]=="PtgExp"){var ne=ae[0][0][1][0],ie=ae[0][0][1][1];var se=Ra({r:ne,c:ie});if(w[se])T.f=""+fd(q.formula,s,q.cell,M,R);else T.F=((r.dense?(n[ne]||[])[ie]:n[se])||{}).F}else T.f=""+fd(q.formula,s,q.cell,M,R)}if(W>0)T.z=H[T.ixfe>>8&63];om(T,r,t.opts.Date1904);O(q.cell,T,r);f=q}break;case 7:;case 519:{if(f){f.val=q;T=lm(q,f.cell.ixfe,"s");T.XF=E[T.ixfe];if(r.cellFormula){T.f=""+fd(f.formula,s,f.cell,M,R)}if(W>0)T.z=H[T.ixfe>>8&63];om(T,r,t.opts.Date1904);O(f.cell,T,r);f=null}else throw new Error("String record expects Formula")}break;case 33:;case 545:{k.push(q);var fe=Ra(q[0].s);v=r.dense?(n[q[0].s.r]||[])[q[0].s.c]:n[fe];if(r.cellFormula&&v){if(!f)break;if(!fe||!v)break;v.f=""+fd(q[1],s,q[0],M,R);v.F=Na(q[0])}}break;case 1212:{if(!r.cellFormula)break;if(d){if(!f)break;w[Ra(f.cell)]=q[0];v=r.dense?(n[f.cell.r]||[])[f.cell.c]:n[Ra(f.cell)];(v||{}).f=""+fd(q[0],s,u,M,R)}}break;case 253:T=lm(l[q.isst].t,q.ixfe,"s");if(l[q.isst].h)T.h=l[q.isst].h;T.XF=E[T.ixfe];if(W>0)T.z=H[T.ixfe>>8&63];om(T,r,t.opts.Date1904);O({c:q.c,r:q.r},T,r);break;case 513:if(r.sheetStubs){T={ixfe:q.ixfe,XF:E[q.ixfe],t:"z"};if(W>0)T.z=H[T.ixfe>>8&63];om(T,r,t.opts.Date1904);O({c:q.c,r:q.r},T,r)}break;case 190:if(r.sheetStubs){for(var oe=q.c;oe<=q.C;++oe){var le=q.ixfe[oe-q.c];T={ixfe:le,XF:E[le],t:"z"};if(W>0)T.z=H[T.ixfe>>8&63];om(T,r,t.opts.Date1904);O({c:oe,r:q.r},T,r)}}break;case 214:;case 516:;case 4:T=lm(q.val,q.ixfe,"s");T.XF=E[T.ixfe];if(W>0)T.z=H[T.ixfe>>8&63];om(T,r,t.opts.Date1904);O({c:q.c,r:q.r},T,r);break;case 0:;case 512:{if(B===1)s=q}break;case 252:{l=q}break;case 1054:{if(R.biff==4){H[W++]=q[1];for(var ce=0;ce=163)We(q[1],W+163)}else We(q[1],q[0])}break;case 30:{H[W++]=q;for(var he=0;he=163)We(q,W+163)}break;case 229:N=N.concat(q);break;case 93:D[q.cmo[0]]=R.lastobj=q;break;case 438:R.lastobj.TxO=q;break;case 127:R.lastobj.ImData=q;break;case 440:{for(b=q[0].s.r;b<=q[0].e.r;++b)for(m=q[0].s.c;m<=q[0].e.c;++m){v=r.dense?(n[b]||[])[m]:n[Ra({c:m,r:b})];if(v)v.l=q[1]}}break;case 2048:{for(b=q[0].s.r;b<=q[0].e.r;++b)for(m=q[0].s.c;m<=q[0].e.c;++m){v=r.dense?(n[b]||[])[m]:n[Ra({c:m,r:b})];if(v&&v.l)v.l.Tooltip=q[1]}}break;case 28:{if(R.biff<=5&&R.biff>=2)break;v=r.dense?(n[q[0].r]||[])[q[0].c]:n[Ra(q[0])];var ue=D[q[2]];if(!v){if(r.dense){if(!n[q[0].r])n[q[0].r]=[];v=n[q[0].r][q[0].c]={t:"z"}}else{v=n[Ra(q[0])]={t:"z"}}s.e.r=Math.max(s.e.r,q[0].r);s.s.r=Math.min(s.s.r,q[0].r);s.e.c=Math.max(s.e.c,q[0].c);s.s.c=Math.min(s.s.c,q[0].c)}if(!v.c)v.c=[];p={a:q[1],t:ue.TxO.t};v.c.push(p)}break;case 2173:Bc(E[q.ixfe],q.ext);break;case 125:{if(!R.cellStyles)break;while(q.e>=q.s){F[q.e--]={width:q.w/256,level:q.level||0,hidden:!!(q.flags&1)};if(!L){L=true;Rl(q.w/256)}Il(F[q.e+1])}}break;case 520:{var de={};if(q.level!=null){P[q.r]=de;de.level=q.level}if(q.hidden){P[q.r]=de;de.hidden=true}if(q.hpt){P[q.r]=de;de.hpt=q.hpt;de.hpx=Pl(q.hpt)}}break;case 38:;case 39:;case 40:;case 41:if(!n["!margins"])Dd(n["!margins"]={});n["!margins"][{38:"left",39:"right",40:"top",41:"bottom"}[$]]=q;break;case 161:if(!n["!margins"])Dd(n["!margins"]={});n["!margins"].header=q.header;n["!margins"].footer=q.footer;break;case 574:if(q.RTL)y.Views[0].RTL=true;break;case 146:C=q;break;case 2198:I=q;break;case 140:A=q;break;case 442:{if(!c)y.WBProps.CodeName=q||"ThisWorkbook";else S.CodeName=q||S.name}break;}}else{if(!K)console.error("Missing Info for XLS Record 0x"+$.toString(16));e.l+=Y}}t.SheetNames=rr(i).sort(function(e,r){return Number(e)-Number(r)}).map(function(e){return i[e].name});if(!r.bookSheets)t.Sheets=a;if(!t.SheetNames.length&&h["!ref"]){t.SheetNames.push("Sheet1");if(t.Sheets)t.Sheets["Sheet1"]=h}else t.Preamble=h;if(t.Sheets)z.forEach(function(e,r){t.Sheets[t.SheetNames[r]]["!autofilter"]=e});t.Strings=l;t.SSF=br(X);if(R.enc)t.Encryption=R.enc;if(I)t.Themes=I;t.Metadata={};if(A!==undefined)t.Metadata.Country=A;if(M.names.length>0)y.Names=M.names;t.Workbook=y;return t}var hm={SI:"e0859ff2f94f6810ab9108002b27b3d9",DSI:"02d5cdd59c2e1b10939708002b2cf9ae",UDI:"05d5cdd59c2e1b10939708002b2cf9ae"};function um(e,r,t){var a=Ke.find(e,"/!DocumentSummaryInformation");if(a&&a.size>0)try{var n=$i(a,Mn,hm.DSI);for(var i in n)r[i]=n[i]}catch(s){if(t.WTF)throw s}var f=Ke.find(e,"/!SummaryInformation");if(f&&f.size>0)try{var o=$i(f,Un,hm.SI);for(var l in o)if(r[l]==null)r[l]=o[l]}catch(s){if(t.WTF)throw s}if(r.HeadingPairs&&r.TitlesOfParts){gi(r.HeadingPairs,r.TitlesOfParts,r,t);delete r.HeadingPairs;delete r.TitlesOfParts}}function dm(e,r){var t=[],a=[],n=[];var i=0,s;var f=tr(Mn,"n");var o=tr(Un,"n");if(e.Props){s=rr(e.Props);for(i=0;i-1||pi.indexOf(n[i][0])>-1)continue;if(n[i][1]==null)continue;l.push(n[i])}if(a.length)Ke.utils.cfb_add(r,"/SummaryInformation",Yi(a,hm.SI,o,Un));if(t.length||l.length)Ke.utils.cfb_add(r,"/DocumentSummaryInformation",Yi(t,hm.DSI,f,Mn,l.length?l:null,hm.UDI))}function vm(e,r){if(!r)r={};Wb(r);l();if(r.codepage)s(r.codepage);var t,a;if(e.FullPaths){if(Ke.find(e,"/encryption"))throw new Error("File is password-protected");t=Ke.find(e,"!CompObj");a=Ke.find(e,"/Workbook")||Ke.find(e,"/Book")}else{switch(r.type){case"base64":e=y(k(e));break;case"binary":e=y(e);break;case"buffer":break;case"array":if(!Array.isArray(e))e=Array.prototype.slice.call(e);break;}ca(e,0);a={content:e}}var n;var i;if(t)im(t);if(r.bookProps&&!r.bookSheets)n={};else{var f=T?"buffer":"array";if(a&&a.content)n=cm(a.content,r);else if((i=Ke.find(e,"PerfectOffice_MAIN"))&&i.content)n=xo.to_workbook(i.content,(r.type=f,r));else if((i=Ke.find(e,"NativeContent_MAIN"))&&i.content)n=xo.to_workbook(i.content,(r.type=f,r));else if((i=Ke.find(e,"MN0"))&&i.content)throw new Error("Unsupported Works 4 for Mac file");else throw new Error("Cannot find Workbook stream");if(r.bookVBA&&e.FullPaths&&Ke.find(e,"/_VBA_PROJECT_CUR/VBA/dir"))n.vbaraw=wh(e)}var o={};if(e.FullPaths)um(e,o,r);n.Props=n.Custprops=o;if(r.bookFiles)n.cfb=e;return n}function pm(e,r){var t=r||{};var a=Ke.utils.cfb_new({root:"R"});var n="/Workbook";switch(t.bookType||"xls"){case"xls":t.bookType="biff8";case"xla":if(!t.bookType)t.bookType="xla";case"biff8":n="/Workbook";t.biff=8;break;case"biff5":n="/Book";t.biff=5;break;default:throw new Error("invalid type "+t.bookType+" for XLS CFB");}Ke.utils.cfb_add(a,n,Lm(e,t));if(t.biff==8&&(e.Props||e.Custprops))dm(e,a);if(t.biff==8&&e.vbaraw)kh(a,Ke.read(e.vbaraw,{type:typeof e.vbaraw=="string"?"binary":"buffer"}));return a}var gm={0:{f:gv},1:{f:Cv},2:{f:Gv},3:{f:Nv},4:{f:xv},5:{f:Wv},6:{f:Kv},7:{f:Lv},8:{f:tp},9:{f:rp},10:{f:Qv},11:{f:ep},12:{f:Sv},13:{f:Xv},14:{f:Fv},15:{f:Rv},16:{f:zv},17:{f:qv},18:{f:Uv},19:{f:ja},20:{},21:{},22:{},23:{},24:{},25:{},26:{},27:{},28:{},29:{},30:{},31:{},32:{},33:{},34:{},35:{T:1},36:{T:-1},37:{T:1},38:{T:-1},39:{f:fg},40:{},42:{},43:{f:Jl},44:{f:Yl},45:{f:ec},46:{f:ic},47:{f:tc},48:{},49:{f:Ba},50:{},51:{f:zc},52:{T:1},53:{T:-1},54:{T:1},55:{T:-1},56:{T:1},57:{T:-1},58:{},59:{},60:{f:ao},62:{f:Yv},63:{f:Zc},64:{f:wp},65:{},66:{},67:{},68:{},69:{},70:{},128:{},129:{T:1},130:{T:-1},131:{T:1,f:ha,p:0},132:{T:-1},133:{T:1},134:{T:-1},135:{T:1},136:{T:-1},137:{T:1,f:pp},138:{T:-1},139:{T:1},140:{T:-1},141:{T:1},142:{T:-1},143:{T:1},144:{T:-1},145:{T:1},146:{T:-1},147:{f:Av},148:{f:wv,p:16},151:{f:op},152:{},153:{f:ng},154:{},155:{},156:{f:tg},157:{},158:{},159:{T:1,f:zo},160:{T:-1},161:{T:1,f:hn},162:{T:-1},163:{T:1},164:{T:-1},165:{T:1},166:{T:-1},167:{},168:{},169:{},170:{},171:{},172:{T:1},173:{T:-1},174:{},175:{},176:{f:ap},177:{T:1},178:{T:-1},179:{T:1},180:{T:-1},181:{T:1},182:{T:-1},183:{T:1},184:{T:-1},185:{T:1},186:{T:-1},187:{T:1},188:{T:-1},189:{T:1},190:{T:-1},191:{T:1},192:{T:-1},193:{T:1},194:{T:-1},195:{T:1},196:{T:-1},197:{T:1},198:{T:-1},199:{T:1},200:{T:-1},201:{T:1},202:{T:-1},203:{T:1},204:{T:-1},205:{T:1},206:{T:-1},207:{T:1},208:{T:-1},209:{T:1},210:{T:-1},211:{T:1},212:{T:-1},213:{T:1},214:{T:-1},215:{T:1},216:{T:-1},217:{T:1},218:{T:-1},219:{T:1},220:{T:-1},221:{T:1},222:{T:-1},223:{T:1},224:{T:-1},225:{T:1},226:{T:-1},227:{T:1},228:{T:-1},229:{T:1},230:{T:-1},231:{T:1},232:{T:-1},233:{T:1},234:{T:-1},235:{T:1},236:{T:-1},237:{T:1},238:{T:-1},239:{T:1},240:{T:-1},241:{T:1},242:{T:-1},243:{T:1},244:{T:-1},245:{T:1},246:{T:-1},247:{T:1},248:{T:-1},249:{T:1},250:{T:-1},251:{T:1},252:{T:-1},253:{T:1},254:{T:-1},255:{T:1},256:{T:-1},257:{T:1},258:{T:-1},259:{T:1},260:{T:-1},261:{T:1},262:{T:-1},263:{T:1},264:{T:-1},265:{T:1},266:{T:-1},267:{T:1},268:{T:-1},269:{T:1},270:{T:-1},271:{T:1},272:{T:-1},273:{T:1},274:{T:-1},275:{T:1},276:{T:-1},277:{},278:{T:1},279:{T:-1},280:{T:1},281:{T:-1},282:{T:1},283:{T:1},284:{T:-1},285:{T:1},286:{T:-1},287:{T:1},288:{T:-1},289:{T:1},290:{T:-1},291:{T:1},292:{T:-1},293:{T:1},294:{T:-1},295:{T:1},296:{T:-1},297:{T:1},298:{T:-1},299:{T:1},300:{T:-1},301:{T:1},302:{T:-1},303:{T:1},304:{T:-1},305:{T:1},306:{T:-1},307:{T:1},308:{T:-1},309:{T:1},310:{T:-1},311:{T:1},312:{T:-1},313:{T:-1},314:{T:1},315:{T:-1},316:{T:1},317:{T:-1},318:{T:1},319:{T:-1},320:{T:1},321:{T:-1},322:{T:1},323:{T:-1},324:{T:1},325:{T:-1},326:{T:1},327:{T:-1},328:{T:1},329:{T:-1},330:{T:1},331:{T:-1},332:{T:1},333:{T:-1},334:{T:1},335:{f:Wc},336:{T:-1},337:{f:jc,T:1},338:{T:-1},339:{T:1},340:{T:-1},341:{T:1},342:{T:-1},343:{T:1},344:{T:-1},345:{T:1},346:{T:-1},347:{T:1},348:{T:-1},349:{T:1},350:{T:-1},351:{},352:{},353:{T:1},354:{T:-1},355:{f:nn},357:{},358:{},359:{},360:{T:1},361:{},362:{f:Ff},363:{},364:{},366:{},367:{},368:{},369:{},370:{},371:{},372:{T:1},373:{T:-1},374:{T:1},375:{T:-1},376:{T:1},377:{T:-1},378:{T:1},379:{T:-1},380:{T:1},381:{T:-1},382:{T:1},383:{T:-1},384:{T:1},385:{T:-1},386:{T:1},387:{T:-1},388:{T:1},389:{T:-1},390:{T:1},391:{T:-1},392:{T:1},393:{T:-1},394:{T:1},395:{T:-1},396:{},397:{},398:{},399:{},400:{},401:{T:1},403:{},404:{},405:{},406:{},407:{},408:{},409:{},410:{},411:{},412:{},413:{},414:{},415:{},416:{},417:{},418:{},419:{},420:{},421:{},422:{T:1},423:{T:1},424:{T:-1},425:{T:-1},426:{f:lp},427:{f:cp},428:{},429:{T:1},430:{T:-1},431:{T:1},432:{T:-1},433:{T:1},434:{T:-1},435:{T:1},436:{T:-1},437:{T:1},438:{T:-1},439:{T:1},440:{T:-1},441:{T:1},442:{T:-1},443:{T:1},444:{T:-1},445:{T:1},446:{T:-1},447:{T:1},448:{T:-1},449:{T:1},450:{T:-1},451:{T:1},452:{T:-1},453:{T:1},454:{T:-1},455:{T:1},456:{T:-1},457:{T:1},458:{T:-1},459:{T:1},460:{T:-1},461:{T:1},462:{T:-1},463:{T:1},464:{T:-1},465:{T:1},466:{T:-1},467:{T:1},468:{T:-1},469:{T:1},470:{T:-1},471:{},472:{},473:{T:1},474:{T:-1},475:{},476:{f:dp},477:{},478:{},479:{T:1},480:{T:-1},481:{T:1},482:{T:-1},483:{T:1},484:{T:-1},485:{f:Tv},486:{T:1},487:{T:-1},488:{T:1},489:{T:-1},490:{T:1},491:{T:-1},492:{T:1},493:{T:-1},494:{f:sp},495:{T:1},496:{T:-1},497:{T:1},498:{T:-1},499:{},500:{T:1},501:{T:-1},502:{T:1},503:{T:-1},504:{},505:{T:1},506:{T:-1},507:{},508:{T:1},509:{T:-1},510:{T:1},511:{T:-1},512:{},513:{},514:{T:1},515:{T:-1},516:{T:1},517:{T:-1},518:{T:1},519:{T:-1},520:{T:1},521:{T:-1},522:{},523:{},524:{},525:{},526:{},527:{},528:{T:1},529:{T:-1},530:{T:1},531:{T:-1},532:{T:1},533:{T:-1},534:{},535:{},536:{},537:{},538:{T:1},539:{T:-1},540:{T:1},541:{T:-1},542:{T:1},548:{},549:{},550:{f:nn},551:{},552:{},553:{},554:{T:1},555:{T:-1},556:{T:1},557:{T:-1},558:{T:1},559:{T:-1},560:{T:1},561:{T:-1},562:{},564:{},565:{T:1},566:{T:-1},569:{T:1},570:{T:-1},572:{},573:{T:1},574:{T:-1},577:{},578:{},579:{},580:{},581:{},582:{},583:{},584:{},585:{},586:{},587:{},588:{T:-1},589:{},590:{T:1},591:{T:-1},592:{T:1},593:{T:-1},594:{T:1},595:{T:-1},596:{},597:{T:1},598:{T:-1},599:{T:1},600:{T:-1},601:{T:1},602:{T:-1},603:{T:1},604:{T:-1},605:{T:1},606:{T:-1},607:{},608:{T:1},609:{T:-1},610:{},611:{T:1},612:{T:-1},613:{T:1},614:{T:-1},615:{T:1},616:{T:-1},617:{T:1},618:{T:-1},619:{T:1},620:{T:-1},625:{},626:{T:1},627:{T:-1},628:{T:1},629:{T:-1},630:{T:1},631:{T:-1},632:{f:vh},633:{T:1},634:{T:-1},635:{T:1,f:uh},636:{T:-1},637:{f:$a},638:{T:1},639:{},640:{T:-1},641:{T:1},642:{T:-1},643:{T:1},644:{},645:{T:-1},646:{T:1},648:{T:1},649:{},650:{T:-1},651:{f:Up},652:{},653:{T:1},654:{T:-1},655:{T:1},656:{T:-1},657:{T:1},658:{T:-1},659:{},660:{T:1},661:{},662:{T:-1},663:{},664:{T:1},665:{},666:{T:-1},667:{},668:{},669:{},671:{T:1},672:{T:-1},673:{T:1},674:{T:-1},675:{},676:{},677:{},678:{},679:{},680:{},681:{},1024:{},1025:{},1026:{T:1},1027:{T:-1},1028:{T:1},1029:{T:-1},1030:{},1031:{T:1},1032:{T:-1},1033:{T:1},1034:{T:-1},1035:{},1036:{},1037:{},1038:{T:1},1039:{T:-1},1040:{},1041:{T:1},1042:{T:-1},1043:{},1044:{},1045:{},1046:{T:1},1047:{T:-1},1048:{T:1},1049:{T:-1},1050:{},1051:{T:1},1052:{T:1},1053:{f:kp},1054:{T:1},1055:{},1056:{T:1},1057:{T:-1},1058:{T:1},1059:{T:-1},1061:{},1062:{T:1},1063:{T:-1},1064:{T:1},1065:{T:-1},1066:{T:1},1067:{T:-1},1068:{T:1},1069:{T:-1},1070:{T:1},1071:{T:-1},1072:{T:1},1073:{T:-1},1075:{T:1},1076:{T:-1},1077:{T:1},1078:{T:-1},1079:{T:1},1080:{T:-1},1081:{T:1},1082:{T:-1},1083:{T:1},1084:{T:-1},1085:{},1086:{T:1},1087:{T:-1},1088:{T:1},1089:{T:-1},1090:{T:1},1091:{T:-1},1092:{T:1},1093:{T:-1},1094:{T:1},1095:{T:-1},1096:{},1097:{T:1},1098:{},1099:{T:-1},1100:{T:1},1101:{T:-1},1102:{},1103:{},1104:{},1105:{},1111:{},1112:{},1113:{T:1},1114:{T:-1},1115:{T:1},1116:{T:-1},1117:{},1118:{T:1},1119:{T:-1},1120:{T:1},1121:{T:-1},1122:{T:1},1123:{T:-1},1124:{T:1},1125:{T:-1},1126:{},1128:{T:1},1129:{T:-1},1130:{},1131:{T:1},1132:{T:-1},1133:{T:1},1134:{T:-1},1135:{T:1},1136:{T:-1},1137:{T:1},1138:{T:-1},1139:{T:1},1140:{T:-1},1141:{},1142:{T:1},1143:{T:-1},1144:{T:1},1145:{T:-1},1146:{},1147:{T:1},1148:{T:-1},1149:{T:1},1150:{T:-1},1152:{T:1},1153:{T:-1},1154:{T:-1},1155:{T:-1},1156:{T:-1},1157:{T:1},1158:{T:-1},1159:{T:1},1160:{T:-1},1161:{T:1},1162:{T:-1},1163:{T:1},1164:{T:-1},1165:{T:1},1166:{T:-1},1167:{T:1},1168:{T:-1},1169:{T:1},1170:{T:-1},1171:{},1172:{T:1},1173:{T:-1},1177:{},1178:{T:1},1180:{},1181:{},1182:{},2048:{T:1},2049:{T:-1},2050:{},2051:{T:1},2052:{T:-1},2053:{},2054:{},2055:{T:1},2056:{T:-1},2057:{T:1},2058:{T:-1},2060:{},2067:{},2068:{T:1},2069:{T:-1},2070:{},2071:{},2072:{T:1},2073:{T:-1},2075:{},2076:{},2077:{T:1},2078:{T:-1},2079:{},2080:{T:1},2081:{T:-1},2082:{},2083:{T:1},2084:{T:-1},2085:{T:1},2086:{T:-1},2087:{T:1},2088:{T:-1},2089:{T:1},2090:{T:-1},2091:{},2092:{},2093:{T:1},2094:{T:-1},2095:{},2096:{T:1},2097:{T:-1},2098:{T:1},2099:{T:-1},2100:{T:1},2101:{T:-1},2102:{},2103:{T:1},2104:{T:-1},2105:{},2106:{T:1},2107:{T:-1},2108:{},2109:{T:1},2110:{T:-1},2111:{T:1},2112:{T:-1},2113:{T:1},2114:{T:-1},2115:{},2116:{},2117:{},2118:{T:1},2119:{T:-1},2120:{},2121:{T:1},2122:{T:-1},2123:{T:1},2124:{T:-1},2125:{},2126:{T:1},2127:{T:-1},2128:{},2129:{T:1},2130:{T:-1},2131:{T:1},2132:{T:-1},2133:{T:1},2134:{},2135:{},2136:{},2137:{T:1},2138:{T:-1},2139:{T:1},2140:{T:-1},2141:{},3072:{},3073:{},4096:{T:1},4097:{T:-1},5002:{T:1},5003:{T:-1},5081:{T:1},5082:{T:-1},5083:{},5084:{T:1},5085:{T:-1},5086:{T:1},5087:{T:-1},5088:{},5089:{},5090:{},5092:{T:1},5093:{T:-1},5094:{},5095:{T:1},5096:{T:-1},5097:{},5099:{},65535:{n:""}};var mm={6:{f:vd},10:{f:Ki},12:{f:es},13:{f:es},14:{f:Zi},15:{f:Zi},16:{f:dn},17:{f:Zi},18:{f:Zi},19:{f:es},20:{f:Of},21:{f:Of},23:{f:Ff},24:{f:Df},25:{f:Zi},26:{},27:{},28:{f:Hf},29:{},34:{f:Zi},35:{f:If},38:{f:dn},39:{f:dn},40:{f:dn},41:{f:dn},42:{f:Zi},43:{f:Zi},47:{f:pl},49:{f:sf},51:{f:es},60:{},61:{f:ef},64:{f:Zi},65:{f:nf},66:{f:es},77:{},80:{},81:{},82:{},85:{f:es},89:{},90:{},91:{},92:{f:zs},93:{f:Gf},94:{},95:{f:Zi},96:{},97:{},99:{f:Zi},125:{f:ao},128:{f:Ef},129:{f:Gs},130:{f:es},131:{f:Zi},132:{f:Zi},133:{f:js},134:{},140:{f:Zf},141:{f:es},144:{},146:{f:ro},151:{},152:{},153:{},154:{},155:{},156:{f:es},157:{},158:{},160:{f:lo},161:{f:io},174:{},175:{},176:{},177:{},178:{},180:{},181:{},182:{},184:{},185:{},189:{f:bf},190:{f:wf},193:{f:Ki},197:{},198:{},199:{},200:{},201:{},202:{f:Zi},203:{},204:{},205:{},206:{},207:{},208:{},209:{},210:{},211:{},213:{},215:{},216:{},217:{},218:{f:es},220:{},221:{f:Zi},222:{},224:{f:Tf},225:{f:Hs},226:{f:Ki},227:{},229:{f:zf},233:{},235:{},236:{},237:{},239:{},240:{},241:{},242:{},244:{},245:{},246:{},247:{},248:{},249:{},251:{},252:{f:$s},253:{f:of},255:{f:Ks},256:{},259:{},290:{},311:{},312:{},315:{},317:{f:ts},318:{},319:{},320:{},330:{},331:{},333:{},334:{},335:{},336:{},337:{},338:{},339:{},340:{},351:{},352:{f:Zi},353:{f:Ki},401:{},402:{},403:{},404:{},405:{},406:{},407:{},408:{},425:{},426:{},427:{},428:{},429:{},430:{f:Rf},431:{f:Zi},432:{},433:{},434:{},437:{},438:{f:$f},439:{f:Zi},440:{f:Yf},441:{},442:{f:ls},443:{},444:{f:es},445:{},446:{},448:{f:Ki},449:{f:Zs,r:2},450:{f:Ki},512:{f:pf},513:{f:oo},515:{f:_f},516:{f:cf},517:{f:yf},519:{f:co},520:{f:Js},523:{},545:{f:Uf},549:{f:Qs},566:{},574:{f:tf},638:{f:mf},659:{},1048:{},1054:{f:uf},1084:{},1212:{f:Mf},2048:{f:Jf},2049:{},2050:{},2051:{},2052:{},2053:{},2054:{},2055:{},2056:{},2057:{f:Bs},2058:{},2059:{},2060:{},2061:{},2062:{},2063:{},2064:{},2066:{},2067:{},2128:{},2129:{},2130:{},2131:{},2132:{},2133:{},2134:{},2135:{},2136:{},2137:{},2138:{},2146:{},2147:{r:12},2148:{},2149:{},2150:{},2151:{f:Ki},2152:{},2154:{},2155:{},2156:{},2161:{},2162:{},2164:{},2165:{},2166:{},2167:{},2168:{},2169:{},2170:{},2171:{},2172:{f:to,r:12},2173:{f:Uc,r:12},2174:{},2175:{},2180:{},2181:{},2182:{},2183:{},2184:{},2185:{},2186:{},2187:{},2188:{f:Zi,r:12},2189:{},2190:{r:12},2191:{},2192:{},2194:{},2195:{},2196:{f:Lf,r:12},2197:{},2198:{f:Nc,r:12},2199:{},2200:{},2201:{},2202:{f:Bf,r:12},2203:{f:Ki},2204:{},2205:{},2206:{},2207:{},2211:{f:qs},2212:{},2213:{},2214:{},2215:{},4097:{},4098:{},4099:{},4102:{},4103:{},4105:{},4106:{},4107:{},4108:{},4109:{},4116:{},4117:{},4118:{},4119:{},4120:{},4121:{},4122:{},4123:{},4124:{},4125:{},4126:{},4127:{},4128:{},4129:{},4130:{},4132:{},4133:{},4134:{f:es},4135:{},4146:{},4147:{},4148:{},4149:{},4154:{},4156:{},4157:{},4158:{},4159:{},4160:{},4161:{},4163:{},4164:{f:so},4165:{},4166:{},4168:{},4170:{},4171:{},4174:{},4175:{},4176:{},4177:{},4187:{},4188:{f:eo},4189:{},4191:{},4192:{},4193:{},4194:{},4195:{},4196:{},4197:{},4198:{},4199:{},4200:{},0:{f:pf},1:{},2:{f:go},3:{f:vo},4:{f:uo},5:{f:yf},7:{f:bo},8:{},9:{f:Bs},11:{},22:{f:es},30:{f:vf},31:{},32:{},33:{f:Uf},36:{},37:{f:Qs},50:{f:wo},62:{},52:{},67:{},68:{f:es},69:{},86:{},126:{},127:{f:ho},135:{},136:{},137:{},145:{},148:{},149:{},150:{},169:{},171:{},188:{},191:{},192:{},194:{},195:{},214:{f:ko},223:{},234:{},354:{},421:{},518:{f:vd},521:{f:Bs},536:{f:Df},547:{f:If},561:{},579:{},1030:{f:vd},1033:{f:Bs},1091:{},2157:{},2163:{},2177:{},2240:{},2241:{},2242:{},2243:{},2244:{},2245:{},2246:{},2247:{},2248:{},2249:{},2250:{},2251:{},2262:{r:12},29282:{}};function bm(e,r,t,a){var n=r;if(isNaN(n))return;var i=a||(t||[]).length||0;var s=e.next(4);s._W(2,n);s._W(2,i);if(i>0&&Jt(t))e.push(t)}function wm(e,r,t,a){var n=a||(t||[]).length||0;if(n<=8224)return bm(e,r,t,n);var i=r;if(isNaN(i))return;var s=t.parts||[],f=0;var o=0,l=0;while(l+(s[f]||8224)<=8224){l+=s[f]||8224;f++}var c=e.next(4);c._W(2,i);c._W(2,l);e.push(t.slice(o,o+l));o+=l;while(o=0&&n<65536)bm(e,2,mo(t,a,n));else bm(e,3,po(t,a,n));return;case"b":;case"e":bm(e,5,Tm(t,a,r.v,r.t));return;case"s":;case"str":bm(e,4,Am(t,a,(r.v||"").slice(0,255)));return;}bm(e,1,km(null,t,a))}function Cm(e,r,t,a){var n=Array.isArray(r);var i=Da(r["!ref"]||"A1"),s,f="",o=[];if(i.e.c>255||i.e.r>16383){if(a.WTF)throw new Error("Range "+(r["!ref"]||"A1")+" exceeds format limit A1:IV16384");i.e.c=Math.min(i.e.c,255);i.e.r=Math.min(i.e.c,16383);s=Na(i)}for(var l=i.s.r;l<=i.e.r;++l){f=Ta(l);for(var c=i.s.c;c<=i.e.c;++c){if(l===i.s.r)o[c]=ya(c);s=o[c]+f;var h=n?(r[l]||[])[c]:r[s];if(!h)continue;Em(e,h,l,c,a)}}}function ym(e,r){var t=r||{};if(g!=null&&t.dense==null)t.dense=g;var a=va();var n=0;for(var i=0;i255||d.e.r>=v){if(r.WTF)throw new Error("Range "+(i["!ref"]||"A1")+" exceeds format limit A1:IV16384");d.e.c=Math.min(d.e.c,255);d.e.r=Math.min(d.e.c,v-1)}bm(a,2057,Ws(t,16,r));bm(a,13,rs(1));bm(a,12,rs(100));bm(a,15,Qi(true));bm(a,17,Qi(false));bm(a,16,vn(.001));bm(a,95,Qi(true));bm(a,42,Qi(false));bm(a,43,Qi(false));bm(a,130,rs(1));bm(a,128,Cf([0,0]));bm(a,131,Qi(false));bm(a,132,Qi(false));if(l)Im(a,i["!cols"]);bm(a,512,gf(d,r));if(l)i["!links"]=[];for(var p=d.s.r;p<=d.e.r;++p){h=Ta(p);for(var g=d.s.c;g<=d.e.c;++g){if(p===d.s.r)u[g]=ya(g);c=u[g]+h;var m=o?(i[p]||[])[g]:i[c];if(!m)continue;Nm(a,m,p,g,r);if(l&&m.l)i["!links"].push([c,m.l])}}var b=f.CodeName||f.name||n;if(l)bm(a,574,af((s.Views||[])[0]));if(l&&(i["!merges"]||[]).length)bm(a,229,Vf(i["!merges"]));if(l)Rm(a,i);bm(a,442,hs(b,r));if(l)xm(a,i);bm(a,10);return a.end()}function Fm(e,r,t){var a=va();var n=(e||{}).Workbook||{};var i=n.Sheets||[];var s=n.WBProps||{};var f=t.biff==8,o=t.biff==5;bm(a,2057,Ws(e,5,t));if(t.bookType=="xla")bm(a,135);bm(a,225,f?rs(1200):null);bm(a,193,Ji(2));if(o)bm(a,191);if(o)bm(a,192);bm(a,226);bm(a,92,Vs("SheetJS",t));bm(a,66,rs(f?1200:1252));if(f)bm(a,353,rs(0));if(f)bm(a,448);bm(a,317,fo(e.SheetNames.length));if(f&&e.vbaraw)bm(a,211);if(f&&e.vbaraw){var l=s.CodeName||"ThisWorkbook";bm(a,442,hs(l,t))}bm(a,156,rs(17));bm(a,25,Qi(false));bm(a,18,Qi(false));bm(a,19,rs(0));if(f)bm(a,431,Qi(false));if(f)bm(a,444,rs(0));bm(a,61,rf(t));bm(a,64,Qi(false));bm(a,141,rs(0));bm(a,34,Qi(Yp(e)=="true"));bm(a,14,Qi(true));if(f)bm(a,439,Qi(false));bm(a,218,rs(0));Sm(a,e,t);_m(a,e.SSF,t);Om(a,t);if(f)bm(a,352,Qi(false));var c=a.end();var h=va();if(f)bm(h,140,Qf());if(f&&t.Strings)wm(h,252,Ys(t.Strings,t));bm(h,10);var u=h.end();var d=va();var v=0,p=0;for(p=0;p255){if(typeof console!="undefined"&&console.error)console.error("Worksheet '"+e.SheetNames[t]+"' extends beyond column IV (255). Data may be lost.")}}var i=r||{};switch(i.biff||2){case 8:;case 5:return Pm(e,r);case 4:;case 3:;case 2:return ym(e,r);}throw new Error("invalid type "+i.bookType+" for BIFF")}function Mm(e,r){var t=r||{};if(g!=null&&t.dense==null)t.dense=g;var a=t.dense?[]:{};e=e.replace(//g,"");var n=e.match(/");var i=e.match(/<\/table/i);var s=n.index,f=i&&i.index||e.length;var o=Er(e.slice(s,f),/(:?]*>)/i,"");var l=-1,c=0,h=0,u=0;var d={s:{r:1e7,c:1e7},e:{r:0,c:0}};var v=[];for(s=0;s/i);for(f=0;f"))>-1)k=k.slice(T+1);for(var A=0;A")));u=C.colspan?+C.colspan:1;if((h=+C.rowspan)>1||u>1)v.push({s:{r:l,c:c},e:{r:l+(h||1)-1,c:c+u-1}});var y=C.t||C["data-t"]||"";if(!k.length){c+=u;continue}k=ut(k);if(d.s.r>l)d.s.r=l;if(d.e.rc)d.s.c=c;if(d.e.ct||n[l].s.c>s)continue;if(n[l].e.r1)d.rowspan=f;if(o>1)d.colspan=o;if(a.editable)u=''+u+"";else if(h){d["data-t"]=h&&h.t||"z";if(h.v!=null)d["data-v"]=h.v;if(h.z!=null)d["data-z"]=h.z;if(h.l&&(h.l.Target||"#").charAt(0)!="#")u=''+u+""}d.id=(a.id||"sjs")+"-"+c;i.push(kt("td",u,d))}var v="";return v+i.join("")+""}var Bm='SheetJS Table Export';var Wm="";function Hm(e,r){var t=e.match(/[\s\S]*?<\/table>/gi);if(!t||t.length==0)throw new Error("Invalid HTML: could not find
");if(t.length==1)return La(Mm(t[0],r),r);var a=Nw();t.forEach(function(e,t){Dw(a,Mm(e,r),"Sheet"+(t+1))});return a}function zm(e,r,t){var a=[];return a.join("")+""}function Vm(e,r){var t=r||{};var a=t.header!=null?t.header:Bm;var n=t.footer!=null?t.footer:Wm;var i=[a];var s=Ia(e["!ref"]);t.dense=Array.isArray(e);i.push(zm(e,s,t));for(var f=s.s.r;f<=s.e.r;++f)i.push(Um(e,s,f,t));i.push("
"+n);return i.join("")}function Gm(e,r,t){var a=t||{};if(g!=null)a.dense=g;var n=0,i=0;if(a.origin!=null){if(typeof a.origin=="number")n=a.origin;else{var s=typeof a.origin=="string"?Oa(a.origin):a.origin;n=s.r;i=s.c}}var f=r.getElementsByTagName("tr"); +var o=Math.min(a.sheetRows||1e7,f.length);var l={s:{r:0,c:0},e:{r:n,c:i}};if(e["!ref"]){var c=Ia(e["!ref"]);l.s.r=Math.min(l.s.r,c.s.r);l.s.c=Math.min(l.s.c,c.s.c);l.e.r=Math.max(l.e.r,c.e.r);l.e.c=Math.max(l.e.c,c.e.c);if(n==-1)l.e.r=n=c.e.r+1}var h=[],u=0;var d=e["!rows"]||(e["!rows"]=[]);var v=0,p=0,m=0,b=0,w=0,k=0;if(!e["!cols"])e["!cols"]=[];for(;v1||k>1)h.push({s:{r:p+n,c:b+i},e:{r:p+n+(w||1)-1,c:b+i+(k||1)-1}});var _={t:"s",v:C};var x=E.getAttribute("data-t")||E.getAttribute("t")||"";if(C!=null){if(C.length==0)_.t=x||"z";else if(a.raw||C.trim().length==0||x=="s"){}else if(C==="TRUE")_={t:"b",v:true};else if(C==="FALSE")_={t:"b",v:false};else if(!isNaN(kr(C)))_={t:"n",v:kr(C)};else if(!isNaN(Ar(C).getDate())){_={t:"d",v:gr(C)};if(!a.cellDates)_={t:"n",v:fr(_.v)};_.z=a.dateNF||X[14]}}if(_.z===undefined&&y!=null)_.z=y;var O="",R=E.getElementsByTagName("A");if(R&&R.length)for(var I=0;I=o)e["!fullref"]=Na((l.e.r=f.length-v+p-1+n,l));return e}function jm(e,r){var t=r||{};var a=t.dense?[]:{};return Gm(a,e,r)}function Xm(e,r){return La(jm(e,r),r)}function $m(e){var r="";var t=Ym(e);if(t)r=t(e).getPropertyValue("display");if(!r)r=e.style&&e.style.display;return r==="none"}function Ym(e){if(e.ownerDocument.defaultView&&typeof e.ownerDocument.defaultView.getComputedStyle==="function")return e.ownerDocument.defaultView.getComputedStyle;if(typeof getComputedStyle==="function")return getComputedStyle;return null}function Km(e){var r=e.replace(/[\t\r\n]/g," ").trim().replace(/ +/g," ").replace(//g," ").replace(//g,function(e,r){return Array(parseInt(r,10)+1).join(" ")}).replace(/]*\/>/g,"\t").replace(//g,"\n");var t=Yr(r.replace(/<[^>]*>/g,""));return[t]}var Jm={day:["d","dd"],month:["m","mm"],year:["y","yy"],hours:["h","hh"],minutes:["m","mm"],seconds:["s","ss"],"am-pm":["A/P","AM/PM"],"day-of-week":["ddd","dddd"],era:["e","ee"],quarter:["\\Qm",'m\\"th quarter"']};function qm(e,r){var t=r||{};if(g!=null&&t.dense==null)t.dense=g;var a=Et(e);var n=[],i;var s;var f={name:""},o="",l=0;var c;var h;var u={},d=[];var v=t.dense?[]:{};var p,m;var b={value:""};var w="",k=0,T;var A=[];var E=-1,C=-1,y={s:{r:1e6,c:1e7},e:{r:0,c:0}};var S=0;var _={};var x=[],O={},R=0,I=0;var N=[],D=1,F=1;var P=[];var L={Names:[]};var M={};var U=["",""];var B=[],W={};var H="",z=0;var V=false,G=false;var j=0;Ct.lastIndex=0;a=a.replace(//gm,"").replace(//gm,"");while(p=Ct.exec(a))switch(p[3]=p[3].replace(/_.*$/,"")){case"table":;case"工作表":if(p[1]==="/"){if(y.e.c>=y.s.c&&y.e.r>=y.s.r)v["!ref"]=Na(y);else v["!ref"]="A1:A1";if(t.sheetRows>0&&t.sheetRows<=y.e.r){v["!fullref"]=v["!ref"];y.e.r=t.sheetRows-1;v["!ref"]=Na(y)}if(x.length)v["!merges"]=x;if(N.length)v["!rows"]=N;c.name=c["名称"]||c.name;if(typeof JSON!=="undefined")JSON.stringify(c);d.push(c.name);u[c.name]=v;G=false}else if(p[0].charAt(p[0].length-2)!=="/"){c=Gr(p[0],false);E=C=-1;y.s.r=y.s.c=1e7;y.e.r=y.e.c=0;v=t.dense?[]:{};x=[];N=[];G=true}break;case"table-row-group":if(p[1]==="/")--S;else++S;break;case"table-row":;case"行":if(p[1]==="/"){E+=D;D=1;break}h=Gr(p[0],false);if(h["行号"])E=h["行号"]-1;else if(E==-1)E=0;D=+h["number-rows-repeated"]||1;if(D<10)for(j=0;j0)N[E+j]={level:S};C=-1;break;case"covered-table-cell":if(p[1]!=="/")++C;if(t.sheetStubs){if(t.dense){if(!v[E])v[E]=[];v[E][C]={t:"z"}}else v[Ra({r:E,c:C})]={t:"z"}}w="";A=[];break;case"table-cell":;case"数据":if(p[0].charAt(p[0].length-2)==="/"){++C;b=Gr(p[0],false);F=parseInt(b["number-columns-repeated"]||"1",10);m={t:"z",v:null};if(b.formula&&t.cellFormula!=false)m.f=Cd(Yr(b.formula));if((b["数据类型"]||b["value-type"])=="string"){m.t="s";m.v=Yr(b["string-value"]||"");if(t.dense){if(!v[E])v[E]=[];v[E][C]=m}else{v[Ra({r:E,c:C})]=m}}C+=F-1}else if(p[1]!=="/"){++C;w="";k=0;A=[];F=1;var X=D?E+D-1:E;if(C>y.e.c)y.e.c=C;if(Cy.e.r)y.e.r=X;b=Gr(p[0],false);B=[];W={};m={t:b["数据类型"]||b["value-type"],v:null};if(t.cellFormula){if(b.formula)b.formula=Yr(b.formula);if(b["number-matrix-columns-spanned"]&&b["number-matrix-rows-spanned"]){R=parseInt(b["number-matrix-rows-spanned"],10)||0;I=parseInt(b["number-matrix-columns-spanned"],10)||0;O={s:{r:E,c:C},e:{r:E+R-1,c:C+I-1}};m.F=Na(O);P.push([O,m.F])}if(b.formula)m.f=Cd(b.formula);else for(j=0;j=P[j][0].s.r&&E<=P[j][0].e.r)if(C>=P[j][0].s.c&&C<=P[j][0].e.c)m.F=P[j][1]}if(b["number-columns-spanned"]||b["number-rows-spanned"]){R=parseInt(b["number-rows-spanned"],10)||0;I=parseInt(b["number-columns-spanned"],10)||0;O={s:{r:E,c:C},e:{r:E+R-1,c:C+I-1}};x.push(O)}if(b["number-columns-repeated"])F=parseInt(b["number-columns-repeated"],10);switch(m.t){case"boolean":m.t="b";m.v=nt(b["boolean-value"]);break;case"float":m.t="n";m.v=parseFloat(b.value);break;case"percentage":m.t="n";m.v=parseFloat(b.value);break;case"currency":m.t="n";m.v=parseFloat(b.value);break;case"date":m.t="d";m.v=gr(b["date-value"]);if(!t.cellDates){m.t="n";m.v=fr(m.v)}m.z="m/d/yy";break;case"time":m.t="n";m.v=ur(b["time-value"])/86400;if(t.cellDates){m.t="d";m.v=hr(m.v)}m.z="HH:MM:SS";break;case"number":m.t="n";m.v=parseFloat(b["数据数值"]);break;default:if(m.t==="string"||m.t==="text"||!m.t){m.t="s";if(b["string-value"]!=null){w=Yr(b["string-value"]);A=[]}}else throw new Error("Unsupported value type "+m.t);}}else{V=false;if(m.t==="s"){m.v=w||"";if(A.length)m.R=A;V=k==0}if(M.Target)m.l=M;if(B.length>0){m.c=B;B=[]}if(w&&t.cellText!==false)m.w=w;if(V){m.t="z";delete m.v}if(!V||t.sheetStubs){if(!(t.sheetRows&&t.sheetRows<=E)){for(var $=0;$0)v[E+$][C+F]=br(m)}else{v[Ra({r:E+$,c:C})]=m;while(--F>0)v[Ra({r:E+$,c:C+F})]=br(m)}if(y.e.c<=C)y.e.c=C}}}F=parseInt(b["number-columns-repeated"]||"1",10);C+=F-1;F=0;m={};w="";A=[]}M={};break;case"document":;case"document-content":;case"电子表格文档":;case"spreadsheet":;case"主体":;case"scripts":;case"styles":;case"font-face-decls":;case"master-styles":if(p[1]==="/"){if((i=n.pop())[0]!==p[3])throw"Bad state: "+i}else if(p[0].charAt(p[0].length-2)!=="/")n.push([p[3],true]);break;case"annotation":if(p[1]==="/"){if((i=n.pop())[0]!==p[3])throw"Bad state: "+i;W.t=w;if(A.length)W.R=A;W.a=H;B.push(W)}else if(p[0].charAt(p[0].length-2)!=="/"){n.push([p[3],false])}H="";z=0;w="";k=0;A=[];break;case"creator":if(p[1]==="/"){H=a.slice(z,p.index)}else z=p.index+p[0].length;break;case"meta":;case"元数据":;case"settings":;case"config-item-set":;case"config-item-map-indexed":;case"config-item-map-entry":;case"config-item-map-named":;case"shapes":;case"frame":;case"text-box":;case"image":;case"data-pilot-tables":;case"list-style":;case"form":;case"dde-links":;case"event-listeners":;case"chart":if(p[1]==="/"){if((i=n.pop())[0]!==p[3])throw"Bad state: "+i}else if(p[0].charAt(p[0].length-2)!=="/")n.push([p[3],false]);w="";k=0;A=[];break;case"scientific-number":break;case"currency-symbol":break;case"currency-style":break;case"number-style":;case"percentage-style":;case"date-style":;case"time-style":if(p[1]==="/"){_[f.name]=o;if((i=n.pop())[0]!==p[3])throw"Bad state: "+i}else if(p[0].charAt(p[0].length-2)!=="/"){o="";f=Gr(p[0],false);n.push([p[3],true])}break;case"script":break;case"libraries":break;case"automatic-styles":break;case"default-style":;case"page-layout":break;case"style":break;case"map":break;case"font-face":break;case"paragraph-properties":break;case"table-properties":break;case"table-column-properties":break;case"table-row-properties":break;case"table-cell-properties":break;case"number":switch(n[n.length-1][0]){case"time-style":;case"date-style":s=Gr(p[0],false);o+=Jm[p[3]][s.style==="long"?1:0];break;}break;case"fraction":break;case"day":;case"month":;case"year":;case"era":;case"day-of-week":;case"week-of-year":;case"quarter":;case"hours":;case"minutes":;case"seconds":;case"am-pm":switch(n[n.length-1][0]){case"time-style":;case"date-style":s=Gr(p[0],false);o+=Jm[p[3]][s.style==="long"?1:0];break;}break;case"boolean-style":break;case"boolean":break;case"text-style":break;case"text":if(p[0].slice(-2)==="/>")break;else if(p[1]==="/")switch(n[n.length-1][0]){case"number-style":;case"date-style":;case"time-style":o+=a.slice(l,p.index);break;}else l=p.index+p[0].length;break;case"named-range":s=Gr(p[0],false);U=Sd(s["cell-range-address"]);var Y={Name:s.name,Ref:U[0]+"!"+U[1]};if(G)Y.Sheet=d.length;L.Names.push(Y);break;case"text-content":break;case"text-properties":break;case"embedded-text":break;case"body":;case"电子表格":break;case"forms":break;case"table-column":break;case"table-header-rows":break;case"table-rows":break;case"table-column-group":break;case"table-header-columns":break;case"table-columns":break;case"null-date":break;case"graphic-properties":break;case"calculation-settings":break;case"named-expressions":break;case"label-range":break;case"label-ranges":break;case"named-expression":break;case"sort":break;case"sort-by":break;case"sort-groups":break;case"tab":break;case"line-break":break;case"span":break;case"p":;case"文本串":if(["master-styles"].indexOf(n[n.length-1][0])>-1)break;if(p[1]==="/"&&(!b||!b["string-value"])){var K=Km(a.slice(k,p.index),T);w=(w.length>0?w+"\n":"")+K[0]}else{T=Gr(p[0],false);k=p.index+p[0].length}break;case"s":break;case"database-range":if(p[1]==="/")break;try{U=Sd(Gr(p[0])["target-range-address"]);u[U[0]]["!autofilter"]={ref:U[1]}}catch(J){}break;case"date":break;case"object":break;case"title":;case"标题":break;case"desc":break;case"binary-data":break;case"table-source":break;case"scenario":break;case"iteration":break;case"content-validations":break;case"content-validation":break;case"help-message":break;case"error-message":break;case"database-ranges":break;case"filter":break;case"filter-and":break;case"filter-or":break;case"filter-condition":break;case"list-level-style-bullet":break;case"list-level-style-number":break;case"list-level-properties":break;case"sender-firstname":;case"sender-lastname":;case"sender-initials":;case"sender-title":;case"sender-position":;case"sender-email":;case"sender-phone-private":;case"sender-fax":;case"sender-company":;case"sender-phone-work":;case"sender-street":;case"sender-city":;case"sender-postal-code":;case"sender-country":;case"sender-state-or-province":;case"author-name":;case"author-initials":;case"chapter":;case"file-name":;case"template-name":;case"sheet-name":break;case"event-listener":break;case"initial-creator":;case"creation-date":;case"print-date":;case"generator":;case"document-statistic":;case"user-defined":;case"editing-duration":;case"editing-cycles":break;case"config-item":break;case"page-number":break;case"page-count":break;case"time":break;case"cell-range-source":break;case"detective":break;case"operation":break;case"highlighted-range":break;case"data-pilot-table":;case"source-cell-range":;case"source-service":;case"data-pilot-field":;case"data-pilot-level":;case"data-pilot-subtotals":;case"data-pilot-subtotal":;case"data-pilot-members":;case"data-pilot-member":;case"data-pilot-display-info":;case"data-pilot-sort-info":;case"data-pilot-layout-info":;case"data-pilot-field-reference":;case"data-pilot-groups":;case"data-pilot-group":;case"data-pilot-group-member":break;case"rect":break;case"dde-connection-decls":;case"dde-connection-decl":;case"dde-link":;case"dde-source":break;case"properties":break;case"property":break;case"a":if(p[1]!=="/"){M=Gr(p[0],false);if(!M.href)break;M.Target=Yr(M.href);delete M.href;if(M.Target.charAt(0)=="#"&&M.Target.indexOf(".")>-1){U=Sd(M.Target.slice(1));M.Target="#"+U[0]+"!"+U[1]}else if(M.Target.match(/^\.\.[\\\/]/))M.Target=M.Target.slice(3)}break;case"table-protection":break;case"data-pilot-grand-total":break;case"office-document-common-attrs":break;default:switch(p[2]){case"dc:":;case"calcext:":;case"loext:":;case"ooo:":;case"chartooo:":;case"draw:":;case"style:":;case"chart:":;case"form:":;case"uof:":;case"表:":;case"字:":break;default:if(t.WTF)throw new Error(p);};}var q={Sheets:u,SheetNames:d,Workbook:L};if(t.bookSheets)delete q.Sheets;return q}function Zm(e,r){r=r||{};if(_r(e,"META-INF/manifest.xml"))ai(Or(e,"META-INF/manifest.xml"),r);var t=Rr(e,"content.xml");if(!t)throw new Error("Missing content.xml in ODS / UOF file");var a=qm(lt(t),r);if(_r(e,"meta.xml"))a.Props=hi(Or(e,"meta.xml"));return a}function Qm(e,r){return qm(e,r)}var eb=function(){var e=["",'',"",'',"",'',"",""].join("");var r=""+e+"";return function t(){return Mr+r}}();var rb=function(){var e=function(e){return qr(e).replace(/ +/g,function(e){return''}).replace(/\t/g,"").replace(/\n/g,"").replace(/^ /,"").replace(/ $/,"")};var r=" \n";var t=" \n";var a=function(a,n,i){var s=[];s.push(' \n');var f=0,o=0,l=Ia(a["!ref"]||"A1");var c=a["!merges"]||[],h=0;var u=Array.isArray(a);if(a["!cols"]){for(o=0;o<=l.e.c;++o)s.push(" \n")}var d="",v=a["!rows"]||[];for(f=0;f\n")}for(;f<=l.e.r;++f){d=v[f]?' table:style-name="ro'+v[f].ods+'"':"";s.push(" \n");for(o=0;oo)continue;if(c[h].s.r>f)continue;if(c[h].e.c\n")}s.push(" \n");return s.join("")};var n=function(e,r){e.push(" \n");e.push(' \n');e.push(' \n');e.push(" /\n");e.push(' \n');e.push(" /\n");e.push(" \n");e.push(" \n");var t=0;r.SheetNames.map(function(e){return r.Sheets[e]}).forEach(function(r){if(!r)return;if(r["!cols"]){for(var a=0;a\n');e.push(' \n');e.push(" \n");++t}}});var a=0;r.SheetNames.map(function(e){return r.Sheets[e]}).forEach(function(r){if(!r)return;if(r["!rows"]){for(var t=0;t\n');e.push(' \n');e.push(" \n");++a}}});e.push(' \n');e.push(' \n');e.push(" \n");e.push(' \n');e.push(" \n")};return function i(e,r){var t=[Mr];var i=wt({"xmlns:office":"urn:oasis:names:tc:opendocument:xmlns:office:1.0","xmlns:table":"urn:oasis:names:tc:opendocument:xmlns:table:1.0","xmlns:style":"urn:oasis:names:tc:opendocument:xmlns:style:1.0","xmlns:text":"urn:oasis:names:tc:opendocument:xmlns:text:1.0","xmlns:draw":"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0","xmlns:fo":"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0","xmlns:xlink":"http://www.w3.org/1999/xlink","xmlns:dc":"http://purl.org/dc/elements/1.1/","xmlns:meta":"urn:oasis:names:tc:opendocument:xmlns:meta:1.0","xmlns:number":"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0","xmlns:presentation":"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0","xmlns:svg":"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0","xmlns:chart":"urn:oasis:names:tc:opendocument:xmlns:chart:1.0","xmlns:dr3d":"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0","xmlns:math":"http://www.w3.org/1998/Math/MathML","xmlns:form":"urn:oasis:names:tc:opendocument:xmlns:form:1.0","xmlns:script":"urn:oasis:names:tc:opendocument:xmlns:script:1.0","xmlns:ooo":"http://openoffice.org/2004/office","xmlns:ooow":"http://openoffice.org/2004/writer","xmlns:oooc":"http://openoffice.org/2004/calc","xmlns:dom":"http://www.w3.org/2001/xml-events","xmlns:xforms":"http://www.w3.org/2002/xforms","xmlns:xsd":"http://www.w3.org/2001/XMLSchema","xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","xmlns:sheet":"urn:oasis:names:tc:opendocument:sh33tjs:1.0","xmlns:rpt":"http://openoffice.org/2005/report","xmlns:of":"urn:oasis:names:tc:opendocument:xmlns:of:1.2","xmlns:xhtml":"http://www.w3.org/1999/xhtml","xmlns:grddl":"http://www.w3.org/2003/g/data-view#","xmlns:tableooo":"http://openoffice.org/2009/table","xmlns:drawooo":"http://openoffice.org/2010/draw","xmlns:calcext":"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0","xmlns:loext":"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0","xmlns:field":"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0","xmlns:formx":"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0","xmlns:css3t":"http://www.w3.org/TR/css3-text/","office:version":"1.2"});var s=wt({"xmlns:config":"urn:oasis:names:tc:opendocument:xmlns:config:1.0","office:mimetype":"application/vnd.oasis.opendocument.spreadsheet"});if(r.bookType=="fods"){t.push("\n");t.push(oi().replace(/office:document-meta/g,"office:meta"))}else t.push("\n");n(t,e);t.push(" \n");t.push(" \n");for(var f=0;f!=e.SheetNames.length;++f)t.push(a(e.Sheets[e.SheetNames[f]],e,f,r));t.push(" \n");t.push(" \n");if(r.bookType=="fods")t.push("");else t.push("");return t.join("")}}();function tb(e,r){if(r.bookType=="fods")return rb(e,r);var t=Fr();var a="";var n=[];var i=[];a="mimetype";Dr(t,a,"application/vnd.oasis.opendocument.spreadsheet");a="content.xml";Dr(t,a,rb(e,r));n.push([a,"text/xml"]);i.push([a,"ContentFile"]);a="styles.xml";Dr(t,a,eb(e,r));n.push([a,"text/xml"]);i.push([a,"StylesFile"]);a="meta.xml";Dr(t,a,Mr+oi());n.push([a,"text/xml"]);i.push([a,"MetadataFile"]);a="manifest.rdf";Dr(t,a,fi(i));n.push([a,"application/rdf+xml"]);a="META-INF/manifest.xml";Dr(t,a,ni(n));return t}function ab(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function nb(e){return typeof TextDecoder!="undefined"?(new TextDecoder).decode(e):lt(_(e))}function ib(e){return typeof TextEncoder!="undefined"?(new TextEncoder).encode(e):y(ct(e))}function sb(e,r){e:for(var t=0;t<=e.length-r.length;++t){for(var a=0;a>1&1431655765;e=(e&858993459)+(e>>2&858993459);return(e+(e>>4)&252645135)*16843009>>>24}function lb(e,r){var t=(e[r+15]&127)<<7|e[r+14]>>1;var a=e[r+14]&1;for(var n=r+13;n>=r;--n)a=a*256+e[n];return(e[r+15]&128?-a:a)*Math.pow(10,t-6176)}function cb(e,r,t){var a=Math.floor(t==0?0:Math.LOG10E*Math.log(Math.abs(t)))+6176-20;var n=t/Math.pow(10,a-6176);e[r+15]|=a>>7;e[r+14]|=(a&127)<<1;for(var i=0;n>=1;++i,n/=256)e[r+i]=n&255;e[r+15]|=t>=0?0:128}function hb(e,r){var t=r?r[0]:0;var a=e[t]&127;e:if(e[t++]>=128){a|=(e[t]&127)<<7;if(e[t++]<128)break e;a|=(e[t]&127)<<14;if(e[t++]<128)break e;a|=(e[t]&127)<<21;if(e[t++]<128)break e;a+=(e[t]&127)*Math.pow(2,28);++t;if(e[t++]<128)break e;a+=(e[t]&127)*Math.pow(2,35);++t;if(e[t++]<128)break e;a+=(e[t]&127)*Math.pow(2,42);++t;if(e[t++]<128)break e}if(r)r[0]=t;return a}function ub(e){var r=new Uint8Array(7);r[0]=e&127;var t=1;e:if(e>127){r[t-1]|=128;r[t]=e>>7&127;++t;if(e<=16383)break e;r[t-1]|=128;r[t]=e>>14&127;++t;if(e<=2097151)break e;r[t-1]|=128;r[t]=e>>21&127;++t;if(e<=268435455)break e;r[t-1]|=128;r[t]=e/256>>>21&127;++t;if(e<=34359738367)break e;r[t-1]|=128;r[t]=e/65536>>>21&127;++t;if(e<=4398046511103)break e;r[t-1]|=128;r[t]=e/16777216>>>21&127;++t}return r.slice(0,t)}function db(e){var r=0,t=e[r]&127;e:if(e[r++]>=128){t|=(e[r]&127)<<7;if(e[r++]<128)break e;t|=(e[r]&127)<<14;if(e[r++]<128)break e;t|=(e[r]&127)<<21;if(e[r++]<128)break e;t|=(e[r]&127)<<28}return t}function vb(e){var r=[],t=[0];while(t[0]=128);f=e.slice(o,t[0])}break;case 5:s=4;f=e.slice(t[0],t[0]+s);t[0]+=s;break;case 1:s=8;f=e.slice(t[0],t[0]+s);t[0]+=s;break;case 2:s=hb(e,t);f=e.slice(t[0],t[0]+s);t[0]+=s;break;case 3:;case 4:;default:throw new Error("PB Type ".concat(i," for Field ").concat(n," at offset ").concat(a));}var l={data:f,type:i};if(r[n]==null)r[n]=[l];else r[n].push(l)}return r}function pb(e){var r=[];e.forEach(function(e,t){e.forEach(function(e){if(!e.data)return;r.push(ub(t*8+e.type));if(e.type==2)r.push(ub(e.data.length));r.push(e.data)})});return fb(r)}function gb(e,r){return(e==null?void 0:e.map(function(e){return r(e.data)}))||[]}function mb(e){var r;var t=[],a=[0];while(a[0]>>0>0;t.push(s)}return t}function bb(e){var r=[];e.forEach(function(e){var t=[];t[1]=[{data:ub(e.id),type:0}];t[2]=[];if(e.merge!=null)t[3]=[{data:ub(+!!e.merge),type:0}];var a=[];e.messages.forEach(function(e){a.push(e.data);e.meta[3]=[{type:0,data:ub(e.data.length)}];t[2].push({data:pb(e.meta),type:2})});var n=pb(t);r.push(ub(n.length));r.push(n);a.forEach(function(e){return r.push(e)})});return fb(r)}function wb(e,r){if(e!=0)throw new Error("Unexpected Snappy chunk type ".concat(e));var t=[0];var a=hb(r,t);var n=[];while(t[0]>2;if(s<60)++s;else{var f=s-59;s=r[t[0]];if(f>1)s|=r[t[0]+1]<<8;if(f>2)s|=r[t[0]+2]<<16;if(f>3)s|=r[t[0]+3]<<24;s>>>=0;s++;t[0]+=f}n.push(r.slice(t[0],t[0]+s));t[0]+=s;continue}else{var o=0,l=0;if(i==1){l=(r[t[0]]>>2&7)+4;o=(r[t[0]++]&224)<<3;o|=r[t[0]++]}else{l=(r[t[0]++]>>2)+1;if(i==2){o=r[t[0]]|r[t[0]+1]<<8;t[0]+=2}else{o=(r[t[0]]|r[t[0]+1]<<8|r[t[0]+2]<<16|r[t[0]+3]<<24)>>>0;t[0]+=4}}n=[fb(n)];if(o==0)throw new Error("Invalid offset 0");if(o>n[0].length)throw new Error("Invalid offset beyond length");if(l>=o){n.push(n[0].slice(-o));l-=o;while(l>=n[n.length-1].length){n.push(n[n.length-1]);l-=n[n.length-1].length}}n.push(n[0].slice(-o,-o+l))}}var c=fb(n);if(c.length!=a)throw new Error("Unexpected length: ".concat(c.length," != ").concat(a));return c}function kb(e){var r=[];var t=0;while(t>8&255]))}else if(a<=16777216){s+=4;r.push(new Uint8Array([248,a-1&255,a-1>>8&255,a-1>>16&255]))}else if(a<=4294967296){s+=5;r.push(new Uint8Array([252,a-1&255,a-1>>8&255,a-1>>16&255,a-1>>>24&255]))}r.push(e.slice(t,t+a));s+=a;n[0]=0;n[1]=s&255;n[2]=s>>8&255;n[3]=s>>16&255;t+=a}return fb(r)}function Ab(e,r,t,a){var n=ab(e);var i=n.getUint32(4,true);var s=(a>1?12:8)+ob(i&(a>1?3470:398))*4;var f=-1,o=-1,l=NaN,c=new Date(2001,0,1);if(i&512){f=n.getUint32(s,true);s+=4}s+=ob(i&(a>1?12288:4096))*4;if(i&16){o=n.getUint32(s,true);s+=4}if(i&32){l=n.getFloat64(s,true);s+=8}if(i&64){c.setTime(c.getTime()+n.getFloat64(s,true)*1e3);s+=8}var h;switch(e[2]){case 0:break;case 2:h={t:"n",v:l};break;case 3:h={t:"s",v:r[o]};break;case 5:h={t:"d",v:c};break;case 6:h={t:"b",v:l>0};break;case 7:h={t:"n",v:l/86400};break;case 8:h={t:"e",v:0};break;case 9:{if(f>-1)h={t:"s",v:t[f]};else if(o>-1)h={t:"s",v:r[o]};else if(!isNaN(l))h={t:"n",v:l};else throw new Error("Unsupported cell type ".concat(e.slice(0,4)))}break;default:throw new Error("Unsupported cell type ".concat(e.slice(0,4)));}return h}function Eb(e,r,t){var a=ab(e);var n=a.getUint32(8,true);var i=12;var s=-1,f=-1,o=NaN,l=NaN,c=new Date(2001,0,1);if(n&1){o=lb(e,i);i+=16}if(n&2){l=a.getFloat64(i,true);i+=8}if(n&4){c.setTime(c.getTime()+a.getFloat64(i,true)*1e3);i+=8}if(n&8){f=a.getUint32(i,true);i+=4}if(n&16){s=a.getUint32(i,true);i+=4}var h;switch(e[1]){case 0:break;case 2:h={t:"n",v:o};break;case 3:h={t:"s",v:r[f]};break;case 5:h={t:"d",v:c};break;case 6:h={t:"b",v:l>0};break;case 7:h={t:"n",v:l/86400};break;case 8:h={t:"e",v:0};break;case 9:{if(s>-1)h={t:"s",v:t[s]};else throw new Error("Unsupported cell type ".concat(e[1]," : ").concat(n&31," : ").concat(e.slice(0,4)))}break;case 10:h={t:"n",v:o};break;default:throw new Error("Unsupported cell type ".concat(e[1]," : ").concat(n&31," : ").concat(e.slice(0,4)));}return h}function Cb(e,r){var t=new Uint8Array(32),a=ab(t),n=12,i=0;t[0]=5;switch(e.t){case"n":t[1]=2;cb(t,n,e.v);i|=1;n+=16;break;case"b":t[1]=6;a.setFloat64(n,e.v?1:0,true);i|=2;n+=8;break;case"s":if(r.indexOf(e.v)==-1)throw new Error("Value ".concat(e.v," missing from SST!"));t[1]=3;a.setUint32(n,r.indexOf(e.v),true);i|=8;n+=4;break;default:throw"unsupported cell type "+e.t;}a.setUint32(8,i,true);return t.slice(0,n)}function yb(e,r){var t=new Uint8Array(32),a=ab(t),n=12,i=0;t[0]=3;switch(e.t){case"n":t[2]=2;a.setFloat64(n,e.v,true);i|=32;n+=8;break;case"b":t[2]=6;a.setFloat64(n,e.v?1:0,true);i|=32;n+=8;break;case"s":if(r.indexOf(e.v)==-1)throw new Error("Value ".concat(e.v," missing from SST!"));t[2]=3;a.setUint32(n,r.indexOf(e.v),true);i|=16;n+=4;break;default:throw"unsupported cell type "+e.t;}a.setUint32(4,i,true);return t.slice(0,n)}function Sb(e,r,t){switch(e[0]){case 0:;case 1:;case 2:;case 3:return Ab(e,r,t,e[0]);case 5:return Eb(e,r,t);default:throw new Error("Unsupported payload version ".concat(e[0]));}}function _b(e){var r=vb(e);return hb(r[1][0].data)}function xb(e){var r=[];r[1]=[{type:0,data:ub(e)}];return pb(r)}function Ob(e,r){var t=vb(r.data);var a=db(t[1][0].data);var n=t[3];var i=[];(n||[]).forEach(function(r){var t=vb(r.data);var n=db(t[1][0].data)>>>0;switch(a){case 1:i[n]=nb(t[3][0].data);break;case 8:{var s=e[_b(t[9][0].data)][0];var f=vb(s.data);var o=e[_b(f[1][0].data)][0];var l=db(o.meta[1][0].data);if(l!=2001)throw new Error("2000 unexpected reference to ".concat(l));var c=vb(o.data);i[n]=c[3].map(function(e){return nb(e.data)}).join("")}break;}});return i}function Rb(e,r){var t,a,n,i,s,f,o,l,c,h,u,d,v,p;var g=vb(e);var m=db(g[1][0].data)>>>0;var b=db(g[2][0].data)>>>0;var w=((a=(t=g[8])==null?void 0:t[0])==null?void 0:a.data)&&db(g[8][0].data)>0||false;var k,T;if(((i=(n=g[7])==null?void 0:n[0])==null?void 0:i.data)&&r!=0){k=(f=(s=g[7])==null?void 0:s[0])==null?void 0:f.data;T=(l=(o=g[6])==null?void 0:o[0])==null?void 0:l.data}else if(((h=(c=g[4])==null?void 0:c[0])==null?void 0:h.data)&&r!=1){k=(d=(u=g[4])==null?void 0:u[0])==null?void 0:d.data;T=(p=(v=g[3])==null?void 0:v[0])==null?void 0:p.data}else throw"NUMBERS Tile missing ".concat(r," cell storage");var A=w?4:1;var E=ab(k);var C=[];for(var y=0;y=1)_[C[C.length-1][0]]=T.subarray(C[C.length-1][1]*A);return{R:m,cells:_}}function Ib(e,r){var t;var a=vb(r.data);var n=((t=a==null?void 0:a[7])==null?void 0:t[0])?db(a[7][0].data)>>>0>0?1:0:-1;var i=gb(a[5],function(e){return Rb(e,n)});return{nrows:db(a[4][0].data)>>>0,data:i.reduce(function(e,r){if(!e[r.R])e[r.R]=[];r.cells.forEach(function(t,a){if(e[r.R][a])throw new Error("Duplicate cell r=".concat(r.R," c=").concat(a));e[r.R][a]=t});return e},[])}}function Nb(e,r,t){var a;var n=vb(r.data);var i={s:{r:0,c:0},e:{r:0,c:0}};i.e.r=(db(n[6][0].data)>>>0)-1;if(i.e.r<0)throw new Error("Invalid row varint ".concat(n[6][0].data));i.e.c=(db(n[7][0].data)>>>0)-1;if(i.e.c<0)throw new Error("Invalid col varint ".concat(n[7][0].data));t["!ref"]=Na(i);var s=vb(n[4][0].data);var f=Ob(e,e[_b(s[4][0].data)][0]); +var o=((a=s[17])==null?void 0:a[0])?Ob(e,e[_b(s[17][0].data)][0]):[];var l=vb(s[3][0].data);var c=0;l[1].forEach(function(r){var a=vb(r.data);var n=e[_b(a[2][0].data)][0];var i=db(n.meta[1][0].data);if(i!=6002)throw new Error("6001 unexpected reference to ".concat(i));var s=Ib(e,n);s.data.forEach(function(e,r){e.forEach(function(e,a){var n=Ra({r:c+r,c:a});var i=Sb(e,f,o);if(i)t[n]=i})});c+=s.nrows})}function Db(e,r){var t=vb(r.data);var a={"!ref":"A1"};var n=e[_b(t[2][0].data)];var i=db(n[0].meta[1][0].data);if(i!=6001)throw new Error("6000 unexpected reference to ".concat(i));Nb(e,n[0],a);return a}function Fb(e,r){var t;var a=vb(r.data);var n={name:((t=a[1])==null?void 0:t[0])?nb(a[1][0].data):"",sheets:[]};var i=gb(a[2],_b);i.forEach(function(r){e[r].forEach(function(r){var t=db(r.meta[1][0].data);if(t==6e3)n.sheets.push(Db(e,r))})});return n}function Pb(e,r){var t=Nw();var a=vb(r.data);var n=gb(a[1],_b);n.forEach(function(r){e[r].forEach(function(r){var a=db(r.meta[1][0].data);if(a==2){var n=Fb(e,r);n.sheets.forEach(function(e,r){Dw(t,e,r==0?n.name:n.name+"_"+r,true)})}})});if(t.SheetNames.length==0)throw new Error("Empty NUMBERS file");return t}function Lb(e){var r,t,a,n;var i={},s=[];e.FullPaths.forEach(function(e){if(e.match(/\.iwpv2/))throw new Error("Unsupported password protection")});e.FileIndex.forEach(function(e){if(!e.name.match(/\.iwa$/))return;var r;try{r=kb(e.content)}catch(t){return console.log("?? "+e.content.length+" "+(t.message||t))}var a;try{a=mb(r)}catch(t){return console.log("## "+(t.message||t))}a.forEach(function(e){i[e.id]=e.messages;s.push(e.id)})});if(!s.length)throw new Error("File has no messages");var f=((n=(a=(t=(r=i==null?void 0:i[1])==null?void 0:r[0])==null?void 0:t.meta)==null?void 0:a[1])==null?void 0:n[0].data)&&db(i[1][0].meta[1][0].data)==1&&i[1][0];if(!f)s.forEach(function(e){i[e].forEach(function(e){var r=db(e.meta[1][0].data)>>>0;if(r==1){if(!f)f=e;else throw new Error("Document has multiple roots")}})});if(!f)throw new Error("Cannot find Document root");return Pb(i,f)}function Mb(e,r,t){var a,n,i,s;if(!((a=e[6])==null?void 0:a[0])||!((n=e[7])==null?void 0:n[0]))throw"Mutation only works on post-BNC storages!";var f=((s=(i=e[8])==null?void 0:i[0])==null?void 0:s.data)&&db(e[8][0].data)>0||false;if(f)throw"Math only works with normal offsets";var o=0;var l=ab(e[7][0].data),c=0,h=[];var u=ab(e[4][0].data),d=0,v=[];for(var p=0;p1)console.error("The Numbers writer currently writes only the first table");var a=Ia(t["!ref"]);a.s.r=a.s.c=0;var n=false;if(a.e.c>9){n=true;a.e.c=9}if(a.e.r>49){n=true;a.e.r=49}if(n)console.error("The Numbers writer is currently limited to ".concat(Na(a)));var i=Aw(t,{range:a,header:1});var s=["~Sh33tJ5~"];i.forEach(function(e){return e.forEach(function(e){if(typeof e=="string")s.push(e)})});var f={};var o=[];var l=Ke.read(r.numbers,{type:"base64"});l.FileIndex.map(function(e,r){return[e,l.FullPaths[r]]}).forEach(function(e){var r=e[0],t=e[1];if(r.type!=2)return;if(!r.name.match(/\.iwa/))return;var a=r.content;var n=kb(a);var i=mb(n);i.forEach(function(e){o.push(e.id);f[e.id]={deps:[],location:t,type:db(e.messages[0].meta[1][0].data)}})});o.sort(function(e,r){return e-r});var c=o.filter(function(e){return e>1}).map(function(e){return[e,ub(e)]});l.FileIndex.map(function(e,r){return[e,l.FullPaths[r]]}).forEach(function(e){var r=e[0],t=e[1];if(!r.name.match(/\.iwa/))return;var a=mb(kb(r.content));a.forEach(function(e){e.messages.forEach(function(r){c.forEach(function(r){if(e.messages.some(function(e){return db(e.meta[1][0].data)!=11006&&sb(e.data,r[1])})){f[r[0]].deps.push(e.id)}})})})});function h(){for(var e=927262;e<2e6;++e)if(!f[e])return e;throw new Error("Too many messages")}var u=Ke.find(l,f[1].location);var d=mb(kb(u.content));var v;for(var p=0;p-1)return"sheet";if(qn.CS&&e==qn.CS)return"chart";if(qn.DS&&e==qn.DS)return"dialog";if(qn.MS&&e==qn.MS)return"macro";return e&&e.length?e:"sheet"}function Vb(e,r){if(!e)return 0;try{e=r.map(function a(r){if(!r.id)r.id=r.strRelID;return[r.name,e["!id"][r.id].Target,zb(e["!id"][r.id].Type)]})}catch(t){return null}return!e||e.length===0?null:e}function Gb(e,r,t,a,n,i,s,f,o,l,c,h){try{i[a]=Qn(Rr(e,t,true),r);var u=Or(e,r);var d;switch(f){case"sheet":d=pg(u,r,n,o,i[a],l,c,h);break;case"chart":d=gg(u,r,n,o,i[a],l,c,h);if(!d||!d["!drawel"])break;var v=Lr(d["!drawel"].Target,r);var p=Zn(v);var g=th(Rr(e,v,true),Qn(Rr(e,p,true),v));var m=Lr(g,v);var b=Zn(m);d=Pp(Rr(e,m,true),m,o,Qn(Rr(e,b,true),m),l,d);break;case"macro":d=mg(u,r,n,o,i[a],l,c,h);break;case"dialog":d=bg(u,r,n,o,i[a],l,c,h);break;default:throw new Error("Unrecognized sheet type "+f);}s[a]=d;var w=[];if(i&&i[a])rr(i[a]).forEach(function(t){var n="";if(i[a][t].Type==qn.CMNT){n=Lr(i[a][t].Target,r);var s=Ag(Or(e,n,true),n,o);if(!s||!s.length)return;ih(d,s,false)}if(i[a][t].Type==qn.TCMNT){n=Lr(i[a][t].Target,r);w=w.concat(oh(Or(e,n,true),o))}});if(w&&w.length)ih(d,w,true,o.people||[])}catch(k){if(o.WTF)throw k}}function jb(e){return e.charAt(0)=="/"?e.slice(1):e}function Xb(e,r){ze();r=r||{};Wb(r);if(_r(e,"META-INF/manifest.xml"))return Zm(e,r);if(_r(e,"objectdata.xml"))return Zm(e,r);if(_r(e,"Index/Document.iwa")){if(typeof Uint8Array=="undefined")throw new Error("NUMBERS file parsing requires Uint8Array support");if(typeof Lb!="undefined"){if(e.FileIndex)return Lb(e);var t=Ke.utils.cfb_new();Nr(e).forEach(function(r){Dr(t,r,Ir(e,r))});return Lb(t)}throw new Error("Unsupported NUMBERS file")}if(!_r(e,"[Content_Types].xml")){if(_r(e,"index.xml.gz"))throw new Error("Unsupported NUMBERS 08 file");if(_r(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Error("Unsupported ZIP file")}var a=Nr(e);var n=Kn(Rr(e,"[Content_Types].xml"));var i=false;var s,f;if(n.workbooks.length===0){f="xl/workbook.xml";if(Or(e,f,true))n.workbooks.push(f)}if(n.workbooks.length===0){f="xl/workbook.bin";if(!Or(e,f,true))throw new Error("Could not find workbook");n.workbooks.push(f);i=true}if(n.workbooks[0].slice(-3)=="bin")i=true;var o={};var l={};if(!r.bookSheets&&!r.bookProps){xd=[];if(n.sst)try{xd=Tg(Or(e,jb(n.sst)),n.sst,r)}catch(c){if(r.WTF)throw c}if(r.cellStyles&&n.themes.length)o=kg(Rr(e,n.themes[0].replace(/^\//,""),true)||"",n.themes[0],r);if(n.style)l=wg(Or(e,jb(n.style)),n.style,o,r)}n.links.map(function(t){try{var a=Qn(Rr(e,Zn(jb(t))),t);return Cg(Or(e,jb(t)),a,t,r)}catch(n){}});var h=vg(Or(e,jb(n.workbooks[0])),n.workbooks[0],r);var u={},d="";if(n.coreprops.length){d=Or(e,jb(n.coreprops[0]),true);if(d)u=hi(d);if(n.extprops.length!==0){d=Or(e,jb(n.extprops[0]),true);if(d)mi(d,u,r)}}var v={};if(!r.bookSheets||r.bookProps){if(n.custprops.length!==0){d=Rr(e,jb(n.custprops[0]),true);if(d)v=ki(d,r)}}var p={};if(r.bookSheets||r.bookProps){if(h.Sheets)s=h.Sheets.map(function I(e){return e.name});else if(u.Worksheets&&u.SheetNames.length>0)s=u.SheetNames;if(r.bookProps){p.Props=u;p.Custprops=v}if(r.bookSheets&&typeof s!=="undefined")p.SheetNames=s;if(r.bookSheets?p.SheetNames:r.bookProps)return p}s={};var g={};if(r.bookDeps&&n.calcchain)g=Eg(Or(e,jb(n.calcchain)),n.calcchain,r);var m=0;var b={};var w,k;{var T=h.Sheets;u.Worksheets=T.length;u.SheetNames=[];for(var A=0;A!=T.length;++A){u.SheetNames[A]=T[A].name}}var E=i?"bin":"xml";var C=n.workbooks[0].lastIndexOf("/");var y=(n.workbooks[0].slice(0,C+1)+"_rels/"+n.workbooks[0].slice(C+1)+".rels").replace(/^\//,"");if(!_r(e,y))y="xl/_rels/workbook."+E+".rels";var S=Qn(Rr(e,y,true),y.replace(/_rels.*/,"s5s"));if((n.metadata||[]).length>=1){r.xlmeta=yg(Or(e,jb(n.metadata[0])),n.metadata[0],r)}if((n.people||[]).length>=1){r.people=ch(Or(e,jb(n.people[0])),r)}if(S)S=Vb(S,h.Sheets);var _=Or(e,"xl/worksheets/sheet.xml",true)?1:0;e:for(m=0;m!=u.Worksheets;++m){var x="sheet";if(S&&S[m]){w="xl/"+S[m][1].replace(/[\/]?xl\//,"");if(!_r(e,w))w=S[m][1];if(!_r(e,w))w=y.replace(/_rels\/.*$/,"")+S[m][1];x=S[m][2]}else{w="xl/worksheets/sheet"+(m+1-_)+"."+E;w=w.replace(/sheet0\./,"sheet.")}k=w.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels");if(r&&r.sheets!=null)switch(typeof r.sheets){case"number":if(m!=r.sheets)continue e;break;case"string":if(u.SheetNames[m].toLowerCase()!=r.sheets.toLowerCase())continue e;break;default:if(Array.isArray&&Array.isArray(r.sheets)){var O=false;for(var R=0;R!=r.sheets.length;++R){if(typeof r.sheets[R]=="number"&&r.sheets[R]==m)O=1;if(typeof r.sheets[R]=="string"&&r.sheets[R].toLowerCase()==u.SheetNames[m].toLowerCase())O=1}if(!O)continue e};}Gb(e,w,k,u.SheetNames[m],m,b,s,x,r,h,o,l)}p={Directory:n,Workbook:h,Props:u,Custprops:v,Deps:g,Sheets:s,SheetNames:u.SheetNames,Strings:xd,Styles:l,Themes:o,SSF:br(X)};if(r&&r.bookFiles){if(e.files){p.keys=a;p.files=e.files}else{p.keys=[];p.files={};e.FullPaths.forEach(function(r,t){r=r.replace(/^Root Entry[\/]/,"");p.keys.push(r);p.files[r]=e.FileIndex[t]})}}if(r&&r.bookVBA){if(n.vba.length>0)p.vbaraw=Or(e,jb(n.vba[0]),true);else if(n.defaults&&n.defaults.bin===bh)p.vbaraw=Or(e,"xl/vbaProject.bin",true)}return p}function $b(e,r){var t=r||{};var a="Workbook",n=Ke.find(e,a);try{a="/!DataSpaces/Version";n=Ke.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);Ko(n.content);a="/!DataSpaces/DataSpaceMap";n=Ke.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var i=qo(n.content);if(i.length!==1||i[0].comps.length!==1||i[0].comps[0].t!==0||i[0].name!=="StrongEncryptionDataSpace"||i[0].comps[0].v!=="EncryptedPackage")throw new Error("ECMA-376 Encrypted file bad "+a);a="/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace";n=Ke.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var s=Zo(n.content);if(s.length!=1||s[0]!="StrongEncryptionTransform")throw new Error("ECMA-376 Encrypted file bad "+a);a="/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary";n=Ke.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);el(n.content)}catch(f){}a="/EncryptionInfo";n=Ke.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var o=al(n.content);a="/EncryptedPackage";n=Ke.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);if(o[0]==4&&typeof decrypt_agile!=="undefined")return decrypt_agile(o[1],n.content,t.password||"",t);if(o[0]==2&&typeof decrypt_std76!=="undefined")return decrypt_std76(o[1],n.content,t.password||"",t);throw new Error("File is password-protected")}function Yb(e,r){if(r.bookType=="ods")return tb(e,r);if(r.bookType=="numbers")return Ub(e,r);if(r.bookType=="xlsb")return Kb(e,r);return Jb(e,r)}function Kb(e,r){ah=1024;if(e&&!e.SSF){e.SSF=br(X)}if(e&&e.SSF){ze();He(e.SSF);r.revssf=nr(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF}r.rels={};r.wbrels={};r.Strings=[];r.Strings.Count=0;r.Strings.Unique=0;if(Rd)r.revStrings=new Map;else{r.revStrings={};r.revStrings.foo=[];delete r.revStrings.foo}var t=r.bookType=="xlsb"?"bin":"xml";var a=Th.indexOf(r.bookType)>-1;var n=Yn();Hb(r=r||{});var i=Fr();var s="",f=0;r.cellXfs=[];Fd(r.cellXfs,{},{revssf:{General:0}});if(!e.Props)e.Props={};s="docProps/core.xml";Dr(i,s,di(e.Props,r));n.coreprops.push(s);ri(r.rels,2,s,qn.CORE_PROPS);s="docProps/app.xml";if(e.Props&&e.Props.SheetNames){}else if(!e.Workbook||!e.Workbook.Sheets)e.Props.SheetNames=e.SheetNames;else{var o=[];for(var l=0;l0){s="docProps/custom.xml";Dr(i,s,Ti(e.Custprops,r));n.custprops.push(s);ri(r.rels,4,s,qn.CUST_PROPS)}for(f=1;f<=e.SheetNames.length;++f){var c={"!id":{}};var h=e.Sheets[e.SheetNames[f-1]];var u=(h||{})["!type"]||"sheet";switch(u){case"chart":;default:s="xl/worksheets/sheet"+f+"."+t;Dr(i,s,_g(f-1,s,r,e,c));n.sheets.push(s);ri(r.wbrels,-1,"worksheets/sheet"+f+"."+t,qn.WS[0]);}if(h){var d=h["!comments"];var v=false;var p="";if(d&&d.length>0){p="xl/comments"+f+"."+t;Dr(i,p,Ig(d,p,r));n.comments.push(p);ri(c,-1,"../comments"+f+"."+t,qn.CMNT);v=true}if(h["!legacy"]){if(v)Dr(i,"xl/drawings/vmlDrawing"+f+".vml",nh(f,h["!comments"]))}delete h["!comments"];delete h["!legacy"]}if(c["!id"].rId1)Dr(i,Zn(s),ei(c))}if(r.Strings!=null&&r.Strings.length>0){s="xl/sharedStrings."+t;Dr(i,s,Rg(r.Strings,s,r));n.strs.push(s);ri(r.wbrels,-1,"sharedStrings."+t,qn.SST)}s="xl/workbook."+t;Dr(i,s,Sg(e,s,r));n.workbooks.push(s);ri(r.rels,1,s,qn.WB);s="xl/theme/theme1.xml";Dr(i,s,Ic(e.Themes,r));n.themes.push(s);ri(r.wbrels,-1,"theme/theme1.xml",qn.THEME);s="xl/styles."+t;Dr(i,s,Og(e,s,r));n.styles.push(s);ri(r.wbrels,-1,"styles."+t,qn.STY);if(e.vbaraw&&a){s="xl/vbaProject.bin";Dr(i,s,e.vbaraw);n.vba.push(s);ri(r.wbrels,-1,"vbaProject.bin",qn.VBA)}s="xl/metadata."+t;Dr(i,s,Ng(s));n.metadata.push(s);ri(r.wbrels,-1,"metadata."+t,qn.XLMETA);Dr(i,"[Content_Types].xml",Jn(n,r));Dr(i,"_rels/.rels",ei(r.rels));Dr(i,"xl/_rels/workbook."+t+".rels",ei(r.wbrels));delete r.revssf;delete r.ssf;return i}function Jb(e,r){ah=1024;if(e&&!e.SSF){e.SSF=br(X)}if(e&&e.SSF){ze();He(e.SSF);r.revssf=nr(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF}r.rels={};r.wbrels={};r.Strings=[];r.Strings.Count=0;r.Strings.Unique=0;if(Rd)r.revStrings=new Map;else{r.revStrings={};r.revStrings.foo=[];delete r.revStrings.foo}var t="xml";var a=Th.indexOf(r.bookType)>-1;var n=Yn();Hb(r=r||{});var i=Fr();var s="",f=0;r.cellXfs=[];Fd(r.cellXfs,{},{revssf:{General:0}});if(!e.Props)e.Props={};s="docProps/core.xml";Dr(i,s,di(e.Props,r));n.coreprops.push(s);ri(r.rels,2,s,qn.CORE_PROPS);s="docProps/app.xml";if(e.Props&&e.Props.SheetNames){}else if(!e.Workbook||!e.Workbook.Sheets)e.Props.SheetNames=e.SheetNames;else{var o=[];for(var l=0;l0){s="docProps/custom.xml";Dr(i,s,Ti(e.Custprops,r));n.custprops.push(s);ri(r.rels,4,s,qn.CUST_PROPS)}var c=["SheetJ5"];r.tcid=0;for(f=1;f<=e.SheetNames.length;++f){var h={"!id":{}};var u=e.Sheets[e.SheetNames[f-1]];var d=(u||{})["!type"]||"sheet";switch(d){case"chart":;default:s="xl/worksheets/sheet"+f+"."+t;Dr(i,s,pv(f-1,r,e,h));n.sheets.push(s);ri(r.wbrels,-1,"worksheets/sheet"+f+"."+t,qn.WS[0]);}if(u){var v=u["!comments"];var p=false;var g="";if(v&&v.length>0){var m=false;v.forEach(function(e){e[1].forEach(function(e){if(e.T==true)m=true})});if(m){g="xl/threadedComments/threadedComment"+f+"."+t;Dr(i,g,lh(v,c,r));n.threadedcomments.push(g);ri(h,-1,"../threadedComments/threadedComment"+f+"."+t,qn.TCMNT)}g="xl/comments"+f+"."+t;Dr(i,g,fh(v,r));n.comments.push(g);ri(h,-1,"../comments"+f+"."+t,qn.CMNT);p=true}if(u["!legacy"]){if(p)Dr(i,"xl/drawings/vmlDrawing"+f+".vml",nh(f,u["!comments"]))}delete u["!comments"];delete u["!legacy"]}if(h["!id"].rId1)Dr(i,Zn(s),ei(h))}if(r.Strings!=null&&r.Strings.length>0){s="xl/sharedStrings."+t;Dr(i,s,Ho(r.Strings,r));n.strs.push(s);ri(r.wbrels,-1,"sharedStrings."+t,qn.SST)}s="xl/workbook."+t;Dr(i,s,rg(e,r));n.workbooks.push(s);ri(r.rels,1,s,qn.WB);s="xl/theme/theme1.xml";Dr(i,s,Ic(e.Themes,r));n.themes.push(s);ri(r.wbrels,-1,"theme/theme1.xml",qn.THEME);s="xl/styles."+t;Dr(i,s,$l(e,r));n.styles.push(s);ri(r.wbrels,-1,"styles."+t,qn.STY);if(e.vbaraw&&a){s="xl/vbaProject.bin";Dr(i,s,e.vbaraw);n.vba.push(s);ri(r.wbrels,-1,"vbaProject.bin",qn.VBA)}s="xl/metadata."+t;Dr(i,s,Jc());n.metadata.push(s);ri(r.wbrels,-1,"metadata."+t,qn.XLMETA);if(c.length>1){s="xl/persons/person.xml";Dr(i,s,hh(c,r));n.people.push(s);ri(r.wbrels,-1,"persons/person.xml",qn.PEOPLE)}Dr(i,"[Content_Types].xml",Jn(n,r));Dr(i,"_rels/.rels",ei(r.rels));Dr(i,"xl/_rels/workbook."+t+".rels",ei(r.wbrels));delete r.revssf;delete r.ssf;return i}function qb(e,r){var t="";switch((r||{}).type||"base64"){case"buffer":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];case"base64":t=k(e.slice(0,12));break;case"binary":t=e;break;case"array":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];default:throw new Error("Unrecognized type "+(r&&r.type||"undefined"));}return[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3),t.charCodeAt(4),t.charCodeAt(5),t.charCodeAt(6),t.charCodeAt(7)]}function Zb(e,r){if(Ke.find(e,"EncryptedPackage"))return $b(e,r);return vm(e,r)}function Qb(e,r){var t,a=e;var n=r||{};if(!n.type)n.type=T&&Buffer.isBuffer(e)?"buffer":"base64";t=Pr(a,n);return Xb(t,n)}function ew(e,r){var t=0;e:while(t=2&&n[3]===0)return xo.to_workbook(a,t);if(n[2]===0&&(n[3]===8||n[3]===9))return xo.to_workbook(a,t)}break;case 3:;case 131:;case 139:;case 140:return Ao.to_workbook(a,t);case 123:if(n[1]===92&&n[2]===114&&n[3]===116)return gl.to_workbook(a,t);break;case 10:;case 13:;case 32:return rw(a,t);case 137:if(n[1]===80&&n[2]===78&&n[3]===71)throw new Error("PNG Image File is not a spreadsheet");break;}if(To.indexOf(n[0])>-1&&n[2]<=12&&n[3]<=31)return Ao.to_workbook(a,t);return nw(e,a,t,i)}function sw(e,r){var t=r||{};t.type="file";return iw(e,t)}function fw(e,r){switch(r.type){case"base64":;case"binary":break;case"buffer":;case"array":r.type="";break;case"file":return Qe(r.file,Ke.write(e,{type:T?"buffer":""}));case"string":throw new Error("'string' output type invalid for '"+r.bookType+"' files");default:throw new Error("Unrecognized type "+r.type);}return Ke.write(e,r)}function ow(e,r){var t=br(r||{});var a=Yb(e,t);return cw(a,t)}function lw(e,r){var t=br(r||{});var a=Jb(e,t);return cw(a,t)}function cw(e,r){var t={};var a=T?"nodebuffer":typeof Uint8Array!=="undefined"?"array":"string";if(r.compression)t.compression="DEFLATE";if(r.password)t.type=a;else switch(r.type){case"base64":t.type="base64";break;case"binary":t.type="string";break;case"string":throw new Error("'string' output type invalid for '"+r.bookType+"' files");case"buffer":;case"file":t.type=a;break;default:throw new Error("Unrecognized type "+r.type);}var n=e.FullPaths?Ke.write(e,{fileType:"zip",type:{nodebuffer:"buffer",string:"binary"}[t.type]||t.type,compression:!!r.compression}):e.generate(t);if(typeof Deno!=="undefined"){if(typeof n=="string"){if(r.type=="binary"||r.type=="base64")return n;n=new Uint8Array(S(n))}}if(r.password&&typeof encrypt_agile!=="undefined")return fw(encrypt_agile(n,r.password),r);if(r.type==="file")return Qe(r.file,n);return r.type=="string"?lt(n):n}function hw(e,r){var t=r||{};var a=pm(e,t);return fw(a,t)}function uw(e,r,t){if(!t)t="";var a=t+e;switch(r.type){case"base64":return w(ct(a));case"binary":return ct(a);case"string":return e;case"file":return Qe(r.file,a,"utf8");case"buffer":{if(T)return A(a,"utf8");else if(typeof TextEncoder!=="undefined")return(new TextEncoder).encode(a);else return uw(a,{type:"binary"}).split("").map(function(e){return e.charCodeAt(0)})};}throw new Error("Unrecognized type "+r.type)}function dw(e,r){switch(r.type){case"base64":return w(e);case"binary":return e;case"string":return e;case"file":return Qe(r.file,e,"binary");case"buffer":{if(T)return A(e,"binary");else return e.split("").map(function(e){return e.charCodeAt(0)})};}throw new Error("Unrecognized type "+r.type)}function vw(e,r){switch(r.type){case"string":;case"base64":;case"binary":var t="";for(var a=0;a0)n=0;var h=Ta(o.s.r);var u=[];var d=[];var v=0,p=0;var g=Array.isArray(e);var m=o.s.r,b=0;var w={};if(g&&!e[m])e[m]=[];var k=l.skipHidden&&e["!cols"]||[];var T=l.skipHidden&&e["!rows"]||[];for(b=o.s.c;b<=o.e.c;++b){if((k[b]||{}).hidden)continue;u[b]=ya(b);t=g?e[m][b]:e[u[b]+h];switch(a){case 1:i[b]=b-o.s.c;break;case 2:i[b]=u[b];break;case 3:i[b]=l.header[b-o.s.c];break;default:if(t==null)t={w:"__EMPTY",t:"s"};f=s=Pa(t,null,l);p=w[s]||0;if(!p)w[s]=1;else{do{f=s+"_"+p++}while(w[f]);w[s]=p;w[f]=1}i[b]=f;}}for(m=o.s.r+n;m<=o.e.r;++m){if((T[m]||{}).hidden)continue;var A=Tw(e,o,m,u,a,i,g,l);if(A.isempty===false||(a===1?l.blankrows!==false:!!l.blankrows))d[v++]=A.row}d.length=v;return d}var Ew=/"/g;function Cw(e,r,t,a,n,i,s,f){var o=true;var l=[],c="",h=Ta(t);for(var u=r.s.c;u<=r.e.c;++u){if(!a[u])continue;var d=f.dense?(e[t]||[])[u]:e[a[u]+h];if(d==null)c="";else if(d.v!=null){o=false;c=""+(f.rawNumbers&&d.t=="n"?d.v:Pa(d,null,f));for(var v=0,p=0;v!==c.length;++v)if((p=c.charCodeAt(v))===n||p===i||p===34||f.forceQuotes){c='"'+c.replace(Ew,'""')+'"';break}if(c=="ID")c='"ID"'}else if(d.f!=null&&!d.F){o=false;c="="+d.f;if(c.indexOf(",")>=0)c='"'+c.replace(Ew,'""')+'"'}else c="";l.push(c)}if(f.blankrows===false&&o)return null;return l.join(s)}function yw(e,r){var t=[];var a=r==null?{}:r;if(e==null||e["!ref"]==null)return"";var n=Da(e["!ref"]);var i=a.FS!==undefined?a.FS:",",s=i.charCodeAt(0);var f=a.RS!==undefined?a.RS:"\n",o=f.charCodeAt(0);var l=new RegExp((i=="|"?"\\|":i)+"+$");var c="",h=[];a.dense=Array.isArray(e);var u=a.skipHidden&&e["!cols"]||[];var d=a.skipHidden&&e["!rows"]||[];for(var v=n.s.c;v<=n.e.c;++v)if(!(u[v]||{}).hidden)h[v]=ya(v);var p=0;for(var g=n.s.r;g<=n.e.r;++g){if((d[g]||{}).hidden)continue;c=Cw(e,n,g,h,s,o,i,a);if(c==null){continue}if(a.strip)c=c.replace(l,"");if(c||a.blankrows!==false)t.push((p++?f:"")+c)}delete a.dense;return t.join("")}function Sw(e,r){if(!r)r={};r.FS="\t";r.RS="\n";var t=yw(e,r);if(typeof a=="undefined"||r.type=="string")return t;var n=a.utils.encode(1200,t,"str");return String.fromCharCode(255)+String.fromCharCode(254)+n}function _w(e){var r="",t,a="";if(e==null||e["!ref"]==null)return[];var n=Da(e["!ref"]),i="",s=[],f; +var o=[];var l=Array.isArray(e);for(f=n.s.c;f<=n.e.c;++f)s[f]=ya(f);for(var c=n.s.r;c<=n.e.r;++c){i=Ta(c);for(f=n.s.c;f<=n.e.c;++f){r=s[f]+i;t=l?(e[c]||[])[f]:e[r];a="";if(t===undefined)continue;else if(t.F!=null){r=t.F;if(!t.f)continue;a=t.f;if(r.indexOf(":")==-1)r=r+":"+r}if(t.f!=null)a=t.f;else if(t.t=="z")continue;else if(t.t=="n"&&t.v!=null)a=""+t.v;else if(t.t=="b")a=t.v?"TRUE":"FALSE";else if(t.w!==undefined)a="'"+t.w;else if(t.v===undefined)continue;else if(t.t=="s")a="'"+t.v;else a=""+t.v;o[o.length]=r+"="+a}}return o}function xw(e,r,t){var a=t||{};var n=+!a.skipHeader;var i=e||{};var s=0,f=0;if(i&&a.origin!=null){if(typeof a.origin=="number")s=a.origin;else{var o=typeof a.origin=="string"?Oa(a.origin):a.origin;s=o.r;f=o.c}}var l;var c={s:{c:0,r:0},e:{c:f,r:s+r.length-1+n}};if(i["!ref"]){var h=Da(i["!ref"]);c.e.c=Math.max(c.e.c,h.e.c);c.e.r=Math.max(c.e.r,h.e.r);if(s==-1){s=h.e.r+1;c.e.r=s+r.length-1+n}}else{if(s==-1){s=0;c.e.r=r.length-1+n}}var u=a.header||[],d=0;r.forEach(function(e,r){rr(e).forEach(function(t){if((d=u.indexOf(t))==-1)u[d=u.length]=t;var o=e[t];var c="z";var h="";var v=Ra({c:f+d,r:s+r+n});l=Rw(i,v);if(o&&typeof o==="object"&&!(o instanceof Date)){i[v]=o}else{if(typeof o=="number")c="n";else if(typeof o=="boolean")c="b";else if(typeof o=="string")c="s";else if(o instanceof Date){c="d";if(!a.cellDates){c="n";o=fr(o)}h=a.dateNF||X[14]}else if(o===null&&a.nullError){c="e";o=0}if(!l)i[v]=l={t:c,v:o};else{l.t=c;l.v=o;delete l.w;delete l.R;if(h)l.z=h}if(h)l.z=h}})});c.e.c=Math.max(c.e.c,f+u.length-1);var v=Ta(s);if(n)for(d=0;d=0&&e.SheetNames.length>r)return r;throw new Error("Cannot find sheet # "+r)}else if(typeof r=="string"){var t=e.SheetNames.indexOf(r);if(t>-1)return t;throw new Error("Cannot find sheet name |"+r+"|")}else throw new Error("Cannot find sheet |"+r+"|")}function Nw(){return{SheetNames:[],Sheets:{}}}function Dw(e,r,t,a){var n=1;if(!t)for(;n<=65535;++n,t=undefined)if(e.SheetNames.indexOf(t="Sheet"+n)==-1)break;if(!t||e.SheetNames.length>=65535)throw new Error("Too many worksheets");if(a&&e.SheetNames.indexOf(t)>=0){var i=t.match(/(^.*?)(\d+)$/);n=i&&+i[2]||0;var s=i&&i[1]||t;for(++n;n<=65535;++n)if(e.SheetNames.indexOf(t=s+n)==-1)break}Jp(t);if(e.SheetNames.indexOf(t)>=0)throw new Error("Worksheet with name |"+t+"| already exists!");e.SheetNames.push(t);e.Sheets[t]=r;return t}function Fw(e,r,t){if(!e.Workbook)e.Workbook={};if(!e.Workbook.Sheets)e.Workbook.Sheets=[];var a=Iw(e,r);if(!e.Workbook.Sheets[a])e.Workbook.Sheets[a]={};switch(t){case 0:;case 1:;case 2:break;default:throw new Error("Bad sheet visibility setting "+t);}e.Workbook.Sheets[a].Hidden=t}function Pw(e,r){e.z=r;return e}function Lw(e,r,t){if(!r){delete e.l}else{e.l={Target:r};if(t)e.l.Tooltip=t}return e}function Mw(e,r,t){return Lw(e,"#"+r,t)}function Uw(e,r,t){if(!e.c)e.c=[];e.c.push({t:r,a:t||"SheetJS"})}function Bw(e,r,t,a){var n=typeof r!="string"?r:Da(r);var i=typeof r=="string"?r:Na(r);for(var s=n.s.r;s<=n.e.r;++s)for(var f=n.s.c;f<=n.e.c;++f){var o=Rw(e,s,f);o.t="n";o.F=i;delete o.v;if(s==n.s.r&&f==n.s.c){o.f=t;if(a)o.D=true}}return e}var Ww={encode_col:ya,encode_row:Ta,encode_cell:Ra,encode_range:Na,decode_col:Ca,decode_row:ka,split_cell:xa,decode_cell:Oa,decode_range:Ia,format_cell:Pa,sheet_add_aoa:Ma,sheet_add_json:xw,sheet_add_dom:Gm,aoa_to_sheet:Ua,json_to_sheet:Ow,table_to_sheet:jm,table_to_book:Xm,sheet_to_csv:yw,sheet_to_txt:Sw,sheet_to_json:Aw,sheet_to_html:Vm,sheet_to_formulae:_w,sheet_to_row_object_array:Aw,sheet_get_cell:Rw,book_new:Nw,book_append_sheet:Dw,book_set_sheet_visibility:Fw,cell_set_number_format:Pw,cell_set_hyperlink:Lw,cell_set_internal_link:Mw,cell_add_comment:Uw,sheet_set_array_formula:Bw,consts:{SHEET_VISIBLE:0,SHEET_HIDDEN:1,SHEET_VERY_HIDDEN:2}};var Hw;function zw(e){Hw=e}function Vw(e,r){var t=Hw();var a=r==null?{}:r;if(e==null||e["!ref"]==null){t.push(null);return t}var n=Da(e["!ref"]);var i=a.FS!==undefined?a.FS:",",s=i.charCodeAt(0);var f=a.RS!==undefined?a.RS:"\n",o=f.charCodeAt(0);var l=new RegExp((i=="|"?"\\|":i)+"+$");var c="",h=[];a.dense=Array.isArray(e);var u=a.skipHidden&&e["!cols"]||[];var d=a.skipHidden&&e["!rows"]||[];for(var v=n.s.c;v<=n.e.c;++v)if(!(u[v]||{}).hidden)h[v]=ya(v);var p=n.s.r;var g=false,m=0;t._read=function(){if(!g){g=true;return t.push("\ufeff")}while(p<=n.e.r){++p;if((d[p-1]||{}).hidden)continue;c=Cw(e,n,p-1,h,s,o,i,a);if(c!=null){if(a.strip)c=c.replace(l,"");if(c||a.blankrows!==false)return t.push((m++?f:"")+c)}}return t.push(null)};return t}function Gw(e,r){var t=Hw();var a=r||{};var n=a.header!=null?a.header:Bm;var i=a.footer!=null?a.footer:Wm;t.push(n);var s=Ia(e["!ref"]);a.dense=Array.isArray(e);t.push(zm(e,s,a));var f=s.s.r;var o=false;t._read=function(){if(f>s.e.r){if(!o){o=true;t.push(""+i)}return t.push(null)}while(f<=s.e.r){t.push(Um(e,s,f,a));++f;break}};return t}function jw(e,r){var t=Hw({objectMode:true});if(e==null||e["!ref"]==null){t.push(null);return t}var a={t:"n",v:0},n=0,i=1,s=[],f=0,o="";var l={s:{r:0,c:0},e:{r:0,c:0}};var c=r||{};var h=c.range!=null?c.range:e["!ref"];if(c.header===1)n=1;else if(c.header==="A")n=2;else if(Array.isArray(c.header))n=3;switch(typeof h){case"string":l=Da(h);break;case"number":l=Da(e["!ref"]);l.s.r=h;break;default:l=h;}if(n>0)i=0;var u=Ta(l.s.r);var d=[];var v=0;var p=Array.isArray(e);var g=l.s.r,m=0;var b={};if(p&&!e[g])e[g]=[];var w=c.skipHidden&&e["!cols"]||[];var k=c.skipHidden&&e["!rows"]||[];for(m=l.s.c;m<=l.e.c;++m){if((w[m]||{}).hidden)continue;d[m]=ya(m);a=p?e[g][m]:e[d[m]+u];switch(n){case 1:s[m]=m-l.s.c;break;case 2:s[m]=d[m];break;case 3:s[m]=c.header[m-l.s.c];break;default:if(a==null)a={w:"__EMPTY",t:"s"};o=f=Pa(a,null,c);v=b[f]||0;if(!v)b[f]=1;else{do{o=f+"_"+v++}while(b[o]);b[f]=v;b[o]=1}s[m]=o;}}g=l.s.r+i;t._read=function(){while(g<=l.e.r){if((k[g-1]||{}).hidden)continue;var r=Tw(e,l,g,d,n,s,p,c);++g;if(r.isempty===false||(n===1?c.blankrows!==false:!!c.blankrows)){t.push(r.row);return}}return t.push(null)};return t}var Xw={to_json:jw,to_html:Gw,to_csv:Vw,set_readable:zw};if(typeof vm!=="undefined")e.parse_xlscfb=vm;e.parse_zip=Xb;e.read=iw;e.readFile=sw;e.readFileSync=sw;e.write=gw;e.writeFile=bw;e.writeFileSync=bw;e.writeFileAsync=kw;e.utils=Ww;e.writeXLSX=pw;e.writeFileXLSX=ww;e.SSF=Ve;if(typeof Xw!=="undefined")e.stream=Xw;if(typeof Ke!=="undefined")e.CFB=Ke;if(typeof require!=="undefined"){var $w=undefined;if(($w||{}).Readable)zw($w.Readable)}}if(typeof exports!=="undefined")make_xlsx_lib(exports);else if(typeof module!=="undefined"&&module.exports)make_xlsx_lib(module.exports);else if(typeof define==="function"&&define.amd)define("xlsx",function(){if(!XLSX.version)make_xlsx_lib(XLSX);return XLSX});else make_xlsx_lib(XLSX);if(typeof window!=="undefined"&&!window.XLSX)try{window.XLSX=XLSX}catch(e){} diff --git a/public/temp_download/xiuxiaohu/admin.html b/public/temp_download/xiuxiaohu/admin.html new file mode 100644 index 0000000..46f9a2f --- /dev/null +++ b/public/temp_download/xiuxiaohu/admin.html @@ -0,0 +1,1257 @@ + + + + + +全周期康复智能一体化管理平台 + + + +
+ + + + +
+ +
+ +
+ +
+⚠ 预警提醒:当前有 5 条异常指标预警待处理,请及时查看。 +
+ +
+
在管患者
128
本月新增 23 人
+
今日打卡率
87%
较昨日 +3%
+
待处理预警
5
皮瓣异常 3 · 疼痛 2
+
待回复咨询
3
平均等待 15 分钟
+
本月随访
42
完成率 89%
+
+ +
+
+

患者分布

按手术类型
+
+
+
+
皮瓣修复
58人
+
关节置换
38人
+
血管重建
32人
+
+
+
+
+
+

康复阶段分布

实时
+
+
+
+
决策期
19人
+
围术期
32人
+
术后1-7天
26人
+
术后8-14天
23人
+
康复1-3月
28人
+
+
+
+
+
+ +
+

最近预警

+
+ + + + + + + +
时间患者手术类型预警类型详情状态操作
2026-04-16 09:32张**皮瓣修复皮瓣异常皮瓣颜色苍白,毛细血管反应减弱待处理
2026-04-16 08:15李**关节置换疼痛异常疼痛评分 8/10,超出阈值待处理
2026-04-15 21:40王**皮瓣修复皮瓣异常皮瓣颜色发紫,肿胀加重已处理
+
+
+
+
+ +
+ +
+
+
+
+全部 (128) +皮瓣修复 (58) +关节置换 (38) +血管重建 (32) +
+ + + + + + + + + + +
患者编号姓名性别/年龄手术类型康复阶段打卡率最近预警状态操作
P20260301张**男 / 52岁皮瓣修复术后8-14天
92%
皮瓣苍白预警中
P20260302李**女 / 67岁关节置换康复1-3月
85%
疼痛8分预警中
P20260303王**男 / 45岁血管重建术后1-7天
100%
无正常
P20260304赵**女 / 58岁皮瓣修复康复1-3月
78%
无正常
P20260305陈**男 / 71岁关节置换围术期
60%
无正常
+ +
+
+
+
+ + +
+ +
+
+
今日评估
34
疼痛评分 18 · FJS 8 · 其他 8
+
异常指标
7
需关注
+
平均疼痛评分
3.2
较上周 -0.5
+
FJS 平均分
72
关节置换患者
+
+
+

评估记录列表

+
+
+全部 +疼痛评分 +FJS评分 +皮瓣观察 +血糖记录 +关节活动度 +
+ + + + + + + + + +
时间患者评估类型结果是否异常操作
2026-04-16 10:20张**皮瓣观察颜色苍白 · 肿胀中度 · 毛细血管反应减弱异常
2026-04-16 09:45李**疼痛评分VAS 8/10异常
2026-04-16 09:30王**血糖记录空腹 5.8 mmol/L正常
2026-04-16 08:50赵**FJS评分68分正常
2026-04-16 08:15陈**关节活动度屈曲 95° · 伸展 -5°正常
+
+
+
+
+ + +
+ +
+
+
待处理预警
5
需立即关注
+
今日新增
3
皮瓣 2 · 疼痛 1
+
已处理
12
本周累计
+
平均响应
18min
目标 ≤30min
+
+
+

预警列表

+
+
+待处理 (5) +已处理 (12) +全部 +
+ + + + + + + + + +
预警时间患者手术类型预警类型预警详情建议措施状态操作
04-16 09:32张**皮瓣修复紧急皮瓣颜色苍白,毛细血管反应减弱请抬高患肢,注意保暖,并联系医生待处理
04-16 08:15李**关节置换警告疼痛评分 8/10,超出阈值建议调整镇痛方案,必要时联系医生待处理
04-16 07:50刘**皮瓣修复紧急皮瓣颜色发紫,肿胀程度加重立即联系主治医生,避免压迫患处待处理
04-15 21:40王**血管重建警告血糖 12.5 mmol/L,高于正常范围注意饮食控制,监测血糖变化待处理
04-15 18:20孙**皮瓣修复警告术后伤口渗液增多保持伤口清洁,及时换药待处理
+
+
+
+
+ + +
+ +
+ +
+ +
+
知识总量
86
图文 62 · 视频 24
+
病种覆盖
10
A-J 类全覆盖
+
阶段覆盖
6
决策期 → 康复6月
+
本月阅读
1,247
人均 9.7 篇
+
+ +
+

病种分类(A-J类)

结构化标签体系
+
+
+
+
A
游离皮瓣
12篇
+
+
B
带蒂皮瓣
10篇
+
+
C
膝关节置换
9篇
+
+
D
髋关节置换
8篇
+
+
E
血管吻合重建
8篇
+
+
F
动脉修复
7篇
+
+
G
静脉重建
6篇
+
+
H
神经修复
6篇
+
+
I
骨缺损修复
5篇
+
+
J
其他/通用
15篇
+
+
+
+ +
+

内容列表

共 86 条
+
+
+全部 (86) +皮瓣修复 (22) +关节置换 (17) +血管重建 (14) +通用 (15) +待审核 (3) +
+ + + + + + + + + + + + + +
ID标题类型病种分类适用阶段关键词阅读量状态操作
K001皮瓣术后观察要点:颜色、肿胀与毛细血管反应图文A 游离皮瓣术后1-7天皮瓣观察、颜色、肿胀234已发布
K002踝泵运动指导视频 — 预防深静脉血栓视频C 膝关节术后1-7天锻炼、血栓预防189已发布
K003术后营养饮食指南 — 促进伤口愈合图文J 通用围术期营养、饮食、愈合312已发布
K004居家伤口护理与换药操作指南图文A 游离皮瓣术后8-14天伤口护理、换药278已发布
K005关节置换术后康复锻炼(1-3月阶段)视频C 膝关节 D 髋关节康复1-3月锻炼、关节活动度156已发布
K006术后心理调适 — 应对焦虑与情绪低落图文J 通用康复1-3月心理、焦虑、情绪198已发布
K007血管重建术后肢体保暖与血运观察图文E 血管吻合术后1-7天血运、保暖、观察87已发布
K008瘢痕管理与预防指南(新)图文A 游离皮瓣 B 带蒂皮瓣康复1-3月瘢痕、预防0待审核
+ +
+
+ +
+

阶段-内容匹配矩阵

自动推送依据
+
+ + + + + + + + + + + +
康复阶段皮瓣修复 (A/B)关节置换 (C/D)血管重建 (E/F/G)通用 (J)合计
决策期3篇3篇2篇4篇12
围术期4篇3篇3篇5篇15
术后1-7天5篇4篇4篇3篇16
术后8-14天4篇3篇2篇2篇11
康复1-3月4篇5篇3篇6篇18
康复6个月3篇3篇2篇6篇14
合计2321162686
+
+
+
+
+ + +
+ + +
+ +
+ +
+
+

模板列表

共 4 个模板
+
+
+全部 (4) +皮瓣修复 (2) +关节置换 (1) +血管重建 (1) +
+ + + + + + + + +
模板名称适用病种阶段数任务数适用患者状态更新时间操作
皮瓣修复 - 标准康复方案皮瓣修复64258 人已启用2026-04-10
关节置换 - 标准康复方案关节置换53838 人已启用2026-04-08
血管重建 - 标准康复方案血管重建43032 人已启用2026-04-05
皮瓣修复 - 老年患者方案皮瓣修复645—草稿2026-04-12
+
+
+
+
+ + +
+ + +
+ +
+
+
待回复
3
请尽快处理
+
今日咨询
15
较昨日 +2
+
平均响应
12min
目标 ≤30min
+
本周总量
68
热点:伤口护理
+
+
+ +
+

咨询列表

+
+
+
张
+
张** 未回复
伤口周围有点红肿,是正常的吗?
+
09:45
+
+
+
李
+
李** 未回复
膝盖弯曲时疼痛加重怎么办?
+
08:30
+
+
+
王
+
王** 未回复
血糖控制不太好,需要调药吗?
+
昨天
+
+
+
赵
+
赵**
好的,谢谢医生!
+
昨天
+
+
+
+ +
+
+
+
张** · 皮瓣修复 术后8-14天
+ +
+
+
+
张
+
医生您好,我今天换药的时候发现伤口周围有点红肿,是正常的吗?
09:45
+
+
+
张
+
我拍了张照片,您帮我看看 [图片]
09:46
+
+
+ +
+快捷回复: + + + +
+
+
+
+
+
+ + +
+ +
+
+数据导出已严格脱敏处理,去除姓名、手机号等个人身份信息,仅保留匿名化编号。 +
+
+

筛选条件

+
+
+
+
+
+
+
+
+
+
+
+
+
匹配患者
128
符合筛选条件
+
评估记录
1,247
含量表 + 指标
+
打卡记录
8,432
平均打卡率 84%
+
咨询记录
356
热点:伤口护理
+
+
+
+

FJS 评分趋势

关节置换
+
+
+
术后1月
45分
+
术后2月
62分
+
术后3月
72分
+
术后6月
85分
+
+
+
+
+

预警频次统计

异常分布
+
+
+
皮瓣异常
32次
+
疼痛超标
24次
+
血糖异常
14次
+
伤口异常
10次
+
+
+
+
+
+
+ + +
+ +
+
+
+

基础设置

+
+
+

预警规则

+
苍白或发紫时触发紧急预警
+
VAS ≥ 7 分触发预警
+
空腹 > 7.0 或 < 3.9 mmol/L
+
每日定时推送打卡提醒
+
+
+

通知设置

+
通过微信推送预警和提醒
+
紧急预警时发送短信(如皮瓣危象)
+
+
+
+
+

用户管理

+
+ + + + + + + + +
姓名角色科室状态操作
陈主任管理员护理部启用
王护士医护人员骨科病区启用
李医生医护人员显微外科启用
赵护士医护人员血管外科禁用
+
+
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + +
+ + +
+
+ + diff --git a/public/temp_download/xiuxiaohu/logo.png b/public/temp_download/xiuxiaohu/logo.png new file mode 100644 index 0000000..13006b1 Binary files /dev/null and b/public/temp_download/xiuxiaohu/logo.png differ diff --git a/public/temp_download/xiuxiaohu/patient.html b/public/temp_download/xiuxiaohu/patient.html new file mode 100644 index 0000000..a86973b --- /dev/null +++ b/public/temp_download/xiuxiaohu/patient.html @@ -0,0 +1,643 @@ + + + + + +循证康复路径导航系统 + + + +
+ +
+9:41 +循证康复路径导航系统 + + + + +
+ + +
+
+
+

您好,张先生

+

皮瓣修复 · 术后第 10 天 · 恢复进展良好

+
+
10
连续打卡
+
92%
任务完成
+
3
今日待办
+
+
+ + +
+ +
健康提醒:您今日记录的皮瓣颜色偏苍白,请注意保暖并抬高患肢。如持续异常请联系医生。
+
+ + +
+

今日康复任务

3项待完成
+
+

观察皮瓣颜色与肿胀

记录皮瓣颜色、肿胀程度、毛细血管反应

08:00
+

伤口清洁与换药

按医嘱清洁伤口并更换敷料

10:00
+

康复锻炼(15分钟)

按视频指导完成今日康复动作

14:00
+

疼痛评分记录

记录当前疼痛程度(0-10分)

20:00
+
+
+ + +
+

快捷操作

+
+
+ +
记录指标
+
+
+ +
咨询医生
+
+
+ +
康复指导
+
+
+ +
康复旅程
+
+
+
+ + +
+

今日推荐

更多 >
+
+
+
+

术后8-14天伤口护理要点

居家换药步骤、注意事项及异常识别

皮瓣修复
+
+
+
+

皮瓣术后康复锻炼指导

适合术后8-14天的轻度康复动作演示

视频
+
+
+
+
+
+ +
+ +
+
+

皮瓣修复 · 全旅程导航

术后8-14天
+
+
+
+

决策期 已完成

术前了解手术方案、风险与预期效果

+

围术期 已完成

术前检查、饮食准备、心理调适

+

术后1-7天 已完成

皮瓣观察、体位管理、疼痛控制

+

术后8-14天 进行中

伤口护理、换药、逐步活动

+
+
本阶段重点:
+
+• 每日观察皮瓣颜色与肿胀变化
• 按医嘱进行伤口清洁与换药
• 记录疼痛评分,关注异常变化
• 开始轻度康复锻炼
• 注意营养摄入,促进愈合
+ +
+

康复1-3月

功能恢复、瘢痕管理、心理调适

+

康复6个月

长期护理、定期复查、回归生活

+
+ + +
+ +
+
+
+
+ +
皮瓣观察
+
颜色·肿胀·反应
+
+
+
+ +
疼痛评分
+
VAS 0-10分
+
+
+
+ +
血糖记录
+
空腹/餐后
+
+
+
+ +
皮瓣温度
+
温度记录
+
+
+ + + + + +
+

最近记录

全部 >
+
+
皮瓣观察
红润 · 轻度肿胀 · 反应正常
今天 08:00
正常
+
疼痛评分
VAS 4/10 · 切口处钝痛
昨天 20:00
正常
+
血糖记录
空腹 5.8 mmol/L
昨天 07:30
正常
+
+
+ + +
+ +
+
+
+推荐 +皮瓣修复 +疼痛管理 +营养 +心理 +锻炼 +
+
+
+

术后8-14天伤口护理要点

居家换药步骤、注意事项及异常识别方法

皮瓣修复当前阶段
+

皮瓣术后康复锻炼指导

适合术后8-14天的轻度康复动作演示

视频当前阶段
+

如何正确观察皮瓣状态

皮瓣颜色、温度、肿胀的自我观察方法

皮瓣修复
+

术后营养饮食指南

促进伤口愈合的食物推荐与饮食禁忌

营养
+

踝泵运动标准动作

预防深静脉血栓的简单运动指导

视频锻炼
+

术后心理调适小贴士

应对术后焦虑、情绪低落的实用方法

心理
+
+
+ + +
+
+ +
+
今天 09:30
+
医
您好张先生,今天是术后第10天了,恢复情况怎么样?有什么不舒服的地方吗?
09:30
+
我
医生您好,今天换药的时候发现伤口周围有点红肿,是正常的吗?
09:45
+
我
我拍了张照片您帮我看看
09:46
+
医
看了您的照片,伤口周围轻微红肿在术后这个阶段是比较常见的,属于正常愈合反应。请注意以下几点:

1. 保持伤口清洁干燥
2. 换药时动作轻柔
3. 如果红肿范围扩大或有脓性分泌物,请及时来院复查
10:02
+
我
好的,谢谢医生!那我继续按之前的方法换药就行吧?
10:05
+
医
是的,继续按之前的方法就好。记得每天观察皮瓣颜色和肿胀情况,有变化随时联系我。
10:08
+
+
+ + + +
+
+ + +
+
+
+
+
张先生
+
皮瓣修复 · 术后第10天
+
+
+
个人信息>
+
康复报告>
+
评估量表>
+
提醒设置>
+
+
+
紧急联系>
+
常见问题>
+
使用指南>
+
+
+
退出登录
+
+
+ + +
+ +
+

基本信息

+
+
男
女
+
+
+
+
小学及以下
初中
高中/中专
大专
本科及以上
+
+

健康信息

+
+
+
不饮酒
偶尔
经常
+
不吸烟
已戒烟
吸烟
+
+

手术信息

+
+
+
+
+

家庭信息

+
+
小学及以下
初中
高中/中专
大专
本科及以上
+
5万以下
5-10万
10-20万
20万以上
+
+ +
+ + +
+ +
+

康复概览

术后第10天
+
+
92%
任务完成率
+
10天
连续打卡
+
3.2
平均疼痛评分
+
2次
预警次数
+
+
+

疼痛趋势

+
最近7天 VAS 评分
+
+
4/10
6
+
4/11
5
+
4/12
5
+
4/13
4
+
4/14
4
+
4/15
4
+
今天
3
+
+
+

皮瓣状态记录

+
红润 轻度肿胀 · 反应正常
+
红润 轻度肿胀 · 反应正常
+
苍白 中度肿胀 · 反应减弱
+
红润 轻度肿胀 · 反应正常
+
+

任务完成趋势

+
本周完成率92%
+
上周完成率85%
+
+
+ + +
+ +
+

待完成量表

1项
+
+
疼痛视觉模拟评分(VAS)
每日评估 · 预计1分钟
+
+
+

已完成量表

+
疼痛VAS评分
2026-04-15 20:00
4分
+
疼痛VAS评分
2026-04-14 20:00
4分
+
焦虑自评量表(SAS)
2026-04-12 15:00
38分 正常
+
营养风险筛查(NRS2002)
2026-04-08 10:00
2分 低风险
+
+

可用量表

+
疼痛视觉模拟评分(VAS)
0-10分 · 每日评估
每日
+
焦虑自评量表(SAS)
20题 · 约5分钟
按需
+
抑郁自评量表(SDS)
20题 · 约5分钟
按需
+
关节遗忘评分(FJS)
12题 · 关节置换专用
不适用
+
+
+ + +
+ +
+

任务提醒

+
每日打卡提醒
每天 08:00 提醒完成康复任务
+
用药提醒
按医嘱时间提醒服药
+
康复锻炼提醒
每天 14:00 提醒康复锻炼
+
+

健康监测

+
皮瓣观察提醒
每天 08:00 / 20:00 提醒观察
+
疼痛评分提醒
每天 20:00 提醒记录疼痛
+
血糖记录提醒
每天 07:00 提醒记录空腹血糖
+
+

通知方式

+
微信服务通知
通过微信推送提醒消息
+
短信通知(紧急)
仅在紧急预警时发送短信
+
+
+ + +
+ +
+
+紧急情况提示:如出现皮瓣颜色发紫、剧烈疼痛、大量出血等紧急情况,请立即拨打急救电话或联系主治医生。 +
+

主治医疗团队

+
+
+
李主任
主治医生 · 显微外科
+ +
+
+
+
王护士
责任护士 · 骨科病区
+ +
+
+

医院信息

+
XX医院
+
显微外科/骨科
+
0571-XXXXXXXX
+
120
+
+
+ + +
+ +
+

术后康复

+
皮瓣颜色发白是怎么回事?>
皮瓣颜色苍白可能提示血液供应不足。请立即抬高患肢,注意保暖,避免压迫皮瓣区域。如果30分钟内颜色未恢复红润,请立即联系主治医生。这可能是血管痉挛或血栓的早期信号,需要及时处理。
+
术后多久可以开始活动?>
具体活动时间取决于手术类型和恢复情况。一般皮瓣修复术后需要制动7-14天,之后在医生指导下逐步开始轻度活动。关节置换术后通常24-48小时即可在辅助下下床。请严格遵循医嘱,不要擅自增加活动量。
+
伤口周围红肿正常吗?>
术后早期轻微红肿是正常的愈合反应。但如果红肿范围持续扩大、伴有发热、有脓性分泌物或异味,可能提示感染,需要及时就医。保持伤口清洁干燥,按时换药是预防感染的关键。
+
疼痛评分多少需要就医?>
如果疼痛评分持续在7分以上,或者突然加重,建议及时联系医生调整镇痛方案。术后疼痛通常会逐渐减轻,如果出现反复加重的趋势,可能需要排除感染或其他并发症。
+
+

系统使用

+
如何完成每日打卡?>
在首页的"今日康复任务"中,点击每个任务前的圆圈即可完成打卡。部分任务(如皮瓣观察、疼痛评分)需要先填写记录表单后才算完成。建议按照提醒时间及时完成,保持连续打卡。
+
如何联系医生?>
您可以通过底部导航栏进入"首页",点击"咨询医生"快捷入口,或直接在聊天页面发送文字和图片。医护人员会在工作时间内尽快回复。紧急情况请直接拨打紧急联系电话。
+
我的数据安全吗?>
您的所有健康数据均经过加密存储,仅您本人和经授权的医护人员可以查看。系统不会将您的个人信息用于任何商业用途。科研数据导出时会严格脱敏处理,去除所有个人身份信息。
+
+
+ + +
+ +
+

快速上手

+
1

完善个人信息

首次使用请在"我的 > 个人信息"中填写完整的个人资料,系统将根据您的手术类型和阶段推送个性化内容。

+
2

查看康复计划

在"康复计划"页面查看您当前阶段的康复旅程,了解每个阶段的重点任务和注意事项。

+
3

完成每日任务

首页会显示今日待完成的康复任务,按时完成打卡。系统会在设定时间推送提醒。

+
4

记录健康指标

在"健康记录"中定期记录皮瓣状态、疼痛评分、血糖等指标,帮助医生了解您的恢复情况。

+
5

学习康复知识

在"康复指导"中浏览与您当前阶段相关的图文和视频内容,掌握正确的康复方法。

+
6

有问题找医生

如有任何疑问,可通过"咨询医生"功能发送文字或图片,医护人员会及时回复。

+
+

功能说明

+
任务打卡、快捷操作、推荐内容
+
分阶段康复旅程导航
+
皮瓣观察、疼痛评分、血糖等
+
图文/视频康复知识库
+
个人信息、报告、设置
+
+
+ + + +
+ + + + diff --git a/public/tools/ai-lib/ai-lib.css b/public/tools/ai-lib/ai-lib.css new file mode 100644 index 0000000..54308f6 --- /dev/null +++ b/public/tools/ai-lib/ai-lib.css @@ -0,0 +1,495 @@ +:root { + --vscode-bg: #1e1e1e; + --vscode-sidebar-bg: #252526; + --vscode-toolbar-bg: #2d2d30; + --vscode-border: #3e3e42; + --vscode-hover: #2a2d2e; + --vscode-active: #007acc; + --vscode-text: #cccccc; + --vscode-text-muted: #858585; + --vscode-accent: #4ec9b0; + --vscode-warning: #ffcc00; + --vscode-error: #f44747; + --vscode-success: #4ec9b0; + --vscode-radius: 4px; + --vscode-shadow: 0 2px 8px rgba(0,0,0,0.3); + --vscode-input-bg: #3c3c3c; + --vscode-button-bg: #0e639c; + --vscode-button-hover: #1177bb; + --vscode-card-bg: #2d2d30; +} + +body.theme-cloud { + background: var(--vscode-bg); + color: var(--vscode-text); + font-family: 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif; + line-height: 1.6; +} + +.layout { + display: flex; + gap: 16px; + padding: 16px; + min-height: calc(100vh - 60px); +} + +.sidebar { + width: 320px; + background: var(--vscode-sidebar-bg); + border: 1px solid var(--vscode-border); + border-radius: var(--vscode-radius); + padding: 16px; + box-shadow: var(--vscode-shadow); +} + +.sidebar-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 16px; + padding-bottom: 12px; + border-bottom: 1px solid var(--vscode-border); +} + +.sidebar-header h3 { + color: var(--vscode-text); + font-size: 16px; + font-weight: 600; + margin: 0; +} + +.main { + flex: 1; + min-width: 0; +} + +.toolbar { + display: flex; + justify-content: space-between; + align-items: center; + background: var(--vscode-toolbar-bg); + border: 1px solid var(--vscode-border); + border-radius: var(--vscode-radius); + padding: 12px 16px; + margin-bottom: 16px; + box-shadow: var(--vscode-shadow); +} + +.toolbar span { + font-size: 15px; + font-weight: 500; + color: var(--vscode-text); +} + +.grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); + gap: 16px; +} + +.list { + display: grid; + gap: 12px; +} + +.card { + background: var(--vscode-card-bg); + border: 1px solid var(--vscode-border); + border-radius: var(--vscode-radius); + padding: 20px; + box-shadow: var(--vscode-shadow); +} + +/* Tree View Styles */ +.tree-item { + margin-bottom: 8px; +} + +.tree-item-header { + display: flex; + align-items: center; + padding: 8px; + border-radius: var(--vscode-radius); + cursor: pointer; + transition: background 0.2s; + background: rgba(255,255,255,0.03); + border: 1px solid transparent; +} + +.tree-item-header:hover { + background: var(--vscode-hover); +} + +.tree-item-header.expanded { + background: rgba(255,255,255,0.05); + border-color: rgba(255,255,255,0.1); +} + +.tree-toggle { + display: inline-block; + width: 20px; + text-align: center; + font-size: 10px; + color: var(--vscode-text-muted); + transition: transform 0.2s; + margin-right: 4px; +} + +.tree-toggle.expanded { + transform: rotate(90deg); +} + +.system-icon, .module-icon { + margin-right: 8px; + font-size: 16px; +} + +.item-actions { + display: flex; + gap: 4px; + opacity: 0; + transition: opacity 0.2s; +} + +.tree-item-header:hover .item-actions, +.tree-child-item:hover .item-actions { + opacity: 1; +} + +.tree-item-content { + margin-left: 22px; + border-left: 1px solid rgba(255,255,255,0.05); + display: none; + padding-left: 4px; +} + +.tree-item-content.expanded { + display: block; +} + +.tree-module-wrapper { + margin-top: 4px; +} + +.tree-child-item { + display: flex; + align-items: center; + padding: 6px 8px; + border-radius: var(--vscode-radius); + cursor: pointer; + font-size: 14px; + color: #ddd; +} + +.tree-child-item:hover { + background: var(--vscode-hover); + color: #fff; +} + +/* Form Styles */ +.form { + display: flex; + flex-direction: column; + gap: 12px; +} + +.form input, .form textarea, .form select { + background: var(--vscode-input-bg); + border: 1px solid var(--vscode-border); + color: var(--vscode-text); + padding: 8px 12px; + border-radius: var(--vscode-radius); + font-family: inherit; + font-size: 14px; +} + +.form input:focus, .form textarea:focus, .form select:focus { + outline: none; + border-color: var(--vscode-active); +} + +.btn { + background: var(--vscode-button-bg); + color: #fff; + border: none; + padding: 8px 16px; + border-radius: var(--vscode-radius); + cursor: pointer; + font-size: 14px; + font-weight: 500; + transition: background 0.2s; +} + +.btn:hover { + background: var(--vscode-button-hover); +} + +.btn-icon { + background: none; + border: none; + cursor: pointer; + padding: 4px; + border-radius: 4px; + color: var(--vscode-text-muted); + font-size: 14px; +} + +.btn-icon:hover { + background: rgba(255,255,255,0.1); + color: var(--vscode-text); +} + +.btn-icon.sm { + font-size: 12px; + padding: 2px 4px; +} + +.btn-delete:hover { color: var(--vscode-error); } +.btn-edit:hover { color: var(--vscode-accent); } + +/* Note List Styles */ +.note-item { + background: rgba(0,0,0,0.2); + border-left: 3px solid var(--vscode-accent); + padding: 8px 12px; + margin-bottom: 8px; + border-radius: 0 var(--vscode-radius) var(--vscode-radius) 0; + font-size: 13px; + cursor: pointer; +} + +.note-item:hover { + background: rgba(255,255,255,0.05); +} + +.note-meta { + display: flex; + justify-content: space-between; + color: var(--vscode-text-muted); + font-size: 12px; + margin-bottom: 4px; +} + +.note-preview { + color: #ccc; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +/* Attachment Styles */ +.attachment-item { + display: flex; + justify-content: space-between; + align-items: center; + padding: 8px; + background: rgba(0,0,0,0.2); + border-radius: 4px; + margin-bottom: 8px; +} + +.attachment-name { + color: var(--vscode-accent); + text-decoration: none; +} + +.attachment-name:hover { + text-decoration: underline; +} + +/* Filter Group Styles */ +.filter-group { + display: flex; + gap: 16px; + align-items: center; +} + +.filter-group label { + cursor: pointer; + display: flex; + align-items: center; + gap: 6px; + font-size: 14px; + color: var(--vscode-text); +} + +#filter-major-dynamic { + display: flex; + align-items: center; + gap: 16px 12px; + flex-wrap: wrap; +} +#filter-major-dynamic label { + display: inline-flex; + align-items: center; + gap: 6px; +} + +.form-row.radio-group { + display: flex; + gap: 20px; + align-items: center; + margin-bottom: 16px; + padding: 8px 12px; + background: var(--vscode-input-bg); + border-radius: var(--vscode-radius); + border: 1px solid var(--vscode-border); +} + +.form-row.radio-group .label { + font-weight: 600; + color: var(--vscode-text-muted); +} + +.form-row.radio-group label { + cursor: pointer; + display: flex; + align-items: center; + gap: 6px; + color: var(--vscode-text); +} + +#sys-major-dynamic { + display: flex; + align-items: center; + gap: 16px 12px; + flex-wrap: wrap; +} +#sys-major-dynamic label { + display: inline-flex; + align-items: center; + gap: 6px; +} + +input[type="radio"] { + accent-color: var(--vscode-active); + width: 16px; + height: 16px; +} + +/* Modal Styles */ +.modal-overlay { + display: none; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: rgba(0, 0, 0, 0.5); + z-index: 1000; + justify-content: center; + align-items: center; +} + +.modal-overlay.open { + display: flex; +} + +.modal { + background: var(--vscode-card-bg); + border: 1px solid var(--vscode-border); + border-radius: var(--vscode-radius); + width: 400px; + max-width: 90%; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5); + display: flex; + flex-direction: column; +} + +#category-manager-modal .modal { + position: fixed; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + max-width: 500px; +} + +.modal-header { + padding: 12px 16px; + border-bottom: 1px solid var(--vscode-border); + display: flex; + justify-content: space-between; + align-items: center; +} + +.modal-header h3 { + margin: 0; + font-size: 16px; + font-weight: 600; + color: var(--vscode-text); +} + +.modal-close { + background: none; + border: none; + color: var(--vscode-text-muted); + font-size: 20px; + cursor: pointer; + padding: 0; + line-height: 1; +} + +.modal-close:hover { + color: var(--vscode-text); +} + +.modal-body { + padding: 16px; + color: var(--vscode-text); +} + +.modal-footer { + padding: 12px 16px; + border-top: 1px solid var(--vscode-border); + display: flex; + justify-content: flex-end; + gap: 8px; +} + +.btn-secondary { + background: transparent; + border: 1px solid var(--vscode-border); + color: var(--vscode-text); +} + +.btn-secondary:hover { + background: rgba(255,255,255,0.05); +} + +/* Login Form Styles */ +#auth { + max-width: 400px; + margin: 100px auto; + text-align: center; +} + +/* Loading Overlay Styles */ +.loading-overlay { + display: none; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: rgba(0, 0, 0, 0.5); + z-index: 2000; + justify-content: center; + align-items: center; + flex-direction: column; + color: #fff; +} + +.loading-spinner { + border: 4px solid rgba(255, 255, 255, 0.3); + border-radius: 50%; + border-top: 4px solid #fff; + width: 40px; + height: 40px; + animation: spin 1s linear infinite; + margin-bottom: 16px; +} + +@keyframes spin { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(360deg); } +} diff --git a/public/tools/ai-lib/ai-lib.js b/public/tools/ai-lib/ai-lib.js new file mode 100644 index 0000000..ad1b0c5 --- /dev/null +++ b/public/tools/ai-lib/ai-lib.js @@ -0,0 +1,1386 @@ +;(function(){ + // 全局错误捕获 + try { + const el = id => document.getElementById(id) + + // 声明 DOM 变量 (将在 init 中赋值) + let $auth, $app + let $systems, $modules, $notes, $attachments + let $moduleNav, $noteNav + let $systemDetail, $moduleDetail, $noteDetail + let $attachmentFile, $btnUploadAttachment, $uploadProgress + + // 移除早期的检查,移至 init + + + let current = { + system: null, module: null, note: null, + systems: [], modules: [], notes: [], attachments: [], + categories: [] + } + + const apiBase = location.pathname.startsWith('/tools/ai-lib/') ? '/tools/ai-lib/api/ai-lib' : '/api/ai-lib' + + // --- 核心逻辑函数 --- + + // 登录 + async function login() { + try { + const userIn = el('login-user'); + const passIn = el('login-pass'); + if (!userIn || !passIn) return; + + const user = userIn.value.trim() + const pass = passIn.value + const s = el('auth-status'); + if (s) { s.textContent = '正在登录...'; s.style.display = 'block'; } + + const res = await fetch(apiBase + '/auth/login', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ username: user, password: pass }), + credentials: 'same-origin' + }) + const data = await res.json() + if (!data.ok) throw new Error(data.error || `登录失败 (HTTP ${res.status})`) + + $auth.style.display = 'none' + $app.style.display = 'block' + if (s) { s.textContent = ''; s.style.display = 'none'; } + await loadCategories() + await loadSystems() + } catch (e) { + const s = el('auth-status'); + if (s) { + s.textContent = String(e.message || e); + s.style.display = 'block'; + } + alert('登录出错: ' + (e.message || e)); + } + } + + // 创建系统树形项 + function createSystemTreeItem(sys, expanded = false) { + const treeItem = document.createElement('div') + treeItem.className = 'tree-item' + treeItem.dataset.systemId = sys.id + + const header = document.createElement('div') + header.className = `tree-item-header ${expanded ? 'expanded' : ''}` + + const toggle = document.createElement('span') + toggle.className = `tree-toggle ${expanded ? 'expanded' : ''}` + toggle.textContent = '▶' + + const icon = document.createElement('span') + icon.className = 'system-icon' + icon.textContent = '📦' + + const title = document.createElement('span') + title.textContent = sys.name || '未命名系统' + title.style.flex = '1' + title.style.fontWeight = '600' + + const actions = document.createElement('div') + actions.className = 'item-actions' + + const btnEdit = document.createElement('button') + btnEdit.className = 'btn-icon btn-edit' + btnEdit.textContent = '✏️' + btnEdit.onclick = (e) => { e.stopPropagation(); editSystem(sys.id) } + + const btnDelete = document.createElement('button') + btnDelete.className = 'btn-icon btn-delete' + btnDelete.textContent = '🗑️' + btnDelete.onclick = (e) => { e.stopPropagation(); deleteSystem(sys.id) } + const btnAddChild = document.createElement('button') + btnAddChild.className = 'btn-icon sm' + btnAddChild.textContent = '✂️' + btnAddChild.title = '新增子模块' + btnAddChild.onclick = async (e) => { + e.stopPropagation(); + selectSystem(sys) + await newModule() + } + actions.appendChild(btnEdit) + actions.appendChild(btnDelete) + actions.appendChild(btnAddChild) + + header.appendChild(toggle) + header.appendChild(icon) + header.appendChild(title) + header.appendChild(actions) + + const content = document.createElement('div') + content.className = `tree-item-content ${expanded ? 'expanded' : ''}` + + const childrenContainer = document.createElement('div') + childrenContainer.className = 'tree-item-children' + childrenContainer.innerHTML = '
加载中...
' + + content.appendChild(childrenContainer) + + treeItem.appendChild(header) + treeItem.appendChild(content) + + // 点击展开/收缩 + header.onclick = (e) => { + if (e.target === toggle || e.target === header) { + const isExpanded = header.classList.contains('expanded') + header.classList.toggle('expanded') + content.classList.toggle('expanded') + toggle.classList.toggle('expanded') + + if (!isExpanded && content.classList.contains('expanded')) { + // 展开时加载子模块 + loadSystemModules(sys.id, childrenContainer) + } + } + } + + // 点击系统标题选择系统 + title.onclick = (e) => { + e.stopPropagation() + selectSystem(sys) + } + + return treeItem + } + + // 加载系统模块到树形结构 + async function loadSystemModules(systemId, container) { + showLoading('正在加载子模块...') + try { + const res = await fetch(`${apiBase}/modules?system_id=${systemId}`, { credentials: 'same-origin', cache: 'no-store' }) + const data = await res.json() + const modules = data.rows || [] + const sys = (current.systems || []).find(s => String(s.id) === String(systemId)) + + container.innerHTML = '' + + if (modules.length === 0) { + container.innerHTML = '
暂无子模块
' + return + } + + modules.forEach(mod => { + const moduleItem = createModuleTreeItem(mod, sys) + container.appendChild(moduleItem) + }) + } catch (e) { + console.error('加载子模块失败:', e) + container.innerHTML = '
加载失败
' + } finally { hideLoading() } + } + + // 创建子模块树形项(可展开显示开发纪要) + function createModuleTreeItem(mod, sys) { + const wrapper = document.createElement('div') + wrapper.className = 'tree-module-wrapper' + wrapper.dataset.moduleId = mod.id + wrapper.dataset.moduleName = String(mod.name || '未命名模块') + if (sys) { + wrapper.dataset.systemId = String(sys.id) + wrapper.dataset.systemName = String(sys.name || '未命名系统') + } + + const header = document.createElement('div') + header.className = 'tree-child-item' + header.dataset.moduleId = mod.id + + const toggle = document.createElement('span') + toggle.className = 'tree-toggle' + toggle.textContent = '▶' + + const icon = document.createElement('span') + icon.className = 'module-icon' + icon.textContent = '🔧' + + const title = document.createElement('span') + title.textContent = mod.name || '未命名模块' + title.style.flex = '1' + + const actions = document.createElement('div') + actions.className = 'item-actions' + + const btnAddModule = document.createElement('button') + btnAddModule.className = 'btn-icon sm' + btnAddModule.textContent = '➕' + btnAddModule.title = '新增纪要' + btnAddModule.onclick = async (e) => { + e.stopPropagation(); + if (sys) selectSystem(sys) + selectModule(mod) + await newNote() + const notesContainer = wrapper.querySelector('.tree-note-list') + if (notesContainer) await loadModuleNotes(mod.id, notesContainer) + } + + const btnEdit = document.createElement('button') + btnEdit.className = 'btn-icon btn-edit sm' + btnEdit.textContent = '✏️' + btnEdit.title = '编辑子模块' + btnEdit.onclick = (e) => { + e.stopPropagation(); + if (sys) selectSystem(sys) + selectModule(mod) + } + + const btnDelete = document.createElement('button') + btnDelete.className = 'btn-icon btn-delete sm' + btnDelete.textContent = '🗑️' + btnDelete.title = '删除子模块' + btnDelete.onclick = async (e) => { + e.stopPropagation(); + await deleteModule(mod.id) + } + const btnAddChild = document.createElement('button') + btnAddChild.className = 'btn-icon sm' + btnAddChild.textContent = '✂️' + btnAddChild.title = '新增纪要' + btnAddChild.onclick = async (e) => { + e.stopPropagation() + if (sys) selectSystem(sys) + selectModule(mod) + await newNote() + const notesContainer = wrapper.querySelector('.tree-note-list') + if (notesContainer) await loadModuleNotes(mod.id, notesContainer) + } + + actions.appendChild(btnAddModule) + actions.appendChild(btnEdit) + actions.appendChild(btnDelete) + actions.appendChild(btnAddChild) + + header.appendChild(toggle) + header.appendChild(icon) + header.appendChild(title) + header.appendChild(actions) + + const content = document.createElement('div') + content.className = 'tree-item-content' + + const notesContainer = document.createElement('div') + notesContainer.className = 'tree-note-list' + notesContainer.innerHTML = '
加载中...
' + + content.appendChild(notesContainer) + wrapper.appendChild(header) + wrapper.appendChild(content) + + // 展开/收缩 + header.onclick = async (e) => { + if (e.target === header || e.target === toggle) { + const isExpanded = content.classList.contains('expanded') + content.classList.toggle('expanded') + toggle.classList.toggle('expanded') + if (!isExpanded) { + await loadModuleNotes(mod.id, notesContainer) + } + } + } + + // 点击标题选择模块 + title.onclick = (e) => { + e.stopPropagation() + if (sys) selectSystem(sys) + selectModule(mod) + } + + return wrapper + } + + // 加载系统列表 + async function loadSystems() { + showLoading('正在加载系统列表...') + try { + const res = await fetch(apiBase + '/systems', { credentials: 'same-origin', cache: 'no-store' }) + const data = await res.json() + current.systems = data.rows || [] + + const filterVal = document.querySelector('input[name="filter-major"]:checked')?.value || '' + const filteredSystems = filterVal + ? current.systems.filter(s => s.major_category === filterVal) + : current.systems + + if ($systems) { + $systems.innerHTML = '' + if (filteredSystems.length === 0) { + $systems.innerHTML = '
暂无系统,请点击右上角"新增系统"创建
' + } else { + const treeView = document.createElement('div') + treeView.className = 'tree-view' + + filteredSystems.forEach((sys) => { + const treeItem = createSystemTreeItem(sys, false) + treeView.appendChild(treeItem) + }) + + $systems.appendChild(treeView) + } + } + + // 保持当前导航状态,不要在首次加载时清空已渲染的系统列表 + } catch (e) { + console.error('加载系统失败:', e) + alert('加载系统列表失败: ' + e.message) + } finally { + hideLoading() + } + } + + // 选择系统 + function selectSystem(sys) { + current.system = sys + current.module = null + current.note = null + + updatePath(`系统: ${sys.name}`) + if ($systemDetail) $systemDetail.style.display = 'block' + if ($moduleDetail) $moduleDetail.style.display = 'none' + if ($noteDetail) $noteDetail.style.display = 'none' + + const elName = el('sys-name'), elIntro = el('sys-intro'); + if (elName) elName.value = sys.name || '' + if (elIntro) elIntro.value = sys.intro || '' + + const radios = document.querySelectorAll('input[name="sys-major"]') + radios.forEach(r => r.checked = false) + if (sys.major_category) { + const target = document.querySelector(`input[name="sys-major"][value="${sys.major_category}"]`) + if (target) target.checked = true + } else { + // Default for legacy data? Or just leave unchecked? + // User requested "Initial data is 'Trae研发...'" but that's for new systems maybe? + // If editing existing system without category, maybe better to leave unchecked or set default. + // Let's check "Trae研发" if none is set, to encourage categorization. + // const target = document.querySelector(`input[name="sys-major"][value="Trae研发"]`) + // if (target) target.checked = true + // Actually, if it's saved without category, showing a default might be misleading if they don't save. + // But for better UX let's leave it unchecked if empty. + } + + if ($moduleNav) $moduleNav.style.display = 'none' + if ($noteNav) $noteNav.style.display = 'none' + + loadModules(sys.id) + } + + // 加载子模块 + async function loadModules(systemId) { + showLoading('正在加载子模块...') + try { + const res = await fetch(`${apiBase}/modules?system_id=${systemId}`, { credentials: 'same-origin', cache: 'no-store' }) + const data = await res.json() + current.modules = data.rows || [] + + if ($modules) { + $modules.innerHTML = '' + current.modules.forEach(mod => { + const item = document.createElement('div') + item.className = 'module-item' + + const content = document.createElement('div') + content.innerHTML = ` + 🔧 ${mod.name || '未命名模块'}
+ ${mod.description || '暂无说明'} + ` + + const actions = document.createElement('div') + actions.className = 'item-actions' + + const btnEdit = document.createElement('button') + btnEdit.className = 'btn-icon btn-edit' + btnEdit.textContent = '✏️' + btnEdit.onclick = (e) => { e.stopPropagation(); editModule(mod.id) } + + const btnDelete = document.createElement('button') + btnDelete.className = 'btn-icon btn-delete' + btnDelete.textContent = '🗑️' + btnDelete.onclick = (e) => { e.stopPropagation(); deleteModule(mod.id) } + + actions.appendChild(btnEdit) + actions.appendChild(btnDelete) + + item.appendChild(content) + item.appendChild(actions) + item.onclick = () => selectModule(mod) + $modules.appendChild(item) + }) + } + } catch (e) { + console.error('加载子模块失败:', e) + alert('加载子模块失败: ' + e.message) + } finally { + hideLoading() + } + } + + // 选择子模块 + function selectModule(mod) { + current.module = mod + current.note = null + + const sysName = (current.system && current.system.name) + || (() => { + const sid = mod && (mod.system_id || mod.systemId) + const found = (current.systems || []).find(s => String(s.id) === String(sid)) + return found ? found.name : '未选择系统' + })() + updatePath(`系统: ${sysName} → 子模块: ${mod.name}`) + if ($systemDetail) $systemDetail.style.display = 'none' + if ($moduleDetail) $moduleDetail.style.display = 'block' + if ($noteDetail) $noteDetail.style.display = 'none' + + if (el('mod-name')) el('mod-name').value = mod.name || '' + if (el('mod-desc')) el('mod-desc').value = mod.description || '' + if (el('mod-addr')) el('mod-addr').value = mod.server_addr || '' + if (el('mod-port')) el('mod-port').value = String(mod.server_port || '') + if (el('mod-code')) el('mod-code').value = mod.code_type || '' + if (el('mod-deploy')) el('mod-deploy').value = mod.deploy_method || '' + if (el('mod-soft')) el('mod-soft').value = mod.software_versions || '' + + if ($noteNav) $noteNav.style.display = 'none' + loadNotes(mod.id) + } + + // 加载模块下的开发纪要到树 + async function loadModuleNotes(moduleId, container) { + showLoading('正在加载纪要...') + try { + const res = await fetch(`${apiBase}/notes?module_id=${moduleId}`, { credentials: 'same-origin', cache: 'no-store' }) + const data = await res.json() + const notes = data.rows || [] + container.innerHTML = '' + if (notes.length === 0) { + const empty = document.createElement('div') + empty.style.color = '#888' + empty.textContent = '暂无开发纪要' + container.appendChild(empty) + const addRow = document.createElement('div') + addRow.className = 'tree-note-item' + const addBtn = document.createElement('button') + addBtn.className = 'btn-icon sm' + addBtn.textContent = '➕' + addBtn.title = '新增纪要' + addBtn.onclick = async (e) => { + e.stopPropagation(); + const mod = (current.modules || []).find(m => String(m.id) === String(moduleId)) + if (mod) selectModule(mod) + await newNote() + await loadModuleNotes(moduleId, container) + } + addRow.appendChild(addBtn) + container.appendChild(addRow) + return + } + notes.forEach(note => { + const row = createNoteTreeItem(note, moduleId) + container.appendChild(row) + }) + } catch (e) { + container.innerHTML = '
加载失败
' + } finally { hideLoading() } + } + + // 创建纪要树形项 + function createNoteTreeItem(note, moduleId) { + const row = document.createElement('div') + row.className = 'tree-note-item' + row.dataset.noteId = note.id + row.dataset.moduleId = String(moduleId) + + const icon = document.createElement('span') + icon.className = 'note-icon' + icon.textContent = '📝' + + const title = document.createElement('span') + const preview = (note.content || '').substring(0, 24) + title.textContent = `${note.note_type} ${preview ? '· ' + preview + '...' : ''}` + title.style.flex = '1' + + const actions = document.createElement('div') + actions.className = 'item-actions' + + const btnAdd = document.createElement('button') + btnAdd.className = 'btn-icon sm' + btnAdd.textContent = '➕' + btnAdd.title = '新增纪要' + btnAdd.onclick = async (e) => { + e.stopPropagation(); + const mod = (current.modules || []).find(m => String(m.id) === String(moduleId)) + if (mod) selectModule(mod) + await newNote() + const container = row.parentElement + if (container) await loadModuleNotes(moduleId, container) + } + + const btnEdit = document.createElement('button') + btnEdit.className = 'btn-icon btn-edit sm' + btnEdit.textContent = '✏️' + btnEdit.title = '编辑纪要' + btnEdit.onclick = (e) => { e.stopPropagation(); selectNote(note, moduleId) } + + const btnDelete = document.createElement('button') + btnDelete.className = 'btn-icon btn-delete sm' + btnDelete.textContent = '🗑️' + btnDelete.title = '删除纪要' + btnDelete.onclick = async (e) => { + e.stopPropagation(); + await deleteNote(note.id) + const container = row.parentElement + if (container) await loadModuleNotes(moduleId, container) + } + + actions.appendChild(btnAdd) + actions.appendChild(btnEdit) + actions.appendChild(btnDelete) + + row.appendChild(icon) + row.appendChild(title) + row.appendChild(actions) + + row.onclick = (e) => { + e.stopPropagation() + selectNote(note, moduleId) + } + + return row + } + + // 加载开发纪要 + async function loadNotes(moduleId) { + showLoading('正在加载开发纪要...') + try { + const res = await fetch(`${apiBase}/notes?module_id=${moduleId}`, { credentials: 'same-origin', cache: 'no-store' }) + const data = await res.json() + current.notes = data.rows || [] + + if ($notes) { + $notes.innerHTML = '' + current.notes.forEach(note => { + const item = document.createElement('div') + item.className = 'note-item' + const typeIcon = getNoteTypeIcon(note.note_type) + + const content = document.createElement('div') + content.innerHTML = `${typeIcon} ${note.note_type}: ${note.content?.substring(0, 50) || '无内容'}...` + + const actions = document.createElement('div') + actions.className = 'item-actions' + + const btnEdit = document.createElement('button') + btnEdit.className = 'btn-icon btn-edit' + btnEdit.textContent = '✏️' + btnEdit.onclick = (e) => { e.stopPropagation(); editNote(note.id) } + + const btnDelete = document.createElement('button') + btnDelete.className = 'btn-icon btn-delete' + btnDelete.textContent = '🗑️' + btnDelete.onclick = (e) => { e.stopPropagation(); deleteNote(note.id) } + + actions.appendChild(btnEdit) + actions.appendChild(btnDelete) + + item.appendChild(content) + item.appendChild(actions) + item.onclick = () => selectNote(note) + $notes.appendChild(item) + }) + } + } catch (e) { + console.error('加载纪要失败:', e) + alert('加载纪要失败: ' + e.message) + } finally { + hideLoading() + } + } + + // 选择开发纪要 + function selectNote(note, moduleId) { + current.note = note + const modIdStr = moduleId ? String(moduleId) : (note && note.module_id ? String(note.module_id) : '') + const wrapper = modIdStr ? document.querySelector(`.tree-module-wrapper[data-module-id="${modIdStr}"]`) : null + const sysName = (current.system && current.system.name) || (wrapper && wrapper.dataset.systemName) || '未选择系统' + const modName = (current.module && current.module.name) || (wrapper && wrapper.dataset.moduleName) || '未选择子模块' + if (!current.module && modIdStr) { + const sysId = wrapper && wrapper.dataset.systemId ? parseInt(wrapper.dataset.systemId, 10) : null + current.module = { id: parseInt(modIdStr, 10), name: modName, system_id: sysId } + } + updatePath(`系统: ${sysName} → 子模块: ${modName} → 纪要: ${note.note_type}`) + if ($systemDetail) $systemDetail.style.display = 'none' + if ($moduleDetail) $moduleDetail.style.display = 'none' + if ($noteDetail) $noteDetail.style.display = 'block' + + if (el('note-type')) el('note-type').value = note.note_type || '需求' + if (el('note-content')) el('note-content').value = note.content || '' + + // 加载附件 + if ($attachments) $attachments.innerHTML = '
附件列表加载中...
' + loadAttachments(note.id) + + // 显示附件上传区域 + if ($noteDetail) { + const attachmentSection = $noteDetail.querySelector('.attachment-section') + if (attachmentSection) attachmentSection.style.display = 'block' + } + } + + // 加载附件 + async function loadAttachments(noteId) { + try { + const res = await fetch(`${apiBase}/attachments?note_id=${noteId}`, { credentials: 'same-origin', cache: 'no-store' }) + const data = await res.json() + const rows = data.rows || [] + // 防止竞态:若用户已切换到其他纪要,忽略过期结果 + if (current.note && String(current.note.id) !== String(noteId)) return + current.attachments = rows + + if ($attachments) { + $attachments.innerHTML = '' + if (rows.length === 0) { + const empty = document.createElement('div') + empty.style.color = '#888' + empty.textContent = '暂无附件' + $attachments.appendChild(empty) + return + } + rows.forEach(att => { + const item = document.createElement('div') + item.className = 'attachment-item' + + const content = document.createElement('div') + content.innerHTML = `📎 ${att.filename} (${formatFileSize(att.size)})` + + const actions = document.createElement('div') + actions.className = 'item-actions' + + const btnDelete = document.createElement('button') + btnDelete.className = 'btn-icon btn-delete' + btnDelete.textContent = '🗑️' + btnDelete.onclick = (e) => { e.stopPropagation(); deleteAttachment(att.id) } + + actions.appendChild(btnDelete) + + item.appendChild(content) + item.appendChild(actions) + item.onclick = () => downloadAttachment(att) + $attachments.appendChild(item) + }) + } + } catch (e) { + if ($attachments) { + $attachments.innerHTML = '
附件列表加载失败
' + } + console.error('加载附件失败:', e) + } + } + + // 工具函数 + function getNoteTypeIcon(type) { + const icons = { '需求': '📋', '开发': '💻', '部署': '🚀', '维护': '🔧' } + return icons[type] || '📝' + } + + function formatFileSize(bytes) { + if (!bytes) return '0 B' + const sizes = ['B', 'KB', 'MB', 'GB'] + const i = Math.floor(Math.log(bytes) / Math.log(1024)) + return (bytes / Math.pow(1024, i)).toFixed(2) + ' ' + sizes[i] + } + + function updatePath(text) { + const p = el('current-path') + if (p) p.textContent = text + } + + function showLoading(text) { + const overlay = el('loading-overlay') + const msg = el('loading-text') + if (msg && typeof text === 'string' && text) msg.textContent = text + if (overlay) overlay.style.display = 'flex' + } + + function hideLoading() { + const overlay = el('loading-overlay') + if (overlay) overlay.style.display = 'none' + } + + function resetNavigation() { + if ($moduleNav) $moduleNav.style.display = 'none' + if ($noteNav) $noteNav.style.display = 'none' + if ($systemDetail) $systemDetail.style.display = 'none' + if ($moduleDetail) $moduleDetail.style.display = 'none' + if ($noteDetail) $noteDetail.style.display = 'none' + + current.system = null + current.module = null + current.note = null + + if ($systems) $systems.innerHTML = '' // 注意:loadSystems 会重新填充 + if ($modules) $modules.innerHTML = '' + if ($notes) $notes.innerHTML = '' + if ($attachments) $attachments.innerHTML = '' + + updatePath('请选择系统 → 子模块 → 开发纪要') + + if ($noteDetail) { + const attachmentSection = $noteDetail.querySelector('.attachment-section') + if (attachmentSection) { + attachmentSection.style.display = 'none' + } + } + } + + // 保存系统 + async function saveSystem() { + if (!current.system) return + const name = (el('sys-name').value || '').trim() + const intro = (el('sys-intro').value || '').trim() + const major_category = document.querySelector('input[name="sys-major"]:checked')?.value || '' + + if (!name || !intro) { alert('系统名称与简介为必填'); return } + const payload = { name, intro, major_category } + + showLoading('正在保存系统...') + try { + let res, data + if (current.system && current.system.id) { + res = await fetch(`${apiBase}/systems/${current.system.id}`, { + method: 'PUT', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(payload), + credentials: 'same-origin' + }) + data = await res.json() + if (!data.ok) throw new Error('保存失败') + alert('系统已保存') + await loadSystems() + } else { + res = await fetch(`${apiBase}/systems`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(payload), + credentials: 'same-origin' + }) + data = await res.json() + if (!data.ok) throw new Error(data.error || '创建失败') + alert('系统已创建') + await loadSystems() + const created = (current.systems || []).find(s => String(s.id) === String(data.id)) + if (created) selectSystem(created) + } + } catch (e) { + alert('保存失败: ' + e.message) + } finally { + hideLoading() + } + } + + // 保存子模块 + async function saveModule() { + if (!current.system) return + const name = (el('mod-name').value || '').trim() + const description = (el('mod-desc').value || '').trim() + const server_addr = (el('mod-addr').value || '').trim() + const portStr = (el('mod-port').value || '').trim() + const server_port = parseInt(portStr || '0', 10) + const code_type = (el('mod-code').value || '').trim() + const deploy_method = (el('mod-deploy').value || '').trim() + const software_versions = (el('mod-soft').value || '').trim() + if (!name || !description || !server_addr || !portStr || !(server_port > 0) || !code_type || !deploy_method || !software_versions) { alert('子模块所有字段均为必填,端口需为正整数'); return } + const payload = { system_id: current.system.id, name, description, server_addr, server_port, code_type, deploy_method, software_versions } + + showLoading('正在保存子模块...') + try { + let res, data + if (current.module && current.module.id) { + payload.id = current.module.id + res = await fetch(`${apiBase}/modules/${current.module.id}`, { + method: 'PUT', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(payload), + credentials: 'same-origin' + }) + } else { + res = await fetch(`${apiBase}/modules`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(payload), + credentials: 'same-origin' + }) + } + data = await res.json() + if (!data.ok) throw new Error('保存失败') + alert('子模块已保存') + await loadModules(current.system.id) + // 刷新树形中的当前系统子模块列表 + const sysChildren = document.querySelector(`.tree-item[data-system-id="${current.system.id}"] .tree-item-children`) + if (sysChildren) await loadSystemModules(current.system.id, sysChildren) + else { + await loadSystems() + const sysNode = document.querySelector(`.tree-item[data-system-id="${current.system.id}"]`) + if (sysNode) { + const header = sysNode.querySelector('.tree-item-header') + const content = sysNode.querySelector('.tree-item-content') + const children = sysNode.querySelector('.tree-item-children') + const toggle = header && header.querySelector('.tree-toggle') + if (header) header.classList.add('expanded') + if (content) content.classList.add('expanded') + if (toggle) toggle.classList.add('expanded') + if (children) await loadSystemModules(current.system.id, children) + } + } + } catch (e) { + alert('保存失败: ' + e.message) + } finally { + hideLoading() + } + } + + // 保存开发纪要 + async function saveNote() { + if (!current.module) return + const note_type = (el('note-type').value || '').trim() + const content = (el('note-content').value || '').trim() + if (!note_type || !content) { alert('纪要类型与内容为必填'); return } + const payload = { module_id: current.module.id, note_type, content } + + showLoading('正在保存开发纪要...') + try { + let res, data + if (current.note && current.note.id) { + payload.id = current.note.id + res = await fetch(`${apiBase}/notes/${current.note.id}`, { + method: 'PUT', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(payload), + credentials: 'same-origin' + }) + } else { + res = await fetch(`${apiBase}/notes`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(payload), + credentials: 'same-origin' + }) + } + data = await res.json() + if (!data.ok) throw new Error('保存失败') + alert('开发纪要已保存') + await loadNotes(current.module.id) + // 刷新树形中的当前模块纪要列表 + const notesContainer = document.querySelector(`.tree-module-wrapper[data-module-id="${current.module.id}"] .tree-note-list`) + if (notesContainer) await loadModuleNotes(current.module.id, notesContainer) + } catch (e) { + alert('保存失败: ' + e.message) + } finally { + hideLoading() + } + } + + // 新增系统:进入新增模式,不立即提交 + async function newSystem() { + current.system = { id: null, name: '', intro: '' } + updatePath('系统: 新增') + if ($systemDetail) $systemDetail.style.display = 'block' + if ($moduleDetail) $moduleDetail.style.display = 'none' + if ($noteDetail) $noteDetail.style.display = 'none' + if (el('sys-name')) el('sys-name').value = '' + if (el('sys-intro')) el('sys-intro').value = '' + + const radios = document.querySelectorAll('input[name="sys-major"]') + radios.forEach(r => { + if (r.value === 'Trae研发') r.checked = true + else r.checked = false + }) + } + + // 新增子模块 + async function newModule() { + if (!current.system) return + current.module = null + updatePath(`系统: ${current.system.name} → 子模块: 新增`) + if ($systemDetail) $systemDetail.style.display = 'none' + if ($moduleDetail) $moduleDetail.style.display = 'block' + if ($noteDetail) $noteDetail.style.display = 'none' + if (el('mod-name')) el('mod-name').value = '' + if (el('mod-desc')) el('mod-desc').value = '' + if (el('mod-addr')) el('mod-addr').value = '' + if (el('mod-port')) el('mod-port').value = '' + if (el('mod-code')) el('mod-code').value = '' + if (el('mod-deploy')) el('mod-deploy').value = '' + if (el('mod-soft')) el('mod-soft').value = '' + } + + // 新增开发纪要 + async function newNote() { + if (!current.module) return + current.note = null + updatePath(`系统: ${current.system ? current.system.name : ''} → 子模块: ${current.module.name} → 纪要: 新增`) + if ($systemDetail) $systemDetail.style.display = 'none' + if ($moduleDetail) $moduleDetail.style.display = 'none' + if ($noteDetail) $noteDetail.style.display = 'block' + if (el('note-type')) el('note-type').value = '需求' + if (el('note-content')) el('note-content').value = '' + const attachmentSection = $noteDetail && $noteDetail.querySelector('.attachment-section') + if (attachmentSection) attachmentSection.style.display = 'none' + } + + // 上传附件 + async function uploadAttachments() { + if (!$attachmentFile) return; + const files = $attachmentFile.files + if (files.length === 0) { + alert('请选择至少一个文件') + return + } + + if (!current.note) { + alert('请先选择开发纪要') + return + } + + if ($btnUploadAttachment) $btnUploadAttachment.disabled = true + if ($uploadProgress) $uploadProgress.innerHTML = '' + + let successCount = 0 + let errorCount = 0 + + for (let i = 0; i < files.length; i++) { + const file = files[i] + const progressId = 'progress-' + Date.now() + '-' + i + + const progressDiv = document.createElement('div') + progressDiv.id = progressId + progressDiv.innerHTML = ` +
+ 📄 ${file.name} (${formatFileSize(file.size)}) + + 0% +
+ ` + if ($uploadProgress) $uploadProgress.appendChild(progressDiv) + + try { + const url = `${apiBase}/attachments/upload?note_id=${encodeURIComponent(current.note.id)}&filename=${encodeURIComponent(file.name)}&mime=${encodeURIComponent(file.type||'application/octet-stream')}` + const res = await fetch(url, { + method: 'POST', + credentials: 'same-origin', + headers: { 'Content-Type': 'application/octet-stream' }, + body: file + }) + + const data = await res.json() + if (!data.ok) throw new Error(data.error || '上传失败') + + successCount++ + const progressBar = document.querySelector(`#${progressId} progress`) + const progressText = document.querySelector(`#${progressId} span:last-child`) + if (progressBar && progressText) { + progressBar.value = 100 + progressText.textContent = '✅ 完成' + } + } catch (e) { + errorCount++ + const progressBar = document.querySelector(`#${progressId} progress`) + const progressText = document.querySelector(`#${progressId} span:last-child`) + if (progressBar && progressText) { + progressBar.value = 0 + progressText.textContent = '❌ 失败: ' + e.message + progressText.style.color = '#ff6b6b' + } + } + } + + if ($btnUploadAttachment) $btnUploadAttachment.disabled = false + + if ((successCount > 0 || errorCount > 0) && $uploadProgress) { + const resultDiv = document.createElement('div') + resultDiv.style.marginTop = '16px' + resultDiv.style.padding = '8px' + resultDiv.style.background = successCount > 0 ? '#2b8a3e20' : '#c92a2a20' + resultDiv.style.border = successCount > 0 ? '1px solid #2b8a3e' : '1px solid #c92a2a' + resultDiv.style.borderRadius = '4px' + resultDiv.innerHTML = ` + 📊 上传结果:
+ ✅ 成功: ${successCount} 个文件
+ ❌ 失败: ${errorCount} 个文件 + ` + $uploadProgress.appendChild(resultDiv) + + if (successCount > 0) { + await loadAttachments(current.note.id) + } + } + } + + // 下载附件 + async function downloadAttachment(attachment) { + try { + const res = await fetch(`${apiBase}/attachments/${attachment.id}/download`, { + credentials: 'same-origin' + }) + if (!res.ok) throw new Error('下载失败') + + const blob = await res.blob() + const url = window.URL.createObjectURL(blob) + const a = document.createElement('a') + a.href = url + a.download = attachment.filename + document.body.appendChild(a) + a.click() + window.URL.revokeObjectURL(url) + document.body.removeChild(a) + } catch (e) { + alert('下载失败: ' + e.message) + } + } + + // CRUD 操作 + async function deleteSystem(systemId) { + if (!confirm('确定要删除这个系统吗?此操作将删除所有相关的子模块、纪要和附件!')) return + showLoading('正在删除系统...') + try { + const res = await fetch(`${apiBase}/systems/${systemId}`, { + method: 'DELETE', + credentials: 'same-origin' + }) + const data = await res.json() + if (!data.ok) throw new Error('删除失败') + alert('系统已删除') + await loadSystems() + } catch (e) { + alert('删除失败: ' + e.message) + } finally { hideLoading() } + } + + async function editSystem(systemId) { + const system = current.systems.find(s => s.id === systemId) + if (system) selectSystem(system) + } + + async function deleteModule(moduleId) { + if (!confirm('确定要删除这个子模块吗?此操作将删除所有相关的纪要和附件!')) return + showLoading('正在删除子模块...') + try { + const res = await fetch(`${apiBase}/modules/${moduleId}`, { + method: 'DELETE', + credentials: 'same-origin' + }) + const data = await res.json() + if (!data.ok) throw new Error('删除失败') + alert('子模块已删除') + await loadModules(current.system.id) + } catch (e) { + alert('删除失败: ' + e.message) + } finally { hideLoading() } + } + + async function editModule(moduleId) { + const module = current.modules.find(m => m.id === moduleId) + if (module) selectModule(module) + } + + async function deleteNote(noteId) { + if (!confirm('确定要删除这个开发纪要吗?此操作将删除所有相关的附件!')) return + showLoading('正在删除纪要...') + try { + const res = await fetch(`${apiBase}/notes/${noteId}`, { + method: 'DELETE', + credentials: 'same-origin' + }) + const data = await res.json() + if (!data.ok) throw new Error('删除失败') + alert('开发纪要已删除') + await loadNotes(current.module.id) + } catch (e) { + alert('删除失败: ' + e.message) + } finally { hideLoading() } + } + + async function editNote(noteId) { + const note = current.notes.find(n => n.id === noteId) + if (note) selectNote(note) + } + + async function deleteAttachment(attachmentId) { + if (!confirm('确定要删除这个附件吗?')) return + showLoading('正在删除附件...') + try { + const res = await fetch(`${apiBase}/attachments/${attachmentId}`, { + method: 'DELETE', + credentials: 'same-origin' + }) + const data = await res.json() + if (!data.ok) throw new Error('删除失败') + alert('附件已删除') + await loadAttachments(current.note.id) + } catch (e) { + alert('删除失败: ' + e.message) + } finally { hideLoading() } + } + + // --- 大类管理逻辑 --- + + async function loadCategories() { + try { + const res = await fetch(apiBase + '/categories', { cache: 'no-store', credentials: 'same-origin' }) + const data = await res.json() + if (data.ok) { + current.categories = data.rows || [] + renderCategories() + } + } catch (e) { + console.error('加载大类失败:', e) + } + } + + function renderCategories() { + // 1. 渲染右上角筛选 + const filterContainer = el('filter-major-dynamic') + if (filterContainer) { + // 保留当前选中的值 + const currentFilter = document.querySelector('input[name="filter-major"]:checked')?.value || '' + + filterContainer.innerHTML = current.categories.map(c => ` + + `).join('') + + // 重新绑定筛选事件 + const radios = document.querySelectorAll('input[name="filter-major"]') + radios.forEach(r => { + r.onchange = () => { + resetNavigation() + loadSystems() + } + }) + } + + // 2. 渲染系统详情页的大类单选 + const formContainer = el('sys-major-dynamic') + if (formContainer) { + formContainer.innerHTML = current.categories.map(c => ` + + `).join('') + + // 如果当前正在编辑系统,恢复选中值 + if (current.system && current.system.major_category) { + const r = formContainer.querySelector(`input[value="${current.system.major_category}"]`) + if (r) r.checked = true + } + } + } + + async function openCategoryManager() { + let modal = el('category-manager-modal') + if (!modal) { + modal = document.createElement('div') + modal.id = 'category-manager-modal' + modal.className = 'modal-overlay open' + modal.style.zIndex = '2000' + document.body.appendChild(modal) + } + + const renderModalContent = () => { + modal.innerHTML = ` + + ` + + setTimeout(() => { + const btnAdd = modal.querySelector('#btn-add-cat') + const input = modal.querySelector('#new-cat-input') + if (btnAdd && input) { + btnAdd.onclick = async () => { + const name = input.value.trim() + if (!name) return alert('请输入名称') + await apiCreateCategory(name) + input.value = '' + renderModalContent() + } + } + }, 0) + } + + window.aiLib_promptEditCategory = async (id, oldName) => { + const newName = prompt('请输入新的大类名称:', oldName) + if (newName && newName.trim() && newName !== oldName) { + await apiUpdateCategory(id, newName.trim()) + renderModalContent() + } + } + + window.aiLib_confirmDeleteCategory = async (id, name) => { + if (confirm(`确定要删除大类“${name}”吗?`)) { + await apiDeleteCategory(id) + renderModalContent() + } + } + + renderModalContent() + modal.style.display = 'flex' + } + + async function apiCreateCategory(name) { + try { + const res = await fetch(apiBase + '/categories', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ name }), + cache: 'no-store' + }) + const data = await res.json() + if (!data.ok) throw new Error(data.error) + await loadCategories() + } catch(e) { alert('添加失败: ' + e.message) } + } + + async function apiUpdateCategory(id, name) { + try { + const res = await fetch(apiBase + '/categories/' + id, { + method: 'PUT', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ name }), + cache: 'no-store' + }) + const data = await res.json() + if (!data.ok) throw new Error(data.error) + await loadCategories() + } catch(e) { alert('更新失败: ' + e.message) } + } + + async function apiDeleteCategory(id) { + try { + const res = await fetch(apiBase + '/categories/' + id, { + method: 'DELETE', + cache: 'no-store' + }) + const data = await res.json() + if (!data.ok) throw new Error(data.error) + await loadCategories() + } catch(e) { alert('删除失败: ' + e.message) } + } + + // 绑定事件 + function bindEvents() { + const btnLogin = el('btn-login'); if (btnLogin) btnLogin.onclick = login + ;(async function tryAutoFill() { + try { + const token = localStorage.getItem('toolbox_creds_token') || '' + const url = '/api/ai-lib/auth/local_creds' + (token ? '?token=' + encodeURIComponent(token) : '') + const r = await fetch(url, { credentials: 'same-origin', cache: 'no-store' }) + const d = await r.json().catch(() => null) + if (d && d.ok && d.creds) { + if (d.creds.username) el('login-user').value = d.creds.username + if (d.creds.password) el('login-pass').value = d.creds.password + } + } catch {} + el('login-user').removeAttribute('readonly') + el('login-pass').removeAttribute('readonly') + })() + + const btnNewSystem = el('btn-new-system'); + if (btnNewSystem) { + btnNewSystem.onclick = newSystem + } else { + console.warn('Button btn-new-system not found in DOM') + } + + const btnNewModule = el('btn-new-module'); if (btnNewModule) btnNewModule.onclick = newModule + const btnNewNote = el('btn-new-note'); if (btnNewNote) btnNewNote.onclick = newNote + const btnRefreshTree = el('btn-refresh-tree'); if (btnRefreshTree) btnRefreshTree.onclick = () => loadSystems() + const btnManageCategories = el('btn-manage-categories'); if (btnManageCategories) btnManageCategories.onclick = openCategoryManager + + // 已移除详情标题处的新增按钮 + + const btnSaveSystem = el('btn-save-system'); if (btnSaveSystem) btnSaveSystem.onclick = saveSystem + const btnSaveModule = el('btn-save-module'); if (btnSaveModule) btnSaveModule.onclick = saveModule + const btnSaveNote = el('btn-save-note'); if (btnSaveNote) btnSaveNote.onclick = saveNote + + if ($btnUploadAttachment) $btnUploadAttachment.onclick = uploadAttachments + + const filterRadios = document.querySelectorAll('input[name="filter-major"]') + filterRadios.forEach(r => { + r.onchange = () => { + resetNavigation() + loadSystems() + } + }) + } + + async function init() { + console.log('AI Lib initializing...') + + // 初始化 DOM 引用 + $auth = el('auth') + $app = el('app') + $systems = el('systems') + $modules = el('modules') + $notes = el('notes') + $attachments = el('attachments') + + $moduleNav = el('module-nav') + $noteNav = el('note-nav') + $systemDetail = el('system-detail') + $moduleDetail = el('module-detail') + $noteDetail = el('note-detail') + + $attachmentFile = el('attachment-file') + $btnUploadAttachment = el('btn-upload-attachment') + $uploadProgress = el('upload-progress') + + if (!$auth || !$app || !$systems) { + console.error('Critical elements missing:', { auth: !!$auth, app: !!$app, systems: !!$systems }) + alert('系统初始化失败:关键页面元素缺失。请查看控制台了解详情。') + return + } + + bindEvents() + const isLoggedIn = await loadCategories() + if (isLoggedIn) { + $auth.style.display = 'none' + $app.style.display = 'block' + await loadSystems() + } + resetNavigation() + + console.log('AI Lib initialized successfully.') + // alert('系统脚本已更新并加载 (v2)') // Debug alert + } + + if (document.readyState === 'loading') { + document.addEventListener('DOMContentLoaded', init) + } else { + init() + } + + } catch (err) { + console.error('Script initialization error:', err); + alert('脚本初始化错误: ' + err.message); + } +})() diff --git a/public/tools/ai-lib/auth_config.json b/public/tools/ai-lib/auth_config.json new file mode 100644 index 0000000..88858d9 --- /dev/null +++ b/public/tools/ai-lib/auth_config.json @@ -0,0 +1,9 @@ +{ + "_comment": "AI-Lib 工具的前端鉴权配置", + "enable_auth_comment": "true:启用鉴权(需要从导航单点登录);false:开发/测试时可放开", + "enable_auth": true, + "max_age_days_comment": "鉴权 cookie 最大有效天数(1~365)", + "max_age_days": 30, + "cookieName_comment": "AI-Lib 鉴权 cookie 名称,用于标记已登录用户", + "cookieName": "ai_lib_gate" +} diff --git a/public/tools/ai-lib/index.html b/public/tools/ai-lib/index.html new file mode 100644 index 0000000..ee6dc11 --- /dev/null +++ b/public/tools/ai-lib/index.html @@ -0,0 +1,135 @@ + + + + + + AI开发库 + + + + + + + +
+
+

🔐 登录AI开发库

+
+ + + +
+ +
+ + +
+ + + + + + + + diff --git a/public/tools/apple_watch/app.js b/public/tools/apple_watch/app.js new file mode 100644 index 0000000..b8eeb36 --- /dev/null +++ b/public/tools/apple_watch/app.js @@ -0,0 +1,980 @@ +const el = (id) => document.getElementById(id) + +const fmtNum = (v, d = 1) => { + if (v === null || v === undefined || Number.isNaN(v)) return '-' + return Number(v).toFixed(d) +} + +const fmtDate = (s) => { + if (!s) return '-' + return String(s).slice(0, 10) +} + +const loadScript = (src) => new Promise((resolve, reject) => { + const s = document.createElement('script') + s.src = src + s.async = true + s.onload = () => resolve() + s.onerror = () => reject() + document.head.appendChild(s) +}) + +const ensureChart = async () => !!window.Chart + +const state = { + charts: {}, + lastData: null, + activeTab: 'default' +} + +const setText = (id, value) => { + const node = el(id) + if (node) node.textContent = value +} + +const avgOf = (arr) => { + const nums = (arr || []).filter(v => Number.isFinite(v)) + if (!nums.length) return null + return nums.reduce((a, b) => a + b, 0) / nums.length +} + +const sumOf = (arr) => (arr || []).reduce((a, b) => a + (Number.isFinite(b) ? b : 0), 0) + +const firstValue = (arr) => { + for (let i = 0; i < arr.length; i += 1) { + if (Number.isFinite(arr[i])) return arr[i] + } + return null +} + +const getTrendData = (data) => ({ + days: Number(el('daysRange').value || 90), + labels: data.trends.dates || [], + hr: data.trends.hr_avg || [], + resp: data.trends.resp_avg || [], + weight: data.trends.weight || [], + distance: data.trends.distance || [], + sleep: data.trends.sleep_hours || [], + stand: data.trends.stand_hours || [], + workout: data.trends.workout_minutes || [], + hrv: data.trends.hrv_sdnn || [], + restingHr: data.trends.resting_hr || [], + walkingHr: data.trends.walking_hr || [], + sleepRem: data.trends.sleep_rem || [], + sleepCore: data.trends.sleep_core || [], + sleepDeep: data.trends.sleep_deep || [], + sleepAwake: data.trends.sleep_awake || [] +}) + +const getTypeSummary = (data) => { + const shortType = (t) => String(t || '').replace('HKQuantityTypeIdentifier', '').replace('HKCategoryTypeIdentifier', '') + const types = data.compare.types || [] + return { + typeLabels: types.map(t => shortType(t.type)), + typeValues: types.map(t => t.record_count || 0) + } +} + +const updateSummary = (data) => { + setText('statRecords', data.summary.total_records || 0) + setText('statTypes', data.summary.type_count || 0) + setText('statRoutes', data.summary.route_count || 0) + setText('statEcg', data.summary.ecg_count || 0) + const dateRange = data.summary.date_min ? `${fmtDate(data.summary.date_min)} ~ ${fmtDate(data.summary.date_max)}` : '-' + setText('statDateRange', dateRange) + setText('statLastImport', data.summary.last_import ? `最近同步 ${fmtDate(data.summary.last_import)}` : '-') + setText('statAvgHr', fmtNum(data.cards.avg_hr_7d, 1)) + setText('statAvgResp', fmtNum(data.cards.avg_resp_7d, 1)) + setText('statDistance', fmtNum(data.cards.total_distance_km, 1)) + const weightUnit = data.latest.weight_unit || 'kg' + const heightUnitRaw = data.latest.height_unit || 'cm' + let heightUnit = heightUnitRaw + let heightValue = data.latest.height_cm + if (heightUnitRaw === 'm' && Number.isFinite(heightValue)) { + heightValue = heightValue * 100 + heightUnit = 'cm' + } + setText('statWeight', fmtNum(data.latest.weight_kg, 1)) + setText('statHeight', fmtNum(heightValue, 1)) + setText('statWeightUnit', weightUnit) + setText('statHeightUnit', heightUnit) + setText('statSleep', fmtNum(data.cards.avg_sleep_7d_h, 2)) + setText('statStand', fmtNum(data.cards.avg_stand_7d_h, 1)) + setText('statWorkout', fmtNum(data.cards.avg_workout_7d_min, 1)) +} + +const destroyCharts = () => { + Object.values(state.charts).forEach(c => { + if (c && typeof c.destroy === 'function') c.destroy() + }) + state.charts = {} +} + +const drawSimpleLine = (canvas, labels, series, colors) => { + const ctx = canvas.getContext('2d') + const width = canvas.clientWidth || canvas.width + const height = canvas.clientHeight || canvas.height + canvas.width = width + canvas.height = height + ctx.clearRect(0, 0, width, height) + const allValues = series.flat().filter(v => Number.isFinite(v)) + if (!allValues.length) return false + const min = Math.min(...allValues) + const max = Math.max(...allValues) + const pad = 24 + const xStep = (width - pad * 2) / Math.max(1, labels.length - 1) + const scaleY = (v) => { + if (max === min) return height / 2 + return height - pad - ((v - min) / (max - min)) * (height - pad * 2) + } + series.forEach((values, idx) => { + ctx.beginPath() + ctx.strokeStyle = colors[idx] || '#38bdf8' + ctx.lineWidth = 2 + values.forEach((v, i) => { + if (!Number.isFinite(v)) return + const x = pad + xStep * i + const y = scaleY(v) + if (i === 0) ctx.moveTo(x, y) + else ctx.lineTo(x, y) + }) + ctx.stroke() + }) + return true +} + +const drawSimpleBars = (canvas, labels, values) => { + const ctx = canvas.getContext('2d') + const width = canvas.clientWidth || canvas.width + const height = canvas.clientHeight || canvas.height + canvas.width = width + canvas.height = height + ctx.clearRect(0, 0, width, height) + const nums = values.filter(v => Number.isFinite(v)) + if (!nums.length) return false + const max = Math.max(...nums, 1) + const pad = 24 + const barWidth = (width - pad * 2) / Math.max(1, values.length) + values.forEach((v, i) => { + if (!Number.isFinite(v)) return + const h = ((v / max) * (height - pad * 2)) + const x = pad + i * barWidth + barWidth * 0.2 + const y = height - pad - h + ctx.fillStyle = '#60a5fa' + ctx.fillRect(x, y, barWidth * 0.6, h) + }) + return true +} + +const drawSimplePie = (canvas, values, colors) => { + const ctx = canvas.getContext('2d') + const width = canvas.clientWidth || canvas.width + const height = canvas.clientHeight || canvas.height + canvas.width = width + canvas.height = height + ctx.clearRect(0, 0, width, height) + const total = values.reduce((a, b) => a + (Number.isFinite(b) ? b : 0), 0) + if (!total) return false + let start = -Math.PI / 2 + values.forEach((v, i) => { + const value = Number.isFinite(v) ? v : 0 + const angle = (value / total) * Math.PI * 2 + ctx.beginPath() + ctx.moveTo(width / 2, height / 2) + ctx.fillStyle = colors[i % colors.length] + ctx.arc(width / 2, height / 2, Math.min(width, height) / 2 - 6, start, start + angle) + ctx.fill() + start += angle + }) + return true +} + +const drawSimpleScatter = (canvas, points, color = '#38bdf8') => { + const ctx = canvas.getContext('2d') + const width = canvas.clientWidth || canvas.width + const height = canvas.clientHeight || canvas.height + canvas.width = width + canvas.height = height + ctx.clearRect(0, 0, width, height) + if (!points.length) return false + const xs = points.map(p => p.x).filter(v => Number.isFinite(v)) + const ys = points.map(p => p.y).filter(v => Number.isFinite(v)) + if (!xs.length || !ys.length) return false + const minX = Math.min(...xs) + const maxX = Math.max(...xs) + const minY = Math.min(...ys) + const maxY = Math.max(...ys) + const pad = 24 + const scaleX = (v) => { + if (maxX === minX) return width / 2 + return pad + ((v - minX) / (maxX - minX)) * (width - pad * 2) + } + const scaleY = (v) => { + if (maxY === minY) return height / 2 + return height - pad - ((v - minY) / (maxY - minY)) * (height - pad * 2) + } + ctx.fillStyle = color + points.forEach(p => { + if (!Number.isFinite(p.x) || !Number.isFinite(p.y)) return + const x = scaleX(p.x) + const y = scaleY(p.y) + ctx.beginPath() + ctx.arc(x, y, 3, 0, Math.PI * 2) + ctx.fill() + }) + return true +} + +const renderDefaultCharts = async (data) => { + const trends = getTrendData(data) + const { typeLabels, typeValues } = getTypeSummary(data) + const { days, labels, hr, resp, weight, distance, sleep, stand, workout, hrv, restingHr, walkingHr, sleepRem, sleepCore, sleepDeep, sleepAwake } = trends + destroyCharts() + const hasChart = await ensureChart() + if (hasChart) { + const vCtx = el('chartVitals').getContext('2d') + state.charts.vitals = new Chart(vCtx, { + type: 'line', + data: { + labels, + datasets: [ + { label: '心率', data: hr, borderColor: '#38bdf8', backgroundColor: 'rgba(56,189,248,0.2)', tension: 0.35, pointRadius: 2 }, + { label: '呼吸率', data: resp, borderColor: '#f472b6', backgroundColor: 'rgba(244,114,182,0.2)', tension: 0.35, pointRadius: 2 } + ] + }, + options: { + responsive: true, + interaction: { mode: 'index', intersect: false }, + plugins: { legend: { position: 'bottom' } }, + scales: { x: { ticks: { maxTicksLimit: 6 } } } + } + }) + const wCtx = el('chartWeight').getContext('2d') + state.charts.weight = new Chart(wCtx, { + type: 'line', + data: { labels, datasets: [{ label: '体重', data: weight, borderColor: '#a78bfa', backgroundColor: 'rgba(167,139,250,0.2)', tension: 0.35, pointRadius: 2 }] }, + options: { responsive: true, plugins: { legend: { display: false } }, scales: { x: { ticks: { maxTicksLimit: 6 } } } } + }) + const dCtx = el('chartDistance').getContext('2d') + state.charts.distance = new Chart(dCtx, { + type: 'bar', + data: { labels, datasets: [{ label: '公里', data: distance, backgroundColor: '#60a5fa' }] }, + options: { responsive: true, plugins: { legend: { display: false } }, scales: { x: { ticks: { maxTicksLimit: 6 } } } } + }) + const tCtx = el('chartTypes').getContext('2d') + state.charts.types = new Chart(tCtx, { + type: 'pie', + data: { + labels: typeLabels, + datasets: [{ data: typeValues, backgroundColor: ['#38bdf8', '#60a5fa', '#a78bfa', '#f472b6', '#34d399', '#facc15', '#fb7185', '#c084fc', '#22d3ee', '#f97316', '#4ade80', '#eab308'] }] + }, + options: { responsive: true, plugins: { legend: { position: 'bottom' } } } + }) + const sCtx = el('chartSleep').getContext('2d') + state.charts.sleep = new Chart(sCtx, { + type: 'line', + data: { + labels, + datasets: [ + { label: '睡眠小时', data: sleep, borderColor: '#34d399', backgroundColor: 'rgba(52,211,153,0.2)', tension: 0.35, pointRadius: 2 }, + { label: '站立小时', data: stand, borderColor: '#f59e0b', backgroundColor: 'rgba(245,158,11,0.2)', tension: 0.35, pointRadius: 2 } + ] + }, + options: { responsive: true, plugins: { legend: { position: 'bottom' } }, scales: { x: { ticks: { maxTicksLimit: 6 } } } } + }) + const wCtx2 = el('chartWorkout').getContext('2d') + state.charts.workout = new Chart(wCtx2, { + type: 'bar', + data: { labels, datasets: [{ label: '分钟', data: workout, backgroundColor: '#fb7185' }] }, + options: { responsive: true, plugins: { legend: { display: false } }, scales: { x: { ticks: { maxTicksLimit: 6 } } } } + }) + const ssCtx = el('chartSleepStages').getContext('2d') + state.charts.sleepStages = new Chart(ssCtx, { + type: 'bar', + data: { + labels, + datasets: [ + { label: 'REM', data: sleepRem, backgroundColor: '#60a5fa', stack: 'stack0' }, + { label: '核心', data: sleepCore, backgroundColor: '#34d399', stack: 'stack0' }, + { label: '深睡', data: sleepDeep, backgroundColor: '#818cf8', stack: 'stack0' }, + { label: '清醒', data: sleepAwake, backgroundColor: '#fb923c', stack: 'stack0' } + ] + }, + options: { + responsive: true, + plugins: { legend: { position: 'bottom' } }, + scales: { + x: { ticks: { maxTicksLimit: 6 }, stacked: true }, + y: { stacked: true, title: { display: true, text: '小时' } } + } + } + }) + const hhCtx = el('chartHeartHealth').getContext('2d') + state.charts.heartHealth = new Chart(hhCtx, { + type: 'line', + data: { + labels, + datasets: [ + { label: '静息心率', data: restingHr, borderColor: '#f43f5e', backgroundColor: 'rgba(244,63,94,0.2)', tension: 0.35, pointRadius: 2, yAxisID: 'y' }, + { label: '步行心率', data: walkingHr, borderColor: '#ec4899', backgroundColor: 'rgba(236,72,153,0.2)', tension: 0.35, pointRadius: 2, yAxisID: 'y' }, + { label: 'HRV', data: hrv, borderColor: '#a855f7', backgroundColor: 'rgba(168,85,247,0.2)', tension: 0.35, pointRadius: 2, yAxisID: 'y1' } + ] + }, + options: { + responsive: true, + interaction: { mode: 'index', intersect: false }, + plugins: { legend: { position: 'bottom' } }, + scales: { + x: { ticks: { maxTicksLimit: 6 } }, + y: { type: 'linear', display: true, position: 'left', title: { display: true, text: 'bpm' } }, + y1: { type: 'linear', display: true, position: 'right', title: { display: true, text: 'ms' }, grid: { drawOnChartArea: false } } + } + } + }) + } else { + drawSimpleLine(el('chartVitals'), labels, [hr, resp], ['#38bdf8', '#f472b6']) + drawSimpleLine(el('chartWeight'), labels, [weight], ['#a78bfa']) + drawSimpleBars(el('chartDistance'), labels, distance) + drawSimplePie(el('chartTypes'), typeValues, ['#38bdf8', '#60a5fa', '#a78bfa', '#f472b6', '#34d399', '#facc15', '#fb7185', '#c084fc', '#22d3ee', '#f97316', '#4ade80', '#eab308']) + drawSimpleLine(el('chartSleep'), labels, [sleep, stand], ['#34d399', '#f59e0b']) + drawSimpleBars(el('chartWorkout'), labels, workout) + } + setText('chartVitalsMeta', `${days}天内平均心率与呼吸率`) + setText('chartWeightMeta', `${days}天体重变化`) + setText('chartDistanceMeta', `${days}天步行距离`) + setText('chartTypesMeta', `最多记录的 ${typeLabels.length} 类数据`) + setText('chartSleepMeta', `${days}天睡眠小时与站立小时`) + setText('chartWorkoutMeta', `${days}天运动分钟`) + setText('chartSleepStagesMeta', `${days}天睡眠分期 (REM/核心/深睡/清醒)`) + setText('chartHeartHealthMeta', `${days}天静息/步行心率与 HRV 趋势`) +} + +const typeNameMap = { + HKQuantityTypeIdentifierStepCount: '步数', + HKQuantityTypeIdentifierActiveEnergyBurned: '活动能量', + HKQuantityTypeIdentifierAppleExerciseTime: '锻炼时间', + HKQuantityTypeIdentifierStandTime: '站立时间', + HKQuantityTypeIdentifierBasalEnergyBurned: '基础能量', + HKQuantityTypeIdentifierDistanceWalkingRunning: '步行跑步距离', + HKQuantityTypeIdentifierHeartRate: '心率', + HKQuantityTypeIdentifierRespiratoryRate: '呼吸率', + HKQuantityTypeIdentifierBodyMass: '体重', + HKQuantityTypeIdentifierHeight: '身高', + HKCategoryTypeIdentifierAppleStandHour: '站立小时', + HKCategoryTypeIdentifierSleepAnalysis: '睡眠' +} + +const typeDisplayConfig = { + HKQuantityTypeIdentifierStepCount: { mode: 'daily_avg', label: '日均' }, + HKQuantityTypeIdentifierActiveEnergyBurned: { mode: 'daily_avg', label: '日均' }, + HKQuantityTypeIdentifierBasalEnergyBurned: { mode: 'daily_avg', label: '日均' }, + HKQuantityTypeIdentifierDistanceWalkingRunning: { mode: 'daily_avg', label: '日均' }, + HKQuantityTypeIdentifierAppleExerciseTime: { mode: 'daily_avg', label: '日均' }, + HKQuantityTypeIdentifierStandTime: { mode: 'daily_avg', label: '日均' }, + HKQuantityTypeIdentifierFlightsClimbed: { mode: 'daily_avg', label: '日均' }, + HKQuantityTypeIdentifierDietaryEnergyConsumed: { mode: 'daily_avg', label: '日均' }, + HKQuantityTypeIdentifierHeartRate: { mode: 'avg', label: '平均' }, + HKQuantityTypeIdentifierRestingHeartRate: { mode: 'avg', label: '平均' }, + HKQuantityTypeIdentifierWalkingHeartRateAverage: { mode: 'avg', label: '平均' }, + HKQuantityTypeIdentifierHeartRateVariabilitySDNN: { mode: 'avg', label: '平均' }, + HKQuantityTypeIdentifierRespiratoryRate: { mode: 'avg', label: '平均' }, + HKQuantityTypeIdentifierOxygenSaturation: { mode: 'avg', label: '平均' }, + HKQuantityTypeIdentifierBodyMass: { mode: 'avg', label: '平均' }, + HKQuantityTypeIdentifierHeight: { mode: 'avg', label: '平均' }, + HKQuantityTypeIdentifierBodyTemperature: { mode: 'avg', label: '平均' }, + HKQuantityTypeIdentifierEnvironmentalAudioExposure: { mode: 'avg', label: '平均' }, + HKQuantityTypeIdentifierHeadphoneAudioExposure: { mode: 'avg', label: '平均' } +} + +const renderTypeList = (data, targetId = 'typeList') => { + const box = el(targetId) + if (!box) return + box.innerHTML = '' + const types = data.compare.types || [] + if (!types.length) { + box.innerHTML = '
暂无类型数据
' + return + } + types.slice(0, 12).forEach(item => { + const name = typeNameMap[item.type] || item.type.replace('HKQuantityTypeIdentifier', '').replace('HKCategoryTypeIdentifier', '') + const config = typeDisplayConfig[item.type] || { mode: 'count' } + let valueStr = '' + if (config.mode === 'daily_avg' && item.total_value && item.day_count) { + const val = item.total_value / Math.max(1, item.day_count) + valueStr = `${config.label} ${fmtNum(val, 1)}` + } else if (config.mode === 'avg' && item.avg_value) { + valueStr = `${config.label} ${fmtNum(item.avg_value, 1)}` + } else { + valueStr = `${item.record_count} 次` + } + const node = document.createElement('div') + node.className = 'list-item' + node.innerHTML = ` +
+
${name}
+
${item.type}
+
+ ${valueStr}${item.unit ? ` · ${item.unit}` : ''} + ` + box.appendChild(node) + }) +} + +const lastValue = (arr) => { + for (let i = arr.length - 1; i >= 0; i -= 1) { + if (Number.isFinite(arr[i])) return arr[i] + } + return null +} + +const renderTrendList = (data, targetId = 'trendList') => { + const box = el(targetId) + if (!box) return + box.innerHTML = '' + const hr = data.trends.hr_avg || [] + const resp = data.trends.resp_avg || [] + const weight = data.trends.weight || [] + const distance = data.trends.distance || [] + const sleep = data.trends.sleep_hours || [] + const stand = data.trends.stand_hours || [] + const workout = data.trends.workout_minutes || [] + const days = Math.max(1, data.trends.dates.length || 1) + const totalDistance = distance.reduce((a, b) => a + (Number.isFinite(b) ? b : 0), 0) + const avgDistance = totalDistance / days + const maxHr = Math.max(...hr.filter(v => Number.isFinite(v)), 0) + const lastHr = lastValue(hr) + const lastResp = lastValue(resp) + const lastWeight = lastValue(weight) + const lastSleep = lastValue(sleep) + const lastStand = lastValue(stand) + const lastWorkout = lastValue(workout) + const items = [ + { title: '最近心率', value: lastHr, unit: 'bpm' }, + { title: '最近呼吸率', value: lastResp, unit: '次/分钟' }, + { title: '最近体重', value: lastWeight, unit: 'kg' }, + { title: '最高心率', value: maxHr, unit: 'bpm' }, + { title: '日均步行距离', value: avgDistance, unit: 'km' }, + { title: '最近睡眠', value: lastSleep, unit: '小时' }, + { title: '最近站立', value: lastStand, unit: '小时' }, + { title: '最近运动', value: lastWorkout, unit: '分钟' } + ] + const hasData = hr.some(v => Number.isFinite(v)) || resp.some(v => Number.isFinite(v)) || weight.some(v => Number.isFinite(v)) || distance.some(v => Number.isFinite(v)) || sleep.some(v => Number.isFinite(v)) || stand.some(v => Number.isFinite(v)) || workout.some(v => Number.isFinite(v)) + if (!hasData) { + box.innerHTML = '
暂无趋势数据
' + return + } + items.forEach(item => { + const node = document.createElement('div') + node.className = 'list-item' + node.innerHTML = `${item.title}${fmtNum(item.value, 1)} ${item.unit}` + box.appendChild(node) + }) +} + +const renderAnomalies = (data, targetId = 'anomalyList') => { + const box = el(targetId) + if (!box) return + box.innerHTML = '' + const items = [] + data.anomalies.hr.forEach(a => items.push({ type: '心率', date: a.date, value: a.value, unit: 'bpm' })) + data.anomalies.resp.forEach(a => items.push({ type: '呼吸率', date: a.date, value: a.value, unit: '次/分钟' })) + if (!items.length) { + box.innerHTML = '
暂无异常高值
' + return + } + items.slice(-10).reverse().forEach(item => { + const node = document.createElement('div') + node.className = 'list-item' + node.innerHTML = `${item.type} ${fmtDate(item.date)}${fmtNum(item.value, 1)} ${item.unit}` + box.appendChild(node) + }) +} + +const renderDeep = (data, targetId = 'deepList') => { + const box = el(targetId) + if (!box) return + box.innerHTML = '' + const routes = data.deep.routes || [] + const ecg = data.deep.ecg || [] + const workouts = data.deep.workouts || [] + if (!routes.length && !ecg.length && !workouts.length) { + box.innerHTML = '
暂无深度数据
' + return + } + workouts.forEach(r => { + const node = document.createElement('div') + node.className = 'list-item' + node.innerHTML = `训练 ${fmtDate(r.start_time)}${fmtNum(r.duration_min, 1)} 分钟 · ${fmtNum(r.distance_km, 2)} km` + box.appendChild(node) + }) + routes.forEach(r => { + const node = document.createElement('div') + node.className = 'list-item' + node.innerHTML = `路线 ${fmtDate(r.route_time)}${fmtNum(r.distance_km, 2)} km · ${fmtNum(r.duration_min, 1)} 分钟` + box.appendChild(node) + }) + ecg.forEach(r => { + const node = document.createElement('div') + node.className = 'list-item' + node.innerHTML = `ECG ${fmtDate(r.record_time)}${r.classification || '未知'} · ${fmtNum(r.sampling_rate, 0)} Hz` + box.appendChild(node) + }) +} + +const renderHddSummary = (data) => { + const trends = getTrendData(data) + setText('hddAvgHr', fmtNum(data.cards.avg_hr_7d, 1)) + setText('hddAvgResp', fmtNum(data.cards.avg_resp_7d, 1)) + setText('hddAvgSleep', fmtNum(data.cards.avg_sleep_7d_h, 2)) + setText('hddAvgStand', fmtNum(data.cards.avg_stand_7d_h, 1)) + setText('hddAvgWorkout', fmtNum(data.cards.avg_workout_7d_min, 1)) + setText('hddDistance', fmtNum(sumOf(trends.distance), 1)) + setText('hddRestingHr', fmtNum(avgOf(trends.restingHr), 1)) + setText('hddHrv', fmtNum(avgOf(trends.hrv), 1)) +} + +const renderAhaSummary = (data) => { + const trends = getTrendData(data) + const sleepTotal = sumOf(trends.sleepRem) + sumOf(trends.sleepCore) + sumOf(trends.sleepDeep) + sumOf(trends.sleepAwake) + const remPct = sleepTotal ? (sumOf(trends.sleepRem) / sleepTotal) * 100 : null + const deepPct = sleepTotal ? (sumOf(trends.sleepDeep) / sleepTotal) * 100 : null + const weightFirst = firstValue(trends.weight) + const weightLast = lastValue(trends.weight) + const weightDelta = Number.isFinite(weightFirst) && Number.isFinite(weightLast) ? weightLast - weightFirst : null + setText('ahaRestingHr', fmtNum(avgOf(trends.restingHr), 1)) + setText('ahaWalkingHr', fmtNum(avgOf(trends.walkingHr), 1)) + setText('ahaHrv', fmtNum(avgOf(trends.hrv), 1)) + setText('ahaRemPct', fmtNum(remPct, 1)) + setText('ahaDeepPct', fmtNum(deepPct, 1)) + setText('ahaWeightDelta', fmtNum(weightDelta, 2)) + setText('ahaWorkoutTotal', fmtNum(sumOf(trends.workout), 0)) + setText('ahaAnomalyCount', data.anomalies.hr ? data.anomalies.hr.length : 0) +} + +const renderGrafanaSummary = (data) => { + const trends = getTrendData(data) + setText('grafanaAvgHr', fmtNum(data.cards.avg_hr_7d, 1)) + setText('grafanaAvgResp', fmtNum(data.cards.avg_resp_7d, 1)) + setText('grafanaAvgSleep', fmtNum(data.cards.avg_sleep_7d_h, 2)) + setText('grafanaAvgWorkout', fmtNum(data.cards.avg_workout_7d_min, 1)) + setText('grafanaAvgStand', fmtNum(data.cards.avg_stand_7d_h, 1)) + setText('grafanaDistance', fmtNum(sumOf(trends.distance), 1)) + setText('grafanaRoutes', data.summary.route_count || 0) + setText('grafanaEcg', data.summary.ecg_count || 0) +} + +const renderDhdSummary = (data) => { + const trends = getTrendData(data) + setText('dhdAvgHr', fmtNum(data.cards.avg_hr_7d, 1)) + setText('dhdAvgResp', fmtNum(data.cards.avg_resp_7d, 1)) + setText('dhdRestingHr', fmtNum(avgOf(trends.restingHr), 1)) + setText('dhdWalkingHr', fmtNum(avgOf(trends.walkingHr), 1)) + setText('dhdHrv', fmtNum(avgOf(trends.hrv), 1)) + setText('dhdDistance', fmtNum(data.cards.total_distance_km, 1)) + setText('dhdWeight', fmtNum(data.latest.weight_kg, 1)) + setText('dhdWeightUnit', data.latest.weight_unit || 'kg') + setText('dhdAvgSleep', fmtNum(data.cards.avg_sleep_7d_h, 2)) +} + +const renderHddCharts = async (data) => { + const trends = getTrendData(data) + const { days, labels, hr, resp, workout, distance, sleepRem, sleepCore, sleepDeep, sleepAwake } = trends + destroyCharts() + const hasChart = await ensureChart() + if (hasChart) { + const vCtx = el('chartHddVitals').getContext('2d') + state.charts.hddVitals = new Chart(vCtx, { + type: 'line', + data: { + labels, + datasets: [ + { label: '心率', data: hr, borderColor: '#38bdf8', backgroundColor: 'rgba(56,189,248,0.2)', tension: 0.35, pointRadius: 2 }, + { label: '呼吸率', data: resp, borderColor: '#f472b6', backgroundColor: 'rgba(244,114,182,0.2)', tension: 0.35, pointRadius: 2 } + ] + }, + options: { responsive: true, interaction: { mode: 'index', intersect: false }, plugins: { legend: { position: 'bottom' } }, scales: { x: { ticks: { maxTicksLimit: 6 } } } } + }) + const aCtx = el('chartHddActivity').getContext('2d') + state.charts.hddActivity = new Chart(aCtx, { + type: 'bar', + data: { labels, datasets: [{ label: '分钟', data: workout, backgroundColor: '#fb7185' }] }, + options: { responsive: true, plugins: { legend: { display: false } }, scales: { x: { ticks: { maxTicksLimit: 6 } } } } + }) + const sCtx = el('chartHddSleepStages').getContext('2d') + state.charts.hddSleepStages = new Chart(sCtx, { + type: 'bar', + data: { + labels, + datasets: [ + { label: 'REM', data: sleepRem, backgroundColor: '#60a5fa', stack: 'stack0' }, + { label: '核心', data: sleepCore, backgroundColor: '#34d399', stack: 'stack0' }, + { label: '深睡', data: sleepDeep, backgroundColor: '#818cf8', stack: 'stack0' }, + { label: '清醒', data: sleepAwake, backgroundColor: '#fb923c', stack: 'stack0' } + ] + }, + options: { responsive: true, plugins: { legend: { position: 'bottom' } }, scales: { x: { ticks: { maxTicksLimit: 6 }, stacked: true }, y: { stacked: true, title: { display: true, text: '小时' } } } } + }) + const dCtx = el('chartHddDistance').getContext('2d') + state.charts.hddDistance = new Chart(dCtx, { + type: 'bar', + data: { labels, datasets: [{ label: '公里', data: distance, backgroundColor: '#60a5fa' }] }, + options: { responsive: true, plugins: { legend: { display: false } }, scales: { x: { ticks: { maxTicksLimit: 6 } } } } + }) + } else { + drawSimpleLine(el('chartHddVitals'), labels, [hr, resp], ['#38bdf8', '#f472b6']) + drawSimpleBars(el('chartHddActivity'), labels, workout) + drawSimpleBars(el('chartHddDistance'), labels, distance) + } + setText('chartHddVitalsMeta', `${days}天心率与呼吸率`) + setText('chartHddActivityMeta', `${days}天运动分钟`) + setText('chartHddSleepStagesMeta', `${days}天睡眠分期`) + setText('chartHddDistanceMeta', `${days}天步行距离`) +} + +const renderAhaCharts = async (data) => { + const trends = getTrendData(data) + const { days, labels, weight, workout, hrv, restingHr, walkingHr, sleepRem, sleepCore, sleepDeep, sleepAwake } = trends + destroyCharts() + const hasChart = await ensureChart() + if (hasChart) { + const hCtx = el('chartAhaHeart').getContext('2d') + state.charts.ahaHeart = new Chart(hCtx, { + type: 'line', + data: { + labels, + datasets: [ + { label: '静息心率', data: restingHr, borderColor: '#f43f5e', backgroundColor: 'rgba(244,63,94,0.2)', tension: 0.35, pointRadius: 2, yAxisID: 'y' }, + { label: '步行心率', data: walkingHr, borderColor: '#ec4899', backgroundColor: 'rgba(236,72,153,0.2)', tension: 0.35, pointRadius: 2, yAxisID: 'y' }, + { label: 'HRV', data: hrv, borderColor: '#a855f7', backgroundColor: 'rgba(168,85,247,0.2)', tension: 0.35, pointRadius: 2, yAxisID: 'y1' } + ] + }, + options: { + responsive: true, + interaction: { mode: 'index', intersect: false }, + plugins: { legend: { position: 'bottom' } }, + scales: { + x: { ticks: { maxTicksLimit: 6 } }, + y: { type: 'linear', display: true, position: 'left', title: { display: true, text: 'bpm' } }, + y1: { type: 'linear', display: true, position: 'right', title: { display: true, text: 'ms' }, grid: { drawOnChartArea: false } } + } + } + }) + const sCtx = el('chartAhaSleepStages').getContext('2d') + state.charts.ahaSleepStages = new Chart(sCtx, { + type: 'bar', + data: { + labels, + datasets: [ + { label: 'REM', data: sleepRem, backgroundColor: '#60a5fa', stack: 'stack0' }, + { label: '核心', data: sleepCore, backgroundColor: '#34d399', stack: 'stack0' }, + { label: '深睡', data: sleepDeep, backgroundColor: '#818cf8', stack: 'stack0' }, + { label: '清醒', data: sleepAwake, backgroundColor: '#fb923c', stack: 'stack0' } + ] + }, + options: { responsive: true, plugins: { legend: { position: 'bottom' } }, scales: { x: { ticks: { maxTicksLimit: 6 }, stacked: true }, y: { stacked: true, title: { display: true, text: '小时' } } } } + }) + const wCtx = el('chartAhaWeight').getContext('2d') + state.charts.ahaWeight = new Chart(wCtx, { + type: 'line', + data: { labels, datasets: [{ label: '体重', data: weight, borderColor: '#a78bfa', backgroundColor: 'rgba(167,139,250,0.2)', tension: 0.35, pointRadius: 2 }] }, + options: { responsive: true, plugins: { legend: { display: false } }, scales: { x: { ticks: { maxTicksLimit: 6 } } } } + }) + const aCtx = el('chartAhaWorkout').getContext('2d') + state.charts.ahaWorkout = new Chart(aCtx, { + type: 'bar', + data: { labels, datasets: [{ label: '分钟', data: workout, backgroundColor: '#fb7185' }] }, + options: { responsive: true, plugins: { legend: { display: false } }, scales: { x: { ticks: { maxTicksLimit: 6 } } } } + }) + } else { + drawSimpleLine(el('chartAhaHeart'), labels, [restingHr, walkingHr], ['#f43f5e', '#ec4899']) + drawSimpleLine(el('chartAhaWeight'), labels, [weight], ['#a78bfa']) + drawSimpleBars(el('chartAhaWorkout'), labels, workout) + } + setText('chartAhaHeartMeta', `${days}天心脏恢复趋势`) + setText('chartAhaSleepStagesMeta', `${days}天睡眠结构`) + setText('chartAhaWeightMeta', `${days}天体重变化`) + setText('chartAhaWorkoutMeta', `${days}天运动分钟`) +} + +const renderGrafanaCharts = async (data) => { + const trends = getTrendData(data) + const { days, labels, workout, distance, sleepRem, sleepCore, sleepDeep, sleepAwake, restingHr, walkingHr, hrv } = trends + const routes = (data.deep && data.deep.routes) ? data.deep.routes : [] + const { typeLabels, typeValues } = getTypeSummary(data) + const sleepTotals = [sumOf(sleepRem), sumOf(sleepCore), sumOf(sleepDeep), sumOf(sleepAwake)] + const sleepLabels = ['REM', '核心', '深睡', '清醒'] + const routePoints = routes.map(r => ({ + x: Number(r.distance_km || 0), + y: Number(r.duration_min || 0) + })).filter(p => Number.isFinite(p.x) && Number.isFinite(p.y)) + destroyCharts() + const hasChart = await ensureChart() + if (hasChart) { + const aCtx = el('chartGrafanaActivity').getContext('2d') + state.charts.grafanaActivity = new Chart(aCtx, { + type: 'bar', + data: { + labels, + datasets: [ + { type: 'bar', label: '运动分钟', data: workout, backgroundColor: '#fb7185', yAxisID: 'y' }, + { type: 'line', label: '步行距离', data: distance, borderColor: '#60a5fa', backgroundColor: 'rgba(96,165,250,0.2)', tension: 0.35, pointRadius: 2, yAxisID: 'y1' } + ] + }, + options: { + responsive: true, + interaction: { mode: 'index', intersect: false }, + plugins: { legend: { position: 'bottom' } }, + scales: { + x: { ticks: { maxTicksLimit: 6 } }, + y: { title: { display: true, text: '分钟' } }, + y1: { position: 'right', title: { display: true, text: 'km' }, grid: { drawOnChartArea: false } } + } + } + }) + const sCtx = el('chartGrafanaSleepStages').getContext('2d') + state.charts.grafanaSleep = new Chart(sCtx, { + type: 'bar', + data: { + labels, + datasets: [ + { label: 'REM', data: sleepRem, backgroundColor: '#60a5fa', stack: 'stack0' }, + { label: '核心', data: sleepCore, backgroundColor: '#34d399', stack: 'stack0' }, + { label: '深睡', data: sleepDeep, backgroundColor: '#818cf8', stack: 'stack0' }, + { label: '清醒', data: sleepAwake, backgroundColor: '#fb923c', stack: 'stack0' } + ] + }, + options: { responsive: true, plugins: { legend: { position: 'bottom' } }, scales: { x: { ticks: { maxTicksLimit: 6 }, stacked: true }, y: { stacked: true, title: { display: true, text: '小时' } } } } + }) + const hCtx = el('chartGrafanaHeart').getContext('2d') + state.charts.grafanaHeart = new Chart(hCtx, { + type: 'line', + data: { + labels, + datasets: [ + { label: '静息心率', data: restingHr, borderColor: '#f43f5e', backgroundColor: 'rgba(244,63,94,0.2)', tension: 0.35, pointRadius: 2, yAxisID: 'y' }, + { label: '步行心率', data: walkingHr, borderColor: '#ec4899', backgroundColor: 'rgba(236,72,153,0.2)', tension: 0.35, pointRadius: 2, yAxisID: 'y' }, + { label: 'HRV', data: hrv, borderColor: '#a855f7', backgroundColor: 'rgba(168,85,247,0.2)', tension: 0.35, pointRadius: 2, yAxisID: 'y1' } + ] + }, + options: { + responsive: true, + interaction: { mode: 'index', intersect: false }, + plugins: { legend: { position: 'bottom' } }, + scales: { + x: { ticks: { maxTicksLimit: 6 } }, + y: { type: 'linear', position: 'left', title: { display: true, text: 'bpm' } }, + y1: { type: 'linear', position: 'right', title: { display: true, text: 'ms' }, grid: { drawOnChartArea: false } } + } + } + }) + const tCtx = el('chartGrafanaTypes').getContext('2d') + state.charts.grafanaTypes = new Chart(tCtx, { + type: 'doughnut', + data: { + labels: typeLabels.slice(0, 8), + datasets: [{ data: typeValues.slice(0, 8), backgroundColor: ['#38bdf8', '#f472b6', '#facc15', '#34d399', '#a78bfa', '#fb7185', '#f97316', '#22d3ee'] }] + }, + options: { responsive: true, plugins: { legend: { position: 'bottom' } } } + }) + const rCtx = el('chartGrafanaRouteMap').getContext('2d') + state.charts.grafanaRoutes = new Chart(rCtx, { + type: 'scatter', + data: { + datasets: [{ label: '路线', data: routePoints, backgroundColor: '#22d3ee' }] + }, + options: { + responsive: true, + plugins: { legend: { position: 'bottom' } }, + scales: { + x: { title: { display: true, text: '距离 km' } }, + y: { title: { display: true, text: '时长 min' } } + } + } + }) + const pCtx = el('chartGrafanaSleepPct').getContext('2d') + state.charts.grafanaSleepPct = new Chart(pCtx, { + type: 'doughnut', + data: { + labels: sleepLabels, + datasets: [{ data: sleepTotals, backgroundColor: ['#60a5fa', '#34d399', '#818cf8', '#fb923c'] }] + }, + options: { responsive: true, plugins: { legend: { position: 'bottom' } } } + }) + } else { + drawSimpleBars(el('chartGrafanaActivity'), labels, workout) + drawSimpleBars(el('chartGrafanaSleepStages'), labels, sleepRem) + drawSimpleLine(el('chartGrafanaHeart'), labels, [restingHr, walkingHr], ['#f43f5e', '#ec4899']) + drawSimplePie(el('chartGrafanaTypes'), typeValues.slice(0, 8), ['#38bdf8', '#f472b6', '#facc15', '#34d399', '#a78bfa', '#fb7185', '#f97316', '#22d3ee']) + drawSimpleScatter(el('chartGrafanaRouteMap'), routePoints, '#22d3ee') + drawSimplePie(el('chartGrafanaSleepPct'), sleepTotals, ['#60a5fa', '#34d399', '#818cf8', '#fb923c']) + } + setText('chartGrafanaActivityMeta', `${days}天活动趋势`) + setText('chartGrafanaSleepStagesMeta', `${days}天睡眠分期`) + setText('chartGrafanaHeartMeta', `${days}天心脏恢复`) + setText('chartGrafanaTypesMeta', '高频指标分布') + setText('chartGrafanaRouteMapMeta', routePoints.length ? '路线距离/时长分布' : '暂无路线数据') + setText('chartGrafanaSleepPctMeta', '睡眠分期占比') +} + +const renderDhdCharts = async (data) => { + const trends = getTrendData(data) + const { days, labels, hr, resp, restingHr, hrv, sleep, distance } = trends + destroyCharts() + const hasChart = await ensureChart() + if (hasChart) { + const vCtx = el('chartDhdVitals').getContext('2d') + state.charts.dhdVitals = new Chart(vCtx, { + type: 'line', + data: { + labels, + datasets: [ + { label: '心率', data: hr, borderColor: '#38bdf8', backgroundColor: 'rgba(56,189,248,0.2)', tension: 0.35, pointRadius: 2 }, + { label: '呼吸率', data: resp, borderColor: '#f472b6', backgroundColor: 'rgba(244,114,182,0.2)', tension: 0.35, pointRadius: 2 } + ] + }, + options: { responsive: true, plugins: { legend: { position: 'bottom' } }, scales: { x: { ticks: { maxTicksLimit: 6 } } } } + }) + const rCtx = el('chartDhdRecovery').getContext('2d') + state.charts.dhdRecovery = new Chart(rCtx, { + type: 'line', + data: { + labels, + datasets: [ + { label: '静息心率', data: restingHr, borderColor: '#f43f5e', backgroundColor: 'rgba(244,63,94,0.2)', tension: 0.35, pointRadius: 2, yAxisID: 'y' }, + { label: 'HRV', data: hrv, borderColor: '#a855f7', backgroundColor: 'rgba(168,85,247,0.2)', tension: 0.35, pointRadius: 2, yAxisID: 'y1' } + ] + }, + options: { + responsive: true, + interaction: { mode: 'index', intersect: false }, + plugins: { legend: { position: 'bottom' } }, + scales: { + x: { ticks: { maxTicksLimit: 6 } }, + y: { title: { display: true, text: 'bpm' } }, + y1: { position: 'right', title: { display: true, text: 'ms' }, grid: { drawOnChartArea: false } } + } + } + }) + const sCtx = el('chartDhdSleep').getContext('2d') + state.charts.dhdSleep = new Chart(sCtx, { + type: 'line', + data: { labels, datasets: [{ label: '睡眠时长', data: sleep, borderColor: '#60a5fa', backgroundColor: 'rgba(96,165,250,0.2)', tension: 0.35, pointRadius: 2 }] }, + options: { responsive: true, plugins: { legend: { position: 'bottom' } }, scales: { x: { ticks: { maxTicksLimit: 6 } } } } + }) + const dCtx = el('chartDhdDistance').getContext('2d') + state.charts.dhdDistance = new Chart(dCtx, { + type: 'bar', + data: { labels, datasets: [{ label: '公里', data: distance, backgroundColor: '#22d3ee' }] }, + options: { responsive: true, plugins: { legend: { display: false } }, scales: { x: { ticks: { maxTicksLimit: 6 } } } } + }) + } else { + drawSimpleLine(el('chartDhdVitals'), labels, [hr, resp], ['#38bdf8', '#f472b6']) + drawSimpleLine(el('chartDhdRecovery'), labels, [restingHr, hrv], ['#f43f5e', '#a855f7']) + drawSimpleLine(el('chartDhdSleep'), labels, [sleep], ['#60a5fa']) + drawSimpleBars(el('chartDhdDistance'), labels, distance) + } + setText('chartDhdVitalsMeta', `${days}天心肺趋势`) + setText('chartDhdRecoveryMeta', `${days}天恢复指标`) + setText('chartDhdSleepMeta', `${days}天睡眠时长`) + setText('chartDhdDistanceMeta', `${days}天步行距离`) +} + +const renderActiveTab = async () => { + if (!state.lastData) return + if (state.activeTab === 'grafana') { + await renderGrafanaCharts(state.lastData) + return + } + if (state.activeTab === 'dhd') { + await renderDhdCharts(state.lastData) + return + } + if (state.activeTab === 'hdd') { + await renderHddCharts(state.lastData) + return + } + if (state.activeTab === 'aha') { + await renderAhaCharts(state.lastData) + return + } + await renderDefaultCharts(state.lastData) +} + +const setupTabs = () => { + const tabs = Array.from(document.querySelectorAll('.tab-btn')) + const pages = Array.from(document.querySelectorAll('.tab-page')) + if (!tabs.length || !pages.length) return + const activate = (key) => { + tabs.forEach(btn => btn.classList.toggle('active', btn.dataset.tab === key)) + pages.forEach(page => page.classList.toggle('active', page.dataset.tabPage === key)) + state.activeTab = key + renderActiveTab() + } + tabs.forEach(btn => btn.addEventListener('click', () => activate(btn.dataset.tab))) + const initialKey = tabs.find(btn => btn.classList.contains('active'))?.dataset.tab || tabs[0].dataset.tab + activate(initialKey) +} + +const loadDashboard = async () => { + const overlay = el('loadingOverlay') + if (overlay) overlay.classList.add('visible') + + try { + const days = Number(el('daysRange').value || 90) + const res = await fetch(`/api/apple_watch/dashboard?days=${days}`) + const json = await res.json() + if (!json.ok) throw new Error(json.error || 'load_failed') + state.lastData = json.data + updateSummary(json.data) + renderHddSummary(json.data) + renderAhaSummary(json.data) + renderGrafanaSummary(json.data) + renderDhdSummary(json.data) + renderTypeList(json.data) + renderTrendList(json.data) + renderTypeList(json.data, 'hddTypeList') + renderTrendList(json.data, 'hddTrendList') + renderTypeList(json.data, 'grafanaTypeList') + renderTrendList(json.data, 'grafanaTrendList') + renderTypeList(json.data, 'dhdTypeList') + renderAnomalies(json.data) + renderDeep(json.data) + renderAnomalies(json.data, 'ahaAnomalyList') + renderDeep(json.data, 'ahaDeepList') + renderAnomalies(json.data, 'dhdAnomalyList') + await renderActiveTab() + } catch (e) { + console.error(e) + alert('加载失败: ' + e.message) + } finally { + if (overlay) overlay.classList.remove('visible') + } +} + +const runImport = async () => { + const res = await fetch('/api/apple_watch/import', { method: 'POST' }) + const json = await res.json() + if (!json.ok) throw new Error(json.error || 'import_failed') +} + +const init = async () => { + const refresh = async () => { + setText('statLastImport', '加载中') + await loadDashboard() + } + setupTabs() + el('btnRefresh').addEventListener('click', refresh) + el('daysRange').addEventListener('change', refresh) + el('btnImport').addEventListener('click', async () => { + setText('statLastImport', '同步中') + try { + await runImport() + await loadDashboard() + } catch { + setText('statLastImport', '同步失败') + } + }) + await refresh() +} + +init() diff --git a/public/tools/apple_watch/apple_watch.db b/public/tools/apple_watch/apple_watch.db new file mode 100644 index 0000000..e69de29 diff --git a/public/tools/apple_watch/auth_config.json b/public/tools/apple_watch/auth_config.json new file mode 100644 index 0000000..7a469ac --- /dev/null +++ b/public/tools/apple_watch/auth_config.json @@ -0,0 +1,5 @@ +{ + "enable_auth": true, + "max_age_days": 30, + "cookieName": "apple_watch_gate" +} diff --git a/public/tools/apple_watch/index.html b/public/tools/apple_watch/index.html new file mode 100644 index 0000000..4206dce --- /dev/null +++ b/public/tools/apple_watch/index.html @@ -0,0 +1,565 @@ + + + + + + Apple Watch 数据洞察 + + + + +
+
+
正在处理数据...
+
+
+
+
+
Apple Watch 数据洞察
+
Apple Health 导出数据 · 近况与趋势
+
+
+ + + +
+
+ +
+ + + + + +
+ +
+
+
+
记录总量
+
0
+
-
+
+
+
数据类型
+
0
+
-
+
+
+
运动路线
+
0
+
GPS 轨迹
+
+
+
ECG 记录
+
0
+
心电采样
+
+
+ +
+
+
近7日平均心率
+
0
+
bpm
+
+
+
近7日平均呼吸率
+
0
+
次/分钟
+
+
+
累计步行距离
+
0
+
公里
+
+
+
最近体重
+
-
+
kg
+
+
+
最近身高
+
-
+
cm
+
+
+
近7日平均睡眠
+
-
+
小时
+
+
+
近7日站立小时
+
-
+
小时
+
+
+
近7日运动分钟
+
-
+
分钟
+
+
+ +
+
+
心率与呼吸率趋势
+ +
+
+
+
体重趋势
+ +
+
+
+ +
+
+
步行距离
+ +
+
+
+
高频数据类型
+ +
+
+
+ +
+
+
睡眠与站立
+ +
+
+
+
运动分钟趋势
+ +
+
+
+ +
+
+
睡眠分期
+ +
+
+
+
心脏健康
+ +
+
+
+ +
+
+
类型榜单
+
+
+
+
趋势概览
+
+
+
+ +
+
+
异常提醒
+
+
+
+
深度数据
+
+
+
+
+ +
+
+
+
近7日平均心率
+
-
+
bpm
+
+
+
近7日平均呼吸率
+
-
+
次/分钟
+
+
+
近7日平均睡眠
+
-
+
小时
+
+
+
近7日站立小时
+
-
+
小时
+
+
+
近7日运动分钟
+
-
+
分钟
+
+
+
近周期步行距离
+
-
+
公里
+
+
+
近周期静息心率
+
-
+
bpm
+
+
+
近周期 HRV
+
-
+
ms
+
+
+ +
+
+
心肺趋势
+ +
+
+
+
活动趋势
+ +
+
+
+ +
+
+
睡眠分期
+ +
+
+
+
步行距离
+ +
+
+
+ +
+
+
类型榜单
+
+
+
+
趋势概览
+
+
+
+
+ +
+
+
+
近周期静息心率
+
-
+
bpm
+
+
+
近周期步行心率
+
-
+
bpm
+
+
+
近周期 HRV
+
-
+
ms
+
+
+
REM 占比
+
-
+
%
+
+
+
深睡占比
+
-
+
%
+
+
+
体重变化
+
-
+
kg
+
+
+
运动分钟总量
+
-
+
分钟
+
+
+
异常心率次数
+
-
+
次
+
+
+ +
+
+
心脏恢复趋势
+ +
+
+
+
睡眠结构
+ +
+
+
+ +
+
+
体重趋势
+ +
+
+
+
运动分钟
+ +
+
+
+ +
+
+
异常提醒
+
+
+
+
深度数据
+
+
+
+
+ +
+
+
+
近7日平均心率
+
-
+
bpm
+
+
+
近7日平均呼吸率
+
-
+
次/分钟
+
+
+
近7日平均睡眠
+
-
+
小时
+
+
+
近7日运动分钟
+
-
+
分钟
+
+
+
近7日站立小时
+
-
+
小时
+
+
+
近周期步行距离
+
-
+
公里
+
+
+
运动路线
+
-
+
GPS 轨迹
+
+
+
ECG 记录
+
-
+
心电采样
+
+
+ +
+
+
整体活动
+ +
+
+
+
睡眠分期
+ +
+
+
+ +
+
+
心脏恢复
+ +
+
+
+
指标分布
+ +
+
+
+ +
+
+
路线地图
+ +
+
+
+
睡眠占比
+ +
+
+
+ +
+
+
类型榜单
+
+
+
+
趋势概览
+
+
+
+
+ +
+
+
+
近7日平均心率
+
-
+
bpm
+
+
+
近7日平均呼吸率
+
-
+
次/分钟
+
+
+
近周期静息心率
+
-
+
bpm
+
+
+
近周期步行心率
+
-
+
bpm
+
+
+
近周期 HRV
+
-
+
ms
+
+
+
累计步行距离
+
-
+
公里
+
+
+
最近体重
+
-
+
kg
+
+
+
近7日平均睡眠
+
-
+
小时
+
+
+ +
+
+
心肺趋势
+ +
+
+
+
恢复趋势
+ +
+
+
+ +
+
+
睡眠时长
+ +
+
+
+
步行距离
+ +
+
+
+ +
+
+
类型榜单
+
+
+
+
异常提醒
+
+
+
+
+
+ + + diff --git a/public/tools/apple_watch/style.css b/public/tools/apple_watch/style.css new file mode 100644 index 0000000..001b0bd --- /dev/null +++ b/public/tools/apple_watch/style.css @@ -0,0 +1,219 @@ +* { + box-sizing: border-box; +} + +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft Yahei", sans-serif; + background: #0f172a; + color: #e2e8f0; +} + +.page { + max-width: 1200px; + margin: 0 auto; + padding: 28px 24px 60px; +} + +.header { + display: flex; + justify-content: space-between; + align-items: center; + gap: 16px; + flex-wrap: wrap; + margin-bottom: 24px; +} + +.title-main { + font-size: 26px; + font-weight: 600; +} + +.title-sub { + color: #94a3b8; + margin-top: 6px; +} + +.actions { + display: flex; + gap: 12px; + align-items: center; +} + +.tabs-bar { + display: flex; + gap: 12px; + flex-wrap: wrap; + margin-bottom: 20px; +} + +.tab-btn { + border-radius: 999px; + border: 1px solid #1e293b; + padding: 8px 16px; + font-size: 14px; + background: #0b1220; + color: #e2e8f0; + cursor: pointer; +} + +.tab-btn.active { + background: #2563eb; + border-color: #2563eb; + color: #ffffff; +} + +.tab-page { + display: none; +} + +.tab-page.active { + display: block; +} + +select, button { + border-radius: 8px; + border: 1px solid #1e293b; + padding: 8px 12px; + font-size: 14px; + background: #111827; + color: #e2e8f0; +} + +button { + cursor: pointer; +} + +button.primary { + background: #2563eb; + border-color: #2563eb; +} + +button.ghost { + background: transparent; + border-color: #334155; +} + +.cards { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); + gap: 16px; + margin-bottom: 20px; +} + +.card { + padding: 16px; + background: #111827; + border: 1px solid #1f2937; + border-radius: 14px; +} + +.card.accent { + background: linear-gradient(135deg, rgba(37, 99, 235, 0.2), rgba(15, 118, 110, 0.2)); + border-color: rgba(37, 99, 235, 0.5); +} + +.card-label { + font-size: 13px; + color: #94a3b8; +} + +.card-value { + font-size: 26px; + font-weight: 600; + margin-top: 8px; +} + +.card-meta { + margin-top: 6px; + font-size: 12px; + color: #64748b; +} + +.grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); + gap: 18px; + margin-bottom: 18px; +} + +.panel { + background: #0b1220; + border-radius: 14px; + border: 1px solid #1f2937; + padding: 16px; + min-height: 260px; + display: flex; + flex-direction: column; +} + +.panel-title { + font-size: 15px; + margin-bottom: 12px; +} + +canvas { + width: 100%; + height: 220px; +} + +.panel-foot { + margin-top: auto; + font-size: 12px; + color: #94a3b8; + padding-top: 8px; +} + +.list { + display: grid; + gap: 10px; +} + +.list-item { + background: rgba(148, 163, 184, 0.08); + border-radius: 10px; + padding: 10px 12px; + font-size: 13px; + display: flex; + justify-content: space-between; + gap: 12px; + align-items: center; +} + +.list-row { + display: flex; + flex-direction: column; + gap: 4px; +} + +.list-title { + font-size: 13px; +} + +.list-meta { + font-size: 12px; + color: #94a3b8; +} + +.tag { + font-size: 12px; + color: #38bdf8; +} + +.muted { + color: #64748b; +} + +@media (max-width: 768px) { + .page { + padding: 20px 16px 40px; + } + .actions { + width: 100%; + justify-content: flex-start; + flex-wrap: wrap; + } + .tabs-bar { + gap: 8px; + } +} diff --git a/public/tools/box_disaster_sentinel/auth_config.json b/public/tools/box_disaster_sentinel/auth_config.json new file mode 100644 index 0000000..b29988c --- /dev/null +++ b/public/tools/box_disaster_sentinel/auth_config.json @@ -0,0 +1,9 @@ +{ + "_comment": "BOX容灾哨兵工具前端鉴权配置", + "enable_auth_comment": "true:启用鉴权;false:完全放开访问", + "enable_auth": true, + "cookieName_comment": "鉴权 cookie 名称", + "cookieName": "box_disaster_sentinel_gate", + "max_age_days_comment": "鉴权 cookie 的最大有效天数(1~365)", + "max_age_days": 30 +} diff --git a/public/tools/box_disaster_sentinel/box_disaster_sentinel.css b/public/tools/box_disaster_sentinel/box_disaster_sentinel.css new file mode 100644 index 0000000..c8b8786 --- /dev/null +++ b/public/tools/box_disaster_sentinel/box_disaster_sentinel.css @@ -0,0 +1,334 @@ +* { + box-sizing: border-box; +} + +body { + margin: 0; + font-family: "Microsoft YaHei", Arial, sans-serif; + background: #f3f6fb; + color: #1f2937; +} + +.page { + max-width: 1600px; + margin: 0 auto; + padding: 20px; +} + +.hero { + display: flex; + justify-content: space-between; + align-items: center; + gap: 16px; + margin-bottom: 16px; +} + +.hero h1 { + margin: 0 0 6px; + font-size: 28px; +} + +.hero p { + margin: 0; + color: #64748b; +} + +.grid { + display: grid; + grid-template-columns: 1fr; + gap: 16px; +} + +.card { + background: #fff; + border: 1px solid #dbe4f0; + border-radius: 14px; + padding: 16px; + box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04); +} + +.card-head { + display: flex; + justify-content: space-between; + align-items: center; + gap: 12px; + margin-bottom: 14px; +} + +.card-head h2 { + margin: 0; + font-size: 18px; +} + +.section-subtitle { + margin: 0 0 8px; + font-size: 14px; + color: #475569; + font-weight: 600; +} + +.overview-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); + gap: 12px; +} + +.mini-card { + border: 1px solid #e5edf6; + border-radius: 12px; + padding: 14px; + background: #f8fbff; +} + +.mini-title { + font-size: 13px; + color: #64748b; + margin-bottom: 10px; +} + +.status-text { + font-size: 18px; + font-weight: 700; + margin-bottom: 8px; +} + +.muted { + color: #64748b; + font-size: 13px; +} + +.meta-row { + display: flex; + flex-wrap: wrap; + gap: 10px; + align-items: center; + margin-top: 12px; +} + +.pill { + display: inline-flex; + align-items: center; + padding: 4px 10px; + border-radius: 999px; + background: #e0ecff; + color: #1d4ed8; + font-size: 12px; +} + +.inline-actions { + display: flex; + gap: 8px; + align-items: center; +} + +.inline-actions.wrap { + flex-wrap: wrap; +} + +.btn { + border: 1px solid #c9d7eb; + background: #fff; + color: #1f2937; + border-radius: 10px; + padding: 8px 14px; + cursor: pointer; + font-size: 14px; +} + +.btn:hover { + background: #f8fafc; +} + +.btn-primary { + background: #2563eb; + border-color: #2563eb; + color: #fff; +} + +.btn-primary:hover { + background: #1d4ed8; +} + +.btn:disabled { + opacity: 0.55; + cursor: not-allowed; +} + +.input, +.textarea { + width: 100%; + border: 1px solid #cdd8e6; + border-radius: 10px; + padding: 10px 12px; + font-size: 14px; + background: #fff; +} + +.textarea { + min-height: 140px; + resize: vertical; +} + +.progress-block { + margin-top: 14px; + border: 1px solid #e5edf6; + border-radius: 12px; + padding: 14px; + background: #f8fbff; +} + +.progress-head { + display: flex; + justify-content: space-between; + gap: 12px; + margin-bottom: 8px; + font-weight: 600; +} + +.progress-bar { + width: 100%; + height: 12px; + border-radius: 999px; + background: #dbe7f7; + overflow: hidden; +} + +.progress-inner { + width: 0%; + height: 100%; + background: linear-gradient(90deg, #2563eb, #38bdf8); + transition: width 0.25s ease; +} + +.summary-box { + margin: 14px 0 0; + background: #0f172a; + color: #dbeafe; + padding: 12px; + border-radius: 12px; + min-height: 110px; + overflow: auto; +} + +.table-wrap { + overflow: auto; + border: 1px solid #e5edf6; + border-radius: 12px; +} + +.catalog-wrap { + max-height: 360px; +} + +.alerts-wrap { + max-height: 220px; + margin-bottom: 12px; +} + +.logs-wrap { + max-height: 340px; +} + +table { + width: 100%; + border-collapse: collapse; + font-size: 13px; +} + +th, +td { + padding: 10px 12px; + border-bottom: 1px solid #edf2f7; + text-align: left; + vertical-align: top; +} + +th { + position: sticky; + top: 0; + background: #f8fbff; + z-index: 1; +} + +.form-grid, +.textarea-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); + gap: 12px; +} + +.textarea-grid { + margin-top: 12px; + grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); +} + +.field { + display: flex; + flex-direction: column; + gap: 6px; + font-size: 13px; + color: #475569; +} + +.field-inline { + min-width: 140px; +} + +.catalog-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(420px, 1fr)); + gap: 12px; +} + +.key-text { + font-family: Consolas, "Courier New", monospace; + font-size: 12px; + word-break: break-all; + white-space: pre-wrap; +} + +.btn-link { + color: #2563eb; + text-decoration: none; + font-size: 13px; + font-weight: 600; +} + +.btn-link:hover { + text-decoration: underline; +} + +.action-sep { + margin: 0 6px; + color: #94a3b8; +} + +.notice { + margin-bottom: 12px; + padding: 10px 12px; + border-radius: 10px; + background: #ecfdf5; + color: #166534; + border: 1px solid #bbf7d0; +} + +.notice-err { + background: #fef2f2; + color: #b91c1c; + border-color: #fecaca; +} + +.checkbox { + display: inline-flex; + align-items: center; + gap: 6px; + font-size: 13px; + color: #475569; +} + +@media (max-width: 900px) { + .hero { + flex-direction: column; + align-items: flex-start; + } +} diff --git a/public/tools/box_disaster_sentinel/box_disaster_sentinel.js b/public/tools/box_disaster_sentinel/box_disaster_sentinel.js new file mode 100644 index 0000000..3345250 --- /dev/null +++ b/public/tools/box_disaster_sentinel/box_disaster_sentinel.js @@ -0,0 +1,413 @@ +(() => { + const el = id => document.getElementById(id) + let currentConfig = null + let pollTimer = null + + const esc = s => String(s == null ? '' : s) + .replace(/&/g, '&') + .replace(//g, '>') + .replace(/"/g, '"') + + const setNotice = (text, isError) => { + const box = el('save-notice') + if (!box) return + if (!text) { + box.style.display = 'none' + box.textContent = '' + box.className = 'notice' + return + } + box.style.display = '' + box.textContent = text + box.className = isError ? 'notice notice-err' : 'notice' + } + + const setAuthWarning = text => { + const box = el('auth-warning') + if (!box) return + if (!text) { + box.style.display = 'none' + box.textContent = '' + return + } + box.style.display = '' + box.textContent = text + } + + const getJson = async url => { + const resp = await fetch(`${url}${url.includes('?') ? '&' : '?'}_ts=${Date.now()}`, { + cache: 'no-store', + credentials: 'same-origin' + }) + const data = await resp.json().catch(() => null) + if (resp.status === 401) throw new Error('UNAUTHORIZED') + if (!resp.ok || !data || data.ok === false) throw new Error((data && data.error) || `请求失败: ${resp.status}`) + return data + } + + const postJson = async (url, body) => { + const resp = await fetch(url, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + cache: 'no-store', + credentials: 'same-origin', + body: JSON.stringify(body || {}) + }) + const data = await resp.json().catch(() => null) + if (resp.status === 401) throw new Error('UNAUTHORIZED') + if (!resp.ok || !data || data.ok === false) throw new Error((data && data.error) || `请求失败: ${resp.status}`) + return data + } + + const formatStatus = status => { + const map = { + success: '成功', + partial_success: '部分成功', + failed: '失败', + running: '运行中', + idle: '空闲' + } + return map[String(status || '')] || (status || '-') + } + + const formatSize = bytes => { + const n = Number(bytes || 0) + if (!Number.isFinite(n) || n <= 0) return '0 B' + const units = ['B', 'KB', 'MB', 'GB', 'TB'] + let value = n + let idx = 0 + while (value >= 1024 && idx < units.length - 1) { + value /= 1024 + idx += 1 + } + return `${value >= 100 || idx === 0 ? value.toFixed(0) : value.toFixed(1)} ${units[idx]}` + } + + const fillLines = (id, values) => { + const node = el(id) + if (!node) return + node.value = Array.isArray(values) ? values.join('\n') : '' + } + + const readLines = id => { + const node = el(id) + return String((node && node.value) || '') + .split(/\r?\n/) + .map(s => s.trim()) + .filter(Boolean) + } + + const renderOverview = data => { + const high = data.highfreq || {} + const low = data.lowfreq || {} + const current = data.current_run || {} + const manual = data.manual_baidu_backup || {} + const scheduler = data.scheduler || {} + const verify = data.verify || {} + const restore = data.restore || {} + + el('highfreq-status').textContent = formatStatus(high.last_status || '-') + el('highfreq-last').textContent = `上次:${high.last_run_at || '-'}` + el('highfreq-next').textContent = `下次:${scheduler.next_highfreq_at || '-'}` + + el('lowfreq-status').textContent = formatStatus(low.last_status || '-') + el('lowfreq-last').textContent = `上次:${low.last_run_at || '-'}` + el('lowfreq-next').textContent = `下次:${scheduler.next_lowfreq_at || '-'}` + + el('current-run-status').textContent = formatStatus(current.status || 'idle') + el('current-run-stage').textContent = `阶段:${current.stage || '-'}` + el('current-run-message').textContent = `消息:${current.message || '-'}` + + el('manual-last').textContent = manual.last_recorded_at || '-' + el('oss-ready').textContent = data.oss_ready ? 'OSS状态:已就绪' : 'OSS状态:未就绪' + el('verify-last').textContent = `最近抽检:${verify.last_run_at ? `${formatStatus(verify.last_status || '-')} / ${verify.last_run_at}` : '-'}` + el('restore-last').textContent = `最近演练:${restore.last_run_at ? `${formatStatus(restore.last_status || '-')} / ${restore.last_run_at}` : '-'}` + el('credential-file').textContent = `凭证文件:${data.credential_file || '-'}` + } + + const renderCurrentRun = run => { + const current = run || {} + const percent = Math.max(0, Math.min(100, Number(current.percent || 0))) + el('progress-title').textContent = current.run_id ? `${formatStatus(current.status)} / ${current.mode || '-'}` : '当前无任务' + el('progress-percent').textContent = `${percent}%` + el('progress-inner').style.width = `${percent}%` + el('progress-detail').textContent = current.message || '等待任务启动' + const summary = current.stats && Object.keys(current.stats).length + ? JSON.stringify(current.stats, null, 2) + : '暂无结果' + el('run-summary').textContent = summary + + const running = current.status === 'running' + ;['btn-run-high', 'btn-run-low', 'btn-run-all', 'btn-run-verify', 'btn-run-restore', 'btn-manual-record', 'btn-config-save'].forEach(id => { + const node = el(id) + if (node) node.disabled = running + }) + } + + const renderAlerts = rows => { + const body = el('alerts-body') + if (!body) return + body.innerHTML = '' + const list = Array.isArray(rows) ? rows : [] + if (!list.length) { + body.innerHTML = '暂无告警' + return + } + body.innerHTML = list.map(item => ` + + ${esc(item.created_at || '')} + ${esc(item.severity || '')} + ${esc(item.title || '')} + ${esc(item.message || '')} + + `).join('') + } + + const renderLogs = rows => { + const body = el('logs-body') + if (!body) return + body.innerHTML = '' + const list = Array.isArray(rows) ? rows : [] + if (!list.length) { + body.innerHTML = '暂无日志' + return + } + body.innerHTML = list.map(item => ` + + ${esc(item.created_at || '')} + ${esc(item.mode || '')} + ${esc(item.event_type || '')} + ${esc(item.message || '')} + + `).join('') + } + + const renderCatalog = payload => { + const highBody = el('catalog-highfreq-body') + const lowBody = el('catalog-lowfreq-body') + if (!highBody || !lowBody) return + const highfreqRuns = Array.isArray(payload.highfreq_runs) ? payload.highfreq_runs : [] + const lowfreqObjects = Array.isArray(payload.lowfreq_objects) ? payload.lowfreq_objects : [] + + if (!highfreqRuns.length) { + highBody.innerHTML = '暂无高频批次' + } else { + highBody.innerHTML = highfreqRuns.map(item => { + const high = item.highfreq || {} + const key = esc(high.oss_key || '-') + const runGuid = esc(high.run_guid || '-') + const info = `${Number(high.file_count || 0)} 文件 / ${formatSize(high.zip_size_bytes || 0)}` + const time = esc(item.ended_at || item.started_at || '') + const status = esc(formatStatus(item.status || '')) + const href = `/api/box_backup/download/highfreq?id=${encodeURIComponent(item.id)}` + return ` + + ${time || '-'} + ${status} +
${runGuid}
+ ${esc(info)} +
${key}
+ 下载归档 + + ` + }).join('') + } + + if (!lowfreqObjects.length) { + lowBody.innerHTML = '暂无低频对象' + } else { + lowBody.innerHTML = lowfreqObjects.map(item => { + const meta = item.meta || {} + const encryption = item.encryption || {} + const storedName = esc(meta.stored_name || '-') + const key = esc(item.oss_key || '-') + const relPath = esc(item.relative_path || '-') + const time = esc(item.last_uploaded_at || item.deleted_at || '') + const statusTextBase = item.is_deleted ? `${formatStatus(item.upload_status || '')} / 已物理删除` : formatStatus(item.upload_status || '') + const statusText = encryption.encrypted ? `${statusTextBase} / ${encryption.label || '加密文件'}` : statusTextBase + const action = String(item.upload_status || '') === 'uploaded' + ? `${encryption.encrypted ? `解密下载|` : ''}${encryption.encrypted ? '原件下载' : '下载文件'}` + : `${esc(item.last_error || '-')}` + return ` + + ${time || '-'} + ${esc(statusText)} +
${relPath}
+
${storedName}
+
${key}
+ ${action} + + ` + }).join('') + } + } + + const renderConfig = payload => { + currentConfig = payload.config || {} + const cfg = currentConfig + const status = payload.credential_status || {} + el('cfg-high-cron').value = ((cfg.scheduler || {}).highfreq_cron) || '' + el('cfg-low-cron').value = ((cfg.scheduler || {}).lowfreq_cron) || '' + el('cfg-poll-seconds').value = ((cfg.scheduler || {}).poll_seconds) || 30 + el('cfg-oss-root-prefix').value = ((cfg.oss || {}).root_prefix) || status.root_prefix || '' + el('cfg-oss-root-prefix-key').value = ((cfg.oss || {}).root_prefix_key) || 'BOX_BACKUP_OSS_ROOT_PREFIX' + el('cfg-lowfreq-dir-name').value = ((cfg.oss || {}).lowfreq_dir_name) || status.lowfreq_dir_name || '' + el('cfg-oss-bucket').value = ((cfg.oss || {}).bucket) || '' + el('cfg-oss-endpoint').value = ((cfg.oss || {}).endpoint) || '' + el('cfg-credential-file').value = ((cfg.oss || {}).credential_file_name) || '' + el('cfg-ak-key').value = ((cfg.oss || {}).access_key_id_key) || '' + el('cfg-sk-key').value = ((cfg.oss || {}).access_key_secret_key) || '' + el('cfg-bucket-key').value = ((cfg.oss || {}).bucket_key) || '' + el('cfg-endpoint-key').value = ((cfg.oss || {}).endpoint_key) || '' + el('cfg-sample-size').value = ((cfg.verification || {}).lowfreq_sample_size) || 3 + el('cfg-restore-max-mb').value = ((cfg.verification || {}).restore_max_download_mb) || 2048 + fillLines('cfg-high-code-paths', (((cfg.paths || {}).highfreq || {}).code_paths) || []) + fillLines('cfg-high-root-files', (((cfg.paths || {}).highfreq || {}).root_files) || []) + fillLines('cfg-high-exts', (((cfg.paths || {}).highfreq || {}).tool_code_extensions) || []) + fillLines('cfg-low-paths', (((cfg.paths || {}).lowfreq || {}).include_paths) || []) + fillLines('cfg-high-excludes', (((cfg.paths || {}).highfreq || {}).exclude_dirs) || []) + fillLines('cfg-low-excludes', (((cfg.paths || {}).lowfreq || {}).exclude_dirs) || []) + } + + const collectConfig = () => { + const cfg = JSON.parse(JSON.stringify(currentConfig || {})) + cfg.scheduler = cfg.scheduler || {} + cfg.paths = cfg.paths || {} + cfg.paths.highfreq = cfg.paths.highfreq || {} + cfg.paths.lowfreq = cfg.paths.lowfreq || {} + cfg.oss = cfg.oss || {} + + cfg.scheduler.highfreq_cron = el('cfg-high-cron').value.trim() + cfg.scheduler.lowfreq_cron = el('cfg-low-cron').value.trim() + cfg.scheduler.poll_seconds = Number(el('cfg-poll-seconds').value || 30) + cfg.oss.root_prefix = el('cfg-oss-root-prefix').value.trim() + cfg.oss.root_prefix_key = el('cfg-oss-root-prefix-key').value.trim() + cfg.oss.lowfreq_dir_name = el('cfg-lowfreq-dir-name').value.trim() + cfg.oss.bucket = el('cfg-oss-bucket').value.trim() + cfg.oss.endpoint = el('cfg-oss-endpoint').value.trim() + cfg.oss.credential_file_name = el('cfg-credential-file').value.trim() + cfg.oss.access_key_id_key = el('cfg-ak-key').value.trim() + cfg.oss.access_key_secret_key = el('cfg-sk-key').value.trim() + cfg.oss.bucket_key = el('cfg-bucket-key').value.trim() + cfg.oss.endpoint_key = el('cfg-endpoint-key').value.trim() + cfg.verification = cfg.verification || {} + cfg.verification.lowfreq_sample_size = Number(el('cfg-sample-size').value || 3) + cfg.verification.restore_max_download_mb = Number(el('cfg-restore-max-mb').value || 2048) + cfg.paths.highfreq.code_paths = readLines('cfg-high-code-paths') + cfg.paths.highfreq.root_files = readLines('cfg-high-root-files') + cfg.paths.highfreq.tool_code_extensions = readLines('cfg-high-exts') + cfg.paths.lowfreq.include_paths = readLines('cfg-low-paths') + cfg.paths.highfreq.exclude_dirs = readLines('cfg-high-excludes') + cfg.paths.lowfreq.exclude_dirs = readLines('cfg-low-excludes') + return cfg + } + + const refreshOverview = async () => { + const [overview, currentRun, alerts] = await Promise.all([ + getJson('/api/box_backup/overview'), + getJson('/api/box_backup/current_run'), + getJson('/api/box_backup/alerts?limit=30') + ]) + renderOverview(overview) + renderCurrentRun(currentRun.run) + renderAlerts(alerts.rows || []) + } + + const refreshLogs = async () => { + const failuresOnly = !!(el('filter-failures') && el('filter-failures').checked) + const logs = await getJson(`/api/box_backup/events?limit=200${failuresOnly ? '&failures_only=1' : ''}`) + renderLogs(logs.rows || []) + } + + const refreshConfig = async () => { + const payload = await getJson('/api/box_backup/config') + renderConfig(payload) + } + + const refreshCatalog = async () => { + const status = el('catalog-status-filter') ? el('catalog-status-filter').value.trim() : '' + const payload = await getJson(`/api/box_backup/catalog?run_limit=20&object_limit=200${status ? `&status=${encodeURIComponent(status)}` : ''}`) + renderCatalog(payload) + } + + const refreshAll = async () => { + try { + setAuthWarning('') + await Promise.all([refreshOverview(), refreshLogs(), refreshConfig(), refreshCatalog()]) + } catch (error) { + if (String(error.message || error) === 'UNAUTHORIZED') { + setAuthWarning('未授权。请从带 token 的入口进入,或先完成导航鉴权。') + return + } + setNotice(String(error.message || error), true) + } + } + + const runMode = async mode => { + try { + setNotice('', false) + await postJson(`/api/box_backup/run/${mode}`, {}) + await Promise.all([refreshOverview(), refreshLogs(), refreshCatalog()]) + } catch (error) { + setNotice(String(error.message || error), true) + } + } + + const saveConfig = async () => { + try { + const cfg = collectConfig() + const payload = await postJson('/api/box_backup/config/save', { config: cfg }) + renderConfig(payload) + setNotice('配置已保存并热生效', false) + await Promise.all([refreshOverview(), refreshCatalog()]) + } catch (error) { + setNotice(String(error.message || error), true) + } + } + + const recordManual = async () => { + try { + await postJson('/api/box_backup/manual_baidu_backup', { + note: el('manual-note').value.trim() + }) + el('manual-note').value = '' + setNotice('已记录手工百度云盘备份时间', false) + await refreshOverview() + } catch (error) { + setNotice(String(error.message || error), true) + } + } + + const startPolling = () => { + if (pollTimer) clearInterval(pollTimer) + pollTimer = setInterval(async () => { + try { + await refreshOverview() + await refreshLogs() + await refreshCatalog() + } catch {} + }, 4000) + } + + const bind = () => { + el('btn-refresh').onclick = refreshAll + el('btn-run-high').onclick = () => runMode('high') + el('btn-run-low').onclick = () => runMode('low') + el('btn-run-all').onclick = () => runMode('all') + el('btn-run-verify').onclick = () => runMode('verify') + el('btn-run-restore').onclick = () => runMode('restore') + el('btn-config-reload').onclick = refreshConfig + el('btn-config-save').onclick = saveConfig + el('btn-manual-record').onclick = recordManual + el('filter-failures').onchange = refreshLogs + el('btn-catalog-refresh').onclick = refreshCatalog + el('catalog-status-filter').onchange = refreshCatalog + } + + document.addEventListener('DOMContentLoaded', async () => { + bind() + await refreshAll() + startPolling() + }) +})() diff --git a/public/tools/box_disaster_sentinel/index.html b/public/tools/box_disaster_sentinel/index.html new file mode 100644 index 0000000..93aa8c5 --- /dev/null +++ b/public/tools/box_disaster_sentinel/index.html @@ -0,0 +1,291 @@ + + + + + + BOX容灾哨兵 + + + +
+
+
+

BOX容灾哨兵

+

OSS 二线备份控制台:状态、操作、告警、配置一体化

+
+
+ +
+
+ + + + +
+
+
+

1. 状态总览

+
+
+
+
高频备份
+
-
+
上次:-
+
下次:-
+
+
+
低频备份
+
-
+
上次:-
+
下次:-
+
+
+
当前任务
+
空闲
+
阶段:-
+
消息:-
+
+
+
百度云盘手工备份
+
-
+
+ + +
+
+
+
+ OSS状态:- + 最近抽检:- + 最近演练:- + 凭证文件:- +
+
+ +
+
+

2. 备份操作

+
+
+ + + + + +
+
+
+ 当前无任务 + 0% +
+
+
+
+
等待任务启动
+
+
暂无结果
+
+ +
+
+

3. 告警 & 日志

+
+ +
+
+
+ + + + + + + + + + +
时间级别标题内容
+
+
+ + + + + + + + + + +
时间模式类型内容
+
+
+ +
+
+

4. 备份清单

+
+ + +
+
+
+
+
高频批次
+
+ + + + + + + + + + + + +
时间状态Run GUID内容OSS Key操作
+
+
+
+
低频对象
+
+ + + + + + + + + + + + +
时间状态原始路径存储名OSS Key操作
+
+
+
+
+ +
+
+

5. 配置管理

+
+ + +
+
+ +
+ + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+
+
+
+ + + + diff --git a/public/tools/calendar_reminder/auth_config.json b/public/tools/calendar_reminder/auth_config.json new file mode 100644 index 0000000..b670a05 --- /dev/null +++ b/public/tools/calendar_reminder/auth_config.json @@ -0,0 +1,7 @@ +{ + "_comment": "日程提醒工具的前端鉴权配置", + "enable_auth_comment": "true:启用鉴权(需要导航/登录获得 cookie);false:完全放开访问", + "enable_auth": true, + "max_age_days_comment": "鉴权 cookie 的最大有效天数(1~365),到期后需要重新登录", + "max_age_days": 30 +} diff --git a/public/tools/calendar_reminder/calendar.svg b/public/tools/calendar_reminder/calendar.svg new file mode 100644 index 0000000..d9cb859 --- /dev/null +++ b/public/tools/calendar_reminder/calendar.svg @@ -0,0 +1,3 @@ + + 📅 + \ No newline at end of file diff --git a/public/tools/calendar_reminder/css/bootstrap.local.css b/public/tools/calendar_reminder/css/bootstrap.local.css new file mode 100644 index 0000000..98b6e11 --- /dev/null +++ b/public/tools/calendar_reminder/css/bootstrap.local.css @@ -0,0 +1,52 @@ +*{box-sizing:border-box} +html{font-size:14px} +body{margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans','Liberation Sans',sans-serif;line-height:1.5;color:#212529;overflow-x:hidden} +.container{width:100%;max-width:1140px;margin:0 auto;padding-left:12px;padding-right:12px} +.container-fluid{width:100%;padding-left:12px;padding-right:12px} +.navbar{display:flex;align-items:center;padding:.5rem 0} +.navbar{flex-wrap:wrap} +.navbar .container-fluid{display:flex;align-items:center;justify-content:center;gap:.75rem} +.bg-primary{background-color:#0d6efd} +.bg-dark{background-color:#2b2b2b} +.navbar-dark{color:#fff} +.navbar-dark .navbar-brand{color:#fff} +.navbar .navbar-brand{font-size:1.25rem;font-weight:500} +.text-white{color:#fff} +.text-muted{color:#6c757d} +.small{font-size:.875em} +.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;background-color:#f8f9fa;border:1px solid rgba(0,0,0,.125);padding:.375rem .75rem;border-radius:.375rem;transition:background-color .15s ease} +.btn:disabled{opacity:.65} +.btn:hover{background-color:#e9ecef} +.btn-light{color:#212529;background-color:#f8f9fa;border-color:#ced4da} +.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d} +.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545} +.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd} +.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem} +.card{display:block;background-color:#fff;border:1px solid rgba(0,0,0,.125);border-radius:.5rem} +.card-header{padding:.5rem 1rem;border-bottom:1px solid rgba(0,0,0,.125);background-color:#f8f9fa;font-weight:500} +.card-body{padding:1rem} +.row{display:flex;flex-wrap:wrap} +.row.g-2{gap:.5rem} +.col-12{flex:0 0 auto;width:100%} +.col-6{flex:0 0 auto;width:50%} +@media (min-width:992px){.col-lg-8{flex:0 0 auto;width:66.6667%}.col-lg-4{flex:0 0 auto;width:33.3333%}} +.form-label{margin-bottom:.25rem;font-weight:500} +.form-control,.form-select{display:block;width:100%;padding:.5rem .75rem;font-size:1rem;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.375rem} +.form-control:focus,.form-select:focus{outline:none;border-color:#86b7fe;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)} +.form-control::-webkit-input-placeholder{color:#6c757d} +.form-control::-moz-placeholder{color:#6c757d} +input[type=datetime-local],input[type=time]{padding-right:2.25rem} +.card{box-shadow:0 8px 24px rgba(0,0,0,.08)} +.list-group{display:block;border-radius:.5rem;overflow:hidden} +.list-group .list-group-item{display:block;padding:.5rem 1rem;background-color:#fff;border-bottom:1px solid rgba(0,0,0,.125)} +.list-group-flush .list-group-item{border-left:0;border-right:0} +.hstack{display:flex;align-items:center} +.justify-content-between{justify-content:space-between} +.gap-2{gap:.5rem} +.mt-2{margin-top:.5rem} +.mb-2{margin-bottom:.5rem} +.mb-0{margin-bottom:0} +.py-3{padding-top:1rem;padding-bottom:1rem} +.d-flex{display:flex} +.align-items-center{align-items:center} +.d-none{display:none!important} \ No newline at end of file diff --git a/public/tools/calendar_reminder/css/styles.css b/public/tools/calendar_reminder/css/styles.css new file mode 100644 index 0000000..3cc76bb --- /dev/null +++ b/public/tools/calendar_reminder/css/styles.css @@ -0,0 +1,680 @@ +:root { + --primary-color: #e74c3c; + --primary-hover: #c0392b; + --secondary-color: #3498db; + --success-color: #27ae60; + --warning-color: #f39c12; + --danger-color: #e74c3c; + --light-bg: #f8f9fa; + --border-color: #e9ecef; + --text-primary: #2c3e50; + --text-secondary: #7f8c8d; + --text-muted: #95a5a6; + --shadow-sm: 0 1px 3px rgba(0,0,0,0.1); + --shadow-md: 0 4px 6px rgba(0,0,0,0.1); + --border-radius: 8px; + --grid-gap: 6px; +} + +* { + box-sizing: border-box; +} + +body { + background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%); + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif; + color: var(--text-primary); + line-height: 1.6; + min-height: 100vh; +} + +.navbar { + background: linear-gradient(135deg, var(--primary-color), var(--primary-hover)) !important; + box-shadow: var(--shadow-md); + padding: 0.8rem 1rem; +} + +.navbar-brand { + font-weight: 600; + font-size: 1.3rem; +} + +.btn-light { + background: rgba(255, 255, 255, 0.2); + border: 1px solid rgba(255, 255, 255, 0.3); + color: white; + font-weight: 500; +} + +.btn-light:hover { + background: rgba(255, 255, 255, 0.3); + border-color: rgba(255, 255, 255, 0.4); + color: white; +} + +.container { + max-width: 1400px; +} + +main { + padding-top: 1.5rem !important; + padding-bottom: 2rem !important; +} + +/* 日历网格样式 */ +.calendar-grid { + display: grid; + grid-template-columns: repeat(7, minmax(0, 1fr)); + gap: var(--grid-gap); + background: white; + border-radius: var(--border-radius); + padding: 1rem; + box-shadow: var(--shadow-sm); +} + +.calendar-weekday { + margin-bottom: 0.5rem; + display: grid; + grid-template-columns: repeat(7, minmax(0, 1fr)); + gap: var(--grid-gap); + background: white; + border-radius: var(--border-radius); + padding: 0.8rem 1rem; + box-shadow: var(--shadow-sm); +} + +.calendar-weekday > div { + text-align: center; + font-weight: 600; + color: var(--primary-color); + font-size: 0.95rem; + padding: 0.5rem 0; +} + +.calendar-weekday > div:first-child, +.calendar-weekday > div:last-child { + color: var(--danger-color); +} + +.calendar-cell { + background: white; + border: 2px solid var(--border-color); + border-radius: var(--border-radius); + min-height: auto; + height: auto; + padding: 0.8rem; + display: flex; + flex-direction: column; + transition: all 0.2s ease; + position: relative; +} + +.calendar-cell:hover { + border-color: var(--primary-color); + box-shadow: var(--shadow-md); + transform: translateY(-1px); +} + +.calendar-cell.is-today { + border-color: var(--primary-color); + background: linear-gradient(135deg, #fff8f8, #ffe6e6); +} + +.calendar-cell.is-today .cell-header span { + background: var(--primary-color); + color: white; +} + +.calendar-cell .cell-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 0.5rem; +} + +.calendar-cell .cell-header span { + display: inline-block; + width: 28px; + height: 28px; + border-radius: 50%; + text-align: center; + line-height: 28px; + font-weight: 600; + font-size: 0.9rem; + background: var(--light-bg); + color: var(--text-secondary); +} + +.calendar-cell .events { + flex: 1; + display: flex; + flex-direction: column; + gap: 0.4rem; + overflow: hidden; +} + +/* 事件药丸样式优化 */ +.event-pill { + font-size: 0.75rem; + line-height: 1.3; + background: linear-gradient(135deg, #e3f2fd, #bbdefb); + color: #1565c0; + border: 1px solid #90caf9; + border-radius: 12px; + padding: 0.3rem 0.6rem; + cursor: pointer; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; + text-overflow: ellipsis; + white-space: normal; + word-break: break-all; + transition: all 0.2s ease; + margin: 0.1rem 0; +} + +.event-pill:hover { + background: linear-gradient(135deg, #bbdefb, #90caf9); + transform: translateX(2px); + box-shadow: var(--shadow-sm); +} + +.event-pill.is-done { + background: linear-gradient(135deg, #e8f5e8, #c8e6c9); + color: #2e7d32; + border-color: #81c784; + text-decoration-line: line-through; + text-decoration-thickness: 2px; + opacity: 0.8; +} + +/* 卡片样式 */ +.card { + border: none; + border-radius: var(--border-radius); + box-shadow: var(--shadow-md); + background: white; +} + +.card-header { + background: linear-gradient(135deg, var(--primary-color), var(--primary-hover)); + color: white; + font-weight: 600; + border: none; + padding: 1rem 1.2rem; + border-radius: var(--border-radius) var(--border-radius) 0 0 !important; +} + +.card-body { + padding: 1.2rem; +} + +/* 表单样式 */ +.form-control, .form-select { + border: 2px solid var(--border-color); + border-radius: 6px; + padding: 0.6rem 0.8rem; + font-size: 0.9rem; + transition: all 0.2s ease; +} + +.form-control:focus, .form-select:focus { + border-color: var(--primary-color); + box-shadow: 0 0 0 0.2rem rgba(231, 76, 60, 0.25); +} + +.form-label { + font-weight: 600; + color: var(--text-primary); + margin-bottom: 0.4rem; + font-size: 0.9rem; +} + +.btn-primary { + background: linear-gradient(135deg, var(--primary-color), var(--primary-hover)); + border: none; + border-radius: 6px; + padding: 0.6rem 1.2rem; + font-weight: 600; + transition: all 0.2s ease; +} + +.btn-primary:hover { + background: linear-gradient(135deg, var(--primary-hover), #a23526); + transform: translateY(-1px); + box-shadow: var(--shadow-md); +} + +/* 右侧事件列表样式优化 */ +#dayEvents { + padding-left: 0; + margin: 0; +} + +#dayEvents .list-group-item { + border: 1px solid var(--border-color); + border-radius: 6px; + margin-bottom: 0.4rem; + padding: 0.6rem 0.8rem; + transition: all 0.2s ease; + background: rgba(255, 255, 255, 0.95); + backdrop-filter: blur(10px); +} + +#dayEvents .list-group-item:hover { + background: rgba(255, 255, 255, 0.98); + border-color: var(--primary-color); + transform: translateX(2px); +} + +#dayEvents .list-group-item.is-done { + background: linear-gradient(135deg, rgba(232, 245, 232, 0.95), rgba(200, 230, 201, 0.95)); + color: #2e7d32; + border-color: #81c784; + text-decoration-line: line-through; + text-decoration-thickness: 2px; +} + +/* 紧凑列表项内容 */ +.event-list-content { + display: flex; + flex-direction: column; + gap: 0.2rem; +} + +.event-list-title { + font-weight: 600; + font-size: 0.9rem; + color: var(--text-primary); + margin: 0; + line-height: 1.3; +} + +.event-list-time { + font-size: 0.75rem; + color: var(--text-secondary); + margin: 0; +} + +.event-list-desc { + font-size: 0.8rem; + color: var(--text-muted); + margin: 0; + line-height: 1.2; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} + +/* 响应式调整 */ +@media (max-width: 768px) { + #dayEvents .list-group-item { + padding: 0.5rem 0.6rem; + margin-bottom: 0.3rem; + } + + .event-list-title { + font-size: 0.85rem; + } + + .event-list-time { + font-size: 0.7rem; + } + + .event-list-desc { + font-size: 0.75rem; + -webkit-line-clamp: 1; + } +} + +@media (max-width: 576px) { + #dayEvents .list-group-item { + padding: 0.4rem 0.5rem; + margin-bottom: 0.25rem; + } + + .event-list-title { + font-size: 0.8rem; + } + + .event-list-time { + font-size: 0.65rem; + } + + .event-list-desc { + font-size: 0.7rem; + } +} + +/* 响应式设计 */ +@media (max-width: 1200px) { + .calendar-cell { + padding: 0.6rem; + } + + .event-pill { + font-size: 0.7rem; + padding: 0.2rem 0.4rem; + } +} + +@media (max-width: 992px) { + .calendar-grid { + grid-template-columns: repeat(7, minmax(80px, 1fr)); + } + + .calendar-cell .cell-header span { + width: 24px; + height: 24px; + line-height: 24px; + font-size: 0.8rem; + } +} + +@media (max-width: 768px) { + .navbar-brand { + font-size: 1.1rem; + } + + .calendar-grid { + grid-template-columns: repeat(7, minmax(70px, 1fr)); + padding: 0.5rem; + } + + .calendar-cell { + padding: 0.4rem; + } + + .event-pill { + font-size: 0.65rem; + border-radius: 8px; + } + + .card-body { + padding: 1rem; + } +} + +@media (max-width: 576px) { + body { + background: white; + } + + .navbar { + padding: 0.6rem 0.8rem; + } + + main { + padding: 1rem 0.5rem !important; + } + + .calendar-grid { + grid-template-columns: repeat(7, minmax(60px, 1fr)); + gap: 3px; + } + + .calendar-weekday { + padding: 0.5rem; + gap: 3px; + } + + .calendar-weekday > div { + font-size: 0.8rem; + padding: 0.3rem 0; + } + + .calendar-cell { + padding: 0.3rem; + border-width: 1px; + } + + .calendar-cell .cell-header span { + width: 20px; + height: 20px; + line-height: 20px; + font-size: 0.7rem; + } + + .event-pill { + font-size: 0.6rem; + padding: 0.1rem 0.3rem; + border-radius: 6px; + -webkit-line-clamp: 1; + } + + .events { + gap: 0.2rem !important; + } +} + +/* 高密度模式优化 */ +.high-density .calendar-cell { + min-height: 60px; +} + +.high-density .event-pill { + font-size: 0.6rem; + padding: 0.1rem 0.2rem; + margin: 0.05rem 0; + -webkit-line-clamp: 1; +} + +/* 事件悬停提示框样式 */ +.event-tooltip { + background: white; + border: 2px solid #dc3545; + border-radius: 12px; + padding: 1rem; + box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15); + max-width: 400px; + z-index: 10000; + backdrop-filter: blur(10px); + animation: tooltipFadeIn 0.2s ease-out; +} + +@keyframes tooltipFadeIn { + from { opacity: 0; transform: translateY(10px) scale(0.95); } + to { opacity: 1; transform: translateY(0) scale(1); } +} + +.tooltip-header { + border-bottom: 2px solid #f8f9fa; + padding-bottom: 0.75rem; + margin-bottom: 0.75rem; + display: flex; + align-items: center; + justify-content: space-between; +} + +.tooltip-header strong { + font-size: 1.1rem; + color: #dc3545; + flex: 1; +} + +.tooltip-table { + width: 100%; + border-collapse: collapse; + font-size: 0.9rem; +} + +.tooltip-table th, +.tooltip-table td { + padding: 0.5rem; + text-align: left; + vertical-align: top; + border-bottom: 1px solid #f8f9fa; +} + +.tooltip-table th { + color: #6c757d; + font-weight: 600; + white-space: nowrap; + width: 80px; +} + +.tooltip-table td { + color: #495057; + word-break: break-word; +} + +.tooltip-table tr:last-child th, +.tooltip-table tr:last-child td { + border-bottom: none; +} + +/* 移动端适配 */ +@media (max-width: 768px) { + .event-tooltip { + max-width: 300px; + padding: 0.75rem; + font-size: 0.85rem; + } + + .tooltip-table th, + .tooltip-table td { + padding: 0.4rem; + } + + .tooltip-header strong { + font-size: 1rem; + } +} + +@media (max-width: 576px) { + .event-tooltip { + max-width: 280px; + padding: 0.6rem; + } + + .tooltip-table { + font-size: 0.8rem; + } + + .tooltip-table th { + width: 70px; + } +} + + .event-modal-backdrop { + position: fixed; + inset: 0; + background: rgba(0,0,0,0.35); + z-index: 9998; + } + + .event-modal { + position: fixed; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + background: #ffffff; + border: 2px solid #dc3545; + border-radius: 12px; + box-shadow: 0 12px 48px rgba(0,0,0,0.2); + z-index: 9999; + width: 90vw; + max-width: 520px; + max-height: 80vh; + display: flex; + flex-direction: column; + } + + .event-modal .modal-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: 0.8rem 1rem; + border-bottom: 1px solid #f1f3f5; + } + + .event-modal .modal-title { + font-weight: 600; + color: #dc3545; + font-size: 1.05rem; + margin-right: 0.5rem; + } + + .event-modal .modal-close { + appearance: none; + border: none; + background: transparent; + font-size: 1.2rem; + line-height: 1; + cursor: pointer; + color: #6c757d; + } + + .event-modal .modal-close:hover { + color: #343a40; + } + + .event-modal .modal-body { + padding: 1rem; + overflow: auto; + } + + @media (max-width: 576px) { + .event-modal { + width: 92vw; + max-width: 480px; + max-height: 82vh; + } + .event-modal .modal-body { + padding: 0.8rem; + } + } +.calendar-cell .events::-webkit-scrollbar-track { + background: var(--light-bg); + border-radius: 2px; +} + +.calendar-cell .events::-webkit-scrollbar-thumb { + background: var(--text-muted); + border-radius: 2px; +} + +.calendar-cell .events::-webkit-scrollbar-thumb:hover { + background: var(--text-secondary); +} + +/* 动画效果 */ +@keyframes fadeIn { + from { opacity: 0; transform: translateY(10px); } + to { opacity: 1; transform: translateY(0); } +} + +.calendar-cell { + animation: fadeIn 0.3s ease; +} + +.event-pill { + animation: fadeIn 0.2s ease; +} + +/* 加载状态 */ +.loading { + opacity: 0.6; + pointer-events: none; +} + +.loading::after { + content: ''; + position: absolute; + top: 50%; + left: 50%; + width: 20px; + height: 20px; + margin: -10px 0 0 -10px; + border: 2px solid var(--primary-color); + border-radius: 50%; + border-top-color: transparent; + animation: spin 1s ease-in-out infinite; +} + +@keyframes spin { + to { transform: rotate(360deg); } +} diff --git a/public/tools/calendar_reminder/index.html b/public/tools/calendar_reminder/index.html new file mode 100644 index 0000000..f74457b --- /dev/null +++ b/public/tools/calendar_reminder/index.html @@ -0,0 +1,138 @@ + + + + + + 日历提醒系统 · Web + + + + + + + + + +
+
+
+
+
+
+
+
当天事件与编辑
+
+
+
当天事件
+
    +
    +
    + +
    + + +
    + + +
    + +
    + + +
    + +
    +
    + + +
    +
    + + +
    +
    + +
    + + +
    + +
    + + +
    + +
    + + + + + +
    + +
    + + +
    + +
    +
    +
    + + +
    +
    +
    + +
    + + + + + + + +
    +
    +
    + +
    + + + +
    +
    +
    +
    +
    +
    +
    + +
    +
    模式: · 提醒依赖浏览器通知(需授权)
    +
    + + + + + + + + + + + diff --git a/public/tools/calendar_reminder/js/background.js b/public/tools/calendar_reminder/js/background.js new file mode 100644 index 0000000..df51a70 --- /dev/null +++ b/public/tools/calendar_reminder/js/background.js @@ -0,0 +1,279 @@ +const BackgroundManager = (function () { + const CACHE_KEY = 'background_cache'; + const LAST_UPDATE_KEY = 'background_last_update'; + const CACHE_EXPIRE_DAYS = 30; + const CONFIG_ENDPOINT = '/api/calendar/sys-config'; + let configCache = null; + + const UNSPLASH_ACCESS_KEY = 'osWW4Fx0IbpfJs2LbCl_Jpv5ej-6ZaphyIX9sgdPdxI'; + const PICSUM_BASE_URL = 'https://picsum.photos'; + const CHINESE_THEME_KEYWORDS = [ + 'chinese landscape', 'chinese painting', 'bamboo', 'lotus', 'plum blossom', + 'orchid', 'chrysanthemum', 'mountain water', 'ink wash', 'traditional chinese', + 'landscape painting', 'watercolor', 'minimalist', 'serene', 'nature' + ]; + + async function loadConfig() { + if (configCache) return configCache; + try { + const res = await fetch(CONFIG_ENDPOINT, { cache: 'no-store' }); + if (!res.ok) { + configCache = {}; + return configCache; + } + const data = await res.json().catch(() => ({})); + const cfg = data && data.config && typeof data.config === 'object' ? data.config : {}; + configCache = cfg; + return cfg; + } catch (_) { + configCache = {}; + return configCache; + } + } + + async function getLocalPoolBackground(cfg) { + try { + const theme = String((cfg && (cfg.background_theme || cfg.backgroundTheme)) || '默认背景'); + const params = new URLSearchParams(); + params.set('theme', theme); + params.set('prefer_local', '1'); + const res = await fetch('/api/home/bg?' + params.toString(), { cache: 'no-store' }); + if (!res.ok) return ''; + const data = await res.json().catch(() => ({})); + const url = data && typeof data.url === 'string' ? data.url : ''; + return url || ''; + } catch (_) { + return ''; + } + } + + async function getAllPoolBackground() { + const themes = [ + '夜空星轨', + '蓝天白云', + '治愈森林', + '运动风', + '科技霓虹', + '商务简约', + '暖色日落', + '冷色极夜' + ]; + const theme = themes[Math.floor(Math.random() * themes.length)]; + try { + const params = new URLSearchParams(); + params.set('theme', theme); + params.set('prefer_local', '1'); + const res = await fetch('/api/home/bg?' + params.toString(), { cache: 'no-store' }); + if (!res.ok) return ''; + const data = await res.json().catch(() => ({})); + const url = data && typeof data.url === 'string' ? data.url : ''; + return url || ''; + } catch (_) { + return ''; + } + } + + async function getDailyBackground() { + const cfg = await loadConfig(); + const today = new Date().toDateString(); + const cached = getCachedBackground(); + + if (cached && cached.date === today && cached.url) { + return cached.url; + } + + const enableDynamic = cfg && Object.prototype.hasOwnProperty.call(cfg, 'ENABLE_DYNAMIC_BACKGROUND') + ? cfg.ENABLE_DYNAMIC_BACKGROUND !== false + : true; + const modeRaw = cfg && cfg.background_mode ? String(cfg.background_mode) : ''; + const mode = modeRaw.toUpperCase(); + const useAllPool = mode === 'ALL_POOL'; + + if (!enableDynamic) { + const url = getDefaultBackground(); + cacheBackground(url, today); + return url; + } + + if (useAllPool) { + const allUrl = await getAllPoolBackground(); + if (allUrl) { + cacheBackground(allUrl, today); + return allUrl; + } + const fallback = getDefaultBackground(); + cacheBackground(fallback, today); + return fallback; + } + + if (cfg && (cfg.background_theme || cfg.backgroundTheme)) { + const localUrl = await getLocalPoolBackground(cfg); + if (localUrl) { + cacheBackground(localUrl, today); + return localUrl; + } + const fallback = getDefaultBackground(); + cacheBackground(fallback, today); + return fallback; + } + + try { + const unsplashUrl = await tryUnsplash(); + if (unsplashUrl) { + cacheBackground(unsplashUrl, today); + return unsplashUrl; + } + } catch (error) { + console.warn('Unsplash API failed:', error); + } + + if (cached && cached.url) return cached.url; + try { + const picsumUrl = await tryPicsum(); + if (picsumUrl) { + cacheBackground(picsumUrl, today); + return picsumUrl; + } + } catch (error) { + console.warn('Picsum API failed:', error); + } + const fallback = getDefaultBackground(); + cacheBackground(fallback, today); + return fallback; + } + + async function tryUnsplash() { + if (!UNSPLASH_ACCESS_KEY || UNSPLASH_ACCESS_KEY === 'your_unsplash_access_key_here') { + return null; + } + + const randomKeyword = CHINESE_THEME_KEYWORDS[Math.floor(Math.random() * CHINESE_THEME_KEYWORDS.length)]; + const url = `https://api.unsplash.com/photos/random?query=${encodeURIComponent(randomKeyword)}&orientation=landscape&client_id=${UNSPLASH_ACCESS_KEY}`; + + try { + const response = await fetch(url, { + method: 'GET', + headers: { + 'Accept': 'application/json', + 'Accept-Version': 'v1' + } + }); + + if (!response.ok) { + console.warn('Unsplash API error:', response.status, response.statusText); + return null; + } + + const data = await response.json(); + return data.urls.regular; + } catch (error) { + console.warn('Unsplash fetch failed:', error); + return null; + } + } + + async function tryPicsum() { + const width = window.innerWidth; + const height = window.innerHeight; + const imageId = Math.floor(Math.random() * 1000); + + return `${PICSUM_BASE_URL}/${width}/${height}?blur=2&image=${imageId}`; + } + + function getDefaultBackground() { + return 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)'; + } + + function getCachedBackground() { + try { + const cached = localStorage.getItem(CACHE_KEY); + const lastUpdate = localStorage.getItem(LAST_UPDATE_KEY); + + if (!cached || !lastUpdate) return null; + + // 检查缓存是否过期(30天) + const updateDate = new Date(lastUpdate); + const expireDate = new Date(updateDate); + expireDate.setDate(expireDate.getDate() + CACHE_EXPIRE_DAYS); + + if (new Date() > expireDate) { + localStorage.removeItem(CACHE_KEY); + localStorage.removeItem(LAST_UPDATE_KEY); + return null; + } + + return JSON.parse(cached); + } catch (error) { + console.warn('Failed to read cache:', error); + return null; + } + } + + function cacheBackground(url, date) { + try { + const cacheData = { url, date }; + localStorage.setItem(CACHE_KEY, JSON.stringify(cacheData)); + localStorage.setItem(LAST_UPDATE_KEY, new Date().toISOString()); + } catch (error) { + console.warn('Failed to cache background:', error); + } + } + + function applyBackground(url) { + const body = document.body; + + let bgContainer = document.getElementById('background-container'); + if (!bgContainer) { + bgContainer = document.createElement('div'); + bgContainer.id = 'background-container'; + const isImage = typeof url === 'string' && (url.startsWith('http://') || url.startsWith('https://') || url.startsWith('/')); + bgContainer.style.cssText = ` + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: -1; + background: ${isImage ? `url(${url}) center/cover no-repeat` : url}; + opacity: 0.15; + filter: blur(8px); + `; + document.body.appendChild(bgContainer); + } else { + const isImage = typeof url === 'string' && (url.startsWith('http://') || url.startsWith('https://') || url.startsWith('/')); + bgContainer.style.background = isImage ? `url(${url}) center/cover no-repeat` : url; + } + + body.style.background = 'transparent'; + const importantElements = document.querySelectorAll('.card, .calendar-grid, .navbar'); + importantElements.forEach(el => { + el.style.backgroundColor = 'rgba(255, 255, 255, 0.95)'; + el.style.backdropFilter = 'blur(10px)'; + }); + } + + async function init() { + try { + const backgroundUrl = await getDailyBackground(); + applyBackground(backgroundUrl); + } catch (error) { + console.error('Failed to set background:', error); + applyBackground(getDefaultBackground()); + } + } + + return { + init, + refresh: init + }; +})(); + +// 页面加载时初始化 +window.addEventListener('load', () => { + BackgroundManager.init(); +}); + +// 导出供其他模块使用 +if (typeof module !== 'undefined' && module.exports) { + module.exports = BackgroundManager; +} diff --git a/public/tools/calendar_reminder/js/config.js b/public/tools/calendar_reminder/js/config.js new file mode 100644 index 0000000..8e0491a --- /dev/null +++ b/public/tools/calendar_reminder/js/config.js @@ -0,0 +1,8 @@ +const AppConfig = { + mode: 'shared', // 'standalone' | 'shared' + API_BASE_URL: '/api/calendar/events', + ENABLE_SYNC: true, // 共享模式下开启 + SYNC_INTERVAL_MS: 60_000, +}; + +window.AppConfig = AppConfig; diff --git a/public/tools/calendar_reminder/js/db.js b/public/tools/calendar_reminder/js/db.js new file mode 100644 index 0000000..4ed02fe --- /dev/null +++ b/public/tools/calendar_reminder/js/db.js @@ -0,0 +1,163 @@ +// IndexedDB 存储封装 +const DB = (function () { + const DB_NAME = 'calendar_reminder'; + const DB_VERSION = 2; // 升级版本以创建 outbox 队列 + const STORE_EVENTS = 'events'; + const STORE_OUTBOX = 'outbox'; + + let _db; + + function openDB() { + return new Promise((resolve, reject) => { + const req = indexedDB.open(DB_NAME, DB_VERSION); + req.onupgradeneeded = (ev) => { + const db = ev.target.result; + // 事件存储 + if (!db.objectStoreNames.contains(STORE_EVENTS)) { + const store = db.createObjectStore(STORE_EVENTS, { keyPath: 'id' }); + store.createIndex('by_start', 'start'); + store.createIndex('by_updated', 'updatedAt'); + } + // 离线 outbox 队列 + if (!db.objectStoreNames.contains(STORE_OUTBOX)) { + db.createObjectStore(STORE_OUTBOX, { keyPath: 'id' }); + } + }; + req.onsuccess = () => { + _db = req.result; + resolve(_db); + }; + req.onerror = () => reject(req.error); + }); + } + + function tx(storeName, mode = 'readonly') { + const t = _db.transaction(storeName, mode); + return t.objectStore(storeName); + } + + async function initDB() { + if (_db) return _db; + return await openDB(); + } + + function addEvent(ev) { + return new Promise((resolve, reject) => { + const store = tx(STORE_EVENTS, 'readwrite'); + const req = store.add(ev); + req.onsuccess = () => resolve(ev); + req.onerror = () => reject(req.error); + }); + } + + function updateEvent(ev) { + return new Promise((resolve, reject) => { + const store = tx(STORE_EVENTS, 'readwrite'); + const req = store.put(ev); + req.onsuccess = () => resolve(ev); + req.onerror = () => reject(req.error); + }); + } + + function deleteEvent(id) { + return new Promise((resolve, reject) => { + const store = tx(STORE_EVENTS, 'readwrite'); + const req = store.delete(id); + req.onsuccess = () => resolve(); + req.onerror = () => reject(req.error); + }); + } + + function getEvent(id) { + return new Promise((resolve, reject) => { + const store = tx(STORE_EVENTS, 'readonly'); + const req = store.get(id); + req.onsuccess = () => resolve(req.result); + req.onerror = () => reject(req.error); + }); + } + + function listEventsByMonth(year, month) { + // month: 1..12 + const start = new Date(Date.UTC(year, month - 1, 1, 0, 0, 0)); + const end = new Date(Date.UTC(year, month, 0, 23, 59, 59)); + return new Promise((resolve, reject) => { + const store = tx(STORE_EVENTS, 'readonly'); + const idx = store.index('by_start'); + const range = IDBKeyRange.bound(start.toISOString(), end.toISOString()); + const result = []; + const req = idx.openCursor(range); + req.onsuccess = (e) => { + const cursor = e.target.result; + if (cursor) { + result.push(cursor.value); + cursor.continue(); + } else { + resolve(result); + } + }; + req.onerror = () => reject(req.error); + }); + } + + // --- Outbox 队列 --- + function genId() { return Date.now() + '-' + Math.random().toString(36).slice(2); } + + function addOutbox(entry) { + return new Promise((resolve, reject) => { + const store = tx(STORE_OUTBOX, 'readwrite'); + const req = store.add(entry); + req.onsuccess = () => resolve(entry); + req.onerror = () => reject(req.error); + }); + } + + function addOutboxUpsert(ev) { + const entry = { id: genId(), type: 'upsert', payload: ev, timestamp: new Date().toISOString() }; + return addOutbox(entry); + } + + function addOutboxDelete(id) { + const entry = { id: genId(), type: 'delete', payload: { id }, timestamp: new Date().toISOString() }; + return addOutbox(entry); + } + + function listOutbox() { + return new Promise((resolve, reject) => { + const store = tx(STORE_OUTBOX, 'readonly'); + const result = []; + const req = store.openCursor(); + req.onsuccess = (e) => { + const cursor = e.target.result; + if (cursor) { result.push(cursor.value); cursor.continue(); } + else { resolve(result); } + }; + req.onerror = () => reject(req.error); + }); + } + + function removeOutbox(id) { + return new Promise((resolve, reject) => { + const store = tx(STORE_OUTBOX, 'readwrite'); + const req = store.delete(id); + req.onsuccess = () => resolve(); + req.onerror = () => reject(req.error); + }); + } + + return { + initDB, + addEvent, + updateEvent, + deleteEvent, + getEvent, + listEventsByMonth, + // outbox + addOutboxUpsert, + addOutboxDelete, + listOutbox, + removeOutbox, + }; +})(); + +window.DB = DB; \ No newline at end of file diff --git a/public/tools/calendar_reminder/js/main.js b/public/tools/calendar_reminder/js/main.js new file mode 100644 index 0000000..ddd1b14 --- /dev/null +++ b/public/tools/calendar_reminder/js/main.js @@ -0,0 +1,627 @@ +// 主入口:初始化、交互、提醒与 PWA +(function () { + let current = new Date(); + let monthEvents = []; + let monthOccurrences = []; + const monthCache = new Map(); + // 进程内临时集:已提醒过的事件键,避免重复提醒(不落地) + const notifiedKeys = new Set(); + const scheduledKeys = new Set(); + let heartbeatTimer = null; + const WINDOW_MS = 2 * 60 * 1000; // 2 分钟容错窗口 + let autoRefreshTimer = null; + let lastUserActionTs = Date.now(); + const AUTORELOAD_MS = 30 * 60 * 1000; + + async function init() { + document.getElementById('modeLabel').textContent = AppConfig.mode; + + // 通知权限请求(可延迟到首次需要时) + if ('Notification' in window) { + try { + if (Notification.permission === 'default') { + await Notification.requestPermission(); + } + } catch (_) {} + } + + // 禁用 Service Worker,确保不使用任何本地缓存 + await unregisterServiceWorker(); + + bindNav(); + bindReload(); + bindForm(); + bindAutoRefresh(); + + await loadMonth(current.getFullYear(), current.getMonth() + 1); + startReminderHeartbeat(); + } + + function bindNav() { + document.getElementById('btnPrev').addEventListener('click', async () => { + current.setMonth(current.getMonth() - 1); + await loadMonth(current.getFullYear(), current.getMonth() + 1); + }); + document.getElementById('btnNext').addEventListener('click', async () => { + current.setMonth(current.getMonth() + 1); + await loadMonth(current.getFullYear(), current.getMonth() + 1); + }); + } + + function bindReload() { + const btn = document.getElementById('btnReload'); + if (!btn) return; + btn.addEventListener('click', async () => { + lastUserActionTs = Date.now(); + try { + UI.showGlobalModal('正在刷新日历...'); + try { UI.appendGlobalModalLog('清空内存缓存'); } catch (_) {} + monthCache.clear(); + notifiedKeys.clear(); + scheduledKeys.clear(); + try { UI.appendGlobalModalLog('注销 Service Worker'); } catch (_) {} + await unregisterServiceWorker(); + if ('caches' in window) { + try { + UI.appendGlobalModalLog('清除浏览器缓存存储'); + const keys = await caches.keys(); + await Promise.all(keys.map(k => caches.delete(k))); + } catch (_) {} + } + } catch (_) {} + await loadMonth(current.getFullYear(), current.getMonth() + 1); + try { UI.appendGlobalModalLog('刷新流程完成'); } catch (_) {} + try { UI.completeGlobalModal('刷新完成'); } catch (_) {} + }); + } + + async function loadMonth(year, month) { + UI.showGlobalModal('正在查询当月数据...'); + try { UI.appendGlobalModalLog('开始查询 ' + year + '-' + month + ' 数据'); } catch (_) {} + let ok = true; + console.time('loadMonthTotal'); + try { + const key = `${year}-${month}`; + const cached = monthCache.get(key); + if (cached) { + monthEvents = cached; + } else { + console.time('fetchAPI'); + const remote = await SyncAPI.listByMonth(year, month); + console.timeEnd('fetchAPI'); + console.log('API returned events:', remote ? remote.length : 0); + monthEvents = remote; + monthCache.set(key, remote); + } + const prevY = month === 1 ? year - 1 : year; + const prevM = month === 1 ? 12 : month - 1; + const prevKey = `${prevY}-${prevM}`; + const prevCached = monthCache.get(prevKey); + let prevEvents = []; + if (prevCached) { + prevEvents = prevCached; + } else { + const prevRemote = await SyncAPI.listByMonth(prevY, prevM); + prevEvents = prevRemote; + monthCache.set(prevKey, prevRemote); + } + const merged = []; + const seen = new Set(); + const pushUnique = (list) => { + list.forEach(e => { + if (!e) return; + const k = e.id ? `id:${e.id}` : `k:${e.title || ''}|${e.start || ''}|${e.end || ''}`; + if (seen.has(k)) return; + seen.add(k); + merged.push(e); + }); + }; + pushUnique(monthEvents); + pushUnique(prevEvents); + monthEvents = merged; + } catch (err) { + console.error('远程拉取失败', err); + try { UI.appendGlobalModalLog('错误:远程拉取失败 ' + (err && err.message ? err.message : '')); } catch (_) {} + monthEvents = []; + alert('远程拉取失败,请稍后重试'); + ok = false; + } + try { UI.appendGlobalModalLog('开始展开当月循环事件'); } catch (_) {} + console.time('expandEvents'); + monthOccurrences = expandEventsForMonth(monthEvents, year, month); + console.timeEnd('expandEvents'); + console.log('Expanded occurrences:', monthOccurrences.length); + try { UI.appendGlobalModalLog('展开完成,实例数=' + monthOccurrences.length); } catch (_) {} + + try { UI.appendGlobalModalLog('开始渲染日历'); } catch (_) {} + console.time('renderCalendar'); + // 使用 requestAnimationFrame 给 UI 线程喘息机会,避免卡死 + await new Promise(r => requestAnimationFrame(() => { + UI.renderCalendar(year, month, monthOccurrences); + r(); + })); + console.timeEnd('renderCalendar'); + try { UI.appendGlobalModalLog('渲染完成'); } catch (_) {} + + // 立即补偿提醒(捕捉刚到点或即将到点的事件) + catchUpNotifications(monthOccurrences); + // 设置未来提醒的定时器 + scheduleNotifications(monthOccurrences); + // 刷新后重启心跳,确保新数据生效 + startReminderHeartbeat(); + prefetchAdjacentMonths(year, month); + if (ok) { + try { UI.appendGlobalModalLog('查询完成'); } catch (_) {} + try { UI.completeGlobalModal('查询完成'); } catch (_) {} + } else { + try { UI.appendGlobalModalLog('查询失败'); } catch (_) {} + try { UI.updateGlobalModalMessage('查询失败'); } catch (_) {} + } + } + + // 顶层自执行函数内新增:切换提醒输入与构造循环/提醒 + function updateReminderInputs() { + const type = document.getElementById('recurrenceType').value; + const enabled = document.getElementById('enableReminder').checked; + const dtWrap = document.getElementById('remindDateTime'); + const tWrap = document.getElementById('remindTime'); + const opts = document.getElementById('recurrenceOptions'); + const wgroup = document.getElementById('weekdayGroup'); + + dtWrap.classList.toggle('d-none', !enabled || (type === 'DAILY' || type === 'WEEKLY')); + tWrap.classList.toggle('d-none', !enabled || (type === 'NONE')); + opts.classList.toggle('d-none', type === 'NONE'); + wgroup.classList.toggle('d-none', type !== 'WEEKLY'); + } + + function composeRecurrence() { + const type = document.getElementById('recurrenceType').value; + if (type === 'NONE') return ''; + const interval = Math.max(1, parseInt(document.getElementById('recurrenceInterval').value || '1', 10)); + if (type === 'DAILY') return `DAILY;interval=${interval}`; + const checked = Array.from(document.querySelectorAll('#weekdayGroup [data-weekday]')) + .filter(el => el.checked).map(el => parseInt(el.getAttribute('data-weekday'), 10)).sort((a, b) => a - b); + const by = checked.length ? `;by=${checked.join(',')}` : ''; + return `WEEKLY;interval=${interval}${by}`; + } + + function combineDateAndTime(startISO, timeStr) { + const base = new Date(startISO); + const [hh, mmRaw] = (timeStr || '00:00').split(':').map(s => parseInt(s, 10)); + const q = Math.round((mmRaw || 0) / 15) * 15; + const mm = Math.min(45, Math.max(0, q)); + base.setHours(hh || 0, mm, 0, 0); + return base.toISOString(); + } + + // 可视兜底(Toast):即使系统静默通知也显示 + function ensureToastContainer() { + let c = document.getElementById('toastContainer'); + if (!c) { + c = document.createElement('div'); + c.id = 'toastContainer'; + c.className = 'toast-container'; + document.body.appendChild(c); + } + return c; + } + function showToast(title, body) { + try { + const c = ensureToastContainer(); + const item = document.createElement('div'); + item.className = 'inapp-toast'; + const strong = document.createElement('strong'); strong.textContent = title || '提醒'; + const p = document.createElement('div'); p.textContent = body || ''; + item.appendChild(strong); item.appendChild(p); c.appendChild(item); + setTimeout(() => { try { item.classList.add('fadeout'); } catch (_) {} + setTimeout(() => { try { c.removeChild(item); } catch (_) {} }, 300); + }, 5000); + } catch (_) {} + } + function triggerNotify(e) { + const title = '提醒:' + (e.title || ''); + const body = `${new Date(e.start).toLocaleString()} - ${new Date(e.end).toLocaleString()}`; + if ('Notification' in window && Notification.permission === 'granted') { + try { new Notification(title, { body }); } catch (_) {} + } + showToast(title, body); + } + + function bindForm() { + const form = document.getElementById('eventForm'); + const btnReset = document.getElementById('btnReset'); + const btnDelete = document.getElementById('btnDelete'); + const btnSubmit = form.querySelector('[type="submit"]'); + + // 新增:循环与提醒输入联动 + document.getElementById('recurrenceType').addEventListener('change', updateReminderInputs); + document.getElementById('enableReminder').addEventListener('change', updateReminderInputs); + updateReminderInputs(); + const inputsToSnap = ['start','end','remindDateTime','remindTime']; + inputsToSnap.forEach(id => { + const el = document.getElementById(id); + if (!el) return; + ['change','blur'].forEach(evt => { + el.addEventListener(evt, () => { + try { + if (id === 'remindTime') { + const v = el.value || ''; + const parts = v.split(':'); + if (parts.length >= 2) { + const h = parseInt(parts[0] || '0', 10); + const mRaw = parseInt(parts[1] || '0', 10); + const m = Math.min(45, Math.max(0, Math.round(mRaw / 15) * 15)); + el.value = `${String(h).padStart(2,'0')}:${String(m).padStart(2,'0')}`; + } + } else if (el.value) { + const d = new Date(el.value); + const q = Math.round(d.getMinutes() / 15) * 15; + d.setMinutes(Math.min(45, Math.max(0, q)), 0, 0); + const pad = (n) => String(n).padStart(2, '0'); + el.value = `${d.getFullYear()}-${pad(d.getMonth()+1)}-${pad(d.getDate())}T${pad(d.getHours())}:${pad(d.getMinutes())}`; + } + } catch (_) {} + }, { passive: true }); + }); + }); + + form.addEventListener('submit', async (ev) => { + ev.preventDefault(); + // 启用原生表单校验(required 等) + if (!form.checkValidity()) { + form.reportValidity(); + return; + } + + // 保存按钮进入加载态 + btnSubmit.disabled = true; + const originalText = btnSubmit.textContent; + btnSubmit.textContent = '保存中...'; + + let data; + try { + UI.showGlobalModal('正在保存...'); + try { UI.appendGlobalModalLog('收集表单数据'); } catch (_) {} + data = collectForm(); + if (!data.title || !data.start) { + try { UI.appendGlobalModalLog('错误:缺少标题或开始时间'); } catch (_) {} + alert('请填写标题与开始时间'); + return; + } + + if (data.id) { + const base = (form.eventLoaded && form.eventLoaded.id === data.id) ? form.eventLoaded : {}; + const updated = Models.normalizeForUpdate({ ...base, ...data }); + try { UI.appendGlobalModalLog('准备更新事件'); } catch (_) {} + await SyncAPI.upsertEvent(updated); + } else { + const evNew = Models.createEvent(data); + try { UI.appendGlobalModalLog('准备创建新事件'); } catch (_) {} + await SyncAPI.upsertEvent(evNew); + } + + // 刷新当前月 + try { UI.appendGlobalModalLog('刷新当月视图'); } catch (_) {} + await loadMonth(current.getFullYear(), current.getMonth() + 1); + resetForm(); + try { UI.appendGlobalModalLog('保存成功'); } catch (_) {} + try { UI.completeGlobalModal('保存成功'); } catch (_) {} + } catch (err) { + console.error('保存失败', err); + alert('保存失败:' + (err && err.message ? err.message : err)); + try { UI.appendGlobalModalLog('错误:保存失败 ' + (err && err.message ? err.message : '')); } catch (_) {} + try { UI.updateGlobalModalMessage('保存失败'); } catch (_) {} + } finally { + btnSubmit.disabled = false; + btnSubmit.textContent = originalText; + } + }); + + btnReset.addEventListener('click', resetForm); + + btnDelete.addEventListener('click', async () => { + const id = document.getElementById('eventId').value; + if (!id) return; + if (!confirm('确认删除该事件吗?')) return; + try { + UI.showGlobalModal('正在删除...'); + try { UI.appendGlobalModalLog('准备删除事件 ' + id); } catch (_) {} + try { UI.appendGlobalModalLog('调用 deleteEvent'); } catch (_) {} + await SyncAPI.deleteEvent(id); + } catch (e) { + console.error('远端删除失败', e); + alert('删除失败:' + (e && e.message ? e.message : e)); + try { UI.appendGlobalModalLog('错误:删除失败 ' + (e && e.message ? e.message : '')); } catch (_) {} + try { UI.updateGlobalModalMessage('删除失败'); } catch (_) {} + return; + } + try { UI.appendGlobalModalLog('删除成功,刷新当月视图'); } catch (_) {} + await loadMonth(current.getFullYear(), current.getMonth() + 1); + resetForm(); + try { UI.appendGlobalModalLog('删除完成'); } catch (_) {} + try { UI.completeGlobalModal('删除完成'); } catch (_) {} + }); + } + + function collectForm() { + const id = document.getElementById('eventId').value || ''; + const title = document.getElementById('title').value || ''; + const content = document.getElementById('content').value || ''; + const completed = document.getElementById('completedFlag').checked; + const startInput = document.getElementById('start').value; + const start = startInput ? new Date(startInput) : null; + const endInput = document.getElementById('end').value; + const end = endInput ? new Date(endInput) : null; + + const type = document.getElementById('recurrenceType').value; + const enableReminder = document.getElementById('enableReminder').checked; + const remindDateTime = document.getElementById('remindDateTime').value; + const remindTime = document.getElementById('remindTime').value; + + const recurrence = composeRecurrence(); + + function roundToQuarter(d) { + if (!d) return d; + const q = Math.round(d.getMinutes() / 15) * 15; + d.setMinutes(Math.min(45, Math.max(0, q)), 0, 0); + return d; + } + if (start) roundToQuarter(start); + if (end) roundToQuarter(end); + let remindAt = ''; + if (enableReminder) { + if (type === 'NONE') { + remindAt = remindDateTime ? roundToQuarter(new Date(remindDateTime)).toISOString() : ''; + } else { + remindAt = (start && remindTime) ? combineDateAndTime(start.toISOString(), remindTime) : ''; + } + } + + return { + id, + title, + content, + completed, + allDay: false, + start: start ? start.toISOString() : '', + end: end ? end.toISOString() : '', + remindAt, + recurrence + }; + } + + function resetForm() { + const form = document.getElementById('eventForm'); + form.reset(); + document.getElementById('eventId').value = ''; + document.getElementById('btnDelete').classList.add('d-none'); + document.getElementById('dayEvents').innerHTML = ''; + } + + function scheduleNotifications(events) { + const now = Date.now(); + const next24h = now + 24 * 3600_000; + events.forEach(e => { + if (e.completed) return; + const upcoming = computeUpcomingReminders(e, now, next24h); + upcoming.forEach(remindIso => { + const ts = new Date(remindIso).getTime(); + const delay = ts - now; + if (delay > 0) { + const key = `${e.id}|${new Date(remindIso).toISOString()}`; + if (notifiedKeys.has(key) || scheduledKeys.has(key)) return; + scheduledKeys.add(key); + setTimeout(() => { + try { + if (notifiedKeys.has(key)) return; + triggerNotify({ ...e, remindAt: remindIso }); + notifiedKeys.add(key); + scheduledKeys.delete(key); + } catch (_) {} + }, delay); + } + }); + }); + } + + // 立即补偿:加载数据后,立刻检查 2 分钟窗口内的到期提醒 + function catchUpNotifications(events) { + const now = Date.now(); + const since = now - WINDOW_MS; + try { + events.forEach(e => { + if (e.completed) return; + const windowReminders = computeUpcomingReminders(e, since, now); + windowReminders.forEach(remindIso => { + const key = `${e.id}|${new Date(remindIso).toISOString()}`; + if (!notifiedKeys.has(key)) { + triggerNotify({ ...e, remindAt: remindIso }); + notifiedKeys.add(key); + } + }); + }); + } catch (_) {} + } + + function startReminderHeartbeat() { + if (heartbeatTimer) { clearInterval(heartbeatTimer); heartbeatTimer = null; } + // 每分钟检查一次,捕捉睡眠/时间漂移导致的错过提醒 + heartbeatTimer = setInterval(() => { + const now = Date.now(); + const since = now - WINDOW_MS; + try { + monthOccurrences.forEach(e => { + if (e.completed) return; + const windowReminders = computeUpcomingReminders(e, since, now); + windowReminders.forEach(remindIso => { + const key = `${e.id}|${new Date(remindIso).toISOString()}`; + if (!notifiedKeys.has(key)) { + triggerNotify({ ...e, remindAt: remindIso }); + notifiedKeys.add(key); + } + }); + }); + } catch (_) {} + }, 60 * 1000); + } + + function bindAutoRefresh() { + ['click','keydown','mousemove','touchstart','wheel'].forEach(ev => { + document.addEventListener(ev, () => { lastUserActionTs = Date.now(); }, { passive: true }); + }); + if (autoRefreshTimer) { clearInterval(autoRefreshTimer); autoRefreshTimer = null; } + autoRefreshTimer = setInterval(() => { + if (document.hidden) return; + const idleMs = Date.now() - lastUserActionTs; + if (idleMs >= AUTORELOAD_MS) { + const y = current.getFullYear(); + const m = current.getMonth() + 1; + loadMonth(y, m); + } + }, 60 * 1000); + } + + async function unregisterServiceWorker() { + try { + if ('serviceWorker' in navigator) { + const regs = await navigator.serviceWorker.getRegistrations(); + for (const r of regs) { try { await r.unregister(); } catch (_) {} } + } + } catch (_) {} + } + + // 已停用后台同步与本地缓存 + + window.addEventListener('DOMContentLoaded', init); + // 不再开启后台同步 + })(); + function parseRecurrenceStr(str) { + const r = (str || '').trim(); + if (!r) return { type: 'NONE', interval: 0, by: [] }; + const type = r.startsWith('DAILY') ? 'DAILY' : (r.startsWith('WEEKLY') ? 'WEEKLY' : 'NONE'); + const mInt = /interval=(\d+)/.exec(r); + const interval = mInt ? Math.max(1, parseInt(mInt[1], 10)) : 1; + const mBy = /by=([0-9,]+)/.exec(r); + const by = mBy ? mBy[1].split(',').map(s => parseInt(s, 10)).filter(n => n>=1 && n<=7) : []; + return { type, interval, by }; + } + function setTimeFromIso(dateObj, timeSourceIso) { + const d = new Date(dateObj.getTime()); + const t = timeSourceIso ? new Date(timeSourceIso) : null; + const hh = t ? t.getHours() : 0; + const mm = t ? t.getMinutes() : 0; + d.setHours(hh, mm, 0, 0); + return d.toISOString(); + } + function expandEventsForMonth(events, year, month) { + const start = new Date(Date.UTC(year, month - 1, 1)); + const end = new Date(Date.UTC(year, month, 0, 23, 59, 59, 999)); + const out = []; + events.forEach(e => { + if (!e || e.deleted) return; + const rec = parseRecurrenceStr(e.recurrence); + const evStart = new Date(e.start); + const evEnd = e.end ? new Date(e.end) : new Date(evStart.getTime() + 60*60*1000); + if (rec.type === 'NONE') { + out.push(e); + } else if (rec.type === 'DAILY') { + const from = new Date(Math.max(start.getTime(), Date.UTC(evStart.getUTCFullYear(), evStart.getUTCMonth(), evStart.getUTCDate()))); + const to = new Date(Math.min(end.getTime(), Date.UTC(evEnd.getUTCFullYear(), evEnd.getUTCMonth(), evEnd.getUTCDate()))); + let cursor = new Date(from.getTime()); + while (cursor <= to) { + const diffDays = Math.floor((cursor.getTime() - Date.UTC(evStart.getUTCFullYear(), evStart.getUTCMonth(), evStart.getUTCDate()))/(24*3600*1000)); + if (diffDays % rec.interval === 0) { + const occStartIso = setTimeFromIso(cursor, e.start); + const occRemindIso = setTimeFromIso(cursor, e.remindAt || e.start); + out.push({ ...e, start: occStartIso, remindAt: occRemindIso }); + } + cursor = new Date(cursor.getTime() + 24*3600*1000); + + // Safety break + if (out.length > 5000) { + console.warn('Excessive recurrence detected, truncating.', e); + break; + } + } + } else if (rec.type === 'WEEKLY') { + const from = new Date(Math.max(start.getTime(), Date.UTC(evStart.getUTCFullYear(), evStart.getUTCMonth(), evStart.getUTCDate()))); + const to = new Date(Math.min(end.getTime(), Date.UTC(evEnd.getUTCFullYear(), evEnd.getUTCMonth(), evEnd.getUTCDate()))); + const by = rec.by.length ? rec.by : [((new Date(e.start)).getDay() || 7)]; + let cursor = new Date(from.getTime()); + while (cursor <= to) { + const weekday = cursor.getUTCDay() === 0 ? 7 : cursor.getUTCDay(); + const weeksSinceStart = Math.floor((cursor.getTime() - Date.UTC(evStart.getUTCFullYear(), evStart.getUTCMonth(), evStart.getUTCDate()))/(7*24*3600*1000)); + if (by.includes(weekday) && (weeksSinceStart % rec.interval === 0)) { + const occStartIso = setTimeFromIso(cursor, e.start); + const occRemindIso = setTimeFromIso(cursor, e.remindAt || e.start); + out.push({ ...e, start: occStartIso, remindAt: occRemindIso }); + } + cursor = new Date(cursor.getTime() + 24*3600*1000); + + // Safety break + if (out.length > 5000) { + console.warn('Excessive recurrence detected, truncating.', e); + break; + } + } + } +}); +return out; +} + function computeUpcomingReminders(e, sinceMs, untilMs) { + const rec = parseRecurrenceStr(e.recurrence); + const evStart = new Date(e.start); + const evEnd = e.end ? new Date(e.end) : new Date(evStart.getTime() + 60*60*1000); + const reminders = []; + if (rec.type === 'NONE') { + const iso = e.remindAt || e.start; + if (!iso) return reminders; + const t = new Date(iso).getTime(); + if (t >= sinceMs && t <= untilMs) reminders.push(iso); + return reminders; + } + const startDayMs = Date.UTC(evStart.getUTCFullYear(), evStart.getUTCMonth(), evStart.getUTCDate()); + const endDayMs = Date.UTC(evEnd.getUTCFullYear(), evEnd.getUTCMonth(), evEnd.getUTCDate()); + const windowStartDayMs = Date.UTC(new Date(sinceMs).getUTCFullYear(), new Date(sinceMs).getUTCMonth(), new Date(sinceMs).getUTCDate()); + const windowEndDayMs = Date.UTC(new Date(untilMs).getUTCFullYear(), new Date(untilMs).getUTCMonth(), new Date(untilMs).getUTCDate()); + const fromDay = Math.max(startDayMs, windowStartDayMs); + const toDay = Math.min(endDayMs, windowEndDayMs); + const timeSourceIso = e.remindAt || e.start; + for (let d = fromDay; d <= toDay; d += 24*3600*1000) { + const cursor = new Date(d); + if (rec.type === 'DAILY') { + const diffDays = Math.floor((d - startDayMs)/(24*3600*1000)); + if (diffDays % rec.interval === 0) { + const iso = setTimeFromIso(cursor, timeSourceIso); + const t = new Date(iso).getTime(); + if (t >= sinceMs && t <= untilMs) reminders.push(iso); + } + } else if (rec.type === 'WEEKLY') { + const weekday = cursor.getUTCDay() === 0 ? 7 : cursor.getUTCDay(); + const weeksSinceStart = Math.floor((d - startDayMs)/(7*24*3600*1000)); + const by = rec.by.length ? rec.by : [((new Date(e.start)).getDay() || 7)]; + if (by.includes(weekday) && (weeksSinceStart % rec.interval === 0)) { + const iso = setTimeFromIso(cursor, timeSourceIso); + const t = new Date(iso).getTime(); + if (t >= sinceMs && t <= untilMs) reminders.push(iso); + } + } + } + return reminders; + } + async function prefetchAdjacentMonths(year, month) { + try { + const prevY = month === 1 ? year - 1 : year; + const prevM = month === 1 ? 12 : month - 1; + const nextY = month === 12 ? year + 1 : year; + const nextM = month === 12 ? 1 : month + 1; + const pk = `${prevY}-${prevM}`; + const nk = `${nextY}-${nextM}`; + if (!monthCache.has(pk)) { + SyncAPI.listByMonth(prevY, prevM).then(d => monthCache.set(pk, d)).catch(() => {}); + } + if (!monthCache.has(nk)) { + SyncAPI.listByMonth(nextY, nextM).then(d => monthCache.set(nk, d)).catch(() => {}); + } + } catch (_) {} + } diff --git a/public/tools/calendar_reminder/js/models.js b/public/tools/calendar_reminder/js/models.js new file mode 100644 index 0000000..ac38fbb --- /dev/null +++ b/public/tools/calendar_reminder/js/models.js @@ -0,0 +1,56 @@ +// 数据模型与工具 +const Models = (function () { + function uuid() { + return (crypto && crypto.randomUUID) ? crypto.randomUUID() : ( + Date.now() + '-' + Math.random().toString(36).slice(2) + ); + } + + function nowISO() { return new Date().toISOString(); } + + function ensureEnd(startISO, endISO, allDay) { + if (endISO) return endISO; + const s = new Date(startISO); + const e = new Date(s.getTime() + (allDay ? 24 * 3600_000 : 60 * 60_000)); + return e.toISOString(); + } + + function createEvent({ title, content, start, end, allDay, remindAt, recurrence, completed }) { + const createdAt = nowISO(); + const ev = { + id: uuid(), + title: (title || '').trim(), + content: (content || '').trim(), + start, + end: ensureEnd(start, end, !!allDay), + allDay: !!allDay, + remindAt: remindAt || '', + recurrence: recurrence || '', + completed: !!completed, + createdAt, + updatedAt: createdAt, + deleted: false, + }; + return ev; + } + + function normalizeForUpdate(ev) { + ev.updatedAt = nowISO(); + if (!ev.end) ev.end = ensureEnd(ev.start, ev.end, ev.allDay); + ev.title = (ev.title || '').trim(); + ev.content = (ev.content || '').trim(); + ev.completed = !!ev.completed; + return ev; + } + + function isSameDay(isoA, isoB) { + const a = new Date(isoA), b = new Date(isoB); + return a.getUTCFullYear() === b.getUTCFullYear() && + a.getUTCMonth() === b.getUTCMonth() && + a.getUTCDate() === b.getUTCDate(); + } + + return { createEvent, normalizeForUpdate, isSameDay }; +})(); + +window.Models = Models; diff --git a/public/tools/calendar_reminder/js/singleInstance.js b/public/tools/calendar_reminder/js/singleInstance.js new file mode 100644 index 0000000..350f9aa --- /dev/null +++ b/public/tools/calendar_reminder/js/singleInstance.js @@ -0,0 +1,85 @@ +// 简单的 localStorage 心跳锁实现(兼容性回退) +// 若浏览器支持 BroadcastChannel,可替换为更即时的通讯方式 + +(function () { + const LOCK_KEY = 'calendar_instance_lock'; + const HEARTBEAT_INTERVAL = 2000; // ms + const STALE_THRESHOLD = 5000; // ms + + const instanceId = Date.now() + '-' + Math.random().toString(36).slice(2); + + function now() { return Date.now(); } + + function tryAcquire() { + const raw = localStorage.getItem(LOCK_KEY); + if (raw) { + try { + const obj = JSON.parse(raw); + if (now() - obj.heartbeat < STALE_THRESHOLD) { + // 有活跃实例 + return false; + } + } catch (e) { + // malformed, ignore + } + } + // 申请锁 + localStorage.setItem(LOCK_KEY, JSON.stringify({ id: instanceId, heartbeat: now() })); + return true; + } + + function heartbeat() { + const raw = localStorage.getItem(LOCK_KEY); + if (!raw) return; + try { + const obj = JSON.parse(raw); + if (obj.id === instanceId) { + obj.heartbeat = now(); + localStorage.setItem(LOCK_KEY, JSON.stringify(obj)); + } else { + // 被其他实例抢占,通知并退出 + alert('你好,每次只能运行一个程序。你已经运行了。'); + cleanupAndExit(); + } + } catch (e) { /* ignore */ } + } + + function cleanupAndExit() { + try { // 尝试清理自己持有的锁 + const raw = localStorage.getItem(LOCK_KEY); + if (raw) { + const obj = JSON.parse(raw); + if (obj.id === instanceId) { + localStorage.removeItem(LOCK_KEY); + } + } + } catch (e) {} + // 停止应用初始化(这里简单重载或关闭页面) + window.close && window.close(); + } + + if (!tryAcquire()) { + alert('你好,每次只能运行一个程序。你已经运行了。'); + // 直接阻止后续初始化 + throw new Error('Single instance active'); + } + + // 定时心跳 + const hbTimer = setInterval(heartbeat, HEARTBEAT_INTERVAL); + + // 在页面卸载时释放锁 + window.addEventListener('beforeunload', function () { + try { + const raw = localStorage.getItem(LOCK_KEY); + if (raw) { + const obj = JSON.parse(raw); + if (obj.id === instanceId) { + localStorage.removeItem(LOCK_KEY); + } + } + } catch (e) {} + clearInterval(hbTimer); + }); + + // ... 应用其他初始化继续 ... +})(); \ No newline at end of file diff --git a/public/tools/calendar_reminder/js/sync.js b/public/tools/calendar_reminder/js/sync.js new file mode 100644 index 0000000..175a7f6 --- /dev/null +++ b/public/tools/calendar_reminder/js/sync.js @@ -0,0 +1,62 @@ +// 简易同步器:与 IIS API 交互 +const SyncAPI = (function () { + const base = AppConfig.API_BASE_URL; // 例如 /Api/Events.ashx + + async function listByMonth(year, month) { + await (window.Auth && Auth.ensure ? Auth.ensure() : Promise.resolve()); + try { + if (window.UI && UI.appendGlobalModalLog) UI.appendGlobalModalLog('开始调用 listByMonth'); + } catch (_) {} + const url = `${base}?year=${year}&month=${month}&_ts=${Date.now()}`; + const resp = await fetch(url, { cache: 'no-store', credentials: 'include' }); + const j = await resp.json(); + if (!j.ok) throw new Error(j.error || 'listByMonth failed'); + try { + const count = Array.isArray(j.data) ? j.data.length : 0; + if (window.UI && UI.appendGlobalModalLog) UI.appendGlobalModalLog('listByMonth 返回成功,数量=' + count); + } catch (_) {} + return j.data || []; + } + + async function upsertEvent(ev) { + await (window.Auth && Auth.ensure ? Auth.ensure() : Promise.resolve()); + try { + if (window.UI && UI.appendGlobalModalLog) UI.appendGlobalModalLog('开始调用 upsertEvent'); + } catch (_) {} + const resp = await fetch(base, { + method: 'POST', + headers: { 'Content-Type': 'text/plain' }, + credentials: 'include', + body: JSON.stringify(ev), + }); + const j = await resp.json(); + if (!j.ok) throw new Error(j.error || 'upsert failed'); + try { + if (window.UI && UI.appendGlobalModalLog) UI.appendGlobalModalLog('upsertEvent 返回成功'); + } catch (_) {} + } + + async function deleteEvent(id) { + await (window.Auth && Auth.ensure ? Auth.ensure() : Promise.resolve()); + const url = `${base}?id=${encodeURIComponent(id)}`; + try { + const resp = await fetch(url, { method: 'DELETE', credentials: 'include' }); + if (resp.ok) { + const j = await resp.json(); + if (!j.ok) throw new Error(j.error || 'delete failed'); + return; + } + if (resp.status !== 405) { + const t = await resp.text(); + throw new Error(t || 'delete failed'); + } + } catch (e) {} + const resp2 = await fetch(`${url}&_method=DELETE`, { method: 'POST', headers: { 'Content-Type': 'text/plain' }, credentials: 'include', body: '' }); + const j2 = await resp2.json(); + if (!j2.ok) throw new Error(j2.error || 'delete failed'); + } + + return { listByMonth, upsertEvent, deleteEvent }; +})(); + +window.SyncAPI = SyncAPI; diff --git a/public/tools/calendar_reminder/js/ui.js b/public/tools/calendar_reminder/js/ui.js new file mode 100644 index 0000000..e99ba00 --- /dev/null +++ b/public/tools/calendar_reminder/js/ui.js @@ -0,0 +1,535 @@ +// UI 渲染与交互 +const UI = (function () { + const gridEl = () => document.getElementById('calendar-grid'); + const monthLabelEl = () => document.getElementById('currentMonth'); + const dayEventsEl = () => document.getElementById('dayEvents'); + + const WEEKDAYS = ['日', '一', '二', '三', '四', '五', '六']; + + function isMobile() { + try { + return window.matchMedia && window.matchMedia('(max-width: 768px)').matches || (navigator && navigator.maxTouchPoints > 0); + } catch (_) { return false; } + } + + // 创建详细悬停提示框 + function createEventTooltip(event) { + let recurText = ''; + try { + if (typeof parseRecurrenceStr === 'function') { + const rec = parseRecurrenceStr(event.recurrence || ''); + if (rec && rec.type && rec.type !== 'NONE') { + const parts = []; + if (rec.type === 'DAILY') { + parts.push(rec.interval > 1 ? `每 ${rec.interval} 天` : '每天'); + } else if (rec.type === 'WEEKLY') { + parts.push(rec.interval > 1 ? `每 ${rec.interval} 周` : '每周'); + if (Array.isArray(rec.by) && rec.by.length) { + const map = ['一','二','三','四','五','六','日']; + const names = rec.by.map(n => map[(n - 1 + 7) % 7]).map(ch => '周' + ch); + parts.push(names.join('、')); + } + } + recurText = parts.join(','); + } + } + } catch (_) {} + const tooltip = document.createElement('div'); + tooltip.className = 'event-tooltip'; + tooltip.innerHTML = ` +
    + ${escapeHtml(event.title || '无标题')} + ${event.completed ? '已完成' : ''} +
    +
    + + + ${event.end ? `` : ''} + ${event.content ? `` : ''} + ${event.remindAt ? `` : ''} + ${recurText ? `` : ''} + +
    开始时间:${formatDateTime(event.start)}
    结束时间:${formatDateTime(event.end)}
    内容:${escapeHtmlWithLinks(event.content)}
    提醒时间:${formatDateTime(event.remindAt)}
    循环:${recurText}
    状态:${event.completed ? '已完成' : '进行中'}
    +
    + `; + return tooltip; + } + + function escapeHtml(text) { + const div = document.createElement('div'); + div.textContent = text; + return div.innerHTML; + } + + function escapeHtmlWithLinks(text) { + const raw = String(text || ''); + const escaped = escapeHtml(raw); + const linkPattern = /((?:https?:\/\/|\/tools\/)[^\s<]+)/g; + return escaped.replace(linkPattern, (m) => { + const href = m.startsWith('/tools/') ? m : m; + return `${m}`; + }).replace(/\n/g, '
    '); + } + + function formatDateTime(dateString) { + const date = new Date(dateString); + return date.toLocaleString('zh-CN', { + year: 'numeric', + month: '2-digit', + day: '2-digit', + hour: '2-digit', + minute: '2-digit' + }); + } + + function renderWeekdayHeader() { + const head = document.createElement('div'); + head.className = 'calendar-weekday'; + WEEKDAYS.forEach(w => { + const d = document.createElement('div'); + d.textContent = w; + head.appendChild(d); + }); + return head; + } + + function monthStart(year, month) { return new Date(Date.UTC(year, month - 1, 1)); } + function monthEnd(year, month) { return new Date(Date.UTC(year, month, 0)); } + + function loadEventIntoForm(e) { + if (!e) return; + const form = document.getElementById('eventForm'); + if (!form) return; + form.eventLoaded = e; + const idInput = document.getElementById('eventId'); + if (idInput) idInput.value = e.id || ''; + const titleInput = document.getElementById('title'); + if (titleInput) titleInput.value = e.title || ''; + const contentInput = document.getElementById('content'); + if (contentInput) contentInput.value = e.content || ''; + const completedInput = document.getElementById('completedFlag'); + if (completedInput) completedInput.checked = !!e.completed; + + const startInput = document.getElementById('start'); + if (startInput && e.start) startInput.value = toInputValue(e.start); + const endInput = document.getElementById('end'); + if (endInput && e.end) endInput.value = toInputValue(e.end); + + const typeSel = document.getElementById('recurrenceType'); + const intervalInput = document.getElementById('recurrenceInterval'); + const weekdayInputs = Array.from(document.querySelectorAll('#weekdayGroup [data-weekday]')); + const recStr = String(e.recurrence || ''); + if (typeSel) { + typeSel.value = recStr.startsWith('DAILY') ? 'DAILY' : (recStr.startsWith('WEEKLY') ? 'WEEKLY' : 'NONE'); + } + if (intervalInput) { + const m = /interval=(\d+)/.exec(recStr); + intervalInput.value = m ? Math.max(1, parseInt(m[1], 10)) : 1; + } + const by = (() => { + const m = /by=([0-9,]+)/.exec(recStr); + return m ? m[1].split(',').map(s => parseInt(s, 10)) : []; + })(); + weekdayInputs.forEach(el => { + const v = parseInt(el.getAttribute('data-weekday'), 10); + el.checked = by.includes(v); + }); + + const enableReminderInput = document.getElementById('enableReminder'); + const hasRemind = !!e.remindAt; + if (enableReminderInput) enableReminderInput.checked = hasRemind; + const dt = document.getElementById('remindDateTime'); + const tm = document.getElementById('remindTime'); + const typeVal = typeSel ? typeSel.value : 'NONE'; + if (typeVal === 'NONE') { + if (dt) { + dt.classList.remove('d-none'); + dt.value = e.remindAt ? toInputValue(e.remindAt) : ''; + } + if (tm) tm.classList.add('d-none'); + } else { + if (dt) dt.classList.add('d-none'); + if (tm) { + tm.classList.remove('d-none'); + tm.value = e.remindAt ? toTimeInputValue(e.remindAt) : ''; + } + } + + const btnDelete = document.getElementById('btnDelete'); + if (btnDelete) btnDelete.classList.remove('d-none'); + if (isMobile()) { + openEventModal(e); + } + } + + // 在 UI.renderCalendar 的事件 pill 点击中,改为填充统一表单字段与解析循环 + function renderCalendar(year, month, events) { + const grid = gridEl(); + grid.innerHTML = ''; + // 清理旧的星期头部,避免重复累加 + Array.from(grid.parentElement.querySelectorAll('.calendar-weekday')).forEach(el => el.remove()); + const head = renderWeekdayHeader(); + grid.parentElement.insertBefore(head, grid); + + // 性能优化:建立日期索引,避免在循环中重复遍历所有事件 + const eventsByDate = new Map(); + // 辅助:生成本地日期 Key YYYY-MM-DD + const toKey = (y, m, d) => `${y}-${String(m).padStart(2,'0')}-${String(d).padStart(2,'0')}`; + + // 确定当月范围(本地时间) + const monthStart = new Date(year, month - 1, 1, 0, 0, 0, 0); + const monthEnd = new Date(year, month, 0, 23, 59, 59, 999); + const overlapsDay = (e, dateObj) => { + try { + if (!e || e.deleted || !e.start) return false; + const s = new Date(e.start); + const ep = e.end ? new Date(e.end) : new Date(e.start); + const ds = new Date(dateObj.getFullYear(), dateObj.getMonth(), dateObj.getDate(), 0, 0, 0, 0); + const de = new Date(dateObj.getFullYear(), dateObj.getMonth(), dateObj.getDate(), 23, 59, 59, 999); + return s <= de && ep >= ds; + } catch (_) { return false; } + }; + + events.forEach(e => { + if (!e || e.deleted || !e.start) return; + try { + const s = new Date(e.start); + const end = e.end ? new Date(e.end) : new Date(e.start); + + // 计算事件涉及的日期范围(截断到当月) + // 转换为本地日期的 0 点进行比较 + const sDay = new Date(s.getFullYear(), s.getMonth(), s.getDate()); + const eDay = new Date(end.getFullYear(), end.getMonth(), end.getDate()); + + // 如果事件范围与当月无交集,跳过 + if (eDay < monthStart || sDay > monthEnd) return; + + const iterStart = sDay < monthStart ? monthStart : sDay; + const iterEnd = eDay > monthEnd ? monthEnd : eDay; + + // 遍历涉及的每一天 + for (let d = new Date(iterStart); d <= iterEnd; d.setDate(d.getDate() + 1)) { + if (!overlapsDay(e, d)) continue; + const key = toKey(d.getFullYear(), d.getMonth() + 1, d.getDate()); + if (!eventsByDate.has(key)) eventsByDate.set(key, []); + eventsByDate.get(key).push(e); + } + } catch (_) {} + }); + + const start = new Date(Date.UTC(year, month - 1, 1)); + const end = new Date(Date.UTC(year, month, 0)); + const firstWeekday = start.getUTCDay(); + const daysInMonth = end.getUTCDate(); + + // 补齐上月空白格 + for (let i = 0; i < firstWeekday; i++) { + const cell = document.createElement('div'); + cell.className = 'calendar-cell is-outside'; + cell.innerHTML = `
    `; + grid.appendChild(cell); + } + + const today = new Date(); + const isToday = (d) => d.getFullYear() === today.getFullYear() && d.getMonth() === today.getMonth() && d.getDate() === today.getDate(); + + const frag = document.createDocumentFragment(); + for (let day = 1; day <= daysInMonth; day++) { + const date = new Date(year, month - 1, day); // 本地时间对象用于 isToday 判断 + const cell = document.createElement('div'); + cell.className = 'calendar-cell' + (isToday(date) ? ' is-today' : ''); + const header = document.createElement('div'); + header.className = 'cell-header'; + header.innerHTML = `${day}`; + const body = document.createElement('div'); + body.className = 'events'; + + const key = toKey(year, month, day); + const esRaw = eventsByDate.get(key) || []; + + const es = (function dedupDay(list) { + if (list.length <= 1) return list; + const seenDisplay = new Set(); + const seenId = new Set(); + return list.filter(e => { + // 优化:减少 Date 对象创建 + const sStr = e.start || ''; + // 简单提取时分,假设 ISO 格式 + let hh = '00', mm = '00'; + if (sStr.length >= 16) { + const tPart = new Date(sStr); + hh = String(tPart.getHours()).padStart(2, '0'); + mm = String(tPart.getMinutes()).padStart(2, '0'); + } + const title = (e.title || '').trim(); + const done = e.completed ? '1' : '0'; + const dk = `${title}|${hh}:${mm}|${done}`; + + if (seenDisplay.has(dk)) return false; + + if (e.id) { + if (seenId.has(e.id)) return false; + seenId.add(e.id); + } + seenDisplay.add(dk); + return true; + }); + })(esRaw); + + const MAX_PER_DAY = 50; + const visibleEs = es.slice(0, MAX_PER_DAY); + + visibleEs.forEach(e => { + const pill = document.createElement('div'); + pill.className = 'event-pill' + (e.completed ? ' is-done' : ''); + pill.textContent = e.title; + if (!isMobile()) { + pill.addEventListener('mouseenter', () => { + const tooltip = createEventTooltip(e); + document.body.appendChild(tooltip); + const rect = pill.getBoundingClientRect(); + tooltip.style.position = 'fixed'; + tooltip.style.left = rect.right + 10 + 'px'; + tooltip.style.top = rect.top + 'px'; + tooltip.style.zIndex = '1000'; + pill._currentTooltip = tooltip; + }); + pill.addEventListener('mouseleave', () => { + if (pill._currentTooltip) { + document.body.removeChild(pill._currentTooltip); + pill._currentTooltip = null; + } + }); + } + + pill.addEventListener('click', () => { + loadEventIntoForm(e); + }); + body.appendChild(pill); + }); + + if (es.length > MAX_PER_DAY) { + const more = document.createElement('div'); + more.className = 'event-pill more'; + more.textContent = `还有 ${es.length - MAX_PER_DAY} 项...`; + more.style.backgroundColor = '#f0f0f0'; + more.style.color = '#888'; + more.style.textAlign = 'center'; + more.style.cursor = 'pointer'; + more.style.fontSize = '0.85em'; + body.appendChild(more); + } + + cell.appendChild(header); + cell.appendChild(body); + cell.addEventListener('click', (ev) => { + const isPill = ev.target.closest('.event-pill'); + if (!isPill) renderDayList(date, events); + }); + frag.appendChild(cell); + } + + grid.appendChild(frag); + monthLabelEl().textContent = `${year}年${month}月`; + } + + function renderDayList(date, events) { + const list = dayEventsEl(); + list.innerHTML = ''; + function overlapsDay(e, dateObj) { + try { + if (!e || e.deleted || !e.start) return false; + const s = new Date(e.start); + const ep = e.end ? new Date(e.end) : new Date(e.start); + const ds = new Date(dateObj.getFullYear(), dateObj.getMonth(), dateObj.getDate(), 0, 0, 0, 0); + const de = new Date(dateObj.getFullYear(), dateObj.getMonth(), dateObj.getDate(), 23, 59, 59, 999); + return s <= de && ep >= ds; + } catch (_) { return false; } + } + const esRaw = events.filter(e => overlapsDay(e, date) && !e.deleted); + const es = (function dedupDay(list) { + const seenId = new Set(); + const seenDisplay = new Set(); + function displayKey(e) { + const d = e.start ? new Date(e.start) : null; + const hh = d ? String(d.getHours()).padStart(2, '0') : '00'; + const mm = d ? String(d.getMinutes()).padStart(2, '0') : '00'; + const title = (e.title || '').trim(); + const done = e.completed ? '1' : '0'; + return `${title}|${hh}:${mm}|${done}`; + } + return list.filter(e => { + const dk = displayKey(e); + if (seenDisplay.has(dk)) return false; + + if (e.id) { + if (seenId.has(e.id)) return false; + seenId.add(e.id); + } + + seenDisplay.add(dk); + return true; + }); + })(esRaw); + if (!es.length) { + const li = document.createElement('li'); + li.className = 'list-group-item text-muted small'; + li.textContent = '当天暂无事件'; + list.appendChild(li); + return; + } + es.forEach(e => { + const li = document.createElement('li'); + li.className = 'list-group-item'; + if (e.completed) li.classList.add('is-done'); + const wrap = document.createElement('div'); + wrap.className = 'event-list-content'; + const titleEl = document.createElement('p'); + titleEl.className = 'event-list-title'; + titleEl.textContent = e.title || ''; + const timeEl = document.createElement('p'); + timeEl.className = 'event-list-time'; + const s = e.start ? new Date(e.start) : null; + const ed = e.end ? new Date(e.end) : null; + const pad = (n) => String(n).padStart(2, '0'); + const fmt = (d) => d ? `${pad(d.getHours())}:${pad(d.getMinutes())}` : ''; + const sTxt = fmt(s); + const eTxt = fmt(ed); + timeEl.textContent = eTxt ? `${sTxt} - ${eTxt}` : sTxt; + const descEl = document.createElement('p'); + descEl.className = 'event-list-desc'; + descEl.innerHTML = escapeHtmlWithLinks(e.content || ''); + wrap.appendChild(titleEl); + wrap.appendChild(timeEl); + if (descEl.textContent) wrap.appendChild(descEl); + li.appendChild(wrap); + li.addEventListener('click', () => { + loadEventIntoForm(e); + }); + list.appendChild(li); + }); + } + + function toInputValue(iso) { + const d = new Date(iso); + const q = Math.round(d.getMinutes() / 15) * 15; + d.setMinutes(Math.min(45, Math.max(0, q)), 0, 0); + const pad = (n) => String(n).padStart(2, '0'); + const yyyy = d.getFullYear(); + const MM = pad(d.getMonth() + 1); + const dd = pad(d.getDate()); + const hh = pad(d.getHours()); + const mm = pad(d.getMinutes()); + return `${yyyy}-${MM}-${dd}T${hh}:${mm}`; + } + function toTimeInputValue(iso) { + const d = new Date(iso); + const q = Math.round(d.getMinutes() / 15) * 15; + d.setMinutes(Math.min(45, Math.max(0, q)), 0, 0); + const pad = (n) => String(n).padStart(2, '0'); + return `${pad(d.getHours())}:${pad(d.getMinutes())}`; + } + + function openEventModal(event) { + const backdrop = document.createElement('div'); + backdrop.className = 'event-modal-backdrop'; + const modal = document.createElement('div'); + modal.className = 'event-modal'; + const tableRows = ` + 开始时间:${formatDateTime(event.start)} + ${event.end ? `结束时间:${formatDateTime(event.end)}` : ''} + ${event.content ? `内容:${escapeHtml(event.content)}` : ''} + ${event.remindAt ? `提醒时间:${formatDateTime(event.remindAt)}` : ''} + 状态:${event.completed ? '已完成' : '进行中'} + `; + modal.innerHTML = ` + + + `; + document.body.appendChild(backdrop); + document.body.appendChild(modal); + const close = () => { modal.remove(); backdrop.remove(); }; + modal.querySelector('.modal-close').addEventListener('click', close); + backdrop.addEventListener('click', close); + } + + function showGlobalModal(message) { + let backdrop = document.getElementById('globalModalBackdrop'); + if (!backdrop) { + backdrop = document.createElement('div'); + backdrop.id = 'globalModalBackdrop'; + backdrop.style.cssText = 'position:fixed;inset:0;background:rgba(0,0,0,0.35);display:flex;align-items:center;justify-content:center;z-index:2000;'; + const box = document.createElement('div'); + box.id = 'globalModalBox'; + box.style.cssText = 'min-width:260px;max-width:90vw;padding:16px 20px;border-radius:10px;background:#1f2937;color:#fff;box-shadow:0 10px 25px rgba(0,0,0,.35);text-align:center;'; + const spinner = document.createElement('div'); + spinner.className = 'spinner-border text-light'; + spinner.setAttribute('role', 'status'); + spinner.style.cssText = 'width:2rem;height:2rem;'; + const msg = document.createElement('div'); + msg.id = 'globalModalMessage'; + msg.style.cssText = 'margin-top:10px;font-size:14px;'; + msg.textContent = message || '正在处理...'; + const logPanel = document.createElement('div'); + logPanel.id = 'globalModalLog'; + logPanel.style.cssText = 'margin-top:10px;padding:10px;background:#374151;border-radius:5px;text-align:left;font-size:12px;max-height:200px;overflow-y:auto;white-space:pre-wrap;'; + const copyBtn = document.createElement('button'); + copyBtn.id = 'globalModalCopy'; + copyBtn.style.cssText = 'margin-top:10px;padding:5px 10px;background:#4b5563;border:none;border-radius:5px;color:#fff;cursor:pointer;'; + copyBtn.textContent = '复制日志'; + copyBtn.addEventListener('click', () => { + try { + const text = logPanel.textContent || ''; + if (!text) return; + if (navigator.clipboard && navigator.clipboard.writeText) { + navigator.clipboard.writeText(text).catch(() => {}); + } + } catch (_) {} + }); + box.appendChild(spinner); + box.appendChild(msg); + box.appendChild(logPanel); + box.appendChild(copyBtn); + backdrop.appendChild(box); + document.body.appendChild(backdrop); + } else { + const msg = document.getElementById('globalModalMessage'); + if (msg) msg.textContent = message || '正在处理...'; + const logPanel = document.getElementById('globalModalLog'); + if (logPanel) logPanel.textContent = ''; + } + } + function appendGlobalModalLog(text) { + const logPanel = document.getElementById('globalModalLog'); + if (!logPanel) return; + const line = new Date().toLocaleTimeString() + ' - ' + text; + logPanel.textContent = (logPanel.textContent || '') + line + '\n'; + logPanel.scrollTop = logPanel.scrollHeight; + } + function hideGlobalModal() { + const backdrop = document.getElementById('globalModalBackdrop'); + if (backdrop && backdrop.parentNode) backdrop.parentNode.removeChild(backdrop); + } + function updateGlobalModalMessage(message) { + const msg = document.getElementById('globalModalMessage'); + if (msg) msg.textContent = message || ''; + } + function completeGlobalModal(message) { + try { + const box = document.getElementById('globalModalBox'); + const spinner = box ? box.querySelector('.spinner-border') : null; + if (spinner && spinner.parentNode) spinner.parentNode.removeChild(spinner); + } catch (_) {} + updateGlobalModalMessage(message || '完成'); + setTimeout(() => { try { hideGlobalModal(); } catch (_) {} }, 1000); + } + + return { renderCalendar, renderDayList, toInputValue, showGlobalModal, appendGlobalModalLog, hideGlobalModal, updateGlobalModalMessage, completeGlobalModal }; +})(); + +window.UI = UI; diff --git a/public/tools/calendar_reminder/manifest.json b/public/tools/calendar_reminder/manifest.json new file mode 100644 index 0000000..cbd48b8 --- /dev/null +++ b/public/tools/calendar_reminder/manifest.json @@ -0,0 +1,9 @@ +{ + "name": "日历提醒系统", + "short_name": "日历提醒", + "start_url": "/WebApp/index.html", + "display": "standalone", + "background_color": "#ffffff", + "theme_color": "#0d6efd", + "icons": [] +} \ No newline at end of file diff --git a/public/tools/calendar_reminder/sw.js b/public/tools/calendar_reminder/sw.js new file mode 100644 index 0000000..9f806d2 --- /dev/null +++ b/public/tools/calendar_reminder/sw.js @@ -0,0 +1,39 @@ +const CACHE_NAME = 'calendar-reminder-cache-v3'; +const ASSETS = [ + '/WebApp/index.html', + '/WebApp/css/styles.css', + '/WebApp/css/bootstrap.local.css', + '/WebApp/js/config.js', + '/WebApp/js/db.js', + '/WebApp/js/models.js', + '/WebApp/js/ui.js', + '/WebApp/js/main.js', + '/WebApp/js/singleInstance.js', +]; + +self.addEventListener('install', (event) => { + event.waitUntil( + caches.open(CACHE_NAME).then((cache) => cache.addAll(ASSETS)).catch(() => null) + ); +}); + +self.addEventListener('activate', (event) => { + event.waitUntil( + caches.keys().then((keys) => Promise.all(keys.filter(k => k !== CACHE_NAME).map(k => caches.delete(k)))) + ); +}); + +self.addEventListener('fetch', (event) => { + const req = event.request; + if (req.method !== 'GET') return; + event.respondWith( + caches.match(req).then((cached) => { + const fetchPromise = fetch(req).then((resp) => { + const copy = resp.clone(); + caches.open(CACHE_NAME).then((cache) => cache.put(req, copy)).catch(() => {}); + return resp; + }).catch(() => cached); + return cached || fetchPromise; + }) + ); +}); \ No newline at end of file diff --git a/public/tools/calendar_voice/app.js b/public/tools/calendar_voice/app.js new file mode 100644 index 0000000..39827dd --- /dev/null +++ b/public/tools/calendar_voice/app.js @@ -0,0 +1,480 @@ +// State +let isRecording = false; +let mediaRecorder = null; +let audioChunks = []; +let audioContext = null; +let processor = null; +let input = null; + +const clearUrlQuery = () => { + try { + const cleanUrl = `${window.location.origin}${window.location.pathname}${window.location.hash || ''}`; + window.history.replaceState({}, '', cleanUrl); + } catch {} +}; + +// UI Elements +const els = { + voiceText: document.getElementById('voice-text'), + btnRecord: document.getElementById('btn-record'), + status: document.getElementById('recording-status'), + btnProcess: document.getElementById('btn-process'), + title: document.getElementById('event-title'), + content: document.getElementById('event-content'), + start: document.getElementById('event-start'), + end: document.getElementById('event-end'), + remind: document.getElementById('event-remind'), + btnSave: document.getElementById('btn-save'), + btnClose: document.getElementById('btn-close'), + overlay: document.getElementById('loading-overlay') +}; + +// --- Recording Logic --- + +async function startRecording() { + try { + const stream = await navigator.mediaDevices.getUserMedia({ audio: true }); + + // Aliyun requires 16000Hz Sample Rate + audioContext = new (window.AudioContext || window.webkitAudioContext)({ sampleRate: 16000 }); + input = audioContext.createMediaStreamSource(stream); + + // Create a ScriptProcessorNode + processor = audioContext.createScriptProcessor(4096, 1, 1); + + audioChunks = []; // Store raw PCM data (Float32) + + processor.onaudioprocess = (e) => { + if (!isRecording) return; + const inputData = e.inputBuffer.getChannelData(0); + // Clone data because input buffer is reused + audioChunks.push(new Float32Array(inputData)); + }; + + input.connect(processor); + processor.connect(audioContext.destination); + + isRecording = true; + updateRecordUI(true); + } catch (err) { + console.error('Microphone access error:', err); + alert('无法访问麦克风,请检查权限设置'); + } +} + +function stopRecording() { + if (!isRecording) return; + + isRecording = false; + updateRecordUI(false); + + if (processor && input) { + input.disconnect(); + processor.disconnect(); + } + if (audioContext) { + audioContext.close(); + } + + // Process audio data + processAudio(); +} + +function updateRecordUI(recording) { + if (recording) { + els.btnRecord.innerHTML = '⏹️ 停止录音'; + els.btnRecord.classList.replace('btn-primary', 'btn-danger'); + els.status.classList.remove('hidden'); + } else { + els.btnRecord.innerHTML = '🎤 语音识别'; + els.btnRecord.classList.replace('btn-danger', 'btn-primary'); + els.status.classList.add('hidden'); + } +} + +// Convert Float32 PCM to 16-bit PCM +function floatTo16BitPCM(output, offset, input) { + for (let i = 0; i < input.length; i++, offset += 2) { + let s = Math.max(-1, Math.min(1, input[i])); + s = s < 0 ? s * 0x8000 : s * 0x7FFF; + output.setInt16(offset, s, true); + } +} + +async function processAudio() { + showLoading(true, '正在识别语音...'); + + try { + // Flatten chunks + const length = audioChunks.reduce((acc, chunk) => acc + chunk.length, 0); + const buffer = new Float32Array(length); + let offset = 0; + for (const chunk of audioChunks) { + buffer.set(chunk, offset); + offset += chunk.length; + } + + // Create DataView for 16-bit PCM + const pcmBuffer = new ArrayBuffer(length * 2); + const view = new DataView(pcmBuffer); + floatTo16BitPCM(view, 0, buffer); + + // Send to backend + const blob = new Blob([view], { type: 'application/octet-stream' }); + const formData = new FormData(); + formData.append('audio', blob, 'recording.pcm'); + + const res = await fetch('/api/calendar_voice/recognize', { + method: 'POST', + body: formData + }); + + const data = await res.json(); + if (data.ok) { + const currentText = els.voiceText.value; + // Append if there is existing text + els.voiceText.value = currentText ? (currentText + '\n' + data.text) : data.text; + } else { + alert('识别失败: ' + (data.error || '未知错误')); + } + + } catch (e) { + console.error('Processing error:', e); + alert('上传或处理失败'); + } finally { + showLoading(false); + } +} + +// --- Text Processing Logic --- + +function parseRelativeDate(text) { + const now = new Date(); + // Reset time to 00:00:00 for calculation + const today = new Date(now.getFullYear(), now.getMonth(), now.getDate()); + + let targetDate = null; + + // 1. Keywords: 今天, 明天, 后天, 前天 + if (text.includes('今天')) targetDate = today; + else if (text.includes('明天')) targetDate = new Date(today.getTime() + 86400000); + else if (text.includes('后天') || text.includes('过两天')) targetDate = new Date(today.getTime() + 86400000 * 2); + else if (text.includes('前天')) targetDate = new Date(today.getTime() - 86400000 * 2); + + // 2. Weekdays: 周X, 星期X, 下周X + // Map: 一->1, ... 六->6, 日/天->7 + const weekMap = { '一':1, '二':2, '三':3, '四':4, '五':5, '六':6, '日':7, '天':7 }; + const weekMatch = text.match(/(下)?(周|星期)([一二三四五六日天])/); + + if (weekMatch) { + const isNext = weekMatch[1] === '下'; + const targetDay = weekMap[weekMatch[3]]; + let currentDay = today.getDay(); + if (currentDay === 0) currentDay = 7; // Treat Sunday as 7 + + let diff = targetDay - currentDay; + if (isNext) { + diff += 7; + } else { + // If target is before today (e.g. Mon said on Wed), assume next week + if (diff < 0) diff += 7; + } + targetDate = new Date(today.getTime() + diff * 86400000); + } + + if (targetDate) { + const y = targetDate.getFullYear(); + const m = String(targetDate.getMonth() + 1).padStart(2, '0'); + const d = String(targetDate.getDate()).padStart(2, '0'); + return `${y}-${m}-${d}`; + } + return null; +} + +async function parseTextToForm() { + const text = els.voiceText.value.trim(); + if (!text) return; + + // Show loading state + const originalBtnText = els.btnProcess.innerHTML; + els.btnProcess.disabled = true; + els.btnProcess.innerHTML = '🤖 正在智能分析...'; + + try { + let content = text; + let title = ''; + + // Rule: "正文" keyword splits content + const zwMatch = text.match(/正文(.*?)$/s); + if (zwMatch) { + content = zwMatch[1].trim(); + } + + // AI Summary + try { + const res = await fetch('/api/calendar_voice/summarize', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ text: content }) + }); + const data = await res.json(); + if (data.ok && data.title) { + title = data.title; + } else { + // Fallback if API fails + title = content.split('\n')[0].substring(0, 30); + } + } catch (e) { + console.error('Summary API error:', e); + title = content.split('\n')[0].substring(0, 30); + } + + // Time Extraction + let extractedDate = null; + + // Try finding explicit time keyword section + const timeSectionMatch = text.match(/时间(.*?)([,,。]|$)/); + const timeText = timeSectionMatch ? timeSectionMatch[1] : text; + + // 1. Relative Date + extractedDate = parseRelativeDate(timeText); + + // 2. If not found, try absolute date + if (!extractedDate) { + // Priority: Explicit "时间" keyword + YYYYMMDD + let timeMatch = text.match(/时间\D*(\d{4})(\d{1,2})(\d{1,2})/); + + // Fallback: Loose date matching (YYYY-MM-DD, YYYY/MM/DD, YYYY年MM月DD日) + if (!timeMatch) { + timeMatch = text.match(/(\d{4})[.\-/年](\d{1,2})[.\-/月](\d{1,2})/); + } + + if (timeMatch) { + const y = timeMatch[1]; + const m = timeMatch[2].padStart(2, '0'); + const d = timeMatch[3].padStart(2, '0'); + extractedDate = `${y}-${m}-${d}`; + } + } + + // Fill Form + els.title.value = title; + els.content.value = content; + + if (extractedDate) { + const baseTimeStr = `${extractedDate}T09:00`; + els.start.value = baseTimeStr; + + // Smart Duration: Default to 1 hour duration + const startDate = new Date(baseTimeStr); + const endDate = new Date(startDate.getTime() + 60 * 60 * 1000); // +1 hour + els.end.value = formatDateTimeLocal(endDate); + + els.remind.value = baseTimeStr; + } else { + // 没有识别出任何日期:默认今天 09:00 开始,明天 09:00 结束,提醒为今天 09:00 + const now = new Date(); + const start = new Date(now); + start.setHours(9, 0, 0, 0); + const end = new Date(start.getTime() + 24 * 60 * 60 * 1000); // +1 day + els.start.value = formatDateTimeLocal(start); + els.end.value = formatDateTimeLocal(end); + els.remind.value = formatDateTimeLocal(start); + } + } catch (err) { + console.error('Parse error:', err); + alert('处理出错,请重试'); + } finally { + els.btnProcess.disabled = false; + els.btnProcess.innerHTML = originalBtnText; + } +} + +// --- Save Logic --- + +async function saveEvent() { + const payload = { + title: els.title.value, + content: els.content.value, + start: els.start.value, + end: els.end.value, + remindAt: els.remind.value, + completed: false, + deleted: false + }; + + if (!payload.title) { + alert('请输入标题'); + return; + } + if (!payload.start) { + alert('请输入开始时间'); + return; + } + + // Adjust format + if (payload.start.length === 16) payload.start += ':00'; + if (payload.end && payload.end.length === 16) payload.end += ':00'; + if (payload.remindAt && payload.remindAt.length === 16) payload.remindAt += ':00'; + + showLoading(true); + addLog('开始处理请求...'); + + try { + // Step 1: Validation + await new Promise(r => setTimeout(r, 500)); + addLog('正在验证数据完整性...'); + + // Step 2: Save to DB + await new Promise(r => setTimeout(r, 500)); + addLog('正在提交数据到本地数据库...'); + + const res = await fetch('/api/calendar/events', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(payload) + }); + + let data = null; + try { + data = await res.json(); + } catch (e) { + addLog('服务器返回的不是有效 JSON,状态码: ' + res.status, 'error'); + throw e; + } + + if (data && data.ok) { + addLog('本地数据库保存成功', 'success'); + + // Step 3: Weekly Sync + addLog('正在同步至外部周报系统(Weekly)...'); + // Simulate sync time (in reality this might happen in backend async) + await new Promise(r => setTimeout(r, 1500)); + + addLog('外部系统同步完成', 'success'); + addLog('所有操作已完成 ✅', 'success'); + + document.getElementById('modal-spinner').classList.add('hidden'); + document.getElementById('btn-modal-close').classList.remove('hidden'); + clearForm(); + } else { + const errMsg = String((data && data.error) || '未知错误'); + addLog('保存失败: ' + errMsg, 'error'); + try { + addLog('服务器返回详情: ' + JSON.stringify(data), 'error'); + } catch {} + alert('保存失败: ' + errMsg); + // Keep modal open to show error log, but maybe hide spinner? + document.getElementById('modal-spinner').classList.add('hidden'); + document.getElementById('btn-modal-close').classList.remove('hidden'); + } + } catch (e) { + console.error(e); + const msg = e && e.message ? String(e.message) : 'network_error'; + addLog('网络通讯错误: ' + msg, 'error'); + alert('网络错误: ' + msg); + document.getElementById('modal-spinner').classList.add('hidden'); + document.getElementById('btn-modal-close').classList.remove('hidden'); + } +} + +function clearForm() { + els.voiceText.value = ''; + localStorage.removeItem('voice_draft'); // Clear draft + els.title.value = ''; + els.content.value = ''; + els.start.value = ''; + els.end.value = ''; + els.remind.value = ''; +} + +// --- Helpers --- + +function roundToQuarter(d) { + const q = Math.round(d.getMinutes() / 15) * 15; + d.setMinutes(Math.min(45, Math.max(0, q)), 0, 0); + return d; +} + +function formatDateTimeLocal(d) { + const pad = (n) => String(n).padStart(2, '0'); + const yyyy = d.getFullYear(); + const MM = pad(d.getMonth() + 1); + const dd = pad(d.getDate()); + const hh = pad(d.getHours()); + const mm = pad(d.getMinutes()); + return `${yyyy}-${MM}-${dd}T${hh}:${mm}`; +} + +function showLoading(show, text = '加载中...') { + const overlay = document.getElementById('loading-overlay'); + const spinner = document.getElementById('modal-spinner'); + const btnClose = document.getElementById('btn-modal-close'); + const logs = document.getElementById('modal-logs'); + + if (show) { + overlay.classList.remove('hidden'); + spinner.classList.remove('hidden'); + btnClose.classList.add('hidden'); + logs.innerHTML = ''; // Clear logs + } else { + overlay.classList.add('hidden'); + } +} + +function addLog(text, type = 'normal') { + const logs = document.getElementById('modal-logs'); + const item = document.createElement('div'); + item.className = 'modal-log-item'; + if (type === 'success') item.classList.add('success'); + if (type === 'error') item.style.color = 'var(--danger-color)'; + item.textContent = text; + logs.appendChild(item); + logs.scrollTop = logs.scrollHeight; +} + +document.getElementById('btn-modal-close').addEventListener('click', () => { + showLoading(false); +}); + +// --- Event Listeners --- + +els.btnRecord.addEventListener('click', () => { + if (isRecording) { + stopRecording(); + } else { + startRecording(); + } +}); + +els.btnProcess.addEventListener('click', parseTextToForm); +els.btnSave.addEventListener('click', saveEvent); +els.btnClose.addEventListener('click', clearForm); + +// Auto-save draft +els.voiceText.addEventListener('input', () => { + localStorage.setItem('voice_draft', els.voiceText.value); +}); + +// Load draft on startup +window.addEventListener('DOMContentLoaded', () => { + clearUrlQuery(); + const draft = localStorage.getItem('voice_draft'); + if (draft) { + els.voiceText.value = draft; + } +}); + +// "Now" buttons logic +document.querySelectorAll('.btn-now').forEach(btn => { + btn.addEventListener('click', (e) => { + const targetId = e.currentTarget.dataset.target; + const input = document.getElementById(targetId); + if (input) { + const now = new Date(); + // Round to nearest 15 minutes as per user request (and calendar_reminder logic) + roundToQuarter(now); + input.value = formatDateTimeLocal(now); + } + }); +}); diff --git a/public/tools/calendar_voice/auth_config.json b/public/tools/calendar_voice/auth_config.json new file mode 100644 index 0000000..29a8b1f --- /dev/null +++ b/public/tools/calendar_voice/auth_config.json @@ -0,0 +1,15 @@ +{ + "_comment": "语音日程工具的前端鉴权配置", + "enable_auth_comment": "true:启用鉴权;false:关闭鉴权并放开访问", + "enable_auth": true, + "max_age_days_comment": "鉴权 Cookie 有效期(天),范围建议 1~365", + "max_age_days": 30, + "cookieName_comment": "鉴权 Cookie 名称,建议保持默认", + "cookieName": "calendar_voice_gate", + "requireGuid_comment": "true:入口必须带 guid 参数;false:允许仅凭 token 或会话访问", + "requireGuid": false, + "guidParam_comment": "URL 中的 GUID 参数名,建议使用小写 guid", + "guidParam": "guid", + "guidValue_comment": "GUID 参数值,建议使用高强度随机长串并定期更换", + "guidValue": "ASDF9-0ASDKFS-KI393-9JJDSFHE-KASDKF" +} diff --git a/public/tools/calendar_voice/index.html b/public/tools/calendar_voice/index.html new file mode 100644 index 0000000..70f2b15 --- /dev/null +++ b/public/tools/calendar_voice/index.html @@ -0,0 +1,78 @@ + + + + + + 语记日历 - Voice Calendar Note + + + +
    +
    + +
    + + +
    + +
    + +
    +
    + + +
    + +
    + + +
    + +
    + +
    + + +
    +
    + +
    + +
    + + +
    +
    + +
    + +
    + + +
    +
    +
    + + +
    + + + + + + diff --git a/public/tools/calendar_voice/style.css b/public/tools/calendar_voice/style.css new file mode 100644 index 0000000..42be274 --- /dev/null +++ b/public/tools/calendar_voice/style.css @@ -0,0 +1,294 @@ +:root { + --primary-color: #3b82f6; + --secondary-color: #64748b; + --success-color: #22c55e; + --danger-color: #ef4444; + --bg-color: #f8fafc; + --card-bg: #ffffff; + --text-color: #1e293b; + --border-color: #e2e8f0; +} + +* { + box-sizing: border-box; + margin: 0; + padding: 0; + -webkit-tap-highlight-color: transparent; +} + +body { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; + background-color: var(--bg-color); + color: var(--text-color); + line-height: 1.5; + padding: 16px; + max-width: 600px; + margin: 0 auto; +} + +.container { + display: flex; + flex-direction: column; + gap: 16px; + padding-bottom: 80px; /* Space for footer */ +} + +header h1 { + display: none; +} + +/* Voice Section */ +.voice-section { + display: flex; + flex-direction: column; + gap: 8px; +} + +textarea { + width: 100%; + padding: 8px; + border: 1px solid var(--border-color); + border-radius: 8px; + font-size: 16px; + resize: none; + background: var(--card-bg); + min-height: 100px; + box-shadow: 0 1px 3px rgba(0,0,0,0.05); +} + +.row-layout { + display: flex; + gap: 8px; +} + +.row-layout .btn { + flex: 1; +} + +/* Buttons */ +.btn { + display: inline-flex; + align-items: center; + justify-content: center; + border: none; + border-radius: 12px; + font-size: 16px; + font-weight: 600; + cursor: pointer; + transition: all 0.2s; + padding: 12px 20px; + min-height: 48px; /* Ensure touch target size */ +} + +.btn-primary { + background-color: var(--primary-color); + color: white; +} + +.btn-secondary { + background-color: white; + color: var(--secondary-color); + border: 1px solid var(--border-color); +} + +.btn-success { + background-color: var(--success-color); + color: white; +} + +.btn-danger { + background-color: var(--danger-color); + color: white; +} + +.btn:active { + transform: scale(0.98); + opacity: 0.9; +} + +.icon { + margin-right: 6px; + font-size: 18px; +} + +#recording-status { + color: var(--danger-color); + font-weight: bold; + display: flex; + align-items: center; + gap: 6px; + justify-content: center; + font-size: 14px; +} + +/* Form Section */ +.form-section { + background: var(--card-bg); + padding: 12px; + border-radius: 12px; + box-shadow: 0 1px 3px rgba(0,0,0,0.05); + display: flex; + flex-direction: column; + gap: 12px; +} + +.form-group { + display: flex; +} + +.form-group.vertical { + flex-direction: column; + gap: 4px; +} + +.form-group.horizontal { + flex-direction: row; + align-items: center; + justify-content: space-between; + gap: 8px; +} + +.form-group.horizontal label { + flex-shrink: 0; + width: 70px; +} + +.form-group.horizontal input { + /* flex: 1; Removed this because it's now inside input-group */ + width: 100%; +} + +.input-group { + display: flex; + flex: 1; + gap: 8px; + align-items: center; +} + +.input-group input { + flex: 1; +} + +.btn-now { + display: inline-flex; + align-items: center; + justify-content: center; + border: 1px solid var(--border-color); + border-radius: 6px; + font-size: 18px; /* Icon size */ + cursor: pointer; + background: white; + padding: 0 10px; + height: 42px; /* Match standard input height (16px font + 8px*2 padding + 2px border) */ + flex-shrink: 0; +} + +.btn-now:active { + background-color: #f1f5f9; + transform: scale(0.98); +} + +.form-group label { + font-size: 14px; + color: var(--secondary-color); + font-weight: 500; +} + +.form-group input { + padding: 8px; + border: 1px solid var(--border-color); + border-radius: 6px; + font-size: 16px; + background: #fdfdfd; +} + +/* Modal Content */ +.modal-content { + background: white; + padding: 24px; + border-radius: 16px; + display: flex; + flex-direction: column; + align-items: center; + min-width: 280px; +} + +.modal-logs { + width: 100%; + margin: 16px 0; + text-align: left; + font-size: 14px; + color: #666; + max-height: 200px; + overflow-y: auto; +} + +.modal-log-item { + margin-bottom: 8px; + padding-left: 20px; + position: relative; +} + +.modal-log-item::before { + content: "•"; + position: absolute; + left: 5px; + color: var(--primary-color); +} + +.modal-log-item.success { + color: var(--success-color); +} + +.modal-log-item.success::before { + content: "✓"; + color: var(--success-color); +} + +/* Footer Actions */ +.footer-actions { + display: grid; + grid-template-columns: 2fr 1fr; + gap: 12px; + margin-top: 12px; +} + +/* Utilities */ +.hidden { + display: none !important; +} + +/* Loading Overlay */ +#loading-overlay { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(255, 255, 255, 0.8); + backdrop-filter: blur(2px); + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + z-index: 1000; +} + +.spinner { + width: 40px; + height: 40px; + border: 4px solid var(--border-color); + border-top-color: var(--primary-color); + border-radius: 50%; + animation: spin 1s linear infinite; +} + +.loading-text { + margin-top: 12px; + color: var(--secondary-color); + font-weight: 500; +} + +@keyframes spin { + to { transform: rotate(360deg); } +} diff --git a/public/tools/ccb_private_funds/auth_config.json b/public/tools/ccb_private_funds/auth_config.json new file mode 100644 index 0000000..a0137ad --- /dev/null +++ b/public/tools/ccb_private_funds/auth_config.json @@ -0,0 +1,7 @@ +{ + "_comment": "建行私募理财工具的前端鉴权配置", + "enable_auth_comment": "true:启用鉴权(需要从导航登录);false:完全放开访问资金工具", + "enable_auth": true, + "max_age_days_comment": "鉴权 cookie 的最大有效天数(1~365)", + "max_age_days": 30 +} diff --git a/public/tools/ccb_private_funds/funds.css b/public/tools/ccb_private_funds/funds.css new file mode 100644 index 0000000..6a34761 --- /dev/null +++ b/public/tools/ccb_private_funds/funds.css @@ -0,0 +1,338 @@ +body { + background: radial-gradient(circle at top left, #f5f9ff 0%, #e8f1ff 42%, #dce9ff 100%); + color: #1b2a4a; + min-height: 100vh; +} + +.container { + max-width: 1400px; + margin: 0 auto; + padding: 28px 20px; +} + +.panel-header { + text-align: center; + margin-bottom: 20px; + padding: 20px; + border-radius: 14px; + border: 1px solid #c3d7ff; + background: linear-gradient(140deg, #ffffff, #f2f7ff); + box-shadow: 0 6px 20px rgba(40, 79, 158, 0.08); +} + +.panel-header h1 { + margin: 0; + color: #1f4b99; + font-size: 2rem; + letter-spacing: 0.5px; +} + +.panel-subtitle { + margin: 8px 0 0 0; + color: #4a6ba8; + font-size: 1rem; +} + +.toolbar, +.add-bar, +.attachments-editor { + display: flex; + gap: 10px; + align-items: center; + flex-wrap: wrap; + margin-bottom: 14px; + padding: 14px; + border-radius: 12px; + border: 1px solid #cfe0ff; + background: rgba(255, 255, 255, 0.9); + box-shadow: 0 4px 14px rgba(37, 84, 171, 0.08); +} + +.attachments-editor { + display: block; +} + +.attachments-title { + font-weight: 700; + color: #2b4f8f; + margin-bottom: 10px; +} + +input, +select { + height: 38px; + border: 1px solid #b6cbf3; + border-radius: 8px; + padding: 0 10px; + color: #1e335a; + background: #fff; +} + +input:focus, +select:focus { + outline: none; + border-color: #5c8ee6; + box-shadow: 0 0 0 3px rgba(92, 142, 230, 0.2); +} + +input[type="file"] { + height: auto; + min-height: 38px; + padding: 6px 10px; +} + +.btn { + border: 1px solid #316ccc; + background: linear-gradient(140deg, #2f69c9, #3f7de2); + color: #fff; + border-radius: 8px; + height: 38px; + padding: 0 14px; + cursor: pointer; + font-weight: 600; +} + +.btn:hover { + background: linear-gradient(140deg, #285cb2, #366cc6); +} + +.btn:disabled { + opacity: 0.65; + cursor: not-allowed; +} + +.btn-light { + background: linear-gradient(140deg, #eef3ff, #dfeaff); + color: #1f4380; + border-color: #aac3f3; +} + +.btn-light:hover { + background: linear-gradient(140deg, #dfeaff, #cfdeff); +} + +.btn-danger { + background: linear-gradient(140deg, #bd3c4e, #d35364); + border-color: #b23647; +} + +.btn-danger:hover { + background: linear-gradient(140deg, #a63445, #bc4658); +} + +.table-wrap { + border: 1px solid #cddfff; + border-radius: 12px; + overflow: auto; + background: #fff; +} + +table.flows { + width: 100%; + border-collapse: collapse; +} + +table.flows th, +table.flows td { + padding: 10px 12px; + border-bottom: 1px solid #e6eeff; + text-align: left; + vertical-align: top; +} + +table.flows th { + background: linear-gradient(140deg, #2f5faa, #3c72c4); + color: #fff; + position: sticky; + top: 0; +} + +table.flows tr.in td { + background: rgba(62, 121, 211, 0.06); +} + +table.flows tr.out td { + background: rgba(41, 70, 128, 0.04); +} + +table.flows tr:hover td { + background: rgba(78, 130, 220, 0.12); +} + +table.flows td.amount { + font-weight: 700; + color: #23447d; +} + +table.flows td.ending { + font-weight: 700; + color: #1f4e9e; +} + +.attachments-cell { + min-width: 180px; +} + +.attachments-cell.expandable { + position: relative; + padding-bottom: 24px; +} + +.attachments-cell .expandable-content { + overflow: hidden; + max-height: 62px; + transition: max-height 0.2s ease; +} + +.attachments-cell.expanded .expandable-content { + max-height: none; + overflow: visible; +} + +.attachments-cell .expandable-toggle { + position: absolute; + right: 4px; + bottom: 2px; + font-size: 12px; + color: #345ea8; + cursor: pointer; + user-select: none; + background: rgba(232, 241, 255, 0.9); + padding: 0 4px; + border-radius: 4px; + z-index: 1; +} + +.att-none { + color: #94a3b8; + font-size: 13px; +} + +.att-count { + display: inline-block; + font-size: 12px; + color: #345ea8; + font-weight: 700; + margin-bottom: 4px; +} + +.att-links { + display: flex; + flex-direction: column; + gap: 2px; +} + +.att-links a { + color: #2759a9; + text-decoration: none; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + max-width: 220px; +} + +.att-links a:hover { + text-decoration: underline; +} + +.att-extra { + color: #5b76a8; + font-size: 12px; +} + +.attachments-list { + display: flex; + flex-direction: column; + gap: 8px; +} + +.attachment-item { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; + padding: 8px 10px; + border: 1px solid #dae7ff; + border-radius: 8px; + background: #f8fbff; +} + +.attachment-item a { + color: #2558a7; + text-decoration: none; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.attachment-item a:hover { + text-decoration: underline; +} + +.empty-attachments { + color: #6a7da1; +} + +.stats { + margin: 14px 0; + padding: 16px; + border-radius: 10px; + border: 1px solid #cfe2ff; + background: linear-gradient(140deg, #f8fbff, #ebf3ff); + color: #244983; + font-weight: 700; +} + +.status { + margin: 8px 0 12px 0; + padding: 10px; + border-radius: 8px; + border: 1px solid #bbd3fb; + background: #eef5ff; + color: #254d8a; +} + +.debug { + margin: 12px 0; + padding: 8px; + border: 1px dashed #9db7e5; + border-radius: 8px; + background: #f8fbff; +} + +.debug-actions { + display: flex; + gap: 8px; + margin-bottom: 8px; +} + +.debug-output { + height: 220px; + overflow: auto; + background: #f0f5ff; + padding: 8px; + border-radius: 8px; + font-family: ui-monospace, Menlo, Consolas, monospace; + font-size: 12px; + white-space: pre-wrap; +} + +@media (max-width: 880px) { + .toolbar, + .add-bar { + flex-direction: column; + align-items: stretch; + } + .toolbar .btn, + .add-bar .btn, + .toolbar input, + .toolbar select, + .add-bar input, + .add-bar select { + width: 100%; + } + table.flows th, + table.flows td { + padding: 8px; + } +} diff --git a/public/tools/ccb_private_funds/funds.js b/public/tools/ccb_private_funds/funds.js new file mode 100644 index 0000000..4610e05 --- /dev/null +++ b/public/tools/ccb_private_funds/funds.js @@ -0,0 +1,405 @@ +const fmtCN = n => n.toLocaleString('zh-CN', { minimumFractionDigits: 2, maximumFractionDigits: 2 }) +const parseAmount = s => { const x = String(s || '').replace(/[,\s]/g, ''); const v = Number(x); if (!Number.isFinite(v)) return null; return Math.round(v * 100) } +const centsToText = c => fmtCN((c || 0) / 100) +const logBox = () => document.getElementById('fd-output') +const logLocal = msg => { const b = logBox(); if (!b) return; const line = `${(window.fmtCNDateTime ? fmtCNDateTime(new Date()) : new Date().toLocaleString('zh-CN'))} ${msg}`; b.textContent = (b.textContent || '') + (b.textContent ? '\n' : '') + line; b.scrollTop = b.scrollHeight } + +let editingId = null +const attachmentCache = new Map() + +const getEl = id => document.getElementById(id) +const clearFileInput = () => { const fi = getEl('new-attachments'); if (fi) fi.value = '' } + +const loadFlags = async () => { + try { + const r = await fetch('/api/flags') + const d = await r.json() + if (d && d.debug && d.debug.ccb_private_funds) { + const sec = getEl('funds-debug') + if (sec) sec.style.display = '' + } + } catch {} +} + +const getAttachments = async flowId => { + if (attachmentCache.has(flowId)) return attachmentCache.get(flowId) + const r = await fetch(`/api/ccb_private_funds/attachments/${flowId}`) + const d = await r.json() + const rows = (d && d.ok && Array.isArray(d.rows)) ? d.rows : [] + attachmentCache.set(flowId, rows) + return rows +} + +const invalidateAttachments = flowId => { + attachmentCache.delete(flowId) +} + +const uploadFiles = async (flowId, files) => { + if (!files || files.length === 0) return [] + const result = [] + for (const f of files) { + const buf = await f.arrayBuffer() + const r = await fetch(`/api/ccb_private_funds/attachments/upload?flow_id=${encodeURIComponent(flowId)}&filename=${encodeURIComponent(f.name)}&mime=${encodeURIComponent(f.type || 'application/octet-stream')}`, { + method: 'POST', + headers: { 'Content-Type': 'application/octet-stream' }, + body: buf + }) + const d = await r.json() + if (!d || !d.ok) throw new Error(d && d.error ? d.error : 'upload_failed') + result.push(d) + } + invalidateAttachments(flowId) + return result +} + +const renderAttachmentCell = async (flowId, td) => { + td.className = 'attachments-cell expandable' + td.innerHTML = '' + const content = document.createElement('div') + content.className = 'expandable-content' + content.textContent = '加载中...' + td.appendChild(content) + const toggle = document.createElement('span') + toggle.className = 'expandable-toggle' + toggle.textContent = '👇展开' + toggle.addEventListener('click', () => { + const expanded = td.classList.toggle('expanded') + toggle.textContent = expanded ? '👆收缩' : '👇展开' + }) + td.appendChild(toggle) + try { + const atts = await getAttachments(flowId) + if (!atts.length) { + content.innerHTML = '无' + toggle.style.display = 'none' + return + } + content.innerHTML = '' + const c = document.createElement('span') + c.className = 'att-count' + c.textContent = `${atts.length} 个` + content.appendChild(c) + const wrap = document.createElement('div') + wrap.className = 'att-links' + for (const a of atts) { + const link = document.createElement('a') + link.href = a.url + link.target = '_blank' + link.rel = 'noopener noreferrer' + link.textContent = a.filename + wrap.appendChild(link) + } + content.appendChild(wrap) + toggle.style.display = atts.length <= 2 ? 'none' : '' + } catch { + content.innerHTML = '加载失败' + toggle.style.display = 'none' + } +} + +const renderEditAttachments = async flowId => { + const editor = getEl('attachments-editor') + const box = getEl('existing-attachments') + if (!editor || !box) return + if (!flowId) { + editor.style.display = 'none' + box.innerHTML = '' + return + } + editor.style.display = '' + box.innerHTML = '加载中...' + try { + const rows = await getAttachments(flowId) + if (!rows.length) { + box.innerHTML = '
    暂无附件
    ' + return + } + box.innerHTML = '' + rows.forEach(a => { + const item = document.createElement('div') + item.className = 'attachment-item' + const left = document.createElement('a') + left.href = a.url + left.target = '_blank' + left.rel = 'noopener noreferrer' + left.textContent = `${a.filename} (${fmtCN((a.size_bytes || 0) / 1024)} KB)` + const del = document.createElement('button') + del.className = 'btn btn-danger' + del.textContent = '删除附件' + del.addEventListener('click', async () => { + const ok = window.confirm('确认删除此附件?') + if (!ok) return + const r = await fetch(`/api/ccb_private_funds/attachments/${a.id}`, { method: 'DELETE' }) + const d = await r.json() + if (!d || !d.ok) { + alert('附件删除失败') + return + } + invalidateAttachments(flowId) + await renderEditAttachments(flowId) + await loadFlows() + }) + item.appendChild(left) + item.appendChild(del) + box.appendChild(item) + }) + } catch { + box.innerHTML = '
    加载失败
    ' + } +} + +const enterEditMode = async row => { + editingId = row.id + getEl('new-date').value = row.date + getEl('new-type').value = row.type + getEl('new-amount').value = (row.amount_cents / 100).toFixed(2) + getEl('new-bank').value = row.bank_status || '' + getEl('new-remark').value = row.remark || '' + const btnAdd = getEl('btn-add') + const btnCancel = getEl('btn-cancel-edit') + if (btnAdd) btnAdd.textContent = '保存修改' + if (btnCancel) btnCancel.style.display = '' + clearFileInput() + await renderEditAttachments(editingId) + document.querySelector('.add-bar').scrollIntoView({ behavior: 'smooth' }) +} + +const exitEditMode = () => { + editingId = null + const btnAdd = getEl('btn-add') + const btnCancel = getEl('btn-cancel-edit') + if (btnAdd) btnAdd.textContent = '新增' + if (btnCancel) btnCancel.style.display = 'none' + clearFileInput() + renderEditAttachments(0) +} + +const renderRows = rows => { + const tb = getEl('flows-body') + if (!tb) return + tb.innerHTML = '' + let sumIn = 0 + let sumOut = 0 + rows.forEach(r => { + const tr = document.createElement('tr') + tr.className = r.type === 'in' ? 'in' : 'out' + const tdDate = document.createElement('td'); tdDate.textContent = r.date + const tdType = document.createElement('td'); tdType.textContent = r.type === 'in' ? '汇入' : '汇出' + const tdAmt = document.createElement('td'); tdAmt.className = 'amount'; tdAmt.textContent = centsToText(r.amount_cents) + const tdBank = document.createElement('td'); tdBank.textContent = r.bank_status || '' + const tdEnd = document.createElement('td'); tdEnd.className = 'ending'; tdEnd.textContent = centsToText(r.ending_cents) + const tdRemark = document.createElement('td'); tdRemark.textContent = r.remark || '' + const tdAtt = document.createElement('td'); tdAtt.className = 'attachments-cell' + const tdOps = document.createElement('td') + + const btnEdit = document.createElement('button') + btnEdit.className = 'btn btn-light' + btnEdit.textContent = '修改' + btnEdit.style.marginRight = '6px' + btnEdit.addEventListener('click', async () => { await enterEditMode(r) }) + tdOps.appendChild(btnEdit) + + const btnDel = document.createElement('button') + btnDel.className = 'btn btn-danger' + btnDel.textContent = '删除' + btnDel.addEventListener('click', async () => { + const ok = window.confirm('确认删除该条流水及其全部附件?') + if (!ok) return + try { await fetch('/api/debug/event', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ source: 'ccb_private_funds', action: 'delete', id: r.id }) }) } catch {} + const resp = await fetch(`/api/ccb_private_funds/flows/${r.id}`, { method: 'DELETE' }) + const data = await resp.json() + if (!data || !data.ok) { + alert('删除失败') + return + } + invalidateAttachments(r.id) + if (editingId === r.id) exitEditMode() + await loadFlows() + }) + tdOps.appendChild(btnDel) + + tr.appendChild(tdDate) + tr.appendChild(tdType) + tr.appendChild(tdAmt) + tr.appendChild(tdBank) + tr.appendChild(tdEnd) + tr.appendChild(tdRemark) + tr.appendChild(tdAtt) + tr.appendChild(tdOps) + tb.appendChild(tr) + renderAttachmentCell(r.id, tdAtt) + if (r.type === 'in') sumIn += r.amount_cents + else sumOut += r.amount_cents + }) + const st = getEl('stats') + if (st) st.textContent = `总汇入 ${centsToText(sumIn)} · 总汇出 ${centsToText(Math.abs(sumOut))} · 区间净变动 ${centsToText(sumIn + sumOut)} · 期末余额 ${rows.length ? centsToText(rows[rows.length - 1].ending_cents) : centsToText(0)}` +} + +const loadFlows = async () => { + const st = getEl('funds-status') + const btnQ = getEl('btn-load') + if (st) { st.style.display = ''; st.textContent = '正在查询...' } + if (btnQ) btnQ.disabled = true + const start = getEl('date-start').value || '' + const end = getEl('date-end').value || '' + const type = getEl('type-filter').value || 'all' + const kw = getEl('kw').value || '' + try { + const r = await fetch(`/api/ccb_private_funds/flows?start=${encodeURIComponent(start)}&end=${encodeURIComponent(end)}&type=${encodeURIComponent(type)}&kw=${encodeURIComponent(kw)}`) + const d = await r.json() + if (d.ok) renderRows(d.rows || []) + if (st) { st.style.display = ''; st.textContent = `查询完成(${(d.rows || []).length} 条)` } + } catch (e) { + if (st) { st.style.display = ''; st.textContent = `查询失败:${String(e.message || e)}` } + } finally { + if (btnQ) btnQ.disabled = false + setTimeout(() => { if (st) st.style.display = 'none' }, 1200) + } +} + +const saveFlow = async () => { + const st = getEl('funds-status') + const btn = getEl('btn-add') + if (st) { st.style.display = ''; st.textContent = editingId ? '正在保存修改...' : '正在新增...' } + if (btn) btn.disabled = true + + const date = getEl('new-date').value + const type = getEl('new-type').value + const amtText = getEl('new-amount').value + const bank = getEl('new-bank').value + const remark = getEl('new-remark').value + const files = Array.from((getEl('new-attachments').files || [])) + if (!date || !type || !amtText || !bank || !remark) { + if (st) st.textContent = '请完整填写日期、类型、金额、银行方/状态、备注' + if (btn) btn.disabled = false + setTimeout(() => { if (st) st.style.display = 'none' }, 1800) + return + } + + const cents = parseAmount(amtText) + if (cents === null) { + if (st) st.textContent = '金额格式错误' + if (btn) btn.disabled = false + setTimeout(() => { if (st) st.style.display = 'none' }, 1800) + return + } + + const body = { date, type, amount_cents: type === 'out' ? -Math.abs(cents) : Math.abs(cents), bank_status: bank, remark } + + try { + if (editingId) { + const r = await fetch(`/api/ccb_private_funds/flows/${editingId}`, { method: 'PUT', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(body) }) + const d = await r.json() + if (!d || !d.ok) throw new Error((d && d.error) || 'update_failed') + if (files.length) await uploadFiles(editingId, files) + invalidateAttachments(editingId) + await renderEditAttachments(editingId) + if (st) st.textContent = '修改成功' + logLocal(`ccb_private_funds.update id=${editingId}`) + } else { + const dupRes = await fetch(`/api/ccb_private_funds/flows?start=${encodeURIComponent(date)}&end=${encodeURIComponent(date)}&type=all`) + const dupData = await dupRes.json() + if (dupData.ok && Array.isArray(dupData.rows) && dupData.rows.length > 0) { + const ok = window.confirm(`该日期已有 ${dupData.rows.length} 条记录,是否继续新增?`) + if (!ok) { + if (btn) btn.disabled = false + if (st) st.style.display = 'none' + return + } + } + const r = await fetch('/api/ccb_private_funds/flows', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(body) }) + const d = await r.json() + if (!d || !d.ok || !d.id) throw new Error((d && d.error) || 'create_failed') + if (files.length) await uploadFiles(d.id, files) + invalidateAttachments(d.id) + if (st) st.textContent = '新增成功' + logLocal(`ccb_private_funds.add id=${d.id}`) + } + clearFileInput() + await loadFlows() + } catch (e) { + if (st) st.textContent = `${editingId ? '修改' : '新增'}失败:${String(e.message || e)}` + } finally { + if (btn) btn.disabled = false + setTimeout(() => { if (st) st.style.display = 'none' }, 1400) + } +} + +const openSettings = async () => { + const st = getEl('funds-status') + try { + if (st) { st.style.display = ''; st.textContent = '正在读取设置...' } + const r = await fetch('/api/ccb_private_funds/config') + const d = await r.json() + if (!d || !d.ok || !d.config) throw new Error((d && d.error) || 'load_config_failed') + const cfg = d.config || {} + const currentBase = String(cfg.weekly_api_base || '') + const currentKey = String(cfg.weekly_key || '93220') + const currentSync = cfg.weekly_sync_enabled !== false ? 'on' : 'off' + + const nextBaseRaw = window.prompt('周报同步地址 weekly_api_base', currentBase) + if (nextBaseRaw === null) { + if (st) st.textContent = '已取消设置' + setTimeout(() => { if (st) st.style.display = 'none' }, 1200) + return + } + const nextKeyRaw = window.prompt('周报同步密钥 weekly_key', currentKey) + if (nextKeyRaw === null) { + if (st) st.textContent = '已取消设置' + setTimeout(() => { if (st) st.style.display = 'none' }, 1200) + return + } + const nextSyncRaw = window.prompt('是否开启周报同步(on/off)', currentSync) + if (nextSyncRaw === null) { + if (st) st.textContent = '已取消设置' + setTimeout(() => { if (st) st.style.display = 'none' }, 1200) + return + } + + const syncText = String(nextSyncRaw || '').trim().toLowerCase() + const weekly_sync_enabled = !(syncText === 'off' || syncText === '0' || syncText === 'false' || syncText === 'no') + const payload = { + weekly_api_base: String(nextBaseRaw || '').trim(), + weekly_key: String(nextKeyRaw || '').trim(), + weekly_sync_enabled + } + const wr = await fetch('/api/ccb_private_funds/config', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(payload) + }) + const wd = await wr.json() + if (!wd || !wd.ok) throw new Error((wd && wd.error) || 'save_config_failed') + if (st) st.textContent = '设置已保存' + logLocal('ccb_private_funds.config.saved') + } catch (e) { + if (st) st.textContent = `设置失败:${String(e.message || e)}` + } finally { + setTimeout(() => { if (st) st.style.display = 'none' }, 1500) + } +} + +let pageInited = false +const initPage = () => { + if (pageInited) return + pageInited = true + loadFlags() + const y = new Date().getFullYear() + const d = new Date(y, 11, 31) + const endOfYear = window.cnDateStr ? cnDateStr(d) : `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, '0')}-${String(d.getDate()).padStart(2, '0')}` + const ds = getEl('date-start'); if (ds) ds.value = '2024-01-01' + const de = getEl('date-end'); if (de) de.value = endOfYear + const nd = getEl('new-date'); if (nd) nd.value = window.cnDateStr ? cnDateStr(new Date()) : nd.value + const bl = getEl('btn-load'); if (bl) bl.addEventListener('click', loadFlows) + const ba = getEl('btn-add'); if (ba) ba.addEventListener('click', saveFlow) + const bc = getEl('btn-cancel-edit'); if (bc) bc.addEventListener('click', exitEditMode) + const be = getEl('btn-export'); if (be) be.addEventListener('click', async () => { const start = getEl('date-start').value || ''; const end = getEl('date-end').value || ''; location.href = `/api/ccb_private_funds/export.csv?start=${encodeURIComponent(start)}&end=${encodeURIComponent(end)}` }) + const bs = getEl('btn-settings'); if (bs) bs.addEventListener('click', openSettings) + const bcp = getEl('fd-btn-copy'); if (bcp) bcp.addEventListener('click', async () => { try { await navigator.clipboard.writeText((logBox() && logBox().textContent) || '') } catch {} }) + const brf = getEl('fd-btn-refresh'); if (brf) brf.addEventListener('click', async () => { try { const r = await fetch('/api/debug/logs?limit=5000&channel=ccb_private_funds'); const d2 = await r.json(); if (d2.ok) { const b = logBox(); if (b) { b.textContent = (d2.lines || []).join('\n'); b.scrollTop = b.scrollHeight } } } catch {} }) + const bcl = getEl('fd-btn-clear'); if (bcl) bcl.addEventListener('click', async () => { try { await fetch('/api/debug/clear?channel=ccb_private_funds', { method: 'POST' }) } catch {}; const b = logBox(); if (b) b.textContent = '' }) + loadFlows() +} + +if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', initPage) +else initPage() diff --git a/public/tools/ccb_private_funds/index.html b/public/tools/ccb_private_funds/index.html new file mode 100644 index 0000000..4d6f158 --- /dev/null +++ b/public/tools/ccb_private_funds/index.html @@ -0,0 +1,83 @@ + + + + + + 建行私募理财 + + + + + +
    +
    +

    CCB Private Funds

    +

    私募资金流水管理

    +
    +
    + + + + + + + +
    + + +
    + + + + + + + + +
    + + +
    + +
    + + + + + + + + + + + + + + +
    日期类型金额(人民币)银行方/状态期末金额备注附件操作
    +
    + + +
    + + + + + diff --git a/public/tools/cloud/auth_config.json b/public/tools/cloud/auth_config.json new file mode 100644 index 0000000..e331f77 --- /dev/null +++ b/public/tools/cloud/auth_config.json @@ -0,0 +1,7 @@ +{ + "_comment": "云资源管理工具的前端鉴权配置", + "enable_auth_comment": "true:启用鉴权(需要从导航登录);false:完全放开访问云工具", + "enable_auth": true, + "max_age_days_comment": "鉴权 cookie 的最大有效天数(1~365)", + "max_age_days": 30 +} diff --git a/public/tools/cloud/cloud.css b/public/tools/cloud/cloud.css new file mode 100644 index 0000000..117a6c8 --- /dev/null +++ b/public/tools/cloud/cloud.css @@ -0,0 +1,813 @@ +.container { padding: 12px } +.tabs { display: flex; gap: 8px; margin-bottom: 8px } +.tab { padding: 6px 10px; border: none; background: #f5f5f5; border-radius: 6px; cursor: pointer } +.tab.active { background: #222; color: #fff } +.status { margin: 8px 0; padding: 8px; border: 1px solid #ffd666; background: #fffbe6; color: #a87000; border-radius: 6px } +.panel { border: 1px solid #ddd; border-radius: 8px; padding: 8px; margin-bottom: 8px } +.bar { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-bottom: 8px } +.btn { padding: 6px 10px; border: none; background: #222; color: #fff; border-radius: 6px; cursor: pointer } +.grid { width: 100%; border-collapse: collapse } +.grid th, .grid td { padding: 8px; border-bottom: 1px solid #e6e9ef; text-align: left } +.grid th, .grid td { vertical-align: top } +.grid thead th { position: sticky; top: 0; background: var(--cloud-card-bg); z-index: 1 } +.grid tbody tr:nth-child(odd) { background: #f7f8fb } +.grid tbody tr:nth-child(even) { background: #f2f4f8 } +.grid tbody tr:hover { background: #e9eef6 } +.grid tbody tr { transition: background 120ms ease-in-out } +.grid td.spec-text, .grid td.ports-text, .grid td.remark-text { white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word } +.grid td.vas-config, .grid td.vas-access, .grid td.rn-text { white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word } +.grid td.vas-config.small, .grid td.vas-access.small, .grid td.rn-text.small { font-size: 10px; line-height: 1.2 } +.grid a { color: var(--cloud-accent); text-decoration: none } +.grid a:hover { text-decoration: underline } +.debug { margin: 12px 0; padding: 8px; border: 1px dashed #aaa; } +.debug-actions { display: flex; gap: 8px; margin-bottom: 8px } +.debug-output { height: 200px; overflow: auto; background: #f6f6f6; padding: 8px; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 12px; white-space: pre-wrap } +/* 服务器配置文本使用小号字体 */ +.scaled-wrap { display: inline-block } +#ecs-spec.scaled-text { transform: none; width: auto; height: auto; font-size: 10px; line-height: 1.2 } +.small { font-size: 10px; line-height: 1.2 } +.grid td.spec-text, .grid td.ports-text, .grid td.remark-text { white-space: pre-wrap } +.grid td.expandable { position: relative; padding-bottom: 24px } +.grid td.expandable .expandable-content { white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5; overflow: hidden } +.grid td.expandable.expanded .expandable-content { display: block; -webkit-line-clamp: unset; overflow: visible } +.grid td.expandable .expandable-toggle { position: absolute; right: 6px; bottom: 4px; font-size: 12px; color: var(--cloud-accent); cursor: pointer; user-select: none; background: rgba(255,255,255,0.8); padding: 0 4px; border-radius: 4px } +body.theme-cloud[data-theme="dark"] .grid td.expandable .expandable-toggle { background: rgba(15,22,40,0.8) } +:root { --cloud-bg:#f7f8fb; --cloud-card-bg:#ffffff; --cloud-border:#e6e9ef; --cloud-primary:#1f3a5f; --cloud-accent:#2f6b99; --cloud-hover:#e9eef6; --cloud-text:#0f1a2b } +.container { color: var(--cloud-text) } +h2 { margin: 12px 0 8px } +.tabs { margin-bottom: 8px } +.tabs .tab { background: #fff; color: var(--cloud-text); border: 1px solid var(--cloud-border); border-radius: 8px; padding: 6px 12px; margin-right: 6px } +.tabs .tab.active { background: var(--cloud-primary); color: #fff; border-color: var(--cloud-primary) } +.panel.card { background: var(--cloud-card-bg); border: 1px solid var(--cloud-border); border-radius: 10px; box-shadow: 0 2px 8px rgba(15,26,43,0.06); padding: 10px; margin-bottom: 12px } +.bar { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 8px; align-items: center; margin-bottom: 10px } +.bar input, .bar select, .bar textarea { border: 1px solid var(--cloud-border); border-radius: 8px; padding: 6px 10px; font-size: 13px } +.btn { background: var(--cloud-accent); color: #fff; border: none; border-radius: 8px; padding: 6px 12px; cursor: pointer } +.btn:hover { background: #1f5a88 } +.status { background: #fff8e1; border: 1px solid #ffe08a; color: #7a5900; border-radius: 8px; padding: 6px 10px; margin: 8px 0 } + +/* Note specific styles */ +.small-text-area { font-size: 10px !important; line-height: 1.2; font-family: inherit; } +.note-form-row { grid-column: 1 / -1; display: flex; gap: 8px; align-items: center; } +.note-form-row.full-width textarea { width: 100%; } + +/* 模态框样式 */ +.modal-overlay { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.5); + display: none; + justify-content: center; + align-items: center; + z-index: 1000; +} + +.modal { + background: white; + border-radius: 12px; + box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2); + max-width: 600px; + width: 90%; + max-height: 80vh; + overflow-y: auto; + animation: modalFadeIn 0.3s ease-out; + position: fixed; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + margin: 20px; +} + +@keyframes modalFadeIn { + from { opacity: 0; transform: scale(0.9); } + to { opacity: 1; transform: scale(1); } +} + +.modal-overlay { display: none; } +.modal-overlay.active { display: flex; } + +/* 面板定位与字体按钮 */ +body.theme-cloud .panel.card { position: relative; } +.font-size-toggle { + position: absolute; + right: 12px; + top: 10px; + width: 36px; + height: 36px; + display: inline-flex; + align-items: center; + justify-content: center; + border-radius: 8px; + border: 1px solid var(--cloud-border); + background: var(--cloud-card-bg); + color: var(--cloud-primary); + box-shadow: 0 2px 8px rgba(0,0,0,0.06); + cursor: pointer; +} +.font-size-toggle:hover { background: var(--cloud-hover) } + +/* 列表字体统一 */ +.grid.small { font-size: 10px; line-height: 1.2 } +.grid.large { font-size: 14px; line-height: 1.5 } + +@media (min-width: 769px) { + .modal { + width: 800px; + height: auto; + max-width: 90vw; + max-height: 90vh; + overflow: auto; + margin: 0; + } +} + +.modal-footer { + padding: 12px 20px; + border-top: 1px solid #e6e9ef; + background: #f8f9fa; + display: flex; + justify-content: flex-end; + gap: 12px; +} + +.modal-header { + padding: 12px 20px; + border-bottom: 1px solid #e6e9ef; + display: flex; + justify-content: space-between; + align-items: center; + background: #f8f9fa; + border-radius: 12px 12px 0 0; + width: 100%; + box-sizing: border-box; +} + +.modal-title { + font-size: 18px; + font-weight: 600; + color: #1f3a5f; +} + +.modal-close { + background: none; + border: none; + font-size: 20px; + cursor: pointer; + color: #666; + padding: 4px; + border-radius: 4px; +} + +.modal-close:hover { + background: #e9ecef; + color: #333; +} + +.modal-body { + padding: 12px 20px; +} + +.modal-form { + display: grid; + gap: 16px; +} + +.modal-form-row { + display: grid; + grid-template-columns: 120px minmax(0, 1fr); + gap: 12px; + align-items: center; +} + +.modal-form-row.full-width { + grid-template-columns: minmax(0, 1fr); + display: flex; + flex-direction: column; + align-items: flex-start; + gap: 8px; +} + +.modal-label { + font-weight: 500; + color: #495057; + text-align: right; +} + +.modal-input, .modal-select, .modal-textarea { + border: 1px solid #ced4da; + border-radius: 8px; + padding: 8px 12px; + font-size: 14px; + transition: border-color 0.2s; + width: 100%; + box-sizing: border-box; +} + +.modal-input:focus, .modal-select:focus, .modal-textarea:focus { + outline: none; + border-color: #2f6b99; + box-shadow: 0 0 0 3px rgba(47, 107, 153, 0.1); +} + +.modal-textarea { + resize: vertical; + min-height: 80px; + font-family: inherit; +} + +.modal-textarea.large { + min-height: 120px; +} + +.modal-footer { + padding: 16px 20px; + border-top: 1px solid #e6e9ef; + display: flex; + gap: 12px; + justify-content: flex-end; + background: #f8f9fa; + border-radius: 0 0 12px 12px; + width: 100%; + box-sizing: border-box; +} + +.modal-btn { + padding: 8px 16px; + border: none; + border-radius: 8px; + cursor: pointer; + font-weight: 500; + transition: all 0.2s; +} + +.modal-btn.primary { + background: #2f6b99; + color: white; +} + +.modal-btn.primary:hover { + background: #1f5a88; +} + +.modal-btn.secondary { + background: #6c757d; + color: white; +} + +.modal-btn.secondary:hover { + background: #5a6268; +} + +.modal-btn.danger { + background: #dc3545; + color: white; +} + +.modal-btn.danger:hover { + background: #c82333; +} + +/* 操作按钮样式 */ +.action-buttons { + display: flex; + gap: 8px; + margin-bottom: 16px; + padding: 0 4px; +} + +.action-btn { + padding: 8px 16px; + border: 1px solid #2f6b99; + border-radius: 8px; + background: white; + color: #2f6b99; + cursor: pointer; + font-weight: 500; + transition: all 0.2s; + display: flex; + align-items: center; + gap: 6px; +} + +.action-btn:hover { + background: #2f6b99; + color: white; +} + +.action-btn.view { + border-color: #28a745; + color: #28a745; +} + +.action-btn.view:hover { + background: #28a745; + color: white; +} + +.action-btn.delete { + border-color: #dc3545; + color: #dc3545; +} + +.action-btn.delete:hover { + background: #dc3545; + color: white; +} + +/* 列表操作列内按钮圆形化 */ +.grid td.col-actions .action-btn { + width: 28px; + height: 28px; + padding: 0; + border-radius: 50%; + display: inline-flex; + align-items: center; + justify-content: center; + line-height: 1; +} +.grid td.col-actions .action-btn + .action-btn { + margin-left: 6px; +} + +/* 字体大小切换按钮 */ +.font-size-toggle { + position: absolute; + top: 16px; + right: 16px; + background: white; + border: 1px solid #ced4da; + border-radius: 20px; + padding: 6px 12px; + cursor: pointer; + font-size: 12px; + color: #495057; + z-index: 10; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); +} + +.font-size-toggle:hover { + background: #f8f9fa; + border-color: #2f6b99; + color: #2f6b99; +} + +/* 移动端适配 */ +@media (max-width: 768px) { + .modal { + width: 95vw; + margin: 20px; + } + + .modal-form-row { + grid-template-columns: 1fr; + gap: 8px; + } + + .modal-label { + text-align: left; + } + + .action-buttons { + flex-wrap: wrap; + } + + .action-btn { + flex: 1; + min-width: 120px; + justify-content: center; + } + .grid td.col-actions .action-btn { + flex: 0 0 auto; + min-width: 28px; + } + + .font-size-toggle { + top: 8px; + right: 8px; + padding: 4px 8px; + font-size: 11px; + } +} + +/* 超细字体模式 */ +.font-ultra-thin .grid, +.font-ultra-thin .grid th, +.font-ultra-thin .grid td { + font-size: 10px; + line-height: 1.2; +} + +.font-ultra-thin .action-btn { + font-size: 11px; + padding: 6px 12px; +} + +/* 恢复上传模态框样式 */ +.resume-upload-modal { + position: fixed; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + background: white; + padding: 20px; + border-radius: 12px; + box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2); + z-index: 10000; + max-width: 500px; + max-height: 80vh; + overflow-y: auto; + animation: modalFadeIn 0.3s ease; +} + +.resume-upload-modal h3 { + margin: 0 0 16px 0; + color: #1f3a5f; + font-size: 18px; + font-weight: 600; +} + +.resume-upload-list { + display: flex; + flex-direction: column; + gap: 16px; + margin-bottom: 20px; +} + +.resume-upload-item { + padding: 16px; + border: 1px solid #e6e9ef; + border-radius: 8px; + background: #f8f9fa; +} + +.upload-info { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 12px; +} + +.file-name { + font-weight: 500; + color: #1f3a5f; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + max-width: 200px; +} + +.upload-progress { + font-size: 14px; + color: #2f6b99; + font-weight: 600; +} + +.progress-bar { + width: 100%; + height: 8px; + background: #e6e9ef; + border-radius: 4px; + overflow: hidden; + margin-bottom: 12px; +} + +.progress-fill { + height: 100%; + background: #28a745; + transition: width 0.3s ease; + border-radius: 4px; +} + +.upload-error { + color: #dc3545; + font-size: 12px; + margin-bottom: 12px; + padding: 6px 8px; + background: rgba(220, 53, 69, 0.1); + border-radius: 4px; +} + +.upload-actions { + display: flex; + gap: 8px; +} + +.upload-actions .action-btn { + flex: 1; + min-width: auto; + padding: 6px 12px; + font-size: 12px; +} + +.upload-actions .action-btn.resume { + border-color: #28a745; + color: #28a745; +} + +.upload-actions .action-btn.resume:hover { + background: #28a745; + color: white; +} + +.upload-actions .action-btn.cancel { + border-color: #6c757d; + color: #6c757d; +} + +.upload-actions .action-btn.cancel:hover { + background: #6c757d; + color: white; +} + +.badge { + display: inline-flex; + align-items: center; + justify-content: center; + min-width: 44px; + padding: 4px 8px; + border-radius: 999px; + border: 1px solid #c5d0e0; + background: #eef2f7; + color: #44546a; + font-size: 12px; + font-weight: 600; +} + +.badge.success { + background: #e8f7ee; + border-color: #98d5ab; + color: #1b7f3a; +} + +.badge.warning { + background: #fff7e6; + border-color: #f4c46a; + color: #a15c07; +} + +.badge.danger { + background: #fff0f0; + border-color: #f0a5a5; + color: #b42318; +} + +.badge.muted { + background: #eef2f7; + border-color: #c5d0e0; + color: #52606d; +} + +.grid td.balance-sender-cell { + max-width: 126px; + width: 126px; + white-space: normal; + word-break: break-all; + line-height: 1.45; +} + +.grid td.balance-body-text, +.grid td.balance-subject { + min-width: 220px; +} + +.grid td.balance-sync-cell { + min-width: 88px; + white-space: nowrap; +} + +.balance-search { + max-width: 280px; +} + +.balance-tip-box { + margin: 0 0 14px; + padding: 12px 14px; + border: 1px solid #d8e2f0; + border-left: 4px solid #2b6cb0; + border-radius: 10px; + background: #f7fbff; +} + +.balance-tip-title { + margin-bottom: 6px; + font-size: 13px; + font-weight: 700; + color: #1f4f82; +} + +.balance-tip-text { + font-size: 13px; + line-height: 1.7; + color: #44546a; +} + +.balance-status-cards { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); + gap: 12px; + margin-bottom: 16px; +} + +.balance-card { + border: 1px solid var(--cloud-border); + border-radius: 10px; + padding: 12px; + background: var(--cloud-card-bg); + box-shadow: 0 2px 8px rgba(15, 26, 43, 0.05); +} + +.balance-card-wide { + grid-column: span 2; +} + +.balance-card-label { + font-size: 12px; + color: #6b778c; + margin-bottom: 6px; +} + +.balance-card-value { + font-size: 20px; + font-weight: 700; + color: var(--cloud-primary); +} + +.balance-card-value.success { + color: #1b7f3a; +} + +.balance-card-value.danger { + color: #b42318; +} + +.balance-card-note { + margin-top: 6px; + font-size: 12px; + color: #6b778c; + white-space: pre-wrap; + word-break: break-word; +} + +.balance-pagination { + display: flex; + align-items: center; + justify-content: flex-end; + gap: 12px; + margin-top: 14px; +} + +.balance-page-text { + font-size: 13px; + color: #52606d; +} + +.balance-loading { + padding: 16px 0; + color: #52606d; +} + +.balance-detail { + display: grid; + gap: 10px; +} + +.balance-detail-row { + display: grid; + grid-template-columns: 100px minmax(0, 1fr); + gap: 10px; + align-items: start; +} + +.balance-detail-row span { + color: #6b778c; + text-align: right; +} + +.balance-detail-row strong { + white-space: pre-wrap; + word-break: break-word; +} + +.balance-detail-title { + margin-top: 8px; + font-weight: 700; + color: var(--cloud-primary); +} + +.balance-detail-pre { + margin: 0; + padding: 10px 12px; + border-radius: 8px; + background: #f5f7fb; + white-space: pre-wrap; + word-break: break-word; + max-height: 260px; + overflow: auto; +} + +.balance-trace-body { + display: grid; + gap: 10px; +} + +.balance-trace-item { + border: 1px solid var(--cloud-border); + border-radius: 8px; + padding: 10px; + background: var(--cloud-card-bg); +} + +.balance-trace-item.success { + border-color: #98d5ab; + background: #f3fbf6; +} + +.balance-trace-item.error { + border-color: #f0a5a5; + background: #fff4f4; +} + +.balance-trace-head { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; + margin-bottom: 8px; +} + +.balance-trace-head strong { + color: var(--cloud-primary); +} + +.balance-trace-head span { + font-size: 12px; + color: #6b778c; +} + +@media (max-width: 768px) { + .balance-card-wide { + grid-column: span 1; + } + + .balance-detail-row { + grid-template-columns: 1fr; + } + + .balance-detail-row span { + text-align: left; + } +} + +/* 移动端恢复上传适配 */ +@media (max-width: 768px) { + .resume-upload-modal { + width: 95vw; + max-width: none; + margin: 20px; + padding: 16px; + } + + .resume-upload-modal h3 { + font-size: 16px; + } + + .upload-info { + flex-direction: column; + align-items: flex-start; + gap: 8px; + } + + .file-name { + max-width: 100%; + } + + .upload-actions { + flex-direction: column; + } + + .upload-actions .action-btn { + width: 100%; + } +} + +@media (max-width: 480px) { + .resume-upload-modal { + margin: 10px; + padding: 12px; + } + + .resume-upload-item { + padding: 12px; + } + + .upload-actions { + gap: 6px; + } + + .upload-actions .action-btn { + padding: 5px 10px; + font-size: 11px; + } +} diff --git a/public/tools/cloud/cloud.js b/public/tools/cloud/cloud.js new file mode 100644 index 0000000..f940eae --- /dev/null +++ b/public/tools/cloud/cloud.js @@ -0,0 +1,1677 @@ +const out = () => document.getElementById('cd-output') +const logLocal = msg => { const b = out(); if (!b) return; const t = window.fmtCNDateTime?fmtCNDateTime(new Date()):new Date().toLocaleString('zh-CN'); b.textContent = (b.textContent||'') + (b.textContent?"\n":"") + `${t} ${msg}`; b.scrollTop = b.scrollHeight } + +const showStatus = s => { const el = document.getElementById('status'); if (!el) return; el.style.display=''; el.textContent=s } +const hideStatusSoon = () => { const el = document.getElementById('status'); if (!el) return; setTimeout(()=>{ el.style.display='none' }, 1200) } + +const loadFlags = async () => { try { const r = await fetch('/api/flags'); const d = await r.json(); if (d && d.debug && d.debug.cloud) { const sec = document.getElementById('cloud-debug'); if (sec) sec.style.display = '' } } catch {} +} + +const switchTab = name => { + currentTab = name + const tabs = ['ops','ecs','vas','renew','notes','balance'] + tabs.forEach(t => { const tb = document.getElementById(`tab-${t}`); const pn = document.getElementById(`panel-${t}`); if (tb) tb.classList.remove('active'); if (pn) pn.style.display='none' }) + const tb = document.getElementById(`tab-${name}`); const pn = document.getElementById(`panel-${name}`); if (tb) tb.classList.add('active'); if (pn) pn.style.display='' + const fs=document.getElementById('font-size-toggle'); if (pn && fs) pn.appendChild(fs) + if (window.CloudTheme && typeof window.CloudTheme.onSectionSwitch === 'function') { try { window.CloudTheme.onSectionSwitch(name) } catch {} } + if (name === 'balance') { + loadBalanceAlerts(false) + startBalanceAutoRefresh() + } else { + stopBalanceAutoRefresh() + } +} + +const fmtCents = c => ((c||0)/100).toLocaleString('zh-CN', { minimumFractionDigits:2, maximumFractionDigits:2 }) +const parseAmountToCents = s => { const x = String(s||'').replace(/[,\s]/g,''); const v = Number(x); if (!Number.isFinite(v)) return null; return Math.round(v*100) } +const logEvent = async (payload) => { try { await fetch('/api/debug/event', { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify(Object.assign({ source:'cloud' }, payload||{})) }) } catch {} } +const parseUtcLikeDate = value => { + const raw = String(value || '').trim() + if (!raw) return null + const normalized = raw.includes('T') ? raw : raw.replace(' ', 'T') + const withZone = /(?:Z|[+\-]\d{2}:\d{2})$/i.test(normalized) ? normalized : `${normalized}Z` + const date = new Date(withZone) + return Number.isNaN(date.getTime()) ? null : date +} +const fmtBeijingDateTime = value => { + const date = parseUtcLikeDate(value) + if (!date) return String(value || '') + return new Intl.DateTimeFormat('zh-CN', { + timeZone: 'Asia/Shanghai', + hour12: false, + year: 'numeric', + month: '2-digit', + day: '2-digit', + hour: '2-digit', + minute: '2-digit', + second: '2-digit' + }).format(date).replace(/\//g, '-') +} +const createExpandableCell = (text, className) => { + const td = document.createElement('td') + td.className = className ? `${className} expandable` : 'expandable' + const content = document.createElement('div') + content.className = 'expandable-content' + content.textContent = text || '' + const toggle = document.createElement('span') + toggle.className = 'expandable-toggle' + toggle.textContent = '👇展开' + toggle.addEventListener('click', () => { + const expanded = td.classList.toggle('expanded') + toggle.textContent = expanded ? '👆收缩' : '👇展开' + }) + td.appendChild(content) + td.appendChild(toggle) + return td +} + +let opMap = {} +let opsCache = [] +let ecsCache = [] +let vasCache = [] +let editingOpId = null +let editingEcsId = null +let editingVasId = null +let editingRnId = null +let editingNoteId = null +let currentRenewInvoicePath = '' +let currentTab = 'ops' +let balanceListState = { page: 1, pageSize: 10, keyword: '' } +let balanceStatusCache = null +let balanceAutoRefreshTimer = null +let balanceScanTrace = [] +const renderOps = rows => { const body = document.getElementById('ops-body'); if (!body) return; body.innerHTML=''; rows.forEach(r => { opMap[r.id] = r.name || (`#${r.id}`); const tr = document.createElement('tr'); const td1=document.createElement('td'); td1.textContent=r.name; const td2=document.createElement('td'); td2.textContent=r.login_account||''; const td3=document.createElement('td'); td3.textContent=r.login_password||''; const td4=document.createElement('td'); td4.textContent=r.mobile||''; const td5=document.createElement('td'); td5.textContent=r.contact_person||''; const td6=createExpandableCell(r.remark||'', 'remark-text'); const td7=document.createElement('td'); td7.className='col-cert'; const badge=document.createElement('span'); badge.className = r.is_company_verified ? 'badge success' : 'badge'; badge.textContent = r.is_company_verified ? '已认证' : '未认证'; td7.appendChild(badge); const td8=document.createElement('td'); td8.className='col-actions'; const view=document.createElement('button'); view.className='action-btn view'; view.title='查看'; view.textContent='👁'; view.addEventListener('click', ()=>{ openModal('ops', 'view', r.id) }); const edit=document.createElement('button'); edit.className='action-btn edit'; edit.title='修改'; edit.textContent='✎'; edit.addEventListener('click', ()=>{ openModal('ops', 'edit', r.id) }); const del=document.createElement('button'); del.className='action-btn delete'; del.title='删除'; del.textContent='🗑'; del.addEventListener('click', async ()=>{ if (!window.confirm('确认删除运营商?')) return; await fetch(`/api/cloud/operators/${r.id}`, { method:'DELETE' }); showStatus('删除成功'); hideStatusSoon(); await loadOps() }); td8.appendChild(view); td8.appendChild(edit); td8.appendChild(del); tr.appendChild(td1); tr.appendChild(td2); tr.appendChild(td3); tr.appendChild(td4); tr.appendChild(td5); tr.appendChild(td6); tr.appendChild(td7); tr.appendChild(td8); body.appendChild(tr) }) } +const setOpOptions = rows => { const fill = id => { const el = document.getElementById(id); if (!el) return; el.innerHTML=''; const ph=document.createElement('option'); ph.value=''; ph.textContent='请选择运营商'; el.appendChild(ph); rows.forEach(r=>{ const op=document.createElement('option'); op.value=String(r.id); op.textContent=r.name||(`#${r.id}`); el.appendChild(op) }) }; fill('ecs-op'); fill('vas-op'); opMap = {}; rows.forEach(r=>{ opMap[r.id] = r.name||(`#${r.id}`) }) } +const loadOps = async () => { showStatus('正在查询运营商...'); try { await logEvent({ action:'ops_load_start' }); const r = await fetch('/api/cloud/operators', { credentials: 'include' }); const d = await r.json(); console.log('运营商数据:', d); if (d.ok) { opsCache = d.rows || []; renderOps(d.rows); setOpOptions(d.rows); await logEvent({ action:'ops_load_done', count:(d.rows||[]).length }) } else { console.error('运营商数据返回错误:', d); await logEvent({ action:'ops_load_fail', error: JSON.stringify(d) }) } } catch (e) { console.error('加载运营商数据失败:', e); await logEvent({ action:'ops_load_error', error:String(e&&e.message||e) }) } hideStatusSoon() } +const addOp = async () => { try { const name=document.getElementById('op-name').value.trim(); const login_account=document.getElementById('op-account').value.trim(); const login_password=document.getElementById('op-password').value.trim(); const mobile=document.getElementById('op-mobile').value.trim(); const contact_person=document.getElementById('op-contact').value.trim(); const remark=(document.getElementById('op-remark')&&document.getElementById('op-remark').value)||''; const is_company_verified=document.getElementById('op-verified').checked?1:0; if (!name) { showStatus('请填写名称'); hideStatusSoon(); return } const resp = await fetch('/api/cloud/operators', { method:'POST', headers:{'Content-Type':'application/json'}, credentials: 'include', body: JSON.stringify({ name, login_account, login_password, mobile, contact_person, remark, is_company_verified }) }); if (!resp.ok) throw new Error((await resp.json().catch(()=>({}))).error || '保存失败'); showStatus('新增成功'); hideStatusSoon(); await loadOps() } catch(e) { showStatus('保存失败: ' + (e.message||e)); hideStatusSoon(); } } +const saveOp = async () => { try { if (!editingOpId) { showStatus('请先在列表中点击修改'); hideStatusSoon(); return } const name=document.getElementById('op-name').value.trim(); const login_account=document.getElementById('op-account').value.trim(); const login_password=document.getElementById('op-password').value.trim(); const mobile=document.getElementById('op-mobile').value.trim(); const contact_person=document.getElementById('op-contact').value.trim(); const remark=(document.getElementById('op-remark')&&document.getElementById('op-remark').value)||''; const is_company_verified=document.getElementById('op-verified').checked?1:0; if (!name) { showStatus('请填写名称'); hideStatusSoon(); return } const resp = await fetch(`/api/cloud/operators/${editingOpId}`, { method:'PUT', headers:{'Content-Type':'application/json'}, credentials: 'include', body: JSON.stringify({ id: editingOpId, name, login_account, login_password, mobile, contact_person, remark, is_company_verified }) }); if (!resp.ok) throw new Error((await resp.json().catch(()=>({}))).error || '保存失败'); editingOpId=null; showStatus('保存成功'); hideStatusSoon(); await loadOps() } catch(e) { showStatus('保存失败: ' + (e.message||e)); hideStatusSoon(); } } + +const renderEcs = rows => { ecsCache = rows || []; const body=document.getElementById('ecs-body'); if (!body) return; body.innerHTML=''; ecsCache.forEach(r=>{ const tr=document.createElement('tr'); const td1=document.createElement('td'); td1.textContent=r.id; const td2=document.createElement('td'); td2.textContent=opMap[r.operator_id]||String(r.operator_id||''); const td2b=document.createElement('td'); td2b.textContent=r.server_name||''; const td3=document.createElement('td'); td3.textContent=r.region||''; const td4=document.createElement('td'); td4.textContent=r.zone||''; const td5=document.createElement('td'); td5.textContent=r.rdp_ip||''; const td6=document.createElement('td'); td6.textContent=r.rdp_user||''; const td7=document.createElement('td'); td7.textContent=r.rdp_password||''; const td8=createExpandableCell(r.spec_text||'', 'spec-text'); const td9=createExpandableCell(r.open_ports_text||'', 'ports-text'); const td10=document.createElement('td'); td10.className='col-actions'; const view=document.createElement('button'); view.className='action-btn view'; view.title='查看'; view.textContent='👁'; view.addEventListener('click', ()=>{ openModal('ecs', 'view', r.id) }); const edit=document.createElement('button'); edit.className='action-btn edit'; edit.title='修改'; edit.textContent='✎'; edit.addEventListener('click', ()=>{ openModal('ecs', 'edit', r.id) }); const del=document.createElement('button'); del.className='action-btn delete'; del.title='删除'; del.textContent='🗑'; del.addEventListener('click', async ()=>{ if (!window.confirm('确认删除服务器?')) return; await fetch(`/api/cloud/ecs/${r.id}`, { method:'DELETE' }); showStatus('删除成功'); hideStatusSoon(); await loadEcs() }); td10.appendChild(view); td10.appendChild(edit); td10.appendChild(del); tr.appendChild(td1); tr.appendChild(td2); tr.appendChild(td2b); tr.appendChild(td3); tr.appendChild(td4); tr.appendChild(td5); tr.appendChild(td6); tr.appendChild(td7); tr.appendChild(td8); tr.appendChild(td9); tr.appendChild(td10); body.appendChild(tr) }) } +const loadEcs = async () => { showStatus('正在查询服务器...'); try { await logEvent({ action:'ecs_load_start' }); const r = await fetch('/api/cloud/ecs', { credentials: 'include' }); const d = await r.json(); console.log('ECS数据:', d); if (d.ok) { renderEcs(d.rows); await logEvent({ action:'ecs_load_done', count:(d.rows||[]).length }) } else { console.error('ECS返回错误:', d); await logEvent({ action:'ecs_load_fail', error: JSON.stringify(d) }) } } catch (e) { console.error('加载ECS失败:', e); await logEvent({ action:'ecs_load_error', error:String(e&&e.message||e) }) } hideStatusSoon() } +const addEcs = async () => { try { const operator_id=parseInt(document.getElementById('ecs-op').value||'0',10); const server_name=document.getElementById('ecs-name').value||''; const spec_text=document.getElementById('ecs-spec').value||''; const region=document.getElementById('ecs-region').value||''; const zone=document.getElementById('ecs-zone').value||''; const rdp_ip=document.getElementById('ecs-ip').value||''; const rdp_user=document.getElementById('ecs-user').value||''; const rdp_password=document.getElementById('ecs-pass').value||''; const open_ports_text=document.getElementById('ecs-ports').value||''; if (!operator_id) { showStatus('请选择运营商'); hideStatusSoon(); return } const resp = await fetch('/api/cloud/ecs', { method:'POST', headers:{'Content-Type':'application/json'}, credentials: 'include', body: JSON.stringify({ operator_id, server_name, spec_text, region, zone, rdp_ip, rdp_user, rdp_password, open_ports_text }) }); if (!resp.ok) throw new Error((await resp.json().catch(()=>({}))).error || '保存失败'); showStatus('新增成功'); hideStatusSoon(); await loadEcs() } catch(e) { showStatus('保存失败: ' + (e.message||e)); hideStatusSoon(); } } +const saveEcs = async () => { try { if (!editingEcsId) { showStatus('请先在列表中点击修改'); hideStatusSoon(); return } const operator_id=parseInt(document.getElementById('ecs-op').value||'0',10); const server_name=document.getElementById('ecs-name').value||''; const spec_text=document.getElementById('ecs-spec').value||''; const region=document.getElementById('ecs-region').value||''; const zone=document.getElementById('ecs-zone').value||''; const rdp_ip=document.getElementById('ecs-ip').value||''; const rdp_user=document.getElementById('ecs-user').value||''; const rdp_password=document.getElementById('ecs-pass').value||''; const open_ports_text=document.getElementById('ecs-ports').value||''; if (!operator_id) { showStatus('请选择运营商'); hideStatusSoon(); return } const resp = await fetch(`/api/cloud/ecs/${editingEcsId}`, { method:'PUT', headers:{'Content-Type':'application/json'}, credentials: 'include', body: JSON.stringify({ id: editingEcsId, operator_id, server_name, spec_text, region, zone, rdp_ip, rdp_user, rdp_password, open_ports_text }) }); if (!resp.ok) throw new Error((await resp.json().catch(()=>({}))).error || '保存失败'); editingEcsId=null; showStatus('保存成功'); hideStatusSoon(); await loadEcs() } catch(e) { showStatus('保存失败: ' + (e.message||e)); hideStatusSoon(); } } + +const renderVas = rows => { vasCache = rows || []; const body=document.getElementById('vas-body'); if (!body) return; body.innerHTML=''; vasCache.forEach(r=>{ const tr=document.createElement('tr'); const td1=document.createElement('td'); td1.textContent=r.id; const td2=document.createElement('td'); td2.textContent=opMap[r.operator_id]||String(r.operator_id||''); const td3=document.createElement('td'); td3.textContent=r.name||''; const td4=createExpandableCell(r.config_text||'', 'vas-config'); const td5=createExpandableCell(r.access_text||'', 'vas-access'); const td6=document.createElement('td'); td6.className='col-actions'; const view=document.createElement('button'); view.className='action-btn view'; view.title='查看'; view.textContent='👁'; view.addEventListener('click', ()=>{ openModal('vas', 'view', r.id) }); const edit=document.createElement('button'); edit.className='action-btn edit'; edit.title='修改'; edit.textContent='✎'; edit.addEventListener('click', ()=>{ openModal('vas', 'edit', r.id) }); const del=document.createElement('button'); del.className='action-btn delete'; del.title='删除'; del.textContent='🗑'; del.addEventListener('click', async ()=>{ if (!window.confirm('确认删除增值服务?')) return; await fetch(`/api/cloud/vas/${r.id}`, { method:'DELETE' }); showStatus('删除成功'); hideStatusSoon(); await loadVas() }); td6.appendChild(view); td6.appendChild(edit); td6.appendChild(del); tr.appendChild(td1); tr.appendChild(td2); tr.appendChild(td3); tr.appendChild(td4); tr.appendChild(td5); tr.appendChild(td6); body.appendChild(tr) }) } +const loadVas = async () => { showStatus('正在查询增值服务...'); try { await logEvent({ action:'vas_load_start' }); const r = await fetch('/api/cloud/vas', { credentials: 'include' }); const d = await r.json(); console.log('增值服务数据:', d); if (d.ok) { renderVas(d.rows); await logEvent({ action:'vas_load_done', count:(d.rows||[]).length }) } else { console.error('增值服务返回错误:', d); await logEvent({ action:'vas_load_fail', error: JSON.stringify(d) }) } } catch (e) { console.error('加载增值服务失败:', e); await logEvent({ action:'vas_load_error', error:String(e&&e.message||e) }) } hideStatusSoon() } +const addVas = async () => { const operator_id=parseInt(document.getElementById('vas-op').value||'0',10); const name=document.getElementById('vas-name').value||''; const config_text=document.getElementById('vas-config').value||''; const access_text=document.getElementById('vas-access').value||''; if (!operator_id || !name) { showStatus('请选择运营商并填写名称'); hideStatusSoon(); return } await fetch('/api/cloud/vas', { method:'POST', headers:{'Content-Type':'application/json'}, credentials: 'include', body: JSON.stringify({ operator_id, name, config_text, access_text }) }); showStatus('新增成功'); hideStatusSoon(); await loadVas() } +const saveVas = async () => { if (!editingVasId) { showStatus('请先在列表中点击修改'); hideStatusSoon(); return } const operator_id=parseInt(document.getElementById('vas-op').value||'0',10); const name=document.getElementById('vas-name').value||''; const config_text=document.getElementById('vas-config').value||''; const access_text=document.getElementById('vas-access').value||''; if (!operator_id || !name) { showStatus('请选择运营商并填写名称'); hideStatusSoon(); return } await fetch(`/api/cloud/vas/${editingVasId}`, { method:'PUT', headers:{'Content-Type':'application/json'}, credentials: 'include', body: JSON.stringify({ id: editingVasId, operator_id, name, config_text, access_text }) }); editingVasId=null; showStatus('保存成功'); hideStatusSoon(); await loadVas() } + +const findSubjectName = (type, id) => { if (type==='ecs') { const t=ecsCache.find(x=>x.id===id); if (t) return `${t.server_name||''}` } else if (type==='vas') { const v=vasCache.find(x=>x.id===id); if (v) return `${v.name||''}` } return '' } +const renderRenew = rows => { const body=document.getElementById('rn-body'); if (!body) return; body.innerHTML=''; rows.forEach(r=>{ const tr=document.createElement('tr'); const td1=document.createElement('td'); td1.textContent=(r.subject_type==='ecs'?'ECS':'增值服务'); const td2=document.createElement('td'); td2.className='rn-text'; td2.textContent=findSubjectName(r.subject_type, r.subject_id)||''; const td3=document.createElement('td'); td3.textContent=r.subject_id; const td4=document.createElement('td'); td4.textContent=r.paid_date||''; const td5=document.createElement('td'); td5.textContent=fmtCents(r.amount_cents); const td6=document.createElement('td'); td6.className='rn-text'; if (r.invoice_path) { const a=document.createElement('a'); a.href=r.invoice_path; a.textContent='下载'; a.target='_blank'; td6.appendChild(a) } else { td6.textContent='' } const td7=document.createElement('td'); td7.textContent=r.payer_company||''; const td8=document.createElement('td'); td8.textContent=r.expire_date||''; const td9=document.createElement('td'); td9.textContent=fmtCents(r.next_expected_amount_cents||0); const td10=document.createElement('td'); td10.className='col-actions'; const view=document.createElement('button'); view.className='action-btn view'; view.title='查看'; view.textContent='👁'; view.addEventListener('click', ()=>{ openModal('renew', 'view', r.id) }); const edit=document.createElement('button'); edit.className='action-btn edit'; edit.title='修改'; edit.textContent='✎'; edit.addEventListener('click', ()=>{ openModal('renew', 'edit', r.id) }); const del=document.createElement('button'); del.className='action-btn delete'; del.title='删除'; del.textContent='🗑'; del.addEventListener('click', async ()=>{ if (!window.confirm('确认删除续费记录?')) return; await fetch(`/api/cloud/renew/${r.id}`, { method:'DELETE' }); showStatus('删除成功'); hideStatusSoon(); await loadRenew() }); td10.appendChild(view); td10.appendChild(edit); td10.appendChild(del); tr.appendChild(td1); tr.appendChild(td2); tr.appendChild(td3); tr.appendChild(td4); tr.appendChild(td5); tr.appendChild(td6); tr.appendChild(td7); tr.appendChild(td8); tr.appendChild(td9); tr.appendChild(td10); body.appendChild(tr) }) } +const loadRenew = async () => { showStatus('正在查询续费情况...'); const r = await fetch('/api/cloud/renew', { credentials: 'include' }); const d = await r.json(); if (d.ok) renderRenew(d.rows); hideStatusSoon() } +const addRenew = async () => { try { const subject_type=document.getElementById('rn-type').value; const subject_id=parseInt(document.getElementById('rn-subject').value||'0',10); const paid_date=document.getElementById('rn-paid').value; const amount=parseFloat(document.getElementById('rn-amount').value||'0'); const amount_cents=Math.round(amount*100); let invoice_path=document.getElementById('rn-invoice').value||''; const payer_company=document.getElementById('rn-payer').value||''; const expire_date=document.getElementById('rn-expire').value||''; const next=parseFloat(document.getElementById('rn-next').value||'0'); const next_expected_amount_cents=Math.round(next*100); if (!subject_id || !paid_date || !amount_cents) { showStatus('请完整选择主体、填写缴费日期与金额'); hideStatusSoon(); return } const fEl=document.getElementById('rn-invoice-file'); if (fEl && fEl.files && fEl.files[0]) { try { const file=fEl.files[0]; const buf=await file.arrayBuffer(); const rr=await fetch(`/api/cloud/renew/invoice?filename=${encodeURIComponent(file.name)}`, { method:'POST', headers:{'Content-Type':'application/octet-stream'}, credentials: 'include', body: buf }); const dd=await rr.json(); if (dd && dd.ok && dd.path) invoice_path=dd.path } catch {} } const resp = await fetch('/api/cloud/renew', { method:'POST', headers:{'Content-Type':'application/json'}, credentials: 'include', body: JSON.stringify({ subject_type, subject_id, paid_date, amount_cents, invoice_path, payer_company, expire_date, next_expected_amount_cents }) }); if (!resp.ok) throw new Error((await resp.json().catch(()=>({}))).error || '保存失败'); showStatus('新增成功'); hideStatusSoon(); await loadRenew() } catch(e) { showStatus('保存失败: ' + (e.message||e)); hideStatusSoon(); } } +const saveRenew = async () => { try { if (!editingRnId) { showStatus('请先在列表中点击修改'); hideStatusSoon(); return } const subject_type=document.getElementById('rn-type').value; const subject_id=parseInt(document.getElementById('rn-subject').value||'0',10); const paid_date=document.getElementById('rn-paid').value; const amount=parseFloat(document.getElementById('rn-amount').value||'0'); const amount_cents=Math.round(amount*100); let invoice_path=document.getElementById('rn-invoice').value||''; const payer_company=document.getElementById('rn-payer').value||''; const expire_date=document.getElementById('rn-expire').value||''; const next=parseFloat(document.getElementById('rn-next').value||'0'); const next_expected_amount_cents=Math.round(next*100); if (!subject_id || !paid_date || !amount_cents) { showStatus('请完整选择主体、填写缴费日期与金额'); hideStatusSoon(); return } const fEl=document.getElementById('rn-invoice-file'); if (fEl && fEl.files && fEl.files[0]) { try { const file=fEl.files[0]; const buf=await file.arrayBuffer(); const rr=await fetch(`/api/cloud/renew/invoice?filename=${encodeURIComponent(file.name)}`, { method:'POST', headers:{'Content-Type':'application/octet-stream'}, credentials: 'include', body: buf }); const dd=await rr.json(); if (dd && dd.ok && dd.path) invoice_path=dd.path } catch {} } const resp = await fetch(`/api/cloud/renew/${editingRnId}`, { method:'PUT', headers:{'Content-Type':'application/json'}, credentials: 'include', body: JSON.stringify({ id: editingRnId, subject_type, subject_id, paid_date, amount_cents, invoice_path, payer_company, expire_date, next_expected_amount_cents }) }); if (!resp.ok) throw new Error((await resp.json().catch(()=>({}))).error || '保存失败'); editingRnId=null; showStatus('保存成功'); hideStatusSoon(); await loadRenew() } catch(e) { showStatus('保存失败: ' + (e.message||e)); hideStatusSoon(); } } + + +const updateRenewSubjectOptions = () => { const sel=document.getElementById('rn-subject'); if (!sel) return; const tp=document.getElementById('rn-type').value; sel.innerHTML=''; const ph=document.createElement('option'); ph.value=''; ph.textContent='请选择主体'; sel.appendChild(ph); if (tp==='ecs') { ecsCache.forEach(e=>{ const op=document.createElement('option'); op.value=String(e.id); op.textContent=`${e.server_name||''} | ${e.rdp_ip||''}`; sel.appendChild(op) }) } else { vasCache.forEach(v=>{ const op=document.createElement('option'); op.value=String(v.id); op.textContent=`${opMap[v.operator_id]||''} | ${v.name||''}`; sel.appendChild(op) }) } } + +const updateNoteSubjectOptions = () => { + const sel = document.getElementById('nt-subject'); + if (!sel) return; + const tp = document.getElementById('nt-type').value; + sel.innerHTML = ''; + const ph = document.createElement('option'); + ph.value = ''; + ph.textContent = '请选择主体'; + sel.appendChild(ph); + if (tp === 'ecs') { + ecsCache.forEach(e => { + const op = document.createElement('option'); + op.value = String(e.id); + op.textContent = `${e.server_name || ''} | ${e.rdp_ip || ''}`; + sel.appendChild(op); + }); + } else { + vasCache.forEach(v => { + const op = document.createElement('option'); + op.value = String(v.id); + op.textContent = `${opMap[v.operator_id] || ''} | ${v.name || ''}`; + sel.appendChild(op); + }); + } +} + +// 恢复上传功能 +function showResumeUploads() { + const pendingUploads = []; + + for (const [fileKey, state] of uploadStates.entries()) { + const [noteId, fileName] = fileKey.split('_'); + const progress = Math.round((state.completedChunks / state.totalChunks) * 100); + + pendingUploads.push({ + fileKey, + noteId, + fileName, + progress, + completedChunks: state.completedChunks, + totalChunks: state.totalChunks, + error: state.error, + lastErrorTime: state.lastErrorTime + }); + } + + if (pendingUploads.length === 0) { + showStatus('没有发现未完成的上传'); + return; + } + + // 创建恢复上传的模态框 + const modalContent = document.createElement('div'); + modalContent.className = 'resume-upload-modal'; + modalContent.innerHTML = ` +

    未完成的上传

    +
    + ${pendingUploads.map(upload => ` +
    +
    + ${upload.fileName} + ${upload.progress}% +
    +
    +
    +
    + ${upload.error ? `
    错误: ${upload.error}
    ` : ''} +
    + + +
    +
    + `).join('')} +
    + + `; + + // 添加到页面 + const existingModal = document.getElementById('resume-upload-modal'); + if (existingModal) { + document.body.removeChild(existingModal); + } + + modalContent.id = 'resume-upload-modal'; + modalContent.style.cssText = ` + position: fixed; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + background: white; + padding: 20px; + border-radius: 8px; + box-shadow: 0 4px 20px rgba(0,0,0,0.15); + z-index: 10000; + max-width: 500px; + max-height: 80vh; + overflow-y: auto; + `; + + document.body.appendChild(modalContent); +} + +function closeResumeModal() { + const modal = document.getElementById('resume-upload-modal'); + if (modal) { + document.body.removeChild(modal); + } +} + +function resumeUpload(fileKey) { + const state = uploadStates.get(fileKey); + if (!state) return; + + showStatus(`准备恢复上传 ${state.fileName}...`); + + // 创建文件选择对话框让用户重新选择文件 + const fileInput = document.createElement('input'); + fileInput.type = 'file'; + fileInput.accept = '*/*'; + fileInput.style.display = 'none'; + + fileInput.onchange = async (e) => { + const file = e.target.files[0]; + if (!file) return; + + if (file.name !== state.fileName) { + showStatus('请选择相同的文件进行恢复上传'); + return; + } + + // 模拟上传过程 + showStatus(`恢复上传 ${file.name}...`); + + // 这里应该调用实际的恢复上传逻辑 + // 由于浏览器安全限制,无法直接访问之前选择的文件 + // 需要用户重新选择文件 + + try { + const CHUNK_SIZE = 1024 * 1024; + const totalChunks = Math.ceil(file.size / CHUNK_SIZE); + + for (let chunkIdx = state.completedChunks; chunkIdx < totalChunks; chunkIdx++) { + const start = chunkIdx * CHUNK_SIZE; + const end = Math.min(start + CHUNK_SIZE, file.size); + const slice = file.slice(start, end); + const buf = await slice.arrayBuffer(); + + showStatus(`正在上传 ${file.name} (${chunkIdx + 1}/${totalChunks})...`); + + const r = await fetch(`/api/cloud/notes/attachment?note_id=${fileKey.split('_')[0]}&filename=${encodeURIComponent(file.name)}&chunk_idx=${chunkIdx}&total_chunks=${totalChunks}&upload_id=${state.uploadId}`, { + method: 'POST', + headers: { 'Content-Type': 'application/octet-stream' }, + body: buf + }); + + if (!r.ok) throw new Error(`Chunk ${chunkIdx} failed`); + + // 更新上传状态 + uploadStates.set(fileKey, { + ...state, + completedChunks: chunkIdx + 1 + }); + } + + // 上传完成 + uploadStates.delete(fileKey); + showStatus(`文件 ${file.name} 上传成功`); + closeResumeModal(); + + } catch (e) { + console.error('Resume upload failed:', e); + showStatus(`恢复上传失败: ${e.message}`); + + // 更新错误状态 + uploadStates.set(fileKey, { + ...state, + error: e.message, + lastErrorTime: Date.now() + }); + } + }; + + document.body.appendChild(fileInput); + fileInput.click(); + document.body.removeChild(fileInput); +} + +function cancelUpload(fileKey) { + if (confirm('确定要取消这个上传吗?')) { + uploadStates.delete(fileKey); + showStatus('上传已取消'); + closeResumeModal(); + showResumeUploads(); // 刷新列表 + } +} + +// 添加快捷键检查未完成的上传 +document.addEventListener('keydown', (e) => { + if (e.ctrlKey && e.key === 'u') { + e.preventDefault(); + showResumeUploads(); + } +});; + +const renderNotes = rows => { + const body = document.getElementById('nt-body'); + if (!body) return; + body.innerHTML = ''; + rows.forEach(r => { + const tr = document.createElement('tr'); + + const td1 = document.createElement('td'); + td1.textContent = (r.subject_type === 'ecs' ? 'ECS' : '增值服务'); + + const td2 = document.createElement('td'); + td2.textContent = findSubjectName(r.subject_type, r.subject_id) || `#${r.subject_id}`; + + const td3 = createExpandableCell(r.issue_text || '', 'note-text'); + + const td4 = createExpandableCell(r.solution_text || '', 'note-text'); + + const td5 = document.createElement('td'); + if (r.attachments && r.attachments.length) { + r.attachments.forEach(att => { + const div = document.createElement('div'); + const a = document.createElement('a'); + a.href = att.file_path; + a.textContent = att.filename; + a.target = '_blank'; + div.appendChild(a); + + const delAtt = document.createElement('span'); + delAtt.textContent = ' ❌'; + delAtt.style.cursor = 'pointer'; + delAtt.title = '删除附件'; + delAtt.onclick = async (e) => { + e.preventDefault(); + if (!confirm(`确认删除附件 ${att.filename}?`)) return; + await fetch(`/api/cloud/notes/attachment/${att.id}`, { method: 'DELETE' }); + await loadNotes(); + }; + div.appendChild(delAtt); + + td5.appendChild(div); + }); + } + + const td6 = document.createElement('td'); + td6.className = 'col-actions'; + + const view = document.createElement('button'); + view.className = 'action-btn view'; + view.title = '查看'; + view.textContent = '👁'; + view.addEventListener('click', () => { + openModal('notes', 'view', r.id); + }); + + const edit = document.createElement('button'); + edit.className = 'action-btn edit'; + edit.title = '修改'; + edit.textContent = '✎'; + edit.addEventListener('click', () => { + openModal('notes', 'edit', r.id); + }); + + const del = document.createElement('button'); + del.className = 'action-btn delete'; + del.title = '删除'; + del.textContent = '🗑'; + del.addEventListener('click', async () => { + if (!confirm('确认删除该笔记?')) return; + await fetch(`/api/cloud/notes/${r.id}`, { method: 'DELETE' }); + showStatus('删除成功'); + hideStatusSoon(); + await loadNotes(); + }); + + td6.appendChild(view); + td6.appendChild(edit); + td6.appendChild(del); + + tr.appendChild(td1); + tr.appendChild(td2); + tr.appendChild(td3); + tr.appendChild(td4); + tr.appendChild(td5); + tr.appendChild(td6); + body.appendChild(tr); + }); +}; + +const loadNotes = async (silent = false) => { + const shouldShowStatus = !silent && currentTab === 'notes' + if (shouldShowStatus) showStatus('正在查询学习笔记...') + try { + const r = await fetch('/api/cloud/notes', { credentials: 'include' }); + const d = await r.json(); + if (d.ok) renderNotes(d.rows); + } catch (e) { + console.error(e); + } + if (shouldShowStatus) hideStatusSoon() +}; + +const setButtonLoading = (button, loadingText) => { + if (!button) return () => {} + const oldText = button.textContent + button.disabled = true + button.textContent = loadingText + return () => { + button.disabled = false + button.textContent = oldText + } +} + +const fmtBalanceStatus = (status, errorText) => { + if (status === 'ok') return '已同步' + if (status === 'disabled') return '已关闭' + if (status === 'pending') return '待同步' + if (status === 'error') return `失败${errorText ? `: ${errorText}` : ''}` + return status || '未知' +} + +const createStatusBadge = (status, errorText) => { + const span = document.createElement('span') + span.className = 'badge' + if (status === 'ok') span.classList.add('success') + else if (status === 'error') span.classList.add('danger') + else span.classList.add('muted') + span.textContent = fmtBalanceStatus(status, errorText) + if (errorText) span.title = errorText + return span +} + +const getRiskMeta = level => { + if (level === 'high') return { text: '高', className: 'danger' } + if (level === 'low') return { text: '低', className: 'success' } + return { text: '中', className: 'warning' } +} + +const formatJsonBlock = value => { + try { return JSON.stringify(value, null, 2) } catch { return String(value || '') } +} + +const explainBalanceScanResponse = data => { + const d = data || {} + if (d.message === 'scan_in_progress') { + return formatJsonBlock({ + reason: '8977 自动服务正在执行补扫,本次点击没有重复启动新任务', + current_port: d.current_port || '未知', + automation_port: d.automation_port || 8977, + note: '如果邮件正文此前为空,本次扫描完成后或刷新列表时会显示从 HTML 正文转换出的文本', + runtime: d.runtime || {} + }) + } + if (d.message === 'scan_started') { + return formatJsonBlock({ + reason: '补扫任务已提交到 8977 自动服务执行', + current_port: d.current_port || '未知', + automation_port: d.automation_port || 8977, + runtime: d.runtime || {} + }) + } + if (d.reason === 'not_automation_port') { + return formatJsonBlock({ + reason: '当前页面请求落在非自动服务端口,补扫未在本实例执行', + current_port: d.current_port || '未知', + automation_port: d.automation_port || 8977, + suggestion: '现在已加入 8976 -> 8977 自动转发;重启服务后再试一次' + }) + } + if (d.error || d.detail || d.route) { + return formatJsonBlock({ + error: d.error || '', + detail: d.detail || '', + route: d.route || '', + proxied_to_automation: !!d.proxied_to_automation + }) + } + return formatJsonBlock(d) +} + +const openBalanceTraceDialog = () => { + const modalOverlay = document.getElementById('modal-overlay') + const modalTitle = document.getElementById('modal-title') + const modalBody = document.getElementById('modal-body') + const modalFooter = document.getElementById('modal-footer') + balanceScanTrace = [] + modalTitle.textContent = '补扫详情' + modalBody.innerHTML = '
    ' + modalFooter.innerHTML = '' + modalOverlay.style.display = 'flex' +} + +const renderBalanceTraceDialog = () => { + const el = document.getElementById('balance-trace-body') + if (!el) return + el.innerHTML = balanceScanTrace.map(item => ` +
    +
    + ${escapeHtml(item.title || '')} + ${escapeHtml(item.time || '')} +
    + ${item.detail ? `
    ${escapeHtml(item.detail)}
    ` : ''} +
    + `).join('') +} + +const appendBalanceTrace = (title, detail, level = 'info') => { + const item = { title, detail: detail ? String(detail) : '', level, time: fmtBeijingDateTime(new Date().toISOString()) } + balanceScanTrace.push(item) + renderBalanceTraceDialog() +} + +async function copyBalanceTrace() { + try { + await navigator.clipboard.writeText(balanceScanTrace.map(item => `[${item.time}] ${item.title}\n${item.detail || ''}`).join('\n\n')) + showStatus('补扫详情已复制') + hideStatusSoon() + } catch {} +} + +const escapeHtml = value => String(value == null ? '' : value) + .replace(/&/g, '&') + .replace(//g, '>') + .replace(/"/g, '"') + +const renderBalanceStatus = data => { + balanceStatusCache = data || null + const box = document.getElementById('balance-status-cards') + if (!box) return + const status = data || {} + const listener = status.listener || {} + const summary = status.summary || {} + const config = status.config || {} + const healthyClass = listener.healthy ? 'success' : 'danger' + const healthyText = listener.healthy ? '监听正常' : '监听待检查' + box.innerHTML = ` +
    +
    监听状态
    +
    ${healthyText}
    +
    端口 ${config.current_port || '-'} / 自动端 ${config.automation_port || '-'}
    +
    +
    +
    累计告警
    +
    ${summary.total || 0}
    +
    高风险 ${summary.high_risk_count || 0}
    +
    +
    +
    日历同步
    +
    ${summary.calendar_ok_count || 0}
    +
    成功 ${summary.calendar_ok_count || 0} / 失败 ${summary.calendar_error_count || 0}
    +
    +
    +
    最后扫描
    +
    ${listener.last_scan_finished_at ? fmtBeijingDateTime(listener.last_scan_finished_at) : '暂无'}
    +
    ${listener.last_error ? `异常: ${escapeHtml(listener.last_error)}` : `邮箱: ${escapeHtml(config.mailbox || '')} | 周报失败 ${summary.weekly_error_count || 0}`}
    +
    + ` +} + +const renderBalancePagination = data => { + const box = document.getElementById('balance-pagination') + if (!box) return + const total = Number(data && data.total || 0) + const page = Number(data && data.page || 1) + const pageSize = Number(data && data.page_size || balanceListState.pageSize || 10) + const pageCount = Math.max(1, Math.ceil(total / pageSize)) + box.innerHTML = ` + + 第 ${page} / ${pageCount} 页,共 ${total} 条 + + ` +} + +const renderBalanceAlerts = data => { + const body = document.getElementById('balance-body') + if (!body) return + const rows = data && data.rows ? data.rows : [] + body.innerHTML = '' + rows.forEach(row => { + const tr = document.createElement('tr') + const tdTime = document.createElement('td') + tdTime.textContent = fmtBeijingDateTime(row.received_at || '') + const tdRisk = document.createElement('td') + const riskBadge = document.createElement('span') + const riskMeta = getRiskMeta(row.risk_level) + riskBadge.className = `badge ${riskMeta.className}` + riskBadge.textContent = riskMeta.text + tdRisk.appendChild(riskBadge) + const tdSubject = createExpandableCell(row.subject || '', 'balance-subject') + const tdBody = createExpandableCell(row.text_body || '', 'balance-body-text') + const tdSender = document.createElement('td') + tdSender.className = 'balance-sender-cell' + tdSender.textContent = row.sender || '' + tdSender.title = row.sender || '' + const tdCalendar = document.createElement('td') + tdCalendar.className = 'balance-sync-cell' + tdCalendar.appendChild(createStatusBadge(row.calendar_sync_status, row.calendar_sync_error)) + const tdWeekly = document.createElement('td') + tdWeekly.className = 'balance-sync-cell' + tdWeekly.appendChild(createStatusBadge(row.weekly_sync_status, row.weekly_sync_error)) + const tdActions = document.createElement('td') + tdActions.className = 'col-actions' + const view = document.createElement('button') + view.className = 'action-btn view' + view.textContent = '👁' + view.title = '查看' + view.addEventListener('click', () => openBalanceDetail(row.id)) + const retryCalendar = document.createElement('button') + retryCalendar.className = 'action-btn' + retryCalendar.textContent = '📅' + retryCalendar.title = '重推日历' + retryCalendar.addEventListener('click', () => retryBalanceCalendar(row.id, retryCalendar)) + const retryWeekly = document.createElement('button') + retryWeekly.className = 'action-btn' + retryWeekly.textContent = '📰' + retryWeekly.title = '重推周报预留' + retryWeekly.addEventListener('click', () => retryBalanceWeekly(row.id, retryWeekly)) + tdActions.appendChild(view) + tdActions.appendChild(retryCalendar) + tdActions.appendChild(retryWeekly) + tr.appendChild(tdTime) + tr.appendChild(tdRisk) + tr.appendChild(tdSubject) + tr.appendChild(tdBody) + tr.appendChild(tdSender) + tr.appendChild(tdCalendar) + tr.appendChild(tdWeekly) + tr.appendChild(tdActions) + body.appendChild(tr) + }) + renderBalancePagination(data) +} + +const loadBalanceStatus = async () => { + const r = await fetch('/api/cloud/balance_alerts/status', { credentials: 'include', cache: 'no-store' }) + const d = await r.json() + if (d.ok) renderBalanceStatus(d.data) +} + +const loadBalanceAlerts = async (showLoading = true) => { + if (showLoading) showStatus('正在查询欠费通知...') + try { + balanceListState.keyword = (document.getElementById('balance-keyword') && document.getElementById('balance-keyword').value || '').trim() + const params = new URLSearchParams({ + page: String(balanceListState.page), + page_size: String(balanceListState.pageSize), + keyword: balanceListState.keyword + }) + const [listRes] = await Promise.all([ + fetch(`/api/cloud/balance_alerts?${params.toString()}`, { credentials: 'include', cache: 'no-store' }), + loadBalanceStatus() + ]) + const data = await listRes.json() + if (data.ok) renderBalanceAlerts(data) + } catch (e) { + console.error(e) + showStatus('欠费通知加载失败: ' + (e.message || e)) + } + hideStatusSoon() +} + +const startBalanceAutoRefresh = () => { + if (balanceAutoRefreshTimer) return + balanceAutoRefreshTimer = setInterval(() => { + if (currentTab === 'balance') loadBalanceAlerts(false) + }, 5000) +} + +const stopBalanceAutoRefresh = () => { + if (!balanceAutoRefreshTimer) return + clearInterval(balanceAutoRefreshTimer) + balanceAutoRefreshTimer = null +} + +async function triggerBalanceScan(buttonEl) { + const reset = setButtonLoading(buttonEl, '补扫中...') + openBalanceTraceDialog() + appendBalanceTrace('开始补扫', '触发动作:点击“立即补扫”按钮') + try { + const requestMeta = { + url: '/api/cloud/balance_alerts/scan', + method: 'POST', + current_time: fmtBeijingDateTime(new Date().toISOString()) + } + appendBalanceTrace('准备请求后端', formatJsonBlock(requestMeta)) + const r = await fetch('/api/cloud/balance_alerts/scan', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + credentials: 'include' + }) + appendBalanceTrace('收到后端响应', formatJsonBlock({ status: r.status, ok: r.ok, statusText: r.statusText })) + const rawText = await r.text() + appendBalanceTrace('响应原文', rawText || '(空)') + let d = {} + try { + d = rawText ? JSON.parse(rawText) : {} + } catch (parseErr) { + appendBalanceTrace('响应解析失败', String(parseErr && parseErr.message ? parseErr.message : parseErr), 'error') + throw parseErr + } + appendBalanceTrace('响应JSON', explainBalanceScanResponse(d)) + if (d.message === 'scan_in_progress') { + appendBalanceTrace('补扫任务状态', explainBalanceScanResponse(d), 'info') + showStatus('补扫任务已在 8977 执行中,请稍后刷新列表') + await loadBalanceStatus() + return + } + if (d.message === 'scan_started') { + appendBalanceTrace('补扫任务已提交', explainBalanceScanResponse(d), 'success') + showStatus('补扫任务已提交到 8977,稍后将自动刷新状态') + await loadBalanceStatus() + return + } + if (!r.ok || !d.ok) { + appendBalanceTrace('补扫失败', formatJsonBlock({ + error: d.error || '补扫失败', + reason: d.reason || '', + detail: d.detail || '', + current_port: d.current_port || '', + automation_port: d.automation_port || '', + fetched: d.fetched, + matched: d.matched, + inserted: d.inserted, + updated: d.updated, + last_uid: d.last_uid + }), 'error') + throw new Error(d.error || '补扫失败') + } + appendBalanceTrace('补扫完成', formatJsonBlock({ + fetched: d.fetched || 0, + matched: d.matched || 0, + inserted: d.inserted || 0, + updated: d.updated || 0, + last_uid: d.last_uid || 0 + }), 'success') + showStatus(`补扫完成,匹配 ${d.matched || 0} 封`) + await loadBalanceAlerts(false) + } catch (e) { + appendBalanceTrace('异常中断', String(e && e.message ? e.message : e), 'error') + showStatus('补扫失败: ' + (e.message || e)) + } finally { + reset() + if (!balanceScanTrace.some(item => item.level === 'error')) hideStatusSoon() + } +} + +async function retryBalanceCalendar(id, buttonEl) { + const reset = setButtonLoading(buttonEl, '重推中...') + try { + const r = await fetch(`/api/cloud/balance_alerts/${id}/retry_calendar`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + credentials: 'include' + }) + const d = await r.json() + if (!r.ok || !d.ok || d.ok === false) throw new Error(d.error || '日历重推失败') + showStatus('日历重推完成') + await loadBalanceAlerts(false) + } catch (e) { + showStatus('日历重推失败: ' + (e.message || e)) + } finally { + reset() + hideStatusSoon() + } +} + +async function retryBalanceWeekly(id, buttonEl) { + const reset = setButtonLoading(buttonEl, '预留推送中...') + try { + const r = await fetch(`/api/cloud/balance_alerts/${id}/retry_weekly`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + credentials: 'include' + }) + const d = await r.json() + if (!r.ok || !d.ok || d.ok === false) throw new Error(d.error || '周报预留推送失败') + showStatus(d.skipped ? '周报预留当前未开启' : '周报预留推送完成') + await loadBalanceAlerts(false) + } catch (e) { + showStatus('周报预留推送失败: ' + (e.message || e)) + } finally { + reset() + hideStatusSoon() + } +} + +async function openBalanceDetail(id) { + const modalOverlay = document.getElementById('modal-overlay') + const modalTitle = document.getElementById('modal-title') + const modalBody = document.getElementById('modal-body') + const modalFooter = document.getElementById('modal-footer') + modalTitle.textContent = '查看欠费通知' + modalBody.innerHTML = '
    正在加载详情...
    ' + modalFooter.innerHTML = '' + modalOverlay.style.display = 'flex' + try { + const r = await fetch(`/api/cloud/balance_alerts/${id}`, { credentials: 'include', cache: 'no-store' }) + const d = await r.json() + if (!r.ok || !d.ok || !d.row) throw new Error(d.error || '加载失败') + const row = d.row + modalBody.innerHTML = ` +
    +
    接收时间${escapeHtml(fmtBeijingDateTime(row.received_at || ''))}(北京时间)
    +
    发件人${escapeHtml(row.sender || '')}
    +
    风险级别${escapeHtml(row.risk_level || '')}
    +
    标题${escapeHtml(row.subject || '')}
    +
    匹配原因${escapeHtml(row.match_reason || '')}
    +
    日历主键${escapeHtml(row.calendar_event_id || '')}
    +
    周报主键${escapeHtml(row.weekly_external_id || '')}
    +
    日历同步${escapeHtml(fmtBalanceStatus(row.calendar_sync_status, row.calendar_sync_error))}
    +
    周报预留${escapeHtml(fmtBalanceStatus(row.weekly_sync_status, row.weekly_sync_error))}
    +
    正文
    +
    ${escapeHtml(row.text_body || '')}
    +
    头信息
    +
    ${escapeHtml(row.raw_headers || '')}
    +
    + ` + } catch (e) { + modalBody.innerHTML = `
    详情加载失败: ${escapeHtml(e.message || e)}
    ` + } +} + +function changeBalancePage(delta) { + balanceListState.page = Math.max(1, balanceListState.page + delta) + loadBalanceAlerts(false) +} + +// 存储上传状态 +const uploadStates = new Map(); + +const uploadNoteAttachments = async (noteId) => { + const fEl = document.getElementById('nt-files'); + if (!fEl || !fEl.files || fEl.files.length === 0) return; + + showStatus('正在上传附件...'); + const CHUNK_SIZE = 1024 * 1024; // 1MB chunks + + for (let i = 0; i < fEl.files.length; i++) { + const file = fEl.files[i]; + const totalChunks = Math.ceil(file.size / CHUNK_SIZE); + const uploadId = `${Date.now()}_${file.name}`; + + // 检查是否有之前的上传状态 + const fileKey = `${noteId}_${file.name}`; + let startChunk = 0; + + if (uploadStates.has(fileKey)) { + const state = uploadStates.get(fileKey); + startChunk = state.completedChunks; + showStatus(`恢复上传 ${file.name} (从第 ${startChunk + 1}/${totalChunks} 块开始)...`); + } else { + // 初始化上传状态 + uploadStates.set(fileKey, { + uploadId, + completedChunks: 0, + totalChunks, + fileSize: file.size, + fileName: file.name + }); + } + + try { + if (totalChunks <= 1) { + const buf = await file.arrayBuffer(); + const r = await fetch(`/api/cloud/notes/attachment?note_id=${noteId}&filename=${encodeURIComponent(file.name)}&upload_id=${uploadId}`, { + method: 'POST', + headers: { 'Content-Type': 'application/octet-stream' }, + credentials: 'include', + body: buf + }); + + if (r.ok) { + uploadStates.set(fileKey, { + ...uploadStates.get(fileKey), + completedChunks: 1 + }); + } + } else { + for (let chunkIdx = startChunk; chunkIdx < totalChunks; chunkIdx++) { + const start = chunkIdx * CHUNK_SIZE; + const end = Math.min(start + CHUNK_SIZE, file.size); + const slice = file.slice(start, end); + const buf = await slice.arrayBuffer(); + + showStatus(`正在上传附件 ${file.name} (${chunkIdx + 1}/${totalChunks})...`); + + const r = await fetch(`/api/cloud/notes/attachment?note_id=${noteId}&filename=${encodeURIComponent(file.name)}&chunk_idx=${chunkIdx}&total_chunks=${totalChunks}&upload_id=${uploadId}`, { + method: 'POST', + headers: { 'Content-Type': 'application/octet-stream' }, + credentials: 'include', + body: buf + }); + + if (!r.ok) { + // 上传失败,保存当前状态以便恢复 + throw new Error(`Chunk ${chunkIdx} failed`); + } + + // 更新上传状态 + const currentState = uploadStates.get(fileKey); + uploadStates.set(fileKey, { + ...currentState, + completedChunks: chunkIdx + 1 + }); + } + } + + // 上传完成,清除状态 + uploadStates.delete(fileKey); + showStatus(`附件 ${file.name} 上传成功`); + + } catch (e) { + console.error('Upload failed for', file.name, e); + showStatus(`附件 ${file.name} 上传失败: ${e.message}`); + + // 保存错误信息到状态 + const currentState = uploadStates.get(fileKey); + if (currentState) { + uploadStates.set(fileKey, { + ...currentState, + error: e.message, + lastErrorTime: Date.now() + }); + } + } + } + fEl.value = ''; +}; + +// 恢复上传功能 +const resumeUploads = async (noteId) => { + for (const [fileKey, state] of uploadStates.entries()) { + if (fileKey.startsWith(`${noteId}_`)) { + showStatus(`发现未完成的上传: ${state.fileName}`); + + // 创建虚拟文件输入元素来恢复上传 + const tempInput = document.createElement('input'); + tempInput.type = 'file'; + tempInput.id = 'temp-resume-file'; + + // 这里需要用户重新选择文件来恢复上传 + // 在实际应用中,可能需要更复杂的恢复机制 + showStatus(`请重新选择文件 ${state.fileName} 来恢复上传`); + } + } +}; + +const addNote = async () => { + const subject_type = document.getElementById('nt-type').value; + const subject_id = parseInt(document.getElementById('nt-subject').value || '0', 10); + const issue_text = document.getElementById('nt-issue').value; + const solution_text = document.getElementById('nt-solution').value; + + if (!subject_id) { + showStatus('请选择主体'); + hideStatusSoon(); + return; + } + + const r = await fetch('/api/cloud/notes', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + credentials: 'include', + body: JSON.stringify({ subject_type, subject_id, issue_text, solution_text }) + }); + const d = await r.json(); + + if (d.ok && d.id) { + await uploadNoteAttachments(d.id); + showStatus('新增成功'); + hideStatusSoon(); + await loadNotes(true); + document.getElementById('nt-issue').value = ''; + document.getElementById('nt-solution').value = ''; + document.getElementById('nt-files').value = ''; + } else { + showStatus('新增失败: ' + (d.error || '未知错误')); + } +}; + +const saveNote = async () => { + if (!editingNoteId) { + showStatus('请先在列表中点击修改'); + hideStatusSoon(); + return; + } + + const subject_type = document.getElementById('nt-type').value; + const subject_id = parseInt(document.getElementById('nt-subject').value || '0', 10); + const issue_text = document.getElementById('nt-issue').value; + const solution_text = document.getElementById('nt-solution').value; + + if (!subject_id) { + showStatus('请选择主体'); + hideStatusSoon(); + return; + } + + await fetch(`/api/cloud/notes/${editingNoteId}`, { + method: 'PUT', + headers: { 'Content-Type': 'application/json' }, + credentials: 'include', + body: JSON.stringify({ id: editingNoteId, subject_type, subject_id, issue_text, solution_text }) + }); + + await uploadNoteAttachments(editingNoteId); + + editingNoteId = null; + showStatus('保存成功'); + hideStatusSoon(); + await loadNotes(); + document.getElementById('nt-issue').value = ''; + document.getElementById('nt-solution').value = ''; + document.getElementById('nt-files').value = ''; +}; + +const initCloud = async () => { + try { + // 立即初始化标签页状态 + const activeTab=document.querySelector('.tab.active'); + const name=activeTab?activeTab.id.replace('tab-',''):'ops'; + switchTab(name); + + loadFlags() + document.getElementById('tab-ops').addEventListener('click', ()=>switchTab('ops')) + document.getElementById('tab-ecs').addEventListener('click', ()=>switchTab('ecs')) + document.getElementById('tab-vas').addEventListener('click', ()=>switchTab('vas')) + document.getElementById('tab-renew').addEventListener('click', ()=>switchTab('renew')) + document.getElementById('tab-notes').addEventListener('click', ()=>switchTab('notes')) + document.getElementById('tab-balance').addEventListener('click', ()=>switchTab('balance')) + const balanceScanBtn = document.getElementById('balance-btn-scan'); if (balanceScanBtn) balanceScanBtn.addEventListener('click', () => triggerBalanceScan(balanceScanBtn)) + const balanceRefreshBtn = document.getElementById('balance-btn-refresh'); if (balanceRefreshBtn) balanceRefreshBtn.addEventListener('click', () => loadBalanceAlerts(true)) + const balanceKeyword = document.getElementById('balance-keyword'); if (balanceKeyword) balanceKeyword.addEventListener('keydown', e => { if (e.key === 'Enter') { balanceListState.page = 1; loadBalanceAlerts(true) } }) + const bcp=document.getElementById('cd-btn-copy'); if (bcp) bcp.addEventListener('click', async ()=>{ try { await navigator.clipboard.writeText(out().textContent||'') } catch {} }) + const brf=document.getElementById('cd-btn-refresh'); if (brf) brf.addEventListener('click', async ()=>{ try { const r=await fetch('/api/debug/logs?limit=5000&channel=cloud'); const d=await r.json(); if (d.ok) { out().textContent=(d.lines||[]).join('\n'); out().scrollTop=out().scrollHeight } } catch {} }) + const bcl=document.getElementById('cd-btn-clear'); if (bcl) bcl.addEventListener('click', async ()=>{ try { await fetch('/api/debug/clear?channel=cloud', { method:'POST' }) } catch {}; out().textContent='' }) + await logEvent({ action:'boot' }); + await loadOps(); + await Promise.all([loadEcs(), loadVas()]); + await loadRenew(); + await loadNotes(); + await loadBalanceStatus(); + applyGridFontMode(); + } catch (e) { + try { fetch('/api/debug/event', { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify({ source:'cloud', action:'init_error', error:String(e&&e.message||e) }) }) } catch {} + } +} + +if (document.readyState === 'loading') { + document.addEventListener('DOMContentLoaded', initCloud) +} else { + initCloud() +} + +// 模态框功能 +let currentModalType = ''; +let currentModalAction = ''; +let currentModalId = null; + +// 初始化模态框下拉选项 +function renderSubjectOptions(prefix, subType, selectedValue = null) { + const subjectSelect = document.getElementById(`${prefix}-subject`); + if (!subjectSelect) return; + + subjectSelect.innerHTML = ''; + let list = []; + if (subType === 'ecs') list = ecsCache || []; + else if (subType === 'vas') list = vasCache || []; + + list.forEach(r => { + const op = document.createElement('option'); + op.value = String(r.id); + const opName = opMap[r.operator_id] || ''; + const name = subType === 'ecs' ? r.server_name : r.name; + op.textContent = `${opName ? `[${opName}] ` : ''}${name || `#${r.id}`}`; + if (selectedValue && String(r.id) === String(selectedValue)) { + op.selected = true; + } + subjectSelect.appendChild(op); + }); +} + +function initModalSelects(type) { + if (type === 'ecs' || type === 'vas') { + const el = document.getElementById(`modal-${type}-op`); + if (el) { + el.innerHTML = ''; + (opsCache || []).forEach(r => { + const op = document.createElement('option'); + op.value = String(r.id); + op.textContent = r.name || (`#${r.id}`); + el.appendChild(op); + }); + } + } else if (type === 'renew' || type === 'notes') { + const prefix = type === 'renew' ? 'modal-rn' : 'modal-nt'; + const typeSelect = document.getElementById(`${prefix}-type`); + + if (typeSelect) { + typeSelect.addEventListener('change', () => { + renderSubjectOptions(prefix, typeSelect.value); + }); + // Initial population + renderSubjectOptions(prefix, typeSelect.value); + } + } +} + +function openModal(type, action, id = null) { + currentModalType = type; + currentModalAction = action; + currentModalId = id; + if (type === 'renew' && action === 'add') currentRenewInvoicePath = ''; + + const modalOverlay = document.getElementById('modal-overlay'); + const modalTitle = document.getElementById('modal-title'); + const modalBody = document.getElementById('modal-body'); + const modalFooter = document.getElementById('modal-footer'); + + // 设置标题 + const titles = { + 'ops': '运营商', + 'ecs': 'ECS服务器', + 'vas': '增值服务', + 'renew': '续费记录', + 'notes': '学习笔记' + }; + + const actionText = action === 'add' ? '新增' : action === 'edit' ? '修改' : '查看'; + modalTitle.textContent = `${actionText}${titles[type]}`; + + // 生成表单内容 + modalBody.innerHTML = generateModalForm(type, action, id); + + // 生成底部按钮 + modalFooter.innerHTML = generateModalButtons(type, action); + + // 初始化下拉框 + initModalSelects(type); + + // 显示模态框 + modalOverlay.style.display = 'flex'; + + // 如果是编辑或查看模式,加载数据 + if (action !== 'add' && id) { + loadModalData(type, id); + } +} + +function closeModal() { + const modalOverlay = document.getElementById('modal-overlay'); + modalOverlay.style.display = 'none'; + currentModalType = ''; + currentModalAction = ''; + currentModalId = null; + currentRenewInvoicePath = ''; +} + +function generateModalForm(type, action, id) { + const isView = action === 'view'; + const readonly = isView ? 'readonly' : ''; + const disabled = isView ? 'disabled' : ''; + + switch (type) { + case 'ops': + return ` + + `; + + case 'ecs': + return ` + + `; + + case 'vas': + return ` + + `; + + case 'renew': + return ` + + `; + + case 'notes': + return ` + + `; + + default: + return '

    未知类型

    '; + } +} + +function generateModalButtons(type, action) { + const isView = action === 'view'; + + if (isView) { + return ` + + `; + } + + return ` + + + `; +} + +async function loadModalData(type, id) { + try { + showStatus('正在加载数据...'); + let row = null; + if (type === 'ops') { + const r = await fetch('/api/cloud/operators', { credentials: 'include' }); + const d = await r.json(); + if (d.ok) row = (d.rows || []).find(x => x.id === id); + } else if (type === 'ecs') { + row = (ecsCache || []).find(x => x.id === id) || null; + if (!row) { + const r = await fetch('/api/cloud/ecs', { credentials: 'include' }); + const d = await r.json(); + if (d.ok) { ecsCache = d.rows || []; row = ecsCache.find(x => x.id === id) } + } + } else if (type === 'vas') { + row = (vasCache || []).find(x => x.id === id) || null; + if (!row) { + const r = await fetch('/api/cloud/vas', { credentials: 'include' }); + const d = await r.json(); + if (d.ok) { vasCache = d.rows || []; row = vasCache.find(x => x.id === id) } + } + } else if (type === 'renew') { + const r = await fetch('/api/cloud/renew', { credentials: 'include' }); + const d = await r.json(); + if (d.ok) row = (d.rows || []).find(x => x.id === id); + } else if (type === 'notes') { + const r = await fetch('/api/cloud/notes', { credentials: 'include' }); + const d = await r.json(); + if (d.ok) row = (d.rows || []).find(x => x.id === id); + } + if (row) fillModalForm(type, row); + hideStatusSoon(); + } catch (error) { + showStatus('加载数据失败'); + hideStatusSoon(); + } +} + +function fillModalForm(type, data) { + switch (type) { + case 'ops': + document.getElementById('modal-op-name').value = data.name || ''; + document.getElementById('modal-op-account').value = data.login_account || ''; + document.getElementById('modal-op-password').value = data.login_password || ''; + document.getElementById('modal-op-mobile').value = data.mobile || ''; + document.getElementById('modal-op-contact').value = data.contact_person || ''; + document.getElementById('modal-op-remark').value = data.remark || ''; + document.getElementById('modal-op-verified').checked = !!data.is_company_verified; + break; + + case 'ecs': + document.getElementById('modal-ecs-op').value = data.operator_id || ''; + document.getElementById('modal-ecs-name').value = data.server_name || ''; + document.getElementById('modal-ecs-region').value = data.region || ''; + document.getElementById('modal-ecs-zone').value = data.zone || ''; + document.getElementById('modal-ecs-ip').value = data.rdp_ip || ''; + document.getElementById('modal-ecs-user').value = data.rdp_user || ''; + document.getElementById('modal-ecs-pass').value = data.rdp_password || ''; + document.getElementById('modal-ecs-spec').value = data.spec_text || ''; + document.getElementById('modal-ecs-ports').value = data.open_ports_text || ''; + break; + + case 'vas': + document.getElementById('modal-vas-op').value = data.operator_id || ''; + document.getElementById('modal-vas-name').value = data.name || ''; + document.getElementById('modal-vas-config').value = data.config_text || ''; + document.getElementById('modal-vas-access').value = data.access_text || ''; + break; + + case 'renew': + currentRenewInvoicePath = data.invoice_path || ''; + document.getElementById('modal-rn-type').value = data.subject_type || 'ecs'; + // 手动触发联动更新,并选中对应的主体 + renderSubjectOptions('modal-rn', data.subject_type || 'ecs', data.subject_id); + + document.getElementById('modal-rn-paid').value = data.paid_date || ''; + document.getElementById('modal-rn-amount').value = ((data.amount_cents || 0) / 100).toFixed(2); + document.getElementById('modal-rn-payer').value = data.payer_company || ''; + document.getElementById('modal-rn-expire').value = data.expire_date || ''; + document.getElementById('modal-rn-next').value = ((data.next_expected_amount_cents || 0) / 100).toFixed(2); + break; + + case 'notes': + document.getElementById('modal-nt-type').value = data.subject_type || 'ecs'; + // 手动触发联动更新,并选中对应的主体 + renderSubjectOptions('modal-nt', data.subject_type || 'ecs', data.subject_id); + + document.getElementById('modal-nt-issue').value = data.issue_text || ''; + document.getElementById('modal-nt-solution').value = data.solution_text || ''; + break; + } +} + +async function handleModalSubmit(event) { + event.preventDefault(); + + const { type, action, id } = { type: currentModalType, action: currentModalAction, id: currentModalId }; + + try { + if (action === 'add') { + await handleModalAdd(type); + } else if (action === 'edit') { + await handleModalEdit(type, id); + } + + closeModal(); + } catch (error) { + console.error(error); + showStatus('操作失败: ' + (error && error.message ? error.message : error)); + hideStatusSoon(); + } +} + +async function handleModalAdd(type) { + const payload = getModalFormData(type); + if (!payload) return; + + let url = ''; + switch (type) { + case 'ops': url = '/api/cloud/operators'; break; + case 'ecs': url = '/api/cloud/ecs'; break; + case 'vas': url = '/api/cloud/vas'; break; + case 'renew': url = '/api/cloud/renew'; break; + case 'notes': url = '/api/cloud/notes'; break; + } + + const response = await fetch(url, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + credentials: 'include', + body: JSON.stringify(payload) + }); + + let data = {}; + try { data = await response.json(); } catch { data = {}; } + if (!response.ok || !data.ok) { + const msg = data && data.error ? data.error : ('HTTP ' + response.status); + showStatus('操作失败: ' + msg); + hideStatusSoon(); + return; + } + + showStatus('新增成功'); + switch (type) { + case 'ops': await loadOps(); break; + case 'ecs': await loadEcs(); break; + case 'vas': await loadVas(); break; + case 'renew': await loadRenew(); break; + case 'notes': await loadNotes(false); break; + } +} + +async function handleModalEdit(type, id) { + const payload = getModalFormData(type); + if (!payload) return; + payload.id = id; + + let url = ''; + switch (type) { + case 'ops': url = `/api/cloud/operators/${id}`; break; + case 'ecs': url = `/api/cloud/ecs/${id}`; break; + case 'vas': url = `/api/cloud/vas/${id}`; break; + case 'renew': url = `/api/cloud/renew/${id}`; break; + case 'notes': url = `/api/cloud/notes/${id}`; break; + } + + const response = await fetch(url, { + method: 'PUT', + headers: { 'Content-Type': 'application/json' }, + credentials: 'include', + body: JSON.stringify(payload) + }); + + let data = {}; + try { data = await response.json(); } catch { data = {}; } + if (!response.ok || !data.ok) { + const msg = data && data.error ? data.error : ('HTTP ' + response.status); + showStatus('操作失败: ' + msg); + hideStatusSoon(); + return; + } + + showStatus('修改成功'); + switch (type) { + case 'ops': await loadOps(); break; + case 'ecs': await loadEcs(); break; + case 'vas': await loadVas(); break; + case 'renew': await loadRenew(); break; + case 'notes': await loadNotes(false); break; + } +} + +function getModalFormData(type) { + switch (type) { + case 'ops': + return { + name: document.getElementById('modal-op-name').value.trim(), + login_account: document.getElementById('modal-op-account').value.trim(), + login_password: document.getElementById('modal-op-password').value.trim(), + mobile: document.getElementById('modal-op-mobile').value.trim(), + contact_person: document.getElementById('modal-op-contact').value.trim(), + remark: document.getElementById('modal-op-remark').value.trim(), + is_company_verified: document.getElementById('modal-op-verified').checked ? 1 : 0 + }; + + case 'ecs': + return { + operator_id: parseInt(document.getElementById('modal-ecs-op').value || '0', 10), + server_name: document.getElementById('modal-ecs-name').value.trim(), + region: document.getElementById('modal-ecs-region').value.trim(), + zone: document.getElementById('modal-ecs-zone').value.trim(), + rdp_ip: document.getElementById('modal-ecs-ip').value.trim(), + rdp_user: document.getElementById('modal-ecs-user').value.trim(), + rdp_password: document.getElementById('modal-ecs-pass').value.trim(), + spec_text: document.getElementById('modal-ecs-spec').value.trim(), + open_ports_text: document.getElementById('modal-ecs-ports').value.trim() + }; + + case 'vas': + return { + operator_id: parseInt(document.getElementById('modal-vas-op').value || '0', 10), + name: document.getElementById('modal-vas-name').value.trim(), + config_text: document.getElementById('modal-vas-config').value.trim(), + access_text: document.getElementById('modal-vas-access').value.trim() + }; + + case 'renew': + { + const subject_type = document.getElementById('modal-rn-type').value; + const subject_id = parseInt(document.getElementById('modal-rn-subject').value || '0', 10); + const paid_date = document.getElementById('modal-rn-paid').value; + const amountText = document.getElementById('modal-rn-amount').value || ''; + const payer_company = document.getElementById('modal-rn-payer').value.trim(); + const expire_date = document.getElementById('modal-rn-expire').value; + const nextText = document.getElementById('modal-rn-next').value || ''; + if (!subject_id || !paid_date || !amountText) { + showStatus('请完整选择主体并填写缴费日期和金额'); + hideStatusSoon(); + return null; + } + const amount_cents = parseAmountToCents(amountText); + if (amount_cents === null) { + showStatus('金额格式不正确'); + hideStatusSoon(); + return null; + } + let next_expected_amount_cents = 0; + if (nextText) { + const n = parseAmountToCents(nextText); + if (n === null) { + showStatus('下期费用金额格式不正确'); + hideStatusSoon(); + return null; + } + next_expected_amount_cents = n; + } + const invoice_path = currentRenewInvoicePath || ''; + return { subject_type, subject_id, paid_date, amount_cents, payer_company, expire_date, next_expected_amount_cents, invoice_path }; + } + + case 'notes': + return { + subject_type: document.getElementById('modal-nt-type').value, + subject_id: parseInt(document.getElementById('modal-nt-subject').value || '0', 10), + issue_text: document.getElementById('modal-nt-issue').value.trim(), + solution_text: document.getElementById('modal-nt-solution').value.trim() + }; + } +} + +// 字体大小切换功能 +let gridFontMode = localStorage.getItem('cloud_grid_font') || 'large'; +function applyGridFontMode() { + const tables = document.querySelectorAll('#cloud-content .grid'); + tables.forEach(t => { + t.classList.remove('small','large'); + t.classList.add(gridFontMode === 'large' ? 'large' : 'small'); + }); + const btn = document.getElementById('font-size-toggle'); + if (btn) { + btn.textContent = gridFontMode === 'large' ? '🆎' : '🔠'; + btn.setAttribute('aria-label', gridFontMode === 'large' ? '切换为小字体' : '切换为大字体'); + btn.title = gridFontMode === 'large' ? '切换为小字体' : '切换为大字体'; + } +} +const fontBtn = document.getElementById('font-size-toggle'); +if (fontBtn) { + fontBtn.addEventListener('click', function() { + gridFontMode = gridFontMode === 'large' ? 'small' : 'large'; + localStorage.setItem('cloud_grid_font', gridFontMode); + applyGridFontMode(); + }); +} + +// 点击模态框外部关闭 +const modalOverlay = document.getElementById('modal-overlay'); +if (modalOverlay) { + modalOverlay.addEventListener('click', function(event) { + if (event.target === modalOverlay) { + closeModal(); + } + }); +} diff --git a/public/tools/cloud/index.html b/public/tools/cloud/index.html new file mode 100644 index 0000000..ce5b835 --- /dev/null +++ b/public/tools/cloud/index.html @@ -0,0 +1,145 @@ + + + + + + 云产品管理 + + + + + +
    +

    云产品管理

    +
    + +
    + + + +
    +
    + +
    +
    名称账号登录密码手机关联人备注认证操作
    +
    + + + + + + + + + + + + + + + +
    +
    + + +
    + + + + + + + + diff --git a/public/tools/cloud/theme/components.css b/public/tools/cloud/theme/components.css new file mode 100644 index 0000000..cf29ed6 --- /dev/null +++ b/public/tools/cloud/theme/components.css @@ -0,0 +1,201 @@ +body.theme-cloud { background: var(--color-bg) } +body.theme-cloud .container { color: var(--color-text) } +body.theme-cloud h2 { color: var(--color-text) } +body.theme-cloud .tabs { margin-bottom: var(--gap) } +body.theme-cloud .tabs .tab { background: var(--color-card); color: var(--color-text); border: 1px solid var(--color-border); border-radius: var(--radius); padding: 6px 12px } +body.theme-cloud .tabs .tab.active { background: var(--color-primary); color: #fff; border-color: var(--color-primary) } +body.theme-cloud .panel.card { background: var(--color-card); border: 1px solid var(--color-border); border-radius: var(--radius); box-shadow: var(--shadow); padding: var(--gap) } +body.theme-cloud .cloud-layout { display: grid; grid-template-columns: 1fr; gap: var(--gap) } +body.theme-cloud .tabs.vertical { display: flex; flex-direction: column; gap: 8px } +body.theme-cloud #cloud-side { height: fit-content } +body.theme-cloud .tabs.vertical .tab { text-align: left } +/* top tabs */ +body.theme-cloud .cloud-tabs { flex: 1; margin: 0 12px } +body.theme-cloud .cloud-tabs .tabs.horizontal { display:flex; gap:8px } +body.theme-cloud .cloud-tabs .tabs.horizontal .tab svg { margin-right:8px } +/* ==================== 顶部菜单胶囊 · 玻璃拟态 ==================== */ +body.theme-cloud .cloud-tabs .tabs { display:flex; gap:10px; padding:0 } +body.theme-cloud .cloud-tabs .tab { display:flex; align-items:center; gap:8px; padding:10px 20px; border-radius:999px; background: rgba(17,24,39,0.8); border:1px solid rgba(31,41,55,0.5); color:#cbd5e1; font-size:14px; font-weight:500; cursor:pointer; user-select:none; transition: all .3s cubic-bezier(0.4,0,0.2,1); position:relative; overflow:hidden; backdrop-filter: blur(8px); box-shadow: 0 2px 6px rgba(0,0,0,0.1), inset 0 1px 0 rgba(255,255,255,0.05) } +body.theme-cloud .cloud-tabs .tab::before { content:""; position:absolute; inset:0; background: linear-gradient(135deg, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0.05) 100%); opacity:0; transition: opacity .3s ease } +body.theme-cloud .cloud-tabs .tab:hover { background: rgba(26,35,52,0.6); border-color: rgba(51,65,85,0.5); transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.15), inset 0 1px 0 rgba(255,255,255,0.10) } +body.theme-cloud .cloud-tabs .tab:hover::before { opacity:1 } +body.theme-cloud .cloud-tabs .tab.active { background: rgba(37,99,235,0.20); border-color: rgba(59,130,246,0.5); color:#fff; box-shadow: 0 8px 24px rgba(37,99,235,0.25) } +body.theme-cloud .cloud-tabs .tab.active::after { content:""; position:absolute; bottom:0; left:20%; right:20%; height:2px; background: rgba(59,130,246,0.5); border-radius:2px } + +/* 暗黑主题适配 */ +body.theme-cloud[data-theme="dark"] .cloud-tabs .tab { background: rgba(17,24,39,0.8); border-color: rgba(31,41,55,0.5) } + +/* 明亮主题适配 */ +body.theme-cloud[data-theme="light"] .cloud-tabs .tab { background: rgba(255,255,255,0.9); border-color: rgba(226,232,240,0.8); color:#0f172a } +body.theme-cloud[data-theme="light"] .cloud-tabs .tab.active { background: rgba(37,99,235,0.15); color:#1d4ed8 } + +/* 响应式 */ +@media (max-width: 768px) { + body.theme-cloud .cloud-tabs .tabs { flex-wrap: wrap; justify-content: center; gap:8px; padding:6px } + body.theme-cloud .cloud-tabs .tab { padding:8px 16px; font-size:13px } + body.theme-cloud .cloud-tabs .tab svg { width:14px; height:14px } +} + +/* ===== Adapted global form/table styles (scoped) ===== */ +body.theme-cloud .container { width: 98%; max-width: none; margin: 0 auto; padding: 16px } +body.theme-cloud .section { margin-bottom: 24px } +body.theme-cloud .header-actions { display: flex; justify-content: flex-end; gap: 12px; margin-bottom: 16px } +body.theme-cloud .theme-toggle { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--border); background: var(--glass-bg); backdrop-filter: blur(8px); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: var(--transition); box-shadow: var(--shadow-sm) } +body.theme-cloud .theme-toggle:hover { transform: rotate(15deg) scale(1.1); box-shadow: var(--shadow-md) } +body.theme-cloud .card { background: var(--card); border: 1px solid var(--border); border-radius: var(--radius); padding: var(--gap); box-shadow: var(--shadow-md); transition: var(--transition) } +body.theme-cloud .card:hover { box-shadow: var(--shadow-lg) } +body.theme-cloud .card h3 { margin: 0 0 16px 0; font-size: 18px; font-weight: 600; color: var(--text) } +body.theme-cloud .form-bar { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; margin-bottom: 16px } +body.theme-cloud .form-group { display: flex; flex-direction: column; gap: 6px } +body.theme-cloud .form-label { font-size: 12px; font-weight: 600; color: var(--text); opacity: 0.8 } +body.theme-cloud .input, body.theme-cloud .select, body.theme-cloud .textarea { width: 100%; padding: 10px 14px; border-radius: var(--radius); border: 1px solid var(--control-border); background: var(--control-bg); color: var(--control-text); font-size: 14px; transition: var(--transition) } +body.theme-cloud .input::placeholder, body.theme-cloud .textarea::placeholder { color: var(--control-placeholder) } +body.theme-cloud .input:focus, body.theme-cloud .select:focus, body.theme-cloud .textarea:focus { outline: none; border-color: var(--primary); box-shadow: var(--glow) } +body.theme-cloud .textarea { min-height: 80px; resize: vertical } +body.theme-cloud .btn { padding: 10px 16px; border-radius: var(--radius); border: none; background: var(--primary); color: white; font-size: 14px; font-weight: 500; cursor: pointer; transition: var(--transition); display: inline-flex; align-items: center; justify-content: center; gap: 6px } +body.theme-cloud .btn:hover { background: var(--primary-hover); transform: translateY(-2px); box-shadow: var(--shadow-md) } +body.theme-cloud .btn:active { transform: translateY(0) } +body.theme-cloud .btn-secondary { background: var(--control-bg); color: var(--text); border: 1px solid var(--border) } +body.theme-cloud .btn-secondary:hover { background: var(--table-row-hover) } +body.theme-cloud .table-card { background: var(--table-bg); border: 1px solid var(--table-border); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-sm) } +body.theme-cloud .table { width: 100%; border-collapse: collapse; background: var(--table-bg) } +body.theme-cloud .table thead { background: var(--table-header-bg); position: sticky; top: 0 } +body.theme-cloud .table th { padding: 10px 12px; text-align: left; font-weight: 600; font-size: 13px; color: var(--text); border-bottom: 1px solid var(--table-border) } +body.theme-cloud .table td { padding: 10px 12px; border-bottom: 1px solid var(--table-border); color: var(--text); font-size: 13px; transition: var(--transition) } +body.theme-cloud .table tbody tr:nth-child(odd) { background: var(--table-row-odd) } +body.theme-cloud .table tbody tr:nth-child(even) { background: var(--table-row-even) } +body.theme-cloud .table tbody tr:hover { background: var(--table-row-hover); color: var(--table-text-hover) } +body.theme-cloud .table tbody tr:last-child td { border-bottom: none } +body.theme-cloud .badge { display: inline-flex; align-items: center; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 500; background: var(--control-bg); color: var(--text); border: 1px solid var(--border) } +body.theme-cloud .badge.success { background: rgba(16, 185, 129, 0.15); color: #10b981; border-color: rgba(16, 185, 129, 0.3) } +body.theme-cloud[data-theme="light"] .badge.success { background: rgba(16, 185, 129, 0.1) } +body.theme-cloud .icon-btn { width: 32px; height: 32px; border-radius: 8px; border: 1px solid var(--border); background: var(--control-bg); color: var(--text); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: var(--transition) } +body.theme-cloud .icon-btn:hover { background: var(--table-row-hover); transform: translateY(-2px); box-shadow: var(--shadow-sm) } +body.theme-cloud .icon-btn.edit:hover { color: var(--primary); border-color: var(--primary) } +body.theme-cloud .icon-btn.delete:hover { color: #ef4444; border-color: #ef4444 } +@media (max-width: 1024px) { body.theme-cloud .form-bar { grid-template-columns: repeat(2, 1fr) } } +@media (max-width: 768px) { body.theme-cloud .form-bar { grid-template-columns: 1fr } body.theme-cloud .container { padding: 12px } body.theme-cloud .table th, body.theme-cloud .table td { padding: 10px 12px; font-size: 13px } } +body.theme-cloud .icon-btn { width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; background: #0f1628; border: 1px solid var(--color-border); color: var(--color-text); margin-right: 6px } +body.theme-cloud .icon-btn:hover { background: #152036 } +body.theme-cloud .badge { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 12px; background: #374151; color: var(--color-text); border: 1px solid #4b5563 } +body.theme-cloud .badge.success { background: #064e3b; border-color: #10b981; color: #d1fae5 } +body.theme-cloud .bar { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: var(--gap); align-items: center } +body.theme-cloud .bar input, body.theme-cloud .bar select, body.theme-cloud .bar textarea { background: #0f1628; color: var(--color-text); border: 1px solid var(--color-border); border-radius: var(--radius); padding: 8px 10px } +body.theme-cloud .btn { background: var(--color-primary); color: #fff; border: none; border-radius: var(--radius); padding: 8px 12px; cursor: pointer; position: relative; overflow: hidden } +body.theme-cloud .btn:hover { background: var(--color-primary-2) } +body.theme-cloud .status { background: #1f2937; border: 1px solid #374151; color: var(--color-text); border-radius: var(--radius) } +body.theme-cloud .grid { width: 100%; border-collapse: collapse } +body.theme-cloud .grid thead th { background: var(--color-card); color: var(--color-text) } +body.theme-cloud .grid th, body.theme-cloud .grid td { padding: 8px; border-bottom: 1px solid var(--color-border); text-align: left; vertical-align: top } +body.theme-cloud .grid tbody tr:nth-child(odd) { background: #0d1526 } +body.theme-cloud .grid tbody tr:nth-child(even) { background: #0b1322 } +body.theme-cloud .grid tbody tr:hover { background: #0f1a2b } +body.theme-cloud .grid a { color: #93c5fd } +body.theme-cloud .fade-in { animation: cloudFade 160ms ease-out } +@keyframes cloudFade { from { opacity: 0; transform: translateY(4px) } to { opacity: 1; transform: translateY(0) } } +body.theme-cloud .ripple { position: absolute; border-radius: 999px; transform: scale(0); animation: ripple 400ms ease-out; pointer-events: none; background: rgba(255,255,255,0.25) } +@keyframes ripple { to { transform: scale(6); opacity: 0 } } +body.theme-cloud .grid th.col-cert, +body.theme-cloud .grid td.col-cert, +body.theme-cloud .grid th.col-actions, +body.theme-cloud .grid td.col-actions { width: 3em; min-width: 3em; white-space: nowrap; text-align: center } +/* 操作列按钮主题化 */ +body.theme-cloud .grid td.col-actions .action-btn { + background: var(--color-card); + border: 1px solid var(--color-border); + color: var(--color-text); + transition: var(--transition); +} +body.theme-cloud .grid td.col-actions .action-btn:hover { + background: var(--table-row-hover); + transform: translateY(-2px); + box-shadow: var(--shadow-sm); +} +body.theme-cloud .grid td.col-actions .action-btn.edit:hover { + color: var(--color-primary); + border-color: var(--color-primary); +} +body.theme-cloud .grid td.col-actions .action-btn.view { + color: #10b981; + border-color: #10b981; +} +body.theme-cloud .grid td.col-actions .action-btn.view:hover { + background: #10b981; + color: #ffffff; +} +body.theme-cloud .grid td.col-actions .action-btn.delete { + color: #ef4444; + border-color: #ef4444; +} +body.theme-cloud .grid td.col-actions .action-btn.delete:hover { + background: #ef4444; + color: #ffffff; +} +/* 导航显示控制 */ +body.theme-cloud:not(.nav-visible) #topbar { display: none } +body.theme-cloud .cloud-nav-toggle { position: sticky; top: 0; z-index: 5; display: flex; justify-content: flex-end; margin-bottom: var(--gap) } +body.theme-cloud .cloud-nav-toggle .btn { background: #1e3a8a } +body.theme-cloud .cloud-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--gap) } +body.theme-cloud .cloud-header h2 { margin: 0; font-size: 18px; line-height: 1.1 } +body.theme-cloud .cloud-header .header-topbar { flex: 1; margin: 0 12px } +body.theme-cloud .cloud-header .header-topbar .tabs { margin: 0 } +/* center top tabs */ +body.theme-cloud .cloud-tabs { flex:1; margin:0 12px } +body.theme-cloud .cloud-tabs .tabs.horizontal { display:flex; gap:8px; justify-content:center; align-items:center } +body.theme-cloud .cloud-tabs .tabs.horizontal .tab { display:flex; align-items:center } +body.theme-cloud .cloud-tabs .tabs.horizontal .tab svg { margin-right:8px } +body.theme-cloud .cloud-header .icon-toggle { width: 32px; height: 32px; border-radius: 50%; border: 1px solid #334155; background: radial-gradient(ellipse at 30% 30%, #1f2937 0%, #0f172a 70%); box-shadow: 0 2px 8px rgba(0,0,0,0.35); cursor: pointer } +body.theme-cloud .cloud-header .icon-toggle:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.5) } +body.theme-cloud.nav-visible .cloud-header .icon-toggle { border-color: #60a5fa; background: radial-gradient(ellipse at 30% 30%, #1e3a8a 0%, #0f172a 70%) } +body.theme-cloud .list-card { background: #0f1628; border: 1px solid var(--color-border); border-radius: var(--radius); padding: 6px } +body.theme-cloud .list-card .grid { background: transparent } +/* theme specific tweaks */ +body.theme-cloud[data-theme="dark"] .bar input, +body.theme-cloud[data-theme="dark"] .bar select, +body.theme-cloud[data-theme="dark"] .bar textarea { background:#0f1628; border:1px solid var(--color-border); color:var(--color-text) } +/* table palette overrides (dark) */ +body.theme-cloud[data-theme="dark"] .list-card { background:var(--table-bg); border:1px solid var(--table-border); border-radius:var(--table-radius) } +body.theme-cloud[data-theme="dark"] .list-card .grid { background:var(--table-bg) } +body.theme-cloud[data-theme="dark"] .grid thead { background:var(--table-header-bg) } +body.theme-cloud[data-theme="dark"] .grid thead th { color:var(--text-primary); border-bottom:2px solid var(--table-border) } +body.theme-cloud[data-theme="dark"] .grid td { border-bottom:1px solid var(--table-border) } +body.theme-cloud[data-theme="dark"] .grid tbody tr:nth-child(odd) { background:var(--table-row-odd) } +body.theme-cloud[data-theme="dark"] .grid tbody tr:nth-child(even) { background:var(--table-row-even) } +body.theme-cloud[data-theme="dark"] .grid tbody tr:hover { background:var(--table-row-hover); color:var(--table-text-hover); transition:all .2s ease } +body.theme-cloud[data-theme="dark"] .grid tbody tr:last-child td { border-bottom:none } +body.theme-cloud[data-theme="dark"] .status { background:#1f2937; border:1px solid #374151; color:var(--color-text) } + +body.theme-cloud[data-theme="light"] .bar input, +body.theme-cloud[data-theme="light"] .bar select, +body.theme-cloud[data-theme="light"] .bar textarea { background:#f8fafc; border:1px solid #e5e7eb; color:#0f172a } +/* table palette overrides (light) */ +body.theme-cloud[data-theme="light"] .list-card { background:var(--table-bg); border:1px solid var(--table-border); border-radius:var(--table-radius) } +body.theme-cloud[data-theme="light"] .list-card .grid { background:var(--table-bg) } +body.theme-cloud[data-theme="light"] .grid thead { background:var(--table-header-bg) } +body.theme-cloud[data-theme="light"] .grid thead th { color:var(--text-primary); border-bottom:2px solid var(--table-border) } +body.theme-cloud[data-theme="light"] .grid td { border-bottom:1px solid var(--table-border) } +body.theme-cloud[data-theme="light"] .grid tbody tr:nth-child(odd) { background:var(--table-row-odd) } +body.theme-cloud[data-theme="light"] .grid tbody tr:nth-child(even) { background:var(--table-row-even) } +body.theme-cloud[data-theme="light"] .grid tbody tr:hover { background:var(--table-row-hover); color:var(--table-text-hover); transition:all .2s ease } +body.theme-cloud[data-theme="light"] .grid tbody tr:last-child td { border-bottom:none } +body.theme-cloud[data-theme="light"] .status { background:#fffbe6; border:1px solid #ffe08a; color:#7a5900 } +body.theme-cloud[data-theme="light"] .icon-btn { background:#eef2f7; border:1px solid #e5e7eb; color:#0f172a } +body.theme-cloud[data-theme="light"] .icon-btn:hover { background:#e9eef6 } +body.theme-cloud[data-theme="light"] .badge { background:#e5e7eb; border:1px solid #cbd5e1; color:#0f172a } +body.theme-cloud[data-theme="light"] .badge.success { background:#dcfce7; border-color:#10b981; color:#065f46 } +/* header actions & icons */ +body.theme-cloud .cloud-header .header-actions { display:flex; gap:12px; align-items:center } +body.theme-cloud .cloud-header .icon-toggle, body.theme-cloud .cloud-header .icon-theme { width: 32px; height: 32px; border-radius: 50%; border: 1px solid #334155; background: radial-gradient(ellipse at 30% 30%, #1f2937 0%, #0f172a 70%); box-shadow: 0 2px 8px rgba(0,0,0,0.35); cursor: pointer; color:#fbbf24; display:flex; align-items:center; justify-content:center } +/* header logo */ +body.theme-cloud .logo-ico { display:inline-block; width:20px; height:20px; margin-right:8px; background: linear-gradient(135deg,#93c5fd,#60a5fa); border-radius:6px; position:relative } +body.theme-cloud .logo-ico::after { content:''; position:absolute; left:4px; top:3px; width:12px; height:12px; border-radius:50%; background:#fff; opacity:0.2 } +/* sidebar tab icons */ +body.theme-cloud .tabs.vertical .tab { text-align:left; display:flex; align-items:center } +body.theme-cloud .tabs.vertical .tab svg { margin-right:8px; flex:0 0 16px } +/* light theme header icons */ +body.theme-cloud[data-theme="light"] .cloud-header .icon-toggle, +body.theme-cloud[data-theme="light"] .cloud-header .icon-theme { border-color:#cbd5e1; background: radial-gradient(ellipse at 30% 30%, #ffffff 0%, #e9eef6 70%); color:#0f172a } +body.theme-cloud .font-size-toggle { width:32px; height:32px; border-radius:50%; border:1px solid var(--color-border); background: var(--color-card); color: var(--color-text); box-shadow: var(--shadow-sm); display:inline-flex; align-items:center; justify-content:center } +body.theme-cloud .font-size-toggle:hover { background: var(--table-row-hover) } +body.theme-cloud[data-theme="dark"] .font-size-toggle { background:#0f1628; border-color:#334155; color:#fbbf24 } +body.theme-cloud[data-theme="light"] .font-size-toggle { background:#eef2f7; border-color:#e5e7eb; color:#0f172a } diff --git a/public/tools/cloud/theme/script.js b/public/tools/cloud/theme/script.js new file mode 100644 index 0000000..46ea615 --- /dev/null +++ b/public/tools/cloud/theme/script.js @@ -0,0 +1,68 @@ +;(function(){ + const CloudTheme = { + init(){ + this.observeLists() + this.bindRipple() + this.observeCards() + this.initNavToggle() + this.initThemeToggle() + }, + onSectionSwitch(){}, + observeLists(){ + const ids=['ecs-body','vas-body','rn-body'] + ids.forEach(id=>{ + const el=document.getElementById(id) + if(!el) return + const mo=new MutationObserver(muts=>{ + muts.forEach(m=>{ + m.addedNodes.forEach(n=>{ if(n.nodeType===1) n.classList.add('fade-in') }) + }) + }) + mo.observe(el,{childList:true}) + }) + }, + bindRipple(){ + document.body.addEventListener('pointerdown',e=>{ + const t=e.target.closest('.btn') + if(!t || !document.body.classList.contains('theme-cloud')) return + const r=document.createElement('span') + r.className='ripple' + const rect=t.getBoundingClientRect() + const size=Math.max(rect.width,rect.height) + r.style.width=r.style.height=size+'px' + r.style.left=(e.clientX-rect.left-size/2)+'px' + r.style.top=(e.clientY-rect.top-size/2)+'px' + t.appendChild(r) + setTimeout(()=>{ try{ r.remove() }catch{} },420) + },{passive:true}) + }, + observeCards(){ + const cards=[...document.querySelectorAll('body.theme-cloud .panel.card')] + const io=new IntersectionObserver(entries=>{ + entries.forEach(en=>{ if(en.isIntersecting){ en.target.style.boxShadow='var(--shadow)' } else { en.target.style.boxShadow='none' } }) + }) + cards.forEach(c=>io.observe(c)) + }, + initNavToggle(){ + const key='cloud_nav_visible' + const btn=document.getElementById('cloud-toggle-nav') + const eye=`` + const setVisible=(v)=>{ document.body.classList.toggle('nav-visible', !!v); if(btn) { btn.setAttribute('aria-pressed', v?'true':'false'); btn.title=v?'隐藏导航':'显示导航'; btn.innerHTML=eye } } + const initVal=localStorage.getItem(key)==='1' + setVisible(initVal) + if(btn) btn.addEventListener('click',()=>{ const cur=document.body.classList.contains('nav-visible'); const next=!cur; localStorage.setItem(key, next?'1':'0'); setVisible(next) }) + }, + initThemeToggle(){ + const key='cloud_theme' + const btn=document.getElementById('cloud-toggle-theme') + const moon=`` + const sun=`` + const apply=(mode)=>{ document.body.setAttribute('data-theme', mode); if(btn) btn.innerHTML=mode==='dark'?moon:sun } + const init=localStorage.getItem(key) || 'dark' + apply(init) + if(btn) btn.addEventListener('click',()=>{ const cur=document.body.getAttribute('data-theme')||'dark'; const next=cur==='dark'?'light':'dark'; localStorage.setItem(key,next); apply(next) }) + } + } + window.CloudTheme=CloudTheme + if(document.body && document.body.classList.contains('theme-cloud')) { CloudTheme.init() } +})(); diff --git a/public/tools/cloud/theme/tokens.css b/public/tools/cloud/theme/tokens.css new file mode 100644 index 0000000..084fc32 --- /dev/null +++ b/public/tools/cloud/theme/tokens.css @@ -0,0 +1,6 @@ +body.theme-cloud { --radius:12px; --shadow:0 6px 20px rgba(0,0,0,0.35); --gap:12px; --shadow-sm:0 2px 8px rgba(0,0,0,0.1); --shadow-md:0 4px 12px rgba(0,0,0,0.15); --shadow-lg:0 8px 24px rgba(0,0,0,0.2); --glow:0 0 0 3px rgba(59,130,246,0.2) } +body.theme-cloud[data-theme="dark"] { --color-bg:#0b1220; --color-card:#111827; --color-border:#1f2937; --color-text:#cbd5e1; --color-muted:#64748b; --color-primary:#2563eb; --color-primary-2:#1d4ed8; --color-accent:#10b981 } +body.theme-cloud[data-theme="light"] { --color-bg:#f3f4f6; --color-card:#ffffff; --color-border:#e5e7eb; --color-text:#0f172a; --color-muted:#475569; --color-primary:#2563eb; --color-primary-2:#1d4ed8; --color-accent:#059669 } +/* table palette from DeepSeek */ +body.theme-cloud[data-theme="dark"] { --table-bg:#1e293b; --table-border:#334155; --table-radius:8px; --table-row-odd:#1a2536; --table-row-even:#1e293b; --table-header-bg:#0f172a; --table-row-hover:#2d3748; --table-text-hover:#ffffff; --text-primary:var(--color-text) } +body.theme-cloud[data-theme="light"] { --table-bg:#ffffff; --table-border:#e2e8f0; --table-radius:8px; --table-row-odd:#f8fafc; --table-row-even:#ffffff; --table-header-bg:#f1f5f9; --table-row-hover:#f1f5f9; --table-text-hover:#1e293b; --text-primary:var(--color-text) } diff --git a/public/tools/cloud_notes/auth_config.json b/public/tools/cloud_notes/auth_config.json new file mode 100644 index 0000000..c294336 --- /dev/null +++ b/public/tools/cloud_notes/auth_config.json @@ -0,0 +1,9 @@ +{ + "_comment": "云笔记工具的前端鉴权配置", + "enable_auth_comment": "true:启用鉴权(登录后才可访问云笔记);false:完全放开访问", + "enable_auth": true, + "cookieName_comment": "云笔记鉴权 cookie 名称(用于标记已登录状态)", + "cookieName": "cloud_notes_gate", + "max_age_days_comment": "鉴权 cookie 的最大有效天数(1~365)", + "max_age_days": 30 +} diff --git a/public/tools/cloud_notes/cloud_notes.css b/public/tools/cloud_notes/cloud_notes.css new file mode 100644 index 0000000..c2fd326 --- /dev/null +++ b/public/tools/cloud_notes/cloud_notes.css @@ -0,0 +1,1600 @@ +:root { + /* 暗黑主题变量 */ + --cn-dark-bg: #1a1b26; + --cn-dark-fg: #c0caf5; + --cn-dark-fg-secondary: #a9b1d6; + --cn-dark-card: #24283b; + --cn-dark-border: #414868; + --cn-dark-accent: #7aa2f7; + --cn-dark-accent-soft: rgba(122, 162, 247, 0.15); + + /* 明亮主题变量 */ + --cn-light-bg: #fafafa; + --cn-light-fg: #2c3e50; + --cn-light-fg-secondary: #6b7280; + --cn-light-card: #ffffff; + --cn-light-border: #e0e0e0; + --cn-light-accent: #1890ff; + --cn-light-accent-soft: rgba(24, 144, 255, 0.12); + + /* 通用变量 */ + --cn-radius: 12px; + --cn-shadow: 0 4px 20px rgba(0, 0, 0, 0.1); + --cn-transition: all 0.3s ease; + + /* 默认使用暗黑主题 */ + --cn-bg: var(--cn-dark-bg); + --cn-fg: var(--cn-dark-fg); + --cn-fg-secondary: var(--cn-dark-fg-secondary); + --cn-card: var(--cn-dark-card); + --cn-border: var(--cn-dark-border); + --cn-accent: var(--cn-dark-accent); + --cn-accent-soft: var(--cn-dark-accent-soft); +} + +body[data-theme="light"] { + --cn-bg: var(--cn-light-bg); + --cn-fg: var(--cn-light-fg); + --cn-fg-secondary: var(--cn-light-fg-secondary); + --cn-card: var(--cn-light-card); + --cn-border: var(--cn-light-border); + --cn-accent: var(--cn-light-accent); + --cn-accent-soft: var(--cn-light-accent-soft); +} +.theme-cloud { + background: var(--cn-bg); + color: var(--cn-fg); + font-family: "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", sans-serif; + line-height: 1.6; +} +body.theme-cloud { + min-height: 100vh; + margin: 0; + background: var(--cn-bg); + color: var(--cn-fg); + font-family: "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", sans-serif; + transition: var(--cn-transition); +} +.theme-cloud .container { + width: 92vw; + max-width: 1400px; + margin: 0 auto; + padding: 16px 0 32px; +} +.cn-header { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 8px; +} +body.cn-fullscreen .cn-header { + display: none; +} +.cn-header h2 { + font-size: 20px; + font-weight: 600; + color: var(--cn-fg); + margin: 0; + display: flex; + align-items: center; + gap: 8px; +} +.logo-ico { + display: inline-block; + width: 24px; + height: 24px; + background: url('/icons/cloud.svg') no-repeat center / contain; + filter: brightness(1.2); +} +.header-actions { + display: flex; + align-items: center; + gap: 8px; +} +.icon-theme, +.icon-toggle { + width: 36px; + height: 36px; + border-radius: 10px; + border: 1px solid var(--cn-border); + background: var(--cn-card); + color: var(--cn-fg); + display: inline-flex; + align-items: center; + justify-content: center; + cursor: pointer; + transition: var(--cn-transition); + font-size: 16px; +} +.icon-theme:hover, +.icon-toggle:hover { + background: var(--cn-accent-soft); + border-color: var(--cn-accent); + box-shadow: var(--cn-shadow); + transform: translateY(-2px); +} +.icon-theme:active, +.icon-toggle:active { + transform: translateY(0); + box-shadow: 0 8px 18px rgba(15, 23, 42, 0.65); +} +.status { + margin-left: 12px; +} +.list-card a { + color: #93c5fd; + text-decoration: underline; +} +.theme-cloud #cn-login.card { + background: radial-gradient(circle at 0 0, rgba(37, 99, 235, 0.16) 0, rgba(15, 23, 42, 0.8) 40%, rgba(15, 23, 42, 0.98) 100%); + border-radius: 18px; + border: 1px solid rgba(148, 163, 184, 0.6); + padding: 18px 18px 16px; + box-shadow: 0 32px 80px rgba(15, 23, 42, 0.9); + backdrop-filter: blur(16px); +} +.theme-cloud #cn-login h3 { + font-size: 18px; + font-weight: 600; +} +.theme-cloud #cn-login .list-card { + padding: 8px 0 0; +} +.theme-cloud .modal-row { + margin-bottom: 10px; +} +.theme-cloud .modal-label { + font-size: 13px; + color: #cbd5e1; +} +.theme-cloud .modal-input { + width: 100%; + border-radius: 10px; + border: 1px solid rgba(148, 163, 184, 0.6); + background: rgba(15, 23, 42, 0.88); + color: #e5e7eb; + padding: 8px 10px; + font-size: 14px; + outline: none; + transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease; +} +.theme-cloud .modal-input::placeholder { + color: #64748b; +} +.theme-cloud .modal-input:focus { + border-color: rgba(59, 130, 246, 0.9); + box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.7), 0 18px 40px rgba(15, 23, 42, 0.9); + background: rgba(15, 23, 42, 1); +} +.theme-cloud .action-buttons { + display: flex; + align-items: center; +} +.theme-cloud .action-btn { + border-radius: 999px; + border: none; + padding: 7px 14px; + font-size: 14px; + display: inline-flex; + align-items: center; + gap: 4px; + background: radial-gradient(circle at top left, rgba(59, 130, 246, 0.5), rgba(37, 99, 235, 0.8)); + color: #f9fafb; + cursor: pointer; + box-shadow: 0 18px 40px rgba(15, 23, 42, 0.9); + transition: background 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease; +} +.theme-cloud .action-btn:hover { + background: radial-gradient(circle at top left, rgba(96, 165, 250, 0.6), rgba(37, 99, 235, 0.95)); + transform: translateY(-1px); + box-shadow: 0 24px 60px rgba(15, 23, 42, 1); +} +.theme-cloud .action-btn:active { + transform: translateY(0); + box-shadow: 0 14px 32px rgba(15, 23, 42, 0.9); +} +.cn-split { + display: grid; + grid-template-columns: 300px minmax(0, 1fr); + gap: 20px; + height: calc(100vh - 60px); /* 占满浏览器高度,减去顶部导航栏高度 */ + margin-top: 0; +} +.cn-main-tabs { + display: flex; + align-items: center; + gap: 8px; + margin-bottom: 16px; + padding-bottom: 12px; + border-bottom: 1px solid var(--cn-border); +} +.cn-main-tab { + padding: 8px 16px; + font-size: 14px; + border-radius: 8px; + border: 1px solid var(--cn-border); + background: transparent; + color: var(--cn-fg); + cursor: pointer; + transition: var(--cn-transition); + min-width: 60px; +} +.cn-main-tab.active { + background: var(--cn-accent); + border-color: var(--cn-accent); + color: white; + font-weight: 500; +} +.cn-left { + background: var(--cn-card); + border: 1px solid var(--cn-border); + border-radius: var(--cn-radius); + padding: 16px; + box-shadow: var(--cn-shadow); + backdrop-filter: blur(10px); +} +body.cn-fullscreen .cn-left { + display: none; +} +body.cn-fullscreen .cn-split { + grid-template-columns: minmax(0, 1fr); +} +body.cn-fullscreen #cn-editor-pane > .card:first-child { + display: none; +} +body.cn-fullscreen #cn-editor-pane > .cn-tag-bar { + display: none; +} +.cn-tags-filter { + display: flex; + flex-wrap: wrap; + gap: 4px; + margin-bottom: 8px; +} +.cn-tag-filter-btn { + display: inline-flex; + align-items: center; + gap: 4px; + padding: 2px 10px; + border-radius: 999px; + border: 1px solid rgba(148, 163, 184, 0.5); + background: rgba(15, 23, 42, 0.9); + color: #e5e7eb; + font-size: 12px; + cursor: pointer; +} +.cn-tag-filter-btn .dot { + width: 8px; + height: 8px; + border-radius: 999px; + background: rgba(148, 163, 184, 0.9); +} +.cn-tag-filter-btn.active { + background: radial-gradient(circle at top left, rgba(96, 165, 250, 0.8), rgba(37, 99, 235, 0.95)); + border-color: rgba(129, 140, 248, 0.95); + color: #f9fafb; +} +.cn-right { + display: flex; + flex-direction: column; + gap: 8px; +} +.cn-right-inner { + display: flex; + flex-direction: column; + gap: 8px; + flex: 1 1 auto; + min-height: 0; +} +.cn-left-header, +.cn-right-header { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 8px; +} +.cn-left .title, +.cn-right .title { + font-weight: 600; + font-size: 13px; + letter-spacing: 0.06em; + text-transform: uppercase; + color: #9ca3af; +} +.cn-left .actions, +.cn-right .actions { + display: inline-flex; + align-items: center; + gap: 4px; +} +.mini-btn { + padding: 4px 9px; + border: 1px solid rgba(148, 163, 184, 0.4); + border-radius: 999px; + background: rgba(15, 23, 42, 0.86); + color: var(--cn-fg); + cursor: pointer; + font-size: 12px; + transition: background 0.15s ease, border-color 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease; +} +.mini-btn:hover { + background: rgba(30, 64, 175, 0.9); + border-color: rgba(129, 140, 248, 0.9); + box-shadow: 0 14px 32px rgba(15, 23, 42, 0.9); + transform: translateY(-0.5px); +} +.mini-btn:active { + transform: translateY(0); + box-shadow: 0 10px 24px rgba(15, 23, 42, 0.9); +} +.primary-btn { + padding: 7px 18px; + border-radius: 999px; + border: none; + background: radial-gradient(circle at top left, rgba(96, 165, 250, 0.8), rgba(37, 99, 235, 0.95)); + color: #f9fafb; + cursor: pointer; + font-size: 14px; + font-weight: 500; + letter-spacing: 0.02em; + display: inline-flex; + align-items: center; + gap: 4px; + box-shadow: 0 20px 50px rgba(15, 23, 42, 1); + transition: background 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease; +} +.primary-btn:hover { + background: radial-gradient(circle at top left, rgba(129, 140, 248, 0.85), rgba(37, 99, 235, 1)); + transform: translateY(-1px); + box-shadow: 0 26px 70px rgba(15, 23, 42, 1); +} +.primary-btn:active { + transform: translateY(0); + box-shadow: 0 16px 40px rgba(15, 23, 42, 0.95); +} +.cn-right .card { + background: rgba(15, 23, 42, 0.92); + border-radius: 12px; + border: 1px solid rgba(51, 65, 85, 0.9); + box-shadow: 0 14px 36px rgba(15, 23, 42, 0.95); +} +body.theme-cloud #cn-editor-pane { + display: flex; + flex-direction: column; + gap: 8px; +} +body.theme-cloud .cn-editor-wrapper { + flex: 1 1 auto; + min-height: 0; + display: flex; + flex-direction: column; +} +.cn-list { + list-style: none; + padding: 0; + margin: 0; + max-height: calc(100vh - 220px); + overflow: auto; +} +.cn-list li { + display: flex; + align-items: center; + justify-content: space-between; + padding: 6px 8px; + border-radius: 8px; + cursor: pointer; + transition: background 0.12s ease, transform 0.08s ease, box-shadow 0.12s ease; +} +.cn-list li:hover { + background: rgba(15, 23, 42, 0.92); + box-shadow: 0 10px 28px rgba(15, 23, 42, 0.9); + transform: translateY(-0.5px); +} +.cn-list li.active { + background: linear-gradient(90deg, rgba(37, 99, 235, 0.3), rgba(15, 23, 42, 0.98)); + box-shadow: 0 12px 32px rgba(15, 23, 42, 1); +} +.cn-list .name { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + font-size: 13px; +} +.cn-list .flags { + display: flex; + gap: 6px; + font-size: 13px; +} +.cn-list .flag { + color: #fbbf24; +} +.theme-cloud #cn-attachments { + border-radius: 10px; + border: 1px dashed rgba(148, 163, 184, 0.6); + padding: 4px 6px; + background: rgba(15, 23, 42, 0.86); + max-height: 180px; + overflow: auto; +} +body.cn-fullscreen #cn-attach-panel { + display: none; +} +.cn-attach-card { + border-radius: 8px; + border: 1px solid rgba(51, 65, 85, 0.9); + background: radial-gradient(circle at top left, rgba(37, 99, 235, 0.12), rgba(15, 23, 42, 0.96)); + padding: 3px 6px; + font-size: 11px; + color: #e5e7eb; + display: flex; + flex-direction: row; + align-items: center; + gap: 8px; + white-space: nowrap; +} +.cn-attach-card + .cn-attach-card { + margin-top: 2px; +} +.cn-attach-card .row-top { + display: flex; + align-items: center; + justify-content: flex-start; + flex: 1 1 auto; + min-width: 0; +} +.cn-attach-card .row-main { + display: flex; + align-items: center; + gap: 6px; + min-width: 0; +} +.cn-attach-card .file-ico { + font-size: 14px; +} +.cn-attach-card .row-quick { + display: flex; + align-items: center; + gap: 4px; +} +.cn-attach-card .icon-btn { + border-radius: 999px; + border: 1px solid rgba(148, 163, 184, 0.4); + background: rgba(15, 23, 42, 0.9); + color: #e5e7eb; + cursor: pointer; + padding: 1px 6px; + font-size: 11px; + text-decoration: none; +} +.cn-attach-card .icon-btn:hover { + background: rgba(37, 99, 235, 0.9); + border-color: rgba(191, 219, 254, 0.8); +} +.cn-attach-card .name { + color: #bfdbfe; + text-decoration: none; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +.cn-attach-card .name:hover { + text-decoration: underline; +} +.cn-attach-card .row-meta { + display: flex; + align-items: center; + gap: 4px; + color: #94a3b8; + flex: 0 0 auto; + font-size: 10px; +} +.cn-attach-card .row-actions { + display: flex; + justify-content: flex-end; + flex: 0 0 auto; + margin-left: 4px; +} +.cn-attach-card .cn-attach-del { + border-radius: 999px; + border: 1px solid rgba(148, 163, 184, 0.5); + background: rgba(15, 23, 42, 0.9); + color: #fecaca; + cursor: pointer; + padding: 2px 8px; + font-size: 11px; +} +.cn-attach-card .cn-attach-del:hover { + background: rgba(220, 38, 38, 0.9); + border-color: rgba(254, 202, 202, 0.9); + color: #fef2f2; +} +.theme-cloud #cn-attachments:empty { + padding: 6px; + border-style: solid; + border-color: rgba(51, 65, 85, 0.7); + background: radial-gradient(circle at top left, rgba(37, 99, 235, 0.12), rgba(15, 23, 42, 0.9)); +} +.theme-cloud #cn-title.modal-input { + border-radius: 999px; + padding-left: 14px; + padding-right: 14px; +} +.cn-tag-bar { + margin-top: 8px; + padding: 6px 10px; + border-radius: 12px; + border: 1px solid rgba(30, 64, 175, 0.6); + background: radial-gradient(circle at top left, rgba(37, 99, 235, 0.16), rgba(15, 23, 42, 0.96)); +} +.cn-tag-bar-inner { + display: flex; + align-items: center; + gap: 6px; +} +.cn-tag-ico { + font-size: 15px; + flex: 0 0 auto; +} +.cn-tag-chips { + display: flex; + flex-wrap: wrap; + gap: 6px; + flex: 1 1 auto; + min-height: 22px; +} +.cn-tag-empty { + font-size: 12px; + color: #64748b; +} +.cn-tag-chip { + display: inline-flex; + align-items: center; + gap: 4px; + padding: 2px 10px; + border-radius: 999px; + border: 1px solid rgba(148, 163, 184, 0.7); + background: rgba(15, 23, 42, 0.9); + color: #e5e7eb; + font-size: 12px; + cursor: default; +} +.cn-tag-chip .label { + max-width: 120px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.cn-tag-chip .close { + cursor: pointer; + font-size: 11px; + opacity: 0.8; +} +.cn-tag-chip .close:hover { + opacity: 1; +} +.cn-tag-add { + flex: 0 0 auto; + border-radius: 999px; + border: 1px dashed rgba(148, 163, 184, 0.7); + background: transparent; + color: #e5e7eb; + padding: 2px 10px; + font-size: 12px; + cursor: pointer; +} +.cn-tag-add:hover { + background: rgba(37, 99, 235, 0.16); + border-style: solid; +} +.cn-tag-picker { + position: relative; + margin-top: 6px; +} +.cn-tag-picker-menu { + position: absolute; + top: 0; + left: 28px; + min-width: 160px; + max-height: 220px; + overflow-y: auto; + padding: 6px; + border-radius: 10px; + border: 1px solid rgba(148, 163, 184, 0.7); + background: rgba(15, 23, 42, 0.98); + box-shadow: 0 22px 60px rgba(15, 23, 42, 0.9); + z-index: 30; +} +.cn-tag-picker-item { + width: 100%; + padding: 4px 8px; + border-radius: 8px; + border: 1px solid rgba(51, 65, 85, 0.8); + background: transparent; + color: #e5e7eb; + font-size: 13px; + text-align: left; + cursor: pointer; +} +.cn-tag-picker-item + .cn-tag-picker-item { + margin-top: 4px; +} +.cn-tag-picker-item:hover { + background: rgba(37, 99, 235, 0.16); + border-color: rgba(96, 165, 250, 0.9); +} +.cn-search-layer { + position: fixed; + inset: 0; + display: flex; + align-items: flex-start; + justify-content: center; + padding-top: 40px; + z-index: 40; + background: radial-gradient(circle at top, rgba(15, 23, 42, 0.96), rgba(15, 23, 42, 0.98)); +} +.cn-search-box { + width: min(900px, 96vw); + max-height: calc(100vh - 80px); + background: rgba(15, 23, 42, 0.98); + border-radius: 18px; + border: 1px solid rgba(148, 163, 184, 0.7); + box-shadow: 0 32px 80px rgba(15, 23, 42, 0.98); + padding: 14px 14px 10px; + display: flex; + flex-direction: column; +} +.cn-search-header { + display: grid; + grid-template-columns: auto minmax(0, 1fr) auto; + gap: 8px; + align-items: center; +} +.cn-search-scope { + font-size: 13px; + color: #e5e7eb; +} +.cn-search-input-wrap { + background: rgba(15, 23, 42, 0.95); + border-radius: 999px; + border: 1px solid rgba(148, 163, 184, 0.7); + padding: 6px 10px; +} +.cn-search-input { + width: 100%; + border: none; + outline: none; + background: transparent; + color: #e5e7eb; + font-size: 14px; +} +.cn-search-input::placeholder { + color: #64748b; +} +.cn-search-close { + width: 30px; + height: 30px; + border-radius: 999px; + border: 1px solid rgba(148, 163, 184, 0.6); + background: rgba(15, 23, 42, 0.9); + color: #e5e7eb; + cursor: pointer; +} +.cn-search-toolbar { + display: flex; + align-items: center; + justify-content: space-between; + margin-top: 8px; + margin-bottom: 6px; +} +.cn-search-count { + font-size: 12px; + color: #9ca3af; +} +.cn-search-sort-wrap { + position: relative; +} +.cn-search-sort-btn { + border-radius: 999px; + border: 1px solid rgba(148, 163, 184, 0.7); + background: rgba(15, 23, 42, 0.96); + color: #e5e7eb; + padding: 3px 12px; + font-size: 12px; + cursor: pointer; +} +.cn-search-sort-menu { + position: absolute; + right: 0; + top: 120%; + min-width: 120px; + border-radius: 12px; + border: 1px solid rgba(31, 41, 55, 0.9); + background: rgba(15, 23, 42, 0.98); + box-shadow: 0 22px 60px rgba(15, 23, 42, 0.98); + padding: 4px; +} +.cn-search-sort-menu button { + display: block; + width: 100%; + text-align: left; + border: none; + background: transparent; + color: #e5e7eb; + padding: 6px 10px; + font-size: 12px; + border-radius: 8px; + cursor: pointer; +} +.cn-search-sort-menu button.active, +.cn-search-sort-menu button:hover { + background: rgba(37, 99, 235, 0.95); +} +.cn-search-results { + flex: 1 1 auto; + margin-top: 4px; + border-radius: 10px; + background: rgba(15, 23, 42, 0.96); + border: 1px solid rgba(31, 41, 55, 0.95); + overflow: auto; +} +.cn-search-item { + padding: 8px 10px; + cursor: pointer; + border-bottom: 1px solid rgba(31, 41, 55, 0.9); +} +.cn-search-item:last-child { + border-bottom: none; +} +.cn-search-item:hover { + background: rgba(30, 64, 175, 0.9); +} +.cn-search-item-title { + font-size: 13px; + color: #e5e7eb; + margin-bottom: 2px; +} +.cn-search-item-snippet { + font-size: 12px; + color: #9ca3af; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.cn-search-item-meta { + font-size: 11px; + color: #6b7280; + margin-top: 2px; +} +.cn-search-item mark { + background: rgba(252, 211, 77, 0.3); + color: inherit; +} +.cn-spinner { + width: 24px; + height: 24px; + border-radius: 50%; + border: 3px solid #cbd5e1; + border-top-color: #2563eb; + animation: cnspin 1s linear infinite; +} +@keyframes cnspin { + to { + transform: rotate(360deg); + } +} +.loading-log { + background: #020617; + color: #cbd5e1; + border: 1px solid #1f2937; + border-radius: 12px; + padding: 8px; + white-space: pre-wrap; + max-height: 320px; + overflow: auto; + font-family: ui-monospace, Menlo, Consolas, monospace; + font-size: 12px; +} +.tox .tox-toolbar__primary { + border-top-left-radius: 12px; + border-top-right-radius: 12px; +} +.tox-tinymce { + border-radius: 12px; + border-color: var(--cn-border); + box-shadow: 0 18px 46px rgba(15, 23, 42, 0.95); +} +.tox-editor-header, +.tox-toolbar, +.tox-toolbar__overflow, +.tox-statusbar { + border-color: var(--cn-border); + background: rgba(15, 23, 42, 0.96); +} +.tox .tox-edit-area__iframe { + background: #020617; +} +#cn-settings-modal .modal-body.cn-settings-body { + max-width: 520px; +} +.cn-settings-body { + border-radius: 16px; + border: 1px solid rgba(148, 163, 184, 0.7); + background: radial-gradient(circle at top left, rgba(37, 99, 235, 0.9), rgba(15, 23, 42, 0.98)); + box-shadow: 0 32px 80px rgba(15, 23, 42, 0.96); +} +.cn-settings-header { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 10px; +} +.cn-settings-title { + font-size: 16px; + font-weight: 600; +} +.cn-settings-tabs { + display: inline-flex; + align-items: center; + gap: 4px; + padding: 4px; + border-radius: 999px; + background: rgba(15, 23, 42, 0.96); + margin-bottom: 10px; +} +.cn-settings-tab { + border-radius: 999px; + border: none; + background: transparent; + color: #9ca3af; + font-size: 13px; + padding: 4px 12px; + cursor: pointer; +} +.cn-settings-tab.active { + background: radial-gradient(circle at top left, rgba(96, 165, 250, 0.7), rgba(37, 99, 235, 0.9)); + color: #f9fafb; +} +.cn-settings-panels { + margin-top: 4px; +} +.cn-settings-panel { + display: none; +} +.cn-settings-panel.active { + display: block; +} +.cn-tags-settings-list { + max-height: 260px; + overflow-y: auto; + margin-bottom: 10px; +} +.cn-tag-settings-row { + display: grid; + grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.1fr) auto; + gap: 6px; + align-items: center; + margin-bottom: 6px; +} +.cn-tag-settings-name, +.cn-tag-settings-color { + font-size: 13px; +} +.cn-tag-settings-color { + text-align: left; +} +.cn-tag-settings-del { + white-space: nowrap; +} +.cn-tag-settings-empty { + font-size: 13px; + color: #cbd5e1; +} +body.theme-cloud[data-theme="light"] .cn-settings-body { + background: radial-gradient(circle at top left, rgba(191, 219, 254, 0.9), #ffffff); + border-color: #d1d5db; + box-shadow: 0 26px 60px rgba(148, 163, 184, 0.7); +} +body.theme-cloud[data-theme="light"] .cn-settings-tabs { + background: #eff6ff; +} +body.theme-cloud[data-theme="light"] .cn-settings-tab { + color: #6b7280; +} +body.theme-cloud[data-theme="light"] .cn-settings-tab.active { + background: radial-gradient(circle at top left, rgba(59, 130, 246, 0.85), rgba(37, 99, 235, 0.98)); + color: #f9fafb; +} +body.theme-cloud .cn-versions-body { + width: min(1100px, 94vw); + max-height: 86vh; + overflow: hidden; + border-radius: 16px; + border: 1px solid rgba(148, 163, 184, 0.7); + background: rgba(15, 23, 42, 0.98); + display: flex; + flex-direction: column; + gap: 10px; +} +body.theme-cloud .cn-versions-header { + display: flex; + align-items: center; + justify-content: space-between; +} +body.theme-cloud .cn-versions-title { + font-size: 16px; + font-weight: 600; +} +body.theme-cloud .cn-versions-toolbar { + display: flex; + align-items: center; + justify-content: space-between; + gap: 8px; +} +body.theme-cloud .cn-versions-summary { + color: #94a3b8; + font-size: 12px; +} +body.theme-cloud .cn-versions-main { + display: grid; + grid-template-columns: 320px minmax(0, 1fr); + gap: 12px; + min-height: 0; + flex: 1 1 auto; +} +body.theme-cloud .cn-versions-list { + overflow-y: auto; + border-radius: 12px; + border: 1px solid rgba(51, 65, 85, 0.8); + background: rgba(2, 6, 23, 0.7); + padding: 8px; +} +body.theme-cloud .cn-version-row { + display: grid; + grid-template-columns: minmax(0, 1fr) auto; + gap: 6px; + align-items: center; + padding: 8px; + border-radius: 10px; + border: 1px solid rgba(51, 65, 85, 0.8); + background: rgba(15, 23, 42, 0.92); +} +body.theme-cloud .cn-version-row + .cn-version-row { + margin-top: 8px; +} +body.theme-cloud .cn-version-main { + display: flex; + flex-direction: column; + gap: 4px; +} +body.theme-cloud .cn-version-title { + font-size: 13px; + color: #e5e7eb; +} +body.theme-cloud .cn-version-time { + font-size: 12px; + color: #94a3b8; +} +body.theme-cloud .cn-version-actions { + display: flex; + flex-direction: column; + gap: 6px; +} +body.theme-cloud .cn-versions-compare { + display: flex; + flex-direction: column; + gap: 8px; + min-height: 0; +} +body.theme-cloud .cn-compare-header { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 8px; +} +body.theme-cloud .cn-compare-title { + font-size: 12px; + color: #94a3b8; + border: 1px solid rgba(51, 65, 85, 0.8); + border-radius: 8px; + padding: 6px 8px; + background: rgba(2, 6, 23, 0.7); +} +body.theme-cloud .cn-compare-body { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 8px; + min-height: 0; + flex: 1 1 auto; +} +body.theme-cloud .cn-compare-pane { + border: 1px solid rgba(51, 65, 85, 0.8); + border-radius: 10px; + background: rgba(2, 6, 23, 0.7); + padding: 8px; + overflow: auto; + font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace; + font-size: 12px; + line-height: 1.6; + white-space: pre-wrap; +} +body.theme-cloud .cn-diff-line { + display: block; + padding: 0 6px; + border-radius: 6px; +} +body.theme-cloud .cn-diff-line.add { + background: rgba(16, 185, 129, 0.15); + color: #86efac; +} +body.theme-cloud .cn-diff-line.del { + background: rgba(248, 113, 113, 0.15); + color: #fca5a5; +} +body.theme-cloud .cn-diff-line.empty { + color: rgba(148, 163, 184, 0.35); +} +body.theme-cloud .cn-conflict-body { + width: min(520px, 92vw); + border-radius: 16px; + border: 1px solid rgba(148, 163, 184, 0.7); + background: radial-gradient(circle at top left, rgba(37, 99, 235, 0.9), rgba(15, 23, 42, 0.98)); + box-shadow: 0 32px 80px rgba(15, 23, 42, 0.96); +} +body.theme-cloud .cn-conflict-title { + font-size: 16px; + font-weight: 600; + margin-bottom: 8px; +} +body.theme-cloud .cn-conflict-desc { + font-size: 13px; + color: #e5e7eb; + margin-bottom: 12px; +} +body.theme-cloud .cn-conflict-actions { + display: flex; + gap: 8px; + flex-wrap: wrap; +} +body.theme-cloud[data-theme="light"] .cn-search-layer { + background: radial-gradient(circle at top, rgba(229, 240, 255, 0.94), rgba(243, 244, 246, 0.98)); +} +body.theme-cloud[data-theme="light"] .cn-search-box { + background: #ffffff; + border-color: #d1d5db; + box-shadow: 0 28px 70px rgba(148, 163, 184, 0.8); +} +body.theme-cloud[data-theme="light"] .cn-search-input-wrap { + background: #f3f4f6; + border-color: #cbd5e1; +} +body.theme-cloud[data-theme="light"] .cn-search-input { + color: #111827; +} +body.theme-cloud[data-theme="light"] .cn-search-input::placeholder { + color: #9ca3af; +} +body.theme-cloud[data-theme="light"] .cn-search-close { + background: #ffffff; + border-color: #cbd5e1; + color: #111827; +} +body.theme-cloud[data-theme="light"] .cn-search-count { + color: #6b7280; +} +body.theme-cloud[data-theme="light"] .cn-search-sort-btn { + background: #f3f4f6; + border-color: #cbd5e1; + color: #111827; +} +body.theme-cloud[data-theme="light"] .cn-search-sort-menu { + background: #ffffff; + border-color: #e5e7eb; + box-shadow: 0 20px 50px rgba(148, 163, 184, 0.7); +} +body.theme-cloud[data-theme="light"] .cn-search-sort-menu button { + color: #111827; +} +body.theme-cloud[data-theme="light"] .cn-search-sort-menu button.active, +body.theme-cloud[data-theme="light"] .cn-search-sort-menu button:hover { + background: rgba(59, 130, 246, 0.9); + color: #f9fafb; +} +body.theme-cloud[data-theme="light"] .cn-search-results { + background: #f9fafb; + border-color: #e5e7eb; +} +body.theme-cloud[data-theme="light"] .cn-search-item { + border-bottom-color: #e5e7eb; +} +body.theme-cloud[data-theme="light"] .cn-search-item:hover { + background: #e5f0ff; +} +body.theme-cloud[data-theme="light"] .cn-search-item-title { + color: #111827; +} +body.theme-cloud[data-theme="light"] .cn-search-item-snippet { + color: #4b5563; +} +body.theme-cloud[data-theme="light"] .cn-search-item-meta { + color: #9ca3af; +} +body.theme-cloud[data-theme="light"] { + background: radial-gradient(circle at top, #e5f0ff 0, #f3f4f6 42%, #e5e7eb 100%); + color: #111827; +} +body.theme-cloud[data-theme="light"] .cn-header h2 { + color: #111827; +} +body.theme-cloud[data-theme="light"] .icon-theme, +body.theme-cloud[data-theme="light"] .icon-toggle { + background: rgba(255, 255, 255, 0.9); + border-color: rgba(148, 163, 184, 0.6); + color: #0f172a; +} +body.theme-cloud[data-theme="light"] .icon-theme:hover, +body.theme-cloud[data-theme="light"] .icon-toggle:hover { + background: rgba(59, 130, 246, 0.1); + border-color: rgba(59, 130, 246, 0.8); + box-shadow: 0 0 0 1px rgba(148, 163, 184, 0.6), 0 18px 35px rgba(148, 163, 184, 0.4); +} +body.theme-cloud[data-theme="light"] #cn-login.card { + background: radial-gradient(circle at 0 0, rgba(59, 130, 246, 0.14) 0, #ffffff 50%, #e5e7eb 100%); + border-color: rgba(148, 163, 184, 0.8); + box-shadow: 0 30px 60px rgba(148, 163, 184, 0.6); +} +body.theme-cloud[data-theme="light"] #cn-login h3 { + color: #111827; +} +body.theme-cloud[data-theme="light"] .modal-label { + color: #4b5563; +} +body.theme-cloud[data-theme="light"] .modal-input { + background: #ffffff; + border-color: #cbd5e1; + color: #111827; +} +body.theme-cloud[data-theme="light"] .modal-input::placeholder { + color: #9ca3af; +} +body.theme-cloud[data-theme="light"] .modal-input:focus { + border-color: #3b82f6; + box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.7), 0 18px 40px rgba(148, 163, 184, 0.8); + background: #ffffff; +} +body.theme-cloud[data-theme="light"] .cn-left { + background: #ffffff; + border-color: #e5e7eb; + box-shadow: 0 22px 50px rgba(148, 163, 184, 0.6); +} +body.theme-cloud[data-theme="light"] .cn-right .card { + background: #ffffff; + border-color: #e5e7eb; + box-shadow: 0 18px 40px rgba(148, 163, 184, 0.6); +} +body.theme-cloud[data-theme="light"] .cn-left .title, +body.theme-cloud[data-theme="light"] .cn-right .title { + color: #6b7280; +} +body.theme-cloud[data-theme="light"] .mini-btn { + background: #f3f4f6; + border-color: #cbd5e1; + color: #111827; +} +body.theme-cloud[data-theme="light"] .mini-btn:hover { + background: #e5e7eb; + border-color: #93c5fd; + box-shadow: 0 10px 24px rgba(148, 163, 184, 0.8); +} +body.theme-cloud[data-theme="light"] .primary-btn { + box-shadow: 0 16px 40px rgba(59, 130, 246, 0.45); +} +body.theme-cloud[data-theme="light"] .primary-btn:hover { + box-shadow: 0 22px 60px rgba(59, 130, 246, 0.55); +} +body.theme-cloud[data-theme="light"] #cn-attachments { + background: #f9fafb; + border-color: #cbd5e1; +} +body.theme-cloud[data-theme="light"] #cn-attachments:empty { + background: radial-gradient(circle at top left, rgba(59, 130, 246, 0.08), #f9fafb); + border-color: #d1d5db; +} +body.theme-cloud[data-theme="light"] .cn-attach-card { + background: radial-gradient(circle at top left, rgba(59, 130, 246, 0.08), #ffffff); + border-color: #e5e7eb; + color: #111827; +} +body.theme-cloud[data-theme="light"] .cn-attach-card .row-meta { + color: #6b7280; +} +body.theme-cloud[data-theme="light"] .cn-attach-card .name { + color: #1d4ed8; +} +body.theme-cloud[data-theme="light"] .cn-attach-card .icon-btn { + background: #eff6ff; + border-color: #bfdbfe; + color: #1f2937; +} +body.theme-cloud[data-theme="light"] .cn-attach-card .icon-btn:hover { + background: #3b82f6; + border-color: #bfdbfe; + color: #f9fafb; +} +body.theme-cloud[data-theme="light"] .cn-attach-card .cn-attach-del { + background: #fef2f2; + border-color: #fecaca; + color: #b91c1c; +} +body.theme-cloud[data-theme="light"] .cn-attach-card .cn-attach-del:hover { + background: #dc2626; + border-color: #fee2e2; + color: #fef2f2; +} +body.theme-cloud[data-theme="light"] .cn-list li:hover { + background: #f3f4f6; + box-shadow: 0 8px 20px rgba(148, 163, 184, 0.6); +} +body.theme-cloud[data-theme="light"] .cn-list li.active { + background: linear-gradient(90deg, rgba(59, 130, 246, 0.18), #e5f0ff); + box-shadow: 0 10px 26px rgba(59, 130, 246, 0.5); +} +body.theme-cloud[data-theme="light"] .loading-log { + background: #f9fafb; + border-color: #e5e7eb; + color: #111827; +} +body.theme-cloud[data-theme="light"] .cn-tag-bar { + border-color: #d1d5db; + background: linear-gradient(90deg, #f9fafb, #eef2ff); +} +body.theme-cloud[data-theme="light"] .cn-tag-chip { + background: #e5f0ff; + color: #111827; + border-color: #bfdbfe; +} +body.theme-cloud[data-theme="light"] .cn-tag-add { + color: #4b5563; + border-color: #d1d5db; +} +body.theme-cloud[data-theme="light"] .cn-tag-add:hover { + background: #e5e7eb; +} +body.theme-cloud[data-theme="light"] .cn-tags-filter { + margin-bottom: 8px; +} +body.theme-cloud[data-theme="light"] .cn-tag-filter-btn { + background: #e5f0ff; + color: #111827; + border-color: #bfdbfe; +} +body.theme-cloud[data-theme="light"] .cn-tag-filter-btn.active { + background: linear-gradient(90deg, #60a5fa, #2563eb); + color: #f9fafb; +} +body.theme-cloud[data-theme="light"] .cn-tag-picker-menu { + background: #f9fafb; + border-color: #e5e7eb; +} +body.theme-cloud[data-theme="light"] .cn-tag-picker-item { + border-color: #e5e7eb; + color: #111827; +} +body.theme-cloud[data-theme="light"] .cn-tag-picker-item:hover { + background: #e0f2fe; + border-color: #60a5fa; +} +body.theme-cloud[data-theme="light"] .tox-tinymce { + box-shadow: 0 18px 40px rgba(148, 163, 184, 0.6); +} +body.theme-cloud[data-theme="light"] .tox-editor-header, +body.theme-cloud[data-theme="light"] .tox-toolbar, +body.theme-cloud[data-theme="light"] .tox-toolbar__overflow, +body.theme-cloud[data-theme="light"] .tox-statusbar { + background: #f3f4f6; + border-color: #e5e7eb; +} +@media (max-width: 840px) { + .cn-split { + grid-template-columns: minmax(0, 1fr); + } + .cn-left { + order: 2; + } + .cn-right { + order: 1; + } + .cn-list { + max-height: 220px; + } +} +@media (max-width: 480px) { + .theme-cloud .container { + width: 96vw; + } + .cn-header { + flex-direction: column; + align-items: flex-start; + gap: 8px; + } + .header-actions { + width: 100%; + flex-wrap: wrap; + justify-content: flex-start; + } + .cn-main-tabs { + flex-wrap: wrap; + gap: 6px; + } + .cn-main-tab { + padding: 6px 10px; + font-size: 12px; + min-width: 52px; + } + .cn-left, + .cn-right { + gap: 6px; + } + .cn-left-header, + .cn-right-header { + flex-wrap: wrap; + gap: 6px; + } + .cn-left .actions, + .cn-right .actions { + flex-wrap: wrap; + } + .mini-btn, + .primary-btn { + padding: 4px 8px; + font-size: 12px; + } + .cn-list { + max-height: 180px; + } + .cn-dashboard { + padding: 14px; + } + .cn-dashboard-grid { + grid-template-columns: 1fr; + gap: 12px; + } + .cn-dash-grid-card { + padding: 14px; + min-height: 160px; + } + .cn-search-layer { + padding-top: 16px; + } + .cn-search-box { + width: 94vw; + max-height: calc(100vh - 32px); + padding: 10px 10px 8px; + } + .cn-search-header { + grid-template-columns: 1fr; + gap: 8px; + } + .cn-search-toolbar { + flex-wrap: wrap; + gap: 8px; + } + .cn-search-sort-wrap { + width: 100%; + } + .cn-search-sort-btn { + width: 100%; + } + .cn-settings-body { + width: min(92vw, 520px); + padding: 14px; + } + .cn-settings-tabs { + flex-wrap: wrap; + gap: 6px; + } +} +@media (max-width: 360px) { + .cn-header h2 { + font-size: 18px; + } + .icon-theme, + .icon-toggle { + width: 32px; + height: 32px; + font-size: 14px; + } + .cn-main-tab { + padding: 5px 8px; + font-size: 11px; + } + .mini-btn, + .primary-btn { + padding: 3px 6px; + font-size: 11px; + } + .cn-list { + max-height: 150px; + } + .cn-dashboard { + padding: 12px; + } + .cn-dash-grid-title { + font-size: 14px; + } + .cn-dash-grid-stat .value { + font-size: 14px; + } + .cn-search-box { + width: 92vw; + } + .cn-settings-body { + width: 94vw; + } +} + +/* 驾驶舱网格布局 */ +.cn-dashboard { + padding: 20px; + overflow-y: auto; +} + +.cn-dashboard-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 20px; + margin-bottom: 20px; +} + +.cn-dash-grid-card { + background: var(--cn-card); + border-radius: var(--cn-radius); + padding: 20px; + border: 1px solid var(--cn-border); + transition: var(--cn-transition); + display: flex; + flex-direction: column; + min-height: 200px; +} + +.cn-dash-grid-card:hover { + transform: translateY(-2px); + box-shadow: var(--cn-shadow); + border-color: var(--cn-accent); +} + +.cn-dash-grid-card-wide { + grid-column: span 2; +} + +.cn-dash-grid-header { + display: flex; + align-items: center; + gap: 8px; + margin-bottom: 12px; +} + +.cn-dash-grid-icon { + font-size: 22px; + flex: 0 0 auto; +} + +.cn-dash-grid-title { + font-size: 16px; + font-weight: 600; + color: var(--cn-fg); + flex: 1 1 auto; +} + +.cn-dash-grid-content { + flex: 1; + display: flex; + flex-direction: column; +} + +.cn-dash-grid-stats { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 12px; +} + +.cn-dash-grid-stat { + text-align: center; + padding: 12px; + background: var(--cn-bg); + border-radius: 8px; + border: 1px solid var(--cn-border); +} + +.cn-dash-grid-stat .label { + font-size: 12px; + color: var(--cn-fg-secondary); + margin-bottom: 6px; +} + +.cn-dash-grid-stat .value { + font-size: 16px; + font-weight: 600; + color: var(--cn-fg); +} + +.cn-dash-grid-actions { + display: flex; + flex-direction: column; + gap: 10px; + margin-bottom: 15px; +} + +.cn-dash-grid-btn { + background: var(--cn-accent-soft); + border: 1px solid var(--cn-border); + border-radius: 8px; + padding: 10px 16px; + color: var(--cn-accent); + font-size: 14px; + cursor: pointer; + transition: var(--cn-transition); + width: 100%; +} + +.cn-dash-grid-btn:hover { + background: var(--cn-accent); + color: white; + border-color: var(--cn-accent); +} + +.cn-dash-grid-sub { + font-size: 12px; + color: var(--cn-fg-secondary); + text-align: center; + margin-top: auto; + padding-top: 10px; + border-top: 1px solid var(--cn-border); +} + +.cn-dashboard-empty { + text-align: center; + color: var(--cn-fg-secondary); + padding: 40px 20px; + font-size: 14px; +} + +.cn-dash-tag-row { + display: flex; + align-items: center; + gap: 8px; + padding: 4px 0; + font-size: 13px; + cursor: pointer; +} + +.cn-dash-tag-row .dot { + width: 8px; + height: 8px; + border-radius: 999px; + background: var(--cn-accent-soft); + flex: 0 0 auto; +} + +.cn-dash-tag-row .name { + flex: 1 1 auto; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.cn-dash-tag-row .count { + flex: 0 0 auto; + min-width: 28px; + padding: 2px 10px; + border-radius: 999px; + border: 1px solid var(--cn-border); + background: var(--cn-bg); + text-align: center; + font-size: 12px; + font-variant-numeric: tabular-nums; + color: var(--cn-fg); +} + +.cn-dash-tag-row.untagged .dot { + background: transparent; + border: 1px dashed var(--cn-border); +} diff --git a/public/tools/cloud_notes/cloud_notes.js b/public/tools/cloud_notes/cloud_notes.js new file mode 100644 index 0000000..b5d50a6 --- /dev/null +++ b/public/tools/cloud_notes/cloud_notes.js @@ -0,0 +1,2326 @@ +const cn = (() => { + let me = null + let currentId = 0 + let currentTab = 'notes' + let allTags = [] + let settingsTags = [] + let currentNoteTagIds = [] + let activeTagId = 0 + let tagsLoaded = false + let tinyToolbarSettings = null + const tinyToolbarOptions = [ + { key: 'undo_redo', label: '撤销/重做', buttons: 'undo redo' }, + { key: 'blocks_fontsize', label: '段落与字号', buttons: 'blocks fontsize' }, + { key: 'inline_format', label: '基础格式(加粗/颜色等)', buttons: 'bold italic underline strikethrough forecolor backcolor removeformat' }, + { key: 'align', label: '对齐方式', buttons: 'alignleft aligncenter alignright alignjustify' }, + { key: 'indent', label: '缩进', buttons: 'outdent indent' }, + { key: 'lists', label: '项目符号与清单', buttons: 'bullist numlist checklist' }, + { key: 'table', label: '表格', buttons: 'table' }, + { key: 'media', label: '链接与多媒体', buttons: 'link image media' }, + { key: 'insert_misc', label: '分割线/时间等插入', buttons: 'emoticons charmap hr insertdatetime' }, + { key: 'code', label: '源码与代码块', buttons: 'code codesample' }, + { key: 'page_tools', label: '分页与锚点', buttons: 'pagebreak nonbreaking anchor' }, + { key: 'search_visual', label: '查找与可视化辅助', buttons: 'searchreplace visualblocks visualchars' }, + { key: 'preview_fullscreen_print', label: '预览/全屏/打印', buttons: 'preview fullscreen print' }, + { key: 'save_note', label: '保存笔记', buttons: 'cnSave' }, + { key: 'cn_tools', label: '附件与版本', buttons: 'cnAttach cnVersion' }, + { key: 'menubar', label: '顶部菜单栏', buttons: '' }, + { key: 'upgrade_button', label: '右上角 Upgrade 按钮', buttons: '' } + ] + const tinyToolbarDefaultSettings = () => { + const s = {} + tinyToolbarOptions.forEach(opt => { + s[opt.key] = true + }) + return s + } + const normalizeTinyToolbarSettings = raw => { + const def = tinyToolbarDefaultSettings() + const out = {} + Object.keys(def).forEach(k => { + out[k] = raw && Object.prototype.hasOwnProperty.call(raw, k) ? !!raw[k] : def[k] + }) + return out + } + const buildEditorToolbar = () => { + const current = normalizeTinyToolbarSettings(tinyToolbarSettings) + const parts = [] + tinyToolbarOptions.forEach(opt => { + if (current[opt.key] && opt.buttons) parts.push(opt.buttons) + }) + return parts.join(' | ') + } + const applyEditorUpgradeVisibility = (editor, showUpgrade) => { + try { + const container = editor && editor.getContainer ? editor.getContainer() : null + if (!container) return + const nodes = container.querySelectorAll('button, a, span, div') + nodes.forEach(node => { + const text = (node.textContent || '').trim() + const title = (node.getAttribute && node.getAttribute('title')) ? node.getAttribute('title').trim() : '' + const aria = (node.getAttribute && node.getAttribute('aria-label')) ? node.getAttribute('aria-label').trim() : '' + if (text === 'Upgrade' || title === 'Upgrade' || aria === 'Upgrade') { + node.style.display = showUpgrade ? '' : 'none' + } + }) + } catch {} + } + const el = id => document.getElementById(id) + const show = (id, v) => { const e = el(id); if (e) e.style.display = v ? '' : 'none' } + const txt = (id, v) => { const e = el(id); if (e) e.value = v } + const html = (id, v) => { const e = el(id); if (e) e.innerHTML = v } + const status = (id, s) => { const e = el(id); if (!e) return; e.textContent = s; e.style.display = s ? '' : 'none' } + let loading = null + let t0 = 0 + const nowMs = () => Date.now() + const themeKey = 'cloud_notes_theme' + const idleKey = 'cloud_notes_idle_minutes' + const attachPanelKey = 'cloud_notes_attach_panel_open' + let attachPanelOpen = false + let rightView = 'dashboard' + let dashboardData = null + let isFullscreen = false + let fullscreenResizeBound = false + let idleMinutes = 0 + let idleTimer = null + let idleEventsBound = false + let locked = false + let currentVersionId = 0 + let versionsCache = [] + let conflictLatest = null + let compareLeftId = 0 + let compareRightId = 0 + const showLoading = (title, first) => { + t0 = nowMs() + if (loading && loading.parentNode) loading.parentNode.removeChild(loading) + const m = document.createElement('div') + m.className = 'modal' + const body = document.createElement('div') + body.className = 'modal-body' + const head = document.createElement('div') + head.style.display = 'flex' + head.style.justifyContent = 'space-between' + head.style.alignItems = 'center' + const h = document.createElement('div') + h.textContent = title || '处理中' + const spinner = document.createElement('div') + spinner.className = 'cn-spinner' + head.appendChild(h) + head.appendChild(spinner) + const box = document.createElement('div') + box.className = 'loading-log' + box.textContent = '正在处理,请稍候...' + const acts = document.createElement('div') + acts.className = 'modal-actions' + const copyBtn = document.createElement('button') + copyBtn.textContent = '复制日志' + copyBtn.onclick = async () => { try { await navigator.clipboard.writeText(box.textContent || '') } catch {} } + const closeBtn = document.createElement('button') + closeBtn.textContent = '关闭' + closeBtn.onclick = () => { if (m && m.parentNode) m.parentNode.removeChild(m) } + acts.appendChild(copyBtn) + acts.appendChild(closeBtn) + body.appendChild(head) + body.appendChild(box) + body.appendChild(acts) + m.appendChild(body) + document.body.appendChild(m) + loading = m + if (first) appendLoading(first) + } + const appendLoading = s => { + try { + const box = loading && loading.querySelector('.loading-log') + const delta = nowMs() - t0 + const line = `[+${delta}ms] ${String(s || '')}` + if (box) box.textContent = (box.textContent ? (box.textContent + '\n') : '') + line + } catch {} + } + const hideLoading = () => { + try { if (loading && loading.parentNode) loading.parentNode.removeChild(loading) } catch {} + loading = null + } + const confirmModal = (title, message) => new Promise(resolve => { + const m = document.createElement('div') + m.className = 'modal' + const body = document.createElement('div') + body.className = 'modal-body' + const head = document.createElement('div') + head.style.marginBottom = '8px' + head.textContent = title || '确认操作' + const msg = document.createElement('div') + msg.textContent = message || '' + msg.style.marginBottom = '12px' + const acts = document.createElement('div') + acts.className = 'modal-actions' + const ok = document.createElement('button') + ok.textContent = '确定' + ok.onclick = () => { if (m && m.parentNode) m.parentNode.removeChild(m); resolve(true) } + const cancel = document.createElement('button') + cancel.textContent = '取消' + cancel.onclick = () => { if (m && m.parentNode) m.parentNode.removeChild(m); resolve(false) } + acts.appendChild(ok) + acts.appendChild(cancel) + body.appendChild(head) + body.appendChild(msg) + body.appendChild(acts) + m.appendChild(body) + document.body.appendChild(m) + }) + const escapeHtml = s => String(s || '').replace(/[&<>"']/g, c => { + if (c === '&') return '&' + if (c === '<') return '<' + if (c === '>') return '>' + if (c === '"') return '"' + return ''' + }) + let lastSavedHtml = '' + const normalizeHtmlForDirty = s => String(s || '').trim() + const getEditorHtmlNormalized = () => { + try { + if (!window.tinymce || !tinymce.activeEditor) return '' + return normalizeHtmlForDirty(tinymce.activeEditor.getContent()) + } catch { + return '' + } + } + const hasUnsavedEditorChanges = () => { + const current = getEditorHtmlNormalized() + const saved = normalizeHtmlForDirty(lastSavedHtml) + return current !== saved + } + const ensureCanLeaveNote = async () => { + if (!hasUnsavedEditorChanges()) return true + const ok = await confirmModal('提示', '当前笔记内容已修改但尚未保存,确定要离开并放弃未保存的修改吗?') + return ok + } + const post = async (url, body) => { + const r = await fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(body || {}), cache: 'no-store' }) + if (!r.ok) throw new Error('network_error') + return r.json() + } + const get = async url => { + let full = url + try { + const u = new URL(url, window.location.origin) + u.searchParams.set('_ts', String(Date.now())) + full = u.toString() + } catch {} + const r = await fetch(full, { cache: 'no-store' }) + if (!r.ok) throw new Error('network_error') + return r.json() + } + const loadScriptOnce = url => new Promise((resolve, reject) => { + try { + const s = document.createElement('script') + s.src = url + s.async = true + s.onload = () => resolve() + s.onerror = e => reject(new Error('load_error')) + document.head.appendChild(s) + } catch (e) { reject(e) } + }) + const loadScriptWithTimeout = (url, timeoutMs) => new Promise((resolve, reject) => { + try { + let done = false + const s = document.createElement('script') + s.src = url + s.async = true + const clear = () => { if (t) { clearTimeout(t); t = null } } + s.onload = () => { if (done) return; done = true; clear(); resolve() } + s.onerror = () => { if (done) return; done = true; clear(); reject(new Error('load_error')) } + let t = setTimeout(() => { if (done) return; done = true; clear(); reject(new Error('timeout')) }, Math.max(500, timeoutMs||3000)) + document.head.appendChild(s) + } catch (e) { reject(e) } + }) + const ensureTinyMCE = async () => { + showLoading('加载编辑器', '准备加载 TinyMCE') + if (!window.tinymce) { + const urls = [ + '/tools/cloud_notes/tinymce/tinymce.min.js', + 'https://断绝看看本地是不是可以cdnjs.cloudflare.com/ajax/libs/tinymce/6.8.3/tinymce.min.js', + 'https://断绝看看本地是不是可以cdn.jsdelivr.net/npm/tinymce@6.8.3/tinymce.min.js' + ] + let loaded = false + for (const u of urls) { + appendLoading(`尝试: ${u}`) + try { + await loadScriptWithTimeout(u, 2000) + if (window.tinymce) { + loaded = true + appendLoading('加载成功') + break + } + } catch (e) { appendLoading(`失败: ${String(e && e.message || 'error')}`) } + } + if (!loaded) { + appendLoading('TinyMCE CDN 加载失败') + hideLoading() + throw new Error('tinymce_load_failed') + } + } else { + appendLoading('TinyMCE 已存在,跳过主库加载') + } + const langUrls = [ + '/tools/cloud_notes/tinymce/language/zh_CN.js', + 'https://cdn.jsdelivr.net/npm/tinymce-i18n@23.10.9/langs6/zh_CN.min.js' + ] + let langLoaded = false + for (const lu of langUrls) { + appendLoading(`加载中文包: ${lu}`) + try { await loadScriptWithTimeout(lu, 1000); appendLoading('中文包加载完成'); langLoaded = true; break } catch (e) { appendLoading(`中文包失败: ${String(e && e.message || 'error')}`) } + } + if (!langLoaded) appendLoading('中文包未能加载,界面可能显示英文') + } + const computeWeekTitle = () => { + const d = new Date() + const yyyy = d.getFullYear() + const isoWeek = (() => { + const t = new Date(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate())) + const day = (t.getUTCDay() + 6) % 7 + t.setUTCDate(t.getUTCDate() - day + 3) + const firstThu = new Date(Date.UTC(t.getUTCFullYear(), 0, 4)) + const week = Math.ceil(((t - firstThu) / 86400000 + 1) / 7) + return week + })() + return `${yyyy}-第${isoWeek}周(自动新增)` + } + const currentTheme = () => { + const v = document.body.getAttribute('data-theme') + return v === 'light' ? 'light' : 'dark' + } + const applyTheme = theme => { + const t = theme === 'light' ? 'light' : 'dark' + const b = document.body + b.setAttribute('data-theme', t) + const btn = el('cn-toggle-theme') + if (btn) { + btn.textContent = t === 'dark' ? '🌙' : '☀' + const title = t === 'dark' ? '深色/浅色切换' : '浅色/深色切换' + btn.title = title + btn.setAttribute('aria-label', title) + } + try { localStorage.setItem(themeKey, t) } catch {} + } + const logout = async () => { + try { + await fetch('/api/cloud_notes/logout', { method: 'POST' }) + } catch {} + } + const lockForIdle = () => { + idleTimer = null + locked = true + logout() + show('cn-app', false) + show('cn-login', true) + status('cn-login-status', '已因长时间无操作锁定,请重新登录') + } + const resetIdleTimer = () => { + if (!idleMinutes) return + if (idleTimer) clearTimeout(idleTimer) + idleTimer = setTimeout(() => lockForIdle(), idleMinutes * 60000) + } + const applyIdleMinutes = m => { + idleMinutes = m > 0 ? m : 0 + try { + if (idleMinutes) localStorage.setItem(idleKey, String(idleMinutes)) + else localStorage.removeItem(idleKey) + } catch {} + if (idleTimer) { clearTimeout(idleTimer); idleTimer = null } + if (idleMinutes) resetIdleTimer() + } + const onUserActivity = () => { + if (!idleMinutes) return + resetIdleTimer() + } + const bindIdleEvents = () => { + if (idleEventsBound) return + idleEventsBound = true + ;['click', 'keydown', 'mousemove', 'touchstart'].forEach(ev => { + window.addEventListener(ev, onUserActivity, true) + }) + } + const initPreferences = () => { + let theme = currentTheme() + try { + const saved = localStorage.getItem(themeKey) + if (saved === 'light' || saved === 'dark') theme = saved + } catch {} + applyTheme(theme) + let m = 0 + try { + const raw = localStorage.getItem(idleKey) + const v = parseInt(String(raw || '0'), 10) + if (Number.isFinite(v) && v > 0) m = Math.min(v, 720) + } catch {} + applyIdleMinutes(m) + try { + const rawAttach = localStorage.getItem(attachPanelKey) + attachPanelOpen = rawAttach === '1' + } catch {} + } + const isLocked = () => locked || !me + const ensureUnlocked = () => { + if (isLocked()) { + window.alert('已锁定,请先登录') + return false + } + return true + } + const initEditor = () => { + appendLoading('开始初始化 TinyMCE 编辑器') + const theme = currentTheme() + const skin = theme === 'light' ? 'oxide' : 'oxide-dark' + const contentCss = theme === 'light' ? 'default' : 'dark' + const currentToolbar = normalizeTinyToolbarSettings(tinyToolbarSettings) + const menubarEnabled = !!currentToolbar.menubar + const showUpgrade = !!currentToolbar.upgrade_button + tinymce.init({ + selector: '#cn-editor', + language: 'zh_CN', + language_url: '/tools/cloud_notes/tinymce/language/zh_CN.js', + plugins: 'lists advlist link image media table code codesample emoticons charmap hr insertdatetime preview searchreplace visualblocks visualchars fullscreen print anchor pagebreak nonbreaking help wordcount', + toolbar: buildEditorToolbar(), + menubar: menubarEnabled, + branding: false, + height: 560, + content_css: contentCss, + skin, + toolbar_mode: 'wrap', + font_size_formats: '12px 14px 16px 18px 20px 24px 28px 32px', + automatic_uploads: true, + file_picker_types: 'image', + file_picker_callback: async (cb, value, meta) => { + try { + const inp = document.createElement('input') + inp.type = 'file' + inp.accept = 'image/*' + inp.onchange = async () => { + const file = inp.files && inp.files[0] + if (!file) return + try { + showLoading('上传图片', '开始准备数据') + appendLoading(`文件名: ${file.name}`) + const r = await fetch(`/api/cloud_notes/upload/image?filename=${encodeURIComponent(file.name)}`, { method: 'POST', headers: { 'Content-Type': 'application/octet-stream' }, body: file }) + if (!r.ok) throw new Error('upload_error') + const j = await r.json() + if (!j.ok || !j.path) throw new Error('bad_resp') + appendLoading(`上传成功: ${j.path}`) + hideLoading() + cb(j.path, { title: file.name }) + } catch (e) { appendLoading(`错误: ${String(e && e.message || 'error')}`); hideLoading() } + } + inp.click() + } catch {} + }, + setup: editor => { + editor.on('init', () => { + try { + const I18n = tinymce.util && tinymce.util.I18n + const code = I18n && I18n.getCode ? I18n.getCode() : '' + const settingsLang = editor && editor.settings && editor.settings.language + const data = tinymce.i18n && tinymce.i18n.data + const keys = data && typeof data === 'object' ? Object.keys(data) : [] + const sample = keys.slice(0, 5).join(', ') + appendLoading(`TinyMCE settings.language = ${settingsLang || '(空)'}`) + appendLoading(`TinyMCE I18n.getCode() = ${code || '(空)'}`) + appendLoading(`TinyMCE 已注册语言 key: ${sample || '(无)'}${keys.length > 5 ? ' ...' : ''}`) + } catch (e) { + appendLoading(`检测语言失败: ${String(e && e.message || e)}`) + } + hideLoading() + applyEditorUpgradeVisibility(editor, showUpgrade) + }) + editor.on('keydown', e => { + const k = String(e.key || '').toLowerCase() + if ((e.ctrlKey || e.metaKey) && k === 's') { + if (e.preventDefault) e.preventDefault() + if (e.stopPropagation) e.stopPropagation() + if (!ensureUnlocked()) return + saveNote() + } + }) + editor.addShortcut('meta+s', '保存笔记', () => { if (!ensureUnlocked()) return; saveNote() }) + editor.addShortcut('ctrl+s', '保存笔记', () => { if (!ensureUnlocked()) return; saveNote() }) + editor.ui.registry.addButton('h1', { text: 'H1', tooltip: '一级标题', onAction: () => editor.execCommand('FormatBlock', false, 'h1') }) + editor.ui.registry.addButton('h2', { text: 'H2', tooltip: '二级标题', onAction: () => editor.execCommand('FormatBlock', false, 'h2') }) + editor.ui.registry.addButton('cnSave', { text: '保存', tooltip: '保存笔记', onAction: () => { if (!ensureUnlocked()) return; saveNote() } }) + editor.ui.registry.addButton('cnAttach', { text: '附件', tooltip: '插入附件', onAction: () => { const f = el('cn-attach-file'); if (f) f.click() } }) + editor.ui.registry.addButton('cnVersion', { text: '版本', tooltip: '查看版本', onAction: () => listVersions() }) + }, + images_upload_handler: async (blobInfo, success, failure) => { + try { + showLoading('上传图片', '开始准备数据') + const name = blobInfo.filename() + appendLoading(`文件名: ${name}`) + const r = await fetch(`/api/cloud_notes/upload/image?filename=${encodeURIComponent(name)}`, { method: 'POST', headers: { 'Content-Type': 'application/octet-stream' }, body: blobInfo.blob() }) + if (!r.ok) throw new Error('upload_error') + const j = await r.json() + if (!j.ok || !j.path) throw new Error('bad_resp') + appendLoading(`上传成功: ${j.path}`) + hideLoading() + success(j.path) + } catch (e) { appendLoading(`错误: ${String(e && e.message || 'error')}`); failure(String(e && e.message || 'error')); hideLoading() } + } + }).then(editors => { + const editor = editors && editors[0] + if (!editor) return + const resize = () => { + const container = editor.getContainer() + if (!container) return + if (isFullscreen) { + onFullscreenResize() + return + } + const rect = container.getBoundingClientRect() + const viewportHeight = window.innerHeight || document.documentElement.clientHeight || 800 + const extra = attachPanelOpen && currentId ? 220 : 40 + const h = Math.max(300, viewportHeight - rect.top - extra) + container.style.height = h + 'px' + const iframe = container.querySelector('iframe') + if (iframe) iframe.style.height = (h - 80) + 'px' + } + resize() + window.addEventListener('resize', resize) + editor.on('focus', resize) + editor.on('NodeChange', resize) + editor.on('FullscreenStateChanged', resize) + editor.cnResizeForLayout = resize + }) + } + const pickSafeColor = c => { + const s = String(c || '').trim() + if (/^#([0-9a-fA-F]{3}){1,2}$/.test(s)) return s + return '#2563eb' + } + const setCurrentNoteTags = ids => { + const arr = Array.isArray(ids) ? ids : [] + const list = [] + const seen = new Set() + arr.forEach(x => { + const v = parseInt(String(x || 0), 10) + if (Number.isFinite(v) && v > 0 && !seen.has(v)) { + seen.add(v) + list.push(v) + } + }) + currentNoteTagIds = list + renderNoteTagChips() + } + const renderNoteTagChips = () => { + const box = el('cn-note-tag-chips') + if (!box) return + box.innerHTML = '' + if (!currentNoteTagIds.length || !allTags.length) { + const span = document.createElement('span') + span.className = 'cn-tag-empty' + span.textContent = '未设置标签' + box.appendChild(span) + return + } + currentNoteTagIds.forEach(id => { + const tag = allTags.find(t => String(t.id || '') === String(id || '')) + if (!tag) return + const chip = document.createElement('div') + chip.className = 'cn-tag-chip' + const dot = document.createElement('span') + dot.className = 'dot' + if (tag.color) dot.style.background = pickSafeColor(tag.color) + const label = document.createElement('span') + label.className = 'label' + label.textContent = tag.name || '' + const close = document.createElement('span') + close.className = 'close' + close.textContent = '✕' + close.title = '移除标签' + close.onclick = e => { + e.stopPropagation() + currentNoteTagIds = currentNoteTagIds.filter(x => String(x || '') !== String(id || '')) + renderNoteTagChips() + } + chip.appendChild(dot) + chip.appendChild(label) + chip.appendChild(close) + box.appendChild(chip) + }) + } + const closeTagPicker = () => { + const picker = el('cn-note-tag-picker') + if (!picker) return + picker.style.display = 'none' + picker.innerHTML = '' + } + const renderTagPickerMenu = () => { + const picker = el('cn-note-tag-picker') + if (!picker) return + const available = allTags.filter(t => !currentNoteTagIds.some(id => String(id || '') === String(t.id || ''))) + if (!available.length) { + picker.innerHTML = '' + picker.style.display = 'none' + return + } + const menu = document.createElement('div') + menu.className = 'cn-tag-picker-menu' + available.forEach(tag => { + const btn = document.createElement('button') + btn.type = 'button' + btn.className = 'cn-tag-picker-item' + const dot = document.createElement('span') + dot.className = 'dot' + if (tag.color) dot.style.background = pickSafeColor(tag.color) + const label = document.createElement('span') + label.textContent = tag.name || '' + btn.appendChild(dot) + btn.appendChild(label) + btn.onclick = () => { + const v = parseInt(String(tag.id || 0), 10) + if (Number.isFinite(v) && v > 0 && !currentNoteTagIds.some(x => String(x || '') === String(v || ''))) { + currentNoteTagIds = currentNoteTagIds.concat([v]) + renderNoteTagChips() + } + closeTagPicker() + } + menu.appendChild(btn) + }) + picker.innerHTML = '' + picker.appendChild(menu) + } + const openTagPicker = () => { + const picker = el('cn-note-tag-picker') + if (!picker) return + if (!allTags.length) { + window.alert('请先在右上角“设置-标签设置”中新增标签') + return + } + renderTagPickerMenu() + if (!picker.innerHTML) return + picker.style.display = '' + } + const toggleTagPicker = () => { + const picker = el('cn-note-tag-picker') + if (!picker) return + const visible = picker.style.display !== 'none' + if (visible) closeTagPicker() + else openTagPicker() + } + const renderSettingsTags = () => { + const box = el('cn-settings-tags-list') + if (!box) return + box.innerHTML = '' + if (!settingsTags.length) { + const empty = document.createElement('div') + empty.className = 'cn-tag-settings-empty' + empty.textContent = '暂无标签,点击下方“新增标签”添加' + box.appendChild(empty) + return + } + settingsTags.forEach((t, idx) => { + const row = document.createElement('div') + row.className = 'cn-tag-settings-row' + const nameInput = document.createElement('input') + nameInput.type = 'text' + nameInput.className = 'modal-input cn-tag-settings-name' + nameInput.placeholder = '标签名称' + nameInput.value = t.name || '' + nameInput.oninput = e => { + t.name = e.target.value + } + const colorWrap = document.createElement('div') + colorWrap.className = 'cn-tag-settings-color' + const colorInput = document.createElement('input') + colorInput.type = 'color' + colorInput.value = pickSafeColor(t.color) + t.color = colorInput.value + colorInput.oninput = e => { + t.color = e.target.value + colorText.textContent = e.target.value + } + const colorText = document.createElement('span') + colorText.style.marginLeft = '6px' + colorText.textContent = t.color || '' + colorWrap.appendChild(colorInput) + colorWrap.appendChild(colorText) + const delBtn = document.createElement('button') + delBtn.type = 'button' + delBtn.className = 'mini-btn cn-tag-settings-del' + delBtn.textContent = '删除' + delBtn.onclick = () => { + settingsTags.splice(idx, 1) + renderSettingsTags() + } + row.appendChild(nameInput) + row.appendChild(colorWrap) + row.appendChild(delBtn) + box.appendChild(row) + }) + } + const renderTinyToolbarSettings = () => { + const box = el('cn-settings-tiny-toolbar-list') + if (!box) return + box.innerHTML = '' + const current = normalizeTinyToolbarSettings(tinyToolbarSettings) + tinyToolbarSettings = current + tinyToolbarOptions.forEach(opt => { + const row = document.createElement('div') + row.className = 'cn-tag-settings-row' + const name = document.createElement('div') + name.className = 'cn-tag-settings-name' + name.textContent = opt.label + const state = document.createElement('div') + state.className = 'cn-tag-settings-color' + state.textContent = current[opt.key] ? '已显示' : '已隐藏' + const btn = document.createElement('button') + btn.type = 'button' + btn.className = 'mini-btn cn-tag-settings-del' + btn.textContent = current[opt.key] ? '关闭' : '开启' + btn.onclick = () => { + const next = Object.assign({}, current) + next[opt.key] = !next[opt.key] + tinyToolbarSettings = next + renderTinyToolbarSettings() + } + row.appendChild(name) + row.appendChild(state) + row.appendChild(btn) + box.appendChild(row) + }) + } + const renderTagFilterBar = () => { + const box = el('cn-tags-filter') + if (!box) return + if (currentTab !== 'tags') { + box.style.display = 'none' + box.innerHTML = '' + return + } + if (!allTags.length) { + box.style.display = '' + box.innerHTML = '' + const empty = document.createElement('div') + empty.className = 'cn-tag-settings-empty' + empty.textContent = '暂无标签,可在右上角“设置-标签设置”中添加' + box.appendChild(empty) + return + } + box.style.display = '' + const frag = document.createDocumentFragment() + const allBtn = document.createElement('button') + allBtn.type = 'button' + allBtn.className = 'cn-tag-filter-btn' + if (!activeTagId) allBtn.classList.add('active') + allBtn.textContent = '全部' + allBtn.onclick = () => { + activeTagId = 0 + loadList() + } + frag.appendChild(allBtn) + allTags.forEach(tag => { + const btn = document.createElement('button') + btn.type = 'button' + btn.className = 'cn-tag-filter-btn' + if (String(activeTagId || '') === String(tag.id || '')) btn.classList.add('active') + const dot = document.createElement('span') + dot.className = 'dot' + if (tag.color) dot.style.background = pickSafeColor(tag.color) + const label = document.createElement('span') + label.textContent = tag.name || '' + btn.appendChild(dot) + btn.appendChild(label) + btn.onclick = () => { + activeTagId = tag.id + loadList() + } + frag.appendChild(btn) + }) + box.innerHTML = '' + box.appendChild(frag) + } + const reloadTags = async () => { + try { + const j = await get('/api/cloud_notes/tags/list') + const rows = Array.isArray(j.rows) ? j.rows : [] + allTags = rows.map(r => ({ + id: r.id, + name: r.name || '', + color: r.color || '', + sort_index: typeof r.sort_index === 'number' ? r.sort_index : 0 + })) + settingsTags = allTags.map(t => ({ id: t.id, name: t.name, color: t.color, sort_index: t.sort_index })) + tagsLoaded = true + currentNoteTagIds = currentNoteTagIds.filter(id => allTags.some(t => String(t.id || '') === String(id || ''))) + if (!allTags.some(t => String(t.id || '') === String(activeTagId || ''))) activeTagId = 0 + renderSettingsTags() + renderTagFilterBar() + renderNoteTagChips() + } catch (e) { appendLoading(`错误: ${String(e && e.message || 'error')}`) } + } + const loadTinyToolbarSettings = async () => { + try { + const j = await get('/api/cloud_notes/settings/tiny_toolbar') + const raw = j && j.settings ? j.settings : {} + tinyToolbarSettings = normalizeTinyToolbarSettings(raw) + } catch { + tinyToolbarSettings = tinyToolbarDefaultSettings() + } + renderTinyToolbarSettings() + } + const ensureAuth = async () => { + try { + const j = await get('/api/cloud_notes/me') + if (j && j.ok) { + me = j.user + locked = false + show('cn-login', false) + show('cn-app', true) + syncSettingsUI() + await loadTinyToolbarSettings() + await ensureTinyMCE() + initEditor() + await reloadTags() + await loadList() + await loadDashboard() + setRightView('dashboard') + updateAttachmentVisibility() + } else throw new Error('unauthorized') + } catch { + me = null + locked = true + show('cn-login', true) + show('cn-app', false) + } + } + const login = async () => { + try { + status('cn-login-status', '') + const username = el('cn-username').value.trim() + const password = el('cn-password').value + const btn = el('cn-login-btn'); if (btn) btn.disabled = true + showLoading('登录', '准备发送请求') + appendLoading(`接口: /api/cloud_notes/login`) + appendLoading(`用户名: ${username || '(空)'}`) + const j = await post('/api/cloud_notes/login', { username, password }) + if (j && j.ok) { + appendLoading(`登录成功,用户: ${j.user && j.user.username ? j.user.username : '未知'}`) + appendLoading('开始加载主页数据') + const pwdInput = el('cn-password') + if (pwdInput) pwdInput.value = '' + await ensureAuth() + appendLoading('主页加载完成') + hideLoading() + } else { + appendLoading('登录失败: unauthorized') + status('cn-login-status', '登录失败') + hideLoading() + } + } catch (e) { appendLoading(`网络错误: ${String(e && e.message || 'error')}`); status('cn-login-status', '网络错误'); hideLoading() } + finally { const btn2 = el('cn-login-btn'); if (btn2) btn2.disabled = false } + } + const newNote = () => { + currentId = 0 + currentVersionId = 0 + txt('cn-title', computeWeekTitle()) + if (tinymce.activeEditor) tinymce.activeEditor.setContent('') + lastSavedHtml = getEditorHtmlNormalized() + html('cn-attachments', '') + setCurrentNoteTags([]) + closeTagPicker() + markActive(0) + updateAttachmentVisibility() + } + const updateAttachmentVisibility = () => { + const panel = el('cn-attach-panel') + const btn = el('cn-attach-toggle') + const enabled = !!currentId + const open = enabled && attachPanelOpen && !isFullscreen + if (panel) panel.style.display = open ? 'block' : 'none' + if (btn) { + btn.disabled = !enabled + const label = enabled && attachPanelOpen ? '收缩附件' : '展开附件' + btn.textContent = label + btn.title = label + btn.setAttribute('aria-label', label) + } + try { + if (tinymce && tinymce.activeEditor && tinymce.activeEditor.cnResizeForLayout) { + tinymce.activeEditor.cnResizeForLayout() + } + } catch {} + } + const toggleAttachPanel = () => { + if (!currentId) return + attachPanelOpen = !attachPanelOpen + try { + localStorage.setItem(attachPanelKey, attachPanelOpen ? '1' : '0') + } catch {} + updateAttachmentVisibility() + } + const isCloneTitle = title => /-复制\d{4}-\d{2}-\d{2}$/.test(String(title || '').trim()) + const confirmCloneSave = async title => { + if (!isCloneTitle(title)) return true + return confirmModal('克隆笔记提醒', '当前笔记为“复制/克隆”备份,确认继续保存到复制版吗?') + } + const saveNote = async () => { + try { + const title = el('cn-title').value.trim() || '未命名' + if (!(await confirmCloneSave(title))) return + showLoading('保存笔记', '准备提交内容') + const htmlContent = tinymce.activeEditor ? tinymce.activeEditor.getContent() : '' + const body = { id: currentId || 0, title, html: htmlContent, user_id: me && me.id ? me.id : 1, tag_ids: currentNoteTagIds.slice(), base_version_id: currentVersionId || 0 } + appendLoading(`标题: ${title}`) + const r = await fetch('/api/cloud_notes/note/save', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(body), cache: 'no-store' }) + let j = null + try { j = await r.json() } catch {} + if (r.status === 409 || (j && j.conflict)) { + conflictLatest = j && j.latest ? j.latest : null + hideLoading() + openConflictModal() + return + } + if (j && j.ok) { + currentId = j.id + if (j.version_id) currentVersionId = Number(j.version_id || 0) + lastSavedHtml = normalizeHtmlForDirty(htmlContent) + updateAttachmentVisibility() + appendLoading(`保存成功 id=${currentId}`) + status('cn-login-status', '已保存') + await loadNotesList() + markActive(currentId) + await loadAttachments(currentId) + hideLoading() + } else { + appendLoading('保存失败') + status('cn-login-status', '保存失败') + hideLoading() + } + } catch { status('cn-login-status', '网络错误'); hideLoading() } + } + const cloneCurrentNote = async () => { + if (!ensureUnlocked()) return + if (!currentId) { + await confirmModal('提示', '请先选择要克隆的笔记') + return + } + try { + const srcId = currentId + const titleInput = el('cn-title') + const rawTitle = titleInput ? titleInput.value.trim() : '' + const baseTitle = rawTitle || '未命名' + const d = new Date() + const yyyy = d.getFullYear() + const mm = String(d.getMonth() + 1).padStart(2, '0') + const dd = String(d.getDate()).padStart(2, '0') + const newTitle = `${baseTitle}-复制${yyyy}-${mm}-${dd}` + const htmlContent = tinymce.activeEditor ? tinymce.activeEditor.getContent() : '' + showLoading('克隆笔记', `来源 id=${srcId}`) + appendLoading(`新标题: ${newTitle}`) + const body = { id: 0, title: newTitle, html: htmlContent, user_id: me && me.id ? me.id : 1, tag_ids: currentNoteTagIds.slice() } + const j = await post('/api/cloud_notes/note/save', body) + if (j && j.ok && j.id) { + lastSavedHtml = normalizeHtmlForDirty(htmlContent) + appendLoading(`克隆成功 新 id=${j.id}`) + try { + appendLoading('开始克隆附件') + await post('/api/cloud_notes/note/clone_attachments', { src_id: srcId, dest_id: j.id }) + appendLoading('附件克隆完成') + } catch (e) { + appendLoading(`附件克隆失败: ${String(e && e.message || 'error')}`) + } + currentId = j.id + currentVersionId = Number(j.version_id || 0) + updateAttachmentVisibility() + await loadNotesList() + await selectNote(currentId) + } else { + appendLoading('克隆失败') + } + hideLoading() + } catch (e) { appendLoading(`错误: ${String(e && e.message || 'error')}`); hideLoading() } + } + const renderAttachments = rows => { + const box = el('cn-attachments') + if (!box) return + box.innerHTML = '' + const list = Array.isArray(rows) ? rows : [] + if (!list.length) return + const pickIcon = filename => { + const name = String(filename || '') + const idx = name.lastIndexOf('.') + const ext = idx >= 0 ? name.slice(idx + 1).toLowerCase() : '' + if (!ext) return '📄' + if (['png','jpg','jpeg','gif','webp','bmp','svg'].includes(ext)) return '🖼️' + if (['pdf'].includes(ext)) return '📕' + if (['doc','docx'].includes(ext)) return '📘' + if (['xls','xlsx','csv'].includes(ext)) return '📊' + if (['ppt','pptx'].includes(ext)) return '📑' + if (['zip','rar','7z','gz','tar'].includes(ext)) return '🗜️' + if (['txt','md','log'].includes(ext)) return '📄' + return '📁' + } + const fmtSize = n => { + const v = Number(n || 0) + if (!Number.isFinite(v) || v <= 0) return '' + if (v < 1024) return `${v} B` + const kb = v / 1024 + if (kb < 1024) return `${kb.toFixed(1)} KB` + const mb = kb / 1024 + return `${mb.toFixed(1)} MB` + } + list.forEach(r => { + const card = document.createElement('div') + card.className = 'cn-attach-card' + const top = document.createElement('div') + top.className = 'row-top' + const main = document.createElement('div') + main.className = 'row-main' + const ico = document.createElement('span') + ico.className = 'file-ico' + ico.textContent = pickIcon(r.filename) + const name = document.createElement('a') + name.href = r.file_path + name.target = '_blank' + name.className = 'name' + name.textContent = r.filename || '' + name.title = r.filename || '' + main.appendChild(ico) + main.appendChild(name) + top.appendChild(main) + const quick = document.createElement('div') + quick.className = 'row-quick' + const previewBtn = document.createElement('button') + previewBtn.type = 'button' + previewBtn.className = 'icon-btn preview' + previewBtn.title = '预览' + previewBtn.textContent = '👁' + previewBtn.onclick = () => { if (r.file_path) window.open(r.file_path, '_blank') } + const downloadBtn = document.createElement('a') + downloadBtn.href = r.file_path + downloadBtn.target = '_blank' + downloadBtn.className = 'icon-btn download' + downloadBtn.title = '下载' + downloadBtn.textContent = '⬇' + downloadBtn.setAttribute('download', r.filename || '') + quick.appendChild(previewBtn) + quick.appendChild(downloadBtn) + top.appendChild(quick) + const meta = document.createElement('div') + meta.className = 'row-meta' + const sizeSpan = document.createElement('span') + sizeSpan.className = 'size' + sizeSpan.textContent = fmtSize(r.file_size) + const dot = document.createElement('span') + dot.className = 'dot' + dot.textContent = '•' + const timeSpan = document.createElement('span') + timeSpan.className = 'time' + timeSpan.textContent = r.created_at || '' + meta.appendChild(sizeSpan) + meta.appendChild(dot) + meta.appendChild(timeSpan) + const acts = document.createElement('div') + acts.className = 'row-actions' + const delBtn = document.createElement('button') + delBtn.type = 'button' + delBtn.className = 'cn-attach-del' + delBtn.textContent = '删除' + delBtn.onclick = async () => { + const ok = await confirmModal('删除附件', '确定要删除这个附件吗?') + if (!ok) return + try { + showLoading('删除附件', `目标 id=${r.id}`) + await fetch(`/api/cloud_notes/attachments/${encodeURIComponent(r.id)}`, { method: 'DELETE' }) + await loadAttachments(currentId) + hideLoading() + } catch (e) { appendLoading(`错误: ${String(e && e.message || 'error')}`); hideLoading() } + } + acts.appendChild(delBtn) + card.appendChild(top) + card.appendChild(meta) + card.appendChild(acts) + box.appendChild(card) + }) + } + const loadAttachments = async (noteId) => { + const nid = noteId || currentId + const box = el('cn-attachments') + if (!nid) { + if (box) box.innerHTML = '' + return + } + try { + const j = await get(`/api/cloud_notes/attachments?note_id=${encodeURIComponent(nid)}`) + const rows = Array.isArray(j.rows) ? j.rows : [] + renderAttachments(rows) + } catch (e) { appendLoading(`错误: ${String(e && e.message || 'error')}`) } + } + const attachFile = async file => { + try { + showLoading('上传附件', '开始处理文件') + if (!currentId) { appendLoading('请先保存一次笔记,再上传附件'); hideLoading(); return } + appendLoading(`文件名: ${file.name}, 大小: ${file.size} 字节`) + const r = await fetch(`/api/cloud_notes/attachment?note_id=${encodeURIComponent(String(currentId || 0))}&filename=${encodeURIComponent(file.name)}`, { method: 'POST', headers: { 'Content-Type': 'application/octet-stream' }, body: file }) + if (!r.ok) throw new Error('upload_error') + const j = await r.json() + if (!j.ok || !j.path) throw new Error('bad_resp') + appendLoading(`上传成功: ${j.path}`) + await loadAttachments(currentId) + hideLoading() + } catch (e) { appendLoading(`错误: ${String(e && e.message || 'error')}`); hideLoading() } + } + const htmlToText = html => { + const div = document.createElement('div') + div.innerHTML = String(html || '') + const text = div.textContent || '' + return text.replace(/\r\n/g, '\n').replace(/\r/g, '\n') + } + const buildDiffOps = (leftText, rightText) => { + const leftLines = String(leftText || '').split('\n') + const rightLines = String(rightText || '').split('\n') + const n = leftLines.length + const m = rightLines.length + const maxCells = 160000 + if (n * m > maxCells) { + const ops = [] + const maxLen = Math.max(n, m) + for (let i = 0; i < maxLen; i++) { + const l = leftLines[i] + const r = rightLines[i] + if (l === r) { + if (typeof l !== 'undefined') ops.push({ type: 'same', left: l, right: r }) + } else { + if (typeof l !== 'undefined') ops.push({ type: 'del', left: l, right: '' }) + if (typeof r !== 'undefined') ops.push({ type: 'add', left: '', right: r }) + } + } + return ops + } + const dp = Array.from({ length: n + 1 }, () => new Array(m + 1).fill(0)) + for (let i = 1; i <= n; i++) { + for (let j = 1; j <= m; j++) { + if (leftLines[i - 1] === rightLines[j - 1]) dp[i][j] = dp[i - 1][j - 1] + 1 + else dp[i][j] = Math.max(dp[i - 1][j], dp[i][j - 1]) + } + } + const ops = [] + let i = n + let j = m + while (i > 0 && j > 0) { + if (leftLines[i - 1] === rightLines[j - 1]) { + ops.push({ type: 'same', left: leftLines[i - 1], right: rightLines[j - 1] }) + i-- + j-- + } else if (dp[i - 1][j] >= dp[i][j - 1]) { + ops.push({ type: 'del', left: leftLines[i - 1], right: '' }) + i-- + } else { + ops.push({ type: 'add', left: '', right: rightLines[j - 1] }) + j-- + } + } + while (i > 0) { + ops.push({ type: 'del', left: leftLines[i - 1], right: '' }) + i-- + } + while (j > 0) { + ops.push({ type: 'add', left: '', right: rightLines[j - 1] }) + j-- + } + ops.reverse() + return ops + } + const renderCompareFromHtml = (leftHtml, rightHtml, leftLabel, rightLabel) => { + const leftPane = el('cn-compare-left') + const rightPane = el('cn-compare-right') + if (leftPane) leftPane.innerHTML = '' + if (rightPane) rightPane.innerHTML = '' + const leftTitle = el('cn-compare-left-title') + const rightTitle = el('cn-compare-right-title') + if (leftTitle) leftTitle.textContent = leftLabel || '左侧版本' + if (rightTitle) rightTitle.textContent = rightLabel || '右侧版本' + const ops = buildDiffOps(htmlToText(leftHtml), htmlToText(rightHtml)) + ops.forEach(op => { + const leftLine = document.createElement('div') + const rightLine = document.createElement('div') + leftLine.className = 'cn-diff-line' + rightLine.className = 'cn-diff-line' + if (op.type === 'add') { + leftLine.classList.add('empty') + rightLine.classList.add('add') + leftLine.textContent = '' + rightLine.textContent = op.right || '' + } else if (op.type === 'del') { + leftLine.classList.add('del') + rightLine.classList.add('empty') + leftLine.textContent = op.left || '' + rightLine.textContent = '' + } else { + leftLine.textContent = op.left || '' + rightLine.textContent = op.right || '' + } + if (leftPane) leftPane.appendChild(leftLine) + if (rightPane) rightPane.appendChild(rightLine) + }) + } + const openVersionsModal = () => { + const m = el('cn-versions-modal') + if (m) m.style.display = '' + } + const closeVersionsModal = () => { + const m = el('cn-versions-modal') + if (m) m.style.display = 'none' + } + const versionLabel = v => { + if (!v) return '' + const t = String(v.saved_at || '') + const name = String(v.title || '未命名') + return `${t} · ${name}` + } + const renderCompareByIds = () => { + const left = versionsCache.find(v => String(v.id) === String(compareLeftId)) + const right = versionsCache.find(v => String(v.id) === String(compareRightId)) + if (!left || !right) return + renderCompareFromHtml(left.html, right.html, versionLabel(left), versionLabel(right)) + } + const renderVersionsList = () => { + const listBox = el('cn-versions-list') + if (!listBox) return + listBox.innerHTML = '' + versionsCache.forEach(v => { + const row = document.createElement('div') + row.className = 'cn-version-row' + const main = document.createElement('div') + main.className = 'cn-version-main' + const title = document.createElement('div') + title.className = 'cn-version-title' + title.textContent = v.title || '未命名' + const time = document.createElement('div') + time.className = 'cn-version-time' + time.textContent = v.saved_at || '' + main.appendChild(title) + main.appendChild(time) + const acts = document.createElement('div') + acts.className = 'cn-version-actions' + const leftBtn = document.createElement('button') + leftBtn.type = 'button' + leftBtn.className = 'mini-btn' + leftBtn.textContent = String(compareLeftId) === String(v.id) ? '左侧✓' : '设为左侧' + leftBtn.onclick = () => { compareLeftId = v.id; renderVersionsList() } + const rightBtn = document.createElement('button') + rightBtn.type = 'button' + rightBtn.className = 'mini-btn' + rightBtn.textContent = String(compareRightId) === String(v.id) ? '右侧✓' : '设为右侧' + rightBtn.onclick = () => { compareRightId = v.id; renderVersionsList() } + const restoreBtn = document.createElement('button') + restoreBtn.type = 'button' + restoreBtn.className = 'mini-btn' + restoreBtn.textContent = '恢复到编辑器' + restoreBtn.onclick = () => { + if (tinymce.activeEditor) tinymce.activeEditor.setContent(v.html || '') + txt('cn-title', v.title || '') + currentId = v.note_id || currentId + currentVersionId = v.id || currentVersionId + lastSavedHtml = '' + status('cn-login-status', '已恢复到编辑器,待保存') + setRightView('editor') + markActive(currentId) + } + acts.appendChild(leftBtn) + acts.appendChild(rightBtn) + acts.appendChild(restoreBtn) + row.appendChild(main) + row.appendChild(acts) + listBox.appendChild(row) + }) + const summary = el('cn-versions-summary') + if (summary) summary.textContent = `共 ${versionsCache.length} 条版本` + } + const openConflictModal = () => { + const m = el('cn-conflict-modal') + if (!m) return + const desc = el('cn-conflict-desc') + const time = conflictLatest && conflictLatest.saved_at ? String(conflictLatest.saved_at) : '' + const title = conflictLatest && conflictLatest.title ? String(conflictLatest.title) : '' + if (desc) desc.textContent = `检测到服务器已有新版本${time ? `(${time})` : ''}${title ? `:${title}` : ''},当前内容尚未保存。可先对比再决定是否覆盖保存。` + m.style.display = '' + } + const closeConflictModal = () => { + const m = el('cn-conflict-modal') + if (m) m.style.display = 'none' + } + const saveNoteForce = async () => { + try { + const title = el('cn-title').value.trim() || '未命名' + if (!(await confirmCloneSave(title))) return + showLoading('覆盖保存', '正在提交内容') + const htmlContent = tinymce.activeEditor ? tinymce.activeEditor.getContent() : '' + const body = { id: currentId || 0, title, html: htmlContent, user_id: me && me.id ? me.id : 1, tag_ids: currentNoteTagIds.slice(), base_version_id: currentVersionId || 0, force: true } + const r = await fetch('/api/cloud_notes/note/save', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(body), cache: 'no-store' }) + let j = null + try { j = await r.json() } catch {} + if (r.status === 409 || (j && j.conflict)) { + conflictLatest = j && j.latest ? j.latest : conflictLatest + hideLoading() + openConflictModal() + return + } + if (j && j.ok) { + currentId = j.id + if (j.version_id) currentVersionId = Number(j.version_id || 0) + lastSavedHtml = normalizeHtmlForDirty(htmlContent) + updateAttachmentVisibility() + appendLoading(`保存成功 id=${currentId}`) + status('cn-login-status', '已保存') + await loadNotesList() + markActive(currentId) + await loadAttachments(currentId) + } else { + appendLoading('保存失败') + } + hideLoading() + } catch (e) { appendLoading(`错误: ${String(e && e.message || 'error')}`); hideLoading() } + } + const listVersions = async () => { + if (!currentId) { + await confirmModal('提示', '请先选择一个笔记再查看版本') + return + } + try { + showLoading('获取版本', '请求版本列表') + const j = await get(`/api/cloud_notes/note/versions?id=${encodeURIComponent(currentId || 0)}`) + versionsCache = Array.isArray(j.versions) ? j.versions : [] + if (versionsCache.length) { + compareLeftId = versionsCache[0].id + compareRightId = versionsCache.length > 1 ? versionsCache[1].id : versionsCache[0].id + } else { + compareLeftId = 0 + compareRightId = 0 + } + renderVersionsList() + if (compareLeftId && compareRightId) renderCompareByIds() + openVersionsModal() + hideLoading() + } catch (e) { appendLoading(`错误: ${String(e && e.message || 'error')}`); hideLoading() } + } + const renderList = rows => { + const ul = el('cn-list') + if (!ul) return + ul.innerHTML = '' + rows.forEach(r => { + const li = document.createElement('li') + li.dataset.id = String(r.id) + const name = document.createElement('div') + name.className = 'name' + name.textContent = r.title || '' + const flags = document.createElement('div') + flags.className = 'flags' + if (r.pinned) { + const pin = document.createElement('span') + pin.className = 'flag' + pin.textContent = '📌' + flags.appendChild(pin) + } + if (r.starred) { + const star = document.createElement('span') + star.className = 'flag' + star.textContent = '⭐' + flags.appendChild(star) + } + li.appendChild(name) + li.appendChild(flags) + li.onclick = () => selectNote(r.id) + ul.appendChild(li) + }) + markActive(currentId) + } + const renderTrashList = rows => { + const ul = el('cn-list') + if (!ul) return + ul.innerHTML = '' + rows.forEach(r => { + const li = document.createElement('li') + li.dataset.id = String(r.id) + const name = document.createElement('div') + name.className = 'name' + name.textContent = r.title + const flags = document.createElement('div') + flags.className = 'flags' + const restoreBtn = document.createElement('button') + restoreBtn.type = 'button' + restoreBtn.className = 'mini-btn' + restoreBtn.textContent = '还原' + restoreBtn.onclick = e => { e.stopPropagation(); restoreFromTrash(r.id) } + const delBtn = document.createElement('button') + delBtn.type = 'button' + delBtn.className = 'mini-btn' + delBtn.textContent = '彻底删除' + delBtn.onclick = e => { e.stopPropagation(); hardDeleteFromTrash(r.id) } + flags.appendChild(restoreBtn) + flags.appendChild(delBtn) + li.appendChild(name) + li.appendChild(flags) + ul.appendChild(li) + }) + } + const markActive = id => { + const ul = el('cn-list'); if (!ul) return + let active = null + ul.querySelectorAll('li').forEach(li => { + const on = String(li.dataset.id||'') === String(id||'') + li.classList.toggle('active', on) + if (on) active = li + }) + if (active && typeof active.scrollIntoView === 'function') { + active.scrollIntoView({ block: 'nearest' }) + } + } + const loadNotesList = async () => { + try { + showLoading('加载列表', '请求笔记列表') + const j = await get('/api/cloud_notes/note/list') + const rows = Array.isArray(j.rows) ? j.rows : [] + renderList(rows) + hideLoading() + } catch (e) { appendLoading(`错误: ${String(e && e.message || 'error')}`); hideLoading() } + } + const loadTrashList = async () => { + try { + showLoading('加载回收站', '请求回收站列表') + const j = await get('/api/cloud_notes/note/trash_list') + const rows = Array.isArray(j.rows) ? j.rows : [] + renderTrashList(rows) + hideLoading() + } catch (e) { appendLoading(`错误: ${String(e && e.message || 'error')}`); hideLoading() } + } + const loadNotesByTag = async () => { + if (!activeTagId) return loadNotesList() + try { + showLoading('加载标签笔记', `请求标签 id=${activeTagId}`) + const j = await get(`/api/cloud_notes/note/list_by_tag?tag_id=${encodeURIComponent(activeTagId)}`) + const rows = Array.isArray(j.rows) ? j.rows : [] + renderList(rows) + hideLoading() + } catch (e) { appendLoading(`错误: ${String(e && e.message || 'error')}`); hideLoading() } + } + const loadList = async () => { + if (currentTab === 'trash') return loadTrashList() + if (currentTab === 'notes') return loadNotesList() + if (currentTab === 'tags') return loadNotesByTag() + const ul = el('cn-list') + if (ul) ul.innerHTML = '' + } + const applyMainTabState = () => { + const tabs = Array.from(document.querySelectorAll('.cn-main-tab')) + const leftTitle = el('cn-left-title') + tabs.forEach(t => { + const key = t.dataset.tab || '' + t.classList.toggle('active', key === currentTab) + }) + if (leftTitle) { + if (currentTab === 'trash') leftTitle.textContent = '回收站' + else if (currentTab === 'tags') leftTitle.textContent = '标签' + else leftTitle.textContent = '' + } + const newBtn = el('cn-new') + const starBtn = el('cn-star') + const pinBtn = el('cn-pin') + const deleteBtn = el('cn-delete') + if (newBtn) newBtn.style.display = currentTab === 'notes' ? '' : 'none' + if (starBtn) starBtn.style.display = currentTab === 'notes' ? '' : 'none' + if (pinBtn) pinBtn.style.display = currentTab === 'notes' ? '' : 'none' + if (deleteBtn) deleteBtn.style.display = currentTab === 'notes' ? '' : 'none' + renderTagFilterBar() + } + const setMainTab = name => { + if (name !== 'notes' && name !== 'tags' && name !== 'trash') name = 'notes' + currentTab = name + applyMainTabState() + loadList() + } + const selectNote = async id => { + try { + if (!(await ensureCanLeaveNote())) return + showLoading('加载笔记', `请求 id=${id}`) + const j = await get(`/api/cloud_notes/note/get?id=${encodeURIComponent(id)}`) + if (j && j.ok && j.row) { + currentId = j.row.id + currentVersionId = Number(j.row.version_id || 0) + updateAttachmentVisibility() + txt('cn-title', j.row.title || '') + if (tinymce.activeEditor) tinymce.activeEditor.setContent(String(j.row.html || '')) + lastSavedHtml = normalizeHtmlForDirty(String(j.row.html || '')) + const tids = Array.isArray(j.row.tag_ids) ? j.row.tag_ids : [] + setCurrentNoteTags(tids) + markActive(currentId) + await loadAttachments(currentId) + setRightView('editor') // 切换到编辑器视图 + } + hideLoading() + } catch (e) { appendLoading(`错误: ${String(e && e.message || 'error')}`); hideLoading() } + } + const toggleStar = async () => { + if (!currentId) return + try { + showLoading('加星设置', `目标 id=${currentId}`) + const wasStar = (() => { + const li = document.querySelector(`.cn-list li[data-id="${currentId}"]`) + return !!(li && li.querySelector('.flag') && li.querySelector('.flag').textContent.includes('⭐')) + })() + await post('/api/cloud_notes/note/star', { id: currentId, starred: !wasStar }) + await loadNotesList() + markActive(currentId) + hideLoading() + } catch (e) { appendLoading(`错误: ${String(e && e.message || 'error')}`); hideLoading() } + } + const togglePin = async () => { + if (!currentId) return + try { + showLoading('置顶设置', `目标 id=${currentId}`) + const li = document.querySelector(`.cn-list li[data-id="${currentId}"]`) + const wasPin = !!(li && Array.from(li.querySelectorAll('.flag')).some(n => n.textContent.includes('📌'))) + await post('/api/cloud_notes/note/pin', { id: currentId, pinned: !wasPin }) + await loadNotesList() + markActive(currentId) + hideLoading() + } catch (e) { appendLoading(`错误: ${String(e && e.message || 'error')}`); hideLoading() } + } + const softDeleteCurrent = async () => { + if (!ensureUnlocked()) return + if (!currentId) { + await confirmModal('提示', '请先选择要删除的笔记') + return + } + const ok = await confirmModal('删除笔记', '删除后将进入回收站,确定要删除吗?') + if (!ok) return + try { + const id = currentId + showLoading('删除笔记', `目标 id=${currentId}`) + await post('/api/cloud_notes/note/trash', { id }) + if (String(currentId || '') === String(id || '')) { + currentId = 0 + txt('cn-title', '') + if (tinymce.activeEditor) tinymce.activeEditor.setContent('') + html('cn-attachments', '') + updateAttachmentVisibility() + } + const li = document.querySelector(`.cn-list li[data-id="${id}"]`) + if (li && li.parentNode) li.parentNode.removeChild(li) + await loadNotesList() + hideLoading() + } catch (e) { appendLoading(`错误: ${String(e && e.message || 'error')}`); hideLoading() } + } + const restoreFromTrash = async id => { + if (!ensureUnlocked()) return + try { + showLoading('还原笔记', `目标 id=${id}`) + await post('/api/cloud_notes/note/restore', { id }) + currentId = id + updateAttachmentVisibility() + setMainTab('notes') + await selectNote(id) + hideLoading() + } catch (e) { appendLoading(`错误: ${String(e && e.message || 'error')}`); hideLoading() } + } + const hardDeleteFromTrash = async id => { + if (!ensureUnlocked()) return + const ok = await confirmModal('彻底删除', '彻底删除后将无法恢复,确定要继续吗?') + if (!ok) return + try { + showLoading('彻底删除笔记', `目标 id=${id}`) + await post('/api/cloud_notes/note/trash_delete', { id }) + await loadTrashList() + if (String(currentId || '') === String(id || '')) { + currentId = 0 + txt('cn-title', '') + if (tinymce.activeEditor) tinymce.activeEditor.setContent('') + html('cn-attachments', '') + updateAttachmentVisibility() + } + hideLoading() + } catch (e) { appendLoading(`错误: ${String(e && e.message || 'error')}`); hideLoading() } + } + const stripHtml = s => String(s || '').replace(/<[^>]+>/g, ' ') + const fmtDate = s => { + if (!s) return '' + return String(s).replace('T', ' ').slice(0, 19) + } + const fmtSize = n => { + const v = Number(n || 0) + if (!Number.isFinite(v) || v <= 0) return '' + if (v < 1024) return `${v} B` + const kb = v / 1024 + if (kb < 1024) return `${kb.toFixed(1)} KB` + const mb = kb / 1024 + if (mb < 1024) return `${mb.toFixed(1)} MB` + const gb = mb / 1024 + return `${gb.toFixed(1)} GB` + } + const renderDashboard = data => { + const box = el('cn-dashboard') + if (!box) return + const d = data || {} + const ov = d.overview || {} + const total = Number(ov.total_notes || 0) + const today = Number(ov.today_count || 0) + const week = Number(ov.week_count || 0) + const starred = Number(ov.starred_count || 0) + const pinned = Number(ov.pinned_count || 0) + const recent = Array.isArray(d.recent_notes) ? d.recent_notes : [] + const pinnedNotes = Array.isArray(d.pinned_notes) ? d.pinned_notes : [] + const starredNotes = Array.isArray(d.starred_notes) ? d.starred_notes : [] + const tags = Array.isArray(d.hot_tags) ? d.hot_tags : [] + const attachments = Array.isArray(d.recent_attachments) ? d.recent_attachments : [] + const untagged = Number(d.untagged_count || 0) + const lastId = Number(d.last_note_id || 0) + const buildNotesList = (list, emptyText) => { + const arr = Array.isArray(list) ? list : [] + if (!arr.length) return `
    ${emptyText}
    ` + const items = arr.map(n => { + const id = n.id + const title = escapeHtml(n.title || '') + const time = fmtDate(n.updated_at || n.created_at || '') + return `
  • ${title}${time}
  • ` + }) + return `
      ${items.join('')}
    ` + } + const buildTags = () => { + if (!tags.length && !untagged) return `
    暂无标签数据
    ` + const rows = [] + tags.forEach(t => { + const count = typeof t.note_count === 'number' ? t.note_count : 0 + const color = String(t.color || '').trim() + const style = color ? ` style="background:${escapeHtml(color)};"` : '' + rows.push(`
    ${escapeHtml(t.name || '')}${count}
    `) + }) + if (untagged) rows.push(`
    未打标签${untagged}
    `) + return rows.join('') + } + const buildAttachments = () => { + if (!attachments.length) return `
    暂无附件
    ` + const pickSize = n => { + const v = Number(n || 0) + if (!Number.isFinite(v) || v <= 0) return '' + if (v < 1024) return `${v} B` + const kb = v / 1024 + if (kb < 1024) return `${kb.toFixed(1)} KB` + const mb = kb / 1024 + return `${mb.toFixed(1)} MB` + } + const items = attachments.slice(0, 6).map(a => { + const path = escapeHtml(a.file_path || '') + const filename = escapeHtml(a.filename || '') + const sizeText = pickSize(a.file_size) + const parts = [] + if (sizeText) parts.push(sizeText) + if (a.created_at) parts.push(fmtDate(a.created_at)) + const meta = parts.join(' · ') + const title = a.note_title ? `所属笔记:${escapeHtml(a.note_title)}` : '' + return `
  • 📎 ${filename}${meta}
  • ` + }) + return `
      ${items.join('')}
    ` + } + const mergedImportant = (() => { + const pinnedIds = new Set() + const list = [] + pinnedNotes.forEach(n => { + pinnedIds.add(String(n.id || '')) + list.push(n) + }) + starredNotes.forEach(n => { + const id = String(n.id || '') + if (!pinnedIds.has(id)) list.push(n) + }) + return list + })() + box.innerHTML = [ + '
    ', + // 统计卡片 + '
    ', + '
    ', + '
    📊
    ', + '
    数据概览
    ', + '
    ', + '
    ', + '
    ', + '
    ', + '
    总笔记
    ', + `
    ${total}
    `, + '
    ', + '
    ', + '
    今日更新
    ', + `
    ${today}
    `, + '
    ', + '
    ', + '
    近7天更新
    ', + `
    ${week}
    `, + '
    ', + '
    ', + '
    加星 / 置顶
    ', + `
    ${starred} / ${pinned}
    `, + '
    ', + '
    ', + '
    ', + '
    ', + + // 快捷操作卡片 + '
    ', + '
    ', + '
    ⚡
    ', + '
    快捷操作
    ', + '
    ', + '
    ', + '
    ', + '', + lastId ? '' : '', + '', + '
    ', + `
    ${untagged} 条未打标签
    `, + '
    ', + '
    ', + + // 最近笔记卡片 + '
    ', + '
    ', + '
    🕒
    ', + '
    最近笔记
    ', + '
    ', + '
    ', + buildNotesList(recent.slice(0, 8), '暂无最近笔记'), + '
    ', + '
    ', + + // 重点笔记卡片 + '
    ', + '
    ', + '
    ⭐
    ', + '
    重点笔记
    ', + '
    ', + '
    ', + buildNotesList(mergedImportant.slice(0, 4), '暂无重点笔记'), + '
    ', + '
    ', + + // 标签概览卡片 + '
    ', + '
    ', + '
    🏷️
    ', + '
    标签管理
    ', + '
    ', + '
    ', + buildTags(), + '
    ', + '
    ', + + // 附件卡片 + '
    ', + '
    ', + '
    📎
    ', + '
    附件中心
    ', + '
    ', + '
    ', + buildAttachments(), + '
    ', + '
    ', + '
    ' + ].join('') + Array.from(box.querySelectorAll('.cn-dash-list li[data-id]')).forEach(li => { + li.onclick = () => { + const id = li.dataset.id + if (!id) return + selectNote(id) + setRightView('editor') + } + }) + Array.from(box.querySelectorAll('.cn-dash-tag-row[data-tag-id]')).forEach(row => { + row.onclick = () => { + const tid = parseInt(String(row.dataset.tagId || '0'), 10) || 0 + if (!tid) return + activeTagId = tid + currentTab = 'tags' + renderTagFilterBar() + loadNotesByTag() + } + }) + Array.from(box.querySelectorAll('.cn-dash-attachments li')).forEach(li => { + li.onclick = () => { + const path = li.dataset.path + if (path) window.open(path, '_blank') + } + }) + const quickNew = box.querySelector('[data-action="new-note"]') + if (quickNew) quickNew.onclick = async () => { + if (!ensureUnlocked()) return + if (!(await ensureCanLeaveNote())) return + setRightView('editor') + newNote() + } + const quickLast = box.querySelector('[data-action="open-last"]') + if (quickLast && lastId) quickLast.onclick = () => { + if (!ensureUnlocked()) return + selectNote(lastId) + setRightView('editor') + } + const quickSearch = box.querySelector('[data-action="open-search"]') + if (quickSearch) quickSearch.onclick = () => { + if (!ensureUnlocked()) return + openSearch() + } + } + const loadDashboard = async () => { + try { + showLoading('加载驾驶舱', '请求概览数据') + const j = await get('/api/cloud_notes/dashboard') + if (j && j.ok) { + dashboardData = j.data || null + renderDashboard(dashboardData) + } + hideLoading() + } catch (e) { appendLoading(`错误: ${String(e && e.message || 'error')}`); hideLoading() } + } + const setRightView = name => { + rightView = name === 'editor' ? 'editor' : 'dashboard' + const dash = el('cn-dashboard') + const pane = el('cn-editor-pane') + if (dash) dash.style.display = rightView === 'dashboard' ? '' : 'none' + if (pane) pane.style.display = rightView === 'editor' ? '' : 'none' + const title = el('cn-right-title') + if (title) title.textContent = rightView === 'dashboard' ? '驾驶舱' : '笔记内容' + const tabDash = el('cn-right-tab-dashboard') + const tabEditor = el('cn-right-tab-editor') + if (tabDash) tabDash.classList.toggle('active', rightView === 'dashboard') + if (tabEditor) tabEditor.classList.toggle('active', rightView === 'editor') + const saveBtn = el('cn-save') + if (saveBtn) saveBtn.style.display = rightView === 'editor' ? '' : 'none' + } + let searchRows = [] + let searchSort = 'default' + const applySearchSort = () => { + if (!Array.isArray(searchRows)) return [] + const rows = searchRows.slice() + if (searchSort === 'title') rows.sort((a,b) => String(a.title||'').localeCompare(String(b.title||''))) + else if (searchSort === 'updated_at') rows.sort((a,b) => String(b.updated_at||'').localeCompare(String(a.updated_at||''))) + else if (searchSort === 'created_at') rows.sort((a,b) => String(b.created_at||'').localeCompare(String(a.created_at||''))) + else if (searchSort === 'size') rows.sort((a,b) => Number(b.size_bytes||0) - Number(a.size_bytes||0)) + return rows + } + const highlightKeyword = (text, kw) => { + const raw = String(text || '') + const q = String(kw || '').trim() + if (!q) return escapeHtml(raw) + const re = new RegExp(q.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), 'ig') + let out = '' + let last = 0 + raw.replace(re, (...args) => { + const offset = args[args.length - 2] + out += escapeHtml(raw.slice(last, offset)) + out += `${escapeHtml(args[0])}` + last = offset + args[0].length + return args[0] + }) + out += escapeHtml(raw.slice(last)) + return out + } + const renderSearchResults = (rows, keyword) => { + const box = document.getElementById('cn-search-results') + const info = document.getElementById('cn-search-count') + if (!box || !info) return + searchRows = Array.isArray(rows) ? rows : [] + const sorted = applySearchSort() + info.textContent = sorted.length ? `共 ${sorted.length} 项` : '' + if (!sorted.length) { + box.innerHTML = '' + return + } + const kw = String(keyword || '').trim() + const pickSnippet = r => { + const plain = stripHtml(r.html || '') + if (!kw) return plain.slice(0, 80) + const idx = plain.toLowerCase().indexOf(kw.toLowerCase()) + if (idx < 0) return plain.slice(0, 80) + const start = Math.max(0, idx - 16) + const end = Math.min(plain.length, idx + kw.length + 40) + return (start > 0 ? '…' : '') + plain.slice(start, end) + (end < plain.length ? '…' : '') + } + box.innerHTML = '' + sorted.forEach(r => { + const title = highlightKeyword(r.title || '', kw) + const snippet = highlightKeyword(pickSnippet(r), kw) + const meta = [] + if (r.updated_at) meta.push(`修改: ${fmtDate(r.updated_at)}`) + if (r.created_at) meta.push(`创建: ${fmtDate(r.created_at)}`) + if (r.size_bytes) meta.push(`大小: ${fmtSize(r.size_bytes)}`) + const item = document.createElement('div') + item.className = 'cn-search-item' + item.dataset.id = String(r.id || '') + const titleNode = document.createElement('div') + titleNode.className = 'cn-search-item-title' + titleNode.innerHTML = title + const snippetNode = document.createElement('div') + snippetNode.className = 'cn-search-item-snippet' + snippetNode.innerHTML = snippet + const metaNode = document.createElement('div') + metaNode.className = 'cn-search-item-meta' + metaNode.textContent = meta.join(' | ') + item.appendChild(titleNode) + item.appendChild(snippetNode) + item.appendChild(metaNode) + box.appendChild(item) + }) + Array.from(box.querySelectorAll('.cn-search-item')).forEach(node => { + node.onclick = () => { + const id = node.dataset.id + if (!id) return + closeSearch() + selectNote(id) + } + }) + } + const openSearch = () => { + if (!ensureUnlocked()) return + const layer = document.getElementById('cn-search-layer') + if (!layer) return + layer.style.display = '' + const input = document.getElementById('cn-search-input') + if (input) { + input.focus() + input.select() + } + } + const closeSearch = () => { + const layer = document.getElementById('cn-search-layer') + if (!layer) return + layer.style.display = 'none' + } + const doSearch = async () => { + if (!ensureUnlocked()) return + const input = document.getElementById('cn-search-input') + if (!input) return + const q = String(input.value || '').trim() + if (!q) { + renderSearchResults([], '') + return + } + try { + showLoading('搜索笔记', `关键字: ${q}`) + const j = await get(`/api/cloud_notes/note/search?q=${encodeURIComponent(q)}`) + if (j && j.ok) renderSearchResults(Array.isArray(j.rows) ? j.rows : [], j.keyword || q) + hideLoading() + } catch (e) { appendLoading(`错误: ${String(e && e.message || 'error')}`); hideLoading() } + } + const bindSearchUI = () => { + const btn = el('cn-search') + if (btn) btn.onclick = () => openSearch() + const closeBtn = document.getElementById('cn-search-close') + if (closeBtn) closeBtn.onclick = () => closeSearch() + const input = document.getElementById('cn-search-input') + if (input) input.onkeydown = e => { + if (e.key === 'Enter') doSearch() + } + const sortBtn = document.getElementById('cn-search-sort-btn') + const menu = document.getElementById('cn-search-sort-menu') + if (sortBtn && menu) { + sortBtn.onclick = () => { + menu.style.display = menu.style.display === 'none' || !menu.style.display ? '' : 'none' + } + Array.from(menu.querySelectorAll('button')).forEach(b => { + b.onclick = () => { + const v = b.dataset.sort || 'default' + searchSort = v + Array.from(menu.querySelectorAll('button')).forEach(x => x.classList.toggle('active', x === b)) + if (v === 'title') sortBtn.textContent = '笔记名称' + else if (v === 'updated_at') sortBtn.textContent = '修改时间' + else if (v === 'created_at') sortBtn.textContent = '创建时间' + else if (v === 'size') sortBtn.textContent = '笔记大小' + else sortBtn.textContent = '默认排序' + renderSearchResults(searchRows, document.getElementById('cn-search-input') ? document.getElementById('cn-search-input').value : '') + menu.style.display = 'none' + } + }) + } + } + const syncSettingsUI = () => { + const u = el('cn-settings-username') + if (u && me && me.username) u.value = me.username + const idleInput = el('cn-settings-idle-minutes') + if (idleInput) idleInput.value = idleMinutes ? String(idleMinutes) : '' + } + const openSettings = () => { + if (!ensureUnlocked()) return + const m = el('cn-settings-modal') + if (!m) return + syncSettingsUI() + m.style.display = '' + } + const closeSettings = () => { + const m = el('cn-settings-modal') + if (!m) return + m.style.display = 'none' + } + const bindSettingsUI = () => { + const modal = el('cn-settings-modal') + if (!modal) return + const tabs = Array.from(modal.querySelectorAll('.cn-settings-tab')) + const panels = Array.from(modal.querySelectorAll('.cn-settings-panel')) + const setActive = name => { + tabs.forEach(t => { + const key = t.dataset.tab || '' + t.classList.toggle('active', key === name) + }) + panels.forEach(p => { + const key = p.dataset.tab || '' + p.classList.toggle('active', key === name) + }) + if (name === 'tags') reloadTags() + if (name === 'tiny_toolbar') loadTinyToolbarSettings() + } + tabs.forEach(t => { + t.onclick = () => { + const name = t.dataset.tab || '' + if (name) setActive(name) + } + }) + const closeBtn = el('cn-settings-close') + if (closeBtn) closeBtn.onclick = () => closeSettings() + const idleSave = el('cn-settings-idle-save') + if (idleSave) idleSave.onclick = () => { + const input = el('cn-settings-idle-minutes') + const raw = input && input.value ? parseInt(input.value, 10) : 0 + const m = Number.isFinite(raw) && raw > 0 ? Math.min(raw, 720) : 0 + applyIdleMinutes(m) + window.alert(m ? `已设置为 ${m} 分钟无操作锁定` : '已关闭无操作锁定') + closeSettings() + } + const tagsAdd = el('cn-settings-tags-add') + if (tagsAdd) tagsAdd.onclick = () => { + settingsTags.push({ id: 0, name: '', color: '', sort_index: settingsTags.length }) + renderSettingsTags() + } + const tagsSave = el('cn-settings-tags-save') + if (tagsSave) tagsSave.onclick = async () => { + const payload = settingsTags.map((t, idx) => ({ id: t.id || 0, name: String(t.name || '').trim(), color: String(t.color || '').trim(), sort_index: idx })).filter(t => t.name) + try { + showLoading('保存标签', '正在提交标签列表') + await post('/api/cloud_notes/tags/save', { tags: payload }) + await reloadTags() + hideLoading() + window.alert('标签已保存') + } catch (e) { appendLoading(`错误: ${String(e && e.message || 'error')}`); hideLoading() } + } + const tinyToolbarSave = el('cn-settings-tiny-toolbar-save') + if (tinyToolbarSave) tinyToolbarSave.onclick = async () => { + const payload = normalizeTinyToolbarSettings(tinyToolbarSettings) + try { + showLoading('保存工具栏设置', '正在提交配置') + const j = await post('/api/cloud_notes/settings/tiny_toolbar', { settings: payload }) + if (j && j.settings) { + tinyToolbarSettings = normalizeTinyToolbarSettings(j.settings) + } + hideLoading() + window.alert('工具栏设置已保存,将重新加载编辑器') + try { + const ed = window.tinymce && tinymce.activeEditor ? tinymce.activeEditor : null + const content = ed ? ed.getContent() : '' + if (ed) tinymce.remove(ed) + await ensureTinyMCE() + initEditor() + if (content) { + setTimeout(() => { + if (tinymce.activeEditor) tinymce.activeEditor.setContent(content) + }, 0) + } + } catch {} + } catch (e) { appendLoading(`错误: ${String(e && e.message || 'error')}`); hideLoading() } + } + } + const onFullscreenResize = () => { + if (!isFullscreen) return + const editorContainer = document.querySelector('.tox-tinymce') + if (!editorContainer) return + const editorWrapper = document.querySelector('.cn-editor-wrapper') + const rightInner = document.querySelector('.cn-right-inner') + if (!editorWrapper || !rightInner) { + const h = Math.max(400, window.innerHeight - 220) + editorContainer.style.height = `${h}px` + return + } + const innerRect = rightInner.getBoundingClientRect() + const wrapperRect = editorWrapper.getBoundingClientRect() + const available = innerRect.bottom - wrapperRect.top + const h = Math.max(400, Math.floor(available)) + editorContainer.style.height = `${h}px` + } + const bind = () => { + const themeBtn = el('cn-toggle-theme') + if (themeBtn) themeBtn.onclick = () => { + const next = currentTheme() === 'dark' ? 'light' : 'dark' + applyTheme(next) + } + const settingsBtn = el('cn-settings') + if (settingsBtn) settingsBtn.onclick = () => openSettings() + const attachToggleBtn = el('cn-attach-toggle') + if (attachToggleBtn) attachToggleBtn.onclick = () => { + if (!ensureUnlocked()) return + toggleAttachPanel() + } + const fullscreenBtn = el('cn-fullscreen') + if (fullscreenBtn) fullscreenBtn.onclick = toggleFullscreen + const logoutBtn = el('cn-logout-btn') + if (logoutBtn) logoutBtn.onclick = async () => { + if (!ensureUnlocked()) return + if (!(await ensureCanLeaveNote())) return + try { + showLoading('退出登录', '正在退出当前账号') + await logout() + } finally { + me = null + locked = true + show('cn-app', false) + show('cn-login', true) + const pwd = el('cn-password') + if (pwd) pwd.value = '' + hideLoading() + } + } + const dashTab = el('cn-right-tab-dashboard') + if (dashTab) dashTab.onclick = async () => { + if (!ensureUnlocked()) return + if (rightView === 'editor' && !(await ensureCanLeaveNote())) return + setRightView('dashboard') + if (!dashboardData) loadDashboard() + } + const editorTab = el('cn-right-tab-editor') + if (editorTab) editorTab.onclick = () => { + if (!ensureUnlocked()) return + setRightView('editor') + } + el('cn-login-btn').onclick = login + ;(async function tryAutoFill() { + try { + const token = localStorage.getItem('toolbox_creds_token') || '' + const url = '/api/cloud_notes/auth/local_creds' + (token ? '?token=' + encodeURIComponent(token) : '') + const r = await fetch(url, { credentials: 'same-origin', cache: 'no-store' }) + const d = await r.json().catch(() => null) + if (d && d.ok && d.creds) { + if (d.creds.username) el('cn-username').value = d.creds.username + if (d.creds.password) el('cn-password').value = d.creds.password + } + } catch {} + el('cn-username').removeAttribute('readonly') + el('cn-password').removeAttribute('readonly') + })() + const pwdInput = el('cn-password') + if (pwdInput) { + pwdInput.addEventListener('keydown', e => { + if (e.key === 'Enter') { + const btn = el('cn-login-btn') + if (btn && !btn.disabled) btn.click() + } + }) + } + el('cn-new').onclick = async () => { + if (!ensureUnlocked()) return + if (!(await ensureCanLeaveNote())) return + setRightView('editor') + newNote() + } + el('cn-save').onclick = saveNote + el('cn-refresh').onclick = loadList + el('cn-star').onclick = toggleStar + el('cn-pin').onclick = togglePin + const delBtn = el('cn-delete') + if (delBtn) delBtn.onclick = () => softDeleteCurrent() + const cloneBtn = el('cn-clone') + if (cloneBtn) cloneBtn.onclick = () => cloneCurrentNote() + const versionsBtn = el('cn-versions') + if (versionsBtn) versionsBtn.onclick = () => listVersions() + const versionsClose = el('cn-versions-close') + if (versionsClose) versionsClose.onclick = () => closeVersionsModal() + const versionsCompare = el('cn-versions-compare') + if (versionsCompare) versionsCompare.onclick = () => renderCompareByIds() + const conflictCancel = el('cn-conflict-cancel') + if (conflictCancel) conflictCancel.onclick = () => closeConflictModal() + const conflictCompare = el('cn-conflict-compare') + if (conflictCompare) conflictCompare.onclick = () => { + closeConflictModal() + if (!conflictLatest) return + openVersionsModal() + renderVersionsList() + const currentHtml = tinymce.activeEditor ? tinymce.activeEditor.getContent() : '' + renderCompareFromHtml(conflictLatest.html, currentHtml, `服务器最新 ${versionLabel(conflictLatest)}`, '当前编辑') + } + const conflictForce = el('cn-conflict-force') + if (conflictForce) conflictForce.onclick = () => { closeConflictModal(); saveNoteForce() } + const tagAddBtn = el('cn-note-tag-add') + if (tagAddBtn) tagAddBtn.onclick = () => { + if (!ensureUnlocked()) return + toggleTagPicker() + } + const tagChipsBox = el('cn-note-tag-chips') + if (tagChipsBox) tagChipsBox.onclick = e => { + if (e.target && e.target.classList && e.target.classList.contains('close')) return + if (!ensureUnlocked()) return + toggleTagPicker() + } + el('cn-attach').onclick = () => { const f = el('cn-attach-file'); if (f) f.click() } + el('cn-attach-file').onchange = e => { const f = e.target.files && e.target.files[0]; if (f) attachFile(f) } + const tabs = Array.from(document.querySelectorAll('.cn-main-tab')) + const leftTitle = el('cn-left-title') + const updateTabUI = () => { + tabs.forEach(t => { + const key = t.dataset.tab || '' + t.classList.toggle('active', key === currentTab) + }) + if (leftTitle) { + if (currentTab === 'trash') leftTitle.textContent = '回收站' + else if (currentTab === 'tags') leftTitle.textContent = '标签' + else leftTitle.textContent = '' + } + const newBtn = el('cn-new') + const starBtn = el('cn-star') + const pinBtn = el('cn-pin') + const deleteBtn = el('cn-delete') + if (newBtn) newBtn.style.display = currentTab === 'notes' ? '' : 'none' + if (starBtn) starBtn.style.display = currentTab === 'notes' ? '' : 'none' + if (pinBtn) pinBtn.style.display = currentTab === 'notes' ? '' : 'none' + if (deleteBtn) deleteBtn.style.display = currentTab === 'notes' ? '' : 'none' + renderTagFilterBar() + } + const setTab = name => { + if (name !== 'notes' && name !== 'tags' && name !== 'trash') name = 'notes' + currentTab = name + updateTabUI() + loadList() + } + tabs.forEach(t => { + t.onclick = () => { + const key = t.dataset.tab || 'notes' + setTab(key) + } + }) + updateTabUI() + window.addEventListener('keydown', e => { + const k = String(e.key || '').toLowerCase() + if ((e.ctrlKey || e.metaKey) && k === 's') { + e.preventDefault() + if (!ensureUnlocked()) return + saveNote() + } + }) + window.addEventListener('beforeunload', e => { + if (hasUnsavedEditorChanges()) { + e.preventDefault() + e.returnValue = '' + } + }) + } + + const toggleFullscreen = () => { + isFullscreen = !isFullscreen + const fullscreenBtn = el('cn-fullscreen') + if (fullscreenBtn) { + const label = isFullscreen ? '缩屏' : '全屏' + fullscreenBtn.textContent = label + fullscreenBtn.title = label + fullscreenBtn.setAttribute('aria-label', label) + } + const body = document.body + if (isFullscreen) body.classList.add('cn-fullscreen') + else body.classList.remove('cn-fullscreen') + const editorContainer = document.querySelector('.tox-tinymce') + if (editorContainer) { + if (isFullscreen) { + editorContainer.dataset.cnPrevHeight = editorContainer.style.height || '' + onFullscreenResize() + if (!fullscreenResizeBound) { + fullscreenResizeBound = true + window.addEventListener('resize', onFullscreenResize) + } + } else { + const prev = editorContainer.dataset.cnPrevHeight || '' + editorContainer.style.height = prev + } + } + if (!isFullscreen && fullscreenResizeBound) { + fullscreenResizeBound = false + window.removeEventListener('resize', onFullscreenResize) + } + if (isFullscreen && rightView !== 'editor') setRightView('editor') + updateAttachmentVisibility() + } + + // 中文日期格式化 + const formatChineseDate = (date) => { + const now = new Date() + const diffTime = Math.abs(now - date) + const diffDays = Math.floor(diffTime / (1000 * 60 * 60 * 24)) + + if (diffDays === 0) { + return '今天' + } else if (diffDays === 1) { + return '昨天' + } else if (diffDays === 2) { + return '前天' + } else if (diffDays < 7) { + return `${diffDays}天前` + } else { + return date.toLocaleDateString('zh-CN', { + year: 'numeric', + month: '2-digit', + day: '2-digit' + }) + } + } + + // 登录界面背景随机切换 + const initLoginBackground = () => { + const loginContainer = el('cn-login') + if (!loginContainer) return + + // 获取背景图片目录 + const bgImages = [ + '/home-bg/blue-sky-bf240d20/1.jpg', + '/home-bg/blue-sky-bf240d20/2.jpg', + '/home-bg/business-minimal-434facc4/1.jpg', + '/home-bg/business-minimal-434facc4/2.jpg', + '/home-bg/colorful-abstract-9b5b4d8c/1.jpg', + '/home-bg/colorful-abstract-9b5b4d8c/2.jpg', + '/home-bg/gradient-3d-9d6b3a3c/1.jpg', + '/home-bg/gradient-3d-9d6b3a3c/2.jpg', + '/home-bg/nature-landscape-8c0d5a7f/1.jpg', + '/home-bg/nature-landscape-8c0d5a7f/2.jpg', + '/home-bg/tech-futuristic-7a3b8c9d/1.jpg', + '/home-bg/tech-futuristic-7a3b8c9d/2.jpg', + '/home-bg/warm-minimal-5e4c3b2a/1.jpg', + '/home-bg/warm-minimal-5e4c3b2a/2.jpg' + ] + + // 随机选择一张背景图片 + const randomIndex = Math.floor(Math.random() * bgImages.length) + const selectedBg = bgImages[randomIndex] + + // 设置背景样式 + loginContainer.style.background = `url('${selectedBg}') center/cover no-repeat` + loginContainer.style.boxShadow = '0 8px 32px rgba(0, 0, 0, 0.3)' + loginContainer.style.border = 'none' + loginContainer.style.backdropFilter = 'blur(10px)' + loginContainer.style.color = 'white' + + // 设置输入框样式 + const inputs = loginContainer.querySelectorAll('.modal-input') + inputs.forEach(input => { + input.style.background = 'rgba(255, 255, 255, 0.9)' + input.style.border = '1px solid rgba(255, 255, 255, 0.3)' + input.style.color = '#333' + }) + + // 设置按钮样式 + const loginBtn = el('cn-login-btn') + if (loginBtn) { + loginBtn.style.background = 'rgba(24, 144, 255, 0.9)' + loginBtn.style.border = 'none' + loginBtn.style.color = 'white' + } + } + + const start = () => { initPreferences(); bind(); bindSettingsUI(); bindSearchUI(); bindIdleEvents(); initLoginBackground(); ensureAuth() } + return { start } +})() +document.addEventListener('DOMContentLoaded', () => cn.start()) diff --git a/public/tools/cloud_notes/index.html b/public/tools/cloud_notes/index.html new file mode 100644 index 0000000..bcb7590 --- /dev/null +++ b/public/tools/cloud_notes/index.html @@ -0,0 +1,220 @@ + + + + + + 云笔记 + + + + + +
    +
    +

    云笔记

    +
    + + + + +
    +
    + + +
    + + + + + + + + diff --git a/public/tools/cloud_notes/tinymce/bower.json b/public/tools/cloud_notes/tinymce/bower.json new file mode 100644 index 0000000..0af3ccf --- /dev/null +++ b/public/tools/cloud_notes/tinymce/bower.json @@ -0,0 +1,27 @@ +{ + "name": "tinymce", + "description": "Web based JavaScript HTML WYSIWYG editor control.", + "license": "MIT", + "keywords": [ + "wysiwyg", + "tinymce", + "richtext", + "javascript", + "html", + "text", + "rich editor", + "rich text editor", + "rte", + "rich text", + "contenteditable", + "editing" + ], + "homepage": "https://www.tiny.cloud/", + "ignore": [ + "README.md", + "composer.json", + "package.json", + ".npmignore", + "CHANGELOG.md" + ] +} \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/composer.json b/public/tools/cloud_notes/tinymce/composer.json new file mode 100644 index 0000000..264f255 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/composer.json @@ -0,0 +1,52 @@ +{ + "name": "tinymce/tinymce", + "version": "6.8.3", + "description": "Web based JavaScript HTML WYSIWYG editor control.", + "license": [ + "MIT-only" + ], + "keywords": [ + "wysiwyg", + "tinymce", + "richtext", + "javascript", + "html", + "text", + "rich editor", + "rich text editor", + "rte", + "rich text", + "contenteditable", + "editing" + ], + "homepage": "https://www.tiny.cloud/", + "type": "component", + "extra": { + "component": { + "scripts": [ + "tinymce.js", + "plugins/*/plugin.js", + "themes/*/theme.js", + "models/*/model.js", + "icons/*/icons.js" + ], + "files": [ + "tinymce.min.js", + "plugins/*/plugin.min.js", + "themes/*/theme.min.js", + "models/*/model.min.js", + "skins/**", + "icons/*/icons.min.js" + ] + } + }, + "archive": { + "exclude": [ + "README.md", + "bower.js", + "package.json", + ".npmignore", + "CHANGELOG.md" + ] + } +} \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/icons/default/icons.js b/public/tools/cloud_notes/tinymce/icons/default/icons.js new file mode 100644 index 0000000..cefaedd --- /dev/null +++ b/public/tools/cloud_notes/tinymce/icons/default/icons.js @@ -0,0 +1,194 @@ +tinymce.IconManager.add('default', { + icons: { + 'accessibility-check': '', + 'accordion-toggle': '', + 'accordion': '', + 'action-next': '', + 'action-prev': '', + 'addtag': '', + 'ai-prompt': '', + 'ai': '', + 'align-center': '', + 'align-justify': '', + 'align-left': '', + 'align-none': '', + 'align-right': '', + 'arrow-left': '', + 'arrow-right': '', + 'bold': '', + 'bookmark': '', + 'border-style': '', + 'border-width': '', + 'brightness': '', + 'browse': '', + 'cancel': '', + 'cell-background-color': '', + 'cell-border-color': '', + 'change-case': '', + 'character-count': '', + 'checklist-rtl': '', + 'checklist': '', + 'checkmark': '', + 'chevron-down': '', + 'chevron-left': '', + 'chevron-right': '', + 'chevron-up': '', + 'close': '', + 'code-sample': '', + 'color-levels': '', + 'color-picker': '', + 'color-swatch-remove-color': '', + 'color-swatch': '', + 'comment-add': '', + 'comment': '', + 'contrast': '', + 'copy': '', + 'crop': '', + 'cut-column': '', + 'cut-row': '', + 'cut': '', + 'document-properties': '', + 'drag': '', + 'duplicate-column': '', + 'duplicate-row': '', + 'duplicate': '', + 'edit-block': '', + 'edit-image': '', + 'embed-page': '', + 'embed': '', + 'emoji': '', + 'export': '', + 'fill': '', + 'flip-horizontally': '', + 'flip-vertically': '', + 'footnote': '', + 'format-painter': '', + 'format': '', + 'fullscreen': '', + 'gallery': '', + 'gamma': '', + 'help': '', + 'highlight-bg-color': '', + 'home': '', + 'horizontal-rule': '', + 'image-options': '', + 'image': '', + 'indent': '', + 'info': '', + 'insert-character': '', + 'insert-time': '', + 'invert': '', + 'italic': '', + 'language': '', + 'line-height': '', + 'line': '', + 'link': '', + 'list-bull-circle': '', + 'list-bull-default': '', + 'list-bull-square': '', + 'list-num-default-rtl': '', + 'list-num-default': '', + 'list-num-lower-alpha-rtl': '', + 'list-num-lower-alpha': '', + 'list-num-lower-greek-rtl': '', + 'list-num-lower-greek': '', + 'list-num-lower-roman-rtl': '', + 'list-num-lower-roman': '', + 'list-num-upper-alpha-rtl': '', + 'list-num-upper-alpha': '', + 'list-num-upper-roman-rtl': '', + 'list-num-upper-roman': '', + 'lock': '', + 'ltr': '', + 'minus': '', + 'more-drawer': '', + 'new-document': '', + 'new-tab': '', + 'non-breaking': '', + 'notice': '', + 'ordered-list-rtl': '', + 'ordered-list': '', + 'orientation': '', + 'outdent': '', + 'page-break': '', + 'paragraph': '', + 'paste-column-after': '', + 'paste-column-before': '', + 'paste-row-after': '', + 'paste-row-before': '', + 'paste-text': '', + 'paste': '', + 'permanent-pen': '', + 'plus': '', + 'preferences': '', + 'preview': '', + 'print': '', + 'quote': '', + 'redo': '', + 'reload': '', + 'remove-formatting': '', + 'remove': '', + 'resize-handle': '', + 'resize': '', + 'restore-draft': '', + 'rotate-left': '', + 'rotate-right': '', + 'rtl': '', + 'save': '', + 'search': '', + 'select-all': '', + 'selected': '', + 'send': '', + 'settings': '', + 'sharpen': '', + 'sourcecode': '', + 'spell-check': '', + 'strike-through': '', + 'subscript': '', + 'superscript': '', + 'table-caption': '', + 'table-cell-classes': '', + 'table-cell-properties': '', + 'table-cell-select-all': '', + 'table-cell-select-inner': '', + 'table-classes': '', + 'table-delete-column': '', + 'table-delete-row': '', + 'table-delete-table': '', + 'table-insert-column-after': '', + 'table-insert-column-before': '', + 'table-insert-row-above': '', + 'table-insert-row-after': '', + 'table-left-header': '', + 'table-merge-cells': '', + 'table-row-numbering-rtl': '', + 'table-row-numbering': '', + 'table-row-properties': '', + 'table-split-cells': '', + 'table-top-header': '', + 'table': '', + 'template-add': '', + 'template': '', + 'temporary-placeholder': '', + 'text-color': '', + 'text-size-decrease': '', + 'text-size-increase': '', + 'toc': '', + 'translate': '', + 'typography': '', + 'underline': '', + 'undo': '', + 'unlink': '', + 'unlock': '', + 'unordered-list': '', + 'unselected': '', + 'upload': '', + 'user': '', + 'vertical-align': '', + 'visualblocks': '', + 'visualchars': '', + 'warning': '', + 'zoom-in': '', + 'zoom-out': '', + } +}); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/icons/default/icons.min.js b/public/tools/cloud_notes/tinymce/icons/default/icons.min.js new file mode 100644 index 0000000..e3750c6 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/icons/default/icons.min.js @@ -0,0 +1 @@ +tinymce.IconManager.add("default",{icons:{"accessibility-check":'',"accordion-toggle":'',accordion:'',"action-next":'',"action-prev":'',addtag:'',"ai-prompt":'',ai:'',"align-center":'',"align-justify":'',"align-left":'',"align-none":'',"align-right":'',"arrow-left":'',"arrow-right":'',bold:'',bookmark:'',"border-style":'',"border-width":'',brightness:'',browse:'',cancel:'',"cell-background-color":'',"cell-border-color":'',"change-case":'',"character-count":'',"checklist-rtl":'',checklist:'',checkmark:'',"chevron-down":'',"chevron-left":'',"chevron-right":'',"chevron-up":'',close:'',"code-sample":'',"color-levels":'',"color-picker":'',"color-swatch-remove-color":'',"color-swatch":'',"comment-add":'',comment:'',contrast:'',copy:'',crop:'',"cut-column":'',"cut-row":'',cut:'',"document-properties":'',drag:'',"duplicate-column":'',"duplicate-row":'',duplicate:'',"edit-block":'',"edit-image":'',"embed-page":'',embed:'',emoji:'',export:'',fill:'',"flip-horizontally":'',"flip-vertically":'',footnote:'',"format-painter":'',format:'',fullscreen:'',gallery:'',gamma:'',help:'',"highlight-bg-color":'',home:'',"horizontal-rule":'',"image-options":'',image:'',indent:'',info:'',"insert-character":'',"insert-time":'',invert:'',italic:'',language:'',"line-height":'',line:'',link:'',"list-bull-circle":'',"list-bull-default":'',"list-bull-square":'',"list-num-default-rtl":'',"list-num-default":'',"list-num-lower-alpha-rtl":'',"list-num-lower-alpha":'',"list-num-lower-greek-rtl":'',"list-num-lower-greek":'',"list-num-lower-roman-rtl":'',"list-num-lower-roman":'',"list-num-upper-alpha-rtl":'',"list-num-upper-alpha":'',"list-num-upper-roman-rtl":'',"list-num-upper-roman":'',lock:'',ltr:'',minus:'',"more-drawer":'',"new-document":'',"new-tab":'',"non-breaking":'',notice:'',"ordered-list-rtl":'',"ordered-list":'',orientation:'',outdent:'',"page-break":'',paragraph:'',"paste-column-after":'',"paste-column-before":'',"paste-row-after":'',"paste-row-before":'',"paste-text":'',paste:'',"permanent-pen":'',plus:'',preferences:'',preview:'',print:'',quote:'',redo:'',reload:'',"remove-formatting":'',remove:'',"resize-handle":'',resize:'',"restore-draft":'',"rotate-left":'',"rotate-right":'',rtl:'',save:'',search:'',"select-all":'',selected:'',send:'',settings:'',sharpen:'',sourcecode:'',"spell-check":'',"strike-through":'',subscript:'',superscript:'',"table-caption":'',"table-cell-classes":'',"table-cell-properties":'',"table-cell-select-all":'',"table-cell-select-inner":'',"table-classes":'',"table-delete-column":'',"table-delete-row":'',"table-delete-table":'',"table-insert-column-after":'',"table-insert-column-before":'',"table-insert-row-above":'',"table-insert-row-after":'',"table-left-header":'',"table-merge-cells":'',"table-row-numbering-rtl":'',"table-row-numbering":'',"table-row-properties":'',"table-split-cells":'',"table-top-header":'',table:'',"template-add":'',template:'',"temporary-placeholder":'',"text-color":'',"text-size-decrease":'',"text-size-increase":'',toc:'',translate:'',typography:'',underline:'',undo:'',unlink:'',unlock:'',"unordered-list":'',unselected:'',upload:'',user:'',"vertical-align":'',visualblocks:'',visualchars:'',warning:'',"zoom-in":'',"zoom-out":''}}); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/icons/default/index.js b/public/tools/cloud_notes/tinymce/icons/default/index.js new file mode 100644 index 0000000..ca4184a --- /dev/null +++ b/public/tools/cloud_notes/tinymce/icons/default/index.js @@ -0,0 +1,7 @@ +// Exports the "default" icons for usage with module loaders +// Usage: +// CommonJS: +// require('tinymce/icons/default') +// ES2015: +// import 'tinymce/icons/default' +require('./icons.js'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/language/zh_CN.js b/public/tools/cloud_notes/tinymce/language/zh_CN.js new file mode 100644 index 0000000..b357230 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/language/zh_CN.js @@ -0,0 +1 @@ +tinymce.addI18n("zh_CN",{"#":"#","Accessibility":"\u8f85\u52a9\u529f\u80fd","Accordion":"\u6298\u53e0\u9762\u677f","Accordion body...":"\u6298\u53e0\u9762\u677f\u6b63\u6587...","Accordion summary...":"\u6298\u53e0\u9762\u677f\u6458\u8981...","Action":"\u52a8\u4f5c","Activity":"\u6d3b\u52a8","Address":"\u5730\u5740","Advanced":"\u9ad8\u7ea7","Align":"\u5bf9\u9f50","Align center":"\u5c45\u4e2d\u5bf9\u9f50","Align left":"\u5de6\u5bf9\u9f50","Align right":"\u53f3\u5bf9\u9f50","Alignment":"\u5bf9\u9f50","Alignment {0}":"\u5bf9\u9f50{0}","All":"\u5168\u90e8","Alternative description":"\u66ff\u4ee3\u63cf\u8ff0","Alternative source":"\u955c\u50cf","Alternative source URL":"\u66ff\u4ee3\u6765\u6e90\u7f51\u5740","Anchor":"\u951a\u70b9","Anchor...":"\u951a\u70b9...","Anchors":"\u951a\u70b9","Animals and Nature":"\u52a8\u7269\u548c\u81ea\u7136","Arrows":"\u7bad\u5934","B":"B","Background color":"\u80cc\u666f\u989c\u8272","Background color {0}":"\u80cc\u666f\u989c\u8272 {0}","Black":"\u9ed1\u8272","Block":"\u5757","Block {0}":"\u6587\u672c\u5757{0}","Blockquote":"Blockquote","Blocks":"\u6837\u5f0f","Blue":"\u84dd\u8272","Blue component":"\u767d\u8272\u90e8\u5206","Body":"\u8868\u4f53","Bold":"\u7c97\u4f53","Border":"\u6846\u7ebf","Border color":"\u6846\u7ebf\u989c\u8272","Border style":"\u8fb9\u6846\u6837\u5f0f","Border width":"\u8fb9\u6846\u5bbd\u5ea6","Bottom":"\u4e0b\u65b9\u5bf9\u9f50","Browse files":"\u6d4f\u89c8\u6587\u4ef6","Browse for an image":"\u6d4f\u89c8\u56fe\u7247","Browse links":"\u6d4f\u89c8\u94fe\u63a5","Bullet list":"\u65e0\u5e8f\u5217\u8868","Cancel":"\u53d6\u6d88","Caption":"\u6807\u9898","Cell":"\u5355\u5143\u683c","Cell padding":"\u5355\u5143\u683c\u5185\u8fb9\u8ddd","Cell properties":"\u5355\u5143\u683c\u5c5e\u6027","Cell spacing":"\u5355\u5143\u683c\u5916\u95f4\u8ddd","Cell styles":"\u5355\u5143\u683c\u6837\u5f0f","Cell type":"\u50a8\u5b58\u683c\u522b","Center":"\u5c45\u4e2d","Characters":"\u5b57\u7b26","Characters (no spaces)":"\u5b57\u7b26(\u65e0\u7a7a\u683c)","Circle":"\u7a7a\u5fc3\u5706","Class":"\u7c7b\u578b","Clear formatting":"\u6e05\u9664\u683c\u5f0f","Close":"\u5173\u95ed","Code":"\u4ee3\u7801","Code sample...":"\u793a\u4f8b\u4ee3\u7801...","Code view":"\u4ee3\u7801\u89c6\u56fe","Color Picker":"\u9009\u8272\u5668","Color swatch":"\u989c\u8272\u6837\u672c","Cols":"\u5217","Column":"\u5217","Column clipboard actions":"\u5217\u526a\u8d34\u677f\u64cd\u4f5c","Column group":"\u5217\u7ec4","Column header":"\u5217\u6807\u9898","Constrain proportions":"\u4fdd\u6301\u6bd4\u4f8b","Copy":"\u590d\u5236","Copy column":"\u590d\u5236\u5217","Copy row":"\u590d\u5236\u884c","Could not find the specified string.":"\u672a\u627e\u5230\u641c\u7d22\u5185\u5bb9\u3002","Could not load emojis":"\u65e0\u6cd5\u52a0\u8f7d\u8868\u60c5","Count":"\u8ba1\u6570","Currency":"\u8d27\u5e01","Current window":"\u5f53\u524d\u7a97\u53e3","Custom color":"\u81ea\u5b9a\u4e49\u989c\u8272","Custom...":"\u81ea\u5b9a\u4e49......","Cut":"Cut","Cut column":"\u526a\u5207\u5217","Cut row":"\u526a\u5207\u884c","Dark Blue":"\u6df1\u84dd\u8272","Dark Gray":"\u6df1\u7070\u8272","Dark Green":"\u6df1\u7eff\u8272","Dark Orange":"\u6df1\u6a59\u8272","Dark Purple":"\u6df1\u7d2b\u8272","Dark Red":"\u6df1\u7ea2\u8272","Dark Turquoise":"\u6df1\u84dd\u7eff\u8272","Dark Yellow":"\u6697\u9ec4\u8272","Dashed":"\u865a\u7ebf","Date/time":"\u65e5\u671f/\u65f6\u95f4","Decrease indent":"\u51cf\u5c11\u7f29\u8fdb","Default":"\u9884\u8bbe","Delete accordion":"\u5220\u9664\u6298\u53e0\u9762\u677f","Delete column":"\u5220\u9664\u5217","Delete row":"\u5220\u9664\u884c","Delete table":"\u5220\u9664\u8868\u683c","Dimensions":"\u5c3a\u5bf8","Disc":"\u5b9e\u5fc3\u5706","Div":"Div","Document":"\u6587\u6863","Dotted":"\u865a\u7ebf","Double":"\u53cc\u7cbe\u5ea6","Drop an image here":"\u62d6\u653e\u4e00\u5f20\u56fe\u50cf\u81f3\u6b64","Dropped file type is not supported":"\u6b64\u6587\u4ef6\u7c7b\u578b\u4e0d\u652f\u6301\u62d6\u653e","Edit":"\u7f16\u8f91","Embed":"\u5185\u5d4c","Emojis":"\u8868\u60c5\u7b26\u53f7","Emojis...":"Emojis...","Error":"\u9519\u8bef","Error: Form submit field collision.":"\u9519\u8bef: \u8868\u5355\u63d0\u4ea4\u5b57\u6bb5\u51b2\u7a81\u3002","Error: No form element found.":"\u9519\u8bef: \u6ca1\u6709\u8868\u5355\u63a7\u4ef6\u3002","Extended Latin":"\u62c9\u4e01\u8bed\u6269\u5145","Failed to initialize plugin: {0}":"\u63d2\u4ef6\u521d\u59cb\u5316\u5931\u8d25: {0}","Failed to load plugin url: {0}":"\u63d2\u4ef6\u52a0\u8f7d\u5931\u8d25 \u94fe\u63a5: {0}","Failed to load plugin: {0} from url {1}":"\u63d2\u4ef6\u52a0\u8f7d\u5931\u8d25: {0} \u6765\u81ea\u94fe\u63a5 {1}","Failed to upload image: {0}":"\u56fe\u7247\u4e0a\u4f20\u5931\u8d25: {0}","File":"\u6587\u4ef6","Find":"\u5bfb\u627e","Find (if searchreplace plugin activated)":"\u67e5\u627e(\u5982\u679c\u67e5\u627e\u66ff\u6362\u63d2\u4ef6\u5df2\u6fc0\u6d3b)","Find and Replace":"\u67e5\u627e\u548c\u66ff\u6362","Find and replace...":"\u67e5\u627e\u5e76\u66ff\u6362...","Find in selection":"\u5728\u9009\u533a\u4e2d\u67e5\u627e","Find whole words only":"\u5168\u5b57\u5339\u914d","Flags":"\u65d7\u5e1c","Focus to contextual toolbar":"\u79fb\u52a8\u7126\u70b9\u5230\u4e0a\u4e0b\u6587\u83dc\u5355","Focus to element path":"\u79fb\u52a8\u7126\u70b9\u5230\u5143\u7d20\u8def\u5f84","Focus to menubar":"\u79fb\u52a8\u7126\u70b9\u5230\u83dc\u5355\u680f","Focus to toolbar":"\u79fb\u52a8\u7126\u70b9\u5230\u5de5\u5177\u680f","Font":"\u5b57\u4f53","Font size {0}":"\u5b57\u4f53\u5927\u5c0f{0}","Font sizes":"\u5b57\u4f53\u5927\u5c0f","Font {0}":"\u5b57\u4f53{0}","Fonts":"\u5b57\u4f53","Food and Drink":"\u98df\u7269\u548c\u996e\u54c1","Footer":"\u8868\u5c3e","Format":"\u683c\u5f0f","Format {0}":"\u683c\u5f0f{0}","Formats":"\u683c\u5f0f","Fullscreen":"\u5168\u5c4f","G":"G","General":"\u4e00\u822c","Gray":"\u7070\u8272","Green":"\u7eff\u8272","Green component":"\u7eff\u8272\u90e8\u5206","Groove":"\u51f9\u69fd","Handy Shortcuts":"\u5feb\u6377\u952e","Header":"\u8868\u5934","Header cell":"\u8868\u5934\u5355\u5143\u683c","Heading 1":"\u4e00\u7ea7\u6807\u9898","Heading 2":"\u4e8c\u7ea7\u6807\u9898","Heading 3":"\u4e09\u7ea7\u6807\u9898","Heading 4":"\u56db\u7ea7\u6807\u9898","Heading 5":"\u4e94\u7ea7\u6807\u9898","Heading 6":"\u516d\u7ea7\u6807\u9898","Headings":"\u6807\u9898","Height":"\u9ad8\u5ea6","Help":"\u5e2e\u52a9","Hex color code":"\u5341\u516d\u8fdb\u5236\u989c\u8272\u4ee3\u7801","Hidden":"\u9690\u85cf","Horizontal align":"\u6c34\u5e73\u5bf9\u9f50","Horizontal line":"\u6c34\u5e73\u5206\u5272\u7ebf","Horizontal space":"\u6c34\u5e73\u95f4\u8ddd","ID":"ID","ID should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.":"ID\u5e94\u8be5\u4ee5\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u540e\u9762\u53ea\u80fd\u6709\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u3001\u7834\u6298\u53f7\u3001\u70b9\u3001\u5192\u53f7\u6216\u4e0b\u5212\u7ebf\u3002","Image is decorative":"\u56fe\u50cf\u662f\u88c5\u9970\u6027\u7684","Image list":"\u56fe\u7247\u6e05\u5355","Image title":"\u56fe\u7247\u6807\u9898","Image...":"\u56fe\u7247...","ImageProxy HTTP error: Could not find Image Proxy":"\u56fe\u7247\u4ee3\u7406\u8bf7\u6c42\u9519\u8bef\uff1a\u65e0\u6cd5\u627e\u5230\u56fe\u7247\u4ee3\u7406","ImageProxy HTTP error: Incorrect Image Proxy URL":"\u56fe\u7247\u4ee3\u7406\u8bf7\u6c42\u9519\u8bef\uff1a\u56fe\u7247\u4ee3\u7406\u5730\u5740\u9519\u8bef","ImageProxy HTTP error: Rejected request":"\u56fe\u7247\u4ee3\u7406\u8bf7\u6c42\u9519\u8bef\uff1a\u8bf7\u6c42\u88ab\u62d2\u7edd","ImageProxy HTTP error: Unknown ImageProxy error":"\u56fe\u7247\u4ee3\u7406\u8bf7\u6c42\u9519\u8bef\uff1a\u672a\u77e5\u7684\u56fe\u7247\u4ee3\u7406\u9519\u8bef","Increase indent":"\u589e\u52a0\u7f29\u8fdb","Inline":"\u6587\u672c","Insert":"\u63d2\u5165","Insert Template":"\u63d2\u5165\u6a21\u677f","Insert accordion":"\u63d2\u5165\u6298\u53e0\u9762\u677f","Insert column after":"\u5728\u53f3\u4fa7\u63d2\u5165\u5217","Insert column before":"\u5728\u5de6\u4fa7\u63d2\u5165\u5217","Insert date/time":"\u63d2\u5165\u65e5\u671f/\u65f6\u95f4","Insert image":"\u63d2\u5165\u56fe\u7247","Insert link (if link plugin activated)":"\u63d2\u5165\u94fe\u63a5 (\u5982\u679c\u94fe\u63a5\u63d2\u4ef6\u5df2\u6fc0\u6d3b)","Insert row after":"\u5728\u4e0b\u65b9\u63d2\u5165\u884c","Insert row before":"\u5728\u4e0a\u65b9\u63d2\u5165\u884c","Insert table":"\u63d2\u5165\u8868\u683c","Insert template...":"\u63d2\u5165\u6a21\u677f...","Insert video":"\u63d2\u5165\u89c6\u9891","Insert/Edit code sample":"\u63d2\u5165/\u7f16\u8f91\u4ee3\u7801\u793a\u4f8b","Insert/edit image":"\u63d2\u5165/\u7f16\u8f91\u56fe\u7247","Insert/edit link":"\u63d2\u5165/\u7f16\u8f91\u94fe\u63a5","Insert/edit media":"\u63d2\u5165/\u7f16\u8f91\u5a92\u4f53","Insert/edit video":"\u63d2\u5165/\u7f16\u8f91\u89c6\u9891","Inset":"\u5d4c\u5165","Invalid hex color code: {0}":"\u5341\u516d\u8fdb\u5236\u989c\u8272\u4ee3\u7801\u65e0\u6548\uff1a {0}","Invalid input":"\u65e0\u6548\u8f93\u5165","Italic":"\u659c\u4f53","Justify":"\u4e24\u7aef\u5bf9\u9f50","Keyboard Navigation":"\u952e\u76d8\u6307\u5f15","Language":"\u8bed\u8a00","Learn more...":"\u4e86\u89e3\u66f4\u591a...","Left":"\u5de6","Left to right":"\u7531\u5de6\u5230\u53f3","Light Blue":"\u6d45\u84dd\u8272","Light Gray":"\u6d45\u7070\u8272","Light Green":"\u6d45\u7eff\u8272","Light Purple":"\u6d45\u7d2b\u8272","Light Red":"\u6d45\u7ea2\u8272","Light Yellow":"\u6d45\u9ec4\u8272","Line height":"Line height","Link list":"\u94fe\u63a5\u6e05\u5355","Link...":"\u94fe\u63a5...","List Properties":"\u5217\u8868\u5c5e\u6027","List properties...":"\u6807\u9898\u5b57\u4f53\u5c5e\u6027","Loading emojis...":"\u6b63\u5728\u52a0\u8f7dEmojis...","Loading...":"\u52a0\u8f7d\u4e2d...","Lower Alpha":"\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd","Lower Greek":"\u5c0f\u5199\u5e0c\u814a\u5b57\u6bcd","Lower Roman":"\u5c0f\u5199\u7f57\u9a6c\u6570\u5b57","Match case":"\u5927\u5c0f\u5199\u5339\u914d","Mathematical":"\u6570\u5b66","Media poster (Image URL)":"\u5c01\u9762(\u56fe\u7247\u5730\u5740)","Media...":"\u591a\u5a92\u4f53...","Medium Blue":"\u4e2d\u84dd\u8272","Medium Gray":"\u4e2d\u7070\u8272","Medium Purple":"\u4e2d\u7d2b\u8272","Merge cells":"\u5408\u5e76\u5355\u5143\u683c","Middle":"\u5c45\u4e2d\u5bf9\u9f50","Midnight Blue":"\u6df1\u84dd\u8272","More...":"\u66f4\u591a...","Name":"\u540d\u79f0","Navy Blue":"\u6d77\u519b\u84dd","New document":"\u65b0\u5efa\u6587\u6863","New window":"\u65b0\u7a97\u53e3","Next":"\u4e0b\u4e00\u4e2a","No":"\u5426","No alignment":"\u672a\u5bf9\u9f50","No color":"\u65e0","Nonbreaking space":"\u4e0d\u95f4\u65ad\u7a7a\u683c","None":"\u65e0","Numbered list":"\u6709\u5e8f\u5217\u8868","OR":"\u6216","Objects":"\u7269\u4ef6","Ok":"\u786e\u5b9a","Open help dialog":"\u6253\u5f00\u5e2e\u52a9\u5bf9\u8bdd\u6846","Open link":"\u6253\u5f00\u94fe\u63a5","Open link in...":"\u94fe\u63a5\u6253\u5f00\u4f4d\u7f6e...","Open popup menu for split buttons":"\u6253\u5f00\u5f39\u51fa\u5f0f\u83dc\u5355\uff0c\u7528\u4e8e\u62c6\u5206\u6309\u94ae","Orange":"\u6a59\u8272","Outset":"\u5916\u7f6e","Page break":"\u5206\u9875\u7b26","Paragraph":"\u6bb5\u843d","Paste":"\u7c98\u8d34","Paste as text":"\u7c98\u8d34\u4e3a\u6587\u672c","Paste column after":"\u7c98\u8d34\u540e\u9762\u7684\u5217","Paste column before":"\u7c98\u8d34\u6b64\u5217\u524d","Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.":"\u5f53\u524d\u4e3a\u7eaf\u6587\u672c\u7c98\u8d34\u6a21\u5f0f\uff0c\u518d\u6b21\u70b9\u51fb\u53ef\u4ee5\u56de\u5230\u666e\u901a\u7c98\u8d34\u6a21\u5f0f\u3002","Paste or type a link":"\u7c98\u8d34\u6216\u8f93\u5165\u94fe\u63a5","Paste row after":"\u7c98\u8d34\u884c\u5230\u4e0b\u65b9","Paste row before":"\u7c98\u8d34\u884c\u5230\u4e0a\u65b9","Paste your embed code below:":"\u5c06\u5185\u5d4c\u4ee3\u7801\u7c98\u8d34\u5728\u4e0b\u9762:","People":"\u4eba\u7c7b","Plugins":"\u63d2\u4ef6","Plugins installed ({0}):":"\u5df2\u5b89\u88c5\u63d2\u4ef6 ({0}):","Powered by {0}":"\u7531{0}\u9a71\u52a8","Pre":"\u524d\u8a00","Preferences":"\u9996\u9009\u9879","Preformatted":"\u9884\u5148\u683c\u5f0f\u5316\u7684","Premium plugins:":"\u4f18\u79c0\u63d2\u4ef6\uff1a","Press the Up and Down arrow keys to resize the editor.":"\u6309\u4e0a\u4e0b\u7bad\u5934\u952e\u4ee5\u8c03\u6574\u7f16\u8f91\u5668\u5927\u5c0f\u3002","Press the arrow keys to resize the editor.":"\u6309\u7bad\u5934\u952e\u4ee5\u8c03\u6574\u7f16\u8f91\u5668\u5927\u5c0f\u3002","Press {0} for help":"\u6309 {0} \u83b7\u5f97\u5e2e\u52a9","Preview":"\u9884\u89c8","Previous":"\u4e0a\u4e00\u4e2a","Print":"\u6253\u5370","Print...":"\u6253\u5370...","Purple":"\u7d2b\u8272","Quotations":"\u5f15\u7528","R":"R","Range 0 to 255":"\u8303\u56f40\u81f3255","Red":"\u7ea2\u8272","Red component":"\u7ea2\u8272\u90e8\u5206","Redo":"\u91cd\u505a","Remove":"\u79fb\u9664","Remove color":"\u79fb\u9664\u989c\u8272","Remove link":"\u79fb\u9664\u94fe\u63a5","Replace":"\u66ff\u6362","Replace all":"\u66ff\u6362\u5168\u90e8","Replace with":"\u66ff\u6362\u4e3a","Resize":"\u8c03\u6574\u5927\u5c0f","Restore last draft":"\u6062\u590d\u4e0a\u6b21\u7684\u8349\u7a3f","Reveal or hide additional toolbar items":"\u663e\u793a\u6216\u9690\u85cf\u5176\u4ed6\u5de5\u5177\u680f\u9879","Rich Text Area":"\u5bcc\u6587\u672c\u533a\u57df","Rich Text Area. Press ALT-0 for help.":"\u7f16\u8f91\u533a\u3002\u6309Alt+0\u952e\u6253\u5f00\u5e2e\u52a9\u3002","Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help":"\u7f16\u8f91\u533a\u3002\u6309ALT-F9\u6253\u5f00\u83dc\u5355\uff0c\u6309ALT-F10\u6253\u5f00\u5de5\u5177\u680f\uff0c\u6309ALT-0\u67e5\u770b\u5e2e\u52a9","Ridge":"\u6d77\u810a\u5ea7","Right":"\u53f3","Right to left":"\u7531\u53f3\u5230\u5de6","Row":"\u884c","Row clipboard actions":"\u884c\u526a\u8d34\u677f\u64cd\u4f5c","Row group":"\u884c\u7ec4","Row header":"\u884c\u5934","Row properties":"\u884c\u5c5e\u6027","Row type":"\u884c\u7c7b\u578b","Rows":"\u884c\u6570","Save":"\u4fdd\u5b58","Save (if save plugin activated)":"\u4fdd\u5b58(\u5982\u679c\u4fdd\u5b58\u63d2\u4ef6\u5df2\u6fc0\u6d3b)","Scope":"\u8303\u56f4","Search":"\u641c\u7d22","Select all":"\u5168\u9009","Select...":"\u9009\u62e9...","Selection":"\u9009\u62e9","Shortcut":"\u5feb\u6377\u65b9\u5f0f","Show blocks":"\u663e\u793a\u533a\u5757\u8fb9\u6846","Show caption":"\u663e\u793a\u6807\u9898","Show invisible characters":"\u663e\u793a\u4e0d\u53ef\u89c1\u5b57\u7b26","Size":"\u5b57\u53f7","Solid":"\u5b9e\u7ebf","Source":"\u5730\u5740","Source code":"\u6e90\u4ee3\u7801","Special Character":"\u7279\u6b8a\u5b57\u7b26","Special character...":"\u7279\u6b8a\u5b57\u7b26...","Split cell":"\u62c6\u5206\u5355\u5143\u683c","Square":"\u5b9e\u5fc3\u65b9\u5757","Start list at number":"\u4ee5\u6570\u5b57\u5f00\u59cb\u5217\u8868","Strikethrough":"\u5220\u9664\u7ebf","Style":"\u6837\u5f0f","Subscript":"\u4e0b\u6807","Superscript":"\u4e0a\u6807","Switch to or from fullscreen mode":"\u5207\u6362\u5168\u5c4f\u6a21\u5f0f","Symbols":"\u7b26\u53f7","System Font":"\u7cfb\u7edf\u5b57\u4f53","Table":"\u8868\u683c","Table caption":"\u8868\u683c\u6807\u9898","Table properties":"\u8868\u683c\u5c5e\u6027","Table styles":"\u8868\u683c\u6837\u5f0f","Template":"\u6a21\u677f","Templates":"\u6a21\u677f","Text":"\u6587\u5b57","Text color":"\u5b57\u4f53\u989c\u8272","Text color {0}":"\u5b57\u4f53\u989c\u8272 {0}","Text to display":"\u8981\u663e\u793a\u7684\u6587\u672c","The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?":"\u4f60\u6240\u586b\u5199\u7684URL\u5730\u5740\u4e3a\u90ae\u4ef6\u5730\u5740\uff0c\u9700\u8981\u52a0\u4e0amailto: \u524d\u7f00\u5417\uff1f","The URL you entered seems to be an external link. Do you want to add the required http:// prefix?":"\u4f60\u6240\u586b\u5199\u7684URL\u5730\u5740\u5c5e\u4e8e\u5916\u90e8\u94fe\u63a5\uff0c\u9700\u8981\u52a0\u4e0ahttp:// \u524d\u7f00\u5417\uff1f","The URL you entered seems to be an external link. Do you want to add the required https:// prefix?":"\u60a8\u8f93\u5165\u7684 URL \u4f3c\u4e4e\u662f\u4e00\u4e2a\u5916\u90e8\u94fe\u63a5\u3002\u60a8\u60f3\u6dfb\u52a0\u6240\u9700\u7684 https:// \u524d\u7f00\u5417\uff1f","Title":"\u6807\u9898","To open the popup, press Shift+Enter":"\u6309Shitf+Enter\u952e\u6253\u5f00\u5bf9\u8bdd\u6846","Toggle accordion":"\u5207\u6362\u6298\u53e0\u9762\u677f","Tools":"\u5de5\u5177","Top":"\u4e0a\u65b9\u5bf9\u9f50","Travel and Places":"\u65c5\u6e38\u548c\u5730\u70b9","Turquoise":"Turquoise","Underline":"\u4e0b\u5212\u7ebf","Undo":"\u6062\u590d","Upload":"\u4e0a\u4f20","Uploading image":"\u4e0a\u4f20\u56fe\u7247","Upper Alpha":"\u5927\u5199\u82f1\u6587\u5b57\u6bcd","Upper Roman":"\u5927\u5199\u7f57\u9a6c\u6570\u5b57","Url":"\u5730\u5740","User Defined":"\u81ea\u5b9a\u4e49","Valid":"\u6709\u6548","Version":"\u7248\u672c","Vertical align":"\u5782\u76f4\u5bf9\u9f50","Vertical space":"\u5782\u76f4\u95f4\u8ddd","View":"\u67e5\u770b","Visual aids":"\u7f51\u683c\u7ebf","Warn":"\u8b66\u544a","White":"\u767d\u8272","Width":"\u5bbd\u5ea6","Word count":"\u5b57\u6570","Words":"\u5355\u8bcd","Words: {0}":"\u5b57\u6570\uff1a{0}","Yellow":"\u9ec4\u8272","Yes":"\u662f","You are using {0}":"\u4f60\u6b63\u5728\u4f7f\u7528 {0}","You have unsaved changes are you sure you want to navigate away?":"\u4f60\u8fd8\u6709\u6587\u6863\u5c1a\u672a\u4fdd\u5b58\uff0c\u786e\u5b9a\u8981\u79bb\u5f00\uff1f","Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X/C/V keyboard shortcuts instead.":"\u4f60\u7684\u6d4f\u89c8\u5668\u4e0d\u652f\u6301\u6253\u5f00\u526a\u8d34\u677f\uff0c\u8bf7\u4f7f\u7528Ctrl+X/C/V\u7b49\u5feb\u6377\u952e\u3002","alignment":"\u5bf9\u9f50","austral sign":"\u6fb3\u5143\u7b26\u53f7","cedi sign":"\u585e\u5730\u7b26\u53f7","colon sign":"\u5192\u53f7","cruzeiro sign":"\u514b\u9c81\u8d5b\u7f57\u5e01\u7b26\u53f7","currency sign":"\u8d27\u5e01\u7b26\u53f7","dollar sign":"\u7f8e\u5143\u7b26\u53f7","dong sign":"\u8d8a\u5357\u76fe\u7b26\u53f7","drachma sign":"\u5fb7\u62c9\u514b\u9a6c\u7b26\u53f7","euro-currency sign":"\u6b27\u5143\u7b26\u53f7","example":"\u793a\u4f8b","formatting":"\u683c\u5f0f\u5316","french franc sign":"\u6cd5\u90ce\u7b26\u53f7","german penny symbol":"\u5fb7\u56fd\u4fbf\u58eb\u7b26\u53f7","guarani sign":"\u74dc\u62c9\u5c3c\u7b26\u53f7","history":"\u5386\u53f2","hryvnia sign":"\u683c\u91cc\u592b\u5c3c\u4e9a\u7b26\u53f7","indentation":"\u7f29\u8fdb","indian rupee sign":"\u5370\u5ea6\u5362\u6bd4","kip sign":"\u8001\u631d\u57fa\u666e\u7b26\u53f7","lira sign":"\u91cc\u62c9\u7b26\u53f7","livre tournois sign":"\u91cc\u5f17\u5f17\u5c14\u7b26\u53f7","manat sign":"\u9a6c\u7eb3\u7279\u7b26\u53f7","mill sign":"\u5bc6\u5c14\u7b26\u53f7","naira sign":"\u5948\u62c9\u7b26\u53f7","new sheqel sign":"\u65b0\u8c22\u514b\u5c14\u7b26\u53f7","nordic mark sign":"\u5317\u6b27\u9a6c\u514b","peseta sign":"\u6bd4\u585e\u5854\u7b26\u53f7","peso sign":"\u6bd4\u7d22\u7b26\u53f7","ruble sign":"\u5362\u5e03\u7b26\u53f7","rupee sign":"\u5362\u6bd4\u7b26\u53f7","spesmilo sign":"spesmilo\u7b26\u53f7","styles":"\u6837\u5f0f","tenge sign":"\u575a\u6208\u7b26\u53f7","tugrik sign":"\u56fe\u683c\u91cc\u514b\u7b26\u53f7","turkish lira sign":"\u571f\u8033\u5176\u91cc\u62c9","won sign":"\u97e9\u5143\u7b26\u53f7","yen character":"\u65e5\u5143\u5b57\u6837","yen/yuan character variant one":"\u5143\u5b57\u6837\uff08\u5927\u5199\uff09","yuan character":"\u4eba\u6c11\u5e01\u5143\u5b57\u6837","yuan character, in hong kong and taiwan":"\u5143\u5b57\u6837\uff08\u6e2f\u53f0\u5730\u533a\uff09","{0} characters":"{0} \u4e2a\u5b57\u7b26","{0} columns, {1} rows":"{0} \u5217\uff0c{1} \u884c","{0} words":"{0} \u5b57"}); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/models/dom/index.js b/public/tools/cloud_notes/tinymce/models/dom/index.js new file mode 100644 index 0000000..7ed634a --- /dev/null +++ b/public/tools/cloud_notes/tinymce/models/dom/index.js @@ -0,0 +1,7 @@ +// Exports the "dom" model for usage with module loaders +// Usage: +// CommonJS: +// require('tinymce/models/dom') +// ES2015: +// import 'tinymce/models/dom' +require('./model.js'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/models/dom/model.js b/public/tools/cloud_notes/tinymce/models/dom/model.js new file mode 100644 index 0000000..3927b7b --- /dev/null +++ b/public/tools/cloud_notes/tinymce/models/dom/model.js @@ -0,0 +1,8040 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ + +(function () { + 'use strict'; + + var global$1 = tinymce.util.Tools.resolve('tinymce.ModelManager'); + + const hasProto = (v, constructor, predicate) => { + var _a; + if (predicate(v, constructor.prototype)) { + return true; + } else { + return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name; + } + }; + const typeOf = x => { + const t = typeof x; + if (x === null) { + return 'null'; + } else if (t === 'object' && Array.isArray(x)) { + return 'array'; + } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) { + return 'string'; + } else { + return t; + } + }; + const isType$1 = type => value => typeOf(value) === type; + const isSimpleType = type => value => typeof value === type; + const eq$2 = t => a => t === a; + const isString = isType$1('string'); + const isObject = isType$1('object'); + const isArray = isType$1('array'); + const isNull = eq$2(null); + const isBoolean = isSimpleType('boolean'); + const isUndefined = eq$2(undefined); + const isNullable = a => a === null || a === undefined; + const isNonNullable = a => !isNullable(a); + const isFunction = isSimpleType('function'); + const isNumber = isSimpleType('number'); + + const noop = () => { + }; + const compose = (fa, fb) => { + return (...args) => { + return fa(fb.apply(null, args)); + }; + }; + const compose1 = (fbc, fab) => a => fbc(fab(a)); + const constant = value => { + return () => { + return value; + }; + }; + const identity = x => { + return x; + }; + const tripleEquals = (a, b) => { + return a === b; + }; + function curry(fn, ...initialArgs) { + return (...restArgs) => { + const all = initialArgs.concat(restArgs); + return fn.apply(null, all); + }; + } + const not = f => t => !f(t); + const die = msg => { + return () => { + throw new Error(msg); + }; + }; + const apply = f => { + return f(); + }; + const never = constant(false); + const always = constant(true); + + class Optional { + constructor(tag, value) { + this.tag = tag; + this.value = value; + } + static some(value) { + return new Optional(true, value); + } + static none() { + return Optional.singletonNone; + } + fold(onNone, onSome) { + if (this.tag) { + return onSome(this.value); + } else { + return onNone(); + } + } + isSome() { + return this.tag; + } + isNone() { + return !this.tag; + } + map(mapper) { + if (this.tag) { + return Optional.some(mapper(this.value)); + } else { + return Optional.none(); + } + } + bind(binder) { + if (this.tag) { + return binder(this.value); + } else { + return Optional.none(); + } + } + exists(predicate) { + return this.tag && predicate(this.value); + } + forall(predicate) { + return !this.tag || predicate(this.value); + } + filter(predicate) { + if (!this.tag || predicate(this.value)) { + return this; + } else { + return Optional.none(); + } + } + getOr(replacement) { + return this.tag ? this.value : replacement; + } + or(replacement) { + return this.tag ? this : replacement; + } + getOrThunk(thunk) { + return this.tag ? this.value : thunk(); + } + orThunk(thunk) { + return this.tag ? this : thunk(); + } + getOrDie(message) { + if (!this.tag) { + throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None'); + } else { + return this.value; + } + } + static from(value) { + return isNonNullable(value) ? Optional.some(value) : Optional.none(); + } + getOrNull() { + return this.tag ? this.value : null; + } + getOrUndefined() { + return this.value; + } + each(worker) { + if (this.tag) { + worker(this.value); + } + } + toArray() { + return this.tag ? [this.value] : []; + } + toString() { + return this.tag ? `some(${ this.value })` : 'none()'; + } + } + Optional.singletonNone = new Optional(false); + + const nativeSlice = Array.prototype.slice; + const nativeIndexOf = Array.prototype.indexOf; + const nativePush = Array.prototype.push; + const rawIndexOf = (ts, t) => nativeIndexOf.call(ts, t); + const contains$2 = (xs, x) => rawIndexOf(xs, x) > -1; + const exists = (xs, pred) => { + for (let i = 0, len = xs.length; i < len; i++) { + const x = xs[i]; + if (pred(x, i)) { + return true; + } + } + return false; + }; + const range$1 = (num, f) => { + const r = []; + for (let i = 0; i < num; i++) { + r.push(f(i)); + } + return r; + }; + const map$1 = (xs, f) => { + const len = xs.length; + const r = new Array(len); + for (let i = 0; i < len; i++) { + const x = xs[i]; + r[i] = f(x, i); + } + return r; + }; + const each$2 = (xs, f) => { + for (let i = 0, len = xs.length; i < len; i++) { + const x = xs[i]; + f(x, i); + } + }; + const eachr = (xs, f) => { + for (let i = xs.length - 1; i >= 0; i--) { + const x = xs[i]; + f(x, i); + } + }; + const partition = (xs, pred) => { + const pass = []; + const fail = []; + for (let i = 0, len = xs.length; i < len; i++) { + const x = xs[i]; + const arr = pred(x, i) ? pass : fail; + arr.push(x); + } + return { + pass, + fail + }; + }; + const filter$2 = (xs, pred) => { + const r = []; + for (let i = 0, len = xs.length; i < len; i++) { + const x = xs[i]; + if (pred(x, i)) { + r.push(x); + } + } + return r; + }; + const foldr = (xs, f, acc) => { + eachr(xs, (x, i) => { + acc = f(acc, x, i); + }); + return acc; + }; + const foldl = (xs, f, acc) => { + each$2(xs, (x, i) => { + acc = f(acc, x, i); + }); + return acc; + }; + const findUntil = (xs, pred, until) => { + for (let i = 0, len = xs.length; i < len; i++) { + const x = xs[i]; + if (pred(x, i)) { + return Optional.some(x); + } else if (until(x, i)) { + break; + } + } + return Optional.none(); + }; + const find$1 = (xs, pred) => { + return findUntil(xs, pred, never); + }; + const findIndex = (xs, pred) => { + for (let i = 0, len = xs.length; i < len; i++) { + const x = xs[i]; + if (pred(x, i)) { + return Optional.some(i); + } + } + return Optional.none(); + }; + const flatten = xs => { + const r = []; + for (let i = 0, len = xs.length; i < len; ++i) { + if (!isArray(xs[i])) { + throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs); + } + nativePush.apply(r, xs[i]); + } + return r; + }; + const bind$2 = (xs, f) => flatten(map$1(xs, f)); + const forall = (xs, pred) => { + for (let i = 0, len = xs.length; i < len; ++i) { + const x = xs[i]; + if (pred(x, i) !== true) { + return false; + } + } + return true; + }; + const reverse = xs => { + const r = nativeSlice.call(xs, 0); + r.reverse(); + return r; + }; + const mapToObject = (xs, f) => { + const r = {}; + for (let i = 0, len = xs.length; i < len; i++) { + const x = xs[i]; + r[String(x)] = f(x, i); + } + return r; + }; + const sort$1 = (xs, comparator) => { + const copy = nativeSlice.call(xs, 0); + copy.sort(comparator); + return copy; + }; + const get$d = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none(); + const head = xs => get$d(xs, 0); + const last$2 = xs => get$d(xs, xs.length - 1); + const findMap = (arr, f) => { + for (let i = 0; i < arr.length; i++) { + const r = f(arr[i], i); + if (r.isSome()) { + return r; + } + } + return Optional.none(); + }; + + const keys = Object.keys; + const hasOwnProperty = Object.hasOwnProperty; + const each$1 = (obj, f) => { + const props = keys(obj); + for (let k = 0, len = props.length; k < len; k++) { + const i = props[k]; + const x = obj[i]; + f(x, i); + } + }; + const map = (obj, f) => { + return tupleMap(obj, (x, i) => ({ + k: i, + v: f(x, i) + })); + }; + const tupleMap = (obj, f) => { + const r = {}; + each$1(obj, (x, i) => { + const tuple = f(x, i); + r[tuple.k] = tuple.v; + }); + return r; + }; + const objAcc = r => (x, i) => { + r[i] = x; + }; + const internalFilter = (obj, pred, onTrue, onFalse) => { + each$1(obj, (x, i) => { + (pred(x, i) ? onTrue : onFalse)(x, i); + }); + }; + const filter$1 = (obj, pred) => { + const t = {}; + internalFilter(obj, pred, objAcc(t), noop); + return t; + }; + const mapToArray = (obj, f) => { + const r = []; + each$1(obj, (value, name) => { + r.push(f(value, name)); + }); + return r; + }; + const values = obj => { + return mapToArray(obj, identity); + }; + const get$c = (obj, key) => { + return has$1(obj, key) ? Optional.from(obj[key]) : Optional.none(); + }; + const has$1 = (obj, key) => hasOwnProperty.call(obj, key); + const hasNonNullableKey = (obj, key) => has$1(obj, key) && obj[key] !== undefined && obj[key] !== null; + const isEmpty = r => { + for (const x in r) { + if (hasOwnProperty.call(r, x)) { + return false; + } + } + return true; + }; + + const Global = typeof window !== 'undefined' ? window : Function('return this;')(); + + const path = (parts, scope) => { + let o = scope !== undefined && scope !== null ? scope : Global; + for (let i = 0; i < parts.length && o !== undefined && o !== null; ++i) { + o = o[parts[i]]; + } + return o; + }; + const resolve$2 = (p, scope) => { + const parts = p.split('.'); + return path(parts, scope); + }; + + const unsafe = (name, scope) => { + return resolve$2(name, scope); + }; + const getOrDie = (name, scope) => { + const actual = unsafe(name, scope); + if (actual === undefined || actual === null) { + throw new Error(name + ' not available on this browser'); + } + return actual; + }; + + const getPrototypeOf = Object.getPrototypeOf; + const sandHTMLElement = scope => { + return getOrDie('HTMLElement', scope); + }; + const isPrototypeOf = x => { + const scope = resolve$2('ownerDocument.defaultView', x); + return isObject(x) && (sandHTMLElement(scope).prototype.isPrototypeOf(x) || /^HTML\w*Element$/.test(getPrototypeOf(x).constructor.name)); + }; + + const COMMENT = 8; + const DOCUMENT = 9; + const DOCUMENT_FRAGMENT = 11; + const ELEMENT = 1; + const TEXT = 3; + + const name = element => { + const r = element.dom.nodeName; + return r.toLowerCase(); + }; + const type = element => element.dom.nodeType; + const isType = t => element => type(element) === t; + const isComment = element => type(element) === COMMENT || name(element) === '#comment'; + const isHTMLElement = element => isElement(element) && isPrototypeOf(element.dom); + const isElement = isType(ELEMENT); + const isText = isType(TEXT); + const isDocument = isType(DOCUMENT); + const isDocumentFragment = isType(DOCUMENT_FRAGMENT); + const isTag = tag => e => isElement(e) && name(e) === tag; + + const rawSet = (dom, key, value) => { + if (isString(value) || isBoolean(value) || isNumber(value)) { + dom.setAttribute(key, value + ''); + } else { + console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom); + throw new Error('Attribute value was not simple'); + } + }; + const set$2 = (element, key, value) => { + rawSet(element.dom, key, value); + }; + const setAll$1 = (element, attrs) => { + const dom = element.dom; + each$1(attrs, (v, k) => { + rawSet(dom, k, v); + }); + }; + const setOptions = (element, attrs) => { + each$1(attrs, (v, k) => { + v.fold(() => { + remove$7(element, k); + }, value => { + rawSet(element.dom, k, value); + }); + }); + }; + const get$b = (element, key) => { + const v = element.dom.getAttribute(key); + return v === null ? undefined : v; + }; + const getOpt = (element, key) => Optional.from(get$b(element, key)); + const remove$7 = (element, key) => { + element.dom.removeAttribute(key); + }; + const clone$2 = element => foldl(element.dom.attributes, (acc, attr) => { + acc[attr.name] = attr.value; + return acc; + }, {}); + + const fromHtml$1 = (html, scope) => { + const doc = scope || document; + const div = doc.createElement('div'); + div.innerHTML = html; + if (!div.hasChildNodes() || div.childNodes.length > 1) { + const message = 'HTML does not have a single root node'; + console.error(message, html); + throw new Error(message); + } + return fromDom$1(div.childNodes[0]); + }; + const fromTag = (tag, scope) => { + const doc = scope || document; + const node = doc.createElement(tag); + return fromDom$1(node); + }; + const fromText = (text, scope) => { + const doc = scope || document; + const node = doc.createTextNode(text); + return fromDom$1(node); + }; + const fromDom$1 = node => { + if (node === null || node === undefined) { + throw new Error('Node cannot be null or undefined'); + } + return { dom: node }; + }; + const fromPoint$1 = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom$1); + const SugarElement = { + fromHtml: fromHtml$1, + fromTag, + fromText, + fromDom: fromDom$1, + fromPoint: fromPoint$1 + }; + + const is$2 = (element, selector) => { + const dom = element.dom; + if (dom.nodeType !== ELEMENT) { + return false; + } else { + const elem = dom; + if (elem.matches !== undefined) { + return elem.matches(selector); + } else if (elem.msMatchesSelector !== undefined) { + return elem.msMatchesSelector(selector); + } else if (elem.webkitMatchesSelector !== undefined) { + return elem.webkitMatchesSelector(selector); + } else if (elem.mozMatchesSelector !== undefined) { + return elem.mozMatchesSelector(selector); + } else { + throw new Error('Browser lacks native selectors'); + } + } + }; + const bypassSelector = dom => dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0; + const all$1 = (selector, scope) => { + const base = scope === undefined ? document : scope.dom; + return bypassSelector(base) ? [] : map$1(base.querySelectorAll(selector), SugarElement.fromDom); + }; + const one = (selector, scope) => { + const base = scope === undefined ? document : scope.dom; + return bypassSelector(base) ? Optional.none() : Optional.from(base.querySelector(selector)).map(SugarElement.fromDom); + }; + + const eq$1 = (e1, e2) => e1.dom === e2.dom; + const contains$1 = (e1, e2) => { + const d1 = e1.dom; + const d2 = e2.dom; + return d1 === d2 ? false : d1.contains(d2); + }; + const is$1 = is$2; + + const owner = element => SugarElement.fromDom(element.dom.ownerDocument); + const documentOrOwner = dos => isDocument(dos) ? dos : owner(dos); + const documentElement = element => SugarElement.fromDom(documentOrOwner(element).dom.documentElement); + const defaultView = element => SugarElement.fromDom(documentOrOwner(element).dom.defaultView); + const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom); + const parentElement = element => Optional.from(element.dom.parentElement).map(SugarElement.fromDom); + const parents = (element, isRoot) => { + const stop = isFunction(isRoot) ? isRoot : never; + let dom = element.dom; + const ret = []; + while (dom.parentNode !== null && dom.parentNode !== undefined) { + const rawParent = dom.parentNode; + const p = SugarElement.fromDom(rawParent); + ret.push(p); + if (stop(p) === true) { + break; + } else { + dom = rawParent; + } + } + return ret; + }; + const prevSibling = element => Optional.from(element.dom.previousSibling).map(SugarElement.fromDom); + const nextSibling = element => Optional.from(element.dom.nextSibling).map(SugarElement.fromDom); + const children$2 = element => map$1(element.dom.childNodes, SugarElement.fromDom); + const child$2 = (element, index) => { + const cs = element.dom.childNodes; + return Optional.from(cs[index]).map(SugarElement.fromDom); + }; + const firstChild = element => child$2(element, 0); + + const before$3 = (marker, element) => { + const parent$1 = parent(marker); + parent$1.each(v => { + v.dom.insertBefore(element.dom, marker.dom); + }); + }; + const after$5 = (marker, element) => { + const sibling = nextSibling(marker); + sibling.fold(() => { + const parent$1 = parent(marker); + parent$1.each(v => { + append$1(v, element); + }); + }, v => { + before$3(v, element); + }); + }; + const prepend = (parent, element) => { + const firstChild$1 = firstChild(parent); + firstChild$1.fold(() => { + append$1(parent, element); + }, v => { + parent.dom.insertBefore(element.dom, v.dom); + }); + }; + const append$1 = (parent, element) => { + parent.dom.appendChild(element.dom); + }; + const appendAt = (parent, element, index) => { + child$2(parent, index).fold(() => { + append$1(parent, element); + }, v => { + before$3(v, element); + }); + }; + const wrap = (element, wrapper) => { + before$3(element, wrapper); + append$1(wrapper, element); + }; + + const after$4 = (marker, elements) => { + each$2(elements, (x, i) => { + const e = i === 0 ? marker : elements[i - 1]; + after$5(e, x); + }); + }; + const append = (parent, elements) => { + each$2(elements, x => { + append$1(parent, x); + }); + }; + + const empty = element => { + element.dom.textContent = ''; + each$2(children$2(element), rogue => { + remove$6(rogue); + }); + }; + const remove$6 = element => { + const dom = element.dom; + if (dom.parentNode !== null) { + dom.parentNode.removeChild(dom); + } + }; + const unwrap = wrapper => { + const children = children$2(wrapper); + if (children.length > 0) { + after$4(wrapper, children); + } + remove$6(wrapper); + }; + + const clone$1 = (original, isDeep) => SugarElement.fromDom(original.dom.cloneNode(isDeep)); + const shallow = original => clone$1(original, false); + const deep = original => clone$1(original, true); + const shallowAs = (original, tag) => { + const nu = SugarElement.fromTag(tag); + const attributes = clone$2(original); + setAll$1(nu, attributes); + return nu; + }; + const copy$2 = (original, tag) => { + const nu = shallowAs(original, tag); + const cloneChildren = children$2(deep(original)); + append(nu, cloneChildren); + return nu; + }; + const mutate$1 = (original, tag) => { + const nu = shallowAs(original, tag); + after$5(original, nu); + const children = children$2(original); + append(nu, children); + remove$6(original); + return nu; + }; + + const validSectionList = [ + 'tfoot', + 'thead', + 'tbody', + 'colgroup' + ]; + const isValidSection = parentName => contains$2(validSectionList, parentName); + const grid = (rows, columns) => ({ + rows, + columns + }); + const address = (row, column) => ({ + row, + column + }); + const detail = (element, rowspan, colspan) => ({ + element, + rowspan, + colspan + }); + const detailnew = (element, rowspan, colspan, isNew) => ({ + element, + rowspan, + colspan, + isNew + }); + const extended = (element, rowspan, colspan, row, column, isLocked) => ({ + element, + rowspan, + colspan, + row, + column, + isLocked + }); + const rowdetail = (element, cells, section) => ({ + element, + cells, + section + }); + const rowdetailnew = (element, cells, section, isNew) => ({ + element, + cells, + section, + isNew + }); + const elementnew = (element, isNew, isLocked) => ({ + element, + isNew, + isLocked + }); + const rowcells = (element, cells, section, isNew) => ({ + element, + cells, + section, + isNew + }); + const bounds = (startRow, startCol, finishRow, finishCol) => ({ + startRow, + startCol, + finishRow, + finishCol + }); + const columnext = (element, colspan, column) => ({ + element, + colspan, + column + }); + const colgroup = (element, columns) => ({ + element, + columns + }); + + const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host); + const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode); + const isSupported$1 = constant(supported); + const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner; + const getShadowRoot = e => { + const r = getRootNode(e); + return isShadowRoot(r) ? Optional.some(r) : Optional.none(); + }; + const getShadowHost = e => SugarElement.fromDom(e.dom.host); + const getOriginalEventTarget = event => { + if (isSupported$1() && isNonNullable(event.target)) { + const el = SugarElement.fromDom(event.target); + if (isElement(el) && isOpenShadowHost(el)) { + if (event.composed && event.composedPath) { + const composedPath = event.composedPath(); + if (composedPath) { + return head(composedPath); + } + } + } + } + return Optional.from(event.target); + }; + const isOpenShadowHost = element => isNonNullable(element.dom.shadowRoot); + + const inBody = element => { + const dom = isText(element) ? element.dom.parentNode : element.dom; + if (dom === undefined || dom === null || dom.ownerDocument === null) { + return false; + } + const doc = dom.ownerDocument; + return getShadowRoot(SugarElement.fromDom(dom)).fold(() => doc.body.contains(dom), compose1(inBody, getShadowHost)); + }; + const body$1 = () => getBody$1(SugarElement.fromDom(document)); + const getBody$1 = doc => { + const b = doc.dom.body; + if (b === null || b === undefined) { + throw new Error('Body is not available yet'); + } + return SugarElement.fromDom(b); + }; + + const ancestors$4 = (scope, predicate, isRoot) => filter$2(parents(scope, isRoot), predicate); + const children$1 = (scope, predicate) => filter$2(children$2(scope), predicate); + const descendants$1 = (scope, predicate) => { + let result = []; + each$2(children$2(scope), x => { + if (predicate(x)) { + result = result.concat([x]); + } + result = result.concat(descendants$1(x, predicate)); + }); + return result; + }; + + const ancestors$3 = (scope, selector, isRoot) => ancestors$4(scope, e => is$2(e, selector), isRoot); + const children = (scope, selector) => children$1(scope, e => is$2(e, selector)); + const descendants = (scope, selector) => all$1(selector, scope); + + var ClosestOrAncestor = (is, ancestor, scope, a, isRoot) => { + if (is(scope, a)) { + return Optional.some(scope); + } else if (isFunction(isRoot) && isRoot(scope)) { + return Optional.none(); + } else { + return ancestor(scope, a, isRoot); + } + }; + + const ancestor$2 = (scope, predicate, isRoot) => { + let element = scope.dom; + const stop = isFunction(isRoot) ? isRoot : never; + while (element.parentNode) { + element = element.parentNode; + const el = SugarElement.fromDom(element); + if (predicate(el)) { + return Optional.some(el); + } else if (stop(el)) { + break; + } + } + return Optional.none(); + }; + const closest$2 = (scope, predicate, isRoot) => { + const is = (s, test) => test(s); + return ClosestOrAncestor(is, ancestor$2, scope, predicate, isRoot); + }; + const child$1 = (scope, predicate) => { + const pred = node => predicate(SugarElement.fromDom(node)); + const result = find$1(scope.dom.childNodes, pred); + return result.map(SugarElement.fromDom); + }; + const descendant$1 = (scope, predicate) => { + const descend = node => { + for (let i = 0; i < node.childNodes.length; i++) { + const child = SugarElement.fromDom(node.childNodes[i]); + if (predicate(child)) { + return Optional.some(child); + } + const res = descend(node.childNodes[i]); + if (res.isSome()) { + return res; + } + } + return Optional.none(); + }; + return descend(scope.dom); + }; + + const ancestor$1 = (scope, selector, isRoot) => ancestor$2(scope, e => is$2(e, selector), isRoot); + const child = (scope, selector) => child$1(scope, e => is$2(e, selector)); + const descendant = (scope, selector) => one(selector, scope); + const closest$1 = (scope, selector, isRoot) => { + const is = (element, selector) => is$2(element, selector); + return ClosestOrAncestor(is, ancestor$1, scope, selector, isRoot); + }; + + const is = (lhs, rhs, comparator = tripleEquals) => lhs.exists(left => comparator(left, rhs)); + const cat = arr => { + const r = []; + const push = x => { + r.push(x); + }; + for (let i = 0; i < arr.length; i++) { + arr[i].each(push); + } + return r; + }; + const bindFrom = (a, f) => a !== undefined && a !== null ? f(a) : Optional.none(); + const someIf = (b, a) => b ? Optional.some(a) : Optional.none(); + + const checkRange = (str, substr, start) => substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr; + const contains = (str, substr, start = 0, end) => { + const idx = str.indexOf(substr, start); + if (idx !== -1) { + return isUndefined(end) ? true : idx + substr.length <= end; + } else { + return false; + } + }; + const startsWith = (str, prefix) => { + return checkRange(str, prefix, 0); + }; + const endsWith = (str, suffix) => { + return checkRange(str, suffix, str.length - suffix.length); + }; + const blank = r => s => s.replace(r, ''); + const trim = blank(/^\s+|\s+$/g); + const isNotEmpty = s => s.length > 0; + const toFloat = value => { + const num = parseFloat(value); + return isNaN(num) ? Optional.none() : Optional.some(num); + }; + + const isSupported = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue); + + const internalSet = (dom, property, value) => { + if (!isString(value)) { + console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom); + throw new Error('CSS value must be a string: ' + value); + } + if (isSupported(dom)) { + dom.style.setProperty(property, value); + } + }; + const internalRemove = (dom, property) => { + if (isSupported(dom)) { + dom.style.removeProperty(property); + } + }; + const set$1 = (element, property, value) => { + const dom = element.dom; + internalSet(dom, property, value); + }; + const setAll = (element, css) => { + const dom = element.dom; + each$1(css, (v, k) => { + internalSet(dom, k, v); + }); + }; + const get$a = (element, property) => { + const dom = element.dom; + const styles = window.getComputedStyle(dom); + const r = styles.getPropertyValue(property); + return r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r; + }; + const getUnsafeProperty = (dom, property) => isSupported(dom) ? dom.style.getPropertyValue(property) : ''; + const getRaw$2 = (element, property) => { + const dom = element.dom; + const raw = getUnsafeProperty(dom, property); + return Optional.from(raw).filter(r => r.length > 0); + }; + const remove$5 = (element, property) => { + const dom = element.dom; + internalRemove(dom, property); + if (is(getOpt(element, 'style').map(trim), '')) { + remove$7(element, 'style'); + } + }; + const copy$1 = (source, target) => { + const sourceDom = source.dom; + const targetDom = target.dom; + if (isSupported(sourceDom) && isSupported(targetDom)) { + targetDom.style.cssText = sourceDom.style.cssText; + } + }; + + const getAttrValue = (cell, name, fallback = 0) => getOpt(cell, name).map(value => parseInt(value, 10)).getOr(fallback); + const getSpan = (cell, type) => getAttrValue(cell, type, 1); + const hasColspan = cellOrCol => { + if (isTag('col')(cellOrCol)) { + return getAttrValue(cellOrCol, 'span', 1) > 1; + } else { + return getSpan(cellOrCol, 'colspan') > 1; + } + }; + const hasRowspan = cell => getSpan(cell, 'rowspan') > 1; + const getCssValue = (element, property) => parseInt(get$a(element, property), 10); + const minWidth = constant(10); + const minHeight = constant(10); + + const firstLayer = (scope, selector) => { + return filterFirstLayer(scope, selector, always); + }; + const filterFirstLayer = (scope, selector, predicate) => { + return bind$2(children$2(scope), x => { + if (is$2(x, selector)) { + return predicate(x) ? [x] : []; + } else { + return filterFirstLayer(x, selector, predicate); + } + }); + }; + + const lookup = (tags, element, isRoot = never) => { + if (isRoot(element)) { + return Optional.none(); + } + if (contains$2(tags, name(element))) { + return Optional.some(element); + } + const isRootOrUpperTable = elm => is$2(elm, 'table') || isRoot(elm); + return ancestor$1(element, tags.join(','), isRootOrUpperTable); + }; + const cell = (element, isRoot) => lookup([ + 'td', + 'th' + ], element, isRoot); + const cells$1 = ancestor => firstLayer(ancestor, 'th,td'); + const columns$1 = ancestor => { + if (is$2(ancestor, 'colgroup')) { + return children(ancestor, 'col'); + } else { + return bind$2(columnGroups(ancestor), columnGroup => children(columnGroup, 'col')); + } + }; + const table = (element, isRoot) => closest$1(element, 'table', isRoot); + const rows$1 = ancestor => firstLayer(ancestor, 'tr'); + const columnGroups = ancestor => table(ancestor).fold(constant([]), table => children(table, 'colgroup')); + + const fromRowsOrColGroups = (elems, getSection) => map$1(elems, row => { + if (name(row) === 'colgroup') { + const cells = map$1(columns$1(row), column => { + const colspan = getAttrValue(column, 'span', 1); + return detail(column, 1, colspan); + }); + return rowdetail(row, cells, 'colgroup'); + } else { + const cells = map$1(cells$1(row), cell => { + const rowspan = getAttrValue(cell, 'rowspan', 1); + const colspan = getAttrValue(cell, 'colspan', 1); + return detail(cell, rowspan, colspan); + }); + return rowdetail(row, cells, getSection(row)); + } + }); + const getParentSection = group => parent(group).map(parent => { + const parentName = name(parent); + return isValidSection(parentName) ? parentName : 'tbody'; + }).getOr('tbody'); + const fromTable$1 = table => { + const rows = rows$1(table); + const columnGroups$1 = columnGroups(table); + const elems = [ + ...columnGroups$1, + ...rows + ]; + return fromRowsOrColGroups(elems, getParentSection); + }; + const fromPastedRows = (elems, section) => fromRowsOrColGroups(elems, () => section); + + const cached = f => { + let called = false; + let r; + return (...args) => { + if (!called) { + called = true; + r = f.apply(null, args); + } + return r; + }; + }; + + const DeviceType = (os, browser, userAgent, mediaMatch) => { + const isiPad = os.isiOS() && /ipad/i.test(userAgent) === true; + const isiPhone = os.isiOS() && !isiPad; + const isMobile = os.isiOS() || os.isAndroid(); + const isTouch = isMobile || mediaMatch('(pointer:coarse)'); + const isTablet = isiPad || !isiPhone && isMobile && mediaMatch('(min-device-width:768px)'); + const isPhone = isiPhone || isMobile && !isTablet; + const iOSwebview = browser.isSafari() && os.isiOS() && /safari/i.test(userAgent) === false; + const isDesktop = !isPhone && !isTablet && !iOSwebview; + return { + isiPad: constant(isiPad), + isiPhone: constant(isiPhone), + isTablet: constant(isTablet), + isPhone: constant(isPhone), + isTouch: constant(isTouch), + isAndroid: os.isAndroid, + isiOS: os.isiOS, + isWebView: constant(iOSwebview), + isDesktop: constant(isDesktop) + }; + }; + + const firstMatch = (regexes, s) => { + for (let i = 0; i < regexes.length; i++) { + const x = regexes[i]; + if (x.test(s)) { + return x; + } + } + return undefined; + }; + const find = (regexes, agent) => { + const r = firstMatch(regexes, agent); + if (!r) { + return { + major: 0, + minor: 0 + }; + } + const group = i => { + return Number(agent.replace(r, '$' + i)); + }; + return nu$2(group(1), group(2)); + }; + const detect$5 = (versionRegexes, agent) => { + const cleanedAgent = String(agent).toLowerCase(); + if (versionRegexes.length === 0) { + return unknown$2(); + } + return find(versionRegexes, cleanedAgent); + }; + const unknown$2 = () => { + return nu$2(0, 0); + }; + const nu$2 = (major, minor) => { + return { + major, + minor + }; + }; + const Version = { + nu: nu$2, + detect: detect$5, + unknown: unknown$2 + }; + + const detectBrowser$1 = (browsers, userAgentData) => { + return findMap(userAgentData.brands, uaBrand => { + const lcBrand = uaBrand.brand.toLowerCase(); + return find$1(browsers, browser => { + var _a; + return lcBrand === ((_a = browser.brand) === null || _a === void 0 ? void 0 : _a.toLowerCase()); + }).map(info => ({ + current: info.name, + version: Version.nu(parseInt(uaBrand.version, 10), 0) + })); + }); + }; + + const detect$4 = (candidates, userAgent) => { + const agent = String(userAgent).toLowerCase(); + return find$1(candidates, candidate => { + return candidate.search(agent); + }); + }; + const detectBrowser = (browsers, userAgent) => { + return detect$4(browsers, userAgent).map(browser => { + const version = Version.detect(browser.versionRegexes, userAgent); + return { + current: browser.name, + version + }; + }); + }; + const detectOs = (oses, userAgent) => { + return detect$4(oses, userAgent).map(os => { + const version = Version.detect(os.versionRegexes, userAgent); + return { + current: os.name, + version + }; + }); + }; + + const normalVersionRegex = /.*?version\/\ ?([0-9]+)\.([0-9]+).*/; + const checkContains = target => { + return uastring => { + return contains(uastring, target); + }; + }; + const browsers = [ + { + name: 'Edge', + versionRegexes: [/.*?edge\/ ?([0-9]+)\.([0-9]+)$/], + search: uastring => { + return contains(uastring, 'edge/') && contains(uastring, 'chrome') && contains(uastring, 'safari') && contains(uastring, 'applewebkit'); + } + }, + { + name: 'Chromium', + brand: 'Chromium', + versionRegexes: [ + /.*?chrome\/([0-9]+)\.([0-9]+).*/, + normalVersionRegex + ], + search: uastring => { + return contains(uastring, 'chrome') && !contains(uastring, 'chromeframe'); + } + }, + { + name: 'IE', + versionRegexes: [ + /.*?msie\ ?([0-9]+)\.([0-9]+).*/, + /.*?rv:([0-9]+)\.([0-9]+).*/ + ], + search: uastring => { + return contains(uastring, 'msie') || contains(uastring, 'trident'); + } + }, + { + name: 'Opera', + versionRegexes: [ + normalVersionRegex, + /.*?opera\/([0-9]+)\.([0-9]+).*/ + ], + search: checkContains('opera') + }, + { + name: 'Firefox', + versionRegexes: [/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/], + search: checkContains('firefox') + }, + { + name: 'Safari', + versionRegexes: [ + normalVersionRegex, + /.*?cpu os ([0-9]+)_([0-9]+).*/ + ], + search: uastring => { + return (contains(uastring, 'safari') || contains(uastring, 'mobile/')) && contains(uastring, 'applewebkit'); + } + } + ]; + const oses = [ + { + name: 'Windows', + search: checkContains('win'), + versionRegexes: [/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/] + }, + { + name: 'iOS', + search: uastring => { + return contains(uastring, 'iphone') || contains(uastring, 'ipad'); + }, + versionRegexes: [ + /.*?version\/\ ?([0-9]+)\.([0-9]+).*/, + /.*cpu os ([0-9]+)_([0-9]+).*/, + /.*cpu iphone os ([0-9]+)_([0-9]+).*/ + ] + }, + { + name: 'Android', + search: checkContains('android'), + versionRegexes: [/.*?android\ ?([0-9]+)\.([0-9]+).*/] + }, + { + name: 'macOS', + search: checkContains('mac os x'), + versionRegexes: [/.*?mac\ os\ x\ ?([0-9]+)_([0-9]+).*/] + }, + { + name: 'Linux', + search: checkContains('linux'), + versionRegexes: [] + }, + { + name: 'Solaris', + search: checkContains('sunos'), + versionRegexes: [] + }, + { + name: 'FreeBSD', + search: checkContains('freebsd'), + versionRegexes: [] + }, + { + name: 'ChromeOS', + search: checkContains('cros'), + versionRegexes: [/.*?chrome\/([0-9]+)\.([0-9]+).*/] + } + ]; + const PlatformInfo = { + browsers: constant(browsers), + oses: constant(oses) + }; + + const edge = 'Edge'; + const chromium = 'Chromium'; + const ie = 'IE'; + const opera = 'Opera'; + const firefox = 'Firefox'; + const safari = 'Safari'; + const unknown$1 = () => { + return nu$1({ + current: undefined, + version: Version.unknown() + }); + }; + const nu$1 = info => { + const current = info.current; + const version = info.version; + const isBrowser = name => () => current === name; + return { + current, + version, + isEdge: isBrowser(edge), + isChromium: isBrowser(chromium), + isIE: isBrowser(ie), + isOpera: isBrowser(opera), + isFirefox: isBrowser(firefox), + isSafari: isBrowser(safari) + }; + }; + const Browser = { + unknown: unknown$1, + nu: nu$1, + edge: constant(edge), + chromium: constant(chromium), + ie: constant(ie), + opera: constant(opera), + firefox: constant(firefox), + safari: constant(safari) + }; + + const windows = 'Windows'; + const ios = 'iOS'; + const android = 'Android'; + const linux = 'Linux'; + const macos = 'macOS'; + const solaris = 'Solaris'; + const freebsd = 'FreeBSD'; + const chromeos = 'ChromeOS'; + const unknown = () => { + return nu({ + current: undefined, + version: Version.unknown() + }); + }; + const nu = info => { + const current = info.current; + const version = info.version; + const isOS = name => () => current === name; + return { + current, + version, + isWindows: isOS(windows), + isiOS: isOS(ios), + isAndroid: isOS(android), + isMacOS: isOS(macos), + isLinux: isOS(linux), + isSolaris: isOS(solaris), + isFreeBSD: isOS(freebsd), + isChromeOS: isOS(chromeos) + }; + }; + const OperatingSystem = { + unknown, + nu, + windows: constant(windows), + ios: constant(ios), + android: constant(android), + linux: constant(linux), + macos: constant(macos), + solaris: constant(solaris), + freebsd: constant(freebsd), + chromeos: constant(chromeos) + }; + + const detect$3 = (userAgent, userAgentDataOpt, mediaMatch) => { + const browsers = PlatformInfo.browsers(); + const oses = PlatformInfo.oses(); + const browser = userAgentDataOpt.bind(userAgentData => detectBrowser$1(browsers, userAgentData)).orThunk(() => detectBrowser(browsers, userAgent)).fold(Browser.unknown, Browser.nu); + const os = detectOs(oses, userAgent).fold(OperatingSystem.unknown, OperatingSystem.nu); + const deviceType = DeviceType(os, browser, userAgent, mediaMatch); + return { + browser, + os, + deviceType + }; + }; + const PlatformDetection = { detect: detect$3 }; + + const mediaMatch = query => window.matchMedia(query).matches; + let platform = cached(() => PlatformDetection.detect(navigator.userAgent, Optional.from(navigator.userAgentData), mediaMatch)); + const detect$2 = () => platform(); + + const Dimension = (name, getOffset) => { + const set = (element, h) => { + if (!isNumber(h) && !h.match(/^[0-9]+$/)) { + throw new Error(name + '.set accepts only positive integer values. Value was ' + h); + } + const dom = element.dom; + if (isSupported(dom)) { + dom.style[name] = h + 'px'; + } + }; + const get = element => { + const r = getOffset(element); + if (r <= 0 || r === null) { + const css = get$a(element, name); + return parseFloat(css) || 0; + } + return r; + }; + const getOuter = get; + const aggregate = (element, properties) => foldl(properties, (acc, property) => { + const val = get$a(element, property); + const value = val === undefined ? 0 : parseInt(val, 10); + return isNaN(value) ? acc : acc + value; + }, 0); + const max = (element, value, properties) => { + const cumulativeInclusions = aggregate(element, properties); + const absoluteMax = value > cumulativeInclusions ? value - cumulativeInclusions : 0; + return absoluteMax; + }; + return { + set, + get, + getOuter, + aggregate, + max + }; + }; + + const toNumber = (px, fallback) => toFloat(px).getOr(fallback); + const getProp = (element, name, fallback) => toNumber(get$a(element, name), fallback); + const calcContentBoxSize = (element, size, upper, lower) => { + const paddingUpper = getProp(element, `padding-${ upper }`, 0); + const paddingLower = getProp(element, `padding-${ lower }`, 0); + const borderUpper = getProp(element, `border-${ upper }-width`, 0); + const borderLower = getProp(element, `border-${ lower }-width`, 0); + return size - paddingUpper - paddingLower - borderUpper - borderLower; + }; + const getCalculatedWidth = (element, boxSizing) => { + const dom = element.dom; + const width = dom.getBoundingClientRect().width || dom.offsetWidth; + return boxSizing === 'border-box' ? width : calcContentBoxSize(element, width, 'left', 'right'); + }; + const getHeight$1 = element => getProp(element, 'height', element.dom.offsetHeight); + const getWidth = element => getProp(element, 'width', element.dom.offsetWidth); + const getInnerWidth = element => getCalculatedWidth(element, 'content-box'); + + const api$2 = Dimension('width', element => element.dom.offsetWidth); + const get$9 = element => api$2.get(element); + const getOuter$2 = element => api$2.getOuter(element); + const getInner = getInnerWidth; + const getRuntime$1 = getWidth; + + const addCells = (gridRow, index, cells) => { + const existingCells = gridRow.cells; + const before = existingCells.slice(0, index); + const after = existingCells.slice(index); + const newCells = before.concat(cells).concat(after); + return setCells(gridRow, newCells); + }; + const addCell = (gridRow, index, cell) => addCells(gridRow, index, [cell]); + const mutateCell = (gridRow, index, cell) => { + const cells = gridRow.cells; + cells[index] = cell; + }; + const setCells = (gridRow, cells) => rowcells(gridRow.element, cells, gridRow.section, gridRow.isNew); + const mapCells = (gridRow, f) => { + const cells = gridRow.cells; + const r = map$1(cells, f); + return rowcells(gridRow.element, r, gridRow.section, gridRow.isNew); + }; + const getCell = (gridRow, index) => gridRow.cells[index]; + const getCellElement = (gridRow, index) => getCell(gridRow, index).element; + const cellLength = gridRow => gridRow.cells.length; + const extractGridDetails = grid => { + const result = partition(grid, row => row.section === 'colgroup'); + return { + rows: result.fail, + cols: result.pass + }; + }; + const clone = (gridRow, cloneRow, cloneCell) => { + const newCells = map$1(gridRow.cells, cloneCell); + return rowcells(cloneRow(gridRow.element), newCells, gridRow.section, true); + }; + + const LOCKED_COL_ATTR = 'data-snooker-locked-cols'; + const getLockedColumnsFromTable = table => getOpt(table, LOCKED_COL_ATTR).bind(lockedColStr => Optional.from(lockedColStr.match(/\d+/g))).map(lockedCols => mapToObject(lockedCols, always)); + const getLockedColumnsFromGrid = grid => { + const locked = foldl(extractGridDetails(grid).rows, (acc, row) => { + each$2(row.cells, (cell, idx) => { + if (cell.isLocked) { + acc[idx] = true; + } + }); + return acc; + }, {}); + const lockedArr = mapToArray(locked, (_val, key) => parseInt(key, 10)); + return sort$1(lockedArr); + }; + + const key = (row, column) => { + return row + ',' + column; + }; + const getAt = (warehouse, row, column) => Optional.from(warehouse.access[key(row, column)]); + const findItem = (warehouse, item, comparator) => { + const filtered = filterItems(warehouse, detail => { + return comparator(item, detail.element); + }); + return filtered.length > 0 ? Optional.some(filtered[0]) : Optional.none(); + }; + const filterItems = (warehouse, predicate) => { + const all = bind$2(warehouse.all, r => { + return r.cells; + }); + return filter$2(all, predicate); + }; + const generateColumns = rowData => { + const columnsGroup = {}; + let index = 0; + each$2(rowData.cells, column => { + const colspan = column.colspan; + range$1(colspan, columnIndex => { + const colIndex = index + columnIndex; + columnsGroup[colIndex] = columnext(column.element, colspan, colIndex); + }); + index += colspan; + }); + return columnsGroup; + }; + const generate$1 = list => { + const access = {}; + const cells = []; + const tableOpt = head(list).map(rowData => rowData.element).bind(table); + const lockedColumns = tableOpt.bind(getLockedColumnsFromTable).getOr({}); + let maxRows = 0; + let maxColumns = 0; + let rowCount = 0; + const { + pass: colgroupRows, + fail: rows + } = partition(list, rowData => rowData.section === 'colgroup'); + each$2(rows, rowData => { + const currentRow = []; + each$2(rowData.cells, rowCell => { + let start = 0; + while (access[key(rowCount, start)] !== undefined) { + start++; + } + const isLocked = hasNonNullableKey(lockedColumns, start.toString()); + const current = extended(rowCell.element, rowCell.rowspan, rowCell.colspan, rowCount, start, isLocked); + for (let occupiedColumnPosition = 0; occupiedColumnPosition < rowCell.colspan; occupiedColumnPosition++) { + for (let occupiedRowPosition = 0; occupiedRowPosition < rowCell.rowspan; occupiedRowPosition++) { + const rowPosition = rowCount + occupiedRowPosition; + const columnPosition = start + occupiedColumnPosition; + const newpos = key(rowPosition, columnPosition); + access[newpos] = current; + maxColumns = Math.max(maxColumns, columnPosition + 1); + } + } + currentRow.push(current); + }); + maxRows++; + cells.push(rowdetail(rowData.element, currentRow, rowData.section)); + rowCount++; + }); + const {columns, colgroups} = last$2(colgroupRows).map(rowData => { + const columns = generateColumns(rowData); + const colgroup$1 = colgroup(rowData.element, values(columns)); + return { + colgroups: [colgroup$1], + columns + }; + }).getOrThunk(() => ({ + colgroups: [], + columns: {} + })); + const grid$1 = grid(maxRows, maxColumns); + return { + grid: grid$1, + access, + all: cells, + columns, + colgroups + }; + }; + const fromTable = table => { + const list = fromTable$1(table); + return generate$1(list); + }; + const justCells = warehouse => bind$2(warehouse.all, w => w.cells); + const justColumns = warehouse => values(warehouse.columns); + const hasColumns = warehouse => keys(warehouse.columns).length > 0; + const getColumnAt = (warehouse, columnIndex) => Optional.from(warehouse.columns[columnIndex]); + const Warehouse = { + fromTable, + generate: generate$1, + getAt, + findItem, + filterItems, + justCells, + justColumns, + hasColumns, + getColumnAt + }; + + const columns = (warehouse, isValidCell = always) => { + const grid = warehouse.grid; + const cols = range$1(grid.columns, identity); + const rowsArr = range$1(grid.rows, identity); + return map$1(cols, col => { + const getBlock = () => bind$2(rowsArr, r => Warehouse.getAt(warehouse, r, col).filter(detail => detail.column === col).toArray()); + const isValid = detail => detail.colspan === 1 && isValidCell(detail.element); + const getFallback = () => Warehouse.getAt(warehouse, 0, col); + return decide(getBlock, isValid, getFallback); + }); + }; + const decide = (getBlock, isValid, getFallback) => { + const inBlock = getBlock(); + const validInBlock = find$1(inBlock, isValid); + const detailOption = validInBlock.orThunk(() => Optional.from(inBlock[0]).orThunk(getFallback)); + return detailOption.map(detail => detail.element); + }; + const rows = warehouse => { + const grid = warehouse.grid; + const rowsArr = range$1(grid.rows, identity); + const cols = range$1(grid.columns, identity); + return map$1(rowsArr, row => { + const getBlock = () => bind$2(cols, c => Warehouse.getAt(warehouse, row, c).filter(detail => detail.row === row).fold(constant([]), detail => [detail])); + const isSingle = detail => detail.rowspan === 1; + const getFallback = () => Warehouse.getAt(warehouse, row, 0); + return decide(getBlock, isSingle, getFallback); + }); + }; + + const deduce = (xs, index) => { + if (index < 0 || index >= xs.length - 1) { + return Optional.none(); + } + const current = xs[index].fold(() => { + const rest = reverse(xs.slice(0, index)); + return findMap(rest, (a, i) => a.map(aa => ({ + value: aa, + delta: i + 1 + }))); + }, c => Optional.some({ + value: c, + delta: 0 + })); + const next = xs[index + 1].fold(() => { + const rest = xs.slice(index + 1); + return findMap(rest, (a, i) => a.map(aa => ({ + value: aa, + delta: i + 1 + }))); + }, n => Optional.some({ + value: n, + delta: 1 + })); + return current.bind(c => next.map(n => { + const extras = n.delta + c.delta; + return Math.abs(n.value - c.value) / extras; + })); + }; + + const onDirection = (isLtr, isRtl) => element => getDirection(element) === 'rtl' ? isRtl : isLtr; + const getDirection = element => get$a(element, 'direction') === 'rtl' ? 'rtl' : 'ltr'; + + const api$1 = Dimension('height', element => { + const dom = element.dom; + return inBody(element) ? dom.getBoundingClientRect().height : dom.offsetHeight; + }); + const get$8 = element => api$1.get(element); + const getOuter$1 = element => api$1.getOuter(element); + const getRuntime = getHeight$1; + + const r = (left, top) => { + const translate = (x, y) => r(left + x, top + y); + return { + left, + top, + translate + }; + }; + const SugarPosition = r; + + const boxPosition = dom => { + const box = dom.getBoundingClientRect(); + return SugarPosition(box.left, box.top); + }; + const firstDefinedOrZero = (a, b) => { + if (a !== undefined) { + return a; + } else { + return b !== undefined ? b : 0; + } + }; + const absolute = element => { + const doc = element.dom.ownerDocument; + const body = doc.body; + const win = doc.defaultView; + const html = doc.documentElement; + if (body === element.dom) { + return SugarPosition(body.offsetLeft, body.offsetTop); + } + const scrollTop = firstDefinedOrZero(win === null || win === void 0 ? void 0 : win.pageYOffset, html.scrollTop); + const scrollLeft = firstDefinedOrZero(win === null || win === void 0 ? void 0 : win.pageXOffset, html.scrollLeft); + const clientTop = firstDefinedOrZero(html.clientTop, body.clientTop); + const clientLeft = firstDefinedOrZero(html.clientLeft, body.clientLeft); + return viewport(element).translate(scrollLeft - clientLeft, scrollTop - clientTop); + }; + const viewport = element => { + const dom = element.dom; + const doc = dom.ownerDocument; + const body = doc.body; + if (body === dom) { + return SugarPosition(body.offsetLeft, body.offsetTop); + } + if (!inBody(element)) { + return SugarPosition(0, 0); + } + return boxPosition(dom); + }; + + const rowInfo = (row, y) => ({ + row, + y + }); + const colInfo = (col, x) => ({ + col, + x + }); + const rtlEdge = cell => { + const pos = absolute(cell); + return pos.left + getOuter$2(cell); + }; + const ltrEdge = cell => { + return absolute(cell).left; + }; + const getLeftEdge = (index, cell) => { + return colInfo(index, ltrEdge(cell)); + }; + const getRightEdge = (index, cell) => { + return colInfo(index, rtlEdge(cell)); + }; + const getTop$1 = cell => { + return absolute(cell).top; + }; + const getTopEdge = (index, cell) => { + return rowInfo(index, getTop$1(cell)); + }; + const getBottomEdge = (index, cell) => { + return rowInfo(index, getTop$1(cell) + getOuter$1(cell)); + }; + const findPositions = (getInnerEdge, getOuterEdge, array) => { + if (array.length === 0) { + return []; + } + const lines = map$1(array.slice(1), (cellOption, index) => { + return cellOption.map(cell => { + return getInnerEdge(index, cell); + }); + }); + const lastLine = array[array.length - 1].map(cell => { + return getOuterEdge(array.length - 1, cell); + }); + return lines.concat([lastLine]); + }; + const negate = step => { + return -step; + }; + const height = { + delta: identity, + positions: optElements => findPositions(getTopEdge, getBottomEdge, optElements), + edge: getTop$1 + }; + const ltr$1 = { + delta: identity, + edge: ltrEdge, + positions: optElements => findPositions(getLeftEdge, getRightEdge, optElements) + }; + const rtl$1 = { + delta: negate, + edge: rtlEdge, + positions: optElements => findPositions(getRightEdge, getLeftEdge, optElements) + }; + const detect$1 = onDirection(ltr$1, rtl$1); + const width = { + delta: (amount, table) => detect$1(table).delta(amount, table), + positions: (cols, table) => detect$1(table).positions(cols, table), + edge: cell => detect$1(cell).edge(cell) + }; + + const units = { + unsupportedLength: [ + 'em', + 'ex', + 'cap', + 'ch', + 'ic', + 'rem', + 'lh', + 'rlh', + 'vw', + 'vh', + 'vi', + 'vb', + 'vmin', + 'vmax', + 'cm', + 'mm', + 'Q', + 'in', + 'pc', + 'pt', + 'px' + ], + fixed: [ + 'px', + 'pt' + ], + relative: ['%'], + empty: [''] + }; + const pattern = (() => { + const decimalDigits = '[0-9]+'; + const signedInteger = '[+-]?' + decimalDigits; + const exponentPart = '[eE]' + signedInteger; + const dot = '\\.'; + const opt = input => `(?:${ input })?`; + const unsignedDecimalLiteral = [ + 'Infinity', + decimalDigits + dot + opt(decimalDigits) + opt(exponentPart), + dot + decimalDigits + opt(exponentPart), + decimalDigits + opt(exponentPart) + ].join('|'); + const float = `[+-]?(?:${ unsignedDecimalLiteral })`; + return new RegExp(`^(${ float })(.*)$`); + })(); + const isUnit = (unit, accepted) => exists(accepted, acc => exists(units[acc], check => unit === check)); + const parse = (input, accepted) => { + const match = Optional.from(pattern.exec(input)); + return match.bind(array => { + const value = Number(array[1]); + const unitRaw = array[2]; + if (isUnit(unitRaw, accepted)) { + return Optional.some({ + value, + unit: unitRaw + }); + } else { + return Optional.none(); + } + }); + }; + + const rPercentageBasedSizeRegex = /(\d+(\.\d+)?)%/; + const rPixelBasedSizeRegex = /(\d+(\.\d+)?)px|em/; + const isCol$2 = isTag('col'); + const getPercentSize = (elm, outerGetter, innerGetter) => { + const relativeParent = parentElement(elm).getOrThunk(() => getBody$1(owner(elm))); + return outerGetter(elm) / innerGetter(relativeParent) * 100; + }; + const setPixelWidth = (cell, amount) => { + set$1(cell, 'width', amount + 'px'); + }; + const setPercentageWidth = (cell, amount) => { + set$1(cell, 'width', amount + '%'); + }; + const setHeight = (cell, amount) => { + set$1(cell, 'height', amount + 'px'); + }; + const getHeightValue = cell => getRuntime(cell) + 'px'; + const convert = (cell, number, getter, setter) => { + const newSize = table(cell).map(table => { + const total = getter(table); + return Math.floor(number / 100 * total); + }).getOr(number); + setter(cell, newSize); + return newSize; + }; + const normalizePixelSize = (value, cell, getter, setter) => { + const number = parseFloat(value); + return endsWith(value, '%') && name(cell) !== 'table' ? convert(cell, number, getter, setter) : number; + }; + const getTotalHeight = cell => { + const value = getHeightValue(cell); + if (!value) { + return get$8(cell); + } + return normalizePixelSize(value, cell, get$8, setHeight); + }; + const get$7 = (cell, type, f) => { + const v = f(cell); + const span = getSpan(cell, type); + return v / span; + }; + const getRaw$1 = (element, prop) => { + return getRaw$2(element, prop).orThunk(() => { + return getOpt(element, prop).map(val => val + 'px'); + }); + }; + const getRawWidth$1 = element => getRaw$1(element, 'width'); + const getRawHeight = element => getRaw$1(element, 'height'); + const getPercentageWidth = cell => getPercentSize(cell, get$9, getInner); + const getPixelWidth$1 = cell => isCol$2(cell) ? get$9(cell) : getRuntime$1(cell); + const getHeight = cell => { + return get$7(cell, 'rowspan', getTotalHeight); + }; + const getGenericWidth = cell => { + const width = getRawWidth$1(cell); + return width.bind(w => parse(w, [ + 'fixed', + 'relative', + 'empty' + ])); + }; + const setGenericWidth = (cell, amount, unit) => { + set$1(cell, 'width', amount + unit); + }; + const getPixelTableWidth = table => get$9(table) + 'px'; + const getPercentTableWidth = table => getPercentSize(table, get$9, getInner) + '%'; + const isPercentSizing$1 = table => getRawWidth$1(table).exists(size => rPercentageBasedSizeRegex.test(size)); + const isPixelSizing$1 = table => getRawWidth$1(table).exists(size => rPixelBasedSizeRegex.test(size)); + const isNoneSizing$1 = table => getRawWidth$1(table).isNone(); + const percentageBasedSizeRegex = constant(rPercentageBasedSizeRegex); + + const isCol$1 = isTag('col'); + const getRawW = cell => { + return getRawWidth$1(cell).getOrThunk(() => getPixelWidth$1(cell) + 'px'); + }; + const getRawH = cell => { + return getRawHeight(cell).getOrThunk(() => getHeight(cell) + 'px'); + }; + const justCols = warehouse => map$1(Warehouse.justColumns(warehouse), column => Optional.from(column.element)); + const isValidColumn = cell => { + const browser = detect$2().browser; + const supportsColWidths = browser.isChromium() || browser.isFirefox(); + return isCol$1(cell) ? supportsColWidths : true; + }; + const getDimension = (cellOpt, index, backups, filter, getter, fallback) => cellOpt.filter(filter).fold(() => fallback(deduce(backups, index)), cell => getter(cell)); + const getWidthFrom = (warehouse, table, getWidth, fallback) => { + const columnCells = columns(warehouse); + const columns$1 = Warehouse.hasColumns(warehouse) ? justCols(warehouse) : columnCells; + const backups = [Optional.some(width.edge(table))].concat(map$1(width.positions(columnCells, table), pos => pos.map(p => p.x))); + const colFilter = not(hasColspan); + return map$1(columns$1, (cellOption, c) => { + return getDimension(cellOption, c, backups, colFilter, column => { + if (isValidColumn(column)) { + return getWidth(column); + } else { + const cell = bindFrom(columnCells[c], identity); + return getDimension(cell, c, backups, colFilter, cell => fallback(Optional.some(get$9(cell))), fallback); + } + }, fallback); + }); + }; + const getDeduced = deduced => { + return deduced.map(d => { + return d + 'px'; + }).getOr(''); + }; + const getRawWidths = (warehouse, table) => { + return getWidthFrom(warehouse, table, getRawW, getDeduced); + }; + const getPercentageWidths = (warehouse, table, tableSize) => { + return getWidthFrom(warehouse, table, getPercentageWidth, deduced => { + return deduced.fold(() => { + return tableSize.minCellWidth(); + }, cellWidth => { + return cellWidth / tableSize.pixelWidth() * 100; + }); + }); + }; + const getPixelWidths = (warehouse, table, tableSize) => { + return getWidthFrom(warehouse, table, getPixelWidth$1, deduced => { + return deduced.getOrThunk(tableSize.minCellWidth); + }); + }; + const getHeightFrom = (warehouse, table, direction, getHeight, fallback) => { + const rows$1 = rows(warehouse); + const backups = [Optional.some(direction.edge(table))].concat(map$1(direction.positions(rows$1, table), pos => pos.map(p => p.y))); + return map$1(rows$1, (cellOption, c) => { + return getDimension(cellOption, c, backups, not(hasRowspan), getHeight, fallback); + }); + }; + const getPixelHeights = (warehouse, table, direction) => { + return getHeightFrom(warehouse, table, direction, getHeight, deduced => { + return deduced.getOrThunk(minHeight); + }); + }; + const getRawHeights = (warehouse, table, direction) => { + return getHeightFrom(warehouse, table, direction, getRawH, getDeduced); + }; + + const widthLookup = (table, getter) => () => { + if (inBody(table)) { + return getter(table); + } else { + return parseFloat(getRaw$2(table, 'width').getOr('0')); + } + }; + const noneSize = table => { + const getWidth = widthLookup(table, get$9); + const zero = constant(0); + const getWidths = (warehouse, tableSize) => getPixelWidths(warehouse, table, tableSize); + return { + width: getWidth, + pixelWidth: getWidth, + getWidths, + getCellDelta: zero, + singleColumnWidth: constant([0]), + minCellWidth: zero, + setElementWidth: noop, + adjustTableWidth: noop, + isRelative: true, + label: 'none' + }; + }; + const percentageSize = table => { + const getFloatWidth = widthLookup(table, elem => parseFloat(getPercentTableWidth(elem))); + const getWidth = widthLookup(table, get$9); + const getCellDelta = delta => delta / getWidth() * 100; + const singleColumnWidth = (w, _delta) => [100 - w]; + const minCellWidth = () => minWidth() / getWidth() * 100; + const adjustTableWidth = delta => { + const currentWidth = getFloatWidth(); + const change = delta / 100 * currentWidth; + const newWidth = currentWidth + change; + setPercentageWidth(table, newWidth); + }; + const getWidths = (warehouse, tableSize) => getPercentageWidths(warehouse, table, tableSize); + return { + width: getFloatWidth, + pixelWidth: getWidth, + getWidths, + getCellDelta, + singleColumnWidth, + minCellWidth, + setElementWidth: setPercentageWidth, + adjustTableWidth, + isRelative: true, + label: 'percent' + }; + }; + const pixelSize = table => { + const getWidth = widthLookup(table, get$9); + const getCellDelta = identity; + const singleColumnWidth = (w, delta) => { + const newNext = Math.max(minWidth(), w + delta); + return [newNext - w]; + }; + const adjustTableWidth = delta => { + const newWidth = getWidth() + delta; + setPixelWidth(table, newWidth); + }; + const getWidths = (warehouse, tableSize) => getPixelWidths(warehouse, table, tableSize); + return { + width: getWidth, + pixelWidth: getWidth, + getWidths, + getCellDelta, + singleColumnWidth, + minCellWidth: minWidth, + setElementWidth: setPixelWidth, + adjustTableWidth, + isRelative: false, + label: 'pixel' + }; + }; + const chooseSize = (element, width) => { + const percentMatch = percentageBasedSizeRegex().exec(width); + if (percentMatch !== null) { + return percentageSize(element); + } else { + return pixelSize(element); + } + }; + const getTableSize = table => { + const width = getRawWidth$1(table); + return width.fold(() => noneSize(table), w => chooseSize(table, w)); + }; + const TableSize = { + getTableSize, + pixelSize, + percentageSize, + noneSize + }; + + const statsStruct = (minRow, minCol, maxRow, maxCol, allCells, selectedCells) => ({ + minRow, + minCol, + maxRow, + maxCol, + allCells, + selectedCells + }); + const findSelectedStats = (house, isSelected) => { + const totalColumns = house.grid.columns; + const totalRows = house.grid.rows; + let minRow = totalRows; + let minCol = totalColumns; + let maxRow = 0; + let maxCol = 0; + const allCells = []; + const selectedCells = []; + each$1(house.access, detail => { + allCells.push(detail); + if (isSelected(detail)) { + selectedCells.push(detail); + const startRow = detail.row; + const endRow = startRow + detail.rowspan - 1; + const startCol = detail.column; + const endCol = startCol + detail.colspan - 1; + if (startRow < minRow) { + minRow = startRow; + } else if (endRow > maxRow) { + maxRow = endRow; + } + if (startCol < minCol) { + minCol = startCol; + } else if (endCol > maxCol) { + maxCol = endCol; + } + } + }); + return statsStruct(minRow, minCol, maxRow, maxCol, allCells, selectedCells); + }; + const makeCell = (list, seenSelected, rowIndex) => { + const row = list[rowIndex].element; + const td = SugarElement.fromTag('td'); + append$1(td, SugarElement.fromTag('br')); + const f = seenSelected ? append$1 : prepend; + f(row, td); + }; + const fillInGaps = (list, house, stats, isSelected) => { + const rows = filter$2(list, row => row.section !== 'colgroup'); + const totalColumns = house.grid.columns; + const totalRows = house.grid.rows; + for (let i = 0; i < totalRows; i++) { + let seenSelected = false; + for (let j = 0; j < totalColumns; j++) { + if (!(i < stats.minRow || i > stats.maxRow || j < stats.minCol || j > stats.maxCol)) { + const needCell = Warehouse.getAt(house, i, j).filter(isSelected).isNone(); + if (needCell) { + makeCell(rows, seenSelected, i); + } else { + seenSelected = true; + } + } + } + } + }; + const clean = (replica, stats, house, widthDelta) => { + each$1(house.columns, col => { + if (col.column < stats.minCol || col.column > stats.maxCol) { + remove$6(col.element); + } + }); + const emptyRows = filter$2(firstLayer(replica, 'tr'), row => row.dom.childElementCount === 0); + each$2(emptyRows, remove$6); + if (stats.minCol === stats.maxCol || stats.minRow === stats.maxRow) { + each$2(firstLayer(replica, 'th,td'), cell => { + remove$7(cell, 'rowspan'); + remove$7(cell, 'colspan'); + }); + } + remove$7(replica, LOCKED_COL_ATTR); + remove$7(replica, 'data-snooker-col-series'); + const tableSize = TableSize.getTableSize(replica); + tableSize.adjustTableWidth(widthDelta); + }; + const getTableWidthDelta = (table, warehouse, tableSize, stats) => { + if (stats.minCol === 0 && warehouse.grid.columns === stats.maxCol + 1) { + return 0; + } + const colWidths = getPixelWidths(warehouse, table, tableSize); + const allColsWidth = foldl(colWidths, (acc, width) => acc + width, 0); + const selectedColsWidth = foldl(colWidths.slice(stats.minCol, stats.maxCol + 1), (acc, width) => acc + width, 0); + const newWidth = selectedColsWidth / allColsWidth * tableSize.pixelWidth(); + const delta = newWidth - tableSize.pixelWidth(); + return tableSize.getCellDelta(delta); + }; + const extract$1 = (table, selectedSelector) => { + const isSelected = detail => is$2(detail.element, selectedSelector); + const replica = deep(table); + const list = fromTable$1(replica); + const tableSize = TableSize.getTableSize(table); + const replicaHouse = Warehouse.generate(list); + const replicaStats = findSelectedStats(replicaHouse, isSelected); + const selector = 'th:not(' + selectedSelector + ')' + ',td:not(' + selectedSelector + ')'; + const unselectedCells = filterFirstLayer(replica, 'th,td', cell => is$2(cell, selector)); + each$2(unselectedCells, remove$6); + fillInGaps(list, replicaHouse, replicaStats, isSelected); + const house = Warehouse.fromTable(table); + const widthDelta = getTableWidthDelta(table, house, tableSize, replicaStats); + clean(replica, replicaStats, replicaHouse, widthDelta); + return replica; + }; + + const nbsp = '\xA0'; + + const NodeValue = (is, name) => { + const get = element => { + if (!is(element)) { + throw new Error('Can only get ' + name + ' value of a ' + name + ' node'); + } + return getOption(element).getOr(''); + }; + const getOption = element => is(element) ? Optional.from(element.dom.nodeValue) : Optional.none(); + const set = (element, value) => { + if (!is(element)) { + throw new Error('Can only set raw ' + name + ' value of a ' + name + ' node'); + } + element.dom.nodeValue = value; + }; + return { + get, + getOption, + set + }; + }; + + const api = NodeValue(isText, 'text'); + const get$6 = element => api.get(element); + const getOption = element => api.getOption(element); + const set = (element, value) => api.set(element, value); + + const getEnd = element => name(element) === 'img' ? 1 : getOption(element).fold(() => children$2(element).length, v => v.length); + const isTextNodeWithCursorPosition = el => getOption(el).filter(text => text.trim().length !== 0 || text.indexOf(nbsp) > -1).isSome(); + const isContentEditableFalse = elem => isHTMLElement(elem) && get$b(elem, 'contenteditable') === 'false'; + const elementsWithCursorPosition = [ + 'img', + 'br' + ]; + const isCursorPosition = elem => { + const hasCursorPosition = isTextNodeWithCursorPosition(elem); + return hasCursorPosition || contains$2(elementsWithCursorPosition, name(elem)) || isContentEditableFalse(elem); + }; + + const first = element => descendant$1(element, isCursorPosition); + const last$1 = element => descendantRtl(element, isCursorPosition); + const descendantRtl = (scope, predicate) => { + const descend = element => { + const children = children$2(element); + for (let i = children.length - 1; i >= 0; i--) { + const child = children[i]; + if (predicate(child)) { + return Optional.some(child); + } + const res = descend(child); + if (res.isSome()) { + return res; + } + } + return Optional.none(); + }; + return descend(scope); + }; + + const transferableAttributes = { + scope: [ + 'row', + 'col' + ] + }; + const createCell = doc => () => { + const td = SugarElement.fromTag('td', doc.dom); + append$1(td, SugarElement.fromTag('br', doc.dom)); + return td; + }; + const createCol = doc => () => { + return SugarElement.fromTag('col', doc.dom); + }; + const createColgroup = doc => () => { + return SugarElement.fromTag('colgroup', doc.dom); + }; + const createRow$1 = doc => () => { + return SugarElement.fromTag('tr', doc.dom); + }; + const replace$1 = (cell, tag, attrs) => { + const replica = copy$2(cell, tag); + each$1(attrs, (v, k) => { + if (v === null) { + remove$7(replica, k); + } else { + set$2(replica, k, v); + } + }); + return replica; + }; + const pasteReplace = cell => { + return cell; + }; + const cloneFormats = (oldCell, newCell, formats) => { + const first$1 = first(oldCell); + return first$1.map(firstText => { + const formatSelector = formats.join(','); + const parents = ancestors$3(firstText, formatSelector, element => { + return eq$1(element, oldCell); + }); + return foldr(parents, (last, parent) => { + const clonedFormat = shallow(parent); + append$1(last, clonedFormat); + return clonedFormat; + }, newCell); + }).getOr(newCell); + }; + const cloneAppropriateAttributes = (original, clone) => { + each$1(transferableAttributes, (validAttributes, attributeName) => getOpt(original, attributeName).filter(attribute => contains$2(validAttributes, attribute)).each(attribute => set$2(clone, attributeName, attribute))); + }; + const cellOperations = (mutate, doc, formatsToClone) => { + const cloneCss = (prev, clone) => { + copy$1(prev.element, clone); + remove$5(clone, 'height'); + if (prev.colspan !== 1) { + remove$5(clone, 'width'); + } + }; + const newCell = prev => { + const td = SugarElement.fromTag(name(prev.element), doc.dom); + const formats = formatsToClone.getOr([ + 'strong', + 'em', + 'b', + 'i', + 'span', + 'font', + 'h1', + 'h2', + 'h3', + 'h4', + 'h5', + 'h6', + 'p', + 'div' + ]); + const lastNode = formats.length > 0 ? cloneFormats(prev.element, td, formats) : td; + append$1(lastNode, SugarElement.fromTag('br')); + cloneCss(prev, td); + cloneAppropriateAttributes(prev.element, td); + mutate(prev.element, td); + return td; + }; + const newCol = prev => { + const col = SugarElement.fromTag(name(prev.element), doc.dom); + cloneCss(prev, col); + mutate(prev.element, col); + return col; + }; + return { + col: newCol, + colgroup: createColgroup(doc), + row: createRow$1(doc), + cell: newCell, + replace: replace$1, + colGap: createCol(doc), + gap: createCell(doc) + }; + }; + const paste$1 = doc => { + return { + col: createCol(doc), + colgroup: createColgroup(doc), + row: createRow$1(doc), + cell: createCell(doc), + replace: pasteReplace, + colGap: createCol(doc), + gap: createCell(doc) + }; + }; + + const fromHtml = (html, scope) => { + const doc = scope || document; + const div = doc.createElement('div'); + div.innerHTML = html; + return children$2(SugarElement.fromDom(div)); + }; + const fromDom = nodes => map$1(nodes, SugarElement.fromDom); + + const option = name => editor => editor.options.get(name); + const defaultWidth = '100%'; + const getPixelForcedWidth = editor => { + var _a; + const dom = editor.dom; + const parentBlock = (_a = dom.getParent(editor.selection.getStart(), dom.isBlock)) !== null && _a !== void 0 ? _a : editor.getBody(); + return getInner(SugarElement.fromDom(parentBlock)) + 'px'; + }; + const determineDefaultTableStyles = (editor, defaultStyles) => { + if (isTableResponsiveForced(editor) || !shouldStyleWithCss(editor)) { + return defaultStyles; + } else if (isTablePixelsForced(editor)) { + return { + ...defaultStyles, + width: getPixelForcedWidth(editor) + }; + } else { + return { + ...defaultStyles, + width: defaultWidth + }; + } + }; + const determineDefaultTableAttributes = (editor, defaultAttributes) => { + if (isTableResponsiveForced(editor) || shouldStyleWithCss(editor)) { + return defaultAttributes; + } else if (isTablePixelsForced(editor)) { + return { + ...defaultAttributes, + width: getPixelForcedWidth(editor) + }; + } else { + return { + ...defaultAttributes, + width: defaultWidth + }; + } + }; + const register = editor => { + const registerOption = editor.options.register; + registerOption('table_clone_elements', { processor: 'string[]' }); + registerOption('table_use_colgroups', { + processor: 'boolean', + default: true + }); + registerOption('table_header_type', { + processor: value => { + const valid = contains$2([ + 'section', + 'cells', + 'sectionCells', + 'auto' + ], value); + return valid ? { + value, + valid + } : { + valid: false, + message: 'Must be one of: section, cells, sectionCells or auto.' + }; + }, + default: 'section' + }); + registerOption('table_sizing_mode', { + processor: 'string', + default: 'auto' + }); + registerOption('table_default_attributes', { + processor: 'object', + default: { border: '1' } + }); + registerOption('table_default_styles', { + processor: 'object', + default: { 'border-collapse': 'collapse' } + }); + registerOption('table_column_resizing', { + processor: value => { + const valid = contains$2([ + 'preservetable', + 'resizetable' + ], value); + return valid ? { + value, + valid + } : { + valid: false, + message: 'Must be preservetable, or resizetable.' + }; + }, + default: 'preservetable' + }); + registerOption('table_resize_bars', { + processor: 'boolean', + default: true + }); + registerOption('table_style_by_css', { + processor: 'boolean', + default: true + }); + registerOption('table_merge_content_on_paste', { + processor: 'boolean', + default: true + }); + }; + const getTableCloneElements = editor => { + return Optional.from(editor.options.get('table_clone_elements')); + }; + const hasTableObjectResizing = editor => { + const objectResizing = editor.options.get('object_resizing'); + return contains$2(objectResizing.split(','), 'table'); + }; + const getTableHeaderType = option('table_header_type'); + const getTableColumnResizingBehaviour = option('table_column_resizing'); + const isPreserveTableColumnResizing = editor => getTableColumnResizingBehaviour(editor) === 'preservetable'; + const isResizeTableColumnResizing = editor => getTableColumnResizingBehaviour(editor) === 'resizetable'; + const getTableSizingMode = option('table_sizing_mode'); + const isTablePercentagesForced = editor => getTableSizingMode(editor) === 'relative'; + const isTablePixelsForced = editor => getTableSizingMode(editor) === 'fixed'; + const isTableResponsiveForced = editor => getTableSizingMode(editor) === 'responsive'; + const hasTableResizeBars = option('table_resize_bars'); + const shouldStyleWithCss = option('table_style_by_css'); + const shouldMergeContentOnPaste = option('table_merge_content_on_paste'); + const getTableDefaultAttributes = editor => { + const options = editor.options; + const defaultAttributes = options.get('table_default_attributes'); + return options.isSet('table_default_attributes') ? defaultAttributes : determineDefaultTableAttributes(editor, defaultAttributes); + }; + const getTableDefaultStyles = editor => { + const options = editor.options; + const defaultStyles = options.get('table_default_styles'); + return options.isSet('table_default_styles') ? defaultStyles : determineDefaultTableStyles(editor, defaultStyles); + }; + const tableUseColumnGroup = option('table_use_colgroups'); + + const closest = target => closest$1(target, '[contenteditable]'); + const isEditable$1 = (element, assumeEditable = false) => { + if (inBody(element)) { + return element.dom.isContentEditable; + } else { + return closest(element).fold(constant(assumeEditable), editable => getRaw(editable) === 'true'); + } + }; + const getRaw = element => element.dom.contentEditable; + + const getBody = editor => SugarElement.fromDom(editor.getBody()); + const getIsRoot = editor => element => eq$1(element, getBody(editor)); + const removeDataStyle = table => { + remove$7(table, 'data-mce-style'); + const removeStyleAttribute = element => remove$7(element, 'data-mce-style'); + each$2(cells$1(table), removeStyleAttribute); + each$2(columns$1(table), removeStyleAttribute); + each$2(rows$1(table), removeStyleAttribute); + }; + const getSelectionStart = editor => SugarElement.fromDom(editor.selection.getStart()); + const getPixelWidth = elm => elm.getBoundingClientRect().width; + const getPixelHeight = elm => elm.getBoundingClientRect().height; + const getRawWidth = (editor, elm) => { + const raw = editor.dom.getStyle(elm, 'width') || editor.dom.getAttrib(elm, 'width'); + return Optional.from(raw).filter(isNotEmpty); + }; + const isPercentage$1 = value => /^(\d+(\.\d+)?)%$/.test(value); + const isPixel = value => /^(\d+(\.\d+)?)px$/.test(value); + const isInEditableContext$1 = cell => closest$2(cell, isTag('table')).exists(isEditable$1); + + const inSelection = (bounds, detail) => { + const leftEdge = detail.column; + const rightEdge = detail.column + detail.colspan - 1; + const topEdge = detail.row; + const bottomEdge = detail.row + detail.rowspan - 1; + return leftEdge <= bounds.finishCol && rightEdge >= bounds.startCol && (topEdge <= bounds.finishRow && bottomEdge >= bounds.startRow); + }; + const isWithin = (bounds, detail) => { + return detail.column >= bounds.startCol && detail.column + detail.colspan - 1 <= bounds.finishCol && detail.row >= bounds.startRow && detail.row + detail.rowspan - 1 <= bounds.finishRow; + }; + const isRectangular = (warehouse, bounds) => { + let isRect = true; + const detailIsWithin = curry(isWithin, bounds); + for (let i = bounds.startRow; i <= bounds.finishRow; i++) { + for (let j = bounds.startCol; j <= bounds.finishCol; j++) { + isRect = isRect && Warehouse.getAt(warehouse, i, j).exists(detailIsWithin); + } + } + return isRect ? Optional.some(bounds) : Optional.none(); + }; + + const getBounds = (detailA, detailB) => { + return bounds(Math.min(detailA.row, detailB.row), Math.min(detailA.column, detailB.column), Math.max(detailA.row + detailA.rowspan - 1, detailB.row + detailB.rowspan - 1), Math.max(detailA.column + detailA.colspan - 1, detailB.column + detailB.colspan - 1)); + }; + const getAnyBox = (warehouse, startCell, finishCell) => { + const startCoords = Warehouse.findItem(warehouse, startCell, eq$1); + const finishCoords = Warehouse.findItem(warehouse, finishCell, eq$1); + return startCoords.bind(sc => { + return finishCoords.map(fc => { + return getBounds(sc, fc); + }); + }); + }; + const getBox$1 = (warehouse, startCell, finishCell) => { + return getAnyBox(warehouse, startCell, finishCell).bind(bounds => { + return isRectangular(warehouse, bounds); + }); + }; + + const moveBy$1 = (warehouse, cell, row, column) => { + return Warehouse.findItem(warehouse, cell, eq$1).bind(detail => { + const startRow = row > 0 ? detail.row + detail.rowspan - 1 : detail.row; + const startCol = column > 0 ? detail.column + detail.colspan - 1 : detail.column; + const dest = Warehouse.getAt(warehouse, startRow + row, startCol + column); + return dest.map(d => { + return d.element; + }); + }); + }; + const intercepts$1 = (warehouse, start, finish) => { + return getAnyBox(warehouse, start, finish).map(bounds => { + const inside = Warehouse.filterItems(warehouse, curry(inSelection, bounds)); + return map$1(inside, detail => { + return detail.element; + }); + }); + }; + const parentCell = (warehouse, innerCell) => { + const isContainedBy = (c1, c2) => { + return contains$1(c2, c1); + }; + return Warehouse.findItem(warehouse, innerCell, isContainedBy).map(detail => { + return detail.element; + }); + }; + + const moveBy = (cell, deltaRow, deltaColumn) => { + return table(cell).bind(table => { + const warehouse = getWarehouse(table); + return moveBy$1(warehouse, cell, deltaRow, deltaColumn); + }); + }; + const intercepts = (table, first, last) => { + const warehouse = getWarehouse(table); + return intercepts$1(warehouse, first, last); + }; + const nestedIntercepts = (table, first, firstTable, last, lastTable) => { + const warehouse = getWarehouse(table); + const optStartCell = eq$1(table, firstTable) ? Optional.some(first) : parentCell(warehouse, first); + const optLastCell = eq$1(table, lastTable) ? Optional.some(last) : parentCell(warehouse, last); + return optStartCell.bind(startCell => optLastCell.bind(lastCell => intercepts$1(warehouse, startCell, lastCell))); + }; + const getBox = (table, first, last) => { + const warehouse = getWarehouse(table); + return getBox$1(warehouse, first, last); + }; + const getWarehouse = Warehouse.fromTable; + + var TagBoundaries = [ + 'body', + 'p', + 'div', + 'article', + 'aside', + 'figcaption', + 'figure', + 'footer', + 'header', + 'nav', + 'section', + 'ol', + 'ul', + 'li', + 'table', + 'thead', + 'tbody', + 'tfoot', + 'caption', + 'tr', + 'td', + 'th', + 'h1', + 'h2', + 'h3', + 'h4', + 'h5', + 'h6', + 'blockquote', + 'pre', + 'address' + ]; + + var DomUniverse = () => { + const clone = element => { + return SugarElement.fromDom(element.dom.cloneNode(false)); + }; + const document = element => documentOrOwner(element).dom; + const isBoundary = element => { + if (!isElement(element)) { + return false; + } + if (name(element) === 'body') { + return true; + } + return contains$2(TagBoundaries, name(element)); + }; + const isEmptyTag = element => { + if (!isElement(element)) { + return false; + } + return contains$2([ + 'br', + 'img', + 'hr', + 'input' + ], name(element)); + }; + const isNonEditable = element => isElement(element) && get$b(element, 'contenteditable') === 'false'; + const comparePosition = (element, other) => { + return element.dom.compareDocumentPosition(other.dom); + }; + const copyAttributesTo = (source, destination) => { + const as = clone$2(source); + setAll$1(destination, as); + }; + const isSpecial = element => { + const tag = name(element); + return contains$2([ + 'script', + 'noscript', + 'iframe', + 'noframes', + 'noembed', + 'title', + 'style', + 'textarea', + 'xmp' + ], tag); + }; + const getLanguage = element => isElement(element) ? getOpt(element, 'lang') : Optional.none(); + return { + up: constant({ + selector: ancestor$1, + closest: closest$1, + predicate: ancestor$2, + all: parents + }), + down: constant({ + selector: descendants, + predicate: descendants$1 + }), + styles: constant({ + get: get$a, + getRaw: getRaw$2, + set: set$1, + remove: remove$5 + }), + attrs: constant({ + get: get$b, + set: set$2, + remove: remove$7, + copyTo: copyAttributesTo + }), + insert: constant({ + before: before$3, + after: after$5, + afterAll: after$4, + append: append$1, + appendAll: append, + prepend: prepend, + wrap: wrap + }), + remove: constant({ + unwrap: unwrap, + remove: remove$6 + }), + create: constant({ + nu: SugarElement.fromTag, + clone, + text: SugarElement.fromText + }), + query: constant({ + comparePosition, + prevSibling: prevSibling, + nextSibling: nextSibling + }), + property: constant({ + children: children$2, + name: name, + parent: parent, + document, + isText: isText, + isComment: isComment, + isElement: isElement, + isSpecial, + getLanguage, + getText: get$6, + setText: set, + isBoundary, + isEmptyTag, + isNonEditable + }), + eq: eq$1, + is: is$1 + }; + }; + + const all = (universe, look, elements, f) => { + const head = elements[0]; + const tail = elements.slice(1); + return f(universe, look, head, tail); + }; + const oneAll = (universe, look, elements) => { + return elements.length > 0 ? all(universe, look, elements, unsafeOne) : Optional.none(); + }; + const unsafeOne = (universe, look, head, tail) => { + const start = look(universe, head); + return foldr(tail, (b, a) => { + const current = look(universe, a); + return commonElement(universe, b, current); + }, start); + }; + const commonElement = (universe, start, end) => { + return start.bind(s => { + return end.filter(curry(universe.eq, s)); + }); + }; + + const eq = (universe, item) => { + return curry(universe.eq, item); + }; + const ancestors$2 = (universe, start, end, isRoot = never) => { + const ps1 = [start].concat(universe.up().all(start)); + const ps2 = [end].concat(universe.up().all(end)); + const prune = path => { + const index = findIndex(path, isRoot); + return index.fold(() => { + return path; + }, ind => { + return path.slice(0, ind + 1); + }); + }; + const pruned1 = prune(ps1); + const pruned2 = prune(ps2); + const shared = find$1(pruned1, x => { + return exists(pruned2, eq(universe, x)); + }); + return { + firstpath: pruned1, + secondpath: pruned2, + shared + }; + }; + + const sharedOne$1 = oneAll; + const ancestors$1 = ancestors$2; + + const universe$3 = DomUniverse(); + const sharedOne = (look, elements) => { + return sharedOne$1(universe$3, (_universe, element) => { + return look(element); + }, elements); + }; + const ancestors = (start, finish, isRoot) => { + return ancestors$1(universe$3, start, finish, isRoot); + }; + + const lookupTable = container => { + return ancestor$1(container, 'table'); + }; + const identify = (start, finish, isRoot) => { + const getIsRoot = rootTable => { + return element => { + return isRoot !== undefined && isRoot(element) || eq$1(element, rootTable); + }; + }; + if (eq$1(start, finish)) { + return Optional.some({ + boxes: Optional.some([start]), + start, + finish + }); + } else { + return lookupTable(start).bind(startTable => { + return lookupTable(finish).bind(finishTable => { + if (eq$1(startTable, finishTable)) { + return Optional.some({ + boxes: intercepts(startTable, start, finish), + start, + finish + }); + } else if (contains$1(startTable, finishTable)) { + const ancestorCells = ancestors$3(finish, 'td,th', getIsRoot(startTable)); + const finishCell = ancestorCells.length > 0 ? ancestorCells[ancestorCells.length - 1] : finish; + return Optional.some({ + boxes: nestedIntercepts(startTable, start, startTable, finish, finishTable), + start, + finish: finishCell + }); + } else if (contains$1(finishTable, startTable)) { + const ancestorCells = ancestors$3(start, 'td,th', getIsRoot(finishTable)); + const startCell = ancestorCells.length > 0 ? ancestorCells[ancestorCells.length - 1] : start; + return Optional.some({ + boxes: nestedIntercepts(finishTable, start, startTable, finish, finishTable), + start, + finish: startCell + }); + } else { + return ancestors(start, finish).shared.bind(lca => { + return closest$1(lca, 'table', isRoot).bind(lcaTable => { + const finishAncestorCells = ancestors$3(finish, 'td,th', getIsRoot(lcaTable)); + const finishCell = finishAncestorCells.length > 0 ? finishAncestorCells[finishAncestorCells.length - 1] : finish; + const startAncestorCells = ancestors$3(start, 'td,th', getIsRoot(lcaTable)); + const startCell = startAncestorCells.length > 0 ? startAncestorCells[startAncestorCells.length - 1] : start; + return Optional.some({ + boxes: nestedIntercepts(lcaTable, start, startTable, finish, finishTable), + start: startCell, + finish: finishCell + }); + }); + }); + } + }); + }); + } + }; + const retrieve$1 = (container, selector) => { + const sels = descendants(container, selector); + return sels.length > 0 ? Optional.some(sels) : Optional.none(); + }; + const getLast = (boxes, lastSelectedSelector) => { + return find$1(boxes, box => { + return is$2(box, lastSelectedSelector); + }); + }; + const getEdges = (container, firstSelectedSelector, lastSelectedSelector) => { + return descendant(container, firstSelectedSelector).bind(first => { + return descendant(container, lastSelectedSelector).bind(last => { + return sharedOne(lookupTable, [ + first, + last + ]).map(table => { + return { + first, + last, + table + }; + }); + }); + }); + }; + const expandTo = (finish, firstSelectedSelector) => { + return ancestor$1(finish, 'table').bind(table => { + return descendant(table, firstSelectedSelector).bind(start => { + return identify(start, finish).bind(identified => { + return identified.boxes.map(boxes => { + return { + boxes, + start: identified.start, + finish: identified.finish + }; + }); + }); + }); + }); + }; + const shiftSelection = (boxes, deltaRow, deltaColumn, firstSelectedSelector, lastSelectedSelector) => { + return getLast(boxes, lastSelectedSelector).bind(last => { + return moveBy(last, deltaRow, deltaColumn).bind(finish => { + return expandTo(finish, firstSelectedSelector); + }); + }); + }; + + const retrieve = (container, selector) => { + return retrieve$1(container, selector); + }; + const retrieveBox = (container, firstSelectedSelector, lastSelectedSelector) => { + return getEdges(container, firstSelectedSelector, lastSelectedSelector).bind(edges => { + const isRoot = ancestor => { + return eq$1(container, ancestor); + }; + const sectionSelector = 'thead,tfoot,tbody,table'; + const firstAncestor = ancestor$1(edges.first, sectionSelector, isRoot); + const lastAncestor = ancestor$1(edges.last, sectionSelector, isRoot); + return firstAncestor.bind(fA => { + return lastAncestor.bind(lA => { + return eq$1(fA, lA) ? getBox(edges.table, edges.first, edges.last) : Optional.none(); + }); + }); + }); + }; + + const selection = identity; + const unmergable = selectedCells => { + const hasSpan = (elem, type) => getOpt(elem, type).exists(span => parseInt(span, 10) > 1); + const hasRowOrColSpan = elem => hasSpan(elem, 'rowspan') || hasSpan(elem, 'colspan'); + return selectedCells.length > 0 && forall(selectedCells, hasRowOrColSpan) ? Optional.some(selectedCells) : Optional.none(); + }; + const mergable = (table, selectedCells, ephemera) => { + if (selectedCells.length <= 1) { + return Optional.none(); + } else { + return retrieveBox(table, ephemera.firstSelectedSelector, ephemera.lastSelectedSelector).map(bounds => ({ + bounds, + cells: selectedCells + })); + } + }; + + const strSelected = 'data-mce-selected'; + const strSelectedSelector = 'td[' + strSelected + '],th[' + strSelected + ']'; + const strAttributeSelector = '[' + strSelected + ']'; + const strFirstSelected = 'data-mce-first-selected'; + const strFirstSelectedSelector = 'td[' + strFirstSelected + '],th[' + strFirstSelected + ']'; + const strLastSelected = 'data-mce-last-selected'; + const strLastSelectedSelector = 'td[' + strLastSelected + '],th[' + strLastSelected + ']'; + const attributeSelector = strAttributeSelector; + const ephemera = { + selected: strSelected, + selectedSelector: strSelectedSelector, + firstSelected: strFirstSelected, + firstSelectedSelector: strFirstSelectedSelector, + lastSelected: strLastSelected, + lastSelectedSelector: strLastSelectedSelector + }; + + const forMenu = (selectedCells, table, cell) => ({ + element: cell, + mergable: mergable(table, selectedCells, ephemera), + unmergable: unmergable(selectedCells), + selection: selection(selectedCells) + }); + const paste = (element, clipboard, generators) => ({ + element, + clipboard, + generators + }); + const pasteRows = (selectedCells, _cell, clipboard, generators) => ({ + selection: selection(selectedCells), + clipboard, + generators + }); + + const getSelectionCellFallback = element => table(element).bind(table => retrieve(table, ephemera.firstSelectedSelector)).fold(constant(element), cells => cells[0]); + const getSelectionFromSelector = selector => (initCell, isRoot) => { + const cellName = name(initCell); + const cell = cellName === 'col' || cellName === 'colgroup' ? getSelectionCellFallback(initCell) : initCell; + return closest$1(cell, selector, isRoot); + }; + const getSelectionCellOrCaption = getSelectionFromSelector('th,td,caption'); + const getSelectionCell = getSelectionFromSelector('th,td'); + const getCellsFromSelection = editor => fromDom(editor.model.table.getSelectedCells()); + const getCellsFromFakeSelection = editor => filter$2(getCellsFromSelection(editor), cell => is$2(cell, ephemera.selectedSelector)); + + const extractSelected = cells => { + return table(cells[0]).map(table => { + const replica = extract$1(table, attributeSelector); + removeDataStyle(replica); + return [replica]; + }); + }; + const serializeElements = (editor, elements) => map$1(elements, elm => editor.selection.serializer.serialize(elm.dom, {})).join(''); + const getTextContent = elements => map$1(elements, element => element.dom.innerText).join(''); + const registerEvents = (editor, actions) => { + editor.on('BeforeGetContent', e => { + const multiCellContext = cells => { + e.preventDefault(); + extractSelected(cells).each(elements => { + e.content = e.format === 'text' ? getTextContent(elements) : serializeElements(editor, elements); + }); + }; + if (e.selection === true) { + const cells = getCellsFromFakeSelection(editor); + if (cells.length >= 1) { + multiCellContext(cells); + } + } + }); + editor.on('BeforeSetContent', e => { + if (e.selection === true && e.paste === true) { + const selectedCells = getCellsFromSelection(editor); + head(selectedCells).each(cell => { + table(cell).each(table => { + const elements = filter$2(fromHtml(e.content), content => { + return name(content) !== 'meta'; + }); + const isTable = isTag('table'); + if (shouldMergeContentOnPaste(editor) && elements.length === 1 && isTable(elements[0])) { + e.preventDefault(); + const doc = SugarElement.fromDom(editor.getDoc()); + const generators = paste$1(doc); + const targets = paste(cell, elements[0], generators); + actions.pasteCells(table, targets).each(() => { + editor.focus(); + }); + } + }); + }); + } + }); + }; + + const point = (element, offset) => ({ + element, + offset + }); + + const scan$1 = (universe, element, direction) => { + if (universe.property().isText(element) && universe.property().getText(element).trim().length === 0 || universe.property().isComment(element)) { + return direction(element).bind(elem => { + return scan$1(universe, elem, direction).orThunk(() => { + return Optional.some(elem); + }); + }); + } else { + return Optional.none(); + } + }; + const toEnd = (universe, element) => { + if (universe.property().isText(element)) { + return universe.property().getText(element).length; + } + const children = universe.property().children(element); + return children.length; + }; + const freefallRtl$2 = (universe, element) => { + const candidate = scan$1(universe, element, universe.query().prevSibling).getOr(element); + if (universe.property().isText(candidate)) { + return point(candidate, toEnd(universe, candidate)); + } + const children = universe.property().children(candidate); + return children.length > 0 ? freefallRtl$2(universe, children[children.length - 1]) : point(candidate, toEnd(universe, candidate)); + }; + + const freefallRtl$1 = freefallRtl$2; + + const universe$2 = DomUniverse(); + const freefallRtl = element => { + return freefallRtl$1(universe$2, element); + }; + + const halve = (main, other) => { + if (!hasColspan(main)) { + const width = getGenericWidth(main); + width.each(w => { + const newWidth = w.value / 2; + setGenericWidth(main, newWidth, w.unit); + setGenericWidth(other, newWidth, w.unit); + }); + } + }; + + const zero = array => map$1(array, constant(0)); + const surround = (sizes, startIndex, endIndex, results, f) => f(sizes.slice(0, startIndex)).concat(results).concat(f(sizes.slice(endIndex))); + const clampDeltaHelper = predicate => (sizes, index, delta, minCellSize) => { + if (!predicate(delta)) { + return delta; + } else { + const newSize = Math.max(minCellSize, sizes[index] - Math.abs(delta)); + const diff = Math.abs(newSize - sizes[index]); + return delta >= 0 ? diff : -diff; + } + }; + const clampNegativeDelta = clampDeltaHelper(delta => delta < 0); + const clampDelta = clampDeltaHelper(always); + const resizeTable = () => { + const calcFixedDeltas = (sizes, index, next, delta, minCellSize) => { + const clampedDelta = clampNegativeDelta(sizes, index, delta, minCellSize); + return surround(sizes, index, next + 1, [ + clampedDelta, + 0 + ], zero); + }; + const calcRelativeDeltas = (sizes, index, delta, minCellSize) => { + const ratio = (100 + delta) / 100; + const newThis = Math.max(minCellSize, (sizes[index] + delta) / ratio); + return map$1(sizes, (size, idx) => { + const newSize = idx === index ? newThis : size / ratio; + return newSize - size; + }); + }; + const calcLeftEdgeDeltas = (sizes, index, next, delta, minCellSize, isRelative) => { + if (isRelative) { + return calcRelativeDeltas(sizes, index, delta, minCellSize); + } else { + return calcFixedDeltas(sizes, index, next, delta, minCellSize); + } + }; + const calcMiddleDeltas = (sizes, _prev, index, next, delta, minCellSize, isRelative) => calcLeftEdgeDeltas(sizes, index, next, delta, minCellSize, isRelative); + const resizeTable = (resizer, delta) => resizer(delta); + const calcRightEdgeDeltas = (sizes, _prev, index, delta, minCellSize, isRelative) => { + if (isRelative) { + return calcRelativeDeltas(sizes, index, delta, minCellSize); + } else { + const clampedDelta = clampNegativeDelta(sizes, index, delta, minCellSize); + return zero(sizes.slice(0, index)).concat([clampedDelta]); + } + }; + const calcRedestributedWidths = (sizes, totalWidth, pixelDelta, isRelative) => { + if (isRelative) { + const tableWidth = totalWidth + pixelDelta; + const ratio = tableWidth / totalWidth; + const newSizes = map$1(sizes, size => size / ratio); + return { + delta: ratio * 100 - 100, + newSizes + }; + } else { + return { + delta: pixelDelta, + newSizes: sizes + }; + } + }; + return { + resizeTable, + clampTableDelta: clampNegativeDelta, + calcLeftEdgeDeltas, + calcMiddleDeltas, + calcRightEdgeDeltas, + calcRedestributedWidths + }; + }; + const preserveTable = () => { + const calcLeftEdgeDeltas = (sizes, index, next, delta, minCellSize) => { + const idx = delta >= 0 ? next : index; + const clampedDelta = clampDelta(sizes, idx, delta, minCellSize); + return surround(sizes, index, next + 1, [ + clampedDelta, + -clampedDelta + ], zero); + }; + const calcMiddleDeltas = (sizes, _prev, index, next, delta, minCellSize) => calcLeftEdgeDeltas(sizes, index, next, delta, minCellSize); + const resizeTable = (resizer, delta, isLastColumn) => { + if (isLastColumn) { + resizer(delta); + } + }; + const calcRightEdgeDeltas = (sizes, _prev, _index, delta, _minCellSize, isRelative) => { + if (isRelative) { + return zero(sizes); + } else { + const diff = delta / sizes.length; + return map$1(sizes, constant(diff)); + } + }; + const clampTableDelta = (sizes, index, delta, minCellSize, isLastColumn) => { + if (isLastColumn) { + if (delta >= 0) { + return delta; + } else { + const maxDelta = foldl(sizes, (a, b) => a + b - minCellSize, 0); + return Math.max(-maxDelta, delta); + } + } else { + return clampNegativeDelta(sizes, index, delta, minCellSize); + } + }; + const calcRedestributedWidths = (sizes, _totalWidth, _pixelDelta, _isRelative) => ({ + delta: 0, + newSizes: sizes + }); + return { + resizeTable, + clampTableDelta, + calcLeftEdgeDeltas, + calcMiddleDeltas, + calcRightEdgeDeltas, + calcRedestributedWidths + }; + }; + + const getGridSize = table => { + const warehouse = Warehouse.fromTable(table); + return warehouse.grid; + }; + + const isHeaderCell = isTag('th'); + const isHeaderCells = cells => forall(cells, cell => isHeaderCell(cell.element)); + const getRowHeaderType = (isHeaderRow, isHeaderCells) => { + if (isHeaderRow && isHeaderCells) { + return 'sectionCells'; + } else if (isHeaderRow) { + return 'section'; + } else { + return 'cells'; + } + }; + const getRowType = row => { + const isHeaderRow = row.section === 'thead'; + const isHeaderCells = is(findCommonCellType(row.cells), 'th'); + if (row.section === 'tfoot') { + return { type: 'footer' }; + } else if (isHeaderRow || isHeaderCells) { + return { + type: 'header', + subType: getRowHeaderType(isHeaderRow, isHeaderCells) + }; + } else { + return { type: 'body' }; + } + }; + const findCommonCellType = cells => { + const headerCells = filter$2(cells, cell => isHeaderCell(cell.element)); + if (headerCells.length === 0) { + return Optional.some('td'); + } else if (headerCells.length === cells.length) { + return Optional.some('th'); + } else { + return Optional.none(); + } + }; + const findCommonRowType = rows => { + const rowTypes = map$1(rows, row => getRowType(row).type); + const hasHeader = contains$2(rowTypes, 'header'); + const hasFooter = contains$2(rowTypes, 'footer'); + if (!hasHeader && !hasFooter) { + return Optional.some('body'); + } else { + const hasBody = contains$2(rowTypes, 'body'); + if (hasHeader && !hasBody && !hasFooter) { + return Optional.some('header'); + } else if (!hasHeader && !hasBody && hasFooter) { + return Optional.some('footer'); + } else { + return Optional.none(); + } + } + }; + const findTableRowHeaderType = warehouse => findMap(warehouse.all, row => { + const rowType = getRowType(row); + return rowType.type === 'header' ? Optional.from(rowType.subType) : Optional.none(); + }); + + const transformCell = (cell, comparator, substitution) => elementnew(substitution(cell.element, comparator), true, cell.isLocked); + const transformRow = (row, section) => row.section !== section ? rowcells(row.element, row.cells, section, row.isNew) : row; + const section = () => ({ + transformRow, + transformCell: (cell, comparator, substitution) => { + const newCell = substitution(cell.element, comparator); + const fixedCell = name(newCell) !== 'td' ? mutate$1(newCell, 'td') : newCell; + return elementnew(fixedCell, cell.isNew, cell.isLocked); + } + }); + const sectionCells = () => ({ + transformRow, + transformCell + }); + const cells = () => ({ + transformRow: (row, section) => { + const newSection = section === 'thead' ? 'tbody' : section; + return transformRow(row, newSection); + }, + transformCell + }); + const fallback = () => ({ + transformRow: identity, + transformCell + }); + const getTableSectionType = (table, fallback) => { + const warehouse = Warehouse.fromTable(table); + const type = findTableRowHeaderType(warehouse).getOr(fallback); + switch (type) { + case 'section': + return section(); + case 'sectionCells': + return sectionCells(); + case 'cells': + return cells(); + } + }; + const TableSection = { + getTableSectionType, + section, + sectionCells, + cells, + fallback + }; + + const setIfNot = (element, property, value, ignore) => { + if (value === ignore) { + remove$7(element, property); + } else { + set$2(element, property, value); + } + }; + const insert$1 = (table, selector, element) => { + last$2(children(table, selector)).fold(() => prepend(table, element), child => after$5(child, element)); + }; + const generateSection = (table, sectionName) => { + const section = child(table, sectionName).getOrThunk(() => { + const newSection = SugarElement.fromTag(sectionName, owner(table).dom); + if (sectionName === 'thead') { + insert$1(table, 'caption,colgroup', newSection); + } else if (sectionName === 'colgroup') { + insert$1(table, 'caption', newSection); + } else { + append$1(table, newSection); + } + return newSection; + }); + empty(section); + return section; + }; + const render$1 = (table, grid) => { + const newRows = []; + const newCells = []; + const syncRows = gridSection => map$1(gridSection, row => { + if (row.isNew) { + newRows.push(row.element); + } + const tr = row.element; + empty(tr); + each$2(row.cells, cell => { + if (cell.isNew) { + newCells.push(cell.element); + } + setIfNot(cell.element, 'colspan', cell.colspan, 1); + setIfNot(cell.element, 'rowspan', cell.rowspan, 1); + append$1(tr, cell.element); + }); + return tr; + }); + const syncColGroup = gridSection => bind$2(gridSection, colGroup => map$1(colGroup.cells, col => { + setIfNot(col.element, 'span', col.colspan, 1); + return col.element; + })); + const renderSection = (gridSection, sectionName) => { + const section = generateSection(table, sectionName); + const sync = sectionName === 'colgroup' ? syncColGroup : syncRows; + const sectionElems = sync(gridSection); + append(section, sectionElems); + }; + const removeSection = sectionName => { + child(table, sectionName).each(remove$6); + }; + const renderOrRemoveSection = (gridSection, sectionName) => { + if (gridSection.length > 0) { + renderSection(gridSection, sectionName); + } else { + removeSection(sectionName); + } + }; + const headSection = []; + const bodySection = []; + const footSection = []; + const columnGroupsSection = []; + each$2(grid, row => { + switch (row.section) { + case 'thead': + headSection.push(row); + break; + case 'tbody': + bodySection.push(row); + break; + case 'tfoot': + footSection.push(row); + break; + case 'colgroup': + columnGroupsSection.push(row); + break; + } + }); + renderOrRemoveSection(columnGroupsSection, 'colgroup'); + renderOrRemoveSection(headSection, 'thead'); + renderOrRemoveSection(bodySection, 'tbody'); + renderOrRemoveSection(footSection, 'tfoot'); + return { + newRows, + newCells + }; + }; + const copy = grid => map$1(grid, row => { + const tr = shallow(row.element); + each$2(row.cells, cell => { + const clonedCell = deep(cell.element); + setIfNot(clonedCell, 'colspan', cell.colspan, 1); + setIfNot(clonedCell, 'rowspan', cell.rowspan, 1); + append$1(tr, clonedCell); + }); + return tr; + }); + + const getColumn = (grid, index) => { + return map$1(grid, row => { + return getCell(row, index); + }); + }; + const getRow = (grid, index) => { + return grid[index]; + }; + const findDiff = (xs, comp) => { + if (xs.length === 0) { + return 0; + } + const first = xs[0]; + const index = findIndex(xs, x => { + return !comp(first.element, x.element); + }); + return index.getOr(xs.length); + }; + const subgrid = (grid, row, column, comparator) => { + const gridRow = getRow(grid, row); + const isColRow = gridRow.section === 'colgroup'; + const colspan = findDiff(gridRow.cells.slice(column), comparator); + const rowspan = isColRow ? 1 : findDiff(getColumn(grid.slice(row), column), comparator); + return { + colspan, + rowspan + }; + }; + + const toDetails = (grid, comparator) => { + const seen = map$1(grid, row => map$1(row.cells, never)); + const updateSeen = (rowIndex, columnIndex, rowspan, colspan) => { + for (let row = rowIndex; row < rowIndex + rowspan; row++) { + for (let column = columnIndex; column < columnIndex + colspan; column++) { + seen[row][column] = true; + } + } + }; + return map$1(grid, (row, rowIndex) => { + const details = bind$2(row.cells, (cell, columnIndex) => { + if (seen[rowIndex][columnIndex] === false) { + const result = subgrid(grid, rowIndex, columnIndex, comparator); + updateSeen(rowIndex, columnIndex, result.rowspan, result.colspan); + return [detailnew(cell.element, result.rowspan, result.colspan, cell.isNew)]; + } else { + return []; + } + }); + return rowdetailnew(row.element, details, row.section, row.isNew); + }); + }; + const toGrid = (warehouse, generators, isNew) => { + const grid = []; + each$2(warehouse.colgroups, colgroup => { + const colgroupCols = []; + for (let columnIndex = 0; columnIndex < warehouse.grid.columns; columnIndex++) { + const element = Warehouse.getColumnAt(warehouse, columnIndex).map(column => elementnew(column.element, isNew, false)).getOrThunk(() => elementnew(generators.colGap(), true, false)); + colgroupCols.push(element); + } + grid.push(rowcells(colgroup.element, colgroupCols, 'colgroup', isNew)); + }); + for (let rowIndex = 0; rowIndex < warehouse.grid.rows; rowIndex++) { + const rowCells = []; + for (let columnIndex = 0; columnIndex < warehouse.grid.columns; columnIndex++) { + const element = Warehouse.getAt(warehouse, rowIndex, columnIndex).map(item => elementnew(item.element, isNew, item.isLocked)).getOrThunk(() => elementnew(generators.gap(), true, false)); + rowCells.push(element); + } + const rowDetail = warehouse.all[rowIndex]; + const row = rowcells(rowDetail.element, rowCells, rowDetail.section, isNew); + grid.push(row); + } + return grid; + }; + + const fromWarehouse = (warehouse, generators) => toGrid(warehouse, generators, false); + const toDetailList = grid => toDetails(grid, eq$1); + const findInWarehouse = (warehouse, element) => findMap(warehouse.all, r => find$1(r.cells, e => eq$1(element, e.element))); + const extractCells = (warehouse, target, predicate) => { + const details = map$1(target.selection, cell$1 => { + return cell(cell$1).bind(lc => findInWarehouse(warehouse, lc)).filter(predicate); + }); + const cells = cat(details); + return someIf(cells.length > 0, cells); + }; + const run = (operation, extract, adjustment, postAction, genWrappers) => (table, target, generators, behaviours) => { + const warehouse = Warehouse.fromTable(table); + const tableSection = Optional.from(behaviours === null || behaviours === void 0 ? void 0 : behaviours.section).getOrThunk(TableSection.fallback); + const output = extract(warehouse, target).map(info => { + const model = fromWarehouse(warehouse, generators); + const result = operation(model, info, eq$1, genWrappers(generators), tableSection); + const lockedColumns = getLockedColumnsFromGrid(result.grid); + const grid = toDetailList(result.grid); + return { + info, + grid, + cursor: result.cursor, + lockedColumns + }; + }); + return output.bind(out => { + const newElements = render$1(table, out.grid); + const tableSizing = Optional.from(behaviours === null || behaviours === void 0 ? void 0 : behaviours.sizing).getOrThunk(() => TableSize.getTableSize(table)); + const resizing = Optional.from(behaviours === null || behaviours === void 0 ? void 0 : behaviours.resize).getOrThunk(preserveTable); + adjustment(table, out.grid, out.info, { + sizing: tableSizing, + resize: resizing, + section: tableSection + }); + postAction(table); + remove$7(table, LOCKED_COL_ATTR); + if (out.lockedColumns.length > 0) { + set$2(table, LOCKED_COL_ATTR, out.lockedColumns.join(',')); + } + return Optional.some({ + cursor: out.cursor, + newRows: newElements.newRows, + newCells: newElements.newCells + }); + }); + }; + const onPaste = (warehouse, target) => cell(target.element).bind(cell => findInWarehouse(warehouse, cell).map(details => { + const value = { + ...details, + generators: target.generators, + clipboard: target.clipboard + }; + return value; + })); + const onPasteByEditor = (warehouse, target) => extractCells(warehouse, target, always).map(cells => ({ + cells, + generators: target.generators, + clipboard: target.clipboard + })); + const onMergable = (_warehouse, target) => target.mergable; + const onUnmergable = (_warehouse, target) => target.unmergable; + const onCells = (warehouse, target) => extractCells(warehouse, target, always); + const onUnlockedCells = (warehouse, target) => extractCells(warehouse, target, detail => !detail.isLocked); + const isUnlockedTableCell = (warehouse, cell) => findInWarehouse(warehouse, cell).exists(detail => !detail.isLocked); + const allUnlocked = (warehouse, cells) => forall(cells, cell => isUnlockedTableCell(warehouse, cell)); + const onUnlockedMergable = (warehouse, target) => onMergable(warehouse, target).filter(mergeable => allUnlocked(warehouse, mergeable.cells)); + const onUnlockedUnmergable = (warehouse, target) => onUnmergable(warehouse, target).filter(cells => allUnlocked(warehouse, cells)); + + const merge$2 = (grid, bounds, comparator, substitution) => { + const rows = extractGridDetails(grid).rows; + if (rows.length === 0) { + return grid; + } + for (let i = bounds.startRow; i <= bounds.finishRow; i++) { + for (let j = bounds.startCol; j <= bounds.finishCol; j++) { + const row = rows[i]; + const isLocked = getCell(row, j).isLocked; + mutateCell(row, j, elementnew(substitution(), false, isLocked)); + } + } + return grid; + }; + const unmerge = (grid, target, comparator, substitution) => { + const rows = extractGridDetails(grid).rows; + let first = true; + for (let i = 0; i < rows.length; i++) { + for (let j = 0; j < cellLength(rows[0]); j++) { + const row = rows[i]; + const currentCell = getCell(row, j); + const currentCellElm = currentCell.element; + const isToReplace = comparator(currentCellElm, target); + if (isToReplace && !first) { + mutateCell(row, j, elementnew(substitution(), true, currentCell.isLocked)); + } else if (isToReplace) { + first = false; + } + } + } + return grid; + }; + const uniqueCells = (row, comparator) => { + return foldl(row, (rest, cell) => { + return exists(rest, currentCell => { + return comparator(currentCell.element, cell.element); + }) ? rest : rest.concat([cell]); + }, []); + }; + const splitCols = (grid, index, comparator, substitution) => { + if (index > 0 && index < grid[0].cells.length) { + each$2(grid, row => { + const prevCell = row.cells[index - 1]; + let offset = 0; + const substitute = substitution(); + while (row.cells.length > index + offset && comparator(prevCell.element, row.cells[index + offset].element)) { + mutateCell(row, index + offset, elementnew(substitute, true, row.cells[index + offset].isLocked)); + offset++; + } + }); + } + return grid; + }; + const splitRows = (grid, index, comparator, substitution) => { + const rows = extractGridDetails(grid).rows; + if (index > 0 && index < rows.length) { + const rowPrevCells = rows[index - 1].cells; + const cells = uniqueCells(rowPrevCells, comparator); + each$2(cells, cell => { + let replacement = Optional.none(); + for (let i = index; i < rows.length; i++) { + for (let j = 0; j < cellLength(rows[0]); j++) { + const row = rows[i]; + const current = getCell(row, j); + const isToReplace = comparator(current.element, cell.element); + if (isToReplace) { + if (replacement.isNone()) { + replacement = Optional.some(substitution()); + } + replacement.each(sub => { + mutateCell(row, j, elementnew(sub, true, current.isLocked)); + }); + } + } + } + }); + } + return grid; + }; + + const value$1 = value => { + const applyHelper = fn => fn(value); + const constHelper = constant(value); + const outputHelper = () => output; + const output = { + tag: true, + inner: value, + fold: (_onError, onValue) => onValue(value), + isValue: always, + isError: never, + map: mapper => Result.value(mapper(value)), + mapError: outputHelper, + bind: applyHelper, + exists: applyHelper, + forall: applyHelper, + getOr: constHelper, + or: outputHelper, + getOrThunk: constHelper, + orThunk: outputHelper, + getOrDie: constHelper, + each: fn => { + fn(value); + }, + toOptional: () => Optional.some(value) + }; + return output; + }; + const error = error => { + const outputHelper = () => output; + const output = { + tag: false, + inner: error, + fold: (onError, _onValue) => onError(error), + isValue: never, + isError: always, + map: outputHelper, + mapError: mapper => Result.error(mapper(error)), + bind: outputHelper, + exists: never, + forall: always, + getOr: identity, + or: identity, + getOrThunk: apply, + orThunk: apply, + getOrDie: die(String(error)), + each: noop, + toOptional: Optional.none + }; + return output; + }; + const fromOption = (optional, err) => optional.fold(() => error(err), value$1); + const Result = { + value: value$1, + error, + fromOption + }; + + const measure = (startAddress, gridA, gridB) => { + if (startAddress.row >= gridA.length || startAddress.column > cellLength(gridA[0])) { + return Result.error('invalid start address out of table bounds, row: ' + startAddress.row + ', column: ' + startAddress.column); + } + const rowRemainder = gridA.slice(startAddress.row); + const colRemainder = rowRemainder[0].cells.slice(startAddress.column); + const colRequired = cellLength(gridB[0]); + const rowRequired = gridB.length; + return Result.value({ + rowDelta: rowRemainder.length - rowRequired, + colDelta: colRemainder.length - colRequired + }); + }; + const measureWidth = (gridA, gridB) => { + const colLengthA = cellLength(gridA[0]); + const colLengthB = cellLength(gridB[0]); + return { + rowDelta: 0, + colDelta: colLengthA - colLengthB + }; + }; + const measureHeight = (gridA, gridB) => { + const rowLengthA = gridA.length; + const rowLengthB = gridB.length; + return { + rowDelta: rowLengthA - rowLengthB, + colDelta: 0 + }; + }; + const generateElements = (amount, row, generators, isLocked) => { + const generator = row.section === 'colgroup' ? generators.col : generators.cell; + return range$1(amount, idx => elementnew(generator(), true, isLocked(idx))); + }; + const rowFill = (grid, amount, generators, lockedColumns) => { + const exampleRow = grid[grid.length - 1]; + return grid.concat(range$1(amount, () => { + const generator = exampleRow.section === 'colgroup' ? generators.colgroup : generators.row; + const row = clone(exampleRow, generator, identity); + const elements = generateElements(row.cells.length, row, generators, idx => has$1(lockedColumns, idx.toString())); + return setCells(row, elements); + })); + }; + const colFill = (grid, amount, generators, startIndex) => map$1(grid, row => { + const newChildren = generateElements(amount, row, generators, never); + return addCells(row, startIndex, newChildren); + }); + const lockedColFill = (grid, generators, lockedColumns) => map$1(grid, row => { + return foldl(lockedColumns, (acc, colNum) => { + const newChild = generateElements(1, row, generators, always)[0]; + return addCell(acc, colNum, newChild); + }, row); + }); + const tailor = (gridA, delta, generators) => { + const fillCols = delta.colDelta < 0 ? colFill : identity; + const fillRows = delta.rowDelta < 0 ? rowFill : identity; + const lockedColumns = getLockedColumnsFromGrid(gridA); + const gridWidth = cellLength(gridA[0]); + const isLastColLocked = exists(lockedColumns, locked => locked === gridWidth - 1); + const modifiedCols = fillCols(gridA, Math.abs(delta.colDelta), generators, isLastColLocked ? gridWidth - 1 : gridWidth); + const newLockedColumns = getLockedColumnsFromGrid(modifiedCols); + return fillRows(modifiedCols, Math.abs(delta.rowDelta), generators, mapToObject(newLockedColumns, always)); + }; + + const isSpanning = (grid, row, col, comparator) => { + const candidate = getCell(grid[row], col); + const matching = curry(comparator, candidate.element); + const currentRow = grid[row]; + return grid.length > 1 && cellLength(currentRow) > 1 && (col > 0 && matching(getCellElement(currentRow, col - 1)) || col < currentRow.cells.length - 1 && matching(getCellElement(currentRow, col + 1)) || row > 0 && matching(getCellElement(grid[row - 1], col)) || row < grid.length - 1 && matching(getCellElement(grid[row + 1], col))); + }; + const mergeTables = (startAddress, gridA, gridBRows, generator, comparator, lockedColumns) => { + const startRow = startAddress.row; + const startCol = startAddress.column; + const mergeHeight = gridBRows.length; + const mergeWidth = cellLength(gridBRows[0]); + const endRow = startRow + mergeHeight; + const endCol = startCol + mergeWidth + lockedColumns.length; + const lockedColumnObj = mapToObject(lockedColumns, always); + for (let r = startRow; r < endRow; r++) { + let skippedCol = 0; + for (let c = startCol; c < endCol; c++) { + if (lockedColumnObj[c]) { + skippedCol++; + continue; + } + if (isSpanning(gridA, r, c, comparator)) { + unmerge(gridA, getCellElement(gridA[r], c), comparator, generator.cell); + } + const gridBColIndex = c - startCol - skippedCol; + const newCell = getCell(gridBRows[r - startRow], gridBColIndex); + const newCellElm = newCell.element; + const replacement = generator.replace(newCellElm); + mutateCell(gridA[r], c, elementnew(replacement, true, newCell.isLocked)); + } + } + return gridA; + }; + const getValidStartAddress = (currentStartAddress, grid, lockedColumns) => { + const gridColLength = cellLength(grid[0]); + const adjustedRowAddress = extractGridDetails(grid).cols.length + currentStartAddress.row; + const possibleColAddresses = range$1(gridColLength - currentStartAddress.column, num => num + currentStartAddress.column); + const validColAddress = find$1(possibleColAddresses, num => forall(lockedColumns, col => col !== num)).getOr(gridColLength - 1); + return { + row: adjustedRowAddress, + column: validColAddress + }; + }; + const getLockedColumnsWithinBounds = (startAddress, rows, lockedColumns) => filter$2(lockedColumns, colNum => colNum >= startAddress.column && colNum <= cellLength(rows[0]) + startAddress.column); + const merge$1 = (startAddress, gridA, gridB, generator, comparator) => { + const lockedColumns = getLockedColumnsFromGrid(gridA); + const validStartAddress = getValidStartAddress(startAddress, gridA, lockedColumns); + const gridBRows = extractGridDetails(gridB).rows; + const lockedColumnsWithinBounds = getLockedColumnsWithinBounds(validStartAddress, gridBRows, lockedColumns); + const result = measure(validStartAddress, gridA, gridBRows); + return result.map(diff => { + const delta = { + ...diff, + colDelta: diff.colDelta - lockedColumnsWithinBounds.length + }; + const fittedGrid = tailor(gridA, delta, generator); + const newLockedColumns = getLockedColumnsFromGrid(fittedGrid); + const newLockedColumnsWithinBounds = getLockedColumnsWithinBounds(validStartAddress, gridBRows, newLockedColumns); + return mergeTables(validStartAddress, fittedGrid, gridBRows, generator, comparator, newLockedColumnsWithinBounds); + }); + }; + const insertCols = (index, gridA, gridB, generator, comparator) => { + splitCols(gridA, index, comparator, generator.cell); + const delta = measureHeight(gridB, gridA); + const fittedNewGrid = tailor(gridB, delta, generator); + const secondDelta = measureHeight(gridA, fittedNewGrid); + const fittedOldGrid = tailor(gridA, secondDelta, generator); + return map$1(fittedOldGrid, (gridRow, i) => { + return addCells(gridRow, index, fittedNewGrid[i].cells); + }); + }; + const insertRows = (index, gridA, gridB, generator, comparator) => { + splitRows(gridA, index, comparator, generator.cell); + const locked = getLockedColumnsFromGrid(gridA); + const diff = measureWidth(gridA, gridB); + const delta = { + ...diff, + colDelta: diff.colDelta - locked.length + }; + const fittedOldGrid = tailor(gridA, delta, generator); + const { + cols: oldCols, + rows: oldRows + } = extractGridDetails(fittedOldGrid); + const newLocked = getLockedColumnsFromGrid(fittedOldGrid); + const secondDiff = measureWidth(gridB, gridA); + const secondDelta = { + ...secondDiff, + colDelta: secondDiff.colDelta + newLocked.length + }; + const fittedGridB = lockedColFill(gridB, generator, newLocked); + const fittedNewGrid = tailor(fittedGridB, secondDelta, generator); + return [ + ...oldCols, + ...oldRows.slice(0, index), + ...fittedNewGrid, + ...oldRows.slice(index, oldRows.length) + ]; + }; + + const cloneRow = (row, cloneCell, comparator, substitution) => clone(row, elem => substitution(elem, comparator), cloneCell); + const insertRowAt = (grid, index, example, comparator, substitution) => { + const {rows, cols} = extractGridDetails(grid); + const before = rows.slice(0, index); + const after = rows.slice(index); + const newRow = cloneRow(rows[example], (ex, c) => { + const withinSpan = index > 0 && index < rows.length && comparator(getCellElement(rows[index - 1], c), getCellElement(rows[index], c)); + const ret = withinSpan ? getCell(rows[index], c) : elementnew(substitution(ex.element, comparator), true, ex.isLocked); + return ret; + }, comparator, substitution); + return [ + ...cols, + ...before, + newRow, + ...after + ]; + }; + const getElementFor = (row, column, section, withinSpan, example, comparator, substitution) => { + if (section === 'colgroup' || !withinSpan) { + const cell = getCell(row, example); + return elementnew(substitution(cell.element, comparator), true, false); + } else { + return getCell(row, column); + } + }; + const insertColumnAt = (grid, index, example, comparator, substitution) => map$1(grid, row => { + const withinSpan = index > 0 && index < cellLength(row) && comparator(getCellElement(row, index - 1), getCellElement(row, index)); + const sub = getElementFor(row, index, row.section, withinSpan, example, comparator, substitution); + return addCell(row, index, sub); + }); + const deleteColumnsAt = (grid, columns) => bind$2(grid, row => { + const existingCells = row.cells; + const cells = foldr(columns, (acc, column) => column >= 0 && column < acc.length ? acc.slice(0, column).concat(acc.slice(column + 1)) : acc, existingCells); + return cells.length > 0 ? [rowcells(row.element, cells, row.section, row.isNew)] : []; + }); + const deleteRowsAt = (grid, start, finish) => { + const {rows, cols} = extractGridDetails(grid); + return [ + ...cols, + ...rows.slice(0, start), + ...rows.slice(finish + 1) + ]; + }; + + const notInStartRow = (grid, rowIndex, colIndex, comparator) => getCellElement(grid[rowIndex], colIndex) !== undefined && (rowIndex > 0 && comparator(getCellElement(grid[rowIndex - 1], colIndex), getCellElement(grid[rowIndex], colIndex))); + const notInStartColumn = (row, index, comparator) => index > 0 && comparator(getCellElement(row, index - 1), getCellElement(row, index)); + const isDuplicatedCell = (grid, rowIndex, colIndex, comparator) => notInStartRow(grid, rowIndex, colIndex, comparator) || notInStartColumn(grid[rowIndex], colIndex, comparator); + const rowReplacerPredicate = (targetRow, columnHeaders) => { + const entireTableIsHeader = forall(columnHeaders, identity) && isHeaderCells(targetRow.cells); + return entireTableIsHeader ? always : (cell, _rowIndex, colIndex) => { + const type = name(cell.element); + return !(type === 'th' && columnHeaders[colIndex]); + }; + }; + const columnReplacePredicate = (targetColumn, rowHeaders) => { + const entireTableIsHeader = forall(rowHeaders, identity) && isHeaderCells(targetColumn); + return entireTableIsHeader ? always : (cell, rowIndex, _colIndex) => { + const type = name(cell.element); + return !(type === 'th' && rowHeaders[rowIndex]); + }; + }; + const determineScope = (applyScope, cell, newScope, isInHeader) => { + const hasSpan = scope => scope === 'row' ? hasRowspan(cell) : hasColspan(cell); + const getScope = scope => hasSpan(scope) ? `${ scope }group` : scope; + if (applyScope) { + return isHeaderCell(cell) ? getScope(newScope) : null; + } else if (isInHeader && isHeaderCell(cell)) { + const oppositeScope = newScope === 'row' ? 'col' : 'row'; + return getScope(oppositeScope); + } else { + return null; + } + }; + const rowScopeGenerator = (applyScope, columnHeaders) => (cell, rowIndex, columnIndex) => Optional.some(determineScope(applyScope, cell.element, 'col', columnHeaders[columnIndex])); + const columnScopeGenerator = (applyScope, rowHeaders) => (cell, rowIndex) => Optional.some(determineScope(applyScope, cell.element, 'row', rowHeaders[rowIndex])); + const replace = (cell, comparator, substitute) => elementnew(substitute(cell.element, comparator), true, cell.isLocked); + const replaceIn = (grid, targets, comparator, substitute, replacer, genScope, shouldReplace) => { + const isTarget = cell => { + return exists(targets, target => { + return comparator(cell.element, target.element); + }); + }; + return map$1(grid, (row, rowIndex) => { + return mapCells(row, (cell, colIndex) => { + if (isTarget(cell)) { + const newCell = shouldReplace(cell, rowIndex, colIndex) ? replacer(cell, comparator, substitute) : cell; + genScope(newCell, rowIndex, colIndex).each(scope => { + setOptions(newCell.element, { scope: Optional.from(scope) }); + }); + return newCell; + } else { + return cell; + } + }); + }); + }; + const getColumnCells = (rows, columnIndex, comparator) => bind$2(rows, (row, i) => { + return isDuplicatedCell(rows, i, columnIndex, comparator) ? [] : [getCell(row, columnIndex)]; + }); + const getRowCells = (rows, rowIndex, comparator) => { + const targetRow = rows[rowIndex]; + return bind$2(targetRow.cells, (item, i) => { + return isDuplicatedCell(rows, rowIndex, i, comparator) ? [] : [item]; + }); + }; + const replaceColumns = (grid, indexes, applyScope, comparator, substitution) => { + const rows = extractGridDetails(grid).rows; + const targets = bind$2(indexes, index => getColumnCells(rows, index, comparator)); + const rowHeaders = map$1(rows, row => isHeaderCells(row.cells)); + const shouldReplaceCell = columnReplacePredicate(targets, rowHeaders); + const scopeGenerator = columnScopeGenerator(applyScope, rowHeaders); + return replaceIn(grid, targets, comparator, substitution, replace, scopeGenerator, shouldReplaceCell); + }; + const replaceRows = (grid, indexes, section, applyScope, comparator, substitution, tableSection) => { + const {cols, rows} = extractGridDetails(grid); + const targetRow = rows[indexes[0]]; + const targets = bind$2(indexes, index => getRowCells(rows, index, comparator)); + const columnHeaders = map$1(targetRow.cells, (_cell, index) => isHeaderCells(getColumnCells(rows, index, comparator))); + const newRows = [...rows]; + each$2(indexes, index => { + newRows[index] = tableSection.transformRow(rows[index], section); + }); + const newGrid = [ + ...cols, + ...newRows + ]; + const shouldReplaceCell = rowReplacerPredicate(targetRow, columnHeaders); + const scopeGenerator = rowScopeGenerator(applyScope, columnHeaders); + return replaceIn(newGrid, targets, comparator, substitution, tableSection.transformCell, scopeGenerator, shouldReplaceCell); + }; + const replaceCells = (grid, details, comparator, substitution) => { + const rows = extractGridDetails(grid).rows; + const targetCells = map$1(details, detail => getCell(rows[detail.row], detail.column)); + return replaceIn(grid, targetCells, comparator, substitution, replace, Optional.none, always); + }; + + const generate = cases => { + if (!isArray(cases)) { + throw new Error('cases must be an array'); + } + if (cases.length === 0) { + throw new Error('there must be at least one case'); + } + const constructors = []; + const adt = {}; + each$2(cases, (acase, count) => { + const keys$1 = keys(acase); + if (keys$1.length !== 1) { + throw new Error('one and only one name per case'); + } + const key = keys$1[0]; + const value = acase[key]; + if (adt[key] !== undefined) { + throw new Error('duplicate key detected:' + key); + } else if (key === 'cata') { + throw new Error('cannot have a case named cata (sorry)'); + } else if (!isArray(value)) { + throw new Error('case arguments must be an array'); + } + constructors.push(key); + adt[key] = (...args) => { + const argLength = args.length; + if (argLength !== value.length) { + throw new Error('Wrong number of arguments to case ' + key + '. Expected ' + value.length + ' (' + value + '), got ' + argLength); + } + const match = branches => { + const branchKeys = keys(branches); + if (constructors.length !== branchKeys.length) { + throw new Error('Wrong number of arguments to match. Expected: ' + constructors.join(',') + '\nActual: ' + branchKeys.join(',')); + } + const allReqd = forall(constructors, reqKey => { + return contains$2(branchKeys, reqKey); + }); + if (!allReqd) { + throw new Error('Not all branches were specified when using match. Specified: ' + branchKeys.join(', ') + '\nRequired: ' + constructors.join(', ')); + } + return branches[key].apply(null, args); + }; + return { + fold: (...foldArgs) => { + if (foldArgs.length !== cases.length) { + throw new Error('Wrong number of arguments to fold. Expected ' + cases.length + ', got ' + foldArgs.length); + } + const target = foldArgs[count]; + return target.apply(null, args); + }, + match, + log: label => { + console.log(label, { + constructors, + constructor: key, + params: args + }); + } + }; + }; + }); + return adt; + }; + const Adt = { generate }; + + const adt$6 = Adt.generate([ + { none: [] }, + { only: ['index'] }, + { + left: [ + 'index', + 'next' + ] + }, + { + middle: [ + 'prev', + 'index', + 'next' + ] + }, + { + right: [ + 'prev', + 'index' + ] + } + ]); + const ColumnContext = { ...adt$6 }; + + const neighbours = (input, index) => { + if (input.length === 0) { + return ColumnContext.none(); + } + if (input.length === 1) { + return ColumnContext.only(0); + } + if (index === 0) { + return ColumnContext.left(0, 1); + } + if (index === input.length - 1) { + return ColumnContext.right(index - 1, index); + } + if (index > 0 && index < input.length - 1) { + return ColumnContext.middle(index - 1, index, index + 1); + } + return ColumnContext.none(); + }; + const determine = (input, column, step, tableSize, resize) => { + const result = input.slice(0); + const context = neighbours(input, column); + const onNone = constant(map$1(result, constant(0))); + const onOnly = index => tableSize.singleColumnWidth(result[index], step); + const onLeft = (index, next) => resize.calcLeftEdgeDeltas(result, index, next, step, tableSize.minCellWidth(), tableSize.isRelative); + const onMiddle = (prev, index, next) => resize.calcMiddleDeltas(result, prev, index, next, step, tableSize.minCellWidth(), tableSize.isRelative); + const onRight = (prev, index) => resize.calcRightEdgeDeltas(result, prev, index, step, tableSize.minCellWidth(), tableSize.isRelative); + return context.fold(onNone, onOnly, onLeft, onMiddle, onRight); + }; + + const total = (start, end, measures) => { + let r = 0; + for (let i = start; i < end; i++) { + r += measures[i] !== undefined ? measures[i] : 0; + } + return r; + }; + const recalculateWidthForCells = (warehouse, widths) => { + const all = Warehouse.justCells(warehouse); + return map$1(all, cell => { + const width = total(cell.column, cell.column + cell.colspan, widths); + return { + element: cell.element, + width, + colspan: cell.colspan + }; + }); + }; + const recalculateWidthForColumns = (warehouse, widths) => { + const groups = Warehouse.justColumns(warehouse); + return map$1(groups, (column, index) => ({ + element: column.element, + width: widths[index], + colspan: column.colspan + })); + }; + const recalculateHeightForCells = (warehouse, heights) => { + const all = Warehouse.justCells(warehouse); + return map$1(all, cell => { + const height = total(cell.row, cell.row + cell.rowspan, heights); + return { + element: cell.element, + height, + rowspan: cell.rowspan + }; + }); + }; + const matchRowHeight = (warehouse, heights) => { + return map$1(warehouse.all, (row, i) => { + return { + element: row.element, + height: heights[i] + }; + }); + }; + + const sumUp = newSize => foldr(newSize, (b, a) => b + a, 0); + const recalculate = (warehouse, widths) => { + if (Warehouse.hasColumns(warehouse)) { + return recalculateWidthForColumns(warehouse, widths); + } else { + return recalculateWidthForCells(warehouse, widths); + } + }; + const recalculateAndApply = (warehouse, widths, tableSize) => { + const newSizes = recalculate(warehouse, widths); + each$2(newSizes, cell => { + tableSize.setElementWidth(cell.element, cell.width); + }); + }; + const adjustWidth = (table, delta, index, resizing, tableSize) => { + const warehouse = Warehouse.fromTable(table); + const step = tableSize.getCellDelta(delta); + const widths = tableSize.getWidths(warehouse, tableSize); + const isLastColumn = index === warehouse.grid.columns - 1; + const clampedStep = resizing.clampTableDelta(widths, index, step, tableSize.minCellWidth(), isLastColumn); + const deltas = determine(widths, index, clampedStep, tableSize, resizing); + const newWidths = map$1(deltas, (dx, i) => dx + widths[i]); + recalculateAndApply(warehouse, newWidths, tableSize); + resizing.resizeTable(tableSize.adjustTableWidth, clampedStep, isLastColumn); + }; + const adjustHeight = (table, delta, index, direction) => { + const warehouse = Warehouse.fromTable(table); + const heights = getPixelHeights(warehouse, table, direction); + const newHeights = map$1(heights, (dy, i) => index === i ? Math.max(delta + dy, minHeight()) : dy); + const newCellSizes = recalculateHeightForCells(warehouse, newHeights); + const newRowSizes = matchRowHeight(warehouse, newHeights); + each$2(newRowSizes, row => { + setHeight(row.element, row.height); + }); + each$2(newCellSizes, cell => { + setHeight(cell.element, cell.height); + }); + const total = sumUp(newHeights); + setHeight(table, total); + }; + const adjustAndRedistributeWidths$1 = (_table, list, details, tableSize, resizeBehaviour) => { + const warehouse = Warehouse.generate(list); + const sizes = tableSize.getWidths(warehouse, tableSize); + const tablePixelWidth = tableSize.pixelWidth(); + const {newSizes, delta} = resizeBehaviour.calcRedestributedWidths(sizes, tablePixelWidth, details.pixelDelta, tableSize.isRelative); + recalculateAndApply(warehouse, newSizes, tableSize); + tableSize.adjustTableWidth(delta); + }; + const adjustWidthTo = (_table, list, _info, tableSize) => { + const warehouse = Warehouse.generate(list); + const widths = tableSize.getWidths(warehouse, tableSize); + recalculateAndApply(warehouse, widths, tableSize); + }; + + const uniqueColumns = details => { + const uniqueCheck = (rest, detail) => { + const columnExists = exists(rest, currentDetail => currentDetail.column === detail.column); + return columnExists ? rest : rest.concat([detail]); + }; + return foldl(details, uniqueCheck, []).sort((detailA, detailB) => detailA.column - detailB.column); + }; + + const isCol = isTag('col'); + const isColgroup = isTag('colgroup'); + const isRow$1 = element => name(element) === 'tr' || isColgroup(element); + const elementToData = element => { + const colspan = getAttrValue(element, 'colspan', 1); + const rowspan = getAttrValue(element, 'rowspan', 1); + return { + element, + colspan, + rowspan + }; + }; + const modification = (generators, toData = elementToData) => { + const nuCell = data => isCol(data.element) ? generators.col(data) : generators.cell(data); + const nuRow = data => isColgroup(data.element) ? generators.colgroup(data) : generators.row(data); + const add = element => { + if (isRow$1(element)) { + return nuRow({ element }); + } else { + const cell = element; + const replacement = nuCell(toData(cell)); + recent = Optional.some({ + item: cell, + replacement + }); + return replacement; + } + }; + let recent = Optional.none(); + const getOrInit = (element, comparator) => { + return recent.fold(() => { + return add(element); + }, p => { + return comparator(element, p.item) ? p.replacement : add(element); + }); + }; + return { getOrInit }; + }; + const transform$1 = tag => { + return generators => { + const list = []; + const find = (element, comparator) => { + return find$1(list, x => { + return comparator(x.item, element); + }); + }; + const makeNew = element => { + const attrs = tag === 'td' ? { scope: null } : {}; + const cell = generators.replace(element, tag, attrs); + list.push({ + item: element, + sub: cell + }); + return cell; + }; + const replaceOrInit = (element, comparator) => { + if (isRow$1(element) || isCol(element)) { + return element; + } else { + const cell = element; + return find(cell, comparator).fold(() => { + return makeNew(cell); + }, p => { + return comparator(element, p.item) ? p.sub : makeNew(cell); + }); + } + }; + return { replaceOrInit }; + }; + }; + const getScopeAttribute = cell => getOpt(cell, 'scope').map(attribute => attribute.substr(0, 3)); + const merging = generators => { + const unmerge = cell => { + const scope = getScopeAttribute(cell); + scope.each(attribute => set$2(cell, 'scope', attribute)); + return () => { + const raw = generators.cell({ + element: cell, + colspan: 1, + rowspan: 1 + }); + remove$5(raw, 'width'); + remove$5(cell, 'width'); + scope.each(attribute => set$2(raw, 'scope', attribute)); + return raw; + }; + }; + const merge = cells => { + const getScopeProperty = () => { + const stringAttributes = cat(map$1(cells, getScopeAttribute)); + if (stringAttributes.length === 0) { + return Optional.none(); + } else { + const baseScope = stringAttributes[0]; + const scopes = [ + 'row', + 'col' + ]; + const isMixed = exists(stringAttributes, attribute => { + return attribute !== baseScope && contains$2(scopes, attribute); + }); + return isMixed ? Optional.none() : Optional.from(baseScope); + } + }; + remove$5(cells[0], 'width'); + getScopeProperty().fold(() => remove$7(cells[0], 'scope'), attribute => set$2(cells[0], 'scope', attribute + 'group')); + return constant(cells[0]); + }; + return { + unmerge, + merge + }; + }; + const Generators = { + modification, + transform: transform$1, + merging + }; + + const blockList = [ + 'body', + 'p', + 'div', + 'article', + 'aside', + 'figcaption', + 'figure', + 'footer', + 'header', + 'nav', + 'section', + 'ol', + 'ul', + 'table', + 'thead', + 'tfoot', + 'tbody', + 'caption', + 'tr', + 'td', + 'th', + 'h1', + 'h2', + 'h3', + 'h4', + 'h5', + 'h6', + 'blockquote', + 'pre', + 'address' + ]; + const isList$1 = (universe, item) => { + const tagName = universe.property().name(item); + return contains$2([ + 'ol', + 'ul' + ], tagName); + }; + const isBlock$1 = (universe, item) => { + const tagName = universe.property().name(item); + return contains$2(blockList, tagName); + }; + const isEmptyTag$1 = (universe, item) => { + return contains$2([ + 'br', + 'img', + 'hr', + 'input' + ], universe.property().name(item)); + }; + + const universe$1 = DomUniverse(); + const isBlock = element => { + return isBlock$1(universe$1, element); + }; + const isList = element => { + return isList$1(universe$1, element); + }; + const isEmptyTag = element => { + return isEmptyTag$1(universe$1, element); + }; + + const merge = cells => { + const isBr = isTag('br'); + const advancedBr = children => { + return forall(children, c => { + return isBr(c) || isText(c) && get$6(c).trim().length === 0; + }); + }; + const isListItem = el => { + return name(el) === 'li' || ancestor$2(el, isList).isSome(); + }; + const siblingIsBlock = el => { + return nextSibling(el).map(rightSibling => { + if (isBlock(rightSibling)) { + return true; + } + if (isEmptyTag(rightSibling)) { + return name(rightSibling) === 'img' ? false : true; + } + return false; + }).getOr(false); + }; + const markCell = cell => { + return last$1(cell).bind(rightEdge => { + const rightSiblingIsBlock = siblingIsBlock(rightEdge); + return parent(rightEdge).map(parent => { + return rightSiblingIsBlock === true || isListItem(parent) || isBr(rightEdge) || isBlock(parent) && !eq$1(cell, parent) ? [] : [SugarElement.fromTag('br')]; + }); + }).getOr([]); + }; + const markContent = () => { + const content = bind$2(cells, cell => { + const children = children$2(cell); + return advancedBr(children) ? [] : children.concat(markCell(cell)); + }); + return content.length === 0 ? [SugarElement.fromTag('br')] : content; + }; + const contents = markContent(); + empty(cells[0]); + append(cells[0], contents); + }; + + const isEditable = elem => isEditable$1(elem, true); + const prune = table => { + const cells = cells$1(table); + if (cells.length === 0) { + remove$6(table); + } + }; + const outcome = (grid, cursor) => ({ + grid, + cursor + }); + const findEditableCursorPosition = rows => findMap(rows, row => findMap(row.cells, cell => { + const elem = cell.element; + return someIf(isEditable(elem), elem); + })); + const elementFromGrid = (grid, row, column) => { + var _a, _b; + const rows = extractGridDetails(grid).rows; + return Optional.from((_b = (_a = rows[row]) === null || _a === void 0 ? void 0 : _a.cells[column]) === null || _b === void 0 ? void 0 : _b.element).filter(isEditable).orThunk(() => findEditableCursorPosition(rows)); + }; + const bundle = (grid, row, column) => { + const cursorElement = elementFromGrid(grid, row, column); + return outcome(grid, cursorElement); + }; + const uniqueRows = details => { + const rowCompilation = (rest, detail) => { + const rowExists = exists(rest, currentDetail => currentDetail.row === detail.row); + return rowExists ? rest : rest.concat([detail]); + }; + return foldl(details, rowCompilation, []).sort((detailA, detailB) => detailA.row - detailB.row); + }; + const opInsertRowsBefore = (grid, details, comparator, genWrappers) => { + const targetIndex = details[0].row; + const rows = uniqueRows(details); + const newGrid = foldr(rows, (acc, row) => { + const newG = insertRowAt(acc.grid, targetIndex, row.row + acc.delta, comparator, genWrappers.getOrInit); + return { + grid: newG, + delta: acc.delta + 1 + }; + }, { + grid, + delta: 0 + }).grid; + return bundle(newGrid, targetIndex, details[0].column); + }; + const opInsertRowsAfter = (grid, details, comparator, genWrappers) => { + const rows = uniqueRows(details); + const target = rows[rows.length - 1]; + const targetIndex = target.row + target.rowspan; + const newGrid = foldr(rows, (newG, row) => { + return insertRowAt(newG, targetIndex, row.row, comparator, genWrappers.getOrInit); + }, grid); + return bundle(newGrid, targetIndex, details[0].column); + }; + const opInsertColumnsBefore = (grid, extractDetail, comparator, genWrappers) => { + const details = extractDetail.details; + const columns = uniqueColumns(details); + const targetIndex = columns[0].column; + const newGrid = foldr(columns, (acc, col) => { + const newG = insertColumnAt(acc.grid, targetIndex, col.column + acc.delta, comparator, genWrappers.getOrInit); + return { + grid: newG, + delta: acc.delta + 1 + }; + }, { + grid, + delta: 0 + }).grid; + return bundle(newGrid, details[0].row, targetIndex); + }; + const opInsertColumnsAfter = (grid, extractDetail, comparator, genWrappers) => { + const details = extractDetail.details; + const target = details[details.length - 1]; + const targetIndex = target.column + target.colspan; + const columns = uniqueColumns(details); + const newGrid = foldr(columns, (newG, col) => { + return insertColumnAt(newG, targetIndex, col.column, comparator, genWrappers.getOrInit); + }, grid); + return bundle(newGrid, details[0].row, targetIndex); + }; + const opMakeColumnsHeader = (initialGrid, details, comparator, genWrappers) => { + const columns = uniqueColumns(details); + const columnIndexes = map$1(columns, detail => detail.column); + const newGrid = replaceColumns(initialGrid, columnIndexes, true, comparator, genWrappers.replaceOrInit); + return bundle(newGrid, details[0].row, details[0].column); + }; + const opMakeCellsHeader = (initialGrid, details, comparator, genWrappers) => { + const newGrid = replaceCells(initialGrid, details, comparator, genWrappers.replaceOrInit); + return bundle(newGrid, details[0].row, details[0].column); + }; + const opUnmakeColumnsHeader = (initialGrid, details, comparator, genWrappers) => { + const columns = uniqueColumns(details); + const columnIndexes = map$1(columns, detail => detail.column); + const newGrid = replaceColumns(initialGrid, columnIndexes, false, comparator, genWrappers.replaceOrInit); + return bundle(newGrid, details[0].row, details[0].column); + }; + const opUnmakeCellsHeader = (initialGrid, details, comparator, genWrappers) => { + const newGrid = replaceCells(initialGrid, details, comparator, genWrappers.replaceOrInit); + return bundle(newGrid, details[0].row, details[0].column); + }; + const makeRowsSection = (section, applyScope) => (initialGrid, details, comparator, genWrappers, tableSection) => { + const rows = uniqueRows(details); + const rowIndexes = map$1(rows, detail => detail.row); + const newGrid = replaceRows(initialGrid, rowIndexes, section, applyScope, comparator, genWrappers.replaceOrInit, tableSection); + return bundle(newGrid, details[0].row, details[0].column); + }; + const opMakeRowsHeader = makeRowsSection('thead', true); + const opMakeRowsBody = makeRowsSection('tbody', false); + const opMakeRowsFooter = makeRowsSection('tfoot', false); + const opEraseColumns = (grid, extractDetail, _comparator, _genWrappers) => { + const columns = uniqueColumns(extractDetail.details); + const newGrid = deleteColumnsAt(grid, map$1(columns, column => column.column)); + const maxColIndex = newGrid.length > 0 ? newGrid[0].cells.length - 1 : 0; + return bundle(newGrid, columns[0].row, Math.min(columns[0].column, maxColIndex)); + }; + const opEraseRows = (grid, details, _comparator, _genWrappers) => { + const rows = uniqueRows(details); + const newGrid = deleteRowsAt(grid, rows[0].row, rows[rows.length - 1].row); + const maxRowIndex = newGrid.length > 0 ? newGrid.length - 1 : 0; + return bundle(newGrid, Math.min(details[0].row, maxRowIndex), details[0].column); + }; + const opMergeCells = (grid, mergable, comparator, genWrappers) => { + const cells = mergable.cells; + merge(cells); + const newGrid = merge$2(grid, mergable.bounds, comparator, genWrappers.merge(cells)); + return outcome(newGrid, Optional.from(cells[0])); + }; + const opUnmergeCells = (grid, unmergable, comparator, genWrappers) => { + const unmerge$1 = (b, cell) => unmerge(b, cell, comparator, genWrappers.unmerge(cell)); + const newGrid = foldr(unmergable, unmerge$1, grid); + return outcome(newGrid, Optional.from(unmergable[0])); + }; + const opPasteCells = (grid, pasteDetails, comparator, _genWrappers) => { + const gridify = (table, generators) => { + const wh = Warehouse.fromTable(table); + return toGrid(wh, generators, true); + }; + const gridB = gridify(pasteDetails.clipboard, pasteDetails.generators); + const startAddress = address(pasteDetails.row, pasteDetails.column); + const mergedGrid = merge$1(startAddress, grid, gridB, pasteDetails.generators, comparator); + return mergedGrid.fold(() => outcome(grid, Optional.some(pasteDetails.element)), newGrid => { + return bundle(newGrid, pasteDetails.row, pasteDetails.column); + }); + }; + const gridifyRows = (rows, generators, context) => { + const pasteDetails = fromPastedRows(rows, context.section); + const wh = Warehouse.generate(pasteDetails); + return toGrid(wh, generators, true); + }; + const opPasteColsBefore = (grid, pasteDetails, comparator, _genWrappers) => { + const rows = extractGridDetails(grid).rows; + const index = pasteDetails.cells[0].column; + const context = rows[pasteDetails.cells[0].row]; + const gridB = gridifyRows(pasteDetails.clipboard, pasteDetails.generators, context); + const mergedGrid = insertCols(index, grid, gridB, pasteDetails.generators, comparator); + return bundle(mergedGrid, pasteDetails.cells[0].row, pasteDetails.cells[0].column); + }; + const opPasteColsAfter = (grid, pasteDetails, comparator, _genWrappers) => { + const rows = extractGridDetails(grid).rows; + const index = pasteDetails.cells[pasteDetails.cells.length - 1].column + pasteDetails.cells[pasteDetails.cells.length - 1].colspan; + const context = rows[pasteDetails.cells[0].row]; + const gridB = gridifyRows(pasteDetails.clipboard, pasteDetails.generators, context); + const mergedGrid = insertCols(index, grid, gridB, pasteDetails.generators, comparator); + return bundle(mergedGrid, pasteDetails.cells[0].row, pasteDetails.cells[0].column); + }; + const opPasteRowsBefore = (grid, pasteDetails, comparator, _genWrappers) => { + const rows = extractGridDetails(grid).rows; + const index = pasteDetails.cells[0].row; + const context = rows[index]; + const gridB = gridifyRows(pasteDetails.clipboard, pasteDetails.generators, context); + const mergedGrid = insertRows(index, grid, gridB, pasteDetails.generators, comparator); + return bundle(mergedGrid, pasteDetails.cells[0].row, pasteDetails.cells[0].column); + }; + const opPasteRowsAfter = (grid, pasteDetails, comparator, _genWrappers) => { + const rows = extractGridDetails(grid).rows; + const index = pasteDetails.cells[pasteDetails.cells.length - 1].row + pasteDetails.cells[pasteDetails.cells.length - 1].rowspan; + const context = rows[pasteDetails.cells[0].row]; + const gridB = gridifyRows(pasteDetails.clipboard, pasteDetails.generators, context); + const mergedGrid = insertRows(index, grid, gridB, pasteDetails.generators, comparator); + return bundle(mergedGrid, pasteDetails.cells[0].row, pasteDetails.cells[0].column); + }; + const opGetColumnsType = (table, target) => { + const house = Warehouse.fromTable(table); + const details = onCells(house, target); + return details.bind(selectedCells => { + const lastSelectedCell = selectedCells[selectedCells.length - 1]; + const minColRange = selectedCells[0].column; + const maxColRange = lastSelectedCell.column + lastSelectedCell.colspan; + const selectedColumnCells = flatten(map$1(house.all, row => filter$2(row.cells, cell => cell.column >= minColRange && cell.column < maxColRange))); + return findCommonCellType(selectedColumnCells); + }).getOr(''); + }; + const opGetCellsType = (table, target) => { + const house = Warehouse.fromTable(table); + const details = onCells(house, target); + return details.bind(findCommonCellType).getOr(''); + }; + const opGetRowsType = (table, target) => { + const house = Warehouse.fromTable(table); + const details = onCells(house, target); + return details.bind(selectedCells => { + const lastSelectedCell = selectedCells[selectedCells.length - 1]; + const minRowRange = selectedCells[0].row; + const maxRowRange = lastSelectedCell.row + lastSelectedCell.rowspan; + const selectedRows = house.all.slice(minRowRange, maxRowRange); + return findCommonRowType(selectedRows); + }).getOr(''); + }; + const resize = (table, list, details, behaviours) => adjustWidthTo(table, list, details, behaviours.sizing); + const adjustAndRedistributeWidths = (table, list, details, behaviours) => adjustAndRedistributeWidths$1(table, list, details, behaviours.sizing, behaviours.resize); + const firstColumnIsLocked = (_warehouse, details) => exists(details, detail => detail.column === 0 && detail.isLocked); + const lastColumnIsLocked = (warehouse, details) => exists(details, detail => detail.column + detail.colspan >= warehouse.grid.columns && detail.isLocked); + const getColumnsWidth = (warehouse, details) => { + const columns$1 = columns(warehouse); + const uniqueCols = uniqueColumns(details); + return foldl(uniqueCols, (acc, detail) => { + const column = columns$1[detail.column]; + const colWidth = column.map(getOuter$2).getOr(0); + return acc + colWidth; + }, 0); + }; + const insertColumnsExtractor = before => (warehouse, target) => onCells(warehouse, target).filter(details => { + const checkLocked = before ? firstColumnIsLocked : lastColumnIsLocked; + return !checkLocked(warehouse, details); + }).map(details => ({ + details, + pixelDelta: getColumnsWidth(warehouse, details) + })); + const eraseColumnsExtractor = (warehouse, target) => onUnlockedCells(warehouse, target).map(details => ({ + details, + pixelDelta: -getColumnsWidth(warehouse, details) + })); + const pasteColumnsExtractor = before => (warehouse, target) => onPasteByEditor(warehouse, target).filter(details => { + const checkLocked = before ? firstColumnIsLocked : lastColumnIsLocked; + return !checkLocked(warehouse, details.cells); + }); + const headerCellGenerator = Generators.transform('th'); + const bodyCellGenerator = Generators.transform('td'); + const insertRowsBefore = run(opInsertRowsBefore, onCells, noop, noop, Generators.modification); + const insertRowsAfter = run(opInsertRowsAfter, onCells, noop, noop, Generators.modification); + const insertColumnsBefore = run(opInsertColumnsBefore, insertColumnsExtractor(true), adjustAndRedistributeWidths, noop, Generators.modification); + const insertColumnsAfter = run(opInsertColumnsAfter, insertColumnsExtractor(false), adjustAndRedistributeWidths, noop, Generators.modification); + const eraseColumns = run(opEraseColumns, eraseColumnsExtractor, adjustAndRedistributeWidths, prune, Generators.modification); + const eraseRows = run(opEraseRows, onCells, noop, prune, Generators.modification); + const makeColumnsHeader = run(opMakeColumnsHeader, onUnlockedCells, noop, noop, headerCellGenerator); + const unmakeColumnsHeader = run(opUnmakeColumnsHeader, onUnlockedCells, noop, noop, bodyCellGenerator); + const makeRowsHeader = run(opMakeRowsHeader, onUnlockedCells, noop, noop, headerCellGenerator); + const makeRowsBody = run(opMakeRowsBody, onUnlockedCells, noop, noop, bodyCellGenerator); + const makeRowsFooter = run(opMakeRowsFooter, onUnlockedCells, noop, noop, bodyCellGenerator); + const makeCellsHeader = run(opMakeCellsHeader, onUnlockedCells, noop, noop, headerCellGenerator); + const unmakeCellsHeader = run(opUnmakeCellsHeader, onUnlockedCells, noop, noop, bodyCellGenerator); + const mergeCells = run(opMergeCells, onUnlockedMergable, resize, noop, Generators.merging); + const unmergeCells = run(opUnmergeCells, onUnlockedUnmergable, resize, noop, Generators.merging); + const pasteCells = run(opPasteCells, onPaste, resize, noop, Generators.modification); + const pasteColsBefore = run(opPasteColsBefore, pasteColumnsExtractor(true), noop, noop, Generators.modification); + const pasteColsAfter = run(opPasteColsAfter, pasteColumnsExtractor(false), noop, noop, Generators.modification); + const pasteRowsBefore = run(opPasteRowsBefore, onPasteByEditor, noop, noop, Generators.modification); + const pasteRowsAfter = run(opPasteRowsAfter, onPasteByEditor, noop, noop, Generators.modification); + const getColumnsType = opGetColumnsType; + const getCellsType = opGetCellsType; + const getRowsType = opGetRowsType; + + const fireNewRow = (editor, row) => editor.dispatch('NewRow', { node: row }); + const fireNewCell = (editor, cell) => editor.dispatch('NewCell', { node: cell }); + const fireTableModified = (editor, table, data) => { + editor.dispatch('TableModified', { + ...data, + table + }); + }; + const fireTableSelectionChange = (editor, cells, start, finish, otherCells) => { + editor.dispatch('TableSelectionChange', { + cells, + start, + finish, + otherCells + }); + }; + const fireTableSelectionClear = editor => { + editor.dispatch('TableSelectionClear'); + }; + const fireObjectResizeStart = (editor, target, width, height, origin) => { + editor.dispatch('ObjectResizeStart', { + target, + width, + height, + origin + }); + }; + const fireObjectResized = (editor, target, width, height, origin) => { + editor.dispatch('ObjectResized', { + target, + width, + height, + origin + }); + }; + const styleModified = { + structure: false, + style: true + }; + const structureModified = { + structure: true, + style: false + }; + const styleAndStructureModified = { + structure: true, + style: true + }; + + const get$5 = (editor, table) => { + if (isTablePercentagesForced(editor)) { + return TableSize.percentageSize(table); + } else if (isTablePixelsForced(editor)) { + return TableSize.pixelSize(table); + } else { + return TableSize.getTableSize(table); + } + }; + + const TableActions = (editor, resizeHandler, cellSelectionHandler) => { + const isTableBody = editor => name(getBody(editor)) === 'table'; + const lastRowGuard = table => !isTableBody(editor) || getGridSize(table).rows > 1; + const lastColumnGuard = table => !isTableBody(editor) || getGridSize(table).columns > 1; + const cloneFormats = getTableCloneElements(editor); + const colMutationOp = isResizeTableColumnResizing(editor) ? noop : halve; + const getTableSectionType = table => { + switch (getTableHeaderType(editor)) { + case 'section': + return TableSection.section(); + case 'sectionCells': + return TableSection.sectionCells(); + case 'cells': + return TableSection.cells(); + default: + return TableSection.getTableSectionType(table, 'section'); + } + }; + const setSelectionFromAction = (table, result) => result.cursor.fold(() => { + const cells = cells$1(table); + return head(cells).filter(inBody).map(firstCell => { + cellSelectionHandler.clearSelectedCells(table.dom); + const rng = editor.dom.createRng(); + rng.selectNode(firstCell.dom); + editor.selection.setRng(rng); + set$2(firstCell, 'data-mce-selected', '1'); + return rng; + }); + }, cell => { + const des = freefallRtl(cell); + const rng = editor.dom.createRng(); + rng.setStart(des.element.dom, des.offset); + rng.setEnd(des.element.dom, des.offset); + editor.selection.setRng(rng); + cellSelectionHandler.clearSelectedCells(table.dom); + return Optional.some(rng); + }); + const execute = (operation, guard, mutate, effect) => (table, target, noEvents = false) => { + removeDataStyle(table); + const doc = SugarElement.fromDom(editor.getDoc()); + const generators = cellOperations(mutate, doc, cloneFormats); + const behaviours = { + sizing: get$5(editor, table), + resize: isResizeTableColumnResizing(editor) ? resizeTable() : preserveTable(), + section: getTableSectionType(table) + }; + return guard(table) ? operation(table, target, generators, behaviours).bind(result => { + resizeHandler.refresh(table.dom); + each$2(result.newRows, row => { + fireNewRow(editor, row.dom); + }); + each$2(result.newCells, cell => { + fireNewCell(editor, cell.dom); + }); + const range = setSelectionFromAction(table, result); + if (inBody(table)) { + removeDataStyle(table); + if (!noEvents) { + fireTableModified(editor, table.dom, effect); + } + } + return range.map(rng => ({ + rng, + effect + })); + }) : Optional.none(); + }; + const deleteRow = execute(eraseRows, lastRowGuard, noop, structureModified); + const deleteColumn = execute(eraseColumns, lastColumnGuard, noop, structureModified); + const insertRowsBefore$1 = execute(insertRowsBefore, always, noop, structureModified); + const insertRowsAfter$1 = execute(insertRowsAfter, always, noop, structureModified); + const insertColumnsBefore$1 = execute(insertColumnsBefore, always, colMutationOp, structureModified); + const insertColumnsAfter$1 = execute(insertColumnsAfter, always, colMutationOp, structureModified); + const mergeCells$1 = execute(mergeCells, always, noop, structureModified); + const unmergeCells$1 = execute(unmergeCells, always, noop, structureModified); + const pasteColsBefore$1 = execute(pasteColsBefore, always, noop, structureModified); + const pasteColsAfter$1 = execute(pasteColsAfter, always, noop, structureModified); + const pasteRowsBefore$1 = execute(pasteRowsBefore, always, noop, structureModified); + const pasteRowsAfter$1 = execute(pasteRowsAfter, always, noop, structureModified); + const pasteCells$1 = execute(pasteCells, always, noop, styleAndStructureModified); + const makeCellsHeader$1 = execute(makeCellsHeader, always, noop, structureModified); + const unmakeCellsHeader$1 = execute(unmakeCellsHeader, always, noop, structureModified); + const makeColumnsHeader$1 = execute(makeColumnsHeader, always, noop, structureModified); + const unmakeColumnsHeader$1 = execute(unmakeColumnsHeader, always, noop, structureModified); + const makeRowsHeader$1 = execute(makeRowsHeader, always, noop, structureModified); + const makeRowsBody$1 = execute(makeRowsBody, always, noop, structureModified); + const makeRowsFooter$1 = execute(makeRowsFooter, always, noop, structureModified); + const getTableCellType = getCellsType; + const getTableColType = getColumnsType; + const getTableRowType = getRowsType; + return { + deleteRow, + deleteColumn, + insertRowsBefore: insertRowsBefore$1, + insertRowsAfter: insertRowsAfter$1, + insertColumnsBefore: insertColumnsBefore$1, + insertColumnsAfter: insertColumnsAfter$1, + mergeCells: mergeCells$1, + unmergeCells: unmergeCells$1, + pasteColsBefore: pasteColsBefore$1, + pasteColsAfter: pasteColsAfter$1, + pasteRowsBefore: pasteRowsBefore$1, + pasteRowsAfter: pasteRowsAfter$1, + pasteCells: pasteCells$1, + makeCellsHeader: makeCellsHeader$1, + unmakeCellsHeader: unmakeCellsHeader$1, + makeColumnsHeader: makeColumnsHeader$1, + unmakeColumnsHeader: unmakeColumnsHeader$1, + makeRowsHeader: makeRowsHeader$1, + makeRowsBody: makeRowsBody$1, + makeRowsFooter: makeRowsFooter$1, + getTableRowType, + getTableCellType, + getTableColType + }; + }; + + const constrainSpan = (element, property, value) => { + const currentColspan = getAttrValue(element, property, 1); + if (value === 1 || currentColspan <= 1) { + remove$7(element, property); + } else { + set$2(element, property, Math.min(value, currentColspan)); + } + }; + const isColInRange = (minColRange, maxColRange) => cell => { + const endCol = cell.column + cell.colspan - 1; + const startCol = cell.column; + return endCol >= minColRange && startCol < maxColRange; + }; + const generateColGroup = (house, minColRange, maxColRange) => { + if (Warehouse.hasColumns(house)) { + const colsToCopy = filter$2(Warehouse.justColumns(house), isColInRange(minColRange, maxColRange)); + const copiedCols = map$1(colsToCopy, c => { + const clonedCol = deep(c.element); + constrainSpan(clonedCol, 'span', maxColRange - minColRange); + return clonedCol; + }); + const fakeColgroup = SugarElement.fromTag('colgroup'); + append(fakeColgroup, copiedCols); + return [fakeColgroup]; + } else { + return []; + } + }; + const generateRows = (house, minColRange, maxColRange) => map$1(house.all, row => { + const cellsToCopy = filter$2(row.cells, isColInRange(minColRange, maxColRange)); + const copiedCells = map$1(cellsToCopy, cell => { + const clonedCell = deep(cell.element); + constrainSpan(clonedCell, 'colspan', maxColRange - minColRange); + return clonedCell; + }); + const fakeTR = SugarElement.fromTag('tr'); + append(fakeTR, copiedCells); + return fakeTR; + }); + const copyCols = (table, target) => { + const house = Warehouse.fromTable(table); + const details = onUnlockedCells(house, target); + return details.map(selectedCells => { + const lastSelectedCell = selectedCells[selectedCells.length - 1]; + const minColRange = selectedCells[0].column; + const maxColRange = lastSelectedCell.column + lastSelectedCell.colspan; + const fakeColGroups = generateColGroup(house, minColRange, maxColRange); + const fakeRows = generateRows(house, minColRange, maxColRange); + return [ + ...fakeColGroups, + ...fakeRows + ]; + }); + }; + + const copyRows = (table, target, generators) => { + const warehouse = Warehouse.fromTable(table); + const details = onCells(warehouse, target); + return details.bind(selectedCells => { + const grid = toGrid(warehouse, generators, false); + const rows = extractGridDetails(grid).rows; + const slicedGrid = rows.slice(selectedCells[0].row, selectedCells[selectedCells.length - 1].row + selectedCells[selectedCells.length - 1].rowspan); + const filteredGrid = bind$2(slicedGrid, row => { + const newCells = filter$2(row.cells, cell => !cell.isLocked); + return newCells.length > 0 ? [{ + ...row, + cells: newCells + }] : []; + }); + const slicedDetails = toDetailList(filteredGrid); + return someIf(slicedDetails.length > 0, slicedDetails); + }).map(slicedDetails => copy(slicedDetails)); + }; + + const adt$5 = Adt.generate([ + { invalid: ['raw'] }, + { pixels: ['value'] }, + { percent: ['value'] } + ]); + const validateFor = (suffix, type, value) => { + const rawAmount = value.substring(0, value.length - suffix.length); + const amount = parseFloat(rawAmount); + return rawAmount === amount.toString() ? type(amount) : adt$5.invalid(value); + }; + const from = value => { + if (endsWith(value, '%')) { + return validateFor('%', adt$5.percent, value); + } + if (endsWith(value, 'px')) { + return validateFor('px', adt$5.pixels, value); + } + return adt$5.invalid(value); + }; + const Size = { + ...adt$5, + from + }; + + const redistributeToPercent = (widths, totalWidth) => { + return map$1(widths, w => { + const colType = Size.from(w); + return colType.fold(() => { + return w; + }, px => { + const ratio = px / totalWidth * 100; + return ratio + '%'; + }, pc => { + return pc + '%'; + }); + }); + }; + const redistributeToPx = (widths, totalWidth, newTotalWidth) => { + const scale = newTotalWidth / totalWidth; + return map$1(widths, w => { + const colType = Size.from(w); + return colType.fold(() => { + return w; + }, px => { + return px * scale + 'px'; + }, pc => { + return pc / 100 * newTotalWidth + 'px'; + }); + }); + }; + const redistributeEmpty = (newWidthType, columns) => { + const f = newWidthType.fold(() => constant(''), pixels => { + const num = pixels / columns; + return constant(num + 'px'); + }, () => { + const num = 100 / columns; + return constant(num + '%'); + }); + return range$1(columns, f); + }; + const redistributeValues = (newWidthType, widths, totalWidth) => { + return newWidthType.fold(() => { + return widths; + }, px => { + return redistributeToPx(widths, totalWidth, px); + }, _pc => { + return redistributeToPercent(widths, totalWidth); + }); + }; + const redistribute$1 = (widths, totalWidth, newWidth) => { + const newType = Size.from(newWidth); + const floats = forall(widths, s => { + return s === '0px'; + }) ? redistributeEmpty(newType, widths.length) : redistributeValues(newType, widths, totalWidth); + return normalize(floats); + }; + const sum = (values, fallback) => { + if (values.length === 0) { + return fallback; + } + return foldr(values, (rest, v) => { + return Size.from(v).fold(constant(0), identity, identity) + rest; + }, 0); + }; + const roundDown = (num, unit) => { + const floored = Math.floor(num); + return { + value: floored + unit, + remainder: num - floored + }; + }; + const add$3 = (value, amount) => { + return Size.from(value).fold(constant(value), px => { + return px + amount + 'px'; + }, pc => { + return pc + amount + '%'; + }); + }; + const normalize = values => { + if (values.length === 0) { + return values; + } + const scan = foldr(values, (rest, value) => { + const info = Size.from(value).fold(() => ({ + value, + remainder: 0 + }), num => roundDown(num, 'px'), num => ({ + value: num + '%', + remainder: 0 + })); + return { + output: [info.value].concat(rest.output), + remainder: rest.remainder + info.remainder + }; + }, { + output: [], + remainder: 0 + }); + const r = scan.output; + return r.slice(0, r.length - 1).concat([add$3(r[r.length - 1], Math.round(scan.remainder))]); + }; + const validate = Size.from; + + const redistributeToW = (newWidths, cells, unit) => { + each$2(cells, cell => { + const widths = newWidths.slice(cell.column, cell.colspan + cell.column); + const w = sum(widths, minWidth()); + set$1(cell.element, 'width', w + unit); + }); + }; + const redistributeToColumns = (newWidths, columns, unit) => { + each$2(columns, (column, index) => { + const width = sum([newWidths[index]], minWidth()); + set$1(column.element, 'width', width + unit); + }); + }; + const redistributeToH = (newHeights, rows, cells, unit) => { + each$2(cells, cell => { + const heights = newHeights.slice(cell.row, cell.rowspan + cell.row); + const h = sum(heights, minHeight()); + set$1(cell.element, 'height', h + unit); + }); + each$2(rows, (row, i) => { + set$1(row.element, 'height', newHeights[i]); + }); + }; + const getUnit = newSize => { + return validate(newSize).fold(constant('px'), constant('px'), constant('%')); + }; + const redistribute = (table, optWidth, optHeight) => { + const warehouse = Warehouse.fromTable(table); + const rows = warehouse.all; + const cells = Warehouse.justCells(warehouse); + const columns = Warehouse.justColumns(warehouse); + optWidth.each(newWidth => { + const widthUnit = getUnit(newWidth); + const totalWidth = get$9(table); + const oldWidths = getRawWidths(warehouse, table); + const nuWidths = redistribute$1(oldWidths, totalWidth, newWidth); + if (Warehouse.hasColumns(warehouse)) { + redistributeToColumns(nuWidths, columns, widthUnit); + } else { + redistributeToW(nuWidths, cells, widthUnit); + } + set$1(table, 'width', newWidth); + }); + optHeight.each(newHeight => { + const hUnit = getUnit(newHeight); + const totalHeight = get$8(table); + const oldHeights = getRawHeights(warehouse, table, height); + const nuHeights = redistribute$1(oldHeights, totalHeight, newHeight); + redistributeToH(nuHeights, rows, cells, hUnit); + set$1(table, 'height', newHeight); + }); + }; + const isPercentSizing = isPercentSizing$1; + const isPixelSizing = isPixelSizing$1; + const isNoneSizing = isNoneSizing$1; + + const cleanupLegacyAttributes = element => { + remove$7(element, 'width'); + }; + const convertToPercentSize = table => { + const newWidth = getPercentTableWidth(table); + redistribute(table, Optional.some(newWidth), Optional.none()); + cleanupLegacyAttributes(table); + }; + const convertToPixelSize = table => { + const newWidth = getPixelTableWidth(table); + redistribute(table, Optional.some(newWidth), Optional.none()); + cleanupLegacyAttributes(table); + }; + const convertToNoneSize = table => { + remove$5(table, 'width'); + const columns = columns$1(table); + const rowElements = columns.length > 0 ? columns : cells$1(table); + each$2(rowElements, cell => { + remove$5(cell, 'width'); + cleanupLegacyAttributes(cell); + }); + cleanupLegacyAttributes(table); + }; + + const DefaultRenderOptions = { + styles: { + 'border-collapse': 'collapse', + 'width': '100%' + }, + attributes: { border: '1' }, + colGroups: false + }; + const tableHeaderCell = () => SugarElement.fromTag('th'); + const tableCell = () => SugarElement.fromTag('td'); + const tableColumn = () => SugarElement.fromTag('col'); + const createRow = (columns, rowHeaders, columnHeaders, rowIndex) => { + const tr = SugarElement.fromTag('tr'); + for (let j = 0; j < columns; j++) { + const td = rowIndex < rowHeaders || j < columnHeaders ? tableHeaderCell() : tableCell(); + if (j < columnHeaders) { + set$2(td, 'scope', 'row'); + } + if (rowIndex < rowHeaders) { + set$2(td, 'scope', 'col'); + } + append$1(td, SugarElement.fromTag('br')); + append$1(tr, td); + } + return tr; + }; + const createGroupRow = columns => { + const columnGroup = SugarElement.fromTag('colgroup'); + range$1(columns, () => append$1(columnGroup, tableColumn())); + return columnGroup; + }; + const createRows = (rows, columns, rowHeaders, columnHeaders) => range$1(rows, r => createRow(columns, rowHeaders, columnHeaders, r)); + const render = (rows, columns, rowHeaders, columnHeaders, headerType, renderOpts = DefaultRenderOptions) => { + const table = SugarElement.fromTag('table'); + const rowHeadersGoInThead = headerType !== 'cells'; + setAll(table, renderOpts.styles); + setAll$1(table, renderOpts.attributes); + if (renderOpts.colGroups) { + append$1(table, createGroupRow(columns)); + } + const actualRowHeaders = Math.min(rows, rowHeaders); + if (rowHeadersGoInThead && rowHeaders > 0) { + const thead = SugarElement.fromTag('thead'); + append$1(table, thead); + const theadRowHeaders = headerType === 'sectionCells' ? actualRowHeaders : 0; + const theadRows = createRows(rowHeaders, columns, theadRowHeaders, columnHeaders); + append(thead, theadRows); + } + const tbody = SugarElement.fromTag('tbody'); + append$1(table, tbody); + const numRows = rowHeadersGoInThead ? rows - actualRowHeaders : rows; + const numRowHeaders = rowHeadersGoInThead ? 0 : rowHeaders; + const tbodyRows = createRows(numRows, columns, numRowHeaders, columnHeaders); + append(tbody, tbodyRows); + return table; + }; + + const get$4 = element => element.dom.innerHTML; + const getOuter = element => { + const container = SugarElement.fromTag('div'); + const clone = SugarElement.fromDom(element.dom.cloneNode(true)); + append$1(container, clone); + return get$4(container); + }; + + const placeCaretInCell = (editor, cell) => { + editor.selection.select(cell.dom, true); + editor.selection.collapse(true); + }; + const selectFirstCellInTable = (editor, tableElm) => { + descendant(tableElm, 'td,th').each(curry(placeCaretInCell, editor)); + }; + const fireEvents = (editor, table) => { + each$2(descendants(table, 'tr'), row => { + fireNewRow(editor, row.dom); + each$2(descendants(row, 'th,td'), cell => { + fireNewCell(editor, cell.dom); + }); + }); + }; + const isPercentage = width => isString(width) && width.indexOf('%') !== -1; + const insert = (editor, columns, rows, colHeaders, rowHeaders) => { + const defaultStyles = getTableDefaultStyles(editor); + const options = { + styles: defaultStyles, + attributes: getTableDefaultAttributes(editor), + colGroups: tableUseColumnGroup(editor) + }; + editor.undoManager.ignore(() => { + const table = render(rows, columns, rowHeaders, colHeaders, getTableHeaderType(editor), options); + set$2(table, 'data-mce-id', '__mce'); + const html = getOuter(table); + editor.insertContent(html); + editor.addVisual(); + }); + return descendant(getBody(editor), 'table[data-mce-id="__mce"]').map(table => { + if (isTablePixelsForced(editor)) { + convertToPixelSize(table); + } else if (isTableResponsiveForced(editor)) { + convertToNoneSize(table); + } else if (isTablePercentagesForced(editor) || isPercentage(defaultStyles.width)) { + convertToPercentSize(table); + } + removeDataStyle(table); + remove$7(table, 'data-mce-id'); + fireEvents(editor, table); + selectFirstCellInTable(editor, table); + return table.dom; + }).getOrNull(); + }; + const insertTable = (editor, rows, columns, options = {}) => { + const checkInput = val => isNumber(val) && val > 0; + if (checkInput(rows) && checkInput(columns)) { + const headerRows = options.headerRows || 0; + const headerColumns = options.headerColumns || 0; + return insert(editor, columns, rows, headerColumns, headerRows); + } else { + console.error('Invalid values for mceInsertTable - rows and columns values are required to insert a table.'); + return null; + } + }; + + var global = tinymce.util.Tools.resolve('tinymce.FakeClipboard'); + + const tableTypeBase = 'x-tinymce/dom-table-'; + const tableTypeRow = tableTypeBase + 'rows'; + const tableTypeColumn = tableTypeBase + 'columns'; + const setData = items => { + const fakeClipboardItem = global.FakeClipboardItem(items); + global.write([fakeClipboardItem]); + }; + const getData = type => { + var _a; + const items = (_a = global.read()) !== null && _a !== void 0 ? _a : []; + return findMap(items, item => Optional.from(item.getType(type))); + }; + const clearData = type => { + if (getData(type).isSome()) { + global.clear(); + } + }; + const setRows = rowsOpt => { + rowsOpt.fold(clearRows, rows => setData({ [tableTypeRow]: rows })); + }; + const getRows = () => getData(tableTypeRow); + const clearRows = () => clearData(tableTypeRow); + const setColumns = columnsOpt => { + columnsOpt.fold(clearColumns, columns => setData({ [tableTypeColumn]: columns })); + }; + const getColumns = () => getData(tableTypeColumn); + const clearColumns = () => clearData(tableTypeColumn); + + const getSelectionStartCellOrCaption = editor => getSelectionCellOrCaption(getSelectionStart(editor), getIsRoot(editor)).filter(isInEditableContext$1); + const getSelectionStartCell = editor => getSelectionCell(getSelectionStart(editor), getIsRoot(editor)).filter(isInEditableContext$1); + const registerCommands = (editor, actions) => { + const isRoot = getIsRoot(editor); + const eraseTable = () => getSelectionStartCellOrCaption(editor).each(cellOrCaption => { + table(cellOrCaption, isRoot).filter(not(isRoot)).each(table => { + const cursor = SugarElement.fromText(''); + after$5(table, cursor); + remove$6(table); + if (editor.dom.isEmpty(editor.getBody())) { + editor.setContent(''); + editor.selection.setCursorLocation(); + } else { + const rng = editor.dom.createRng(); + rng.setStart(cursor.dom, 0); + rng.setEnd(cursor.dom, 0); + editor.selection.setRng(rng); + editor.nodeChanged(); + } + }); + }); + const setSizingMode = sizing => getSelectionStartCellOrCaption(editor).each(cellOrCaption => { + const isForcedSizing = isTableResponsiveForced(editor) || isTablePixelsForced(editor) || isTablePercentagesForced(editor); + if (!isForcedSizing) { + table(cellOrCaption, isRoot).each(table => { + if (sizing === 'relative' && !isPercentSizing(table)) { + convertToPercentSize(table); + } else if (sizing === 'fixed' && !isPixelSizing(table)) { + convertToPixelSize(table); + } else if (sizing === 'responsive' && !isNoneSizing(table)) { + convertToNoneSize(table); + } + removeDataStyle(table); + fireTableModified(editor, table.dom, structureModified); + }); + } + }); + const getTableFromCell = cell => table(cell, isRoot); + const performActionOnSelection = action => getSelectionStartCell(editor).bind(cell => getTableFromCell(cell).map(table => action(table, cell))); + const toggleTableClass = (_ui, clazz) => { + performActionOnSelection(table => { + editor.formatter.toggle('tableclass', { value: clazz }, table.dom); + fireTableModified(editor, table.dom, styleModified); + }); + }; + const toggleTableCellClass = (_ui, clazz) => { + performActionOnSelection(table => { + const selectedCells = getCellsFromSelection(editor); + const allHaveClass = forall(selectedCells, cell => editor.formatter.match('tablecellclass', { value: clazz }, cell.dom)); + const formatterAction = allHaveClass ? editor.formatter.remove : editor.formatter.apply; + each$2(selectedCells, cell => formatterAction('tablecellclass', { value: clazz }, cell.dom)); + fireTableModified(editor, table.dom, styleModified); + }); + }; + const toggleCaption = () => { + getSelectionStartCellOrCaption(editor).each(cellOrCaption => { + table(cellOrCaption, isRoot).each(table => { + child(table, 'caption').fold(() => { + const caption = SugarElement.fromTag('caption'); + append$1(caption, SugarElement.fromText('Caption')); + appendAt(table, caption, 0); + editor.selection.setCursorLocation(caption.dom, 0); + }, caption => { + if (isTag('caption')(cellOrCaption)) { + one('td', table).each(td => editor.selection.setCursorLocation(td.dom, 0)); + } + remove$6(caption); + }); + fireTableModified(editor, table.dom, structureModified); + }); + }); + }; + const postExecute = _data => { + editor.focus(); + }; + const actOnSelection = (execute, noEvents = false) => performActionOnSelection((table, startCell) => { + const targets = forMenu(getCellsFromSelection(editor), table, startCell); + execute(table, targets, noEvents).each(postExecute); + }); + const copyRowSelection = () => performActionOnSelection((table, startCell) => { + const targets = forMenu(getCellsFromSelection(editor), table, startCell); + const generators = cellOperations(noop, SugarElement.fromDom(editor.getDoc()), Optional.none()); + return copyRows(table, targets, generators); + }); + const copyColSelection = () => performActionOnSelection((table, startCell) => { + const targets = forMenu(getCellsFromSelection(editor), table, startCell); + return copyCols(table, targets); + }); + const pasteOnSelection = (execute, getRows) => getRows().each(rows => { + const clonedRows = map$1(rows, row => deep(row)); + performActionOnSelection((table, startCell) => { + const generators = paste$1(SugarElement.fromDom(editor.getDoc())); + const targets = pasteRows(getCellsFromSelection(editor), startCell, clonedRows, generators); + execute(table, targets).each(postExecute); + }); + }); + const actOnType = getAction => (_ui, args) => get$c(args, 'type').each(type => { + actOnSelection(getAction(type), args.no_events); + }); + each$1({ + mceTableSplitCells: () => actOnSelection(actions.unmergeCells), + mceTableMergeCells: () => actOnSelection(actions.mergeCells), + mceTableInsertRowBefore: () => actOnSelection(actions.insertRowsBefore), + mceTableInsertRowAfter: () => actOnSelection(actions.insertRowsAfter), + mceTableInsertColBefore: () => actOnSelection(actions.insertColumnsBefore), + mceTableInsertColAfter: () => actOnSelection(actions.insertColumnsAfter), + mceTableDeleteCol: () => actOnSelection(actions.deleteColumn), + mceTableDeleteRow: () => actOnSelection(actions.deleteRow), + mceTableCutCol: () => copyColSelection().each(selection => { + setColumns(selection); + actOnSelection(actions.deleteColumn); + }), + mceTableCutRow: () => copyRowSelection().each(selection => { + setRows(selection); + actOnSelection(actions.deleteRow); + }), + mceTableCopyCol: () => copyColSelection().each(selection => setColumns(selection)), + mceTableCopyRow: () => copyRowSelection().each(selection => setRows(selection)), + mceTablePasteColBefore: () => pasteOnSelection(actions.pasteColsBefore, getColumns), + mceTablePasteColAfter: () => pasteOnSelection(actions.pasteColsAfter, getColumns), + mceTablePasteRowBefore: () => pasteOnSelection(actions.pasteRowsBefore, getRows), + mceTablePasteRowAfter: () => pasteOnSelection(actions.pasteRowsAfter, getRows), + mceTableDelete: eraseTable, + mceTableCellToggleClass: toggleTableCellClass, + mceTableToggleClass: toggleTableClass, + mceTableToggleCaption: toggleCaption, + mceTableSizingMode: (_ui, sizing) => setSizingMode(sizing), + mceTableCellType: actOnType(type => type === 'th' ? actions.makeCellsHeader : actions.unmakeCellsHeader), + mceTableColType: actOnType(type => type === 'th' ? actions.makeColumnsHeader : actions.unmakeColumnsHeader), + mceTableRowType: actOnType(type => { + switch (type) { + case 'header': + return actions.makeRowsHeader; + case 'footer': + return actions.makeRowsFooter; + default: + return actions.makeRowsBody; + } + }) + }, (func, name) => editor.addCommand(name, func)); + editor.addCommand('mceInsertTable', (_ui, args) => { + insertTable(editor, args.rows, args.columns, args.options); + }); + editor.addCommand('mceTableApplyCellStyle', (_ui, args) => { + const getFormatName = style => 'tablecell' + style.toLowerCase().replace('-', ''); + if (!isObject(args)) { + return; + } + const cells = filter$2(getCellsFromSelection(editor), isInEditableContext$1); + if (cells.length === 0) { + return; + } + const validArgs = filter$1(args, (value, style) => editor.formatter.has(getFormatName(style)) && isString(value)); + if (isEmpty(validArgs)) { + return; + } + each$1(validArgs, (value, style) => { + const formatName = getFormatName(style); + each$2(cells, cell => { + if (value === '') { + editor.formatter.remove(formatName, { value: null }, cell.dom, true); + } else { + editor.formatter.apply(formatName, { value }, cell.dom); + } + }); + }); + getTableFromCell(cells[0]).each(table => fireTableModified(editor, table.dom, styleModified)); + }); + }; + + const registerQueryCommands = (editor, actions) => { + const isRoot = getIsRoot(editor); + const lookupOnSelection = action => getSelectionCell(getSelectionStart(editor)).bind(cell => table(cell, isRoot).map(table => { + const targets = forMenu(getCellsFromSelection(editor), table, cell); + return action(table, targets); + })).getOr(''); + each$1({ + mceTableRowType: () => lookupOnSelection(actions.getTableRowType), + mceTableCellType: () => lookupOnSelection(actions.getTableCellType), + mceTableColType: () => lookupOnSelection(actions.getTableColType) + }, (func, name) => editor.addQueryValueHandler(name, func)); + }; + + const adt$4 = Adt.generate([ + { before: ['element'] }, + { + on: [ + 'element', + 'offset' + ] + }, + { after: ['element'] } + ]); + const cata$1 = (subject, onBefore, onOn, onAfter) => subject.fold(onBefore, onOn, onAfter); + const getStart$1 = situ => situ.fold(identity, identity, identity); + const before$2 = adt$4.before; + const on = adt$4.on; + const after$3 = adt$4.after; + const Situ = { + before: before$2, + on, + after: after$3, + cata: cata$1, + getStart: getStart$1 + }; + + const create$4 = (selection, kill) => ({ + selection, + kill + }); + const Response = { create: create$4 }; + + const selectNode = (win, element) => { + const rng = win.document.createRange(); + rng.selectNode(element.dom); + return rng; + }; + const selectNodeContents = (win, element) => { + const rng = win.document.createRange(); + selectNodeContentsUsing(rng, element); + return rng; + }; + const selectNodeContentsUsing = (rng, element) => rng.selectNodeContents(element.dom); + const setStart = (rng, situ) => { + situ.fold(e => { + rng.setStartBefore(e.dom); + }, (e, o) => { + rng.setStart(e.dom, o); + }, e => { + rng.setStartAfter(e.dom); + }); + }; + const setFinish = (rng, situ) => { + situ.fold(e => { + rng.setEndBefore(e.dom); + }, (e, o) => { + rng.setEnd(e.dom, o); + }, e => { + rng.setEndAfter(e.dom); + }); + }; + const relativeToNative = (win, startSitu, finishSitu) => { + const range = win.document.createRange(); + setStart(range, startSitu); + setFinish(range, finishSitu); + return range; + }; + const exactToNative = (win, start, soffset, finish, foffset) => { + const rng = win.document.createRange(); + rng.setStart(start.dom, soffset); + rng.setEnd(finish.dom, foffset); + return rng; + }; + const toRect = rect => ({ + left: rect.left, + top: rect.top, + right: rect.right, + bottom: rect.bottom, + width: rect.width, + height: rect.height + }); + const getFirstRect$1 = rng => { + const rects = rng.getClientRects(); + const rect = rects.length > 0 ? rects[0] : rng.getBoundingClientRect(); + return rect.width > 0 || rect.height > 0 ? Optional.some(rect).map(toRect) : Optional.none(); + }; + + const adt$3 = Adt.generate([ + { + ltr: [ + 'start', + 'soffset', + 'finish', + 'foffset' + ] + }, + { + rtl: [ + 'start', + 'soffset', + 'finish', + 'foffset' + ] + } + ]); + const fromRange = (win, type, range) => type(SugarElement.fromDom(range.startContainer), range.startOffset, SugarElement.fromDom(range.endContainer), range.endOffset); + const getRanges = (win, selection) => selection.match({ + domRange: rng => { + return { + ltr: constant(rng), + rtl: Optional.none + }; + }, + relative: (startSitu, finishSitu) => { + return { + ltr: cached(() => relativeToNative(win, startSitu, finishSitu)), + rtl: cached(() => Optional.some(relativeToNative(win, finishSitu, startSitu))) + }; + }, + exact: (start, soffset, finish, foffset) => { + return { + ltr: cached(() => exactToNative(win, start, soffset, finish, foffset)), + rtl: cached(() => Optional.some(exactToNative(win, finish, foffset, start, soffset))) + }; + } + }); + const doDiagnose = (win, ranges) => { + const rng = ranges.ltr(); + if (rng.collapsed) { + const reversed = ranges.rtl().filter(rev => rev.collapsed === false); + return reversed.map(rev => adt$3.rtl(SugarElement.fromDom(rev.endContainer), rev.endOffset, SugarElement.fromDom(rev.startContainer), rev.startOffset)).getOrThunk(() => fromRange(win, adt$3.ltr, rng)); + } else { + return fromRange(win, adt$3.ltr, rng); + } + }; + const diagnose = (win, selection) => { + const ranges = getRanges(win, selection); + return doDiagnose(win, ranges); + }; + const asLtrRange = (win, selection) => { + const diagnosis = diagnose(win, selection); + return diagnosis.match({ + ltr: (start, soffset, finish, foffset) => { + const rng = win.document.createRange(); + rng.setStart(start.dom, soffset); + rng.setEnd(finish.dom, foffset); + return rng; + }, + rtl: (start, soffset, finish, foffset) => { + const rng = win.document.createRange(); + rng.setStart(finish.dom, foffset); + rng.setEnd(start.dom, soffset); + return rng; + } + }); + }; + adt$3.ltr; + adt$3.rtl; + + const create$3 = (start, soffset, finish, foffset) => ({ + start, + soffset, + finish, + foffset + }); + const SimRange = { create: create$3 }; + + const create$2 = (start, soffset, finish, foffset) => { + return { + start: Situ.on(start, soffset), + finish: Situ.on(finish, foffset) + }; + }; + const Situs = { create: create$2 }; + + const convertToRange = (win, selection) => { + const rng = asLtrRange(win, selection); + return SimRange.create(SugarElement.fromDom(rng.startContainer), rng.startOffset, SugarElement.fromDom(rng.endContainer), rng.endOffset); + }; + const makeSitus = Situs.create; + + const sync = (container, isRoot, start, soffset, finish, foffset, selectRange) => { + if (!(eq$1(start, finish) && soffset === foffset)) { + return closest$1(start, 'td,th', isRoot).bind(s => { + return closest$1(finish, 'td,th', isRoot).bind(f => { + return detect(container, isRoot, s, f, selectRange); + }); + }); + } else { + return Optional.none(); + } + }; + const detect = (container, isRoot, start, finish, selectRange) => { + if (!eq$1(start, finish)) { + return identify(start, finish, isRoot).bind(cellSel => { + const boxes = cellSel.boxes.getOr([]); + if (boxes.length > 1) { + selectRange(container, boxes, cellSel.start, cellSel.finish); + return Optional.some(Response.create(Optional.some(makeSitus(start, 0, start, getEnd(start))), true)); + } else { + return Optional.none(); + } + }); + } else { + return Optional.none(); + } + }; + const update = (rows, columns, container, selected, annotations) => { + const updateSelection = newSels => { + annotations.clearBeforeUpdate(container); + annotations.selectRange(container, newSels.boxes, newSels.start, newSels.finish); + return newSels.boxes; + }; + return shiftSelection(selected, rows, columns, annotations.firstSelectedSelector, annotations.lastSelectedSelector).map(updateSelection); + }; + + const traverse = (item, mode) => ({ + item, + mode + }); + const backtrack = (universe, item, _direction, transition = sidestep) => { + return universe.property().parent(item).map(p => { + return traverse(p, transition); + }); + }; + const sidestep = (universe, item, direction, transition = advance) => { + return direction.sibling(universe, item).map(p => { + return traverse(p, transition); + }); + }; + const advance = (universe, item, direction, transition = advance) => { + const children = universe.property().children(item); + const result = direction.first(children); + return result.map(r => { + return traverse(r, transition); + }); + }; + const successors = [ + { + current: backtrack, + next: sidestep, + fallback: Optional.none() + }, + { + current: sidestep, + next: advance, + fallback: Optional.some(backtrack) + }, + { + current: advance, + next: advance, + fallback: Optional.some(sidestep) + } + ]; + const go = (universe, item, mode, direction, rules = successors) => { + const ruleOpt = find$1(rules, succ => { + return succ.current === mode; + }); + return ruleOpt.bind(rule => { + return rule.current(universe, item, direction, rule.next).orThunk(() => { + return rule.fallback.bind(fb => { + return go(universe, item, fb, direction); + }); + }); + }); + }; + + const left$1 = () => { + const sibling = (universe, item) => { + return universe.query().prevSibling(item); + }; + const first = children => { + return children.length > 0 ? Optional.some(children[children.length - 1]) : Optional.none(); + }; + return { + sibling, + first + }; + }; + const right$1 = () => { + const sibling = (universe, item) => { + return universe.query().nextSibling(item); + }; + const first = children => { + return children.length > 0 ? Optional.some(children[0]) : Optional.none(); + }; + return { + sibling, + first + }; + }; + const Walkers = { + left: left$1, + right: right$1 + }; + + const hone = (universe, item, predicate, mode, direction, isRoot) => { + const next = go(universe, item, mode, direction); + return next.bind(n => { + if (isRoot(n.item)) { + return Optional.none(); + } else { + return predicate(n.item) ? Optional.some(n.item) : hone(universe, n.item, predicate, n.mode, direction, isRoot); + } + }); + }; + const left = (universe, item, predicate, isRoot) => { + return hone(universe, item, predicate, sidestep, Walkers.left(), isRoot); + }; + const right = (universe, item, predicate, isRoot) => { + return hone(universe, item, predicate, sidestep, Walkers.right(), isRoot); + }; + + const isLeaf = universe => element => universe.property().children(element).length === 0; + const before$1 = (universe, item, isRoot) => { + return seekLeft$1(universe, item, isLeaf(universe), isRoot); + }; + const after$2 = (universe, item, isRoot) => { + return seekRight$1(universe, item, isLeaf(universe), isRoot); + }; + const seekLeft$1 = left; + const seekRight$1 = right; + + const universe = DomUniverse(); + const before = (element, isRoot) => { + return before$1(universe, element, isRoot); + }; + const after$1 = (element, isRoot) => { + return after$2(universe, element, isRoot); + }; + const seekLeft = (element, predicate, isRoot) => { + return seekLeft$1(universe, element, predicate, isRoot); + }; + const seekRight = (element, predicate, isRoot) => { + return seekRight$1(universe, element, predicate, isRoot); + }; + + const ancestor = (scope, predicate, isRoot) => ancestor$2(scope, predicate, isRoot).isSome(); + + const adt$2 = Adt.generate([ + { none: ['message'] }, + { success: [] }, + { failedUp: ['cell'] }, + { failedDown: ['cell'] } + ]); + const isOverlapping = (bridge, before, after) => { + const beforeBounds = bridge.getRect(before); + const afterBounds = bridge.getRect(after); + return afterBounds.right > beforeBounds.left && afterBounds.left < beforeBounds.right; + }; + const isRow = elem => { + return closest$1(elem, 'tr'); + }; + const verify = (bridge, before, beforeOffset, after, afterOffset, failure, isRoot) => { + return closest$1(after, 'td,th', isRoot).bind(afterCell => { + return closest$1(before, 'td,th', isRoot).map(beforeCell => { + if (!eq$1(afterCell, beforeCell)) { + return sharedOne(isRow, [ + afterCell, + beforeCell + ]).fold(() => { + return isOverlapping(bridge, beforeCell, afterCell) ? adt$2.success() : failure(beforeCell); + }, _sharedRow => { + return failure(beforeCell); + }); + } else { + return eq$1(after, afterCell) && getEnd(afterCell) === afterOffset ? failure(beforeCell) : adt$2.none('in same cell'); + } + }); + }).getOr(adt$2.none('default')); + }; + const cata = (subject, onNone, onSuccess, onFailedUp, onFailedDown) => { + return subject.fold(onNone, onSuccess, onFailedUp, onFailedDown); + }; + const BeforeAfter = { + ...adt$2, + verify, + cata + }; + + const inParent = (parent, children, element, index) => ({ + parent, + children, + element, + index + }); + const indexInParent = element => parent(element).bind(parent => { + const children = children$2(parent); + return indexOf(children, element).map(index => inParent(parent, children, element, index)); + }); + const indexOf = (elements, element) => findIndex(elements, curry(eq$1, element)); + + const isBr = isTag('br'); + const gatherer = (cand, gather, isRoot) => { + return gather(cand, isRoot).bind(target => { + return isText(target) && get$6(target).trim().length === 0 ? gatherer(target, gather, isRoot) : Optional.some(target); + }); + }; + const handleBr = (isRoot, element, direction) => { + return direction.traverse(element).orThunk(() => { + return gatherer(element, direction.gather, isRoot); + }).map(direction.relative); + }; + const findBr = (element, offset) => { + return child$2(element, offset).filter(isBr).orThunk(() => { + return child$2(element, offset - 1).filter(isBr); + }); + }; + const handleParent = (isRoot, element, offset, direction) => { + return findBr(element, offset).bind(br => { + return direction.traverse(br).fold(() => { + return gatherer(br, direction.gather, isRoot).map(direction.relative); + }, adjacent => { + return indexInParent(adjacent).map(info => { + return Situ.on(info.parent, info.index); + }); + }); + }); + }; + const tryBr = (isRoot, element, offset, direction) => { + const target = isBr(element) ? handleBr(isRoot, element, direction) : handleParent(isRoot, element, offset, direction); + return target.map(tgt => { + return { + start: tgt, + finish: tgt + }; + }); + }; + const process = analysis => { + return BeforeAfter.cata(analysis, _message => { + return Optional.none(); + }, () => { + return Optional.none(); + }, cell => { + return Optional.some(point(cell, 0)); + }, cell => { + return Optional.some(point(cell, getEnd(cell))); + }); + }; + + const moveDown = (caret, amount) => { + return { + left: caret.left, + top: caret.top + amount, + right: caret.right, + bottom: caret.bottom + amount + }; + }; + const moveUp = (caret, amount) => { + return { + left: caret.left, + top: caret.top - amount, + right: caret.right, + bottom: caret.bottom - amount + }; + }; + const translate = (caret, xDelta, yDelta) => { + return { + left: caret.left + xDelta, + top: caret.top + yDelta, + right: caret.right + xDelta, + bottom: caret.bottom + yDelta + }; + }; + const getTop = caret => { + return caret.top; + }; + const getBottom = caret => { + return caret.bottom; + }; + + const getPartialBox = (bridge, element, offset) => { + if (offset >= 0 && offset < getEnd(element)) { + return bridge.getRangedRect(element, offset, element, offset + 1); + } else if (offset > 0) { + return bridge.getRangedRect(element, offset - 1, element, offset); + } + return Optional.none(); + }; + const toCaret = rect => ({ + left: rect.left, + top: rect.top, + right: rect.right, + bottom: rect.bottom + }); + const getElemBox = (bridge, element) => { + return Optional.some(bridge.getRect(element)); + }; + const getBoxAt = (bridge, element, offset) => { + if (isElement(element)) { + return getElemBox(bridge, element).map(toCaret); + } else if (isText(element)) { + return getPartialBox(bridge, element, offset).map(toCaret); + } else { + return Optional.none(); + } + }; + const getEntireBox = (bridge, element) => { + if (isElement(element)) { + return getElemBox(bridge, element).map(toCaret); + } else if (isText(element)) { + return bridge.getRangedRect(element, 0, element, getEnd(element)).map(toCaret); + } else { + return Optional.none(); + } + }; + + const JUMP_SIZE = 5; + const NUM_RETRIES = 100; + const adt$1 = Adt.generate([ + { none: [] }, + { retry: ['caret'] } + ]); + const isOutside = (caret, box) => { + return caret.left < box.left || Math.abs(box.right - caret.left) < 1 || caret.left > box.right; + }; + const inOutsideBlock = (bridge, element, caret) => { + return closest$2(element, isBlock).fold(never, cell => { + return getEntireBox(bridge, cell).exists(box => { + return isOutside(caret, box); + }); + }); + }; + const adjustDown = (bridge, element, guessBox, original, caret) => { + const lowerCaret = moveDown(caret, JUMP_SIZE); + if (Math.abs(guessBox.bottom - original.bottom) < 1) { + return adt$1.retry(lowerCaret); + } else if (guessBox.top > caret.bottom) { + return adt$1.retry(lowerCaret); + } else if (guessBox.top === caret.bottom) { + return adt$1.retry(moveDown(caret, 1)); + } else { + return inOutsideBlock(bridge, element, caret) ? adt$1.retry(translate(lowerCaret, JUMP_SIZE, 0)) : adt$1.none(); + } + }; + const adjustUp = (bridge, element, guessBox, original, caret) => { + const higherCaret = moveUp(caret, JUMP_SIZE); + if (Math.abs(guessBox.top - original.top) < 1) { + return adt$1.retry(higherCaret); + } else if (guessBox.bottom < caret.top) { + return adt$1.retry(higherCaret); + } else if (guessBox.bottom === caret.top) { + return adt$1.retry(moveUp(caret, 1)); + } else { + return inOutsideBlock(bridge, element, caret) ? adt$1.retry(translate(higherCaret, JUMP_SIZE, 0)) : adt$1.none(); + } + }; + const upMovement = { + point: getTop, + adjuster: adjustUp, + move: moveUp, + gather: before + }; + const downMovement = { + point: getBottom, + adjuster: adjustDown, + move: moveDown, + gather: after$1 + }; + const isAtTable = (bridge, x, y) => { + return bridge.elementFromPoint(x, y).filter(elm => { + return name(elm) === 'table'; + }).isSome(); + }; + const adjustForTable = (bridge, movement, original, caret, numRetries) => { + return adjustTil(bridge, movement, original, movement.move(caret, JUMP_SIZE), numRetries); + }; + const adjustTil = (bridge, movement, original, caret, numRetries) => { + if (numRetries === 0) { + return Optional.some(caret); + } + if (isAtTable(bridge, caret.left, movement.point(caret))) { + return adjustForTable(bridge, movement, original, caret, numRetries - 1); + } + return bridge.situsFromPoint(caret.left, movement.point(caret)).bind(guess => { + return guess.start.fold(Optional.none, element => { + return getEntireBox(bridge, element).bind(guessBox => { + return movement.adjuster(bridge, element, guessBox, original, caret).fold(Optional.none, newCaret => { + return adjustTil(bridge, movement, original, newCaret, numRetries - 1); + }); + }).orThunk(() => { + return Optional.some(caret); + }); + }, Optional.none); + }); + }; + const checkScroll = (movement, adjusted, bridge) => { + if (movement.point(adjusted) > bridge.getInnerHeight()) { + return Optional.some(movement.point(adjusted) - bridge.getInnerHeight()); + } else if (movement.point(adjusted) < 0) { + return Optional.some(-movement.point(adjusted)); + } else { + return Optional.none(); + } + }; + const retry = (movement, bridge, caret) => { + const moved = movement.move(caret, JUMP_SIZE); + const adjusted = adjustTil(bridge, movement, caret, moved, NUM_RETRIES).getOr(moved); + return checkScroll(movement, adjusted, bridge).fold(() => { + return bridge.situsFromPoint(adjusted.left, movement.point(adjusted)); + }, delta => { + bridge.scrollBy(0, delta); + return bridge.situsFromPoint(adjusted.left, movement.point(adjusted) - delta); + }); + }; + const Retries = { + tryUp: curry(retry, upMovement), + tryDown: curry(retry, downMovement), + getJumpSize: constant(JUMP_SIZE) + }; + + const MAX_RETRIES = 20; + const findSpot = (bridge, isRoot, direction) => { + return bridge.getSelection().bind(sel => { + return tryBr(isRoot, sel.finish, sel.foffset, direction).fold(() => { + return Optional.some(point(sel.finish, sel.foffset)); + }, brNeighbour => { + const range = bridge.fromSitus(brNeighbour); + const analysis = BeforeAfter.verify(bridge, sel.finish, sel.foffset, range.finish, range.foffset, direction.failure, isRoot); + return process(analysis); + }); + }); + }; + const scan = (bridge, isRoot, element, offset, direction, numRetries) => { + if (numRetries === 0) { + return Optional.none(); + } + return tryCursor(bridge, isRoot, element, offset, direction).bind(situs => { + const range = bridge.fromSitus(situs); + const analysis = BeforeAfter.verify(bridge, element, offset, range.finish, range.foffset, direction.failure, isRoot); + return BeforeAfter.cata(analysis, () => { + return Optional.none(); + }, () => { + return Optional.some(situs); + }, cell => { + if (eq$1(element, cell) && offset === 0) { + return tryAgain(bridge, element, offset, moveUp, direction); + } else { + return scan(bridge, isRoot, cell, 0, direction, numRetries - 1); + } + }, cell => { + if (eq$1(element, cell) && offset === getEnd(cell)) { + return tryAgain(bridge, element, offset, moveDown, direction); + } else { + return scan(bridge, isRoot, cell, getEnd(cell), direction, numRetries - 1); + } + }); + }); + }; + const tryAgain = (bridge, element, offset, move, direction) => { + return getBoxAt(bridge, element, offset).bind(box => { + return tryAt(bridge, direction, move(box, Retries.getJumpSize())); + }); + }; + const tryAt = (bridge, direction, box) => { + const browser = detect$2().browser; + if (browser.isChromium() || browser.isSafari() || browser.isFirefox()) { + return direction.retry(bridge, box); + } else { + return Optional.none(); + } + }; + const tryCursor = (bridge, isRoot, element, offset, direction) => { + return getBoxAt(bridge, element, offset).bind(box => { + return tryAt(bridge, direction, box); + }); + }; + const handle$1 = (bridge, isRoot, direction) => { + return findSpot(bridge, isRoot, direction).bind(spot => { + return scan(bridge, isRoot, spot.element, spot.offset, direction, MAX_RETRIES).map(bridge.fromSitus); + }); + }; + + const inSameTable = (elem, table) => { + return ancestor(elem, e => { + return parent(e).exists(p => { + return eq$1(p, table); + }); + }); + }; + const simulate = (bridge, isRoot, direction, initial, anchor) => { + return closest$1(initial, 'td,th', isRoot).bind(start => { + return closest$1(start, 'table', isRoot).bind(table => { + if (!inSameTable(anchor, table)) { + return Optional.none(); + } + return handle$1(bridge, isRoot, direction).bind(range => { + return closest$1(range.finish, 'td,th', isRoot).map(finish => { + return { + start, + finish, + range + }; + }); + }); + }); + }); + }; + const navigate = (bridge, isRoot, direction, initial, anchor, precheck) => { + return precheck(initial, isRoot).orThunk(() => { + return simulate(bridge, isRoot, direction, initial, anchor).map(info => { + const range = info.range; + return Response.create(Optional.some(makeSitus(range.start, range.soffset, range.finish, range.foffset)), true); + }); + }); + }; + const firstUpCheck = (initial, isRoot) => { + return closest$1(initial, 'tr', isRoot).bind(startRow => { + return closest$1(startRow, 'table', isRoot).bind(table => { + const rows = descendants(table, 'tr'); + if (eq$1(startRow, rows[0])) { + return seekLeft(table, element => { + return last$1(element).isSome(); + }, isRoot).map(last => { + const lastOffset = getEnd(last); + return Response.create(Optional.some(makeSitus(last, lastOffset, last, lastOffset)), true); + }); + } else { + return Optional.none(); + } + }); + }); + }; + const lastDownCheck = (initial, isRoot) => { + return closest$1(initial, 'tr', isRoot).bind(startRow => { + return closest$1(startRow, 'table', isRoot).bind(table => { + const rows = descendants(table, 'tr'); + if (eq$1(startRow, rows[rows.length - 1])) { + return seekRight(table, element => { + return first(element).isSome(); + }, isRoot).map(first => { + return Response.create(Optional.some(makeSitus(first, 0, first, 0)), true); + }); + } else { + return Optional.none(); + } + }); + }); + }; + const select = (bridge, container, isRoot, direction, initial, anchor, selectRange) => { + return simulate(bridge, isRoot, direction, initial, anchor).bind(info => { + return detect(container, isRoot, info.start, info.finish, selectRange); + }); + }; + + const Cell = initial => { + let value = initial; + const get = () => { + return value; + }; + const set = v => { + value = v; + }; + return { + get, + set + }; + }; + + const singleton = doRevoke => { + const subject = Cell(Optional.none()); + const revoke = () => subject.get().each(doRevoke); + const clear = () => { + revoke(); + subject.set(Optional.none()); + }; + const isSet = () => subject.get().isSome(); + const get = () => subject.get(); + const set = s => { + revoke(); + subject.set(Optional.some(s)); + }; + return { + clear, + isSet, + get, + set + }; + }; + const value = () => { + const subject = singleton(noop); + const on = f => subject.get().each(f); + return { + ...subject, + on + }; + }; + + const findCell = (target, isRoot) => closest$1(target, 'td,th', isRoot); + const isInEditableContext = cell => parentElement(cell).exists(isEditable$1); + const MouseSelection = (bridge, container, isRoot, annotations) => { + const cursor = value(); + const clearstate = cursor.clear; + const applySelection = event => { + cursor.on(start => { + annotations.clearBeforeUpdate(container); + findCell(event.target, isRoot).each(finish => { + identify(start, finish, isRoot).each(cellSel => { + const boxes = cellSel.boxes.getOr([]); + if (boxes.length === 1) { + const singleCell = boxes[0]; + const isNonEditableCell = getRaw(singleCell) === 'false'; + const isCellClosestContentEditable = is(closest(event.target), singleCell, eq$1); + if (isNonEditableCell && isCellClosestContentEditable) { + annotations.selectRange(container, boxes, singleCell, singleCell); + bridge.selectContents(singleCell); + } + } else if (boxes.length > 1) { + annotations.selectRange(container, boxes, cellSel.start, cellSel.finish); + bridge.selectContents(finish); + } + }); + }); + }); + }; + const mousedown = event => { + annotations.clear(container); + findCell(event.target, isRoot).filter(isInEditableContext).each(cursor.set); + }; + const mouseover = event => { + applySelection(event); + }; + const mouseup = event => { + applySelection(event); + clearstate(); + }; + return { + clearstate, + mousedown, + mouseover, + mouseup + }; + }; + + const down = { + traverse: nextSibling, + gather: after$1, + relative: Situ.before, + retry: Retries.tryDown, + failure: BeforeAfter.failedDown + }; + const up = { + traverse: prevSibling, + gather: before, + relative: Situ.before, + retry: Retries.tryUp, + failure: BeforeAfter.failedUp + }; + + const isKey = key => { + return keycode => { + return keycode === key; + }; + }; + const isUp = isKey(38); + const isDown = isKey(40); + const isNavigation = keycode => { + return keycode >= 37 && keycode <= 40; + }; + const ltr = { + isBackward: isKey(37), + isForward: isKey(39) + }; + const rtl = { + isBackward: isKey(39), + isForward: isKey(37) + }; + + const get$3 = _DOC => { + const doc = _DOC !== undefined ? _DOC.dom : document; + const x = doc.body.scrollLeft || doc.documentElement.scrollLeft; + const y = doc.body.scrollTop || doc.documentElement.scrollTop; + return SugarPosition(x, y); + }; + const by = (x, y, _DOC) => { + const doc = _DOC !== undefined ? _DOC.dom : document; + const win = doc.defaultView; + if (win) { + win.scrollBy(x, y); + } + }; + + const adt = Adt.generate([ + { domRange: ['rng'] }, + { + relative: [ + 'startSitu', + 'finishSitu' + ] + }, + { + exact: [ + 'start', + 'soffset', + 'finish', + 'foffset' + ] + } + ]); + const exactFromRange = simRange => adt.exact(simRange.start, simRange.soffset, simRange.finish, simRange.foffset); + const getStart = selection => selection.match({ + domRange: rng => SugarElement.fromDom(rng.startContainer), + relative: (startSitu, _finishSitu) => Situ.getStart(startSitu), + exact: (start, _soffset, _finish, _foffset) => start + }); + const domRange = adt.domRange; + const relative = adt.relative; + const exact = adt.exact; + const getWin = selection => { + const start = getStart(selection); + return defaultView(start); + }; + const range = SimRange.create; + const SimSelection = { + domRange, + relative, + exact, + exactFromRange, + getWin, + range + }; + + const caretPositionFromPoint = (doc, x, y) => { + var _a, _b; + return Optional.from((_b = (_a = doc.dom).caretPositionFromPoint) === null || _b === void 0 ? void 0 : _b.call(_a, x, y)).bind(pos => { + if (pos.offsetNode === null) { + return Optional.none(); + } + const r = doc.dom.createRange(); + r.setStart(pos.offsetNode, pos.offset); + r.collapse(); + return Optional.some(r); + }); + }; + const caretRangeFromPoint = (doc, x, y) => { + var _a, _b; + return Optional.from((_b = (_a = doc.dom).caretRangeFromPoint) === null || _b === void 0 ? void 0 : _b.call(_a, x, y)); + }; + const availableSearch = (() => { + if (document.caretPositionFromPoint) { + return caretPositionFromPoint; + } else if (document.caretRangeFromPoint) { + return caretRangeFromPoint; + } else { + return Optional.none; + } + })(); + const fromPoint = (win, x, y) => { + const doc = SugarElement.fromDom(win.document); + return availableSearch(doc, x, y).map(rng => SimRange.create(SugarElement.fromDom(rng.startContainer), rng.startOffset, SugarElement.fromDom(rng.endContainer), rng.endOffset)); + }; + + const beforeSpecial = (element, offset) => { + const name$1 = name(element); + if ('input' === name$1) { + return Situ.after(element); + } else if (!contains$2([ + 'br', + 'img' + ], name$1)) { + return Situ.on(element, offset); + } else { + return offset === 0 ? Situ.before(element) : Situ.after(element); + } + }; + const preprocessRelative = (startSitu, finishSitu) => { + const start = startSitu.fold(Situ.before, beforeSpecial, Situ.after); + const finish = finishSitu.fold(Situ.before, beforeSpecial, Situ.after); + return SimSelection.relative(start, finish); + }; + const preprocessExact = (start, soffset, finish, foffset) => { + const startSitu = beforeSpecial(start, soffset); + const finishSitu = beforeSpecial(finish, foffset); + return SimSelection.relative(startSitu, finishSitu); + }; + + const makeRange = (start, soffset, finish, foffset) => { + const doc = owner(start); + const rng = doc.dom.createRange(); + rng.setStart(start.dom, soffset); + rng.setEnd(finish.dom, foffset); + return rng; + }; + const after = (start, soffset, finish, foffset) => { + const r = makeRange(start, soffset, finish, foffset); + const same = eq$1(start, finish) && soffset === foffset; + return r.collapsed && !same; + }; + + const getNativeSelection = win => Optional.from(win.getSelection()); + const doSetNativeRange = (win, rng) => { + getNativeSelection(win).each(selection => { + selection.removeAllRanges(); + selection.addRange(rng); + }); + }; + const doSetRange = (win, start, soffset, finish, foffset) => { + const rng = exactToNative(win, start, soffset, finish, foffset); + doSetNativeRange(win, rng); + }; + const setLegacyRtlRange = (win, selection, start, soffset, finish, foffset) => { + selection.collapse(start.dom, soffset); + selection.extend(finish.dom, foffset); + }; + const setRangeFromRelative = (win, relative) => diagnose(win, relative).match({ + ltr: (start, soffset, finish, foffset) => { + doSetRange(win, start, soffset, finish, foffset); + }, + rtl: (start, soffset, finish, foffset) => { + getNativeSelection(win).each(selection => { + if (selection.setBaseAndExtent) { + selection.setBaseAndExtent(start.dom, soffset, finish.dom, foffset); + } else if (selection.extend) { + try { + setLegacyRtlRange(win, selection, start, soffset, finish, foffset); + } catch (e) { + doSetRange(win, finish, foffset, start, soffset); + } + } else { + doSetRange(win, finish, foffset, start, soffset); + } + }); + } + }); + const setExact = (win, start, soffset, finish, foffset) => { + const relative = preprocessExact(start, soffset, finish, foffset); + setRangeFromRelative(win, relative); + }; + const setRelative = (win, startSitu, finishSitu) => { + const relative = preprocessRelative(startSitu, finishSitu); + setRangeFromRelative(win, relative); + }; + const readRange = selection => { + if (selection.rangeCount > 0) { + const firstRng = selection.getRangeAt(0); + const lastRng = selection.getRangeAt(selection.rangeCount - 1); + return Optional.some(SimRange.create(SugarElement.fromDom(firstRng.startContainer), firstRng.startOffset, SugarElement.fromDom(lastRng.endContainer), lastRng.endOffset)); + } else { + return Optional.none(); + } + }; + const doGetExact = selection => { + if (selection.anchorNode === null || selection.focusNode === null) { + return readRange(selection); + } else { + const anchor = SugarElement.fromDom(selection.anchorNode); + const focus = SugarElement.fromDom(selection.focusNode); + return after(anchor, selection.anchorOffset, focus, selection.focusOffset) ? Optional.some(SimRange.create(anchor, selection.anchorOffset, focus, selection.focusOffset)) : readRange(selection); + } + }; + const setToElement = (win, element, selectNodeContents$1 = true) => { + const rngGetter = selectNodeContents$1 ? selectNodeContents : selectNode; + const rng = rngGetter(win, element); + doSetNativeRange(win, rng); + }; + const getExact = win => getNativeSelection(win).filter(sel => sel.rangeCount > 0).bind(doGetExact); + const get$2 = win => getExact(win).map(range => SimSelection.exact(range.start, range.soffset, range.finish, range.foffset)); + const getFirstRect = (win, selection) => { + const rng = asLtrRange(win, selection); + return getFirstRect$1(rng); + }; + const getAtPoint = (win, x, y) => fromPoint(win, x, y); + const clear = win => { + getNativeSelection(win).each(selection => selection.removeAllRanges()); + }; + + const WindowBridge = win => { + const elementFromPoint = (x, y) => { + return SugarElement.fromPoint(SugarElement.fromDom(win.document), x, y); + }; + const getRect = element => { + return element.dom.getBoundingClientRect(); + }; + const getRangedRect = (start, soffset, finish, foffset) => { + const sel = SimSelection.exact(start, soffset, finish, foffset); + return getFirstRect(win, sel); + }; + const getSelection = () => { + return get$2(win).map(exactAdt => { + return convertToRange(win, exactAdt); + }); + }; + const fromSitus = situs => { + const relative = SimSelection.relative(situs.start, situs.finish); + return convertToRange(win, relative); + }; + const situsFromPoint = (x, y) => { + return getAtPoint(win, x, y).map(exact => { + return Situs.create(exact.start, exact.soffset, exact.finish, exact.foffset); + }); + }; + const clearSelection = () => { + clear(win); + }; + const collapseSelection = (toStart = false) => { + get$2(win).each(sel => sel.fold(rng => rng.collapse(toStart), (startSitu, finishSitu) => { + const situ = toStart ? startSitu : finishSitu; + setRelative(win, situ, situ); + }, (start, soffset, finish, foffset) => { + const node = toStart ? start : finish; + const offset = toStart ? soffset : foffset; + setExact(win, node, offset, node, offset); + })); + }; + const selectNode = element => { + setToElement(win, element, false); + }; + const selectContents = element => { + setToElement(win, element); + }; + const setSelection = sel => { + setExact(win, sel.start, sel.soffset, sel.finish, sel.foffset); + }; + const setRelativeSelection = (start, finish) => { + setRelative(win, start, finish); + }; + const getInnerHeight = () => { + return win.innerHeight; + }; + const getScrollY = () => { + const pos = get$3(SugarElement.fromDom(win.document)); + return pos.top; + }; + const scrollBy = (x, y) => { + by(x, y, SugarElement.fromDom(win.document)); + }; + return { + elementFromPoint, + getRect, + getRangedRect, + getSelection, + fromSitus, + situsFromPoint, + clearSelection, + collapseSelection, + setSelection, + setRelativeSelection, + selectNode, + selectContents, + getInnerHeight, + getScrollY, + scrollBy + }; + }; + + const rc = (rows, cols) => ({ + rows, + cols + }); + const mouse = (win, container, isRoot, annotations) => { + const bridge = WindowBridge(win); + const handlers = MouseSelection(bridge, container, isRoot, annotations); + return { + clearstate: handlers.clearstate, + mousedown: handlers.mousedown, + mouseover: handlers.mouseover, + mouseup: handlers.mouseup + }; + }; + const isEditableNode = node => closest$2(node, isHTMLElement).exists(isEditable$1); + const isEditableSelection = (start, finish) => isEditableNode(start) || isEditableNode(finish); + const keyboard = (win, container, isRoot, annotations) => { + const bridge = WindowBridge(win); + const clearToNavigate = () => { + annotations.clear(container); + return Optional.none(); + }; + const keydown = (event, start, soffset, finish, foffset, direction) => { + const realEvent = event.raw; + const keycode = realEvent.which; + const shiftKey = realEvent.shiftKey === true; + const handler = retrieve$1(container, annotations.selectedSelector).fold(() => { + if (isNavigation(keycode) && !shiftKey) { + annotations.clearBeforeUpdate(container); + } + if (isNavigation(keycode) && shiftKey && !isEditableSelection(start, finish)) { + return Optional.none; + } else if (isDown(keycode) && shiftKey) { + return curry(select, bridge, container, isRoot, down, finish, start, annotations.selectRange); + } else if (isUp(keycode) && shiftKey) { + return curry(select, bridge, container, isRoot, up, finish, start, annotations.selectRange); + } else if (isDown(keycode)) { + return curry(navigate, bridge, isRoot, down, finish, start, lastDownCheck); + } else if (isUp(keycode)) { + return curry(navigate, bridge, isRoot, up, finish, start, firstUpCheck); + } else { + return Optional.none; + } + }, selected => { + const update$1 = attempts => { + return () => { + const navigation = findMap(attempts, delta => { + return update(delta.rows, delta.cols, container, selected, annotations); + }); + return navigation.fold(() => { + return getEdges(container, annotations.firstSelectedSelector, annotations.lastSelectedSelector).map(edges => { + const relative = isDown(keycode) || direction.isForward(keycode) ? Situ.after : Situ.before; + bridge.setRelativeSelection(Situ.on(edges.first, 0), relative(edges.table)); + annotations.clear(container); + return Response.create(Optional.none(), true); + }); + }, _ => { + return Optional.some(Response.create(Optional.none(), true)); + }); + }; + }; + if (isNavigation(keycode) && shiftKey && !isEditableSelection(start, finish)) { + return Optional.none; + } else if (isDown(keycode) && shiftKey) { + return update$1([rc(+1, 0)]); + } else if (isUp(keycode) && shiftKey) { + return update$1([rc(-1, 0)]); + } else if (direction.isBackward(keycode) && shiftKey) { + return update$1([ + rc(0, -1), + rc(-1, 0) + ]); + } else if (direction.isForward(keycode) && shiftKey) { + return update$1([ + rc(0, +1), + rc(+1, 0) + ]); + } else if (isNavigation(keycode) && !shiftKey) { + return clearToNavigate; + } else { + return Optional.none; + } + }); + return handler(); + }; + const keyup = (event, start, soffset, finish, foffset) => { + return retrieve$1(container, annotations.selectedSelector).fold(() => { + const realEvent = event.raw; + const keycode = realEvent.which; + const shiftKey = realEvent.shiftKey === true; + if (!shiftKey) { + return Optional.none(); + } + if (isNavigation(keycode) && isEditableSelection(start, finish)) { + return sync(container, isRoot, start, soffset, finish, foffset, annotations.selectRange); + } else { + return Optional.none(); + } + }, Optional.none); + }; + return { + keydown, + keyup + }; + }; + const external = (win, container, isRoot, annotations) => { + const bridge = WindowBridge(win); + return (start, finish) => { + annotations.clearBeforeUpdate(container); + identify(start, finish, isRoot).each(cellSel => { + const boxes = cellSel.boxes.getOr([]); + annotations.selectRange(container, boxes, cellSel.start, cellSel.finish); + bridge.selectContents(finish); + bridge.collapseSelection(); + }); + }; + }; + + const read = (element, attr) => { + const value = get$b(element, attr); + return value === undefined || value === '' ? [] : value.split(' '); + }; + const add$2 = (element, attr, id) => { + const old = read(element, attr); + const nu = old.concat([id]); + set$2(element, attr, nu.join(' ')); + return true; + }; + const remove$4 = (element, attr, id) => { + const nu = filter$2(read(element, attr), v => v !== id); + if (nu.length > 0) { + set$2(element, attr, nu.join(' ')); + } else { + remove$7(element, attr); + } + return false; + }; + + const supports = element => element.dom.classList !== undefined; + const get$1 = element => read(element, 'class'); + const add$1 = (element, clazz) => add$2(element, 'class', clazz); + const remove$3 = (element, clazz) => remove$4(element, 'class', clazz); + + const add = (element, clazz) => { + if (supports(element)) { + element.dom.classList.add(clazz); + } else { + add$1(element, clazz); + } + }; + const cleanClass = element => { + const classList = supports(element) ? element.dom.classList : get$1(element); + if (classList.length === 0) { + remove$7(element, 'class'); + } + }; + const remove$2 = (element, clazz) => { + if (supports(element)) { + const classList = element.dom.classList; + classList.remove(clazz); + } else { + remove$3(element, clazz); + } + cleanClass(element); + }; + const has = (element, clazz) => supports(element) && element.dom.classList.contains(clazz); + + const remove$1 = (element, classes) => { + each$2(classes, x => { + remove$2(element, x); + }); + }; + + const addClass = clazz => element => { + add(element, clazz); + }; + const removeClasses = classes => element => { + remove$1(element, classes); + }; + + const byClass = ephemera => { + const addSelectionClass = addClass(ephemera.selected); + const removeSelectionClasses = removeClasses([ + ephemera.selected, + ephemera.lastSelected, + ephemera.firstSelected + ]); + const clear = container => { + const sels = descendants(container, ephemera.selectedSelector); + each$2(sels, removeSelectionClasses); + }; + const selectRange = (container, cells, start, finish) => { + clear(container); + each$2(cells, addSelectionClass); + add(start, ephemera.firstSelected); + add(finish, ephemera.lastSelected); + }; + return { + clearBeforeUpdate: clear, + clear, + selectRange, + selectedSelector: ephemera.selectedSelector, + firstSelectedSelector: ephemera.firstSelectedSelector, + lastSelectedSelector: ephemera.lastSelectedSelector + }; + }; + const byAttr = (ephemera, onSelection, onClear) => { + const removeSelectionAttributes = element => { + remove$7(element, ephemera.selected); + remove$7(element, ephemera.firstSelected); + remove$7(element, ephemera.lastSelected); + }; + const addSelectionAttribute = element => { + set$2(element, ephemera.selected, '1'); + }; + const clear = container => { + clearBeforeUpdate(container); + onClear(); + }; + const clearBeforeUpdate = container => { + const sels = descendants(container, `${ ephemera.selectedSelector },${ ephemera.firstSelectedSelector },${ ephemera.lastSelectedSelector }`); + each$2(sels, removeSelectionAttributes); + }; + const selectRange = (container, cells, start, finish) => { + clear(container); + each$2(cells, addSelectionAttribute); + set$2(start, ephemera.firstSelected, '1'); + set$2(finish, ephemera.lastSelected, '1'); + onSelection(cells, start, finish); + }; + return { + clearBeforeUpdate, + clear, + selectRange, + selectedSelector: ephemera.selectedSelector, + firstSelectedSelector: ephemera.firstSelectedSelector, + lastSelectedSelector: ephemera.lastSelectedSelector + }; + }; + const SelectionAnnotation = { + byClass, + byAttr + }; + + const fold = (subject, onNone, onMultiple, onSingle) => { + switch (subject.tag) { + case 'none': + return onNone(); + case 'single': + return onSingle(subject.element); + case 'multiple': + return onMultiple(subject.elements); + } + }; + const none = () => ({ tag: 'none' }); + const multiple = elements => ({ + tag: 'multiple', + elements + }); + const single = element => ({ + tag: 'single', + element + }); + + const Selections = (lazyRoot, getStart, selectedSelector) => { + const get = () => retrieve(lazyRoot(), selectedSelector).fold(() => getStart().fold(none, single), multiple); + return { get }; + }; + + const getUpOrLeftCells = (grid, selectedCells) => { + const upGrid = grid.slice(0, selectedCells[selectedCells.length - 1].row + 1); + const upDetails = toDetailList(upGrid); + return bind$2(upDetails, detail => { + const slicedCells = detail.cells.slice(0, selectedCells[selectedCells.length - 1].column + 1); + return map$1(slicedCells, cell => cell.element); + }); + }; + const getDownOrRightCells = (grid, selectedCells) => { + const downGrid = grid.slice(selectedCells[0].row + selectedCells[0].rowspan - 1, grid.length); + const downDetails = toDetailList(downGrid); + return bind$2(downDetails, detail => { + const slicedCells = detail.cells.slice(selectedCells[0].column + selectedCells[0].colspan - 1, detail.cells.length); + return map$1(slicedCells, cell => cell.element); + }); + }; + const getOtherCells = (table, target, generators) => { + const warehouse = Warehouse.fromTable(table); + const details = onCells(warehouse, target); + return details.map(selectedCells => { + const grid = toGrid(warehouse, generators, false); + const {rows} = extractGridDetails(grid); + const upOrLeftCells = getUpOrLeftCells(rows, selectedCells); + const downOrRightCells = getDownOrRightCells(rows, selectedCells); + return { + upOrLeftCells, + downOrRightCells + }; + }); + }; + + const mkEvent = (target, x, y, stop, prevent, kill, raw) => ({ + target, + x, + y, + stop, + prevent, + kill, + raw + }); + const fromRawEvent$1 = rawEvent => { + const target = SugarElement.fromDom(getOriginalEventTarget(rawEvent).getOr(rawEvent.target)); + const stop = () => rawEvent.stopPropagation(); + const prevent = () => rawEvent.preventDefault(); + const kill = compose(prevent, stop); + return mkEvent(target, rawEvent.clientX, rawEvent.clientY, stop, prevent, kill, rawEvent); + }; + const handle = (filter, handler) => rawEvent => { + if (filter(rawEvent)) { + handler(fromRawEvent$1(rawEvent)); + } + }; + const binder = (element, event, filter, handler, useCapture) => { + const wrapped = handle(filter, handler); + element.dom.addEventListener(event, wrapped, useCapture); + return { unbind: curry(unbind, element, event, wrapped, useCapture) }; + }; + const bind$1 = (element, event, filter, handler) => binder(element, event, filter, handler, false); + const unbind = (element, event, handler, useCapture) => { + element.dom.removeEventListener(event, handler, useCapture); + }; + + const filter = always; + const bind = (element, event, handler) => bind$1(element, event, filter, handler); + const fromRawEvent = fromRawEvent$1; + + const hasInternalTarget = e => !has(SugarElement.fromDom(e.target), 'ephox-snooker-resizer-bar'); + const TableCellSelectionHandler = (editor, resizeHandler) => { + const cellSelection = Selections(() => SugarElement.fromDom(editor.getBody()), () => getSelectionCell(getSelectionStart(editor), getIsRoot(editor)), ephemera.selectedSelector); + const onSelection = (cells, start, finish) => { + const tableOpt = table(start); + tableOpt.each(table => { + const cloneFormats = getTableCloneElements(editor); + const generators = cellOperations(noop, SugarElement.fromDom(editor.getDoc()), cloneFormats); + const selectedCells = getCellsFromSelection(editor); + const otherCells = getOtherCells(table, { selection: selectedCells }, generators); + fireTableSelectionChange(editor, cells, start, finish, otherCells); + }); + }; + const onClear = () => fireTableSelectionClear(editor); + const annotations = SelectionAnnotation.byAttr(ephemera, onSelection, onClear); + editor.on('init', _e => { + const win = editor.getWin(); + const body = getBody(editor); + const isRoot = getIsRoot(editor); + const syncSelection = () => { + const sel = editor.selection; + const start = SugarElement.fromDom(sel.getStart()); + const end = SugarElement.fromDom(sel.getEnd()); + const shared = sharedOne(table, [ + start, + end + ]); + shared.fold(() => annotations.clear(body), noop); + }; + const mouseHandlers = mouse(win, body, isRoot, annotations); + const keyHandlers = keyboard(win, body, isRoot, annotations); + const external$1 = external(win, body, isRoot, annotations); + const hasShiftKey = event => event.raw.shiftKey === true; + editor.on('TableSelectorChange', e => external$1(e.start, e.finish)); + const handleResponse = (event, response) => { + if (!hasShiftKey(event)) { + return; + } + if (response.kill) { + event.kill(); + } + response.selection.each(ns => { + const relative = SimSelection.relative(ns.start, ns.finish); + const rng = asLtrRange(win, relative); + editor.selection.setRng(rng); + }); + }; + const keyup = event => { + const wrappedEvent = fromRawEvent(event); + if (wrappedEvent.raw.shiftKey && isNavigation(wrappedEvent.raw.which)) { + const rng = editor.selection.getRng(); + const start = SugarElement.fromDom(rng.startContainer); + const end = SugarElement.fromDom(rng.endContainer); + keyHandlers.keyup(wrappedEvent, start, rng.startOffset, end, rng.endOffset).each(response => { + handleResponse(wrappedEvent, response); + }); + } + }; + const keydown = event => { + const wrappedEvent = fromRawEvent(event); + resizeHandler.hide(); + const rng = editor.selection.getRng(); + const start = SugarElement.fromDom(rng.startContainer); + const end = SugarElement.fromDom(rng.endContainer); + const direction = onDirection(ltr, rtl)(SugarElement.fromDom(editor.selection.getStart())); + keyHandlers.keydown(wrappedEvent, start, rng.startOffset, end, rng.endOffset, direction).each(response => { + handleResponse(wrappedEvent, response); + }); + resizeHandler.show(); + }; + const isLeftMouse = raw => raw.button === 0; + const isLeftButtonPressed = raw => { + if (raw.buttons === undefined) { + return true; + } + return (raw.buttons & 1) !== 0; + }; + const dragStart = _e => { + mouseHandlers.clearstate(); + }; + const mouseDown = e => { + if (isLeftMouse(e) && hasInternalTarget(e)) { + mouseHandlers.mousedown(fromRawEvent(e)); + } + }; + const mouseOver = e => { + if (isLeftButtonPressed(e) && hasInternalTarget(e)) { + mouseHandlers.mouseover(fromRawEvent(e)); + } + }; + const mouseUp = e => { + if (isLeftMouse(e) && hasInternalTarget(e)) { + mouseHandlers.mouseup(fromRawEvent(e)); + } + }; + const getDoubleTap = () => { + const lastTarget = Cell(SugarElement.fromDom(body)); + const lastTimeStamp = Cell(0); + const touchEnd = t => { + const target = SugarElement.fromDom(t.target); + if (isTag('td')(target) || isTag('th')(target)) { + const lT = lastTarget.get(); + const lTS = lastTimeStamp.get(); + if (eq$1(lT, target) && t.timeStamp - lTS < 300) { + t.preventDefault(); + external$1(target, target); + } + } + lastTarget.set(target); + lastTimeStamp.set(t.timeStamp); + }; + return { touchEnd }; + }; + const doubleTap = getDoubleTap(); + editor.on('dragstart', dragStart); + editor.on('mousedown', mouseDown); + editor.on('mouseover', mouseOver); + editor.on('mouseup', mouseUp); + editor.on('touchend', doubleTap.touchEnd); + editor.on('keyup', keyup); + editor.on('keydown', keydown); + editor.on('NodeChange', syncSelection); + }); + editor.on('PreInit', () => { + editor.serializer.addTempAttr(ephemera.firstSelected); + editor.serializer.addTempAttr(ephemera.lastSelected); + }); + const clearSelectedCells = container => annotations.clear(SugarElement.fromDom(container)); + const getSelectedCells = () => fold(cellSelection.get(), constant([]), cells => { + return map$1(cells, cell => cell.dom); + }, cell => [cell.dom]); + return { + getSelectedCells, + clearSelectedCells + }; + }; + + const Event = fields => { + let handlers = []; + const bind = handler => { + if (handler === undefined) { + throw new Error('Event bind error: undefined handler'); + } + handlers.push(handler); + }; + const unbind = handler => { + handlers = filter$2(handlers, h => { + return h !== handler; + }); + }; + const trigger = (...args) => { + const event = {}; + each$2(fields, (name, i) => { + event[name] = args[i]; + }); + each$2(handlers, handler => { + handler(event); + }); + }; + return { + bind, + unbind, + trigger + }; + }; + + const create$1 = typeDefs => { + const registry = map(typeDefs, event => { + return { + bind: event.bind, + unbind: event.unbind + }; + }); + const trigger = map(typeDefs, event => { + return event.trigger; + }); + return { + registry, + trigger + }; + }; + + const last = (fn, rate) => { + let timer = null; + const cancel = () => { + if (!isNull(timer)) { + clearTimeout(timer); + timer = null; + } + }; + const throttle = (...args) => { + cancel(); + timer = setTimeout(() => { + timer = null; + fn.apply(null, args); + }, rate); + }; + return { + cancel, + throttle + }; + }; + + const sort = arr => { + return arr.slice(0).sort(); + }; + const reqMessage = (required, keys) => { + throw new Error('All required keys (' + sort(required).join(', ') + ') were not specified. Specified keys were: ' + sort(keys).join(', ') + '.'); + }; + const unsuppMessage = unsupported => { + throw new Error('Unsupported keys for object: ' + sort(unsupported).join(', ')); + }; + const validateStrArr = (label, array) => { + if (!isArray(array)) { + throw new Error('The ' + label + ' fields must be an array. Was: ' + array + '.'); + } + each$2(array, a => { + if (!isString(a)) { + throw new Error('The value ' + a + ' in the ' + label + ' fields was not a string.'); + } + }); + }; + const invalidTypeMessage = (incorrect, type) => { + throw new Error('All values need to be of type: ' + type + '. Keys (' + sort(incorrect).join(', ') + ') were not.'); + }; + const checkDupes = everything => { + const sorted = sort(everything); + const dupe = find$1(sorted, (s, i) => { + return i < sorted.length - 1 && s === sorted[i + 1]; + }); + dupe.each(d => { + throw new Error('The field: ' + d + ' occurs more than once in the combined fields: [' + sorted.join(', ') + '].'); + }); + }; + + const base = (handleUnsupported, required) => { + return baseWith(handleUnsupported, required, { + validate: isFunction, + label: 'function' + }); + }; + const baseWith = (handleUnsupported, required, pred) => { + if (required.length === 0) { + throw new Error('You must specify at least one required field.'); + } + validateStrArr('required', required); + checkDupes(required); + return obj => { + const keys$1 = keys(obj); + const allReqd = forall(required, req => { + return contains$2(keys$1, req); + }); + if (!allReqd) { + reqMessage(required, keys$1); + } + handleUnsupported(required, keys$1); + const invalidKeys = filter$2(required, key => { + return !pred.validate(obj[key], key); + }); + if (invalidKeys.length > 0) { + invalidTypeMessage(invalidKeys, pred.label); + } + return obj; + }; + }; + const handleExact = (required, keys) => { + const unsupported = filter$2(keys, key => { + return !contains$2(required, key); + }); + if (unsupported.length > 0) { + unsuppMessage(unsupported); + } + }; + const exactly = required => base(handleExact, required); + + const DragMode = exactly([ + 'compare', + 'extract', + 'mutate', + 'sink' + ]); + const DragSink = exactly([ + 'element', + 'start', + 'stop', + 'destroy' + ]); + const DragApi = exactly([ + 'forceDrop', + 'drop', + 'move', + 'delayDrop' + ]); + + const InDrag = () => { + let previous = Optional.none(); + const reset = () => { + previous = Optional.none(); + }; + const update = (mode, nu) => { + const result = previous.map(old => { + return mode.compare(old, nu); + }); + previous = Optional.some(nu); + return result; + }; + const onEvent = (event, mode) => { + const dataOption = mode.extract(event); + dataOption.each(data => { + const offset = update(mode, data); + offset.each(d => { + events.trigger.move(d); + }); + }); + }; + const events = create$1({ move: Event(['info']) }); + return { + onEvent, + reset, + events: events.registry + }; + }; + + const NoDrag = () => { + const events = create$1({ move: Event(['info']) }); + return { + onEvent: noop, + reset: noop, + events: events.registry + }; + }; + + const Movement = () => { + const noDragState = NoDrag(); + const inDragState = InDrag(); + let dragState = noDragState; + const on = () => { + dragState.reset(); + dragState = inDragState; + }; + const off = () => { + dragState.reset(); + dragState = noDragState; + }; + const onEvent = (event, mode) => { + dragState.onEvent(event, mode); + }; + const isOn = () => { + return dragState === inDragState; + }; + return { + on, + off, + isOn, + onEvent, + events: inDragState.events + }; + }; + + const setup = (mutation, mode, settings) => { + let active = false; + const events = create$1({ + start: Event([]), + stop: Event([]) + }); + const movement = Movement(); + const drop = () => { + sink.stop(); + if (movement.isOn()) { + movement.off(); + events.trigger.stop(); + } + }; + const throttledDrop = last(drop, 200); + const go = parent => { + sink.start(parent); + movement.on(); + events.trigger.start(); + }; + const mousemove = event => { + throttledDrop.cancel(); + movement.onEvent(event, mode); + }; + movement.events.move.bind(event => { + mode.mutate(mutation, event.info); + }); + const on = () => { + active = true; + }; + const off = () => { + active = false; + }; + const isActive = () => active; + const runIfActive = f => { + return (...args) => { + if (active) { + f.apply(null, args); + } + }; + }; + const sink = mode.sink(DragApi({ + forceDrop: drop, + drop: runIfActive(drop), + move: runIfActive(mousemove), + delayDrop: runIfActive(throttledDrop.throttle) + }), settings); + const destroy = () => { + sink.destroy(); + }; + return { + element: sink.element, + go, + on, + off, + isActive, + destroy, + events: events.registry + }; + }; + + const css = namespace => { + const dashNamespace = namespace.replace(/\./g, '-'); + const resolve = str => { + return dashNamespace + '-' + str; + }; + return { resolve }; + }; + + const styles$1 = css('ephox-dragster'); + const resolve$1 = styles$1.resolve; + + const Blocker = options => { + const settings = { + layerClass: resolve$1('blocker'), + ...options + }; + const div = SugarElement.fromTag('div'); + set$2(div, 'role', 'presentation'); + setAll(div, { + position: 'fixed', + left: '0px', + top: '0px', + width: '100%', + height: '100%' + }); + add(div, resolve$1('blocker')); + add(div, settings.layerClass); + const element = constant(div); + const destroy = () => { + remove$6(div); + }; + return { + element, + destroy + }; + }; + + const compare = (old, nu) => { + return SugarPosition(nu.left - old.left, nu.top - old.top); + }; + const extract = event => { + return Optional.some(SugarPosition(event.x, event.y)); + }; + const mutate = (mutation, info) => { + mutation.mutate(info.left, info.top); + }; + const sink = (dragApi, settings) => { + const blocker = Blocker(settings); + const mdown = bind(blocker.element(), 'mousedown', dragApi.forceDrop); + const mup = bind(blocker.element(), 'mouseup', dragApi.drop); + const mmove = bind(blocker.element(), 'mousemove', dragApi.move); + const mout = bind(blocker.element(), 'mouseout', dragApi.delayDrop); + const destroy = () => { + blocker.destroy(); + mup.unbind(); + mmove.unbind(); + mout.unbind(); + mdown.unbind(); + }; + const start = parent => { + append$1(parent, blocker.element()); + }; + const stop = () => { + remove$6(blocker.element()); + }; + return DragSink({ + element: blocker.element, + start, + stop, + destroy + }); + }; + var MouseDrag = DragMode({ + compare, + extract, + sink, + mutate + }); + + const transform = (mutation, settings = {}) => { + var _a; + const mode = (_a = settings.mode) !== null && _a !== void 0 ? _a : MouseDrag; + return setup(mutation, mode, settings); + }; + + const styles = css('ephox-snooker'); + const resolve = styles.resolve; + + const Mutation = () => { + const events = create$1({ + drag: Event([ + 'xDelta', + 'yDelta' + ]) + }); + const mutate = (x, y) => { + events.trigger.drag(x, y); + }; + return { + mutate, + events: events.registry + }; + }; + + const BarMutation = () => { + const events = create$1({ + drag: Event([ + 'xDelta', + 'yDelta', + 'target' + ]) + }); + let target = Optional.none(); + const delegate = Mutation(); + delegate.events.drag.bind(event => { + target.each(t => { + events.trigger.drag(event.xDelta, event.yDelta, t); + }); + }); + const assign = t => { + target = Optional.some(t); + }; + const get = () => { + return target; + }; + return { + assign, + get, + mutate: delegate.mutate, + events: events.registry + }; + }; + + const col = (column, x, y, w, h) => { + const bar = SugarElement.fromTag('div'); + setAll(bar, { + position: 'absolute', + left: x - w / 2 + 'px', + top: y + 'px', + height: h + 'px', + width: w + 'px' + }); + setAll$1(bar, { + 'data-column': column, + 'role': 'presentation' + }); + return bar; + }; + const row = (r, x, y, w, h) => { + const bar = SugarElement.fromTag('div'); + setAll(bar, { + position: 'absolute', + left: x + 'px', + top: y - h / 2 + 'px', + height: h + 'px', + width: w + 'px' + }); + setAll$1(bar, { + 'data-row': r, + 'role': 'presentation' + }); + return bar; + }; + + const resizeBar = resolve('resizer-bar'); + const resizeRowBar = resolve('resizer-rows'); + const resizeColBar = resolve('resizer-cols'); + const BAR_THICKNESS = 7; + const resizableRows = (warehouse, isResizable) => bind$2(warehouse.all, (row, i) => isResizable(row.element) ? [i] : []); + const resizableColumns = (warehouse, isResizable) => { + const resizableCols = []; + range$1(warehouse.grid.columns, index => { + const colElmOpt = Warehouse.getColumnAt(warehouse, index).map(col => col.element); + if (colElmOpt.forall(isResizable)) { + resizableCols.push(index); + } + }); + return filter$2(resizableCols, colIndex => { + const columnCells = Warehouse.filterItems(warehouse, cell => cell.column === colIndex); + return forall(columnCells, cell => isResizable(cell.element)); + }); + }; + const destroy = wire => { + const previous = descendants(wire.parent(), '.' + resizeBar); + each$2(previous, remove$6); + }; + const drawBar = (wire, positions, create) => { + const origin = wire.origin(); + each$2(positions, cpOption => { + cpOption.each(cp => { + const bar = create(origin, cp); + add(bar, resizeBar); + append$1(wire.parent(), bar); + }); + }); + }; + const refreshCol = (wire, colPositions, position, tableHeight) => { + drawBar(wire, colPositions, (origin, cp) => { + const colBar = col(cp.col, cp.x - origin.left, position.top - origin.top, BAR_THICKNESS, tableHeight); + add(colBar, resizeColBar); + return colBar; + }); + }; + const refreshRow = (wire, rowPositions, position, tableWidth) => { + drawBar(wire, rowPositions, (origin, cp) => { + const rowBar = row(cp.row, position.left - origin.left, cp.y - origin.top, tableWidth, BAR_THICKNESS); + add(rowBar, resizeRowBar); + return rowBar; + }); + }; + const refreshGrid = (warhouse, wire, table, rows, cols) => { + const position = absolute(table); + const isResizable = wire.isResizable; + const rowPositions = rows.length > 0 ? height.positions(rows, table) : []; + const resizableRowBars = rowPositions.length > 0 ? resizableRows(warhouse, isResizable) : []; + const resizableRowPositions = filter$2(rowPositions, (_pos, i) => exists(resizableRowBars, barIndex => i === barIndex)); + refreshRow(wire, resizableRowPositions, position, getOuter$2(table)); + const colPositions = cols.length > 0 ? width.positions(cols, table) : []; + const resizableColBars = colPositions.length > 0 ? resizableColumns(warhouse, isResizable) : []; + const resizableColPositions = filter$2(colPositions, (_pos, i) => exists(resizableColBars, barIndex => i === barIndex)); + refreshCol(wire, resizableColPositions, position, getOuter$1(table)); + }; + const refresh = (wire, table) => { + destroy(wire); + if (wire.isResizable(table)) { + const warehouse = Warehouse.fromTable(table); + const rows$1 = rows(warehouse); + const cols = columns(warehouse); + refreshGrid(warehouse, wire, table, rows$1, cols); + } + }; + const each = (wire, f) => { + const bars = descendants(wire.parent(), '.' + resizeBar); + each$2(bars, f); + }; + const hide = wire => { + each(wire, bar => { + set$1(bar, 'display', 'none'); + }); + }; + const show = wire => { + each(wire, bar => { + set$1(bar, 'display', 'block'); + }); + }; + const isRowBar = element => { + return has(element, resizeRowBar); + }; + const isColBar = element => { + return has(element, resizeColBar); + }; + + const resizeBarDragging = resolve('resizer-bar-dragging'); + const BarManager = wire => { + const mutation = BarMutation(); + const resizing = transform(mutation, {}); + let hoverTable = Optional.none(); + const getResizer = (element, type) => { + return Optional.from(get$b(element, type)); + }; + mutation.events.drag.bind(event => { + getResizer(event.target, 'data-row').each(_dataRow => { + const currentRow = getCssValue(event.target, 'top'); + set$1(event.target, 'top', currentRow + event.yDelta + 'px'); + }); + getResizer(event.target, 'data-column').each(_dataCol => { + const currentCol = getCssValue(event.target, 'left'); + set$1(event.target, 'left', currentCol + event.xDelta + 'px'); + }); + }); + const getDelta = (target, dir) => { + const newX = getCssValue(target, dir); + const oldX = getAttrValue(target, 'data-initial-' + dir, 0); + return newX - oldX; + }; + resizing.events.stop.bind(() => { + mutation.get().each(target => { + hoverTable.each(table => { + getResizer(target, 'data-row').each(row => { + const delta = getDelta(target, 'top'); + remove$7(target, 'data-initial-top'); + events.trigger.adjustHeight(table, delta, parseInt(row, 10)); + }); + getResizer(target, 'data-column').each(column => { + const delta = getDelta(target, 'left'); + remove$7(target, 'data-initial-left'); + events.trigger.adjustWidth(table, delta, parseInt(column, 10)); + }); + refresh(wire, table); + }); + }); + }); + const handler = (target, dir) => { + events.trigger.startAdjust(); + mutation.assign(target); + set$2(target, 'data-initial-' + dir, getCssValue(target, dir)); + add(target, resizeBarDragging); + set$1(target, 'opacity', '0.2'); + resizing.go(wire.parent()); + }; + const mousedown = bind(wire.parent(), 'mousedown', event => { + if (isRowBar(event.target)) { + handler(event.target, 'top'); + } + if (isColBar(event.target)) { + handler(event.target, 'left'); + } + }); + const isRoot = e => { + return eq$1(e, wire.view()); + }; + const findClosestEditableTable = target => closest$1(target, 'table', isRoot).filter(isEditable$1); + const mouseover = bind(wire.view(), 'mouseover', event => { + findClosestEditableTable(event.target).fold(() => { + if (inBody(event.target)) { + destroy(wire); + } + }, table => { + if (resizing.isActive()) { + hoverTable = Optional.some(table); + refresh(wire, table); + } + }); + }); + const destroy$1 = () => { + mousedown.unbind(); + mouseover.unbind(); + resizing.destroy(); + destroy(wire); + }; + const refresh$1 = tbl => { + refresh(wire, tbl); + }; + const events = create$1({ + adjustHeight: Event([ + 'table', + 'delta', + 'row' + ]), + adjustWidth: Event([ + 'table', + 'delta', + 'column' + ]), + startAdjust: Event([]) + }); + return { + destroy: destroy$1, + refresh: refresh$1, + on: resizing.on, + off: resizing.off, + hideBars: curry(hide, wire), + showBars: curry(show, wire), + events: events.registry + }; + }; + + const create = (wire, resizing, lazySizing) => { + const hdirection = height; + const vdirection = width; + const manager = BarManager(wire); + const events = create$1({ + beforeResize: Event([ + 'table', + 'type' + ]), + afterResize: Event([ + 'table', + 'type' + ]), + startDrag: Event([]) + }); + manager.events.adjustHeight.bind(event => { + const table = event.table; + events.trigger.beforeResize(table, 'row'); + const delta = hdirection.delta(event.delta, table); + adjustHeight(table, delta, event.row, hdirection); + events.trigger.afterResize(table, 'row'); + }); + manager.events.startAdjust.bind(_event => { + events.trigger.startDrag(); + }); + manager.events.adjustWidth.bind(event => { + const table = event.table; + events.trigger.beforeResize(table, 'col'); + const delta = vdirection.delta(event.delta, table); + const tableSize = lazySizing(table); + adjustWidth(table, delta, event.column, resizing, tableSize); + events.trigger.afterResize(table, 'col'); + }); + return { + on: manager.on, + off: manager.off, + refreshBars: manager.refresh, + hideBars: manager.hideBars, + showBars: manager.showBars, + destroy: manager.destroy, + events: events.registry + }; + }; + const TableResize = { create }; + + const only = (element, isResizable) => { + const parent = isDocument(element) ? documentElement(element) : element; + return { + parent: constant(parent), + view: constant(element), + origin: constant(SugarPosition(0, 0)), + isResizable + }; + }; + const detached = (editable, chrome, isResizable) => { + const origin = () => absolute(chrome); + return { + parent: constant(chrome), + view: constant(editable), + origin, + isResizable + }; + }; + const body = (editable, chrome, isResizable) => { + return { + parent: constant(chrome), + view: constant(editable), + origin: constant(SugarPosition(0, 0)), + isResizable + }; + }; + const ResizeWire = { + only, + detached, + body + }; + + const createContainer = () => { + const container = SugarElement.fromTag('div'); + setAll(container, { + position: 'static', + height: '0', + width: '0', + padding: '0', + margin: '0', + border: '0' + }); + append$1(body$1(), container); + return container; + }; + const get = (editor, isResizable) => { + return editor.inline ? ResizeWire.body(SugarElement.fromDom(editor.getBody()), createContainer(), isResizable) : ResizeWire.only(SugarElement.fromDom(editor.getDoc()), isResizable); + }; + const remove = (editor, wire) => { + if (editor.inline) { + remove$6(wire.parent()); + } + }; + + const isTable = node => isNonNullable(node) && node.nodeName === 'TABLE'; + const barResizerPrefix = 'bar-'; + const isResizable = elm => get$b(elm, 'data-mce-resize') !== 'false'; + const syncPixels = table => { + const warehouse = Warehouse.fromTable(table); + if (!Warehouse.hasColumns(warehouse)) { + each$2(cells$1(table), cell => { + const computedWidth = get$a(cell, 'width'); + set$1(cell, 'width', computedWidth); + remove$7(cell, 'width'); + }); + } + }; + const TableResizeHandler = editor => { + const selectionRng = value(); + const tableResize = value(); + const resizeWire = value(); + let startW; + let startRawW; + const lazySizing = table => get$5(editor, table); + const lazyResizingBehaviour = () => isPreserveTableColumnResizing(editor) ? preserveTable() : resizeTable(); + const getNumColumns = table => getGridSize(table).columns; + const afterCornerResize = (table, origin, width) => { + const isRightEdgeResize = endsWith(origin, 'e'); + if (startRawW === '') { + convertToPercentSize(table); + } + if (width !== startW && startRawW !== '') { + set$1(table, 'width', startRawW); + const resizing = lazyResizingBehaviour(); + const tableSize = lazySizing(table); + const col = isPreserveTableColumnResizing(editor) || isRightEdgeResize ? getNumColumns(table) - 1 : 0; + adjustWidth(table, width - startW, col, resizing, tableSize); + } else if (isPercentage$1(startRawW)) { + const percentW = parseFloat(startRawW.replace('%', '')); + const targetPercentW = width * percentW / startW; + set$1(table, 'width', targetPercentW + '%'); + } + if (isPixel(startRawW)) { + syncPixels(table); + } + }; + const destroy = () => { + tableResize.on(sz => { + sz.destroy(); + }); + resizeWire.on(w => { + remove(editor, w); + }); + }; + editor.on('init', () => { + const rawWire = get(editor, isResizable); + resizeWire.set(rawWire); + if (hasTableObjectResizing(editor) && hasTableResizeBars(editor)) { + const resizing = lazyResizingBehaviour(); + const sz = TableResize.create(rawWire, resizing, lazySizing); + sz.on(); + sz.events.startDrag.bind(_event => { + selectionRng.set(editor.selection.getRng()); + }); + sz.events.beforeResize.bind(event => { + const rawTable = event.table.dom; + fireObjectResizeStart(editor, rawTable, getPixelWidth(rawTable), getPixelHeight(rawTable), barResizerPrefix + event.type); + }); + sz.events.afterResize.bind(event => { + const table = event.table; + const rawTable = table.dom; + removeDataStyle(table); + selectionRng.on(rng => { + editor.selection.setRng(rng); + editor.focus(); + }); + fireObjectResized(editor, rawTable, getPixelWidth(rawTable), getPixelHeight(rawTable), barResizerPrefix + event.type); + editor.undoManager.add(); + }); + tableResize.set(sz); + } + }); + editor.on('ObjectResizeStart', e => { + const targetElm = e.target; + if (isTable(targetElm)) { + const table = SugarElement.fromDom(targetElm); + each$2(editor.dom.select('.mce-clonedresizable'), clone => { + editor.dom.addClass(clone, 'mce-' + getTableColumnResizingBehaviour(editor) + '-columns'); + }); + if (!isPixelSizing(table) && isTablePixelsForced(editor)) { + convertToPixelSize(table); + } else if (!isPercentSizing(table) && isTablePercentagesForced(editor)) { + convertToPercentSize(table); + } + if (isNoneSizing(table) && startsWith(e.origin, barResizerPrefix)) { + convertToPercentSize(table); + } + startW = e.width; + startRawW = isTableResponsiveForced(editor) ? '' : getRawWidth(editor, targetElm).getOr(''); + } + }); + editor.on('ObjectResized', e => { + const targetElm = e.target; + if (isTable(targetElm)) { + const table = SugarElement.fromDom(targetElm); + const origin = e.origin; + if (startsWith(origin, 'corner-')) { + afterCornerResize(table, origin, e.width); + } + removeDataStyle(table); + fireTableModified(editor, table.dom, styleModified); + } + }); + editor.on('SwitchMode', () => { + tableResize.on(resize => { + if (editor.mode.isReadOnly()) { + resize.hideBars(); + } else { + resize.showBars(); + } + }); + }); + editor.on('dragstart dragend', e => { + tableResize.on(resize => { + if (e.type === 'dragstart') { + resize.hideBars(); + resize.off(); + } else { + resize.on(); + resize.showBars(); + } + }); + }); + editor.on('remove', () => { + destroy(); + }); + const refresh = table => { + tableResize.on(resize => resize.refreshBars(SugarElement.fromDom(table))); + }; + const hide = () => { + tableResize.on(resize => resize.hideBars()); + }; + const show = () => { + tableResize.on(resize => resize.showBars()); + }; + return { + refresh, + hide, + show + }; + }; + + const setupTable = editor => { + register(editor); + const resizeHandler = TableResizeHandler(editor); + const cellSelectionHandler = TableCellSelectionHandler(editor, resizeHandler); + const actions = TableActions(editor, resizeHandler, cellSelectionHandler); + registerCommands(editor, actions); + registerQueryCommands(editor, actions); + registerEvents(editor, actions); + return { + getSelectedCells: cellSelectionHandler.getSelectedCells, + clearSelectedCells: cellSelectionHandler.clearSelectedCells + }; + }; + + const DomModel = editor => { + const table = setupTable(editor); + return { table }; + }; + var Model = () => { + global$1.add('dom', DomModel); + }; + + Model(); + +})(); diff --git a/public/tools/cloud_notes/tinymce/models/dom/model.min.js b/public/tools/cloud_notes/tinymce/models/dom/model.min.js new file mode 100644 index 0000000..268a435 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/models/dom/model.min.js @@ -0,0 +1,4 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ +!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.ModelManager");const t=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(o=n=e,(r=String).prototype.isPrototypeOf(o)||(null===(s=n.constructor)||void 0===s?void 0:s.name)===r.name)?"string":t;var o,n,r,s})(t)===e,o=e=>t=>typeof t===e,n=e=>t=>e===t,r=t("string"),s=t("object"),l=t("array"),a=n(null),c=o("boolean"),i=n(void 0),m=e=>!(e=>null==e)(e),d=o("function"),u=o("number"),f=()=>{},g=e=>()=>e,h=e=>e,p=(e,t)=>e===t;function w(e,...t){return(...o)=>{const n=t.concat(o);return e.apply(null,n)}}const b=e=>t=>!e(t),v=e=>e(),y=g(!1),x=g(!0);class C{constructor(e,t){this.tag=e,this.value=t}static some(e){return new C(!0,e)}static none(){return C.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?C.some(e(this.value)):C.none()}bind(e){return this.tag?e(this.value):C.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:C.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return m(e)?C.some(e):C.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}C.singletonNone=new C(!1);const S=Array.prototype.slice,T=Array.prototype.indexOf,R=Array.prototype.push,D=(e,t)=>{return o=e,n=t,T.call(o,n)>-1;var o,n},O=(e,t)=>{for(let o=0,n=e.length;o{const o=[];for(let n=0;n{const o=e.length,n=new Array(o);for(let r=0;r{for(let o=0,n=e.length;o{const o=[],n=[];for(let r=0,s=e.length;r{const o=[];for(let n=0,r=e.length;n(((e,t)=>{for(let o=e.length-1;o>=0;o--)t(e[o],o)})(e,((e,n)=>{o=t(o,e,n)})),o),A=(e,t,o)=>(N(e,((e,n)=>{o=t(o,e,n)})),o),L=(e,t)=>((e,t,o)=>{for(let n=0,r=e.length;n{for(let o=0,n=e.length;o{const t=[];for(let o=0,n=e.length;oM(E(e,t)),P=(e,t)=>{for(let o=0,n=e.length;o{const o={};for(let n=0,r=e.length;nt>=0&&tF(e,0),$=e=>F(e,e.length-1),V=(e,t)=>{for(let o=0;o{const o=q(e);for(let n=0,r=o.length;nY(e,((e,o)=>({k:o,v:t(e,o)}))),Y=(e,t)=>{const o={};return G(e,((e,n)=>{const r=t(e,n);o[r.k]=r.v})),o},J=(e,t)=>{const o=[];return G(e,((e,n)=>{o.push(t(e,n))})),o},Q=e=>J(e,h),X=(e,t)=>U.call(e,t),Z="undefined"!=typeof window?window:Function("return this;")(),ee=(e,t)=>((e,t)=>{let o=null!=t?t:Z;for(let t=0;t{const t=ee("ownerDocument.defaultView",e);return s(e)&&((e=>((e,t)=>{const o=((e,t)=>ee(e,t))(e,t);if(null==o)throw new Error(e+" not available on this browser");return o})("HTMLElement",e))(t).prototype.isPrototypeOf(e)||/^HTML\w*Element$/.test(te(e).constructor.name))},ne=e=>e.dom.nodeName.toLowerCase(),re=e=>e.dom.nodeType,se=e=>t=>re(t)===e,le=e=>8===re(e)||"#comment"===ne(e),ae=e=>ce(e)&&oe(e.dom),ce=se(1),ie=se(3),me=se(9),de=se(11),ue=e=>t=>ce(t)&&ne(t)===e,fe=(e,t,o)=>{if(!(r(o)||c(o)||u(o)))throw console.error("Invalid call to Attribute.set. Key ",t,":: Value ",o,":: Element ",e),new Error("Attribute value was not simple");e.setAttribute(t,o+"")},ge=(e,t,o)=>{fe(e.dom,t,o)},he=(e,t)=>{const o=e.dom;G(t,((e,t)=>{fe(o,t,e)}))},pe=(e,t)=>{const o=e.dom.getAttribute(t);return null===o?void 0:o},we=(e,t)=>C.from(pe(e,t)),be=(e,t)=>{e.dom.removeAttribute(t)},ve=e=>A(e.dom.attributes,((e,t)=>(e[t.name]=t.value,e)),{}),ye=e=>{if(null==e)throw new Error("Node cannot be null or undefined");return{dom:e}},xe={fromHtml:(e,t)=>{const o=(t||document).createElement("div");if(o.innerHTML=e,!o.hasChildNodes()||o.childNodes.length>1){const t="HTML does not have a single root node";throw console.error(t,e),new Error(t)}return ye(o.childNodes[0])},fromTag:(e,t)=>{const o=(t||document).createElement(e);return ye(o)},fromText:(e,t)=>{const o=(t||document).createTextNode(e);return ye(o)},fromDom:ye,fromPoint:(e,t,o)=>C.from(e.dom.elementFromPoint(t,o)).map(ye)},Ce=(e,t)=>{const o=e.dom;if(1!==o.nodeType)return!1;{const e=o;if(void 0!==e.matches)return e.matches(t);if(void 0!==e.msMatchesSelector)return e.msMatchesSelector(t);if(void 0!==e.webkitMatchesSelector)return e.webkitMatchesSelector(t);if(void 0!==e.mozMatchesSelector)return e.mozMatchesSelector(t);throw new Error("Browser lacks native selectors")}},Se=e=>1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType||0===e.childElementCount,Te=(e,t)=>{const o=void 0===t?document:t.dom;return Se(o)?C.none():C.from(o.querySelector(e)).map(xe.fromDom)},Re=(e,t)=>e.dom===t.dom,De=(e,t)=>{const o=e.dom,n=t.dom;return o!==n&&o.contains(n)},Oe=Ce,ke=e=>xe.fromDom(e.dom.ownerDocument),Ee=e=>me(e)?e:ke(e),Ne=e=>C.from(e.dom.parentNode).map(xe.fromDom),Be=e=>C.from(e.dom.parentElement).map(xe.fromDom),_e=(e,t)=>{const o=d(t)?t:y;let n=e.dom;const r=[];for(;null!==n.parentNode&&void 0!==n.parentNode;){const e=n.parentNode,t=xe.fromDom(e);if(r.push(t),!0===o(t))break;n=e}return r},ze=e=>C.from(e.dom.previousSibling).map(xe.fromDom),Ae=e=>C.from(e.dom.nextSibling).map(xe.fromDom),Le=e=>E(e.dom.childNodes,xe.fromDom),We=(e,t)=>{const o=e.dom.childNodes;return C.from(o[t]).map(xe.fromDom)},Me=(e,t)=>{Ne(e).each((o=>{o.dom.insertBefore(t.dom,e.dom)}))},je=(e,t)=>{Ae(e).fold((()=>{Ne(e).each((e=>{Ie(e,t)}))}),(e=>{Me(e,t)}))},Pe=(e,t)=>{const o=(e=>We(e,0))(e);o.fold((()=>{Ie(e,t)}),(o=>{e.dom.insertBefore(t.dom,o.dom)}))},Ie=(e,t)=>{e.dom.appendChild(t.dom)},Fe=(e,t)=>{Me(e,t),Ie(t,e)},He=(e,t)=>{N(t,((o,n)=>{const r=0===n?e:t[n-1];je(r,o)}))},$e=(e,t)=>{N(t,(t=>{Ie(e,t)}))},Ve=e=>{e.dom.textContent="",N(Le(e),(e=>{qe(e)}))},qe=e=>{const t=e.dom;null!==t.parentNode&&t.parentNode.removeChild(t)},Ue=e=>{const t=Le(e);t.length>0&&He(e,t),qe(e)},Ge=(e,t)=>xe.fromDom(e.dom.cloneNode(t)),Ke=e=>Ge(e,!1),Ye=e=>Ge(e,!0),Je=(e,t)=>{const o=xe.fromTag(t),n=ve(e);return he(o,n),o},Qe=["tfoot","thead","tbody","colgroup"],Xe=(e,t,o)=>({element:e,rowspan:t,colspan:o}),Ze=(e,t,o)=>({element:e,cells:t,section:o}),et=(e,t,o)=>({element:e,isNew:t,isLocked:o}),tt=(e,t,o,n)=>({element:e,cells:t,section:o,isNew:n}),ot=d(Element.prototype.attachShadow)&&d(Node.prototype.getRootNode),nt=g(ot),rt=ot?e=>xe.fromDom(e.dom.getRootNode()):Ee,st=e=>xe.fromDom(e.dom.host),lt=e=>{const t=ie(e)?e.dom.parentNode:e.dom;if(null==t||null===t.ownerDocument)return!1;const o=t.ownerDocument;return(e=>{const t=rt(e);return de(o=t)&&m(o.dom.host)?C.some(t):C.none();var o})(xe.fromDom(t)).fold((()=>o.body.contains(t)),(n=lt,r=st,e=>n(r(e))));var n,r},at=e=>{const t=e.dom.body;if(null==t)throw new Error("Body is not available yet");return xe.fromDom(t)},ct=(e,t)=>{let o=[];return N(Le(e),(e=>{t(e)&&(o=o.concat([e])),o=o.concat(ct(e,t))})),o},it=(e,t,o)=>((e,o,n)=>_(_e(e,n),(e=>Ce(e,t))))(e,0,o),mt=(e,t)=>((e,o)=>_(Le(e),(e=>Ce(e,t))))(e),dt=(e,t)=>((e,t)=>{const o=void 0===t?document:t.dom;return Se(o)?[]:E(o.querySelectorAll(e),xe.fromDom)})(t,e);var ut=(e,t,o,n,r)=>e(o,n)?C.some(o):d(r)&&r(o)?C.none():t(o,n,r);const ft=(e,t,o)=>{let n=e.dom;const r=d(o)?o:y;for(;n.parentNode;){n=n.parentNode;const e=xe.fromDom(n);if(t(e))return C.some(e);if(r(e))break}return C.none()},gt=(e,t,o)=>ut(((e,t)=>t(e)),ft,e,t,o),ht=(e,t,o)=>ft(e,(e=>Ce(e,t)),o),pt=(e,t)=>((e,o)=>L(e.dom.childNodes,(e=>{return o=xe.fromDom(e),Ce(o,t);var o})).map(xe.fromDom))(e),wt=(e,t)=>Te(t,e),bt=(e,t,o)=>ut(((e,t)=>Ce(e,t)),ht,e,t,o),vt=(e,t,o=p)=>e.exists((e=>o(e,t))),yt=e=>{const t=[],o=e=>{t.push(e)};for(let t=0;te?C.some(t):C.none(),Ct=(e,t,o)=>""===t||e.length>=t.length&&e.substr(o,o+t.length)===t,St=(e,t,o=0,n)=>{const r=e.indexOf(t,o);return-1!==r&&(!!i(n)||r+t.length<=n)},Tt=(e,t)=>Ct(e,t,0),Rt=(e,t)=>Ct(e,t,e.length-t.length),Dt=(e=>t=>t.replace(e,""))(/^\s+|\s+$/g),Ot=e=>e.length>0,kt=e=>void 0!==e.style&&d(e.style.getPropertyValue),Et=(e,t,o)=>{if(!r(o))throw console.error("Invalid call to CSS.set. Property ",t,":: Value ",o,":: Element ",e),new Error("CSS value must be a string: "+o);kt(e)&&e.style.setProperty(t,o)},Nt=(e,t,o)=>{const n=e.dom;Et(n,t,o)},Bt=(e,t)=>{const o=e.dom;G(t,((e,t)=>{Et(o,t,e)}))},_t=(e,t)=>{const o=e.dom,n=window.getComputedStyle(o).getPropertyValue(t);return""!==n||lt(e)?n:zt(o,t)},zt=(e,t)=>kt(e)?e.style.getPropertyValue(t):"",At=(e,t)=>{const o=e.dom,n=zt(o,t);return C.from(n).filter((e=>e.length>0))},Lt=(e,t)=>{((e,t)=>{kt(e)&&e.style.removeProperty(t)})(e.dom,t),vt(we(e,"style").map(Dt),"")&&be(e,"style")},Wt=(e,t,o=0)=>we(e,t).map((e=>parseInt(e,10))).getOr(o),Mt=(e,t)=>Wt(e,t,1),jt=e=>ue("col")(e)?Wt(e,"span",1)>1:Mt(e,"colspan")>1,Pt=e=>Mt(e,"rowspan")>1,It=(e,t)=>parseInt(_t(e,t),10),Ft=g(10),Ht=g(10),$t=(e,t)=>Vt(e,t,x),Vt=(e,t,o)=>j(Le(e),(e=>Ce(e,t)?o(e)?[e]:[]:Vt(e,t,o))),qt=(e,t)=>((e,t,o=y)=>o(t)?C.none():D(e,ne(t))?C.some(t):ht(t,e.join(","),(e=>Ce(e,"table")||o(e))))(["td","th"],e,t),Ut=e=>$t(e,"th,td"),Gt=e=>Ce(e,"colgroup")?mt(e,"col"):j(Jt(e),(e=>mt(e,"col"))),Kt=(e,t)=>bt(e,"table",t),Yt=e=>$t(e,"tr"),Jt=e=>Kt(e).fold(g([]),(e=>mt(e,"colgroup"))),Qt=(e,t)=>E(e,(e=>{if("colgroup"===ne(e)){const t=E(Gt(e),(e=>{const t=Wt(e,"span",1);return Xe(e,1,t)}));return Ze(e,t,"colgroup")}{const o=E(Ut(e),(e=>{const t=Wt(e,"rowspan",1),o=Wt(e,"colspan",1);return Xe(e,t,o)}));return Ze(e,o,t(e))}})),Xt=e=>Ne(e).map((e=>{const t=ne(e);return(e=>D(Qe,e))(t)?t:"tbody"})).getOr("tbody"),Zt=e=>{const t=Yt(e),o=[...Jt(e),...t];return Qt(o,Xt)},eo=e=>{let t,o=!1;return(...n)=>(o||(o=!0,t=e.apply(null,n)),t)},to=()=>oo(0,0),oo=(e,t)=>({major:e,minor:t}),no={nu:oo,detect:(e,t)=>{const o=String(t).toLowerCase();return 0===e.length?to():((e,t)=>{const o=((e,t)=>{for(let o=0;oNumber(t.replace(o,"$"+e));return oo(n(1),n(2))})(e,o)},unknown:to},ro=(e,t)=>{const o=String(t).toLowerCase();return L(e,(e=>e.search(o)))},so=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,lo=e=>t=>St(t,e),ao=[{name:"Edge",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:e=>St(e,"edge/")&&St(e,"chrome")&&St(e,"safari")&&St(e,"applewebkit")},{name:"Chromium",brand:"Chromium",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,so],search:e=>St(e,"chrome")&&!St(e,"chromeframe")},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:e=>St(e,"msie")||St(e,"trident")},{name:"Opera",versionRegexes:[so,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:lo("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:lo("firefox")},{name:"Safari",versionRegexes:[so,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:e=>(St(e,"safari")||St(e,"mobile/"))&&St(e,"applewebkit")}],co=[{name:"Windows",search:lo("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:e=>St(e,"iphone")||St(e,"ipad"),versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:lo("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"macOS",search:lo("mac os x"),versionRegexes:[/.*?mac\ os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:lo("linux"),versionRegexes:[]},{name:"Solaris",search:lo("sunos"),versionRegexes:[]},{name:"FreeBSD",search:lo("freebsd"),versionRegexes:[]},{name:"ChromeOS",search:lo("cros"),versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/]}],io={browsers:g(ao),oses:g(co)},mo="Edge",uo="Chromium",fo="Opera",go="Firefox",ho="Safari",po=e=>{const t=e.current,o=e.version,n=e=>()=>t===e;return{current:t,version:o,isEdge:n(mo),isChromium:n(uo),isIE:n("IE"),isOpera:n(fo),isFirefox:n(go),isSafari:n(ho)}},wo=()=>po({current:void 0,version:no.unknown()}),bo=po,vo=(g(mo),g(uo),g("IE"),g(fo),g(go),g(ho),"Windows"),yo="Android",xo="Linux",Co="macOS",So="Solaris",To="FreeBSD",Ro="ChromeOS",Do=e=>{const t=e.current,o=e.version,n=e=>()=>t===e;return{current:t,version:o,isWindows:n(vo),isiOS:n("iOS"),isAndroid:n(yo),isMacOS:n(Co),isLinux:n(xo),isSolaris:n(So),isFreeBSD:n(To),isChromeOS:n(Ro)}},Oo=()=>Do({current:void 0,version:no.unknown()}),ko=Do,Eo=(g(vo),g("iOS"),g(yo),g(xo),g(Co),g(So),g(To),g(Ro),e=>window.matchMedia(e).matches);let No=eo((()=>((e,t,o)=>{const n=io.browsers(),r=io.oses(),s=t.bind((e=>((e,t)=>V(t.brands,(t=>{const o=t.brand.toLowerCase();return L(e,(e=>{var t;return o===(null===(t=e.brand)||void 0===t?void 0:t.toLowerCase())})).map((e=>({current:e.name,version:no.nu(parseInt(t.version,10),0)})))})))(n,e))).orThunk((()=>((e,t)=>ro(e,t).map((e=>{const o=no.detect(e.versionRegexes,t);return{current:e.name,version:o}})))(n,e))).fold(wo,bo),l=((e,t)=>ro(e,t).map((e=>{const o=no.detect(e.versionRegexes,t);return{current:e.name,version:o}})))(r,e).fold(Oo,ko),a=((e,t,o,n)=>{const r=e.isiOS()&&!0===/ipad/i.test(o),s=e.isiOS()&&!r,l=e.isiOS()||e.isAndroid(),a=l||n("(pointer:coarse)"),c=r||!s&&l&&n("(min-device-width:768px)"),i=s||l&&!c,m=t.isSafari()&&e.isiOS()&&!1===/safari/i.test(o),d=!i&&!c&&!m;return{isiPad:g(r),isiPhone:g(s),isTablet:g(c),isPhone:g(i),isTouch:g(a),isAndroid:e.isAndroid,isiOS:e.isiOS,isWebView:g(m),isDesktop:g(d)}})(l,s,e,o);return{browser:s,os:l,deviceType:a}})(navigator.userAgent,C.from(navigator.userAgentData),Eo)));const Bo=()=>No(),_o=(e,t)=>{const o=o=>{const n=t(o);if(n<=0||null===n){const t=_t(o,e);return parseFloat(t)||0}return n},n=(e,t)=>A(t,((t,o)=>{const n=_t(e,o),r=void 0===n?0:parseInt(n,10);return isNaN(r)?t:t+r}),0);return{set:(t,o)=>{if(!u(o)&&!o.match(/^[0-9]+$/))throw new Error(e+".set accepts only positive integer values. Value was "+o);const n=t.dom;kt(n)&&(n.style[e]=o+"px")},get:o,getOuter:o,aggregate:n,max:(e,t,o)=>{const r=n(e,o);return t>r?t-r:0}}},zo=(e,t,o)=>((e,t)=>(e=>{const t=parseFloat(e);return isNaN(t)?C.none():C.some(t)})(e).getOr(t))(_t(e,t),o),Ao=_o("width",(e=>e.dom.offsetWidth)),Lo=e=>Ao.get(e),Wo=e=>Ao.getOuter(e),Mo=e=>((e,t)=>{const o=e.dom,n=o.getBoundingClientRect().width||o.offsetWidth;return"border-box"===t?n:((e,t,o,n)=>t-zo(e,`padding-${o}`,0)-zo(e,`padding-${n}`,0)-zo(e,`border-${o}-width`,0)-zo(e,`border-${n}-width`,0))(e,n,"left","right")})(e,"content-box"),jo=(e,t,o)=>{const n=e.cells,r=n.slice(0,t),s=n.slice(t),l=r.concat(o).concat(s);return Fo(e,l)},Po=(e,t,o)=>jo(e,t,[o]),Io=(e,t,o)=>{e.cells[t]=o},Fo=(e,t)=>tt(e.element,t,e.section,e.isNew),Ho=(e,t)=>e.cells[t],$o=(e,t)=>Ho(e,t).element,Vo=e=>e.cells.length,qo=e=>{const t=B(e,(e=>"colgroup"===e.section));return{rows:t.fail,cols:t.pass}},Uo=(e,t,o)=>{const n=E(e.cells,o);return tt(t(e.element),n,e.section,!0)},Go="data-snooker-locked-cols",Ko=e=>we(e,Go).bind((e=>C.from(e.match(/\d+/g)))).map((e=>I(e,x))),Yo=e=>{const t=A(qo(e).rows,((e,t)=>(N(t.cells,((t,o)=>{t.isLocked&&(e[o]=!0)})),e)),{}),o=J(t,((e,t)=>parseInt(t,10)));return((e,t)=>{const o=S.call(e,0);return o.sort(void 0),o})(o)},Jo=(e,t)=>e+","+t,Qo=(e,t)=>{const o=j(e.all,(e=>e.cells));return _(o,t)},Xo=e=>{const t={},o=[],n=H(e).map((e=>e.element)).bind(Kt).bind(Ko).getOr({});let r=0,s=0,l=0;const{pass:a,fail:c}=B(e,(e=>"colgroup"===e.section));N(c,(e=>{const a=[];N(e.cells,(e=>{let o=0;for(;void 0!==t[Jo(l,o)];)o++;const r=((e,t)=>X(e,t)&&void 0!==e[t]&&null!==e[t])(n,o.toString()),c=((e,t,o,n,r,s)=>({element:e,rowspan:t,colspan:o,row:n,column:r,isLocked:s}))(e.element,e.rowspan,e.colspan,l,o,r);for(let n=0;n{const t=(e=>{const t={};let o=0;return N(e.cells,(e=>{const n=e.colspan;k(n,(r=>{const s=o+r;t[s]=((e,t,o)=>({element:e,colspan:t,column:o}))(e.element,n,s)})),o+=n})),t})(e),o=((e,t)=>({element:e,columns:t}))(e.element,Q(t));return{colgroups:[o],columns:t}})).getOrThunk((()=>({colgroups:[],columns:{}}))),d=((e,t)=>({rows:e,columns:t}))(r,s);return{grid:d,access:t,all:o,columns:i,colgroups:m}},Zo=e=>{const t=Zt(e);return Xo(t)},en=Xo,tn=(e,t,o)=>C.from(e.access[Jo(t,o)]),on=(e,t,o)=>{const n=Qo(e,(e=>o(t,e.element)));return n.length>0?C.some(n[0]):C.none()},nn=Qo,rn=e=>j(e.all,(e=>e.cells)),sn=e=>Q(e.columns),ln=e=>q(e.columns).length>0,an=(e,t)=>C.from(e.columns[t]),cn=(e,t=x)=>{const o=e.grid,n=k(o.columns,h),r=k(o.rows,h);return E(n,(o=>mn((()=>j(r,(t=>tn(e,t,o).filter((e=>e.column===o)).toArray()))),(e=>1===e.colspan&&t(e.element)),(()=>tn(e,0,o)))))},mn=(e,t,o)=>{const n=e();return L(n,t).orThunk((()=>C.from(n[0]).orThunk(o))).map((e=>e.element))},dn=e=>{const t=e.grid,o=k(t.rows,h),n=k(t.columns,h);return E(o,(t=>mn((()=>j(n,(o=>tn(e,t,o).filter((e=>e.row===t)).fold(g([]),(e=>[e]))))),(e=>1===e.rowspan),(()=>tn(e,t,0)))))},un=(e,t)=>o=>"rtl"===fn(o)?t:e,fn=e=>"rtl"===_t(e,"direction")?"rtl":"ltr",gn=_o("height",(e=>{const t=e.dom;return lt(e)?t.getBoundingClientRect().height:t.offsetHeight})),hn=e=>gn.get(e),pn=e=>gn.getOuter(e),wn=(e,t)=>({left:e,top:t,translate:(o,n)=>wn(e+o,t+n)}),bn=wn,vn=(e,t)=>void 0!==e?e:void 0!==t?t:0,yn=e=>{const t=e.dom.ownerDocument,o=t.body,n=t.defaultView,r=t.documentElement;if(o===e.dom)return bn(o.offsetLeft,o.offsetTop);const s=vn(null==n?void 0:n.pageYOffset,r.scrollTop),l=vn(null==n?void 0:n.pageXOffset,r.scrollLeft),a=vn(r.clientTop,o.clientTop),c=vn(r.clientLeft,o.clientLeft);return xn(e).translate(l-c,s-a)},xn=e=>{const t=e.dom,o=t.ownerDocument.body;return o===t?bn(o.offsetLeft,o.offsetTop):lt(e)?(e=>{const t=e.getBoundingClientRect();return bn(t.left,t.top)})(t):bn(0,0)},Cn=(e,t)=>({row:e,y:t}),Sn=(e,t)=>({col:e,x:t}),Tn=e=>yn(e).left+Wo(e),Rn=e=>yn(e).left,Dn=(e,t)=>Sn(e,Rn(t)),On=(e,t)=>Sn(e,Tn(t)),kn=e=>yn(e).top,En=(e,t)=>Cn(e,kn(t)),Nn=(e,t)=>Cn(e,kn(t)+pn(t)),Bn=(e,t,o)=>{if(0===o.length)return[];const n=E(o.slice(1),((t,o)=>t.map((t=>e(o,t))))),r=o[o.length-1].map((e=>t(o.length-1,e)));return n.concat([r])},_n={delta:h,positions:e=>Bn(En,Nn,e),edge:kn},zn=un({delta:h,edge:Rn,positions:e=>Bn(Dn,On,e)},{delta:e=>-e,edge:Tn,positions:e=>Bn(On,Dn,e)}),An={delta:(e,t)=>zn(t).delta(e,t),positions:(e,t)=>zn(t).positions(e,t),edge:e=>zn(e).edge(e)},Ln={unsupportedLength:["em","ex","cap","ch","ic","rem","lh","rlh","vw","vh","vi","vb","vmin","vmax","cm","mm","Q","in","pc","pt","px"],fixed:["px","pt"],relative:["%"],empty:[""]},Wn=(()=>{const e="[0-9]+",t="[eE][+-]?"+e,o=e=>`(?:${e})?`,n=["Infinity",e+"\\."+o(e)+o(t),"\\."+e+o(t),e+o(t)].join("|");return new RegExp(`^([+-]?(?:${n}))(.*)$`)})(),Mn=/(\d+(\.\d+)?)%/,jn=/(\d+(\.\d+)?)px|em/,Pn=ue("col"),In=(e,t,o)=>{const n=Be(e).getOrThunk((()=>at(ke(e))));return t(e)/o(n)*100},Fn=(e,t)=>{Nt(e,"width",t+"px")},Hn=(e,t)=>{Nt(e,"width",t+"%")},$n=(e,t)=>{Nt(e,"height",t+"px")},Vn=e=>{const t=(e=>{return zo(t=e,"height",t.dom.offsetHeight)+"px";var t})(e);return t?((e,t,o,n)=>{const r=parseFloat(e);return Rt(e,"%")&&"table"!==ne(t)?((e,t,o,n)=>{const r=Kt(e).map((e=>{const n=o(e);return Math.floor(t/100*n)})).getOr(t);return n(e,r),r})(t,r,o,n):r})(t,e,hn,$n):hn(e)},qn=(e,t)=>At(e,t).orThunk((()=>we(e,t).map((e=>e+"px")))),Un=e=>qn(e,"width"),Gn=e=>In(e,Lo,Mo),Kn=e=>{return Pn(e)?Lo(e):zo(t=e,"width",t.dom.offsetWidth);var t},Yn=e=>((e,t,o)=>o(e)/Mt(e,"rowspan"))(e,0,Vn),Jn=(e,t,o)=>{Nt(e,"width",t+o)},Qn=e=>In(e,Lo,Mo)+"%",Xn=g(Mn),Zn=ue("col"),er=e=>Un(e).getOrThunk((()=>Kn(e)+"px")),tr=e=>{return(t=e,qn(t,"height")).getOrThunk((()=>Yn(e)+"px"));var t},or=(e,t,o,n,r,s)=>e.filter(n).fold((()=>s(((e,t)=>{if(t<0||t>=e.length-1)return C.none();const o=e[t].fold((()=>{const o=(e=>{const t=S.call(e,0);return t.reverse(),t})(e.slice(0,t));return V(o,((e,t)=>e.map((e=>({value:e,delta:t+1})))))}),(e=>C.some({value:e,delta:0}))),n=e[t+1].fold((()=>{const o=e.slice(t+1);return V(o,((e,t)=>e.map((e=>({value:e,delta:t+1})))))}),(e=>C.some({value:e,delta:1})));return o.bind((e=>n.map((t=>{const o=t.delta+e.delta;return Math.abs(t.value-e.value)/o}))))})(o,t))),(e=>r(e))),nr=(e,t,o,n)=>{const r=cn(e),s=ln(e)?(e=>E(sn(e),(e=>C.from(e.element))))(e):r,l=[C.some(An.edge(t))].concat(E(An.positions(r,t),(e=>e.map((e=>e.x))))),a=b(jt);return E(s,((e,t)=>or(e,t,l,a,(e=>{if((e=>{const t=Bo().browser,o=t.isChromium()||t.isFirefox();return!Zn(e)||o})(e))return o(e);{const e=null!=(s=r[t])?h(s):C.none();return or(e,t,l,a,(e=>n(C.some(Lo(e)))),n)}var s}),n)))},rr=e=>e.map((e=>e+"px")).getOr(""),sr=(e,t,o)=>nr(e,t,Kn,(e=>e.getOrThunk(o.minCellWidth))),lr=(e,t,o,n,r)=>{const s=dn(e),l=[C.some(o.edge(t))].concat(E(o.positions(s,t),(e=>e.map((e=>e.y)))));return E(s,((e,t)=>or(e,t,l,b(Pt),n,r)))},ar=(e,t)=>()=>lt(e)?t(e):parseFloat(At(e,"width").getOr("0")),cr=e=>{const t=ar(e,(e=>parseFloat(Qn(e)))),o=ar(e,Lo);return{width:t,pixelWidth:o,getWidths:(t,o)=>((e,t,o)=>nr(e,t,Gn,(e=>e.fold((()=>o.minCellWidth()),(e=>e/o.pixelWidth()*100)))))(t,e,o),getCellDelta:e=>e/o()*100,singleColumnWidth:(e,t)=>[100-e],minCellWidth:()=>Ft()/o()*100,setElementWidth:Hn,adjustTableWidth:o=>{const n=t();Hn(e,n+o/100*n)},isRelative:!0,label:"percent"}},ir=e=>{const t=ar(e,Lo);return{width:t,pixelWidth:t,getWidths:(t,o)=>sr(t,e,o),getCellDelta:h,singleColumnWidth:(e,t)=>[Math.max(Ft(),e+t)-e],minCellWidth:Ft,setElementWidth:Fn,adjustTableWidth:o=>{const n=t()+o;Fn(e,n)},isRelative:!1,label:"pixel"}},mr=e=>Un(e).fold((()=>(e=>{const t=ar(e,Lo),o=g(0);return{width:t,pixelWidth:t,getWidths:(t,o)=>sr(t,e,o),getCellDelta:o,singleColumnWidth:g([0]),minCellWidth:o,setElementWidth:f,adjustTableWidth:f,isRelative:!0,label:"none"}})(e)),(t=>((e,t)=>null!==Xn().exec(t)?cr(e):ir(e))(e,t))),dr=ir,ur=cr,fr=(e,t,o)=>{const n=e[o].element,r=xe.fromTag("td");Ie(r,xe.fromTag("br")),(t?Ie:Pe)(n,r)},gr=((e,t)=>{const o=t=>e(t)?C.from(t.dom.nodeValue):C.none();return{get:t=>{if(!e(t))throw new Error("Can only get text value of a text node");return o(t).getOr("")},getOption:o,set:(t,o)=>{if(!e(t))throw new Error("Can only set raw text value of a text node");t.dom.nodeValue=o}}})(ie),hr=e=>gr.get(e),pr=e=>gr.getOption(e),wr=(e,t)=>gr.set(e,t),br=e=>"img"===ne(e)?1:pr(e).fold((()=>Le(e).length),(e=>e.length)),vr=["img","br"],yr=e=>pr(e).filter((e=>0!==e.trim().length||e.indexOf("\xa0")>-1)).isSome()||D(vr,ne(e))||(e=>ae(e)&&"false"===pe(e,"contenteditable"))(e),xr=e=>((e,t)=>{const o=e=>{for(let n=0;nSr(e,yr),Sr=(e,t)=>{const o=e=>{const n=Le(e);for(let e=n.length-1;e>=0;e--){const r=n[e];if(t(r))return C.some(r);const s=o(r);if(s.isSome())return s}return C.none()};return o(e)},Tr={scope:["row","col"]},Rr=e=>()=>{const t=xe.fromTag("td",e.dom);return Ie(t,xe.fromTag("br",e.dom)),t},Dr=e=>()=>xe.fromTag("col",e.dom),Or=e=>()=>xe.fromTag("colgroup",e.dom),kr=e=>()=>xe.fromTag("tr",e.dom),Er=(e,t,o)=>{const n=((e,t)=>{const o=Je(e,t),n=Le(Ye(e));return $e(o,n),o})(e,t);return G(o,((e,t)=>{null===e?be(n,t):ge(n,t,e)})),n},Nr=e=>e,Br=(e,t,o)=>{const n=(e,t)=>{((e,t)=>{const o=e.dom,n=t.dom;kt(o)&&kt(n)&&(n.style.cssText=o.style.cssText)})(e.element,t),Lt(t,"height"),1!==e.colspan&&Lt(t,"width")};return{col:o=>{const r=xe.fromTag(ne(o.element),t.dom);return n(o,r),e(o.element,r),r},colgroup:Or(t),row:kr(t),cell:r=>{const s=xe.fromTag(ne(r.element),t.dom),l=o.getOr(["strong","em","b","i","span","font","h1","h2","h3","h4","h5","h6","p","div"]),a=l.length>0?((e,t,o)=>xr(e).map((n=>{const r=o.join(","),s=it(n,r,(t=>Re(t,e)));return z(s,((e,t)=>{const o=Ke(t);return Ie(e,o),o}),t)})).getOr(t))(r.element,s,l):s;return Ie(a,xe.fromTag("br")),n(r,s),((e,t)=>{G(Tr,((o,n)=>we(e,n).filter((e=>D(o,e))).each((e=>ge(t,n,e)))))})(r.element,s),e(r.element,s),s},replace:Er,colGap:Dr(t),gap:Rr(t)}},_r=e=>({col:Dr(e),colgroup:Or(e),row:kr(e),cell:Rr(e),replace:Nr,colGap:Dr(e),gap:Rr(e)}),zr=e=>t=>t.options.get(e),Ar="100%",Lr=e=>{var t;const o=e.dom,n=null!==(t=o.getParent(e.selection.getStart(),o.isBlock))&&void 0!==t?t:e.getBody();return Mo(xe.fromDom(n))+"px"},Wr=e=>C.from(e.options.get("table_clone_elements")),Mr=zr("table_header_type"),jr=zr("table_column_resizing"),Pr=e=>"preservetable"===jr(e),Ir=e=>"resizetable"===jr(e),Fr=zr("table_sizing_mode"),Hr=e=>"relative"===Fr(e),$r=e=>"fixed"===Fr(e),Vr=e=>"responsive"===Fr(e),qr=zr("table_resize_bars"),Ur=zr("table_style_by_css"),Gr=zr("table_merge_content_on_paste"),Kr=e=>{const t=e.options,o=t.get("table_default_attributes");return t.isSet("table_default_attributes")?o:((e,t)=>Vr(e)||Ur(e)?t:$r(e)?{...t,width:Lr(e)}:{...t,width:Ar})(e,o)},Yr=zr("table_use_colgroups"),Jr=e=>bt(e,"[contenteditable]"),Qr=(e,t=!1)=>lt(e)?e.dom.isContentEditable:Jr(e).fold(g(t),(e=>"true"===Xr(e))),Xr=e=>e.dom.contentEditable,Zr=e=>xe.fromDom(e.getBody()),es=e=>t=>Re(t,Zr(e)),ts=e=>{be(e,"data-mce-style");const t=e=>be(e,"data-mce-style");N(Ut(e),t),N(Gt(e),t),N(Yt(e),t)},os=e=>xe.fromDom(e.selection.getStart()),ns=e=>e.getBoundingClientRect().width,rs=e=>e.getBoundingClientRect().height,ss=e=>gt(e,ue("table")).exists(Qr),ls=(e,t)=>{const o=t.column,n=t.column+t.colspan-1,r=t.row,s=t.row+t.rowspan-1;return o<=e.finishCol&&n>=e.startCol&&r<=e.finishRow&&s>=e.startRow},as=(e,t)=>t.column>=e.startCol&&t.column+t.colspan-1<=e.finishCol&&t.row>=e.startRow&&t.row+t.rowspan-1<=e.finishRow,cs=(e,t,o)=>{const n=on(e,t,Re),r=on(e,o,Re);return n.bind((e=>r.map((t=>{return o=e,n=t,{startRow:Math.min(o.row,n.row),startCol:Math.min(o.column,n.column),finishRow:Math.max(o.row+o.rowspan-1,n.row+n.rowspan-1),finishCol:Math.max(o.column+o.colspan-1,n.column+n.colspan-1)};var o,n}))))},is=(e,t,o)=>cs(e,t,o).map((t=>{const o=nn(e,w(ls,t));return E(o,(e=>e.element))})),ms=(e,t)=>on(e,t,((e,t)=>De(t,e))).map((e=>e.element)),ds=(e,t,o)=>{const n=fs(e);return is(n,t,o)},us=(e,t,o,n,r)=>{const s=fs(e),l=Re(e,o)?C.some(t):ms(s,t),a=Re(e,r)?C.some(n):ms(s,n);return l.bind((e=>a.bind((t=>is(s,e,t)))))},fs=Zo;var gs=["body","p","div","article","aside","figcaption","figure","footer","header","nav","section","ol","ul","li","table","thead","tbody","tfoot","caption","tr","td","th","h1","h2","h3","h4","h5","h6","blockquote","pre","address"],hs=()=>({up:g({selector:ht,closest:bt,predicate:ft,all:_e}),down:g({selector:dt,predicate:ct}),styles:g({get:_t,getRaw:At,set:Nt,remove:Lt}),attrs:g({get:pe,set:ge,remove:be,copyTo:(e,t)=>{const o=ve(e);he(t,o)}}),insert:g({before:Me,after:je,afterAll:He,append:Ie,appendAll:$e,prepend:Pe,wrap:Fe}),remove:g({unwrap:Ue,remove:qe}),create:g({nu:xe.fromTag,clone:e=>xe.fromDom(e.dom.cloneNode(!1)),text:xe.fromText}),query:g({comparePosition:(e,t)=>e.dom.compareDocumentPosition(t.dom),prevSibling:ze,nextSibling:Ae}),property:g({children:Le,name:ne,parent:Ne,document:e=>Ee(e).dom,isText:ie,isComment:le,isElement:ce,isSpecial:e=>{const t=ne(e);return D(["script","noscript","iframe","noframes","noembed","title","style","textarea","xmp"],t)},getLanguage:e=>ce(e)?we(e,"lang"):C.none(),getText:hr,setText:wr,isBoundary:e=>!!ce(e)&&("body"===ne(e)||D(gs,ne(e))),isEmptyTag:e=>!!ce(e)&&D(["br","img","hr","input"],ne(e)),isNonEditable:e=>ce(e)&&"false"===pe(e,"contenteditable")}),eq:Re,is:Oe});const ps=(e,t,o,n)=>{const r=t(e,o);return z(n,((o,n)=>{const r=t(e,n);return ws(e,o,r)}),r)},ws=(e,t,o)=>t.bind((t=>o.filter(w(e.eq,t)))),bs=hs(),vs=(e,t)=>((e,t,o)=>o.length>0?((e,t,o,n)=>n(e,t,o[0],o.slice(1)))(e,t,o,ps):C.none())(bs,((t,o)=>e(o)),t),ys=e=>ht(e,"table"),xs=(e,t,o)=>{const n=e=>t=>void 0!==o&&o(t)||Re(t,e);return Re(e,t)?C.some({boxes:C.some([e]),start:e,finish:t}):ys(e).bind((r=>ys(t).bind((s=>{if(Re(r,s))return C.some({boxes:ds(r,e,t),start:e,finish:t});if(De(r,s)){const o=it(t,"td,th",n(r)),l=o.length>0?o[o.length-1]:t;return C.some({boxes:us(r,e,r,t,s),start:e,finish:l})}if(De(s,r)){const o=it(e,"td,th",n(s)),l=o.length>0?o[o.length-1]:e;return C.some({boxes:us(s,e,r,t,s),start:e,finish:l})}return((e,t,o)=>((e,t,o,n=y)=>{const r=[t].concat(e.up().all(t)),s=[o].concat(e.up().all(o)),l=e=>W(e,n).fold((()=>e),(t=>e.slice(0,t+1))),a=l(r),c=l(s),i=L(a,(t=>O(c,((e,t)=>w(e.eq,t))(e,t))));return{firstpath:a,secondpath:c,shared:i}})(bs,e,t,void 0))(e,t).shared.bind((l=>bt(l,"table",o).bind((o=>{const l=it(t,"td,th",n(o)),a=l.length>0?l[l.length-1]:t,c=it(e,"td,th",n(o)),i=c.length>0?c[c.length-1]:e;return C.some({boxes:us(o,e,r,t,s),start:i,finish:a})}))))}))))},Cs=(e,t)=>{const o=dt(e,t);return o.length>0?C.some(o):C.none()},Ss=(e,t,o)=>wt(e,t).bind((t=>wt(e,o).bind((e=>vs(ys,[t,e]).map((o=>({first:t,last:e,table:o}))))))),Ts=(e,t,o,n,r)=>((e,t)=>L(e,(e=>Ce(e,t))))(e,r).bind((e=>((e,t,o)=>Kt(e).bind((n=>((e,t,o,n)=>on(e,t,Re).bind((t=>{const r=o>0?t.row+t.rowspan-1:t.row,s=n>0?t.column+t.colspan-1:t.column;return tn(e,r+o,s+n).map((e=>e.element))})))(fs(n),e,t,o))))(e,t,o).bind((e=>((e,t)=>ht(e,"table").bind((o=>wt(o,t).bind((t=>xs(t,e).bind((e=>e.boxes.map((t=>({boxes:t,start:e.start,finish:e.finish}))))))))))(e,n))))),Rs=(e,t)=>Cs(e,t),Ds=(e,t,o)=>Ss(e,t,o).bind((t=>{const o=t=>Re(e,t),n="thead,tfoot,tbody,table",r=ht(t.first,n,o),s=ht(t.last,n,o);return r.bind((e=>s.bind((o=>Re(e,o)?((e,t,o)=>((e,t,o)=>cs(e,t,o).bind((t=>((e,t)=>{let o=!0;const n=w(as,t);for(let r=t.startRow;r<=t.finishRow;r++)for(let s=t.startCol;s<=t.finishCol;s++)o=o&&tn(e,r,s).exists(n);return o?C.some(t):C.none()})(e,t))))(fs(e),t,o))(t.table,t.first,t.last):C.none()))))})),Os=h,ks=e=>{const t=(e,t)=>we(e,t).exists((e=>parseInt(e,10)>1));return e.length>0&&P(e,(e=>t(e,"rowspan")||t(e,"colspan")))?C.some(e):C.none()},Es=(e,t,o)=>t.length<=1?C.none():Ds(e,o.firstSelectedSelector,o.lastSelectedSelector).map((e=>({bounds:e,cells:t}))),Ns="data-mce-selected",Bs="data-mce-first-selected",_s="data-mce-last-selected",zs="["+Ns+"]",As={selected:Ns,selectedSelector:"td["+Ns+"],th["+Ns+"]",firstSelected:Bs,firstSelectedSelector:"td["+Bs+"],th["+Bs+"]",lastSelected:_s,lastSelectedSelector:"td["+_s+"],th["+_s+"]"},Ls=(e,t,o)=>({element:o,mergable:Es(t,e,As),unmergable:ks(e),selection:Os(e)}),Ws=e=>(t,o)=>{const n=ne(t),r="col"===n||"colgroup"===n?Kt(s=t).bind((e=>Rs(e,As.firstSelectedSelector))).fold(g(s),(e=>e[0])):t;var s;return bt(r,e,o)},Ms=Ws("th,td,caption"),js=Ws("th,td"),Ps=e=>{return t=e.model.table.getSelectedCells(),E(t,xe.fromDom);var t},Is=(e,t)=>{e.on("BeforeGetContent",(t=>{const o=o=>{t.preventDefault(),(e=>Kt(e[0]).map((e=>{const t=((e,t)=>{const o=e=>Ce(e.element,t),n=Ye(e),r=Zt(n),s=mr(e),l=en(r),a=((e,t)=>{const o=e.grid.columns;let n=e.grid.rows,r=o,s=0,l=0;const a=[],c=[];return G(e.access,(e=>{if(a.push(e),t(e)){c.push(e);const t=e.row,o=t+e.rowspan-1,a=e.column,i=a+e.colspan-1;ts&&(s=o),al&&(l=i)}})),((e,t,o,n,r,s)=>({minRow:e,minCol:t,maxRow:o,maxCol:n,allCells:r,selectedCells:s}))(n,r,s,l,a,c)})(l,o),c="th:not("+t+"),td:not("+t+")",i=Vt(n,"th,td",(e=>Ce(e,c)));N(i,qe),((e,t,o,n)=>{const r=_(e,(e=>"colgroup"!==e.section)),s=t.grid.columns,l=t.grid.rows;for(let e=0;eo.maxRow||ao.maxCol||(tn(t,e,a).filter(n).isNone()?fr(r,l,e):l=!0)}})(r,l,a,o);const m=((e,t,o,n)=>{if(0===n.minCol&&t.grid.columns===n.maxCol+1)return 0;const r=sr(t,e,o),s=A(r,((e,t)=>e+t),0),l=A(r.slice(n.minCol,n.maxCol+1),((e,t)=>e+t),0),a=l/s*o.pixelWidth()-o.pixelWidth();return o.getCellDelta(a)})(e,Zo(e),s,a);return((e,t,o,n)=>{G(o.columns,(e=>{(e.columnt.maxCol)&&qe(e.element)}));const r=_($t(e,"tr"),(e=>0===e.dom.childElementCount));N(r,qe),t.minCol!==t.maxCol&&t.minRow!==t.maxRow||N($t(e,"th,td"),(e=>{be(e,"rowspan"),be(e,"colspan")})),be(e,Go),be(e,"data-snooker-col-series"),mr(e).adjustTableWidth(n)})(n,a,l,m),n})(e,zs);return ts(t),[t]})))(o).each((o=>{t.content="text"===t.format?(e=>E(e,(e=>e.dom.innerText)).join(""))(o):((e,t)=>E(t,(t=>e.selection.serializer.serialize(t.dom,{}))).join(""))(e,o)}))};if(!0===t.selection){const t=(e=>_(Ps(e),(e=>Ce(e,As.selectedSelector))))(e);t.length>=1&&o(t)}})),e.on("BeforeSetContent",(o=>{if(!0===o.selection&&!0===o.paste){const n=Ps(e);H(n).each((n=>{Kt(n).each((r=>{const s=_(((e,t)=>{const o=document.createElement("div");return o.innerHTML=e,Le(xe.fromDom(o))})(o.content),(e=>"meta"!==ne(e))),l=ue("table");if(Gr(e)&&1===s.length&&l(s[0])){o.preventDefault();const l=xe.fromDom(e.getDoc()),a=_r(l),c=((e,t,o)=>({element:e,clipboard:t,generators:o}))(n,s[0],a);t.pasteCells(r,c).each((()=>{e.focus()}))}}))}))}}))},Fs=(e,t)=>({element:e,offset:t}),Hs=(e,t,o)=>e.property().isText(t)&&0===e.property().getText(t).trim().length||e.property().isComment(t)?o(t).bind((t=>Hs(e,t,o).orThunk((()=>C.some(t))))):C.none(),$s=(e,t)=>e.property().isText(t)?e.property().getText(t).length:e.property().children(t).length,Vs=(e,t)=>{const o=Hs(e,t,e.query().prevSibling).getOr(t);if(e.property().isText(o))return Fs(o,$s(e,o));const n=e.property().children(o);return n.length>0?Vs(e,n[n.length-1]):Fs(o,$s(e,o))},qs=Vs,Us=hs(),Gs=(e,t)=>{if(!jt(e)){const o=(e=>Un(e).bind((e=>{return t=e,o=["fixed","relative","empty"],C.from(Wn.exec(t)).bind((e=>{const t=Number(e[1]),n=e[2];return((e,t)=>O(t,(t=>O(Ln[t],(t=>e===t)))))(n,o)?C.some({value:t,unit:n}):C.none()}));var t,o})))(e);o.each((o=>{const n=o.value/2;Jn(e,n,o.unit),Jn(t,n,o.unit)}))}},Ks=e=>E(e,g(0)),Ys=(e,t,o,n,r)=>r(e.slice(0,t)).concat(n).concat(r(e.slice(o))),Js=e=>(t,o,n,r)=>{if(e(n)){const e=Math.max(r,t[o]-Math.abs(n)),s=Math.abs(e-t[o]);return n>=0?s:-s}return n},Qs=Js((e=>e<0)),Xs=Js(x),Zs=()=>{const e=(e,t,o,n)=>{const r=(100+o)/100,s=Math.max(n,(e[t]+o)/r);return E(e,((e,o)=>(o===t?s:e/r)-e))},t=(t,o,n,r,s,l)=>l?e(t,o,r,s):((e,t,o,n,r)=>{const s=Qs(e,t,n,r);return Ys(e,t,o+1,[s,0],Ks)})(t,o,n,r,s);return{resizeTable:(e,t)=>e(t),clampTableDelta:Qs,calcLeftEdgeDeltas:t,calcMiddleDeltas:(e,o,n,r,s,l,a)=>t(e,n,r,s,l,a),calcRightEdgeDeltas:(t,o,n,r,s,l)=>{if(l)return e(t,n,r,s);{const e=Qs(t,n,r,s);return Ks(t.slice(0,n)).concat([e])}},calcRedestributedWidths:(e,t,o,n)=>{if(n){const n=(t+o)/t,r=E(e,(e=>e/n));return{delta:100*n-100,newSizes:r}}return{delta:o,newSizes:e}}}},el=()=>{const e=(e,t,o,n,r)=>{const s=Xs(e,n>=0?o:t,n,r);return Ys(e,t,o+1,[s,-s],Ks)};return{resizeTable:(e,t,o)=>{o&&e(t)},clampTableDelta:(e,t,o,n,r)=>{if(r){if(o>=0)return o;{const t=A(e,((e,t)=>e+t-n),0);return Math.max(-t,o)}}return Qs(e,t,o,n)},calcLeftEdgeDeltas:e,calcMiddleDeltas:(t,o,n,r,s,l)=>e(t,n,r,s,l),calcRightEdgeDeltas:(e,t,o,n,r,s)=>{if(s)return Ks(e);{const t=n/e.length;return E(e,g(t))}},calcRedestributedWidths:(e,t,o,n)=>({delta:0,newSizes:e})}},tl=e=>Zo(e).grid,ol=ue("th"),nl=e=>P(e,(e=>ol(e.element))),rl=(e,t)=>e&&t?"sectionCells":e?"section":"cells",sl=e=>{const t="thead"===e.section,o=vt(ll(e.cells),"th");return"tfoot"===e.section?{type:"footer"}:t||o?{type:"header",subType:rl(t,o)}:{type:"body"}},ll=e=>{const t=_(e,(e=>ol(e.element)));return 0===t.length?C.some("td"):t.length===e.length?C.some("th"):C.none()},al=(e,t,o)=>et(o(e.element,t),!0,e.isLocked),cl=(e,t)=>e.section!==t?tt(e.element,e.cells,t,e.isNew):e,il=()=>({transformRow:cl,transformCell:(e,t,o)=>{const n=o(e.element,t),r="td"!==ne(n)?((e,t)=>{const o=Je(e,"td");je(e,o);const n=Le(e);return $e(o,n),qe(e),o})(n):n;return et(r,e.isNew,e.isLocked)}}),ml=()=>({transformRow:cl,transformCell:al}),dl=()=>({transformRow:(e,t)=>cl(e,"thead"===t?"tbody":t),transformCell:al}),ul=il,fl=ml,gl=dl,hl=()=>({transformRow:h,transformCell:al}),pl=(e,t,o,n)=>{o===n?be(e,t):ge(e,t,o)},wl=(e,t,o)=>{$(mt(e,t)).fold((()=>Pe(e,o)),(e=>je(e,o)))},bl=(e,t)=>{const o=[],n=[],r=e=>E(e,(e=>{e.isNew&&o.push(e.element);const t=e.element;return Ve(t),N(e.cells,(e=>{e.isNew&&n.push(e.element),pl(e.element,"colspan",e.colspan,1),pl(e.element,"rowspan",e.rowspan,1),Ie(t,e.element)})),t})),s=e=>j(e,(e=>E(e.cells,(e=>(pl(e.element,"span",e.colspan,1),e.element))))),l=(t,o)=>{const n=((e,t)=>{const o=pt(e,t).getOrThunk((()=>{const o=xe.fromTag(t,ke(e).dom);return"thead"===t?wl(e,"caption,colgroup",o):"colgroup"===t?wl(e,"caption",o):Ie(e,o),o}));return Ve(o),o})(e,o),l=("colgroup"===o?s:r)(t);$e(n,l)},a=(t,o)=>{t.length>0?l(t,o):(t=>{pt(e,t).each(qe)})(o)},c=[],i=[],m=[],d=[];return N(t,(e=>{switch(e.section){case"thead":c.push(e);break;case"tbody":i.push(e);break;case"tfoot":m.push(e);break;case"colgroup":d.push(e)}})),a(d,"colgroup"),a(c,"thead"),a(i,"tbody"),a(m,"tfoot"),{newRows:o,newCells:n}},vl=(e,t)=>{if(0===e.length)return 0;const o=e[0];return W(e,(e=>!t(o.element,e.element))).getOr(e.length)},yl=(e,t)=>{const o=E(e,(e=>E(e.cells,y)));return E(e,((n,r)=>{const s=j(n.cells,((n,s)=>{if(!1===o[r][s]){const m=((e,t,o,n)=>{const r=((e,t)=>e[t])(e,t),s="colgroup"===r.section,l=vl(r.cells.slice(o),n),a=s?1:vl(((e,t)=>E(e,(e=>Ho(e,t))))(e.slice(t),o),n);return{colspan:l,rowspan:a}})(e,r,s,t);return((e,t,n,r)=>{for(let s=e;s({element:e,cells:t,section:o,isNew:n}))(n.element,s,n.section,n.isNew)}))},xl=(e,t,o)=>{const n=[];N(e.colgroups,(r=>{const s=[];for(let n=0;net(e.element,o,!1))).getOrThunk((()=>et(t.colGap(),!0,!1)));s.push(r)}n.push(tt(r.element,s,"colgroup",o))}));for(let r=0;ret(e.element,o,e.isLocked))).getOrThunk((()=>et(t.gap(),!0,!1)));s.push(l)}const l=e.all[r],a=tt(l.element,s,l.section,o);n.push(a)}return n},Cl=e=>yl(e,Re),Sl=(e,t)=>V(e.all,(e=>L(e.cells,(e=>Re(t,e.element))))),Tl=(e,t,o)=>{const n=E(t.selection,(t=>qt(t).bind((t=>Sl(e,t))).filter(o))),r=yt(n);return xt(r.length>0,r)},Rl=(e,t,o,n,r)=>(s,l,a,c)=>{const i=Zo(s),m=C.from(null==c?void 0:c.section).getOrThunk(hl);return t(i,l).map((t=>{const o=((e,t)=>xl(e,t,!1))(i,a),n=e(o,t,Re,r(a),m),s=Yo(n.grid);return{info:t,grid:Cl(n.grid),cursor:n.cursor,lockedColumns:s}})).bind((e=>{const t=bl(s,e.grid),r=C.from(null==c?void 0:c.sizing).getOrThunk((()=>mr(s))),l=C.from(null==c?void 0:c.resize).getOrThunk(el);return o(s,e.grid,e.info,{sizing:r,resize:l,section:m}),n(s),be(s,Go),e.lockedColumns.length>0&&ge(s,Go,e.lockedColumns.join(",")),C.some({cursor:e.cursor,newRows:t.newRows,newCells:t.newCells})}))},Dl=(e,t)=>Tl(e,t,x).map((e=>({cells:e,generators:t.generators,clipboard:t.clipboard}))),Ol=(e,t)=>Tl(e,t,x),kl=(e,t)=>Tl(e,t,(e=>!e.isLocked)),El=(e,t)=>P(t,(t=>((e,t)=>Sl(e,t).exists((e=>!e.isLocked)))(e,t))),Nl=(e,t,o,n)=>{const r=qo(e).rows;let s=!0;for(let e=0;e{const t=t=>t(e),o=g(e),n=()=>r,r={tag:!0,inner:e,fold:(t,o)=>o(e),isValue:x,isError:y,map:t=>zl.value(t(e)),mapError:n,bind:t,exists:t,forall:t,getOr:o,or:n,getOrThunk:o,orThunk:n,getOrDie:o,each:t=>{t(e)},toOptional:()=>C.some(e)};return r},_l=e=>{const t=()=>o,o={tag:!1,inner:e,fold:(t,o)=>t(e),isValue:y,isError:x,map:t,mapError:t=>zl.error(t(e)),bind:t,exists:y,forall:x,getOr:h,or:h,getOrThunk:v,orThunk:v,getOrDie:(n=String(e),()=>{throw new Error(n)}),each:f,toOptional:C.none};var n;return o},zl={value:Bl,error:_l,fromOption:(e,t)=>e.fold((()=>_l(t)),Bl)},Al=(e,t)=>({rowDelta:0,colDelta:Vo(e[0])-Vo(t[0])}),Ll=(e,t)=>({rowDelta:e.length-t.length,colDelta:0}),Wl=(e,t,o,n)=>{const r="colgroup"===t.section?o.col:o.cell;return k(e,(e=>et(r(),!0,n(e))))},Ml=(e,t,o,n)=>{const r=e[e.length-1];return e.concat(k(t,(()=>{const e="colgroup"===r.section?o.colgroup:o.row,t=Uo(r,e,h),s=Wl(t.cells.length,t,o,(e=>X(n,e.toString())));return Fo(t,s)})))},jl=(e,t,o,n)=>E(e,(e=>{const r=Wl(t,e,o,y);return jo(e,n,r)})),Pl=(e,t,o)=>{const n=t.colDelta<0?jl:h,r=t.rowDelta<0?Ml:h,s=Yo(e),l=Vo(e[0]),a=O(s,(e=>e===l-1)),c=n(e,Math.abs(t.colDelta),o,a?l-1:l),i=Yo(c);return r(c,Math.abs(t.rowDelta),o,I(i,x))},Il=(e,t,o,n)=>{const r=w(n,Ho(e[t],o).element),s=e[t];return e.length>1&&Vo(s)>1&&(o>0&&r($o(s,o-1))||o0&&r($o(e[t-1],o))||t_(o,(o=>o>=e.column&&o<=Vo(t[0])+e.column)),Hl=(e,t,o,n,r)=>{((e,t,o,n)=>{t>0&&t{const r=e.cells[t-1];let s=0;const l=n();for(;e.cells.length>t+s&&o(r.element,e.cells[t+s].element);)Io(e,t+s,et(l,!0,e.cells[t+s].isLocked)),s++}))})(t,e,r,n.cell);const s=Ll(o,t),l=Pl(o,s,n),a=Ll(t,l),c=Pl(t,a,n);return E(c,((t,o)=>jo(t,e,l[o].cells)))},$l=(e,t,o,n,r)=>{((e,t,o,n)=>{const r=qo(e).rows;if(t>0&&tA(e,((e,o)=>O(e,(e=>t(e.element,o.element)))?e:e.concat([o])),[]))(r[t-1].cells,o);N(e,(e=>{let s=C.none();for(let l=t;l{Io(a,t,et(e,!0,c.isLocked))})))}}))}})(t,e,r,n.cell);const s=Yo(t),l=Al(t,o),a={...l,colDelta:l.colDelta-s.length},c=Pl(t,a,n),{cols:i,rows:m}=qo(c),d=Yo(c),u=Al(o,t),f={...u,colDelta:u.colDelta+d.length},g=(p=n,w=d,E(o,(e=>A(w,((t,o)=>{const n=Wl(1,e,p,x)[0];return Po(t,o,n)}),e)))),h=Pl(g,f,n);var p,w;return[...i,...m.slice(0,e),...h,...m.slice(e,m.length)]},Vl=(e,t,o,n,r)=>{const{rows:s,cols:l}=qo(e),a=s.slice(0,t),c=s.slice(t);return[...l,...a,((e,t,o,n)=>Uo(e,(e=>n(e,o)),t))(s[o],((e,o)=>t>0&&tE(e,(e=>{const s=t>0&&t{if("colgroup"!==o&&n)return Ho(e,t);{const t=Ho(e,r);return et(l(t.element,s),!0,!1)}})(e,t,e.section,s,o,n,r);return Po(e,t,l)})),Ul=(e,t,o,n)=>((e,t,o,n)=>void 0!==$o(e[t],o)&&t>0&&n($o(e[t-1],o),$o(e[t],o)))(e,t,o,n)||((e,t,o)=>t>0&&o($o(e,t-1),$o(e,t)))(e[t],o,n),Gl=(e,t,o,n)=>{const r=e=>(e=>"row"===e?Pt(t):jt(t))(e)?`${e}group`:e;return e?ol(t)?r(o):null:n&&ol(t)?r("row"===o?"col":"row"):null},Kl=(e,t,o)=>et(o(e.element,t),!0,e.isLocked),Yl=(e,t,o,n,r,s,l)=>E(e,((e,a)=>((e,c)=>{const i=e.cells,m=E(i,((e,c)=>{if((e=>O(t,(t=>o(e.element,t.element))))(e)){const t=l(e,a,c)?r(e,o,n):e;return s(t,a,c).each((e=>{var o,n;o=t.element,n={scope:C.from(e)},G(n,((e,t)=>{e.fold((()=>{be(o,t)}),(e=>{fe(o.dom,t,e)}))}))})),t}return e}));return tt(e.element,m,e.section,e.isNew)})(e))),Jl=(e,t,o)=>j(e,((n,r)=>Ul(e,r,t,o)?[]:[Ho(n,t)])),Ql=(e,t,o,n,r)=>{const s=qo(e).rows,l=j(t,(e=>Jl(s,e,n))),a=E(s,(e=>nl(e.cells))),c=((e,t)=>P(t,h)&&nl(e)?x:(e,o,n)=>!("th"===ne(e.element)&&t[o]))(l,a),i=((e,t)=>(o,n)=>C.some(Gl(e,o.element,"row",t[n])))(o,a);return Yl(e,l,n,r,Kl,i,c)},Xl=(e,t,o,n)=>{const r=qo(e).rows,s=E(t,(e=>Ho(r[e.row],e.column)));return Yl(e,s,o,n,Kl,C.none,x)},Zl=e=>{if(!l(e))throw new Error("cases must be an array");if(0===e.length)throw new Error("there must be at least one case");const t=[],o={};return N(e,((n,r)=>{const s=q(n);if(1!==s.length)throw new Error("one and only one name per case");const a=s[0],c=n[a];if(void 0!==o[a])throw new Error("duplicate key detected:"+a);if("cata"===a)throw new Error("cannot have a case named cata (sorry)");if(!l(c))throw new Error("case arguments must be an array");t.push(a),o[a]=(...o)=>{const n=o.length;if(n!==c.length)throw new Error("Wrong number of arguments to case "+a+". Expected "+c.length+" ("+c+"), got "+n);return{fold:(...t)=>{if(t.length!==e.length)throw new Error("Wrong number of arguments to fold. Expected "+e.length+", got "+t.length);return t[r].apply(null,o)},match:e=>{const n=q(e);if(t.length!==n.length)throw new Error("Wrong number of arguments to match. Expected: "+t.join(",")+"\nActual: "+n.join(","));if(!P(t,(e=>D(n,e))))throw new Error("Not all branches were specified when using match. Specified: "+n.join(", ")+"\nRequired: "+t.join(", "));return e[a].apply(null,o)},log:e=>{console.log(e,{constructors:t,constructor:a,params:o})}}}})),o},ea={...Zl([{none:[]},{only:["index"]},{left:["index","next"]},{middle:["prev","index","next"]},{right:["prev","index"]}])},ta=(e,t,o)=>{let n=0;for(let r=e;r{const o=rn(e);return E(o,(e=>{const o=ta(e.row,e.row+e.rowspan,t);return{element:e.element,height:o,rowspan:e.rowspan}}))},na=(e,t,o)=>{const n=((e,t)=>ln(e)?((e,t)=>{const o=sn(e);return E(o,((e,o)=>({element:e.element,width:t[o],colspan:e.colspan})))})(e,t):((e,t)=>{const o=rn(e);return E(o,(e=>{const o=ta(e.column,e.column+e.colspan,t);return{element:e.element,width:o,colspan:e.colspan}}))})(e,t))(e,t);N(n,(e=>{o.setElementWidth(e.element,e.width)}))},ra=(e,t,o,n,r)=>{const s=Zo(e),l=r.getCellDelta(t),a=r.getWidths(s,r),c=o===s.grid.columns-1,i=n.clampTableDelta(a,o,l,r.minCellWidth(),c),m=((e,t,o,n,r)=>{const s=e.slice(0),l=((e,t)=>0===e.length?ea.none():1===e.length?ea.only(0):0===t?ea.left(0,1):t===e.length-1?ea.right(t-1,t):t>0&&tn.singleColumnWidth(s[e],o)),((e,t)=>r.calcLeftEdgeDeltas(s,e,t,o,n.minCellWidth(),n.isRelative)),((e,t,l)=>r.calcMiddleDeltas(s,e,t,l,o,n.minCellWidth(),n.isRelative)),((e,t)=>r.calcRightEdgeDeltas(s,e,t,o,n.minCellWidth(),n.isRelative)))})(a,o,i,r,n),d=E(m,((e,t)=>e+a[t]));na(s,d,r),n.resizeTable(r.adjustTableWidth,i,c)},sa=e=>A(e,((e,t)=>O(e,(e=>e.column===t.column))?e:e.concat([t])),[]).sort(((e,t)=>e.column-t.column)),la=ue("col"),aa=ue("colgroup"),ca=e=>"tr"===ne(e)||aa(e),ia=e=>({element:e,colspan:Wt(e,"colspan",1),rowspan:Wt(e,"rowspan",1)}),ma=e=>we(e,"scope").map((e=>e.substr(0,3))),da=(e,t=ia)=>{const o=o=>{if(ca(o))return aa((r={element:o}).element)?e.colgroup(r):e.row(r);{const r=o,s=(t=>la(t.element)?e.col(t):e.cell(t))(t(r));return n=C.some({item:r,replacement:s}),s}var r};let n=C.none();return{getOrInit:(e,t)=>n.fold((()=>o(e)),(n=>t(e,n.item)?n.replacement:o(e)))}},ua=e=>t=>{const o=[],n=n=>{const r="td"===e?{scope:null}:{},s=t.replace(n,e,r);return o.push({item:n,sub:s}),s};return{replaceOrInit:(e,t)=>{if(ca(e)||la(e))return e;{const r=e;return((e,t)=>L(o,(o=>t(o.item,e))))(r,t).fold((()=>n(r)),(o=>t(e,o.item)?o.sub:n(r)))}}}},fa=e=>({unmerge:t=>{const o=ma(t);return o.each((e=>ge(t,"scope",e))),()=>{const n=e.cell({element:t,colspan:1,rowspan:1});return Lt(n,"width"),Lt(t,"width"),o.each((e=>ge(n,"scope",e))),n}},merge:e=>(Lt(e[0],"width"),(()=>{const t=yt(E(e,ma));if(0===t.length)return C.none();{const e=t[0],o=["row","col"];return O(t,(t=>t!==e&&D(o,t)))?C.none():C.from(e)}})().fold((()=>be(e[0],"scope")),(t=>ge(e[0],"scope",t+"group"))),g(e[0]))}),ga=["body","p","div","article","aside","figcaption","figure","footer","header","nav","section","ol","ul","table","thead","tfoot","tbody","caption","tr","td","th","h1","h2","h3","h4","h5","h6","blockquote","pre","address"],ha=hs(),pa=e=>((e,t)=>{const o=e.property().name(t);return D(ga,o)})(ha,e),wa=e=>((e,t)=>{const o=e.property().name(t);return D(["ol","ul"],o)})(ha,e),ba=e=>{const t=ue("br"),o=e=>Cr(e).bind((o=>{const n=Ae(o).map((e=>!!pa(e)||!!((e,t)=>D(["br","img","hr","input"],e.property().name(t)))(ha,e)&&"img"!==ne(e))).getOr(!1);return Ne(o).map((r=>{return!0===n||("li"===ne(s=r)||ft(s,wa).isSome())||t(o)||pa(r)&&!Re(e,r)?[]:[xe.fromTag("br")];var s}))})).getOr([]),n=(()=>{const n=j(e,(e=>{const n=Le(e);return(e=>P(e,(e=>t(e)||ie(e)&&0===hr(e).trim().length)))(n)?[]:n.concat(o(e))}));return 0===n.length?[xe.fromTag("br")]:n})();Ve(e[0]),$e(e[0],n)},va=e=>Qr(e,!0),ya=e=>{0===Ut(e).length&&qe(e)},xa=(e,t)=>({grid:e,cursor:t}),Ca=(e,t,o)=>{const n=((e,t,o)=>{var n,r;const s=qo(e).rows;return C.from(null===(r=null===(n=s[t])||void 0===n?void 0:n.cells[o])||void 0===r?void 0:r.element).filter(va).orThunk((()=>(e=>V(e,(e=>V(e.cells,(e=>{const t=e.element;return xt(va(t),t)})))))(s)))})(e,t,o);return xa(e,n)},Sa=e=>A(e,((e,t)=>O(e,(e=>e.row===t.row))?e:e.concat([t])),[]).sort(((e,t)=>e.row-t.row)),Ta=(e,t)=>(o,n,r,s,l)=>{const a=Sa(n),c=E(a,(e=>e.row)),i=((e,t,o,n,r,s,l)=>{const{cols:a,rows:c}=qo(e),i=c[t[0]],m=j(t,(e=>((e,t,o)=>{const n=e[t];return j(n.cells,((n,r)=>Ul(e,t,r,o)?[]:[n]))})(c,e,r))),d=E(i.cells,((e,t)=>nl(Jl(c,t,r)))),u=[...c];N(t,(e=>{u[e]=l.transformRow(c[e],o)}));const f=[...a,...u],g=((e,t)=>P(t,h)&&nl(e.cells)?x:(e,o,n)=>!("th"===ne(e.element)&&t[n]))(i,d),p=((e,t)=>(o,n,r)=>C.some(Gl(e,o.element,"col",t[r])))(n,d);return Yl(f,m,r,s,l.transformCell,p,g)})(o,c,e,t,r,s.replaceOrInit,l);return Ca(i,n[0].row,n[0].column)},Ra=Ta("thead",!0),Da=Ta("tbody",!1),Oa=Ta("tfoot",!1),ka=(e,t,o)=>{const n=((e,t)=>Qt(e,(()=>t)))(e,o.section),r=en(n);return xl(r,t,!0)},Ea=(e,t,o,n)=>((e,t,o,n)=>{const r=en(t),s=n.getWidths(r,n);na(r,s,n)})(0,t,0,n.sizing),Na=(e,t,o,n)=>((e,t,o,n,r)=>{const s=en(t),l=n.getWidths(s,n),a=n.pixelWidth(),{newSizes:c,delta:i}=r.calcRedestributedWidths(l,a,o.pixelDelta,n.isRelative);na(s,c,n),n.adjustTableWidth(i)})(0,t,o,n.sizing,n.resize),Ba=(e,t)=>O(t,(e=>0===e.column&&e.isLocked)),_a=(e,t)=>O(t,(t=>t.column+t.colspan>=e.grid.columns&&t.isLocked)),za=(e,t)=>{const o=cn(e),n=sa(t);return A(n,((e,t)=>e+o[t.column].map(Wo).getOr(0)),0)},Aa=e=>(t,o)=>Ol(t,o).filter((o=>!(e?Ba:_a)(t,o))).map((e=>({details:e,pixelDelta:za(t,e)}))),La=e=>(t,o)=>Dl(t,o).filter((o=>!(e?Ba:_a)(t,o.cells))),Wa=ua("th"),Ma=ua("td"),ja=Rl(((e,t,o,n)=>{const r=t[0].row,s=Sa(t),l=z(s,((e,t)=>({grid:Vl(e.grid,r,t.row+e.delta,o,n.getOrInit),delta:e.delta+1})),{grid:e,delta:0}).grid;return Ca(l,r,t[0].column)}),Ol,f,f,da),Pa=Rl(((e,t,o,n)=>{const r=Sa(t),s=r[r.length-1],l=s.row+s.rowspan,a=z(r,((e,t)=>Vl(e,l,t.row,o,n.getOrInit)),e);return Ca(a,l,t[0].column)}),Ol,f,f,da),Ia=Rl(((e,t,o,n)=>{const r=t.details,s=sa(r),l=s[0].column,a=z(s,((e,t)=>({grid:ql(e.grid,l,t.column+e.delta,o,n.getOrInit),delta:e.delta+1})),{grid:e,delta:0}).grid;return Ca(a,r[0].row,l)}),Aa(!0),Na,f,da),Fa=Rl(((e,t,o,n)=>{const r=t.details,s=r[r.length-1],l=s.column+s.colspan,a=sa(r),c=z(a,((e,t)=>ql(e,l,t.column,o,n.getOrInit)),e);return Ca(c,r[0].row,l)}),Aa(!1),Na,f,da),Ha=Rl(((e,t,o,n)=>{const r=sa(t.details),s=((e,t)=>j(e,(e=>{const o=e.cells,n=z(t,((e,t)=>t>=0&&t0?[tt(e.element,n,e.section,e.isNew)]:[]})))(e,E(r,(e=>e.column))),l=s.length>0?s[0].cells.length-1:0;return Ca(s,r[0].row,Math.min(r[0].column,l))}),((e,t)=>kl(e,t).map((t=>({details:t,pixelDelta:-za(e,t)})))),Na,ya,da),$a=Rl(((e,t,o,n)=>{const r=Sa(t),s=((e,t,o)=>{const{rows:n,cols:r}=qo(e);return[...r,...n.slice(0,t),...n.slice(o+1)]})(e,r[0].row,r[r.length-1].row),l=s.length>0?s.length-1:0;return Ca(s,Math.min(t[0].row,l),t[0].column)}),Ol,f,ya,da),Va=Rl(((e,t,o,n)=>{const r=sa(t),s=E(r,(e=>e.column)),l=Ql(e,s,!0,o,n.replaceOrInit);return Ca(l,t[0].row,t[0].column)}),kl,f,f,Wa),qa=Rl(((e,t,o,n)=>{const r=sa(t),s=E(r,(e=>e.column)),l=Ql(e,s,!1,o,n.replaceOrInit);return Ca(l,t[0].row,t[0].column)}),kl,f,f,Ma),Ua=Rl(Ra,kl,f,f,Wa),Ga=Rl(Da,kl,f,f,Ma),Ka=Rl(Oa,kl,f,f,Ma),Ya=Rl(((e,t,o,n)=>{const r=Xl(e,t,o,n.replaceOrInit);return Ca(r,t[0].row,t[0].column)}),kl,f,f,Wa),Ja=Rl(((e,t,o,n)=>{const r=Xl(e,t,o,n.replaceOrInit);return Ca(r,t[0].row,t[0].column)}),kl,f,f,Ma),Qa=Rl(((e,t,o,n)=>{const r=t.cells;ba(r);const s=((e,t,o,n)=>{const r=qo(e).rows;if(0===r.length)return e;for(let e=t.startRow;e<=t.finishRow;e++)for(let o=t.startCol;o<=t.finishCol;o++){const t=r[e],s=Ho(t,o).isLocked;Io(t,o,et(n(),!1,s))}return e})(e,t.bounds,0,n.merge(r));return xa(s,C.from(r[0]))}),((e,t)=>((e,t)=>t.mergable)(0,t).filter((t=>El(e,t.cells)))),Ea,f,fa),Xa=Rl(((e,t,o,n)=>{const r=z(t,((e,t)=>Nl(e,t,o,n.unmerge(t))),e);return xa(r,C.from(t[0]))}),((e,t)=>((e,t)=>t.unmergable)(0,t).filter((t=>El(e,t)))),Ea,f,fa),Za=Rl(((e,t,o,n)=>{const r=((e,t)=>{const o=Zo(e);return xl(o,t,!0)})(t.clipboard,t.generators);var s,l;return((e,t,o,n,r)=>{const s=Yo(t),l=((e,t,o)=>{const n=Vo(t[0]),r=qo(t).cols.length+e.row,s=k(n-e.column,(t=>t+e.column));return{row:r,column:L(s,(e=>P(o,(t=>t!==e)))).getOr(n-1)}})(e,t,s),a=qo(o).rows,c=Fl(l,a,s),i=((e,t,o)=>{if(e.row>=t.length||e.column>Vo(t[0]))return zl.error("invalid start address out of table bounds, row: "+e.row+", column: "+e.column);const n=t.slice(e.row),r=n[0].cells.slice(e.column),s=Vo(o[0]),l=o.length;return zl.value({rowDelta:n.length-l,colDelta:r.length-s})})(l,t,a);return i.map((e=>{const o={...e,colDelta:e.colDelta-c.length},s=Pl(t,o,n),i=Yo(s),m=Fl(l,a,i);return((e,t,o,n,r,s)=>{const l=e.row,a=e.column,c=l+o.length,i=a+Vo(o[0])+s.length,m=I(s,x);for(let e=l;exa(e,C.some(t.element))),(e=>Ca(e,t.row,t.column)))}),((e,t)=>qt(t.element).bind((o=>Sl(e,o).map((e=>({...e,generators:t.generators,clipboard:t.clipboard})))))),Ea,f,da),ec=Rl(((e,t,o,n)=>{const r=qo(e).rows,s=t.cells[0].column,l=r[t.cells[0].row],a=ka(t.clipboard,t.generators,l),c=Hl(s,e,a,t.generators,o);return Ca(c,t.cells[0].row,t.cells[0].column)}),La(!0),f,f,da),tc=Rl(((e,t,o,n)=>{const r=qo(e).rows,s=t.cells[t.cells.length-1].column+t.cells[t.cells.length-1].colspan,l=r[t.cells[0].row],a=ka(t.clipboard,t.generators,l),c=Hl(s,e,a,t.generators,o);return Ca(c,t.cells[0].row,t.cells[0].column)}),La(!1),f,f,da),oc=Rl(((e,t,o,n)=>{const r=qo(e).rows,s=t.cells[0].row,l=r[s],a=ka(t.clipboard,t.generators,l),c=$l(s,e,a,t.generators,o);return Ca(c,t.cells[0].row,t.cells[0].column)}),Dl,f,f,da),nc=Rl(((e,t,o,n)=>{const r=qo(e).rows,s=t.cells[t.cells.length-1].row+t.cells[t.cells.length-1].rowspan,l=r[t.cells[0].row],a=ka(t.clipboard,t.generators,l),c=$l(s,e,a,t.generators,o);return Ca(c,t.cells[0].row,t.cells[0].column)}),Dl,f,f,da),rc=(e,t)=>{const o=Zo(e);return Ol(o,t).bind((e=>{const t=e[e.length-1],n=e[0].column,r=t.column+t.colspan,s=M(E(o.all,(e=>_(e.cells,(e=>e.column>=n&&e.column{const o=Zo(e);return Ol(o,t).bind(ll).getOr("")},lc=(e,t)=>{const o=Zo(e);return Ol(o,t).bind((e=>{const t=e[e.length-1],n=e[0].row,r=t.row+t.rowspan;return(e=>{const t=E(e,(e=>sl(e).type)),o=D(t,"header"),n=D(t,"footer");if(o||n){const e=D(t,"body");return!o||e||n?o||e||!n?C.none():C.some("footer"):C.some("header")}return C.some("body")})(o.all.slice(n,r))})).getOr("")},ac=(e,t)=>e.dispatch("NewRow",{node:t}),cc=(e,t)=>e.dispatch("NewCell",{node:t}),ic=(e,t,o)=>{e.dispatch("TableModified",{...o,table:t})},mc={structure:!1,style:!0},dc={structure:!0,style:!1},uc={structure:!0,style:!0},fc=(e,t)=>Hr(e)?ur(t):$r(e)?dr(t):mr(t),gc=(e,t,o)=>{const n=e=>"table"===ne(Zr(e)),r=Wr(e),s=Ir(e)?f:Gs,l=t=>{switch(Mr(e)){case"section":return ul();case"sectionCells":return fl();case"cells":return gl();default:return((e,t)=>{var o;switch((o=Zo(e),V(o.all,(e=>{const t=sl(e);return"header"===t.type?C.from(t.subType):C.none()}))).getOr(t)){case"section":return il();case"sectionCells":return ml();case"cells":return dl()}})(t,"section")}},a=(n,s,a,c)=>(i,m,d=!1)=>{ts(i);const u=xe.fromDom(e.getDoc()),f=Br(a,u,r),g={sizing:fc(e,i),resize:Ir(e)?Zs():el(),section:l(i)};return s(i)?n(i,m,f,g).bind((n=>{t.refresh(i.dom),N(n.newRows,(t=>{ac(e,t.dom)})),N(n.newCells,(t=>{cc(e,t.dom)}));const r=((t,n)=>n.cursor.fold((()=>{const n=Ut(t);return H(n).filter(lt).map((n=>{o.clearSelectedCells(t.dom);const r=e.dom.createRng();return r.selectNode(n.dom),e.selection.setRng(r),ge(n,"data-mce-selected","1"),r}))}),(n=>{const r=qs(Us,n),s=e.dom.createRng();return s.setStart(r.element.dom,r.offset),s.setEnd(r.element.dom,r.offset),e.selection.setRng(s),o.clearSelectedCells(t.dom),C.some(s)})))(i,n);return lt(i)&&(ts(i),d||ic(e,i.dom,c)),r.map((e=>({rng:e,effect:c})))})):C.none()},c=a($a,(t=>!n(e)||tl(t).rows>1),f,dc),i=a(Ha,(t=>!n(e)||tl(t).columns>1),f,dc);return{deleteRow:c,deleteColumn:i,insertRowsBefore:a(ja,x,f,dc),insertRowsAfter:a(Pa,x,f,dc),insertColumnsBefore:a(Ia,x,s,dc),insertColumnsAfter:a(Fa,x,s,dc),mergeCells:a(Qa,x,f,dc),unmergeCells:a(Xa,x,f,dc),pasteColsBefore:a(ec,x,f,dc),pasteColsAfter:a(tc,x,f,dc),pasteRowsBefore:a(oc,x,f,dc),pasteRowsAfter:a(nc,x,f,dc),pasteCells:a(Za,x,f,uc),makeCellsHeader:a(Ya,x,f,dc),unmakeCellsHeader:a(Ja,x,f,dc),makeColumnsHeader:a(Va,x,f,dc),unmakeColumnsHeader:a(qa,x,f,dc),makeRowsHeader:a(Ua,x,f,dc),makeRowsBody:a(Ga,x,f,dc),makeRowsFooter:a(Ka,x,f,dc),getTableRowType:lc,getTableCellType:sc,getTableColType:rc}},hc=(e,t,o)=>{const n=Wt(e,t,1);1===o||n<=1?be(e,t):ge(e,t,Math.min(o,n))},pc=(e,t)=>o=>{const n=o.column+o.colspan-1,r=o.column;return n>=e&&r{const n=o.substring(0,o.length-e.length),r=parseFloat(n);return n===r.toString()?t(r):wc.invalid(o)},vc={...wc,from:e=>Rt(e,"%")?bc("%",wc.percent,e):Rt(e,"px")?bc("px",wc.pixels,e):wc.invalid(e)},yc=(e,t,o)=>{const n=vc.from(o),r=P(e,(e=>"0px"===e))?((e,t)=>{const o=e.fold((()=>g("")),(e=>g(e/t+"px")),(()=>g(100/t+"%")));return k(t,o)})(n,e.length):((e,t,o)=>e.fold((()=>t),(e=>((e,t,o)=>{const n=o/t;return E(e,(e=>vc.from(e).fold((()=>e),(e=>e*n+"px"),(e=>e/100*o+"px"))))})(t,o,e)),(e=>((e,t)=>E(e,(e=>vc.from(e).fold((()=>e),(e=>e/t*100+"%"),(e=>e+"%")))))(t,o))))(n,e,t);return Sc(r)},xc=(e,t)=>0===e.length?t:z(e,((e,t)=>vc.from(t).fold(g(0),h,h)+e),0),Cc=(e,t)=>vc.from(e).fold(g(e),(e=>e+t+"px"),(e=>e+t+"%")),Sc=e=>{if(0===e.length)return e;const t=z(e,((e,t)=>{const o=vc.from(t).fold((()=>({value:t,remainder:0})),(e=>((e,t)=>{const o=Math.floor(e);return{value:o+"px",remainder:e-o}})(e)),(e=>({value:e+"%",remainder:0})));return{output:[o.value].concat(e.output),remainder:e.remainder+o.remainder}}),{output:[],remainder:0}),o=t.output;return o.slice(0,o.length-1).concat([Cc(o[o.length-1],Math.round(t.remainder))])},Tc=vc.from,Rc=e=>Tc(e).fold(g("px"),g("px"),g("%")),Dc=(e,t,o)=>{const n=Zo(e),r=n.all,s=rn(n),l=sn(n);t.each((t=>{const o=Rc(t),r=Lo(e),a=((e,t)=>nr(e,t,er,rr))(n,e),c=yc(a,r,t);ln(n)?((e,t,o)=>{N(t,((t,n)=>{const r=xc([e[n]],Ft());Nt(t.element,"width",r+o)}))})(c,l,o):((e,t,o)=>{N(t,(t=>{const n=e.slice(t.column,t.colspan+t.column),r=xc(n,Ft());Nt(t.element,"width",r+o)}))})(c,s,o),Nt(e,"width",t)})),o.each((t=>{const o=Rc(t),l=hn(e),a=((e,t,o)=>lr(e,t,o,tr,rr))(n,e,_n);((e,t,o,n)=>{N(o,(t=>{const o=e.slice(t.row,t.rowspan+t.row),r=xc(o,Ht());Nt(t.element,"height",r+n)})),N(t,((t,o)=>{Nt(t.element,"height",e[o])}))})(yc(a,l,t),r,s,o),Nt(e,"height",t)}))},Oc=e=>Un(e).exists((e=>Mn.test(e))),kc=e=>Un(e).exists((e=>jn.test(e))),Ec=e=>Un(e).isNone(),Nc=e=>{be(e,"width")},Bc=e=>{const t=Qn(e);Dc(e,C.some(t),C.none()),Nc(e)},_c=e=>{const t=(e=>Lo(e)+"px")(e);Dc(e,C.some(t),C.none()),Nc(e)},zc=e=>{Lt(e,"width");const t=Gt(e),o=t.length>0?t:Ut(e);N(o,(e=>{Lt(e,"width"),Nc(e)})),Nc(e)},Ac={styles:{"border-collapse":"collapse",width:"100%"},attributes:{border:"1"},colGroups:!1},Lc=(e,t,o,n)=>k(e,(e=>((e,t,o,n)=>{const r=xe.fromTag("tr");for(let s=0;s{e.selection.select(t.dom,!0),e.selection.collapse(!0)},Mc=(e,t,o,n,s)=>{const l=(e=>{const t=e.options,o=t.get("table_default_styles");return t.isSet("table_default_styles")?o:((e,t)=>Vr(e)||!Ur(e)?t:$r(e)?{...t,width:Lr(e)}:{...t,width:Ar})(e,o)})(e),a={styles:l,attributes:Kr(e),colGroups:Yr(e)};return e.undoManager.ignore((()=>{const r=((e,t,o,n,r,s=Ac)=>{const l=xe.fromTag("table"),a="cells"!==r;Bt(l,s.styles),he(l,s.attributes),s.colGroups&&Ie(l,(e=>{const t=xe.fromTag("colgroup");return k(e,(()=>Ie(t,xe.fromTag("col")))),t})(t));const c=Math.min(e,o);if(a&&o>0){const e=xe.fromTag("thead");Ie(l,e);const s=Lc(o,t,"sectionCells"===r?c:0,n);$e(e,s)}const i=xe.fromTag("tbody");Ie(l,i);const m=Lc(a?e-c:e,t,a?0:o,n);return $e(i,m),l})(o,t,s,n,Mr(e),a);ge(r,"data-mce-id","__mce");const l=(e=>{const t=xe.fromTag("div"),o=xe.fromDom(e.dom.cloneNode(!0));return Ie(t,o),(e=>e.dom.innerHTML)(t)})(r);e.insertContent(l),e.addVisual()})),wt(Zr(e),'table[data-mce-id="__mce"]').map((t=>($r(e)?_c(t):Vr(e)?zc(t):(Hr(e)||(e=>r(e)&&-1!==e.indexOf("%"))(l.width))&&Bc(t),ts(t),be(t,"data-mce-id"),((e,t)=>{N(dt(t,"tr"),(t=>{ac(e,t.dom),N(dt(t,"th,td"),(t=>{cc(e,t.dom)}))}))})(e,t),((e,t)=>{wt(t,"td,th").each(w(Wc,e))})(e,t),t.dom))).getOrNull()};var jc=tinymce.util.Tools.resolve("tinymce.FakeClipboard");const Pc="x-tinymce/dom-table-",Ic=Pc+"rows",Fc=Pc+"columns",Hc=e=>{const t=jc.FakeClipboardItem(e);jc.write([t])},$c=e=>{var t;const o=null!==(t=jc.read())&&void 0!==t?t:[];return V(o,(t=>C.from(t.getType(e))))},Vc=e=>{$c(e).isSome()&&jc.clear()},qc=e=>{e.fold(Gc,(e=>Hc({[Ic]:e})))},Uc=()=>$c(Ic),Gc=()=>Vc(Ic),Kc=e=>{e.fold(Jc,(e=>Hc({[Fc]:e})))},Yc=()=>$c(Fc),Jc=()=>Vc(Fc),Qc=e=>Ms(os(e),es(e)).filter(ss),Xc=(e,t)=>{const o=es(e),n=e=>Kt(e,o),l=t=>(e=>js(os(e),es(e)).filter(ss))(e).bind((e=>n(e).map((o=>t(o,e))))),a=t=>{e.focus()},c=(t,o=!1)=>l(((n,r)=>{const s=Ls(Ps(e),n,r);t(n,s,o).each(a)})),i=()=>l(((t,o)=>((e,t,o)=>{const n=Zo(e);return Ol(n,t).bind((e=>{const t=xl(n,o,!1),r=qo(t).rows.slice(e[0].row,e[e.length-1].row+e[e.length-1].rowspan),s=j(r,(e=>{const t=_(e.cells,(e=>!e.isLocked));return t.length>0?[{...e,cells:t}]:[]})),l=Cl(s);return xt(l.length>0,l)})).map((e=>E(e,(e=>{const t=Ke(e.element);return N(e.cells,(e=>{const o=Ye(e.element);pl(o,"colspan",e.colspan,1),pl(o,"rowspan",e.rowspan,1),Ie(t,o)})),t}))))})(t,Ls(Ps(e),t,o),Br(f,xe.fromDom(e.getDoc()),C.none())))),m=()=>l(((t,o)=>((e,t)=>{const o=Zo(e);return kl(o,t).map((e=>{const t=e[e.length-1],n=e[0].column,r=t.column+t.colspan,s=((e,t,o)=>{if(ln(e)){const n=_(sn(e),pc(t,o)),r=E(n,(e=>{const n=Ye(e.element);return hc(n,"span",o-t),n})),s=xe.fromTag("colgroup");return $e(s,r),[s]}return[]})(o,n,r),l=((e,t,o)=>E(e.all,(e=>{const n=_(e.cells,pc(t,o)),r=E(n,(e=>{const n=Ye(e.element);return hc(n,"colspan",o-t),n})),s=xe.fromTag("tr");return $e(s,r),s})))(o,n,r);return[...s,...l]}))})(t,Ls(Ps(e),t,o)))),d=(t,o)=>o().each((o=>{const n=E(o,(e=>Ye(e)));l(((o,r)=>{const s=_r(xe.fromDom(e.getDoc())),l=((e,t,o,n)=>({selection:Os(e),clipboard:o,generators:n}))(Ps(e),0,n,s);t(o,l).each(a)}))})),g=e=>(t,o)=>((e,t)=>X(e,t)?C.from(e[t]):C.none())(o,"type").each((t=>{c(e(t),o.no_events)}));G({mceTableSplitCells:()=>c(t.unmergeCells),mceTableMergeCells:()=>c(t.mergeCells),mceTableInsertRowBefore:()=>c(t.insertRowsBefore),mceTableInsertRowAfter:()=>c(t.insertRowsAfter),mceTableInsertColBefore:()=>c(t.insertColumnsBefore),mceTableInsertColAfter:()=>c(t.insertColumnsAfter),mceTableDeleteCol:()=>c(t.deleteColumn),mceTableDeleteRow:()=>c(t.deleteRow),mceTableCutCol:()=>m().each((e=>{Kc(e),c(t.deleteColumn)})),mceTableCutRow:()=>i().each((e=>{qc(e),c(t.deleteRow)})),mceTableCopyCol:()=>m().each((e=>Kc(e))),mceTableCopyRow:()=>i().each((e=>qc(e))),mceTablePasteColBefore:()=>d(t.pasteColsBefore,Yc),mceTablePasteColAfter:()=>d(t.pasteColsAfter,Yc),mceTablePasteRowBefore:()=>d(t.pasteRowsBefore,Uc),mceTablePasteRowAfter:()=>d(t.pasteRowsAfter,Uc),mceTableDelete:()=>Qc(e).each((t=>{Kt(t,o).filter(b(o)).each((t=>{const o=xe.fromText("");if(je(t,o),qe(t),e.dom.isEmpty(e.getBody()))e.setContent(""),e.selection.setCursorLocation();else{const t=e.dom.createRng();t.setStart(o.dom,0),t.setEnd(o.dom,0),e.selection.setRng(t),e.nodeChanged()}}))})),mceTableCellToggleClass:(t,o)=>{l((t=>{const n=Ps(e),r=P(n,(t=>e.formatter.match("tablecellclass",{value:o},t.dom))),s=r?e.formatter.remove:e.formatter.apply;N(n,(e=>s("tablecellclass",{value:o},e.dom))),ic(e,t.dom,mc)}))},mceTableToggleClass:(t,o)=>{l((t=>{e.formatter.toggle("tableclass",{value:o},t.dom),ic(e,t.dom,mc)}))},mceTableToggleCaption:()=>{Qc(e).each((t=>{Kt(t,o).each((o=>{pt(o,"caption").fold((()=>{const t=xe.fromTag("caption");Ie(t,xe.fromText("Caption")),((e,t,o)=>{We(e,0).fold((()=>{Ie(e,t)}),(e=>{Me(e,t)}))})(o,t),e.selection.setCursorLocation(t.dom,0)}),(n=>{ue("caption")(t)&&Te("td",o).each((t=>e.selection.setCursorLocation(t.dom,0))),qe(n)})),ic(e,o.dom,dc)}))}))},mceTableSizingMode:(t,n)=>(t=>Qc(e).each((n=>{Vr(e)||$r(e)||Hr(e)||Kt(n,o).each((o=>{"relative"!==t||Oc(o)?"fixed"!==t||kc(o)?"responsive"!==t||Ec(o)||zc(o):_c(o):Bc(o),ts(o),ic(e,o.dom,dc)}))})))(n),mceTableCellType:g((e=>"th"===e?t.makeCellsHeader:t.unmakeCellsHeader)),mceTableColType:g((e=>"th"===e?t.makeColumnsHeader:t.unmakeColumnsHeader)),mceTableRowType:g((e=>{switch(e){case"header":return t.makeRowsHeader;case"footer":return t.makeRowsFooter;default:return t.makeRowsBody}}))},((t,o)=>e.addCommand(o,t))),e.addCommand("mceInsertTable",((t,o)=>{((e,t,o,n={})=>{const r=e=>u(e)&&e>0;if(r(t)&&r(o)){const r=n.headerRows||0,s=n.headerColumns||0;return Mc(e,o,t,s,r)}console.error("Invalid values for mceInsertTable - rows and columns values are required to insert a table.")})(e,o.rows,o.columns,o.options)})),e.addCommand("mceTableApplyCellStyle",((t,o)=>{const l=e=>"tablecell"+e.toLowerCase().replace("-","");if(!s(o))return;const a=_(Ps(e),ss);if(0===a.length)return;const c=((e,t)=>{const o={};return((e,t,o,n)=>{G(e,((e,r)=>{(t(e,r)?o:n)(e,r)}))})(e,t,(e=>(t,o)=>{e[o]=t})(o),f),o})(o,((t,o)=>e.formatter.has(l(o))&&r(t)));(e=>{for(const t in e)if(U.call(e,t))return!1;return!0})(c)||(G(c,((t,o)=>{const n=l(o);N(a,(o=>{""===t?e.formatter.remove(n,{value:null},o.dom,!0):e.formatter.apply(n,{value:t},o.dom)}))})),n(a[0]).each((t=>ic(e,t.dom,mc))))}))},Zc=Zl([{before:["element"]},{on:["element","offset"]},{after:["element"]}]),ei={before:Zc.before,on:Zc.on,after:Zc.after,cata:(e,t,o,n)=>e.fold(t,o,n),getStart:e=>e.fold(h,h,h)},ti=(e,t)=>({selection:e,kill:t}),oi=(e,t)=>{const o=e.document.createRange();return o.selectNode(t.dom),o},ni=(e,t)=>{const o=e.document.createRange();return ri(o,t),o},ri=(e,t)=>e.selectNodeContents(t.dom),si=(e,t,o)=>{const n=e.document.createRange();var r;return r=n,t.fold((e=>{r.setStartBefore(e.dom)}),((e,t)=>{r.setStart(e.dom,t)}),(e=>{r.setStartAfter(e.dom)})),((e,t)=>{t.fold((t=>{e.setEndBefore(t.dom)}),((t,o)=>{e.setEnd(t.dom,o)}),(t=>{e.setEndAfter(t.dom)}))})(n,o),n},li=(e,t,o,n,r)=>{const s=e.document.createRange();return s.setStart(t.dom,o),s.setEnd(n.dom,r),s},ai=e=>({left:e.left,top:e.top,right:e.right,bottom:e.bottom,width:e.width,height:e.height}),ci=Zl([{ltr:["start","soffset","finish","foffset"]},{rtl:["start","soffset","finish","foffset"]}]),ii=(e,t,o)=>t(xe.fromDom(o.startContainer),o.startOffset,xe.fromDom(o.endContainer),o.endOffset),mi=(e,t)=>{const o=((e,t)=>t.match({domRange:e=>({ltr:g(e),rtl:C.none}),relative:(t,o)=>({ltr:eo((()=>si(e,t,o))),rtl:eo((()=>C.some(si(e,o,t))))}),exact:(t,o,n,r)=>({ltr:eo((()=>li(e,t,o,n,r))),rtl:eo((()=>C.some(li(e,n,r,t,o))))})}))(e,t);return((e,t)=>{const o=t.ltr();return o.collapsed?t.rtl().filter((e=>!1===e.collapsed)).map((e=>ci.rtl(xe.fromDom(e.endContainer),e.endOffset,xe.fromDom(e.startContainer),e.startOffset))).getOrThunk((()=>ii(0,ci.ltr,o))):ii(0,ci.ltr,o)})(0,o)},di=(e,t)=>mi(e,t).match({ltr:(t,o,n,r)=>{const s=e.document.createRange();return s.setStart(t.dom,o),s.setEnd(n.dom,r),s},rtl:(t,o,n,r)=>{const s=e.document.createRange();return s.setStart(n.dom,r),s.setEnd(t.dom,o),s}});ci.ltr,ci.rtl;const ui=(e,t,o,n)=>({start:e,soffset:t,finish:o,foffset:n}),fi=(e,t,o,n)=>({start:ei.on(e,t),finish:ei.on(o,n)}),gi=(e,t)=>{const o=di(e,t);return ui(xe.fromDom(o.startContainer),o.startOffset,xe.fromDom(o.endContainer),o.endOffset)},hi=fi,pi=(e,t,o,n,r)=>Re(o,n)?C.none():xs(o,n,t).bind((t=>{const n=t.boxes.getOr([]);return n.length>1?(r(e,n,t.start,t.finish),C.some(ti(C.some(hi(o,0,o,br(o))),!0))):C.none()})),wi=(e,t)=>({item:e,mode:t}),bi=(e,t,o,n=vi)=>e.property().parent(t).map((e=>wi(e,n))),vi=(e,t,o,n=yi)=>o.sibling(e,t).map((e=>wi(e,n))),yi=(e,t,o,n=yi)=>{const r=e.property().children(t);return o.first(r).map((e=>wi(e,n)))},xi=[{current:bi,next:vi,fallback:C.none()},{current:vi,next:yi,fallback:C.some(bi)},{current:yi,next:yi,fallback:C.some(vi)}],Ci=(e,t,o,n,r=xi)=>L(r,(e=>e.current===o)).bind((o=>o.current(e,t,n,o.next).orThunk((()=>o.fallback.bind((o=>Ci(e,t,o,n))))))),Si=(e,t,o,n,r,s)=>Ci(e,t,n,r).bind((t=>s(t.item)?C.none():o(t.item)?C.some(t.item):Si(e,t.item,o,t.mode,r,s))),Ti=e=>t=>0===e.property().children(t).length,Ri=(e,t,o,n)=>Si(e,t,o,vi,{sibling:(e,t)=>e.query().prevSibling(t),first:e=>e.length>0?C.some(e[e.length-1]):C.none()},n),Di=(e,t,o,n)=>Si(e,t,o,vi,{sibling:(e,t)=>e.query().nextSibling(t),first:e=>e.length>0?C.some(e[0]):C.none()},n),Oi=hs(),ki=(e,t)=>((e,t,o)=>Ri(e,t,Ti(e),o))(Oi,e,t),Ei=(e,t)=>((e,t,o)=>Di(e,t,Ti(e),o))(Oi,e,t),Ni=Zl([{none:["message"]},{success:[]},{failedUp:["cell"]},{failedDown:["cell"]}]),Bi=e=>bt(e,"tr"),_i={...Ni,verify:(e,t,o,n,r,s,l)=>bt(n,"td,th",l).bind((o=>bt(t,"td,th",l).map((t=>Re(o,t)?Re(n,o)&&br(o)===r?s(t):Ni.none("in same cell"):vs(Bi,[o,t]).fold((()=>((e,t,o)=>{const n=e.getRect(t),r=e.getRect(o);return r.right>n.left&&r.lefts(t))))))).getOr(Ni.none("default")),cata:(e,t,o,n,r)=>e.fold(t,o,n,r)},zi=ue("br"),Ai=(e,t,o)=>t(e,o).bind((e=>ie(e)&&0===hr(e).trim().length?Ai(e,t,o):C.some(e))),Li=(e,t,o,n)=>((e,t)=>We(e,t).filter(zi).orThunk((()=>We(e,t-1).filter(zi))))(t,o).bind((t=>n.traverse(t).fold((()=>Ai(t,n.gather,e).map(n.relative)),(e=>(e=>Ne(e).bind((t=>{const o=Le(t);return((e,t)=>W(e,w(Re,t)))(o,e).map((n=>((e,t,o,n)=>({parent:e,children:t,element:o,index:n}))(t,o,e,n)))})))(e).map((e=>ei.on(e.parent,e.index))))))),Wi=(e,t)=>({left:e.left,top:e.top+t,right:e.right,bottom:e.bottom+t}),Mi=(e,t)=>({left:e.left,top:e.top-t,right:e.right,bottom:e.bottom-t}),ji=(e,t,o)=>({left:e.left+t,top:e.top+o,right:e.right+t,bottom:e.bottom+o}),Pi=e=>({left:e.left,top:e.top,right:e.right,bottom:e.bottom}),Ii=(e,t)=>C.some(e.getRect(t)),Fi=(e,t,o)=>ce(t)?Ii(e,t).map(Pi):ie(t)?((e,t,o)=>o>=0&&o0?e.getRangedRect(t,o-1,t,o):C.none())(e,t,o).map(Pi):C.none(),Hi=(e,t)=>ce(t)?Ii(e,t).map(Pi):ie(t)?e.getRangedRect(t,0,t,br(t)).map(Pi):C.none(),$i=Zl([{none:[]},{retry:["caret"]}]),Vi=(e,t,o)=>gt(t,pa).fold(y,(t=>Hi(e,t).exists((e=>((e,t)=>e.leftt.right)(o,e))))),qi={point:e=>e.bottom,adjuster:(e,t,o,n,r)=>{const s=Wi(r,5);return Math.abs(o.bottom-n.bottom)<1||o.top>r.bottom?$i.retry(s):o.top===r.bottom?$i.retry(Wi(r,1)):Vi(e,t,r)?$i.retry(ji(s,5,0)):$i.none()},move:Wi,gather:Ei},Ui=(e,t,o,n,r)=>0===r?C.some(n):((e,t,o)=>e.elementFromPoint(t,o).filter((e=>"table"===ne(e))).isSome())(e,n.left,t.point(n))?((e,t,o,n,r)=>Ui(e,t,o,t.move(n,5),r))(e,t,o,n,r-1):e.situsFromPoint(n.left,t.point(n)).bind((s=>s.start.fold(C.none,(s=>Hi(e,s).bind((l=>t.adjuster(e,s,l,o,n).fold(C.none,(n=>Ui(e,t,o,n,r-1))))).orThunk((()=>C.some(n)))),C.none))),Gi=(e,t,o)=>{const n=e.move(o,5),r=Ui(t,e,o,n,100).getOr(n);return((e,t,o)=>e.point(t)>o.getInnerHeight()?C.some(e.point(t)-o.getInnerHeight()):e.point(t)<0?C.some(-e.point(t)):C.none())(e,r,t).fold((()=>t.situsFromPoint(r.left,e.point(r))),(o=>(t.scrollBy(0,o),t.situsFromPoint(r.left,e.point(r)-o))))},Ki={tryUp:w(Gi,{point:e=>e.top,adjuster:(e,t,o,n,r)=>{const s=Mi(r,5);return Math.abs(o.top-n.top)<1||o.bottome.getSelection().bind((n=>((e,t,o,n)=>{const r=zi(t)?((e,t,o)=>o.traverse(t).orThunk((()=>Ai(t,o.gather,e))).map(o.relative))(e,t,n):Li(e,t,o,n);return r.map((e=>({start:e,finish:e})))})(t,n.finish,n.foffset,o).fold((()=>C.some(Fs(n.finish,n.foffset))),(r=>{const s=e.fromSitus(r);return l=_i.verify(e,n.finish,n.foffset,s.finish,s.foffset,o.failure,t),_i.cata(l,(e=>C.none()),(()=>C.none()),(e=>C.some(Fs(e,0))),(e=>C.some(Fs(e,br(e)))));var l})))),Ji=(e,t,o,n,r,s)=>0===s?C.none():Zi(e,t,o,n,r).bind((l=>{const a=e.fromSitus(l),c=_i.verify(e,o,n,a.finish,a.foffset,r.failure,t);return _i.cata(c,(()=>C.none()),(()=>C.some(l)),(l=>Re(o,l)&&0===n?Qi(e,o,n,Mi,r):Ji(e,t,l,0,r,s-1)),(l=>Re(o,l)&&n===br(l)?Qi(e,o,n,Wi,r):Ji(e,t,l,br(l),r,s-1)))})),Qi=(e,t,o,n,r)=>Fi(e,t,o).bind((t=>Xi(e,r,n(t,Ki.getJumpSize())))),Xi=(e,t,o)=>{const n=Bo().browser;return n.isChromium()||n.isSafari()||n.isFirefox()?t.retry(e,o):C.none()},Zi=(e,t,o,n,r)=>Fi(e,o,n).bind((t=>Xi(e,r,t))),em=(e,t,o,n,r)=>bt(n,"td,th",t).bind((n=>bt(n,"table",t).bind((s=>((e,t)=>ft(e,(e=>Ne(e).exists((e=>Re(e,t)))),void 0).isSome())(r,s)?((e,t,o)=>Yi(e,t,o).bind((n=>Ji(e,t,n.element,n.offset,o,20).map(e.fromSitus))))(e,t,o).bind((e=>bt(e.finish,"td,th",t).map((t=>({start:n,finish:t,range:e}))))):C.none())))),tm=(e,t,o,n,r,s)=>s(n,t).orThunk((()=>em(e,t,o,n,r).map((e=>{const t=e.range;return ti(C.some(hi(t.start,t.soffset,t.finish,t.foffset)),!0)})))),om=(e,t)=>bt(e,"tr",t).bind((e=>bt(e,"table",t).bind((o=>{const n=dt(o,"tr");return Re(e,n[0])?((e,t,o)=>Ri(Oi,e,(e=>Cr(e).isSome()),o))(o,0,t).map((e=>{const t=br(e);return ti(C.some(hi(e,t,e,t)),!0)})):C.none()})))),nm=(e,t)=>bt(e,"tr",t).bind((e=>bt(e,"table",t).bind((o=>{const n=dt(o,"tr");return Re(e,n[n.length-1])?((e,t,o)=>Di(Oi,e,(e=>xr(e).isSome()),o))(o,0,t).map((e=>ti(C.some(hi(e,0,e,0)),!0))):C.none()})))),rm=(e,t,o,n,r,s,l)=>em(e,o,n,r,s).bind((e=>pi(t,o,e.start,e.finish,l))),sm=e=>{let t=e;return{get:()=>t,set:e=>{t=e}}},lm=()=>{const e=(e=>{const t=sm(C.none()),o=()=>t.get().each(e);return{clear:()=>{o(),t.set(C.none())},isSet:()=>t.get().isSome(),get:()=>t.get(),set:e=>{o(),t.set(C.some(e))}}})(f);return{...e,on:t=>e.get().each(t)}},am=(e,t)=>bt(e,"td,th",t),cm=e=>Be(e).exists(Qr),im={traverse:Ae,gather:Ei,relative:ei.before,retry:Ki.tryDown,failure:_i.failedDown},mm={traverse:ze,gather:ki,relative:ei.before,retry:Ki.tryUp,failure:_i.failedUp},dm=e=>t=>t===e,um=dm(38),fm=dm(40),gm=e=>e>=37&&e<=40,hm={isBackward:dm(37),isForward:dm(39)},pm={isBackward:dm(39),isForward:dm(37)},wm=Zl([{domRange:["rng"]},{relative:["startSitu","finishSitu"]},{exact:["start","soffset","finish","foffset"]}]),bm={domRange:wm.domRange,relative:wm.relative,exact:wm.exact,exactFromRange:e=>wm.exact(e.start,e.soffset,e.finish,e.foffset),getWin:e=>{const t=(e=>e.match({domRange:e=>xe.fromDom(e.startContainer),relative:(e,t)=>ei.getStart(e),exact:(e,t,o,n)=>e}))(e);return xe.fromDom(Ee(t).dom.defaultView)},range:ui},vm=document.caretPositionFromPoint?(e,t,o)=>{var n,r;return C.from(null===(r=(n=e.dom).caretPositionFromPoint)||void 0===r?void 0:r.call(n,t,o)).bind((t=>{if(null===t.offsetNode)return C.none();const o=e.dom.createRange();return o.setStart(t.offsetNode,t.offset),o.collapse(),C.some(o)}))}:document.caretRangeFromPoint?(e,t,o)=>{var n,r;return C.from(null===(r=(n=e.dom).caretRangeFromPoint)||void 0===r?void 0:r.call(n,t,o))}:C.none,ym=(e,t)=>{const o=ne(e);return"input"===o?ei.after(e):D(["br","img"],o)?0===t?ei.before(e):ei.after(e):ei.on(e,t)},xm=e=>C.from(e.getSelection()),Cm=(e,t)=>{xm(e).each((e=>{e.removeAllRanges(),e.addRange(t)}))},Sm=(e,t,o,n,r)=>{const s=li(e,t,o,n,r);Cm(e,s)},Tm=(e,t)=>mi(e,t).match({ltr:(t,o,n,r)=>{Sm(e,t,o,n,r)},rtl:(t,o,n,r)=>{xm(e).each((s=>{if(s.setBaseAndExtent)s.setBaseAndExtent(t.dom,o,n.dom,r);else if(s.extend)try{((e,t,o,n,r,s)=>{t.collapse(o.dom,n),t.extend(r.dom,s)})(0,s,t,o,n,r)}catch(s){Sm(e,n,r,t,o)}else Sm(e,n,r,t,o)}))}}),Rm=(e,t,o,n,r)=>{const s=((e,t,o,n)=>{const r=ym(e,t),s=ym(o,n);return bm.relative(r,s)})(t,o,n,r);Tm(e,s)},Dm=(e,t,o)=>{const n=((e,t)=>{const o=e.fold(ei.before,ym,ei.after),n=t.fold(ei.before,ym,ei.after);return bm.relative(o,n)})(t,o);Tm(e,n)},Om=e=>{if(e.rangeCount>0){const t=e.getRangeAt(0),o=e.getRangeAt(e.rangeCount-1);return C.some(ui(xe.fromDom(t.startContainer),t.startOffset,xe.fromDom(o.endContainer),o.endOffset))}return C.none()},km=e=>{if(null===e.anchorNode||null===e.focusNode)return Om(e);{const t=xe.fromDom(e.anchorNode),o=xe.fromDom(e.focusNode);return((e,t,o,n)=>{const r=((e,t,o,n)=>{const r=ke(e).dom.createRange();return r.setStart(e.dom,t),r.setEnd(o.dom,n),r})(e,t,o,n),s=Re(e,o)&&t===n;return r.collapsed&&!s})(t,e.anchorOffset,o,e.focusOffset)?C.some(ui(t,e.anchorOffset,o,e.focusOffset)):Om(e)}},Em=(e,t,o=!0)=>{const n=(o?ni:oi)(e,t);Cm(e,n)},Nm=e=>(e=>xm(e).filter((e=>e.rangeCount>0)).bind(km))(e).map((e=>bm.exact(e.start,e.soffset,e.finish,e.foffset))),Bm=e=>({elementFromPoint:(t,o)=>xe.fromPoint(xe.fromDom(e.document),t,o),getRect:e=>e.dom.getBoundingClientRect(),getRangedRect:(t,o,n,r)=>{const s=bm.exact(t,o,n,r);return((e,t)=>(e=>{const t=e.getClientRects(),o=t.length>0?t[0]:e.getBoundingClientRect();return o.width>0||o.height>0?C.some(o).map(ai):C.none()})(di(e,t)))(e,s)},getSelection:()=>Nm(e).map((t=>gi(e,t))),fromSitus:t=>{const o=bm.relative(t.start,t.finish);return gi(e,o)},situsFromPoint:(t,o)=>((e,t,o)=>((e,t,o)=>{const n=xe.fromDom(e.document);return vm(n,t,o).map((e=>ui(xe.fromDom(e.startContainer),e.startOffset,xe.fromDom(e.endContainer),e.endOffset)))})(e,t,o))(e,t,o).map((e=>fi(e.start,e.soffset,e.finish,e.foffset))),clearSelection:()=>{(e=>{xm(e).each((e=>e.removeAllRanges()))})(e)},collapseSelection:(t=!1)=>{Nm(e).each((o=>o.fold((e=>e.collapse(t)),((o,n)=>{const r=t?o:n;Dm(e,r,r)}),((o,n,r,s)=>{const l=t?o:r,a=t?n:s;Rm(e,l,a,l,a)}))))},setSelection:t=>{Rm(e,t.start,t.soffset,t.finish,t.foffset)},setRelativeSelection:(t,o)=>{Dm(e,t,o)},selectNode:t=>{Em(e,t,!1)},selectContents:t=>{Em(e,t)},getInnerHeight:()=>e.innerHeight,getScrollY:()=>(e=>{const t=void 0!==e?e.dom:document,o=t.body.scrollLeft||t.documentElement.scrollLeft,n=t.body.scrollTop||t.documentElement.scrollTop;return bn(o,n)})(xe.fromDom(e.document)).top,scrollBy:(t,o)=>{((e,t,o)=>{const n=(void 0!==o?o.dom:document).defaultView;n&&n.scrollBy(e,t)})(t,o,xe.fromDom(e.document))}}),_m=(e,t)=>({rows:e,cols:t}),zm=e=>gt(e,ae).exists(Qr),Am=(e,t)=>zm(e)||zm(t),Lm=e=>void 0!==e.dom.classList,Wm=(e,t)=>((e,t,o)=>{const n=((e,t)=>{const o=pe(e,t);return void 0===o||""===o?[]:o.split(" ")})(e,t).concat([o]);return ge(e,t,n.join(" ")),!0})(e,"class",t),Mm=(e,t)=>{Lm(e)?e.dom.classList.add(t):Wm(e,t)},jm=(e,t)=>Lm(e)&&e.dom.classList.contains(t),Pm=()=>({tag:"none"}),Im=e=>({tag:"multiple",elements:e}),Fm=e=>({tag:"single",element:e}),Hm=e=>{const t=xe.fromDom((e=>{if(nt()&&m(e.target)){const t=xe.fromDom(e.target);if(ce(t)&&m(t.dom.shadowRoot)&&e.composed&&e.composedPath){const t=e.composedPath();if(t)return H(t)}}return C.from(e.target)})(e).getOr(e.target)),o=()=>e.stopPropagation(),n=()=>e.preventDefault(),r=(s=n,l=o,(...e)=>s(l.apply(null,e)));var s,l;return((e,t,o,n,r,s,l)=>({target:e,x:t,y:o,stop:n,prevent:r,kill:s,raw:l}))(t,e.clientX,e.clientY,o,n,r,e)},$m=(e,t,o,n)=>{e.dom.removeEventListener(t,o,n)},Vm=x,qm=(e,t,o)=>((e,t,o,n)=>((e,t,o,n,r)=>{const s=((e,t)=>o=>{e(o)&&t(Hm(o))})(o,n);return e.dom.addEventListener(t,s,r),{unbind:w($m,e,t,s,r)}})(e,t,o,n,!1))(e,t,Vm,o),Um=Hm,Gm=e=>!jm(xe.fromDom(e.target),"ephox-snooker-resizer-bar"),Km=(e,t)=>{const o=(r=As.selectedSelector,{get:()=>Rs(xe.fromDom(e.getBody()),r).fold((()=>js(os(e),es(e)).fold(Pm,Fm)),Im)}),n=((e,t,o)=>{const n=t=>{be(t,e.selected),be(t,e.firstSelected),be(t,e.lastSelected)},r=t=>{ge(t,e.selected,"1")},s=e=>{l(e),o()},l=t=>{const o=dt(t,`${e.selectedSelector},${e.firstSelectedSelector},${e.lastSelectedSelector}`);N(o,n)};return{clearBeforeUpdate:l,clear:s,selectRange:(o,n,l,a)=>{s(o),N(n,r),ge(l,e.firstSelected,"1"),ge(a,e.lastSelected,"1"),t(n,l,a)},selectedSelector:e.selectedSelector,firstSelectedSelector:e.firstSelectedSelector,lastSelectedSelector:e.lastSelectedSelector}})(As,((t,o,n)=>{Kt(o).each((r=>{const s=Wr(e),l=Br(f,xe.fromDom(e.getDoc()),s),a=((e,t,o)=>{const n=Zo(e);return Ol(n,t).map((e=>{const t=xl(n,o,!1),{rows:r}=qo(t),s=((e,t)=>{const o=e.slice(0,t[t.length-1].row+1),n=Cl(o);return j(n,(e=>{const o=e.cells.slice(0,t[t.length-1].column+1);return E(o,(e=>e.element))}))})(r,e),l=((e,t)=>{const o=e.slice(t[0].row+t[0].rowspan-1,e.length),n=Cl(o);return j(n,(e=>{const o=e.cells.slice(t[0].column+t[0].colspan-1,e.cells.length);return E(o,(e=>e.element))}))})(r,e);return{upOrLeftCells:s,downOrRightCells:l}}))})(r,{selection:Ps(e)},l);((e,t,o,n,r)=>{e.dispatch("TableSelectionChange",{cells:t,start:o,finish:n,otherCells:r})})(e,t,o,n,a)}))}),(()=>(e=>{e.dispatch("TableSelectionClear")})(e)));var r;return e.on("init",(o=>{const r=e.getWin(),s=Zr(e),l=es(e),a=((e,t,o,n)=>{const r=((e,t,o,n)=>{const r=lm(),s=r.clear,l=s=>{r.on((r=>{n.clearBeforeUpdate(t),am(s.target,o).each((l=>{xs(r,l,o).each((o=>{const r=o.boxes.getOr([]);if(1===r.length){const o=r[0],l="false"===Xr(o),a=vt(Jr(s.target),o,Re);l&&a&&(n.selectRange(t,r,o,o),e.selectContents(o))}else r.length>1&&(n.selectRange(t,r,o.start,o.finish),e.selectContents(l))}))}))}))};return{clearstate:s,mousedown:e=>{n.clear(t),am(e.target,o).filter(cm).each(r.set)},mouseover:e=>{l(e)},mouseup:e=>{l(e),s()}}})(Bm(e),t,o,n);return{clearstate:r.clearstate,mousedown:r.mousedown,mouseover:r.mouseover,mouseup:r.mouseup}})(r,s,l,n),c=((e,t,o,n)=>{const r=Bm(e),s=()=>(n.clear(t),C.none());return{keydown:(e,l,a,c,i,m)=>{const d=e.raw,u=d.which,f=!0===d.shiftKey,g=Cs(t,n.selectedSelector).fold((()=>(gm(u)&&!f&&n.clearBeforeUpdate(t),gm(u)&&f&&!Am(l,c)?C.none:fm(u)&&f?w(rm,r,t,o,im,c,l,n.selectRange):um(u)&&f?w(rm,r,t,o,mm,c,l,n.selectRange):fm(u)?w(tm,r,o,im,c,l,nm):um(u)?w(tm,r,o,mm,c,l,om):C.none)),(e=>{const o=o=>()=>{const s=V(o,(o=>((e,t,o,n,r)=>Ts(n,e,t,r.firstSelectedSelector,r.lastSelectedSelector).map((e=>(r.clearBeforeUpdate(o),r.selectRange(o,e.boxes,e.start,e.finish),e.boxes))))(o.rows,o.cols,t,e,n)));return s.fold((()=>Ss(t,n.firstSelectedSelector,n.lastSelectedSelector).map((e=>{const o=fm(u)||m.isForward(u)?ei.after:ei.before;return r.setRelativeSelection(ei.on(e.first,0),o(e.table)),n.clear(t),ti(C.none(),!0)}))),(e=>C.some(ti(C.none(),!0))))};return gm(u)&&f&&!Am(l,c)?C.none:fm(u)&&f?o([_m(1,0)]):um(u)&&f?o([_m(-1,0)]):m.isBackward(u)&&f?o([_m(0,-1),_m(-1,0)]):m.isForward(u)&&f?o([_m(0,1),_m(1,0)]):gm(u)&&!f?s:C.none}));return g()},keyup:(e,r,s,l,a)=>Cs(t,n.selectedSelector).fold((()=>{const c=e.raw,i=c.which;return!0===c.shiftKey&&gm(i)&&Am(r,l)?((e,t,o,n,r,s,l)=>Re(o,r)&&n===s?C.none():bt(o,"td,th",t).bind((o=>bt(r,"td,th",t).bind((n=>pi(e,t,o,n,l))))))(t,o,r,s,l,a,n.selectRange):C.none()}),C.none)}})(r,s,l,n),i=((e,t,o,n)=>{const r=Bm(e);return(e,s)=>{n.clearBeforeUpdate(t),xs(e,s,o).each((e=>{const o=e.boxes.getOr([]);n.selectRange(t,o,e.start,e.finish),r.selectContents(s),r.collapseSelection()}))}})(r,s,l,n);e.on("TableSelectorChange",(e=>i(e.start,e.finish)));const m=(t,o)=>{(e=>!0===e.raw.shiftKey)(t)&&(o.kill&&t.kill(),o.selection.each((t=>{const o=bm.relative(t.start,t.finish),n=di(r,o);e.selection.setRng(n)})))},d=e=>0===e.button,u=(()=>{const e=sm(xe.fromDom(s)),t=sm(0);return{touchEnd:o=>{const n=xe.fromDom(o.target);if(ue("td")(n)||ue("th")(n)){const r=e.get(),s=t.get();Re(r,n)&&o.timeStamp-s<300&&(o.preventDefault(),i(n,n))}e.set(n),t.set(o.timeStamp)}}})();e.on("dragstart",(e=>{a.clearstate()})),e.on("mousedown",(e=>{d(e)&&Gm(e)&&a.mousedown(Um(e))})),e.on("mouseover",(e=>{var t;void 0!==(t=e).buttons&&0==(1&t.buttons)||!Gm(e)||a.mouseover(Um(e))})),e.on("mouseup",(e=>{d(e)&&Gm(e)&&a.mouseup(Um(e))})),e.on("touchend",u.touchEnd),e.on("keyup",(t=>{const o=Um(t);if(o.raw.shiftKey&&gm(o.raw.which)){const t=e.selection.getRng(),n=xe.fromDom(t.startContainer),r=xe.fromDom(t.endContainer);c.keyup(o,n,t.startOffset,r,t.endOffset).each((e=>{m(o,e)}))}})),e.on("keydown",(o=>{const n=Um(o);t.hide();const r=e.selection.getRng(),s=xe.fromDom(r.startContainer),l=xe.fromDom(r.endContainer),a=un(hm,pm)(xe.fromDom(e.selection.getStart()));c.keydown(n,s,r.startOffset,l,r.endOffset,a).each((e=>{m(n,e)})),t.show()})),e.on("NodeChange",(()=>{const t=e.selection,o=xe.fromDom(t.getStart()),r=xe.fromDom(t.getEnd());vs(Kt,[o,r]).fold((()=>n.clear(s)),f)}))})),e.on("PreInit",(()=>{e.serializer.addTempAttr(As.firstSelected),e.serializer.addTempAttr(As.lastSelected)})),{getSelectedCells:()=>((e,t,o,n)=>{switch(e.tag){case"none":return t();case"single":return(e=>[e.dom])(e.element);case"multiple":return(e=>E(e,(e=>e.dom)))(e.elements)}})(o.get(),g([])),clearSelectedCells:e=>n.clear(xe.fromDom(e))}},Ym=e=>{let t=[];return{bind:e=>{if(void 0===e)throw new Error("Event bind error: undefined handler");t.push(e)},unbind:e=>{t=_(t,(t=>t!==e))},trigger:(...o)=>{const n={};N(e,((e,t)=>{n[e]=o[t]})),N(t,(e=>{e(n)}))}}},Jm=e=>({registry:K(e,(e=>({bind:e.bind,unbind:e.unbind}))),trigger:K(e,(e=>e.trigger))}),Qm=e=>e.slice(0).sort(),Xm=(e,t)=>{const o=_(t,(t=>!D(e,t)));o.length>0&&(e=>{throw new Error("Unsupported keys for object: "+Qm(e).join(", "))})(o)},Zm=e=>((e,t)=>((e,t,o)=>{if(0===t.length)throw new Error("You must specify at least one required field.");return((e,t)=>{if(!l(t))throw new Error("The "+e+" fields must be an array. Was: "+t+".");N(t,(t=>{if(!r(t))throw new Error("The value "+t+" in the "+e+" fields was not a string.")}))})("required",t),(e=>{const t=Qm(e);L(t,((e,o)=>o{throw new Error("The field: "+e+" occurs more than once in the combined fields: ["+t.join(", ")+"].")}))})(t),n=>{const r=q(n);P(t,(e=>D(r,e)))||((e,t)=>{throw new Error("All required keys ("+Qm(e).join(", ")+") were not specified. Specified keys were: "+Qm(t).join(", ")+".")})(t,r),e(t,r);const s=_(t,(e=>!o.validate(n[e],e)));return s.length>0&&((e,t)=>{throw new Error("All values need to be of type: "+t+". Keys ("+Qm(e).join(", ")+") were not.")})(s,o.label),n}})(e,t,{validate:d,label:"function"}))(Xm,e),ed=Zm(["compare","extract","mutate","sink"]),td=Zm(["element","start","stop","destroy"]),od=Zm(["forceDrop","drop","move","delayDrop"]),nd=()=>{const e=(()=>{const e=Jm({move:Ym(["info"])});return{onEvent:f,reset:f,events:e.registry}})(),t=(()=>{let e=C.none();const t=Jm({move:Ym(["info"])});return{onEvent:(o,n)=>{n.extract(o).each((o=>{const r=((t,o)=>{const n=e.map((e=>t.compare(e,o)));return e=C.some(o),n})(n,o);r.each((e=>{t.trigger.move(e)}))}))},reset:()=>{e=C.none()},events:t.registry}})();let o=e;return{on:()=>{o.reset(),o=t},off:()=>{o.reset(),o=e},isOn:()=>o===t,onEvent:(e,t)=>{o.onEvent(e,t)},events:t.events}},rd=e=>{const t=e.replace(/\./g,"-");return{resolve:e=>t+"-"+e}},sd=rd("ephox-dragster").resolve;var ld=ed({compare:(e,t)=>bn(t.left-e.left,t.top-e.top),extract:e=>C.some(bn(e.x,e.y)),sink:(e,t)=>{const o=(e=>{const t={layerClass:sd("blocker"),...e},o=xe.fromTag("div");return ge(o,"role","presentation"),Bt(o,{position:"fixed",left:"0px",top:"0px",width:"100%",height:"100%"}),Mm(o,sd("blocker")),Mm(o,t.layerClass),{element:g(o),destroy:()=>{qe(o)}}})(t),n=qm(o.element(),"mousedown",e.forceDrop),r=qm(o.element(),"mouseup",e.drop),s=qm(o.element(),"mousemove",e.move),l=qm(o.element(),"mouseout",e.delayDrop);return td({element:o.element,start:e=>{Ie(e,o.element())},stop:()=>{qe(o.element())},destroy:()=>{o.destroy(),r.unbind(),s.unbind(),l.unbind(),n.unbind()}})},mutate:(e,t)=>{e.mutate(t.left,t.top)}});const ad=rd("ephox-snooker").resolve,cd=ad("resizer-bar"),id=ad("resizer-rows"),md=ad("resizer-cols"),dd=e=>{const t=dt(e.parent(),"."+cd);N(t,qe)},ud=(e,t,o)=>{const n=e.origin();N(t,(t=>{t.each((t=>{const r=o(n,t);Mm(r,cd),Ie(e.parent(),r)}))}))},fd=(e,t,o,n,r)=>{const s=yn(o),l=t.isResizable,a=n.length>0?_n.positions(n,o):[],c=a.length>0?((e,t)=>j(e.all,((e,o)=>t(e.element)?[o]:[])))(e,l):[];((e,t,o,n)=>{ud(e,t,((e,t)=>{const r=((e,t,o,n,r)=>{const s=xe.fromTag("div");return Bt(s,{position:"absolute",left:t+"px",top:o-3.5+"px",height:"7px",width:n+"px"}),he(s,{"data-row":e,role:"presentation"}),s})(t.row,o.left-e.left,t.y-e.top,n);return Mm(r,id),r}))})(t,_(a,((e,t)=>O(c,(e=>t===e)))),s,Wo(o));const i=r.length>0?An.positions(r,o):[],m=i.length>0?((e,t)=>{const o=[];return k(e.grid.columns,(n=>{an(e,n).map((e=>e.element)).forall(t)&&o.push(n)})),_(o,(o=>{const n=nn(e,(e=>e.column===o));return P(n,(e=>t(e.element)))}))})(e,l):[];((e,t,o,n)=>{ud(e,t,((e,t)=>{const r=((e,t,o,n,r)=>{const s=xe.fromTag("div");return Bt(s,{position:"absolute",left:t-3.5+"px",top:o+"px",height:r+"px",width:"7px"}),he(s,{"data-column":e,role:"presentation"}),s})(t.col,t.x-e.left,o.top-e.top,0,n);return Mm(r,md),r}))})(t,_(i,((e,t)=>O(m,(e=>t===e)))),s,pn(o))},gd=(e,t)=>{if(dd(e),e.isResizable(t)){const o=Zo(t),n=dn(o),r=cn(o);fd(o,e,t,n,r)}},hd=(e,t)=>{const o=dt(e.parent(),"."+cd);N(o,t)},pd=e=>{hd(e,(e=>{Nt(e,"display","none")}))},wd=e=>{hd(e,(e=>{Nt(e,"display","block")}))},bd=ad("resizer-bar-dragging"),vd=e=>{const t=(()=>{const e=Jm({drag:Ym(["xDelta","yDelta","target"])});let t=C.none();const o=(()=>{const e=Jm({drag:Ym(["xDelta","yDelta"])});return{mutate:(t,o)=>{e.trigger.drag(t,o)},events:e.registry}})();return o.events.drag.bind((o=>{t.each((t=>{e.trigger.drag(o.xDelta,o.yDelta,t)}))})),{assign:e=>{t=C.some(e)},get:()=>t,mutate:o.mutate,events:e.registry}})(),o=((e,t={})=>{var o;return((e,t,o)=>{let n=!1;const r=Jm({start:Ym([]),stop:Ym([])}),s=nd(),l=()=>{m.stop(),s.isOn()&&(s.off(),r.trigger.stop())},c=((e,t)=>{let o=null;const n=()=>{a(o)||(clearTimeout(o),o=null)};return{cancel:n,throttle:(...t)=>{n(),o=setTimeout((()=>{o=null,e.apply(null,t)}),200)}}})(l);s.events.move.bind((o=>{t.mutate(e,o.info)}));const i=e=>(...t)=>{n&&e.apply(null,t)},m=t.sink(od({forceDrop:l,drop:i(l),move:i((e=>{c.cancel(),s.onEvent(e,t)})),delayDrop:i(c.throttle)}),o);return{element:m.element,go:e=>{m.start(e),s.on(),r.trigger.start()},on:()=>{n=!0},off:()=>{n=!1},isActive:()=>n,destroy:()=>{m.destroy()},events:r.registry}})(e,null!==(o=t.mode)&&void 0!==o?o:ld,t)})(t,{});let n=C.none();const r=(e,t)=>C.from(pe(e,t));t.events.drag.bind((e=>{r(e.target,"data-row").each((t=>{const o=It(e.target,"top");Nt(e.target,"top",o+e.yDelta+"px")})),r(e.target,"data-column").each((t=>{const o=It(e.target,"left");Nt(e.target,"left",o+e.xDelta+"px")}))}));const s=(e,t)=>It(e,t)-Wt(e,"data-initial-"+t,0);o.events.stop.bind((()=>{t.get().each((t=>{n.each((o=>{r(t,"data-row").each((e=>{const n=s(t,"top");be(t,"data-initial-top"),d.trigger.adjustHeight(o,n,parseInt(e,10))})),r(t,"data-column").each((e=>{const n=s(t,"left");be(t,"data-initial-left"),d.trigger.adjustWidth(o,n,parseInt(e,10))})),gd(e,o)}))}))}));const l=(n,r)=>{d.trigger.startAdjust(),t.assign(n),ge(n,"data-initial-"+r,It(n,r)),Mm(n,bd),Nt(n,"opacity","0.2"),o.go(e.parent())},c=qm(e.parent(),"mousedown",(e=>{var t;t=e.target,jm(t,id)&&l(e.target,"top"),(e=>jm(e,md))(e.target)&&l(e.target,"left")})),i=t=>Re(t,e.view()),m=qm(e.view(),"mouseover",(t=>{var r;(r=t.target,bt(r,"table",i).filter(Qr)).fold((()=>{lt(t.target)&&dd(e)}),(t=>{o.isActive()&&(n=C.some(t),gd(e,t))}))})),d=Jm({adjustHeight:Ym(["table","delta","row"]),adjustWidth:Ym(["table","delta","column"]),startAdjust:Ym([])});return{destroy:()=>{c.unbind(),m.unbind(),o.destroy(),dd(e)},refresh:t=>{gd(e,t)},on:o.on,off:o.off,hideBars:w(pd,e),showBars:w(wd,e),events:d.registry}},yd=(e,t,o)=>{const n=_n,r=An,s=vd(e),l=Jm({beforeResize:Ym(["table","type"]),afterResize:Ym(["table","type"]),startDrag:Ym([])});return s.events.adjustHeight.bind((e=>{const t=e.table;l.trigger.beforeResize(t,"row");((e,t,o,n)=>{const r=Zo(e),s=((e,t,o)=>lr(e,t,o,Yn,(e=>e.getOrThunk(Ht))))(r,e,n),l=E(s,((e,n)=>o===n?Math.max(t+e,Ht()):e)),a=oa(r,l),c=((e,t)=>E(e.all,((e,o)=>({element:e.element,height:t[o]}))))(r,l);N(c,(e=>{$n(e.element,e.height)})),N(a,(e=>{$n(e.element,e.height)}));const i=z(l,((e,t)=>e+t),0);$n(e,i)})(t,n.delta(e.delta,t),e.row,n),l.trigger.afterResize(t,"row")})),s.events.startAdjust.bind((e=>{l.trigger.startDrag()})),s.events.adjustWidth.bind((e=>{const n=e.table;l.trigger.beforeResize(n,"col");const s=r.delta(e.delta,n),a=o(n);ra(n,s,e.column,t,a),l.trigger.afterResize(n,"col")})),{on:s.on,off:s.off,refreshBars:s.refresh,hideBars:s.hideBars,showBars:s.showBars,destroy:s.destroy,events:l.registry}},xd=e=>m(e)&&"TABLE"===e.nodeName,Cd="bar-",Sd=e=>"false"!==pe(e,"data-mce-resize"),Td=e=>{const t=lm(),o=lm(),n=lm();let r,s;const l=t=>fc(e,t),a=()=>Pr(e)?el():Zs();return e.on("init",(()=>{const r=((e,t)=>e.inline?((e,t,o)=>({parent:g(t),view:g(e),origin:g(bn(0,0)),isResizable:o}))(xe.fromDom(e.getBody()),(()=>{const e=xe.fromTag("div");return Bt(e,{position:"static",height:"0",width:"0",padding:"0",margin:"0",border:"0"}),Ie(at(xe.fromDom(document)),e),e})(),t):((e,t)=>{const o=me(e)?(e=>xe.fromDom(Ee(e).dom.documentElement))(e):e;return{parent:g(o),view:g(e),origin:g(bn(0,0)),isResizable:t}})(xe.fromDom(e.getDoc()),t))(e,Sd);if(n.set(r),(e=>{const t=e.options.get("object_resizing");return D(t.split(","),"table")})(e)&&qr(e)){const n=a(),s=yd(r,n,l);s.on(),s.events.startDrag.bind((o=>{t.set(e.selection.getRng())})),s.events.beforeResize.bind((t=>{const o=t.table.dom;((e,t,o,n,r)=>{e.dispatch("ObjectResizeStart",{target:t,width:o,height:n,origin:r})})(e,o,ns(o),rs(o),Cd+t.type)})),s.events.afterResize.bind((o=>{const n=o.table,r=n.dom;ts(n),t.on((t=>{e.selection.setRng(t),e.focus()})),((e,t,o,n,r)=>{e.dispatch("ObjectResized",{target:t,width:o,height:n,origin:r})})(e,r,ns(r),rs(r),Cd+o.type),e.undoManager.add()})),o.set(s)}})),e.on("ObjectResizeStart",(t=>{const o=t.target;if(xd(o)){const n=xe.fromDom(o);N(e.dom.select(".mce-clonedresizable"),(t=>{e.dom.addClass(t,"mce-"+jr(e)+"-columns")})),!kc(n)&&$r(e)?_c(n):!Oc(n)&&Hr(e)&&Bc(n),Ec(n)&&Tt(t.origin,Cd)&&Bc(n),r=t.width,s=Vr(e)?"":((e,t)=>{const o=e.dom.getStyle(t,"width")||e.dom.getAttrib(t,"width");return C.from(o).filter(Ot)})(e,o).getOr("")}})),e.on("ObjectResized",(t=>{const o=t.target;if(xd(o)){const n=xe.fromDom(o),c=t.origin;Tt(c,"corner-")&&((t,o,n)=>{const c=Rt(o,"e");if(""===s&&Bc(t),n!==r&&""!==s){Nt(t,"width",s);const o=a(),i=l(t),m=Pr(e)||c?(e=>tl(e).columns)(t)-1:0;ra(t,n-r,m,o,i)}else if((e=>/^(\d+(\.\d+)?)%$/.test(e))(s)){const e=parseFloat(s.replace("%",""));Nt(t,"width",n*e/r+"%")}(e=>/^(\d+(\.\d+)?)px$/.test(e))(s)&&(e=>{const t=Zo(e);ln(t)||N(Ut(e),(e=>{const t=_t(e,"width");Nt(e,"width",t),be(e,"width")}))})(t)})(n,c,t.width),ts(n),ic(e,n.dom,mc)}})),e.on("SwitchMode",(()=>{o.on((t=>{e.mode.isReadOnly()?t.hideBars():t.showBars()}))})),e.on("dragstart dragend",(e=>{o.on((t=>{"dragstart"===e.type?(t.hideBars(),t.off()):(t.on(),t.showBars())}))})),e.on("remove",(()=>{o.on((e=>{e.destroy()})),n.on((t=>{((e,t)=>{e.inline&&qe(t.parent())})(e,t)}))})),{refresh:e=>{o.on((t=>t.refreshBars(xe.fromDom(e))))},hide:()=>{o.on((e=>e.hideBars()))},show:()=>{o.on((e=>e.showBars()))}}},Rd=e=>{(e=>{const t=e.options.register;t("table_clone_elements",{processor:"string[]"}),t("table_use_colgroups",{processor:"boolean",default:!0}),t("table_header_type",{processor:e=>{const t=D(["section","cells","sectionCells","auto"],e);return t?{value:e,valid:t}:{valid:!1,message:"Must be one of: section, cells, sectionCells or auto."}},default:"section"}),t("table_sizing_mode",{processor:"string",default:"auto"}),t("table_default_attributes",{processor:"object",default:{border:"1"}}),t("table_default_styles",{processor:"object",default:{"border-collapse":"collapse"}}),t("table_column_resizing",{processor:e=>{const t=D(["preservetable","resizetable"],e);return t?{value:e,valid:t}:{valid:!1,message:"Must be preservetable, or resizetable."}},default:"preservetable"}),t("table_resize_bars",{processor:"boolean",default:!0}),t("table_style_by_css",{processor:"boolean",default:!0}),t("table_merge_content_on_paste",{processor:"boolean",default:!0})})(e);const t=Td(e),o=Km(e,t),n=gc(e,t,o);return Xc(e,n),((e,t)=>{const o=es(e),n=t=>js(os(e)).bind((n=>Kt(n,o).map((o=>{const r=Ls(Ps(e),o,n);return t(o,r)})))).getOr("");G({mceTableRowType:()=>n(t.getTableRowType),mceTableCellType:()=>n(t.getTableCellType),mceTableColType:()=>n(t.getTableColType)},((t,o)=>e.addQueryValueHandler(o,t)))})(e,n),Is(e,n),{getSelectedCells:o.getSelectedCells,clearSelectedCells:o.clearSelectedCells}};e.add("dom",(e=>({table:Rd(e)})))}(); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/package.json b/public/tools/cloud_notes/tinymce/package.json new file mode 100644 index 0000000..d3df4dc --- /dev/null +++ b/public/tools/cloud_notes/tinymce/package.json @@ -0,0 +1,32 @@ +{ + "name": "tinymce", + "version": "6.8.3", + "repository": { + "type": "git", + "url": "https://github.com/tinymce/tinymce.git", + "directory": "modules/tinymce" + }, + "description": "Web based JavaScript HTML WYSIWYG editor control.", + "author": "Ephox Corporation DBA Tiny Technologies, Inc", + "main": "tinymce.js", + "types": "tinymce.d.ts", + "license": "MIT", + "keywords": [ + "wysiwyg", + "tinymce", + "richtext", + "javascript", + "html", + "text", + "rich editor", + "rich text editor", + "rte", + "rich text", + "contenteditable", + "editing" + ], + "homepage": "https://www.tiny.cloud/", + "bugs": { + "url": "https://github.com/tinymce/tinymce/issues" + } +} \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/accordion/index.js b/public/tools/cloud_notes/tinymce/plugins/accordion/index.js new file mode 100644 index 0000000..bba9807 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/accordion/index.js @@ -0,0 +1,7 @@ +// Exports the "accordion" plugin for usage with module loaders +// Usage: +// CommonJS: +// require('tinymce/plugins/accordion') +// ES2015: +// import 'tinymce/plugins/accordion' +require('./plugin.js'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/accordion/plugin.js b/public/tools/cloud_notes/tinymce/plugins/accordion/plugin.js new file mode 100644 index 0000000..3ae6730 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/accordion/plugin.js @@ -0,0 +1,1054 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ + +(function () { + 'use strict'; + + var global$4 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + let unique = 0; + const generate = prefix => { + const date = new Date(); + const time = date.getTime(); + const random = Math.floor(Math.random() * 1000000000); + unique++; + return prefix + '_' + random + unique + String(time); + }; + + const hasProto = (v, constructor, predicate) => { + var _a; + if (predicate(v, constructor.prototype)) { + return true; + } else { + return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name; + } + }; + const typeOf = x => { + const t = typeof x; + if (x === null) { + return 'null'; + } else if (t === 'object' && Array.isArray(x)) { + return 'array'; + } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) { + return 'string'; + } else { + return t; + } + }; + const isType$1 = type => value => typeOf(value) === type; + const isSimpleType = type => value => typeof value === type; + const isString = isType$1('string'); + const isBoolean = isSimpleType('boolean'); + const isNullable = a => a === null || a === undefined; + const isNonNullable = a => !isNullable(a); + const isFunction = isSimpleType('function'); + const isNumber = isSimpleType('number'); + + const compose1 = (fbc, fab) => a => fbc(fab(a)); + const constant = value => { + return () => { + return value; + }; + }; + const tripleEquals = (a, b) => { + return a === b; + }; + const never = constant(false); + + class Optional { + constructor(tag, value) { + this.tag = tag; + this.value = value; + } + static some(value) { + return new Optional(true, value); + } + static none() { + return Optional.singletonNone; + } + fold(onNone, onSome) { + if (this.tag) { + return onSome(this.value); + } else { + return onNone(); + } + } + isSome() { + return this.tag; + } + isNone() { + return !this.tag; + } + map(mapper) { + if (this.tag) { + return Optional.some(mapper(this.value)); + } else { + return Optional.none(); + } + } + bind(binder) { + if (this.tag) { + return binder(this.value); + } else { + return Optional.none(); + } + } + exists(predicate) { + return this.tag && predicate(this.value); + } + forall(predicate) { + return !this.tag || predicate(this.value); + } + filter(predicate) { + if (!this.tag || predicate(this.value)) { + return this; + } else { + return Optional.none(); + } + } + getOr(replacement) { + return this.tag ? this.value : replacement; + } + or(replacement) { + return this.tag ? this : replacement; + } + getOrThunk(thunk) { + return this.tag ? this.value : thunk(); + } + orThunk(thunk) { + return this.tag ? this : thunk(); + } + getOrDie(message) { + if (!this.tag) { + throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None'); + } else { + return this.value; + } + } + static from(value) { + return isNonNullable(value) ? Optional.some(value) : Optional.none(); + } + getOrNull() { + return this.tag ? this.value : null; + } + getOrUndefined() { + return this.value; + } + each(worker) { + if (this.tag) { + worker(this.value); + } + } + toArray() { + return this.tag ? [this.value] : []; + } + toString() { + return this.tag ? `some(${ this.value })` : 'none()'; + } + } + Optional.singletonNone = new Optional(false); + + const nativeIndexOf = Array.prototype.indexOf; + const rawIndexOf = (ts, t) => nativeIndexOf.call(ts, t); + const contains = (xs, x) => rawIndexOf(xs, x) > -1; + const map = (xs, f) => { + const len = xs.length; + const r = new Array(len); + for (let i = 0; i < len; i++) { + const x = xs[i]; + r[i] = f(x, i); + } + return r; + }; + const each$1 = (xs, f) => { + for (let i = 0, len = xs.length; i < len; i++) { + const x = xs[i]; + f(x, i); + } + }; + const filter = (xs, pred) => { + const r = []; + for (let i = 0, len = xs.length; i < len; i++) { + const x = xs[i]; + if (pred(x, i)) { + r.push(x); + } + } + return r; + }; + const foldl = (xs, f, acc) => { + each$1(xs, (x, i) => { + acc = f(acc, x, i); + }); + return acc; + }; + + const keys = Object.keys; + const each = (obj, f) => { + const props = keys(obj); + for (let k = 0, len = props.length; k < len; k++) { + const i = props[k]; + const x = obj[i]; + f(x, i); + } + }; + + typeof window !== 'undefined' ? window : Function('return this;')(); + + const COMMENT = 8; + const DOCUMENT = 9; + const DOCUMENT_FRAGMENT = 11; + const ELEMENT = 1; + const TEXT = 3; + + const name = element => { + const r = element.dom.nodeName; + return r.toLowerCase(); + }; + const type = element => element.dom.nodeType; + const isType = t => element => type(element) === t; + const isComment = element => type(element) === COMMENT || name(element) === '#comment'; + const isElement = isType(ELEMENT); + const isText = isType(TEXT); + const isDocument = isType(DOCUMENT); + const isDocumentFragment = isType(DOCUMENT_FRAGMENT); + + const rawSet = (dom, key, value) => { + if (isString(value) || isBoolean(value) || isNumber(value)) { + dom.setAttribute(key, value + ''); + } else { + console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom); + throw new Error('Attribute value was not simple'); + } + }; + const set$2 = (element, key, value) => { + rawSet(element.dom, key, value); + }; + const setAll = (element, attrs) => { + const dom = element.dom; + each(attrs, (v, k) => { + rawSet(dom, k, v); + }); + }; + const get$2 = (element, key) => { + const v = element.dom.getAttribute(key); + return v === null ? undefined : v; + }; + const getOpt = (element, key) => Optional.from(get$2(element, key)); + const remove$2 = (element, key) => { + element.dom.removeAttribute(key); + }; + const clone = element => foldl(element.dom.attributes, (acc, attr) => { + acc[attr.name] = attr.value; + return acc; + }, {}); + + const fromHtml = (html, scope) => { + const doc = scope || document; + const div = doc.createElement('div'); + div.innerHTML = html; + if (!div.hasChildNodes() || div.childNodes.length > 1) { + const message = 'HTML does not have a single root node'; + console.error(message, html); + throw new Error(message); + } + return fromDom(div.childNodes[0]); + }; + const fromTag = (tag, scope) => { + const doc = scope || document; + const node = doc.createElement(tag); + return fromDom(node); + }; + const fromText = (text, scope) => { + const doc = scope || document; + const node = doc.createTextNode(text); + return fromDom(node); + }; + const fromDom = node => { + if (node === null || node === undefined) { + throw new Error('Node cannot be null or undefined'); + } + return { dom: node }; + }; + const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom); + const SugarElement = { + fromHtml, + fromTag, + fromText, + fromDom, + fromPoint + }; + + const is$2 = (element, selector) => { + const dom = element.dom; + if (dom.nodeType !== ELEMENT) { + return false; + } else { + const elem = dom; + if (elem.matches !== undefined) { + return elem.matches(selector); + } else if (elem.msMatchesSelector !== undefined) { + return elem.msMatchesSelector(selector); + } else if (elem.webkitMatchesSelector !== undefined) { + return elem.webkitMatchesSelector(selector); + } else if (elem.mozMatchesSelector !== undefined) { + return elem.mozMatchesSelector(selector); + } else { + throw new Error('Browser lacks native selectors'); + } + } + }; + const bypassSelector = dom => dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0; + const all = (selector, scope) => { + const base = scope === undefined ? document : scope.dom; + return bypassSelector(base) ? [] : map(base.querySelectorAll(selector), SugarElement.fromDom); + }; + const one = (selector, scope) => { + const base = scope === undefined ? document : scope.dom; + return bypassSelector(base) ? Optional.none() : Optional.from(base.querySelector(selector)).map(SugarElement.fromDom); + }; + + const eq = (e1, e2) => e1.dom === e2.dom; + const is$1 = is$2; + + const is = (lhs, rhs, comparator = tripleEquals) => lhs.exists(left => comparator(left, rhs)); + + const blank = r => s => s.replace(r, ''); + const trim = blank(/^\s+|\s+$/g); + + const isSupported = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue); + + const owner = element => SugarElement.fromDom(element.dom.ownerDocument); + const documentOrOwner = dos => isDocument(dos) ? dos : owner(dos); + const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom); + const parents = (element, isRoot) => { + const stop = isFunction(isRoot) ? isRoot : never; + let dom = element.dom; + const ret = []; + while (dom.parentNode !== null && dom.parentNode !== undefined) { + const rawParent = dom.parentNode; + const p = SugarElement.fromDom(rawParent); + ret.push(p); + if (stop(p) === true) { + break; + } else { + dom = rawParent; + } + } + return ret; + }; + const prevSibling = element => Optional.from(element.dom.previousSibling).map(SugarElement.fromDom); + const nextSibling = element => Optional.from(element.dom.nextSibling).map(SugarElement.fromDom); + const children = element => map(element.dom.childNodes, SugarElement.fromDom); + const child = (element, index) => { + const cs = element.dom.childNodes; + return Optional.from(cs[index]).map(SugarElement.fromDom); + }; + const firstChild = element => child(element, 0); + + const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host); + const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode); + const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner; + const getShadowRoot = e => { + const r = getRootNode(e); + return isShadowRoot(r) ? Optional.some(r) : Optional.none(); + }; + const getShadowHost = e => SugarElement.fromDom(e.dom.host); + + const inBody = element => { + const dom = isText(element) ? element.dom.parentNode : element.dom; + if (dom === undefined || dom === null || dom.ownerDocument === null) { + return false; + } + const doc = dom.ownerDocument; + return getShadowRoot(SugarElement.fromDom(dom)).fold(() => doc.body.contains(dom), compose1(inBody, getShadowHost)); + }; + + const internalSet = (dom, property, value) => { + if (!isString(value)) { + console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom); + throw new Error('CSS value must be a string: ' + value); + } + if (isSupported(dom)) { + dom.style.setProperty(property, value); + } + }; + const internalRemove = (dom, property) => { + if (isSupported(dom)) { + dom.style.removeProperty(property); + } + }; + const set$1 = (element, property, value) => { + const dom = element.dom; + internalSet(dom, property, value); + }; + const get$1 = (element, property) => { + const dom = element.dom; + const styles = window.getComputedStyle(dom); + const r = styles.getPropertyValue(property); + return r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r; + }; + const getUnsafeProperty = (dom, property) => isSupported(dom) ? dom.style.getPropertyValue(property) : ''; + const getRaw = (element, property) => { + const dom = element.dom; + const raw = getUnsafeProperty(dom, property); + return Optional.from(raw).filter(r => r.length > 0); + }; + const remove$1 = (element, property) => { + const dom = element.dom; + internalRemove(dom, property); + if (is(getOpt(element, 'style').map(trim), '')) { + remove$2(element, 'style'); + } + }; + + const before = (marker, element) => { + const parent$1 = parent(marker); + parent$1.each(v => { + v.dom.insertBefore(element.dom, marker.dom); + }); + }; + const after$1 = (marker, element) => { + const sibling = nextSibling(marker); + sibling.fold(() => { + const parent$1 = parent(marker); + parent$1.each(v => { + append$1(v, element); + }); + }, v => { + before(v, element); + }); + }; + const prepend = (parent, element) => { + const firstChild$1 = firstChild(parent); + firstChild$1.fold(() => { + append$1(parent, element); + }, v => { + parent.dom.insertBefore(element.dom, v.dom); + }); + }; + const append$1 = (parent, element) => { + parent.dom.appendChild(element.dom); + }; + const wrap = (element, wrapper) => { + before(element, wrapper); + append$1(wrapper, element); + }; + + const after = (marker, elements) => { + each$1(elements, (x, i) => { + const e = i === 0 ? marker : elements[i - 1]; + after$1(e, x); + }); + }; + const append = (parent, elements) => { + each$1(elements, x => { + append$1(parent, x); + }); + }; + + const descendants$1 = (scope, predicate) => { + let result = []; + each$1(children(scope), x => { + if (predicate(x)) { + result = result.concat([x]); + } + result = result.concat(descendants$1(x, predicate)); + }); + return result; + }; + + var ClosestOrAncestor = (is, ancestor, scope, a, isRoot) => { + if (is(scope, a)) { + return Optional.some(scope); + } else if (isFunction(isRoot) && isRoot(scope)) { + return Optional.none(); + } else { + return ancestor(scope, a, isRoot); + } + }; + + const ancestor$1 = (scope, predicate, isRoot) => { + let element = scope.dom; + const stop = isFunction(isRoot) ? isRoot : never; + while (element.parentNode) { + element = element.parentNode; + const el = SugarElement.fromDom(element); + if (predicate(el)) { + return Optional.some(el); + } else if (stop(el)) { + break; + } + } + return Optional.none(); + }; + + const remove = element => { + const dom = element.dom; + if (dom.parentNode !== null) { + dom.parentNode.removeChild(dom); + } + }; + const unwrap = wrapper => { + const children$1 = children(wrapper); + if (children$1.length > 0) { + after(wrapper, children$1); + } + remove(wrapper); + }; + + const descendants = (scope, selector) => all(selector, scope); + + const ancestor = (scope, selector, isRoot) => ancestor$1(scope, e => is$2(e, selector), isRoot); + const descendant = (scope, selector) => one(selector, scope); + const closest = (scope, selector, isRoot) => { + const is = (element, selector) => is$2(element, selector); + return ClosestOrAncestor(is, ancestor, scope, selector, isRoot); + }; + + const NodeValue = (is, name) => { + const get = element => { + if (!is(element)) { + throw new Error('Can only get ' + name + ' value of a ' + name + ' node'); + } + return getOption(element).getOr(''); + }; + const getOption = element => is(element) ? Optional.from(element.dom.nodeValue) : Optional.none(); + const set = (element, value) => { + if (!is(element)) { + throw new Error('Can only set raw ' + name + ' value of a ' + name + ' node'); + } + element.dom.nodeValue = value; + }; + return { + get, + getOption, + set + }; + }; + + const api = NodeValue(isText, 'text'); + const get = element => api.get(element); + const set = (element, value) => api.set(element, value); + + var TagBoundaries = [ + 'body', + 'p', + 'div', + 'article', + 'aside', + 'figcaption', + 'figure', + 'footer', + 'header', + 'nav', + 'section', + 'ol', + 'ul', + 'li', + 'table', + 'thead', + 'tbody', + 'tfoot', + 'caption', + 'tr', + 'td', + 'th', + 'h1', + 'h2', + 'h3', + 'h4', + 'h5', + 'h6', + 'blockquote', + 'pre', + 'address' + ]; + + var DomUniverse = () => { + const clone$1 = element => { + return SugarElement.fromDom(element.dom.cloneNode(false)); + }; + const document = element => documentOrOwner(element).dom; + const isBoundary = element => { + if (!isElement(element)) { + return false; + } + if (name(element) === 'body') { + return true; + } + return contains(TagBoundaries, name(element)); + }; + const isEmptyTag = element => { + if (!isElement(element)) { + return false; + } + return contains([ + 'br', + 'img', + 'hr', + 'input' + ], name(element)); + }; + const isNonEditable = element => isElement(element) && get$2(element, 'contenteditable') === 'false'; + const comparePosition = (element, other) => { + return element.dom.compareDocumentPosition(other.dom); + }; + const copyAttributesTo = (source, destination) => { + const as = clone(source); + setAll(destination, as); + }; + const isSpecial = element => { + const tag = name(element); + return contains([ + 'script', + 'noscript', + 'iframe', + 'noframes', + 'noembed', + 'title', + 'style', + 'textarea', + 'xmp' + ], tag); + }; + const getLanguage = element => isElement(element) ? getOpt(element, 'lang') : Optional.none(); + return { + up: constant({ + selector: ancestor, + closest: closest, + predicate: ancestor$1, + all: parents + }), + down: constant({ + selector: descendants, + predicate: descendants$1 + }), + styles: constant({ + get: get$1, + getRaw: getRaw, + set: set$1, + remove: remove$1 + }), + attrs: constant({ + get: get$2, + set: set$2, + remove: remove$2, + copyTo: copyAttributesTo + }), + insert: constant({ + before: before, + after: after$1, + afterAll: after, + append: append$1, + appendAll: append, + prepend: prepend, + wrap: wrap + }), + remove: constant({ + unwrap: unwrap, + remove: remove + }), + create: constant({ + nu: SugarElement.fromTag, + clone: clone$1, + text: SugarElement.fromText + }), + query: constant({ + comparePosition, + prevSibling: prevSibling, + nextSibling: nextSibling + }), + property: constant({ + children: children, + name: name, + parent: parent, + document, + isText: isText, + isComment: isComment, + isElement: isElement, + isSpecial, + getLanguage, + getText: get, + setText: set, + isBoundary, + isEmptyTag, + isNonEditable + }), + eq: eq, + is: is$1 + }; + }; + + const point = (element, offset) => ({ + element, + offset + }); + + const scan = (universe, element, direction) => { + if (universe.property().isText(element) && universe.property().getText(element).trim().length === 0 || universe.property().isComment(element)) { + return direction(element).bind(elem => { + return scan(universe, elem, direction).orThunk(() => { + return Optional.some(elem); + }); + }); + } else { + return Optional.none(); + } + }; + const toEnd = (universe, element) => { + if (universe.property().isText(element)) { + return universe.property().getText(element).length; + } + const children = universe.property().children(element); + return children.length; + }; + const freefallRtl$2 = (universe, element) => { + const candidate = scan(universe, element, universe.query().prevSibling).getOr(element); + if (universe.property().isText(candidate)) { + return point(candidate, toEnd(universe, candidate)); + } + const children = universe.property().children(candidate); + return children.length > 0 ? freefallRtl$2(universe, children[children.length - 1]) : point(candidate, toEnd(universe, candidate)); + }; + + const freefallRtl$1 = freefallRtl$2; + + const universe = DomUniverse(); + const freefallRtl = element => { + return freefallRtl$1(universe, element); + }; + + const fireToggleAccordionEvent = (editor, element, state) => editor.dispatch('ToggledAccordion', { + element, + state + }); + const fireToggleAllAccordionsEvent = (editor, elements, state) => editor.dispatch('ToggledAllAccordions', { + elements, + state + }); + + const accordionTag = 'details'; + const accordionDetailsClass = 'mce-accordion'; + const accordionSummaryClass = 'mce-accordion-summary'; + const accordionBodyWrapperClass = 'mce-accordion-body'; + const accordionBodyWrapperTag = 'div'; + + var global$3 = tinymce.util.Tools.resolve('tinymce.util.Tools'); + + const isSummary = node => (node === null || node === void 0 ? void 0 : node.nodeName) === 'SUMMARY'; + const isDetails = node => (node === null || node === void 0 ? void 0 : node.nodeName) === 'DETAILS'; + const isOpen = details => details.hasAttribute('open'); + const isInSummary = editor => { + const node = editor.selection.getNode(); + return isSummary(node) || Boolean(editor.dom.getParent(node, isSummary)); + }; + const isAtDetailsStart = editor => { + const rng = editor.selection.getRng(); + return isDetails(rng.startContainer) && rng.collapsed && rng.startOffset === 0; + }; + const isInsertAllowed = editor => !isInSummary(editor) && editor.dom.isEditable(editor.selection.getNode()); + const getSelectedDetails = editor => Optional.from(editor.dom.getParent(editor.selection.getNode(), isDetails)); + const isDetailsSelected = editor => getSelectedDetails(editor).isSome(); + const insertBogus = element => { + element.innerHTML = '
    '; + return element; + }; + const createParagraph = editor => insertBogus(editor.dom.create('p')); + const createSummary = editor => insertBogus(editor.dom.create('summary')); + const insertAndSelectParagraphAfter = (editor, target) => { + const paragraph = createParagraph(editor); + target.insertAdjacentElement('afterend', paragraph); + editor.selection.setCursorLocation(paragraph, 0); + }; + const normalizeContent = (editor, accordion) => { + if (isSummary(accordion === null || accordion === void 0 ? void 0 : accordion.lastChild)) { + const paragraph = createParagraph(editor); + accordion.appendChild(paragraph); + editor.selection.setCursorLocation(paragraph, 0); + } + }; + const normalizeSummary = (editor, accordion) => { + if (!isSummary(accordion === null || accordion === void 0 ? void 0 : accordion.firstChild)) { + const summary = createSummary(editor); + accordion.prepend(summary); + editor.selection.setCursorLocation(summary, 0); + } + }; + const normalizeAccordion = editor => accordion => { + normalizeContent(editor, accordion); + normalizeSummary(editor, accordion); + }; + const normalizeDetails = editor => { + global$3.each(global$3.grep(editor.dom.select('details', editor.getBody())), normalizeAccordion(editor)); + }; + + const insertAccordion = editor => { + if (!isInsertAllowed(editor)) { + return; + } + const editorBody = SugarElement.fromDom(editor.getBody()); + const uid = generate('acc'); + const summaryText = editor.dom.encode(editor.selection.getRng().toString() || editor.translate('Accordion summary...')); + const bodyText = editor.dom.encode(editor.translate('Accordion body...')); + const accordionSummaryHtml = `${ summaryText }`; + const accordionBodyHtml = `<${ accordionBodyWrapperTag } class="${ accordionBodyWrapperClass }">

    ${ bodyText }

    `; + editor.undoManager.transact(() => { + editor.insertContent([ + `
    `, + accordionSummaryHtml, + accordionBodyHtml, + `
    ` + ].join('')); + descendant(editorBody, `[data-mce-id="${ uid }"]`).each(detailsElm => { + remove$2(detailsElm, 'data-mce-id'); + descendant(detailsElm, `summary`).each(summaryElm => { + const rng = editor.dom.createRng(); + const des = freefallRtl(summaryElm); + rng.setStart(des.element.dom, des.offset); + rng.setEnd(des.element.dom, des.offset); + editor.selection.setRng(rng); + }); + }); + }); + }; + const toggleDetailsElement = (details, state) => { + const shouldOpen = state !== null && state !== void 0 ? state : !isOpen(details); + if (shouldOpen) { + details.setAttribute('open', 'open'); + } else { + details.removeAttribute('open'); + } + return shouldOpen; + }; + const toggleAccordion = (editor, state) => { + getSelectedDetails(editor).each(details => { + fireToggleAccordionEvent(editor, details, toggleDetailsElement(details, state)); + }); + }; + const removeAccordion = editor => { + getSelectedDetails(editor).each(details => { + const {nextSibling} = details; + if (nextSibling) { + editor.selection.select(nextSibling, true); + editor.selection.collapse(true); + } else { + insertAndSelectParagraphAfter(editor, details); + } + details.remove(); + }); + }; + const toggleAllAccordions = (editor, state) => { + const accordions = Array.from(editor.getBody().querySelectorAll('details')); + if (accordions.length === 0) { + return; + } + each$1(accordions, accordion => toggleDetailsElement(accordion, state !== null && state !== void 0 ? state : !isOpen(accordion))); + fireToggleAllAccordionsEvent(editor, accordions, state); + }; + + const register$1 = editor => { + editor.addCommand('InsertAccordion', () => insertAccordion(editor)); + editor.addCommand('ToggleAccordion', (_ui, value) => toggleAccordion(editor, value)); + editor.addCommand('ToggleAllAccordions', (_ui, value) => toggleAllAccordions(editor, value)); + editor.addCommand('RemoveAccordion', () => removeAccordion(editor)); + }; + + var global$2 = tinymce.util.Tools.resolve('tinymce.html.Node'); + + const getClassList = node => { + var _a, _b; + return (_b = (_a = node.attr('class')) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : []; + }; + const addClasses = (node, classes) => { + const classListSet = new Set([ + ...getClassList(node), + ...classes + ]); + const newClassList = Array.from(classListSet); + if (newClassList.length > 0) { + node.attr('class', newClassList.join(' ')); + } + }; + const removeClasses = (node, classes) => { + const newClassList = filter(getClassList(node), clazz => !classes.has(clazz)); + node.attr('class', newClassList.length > 0 ? newClassList.join(' ') : null); + }; + const isAccordionDetailsNode = node => node.name === accordionTag && contains(getClassList(node), accordionDetailsClass); + const isAccordionBodyWrapperNode = node => node.name === accordionBodyWrapperTag && contains(getClassList(node), accordionBodyWrapperClass); + const getAccordionChildren = accordionNode => { + const children = accordionNode.children(); + let summaryNode; + let wrapperNode; + const otherNodes = []; + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (child.name === 'summary' && isNullable(summaryNode)) { + summaryNode = child; + } else if (isAccordionBodyWrapperNode(child) && isNullable(wrapperNode)) { + wrapperNode = child; + } else { + otherNodes.push(child); + } + } + return { + summaryNode, + wrapperNode, + otherNodes + }; + }; + const padInputNode = node => { + const br = new global$2('br', 1); + br.attr('data-mce-bogus', '1'); + node.empty(); + node.append(br); + }; + const setup$2 = editor => { + editor.on('PreInit', () => { + const {serializer, parser} = editor; + parser.addNodeFilter(accordionTag, nodes => { + for (let i = 0; i < nodes.length; i++) { + const node = nodes[i]; + if (isAccordionDetailsNode(node)) { + const accordionNode = node; + const {summaryNode, wrapperNode, otherNodes} = getAccordionChildren(accordionNode); + const hasSummaryNode = isNonNullable(summaryNode); + const newSummaryNode = hasSummaryNode ? summaryNode : new global$2('summary', 1); + if (isNullable(newSummaryNode.firstChild)) { + padInputNode(newSummaryNode); + } + addClasses(newSummaryNode, [accordionSummaryClass]); + if (!hasSummaryNode) { + if (isNonNullable(accordionNode.firstChild)) { + accordionNode.insert(newSummaryNode, accordionNode.firstChild, true); + } else { + accordionNode.append(newSummaryNode); + } + } + const hasWrapperNode = isNonNullable(wrapperNode); + const newWrapperNode = hasWrapperNode ? wrapperNode : new global$2(accordionBodyWrapperTag, 1); + newWrapperNode.attr('data-mce-bogus', '1'); + addClasses(newWrapperNode, [accordionBodyWrapperClass]); + if (otherNodes.length > 0) { + for (let j = 0; j < otherNodes.length; j++) { + const otherNode = otherNodes[j]; + newWrapperNode.append(otherNode); + } + } + if (isNullable(newWrapperNode.firstChild)) { + const pNode = new global$2('p', 1); + padInputNode(pNode); + newWrapperNode.append(pNode); + } + if (!hasWrapperNode) { + accordionNode.append(newWrapperNode); + } + } + } + }); + serializer.addNodeFilter(accordionTag, nodes => { + const summaryClassRemoveSet = new Set([accordionSummaryClass]); + for (let i = 0; i < nodes.length; i++) { + const node = nodes[i]; + if (isAccordionDetailsNode(node)) { + const accordionNode = node; + const {summaryNode, wrapperNode} = getAccordionChildren(accordionNode); + if (isNonNullable(summaryNode)) { + removeClasses(summaryNode, summaryClassRemoveSet); + } + if (isNonNullable(wrapperNode)) { + wrapperNode.unwrap(); + } + } + } + }); + }); + }; + + var global$1 = tinymce.util.Tools.resolve('tinymce.util.VK'); + + const setupEnterKeyInSummary = editor => { + editor.on('keydown', event => { + if (!event.shiftKey && event.keyCode === global$1.ENTER && isInSummary(editor) || isAtDetailsStart(editor)) { + event.preventDefault(); + editor.execCommand('ToggleAccordion'); + } + }); + }; + const setup$1 = editor => { + setupEnterKeyInSummary(editor); + editor.on('ExecCommand', e => { + const cmd = e.command.toLowerCase(); + if ((cmd === 'delete' || cmd === 'forwarddelete') && isDetailsSelected(editor)) { + normalizeDetails(editor); + } + }); + }; + + var global = tinymce.util.Tools.resolve('tinymce.Env'); + + const setup = editor => { + if (global.browser.isSafari()) { + editor.on('click', e => { + if (isSummary(e.target)) { + const summary = e.target; + const rng = editor.selection.getRng(); + if (rng.collapsed && rng.startContainer === summary.parentNode && rng.startOffset === 0) { + editor.selection.setCursorLocation(summary, 0); + } + } + }); + } + }; + + const onSetup = editor => buttonApi => { + const onNodeChange = () => buttonApi.setEnabled(isInsertAllowed(editor)); + editor.on('NodeChange', onNodeChange); + return () => editor.off('NodeChange', onNodeChange); + }; + const register = editor => { + const onAction = () => editor.execCommand('InsertAccordion'); + editor.ui.registry.addButton('accordion', { + icon: 'accordion', + tooltip: 'Insert accordion', + onSetup: onSetup(editor), + onAction + }); + editor.ui.registry.addMenuItem('accordion', { + icon: 'accordion', + text: 'Accordion', + onSetup: onSetup(editor), + onAction + }); + editor.ui.registry.addToggleButton('accordiontoggle', { + icon: 'accordion-toggle', + tooltip: 'Toggle accordion', + onAction: () => editor.execCommand('ToggleAccordion') + }); + editor.ui.registry.addToggleButton('accordionremove', { + icon: 'remove', + tooltip: 'Delete accordion', + onAction: () => editor.execCommand('RemoveAccordion') + }); + editor.ui.registry.addContextToolbar('accordion', { + predicate: accordion => editor.dom.is(accordion, 'details') && editor.getBody().contains(accordion) && editor.dom.isEditable(accordion.parentNode), + items: 'accordiontoggle accordionremove', + scope: 'node', + position: 'node' + }); + }; + + var Plugin = () => { + global$4.add('accordion', editor => { + register(editor); + register$1(editor); + setup$1(editor); + setup$2(editor); + setup(editor); + }); + }; + + Plugin(); + +})(); diff --git a/public/tools/cloud_notes/tinymce/plugins/accordion/plugin.min.js b/public/tools/cloud_notes/tinymce/plugins/accordion/plugin.min.js new file mode 100644 index 0000000..c7e99c6 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/accordion/plugin.min.js @@ -0,0 +1,4 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ +!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");let t=0;const o=e=>t=>typeof t===e,n=e=>"string"===(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(o=n=e,(r=String).prototype.isPrototypeOf(o)||(null===(s=n.constructor)||void 0===s?void 0:s.name)===r.name)?"string":t;var o,n,r,s})(e),r=o("boolean"),s=e=>null==e,a=e=>!s(e),i=o("function"),d=o("number"),l=e=>()=>e,c=(e,t)=>e===t,m=l(!1);class u{constructor(e,t){this.tag=e,this.value=t}static some(e){return new u(!0,e)}static none(){return u.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?u.some(e(this.value)):u.none()}bind(e){return this.tag?e(this.value):u.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:u.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return a(e)?u.some(e):u.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}u.singletonNone=new u(!1);const g=Array.prototype.indexOf,p=(e,t)=>{return o=e,n=t,g.call(o,n)>-1;var o,n},h=(e,t)=>{const o=e.length,n=new Array(o);for(let r=0;r{for(let o=0,n=e.length;oe.dom.nodeName.toLowerCase(),w=e=>e.dom.nodeType,b=e=>t=>w(t)===e,N=b(1),T=b(3),A=b(9),C=b(11),S=(e,t,o)=>{if(!(n(o)||r(o)||d(o)))throw console.error("Invalid call to Attribute.set. Key ",t,":: Value ",o,":: Element ",e),new Error("Attribute value was not simple");e.setAttribute(t,o+"")},x=(e,t)=>{const o=e.dom.getAttribute(t);return null===o?void 0:o},E=(e,t)=>u.from(x(e,t)),D=(e,t)=>{e.dom.removeAttribute(t)},M=e=>{if(null==e)throw new Error("Node cannot be null or undefined");return{dom:e}},P={fromHtml:(e,t)=>{const o=(t||document).createElement("div");if(o.innerHTML=e,!o.hasChildNodes()||o.childNodes.length>1){const t="HTML does not have a single root node";throw console.error(t,e),new Error(t)}return M(o.childNodes[0])},fromTag:(e,t)=>{const o=(t||document).createElement(e);return M(o)},fromText:(e,t)=>{const o=(t||document).createTextNode(e);return M(o)},fromDom:M,fromPoint:(e,t,o)=>u.from(e.dom.elementFromPoint(t,o)).map(M)},O=(e,t)=>{const o=e.dom;if(1!==o.nodeType)return!1;{const e=o;if(void 0!==e.matches)return e.matches(t);if(void 0!==e.msMatchesSelector)return e.msMatchesSelector(t);if(void 0!==e.webkitMatchesSelector)return e.webkitMatchesSelector(t);if(void 0!==e.mozMatchesSelector)return e.mozMatchesSelector(t);throw new Error("Browser lacks native selectors")}},k=e=>1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType||0===e.childElementCount,B=O,R=(L=/^\s+|\s+$/g,e=>e.replace(L,""));var L;const $=e=>void 0!==e.style&&i(e.style.getPropertyValue),I=e=>A(e)?e:P.fromDom(e.dom.ownerDocument),V=e=>u.from(e.dom.parentNode).map(P.fromDom),j=e=>u.from(e.dom.nextSibling).map(P.fromDom),q=e=>h(e.dom.childNodes,P.fromDom),F=i(Element.prototype.attachShadow)&&i(Node.prototype.getRootNode)?e=>P.fromDom(e.dom.getRootNode()):I,H=e=>P.fromDom(e.dom.host),z=e=>{const t=T(e)?e.dom.parentNode:e.dom;if(null==t||null===t.ownerDocument)return!1;const o=t.ownerDocument;return(e=>{const t=F(e);return C(o=t)&&a(o.dom.host)?u.some(t):u.none();var o})(P.fromDom(t)).fold((()=>o.body.contains(t)),(n=z,r=H,e=>n(r(e))));var n,r},K=(e,t)=>$(e)?e.style.getPropertyValue(t):"",U=(e,t)=>{V(e).each((o=>{o.dom.insertBefore(t.dom,e.dom)}))},Y=(e,t)=>{j(e).fold((()=>{V(e).each((e=>{_(e,t)}))}),(e=>{U(e,t)}))},_=(e,t)=>{e.dom.appendChild(t.dom)},G=(e,t)=>{f(t,((o,n)=>{const r=0===n?e:t[n-1];Y(r,o)}))},J=(e,t)=>{let o=[];return f(q(e),(e=>{t(e)&&(o=o.concat([e])),o=o.concat(J(e,t))})),o},Q=(e,t,o)=>{let n=e.dom;const r=i(o)?o:m;for(;n.parentNode;){n=n.parentNode;const e=P.fromDom(n);if(t(e))return u.some(e);if(r(e))break}return u.none()},W=e=>{const t=e.dom;null!==t.parentNode&&t.parentNode.removeChild(t)},X=(e,t,o)=>Q(e,(e=>O(e,t)),o),Z=(e,t)=>((e,t)=>{const o=void 0===t?document:t.dom;return k(o)?u.none():u.from(o.querySelector(e)).map(P.fromDom)})(t,e),ee=((e,t)=>{const o=t=>e(t)?u.from(t.dom.nodeValue):u.none();return{get:t=>{if(!e(t))throw new Error("Can only get text value of a text node");return o(t).getOr("")},getOption:o,set:(t,o)=>{if(!e(t))throw new Error("Can only set raw text value of a text node");t.dom.nodeValue=o}}})(T);var te=["body","p","div","article","aside","figcaption","figure","footer","header","nav","section","ol","ul","li","table","thead","tbody","tfoot","caption","tr","td","th","h1","h2","h3","h4","h5","h6","blockquote","pre","address"];const oe=(e,t)=>({element:e,offset:t}),ne=(e,t,o)=>e.property().isText(t)&&0===e.property().getText(t).trim().length||e.property().isComment(t)?o(t).bind((t=>ne(e,t,o).orThunk((()=>u.some(t))))):u.none(),re=(e,t)=>e.property().isText(t)?e.property().getText(t).length:e.property().children(t).length,se=(e,t)=>{const o=ne(e,t,e.query().prevSibling).getOr(t);if(e.property().isText(o))return oe(o,re(e,o));const n=e.property().children(o);return n.length>0?se(e,n[n.length-1]):oe(o,re(e,o))},ae=se,ie={up:l({selector:X,closest:(e,t,o)=>((e,t,o,n,r)=>((e,t)=>O(e,t))(o,n)?u.some(o):i(r)&&r(o)?u.none():t(o,n,r))(0,X,e,t,o),predicate:Q,all:(e,t)=>{const o=i(t)?t:m;let n=e.dom;const r=[];for(;null!==n.parentNode&&void 0!==n.parentNode;){const e=n.parentNode,t=P.fromDom(e);if(r.push(t),!0===o(t))break;n=e}return r}}),down:l({selector:(e,t)=>((e,t)=>{const o=void 0===t?document:t.dom;return k(o)?[]:h(o.querySelectorAll(e),P.fromDom)})(t,e),predicate:J}),styles:l({get:(e,t)=>{const o=e.dom,n=window.getComputedStyle(o).getPropertyValue(t);return""!==n||z(e)?n:K(o,t)},getRaw:(e,t)=>{const o=e.dom,n=K(o,t);return u.from(n).filter((e=>e.length>0))},set:(e,t,o)=>{((e,t,o)=>{if(!n(o))throw console.error("Invalid call to CSS.set. Property ",t,":: Value ",o,":: Element ",e),new Error("CSS value must be a string: "+o);$(e)&&e.style.setProperty(t,o)})(e.dom,t,o)},remove:(e,t)=>{((e,t)=>{$(e)&&e.style.removeProperty(t)})(e.dom,t),((e,t,o=c)=>e.exists((e=>o(e,t))))(E(e,"style").map(R),"")&&D(e,"style")}}),attrs:l({get:x,set:(e,t,o)=>{S(e.dom,t,o)},remove:D,copyTo:(e,t)=>{const o=(n=e.dom.attributes,r=(e,t)=>(e[t.name]=t.value,e),s={},f(n,((e,t)=>{s=r(s,e)})),s);var n,r,s;((e,t)=>{const o=e.dom;((e,t)=>{const o=y(e);for(let n=0,r=o.length;n{S(o,t,e)}))})(t,o)}}),insert:l({before:U,after:Y,afterAll:G,append:_,appendAll:(e,t)=>{f(t,(t=>{_(e,t)}))},prepend:(e,t)=>{(e=>((e,t)=>{const o=e.dom.childNodes;return u.from(o[0]).map(P.fromDom)})(e))(e).fold((()=>{_(e,t)}),(o=>{e.dom.insertBefore(t.dom,o.dom)}))},wrap:(e,t)=>{U(e,t),_(t,e)}}),remove:l({unwrap:e=>{const t=q(e);t.length>0&&G(e,t),W(e)},remove:W}),create:l({nu:P.fromTag,clone:e=>P.fromDom(e.dom.cloneNode(!1)),text:P.fromText}),query:l({comparePosition:(e,t)=>e.dom.compareDocumentPosition(t.dom),prevSibling:e=>u.from(e.dom.previousSibling).map(P.fromDom),nextSibling:j}),property:l({children:q,name:v,parent:V,document:e=>I(e).dom,isText:T,isComment:e=>8===w(e)||"#comment"===v(e),isElement:N,isSpecial:e=>{const t=v(e);return p(["script","noscript","iframe","noframes","noembed","title","style","textarea","xmp"],t)},getLanguage:e=>N(e)?E(e,"lang"):u.none(),getText:e=>ee.get(e),setText:(e,t)=>ee.set(e,t),isBoundary:e=>!!N(e)&&("body"===v(e)||p(te,v(e))),isEmptyTag:e=>!!N(e)&&p(["br","img","hr","input"],v(e)),isNonEditable:e=>N(e)&&"false"===x(e,"contenteditable")}),eq:(e,t)=>e.dom===t.dom,is:B},de="details",le="mce-accordion",ce="mce-accordion-summary",me="mce-accordion-body",ue="div";var ge=tinymce.util.Tools.resolve("tinymce.util.Tools");const pe=e=>"SUMMARY"===(null==e?void 0:e.nodeName),he=e=>"DETAILS"===(null==e?void 0:e.nodeName),fe=e=>e.hasAttribute("open"),ye=e=>{const t=e.selection.getNode();return pe(t)||Boolean(e.dom.getParent(t,pe))},ve=e=>!ye(e)&&e.dom.isEditable(e.selection.getNode()),we=e=>u.from(e.dom.getParent(e.selection.getNode(),he)),be=e=>(e.innerHTML='
    ',e),Ne=e=>be(e.dom.create("p")),Te=e=>t=>{((e,t)=>{if(pe(null==t?void 0:t.lastChild)){const o=Ne(e);t.appendChild(o),e.selection.setCursorLocation(o,0)}})(e,t),((e,t)=>{if(!pe(null==t?void 0:t.firstChild)){const o=(e=>be(e.dom.create("summary")))(e);t.prepend(o),e.selection.setCursorLocation(o,0)}})(e,t)},Ae=(e,t)=>{const o=null!=t?t:!fe(e);return o?e.setAttribute("open","open"):e.removeAttribute("open"),o},Ce=e=>{e.addCommand("InsertAccordion",(()=>(e=>{if(!ve(e))return;const o=P.fromDom(e.getBody()),n=(e=>{const o=(new Date).getTime(),n=Math.floor(1e9*Math.random());return t++,"acc_"+n+t+String(o)})(),r=e.dom.encode(e.selection.getRng().toString()||e.translate("Accordion summary...")),s=e.dom.encode(e.translate("Accordion body...")),a=`${r}`,i=`<${ue} class="${me}">

    ${s}

    `;e.undoManager.transact((()=>{e.insertContent([`
    `,a,i,"
    "].join("")),Z(o,`[data-mce-id="${n}"]`).each((t=>{D(t,"data-mce-id"),Z(t,"summary").each((t=>{const o=e.dom.createRng(),n=ae(ie,t);o.setStart(n.element.dom,n.offset),o.setEnd(n.element.dom,n.offset),e.selection.setRng(o)}))}))}))})(e))),e.addCommand("ToggleAccordion",((t,o)=>((e,t)=>{we(e).each((o=>{((e,t,o)=>{e.dispatch("ToggledAccordion",{element:t,state:o})})(e,o,Ae(o,t))}))})(e,o))),e.addCommand("ToggleAllAccordions",((t,o)=>((e,t)=>{const o=Array.from(e.getBody().querySelectorAll("details"));0!==o.length&&(f(o,(e=>Ae(e,null!=t?t:!fe(e)))),((e,t,o)=>{e.dispatch("ToggledAllAccordions",{elements:t,state:o})})(e,o,t))})(e,o))),e.addCommand("RemoveAccordion",(()=>(e=>{we(e).each((t=>{const{nextSibling:o}=t;o?(e.selection.select(o,!0),e.selection.collapse(!0)):((e,t)=>{const o=Ne(e);t.insertAdjacentElement("afterend",o),e.selection.setCursorLocation(o,0)})(e,t),t.remove()}))})(e)))};var Se=tinymce.util.Tools.resolve("tinymce.html.Node");const xe=e=>{var t,o;return null!==(o=null===(t=e.attr("class"))||void 0===t?void 0:t.split(" "))&&void 0!==o?o:[]},Ee=(e,t)=>{const o=new Set([...xe(e),...t]),n=Array.from(o);n.length>0&&e.attr("class",n.join(" "))},De=(e,t)=>{const o=((e,o)=>{const n=[];for(let o=0,s=e.length;o0?o.join(" "):null)},Me=e=>e.name===de&&p(xe(e),le),Pe=e=>{const t=e.children();let o,n;const r=[];for(let e=0;e{const t=new Se("br",1);t.attr("data-mce-bogus","1"),e.empty(),e.append(t)};var ke=tinymce.util.Tools.resolve("tinymce.util.VK");const Be=e=>{(e=>{e.on("keydown",(t=>{(!t.shiftKey&&t.keyCode===ke.ENTER&&ye(e)||(e=>{const t=e.selection.getRng();return he(t.startContainer)&&t.collapsed&&0===t.startOffset})(e))&&(t.preventDefault(),e.execCommand("ToggleAccordion"))}))})(e),e.on("ExecCommand",(t=>{const o=t.command.toLowerCase();"delete"!==o&&"forwarddelete"!==o||!(e=>we(e).isSome())(e)||(e=>{ge.each(ge.grep(e.dom.select("details",e.getBody())),Te(e))})(e)}))};var Re=tinymce.util.Tools.resolve("tinymce.Env");const Le=e=>t=>{const o=()=>t.setEnabled(ve(e));return e.on("NodeChange",o),()=>e.off("NodeChange",o)};e.add("accordion",(e=>{(e=>{const t=()=>e.execCommand("InsertAccordion");e.ui.registry.addButton("accordion",{icon:"accordion",tooltip:"Insert accordion",onSetup:Le(e),onAction:t}),e.ui.registry.addMenuItem("accordion",{icon:"accordion",text:"Accordion",onSetup:Le(e),onAction:t}),e.ui.registry.addToggleButton("accordiontoggle",{icon:"accordion-toggle",tooltip:"Toggle accordion",onAction:()=>e.execCommand("ToggleAccordion")}),e.ui.registry.addToggleButton("accordionremove",{icon:"remove",tooltip:"Delete accordion",onAction:()=>e.execCommand("RemoveAccordion")}),e.ui.registry.addContextToolbar("accordion",{predicate:t=>e.dom.is(t,"details")&&e.getBody().contains(t)&&e.dom.isEditable(t.parentNode),items:"accordiontoggle accordionremove",scope:"node",position:"node"})})(e),Ce(e),Be(e),(e=>{e.on("PreInit",(()=>{const{serializer:t,parser:o}=e;o.addNodeFilter(de,(e=>{for(let t=0;t0)for(let e=0;e{const t=new Set([ce]);for(let o=0;o{Re.browser.isSafari()&&e.on("click",(t=>{if(pe(t.target)){const o=t.target,n=e.selection.getRng();n.collapsed&&n.startContainer===o.parentNode&&0===n.startOffset&&e.selection.setCursorLocation(o,0)}}))})(e)}))}(); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/advlist/index.js b/public/tools/cloud_notes/tinymce/plugins/advlist/index.js new file mode 100644 index 0000000..7428d10 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/advlist/index.js @@ -0,0 +1,7 @@ +// Exports the "advlist" plugin for usage with module loaders +// Usage: +// CommonJS: +// require('tinymce/plugins/advlist') +// ES2015: +// import 'tinymce/plugins/advlist' +require('./plugin.js'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/advlist/plugin.js b/public/tools/cloud_notes/tinymce/plugins/advlist/plugin.js new file mode 100644 index 0000000..ab08acc --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/advlist/plugin.js @@ -0,0 +1,259 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ + +(function () { + 'use strict'; + + var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + const applyListFormat = (editor, listName, styleValue) => { + const cmd = listName === 'UL' ? 'InsertUnorderedList' : 'InsertOrderedList'; + editor.execCommand(cmd, false, styleValue === false ? null : { 'list-style-type': styleValue }); + }; + + const register$2 = editor => { + editor.addCommand('ApplyUnorderedListStyle', (ui, value) => { + applyListFormat(editor, 'UL', value['list-style-type']); + }); + editor.addCommand('ApplyOrderedListStyle', (ui, value) => { + applyListFormat(editor, 'OL', value['list-style-type']); + }); + }; + + const option = name => editor => editor.options.get(name); + const register$1 = editor => { + const registerOption = editor.options.register; + registerOption('advlist_number_styles', { + processor: 'string[]', + default: 'default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman'.split(',') + }); + registerOption('advlist_bullet_styles', { + processor: 'string[]', + default: 'default,circle,square'.split(',') + }); + }; + const getNumberStyles = option('advlist_number_styles'); + const getBulletStyles = option('advlist_bullet_styles'); + + const isNullable = a => a === null || a === undefined; + const isNonNullable = a => !isNullable(a); + + var global = tinymce.util.Tools.resolve('tinymce.util.Tools'); + + class Optional { + constructor(tag, value) { + this.tag = tag; + this.value = value; + } + static some(value) { + return new Optional(true, value); + } + static none() { + return Optional.singletonNone; + } + fold(onNone, onSome) { + if (this.tag) { + return onSome(this.value); + } else { + return onNone(); + } + } + isSome() { + return this.tag; + } + isNone() { + return !this.tag; + } + map(mapper) { + if (this.tag) { + return Optional.some(mapper(this.value)); + } else { + return Optional.none(); + } + } + bind(binder) { + if (this.tag) { + return binder(this.value); + } else { + return Optional.none(); + } + } + exists(predicate) { + return this.tag && predicate(this.value); + } + forall(predicate) { + return !this.tag || predicate(this.value); + } + filter(predicate) { + if (!this.tag || predicate(this.value)) { + return this; + } else { + return Optional.none(); + } + } + getOr(replacement) { + return this.tag ? this.value : replacement; + } + or(replacement) { + return this.tag ? this : replacement; + } + getOrThunk(thunk) { + return this.tag ? this.value : thunk(); + } + orThunk(thunk) { + return this.tag ? this : thunk(); + } + getOrDie(message) { + if (!this.tag) { + throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None'); + } else { + return this.value; + } + } + static from(value) { + return isNonNullable(value) ? Optional.some(value) : Optional.none(); + } + getOrNull() { + return this.tag ? this.value : null; + } + getOrUndefined() { + return this.value; + } + each(worker) { + if (this.tag) { + worker(this.value); + } + } + toArray() { + return this.tag ? [this.value] : []; + } + toString() { + return this.tag ? `some(${ this.value })` : 'none()'; + } + } + Optional.singletonNone = new Optional(false); + + const findUntil = (xs, pred, until) => { + for (let i = 0, len = xs.length; i < len; i++) { + const x = xs[i]; + if (pred(x, i)) { + return Optional.some(x); + } else if (until(x, i)) { + break; + } + } + return Optional.none(); + }; + + const isCustomList = list => /\btox\-/.test(list.className); + const isChildOfBody = (editor, elm) => { + return editor.dom.isChildOf(elm, editor.getBody()); + }; + const matchNodeNames = regex => node => isNonNullable(node) && regex.test(node.nodeName); + const isListNode = matchNodeNames(/^(OL|UL|DL)$/); + const isTableCellNode = matchNodeNames(/^(TH|TD)$/); + const inList = (editor, parents, nodeName) => findUntil(parents, parent => isListNode(parent) && !isCustomList(parent), isTableCellNode).exists(list => list.nodeName === nodeName && isChildOfBody(editor, list)); + const getSelectedStyleType = editor => { + const listElm = editor.dom.getParent(editor.selection.getNode(), 'ol,ul'); + const style = editor.dom.getStyle(listElm, 'listStyleType'); + return Optional.from(style); + }; + const isWithinNonEditable = (editor, element) => element !== null && !editor.dom.isEditable(element); + const isWithinNonEditableList = (editor, element) => { + const parentList = editor.dom.getParent(element, 'ol,ul,dl'); + return isWithinNonEditable(editor, parentList) && editor.selection.isEditable(); + }; + const setNodeChangeHandler = (editor, nodeChangeHandler) => { + const initialNode = editor.selection.getNode(); + nodeChangeHandler({ + parents: editor.dom.getParents(initialNode), + element: initialNode + }); + editor.on('NodeChange', nodeChangeHandler); + return () => editor.off('NodeChange', nodeChangeHandler); + }; + + const styleValueToText = styleValue => { + return styleValue.replace(/\-/g, ' ').replace(/\b\w/g, chr => { + return chr.toUpperCase(); + }); + }; + const normalizeStyleValue = styleValue => isNullable(styleValue) || styleValue === 'default' ? '' : styleValue; + const makeSetupHandler = (editor, nodeName) => api => { + const updateButtonState = (editor, parents) => { + const element = editor.selection.getStart(true); + api.setActive(inList(editor, parents, nodeName)); + api.setEnabled(!isWithinNonEditableList(editor, element) && editor.selection.isEditable()); + }; + const nodeChangeHandler = e => updateButtonState(editor, e.parents); + return setNodeChangeHandler(editor, nodeChangeHandler); + }; + const addSplitButton = (editor, id, tooltip, cmd, nodeName, styles) => { + editor.ui.registry.addSplitButton(id, { + tooltip, + icon: nodeName === 'OL' ? 'ordered-list' : 'unordered-list', + presets: 'listpreview', + columns: 3, + fetch: callback => { + const items = global.map(styles, styleValue => { + const iconStyle = nodeName === 'OL' ? 'num' : 'bull'; + const iconName = styleValue === 'disc' || styleValue === 'decimal' ? 'default' : styleValue; + const itemValue = normalizeStyleValue(styleValue); + const displayText = styleValueToText(styleValue); + return { + type: 'choiceitem', + value: itemValue, + icon: 'list-' + iconStyle + '-' + iconName, + text: displayText + }; + }); + callback(items); + }, + onAction: () => editor.execCommand(cmd), + onItemAction: (_splitButtonApi, value) => { + applyListFormat(editor, nodeName, value); + }, + select: value => { + const listStyleType = getSelectedStyleType(editor); + return listStyleType.map(listStyle => value === listStyle).getOr(false); + }, + onSetup: makeSetupHandler(editor, nodeName) + }); + }; + const addButton = (editor, id, tooltip, cmd, nodeName, styleValue) => { + editor.ui.registry.addToggleButton(id, { + active: false, + tooltip, + icon: nodeName === 'OL' ? 'ordered-list' : 'unordered-list', + onSetup: makeSetupHandler(editor, nodeName), + onAction: () => editor.queryCommandState(cmd) || styleValue === '' ? editor.execCommand(cmd) : applyListFormat(editor, nodeName, styleValue) + }); + }; + const addControl = (editor, id, tooltip, cmd, nodeName, styles) => { + if (styles.length > 1) { + addSplitButton(editor, id, tooltip, cmd, nodeName, styles); + } else { + addButton(editor, id, tooltip, cmd, nodeName, normalizeStyleValue(styles[0])); + } + }; + const register = editor => { + addControl(editor, 'numlist', 'Numbered list', 'InsertOrderedList', 'OL', getNumberStyles(editor)); + addControl(editor, 'bullist', 'Bullet list', 'InsertUnorderedList', 'UL', getBulletStyles(editor)); + }; + + var Plugin = () => { + global$1.add('advlist', editor => { + if (editor.hasPlugin('lists')) { + register$1(editor); + register(editor); + register$2(editor); + } else { + console.error('Please use the Lists plugin together with the Advanced List plugin.'); + } + }); + }; + + Plugin(); + +})(); diff --git a/public/tools/cloud_notes/tinymce/plugins/advlist/plugin.min.js b/public/tools/cloud_notes/tinymce/plugins/advlist/plugin.min.js new file mode 100644 index 0000000..ef5c014 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/advlist/plugin.min.js @@ -0,0 +1,4 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ +!function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager");const e=(t,e,s)=>{const r="UL"===e?"InsertUnorderedList":"InsertOrderedList";t.execCommand(r,!1,!1===s?null:{"list-style-type":s})},s=t=>e=>e.options.get(t),r=s("advlist_number_styles"),n=s("advlist_bullet_styles"),i=t=>null==t,l=t=>!i(t);var o=tinymce.util.Tools.resolve("tinymce.util.Tools");class a{constructor(t,e){this.tag=t,this.value=e}static some(t){return new a(!0,t)}static none(){return a.singletonNone}fold(t,e){return this.tag?e(this.value):t()}isSome(){return this.tag}isNone(){return!this.tag}map(t){return this.tag?a.some(t(this.value)):a.none()}bind(t){return this.tag?t(this.value):a.none()}exists(t){return this.tag&&t(this.value)}forall(t){return!this.tag||t(this.value)}filter(t){return!this.tag||t(this.value)?this:a.none()}getOr(t){return this.tag?this.value:t}or(t){return this.tag?this:t}getOrThunk(t){return this.tag?this.value:t()}orThunk(t){return this.tag?this:t()}getOrDie(t){if(this.tag)return this.value;throw new Error(null!=t?t:"Called getOrDie on None")}static from(t){return l(t)?a.some(t):a.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(t){this.tag&&t(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}a.singletonNone=new a(!1);const u=t=>e=>l(e)&&t.test(e.nodeName),d=u(/^(OL|UL|DL)$/),g=u(/^(TH|TD)$/),c=t=>i(t)||"default"===t?"":t,h=(t,e)=>s=>((t,e)=>{const s=t.selection.getNode();return e({parents:t.dom.getParents(s),element:s}),t.on("NodeChange",e),()=>t.off("NodeChange",e)})(t,(r=>((t,r)=>{const n=t.selection.getStart(!0);s.setActive(((t,e,s)=>((t,e,s)=>{for(let e=0,n=t.length;ee.nodeName===s&&((t,e)=>t.dom.isChildOf(e,t.getBody()))(t,e))))(t,r,e)),s.setEnabled(!((t,e)=>{const s=t.dom.getParent(e,"ol,ul,dl");return((t,e)=>null!==e&&!t.dom.isEditable(e))(t,s)&&t.selection.isEditable()})(t,n)&&t.selection.isEditable())})(t,r.parents))),m=(t,s,r,n,i,l)=>{l.length>1?((t,s,r,n,i,l)=>{t.ui.registry.addSplitButton(s,{tooltip:r,icon:"OL"===i?"ordered-list":"unordered-list",presets:"listpreview",columns:3,fetch:t=>{t(o.map(l,(t=>{const e="OL"===i?"num":"bull",s="disc"===t||"decimal"===t?"default":t,r=c(t),n=(t=>t.replace(/\-/g," ").replace(/\b\w/g,(t=>t.toUpperCase())))(t);return{type:"choiceitem",value:r,icon:"list-"+e+"-"+s,text:n}})))},onAction:()=>t.execCommand(n),onItemAction:(s,r)=>{e(t,i,r)},select:e=>{const s=(t=>{const e=t.dom.getParent(t.selection.getNode(),"ol,ul"),s=t.dom.getStyle(e,"listStyleType");return a.from(s)})(t);return s.map((t=>e===t)).getOr(!1)},onSetup:h(t,i)})})(t,s,r,n,i,l):((t,s,r,n,i,l)=>{t.ui.registry.addToggleButton(s,{active:!1,tooltip:r,icon:"OL"===i?"ordered-list":"unordered-list",onSetup:h(t,i),onAction:()=>t.queryCommandState(n)||""===l?t.execCommand(n):e(t,i,l)})})(t,s,r,n,i,c(l[0]))};t.add("advlist",(t=>{t.hasPlugin("lists")?((t=>{const e=t.options.register;e("advlist_number_styles",{processor:"string[]",default:"default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman".split(",")}),e("advlist_bullet_styles",{processor:"string[]",default:"default,circle,square".split(",")})})(t),(t=>{m(t,"numlist","Numbered list","InsertOrderedList","OL",r(t)),m(t,"bullist","Bullet list","InsertUnorderedList","UL",n(t))})(t),(t=>{t.addCommand("ApplyUnorderedListStyle",((s,r)=>{e(t,"UL",r["list-style-type"])})),t.addCommand("ApplyOrderedListStyle",((s,r)=>{e(t,"OL",r["list-style-type"])}))})(t)):console.error("Please use the Lists plugin together with the Advanced List plugin.")}))}(); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/anchor/index.js b/public/tools/cloud_notes/tinymce/plugins/anchor/index.js new file mode 100644 index 0000000..ceddfe3 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/anchor/index.js @@ -0,0 +1,7 @@ +// Exports the "anchor" plugin for usage with module loaders +// Usage: +// CommonJS: +// require('tinymce/plugins/anchor') +// ES2015: +// import 'tinymce/plugins/anchor' +require('./plugin.js'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/anchor/plugin.js b/public/tools/cloud_notes/tinymce/plugins/anchor/plugin.js new file mode 100644 index 0000000..5167c94 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/anchor/plugin.js @@ -0,0 +1,214 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ + +(function () { + 'use strict'; + + var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + var global$1 = tinymce.util.Tools.resolve('tinymce.dom.RangeUtils'); + + var global = tinymce.util.Tools.resolve('tinymce.util.Tools'); + + const option = name => editor => editor.options.get(name); + const register$2 = editor => { + const registerOption = editor.options.register; + registerOption('allow_html_in_named_anchor', { + processor: 'boolean', + default: false + }); + }; + const allowHtmlInNamedAnchor = option('allow_html_in_named_anchor'); + + const namedAnchorSelector = 'a:not([href])'; + const isEmptyString = str => !str; + const getIdFromAnchor = elm => { + const id = elm.getAttribute('id') || elm.getAttribute('name'); + return id || ''; + }; + const isAnchor = elm => elm.nodeName.toLowerCase() === 'a'; + const isNamedAnchor = elm => isAnchor(elm) && !elm.getAttribute('href') && getIdFromAnchor(elm) !== ''; + const isEmptyNamedAnchor = elm => isNamedAnchor(elm) && !elm.firstChild; + + const removeEmptyNamedAnchorsInSelection = editor => { + const dom = editor.dom; + global$1(dom).walk(editor.selection.getRng(), nodes => { + global.each(nodes, node => { + if (isEmptyNamedAnchor(node)) { + dom.remove(node, false); + } + }); + }); + }; + const isValidId = id => /^[A-Za-z][A-Za-z0-9\-:._]*$/.test(id); + const getNamedAnchor = editor => editor.dom.getParent(editor.selection.getStart(), namedAnchorSelector); + const getId = editor => { + const anchor = getNamedAnchor(editor); + if (anchor) { + return getIdFromAnchor(anchor); + } else { + return ''; + } + }; + const createAnchor = (editor, id) => { + editor.undoManager.transact(() => { + if (!allowHtmlInNamedAnchor(editor)) { + editor.selection.collapse(true); + } + if (editor.selection.isCollapsed()) { + editor.insertContent(editor.dom.createHTML('a', { id })); + } else { + removeEmptyNamedAnchorsInSelection(editor); + editor.formatter.remove('namedAnchor', undefined, undefined, true); + editor.formatter.apply('namedAnchor', { value: id }); + editor.addVisual(); + } + }); + }; + const updateAnchor = (editor, id, anchorElement) => { + anchorElement.removeAttribute('name'); + anchorElement.id = id; + editor.addVisual(); + editor.undoManager.add(); + }; + const insert = (editor, id) => { + const anchor = getNamedAnchor(editor); + if (anchor) { + updateAnchor(editor, id, anchor); + } else { + createAnchor(editor, id); + } + editor.focus(); + }; + + const insertAnchor = (editor, newId) => { + if (!isValidId(newId)) { + editor.windowManager.alert('ID should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.'); + return false; + } else { + insert(editor, newId); + return true; + } + }; + const open = editor => { + const currentId = getId(editor); + editor.windowManager.open({ + title: 'Anchor', + size: 'normal', + body: { + type: 'panel', + items: [{ + name: 'id', + type: 'input', + label: 'ID', + placeholder: 'example' + }] + }, + buttons: [ + { + type: 'cancel', + name: 'cancel', + text: 'Cancel' + }, + { + type: 'submit', + name: 'save', + text: 'Save', + primary: true + } + ], + initialData: { id: currentId }, + onSubmit: api => { + if (insertAnchor(editor, api.getData().id)) { + api.close(); + } + } + }); + }; + + const register$1 = editor => { + editor.addCommand('mceAnchor', () => { + open(editor); + }); + }; + + const isNamedAnchorNode = node => isEmptyString(node.attr('href')) && !isEmptyString(node.attr('id') || node.attr('name')); + const isEmptyNamedAnchorNode = node => isNamedAnchorNode(node) && !node.firstChild; + const setContentEditable = state => nodes => { + for (let i = 0; i < nodes.length; i++) { + const node = nodes[i]; + if (isEmptyNamedAnchorNode(node)) { + node.attr('contenteditable', state); + } + } + }; + const setup = editor => { + editor.on('PreInit', () => { + editor.parser.addNodeFilter('a', setContentEditable('false')); + editor.serializer.addNodeFilter('a', setContentEditable(null)); + }); + }; + + const registerFormats = editor => { + editor.formatter.register('namedAnchor', { + inline: 'a', + selector: namedAnchorSelector, + remove: 'all', + split: true, + deep: true, + attributes: { id: '%value' }, + onmatch: (node, _fmt, _itemName) => { + return isNamedAnchor(node); + } + }); + }; + + const onSetupEditable = editor => api => { + const nodeChanged = () => { + api.setEnabled(editor.selection.isEditable()); + }; + editor.on('NodeChange', nodeChanged); + nodeChanged(); + return () => { + editor.off('NodeChange', nodeChanged); + }; + }; + const register = editor => { + const onAction = () => editor.execCommand('mceAnchor'); + editor.ui.registry.addToggleButton('anchor', { + icon: 'bookmark', + tooltip: 'Anchor', + onAction, + onSetup: buttonApi => { + const unbindSelectorChanged = editor.selection.selectorChangedWithUnbind('a:not([href])', buttonApi.setActive).unbind; + const unbindEditableChanged = onSetupEditable(editor)(buttonApi); + return () => { + unbindSelectorChanged(); + unbindEditableChanged(); + }; + } + }); + editor.ui.registry.addMenuItem('anchor', { + icon: 'bookmark', + text: 'Anchor...', + onAction, + onSetup: onSetupEditable(editor) + }); + }; + + var Plugin = () => { + global$2.add('anchor', editor => { + register$2(editor); + setup(editor); + register$1(editor); + register(editor); + editor.on('PreInit', () => { + registerFormats(editor); + }); + }); + }; + + Plugin(); + +})(); diff --git a/public/tools/cloud_notes/tinymce/plugins/anchor/plugin.min.js b/public/tools/cloud_notes/tinymce/plugins/anchor/plugin.min.js new file mode 100644 index 0000000..cf19304 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/anchor/plugin.min.js @@ -0,0 +1,4 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ +!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=tinymce.util.Tools.resolve("tinymce.dom.RangeUtils"),o=tinymce.util.Tools.resolve("tinymce.util.Tools");const n=("allow_html_in_named_anchor",e=>e.options.get("allow_html_in_named_anchor"));const a="a:not([href])",r=e=>!e,i=e=>e.getAttribute("id")||e.getAttribute("name")||"",l=e=>(e=>"a"===e.nodeName.toLowerCase())(e)&&!e.getAttribute("href")&&""!==i(e),s=e=>e.dom.getParent(e.selection.getStart(),a),d=(e,a)=>{const r=s(e);r?((e,t,o)=>{o.removeAttribute("name"),o.id=t,e.addVisual(),e.undoManager.add()})(e,a,r):((e,a)=>{e.undoManager.transact((()=>{n(e)||e.selection.collapse(!0),e.selection.isCollapsed()?e.insertContent(e.dom.createHTML("a",{id:a})):((e=>{const n=e.dom;t(n).walk(e.selection.getRng(),(e=>{o.each(e,(e=>{var t;l(t=e)&&!t.firstChild&&n.remove(e,!1)}))}))})(e),e.formatter.remove("namedAnchor",void 0,void 0,!0),e.formatter.apply("namedAnchor",{value:a}),e.addVisual())}))})(e,a),e.focus()},c=e=>(e=>r(e.attr("href"))&&!r(e.attr("id")||e.attr("name")))(e)&&!e.firstChild,m=e=>t=>{for(let o=0;ot=>{const o=()=>{t.setEnabled(e.selection.isEditable())};return e.on("NodeChange",o),o(),()=>{e.off("NodeChange",o)}};e.add("anchor",(e=>{(e=>{(0,e.options.register)("allow_html_in_named_anchor",{processor:"boolean",default:!1})})(e),(e=>{e.on("PreInit",(()=>{e.parser.addNodeFilter("a",m("false")),e.serializer.addNodeFilter("a",m(null))}))})(e),(e=>{e.addCommand("mceAnchor",(()=>{(e=>{const t=(e=>{const t=s(e);return t?i(t):""})(e);e.windowManager.open({title:"Anchor",size:"normal",body:{type:"panel",items:[{name:"id",type:"input",label:"ID",placeholder:"example"}]},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:{id:t},onSubmit:t=>{((e,t)=>/^[A-Za-z][A-Za-z0-9\-:._]*$/.test(t)?(d(e,t),!0):(e.windowManager.alert("ID should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores."),!1))(e,t.getData().id)&&t.close()}})})(e)}))})(e),(e=>{const t=()=>e.execCommand("mceAnchor");e.ui.registry.addToggleButton("anchor",{icon:"bookmark",tooltip:"Anchor",onAction:t,onSetup:t=>{const o=e.selection.selectorChangedWithUnbind("a:not([href])",t.setActive).unbind,n=u(e)(t);return()=>{o(),n()}}}),e.ui.registry.addMenuItem("anchor",{icon:"bookmark",text:"Anchor...",onAction:t,onSetup:u(e)})})(e),e.on("PreInit",(()=>{(e=>{e.formatter.register("namedAnchor",{inline:"a",selector:a,remove:"all",split:!0,deep:!0,attributes:{id:"%value"},onmatch:(e,t,o)=>l(e)})})(e)}))}))}(); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/autolink/index.js b/public/tools/cloud_notes/tinymce/plugins/autolink/index.js new file mode 100644 index 0000000..ae8a759 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/autolink/index.js @@ -0,0 +1,7 @@ +// Exports the "autolink" plugin for usage with module loaders +// Usage: +// CommonJS: +// require('tinymce/plugins/autolink') +// ES2015: +// import 'tinymce/plugins/autolink' +require('./plugin.js'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/autolink/plugin.js b/public/tools/cloud_notes/tinymce/plugins/autolink/plugin.js new file mode 100644 index 0000000..c6cb328 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/autolink/plugin.js @@ -0,0 +1,228 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ + +(function () { + 'use strict'; + + var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + const link = () => /(?:[A-Za-z][A-Za-z\d.+-]{0,14}:\/\/(?:[-.~*+=!&;:'%@?^${}(),\w]+@)?|www\.|[-;:&=+$,.\w]+@)[A-Za-z\d-]+(?:\.[A-Za-z\d-]+)*(?::\d+)?(?:\/(?:[-.~*+=!;:'%@$(),\/\w]*[-~*+=%@$()\/\w])?)?(?:\?(?:[-.~*+=!&;:'%@?^${}(),\/\w]+))?(?:#(?:[-.~*+=!&;:'%@?^${}(),\/\w]+))?/g; + + const option = name => editor => editor.options.get(name); + const register = editor => { + const registerOption = editor.options.register; + registerOption('autolink_pattern', { + processor: 'regexp', + default: new RegExp('^' + link().source + '$', 'i') + }); + registerOption('link_default_target', { processor: 'string' }); + registerOption('link_default_protocol', { + processor: 'string', + default: 'https' + }); + }; + const getAutoLinkPattern = option('autolink_pattern'); + const getDefaultLinkTarget = option('link_default_target'); + const getDefaultLinkProtocol = option('link_default_protocol'); + const allowUnsafeLinkTarget = option('allow_unsafe_link_target'); + + const hasProto = (v, constructor, predicate) => { + var _a; + if (predicate(v, constructor.prototype)) { + return true; + } else { + return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name; + } + }; + const typeOf = x => { + const t = typeof x; + if (x === null) { + return 'null'; + } else if (t === 'object' && Array.isArray(x)) { + return 'array'; + } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) { + return 'string'; + } else { + return t; + } + }; + const isType = type => value => typeOf(value) === type; + const eq = t => a => t === a; + const isString = isType('string'); + const isUndefined = eq(undefined); + const isNullable = a => a === null || a === undefined; + const isNonNullable = a => !isNullable(a); + + const not = f => t => !f(t); + + const hasOwnProperty = Object.hasOwnProperty; + const has = (obj, key) => hasOwnProperty.call(obj, key); + + const checkRange = (str, substr, start) => substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr; + const contains = (str, substr, start = 0, end) => { + const idx = str.indexOf(substr, start); + if (idx !== -1) { + return isUndefined(end) ? true : idx + substr.length <= end; + } else { + return false; + } + }; + const startsWith = (str, prefix) => { + return checkRange(str, prefix, 0); + }; + + const zeroWidth = '\uFEFF'; + const isZwsp = char => char === zeroWidth; + const removeZwsp = s => s.replace(/\uFEFF/g, ''); + + var global = tinymce.util.Tools.resolve('tinymce.dom.TextSeeker'); + + const isTextNode = node => node.nodeType === 3; + const isElement = node => node.nodeType === 1; + const isBracketOrSpace = char => /^[(\[{ \u00a0]$/.test(char); + const hasProtocol = url => /^([A-Za-z][A-Za-z\d.+-]*:\/\/)|mailto:/.test(url); + const isPunctuation = char => /[?!,.;:]/.test(char); + const findChar = (text, index, predicate) => { + for (let i = index - 1; i >= 0; i--) { + const char = text.charAt(i); + if (!isZwsp(char) && predicate(char)) { + return i; + } + } + return -1; + }; + const freefallRtl = (container, offset) => { + let tempNode = container; + let tempOffset = offset; + while (isElement(tempNode) && tempNode.childNodes[tempOffset]) { + tempNode = tempNode.childNodes[tempOffset]; + tempOffset = isTextNode(tempNode) ? tempNode.data.length : tempNode.childNodes.length; + } + return { + container: tempNode, + offset: tempOffset + }; + }; + + const parseCurrentLine = (editor, offset) => { + var _a; + const voidElements = editor.schema.getVoidElements(); + const autoLinkPattern = getAutoLinkPattern(editor); + const {dom, selection} = editor; + if (dom.getParent(selection.getNode(), 'a[href]') !== null) { + return null; + } + const rng = selection.getRng(); + const textSeeker = global(dom, node => { + return dom.isBlock(node) || has(voidElements, node.nodeName.toLowerCase()) || dom.getContentEditable(node) === 'false'; + }); + const { + container: endContainer, + offset: endOffset + } = freefallRtl(rng.endContainer, rng.endOffset); + const root = (_a = dom.getParent(endContainer, dom.isBlock)) !== null && _a !== void 0 ? _a : dom.getRoot(); + const endSpot = textSeeker.backwards(endContainer, endOffset + offset, (node, offset) => { + const text = node.data; + const idx = findChar(text, offset, not(isBracketOrSpace)); + return idx === -1 || isPunctuation(text[idx]) ? idx : idx + 1; + }, root); + if (!endSpot) { + return null; + } + let lastTextNode = endSpot.container; + const startSpot = textSeeker.backwards(endSpot.container, endSpot.offset, (node, offset) => { + lastTextNode = node; + const idx = findChar(node.data, offset, isBracketOrSpace); + return idx === -1 ? idx : idx + 1; + }, root); + const newRng = dom.createRng(); + if (!startSpot) { + newRng.setStart(lastTextNode, 0); + } else { + newRng.setStart(startSpot.container, startSpot.offset); + } + newRng.setEnd(endSpot.container, endSpot.offset); + const rngText = removeZwsp(newRng.toString()); + const matches = rngText.match(autoLinkPattern); + if (matches) { + let url = matches[0]; + if (startsWith(url, 'www.')) { + const protocol = getDefaultLinkProtocol(editor); + url = protocol + '://' + url; + } else if (contains(url, '@') && !hasProtocol(url)) { + url = 'mailto:' + url; + } + return { + rng: newRng, + url + }; + } else { + return null; + } + }; + const convertToLink = (editor, result) => { + const {dom, selection} = editor; + const {rng, url} = result; + const bookmark = selection.getBookmark(); + selection.setRng(rng); + const command = 'createlink'; + const args = { + command, + ui: false, + value: url + }; + const beforeExecEvent = editor.dispatch('BeforeExecCommand', args); + if (!beforeExecEvent.isDefaultPrevented()) { + editor.getDoc().execCommand(command, false, url); + editor.dispatch('ExecCommand', args); + const defaultLinkTarget = getDefaultLinkTarget(editor); + if (isString(defaultLinkTarget)) { + const anchor = selection.getNode(); + dom.setAttrib(anchor, 'target', defaultLinkTarget); + if (defaultLinkTarget === '_blank' && !allowUnsafeLinkTarget(editor)) { + dom.setAttrib(anchor, 'rel', 'noopener'); + } + } + } + selection.moveToBookmark(bookmark); + editor.nodeChanged(); + }; + const handleSpacebar = editor => { + const result = parseCurrentLine(editor, -1); + if (isNonNullable(result)) { + convertToLink(editor, result); + } + }; + const handleBracket = handleSpacebar; + const handleEnter = editor => { + const result = parseCurrentLine(editor, 0); + if (isNonNullable(result)) { + convertToLink(editor, result); + } + }; + const setup = editor => { + editor.on('keydown', e => { + if (e.keyCode === 13 && !e.isDefaultPrevented()) { + handleEnter(editor); + } + }); + editor.on('keyup', e => { + if (e.keyCode === 32) { + handleSpacebar(editor); + } else if (e.keyCode === 48 && e.shiftKey || e.keyCode === 221) { + handleBracket(editor); + } + }); + }; + + var Plugin = () => { + global$1.add('autolink', editor => { + register(editor); + setup(editor); + }); + }; + + Plugin(); + +})(); diff --git a/public/tools/cloud_notes/tinymce/plugins/autolink/plugin.min.js b/public/tools/cloud_notes/tinymce/plugins/autolink/plugin.min.js new file mode 100644 index 0000000..df56de1 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/autolink/plugin.min.js @@ -0,0 +1,4 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ +!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>t=>t.options.get(e),n=t("autolink_pattern"),o=t("link_default_target"),r=t("link_default_protocol"),a=t("allow_unsafe_link_target"),s=("string",e=>"string"===(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(n=o=e,(r=String).prototype.isPrototypeOf(n)||(null===(a=o.constructor)||void 0===a?void 0:a.name)===r.name)?"string":t;var n,o,r,a})(e));const l=(void 0,e=>undefined===e);const i=e=>!(e=>null==e)(e),c=Object.hasOwnProperty,d=e=>"\ufeff"===e;var u=tinymce.util.Tools.resolve("tinymce.dom.TextSeeker");const f=e=>/^[(\[{ \u00a0]$/.test(e),g=(e,t,n)=>{for(let o=t-1;o>=0;o--){const t=e.charAt(o);if(!d(t)&&n(t))return o}return-1},m=(e,t)=>{var o;const a=e.schema.getVoidElements(),s=n(e),{dom:i,selection:d}=e;if(null!==i.getParent(d.getNode(),"a[href]"))return null;const m=d.getRng(),k=u(i,(e=>{return i.isBlock(e)||(t=a,n=e.nodeName.toLowerCase(),c.call(t,n))||"false"===i.getContentEditable(e);var t,n})),{container:p,offset:y}=((e,t)=>{let n=e,o=t;for(;1===n.nodeType&&n.childNodes[o];)n=n.childNodes[o],o=3===n.nodeType?n.data.length:n.childNodes.length;return{container:n,offset:o}})(m.endContainer,m.endOffset),w=null!==(o=i.getParent(p,i.isBlock))&&void 0!==o?o:i.getRoot(),h=k.backwards(p,y+t,((e,t)=>{const n=e.data,o=g(n,t,(r=f,e=>!r(e)));var r,a;return-1===o||(a=n[o],/[?!,.;:]/.test(a))?o:o+1}),w);if(!h)return null;let v=h.container;const _=k.backwards(h.container,h.offset,((e,t)=>{v=e;const n=g(e.data,t,f);return-1===n?n:n+1}),w),A=i.createRng();_?A.setStart(_.container,_.offset):A.setStart(v,0),A.setEnd(h.container,h.offset);const C=A.toString().replace(/\uFEFF/g,"").match(s);if(C){let t=C[0];return $="www.",(b=t).length>=4&&b.substr(0,4)===$?t=r(e)+"://"+t:((e,t,n=0,o)=>{const r=e.indexOf(t,n);return-1!==r&&(!!l(o)||r+t.length<=o)})(t,"@")&&!(e=>/^([A-Za-z][A-Za-z\d.+-]*:\/\/)|mailto:/.test(e))(t)&&(t="mailto:"+t),{rng:A,url:t}}var b,$;return null},k=(e,t)=>{const{dom:n,selection:r}=e,{rng:l,url:i}=t,c=r.getBookmark();r.setRng(l);const d="createlink",u={command:d,ui:!1,value:i};if(!e.dispatch("BeforeExecCommand",u).isDefaultPrevented()){e.getDoc().execCommand(d,!1,i),e.dispatch("ExecCommand",u);const t=o(e);if(s(t)){const o=r.getNode();n.setAttrib(o,"target",t),"_blank"!==t||a(e)||n.setAttrib(o,"rel","noopener")}}r.moveToBookmark(c),e.nodeChanged()},p=e=>{const t=m(e,-1);i(t)&&k(e,t)},y=p;e.add("autolink",(e=>{(e=>{const t=e.options.register;t("autolink_pattern",{processor:"regexp",default:new RegExp("^"+/(?:[A-Za-z][A-Za-z\d.+-]{0,14}:\/\/(?:[-.~*+=!&;:'%@?^${}(),\w]+@)?|www\.|[-;:&=+$,.\w]+@)[A-Za-z\d-]+(?:\.[A-Za-z\d-]+)*(?::\d+)?(?:\/(?:[-.~*+=!;:'%@$(),\/\w]*[-~*+=%@$()\/\w])?)?(?:\?(?:[-.~*+=!&;:'%@?^${}(),\/\w]+))?(?:#(?:[-.~*+=!&;:'%@?^${}(),\/\w]+))?/g.source+"$","i")}),t("link_default_target",{processor:"string"}),t("link_default_protocol",{processor:"string",default:"https"})})(e),(e=>{e.on("keydown",(t=>{13!==t.keyCode||t.isDefaultPrevented()||(e=>{const t=m(e,0);i(t)&&k(e,t)})(e)})),e.on("keyup",(t=>{32===t.keyCode?p(e):(48===t.keyCode&&t.shiftKey||221===t.keyCode)&&y(e)}))})(e)}))}(); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/autoresize/index.js b/public/tools/cloud_notes/tinymce/plugins/autoresize/index.js new file mode 100644 index 0000000..a4a7a42 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/autoresize/index.js @@ -0,0 +1,7 @@ +// Exports the "autoresize" plugin for usage with module loaders +// Usage: +// CommonJS: +// require('tinymce/plugins/autoresize') +// ES2015: +// import 'tinymce/plugins/autoresize' +require('./plugin.js'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/autoresize/plugin.js b/public/tools/cloud_notes/tinymce/plugins/autoresize/plugin.js new file mode 100644 index 0000000..b6221a2 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/autoresize/plugin.js @@ -0,0 +1,192 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ + +(function () { + 'use strict'; + + const Cell = initial => { + let value = initial; + const get = () => { + return value; + }; + const set = v => { + value = v; + }; + return { + get, + set + }; + }; + + var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + const constant = value => { + return () => { + return value; + }; + }; + + var global = tinymce.util.Tools.resolve('tinymce.Env'); + + const fireResizeEditor = editor => editor.dispatch('ResizeEditor'); + + const option = name => editor => editor.options.get(name); + const register$1 = editor => { + const registerOption = editor.options.register; + registerOption('autoresize_overflow_padding', { + processor: 'number', + default: 1 + }); + registerOption('autoresize_bottom_margin', { + processor: 'number', + default: 50 + }); + }; + const getMinHeight = option('min_height'); + const getMaxHeight = option('max_height'); + const getAutoResizeOverflowPadding = option('autoresize_overflow_padding'); + const getAutoResizeBottomMargin = option('autoresize_bottom_margin'); + + const isFullscreen = editor => editor.plugins.fullscreen && editor.plugins.fullscreen.isFullscreen(); + const toggleScrolling = (editor, state) => { + const body = editor.getBody(); + if (body) { + body.style.overflowY = state ? '' : 'hidden'; + if (!state) { + body.scrollTop = 0; + } + } + }; + const parseCssValueToInt = (dom, elm, name, computed) => { + var _a; + const value = parseInt((_a = dom.getStyle(elm, name, computed)) !== null && _a !== void 0 ? _a : '', 10); + return isNaN(value) ? 0 : value; + }; + const shouldScrollIntoView = trigger => { + if ((trigger === null || trigger === void 0 ? void 0 : trigger.type.toLowerCase()) === 'setcontent') { + const setContentEvent = trigger; + return setContentEvent.selection === true || setContentEvent.paste === true; + } else { + return false; + } + }; + const resize = (editor, oldSize, trigger, getExtraMarginBottom) => { + var _a; + const dom = editor.dom; + const doc = editor.getDoc(); + if (!doc) { + return; + } + if (isFullscreen(editor)) { + toggleScrolling(editor, true); + return; + } + const docEle = doc.documentElement; + const resizeBottomMargin = getExtraMarginBottom ? getExtraMarginBottom() : getAutoResizeOverflowPadding(editor); + const minHeight = (_a = getMinHeight(editor)) !== null && _a !== void 0 ? _a : editor.getElement().offsetHeight; + let resizeHeight = minHeight; + const marginTop = parseCssValueToInt(dom, docEle, 'margin-top', true); + const marginBottom = parseCssValueToInt(dom, docEle, 'margin-bottom', true); + let contentHeight = docEle.offsetHeight + marginTop + marginBottom + resizeBottomMargin; + if (contentHeight < 0) { + contentHeight = 0; + } + const containerHeight = editor.getContainer().offsetHeight; + const contentAreaHeight = editor.getContentAreaContainer().offsetHeight; + const chromeHeight = containerHeight - contentAreaHeight; + if (contentHeight + chromeHeight > minHeight) { + resizeHeight = contentHeight + chromeHeight; + } + const maxHeight = getMaxHeight(editor); + if (maxHeight && resizeHeight > maxHeight) { + resizeHeight = maxHeight; + toggleScrolling(editor, true); + } else { + toggleScrolling(editor, false); + } + if (resizeHeight !== oldSize.get()) { + const deltaSize = resizeHeight - oldSize.get(); + dom.setStyle(editor.getContainer(), 'height', resizeHeight + 'px'); + oldSize.set(resizeHeight); + fireResizeEditor(editor); + if (global.browser.isSafari() && (global.os.isMacOS() || global.os.isiOS())) { + const win = editor.getWin(); + win.scrollTo(win.pageXOffset, win.pageYOffset); + } + if (editor.hasFocus() && shouldScrollIntoView(trigger)) { + editor.selection.scrollIntoView(); + } + if ((global.browser.isSafari() || global.browser.isChromium()) && deltaSize < 0) { + resize(editor, oldSize, trigger, getExtraMarginBottom); + } + } + }; + const setup = (editor, oldSize) => { + let getExtraMarginBottom = () => getAutoResizeBottomMargin(editor); + let resizeCounter; + let sizeAfterFirstResize; + editor.on('init', e => { + resizeCounter = 0; + const overflowPadding = getAutoResizeOverflowPadding(editor); + const dom = editor.dom; + dom.setStyles(editor.getDoc().documentElement, { height: 'auto' }); + if (global.browser.isEdge() || global.browser.isIE()) { + dom.setStyles(editor.getBody(), { + 'paddingLeft': overflowPadding, + 'paddingRight': overflowPadding, + 'min-height': 0 + }); + } else { + dom.setStyles(editor.getBody(), { + paddingLeft: overflowPadding, + paddingRight: overflowPadding + }); + } + resize(editor, oldSize, e, getExtraMarginBottom); + resizeCounter += 1; + }); + editor.on('NodeChange SetContent keyup FullscreenStateChanged ResizeContent', e => { + if (resizeCounter === 1) { + sizeAfterFirstResize = editor.getContainer().offsetHeight; + resize(editor, oldSize, e, getExtraMarginBottom); + resizeCounter += 1; + } else if (resizeCounter === 2) { + const isLooping = sizeAfterFirstResize < editor.getContainer().offsetHeight; + if (isLooping) { + const dom = editor.dom; + const doc = editor.getDoc(); + dom.setStyles(doc.documentElement, { 'min-height': 0 }); + dom.setStyles(editor.getBody(), { 'min-height': 'inherit' }); + } + getExtraMarginBottom = isLooping ? constant(0) : getExtraMarginBottom; + resizeCounter += 1; + } else { + resize(editor, oldSize, e, getExtraMarginBottom); + } + }); + }; + + const register = (editor, oldSize) => { + editor.addCommand('mceAutoResize', () => { + resize(editor, oldSize); + }); + }; + + var Plugin = () => { + global$1.add('autoresize', editor => { + register$1(editor); + if (!editor.options.isSet('resize')) { + editor.options.set('resize', false); + } + if (!editor.inline) { + const oldSize = Cell(0); + register(editor, oldSize); + setup(editor, oldSize); + } + }); + }; + + Plugin(); + +})(); diff --git a/public/tools/cloud_notes/tinymce/plugins/autoresize/plugin.min.js b/public/tools/cloud_notes/tinymce/plugins/autoresize/plugin.min.js new file mode 100644 index 0000000..c4d6f87 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/autoresize/plugin.min.js @@ -0,0 +1,4 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ +!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=tinymce.util.Tools.resolve("tinymce.Env");const o=e=>t=>t.options.get(e),s=o("min_height"),i=o("max_height"),n=o("autoresize_overflow_padding"),r=o("autoresize_bottom_margin"),l=(e,t)=>{const o=e.getBody();o&&(o.style.overflowY=t?"":"hidden",t||(o.scrollTop=0))},g=(e,t,o,s)=>{var i;const n=parseInt(null!==(i=e.getStyle(t,o,s))&&void 0!==i?i:"",10);return isNaN(n)?0:n},a=(e,o,r,c)=>{var d;const f=e.dom,u=e.getDoc();if(!u)return;if((e=>e.plugins.fullscreen&&e.plugins.fullscreen.isFullscreen())(e))return void l(e,!0);const m=u.documentElement,h=c?c():n(e),p=null!==(d=s(e))&&void 0!==d?d:e.getElement().offsetHeight;let y=p;const S=g(f,m,"margin-top",!0),v=g(f,m,"margin-bottom",!0);let C=m.offsetHeight+S+v+h;C<0&&(C=0);const b=e.getContainer().offsetHeight-e.getContentAreaContainer().offsetHeight;C+b>p&&(y=C+b);const w=i(e);if(w&&y>w?(y=w,l(e,!0)):l(e,!1),y!==o.get()){const s=y-o.get();if(f.setStyle(e.getContainer(),"height",y+"px"),o.set(y),(e=>{e.dispatch("ResizeEditor")})(e),t.browser.isSafari()&&(t.os.isMacOS()||t.os.isiOS())){const t=e.getWin();t.scrollTo(t.pageXOffset,t.pageYOffset)}e.hasFocus()&&(e=>{if("setcontent"===(null==e?void 0:e.type.toLowerCase())){const t=e;return!0===t.selection||!0===t.paste}return!1})(r)&&e.selection.scrollIntoView(),(t.browser.isSafari()||t.browser.isChromium())&&s<0&&a(e,o,r,c)}};e.add("autoresize",(e=>{if((e=>{const t=e.options.register;t("autoresize_overflow_padding",{processor:"number",default:1}),t("autoresize_bottom_margin",{processor:"number",default:50})})(e),e.options.isSet("resize")||e.options.set("resize",!1),!e.inline){const o=(e=>{let t=0;return{get:()=>t,set:e=>{t=e}}})();((e,t)=>{e.addCommand("mceAutoResize",(()=>{a(e,t)}))})(e,o),((e,o)=>{let s,i,l=()=>r(e);e.on("init",(i=>{s=0;const r=n(e),g=e.dom;g.setStyles(e.getDoc().documentElement,{height:"auto"}),t.browser.isEdge()||t.browser.isIE()?g.setStyles(e.getBody(),{paddingLeft:r,paddingRight:r,"min-height":0}):g.setStyles(e.getBody(),{paddingLeft:r,paddingRight:r}),a(e,o,i,l),s+=1})),e.on("NodeChange SetContent keyup FullscreenStateChanged ResizeContent",(t=>{if(1===s)i=e.getContainer().offsetHeight,a(e,o,t,l),s+=1;else if(2===s){const t=i0):l,s+=1}else a(e,o,t,l)}))})(e,o)}}))}(); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/autosave/index.js b/public/tools/cloud_notes/tinymce/plugins/autosave/index.js new file mode 100644 index 0000000..261d5c9 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/autosave/index.js @@ -0,0 +1,7 @@ +// Exports the "autosave" plugin for usage with module loaders +// Usage: +// CommonJS: +// require('tinymce/plugins/autosave') +// ES2015: +// import 'tinymce/plugins/autosave' +require('./plugin.js'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/autosave/plugin.js b/public/tools/cloud_notes/tinymce/plugins/autosave/plugin.js new file mode 100644 index 0000000..87a4e4c --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/autosave/plugin.js @@ -0,0 +1,233 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ + +(function () { + 'use strict'; + + var global$4 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + const hasProto = (v, constructor, predicate) => { + var _a; + if (predicate(v, constructor.prototype)) { + return true; + } else { + return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name; + } + }; + const typeOf = x => { + const t = typeof x; + if (x === null) { + return 'null'; + } else if (t === 'object' && Array.isArray(x)) { + return 'array'; + } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) { + return 'string'; + } else { + return t; + } + }; + const isType = type => value => typeOf(value) === type; + const eq = t => a => t === a; + const isString = isType('string'); + const isUndefined = eq(undefined); + + var global$3 = tinymce.util.Tools.resolve('tinymce.util.Delay'); + + var global$2 = tinymce.util.Tools.resolve('tinymce.util.LocalStorage'); + + var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools'); + + const fireRestoreDraft = editor => editor.dispatch('RestoreDraft'); + const fireStoreDraft = editor => editor.dispatch('StoreDraft'); + const fireRemoveDraft = editor => editor.dispatch('RemoveDraft'); + + const parse = timeString => { + const multiples = { + s: 1000, + m: 60000 + }; + const parsedTime = /^(\d+)([ms]?)$/.exec(timeString); + return (parsedTime && parsedTime[2] ? multiples[parsedTime[2]] : 1) * parseInt(timeString, 10); + }; + + const option = name => editor => editor.options.get(name); + const register$1 = editor => { + const registerOption = editor.options.register; + const timeProcessor = value => { + const valid = isString(value); + if (valid) { + return { + value: parse(value), + valid + }; + } else { + return { + valid: false, + message: 'Must be a string.' + }; + } + }; + registerOption('autosave_ask_before_unload', { + processor: 'boolean', + default: true + }); + registerOption('autosave_prefix', { + processor: 'string', + default: 'tinymce-autosave-{path}{query}{hash}-{id}-' + }); + registerOption('autosave_restore_when_empty', { + processor: 'boolean', + default: false + }); + registerOption('autosave_interval', { + processor: timeProcessor, + default: '30s' + }); + registerOption('autosave_retention', { + processor: timeProcessor, + default: '20m' + }); + }; + const shouldAskBeforeUnload = option('autosave_ask_before_unload'); + const shouldRestoreWhenEmpty = option('autosave_restore_when_empty'); + const getAutoSaveInterval = option('autosave_interval'); + const getAutoSaveRetention = option('autosave_retention'); + const getAutoSavePrefix = editor => { + const location = document.location; + return editor.options.get('autosave_prefix').replace(/{path}/g, location.pathname).replace(/{query}/g, location.search).replace(/{hash}/g, location.hash).replace(/{id}/g, editor.id); + }; + + const isEmpty = (editor, html) => { + if (isUndefined(html)) { + return editor.dom.isEmpty(editor.getBody()); + } else { + const trimmedHtml = global$1.trim(html); + if (trimmedHtml === '') { + return true; + } else { + const fragment = new DOMParser().parseFromString(trimmedHtml, 'text/html'); + return editor.dom.isEmpty(fragment); + } + } + }; + const hasDraft = editor => { + var _a; + const time = parseInt((_a = global$2.getItem(getAutoSavePrefix(editor) + 'time')) !== null && _a !== void 0 ? _a : '0', 10) || 0; + if (new Date().getTime() - time > getAutoSaveRetention(editor)) { + removeDraft(editor, false); + return false; + } + return true; + }; + const removeDraft = (editor, fire) => { + const prefix = getAutoSavePrefix(editor); + global$2.removeItem(prefix + 'draft'); + global$2.removeItem(prefix + 'time'); + if (fire !== false) { + fireRemoveDraft(editor); + } + }; + const storeDraft = editor => { + const prefix = getAutoSavePrefix(editor); + if (!isEmpty(editor) && editor.isDirty()) { + global$2.setItem(prefix + 'draft', editor.getContent({ + format: 'raw', + no_events: true + })); + global$2.setItem(prefix + 'time', new Date().getTime().toString()); + fireStoreDraft(editor); + } + }; + const restoreDraft = editor => { + var _a; + const prefix = getAutoSavePrefix(editor); + if (hasDraft(editor)) { + editor.setContent((_a = global$2.getItem(prefix + 'draft')) !== null && _a !== void 0 ? _a : '', { format: 'raw' }); + fireRestoreDraft(editor); + } + }; + const startStoreDraft = editor => { + const interval = getAutoSaveInterval(editor); + global$3.setEditorInterval(editor, () => { + storeDraft(editor); + }, interval); + }; + const restoreLastDraft = editor => { + editor.undoManager.transact(() => { + restoreDraft(editor); + removeDraft(editor); + }); + editor.focus(); + }; + + const get = editor => ({ + hasDraft: () => hasDraft(editor), + storeDraft: () => storeDraft(editor), + restoreDraft: () => restoreDraft(editor), + removeDraft: fire => removeDraft(editor, fire), + isEmpty: html => isEmpty(editor, html) + }); + + var global = tinymce.util.Tools.resolve('tinymce.EditorManager'); + + const setup = editor => { + editor.editorManager.on('BeforeUnload', e => { + let msg; + global$1.each(global.get(), editor => { + if (editor.plugins.autosave) { + editor.plugins.autosave.storeDraft(); + } + if (!msg && editor.isDirty() && shouldAskBeforeUnload(editor)) { + msg = editor.translate('You have unsaved changes are you sure you want to navigate away?'); + } + }); + if (msg) { + e.preventDefault(); + e.returnValue = msg; + } + }); + }; + + const makeSetupHandler = editor => api => { + api.setEnabled(hasDraft(editor)); + const editorEventCallback = () => api.setEnabled(hasDraft(editor)); + editor.on('StoreDraft RestoreDraft RemoveDraft', editorEventCallback); + return () => editor.off('StoreDraft RestoreDraft RemoveDraft', editorEventCallback); + }; + const register = editor => { + startStoreDraft(editor); + const onAction = () => { + restoreLastDraft(editor); + }; + editor.ui.registry.addButton('restoredraft', { + tooltip: 'Restore last draft', + icon: 'restore-draft', + onAction, + onSetup: makeSetupHandler(editor) + }); + editor.ui.registry.addMenuItem('restoredraft', { + text: 'Restore last draft', + icon: 'restore-draft', + onAction, + onSetup: makeSetupHandler(editor) + }); + }; + + var Plugin = () => { + global$4.add('autosave', editor => { + register$1(editor); + setup(editor); + register(editor); + editor.on('init', () => { + if (shouldRestoreWhenEmpty(editor) && editor.dom.isEmpty(editor.getBody())) { + restoreDraft(editor); + } + }); + return get(editor); + }); + }; + + Plugin(); + +})(); diff --git a/public/tools/cloud_notes/tinymce/plugins/autosave/plugin.min.js b/public/tools/cloud_notes/tinymce/plugins/autosave/plugin.min.js new file mode 100644 index 0000000..110f508 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/autosave/plugin.min.js @@ -0,0 +1,4 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ +!function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager");const e=("string",t=>"string"===(t=>{const e=typeof t;return null===t?"null":"object"===e&&Array.isArray(t)?"array":"object"===e&&(r=o=t,(a=String).prototype.isPrototypeOf(r)||(null===(s=o.constructor)||void 0===s?void 0:s.name)===a.name)?"string":e;var r,o,a,s})(t));const r=(void 0,t=>undefined===t);var o=tinymce.util.Tools.resolve("tinymce.util.Delay"),a=tinymce.util.Tools.resolve("tinymce.util.LocalStorage"),s=tinymce.util.Tools.resolve("tinymce.util.Tools");const n=t=>{const e=/^(\d+)([ms]?)$/.exec(t);return(e&&e[2]?{s:1e3,m:6e4}[e[2]]:1)*parseInt(t,10)},i=t=>e=>e.options.get(t),u=i("autosave_ask_before_unload"),l=i("autosave_restore_when_empty"),c=i("autosave_interval"),d=i("autosave_retention"),m=t=>{const e=document.location;return t.options.get("autosave_prefix").replace(/{path}/g,e.pathname).replace(/{query}/g,e.search).replace(/{hash}/g,e.hash).replace(/{id}/g,t.id)},v=(t,e)=>{if(r(e))return t.dom.isEmpty(t.getBody());{const r=s.trim(e);if(""===r)return!0;{const e=(new DOMParser).parseFromString(r,"text/html");return t.dom.isEmpty(e)}}},f=t=>{var e;const r=parseInt(null!==(e=a.getItem(m(t)+"time"))&&void 0!==e?e:"0",10)||0;return!((new Date).getTime()-r>d(t)&&(p(t,!1),1))},p=(t,e)=>{const r=m(t);a.removeItem(r+"draft"),a.removeItem(r+"time"),!1!==e&&(t=>{t.dispatch("RemoveDraft")})(t)},g=t=>{const e=m(t);!v(t)&&t.isDirty()&&(a.setItem(e+"draft",t.getContent({format:"raw",no_events:!0})),a.setItem(e+"time",(new Date).getTime().toString()),(t=>{t.dispatch("StoreDraft")})(t))},y=t=>{var e;const r=m(t);f(t)&&(t.setContent(null!==(e=a.getItem(r+"draft"))&&void 0!==e?e:"",{format:"raw"}),(t=>{t.dispatch("RestoreDraft")})(t))};var D=tinymce.util.Tools.resolve("tinymce.EditorManager");const h=t=>e=>{e.setEnabled(f(t));const r=()=>e.setEnabled(f(t));return t.on("StoreDraft RestoreDraft RemoveDraft",r),()=>t.off("StoreDraft RestoreDraft RemoveDraft",r)};t.add("autosave",(t=>((t=>{const r=t.options.register,o=t=>{const r=e(t);return r?{value:n(t),valid:r}:{valid:!1,message:"Must be a string."}};r("autosave_ask_before_unload",{processor:"boolean",default:!0}),r("autosave_prefix",{processor:"string",default:"tinymce-autosave-{path}{query}{hash}-{id}-"}),r("autosave_restore_when_empty",{processor:"boolean",default:!1}),r("autosave_interval",{processor:o,default:"30s"}),r("autosave_retention",{processor:o,default:"20m"})})(t),(t=>{t.editorManager.on("BeforeUnload",(t=>{let e;s.each(D.get(),(t=>{t.plugins.autosave&&t.plugins.autosave.storeDraft(),!e&&t.isDirty()&&u(t)&&(e=t.translate("You have unsaved changes are you sure you want to navigate away?"))})),e&&(t.preventDefault(),t.returnValue=e)}))})(t),(t=>{(t=>{const e=c(t);o.setEditorInterval(t,(()=>{g(t)}),e)})(t);const e=()=>{(t=>{t.undoManager.transact((()=>{y(t),p(t)})),t.focus()})(t)};t.ui.registry.addButton("restoredraft",{tooltip:"Restore last draft",icon:"restore-draft",onAction:e,onSetup:h(t)}),t.ui.registry.addMenuItem("restoredraft",{text:"Restore last draft",icon:"restore-draft",onAction:e,onSetup:h(t)})})(t),t.on("init",(()=>{l(t)&&t.dom.isEmpty(t.getBody())&&y(t)})),(t=>({hasDraft:()=>f(t),storeDraft:()=>g(t),restoreDraft:()=>y(t),removeDraft:e=>p(t,e),isEmpty:e=>v(t,e)}))(t))))}(); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/charmap/index.js b/public/tools/cloud_notes/tinymce/plugins/charmap/index.js new file mode 100644 index 0000000..13a1673 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/charmap/index.js @@ -0,0 +1,7 @@ +// Exports the "charmap" plugin for usage with module loaders +// Usage: +// CommonJS: +// require('tinymce/plugins/charmap') +// ES2015: +// import 'tinymce/plugins/charmap' +require('./plugin.js'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/charmap/plugin.js b/public/tools/cloud_notes/tinymce/plugins/charmap/plugin.js new file mode 100644 index 0000000..8c81b3c --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/charmap/plugin.js @@ -0,0 +1,1658 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ + +(function () { + 'use strict'; + + var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + const fireInsertCustomChar = (editor, chr) => { + return editor.dispatch('insertCustomChar', { chr }); + }; + + const insertChar = (editor, chr) => { + const evtChr = fireInsertCustomChar(editor, chr).chr; + editor.execCommand('mceInsertContent', false, evtChr); + }; + + const hasProto = (v, constructor, predicate) => { + var _a; + if (predicate(v, constructor.prototype)) { + return true; + } else { + return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name; + } + }; + const typeOf = x => { + const t = typeof x; + if (x === null) { + return 'null'; + } else if (t === 'object' && Array.isArray(x)) { + return 'array'; + } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) { + return 'string'; + } else { + return t; + } + }; + const isType = type => value => typeOf(value) === type; + const isSimpleType = type => value => typeof value === type; + const eq = t => a => t === a; + const isArray$1 = isType('array'); + const isNull = eq(null); + const isUndefined = eq(undefined); + const isNullable = a => a === null || a === undefined; + const isNonNullable = a => !isNullable(a); + const isFunction = isSimpleType('function'); + + const constant = value => { + return () => { + return value; + }; + }; + const never = constant(false); + + class Optional { + constructor(tag, value) { + this.tag = tag; + this.value = value; + } + static some(value) { + return new Optional(true, value); + } + static none() { + return Optional.singletonNone; + } + fold(onNone, onSome) { + if (this.tag) { + return onSome(this.value); + } else { + return onNone(); + } + } + isSome() { + return this.tag; + } + isNone() { + return !this.tag; + } + map(mapper) { + if (this.tag) { + return Optional.some(mapper(this.value)); + } else { + return Optional.none(); + } + } + bind(binder) { + if (this.tag) { + return binder(this.value); + } else { + return Optional.none(); + } + } + exists(predicate) { + return this.tag && predicate(this.value); + } + forall(predicate) { + return !this.tag || predicate(this.value); + } + filter(predicate) { + if (!this.tag || predicate(this.value)) { + return this; + } else { + return Optional.none(); + } + } + getOr(replacement) { + return this.tag ? this.value : replacement; + } + or(replacement) { + return this.tag ? this : replacement; + } + getOrThunk(thunk) { + return this.tag ? this.value : thunk(); + } + orThunk(thunk) { + return this.tag ? this : thunk(); + } + getOrDie(message) { + if (!this.tag) { + throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None'); + } else { + return this.value; + } + } + static from(value) { + return isNonNullable(value) ? Optional.some(value) : Optional.none(); + } + getOrNull() { + return this.tag ? this.value : null; + } + getOrUndefined() { + return this.value; + } + each(worker) { + if (this.tag) { + worker(this.value); + } + } + toArray() { + return this.tag ? [this.value] : []; + } + toString() { + return this.tag ? `some(${ this.value })` : 'none()'; + } + } + Optional.singletonNone = new Optional(false); + + const nativePush = Array.prototype.push; + const map = (xs, f) => { + const len = xs.length; + const r = new Array(len); + for (let i = 0; i < len; i++) { + const x = xs[i]; + r[i] = f(x, i); + } + return r; + }; + const each = (xs, f) => { + for (let i = 0, len = xs.length; i < len; i++) { + const x = xs[i]; + f(x, i); + } + }; + const findUntil = (xs, pred, until) => { + for (let i = 0, len = xs.length; i < len; i++) { + const x = xs[i]; + if (pred(x, i)) { + return Optional.some(x); + } else if (until(x, i)) { + break; + } + } + return Optional.none(); + }; + const find = (xs, pred) => { + return findUntil(xs, pred, never); + }; + const flatten = xs => { + const r = []; + for (let i = 0, len = xs.length; i < len; ++i) { + if (!isArray$1(xs[i])) { + throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs); + } + nativePush.apply(r, xs[i]); + } + return r; + }; + const bind = (xs, f) => flatten(map(xs, f)); + + var global = tinymce.util.Tools.resolve('tinymce.util.Tools'); + + const option = name => editor => editor.options.get(name); + const register$2 = editor => { + const registerOption = editor.options.register; + const charMapProcessor = value => isFunction(value) || isArray$1(value); + registerOption('charmap', { processor: charMapProcessor }); + registerOption('charmap_append', { processor: charMapProcessor }); + }; + const getCharMap$1 = option('charmap'); + const getCharMapAppend = option('charmap_append'); + + const isArray = global.isArray; + const UserDefined = 'User Defined'; + const getDefaultCharMap = () => { + return [ + { + name: 'Currency', + characters: [ + [ + 36, + 'dollar sign' + ], + [ + 162, + 'cent sign' + ], + [ + 8364, + 'euro sign' + ], + [ + 163, + 'pound sign' + ], + [ + 165, + 'yen sign' + ], + [ + 164, + 'currency sign' + ], + [ + 8352, + 'euro-currency sign' + ], + [ + 8353, + 'colon sign' + ], + [ + 8354, + 'cruzeiro sign' + ], + [ + 8355, + 'french franc sign' + ], + [ + 8356, + 'lira sign' + ], + [ + 8357, + 'mill sign' + ], + [ + 8358, + 'naira sign' + ], + [ + 8359, + 'peseta sign' + ], + [ + 8360, + 'rupee sign' + ], + [ + 8361, + 'won sign' + ], + [ + 8362, + 'new sheqel sign' + ], + [ + 8363, + 'dong sign' + ], + [ + 8365, + 'kip sign' + ], + [ + 8366, + 'tugrik sign' + ], + [ + 8367, + 'drachma sign' + ], + [ + 8368, + 'german penny symbol' + ], + [ + 8369, + 'peso sign' + ], + [ + 8370, + 'guarani sign' + ], + [ + 8371, + 'austral sign' + ], + [ + 8372, + 'hryvnia sign' + ], + [ + 8373, + 'cedi sign' + ], + [ + 8374, + 'livre tournois sign' + ], + [ + 8375, + 'spesmilo sign' + ], + [ + 8376, + 'tenge sign' + ], + [ + 8377, + 'indian rupee sign' + ], + [ + 8378, + 'turkish lira sign' + ], + [ + 8379, + 'nordic mark sign' + ], + [ + 8380, + 'manat sign' + ], + [ + 8381, + 'ruble sign' + ], + [ + 20870, + 'yen character' + ], + [ + 20803, + 'yuan character' + ], + [ + 22291, + 'yuan character, in hong kong and taiwan' + ], + [ + 22278, + 'yen/yuan character variant one' + ] + ] + }, + { + name: 'Text', + characters: [ + [ + 169, + 'copyright sign' + ], + [ + 174, + 'registered sign' + ], + [ + 8482, + 'trade mark sign' + ], + [ + 8240, + 'per mille sign' + ], + [ + 181, + 'micro sign' + ], + [ + 183, + 'middle dot' + ], + [ + 8226, + 'bullet' + ], + [ + 8230, + 'three dot leader' + ], + [ + 8242, + 'minutes / feet' + ], + [ + 8243, + 'seconds / inches' + ], + [ + 167, + 'section sign' + ], + [ + 182, + 'paragraph sign' + ], + [ + 223, + 'sharp s / ess-zed' + ] + ] + }, + { + name: 'Quotations', + characters: [ + [ + 8249, + 'single left-pointing angle quotation mark' + ], + [ + 8250, + 'single right-pointing angle quotation mark' + ], + [ + 171, + 'left pointing guillemet' + ], + [ + 187, + 'right pointing guillemet' + ], + [ + 8216, + 'left single quotation mark' + ], + [ + 8217, + 'right single quotation mark' + ], + [ + 8220, + 'left double quotation mark' + ], + [ + 8221, + 'right double quotation mark' + ], + [ + 8218, + 'single low-9 quotation mark' + ], + [ + 8222, + 'double low-9 quotation mark' + ], + [ + 60, + 'less-than sign' + ], + [ + 62, + 'greater-than sign' + ], + [ + 8804, + 'less-than or equal to' + ], + [ + 8805, + 'greater-than or equal to' + ], + [ + 8211, + 'en dash' + ], + [ + 8212, + 'em dash' + ], + [ + 175, + 'macron' + ], + [ + 8254, + 'overline' + ], + [ + 164, + 'currency sign' + ], + [ + 166, + 'broken bar' + ], + [ + 168, + 'diaeresis' + ], + [ + 161, + 'inverted exclamation mark' + ], + [ + 191, + 'turned question mark' + ], + [ + 710, + 'circumflex accent' + ], + [ + 732, + 'small tilde' + ], + [ + 176, + 'degree sign' + ], + [ + 8722, + 'minus sign' + ], + [ + 177, + 'plus-minus sign' + ], + [ + 247, + 'division sign' + ], + [ + 8260, + 'fraction slash' + ], + [ + 215, + 'multiplication sign' + ], + [ + 185, + 'superscript one' + ], + [ + 178, + 'superscript two' + ], + [ + 179, + 'superscript three' + ], + [ + 188, + 'fraction one quarter' + ], + [ + 189, + 'fraction one half' + ], + [ + 190, + 'fraction three quarters' + ] + ] + }, + { + name: 'Mathematical', + characters: [ + [ + 402, + 'function / florin' + ], + [ + 8747, + 'integral' + ], + [ + 8721, + 'n-ary sumation' + ], + [ + 8734, + 'infinity' + ], + [ + 8730, + 'square root' + ], + [ + 8764, + 'similar to' + ], + [ + 8773, + 'approximately equal to' + ], + [ + 8776, + 'almost equal to' + ], + [ + 8800, + 'not equal to' + ], + [ + 8801, + 'identical to' + ], + [ + 8712, + 'element of' + ], + [ + 8713, + 'not an element of' + ], + [ + 8715, + 'contains as member' + ], + [ + 8719, + 'n-ary product' + ], + [ + 8743, + 'logical and' + ], + [ + 8744, + 'logical or' + ], + [ + 172, + 'not sign' + ], + [ + 8745, + 'intersection' + ], + [ + 8746, + 'union' + ], + [ + 8706, + 'partial differential' + ], + [ + 8704, + 'for all' + ], + [ + 8707, + 'there exists' + ], + [ + 8709, + 'diameter' + ], + [ + 8711, + 'backward difference' + ], + [ + 8727, + 'asterisk operator' + ], + [ + 8733, + 'proportional to' + ], + [ + 8736, + 'angle' + ] + ] + }, + { + name: 'Extended Latin', + characters: [ + [ + 192, + 'A - grave' + ], + [ + 193, + 'A - acute' + ], + [ + 194, + 'A - circumflex' + ], + [ + 195, + 'A - tilde' + ], + [ + 196, + 'A - diaeresis' + ], + [ + 197, + 'A - ring above' + ], + [ + 256, + 'A - macron' + ], + [ + 198, + 'ligature AE' + ], + [ + 199, + 'C - cedilla' + ], + [ + 200, + 'E - grave' + ], + [ + 201, + 'E - acute' + ], + [ + 202, + 'E - circumflex' + ], + [ + 203, + 'E - diaeresis' + ], + [ + 274, + 'E - macron' + ], + [ + 204, + 'I - grave' + ], + [ + 205, + 'I - acute' + ], + [ + 206, + 'I - circumflex' + ], + [ + 207, + 'I - diaeresis' + ], + [ + 298, + 'I - macron' + ], + [ + 208, + 'ETH' + ], + [ + 209, + 'N - tilde' + ], + [ + 210, + 'O - grave' + ], + [ + 211, + 'O - acute' + ], + [ + 212, + 'O - circumflex' + ], + [ + 213, + 'O - tilde' + ], + [ + 214, + 'O - diaeresis' + ], + [ + 216, + 'O - slash' + ], + [ + 332, + 'O - macron' + ], + [ + 338, + 'ligature OE' + ], + [ + 352, + 'S - caron' + ], + [ + 217, + 'U - grave' + ], + [ + 218, + 'U - acute' + ], + [ + 219, + 'U - circumflex' + ], + [ + 220, + 'U - diaeresis' + ], + [ + 362, + 'U - macron' + ], + [ + 221, + 'Y - acute' + ], + [ + 376, + 'Y - diaeresis' + ], + [ + 562, + 'Y - macron' + ], + [ + 222, + 'THORN' + ], + [ + 224, + 'a - grave' + ], + [ + 225, + 'a - acute' + ], + [ + 226, + 'a - circumflex' + ], + [ + 227, + 'a - tilde' + ], + [ + 228, + 'a - diaeresis' + ], + [ + 229, + 'a - ring above' + ], + [ + 257, + 'a - macron' + ], + [ + 230, + 'ligature ae' + ], + [ + 231, + 'c - cedilla' + ], + [ + 232, + 'e - grave' + ], + [ + 233, + 'e - acute' + ], + [ + 234, + 'e - circumflex' + ], + [ + 235, + 'e - diaeresis' + ], + [ + 275, + 'e - macron' + ], + [ + 236, + 'i - grave' + ], + [ + 237, + 'i - acute' + ], + [ + 238, + 'i - circumflex' + ], + [ + 239, + 'i - diaeresis' + ], + [ + 299, + 'i - macron' + ], + [ + 240, + 'eth' + ], + [ + 241, + 'n - tilde' + ], + [ + 242, + 'o - grave' + ], + [ + 243, + 'o - acute' + ], + [ + 244, + 'o - circumflex' + ], + [ + 245, + 'o - tilde' + ], + [ + 246, + 'o - diaeresis' + ], + [ + 248, + 'o slash' + ], + [ + 333, + 'o macron' + ], + [ + 339, + 'ligature oe' + ], + [ + 353, + 's - caron' + ], + [ + 249, + 'u - grave' + ], + [ + 250, + 'u - acute' + ], + [ + 251, + 'u - circumflex' + ], + [ + 252, + 'u - diaeresis' + ], + [ + 363, + 'u - macron' + ], + [ + 253, + 'y - acute' + ], + [ + 254, + 'thorn' + ], + [ + 255, + 'y - diaeresis' + ], + [ + 563, + 'y - macron' + ], + [ + 913, + 'Alpha' + ], + [ + 914, + 'Beta' + ], + [ + 915, + 'Gamma' + ], + [ + 916, + 'Delta' + ], + [ + 917, + 'Epsilon' + ], + [ + 918, + 'Zeta' + ], + [ + 919, + 'Eta' + ], + [ + 920, + 'Theta' + ], + [ + 921, + 'Iota' + ], + [ + 922, + 'Kappa' + ], + [ + 923, + 'Lambda' + ], + [ + 924, + 'Mu' + ], + [ + 925, + 'Nu' + ], + [ + 926, + 'Xi' + ], + [ + 927, + 'Omicron' + ], + [ + 928, + 'Pi' + ], + [ + 929, + 'Rho' + ], + [ + 931, + 'Sigma' + ], + [ + 932, + 'Tau' + ], + [ + 933, + 'Upsilon' + ], + [ + 934, + 'Phi' + ], + [ + 935, + 'Chi' + ], + [ + 936, + 'Psi' + ], + [ + 937, + 'Omega' + ], + [ + 945, + 'alpha' + ], + [ + 946, + 'beta' + ], + [ + 947, + 'gamma' + ], + [ + 948, + 'delta' + ], + [ + 949, + 'epsilon' + ], + [ + 950, + 'zeta' + ], + [ + 951, + 'eta' + ], + [ + 952, + 'theta' + ], + [ + 953, + 'iota' + ], + [ + 954, + 'kappa' + ], + [ + 955, + 'lambda' + ], + [ + 956, + 'mu' + ], + [ + 957, + 'nu' + ], + [ + 958, + 'xi' + ], + [ + 959, + 'omicron' + ], + [ + 960, + 'pi' + ], + [ + 961, + 'rho' + ], + [ + 962, + 'final sigma' + ], + [ + 963, + 'sigma' + ], + [ + 964, + 'tau' + ], + [ + 965, + 'upsilon' + ], + [ + 966, + 'phi' + ], + [ + 967, + 'chi' + ], + [ + 968, + 'psi' + ], + [ + 969, + 'omega' + ] + ] + }, + { + name: 'Symbols', + characters: [ + [ + 8501, + 'alef symbol' + ], + [ + 982, + 'pi symbol' + ], + [ + 8476, + 'real part symbol' + ], + [ + 978, + 'upsilon - hook symbol' + ], + [ + 8472, + 'Weierstrass p' + ], + [ + 8465, + 'imaginary part' + ] + ] + }, + { + name: 'Arrows', + characters: [ + [ + 8592, + 'leftwards arrow' + ], + [ + 8593, + 'upwards arrow' + ], + [ + 8594, + 'rightwards arrow' + ], + [ + 8595, + 'downwards arrow' + ], + [ + 8596, + 'left right arrow' + ], + [ + 8629, + 'carriage return' + ], + [ + 8656, + 'leftwards double arrow' + ], + [ + 8657, + 'upwards double arrow' + ], + [ + 8658, + 'rightwards double arrow' + ], + [ + 8659, + 'downwards double arrow' + ], + [ + 8660, + 'left right double arrow' + ], + [ + 8756, + 'therefore' + ], + [ + 8834, + 'subset of' + ], + [ + 8835, + 'superset of' + ], + [ + 8836, + 'not a subset of' + ], + [ + 8838, + 'subset of or equal to' + ], + [ + 8839, + 'superset of or equal to' + ], + [ + 8853, + 'circled plus' + ], + [ + 8855, + 'circled times' + ], + [ + 8869, + 'perpendicular' + ], + [ + 8901, + 'dot operator' + ], + [ + 8968, + 'left ceiling' + ], + [ + 8969, + 'right ceiling' + ], + [ + 8970, + 'left floor' + ], + [ + 8971, + 'right floor' + ], + [ + 9001, + 'left-pointing angle bracket' + ], + [ + 9002, + 'right-pointing angle bracket' + ], + [ + 9674, + 'lozenge' + ], + [ + 9824, + 'black spade suit' + ], + [ + 9827, + 'black club suit' + ], + [ + 9829, + 'black heart suit' + ], + [ + 9830, + 'black diamond suit' + ], + [ + 8194, + 'en space' + ], + [ + 8195, + 'em space' + ], + [ + 8201, + 'thin space' + ], + [ + 8204, + 'zero width non-joiner' + ], + [ + 8205, + 'zero width joiner' + ], + [ + 8206, + 'left-to-right mark' + ], + [ + 8207, + 'right-to-left mark' + ] + ] + } + ]; + }; + const charmapFilter = charmap => { + return global.grep(charmap, item => { + return isArray(item) && item.length === 2; + }); + }; + const getCharsFromOption = optionValue => { + if (isArray(optionValue)) { + return charmapFilter(optionValue); + } + if (typeof optionValue === 'function') { + return optionValue(); + } + return []; + }; + const extendCharMap = (editor, charmap) => { + const userCharMap = getCharMap$1(editor); + if (userCharMap) { + charmap = [{ + name: UserDefined, + characters: getCharsFromOption(userCharMap) + }]; + } + const userCharMapAppend = getCharMapAppend(editor); + if (userCharMapAppend) { + const userDefinedGroup = global.grep(charmap, cg => cg.name === UserDefined); + if (userDefinedGroup.length) { + userDefinedGroup[0].characters = [ + ...userDefinedGroup[0].characters, + ...getCharsFromOption(userCharMapAppend) + ]; + return charmap; + } + return charmap.concat({ + name: UserDefined, + characters: getCharsFromOption(userCharMapAppend) + }); + } + return charmap; + }; + const getCharMap = editor => { + const groups = extendCharMap(editor, getDefaultCharMap()); + return groups.length > 1 ? [{ + name: 'All', + characters: bind(groups, g => g.characters) + }].concat(groups) : groups; + }; + + const get = editor => { + const getCharMap$1 = () => { + return getCharMap(editor); + }; + const insertChar$1 = chr => { + insertChar(editor, chr); + }; + return { + getCharMap: getCharMap$1, + insertChar: insertChar$1 + }; + }; + + const Cell = initial => { + let value = initial; + const get = () => { + return value; + }; + const set = v => { + value = v; + }; + return { + get, + set + }; + }; + + const last = (fn, rate) => { + let timer = null; + const cancel = () => { + if (!isNull(timer)) { + clearTimeout(timer); + timer = null; + } + }; + const throttle = (...args) => { + cancel(); + timer = setTimeout(() => { + timer = null; + fn.apply(null, args); + }, rate); + }; + return { + cancel, + throttle + }; + }; + + const contains = (str, substr, start = 0, end) => { + const idx = str.indexOf(substr, start); + if (idx !== -1) { + return isUndefined(end) ? true : idx + substr.length <= end; + } else { + return false; + } + }; + const fromCodePoint = String.fromCodePoint; + + const charMatches = (charCode, name, lowerCasePattern) => { + if (contains(fromCodePoint(charCode).toLowerCase(), lowerCasePattern)) { + return true; + } else { + return contains(name.toLowerCase(), lowerCasePattern) || contains(name.toLowerCase().replace(/\s+/g, ''), lowerCasePattern); + } + }; + const scan = (group, pattern) => { + const matches = []; + const lowerCasePattern = pattern.toLowerCase(); + each(group.characters, g => { + if (charMatches(g[0], g[1], lowerCasePattern)) { + matches.push(g); + } + }); + return map(matches, m => ({ + text: m[1], + value: fromCodePoint(m[0]), + icon: fromCodePoint(m[0]) + })); + }; + + const patternName = 'pattern'; + const open = (editor, charMap) => { + const makeGroupItems = () => [ + { + label: 'Search', + type: 'input', + name: patternName + }, + { + type: 'collection', + name: 'results' + } + ]; + const makeTabs = () => map(charMap, charGroup => ({ + title: charGroup.name, + name: charGroup.name, + items: makeGroupItems() + })); + const makePanel = () => ({ + type: 'panel', + items: makeGroupItems() + }); + const makeTabPanel = () => ({ + type: 'tabpanel', + tabs: makeTabs() + }); + const currentTab = charMap.length === 1 ? Cell(UserDefined) : Cell('All'); + const scanAndSet = (dialogApi, pattern) => { + find(charMap, group => group.name === currentTab.get()).each(f => { + const items = scan(f, pattern); + dialogApi.setData({ results: items }); + }); + }; + const SEARCH_DELAY = 40; + const updateFilter = last(dialogApi => { + const pattern = dialogApi.getData().pattern; + scanAndSet(dialogApi, pattern); + }, SEARCH_DELAY); + const body = charMap.length === 1 ? makePanel() : makeTabPanel(); + const initialData = { + pattern: '', + results: scan(charMap[0], '') + }; + const bridgeSpec = { + title: 'Special Character', + size: 'normal', + body, + buttons: [{ + type: 'cancel', + name: 'close', + text: 'Close', + primary: true + }], + initialData, + onAction: (api, details) => { + if (details.name === 'results') { + insertChar(editor, details.value); + api.close(); + } + }, + onTabChange: (dialogApi, details) => { + currentTab.set(details.newTabName); + updateFilter.throttle(dialogApi); + }, + onChange: (dialogApi, changeData) => { + if (changeData.name === patternName) { + updateFilter.throttle(dialogApi); + } + } + }; + const dialogApi = editor.windowManager.open(bridgeSpec); + dialogApi.focus(patternName); + }; + + const register$1 = (editor, charMap) => { + editor.addCommand('mceShowCharmap', () => { + open(editor, charMap); + }); + }; + + const init = (editor, all) => { + editor.ui.registry.addAutocompleter('charmap', { + trigger: ':', + columns: 'auto', + minChars: 2, + fetch: (pattern, _maxResults) => new Promise((resolve, _reject) => { + resolve(scan(all, pattern)); + }), + onAction: (autocompleteApi, rng, value) => { + editor.selection.setRng(rng); + editor.insertContent(value); + autocompleteApi.hide(); + } + }); + }; + + const onSetupEditable = editor => api => { + const nodeChanged = () => { + api.setEnabled(editor.selection.isEditable()); + }; + editor.on('NodeChange', nodeChanged); + nodeChanged(); + return () => { + editor.off('NodeChange', nodeChanged); + }; + }; + const register = editor => { + const onAction = () => editor.execCommand('mceShowCharmap'); + editor.ui.registry.addButton('charmap', { + icon: 'insert-character', + tooltip: 'Special character', + onAction, + onSetup: onSetupEditable(editor) + }); + editor.ui.registry.addMenuItem('charmap', { + icon: 'insert-character', + text: 'Special character...', + onAction, + onSetup: onSetupEditable(editor) + }); + }; + + var Plugin = () => { + global$1.add('charmap', editor => { + register$2(editor); + const charMap = getCharMap(editor); + register$1(editor, charMap); + register(editor); + init(editor, charMap[0]); + return get(editor); + }); + }; + + Plugin(); + +})(); diff --git a/public/tools/cloud_notes/tinymce/plugins/charmap/plugin.min.js b/public/tools/cloud_notes/tinymce/plugins/charmap/plugin.min.js new file mode 100644 index 0000000..9f7f1c1 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/charmap/plugin.min.js @@ -0,0 +1,4 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ +!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=(e,t)=>{const r=((e,t)=>e.dispatch("insertCustomChar",{chr:t}))(e,t).chr;e.execCommand("mceInsertContent",!1,r)},r=e=>t=>e===t,a=("array",e=>"array"===(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(r=a=e,(n=String).prototype.isPrototypeOf(r)||(null===(i=a.constructor)||void 0===i?void 0:i.name)===n.name)?"string":t;var r,a,n,i})(e));const n=r(null),i=r(void 0),o=e=>"function"==typeof e,s=(!1,()=>false);class l{constructor(e,t){this.tag=e,this.value=t}static some(e){return new l(!0,e)}static none(){return l.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?l.some(e(this.value)):l.none()}bind(e){return this.tag?e(this.value):l.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:l.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return null==e?l.none():l.some(e)}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}l.singletonNone=new l(!1);const c=Array.prototype.push,u=(e,t)=>{const r=e.length,a=new Array(r);for(let n=0;nt=>t.options.get(e),m=h("charmap"),p=h("charmap_append"),d=g.isArray,f="User Defined",y=e=>{return d(e)?(t=e,g.grep(t,(e=>d(e)&&2===e.length))):"function"==typeof e?e():[];var t},b=e=>{const t=((e,t)=>{const r=m(e);r&&(t=[{name:f,characters:y(r)}]);const a=p(e);if(a){const e=g.grep(t,(e=>e.name===f));return e.length?(e[0].characters=[...e[0].characters,...y(a)],t):t.concat({name:f,characters:y(a)})}return t})(e,[{name:"Currency",characters:[[36,"dollar sign"],[162,"cent sign"],[8364,"euro sign"],[163,"pound sign"],[165,"yen sign"],[164,"currency sign"],[8352,"euro-currency sign"],[8353,"colon sign"],[8354,"cruzeiro sign"],[8355,"french franc sign"],[8356,"lira sign"],[8357,"mill sign"],[8358,"naira sign"],[8359,"peseta sign"],[8360,"rupee sign"],[8361,"won sign"],[8362,"new sheqel sign"],[8363,"dong sign"],[8365,"kip sign"],[8366,"tugrik sign"],[8367,"drachma sign"],[8368,"german penny symbol"],[8369,"peso sign"],[8370,"guarani sign"],[8371,"austral sign"],[8372,"hryvnia sign"],[8373,"cedi sign"],[8374,"livre tournois sign"],[8375,"spesmilo sign"],[8376,"tenge sign"],[8377,"indian rupee sign"],[8378,"turkish lira sign"],[8379,"nordic mark sign"],[8380,"manat sign"],[8381,"ruble sign"],[20870,"yen character"],[20803,"yuan character"],[22291,"yuan character, in hong kong and taiwan"],[22278,"yen/yuan character variant one"]]},{name:"Text",characters:[[169,"copyright sign"],[174,"registered sign"],[8482,"trade mark sign"],[8240,"per mille sign"],[181,"micro sign"],[183,"middle dot"],[8226,"bullet"],[8230,"three dot leader"],[8242,"minutes / feet"],[8243,"seconds / inches"],[167,"section sign"],[182,"paragraph sign"],[223,"sharp s / ess-zed"]]},{name:"Quotations",characters:[[8249,"single left-pointing angle quotation mark"],[8250,"single right-pointing angle quotation mark"],[171,"left pointing guillemet"],[187,"right pointing guillemet"],[8216,"left single quotation mark"],[8217,"right single quotation mark"],[8220,"left double quotation mark"],[8221,"right double quotation mark"],[8218,"single low-9 quotation mark"],[8222,"double low-9 quotation mark"],[60,"less-than sign"],[62,"greater-than sign"],[8804,"less-than or equal to"],[8805,"greater-than or equal to"],[8211,"en dash"],[8212,"em dash"],[175,"macron"],[8254,"overline"],[164,"currency sign"],[166,"broken bar"],[168,"diaeresis"],[161,"inverted exclamation mark"],[191,"turned question mark"],[710,"circumflex accent"],[732,"small tilde"],[176,"degree sign"],[8722,"minus sign"],[177,"plus-minus sign"],[247,"division sign"],[8260,"fraction slash"],[215,"multiplication sign"],[185,"superscript one"],[178,"superscript two"],[179,"superscript three"],[188,"fraction one quarter"],[189,"fraction one half"],[190,"fraction three quarters"]]},{name:"Mathematical",characters:[[402,"function / florin"],[8747,"integral"],[8721,"n-ary sumation"],[8734,"infinity"],[8730,"square root"],[8764,"similar to"],[8773,"approximately equal to"],[8776,"almost equal to"],[8800,"not equal to"],[8801,"identical to"],[8712,"element of"],[8713,"not an element of"],[8715,"contains as member"],[8719,"n-ary product"],[8743,"logical and"],[8744,"logical or"],[172,"not sign"],[8745,"intersection"],[8746,"union"],[8706,"partial differential"],[8704,"for all"],[8707,"there exists"],[8709,"diameter"],[8711,"backward difference"],[8727,"asterisk operator"],[8733,"proportional to"],[8736,"angle"]]},{name:"Extended Latin",characters:[[192,"A - grave"],[193,"A - acute"],[194,"A - circumflex"],[195,"A - tilde"],[196,"A - diaeresis"],[197,"A - ring above"],[256,"A - macron"],[198,"ligature AE"],[199,"C - cedilla"],[200,"E - grave"],[201,"E - acute"],[202,"E - circumflex"],[203,"E - diaeresis"],[274,"E - macron"],[204,"I - grave"],[205,"I - acute"],[206,"I - circumflex"],[207,"I - diaeresis"],[298,"I - macron"],[208,"ETH"],[209,"N - tilde"],[210,"O - grave"],[211,"O - acute"],[212,"O - circumflex"],[213,"O - tilde"],[214,"O - diaeresis"],[216,"O - slash"],[332,"O - macron"],[338,"ligature OE"],[352,"S - caron"],[217,"U - grave"],[218,"U - acute"],[219,"U - circumflex"],[220,"U - diaeresis"],[362,"U - macron"],[221,"Y - acute"],[376,"Y - diaeresis"],[562,"Y - macron"],[222,"THORN"],[224,"a - grave"],[225,"a - acute"],[226,"a - circumflex"],[227,"a - tilde"],[228,"a - diaeresis"],[229,"a - ring above"],[257,"a - macron"],[230,"ligature ae"],[231,"c - cedilla"],[232,"e - grave"],[233,"e - acute"],[234,"e - circumflex"],[235,"e - diaeresis"],[275,"e - macron"],[236,"i - grave"],[237,"i - acute"],[238,"i - circumflex"],[239,"i - diaeresis"],[299,"i - macron"],[240,"eth"],[241,"n - tilde"],[242,"o - grave"],[243,"o - acute"],[244,"o - circumflex"],[245,"o - tilde"],[246,"o - diaeresis"],[248,"o slash"],[333,"o macron"],[339,"ligature oe"],[353,"s - caron"],[249,"u - grave"],[250,"u - acute"],[251,"u - circumflex"],[252,"u - diaeresis"],[363,"u - macron"],[253,"y - acute"],[254,"thorn"],[255,"y - diaeresis"],[563,"y - macron"],[913,"Alpha"],[914,"Beta"],[915,"Gamma"],[916,"Delta"],[917,"Epsilon"],[918,"Zeta"],[919,"Eta"],[920,"Theta"],[921,"Iota"],[922,"Kappa"],[923,"Lambda"],[924,"Mu"],[925,"Nu"],[926,"Xi"],[927,"Omicron"],[928,"Pi"],[929,"Rho"],[931,"Sigma"],[932,"Tau"],[933,"Upsilon"],[934,"Phi"],[935,"Chi"],[936,"Psi"],[937,"Omega"],[945,"alpha"],[946,"beta"],[947,"gamma"],[948,"delta"],[949,"epsilon"],[950,"zeta"],[951,"eta"],[952,"theta"],[953,"iota"],[954,"kappa"],[955,"lambda"],[956,"mu"],[957,"nu"],[958,"xi"],[959,"omicron"],[960,"pi"],[961,"rho"],[962,"final sigma"],[963,"sigma"],[964,"tau"],[965,"upsilon"],[966,"phi"],[967,"chi"],[968,"psi"],[969,"omega"]]},{name:"Symbols",characters:[[8501,"alef symbol"],[982,"pi symbol"],[8476,"real part symbol"],[978,"upsilon - hook symbol"],[8472,"Weierstrass p"],[8465,"imaginary part"]]},{name:"Arrows",characters:[[8592,"leftwards arrow"],[8593,"upwards arrow"],[8594,"rightwards arrow"],[8595,"downwards arrow"],[8596,"left right arrow"],[8629,"carriage return"],[8656,"leftwards double arrow"],[8657,"upwards double arrow"],[8658,"rightwards double arrow"],[8659,"downwards double arrow"],[8660,"left right double arrow"],[8756,"therefore"],[8834,"subset of"],[8835,"superset of"],[8836,"not a subset of"],[8838,"subset of or equal to"],[8839,"superset of or equal to"],[8853,"circled plus"],[8855,"circled times"],[8869,"perpendicular"],[8901,"dot operator"],[8968,"left ceiling"],[8969,"right ceiling"],[8970,"left floor"],[8971,"right floor"],[9001,"left-pointing angle bracket"],[9002,"right-pointing angle bracket"],[9674,"lozenge"],[9824,"black spade suit"],[9827,"black club suit"],[9829,"black heart suit"],[9830,"black diamond suit"],[8194,"en space"],[8195,"em space"],[8201,"thin space"],[8204,"zero width non-joiner"],[8205,"zero width joiner"],[8206,"left-to-right mark"],[8207,"right-to-left mark"]]}]);return t.length>1?[{name:"All",characters:(r=t,n=e=>e.characters,(e=>{const t=[];for(let r=0,n=e.length;r{let t=e;return{get:()=>t,set:e=>{t=e}}},v=(e,t,r=0,a)=>{const n=e.indexOf(t,r);return-1!==n&&(!!i(a)||n+t.length<=a)},k=String.fromCodePoint,C=(e,t)=>{const r=[],a=t.toLowerCase();return((e,t)=>{for(let t=0,i=e.length;t!!v(k(e).toLowerCase(),r)||v(t.toLowerCase(),r)||v(t.toLowerCase().replace(/\s+/g,""),r))((n=e[t])[0],n[1],a)&&r.push(n);var n})(e.characters),u(r,(e=>({text:e[1],value:k(e[0]),icon:k(e[0])})))},x="pattern",A=(e,r)=>{const a=()=>[{label:"Search",type:"input",name:x},{type:"collection",name:"results"}],i=1===r.length?w(f):w("All"),o=((e,t)=>{let r=null;const a=()=>{n(r)||(clearTimeout(r),r=null)};return{cancel:a,throttle:(...t)=>{a(),r=setTimeout((()=>{r=null,e.apply(null,t)}),40)}}})((e=>{const t=e.getData().pattern;((e,t)=>{var a,n;(a=r,n=e=>e.name===i.get(),((e,t,r)=>{for(let a=0,n=e.length;a{const a=C(r,t);e.setData({results:a})}))})(e,t)})),c={title:"Special Character",size:"normal",body:1===r.length?{type:"panel",items:a()}:{type:"tabpanel",tabs:u(r,(e=>({title:e.name,name:e.name,items:a()})))},buttons:[{type:"cancel",name:"close",text:"Close",primary:!0}],initialData:{pattern:"",results:C(r[0],"")},onAction:(r,a)=>{"results"===a.name&&(t(e,a.value),r.close())},onTabChange:(e,t)=>{i.set(t.newTabName),o.throttle(e)},onChange:(e,t)=>{t.name===x&&o.throttle(e)}};e.windowManager.open(c).focus(x)},q=e=>t=>{const r=()=>{t.setEnabled(e.selection.isEditable())};return e.on("NodeChange",r),r(),()=>{e.off("NodeChange",r)}};e.add("charmap",(e=>{(e=>{const t=e.options.register,r=e=>o(e)||a(e);t("charmap",{processor:r}),t("charmap_append",{processor:r})})(e);const r=b(e);return((e,t)=>{e.addCommand("mceShowCharmap",(()=>{A(e,t)}))})(e,r),(e=>{const t=()=>e.execCommand("mceShowCharmap");e.ui.registry.addButton("charmap",{icon:"insert-character",tooltip:"Special character",onAction:t,onSetup:q(e)}),e.ui.registry.addMenuItem("charmap",{icon:"insert-character",text:"Special character...",onAction:t,onSetup:q(e)})})(e),((e,t)=>{e.ui.registry.addAutocompleter("charmap",{trigger:":",columns:"auto",minChars:2,fetch:(e,r)=>new Promise(((r,a)=>{r(C(t,e))})),onAction:(t,r,a)=>{e.selection.setRng(r),e.insertContent(a),t.hide()}})})(e,r[0]),(e=>({getCharMap:()=>b(e),insertChar:r=>{t(e,r)}}))(e)}))}(); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/code/index.js b/public/tools/cloud_notes/tinymce/plugins/code/index.js new file mode 100644 index 0000000..1e412f3 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/code/index.js @@ -0,0 +1,7 @@ +// Exports the "code" plugin for usage with module loaders +// Usage: +// CommonJS: +// require('tinymce/plugins/code') +// ES2015: +// import 'tinymce/plugins/code' +require('./plugin.js'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/code/plugin.js b/public/tools/cloud_notes/tinymce/plugins/code/plugin.js new file mode 100644 index 0000000..7c1ee19 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/code/plugin.js @@ -0,0 +1,85 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ + +(function () { + 'use strict'; + + var global = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + const setContent = (editor, html) => { + editor.focus(); + editor.undoManager.transact(() => { + editor.setContent(html); + }); + editor.selection.setCursorLocation(); + editor.nodeChanged(); + }; + const getContent = editor => { + return editor.getContent({ source_view: true }); + }; + + const open = editor => { + const editorContent = getContent(editor); + editor.windowManager.open({ + title: 'Source Code', + size: 'large', + body: { + type: 'panel', + items: [{ + type: 'textarea', + name: 'code' + }] + }, + buttons: [ + { + type: 'cancel', + name: 'cancel', + text: 'Cancel' + }, + { + type: 'submit', + name: 'save', + text: 'Save', + primary: true + } + ], + initialData: { code: editorContent }, + onSubmit: api => { + setContent(editor, api.getData().code); + api.close(); + } + }); + }; + + const register$1 = editor => { + editor.addCommand('mceCodeEditor', () => { + open(editor); + }); + }; + + const register = editor => { + const onAction = () => editor.execCommand('mceCodeEditor'); + editor.ui.registry.addButton('code', { + icon: 'sourcecode', + tooltip: 'Source code', + onAction + }); + editor.ui.registry.addMenuItem('code', { + icon: 'sourcecode', + text: 'Source code', + onAction + }); + }; + + var Plugin = () => { + global.add('code', editor => { + register$1(editor); + register(editor); + return {}; + }); + }; + + Plugin(); + +})(); diff --git a/public/tools/cloud_notes/tinymce/plugins/code/plugin.min.js b/public/tools/cloud_notes/tinymce/plugins/code/plugin.min.js new file mode 100644 index 0000000..a76b498 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/code/plugin.min.js @@ -0,0 +1,4 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ +!function(){"use strict";tinymce.util.Tools.resolve("tinymce.PluginManager").add("code",(e=>((e=>{e.addCommand("mceCodeEditor",(()=>{(e=>{const o=(e=>e.getContent({source_view:!0}))(e);e.windowManager.open({title:"Source Code",size:"large",body:{type:"panel",items:[{type:"textarea",name:"code"}]},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:{code:o},onSubmit:o=>{((e,o)=>{e.focus(),e.undoManager.transact((()=>{e.setContent(o)})),e.selection.setCursorLocation(),e.nodeChanged()})(e,o.getData().code),o.close()}})})(e)}))})(e),(e=>{const o=()=>e.execCommand("mceCodeEditor");e.ui.registry.addButton("code",{icon:"sourcecode",tooltip:"Source code",onAction:o}),e.ui.registry.addMenuItem("code",{icon:"sourcecode",text:"Source code",onAction:o})})(e),{})))}(); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/codesample/index.js b/public/tools/cloud_notes/tinymce/plugins/codesample/index.js new file mode 100644 index 0000000..c400ec3 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/codesample/index.js @@ -0,0 +1,7 @@ +// Exports the "codesample" plugin for usage with module loaders +// Usage: +// CommonJS: +// require('tinymce/plugins/codesample') +// ES2015: +// import 'tinymce/plugins/codesample' +require('./plugin.js'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/codesample/plugin.js b/public/tools/cloud_notes/tinymce/plugins/codesample/plugin.js new file mode 100644 index 0000000..f69fddd --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/codesample/plugin.js @@ -0,0 +1,2463 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ + +(function () { + 'use strict'; + + var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + const isNullable = a => a === null || a === undefined; + const isNonNullable = a => !isNullable(a); + + const noop = () => { + }; + const constant = value => { + return () => { + return value; + }; + }; + + class Optional { + constructor(tag, value) { + this.tag = tag; + this.value = value; + } + static some(value) { + return new Optional(true, value); + } + static none() { + return Optional.singletonNone; + } + fold(onNone, onSome) { + if (this.tag) { + return onSome(this.value); + } else { + return onNone(); + } + } + isSome() { + return this.tag; + } + isNone() { + return !this.tag; + } + map(mapper) { + if (this.tag) { + return Optional.some(mapper(this.value)); + } else { + return Optional.none(); + } + } + bind(binder) { + if (this.tag) { + return binder(this.value); + } else { + return Optional.none(); + } + } + exists(predicate) { + return this.tag && predicate(this.value); + } + forall(predicate) { + return !this.tag || predicate(this.value); + } + filter(predicate) { + if (!this.tag || predicate(this.value)) { + return this; + } else { + return Optional.none(); + } + } + getOr(replacement) { + return this.tag ? this.value : replacement; + } + or(replacement) { + return this.tag ? this : replacement; + } + getOrThunk(thunk) { + return this.tag ? this.value : thunk(); + } + orThunk(thunk) { + return this.tag ? this : thunk(); + } + getOrDie(message) { + if (!this.tag) { + throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None'); + } else { + return this.value; + } + } + static from(value) { + return isNonNullable(value) ? Optional.some(value) : Optional.none(); + } + getOrNull() { + return this.tag ? this.value : null; + } + getOrUndefined() { + return this.value; + } + each(worker) { + if (this.tag) { + worker(this.value); + } + } + toArray() { + return this.tag ? [this.value] : []; + } + toString() { + return this.tag ? `some(${ this.value })` : 'none()'; + } + } + Optional.singletonNone = new Optional(false); + + const get$1 = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none(); + const head = xs => get$1(xs, 0); + + var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils'); + + const Global = typeof window !== 'undefined' ? window : Function('return this;')(); + + const prismjs = function (global, module, exports) { + const oldprism = window.Prism; + window.Prism = { manual: true }; + var _self = typeof window !== 'undefined' ? window : typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope ? self : {}; + var Prism = function (_self) { + var lang = /(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i; + var uniqueId = 0; + var plainTextGrammar = {}; + var _ = { + manual: _self.Prism && _self.Prism.manual, + disableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler, + util: { + encode: function encode(tokens) { + if (tokens instanceof Token) { + return new Token(tokens.type, encode(tokens.content), tokens.alias); + } else if (Array.isArray(tokens)) { + return tokens.map(encode); + } else { + return tokens.replace(/&/g, '&').replace(/' + env.content + ''; + }; + function matchPattern(pattern, pos, text, lookbehind) { + pattern.lastIndex = pos; + var match = pattern.exec(text); + if (match && lookbehind && match[1]) { + var lookbehindLength = match[1].length; + match.index += lookbehindLength; + match[0] = match[0].slice(lookbehindLength); + } + return match; + } + function matchGrammar(text, tokenList, grammar, startNode, startPos, rematch) { + for (var token in grammar) { + if (!grammar.hasOwnProperty(token) || !grammar[token]) { + continue; + } + var patterns = grammar[token]; + patterns = Array.isArray(patterns) ? patterns : [patterns]; + for (var j = 0; j < patterns.length; ++j) { + if (rematch && rematch.cause == token + ',' + j) { + return; + } + var patternObj = patterns[j]; + var inside = patternObj.inside; + var lookbehind = !!patternObj.lookbehind; + var greedy = !!patternObj.greedy; + var alias = patternObj.alias; + if (greedy && !patternObj.pattern.global) { + var flags = patternObj.pattern.toString().match(/[imsuy]*$/)[0]; + patternObj.pattern = RegExp(patternObj.pattern.source, flags + 'g'); + } + var pattern = patternObj.pattern || patternObj; + for (var currentNode = startNode.next, pos = startPos; currentNode !== tokenList.tail; pos += currentNode.value.length, currentNode = currentNode.next) { + if (rematch && pos >= rematch.reach) { + break; + } + var str = currentNode.value; + if (tokenList.length > text.length) { + return; + } + if (str instanceof Token) { + continue; + } + var removeCount = 1; + var match; + if (greedy) { + match = matchPattern(pattern, pos, text, lookbehind); + if (!match || match.index >= text.length) { + break; + } + var from = match.index; + var to = match.index + match[0].length; + var p = pos; + p += currentNode.value.length; + while (from >= p) { + currentNode = currentNode.next; + p += currentNode.value.length; + } + p -= currentNode.value.length; + pos = p; + if (currentNode.value instanceof Token) { + continue; + } + for (var k = currentNode; k !== tokenList.tail && (p < to || typeof k.value === 'string'); k = k.next) { + removeCount++; + p += k.value.length; + } + removeCount--; + str = text.slice(pos, p); + match.index -= pos; + } else { + match = matchPattern(pattern, 0, str, lookbehind); + if (!match) { + continue; + } + } + var from = match.index; + var matchStr = match[0]; + var before = str.slice(0, from); + var after = str.slice(from + matchStr.length); + var reach = pos + str.length; + if (rematch && reach > rematch.reach) { + rematch.reach = reach; + } + var removeFrom = currentNode.prev; + if (before) { + removeFrom = addAfter(tokenList, removeFrom, before); + pos += before.length; + } + removeRange(tokenList, removeFrom, removeCount); + var wrapped = new Token(token, inside ? _.tokenize(matchStr, inside) : matchStr, alias, matchStr); + currentNode = addAfter(tokenList, removeFrom, wrapped); + if (after) { + addAfter(tokenList, currentNode, after); + } + if (removeCount > 1) { + var nestedRematch = { + cause: token + ',' + j, + reach: reach + }; + matchGrammar(text, tokenList, grammar, currentNode.prev, pos, nestedRematch); + if (rematch && nestedRematch.reach > rematch.reach) { + rematch.reach = nestedRematch.reach; + } + } + } + } + } + } + function LinkedList() { + var head = { + value: null, + prev: null, + next: null + }; + var tail = { + value: null, + prev: head, + next: null + }; + head.next = tail; + this.head = head; + this.tail = tail; + this.length = 0; + } + function addAfter(list, node, value) { + var next = node.next; + var newNode = { + value: value, + prev: node, + next: next + }; + node.next = newNode; + next.prev = newNode; + list.length++; + return newNode; + } + function removeRange(list, node, count) { + var next = node.next; + for (var i = 0; i < count && next !== list.tail; i++) { + next = next.next; + } + node.next = next; + next.prev = node; + list.length -= i; + } + function toArray(list) { + var array = []; + var node = list.head.next; + while (node !== list.tail) { + array.push(node.value); + node = node.next; + } + return array; + } + if (!_self.document) { + if (!_self.addEventListener) { + return _; + } + if (!_.disableWorkerMessageHandler) { + _self.addEventListener('message', function (evt) { + var message = JSON.parse(evt.data); + var lang = message.language; + var code = message.code; + var immediateClose = message.immediateClose; + _self.postMessage(_.highlight(code, _.languages[lang], lang)); + if (immediateClose) { + _self.close(); + } + }, false); + } + return _; + } + var script = _.util.currentScript(); + if (script) { + _.filename = script.src; + if (script.hasAttribute('data-manual')) { + _.manual = true; + } + } + function highlightAutomaticallyCallback() { + if (!_.manual) { + _.highlightAll(); + } + } + if (!_.manual) { + var readyState = document.readyState; + if (readyState === 'loading' || readyState === 'interactive' && script && script.defer) { + document.addEventListener('DOMContentLoaded', highlightAutomaticallyCallback); + } else { + if (window.requestAnimationFrame) { + window.requestAnimationFrame(highlightAutomaticallyCallback); + } else { + window.setTimeout(highlightAutomaticallyCallback, 16); + } + } + } + return _; + }(_self); + if (typeof module !== 'undefined' && module.exports) { + module.exports = Prism; + } + if (typeof global !== 'undefined') { + global.Prism = Prism; + } + Prism.languages.clike = { + 'comment': [ + { + pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/, + lookbehind: true, + greedy: true + }, + { + pattern: /(^|[^\\:])\/\/.*/, + lookbehind: true, + greedy: true + } + ], + 'string': { + pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, + greedy: true + }, + 'class-name': { + pattern: /(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i, + lookbehind: true, + inside: { 'punctuation': /[.\\]/ } + }, + 'keyword': /\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/, + 'boolean': /\b(?:false|true)\b/, + 'function': /\b\w+(?=\()/, + 'number': /\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i, + 'operator': /[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/, + 'punctuation': /[{}[\];(),.:]/ + }; + (function (Prism) { + function getPlaceholder(language, index) { + return '___' + language.toUpperCase() + index + '___'; + } + Object.defineProperties(Prism.languages['markup-templating'] = {}, { + buildPlaceholders: { + value: function (env, language, placeholderPattern, replaceFilter) { + if (env.language !== language) { + return; + } + var tokenStack = env.tokenStack = []; + env.code = env.code.replace(placeholderPattern, function (match) { + if (typeof replaceFilter === 'function' && !replaceFilter(match)) { + return match; + } + var i = tokenStack.length; + var placeholder; + while (env.code.indexOf(placeholder = getPlaceholder(language, i)) !== -1) { + ++i; + } + tokenStack[i] = match; + return placeholder; + }); + env.grammar = Prism.languages.markup; + } + }, + tokenizePlaceholders: { + value: function (env, language) { + if (env.language !== language || !env.tokenStack) { + return; + } + env.grammar = Prism.languages[language]; + var j = 0; + var keys = Object.keys(env.tokenStack); + function walkTokens(tokens) { + for (var i = 0; i < tokens.length; i++) { + if (j >= keys.length) { + break; + } + var token = tokens[i]; + if (typeof token === 'string' || token.content && typeof token.content === 'string') { + var k = keys[j]; + var t = env.tokenStack[k]; + var s = typeof token === 'string' ? token : token.content; + var placeholder = getPlaceholder(language, k); + var index = s.indexOf(placeholder); + if (index > -1) { + ++j; + var before = s.substring(0, index); + var middle = new Prism.Token(language, Prism.tokenize(t, env.grammar), 'language-' + language, t); + var after = s.substring(index + placeholder.length); + var replacement = []; + if (before) { + replacement.push.apply(replacement, walkTokens([before])); + } + replacement.push(middle); + if (after) { + replacement.push.apply(replacement, walkTokens([after])); + } + if (typeof token === 'string') { + tokens.splice.apply(tokens, [ + i, + 1 + ].concat(replacement)); + } else { + token.content = replacement; + } + } + } else if (token.content) { + walkTokens(token.content); + } + } + return tokens; + } + walkTokens(env.tokens); + } + } + }); + }(Prism)); + Prism.languages.c = Prism.languages.extend('clike', { + 'comment': { + pattern: /\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/, + greedy: true + }, + 'string': { + pattern: /"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/, + greedy: true + }, + 'class-name': { + pattern: /(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/, + lookbehind: true + }, + 'keyword': /\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/, + 'function': /\b[a-z_]\w*(?=\s*\()/i, + 'number': /(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i, + 'operator': />>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/ + }); + Prism.languages.insertBefore('c', 'string', { + 'char': { + pattern: /'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/, + greedy: true + } + }); + Prism.languages.insertBefore('c', 'string', { + 'macro': { + pattern: /(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im, + lookbehind: true, + greedy: true, + alias: 'property', + inside: { + 'string': [ + { + pattern: /^(#\s*include\s*)<[^>]+>/, + lookbehind: true + }, + Prism.languages.c['string'] + ], + 'char': Prism.languages.c['char'], + 'comment': Prism.languages.c['comment'], + 'macro-name': [ + { + pattern: /(^#\s*define\s+)\w+\b(?!\()/i, + lookbehind: true + }, + { + pattern: /(^#\s*define\s+)\w+\b(?=\()/i, + lookbehind: true, + alias: 'function' + } + ], + 'directive': { + pattern: /^(#\s*)[a-z]+/, + lookbehind: true, + alias: 'keyword' + }, + 'directive-hash': /^#/, + 'punctuation': /##|\\(?=[\r\n])/, + 'expression': { + pattern: /\S[\s\S]*/, + inside: Prism.languages.c + } + } + } + }); + Prism.languages.insertBefore('c', 'function', { 'constant': /\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/ }); + delete Prism.languages.c['boolean']; + (function (Prism) { + var keyword = /\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/; + var modName = /\b(?!)\w+(?:\s*\.\s*\w+)*\b/.source.replace(//g, function () { + return keyword.source; + }); + Prism.languages.cpp = Prism.languages.extend('c', { + 'class-name': [ + { + pattern: RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!)\w+/.source.replace(//g, function () { + return keyword.source; + })), + lookbehind: true + }, + /\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/, + /\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i, + /\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/ + ], + 'keyword': keyword, + 'number': { + pattern: /(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i, + greedy: true + }, + 'operator': />>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/, + 'boolean': /\b(?:false|true)\b/ + }); + Prism.languages.insertBefore('cpp', 'string', { + 'module': { + pattern: RegExp(/(\b(?:import|module)\s+)/.source + '(?:' + /"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source + '|' + /(?:\s*:\s*)?|:\s*/.source.replace(//g, function () { + return modName; + }) + ')'), + lookbehind: true, + greedy: true, + inside: { + 'string': /^[<"][\s\S]+/, + 'operator': /:/, + 'punctuation': /\./ + } + }, + 'raw-string': { + pattern: /R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/, + alias: 'string', + greedy: true + } + }); + Prism.languages.insertBefore('cpp', 'keyword', { + 'generic-function': { + pattern: /\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i, + inside: { + 'function': /^\w+/, + 'generic': { + pattern: /<[\s\S]+/, + alias: 'class-name', + inside: Prism.languages.cpp + } + } + } + }); + Prism.languages.insertBefore('cpp', 'operator', { + 'double-colon': { + pattern: /::/, + alias: 'punctuation' + } + }); + Prism.languages.insertBefore('cpp', 'class-name', { + 'base-clause': { + pattern: /(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/, + lookbehind: true, + greedy: true, + inside: Prism.languages.extend('cpp', {}) + } + }); + Prism.languages.insertBefore('inside', 'double-colon', { 'class-name': /\b[a-z_]\w*\b(?!\s*::)/i }, Prism.languages.cpp['base-clause']); + }(Prism)); + (function (Prism) { + function replace(pattern, replacements) { + return pattern.replace(/<<(\d+)>>/g, function (m, index) { + return '(?:' + replacements[+index] + ')'; + }); + } + function re(pattern, replacements, flags) { + return RegExp(replace(pattern, replacements), flags || ''); + } + function nested(pattern, depthLog2) { + for (var i = 0; i < depthLog2; i++) { + pattern = pattern.replace(/<>/g, function () { + return '(?:' + pattern + ')'; + }); + } + return pattern.replace(/<>/g, '[^\\s\\S]'); + } + var keywordKinds = { + type: 'bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void', + typeDeclaration: 'class enum interface record struct', + contextual: 'add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)', + other: 'abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield' + }; + function keywordsToPattern(words) { + return '\\b(?:' + words.trim().replace(/ /g, '|') + ')\\b'; + } + var typeDeclarationKeywords = keywordsToPattern(keywordKinds.typeDeclaration); + var keywords = RegExp(keywordsToPattern(keywordKinds.type + ' ' + keywordKinds.typeDeclaration + ' ' + keywordKinds.contextual + ' ' + keywordKinds.other)); + var nonTypeKeywords = keywordsToPattern(keywordKinds.typeDeclaration + ' ' + keywordKinds.contextual + ' ' + keywordKinds.other); + var nonContextualKeywords = keywordsToPattern(keywordKinds.type + ' ' + keywordKinds.typeDeclaration + ' ' + keywordKinds.other); + var generic = nested(/<(?:[^<>;=+\-*/%&|^]|<>)*>/.source, 2); + var nestedRound = nested(/\((?:[^()]|<>)*\)/.source, 2); + var name = /@?\b[A-Za-z_]\w*\b/.source; + var genericName = replace(/<<0>>(?:\s*<<1>>)?/.source, [ + name, + generic + ]); + var identifier = replace(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source, [ + nonTypeKeywords, + genericName + ]); + var array = /\[\s*(?:,\s*)*\]/.source; + var typeExpressionWithoutTuple = replace(/<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source, [ + identifier, + array + ]); + var tupleElement = replace(/[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source, [ + generic, + nestedRound, + array + ]); + var tuple = replace(/\(<<0>>+(?:,<<0>>+)+\)/.source, [tupleElement]); + var typeExpression = replace(/(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source, [ + tuple, + identifier, + array + ]); + var typeInside = { + 'keyword': keywords, + 'punctuation': /[<>()?,.:[\]]/ + }; + var character = /'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source; + var regularString = /"(?:\\.|[^\\"\r\n])*"/.source; + var verbatimString = /@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source; + Prism.languages.csharp = Prism.languages.extend('clike', { + 'string': [ + { + pattern: re(/(^|[^$\\])<<0>>/.source, [verbatimString]), + lookbehind: true, + greedy: true + }, + { + pattern: re(/(^|[^@$\\])<<0>>/.source, [regularString]), + lookbehind: true, + greedy: true + } + ], + 'class-name': [ + { + pattern: re(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source, [identifier]), + lookbehind: true, + inside: typeInside + }, + { + pattern: re(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source, [ + name, + typeExpression + ]), + lookbehind: true, + inside: typeInside + }, + { + pattern: re(/(\busing\s+)<<0>>(?=\s*=)/.source, [name]), + lookbehind: true + }, + { + pattern: re(/(\b<<0>>\s+)<<1>>/.source, [ + typeDeclarationKeywords, + genericName + ]), + lookbehind: true, + inside: typeInside + }, + { + pattern: re(/(\bcatch\s*\(\s*)<<0>>/.source, [identifier]), + lookbehind: true, + inside: typeInside + }, + { + pattern: re(/(\bwhere\s+)<<0>>/.source, [name]), + lookbehind: true + }, + { + pattern: re(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source, [typeExpressionWithoutTuple]), + lookbehind: true, + inside: typeInside + }, + { + pattern: re(/\b<<0>>(?=\s+(?!<<1>>|with\s*\{)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/.source, [ + typeExpression, + nonContextualKeywords, + name + ]), + inside: typeInside + } + ], + 'keyword': keywords, + 'number': /(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i, + 'operator': />>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/, + 'punctuation': /\?\.?|::|[{}[\];(),.:]/ + }); + Prism.languages.insertBefore('csharp', 'number', { + 'range': { + pattern: /\.\./, + alias: 'operator' + } + }); + Prism.languages.insertBefore('csharp', 'punctuation', { + 'named-parameter': { + pattern: re(/([(,]\s*)<<0>>(?=\s*:)/.source, [name]), + lookbehind: true, + alias: 'punctuation' + } + }); + Prism.languages.insertBefore('csharp', 'class-name', { + 'namespace': { + pattern: re(/(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/.source, [name]), + lookbehind: true, + inside: { 'punctuation': /\./ } + }, + 'type-expression': { + pattern: re(/(\b(?:default|sizeof|typeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/.source, [nestedRound]), + lookbehind: true, + alias: 'class-name', + inside: typeInside + }, + 'return-type': { + pattern: re(/<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/.source, [ + typeExpression, + identifier + ]), + inside: typeInside, + alias: 'class-name' + }, + 'constructor-invocation': { + pattern: re(/(\bnew\s+)<<0>>(?=\s*[[({])/.source, [typeExpression]), + lookbehind: true, + inside: typeInside, + alias: 'class-name' + }, + 'generic-method': { + pattern: re(/<<0>>\s*<<1>>(?=\s*\()/.source, [ + name, + generic + ]), + inside: { + 'function': re(/^<<0>>/.source, [name]), + 'generic': { + pattern: RegExp(generic), + alias: 'class-name', + inside: typeInside + } + } + }, + 'type-list': { + pattern: re(/\b((?:<<0>>\s+<<1>>|record\s+<<1>>\s*<<5>>|where\s+<<2>>)\s*:\s*)(?:<<3>>|<<4>>|<<1>>\s*<<5>>|<<6>>)(?:\s*,\s*(?:<<3>>|<<4>>|<<6>>))*(?=\s*(?:where|[{;]|=>|$))/.source, [ + typeDeclarationKeywords, + genericName, + name, + typeExpression, + keywords.source, + nestedRound, + /\bnew\s*\(\s*\)/.source + ]), + lookbehind: true, + inside: { + 'record-arguments': { + pattern: re(/(^(?!new\s*\()<<0>>\s*)<<1>>/.source, [ + genericName, + nestedRound + ]), + lookbehind: true, + greedy: true, + inside: Prism.languages.csharp + }, + 'keyword': keywords, + 'class-name': { + pattern: RegExp(typeExpression), + greedy: true, + inside: typeInside + }, + 'punctuation': /[,()]/ + } + }, + 'preprocessor': { + pattern: /(^[\t ]*)#.*/m, + lookbehind: true, + alias: 'property', + inside: { + 'directive': { + pattern: /(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/, + lookbehind: true, + alias: 'keyword' + } + } + } + }); + var regularStringOrCharacter = regularString + '|' + character; + var regularStringCharacterOrComment = replace(/\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source, [regularStringOrCharacter]); + var roundExpression = nested(replace(/[^"'/()]|<<0>>|\(<>*\)/.source, [regularStringCharacterOrComment]), 2); + var attrTarget = /\b(?:assembly|event|field|method|module|param|property|return|type)\b/.source; + var attr = replace(/<<0>>(?:\s*\(<<1>>*\))?/.source, [ + identifier, + roundExpression + ]); + Prism.languages.insertBefore('csharp', 'class-name', { + 'attribute': { + pattern: re(/((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/.source, [ + attrTarget, + attr + ]), + lookbehind: true, + greedy: true, + inside: { + 'target': { + pattern: re(/^<<0>>(?=\s*:)/.source, [attrTarget]), + alias: 'keyword' + }, + 'attribute-arguments': { + pattern: re(/\(<<0>>*\)/.source, [roundExpression]), + inside: Prism.languages.csharp + }, + 'class-name': { + pattern: RegExp(identifier), + inside: { 'punctuation': /\./ } + }, + 'punctuation': /[:,]/ + } + } + }); + var formatString = /:[^}\r\n]+/.source; + var mInterpolationRound = nested(replace(/[^"'/()]|<<0>>|\(<>*\)/.source, [regularStringCharacterOrComment]), 2); + var mInterpolation = replace(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source, [ + mInterpolationRound, + formatString + ]); + var sInterpolationRound = nested(replace(/[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<>*\)/.source, [regularStringOrCharacter]), 2); + var sInterpolation = replace(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source, [ + sInterpolationRound, + formatString + ]); + function createInterpolationInside(interpolation, interpolationRound) { + return { + 'interpolation': { + pattern: re(/((?:^|[^{])(?:\{\{)*)<<0>>/.source, [interpolation]), + lookbehind: true, + inside: { + 'format-string': { + pattern: re(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source, [ + interpolationRound, + formatString + ]), + lookbehind: true, + inside: { 'punctuation': /^:/ } + }, + 'punctuation': /^\{|\}$/, + 'expression': { + pattern: /[\s\S]+/, + alias: 'language-csharp', + inside: Prism.languages.csharp + } + } + }, + 'string': /[\s\S]+/ + }; + } + Prism.languages.insertBefore('csharp', 'string', { + 'interpolation-string': [ + { + pattern: re(/(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source, [mInterpolation]), + lookbehind: true, + greedy: true, + inside: createInterpolationInside(mInterpolation, mInterpolationRound) + }, + { + pattern: re(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source, [sInterpolation]), + lookbehind: true, + greedy: true, + inside: createInterpolationInside(sInterpolation, sInterpolationRound) + } + ], + 'char': { + pattern: RegExp(character), + greedy: true + } + }); + Prism.languages.dotnet = Prism.languages.cs = Prism.languages.csharp; + }(Prism)); + (function (Prism) { + var string = /(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/; + Prism.languages.css = { + 'comment': /\/\*[\s\S]*?\*\//, + 'atrule': { + pattern: RegExp('@[\\w-](?:' + /[^;{\s"']|\s+(?!\s)/.source + '|' + string.source + ')*?' + /(?:;|(?=\s*\{))/.source), + inside: { + 'rule': /^@[\w-]+/, + 'selector-function-argument': { + pattern: /(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/, + lookbehind: true, + alias: 'selector' + }, + 'keyword': { + pattern: /(^|[^\w-])(?:and|not|only|or)(?![\w-])/, + lookbehind: true + } + } + }, + 'url': { + pattern: RegExp('\\burl\\((?:' + string.source + '|' + /(?:[^\\\r\n()"']|\\[\s\S])*/.source + ')\\)', 'i'), + greedy: true, + inside: { + 'function': /^url/i, + 'punctuation': /^\(|\)$/, + 'string': { + pattern: RegExp('^' + string.source + '$'), + alias: 'url' + } + } + }, + 'selector': { + pattern: RegExp('(^|[{}\\s])[^{}\\s](?:[^{};"\'\\s]|\\s+(?![\\s{])|' + string.source + ')*(?=\\s*\\{)'), + lookbehind: true + }, + 'string': { + pattern: string, + greedy: true + }, + 'property': { + pattern: /(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i, + lookbehind: true + }, + 'important': /!important\b/i, + 'function': { + pattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i, + lookbehind: true + }, + 'punctuation': /[(){};:,]/ + }; + Prism.languages.css['atrule'].inside.rest = Prism.languages.css; + var markup = Prism.languages.markup; + if (markup) { + markup.tag.addInlined('style', 'css'); + markup.tag.addAttribute('style', 'css'); + } + }(Prism)); + (function (Prism) { + var keywords = /\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/; + var classNamePrefix = /(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source; + var className = { + pattern: RegExp(/(^|[^\w.])/.source + classNamePrefix + /[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source), + lookbehind: true, + inside: { + 'namespace': { + pattern: /^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/, + inside: { 'punctuation': /\./ } + }, + 'punctuation': /\./ + } + }; + Prism.languages.java = Prism.languages.extend('clike', { + 'string': { + pattern: /(^|[^\\])"(?:\\.|[^"\\\r\n])*"/, + lookbehind: true, + greedy: true + }, + 'class-name': [ + className, + { + pattern: RegExp(/(^|[^\w.])/.source + classNamePrefix + /[A-Z]\w*(?=\s+\w+\s*[;,=()]|\s*(?:\[[\s,]*\]\s*)?::\s*new\b)/.source), + lookbehind: true, + inside: className.inside + }, + { + pattern: RegExp(/(\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\s+)/.source + classNamePrefix + /[A-Z]\w*\b/.source), + lookbehind: true, + inside: className.inside + } + ], + 'keyword': keywords, + 'function': [ + Prism.languages.clike.function, + { + pattern: /(::\s*)[a-z_]\w*/, + lookbehind: true + } + ], + 'number': /\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i, + 'operator': { + pattern: /(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m, + lookbehind: true + }, + 'constant': /\b[A-Z][A-Z_\d]+\b/ + }); + Prism.languages.insertBefore('java', 'string', { + 'triple-quoted-string': { + pattern: /"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/, + greedy: true, + alias: 'string' + }, + 'char': { + pattern: /'(?:\\.|[^'\\\r\n]){1,6}'/, + greedy: true + } + }); + Prism.languages.insertBefore('java', 'class-name', { + 'annotation': { + pattern: /(^|[^.])@\w+(?:\s*\.\s*\w+)*/, + lookbehind: true, + alias: 'punctuation' + }, + 'generics': { + pattern: /<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/, + inside: { + 'class-name': className, + 'keyword': keywords, + 'punctuation': /[<>(),.:]/, + 'operator': /[?&|]/ + } + }, + 'import': [ + { + pattern: RegExp(/(\bimport\s+)/.source + classNamePrefix + /(?:[A-Z]\w*|\*)(?=\s*;)/.source), + lookbehind: true, + inside: { + 'namespace': className.inside.namespace, + 'punctuation': /\./, + 'operator': /\*/, + 'class-name': /\w+/ + } + }, + { + pattern: RegExp(/(\bimport\s+static\s+)/.source + classNamePrefix + /(?:\w+|\*)(?=\s*;)/.source), + lookbehind: true, + alias: 'static', + inside: { + 'namespace': className.inside.namespace, + 'static': /\b\w+$/, + 'punctuation': /\./, + 'operator': /\*/, + 'class-name': /\w+/ + } + } + ], + 'namespace': { + pattern: RegExp(/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(//g, function () { + return keywords.source; + })), + lookbehind: true, + inside: { 'punctuation': /\./ } + } + }); + }(Prism)); + Prism.languages.javascript = Prism.languages.extend('clike', { + 'class-name': [ + Prism.languages.clike['class-name'], + { + pattern: /(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/, + lookbehind: true + } + ], + 'keyword': [ + { + pattern: /((?:^|\})\s*)catch\b/, + lookbehind: true + }, + { + pattern: /(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/, + lookbehind: true + } + ], + 'function': /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/, + 'number': { + pattern: RegExp(/(^|[^\w$])/.source + '(?:' + (/NaN|Infinity/.source + '|' + /0[bB][01]+(?:_[01]+)*n?/.source + '|' + /0[oO][0-7]+(?:_[0-7]+)*n?/.source + '|' + /0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source + '|' + /\d+(?:_\d+)*n/.source + '|' + /(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source) + ')' + /(?![\w$])/.source), + lookbehind: true + }, + 'operator': /--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/ + }); + Prism.languages.javascript['class-name'][0].pattern = /(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/; + Prism.languages.insertBefore('javascript', 'keyword', { + 'regex': { + pattern: RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source + /\//.source + '(?:' + /(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source + '|' + /(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source + ')' + /(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source), + lookbehind: true, + greedy: true, + inside: { + 'regex-source': { + pattern: /^(\/)[\s\S]+(?=\/[a-z]*$)/, + lookbehind: true, + alias: 'language-regex', + inside: Prism.languages.regex + }, + 'regex-delimiter': /^\/|\/$/, + 'regex-flags': /^[a-z]+$/ + } + }, + 'function-variable': { + pattern: /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/, + alias: 'function' + }, + 'parameter': [ + { + pattern: /(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/, + lookbehind: true, + inside: Prism.languages.javascript + }, + { + pattern: /(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i, + lookbehind: true, + inside: Prism.languages.javascript + }, + { + pattern: /(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/, + lookbehind: true, + inside: Prism.languages.javascript + }, + { + pattern: /((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/, + lookbehind: true, + inside: Prism.languages.javascript + } + ], + 'constant': /\b[A-Z](?:[A-Z_]|\dx?)*\b/ + }); + Prism.languages.insertBefore('javascript', 'string', { + 'hashbang': { + pattern: /^#!.*/, + greedy: true, + alias: 'comment' + }, + 'template-string': { + pattern: /`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/, + greedy: true, + inside: { + 'template-punctuation': { + pattern: /^`|`$/, + alias: 'string' + }, + 'interpolation': { + pattern: /((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/, + lookbehind: true, + inside: { + 'interpolation-punctuation': { + pattern: /^\$\{|\}$/, + alias: 'punctuation' + }, + rest: Prism.languages.javascript + } + }, + 'string': /[\s\S]+/ + } + }, + 'string-property': { + pattern: /((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m, + lookbehind: true, + greedy: true, + alias: 'property' + } + }); + Prism.languages.insertBefore('javascript', 'operator', { + 'literal-property': { + pattern: /((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m, + lookbehind: true, + alias: 'property' + } + }); + if (Prism.languages.markup) { + Prism.languages.markup.tag.addInlined('script', 'javascript'); + Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source, 'javascript'); + } + Prism.languages.js = Prism.languages.javascript; + Prism.languages.markup = { + 'comment': { + pattern: //, + greedy: true + }, + 'prolog': { + pattern: /<\?[\s\S]+?\?>/, + greedy: true + }, + 'doctype': { + pattern: /"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i, + greedy: true, + inside: { + 'internal-subset': { + pattern: /(^[^\[]*\[)[\s\S]+(?=\]>$)/, + lookbehind: true, + greedy: true, + inside: null + }, + 'string': { + pattern: /"[^"]*"|'[^']*'/, + greedy: true + }, + 'punctuation': /^$|[[\]]/, + 'doctype-tag': /^DOCTYPE/i, + 'name': /[^\s<>'"]+/ + } + }, + 'cdata': { + pattern: //i, + greedy: true + }, + 'tag': { + pattern: /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/, + greedy: true, + inside: { + 'tag': { + pattern: /^<\/?[^\s>\/]+/, + inside: { + 'punctuation': /^<\/?/, + 'namespace': /^[^\s>\/:]+:/ + } + }, + 'special-attr': [], + 'attr-value': { + pattern: /=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/, + inside: { + 'punctuation': [ + { + pattern: /^=/, + alias: 'attr-equals' + }, + { + pattern: /^(\s*)["']|["']$/, + lookbehind: true + } + ] + } + }, + 'punctuation': /\/?>/, + 'attr-name': { + pattern: /[^\s>\/]+/, + inside: { 'namespace': /^[^\s>\/:]+:/ } + } + } + }, + 'entity': [ + { + pattern: /&[\da-z]{1,8};/i, + alias: 'named-entity' + }, + /&#x?[\da-f]{1,8};/i + ] + }; + Prism.languages.markup['tag'].inside['attr-value'].inside['entity'] = Prism.languages.markup['entity']; + Prism.languages.markup['doctype'].inside['internal-subset'].inside = Prism.languages.markup; + Prism.hooks.add('wrap', function (env) { + if (env.type === 'entity') { + env.attributes['title'] = env.content.replace(/&/, '&'); + } + }); + Object.defineProperty(Prism.languages.markup.tag, 'addInlined', { + value: function addInlined(tagName, lang) { + var includedCdataInside = {}; + includedCdataInside['language-' + lang] = { + pattern: /(^$)/i, + lookbehind: true, + inside: Prism.languages[lang] + }; + includedCdataInside['cdata'] = /^$/i; + var inside = { + 'included-cdata': { + pattern: //i, + inside: includedCdataInside + } + }; + inside['language-' + lang] = { + pattern: /[\s\S]+/, + inside: Prism.languages[lang] + }; + var def = {}; + def[tagName] = { + pattern: RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g, function () { + return tagName; + }), 'i'), + lookbehind: true, + greedy: true, + inside: inside + }; + Prism.languages.insertBefore('markup', 'cdata', def); + } + }); + Object.defineProperty(Prism.languages.markup.tag, 'addAttribute', { + value: function (attrName, lang) { + Prism.languages.markup.tag.inside['special-attr'].push({ + pattern: RegExp(/(^|["'\s])/.source + '(?:' + attrName + ')' + /\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source, 'i'), + lookbehind: true, + inside: { + 'attr-name': /^[^\s=]+/, + 'attr-value': { + pattern: /=[\s\S]+/, + inside: { + 'value': { + pattern: /(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/, + lookbehind: true, + alias: [ + lang, + 'language-' + lang + ], + inside: Prism.languages[lang] + }, + 'punctuation': [ + { + pattern: /^=/, + alias: 'attr-equals' + }, + /"|'/ + ] + } + } + } + }); + } + }); + Prism.languages.html = Prism.languages.markup; + Prism.languages.mathml = Prism.languages.markup; + Prism.languages.svg = Prism.languages.markup; + Prism.languages.xml = Prism.languages.extend('markup', {}); + Prism.languages.ssml = Prism.languages.xml; + Prism.languages.atom = Prism.languages.xml; + Prism.languages.rss = Prism.languages.xml; + (function (Prism) { + var comment = /\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/; + var constant = [ + { + pattern: /\b(?:false|true)\b/i, + alias: 'boolean' + }, + { + pattern: /(::\s*)\b[a-z_]\w*\b(?!\s*\()/i, + greedy: true, + lookbehind: true + }, + { + pattern: /(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i, + greedy: true, + lookbehind: true + }, + /\b(?:null)\b/i, + /\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/ + ]; + var number = /\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i; + var operator = /|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/; + var punctuation = /[{}\[\](),:;]/; + Prism.languages.php = { + 'delimiter': { + pattern: /\?>$|^<\?(?:php(?=\s)|=)?/i, + alias: 'important' + }, + 'comment': comment, + 'variable': /\$+(?:\w+\b|(?=\{))/, + 'package': { + pattern: /(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i, + lookbehind: true, + inside: { 'punctuation': /\\/ } + }, + 'class-name-definition': { + pattern: /(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i, + lookbehind: true, + alias: 'class-name' + }, + 'function-definition': { + pattern: /(\bfunction\s+)[a-z_]\w*(?=\s*\()/i, + lookbehind: true, + alias: 'function' + }, + 'keyword': [ + { + pattern: /(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i, + alias: 'type-casting', + greedy: true, + lookbehind: true + }, + { + pattern: /([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i, + alias: 'type-hint', + greedy: true, + lookbehind: true + }, + { + pattern: /(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|never|object|self|static|string|void)\b/i, + alias: 'return-type', + greedy: true, + lookbehind: true + }, + { + pattern: /\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i, + alias: 'type-declaration', + greedy: true + }, + { + pattern: /(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i, + alias: 'type-declaration', + greedy: true, + lookbehind: true + }, + { + pattern: /\b(?:parent|self|static)(?=\s*::)/i, + alias: 'static-context', + greedy: true + }, + { + pattern: /(\byield\s+)from\b/i, + lookbehind: true + }, + /\bclass\b/i, + { + pattern: /((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i, + lookbehind: true + } + ], + 'argument-name': { + pattern: /([(,]\s*)\b[a-z_]\w*(?=\s*:(?!:))/i, + lookbehind: true + }, + 'class-name': [ + { + pattern: /(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i, + greedy: true, + lookbehind: true + }, + { + pattern: /(\|\s*)\b[a-z_]\w*(?!\\)\b/i, + greedy: true, + lookbehind: true + }, + { + pattern: /\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i, + greedy: true + }, + { + pattern: /(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i, + alias: 'class-name-fully-qualified', + greedy: true, + lookbehind: true, + inside: { 'punctuation': /\\/ } + }, + { + pattern: /(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i, + alias: 'class-name-fully-qualified', + greedy: true, + inside: { 'punctuation': /\\/ } + }, + { + pattern: /(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i, + alias: 'class-name-fully-qualified', + greedy: true, + lookbehind: true, + inside: { 'punctuation': /\\/ } + }, + { + pattern: /\b[a-z_]\w*(?=\s*\$)/i, + alias: 'type-declaration', + greedy: true + }, + { + pattern: /(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i, + alias: [ + 'class-name-fully-qualified', + 'type-declaration' + ], + greedy: true, + inside: { 'punctuation': /\\/ } + }, + { + pattern: /\b[a-z_]\w*(?=\s*::)/i, + alias: 'static-context', + greedy: true + }, + { + pattern: /(?:\\?\b[a-z_]\w*)+(?=\s*::)/i, + alias: [ + 'class-name-fully-qualified', + 'static-context' + ], + greedy: true, + inside: { 'punctuation': /\\/ } + }, + { + pattern: /([(,?]\s*)[a-z_]\w*(?=\s*\$)/i, + alias: 'type-hint', + greedy: true, + lookbehind: true + }, + { + pattern: /([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i, + alias: [ + 'class-name-fully-qualified', + 'type-hint' + ], + greedy: true, + lookbehind: true, + inside: { 'punctuation': /\\/ } + }, + { + pattern: /(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i, + alias: 'return-type', + greedy: true, + lookbehind: true + }, + { + pattern: /(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i, + alias: [ + 'class-name-fully-qualified', + 'return-type' + ], + greedy: true, + lookbehind: true, + inside: { 'punctuation': /\\/ } + } + ], + 'constant': constant, + 'function': { + pattern: /(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i, + lookbehind: true, + inside: { 'punctuation': /\\/ } + }, + 'property': { + pattern: /(->\s*)\w+/, + lookbehind: true + }, + 'number': number, + 'operator': operator, + 'punctuation': punctuation + }; + var string_interpolation = { + pattern: /\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/, + lookbehind: true, + inside: Prism.languages.php + }; + var string = [ + { + pattern: /<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/, + alias: 'nowdoc-string', + greedy: true, + inside: { + 'delimiter': { + pattern: /^<<<'[^']+'|[a-z_]\w*;$/i, + alias: 'symbol', + inside: { 'punctuation': /^<<<'?|[';]$/ } + } + } + }, + { + pattern: /<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i, + alias: 'heredoc-string', + greedy: true, + inside: { + 'delimiter': { + pattern: /^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i, + alias: 'symbol', + inside: { 'punctuation': /^<<<"?|[";]$/ } + }, + 'interpolation': string_interpolation + } + }, + { + pattern: /`(?:\\[\s\S]|[^\\`])*`/, + alias: 'backtick-quoted-string', + greedy: true + }, + { + pattern: /'(?:\\[\s\S]|[^\\'])*'/, + alias: 'single-quoted-string', + greedy: true + }, + { + pattern: /"(?:\\[\s\S]|[^\\"])*"/, + alias: 'double-quoted-string', + greedy: true, + inside: { 'interpolation': string_interpolation } + } + ]; + Prism.languages.insertBefore('php', 'variable', { + 'string': string, + 'attribute': { + pattern: /#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im, + greedy: true, + inside: { + 'attribute-content': { + pattern: /^(#\[)[\s\S]+(?=\]$)/, + lookbehind: true, + inside: { + 'comment': comment, + 'string': string, + 'attribute-class-name': [ + { + pattern: /([^:]|^)\b[a-z_]\w*(?!\\)\b/i, + alias: 'class-name', + greedy: true, + lookbehind: true + }, + { + pattern: /([^:]|^)(?:\\?\b[a-z_]\w*)+/i, + alias: [ + 'class-name', + 'class-name-fully-qualified' + ], + greedy: true, + lookbehind: true, + inside: { 'punctuation': /\\/ } + } + ], + 'constant': constant, + 'number': number, + 'operator': operator, + 'punctuation': punctuation + } + }, + 'delimiter': { + pattern: /^#\[|\]$/, + alias: 'punctuation' + } + } + } + }); + Prism.hooks.add('before-tokenize', function (env) { + if (!/<\?/.test(env.code)) { + return; + } + var phpPattern = /<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g; + Prism.languages['markup-templating'].buildPlaceholders(env, 'php', phpPattern); + }); + Prism.hooks.add('after-tokenize', function (env) { + Prism.languages['markup-templating'].tokenizePlaceholders(env, 'php'); + }); + }(Prism)); + Prism.languages.python = { + 'comment': { + pattern: /(^|[^\\])#.*/, + lookbehind: true, + greedy: true + }, + 'string-interpolation': { + pattern: /(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i, + greedy: true, + inside: { + 'interpolation': { + pattern: /((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/, + lookbehind: true, + inside: { + 'format-spec': { + pattern: /(:)[^:(){}]+(?=\}$)/, + lookbehind: true + }, + 'conversion-option': { + pattern: /![sra](?=[:}]$)/, + alias: 'punctuation' + }, + rest: null + } + }, + 'string': /[\s\S]+/ + } + }, + 'triple-quoted-string': { + pattern: /(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i, + greedy: true, + alias: 'string' + }, + 'string': { + pattern: /(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i, + greedy: true + }, + 'function': { + pattern: /((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g, + lookbehind: true + }, + 'class-name': { + pattern: /(\bclass\s+)\w+/i, + lookbehind: true + }, + 'decorator': { + pattern: /(^[\t ]*)@\w+(?:\.\w+)*/m, + lookbehind: true, + alias: [ + 'annotation', + 'punctuation' + ], + inside: { 'punctuation': /\./ } + }, + 'keyword': /\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/, + 'builtin': /\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/, + 'boolean': /\b(?:False|None|True)\b/, + 'number': /\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i, + 'operator': /[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/, + 'punctuation': /[{}[\];(),.:]/ + }; + Prism.languages.python['string-interpolation'].inside['interpolation'].inside.rest = Prism.languages.python; + Prism.languages.py = Prism.languages.python; + (function (Prism) { + Prism.languages.ruby = Prism.languages.extend('clike', { + 'comment': { + pattern: /#.*|^=begin\s[\s\S]*?^=end/m, + greedy: true + }, + 'class-name': { + pattern: /(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/, + lookbehind: true, + inside: { 'punctuation': /[.\\]/ } + }, + 'keyword': /\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/, + 'operator': /\.{2,3}|&\.|===||[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/, + 'punctuation': /[(){}[\].,;]/ + }); + Prism.languages.insertBefore('ruby', 'operator', { + 'double-colon': { + pattern: /::/, + alias: 'punctuation' + } + }); + var interpolation = { + pattern: /((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/, + lookbehind: true, + inside: { + 'content': { + pattern: /^(#\{)[\s\S]+(?=\}$)/, + lookbehind: true, + inside: Prism.languages.ruby + }, + 'delimiter': { + pattern: /^#\{|\}$/, + alias: 'punctuation' + } + } + }; + delete Prism.languages.ruby.function; + var percentExpression = '(?:' + [ + /([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source, + /\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source, + /\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source, + /\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source, + /<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source + ].join('|') + ')'; + var symbolName = /(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/.source; + Prism.languages.insertBefore('ruby', 'keyword', { + 'regex-literal': [ + { + pattern: RegExp(/%r/.source + percentExpression + /[egimnosux]{0,6}/.source), + greedy: true, + inside: { + 'interpolation': interpolation, + 'regex': /[\s\S]+/ + } + }, + { + pattern: /(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/, + lookbehind: true, + greedy: true, + inside: { + 'interpolation': interpolation, + 'regex': /[\s\S]+/ + } + } + ], + 'variable': /[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/, + 'symbol': [ + { + pattern: RegExp(/(^|[^:]):/.source + symbolName), + lookbehind: true, + greedy: true + }, + { + pattern: RegExp(/([\r\n{(,][ \t]*)/.source + symbolName + /(?=:(?!:))/.source), + lookbehind: true, + greedy: true + } + ], + 'method-definition': { + pattern: /(\bdef\s+)\w+(?:\s*\.\s*\w+)?/, + lookbehind: true, + inside: { + 'function': /\b\w+$/, + 'keyword': /^self\b/, + 'class-name': /^\w+/, + 'punctuation': /\./ + } + } + }); + Prism.languages.insertBefore('ruby', 'string', { + 'string-literal': [ + { + pattern: RegExp(/%[qQiIwWs]?/.source + percentExpression), + greedy: true, + inside: { + 'interpolation': interpolation, + 'string': /[\s\S]+/ + } + }, + { + pattern: /("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/, + greedy: true, + inside: { + 'interpolation': interpolation, + 'string': /[\s\S]+/ + } + }, + { + pattern: /<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i, + alias: 'heredoc-string', + greedy: true, + inside: { + 'delimiter': { + pattern: /^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i, + inside: { + 'symbol': /\b\w+/, + 'punctuation': /^<<[-~]?/ + } + }, + 'interpolation': interpolation, + 'string': /[\s\S]+/ + } + }, + { + pattern: /<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i, + alias: 'heredoc-string', + greedy: true, + inside: { + 'delimiter': { + pattern: /^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i, + inside: { + 'symbol': /\b\w+/, + 'punctuation': /^<<[-~]?'|'$/ + } + }, + 'string': /[\s\S]+/ + } + } + ], + 'command-literal': [ + { + pattern: RegExp(/%x/.source + percentExpression), + greedy: true, + inside: { + 'interpolation': interpolation, + 'command': { + pattern: /[\s\S]+/, + alias: 'string' + } + } + }, + { + pattern: /`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/, + greedy: true, + inside: { + 'interpolation': interpolation, + 'command': { + pattern: /[\s\S]+/, + alias: 'string' + } + } + } + ] + }); + delete Prism.languages.ruby.string; + Prism.languages.insertBefore('ruby', 'number', { + 'builtin': /\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/, + 'constant': /\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/ + }); + Prism.languages.rb = Prism.languages.ruby; + }(Prism)); + window.Prism = oldprism; + return Prism; + }(undefined, undefined); + + const option = name => editor => editor.options.get(name); + const register$2 = editor => { + const registerOption = editor.options.register; + registerOption('codesample_languages', { processor: 'object[]' }); + registerOption('codesample_global_prismjs', { + processor: 'boolean', + default: false + }); + }; + const getLanguages$1 = option('codesample_languages'); + const useGlobalPrismJS = option('codesample_global_prismjs'); + + const get = editor => Global.Prism && useGlobalPrismJS(editor) ? Global.Prism : prismjs; + + const isCodeSample = elm => { + return isNonNullable(elm) && elm.nodeName === 'PRE' && elm.className.indexOf('language-') !== -1; + }; + + const getSelectedCodeSample = editor => { + const node = editor.selection ? editor.selection.getNode() : null; + return isCodeSample(node) ? Optional.some(node) : Optional.none(); + }; + const insertCodeSample = (editor, language, code) => { + const dom = editor.dom; + editor.undoManager.transact(() => { + const node = getSelectedCodeSample(editor); + code = global$1.DOM.encode(code); + return node.fold(() => { + editor.insertContent('
    ' + code + '
    '); + const newPre = dom.select('#__new')[0]; + dom.setAttrib(newPre, 'id', null); + editor.selection.select(newPre); + }, n => { + dom.setAttrib(n, 'class', 'language-' + language); + n.innerHTML = code; + get(editor).highlightElement(n); + editor.selection.select(n); + }); + }); + }; + const getCurrentCode = editor => { + const node = getSelectedCodeSample(editor); + return node.bind(n => Optional.from(n.textContent)).getOr(''); + }; + + const getLanguages = editor => { + const defaultLanguages = [ + { + text: 'HTML/XML', + value: 'markup' + }, + { + text: 'JavaScript', + value: 'javascript' + }, + { + text: 'CSS', + value: 'css' + }, + { + text: 'PHP', + value: 'php' + }, + { + text: 'Ruby', + value: 'ruby' + }, + { + text: 'Python', + value: 'python' + }, + { + text: 'Java', + value: 'java' + }, + { + text: 'C', + value: 'c' + }, + { + text: 'C#', + value: 'csharp' + }, + { + text: 'C++', + value: 'cpp' + } + ]; + const customLanguages = getLanguages$1(editor); + return customLanguages ? customLanguages : defaultLanguages; + }; + const getCurrentLanguage = (editor, fallback) => { + const node = getSelectedCodeSample(editor); + return node.fold(() => fallback, n => { + const matches = n.className.match(/language-(\w+)/); + return matches ? matches[1] : fallback; + }); + }; + + const open = editor => { + const languages = getLanguages(editor); + const defaultLanguage = head(languages).fold(constant(''), l => l.value); + const currentLanguage = getCurrentLanguage(editor, defaultLanguage); + const currentCode = getCurrentCode(editor); + editor.windowManager.open({ + title: 'Insert/Edit Code Sample', + size: 'large', + body: { + type: 'panel', + items: [ + { + type: 'listbox', + name: 'language', + label: 'Language', + items: languages + }, + { + type: 'textarea', + name: 'code', + label: 'Code view' + } + ] + }, + buttons: [ + { + type: 'cancel', + name: 'cancel', + text: 'Cancel' + }, + { + type: 'submit', + name: 'save', + text: 'Save', + primary: true + } + ], + initialData: { + language: currentLanguage, + code: currentCode + }, + onSubmit: api => { + const data = api.getData(); + insertCodeSample(editor, data.language, data.code); + api.close(); + } + }); + }; + + const register$1 = editor => { + editor.addCommand('codesample', () => { + const node = editor.selection.getNode(); + if (editor.selection.isCollapsed() || isCodeSample(node)) { + open(editor); + } else { + editor.formatter.toggle('code'); + } + }); + }; + + const blank = r => s => s.replace(r, ''); + const trim = blank(/^\s+|\s+$/g); + + var global = tinymce.util.Tools.resolve('tinymce.util.Tools'); + + const setup = editor => { + editor.on('PreProcess', e => { + const dom = editor.dom; + const pres = dom.select('pre[contenteditable=false]', e.node); + global.each(global.grep(pres, isCodeSample), elm => { + const code = elm.textContent; + dom.setAttrib(elm, 'class', trim(dom.getAttrib(elm, 'class'))); + dom.setAttrib(elm, 'contentEditable', null); + dom.setAttrib(elm, 'data-mce-highlighted', null); + let child; + while (child = elm.firstChild) { + elm.removeChild(child); + } + const codeElm = dom.add(elm, 'code'); + codeElm.textContent = code; + }); + }); + editor.on('SetContent', () => { + const dom = editor.dom; + const unprocessedCodeSamples = global.grep(dom.select('pre'), elm => { + return isCodeSample(elm) && dom.getAttrib(elm, 'data-mce-highlighted') !== 'true'; + }); + if (unprocessedCodeSamples.length) { + editor.undoManager.transact(() => { + global.each(unprocessedCodeSamples, elm => { + var _a; + global.each(dom.select('br', elm), elm => { + dom.replace(editor.getDoc().createTextNode('\n'), elm); + }); + elm.innerHTML = dom.encode((_a = elm.textContent) !== null && _a !== void 0 ? _a : ''); + get(editor).highlightElement(elm); + dom.setAttrib(elm, 'data-mce-highlighted', true); + elm.className = trim(elm.className); + }); + }); + } + }); + editor.on('PreInit', () => { + editor.parser.addNodeFilter('pre', nodes => { + var _a; + for (let i = 0, l = nodes.length; i < l; i++) { + const node = nodes[i]; + const isCodeSample = ((_a = node.attr('class')) !== null && _a !== void 0 ? _a : '').indexOf('language-') !== -1; + if (isCodeSample) { + node.attr('contenteditable', 'false'); + node.attr('data-mce-highlighted', 'false'); + } + } + }); + }); + }; + + const onSetupEditable = (editor, onChanged = noop) => api => { + const nodeChanged = () => { + api.setEnabled(editor.selection.isEditable()); + onChanged(api); + }; + editor.on('NodeChange', nodeChanged); + nodeChanged(); + return () => { + editor.off('NodeChange', nodeChanged); + }; + }; + const isCodeSampleSelection = editor => { + const node = editor.selection.getStart(); + return editor.dom.is(node, 'pre[class*="language-"]'); + }; + const register = editor => { + const onAction = () => editor.execCommand('codesample'); + editor.ui.registry.addToggleButton('codesample', { + icon: 'code-sample', + tooltip: 'Insert/edit code sample', + onAction, + onSetup: onSetupEditable(editor, api => { + api.setActive(isCodeSampleSelection(editor)); + }) + }); + editor.ui.registry.addMenuItem('codesample', { + text: 'Code sample...', + icon: 'code-sample', + onAction, + onSetup: onSetupEditable(editor) + }); + }; + + var Plugin = () => { + global$2.add('codesample', editor => { + register$2(editor); + setup(editor); + register(editor); + register$1(editor); + editor.on('dblclick', ev => { + if (isCodeSample(ev.target)) { + open(editor); + } + }); + }); + }; + + Plugin(); + +})(); diff --git a/public/tools/cloud_notes/tinymce/plugins/codesample/plugin.min.js b/public/tools/cloud_notes/tinymce/plugins/codesample/plugin.min.js new file mode 100644 index 0000000..f3936a8 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/codesample/plugin.min.js @@ -0,0 +1,4 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ +!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>!(e=>null==e)(e),n=()=>{};class a{constructor(e,t){this.tag=e,this.value=t}static some(e){return new a(!0,e)}static none(){return a.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?a.some(e(this.value)):a.none()}bind(e){return this.tag?e(this.value):a.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:a.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return t(e)?a.some(e):a.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}a.singletonNone=new a(!1);var s=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils");const r="undefined"!=typeof window?window:Function("return this;")(),i=function(e,t,n){const a=window.Prism;window.Prism={manual:!0};var s=function(e){var t=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,n=0,a={},s={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(t){return t instanceof r?new r(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/=d.reach);x+=_.value.length,_=_.next){var F=_.value;if(t.length>e.length)return;if(!(F instanceof r)){var A,S=1;if(y){if(!(A=i(v,x,e,m))||A.index>=e.length)break;var $=A.index,z=A.index+A[0].length,E=x;for(E+=_.value.length;$>=E;)E+=(_=_.next).value.length;if(x=E-=_.value.length,_.value instanceof r)continue;for(var C=_;C!==t.tail&&(Ed.reach&&(d.reach=O);var P=_.prev;if(B&&(P=u(t,P,B),x+=B.length),c(t,P,S),_=u(t,P,new r(g,f?s.tokenize(j,f):j,w,j)),T&&u(t,_,T),S>1){var N={cause:g+","+b,reach:O};o(e,t,n,_.prev,x,N),d&&N.reach>d.reach&&(d.reach=N.reach)}}}}}}function l(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function u(e,t,n){var a=t.next,s={value:n,prev:t,next:a};return t.next=s,a.prev=s,e.length++,s}function c(e,t,n){for(var a=t.next,s=0;s"+r.content+""},!e.document)return e.addEventListener?(s.disableWorkerMessageHandler||e.addEventListener("message",(function(t){var n=JSON.parse(t.data),a=n.language,r=n.code,i=n.immediateClose;e.postMessage(s.highlight(r,s.languages[a],a)),i&&e.close()}),!1),s):s;var d=s.util.currentScript();function g(){s.manual||s.highlightAll()}if(d&&(s.filename=d.src,d.hasAttribute("data-manual")&&(s.manual=!0)),!s.manual){var p=document.readyState;"loading"===p||"interactive"===p&&d&&d.defer?document.addEventListener("DOMContentLoaded",g):window.requestAnimationFrame?window.requestAnimationFrame(g):window.setTimeout(g,16)}return s}("undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{});return s.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,a,s,r){if(n.language===a){var i=n.tokenStack=[];n.code=n.code.replace(s,(function(e){if("function"==typeof r&&!r(e))return e;for(var s,o=i.length;-1!==n.code.indexOf(s=t(a,o));)++o;return i[o]=e,s})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,a){if(n.language===a&&n.tokenStack){n.grammar=e.languages[a];var s=0,r=Object.keys(n.tokenStack);!function i(o){for(var l=0;l=r.length);l++){var u=o[l];if("string"==typeof u||u.content&&"string"==typeof u.content){var c=r[s],d=n.tokenStack[c],g="string"==typeof u?u:u.content,p=t(a,c),b=g.indexOf(p);if(b>-1){++s;var h=g.substring(0,b),f=new e.Token(a,e.tokenize(d,n.grammar),"language-"+a,d),m=g.substring(b+p.length),y=[];h&&y.push.apply(y,i([h])),y.push(f),m&&y.push.apply(y,i([m])),"string"==typeof u?o.splice.apply(o,[l,1].concat(y)):u.content=y}}else u.content&&i(u.content)}return o}(n.tokens)}}}})}(s),s.languages.c=s.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),s.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),s.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},s.languages.c.string],char:s.languages.c.char,comment:s.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:s.languages.c}}}}),s.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete s.languages.c.boolean,function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!)\w+(?:\s*\.\s*\w+)*\b/.source.replace(//g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!)\w+/.source.replace(//g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/(?:\s*:\s*)?|:\s*/.source.replace(//g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(s),function(e){function t(e,t){return e.replace(/<<(\d+)>>/g,(function(e,n){return"(?:"+t[+n]+")"}))}function n(e,n,a){return RegExp(t(e,n),a||"")}function a(e,t){for(var n=0;n>/g,(function(){return"(?:"+e+")"}));return e.replace(/<>/g,"[^\\s\\S]")}var s="bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",r="class enum interface record struct",i="add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)",o="abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield";function l(e){return"\\b(?:"+e.trim().replace(/ /g,"|")+")\\b"}var u=l(r),c=RegExp(l(s+" "+r+" "+i+" "+o)),d=l(r+" "+i+" "+o),g=l(s+" "+r+" "+o),p=a(/<(?:[^<>;=+\-*/%&|^]|<>)*>/.source,2),b=a(/\((?:[^()]|<>)*\)/.source,2),h=/@?\b[A-Za-z_]\w*\b/.source,f=t(/<<0>>(?:\s*<<1>>)?/.source,[h,p]),m=t(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source,[d,f]),y=/\[\s*(?:,\s*)*\]/.source,w=t(/<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source,[m,y]),k=t(/[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,[p,b,y]),v=t(/\(<<0>>+(?:,<<0>>+)+\)/.source,[k]),_=t(/(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source,[v,m,y]),x={keyword:c,punctuation:/[<>()?,.:[\]]/},F=/'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source,A=/"(?:\\.|[^\\"\r\n])*"/.source,S=/@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source;e.languages.csharp=e.languages.extend("clike",{string:[{pattern:n(/(^|[^$\\])<<0>>/.source,[S]),lookbehind:!0,greedy:!0},{pattern:n(/(^|[^@$\\])<<0>>/.source,[A]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:n(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source,[m]),lookbehind:!0,inside:x},{pattern:n(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source,[h,_]),lookbehind:!0,inside:x},{pattern:n(/(\busing\s+)<<0>>(?=\s*=)/.source,[h]),lookbehind:!0},{pattern:n(/(\b<<0>>\s+)<<1>>/.source,[u,f]),lookbehind:!0,inside:x},{pattern:n(/(\bcatch\s*\(\s*)<<0>>/.source,[m]),lookbehind:!0,inside:x},{pattern:n(/(\bwhere\s+)<<0>>/.source,[h]),lookbehind:!0},{pattern:n(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source,[w]),lookbehind:!0,inside:x},{pattern:n(/\b<<0>>(?=\s+(?!<<1>>|with\s*\{)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/.source,[_,g,h]),inside:x}],keyword:c,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),e.languages.insertBefore("csharp","number",{range:{pattern:/\.\./,alias:"operator"}}),e.languages.insertBefore("csharp","punctuation",{"named-parameter":{pattern:n(/([(,]\s*)<<0>>(?=\s*:)/.source,[h]),lookbehind:!0,alias:"punctuation"}}),e.languages.insertBefore("csharp","class-name",{namespace:{pattern:n(/(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/.source,[h]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:n(/(\b(?:default|sizeof|typeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/.source,[b]),lookbehind:!0,alias:"class-name",inside:x},"return-type":{pattern:n(/<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/.source,[_,m]),inside:x,alias:"class-name"},"constructor-invocation":{pattern:n(/(\bnew\s+)<<0>>(?=\s*[[({])/.source,[_]),lookbehind:!0,inside:x,alias:"class-name"},"generic-method":{pattern:n(/<<0>>\s*<<1>>(?=\s*\()/.source,[h,p]),inside:{function:n(/^<<0>>/.source,[h]),generic:{pattern:RegExp(p),alias:"class-name",inside:x}}},"type-list":{pattern:n(/\b((?:<<0>>\s+<<1>>|record\s+<<1>>\s*<<5>>|where\s+<<2>>)\s*:\s*)(?:<<3>>|<<4>>|<<1>>\s*<<5>>|<<6>>)(?:\s*,\s*(?:<<3>>|<<4>>|<<6>>))*(?=\s*(?:where|[{;]|=>|$))/.source,[u,f,h,_,c.source,b,/\bnew\s*\(\s*\)/.source]),lookbehind:!0,inside:{"record-arguments":{pattern:n(/(^(?!new\s*\()<<0>>\s*)<<1>>/.source,[f,b]),lookbehind:!0,greedy:!0,inside:e.languages.csharp},keyword:c,"class-name":{pattern:RegExp(_),greedy:!0,inside:x},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,lookbehind:!0,alias:"keyword"}}}});var $=A+"|"+F,z=t(/\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source,[$]),E=a(t(/[^"'/()]|<<0>>|\(<>*\)/.source,[z]),2),C=/\b(?:assembly|event|field|method|module|param|property|return|type)\b/.source,j=t(/<<0>>(?:\s*\(<<1>>*\))?/.source,[m,E]);e.languages.insertBefore("csharp","class-name",{attribute:{pattern:n(/((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/.source,[C,j]),lookbehind:!0,greedy:!0,inside:{target:{pattern:n(/^<<0>>(?=\s*:)/.source,[C]),alias:"keyword"},"attribute-arguments":{pattern:n(/\(<<0>>*\)/.source,[E]),inside:e.languages.csharp},"class-name":{pattern:RegExp(m),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var B=/:[^}\r\n]+/.source,T=a(t(/[^"'/()]|<<0>>|\(<>*\)/.source,[z]),2),O=t(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[T,B]),P=a(t(/[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<>*\)/.source,[$]),2),N=t(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[P,B]);function R(t,a){return{interpolation:{pattern:n(/((?:^|[^{])(?:\{\{)*)<<0>>/.source,[t]),lookbehind:!0,inside:{"format-string":{pattern:n(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source,[a,B]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-csharp",inside:e.languages.csharp}}},string:/[\s\S]+/}}e.languages.insertBefore("csharp","string",{"interpolation-string":[{pattern:n(/(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source,[O]),lookbehind:!0,greedy:!0,inside:R(O,T)},{pattern:n(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source,[N]),lookbehind:!0,greedy:!0,inside:R(N,P)}],char:{pattern:RegExp(F),greedy:!0}}),e.languages.dotnet=e.languages.cs=e.languages.csharp}(s),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}(s),function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n=/(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,a={pattern:RegExp(/(^|[^\w.])/.source+n+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[a,{pattern:RegExp(/(^|[^\w.])/.source+n+/[A-Z]\w*(?=\s+\w+\s*[;,=()]|\s*(?:\[[\s,]*\]\s*)?::\s*new\b)/.source),lookbehind:!0,inside:a.inside},{pattern:RegExp(/(\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\s+)/.source+n+/[A-Z]\w*\b/.source),lookbehind:!0,inside:a.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),e.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":a,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(/(\bimport\s+)/.source+n+/(?:[A-Z]\w*|\*)(?=\s*;)/.source),lookbehind:!0,inside:{namespace:a.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(/(\bimport\s+static\s+)/.source+n+/(?:\w+|\*)(?=\s*;)/.source),lookbehind:!0,alias:"static",inside:{namespace:a.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(//g,(function(){return t.source}))),lookbehind:!0,inside:{punctuation:/\./}}})}(s),s.languages.javascript=s.languages.extend("clike",{"class-name":[s.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),s.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,s.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:s.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:s.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:s.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:s.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:s.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),s.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:s.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),s.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),s.languages.markup&&(s.languages.markup.tag.addInlined("script","javascript"),s.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),s.languages.js=s.languages.javascript,s.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},s.languages.markup.tag.inside["attr-value"].inside.entity=s.languages.markup.entity,s.languages.markup.doctype.inside["internal-subset"].inside=s.languages.markup,s.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(s.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:s.languages[t]},n.cdata=/^$/i;var a={"included-cdata":{pattern://i,inside:n}};a["language-"+t]={pattern:/[\s\S]+/,inside:s.languages[t]};var r={};r[e]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:a},s.languages.insertBefore("markup","cdata",r)}}),Object.defineProperty(s.languages.markup.tag,"addAttribute",{value:function(e,t){s.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:s.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),s.languages.html=s.languages.markup,s.languages.mathml=s.languages.markup,s.languages.svg=s.languages.markup,s.languages.xml=s.languages.extend("markup",{}),s.languages.ssml=s.languages.xml,s.languages.atom=s.languages.xml,s.languages.rss=s.languages.xml,function(e){var t=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,n=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],a=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,s=/|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,r=/[{}\[\](),:;]/;e.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:t,variable:/\$+(?:\w+\b|(?=\{))/,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:"class-name"},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:"function"},keyword:[{pattern:/(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|never|object|self|static|string|void)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s*)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:a,operator:s,punctuation:r};var i={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:e.languages.php},o=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:i}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:i}}];e.languages.insertBefore("php","variable",{string:o,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:t,string:o,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,number:a,operator:s,punctuation:r}},delimiter:{pattern:/^#\[|\]$/,alias:"punctuation"}}}}),e.hooks.add("before-tokenize",(function(t){/<\?/.test(t.code)&&e.languages["markup-templating"].buildPlaceholders(t,"php",/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"php")}))}(s),s.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},s.languages.python["string-interpolation"].inside.interpolation.inside.rest=s.languages.python,s.languages.py=s.languages.python,function(e){e.languages.ruby=e.languages.extend("clike",{comment:{pattern:/#.*|^=begin\s[\s\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,operator:/\.{2,3}|&\.|===||[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\].,;]/}),e.languages.insertBefore("ruby","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}});var t={pattern:/((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,lookbehind:!0,inside:{content:{pattern:/^(#\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:e.languages.ruby},delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"}}};delete e.languages.ruby.function;var n="(?:"+[/([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source,/\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source,/\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source,/<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source].join("|")+")",a=/(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/.source;e.languages.insertBefore("ruby","keyword",{"regex-literal":[{pattern:RegExp(/%r/.source+n+/[egimnosux]{0,6}/.source),greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:[{pattern:RegExp(/(^|[^:]):/.source+a),lookbehind:!0,greedy:!0},{pattern:RegExp(/([\r\n{(,][ \t]*)/.source+a+/(?=:(?!:))/.source),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,lookbehind:!0,inside:{function:/\b\w+$/,keyword:/^self\b/,"class-name":/^\w+/,punctuation:/\./}}}),e.languages.insertBefore("ruby","string",{"string-literal":[{pattern:RegExp(/%[qQiIwWs]?/.source+n),greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?/}},interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\s\S]+/}}],"command-literal":[{pattern:RegExp(/%x/.source+n),greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:"string"}}},{pattern:/`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:"string"}}}]}),delete e.languages.ruby.string,e.languages.insertBefore("ruby","number",{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,constant:/\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/}),e.languages.rb=e.languages.ruby}(s),window.Prism=a,s}(),o=e=>t=>t.options.get(e),l=o("codesample_languages"),u=o("codesample_global_prismjs"),c=e=>r.Prism&&u(e)?r.Prism:i,d=e=>t(e)&&"PRE"===e.nodeName&&-1!==e.className.indexOf("language-"),g=e=>{const t=e.selection?e.selection.getNode():null;return d(t)?a.some(t):a.none()},p=e=>{const t=(e=>l(e)||[{text:"HTML/XML",value:"markup"},{text:"JavaScript",value:"javascript"},{text:"CSS",value:"css"},{text:"PHP",value:"php"},{text:"Ruby",value:"ruby"},{text:"Python",value:"python"},{text:"Java",value:"java"},{text:"C",value:"c"},{text:"C#",value:"csharp"},{text:"C++",value:"cpp"}])(e),n=(r=t,((e,t)=>0""),(e=>e.value));var r;const i=((e,t)=>g(e).fold((()=>t),(e=>{const n=e.className.match(/language-(\w+)/);return n?n[1]:t})))(e,n),o=(e=>g(e).bind((e=>a.from(e.textContent))).getOr(""))(e);e.windowManager.open({title:"Insert/Edit Code Sample",size:"large",body:{type:"panel",items:[{type:"listbox",name:"language",label:"Language",items:t},{type:"textarea",name:"code",label:"Code view"}]},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:{language:i,code:o},onSubmit:t=>{const n=t.getData();((e,t,n)=>{const a=e.dom;e.undoManager.transact((()=>{const r=g(e);return n=s.DOM.encode(n),r.fold((()=>{e.insertContent('
    '+n+"
    ");const s=a.select("#__new")[0];a.setAttrib(s,"id",null),e.selection.select(s)}),(s=>{a.setAttrib(s,"class","language-"+t),s.innerHTML=n,c(e).highlightElement(s),e.selection.select(s)}))}))})(e,n.language,n.code),t.close()}})},b=(h=/^\s+|\s+$/g,e=>e.replace(h,""));var h,f=tinymce.util.Tools.resolve("tinymce.util.Tools");const m=(e,t=n)=>n=>{const a=()=>{n.setEnabled(e.selection.isEditable()),t(n)};return e.on("NodeChange",a),a(),()=>{e.off("NodeChange",a)}};e.add("codesample",(e=>{(e=>{const t=e.options.register;t("codesample_languages",{processor:"object[]"}),t("codesample_global_prismjs",{processor:"boolean",default:!1})})(e),(e=>{e.on("PreProcess",(t=>{const n=e.dom,a=n.select("pre[contenteditable=false]",t.node);f.each(f.grep(a,d),(e=>{const t=e.textContent;let a;for(n.setAttrib(e,"class",b(n.getAttrib(e,"class"))),n.setAttrib(e,"contentEditable",null),n.setAttrib(e,"data-mce-highlighted",null);a=e.firstChild;)e.removeChild(a);n.add(e,"code").textContent=t}))})),e.on("SetContent",(()=>{const t=e.dom,n=f.grep(t.select("pre"),(e=>d(e)&&"true"!==t.getAttrib(e,"data-mce-highlighted")));n.length&&e.undoManager.transact((()=>{f.each(n,(n=>{var a;f.each(t.select("br",n),(n=>{t.replace(e.getDoc().createTextNode("\n"),n)})),n.innerHTML=t.encode(null!==(a=n.textContent)&&void 0!==a?a:""),c(e).highlightElement(n),t.setAttrib(n,"data-mce-highlighted",!0),n.className=b(n.className)}))}))})),e.on("PreInit",(()=>{e.parser.addNodeFilter("pre",(e=>{var t;for(let n=0,a=e.length;n{const t=()=>e.execCommand("codesample");e.ui.registry.addToggleButton("codesample",{icon:"code-sample",tooltip:"Insert/edit code sample",onAction:t,onSetup:m(e,(t=>{t.setActive((e=>{const t=e.selection.getStart();return e.dom.is(t,'pre[class*="language-"]')})(e))}))}),e.ui.registry.addMenuItem("codesample",{text:"Code sample...",icon:"code-sample",onAction:t,onSetup:m(e)})})(e),(e=>{e.addCommand("codesample",(()=>{const t=e.selection.getNode();e.selection.isCollapsed()||d(t)?p(e):e.formatter.toggle("code")}))})(e),e.on("dblclick",(t=>{d(t.target)&&p(e)}))}))}(); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/directionality/index.js b/public/tools/cloud_notes/tinymce/plugins/directionality/index.js new file mode 100644 index 0000000..e2740c3 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/directionality/index.js @@ -0,0 +1,7 @@ +// Exports the "directionality" plugin for usage with module loaders +// Usage: +// CommonJS: +// require('tinymce/plugins/directionality') +// ES2015: +// import 'tinymce/plugins/directionality' +require('./plugin.js'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/directionality/plugin.js b/public/tools/cloud_notes/tinymce/plugins/directionality/plugin.js new file mode 100644 index 0000000..31745d7 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/directionality/plugin.js @@ -0,0 +1,395 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ + +(function () { + 'use strict'; + + var global = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + const hasProto = (v, constructor, predicate) => { + var _a; + if (predicate(v, constructor.prototype)) { + return true; + } else { + return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name; + } + }; + const typeOf = x => { + const t = typeof x; + if (x === null) { + return 'null'; + } else if (t === 'object' && Array.isArray(x)) { + return 'array'; + } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) { + return 'string'; + } else { + return t; + } + }; + const isType$1 = type => value => typeOf(value) === type; + const isSimpleType = type => value => typeof value === type; + const isString = isType$1('string'); + const isBoolean = isSimpleType('boolean'); + const isNullable = a => a === null || a === undefined; + const isNonNullable = a => !isNullable(a); + const isFunction = isSimpleType('function'); + const isNumber = isSimpleType('number'); + + const compose1 = (fbc, fab) => a => fbc(fab(a)); + const constant = value => { + return () => { + return value; + }; + }; + const never = constant(false); + + class Optional { + constructor(tag, value) { + this.tag = tag; + this.value = value; + } + static some(value) { + return new Optional(true, value); + } + static none() { + return Optional.singletonNone; + } + fold(onNone, onSome) { + if (this.tag) { + return onSome(this.value); + } else { + return onNone(); + } + } + isSome() { + return this.tag; + } + isNone() { + return !this.tag; + } + map(mapper) { + if (this.tag) { + return Optional.some(mapper(this.value)); + } else { + return Optional.none(); + } + } + bind(binder) { + if (this.tag) { + return binder(this.value); + } else { + return Optional.none(); + } + } + exists(predicate) { + return this.tag && predicate(this.value); + } + forall(predicate) { + return !this.tag || predicate(this.value); + } + filter(predicate) { + if (!this.tag || predicate(this.value)) { + return this; + } else { + return Optional.none(); + } + } + getOr(replacement) { + return this.tag ? this.value : replacement; + } + or(replacement) { + return this.tag ? this : replacement; + } + getOrThunk(thunk) { + return this.tag ? this.value : thunk(); + } + orThunk(thunk) { + return this.tag ? this : thunk(); + } + getOrDie(message) { + if (!this.tag) { + throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None'); + } else { + return this.value; + } + } + static from(value) { + return isNonNullable(value) ? Optional.some(value) : Optional.none(); + } + getOrNull() { + return this.tag ? this.value : null; + } + getOrUndefined() { + return this.value; + } + each(worker) { + if (this.tag) { + worker(this.value); + } + } + toArray() { + return this.tag ? [this.value] : []; + } + toString() { + return this.tag ? `some(${ this.value })` : 'none()'; + } + } + Optional.singletonNone = new Optional(false); + + const map = (xs, f) => { + const len = xs.length; + const r = new Array(len); + for (let i = 0; i < len; i++) { + const x = xs[i]; + r[i] = f(x, i); + } + return r; + }; + const each = (xs, f) => { + for (let i = 0, len = xs.length; i < len; i++) { + const x = xs[i]; + f(x, i); + } + }; + const filter = (xs, pred) => { + const r = []; + for (let i = 0, len = xs.length; i < len; i++) { + const x = xs[i]; + if (pred(x, i)) { + r.push(x); + } + } + return r; + }; + + const DOCUMENT = 9; + const DOCUMENT_FRAGMENT = 11; + const ELEMENT = 1; + const TEXT = 3; + + const fromHtml = (html, scope) => { + const doc = scope || document; + const div = doc.createElement('div'); + div.innerHTML = html; + if (!div.hasChildNodes() || div.childNodes.length > 1) { + const message = 'HTML does not have a single root node'; + console.error(message, html); + throw new Error(message); + } + return fromDom(div.childNodes[0]); + }; + const fromTag = (tag, scope) => { + const doc = scope || document; + const node = doc.createElement(tag); + return fromDom(node); + }; + const fromText = (text, scope) => { + const doc = scope || document; + const node = doc.createTextNode(text); + return fromDom(node); + }; + const fromDom = node => { + if (node === null || node === undefined) { + throw new Error('Node cannot be null or undefined'); + } + return { dom: node }; + }; + const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom); + const SugarElement = { + fromHtml, + fromTag, + fromText, + fromDom, + fromPoint + }; + + const is = (element, selector) => { + const dom = element.dom; + if (dom.nodeType !== ELEMENT) { + return false; + } else { + const elem = dom; + if (elem.matches !== undefined) { + return elem.matches(selector); + } else if (elem.msMatchesSelector !== undefined) { + return elem.msMatchesSelector(selector); + } else if (elem.webkitMatchesSelector !== undefined) { + return elem.webkitMatchesSelector(selector); + } else if (elem.mozMatchesSelector !== undefined) { + return elem.mozMatchesSelector(selector); + } else { + throw new Error('Browser lacks native selectors'); + } + } + }; + + typeof window !== 'undefined' ? window : Function('return this;')(); + + const name = element => { + const r = element.dom.nodeName; + return r.toLowerCase(); + }; + const type = element => element.dom.nodeType; + const isType = t => element => type(element) === t; + const isElement = isType(ELEMENT); + const isText = isType(TEXT); + const isDocument = isType(DOCUMENT); + const isDocumentFragment = isType(DOCUMENT_FRAGMENT); + const isTag = tag => e => isElement(e) && name(e) === tag; + + const owner = element => SugarElement.fromDom(element.dom.ownerDocument); + const documentOrOwner = dos => isDocument(dos) ? dos : owner(dos); + const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom); + const children$2 = element => map(element.dom.childNodes, SugarElement.fromDom); + + const rawSet = (dom, key, value) => { + if (isString(value) || isBoolean(value) || isNumber(value)) { + dom.setAttribute(key, value + ''); + } else { + console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom); + throw new Error('Attribute value was not simple'); + } + }; + const set = (element, key, value) => { + rawSet(element.dom, key, value); + }; + const remove = (element, key) => { + element.dom.removeAttribute(key); + }; + + const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host); + const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode); + const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner; + const getShadowRoot = e => { + const r = getRootNode(e); + return isShadowRoot(r) ? Optional.some(r) : Optional.none(); + }; + const getShadowHost = e => SugarElement.fromDom(e.dom.host); + + const inBody = element => { + const dom = isText(element) ? element.dom.parentNode : element.dom; + if (dom === undefined || dom === null || dom.ownerDocument === null) { + return false; + } + const doc = dom.ownerDocument; + return getShadowRoot(SugarElement.fromDom(dom)).fold(() => doc.body.contains(dom), compose1(inBody, getShadowHost)); + }; + + const ancestor$1 = (scope, predicate, isRoot) => { + let element = scope.dom; + const stop = isFunction(isRoot) ? isRoot : never; + while (element.parentNode) { + element = element.parentNode; + const el = SugarElement.fromDom(element); + if (predicate(el)) { + return Optional.some(el); + } else if (stop(el)) { + break; + } + } + return Optional.none(); + }; + + const ancestor = (scope, selector, isRoot) => ancestor$1(scope, e => is(e, selector), isRoot); + + const isSupported = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue); + + const get = (element, property) => { + const dom = element.dom; + const styles = window.getComputedStyle(dom); + const r = styles.getPropertyValue(property); + return r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r; + }; + const getUnsafeProperty = (dom, property) => isSupported(dom) ? dom.style.getPropertyValue(property) : ''; + + const getDirection = element => get(element, 'direction') === 'rtl' ? 'rtl' : 'ltr'; + + const children$1 = (scope, predicate) => filter(children$2(scope), predicate); + + const children = (scope, selector) => children$1(scope, e => is(e, selector)); + + const getParentElement = element => parent(element).filter(isElement); + const getNormalizedBlock = (element, isListItem) => { + const normalizedElement = isListItem ? ancestor(element, 'ol,ul') : Optional.some(element); + return normalizedElement.getOr(element); + }; + const isListItem = isTag('li'); + const setDirOnElements = (dom, blocks, dir) => { + each(blocks, block => { + const blockElement = SugarElement.fromDom(block); + const isBlockElementListItem = isListItem(blockElement); + const normalizedBlock = getNormalizedBlock(blockElement, isBlockElementListItem); + const normalizedBlockParent = getParentElement(normalizedBlock); + normalizedBlockParent.each(parent => { + dom.setStyle(normalizedBlock.dom, 'direction', null); + const parentDirection = getDirection(parent); + if (parentDirection === dir) { + remove(normalizedBlock, 'dir'); + } else { + set(normalizedBlock, 'dir', dir); + } + if (getDirection(normalizedBlock) !== dir) { + dom.setStyle(normalizedBlock.dom, 'direction', dir); + } + if (isBlockElementListItem) { + const listItems = children(normalizedBlock, 'li[dir],li[style]'); + each(listItems, listItem => { + remove(listItem, 'dir'); + dom.setStyle(listItem.dom, 'direction', null); + }); + } + }); + }); + }; + const setDir = (editor, dir) => { + if (editor.selection.isEditable()) { + setDirOnElements(editor.dom, editor.selection.getSelectedBlocks(), dir); + editor.nodeChanged(); + } + }; + + const register$1 = editor => { + editor.addCommand('mceDirectionLTR', () => { + setDir(editor, 'ltr'); + }); + editor.addCommand('mceDirectionRTL', () => { + setDir(editor, 'rtl'); + }); + }; + + const getNodeChangeHandler = (editor, dir) => api => { + const nodeChangeHandler = e => { + const element = SugarElement.fromDom(e.element); + api.setActive(getDirection(element) === dir); + api.setEnabled(editor.selection.isEditable()); + }; + editor.on('NodeChange', nodeChangeHandler); + api.setEnabled(editor.selection.isEditable()); + return () => editor.off('NodeChange', nodeChangeHandler); + }; + const register = editor => { + editor.ui.registry.addToggleButton('ltr', { + tooltip: 'Left to right', + icon: 'ltr', + onAction: () => editor.execCommand('mceDirectionLTR'), + onSetup: getNodeChangeHandler(editor, 'ltr') + }); + editor.ui.registry.addToggleButton('rtl', { + tooltip: 'Right to left', + icon: 'rtl', + onAction: () => editor.execCommand('mceDirectionRTL'), + onSetup: getNodeChangeHandler(editor, 'rtl') + }); + }; + + var Plugin = () => { + global.add('directionality', editor => { + register$1(editor); + register(editor); + }); + }; + + Plugin(); + +})(); diff --git a/public/tools/cloud_notes/tinymce/plugins/directionality/plugin.min.js b/public/tools/cloud_notes/tinymce/plugins/directionality/plugin.min.js new file mode 100644 index 0000000..c91d2bb --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/directionality/plugin.min.js @@ -0,0 +1,4 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ +!function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager");const e=t=>e=>typeof e===t,o=t=>"string"===(t=>{const e=typeof t;return null===t?"null":"object"===e&&Array.isArray(t)?"array":"object"===e&&(o=r=t,(n=String).prototype.isPrototypeOf(o)||(null===(i=r.constructor)||void 0===i?void 0:i.name)===n.name)?"string":e;var o,r,n,i})(t),r=e("boolean"),n=t=>!(t=>null==t)(t),i=e("function"),s=e("number"),l=(!1,()=>false);class a{constructor(t,e){this.tag=t,this.value=e}static some(t){return new a(!0,t)}static none(){return a.singletonNone}fold(t,e){return this.tag?e(this.value):t()}isSome(){return this.tag}isNone(){return!this.tag}map(t){return this.tag?a.some(t(this.value)):a.none()}bind(t){return this.tag?t(this.value):a.none()}exists(t){return this.tag&&t(this.value)}forall(t){return!this.tag||t(this.value)}filter(t){return!this.tag||t(this.value)?this:a.none()}getOr(t){return this.tag?this.value:t}or(t){return this.tag?this:t}getOrThunk(t){return this.tag?this.value:t()}orThunk(t){return this.tag?this:t()}getOrDie(t){if(this.tag)return this.value;throw new Error(null!=t?t:"Called getOrDie on None")}static from(t){return n(t)?a.some(t):a.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(t){this.tag&&t(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}a.singletonNone=new a(!1);const u=(t,e)=>{for(let o=0,r=t.length;o{if(null==t)throw new Error("Node cannot be null or undefined");return{dom:t}},d=c,h=(t,e)=>{const o=t.dom;if(1!==o.nodeType)return!1;{const t=o;if(void 0!==t.matches)return t.matches(e);if(void 0!==t.msMatchesSelector)return t.msMatchesSelector(e);if(void 0!==t.webkitMatchesSelector)return t.webkitMatchesSelector(e);if(void 0!==t.mozMatchesSelector)return t.mozMatchesSelector(e);throw new Error("Browser lacks native selectors")}};"undefined"!=typeof window?window:Function("return this;")();const m=t=>e=>(t=>t.dom.nodeType)(e)===t,g=m(1),f=m(3),v=m(9),y=m(11),p=(t,e)=>{t.dom.removeAttribute(e)},w=i(Element.prototype.attachShadow)&&i(Node.prototype.getRootNode)?t=>d(t.dom.getRootNode()):t=>v(t)?t:d(t.dom.ownerDocument),b=t=>d(t.dom.host),N=t=>{const e=f(t)?t.dom.parentNode:t.dom;if(null==e||null===e.ownerDocument)return!1;const o=e.ownerDocument;return(t=>{const e=w(t);return y(o=e)&&n(o.dom.host)?a.some(e):a.none();var o})(d(e)).fold((()=>o.body.contains(e)),(r=N,i=b,t=>r(i(t))));var r,i},S=t=>"rtl"===((t,e)=>{const o=t.dom,r=window.getComputedStyle(o).getPropertyValue(e);return""!==r||N(t)?r:((t,e)=>(t=>void 0!==t.style&&i(t.style.getPropertyValue))(t)?t.style.getPropertyValue(e):"")(o,e)})(t,"direction")?"rtl":"ltr",A=(t,e)=>((t,o)=>((t,e)=>{const o=[];for(let r=0,n=t.length;r{const o=t.length,r=new Array(o);for(let n=0;nh(t,e))))(t),E=("li",t=>g(t)&&"li"===t.dom.nodeName.toLowerCase());const T=(t,e,n)=>{u(e,(e=>{const c=d(e),m=E(c),f=((t,e)=>{return(e?(o=t,r="ol,ul",((t,e,o)=>{let n=t.dom;const s=i(o)?o:l;for(;n.parentNode;){n=n.parentNode;const t=d(n);if(h(t,r))return a.some(t);if(s(t))break}return a.none()})(o,0,n)):a.some(t)).getOr(t);var o,r,n})(c,m);var v;(v=f,(t=>a.from(t.dom.parentNode).map(d))(v).filter(g)).each((e=>{if(t.setStyle(f.dom,"direction",null),S(e)===n?p(f,"dir"):((t,e,n)=>{((t,e,n)=>{if(!(o(n)||r(n)||s(n)))throw console.error("Invalid call to Attribute.set. Key ",e,":: Value ",n,":: Element ",t),new Error("Attribute value was not simple");t.setAttribute(e,n+"")})(t.dom,e,n)})(f,"dir",n),S(f)!==n&&t.setStyle(f.dom,"direction",n),m){const e=A(f,"li[dir],li[style]");u(e,(e=>{p(e,"dir"),t.setStyle(e.dom,"direction",null)}))}}))}))},C=(t,e)=>{t.selection.isEditable()&&(T(t.dom,t.selection.getSelectedBlocks(),e),t.nodeChanged())},D=(t,e)=>o=>{const r=r=>{const n=d(r.element);o.setActive(S(n)===e),o.setEnabled(t.selection.isEditable())};return t.on("NodeChange",r),o.setEnabled(t.selection.isEditable()),()=>t.off("NodeChange",r)};t.add("directionality",(t=>{(t=>{t.addCommand("mceDirectionLTR",(()=>{C(t,"ltr")})),t.addCommand("mceDirectionRTL",(()=>{C(t,"rtl")}))})(t),(t=>{t.ui.registry.addToggleButton("ltr",{tooltip:"Left to right",icon:"ltr",onAction:()=>t.execCommand("mceDirectionLTR"),onSetup:D(t,"ltr")}),t.ui.registry.addToggleButton("rtl",{tooltip:"Right to left",icon:"rtl",onAction:()=>t.execCommand("mceDirectionRTL"),onSetup:D(t,"rtl")})})(t)}))}(); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/emoticons/index.js b/public/tools/cloud_notes/tinymce/plugins/emoticons/index.js new file mode 100644 index 0000000..7a97379 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/emoticons/index.js @@ -0,0 +1,7 @@ +// Exports the "emoticons" plugin for usage with module loaders +// Usage: +// CommonJS: +// require('tinymce/plugins/emoticons') +// ES2015: +// import 'tinymce/plugins/emoticons' +require('./plugin.js'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/emoticons/js/emojiimages.js b/public/tools/cloud_notes/tinymce/plugins/emoticons/js/emojiimages.js new file mode 100644 index 0000000..6fcec71 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/emoticons/js/emojiimages.js @@ -0,0 +1 @@ +window.tinymce.Resource.add("tinymce.plugins.emoticons",{100:{keywords:["score","perfect","numbers","century","exam","quiz","test","pass","hundred"],char:'💯',fitzpatrick_scale:false,category:"symbols"},1234:{keywords:["numbers","blue-square"],char:'🔢',fitzpatrick_scale:false,category:"symbols"},grinning:{keywords:["face","smile","happy","joy",":D","grin"],char:'😀',fitzpatrick_scale:false,category:"people"},grimacing:{keywords:["face","grimace","teeth"],char:'😬',fitzpatrick_scale:false,category:"people"},grin:{keywords:["face","happy","smile","joy","kawaii"],char:'😁',fitzpatrick_scale:false,category:"people"},joy:{keywords:["face","cry","tears","weep","happy","happytears","haha"],char:'😂',fitzpatrick_scale:false,category:"people"},rofl:{keywords:["face","rolling","floor","laughing","lol","haha"],char:'🤣',fitzpatrick_scale:false,category:"people"},partying:{keywords:["face","celebration","woohoo"],char:'🥳',fitzpatrick_scale:false,category:"people"},smiley:{keywords:["face","happy","joy","haha",":D",":)","smile","funny"],char:'😃',fitzpatrick_scale:false,category:"people"},smile:{keywords:["face","happy","joy","funny","haha","laugh","like",":D",":)"],char:'😄',fitzpatrick_scale:false,category:"people"},sweat_smile:{keywords:["face","hot","happy","laugh","sweat","smile","relief"],char:'😅',fitzpatrick_scale:false,category:"people"},laughing:{keywords:["happy","joy","lol","satisfied","haha","face","glad","XD","laugh"],char:'😆',fitzpatrick_scale:false,category:"people"},innocent:{keywords:["face","angel","heaven","halo"],char:'😇',fitzpatrick_scale:false,category:"people"},wink:{keywords:["face","happy","mischievous","secret",";)","smile","eye"],char:'😉',fitzpatrick_scale:false,category:"people"},blush:{keywords:["face","smile","happy","flushed","crush","embarrassed","shy","joy"],char:'😊',fitzpatrick_scale:false,category:"people"},slightly_smiling_face:{keywords:["face","smile"],char:'🙂',fitzpatrick_scale:false,category:"people"},upside_down_face:{keywords:["face","flipped","silly","smile"],char:'🙃',fitzpatrick_scale:false,category:"people"},relaxed:{keywords:["face","blush","massage","happiness"],char:'☺️',fitzpatrick_scale:false,category:"people"},yum:{keywords:["happy","joy","tongue","smile","face","silly","yummy","nom","delicious","savouring"],char:'😋',fitzpatrick_scale:false,category:"people"},relieved:{keywords:["face","relaxed","phew","massage","happiness"],char:'😌',fitzpatrick_scale:false,category:"people"},heart_eyes:{keywords:["face","love","like","affection","valentines","infatuation","crush","heart"],char:'😍',fitzpatrick_scale:false,category:"people"},smiling_face_with_three_hearts:{keywords:["face","love","like","affection","valentines","infatuation","crush","hearts","adore"],char:'🥰',fitzpatrick_scale:false,category:"people"},kissing_heart:{keywords:["face","love","like","affection","valentines","infatuation","kiss"],char:'😘',fitzpatrick_scale:false,category:"people"},kissing:{keywords:["love","like","face","3","valentines","infatuation","kiss"],char:'😗',fitzpatrick_scale:false,category:"people"},kissing_smiling_eyes:{keywords:["face","affection","valentines","infatuation","kiss"],char:'😙',fitzpatrick_scale:false,category:"people"},kissing_closed_eyes:{keywords:["face","love","like","affection","valentines","infatuation","kiss"],char:'😚',fitzpatrick_scale:false,category:"people"},stuck_out_tongue_winking_eye:{keywords:["face","prank","childish","playful","mischievous","smile","wink","tongue"],char:'😜',fitzpatrick_scale:false,category:"people"},zany:{keywords:["face","goofy","crazy"],char:'🤪',fitzpatrick_scale:false,category:"people"},raised_eyebrow:{keywords:["face","distrust","scepticism","disapproval","disbelief","surprise"],char:'🤨',fitzpatrick_scale:false,category:"people"},monocle:{keywords:["face","stuffy","wealthy"],char:'🧐',fitzpatrick_scale:false,category:"people"},stuck_out_tongue_closed_eyes:{keywords:["face","prank","playful","mischievous","smile","tongue"],char:'😝',fitzpatrick_scale:false,category:"people"},stuck_out_tongue:{keywords:["face","prank","childish","playful","mischievous","smile","tongue"],char:'😛',fitzpatrick_scale:false,category:"people"},money_mouth_face:{keywords:["face","rich","dollar","money"],char:'🤑',fitzpatrick_scale:false,category:"people"},nerd_face:{keywords:["face","nerdy","geek","dork"],char:'🤓',fitzpatrick_scale:false,category:"people"},sunglasses:{keywords:["face","cool","smile","summer","beach","sunglass"],char:'😎',fitzpatrick_scale:false,category:"people"},star_struck:{keywords:["face","smile","starry","eyes","grinning"],char:'🤩',fitzpatrick_scale:false,category:"people"},clown_face:{keywords:["face"],char:'🤡',fitzpatrick_scale:false,category:"people"},cowboy_hat_face:{keywords:["face","cowgirl","hat"],char:'🤠',fitzpatrick_scale:false,category:"people"},hugs:{keywords:["face","smile","hug"],char:'🤗',fitzpatrick_scale:false,category:"people"},smirk:{keywords:["face","smile","mean","prank","smug","sarcasm"],char:'😏',fitzpatrick_scale:false,category:"people"},no_mouth:{keywords:["face","hellokitty"],char:'😶',fitzpatrick_scale:false,category:"people"},neutral_face:{keywords:["indifference","meh",":|","neutral"],char:'😐',fitzpatrick_scale:false,category:"people"},expressionless:{keywords:["face","indifferent","-_-","meh","deadpan"],char:'😑',fitzpatrick_scale:false,category:"people"},unamused:{keywords:["indifference","bored","straight face","serious","sarcasm","unimpressed","skeptical","dubious","side_eye"],char:'😒',fitzpatrick_scale:false,category:"people"},roll_eyes:{keywords:["face","eyeroll","frustrated"],char:'🙄',fitzpatrick_scale:false,category:"people"},thinking:{keywords:["face","hmmm","think","consider"],char:'🤔',fitzpatrick_scale:false,category:"people"},lying_face:{keywords:["face","lie","pinocchio"],char:'🤥',fitzpatrick_scale:false,category:"people"},hand_over_mouth:{keywords:["face","whoops","shock","surprise"],char:'🤭',fitzpatrick_scale:false,category:"people"},shushing:{keywords:["face","quiet","shhh"],char:'🤫',fitzpatrick_scale:false,category:"people"},symbols_over_mouth:{keywords:["face","swearing","cursing","cussing","profanity","expletive"],char:'🤬',fitzpatrick_scale:false,category:"people"},exploding_head:{keywords:["face","shocked","mind","blown"],char:'🤯',fitzpatrick_scale:false,category:"people"},flushed:{keywords:["face","blush","shy","flattered"],char:'😳',fitzpatrick_scale:false,category:"people"},disappointed:{keywords:["face","sad","upset","depressed",":("],char:'😞',fitzpatrick_scale:false,category:"people"},worried:{keywords:["face","concern","nervous",":("],char:'😟',fitzpatrick_scale:false,category:"people"},angry:{keywords:["mad","face","annoyed","frustrated"],char:'😠',fitzpatrick_scale:false,category:"people"},rage:{keywords:["angry","mad","hate","despise"],char:'😡',fitzpatrick_scale:false,category:"people"},pensive:{keywords:["face","sad","depressed","upset"],char:'😔',fitzpatrick_scale:false,category:"people"},confused:{keywords:["face","indifference","huh","weird","hmmm",":/"],char:'😕',fitzpatrick_scale:false,category:"people"},slightly_frowning_face:{keywords:["face","frowning","disappointed","sad","upset"],char:'🙁',fitzpatrick_scale:false,category:"people"},frowning_face:{keywords:["face","sad","upset","frown"],char:'☹',fitzpatrick_scale:false,category:"people"},persevere:{keywords:["face","sick","no","upset","oops"],char:'😣',fitzpatrick_scale:false,category:"people"},confounded:{keywords:["face","confused","sick","unwell","oops",":S"],char:'😖',fitzpatrick_scale:false,category:"people"},tired_face:{keywords:["sick","whine","upset","frustrated"],char:'😫',fitzpatrick_scale:false,category:"people"},weary:{keywords:["face","tired","sleepy","sad","frustrated","upset"],char:'😩',fitzpatrick_scale:false,category:"people"},pleading:{keywords:["face","begging","mercy"],char:'🥺',fitzpatrick_scale:false,category:"people"},triumph:{keywords:["face","gas","phew","proud","pride"],char:'😤',fitzpatrick_scale:false,category:"people"},open_mouth:{keywords:["face","surprise","impressed","wow","whoa",":O"],char:'😮',fitzpatrick_scale:false,category:"people"},scream:{keywords:["face","munch","scared","omg"],char:'😱',fitzpatrick_scale:false,category:"people"},fearful:{keywords:["face","scared","terrified","nervous","oops","huh"],char:'😨',fitzpatrick_scale:false,category:"people"},cold_sweat:{keywords:["face","nervous","sweat"],char:'😰',fitzpatrick_scale:false,category:"people"},hushed:{keywords:["face","woo","shh"],char:'😯',fitzpatrick_scale:false,category:"people"},frowning:{keywords:["face","aw","what"],char:'😦',fitzpatrick_scale:false,category:"people"},anguished:{keywords:["face","stunned","nervous"],char:'😧',fitzpatrick_scale:false,category:"people"},cry:{keywords:["face","tears","sad","depressed","upset",":'("],char:'😢',fitzpatrick_scale:false,category:"people"},disappointed_relieved:{keywords:["face","phew","sweat","nervous"],char:'😥',fitzpatrick_scale:false,category:"people"},drooling_face:{keywords:["face"],char:'🤤',fitzpatrick_scale:false,category:"people"},sleepy:{keywords:["face","tired","rest","nap"],char:'😪',fitzpatrick_scale:false,category:"people"},sweat:{keywords:["face","hot","sad","tired","exercise"],char:'😓',fitzpatrick_scale:false,category:"people"},hot:{keywords:["face","feverish","heat","red","sweating"],char:'🥵',fitzpatrick_scale:false,category:"people"},cold:{keywords:["face","blue","freezing","frozen","frostbite","icicles"],char:'🥶',fitzpatrick_scale:false,category:"people"},sob:{keywords:["face","cry","tears","sad","upset","depressed"],char:'😭',fitzpatrick_scale:false,category:"people"},dizzy_face:{keywords:["spent","unconscious","xox","dizzy"],char:'😵',fitzpatrick_scale:false,category:"people"},astonished:{keywords:["face","xox","surprised","poisoned"],char:'😲',fitzpatrick_scale:false,category:"people"},zipper_mouth_face:{keywords:["face","sealed","zipper","secret"],char:'🤐',fitzpatrick_scale:false,category:"people"},nauseated_face:{keywords:["face","vomit","gross","green","sick","throw up","ill"],char:'🤢',fitzpatrick_scale:false,category:"people"},sneezing_face:{keywords:["face","gesundheit","sneeze","sick","allergy"],char:'🤧',fitzpatrick_scale:false,category:"people"},vomiting:{keywords:["face","sick"],char:'🤮',fitzpatrick_scale:false,category:"people"},mask:{keywords:["face","sick","ill","disease"],char:'😷',fitzpatrick_scale:false,category:"people"},face_with_thermometer:{keywords:["sick","temperature","thermometer","cold","fever"],char:'🤒',fitzpatrick_scale:false,category:"people"},face_with_head_bandage:{keywords:["injured","clumsy","bandage","hurt"],char:'🤕',fitzpatrick_scale:false,category:"people"},woozy:{keywords:["face","dizzy","intoxicated","tipsy","wavy"],char:'🥴',fitzpatrick_scale:false,category:"people"},sleeping:{keywords:["face","tired","sleepy","night","zzz"],char:'😴',fitzpatrick_scale:false,category:"people"},zzz:{keywords:["sleepy","tired","dream"],char:'💤',fitzpatrick_scale:false,category:"people"},poop:{keywords:["hankey","shitface","fail","turd","shit"],char:'💩',fitzpatrick_scale:false,category:"people"},smiling_imp:{keywords:["devil","horns"],char:'😈',fitzpatrick_scale:false,category:"people"},imp:{keywords:["devil","angry","horns"],char:'👿',fitzpatrick_scale:false,category:"people"},japanese_ogre:{keywords:["monster","red","mask","halloween","scary","creepy","devil","demon","japanese","ogre"],char:'👹',fitzpatrick_scale:false,category:"people"},japanese_goblin:{keywords:["red","evil","mask","monster","scary","creepy","japanese","goblin"],char:'👺',fitzpatrick_scale:false,category:"people"},skull:{keywords:["dead","skeleton","creepy","death"],char:'💀',fitzpatrick_scale:false,category:"people"},ghost:{keywords:["halloween","spooky","scary"],char:'👻',fitzpatrick_scale:false,category:"people"},alien:{keywords:["UFO","paul","weird","outer_space"],char:'👽',fitzpatrick_scale:false,category:"people"},robot:{keywords:["computer","machine","bot"],char:'🤖',fitzpatrick_scale:false,category:"people"},smiley_cat:{keywords:["animal","cats","happy","smile"],char:'😺',fitzpatrick_scale:false,category:"people"},smile_cat:{keywords:["animal","cats","smile"],char:'😸',fitzpatrick_scale:false,category:"people"},joy_cat:{keywords:["animal","cats","haha","happy","tears"],char:'😹',fitzpatrick_scale:false,category:"people"},heart_eyes_cat:{keywords:["animal","love","like","affection","cats","valentines","heart"],char:'😻',fitzpatrick_scale:false,category:"people"},smirk_cat:{keywords:["animal","cats","smirk"],char:'😼',fitzpatrick_scale:false,category:"people"},kissing_cat:{keywords:["animal","cats","kiss"],char:'😽',fitzpatrick_scale:false,category:"people"},scream_cat:{keywords:["animal","cats","munch","scared","scream"],char:'🙀',fitzpatrick_scale:false,category:"people"},crying_cat_face:{keywords:["animal","tears","weep","sad","cats","upset","cry"],char:'😿',fitzpatrick_scale:false,category:"people"},pouting_cat:{keywords:["animal","cats"],char:'😾',fitzpatrick_scale:false,category:"people"},palms_up:{keywords:["hands","gesture","cupped","prayer"],char:'🤲',fitzpatrick_scale:true,category:"people"},raised_hands:{keywords:["gesture","hooray","yea","celebration","hands"],char:'🙌',fitzpatrick_scale:true,category:"people"},clap:{keywords:["hands","praise","applause","congrats","yay"],char:'👏',fitzpatrick_scale:true,category:"people"},wave:{keywords:["hands","gesture","goodbye","solong","farewell","hello","hi","palm"],char:'👋',fitzpatrick_scale:true,category:"people"},call_me_hand:{keywords:["hands","gesture"],char:'🤙',fitzpatrick_scale:true,category:"people"},"+1":{keywords:["thumbsup","yes","awesome","good","agree","accept","cool","hand","like"],char:'👍',fitzpatrick_scale:true,category:"people"},"-1":{keywords:["thumbsdown","no","dislike","hand"],char:'👎',fitzpatrick_scale:true,category:"people"},facepunch:{keywords:["angry","violence","fist","hit","attack","hand"],char:'👊',fitzpatrick_scale:true,category:"people"},fist:{keywords:["fingers","hand","grasp"],char:'✊',fitzpatrick_scale:true,category:"people"},fist_left:{keywords:["hand","fistbump"],char:'🤛',fitzpatrick_scale:true,category:"people"},fist_right:{keywords:["hand","fistbump"],char:'🤜',fitzpatrick_scale:true,category:"people"},v:{keywords:["fingers","ohyeah","hand","peace","victory","two"],char:'✌',fitzpatrick_scale:true,category:"people"},ok_hand:{keywords:["fingers","limbs","perfect","ok","okay"],char:'👌',fitzpatrick_scale:true,category:"people"},raised_hand:{keywords:["fingers","stop","highfive","palm","ban"],char:'✋',fitzpatrick_scale:true,category:"people"},raised_back_of_hand:{keywords:["fingers","raised","backhand"],char:'🤚',fitzpatrick_scale:true,category:"people"},open_hands:{keywords:["fingers","butterfly","hands","open"],char:'👐',fitzpatrick_scale:true,category:"people"},muscle:{keywords:["arm","flex","hand","summer","strong","biceps"],char:'💪',fitzpatrick_scale:true,category:"people"},pray:{keywords:["please","hope","wish","namaste","highfive"],char:'🙏',fitzpatrick_scale:true,category:"people"},foot:{keywords:["kick","stomp"],char:'🦶',fitzpatrick_scale:true,category:"people"},leg:{keywords:["kick","limb"],char:'🦵',fitzpatrick_scale:true,category:"people"},handshake:{keywords:["agreement","shake"],char:'🤝',fitzpatrick_scale:false,category:"people"},point_up:{keywords:["hand","fingers","direction","up"],char:'☝',fitzpatrick_scale:true,category:"people"},point_up_2:{keywords:["fingers","hand","direction","up"],char:'👆',fitzpatrick_scale:true,category:"people"},point_down:{keywords:["fingers","hand","direction","down"],char:'👇',fitzpatrick_scale:true,category:"people"},point_left:{keywords:["direction","fingers","hand","left"],char:'👈',fitzpatrick_scale:true,category:"people"},point_right:{keywords:["fingers","hand","direction","right"],char:'👉',fitzpatrick_scale:true,category:"people"},fu:{keywords:["hand","fingers","rude","middle","flipping"],char:'🖕',fitzpatrick_scale:true,category:"people"},raised_hand_with_fingers_splayed:{keywords:["hand","fingers","palm"],char:'🖐',fitzpatrick_scale:true,category:"people"},love_you:{keywords:["hand","fingers","gesture"],char:'🤟',fitzpatrick_scale:true,category:"people"},metal:{keywords:["hand","fingers","evil_eye","sign_of_horns","rock_on"],char:'🤘',fitzpatrick_scale:true,category:"people"},crossed_fingers:{keywords:["good","lucky"],char:'🤞',fitzpatrick_scale:true,category:"people"},vulcan_salute:{keywords:["hand","fingers","spock","star trek"],char:'🖖',fitzpatrick_scale:true,category:"people"},writing_hand:{keywords:["lower_left_ballpoint_pen","stationery","write","compose"],char:'✍',fitzpatrick_scale:true,category:"people"},selfie:{keywords:["camera","phone"],char:'🤳',fitzpatrick_scale:true,category:"people"},nail_care:{keywords:["beauty","manicure","finger","fashion","nail"],char:'💅',fitzpatrick_scale:true,category:"people"},lips:{keywords:["mouth","kiss"],char:'👄',fitzpatrick_scale:false,category:"people"},tooth:{keywords:["teeth","dentist"],char:'🦷',fitzpatrick_scale:false,category:"people"},tongue:{keywords:["mouth","playful"],char:'👅',fitzpatrick_scale:false,category:"people"},ear:{keywords:["face","hear","sound","listen"],char:'👂',fitzpatrick_scale:true,category:"people"},nose:{keywords:["smell","sniff"],char:'👃',fitzpatrick_scale:true,category:"people"},eye:{keywords:["face","look","see","watch","stare"],char:'👁',fitzpatrick_scale:false,category:"people"},eyes:{keywords:["look","watch","stalk","peek","see"],char:'👀',fitzpatrick_scale:false,category:"people"},brain:{keywords:["smart","intelligent"],char:'🧠',fitzpatrick_scale:false,category:"people"},bust_in_silhouette:{keywords:["user","person","human"],char:'👤',fitzpatrick_scale:false,category:"people"},busts_in_silhouette:{keywords:["user","person","human","group","team"],char:'👥',fitzpatrick_scale:false,category:"people"},speaking_head:{keywords:["user","person","human","sing","say","talk"],char:'🗣',fitzpatrick_scale:false,category:"people"},baby:{keywords:["child","boy","girl","toddler"],char:'👶',fitzpatrick_scale:true,category:"people"},child:{keywords:["gender-neutral","young"],char:'🧒',fitzpatrick_scale:true,category:"people"},boy:{keywords:["man","male","guy","teenager"],char:'👦',fitzpatrick_scale:true,category:"people"},girl:{keywords:["female","woman","teenager"],char:'👧',fitzpatrick_scale:true,category:"people"},adult:{keywords:["gender-neutral","person"],char:'🧑',fitzpatrick_scale:true,category:"people"},man:{keywords:["mustache","father","dad","guy","classy","sir","moustache"],char:'👨',fitzpatrick_scale:true,category:"people"},woman:{keywords:["female","girls","lady"],char:'👩',fitzpatrick_scale:true,category:"people"},blonde_woman:{keywords:["woman","female","girl","blonde","person"],char:'👱‍♀️',fitzpatrick_scale:true,category:"people"},blonde_man:{keywords:["man","male","boy","blonde","guy","person"],char:'👱',fitzpatrick_scale:true,category:"people"},bearded_person:{keywords:["person","bewhiskered"],char:'🧔',fitzpatrick_scale:true,category:"people"},older_adult:{keywords:["human","elder","senior","gender-neutral"],char:'🧓',fitzpatrick_scale:true,category:"people"},older_man:{keywords:["human","male","men","old","elder","senior"],char:'👴',fitzpatrick_scale:true,category:"people"},older_woman:{keywords:["human","female","women","lady","old","elder","senior"],char:'👵',fitzpatrick_scale:true,category:"people"},man_with_gua_pi_mao:{keywords:["male","boy","chinese"],char:'👲',fitzpatrick_scale:true,category:"people"},woman_with_headscarf:{keywords:["female","hijab","mantilla","tichel"],char:'🧕',fitzpatrick_scale:true,category:"people"},woman_with_turban:{keywords:["female","indian","hinduism","arabs","woman"],char:'👳‍♀️',fitzpatrick_scale:true,category:"people"},man_with_turban:{keywords:["male","indian","hinduism","arabs"],char:'👳',fitzpatrick_scale:true,category:"people"},policewoman:{keywords:["woman","police","law","legal","enforcement","arrest","911","female"],char:'👮‍♀️',fitzpatrick_scale:true,category:"people"},policeman:{keywords:["man","police","law","legal","enforcement","arrest","911"],char:'👮',fitzpatrick_scale:true,category:"people"},construction_worker_woman:{keywords:["female","human","wip","build","construction","worker","labor","woman"],char:'👷‍♀️',fitzpatrick_scale:true,category:"people"},construction_worker_man:{keywords:["male","human","wip","guy","build","construction","worker","labor"],char:'👷',fitzpatrick_scale:true,category:"people"},guardswoman:{keywords:["uk","gb","british","female","royal","woman"],char:'💂‍♀️',fitzpatrick_scale:true,category:"people"},guardsman:{keywords:["uk","gb","british","male","guy","royal"],char:'💂',fitzpatrick_scale:true,category:"people"},female_detective:{keywords:["human","spy","detective","female","woman"],char:'🕵️‍♀️',fitzpatrick_scale:true,category:"people"},male_detective:{keywords:["human","spy","detective"],char:'🕵',fitzpatrick_scale:true,category:"people"},woman_health_worker:{keywords:["doctor","nurse","therapist","healthcare","woman","human"],char:'👩‍⚕️',fitzpatrick_scale:true,category:"people"},man_health_worker:{keywords:["doctor","nurse","therapist","healthcare","man","human"],char:'👨‍⚕️',fitzpatrick_scale:true,category:"people"},woman_farmer:{keywords:["rancher","gardener","woman","human"],char:'👩‍🌾',fitzpatrick_scale:true,category:"people"},man_farmer:{keywords:["rancher","gardener","man","human"],char:'👨‍🌾',fitzpatrick_scale:true,category:"people"},woman_cook:{keywords:["chef","woman","human"],char:'👩‍🍳',fitzpatrick_scale:true,category:"people"},man_cook:{keywords:["chef","man","human"],char:'👨‍🍳',fitzpatrick_scale:true,category:"people"},woman_student:{keywords:["graduate","woman","human"],char:'👩‍🎓',fitzpatrick_scale:true,category:"people"},man_student:{keywords:["graduate","man","human"],char:'👨‍🎓',fitzpatrick_scale:true,category:"people"},woman_singer:{keywords:["rockstar","entertainer","woman","human"],char:'👩‍🎤',fitzpatrick_scale:true,category:"people"},man_singer:{keywords:["rockstar","entertainer","man","human"],char:'👨‍🎤',fitzpatrick_scale:true,category:"people"},woman_teacher:{keywords:["instructor","professor","woman","human"],char:'👩‍🏫',fitzpatrick_scale:true,category:"people"},man_teacher:{keywords:["instructor","professor","man","human"],char:'👨‍🏫',fitzpatrick_scale:true,category:"people"},woman_factory_worker:{keywords:["assembly","industrial","woman","human"],char:'👩‍🏭',fitzpatrick_scale:true,category:"people"},man_factory_worker:{keywords:["assembly","industrial","man","human"],char:'👨‍🏭',fitzpatrick_scale:true,category:"people"},woman_technologist:{keywords:["coder","developer","engineer","programmer","software","woman","human","laptop","computer"],char:'👩‍💻',fitzpatrick_scale:true,category:"people"},man_technologist:{keywords:["coder","developer","engineer","programmer","software","man","human","laptop","computer"],char:'👨‍💻',fitzpatrick_scale:true,category:"people"},woman_office_worker:{keywords:["business","manager","woman","human"],char:'👩‍💼',fitzpatrick_scale:true,category:"people"},man_office_worker:{keywords:["business","manager","man","human"],char:'👨‍💼',fitzpatrick_scale:true,category:"people"},woman_mechanic:{keywords:["plumber","woman","human","wrench"],char:'👩‍🔧',fitzpatrick_scale:true,category:"people"},man_mechanic:{keywords:["plumber","man","human","wrench"],char:'👨‍🔧',fitzpatrick_scale:true,category:"people"},woman_scientist:{keywords:["biologist","chemist","engineer","physicist","woman","human"],char:'👩‍🔬',fitzpatrick_scale:true,category:"people"},man_scientist:{keywords:["biologist","chemist","engineer","physicist","man","human"],char:'👨‍🔬',fitzpatrick_scale:true,category:"people"},woman_artist:{keywords:["painter","woman","human"],char:'👩‍🎨',fitzpatrick_scale:true,category:"people"},man_artist:{keywords:["painter","man","human"],char:'👨‍🎨',fitzpatrick_scale:true,category:"people"},woman_firefighter:{keywords:["fireman","woman","human"],char:'👩‍🚒',fitzpatrick_scale:true,category:"people"},man_firefighter:{keywords:["fireman","man","human"],char:'👨‍🚒',fitzpatrick_scale:true,category:"people"},woman_pilot:{keywords:["aviator","plane","woman","human"],char:'👩‍✈️',fitzpatrick_scale:true,category:"people"},man_pilot:{keywords:["aviator","plane","man","human"],char:'👨‍✈️',fitzpatrick_scale:true,category:"people"},woman_astronaut:{keywords:["space","rocket","woman","human"],char:'👩‍🚀',fitzpatrick_scale:true,category:"people"},man_astronaut:{keywords:["space","rocket","man","human"],char:'👨‍🚀',fitzpatrick_scale:true,category:"people"},woman_judge:{keywords:["justice","court","woman","human"],char:'👩‍⚖️',fitzpatrick_scale:true,category:"people"},man_judge:{keywords:["justice","court","man","human"],char:'👨‍⚖️',fitzpatrick_scale:true,category:"people"},woman_superhero:{keywords:["woman","female","good","heroine","superpowers"],char:'🦸‍♀️',fitzpatrick_scale:true,category:"people"},man_superhero:{keywords:["man","male","good","hero","superpowers"],char:'🦸‍♂️',fitzpatrick_scale:true,category:"people"},woman_supervillain:{keywords:["woman","female","evil","bad","criminal","heroine","superpowers"],char:'🦹‍♀️',fitzpatrick_scale:true,category:"people"},man_supervillain:{keywords:["man","male","evil","bad","criminal","hero","superpowers"],char:'🦹‍♂️',fitzpatrick_scale:true,category:"people"},mrs_claus:{keywords:["woman","female","xmas","mother christmas"],char:'🤶',fitzpatrick_scale:true,category:"people"},santa:{keywords:["festival","man","male","xmas","father christmas"],char:'🎅',fitzpatrick_scale:true,category:"people"},sorceress:{keywords:["woman","female","mage","witch"],char:'🧙‍♀️',fitzpatrick_scale:true,category:"people"},wizard:{keywords:["man","male","mage","sorcerer"],char:'🧙‍♂️',fitzpatrick_scale:true,category:"people"},woman_elf:{keywords:["woman","female"],char:'🧝‍♀️',fitzpatrick_scale:true,category:"people"},man_elf:{keywords:["man","male"],char:'🧝‍♂️',fitzpatrick_scale:true,category:"people"},woman_vampire:{keywords:["woman","female"],char:'🧛‍♀️',fitzpatrick_scale:true,category:"people"},man_vampire:{keywords:["man","male","dracula"],char:'🧛‍♂️',fitzpatrick_scale:true,category:"people"},woman_zombie:{keywords:["woman","female","undead","walking dead"],char:'🧟‍♀️',fitzpatrick_scale:false,category:"people"},man_zombie:{keywords:["man","male","dracula","undead","walking dead"],char:'🧟‍♂️',fitzpatrick_scale:false,category:"people"},woman_genie:{keywords:["woman","female"],char:'🧞‍♀️',fitzpatrick_scale:false,category:"people"},man_genie:{keywords:["man","male"],char:'🧞‍♂️',fitzpatrick_scale:false,category:"people"},mermaid:{keywords:["woman","female","merwoman","ariel"],char:'🧜‍♀️',fitzpatrick_scale:true,category:"people"},merman:{keywords:["man","male","triton"],char:'🧜‍♂️',fitzpatrick_scale:true,category:"people"},woman_fairy:{keywords:["woman","female"],char:'🧚‍♀️',fitzpatrick_scale:true,category:"people"},man_fairy:{keywords:["man","male"],char:'🧚‍♂️',fitzpatrick_scale:true,category:"people"},angel:{keywords:["heaven","wings","halo"],char:'👼',fitzpatrick_scale:true,category:"people"},pregnant_woman:{keywords:["baby"],char:'🤰',fitzpatrick_scale:true,category:"people"},breastfeeding:{keywords:["nursing","baby"],char:'🤱',fitzpatrick_scale:true,category:"people"},princess:{keywords:["girl","woman","female","blond","crown","royal","queen"],char:'👸',fitzpatrick_scale:true,category:"people"},prince:{keywords:["boy","man","male","crown","royal","king"],char:'🤴',fitzpatrick_scale:true,category:"people"},bride_with_veil:{keywords:["couple","marriage","wedding","woman","bride"],char:'👰',fitzpatrick_scale:true,category:"people"},man_in_tuxedo:{keywords:["couple","marriage","wedding","groom"],char:'🤵',fitzpatrick_scale:true,category:"people"},running_woman:{keywords:["woman","walking","exercise","race","running","female"],char:'🏃‍♀️',fitzpatrick_scale:true,category:"people"},running_man:{keywords:["man","walking","exercise","race","running"],char:'🏃',fitzpatrick_scale:true,category:"people"},walking_woman:{keywords:["human","feet","steps","woman","female"],char:'🚶‍♀️',fitzpatrick_scale:true,category:"people"},walking_man:{keywords:["human","feet","steps"],char:'🚶',fitzpatrick_scale:true,category:"people"},dancer:{keywords:["female","girl","woman","fun"],char:'💃',fitzpatrick_scale:true,category:"people"},man_dancing:{keywords:["male","boy","fun","dancer"],char:'🕺',fitzpatrick_scale:true,category:"people"},dancing_women:{keywords:["female","bunny","women","girls"],char:'👯',fitzpatrick_scale:false,category:"people"},dancing_men:{keywords:["male","bunny","men","boys"],char:'👯‍♂️',fitzpatrick_scale:false,category:"people"},couple:{keywords:["pair","people","human","love","date","dating","like","affection","valentines","marriage"],char:'👫',fitzpatrick_scale:false,category:"people"},two_men_holding_hands:{keywords:["pair","couple","love","like","bromance","friendship","people","human"],char:'👬',fitzpatrick_scale:false,category:"people"},two_women_holding_hands:{keywords:["pair","friendship","couple","love","like","female","people","human"],char:'👭',fitzpatrick_scale:false,category:"people"},bowing_woman:{keywords:["woman","female","girl"],char:'🙇‍♀️',fitzpatrick_scale:true,category:"people"},bowing_man:{keywords:["man","male","boy"],char:'🙇',fitzpatrick_scale:true,category:"people"},man_facepalming:{keywords:["man","male","boy","disbelief"],char:'🤦‍♂️',fitzpatrick_scale:true,category:"people"},woman_facepalming:{keywords:["woman","female","girl","disbelief"],char:'🤦‍♀️',fitzpatrick_scale:true,category:"people"},woman_shrugging:{keywords:["woman","female","girl","confused","indifferent","doubt"],char:'🤷',fitzpatrick_scale:true,category:"people"},man_shrugging:{keywords:["man","male","boy","confused","indifferent","doubt"],char:'🤷‍♂️',fitzpatrick_scale:true,category:"people"},tipping_hand_woman:{keywords:["female","girl","woman","human","information"],char:'💁',fitzpatrick_scale:true,category:"people"},tipping_hand_man:{keywords:["male","boy","man","human","information"],char:'💁‍♂️',fitzpatrick_scale:true,category:"people"},no_good_woman:{keywords:["female","girl","woman","nope"],char:'🙅',fitzpatrick_scale:true,category:"people"},no_good_man:{keywords:["male","boy","man","nope"],char:'🙅‍♂️',fitzpatrick_scale:true,category:"people"},ok_woman:{keywords:["women","girl","female","pink","human","woman"],char:'🙆',fitzpatrick_scale:true,category:"people"},ok_man:{keywords:["men","boy","male","blue","human","man"],char:'🙆‍♂️',fitzpatrick_scale:true,category:"people"},raising_hand_woman:{keywords:["female","girl","woman"],char:'🙋',fitzpatrick_scale:true,category:"people"},raising_hand_man:{keywords:["male","boy","man"],char:'🙋‍♂️',fitzpatrick_scale:true,category:"people"},pouting_woman:{keywords:["female","girl","woman"],char:'🙎',fitzpatrick_scale:true,category:"people"},pouting_man:{keywords:["male","boy","man"],char:'🙎‍♂️',fitzpatrick_scale:true,category:"people"},frowning_woman:{keywords:["female","girl","woman","sad","depressed","discouraged","unhappy"],char:'🙍',fitzpatrick_scale:true,category:"people"},frowning_man:{keywords:["male","boy","man","sad","depressed","discouraged","unhappy"],char:'🙍‍♂️',fitzpatrick_scale:true,category:"people"},haircut_woman:{keywords:["female","girl","woman"],char:'💇',fitzpatrick_scale:true,category:"people"},haircut_man:{keywords:["male","boy","man"],char:'💇‍♂️',fitzpatrick_scale:true,category:"people"},massage_woman:{keywords:["female","girl","woman","head"],char:'💆',fitzpatrick_scale:true,category:"people"},massage_man:{keywords:["male","boy","man","head"],char:'💆‍♂️',fitzpatrick_scale:true,category:"people"},woman_in_steamy_room:{keywords:["female","woman","spa","steamroom","sauna"],char:'🧖‍♀️',fitzpatrick_scale:true,category:"people"},man_in_steamy_room:{keywords:["male","man","spa","steamroom","sauna"],char:'🧖‍♂️',fitzpatrick_scale:true,category:"people"},couple_with_heart_woman_man:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:'💑',fitzpatrick_scale:false,category:"people"},couple_with_heart_woman_woman:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:'👩‍❤️‍👩',fitzpatrick_scale:false,category:"people"},couple_with_heart_man_man:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:'👨‍❤️‍👨',fitzpatrick_scale:false,category:"people"},couplekiss_man_woman:{keywords:["pair","valentines","love","like","dating","marriage"],char:'💏',fitzpatrick_scale:false,category:"people"},couplekiss_woman_woman:{keywords:["pair","valentines","love","like","dating","marriage"],char:'👩‍❤️‍💋‍👩',fitzpatrick_scale:false,category:"people"},couplekiss_man_man:{keywords:["pair","valentines","love","like","dating","marriage"],char:'👨‍❤️‍💋‍👨',fitzpatrick_scale:false,category:"people"},family_man_woman_boy:{keywords:["home","parents","child","mom","dad","father","mother","people","human"],char:'👪',fitzpatrick_scale:false,category:"people"},family_man_woman_girl:{keywords:["home","parents","people","human","child"],char:'👨‍👩‍👧',fitzpatrick_scale:false,category:"people"},family_man_woman_girl_boy:{keywords:["home","parents","people","human","children"],char:'👨‍👩‍👧‍👦',fitzpatrick_scale:false,category:"people"},family_man_woman_boy_boy:{keywords:["home","parents","people","human","children"],char:'👨‍👩‍👦‍👦',fitzpatrick_scale:false,category:"people"},family_man_woman_girl_girl:{keywords:["home","parents","people","human","children"],char:'👨‍👩‍👧‍👧',fitzpatrick_scale:false,category:"people"},family_woman_woman_boy:{keywords:["home","parents","people","human","children"],char:'👩‍👩‍👦',fitzpatrick_scale:false,category:"people"},family_woman_woman_girl:{keywords:["home","parents","people","human","children"],char:'👩‍👩‍👧',fitzpatrick_scale:false,category:"people"},family_woman_woman_girl_boy:{keywords:["home","parents","people","human","children"],char:'👩‍👩‍👧‍👦',fitzpatrick_scale:false,category:"people"},family_woman_woman_boy_boy:{keywords:["home","parents","people","human","children"],char:'👩‍👩‍👦‍👦',fitzpatrick_scale:false,category:"people"},family_woman_woman_girl_girl:{keywords:["home","parents","people","human","children"],char:'👩‍👩‍👧‍👧',fitzpatrick_scale:false,category:"people"},family_man_man_boy:{keywords:["home","parents","people","human","children"],char:'👨‍👨‍👦',fitzpatrick_scale:false,category:"people"},family_man_man_girl:{keywords:["home","parents","people","human","children"],char:'👨‍👨‍👧',fitzpatrick_scale:false,category:"people"},family_man_man_girl_boy:{keywords:["home","parents","people","human","children"],char:'👨‍👨‍👧‍👦',fitzpatrick_scale:false,category:"people"},family_man_man_boy_boy:{keywords:["home","parents","people","human","children"],char:'👨‍👨‍👦‍👦',fitzpatrick_scale:false,category:"people"},family_man_man_girl_girl:{keywords:["home","parents","people","human","children"],char:'👨‍👨‍👧‍👧',fitzpatrick_scale:false,category:"people"},family_woman_boy:{keywords:["home","parent","people","human","child"],char:'👩‍👦',fitzpatrick_scale:false,category:"people"},family_woman_girl:{keywords:["home","parent","people","human","child"],char:'👩‍👧',fitzpatrick_scale:false,category:"people"},family_woman_girl_boy:{keywords:["home","parent","people","human","children"],char:'👩‍👧‍👦',fitzpatrick_scale:false,category:"people"},family_woman_boy_boy:{keywords:["home","parent","people","human","children"],char:'👩‍👦‍👦',fitzpatrick_scale:false,category:"people"},family_woman_girl_girl:{keywords:["home","parent","people","human","children"],char:'👩‍👧‍👧',fitzpatrick_scale:false,category:"people"},family_man_boy:{keywords:["home","parent","people","human","child"],char:'👨‍👦',fitzpatrick_scale:false,category:"people"},family_man_girl:{keywords:["home","parent","people","human","child"],char:'👨‍👧',fitzpatrick_scale:false,category:"people"},family_man_girl_boy:{keywords:["home","parent","people","human","children"],char:'👨‍👧‍👦',fitzpatrick_scale:false,category:"people"},family_man_boy_boy:{keywords:["home","parent","people","human","children"],char:'👨‍👦‍👦',fitzpatrick_scale:false,category:"people"},family_man_girl_girl:{keywords:["home","parent","people","human","children"],char:'👨‍👧‍👧',fitzpatrick_scale:false,category:"people"},yarn:{keywords:["ball","crochet","knit"],char:'🧶',fitzpatrick_scale:false,category:"people"},thread:{keywords:["needle","sewing","spool","string"],char:'🧵',fitzpatrick_scale:false,category:"people"},coat:{keywords:["jacket"],char:'🧥',fitzpatrick_scale:false,category:"people"},labcoat:{keywords:["doctor","experiment","scientist","chemist"],char:'🥼',fitzpatrick_scale:false,category:"people"},womans_clothes:{keywords:["fashion","shopping_bags","female"],char:'👚',fitzpatrick_scale:false,category:"people"},tshirt:{keywords:["fashion","cloth","casual","shirt","tee"],char:'👕',fitzpatrick_scale:false,category:"people"},jeans:{keywords:["fashion","shopping"],char:'👖',fitzpatrick_scale:false,category:"people"},necktie:{keywords:["shirt","suitup","formal","fashion","cloth","business"],char:'👔',fitzpatrick_scale:false,category:"people"},dress:{keywords:["clothes","fashion","shopping"],char:'👗',fitzpatrick_scale:false,category:"people"},bikini:{keywords:["swimming","female","woman","girl","fashion","beach","summer"],char:'👙',fitzpatrick_scale:false,category:"people"},kimono:{keywords:["dress","fashion","women","female","japanese"],char:'👘',fitzpatrick_scale:false,category:"people"},lipstick:{keywords:["female","girl","fashion","woman"],char:'💄',fitzpatrick_scale:false,category:"people"},kiss:{keywords:["face","lips","love","like","affection","valentines"],char:'💋',fitzpatrick_scale:false,category:"people"},footprints:{keywords:["feet","tracking","walking","beach"],char:'👣',fitzpatrick_scale:false,category:"people"},flat_shoe:{keywords:["ballet","slip-on","slipper"],char:'🥿',fitzpatrick_scale:false,category:"people"},high_heel:{keywords:["fashion","shoes","female","pumps","stiletto"],char:'👠',fitzpatrick_scale:false,category:"people"},sandal:{keywords:["shoes","fashion","flip flops"],char:'👡',fitzpatrick_scale:false,category:"people"},boot:{keywords:["shoes","fashion"],char:'👢',fitzpatrick_scale:false,category:"people"},mans_shoe:{keywords:["fashion","male"],char:'👞',fitzpatrick_scale:false,category:"people"},athletic_shoe:{keywords:["shoes","sports","sneakers"],char:'👟',fitzpatrick_scale:false,category:"people"},hiking_boot:{keywords:["backpacking","camping","hiking"],char:'🥾',fitzpatrick_scale:false,category:"people"},socks:{keywords:["stockings","clothes"],char:'🧦',fitzpatrick_scale:false,category:"people"},gloves:{keywords:["hands","winter","clothes"],char:'🧤',fitzpatrick_scale:false,category:"people"},scarf:{keywords:["neck","winter","clothes"],char:'🧣',fitzpatrick_scale:false,category:"people"},womans_hat:{keywords:["fashion","accessories","female","lady","spring"],char:'👒',fitzpatrick_scale:false,category:"people"},tophat:{keywords:["magic","gentleman","classy","circus"],char:'🎩',fitzpatrick_scale:false,category:"people"},billed_hat:{keywords:["cap","baseball"],char:'🧢',fitzpatrick_scale:false,category:"people"},rescue_worker_helmet:{keywords:["construction","build"],char:'⛑',fitzpatrick_scale:false,category:"people"},mortar_board:{keywords:["school","college","degree","university","graduation","cap","hat","legal","learn","education"],char:'🎓',fitzpatrick_scale:false,category:"people"},crown:{keywords:["king","kod","leader","royalty","lord"],char:'👑',fitzpatrick_scale:false,category:"people"},school_satchel:{keywords:["student","education","bag","backpack"],char:'🎒',fitzpatrick_scale:false,category:"people"},luggage:{keywords:["packing","travel"],char:'🧳',fitzpatrick_scale:false,category:"people"},pouch:{keywords:["bag","accessories","shopping"],char:'👝',fitzpatrick_scale:false,category:"people"},purse:{keywords:["fashion","accessories","money","sales","shopping"],char:'👛',fitzpatrick_scale:false,category:"people"},handbag:{keywords:["fashion","accessory","accessories","shopping"],char:'👜',fitzpatrick_scale:false,category:"people"},briefcase:{keywords:["business","documents","work","law","legal","job","career"],char:'💼',fitzpatrick_scale:false,category:"people"},eyeglasses:{keywords:["fashion","accessories","eyesight","nerdy","dork","geek"],char:'👓',fitzpatrick_scale:false,category:"people"},dark_sunglasses:{keywords:["face","cool","accessories"],char:'🕶',fitzpatrick_scale:false,category:"people"},goggles:{keywords:["eyes","protection","safety"],char:'🥽',fitzpatrick_scale:false,category:"people"},ring:{keywords:["wedding","propose","marriage","valentines","diamond","fashion","jewelry","gem","engagement"],char:'💍',fitzpatrick_scale:false,category:"people"},closed_umbrella:{keywords:["weather","rain","drizzle"],char:'🌂',fitzpatrick_scale:false,category:"people"},dog:{keywords:["animal","friend","nature","woof","puppy","pet","faithful"],char:'🐶',fitzpatrick_scale:false,category:"animals_and_nature"},cat:{keywords:["animal","meow","nature","pet","kitten"],char:'🐱',fitzpatrick_scale:false,category:"animals_and_nature"},mouse:{keywords:["animal","nature","cheese_wedge","rodent"],char:'🐭',fitzpatrick_scale:false,category:"animals_and_nature"},hamster:{keywords:["animal","nature"],char:'🐹',fitzpatrick_scale:false,category:"animals_and_nature"},rabbit:{keywords:["animal","nature","pet","spring","magic","bunny"],char:'🐰',fitzpatrick_scale:false,category:"animals_and_nature"},fox_face:{keywords:["animal","nature","face"],char:'🦊',fitzpatrick_scale:false,category:"animals_and_nature"},bear:{keywords:["animal","nature","wild"],char:'🐻',fitzpatrick_scale:false,category:"animals_and_nature"},panda_face:{keywords:["animal","nature","panda"],char:'🐼',fitzpatrick_scale:false,category:"animals_and_nature"},koala:{keywords:["animal","nature"],char:'🐨',fitzpatrick_scale:false,category:"animals_and_nature"},tiger:{keywords:["animal","cat","danger","wild","nature","roar"],char:'🐯',fitzpatrick_scale:false,category:"animals_and_nature"},lion:{keywords:["animal","nature"],char:'🦁',fitzpatrick_scale:false,category:"animals_and_nature"},cow:{keywords:["beef","ox","animal","nature","moo","milk"],char:'🐮',fitzpatrick_scale:false,category:"animals_and_nature"},pig:{keywords:["animal","oink","nature"],char:'🐷',fitzpatrick_scale:false,category:"animals_and_nature"},pig_nose:{keywords:["animal","oink"],char:'🐽',fitzpatrick_scale:false,category:"animals_and_nature"},frog:{keywords:["animal","nature","croak","toad"],char:'🐸',fitzpatrick_scale:false,category:"animals_and_nature"},squid:{keywords:["animal","nature","ocean","sea"],char:'🦑',fitzpatrick_scale:false,category:"animals_and_nature"},octopus:{keywords:["animal","creature","ocean","sea","nature","beach"],char:'🐙',fitzpatrick_scale:false,category:"animals_and_nature"},shrimp:{keywords:["animal","ocean","nature","seafood"],char:'🦐',fitzpatrick_scale:false,category:"animals_and_nature"},monkey_face:{keywords:["animal","nature","circus"],char:'🐵',fitzpatrick_scale:false,category:"animals_and_nature"},gorilla:{keywords:["animal","nature","circus"],char:'🦍',fitzpatrick_scale:false,category:"animals_and_nature"},see_no_evil:{keywords:["monkey","animal","nature","haha"],char:'🙈',fitzpatrick_scale:false,category:"animals_and_nature"},hear_no_evil:{keywords:["animal","monkey","nature"],char:'🙉',fitzpatrick_scale:false,category:"animals_and_nature"},speak_no_evil:{keywords:["monkey","animal","nature","omg"],char:'🙊',fitzpatrick_scale:false,category:"animals_and_nature"},monkey:{keywords:["animal","nature","banana","circus"],char:'🐒',fitzpatrick_scale:false,category:"animals_and_nature"},chicken:{keywords:["animal","cluck","nature","bird"],char:'🐔',fitzpatrick_scale:false,category:"animals_and_nature"},penguin:{keywords:["animal","nature"],char:'🐧',fitzpatrick_scale:false,category:"animals_and_nature"},bird:{keywords:["animal","nature","fly","tweet","spring"],char:'🐦',fitzpatrick_scale:false,category:"animals_and_nature"},baby_chick:{keywords:["animal","chicken","bird"],char:'🐤',fitzpatrick_scale:false,category:"animals_and_nature"},hatching_chick:{keywords:["animal","chicken","egg","born","baby","bird"],char:'🐣',fitzpatrick_scale:false,category:"animals_and_nature"},hatched_chick:{keywords:["animal","chicken","baby","bird"],char:'🐥',fitzpatrick_scale:false,category:"animals_and_nature"},duck:{keywords:["animal","nature","bird","mallard"],char:'🦆',fitzpatrick_scale:false,category:"animals_and_nature"},eagle:{keywords:["animal","nature","bird"],char:'🦅',fitzpatrick_scale:false,category:"animals_and_nature"},owl:{keywords:["animal","nature","bird","hoot"],char:'🦉',fitzpatrick_scale:false,category:"animals_and_nature"},bat:{keywords:["animal","nature","blind","vampire"],char:'🦇',fitzpatrick_scale:false,category:"animals_and_nature"},wolf:{keywords:["animal","nature","wild"],char:'🐺',fitzpatrick_scale:false,category:"animals_and_nature"},boar:{keywords:["animal","nature"],char:'🐗',fitzpatrick_scale:false,category:"animals_and_nature"},horse:{keywords:["animal","brown","nature"],char:'🐴',fitzpatrick_scale:false,category:"animals_and_nature"},unicorn:{keywords:["animal","nature","mystical"],char:'🦄',fitzpatrick_scale:false,category:"animals_and_nature"},honeybee:{keywords:["animal","insect","nature","bug","spring","honey"],char:'🐝',fitzpatrick_scale:false,category:"animals_and_nature"},bug:{keywords:["animal","insect","nature","worm"],char:'🐛',fitzpatrick_scale:false,category:"animals_and_nature"},butterfly:{keywords:["animal","insect","nature","caterpillar"],char:'🦋',fitzpatrick_scale:false,category:"animals_and_nature"},snail:{keywords:["slow","animal","shell"],char:'🐌',fitzpatrick_scale:false,category:"animals_and_nature"},beetle:{keywords:["animal","insect","nature","ladybug"],char:'🐞',fitzpatrick_scale:false,category:"animals_and_nature"},ant:{keywords:["animal","insect","nature","bug"],char:'🐜',fitzpatrick_scale:false,category:"animals_and_nature"},grasshopper:{keywords:["animal","cricket","chirp"],char:'🦗',fitzpatrick_scale:false,category:"animals_and_nature"},spider:{keywords:["animal","arachnid"],char:'🕷',fitzpatrick_scale:false,category:"animals_and_nature"},scorpion:{keywords:["animal","arachnid"],char:'🦂',fitzpatrick_scale:false,category:"animals_and_nature"},crab:{keywords:["animal","crustacean"],char:'🦀',fitzpatrick_scale:false,category:"animals_and_nature"},snake:{keywords:["animal","evil","nature","hiss","python"],char:'🐍',fitzpatrick_scale:false,category:"animals_and_nature"},lizard:{keywords:["animal","nature","reptile"],char:'🦎',fitzpatrick_scale:false,category:"animals_and_nature"},"t-rex":{keywords:["animal","nature","dinosaur","tyrannosaurus","extinct"],char:'🦖',fitzpatrick_scale:false,category:"animals_and_nature"},sauropod:{keywords:["animal","nature","dinosaur","brachiosaurus","brontosaurus","diplodocus","extinct"],char:'🦕',fitzpatrick_scale:false,category:"animals_and_nature"},turtle:{keywords:["animal","slow","nature","tortoise"],char:'🐢',fitzpatrick_scale:false,category:"animals_and_nature"},tropical_fish:{keywords:["animal","swim","ocean","beach","nemo"],char:'🐠',fitzpatrick_scale:false,category:"animals_and_nature"},fish:{keywords:["animal","food","nature"],char:'🐟',fitzpatrick_scale:false,category:"animals_and_nature"},blowfish:{keywords:["animal","nature","food","sea","ocean"],char:'🐡',fitzpatrick_scale:false,category:"animals_and_nature"},dolphin:{keywords:["animal","nature","fish","sea","ocean","flipper","fins","beach"],char:'🐬',fitzpatrick_scale:false,category:"animals_and_nature"},shark:{keywords:["animal","nature","fish","sea","ocean","jaws","fins","beach"],char:'🦈',fitzpatrick_scale:false,category:"animals_and_nature"},whale:{keywords:["animal","nature","sea","ocean"],char:'🐳',fitzpatrick_scale:false,category:"animals_and_nature"},whale2:{keywords:["animal","nature","sea","ocean"],char:'🐋',fitzpatrick_scale:false,category:"animals_and_nature"},crocodile:{keywords:["animal","nature","reptile","lizard","alligator"],char:'🐊',fitzpatrick_scale:false,category:"animals_and_nature"},leopard:{keywords:["animal","nature"],char:'🐆',fitzpatrick_scale:false,category:"animals_and_nature"},zebra:{keywords:["animal","nature","stripes","safari"],char:'🦓',fitzpatrick_scale:false,category:"animals_and_nature"},tiger2:{keywords:["animal","nature","roar"],char:'🐅',fitzpatrick_scale:false,category:"animals_and_nature"},water_buffalo:{keywords:["animal","nature","ox","cow"],char:'🐃',fitzpatrick_scale:false,category:"animals_and_nature"},ox:{keywords:["animal","cow","beef"],char:'🐂',fitzpatrick_scale:false,category:"animals_and_nature"},cow2:{keywords:["beef","ox","animal","nature","moo","milk"],char:'🐄',fitzpatrick_scale:false,category:"animals_and_nature"},deer:{keywords:["animal","nature","horns","venison"],char:'🦌',fitzpatrick_scale:false,category:"animals_and_nature"},dromedary_camel:{keywords:["animal","hot","desert","hump"],char:'🐪',fitzpatrick_scale:false,category:"animals_and_nature"},camel:{keywords:["animal","nature","hot","desert","hump"],char:'🐫',fitzpatrick_scale:false,category:"animals_and_nature"},giraffe:{keywords:["animal","nature","spots","safari"],char:'🦒',fitzpatrick_scale:false,category:"animals_and_nature"},elephant:{keywords:["animal","nature","nose","th","circus"],char:'🐘',fitzpatrick_scale:false,category:"animals_and_nature"},rhinoceros:{keywords:["animal","nature","horn"],char:'🦏',fitzpatrick_scale:false,category:"animals_and_nature"},goat:{keywords:["animal","nature"],char:'🐐',fitzpatrick_scale:false,category:"animals_and_nature"},ram:{keywords:["animal","sheep","nature"],char:'🐏',fitzpatrick_scale:false,category:"animals_and_nature"},sheep:{keywords:["animal","nature","wool","shipit"],char:'🐑',fitzpatrick_scale:false,category:"animals_and_nature"},racehorse:{keywords:["animal","gamble","luck"],char:'🐎',fitzpatrick_scale:false,category:"animals_and_nature"},pig2:{keywords:["animal","nature"],char:'🐖',fitzpatrick_scale:false,category:"animals_and_nature"},rat:{keywords:["animal","mouse","rodent"],char:'🐀',fitzpatrick_scale:false,category:"animals_and_nature"},mouse2:{keywords:["animal","nature","rodent"],char:'🐁',fitzpatrick_scale:false,category:"animals_and_nature"},rooster:{keywords:["animal","nature","chicken"],char:'🐓',fitzpatrick_scale:false,category:"animals_and_nature"},turkey:{keywords:["animal","bird"],char:'🦃',fitzpatrick_scale:false,category:"animals_and_nature"},dove:{keywords:["animal","bird"],char:'🕊',fitzpatrick_scale:false,category:"animals_and_nature"},dog2:{keywords:["animal","nature","friend","doge","pet","faithful"],char:'🐕',fitzpatrick_scale:false,category:"animals_and_nature"},poodle:{keywords:["dog","animal","101","nature","pet"],char:'🐩',fitzpatrick_scale:false,category:"animals_and_nature"},cat2:{keywords:["animal","meow","pet","cats"],char:'🐈',fitzpatrick_scale:false,category:"animals_and_nature"},rabbit2:{keywords:["animal","nature","pet","magic","spring"],char:'🐇',fitzpatrick_scale:false,category:"animals_and_nature"},chipmunk:{keywords:["animal","nature","rodent","squirrel"],char:'🐿',fitzpatrick_scale:false,category:"animals_and_nature"},hedgehog:{keywords:["animal","nature","spiny"],char:'🦔',fitzpatrick_scale:false,category:"animals_and_nature"},raccoon:{keywords:["animal","nature"],char:'🦝',fitzpatrick_scale:false,category:"animals_and_nature"},llama:{keywords:["animal","nature","alpaca"],char:'🦙',fitzpatrick_scale:false,category:"animals_and_nature"},hippopotamus:{keywords:["animal","nature"],char:'🦛',fitzpatrick_scale:false,category:"animals_and_nature"},kangaroo:{keywords:["animal","nature","australia","joey","hop","marsupial"],char:'🦘',fitzpatrick_scale:false,category:"animals_and_nature"},badger:{keywords:["animal","nature","honey"],char:'🦡',fitzpatrick_scale:false,category:"animals_and_nature"},swan:{keywords:["animal","nature","bird"],char:'🦢',fitzpatrick_scale:false,category:"animals_and_nature"},peacock:{keywords:["animal","nature","peahen","bird"],char:'🦚',fitzpatrick_scale:false,category:"animals_and_nature"},parrot:{keywords:["animal","nature","bird","pirate","talk"],char:'🦜',fitzpatrick_scale:false,category:"animals_and_nature"},lobster:{keywords:["animal","nature","bisque","claws","seafood"],char:'🦞',fitzpatrick_scale:false,category:"animals_and_nature"},mosquito:{keywords:["animal","nature","insect","malaria"],char:'🦟',fitzpatrick_scale:false,category:"animals_and_nature"},paw_prints:{keywords:["animal","tracking","footprints","dog","cat","pet","feet"],char:'🐾',fitzpatrick_scale:false,category:"animals_and_nature"},dragon:{keywords:["animal","myth","nature","chinese","green"],char:'🐉',fitzpatrick_scale:false,category:"animals_and_nature"},dragon_face:{keywords:["animal","myth","nature","chinese","green"],char:'🐲',fitzpatrick_scale:false,category:"animals_and_nature"},cactus:{keywords:["vegetable","plant","nature"],char:'🌵',fitzpatrick_scale:false,category:"animals_and_nature"},christmas_tree:{keywords:["festival","vacation","december","xmas","celebration"],char:'🎄',fitzpatrick_scale:false,category:"animals_and_nature"},evergreen_tree:{keywords:["plant","nature"],char:'🌲',fitzpatrick_scale:false,category:"animals_and_nature"},deciduous_tree:{keywords:["plant","nature"],char:'🌳',fitzpatrick_scale:false,category:"animals_and_nature"},palm_tree:{keywords:["plant","vegetable","nature","summer","beach","mojito","tropical"],char:'🌴',fitzpatrick_scale:false,category:"animals_and_nature"},seedling:{keywords:["plant","nature","grass","lawn","spring"],char:'🌱',fitzpatrick_scale:false,category:"animals_and_nature"},herb:{keywords:["vegetable","plant","medicine","weed","grass","lawn"],char:'🌿',fitzpatrick_scale:false,category:"animals_and_nature"},shamrock:{keywords:["vegetable","plant","nature","irish","clover"],char:'☘',fitzpatrick_scale:false,category:"animals_and_nature"},four_leaf_clover:{keywords:["vegetable","plant","nature","lucky","irish"],char:'🍀',fitzpatrick_scale:false,category:"animals_and_nature"},bamboo:{keywords:["plant","nature","vegetable","panda","pine_decoration"],char:'🎍',fitzpatrick_scale:false,category:"animals_and_nature"},tanabata_tree:{keywords:["plant","nature","branch","summer"],char:'🎋',fitzpatrick_scale:false,category:"animals_and_nature"},leaves:{keywords:["nature","plant","tree","vegetable","grass","lawn","spring"],char:'🍃',fitzpatrick_scale:false,category:"animals_and_nature"},fallen_leaf:{keywords:["nature","plant","vegetable","leaves"],char:'🍂',fitzpatrick_scale:false,category:"animals_and_nature"},maple_leaf:{keywords:["nature","plant","vegetable","ca","fall"],char:'🍁',fitzpatrick_scale:false,category:"animals_and_nature"},ear_of_rice:{keywords:["nature","plant"],char:'🌾',fitzpatrick_scale:false,category:"animals_and_nature"},hibiscus:{keywords:["plant","vegetable","flowers","beach"],char:'🌺',fitzpatrick_scale:false,category:"animals_and_nature"},sunflower:{keywords:["nature","plant","fall"],char:'🌻',fitzpatrick_scale:false,category:"animals_and_nature"},rose:{keywords:["flowers","valentines","love","spring"],char:'🌹',fitzpatrick_scale:false,category:"animals_and_nature"},wilted_flower:{keywords:["plant","nature","flower"],char:'🥀',fitzpatrick_scale:false,category:"animals_and_nature"},tulip:{keywords:["flowers","plant","nature","summer","spring"],char:'🌷',fitzpatrick_scale:false,category:"animals_and_nature"},blossom:{keywords:["nature","flowers","yellow"],char:'🌼',fitzpatrick_scale:false,category:"animals_and_nature"},cherry_blossom:{keywords:["nature","plant","spring","flower"],char:'🌸',fitzpatrick_scale:false,category:"animals_and_nature"},bouquet:{keywords:["flowers","nature","spring"],char:'💐',fitzpatrick_scale:false,category:"animals_and_nature"},mushroom:{keywords:["plant","vegetable"],char:'🍄',fitzpatrick_scale:false,category:"animals_and_nature"},chestnut:{keywords:["food","squirrel"],char:'🌰',fitzpatrick_scale:false,category:"animals_and_nature"},jack_o_lantern:{keywords:["halloween","light","pumpkin","creepy","fall"],char:'🎃',fitzpatrick_scale:false,category:"animals_and_nature"},shell:{keywords:["nature","sea","beach"],char:'🐚',fitzpatrick_scale:false,category:"animals_and_nature"},spider_web:{keywords:["animal","insect","arachnid","silk"],char:'🕸',fitzpatrick_scale:false,category:"animals_and_nature"},earth_americas:{keywords:["globe","world","USA","international"],char:'🌎',fitzpatrick_scale:false,category:"animals_and_nature"},earth_africa:{keywords:["globe","world","international"],char:'🌍',fitzpatrick_scale:false,category:"animals_and_nature"},earth_asia:{keywords:["globe","world","east","international"],char:'🌏',fitzpatrick_scale:false,category:"animals_and_nature"},full_moon:{keywords:["nature","yellow","twilight","planet","space","night","evening","sleep"],char:'🌕',fitzpatrick_scale:false,category:"animals_and_nature"},waning_gibbous_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep","waxing_gibbous_moon"],char:'🌖',fitzpatrick_scale:false,category:"animals_and_nature"},last_quarter_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'🌗',fitzpatrick_scale:false,category:"animals_and_nature"},waning_crescent_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'🌘',fitzpatrick_scale:false,category:"animals_and_nature"},new_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'🌑',fitzpatrick_scale:false,category:"animals_and_nature"},waxing_crescent_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'🌒',fitzpatrick_scale:false,category:"animals_and_nature"},first_quarter_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'🌓',fitzpatrick_scale:false,category:"animals_and_nature"},waxing_gibbous_moon:{keywords:["nature","night","sky","gray","twilight","planet","space","evening","sleep"],char:'🌔',fitzpatrick_scale:false,category:"animals_and_nature"},new_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'🌚',fitzpatrick_scale:false,category:"animals_and_nature"},full_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'🌝',fitzpatrick_scale:false,category:"animals_and_nature"},first_quarter_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'🌛',fitzpatrick_scale:false,category:"animals_and_nature"},last_quarter_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'🌜',fitzpatrick_scale:false,category:"animals_and_nature"},sun_with_face:{keywords:["nature","morning","sky"],char:'🌞',fitzpatrick_scale:false,category:"animals_and_nature"},crescent_moon:{keywords:["night","sleep","sky","evening","magic"],char:'🌙',fitzpatrick_scale:false,category:"animals_and_nature"},star:{keywords:["night","yellow"],char:'⭐',fitzpatrick_scale:false,category:"animals_and_nature"},star2:{keywords:["night","sparkle","awesome","good","magic"],char:'🌟',fitzpatrick_scale:false,category:"animals_and_nature"},dizzy:{keywords:["star","sparkle","shoot","magic"],char:'💫',fitzpatrick_scale:false,category:"animals_and_nature"},sparkles:{keywords:["stars","shine","shiny","cool","awesome","good","magic"],char:'✨',fitzpatrick_scale:false,category:"animals_and_nature"},comet:{keywords:["space"],char:'☄',fitzpatrick_scale:false,category:"animals_and_nature"},sunny:{keywords:["weather","nature","brightness","summer","beach","spring"],char:'☀️',fitzpatrick_scale:false,category:"animals_and_nature"},sun_behind_small_cloud:{keywords:["weather"],char:'🌤',fitzpatrick_scale:false,category:"animals_and_nature"},partly_sunny:{keywords:["weather","nature","cloudy","morning","fall","spring"],char:'⛅',fitzpatrick_scale:false,category:"animals_and_nature"},sun_behind_large_cloud:{keywords:["weather"],char:'🌥',fitzpatrick_scale:false,category:"animals_and_nature"},sun_behind_rain_cloud:{keywords:["weather"],char:'🌦',fitzpatrick_scale:false,category:"animals_and_nature"},cloud:{keywords:["weather","sky"],char:'☁️',fitzpatrick_scale:false,category:"animals_and_nature"},cloud_with_rain:{keywords:["weather"],char:'🌧',fitzpatrick_scale:false,category:"animals_and_nature"},cloud_with_lightning_and_rain:{keywords:["weather","lightning"],char:'⛈',fitzpatrick_scale:false,category:"animals_and_nature"},cloud_with_lightning:{keywords:["weather","thunder"],char:'🌩',fitzpatrick_scale:false,category:"animals_and_nature"},zap:{keywords:["thunder","weather","lightning bolt","fast"],char:'⚡',fitzpatrick_scale:false,category:"animals_and_nature"},fire:{keywords:["hot","cook","flame"],char:'🔥',fitzpatrick_scale:false,category:"animals_and_nature"},boom:{keywords:["bomb","explode","explosion","collision","blown"],char:'💥',fitzpatrick_scale:false,category:"animals_and_nature"},snowflake:{keywords:["winter","season","cold","weather","christmas","xmas"],char:'❄️',fitzpatrick_scale:false,category:"animals_and_nature"},cloud_with_snow:{keywords:["weather"],char:'🌨',fitzpatrick_scale:false,category:"animals_and_nature"},snowman:{keywords:["winter","season","cold","weather","christmas","xmas","frozen","without_snow"],char:'⛄',fitzpatrick_scale:false,category:"animals_and_nature"},snowman_with_snow:{keywords:["winter","season","cold","weather","christmas","xmas","frozen"],char:'☃',fitzpatrick_scale:false,category:"animals_and_nature"},wind_face:{keywords:["gust","air"],char:'🌬',fitzpatrick_scale:false,category:"animals_and_nature"},dash:{keywords:["wind","air","fast","shoo","fart","smoke","puff"],char:'💨',fitzpatrick_scale:false,category:"animals_and_nature"},tornado:{keywords:["weather","cyclone","twister"],char:'🌪',fitzpatrick_scale:false,category:"animals_and_nature"},fog:{keywords:["weather"],char:'🌫',fitzpatrick_scale:false,category:"animals_and_nature"},open_umbrella:{keywords:["weather","spring"],char:'☂',fitzpatrick_scale:false,category:"animals_and_nature"},umbrella:{keywords:["rainy","weather","spring"],char:'☔',fitzpatrick_scale:false,category:"animals_and_nature"},droplet:{keywords:["water","drip","faucet","spring"],char:'💧',fitzpatrick_scale:false,category:"animals_and_nature"},sweat_drops:{keywords:["water","drip","oops"],char:'💦',fitzpatrick_scale:false,category:"animals_and_nature"},ocean:{keywords:["sea","water","wave","nature","tsunami","disaster"],char:'🌊',fitzpatrick_scale:false,category:"animals_and_nature"},green_apple:{keywords:["fruit","nature"],char:'🍏',fitzpatrick_scale:false,category:"food_and_drink"},apple:{keywords:["fruit","mac","school"],char:'🍎',fitzpatrick_scale:false,category:"food_and_drink"},pear:{keywords:["fruit","nature","food"],char:'🍐',fitzpatrick_scale:false,category:"food_and_drink"},tangerine:{keywords:["food","fruit","nature","orange"],char:'🍊',fitzpatrick_scale:false,category:"food_and_drink"},lemon:{keywords:["fruit","nature"],char:'🍋',fitzpatrick_scale:false,category:"food_and_drink"},banana:{keywords:["fruit","food","monkey"],char:'🍌',fitzpatrick_scale:false,category:"food_and_drink"},watermelon:{keywords:["fruit","food","picnic","summer"],char:'🍉',fitzpatrick_scale:false,category:"food_and_drink"},grapes:{keywords:["fruit","food","wine"],char:'🍇',fitzpatrick_scale:false,category:"food_and_drink"},strawberry:{keywords:["fruit","food","nature"],char:'🍓',fitzpatrick_scale:false,category:"food_and_drink"},melon:{keywords:["fruit","nature","food"],char:'🍈',fitzpatrick_scale:false,category:"food_and_drink"},cherries:{keywords:["food","fruit"],char:'🍒',fitzpatrick_scale:false,category:"food_and_drink"},peach:{keywords:["fruit","nature","food"],char:'🍑',fitzpatrick_scale:false,category:"food_and_drink"},pineapple:{keywords:["fruit","nature","food"],char:'🍍',fitzpatrick_scale:false,category:"food_and_drink"},coconut:{keywords:["fruit","nature","food","palm"],char:'🥥',fitzpatrick_scale:false,category:"food_and_drink"},kiwi_fruit:{keywords:["fruit","food"],char:'🥝',fitzpatrick_scale:false,category:"food_and_drink"},mango:{keywords:["fruit","food","tropical"],char:'🥭',fitzpatrick_scale:false,category:"food_and_drink"},avocado:{keywords:["fruit","food"],char:'🥑',fitzpatrick_scale:false,category:"food_and_drink"},broccoli:{keywords:["fruit","food","vegetable"],char:'🥦',fitzpatrick_scale:false,category:"food_and_drink"},tomato:{keywords:["fruit","vegetable","nature","food"],char:'🍅',fitzpatrick_scale:false,category:"food_and_drink"},eggplant:{keywords:["vegetable","nature","food","aubergine"],char:'🍆',fitzpatrick_scale:false,category:"food_and_drink"},cucumber:{keywords:["fruit","food","pickle"],char:'🥒',fitzpatrick_scale:false,category:"food_and_drink"},carrot:{keywords:["vegetable","food","orange"],char:'🥕',fitzpatrick_scale:false,category:"food_and_drink"},hot_pepper:{keywords:["food","spicy","chilli","chili"],char:'🌶',fitzpatrick_scale:false,category:"food_and_drink"},potato:{keywords:["food","tuber","vegatable","starch"],char:'🥔',fitzpatrick_scale:false,category:"food_and_drink"},corn:{keywords:["food","vegetable","plant"],char:'🌽',fitzpatrick_scale:false,category:"food_and_drink"},leafy_greens:{keywords:["food","vegetable","plant","bok choy","cabbage","kale","lettuce"],char:'🥬',fitzpatrick_scale:false,category:"food_and_drink"},sweet_potato:{keywords:["food","nature"],char:'🍠',fitzpatrick_scale:false,category:"food_and_drink"},peanuts:{keywords:["food","nut"],char:'🥜',fitzpatrick_scale:false,category:"food_and_drink"},honey_pot:{keywords:["bees","sweet","kitchen"],char:'🍯',fitzpatrick_scale:false,category:"food_and_drink"},croissant:{keywords:["food","bread","french"],char:'🥐',fitzpatrick_scale:false,category:"food_and_drink"},bread:{keywords:["food","wheat","breakfast","toast"],char:'🍞',fitzpatrick_scale:false,category:"food_and_drink"},baguette_bread:{keywords:["food","bread","french"],char:'🥖',fitzpatrick_scale:false,category:"food_and_drink"},bagel:{keywords:["food","bread","bakery","schmear"],char:'🥯',fitzpatrick_scale:false,category:"food_and_drink"},pretzel:{keywords:["food","bread","twisted"],char:'🥨',fitzpatrick_scale:false,category:"food_and_drink"},cheese:{keywords:["food","chadder"],char:'🧀',fitzpatrick_scale:false,category:"food_and_drink"},egg:{keywords:["food","chicken","breakfast"],char:'🥚',fitzpatrick_scale:false,category:"food_and_drink"},bacon:{keywords:["food","breakfast","pork","pig","meat"],char:'🥓',fitzpatrick_scale:false,category:"food_and_drink"},steak:{keywords:["food","cow","meat","cut","chop","lambchop","porkchop"],char:'🥩',fitzpatrick_scale:false,category:"food_and_drink"},pancakes:{keywords:["food","breakfast","flapjacks","hotcakes"],char:'🥞',fitzpatrick_scale:false,category:"food_and_drink"},poultry_leg:{keywords:["food","meat","drumstick","bird","chicken","turkey"],char:'🍗',fitzpatrick_scale:false,category:"food_and_drink"},meat_on_bone:{keywords:["good","food","drumstick"],char:'🍖',fitzpatrick_scale:false,category:"food_and_drink"},bone:{keywords:["skeleton"],char:'🦴',fitzpatrick_scale:false,category:"food_and_drink"},fried_shrimp:{keywords:["food","animal","appetizer","summer"],char:'🍤',fitzpatrick_scale:false,category:"food_and_drink"},fried_egg:{keywords:["food","breakfast","kitchen","egg"],char:'🍳',fitzpatrick_scale:false,category:"food_and_drink"},hamburger:{keywords:["meat","fast food","beef","cheeseburger","mcdonalds","burger king"],char:'🍔',fitzpatrick_scale:false,category:"food_and_drink"},fries:{keywords:["chips","snack","fast food"],char:'🍟',fitzpatrick_scale:false,category:"food_and_drink"},stuffed_flatbread:{keywords:["food","flatbread","stuffed","gyro"],char:'🥙',fitzpatrick_scale:false,category:"food_and_drink"},hotdog:{keywords:["food","frankfurter"],char:'🌭',fitzpatrick_scale:false,category:"food_and_drink"},pizza:{keywords:["food","party"],char:'🍕',fitzpatrick_scale:false,category:"food_and_drink"},sandwich:{keywords:["food","lunch","bread"],char:'🥪',fitzpatrick_scale:false,category:"food_and_drink"},canned_food:{keywords:["food","soup"],char:'🥫',fitzpatrick_scale:false,category:"food_and_drink"},spaghetti:{keywords:["food","italian","noodle"],char:'🍝',fitzpatrick_scale:false,category:"food_and_drink"},taco:{keywords:["food","mexican"],char:'🌮',fitzpatrick_scale:false,category:"food_and_drink"},burrito:{keywords:["food","mexican"],char:'🌯',fitzpatrick_scale:false,category:"food_and_drink"},green_salad:{keywords:["food","healthy","lettuce"],char:'🥗',fitzpatrick_scale:false,category:"food_and_drink"},shallow_pan_of_food:{keywords:["food","cooking","casserole","paella"],char:'🥘',fitzpatrick_scale:false,category:"food_and_drink"},ramen:{keywords:["food","japanese","noodle","chopsticks"],char:'🍜',fitzpatrick_scale:false,category:"food_and_drink"},stew:{keywords:["food","meat","soup"],char:'🍲',fitzpatrick_scale:false,category:"food_and_drink"},fish_cake:{keywords:["food","japan","sea","beach","narutomaki","pink","swirl","kamaboko","surimi","ramen"],char:'🍥',fitzpatrick_scale:false,category:"food_and_drink"},fortune_cookie:{keywords:["food","prophecy"],char:'🥠',fitzpatrick_scale:false,category:"food_and_drink"},sushi:{keywords:["food","fish","japanese","rice"],char:'🍣',fitzpatrick_scale:false,category:"food_and_drink"},bento:{keywords:["food","japanese","box"],char:'🍱',fitzpatrick_scale:false,category:"food_and_drink"},curry:{keywords:["food","spicy","hot","indian"],char:'🍛',fitzpatrick_scale:false,category:"food_and_drink"},rice_ball:{keywords:["food","japanese"],char:'🍙',fitzpatrick_scale:false,category:"food_and_drink"},rice:{keywords:["food","china","asian"],char:'🍚',fitzpatrick_scale:false,category:"food_and_drink"},rice_cracker:{keywords:["food","japanese"],char:'🍘',fitzpatrick_scale:false,category:"food_and_drink"},oden:{keywords:["food","japanese"],char:'🍢',fitzpatrick_scale:false,category:"food_and_drink"},dango:{keywords:["food","dessert","sweet","japanese","barbecue","meat"],char:'🍡',fitzpatrick_scale:false,category:"food_and_drink"},shaved_ice:{keywords:["hot","dessert","summer"],char:'🍧',fitzpatrick_scale:false,category:"food_and_drink"},ice_cream:{keywords:["food","hot","dessert"],char:'🍨',fitzpatrick_scale:false,category:"food_and_drink"},icecream:{keywords:["food","hot","dessert","summer"],char:'🍦',fitzpatrick_scale:false,category:"food_and_drink"},pie:{keywords:["food","dessert","pastry"],char:'🥧',fitzpatrick_scale:false,category:"food_and_drink"},cake:{keywords:["food","dessert"],char:'🍰',fitzpatrick_scale:false,category:"food_and_drink"},cupcake:{keywords:["food","dessert","bakery","sweet"],char:'🧁',fitzpatrick_scale:false,category:"food_and_drink"},moon_cake:{keywords:["food","autumn"],char:'🥮',fitzpatrick_scale:false,category:"food_and_drink"},birthday:{keywords:["food","dessert","cake"],char:'🎂',fitzpatrick_scale:false,category:"food_and_drink"},custard:{keywords:["dessert","food"],char:'🍮',fitzpatrick_scale:false,category:"food_and_drink"},candy:{keywords:["snack","dessert","sweet","lolly"],char:'🍬',fitzpatrick_scale:false,category:"food_and_drink"},lollipop:{keywords:["food","snack","candy","sweet"],char:'🍭',fitzpatrick_scale:false,category:"food_and_drink"},chocolate_bar:{keywords:["food","snack","dessert","sweet"],char:'🍫',fitzpatrick_scale:false,category:"food_and_drink"},popcorn:{keywords:["food","movie theater","films","snack"],char:'🍿',fitzpatrick_scale:false,category:"food_and_drink"},dumpling:{keywords:["food","empanada","pierogi","potsticker"],char:'🥟',fitzpatrick_scale:false,category:"food_and_drink"},doughnut:{keywords:["food","dessert","snack","sweet","donut"],char:'🍩',fitzpatrick_scale:false,category:"food_and_drink"},cookie:{keywords:["food","snack","oreo","chocolate","sweet","dessert"],char:'🍪',fitzpatrick_scale:false,category:"food_and_drink"},milk_glass:{keywords:["beverage","drink","cow"],char:'🥛',fitzpatrick_scale:false,category:"food_and_drink"},beer:{keywords:["relax","beverage","drink","drunk","party","pub","summer","alcohol","booze"],char:'🍺',fitzpatrick_scale:false,category:"food_and_drink"},beers:{keywords:["relax","beverage","drink","drunk","party","pub","summer","alcohol","booze"],char:'🍻',fitzpatrick_scale:false,category:"food_and_drink"},clinking_glasses:{keywords:["beverage","drink","party","alcohol","celebrate","cheers","wine","champagne","toast"],char:'🥂',fitzpatrick_scale:false,category:"food_and_drink"},wine_glass:{keywords:["drink","beverage","drunk","alcohol","booze"],char:'🍷',fitzpatrick_scale:false,category:"food_and_drink"},tumbler_glass:{keywords:["drink","beverage","drunk","alcohol","liquor","booze","bourbon","scotch","whisky","glass","shot"],char:'🥃',fitzpatrick_scale:false,category:"food_and_drink"},cocktail:{keywords:["drink","drunk","alcohol","beverage","booze","mojito"],char:'🍸',fitzpatrick_scale:false,category:"food_and_drink"},tropical_drink:{keywords:["beverage","cocktail","summer","beach","alcohol","booze","mojito"],char:'🍹',fitzpatrick_scale:false,category:"food_and_drink"},champagne:{keywords:["drink","wine","bottle","celebration"],char:'🍾',fitzpatrick_scale:false,category:"food_and_drink"},sake:{keywords:["wine","drink","drunk","beverage","japanese","alcohol","booze"],char:'🍶',fitzpatrick_scale:false,category:"food_and_drink"},tea:{keywords:["drink","bowl","breakfast","green","british"],char:'🍵',fitzpatrick_scale:false,category:"food_and_drink"},cup_with_straw:{keywords:["drink","soda"],char:'🥤',fitzpatrick_scale:false,category:"food_and_drink"},coffee:{keywords:["beverage","caffeine","latte","espresso"],char:'☕',fitzpatrick_scale:false,category:"food_and_drink"},baby_bottle:{keywords:["food","container","milk"],char:'🍼',fitzpatrick_scale:false,category:"food_and_drink"},salt:{keywords:["condiment","shaker"],char:'🧂',fitzpatrick_scale:false,category:"food_and_drink"},spoon:{keywords:["cutlery","kitchen","tableware"],char:'🥄',fitzpatrick_scale:false,category:"food_and_drink"},fork_and_knife:{keywords:["cutlery","kitchen"],char:'🍴',fitzpatrick_scale:false,category:"food_and_drink"},plate_with_cutlery:{keywords:["food","eat","meal","lunch","dinner","restaurant"],char:'🍽',fitzpatrick_scale:false,category:"food_and_drink"},bowl_with_spoon:{keywords:["food","breakfast","cereal","oatmeal","porridge"],char:'🥣',fitzpatrick_scale:false,category:"food_and_drink"},takeout_box:{keywords:["food","leftovers"],char:'🥡',fitzpatrick_scale:false,category:"food_and_drink"},chopsticks:{keywords:["food"],char:'🥢',fitzpatrick_scale:false,category:"food_and_drink"},soccer:{keywords:["sports","football"],char:'⚽',fitzpatrick_scale:false,category:"activity"},basketball:{keywords:["sports","balls","NBA"],char:'🏀',fitzpatrick_scale:false,category:"activity"},football:{keywords:["sports","balls","NFL"],char:'🏈',fitzpatrick_scale:false,category:"activity"},baseball:{keywords:["sports","balls"],char:'⚾',fitzpatrick_scale:false,category:"activity"},softball:{keywords:["sports","balls"],char:'🥎',fitzpatrick_scale:false,category:"activity"},tennis:{keywords:["sports","balls","green"],char:'🎾',fitzpatrick_scale:false,category:"activity"},volleyball:{keywords:["sports","balls"],char:'🏐',fitzpatrick_scale:false,category:"activity"},rugby_football:{keywords:["sports","team"],char:'🏉',fitzpatrick_scale:false,category:"activity"},flying_disc:{keywords:["sports","frisbee","ultimate"],char:'🥏',fitzpatrick_scale:false,category:"activity"},"8ball":{keywords:["pool","hobby","game","luck","magic"],char:'🎱',fitzpatrick_scale:false,category:"activity"},golf:{keywords:["sports","business","flag","hole","summer"],char:'⛳',fitzpatrick_scale:false,category:"activity"},golfing_woman:{keywords:["sports","business","woman","female"],char:'🏌️‍♀️',fitzpatrick_scale:false,category:"activity"},golfing_man:{keywords:["sports","business"],char:'🏌',fitzpatrick_scale:true,category:"activity"},ping_pong:{keywords:["sports","pingpong"],char:'🏓',fitzpatrick_scale:false,category:"activity"},badminton:{keywords:["sports"],char:'🏸',fitzpatrick_scale:false,category:"activity"},goal_net:{keywords:["sports"],char:'🥅',fitzpatrick_scale:false,category:"activity"},ice_hockey:{keywords:["sports"],char:'🏒',fitzpatrick_scale:false,category:"activity"},field_hockey:{keywords:["sports"],char:'🏑',fitzpatrick_scale:false,category:"activity"},lacrosse:{keywords:["sports","ball","stick"],char:'🥍',fitzpatrick_scale:false,category:"activity"},cricket:{keywords:["sports"],char:'🏏',fitzpatrick_scale:false,category:"activity"},ski:{keywords:["sports","winter","cold","snow"],char:'🎿',fitzpatrick_scale:false,category:"activity"},skier:{keywords:["sports","winter","snow"],char:'⛷',fitzpatrick_scale:false,category:"activity"},snowboarder:{keywords:["sports","winter"],char:'🏂',fitzpatrick_scale:true,category:"activity"},person_fencing:{keywords:["sports","fencing","sword"],char:'🤺',fitzpatrick_scale:false,category:"activity"},women_wrestling:{keywords:["sports","wrestlers"],char:'🤼‍♀️',fitzpatrick_scale:false,category:"activity"},men_wrestling:{keywords:["sports","wrestlers"],char:'🤼‍♂️',fitzpatrick_scale:false,category:"activity"},woman_cartwheeling:{keywords:["gymnastics"],char:'🤸‍♀️',fitzpatrick_scale:true,category:"activity"},man_cartwheeling:{keywords:["gymnastics"],char:'🤸‍♂️',fitzpatrick_scale:true,category:"activity"},woman_playing_handball:{keywords:["sports"],char:'🤾‍♀️',fitzpatrick_scale:true,category:"activity"},man_playing_handball:{keywords:["sports"],char:'🤾‍♂️',fitzpatrick_scale:true,category:"activity"},ice_skate:{keywords:["sports"],char:'⛸',fitzpatrick_scale:false,category:"activity"},curling_stone:{keywords:["sports"],char:'🥌',fitzpatrick_scale:false,category:"activity"},skateboard:{keywords:["board"],char:'🛹',fitzpatrick_scale:false,category:"activity"},sled:{keywords:["sleigh","luge","toboggan"],char:'🛷',fitzpatrick_scale:false,category:"activity"},bow_and_arrow:{keywords:["sports"],char:'🏹',fitzpatrick_scale:false,category:"activity"},fishing_pole_and_fish:{keywords:["food","hobby","summer"],char:'🎣',fitzpatrick_scale:false,category:"activity"},boxing_glove:{keywords:["sports","fighting"],char:'🥊',fitzpatrick_scale:false,category:"activity"},martial_arts_uniform:{keywords:["judo","karate","taekwondo"],char:'🥋',fitzpatrick_scale:false,category:"activity"},rowing_woman:{keywords:["sports","hobby","water","ship","woman","female"],char:'🚣‍♀️',fitzpatrick_scale:true,category:"activity"},rowing_man:{keywords:["sports","hobby","water","ship"],char:'🚣',fitzpatrick_scale:true,category:"activity"},climbing_woman:{keywords:["sports","hobby","woman","female","rock"],char:'🧗‍♀️',fitzpatrick_scale:true,category:"activity"},climbing_man:{keywords:["sports","hobby","man","male","rock"],char:'🧗‍♂️',fitzpatrick_scale:true,category:"activity"},swimming_woman:{keywords:["sports","exercise","human","athlete","water","summer","woman","female"],char:'🏊‍♀️',fitzpatrick_scale:true,category:"activity"},swimming_man:{keywords:["sports","exercise","human","athlete","water","summer"],char:'🏊',fitzpatrick_scale:true,category:"activity"},woman_playing_water_polo:{keywords:["sports","pool"],char:'🤽‍♀️',fitzpatrick_scale:true,category:"activity"},man_playing_water_polo:{keywords:["sports","pool"],char:'🤽‍♂️',fitzpatrick_scale:true,category:"activity"},woman_in_lotus_position:{keywords:["woman","female","meditation","yoga","serenity","zen","mindfulness"],char:'🧘‍♀️',fitzpatrick_scale:true,category:"activity"},man_in_lotus_position:{keywords:["man","male","meditation","yoga","serenity","zen","mindfulness"],char:'🧘‍♂️',fitzpatrick_scale:true,category:"activity"},surfing_woman:{keywords:["sports","ocean","sea","summer","beach","woman","female"],char:'🏄‍♀️',fitzpatrick_scale:true,category:"activity"},surfing_man:{keywords:["sports","ocean","sea","summer","beach"],char:'🏄',fitzpatrick_scale:true,category:"activity"},bath:{keywords:["clean","shower","bathroom"],char:'🛀',fitzpatrick_scale:true,category:"activity"},basketball_woman:{keywords:["sports","human","woman","female"],char:'⛹️‍♀️',fitzpatrick_scale:true,category:"activity"},basketball_man:{keywords:["sports","human"],char:'⛹',fitzpatrick_scale:true,category:"activity"},weight_lifting_woman:{keywords:["sports","training","exercise","woman","female"],char:'🏋️‍♀️',fitzpatrick_scale:true,category:"activity"},weight_lifting_man:{keywords:["sports","training","exercise"],char:'🏋',fitzpatrick_scale:true,category:"activity"},biking_woman:{keywords:["sports","bike","exercise","hipster","woman","female"],char:'🚴‍♀️',fitzpatrick_scale:true,category:"activity"},biking_man:{keywords:["sports","bike","exercise","hipster"],char:'🚴',fitzpatrick_scale:true,category:"activity"},mountain_biking_woman:{keywords:["transportation","sports","human","race","bike","woman","female"],char:'🚵‍♀️',fitzpatrick_scale:true,category:"activity"},mountain_biking_man:{keywords:["transportation","sports","human","race","bike"],char:'🚵',fitzpatrick_scale:true,category:"activity"},horse_racing:{keywords:["animal","betting","competition","gambling","luck"],char:'🏇',fitzpatrick_scale:true,category:"activity"},business_suit_levitating:{keywords:["suit","business","levitate","hover","jump"],char:'🕴',fitzpatrick_scale:true,category:"activity"},trophy:{keywords:["win","award","contest","place","ftw","ceremony"],char:'🏆',fitzpatrick_scale:false,category:"activity"},running_shirt_with_sash:{keywords:["play","pageant"],char:'🎽',fitzpatrick_scale:false,category:"activity"},medal_sports:{keywords:["award","winning"],char:'🏅',fitzpatrick_scale:false,category:"activity"},medal_military:{keywords:["award","winning","army"],char:'🎖',fitzpatrick_scale:false,category:"activity"},"1st_place_medal":{keywords:["award","winning","first"],char:'🥇',fitzpatrick_scale:false,category:"activity"},"2nd_place_medal":{keywords:["award","second"],char:'🥈',fitzpatrick_scale:false,category:"activity"},"3rd_place_medal":{keywords:["award","third"],char:'🥉',fitzpatrick_scale:false,category:"activity"},reminder_ribbon:{keywords:["sports","cause","support","awareness"],char:'🎗',fitzpatrick_scale:false,category:"activity"},rosette:{keywords:["flower","decoration","military"],char:'🏵',fitzpatrick_scale:false,category:"activity"},ticket:{keywords:["event","concert","pass"],char:'🎫',fitzpatrick_scale:false,category:"activity"},tickets:{keywords:["sports","concert","entrance"],char:'🎟',fitzpatrick_scale:false,category:"activity"},performing_arts:{keywords:["acting","theater","drama"],char:'🎭',fitzpatrick_scale:false,category:"activity"},art:{keywords:["design","paint","draw","colors"],char:'🎨',fitzpatrick_scale:false,category:"activity"},circus_tent:{keywords:["festival","carnival","party"],char:'🎪',fitzpatrick_scale:false,category:"activity"},woman_juggling:{keywords:["juggle","balance","skill","multitask"],char:'🤹‍♀️',fitzpatrick_scale:true,category:"activity"},man_juggling:{keywords:["juggle","balance","skill","multitask"],char:'🤹‍♂️',fitzpatrick_scale:true,category:"activity"},microphone:{keywords:["sound","music","PA","sing","talkshow"],char:'🎤',fitzpatrick_scale:false,category:"activity"},headphones:{keywords:["music","score","gadgets"],char:'🎧',fitzpatrick_scale:false,category:"activity"},musical_score:{keywords:["treble","clef","compose"],char:'🎼',fitzpatrick_scale:false,category:"activity"},musical_keyboard:{keywords:["piano","instrument","compose"],char:'🎹',fitzpatrick_scale:false,category:"activity"},drum:{keywords:["music","instrument","drumsticks","snare"],char:'🥁',fitzpatrick_scale:false,category:"activity"},saxophone:{keywords:["music","instrument","jazz","blues"],char:'🎷',fitzpatrick_scale:false,category:"activity"},trumpet:{keywords:["music","brass"],char:'🎺',fitzpatrick_scale:false,category:"activity"},guitar:{keywords:["music","instrument"],char:'🎸',fitzpatrick_scale:false,category:"activity"},violin:{keywords:["music","instrument","orchestra","symphony"],char:'🎻',fitzpatrick_scale:false,category:"activity"},clapper:{keywords:["movie","film","record"],char:'🎬',fitzpatrick_scale:false,category:"activity"},video_game:{keywords:["play","console","PS4","controller"],char:'🎮',fitzpatrick_scale:false,category:"activity"},space_invader:{keywords:["game","arcade","play"],char:'👾',fitzpatrick_scale:false,category:"activity"},dart:{keywords:["game","play","bar","target","bullseye"],char:'🎯',fitzpatrick_scale:false,category:"activity"},game_die:{keywords:["dice","random","tabletop","play","luck"],char:'🎲',fitzpatrick_scale:false,category:"activity"},chess_pawn:{keywords:["expendable"],char:"♟",fitzpatrick_scale:false,category:"activity"},slot_machine:{keywords:["bet","gamble","vegas","fruit machine","luck","casino"],char:'🎰',fitzpatrick_scale:false,category:"activity"},jigsaw:{keywords:["interlocking","puzzle","piece"],char:'🧩',fitzpatrick_scale:false,category:"activity"},bowling:{keywords:["sports","fun","play"],char:'🎳',fitzpatrick_scale:false,category:"activity"},red_car:{keywords:["red","transportation","vehicle"],char:'🚗',fitzpatrick_scale:false,category:"travel_and_places"},taxi:{keywords:["uber","vehicle","cars","transportation"],char:'🚕',fitzpatrick_scale:false,category:"travel_and_places"},blue_car:{keywords:["transportation","vehicle"],char:'🚙',fitzpatrick_scale:false,category:"travel_and_places"},bus:{keywords:["car","vehicle","transportation"],char:'🚌',fitzpatrick_scale:false,category:"travel_and_places"},trolleybus:{keywords:["bart","transportation","vehicle"],char:'🚎',fitzpatrick_scale:false,category:"travel_and_places"},racing_car:{keywords:["sports","race","fast","formula","f1"],char:'🏎',fitzpatrick_scale:false,category:"travel_and_places"},police_car:{keywords:["vehicle","cars","transportation","law","legal","enforcement"],char:'🚓',fitzpatrick_scale:false,category:"travel_and_places"},ambulance:{keywords:["health","911","hospital"],char:'🚑',fitzpatrick_scale:false,category:"travel_and_places"},fire_engine:{keywords:["transportation","cars","vehicle"],char:'🚒',fitzpatrick_scale:false,category:"travel_and_places"},minibus:{keywords:["vehicle","car","transportation"],char:'🚐',fitzpatrick_scale:false,category:"travel_and_places"},truck:{keywords:["cars","transportation"],char:'🚚',fitzpatrick_scale:false,category:"travel_and_places"},articulated_lorry:{keywords:["vehicle","cars","transportation","express"],char:'🚛',fitzpatrick_scale:false,category:"travel_and_places"},tractor:{keywords:["vehicle","car","farming","agriculture"],char:'🚜',fitzpatrick_scale:false,category:"travel_and_places"},kick_scooter:{keywords:["vehicle","kick","razor"],char:'🛴',fitzpatrick_scale:false,category:"travel_and_places"},motorcycle:{keywords:["race","sports","fast"],char:'🏍',fitzpatrick_scale:false,category:"travel_and_places"},bike:{keywords:["sports","bicycle","exercise","hipster"],char:'🚲',fitzpatrick_scale:false,category:"travel_and_places"},motor_scooter:{keywords:["vehicle","vespa","sasha"],char:'🛵',fitzpatrick_scale:false,category:"travel_and_places"},rotating_light:{keywords:["police","ambulance","911","emergency","alert","error","pinged","law","legal"],char:'🚨',fitzpatrick_scale:false,category:"travel_and_places"},oncoming_police_car:{keywords:["vehicle","law","legal","enforcement","911"],char:'🚔',fitzpatrick_scale:false,category:"travel_and_places"},oncoming_bus:{keywords:["vehicle","transportation"],char:'🚍',fitzpatrick_scale:false,category:"travel_and_places"},oncoming_automobile:{keywords:["car","vehicle","transportation"],char:'🚘',fitzpatrick_scale:false,category:"travel_and_places"},oncoming_taxi:{keywords:["vehicle","cars","uber"],char:'🚖',fitzpatrick_scale:false,category:"travel_and_places"},aerial_tramway:{keywords:["transportation","vehicle","ski"],char:'🚡',fitzpatrick_scale:false,category:"travel_and_places"},mountain_cableway:{keywords:["transportation","vehicle","ski"],char:'🚠',fitzpatrick_scale:false,category:"travel_and_places"},suspension_railway:{keywords:["vehicle","transportation"],char:'🚟',fitzpatrick_scale:false,category:"travel_and_places"},railway_car:{keywords:["transportation","vehicle"],char:'🚃',fitzpatrick_scale:false,category:"travel_and_places"},train:{keywords:["transportation","vehicle","carriage","public","travel"],char:'🚋',fitzpatrick_scale:false,category:"travel_and_places"},monorail:{keywords:["transportation","vehicle"],char:'🚝',fitzpatrick_scale:false,category:"travel_and_places"},bullettrain_side:{keywords:["transportation","vehicle"],char:'🚄',fitzpatrick_scale:false,category:"travel_and_places"},bullettrain_front:{keywords:["transportation","vehicle","speed","fast","public","travel"],char:'🚅',fitzpatrick_scale:false,category:"travel_and_places"},light_rail:{keywords:["transportation","vehicle"],char:'🚈',fitzpatrick_scale:false,category:"travel_and_places"},mountain_railway:{keywords:["transportation","vehicle"],char:'🚞',fitzpatrick_scale:false,category:"travel_and_places"},steam_locomotive:{keywords:["transportation","vehicle","train"],char:'🚂',fitzpatrick_scale:false,category:"travel_and_places"},train2:{keywords:["transportation","vehicle"],char:'🚆',fitzpatrick_scale:false,category:"travel_and_places"},metro:{keywords:["transportation","blue-square","mrt","underground","tube"],char:'🚇',fitzpatrick_scale:false,category:"travel_and_places"},tram:{keywords:["transportation","vehicle"],char:'🚊',fitzpatrick_scale:false,category:"travel_and_places"},station:{keywords:["transportation","vehicle","public"],char:'🚉',fitzpatrick_scale:false,category:"travel_and_places"},flying_saucer:{keywords:["transportation","vehicle","ufo"],char:'🛸',fitzpatrick_scale:false,category:"travel_and_places"},helicopter:{keywords:["transportation","vehicle","fly"],char:'🚁',fitzpatrick_scale:false,category:"travel_and_places"},small_airplane:{keywords:["flight","transportation","fly","vehicle"],char:'🛩',fitzpatrick_scale:false,category:"travel_and_places"},airplane:{keywords:["vehicle","transportation","flight","fly"],char:'✈️',fitzpatrick_scale:false,category:"travel_and_places"},flight_departure:{keywords:["airport","flight","landing"],char:'🛫',fitzpatrick_scale:false,category:"travel_and_places"},flight_arrival:{keywords:["airport","flight","boarding"],char:'🛬',fitzpatrick_scale:false,category:"travel_and_places"},sailboat:{keywords:["ship","summer","transportation","water","sailing"],char:'⛵',fitzpatrick_scale:false,category:"travel_and_places"},motor_boat:{keywords:["ship"],char:'🛥',fitzpatrick_scale:false,category:"travel_and_places"},speedboat:{keywords:["ship","transportation","vehicle","summer"],char:'🚤',fitzpatrick_scale:false,category:"travel_and_places"},ferry:{keywords:["boat","ship","yacht"],char:'⛴',fitzpatrick_scale:false,category:"travel_and_places"},passenger_ship:{keywords:["yacht","cruise","ferry"],char:'🛳',fitzpatrick_scale:false,category:"travel_and_places"},rocket:{keywords:["launch","ship","staffmode","NASA","outer space","outer_space","fly"],char:'🚀',fitzpatrick_scale:false,category:"travel_and_places"},artificial_satellite:{keywords:["communication","gps","orbit","spaceflight","NASA","ISS"],char:'🛰',fitzpatrick_scale:false,category:"travel_and_places"},seat:{keywords:["sit","airplane","transport","bus","flight","fly"],char:'💺',fitzpatrick_scale:false,category:"travel_and_places"},canoe:{keywords:["boat","paddle","water","ship"],char:'🛶',fitzpatrick_scale:false,category:"travel_and_places"},anchor:{keywords:["ship","ferry","sea","boat"],char:'⚓',fitzpatrick_scale:false,category:"travel_and_places"},construction:{keywords:["wip","progress","caution","warning"],char:'🚧',fitzpatrick_scale:false,category:"travel_and_places"},fuelpump:{keywords:["gas station","petroleum"],char:'⛽',fitzpatrick_scale:false,category:"travel_and_places"},busstop:{keywords:["transportation","wait"],char:'🚏',fitzpatrick_scale:false,category:"travel_and_places"},vertical_traffic_light:{keywords:["transportation","driving"],char:'🚦',fitzpatrick_scale:false,category:"travel_and_places"},traffic_light:{keywords:["transportation","signal"],char:'🚥',fitzpatrick_scale:false,category:"travel_and_places"},checkered_flag:{keywords:["contest","finishline","race","gokart"],char:'🏁',fitzpatrick_scale:false,category:"travel_and_places"},ship:{keywords:["transportation","titanic","deploy"],char:'🚢',fitzpatrick_scale:false,category:"travel_and_places"},ferris_wheel:{keywords:["photo","carnival","londoneye"],char:'🎡',fitzpatrick_scale:false,category:"travel_and_places"},roller_coaster:{keywords:["carnival","playground","photo","fun"],char:'🎢',fitzpatrick_scale:false,category:"travel_and_places"},carousel_horse:{keywords:["photo","carnival"],char:'🎠',fitzpatrick_scale:false,category:"travel_and_places"},building_construction:{keywords:["wip","working","progress"],char:'🏗',fitzpatrick_scale:false,category:"travel_and_places"},foggy:{keywords:["photo","mountain"],char:'🌁',fitzpatrick_scale:false,category:"travel_and_places"},tokyo_tower:{keywords:["photo","japanese"],char:'🗼',fitzpatrick_scale:false,category:"travel_and_places"},factory:{keywords:["building","industry","pollution","smoke"],char:'🏭',fitzpatrick_scale:false,category:"travel_and_places"},fountain:{keywords:["photo","summer","water","fresh"],char:'⛲',fitzpatrick_scale:false,category:"travel_and_places"},rice_scene:{keywords:["photo","japan","asia","tsukimi"],char:'🎑',fitzpatrick_scale:false,category:"travel_and_places"},mountain:{keywords:["photo","nature","environment"],char:'⛰',fitzpatrick_scale:false,category:"travel_and_places"},mountain_snow:{keywords:["photo","nature","environment","winter","cold"],char:'🏔',fitzpatrick_scale:false,category:"travel_and_places"},mount_fuji:{keywords:["photo","mountain","nature","japanese"],char:'🗻',fitzpatrick_scale:false,category:"travel_and_places"},volcano:{keywords:["photo","nature","disaster"],char:'🌋',fitzpatrick_scale:false,category:"travel_and_places"},japan:{keywords:["nation","country","japanese","asia"],char:'🗾',fitzpatrick_scale:false,category:"travel_and_places"},camping:{keywords:["photo","outdoors","tent"],char:'🏕',fitzpatrick_scale:false,category:"travel_and_places"},tent:{keywords:["photo","camping","outdoors"],char:'⛺',fitzpatrick_scale:false,category:"travel_and_places"},national_park:{keywords:["photo","environment","nature"],char:'🏞',fitzpatrick_scale:false,category:"travel_and_places"},motorway:{keywords:["road","cupertino","interstate","highway"],char:'🛣',fitzpatrick_scale:false,category:"travel_and_places"},railway_track:{keywords:["train","transportation"],char:'🛤',fitzpatrick_scale:false,category:"travel_and_places"},sunrise:{keywords:["morning","view","vacation","photo"],char:'🌅',fitzpatrick_scale:false,category:"travel_and_places"},sunrise_over_mountains:{keywords:["view","vacation","photo"],char:'🌄',fitzpatrick_scale:false,category:"travel_and_places"},desert:{keywords:["photo","warm","saharah"],char:'🏜',fitzpatrick_scale:false,category:"travel_and_places"},beach_umbrella:{keywords:["weather","summer","sunny","sand","mojito"],char:'🏖',fitzpatrick_scale:false,category:"travel_and_places"},desert_island:{keywords:["photo","tropical","mojito"],char:'🏝',fitzpatrick_scale:false,category:"travel_and_places"},city_sunrise:{keywords:["photo","good morning","dawn"],char:'🌇',fitzpatrick_scale:false,category:"travel_and_places"},city_sunset:{keywords:["photo","evening","sky","buildings"],char:'🌆',fitzpatrick_scale:false,category:"travel_and_places"},cityscape:{keywords:["photo","night life","urban"],char:'🏙',fitzpatrick_scale:false,category:"travel_and_places"},night_with_stars:{keywords:["evening","city","downtown"],char:'🌃',fitzpatrick_scale:false,category:"travel_and_places"},bridge_at_night:{keywords:["photo","sanfrancisco"],char:'🌉',fitzpatrick_scale:false,category:"travel_and_places"},milky_way:{keywords:["photo","space","stars"],char:'🌌',fitzpatrick_scale:false,category:"travel_and_places"},stars:{keywords:["night","photo"],char:'🌠',fitzpatrick_scale:false,category:"travel_and_places"},sparkler:{keywords:["stars","night","shine"],char:'🎇',fitzpatrick_scale:false,category:"travel_and_places"},fireworks:{keywords:["photo","festival","carnival","congratulations"],char:'🎆',fitzpatrick_scale:false,category:"travel_and_places"},rainbow:{keywords:["nature","happy","unicorn_face","photo","sky","spring"],char:'🌈',fitzpatrick_scale:false,category:"travel_and_places"},houses:{keywords:["buildings","photo"],char:'🏘',fitzpatrick_scale:false,category:"travel_and_places"},european_castle:{keywords:["building","royalty","history"],char:'🏰',fitzpatrick_scale:false,category:"travel_and_places"},japanese_castle:{keywords:["photo","building"],char:'🏯',fitzpatrick_scale:false,category:"travel_and_places"},stadium:{keywords:["photo","place","sports","concert","venue"],char:'🏟',fitzpatrick_scale:false,category:"travel_and_places"},statue_of_liberty:{keywords:["american","newyork"],char:'🗽',fitzpatrick_scale:false,category:"travel_and_places"},house:{keywords:["building","home"],char:'🏠',fitzpatrick_scale:false,category:"travel_and_places"},house_with_garden:{keywords:["home","plant","nature"],char:'🏡',fitzpatrick_scale:false,category:"travel_and_places"},derelict_house:{keywords:["abandon","evict","broken","building"],char:'🏚',fitzpatrick_scale:false,category:"travel_and_places"},office:{keywords:["building","bureau","work"],char:'🏢',fitzpatrick_scale:false,category:"travel_and_places"},department_store:{keywords:["building","shopping","mall"],char:'🏬',fitzpatrick_scale:false,category:"travel_and_places"},post_office:{keywords:["building","envelope","communication"],char:'🏣',fitzpatrick_scale:false,category:"travel_and_places"},european_post_office:{keywords:["building","email"],char:'🏤',fitzpatrick_scale:false,category:"travel_and_places"},hospital:{keywords:["building","health","surgery","doctor"],char:'🏥',fitzpatrick_scale:false,category:"travel_and_places"},bank:{keywords:["building","money","sales","cash","business","enterprise"],char:'🏦',fitzpatrick_scale:false,category:"travel_and_places"},hotel:{keywords:["building","accomodation","checkin"],char:'🏨',fitzpatrick_scale:false,category:"travel_and_places"},convenience_store:{keywords:["building","shopping","groceries"],char:'🏪',fitzpatrick_scale:false,category:"travel_and_places"},school:{keywords:["building","student","education","learn","teach"],char:'🏫',fitzpatrick_scale:false,category:"travel_and_places"},love_hotel:{keywords:["like","affection","dating"],char:'🏩',fitzpatrick_scale:false,category:"travel_and_places"},wedding:{keywords:["love","like","affection","couple","marriage","bride","groom"],char:'💒',fitzpatrick_scale:false,category:"travel_and_places"},classical_building:{keywords:["art","culture","history"],char:'🏛',fitzpatrick_scale:false,category:"travel_and_places"},church:{keywords:["building","religion","christ"],char:'⛪',fitzpatrick_scale:false,category:"travel_and_places"},mosque:{keywords:["islam","worship","minaret"],char:'🕌',fitzpatrick_scale:false,category:"travel_and_places"},synagogue:{keywords:["judaism","worship","temple","jewish"],char:'🕍',fitzpatrick_scale:false,category:"travel_and_places"},kaaba:{keywords:["mecca","mosque","islam"],char:'🕋',fitzpatrick_scale:false,category:"travel_and_places"},shinto_shrine:{keywords:["temple","japan","kyoto"],char:'⛩',fitzpatrick_scale:false,category:"travel_and_places"},watch:{keywords:["time","accessories"],char:'⌚',fitzpatrick_scale:false,category:"objects"},iphone:{keywords:["technology","apple","gadgets","dial"],char:'📱',fitzpatrick_scale:false,category:"objects"},calling:{keywords:["iphone","incoming"],char:'📲',fitzpatrick_scale:false,category:"objects"},computer:{keywords:["technology","laptop","screen","display","monitor"],char:'💻',fitzpatrick_scale:false,category:"objects"},keyboard:{keywords:["technology","computer","type","input","text"],char:'⌨',fitzpatrick_scale:false,category:"objects"},desktop_computer:{keywords:["technology","computing","screen"],char:'🖥',fitzpatrick_scale:false,category:"objects"},printer:{keywords:["paper","ink"],char:'🖨',fitzpatrick_scale:false,category:"objects"},computer_mouse:{keywords:["click"],char:'🖱',fitzpatrick_scale:false,category:"objects"},trackball:{keywords:["technology","trackpad"],char:'🖲',fitzpatrick_scale:false,category:"objects"},joystick:{keywords:["game","play"],char:'🕹',fitzpatrick_scale:false,category:"objects"},clamp:{keywords:["tool"],char:'🗜',fitzpatrick_scale:false,category:"objects"},minidisc:{keywords:["technology","record","data","disk","90s"],char:'💽',fitzpatrick_scale:false,category:"objects"},floppy_disk:{keywords:["oldschool","technology","save","90s","80s"],char:'💾',fitzpatrick_scale:false,category:"objects"},cd:{keywords:["technology","dvd","disk","disc","90s"],char:'💿',fitzpatrick_scale:false,category:"objects"},dvd:{keywords:["cd","disk","disc"],char:'📀',fitzpatrick_scale:false,category:"objects"},vhs:{keywords:["record","video","oldschool","90s","80s"],char:'📼',fitzpatrick_scale:false,category:"objects"},camera:{keywords:["gadgets","photography"],char:'📷',fitzpatrick_scale:false,category:"objects"},camera_flash:{keywords:["photography","gadgets"],char:'📸',fitzpatrick_scale:false,category:"objects"},video_camera:{keywords:["film","record"],char:'📹',fitzpatrick_scale:false,category:"objects"},movie_camera:{keywords:["film","record"],char:'🎥',fitzpatrick_scale:false,category:"objects"},film_projector:{keywords:["video","tape","record","movie"],char:'📽',fitzpatrick_scale:false,category:"objects"},film_strip:{keywords:["movie"],char:'🎞',fitzpatrick_scale:false,category:"objects"},telephone_receiver:{keywords:["technology","communication","dial"],char:'📞',fitzpatrick_scale:false,category:"objects"},phone:{keywords:["technology","communication","dial","telephone"],char:'☎️',fitzpatrick_scale:false,category:"objects"},pager:{keywords:["bbcall","oldschool","90s"],char:'📟',fitzpatrick_scale:false,category:"objects"},fax:{keywords:["communication","technology"],char:'📠',fitzpatrick_scale:false,category:"objects"},tv:{keywords:["technology","program","oldschool","show","television"],char:'📺',fitzpatrick_scale:false,category:"objects"},radio:{keywords:["communication","music","podcast","program"],char:'📻',fitzpatrick_scale:false,category:"objects"},studio_microphone:{keywords:["sing","recording","artist","talkshow"],char:'🎙',fitzpatrick_scale:false,category:"objects"},level_slider:{keywords:["scale"],char:'🎚',fitzpatrick_scale:false,category:"objects"},control_knobs:{keywords:["dial"],char:'🎛',fitzpatrick_scale:false,category:"objects"},compass:{keywords:["magnetic","navigation","orienteering"],char:'🧭',fitzpatrick_scale:false,category:"objects"},stopwatch:{keywords:["time","deadline"],char:'⏱',fitzpatrick_scale:false,category:"objects"},timer_clock:{keywords:["alarm"],char:'⏲',fitzpatrick_scale:false,category:"objects"},alarm_clock:{keywords:["time","wake"],char:'⏰',fitzpatrick_scale:false,category:"objects"},mantelpiece_clock:{keywords:["time"],char:'🕰',fitzpatrick_scale:false,category:"objects"},hourglass_flowing_sand:{keywords:["oldschool","time","countdown"],char:'⏳',fitzpatrick_scale:false,category:"objects"},hourglass:{keywords:["time","clock","oldschool","limit","exam","quiz","test"],char:'⌛',fitzpatrick_scale:false,category:"objects"},satellite:{keywords:["communication","future","radio","space"],char:'📡',fitzpatrick_scale:false,category:"objects"},battery:{keywords:["power","energy","sustain"],char:'🔋',fitzpatrick_scale:false,category:"objects"},electric_plug:{keywords:["charger","power"],char:'🔌',fitzpatrick_scale:false,category:"objects"},bulb:{keywords:["light","electricity","idea"],char:'💡',fitzpatrick_scale:false,category:"objects"},flashlight:{keywords:["dark","camping","sight","night"],char:'🔦',fitzpatrick_scale:false,category:"objects"},candle:{keywords:["fire","wax"],char:'🕯',fitzpatrick_scale:false,category:"objects"},fire_extinguisher:{keywords:["quench"],char:'🧯',fitzpatrick_scale:false,category:"objects"},wastebasket:{keywords:["bin","trash","rubbish","garbage","toss"],char:'🗑',fitzpatrick_scale:false,category:"objects"},oil_drum:{keywords:["barrell"],char:'🛢',fitzpatrick_scale:false,category:"objects"},money_with_wings:{keywords:["dollar","bills","payment","sale"],char:'💸',fitzpatrick_scale:false,category:"objects"},dollar:{keywords:["money","sales","bill","currency"],char:'💵',fitzpatrick_scale:false,category:"objects"},yen:{keywords:["money","sales","japanese","dollar","currency"],char:'💴',fitzpatrick_scale:false,category:"objects"},euro:{keywords:["money","sales","dollar","currency"],char:'💶',fitzpatrick_scale:false,category:"objects"},pound:{keywords:["british","sterling","money","sales","bills","uk","england","currency"],char:'💷',fitzpatrick_scale:false,category:"objects"},moneybag:{keywords:["dollar","payment","coins","sale"],char:'💰',fitzpatrick_scale:false,category:"objects"},credit_card:{keywords:["money","sales","dollar","bill","payment","shopping"],char:'💳',fitzpatrick_scale:false,category:"objects"},gem:{keywords:["blue","ruby","diamond","jewelry"],char:'💎',fitzpatrick_scale:false,category:"objects"},balance_scale:{keywords:["law","fairness","weight"],char:'⚖',fitzpatrick_scale:false,category:"objects"},toolbox:{keywords:["tools","diy","fix","maintainer","mechanic"],char:'🧰',fitzpatrick_scale:false,category:"objects"},wrench:{keywords:["tools","diy","ikea","fix","maintainer"],char:'🔧',fitzpatrick_scale:false,category:"objects"},hammer:{keywords:["tools","build","create"],char:'🔨',fitzpatrick_scale:false,category:"objects"},hammer_and_pick:{keywords:["tools","build","create"],char:'⚒',fitzpatrick_scale:false,category:"objects"},hammer_and_wrench:{keywords:["tools","build","create"],char:'🛠',fitzpatrick_scale:false,category:"objects"},pick:{keywords:["tools","dig"],char:'⛏',fitzpatrick_scale:false,category:"objects"},nut_and_bolt:{keywords:["handy","tools","fix"],char:'🔩',fitzpatrick_scale:false,category:"objects"},gear:{keywords:["cog"],char:'⚙',fitzpatrick_scale:false,category:"objects"},brick:{keywords:["bricks"],char:'🧱',fitzpatrick_scale:false,category:"objects"},chains:{keywords:["lock","arrest"],char:'⛓',fitzpatrick_scale:false,category:"objects"},magnet:{keywords:["attraction","magnetic"],char:'🧲',fitzpatrick_scale:false,category:"objects"},gun:{keywords:["violence","weapon","pistol","revolver"],char:'🔫',fitzpatrick_scale:false,category:"objects"},bomb:{keywords:["boom","explode","explosion","terrorism"],char:'💣',fitzpatrick_scale:false,category:"objects"},firecracker:{keywords:["dynamite","boom","explode","explosion","explosive"],char:'🧨',fitzpatrick_scale:false,category:"objects"},hocho:{keywords:["knife","blade","cutlery","kitchen","weapon"],char:'🔪',fitzpatrick_scale:false,category:"objects"},dagger:{keywords:["weapon"],char:'🗡',fitzpatrick_scale:false,category:"objects"},crossed_swords:{keywords:["weapon"],char:'⚔',fitzpatrick_scale:false,category:"objects"},shield:{keywords:["protection","security"],char:'🛡',fitzpatrick_scale:false,category:"objects"},smoking:{keywords:["kills","tobacco","cigarette","joint","smoke"],char:'🚬',fitzpatrick_scale:false,category:"objects"},skull_and_crossbones:{keywords:["poison","danger","deadly","scary","death","pirate","evil"],char:'☠',fitzpatrick_scale:false,category:"objects"},coffin:{keywords:["vampire","dead","die","death","rip","graveyard","cemetery","casket","funeral","box"],char:'⚰',fitzpatrick_scale:false,category:"objects"},funeral_urn:{keywords:["dead","die","death","rip","ashes"],char:'⚱',fitzpatrick_scale:false,category:"objects"},amphora:{keywords:["vase","jar"],char:'🏺',fitzpatrick_scale:false,category:"objects"},crystal_ball:{keywords:["disco","party","magic","circus","fortune_teller"],char:'🔮',fitzpatrick_scale:false,category:"objects"},prayer_beads:{keywords:["dhikr","religious"],char:'📿',fitzpatrick_scale:false,category:"objects"},nazar_amulet:{keywords:["bead","charm"],char:'🧿',fitzpatrick_scale:false,category:"objects"},barber:{keywords:["hair","salon","style"],char:'💈',fitzpatrick_scale:false,category:"objects"},alembic:{keywords:["distilling","science","experiment","chemistry"],char:'⚗',fitzpatrick_scale:false,category:"objects"},telescope:{keywords:["stars","space","zoom","science","astronomy"],char:'🔭',fitzpatrick_scale:false,category:"objects"},microscope:{keywords:["laboratory","experiment","zoomin","science","study"],char:'🔬',fitzpatrick_scale:false,category:"objects"},hole:{keywords:["embarrassing"],char:'🕳',fitzpatrick_scale:false,category:"objects"},pill:{keywords:["health","medicine","doctor","pharmacy","drug"],char:'💊',fitzpatrick_scale:false,category:"objects"},syringe:{keywords:["health","hospital","drugs","blood","medicine","needle","doctor","nurse"],char:'💉',fitzpatrick_scale:false,category:"objects"},dna:{keywords:["biologist","genetics","life"],char:'🧬',fitzpatrick_scale:false,category:"objects"},microbe:{keywords:["amoeba","bacteria","germs"],char:'🦠',fitzpatrick_scale:false,category:"objects"},petri_dish:{keywords:["bacteria","biology","culture","lab"],char:'🧫',fitzpatrick_scale:false,category:"objects"},test_tube:{keywords:["chemistry","experiment","lab","science"],char:'🧪',fitzpatrick_scale:false,category:"objects"},thermometer:{keywords:["weather","temperature","hot","cold"],char:'🌡',fitzpatrick_scale:false,category:"objects"},broom:{keywords:["cleaning","sweeping","witch"],char:'🧹',fitzpatrick_scale:false,category:"objects"},basket:{keywords:["laundry"],char:'🧺',fitzpatrick_scale:false,category:"objects"},toilet_paper:{keywords:["roll"],char:'🧻',fitzpatrick_scale:false,category:"objects"},label:{keywords:["sale","tag"],char:'🏷',fitzpatrick_scale:false,category:"objects"},bookmark:{keywords:["favorite","label","save"],char:'🔖',fitzpatrick_scale:false,category:"objects"},toilet:{keywords:["restroom","wc","washroom","bathroom","potty"],char:'🚽',fitzpatrick_scale:false,category:"objects"},shower:{keywords:["clean","water","bathroom"],char:'🚿',fitzpatrick_scale:false,category:"objects"},bathtub:{keywords:["clean","shower","bathroom"],char:'🛁',fitzpatrick_scale:false,category:"objects"},soap:{keywords:["bar","bathing","cleaning","lather"],char:'🧼',fitzpatrick_scale:false,category:"objects"},sponge:{keywords:["absorbing","cleaning","porous"],char:'🧽',fitzpatrick_scale:false,category:"objects"},lotion_bottle:{keywords:["moisturizer","sunscreen"],char:'🧴',fitzpatrick_scale:false,category:"objects"},key:{keywords:["lock","door","password"],char:'🔑',fitzpatrick_scale:false,category:"objects"},old_key:{keywords:["lock","door","password"],char:'🗝',fitzpatrick_scale:false,category:"objects"},couch_and_lamp:{keywords:["read","chill"],char:'🛋',fitzpatrick_scale:false,category:"objects"},sleeping_bed:{keywords:["bed","rest"],char:'🛌',fitzpatrick_scale:true,category:"objects"},bed:{keywords:["sleep","rest"],char:'🛏',fitzpatrick_scale:false,category:"objects"},door:{keywords:["house","entry","exit"],char:'🚪',fitzpatrick_scale:false,category:"objects"},bellhop_bell:{keywords:["service"],char:'🛎',fitzpatrick_scale:false,category:"objects"},teddy_bear:{keywords:["plush","stuffed"],char:'🧸',fitzpatrick_scale:false,category:"objects"},framed_picture:{keywords:["photography"],char:'🖼',fitzpatrick_scale:false,category:"objects"},world_map:{keywords:["location","direction"],char:'🗺',fitzpatrick_scale:false,category:"objects"},parasol_on_ground:{keywords:["weather","summer"],char:'⛱',fitzpatrick_scale:false,category:"objects"},moyai:{keywords:["rock","easter island","moai"],char:'🗿',fitzpatrick_scale:false,category:"objects"},shopping:{keywords:["mall","buy","purchase"],char:'🛍',fitzpatrick_scale:false,category:"objects"},shopping_cart:{keywords:["trolley"],char:'🛒',fitzpatrick_scale:false,category:"objects"},balloon:{keywords:["party","celebration","birthday","circus"],char:'🎈',fitzpatrick_scale:false,category:"objects"},flags:{keywords:["fish","japanese","koinobori","carp","banner"],char:'🎏',fitzpatrick_scale:false,category:"objects"},ribbon:{keywords:["decoration","pink","girl","bowtie"],char:'🎀',fitzpatrick_scale:false,category:"objects"},gift:{keywords:["present","birthday","christmas","xmas"],char:'🎁',fitzpatrick_scale:false,category:"objects"},confetti_ball:{keywords:["festival","party","birthday","circus"],char:'🎊',fitzpatrick_scale:false,category:"objects"},tada:{keywords:["party","congratulations","birthday","magic","circus","celebration"],char:'🎉',fitzpatrick_scale:false,category:"objects"},dolls:{keywords:["japanese","toy","kimono"],char:'🎎',fitzpatrick_scale:false,category:"objects"},wind_chime:{keywords:["nature","ding","spring","bell"],char:'🎐',fitzpatrick_scale:false,category:"objects"},crossed_flags:{keywords:["japanese","nation","country","border"],char:'🎌',fitzpatrick_scale:false,category:"objects"},izakaya_lantern:{keywords:["light","paper","halloween","spooky"],char:'🏮',fitzpatrick_scale:false,category:"objects"},red_envelope:{keywords:["gift"],char:'🧧',fitzpatrick_scale:false,category:"objects"},email:{keywords:["letter","postal","inbox","communication"],char:'✉️',fitzpatrick_scale:false,category:"objects"},envelope_with_arrow:{keywords:["email","communication"],char:'📩',fitzpatrick_scale:false,category:"objects"},incoming_envelope:{keywords:["email","inbox"],char:'📨',fitzpatrick_scale:false,category:"objects"},"e-mail":{keywords:["communication","inbox"],char:'📧',fitzpatrick_scale:false,category:"objects"},love_letter:{keywords:["email","like","affection","envelope","valentines"],char:'💌',fitzpatrick_scale:false,category:"objects"},postbox:{keywords:["email","letter","envelope"],char:'📮',fitzpatrick_scale:false,category:"objects"},mailbox_closed:{keywords:["email","communication","inbox"],char:'📪',fitzpatrick_scale:false,category:"objects"},mailbox:{keywords:["email","inbox","communication"],char:'📫',fitzpatrick_scale:false,category:"objects"},mailbox_with_mail:{keywords:["email","inbox","communication"],char:'📬',fitzpatrick_scale:false,category:"objects"},mailbox_with_no_mail:{keywords:["email","inbox"],char:'📭',fitzpatrick_scale:false,category:"objects"},package:{keywords:["mail","gift","cardboard","box","moving"],char:'📦',fitzpatrick_scale:false,category:"objects"},postal_horn:{keywords:["instrument","music"],char:'📯',fitzpatrick_scale:false,category:"objects"},inbox_tray:{keywords:["email","documents"],char:'📥',fitzpatrick_scale:false,category:"objects"},outbox_tray:{keywords:["inbox","email"],char:'📤',fitzpatrick_scale:false,category:"objects"},scroll:{keywords:["documents","ancient","history","paper"],char:'📜',fitzpatrick_scale:false,category:"objects"},page_with_curl:{keywords:["documents","office","paper"],char:'📃',fitzpatrick_scale:false,category:"objects"},bookmark_tabs:{keywords:["favorite","save","order","tidy"],char:'📑',fitzpatrick_scale:false,category:"objects"},receipt:{keywords:["accounting","expenses"],char:'🧾',fitzpatrick_scale:false,category:"objects"},bar_chart:{keywords:["graph","presentation","stats"],char:'📊',fitzpatrick_scale:false,category:"objects"},chart_with_upwards_trend:{keywords:["graph","presentation","stats","recovery","business","economics","money","sales","good","success"],char:'📈',fitzpatrick_scale:false,category:"objects"},chart_with_downwards_trend:{keywords:["graph","presentation","stats","recession","business","economics","money","sales","bad","failure"],char:'📉',fitzpatrick_scale:false,category:"objects"},page_facing_up:{keywords:["documents","office","paper","information"],char:'📄',fitzpatrick_scale:false,category:"objects"},date:{keywords:["calendar","schedule"],char:'📅',fitzpatrick_scale:false,category:"objects"},calendar:{keywords:["schedule","date","planning"],char:'📆',fitzpatrick_scale:false,category:"objects"},spiral_calendar:{keywords:["date","schedule","planning"],char:'🗓',fitzpatrick_scale:false,category:"objects"},card_index:{keywords:["business","stationery"],char:'📇',fitzpatrick_scale:false,category:"objects"},card_file_box:{keywords:["business","stationery"],char:'🗃',fitzpatrick_scale:false,category:"objects"},ballot_box:{keywords:["election","vote"],char:'🗳',fitzpatrick_scale:false,category:"objects"},file_cabinet:{keywords:["filing","organizing"],char:'🗄',fitzpatrick_scale:false,category:"objects"},clipboard:{keywords:["stationery","documents"],char:'📋',fitzpatrick_scale:false,category:"objects"},spiral_notepad:{keywords:["memo","stationery"],char:'🗒',fitzpatrick_scale:false,category:"objects"},file_folder:{keywords:["documents","business","office"],char:'📁',fitzpatrick_scale:false,category:"objects"},open_file_folder:{keywords:["documents","load"],char:'📂',fitzpatrick_scale:false,category:"objects"},card_index_dividers:{keywords:["organizing","business","stationery"],char:'🗂',fitzpatrick_scale:false,category:"objects"},newspaper_roll:{keywords:["press","headline"],char:'🗞',fitzpatrick_scale:false,category:"objects"},newspaper:{keywords:["press","headline"],char:'📰',fitzpatrick_scale:false,category:"objects"},notebook:{keywords:["stationery","record","notes","paper","study"],char:'📓',fitzpatrick_scale:false,category:"objects"},closed_book:{keywords:["read","library","knowledge","textbook","learn"],char:'📕',fitzpatrick_scale:false,category:"objects"},green_book:{keywords:["read","library","knowledge","study"],char:'📗',fitzpatrick_scale:false,category:"objects"},blue_book:{keywords:["read","library","knowledge","learn","study"],char:'📘',fitzpatrick_scale:false,category:"objects"},orange_book:{keywords:["read","library","knowledge","textbook","study"],char:'📙',fitzpatrick_scale:false,category:"objects"},notebook_with_decorative_cover:{keywords:["classroom","notes","record","paper","study"],char:'📔',fitzpatrick_scale:false,category:"objects"},ledger:{keywords:["notes","paper"],char:'📒',fitzpatrick_scale:false,category:"objects"},books:{keywords:["literature","library","study"],char:'📚',fitzpatrick_scale:false,category:"objects"},open_book:{keywords:["book","read","library","knowledge","literature","learn","study"],char:'📖',fitzpatrick_scale:false,category:"objects"},safety_pin:{keywords:["diaper"],char:'🧷',fitzpatrick_scale:false,category:"objects"},link:{keywords:["rings","url"],char:'🔗',fitzpatrick_scale:false,category:"objects"},paperclip:{keywords:["documents","stationery"],char:'📎',fitzpatrick_scale:false,category:"objects"},paperclips:{keywords:["documents","stationery"],char:'🖇',fitzpatrick_scale:false,category:"objects"},scissors:{keywords:["stationery","cut"],char:'✂️',fitzpatrick_scale:false,category:"objects"},triangular_ruler:{keywords:["stationery","math","architect","sketch"],char:'📐',fitzpatrick_scale:false,category:"objects"},straight_ruler:{keywords:["stationery","calculate","length","math","school","drawing","architect","sketch"],char:'📏',fitzpatrick_scale:false,category:"objects"},abacus:{keywords:["calculation"],char:'🧮',fitzpatrick_scale:false,category:"objects"},pushpin:{keywords:["stationery","mark","here"],char:'📌',fitzpatrick_scale:false,category:"objects"},round_pushpin:{keywords:["stationery","location","map","here"],char:'📍',fitzpatrick_scale:false,category:"objects"},triangular_flag_on_post:{keywords:["mark","milestone","place"],char:'🚩',fitzpatrick_scale:false,category:"objects"},white_flag:{keywords:["losing","loser","lost","surrender","give up","fail"],char:'🏳',fitzpatrick_scale:false,category:"objects"},black_flag:{keywords:["pirate"],char:'🏴',fitzpatrick_scale:false,category:"objects"},rainbow_flag:{keywords:["flag","rainbow","pride","gay","lgbt","glbt","queer","homosexual","lesbian","bisexual","transgender"],char:'🏳️‍🌈',fitzpatrick_scale:false,category:"objects"},closed_lock_with_key:{keywords:["security","privacy"],char:'🔐',fitzpatrick_scale:false,category:"objects"},lock:{keywords:["security","password","padlock"],char:'🔒',fitzpatrick_scale:false,category:"objects"},unlock:{keywords:["privacy","security"],char:'🔓',fitzpatrick_scale:false,category:"objects"},lock_with_ink_pen:{keywords:["security","secret"],char:'🔏',fitzpatrick_scale:false,category:"objects"},pen:{keywords:["stationery","writing","write"],char:'🖊',fitzpatrick_scale:false,category:"objects"},fountain_pen:{keywords:["stationery","writing","write"],char:'🖋',fitzpatrick_scale:false,category:"objects"},black_nib:{keywords:["pen","stationery","writing","write"],char:'✒️',fitzpatrick_scale:false,category:"objects"},memo:{keywords:["write","documents","stationery","pencil","paper","writing","legal","exam","quiz","test","study","compose"],char:'📝',fitzpatrick_scale:false,category:"objects"},pencil2:{keywords:["stationery","write","paper","writing","school","study"],char:'✏️',fitzpatrick_scale:false,category:"objects"},crayon:{keywords:["drawing","creativity"],char:'🖍',fitzpatrick_scale:false,category:"objects"},paintbrush:{keywords:["drawing","creativity","art"],char:'🖌',fitzpatrick_scale:false,category:"objects"},mag:{keywords:["search","zoom","find","detective"],char:'🔍',fitzpatrick_scale:false,category:"objects"},mag_right:{keywords:["search","zoom","find","detective"],char:'🔎',fitzpatrick_scale:false,category:"objects"},heart:{keywords:["love","like","valentines"],char:'❤️',fitzpatrick_scale:false,category:"symbols"},orange_heart:{keywords:["love","like","affection","valentines"],char:'🧡',fitzpatrick_scale:false,category:"symbols"},yellow_heart:{keywords:["love","like","affection","valentines"],char:'💛',fitzpatrick_scale:false,category:"symbols"},green_heart:{keywords:["love","like","affection","valentines"],char:'💚',fitzpatrick_scale:false,category:"symbols"},blue_heart:{keywords:["love","like","affection","valentines"],char:'💙',fitzpatrick_scale:false,category:"symbols"},purple_heart:{keywords:["love","like","affection","valentines"],char:'💜',fitzpatrick_scale:false,category:"symbols"},black_heart:{keywords:["evil"],char:'🖤',fitzpatrick_scale:false,category:"symbols"},broken_heart:{keywords:["sad","sorry","break","heart","heartbreak"],char:'💔',fitzpatrick_scale:false,category:"symbols"},heavy_heart_exclamation:{keywords:["decoration","love"],char:'❣',fitzpatrick_scale:false,category:"symbols"},two_hearts:{keywords:["love","like","affection","valentines","heart"],char:'💕',fitzpatrick_scale:false,category:"symbols"},revolving_hearts:{keywords:["love","like","affection","valentines"],char:'💞',fitzpatrick_scale:false,category:"symbols"},heartbeat:{keywords:["love","like","affection","valentines","pink","heart"],char:'💓',fitzpatrick_scale:false,category:"symbols"},heartpulse:{keywords:["like","love","affection","valentines","pink"],char:'💗',fitzpatrick_scale:false,category:"symbols"},sparkling_heart:{keywords:["love","like","affection","valentines"],char:'💖',fitzpatrick_scale:false,category:"symbols"},cupid:{keywords:["love","like","heart","affection","valentines"],char:'💘',fitzpatrick_scale:false,category:"symbols"},gift_heart:{keywords:["love","valentines"],char:'💝',fitzpatrick_scale:false,category:"symbols"},heart_decoration:{keywords:["purple-square","love","like"],char:'💟',fitzpatrick_scale:false,category:"symbols"},peace_symbol:{keywords:["hippie"],char:'☮',fitzpatrick_scale:false,category:"symbols"},latin_cross:{keywords:["christianity"],char:'✝',fitzpatrick_scale:false,category:"symbols"},star_and_crescent:{keywords:["islam"],char:'☪',fitzpatrick_scale:false,category:"symbols"},om:{keywords:["hinduism","buddhism","sikhism","jainism"],char:'🕉',fitzpatrick_scale:false,category:"symbols"},wheel_of_dharma:{keywords:["hinduism","buddhism","sikhism","jainism"],char:'☸',fitzpatrick_scale:false,category:"symbols"},star_of_david:{keywords:["judaism"],char:'✡',fitzpatrick_scale:false,category:"symbols"},six_pointed_star:{keywords:["purple-square","religion","jewish","hexagram"],char:'🔯',fitzpatrick_scale:false,category:"symbols"},menorah:{keywords:["hanukkah","candles","jewish"],char:'🕎',fitzpatrick_scale:false,category:"symbols"},yin_yang:{keywords:["balance"],char:'☯',fitzpatrick_scale:false,category:"symbols"},orthodox_cross:{keywords:["suppedaneum","religion"],char:'☦',fitzpatrick_scale:false,category:"symbols"},place_of_worship:{keywords:["religion","church","temple","prayer"],char:'🛐',fitzpatrick_scale:false,category:"symbols"},ophiuchus:{keywords:["sign","purple-square","constellation","astrology"],char:'⛎',fitzpatrick_scale:false,category:"symbols"},aries:{keywords:["sign","purple-square","zodiac","astrology"],char:'♈',fitzpatrick_scale:false,category:"symbols"},taurus:{keywords:["purple-square","sign","zodiac","astrology"],char:'♉',fitzpatrick_scale:false,category:"symbols"},gemini:{keywords:["sign","zodiac","purple-square","astrology"],char:'♊',fitzpatrick_scale:false,category:"symbols"},cancer:{keywords:["sign","zodiac","purple-square","astrology"],char:'♋',fitzpatrick_scale:false,category:"symbols"},leo:{keywords:["sign","purple-square","zodiac","astrology"],char:'♌',fitzpatrick_scale:false,category:"symbols"},virgo:{keywords:["sign","zodiac","purple-square","astrology"],char:'♍',fitzpatrick_scale:false,category:"symbols"},libra:{keywords:["sign","purple-square","zodiac","astrology"],char:'♎',fitzpatrick_scale:false,category:"symbols"},scorpius:{keywords:["sign","zodiac","purple-square","astrology","scorpio"],char:'♏',fitzpatrick_scale:false,category:"symbols"},sagittarius:{keywords:["sign","zodiac","purple-square","astrology"],char:'♐',fitzpatrick_scale:false,category:"symbols"},capricorn:{keywords:["sign","zodiac","purple-square","astrology"],char:'♑',fitzpatrick_scale:false,category:"symbols"},aquarius:{keywords:["sign","purple-square","zodiac","astrology"],char:'♒',fitzpatrick_scale:false,category:"symbols"},pisces:{keywords:["purple-square","sign","zodiac","astrology"],char:'♓',fitzpatrick_scale:false,category:"symbols"},id:{keywords:["purple-square","words"],char:'🆔',fitzpatrick_scale:false,category:"symbols"},atom_symbol:{keywords:["science","physics","chemistry"],char:'⚛',fitzpatrick_scale:false,category:"symbols"},u7a7a:{keywords:["kanji","japanese","chinese","empty","sky","blue-square"],char:'🈳',fitzpatrick_scale:false,category:"symbols"},u5272:{keywords:["cut","divide","chinese","kanji","pink-square"],char:'🈹',fitzpatrick_scale:false,category:"symbols"},radioactive:{keywords:["nuclear","danger"],char:'☢',fitzpatrick_scale:false,category:"symbols"},biohazard:{keywords:["danger"],char:'☣',fitzpatrick_scale:false,category:"symbols"},mobile_phone_off:{keywords:["mute","orange-square","silence","quiet"],char:'📴',fitzpatrick_scale:false,category:"symbols"},vibration_mode:{keywords:["orange-square","phone"],char:'📳',fitzpatrick_scale:false,category:"symbols"},u6709:{keywords:["orange-square","chinese","have","kanji"],char:'🈶',fitzpatrick_scale:false,category:"symbols"},u7121:{keywords:["nothing","chinese","kanji","japanese","orange-square"],char:'🈚',fitzpatrick_scale:false,category:"symbols"},u7533:{keywords:["chinese","japanese","kanji","orange-square"],char:'🈸',fitzpatrick_scale:false,category:"symbols"},u55b6:{keywords:["japanese","opening hours","orange-square"],char:'🈺',fitzpatrick_scale:false,category:"symbols"},u6708:{keywords:["chinese","month","moon","japanese","orange-square","kanji"],char:'🈷️',fitzpatrick_scale:false,category:"symbols"},eight_pointed_black_star:{keywords:["orange-square","shape","polygon"],char:'✴️',fitzpatrick_scale:false,category:"symbols"},vs:{keywords:["words","orange-square"],char:'🆚',fitzpatrick_scale:false,category:"symbols"},accept:{keywords:["ok","good","chinese","kanji","agree","yes","orange-circle"],char:'🉑',fitzpatrick_scale:false,category:"symbols"},white_flower:{keywords:["japanese","spring"],char:'💮',fitzpatrick_scale:false,category:"symbols"},ideograph_advantage:{keywords:["chinese","kanji","obtain","get","circle"],char:'🉐',fitzpatrick_scale:false,category:"symbols"},secret:{keywords:["privacy","chinese","sshh","kanji","red-circle"],char:'㊙️',fitzpatrick_scale:false,category:"symbols"},congratulations:{keywords:["chinese","kanji","japanese","red-circle"],char:'㊗️',fitzpatrick_scale:false,category:"symbols"},u5408:{keywords:["japanese","chinese","join","kanji","red-square"],char:'🈴',fitzpatrick_scale:false,category:"symbols"},u6e80:{keywords:["full","chinese","japanese","red-square","kanji"],char:'🈵',fitzpatrick_scale:false,category:"symbols"},u7981:{keywords:["kanji","japanese","chinese","forbidden","limit","restricted","red-square"],char:'🈲',fitzpatrick_scale:false,category:"symbols"},a:{keywords:["red-square","alphabet","letter"],char:'🅰️',fitzpatrick_scale:false,category:"symbols"},b:{keywords:["red-square","alphabet","letter"],char:'🅱️',fitzpatrick_scale:false,category:"symbols"},ab:{keywords:["red-square","alphabet"],char:'🆎',fitzpatrick_scale:false,category:"symbols"},cl:{keywords:["alphabet","words","red-square"],char:'🆑',fitzpatrick_scale:false,category:"symbols"},o2:{keywords:["alphabet","red-square","letter"],char:'🅾️',fitzpatrick_scale:false,category:"symbols"},sos:{keywords:["help","red-square","words","emergency","911"],char:'🆘',fitzpatrick_scale:false,category:"symbols"},no_entry:{keywords:["limit","security","privacy","bad","denied","stop","circle"],char:'⛔',fitzpatrick_scale:false,category:"symbols"},name_badge:{keywords:["fire","forbid"],char:'📛',fitzpatrick_scale:false,category:"symbols"},no_entry_sign:{keywords:["forbid","stop","limit","denied","disallow","circle"],char:'🚫',fitzpatrick_scale:false,category:"symbols"},x:{keywords:["no","delete","remove","cancel","red"],char:'❌',fitzpatrick_scale:false,category:"symbols"},o:{keywords:["circle","round"],char:'⭕',fitzpatrick_scale:false,category:"symbols"},stop_sign:{keywords:["stop"],char:'🛑',fitzpatrick_scale:false,category:"symbols"},anger:{keywords:["angry","mad"],char:'💢',fitzpatrick_scale:false,category:"symbols"},hotsprings:{keywords:["bath","warm","relax"],char:'♨️',fitzpatrick_scale:false,category:"symbols"},no_pedestrians:{keywords:["rules","crossing","walking","circle"],char:'🚷',fitzpatrick_scale:false,category:"symbols"},do_not_litter:{keywords:["trash","bin","garbage","circle"],char:'🚯',fitzpatrick_scale:false,category:"symbols"},no_bicycles:{keywords:["cyclist","prohibited","circle"],char:'🚳',fitzpatrick_scale:false,category:"symbols"},"non-potable_water":{keywords:["drink","faucet","tap","circle"],char:'🚱',fitzpatrick_scale:false,category:"symbols"},underage:{keywords:["18","drink","pub","night","minor","circle"],char:'🔞',fitzpatrick_scale:false,category:"symbols"},no_mobile_phones:{keywords:["iphone","mute","circle"],char:'📵',fitzpatrick_scale:false,category:"symbols"},exclamation:{keywords:["heavy_exclamation_mark","danger","surprise","punctuation","wow","warning"],char:'❗',fitzpatrick_scale:false,category:"symbols"},grey_exclamation:{keywords:["surprise","punctuation","gray","wow","warning"],char:'❕',fitzpatrick_scale:false,category:"symbols"},question:{keywords:["doubt","confused"],char:'❓',fitzpatrick_scale:false,category:"symbols"},grey_question:{keywords:["doubts","gray","huh","confused"],char:'❔',fitzpatrick_scale:false,category:"symbols"},bangbang:{keywords:["exclamation","surprise"],char:'‼️',fitzpatrick_scale:false,category:"symbols"},interrobang:{keywords:["wat","punctuation","surprise"],char:'⁉️',fitzpatrick_scale:false,category:"symbols"},low_brightness:{keywords:["sun","afternoon","warm","summer"],char:'🔅',fitzpatrick_scale:false,category:"symbols"},high_brightness:{keywords:["sun","light"],char:'🔆',fitzpatrick_scale:false,category:"symbols"},trident:{keywords:["weapon","spear"],char:'🔱',fitzpatrick_scale:false,category:"symbols"},fleur_de_lis:{keywords:["decorative","scout"],char:'⚜',fitzpatrick_scale:false,category:"symbols"},part_alternation_mark:{keywords:["graph","presentation","stats","business","economics","bad"],char:'〽️',fitzpatrick_scale:false,category:"symbols"},warning:{keywords:["exclamation","wip","alert","error","problem","issue"],char:'⚠️',fitzpatrick_scale:false,category:"symbols"},children_crossing:{keywords:["school","warning","danger","sign","driving","yellow-diamond"],char:'🚸',fitzpatrick_scale:false,category:"symbols"},beginner:{keywords:["badge","shield"],char:'🔰',fitzpatrick_scale:false,category:"symbols"},recycle:{keywords:["arrow","environment","garbage","trash"],char:'♻️',fitzpatrick_scale:false,category:"symbols"},u6307:{keywords:["chinese","point","green-square","kanji"],char:'🈯',fitzpatrick_scale:false,category:"symbols"},chart:{keywords:["green-square","graph","presentation","stats"],char:'💹',fitzpatrick_scale:false,category:"symbols"},sparkle:{keywords:["stars","green-square","awesome","good","fireworks"],char:'❇️',fitzpatrick_scale:false,category:"symbols"},eight_spoked_asterisk:{keywords:["star","sparkle","green-square"],char:'✳️',fitzpatrick_scale:false,category:"symbols"},negative_squared_cross_mark:{keywords:["x","green-square","no","deny"],char:'❎',fitzpatrick_scale:false,category:"symbols"},white_check_mark:{keywords:["green-square","ok","agree","vote","election","answer","tick"],char:'✅',fitzpatrick_scale:false,category:"symbols"},diamond_shape_with_a_dot_inside:{keywords:["jewel","blue","gem","crystal","fancy"],char:'💠',fitzpatrick_scale:false,category:"symbols"},cyclone:{keywords:["weather","swirl","blue","cloud","vortex","spiral","whirlpool","spin","tornado","hurricane","typhoon"],char:'🌀',fitzpatrick_scale:false,category:"symbols"},loop:{keywords:["tape","cassette"],char:'➿',fitzpatrick_scale:false,category:"symbols"},globe_with_meridians:{keywords:["earth","international","world","internet","interweb","i18n"],char:'🌐',fitzpatrick_scale:false,category:"symbols"},m:{keywords:["alphabet","blue-circle","letter"],char:'Ⓜ️',fitzpatrick_scale:false,category:"symbols"},atm:{keywords:["money","sales","cash","blue-square","payment","bank"],char:'🏧',fitzpatrick_scale:false,category:"symbols"},sa:{keywords:["japanese","blue-square","katakana"],char:'🈂️',fitzpatrick_scale:false,category:"symbols"},passport_control:{keywords:["custom","blue-square"],char:'🛂',fitzpatrick_scale:false,category:"symbols"},customs:{keywords:["passport","border","blue-square"],char:'🛃',fitzpatrick_scale:false,category:"symbols"},baggage_claim:{keywords:["blue-square","airport","transport"],char:'🛄',fitzpatrick_scale:false,category:"symbols"},left_luggage:{keywords:["blue-square","travel"],char:'🛅',fitzpatrick_scale:false,category:"symbols"},wheelchair:{keywords:["blue-square","disabled","a11y","accessibility"],char:'♿',fitzpatrick_scale:false,category:"symbols"},no_smoking:{keywords:["cigarette","blue-square","smell","smoke"],char:'🚭',fitzpatrick_scale:false,category:"symbols"},wc:{keywords:["toilet","restroom","blue-square"],char:'🚾',fitzpatrick_scale:false,category:"symbols"},parking:{keywords:["cars","blue-square","alphabet","letter"],char:'🅿️',fitzpatrick_scale:false,category:"symbols"},potable_water:{keywords:["blue-square","liquid","restroom","cleaning","faucet"],char:'🚰',fitzpatrick_scale:false,category:"symbols"},mens:{keywords:["toilet","restroom","wc","blue-square","gender","male"],char:'🚹',fitzpatrick_scale:false,category:"symbols"},womens:{keywords:["purple-square","woman","female","toilet","loo","restroom","gender"],char:'🚺',fitzpatrick_scale:false,category:"symbols"},baby_symbol:{keywords:["orange-square","child"],char:'🚼',fitzpatrick_scale:false,category:"symbols"},restroom:{keywords:["blue-square","toilet","refresh","wc","gender"],char:'🚻',fitzpatrick_scale:false,category:"symbols"},put_litter_in_its_place:{keywords:["blue-square","sign","human","info"],char:'🚮',fitzpatrick_scale:false,category:"symbols"},cinema:{keywords:["blue-square","record","film","movie","curtain","stage","theater"],char:'🎦',fitzpatrick_scale:false,category:"symbols"},signal_strength:{keywords:["blue-square","reception","phone","internet","connection","wifi","bluetooth","bars"],char:'📶',fitzpatrick_scale:false,category:"symbols"},koko:{keywords:["blue-square","here","katakana","japanese","destination"],char:'🈁',fitzpatrick_scale:false,category:"symbols"},ng:{keywords:["blue-square","words","shape","icon"],char:'🆖',fitzpatrick_scale:false,category:"symbols"},ok:{keywords:["good","agree","yes","blue-square"],char:'🆗',fitzpatrick_scale:false,category:"symbols"},up:{keywords:["blue-square","above","high"],char:'🆙',fitzpatrick_scale:false,category:"symbols"},cool:{keywords:["words","blue-square"],char:'🆒',fitzpatrick_scale:false,category:"symbols"},new:{keywords:["blue-square","words","start"],char:'🆕',fitzpatrick_scale:false,category:"symbols"},free:{keywords:["blue-square","words"],char:'🆓',fitzpatrick_scale:false,category:"symbols"},zero:{keywords:["0","numbers","blue-square","null"],char:'0️⃣',fitzpatrick_scale:false,category:"symbols"},one:{keywords:["blue-square","numbers","1"],char:'1️⃣',fitzpatrick_scale:false,category:"symbols"},two:{keywords:["numbers","2","prime","blue-square"],char:'2️⃣',fitzpatrick_scale:false,category:"symbols"},three:{keywords:["3","numbers","prime","blue-square"],char:'3️⃣',fitzpatrick_scale:false,category:"symbols"},four:{keywords:["4","numbers","blue-square"],char:'4️⃣',fitzpatrick_scale:false,category:"symbols"},five:{keywords:["5","numbers","blue-square","prime"],char:'5️⃣',fitzpatrick_scale:false,category:"symbols"},six:{keywords:["6","numbers","blue-square"],char:'6️⃣',fitzpatrick_scale:false,category:"symbols"},seven:{keywords:["7","numbers","blue-square","prime"],char:'7️⃣',fitzpatrick_scale:false,category:"symbols"},eight:{keywords:["8","blue-square","numbers"],char:'8️⃣',fitzpatrick_scale:false,category:"symbols"},nine:{keywords:["blue-square","numbers","9"],char:'9️⃣',fitzpatrick_scale:false,category:"symbols"},keycap_ten:{keywords:["numbers","10","blue-square"],char:'🔟',fitzpatrick_scale:false,category:"symbols"},asterisk:{keywords:["star","keycap"],char:'*⃣',fitzpatrick_scale:false,category:"symbols"},eject_button:{keywords:["blue-square"],char:'⏏️',fitzpatrick_scale:false,category:"symbols"},arrow_forward:{keywords:["blue-square","right","direction","play"],char:'▶️',fitzpatrick_scale:false,category:"symbols"},pause_button:{keywords:["pause","blue-square"],char:'⏸',fitzpatrick_scale:false,category:"symbols"},next_track_button:{keywords:["forward","next","blue-square"],char:'⏭',fitzpatrick_scale:false,category:"symbols"},stop_button:{keywords:["blue-square"],char:'⏹',fitzpatrick_scale:false,category:"symbols"},record_button:{keywords:["blue-square"],char:'⏺',fitzpatrick_scale:false,category:"symbols"},play_or_pause_button:{keywords:["blue-square","play","pause"],char:'⏯',fitzpatrick_scale:false,category:"symbols"},previous_track_button:{keywords:["backward"],char:'⏮',fitzpatrick_scale:false,category:"symbols"},fast_forward:{keywords:["blue-square","play","speed","continue"],char:'⏩',fitzpatrick_scale:false,category:"symbols"},rewind:{keywords:["play","blue-square"],char:'⏪',fitzpatrick_scale:false,category:"symbols"},twisted_rightwards_arrows:{keywords:["blue-square","shuffle","music","random"],char:'🔀',fitzpatrick_scale:false,category:"symbols"},repeat:{keywords:["loop","record"],char:'🔁',fitzpatrick_scale:false,category:"symbols"},repeat_one:{keywords:["blue-square","loop"],char:'🔂',fitzpatrick_scale:false,category:"symbols"},arrow_backward:{keywords:["blue-square","left","direction"],char:'◀️',fitzpatrick_scale:false,category:"symbols"},arrow_up_small:{keywords:["blue-square","triangle","direction","point","forward","top"],char:'🔼',fitzpatrick_scale:false,category:"symbols"},arrow_down_small:{keywords:["blue-square","direction","bottom"],char:'🔽',fitzpatrick_scale:false,category:"symbols"},arrow_double_up:{keywords:["blue-square","direction","top"],char:'⏫',fitzpatrick_scale:false,category:"symbols"},arrow_double_down:{keywords:["blue-square","direction","bottom"],char:'⏬',fitzpatrick_scale:false,category:"symbols"},arrow_right:{keywords:["blue-square","next"],char:'➡️',fitzpatrick_scale:false,category:"symbols"},arrow_left:{keywords:["blue-square","previous","back"],char:'⬅️',fitzpatrick_scale:false,category:"symbols"},arrow_up:{keywords:["blue-square","continue","top","direction"],char:'⬆️',fitzpatrick_scale:false,category:"symbols"},arrow_down:{keywords:["blue-square","direction","bottom"],char:'⬇️',fitzpatrick_scale:false,category:"symbols"},arrow_upper_right:{keywords:["blue-square","point","direction","diagonal","northeast"],char:'↗️',fitzpatrick_scale:false,category:"symbols"},arrow_lower_right:{keywords:["blue-square","direction","diagonal","southeast"],char:'↘️',fitzpatrick_scale:false,category:"symbols"},arrow_lower_left:{keywords:["blue-square","direction","diagonal","southwest"],char:'↙️',fitzpatrick_scale:false,category:"symbols"},arrow_upper_left:{keywords:["blue-square","point","direction","diagonal","northwest"],char:'↖️',fitzpatrick_scale:false,category:"symbols"},arrow_up_down:{keywords:["blue-square","direction","way","vertical"],char:'↕️',fitzpatrick_scale:false,category:"symbols"},left_right_arrow:{keywords:["shape","direction","horizontal","sideways"],char:'↔️',fitzpatrick_scale:false,category:"symbols"},arrows_counterclockwise:{keywords:["blue-square","sync","cycle"],char:'🔄',fitzpatrick_scale:false,category:"symbols"},arrow_right_hook:{keywords:["blue-square","return","rotate","direction"],char:'↪️',fitzpatrick_scale:false,category:"symbols"},leftwards_arrow_with_hook:{keywords:["back","return","blue-square","undo","enter"],char:'↩️',fitzpatrick_scale:false,category:"symbols"},arrow_heading_up:{keywords:["blue-square","direction","top"],char:'⤴️',fitzpatrick_scale:false,category:"symbols"},arrow_heading_down:{keywords:["blue-square","direction","bottom"],char:'⤵️',fitzpatrick_scale:false,category:"symbols"},hash:{keywords:["symbol","blue-square","twitter"],char:'#️⃣',fitzpatrick_scale:false,category:"symbols"},information_source:{keywords:["blue-square","alphabet","letter"],char:'ℹ️',fitzpatrick_scale:false,category:"symbols"},abc:{keywords:["blue-square","alphabet"],char:'🔤',fitzpatrick_scale:false,category:"symbols"},abcd:{keywords:["blue-square","alphabet"],char:'🔡',fitzpatrick_scale:false,category:"symbols"},capital_abcd:{keywords:["alphabet","words","blue-square"],char:'🔠',fitzpatrick_scale:false,category:"symbols"},symbols:{keywords:["blue-square","music","note","ampersand","percent","glyphs","characters"],char:'🔣',fitzpatrick_scale:false,category:"symbols"},musical_note:{keywords:["score","tone","sound"],char:'🎵',fitzpatrick_scale:false,category:"symbols"},notes:{keywords:["music","score"],char:'🎶',fitzpatrick_scale:false,category:"symbols"},wavy_dash:{keywords:["draw","line","moustache","mustache","squiggle","scribble"],char:'〰️',fitzpatrick_scale:false,category:"symbols"},curly_loop:{keywords:["scribble","draw","shape","squiggle"],char:'➰',fitzpatrick_scale:false,category:"symbols"},heavy_check_mark:{keywords:["ok","nike","answer","yes","tick"],char:'✔️',fitzpatrick_scale:false,category:"symbols"},arrows_clockwise:{keywords:["sync","cycle","round","repeat"],char:'🔃',fitzpatrick_scale:false,category:"symbols"},heavy_plus_sign:{keywords:["math","calculation","addition","more","increase"],char:'➕',fitzpatrick_scale:false,category:"symbols"},heavy_minus_sign:{keywords:["math","calculation","subtract","less"],char:'➖',fitzpatrick_scale:false,category:"symbols"},heavy_division_sign:{keywords:["divide","math","calculation"],char:'➗',fitzpatrick_scale:false,category:"symbols"},heavy_multiplication_x:{keywords:["math","calculation"],char:'✖️',fitzpatrick_scale:false,category:"symbols"},infinity:{keywords:["forever"],char:'♾',fitzpatrick_scale:false,category:"symbols"},heavy_dollar_sign:{keywords:["money","sales","payment","currency","buck"],char:'💲',fitzpatrick_scale:false,category:"symbols"},currency_exchange:{keywords:["money","sales","dollar","travel"],char:'💱',fitzpatrick_scale:false,category:"symbols"},copyright:{keywords:["ip","license","circle","law","legal"],char:'©️',fitzpatrick_scale:false,category:"symbols"},registered:{keywords:["alphabet","circle"],char:'®️',fitzpatrick_scale:false,category:"symbols"},tm:{keywords:["trademark","brand","law","legal"],char:'™️',fitzpatrick_scale:false,category:"symbols"},end:{keywords:["words","arrow"],char:'🔚',fitzpatrick_scale:false,category:"symbols"},back:{keywords:["arrow","words","return"],char:'🔙',fitzpatrick_scale:false,category:"symbols"},on:{keywords:["arrow","words"],char:'🔛',fitzpatrick_scale:false,category:"symbols"},top:{keywords:["words","blue-square"],char:'🔝',fitzpatrick_scale:false,category:"symbols"},soon:{keywords:["arrow","words"],char:'🔜',fitzpatrick_scale:false,category:"symbols"},ballot_box_with_check:{keywords:["ok","agree","confirm","black-square","vote","election","yes","tick"],char:'☑️',fitzpatrick_scale:false,category:"symbols"},radio_button:{keywords:["input","old","music","circle"],char:'🔘',fitzpatrick_scale:false,category:"symbols"},white_circle:{keywords:["shape","round"],char:'⚪',fitzpatrick_scale:false,category:"symbols"},black_circle:{keywords:["shape","button","round"],char:'⚫',fitzpatrick_scale:false,category:"symbols"},red_circle:{keywords:["shape","error","danger"],char:'🔴',fitzpatrick_scale:false,category:"symbols"},large_blue_circle:{keywords:["shape","icon","button"],char:'🔵',fitzpatrick_scale:false,category:"symbols"},small_orange_diamond:{keywords:["shape","jewel","gem"],char:'🔸',fitzpatrick_scale:false,category:"symbols"},small_blue_diamond:{keywords:["shape","jewel","gem"],char:'🔹',fitzpatrick_scale:false,category:"symbols"},large_orange_diamond:{keywords:["shape","jewel","gem"],char:'🔶',fitzpatrick_scale:false,category:"symbols"},large_blue_diamond:{keywords:["shape","jewel","gem"],char:'🔷',fitzpatrick_scale:false,category:"symbols"},small_red_triangle:{keywords:["shape","direction","up","top"],char:'🔺',fitzpatrick_scale:false,category:"symbols"},black_small_square:{keywords:["shape","icon"],char:'▪️',fitzpatrick_scale:false,category:"symbols"},white_small_square:{keywords:["shape","icon"],char:'▫️',fitzpatrick_scale:false,category:"symbols"},black_large_square:{keywords:["shape","icon","button"],char:'⬛',fitzpatrick_scale:false,category:"symbols"},white_large_square:{keywords:["shape","icon","stone","button"],char:'⬜',fitzpatrick_scale:false,category:"symbols"},small_red_triangle_down:{keywords:["shape","direction","bottom"],char:'🔻',fitzpatrick_scale:false,category:"symbols"},black_medium_square:{keywords:["shape","button","icon"],char:'◼️',fitzpatrick_scale:false,category:"symbols"},white_medium_square:{keywords:["shape","stone","icon"],char:'◻️',fitzpatrick_scale:false,category:"symbols"},black_medium_small_square:{keywords:["icon","shape","button"],char:'◾',fitzpatrick_scale:false,category:"symbols"},white_medium_small_square:{keywords:["shape","stone","icon","button"],char:'◽',fitzpatrick_scale:false,category:"symbols"},black_square_button:{keywords:["shape","input","frame"],char:'🔲',fitzpatrick_scale:false,category:"symbols"},white_square_button:{keywords:["shape","input"],char:'🔳',fitzpatrick_scale:false,category:"symbols"},speaker:{keywords:["sound","volume","silence","broadcast"],char:'🔈',fitzpatrick_scale:false,category:"symbols"},sound:{keywords:["volume","speaker","broadcast"],char:'🔉',fitzpatrick_scale:false,category:"symbols"},loud_sound:{keywords:["volume","noise","noisy","speaker","broadcast"],char:'🔊',fitzpatrick_scale:false,category:"symbols"},mute:{keywords:["sound","volume","silence","quiet"],char:'🔇',fitzpatrick_scale:false,category:"symbols"},mega:{keywords:["sound","speaker","volume"],char:'📣',fitzpatrick_scale:false,category:"symbols"},loudspeaker:{keywords:["volume","sound"],char:'📢',fitzpatrick_scale:false,category:"symbols"},bell:{keywords:["sound","notification","christmas","xmas","chime"],char:'🔔',fitzpatrick_scale:false,category:"symbols"},no_bell:{keywords:["sound","volume","mute","quiet","silent"],char:'🔕',fitzpatrick_scale:false,category:"symbols"},black_joker:{keywords:["poker","cards","game","play","magic"],char:'🃏',fitzpatrick_scale:false,category:"symbols"},mahjong:{keywords:["game","play","chinese","kanji"],char:'🀄',fitzpatrick_scale:false,category:"symbols"},spades:{keywords:["poker","cards","suits","magic"],char:'♠️',fitzpatrick_scale:false,category:"symbols"},clubs:{keywords:["poker","cards","magic","suits"],char:'♣️',fitzpatrick_scale:false,category:"symbols"},hearts:{keywords:["poker","cards","magic","suits"],char:'♥️',fitzpatrick_scale:false,category:"symbols"},diamonds:{keywords:["poker","cards","magic","suits"],char:'♦️',fitzpatrick_scale:false,category:"symbols"},flower_playing_cards:{keywords:["game","sunset","red"],char:'🎴',fitzpatrick_scale:false,category:"symbols"},thought_balloon:{keywords:["bubble","cloud","speech","thinking","dream"],char:'💭',fitzpatrick_scale:false,category:"symbols"},right_anger_bubble:{keywords:["caption","speech","thinking","mad"],char:'🗯',fitzpatrick_scale:false,category:"symbols"},speech_balloon:{keywords:["bubble","words","message","talk","chatting"],char:'💬',fitzpatrick_scale:false,category:"symbols"},left_speech_bubble:{keywords:["words","message","talk","chatting"],char:'🗨',fitzpatrick_scale:false,category:"symbols"},clock1:{keywords:["time","late","early","schedule"],char:'🕐',fitzpatrick_scale:false,category:"symbols"},clock2:{keywords:["time","late","early","schedule"],char:'🕑',fitzpatrick_scale:false,category:"symbols"},clock3:{keywords:["time","late","early","schedule"],char:'🕒',fitzpatrick_scale:false,category:"symbols"},clock4:{keywords:["time","late","early","schedule"],char:'🕓',fitzpatrick_scale:false,category:"symbols"},clock5:{keywords:["time","late","early","schedule"],char:'🕔',fitzpatrick_scale:false,category:"symbols"},clock6:{keywords:["time","late","early","schedule","dawn","dusk"],char:'🕕',fitzpatrick_scale:false,category:"symbols"},clock7:{keywords:["time","late","early","schedule"],char:'🕖',fitzpatrick_scale:false,category:"symbols"},clock8:{keywords:["time","late","early","schedule"],char:'🕗',fitzpatrick_scale:false,category:"symbols"},clock9:{keywords:["time","late","early","schedule"],char:'🕘',fitzpatrick_scale:false,category:"symbols"},clock10:{keywords:["time","late","early","schedule"],char:'🕙',fitzpatrick_scale:false,category:"symbols"},clock11:{keywords:["time","late","early","schedule"],char:'🕚',fitzpatrick_scale:false,category:"symbols"},clock12:{keywords:["time","noon","midnight","midday","late","early","schedule"],char:'🕛',fitzpatrick_scale:false,category:"symbols"},clock130:{keywords:["time","late","early","schedule"],char:'🕜',fitzpatrick_scale:false,category:"symbols"},clock230:{keywords:["time","late","early","schedule"],char:'🕝',fitzpatrick_scale:false,category:"symbols"},clock330:{keywords:["time","late","early","schedule"],char:'🕞',fitzpatrick_scale:false,category:"symbols"},clock430:{keywords:["time","late","early","schedule"],char:'🕟',fitzpatrick_scale:false,category:"symbols"},clock530:{keywords:["time","late","early","schedule"],char:'🕠',fitzpatrick_scale:false,category:"symbols"},clock630:{keywords:["time","late","early","schedule"],char:'🕡',fitzpatrick_scale:false,category:"symbols"},clock730:{keywords:["time","late","early","schedule"],char:'🕢',fitzpatrick_scale:false,category:"symbols"},clock830:{keywords:["time","late","early","schedule"],char:'🕣',fitzpatrick_scale:false,category:"symbols"},clock930:{keywords:["time","late","early","schedule"],char:'🕤',fitzpatrick_scale:false,category:"symbols"},clock1030:{keywords:["time","late","early","schedule"],char:'🕥',fitzpatrick_scale:false,category:"symbols"},clock1130:{keywords:["time","late","early","schedule"],char:'🕦',fitzpatrick_scale:false,category:"symbols"},clock1230:{keywords:["time","late","early","schedule"],char:'🕧',fitzpatrick_scale:false,category:"symbols"},afghanistan:{keywords:["af","flag","nation","country","banner"],char:'🇦🇫',fitzpatrick_scale:false,category:"flags"},aland_islands:{keywords:["Åland","islands","flag","nation","country","banner"],char:'🇦🇽',fitzpatrick_scale:false,category:"flags"},albania:{keywords:["al","flag","nation","country","banner"],char:'🇦🇱',fitzpatrick_scale:false,category:"flags"},algeria:{keywords:["dz","flag","nation","country","banner"],char:'🇩🇿',fitzpatrick_scale:false,category:"flags"},american_samoa:{keywords:["american","ws","flag","nation","country","banner"],char:'🇦🇸',fitzpatrick_scale:false,category:"flags"},andorra:{keywords:["ad","flag","nation","country","banner"],char:'🇦🇩',fitzpatrick_scale:false,category:"flags"},angola:{keywords:["ao","flag","nation","country","banner"],char:'🇦🇴',fitzpatrick_scale:false,category:"flags"},anguilla:{keywords:["ai","flag","nation","country","banner"],char:'🇦🇮',fitzpatrick_scale:false,category:"flags"},antarctica:{keywords:["aq","flag","nation","country","banner"],char:'🇦🇶',fitzpatrick_scale:false,category:"flags"},antigua_barbuda:{keywords:["antigua","barbuda","flag","nation","country","banner"],char:'🇦🇬',fitzpatrick_scale:false,category:"flags"},argentina:{keywords:["ar","flag","nation","country","banner"],char:'🇦🇷',fitzpatrick_scale:false,category:"flags"},armenia:{keywords:["am","flag","nation","country","banner"],char:'🇦🇲',fitzpatrick_scale:false,category:"flags"},aruba:{keywords:["aw","flag","nation","country","banner"],char:'🇦🇼',fitzpatrick_scale:false,category:"flags"},australia:{keywords:["au","flag","nation","country","banner"],char:'🇦🇺',fitzpatrick_scale:false,category:"flags"},austria:{keywords:["at","flag","nation","country","banner"],char:'🇦🇹',fitzpatrick_scale:false,category:"flags"},azerbaijan:{keywords:["az","flag","nation","country","banner"],char:'🇦🇿',fitzpatrick_scale:false,category:"flags"},bahamas:{keywords:["bs","flag","nation","country","banner"],char:'🇧🇸',fitzpatrick_scale:false,category:"flags"},bahrain:{keywords:["bh","flag","nation","country","banner"],char:'🇧🇭',fitzpatrick_scale:false,category:"flags"},bangladesh:{keywords:["bd","flag","nation","country","banner"],char:'🇧🇩',fitzpatrick_scale:false,category:"flags"},barbados:{keywords:["bb","flag","nation","country","banner"],char:'🇧🇧',fitzpatrick_scale:false,category:"flags"},belarus:{keywords:["by","flag","nation","country","banner"],char:'🇧🇾',fitzpatrick_scale:false,category:"flags"},belgium:{keywords:["be","flag","nation","country","banner"],char:'🇧🇪',fitzpatrick_scale:false,category:"flags"},belize:{keywords:["bz","flag","nation","country","banner"],char:'🇧🇿',fitzpatrick_scale:false,category:"flags"},benin:{keywords:["bj","flag","nation","country","banner"],char:'🇧🇯',fitzpatrick_scale:false,category:"flags"},bermuda:{keywords:["bm","flag","nation","country","banner"],char:'🇧🇲',fitzpatrick_scale:false,category:"flags"},bhutan:{keywords:["bt","flag","nation","country","banner"],char:'🇧🇹',fitzpatrick_scale:false,category:"flags"},bolivia:{keywords:["bo","flag","nation","country","banner"],char:'🇧🇴',fitzpatrick_scale:false,category:"flags"},caribbean_netherlands:{keywords:["bonaire","flag","nation","country","banner"],char:'🇧🇶',fitzpatrick_scale:false,category:"flags"},bosnia_herzegovina:{keywords:["bosnia","herzegovina","flag","nation","country","banner"],char:'🇧🇦',fitzpatrick_scale:false,category:"flags"},botswana:{keywords:["bw","flag","nation","country","banner"],char:'🇧🇼',fitzpatrick_scale:false,category:"flags"},brazil:{keywords:["br","flag","nation","country","banner"],char:'🇧🇷',fitzpatrick_scale:false,category:"flags"},british_indian_ocean_territory:{keywords:["british","indian","ocean","territory","flag","nation","country","banner"],char:'🇮🇴',fitzpatrick_scale:false,category:"flags"},british_virgin_islands:{keywords:["british","virgin","islands","bvi","flag","nation","country","banner"],char:'🇻🇬',fitzpatrick_scale:false,category:"flags"},brunei:{keywords:["bn","darussalam","flag","nation","country","banner"],char:'🇧🇳',fitzpatrick_scale:false,category:"flags"},bulgaria:{keywords:["bg","flag","nation","country","banner"],char:'🇧🇬',fitzpatrick_scale:false,category:"flags"},burkina_faso:{keywords:["burkina","faso","flag","nation","country","banner"],char:'🇧🇫',fitzpatrick_scale:false,category:"flags"},burundi:{keywords:["bi","flag","nation","country","banner"],char:'🇧🇮',fitzpatrick_scale:false,category:"flags"},cape_verde:{keywords:["cabo","verde","flag","nation","country","banner"],char:'🇨🇻',fitzpatrick_scale:false,category:"flags"},cambodia:{keywords:["kh","flag","nation","country","banner"],char:'🇰🇭',fitzpatrick_scale:false,category:"flags"},cameroon:{keywords:["cm","flag","nation","country","banner"],char:'🇨🇲',fitzpatrick_scale:false,category:"flags"},canada:{keywords:["ca","flag","nation","country","banner"],char:'🇨🇦',fitzpatrick_scale:false,category:"flags"},canary_islands:{keywords:["canary","islands","flag","nation","country","banner"],char:'🇮🇨',fitzpatrick_scale:false,category:"flags"},cayman_islands:{keywords:["cayman","islands","flag","nation","country","banner"],char:'🇰🇾',fitzpatrick_scale:false,category:"flags"},central_african_republic:{keywords:["central","african","republic","flag","nation","country","banner"],char:'🇨🇫',fitzpatrick_scale:false,category:"flags"},chad:{keywords:["td","flag","nation","country","banner"],char:'🇹🇩',fitzpatrick_scale:false,category:"flags"},chile:{keywords:["flag","nation","country","banner"],char:'🇨🇱',fitzpatrick_scale:false,category:"flags"},cn:{keywords:["china","chinese","prc","flag","country","nation","banner"],char:'🇨🇳',fitzpatrick_scale:false,category:"flags"},christmas_island:{keywords:["christmas","island","flag","nation","country","banner"],char:'🇨🇽',fitzpatrick_scale:false,category:"flags"},cocos_islands:{keywords:["cocos","keeling","islands","flag","nation","country","banner"],char:'🇨🇨',fitzpatrick_scale:false,category:"flags"},colombia:{keywords:["co","flag","nation","country","banner"],char:'🇨🇴',fitzpatrick_scale:false,category:"flags"},comoros:{keywords:["km","flag","nation","country","banner"],char:'🇰🇲',fitzpatrick_scale:false,category:"flags"},congo_brazzaville:{keywords:["congo","flag","nation","country","banner"],char:'🇨🇬',fitzpatrick_scale:false,category:"flags"},congo_kinshasa:{keywords:["congo","democratic","republic","flag","nation","country","banner"],char:'🇨🇩',fitzpatrick_scale:false,category:"flags"},cook_islands:{keywords:["cook","islands","flag","nation","country","banner"],char:'🇨🇰',fitzpatrick_scale:false,category:"flags"},costa_rica:{keywords:["costa","rica","flag","nation","country","banner"],char:'🇨🇷',fitzpatrick_scale:false,category:"flags"},croatia:{keywords:["hr","flag","nation","country","banner"],char:'🇭🇷',fitzpatrick_scale:false,category:"flags"},cuba:{keywords:["cu","flag","nation","country","banner"],char:'🇨🇺',fitzpatrick_scale:false,category:"flags"},curacao:{keywords:["curaçao","flag","nation","country","banner"],char:'🇨🇼',fitzpatrick_scale:false,category:"flags"},cyprus:{keywords:["cy","flag","nation","country","banner"],char:'🇨🇾',fitzpatrick_scale:false,category:"flags"},czech_republic:{keywords:["cz","flag","nation","country","banner"],char:'🇨🇿',fitzpatrick_scale:false,category:"flags"},denmark:{keywords:["dk","flag","nation","country","banner"],char:'🇩🇰',fitzpatrick_scale:false,category:"flags"},djibouti:{keywords:["dj","flag","nation","country","banner"],char:'🇩🇯',fitzpatrick_scale:false,category:"flags"},dominica:{keywords:["dm","flag","nation","country","banner"],char:'🇩🇲',fitzpatrick_scale:false,category:"flags"},dominican_republic:{keywords:["dominican","republic","flag","nation","country","banner"],char:'🇩🇴',fitzpatrick_scale:false,category:"flags"},ecuador:{keywords:["ec","flag","nation","country","banner"],char:'🇪🇨',fitzpatrick_scale:false,category:"flags"},egypt:{keywords:["eg","flag","nation","country","banner"],char:'🇪🇬',fitzpatrick_scale:false,category:"flags"},el_salvador:{keywords:["el","salvador","flag","nation","country","banner"],char:'🇸🇻',fitzpatrick_scale:false,category:"flags"},equatorial_guinea:{keywords:["equatorial","gn","flag","nation","country","banner"],char:'🇬🇶',fitzpatrick_scale:false,category:"flags"},eritrea:{keywords:["er","flag","nation","country","banner"],char:'🇪🇷',fitzpatrick_scale:false,category:"flags"},estonia:{keywords:["ee","flag","nation","country","banner"],char:'🇪🇪',fitzpatrick_scale:false,category:"flags"},ethiopia:{keywords:["et","flag","nation","country","banner"],char:'🇪🇹',fitzpatrick_scale:false,category:"flags"},eu:{keywords:["european","union","flag","banner"],char:'🇪🇺',fitzpatrick_scale:false,category:"flags"},falkland_islands:{keywords:["falkland","islands","malvinas","flag","nation","country","banner"],char:'🇫🇰',fitzpatrick_scale:false,category:"flags"},faroe_islands:{keywords:["faroe","islands","flag","nation","country","banner"],char:'🇫🇴',fitzpatrick_scale:false,category:"flags"},fiji:{keywords:["fj","flag","nation","country","banner"],char:'🇫🇯',fitzpatrick_scale:false,category:"flags"},finland:{keywords:["fi","flag","nation","country","banner"],char:'🇫🇮',fitzpatrick_scale:false,category:"flags"},fr:{keywords:["banner","flag","nation","france","french","country"],char:'🇫🇷',fitzpatrick_scale:false,category:"flags"},french_guiana:{keywords:["french","guiana","flag","nation","country","banner"],char:'🇬🇫',fitzpatrick_scale:false,category:"flags"},french_polynesia:{keywords:["french","polynesia","flag","nation","country","banner"],char:'🇵🇫',fitzpatrick_scale:false,category:"flags"},french_southern_territories:{keywords:["french","southern","territories","flag","nation","country","banner"],char:'🇹🇫',fitzpatrick_scale:false,category:"flags"},gabon:{keywords:["ga","flag","nation","country","banner"],char:'🇬🇦',fitzpatrick_scale:false,category:"flags"},gambia:{keywords:["gm","flag","nation","country","banner"],char:'🇬🇲',fitzpatrick_scale:false,category:"flags"},georgia:{keywords:["ge","flag","nation","country","banner"],char:'🇬🇪',fitzpatrick_scale:false,category:"flags"},de:{keywords:["german","nation","flag","country","banner"],char:'🇩🇪',fitzpatrick_scale:false,category:"flags"},ghana:{keywords:["gh","flag","nation","country","banner"],char:'🇬🇭',fitzpatrick_scale:false,category:"flags"},gibraltar:{keywords:["gi","flag","nation","country","banner"],char:'🇬🇮',fitzpatrick_scale:false,category:"flags"},greece:{keywords:["gr","flag","nation","country","banner"],char:'🇬🇷',fitzpatrick_scale:false,category:"flags"},greenland:{keywords:["gl","flag","nation","country","banner"],char:'🇬🇱',fitzpatrick_scale:false,category:"flags"},grenada:{keywords:["gd","flag","nation","country","banner"],char:'🇬🇩',fitzpatrick_scale:false,category:"flags"},guadeloupe:{keywords:["gp","flag","nation","country","banner"],char:'🇬🇵',fitzpatrick_scale:false,category:"flags"},guam:{keywords:["gu","flag","nation","country","banner"],char:'🇬🇺',fitzpatrick_scale:false,category:"flags"},guatemala:{keywords:["gt","flag","nation","country","banner"],char:'🇬🇹',fitzpatrick_scale:false,category:"flags"},guernsey:{keywords:["gg","flag","nation","country","banner"],char:'🇬🇬',fitzpatrick_scale:false,category:"flags"},guinea:{keywords:["gn","flag","nation","country","banner"],char:'🇬🇳',fitzpatrick_scale:false,category:"flags"},guinea_bissau:{keywords:["gw","bissau","flag","nation","country","banner"],char:'🇬🇼',fitzpatrick_scale:false,category:"flags"},guyana:{keywords:["gy","flag","nation","country","banner"],char:'🇬🇾',fitzpatrick_scale:false,category:"flags"},haiti:{keywords:["ht","flag","nation","country","banner"],char:'🇭🇹',fitzpatrick_scale:false,category:"flags"},honduras:{keywords:["hn","flag","nation","country","banner"],char:'🇭🇳',fitzpatrick_scale:false,category:"flags"},hong_kong:{keywords:["hong","kong","flag","nation","country","banner"],char:'🇭🇰',fitzpatrick_scale:false,category:"flags"},hungary:{keywords:["hu","flag","nation","country","banner"],char:'🇭🇺',fitzpatrick_scale:false,category:"flags"},iceland:{keywords:["is","flag","nation","country","banner"],char:'🇮🇸',fitzpatrick_scale:false,category:"flags"},india:{keywords:["in","flag","nation","country","banner"],char:'🇮🇳',fitzpatrick_scale:false,category:"flags"},indonesia:{keywords:["flag","nation","country","banner"],char:'🇮🇩',fitzpatrick_scale:false,category:"flags"},iran:{keywords:["iran,","islamic","republic","flag","nation","country","banner"],char:'🇮🇷',fitzpatrick_scale:false,category:"flags"},iraq:{keywords:["iq","flag","nation","country","banner"],char:'🇮🇶',fitzpatrick_scale:false,category:"flags"},ireland:{keywords:["ie","flag","nation","country","banner"],char:'🇮🇪',fitzpatrick_scale:false,category:"flags"},isle_of_man:{keywords:["isle","man","flag","nation","country","banner"],char:'🇮🇲',fitzpatrick_scale:false,category:"flags"},israel:{keywords:["il","flag","nation","country","banner"],char:'🇮🇱',fitzpatrick_scale:false,category:"flags"},it:{keywords:["italy","flag","nation","country","banner"],char:'🇮🇹',fitzpatrick_scale:false,category:"flags"},cote_divoire:{keywords:["ivory","coast","flag","nation","country","banner"],char:'🇨🇮',fitzpatrick_scale:false,category:"flags"},jamaica:{keywords:["jm","flag","nation","country","banner"],char:'🇯🇲',fitzpatrick_scale:false,category:"flags"},jp:{keywords:["japanese","nation","flag","country","banner"],char:'🇯🇵',fitzpatrick_scale:false,category:"flags"},jersey:{keywords:["je","flag","nation","country","banner"],char:'🇯🇪',fitzpatrick_scale:false,category:"flags"},jordan:{keywords:["jo","flag","nation","country","banner"],char:'🇯🇴',fitzpatrick_scale:false,category:"flags"},kazakhstan:{keywords:["kz","flag","nation","country","banner"],char:'🇰🇿',fitzpatrick_scale:false,category:"flags"},kenya:{keywords:["ke","flag","nation","country","banner"],char:'🇰🇪',fitzpatrick_scale:false,category:"flags"},kiribati:{keywords:["ki","flag","nation","country","banner"],char:'🇰🇮',fitzpatrick_scale:false,category:"flags"},kosovo:{keywords:["xk","flag","nation","country","banner"],char:'🇽🇰',fitzpatrick_scale:false,category:"flags"},kuwait:{keywords:["kw","flag","nation","country","banner"],char:'🇰🇼',fitzpatrick_scale:false,category:"flags"},kyrgyzstan:{keywords:["kg","flag","nation","country","banner"],char:'🇰🇬',fitzpatrick_scale:false,category:"flags"},laos:{keywords:["lao","democratic","republic","flag","nation","country","banner"],char:'🇱🇦',fitzpatrick_scale:false,category:"flags"},latvia:{keywords:["lv","flag","nation","country","banner"],char:'🇱🇻',fitzpatrick_scale:false,category:"flags"},lebanon:{keywords:["lb","flag","nation","country","banner"],char:'🇱🇧',fitzpatrick_scale:false,category:"flags"},lesotho:{keywords:["ls","flag","nation","country","banner"],char:'🇱🇸',fitzpatrick_scale:false,category:"flags"},liberia:{keywords:["lr","flag","nation","country","banner"],char:'🇱🇷',fitzpatrick_scale:false,category:"flags"},libya:{keywords:["ly","flag","nation","country","banner"],char:'🇱🇾',fitzpatrick_scale:false,category:"flags"},liechtenstein:{keywords:["li","flag","nation","country","banner"],char:'🇱🇮',fitzpatrick_scale:false,category:"flags"},lithuania:{keywords:["lt","flag","nation","country","banner"],char:'🇱🇹',fitzpatrick_scale:false,category:"flags"},luxembourg:{keywords:["lu","flag","nation","country","banner"],char:'🇱🇺',fitzpatrick_scale:false,category:"flags"},macau:{keywords:["macao","flag","nation","country","banner"],char:'🇲🇴',fitzpatrick_scale:false,category:"flags"},macedonia:{keywords:["macedonia,","flag","nation","country","banner"],char:'🇲🇰',fitzpatrick_scale:false,category:"flags"},madagascar:{keywords:["mg","flag","nation","country","banner"],char:'🇲🇬',fitzpatrick_scale:false,category:"flags"},malawi:{keywords:["mw","flag","nation","country","banner"],char:'🇲🇼',fitzpatrick_scale:false,category:"flags"},malaysia:{keywords:["my","flag","nation","country","banner"],char:'🇲🇾',fitzpatrick_scale:false,category:"flags"},maldives:{keywords:["mv","flag","nation","country","banner"],char:'🇲🇻',fitzpatrick_scale:false,category:"flags"},mali:{keywords:["ml","flag","nation","country","banner"],char:'🇲🇱',fitzpatrick_scale:false,category:"flags"},malta:{keywords:["mt","flag","nation","country","banner"],char:'🇲🇹',fitzpatrick_scale:false,category:"flags"},marshall_islands:{keywords:["marshall","islands","flag","nation","country","banner"],char:'🇲🇭',fitzpatrick_scale:false,category:"flags"},martinique:{keywords:["mq","flag","nation","country","banner"],char:'🇲🇶',fitzpatrick_scale:false,category:"flags"},mauritania:{keywords:["mr","flag","nation","country","banner"],char:'🇲🇷',fitzpatrick_scale:false,category:"flags"},mauritius:{keywords:["mu","flag","nation","country","banner"],char:'🇲🇺',fitzpatrick_scale:false,category:"flags"},mayotte:{keywords:["yt","flag","nation","country","banner"],char:'🇾🇹',fitzpatrick_scale:false,category:"flags"},mexico:{keywords:["mx","flag","nation","country","banner"],char:'🇲🇽',fitzpatrick_scale:false,category:"flags"},micronesia:{keywords:["micronesia,","federated","states","flag","nation","country","banner"],char:'🇫🇲',fitzpatrick_scale:false,category:"flags"},moldova:{keywords:["moldova,","republic","flag","nation","country","banner"],char:'🇲🇩',fitzpatrick_scale:false,category:"flags"},monaco:{keywords:["mc","flag","nation","country","banner"],char:'🇲🇨',fitzpatrick_scale:false,category:"flags"},mongolia:{keywords:["mn","flag","nation","country","banner"],char:'🇲🇳',fitzpatrick_scale:false,category:"flags"},montenegro:{keywords:["me","flag","nation","country","banner"],char:'🇲🇪',fitzpatrick_scale:false,category:"flags"},montserrat:{keywords:["ms","flag","nation","country","banner"],char:'🇲🇸',fitzpatrick_scale:false,category:"flags"},morocco:{keywords:["ma","flag","nation","country","banner"],char:'🇲🇦',fitzpatrick_scale:false,category:"flags"},mozambique:{keywords:["mz","flag","nation","country","banner"],char:'🇲🇿',fitzpatrick_scale:false,category:"flags"},myanmar:{keywords:["mm","flag","nation","country","banner"],char:'🇲🇲',fitzpatrick_scale:false,category:"flags"},namibia:{keywords:["na","flag","nation","country","banner"],char:'🇳🇦',fitzpatrick_scale:false,category:"flags"},nauru:{keywords:["nr","flag","nation","country","banner"],char:'🇳🇷',fitzpatrick_scale:false,category:"flags"},nepal:{keywords:["np","flag","nation","country","banner"],char:'🇳🇵',fitzpatrick_scale:false,category:"flags"},netherlands:{keywords:["nl","flag","nation","country","banner"],char:'🇳🇱',fitzpatrick_scale:false,category:"flags"},new_caledonia:{keywords:["new","caledonia","flag","nation","country","banner"],char:'🇳🇨',fitzpatrick_scale:false,category:"flags"},new_zealand:{keywords:["new","zealand","flag","nation","country","banner"],char:'🇳🇿',fitzpatrick_scale:false,category:"flags"},nicaragua:{keywords:["ni","flag","nation","country","banner"],char:'🇳🇮',fitzpatrick_scale:false,category:"flags"},niger:{keywords:["ne","flag","nation","country","banner"],char:'🇳🇪',fitzpatrick_scale:false,category:"flags"},nigeria:{keywords:["flag","nation","country","banner"],char:'🇳🇬',fitzpatrick_scale:false,category:"flags"},niue:{keywords:["nu","flag","nation","country","banner"],char:'🇳🇺',fitzpatrick_scale:false,category:"flags"},norfolk_island:{keywords:["norfolk","island","flag","nation","country","banner"],char:'🇳🇫',fitzpatrick_scale:false,category:"flags"},northern_mariana_islands:{keywords:["northern","mariana","islands","flag","nation","country","banner"],char:'🇲🇵',fitzpatrick_scale:false,category:"flags"},north_korea:{keywords:["north","korea","nation","flag","country","banner"],char:'🇰🇵',fitzpatrick_scale:false,category:"flags"},norway:{keywords:["no","flag","nation","country","banner"],char:'🇳🇴',fitzpatrick_scale:false,category:"flags"},oman:{keywords:["om_symbol","flag","nation","country","banner"],char:'🇴🇲',fitzpatrick_scale:false,category:"flags"},pakistan:{keywords:["pk","flag","nation","country","banner"],char:'🇵🇰',fitzpatrick_scale:false,category:"flags"},palau:{keywords:["pw","flag","nation","country","banner"],char:'🇵🇼',fitzpatrick_scale:false,category:"flags"},palestinian_territories:{keywords:["palestine","palestinian","territories","flag","nation","country","banner"],char:'🇵🇸',fitzpatrick_scale:false,category:"flags"},panama:{keywords:["pa","flag","nation","country","banner"],char:'🇵🇦',fitzpatrick_scale:false,category:"flags"},papua_new_guinea:{keywords:["papua","new","guinea","flag","nation","country","banner"],char:'🇵🇬',fitzpatrick_scale:false,category:"flags"},paraguay:{keywords:["py","flag","nation","country","banner"],char:'🇵🇾',fitzpatrick_scale:false,category:"flags"},peru:{keywords:["pe","flag","nation","country","banner"],char:'🇵🇪',fitzpatrick_scale:false,category:"flags"},philippines:{keywords:["ph","flag","nation","country","banner"],char:'🇵🇭',fitzpatrick_scale:false,category:"flags"},pitcairn_islands:{keywords:["pitcairn","flag","nation","country","banner"],char:'🇵🇳',fitzpatrick_scale:false,category:"flags"},poland:{keywords:["pl","flag","nation","country","banner"],char:'🇵🇱',fitzpatrick_scale:false,category:"flags"},portugal:{keywords:["pt","flag","nation","country","banner"],char:'🇵🇹',fitzpatrick_scale:false,category:"flags"},puerto_rico:{keywords:["puerto","rico","flag","nation","country","banner"],char:'🇵🇷',fitzpatrick_scale:false,category:"flags"},qatar:{keywords:["qa","flag","nation","country","banner"],char:'🇶🇦',fitzpatrick_scale:false,category:"flags"},reunion:{keywords:["réunion","flag","nation","country","banner"],char:'🇷🇪',fitzpatrick_scale:false,category:"flags"},romania:{keywords:["ro","flag","nation","country","banner"],char:'🇷🇴',fitzpatrick_scale:false,category:"flags"},ru:{keywords:["russian","federation","flag","nation","country","banner"],char:'🇷🇺',fitzpatrick_scale:false,category:"flags"},rwanda:{keywords:["rw","flag","nation","country","banner"],char:'🇷🇼',fitzpatrick_scale:false,category:"flags"},st_barthelemy:{keywords:["saint","barthélemy","flag","nation","country","banner"],char:'🇧🇱',fitzpatrick_scale:false,category:"flags"},st_helena:{keywords:["saint","helena","ascension","tristan","cunha","flag","nation","country","banner"],char:'🇸🇭',fitzpatrick_scale:false,category:"flags"},st_kitts_nevis:{keywords:["saint","kitts","nevis","flag","nation","country","banner"],char:'🇰🇳',fitzpatrick_scale:false,category:"flags"},st_lucia:{keywords:["saint","lucia","flag","nation","country","banner"],char:'🇱🇨',fitzpatrick_scale:false,category:"flags"},st_pierre_miquelon:{keywords:["saint","pierre","miquelon","flag","nation","country","banner"],char:'🇵🇲',fitzpatrick_scale:false,category:"flags"},st_vincent_grenadines:{keywords:["saint","vincent","grenadines","flag","nation","country","banner"],char:'🇻🇨',fitzpatrick_scale:false,category:"flags"},samoa:{keywords:["ws","flag","nation","country","banner"],char:'🇼🇸',fitzpatrick_scale:false,category:"flags"},san_marino:{keywords:["san","marino","flag","nation","country","banner"],char:'🇸🇲',fitzpatrick_scale:false,category:"flags"},sao_tome_principe:{keywords:["sao","tome","principe","flag","nation","country","banner"],char:'🇸🇹',fitzpatrick_scale:false,category:"flags"},saudi_arabia:{keywords:["flag","nation","country","banner"],char:'🇸🇦',fitzpatrick_scale:false,category:"flags"},senegal:{keywords:["sn","flag","nation","country","banner"],char:'🇸🇳',fitzpatrick_scale:false,category:"flags"},serbia:{keywords:["rs","flag","nation","country","banner"],char:'🇷🇸',fitzpatrick_scale:false,category:"flags"},seychelles:{keywords:["sc","flag","nation","country","banner"],char:'🇸🇨',fitzpatrick_scale:false,category:"flags"},sierra_leone:{keywords:["sierra","leone","flag","nation","country","banner"],char:'🇸🇱',fitzpatrick_scale:false,category:"flags"},singapore:{keywords:["sg","flag","nation","country","banner"],char:'🇸🇬',fitzpatrick_scale:false,category:"flags"},sint_maarten:{keywords:["sint","maarten","dutch","flag","nation","country","banner"],char:'🇸🇽',fitzpatrick_scale:false,category:"flags"},slovakia:{keywords:["sk","flag","nation","country","banner"],char:'🇸🇰',fitzpatrick_scale:false,category:"flags"},slovenia:{keywords:["si","flag","nation","country","banner"],char:'🇸🇮',fitzpatrick_scale:false,category:"flags"},solomon_islands:{keywords:["solomon","islands","flag","nation","country","banner"],char:'🇸🇧',fitzpatrick_scale:false,category:"flags"},somalia:{keywords:["so","flag","nation","country","banner"],char:'🇸🇴',fitzpatrick_scale:false,category:"flags"},south_africa:{keywords:["south","africa","flag","nation","country","banner"],char:'🇿🇦',fitzpatrick_scale:false,category:"flags"},south_georgia_south_sandwich_islands:{keywords:["south","georgia","sandwich","islands","flag","nation","country","banner"],char:'🇬🇸',fitzpatrick_scale:false,category:"flags"},kr:{keywords:["south","korea","nation","flag","country","banner"],char:'🇰🇷',fitzpatrick_scale:false,category:"flags"},south_sudan:{keywords:["south","sd","flag","nation","country","banner"],char:'🇸🇸',fitzpatrick_scale:false,category:"flags"},es:{keywords:["spain","flag","nation","country","banner"],char:'🇪🇸',fitzpatrick_scale:false,category:"flags"},sri_lanka:{keywords:["sri","lanka","flag","nation","country","banner"],char:'🇱🇰',fitzpatrick_scale:false,category:"flags"},sudan:{keywords:["sd","flag","nation","country","banner"],char:'🇸🇩',fitzpatrick_scale:false,category:"flags"},suriname:{keywords:["sr","flag","nation","country","banner"],char:'🇸🇷',fitzpatrick_scale:false,category:"flags"},swaziland:{keywords:["sz","flag","nation","country","banner"],char:'🇸🇿',fitzpatrick_scale:false,category:"flags"},sweden:{keywords:["se","flag","nation","country","banner"],char:'🇸🇪',fitzpatrick_scale:false,category:"flags"},switzerland:{keywords:["ch","flag","nation","country","banner"],char:'🇨🇭',fitzpatrick_scale:false,category:"flags"},syria:{keywords:["syrian","arab","republic","flag","nation","country","banner"],char:'🇸🇾',fitzpatrick_scale:false,category:"flags"},taiwan:{keywords:["tw","flag","nation","country","banner"],char:'🇹🇼',fitzpatrick_scale:false,category:"flags"},tajikistan:{keywords:["tj","flag","nation","country","banner"],char:'🇹🇯',fitzpatrick_scale:false,category:"flags"},tanzania:{keywords:["tanzania,","united","republic","flag","nation","country","banner"],char:'🇹🇿',fitzpatrick_scale:false,category:"flags"},thailand:{keywords:["th","flag","nation","country","banner"],char:'🇹🇭',fitzpatrick_scale:false,category:"flags"},timor_leste:{keywords:["timor","leste","flag","nation","country","banner"],char:'🇹🇱',fitzpatrick_scale:false,category:"flags"},togo:{keywords:["tg","flag","nation","country","banner"],char:'🇹🇬',fitzpatrick_scale:false,category:"flags"},tokelau:{keywords:["tk","flag","nation","country","banner"],char:'🇹🇰',fitzpatrick_scale:false,category:"flags"},tonga:{keywords:["to","flag","nation","country","banner"],char:'🇹🇴',fitzpatrick_scale:false,category:"flags"},trinidad_tobago:{keywords:["trinidad","tobago","flag","nation","country","banner"],char:'🇹🇹',fitzpatrick_scale:false,category:"flags"},tunisia:{keywords:["tn","flag","nation","country","banner"],char:'🇹🇳',fitzpatrick_scale:false,category:"flags"},tr:{keywords:["turkey","flag","nation","country","banner"],char:'🇹🇷',fitzpatrick_scale:false,category:"flags"},turkmenistan:{keywords:["flag","nation","country","banner"],char:'🇹🇲',fitzpatrick_scale:false,category:"flags"},turks_caicos_islands:{keywords:["turks","caicos","islands","flag","nation","country","banner"],char:'🇹🇨',fitzpatrick_scale:false,category:"flags"},tuvalu:{keywords:["flag","nation","country","banner"],char:'🇹🇻',fitzpatrick_scale:false,category:"flags"},uganda:{keywords:["ug","flag","nation","country","banner"],char:'🇺🇬',fitzpatrick_scale:false,category:"flags"},ukraine:{keywords:["ua","flag","nation","country","banner"],char:'🇺🇦',fitzpatrick_scale:false,category:"flags"},united_arab_emirates:{keywords:["united","arab","emirates","flag","nation","country","banner"],char:'🇦🇪',fitzpatrick_scale:false,category:"flags"},uk:{keywords:["united","kingdom","great","britain","northern","ireland","flag","nation","country","banner","british","UK","english","england","union jack"],char:'🇬🇧',fitzpatrick_scale:false,category:"flags"},england:{keywords:["flag","english"],char:'🏴󠁧󠁢󠁥󠁮󠁧󠁿',fitzpatrick_scale:false,category:"flags"},scotland:{keywords:["flag","scottish"],char:'🏴󠁧󠁢󠁳󠁣󠁴󠁿',fitzpatrick_scale:false,category:"flags"},wales:{keywords:["flag","welsh"],char:'🏴󠁧󠁢󠁷󠁬󠁳󠁿',fitzpatrick_scale:false,category:"flags"},us:{keywords:["united","states","america","flag","nation","country","banner"],char:'🇺🇸',fitzpatrick_scale:false,category:"flags"},us_virgin_islands:{keywords:["virgin","islands","us","flag","nation","country","banner"],char:'🇻🇮',fitzpatrick_scale:false,category:"flags"},uruguay:{keywords:["uy","flag","nation","country","banner"],char:'🇺🇾',fitzpatrick_scale:false,category:"flags"},uzbekistan:{keywords:["uz","flag","nation","country","banner"],char:'🇺🇿',fitzpatrick_scale:false,category:"flags"},vanuatu:{keywords:["vu","flag","nation","country","banner"],char:'🇻🇺',fitzpatrick_scale:false,category:"flags"},vatican_city:{keywords:["vatican","city","flag","nation","country","banner"],char:'🇻🇦',fitzpatrick_scale:false,category:"flags"},venezuela:{keywords:["ve","bolivarian","republic","flag","nation","country","banner"],char:'🇻🇪',fitzpatrick_scale:false,category:"flags"},vietnam:{keywords:["viet","nam","flag","nation","country","banner"],char:'🇻🇳',fitzpatrick_scale:false,category:"flags"},wallis_futuna:{keywords:["wallis","futuna","flag","nation","country","banner"],char:'🇼🇫',fitzpatrick_scale:false,category:"flags"},western_sahara:{keywords:["western","sahara","flag","nation","country","banner"],char:'🇪🇭',fitzpatrick_scale:false,category:"flags"},yemen:{keywords:["ye","flag","nation","country","banner"],char:'🇾🇪',fitzpatrick_scale:false,category:"flags"},zambia:{keywords:["zm","flag","nation","country","banner"],char:'🇿🇲',fitzpatrick_scale:false,category:"flags"},zimbabwe:{keywords:["zw","flag","nation","country","banner"],char:'🇿🇼',fitzpatrick_scale:false,category:"flags"},united_nations:{keywords:["un","flag","banner"],char:'🇺🇳',fitzpatrick_scale:false,category:"flags"},pirate_flag:{keywords:["skull","crossbones","flag","banner"],char:'🏴‍☠️',fitzpatrick_scale:false,category:"flags"}}); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/emoticons/js/emojiimages.min.js b/public/tools/cloud_notes/tinymce/plugins/emoticons/js/emojiimages.min.js new file mode 100644 index 0000000..37f3bcf --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/emoticons/js/emojiimages.min.js @@ -0,0 +1,3 @@ +// Source: npm package: emojilib +// Images provided by twemoji: https://github.com/twitter/twemoji +window.tinymce.Resource.add("tinymce.plugins.emoticons",{100:{keywords:["score","perfect","numbers","century","exam","quiz","test","pass","hundred"],char:'\u{1f4af}',fitzpatrick_scale:!1,category:"symbols"},1234:{keywords:["numbers","blue-square"],char:'\u{1f522}',fitzpatrick_scale:!1,category:"symbols"},grinning:{keywords:["face","smile","happy","joy",":D","grin"],char:'\u{1f600}',fitzpatrick_scale:!1,category:"people"},grimacing:{keywords:["face","grimace","teeth"],char:'\u{1f62c}',fitzpatrick_scale:!1,category:"people"},grin:{keywords:["face","happy","smile","joy","kawaii"],char:'\u{1f601}',fitzpatrick_scale:!1,category:"people"},joy:{keywords:["face","cry","tears","weep","happy","happytears","haha"],char:'\u{1f602}',fitzpatrick_scale:!1,category:"people"},rofl:{keywords:["face","rolling","floor","laughing","lol","haha"],char:'\u{1f923}',fitzpatrick_scale:!1,category:"people"},partying:{keywords:["face","celebration","woohoo"],char:'\u{1f973}',fitzpatrick_scale:!1,category:"people"},smiley:{keywords:["face","happy","joy","haha",":D",":)","smile","funny"],char:'\u{1f603}',fitzpatrick_scale:!1,category:"people"},smile:{keywords:["face","happy","joy","funny","haha","laugh","like",":D",":)"],char:'\u{1f604}',fitzpatrick_scale:!1,category:"people"},sweat_smile:{keywords:["face","hot","happy","laugh","sweat","smile","relief"],char:'\u{1f605}',fitzpatrick_scale:!1,category:"people"},laughing:{keywords:["happy","joy","lol","satisfied","haha","face","glad","XD","laugh"],char:'\u{1f606}',fitzpatrick_scale:!1,category:"people"},innocent:{keywords:["face","angel","heaven","halo"],char:'\u{1f607}',fitzpatrick_scale:!1,category:"people"},wink:{keywords:["face","happy","mischievous","secret",";)","smile","eye"],char:'\u{1f609}',fitzpatrick_scale:!1,category:"people"},blush:{keywords:["face","smile","happy","flushed","crush","embarrassed","shy","joy"],char:'\u{1f60a}',fitzpatrick_scale:!1,category:"people"},slightly_smiling_face:{keywords:["face","smile"],char:'\u{1f642}',fitzpatrick_scale:!1,category:"people"},upside_down_face:{keywords:["face","flipped","silly","smile"],char:'\u{1f643}',fitzpatrick_scale:!1,category:"people"},relaxed:{keywords:["face","blush","massage","happiness"],char:'\u263a\ufe0f',fitzpatrick_scale:!1,category:"people"},yum:{keywords:["happy","joy","tongue","smile","face","silly","yummy","nom","delicious","savouring"],char:'\u{1f60b}',fitzpatrick_scale:!1,category:"people"},relieved:{keywords:["face","relaxed","phew","massage","happiness"],char:'\u{1f60c}',fitzpatrick_scale:!1,category:"people"},heart_eyes:{keywords:["face","love","like","affection","valentines","infatuation","crush","heart"],char:'\u{1f60d}',fitzpatrick_scale:!1,category:"people"},smiling_face_with_three_hearts:{keywords:["face","love","like","affection","valentines","infatuation","crush","hearts","adore"],char:'\u{1f970}',fitzpatrick_scale:!1,category:"people"},kissing_heart:{keywords:["face","love","like","affection","valentines","infatuation","kiss"],char:'\u{1f618}',fitzpatrick_scale:!1,category:"people"},kissing:{keywords:["love","like","face","3","valentines","infatuation","kiss"],char:'\u{1f617}',fitzpatrick_scale:!1,category:"people"},kissing_smiling_eyes:{keywords:["face","affection","valentines","infatuation","kiss"],char:'\u{1f619}',fitzpatrick_scale:!1,category:"people"},kissing_closed_eyes:{keywords:["face","love","like","affection","valentines","infatuation","kiss"],char:'\u{1f61a}',fitzpatrick_scale:!1,category:"people"},stuck_out_tongue_winking_eye:{keywords:["face","prank","childish","playful","mischievous","smile","wink","tongue"],char:'\u{1f61c}',fitzpatrick_scale:!1,category:"people"},zany:{keywords:["face","goofy","crazy"],char:'\u{1f92a}',fitzpatrick_scale:!1,category:"people"},raised_eyebrow:{keywords:["face","distrust","scepticism","disapproval","disbelief","surprise"],char:'\u{1f928}',fitzpatrick_scale:!1,category:"people"},monocle:{keywords:["face","stuffy","wealthy"],char:'\u{1f9d0}',fitzpatrick_scale:!1,category:"people"},stuck_out_tongue_closed_eyes:{keywords:["face","prank","playful","mischievous","smile","tongue"],char:'\u{1f61d}',fitzpatrick_scale:!1,category:"people"},stuck_out_tongue:{keywords:["face","prank","childish","playful","mischievous","smile","tongue"],char:'\u{1f61b}',fitzpatrick_scale:!1,category:"people"},money_mouth_face:{keywords:["face","rich","dollar","money"],char:'\u{1f911}',fitzpatrick_scale:!1,category:"people"},nerd_face:{keywords:["face","nerdy","geek","dork"],char:'\u{1f913}',fitzpatrick_scale:!1,category:"people"},sunglasses:{keywords:["face","cool","smile","summer","beach","sunglass"],char:'\u{1f60e}',fitzpatrick_scale:!1,category:"people"},star_struck:{keywords:["face","smile","starry","eyes","grinning"],char:'\u{1f929}',fitzpatrick_scale:!1,category:"people"},clown_face:{keywords:["face"],char:'\u{1f921}',fitzpatrick_scale:!1,category:"people"},cowboy_hat_face:{keywords:["face","cowgirl","hat"],char:'\u{1f920}',fitzpatrick_scale:!1,category:"people"},hugs:{keywords:["face","smile","hug"],char:'\u{1f917}',fitzpatrick_scale:!1,category:"people"},smirk:{keywords:["face","smile","mean","prank","smug","sarcasm"],char:'\u{1f60f}',fitzpatrick_scale:!1,category:"people"},no_mouth:{keywords:["face","hellokitty"],char:'\u{1f636}',fitzpatrick_scale:!1,category:"people"},neutral_face:{keywords:["indifference","meh",":|","neutral"],char:'\u{1f610}',fitzpatrick_scale:!1,category:"people"},expressionless:{keywords:["face","indifferent","-_-","meh","deadpan"],char:'\u{1f611}',fitzpatrick_scale:!1,category:"people"},unamused:{keywords:["indifference","bored","straight face","serious","sarcasm","unimpressed","skeptical","dubious","side_eye"],char:'\u{1f612}',fitzpatrick_scale:!1,category:"people"},roll_eyes:{keywords:["face","eyeroll","frustrated"],char:'\u{1f644}',fitzpatrick_scale:!1,category:"people"},thinking:{keywords:["face","hmmm","think","consider"],char:'\u{1f914}',fitzpatrick_scale:!1,category:"people"},lying_face:{keywords:["face","lie","pinocchio"],char:'\u{1f925}',fitzpatrick_scale:!1,category:"people"},hand_over_mouth:{keywords:["face","whoops","shock","surprise"],char:'\u{1f92d}',fitzpatrick_scale:!1,category:"people"},shushing:{keywords:["face","quiet","shhh"],char:'\u{1f92b}',fitzpatrick_scale:!1,category:"people"},symbols_over_mouth:{keywords:["face","swearing","cursing","cussing","profanity","expletive"],char:'\u{1f92c}',fitzpatrick_scale:!1,category:"people"},exploding_head:{keywords:["face","shocked","mind","blown"],char:'\u{1f92f}',fitzpatrick_scale:!1,category:"people"},flushed:{keywords:["face","blush","shy","flattered"],char:'\u{1f633}',fitzpatrick_scale:!1,category:"people"},disappointed:{keywords:["face","sad","upset","depressed",":("],char:'\u{1f61e}',fitzpatrick_scale:!1,category:"people"},worried:{keywords:["face","concern","nervous",":("],char:'\u{1f61f}',fitzpatrick_scale:!1,category:"people"},angry:{keywords:["mad","face","annoyed","frustrated"],char:'\u{1f620}',fitzpatrick_scale:!1,category:"people"},rage:{keywords:["angry","mad","hate","despise"],char:'\u{1f621}',fitzpatrick_scale:!1,category:"people"},pensive:{keywords:["face","sad","depressed","upset"],char:'\u{1f614}',fitzpatrick_scale:!1,category:"people"},confused:{keywords:["face","indifference","huh","weird","hmmm",":/"],char:'\u{1f615}',fitzpatrick_scale:!1,category:"people"},slightly_frowning_face:{keywords:["face","frowning","disappointed","sad","upset"],char:'\u{1f641}',fitzpatrick_scale:!1,category:"people"},frowning_face:{keywords:["face","sad","upset","frown"],char:'\u2639',fitzpatrick_scale:!1,category:"people"},persevere:{keywords:["face","sick","no","upset","oops"],char:'\u{1f623}',fitzpatrick_scale:!1,category:"people"},confounded:{keywords:["face","confused","sick","unwell","oops",":S"],char:'\u{1f616}',fitzpatrick_scale:!1,category:"people"},tired_face:{keywords:["sick","whine","upset","frustrated"],char:'\u{1f62b}',fitzpatrick_scale:!1,category:"people"},weary:{keywords:["face","tired","sleepy","sad","frustrated","upset"],char:'\u{1f629}',fitzpatrick_scale:!1,category:"people"},pleading:{keywords:["face","begging","mercy"],char:'\u{1f97a}',fitzpatrick_scale:!1,category:"people"},triumph:{keywords:["face","gas","phew","proud","pride"],char:'\u{1f624}',fitzpatrick_scale:!1,category:"people"},open_mouth:{keywords:["face","surprise","impressed","wow","whoa",":O"],char:'\u{1f62e}',fitzpatrick_scale:!1,category:"people"},scream:{keywords:["face","munch","scared","omg"],char:'\u{1f631}',fitzpatrick_scale:!1,category:"people"},fearful:{keywords:["face","scared","terrified","nervous","oops","huh"],char:'\u{1f628}',fitzpatrick_scale:!1,category:"people"},cold_sweat:{keywords:["face","nervous","sweat"],char:'\u{1f630}',fitzpatrick_scale:!1,category:"people"},hushed:{keywords:["face","woo","shh"],char:'\u{1f62f}',fitzpatrick_scale:!1,category:"people"},frowning:{keywords:["face","aw","what"],char:'\u{1f626}',fitzpatrick_scale:!1,category:"people"},anguished:{keywords:["face","stunned","nervous"],char:'\u{1f627}',fitzpatrick_scale:!1,category:"people"},cry:{keywords:["face","tears","sad","depressed","upset",":'("],char:'\u{1f622}',fitzpatrick_scale:!1,category:"people"},disappointed_relieved:{keywords:["face","phew","sweat","nervous"],char:'\u{1f625}',fitzpatrick_scale:!1,category:"people"},drooling_face:{keywords:["face"],char:'\u{1f924}',fitzpatrick_scale:!1,category:"people"},sleepy:{keywords:["face","tired","rest","nap"],char:'\u{1f62a}',fitzpatrick_scale:!1,category:"people"},sweat:{keywords:["face","hot","sad","tired","exercise"],char:'\u{1f613}',fitzpatrick_scale:!1,category:"people"},hot:{keywords:["face","feverish","heat","red","sweating"],char:'\u{1f975}',fitzpatrick_scale:!1,category:"people"},cold:{keywords:["face","blue","freezing","frozen","frostbite","icicles"],char:'\u{1f976}',fitzpatrick_scale:!1,category:"people"},sob:{keywords:["face","cry","tears","sad","upset","depressed"],char:'\u{1f62d}',fitzpatrick_scale:!1,category:"people"},dizzy_face:{keywords:["spent","unconscious","xox","dizzy"],char:'\u{1f635}',fitzpatrick_scale:!1,category:"people"},astonished:{keywords:["face","xox","surprised","poisoned"],char:'\u{1f632}',fitzpatrick_scale:!1,category:"people"},zipper_mouth_face:{keywords:["face","sealed","zipper","secret"],char:'\u{1f910}',fitzpatrick_scale:!1,category:"people"},nauseated_face:{keywords:["face","vomit","gross","green","sick","throw up","ill"],char:'\u{1f922}',fitzpatrick_scale:!1,category:"people"},sneezing_face:{keywords:["face","gesundheit","sneeze","sick","allergy"],char:'\u{1f927}',fitzpatrick_scale:!1,category:"people"},vomiting:{keywords:["face","sick"],char:'\u{1f92e}',fitzpatrick_scale:!1,category:"people"},mask:{keywords:["face","sick","ill","disease"],char:'\u{1f637}',fitzpatrick_scale:!1,category:"people"},face_with_thermometer:{keywords:["sick","temperature","thermometer","cold","fever"],char:'\u{1f912}',fitzpatrick_scale:!1,category:"people"},face_with_head_bandage:{keywords:["injured","clumsy","bandage","hurt"],char:'\u{1f915}',fitzpatrick_scale:!1,category:"people"},woozy:{keywords:["face","dizzy","intoxicated","tipsy","wavy"],char:'\u{1f974}',fitzpatrick_scale:!1,category:"people"},sleeping:{keywords:["face","tired","sleepy","night","zzz"],char:'\u{1f634}',fitzpatrick_scale:!1,category:"people"},zzz:{keywords:["sleepy","tired","dream"],char:'\u{1f4a4}',fitzpatrick_scale:!1,category:"people"},poop:{keywords:["hankey","shitface","fail","turd","shit"],char:'\u{1f4a9}',fitzpatrick_scale:!1,category:"people"},smiling_imp:{keywords:["devil","horns"],char:'\u{1f608}',fitzpatrick_scale:!1,category:"people"},imp:{keywords:["devil","angry","horns"],char:'\u{1f47f}',fitzpatrick_scale:!1,category:"people"},japanese_ogre:{keywords:["monster","red","mask","halloween","scary","creepy","devil","demon","japanese","ogre"],char:'\u{1f479}',fitzpatrick_scale:!1,category:"people"},japanese_goblin:{keywords:["red","evil","mask","monster","scary","creepy","japanese","goblin"],char:'\u{1f47a}',fitzpatrick_scale:!1,category:"people"},skull:{keywords:["dead","skeleton","creepy","death"],char:'\u{1f480}',fitzpatrick_scale:!1,category:"people"},ghost:{keywords:["halloween","spooky","scary"],char:'\u{1f47b}',fitzpatrick_scale:!1,category:"people"},alien:{keywords:["UFO","paul","weird","outer_space"],char:'\u{1f47d}',fitzpatrick_scale:!1,category:"people"},robot:{keywords:["computer","machine","bot"],char:'\u{1f916}',fitzpatrick_scale:!1,category:"people"},smiley_cat:{keywords:["animal","cats","happy","smile"],char:'\u{1f63a}',fitzpatrick_scale:!1,category:"people"},smile_cat:{keywords:["animal","cats","smile"],char:'\u{1f638}',fitzpatrick_scale:!1,category:"people"},joy_cat:{keywords:["animal","cats","haha","happy","tears"],char:'\u{1f639}',fitzpatrick_scale:!1,category:"people"},heart_eyes_cat:{keywords:["animal","love","like","affection","cats","valentines","heart"],char:'\u{1f63b}',fitzpatrick_scale:!1,category:"people"},smirk_cat:{keywords:["animal","cats","smirk"],char:'\u{1f63c}',fitzpatrick_scale:!1,category:"people"},kissing_cat:{keywords:["animal","cats","kiss"],char:'\u{1f63d}',fitzpatrick_scale:!1,category:"people"},scream_cat:{keywords:["animal","cats","munch","scared","scream"],char:'\u{1f640}',fitzpatrick_scale:!1,category:"people"},crying_cat_face:{keywords:["animal","tears","weep","sad","cats","upset","cry"],char:'\u{1f63f}',fitzpatrick_scale:!1,category:"people"},pouting_cat:{keywords:["animal","cats"],char:'\u{1f63e}',fitzpatrick_scale:!1,category:"people"},palms_up:{keywords:["hands","gesture","cupped","prayer"],char:'\u{1f932}',fitzpatrick_scale:!0,category:"people"},raised_hands:{keywords:["gesture","hooray","yea","celebration","hands"],char:'\u{1f64c}',fitzpatrick_scale:!0,category:"people"},clap:{keywords:["hands","praise","applause","congrats","yay"],char:'\u{1f44f}',fitzpatrick_scale:!0,category:"people"},wave:{keywords:["hands","gesture","goodbye","solong","farewell","hello","hi","palm"],char:'\u{1f44b}',fitzpatrick_scale:!0,category:"people"},call_me_hand:{keywords:["hands","gesture"],char:'\u{1f919}',fitzpatrick_scale:!0,category:"people"},"+1":{keywords:["thumbsup","yes","awesome","good","agree","accept","cool","hand","like"],char:'\u{1f44d}',fitzpatrick_scale:!0,category:"people"},"-1":{keywords:["thumbsdown","no","dislike","hand"],char:'\u{1f44e}',fitzpatrick_scale:!0,category:"people"},facepunch:{keywords:["angry","violence","fist","hit","attack","hand"],char:'\u{1f44a}',fitzpatrick_scale:!0,category:"people"},fist:{keywords:["fingers","hand","grasp"],char:'\u270a',fitzpatrick_scale:!0,category:"people"},fist_left:{keywords:["hand","fistbump"],char:'\u{1f91b}',fitzpatrick_scale:!0,category:"people"},fist_right:{keywords:["hand","fistbump"],char:'\u{1f91c}',fitzpatrick_scale:!0,category:"people"},v:{keywords:["fingers","ohyeah","hand","peace","victory","two"],char:'\u270c',fitzpatrick_scale:!0,category:"people"},ok_hand:{keywords:["fingers","limbs","perfect","ok","okay"],char:'\u{1f44c}',fitzpatrick_scale:!0,category:"people"},raised_hand:{keywords:["fingers","stop","highfive","palm","ban"],char:'\u270b',fitzpatrick_scale:!0,category:"people"},raised_back_of_hand:{keywords:["fingers","raised","backhand"],char:'\u{1f91a}',fitzpatrick_scale:!0,category:"people"},open_hands:{keywords:["fingers","butterfly","hands","open"],char:'\u{1f450}',fitzpatrick_scale:!0,category:"people"},muscle:{keywords:["arm","flex","hand","summer","strong","biceps"],char:'\u{1f4aa}',fitzpatrick_scale:!0,category:"people"},pray:{keywords:["please","hope","wish","namaste","highfive"],char:'\u{1f64f}',fitzpatrick_scale:!0,category:"people"},foot:{keywords:["kick","stomp"],char:'\u{1f9b6}',fitzpatrick_scale:!0,category:"people"},leg:{keywords:["kick","limb"],char:'\u{1f9b5}',fitzpatrick_scale:!0,category:"people"},handshake:{keywords:["agreement","shake"],char:'\u{1f91d}',fitzpatrick_scale:!1,category:"people"},point_up:{keywords:["hand","fingers","direction","up"],char:'\u261d',fitzpatrick_scale:!0,category:"people"},point_up_2:{keywords:["fingers","hand","direction","up"],char:'\u{1f446}',fitzpatrick_scale:!0,category:"people"},point_down:{keywords:["fingers","hand","direction","down"],char:'\u{1f447}',fitzpatrick_scale:!0,category:"people"},point_left:{keywords:["direction","fingers","hand","left"],char:'\u{1f448}',fitzpatrick_scale:!0,category:"people"},point_right:{keywords:["fingers","hand","direction","right"],char:'\u{1f449}',fitzpatrick_scale:!0,category:"people"},fu:{keywords:["hand","fingers","rude","middle","flipping"],char:'\u{1f595}',fitzpatrick_scale:!0,category:"people"},raised_hand_with_fingers_splayed:{keywords:["hand","fingers","palm"],char:'\u{1f590}',fitzpatrick_scale:!0,category:"people"},love_you:{keywords:["hand","fingers","gesture"],char:'\u{1f91f}',fitzpatrick_scale:!0,category:"people"},metal:{keywords:["hand","fingers","evil_eye","sign_of_horns","rock_on"],char:'\u{1f918}',fitzpatrick_scale:!0,category:"people"},crossed_fingers:{keywords:["good","lucky"],char:'\u{1f91e}',fitzpatrick_scale:!0,category:"people"},vulcan_salute:{keywords:["hand","fingers","spock","star trek"],char:'\u{1f596}',fitzpatrick_scale:!0,category:"people"},writing_hand:{keywords:["lower_left_ballpoint_pen","stationery","write","compose"],char:'\u270d',fitzpatrick_scale:!0,category:"people"},selfie:{keywords:["camera","phone"],char:'\u{1f933}',fitzpatrick_scale:!0,category:"people"},nail_care:{keywords:["beauty","manicure","finger","fashion","nail"],char:'\u{1f485}',fitzpatrick_scale:!0,category:"people"},lips:{keywords:["mouth","kiss"],char:'\u{1f444}',fitzpatrick_scale:!1,category:"people"},tooth:{keywords:["teeth","dentist"],char:'\u{1f9b7}',fitzpatrick_scale:!1,category:"people"},tongue:{keywords:["mouth","playful"],char:'\u{1f445}',fitzpatrick_scale:!1,category:"people"},ear:{keywords:["face","hear","sound","listen"],char:'\u{1f442}',fitzpatrick_scale:!0,category:"people"},nose:{keywords:["smell","sniff"],char:'\u{1f443}',fitzpatrick_scale:!0,category:"people"},eye:{keywords:["face","look","see","watch","stare"],char:'\u{1f441}',fitzpatrick_scale:!1,category:"people"},eyes:{keywords:["look","watch","stalk","peek","see"],char:'\u{1f440}',fitzpatrick_scale:!1,category:"people"},brain:{keywords:["smart","intelligent"],char:'\u{1f9e0}',fitzpatrick_scale:!1,category:"people"},bust_in_silhouette:{keywords:["user","person","human"],char:'\u{1f464}',fitzpatrick_scale:!1,category:"people"},busts_in_silhouette:{keywords:["user","person","human","group","team"],char:'\u{1f465}',fitzpatrick_scale:!1,category:"people"},speaking_head:{keywords:["user","person","human","sing","say","talk"],char:'\u{1f5e3}',fitzpatrick_scale:!1,category:"people"},baby:{keywords:["child","boy","girl","toddler"],char:'\u{1f476}',fitzpatrick_scale:!0,category:"people"},child:{keywords:["gender-neutral","young"],char:'\u{1f9d2}',fitzpatrick_scale:!0,category:"people"},boy:{keywords:["man","male","guy","teenager"],char:'\u{1f466}',fitzpatrick_scale:!0,category:"people"},girl:{keywords:["female","woman","teenager"],char:'\u{1f467}',fitzpatrick_scale:!0,category:"people"},adult:{keywords:["gender-neutral","person"],char:'\u{1f9d1}',fitzpatrick_scale:!0,category:"people"},man:{keywords:["mustache","father","dad","guy","classy","sir","moustache"],char:'\u{1f468}',fitzpatrick_scale:!0,category:"people"},woman:{keywords:["female","girls","lady"],char:'\u{1f469}',fitzpatrick_scale:!0,category:"people"},blonde_woman:{keywords:["woman","female","girl","blonde","person"],char:'\u{1f471}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},blonde_man:{keywords:["man","male","boy","blonde","guy","person"],char:'\u{1f471}',fitzpatrick_scale:!0,category:"people"},bearded_person:{keywords:["person","bewhiskered"],char:'\u{1f9d4}',fitzpatrick_scale:!0,category:"people"},older_adult:{keywords:["human","elder","senior","gender-neutral"],char:'\u{1f9d3}',fitzpatrick_scale:!0,category:"people"},older_man:{keywords:["human","male","men","old","elder","senior"],char:'\u{1f474}',fitzpatrick_scale:!0,category:"people"},older_woman:{keywords:["human","female","women","lady","old","elder","senior"],char:'\u{1f475}',fitzpatrick_scale:!0,category:"people"},man_with_gua_pi_mao:{keywords:["male","boy","chinese"],char:'\u{1f472}',fitzpatrick_scale:!0,category:"people"},woman_with_headscarf:{keywords:["female","hijab","mantilla","tichel"],char:'\u{1f9d5}',fitzpatrick_scale:!0,category:"people"},woman_with_turban:{keywords:["female","indian","hinduism","arabs","woman"],char:'\u{1f473}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},man_with_turban:{keywords:["male","indian","hinduism","arabs"],char:'\u{1f473}',fitzpatrick_scale:!0,category:"people"},policewoman:{keywords:["woman","police","law","legal","enforcement","arrest","911","female"],char:'\u{1f46e}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},policeman:{keywords:["man","police","law","legal","enforcement","arrest","911"],char:'\u{1f46e}',fitzpatrick_scale:!0,category:"people"},construction_worker_woman:{keywords:["female","human","wip","build","construction","worker","labor","woman"],char:'\u{1f477}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},construction_worker_man:{keywords:["male","human","wip","guy","build","construction","worker","labor"],char:'\u{1f477}',fitzpatrick_scale:!0,category:"people"},guardswoman:{keywords:["uk","gb","british","female","royal","woman"],char:'\u{1f482}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},guardsman:{keywords:["uk","gb","british","male","guy","royal"],char:'\u{1f482}',fitzpatrick_scale:!0,category:"people"},female_detective:{keywords:["human","spy","detective","female","woman"],char:'\u{1f575}\ufe0f\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},male_detective:{keywords:["human","spy","detective"],char:'\u{1f575}',fitzpatrick_scale:!0,category:"people"},woman_health_worker:{keywords:["doctor","nurse","therapist","healthcare","woman","human"],char:'\u{1f469}\u200d\u2695\ufe0f',fitzpatrick_scale:!0,category:"people"},man_health_worker:{keywords:["doctor","nurse","therapist","healthcare","man","human"],char:'\u{1f468}\u200d\u2695\ufe0f',fitzpatrick_scale:!0,category:"people"},woman_farmer:{keywords:["rancher","gardener","woman","human"],char:'\u{1f469}\u200d\u{1f33e}',fitzpatrick_scale:!0,category:"people"},man_farmer:{keywords:["rancher","gardener","man","human"],char:'\u{1f468}\u200d\u{1f33e}',fitzpatrick_scale:!0,category:"people"},woman_cook:{keywords:["chef","woman","human"],char:'\u{1f469}\u200d\u{1f373}',fitzpatrick_scale:!0,category:"people"},man_cook:{keywords:["chef","man","human"],char:'\u{1f468}\u200d\u{1f373}',fitzpatrick_scale:!0,category:"people"},woman_student:{keywords:["graduate","woman","human"],char:'\u{1f469}\u200d\u{1f393}',fitzpatrick_scale:!0,category:"people"},man_student:{keywords:["graduate","man","human"],char:'\u{1f468}\u200d\u{1f393}',fitzpatrick_scale:!0,category:"people"},woman_singer:{keywords:["rockstar","entertainer","woman","human"],char:'\u{1f469}\u200d\u{1f3a4}',fitzpatrick_scale:!0,category:"people"},man_singer:{keywords:["rockstar","entertainer","man","human"],char:'\u{1f468}\u200d\u{1f3a4}',fitzpatrick_scale:!0,category:"people"},woman_teacher:{keywords:["instructor","professor","woman","human"],char:'\u{1f469}\u200d\u{1f3eb}',fitzpatrick_scale:!0,category:"people"},man_teacher:{keywords:["instructor","professor","man","human"],char:'\u{1f468}\u200d\u{1f3eb}',fitzpatrick_scale:!0,category:"people"},woman_factory_worker:{keywords:["assembly","industrial","woman","human"],char:'\u{1f469}\u200d\u{1f3ed}',fitzpatrick_scale:!0,category:"people"},man_factory_worker:{keywords:["assembly","industrial","man","human"],char:'\u{1f468}\u200d\u{1f3ed}',fitzpatrick_scale:!0,category:"people"},woman_technologist:{keywords:["coder","developer","engineer","programmer","software","woman","human","laptop","computer"],char:'\u{1f469}\u200d\u{1f4bb}',fitzpatrick_scale:!0,category:"people"},man_technologist:{keywords:["coder","developer","engineer","programmer","software","man","human","laptop","computer"],char:'\u{1f468}\u200d\u{1f4bb}',fitzpatrick_scale:!0,category:"people"},woman_office_worker:{keywords:["business","manager","woman","human"],char:'\u{1f469}\u200d\u{1f4bc}',fitzpatrick_scale:!0,category:"people"},man_office_worker:{keywords:["business","manager","man","human"],char:'\u{1f468}\u200d\u{1f4bc}',fitzpatrick_scale:!0,category:"people"},woman_mechanic:{keywords:["plumber","woman","human","wrench"],char:'\u{1f469}\u200d\u{1f527}',fitzpatrick_scale:!0,category:"people"},man_mechanic:{keywords:["plumber","man","human","wrench"],char:'\u{1f468}\u200d\u{1f527}',fitzpatrick_scale:!0,category:"people"},woman_scientist:{keywords:["biologist","chemist","engineer","physicist","woman","human"],char:'\u{1f469}\u200d\u{1f52c}',fitzpatrick_scale:!0,category:"people"},man_scientist:{keywords:["biologist","chemist","engineer","physicist","man","human"],char:'\u{1f468}\u200d\u{1f52c}',fitzpatrick_scale:!0,category:"people"},woman_artist:{keywords:["painter","woman","human"],char:'\u{1f469}\u200d\u{1f3a8}',fitzpatrick_scale:!0,category:"people"},man_artist:{keywords:["painter","man","human"],char:'\u{1f468}\u200d\u{1f3a8}',fitzpatrick_scale:!0,category:"people"},woman_firefighter:{keywords:["fireman","woman","human"],char:'\u{1f469}\u200d\u{1f692}',fitzpatrick_scale:!0,category:"people"},man_firefighter:{keywords:["fireman","man","human"],char:'\u{1f468}\u200d\u{1f692}',fitzpatrick_scale:!0,category:"people"},woman_pilot:{keywords:["aviator","plane","woman","human"],char:'\u{1f469}\u200d\u2708\ufe0f',fitzpatrick_scale:!0,category:"people"},man_pilot:{keywords:["aviator","plane","man","human"],char:'\u{1f468}\u200d\u2708\ufe0f',fitzpatrick_scale:!0,category:"people"},woman_astronaut:{keywords:["space","rocket","woman","human"],char:'\u{1f469}\u200d\u{1f680}',fitzpatrick_scale:!0,category:"people"},man_astronaut:{keywords:["space","rocket","man","human"],char:'\u{1f468}\u200d\u{1f680}',fitzpatrick_scale:!0,category:"people"},woman_judge:{keywords:["justice","court","woman","human"],char:'\u{1f469}\u200d\u2696\ufe0f',fitzpatrick_scale:!0,category:"people"},man_judge:{keywords:["justice","court","man","human"],char:'\u{1f468}\u200d\u2696\ufe0f',fitzpatrick_scale:!0,category:"people"},woman_superhero:{keywords:["woman","female","good","heroine","superpowers"],char:'\u{1f9b8}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},man_superhero:{keywords:["man","male","good","hero","superpowers"],char:'\u{1f9b8}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},woman_supervillain:{keywords:["woman","female","evil","bad","criminal","heroine","superpowers"],char:'\u{1f9b9}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},man_supervillain:{keywords:["man","male","evil","bad","criminal","hero","superpowers"],char:'\u{1f9b9}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},mrs_claus:{keywords:["woman","female","xmas","mother christmas"],char:'\u{1f936}',fitzpatrick_scale:!0,category:"people"},santa:{keywords:["festival","man","male","xmas","father christmas"],char:'\u{1f385}',fitzpatrick_scale:!0,category:"people"},sorceress:{keywords:["woman","female","mage","witch"],char:'\u{1f9d9}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},wizard:{keywords:["man","male","mage","sorcerer"],char:'\u{1f9d9}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},woman_elf:{keywords:["woman","female"],char:'\u{1f9dd}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},man_elf:{keywords:["man","male"],char:'\u{1f9dd}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},woman_vampire:{keywords:["woman","female"],char:'\u{1f9db}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},man_vampire:{keywords:["man","male","dracula"],char:'\u{1f9db}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},woman_zombie:{keywords:["woman","female","undead","walking dead"],char:'\u{1f9df}\u200d\u2640\ufe0f',fitzpatrick_scale:!1,category:"people"},man_zombie:{keywords:["man","male","dracula","undead","walking dead"],char:'\u{1f9df}\u200d\u2642\ufe0f',fitzpatrick_scale:!1,category:"people"},woman_genie:{keywords:["woman","female"],char:'\u{1f9de}\u200d\u2640\ufe0f',fitzpatrick_scale:!1,category:"people"},man_genie:{keywords:["man","male"],char:'\u{1f9de}\u200d\u2642\ufe0f',fitzpatrick_scale:!1,category:"people"},mermaid:{keywords:["woman","female","merwoman","ariel"],char:'\u{1f9dc}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},merman:{keywords:["man","male","triton"],char:'\u{1f9dc}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},woman_fairy:{keywords:["woman","female"],char:'\u{1f9da}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},man_fairy:{keywords:["man","male"],char:'\u{1f9da}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},angel:{keywords:["heaven","wings","halo"],char:'\u{1f47c}',fitzpatrick_scale:!0,category:"people"},pregnant_woman:{keywords:["baby"],char:'\u{1f930}',fitzpatrick_scale:!0,category:"people"},breastfeeding:{keywords:["nursing","baby"],char:'\u{1f931}',fitzpatrick_scale:!0,category:"people"},princess:{keywords:["girl","woman","female","blond","crown","royal","queen"],char:'\u{1f478}',fitzpatrick_scale:!0,category:"people"},prince:{keywords:["boy","man","male","crown","royal","king"],char:'\u{1f934}',fitzpatrick_scale:!0,category:"people"},bride_with_veil:{keywords:["couple","marriage","wedding","woman","bride"],char:'\u{1f470}',fitzpatrick_scale:!0,category:"people"},man_in_tuxedo:{keywords:["couple","marriage","wedding","groom"],char:'\u{1f935}',fitzpatrick_scale:!0,category:"people"},running_woman:{keywords:["woman","walking","exercise","race","running","female"],char:'\u{1f3c3}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},running_man:{keywords:["man","walking","exercise","race","running"],char:'\u{1f3c3}',fitzpatrick_scale:!0,category:"people"},walking_woman:{keywords:["human","feet","steps","woman","female"],char:'\u{1f6b6}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},walking_man:{keywords:["human","feet","steps"],char:'\u{1f6b6}',fitzpatrick_scale:!0,category:"people"},dancer:{keywords:["female","girl","woman","fun"],char:'\u{1f483}',fitzpatrick_scale:!0,category:"people"},man_dancing:{keywords:["male","boy","fun","dancer"],char:'\u{1f57a}',fitzpatrick_scale:!0,category:"people"},dancing_women:{keywords:["female","bunny","women","girls"],char:'\u{1f46f}',fitzpatrick_scale:!1,category:"people"},dancing_men:{keywords:["male","bunny","men","boys"],char:'\u{1f46f}\u200d\u2642\ufe0f',fitzpatrick_scale:!1,category:"people"},couple:{keywords:["pair","people","human","love","date","dating","like","affection","valentines","marriage"],char:'\u{1f46b}',fitzpatrick_scale:!1,category:"people"},two_men_holding_hands:{keywords:["pair","couple","love","like","bromance","friendship","people","human"],char:'\u{1f46c}',fitzpatrick_scale:!1,category:"people"},two_women_holding_hands:{keywords:["pair","friendship","couple","love","like","female","people","human"],char:'\u{1f46d}',fitzpatrick_scale:!1,category:"people"},bowing_woman:{keywords:["woman","female","girl"],char:'\u{1f647}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},bowing_man:{keywords:["man","male","boy"],char:'\u{1f647}',fitzpatrick_scale:!0,category:"people"},man_facepalming:{keywords:["man","male","boy","disbelief"],char:'\u{1f926}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},woman_facepalming:{keywords:["woman","female","girl","disbelief"],char:'\u{1f926}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},woman_shrugging:{keywords:["woman","female","girl","confused","indifferent","doubt"],char:'\u{1f937}',fitzpatrick_scale:!0,category:"people"},man_shrugging:{keywords:["man","male","boy","confused","indifferent","doubt"],char:'\u{1f937}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},tipping_hand_woman:{keywords:["female","girl","woman","human","information"],char:'\u{1f481}',fitzpatrick_scale:!0,category:"people"},tipping_hand_man:{keywords:["male","boy","man","human","information"],char:'\u{1f481}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},no_good_woman:{keywords:["female","girl","woman","nope"],char:'\u{1f645}',fitzpatrick_scale:!0,category:"people"},no_good_man:{keywords:["male","boy","man","nope"],char:'\u{1f645}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},ok_woman:{keywords:["women","girl","female","pink","human","woman"],char:'\u{1f646}',fitzpatrick_scale:!0,category:"people"},ok_man:{keywords:["men","boy","male","blue","human","man"],char:'\u{1f646}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},raising_hand_woman:{keywords:["female","girl","woman"],char:'\u{1f64b}',fitzpatrick_scale:!0,category:"people"},raising_hand_man:{keywords:["male","boy","man"],char:'\u{1f64b}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},pouting_woman:{keywords:["female","girl","woman"],char:'\u{1f64e}',fitzpatrick_scale:!0,category:"people"},pouting_man:{keywords:["male","boy","man"],char:'\u{1f64e}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},frowning_woman:{keywords:["female","girl","woman","sad","depressed","discouraged","unhappy"],char:'\u{1f64d}',fitzpatrick_scale:!0,category:"people"},frowning_man:{keywords:["male","boy","man","sad","depressed","discouraged","unhappy"],char:'\u{1f64d}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},haircut_woman:{keywords:["female","girl","woman"],char:'\u{1f487}',fitzpatrick_scale:!0,category:"people"},haircut_man:{keywords:["male","boy","man"],char:'\u{1f487}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},massage_woman:{keywords:["female","girl","woman","head"],char:'\u{1f486}',fitzpatrick_scale:!0,category:"people"},massage_man:{keywords:["male","boy","man","head"],char:'\u{1f486}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},woman_in_steamy_room:{keywords:["female","woman","spa","steamroom","sauna"],char:'\u{1f9d6}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"people"},man_in_steamy_room:{keywords:["male","man","spa","steamroom","sauna"],char:'\u{1f9d6}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"people"},couple_with_heart_woman_man:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:'\u{1f491}',fitzpatrick_scale:!1,category:"people"},couple_with_heart_woman_woman:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:'\u{1f469}\u200d\u2764\ufe0f\u200d\u{1f469}',fitzpatrick_scale:!1,category:"people"},couple_with_heart_man_man:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:'\u{1f468}\u200d\u2764\ufe0f\u200d\u{1f468}',fitzpatrick_scale:!1,category:"people"},couplekiss_man_woman:{keywords:["pair","valentines","love","like","dating","marriage"],char:'\u{1f48f}',fitzpatrick_scale:!1,category:"people"},couplekiss_woman_woman:{keywords:["pair","valentines","love","like","dating","marriage"],char:'\u{1f469}\u200d\u2764\ufe0f\u200d\u{1f48b}\u200d\u{1f469}',fitzpatrick_scale:!1,category:"people"},couplekiss_man_man:{keywords:["pair","valentines","love","like","dating","marriage"],char:'\u{1f468}\u200d\u2764\ufe0f\u200d\u{1f48b}\u200d\u{1f468}',fitzpatrick_scale:!1,category:"people"},family_man_woman_boy:{keywords:["home","parents","child","mom","dad","father","mother","people","human"],char:'\u{1f46a}',fitzpatrick_scale:!1,category:"people"},family_man_woman_girl:{keywords:["home","parents","people","human","child"],char:'\u{1f468}\u200d\u{1f469}\u200d\u{1f467}',fitzpatrick_scale:!1,category:"people"},family_man_woman_girl_boy:{keywords:["home","parents","people","human","children"],char:'\u{1f468}\u200d\u{1f469}\u200d\u{1f467}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_man_woman_boy_boy:{keywords:["home","parents","people","human","children"],char:'\u{1f468}\u200d\u{1f469}\u200d\u{1f466}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_man_woman_girl_girl:{keywords:["home","parents","people","human","children"],char:'\u{1f468}\u200d\u{1f469}\u200d\u{1f467}\u200d\u{1f467}',fitzpatrick_scale:!1,category:"people"},family_woman_woman_boy:{keywords:["home","parents","people","human","children"],char:'\u{1f469}\u200d\u{1f469}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_woman_woman_girl:{keywords:["home","parents","people","human","children"],char:'\u{1f469}\u200d\u{1f469}\u200d\u{1f467}',fitzpatrick_scale:!1,category:"people"},family_woman_woman_girl_boy:{keywords:["home","parents","people","human","children"],char:'\u{1f469}\u200d\u{1f469}\u200d\u{1f467}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_woman_woman_boy_boy:{keywords:["home","parents","people","human","children"],char:'\u{1f469}\u200d\u{1f469}\u200d\u{1f466}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_woman_woman_girl_girl:{keywords:["home","parents","people","human","children"],char:'\u{1f469}\u200d\u{1f469}\u200d\u{1f467}\u200d\u{1f467}',fitzpatrick_scale:!1,category:"people"},family_man_man_boy:{keywords:["home","parents","people","human","children"],char:'\u{1f468}\u200d\u{1f468}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_man_man_girl:{keywords:["home","parents","people","human","children"],char:'\u{1f468}\u200d\u{1f468}\u200d\u{1f467}',fitzpatrick_scale:!1,category:"people"},family_man_man_girl_boy:{keywords:["home","parents","people","human","children"],char:'\u{1f468}\u200d\u{1f468}\u200d\u{1f467}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_man_man_boy_boy:{keywords:["home","parents","people","human","children"],char:'\u{1f468}\u200d\u{1f468}\u200d\u{1f466}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_man_man_girl_girl:{keywords:["home","parents","people","human","children"],char:'\u{1f468}\u200d\u{1f468}\u200d\u{1f467}\u200d\u{1f467}',fitzpatrick_scale:!1,category:"people"},family_woman_boy:{keywords:["home","parent","people","human","child"],char:'\u{1f469}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_woman_girl:{keywords:["home","parent","people","human","child"],char:'\u{1f469}\u200d\u{1f467}',fitzpatrick_scale:!1,category:"people"},family_woman_girl_boy:{keywords:["home","parent","people","human","children"],char:'\u{1f469}\u200d\u{1f467}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_woman_boy_boy:{keywords:["home","parent","people","human","children"],char:'\u{1f469}\u200d\u{1f466}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_woman_girl_girl:{keywords:["home","parent","people","human","children"],char:'\u{1f469}\u200d\u{1f467}\u200d\u{1f467}',fitzpatrick_scale:!1,category:"people"},family_man_boy:{keywords:["home","parent","people","human","child"],char:'\u{1f468}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_man_girl:{keywords:["home","parent","people","human","child"],char:'\u{1f468}\u200d\u{1f467}',fitzpatrick_scale:!1,category:"people"},family_man_girl_boy:{keywords:["home","parent","people","human","children"],char:'\u{1f468}\u200d\u{1f467}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_man_boy_boy:{keywords:["home","parent","people","human","children"],char:'\u{1f468}\u200d\u{1f466}\u200d\u{1f466}',fitzpatrick_scale:!1,category:"people"},family_man_girl_girl:{keywords:["home","parent","people","human","children"],char:'\u{1f468}\u200d\u{1f467}\u200d\u{1f467}',fitzpatrick_scale:!1,category:"people"},yarn:{keywords:["ball","crochet","knit"],char:'\u{1f9f6}',fitzpatrick_scale:!1,category:"people"},thread:{keywords:["needle","sewing","spool","string"],char:'\u{1f9f5}',fitzpatrick_scale:!1,category:"people"},coat:{keywords:["jacket"],char:'\u{1f9e5}',fitzpatrick_scale:!1,category:"people"},labcoat:{keywords:["doctor","experiment","scientist","chemist"],char:'\u{1f97c}',fitzpatrick_scale:!1,category:"people"},womans_clothes:{keywords:["fashion","shopping_bags","female"],char:'\u{1f45a}',fitzpatrick_scale:!1,category:"people"},tshirt:{keywords:["fashion","cloth","casual","shirt","tee"],char:'\u{1f455}',fitzpatrick_scale:!1,category:"people"},jeans:{keywords:["fashion","shopping"],char:'\u{1f456}',fitzpatrick_scale:!1,category:"people"},necktie:{keywords:["shirt","suitup","formal","fashion","cloth","business"],char:'\u{1f454}',fitzpatrick_scale:!1,category:"people"},dress:{keywords:["clothes","fashion","shopping"],char:'\u{1f457}',fitzpatrick_scale:!1,category:"people"},bikini:{keywords:["swimming","female","woman","girl","fashion","beach","summer"],char:'\u{1f459}',fitzpatrick_scale:!1,category:"people"},kimono:{keywords:["dress","fashion","women","female","japanese"],char:'\u{1f458}',fitzpatrick_scale:!1,category:"people"},lipstick:{keywords:["female","girl","fashion","woman"],char:'\u{1f484}',fitzpatrick_scale:!1,category:"people"},kiss:{keywords:["face","lips","love","like","affection","valentines"],char:'\u{1f48b}',fitzpatrick_scale:!1,category:"people"},footprints:{keywords:["feet","tracking","walking","beach"],char:'\u{1f463}',fitzpatrick_scale:!1,category:"people"},flat_shoe:{keywords:["ballet","slip-on","slipper"],char:'\u{1f97f}',fitzpatrick_scale:!1,category:"people"},high_heel:{keywords:["fashion","shoes","female","pumps","stiletto"],char:'\u{1f460}',fitzpatrick_scale:!1,category:"people"},sandal:{keywords:["shoes","fashion","flip flops"],char:'\u{1f461}',fitzpatrick_scale:!1,category:"people"},boot:{keywords:["shoes","fashion"],char:'\u{1f462}',fitzpatrick_scale:!1,category:"people"},mans_shoe:{keywords:["fashion","male"],char:'\u{1f45e}',fitzpatrick_scale:!1,category:"people"},athletic_shoe:{keywords:["shoes","sports","sneakers"],char:'\u{1f45f}',fitzpatrick_scale:!1,category:"people"},hiking_boot:{keywords:["backpacking","camping","hiking"],char:'\u{1f97e}',fitzpatrick_scale:!1,category:"people"},socks:{keywords:["stockings","clothes"],char:'\u{1f9e6}',fitzpatrick_scale:!1,category:"people"},gloves:{keywords:["hands","winter","clothes"],char:'\u{1f9e4}',fitzpatrick_scale:!1,category:"people"},scarf:{keywords:["neck","winter","clothes"],char:'\u{1f9e3}',fitzpatrick_scale:!1,category:"people"},womans_hat:{keywords:["fashion","accessories","female","lady","spring"],char:'\u{1f452}',fitzpatrick_scale:!1,category:"people"},tophat:{keywords:["magic","gentleman","classy","circus"],char:'\u{1f3a9}',fitzpatrick_scale:!1,category:"people"},billed_hat:{keywords:["cap","baseball"],char:'\u{1f9e2}',fitzpatrick_scale:!1,category:"people"},rescue_worker_helmet:{keywords:["construction","build"],char:'\u26d1',fitzpatrick_scale:!1,category:"people"},mortar_board:{keywords:["school","college","degree","university","graduation","cap","hat","legal","learn","education"],char:'\u{1f393}',fitzpatrick_scale:!1,category:"people"},crown:{keywords:["king","kod","leader","royalty","lord"],char:'\u{1f451}',fitzpatrick_scale:!1,category:"people"},school_satchel:{keywords:["student","education","bag","backpack"],char:'\u{1f392}',fitzpatrick_scale:!1,category:"people"},luggage:{keywords:["packing","travel"],char:'\u{1f9f3}',fitzpatrick_scale:!1,category:"people"},pouch:{keywords:["bag","accessories","shopping"],char:'\u{1f45d}',fitzpatrick_scale:!1,category:"people"},purse:{keywords:["fashion","accessories","money","sales","shopping"],char:'\u{1f45b}',fitzpatrick_scale:!1,category:"people"},handbag:{keywords:["fashion","accessory","accessories","shopping"],char:'\u{1f45c}',fitzpatrick_scale:!1,category:"people"},briefcase:{keywords:["business","documents","work","law","legal","job","career"],char:'\u{1f4bc}',fitzpatrick_scale:!1,category:"people"},eyeglasses:{keywords:["fashion","accessories","eyesight","nerdy","dork","geek"],char:'\u{1f453}',fitzpatrick_scale:!1,category:"people"},dark_sunglasses:{keywords:["face","cool","accessories"],char:'\u{1f576}',fitzpatrick_scale:!1,category:"people"},goggles:{keywords:["eyes","protection","safety"],char:'\u{1f97d}',fitzpatrick_scale:!1,category:"people"},ring:{keywords:["wedding","propose","marriage","valentines","diamond","fashion","jewelry","gem","engagement"],char:'\u{1f48d}',fitzpatrick_scale:!1,category:"people"},closed_umbrella:{keywords:["weather","rain","drizzle"],char:'\u{1f302}',fitzpatrick_scale:!1,category:"people"},dog:{keywords:["animal","friend","nature","woof","puppy","pet","faithful"],char:'\u{1f436}',fitzpatrick_scale:!1,category:"animals_and_nature"},cat:{keywords:["animal","meow","nature","pet","kitten"],char:'\u{1f431}',fitzpatrick_scale:!1,category:"animals_and_nature"},mouse:{keywords:["animal","nature","cheese_wedge","rodent"],char:'\u{1f42d}',fitzpatrick_scale:!1,category:"animals_and_nature"},hamster:{keywords:["animal","nature"],char:'\u{1f439}',fitzpatrick_scale:!1,category:"animals_and_nature"},rabbit:{keywords:["animal","nature","pet","spring","magic","bunny"],char:'\u{1f430}',fitzpatrick_scale:!1,category:"animals_and_nature"},fox_face:{keywords:["animal","nature","face"],char:'\u{1f98a}',fitzpatrick_scale:!1,category:"animals_and_nature"},bear:{keywords:["animal","nature","wild"],char:'\u{1f43b}',fitzpatrick_scale:!1,category:"animals_and_nature"},panda_face:{keywords:["animal","nature","panda"],char:'\u{1f43c}',fitzpatrick_scale:!1,category:"animals_and_nature"},koala:{keywords:["animal","nature"],char:'\u{1f428}',fitzpatrick_scale:!1,category:"animals_and_nature"},tiger:{keywords:["animal","cat","danger","wild","nature","roar"],char:'\u{1f42f}',fitzpatrick_scale:!1,category:"animals_and_nature"},lion:{keywords:["animal","nature"],char:'\u{1f981}',fitzpatrick_scale:!1,category:"animals_and_nature"},cow:{keywords:["beef","ox","animal","nature","moo","milk"],char:'\u{1f42e}',fitzpatrick_scale:!1,category:"animals_and_nature"},pig:{keywords:["animal","oink","nature"],char:'\u{1f437}',fitzpatrick_scale:!1,category:"animals_and_nature"},pig_nose:{keywords:["animal","oink"],char:'\u{1f43d}',fitzpatrick_scale:!1,category:"animals_and_nature"},frog:{keywords:["animal","nature","croak","toad"],char:'\u{1f438}',fitzpatrick_scale:!1,category:"animals_and_nature"},squid:{keywords:["animal","nature","ocean","sea"],char:'\u{1f991}',fitzpatrick_scale:!1,category:"animals_and_nature"},octopus:{keywords:["animal","creature","ocean","sea","nature","beach"],char:'\u{1f419}',fitzpatrick_scale:!1,category:"animals_and_nature"},shrimp:{keywords:["animal","ocean","nature","seafood"],char:'\u{1f990}',fitzpatrick_scale:!1,category:"animals_and_nature"},monkey_face:{keywords:["animal","nature","circus"],char:'\u{1f435}',fitzpatrick_scale:!1,category:"animals_and_nature"},gorilla:{keywords:["animal","nature","circus"],char:'\u{1f98d}',fitzpatrick_scale:!1,category:"animals_and_nature"},see_no_evil:{keywords:["monkey","animal","nature","haha"],char:'\u{1f648}',fitzpatrick_scale:!1,category:"animals_and_nature"},hear_no_evil:{keywords:["animal","monkey","nature"],char:'\u{1f649}',fitzpatrick_scale:!1,category:"animals_and_nature"},speak_no_evil:{keywords:["monkey","animal","nature","omg"],char:'\u{1f64a}',fitzpatrick_scale:!1,category:"animals_and_nature"},monkey:{keywords:["animal","nature","banana","circus"],char:'\u{1f412}',fitzpatrick_scale:!1,category:"animals_and_nature"},chicken:{keywords:["animal","cluck","nature","bird"],char:'\u{1f414}',fitzpatrick_scale:!1,category:"animals_and_nature"},penguin:{keywords:["animal","nature"],char:'\u{1f427}',fitzpatrick_scale:!1,category:"animals_and_nature"},bird:{keywords:["animal","nature","fly","tweet","spring"],char:'\u{1f426}',fitzpatrick_scale:!1,category:"animals_and_nature"},baby_chick:{keywords:["animal","chicken","bird"],char:'\u{1f424}',fitzpatrick_scale:!1,category:"animals_and_nature"},hatching_chick:{keywords:["animal","chicken","egg","born","baby","bird"],char:'\u{1f423}',fitzpatrick_scale:!1,category:"animals_and_nature"},hatched_chick:{keywords:["animal","chicken","baby","bird"],char:'\u{1f425}',fitzpatrick_scale:!1,category:"animals_and_nature"},duck:{keywords:["animal","nature","bird","mallard"],char:'\u{1f986}',fitzpatrick_scale:!1,category:"animals_and_nature"},eagle:{keywords:["animal","nature","bird"],char:'\u{1f985}',fitzpatrick_scale:!1,category:"animals_and_nature"},owl:{keywords:["animal","nature","bird","hoot"],char:'\u{1f989}',fitzpatrick_scale:!1,category:"animals_and_nature"},bat:{keywords:["animal","nature","blind","vampire"],char:'\u{1f987}',fitzpatrick_scale:!1,category:"animals_and_nature"},wolf:{keywords:["animal","nature","wild"],char:'\u{1f43a}',fitzpatrick_scale:!1,category:"animals_and_nature"},boar:{keywords:["animal","nature"],char:'\u{1f417}',fitzpatrick_scale:!1,category:"animals_and_nature"},horse:{keywords:["animal","brown","nature"],char:'\u{1f434}',fitzpatrick_scale:!1,category:"animals_and_nature"},unicorn:{keywords:["animal","nature","mystical"],char:'\u{1f984}',fitzpatrick_scale:!1,category:"animals_and_nature"},honeybee:{keywords:["animal","insect","nature","bug","spring","honey"],char:'\u{1f41d}',fitzpatrick_scale:!1,category:"animals_and_nature"},bug:{keywords:["animal","insect","nature","worm"],char:'\u{1f41b}',fitzpatrick_scale:!1,category:"animals_and_nature"},butterfly:{keywords:["animal","insect","nature","caterpillar"],char:'\u{1f98b}',fitzpatrick_scale:!1,category:"animals_and_nature"},snail:{keywords:["slow","animal","shell"],char:'\u{1f40c}',fitzpatrick_scale:!1,category:"animals_and_nature"},beetle:{keywords:["animal","insect","nature","ladybug"],char:'\u{1f41e}',fitzpatrick_scale:!1,category:"animals_and_nature"},ant:{keywords:["animal","insect","nature","bug"],char:'\u{1f41c}',fitzpatrick_scale:!1,category:"animals_and_nature"},grasshopper:{keywords:["animal","cricket","chirp"],char:'\u{1f997}',fitzpatrick_scale:!1,category:"animals_and_nature"},spider:{keywords:["animal","arachnid"],char:'\u{1f577}',fitzpatrick_scale:!1,category:"animals_and_nature"},scorpion:{keywords:["animal","arachnid"],char:'\u{1f982}',fitzpatrick_scale:!1,category:"animals_and_nature"},crab:{keywords:["animal","crustacean"],char:'\u{1f980}',fitzpatrick_scale:!1,category:"animals_and_nature"},snake:{keywords:["animal","evil","nature","hiss","python"],char:'\u{1f40d}',fitzpatrick_scale:!1,category:"animals_and_nature"},lizard:{keywords:["animal","nature","reptile"],char:'\u{1f98e}',fitzpatrick_scale:!1,category:"animals_and_nature"},"t-rex":{keywords:["animal","nature","dinosaur","tyrannosaurus","extinct"],char:'\u{1f996}',fitzpatrick_scale:!1,category:"animals_and_nature"},sauropod:{keywords:["animal","nature","dinosaur","brachiosaurus","brontosaurus","diplodocus","extinct"],char:'\u{1f995}',fitzpatrick_scale:!1,category:"animals_and_nature"},turtle:{keywords:["animal","slow","nature","tortoise"],char:'\u{1f422}',fitzpatrick_scale:!1,category:"animals_and_nature"},tropical_fish:{keywords:["animal","swim","ocean","beach","nemo"],char:'\u{1f420}',fitzpatrick_scale:!1,category:"animals_and_nature"},fish:{keywords:["animal","food","nature"],char:'\u{1f41f}',fitzpatrick_scale:!1,category:"animals_and_nature"},blowfish:{keywords:["animal","nature","food","sea","ocean"],char:'\u{1f421}',fitzpatrick_scale:!1,category:"animals_and_nature"},dolphin:{keywords:["animal","nature","fish","sea","ocean","flipper","fins","beach"],char:'\u{1f42c}',fitzpatrick_scale:!1,category:"animals_and_nature"},shark:{keywords:["animal","nature","fish","sea","ocean","jaws","fins","beach"],char:'\u{1f988}',fitzpatrick_scale:!1,category:"animals_and_nature"},whale:{keywords:["animal","nature","sea","ocean"],char:'\u{1f433}',fitzpatrick_scale:!1,category:"animals_and_nature"},whale2:{keywords:["animal","nature","sea","ocean"],char:'\u{1f40b}',fitzpatrick_scale:!1,category:"animals_and_nature"},crocodile:{keywords:["animal","nature","reptile","lizard","alligator"],char:'\u{1f40a}',fitzpatrick_scale:!1,category:"animals_and_nature"},leopard:{keywords:["animal","nature"],char:'\u{1f406}',fitzpatrick_scale:!1,category:"animals_and_nature"},zebra:{keywords:["animal","nature","stripes","safari"],char:'\u{1f993}',fitzpatrick_scale:!1,category:"animals_and_nature"},tiger2:{keywords:["animal","nature","roar"],char:'\u{1f405}',fitzpatrick_scale:!1,category:"animals_and_nature"},water_buffalo:{keywords:["animal","nature","ox","cow"],char:'\u{1f403}',fitzpatrick_scale:!1,category:"animals_and_nature"},ox:{keywords:["animal","cow","beef"],char:'\u{1f402}',fitzpatrick_scale:!1,category:"animals_and_nature"},cow2:{keywords:["beef","ox","animal","nature","moo","milk"],char:'\u{1f404}',fitzpatrick_scale:!1,category:"animals_and_nature"},deer:{keywords:["animal","nature","horns","venison"],char:'\u{1f98c}',fitzpatrick_scale:!1,category:"animals_and_nature"},dromedary_camel:{keywords:["animal","hot","desert","hump"],char:'\u{1f42a}',fitzpatrick_scale:!1,category:"animals_and_nature"},camel:{keywords:["animal","nature","hot","desert","hump"],char:'\u{1f42b}',fitzpatrick_scale:!1,category:"animals_and_nature"},giraffe:{keywords:["animal","nature","spots","safari"],char:'\u{1f992}',fitzpatrick_scale:!1,category:"animals_and_nature"},elephant:{keywords:["animal","nature","nose","th","circus"],char:'\u{1f418}',fitzpatrick_scale:!1,category:"animals_and_nature"},rhinoceros:{keywords:["animal","nature","horn"],char:'\u{1f98f}',fitzpatrick_scale:!1,category:"animals_and_nature"},goat:{keywords:["animal","nature"],char:'\u{1f410}',fitzpatrick_scale:!1,category:"animals_and_nature"},ram:{keywords:["animal","sheep","nature"],char:'\u{1f40f}',fitzpatrick_scale:!1,category:"animals_and_nature"},sheep:{keywords:["animal","nature","wool","shipit"],char:'\u{1f411}',fitzpatrick_scale:!1,category:"animals_and_nature"},racehorse:{keywords:["animal","gamble","luck"],char:'\u{1f40e}',fitzpatrick_scale:!1,category:"animals_and_nature"},pig2:{keywords:["animal","nature"],char:'\u{1f416}',fitzpatrick_scale:!1,category:"animals_and_nature"},rat:{keywords:["animal","mouse","rodent"],char:'\u{1f400}',fitzpatrick_scale:!1,category:"animals_and_nature"},mouse2:{keywords:["animal","nature","rodent"],char:'\u{1f401}',fitzpatrick_scale:!1,category:"animals_and_nature"},rooster:{keywords:["animal","nature","chicken"],char:'\u{1f413}',fitzpatrick_scale:!1,category:"animals_and_nature"},turkey:{keywords:["animal","bird"],char:'\u{1f983}',fitzpatrick_scale:!1,category:"animals_and_nature"},dove:{keywords:["animal","bird"],char:'\u{1f54a}',fitzpatrick_scale:!1,category:"animals_and_nature"},dog2:{keywords:["animal","nature","friend","doge","pet","faithful"],char:'\u{1f415}',fitzpatrick_scale:!1,category:"animals_and_nature"},poodle:{keywords:["dog","animal","101","nature","pet"],char:'\u{1f429}',fitzpatrick_scale:!1,category:"animals_and_nature"},cat2:{keywords:["animal","meow","pet","cats"],char:'\u{1f408}',fitzpatrick_scale:!1,category:"animals_and_nature"},rabbit2:{keywords:["animal","nature","pet","magic","spring"],char:'\u{1f407}',fitzpatrick_scale:!1,category:"animals_and_nature"},chipmunk:{keywords:["animal","nature","rodent","squirrel"],char:'\u{1f43f}',fitzpatrick_scale:!1,category:"animals_and_nature"},hedgehog:{keywords:["animal","nature","spiny"],char:'\u{1f994}',fitzpatrick_scale:!1,category:"animals_and_nature"},raccoon:{keywords:["animal","nature"],char:'\u{1f99d}',fitzpatrick_scale:!1,category:"animals_and_nature"},llama:{keywords:["animal","nature","alpaca"],char:'\u{1f999}',fitzpatrick_scale:!1,category:"animals_and_nature"},hippopotamus:{keywords:["animal","nature"],char:'\u{1f99b}',fitzpatrick_scale:!1,category:"animals_and_nature"},kangaroo:{keywords:["animal","nature","australia","joey","hop","marsupial"],char:'\u{1f998}',fitzpatrick_scale:!1,category:"animals_and_nature"},badger:{keywords:["animal","nature","honey"],char:'\u{1f9a1}',fitzpatrick_scale:!1,category:"animals_and_nature"},swan:{keywords:["animal","nature","bird"],char:'\u{1f9a2}',fitzpatrick_scale:!1,category:"animals_and_nature"},peacock:{keywords:["animal","nature","peahen","bird"],char:'\u{1f99a}',fitzpatrick_scale:!1,category:"animals_and_nature"},parrot:{keywords:["animal","nature","bird","pirate","talk"],char:'\u{1f99c}',fitzpatrick_scale:!1,category:"animals_and_nature"},lobster:{keywords:["animal","nature","bisque","claws","seafood"],char:'\u{1f99e}',fitzpatrick_scale:!1,category:"animals_and_nature"},mosquito:{keywords:["animal","nature","insect","malaria"],char:'\u{1f99f}',fitzpatrick_scale:!1,category:"animals_and_nature"},paw_prints:{keywords:["animal","tracking","footprints","dog","cat","pet","feet"],char:'\u{1f43e}',fitzpatrick_scale:!1,category:"animals_and_nature"},dragon:{keywords:["animal","myth","nature","chinese","green"],char:'\u{1f409}',fitzpatrick_scale:!1,category:"animals_and_nature"},dragon_face:{keywords:["animal","myth","nature","chinese","green"],char:'\u{1f432}',fitzpatrick_scale:!1,category:"animals_and_nature"},cactus:{keywords:["vegetable","plant","nature"],char:'\u{1f335}',fitzpatrick_scale:!1,category:"animals_and_nature"},christmas_tree:{keywords:["festival","vacation","december","xmas","celebration"],char:'\u{1f384}',fitzpatrick_scale:!1,category:"animals_and_nature"},evergreen_tree:{keywords:["plant","nature"],char:'\u{1f332}',fitzpatrick_scale:!1,category:"animals_and_nature"},deciduous_tree:{keywords:["plant","nature"],char:'\u{1f333}',fitzpatrick_scale:!1,category:"animals_and_nature"},palm_tree:{keywords:["plant","vegetable","nature","summer","beach","mojito","tropical"],char:'\u{1f334}',fitzpatrick_scale:!1,category:"animals_and_nature"},seedling:{keywords:["plant","nature","grass","lawn","spring"],char:'\u{1f331}',fitzpatrick_scale:!1,category:"animals_and_nature"},herb:{keywords:["vegetable","plant","medicine","weed","grass","lawn"],char:'\u{1f33f}',fitzpatrick_scale:!1,category:"animals_and_nature"},shamrock:{keywords:["vegetable","plant","nature","irish","clover"],char:'\u2618',fitzpatrick_scale:!1,category:"animals_and_nature"},four_leaf_clover:{keywords:["vegetable","plant","nature","lucky","irish"],char:'\u{1f340}',fitzpatrick_scale:!1,category:"animals_and_nature"},bamboo:{keywords:["plant","nature","vegetable","panda","pine_decoration"],char:'\u{1f38d}',fitzpatrick_scale:!1,category:"animals_and_nature"},tanabata_tree:{keywords:["plant","nature","branch","summer"],char:'\u{1f38b}',fitzpatrick_scale:!1,category:"animals_and_nature"},leaves:{keywords:["nature","plant","tree","vegetable","grass","lawn","spring"],char:'\u{1f343}',fitzpatrick_scale:!1,category:"animals_and_nature"},fallen_leaf:{keywords:["nature","plant","vegetable","leaves"],char:'\u{1f342}',fitzpatrick_scale:!1,category:"animals_and_nature"},maple_leaf:{keywords:["nature","plant","vegetable","ca","fall"],char:'\u{1f341}',fitzpatrick_scale:!1,category:"animals_and_nature"},ear_of_rice:{keywords:["nature","plant"],char:'\u{1f33e}',fitzpatrick_scale:!1,category:"animals_and_nature"},hibiscus:{keywords:["plant","vegetable","flowers","beach"],char:'\u{1f33a}',fitzpatrick_scale:!1,category:"animals_and_nature"},sunflower:{keywords:["nature","plant","fall"],char:'\u{1f33b}',fitzpatrick_scale:!1,category:"animals_and_nature"},rose:{keywords:["flowers","valentines","love","spring"],char:'\u{1f339}',fitzpatrick_scale:!1,category:"animals_and_nature"},wilted_flower:{keywords:["plant","nature","flower"],char:'\u{1f940}',fitzpatrick_scale:!1,category:"animals_and_nature"},tulip:{keywords:["flowers","plant","nature","summer","spring"],char:'\u{1f337}',fitzpatrick_scale:!1,category:"animals_and_nature"},blossom:{keywords:["nature","flowers","yellow"],char:'\u{1f33c}',fitzpatrick_scale:!1,category:"animals_and_nature"},cherry_blossom:{keywords:["nature","plant","spring","flower"],char:'\u{1f338}',fitzpatrick_scale:!1,category:"animals_and_nature"},bouquet:{keywords:["flowers","nature","spring"],char:'\u{1f490}',fitzpatrick_scale:!1,category:"animals_and_nature"},mushroom:{keywords:["plant","vegetable"],char:'\u{1f344}',fitzpatrick_scale:!1,category:"animals_and_nature"},chestnut:{keywords:["food","squirrel"],char:'\u{1f330}',fitzpatrick_scale:!1,category:"animals_and_nature"},jack_o_lantern:{keywords:["halloween","light","pumpkin","creepy","fall"],char:'\u{1f383}',fitzpatrick_scale:!1,category:"animals_and_nature"},shell:{keywords:["nature","sea","beach"],char:'\u{1f41a}',fitzpatrick_scale:!1,category:"animals_and_nature"},spider_web:{keywords:["animal","insect","arachnid","silk"],char:'\u{1f578}',fitzpatrick_scale:!1,category:"animals_and_nature"},earth_americas:{keywords:["globe","world","USA","international"],char:'\u{1f30e}',fitzpatrick_scale:!1,category:"animals_and_nature"},earth_africa:{keywords:["globe","world","international"],char:'\u{1f30d}',fitzpatrick_scale:!1,category:"animals_and_nature"},earth_asia:{keywords:["globe","world","east","international"],char:'\u{1f30f}',fitzpatrick_scale:!1,category:"animals_and_nature"},full_moon:{keywords:["nature","yellow","twilight","planet","space","night","evening","sleep"],char:'\u{1f315}',fitzpatrick_scale:!1,category:"animals_and_nature"},waning_gibbous_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep","waxing_gibbous_moon"],char:'\u{1f316}',fitzpatrick_scale:!1,category:"animals_and_nature"},last_quarter_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'\u{1f317}',fitzpatrick_scale:!1,category:"animals_and_nature"},waning_crescent_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'\u{1f318}',fitzpatrick_scale:!1,category:"animals_and_nature"},new_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'\u{1f311}',fitzpatrick_scale:!1,category:"animals_and_nature"},waxing_crescent_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'\u{1f312}',fitzpatrick_scale:!1,category:"animals_and_nature"},first_quarter_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'\u{1f313}',fitzpatrick_scale:!1,category:"animals_and_nature"},waxing_gibbous_moon:{keywords:["nature","night","sky","gray","twilight","planet","space","evening","sleep"],char:'\u{1f314}',fitzpatrick_scale:!1,category:"animals_and_nature"},new_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'\u{1f31a}',fitzpatrick_scale:!1,category:"animals_and_nature"},full_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'\u{1f31d}',fitzpatrick_scale:!1,category:"animals_and_nature"},first_quarter_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'\u{1f31b}',fitzpatrick_scale:!1,category:"animals_and_nature"},last_quarter_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:'\u{1f31c}',fitzpatrick_scale:!1,category:"animals_and_nature"},sun_with_face:{keywords:["nature","morning","sky"],char:'\u{1f31e}',fitzpatrick_scale:!1,category:"animals_and_nature"},crescent_moon:{keywords:["night","sleep","sky","evening","magic"],char:'\u{1f319}',fitzpatrick_scale:!1,category:"animals_and_nature"},star:{keywords:["night","yellow"],char:'\u2b50',fitzpatrick_scale:!1,category:"animals_and_nature"},star2:{keywords:["night","sparkle","awesome","good","magic"],char:'\u{1f31f}',fitzpatrick_scale:!1,category:"animals_and_nature"},dizzy:{keywords:["star","sparkle","shoot","magic"],char:'\u{1f4ab}',fitzpatrick_scale:!1,category:"animals_and_nature"},sparkles:{keywords:["stars","shine","shiny","cool","awesome","good","magic"],char:'\u2728',fitzpatrick_scale:!1,category:"animals_and_nature"},comet:{keywords:["space"],char:'\u2604',fitzpatrick_scale:!1,category:"animals_and_nature"},sunny:{keywords:["weather","nature","brightness","summer","beach","spring"],char:'\u2600\ufe0f',fitzpatrick_scale:!1,category:"animals_and_nature"},sun_behind_small_cloud:{keywords:["weather"],char:'\u{1f324}',fitzpatrick_scale:!1,category:"animals_and_nature"},partly_sunny:{keywords:["weather","nature","cloudy","morning","fall","spring"],char:'\u26c5',fitzpatrick_scale:!1,category:"animals_and_nature"},sun_behind_large_cloud:{keywords:["weather"],char:'\u{1f325}',fitzpatrick_scale:!1,category:"animals_and_nature"},sun_behind_rain_cloud:{keywords:["weather"],char:'\u{1f326}',fitzpatrick_scale:!1,category:"animals_and_nature"},cloud:{keywords:["weather","sky"],char:'\u2601\ufe0f',fitzpatrick_scale:!1,category:"animals_and_nature"},cloud_with_rain:{keywords:["weather"],char:'\u{1f327}',fitzpatrick_scale:!1,category:"animals_and_nature"},cloud_with_lightning_and_rain:{keywords:["weather","lightning"],char:'\u26c8',fitzpatrick_scale:!1,category:"animals_and_nature"},cloud_with_lightning:{keywords:["weather","thunder"],char:'\u{1f329}',fitzpatrick_scale:!1,category:"animals_and_nature"},zap:{keywords:["thunder","weather","lightning bolt","fast"],char:'\u26a1',fitzpatrick_scale:!1,category:"animals_and_nature"},fire:{keywords:["hot","cook","flame"],char:'\u{1f525}',fitzpatrick_scale:!1,category:"animals_and_nature"},boom:{keywords:["bomb","explode","explosion","collision","blown"],char:'\u{1f4a5}',fitzpatrick_scale:!1,category:"animals_and_nature"},snowflake:{keywords:["winter","season","cold","weather","christmas","xmas"],char:'\u2744\ufe0f',fitzpatrick_scale:!1,category:"animals_and_nature"},cloud_with_snow:{keywords:["weather"],char:'\u{1f328}',fitzpatrick_scale:!1,category:"animals_and_nature"},snowman:{keywords:["winter","season","cold","weather","christmas","xmas","frozen","without_snow"],char:'\u26c4',fitzpatrick_scale:!1,category:"animals_and_nature"},snowman_with_snow:{keywords:["winter","season","cold","weather","christmas","xmas","frozen"],char:'\u2603',fitzpatrick_scale:!1,category:"animals_and_nature"},wind_face:{keywords:["gust","air"],char:'\u{1f32c}',fitzpatrick_scale:!1,category:"animals_and_nature"},dash:{keywords:["wind","air","fast","shoo","fart","smoke","puff"],char:'\u{1f4a8}',fitzpatrick_scale:!1,category:"animals_and_nature"},tornado:{keywords:["weather","cyclone","twister"],char:'\u{1f32a}',fitzpatrick_scale:!1,category:"animals_and_nature"},fog:{keywords:["weather"],char:'\u{1f32b}',fitzpatrick_scale:!1,category:"animals_and_nature"},open_umbrella:{keywords:["weather","spring"],char:'\u2602',fitzpatrick_scale:!1,category:"animals_and_nature"},umbrella:{keywords:["rainy","weather","spring"],char:'\u2614',fitzpatrick_scale:!1,category:"animals_and_nature"},droplet:{keywords:["water","drip","faucet","spring"],char:'\u{1f4a7}',fitzpatrick_scale:!1,category:"animals_and_nature"},sweat_drops:{keywords:["water","drip","oops"],char:'\u{1f4a6}',fitzpatrick_scale:!1,category:"animals_and_nature"},ocean:{keywords:["sea","water","wave","nature","tsunami","disaster"],char:'\u{1f30a}',fitzpatrick_scale:!1,category:"animals_and_nature"},green_apple:{keywords:["fruit","nature"],char:'\u{1f34f}',fitzpatrick_scale:!1,category:"food_and_drink"},apple:{keywords:["fruit","mac","school"],char:'\u{1f34e}',fitzpatrick_scale:!1,category:"food_and_drink"},pear:{keywords:["fruit","nature","food"],char:'\u{1f350}',fitzpatrick_scale:!1,category:"food_and_drink"},tangerine:{keywords:["food","fruit","nature","orange"],char:'\u{1f34a}',fitzpatrick_scale:!1,category:"food_and_drink"},lemon:{keywords:["fruit","nature"],char:'\u{1f34b}',fitzpatrick_scale:!1,category:"food_and_drink"},banana:{keywords:["fruit","food","monkey"],char:'\u{1f34c}',fitzpatrick_scale:!1,category:"food_and_drink"},watermelon:{keywords:["fruit","food","picnic","summer"],char:'\u{1f349}',fitzpatrick_scale:!1,category:"food_and_drink"},grapes:{keywords:["fruit","food","wine"],char:'\u{1f347}',fitzpatrick_scale:!1,category:"food_and_drink"},strawberry:{keywords:["fruit","food","nature"],char:'\u{1f353}',fitzpatrick_scale:!1,category:"food_and_drink"},melon:{keywords:["fruit","nature","food"],char:'\u{1f348}',fitzpatrick_scale:!1,category:"food_and_drink"},cherries:{keywords:["food","fruit"],char:'\u{1f352}',fitzpatrick_scale:!1,category:"food_and_drink"},peach:{keywords:["fruit","nature","food"],char:'\u{1f351}',fitzpatrick_scale:!1,category:"food_and_drink"},pineapple:{keywords:["fruit","nature","food"],char:'\u{1f34d}',fitzpatrick_scale:!1,category:"food_and_drink"},coconut:{keywords:["fruit","nature","food","palm"],char:'\u{1f965}',fitzpatrick_scale:!1,category:"food_and_drink"},kiwi_fruit:{keywords:["fruit","food"],char:'\u{1f95d}',fitzpatrick_scale:!1,category:"food_and_drink"},mango:{keywords:["fruit","food","tropical"],char:'\u{1f96d}',fitzpatrick_scale:!1,category:"food_and_drink"},avocado:{keywords:["fruit","food"],char:'\u{1f951}',fitzpatrick_scale:!1,category:"food_and_drink"},broccoli:{keywords:["fruit","food","vegetable"],char:'\u{1f966}',fitzpatrick_scale:!1,category:"food_and_drink"},tomato:{keywords:["fruit","vegetable","nature","food"],char:'\u{1f345}',fitzpatrick_scale:!1,category:"food_and_drink"},eggplant:{keywords:["vegetable","nature","food","aubergine"],char:'\u{1f346}',fitzpatrick_scale:!1,category:"food_and_drink"},cucumber:{keywords:["fruit","food","pickle"],char:'\u{1f952}',fitzpatrick_scale:!1,category:"food_and_drink"},carrot:{keywords:["vegetable","food","orange"],char:'\u{1f955}',fitzpatrick_scale:!1,category:"food_and_drink"},hot_pepper:{keywords:["food","spicy","chilli","chili"],char:'\u{1f336}',fitzpatrick_scale:!1,category:"food_and_drink"},potato:{keywords:["food","tuber","vegatable","starch"],char:'\u{1f954}',fitzpatrick_scale:!1,category:"food_and_drink"},corn:{keywords:["food","vegetable","plant"],char:'\u{1f33d}',fitzpatrick_scale:!1,category:"food_and_drink"},leafy_greens:{keywords:["food","vegetable","plant","bok choy","cabbage","kale","lettuce"],char:'\u{1f96c}',fitzpatrick_scale:!1,category:"food_and_drink"},sweet_potato:{keywords:["food","nature"],char:'\u{1f360}',fitzpatrick_scale:!1,category:"food_and_drink"},peanuts:{keywords:["food","nut"],char:'\u{1f95c}',fitzpatrick_scale:!1,category:"food_and_drink"},honey_pot:{keywords:["bees","sweet","kitchen"],char:'\u{1f36f}',fitzpatrick_scale:!1,category:"food_and_drink"},croissant:{keywords:["food","bread","french"],char:'\u{1f950}',fitzpatrick_scale:!1,category:"food_and_drink"},bread:{keywords:["food","wheat","breakfast","toast"],char:'\u{1f35e}',fitzpatrick_scale:!1,category:"food_and_drink"},baguette_bread:{keywords:["food","bread","french"],char:'\u{1f956}',fitzpatrick_scale:!1,category:"food_and_drink"},bagel:{keywords:["food","bread","bakery","schmear"],char:'\u{1f96f}',fitzpatrick_scale:!1,category:"food_and_drink"},pretzel:{keywords:["food","bread","twisted"],char:'\u{1f968}',fitzpatrick_scale:!1,category:"food_and_drink"},cheese:{keywords:["food","chadder"],char:'\u{1f9c0}',fitzpatrick_scale:!1,category:"food_and_drink"},egg:{keywords:["food","chicken","breakfast"],char:'\u{1f95a}',fitzpatrick_scale:!1,category:"food_and_drink"},bacon:{keywords:["food","breakfast","pork","pig","meat"],char:'\u{1f953}',fitzpatrick_scale:!1,category:"food_and_drink"},steak:{keywords:["food","cow","meat","cut","chop","lambchop","porkchop"],char:'\u{1f969}',fitzpatrick_scale:!1,category:"food_and_drink"},pancakes:{keywords:["food","breakfast","flapjacks","hotcakes"],char:'\u{1f95e}',fitzpatrick_scale:!1,category:"food_and_drink"},poultry_leg:{keywords:["food","meat","drumstick","bird","chicken","turkey"],char:'\u{1f357}',fitzpatrick_scale:!1,category:"food_and_drink"},meat_on_bone:{keywords:["good","food","drumstick"],char:'\u{1f356}',fitzpatrick_scale:!1,category:"food_and_drink"},bone:{keywords:["skeleton"],char:'\u{1f9b4}',fitzpatrick_scale:!1,category:"food_and_drink"},fried_shrimp:{keywords:["food","animal","appetizer","summer"],char:'\u{1f364}',fitzpatrick_scale:!1,category:"food_and_drink"},fried_egg:{keywords:["food","breakfast","kitchen","egg"],char:'\u{1f373}',fitzpatrick_scale:!1,category:"food_and_drink"},hamburger:{keywords:["meat","fast food","beef","cheeseburger","mcdonalds","burger king"],char:'\u{1f354}',fitzpatrick_scale:!1,category:"food_and_drink"},fries:{keywords:["chips","snack","fast food"],char:'\u{1f35f}',fitzpatrick_scale:!1,category:"food_and_drink"},stuffed_flatbread:{keywords:["food","flatbread","stuffed","gyro"],char:'\u{1f959}',fitzpatrick_scale:!1,category:"food_and_drink"},hotdog:{keywords:["food","frankfurter"],char:'\u{1f32d}',fitzpatrick_scale:!1,category:"food_and_drink"},pizza:{keywords:["food","party"],char:'\u{1f355}',fitzpatrick_scale:!1,category:"food_and_drink"},sandwich:{keywords:["food","lunch","bread"],char:'\u{1f96a}',fitzpatrick_scale:!1,category:"food_and_drink"},canned_food:{keywords:["food","soup"],char:'\u{1f96b}',fitzpatrick_scale:!1,category:"food_and_drink"},spaghetti:{keywords:["food","italian","noodle"],char:'\u{1f35d}',fitzpatrick_scale:!1,category:"food_and_drink"},taco:{keywords:["food","mexican"],char:'\u{1f32e}',fitzpatrick_scale:!1,category:"food_and_drink"},burrito:{keywords:["food","mexican"],char:'\u{1f32f}',fitzpatrick_scale:!1,category:"food_and_drink"},green_salad:{keywords:["food","healthy","lettuce"],char:'\u{1f957}',fitzpatrick_scale:!1,category:"food_and_drink"},shallow_pan_of_food:{keywords:["food","cooking","casserole","paella"],char:'\u{1f958}',fitzpatrick_scale:!1,category:"food_and_drink"},ramen:{keywords:["food","japanese","noodle","chopsticks"],char:'\u{1f35c}',fitzpatrick_scale:!1,category:"food_and_drink"},stew:{keywords:["food","meat","soup"],char:'\u{1f372}',fitzpatrick_scale:!1,category:"food_and_drink"},fish_cake:{keywords:["food","japan","sea","beach","narutomaki","pink","swirl","kamaboko","surimi","ramen"],char:'\u{1f365}',fitzpatrick_scale:!1,category:"food_and_drink"},fortune_cookie:{keywords:["food","prophecy"],char:'\u{1f960}',fitzpatrick_scale:!1,category:"food_and_drink"},sushi:{keywords:["food","fish","japanese","rice"],char:'\u{1f363}',fitzpatrick_scale:!1,category:"food_and_drink"},bento:{keywords:["food","japanese","box"],char:'\u{1f371}',fitzpatrick_scale:!1,category:"food_and_drink"},curry:{keywords:["food","spicy","hot","indian"],char:'\u{1f35b}',fitzpatrick_scale:!1,category:"food_and_drink"},rice_ball:{keywords:["food","japanese"],char:'\u{1f359}',fitzpatrick_scale:!1,category:"food_and_drink"},rice:{keywords:["food","china","asian"],char:'\u{1f35a}',fitzpatrick_scale:!1,category:"food_and_drink"},rice_cracker:{keywords:["food","japanese"],char:'\u{1f358}',fitzpatrick_scale:!1,category:"food_and_drink"},oden:{keywords:["food","japanese"],char:'\u{1f362}',fitzpatrick_scale:!1,category:"food_and_drink"},dango:{keywords:["food","dessert","sweet","japanese","barbecue","meat"],char:'\u{1f361}',fitzpatrick_scale:!1,category:"food_and_drink"},shaved_ice:{keywords:["hot","dessert","summer"],char:'\u{1f367}',fitzpatrick_scale:!1,category:"food_and_drink"},ice_cream:{keywords:["food","hot","dessert"],char:'\u{1f368}',fitzpatrick_scale:!1,category:"food_and_drink"},icecream:{keywords:["food","hot","dessert","summer"],char:'\u{1f366}',fitzpatrick_scale:!1,category:"food_and_drink"},pie:{keywords:["food","dessert","pastry"],char:'\u{1f967}',fitzpatrick_scale:!1,category:"food_and_drink"},cake:{keywords:["food","dessert"],char:'\u{1f370}',fitzpatrick_scale:!1,category:"food_and_drink"},cupcake:{keywords:["food","dessert","bakery","sweet"],char:'\u{1f9c1}',fitzpatrick_scale:!1,category:"food_and_drink"},moon_cake:{keywords:["food","autumn"],char:'\u{1f96e}',fitzpatrick_scale:!1,category:"food_and_drink"},birthday:{keywords:["food","dessert","cake"],char:'\u{1f382}',fitzpatrick_scale:!1,category:"food_and_drink"},custard:{keywords:["dessert","food"],char:'\u{1f36e}',fitzpatrick_scale:!1,category:"food_and_drink"},candy:{keywords:["snack","dessert","sweet","lolly"],char:'\u{1f36c}',fitzpatrick_scale:!1,category:"food_and_drink"},lollipop:{keywords:["food","snack","candy","sweet"],char:'\u{1f36d}',fitzpatrick_scale:!1,category:"food_and_drink"},chocolate_bar:{keywords:["food","snack","dessert","sweet"],char:'\u{1f36b}',fitzpatrick_scale:!1,category:"food_and_drink"},popcorn:{keywords:["food","movie theater","films","snack"],char:'\u{1f37f}',fitzpatrick_scale:!1,category:"food_and_drink"},dumpling:{keywords:["food","empanada","pierogi","potsticker"],char:'\u{1f95f}',fitzpatrick_scale:!1,category:"food_and_drink"},doughnut:{keywords:["food","dessert","snack","sweet","donut"],char:'\u{1f369}',fitzpatrick_scale:!1,category:"food_and_drink"},cookie:{keywords:["food","snack","oreo","chocolate","sweet","dessert"],char:'\u{1f36a}',fitzpatrick_scale:!1,category:"food_and_drink"},milk_glass:{keywords:["beverage","drink","cow"],char:'\u{1f95b}',fitzpatrick_scale:!1,category:"food_and_drink"},beer:{keywords:["relax","beverage","drink","drunk","party","pub","summer","alcohol","booze"],char:'\u{1f37a}',fitzpatrick_scale:!1,category:"food_and_drink"},beers:{keywords:["relax","beverage","drink","drunk","party","pub","summer","alcohol","booze"],char:'\u{1f37b}',fitzpatrick_scale:!1,category:"food_and_drink"},clinking_glasses:{keywords:["beverage","drink","party","alcohol","celebrate","cheers","wine","champagne","toast"],char:'\u{1f942}',fitzpatrick_scale:!1,category:"food_and_drink"},wine_glass:{keywords:["drink","beverage","drunk","alcohol","booze"],char:'\u{1f377}',fitzpatrick_scale:!1,category:"food_and_drink"},tumbler_glass:{keywords:["drink","beverage","drunk","alcohol","liquor","booze","bourbon","scotch","whisky","glass","shot"],char:'\u{1f943}',fitzpatrick_scale:!1,category:"food_and_drink"},cocktail:{keywords:["drink","drunk","alcohol","beverage","booze","mojito"],char:'\u{1f378}',fitzpatrick_scale:!1,category:"food_and_drink"},tropical_drink:{keywords:["beverage","cocktail","summer","beach","alcohol","booze","mojito"],char:'\u{1f379}',fitzpatrick_scale:!1,category:"food_and_drink"},champagne:{keywords:["drink","wine","bottle","celebration"],char:'\u{1f37e}',fitzpatrick_scale:!1,category:"food_and_drink"},sake:{keywords:["wine","drink","drunk","beverage","japanese","alcohol","booze"],char:'\u{1f376}',fitzpatrick_scale:!1,category:"food_and_drink"},tea:{keywords:["drink","bowl","breakfast","green","british"],char:'\u{1f375}',fitzpatrick_scale:!1,category:"food_and_drink"},cup_with_straw:{keywords:["drink","soda"],char:'\u{1f964}',fitzpatrick_scale:!1,category:"food_and_drink"},coffee:{keywords:["beverage","caffeine","latte","espresso"],char:'\u2615',fitzpatrick_scale:!1,category:"food_and_drink"},baby_bottle:{keywords:["food","container","milk"],char:'\u{1f37c}',fitzpatrick_scale:!1,category:"food_and_drink"},salt:{keywords:["condiment","shaker"],char:'\u{1f9c2}',fitzpatrick_scale:!1,category:"food_and_drink"},spoon:{keywords:["cutlery","kitchen","tableware"],char:'\u{1f944}',fitzpatrick_scale:!1,category:"food_and_drink"},fork_and_knife:{keywords:["cutlery","kitchen"],char:'\u{1f374}',fitzpatrick_scale:!1,category:"food_and_drink"},plate_with_cutlery:{keywords:["food","eat","meal","lunch","dinner","restaurant"],char:'\u{1f37d}',fitzpatrick_scale:!1,category:"food_and_drink"},bowl_with_spoon:{keywords:["food","breakfast","cereal","oatmeal","porridge"],char:'\u{1f963}',fitzpatrick_scale:!1,category:"food_and_drink"},takeout_box:{keywords:["food","leftovers"],char:'\u{1f961}',fitzpatrick_scale:!1,category:"food_and_drink"},chopsticks:{keywords:["food"],char:'\u{1f962}',fitzpatrick_scale:!1,category:"food_and_drink"},soccer:{keywords:["sports","football"],char:'\u26bd',fitzpatrick_scale:!1,category:"activity"},basketball:{keywords:["sports","balls","NBA"],char:'\u{1f3c0}',fitzpatrick_scale:!1,category:"activity"},football:{keywords:["sports","balls","NFL"],char:'\u{1f3c8}',fitzpatrick_scale:!1,category:"activity"},baseball:{keywords:["sports","balls"],char:'\u26be',fitzpatrick_scale:!1,category:"activity"},softball:{keywords:["sports","balls"],char:'\u{1f94e}',fitzpatrick_scale:!1,category:"activity"},tennis:{keywords:["sports","balls","green"],char:'\u{1f3be}',fitzpatrick_scale:!1,category:"activity"},volleyball:{keywords:["sports","balls"],char:'\u{1f3d0}',fitzpatrick_scale:!1,category:"activity"},rugby_football:{keywords:["sports","team"],char:'\u{1f3c9}',fitzpatrick_scale:!1,category:"activity"},flying_disc:{keywords:["sports","frisbee","ultimate"],char:'\u{1f94f}',fitzpatrick_scale:!1,category:"activity"},"8ball":{keywords:["pool","hobby","game","luck","magic"],char:'\u{1f3b1}',fitzpatrick_scale:!1,category:"activity"},golf:{keywords:["sports","business","flag","hole","summer"],char:'\u26f3',fitzpatrick_scale:!1,category:"activity"},golfing_woman:{keywords:["sports","business","woman","female"],char:'\u{1f3cc}\ufe0f\u200d\u2640\ufe0f',fitzpatrick_scale:!1,category:"activity"},golfing_man:{keywords:["sports","business"],char:'\u{1f3cc}',fitzpatrick_scale:!0,category:"activity"},ping_pong:{keywords:["sports","pingpong"],char:'\u{1f3d3}',fitzpatrick_scale:!1,category:"activity"},badminton:{keywords:["sports"],char:'\u{1f3f8}',fitzpatrick_scale:!1,category:"activity"},goal_net:{keywords:["sports"],char:'\u{1f945}',fitzpatrick_scale:!1,category:"activity"},ice_hockey:{keywords:["sports"],char:'\u{1f3d2}',fitzpatrick_scale:!1,category:"activity"},field_hockey:{keywords:["sports"],char:'\u{1f3d1}',fitzpatrick_scale:!1,category:"activity"},lacrosse:{keywords:["sports","ball","stick"],char:'\u{1f94d}',fitzpatrick_scale:!1,category:"activity"},cricket:{keywords:["sports"],char:'\u{1f3cf}',fitzpatrick_scale:!1,category:"activity"},ski:{keywords:["sports","winter","cold","snow"],char:'\u{1f3bf}',fitzpatrick_scale:!1,category:"activity"},skier:{keywords:["sports","winter","snow"],char:'\u26f7',fitzpatrick_scale:!1,category:"activity"},snowboarder:{keywords:["sports","winter"],char:'\u{1f3c2}',fitzpatrick_scale:!0,category:"activity"},person_fencing:{keywords:["sports","fencing","sword"],char:'\u{1f93a}',fitzpatrick_scale:!1,category:"activity"},women_wrestling:{keywords:["sports","wrestlers"],char:'\u{1f93c}\u200d\u2640\ufe0f',fitzpatrick_scale:!1,category:"activity"},men_wrestling:{keywords:["sports","wrestlers"],char:'\u{1f93c}\u200d\u2642\ufe0f',fitzpatrick_scale:!1,category:"activity"},woman_cartwheeling:{keywords:["gymnastics"],char:'\u{1f938}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},man_cartwheeling:{keywords:["gymnastics"],char:'\u{1f938}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"activity"},woman_playing_handball:{keywords:["sports"],char:'\u{1f93e}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},man_playing_handball:{keywords:["sports"],char:'\u{1f93e}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"activity"},ice_skate:{keywords:["sports"],char:'\u26f8',fitzpatrick_scale:!1,category:"activity"},curling_stone:{keywords:["sports"],char:'\u{1f94c}',fitzpatrick_scale:!1,category:"activity"},skateboard:{keywords:["board"],char:'\u{1f6f9}',fitzpatrick_scale:!1,category:"activity"},sled:{keywords:["sleigh","luge","toboggan"],char:'\u{1f6f7}',fitzpatrick_scale:!1,category:"activity"},bow_and_arrow:{keywords:["sports"],char:'\u{1f3f9}',fitzpatrick_scale:!1,category:"activity"},fishing_pole_and_fish:{keywords:["food","hobby","summer"],char:'\u{1f3a3}',fitzpatrick_scale:!1,category:"activity"},boxing_glove:{keywords:["sports","fighting"],char:'\u{1f94a}',fitzpatrick_scale:!1,category:"activity"},martial_arts_uniform:{keywords:["judo","karate","taekwondo"],char:'\u{1f94b}',fitzpatrick_scale:!1,category:"activity"},rowing_woman:{keywords:["sports","hobby","water","ship","woman","female"],char:'\u{1f6a3}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},rowing_man:{keywords:["sports","hobby","water","ship"],char:'\u{1f6a3}',fitzpatrick_scale:!0,category:"activity"},climbing_woman:{keywords:["sports","hobby","woman","female","rock"],char:'\u{1f9d7}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},climbing_man:{keywords:["sports","hobby","man","male","rock"],char:'\u{1f9d7}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"activity"},swimming_woman:{keywords:["sports","exercise","human","athlete","water","summer","woman","female"],char:'\u{1f3ca}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},swimming_man:{keywords:["sports","exercise","human","athlete","water","summer"],char:'\u{1f3ca}',fitzpatrick_scale:!0,category:"activity"},woman_playing_water_polo:{keywords:["sports","pool"],char:'\u{1f93d}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},man_playing_water_polo:{keywords:["sports","pool"],char:'\u{1f93d}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"activity"},woman_in_lotus_position:{keywords:["woman","female","meditation","yoga","serenity","zen","mindfulness"],char:'\u{1f9d8}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},man_in_lotus_position:{keywords:["man","male","meditation","yoga","serenity","zen","mindfulness"],char:'\u{1f9d8}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"activity"},surfing_woman:{keywords:["sports","ocean","sea","summer","beach","woman","female"],char:'\u{1f3c4}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},surfing_man:{keywords:["sports","ocean","sea","summer","beach"],char:'\u{1f3c4}',fitzpatrick_scale:!0,category:"activity"},bath:{keywords:["clean","shower","bathroom"],char:'\u{1f6c0}',fitzpatrick_scale:!0,category:"activity"},basketball_woman:{keywords:["sports","human","woman","female"],char:'\u26f9\ufe0f\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},basketball_man:{keywords:["sports","human"],char:'\u26f9',fitzpatrick_scale:!0,category:"activity"},weight_lifting_woman:{keywords:["sports","training","exercise","woman","female"],char:'\u{1f3cb}\ufe0f\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},weight_lifting_man:{keywords:["sports","training","exercise"],char:'\u{1f3cb}',fitzpatrick_scale:!0,category:"activity"},biking_woman:{keywords:["sports","bike","exercise","hipster","woman","female"],char:'\u{1f6b4}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},biking_man:{keywords:["sports","bike","exercise","hipster"],char:'\u{1f6b4}',fitzpatrick_scale:!0,category:"activity"},mountain_biking_woman:{keywords:["transportation","sports","human","race","bike","woman","female"],char:'\u{1f6b5}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},mountain_biking_man:{keywords:["transportation","sports","human","race","bike"],char:'\u{1f6b5}',fitzpatrick_scale:!0,category:"activity"},horse_racing:{keywords:["animal","betting","competition","gambling","luck"],char:'\u{1f3c7}',fitzpatrick_scale:!0,category:"activity"},business_suit_levitating:{keywords:["suit","business","levitate","hover","jump"],char:'\u{1f574}',fitzpatrick_scale:!0,category:"activity"},trophy:{keywords:["win","award","contest","place","ftw","ceremony"],char:'\u{1f3c6}',fitzpatrick_scale:!1,category:"activity"},running_shirt_with_sash:{keywords:["play","pageant"],char:'\u{1f3bd}',fitzpatrick_scale:!1,category:"activity"},medal_sports:{keywords:["award","winning"],char:'\u{1f3c5}',fitzpatrick_scale:!1,category:"activity"},medal_military:{keywords:["award","winning","army"],char:'\u{1f396}',fitzpatrick_scale:!1,category:"activity"},"1st_place_medal":{keywords:["award","winning","first"],char:'\u{1f947}',fitzpatrick_scale:!1,category:"activity"},"2nd_place_medal":{keywords:["award","second"],char:'\u{1f948}',fitzpatrick_scale:!1,category:"activity"},"3rd_place_medal":{keywords:["award","third"],char:'\u{1f949}',fitzpatrick_scale:!1,category:"activity"},reminder_ribbon:{keywords:["sports","cause","support","awareness"],char:'\u{1f397}',fitzpatrick_scale:!1,category:"activity"},rosette:{keywords:["flower","decoration","military"],char:'\u{1f3f5}',fitzpatrick_scale:!1,category:"activity"},ticket:{keywords:["event","concert","pass"],char:'\u{1f3ab}',fitzpatrick_scale:!1,category:"activity"},tickets:{keywords:["sports","concert","entrance"],char:'\u{1f39f}',fitzpatrick_scale:!1,category:"activity"},performing_arts:{keywords:["acting","theater","drama"],char:'\u{1f3ad}',fitzpatrick_scale:!1,category:"activity"},art:{keywords:["design","paint","draw","colors"],char:'\u{1f3a8}',fitzpatrick_scale:!1,category:"activity"},circus_tent:{keywords:["festival","carnival","party"],char:'\u{1f3aa}',fitzpatrick_scale:!1,category:"activity"},woman_juggling:{keywords:["juggle","balance","skill","multitask"],char:'\u{1f939}\u200d\u2640\ufe0f',fitzpatrick_scale:!0,category:"activity"},man_juggling:{keywords:["juggle","balance","skill","multitask"],char:'\u{1f939}\u200d\u2642\ufe0f',fitzpatrick_scale:!0,category:"activity"},microphone:{keywords:["sound","music","PA","sing","talkshow"],char:'\u{1f3a4}',fitzpatrick_scale:!1,category:"activity"},headphones:{keywords:["music","score","gadgets"],char:'\u{1f3a7}',fitzpatrick_scale:!1,category:"activity"},musical_score:{keywords:["treble","clef","compose"],char:'\u{1f3bc}',fitzpatrick_scale:!1,category:"activity"},musical_keyboard:{keywords:["piano","instrument","compose"],char:'\u{1f3b9}',fitzpatrick_scale:!1,category:"activity"},drum:{keywords:["music","instrument","drumsticks","snare"],char:'\u{1f941}',fitzpatrick_scale:!1,category:"activity"},saxophone:{keywords:["music","instrument","jazz","blues"],char:'\u{1f3b7}',fitzpatrick_scale:!1,category:"activity"},trumpet:{keywords:["music","brass"],char:'\u{1f3ba}',fitzpatrick_scale:!1,category:"activity"},guitar:{keywords:["music","instrument"],char:'\u{1f3b8}',fitzpatrick_scale:!1,category:"activity"},violin:{keywords:["music","instrument","orchestra","symphony"],char:'\u{1f3bb}',fitzpatrick_scale:!1,category:"activity"},clapper:{keywords:["movie","film","record"],char:'\u{1f3ac}',fitzpatrick_scale:!1,category:"activity"},video_game:{keywords:["play","console","PS4","controller"],char:'\u{1f3ae}',fitzpatrick_scale:!1,category:"activity"},space_invader:{keywords:["game","arcade","play"],char:'\u{1f47e}',fitzpatrick_scale:!1,category:"activity"},dart:{keywords:["game","play","bar","target","bullseye"],char:'\u{1f3af}',fitzpatrick_scale:!1,category:"activity"},game_die:{keywords:["dice","random","tabletop","play","luck"],char:'\u{1f3b2}',fitzpatrick_scale:!1,category:"activity"},chess_pawn:{keywords:["expendable"],char:"\u265f",fitzpatrick_scale:!1,category:"activity"},slot_machine:{keywords:["bet","gamble","vegas","fruit machine","luck","casino"],char:'\u{1f3b0}',fitzpatrick_scale:!1,category:"activity"},jigsaw:{keywords:["interlocking","puzzle","piece"],char:'\u{1f9e9}',fitzpatrick_scale:!1,category:"activity"},bowling:{keywords:["sports","fun","play"],char:'\u{1f3b3}',fitzpatrick_scale:!1,category:"activity"},red_car:{keywords:["red","transportation","vehicle"],char:'\u{1f697}',fitzpatrick_scale:!1,category:"travel_and_places"},taxi:{keywords:["uber","vehicle","cars","transportation"],char:'\u{1f695}',fitzpatrick_scale:!1,category:"travel_and_places"},blue_car:{keywords:["transportation","vehicle"],char:'\u{1f699}',fitzpatrick_scale:!1,category:"travel_and_places"},bus:{keywords:["car","vehicle","transportation"],char:'\u{1f68c}',fitzpatrick_scale:!1,category:"travel_and_places"},trolleybus:{keywords:["bart","transportation","vehicle"],char:'\u{1f68e}',fitzpatrick_scale:!1,category:"travel_and_places"},racing_car:{keywords:["sports","race","fast","formula","f1"],char:'\u{1f3ce}',fitzpatrick_scale:!1,category:"travel_and_places"},police_car:{keywords:["vehicle","cars","transportation","law","legal","enforcement"],char:'\u{1f693}',fitzpatrick_scale:!1,category:"travel_and_places"},ambulance:{keywords:["health","911","hospital"],char:'\u{1f691}',fitzpatrick_scale:!1,category:"travel_and_places"},fire_engine:{keywords:["transportation","cars","vehicle"],char:'\u{1f692}',fitzpatrick_scale:!1,category:"travel_and_places"},minibus:{keywords:["vehicle","car","transportation"],char:'\u{1f690}',fitzpatrick_scale:!1,category:"travel_and_places"},truck:{keywords:["cars","transportation"],char:'\u{1f69a}',fitzpatrick_scale:!1,category:"travel_and_places"},articulated_lorry:{keywords:["vehicle","cars","transportation","express"],char:'\u{1f69b}',fitzpatrick_scale:!1,category:"travel_and_places"},tractor:{keywords:["vehicle","car","farming","agriculture"],char:'\u{1f69c}',fitzpatrick_scale:!1,category:"travel_and_places"},kick_scooter:{keywords:["vehicle","kick","razor"],char:'\u{1f6f4}',fitzpatrick_scale:!1,category:"travel_and_places"},motorcycle:{keywords:["race","sports","fast"],char:'\u{1f3cd}',fitzpatrick_scale:!1,category:"travel_and_places"},bike:{keywords:["sports","bicycle","exercise","hipster"],char:'\u{1f6b2}',fitzpatrick_scale:!1,category:"travel_and_places"},motor_scooter:{keywords:["vehicle","vespa","sasha"],char:'\u{1f6f5}',fitzpatrick_scale:!1,category:"travel_and_places"},rotating_light:{keywords:["police","ambulance","911","emergency","alert","error","pinged","law","legal"],char:'\u{1f6a8}',fitzpatrick_scale:!1,category:"travel_and_places"},oncoming_police_car:{keywords:["vehicle","law","legal","enforcement","911"],char:'\u{1f694}',fitzpatrick_scale:!1,category:"travel_and_places"},oncoming_bus:{keywords:["vehicle","transportation"],char:'\u{1f68d}',fitzpatrick_scale:!1,category:"travel_and_places"},oncoming_automobile:{keywords:["car","vehicle","transportation"],char:'\u{1f698}',fitzpatrick_scale:!1,category:"travel_and_places"},oncoming_taxi:{keywords:["vehicle","cars","uber"],char:'\u{1f696}',fitzpatrick_scale:!1,category:"travel_and_places"},aerial_tramway:{keywords:["transportation","vehicle","ski"],char:'\u{1f6a1}',fitzpatrick_scale:!1,category:"travel_and_places"},mountain_cableway:{keywords:["transportation","vehicle","ski"],char:'\u{1f6a0}',fitzpatrick_scale:!1,category:"travel_and_places"},suspension_railway:{keywords:["vehicle","transportation"],char:'\u{1f69f}',fitzpatrick_scale:!1,category:"travel_and_places"},railway_car:{keywords:["transportation","vehicle"],char:'\u{1f683}',fitzpatrick_scale:!1,category:"travel_and_places"},train:{keywords:["transportation","vehicle","carriage","public","travel"],char:'\u{1f68b}',fitzpatrick_scale:!1,category:"travel_and_places"},monorail:{keywords:["transportation","vehicle"],char:'\u{1f69d}',fitzpatrick_scale:!1,category:"travel_and_places"},bullettrain_side:{keywords:["transportation","vehicle"],char:'\u{1f684}',fitzpatrick_scale:!1,category:"travel_and_places"},bullettrain_front:{keywords:["transportation","vehicle","speed","fast","public","travel"],char:'\u{1f685}',fitzpatrick_scale:!1,category:"travel_and_places"},light_rail:{keywords:["transportation","vehicle"],char:'\u{1f688}',fitzpatrick_scale:!1,category:"travel_and_places"},mountain_railway:{keywords:["transportation","vehicle"],char:'\u{1f69e}',fitzpatrick_scale:!1,category:"travel_and_places"},steam_locomotive:{keywords:["transportation","vehicle","train"],char:'\u{1f682}',fitzpatrick_scale:!1,category:"travel_and_places"},train2:{keywords:["transportation","vehicle"],char:'\u{1f686}',fitzpatrick_scale:!1,category:"travel_and_places"},metro:{keywords:["transportation","blue-square","mrt","underground","tube"],char:'\u{1f687}',fitzpatrick_scale:!1,category:"travel_and_places"},tram:{keywords:["transportation","vehicle"],char:'\u{1f68a}',fitzpatrick_scale:!1,category:"travel_and_places"},station:{keywords:["transportation","vehicle","public"],char:'\u{1f689}',fitzpatrick_scale:!1,category:"travel_and_places"},flying_saucer:{keywords:["transportation","vehicle","ufo"],char:'\u{1f6f8}',fitzpatrick_scale:!1,category:"travel_and_places"},helicopter:{keywords:["transportation","vehicle","fly"],char:'\u{1f681}',fitzpatrick_scale:!1,category:"travel_and_places"},small_airplane:{keywords:["flight","transportation","fly","vehicle"],char:'\u{1f6e9}',fitzpatrick_scale:!1,category:"travel_and_places"},airplane:{keywords:["vehicle","transportation","flight","fly"],char:'\u2708\ufe0f',fitzpatrick_scale:!1,category:"travel_and_places"},flight_departure:{keywords:["airport","flight","landing"],char:'\u{1f6eb}',fitzpatrick_scale:!1,category:"travel_and_places"},flight_arrival:{keywords:["airport","flight","boarding"],char:'\u{1f6ec}',fitzpatrick_scale:!1,category:"travel_and_places"},sailboat:{keywords:["ship","summer","transportation","water","sailing"],char:'\u26f5',fitzpatrick_scale:!1,category:"travel_and_places"},motor_boat:{keywords:["ship"],char:'\u{1f6e5}',fitzpatrick_scale:!1,category:"travel_and_places"},speedboat:{keywords:["ship","transportation","vehicle","summer"],char:'\u{1f6a4}',fitzpatrick_scale:!1,category:"travel_and_places"},ferry:{keywords:["boat","ship","yacht"],char:'\u26f4',fitzpatrick_scale:!1,category:"travel_and_places"},passenger_ship:{keywords:["yacht","cruise","ferry"],char:'\u{1f6f3}',fitzpatrick_scale:!1,category:"travel_and_places"},rocket:{keywords:["launch","ship","staffmode","NASA","outer space","outer_space","fly"],char:'\u{1f680}',fitzpatrick_scale:!1,category:"travel_and_places"},artificial_satellite:{keywords:["communication","gps","orbit","spaceflight","NASA","ISS"],char:'\u{1f6f0}',fitzpatrick_scale:!1,category:"travel_and_places"},seat:{keywords:["sit","airplane","transport","bus","flight","fly"],char:'\u{1f4ba}',fitzpatrick_scale:!1,category:"travel_and_places"},canoe:{keywords:["boat","paddle","water","ship"],char:'\u{1f6f6}',fitzpatrick_scale:!1,category:"travel_and_places"},anchor:{keywords:["ship","ferry","sea","boat"],char:'\u2693',fitzpatrick_scale:!1,category:"travel_and_places"},construction:{keywords:["wip","progress","caution","warning"],char:'\u{1f6a7}',fitzpatrick_scale:!1,category:"travel_and_places"},fuelpump:{keywords:["gas station","petroleum"],char:'\u26fd',fitzpatrick_scale:!1,category:"travel_and_places"},busstop:{keywords:["transportation","wait"],char:'\u{1f68f}',fitzpatrick_scale:!1,category:"travel_and_places"},vertical_traffic_light:{keywords:["transportation","driving"],char:'\u{1f6a6}',fitzpatrick_scale:!1,category:"travel_and_places"},traffic_light:{keywords:["transportation","signal"],char:'\u{1f6a5}',fitzpatrick_scale:!1,category:"travel_and_places"},checkered_flag:{keywords:["contest","finishline","race","gokart"],char:'\u{1f3c1}',fitzpatrick_scale:!1,category:"travel_and_places"},ship:{keywords:["transportation","titanic","deploy"],char:'\u{1f6a2}',fitzpatrick_scale:!1,category:"travel_and_places"},ferris_wheel:{keywords:["photo","carnival","londoneye"],char:'\u{1f3a1}',fitzpatrick_scale:!1,category:"travel_and_places"},roller_coaster:{keywords:["carnival","playground","photo","fun"],char:'\u{1f3a2}',fitzpatrick_scale:!1,category:"travel_and_places"},carousel_horse:{keywords:["photo","carnival"],char:'\u{1f3a0}',fitzpatrick_scale:!1,category:"travel_and_places"},building_construction:{keywords:["wip","working","progress"],char:'\u{1f3d7}',fitzpatrick_scale:!1,category:"travel_and_places"},foggy:{keywords:["photo","mountain"],char:'\u{1f301}',fitzpatrick_scale:!1,category:"travel_and_places"},tokyo_tower:{keywords:["photo","japanese"],char:'\u{1f5fc}',fitzpatrick_scale:!1,category:"travel_and_places"},factory:{keywords:["building","industry","pollution","smoke"],char:'\u{1f3ed}',fitzpatrick_scale:!1,category:"travel_and_places"},fountain:{keywords:["photo","summer","water","fresh"],char:'\u26f2',fitzpatrick_scale:!1,category:"travel_and_places"},rice_scene:{keywords:["photo","japan","asia","tsukimi"],char:'\u{1f391}',fitzpatrick_scale:!1,category:"travel_and_places"},mountain:{keywords:["photo","nature","environment"],char:'\u26f0',fitzpatrick_scale:!1,category:"travel_and_places"},mountain_snow:{keywords:["photo","nature","environment","winter","cold"],char:'\u{1f3d4}',fitzpatrick_scale:!1,category:"travel_and_places"},mount_fuji:{keywords:["photo","mountain","nature","japanese"],char:'\u{1f5fb}',fitzpatrick_scale:!1,category:"travel_and_places"},volcano:{keywords:["photo","nature","disaster"],char:'\u{1f30b}',fitzpatrick_scale:!1,category:"travel_and_places"},japan:{keywords:["nation","country","japanese","asia"],char:'\u{1f5fe}',fitzpatrick_scale:!1,category:"travel_and_places"},camping:{keywords:["photo","outdoors","tent"],char:'\u{1f3d5}',fitzpatrick_scale:!1,category:"travel_and_places"},tent:{keywords:["photo","camping","outdoors"],char:'\u26fa',fitzpatrick_scale:!1,category:"travel_and_places"},national_park:{keywords:["photo","environment","nature"],char:'\u{1f3de}',fitzpatrick_scale:!1,category:"travel_and_places"},motorway:{keywords:["road","cupertino","interstate","highway"],char:'\u{1f6e3}',fitzpatrick_scale:!1,category:"travel_and_places"},railway_track:{keywords:["train","transportation"],char:'\u{1f6e4}',fitzpatrick_scale:!1,category:"travel_and_places"},sunrise:{keywords:["morning","view","vacation","photo"],char:'\u{1f305}',fitzpatrick_scale:!1,category:"travel_and_places"},sunrise_over_mountains:{keywords:["view","vacation","photo"],char:'\u{1f304}',fitzpatrick_scale:!1,category:"travel_and_places"},desert:{keywords:["photo","warm","saharah"],char:'\u{1f3dc}',fitzpatrick_scale:!1,category:"travel_and_places"},beach_umbrella:{keywords:["weather","summer","sunny","sand","mojito"],char:'\u{1f3d6}',fitzpatrick_scale:!1,category:"travel_and_places"},desert_island:{keywords:["photo","tropical","mojito"],char:'\u{1f3dd}',fitzpatrick_scale:!1,category:"travel_and_places"},city_sunrise:{keywords:["photo","good morning","dawn"],char:'\u{1f307}',fitzpatrick_scale:!1,category:"travel_and_places"},city_sunset:{keywords:["photo","evening","sky","buildings"],char:'\u{1f306}',fitzpatrick_scale:!1,category:"travel_and_places"},cityscape:{keywords:["photo","night life","urban"],char:'\u{1f3d9}',fitzpatrick_scale:!1,category:"travel_and_places"},night_with_stars:{keywords:["evening","city","downtown"],char:'\u{1f303}',fitzpatrick_scale:!1,category:"travel_and_places"},bridge_at_night:{keywords:["photo","sanfrancisco"],char:'\u{1f309}',fitzpatrick_scale:!1,category:"travel_and_places"},milky_way:{keywords:["photo","space","stars"],char:'\u{1f30c}',fitzpatrick_scale:!1,category:"travel_and_places"},stars:{keywords:["night","photo"],char:'\u{1f320}',fitzpatrick_scale:!1,category:"travel_and_places"},sparkler:{keywords:["stars","night","shine"],char:'\u{1f387}',fitzpatrick_scale:!1,category:"travel_and_places"},fireworks:{keywords:["photo","festival","carnival","congratulations"],char:'\u{1f386}',fitzpatrick_scale:!1,category:"travel_and_places"},rainbow:{keywords:["nature","happy","unicorn_face","photo","sky","spring"],char:'\u{1f308}',fitzpatrick_scale:!1,category:"travel_and_places"},houses:{keywords:["buildings","photo"],char:'\u{1f3d8}',fitzpatrick_scale:!1,category:"travel_and_places"},european_castle:{keywords:["building","royalty","history"],char:'\u{1f3f0}',fitzpatrick_scale:!1,category:"travel_and_places"},japanese_castle:{keywords:["photo","building"],char:'\u{1f3ef}',fitzpatrick_scale:!1,category:"travel_and_places"},stadium:{keywords:["photo","place","sports","concert","venue"],char:'\u{1f3df}',fitzpatrick_scale:!1,category:"travel_and_places"},statue_of_liberty:{keywords:["american","newyork"],char:'\u{1f5fd}',fitzpatrick_scale:!1,category:"travel_and_places"},house:{keywords:["building","home"],char:'\u{1f3e0}',fitzpatrick_scale:!1,category:"travel_and_places"},house_with_garden:{keywords:["home","plant","nature"],char:'\u{1f3e1}',fitzpatrick_scale:!1,category:"travel_and_places"},derelict_house:{keywords:["abandon","evict","broken","building"],char:'\u{1f3da}',fitzpatrick_scale:!1,category:"travel_and_places"},office:{keywords:["building","bureau","work"],char:'\u{1f3e2}',fitzpatrick_scale:!1,category:"travel_and_places"},department_store:{keywords:["building","shopping","mall"],char:'\u{1f3ec}',fitzpatrick_scale:!1,category:"travel_and_places"},post_office:{keywords:["building","envelope","communication"],char:'\u{1f3e3}',fitzpatrick_scale:!1,category:"travel_and_places"},european_post_office:{keywords:["building","email"],char:'\u{1f3e4}',fitzpatrick_scale:!1,category:"travel_and_places"},hospital:{keywords:["building","health","surgery","doctor"],char:'\u{1f3e5}',fitzpatrick_scale:!1,category:"travel_and_places"},bank:{keywords:["building","money","sales","cash","business","enterprise"],char:'\u{1f3e6}',fitzpatrick_scale:!1,category:"travel_and_places"},hotel:{keywords:["building","accomodation","checkin"],char:'\u{1f3e8}',fitzpatrick_scale:!1,category:"travel_and_places"},convenience_store:{keywords:["building","shopping","groceries"],char:'\u{1f3ea}',fitzpatrick_scale:!1,category:"travel_and_places"},school:{keywords:["building","student","education","learn","teach"],char:'\u{1f3eb}',fitzpatrick_scale:!1,category:"travel_and_places"},love_hotel:{keywords:["like","affection","dating"],char:'\u{1f3e9}',fitzpatrick_scale:!1,category:"travel_and_places"},wedding:{keywords:["love","like","affection","couple","marriage","bride","groom"],char:'\u{1f492}',fitzpatrick_scale:!1,category:"travel_and_places"},classical_building:{keywords:["art","culture","history"],char:'\u{1f3db}',fitzpatrick_scale:!1,category:"travel_and_places"},church:{keywords:["building","religion","christ"],char:'\u26ea',fitzpatrick_scale:!1,category:"travel_and_places"},mosque:{keywords:["islam","worship","minaret"],char:'\u{1f54c}',fitzpatrick_scale:!1,category:"travel_and_places"},synagogue:{keywords:["judaism","worship","temple","jewish"],char:'\u{1f54d}',fitzpatrick_scale:!1,category:"travel_and_places"},kaaba:{keywords:["mecca","mosque","islam"],char:'\u{1f54b}',fitzpatrick_scale:!1,category:"travel_and_places"},shinto_shrine:{keywords:["temple","japan","kyoto"],char:'\u26e9',fitzpatrick_scale:!1,category:"travel_and_places"},watch:{keywords:["time","accessories"],char:'\u231a',fitzpatrick_scale:!1,category:"objects"},iphone:{keywords:["technology","apple","gadgets","dial"],char:'\u{1f4f1}',fitzpatrick_scale:!1,category:"objects"},calling:{keywords:["iphone","incoming"],char:'\u{1f4f2}',fitzpatrick_scale:!1,category:"objects"},computer:{keywords:["technology","laptop","screen","display","monitor"],char:'\u{1f4bb}',fitzpatrick_scale:!1,category:"objects"},keyboard:{keywords:["technology","computer","type","input","text"],char:'\u2328',fitzpatrick_scale:!1,category:"objects"},desktop_computer:{keywords:["technology","computing","screen"],char:'\u{1f5a5}',fitzpatrick_scale:!1,category:"objects"},printer:{keywords:["paper","ink"],char:'\u{1f5a8}',fitzpatrick_scale:!1,category:"objects"},computer_mouse:{keywords:["click"],char:'\u{1f5b1}',fitzpatrick_scale:!1,category:"objects"},trackball:{keywords:["technology","trackpad"],char:'\u{1f5b2}',fitzpatrick_scale:!1,category:"objects"},joystick:{keywords:["game","play"],char:'\u{1f579}',fitzpatrick_scale:!1,category:"objects"},clamp:{keywords:["tool"],char:'\u{1f5dc}',fitzpatrick_scale:!1,category:"objects"},minidisc:{keywords:["technology","record","data","disk","90s"],char:'\u{1f4bd}',fitzpatrick_scale:!1,category:"objects"},floppy_disk:{keywords:["oldschool","technology","save","90s","80s"],char:'\u{1f4be}',fitzpatrick_scale:!1,category:"objects"},cd:{keywords:["technology","dvd","disk","disc","90s"],char:'\u{1f4bf}',fitzpatrick_scale:!1,category:"objects"},dvd:{keywords:["cd","disk","disc"],char:'\u{1f4c0}',fitzpatrick_scale:!1,category:"objects"},vhs:{keywords:["record","video","oldschool","90s","80s"],char:'\u{1f4fc}',fitzpatrick_scale:!1,category:"objects"},camera:{keywords:["gadgets","photography"],char:'\u{1f4f7}',fitzpatrick_scale:!1,category:"objects"},camera_flash:{keywords:["photography","gadgets"],char:'\u{1f4f8}',fitzpatrick_scale:!1,category:"objects"},video_camera:{keywords:["film","record"],char:'\u{1f4f9}',fitzpatrick_scale:!1,category:"objects"},movie_camera:{keywords:["film","record"],char:'\u{1f3a5}',fitzpatrick_scale:!1,category:"objects"},film_projector:{keywords:["video","tape","record","movie"],char:'\u{1f4fd}',fitzpatrick_scale:!1,category:"objects"},film_strip:{keywords:["movie"],char:'\u{1f39e}',fitzpatrick_scale:!1,category:"objects"},telephone_receiver:{keywords:["technology","communication","dial"],char:'\u{1f4de}',fitzpatrick_scale:!1,category:"objects"},phone:{keywords:["technology","communication","dial","telephone"],char:'\u260e\ufe0f',fitzpatrick_scale:!1,category:"objects"},pager:{keywords:["bbcall","oldschool","90s"],char:'\u{1f4df}',fitzpatrick_scale:!1,category:"objects"},fax:{keywords:["communication","technology"],char:'\u{1f4e0}',fitzpatrick_scale:!1,category:"objects"},tv:{keywords:["technology","program","oldschool","show","television"],char:'\u{1f4fa}',fitzpatrick_scale:!1,category:"objects"},radio:{keywords:["communication","music","podcast","program"],char:'\u{1f4fb}',fitzpatrick_scale:!1,category:"objects"},studio_microphone:{keywords:["sing","recording","artist","talkshow"],char:'\u{1f399}',fitzpatrick_scale:!1,category:"objects"},level_slider:{keywords:["scale"],char:'\u{1f39a}',fitzpatrick_scale:!1,category:"objects"},control_knobs:{keywords:["dial"],char:'\u{1f39b}',fitzpatrick_scale:!1,category:"objects"},compass:{keywords:["magnetic","navigation","orienteering"],char:'\u{1f9ed}',fitzpatrick_scale:!1,category:"objects"},stopwatch:{keywords:["time","deadline"],char:'\u23f1',fitzpatrick_scale:!1,category:"objects"},timer_clock:{keywords:["alarm"],char:'\u23f2',fitzpatrick_scale:!1,category:"objects"},alarm_clock:{keywords:["time","wake"],char:'\u23f0',fitzpatrick_scale:!1,category:"objects"},mantelpiece_clock:{keywords:["time"],char:'\u{1f570}',fitzpatrick_scale:!1,category:"objects"},hourglass_flowing_sand:{keywords:["oldschool","time","countdown"],char:'\u23f3',fitzpatrick_scale:!1,category:"objects"},hourglass:{keywords:["time","clock","oldschool","limit","exam","quiz","test"],char:'\u231b',fitzpatrick_scale:!1,category:"objects"},satellite:{keywords:["communication","future","radio","space"],char:'\u{1f4e1}',fitzpatrick_scale:!1,category:"objects"},battery:{keywords:["power","energy","sustain"],char:'\u{1f50b}',fitzpatrick_scale:!1,category:"objects"},electric_plug:{keywords:["charger","power"],char:'\u{1f50c}',fitzpatrick_scale:!1,category:"objects"},bulb:{keywords:["light","electricity","idea"],char:'\u{1f4a1}',fitzpatrick_scale:!1,category:"objects"},flashlight:{keywords:["dark","camping","sight","night"],char:'\u{1f526}',fitzpatrick_scale:!1,category:"objects"},candle:{keywords:["fire","wax"],char:'\u{1f56f}',fitzpatrick_scale:!1,category:"objects"},fire_extinguisher:{keywords:["quench"],char:'\u{1f9ef}',fitzpatrick_scale:!1,category:"objects"},wastebasket:{keywords:["bin","trash","rubbish","garbage","toss"],char:'\u{1f5d1}',fitzpatrick_scale:!1,category:"objects"},oil_drum:{keywords:["barrell"],char:'\u{1f6e2}',fitzpatrick_scale:!1,category:"objects"},money_with_wings:{keywords:["dollar","bills","payment","sale"],char:'\u{1f4b8}',fitzpatrick_scale:!1,category:"objects"},dollar:{keywords:["money","sales","bill","currency"],char:'\u{1f4b5}',fitzpatrick_scale:!1,category:"objects"},yen:{keywords:["money","sales","japanese","dollar","currency"],char:'\u{1f4b4}',fitzpatrick_scale:!1,category:"objects"},euro:{keywords:["money","sales","dollar","currency"],char:'\u{1f4b6}',fitzpatrick_scale:!1,category:"objects"},pound:{keywords:["british","sterling","money","sales","bills","uk","england","currency"],char:'\u{1f4b7}',fitzpatrick_scale:!1,category:"objects"},moneybag:{keywords:["dollar","payment","coins","sale"],char:'\u{1f4b0}',fitzpatrick_scale:!1,category:"objects"},credit_card:{keywords:["money","sales","dollar","bill","payment","shopping"],char:'\u{1f4b3}',fitzpatrick_scale:!1,category:"objects"},gem:{keywords:["blue","ruby","diamond","jewelry"],char:'\u{1f48e}',fitzpatrick_scale:!1,category:"objects"},balance_scale:{keywords:["law","fairness","weight"],char:'\u2696',fitzpatrick_scale:!1,category:"objects"},toolbox:{keywords:["tools","diy","fix","maintainer","mechanic"],char:'\u{1f9f0}',fitzpatrick_scale:!1,category:"objects"},wrench:{keywords:["tools","diy","ikea","fix","maintainer"],char:'\u{1f527}',fitzpatrick_scale:!1,category:"objects"},hammer:{keywords:["tools","build","create"],char:'\u{1f528}',fitzpatrick_scale:!1,category:"objects"},hammer_and_pick:{keywords:["tools","build","create"],char:'\u2692',fitzpatrick_scale:!1,category:"objects"},hammer_and_wrench:{keywords:["tools","build","create"],char:'\u{1f6e0}',fitzpatrick_scale:!1,category:"objects"},pick:{keywords:["tools","dig"],char:'\u26cf',fitzpatrick_scale:!1,category:"objects"},nut_and_bolt:{keywords:["handy","tools","fix"],char:'\u{1f529}',fitzpatrick_scale:!1,category:"objects"},gear:{keywords:["cog"],char:'\u2699',fitzpatrick_scale:!1,category:"objects"},brick:{keywords:["bricks"],char:'\u{1f9f1}',fitzpatrick_scale:!1,category:"objects"},chains:{keywords:["lock","arrest"],char:'\u26d3',fitzpatrick_scale:!1,category:"objects"},magnet:{keywords:["attraction","magnetic"],char:'\u{1f9f2}',fitzpatrick_scale:!1,category:"objects"},gun:{keywords:["violence","weapon","pistol","revolver"],char:'\u{1f52b}',fitzpatrick_scale:!1,category:"objects"},bomb:{keywords:["boom","explode","explosion","terrorism"],char:'\u{1f4a3}',fitzpatrick_scale:!1,category:"objects"},firecracker:{keywords:["dynamite","boom","explode","explosion","explosive"],char:'\u{1f9e8}',fitzpatrick_scale:!1,category:"objects"},hocho:{keywords:["knife","blade","cutlery","kitchen","weapon"],char:'\u{1f52a}',fitzpatrick_scale:!1,category:"objects"},dagger:{keywords:["weapon"],char:'\u{1f5e1}',fitzpatrick_scale:!1,category:"objects"},crossed_swords:{keywords:["weapon"],char:'\u2694',fitzpatrick_scale:!1,category:"objects"},shield:{keywords:["protection","security"],char:'\u{1f6e1}',fitzpatrick_scale:!1,category:"objects"},smoking:{keywords:["kills","tobacco","cigarette","joint","smoke"],char:'\u{1f6ac}',fitzpatrick_scale:!1,category:"objects"},skull_and_crossbones:{keywords:["poison","danger","deadly","scary","death","pirate","evil"],char:'\u2620',fitzpatrick_scale:!1,category:"objects"},coffin:{keywords:["vampire","dead","die","death","rip","graveyard","cemetery","casket","funeral","box"],char:'\u26b0',fitzpatrick_scale:!1,category:"objects"},funeral_urn:{keywords:["dead","die","death","rip","ashes"],char:'\u26b1',fitzpatrick_scale:!1,category:"objects"},amphora:{keywords:["vase","jar"],char:'\u{1f3fa}',fitzpatrick_scale:!1,category:"objects"},crystal_ball:{keywords:["disco","party","magic","circus","fortune_teller"],char:'\u{1f52e}',fitzpatrick_scale:!1,category:"objects"},prayer_beads:{keywords:["dhikr","religious"],char:'\u{1f4ff}',fitzpatrick_scale:!1,category:"objects"},nazar_amulet:{keywords:["bead","charm"],char:'\u{1f9ff}',fitzpatrick_scale:!1,category:"objects"},barber:{keywords:["hair","salon","style"],char:'\u{1f488}',fitzpatrick_scale:!1,category:"objects"},alembic:{keywords:["distilling","science","experiment","chemistry"],char:'\u2697',fitzpatrick_scale:!1,category:"objects"},telescope:{keywords:["stars","space","zoom","science","astronomy"],char:'\u{1f52d}',fitzpatrick_scale:!1,category:"objects"},microscope:{keywords:["laboratory","experiment","zoomin","science","study"],char:'\u{1f52c}',fitzpatrick_scale:!1,category:"objects"},hole:{keywords:["embarrassing"],char:'\u{1f573}',fitzpatrick_scale:!1,category:"objects"},pill:{keywords:["health","medicine","doctor","pharmacy","drug"],char:'\u{1f48a}',fitzpatrick_scale:!1,category:"objects"},syringe:{keywords:["health","hospital","drugs","blood","medicine","needle","doctor","nurse"],char:'\u{1f489}',fitzpatrick_scale:!1,category:"objects"},dna:{keywords:["biologist","genetics","life"],char:'\u{1f9ec}',fitzpatrick_scale:!1,category:"objects"},microbe:{keywords:["amoeba","bacteria","germs"],char:'\u{1f9a0}',fitzpatrick_scale:!1,category:"objects"},petri_dish:{keywords:["bacteria","biology","culture","lab"],char:'\u{1f9eb}',fitzpatrick_scale:!1,category:"objects"},test_tube:{keywords:["chemistry","experiment","lab","science"],char:'\u{1f9ea}',fitzpatrick_scale:!1,category:"objects"},thermometer:{keywords:["weather","temperature","hot","cold"],char:'\u{1f321}',fitzpatrick_scale:!1,category:"objects"},broom:{keywords:["cleaning","sweeping","witch"],char:'\u{1f9f9}',fitzpatrick_scale:!1,category:"objects"},basket:{keywords:["laundry"],char:'\u{1f9fa}',fitzpatrick_scale:!1,category:"objects"},toilet_paper:{keywords:["roll"],char:'\u{1f9fb}',fitzpatrick_scale:!1,category:"objects"},label:{keywords:["sale","tag"],char:'\u{1f3f7}',fitzpatrick_scale:!1,category:"objects"},bookmark:{keywords:["favorite","label","save"],char:'\u{1f516}',fitzpatrick_scale:!1,category:"objects"},toilet:{keywords:["restroom","wc","washroom","bathroom","potty"],char:'\u{1f6bd}',fitzpatrick_scale:!1,category:"objects"},shower:{keywords:["clean","water","bathroom"],char:'\u{1f6bf}',fitzpatrick_scale:!1,category:"objects"},bathtub:{keywords:["clean","shower","bathroom"],char:'\u{1f6c1}',fitzpatrick_scale:!1,category:"objects"},soap:{keywords:["bar","bathing","cleaning","lather"],char:'\u{1f9fc}',fitzpatrick_scale:!1,category:"objects"},sponge:{keywords:["absorbing","cleaning","porous"],char:'\u{1f9fd}',fitzpatrick_scale:!1,category:"objects"},lotion_bottle:{keywords:["moisturizer","sunscreen"],char:'\u{1f9f4}',fitzpatrick_scale:!1,category:"objects"},key:{keywords:["lock","door","password"],char:'\u{1f511}',fitzpatrick_scale:!1,category:"objects"},old_key:{keywords:["lock","door","password"],char:'\u{1f5dd}',fitzpatrick_scale:!1,category:"objects"},couch_and_lamp:{keywords:["read","chill"],char:'\u{1f6cb}',fitzpatrick_scale:!1,category:"objects"},sleeping_bed:{keywords:["bed","rest"],char:'\u{1f6cc}',fitzpatrick_scale:!0,category:"objects"},bed:{keywords:["sleep","rest"],char:'\u{1f6cf}',fitzpatrick_scale:!1,category:"objects"},door:{keywords:["house","entry","exit"],char:'\u{1f6aa}',fitzpatrick_scale:!1,category:"objects"},bellhop_bell:{keywords:["service"],char:'\u{1f6ce}',fitzpatrick_scale:!1,category:"objects"},teddy_bear:{keywords:["plush","stuffed"],char:'\u{1f9f8}',fitzpatrick_scale:!1,category:"objects"},framed_picture:{keywords:["photography"],char:'\u{1f5bc}',fitzpatrick_scale:!1,category:"objects"},world_map:{keywords:["location","direction"],char:'\u{1f5fa}',fitzpatrick_scale:!1,category:"objects"},parasol_on_ground:{keywords:["weather","summer"],char:'\u26f1',fitzpatrick_scale:!1,category:"objects"},moyai:{keywords:["rock","easter island","moai"],char:'\u{1f5ff}',fitzpatrick_scale:!1,category:"objects"},shopping:{keywords:["mall","buy","purchase"],char:'\u{1f6cd}',fitzpatrick_scale:!1,category:"objects"},shopping_cart:{keywords:["trolley"],char:'\u{1f6d2}',fitzpatrick_scale:!1,category:"objects"},balloon:{keywords:["party","celebration","birthday","circus"],char:'\u{1f388}',fitzpatrick_scale:!1,category:"objects"},flags:{keywords:["fish","japanese","koinobori","carp","banner"],char:'\u{1f38f}',fitzpatrick_scale:!1,category:"objects"},ribbon:{keywords:["decoration","pink","girl","bowtie"],char:'\u{1f380}',fitzpatrick_scale:!1,category:"objects"},gift:{keywords:["present","birthday","christmas","xmas"],char:'\u{1f381}',fitzpatrick_scale:!1,category:"objects"},confetti_ball:{keywords:["festival","party","birthday","circus"],char:'\u{1f38a}',fitzpatrick_scale:!1,category:"objects"},tada:{keywords:["party","congratulations","birthday","magic","circus","celebration"],char:'\u{1f389}',fitzpatrick_scale:!1,category:"objects"},dolls:{keywords:["japanese","toy","kimono"],char:'\u{1f38e}',fitzpatrick_scale:!1,category:"objects"},wind_chime:{keywords:["nature","ding","spring","bell"],char:'\u{1f390}',fitzpatrick_scale:!1,category:"objects"},crossed_flags:{keywords:["japanese","nation","country","border"],char:'\u{1f38c}',fitzpatrick_scale:!1,category:"objects"},izakaya_lantern:{keywords:["light","paper","halloween","spooky"],char:'\u{1f3ee}',fitzpatrick_scale:!1,category:"objects"},red_envelope:{keywords:["gift"],char:'\u{1f9e7}',fitzpatrick_scale:!1,category:"objects"},email:{keywords:["letter","postal","inbox","communication"],char:'\u2709\ufe0f',fitzpatrick_scale:!1,category:"objects"},envelope_with_arrow:{keywords:["email","communication"],char:'\u{1f4e9}',fitzpatrick_scale:!1,category:"objects"},incoming_envelope:{keywords:["email","inbox"],char:'\u{1f4e8}',fitzpatrick_scale:!1,category:"objects"},"e-mail":{keywords:["communication","inbox"],char:'\u{1f4e7}',fitzpatrick_scale:!1,category:"objects"},love_letter:{keywords:["email","like","affection","envelope","valentines"],char:'\u{1f48c}',fitzpatrick_scale:!1,category:"objects"},postbox:{keywords:["email","letter","envelope"],char:'\u{1f4ee}',fitzpatrick_scale:!1,category:"objects"},mailbox_closed:{keywords:["email","communication","inbox"],char:'\u{1f4ea}',fitzpatrick_scale:!1,category:"objects"},mailbox:{keywords:["email","inbox","communication"],char:'\u{1f4eb}',fitzpatrick_scale:!1,category:"objects"},mailbox_with_mail:{keywords:["email","inbox","communication"],char:'\u{1f4ec}',fitzpatrick_scale:!1,category:"objects"},mailbox_with_no_mail:{keywords:["email","inbox"],char:'\u{1f4ed}',fitzpatrick_scale:!1,category:"objects"},package:{keywords:["mail","gift","cardboard","box","moving"],char:'\u{1f4e6}',fitzpatrick_scale:!1,category:"objects"},postal_horn:{keywords:["instrument","music"],char:'\u{1f4ef}',fitzpatrick_scale:!1,category:"objects"},inbox_tray:{keywords:["email","documents"],char:'\u{1f4e5}',fitzpatrick_scale:!1,category:"objects"},outbox_tray:{keywords:["inbox","email"],char:'\u{1f4e4}',fitzpatrick_scale:!1,category:"objects"},scroll:{keywords:["documents","ancient","history","paper"],char:'\u{1f4dc}',fitzpatrick_scale:!1,category:"objects"},page_with_curl:{keywords:["documents","office","paper"],char:'\u{1f4c3}',fitzpatrick_scale:!1,category:"objects"},bookmark_tabs:{keywords:["favorite","save","order","tidy"],char:'\u{1f4d1}',fitzpatrick_scale:!1,category:"objects"},receipt:{keywords:["accounting","expenses"],char:'\u{1f9fe}',fitzpatrick_scale:!1,category:"objects"},bar_chart:{keywords:["graph","presentation","stats"],char:'\u{1f4ca}',fitzpatrick_scale:!1,category:"objects"},chart_with_upwards_trend:{keywords:["graph","presentation","stats","recovery","business","economics","money","sales","good","success"],char:'\u{1f4c8}',fitzpatrick_scale:!1,category:"objects"},chart_with_downwards_trend:{keywords:["graph","presentation","stats","recession","business","economics","money","sales","bad","failure"],char:'\u{1f4c9}',fitzpatrick_scale:!1,category:"objects"},page_facing_up:{keywords:["documents","office","paper","information"],char:'\u{1f4c4}',fitzpatrick_scale:!1,category:"objects"},date:{keywords:["calendar","schedule"],char:'\u{1f4c5}',fitzpatrick_scale:!1,category:"objects"},calendar:{keywords:["schedule","date","planning"],char:'\u{1f4c6}',fitzpatrick_scale:!1,category:"objects"},spiral_calendar:{keywords:["date","schedule","planning"],char:'\u{1f5d3}',fitzpatrick_scale:!1,category:"objects"},card_index:{keywords:["business","stationery"],char:'\u{1f4c7}',fitzpatrick_scale:!1,category:"objects"},card_file_box:{keywords:["business","stationery"],char:'\u{1f5c3}',fitzpatrick_scale:!1,category:"objects"},ballot_box:{keywords:["election","vote"],char:'\u{1f5f3}',fitzpatrick_scale:!1,category:"objects"},file_cabinet:{keywords:["filing","organizing"],char:'\u{1f5c4}',fitzpatrick_scale:!1,category:"objects"},clipboard:{keywords:["stationery","documents"],char:'\u{1f4cb}',fitzpatrick_scale:!1,category:"objects"},spiral_notepad:{keywords:["memo","stationery"],char:'\u{1f5d2}',fitzpatrick_scale:!1,category:"objects"},file_folder:{keywords:["documents","business","office"],char:'\u{1f4c1}',fitzpatrick_scale:!1,category:"objects"},open_file_folder:{keywords:["documents","load"],char:'\u{1f4c2}',fitzpatrick_scale:!1,category:"objects"},card_index_dividers:{keywords:["organizing","business","stationery"],char:'\u{1f5c2}',fitzpatrick_scale:!1,category:"objects"},newspaper_roll:{keywords:["press","headline"],char:'\u{1f5de}',fitzpatrick_scale:!1,category:"objects"},newspaper:{keywords:["press","headline"],char:'\u{1f4f0}',fitzpatrick_scale:!1,category:"objects"},notebook:{keywords:["stationery","record","notes","paper","study"],char:'\u{1f4d3}',fitzpatrick_scale:!1,category:"objects"},closed_book:{keywords:["read","library","knowledge","textbook","learn"],char:'\u{1f4d5}',fitzpatrick_scale:!1,category:"objects"},green_book:{keywords:["read","library","knowledge","study"],char:'\u{1f4d7}',fitzpatrick_scale:!1,category:"objects"},blue_book:{keywords:["read","library","knowledge","learn","study"],char:'\u{1f4d8}',fitzpatrick_scale:!1,category:"objects"},orange_book:{keywords:["read","library","knowledge","textbook","study"],char:'\u{1f4d9}',fitzpatrick_scale:!1,category:"objects"},notebook_with_decorative_cover:{keywords:["classroom","notes","record","paper","study"],char:'\u{1f4d4}',fitzpatrick_scale:!1,category:"objects"},ledger:{keywords:["notes","paper"],char:'\u{1f4d2}',fitzpatrick_scale:!1,category:"objects"},books:{keywords:["literature","library","study"],char:'\u{1f4da}',fitzpatrick_scale:!1,category:"objects"},open_book:{keywords:["book","read","library","knowledge","literature","learn","study"],char:'\u{1f4d6}',fitzpatrick_scale:!1,category:"objects"},safety_pin:{keywords:["diaper"],char:'\u{1f9f7}',fitzpatrick_scale:!1,category:"objects"},link:{keywords:["rings","url"],char:'\u{1f517}',fitzpatrick_scale:!1,category:"objects"},paperclip:{keywords:["documents","stationery"],char:'\u{1f4ce}',fitzpatrick_scale:!1,category:"objects"},paperclips:{keywords:["documents","stationery"],char:'\u{1f587}',fitzpatrick_scale:!1,category:"objects"},scissors:{keywords:["stationery","cut"],char:'\u2702\ufe0f',fitzpatrick_scale:!1,category:"objects"},triangular_ruler:{keywords:["stationery","math","architect","sketch"],char:'\u{1f4d0}',fitzpatrick_scale:!1,category:"objects"},straight_ruler:{keywords:["stationery","calculate","length","math","school","drawing","architect","sketch"],char:'\u{1f4cf}',fitzpatrick_scale:!1,category:"objects"},abacus:{keywords:["calculation"],char:'\u{1f9ee}',fitzpatrick_scale:!1,category:"objects"},pushpin:{keywords:["stationery","mark","here"],char:'\u{1f4cc}',fitzpatrick_scale:!1,category:"objects"},round_pushpin:{keywords:["stationery","location","map","here"],char:'\u{1f4cd}',fitzpatrick_scale:!1,category:"objects"},triangular_flag_on_post:{keywords:["mark","milestone","place"],char:'\u{1f6a9}',fitzpatrick_scale:!1,category:"objects"},white_flag:{keywords:["losing","loser","lost","surrender","give up","fail"],char:'\u{1f3f3}',fitzpatrick_scale:!1,category:"objects"},black_flag:{keywords:["pirate"],char:'\u{1f3f4}',fitzpatrick_scale:!1,category:"objects"},rainbow_flag:{keywords:["flag","rainbow","pride","gay","lgbt","glbt","queer","homosexual","lesbian","bisexual","transgender"],char:'\u{1f3f3}\ufe0f\u200d\u{1f308}',fitzpatrick_scale:!1,category:"objects"},closed_lock_with_key:{keywords:["security","privacy"],char:'\u{1f510}',fitzpatrick_scale:!1,category:"objects"},lock:{keywords:["security","password","padlock"],char:'\u{1f512}',fitzpatrick_scale:!1,category:"objects"},unlock:{keywords:["privacy","security"],char:'\u{1f513}',fitzpatrick_scale:!1,category:"objects"},lock_with_ink_pen:{keywords:["security","secret"],char:'\u{1f50f}',fitzpatrick_scale:!1,category:"objects"},pen:{keywords:["stationery","writing","write"],char:'\u{1f58a}',fitzpatrick_scale:!1,category:"objects"},fountain_pen:{keywords:["stationery","writing","write"],char:'\u{1f58b}',fitzpatrick_scale:!1,category:"objects"},black_nib:{keywords:["pen","stationery","writing","write"],char:'\u2712\ufe0f',fitzpatrick_scale:!1,category:"objects"},memo:{keywords:["write","documents","stationery","pencil","paper","writing","legal","exam","quiz","test","study","compose"],char:'\u{1f4dd}',fitzpatrick_scale:!1,category:"objects"},pencil2:{keywords:["stationery","write","paper","writing","school","study"],char:'\u270f\ufe0f',fitzpatrick_scale:!1,category:"objects"},crayon:{keywords:["drawing","creativity"],char:'\u{1f58d}',fitzpatrick_scale:!1,category:"objects"},paintbrush:{keywords:["drawing","creativity","art"],char:'\u{1f58c}',fitzpatrick_scale:!1,category:"objects"},mag:{keywords:["search","zoom","find","detective"],char:'\u{1f50d}',fitzpatrick_scale:!1,category:"objects"},mag_right:{keywords:["search","zoom","find","detective"],char:'\u{1f50e}',fitzpatrick_scale:!1,category:"objects"},heart:{keywords:["love","like","valentines"],char:'\u2764\ufe0f',fitzpatrick_scale:!1,category:"symbols"},orange_heart:{keywords:["love","like","affection","valentines"],char:'\u{1f9e1}',fitzpatrick_scale:!1,category:"symbols"},yellow_heart:{keywords:["love","like","affection","valentines"],char:'\u{1f49b}',fitzpatrick_scale:!1,category:"symbols"},green_heart:{keywords:["love","like","affection","valentines"],char:'\u{1f49a}',fitzpatrick_scale:!1,category:"symbols"},blue_heart:{keywords:["love","like","affection","valentines"],char:'\u{1f499}',fitzpatrick_scale:!1,category:"symbols"},purple_heart:{keywords:["love","like","affection","valentines"],char:'\u{1f49c}',fitzpatrick_scale:!1,category:"symbols"},black_heart:{keywords:["evil"],char:'\u{1f5a4}',fitzpatrick_scale:!1,category:"symbols"},broken_heart:{keywords:["sad","sorry","break","heart","heartbreak"],char:'\u{1f494}',fitzpatrick_scale:!1,category:"symbols"},heavy_heart_exclamation:{keywords:["decoration","love"],char:'\u2763',fitzpatrick_scale:!1,category:"symbols"},two_hearts:{keywords:["love","like","affection","valentines","heart"],char:'\u{1f495}',fitzpatrick_scale:!1,category:"symbols"},revolving_hearts:{keywords:["love","like","affection","valentines"],char:'\u{1f49e}',fitzpatrick_scale:!1,category:"symbols"},heartbeat:{keywords:["love","like","affection","valentines","pink","heart"],char:'\u{1f493}',fitzpatrick_scale:!1,category:"symbols"},heartpulse:{keywords:["like","love","affection","valentines","pink"],char:'\u{1f497}',fitzpatrick_scale:!1,category:"symbols"},sparkling_heart:{keywords:["love","like","affection","valentines"],char:'\u{1f496}',fitzpatrick_scale:!1,category:"symbols"},cupid:{keywords:["love","like","heart","affection","valentines"],char:'\u{1f498}',fitzpatrick_scale:!1,category:"symbols"},gift_heart:{keywords:["love","valentines"],char:'\u{1f49d}',fitzpatrick_scale:!1,category:"symbols"},heart_decoration:{keywords:["purple-square","love","like"],char:'\u{1f49f}',fitzpatrick_scale:!1,category:"symbols"},peace_symbol:{keywords:["hippie"],char:'\u262e',fitzpatrick_scale:!1,category:"symbols"},latin_cross:{keywords:["christianity"],char:'\u271d',fitzpatrick_scale:!1,category:"symbols"},star_and_crescent:{keywords:["islam"],char:'\u262a',fitzpatrick_scale:!1,category:"symbols"},om:{keywords:["hinduism","buddhism","sikhism","jainism"],char:'\u{1f549}',fitzpatrick_scale:!1,category:"symbols"},wheel_of_dharma:{keywords:["hinduism","buddhism","sikhism","jainism"],char:'\u2638',fitzpatrick_scale:!1,category:"symbols"},star_of_david:{keywords:["judaism"],char:'\u2721',fitzpatrick_scale:!1,category:"symbols"},six_pointed_star:{keywords:["purple-square","religion","jewish","hexagram"],char:'\u{1f52f}',fitzpatrick_scale:!1,category:"symbols"},menorah:{keywords:["hanukkah","candles","jewish"],char:'\u{1f54e}',fitzpatrick_scale:!1,category:"symbols"},yin_yang:{keywords:["balance"],char:'\u262f',fitzpatrick_scale:!1,category:"symbols"},orthodox_cross:{keywords:["suppedaneum","religion"],char:'\u2626',fitzpatrick_scale:!1,category:"symbols"},place_of_worship:{keywords:["religion","church","temple","prayer"],char:'\u{1f6d0}',fitzpatrick_scale:!1,category:"symbols"},ophiuchus:{keywords:["sign","purple-square","constellation","astrology"],char:'\u26ce',fitzpatrick_scale:!1,category:"symbols"},aries:{keywords:["sign","purple-square","zodiac","astrology"],char:'\u2648',fitzpatrick_scale:!1,category:"symbols"},taurus:{keywords:["purple-square","sign","zodiac","astrology"],char:'\u2649',fitzpatrick_scale:!1,category:"symbols"},gemini:{keywords:["sign","zodiac","purple-square","astrology"],char:'\u264a',fitzpatrick_scale:!1,category:"symbols"},cancer:{keywords:["sign","zodiac","purple-square","astrology"],char:'\u264b',fitzpatrick_scale:!1,category:"symbols"},leo:{keywords:["sign","purple-square","zodiac","astrology"],char:'\u264c',fitzpatrick_scale:!1,category:"symbols"},virgo:{keywords:["sign","zodiac","purple-square","astrology"],char:'\u264d',fitzpatrick_scale:!1,category:"symbols"},libra:{keywords:["sign","purple-square","zodiac","astrology"],char:'\u264e',fitzpatrick_scale:!1,category:"symbols"},scorpius:{keywords:["sign","zodiac","purple-square","astrology","scorpio"],char:'\u264f',fitzpatrick_scale:!1,category:"symbols"},sagittarius:{keywords:["sign","zodiac","purple-square","astrology"],char:'\u2650',fitzpatrick_scale:!1,category:"symbols"},capricorn:{keywords:["sign","zodiac","purple-square","astrology"],char:'\u2651',fitzpatrick_scale:!1,category:"symbols"},aquarius:{keywords:["sign","purple-square","zodiac","astrology"],char:'\u2652',fitzpatrick_scale:!1,category:"symbols"},pisces:{keywords:["purple-square","sign","zodiac","astrology"],char:'\u2653',fitzpatrick_scale:!1,category:"symbols"},id:{keywords:["purple-square","words"],char:'\u{1f194}',fitzpatrick_scale:!1,category:"symbols"},atom_symbol:{keywords:["science","physics","chemistry"],char:'\u269b',fitzpatrick_scale:!1,category:"symbols"},u7a7a:{keywords:["kanji","japanese","chinese","empty","sky","blue-square"],char:'\u{1f233}',fitzpatrick_scale:!1,category:"symbols"},u5272:{keywords:["cut","divide","chinese","kanji","pink-square"],char:'\u{1f239}',fitzpatrick_scale:!1,category:"symbols"},radioactive:{keywords:["nuclear","danger"],char:'\u2622',fitzpatrick_scale:!1,category:"symbols"},biohazard:{keywords:["danger"],char:'\u2623',fitzpatrick_scale:!1,category:"symbols"},mobile_phone_off:{keywords:["mute","orange-square","silence","quiet"],char:'\u{1f4f4}',fitzpatrick_scale:!1,category:"symbols"},vibration_mode:{keywords:["orange-square","phone"],char:'\u{1f4f3}',fitzpatrick_scale:!1,category:"symbols"},u6709:{keywords:["orange-square","chinese","have","kanji"],char:'\u{1f236}',fitzpatrick_scale:!1,category:"symbols"},u7121:{keywords:["nothing","chinese","kanji","japanese","orange-square"],char:'\u{1f21a}',fitzpatrick_scale:!1,category:"symbols"},u7533:{keywords:["chinese","japanese","kanji","orange-square"],char:'\u{1f238}',fitzpatrick_scale:!1,category:"symbols"},u55b6:{keywords:["japanese","opening hours","orange-square"],char:'\u{1f23a}',fitzpatrick_scale:!1,category:"symbols"},u6708:{keywords:["chinese","month","moon","japanese","orange-square","kanji"],char:'\u{1f237}\ufe0f',fitzpatrick_scale:!1,category:"symbols"},eight_pointed_black_star:{keywords:["orange-square","shape","polygon"],char:'\u2734\ufe0f',fitzpatrick_scale:!1,category:"symbols"},vs:{keywords:["words","orange-square"],char:'\u{1f19a}',fitzpatrick_scale:!1,category:"symbols"},accept:{keywords:["ok","good","chinese","kanji","agree","yes","orange-circle"],char:'\u{1f251}',fitzpatrick_scale:!1,category:"symbols"},white_flower:{keywords:["japanese","spring"],char:'\u{1f4ae}',fitzpatrick_scale:!1,category:"symbols"},ideograph_advantage:{keywords:["chinese","kanji","obtain","get","circle"],char:'\u{1f250}',fitzpatrick_scale:!1,category:"symbols"},secret:{keywords:["privacy","chinese","sshh","kanji","red-circle"],char:'\u3299\ufe0f',fitzpatrick_scale:!1,category:"symbols"},congratulations:{keywords:["chinese","kanji","japanese","red-circle"],char:'\u3297\ufe0f',fitzpatrick_scale:!1,category:"symbols"},u5408:{keywords:["japanese","chinese","join","kanji","red-square"],char:'\u{1f234}',fitzpatrick_scale:!1,category:"symbols"},u6e80:{keywords:["full","chinese","japanese","red-square","kanji"],char:'\u{1f235}',fitzpatrick_scale:!1,category:"symbols"},u7981:{keywords:["kanji","japanese","chinese","forbidden","limit","restricted","red-square"],char:'\u{1f232}',fitzpatrick_scale:!1,category:"symbols"},a:{keywords:["red-square","alphabet","letter"],char:'\u{1f170}\ufe0f',fitzpatrick_scale:!1,category:"symbols"},b:{keywords:["red-square","alphabet","letter"],char:'\u{1f171}\ufe0f',fitzpatrick_scale:!1,category:"symbols"},ab:{keywords:["red-square","alphabet"],char:'\u{1f18e}',fitzpatrick_scale:!1,category:"symbols"},cl:{keywords:["alphabet","words","red-square"],char:'\u{1f191}',fitzpatrick_scale:!1,category:"symbols"},o2:{keywords:["alphabet","red-square","letter"],char:'\u{1f17e}\ufe0f',fitzpatrick_scale:!1,category:"symbols"},sos:{keywords:["help","red-square","words","emergency","911"],char:'\u{1f198}',fitzpatrick_scale:!1,category:"symbols"},no_entry:{keywords:["limit","security","privacy","bad","denied","stop","circle"],char:'\u26d4',fitzpatrick_scale:!1,category:"symbols"},name_badge:{keywords:["fire","forbid"],char:'\u{1f4db}',fitzpatrick_scale:!1,category:"symbols"},no_entry_sign:{keywords:["forbid","stop","limit","denied","disallow","circle"],char:'\u{1f6ab}',fitzpatrick_scale:!1,category:"symbols"},x:{keywords:["no","delete","remove","cancel","red"],char:'\u274c',fitzpatrick_scale:!1,category:"symbols"},o:{keywords:["circle","round"],char:'\u2b55',fitzpatrick_scale:!1,category:"symbols"},stop_sign:{keywords:["stop"],char:'\u{1f6d1}',fitzpatrick_scale:!1,category:"symbols"},anger:{keywords:["angry","mad"],char:'\u{1f4a2}',fitzpatrick_scale:!1,category:"symbols"},hotsprings:{keywords:["bath","warm","relax"],char:'\u2668\ufe0f',fitzpatrick_scale:!1,category:"symbols"},no_pedestrians:{keywords:["rules","crossing","walking","circle"],char:'\u{1f6b7}',fitzpatrick_scale:!1,category:"symbols"},do_not_litter:{keywords:["trash","bin","garbage","circle"],char:'\u{1f6af}',fitzpatrick_scale:!1,category:"symbols"},no_bicycles:{keywords:["cyclist","prohibited","circle"],char:'\u{1f6b3}',fitzpatrick_scale:!1,category:"symbols"},"non-potable_water":{keywords:["drink","faucet","tap","circle"],char:'\u{1f6b1}',fitzpatrick_scale:!1,category:"symbols"},underage:{keywords:["18","drink","pub","night","minor","circle"],char:'\u{1f51e}',fitzpatrick_scale:!1,category:"symbols"},no_mobile_phones:{keywords:["iphone","mute","circle"],char:'\u{1f4f5}',fitzpatrick_scale:!1,category:"symbols"},exclamation:{keywords:["heavy_exclamation_mark","danger","surprise","punctuation","wow","warning"],char:'\u2757',fitzpatrick_scale:!1,category:"symbols"},grey_exclamation:{keywords:["surprise","punctuation","gray","wow","warning"],char:'\u2755',fitzpatrick_scale:!1,category:"symbols"},question:{keywords:["doubt","confused"],char:'\u2753',fitzpatrick_scale:!1,category:"symbols"},grey_question:{keywords:["doubts","gray","huh","confused"],char:'\u2754',fitzpatrick_scale:!1,category:"symbols"},bangbang:{keywords:["exclamation","surprise"],char:'\u203c\ufe0f',fitzpatrick_scale:!1,category:"symbols"},interrobang:{keywords:["wat","punctuation","surprise"],char:'\u2049\ufe0f',fitzpatrick_scale:!1,category:"symbols"},low_brightness:{keywords:["sun","afternoon","warm","summer"],char:'\u{1f505}',fitzpatrick_scale:!1,category:"symbols"},high_brightness:{keywords:["sun","light"],char:'\u{1f506}',fitzpatrick_scale:!1,category:"symbols"},trident:{keywords:["weapon","spear"],char:'\u{1f531}',fitzpatrick_scale:!1,category:"symbols"},fleur_de_lis:{keywords:["decorative","scout"],char:'\u269c',fitzpatrick_scale:!1,category:"symbols"},part_alternation_mark:{keywords:["graph","presentation","stats","business","economics","bad"],char:'\u303d\ufe0f',fitzpatrick_scale:!1,category:"symbols"},warning:{keywords:["exclamation","wip","alert","error","problem","issue"],char:'\u26a0\ufe0f',fitzpatrick_scale:!1,category:"symbols"},children_crossing:{keywords:["school","warning","danger","sign","driving","yellow-diamond"],char:'\u{1f6b8}',fitzpatrick_scale:!1,category:"symbols"},beginner:{keywords:["badge","shield"],char:'\u{1f530}',fitzpatrick_scale:!1,category:"symbols"},recycle:{keywords:["arrow","environment","garbage","trash"],char:'\u267b\ufe0f',fitzpatrick_scale:!1,category:"symbols"},u6307:{keywords:["chinese","point","green-square","kanji"],char:'\u{1f22f}',fitzpatrick_scale:!1,category:"symbols"},chart:{keywords:["green-square","graph","presentation","stats"],char:'\u{1f4b9}',fitzpatrick_scale:!1,category:"symbols"},sparkle:{keywords:["stars","green-square","awesome","good","fireworks"],char:'\u2747\ufe0f',fitzpatrick_scale:!1,category:"symbols"},eight_spoked_asterisk:{keywords:["star","sparkle","green-square"],char:'\u2733\ufe0f',fitzpatrick_scale:!1,category:"symbols"},negative_squared_cross_mark:{keywords:["x","green-square","no","deny"],char:'\u274e',fitzpatrick_scale:!1,category:"symbols"},white_check_mark:{keywords:["green-square","ok","agree","vote","election","answer","tick"],char:'\u2705',fitzpatrick_scale:!1,category:"symbols"},diamond_shape_with_a_dot_inside:{keywords:["jewel","blue","gem","crystal","fancy"],char:'\u{1f4a0}',fitzpatrick_scale:!1,category:"symbols"},cyclone:{keywords:["weather","swirl","blue","cloud","vortex","spiral","whirlpool","spin","tornado","hurricane","typhoon"],char:'\u{1f300}',fitzpatrick_scale:!1,category:"symbols"},loop:{keywords:["tape","cassette"],char:'\u27bf',fitzpatrick_scale:!1,category:"symbols"},globe_with_meridians:{keywords:["earth","international","world","internet","interweb","i18n"],char:'\u{1f310}',fitzpatrick_scale:!1,category:"symbols"},m:{keywords:["alphabet","blue-circle","letter"],char:'\u24c2\ufe0f',fitzpatrick_scale:!1,category:"symbols"},atm:{keywords:["money","sales","cash","blue-square","payment","bank"],char:'\u{1f3e7}',fitzpatrick_scale:!1,category:"symbols"},sa:{keywords:["japanese","blue-square","katakana"],char:'\u{1f202}\ufe0f',fitzpatrick_scale:!1,category:"symbols"},passport_control:{keywords:["custom","blue-square"],char:'\u{1f6c2}',fitzpatrick_scale:!1,category:"symbols"},customs:{keywords:["passport","border","blue-square"],char:'\u{1f6c3}',fitzpatrick_scale:!1,category:"symbols"},baggage_claim:{keywords:["blue-square","airport","transport"],char:'\u{1f6c4}',fitzpatrick_scale:!1,category:"symbols"},left_luggage:{keywords:["blue-square","travel"],char:'\u{1f6c5}',fitzpatrick_scale:!1,category:"symbols"},wheelchair:{keywords:["blue-square","disabled","a11y","accessibility"],char:'\u267f',fitzpatrick_scale:!1,category:"symbols"},no_smoking:{keywords:["cigarette","blue-square","smell","smoke"],char:'\u{1f6ad}',fitzpatrick_scale:!1,category:"symbols"},wc:{keywords:["toilet","restroom","blue-square"],char:'\u{1f6be}',fitzpatrick_scale:!1,category:"symbols"},parking:{keywords:["cars","blue-square","alphabet","letter"],char:'\u{1f17f}\ufe0f',fitzpatrick_scale:!1,category:"symbols"},potable_water:{keywords:["blue-square","liquid","restroom","cleaning","faucet"],char:'\u{1f6b0}',fitzpatrick_scale:!1,category:"symbols"},mens:{keywords:["toilet","restroom","wc","blue-square","gender","male"],char:'\u{1f6b9}',fitzpatrick_scale:!1,category:"symbols"},womens:{keywords:["purple-square","woman","female","toilet","loo","restroom","gender"],char:'\u{1f6ba}',fitzpatrick_scale:!1,category:"symbols"},baby_symbol:{keywords:["orange-square","child"],char:'\u{1f6bc}',fitzpatrick_scale:!1,category:"symbols"},restroom:{keywords:["blue-square","toilet","refresh","wc","gender"],char:'\u{1f6bb}',fitzpatrick_scale:!1,category:"symbols"},put_litter_in_its_place:{keywords:["blue-square","sign","human","info"],char:'\u{1f6ae}',fitzpatrick_scale:!1,category:"symbols"},cinema:{keywords:["blue-square","record","film","movie","curtain","stage","theater"],char:'\u{1f3a6}',fitzpatrick_scale:!1,category:"symbols"},signal_strength:{keywords:["blue-square","reception","phone","internet","connection","wifi","bluetooth","bars"],char:'\u{1f4f6}',fitzpatrick_scale:!1,category:"symbols"},koko:{keywords:["blue-square","here","katakana","japanese","destination"],char:'\u{1f201}',fitzpatrick_scale:!1,category:"symbols"},ng:{keywords:["blue-square","words","shape","icon"],char:'\u{1f196}',fitzpatrick_scale:!1,category:"symbols"},ok:{keywords:["good","agree","yes","blue-square"],char:'\u{1f197}',fitzpatrick_scale:!1,category:"symbols"},up:{keywords:["blue-square","above","high"],char:'\u{1f199}',fitzpatrick_scale:!1,category:"symbols"},cool:{keywords:["words","blue-square"],char:'\u{1f192}',fitzpatrick_scale:!1,category:"symbols"},new:{keywords:["blue-square","words","start"],char:'\u{1f195}',fitzpatrick_scale:!1,category:"symbols"},free:{keywords:["blue-square","words"],char:'\u{1f193}',fitzpatrick_scale:!1,category:"symbols"},zero:{keywords:["0","numbers","blue-square","null"],char:'0\ufe0f\u20e3',fitzpatrick_scale:!1,category:"symbols"},one:{keywords:["blue-square","numbers","1"],char:'1\ufe0f\u20e3',fitzpatrick_scale:!1,category:"symbols"},two:{keywords:["numbers","2","prime","blue-square"],char:'2\ufe0f\u20e3',fitzpatrick_scale:!1,category:"symbols"},three:{keywords:["3","numbers","prime","blue-square"],char:'3\ufe0f\u20e3',fitzpatrick_scale:!1,category:"symbols"},four:{keywords:["4","numbers","blue-square"],char:'4\ufe0f\u20e3',fitzpatrick_scale:!1,category:"symbols"},five:{keywords:["5","numbers","blue-square","prime"],char:'5\ufe0f\u20e3',fitzpatrick_scale:!1,category:"symbols"},six:{keywords:["6","numbers","blue-square"],char:'6\ufe0f\u20e3',fitzpatrick_scale:!1,category:"symbols"},seven:{keywords:["7","numbers","blue-square","prime"],char:'7\ufe0f\u20e3',fitzpatrick_scale:!1,category:"symbols"},eight:{keywords:["8","blue-square","numbers"],char:'8\ufe0f\u20e3',fitzpatrick_scale:!1,category:"symbols"},nine:{keywords:["blue-square","numbers","9"],char:'9\ufe0f\u20e3',fitzpatrick_scale:!1,category:"symbols"},keycap_ten:{keywords:["numbers","10","blue-square"],char:'\u{1f51f}',fitzpatrick_scale:!1,category:"symbols"},asterisk:{keywords:["star","keycap"],char:'*\u20e3',fitzpatrick_scale:!1,category:"symbols"},eject_button:{keywords:["blue-square"],char:'\u23cf\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_forward:{keywords:["blue-square","right","direction","play"],char:'\u25b6\ufe0f',fitzpatrick_scale:!1,category:"symbols"},pause_button:{keywords:["pause","blue-square"],char:'\u23f8',fitzpatrick_scale:!1,category:"symbols"},next_track_button:{keywords:["forward","next","blue-square"],char:'\u23ed',fitzpatrick_scale:!1,category:"symbols"},stop_button:{keywords:["blue-square"],char:'\u23f9',fitzpatrick_scale:!1,category:"symbols"},record_button:{keywords:["blue-square"],char:'\u23fa',fitzpatrick_scale:!1,category:"symbols"},play_or_pause_button:{keywords:["blue-square","play","pause"],char:'\u23ef',fitzpatrick_scale:!1,category:"symbols"},previous_track_button:{keywords:["backward"],char:'\u23ee',fitzpatrick_scale:!1,category:"symbols"},fast_forward:{keywords:["blue-square","play","speed","continue"],char:'\u23e9',fitzpatrick_scale:!1,category:"symbols"},rewind:{keywords:["play","blue-square"],char:'\u23ea',fitzpatrick_scale:!1,category:"symbols"},twisted_rightwards_arrows:{keywords:["blue-square","shuffle","music","random"],char:'\u{1f500}',fitzpatrick_scale:!1,category:"symbols"},repeat:{keywords:["loop","record"],char:'\u{1f501}',fitzpatrick_scale:!1,category:"symbols"},repeat_one:{keywords:["blue-square","loop"],char:'\u{1f502}',fitzpatrick_scale:!1,category:"symbols"},arrow_backward:{keywords:["blue-square","left","direction"],char:'\u25c0\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_up_small:{keywords:["blue-square","triangle","direction","point","forward","top"],char:'\u{1f53c}',fitzpatrick_scale:!1,category:"symbols"},arrow_down_small:{keywords:["blue-square","direction","bottom"],char:'\u{1f53d}',fitzpatrick_scale:!1,category:"symbols"},arrow_double_up:{keywords:["blue-square","direction","top"],char:'\u23eb',fitzpatrick_scale:!1,category:"symbols"},arrow_double_down:{keywords:["blue-square","direction","bottom"],char:'\u23ec',fitzpatrick_scale:!1,category:"symbols"},arrow_right:{keywords:["blue-square","next"],char:'\u27a1\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_left:{keywords:["blue-square","previous","back"],char:'\u2b05\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_up:{keywords:["blue-square","continue","top","direction"],char:'\u2b06\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_down:{keywords:["blue-square","direction","bottom"],char:'\u2b07\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_upper_right:{keywords:["blue-square","point","direction","diagonal","northeast"],char:'\u2197\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_lower_right:{keywords:["blue-square","direction","diagonal","southeast"],char:'\u2198\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_lower_left:{keywords:["blue-square","direction","diagonal","southwest"],char:'\u2199\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_upper_left:{keywords:["blue-square","point","direction","diagonal","northwest"],char:'\u2196\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_up_down:{keywords:["blue-square","direction","way","vertical"],char:'\u2195\ufe0f',fitzpatrick_scale:!1,category:"symbols"},left_right_arrow:{keywords:["shape","direction","horizontal","sideways"],char:'\u2194\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrows_counterclockwise:{keywords:["blue-square","sync","cycle"],char:'\u{1f504}',fitzpatrick_scale:!1,category:"symbols"},arrow_right_hook:{keywords:["blue-square","return","rotate","direction"],char:'\u21aa\ufe0f',fitzpatrick_scale:!1,category:"symbols"},leftwards_arrow_with_hook:{keywords:["back","return","blue-square","undo","enter"],char:'\u21a9\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_heading_up:{keywords:["blue-square","direction","top"],char:'\u2934\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrow_heading_down:{keywords:["blue-square","direction","bottom"],char:'\u2935\ufe0f',fitzpatrick_scale:!1,category:"symbols"},hash:{keywords:["symbol","blue-square","twitter"],char:'#\ufe0f\u20e3',fitzpatrick_scale:!1,category:"symbols"},information_source:{keywords:["blue-square","alphabet","letter"],char:'\u2139\ufe0f',fitzpatrick_scale:!1,category:"symbols"},abc:{keywords:["blue-square","alphabet"],char:'\u{1f524}',fitzpatrick_scale:!1,category:"symbols"},abcd:{keywords:["blue-square","alphabet"],char:'\u{1f521}',fitzpatrick_scale:!1,category:"symbols"},capital_abcd:{keywords:["alphabet","words","blue-square"],char:'\u{1f520}',fitzpatrick_scale:!1,category:"symbols"},symbols:{keywords:["blue-square","music","note","ampersand","percent","glyphs","characters"],char:'\u{1f523}',fitzpatrick_scale:!1,category:"symbols"},musical_note:{keywords:["score","tone","sound"],char:'\u{1f3b5}',fitzpatrick_scale:!1,category:"symbols"},notes:{keywords:["music","score"],char:'\u{1f3b6}',fitzpatrick_scale:!1,category:"symbols"},wavy_dash:{keywords:["draw","line","moustache","mustache","squiggle","scribble"],char:'\u3030\ufe0f',fitzpatrick_scale:!1,category:"symbols"},curly_loop:{keywords:["scribble","draw","shape","squiggle"],char:'\u27b0',fitzpatrick_scale:!1,category:"symbols"},heavy_check_mark:{keywords:["ok","nike","answer","yes","tick"],char:'\u2714\ufe0f',fitzpatrick_scale:!1,category:"symbols"},arrows_clockwise:{keywords:["sync","cycle","round","repeat"],char:'\u{1f503}',fitzpatrick_scale:!1,category:"symbols"},heavy_plus_sign:{keywords:["math","calculation","addition","more","increase"],char:'\u2795',fitzpatrick_scale:!1,category:"symbols"},heavy_minus_sign:{keywords:["math","calculation","subtract","less"],char:'\u2796',fitzpatrick_scale:!1,category:"symbols"},heavy_division_sign:{keywords:["divide","math","calculation"],char:'\u2797',fitzpatrick_scale:!1,category:"symbols"},heavy_multiplication_x:{keywords:["math","calculation"],char:'\u2716\ufe0f',fitzpatrick_scale:!1,category:"symbols"},infinity:{keywords:["forever"],char:'\u267e',fitzpatrick_scale:!1,category:"symbols"},heavy_dollar_sign:{keywords:["money","sales","payment","currency","buck"],char:'\u{1f4b2}',fitzpatrick_scale:!1,category:"symbols"},currency_exchange:{keywords:["money","sales","dollar","travel"],char:'\u{1f4b1}',fitzpatrick_scale:!1,category:"symbols"},copyright:{keywords:["ip","license","circle","law","legal"],char:'\xa9\ufe0f',fitzpatrick_scale:!1,category:"symbols"},registered:{keywords:["alphabet","circle"],char:'\xae\ufe0f',fitzpatrick_scale:!1,category:"symbols"},tm:{keywords:["trademark","brand","law","legal"],char:'\u2122\ufe0f',fitzpatrick_scale:!1,category:"symbols"},end:{keywords:["words","arrow"],char:'\u{1f51a}',fitzpatrick_scale:!1,category:"symbols"},back:{keywords:["arrow","words","return"],char:'\u{1f519}',fitzpatrick_scale:!1,category:"symbols"},on:{keywords:["arrow","words"],char:'\u{1f51b}',fitzpatrick_scale:!1,category:"symbols"},top:{keywords:["words","blue-square"],char:'\u{1f51d}',fitzpatrick_scale:!1,category:"symbols"},soon:{keywords:["arrow","words"],char:'\u{1f51c}',fitzpatrick_scale:!1,category:"symbols"},ballot_box_with_check:{keywords:["ok","agree","confirm","black-square","vote","election","yes","tick"],char:'\u2611\ufe0f',fitzpatrick_scale:!1,category:"symbols"},radio_button:{keywords:["input","old","music","circle"],char:'\u{1f518}',fitzpatrick_scale:!1,category:"symbols"},white_circle:{keywords:["shape","round"],char:'\u26aa',fitzpatrick_scale:!1,category:"symbols"},black_circle:{keywords:["shape","button","round"],char:'\u26ab',fitzpatrick_scale:!1,category:"symbols"},red_circle:{keywords:["shape","error","danger"],char:'\u{1f534}',fitzpatrick_scale:!1,category:"symbols"},large_blue_circle:{keywords:["shape","icon","button"],char:'\u{1f535}',fitzpatrick_scale:!1,category:"symbols"},small_orange_diamond:{keywords:["shape","jewel","gem"],char:'\u{1f538}',fitzpatrick_scale:!1,category:"symbols"},small_blue_diamond:{keywords:["shape","jewel","gem"],char:'\u{1f539}',fitzpatrick_scale:!1,category:"symbols"},large_orange_diamond:{keywords:["shape","jewel","gem"],char:'\u{1f536}',fitzpatrick_scale:!1,category:"symbols"},large_blue_diamond:{keywords:["shape","jewel","gem"],char:'\u{1f537}',fitzpatrick_scale:!1,category:"symbols"},small_red_triangle:{keywords:["shape","direction","up","top"],char:'\u{1f53a}',fitzpatrick_scale:!1,category:"symbols"},black_small_square:{keywords:["shape","icon"],char:'\u25aa\ufe0f',fitzpatrick_scale:!1,category:"symbols"},white_small_square:{keywords:["shape","icon"],char:'\u25ab\ufe0f',fitzpatrick_scale:!1,category:"symbols"},black_large_square:{keywords:["shape","icon","button"],char:'\u2b1b',fitzpatrick_scale:!1,category:"symbols"},white_large_square:{keywords:["shape","icon","stone","button"],char:'\u2b1c',fitzpatrick_scale:!1,category:"symbols"},small_red_triangle_down:{keywords:["shape","direction","bottom"],char:'\u{1f53b}',fitzpatrick_scale:!1,category:"symbols"},black_medium_square:{keywords:["shape","button","icon"],char:'\u25fc\ufe0f',fitzpatrick_scale:!1,category:"symbols"},white_medium_square:{keywords:["shape","stone","icon"],char:'\u25fb\ufe0f',fitzpatrick_scale:!1,category:"symbols"},black_medium_small_square:{keywords:["icon","shape","button"],char:'\u25fe',fitzpatrick_scale:!1,category:"symbols"},white_medium_small_square:{keywords:["shape","stone","icon","button"],char:'\u25fd',fitzpatrick_scale:!1,category:"symbols"},black_square_button:{keywords:["shape","input","frame"],char:'\u{1f532}',fitzpatrick_scale:!1,category:"symbols"},white_square_button:{keywords:["shape","input"],char:'\u{1f533}',fitzpatrick_scale:!1,category:"symbols"},speaker:{keywords:["sound","volume","silence","broadcast"],char:'\u{1f508}',fitzpatrick_scale:!1,category:"symbols"},sound:{keywords:["volume","speaker","broadcast"],char:'\u{1f509}',fitzpatrick_scale:!1,category:"symbols"},loud_sound:{keywords:["volume","noise","noisy","speaker","broadcast"],char:'\u{1f50a}',fitzpatrick_scale:!1,category:"symbols"},mute:{keywords:["sound","volume","silence","quiet"],char:'\u{1f507}',fitzpatrick_scale:!1,category:"symbols"},mega:{keywords:["sound","speaker","volume"],char:'\u{1f4e3}',fitzpatrick_scale:!1,category:"symbols"},loudspeaker:{keywords:["volume","sound"],char:'\u{1f4e2}',fitzpatrick_scale:!1,category:"symbols"},bell:{keywords:["sound","notification","christmas","xmas","chime"],char:'\u{1f514}',fitzpatrick_scale:!1,category:"symbols"},no_bell:{keywords:["sound","volume","mute","quiet","silent"],char:'\u{1f515}',fitzpatrick_scale:!1,category:"symbols"},black_joker:{keywords:["poker","cards","game","play","magic"],char:'\u{1f0cf}',fitzpatrick_scale:!1,category:"symbols"},mahjong:{keywords:["game","play","chinese","kanji"],char:'\u{1f004}',fitzpatrick_scale:!1,category:"symbols"},spades:{keywords:["poker","cards","suits","magic"],char:'\u2660\ufe0f',fitzpatrick_scale:!1,category:"symbols"},clubs:{keywords:["poker","cards","magic","suits"],char:'\u2663\ufe0f',fitzpatrick_scale:!1,category:"symbols"},hearts:{keywords:["poker","cards","magic","suits"],char:'\u2665\ufe0f',fitzpatrick_scale:!1,category:"symbols"},diamonds:{keywords:["poker","cards","magic","suits"],char:'\u2666\ufe0f',fitzpatrick_scale:!1,category:"symbols"},flower_playing_cards:{keywords:["game","sunset","red"],char:'\u{1f3b4}',fitzpatrick_scale:!1,category:"symbols"},thought_balloon:{keywords:["bubble","cloud","speech","thinking","dream"],char:'\u{1f4ad}',fitzpatrick_scale:!1,category:"symbols"},right_anger_bubble:{keywords:["caption","speech","thinking","mad"],char:'\u{1f5ef}',fitzpatrick_scale:!1,category:"symbols"},speech_balloon:{keywords:["bubble","words","message","talk","chatting"],char:'\u{1f4ac}',fitzpatrick_scale:!1,category:"symbols"},left_speech_bubble:{keywords:["words","message","talk","chatting"],char:'\u{1f5e8}',fitzpatrick_scale:!1,category:"symbols"},clock1:{keywords:["time","late","early","schedule"],char:'\u{1f550}',fitzpatrick_scale:!1,category:"symbols"},clock2:{keywords:["time","late","early","schedule"],char:'\u{1f551}',fitzpatrick_scale:!1,category:"symbols"},clock3:{keywords:["time","late","early","schedule"],char:'\u{1f552}',fitzpatrick_scale:!1,category:"symbols"},clock4:{keywords:["time","late","early","schedule"],char:'\u{1f553}',fitzpatrick_scale:!1,category:"symbols"},clock5:{keywords:["time","late","early","schedule"],char:'\u{1f554}',fitzpatrick_scale:!1,category:"symbols"},clock6:{keywords:["time","late","early","schedule","dawn","dusk"],char:'\u{1f555}',fitzpatrick_scale:!1,category:"symbols"},clock7:{keywords:["time","late","early","schedule"],char:'\u{1f556}',fitzpatrick_scale:!1,category:"symbols"},clock8:{keywords:["time","late","early","schedule"],char:'\u{1f557}',fitzpatrick_scale:!1,category:"symbols"},clock9:{keywords:["time","late","early","schedule"],char:'\u{1f558}',fitzpatrick_scale:!1,category:"symbols"},clock10:{keywords:["time","late","early","schedule"],char:'\u{1f559}',fitzpatrick_scale:!1,category:"symbols"},clock11:{keywords:["time","late","early","schedule"],char:'\u{1f55a}',fitzpatrick_scale:!1,category:"symbols"},clock12:{keywords:["time","noon","midnight","midday","late","early","schedule"],char:'\u{1f55b}',fitzpatrick_scale:!1,category:"symbols"},clock130:{keywords:["time","late","early","schedule"],char:'\u{1f55c}',fitzpatrick_scale:!1,category:"symbols"},clock230:{keywords:["time","late","early","schedule"],char:'\u{1f55d}',fitzpatrick_scale:!1,category:"symbols"},clock330:{keywords:["time","late","early","schedule"],char:'\u{1f55e}',fitzpatrick_scale:!1,category:"symbols"},clock430:{keywords:["time","late","early","schedule"],char:'\u{1f55f}',fitzpatrick_scale:!1,category:"symbols"},clock530:{keywords:["time","late","early","schedule"],char:'\u{1f560}',fitzpatrick_scale:!1,category:"symbols"},clock630:{keywords:["time","late","early","schedule"],char:'\u{1f561}',fitzpatrick_scale:!1,category:"symbols"},clock730:{keywords:["time","late","early","schedule"],char:'\u{1f562}',fitzpatrick_scale:!1,category:"symbols"},clock830:{keywords:["time","late","early","schedule"],char:'\u{1f563}',fitzpatrick_scale:!1,category:"symbols"},clock930:{keywords:["time","late","early","schedule"],char:'\u{1f564}',fitzpatrick_scale:!1,category:"symbols"},clock1030:{keywords:["time","late","early","schedule"],char:'\u{1f565}',fitzpatrick_scale:!1,category:"symbols"},clock1130:{keywords:["time","late","early","schedule"],char:'\u{1f566}',fitzpatrick_scale:!1,category:"symbols"},clock1230:{keywords:["time","late","early","schedule"],char:'\u{1f567}',fitzpatrick_scale:!1,category:"symbols"},afghanistan:{keywords:["af","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1eb}',fitzpatrick_scale:!1,category:"flags"},aland_islands:{keywords:["\xc5land","islands","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1fd}',fitzpatrick_scale:!1,category:"flags"},albania:{keywords:["al","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1f1}',fitzpatrick_scale:!1,category:"flags"},algeria:{keywords:["dz","flag","nation","country","banner"],char:'\u{1f1e9}\u{1f1ff}',fitzpatrick_scale:!1,category:"flags"},american_samoa:{keywords:["american","ws","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},andorra:{keywords:["ad","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1e9}',fitzpatrick_scale:!1,category:"flags"},angola:{keywords:["ao","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},anguilla:{keywords:["ai","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1ee}',fitzpatrick_scale:!1,category:"flags"},antarctica:{keywords:["aq","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1f6}',fitzpatrick_scale:!1,category:"flags"},antigua_barbuda:{keywords:["antigua","barbuda","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},argentina:{keywords:["ar","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},armenia:{keywords:["am","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},aruba:{keywords:["aw","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1fc}',fitzpatrick_scale:!1,category:"flags"},australia:{keywords:["au","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1fa}',fitzpatrick_scale:!1,category:"flags"},austria:{keywords:["at","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},azerbaijan:{keywords:["az","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1ff}',fitzpatrick_scale:!1,category:"flags"},bahamas:{keywords:["bs","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},bahrain:{keywords:["bh","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1ed}',fitzpatrick_scale:!1,category:"flags"},bangladesh:{keywords:["bd","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1e9}',fitzpatrick_scale:!1,category:"flags"},barbados:{keywords:["bb","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1e7}',fitzpatrick_scale:!1,category:"flags"},belarus:{keywords:["by","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1fe}',fitzpatrick_scale:!1,category:"flags"},belgium:{keywords:["be","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},belize:{keywords:["bz","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1ff}',fitzpatrick_scale:!1,category:"flags"},benin:{keywords:["bj","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1ef}',fitzpatrick_scale:!1,category:"flags"},bermuda:{keywords:["bm","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},bhutan:{keywords:["bt","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},bolivia:{keywords:["bo","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},caribbean_netherlands:{keywords:["bonaire","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1f6}',fitzpatrick_scale:!1,category:"flags"},bosnia_herzegovina:{keywords:["bosnia","herzegovina","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},botswana:{keywords:["bw","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1fc}',fitzpatrick_scale:!1,category:"flags"},brazil:{keywords:["br","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},british_indian_ocean_territory:{keywords:["british","indian","ocean","territory","flag","nation","country","banner"],char:'\u{1f1ee}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},british_virgin_islands:{keywords:["british","virgin","islands","bvi","flag","nation","country","banner"],char:'\u{1f1fb}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},brunei:{keywords:["bn","darussalam","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},bulgaria:{keywords:["bg","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},burkina_faso:{keywords:["burkina","faso","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1eb}',fitzpatrick_scale:!1,category:"flags"},burundi:{keywords:["bi","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1ee}',fitzpatrick_scale:!1,category:"flags"},cape_verde:{keywords:["cabo","verde","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1fb}',fitzpatrick_scale:!1,category:"flags"},cambodia:{keywords:["kh","flag","nation","country","banner"],char:'\u{1f1f0}\u{1f1ed}',fitzpatrick_scale:!1,category:"flags"},cameroon:{keywords:["cm","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},canada:{keywords:["ca","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},canary_islands:{keywords:["canary","islands","flag","nation","country","banner"],char:'\u{1f1ee}\u{1f1e8}',fitzpatrick_scale:!1,category:"flags"},cayman_islands:{keywords:["cayman","islands","flag","nation","country","banner"],char:'\u{1f1f0}\u{1f1fe}',fitzpatrick_scale:!1,category:"flags"},central_african_republic:{keywords:["central","african","republic","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1eb}',fitzpatrick_scale:!1,category:"flags"},chad:{keywords:["td","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1e9}',fitzpatrick_scale:!1,category:"flags"},chile:{keywords:["flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1f1}',fitzpatrick_scale:!1,category:"flags"},cn:{keywords:["china","chinese","prc","flag","country","nation","banner"],char:'\u{1f1e8}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},christmas_island:{keywords:["christmas","island","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1fd}',fitzpatrick_scale:!1,category:"flags"},cocos_islands:{keywords:["cocos","keeling","islands","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1e8}',fitzpatrick_scale:!1,category:"flags"},colombia:{keywords:["co","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},comoros:{keywords:["km","flag","nation","country","banner"],char:'\u{1f1f0}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},congo_brazzaville:{keywords:["congo","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},congo_kinshasa:{keywords:["congo","democratic","republic","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1e9}',fitzpatrick_scale:!1,category:"flags"},cook_islands:{keywords:["cook","islands","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1f0}',fitzpatrick_scale:!1,category:"flags"},costa_rica:{keywords:["costa","rica","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},croatia:{keywords:["hr","flag","nation","country","banner"],char:'\u{1f1ed}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},cuba:{keywords:["cu","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1fa}',fitzpatrick_scale:!1,category:"flags"},curacao:{keywords:["cura\xe7ao","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1fc}',fitzpatrick_scale:!1,category:"flags"},cyprus:{keywords:["cy","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1fe}',fitzpatrick_scale:!1,category:"flags"},czech_republic:{keywords:["cz","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1ff}',fitzpatrick_scale:!1,category:"flags"},denmark:{keywords:["dk","flag","nation","country","banner"],char:'\u{1f1e9}\u{1f1f0}',fitzpatrick_scale:!1,category:"flags"},djibouti:{keywords:["dj","flag","nation","country","banner"],char:'\u{1f1e9}\u{1f1ef}',fitzpatrick_scale:!1,category:"flags"},dominica:{keywords:["dm","flag","nation","country","banner"],char:'\u{1f1e9}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},dominican_republic:{keywords:["dominican","republic","flag","nation","country","banner"],char:'\u{1f1e9}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},ecuador:{keywords:["ec","flag","nation","country","banner"],char:'\u{1f1ea}\u{1f1e8}',fitzpatrick_scale:!1,category:"flags"},egypt:{keywords:["eg","flag","nation","country","banner"],char:'\u{1f1ea}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},el_salvador:{keywords:["el","salvador","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1fb}',fitzpatrick_scale:!1,category:"flags"},equatorial_guinea:{keywords:["equatorial","gn","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1f6}',fitzpatrick_scale:!1,category:"flags"},eritrea:{keywords:["er","flag","nation","country","banner"],char:'\u{1f1ea}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},estonia:{keywords:["ee","flag","nation","country","banner"],char:'\u{1f1ea}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},ethiopia:{keywords:["et","flag","nation","country","banner"],char:'\u{1f1ea}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},eu:{keywords:["european","union","flag","banner"],char:'\u{1f1ea}\u{1f1fa}',fitzpatrick_scale:!1,category:"flags"},falkland_islands:{keywords:["falkland","islands","malvinas","flag","nation","country","banner"],char:'\u{1f1eb}\u{1f1f0}',fitzpatrick_scale:!1,category:"flags"},faroe_islands:{keywords:["faroe","islands","flag","nation","country","banner"],char:'\u{1f1eb}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},fiji:{keywords:["fj","flag","nation","country","banner"],char:'\u{1f1eb}\u{1f1ef}',fitzpatrick_scale:!1,category:"flags"},finland:{keywords:["fi","flag","nation","country","banner"],char:'\u{1f1eb}\u{1f1ee}',fitzpatrick_scale:!1,category:"flags"},fr:{keywords:["banner","flag","nation","france","french","country"],char:'\u{1f1eb}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},french_guiana:{keywords:["french","guiana","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1eb}',fitzpatrick_scale:!1,category:"flags"},french_polynesia:{keywords:["french","polynesia","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1eb}',fitzpatrick_scale:!1,category:"flags"},french_southern_territories:{keywords:["french","southern","territories","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1eb}',fitzpatrick_scale:!1,category:"flags"},gabon:{keywords:["ga","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},gambia:{keywords:["gm","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},georgia:{keywords:["ge","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},de:{keywords:["german","nation","flag","country","banner"],char:'\u{1f1e9}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},ghana:{keywords:["gh","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1ed}',fitzpatrick_scale:!1,category:"flags"},gibraltar:{keywords:["gi","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1ee}',fitzpatrick_scale:!1,category:"flags"},greece:{keywords:["gr","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},greenland:{keywords:["gl","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1f1}',fitzpatrick_scale:!1,category:"flags"},grenada:{keywords:["gd","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1e9}',fitzpatrick_scale:!1,category:"flags"},guadeloupe:{keywords:["gp","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1f5}',fitzpatrick_scale:!1,category:"flags"},guam:{keywords:["gu","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1fa}',fitzpatrick_scale:!1,category:"flags"},guatemala:{keywords:["gt","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},guernsey:{keywords:["gg","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},guinea:{keywords:["gn","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},guinea_bissau:{keywords:["gw","bissau","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1fc}',fitzpatrick_scale:!1,category:"flags"},guyana:{keywords:["gy","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1fe}',fitzpatrick_scale:!1,category:"flags"},haiti:{keywords:["ht","flag","nation","country","banner"],char:'\u{1f1ed}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},honduras:{keywords:["hn","flag","nation","country","banner"],char:'\u{1f1ed}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},hong_kong:{keywords:["hong","kong","flag","nation","country","banner"],char:'\u{1f1ed}\u{1f1f0}',fitzpatrick_scale:!1,category:"flags"},hungary:{keywords:["hu","flag","nation","country","banner"],char:'\u{1f1ed}\u{1f1fa}',fitzpatrick_scale:!1,category:"flags"},iceland:{keywords:["is","flag","nation","country","banner"],char:'\u{1f1ee}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},india:{keywords:["in","flag","nation","country","banner"],char:'\u{1f1ee}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},indonesia:{keywords:["flag","nation","country","banner"],char:'\u{1f1ee}\u{1f1e9}',fitzpatrick_scale:!1,category:"flags"},iran:{keywords:["iran,","islamic","republic","flag","nation","country","banner"],char:'\u{1f1ee}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},iraq:{keywords:["iq","flag","nation","country","banner"],char:'\u{1f1ee}\u{1f1f6}',fitzpatrick_scale:!1,category:"flags"},ireland:{keywords:["ie","flag","nation","country","banner"],char:'\u{1f1ee}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},isle_of_man:{keywords:["isle","man","flag","nation","country","banner"],char:'\u{1f1ee}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},israel:{keywords:["il","flag","nation","country","banner"],char:'\u{1f1ee}\u{1f1f1}',fitzpatrick_scale:!1,category:"flags"},it:{keywords:["italy","flag","nation","country","banner"],char:'\u{1f1ee}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},cote_divoire:{keywords:["ivory","coast","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1ee}',fitzpatrick_scale:!1,category:"flags"},jamaica:{keywords:["jm","flag","nation","country","banner"],char:'\u{1f1ef}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},jp:{keywords:["japanese","nation","flag","country","banner"],char:'\u{1f1ef}\u{1f1f5}',fitzpatrick_scale:!1,category:"flags"},jersey:{keywords:["je","flag","nation","country","banner"],char:'\u{1f1ef}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},jordan:{keywords:["jo","flag","nation","country","banner"],char:'\u{1f1ef}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},kazakhstan:{keywords:["kz","flag","nation","country","banner"],char:'\u{1f1f0}\u{1f1ff}',fitzpatrick_scale:!1,category:"flags"},kenya:{keywords:["ke","flag","nation","country","banner"],char:'\u{1f1f0}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},kiribati:{keywords:["ki","flag","nation","country","banner"],char:'\u{1f1f0}\u{1f1ee}',fitzpatrick_scale:!1,category:"flags"},kosovo:{keywords:["xk","flag","nation","country","banner"],char:'\u{1f1fd}\u{1f1f0}',fitzpatrick_scale:!1,category:"flags"},kuwait:{keywords:["kw","flag","nation","country","banner"],char:'\u{1f1f0}\u{1f1fc}',fitzpatrick_scale:!1,category:"flags"},kyrgyzstan:{keywords:["kg","flag","nation","country","banner"],char:'\u{1f1f0}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},laos:{keywords:["lao","democratic","republic","flag","nation","country","banner"],char:'\u{1f1f1}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},latvia:{keywords:["lv","flag","nation","country","banner"],char:'\u{1f1f1}\u{1f1fb}',fitzpatrick_scale:!1,category:"flags"},lebanon:{keywords:["lb","flag","nation","country","banner"],char:'\u{1f1f1}\u{1f1e7}',fitzpatrick_scale:!1,category:"flags"},lesotho:{keywords:["ls","flag","nation","country","banner"],char:'\u{1f1f1}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},liberia:{keywords:["lr","flag","nation","country","banner"],char:'\u{1f1f1}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},libya:{keywords:["ly","flag","nation","country","banner"],char:'\u{1f1f1}\u{1f1fe}',fitzpatrick_scale:!1,category:"flags"},liechtenstein:{keywords:["li","flag","nation","country","banner"],char:'\u{1f1f1}\u{1f1ee}',fitzpatrick_scale:!1,category:"flags"},lithuania:{keywords:["lt","flag","nation","country","banner"],char:'\u{1f1f1}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},luxembourg:{keywords:["lu","flag","nation","country","banner"],char:'\u{1f1f1}\u{1f1fa}',fitzpatrick_scale:!1,category:"flags"},macau:{keywords:["macao","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},macedonia:{keywords:["macedonia,","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1f0}',fitzpatrick_scale:!1,category:"flags"},madagascar:{keywords:["mg","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},malawi:{keywords:["mw","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1fc}',fitzpatrick_scale:!1,category:"flags"},malaysia:{keywords:["my","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1fe}',fitzpatrick_scale:!1,category:"flags"},maldives:{keywords:["mv","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1fb}',fitzpatrick_scale:!1,category:"flags"},mali:{keywords:["ml","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1f1}',fitzpatrick_scale:!1,category:"flags"},malta:{keywords:["mt","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},marshall_islands:{keywords:["marshall","islands","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1ed}',fitzpatrick_scale:!1,category:"flags"},martinique:{keywords:["mq","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1f6}',fitzpatrick_scale:!1,category:"flags"},mauritania:{keywords:["mr","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},mauritius:{keywords:["mu","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1fa}',fitzpatrick_scale:!1,category:"flags"},mayotte:{keywords:["yt","flag","nation","country","banner"],char:'\u{1f1fe}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},mexico:{keywords:["mx","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1fd}',fitzpatrick_scale:!1,category:"flags"},micronesia:{keywords:["micronesia,","federated","states","flag","nation","country","banner"],char:'\u{1f1eb}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},moldova:{keywords:["moldova,","republic","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1e9}',fitzpatrick_scale:!1,category:"flags"},monaco:{keywords:["mc","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1e8}',fitzpatrick_scale:!1,category:"flags"},mongolia:{keywords:["mn","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},montenegro:{keywords:["me","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},montserrat:{keywords:["ms","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},morocco:{keywords:["ma","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},mozambique:{keywords:["mz","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1ff}',fitzpatrick_scale:!1,category:"flags"},myanmar:{keywords:["mm","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},namibia:{keywords:["na","flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},nauru:{keywords:["nr","flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},nepal:{keywords:["np","flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1f5}',fitzpatrick_scale:!1,category:"flags"},netherlands:{keywords:["nl","flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1f1}',fitzpatrick_scale:!1,category:"flags"},new_caledonia:{keywords:["new","caledonia","flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1e8}',fitzpatrick_scale:!1,category:"flags"},new_zealand:{keywords:["new","zealand","flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1ff}',fitzpatrick_scale:!1,category:"flags"},nicaragua:{keywords:["ni","flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1ee}',fitzpatrick_scale:!1,category:"flags"},niger:{keywords:["ne","flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},nigeria:{keywords:["flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},niue:{keywords:["nu","flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1fa}',fitzpatrick_scale:!1,category:"flags"},norfolk_island:{keywords:["norfolk","island","flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1eb}',fitzpatrick_scale:!1,category:"flags"},northern_mariana_islands:{keywords:["northern","mariana","islands","flag","nation","country","banner"],char:'\u{1f1f2}\u{1f1f5}',fitzpatrick_scale:!1,category:"flags"},north_korea:{keywords:["north","korea","nation","flag","country","banner"],char:'\u{1f1f0}\u{1f1f5}',fitzpatrick_scale:!1,category:"flags"},norway:{keywords:["no","flag","nation","country","banner"],char:'\u{1f1f3}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},oman:{keywords:["om_symbol","flag","nation","country","banner"],char:'\u{1f1f4}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},pakistan:{keywords:["pk","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1f0}',fitzpatrick_scale:!1,category:"flags"},palau:{keywords:["pw","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1fc}',fitzpatrick_scale:!1,category:"flags"},palestinian_territories:{keywords:["palestine","palestinian","territories","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},panama:{keywords:["pa","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},papua_new_guinea:{keywords:["papua","new","guinea","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},paraguay:{keywords:["py","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1fe}',fitzpatrick_scale:!1,category:"flags"},peru:{keywords:["pe","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},philippines:{keywords:["ph","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1ed}',fitzpatrick_scale:!1,category:"flags"},pitcairn_islands:{keywords:["pitcairn","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},poland:{keywords:["pl","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1f1}',fitzpatrick_scale:!1,category:"flags"},portugal:{keywords:["pt","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},puerto_rico:{keywords:["puerto","rico","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},qatar:{keywords:["qa","flag","nation","country","banner"],char:'\u{1f1f6}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},reunion:{keywords:["r\xe9union","flag","nation","country","banner"],char:'\u{1f1f7}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},romania:{keywords:["ro","flag","nation","country","banner"],char:'\u{1f1f7}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},ru:{keywords:["russian","federation","flag","nation","country","banner"],char:'\u{1f1f7}\u{1f1fa}',fitzpatrick_scale:!1,category:"flags"},rwanda:{keywords:["rw","flag","nation","country","banner"],char:'\u{1f1f7}\u{1f1fc}',fitzpatrick_scale:!1,category:"flags"},st_barthelemy:{keywords:["saint","barth\xe9lemy","flag","nation","country","banner"],char:'\u{1f1e7}\u{1f1f1}',fitzpatrick_scale:!1,category:"flags"},st_helena:{keywords:["saint","helena","ascension","tristan","cunha","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1ed}',fitzpatrick_scale:!1,category:"flags"},st_kitts_nevis:{keywords:["saint","kitts","nevis","flag","nation","country","banner"],char:'\u{1f1f0}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},st_lucia:{keywords:["saint","lucia","flag","nation","country","banner"],char:'\u{1f1f1}\u{1f1e8}',fitzpatrick_scale:!1,category:"flags"},st_pierre_miquelon:{keywords:["saint","pierre","miquelon","flag","nation","country","banner"],char:'\u{1f1f5}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},st_vincent_grenadines:{keywords:["saint","vincent","grenadines","flag","nation","country","banner"],char:'\u{1f1fb}\u{1f1e8}',fitzpatrick_scale:!1,category:"flags"},samoa:{keywords:["ws","flag","nation","country","banner"],char:'\u{1f1fc}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},san_marino:{keywords:["san","marino","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},sao_tome_principe:{keywords:["sao","tome","principe","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},saudi_arabia:{keywords:["flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},senegal:{keywords:["sn","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},serbia:{keywords:["rs","flag","nation","country","banner"],char:'\u{1f1f7}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},seychelles:{keywords:["sc","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1e8}',fitzpatrick_scale:!1,category:"flags"},sierra_leone:{keywords:["sierra","leone","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1f1}',fitzpatrick_scale:!1,category:"flags"},singapore:{keywords:["sg","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},sint_maarten:{keywords:["sint","maarten","dutch","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1fd}',fitzpatrick_scale:!1,category:"flags"},slovakia:{keywords:["sk","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1f0}',fitzpatrick_scale:!1,category:"flags"},slovenia:{keywords:["si","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1ee}',fitzpatrick_scale:!1,category:"flags"},solomon_islands:{keywords:["solomon","islands","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1e7}',fitzpatrick_scale:!1,category:"flags"},somalia:{keywords:["so","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},south_africa:{keywords:["south","africa","flag","nation","country","banner"],char:'\u{1f1ff}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},south_georgia_south_sandwich_islands:{keywords:["south","georgia","sandwich","islands","flag","nation","country","banner"],char:'\u{1f1ec}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},kr:{keywords:["south","korea","nation","flag","country","banner"],char:'\u{1f1f0}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},south_sudan:{keywords:["south","sd","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},es:{keywords:["spain","flag","nation","country","banner"],char:'\u{1f1ea}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},sri_lanka:{keywords:["sri","lanka","flag","nation","country","banner"],char:'\u{1f1f1}\u{1f1f0}',fitzpatrick_scale:!1,category:"flags"},sudan:{keywords:["sd","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1e9}',fitzpatrick_scale:!1,category:"flags"},suriname:{keywords:["sr","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},swaziland:{keywords:["sz","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1ff}',fitzpatrick_scale:!1,category:"flags"},sweden:{keywords:["se","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},switzerland:{keywords:["ch","flag","nation","country","banner"],char:'\u{1f1e8}\u{1f1ed}',fitzpatrick_scale:!1,category:"flags"},syria:{keywords:["syrian","arab","republic","flag","nation","country","banner"],char:'\u{1f1f8}\u{1f1fe}',fitzpatrick_scale:!1,category:"flags"},taiwan:{keywords:["tw","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1fc}',fitzpatrick_scale:!1,category:"flags"},tajikistan:{keywords:["tj","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1ef}',fitzpatrick_scale:!1,category:"flags"},tanzania:{keywords:["tanzania,","united","republic","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1ff}',fitzpatrick_scale:!1,category:"flags"},thailand:{keywords:["th","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1ed}',fitzpatrick_scale:!1,category:"flags"},timor_leste:{keywords:["timor","leste","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1f1}',fitzpatrick_scale:!1,category:"flags"},togo:{keywords:["tg","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},tokelau:{keywords:["tk","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1f0}',fitzpatrick_scale:!1,category:"flags"},tonga:{keywords:["to","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1f4}',fitzpatrick_scale:!1,category:"flags"},trinidad_tobago:{keywords:["trinidad","tobago","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1f9}',fitzpatrick_scale:!1,category:"flags"},tunisia:{keywords:["tn","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},tr:{keywords:["turkey","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1f7}',fitzpatrick_scale:!1,category:"flags"},turkmenistan:{keywords:["flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},turks_caicos_islands:{keywords:["turks","caicos","islands","flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1e8}',fitzpatrick_scale:!1,category:"flags"},tuvalu:{keywords:["flag","nation","country","banner"],char:'\u{1f1f9}\u{1f1fb}',fitzpatrick_scale:!1,category:"flags"},uganda:{keywords:["ug","flag","nation","country","banner"],char:'\u{1f1fa}\u{1f1ec}',fitzpatrick_scale:!1,category:"flags"},ukraine:{keywords:["ua","flag","nation","country","banner"],char:'\u{1f1fa}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},united_arab_emirates:{keywords:["united","arab","emirates","flag","nation","country","banner"],char:'\u{1f1e6}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},uk:{keywords:["united","kingdom","great","britain","northern","ireland","flag","nation","country","banner","british","UK","english","england","union jack"],char:'\u{1f1ec}\u{1f1e7}',fitzpatrick_scale:!1,category:"flags"},england:{keywords:["flag","english"],char:'\u{1f3f4}\u{e0067}\u{e0062}\u{e0065}\u{e006e}\u{e0067}\u{e007f}',fitzpatrick_scale:!1,category:"flags"},scotland:{keywords:["flag","scottish"],char:'\u{1f3f4}\u{e0067}\u{e0062}\u{e0073}\u{e0063}\u{e0074}\u{e007f}',fitzpatrick_scale:!1,category:"flags"},wales:{keywords:["flag","welsh"],char:'\u{1f3f4}\u{e0067}\u{e0062}\u{e0077}\u{e006c}\u{e0073}\u{e007f}',fitzpatrick_scale:!1,category:"flags"},us:{keywords:["united","states","america","flag","nation","country","banner"],char:'\u{1f1fa}\u{1f1f8}',fitzpatrick_scale:!1,category:"flags"},us_virgin_islands:{keywords:["virgin","islands","us","flag","nation","country","banner"],char:'\u{1f1fb}\u{1f1ee}',fitzpatrick_scale:!1,category:"flags"},uruguay:{keywords:["uy","flag","nation","country","banner"],char:'\u{1f1fa}\u{1f1fe}',fitzpatrick_scale:!1,category:"flags"},uzbekistan:{keywords:["uz","flag","nation","country","banner"],char:'\u{1f1fa}\u{1f1ff}',fitzpatrick_scale:!1,category:"flags"},vanuatu:{keywords:["vu","flag","nation","country","banner"],char:'\u{1f1fb}\u{1f1fa}',fitzpatrick_scale:!1,category:"flags"},vatican_city:{keywords:["vatican","city","flag","nation","country","banner"],char:'\u{1f1fb}\u{1f1e6}',fitzpatrick_scale:!1,category:"flags"},venezuela:{keywords:["ve","bolivarian","republic","flag","nation","country","banner"],char:'\u{1f1fb}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},vietnam:{keywords:["viet","nam","flag","nation","country","banner"],char:'\u{1f1fb}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},wallis_futuna:{keywords:["wallis","futuna","flag","nation","country","banner"],char:'\u{1f1fc}\u{1f1eb}',fitzpatrick_scale:!1,category:"flags"},western_sahara:{keywords:["western","sahara","flag","nation","country","banner"],char:'\u{1f1ea}\u{1f1ed}',fitzpatrick_scale:!1,category:"flags"},yemen:{keywords:["ye","flag","nation","country","banner"],char:'\u{1f1fe}\u{1f1ea}',fitzpatrick_scale:!1,category:"flags"},zambia:{keywords:["zm","flag","nation","country","banner"],char:'\u{1f1ff}\u{1f1f2}',fitzpatrick_scale:!1,category:"flags"},zimbabwe:{keywords:["zw","flag","nation","country","banner"],char:'\u{1f1ff}\u{1f1fc}',fitzpatrick_scale:!1,category:"flags"},united_nations:{keywords:["un","flag","banner"],char:'\u{1f1fa}\u{1f1f3}',fitzpatrick_scale:!1,category:"flags"},pirate_flag:{keywords:["skull","crossbones","flag","banner"],char:'\u{1f3f4}\u200d\u2620\ufe0f',fitzpatrick_scale:!1,category:"flags"}}); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/emoticons/js/emojis.js b/public/tools/cloud_notes/tinymce/plugins/emoticons/js/emojis.js new file mode 100644 index 0000000..88455e9 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/emoticons/js/emojis.js @@ -0,0 +1 @@ +window.tinymce.Resource.add("tinymce.plugins.emoticons",{grinning:{keywords:["face","smile","happy","joy",":D","grin"],char:"😀",fitzpatrick_scale:false,category:"people"},grimacing:{keywords:["face","grimace","teeth"],char:"😬",fitzpatrick_scale:false,category:"people"},grin:{keywords:["face","happy","smile","joy","kawaii"],char:"😁",fitzpatrick_scale:false,category:"people"},joy:{keywords:["face","cry","tears","weep","happy","happytears","haha"],char:"😂",fitzpatrick_scale:false,category:"people"},rofl:{keywords:["face","rolling","floor","laughing","lol","haha"],char:"🤣",fitzpatrick_scale:false,category:"people"},partying:{keywords:["face","celebration","woohoo"],char:"🥳",fitzpatrick_scale:false,category:"people"},smiley:{keywords:["face","happy","joy","haha",":D",":)","smile","funny"],char:"😃",fitzpatrick_scale:false,category:"people"},smile:{keywords:["face","happy","joy","funny","haha","laugh","like",":D",":)"],char:"😄",fitzpatrick_scale:false,category:"people"},sweat_smile:{keywords:["face","hot","happy","laugh","sweat","smile","relief"],char:"😅",fitzpatrick_scale:false,category:"people"},laughing:{keywords:["happy","joy","lol","satisfied","haha","face","glad","XD","laugh"],char:"😆",fitzpatrick_scale:false,category:"people"},innocent:{keywords:["face","angel","heaven","halo"],char:"😇",fitzpatrick_scale:false,category:"people"},wink:{keywords:["face","happy","mischievous","secret",";)","smile","eye"],char:"😉",fitzpatrick_scale:false,category:"people"},blush:{keywords:["face","smile","happy","flushed","crush","embarrassed","shy","joy"],char:"😊",fitzpatrick_scale:false,category:"people"},slightly_smiling_face:{keywords:["face","smile"],char:"🙂",fitzpatrick_scale:false,category:"people"},upside_down_face:{keywords:["face","flipped","silly","smile"],char:"🙃",fitzpatrick_scale:false,category:"people"},relaxed:{keywords:["face","blush","massage","happiness"],char:"☺️",fitzpatrick_scale:false,category:"people"},yum:{keywords:["happy","joy","tongue","smile","face","silly","yummy","nom","delicious","savouring"],char:"😋",fitzpatrick_scale:false,category:"people"},relieved:{keywords:["face","relaxed","phew","massage","happiness"],char:"😌",fitzpatrick_scale:false,category:"people"},heart_eyes:{keywords:["face","love","like","affection","valentines","infatuation","crush","heart"],char:"😍",fitzpatrick_scale:false,category:"people"},smiling_face_with_three_hearts:{keywords:["face","love","like","affection","valentines","infatuation","crush","hearts","adore"],char:"🥰",fitzpatrick_scale:false,category:"people"},kissing_heart:{keywords:["face","love","like","affection","valentines","infatuation","kiss"],char:"😘",fitzpatrick_scale:false,category:"people"},kissing:{keywords:["love","like","face","3","valentines","infatuation","kiss"],char:"😗",fitzpatrick_scale:false,category:"people"},kissing_smiling_eyes:{keywords:["face","affection","valentines","infatuation","kiss"],char:"😙",fitzpatrick_scale:false,category:"people"},kissing_closed_eyes:{keywords:["face","love","like","affection","valentines","infatuation","kiss"],char:"😚",fitzpatrick_scale:false,category:"people"},stuck_out_tongue_winking_eye:{keywords:["face","prank","childish","playful","mischievous","smile","wink","tongue"],char:"😜",fitzpatrick_scale:false,category:"people"},zany:{keywords:["face","goofy","crazy"],char:"🤪",fitzpatrick_scale:false,category:"people"},raised_eyebrow:{keywords:["face","distrust","scepticism","disapproval","disbelief","surprise"],char:"🤨",fitzpatrick_scale:false,category:"people"},monocle:{keywords:["face","stuffy","wealthy"],char:"🧐",fitzpatrick_scale:false,category:"people"},stuck_out_tongue_closed_eyes:{keywords:["face","prank","playful","mischievous","smile","tongue"],char:"😝",fitzpatrick_scale:false,category:"people"},stuck_out_tongue:{keywords:["face","prank","childish","playful","mischievous","smile","tongue"],char:"😛",fitzpatrick_scale:false,category:"people"},money_mouth_face:{keywords:["face","rich","dollar","money"],char:"🤑",fitzpatrick_scale:false,category:"people"},nerd_face:{keywords:["face","nerdy","geek","dork"],char:"🤓",fitzpatrick_scale:false,category:"people"},sunglasses:{keywords:["face","cool","smile","summer","beach","sunglass"],char:"😎",fitzpatrick_scale:false,category:"people"},star_struck:{keywords:["face","smile","starry","eyes","grinning"],char:"🤩",fitzpatrick_scale:false,category:"people"},clown_face:{keywords:["face"],char:"🤡",fitzpatrick_scale:false,category:"people"},cowboy_hat_face:{keywords:["face","cowgirl","hat"],char:"🤠",fitzpatrick_scale:false,category:"people"},hugs:{keywords:["face","smile","hug"],char:"🤗",fitzpatrick_scale:false,category:"people"},smirk:{keywords:["face","smile","mean","prank","smug","sarcasm"],char:"😏",fitzpatrick_scale:false,category:"people"},no_mouth:{keywords:["face","hellokitty"],char:"😶",fitzpatrick_scale:false,category:"people"},neutral_face:{keywords:["indifference","meh",":|","neutral"],char:"😐",fitzpatrick_scale:false,category:"people"},expressionless:{keywords:["face","indifferent","-_-","meh","deadpan"],char:"😑",fitzpatrick_scale:false,category:"people"},unamused:{keywords:["indifference","bored","straight face","serious","sarcasm","unimpressed","skeptical","dubious","side_eye"],char:"😒",fitzpatrick_scale:false,category:"people"},roll_eyes:{keywords:["face","eyeroll","frustrated"],char:"🙄",fitzpatrick_scale:false,category:"people"},thinking:{keywords:["face","hmmm","think","consider"],char:"🤔",fitzpatrick_scale:false,category:"people"},lying_face:{keywords:["face","lie","pinocchio"],char:"🤥",fitzpatrick_scale:false,category:"people"},hand_over_mouth:{keywords:["face","whoops","shock","surprise"],char:"🤭",fitzpatrick_scale:false,category:"people"},shushing:{keywords:["face","quiet","shhh"],char:"🤫",fitzpatrick_scale:false,category:"people"},symbols_over_mouth:{keywords:["face","swearing","cursing","cussing","profanity","expletive"],char:"🤬",fitzpatrick_scale:false,category:"people"},exploding_head:{keywords:["face","shocked","mind","blown"],char:"🤯",fitzpatrick_scale:false,category:"people"},flushed:{keywords:["face","blush","shy","flattered"],char:"😳",fitzpatrick_scale:false,category:"people"},disappointed:{keywords:["face","sad","upset","depressed",":("],char:"😞",fitzpatrick_scale:false,category:"people"},worried:{keywords:["face","concern","nervous",":("],char:"😟",fitzpatrick_scale:false,category:"people"},angry:{keywords:["mad","face","annoyed","frustrated"],char:"😠",fitzpatrick_scale:false,category:"people"},rage:{keywords:["angry","mad","hate","despise"],char:"😡",fitzpatrick_scale:false,category:"people"},pensive:{keywords:["face","sad","depressed","upset"],char:"😔",fitzpatrick_scale:false,category:"people"},confused:{keywords:["face","indifference","huh","weird","hmmm",":/"],char:"😕",fitzpatrick_scale:false,category:"people"},slightly_frowning_face:{keywords:["face","frowning","disappointed","sad","upset"],char:"🙁",fitzpatrick_scale:false,category:"people"},frowning_face:{keywords:["face","sad","upset","frown"],char:"☹",fitzpatrick_scale:false,category:"people"},persevere:{keywords:["face","sick","no","upset","oops"],char:"😣",fitzpatrick_scale:false,category:"people"},confounded:{keywords:["face","confused","sick","unwell","oops",":S"],char:"😖",fitzpatrick_scale:false,category:"people"},tired_face:{keywords:["sick","whine","upset","frustrated"],char:"😫",fitzpatrick_scale:false,category:"people"},weary:{keywords:["face","tired","sleepy","sad","frustrated","upset"],char:"😩",fitzpatrick_scale:false,category:"people"},pleading:{keywords:["face","begging","mercy"],char:"🥺",fitzpatrick_scale:false,category:"people"},triumph:{keywords:["face","gas","phew","proud","pride"],char:"😤",fitzpatrick_scale:false,category:"people"},open_mouth:{keywords:["face","surprise","impressed","wow","whoa",":O"],char:"😮",fitzpatrick_scale:false,category:"people"},scream:{keywords:["face","munch","scared","omg"],char:"😱",fitzpatrick_scale:false,category:"people"},fearful:{keywords:["face","scared","terrified","nervous","oops","huh"],char:"😨",fitzpatrick_scale:false,category:"people"},cold_sweat:{keywords:["face","nervous","sweat"],char:"😰",fitzpatrick_scale:false,category:"people"},hushed:{keywords:["face","woo","shh"],char:"😯",fitzpatrick_scale:false,category:"people"},frowning:{keywords:["face","aw","what"],char:"😦",fitzpatrick_scale:false,category:"people"},anguished:{keywords:["face","stunned","nervous"],char:"😧",fitzpatrick_scale:false,category:"people"},cry:{keywords:["face","tears","sad","depressed","upset",":'("],char:"😢",fitzpatrick_scale:false,category:"people"},disappointed_relieved:{keywords:["face","phew","sweat","nervous"],char:"😥",fitzpatrick_scale:false,category:"people"},drooling_face:{keywords:["face"],char:"🤤",fitzpatrick_scale:false,category:"people"},sleepy:{keywords:["face","tired","rest","nap"],char:"😪",fitzpatrick_scale:false,category:"people"},sweat:{keywords:["face","hot","sad","tired","exercise"],char:"😓",fitzpatrick_scale:false,category:"people"},hot:{keywords:["face","feverish","heat","red","sweating"],char:"🥵",fitzpatrick_scale:false,category:"people"},cold:{keywords:["face","blue","freezing","frozen","frostbite","icicles"],char:"🥶",fitzpatrick_scale:false,category:"people"},sob:{keywords:["face","cry","tears","sad","upset","depressed"],char:"😭",fitzpatrick_scale:false,category:"people"},dizzy_face:{keywords:["spent","unconscious","xox","dizzy"],char:"😵",fitzpatrick_scale:false,category:"people"},astonished:{keywords:["face","xox","surprised","poisoned"],char:"😲",fitzpatrick_scale:false,category:"people"},zipper_mouth_face:{keywords:["face","sealed","zipper","secret"],char:"🤐",fitzpatrick_scale:false,category:"people"},nauseated_face:{keywords:["face","vomit","gross","green","sick","throw up","ill"],char:"🤢",fitzpatrick_scale:false,category:"people"},sneezing_face:{keywords:["face","gesundheit","sneeze","sick","allergy"],char:"🤧",fitzpatrick_scale:false,category:"people"},vomiting:{keywords:["face","sick"],char:"🤮",fitzpatrick_scale:false,category:"people"},mask:{keywords:["face","sick","ill","disease"],char:"😷",fitzpatrick_scale:false,category:"people"},face_with_thermometer:{keywords:["sick","temperature","thermometer","cold","fever"],char:"🤒",fitzpatrick_scale:false,category:"people"},face_with_head_bandage:{keywords:["injured","clumsy","bandage","hurt"],char:"🤕",fitzpatrick_scale:false,category:"people"},woozy:{keywords:["face","dizzy","intoxicated","tipsy","wavy"],char:"🥴",fitzpatrick_scale:false,category:"people"},sleeping:{keywords:["face","tired","sleepy","night","zzz"],char:"😴",fitzpatrick_scale:false,category:"people"},zzz:{keywords:["sleepy","tired","dream"],char:"💤",fitzpatrick_scale:false,category:"people"},poop:{keywords:["hankey","shitface","fail","turd","shit"],char:"💩",fitzpatrick_scale:false,category:"people"},smiling_imp:{keywords:["devil","horns"],char:"😈",fitzpatrick_scale:false,category:"people"},imp:{keywords:["devil","angry","horns"],char:"👿",fitzpatrick_scale:false,category:"people"},japanese_ogre:{keywords:["monster","red","mask","halloween","scary","creepy","devil","demon","japanese","ogre"],char:"👹",fitzpatrick_scale:false,category:"people"},japanese_goblin:{keywords:["red","evil","mask","monster","scary","creepy","japanese","goblin"],char:"👺",fitzpatrick_scale:false,category:"people"},skull:{keywords:["dead","skeleton","creepy","death"],char:"💀",fitzpatrick_scale:false,category:"people"},ghost:{keywords:["halloween","spooky","scary"],char:"👻",fitzpatrick_scale:false,category:"people"},alien:{keywords:["UFO","paul","weird","outer_space"],char:"👽",fitzpatrick_scale:false,category:"people"},robot:{keywords:["computer","machine","bot"],char:"🤖",fitzpatrick_scale:false,category:"people"},smiley_cat:{keywords:["animal","cats","happy","smile"],char:"😺",fitzpatrick_scale:false,category:"people"},smile_cat:{keywords:["animal","cats","smile"],char:"😸",fitzpatrick_scale:false,category:"people"},joy_cat:{keywords:["animal","cats","haha","happy","tears"],char:"😹",fitzpatrick_scale:false,category:"people"},heart_eyes_cat:{keywords:["animal","love","like","affection","cats","valentines","heart"],char:"😻",fitzpatrick_scale:false,category:"people"},smirk_cat:{keywords:["animal","cats","smirk"],char:"😼",fitzpatrick_scale:false,category:"people"},kissing_cat:{keywords:["animal","cats","kiss"],char:"😽",fitzpatrick_scale:false,category:"people"},scream_cat:{keywords:["animal","cats","munch","scared","scream"],char:"🙀",fitzpatrick_scale:false,category:"people"},crying_cat_face:{keywords:["animal","tears","weep","sad","cats","upset","cry"],char:"😿",fitzpatrick_scale:false,category:"people"},pouting_cat:{keywords:["animal","cats"],char:"😾",fitzpatrick_scale:false,category:"people"},palms_up:{keywords:["hands","gesture","cupped","prayer"],char:"🤲",fitzpatrick_scale:true,category:"people"},raised_hands:{keywords:["gesture","hooray","yea","celebration","hands"],char:"🙌",fitzpatrick_scale:true,category:"people"},clap:{keywords:["hands","praise","applause","congrats","yay"],char:"👏",fitzpatrick_scale:true,category:"people"},wave:{keywords:["hands","gesture","goodbye","solong","farewell","hello","hi","palm"],char:"👋",fitzpatrick_scale:true,category:"people"},call_me_hand:{keywords:["hands","gesture"],char:"🤙",fitzpatrick_scale:true,category:"people"},"+1":{keywords:["thumbsup","yes","awesome","good","agree","accept","cool","hand","like"],char:"👍",fitzpatrick_scale:true,category:"people"},"-1":{keywords:["thumbsdown","no","dislike","hand"],char:"👎",fitzpatrick_scale:true,category:"people"},facepunch:{keywords:["angry","violence","fist","hit","attack","hand"],char:"👊",fitzpatrick_scale:true,category:"people"},fist:{keywords:["fingers","hand","grasp"],char:"✊",fitzpatrick_scale:true,category:"people"},fist_left:{keywords:["hand","fistbump"],char:"🤛",fitzpatrick_scale:true,category:"people"},fist_right:{keywords:["hand","fistbump"],char:"🤜",fitzpatrick_scale:true,category:"people"},v:{keywords:["fingers","ohyeah","hand","peace","victory","two"],char:"✌",fitzpatrick_scale:true,category:"people"},ok_hand:{keywords:["fingers","limbs","perfect","ok","okay"],char:"👌",fitzpatrick_scale:true,category:"people"},raised_hand:{keywords:["fingers","stop","highfive","palm","ban"],char:"✋",fitzpatrick_scale:true,category:"people"},raised_back_of_hand:{keywords:["fingers","raised","backhand"],char:"🤚",fitzpatrick_scale:true,category:"people"},open_hands:{keywords:["fingers","butterfly","hands","open"],char:"👐",fitzpatrick_scale:true,category:"people"},muscle:{keywords:["arm","flex","hand","summer","strong","biceps"],char:"💪",fitzpatrick_scale:true,category:"people"},pray:{keywords:["please","hope","wish","namaste","highfive"],char:"🙏",fitzpatrick_scale:true,category:"people"},foot:{keywords:["kick","stomp"],char:"🦶",fitzpatrick_scale:true,category:"people"},leg:{keywords:["kick","limb"],char:"🦵",fitzpatrick_scale:true,category:"people"},handshake:{keywords:["agreement","shake"],char:"🤝",fitzpatrick_scale:false,category:"people"},point_up:{keywords:["hand","fingers","direction","up"],char:"☝",fitzpatrick_scale:true,category:"people"},point_up_2:{keywords:["fingers","hand","direction","up"],char:"👆",fitzpatrick_scale:true,category:"people"},point_down:{keywords:["fingers","hand","direction","down"],char:"👇",fitzpatrick_scale:true,category:"people"},point_left:{keywords:["direction","fingers","hand","left"],char:"👈",fitzpatrick_scale:true,category:"people"},point_right:{keywords:["fingers","hand","direction","right"],char:"👉",fitzpatrick_scale:true,category:"people"},fu:{keywords:["hand","fingers","rude","middle","flipping"],char:"🖕",fitzpatrick_scale:true,category:"people"},raised_hand_with_fingers_splayed:{keywords:["hand","fingers","palm"],char:"🖐",fitzpatrick_scale:true,category:"people"},love_you:{keywords:["hand","fingers","gesture"],char:"🤟",fitzpatrick_scale:true,category:"people"},metal:{keywords:["hand","fingers","evil_eye","sign_of_horns","rock_on"],char:"🤘",fitzpatrick_scale:true,category:"people"},crossed_fingers:{keywords:["good","lucky"],char:"🤞",fitzpatrick_scale:true,category:"people"},vulcan_salute:{keywords:["hand","fingers","spock","star trek"],char:"🖖",fitzpatrick_scale:true,category:"people"},writing_hand:{keywords:["lower_left_ballpoint_pen","stationery","write","compose"],char:"✍",fitzpatrick_scale:true,category:"people"},selfie:{keywords:["camera","phone"],char:"🤳",fitzpatrick_scale:true,category:"people"},nail_care:{keywords:["beauty","manicure","finger","fashion","nail"],char:"💅",fitzpatrick_scale:true,category:"people"},lips:{keywords:["mouth","kiss"],char:"👄",fitzpatrick_scale:false,category:"people"},tooth:{keywords:["teeth","dentist"],char:"🦷",fitzpatrick_scale:false,category:"people"},tongue:{keywords:["mouth","playful"],char:"👅",fitzpatrick_scale:false,category:"people"},ear:{keywords:["face","hear","sound","listen"],char:"👂",fitzpatrick_scale:true,category:"people"},nose:{keywords:["smell","sniff"],char:"👃",fitzpatrick_scale:true,category:"people"},eye:{keywords:["face","look","see","watch","stare"],char:"👁",fitzpatrick_scale:false,category:"people"},eyes:{keywords:["look","watch","stalk","peek","see"],char:"👀",fitzpatrick_scale:false,category:"people"},brain:{keywords:["smart","intelligent"],char:"🧠",fitzpatrick_scale:false,category:"people"},bust_in_silhouette:{keywords:["user","person","human"],char:"👤",fitzpatrick_scale:false,category:"people"},busts_in_silhouette:{keywords:["user","person","human","group","team"],char:"👥",fitzpatrick_scale:false,category:"people"},speaking_head:{keywords:["user","person","human","sing","say","talk"],char:"🗣",fitzpatrick_scale:false,category:"people"},baby:{keywords:["child","boy","girl","toddler"],char:"👶",fitzpatrick_scale:true,category:"people"},child:{keywords:["gender-neutral","young"],char:"🧒",fitzpatrick_scale:true,category:"people"},boy:{keywords:["man","male","guy","teenager"],char:"👦",fitzpatrick_scale:true,category:"people"},girl:{keywords:["female","woman","teenager"],char:"👧",fitzpatrick_scale:true,category:"people"},adult:{keywords:["gender-neutral","person"],char:"🧑",fitzpatrick_scale:true,category:"people"},man:{keywords:["mustache","father","dad","guy","classy","sir","moustache"],char:"👨",fitzpatrick_scale:true,category:"people"},woman:{keywords:["female","girls","lady"],char:"👩",fitzpatrick_scale:true,category:"people"},blonde_woman:{keywords:["woman","female","girl","blonde","person"],char:"👱‍♀️",fitzpatrick_scale:true,category:"people"},blonde_man:{keywords:["man","male","boy","blonde","guy","person"],char:"👱",fitzpatrick_scale:true,category:"people"},bearded_person:{keywords:["person","bewhiskered"],char:"🧔",fitzpatrick_scale:true,category:"people"},older_adult:{keywords:["human","elder","senior","gender-neutral"],char:"🧓",fitzpatrick_scale:true,category:"people"},older_man:{keywords:["human","male","men","old","elder","senior"],char:"👴",fitzpatrick_scale:true,category:"people"},older_woman:{keywords:["human","female","women","lady","old","elder","senior"],char:"👵",fitzpatrick_scale:true,category:"people"},man_with_gua_pi_mao:{keywords:["male","boy","chinese"],char:"👲",fitzpatrick_scale:true,category:"people"},woman_with_headscarf:{keywords:["female","hijab","mantilla","tichel"],char:"🧕",fitzpatrick_scale:true,category:"people"},woman_with_turban:{keywords:["female","indian","hinduism","arabs","woman"],char:"👳‍♀️",fitzpatrick_scale:true,category:"people"},man_with_turban:{keywords:["male","indian","hinduism","arabs"],char:"👳",fitzpatrick_scale:true,category:"people"},policewoman:{keywords:["woman","police","law","legal","enforcement","arrest","911","female"],char:"👮‍♀️",fitzpatrick_scale:true,category:"people"},policeman:{keywords:["man","police","law","legal","enforcement","arrest","911"],char:"👮",fitzpatrick_scale:true,category:"people"},construction_worker_woman:{keywords:["female","human","wip","build","construction","worker","labor","woman"],char:"👷‍♀️",fitzpatrick_scale:true,category:"people"},construction_worker_man:{keywords:["male","human","wip","guy","build","construction","worker","labor"],char:"👷",fitzpatrick_scale:true,category:"people"},guardswoman:{keywords:["uk","gb","british","female","royal","woman"],char:"💂‍♀️",fitzpatrick_scale:true,category:"people"},guardsman:{keywords:["uk","gb","british","male","guy","royal"],char:"💂",fitzpatrick_scale:true,category:"people"},female_detective:{keywords:["human","spy","detective","female","woman"],char:"🕵️‍♀️",fitzpatrick_scale:true,category:"people"},male_detective:{keywords:["human","spy","detective"],char:"🕵",fitzpatrick_scale:true,category:"people"},woman_health_worker:{keywords:["doctor","nurse","therapist","healthcare","woman","human"],char:"👩‍⚕️",fitzpatrick_scale:true,category:"people"},man_health_worker:{keywords:["doctor","nurse","therapist","healthcare","man","human"],char:"👨‍⚕️",fitzpatrick_scale:true,category:"people"},woman_farmer:{keywords:["rancher","gardener","woman","human"],char:"👩‍🌾",fitzpatrick_scale:true,category:"people"},man_farmer:{keywords:["rancher","gardener","man","human"],char:"👨‍🌾",fitzpatrick_scale:true,category:"people"},woman_cook:{keywords:["chef","woman","human"],char:"👩‍🍳",fitzpatrick_scale:true,category:"people"},man_cook:{keywords:["chef","man","human"],char:"👨‍🍳",fitzpatrick_scale:true,category:"people"},woman_student:{keywords:["graduate","woman","human"],char:"👩‍🎓",fitzpatrick_scale:true,category:"people"},man_student:{keywords:["graduate","man","human"],char:"👨‍🎓",fitzpatrick_scale:true,category:"people"},woman_singer:{keywords:["rockstar","entertainer","woman","human"],char:"👩‍🎤",fitzpatrick_scale:true,category:"people"},man_singer:{keywords:["rockstar","entertainer","man","human"],char:"👨‍🎤",fitzpatrick_scale:true,category:"people"},woman_teacher:{keywords:["instructor","professor","woman","human"],char:"👩‍🏫",fitzpatrick_scale:true,category:"people"},man_teacher:{keywords:["instructor","professor","man","human"],char:"👨‍🏫",fitzpatrick_scale:true,category:"people"},woman_factory_worker:{keywords:["assembly","industrial","woman","human"],char:"👩‍🏭",fitzpatrick_scale:true,category:"people"},man_factory_worker:{keywords:["assembly","industrial","man","human"],char:"👨‍🏭",fitzpatrick_scale:true,category:"people"},woman_technologist:{keywords:["coder","developer","engineer","programmer","software","woman","human","laptop","computer"],char:"👩‍💻",fitzpatrick_scale:true,category:"people"},man_technologist:{keywords:["coder","developer","engineer","programmer","software","man","human","laptop","computer"],char:"👨‍💻",fitzpatrick_scale:true,category:"people"},woman_office_worker:{keywords:["business","manager","woman","human"],char:"👩‍💼",fitzpatrick_scale:true,category:"people"},man_office_worker:{keywords:["business","manager","man","human"],char:"👨‍💼",fitzpatrick_scale:true,category:"people"},woman_mechanic:{keywords:["plumber","woman","human","wrench"],char:"👩‍🔧",fitzpatrick_scale:true,category:"people"},man_mechanic:{keywords:["plumber","man","human","wrench"],char:"👨‍🔧",fitzpatrick_scale:true,category:"people"},woman_scientist:{keywords:["biologist","chemist","engineer","physicist","woman","human"],char:"👩‍🔬",fitzpatrick_scale:true,category:"people"},man_scientist:{keywords:["biologist","chemist","engineer","physicist","man","human"],char:"👨‍🔬",fitzpatrick_scale:true,category:"people"},woman_artist:{keywords:["painter","woman","human"],char:"👩‍🎨",fitzpatrick_scale:true,category:"people"},man_artist:{keywords:["painter","man","human"],char:"👨‍🎨",fitzpatrick_scale:true,category:"people"},woman_firefighter:{keywords:["fireman","woman","human"],char:"👩‍🚒",fitzpatrick_scale:true,category:"people"},man_firefighter:{keywords:["fireman","man","human"],char:"👨‍🚒",fitzpatrick_scale:true,category:"people"},woman_pilot:{keywords:["aviator","plane","woman","human"],char:"👩‍✈️",fitzpatrick_scale:true,category:"people"},man_pilot:{keywords:["aviator","plane","man","human"],char:"👨‍✈️",fitzpatrick_scale:true,category:"people"},woman_astronaut:{keywords:["space","rocket","woman","human"],char:"👩‍🚀",fitzpatrick_scale:true,category:"people"},man_astronaut:{keywords:["space","rocket","man","human"],char:"👨‍🚀",fitzpatrick_scale:true,category:"people"},woman_judge:{keywords:["justice","court","woman","human"],char:"👩‍⚖️",fitzpatrick_scale:true,category:"people"},man_judge:{keywords:["justice","court","man","human"],char:"👨‍⚖️",fitzpatrick_scale:true,category:"people"},woman_superhero:{keywords:["woman","female","good","heroine","superpowers"],char:"🦸‍♀️",fitzpatrick_scale:true,category:"people"},man_superhero:{keywords:["man","male","good","hero","superpowers"],char:"🦸‍♂️",fitzpatrick_scale:true,category:"people"},woman_supervillain:{keywords:["woman","female","evil","bad","criminal","heroine","superpowers"],char:"🦹‍♀️",fitzpatrick_scale:true,category:"people"},man_supervillain:{keywords:["man","male","evil","bad","criminal","hero","superpowers"],char:"🦹‍♂️",fitzpatrick_scale:true,category:"people"},mrs_claus:{keywords:["woman","female","xmas","mother christmas"],char:"🤶",fitzpatrick_scale:true,category:"people"},santa:{keywords:["festival","man","male","xmas","father christmas"],char:"🎅",fitzpatrick_scale:true,category:"people"},sorceress:{keywords:["woman","female","mage","witch"],char:"🧙‍♀️",fitzpatrick_scale:true,category:"people"},wizard:{keywords:["man","male","mage","sorcerer"],char:"🧙‍♂️",fitzpatrick_scale:true,category:"people"},woman_elf:{keywords:["woman","female"],char:"🧝‍♀️",fitzpatrick_scale:true,category:"people"},man_elf:{keywords:["man","male"],char:"🧝‍♂️",fitzpatrick_scale:true,category:"people"},woman_vampire:{keywords:["woman","female"],char:"🧛‍♀️",fitzpatrick_scale:true,category:"people"},man_vampire:{keywords:["man","male","dracula"],char:"🧛‍♂️",fitzpatrick_scale:true,category:"people"},woman_zombie:{keywords:["woman","female","undead","walking dead"],char:"🧟‍♀️",fitzpatrick_scale:false,category:"people"},man_zombie:{keywords:["man","male","dracula","undead","walking dead"],char:"🧟‍♂️",fitzpatrick_scale:false,category:"people"},woman_genie:{keywords:["woman","female"],char:"🧞‍♀️",fitzpatrick_scale:false,category:"people"},man_genie:{keywords:["man","male"],char:"🧞‍♂️",fitzpatrick_scale:false,category:"people"},mermaid:{keywords:["woman","female","merwoman","ariel"],char:"🧜‍♀️",fitzpatrick_scale:true,category:"people"},merman:{keywords:["man","male","triton"],char:"🧜‍♂️",fitzpatrick_scale:true,category:"people"},woman_fairy:{keywords:["woman","female"],char:"🧚‍♀️",fitzpatrick_scale:true,category:"people"},man_fairy:{keywords:["man","male"],char:"🧚‍♂️",fitzpatrick_scale:true,category:"people"},angel:{keywords:["heaven","wings","halo"],char:"👼",fitzpatrick_scale:true,category:"people"},pregnant_woman:{keywords:["baby"],char:"🤰",fitzpatrick_scale:true,category:"people"},breastfeeding:{keywords:["nursing","baby"],char:"🤱",fitzpatrick_scale:true,category:"people"},princess:{keywords:["girl","woman","female","blond","crown","royal","queen"],char:"👸",fitzpatrick_scale:true,category:"people"},prince:{keywords:["boy","man","male","crown","royal","king"],char:"🤴",fitzpatrick_scale:true,category:"people"},bride_with_veil:{keywords:["couple","marriage","wedding","woman","bride"],char:"👰",fitzpatrick_scale:true,category:"people"},man_in_tuxedo:{keywords:["couple","marriage","wedding","groom"],char:"🤵",fitzpatrick_scale:true,category:"people"},running_woman:{keywords:["woman","walking","exercise","race","running","female"],char:"🏃‍♀️",fitzpatrick_scale:true,category:"people"},running_man:{keywords:["man","walking","exercise","race","running"],char:"🏃",fitzpatrick_scale:true,category:"people"},walking_woman:{keywords:["human","feet","steps","woman","female"],char:"🚶‍♀️",fitzpatrick_scale:true,category:"people"},walking_man:{keywords:["human","feet","steps"],char:"🚶",fitzpatrick_scale:true,category:"people"},dancer:{keywords:["female","girl","woman","fun"],char:"💃",fitzpatrick_scale:true,category:"people"},man_dancing:{keywords:["male","boy","fun","dancer"],char:"🕺",fitzpatrick_scale:true,category:"people"},dancing_women:{keywords:["female","bunny","women","girls"],char:"👯",fitzpatrick_scale:false,category:"people"},dancing_men:{keywords:["male","bunny","men","boys"],char:"👯‍♂️",fitzpatrick_scale:false,category:"people"},couple:{keywords:["pair","people","human","love","date","dating","like","affection","valentines","marriage"],char:"👫",fitzpatrick_scale:false,category:"people"},two_men_holding_hands:{keywords:["pair","couple","love","like","bromance","friendship","people","human"],char:"👬",fitzpatrick_scale:false,category:"people"},two_women_holding_hands:{keywords:["pair","friendship","couple","love","like","female","people","human"],char:"👭",fitzpatrick_scale:false,category:"people"},bowing_woman:{keywords:["woman","female","girl"],char:"🙇‍♀️",fitzpatrick_scale:true,category:"people"},bowing_man:{keywords:["man","male","boy"],char:"🙇",fitzpatrick_scale:true,category:"people"},man_facepalming:{keywords:["man","male","boy","disbelief"],char:"🤦‍♂️",fitzpatrick_scale:true,category:"people"},woman_facepalming:{keywords:["woman","female","girl","disbelief"],char:"🤦‍♀️",fitzpatrick_scale:true,category:"people"},woman_shrugging:{keywords:["woman","female","girl","confused","indifferent","doubt"],char:"🤷",fitzpatrick_scale:true,category:"people"},man_shrugging:{keywords:["man","male","boy","confused","indifferent","doubt"],char:"🤷‍♂️",fitzpatrick_scale:true,category:"people"},tipping_hand_woman:{keywords:["female","girl","woman","human","information"],char:"💁",fitzpatrick_scale:true,category:"people"},tipping_hand_man:{keywords:["male","boy","man","human","information"],char:"💁‍♂️",fitzpatrick_scale:true,category:"people"},no_good_woman:{keywords:["female","girl","woman","nope"],char:"🙅",fitzpatrick_scale:true,category:"people"},no_good_man:{keywords:["male","boy","man","nope"],char:"🙅‍♂️",fitzpatrick_scale:true,category:"people"},ok_woman:{keywords:["women","girl","female","pink","human","woman"],char:"🙆",fitzpatrick_scale:true,category:"people"},ok_man:{keywords:["men","boy","male","blue","human","man"],char:"🙆‍♂️",fitzpatrick_scale:true,category:"people"},raising_hand_woman:{keywords:["female","girl","woman"],char:"🙋",fitzpatrick_scale:true,category:"people"},raising_hand_man:{keywords:["male","boy","man"],char:"🙋‍♂️",fitzpatrick_scale:true,category:"people"},pouting_woman:{keywords:["female","girl","woman"],char:"🙎",fitzpatrick_scale:true,category:"people"},pouting_man:{keywords:["male","boy","man"],char:"🙎‍♂️",fitzpatrick_scale:true,category:"people"},frowning_woman:{keywords:["female","girl","woman","sad","depressed","discouraged","unhappy"],char:"🙍",fitzpatrick_scale:true,category:"people"},frowning_man:{keywords:["male","boy","man","sad","depressed","discouraged","unhappy"],char:"🙍‍♂️",fitzpatrick_scale:true,category:"people"},haircut_woman:{keywords:["female","girl","woman"],char:"💇",fitzpatrick_scale:true,category:"people"},haircut_man:{keywords:["male","boy","man"],char:"💇‍♂️",fitzpatrick_scale:true,category:"people"},massage_woman:{keywords:["female","girl","woman","head"],char:"💆",fitzpatrick_scale:true,category:"people"},massage_man:{keywords:["male","boy","man","head"],char:"💆‍♂️",fitzpatrick_scale:true,category:"people"},woman_in_steamy_room:{keywords:["female","woman","spa","steamroom","sauna"],char:"🧖‍♀️",fitzpatrick_scale:true,category:"people"},man_in_steamy_room:{keywords:["male","man","spa","steamroom","sauna"],char:"🧖‍♂️",fitzpatrick_scale:true,category:"people"},couple_with_heart_woman_man:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:"💑",fitzpatrick_scale:false,category:"people"},couple_with_heart_woman_woman:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:"👩‍❤️‍👩",fitzpatrick_scale:false,category:"people"},couple_with_heart_man_man:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:"👨‍❤️‍👨",fitzpatrick_scale:false,category:"people"},couplekiss_man_woman:{keywords:["pair","valentines","love","like","dating","marriage"],char:"💏",fitzpatrick_scale:false,category:"people"},couplekiss_woman_woman:{keywords:["pair","valentines","love","like","dating","marriage"],char:"👩‍❤️‍💋‍👩",fitzpatrick_scale:false,category:"people"},couplekiss_man_man:{keywords:["pair","valentines","love","like","dating","marriage"],char:"👨‍❤️‍💋‍👨",fitzpatrick_scale:false,category:"people"},family_man_woman_boy:{keywords:["home","parents","child","mom","dad","father","mother","people","human"],char:"👪",fitzpatrick_scale:false,category:"people"},family_man_woman_girl:{keywords:["home","parents","people","human","child"],char:"👨‍👩‍👧",fitzpatrick_scale:false,category:"people"},family_man_woman_girl_boy:{keywords:["home","parents","people","human","children"],char:"👨‍👩‍👧‍👦",fitzpatrick_scale:false,category:"people"},family_man_woman_boy_boy:{keywords:["home","parents","people","human","children"],char:"👨‍👩‍👦‍👦",fitzpatrick_scale:false,category:"people"},family_man_woman_girl_girl:{keywords:["home","parents","people","human","children"],char:"👨‍👩‍👧‍👧",fitzpatrick_scale:false,category:"people"},family_woman_woman_boy:{keywords:["home","parents","people","human","children"],char:"👩‍👩‍👦",fitzpatrick_scale:false,category:"people"},family_woman_woman_girl:{keywords:["home","parents","people","human","children"],char:"👩‍👩‍👧",fitzpatrick_scale:false,category:"people"},family_woman_woman_girl_boy:{keywords:["home","parents","people","human","children"],char:"👩‍👩‍👧‍👦",fitzpatrick_scale:false,category:"people"},family_woman_woman_boy_boy:{keywords:["home","parents","people","human","children"],char:"👩‍👩‍👦‍👦",fitzpatrick_scale:false,category:"people"},family_woman_woman_girl_girl:{keywords:["home","parents","people","human","children"],char:"👩‍👩‍👧‍👧",fitzpatrick_scale:false,category:"people"},family_man_man_boy:{keywords:["home","parents","people","human","children"],char:"👨‍👨‍👦",fitzpatrick_scale:false,category:"people"},family_man_man_girl:{keywords:["home","parents","people","human","children"],char:"👨‍👨‍👧",fitzpatrick_scale:false,category:"people"},family_man_man_girl_boy:{keywords:["home","parents","people","human","children"],char:"👨‍👨‍👧‍👦",fitzpatrick_scale:false,category:"people"},family_man_man_boy_boy:{keywords:["home","parents","people","human","children"],char:"👨‍👨‍👦‍👦",fitzpatrick_scale:false,category:"people"},family_man_man_girl_girl:{keywords:["home","parents","people","human","children"],char:"👨‍👨‍👧‍👧",fitzpatrick_scale:false,category:"people"},family_woman_boy:{keywords:["home","parent","people","human","child"],char:"👩‍👦",fitzpatrick_scale:false,category:"people"},family_woman_girl:{keywords:["home","parent","people","human","child"],char:"👩‍👧",fitzpatrick_scale:false,category:"people"},family_woman_girl_boy:{keywords:["home","parent","people","human","children"],char:"👩‍👧‍👦",fitzpatrick_scale:false,category:"people"},family_woman_boy_boy:{keywords:["home","parent","people","human","children"],char:"👩‍👦‍👦",fitzpatrick_scale:false,category:"people"},family_woman_girl_girl:{keywords:["home","parent","people","human","children"],char:"👩‍👧‍👧",fitzpatrick_scale:false,category:"people"},family_man_boy:{keywords:["home","parent","people","human","child"],char:"👨‍👦",fitzpatrick_scale:false,category:"people"},family_man_girl:{keywords:["home","parent","people","human","child"],char:"👨‍👧",fitzpatrick_scale:false,category:"people"},family_man_girl_boy:{keywords:["home","parent","people","human","children"],char:"👨‍👧‍👦",fitzpatrick_scale:false,category:"people"},family_man_boy_boy:{keywords:["home","parent","people","human","children"],char:"👨‍👦‍👦",fitzpatrick_scale:false,category:"people"},family_man_girl_girl:{keywords:["home","parent","people","human","children"],char:"👨‍👧‍👧",fitzpatrick_scale:false,category:"people"},yarn:{keywords:["ball","crochet","knit"],char:"🧶",fitzpatrick_scale:false,category:"people"},thread:{keywords:["needle","sewing","spool","string"],char:"🧵",fitzpatrick_scale:false,category:"people"},coat:{keywords:["jacket"],char:"🧥",fitzpatrick_scale:false,category:"people"},labcoat:{keywords:["doctor","experiment","scientist","chemist"],char:"🥼",fitzpatrick_scale:false,category:"people"},womans_clothes:{keywords:["fashion","shopping_bags","female"],char:"👚",fitzpatrick_scale:false,category:"people"},tshirt:{keywords:["fashion","cloth","casual","shirt","tee"],char:"👕",fitzpatrick_scale:false,category:"people"},jeans:{keywords:["fashion","shopping"],char:"👖",fitzpatrick_scale:false,category:"people"},necktie:{keywords:["shirt","suitup","formal","fashion","cloth","business"],char:"👔",fitzpatrick_scale:false,category:"people"},dress:{keywords:["clothes","fashion","shopping"],char:"👗",fitzpatrick_scale:false,category:"people"},bikini:{keywords:["swimming","female","woman","girl","fashion","beach","summer"],char:"👙",fitzpatrick_scale:false,category:"people"},kimono:{keywords:["dress","fashion","women","female","japanese"],char:"👘",fitzpatrick_scale:false,category:"people"},lipstick:{keywords:["female","girl","fashion","woman"],char:"💄",fitzpatrick_scale:false,category:"people"},kiss:{keywords:["face","lips","love","like","affection","valentines"],char:"💋",fitzpatrick_scale:false,category:"people"},footprints:{keywords:["feet","tracking","walking","beach"],char:"👣",fitzpatrick_scale:false,category:"people"},flat_shoe:{keywords:["ballet","slip-on","slipper"],char:"🥿",fitzpatrick_scale:false,category:"people"},high_heel:{keywords:["fashion","shoes","female","pumps","stiletto"],char:"👠",fitzpatrick_scale:false,category:"people"},sandal:{keywords:["shoes","fashion","flip flops"],char:"👡",fitzpatrick_scale:false,category:"people"},boot:{keywords:["shoes","fashion"],char:"👢",fitzpatrick_scale:false,category:"people"},mans_shoe:{keywords:["fashion","male"],char:"👞",fitzpatrick_scale:false,category:"people"},athletic_shoe:{keywords:["shoes","sports","sneakers"],char:"👟",fitzpatrick_scale:false,category:"people"},hiking_boot:{keywords:["backpacking","camping","hiking"],char:"🥾",fitzpatrick_scale:false,category:"people"},socks:{keywords:["stockings","clothes"],char:"🧦",fitzpatrick_scale:false,category:"people"},gloves:{keywords:["hands","winter","clothes"],char:"🧤",fitzpatrick_scale:false,category:"people"},scarf:{keywords:["neck","winter","clothes"],char:"🧣",fitzpatrick_scale:false,category:"people"},womans_hat:{keywords:["fashion","accessories","female","lady","spring"],char:"👒",fitzpatrick_scale:false,category:"people"},tophat:{keywords:["magic","gentleman","classy","circus"],char:"🎩",fitzpatrick_scale:false,category:"people"},billed_hat:{keywords:["cap","baseball"],char:"🧢",fitzpatrick_scale:false,category:"people"},rescue_worker_helmet:{keywords:["construction","build"],char:"⛑",fitzpatrick_scale:false,category:"people"},mortar_board:{keywords:["school","college","degree","university","graduation","cap","hat","legal","learn","education"],char:"🎓",fitzpatrick_scale:false,category:"people"},crown:{keywords:["king","kod","leader","royalty","lord"],char:"👑",fitzpatrick_scale:false,category:"people"},school_satchel:{keywords:["student","education","bag","backpack"],char:"🎒",fitzpatrick_scale:false,category:"people"},luggage:{keywords:["packing","travel"],char:"🧳",fitzpatrick_scale:false,category:"people"},pouch:{keywords:["bag","accessories","shopping"],char:"👝",fitzpatrick_scale:false,category:"people"},purse:{keywords:["fashion","accessories","money","sales","shopping"],char:"👛",fitzpatrick_scale:false,category:"people"},handbag:{keywords:["fashion","accessory","accessories","shopping"],char:"👜",fitzpatrick_scale:false,category:"people"},briefcase:{keywords:["business","documents","work","law","legal","job","career"],char:"💼",fitzpatrick_scale:false,category:"people"},eyeglasses:{keywords:["fashion","accessories","eyesight","nerdy","dork","geek"],char:"👓",fitzpatrick_scale:false,category:"people"},dark_sunglasses:{keywords:["face","cool","accessories"],char:"🕶",fitzpatrick_scale:false,category:"people"},goggles:{keywords:["eyes","protection","safety"],char:"🥽",fitzpatrick_scale:false,category:"people"},ring:{keywords:["wedding","propose","marriage","valentines","diamond","fashion","jewelry","gem","engagement"],char:"💍",fitzpatrick_scale:false,category:"people"},closed_umbrella:{keywords:["weather","rain","drizzle"],char:"🌂",fitzpatrick_scale:false,category:"people"},dog:{keywords:["animal","friend","nature","woof","puppy","pet","faithful"],char:"🐶",fitzpatrick_scale:false,category:"animals_and_nature"},cat:{keywords:["animal","meow","nature","pet","kitten"],char:"🐱",fitzpatrick_scale:false,category:"animals_and_nature"},mouse:{keywords:["animal","nature","cheese_wedge","rodent"],char:"🐭",fitzpatrick_scale:false,category:"animals_and_nature"},hamster:{keywords:["animal","nature"],char:"🐹",fitzpatrick_scale:false,category:"animals_and_nature"},rabbit:{keywords:["animal","nature","pet","spring","magic","bunny"],char:"🐰",fitzpatrick_scale:false,category:"animals_and_nature"},fox_face:{keywords:["animal","nature","face"],char:"🦊",fitzpatrick_scale:false,category:"animals_and_nature"},bear:{keywords:["animal","nature","wild"],char:"🐻",fitzpatrick_scale:false,category:"animals_and_nature"},panda_face:{keywords:["animal","nature","panda"],char:"🐼",fitzpatrick_scale:false,category:"animals_and_nature"},koala:{keywords:["animal","nature"],char:"🐨",fitzpatrick_scale:false,category:"animals_and_nature"},tiger:{keywords:["animal","cat","danger","wild","nature","roar"],char:"🐯",fitzpatrick_scale:false,category:"animals_and_nature"},lion:{keywords:["animal","nature"],char:"🦁",fitzpatrick_scale:false,category:"animals_and_nature"},cow:{keywords:["beef","ox","animal","nature","moo","milk"],char:"🐮",fitzpatrick_scale:false,category:"animals_and_nature"},pig:{keywords:["animal","oink","nature"],char:"🐷",fitzpatrick_scale:false,category:"animals_and_nature"},pig_nose:{keywords:["animal","oink"],char:"🐽",fitzpatrick_scale:false,category:"animals_and_nature"},frog:{keywords:["animal","nature","croak","toad"],char:"🐸",fitzpatrick_scale:false,category:"animals_and_nature"},squid:{keywords:["animal","nature","ocean","sea"],char:"🦑",fitzpatrick_scale:false,category:"animals_and_nature"},octopus:{keywords:["animal","creature","ocean","sea","nature","beach"],char:"🐙",fitzpatrick_scale:false,category:"animals_and_nature"},shrimp:{keywords:["animal","ocean","nature","seafood"],char:"🦐",fitzpatrick_scale:false,category:"animals_and_nature"},monkey_face:{keywords:["animal","nature","circus"],char:"🐵",fitzpatrick_scale:false,category:"animals_and_nature"},gorilla:{keywords:["animal","nature","circus"],char:"🦍",fitzpatrick_scale:false,category:"animals_and_nature"},see_no_evil:{keywords:["monkey","animal","nature","haha"],char:"🙈",fitzpatrick_scale:false,category:"animals_and_nature"},hear_no_evil:{keywords:["animal","monkey","nature"],char:"🙉",fitzpatrick_scale:false,category:"animals_and_nature"},speak_no_evil:{keywords:["monkey","animal","nature","omg"],char:"🙊",fitzpatrick_scale:false,category:"animals_and_nature"},monkey:{keywords:["animal","nature","banana","circus"],char:"🐒",fitzpatrick_scale:false,category:"animals_and_nature"},chicken:{keywords:["animal","cluck","nature","bird"],char:"🐔",fitzpatrick_scale:false,category:"animals_and_nature"},penguin:{keywords:["animal","nature"],char:"🐧",fitzpatrick_scale:false,category:"animals_and_nature"},bird:{keywords:["animal","nature","fly","tweet","spring"],char:"🐦",fitzpatrick_scale:false,category:"animals_and_nature"},baby_chick:{keywords:["animal","chicken","bird"],char:"🐤",fitzpatrick_scale:false,category:"animals_and_nature"},hatching_chick:{keywords:["animal","chicken","egg","born","baby","bird"],char:"🐣",fitzpatrick_scale:false,category:"animals_and_nature"},hatched_chick:{keywords:["animal","chicken","baby","bird"],char:"🐥",fitzpatrick_scale:false,category:"animals_and_nature"},duck:{keywords:["animal","nature","bird","mallard"],char:"🦆",fitzpatrick_scale:false,category:"animals_and_nature"},eagle:{keywords:["animal","nature","bird"],char:"🦅",fitzpatrick_scale:false,category:"animals_and_nature"},owl:{keywords:["animal","nature","bird","hoot"],char:"🦉",fitzpatrick_scale:false,category:"animals_and_nature"},bat:{keywords:["animal","nature","blind","vampire"],char:"🦇",fitzpatrick_scale:false,category:"animals_and_nature"},wolf:{keywords:["animal","nature","wild"],char:"🐺",fitzpatrick_scale:false,category:"animals_and_nature"},boar:{keywords:["animal","nature"],char:"🐗",fitzpatrick_scale:false,category:"animals_and_nature"},horse:{keywords:["animal","brown","nature"],char:"🐴",fitzpatrick_scale:false,category:"animals_and_nature"},unicorn:{keywords:["animal","nature","mystical"],char:"🦄",fitzpatrick_scale:false,category:"animals_and_nature"},honeybee:{keywords:["animal","insect","nature","bug","spring","honey"],char:"🐝",fitzpatrick_scale:false,category:"animals_and_nature"},bug:{keywords:["animal","insect","nature","worm"],char:"🐛",fitzpatrick_scale:false,category:"animals_and_nature"},butterfly:{keywords:["animal","insect","nature","caterpillar"],char:"🦋",fitzpatrick_scale:false,category:"animals_and_nature"},snail:{keywords:["slow","animal","shell"],char:"🐌",fitzpatrick_scale:false,category:"animals_and_nature"},beetle:{keywords:["animal","insect","nature","ladybug"],char:"🐞",fitzpatrick_scale:false,category:"animals_and_nature"},ant:{keywords:["animal","insect","nature","bug"],char:"🐜",fitzpatrick_scale:false,category:"animals_and_nature"},grasshopper:{keywords:["animal","cricket","chirp"],char:"🦗",fitzpatrick_scale:false,category:"animals_and_nature"},spider:{keywords:["animal","arachnid"],char:"🕷",fitzpatrick_scale:false,category:"animals_and_nature"},scorpion:{keywords:["animal","arachnid"],char:"🦂",fitzpatrick_scale:false,category:"animals_and_nature"},crab:{keywords:["animal","crustacean"],char:"🦀",fitzpatrick_scale:false,category:"animals_and_nature"},snake:{keywords:["animal","evil","nature","hiss","python"],char:"🐍",fitzpatrick_scale:false,category:"animals_and_nature"},lizard:{keywords:["animal","nature","reptile"],char:"🦎",fitzpatrick_scale:false,category:"animals_and_nature"},"t-rex":{keywords:["animal","nature","dinosaur","tyrannosaurus","extinct"],char:"🦖",fitzpatrick_scale:false,category:"animals_and_nature"},sauropod:{keywords:["animal","nature","dinosaur","brachiosaurus","brontosaurus","diplodocus","extinct"],char:"🦕",fitzpatrick_scale:false,category:"animals_and_nature"},turtle:{keywords:["animal","slow","nature","tortoise"],char:"🐢",fitzpatrick_scale:false,category:"animals_and_nature"},tropical_fish:{keywords:["animal","swim","ocean","beach","nemo"],char:"🐠",fitzpatrick_scale:false,category:"animals_and_nature"},fish:{keywords:["animal","food","nature"],char:"🐟",fitzpatrick_scale:false,category:"animals_and_nature"},blowfish:{keywords:["animal","nature","food","sea","ocean"],char:"🐡",fitzpatrick_scale:false,category:"animals_and_nature"},dolphin:{keywords:["animal","nature","fish","sea","ocean","flipper","fins","beach"],char:"🐬",fitzpatrick_scale:false,category:"animals_and_nature"},shark:{keywords:["animal","nature","fish","sea","ocean","jaws","fins","beach"],char:"🦈",fitzpatrick_scale:false,category:"animals_and_nature"},whale:{keywords:["animal","nature","sea","ocean"],char:"🐳",fitzpatrick_scale:false,category:"animals_and_nature"},whale2:{keywords:["animal","nature","sea","ocean"],char:"🐋",fitzpatrick_scale:false,category:"animals_and_nature"},crocodile:{keywords:["animal","nature","reptile","lizard","alligator"],char:"🐊",fitzpatrick_scale:false,category:"animals_and_nature"},leopard:{keywords:["animal","nature"],char:"🐆",fitzpatrick_scale:false,category:"animals_and_nature"},zebra:{keywords:["animal","nature","stripes","safari"],char:"🦓",fitzpatrick_scale:false,category:"animals_and_nature"},tiger2:{keywords:["animal","nature","roar"],char:"🐅",fitzpatrick_scale:false,category:"animals_and_nature"},water_buffalo:{keywords:["animal","nature","ox","cow"],char:"🐃",fitzpatrick_scale:false,category:"animals_and_nature"},ox:{keywords:["animal","cow","beef"],char:"🐂",fitzpatrick_scale:false,category:"animals_and_nature"},cow2:{keywords:["beef","ox","animal","nature","moo","milk"],char:"🐄",fitzpatrick_scale:false,category:"animals_and_nature"},deer:{keywords:["animal","nature","horns","venison"],char:"🦌",fitzpatrick_scale:false,category:"animals_and_nature"},dromedary_camel:{keywords:["animal","hot","desert","hump"],char:"🐪",fitzpatrick_scale:false,category:"animals_and_nature"},camel:{keywords:["animal","nature","hot","desert","hump"],char:"🐫",fitzpatrick_scale:false,category:"animals_and_nature"},giraffe:{keywords:["animal","nature","spots","safari"],char:"🦒",fitzpatrick_scale:false,category:"animals_and_nature"},elephant:{keywords:["animal","nature","nose","th","circus"],char:"🐘",fitzpatrick_scale:false,category:"animals_and_nature"},rhinoceros:{keywords:["animal","nature","horn"],char:"🦏",fitzpatrick_scale:false,category:"animals_and_nature"},goat:{keywords:["animal","nature"],char:"🐐",fitzpatrick_scale:false,category:"animals_and_nature"},ram:{keywords:["animal","sheep","nature"],char:"🐏",fitzpatrick_scale:false,category:"animals_and_nature"},sheep:{keywords:["animal","nature","wool","shipit"],char:"🐑",fitzpatrick_scale:false,category:"animals_and_nature"},racehorse:{keywords:["animal","gamble","luck"],char:"🐎",fitzpatrick_scale:false,category:"animals_and_nature"},pig2:{keywords:["animal","nature"],char:"🐖",fitzpatrick_scale:false,category:"animals_and_nature"},rat:{keywords:["animal","mouse","rodent"],char:"🐀",fitzpatrick_scale:false,category:"animals_and_nature"},mouse2:{keywords:["animal","nature","rodent"],char:"🐁",fitzpatrick_scale:false,category:"animals_and_nature"},rooster:{keywords:["animal","nature","chicken"],char:"🐓",fitzpatrick_scale:false,category:"animals_and_nature"},turkey:{keywords:["animal","bird"],char:"🦃",fitzpatrick_scale:false,category:"animals_and_nature"},dove:{keywords:["animal","bird"],char:"🕊",fitzpatrick_scale:false,category:"animals_and_nature"},dog2:{keywords:["animal","nature","friend","doge","pet","faithful"],char:"🐕",fitzpatrick_scale:false,category:"animals_and_nature"},poodle:{keywords:["dog","animal","101","nature","pet"],char:"🐩",fitzpatrick_scale:false,category:"animals_and_nature"},cat2:{keywords:["animal","meow","pet","cats"],char:"🐈",fitzpatrick_scale:false,category:"animals_and_nature"},rabbit2:{keywords:["animal","nature","pet","magic","spring"],char:"🐇",fitzpatrick_scale:false,category:"animals_and_nature"},chipmunk:{keywords:["animal","nature","rodent","squirrel"],char:"🐿",fitzpatrick_scale:false,category:"animals_and_nature"},hedgehog:{keywords:["animal","nature","spiny"],char:"🦔",fitzpatrick_scale:false,category:"animals_and_nature"},raccoon:{keywords:["animal","nature"],char:"🦝",fitzpatrick_scale:false,category:"animals_and_nature"},llama:{keywords:["animal","nature","alpaca"],char:"🦙",fitzpatrick_scale:false,category:"animals_and_nature"},hippopotamus:{keywords:["animal","nature"],char:"🦛",fitzpatrick_scale:false,category:"animals_and_nature"},kangaroo:{keywords:["animal","nature","australia","joey","hop","marsupial"],char:"🦘",fitzpatrick_scale:false,category:"animals_and_nature"},badger:{keywords:["animal","nature","honey"],char:"🦡",fitzpatrick_scale:false,category:"animals_and_nature"},swan:{keywords:["animal","nature","bird"],char:"🦢",fitzpatrick_scale:false,category:"animals_and_nature"},peacock:{keywords:["animal","nature","peahen","bird"],char:"🦚",fitzpatrick_scale:false,category:"animals_and_nature"},parrot:{keywords:["animal","nature","bird","pirate","talk"],char:"🦜",fitzpatrick_scale:false,category:"animals_and_nature"},lobster:{keywords:["animal","nature","bisque","claws","seafood"],char:"🦞",fitzpatrick_scale:false,category:"animals_and_nature"},mosquito:{keywords:["animal","nature","insect","malaria"],char:"🦟",fitzpatrick_scale:false,category:"animals_and_nature"},paw_prints:{keywords:["animal","tracking","footprints","dog","cat","pet","feet"],char:"🐾",fitzpatrick_scale:false,category:"animals_and_nature"},dragon:{keywords:["animal","myth","nature","chinese","green"],char:"🐉",fitzpatrick_scale:false,category:"animals_and_nature"},dragon_face:{keywords:["animal","myth","nature","chinese","green"],char:"🐲",fitzpatrick_scale:false,category:"animals_and_nature"},cactus:{keywords:["vegetable","plant","nature"],char:"🌵",fitzpatrick_scale:false,category:"animals_and_nature"},christmas_tree:{keywords:["festival","vacation","december","xmas","celebration"],char:"🎄",fitzpatrick_scale:false,category:"animals_and_nature"},evergreen_tree:{keywords:["plant","nature"],char:"🌲",fitzpatrick_scale:false,category:"animals_and_nature"},deciduous_tree:{keywords:["plant","nature"],char:"🌳",fitzpatrick_scale:false,category:"animals_and_nature"},palm_tree:{keywords:["plant","vegetable","nature","summer","beach","mojito","tropical"],char:"🌴",fitzpatrick_scale:false,category:"animals_and_nature"},seedling:{keywords:["plant","nature","grass","lawn","spring"],char:"🌱",fitzpatrick_scale:false,category:"animals_and_nature"},herb:{keywords:["vegetable","plant","medicine","weed","grass","lawn"],char:"🌿",fitzpatrick_scale:false,category:"animals_and_nature"},shamrock:{keywords:["vegetable","plant","nature","irish","clover"],char:"☘",fitzpatrick_scale:false,category:"animals_and_nature"},four_leaf_clover:{keywords:["vegetable","plant","nature","lucky","irish"],char:"🍀",fitzpatrick_scale:false,category:"animals_and_nature"},bamboo:{keywords:["plant","nature","vegetable","panda","pine_decoration"],char:"🎍",fitzpatrick_scale:false,category:"animals_and_nature"},tanabata_tree:{keywords:["plant","nature","branch","summer"],char:"🎋",fitzpatrick_scale:false,category:"animals_and_nature"},leaves:{keywords:["nature","plant","tree","vegetable","grass","lawn","spring"],char:"🍃",fitzpatrick_scale:false,category:"animals_and_nature"},fallen_leaf:{keywords:["nature","plant","vegetable","leaves"],char:"🍂",fitzpatrick_scale:false,category:"animals_and_nature"},maple_leaf:{keywords:["nature","plant","vegetable","ca","fall"],char:"🍁",fitzpatrick_scale:false,category:"animals_and_nature"},ear_of_rice:{keywords:["nature","plant"],char:"🌾",fitzpatrick_scale:false,category:"animals_and_nature"},hibiscus:{keywords:["plant","vegetable","flowers","beach"],char:"🌺",fitzpatrick_scale:false,category:"animals_and_nature"},sunflower:{keywords:["nature","plant","fall"],char:"🌻",fitzpatrick_scale:false,category:"animals_and_nature"},rose:{keywords:["flowers","valentines","love","spring"],char:"🌹",fitzpatrick_scale:false,category:"animals_and_nature"},wilted_flower:{keywords:["plant","nature","flower"],char:"🥀",fitzpatrick_scale:false,category:"animals_and_nature"},tulip:{keywords:["flowers","plant","nature","summer","spring"],char:"🌷",fitzpatrick_scale:false,category:"animals_and_nature"},blossom:{keywords:["nature","flowers","yellow"],char:"🌼",fitzpatrick_scale:false,category:"animals_and_nature"},cherry_blossom:{keywords:["nature","plant","spring","flower"],char:"🌸",fitzpatrick_scale:false,category:"animals_and_nature"},bouquet:{keywords:["flowers","nature","spring"],char:"💐",fitzpatrick_scale:false,category:"animals_and_nature"},mushroom:{keywords:["plant","vegetable"],char:"🍄",fitzpatrick_scale:false,category:"animals_and_nature"},chestnut:{keywords:["food","squirrel"],char:"🌰",fitzpatrick_scale:false,category:"animals_and_nature"},jack_o_lantern:{keywords:["halloween","light","pumpkin","creepy","fall"],char:"🎃",fitzpatrick_scale:false,category:"animals_and_nature"},shell:{keywords:["nature","sea","beach"],char:"🐚",fitzpatrick_scale:false,category:"animals_and_nature"},spider_web:{keywords:["animal","insect","arachnid","silk"],char:"🕸",fitzpatrick_scale:false,category:"animals_and_nature"},earth_americas:{keywords:["globe","world","USA","international"],char:"🌎",fitzpatrick_scale:false,category:"animals_and_nature"},earth_africa:{keywords:["globe","world","international"],char:"🌍",fitzpatrick_scale:false,category:"animals_and_nature"},earth_asia:{keywords:["globe","world","east","international"],char:"🌏",fitzpatrick_scale:false,category:"animals_and_nature"},full_moon:{keywords:["nature","yellow","twilight","planet","space","night","evening","sleep"],char:"🌕",fitzpatrick_scale:false,category:"animals_and_nature"},waning_gibbous_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep","waxing_gibbous_moon"],char:"🌖",fitzpatrick_scale:false,category:"animals_and_nature"},last_quarter_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"🌗",fitzpatrick_scale:false,category:"animals_and_nature"},waning_crescent_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"🌘",fitzpatrick_scale:false,category:"animals_and_nature"},new_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"🌑",fitzpatrick_scale:false,category:"animals_and_nature"},waxing_crescent_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"🌒",fitzpatrick_scale:false,category:"animals_and_nature"},first_quarter_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"🌓",fitzpatrick_scale:false,category:"animals_and_nature"},waxing_gibbous_moon:{keywords:["nature","night","sky","gray","twilight","planet","space","evening","sleep"],char:"🌔",fitzpatrick_scale:false,category:"animals_and_nature"},new_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"🌚",fitzpatrick_scale:false,category:"animals_and_nature"},full_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"🌝",fitzpatrick_scale:false,category:"animals_and_nature"},first_quarter_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"🌛",fitzpatrick_scale:false,category:"animals_and_nature"},last_quarter_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"🌜",fitzpatrick_scale:false,category:"animals_and_nature"},sun_with_face:{keywords:["nature","morning","sky"],char:"🌞",fitzpatrick_scale:false,category:"animals_and_nature"},crescent_moon:{keywords:["night","sleep","sky","evening","magic"],char:"🌙",fitzpatrick_scale:false,category:"animals_and_nature"},star:{keywords:["night","yellow"],char:"⭐",fitzpatrick_scale:false,category:"animals_and_nature"},star2:{keywords:["night","sparkle","awesome","good","magic"],char:"🌟",fitzpatrick_scale:false,category:"animals_and_nature"},dizzy:{keywords:["star","sparkle","shoot","magic"],char:"💫",fitzpatrick_scale:false,category:"animals_and_nature"},sparkles:{keywords:["stars","shine","shiny","cool","awesome","good","magic"],char:"✨",fitzpatrick_scale:false,category:"animals_and_nature"},comet:{keywords:["space"],char:"☄",fitzpatrick_scale:false,category:"animals_and_nature"},sunny:{keywords:["weather","nature","brightness","summer","beach","spring"],char:"☀️",fitzpatrick_scale:false,category:"animals_and_nature"},sun_behind_small_cloud:{keywords:["weather"],char:"🌤",fitzpatrick_scale:false,category:"animals_and_nature"},partly_sunny:{keywords:["weather","nature","cloudy","morning","fall","spring"],char:"⛅",fitzpatrick_scale:false,category:"animals_and_nature"},sun_behind_large_cloud:{keywords:["weather"],char:"🌥",fitzpatrick_scale:false,category:"animals_and_nature"},sun_behind_rain_cloud:{keywords:["weather"],char:"🌦",fitzpatrick_scale:false,category:"animals_and_nature"},cloud:{keywords:["weather","sky"],char:"☁️",fitzpatrick_scale:false,category:"animals_and_nature"},cloud_with_rain:{keywords:["weather"],char:"🌧",fitzpatrick_scale:false,category:"animals_and_nature"},cloud_with_lightning_and_rain:{keywords:["weather","lightning"],char:"⛈",fitzpatrick_scale:false,category:"animals_and_nature"},cloud_with_lightning:{keywords:["weather","thunder"],char:"🌩",fitzpatrick_scale:false,category:"animals_and_nature"},zap:{keywords:["thunder","weather","lightning bolt","fast"],char:"⚡",fitzpatrick_scale:false,category:"animals_and_nature"},fire:{keywords:["hot","cook","flame"],char:"🔥",fitzpatrick_scale:false,category:"animals_and_nature"},boom:{keywords:["bomb","explode","explosion","collision","blown"],char:"💥",fitzpatrick_scale:false,category:"animals_and_nature"},snowflake:{keywords:["winter","season","cold","weather","christmas","xmas"],char:"❄️",fitzpatrick_scale:false,category:"animals_and_nature"},cloud_with_snow:{keywords:["weather"],char:"🌨",fitzpatrick_scale:false,category:"animals_and_nature"},snowman:{keywords:["winter","season","cold","weather","christmas","xmas","frozen","without_snow"],char:"⛄",fitzpatrick_scale:false,category:"animals_and_nature"},snowman_with_snow:{keywords:["winter","season","cold","weather","christmas","xmas","frozen"],char:"☃",fitzpatrick_scale:false,category:"animals_and_nature"},wind_face:{keywords:["gust","air"],char:"🌬",fitzpatrick_scale:false,category:"animals_and_nature"},dash:{keywords:["wind","air","fast","shoo","fart","smoke","puff"],char:"💨",fitzpatrick_scale:false,category:"animals_and_nature"},tornado:{keywords:["weather","cyclone","twister"],char:"🌪",fitzpatrick_scale:false,category:"animals_and_nature"},fog:{keywords:["weather"],char:"🌫",fitzpatrick_scale:false,category:"animals_and_nature"},open_umbrella:{keywords:["weather","spring"],char:"☂",fitzpatrick_scale:false,category:"animals_and_nature"},umbrella:{keywords:["rainy","weather","spring"],char:"☔",fitzpatrick_scale:false,category:"animals_and_nature"},droplet:{keywords:["water","drip","faucet","spring"],char:"💧",fitzpatrick_scale:false,category:"animals_and_nature"},sweat_drops:{keywords:["water","drip","oops"],char:"💦",fitzpatrick_scale:false,category:"animals_and_nature"},ocean:{keywords:["sea","water","wave","nature","tsunami","disaster"],char:"🌊",fitzpatrick_scale:false,category:"animals_and_nature"},green_apple:{keywords:["fruit","nature"],char:"🍏",fitzpatrick_scale:false,category:"food_and_drink"},apple:{keywords:["fruit","mac","school"],char:"🍎",fitzpatrick_scale:false,category:"food_and_drink"},pear:{keywords:["fruit","nature","food"],char:"🍐",fitzpatrick_scale:false,category:"food_and_drink"},tangerine:{keywords:["food","fruit","nature","orange"],char:"🍊",fitzpatrick_scale:false,category:"food_and_drink"},lemon:{keywords:["fruit","nature"],char:"🍋",fitzpatrick_scale:false,category:"food_and_drink"},banana:{keywords:["fruit","food","monkey"],char:"🍌",fitzpatrick_scale:false,category:"food_and_drink"},watermelon:{keywords:["fruit","food","picnic","summer"],char:"🍉",fitzpatrick_scale:false,category:"food_and_drink"},grapes:{keywords:["fruit","food","wine"],char:"🍇",fitzpatrick_scale:false,category:"food_and_drink"},strawberry:{keywords:["fruit","food","nature"],char:"🍓",fitzpatrick_scale:false,category:"food_and_drink"},melon:{keywords:["fruit","nature","food"],char:"🍈",fitzpatrick_scale:false,category:"food_and_drink"},cherries:{keywords:["food","fruit"],char:"🍒",fitzpatrick_scale:false,category:"food_and_drink"},peach:{keywords:["fruit","nature","food"],char:"🍑",fitzpatrick_scale:false,category:"food_and_drink"},pineapple:{keywords:["fruit","nature","food"],char:"🍍",fitzpatrick_scale:false,category:"food_and_drink"},coconut:{keywords:["fruit","nature","food","palm"],char:"🥥",fitzpatrick_scale:false,category:"food_and_drink"},kiwi_fruit:{keywords:["fruit","food"],char:"🥝",fitzpatrick_scale:false,category:"food_and_drink"},mango:{keywords:["fruit","food","tropical"],char:"🥭",fitzpatrick_scale:false,category:"food_and_drink"},avocado:{keywords:["fruit","food"],char:"🥑",fitzpatrick_scale:false,category:"food_and_drink"},broccoli:{keywords:["fruit","food","vegetable"],char:"🥦",fitzpatrick_scale:false,category:"food_and_drink"},tomato:{keywords:["fruit","vegetable","nature","food"],char:"🍅",fitzpatrick_scale:false,category:"food_and_drink"},eggplant:{keywords:["vegetable","nature","food","aubergine"],char:"🍆",fitzpatrick_scale:false,category:"food_and_drink"},cucumber:{keywords:["fruit","food","pickle"],char:"🥒",fitzpatrick_scale:false,category:"food_and_drink"},carrot:{keywords:["vegetable","food","orange"],char:"🥕",fitzpatrick_scale:false,category:"food_and_drink"},hot_pepper:{keywords:["food","spicy","chilli","chili"],char:"🌶",fitzpatrick_scale:false,category:"food_and_drink"},potato:{keywords:["food","tuber","vegatable","starch"],char:"🥔",fitzpatrick_scale:false,category:"food_and_drink"},corn:{keywords:["food","vegetable","plant"],char:"🌽",fitzpatrick_scale:false,category:"food_and_drink"},leafy_greens:{keywords:["food","vegetable","plant","bok choy","cabbage","kale","lettuce"],char:"🥬",fitzpatrick_scale:false,category:"food_and_drink"},sweet_potato:{keywords:["food","nature"],char:"🍠",fitzpatrick_scale:false,category:"food_and_drink"},peanuts:{keywords:["food","nut"],char:"🥜",fitzpatrick_scale:false,category:"food_and_drink"},honey_pot:{keywords:["bees","sweet","kitchen"],char:"🍯",fitzpatrick_scale:false,category:"food_and_drink"},croissant:{keywords:["food","bread","french"],char:"🥐",fitzpatrick_scale:false,category:"food_and_drink"},bread:{keywords:["food","wheat","breakfast","toast"],char:"🍞",fitzpatrick_scale:false,category:"food_and_drink"},baguette_bread:{keywords:["food","bread","french"],char:"🥖",fitzpatrick_scale:false,category:"food_and_drink"},bagel:{keywords:["food","bread","bakery","schmear"],char:"🥯",fitzpatrick_scale:false,category:"food_and_drink"},pretzel:{keywords:["food","bread","twisted"],char:"🥨",fitzpatrick_scale:false,category:"food_and_drink"},cheese:{keywords:["food","chadder"],char:"🧀",fitzpatrick_scale:false,category:"food_and_drink"},egg:{keywords:["food","chicken","breakfast"],char:"🥚",fitzpatrick_scale:false,category:"food_and_drink"},bacon:{keywords:["food","breakfast","pork","pig","meat"],char:"🥓",fitzpatrick_scale:false,category:"food_and_drink"},steak:{keywords:["food","cow","meat","cut","chop","lambchop","porkchop"],char:"🥩",fitzpatrick_scale:false,category:"food_and_drink"},pancakes:{keywords:["food","breakfast","flapjacks","hotcakes"],char:"🥞",fitzpatrick_scale:false,category:"food_and_drink"},poultry_leg:{keywords:["food","meat","drumstick","bird","chicken","turkey"],char:"🍗",fitzpatrick_scale:false,category:"food_and_drink"},meat_on_bone:{keywords:["good","food","drumstick"],char:"🍖",fitzpatrick_scale:false,category:"food_and_drink"},bone:{keywords:["skeleton"],char:"🦴",fitzpatrick_scale:false,category:"food_and_drink"},fried_shrimp:{keywords:["food","animal","appetizer","summer"],char:"🍤",fitzpatrick_scale:false,category:"food_and_drink"},fried_egg:{keywords:["food","breakfast","kitchen","egg"],char:"🍳",fitzpatrick_scale:false,category:"food_and_drink"},hamburger:{keywords:["meat","fast food","beef","cheeseburger","mcdonalds","burger king"],char:"🍔",fitzpatrick_scale:false,category:"food_and_drink"},fries:{keywords:["chips","snack","fast food"],char:"🍟",fitzpatrick_scale:false,category:"food_and_drink"},stuffed_flatbread:{keywords:["food","flatbread","stuffed","gyro"],char:"🥙",fitzpatrick_scale:false,category:"food_and_drink"},hotdog:{keywords:["food","frankfurter"],char:"🌭",fitzpatrick_scale:false,category:"food_and_drink"},pizza:{keywords:["food","party"],char:"🍕",fitzpatrick_scale:false,category:"food_and_drink"},sandwich:{keywords:["food","lunch","bread"],char:"🥪",fitzpatrick_scale:false,category:"food_and_drink"},canned_food:{keywords:["food","soup"],char:"🥫",fitzpatrick_scale:false,category:"food_and_drink"},spaghetti:{keywords:["food","italian","noodle"],char:"🍝",fitzpatrick_scale:false,category:"food_and_drink"},taco:{keywords:["food","mexican"],char:"🌮",fitzpatrick_scale:false,category:"food_and_drink"},burrito:{keywords:["food","mexican"],char:"🌯",fitzpatrick_scale:false,category:"food_and_drink"},green_salad:{keywords:["food","healthy","lettuce"],char:"🥗",fitzpatrick_scale:false,category:"food_and_drink"},shallow_pan_of_food:{keywords:["food","cooking","casserole","paella"],char:"🥘",fitzpatrick_scale:false,category:"food_and_drink"},ramen:{keywords:["food","japanese","noodle","chopsticks"],char:"🍜",fitzpatrick_scale:false,category:"food_and_drink"},stew:{keywords:["food","meat","soup"],char:"🍲",fitzpatrick_scale:false,category:"food_and_drink"},fish_cake:{keywords:["food","japan","sea","beach","narutomaki","pink","swirl","kamaboko","surimi","ramen"],char:"🍥",fitzpatrick_scale:false,category:"food_and_drink"},fortune_cookie:{keywords:["food","prophecy"],char:"🥠",fitzpatrick_scale:false,category:"food_and_drink"},sushi:{keywords:["food","fish","japanese","rice"],char:"🍣",fitzpatrick_scale:false,category:"food_and_drink"},bento:{keywords:["food","japanese","box"],char:"🍱",fitzpatrick_scale:false,category:"food_and_drink"},curry:{keywords:["food","spicy","hot","indian"],char:"🍛",fitzpatrick_scale:false,category:"food_and_drink"},rice_ball:{keywords:["food","japanese"],char:"🍙",fitzpatrick_scale:false,category:"food_and_drink"},rice:{keywords:["food","china","asian"],char:"🍚",fitzpatrick_scale:false,category:"food_and_drink"},rice_cracker:{keywords:["food","japanese"],char:"🍘",fitzpatrick_scale:false,category:"food_and_drink"},oden:{keywords:["food","japanese"],char:"🍢",fitzpatrick_scale:false,category:"food_and_drink"},dango:{keywords:["food","dessert","sweet","japanese","barbecue","meat"],char:"🍡",fitzpatrick_scale:false,category:"food_and_drink"},shaved_ice:{keywords:["hot","dessert","summer"],char:"🍧",fitzpatrick_scale:false,category:"food_and_drink"},ice_cream:{keywords:["food","hot","dessert"],char:"🍨",fitzpatrick_scale:false,category:"food_and_drink"},icecream:{keywords:["food","hot","dessert","summer"],char:"🍦",fitzpatrick_scale:false,category:"food_and_drink"},pie:{keywords:["food","dessert","pastry"],char:"🥧",fitzpatrick_scale:false,category:"food_and_drink"},cake:{keywords:["food","dessert"],char:"🍰",fitzpatrick_scale:false,category:"food_and_drink"},cupcake:{keywords:["food","dessert","bakery","sweet"],char:"🧁",fitzpatrick_scale:false,category:"food_and_drink"},moon_cake:{keywords:["food","autumn"],char:"🥮",fitzpatrick_scale:false,category:"food_and_drink"},birthday:{keywords:["food","dessert","cake"],char:"🎂",fitzpatrick_scale:false,category:"food_and_drink"},custard:{keywords:["dessert","food"],char:"🍮",fitzpatrick_scale:false,category:"food_and_drink"},candy:{keywords:["snack","dessert","sweet","lolly"],char:"🍬",fitzpatrick_scale:false,category:"food_and_drink"},lollipop:{keywords:["food","snack","candy","sweet"],char:"🍭",fitzpatrick_scale:false,category:"food_and_drink"},chocolate_bar:{keywords:["food","snack","dessert","sweet"],char:"🍫",fitzpatrick_scale:false,category:"food_and_drink"},popcorn:{keywords:["food","movie theater","films","snack"],char:"🍿",fitzpatrick_scale:false,category:"food_and_drink"},dumpling:{keywords:["food","empanada","pierogi","potsticker"],char:"🥟",fitzpatrick_scale:false,category:"food_and_drink"},doughnut:{keywords:["food","dessert","snack","sweet","donut"],char:"🍩",fitzpatrick_scale:false,category:"food_and_drink"},cookie:{keywords:["food","snack","oreo","chocolate","sweet","dessert"],char:"🍪",fitzpatrick_scale:false,category:"food_and_drink"},milk_glass:{keywords:["beverage","drink","cow"],char:"🥛",fitzpatrick_scale:false,category:"food_and_drink"},beer:{keywords:["relax","beverage","drink","drunk","party","pub","summer","alcohol","booze"],char:"🍺",fitzpatrick_scale:false,category:"food_and_drink"},beers:{keywords:["relax","beverage","drink","drunk","party","pub","summer","alcohol","booze"],char:"🍻",fitzpatrick_scale:false,category:"food_and_drink"},clinking_glasses:{keywords:["beverage","drink","party","alcohol","celebrate","cheers","wine","champagne","toast"],char:"🥂",fitzpatrick_scale:false,category:"food_and_drink"},wine_glass:{keywords:["drink","beverage","drunk","alcohol","booze"],char:"🍷",fitzpatrick_scale:false,category:"food_and_drink"},tumbler_glass:{keywords:["drink","beverage","drunk","alcohol","liquor","booze","bourbon","scotch","whisky","glass","shot"],char:"🥃",fitzpatrick_scale:false,category:"food_and_drink"},cocktail:{keywords:["drink","drunk","alcohol","beverage","booze","mojito"],char:"🍸",fitzpatrick_scale:false,category:"food_and_drink"},tropical_drink:{keywords:["beverage","cocktail","summer","beach","alcohol","booze","mojito"],char:"🍹",fitzpatrick_scale:false,category:"food_and_drink"},champagne:{keywords:["drink","wine","bottle","celebration"],char:"🍾",fitzpatrick_scale:false,category:"food_and_drink"},sake:{keywords:["wine","drink","drunk","beverage","japanese","alcohol","booze"],char:"🍶",fitzpatrick_scale:false,category:"food_and_drink"},tea:{keywords:["drink","bowl","breakfast","green","british"],char:"🍵",fitzpatrick_scale:false,category:"food_and_drink"},cup_with_straw:{keywords:["drink","soda"],char:"🥤",fitzpatrick_scale:false,category:"food_and_drink"},coffee:{keywords:["beverage","caffeine","latte","espresso"],char:"☕",fitzpatrick_scale:false,category:"food_and_drink"},baby_bottle:{keywords:["food","container","milk"],char:"🍼",fitzpatrick_scale:false,category:"food_and_drink"},salt:{keywords:["condiment","shaker"],char:"🧂",fitzpatrick_scale:false,category:"food_and_drink"},spoon:{keywords:["cutlery","kitchen","tableware"],char:"🥄",fitzpatrick_scale:false,category:"food_and_drink"},fork_and_knife:{keywords:["cutlery","kitchen"],char:"🍴",fitzpatrick_scale:false,category:"food_and_drink"},plate_with_cutlery:{keywords:["food","eat","meal","lunch","dinner","restaurant"],char:"🍽",fitzpatrick_scale:false,category:"food_and_drink"},bowl_with_spoon:{keywords:["food","breakfast","cereal","oatmeal","porridge"],char:"🥣",fitzpatrick_scale:false,category:"food_and_drink"},takeout_box:{keywords:["food","leftovers"],char:"🥡",fitzpatrick_scale:false,category:"food_and_drink"},chopsticks:{keywords:["food"],char:"🥢",fitzpatrick_scale:false,category:"food_and_drink"},soccer:{keywords:["sports","football"],char:"⚽",fitzpatrick_scale:false,category:"activity"},basketball:{keywords:["sports","balls","NBA"],char:"🏀",fitzpatrick_scale:false,category:"activity"},football:{keywords:["sports","balls","NFL"],char:"🏈",fitzpatrick_scale:false,category:"activity"},baseball:{keywords:["sports","balls"],char:"⚾",fitzpatrick_scale:false,category:"activity"},softball:{keywords:["sports","balls"],char:"🥎",fitzpatrick_scale:false,category:"activity"},tennis:{keywords:["sports","balls","green"],char:"🎾",fitzpatrick_scale:false,category:"activity"},volleyball:{keywords:["sports","balls"],char:"🏐",fitzpatrick_scale:false,category:"activity"},rugby_football:{keywords:["sports","team"],char:"🏉",fitzpatrick_scale:false,category:"activity"},flying_disc:{keywords:["sports","frisbee","ultimate"],char:"🥏",fitzpatrick_scale:false,category:"activity"},"8ball":{keywords:["pool","hobby","game","luck","magic"],char:"🎱",fitzpatrick_scale:false,category:"activity"},golf:{keywords:["sports","business","flag","hole","summer"],char:"⛳",fitzpatrick_scale:false,category:"activity"},golfing_woman:{keywords:["sports","business","woman","female"],char:"🏌️‍♀️",fitzpatrick_scale:false,category:"activity"},golfing_man:{keywords:["sports","business"],char:"🏌",fitzpatrick_scale:true,category:"activity"},ping_pong:{keywords:["sports","pingpong"],char:"🏓",fitzpatrick_scale:false,category:"activity"},badminton:{keywords:["sports"],char:"🏸",fitzpatrick_scale:false,category:"activity"},goal_net:{keywords:["sports"],char:"🥅",fitzpatrick_scale:false,category:"activity"},ice_hockey:{keywords:["sports"],char:"🏒",fitzpatrick_scale:false,category:"activity"},field_hockey:{keywords:["sports"],char:"🏑",fitzpatrick_scale:false,category:"activity"},lacrosse:{keywords:["sports","ball","stick"],char:"🥍",fitzpatrick_scale:false,category:"activity"},cricket:{keywords:["sports"],char:"🏏",fitzpatrick_scale:false,category:"activity"},ski:{keywords:["sports","winter","cold","snow"],char:"🎿",fitzpatrick_scale:false,category:"activity"},skier:{keywords:["sports","winter","snow"],char:"⛷",fitzpatrick_scale:false,category:"activity"},snowboarder:{keywords:["sports","winter"],char:"🏂",fitzpatrick_scale:true,category:"activity"},person_fencing:{keywords:["sports","fencing","sword"],char:"🤺",fitzpatrick_scale:false,category:"activity"},women_wrestling:{keywords:["sports","wrestlers"],char:"🤼‍♀️",fitzpatrick_scale:false,category:"activity"},men_wrestling:{keywords:["sports","wrestlers"],char:"🤼‍♂️",fitzpatrick_scale:false,category:"activity"},woman_cartwheeling:{keywords:["gymnastics"],char:"🤸‍♀️",fitzpatrick_scale:true,category:"activity"},man_cartwheeling:{keywords:["gymnastics"],char:"🤸‍♂️",fitzpatrick_scale:true,category:"activity"},woman_playing_handball:{keywords:["sports"],char:"🤾‍♀️",fitzpatrick_scale:true,category:"activity"},man_playing_handball:{keywords:["sports"],char:"🤾‍♂️",fitzpatrick_scale:true,category:"activity"},ice_skate:{keywords:["sports"],char:"⛸",fitzpatrick_scale:false,category:"activity"},curling_stone:{keywords:["sports"],char:"🥌",fitzpatrick_scale:false,category:"activity"},skateboard:{keywords:["board"],char:"🛹",fitzpatrick_scale:false,category:"activity"},sled:{keywords:["sleigh","luge","toboggan"],char:"🛷",fitzpatrick_scale:false,category:"activity"},bow_and_arrow:{keywords:["sports"],char:"🏹",fitzpatrick_scale:false,category:"activity"},fishing_pole_and_fish:{keywords:["food","hobby","summer"],char:"🎣",fitzpatrick_scale:false,category:"activity"},boxing_glove:{keywords:["sports","fighting"],char:"🥊",fitzpatrick_scale:false,category:"activity"},martial_arts_uniform:{keywords:["judo","karate","taekwondo"],char:"🥋",fitzpatrick_scale:false,category:"activity"},rowing_woman:{keywords:["sports","hobby","water","ship","woman","female"],char:"🚣‍♀️",fitzpatrick_scale:true,category:"activity"},rowing_man:{keywords:["sports","hobby","water","ship"],char:"🚣",fitzpatrick_scale:true,category:"activity"},climbing_woman:{keywords:["sports","hobby","woman","female","rock"],char:"🧗‍♀️",fitzpatrick_scale:true,category:"activity"},climbing_man:{keywords:["sports","hobby","man","male","rock"],char:"🧗‍♂️",fitzpatrick_scale:true,category:"activity"},swimming_woman:{keywords:["sports","exercise","human","athlete","water","summer","woman","female"],char:"🏊‍♀️",fitzpatrick_scale:true,category:"activity"},swimming_man:{keywords:["sports","exercise","human","athlete","water","summer"],char:"🏊",fitzpatrick_scale:true,category:"activity"},woman_playing_water_polo:{keywords:["sports","pool"],char:"🤽‍♀️",fitzpatrick_scale:true,category:"activity"},man_playing_water_polo:{keywords:["sports","pool"],char:"🤽‍♂️",fitzpatrick_scale:true,category:"activity"},woman_in_lotus_position:{keywords:["woman","female","meditation","yoga","serenity","zen","mindfulness"],char:"🧘‍♀️",fitzpatrick_scale:true,category:"activity"},man_in_lotus_position:{keywords:["man","male","meditation","yoga","serenity","zen","mindfulness"],char:"🧘‍♂️",fitzpatrick_scale:true,category:"activity"},surfing_woman:{keywords:["sports","ocean","sea","summer","beach","woman","female"],char:"🏄‍♀️",fitzpatrick_scale:true,category:"activity"},surfing_man:{keywords:["sports","ocean","sea","summer","beach"],char:"🏄",fitzpatrick_scale:true,category:"activity"},bath:{keywords:["clean","shower","bathroom"],char:"🛀",fitzpatrick_scale:true,category:"activity"},basketball_woman:{keywords:["sports","human","woman","female"],char:"⛹️‍♀️",fitzpatrick_scale:true,category:"activity"},basketball_man:{keywords:["sports","human"],char:"⛹",fitzpatrick_scale:true,category:"activity"},weight_lifting_woman:{keywords:["sports","training","exercise","woman","female"],char:"🏋️‍♀️",fitzpatrick_scale:true,category:"activity"},weight_lifting_man:{keywords:["sports","training","exercise"],char:"🏋",fitzpatrick_scale:true,category:"activity"},biking_woman:{keywords:["sports","bike","exercise","hipster","woman","female"],char:"🚴‍♀️",fitzpatrick_scale:true,category:"activity"},biking_man:{keywords:["sports","bike","exercise","hipster"],char:"🚴",fitzpatrick_scale:true,category:"activity"},mountain_biking_woman:{keywords:["transportation","sports","human","race","bike","woman","female"],char:"🚵‍♀️",fitzpatrick_scale:true,category:"activity"},mountain_biking_man:{keywords:["transportation","sports","human","race","bike"],char:"🚵",fitzpatrick_scale:true,category:"activity"},horse_racing:{keywords:["animal","betting","competition","gambling","luck"],char:"🏇",fitzpatrick_scale:true,category:"activity"},business_suit_levitating:{keywords:["suit","business","levitate","hover","jump"],char:"🕴",fitzpatrick_scale:true,category:"activity"},trophy:{keywords:["win","award","contest","place","ftw","ceremony"],char:"🏆",fitzpatrick_scale:false,category:"activity"},running_shirt_with_sash:{keywords:["play","pageant"],char:"🎽",fitzpatrick_scale:false,category:"activity"},medal_sports:{keywords:["award","winning"],char:"🏅",fitzpatrick_scale:false,category:"activity"},medal_military:{keywords:["award","winning","army"],char:"🎖",fitzpatrick_scale:false,category:"activity"},"1st_place_medal":{keywords:["award","winning","first"],char:"🥇",fitzpatrick_scale:false,category:"activity"},"2nd_place_medal":{keywords:["award","second"],char:"🥈",fitzpatrick_scale:false,category:"activity"},"3rd_place_medal":{keywords:["award","third"],char:"🥉",fitzpatrick_scale:false,category:"activity"},reminder_ribbon:{keywords:["sports","cause","support","awareness"],char:"🎗",fitzpatrick_scale:false,category:"activity"},rosette:{keywords:["flower","decoration","military"],char:"🏵",fitzpatrick_scale:false,category:"activity"},ticket:{keywords:["event","concert","pass"],char:"🎫",fitzpatrick_scale:false,category:"activity"},tickets:{keywords:["sports","concert","entrance"],char:"🎟",fitzpatrick_scale:false,category:"activity"},performing_arts:{keywords:["acting","theater","drama"],char:"🎭",fitzpatrick_scale:false,category:"activity"},art:{keywords:["design","paint","draw","colors"],char:"🎨",fitzpatrick_scale:false,category:"activity"},circus_tent:{keywords:["festival","carnival","party"],char:"🎪",fitzpatrick_scale:false,category:"activity"},woman_juggling:{keywords:["juggle","balance","skill","multitask"],char:"🤹‍♀️",fitzpatrick_scale:true,category:"activity"},man_juggling:{keywords:["juggle","balance","skill","multitask"],char:"🤹‍♂️",fitzpatrick_scale:true,category:"activity"},microphone:{keywords:["sound","music","PA","sing","talkshow"],char:"🎤",fitzpatrick_scale:false,category:"activity"},headphones:{keywords:["music","score","gadgets"],char:"🎧",fitzpatrick_scale:false,category:"activity"},musical_score:{keywords:["treble","clef","compose"],char:"🎼",fitzpatrick_scale:false,category:"activity"},musical_keyboard:{keywords:["piano","instrument","compose"],char:"🎹",fitzpatrick_scale:false,category:"activity"},drum:{keywords:["music","instrument","drumsticks","snare"],char:"🥁",fitzpatrick_scale:false,category:"activity"},saxophone:{keywords:["music","instrument","jazz","blues"],char:"🎷",fitzpatrick_scale:false,category:"activity"},trumpet:{keywords:["music","brass"],char:"🎺",fitzpatrick_scale:false,category:"activity"},guitar:{keywords:["music","instrument"],char:"🎸",fitzpatrick_scale:false,category:"activity"},violin:{keywords:["music","instrument","orchestra","symphony"],char:"🎻",fitzpatrick_scale:false,category:"activity"},clapper:{keywords:["movie","film","record"],char:"🎬",fitzpatrick_scale:false,category:"activity"},video_game:{keywords:["play","console","PS4","controller"],char:"🎮",fitzpatrick_scale:false,category:"activity"},space_invader:{keywords:["game","arcade","play"],char:"👾",fitzpatrick_scale:false,category:"activity"},dart:{keywords:["game","play","bar","target","bullseye"],char:"🎯",fitzpatrick_scale:false,category:"activity"},game_die:{keywords:["dice","random","tabletop","play","luck"],char:"🎲",fitzpatrick_scale:false,category:"activity"},chess_pawn:{keywords:["expendable"],char:"♟",fitzpatrick_scale:false,category:"activity"},slot_machine:{keywords:["bet","gamble","vegas","fruit machine","luck","casino"],char:"🎰",fitzpatrick_scale:false,category:"activity"},jigsaw:{keywords:["interlocking","puzzle","piece"],char:"🧩",fitzpatrick_scale:false,category:"activity"},bowling:{keywords:["sports","fun","play"],char:"🎳",fitzpatrick_scale:false,category:"activity"},red_car:{keywords:["red","transportation","vehicle"],char:"🚗",fitzpatrick_scale:false,category:"travel_and_places"},taxi:{keywords:["uber","vehicle","cars","transportation"],char:"🚕",fitzpatrick_scale:false,category:"travel_and_places"},blue_car:{keywords:["transportation","vehicle"],char:"🚙",fitzpatrick_scale:false,category:"travel_and_places"},bus:{keywords:["car","vehicle","transportation"],char:"🚌",fitzpatrick_scale:false,category:"travel_and_places"},trolleybus:{keywords:["bart","transportation","vehicle"],char:"🚎",fitzpatrick_scale:false,category:"travel_and_places"},racing_car:{keywords:["sports","race","fast","formula","f1"],char:"🏎",fitzpatrick_scale:false,category:"travel_and_places"},police_car:{keywords:["vehicle","cars","transportation","law","legal","enforcement"],char:"🚓",fitzpatrick_scale:false,category:"travel_and_places"},ambulance:{keywords:["health","911","hospital"],char:"🚑",fitzpatrick_scale:false,category:"travel_and_places"},fire_engine:{keywords:["transportation","cars","vehicle"],char:"🚒",fitzpatrick_scale:false,category:"travel_and_places"},minibus:{keywords:["vehicle","car","transportation"],char:"🚐",fitzpatrick_scale:false,category:"travel_and_places"},truck:{keywords:["cars","transportation"],char:"🚚",fitzpatrick_scale:false,category:"travel_and_places"},articulated_lorry:{keywords:["vehicle","cars","transportation","express"],char:"🚛",fitzpatrick_scale:false,category:"travel_and_places"},tractor:{keywords:["vehicle","car","farming","agriculture"],char:"🚜",fitzpatrick_scale:false,category:"travel_and_places"},kick_scooter:{keywords:["vehicle","kick","razor"],char:"🛴",fitzpatrick_scale:false,category:"travel_and_places"},motorcycle:{keywords:["race","sports","fast"],char:"🏍",fitzpatrick_scale:false,category:"travel_and_places"},bike:{keywords:["sports","bicycle","exercise","hipster"],char:"🚲",fitzpatrick_scale:false,category:"travel_and_places"},motor_scooter:{keywords:["vehicle","vespa","sasha"],char:"🛵",fitzpatrick_scale:false,category:"travel_and_places"},rotating_light:{keywords:["police","ambulance","911","emergency","alert","error","pinged","law","legal"],char:"🚨",fitzpatrick_scale:false,category:"travel_and_places"},oncoming_police_car:{keywords:["vehicle","law","legal","enforcement","911"],char:"🚔",fitzpatrick_scale:false,category:"travel_and_places"},oncoming_bus:{keywords:["vehicle","transportation"],char:"🚍",fitzpatrick_scale:false,category:"travel_and_places"},oncoming_automobile:{keywords:["car","vehicle","transportation"],char:"🚘",fitzpatrick_scale:false,category:"travel_and_places"},oncoming_taxi:{keywords:["vehicle","cars","uber"],char:"🚖",fitzpatrick_scale:false,category:"travel_and_places"},aerial_tramway:{keywords:["transportation","vehicle","ski"],char:"🚡",fitzpatrick_scale:false,category:"travel_and_places"},mountain_cableway:{keywords:["transportation","vehicle","ski"],char:"🚠",fitzpatrick_scale:false,category:"travel_and_places"},suspension_railway:{keywords:["vehicle","transportation"],char:"🚟",fitzpatrick_scale:false,category:"travel_and_places"},railway_car:{keywords:["transportation","vehicle"],char:"🚃",fitzpatrick_scale:false,category:"travel_and_places"},train:{keywords:["transportation","vehicle","carriage","public","travel"],char:"🚋",fitzpatrick_scale:false,category:"travel_and_places"},monorail:{keywords:["transportation","vehicle"],char:"🚝",fitzpatrick_scale:false,category:"travel_and_places"},bullettrain_side:{keywords:["transportation","vehicle"],char:"🚄",fitzpatrick_scale:false,category:"travel_and_places"},bullettrain_front:{keywords:["transportation","vehicle","speed","fast","public","travel"],char:"🚅",fitzpatrick_scale:false,category:"travel_and_places"},light_rail:{keywords:["transportation","vehicle"],char:"🚈",fitzpatrick_scale:false,category:"travel_and_places"},mountain_railway:{keywords:["transportation","vehicle"],char:"🚞",fitzpatrick_scale:false,category:"travel_and_places"},steam_locomotive:{keywords:["transportation","vehicle","train"],char:"🚂",fitzpatrick_scale:false,category:"travel_and_places"},train2:{keywords:["transportation","vehicle"],char:"🚆",fitzpatrick_scale:false,category:"travel_and_places"},metro:{keywords:["transportation","blue-square","mrt","underground","tube"],char:"🚇",fitzpatrick_scale:false,category:"travel_and_places"},tram:{keywords:["transportation","vehicle"],char:"🚊",fitzpatrick_scale:false,category:"travel_and_places"},station:{keywords:["transportation","vehicle","public"],char:"🚉",fitzpatrick_scale:false,category:"travel_and_places"},flying_saucer:{keywords:["transportation","vehicle","ufo"],char:"🛸",fitzpatrick_scale:false,category:"travel_and_places"},helicopter:{keywords:["transportation","vehicle","fly"],char:"🚁",fitzpatrick_scale:false,category:"travel_and_places"},small_airplane:{keywords:["flight","transportation","fly","vehicle"],char:"🛩",fitzpatrick_scale:false,category:"travel_and_places"},airplane:{keywords:["vehicle","transportation","flight","fly"],char:"✈️",fitzpatrick_scale:false,category:"travel_and_places"},flight_departure:{keywords:["airport","flight","landing"],char:"🛫",fitzpatrick_scale:false,category:"travel_and_places"},flight_arrival:{keywords:["airport","flight","boarding"],char:"🛬",fitzpatrick_scale:false,category:"travel_and_places"},sailboat:{keywords:["ship","summer","transportation","water","sailing"],char:"⛵",fitzpatrick_scale:false,category:"travel_and_places"},motor_boat:{keywords:["ship"],char:"🛥",fitzpatrick_scale:false,category:"travel_and_places"},speedboat:{keywords:["ship","transportation","vehicle","summer"],char:"🚤",fitzpatrick_scale:false,category:"travel_and_places"},ferry:{keywords:["boat","ship","yacht"],char:"⛴",fitzpatrick_scale:false,category:"travel_and_places"},passenger_ship:{keywords:["yacht","cruise","ferry"],char:"🛳",fitzpatrick_scale:false,category:"travel_and_places"},rocket:{keywords:["launch","ship","staffmode","NASA","outer space","outer_space","fly"],char:"🚀",fitzpatrick_scale:false,category:"travel_and_places"},artificial_satellite:{keywords:["communication","gps","orbit","spaceflight","NASA","ISS"],char:"🛰",fitzpatrick_scale:false,category:"travel_and_places"},seat:{keywords:["sit","airplane","transport","bus","flight","fly"],char:"💺",fitzpatrick_scale:false,category:"travel_and_places"},canoe:{keywords:["boat","paddle","water","ship"],char:"🛶",fitzpatrick_scale:false,category:"travel_and_places"},anchor:{keywords:["ship","ferry","sea","boat"],char:"⚓",fitzpatrick_scale:false,category:"travel_and_places"},construction:{keywords:["wip","progress","caution","warning"],char:"🚧",fitzpatrick_scale:false,category:"travel_and_places"},fuelpump:{keywords:["gas station","petroleum"],char:"⛽",fitzpatrick_scale:false,category:"travel_and_places"},busstop:{keywords:["transportation","wait"],char:"🚏",fitzpatrick_scale:false,category:"travel_and_places"},vertical_traffic_light:{keywords:["transportation","driving"],char:"🚦",fitzpatrick_scale:false,category:"travel_and_places"},traffic_light:{keywords:["transportation","signal"],char:"🚥",fitzpatrick_scale:false,category:"travel_and_places"},checkered_flag:{keywords:["contest","finishline","race","gokart"],char:"🏁",fitzpatrick_scale:false,category:"travel_and_places"},ship:{keywords:["transportation","titanic","deploy"],char:"🚢",fitzpatrick_scale:false,category:"travel_and_places"},ferris_wheel:{keywords:["photo","carnival","londoneye"],char:"🎡",fitzpatrick_scale:false,category:"travel_and_places"},roller_coaster:{keywords:["carnival","playground","photo","fun"],char:"🎢",fitzpatrick_scale:false,category:"travel_and_places"},carousel_horse:{keywords:["photo","carnival"],char:"🎠",fitzpatrick_scale:false,category:"travel_and_places"},building_construction:{keywords:["wip","working","progress"],char:"🏗",fitzpatrick_scale:false,category:"travel_and_places"},foggy:{keywords:["photo","mountain"],char:"🌁",fitzpatrick_scale:false,category:"travel_and_places"},tokyo_tower:{keywords:["photo","japanese"],char:"🗼",fitzpatrick_scale:false,category:"travel_and_places"},factory:{keywords:["building","industry","pollution","smoke"],char:"🏭",fitzpatrick_scale:false,category:"travel_and_places"},fountain:{keywords:["photo","summer","water","fresh"],char:"⛲",fitzpatrick_scale:false,category:"travel_and_places"},rice_scene:{keywords:["photo","japan","asia","tsukimi"],char:"🎑",fitzpatrick_scale:false,category:"travel_and_places"},mountain:{keywords:["photo","nature","environment"],char:"⛰",fitzpatrick_scale:false,category:"travel_and_places"},mountain_snow:{keywords:["photo","nature","environment","winter","cold"],char:"🏔",fitzpatrick_scale:false,category:"travel_and_places"},mount_fuji:{keywords:["photo","mountain","nature","japanese"],char:"🗻",fitzpatrick_scale:false,category:"travel_and_places"},volcano:{keywords:["photo","nature","disaster"],char:"🌋",fitzpatrick_scale:false,category:"travel_and_places"},japan:{keywords:["nation","country","japanese","asia"],char:"🗾",fitzpatrick_scale:false,category:"travel_and_places"},camping:{keywords:["photo","outdoors","tent"],char:"🏕",fitzpatrick_scale:false,category:"travel_and_places"},tent:{keywords:["photo","camping","outdoors"],char:"⛺",fitzpatrick_scale:false,category:"travel_and_places"},national_park:{keywords:["photo","environment","nature"],char:"🏞",fitzpatrick_scale:false,category:"travel_and_places"},motorway:{keywords:["road","cupertino","interstate","highway"],char:"🛣",fitzpatrick_scale:false,category:"travel_and_places"},railway_track:{keywords:["train","transportation"],char:"🛤",fitzpatrick_scale:false,category:"travel_and_places"},sunrise:{keywords:["morning","view","vacation","photo"],char:"🌅",fitzpatrick_scale:false,category:"travel_and_places"},sunrise_over_mountains:{keywords:["view","vacation","photo"],char:"🌄",fitzpatrick_scale:false,category:"travel_and_places"},desert:{keywords:["photo","warm","saharah"],char:"🏜",fitzpatrick_scale:false,category:"travel_and_places"},beach_umbrella:{keywords:["weather","summer","sunny","sand","mojito"],char:"🏖",fitzpatrick_scale:false,category:"travel_and_places"},desert_island:{keywords:["photo","tropical","mojito"],char:"🏝",fitzpatrick_scale:false,category:"travel_and_places"},city_sunrise:{keywords:["photo","good morning","dawn"],char:"🌇",fitzpatrick_scale:false,category:"travel_and_places"},city_sunset:{keywords:["photo","evening","sky","buildings"],char:"🌆",fitzpatrick_scale:false,category:"travel_and_places"},cityscape:{keywords:["photo","night life","urban"],char:"🏙",fitzpatrick_scale:false,category:"travel_and_places"},night_with_stars:{keywords:["evening","city","downtown"],char:"🌃",fitzpatrick_scale:false,category:"travel_and_places"},bridge_at_night:{keywords:["photo","sanfrancisco"],char:"🌉",fitzpatrick_scale:false,category:"travel_and_places"},milky_way:{keywords:["photo","space","stars"],char:"🌌",fitzpatrick_scale:false,category:"travel_and_places"},stars:{keywords:["night","photo"],char:"🌠",fitzpatrick_scale:false,category:"travel_and_places"},sparkler:{keywords:["stars","night","shine"],char:"🎇",fitzpatrick_scale:false,category:"travel_and_places"},fireworks:{keywords:["photo","festival","carnival","congratulations"],char:"🎆",fitzpatrick_scale:false,category:"travel_and_places"},rainbow:{keywords:["nature","happy","unicorn_face","photo","sky","spring"],char:"🌈",fitzpatrick_scale:false,category:"travel_and_places"},houses:{keywords:["buildings","photo"],char:"🏘",fitzpatrick_scale:false,category:"travel_and_places"},european_castle:{keywords:["building","royalty","history"],char:"🏰",fitzpatrick_scale:false,category:"travel_and_places"},japanese_castle:{keywords:["photo","building"],char:"🏯",fitzpatrick_scale:false,category:"travel_and_places"},stadium:{keywords:["photo","place","sports","concert","venue"],char:"🏟",fitzpatrick_scale:false,category:"travel_and_places"},statue_of_liberty:{keywords:["american","newyork"],char:"🗽",fitzpatrick_scale:false,category:"travel_and_places"},house:{keywords:["building","home"],char:"🏠",fitzpatrick_scale:false,category:"travel_and_places"},house_with_garden:{keywords:["home","plant","nature"],char:"🏡",fitzpatrick_scale:false,category:"travel_and_places"},derelict_house:{keywords:["abandon","evict","broken","building"],char:"🏚",fitzpatrick_scale:false,category:"travel_and_places"},office:{keywords:["building","bureau","work"],char:"🏢",fitzpatrick_scale:false,category:"travel_and_places"},department_store:{keywords:["building","shopping","mall"],char:"🏬",fitzpatrick_scale:false,category:"travel_and_places"},post_office:{keywords:["building","envelope","communication"],char:"🏣",fitzpatrick_scale:false,category:"travel_and_places"},european_post_office:{keywords:["building","email"],char:"🏤",fitzpatrick_scale:false,category:"travel_and_places"},hospital:{keywords:["building","health","surgery","doctor"],char:"🏥",fitzpatrick_scale:false,category:"travel_and_places"},bank:{keywords:["building","money","sales","cash","business","enterprise"],char:"🏦",fitzpatrick_scale:false,category:"travel_and_places"},hotel:{keywords:["building","accomodation","checkin"],char:"🏨",fitzpatrick_scale:false,category:"travel_and_places"},convenience_store:{keywords:["building","shopping","groceries"],char:"🏪",fitzpatrick_scale:false,category:"travel_and_places"},school:{keywords:["building","student","education","learn","teach"],char:"🏫",fitzpatrick_scale:false,category:"travel_and_places"},love_hotel:{keywords:["like","affection","dating"],char:"🏩",fitzpatrick_scale:false,category:"travel_and_places"},wedding:{keywords:["love","like","affection","couple","marriage","bride","groom"],char:"💒",fitzpatrick_scale:false,category:"travel_and_places"},classical_building:{keywords:["art","culture","history"],char:"🏛",fitzpatrick_scale:false,category:"travel_and_places"},church:{keywords:["building","religion","christ"],char:"⛪",fitzpatrick_scale:false,category:"travel_and_places"},mosque:{keywords:["islam","worship","minaret"],char:"🕌",fitzpatrick_scale:false,category:"travel_and_places"},synagogue:{keywords:["judaism","worship","temple","jewish"],char:"🕍",fitzpatrick_scale:false,category:"travel_and_places"},kaaba:{keywords:["mecca","mosque","islam"],char:"🕋",fitzpatrick_scale:false,category:"travel_and_places"},shinto_shrine:{keywords:["temple","japan","kyoto"],char:"⛩",fitzpatrick_scale:false,category:"travel_and_places"},watch:{keywords:["time","accessories"],char:"⌚",fitzpatrick_scale:false,category:"objects"},iphone:{keywords:["technology","apple","gadgets","dial"],char:"📱",fitzpatrick_scale:false,category:"objects"},calling:{keywords:["iphone","incoming"],char:"📲",fitzpatrick_scale:false,category:"objects"},computer:{keywords:["technology","laptop","screen","display","monitor"],char:"💻",fitzpatrick_scale:false,category:"objects"},keyboard:{keywords:["technology","computer","type","input","text"],char:"⌨",fitzpatrick_scale:false,category:"objects"},desktop_computer:{keywords:["technology","computing","screen"],char:"🖥",fitzpatrick_scale:false,category:"objects"},printer:{keywords:["paper","ink"],char:"🖨",fitzpatrick_scale:false,category:"objects"},computer_mouse:{keywords:["click"],char:"🖱",fitzpatrick_scale:false,category:"objects"},trackball:{keywords:["technology","trackpad"],char:"🖲",fitzpatrick_scale:false,category:"objects"},joystick:{keywords:["game","play"],char:"🕹",fitzpatrick_scale:false,category:"objects"},clamp:{keywords:["tool"],char:"🗜",fitzpatrick_scale:false,category:"objects"},minidisc:{keywords:["technology","record","data","disk","90s"],char:"💽",fitzpatrick_scale:false,category:"objects"},floppy_disk:{keywords:["oldschool","technology","save","90s","80s"],char:"💾",fitzpatrick_scale:false,category:"objects"},cd:{keywords:["technology","dvd","disk","disc","90s"],char:"💿",fitzpatrick_scale:false,category:"objects"},dvd:{keywords:["cd","disk","disc"],char:"📀",fitzpatrick_scale:false,category:"objects"},vhs:{keywords:["record","video","oldschool","90s","80s"],char:"📼",fitzpatrick_scale:false,category:"objects"},camera:{keywords:["gadgets","photography"],char:"📷",fitzpatrick_scale:false,category:"objects"},camera_flash:{keywords:["photography","gadgets"],char:"📸",fitzpatrick_scale:false,category:"objects"},video_camera:{keywords:["film","record"],char:"📹",fitzpatrick_scale:false,category:"objects"},movie_camera:{keywords:["film","record"],char:"🎥",fitzpatrick_scale:false,category:"objects"},film_projector:{keywords:["video","tape","record","movie"],char:"📽",fitzpatrick_scale:false,category:"objects"},film_strip:{keywords:["movie"],char:"🎞",fitzpatrick_scale:false,category:"objects"},telephone_receiver:{keywords:["technology","communication","dial"],char:"📞",fitzpatrick_scale:false,category:"objects"},phone:{keywords:["technology","communication","dial","telephone"],char:"☎️",fitzpatrick_scale:false,category:"objects"},pager:{keywords:["bbcall","oldschool","90s"],char:"📟",fitzpatrick_scale:false,category:"objects"},fax:{keywords:["communication","technology"],char:"📠",fitzpatrick_scale:false,category:"objects"},tv:{keywords:["technology","program","oldschool","show","television"],char:"📺",fitzpatrick_scale:false,category:"objects"},radio:{keywords:["communication","music","podcast","program"],char:"📻",fitzpatrick_scale:false,category:"objects"},studio_microphone:{keywords:["sing","recording","artist","talkshow"],char:"🎙",fitzpatrick_scale:false,category:"objects"},level_slider:{keywords:["scale"],char:"🎚",fitzpatrick_scale:false,category:"objects"},control_knobs:{keywords:["dial"],char:"🎛",fitzpatrick_scale:false,category:"objects"},compass:{keywords:["magnetic","navigation","orienteering"],char:"🧭",fitzpatrick_scale:false,category:"objects"},stopwatch:{keywords:["time","deadline"],char:"⏱",fitzpatrick_scale:false,category:"objects"},timer_clock:{keywords:["alarm"],char:"⏲",fitzpatrick_scale:false,category:"objects"},alarm_clock:{keywords:["time","wake"],char:"⏰",fitzpatrick_scale:false,category:"objects"},mantelpiece_clock:{keywords:["time"],char:"🕰",fitzpatrick_scale:false,category:"objects"},hourglass_flowing_sand:{keywords:["oldschool","time","countdown"],char:"⏳",fitzpatrick_scale:false,category:"objects"},hourglass:{keywords:["time","clock","oldschool","limit","exam","quiz","test"],char:"⌛",fitzpatrick_scale:false,category:"objects"},satellite:{keywords:["communication","future","radio","space"],char:"📡",fitzpatrick_scale:false,category:"objects"},battery:{keywords:["power","energy","sustain"],char:"🔋",fitzpatrick_scale:false,category:"objects"},electric_plug:{keywords:["charger","power"],char:"🔌",fitzpatrick_scale:false,category:"objects"},bulb:{keywords:["light","electricity","idea"],char:"💡",fitzpatrick_scale:false,category:"objects"},flashlight:{keywords:["dark","camping","sight","night"],char:"🔦",fitzpatrick_scale:false,category:"objects"},candle:{keywords:["fire","wax"],char:"🕯",fitzpatrick_scale:false,category:"objects"},fire_extinguisher:{keywords:["quench"],char:"🧯",fitzpatrick_scale:false,category:"objects"},wastebasket:{keywords:["bin","trash","rubbish","garbage","toss"],char:"🗑",fitzpatrick_scale:false,category:"objects"},oil_drum:{keywords:["barrell"],char:"🛢",fitzpatrick_scale:false,category:"objects"},money_with_wings:{keywords:["dollar","bills","payment","sale"],char:"💸",fitzpatrick_scale:false,category:"objects"},dollar:{keywords:["money","sales","bill","currency"],char:"💵",fitzpatrick_scale:false,category:"objects"},yen:{keywords:["money","sales","japanese","dollar","currency"],char:"💴",fitzpatrick_scale:false,category:"objects"},euro:{keywords:["money","sales","dollar","currency"],char:"💶",fitzpatrick_scale:false,category:"objects"},pound:{keywords:["british","sterling","money","sales","bills","uk","england","currency"],char:"💷",fitzpatrick_scale:false,category:"objects"},moneybag:{keywords:["dollar","payment","coins","sale"],char:"💰",fitzpatrick_scale:false,category:"objects"},credit_card:{keywords:["money","sales","dollar","bill","payment","shopping"],char:"💳",fitzpatrick_scale:false,category:"objects"},gem:{keywords:["blue","ruby","diamond","jewelry"],char:"💎",fitzpatrick_scale:false,category:"objects"},balance_scale:{keywords:["law","fairness","weight"],char:"⚖",fitzpatrick_scale:false,category:"objects"},toolbox:{keywords:["tools","diy","fix","maintainer","mechanic"],char:"🧰",fitzpatrick_scale:false,category:"objects"},wrench:{keywords:["tools","diy","ikea","fix","maintainer"],char:"🔧",fitzpatrick_scale:false,category:"objects"},hammer:{keywords:["tools","build","create"],char:"🔨",fitzpatrick_scale:false,category:"objects"},hammer_and_pick:{keywords:["tools","build","create"],char:"⚒",fitzpatrick_scale:false,category:"objects"},hammer_and_wrench:{keywords:["tools","build","create"],char:"🛠",fitzpatrick_scale:false,category:"objects"},pick:{keywords:["tools","dig"],char:"⛏",fitzpatrick_scale:false,category:"objects"},nut_and_bolt:{keywords:["handy","tools","fix"],char:"🔩",fitzpatrick_scale:false,category:"objects"},gear:{keywords:["cog"],char:"⚙",fitzpatrick_scale:false,category:"objects"},brick:{keywords:["bricks"],char:"🧱",fitzpatrick_scale:false,category:"objects"},chains:{keywords:["lock","arrest"],char:"⛓",fitzpatrick_scale:false,category:"objects"},magnet:{keywords:["attraction","magnetic"],char:"🧲",fitzpatrick_scale:false,category:"objects"},gun:{keywords:["violence","weapon","pistol","revolver"],char:"🔫",fitzpatrick_scale:false,category:"objects"},bomb:{keywords:["boom","explode","explosion","terrorism"],char:"💣",fitzpatrick_scale:false,category:"objects"},firecracker:{keywords:["dynamite","boom","explode","explosion","explosive"],char:"🧨",fitzpatrick_scale:false,category:"objects"},hocho:{keywords:["knife","blade","cutlery","kitchen","weapon"],char:"🔪",fitzpatrick_scale:false,category:"objects"},dagger:{keywords:["weapon"],char:"🗡",fitzpatrick_scale:false,category:"objects"},crossed_swords:{keywords:["weapon"],char:"⚔",fitzpatrick_scale:false,category:"objects"},shield:{keywords:["protection","security"],char:"🛡",fitzpatrick_scale:false,category:"objects"},smoking:{keywords:["kills","tobacco","cigarette","joint","smoke"],char:"🚬",fitzpatrick_scale:false,category:"objects"},skull_and_crossbones:{keywords:["poison","danger","deadly","scary","death","pirate","evil"],char:"☠",fitzpatrick_scale:false,category:"objects"},coffin:{keywords:["vampire","dead","die","death","rip","graveyard","cemetery","casket","funeral","box"],char:"⚰",fitzpatrick_scale:false,category:"objects"},funeral_urn:{keywords:["dead","die","death","rip","ashes"],char:"⚱",fitzpatrick_scale:false,category:"objects"},amphora:{keywords:["vase","jar"],char:"🏺",fitzpatrick_scale:false,category:"objects"},crystal_ball:{keywords:["disco","party","magic","circus","fortune_teller"],char:"🔮",fitzpatrick_scale:false,category:"objects"},prayer_beads:{keywords:["dhikr","religious"],char:"📿",fitzpatrick_scale:false,category:"objects"},nazar_amulet:{keywords:["bead","charm"],char:"🧿",fitzpatrick_scale:false,category:"objects"},barber:{keywords:["hair","salon","style"],char:"💈",fitzpatrick_scale:false,category:"objects"},alembic:{keywords:["distilling","science","experiment","chemistry"],char:"⚗",fitzpatrick_scale:false,category:"objects"},telescope:{keywords:["stars","space","zoom","science","astronomy"],char:"🔭",fitzpatrick_scale:false,category:"objects"},microscope:{keywords:["laboratory","experiment","zoomin","science","study"],char:"🔬",fitzpatrick_scale:false,category:"objects"},hole:{keywords:["embarrassing"],char:"🕳",fitzpatrick_scale:false,category:"objects"},pill:{keywords:["health","medicine","doctor","pharmacy","drug"],char:"💊",fitzpatrick_scale:false,category:"objects"},syringe:{keywords:["health","hospital","drugs","blood","medicine","needle","doctor","nurse"],char:"💉",fitzpatrick_scale:false,category:"objects"},dna:{keywords:["biologist","genetics","life"],char:"🧬",fitzpatrick_scale:false,category:"objects"},microbe:{keywords:["amoeba","bacteria","germs"],char:"🦠",fitzpatrick_scale:false,category:"objects"},petri_dish:{keywords:["bacteria","biology","culture","lab"],char:"🧫",fitzpatrick_scale:false,category:"objects"},test_tube:{keywords:["chemistry","experiment","lab","science"],char:"🧪",fitzpatrick_scale:false,category:"objects"},thermometer:{keywords:["weather","temperature","hot","cold"],char:"🌡",fitzpatrick_scale:false,category:"objects"},broom:{keywords:["cleaning","sweeping","witch"],char:"🧹",fitzpatrick_scale:false,category:"objects"},basket:{keywords:["laundry"],char:"🧺",fitzpatrick_scale:false,category:"objects"},toilet_paper:{keywords:["roll"],char:"🧻",fitzpatrick_scale:false,category:"objects"},label:{keywords:["sale","tag"],char:"🏷",fitzpatrick_scale:false,category:"objects"},bookmark:{keywords:["favorite","label","save"],char:"🔖",fitzpatrick_scale:false,category:"objects"},toilet:{keywords:["restroom","wc","washroom","bathroom","potty"],char:"🚽",fitzpatrick_scale:false,category:"objects"},shower:{keywords:["clean","water","bathroom"],char:"🚿",fitzpatrick_scale:false,category:"objects"},bathtub:{keywords:["clean","shower","bathroom"],char:"🛁",fitzpatrick_scale:false,category:"objects"},soap:{keywords:["bar","bathing","cleaning","lather"],char:"🧼",fitzpatrick_scale:false,category:"objects"},sponge:{keywords:["absorbing","cleaning","porous"],char:"🧽",fitzpatrick_scale:false,category:"objects"},lotion_bottle:{keywords:["moisturizer","sunscreen"],char:"🧴",fitzpatrick_scale:false,category:"objects"},key:{keywords:["lock","door","password"],char:"🔑",fitzpatrick_scale:false,category:"objects"},old_key:{keywords:["lock","door","password"],char:"🗝",fitzpatrick_scale:false,category:"objects"},couch_and_lamp:{keywords:["read","chill"],char:"🛋",fitzpatrick_scale:false,category:"objects"},sleeping_bed:{keywords:["bed","rest"],char:"🛌",fitzpatrick_scale:true,category:"objects"},bed:{keywords:["sleep","rest"],char:"🛏",fitzpatrick_scale:false,category:"objects"},door:{keywords:["house","entry","exit"],char:"🚪",fitzpatrick_scale:false,category:"objects"},bellhop_bell:{keywords:["service"],char:"🛎",fitzpatrick_scale:false,category:"objects"},teddy_bear:{keywords:["plush","stuffed"],char:"🧸",fitzpatrick_scale:false,category:"objects"},framed_picture:{keywords:["photography"],char:"🖼",fitzpatrick_scale:false,category:"objects"},world_map:{keywords:["location","direction"],char:"🗺",fitzpatrick_scale:false,category:"objects"},parasol_on_ground:{keywords:["weather","summer"],char:"⛱",fitzpatrick_scale:false,category:"objects"},moyai:{keywords:["rock","easter island","moai"],char:"🗿",fitzpatrick_scale:false,category:"objects"},shopping:{keywords:["mall","buy","purchase"],char:"🛍",fitzpatrick_scale:false,category:"objects"},shopping_cart:{keywords:["trolley"],char:"🛒",fitzpatrick_scale:false,category:"objects"},balloon:{keywords:["party","celebration","birthday","circus"],char:"🎈",fitzpatrick_scale:false,category:"objects"},flags:{keywords:["fish","japanese","koinobori","carp","banner"],char:"🎏",fitzpatrick_scale:false,category:"objects"},ribbon:{keywords:["decoration","pink","girl","bowtie"],char:"🎀",fitzpatrick_scale:false,category:"objects"},gift:{keywords:["present","birthday","christmas","xmas"],char:"🎁",fitzpatrick_scale:false,category:"objects"},confetti_ball:{keywords:["festival","party","birthday","circus"],char:"🎊",fitzpatrick_scale:false,category:"objects"},tada:{keywords:["party","congratulations","birthday","magic","circus","celebration"],char:"🎉",fitzpatrick_scale:false,category:"objects"},dolls:{keywords:["japanese","toy","kimono"],char:"🎎",fitzpatrick_scale:false,category:"objects"},wind_chime:{keywords:["nature","ding","spring","bell"],char:"🎐",fitzpatrick_scale:false,category:"objects"},crossed_flags:{keywords:["japanese","nation","country","border"],char:"🎌",fitzpatrick_scale:false,category:"objects"},izakaya_lantern:{keywords:["light","paper","halloween","spooky"],char:"🏮",fitzpatrick_scale:false,category:"objects"},red_envelope:{keywords:["gift"],char:"🧧",fitzpatrick_scale:false,category:"objects"},email:{keywords:["letter","postal","inbox","communication"],char:"✉️",fitzpatrick_scale:false,category:"objects"},envelope_with_arrow:{keywords:["email","communication"],char:"📩",fitzpatrick_scale:false,category:"objects"},incoming_envelope:{keywords:["email","inbox"],char:"📨",fitzpatrick_scale:false,category:"objects"},"e-mail":{keywords:["communication","inbox"],char:"📧",fitzpatrick_scale:false,category:"objects"},love_letter:{keywords:["email","like","affection","envelope","valentines"],char:"💌",fitzpatrick_scale:false,category:"objects"},postbox:{keywords:["email","letter","envelope"],char:"📮",fitzpatrick_scale:false,category:"objects"},mailbox_closed:{keywords:["email","communication","inbox"],char:"📪",fitzpatrick_scale:false,category:"objects"},mailbox:{keywords:["email","inbox","communication"],char:"📫",fitzpatrick_scale:false,category:"objects"},mailbox_with_mail:{keywords:["email","inbox","communication"],char:"📬",fitzpatrick_scale:false,category:"objects"},mailbox_with_no_mail:{keywords:["email","inbox"],char:"📭",fitzpatrick_scale:false,category:"objects"},package:{keywords:["mail","gift","cardboard","box","moving"],char:"📦",fitzpatrick_scale:false,category:"objects"},postal_horn:{keywords:["instrument","music"],char:"📯",fitzpatrick_scale:false,category:"objects"},inbox_tray:{keywords:["email","documents"],char:"📥",fitzpatrick_scale:false,category:"objects"},outbox_tray:{keywords:["inbox","email"],char:"📤",fitzpatrick_scale:false,category:"objects"},scroll:{keywords:["documents","ancient","history","paper"],char:"📜",fitzpatrick_scale:false,category:"objects"},page_with_curl:{keywords:["documents","office","paper"],char:"📃",fitzpatrick_scale:false,category:"objects"},bookmark_tabs:{keywords:["favorite","save","order","tidy"],char:"📑",fitzpatrick_scale:false,category:"objects"},receipt:{keywords:["accounting","expenses"],char:"🧾",fitzpatrick_scale:false,category:"objects"},bar_chart:{keywords:["graph","presentation","stats"],char:"📊",fitzpatrick_scale:false,category:"objects"},chart_with_upwards_trend:{keywords:["graph","presentation","stats","recovery","business","economics","money","sales","good","success"],char:"📈",fitzpatrick_scale:false,category:"objects"},chart_with_downwards_trend:{keywords:["graph","presentation","stats","recession","business","economics","money","sales","bad","failure"],char:"📉",fitzpatrick_scale:false,category:"objects"},page_facing_up:{keywords:["documents","office","paper","information"],char:"📄",fitzpatrick_scale:false,category:"objects"},date:{keywords:["calendar","schedule"],char:"📅",fitzpatrick_scale:false,category:"objects"},calendar:{keywords:["schedule","date","planning"],char:"📆",fitzpatrick_scale:false,category:"objects"},spiral_calendar:{keywords:["date","schedule","planning"],char:"🗓",fitzpatrick_scale:false,category:"objects"},card_index:{keywords:["business","stationery"],char:"📇",fitzpatrick_scale:false,category:"objects"},card_file_box:{keywords:["business","stationery"],char:"🗃",fitzpatrick_scale:false,category:"objects"},ballot_box:{keywords:["election","vote"],char:"🗳",fitzpatrick_scale:false,category:"objects"},file_cabinet:{keywords:["filing","organizing"],char:"🗄",fitzpatrick_scale:false,category:"objects"},clipboard:{keywords:["stationery","documents"],char:"📋",fitzpatrick_scale:false,category:"objects"},spiral_notepad:{keywords:["memo","stationery"],char:"🗒",fitzpatrick_scale:false,category:"objects"},file_folder:{keywords:["documents","business","office"],char:"📁",fitzpatrick_scale:false,category:"objects"},open_file_folder:{keywords:["documents","load"],char:"📂",fitzpatrick_scale:false,category:"objects"},card_index_dividers:{keywords:["organizing","business","stationery"],char:"🗂",fitzpatrick_scale:false,category:"objects"},newspaper_roll:{keywords:["press","headline"],char:"🗞",fitzpatrick_scale:false,category:"objects"},newspaper:{keywords:["press","headline"],char:"📰",fitzpatrick_scale:false,category:"objects"},notebook:{keywords:["stationery","record","notes","paper","study"],char:"📓",fitzpatrick_scale:false,category:"objects"},closed_book:{keywords:["read","library","knowledge","textbook","learn"],char:"📕",fitzpatrick_scale:false,category:"objects"},green_book:{keywords:["read","library","knowledge","study"],char:"📗",fitzpatrick_scale:false,category:"objects"},blue_book:{keywords:["read","library","knowledge","learn","study"],char:"📘",fitzpatrick_scale:false,category:"objects"},orange_book:{keywords:["read","library","knowledge","textbook","study"],char:"📙",fitzpatrick_scale:false,category:"objects"},notebook_with_decorative_cover:{keywords:["classroom","notes","record","paper","study"],char:"📔",fitzpatrick_scale:false,category:"objects"},ledger:{keywords:["notes","paper"],char:"📒",fitzpatrick_scale:false,category:"objects"},books:{keywords:["literature","library","study"],char:"📚",fitzpatrick_scale:false,category:"objects"},open_book:{keywords:["book","read","library","knowledge","literature","learn","study"],char:"📖",fitzpatrick_scale:false,category:"objects"},safety_pin:{keywords:["diaper"],char:"🧷",fitzpatrick_scale:false,category:"objects"},link:{keywords:["rings","url"],char:"🔗",fitzpatrick_scale:false,category:"objects"},paperclip:{keywords:["documents","stationery"],char:"📎",fitzpatrick_scale:false,category:"objects"},paperclips:{keywords:["documents","stationery"],char:"🖇",fitzpatrick_scale:false,category:"objects"},scissors:{keywords:["stationery","cut"],char:"✂️",fitzpatrick_scale:false,category:"objects"},triangular_ruler:{keywords:["stationery","math","architect","sketch"],char:"📐",fitzpatrick_scale:false,category:"objects"},straight_ruler:{keywords:["stationery","calculate","length","math","school","drawing","architect","sketch"],char:"📏",fitzpatrick_scale:false,category:"objects"},abacus:{keywords:["calculation"],char:"🧮",fitzpatrick_scale:false,category:"objects"},pushpin:{keywords:["stationery","mark","here"],char:"📌",fitzpatrick_scale:false,category:"objects"},round_pushpin:{keywords:["stationery","location","map","here"],char:"📍",fitzpatrick_scale:false,category:"objects"},triangular_flag_on_post:{keywords:["mark","milestone","place"],char:"🚩",fitzpatrick_scale:false,category:"objects"},white_flag:{keywords:["losing","loser","lost","surrender","give up","fail"],char:"🏳",fitzpatrick_scale:false,category:"objects"},black_flag:{keywords:["pirate"],char:"🏴",fitzpatrick_scale:false,category:"objects"},rainbow_flag:{keywords:["flag","rainbow","pride","gay","lgbt","glbt","queer","homosexual","lesbian","bisexual","transgender"],char:"🏳️‍🌈",fitzpatrick_scale:false,category:"objects"},closed_lock_with_key:{keywords:["security","privacy"],char:"🔐",fitzpatrick_scale:false,category:"objects"},lock:{keywords:["security","password","padlock"],char:"🔒",fitzpatrick_scale:false,category:"objects"},unlock:{keywords:["privacy","security"],char:"🔓",fitzpatrick_scale:false,category:"objects"},lock_with_ink_pen:{keywords:["security","secret"],char:"🔏",fitzpatrick_scale:false,category:"objects"},pen:{keywords:["stationery","writing","write"],char:"🖊",fitzpatrick_scale:false,category:"objects"},fountain_pen:{keywords:["stationery","writing","write"],char:"🖋",fitzpatrick_scale:false,category:"objects"},black_nib:{keywords:["pen","stationery","writing","write"],char:"✒️",fitzpatrick_scale:false,category:"objects"},memo:{keywords:["write","documents","stationery","pencil","paper","writing","legal","exam","quiz","test","study","compose"],char:"📝",fitzpatrick_scale:false,category:"objects"},pencil2:{keywords:["stationery","write","paper","writing","school","study"],char:"✏️",fitzpatrick_scale:false,category:"objects"},crayon:{keywords:["drawing","creativity"],char:"🖍",fitzpatrick_scale:false,category:"objects"},paintbrush:{keywords:["drawing","creativity","art"],char:"🖌",fitzpatrick_scale:false,category:"objects"},mag:{keywords:["search","zoom","find","detective"],char:"🔍",fitzpatrick_scale:false,category:"objects"},mag_right:{keywords:["search","zoom","find","detective"],char:"🔎",fitzpatrick_scale:false,category:"objects"},heart:{keywords:["love","like","valentines"],char:"❤️",fitzpatrick_scale:false,category:"symbols"},orange_heart:{keywords:["love","like","affection","valentines"],char:"🧡",fitzpatrick_scale:false,category:"symbols"},yellow_heart:{keywords:["love","like","affection","valentines"],char:"💛",fitzpatrick_scale:false,category:"symbols"},green_heart:{keywords:["love","like","affection","valentines"],char:"💚",fitzpatrick_scale:false,category:"symbols"},blue_heart:{keywords:["love","like","affection","valentines"],char:"💙",fitzpatrick_scale:false,category:"symbols"},purple_heart:{keywords:["love","like","affection","valentines"],char:"💜",fitzpatrick_scale:false,category:"symbols"},black_heart:{keywords:["evil"],char:"🖤",fitzpatrick_scale:false,category:"symbols"},broken_heart:{keywords:["sad","sorry","break","heart","heartbreak"],char:"💔",fitzpatrick_scale:false,category:"symbols"},heavy_heart_exclamation:{keywords:["decoration","love"],char:"❣",fitzpatrick_scale:false,category:"symbols"},two_hearts:{keywords:["love","like","affection","valentines","heart"],char:"💕",fitzpatrick_scale:false,category:"symbols"},revolving_hearts:{keywords:["love","like","affection","valentines"],char:"💞",fitzpatrick_scale:false,category:"symbols"},heartbeat:{keywords:["love","like","affection","valentines","pink","heart"],char:"💓",fitzpatrick_scale:false,category:"symbols"},heartpulse:{keywords:["like","love","affection","valentines","pink"],char:"💗",fitzpatrick_scale:false,category:"symbols"},sparkling_heart:{keywords:["love","like","affection","valentines"],char:"💖",fitzpatrick_scale:false,category:"symbols"},cupid:{keywords:["love","like","heart","affection","valentines"],char:"💘",fitzpatrick_scale:false,category:"symbols"},gift_heart:{keywords:["love","valentines"],char:"💝",fitzpatrick_scale:false,category:"symbols"},heart_decoration:{keywords:["purple-square","love","like"],char:"💟",fitzpatrick_scale:false,category:"symbols"},peace_symbol:{keywords:["hippie"],char:"☮",fitzpatrick_scale:false,category:"symbols"},latin_cross:{keywords:["christianity"],char:"✝",fitzpatrick_scale:false,category:"symbols"},star_and_crescent:{keywords:["islam"],char:"☪",fitzpatrick_scale:false,category:"symbols"},om:{keywords:["hinduism","buddhism","sikhism","jainism"],char:"🕉",fitzpatrick_scale:false,category:"symbols"},wheel_of_dharma:{keywords:["hinduism","buddhism","sikhism","jainism"],char:"☸",fitzpatrick_scale:false,category:"symbols"},star_of_david:{keywords:["judaism"],char:"✡",fitzpatrick_scale:false,category:"symbols"},six_pointed_star:{keywords:["purple-square","religion","jewish","hexagram"],char:"🔯",fitzpatrick_scale:false,category:"symbols"},menorah:{keywords:["hanukkah","candles","jewish"],char:"🕎",fitzpatrick_scale:false,category:"symbols"},yin_yang:{keywords:["balance"],char:"☯",fitzpatrick_scale:false,category:"symbols"},orthodox_cross:{keywords:["suppedaneum","religion"],char:"☦",fitzpatrick_scale:false,category:"symbols"},place_of_worship:{keywords:["religion","church","temple","prayer"],char:"🛐",fitzpatrick_scale:false,category:"symbols"},ophiuchus:{keywords:["sign","purple-square","constellation","astrology"],char:"⛎",fitzpatrick_scale:false,category:"symbols"},aries:{keywords:["sign","purple-square","zodiac","astrology"],char:"♈",fitzpatrick_scale:false,category:"symbols"},taurus:{keywords:["purple-square","sign","zodiac","astrology"],char:"♉",fitzpatrick_scale:false,category:"symbols"},gemini:{keywords:["sign","zodiac","purple-square","astrology"],char:"♊",fitzpatrick_scale:false,category:"symbols"},cancer:{keywords:["sign","zodiac","purple-square","astrology"],char:"♋",fitzpatrick_scale:false,category:"symbols"},leo:{keywords:["sign","purple-square","zodiac","astrology"],char:"♌",fitzpatrick_scale:false,category:"symbols"},virgo:{keywords:["sign","zodiac","purple-square","astrology"],char:"♍",fitzpatrick_scale:false,category:"symbols"},libra:{keywords:["sign","purple-square","zodiac","astrology"],char:"♎",fitzpatrick_scale:false,category:"symbols"},scorpius:{keywords:["sign","zodiac","purple-square","astrology","scorpio"],char:"♏",fitzpatrick_scale:false,category:"symbols"},sagittarius:{keywords:["sign","zodiac","purple-square","astrology"],char:"♐",fitzpatrick_scale:false,category:"symbols"},capricorn:{keywords:["sign","zodiac","purple-square","astrology"],char:"♑",fitzpatrick_scale:false,category:"symbols"},aquarius:{keywords:["sign","purple-square","zodiac","astrology"],char:"♒",fitzpatrick_scale:false,category:"symbols"},pisces:{keywords:["purple-square","sign","zodiac","astrology"],char:"♓",fitzpatrick_scale:false,category:"symbols"},id:{keywords:["purple-square","words"],char:"🆔",fitzpatrick_scale:false,category:"symbols"},atom_symbol:{keywords:["science","physics","chemistry"],char:"⚛",fitzpatrick_scale:false,category:"symbols"},u7a7a:{keywords:["kanji","japanese","chinese","empty","sky","blue-square"],char:"🈳",fitzpatrick_scale:false,category:"symbols"},u5272:{keywords:["cut","divide","chinese","kanji","pink-square"],char:"🈹",fitzpatrick_scale:false,category:"symbols"},radioactive:{keywords:["nuclear","danger"],char:"☢",fitzpatrick_scale:false,category:"symbols"},biohazard:{keywords:["danger"],char:"☣",fitzpatrick_scale:false,category:"symbols"},mobile_phone_off:{keywords:["mute","orange-square","silence","quiet"],char:"📴",fitzpatrick_scale:false,category:"symbols"},vibration_mode:{keywords:["orange-square","phone"],char:"📳",fitzpatrick_scale:false,category:"symbols"},u6709:{keywords:["orange-square","chinese","have","kanji"],char:"🈶",fitzpatrick_scale:false,category:"symbols"},u7121:{keywords:["nothing","chinese","kanji","japanese","orange-square"],char:"🈚",fitzpatrick_scale:false,category:"symbols"},u7533:{keywords:["chinese","japanese","kanji","orange-square"],char:"🈸",fitzpatrick_scale:false,category:"symbols"},u55b6:{keywords:["japanese","opening hours","orange-square"],char:"🈺",fitzpatrick_scale:false,category:"symbols"},u6708:{keywords:["chinese","month","moon","japanese","orange-square","kanji"],char:"🈷️",fitzpatrick_scale:false,category:"symbols"},eight_pointed_black_star:{keywords:["orange-square","shape","polygon"],char:"✴️",fitzpatrick_scale:false,category:"symbols"},vs:{keywords:["words","orange-square"],char:"🆚",fitzpatrick_scale:false,category:"symbols"},accept:{keywords:["ok","good","chinese","kanji","agree","yes","orange-circle"],char:"🉑",fitzpatrick_scale:false,category:"symbols"},white_flower:{keywords:["japanese","spring"],char:"💮",fitzpatrick_scale:false,category:"symbols"},ideograph_advantage:{keywords:["chinese","kanji","obtain","get","circle"],char:"🉐",fitzpatrick_scale:false,category:"symbols"},secret:{keywords:["privacy","chinese","sshh","kanji","red-circle"],char:"㊙️",fitzpatrick_scale:false,category:"symbols"},congratulations:{keywords:["chinese","kanji","japanese","red-circle"],char:"㊗️",fitzpatrick_scale:false,category:"symbols"},u5408:{keywords:["japanese","chinese","join","kanji","red-square"],char:"🈴",fitzpatrick_scale:false,category:"symbols"},u6e80:{keywords:["full","chinese","japanese","red-square","kanji"],char:"🈵",fitzpatrick_scale:false,category:"symbols"},u7981:{keywords:["kanji","japanese","chinese","forbidden","limit","restricted","red-square"],char:"🈲",fitzpatrick_scale:false,category:"symbols"},a:{keywords:["red-square","alphabet","letter"],char:"🅰️",fitzpatrick_scale:false,category:"symbols"},b:{keywords:["red-square","alphabet","letter"],char:"🅱️",fitzpatrick_scale:false,category:"symbols"},ab:{keywords:["red-square","alphabet"],char:"🆎",fitzpatrick_scale:false,category:"symbols"},cl:{keywords:["alphabet","words","red-square"],char:"🆑",fitzpatrick_scale:false,category:"symbols"},o2:{keywords:["alphabet","red-square","letter"],char:"🅾️",fitzpatrick_scale:false,category:"symbols"},sos:{keywords:["help","red-square","words","emergency","911"],char:"🆘",fitzpatrick_scale:false,category:"symbols"},no_entry:{keywords:["limit","security","privacy","bad","denied","stop","circle"],char:"⛔",fitzpatrick_scale:false,category:"symbols"},name_badge:{keywords:["fire","forbid"],char:"📛",fitzpatrick_scale:false,category:"symbols"},no_entry_sign:{keywords:["forbid","stop","limit","denied","disallow","circle"],char:"🚫",fitzpatrick_scale:false,category:"symbols"},x:{keywords:["no","delete","remove","cancel","red"],char:"❌",fitzpatrick_scale:false,category:"symbols"},o:{keywords:["circle","round"],char:"⭕",fitzpatrick_scale:false,category:"symbols"},stop_sign:{keywords:["stop"],char:"🛑",fitzpatrick_scale:false,category:"symbols"},anger:{keywords:["angry","mad"],char:"💢",fitzpatrick_scale:false,category:"symbols"},hotsprings:{keywords:["bath","warm","relax"],char:"♨️",fitzpatrick_scale:false,category:"symbols"},no_pedestrians:{keywords:["rules","crossing","walking","circle"],char:"🚷",fitzpatrick_scale:false,category:"symbols"},do_not_litter:{keywords:["trash","bin","garbage","circle"],char:"🚯",fitzpatrick_scale:false,category:"symbols"},no_bicycles:{keywords:["cyclist","prohibited","circle"],char:"🚳",fitzpatrick_scale:false,category:"symbols"},"non-potable_water":{keywords:["drink","faucet","tap","circle"],char:"🚱",fitzpatrick_scale:false,category:"symbols"},underage:{keywords:["18","drink","pub","night","minor","circle"],char:"🔞",fitzpatrick_scale:false,category:"symbols"},no_mobile_phones:{keywords:["iphone","mute","circle"],char:"📵",fitzpatrick_scale:false,category:"symbols"},exclamation:{keywords:["heavy_exclamation_mark","danger","surprise","punctuation","wow","warning"],char:"❗",fitzpatrick_scale:false,category:"symbols"},grey_exclamation:{keywords:["surprise","punctuation","gray","wow","warning"],char:"❕",fitzpatrick_scale:false,category:"symbols"},question:{keywords:["doubt","confused"],char:"❓",fitzpatrick_scale:false,category:"symbols"},grey_question:{keywords:["doubts","gray","huh","confused"],char:"❔",fitzpatrick_scale:false,category:"symbols"},bangbang:{keywords:["exclamation","surprise"],char:"‼️",fitzpatrick_scale:false,category:"symbols"},interrobang:{keywords:["wat","punctuation","surprise"],char:"⁉️",fitzpatrick_scale:false,category:"symbols"},100:{keywords:["score","perfect","numbers","century","exam","quiz","test","pass","hundred"],char:"💯",fitzpatrick_scale:false,category:"symbols"},low_brightness:{keywords:["sun","afternoon","warm","summer"],char:"🔅",fitzpatrick_scale:false,category:"symbols"},high_brightness:{keywords:["sun","light"],char:"🔆",fitzpatrick_scale:false,category:"symbols"},trident:{keywords:["weapon","spear"],char:"🔱",fitzpatrick_scale:false,category:"symbols"},fleur_de_lis:{keywords:["decorative","scout"],char:"⚜",fitzpatrick_scale:false,category:"symbols"},part_alternation_mark:{keywords:["graph","presentation","stats","business","economics","bad"],char:"〽️",fitzpatrick_scale:false,category:"symbols"},warning:{keywords:["exclamation","wip","alert","error","problem","issue"],char:"⚠️",fitzpatrick_scale:false,category:"symbols"},children_crossing:{keywords:["school","warning","danger","sign","driving","yellow-diamond"],char:"🚸",fitzpatrick_scale:false,category:"symbols"},beginner:{keywords:["badge","shield"],char:"🔰",fitzpatrick_scale:false,category:"symbols"},recycle:{keywords:["arrow","environment","garbage","trash"],char:"♻️",fitzpatrick_scale:false,category:"symbols"},u6307:{keywords:["chinese","point","green-square","kanji"],char:"🈯",fitzpatrick_scale:false,category:"symbols"},chart:{keywords:["green-square","graph","presentation","stats"],char:"💹",fitzpatrick_scale:false,category:"symbols"},sparkle:{keywords:["stars","green-square","awesome","good","fireworks"],char:"❇️",fitzpatrick_scale:false,category:"symbols"},eight_spoked_asterisk:{keywords:["star","sparkle","green-square"],char:"✳️",fitzpatrick_scale:false,category:"symbols"},negative_squared_cross_mark:{keywords:["x","green-square","no","deny"],char:"❎",fitzpatrick_scale:false,category:"symbols"},white_check_mark:{keywords:["green-square","ok","agree","vote","election","answer","tick"],char:"✅",fitzpatrick_scale:false,category:"symbols"},diamond_shape_with_a_dot_inside:{keywords:["jewel","blue","gem","crystal","fancy"],char:"💠",fitzpatrick_scale:false,category:"symbols"},cyclone:{keywords:["weather","swirl","blue","cloud","vortex","spiral","whirlpool","spin","tornado","hurricane","typhoon"],char:"🌀",fitzpatrick_scale:false,category:"symbols"},loop:{keywords:["tape","cassette"],char:"➿",fitzpatrick_scale:false,category:"symbols"},globe_with_meridians:{keywords:["earth","international","world","internet","interweb","i18n"],char:"🌐",fitzpatrick_scale:false,category:"symbols"},m:{keywords:["alphabet","blue-circle","letter"],char:"Ⓜ️",fitzpatrick_scale:false,category:"symbols"},atm:{keywords:["money","sales","cash","blue-square","payment","bank"],char:"🏧",fitzpatrick_scale:false,category:"symbols"},sa:{keywords:["japanese","blue-square","katakana"],char:"🈂️",fitzpatrick_scale:false,category:"symbols"},passport_control:{keywords:["custom","blue-square"],char:"🛂",fitzpatrick_scale:false,category:"symbols"},customs:{keywords:["passport","border","blue-square"],char:"🛃",fitzpatrick_scale:false,category:"symbols"},baggage_claim:{keywords:["blue-square","airport","transport"],char:"🛄",fitzpatrick_scale:false,category:"symbols"},left_luggage:{keywords:["blue-square","travel"],char:"🛅",fitzpatrick_scale:false,category:"symbols"},wheelchair:{keywords:["blue-square","disabled","a11y","accessibility"],char:"♿",fitzpatrick_scale:false,category:"symbols"},no_smoking:{keywords:["cigarette","blue-square","smell","smoke"],char:"🚭",fitzpatrick_scale:false,category:"symbols"},wc:{keywords:["toilet","restroom","blue-square"],char:"🚾",fitzpatrick_scale:false,category:"symbols"},parking:{keywords:["cars","blue-square","alphabet","letter"],char:"🅿️",fitzpatrick_scale:false,category:"symbols"},potable_water:{keywords:["blue-square","liquid","restroom","cleaning","faucet"],char:"🚰",fitzpatrick_scale:false,category:"symbols"},mens:{keywords:["toilet","restroom","wc","blue-square","gender","male"],char:"🚹",fitzpatrick_scale:false,category:"symbols"},womens:{keywords:["purple-square","woman","female","toilet","loo","restroom","gender"],char:"🚺",fitzpatrick_scale:false,category:"symbols"},baby_symbol:{keywords:["orange-square","child"],char:"🚼",fitzpatrick_scale:false,category:"symbols"},restroom:{keywords:["blue-square","toilet","refresh","wc","gender"],char:"🚻",fitzpatrick_scale:false,category:"symbols"},put_litter_in_its_place:{keywords:["blue-square","sign","human","info"],char:"🚮",fitzpatrick_scale:false,category:"symbols"},cinema:{keywords:["blue-square","record","film","movie","curtain","stage","theater"],char:"🎦",fitzpatrick_scale:false,category:"symbols"},signal_strength:{keywords:["blue-square","reception","phone","internet","connection","wifi","bluetooth","bars"],char:"📶",fitzpatrick_scale:false,category:"symbols"},koko:{keywords:["blue-square","here","katakana","japanese","destination"],char:"🈁",fitzpatrick_scale:false,category:"symbols"},ng:{keywords:["blue-square","words","shape","icon"],char:"🆖",fitzpatrick_scale:false,category:"symbols"},ok:{keywords:["good","agree","yes","blue-square"],char:"🆗",fitzpatrick_scale:false,category:"symbols"},up:{keywords:["blue-square","above","high"],char:"🆙",fitzpatrick_scale:false,category:"symbols"},cool:{keywords:["words","blue-square"],char:"🆒",fitzpatrick_scale:false,category:"symbols"},new:{keywords:["blue-square","words","start"],char:"🆕",fitzpatrick_scale:false,category:"symbols"},free:{keywords:["blue-square","words"],char:"🆓",fitzpatrick_scale:false,category:"symbols"},zero:{keywords:["0","numbers","blue-square","null"],char:"0️⃣",fitzpatrick_scale:false,category:"symbols"},one:{keywords:["blue-square","numbers","1"],char:"1️⃣",fitzpatrick_scale:false,category:"symbols"},two:{keywords:["numbers","2","prime","blue-square"],char:"2️⃣",fitzpatrick_scale:false,category:"symbols"},three:{keywords:["3","numbers","prime","blue-square"],char:"3️⃣",fitzpatrick_scale:false,category:"symbols"},four:{keywords:["4","numbers","blue-square"],char:"4️⃣",fitzpatrick_scale:false,category:"symbols"},five:{keywords:["5","numbers","blue-square","prime"],char:"5️⃣",fitzpatrick_scale:false,category:"symbols"},six:{keywords:["6","numbers","blue-square"],char:"6️⃣",fitzpatrick_scale:false,category:"symbols"},seven:{keywords:["7","numbers","blue-square","prime"],char:"7️⃣",fitzpatrick_scale:false,category:"symbols"},eight:{keywords:["8","blue-square","numbers"],char:"8️⃣",fitzpatrick_scale:false,category:"symbols"},nine:{keywords:["blue-square","numbers","9"],char:"9️⃣",fitzpatrick_scale:false,category:"symbols"},keycap_ten:{keywords:["numbers","10","blue-square"],char:"🔟",fitzpatrick_scale:false,category:"symbols"},asterisk:{keywords:["star","keycap"],char:"*⃣",fitzpatrick_scale:false,category:"symbols"},1234:{keywords:["numbers","blue-square"],char:"🔢",fitzpatrick_scale:false,category:"symbols"},eject_button:{keywords:["blue-square"],char:"⏏️",fitzpatrick_scale:false,category:"symbols"},arrow_forward:{keywords:["blue-square","right","direction","play"],char:"▶️",fitzpatrick_scale:false,category:"symbols"},pause_button:{keywords:["pause","blue-square"],char:"⏸",fitzpatrick_scale:false,category:"symbols"},next_track_button:{keywords:["forward","next","blue-square"],char:"⏭",fitzpatrick_scale:false,category:"symbols"},stop_button:{keywords:["blue-square"],char:"⏹",fitzpatrick_scale:false,category:"symbols"},record_button:{keywords:["blue-square"],char:"⏺",fitzpatrick_scale:false,category:"symbols"},play_or_pause_button:{keywords:["blue-square","play","pause"],char:"⏯",fitzpatrick_scale:false,category:"symbols"},previous_track_button:{keywords:["backward"],char:"⏮",fitzpatrick_scale:false,category:"symbols"},fast_forward:{keywords:["blue-square","play","speed","continue"],char:"⏩",fitzpatrick_scale:false,category:"symbols"},rewind:{keywords:["play","blue-square"],char:"⏪",fitzpatrick_scale:false,category:"symbols"},twisted_rightwards_arrows:{keywords:["blue-square","shuffle","music","random"],char:"🔀",fitzpatrick_scale:false,category:"symbols"},repeat:{keywords:["loop","record"],char:"🔁",fitzpatrick_scale:false,category:"symbols"},repeat_one:{keywords:["blue-square","loop"],char:"🔂",fitzpatrick_scale:false,category:"symbols"},arrow_backward:{keywords:["blue-square","left","direction"],char:"◀️",fitzpatrick_scale:false,category:"symbols"},arrow_up_small:{keywords:["blue-square","triangle","direction","point","forward","top"],char:"🔼",fitzpatrick_scale:false,category:"symbols"},arrow_down_small:{keywords:["blue-square","direction","bottom"],char:"🔽",fitzpatrick_scale:false,category:"symbols"},arrow_double_up:{keywords:["blue-square","direction","top"],char:"⏫",fitzpatrick_scale:false,category:"symbols"},arrow_double_down:{keywords:["blue-square","direction","bottom"],char:"⏬",fitzpatrick_scale:false,category:"symbols"},arrow_right:{keywords:["blue-square","next"],char:"➡️",fitzpatrick_scale:false,category:"symbols"},arrow_left:{keywords:["blue-square","previous","back"],char:"⬅️",fitzpatrick_scale:false,category:"symbols"},arrow_up:{keywords:["blue-square","continue","top","direction"],char:"⬆️",fitzpatrick_scale:false,category:"symbols"},arrow_down:{keywords:["blue-square","direction","bottom"],char:"⬇️",fitzpatrick_scale:false,category:"symbols"},arrow_upper_right:{keywords:["blue-square","point","direction","diagonal","northeast"],char:"↗️",fitzpatrick_scale:false,category:"symbols"},arrow_lower_right:{keywords:["blue-square","direction","diagonal","southeast"],char:"↘️",fitzpatrick_scale:false,category:"symbols"},arrow_lower_left:{keywords:["blue-square","direction","diagonal","southwest"],char:"↙️",fitzpatrick_scale:false,category:"symbols"},arrow_upper_left:{keywords:["blue-square","point","direction","diagonal","northwest"],char:"↖️",fitzpatrick_scale:false,category:"symbols"},arrow_up_down:{keywords:["blue-square","direction","way","vertical"],char:"↕️",fitzpatrick_scale:false,category:"symbols"},left_right_arrow:{keywords:["shape","direction","horizontal","sideways"],char:"↔️",fitzpatrick_scale:false,category:"symbols"},arrows_counterclockwise:{keywords:["blue-square","sync","cycle"],char:"🔄",fitzpatrick_scale:false,category:"symbols"},arrow_right_hook:{keywords:["blue-square","return","rotate","direction"],char:"↪️",fitzpatrick_scale:false,category:"symbols"},leftwards_arrow_with_hook:{keywords:["back","return","blue-square","undo","enter"],char:"↩️",fitzpatrick_scale:false,category:"symbols"},arrow_heading_up:{keywords:["blue-square","direction","top"],char:"⤴️",fitzpatrick_scale:false,category:"symbols"},arrow_heading_down:{keywords:["blue-square","direction","bottom"],char:"⤵️",fitzpatrick_scale:false,category:"symbols"},hash:{keywords:["symbol","blue-square","twitter"],char:"#️⃣",fitzpatrick_scale:false,category:"symbols"},information_source:{keywords:["blue-square","alphabet","letter"],char:"ℹ️",fitzpatrick_scale:false,category:"symbols"},abc:{keywords:["blue-square","alphabet"],char:"🔤",fitzpatrick_scale:false,category:"symbols"},abcd:{keywords:["blue-square","alphabet"],char:"🔡",fitzpatrick_scale:false,category:"symbols"},capital_abcd:{keywords:["alphabet","words","blue-square"],char:"🔠",fitzpatrick_scale:false,category:"symbols"},symbols:{keywords:["blue-square","music","note","ampersand","percent","glyphs","characters"],char:"🔣",fitzpatrick_scale:false,category:"symbols"},musical_note:{keywords:["score","tone","sound"],char:"🎵",fitzpatrick_scale:false,category:"symbols"},notes:{keywords:["music","score"],char:"🎶",fitzpatrick_scale:false,category:"symbols"},wavy_dash:{keywords:["draw","line","moustache","mustache","squiggle","scribble"],char:"〰️",fitzpatrick_scale:false,category:"symbols"},curly_loop:{keywords:["scribble","draw","shape","squiggle"],char:"➰",fitzpatrick_scale:false,category:"symbols"},heavy_check_mark:{keywords:["ok","nike","answer","yes","tick"],char:"✔️",fitzpatrick_scale:false,category:"symbols"},arrows_clockwise:{keywords:["sync","cycle","round","repeat"],char:"🔃",fitzpatrick_scale:false,category:"symbols"},heavy_plus_sign:{keywords:["math","calculation","addition","more","increase"],char:"➕",fitzpatrick_scale:false,category:"symbols"},heavy_minus_sign:{keywords:["math","calculation","subtract","less"],char:"➖",fitzpatrick_scale:false,category:"symbols"},heavy_division_sign:{keywords:["divide","math","calculation"],char:"➗",fitzpatrick_scale:false,category:"symbols"},heavy_multiplication_x:{keywords:["math","calculation"],char:"✖️",fitzpatrick_scale:false,category:"symbols"},infinity:{keywords:["forever"],char:"♾",fitzpatrick_scale:false,category:"symbols"},heavy_dollar_sign:{keywords:["money","sales","payment","currency","buck"],char:"💲",fitzpatrick_scale:false,category:"symbols"},currency_exchange:{keywords:["money","sales","dollar","travel"],char:"💱",fitzpatrick_scale:false,category:"symbols"},copyright:{keywords:["ip","license","circle","law","legal"],char:"©️",fitzpatrick_scale:false,category:"symbols"},registered:{keywords:["alphabet","circle"],char:"®️",fitzpatrick_scale:false,category:"symbols"},tm:{keywords:["trademark","brand","law","legal"],char:"™️",fitzpatrick_scale:false,category:"symbols"},end:{keywords:["words","arrow"],char:"🔚",fitzpatrick_scale:false,category:"symbols"},back:{keywords:["arrow","words","return"],char:"🔙",fitzpatrick_scale:false,category:"symbols"},on:{keywords:["arrow","words"],char:"🔛",fitzpatrick_scale:false,category:"symbols"},top:{keywords:["words","blue-square"],char:"🔝",fitzpatrick_scale:false,category:"symbols"},soon:{keywords:["arrow","words"],char:"🔜",fitzpatrick_scale:false,category:"symbols"},ballot_box_with_check:{keywords:["ok","agree","confirm","black-square","vote","election","yes","tick"],char:"☑️",fitzpatrick_scale:false,category:"symbols"},radio_button:{keywords:["input","old","music","circle"],char:"🔘",fitzpatrick_scale:false,category:"symbols"},white_circle:{keywords:["shape","round"],char:"⚪",fitzpatrick_scale:false,category:"symbols"},black_circle:{keywords:["shape","button","round"],char:"⚫",fitzpatrick_scale:false,category:"symbols"},red_circle:{keywords:["shape","error","danger"],char:"🔴",fitzpatrick_scale:false,category:"symbols"},large_blue_circle:{keywords:["shape","icon","button"],char:"🔵",fitzpatrick_scale:false,category:"symbols"},small_orange_diamond:{keywords:["shape","jewel","gem"],char:"🔸",fitzpatrick_scale:false,category:"symbols"},small_blue_diamond:{keywords:["shape","jewel","gem"],char:"🔹",fitzpatrick_scale:false,category:"symbols"},large_orange_diamond:{keywords:["shape","jewel","gem"],char:"🔶",fitzpatrick_scale:false,category:"symbols"},large_blue_diamond:{keywords:["shape","jewel","gem"],char:"🔷",fitzpatrick_scale:false,category:"symbols"},small_red_triangle:{keywords:["shape","direction","up","top"],char:"🔺",fitzpatrick_scale:false,category:"symbols"},black_small_square:{keywords:["shape","icon"],char:"▪️",fitzpatrick_scale:false,category:"symbols"},white_small_square:{keywords:["shape","icon"],char:"▫️",fitzpatrick_scale:false,category:"symbols"},black_large_square:{keywords:["shape","icon","button"],char:"⬛",fitzpatrick_scale:false,category:"symbols"},white_large_square:{keywords:["shape","icon","stone","button"],char:"⬜",fitzpatrick_scale:false,category:"symbols"},small_red_triangle_down:{keywords:["shape","direction","bottom"],char:"🔻",fitzpatrick_scale:false,category:"symbols"},black_medium_square:{keywords:["shape","button","icon"],char:"◼️",fitzpatrick_scale:false,category:"symbols"},white_medium_square:{keywords:["shape","stone","icon"],char:"◻️",fitzpatrick_scale:false,category:"symbols"},black_medium_small_square:{keywords:["icon","shape","button"],char:"◾",fitzpatrick_scale:false,category:"symbols"},white_medium_small_square:{keywords:["shape","stone","icon","button"],char:"◽",fitzpatrick_scale:false,category:"symbols"},black_square_button:{keywords:["shape","input","frame"],char:"🔲",fitzpatrick_scale:false,category:"symbols"},white_square_button:{keywords:["shape","input"],char:"🔳",fitzpatrick_scale:false,category:"symbols"},speaker:{keywords:["sound","volume","silence","broadcast"],char:"🔈",fitzpatrick_scale:false,category:"symbols"},sound:{keywords:["volume","speaker","broadcast"],char:"🔉",fitzpatrick_scale:false,category:"symbols"},loud_sound:{keywords:["volume","noise","noisy","speaker","broadcast"],char:"🔊",fitzpatrick_scale:false,category:"symbols"},mute:{keywords:["sound","volume","silence","quiet"],char:"🔇",fitzpatrick_scale:false,category:"symbols"},mega:{keywords:["sound","speaker","volume"],char:"📣",fitzpatrick_scale:false,category:"symbols"},loudspeaker:{keywords:["volume","sound"],char:"📢",fitzpatrick_scale:false,category:"symbols"},bell:{keywords:["sound","notification","christmas","xmas","chime"],char:"🔔",fitzpatrick_scale:false,category:"symbols"},no_bell:{keywords:["sound","volume","mute","quiet","silent"],char:"🔕",fitzpatrick_scale:false,category:"symbols"},black_joker:{keywords:["poker","cards","game","play","magic"],char:"🃏",fitzpatrick_scale:false,category:"symbols"},mahjong:{keywords:["game","play","chinese","kanji"],char:"🀄",fitzpatrick_scale:false,category:"symbols"},spades:{keywords:["poker","cards","suits","magic"],char:"♠️",fitzpatrick_scale:false,category:"symbols"},clubs:{keywords:["poker","cards","magic","suits"],char:"♣️",fitzpatrick_scale:false,category:"symbols"},hearts:{keywords:["poker","cards","magic","suits"],char:"♥️",fitzpatrick_scale:false,category:"symbols"},diamonds:{keywords:["poker","cards","magic","suits"],char:"♦️",fitzpatrick_scale:false,category:"symbols"},flower_playing_cards:{keywords:["game","sunset","red"],char:"🎴",fitzpatrick_scale:false,category:"symbols"},thought_balloon:{keywords:["bubble","cloud","speech","thinking","dream"],char:"💭",fitzpatrick_scale:false,category:"symbols"},right_anger_bubble:{keywords:["caption","speech","thinking","mad"],char:"🗯",fitzpatrick_scale:false,category:"symbols"},speech_balloon:{keywords:["bubble","words","message","talk","chatting"],char:"💬",fitzpatrick_scale:false,category:"symbols"},left_speech_bubble:{keywords:["words","message","talk","chatting"],char:"🗨",fitzpatrick_scale:false,category:"symbols"},clock1:{keywords:["time","late","early","schedule"],char:"🕐",fitzpatrick_scale:false,category:"symbols"},clock2:{keywords:["time","late","early","schedule"],char:"🕑",fitzpatrick_scale:false,category:"symbols"},clock3:{keywords:["time","late","early","schedule"],char:"🕒",fitzpatrick_scale:false,category:"symbols"},clock4:{keywords:["time","late","early","schedule"],char:"🕓",fitzpatrick_scale:false,category:"symbols"},clock5:{keywords:["time","late","early","schedule"],char:"🕔",fitzpatrick_scale:false,category:"symbols"},clock6:{keywords:["time","late","early","schedule","dawn","dusk"],char:"🕕",fitzpatrick_scale:false,category:"symbols"},clock7:{keywords:["time","late","early","schedule"],char:"🕖",fitzpatrick_scale:false,category:"symbols"},clock8:{keywords:["time","late","early","schedule"],char:"🕗",fitzpatrick_scale:false,category:"symbols"},clock9:{keywords:["time","late","early","schedule"],char:"🕘",fitzpatrick_scale:false,category:"symbols"},clock10:{keywords:["time","late","early","schedule"],char:"🕙",fitzpatrick_scale:false,category:"symbols"},clock11:{keywords:["time","late","early","schedule"],char:"🕚",fitzpatrick_scale:false,category:"symbols"},clock12:{keywords:["time","noon","midnight","midday","late","early","schedule"],char:"🕛",fitzpatrick_scale:false,category:"symbols"},clock130:{keywords:["time","late","early","schedule"],char:"🕜",fitzpatrick_scale:false,category:"symbols"},clock230:{keywords:["time","late","early","schedule"],char:"🕝",fitzpatrick_scale:false,category:"symbols"},clock330:{keywords:["time","late","early","schedule"],char:"🕞",fitzpatrick_scale:false,category:"symbols"},clock430:{keywords:["time","late","early","schedule"],char:"🕟",fitzpatrick_scale:false,category:"symbols"},clock530:{keywords:["time","late","early","schedule"],char:"🕠",fitzpatrick_scale:false,category:"symbols"},clock630:{keywords:["time","late","early","schedule"],char:"🕡",fitzpatrick_scale:false,category:"symbols"},clock730:{keywords:["time","late","early","schedule"],char:"🕢",fitzpatrick_scale:false,category:"symbols"},clock830:{keywords:["time","late","early","schedule"],char:"🕣",fitzpatrick_scale:false,category:"symbols"},clock930:{keywords:["time","late","early","schedule"],char:"🕤",fitzpatrick_scale:false,category:"symbols"},clock1030:{keywords:["time","late","early","schedule"],char:"🕥",fitzpatrick_scale:false,category:"symbols"},clock1130:{keywords:["time","late","early","schedule"],char:"🕦",fitzpatrick_scale:false,category:"symbols"},clock1230:{keywords:["time","late","early","schedule"],char:"🕧",fitzpatrick_scale:false,category:"symbols"},afghanistan:{keywords:["af","flag","nation","country","banner"],char:"🇦🇫",fitzpatrick_scale:false,category:"flags"},aland_islands:{keywords:["Åland","islands","flag","nation","country","banner"],char:"🇦🇽",fitzpatrick_scale:false,category:"flags"},albania:{keywords:["al","flag","nation","country","banner"],char:"🇦🇱",fitzpatrick_scale:false,category:"flags"},algeria:{keywords:["dz","flag","nation","country","banner"],char:"🇩🇿",fitzpatrick_scale:false,category:"flags"},american_samoa:{keywords:["american","ws","flag","nation","country","banner"],char:"🇦🇸",fitzpatrick_scale:false,category:"flags"},andorra:{keywords:["ad","flag","nation","country","banner"],char:"🇦🇩",fitzpatrick_scale:false,category:"flags"},angola:{keywords:["ao","flag","nation","country","banner"],char:"🇦🇴",fitzpatrick_scale:false,category:"flags"},anguilla:{keywords:["ai","flag","nation","country","banner"],char:"🇦🇮",fitzpatrick_scale:false,category:"flags"},antarctica:{keywords:["aq","flag","nation","country","banner"],char:"🇦🇶",fitzpatrick_scale:false,category:"flags"},antigua_barbuda:{keywords:["antigua","barbuda","flag","nation","country","banner"],char:"🇦🇬",fitzpatrick_scale:false,category:"flags"},argentina:{keywords:["ar","flag","nation","country","banner"],char:"🇦🇷",fitzpatrick_scale:false,category:"flags"},armenia:{keywords:["am","flag","nation","country","banner"],char:"🇦🇲",fitzpatrick_scale:false,category:"flags"},aruba:{keywords:["aw","flag","nation","country","banner"],char:"🇦🇼",fitzpatrick_scale:false,category:"flags"},australia:{keywords:["au","flag","nation","country","banner"],char:"🇦🇺",fitzpatrick_scale:false,category:"flags"},austria:{keywords:["at","flag","nation","country","banner"],char:"🇦🇹",fitzpatrick_scale:false,category:"flags"},azerbaijan:{keywords:["az","flag","nation","country","banner"],char:"🇦🇿",fitzpatrick_scale:false,category:"flags"},bahamas:{keywords:["bs","flag","nation","country","banner"],char:"🇧🇸",fitzpatrick_scale:false,category:"flags"},bahrain:{keywords:["bh","flag","nation","country","banner"],char:"🇧🇭",fitzpatrick_scale:false,category:"flags"},bangladesh:{keywords:["bd","flag","nation","country","banner"],char:"🇧🇩",fitzpatrick_scale:false,category:"flags"},barbados:{keywords:["bb","flag","nation","country","banner"],char:"🇧🇧",fitzpatrick_scale:false,category:"flags"},belarus:{keywords:["by","flag","nation","country","banner"],char:"🇧🇾",fitzpatrick_scale:false,category:"flags"},belgium:{keywords:["be","flag","nation","country","banner"],char:"🇧🇪",fitzpatrick_scale:false,category:"flags"},belize:{keywords:["bz","flag","nation","country","banner"],char:"🇧🇿",fitzpatrick_scale:false,category:"flags"},benin:{keywords:["bj","flag","nation","country","banner"],char:"🇧🇯",fitzpatrick_scale:false,category:"flags"},bermuda:{keywords:["bm","flag","nation","country","banner"],char:"🇧🇲",fitzpatrick_scale:false,category:"flags"},bhutan:{keywords:["bt","flag","nation","country","banner"],char:"🇧🇹",fitzpatrick_scale:false,category:"flags"},bolivia:{keywords:["bo","flag","nation","country","banner"],char:"🇧🇴",fitzpatrick_scale:false,category:"flags"},caribbean_netherlands:{keywords:["bonaire","flag","nation","country","banner"],char:"🇧🇶",fitzpatrick_scale:false,category:"flags"},bosnia_herzegovina:{keywords:["bosnia","herzegovina","flag","nation","country","banner"],char:"🇧🇦",fitzpatrick_scale:false,category:"flags"},botswana:{keywords:["bw","flag","nation","country","banner"],char:"🇧🇼",fitzpatrick_scale:false,category:"flags"},brazil:{keywords:["br","flag","nation","country","banner"],char:"🇧🇷",fitzpatrick_scale:false,category:"flags"},british_indian_ocean_territory:{keywords:["british","indian","ocean","territory","flag","nation","country","banner"],char:"🇮🇴",fitzpatrick_scale:false,category:"flags"},british_virgin_islands:{keywords:["british","virgin","islands","bvi","flag","nation","country","banner"],char:"🇻🇬",fitzpatrick_scale:false,category:"flags"},brunei:{keywords:["bn","darussalam","flag","nation","country","banner"],char:"🇧🇳",fitzpatrick_scale:false,category:"flags"},bulgaria:{keywords:["bg","flag","nation","country","banner"],char:"🇧🇬",fitzpatrick_scale:false,category:"flags"},burkina_faso:{keywords:["burkina","faso","flag","nation","country","banner"],char:"🇧🇫",fitzpatrick_scale:false,category:"flags"},burundi:{keywords:["bi","flag","nation","country","banner"],char:"🇧🇮",fitzpatrick_scale:false,category:"flags"},cape_verde:{keywords:["cabo","verde","flag","nation","country","banner"],char:"🇨🇻",fitzpatrick_scale:false,category:"flags"},cambodia:{keywords:["kh","flag","nation","country","banner"],char:"🇰🇭",fitzpatrick_scale:false,category:"flags"},cameroon:{keywords:["cm","flag","nation","country","banner"],char:"🇨🇲",fitzpatrick_scale:false,category:"flags"},canada:{keywords:["ca","flag","nation","country","banner"],char:"🇨🇦",fitzpatrick_scale:false,category:"flags"},canary_islands:{keywords:["canary","islands","flag","nation","country","banner"],char:"🇮🇨",fitzpatrick_scale:false,category:"flags"},cayman_islands:{keywords:["cayman","islands","flag","nation","country","banner"],char:"🇰🇾",fitzpatrick_scale:false,category:"flags"},central_african_republic:{keywords:["central","african","republic","flag","nation","country","banner"],char:"🇨🇫",fitzpatrick_scale:false,category:"flags"},chad:{keywords:["td","flag","nation","country","banner"],char:"🇹🇩",fitzpatrick_scale:false,category:"flags"},chile:{keywords:["flag","nation","country","banner"],char:"🇨🇱",fitzpatrick_scale:false,category:"flags"},cn:{keywords:["china","chinese","prc","flag","country","nation","banner"],char:"🇨🇳",fitzpatrick_scale:false,category:"flags"},christmas_island:{keywords:["christmas","island","flag","nation","country","banner"],char:"🇨🇽",fitzpatrick_scale:false,category:"flags"},cocos_islands:{keywords:["cocos","keeling","islands","flag","nation","country","banner"],char:"🇨🇨",fitzpatrick_scale:false,category:"flags"},colombia:{keywords:["co","flag","nation","country","banner"],char:"🇨🇴",fitzpatrick_scale:false,category:"flags"},comoros:{keywords:["km","flag","nation","country","banner"],char:"🇰🇲",fitzpatrick_scale:false,category:"flags"},congo_brazzaville:{keywords:["congo","flag","nation","country","banner"],char:"🇨🇬",fitzpatrick_scale:false,category:"flags"},congo_kinshasa:{keywords:["congo","democratic","republic","flag","nation","country","banner"],char:"🇨🇩",fitzpatrick_scale:false,category:"flags"},cook_islands:{keywords:["cook","islands","flag","nation","country","banner"],char:"🇨🇰",fitzpatrick_scale:false,category:"flags"},costa_rica:{keywords:["costa","rica","flag","nation","country","banner"],char:"🇨🇷",fitzpatrick_scale:false,category:"flags"},croatia:{keywords:["hr","flag","nation","country","banner"],char:"🇭🇷",fitzpatrick_scale:false,category:"flags"},cuba:{keywords:["cu","flag","nation","country","banner"],char:"🇨🇺",fitzpatrick_scale:false,category:"flags"},curacao:{keywords:["curaçao","flag","nation","country","banner"],char:"🇨🇼",fitzpatrick_scale:false,category:"flags"},cyprus:{keywords:["cy","flag","nation","country","banner"],char:"🇨🇾",fitzpatrick_scale:false,category:"flags"},czech_republic:{keywords:["cz","flag","nation","country","banner"],char:"🇨🇿",fitzpatrick_scale:false,category:"flags"},denmark:{keywords:["dk","flag","nation","country","banner"],char:"🇩🇰",fitzpatrick_scale:false,category:"flags"},djibouti:{keywords:["dj","flag","nation","country","banner"],char:"🇩🇯",fitzpatrick_scale:false,category:"flags"},dominica:{keywords:["dm","flag","nation","country","banner"],char:"🇩🇲",fitzpatrick_scale:false,category:"flags"},dominican_republic:{keywords:["dominican","republic","flag","nation","country","banner"],char:"🇩🇴",fitzpatrick_scale:false,category:"flags"},ecuador:{keywords:["ec","flag","nation","country","banner"],char:"🇪🇨",fitzpatrick_scale:false,category:"flags"},egypt:{keywords:["eg","flag","nation","country","banner"],char:"🇪🇬",fitzpatrick_scale:false,category:"flags"},el_salvador:{keywords:["el","salvador","flag","nation","country","banner"],char:"🇸🇻",fitzpatrick_scale:false,category:"flags"},equatorial_guinea:{keywords:["equatorial","gn","flag","nation","country","banner"],char:"🇬🇶",fitzpatrick_scale:false,category:"flags"},eritrea:{keywords:["er","flag","nation","country","banner"],char:"🇪🇷",fitzpatrick_scale:false,category:"flags"},estonia:{keywords:["ee","flag","nation","country","banner"],char:"🇪🇪",fitzpatrick_scale:false,category:"flags"},ethiopia:{keywords:["et","flag","nation","country","banner"],char:"🇪🇹",fitzpatrick_scale:false,category:"flags"},eu:{keywords:["european","union","flag","banner"],char:"🇪🇺",fitzpatrick_scale:false,category:"flags"},falkland_islands:{keywords:["falkland","islands","malvinas","flag","nation","country","banner"],char:"🇫🇰",fitzpatrick_scale:false,category:"flags"},faroe_islands:{keywords:["faroe","islands","flag","nation","country","banner"],char:"🇫🇴",fitzpatrick_scale:false,category:"flags"},fiji:{keywords:["fj","flag","nation","country","banner"],char:"🇫🇯",fitzpatrick_scale:false,category:"flags"},finland:{keywords:["fi","flag","nation","country","banner"],char:"🇫🇮",fitzpatrick_scale:false,category:"flags"},fr:{keywords:["banner","flag","nation","france","french","country"],char:"🇫🇷",fitzpatrick_scale:false,category:"flags"},french_guiana:{keywords:["french","guiana","flag","nation","country","banner"],char:"🇬🇫",fitzpatrick_scale:false,category:"flags"},french_polynesia:{keywords:["french","polynesia","flag","nation","country","banner"],char:"🇵🇫",fitzpatrick_scale:false,category:"flags"},french_southern_territories:{keywords:["french","southern","territories","flag","nation","country","banner"],char:"🇹🇫",fitzpatrick_scale:false,category:"flags"},gabon:{keywords:["ga","flag","nation","country","banner"],char:"🇬🇦",fitzpatrick_scale:false,category:"flags"},gambia:{keywords:["gm","flag","nation","country","banner"],char:"🇬🇲",fitzpatrick_scale:false,category:"flags"},georgia:{keywords:["ge","flag","nation","country","banner"],char:"🇬🇪",fitzpatrick_scale:false,category:"flags"},de:{keywords:["german","nation","flag","country","banner"],char:"🇩🇪",fitzpatrick_scale:false,category:"flags"},ghana:{keywords:["gh","flag","nation","country","banner"],char:"🇬🇭",fitzpatrick_scale:false,category:"flags"},gibraltar:{keywords:["gi","flag","nation","country","banner"],char:"🇬🇮",fitzpatrick_scale:false,category:"flags"},greece:{keywords:["gr","flag","nation","country","banner"],char:"🇬🇷",fitzpatrick_scale:false,category:"flags"},greenland:{keywords:["gl","flag","nation","country","banner"],char:"🇬🇱",fitzpatrick_scale:false,category:"flags"},grenada:{keywords:["gd","flag","nation","country","banner"],char:"🇬🇩",fitzpatrick_scale:false,category:"flags"},guadeloupe:{keywords:["gp","flag","nation","country","banner"],char:"🇬🇵",fitzpatrick_scale:false,category:"flags"},guam:{keywords:["gu","flag","nation","country","banner"],char:"🇬🇺",fitzpatrick_scale:false,category:"flags"},guatemala:{keywords:["gt","flag","nation","country","banner"],char:"🇬🇹",fitzpatrick_scale:false,category:"flags"},guernsey:{keywords:["gg","flag","nation","country","banner"],char:"🇬🇬",fitzpatrick_scale:false,category:"flags"},guinea:{keywords:["gn","flag","nation","country","banner"],char:"🇬🇳",fitzpatrick_scale:false,category:"flags"},guinea_bissau:{keywords:["gw","bissau","flag","nation","country","banner"],char:"🇬🇼",fitzpatrick_scale:false,category:"flags"},guyana:{keywords:["gy","flag","nation","country","banner"],char:"🇬🇾",fitzpatrick_scale:false,category:"flags"},haiti:{keywords:["ht","flag","nation","country","banner"],char:"🇭🇹",fitzpatrick_scale:false,category:"flags"},honduras:{keywords:["hn","flag","nation","country","banner"],char:"🇭🇳",fitzpatrick_scale:false,category:"flags"},hong_kong:{keywords:["hong","kong","flag","nation","country","banner"],char:"🇭🇰",fitzpatrick_scale:false,category:"flags"},hungary:{keywords:["hu","flag","nation","country","banner"],char:"🇭🇺",fitzpatrick_scale:false,category:"flags"},iceland:{keywords:["is","flag","nation","country","banner"],char:"🇮🇸",fitzpatrick_scale:false,category:"flags"},india:{keywords:["in","flag","nation","country","banner"],char:"🇮🇳",fitzpatrick_scale:false,category:"flags"},indonesia:{keywords:["flag","nation","country","banner"],char:"🇮🇩",fitzpatrick_scale:false,category:"flags"},iran:{keywords:["iran,","islamic","republic","flag","nation","country","banner"],char:"🇮🇷",fitzpatrick_scale:false,category:"flags"},iraq:{keywords:["iq","flag","nation","country","banner"],char:"🇮🇶",fitzpatrick_scale:false,category:"flags"},ireland:{keywords:["ie","flag","nation","country","banner"],char:"🇮🇪",fitzpatrick_scale:false,category:"flags"},isle_of_man:{keywords:["isle","man","flag","nation","country","banner"],char:"🇮🇲",fitzpatrick_scale:false,category:"flags"},israel:{keywords:["il","flag","nation","country","banner"],char:"🇮🇱",fitzpatrick_scale:false,category:"flags"},it:{keywords:["italy","flag","nation","country","banner"],char:"🇮🇹",fitzpatrick_scale:false,category:"flags"},cote_divoire:{keywords:["ivory","coast","flag","nation","country","banner"],char:"🇨🇮",fitzpatrick_scale:false,category:"flags"},jamaica:{keywords:["jm","flag","nation","country","banner"],char:"🇯🇲",fitzpatrick_scale:false,category:"flags"},jp:{keywords:["japanese","nation","flag","country","banner"],char:"🇯🇵",fitzpatrick_scale:false,category:"flags"},jersey:{keywords:["je","flag","nation","country","banner"],char:"🇯🇪",fitzpatrick_scale:false,category:"flags"},jordan:{keywords:["jo","flag","nation","country","banner"],char:"🇯🇴",fitzpatrick_scale:false,category:"flags"},kazakhstan:{keywords:["kz","flag","nation","country","banner"],char:"🇰🇿",fitzpatrick_scale:false,category:"flags"},kenya:{keywords:["ke","flag","nation","country","banner"],char:"🇰🇪",fitzpatrick_scale:false,category:"flags"},kiribati:{keywords:["ki","flag","nation","country","banner"],char:"🇰🇮",fitzpatrick_scale:false,category:"flags"},kosovo:{keywords:["xk","flag","nation","country","banner"],char:"🇽🇰",fitzpatrick_scale:false,category:"flags"},kuwait:{keywords:["kw","flag","nation","country","banner"],char:"🇰🇼",fitzpatrick_scale:false,category:"flags"},kyrgyzstan:{keywords:["kg","flag","nation","country","banner"],char:"🇰🇬",fitzpatrick_scale:false,category:"flags"},laos:{keywords:["lao","democratic","republic","flag","nation","country","banner"],char:"🇱🇦",fitzpatrick_scale:false,category:"flags"},latvia:{keywords:["lv","flag","nation","country","banner"],char:"🇱🇻",fitzpatrick_scale:false,category:"flags"},lebanon:{keywords:["lb","flag","nation","country","banner"],char:"🇱🇧",fitzpatrick_scale:false,category:"flags"},lesotho:{keywords:["ls","flag","nation","country","banner"],char:"🇱🇸",fitzpatrick_scale:false,category:"flags"},liberia:{keywords:["lr","flag","nation","country","banner"],char:"🇱🇷",fitzpatrick_scale:false,category:"flags"},libya:{keywords:["ly","flag","nation","country","banner"],char:"🇱🇾",fitzpatrick_scale:false,category:"flags"},liechtenstein:{keywords:["li","flag","nation","country","banner"],char:"🇱🇮",fitzpatrick_scale:false,category:"flags"},lithuania:{keywords:["lt","flag","nation","country","banner"],char:"🇱🇹",fitzpatrick_scale:false,category:"flags"},luxembourg:{keywords:["lu","flag","nation","country","banner"],char:"🇱🇺",fitzpatrick_scale:false,category:"flags"},macau:{keywords:["macao","flag","nation","country","banner"],char:"🇲🇴",fitzpatrick_scale:false,category:"flags"},macedonia:{keywords:["macedonia,","flag","nation","country","banner"],char:"🇲🇰",fitzpatrick_scale:false,category:"flags"},madagascar:{keywords:["mg","flag","nation","country","banner"],char:"🇲🇬",fitzpatrick_scale:false,category:"flags"},malawi:{keywords:["mw","flag","nation","country","banner"],char:"🇲🇼",fitzpatrick_scale:false,category:"flags"},malaysia:{keywords:["my","flag","nation","country","banner"],char:"🇲🇾",fitzpatrick_scale:false,category:"flags"},maldives:{keywords:["mv","flag","nation","country","banner"],char:"🇲🇻",fitzpatrick_scale:false,category:"flags"},mali:{keywords:["ml","flag","nation","country","banner"],char:"🇲🇱",fitzpatrick_scale:false,category:"flags"},malta:{keywords:["mt","flag","nation","country","banner"],char:"🇲🇹",fitzpatrick_scale:false,category:"flags"},marshall_islands:{keywords:["marshall","islands","flag","nation","country","banner"],char:"🇲🇭",fitzpatrick_scale:false,category:"flags"},martinique:{keywords:["mq","flag","nation","country","banner"],char:"🇲🇶",fitzpatrick_scale:false,category:"flags"},mauritania:{keywords:["mr","flag","nation","country","banner"],char:"🇲🇷",fitzpatrick_scale:false,category:"flags"},mauritius:{keywords:["mu","flag","nation","country","banner"],char:"🇲🇺",fitzpatrick_scale:false,category:"flags"},mayotte:{keywords:["yt","flag","nation","country","banner"],char:"🇾🇹",fitzpatrick_scale:false,category:"flags"},mexico:{keywords:["mx","flag","nation","country","banner"],char:"🇲🇽",fitzpatrick_scale:false,category:"flags"},micronesia:{keywords:["micronesia,","federated","states","flag","nation","country","banner"],char:"🇫🇲",fitzpatrick_scale:false,category:"flags"},moldova:{keywords:["moldova,","republic","flag","nation","country","banner"],char:"🇲🇩",fitzpatrick_scale:false,category:"flags"},monaco:{keywords:["mc","flag","nation","country","banner"],char:"🇲🇨",fitzpatrick_scale:false,category:"flags"},mongolia:{keywords:["mn","flag","nation","country","banner"],char:"🇲🇳",fitzpatrick_scale:false,category:"flags"},montenegro:{keywords:["me","flag","nation","country","banner"],char:"🇲🇪",fitzpatrick_scale:false,category:"flags"},montserrat:{keywords:["ms","flag","nation","country","banner"],char:"🇲🇸",fitzpatrick_scale:false,category:"flags"},morocco:{keywords:["ma","flag","nation","country","banner"],char:"🇲🇦",fitzpatrick_scale:false,category:"flags"},mozambique:{keywords:["mz","flag","nation","country","banner"],char:"🇲🇿",fitzpatrick_scale:false,category:"flags"},myanmar:{keywords:["mm","flag","nation","country","banner"],char:"🇲🇲",fitzpatrick_scale:false,category:"flags"},namibia:{keywords:["na","flag","nation","country","banner"],char:"🇳🇦",fitzpatrick_scale:false,category:"flags"},nauru:{keywords:["nr","flag","nation","country","banner"],char:"🇳🇷",fitzpatrick_scale:false,category:"flags"},nepal:{keywords:["np","flag","nation","country","banner"],char:"🇳🇵",fitzpatrick_scale:false,category:"flags"},netherlands:{keywords:["nl","flag","nation","country","banner"],char:"🇳🇱",fitzpatrick_scale:false,category:"flags"},new_caledonia:{keywords:["new","caledonia","flag","nation","country","banner"],char:"🇳🇨",fitzpatrick_scale:false,category:"flags"},new_zealand:{keywords:["new","zealand","flag","nation","country","banner"],char:"🇳🇿",fitzpatrick_scale:false,category:"flags"},nicaragua:{keywords:["ni","flag","nation","country","banner"],char:"🇳🇮",fitzpatrick_scale:false,category:"flags"},niger:{keywords:["ne","flag","nation","country","banner"],char:"🇳🇪",fitzpatrick_scale:false,category:"flags"},nigeria:{keywords:["flag","nation","country","banner"],char:"🇳🇬",fitzpatrick_scale:false,category:"flags"},niue:{keywords:["nu","flag","nation","country","banner"],char:"🇳🇺",fitzpatrick_scale:false,category:"flags"},norfolk_island:{keywords:["norfolk","island","flag","nation","country","banner"],char:"🇳🇫",fitzpatrick_scale:false,category:"flags"},northern_mariana_islands:{keywords:["northern","mariana","islands","flag","nation","country","banner"],char:"🇲🇵",fitzpatrick_scale:false,category:"flags"},north_korea:{keywords:["north","korea","nation","flag","country","banner"],char:"🇰🇵",fitzpatrick_scale:false,category:"flags"},norway:{keywords:["no","flag","nation","country","banner"],char:"🇳🇴",fitzpatrick_scale:false,category:"flags"},oman:{keywords:["om_symbol","flag","nation","country","banner"],char:"🇴🇲",fitzpatrick_scale:false,category:"flags"},pakistan:{keywords:["pk","flag","nation","country","banner"],char:"🇵🇰",fitzpatrick_scale:false,category:"flags"},palau:{keywords:["pw","flag","nation","country","banner"],char:"🇵🇼",fitzpatrick_scale:false,category:"flags"},palestinian_territories:{keywords:["palestine","palestinian","territories","flag","nation","country","banner"],char:"🇵🇸",fitzpatrick_scale:false,category:"flags"},panama:{keywords:["pa","flag","nation","country","banner"],char:"🇵🇦",fitzpatrick_scale:false,category:"flags"},papua_new_guinea:{keywords:["papua","new","guinea","flag","nation","country","banner"],char:"🇵🇬",fitzpatrick_scale:false,category:"flags"},paraguay:{keywords:["py","flag","nation","country","banner"],char:"🇵🇾",fitzpatrick_scale:false,category:"flags"},peru:{keywords:["pe","flag","nation","country","banner"],char:"🇵🇪",fitzpatrick_scale:false,category:"flags"},philippines:{keywords:["ph","flag","nation","country","banner"],char:"🇵🇭",fitzpatrick_scale:false,category:"flags"},pitcairn_islands:{keywords:["pitcairn","flag","nation","country","banner"],char:"🇵🇳",fitzpatrick_scale:false,category:"flags"},poland:{keywords:["pl","flag","nation","country","banner"],char:"🇵🇱",fitzpatrick_scale:false,category:"flags"},portugal:{keywords:["pt","flag","nation","country","banner"],char:"🇵🇹",fitzpatrick_scale:false,category:"flags"},puerto_rico:{keywords:["puerto","rico","flag","nation","country","banner"],char:"🇵🇷",fitzpatrick_scale:false,category:"flags"},qatar:{keywords:["qa","flag","nation","country","banner"],char:"🇶🇦",fitzpatrick_scale:false,category:"flags"},reunion:{keywords:["réunion","flag","nation","country","banner"],char:"🇷🇪",fitzpatrick_scale:false,category:"flags"},romania:{keywords:["ro","flag","nation","country","banner"],char:"🇷🇴",fitzpatrick_scale:false,category:"flags"},ru:{keywords:["russian","federation","flag","nation","country","banner"],char:"🇷🇺",fitzpatrick_scale:false,category:"flags"},rwanda:{keywords:["rw","flag","nation","country","banner"],char:"🇷🇼",fitzpatrick_scale:false,category:"flags"},st_barthelemy:{keywords:["saint","barthélemy","flag","nation","country","banner"],char:"🇧🇱",fitzpatrick_scale:false,category:"flags"},st_helena:{keywords:["saint","helena","ascension","tristan","cunha","flag","nation","country","banner"],char:"🇸🇭",fitzpatrick_scale:false,category:"flags"},st_kitts_nevis:{keywords:["saint","kitts","nevis","flag","nation","country","banner"],char:"🇰🇳",fitzpatrick_scale:false,category:"flags"},st_lucia:{keywords:["saint","lucia","flag","nation","country","banner"],char:"🇱🇨",fitzpatrick_scale:false,category:"flags"},st_pierre_miquelon:{keywords:["saint","pierre","miquelon","flag","nation","country","banner"],char:"🇵🇲",fitzpatrick_scale:false,category:"flags"},st_vincent_grenadines:{keywords:["saint","vincent","grenadines","flag","nation","country","banner"],char:"🇻🇨",fitzpatrick_scale:false,category:"flags"},samoa:{keywords:["ws","flag","nation","country","banner"],char:"🇼🇸",fitzpatrick_scale:false,category:"flags"},san_marino:{keywords:["san","marino","flag","nation","country","banner"],char:"🇸🇲",fitzpatrick_scale:false,category:"flags"},sao_tome_principe:{keywords:["sao","tome","principe","flag","nation","country","banner"],char:"🇸🇹",fitzpatrick_scale:false,category:"flags"},saudi_arabia:{keywords:["flag","nation","country","banner"],char:"🇸🇦",fitzpatrick_scale:false,category:"flags"},senegal:{keywords:["sn","flag","nation","country","banner"],char:"🇸🇳",fitzpatrick_scale:false,category:"flags"},serbia:{keywords:["rs","flag","nation","country","banner"],char:"🇷🇸",fitzpatrick_scale:false,category:"flags"},seychelles:{keywords:["sc","flag","nation","country","banner"],char:"🇸🇨",fitzpatrick_scale:false,category:"flags"},sierra_leone:{keywords:["sierra","leone","flag","nation","country","banner"],char:"🇸🇱",fitzpatrick_scale:false,category:"flags"},singapore:{keywords:["sg","flag","nation","country","banner"],char:"🇸🇬",fitzpatrick_scale:false,category:"flags"},sint_maarten:{keywords:["sint","maarten","dutch","flag","nation","country","banner"],char:"🇸🇽",fitzpatrick_scale:false,category:"flags"},slovakia:{keywords:["sk","flag","nation","country","banner"],char:"🇸🇰",fitzpatrick_scale:false,category:"flags"},slovenia:{keywords:["si","flag","nation","country","banner"],char:"🇸🇮",fitzpatrick_scale:false,category:"flags"},solomon_islands:{keywords:["solomon","islands","flag","nation","country","banner"],char:"🇸🇧",fitzpatrick_scale:false,category:"flags"},somalia:{keywords:["so","flag","nation","country","banner"],char:"🇸🇴",fitzpatrick_scale:false,category:"flags"},south_africa:{keywords:["south","africa","flag","nation","country","banner"],char:"🇿🇦",fitzpatrick_scale:false,category:"flags"},south_georgia_south_sandwich_islands:{keywords:["south","georgia","sandwich","islands","flag","nation","country","banner"],char:"🇬🇸",fitzpatrick_scale:false,category:"flags"},kr:{keywords:["south","korea","nation","flag","country","banner"],char:"🇰🇷",fitzpatrick_scale:false,category:"flags"},south_sudan:{keywords:["south","sd","flag","nation","country","banner"],char:"🇸🇸",fitzpatrick_scale:false,category:"flags"},es:{keywords:["spain","flag","nation","country","banner"],char:"🇪🇸",fitzpatrick_scale:false,category:"flags"},sri_lanka:{keywords:["sri","lanka","flag","nation","country","banner"],char:"🇱🇰",fitzpatrick_scale:false,category:"flags"},sudan:{keywords:["sd","flag","nation","country","banner"],char:"🇸🇩",fitzpatrick_scale:false,category:"flags"},suriname:{keywords:["sr","flag","nation","country","banner"],char:"🇸🇷",fitzpatrick_scale:false,category:"flags"},swaziland:{keywords:["sz","flag","nation","country","banner"],char:"🇸🇿",fitzpatrick_scale:false,category:"flags"},sweden:{keywords:["se","flag","nation","country","banner"],char:"🇸🇪",fitzpatrick_scale:false,category:"flags"},switzerland:{keywords:["ch","flag","nation","country","banner"],char:"🇨🇭",fitzpatrick_scale:false,category:"flags"},syria:{keywords:["syrian","arab","republic","flag","nation","country","banner"],char:"🇸🇾",fitzpatrick_scale:false,category:"flags"},taiwan:{keywords:["tw","flag","nation","country","banner"],char:"🇹🇼",fitzpatrick_scale:false,category:"flags"},tajikistan:{keywords:["tj","flag","nation","country","banner"],char:"🇹🇯",fitzpatrick_scale:false,category:"flags"},tanzania:{keywords:["tanzania,","united","republic","flag","nation","country","banner"],char:"🇹🇿",fitzpatrick_scale:false,category:"flags"},thailand:{keywords:["th","flag","nation","country","banner"],char:"🇹🇭",fitzpatrick_scale:false,category:"flags"},timor_leste:{keywords:["timor","leste","flag","nation","country","banner"],char:"🇹🇱",fitzpatrick_scale:false,category:"flags"},togo:{keywords:["tg","flag","nation","country","banner"],char:"🇹🇬",fitzpatrick_scale:false,category:"flags"},tokelau:{keywords:["tk","flag","nation","country","banner"],char:"🇹🇰",fitzpatrick_scale:false,category:"flags"},tonga:{keywords:["to","flag","nation","country","banner"],char:"🇹🇴",fitzpatrick_scale:false,category:"flags"},trinidad_tobago:{keywords:["trinidad","tobago","flag","nation","country","banner"],char:"🇹🇹",fitzpatrick_scale:false,category:"flags"},tunisia:{keywords:["tn","flag","nation","country","banner"],char:"🇹🇳",fitzpatrick_scale:false,category:"flags"},tr:{keywords:["turkey","flag","nation","country","banner"],char:"🇹🇷",fitzpatrick_scale:false,category:"flags"},turkmenistan:{keywords:["flag","nation","country","banner"],char:"🇹🇲",fitzpatrick_scale:false,category:"flags"},turks_caicos_islands:{keywords:["turks","caicos","islands","flag","nation","country","banner"],char:"🇹🇨",fitzpatrick_scale:false,category:"flags"},tuvalu:{keywords:["flag","nation","country","banner"],char:"🇹🇻",fitzpatrick_scale:false,category:"flags"},uganda:{keywords:["ug","flag","nation","country","banner"],char:"🇺🇬",fitzpatrick_scale:false,category:"flags"},ukraine:{keywords:["ua","flag","nation","country","banner"],char:"🇺🇦",fitzpatrick_scale:false,category:"flags"},united_arab_emirates:{keywords:["united","arab","emirates","flag","nation","country","banner"],char:"🇦🇪",fitzpatrick_scale:false,category:"flags"},uk:{keywords:["united","kingdom","great","britain","northern","ireland","flag","nation","country","banner","british","UK","english","england","union jack"],char:"🇬🇧",fitzpatrick_scale:false,category:"flags"},england:{keywords:["flag","english"],char:"🏴󠁧󠁢󠁥󠁮󠁧󠁿",fitzpatrick_scale:false,category:"flags"},scotland:{keywords:["flag","scottish"],char:"🏴󠁧󠁢󠁳󠁣󠁴󠁿",fitzpatrick_scale:false,category:"flags"},wales:{keywords:["flag","welsh"],char:"🏴󠁧󠁢󠁷󠁬󠁳󠁿",fitzpatrick_scale:false,category:"flags"},us:{keywords:["united","states","america","flag","nation","country","banner"],char:"🇺🇸",fitzpatrick_scale:false,category:"flags"},us_virgin_islands:{keywords:["virgin","islands","us","flag","nation","country","banner"],char:"🇻🇮",fitzpatrick_scale:false,category:"flags"},uruguay:{keywords:["uy","flag","nation","country","banner"],char:"🇺🇾",fitzpatrick_scale:false,category:"flags"},uzbekistan:{keywords:["uz","flag","nation","country","banner"],char:"🇺🇿",fitzpatrick_scale:false,category:"flags"},vanuatu:{keywords:["vu","flag","nation","country","banner"],char:"🇻🇺",fitzpatrick_scale:false,category:"flags"},vatican_city:{keywords:["vatican","city","flag","nation","country","banner"],char:"🇻🇦",fitzpatrick_scale:false,category:"flags"},venezuela:{keywords:["ve","bolivarian","republic","flag","nation","country","banner"],char:"🇻🇪",fitzpatrick_scale:false,category:"flags"},vietnam:{keywords:["viet","nam","flag","nation","country","banner"],char:"🇻🇳",fitzpatrick_scale:false,category:"flags"},wallis_futuna:{keywords:["wallis","futuna","flag","nation","country","banner"],char:"🇼🇫",fitzpatrick_scale:false,category:"flags"},western_sahara:{keywords:["western","sahara","flag","nation","country","banner"],char:"🇪🇭",fitzpatrick_scale:false,category:"flags"},yemen:{keywords:["ye","flag","nation","country","banner"],char:"🇾🇪",fitzpatrick_scale:false,category:"flags"},zambia:{keywords:["zm","flag","nation","country","banner"],char:"🇿🇲",fitzpatrick_scale:false,category:"flags"},zimbabwe:{keywords:["zw","flag","nation","country","banner"],char:"🇿🇼",fitzpatrick_scale:false,category:"flags"},united_nations:{keywords:["un","flag","banner"],char:"🇺🇳",fitzpatrick_scale:false,category:"flags"},pirate_flag:{keywords:["skull","crossbones","flag","banner"],char:"🏴‍☠️",fitzpatrick_scale:false,category:"flags"}}); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/emoticons/js/emojis.min.js b/public/tools/cloud_notes/tinymce/plugins/emoticons/js/emojis.min.js new file mode 100644 index 0000000..5a1c491 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/emoticons/js/emojis.min.js @@ -0,0 +1,2 @@ +// Source: npm package: emojilib, file:emojis.json +window.tinymce.Resource.add("tinymce.plugins.emoticons",{grinning:{keywords:["face","smile","happy","joy",":D","grin"],char:"\u{1f600}",fitzpatrick_scale:!1,category:"people"},grimacing:{keywords:["face","grimace","teeth"],char:"\u{1f62c}",fitzpatrick_scale:!1,category:"people"},grin:{keywords:["face","happy","smile","joy","kawaii"],char:"\u{1f601}",fitzpatrick_scale:!1,category:"people"},joy:{keywords:["face","cry","tears","weep","happy","happytears","haha"],char:"\u{1f602}",fitzpatrick_scale:!1,category:"people"},rofl:{keywords:["face","rolling","floor","laughing","lol","haha"],char:"\u{1f923}",fitzpatrick_scale:!1,category:"people"},partying:{keywords:["face","celebration","woohoo"],char:"\u{1f973}",fitzpatrick_scale:!1,category:"people"},smiley:{keywords:["face","happy","joy","haha",":D",":)","smile","funny"],char:"\u{1f603}",fitzpatrick_scale:!1,category:"people"},smile:{keywords:["face","happy","joy","funny","haha","laugh","like",":D",":)"],char:"\u{1f604}",fitzpatrick_scale:!1,category:"people"},sweat_smile:{keywords:["face","hot","happy","laugh","sweat","smile","relief"],char:"\u{1f605}",fitzpatrick_scale:!1,category:"people"},laughing:{keywords:["happy","joy","lol","satisfied","haha","face","glad","XD","laugh"],char:"\u{1f606}",fitzpatrick_scale:!1,category:"people"},innocent:{keywords:["face","angel","heaven","halo"],char:"\u{1f607}",fitzpatrick_scale:!1,category:"people"},wink:{keywords:["face","happy","mischievous","secret",";)","smile","eye"],char:"\u{1f609}",fitzpatrick_scale:!1,category:"people"},blush:{keywords:["face","smile","happy","flushed","crush","embarrassed","shy","joy"],char:"\u{1f60a}",fitzpatrick_scale:!1,category:"people"},slightly_smiling_face:{keywords:["face","smile"],char:"\u{1f642}",fitzpatrick_scale:!1,category:"people"},upside_down_face:{keywords:["face","flipped","silly","smile"],char:"\u{1f643}",fitzpatrick_scale:!1,category:"people"},relaxed:{keywords:["face","blush","massage","happiness"],char:"\u263a\ufe0f",fitzpatrick_scale:!1,category:"people"},yum:{keywords:["happy","joy","tongue","smile","face","silly","yummy","nom","delicious","savouring"],char:"\u{1f60b}",fitzpatrick_scale:!1,category:"people"},relieved:{keywords:["face","relaxed","phew","massage","happiness"],char:"\u{1f60c}",fitzpatrick_scale:!1,category:"people"},heart_eyes:{keywords:["face","love","like","affection","valentines","infatuation","crush","heart"],char:"\u{1f60d}",fitzpatrick_scale:!1,category:"people"},smiling_face_with_three_hearts:{keywords:["face","love","like","affection","valentines","infatuation","crush","hearts","adore"],char:"\u{1f970}",fitzpatrick_scale:!1,category:"people"},kissing_heart:{keywords:["face","love","like","affection","valentines","infatuation","kiss"],char:"\u{1f618}",fitzpatrick_scale:!1,category:"people"},kissing:{keywords:["love","like","face","3","valentines","infatuation","kiss"],char:"\u{1f617}",fitzpatrick_scale:!1,category:"people"},kissing_smiling_eyes:{keywords:["face","affection","valentines","infatuation","kiss"],char:"\u{1f619}",fitzpatrick_scale:!1,category:"people"},kissing_closed_eyes:{keywords:["face","love","like","affection","valentines","infatuation","kiss"],char:"\u{1f61a}",fitzpatrick_scale:!1,category:"people"},stuck_out_tongue_winking_eye:{keywords:["face","prank","childish","playful","mischievous","smile","wink","tongue"],char:"\u{1f61c}",fitzpatrick_scale:!1,category:"people"},zany:{keywords:["face","goofy","crazy"],char:"\u{1f92a}",fitzpatrick_scale:!1,category:"people"},raised_eyebrow:{keywords:["face","distrust","scepticism","disapproval","disbelief","surprise"],char:"\u{1f928}",fitzpatrick_scale:!1,category:"people"},monocle:{keywords:["face","stuffy","wealthy"],char:"\u{1f9d0}",fitzpatrick_scale:!1,category:"people"},stuck_out_tongue_closed_eyes:{keywords:["face","prank","playful","mischievous","smile","tongue"],char:"\u{1f61d}",fitzpatrick_scale:!1,category:"people"},stuck_out_tongue:{keywords:["face","prank","childish","playful","mischievous","smile","tongue"],char:"\u{1f61b}",fitzpatrick_scale:!1,category:"people"},money_mouth_face:{keywords:["face","rich","dollar","money"],char:"\u{1f911}",fitzpatrick_scale:!1,category:"people"},nerd_face:{keywords:["face","nerdy","geek","dork"],char:"\u{1f913}",fitzpatrick_scale:!1,category:"people"},sunglasses:{keywords:["face","cool","smile","summer","beach","sunglass"],char:"\u{1f60e}",fitzpatrick_scale:!1,category:"people"},star_struck:{keywords:["face","smile","starry","eyes","grinning"],char:"\u{1f929}",fitzpatrick_scale:!1,category:"people"},clown_face:{keywords:["face"],char:"\u{1f921}",fitzpatrick_scale:!1,category:"people"},cowboy_hat_face:{keywords:["face","cowgirl","hat"],char:"\u{1f920}",fitzpatrick_scale:!1,category:"people"},hugs:{keywords:["face","smile","hug"],char:"\u{1f917}",fitzpatrick_scale:!1,category:"people"},smirk:{keywords:["face","smile","mean","prank","smug","sarcasm"],char:"\u{1f60f}",fitzpatrick_scale:!1,category:"people"},no_mouth:{keywords:["face","hellokitty"],char:"\u{1f636}",fitzpatrick_scale:!1,category:"people"},neutral_face:{keywords:["indifference","meh",":|","neutral"],char:"\u{1f610}",fitzpatrick_scale:!1,category:"people"},expressionless:{keywords:["face","indifferent","-_-","meh","deadpan"],char:"\u{1f611}",fitzpatrick_scale:!1,category:"people"},unamused:{keywords:["indifference","bored","straight face","serious","sarcasm","unimpressed","skeptical","dubious","side_eye"],char:"\u{1f612}",fitzpatrick_scale:!1,category:"people"},roll_eyes:{keywords:["face","eyeroll","frustrated"],char:"\u{1f644}",fitzpatrick_scale:!1,category:"people"},thinking:{keywords:["face","hmmm","think","consider"],char:"\u{1f914}",fitzpatrick_scale:!1,category:"people"},lying_face:{keywords:["face","lie","pinocchio"],char:"\u{1f925}",fitzpatrick_scale:!1,category:"people"},hand_over_mouth:{keywords:["face","whoops","shock","surprise"],char:"\u{1f92d}",fitzpatrick_scale:!1,category:"people"},shushing:{keywords:["face","quiet","shhh"],char:"\u{1f92b}",fitzpatrick_scale:!1,category:"people"},symbols_over_mouth:{keywords:["face","swearing","cursing","cussing","profanity","expletive"],char:"\u{1f92c}",fitzpatrick_scale:!1,category:"people"},exploding_head:{keywords:["face","shocked","mind","blown"],char:"\u{1f92f}",fitzpatrick_scale:!1,category:"people"},flushed:{keywords:["face","blush","shy","flattered"],char:"\u{1f633}",fitzpatrick_scale:!1,category:"people"},disappointed:{keywords:["face","sad","upset","depressed",":("],char:"\u{1f61e}",fitzpatrick_scale:!1,category:"people"},worried:{keywords:["face","concern","nervous",":("],char:"\u{1f61f}",fitzpatrick_scale:!1,category:"people"},angry:{keywords:["mad","face","annoyed","frustrated"],char:"\u{1f620}",fitzpatrick_scale:!1,category:"people"},rage:{keywords:["angry","mad","hate","despise"],char:"\u{1f621}",fitzpatrick_scale:!1,category:"people"},pensive:{keywords:["face","sad","depressed","upset"],char:"\u{1f614}",fitzpatrick_scale:!1,category:"people"},confused:{keywords:["face","indifference","huh","weird","hmmm",":/"],char:"\u{1f615}",fitzpatrick_scale:!1,category:"people"},slightly_frowning_face:{keywords:["face","frowning","disappointed","sad","upset"],char:"\u{1f641}",fitzpatrick_scale:!1,category:"people"},frowning_face:{keywords:["face","sad","upset","frown"],char:"\u2639",fitzpatrick_scale:!1,category:"people"},persevere:{keywords:["face","sick","no","upset","oops"],char:"\u{1f623}",fitzpatrick_scale:!1,category:"people"},confounded:{keywords:["face","confused","sick","unwell","oops",":S"],char:"\u{1f616}",fitzpatrick_scale:!1,category:"people"},tired_face:{keywords:["sick","whine","upset","frustrated"],char:"\u{1f62b}",fitzpatrick_scale:!1,category:"people"},weary:{keywords:["face","tired","sleepy","sad","frustrated","upset"],char:"\u{1f629}",fitzpatrick_scale:!1,category:"people"},pleading:{keywords:["face","begging","mercy"],char:"\u{1f97a}",fitzpatrick_scale:!1,category:"people"},triumph:{keywords:["face","gas","phew","proud","pride"],char:"\u{1f624}",fitzpatrick_scale:!1,category:"people"},open_mouth:{keywords:["face","surprise","impressed","wow","whoa",":O"],char:"\u{1f62e}",fitzpatrick_scale:!1,category:"people"},scream:{keywords:["face","munch","scared","omg"],char:"\u{1f631}",fitzpatrick_scale:!1,category:"people"},fearful:{keywords:["face","scared","terrified","nervous","oops","huh"],char:"\u{1f628}",fitzpatrick_scale:!1,category:"people"},cold_sweat:{keywords:["face","nervous","sweat"],char:"\u{1f630}",fitzpatrick_scale:!1,category:"people"},hushed:{keywords:["face","woo","shh"],char:"\u{1f62f}",fitzpatrick_scale:!1,category:"people"},frowning:{keywords:["face","aw","what"],char:"\u{1f626}",fitzpatrick_scale:!1,category:"people"},anguished:{keywords:["face","stunned","nervous"],char:"\u{1f627}",fitzpatrick_scale:!1,category:"people"},cry:{keywords:["face","tears","sad","depressed","upset",":'("],char:"\u{1f622}",fitzpatrick_scale:!1,category:"people"},disappointed_relieved:{keywords:["face","phew","sweat","nervous"],char:"\u{1f625}",fitzpatrick_scale:!1,category:"people"},drooling_face:{keywords:["face"],char:"\u{1f924}",fitzpatrick_scale:!1,category:"people"},sleepy:{keywords:["face","tired","rest","nap"],char:"\u{1f62a}",fitzpatrick_scale:!1,category:"people"},sweat:{keywords:["face","hot","sad","tired","exercise"],char:"\u{1f613}",fitzpatrick_scale:!1,category:"people"},hot:{keywords:["face","feverish","heat","red","sweating"],char:"\u{1f975}",fitzpatrick_scale:!1,category:"people"},cold:{keywords:["face","blue","freezing","frozen","frostbite","icicles"],char:"\u{1f976}",fitzpatrick_scale:!1,category:"people"},sob:{keywords:["face","cry","tears","sad","upset","depressed"],char:"\u{1f62d}",fitzpatrick_scale:!1,category:"people"},dizzy_face:{keywords:["spent","unconscious","xox","dizzy"],char:"\u{1f635}",fitzpatrick_scale:!1,category:"people"},astonished:{keywords:["face","xox","surprised","poisoned"],char:"\u{1f632}",fitzpatrick_scale:!1,category:"people"},zipper_mouth_face:{keywords:["face","sealed","zipper","secret"],char:"\u{1f910}",fitzpatrick_scale:!1,category:"people"},nauseated_face:{keywords:["face","vomit","gross","green","sick","throw up","ill"],char:"\u{1f922}",fitzpatrick_scale:!1,category:"people"},sneezing_face:{keywords:["face","gesundheit","sneeze","sick","allergy"],char:"\u{1f927}",fitzpatrick_scale:!1,category:"people"},vomiting:{keywords:["face","sick"],char:"\u{1f92e}",fitzpatrick_scale:!1,category:"people"},mask:{keywords:["face","sick","ill","disease"],char:"\u{1f637}",fitzpatrick_scale:!1,category:"people"},face_with_thermometer:{keywords:["sick","temperature","thermometer","cold","fever"],char:"\u{1f912}",fitzpatrick_scale:!1,category:"people"},face_with_head_bandage:{keywords:["injured","clumsy","bandage","hurt"],char:"\u{1f915}",fitzpatrick_scale:!1,category:"people"},woozy:{keywords:["face","dizzy","intoxicated","tipsy","wavy"],char:"\u{1f974}",fitzpatrick_scale:!1,category:"people"},sleeping:{keywords:["face","tired","sleepy","night","zzz"],char:"\u{1f634}",fitzpatrick_scale:!1,category:"people"},zzz:{keywords:["sleepy","tired","dream"],char:"\u{1f4a4}",fitzpatrick_scale:!1,category:"people"},poop:{keywords:["hankey","shitface","fail","turd","shit"],char:"\u{1f4a9}",fitzpatrick_scale:!1,category:"people"},smiling_imp:{keywords:["devil","horns"],char:"\u{1f608}",fitzpatrick_scale:!1,category:"people"},imp:{keywords:["devil","angry","horns"],char:"\u{1f47f}",fitzpatrick_scale:!1,category:"people"},japanese_ogre:{keywords:["monster","red","mask","halloween","scary","creepy","devil","demon","japanese","ogre"],char:"\u{1f479}",fitzpatrick_scale:!1,category:"people"},japanese_goblin:{keywords:["red","evil","mask","monster","scary","creepy","japanese","goblin"],char:"\u{1f47a}",fitzpatrick_scale:!1,category:"people"},skull:{keywords:["dead","skeleton","creepy","death"],char:"\u{1f480}",fitzpatrick_scale:!1,category:"people"},ghost:{keywords:["halloween","spooky","scary"],char:"\u{1f47b}",fitzpatrick_scale:!1,category:"people"},alien:{keywords:["UFO","paul","weird","outer_space"],char:"\u{1f47d}",fitzpatrick_scale:!1,category:"people"},robot:{keywords:["computer","machine","bot"],char:"\u{1f916}",fitzpatrick_scale:!1,category:"people"},smiley_cat:{keywords:["animal","cats","happy","smile"],char:"\u{1f63a}",fitzpatrick_scale:!1,category:"people"},smile_cat:{keywords:["animal","cats","smile"],char:"\u{1f638}",fitzpatrick_scale:!1,category:"people"},joy_cat:{keywords:["animal","cats","haha","happy","tears"],char:"\u{1f639}",fitzpatrick_scale:!1,category:"people"},heart_eyes_cat:{keywords:["animal","love","like","affection","cats","valentines","heart"],char:"\u{1f63b}",fitzpatrick_scale:!1,category:"people"},smirk_cat:{keywords:["animal","cats","smirk"],char:"\u{1f63c}",fitzpatrick_scale:!1,category:"people"},kissing_cat:{keywords:["animal","cats","kiss"],char:"\u{1f63d}",fitzpatrick_scale:!1,category:"people"},scream_cat:{keywords:["animal","cats","munch","scared","scream"],char:"\u{1f640}",fitzpatrick_scale:!1,category:"people"},crying_cat_face:{keywords:["animal","tears","weep","sad","cats","upset","cry"],char:"\u{1f63f}",fitzpatrick_scale:!1,category:"people"},pouting_cat:{keywords:["animal","cats"],char:"\u{1f63e}",fitzpatrick_scale:!1,category:"people"},palms_up:{keywords:["hands","gesture","cupped","prayer"],char:"\u{1f932}",fitzpatrick_scale:!0,category:"people"},raised_hands:{keywords:["gesture","hooray","yea","celebration","hands"],char:"\u{1f64c}",fitzpatrick_scale:!0,category:"people"},clap:{keywords:["hands","praise","applause","congrats","yay"],char:"\u{1f44f}",fitzpatrick_scale:!0,category:"people"},wave:{keywords:["hands","gesture","goodbye","solong","farewell","hello","hi","palm"],char:"\u{1f44b}",fitzpatrick_scale:!0,category:"people"},call_me_hand:{keywords:["hands","gesture"],char:"\u{1f919}",fitzpatrick_scale:!0,category:"people"},"+1":{keywords:["thumbsup","yes","awesome","good","agree","accept","cool","hand","like"],char:"\u{1f44d}",fitzpatrick_scale:!0,category:"people"},"-1":{keywords:["thumbsdown","no","dislike","hand"],char:"\u{1f44e}",fitzpatrick_scale:!0,category:"people"},facepunch:{keywords:["angry","violence","fist","hit","attack","hand"],char:"\u{1f44a}",fitzpatrick_scale:!0,category:"people"},fist:{keywords:["fingers","hand","grasp"],char:"\u270a",fitzpatrick_scale:!0,category:"people"},fist_left:{keywords:["hand","fistbump"],char:"\u{1f91b}",fitzpatrick_scale:!0,category:"people"},fist_right:{keywords:["hand","fistbump"],char:"\u{1f91c}",fitzpatrick_scale:!0,category:"people"},v:{keywords:["fingers","ohyeah","hand","peace","victory","two"],char:"\u270c",fitzpatrick_scale:!0,category:"people"},ok_hand:{keywords:["fingers","limbs","perfect","ok","okay"],char:"\u{1f44c}",fitzpatrick_scale:!0,category:"people"},raised_hand:{keywords:["fingers","stop","highfive","palm","ban"],char:"\u270b",fitzpatrick_scale:!0,category:"people"},raised_back_of_hand:{keywords:["fingers","raised","backhand"],char:"\u{1f91a}",fitzpatrick_scale:!0,category:"people"},open_hands:{keywords:["fingers","butterfly","hands","open"],char:"\u{1f450}",fitzpatrick_scale:!0,category:"people"},muscle:{keywords:["arm","flex","hand","summer","strong","biceps"],char:"\u{1f4aa}",fitzpatrick_scale:!0,category:"people"},pray:{keywords:["please","hope","wish","namaste","highfive"],char:"\u{1f64f}",fitzpatrick_scale:!0,category:"people"},foot:{keywords:["kick","stomp"],char:"\u{1f9b6}",fitzpatrick_scale:!0,category:"people"},leg:{keywords:["kick","limb"],char:"\u{1f9b5}",fitzpatrick_scale:!0,category:"people"},handshake:{keywords:["agreement","shake"],char:"\u{1f91d}",fitzpatrick_scale:!1,category:"people"},point_up:{keywords:["hand","fingers","direction","up"],char:"\u261d",fitzpatrick_scale:!0,category:"people"},point_up_2:{keywords:["fingers","hand","direction","up"],char:"\u{1f446}",fitzpatrick_scale:!0,category:"people"},point_down:{keywords:["fingers","hand","direction","down"],char:"\u{1f447}",fitzpatrick_scale:!0,category:"people"},point_left:{keywords:["direction","fingers","hand","left"],char:"\u{1f448}",fitzpatrick_scale:!0,category:"people"},point_right:{keywords:["fingers","hand","direction","right"],char:"\u{1f449}",fitzpatrick_scale:!0,category:"people"},fu:{keywords:["hand","fingers","rude","middle","flipping"],char:"\u{1f595}",fitzpatrick_scale:!0,category:"people"},raised_hand_with_fingers_splayed:{keywords:["hand","fingers","palm"],char:"\u{1f590}",fitzpatrick_scale:!0,category:"people"},love_you:{keywords:["hand","fingers","gesture"],char:"\u{1f91f}",fitzpatrick_scale:!0,category:"people"},metal:{keywords:["hand","fingers","evil_eye","sign_of_horns","rock_on"],char:"\u{1f918}",fitzpatrick_scale:!0,category:"people"},crossed_fingers:{keywords:["good","lucky"],char:"\u{1f91e}",fitzpatrick_scale:!0,category:"people"},vulcan_salute:{keywords:["hand","fingers","spock","star trek"],char:"\u{1f596}",fitzpatrick_scale:!0,category:"people"},writing_hand:{keywords:["lower_left_ballpoint_pen","stationery","write","compose"],char:"\u270d",fitzpatrick_scale:!0,category:"people"},selfie:{keywords:["camera","phone"],char:"\u{1f933}",fitzpatrick_scale:!0,category:"people"},nail_care:{keywords:["beauty","manicure","finger","fashion","nail"],char:"\u{1f485}",fitzpatrick_scale:!0,category:"people"},lips:{keywords:["mouth","kiss"],char:"\u{1f444}",fitzpatrick_scale:!1,category:"people"},tooth:{keywords:["teeth","dentist"],char:"\u{1f9b7}",fitzpatrick_scale:!1,category:"people"},tongue:{keywords:["mouth","playful"],char:"\u{1f445}",fitzpatrick_scale:!1,category:"people"},ear:{keywords:["face","hear","sound","listen"],char:"\u{1f442}",fitzpatrick_scale:!0,category:"people"},nose:{keywords:["smell","sniff"],char:"\u{1f443}",fitzpatrick_scale:!0,category:"people"},eye:{keywords:["face","look","see","watch","stare"],char:"\u{1f441}",fitzpatrick_scale:!1,category:"people"},eyes:{keywords:["look","watch","stalk","peek","see"],char:"\u{1f440}",fitzpatrick_scale:!1,category:"people"},brain:{keywords:["smart","intelligent"],char:"\u{1f9e0}",fitzpatrick_scale:!1,category:"people"},bust_in_silhouette:{keywords:["user","person","human"],char:"\u{1f464}",fitzpatrick_scale:!1,category:"people"},busts_in_silhouette:{keywords:["user","person","human","group","team"],char:"\u{1f465}",fitzpatrick_scale:!1,category:"people"},speaking_head:{keywords:["user","person","human","sing","say","talk"],char:"\u{1f5e3}",fitzpatrick_scale:!1,category:"people"},baby:{keywords:["child","boy","girl","toddler"],char:"\u{1f476}",fitzpatrick_scale:!0,category:"people"},child:{keywords:["gender-neutral","young"],char:"\u{1f9d2}",fitzpatrick_scale:!0,category:"people"},boy:{keywords:["man","male","guy","teenager"],char:"\u{1f466}",fitzpatrick_scale:!0,category:"people"},girl:{keywords:["female","woman","teenager"],char:"\u{1f467}",fitzpatrick_scale:!0,category:"people"},adult:{keywords:["gender-neutral","person"],char:"\u{1f9d1}",fitzpatrick_scale:!0,category:"people"},man:{keywords:["mustache","father","dad","guy","classy","sir","moustache"],char:"\u{1f468}",fitzpatrick_scale:!0,category:"people"},woman:{keywords:["female","girls","lady"],char:"\u{1f469}",fitzpatrick_scale:!0,category:"people"},blonde_woman:{keywords:["woman","female","girl","blonde","person"],char:"\u{1f471}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},blonde_man:{keywords:["man","male","boy","blonde","guy","person"],char:"\u{1f471}",fitzpatrick_scale:!0,category:"people"},bearded_person:{keywords:["person","bewhiskered"],char:"\u{1f9d4}",fitzpatrick_scale:!0,category:"people"},older_adult:{keywords:["human","elder","senior","gender-neutral"],char:"\u{1f9d3}",fitzpatrick_scale:!0,category:"people"},older_man:{keywords:["human","male","men","old","elder","senior"],char:"\u{1f474}",fitzpatrick_scale:!0,category:"people"},older_woman:{keywords:["human","female","women","lady","old","elder","senior"],char:"\u{1f475}",fitzpatrick_scale:!0,category:"people"},man_with_gua_pi_mao:{keywords:["male","boy","chinese"],char:"\u{1f472}",fitzpatrick_scale:!0,category:"people"},woman_with_headscarf:{keywords:["female","hijab","mantilla","tichel"],char:"\u{1f9d5}",fitzpatrick_scale:!0,category:"people"},woman_with_turban:{keywords:["female","indian","hinduism","arabs","woman"],char:"\u{1f473}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},man_with_turban:{keywords:["male","indian","hinduism","arabs"],char:"\u{1f473}",fitzpatrick_scale:!0,category:"people"},policewoman:{keywords:["woman","police","law","legal","enforcement","arrest","911","female"],char:"\u{1f46e}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},policeman:{keywords:["man","police","law","legal","enforcement","arrest","911"],char:"\u{1f46e}",fitzpatrick_scale:!0,category:"people"},construction_worker_woman:{keywords:["female","human","wip","build","construction","worker","labor","woman"],char:"\u{1f477}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},construction_worker_man:{keywords:["male","human","wip","guy","build","construction","worker","labor"],char:"\u{1f477}",fitzpatrick_scale:!0,category:"people"},guardswoman:{keywords:["uk","gb","british","female","royal","woman"],char:"\u{1f482}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},guardsman:{keywords:["uk","gb","british","male","guy","royal"],char:"\u{1f482}",fitzpatrick_scale:!0,category:"people"},female_detective:{keywords:["human","spy","detective","female","woman"],char:"\u{1f575}\ufe0f\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},male_detective:{keywords:["human","spy","detective"],char:"\u{1f575}",fitzpatrick_scale:!0,category:"people"},woman_health_worker:{keywords:["doctor","nurse","therapist","healthcare","woman","human"],char:"\u{1f469}\u200d\u2695\ufe0f",fitzpatrick_scale:!0,category:"people"},man_health_worker:{keywords:["doctor","nurse","therapist","healthcare","man","human"],char:"\u{1f468}\u200d\u2695\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_farmer:{keywords:["rancher","gardener","woman","human"],char:"\u{1f469}\u200d\u{1f33e}",fitzpatrick_scale:!0,category:"people"},man_farmer:{keywords:["rancher","gardener","man","human"],char:"\u{1f468}\u200d\u{1f33e}",fitzpatrick_scale:!0,category:"people"},woman_cook:{keywords:["chef","woman","human"],char:"\u{1f469}\u200d\u{1f373}",fitzpatrick_scale:!0,category:"people"},man_cook:{keywords:["chef","man","human"],char:"\u{1f468}\u200d\u{1f373}",fitzpatrick_scale:!0,category:"people"},woman_student:{keywords:["graduate","woman","human"],char:"\u{1f469}\u200d\u{1f393}",fitzpatrick_scale:!0,category:"people"},man_student:{keywords:["graduate","man","human"],char:"\u{1f468}\u200d\u{1f393}",fitzpatrick_scale:!0,category:"people"},woman_singer:{keywords:["rockstar","entertainer","woman","human"],char:"\u{1f469}\u200d\u{1f3a4}",fitzpatrick_scale:!0,category:"people"},man_singer:{keywords:["rockstar","entertainer","man","human"],char:"\u{1f468}\u200d\u{1f3a4}",fitzpatrick_scale:!0,category:"people"},woman_teacher:{keywords:["instructor","professor","woman","human"],char:"\u{1f469}\u200d\u{1f3eb}",fitzpatrick_scale:!0,category:"people"},man_teacher:{keywords:["instructor","professor","man","human"],char:"\u{1f468}\u200d\u{1f3eb}",fitzpatrick_scale:!0,category:"people"},woman_factory_worker:{keywords:["assembly","industrial","woman","human"],char:"\u{1f469}\u200d\u{1f3ed}",fitzpatrick_scale:!0,category:"people"},man_factory_worker:{keywords:["assembly","industrial","man","human"],char:"\u{1f468}\u200d\u{1f3ed}",fitzpatrick_scale:!0,category:"people"},woman_technologist:{keywords:["coder","developer","engineer","programmer","software","woman","human","laptop","computer"],char:"\u{1f469}\u200d\u{1f4bb}",fitzpatrick_scale:!0,category:"people"},man_technologist:{keywords:["coder","developer","engineer","programmer","software","man","human","laptop","computer"],char:"\u{1f468}\u200d\u{1f4bb}",fitzpatrick_scale:!0,category:"people"},woman_office_worker:{keywords:["business","manager","woman","human"],char:"\u{1f469}\u200d\u{1f4bc}",fitzpatrick_scale:!0,category:"people"},man_office_worker:{keywords:["business","manager","man","human"],char:"\u{1f468}\u200d\u{1f4bc}",fitzpatrick_scale:!0,category:"people"},woman_mechanic:{keywords:["plumber","woman","human","wrench"],char:"\u{1f469}\u200d\u{1f527}",fitzpatrick_scale:!0,category:"people"},man_mechanic:{keywords:["plumber","man","human","wrench"],char:"\u{1f468}\u200d\u{1f527}",fitzpatrick_scale:!0,category:"people"},woman_scientist:{keywords:["biologist","chemist","engineer","physicist","woman","human"],char:"\u{1f469}\u200d\u{1f52c}",fitzpatrick_scale:!0,category:"people"},man_scientist:{keywords:["biologist","chemist","engineer","physicist","man","human"],char:"\u{1f468}\u200d\u{1f52c}",fitzpatrick_scale:!0,category:"people"},woman_artist:{keywords:["painter","woman","human"],char:"\u{1f469}\u200d\u{1f3a8}",fitzpatrick_scale:!0,category:"people"},man_artist:{keywords:["painter","man","human"],char:"\u{1f468}\u200d\u{1f3a8}",fitzpatrick_scale:!0,category:"people"},woman_firefighter:{keywords:["fireman","woman","human"],char:"\u{1f469}\u200d\u{1f692}",fitzpatrick_scale:!0,category:"people"},man_firefighter:{keywords:["fireman","man","human"],char:"\u{1f468}\u200d\u{1f692}",fitzpatrick_scale:!0,category:"people"},woman_pilot:{keywords:["aviator","plane","woman","human"],char:"\u{1f469}\u200d\u2708\ufe0f",fitzpatrick_scale:!0,category:"people"},man_pilot:{keywords:["aviator","plane","man","human"],char:"\u{1f468}\u200d\u2708\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_astronaut:{keywords:["space","rocket","woman","human"],char:"\u{1f469}\u200d\u{1f680}",fitzpatrick_scale:!0,category:"people"},man_astronaut:{keywords:["space","rocket","man","human"],char:"\u{1f468}\u200d\u{1f680}",fitzpatrick_scale:!0,category:"people"},woman_judge:{keywords:["justice","court","woman","human"],char:"\u{1f469}\u200d\u2696\ufe0f",fitzpatrick_scale:!0,category:"people"},man_judge:{keywords:["justice","court","man","human"],char:"\u{1f468}\u200d\u2696\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_superhero:{keywords:["woman","female","good","heroine","superpowers"],char:"\u{1f9b8}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},man_superhero:{keywords:["man","male","good","hero","superpowers"],char:"\u{1f9b8}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_supervillain:{keywords:["woman","female","evil","bad","criminal","heroine","superpowers"],char:"\u{1f9b9}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},man_supervillain:{keywords:["man","male","evil","bad","criminal","hero","superpowers"],char:"\u{1f9b9}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},mrs_claus:{keywords:["woman","female","xmas","mother christmas"],char:"\u{1f936}",fitzpatrick_scale:!0,category:"people"},santa:{keywords:["festival","man","male","xmas","father christmas"],char:"\u{1f385}",fitzpatrick_scale:!0,category:"people"},sorceress:{keywords:["woman","female","mage","witch"],char:"\u{1f9d9}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},wizard:{keywords:["man","male","mage","sorcerer"],char:"\u{1f9d9}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_elf:{keywords:["woman","female"],char:"\u{1f9dd}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},man_elf:{keywords:["man","male"],char:"\u{1f9dd}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_vampire:{keywords:["woman","female"],char:"\u{1f9db}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},man_vampire:{keywords:["man","male","dracula"],char:"\u{1f9db}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_zombie:{keywords:["woman","female","undead","walking dead"],char:"\u{1f9df}\u200d\u2640\ufe0f",fitzpatrick_scale:!1,category:"people"},man_zombie:{keywords:["man","male","dracula","undead","walking dead"],char:"\u{1f9df}\u200d\u2642\ufe0f",fitzpatrick_scale:!1,category:"people"},woman_genie:{keywords:["woman","female"],char:"\u{1f9de}\u200d\u2640\ufe0f",fitzpatrick_scale:!1,category:"people"},man_genie:{keywords:["man","male"],char:"\u{1f9de}\u200d\u2642\ufe0f",fitzpatrick_scale:!1,category:"people"},mermaid:{keywords:["woman","female","merwoman","ariel"],char:"\u{1f9dc}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},merman:{keywords:["man","male","triton"],char:"\u{1f9dc}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_fairy:{keywords:["woman","female"],char:"\u{1f9da}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},man_fairy:{keywords:["man","male"],char:"\u{1f9da}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},angel:{keywords:["heaven","wings","halo"],char:"\u{1f47c}",fitzpatrick_scale:!0,category:"people"},pregnant_woman:{keywords:["baby"],char:"\u{1f930}",fitzpatrick_scale:!0,category:"people"},breastfeeding:{keywords:["nursing","baby"],char:"\u{1f931}",fitzpatrick_scale:!0,category:"people"},princess:{keywords:["girl","woman","female","blond","crown","royal","queen"],char:"\u{1f478}",fitzpatrick_scale:!0,category:"people"},prince:{keywords:["boy","man","male","crown","royal","king"],char:"\u{1f934}",fitzpatrick_scale:!0,category:"people"},bride_with_veil:{keywords:["couple","marriage","wedding","woman","bride"],char:"\u{1f470}",fitzpatrick_scale:!0,category:"people"},man_in_tuxedo:{keywords:["couple","marriage","wedding","groom"],char:"\u{1f935}",fitzpatrick_scale:!0,category:"people"},running_woman:{keywords:["woman","walking","exercise","race","running","female"],char:"\u{1f3c3}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},running_man:{keywords:["man","walking","exercise","race","running"],char:"\u{1f3c3}",fitzpatrick_scale:!0,category:"people"},walking_woman:{keywords:["human","feet","steps","woman","female"],char:"\u{1f6b6}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},walking_man:{keywords:["human","feet","steps"],char:"\u{1f6b6}",fitzpatrick_scale:!0,category:"people"},dancer:{keywords:["female","girl","woman","fun"],char:"\u{1f483}",fitzpatrick_scale:!0,category:"people"},man_dancing:{keywords:["male","boy","fun","dancer"],char:"\u{1f57a}",fitzpatrick_scale:!0,category:"people"},dancing_women:{keywords:["female","bunny","women","girls"],char:"\u{1f46f}",fitzpatrick_scale:!1,category:"people"},dancing_men:{keywords:["male","bunny","men","boys"],char:"\u{1f46f}\u200d\u2642\ufe0f",fitzpatrick_scale:!1,category:"people"},couple:{keywords:["pair","people","human","love","date","dating","like","affection","valentines","marriage"],char:"\u{1f46b}",fitzpatrick_scale:!1,category:"people"},two_men_holding_hands:{keywords:["pair","couple","love","like","bromance","friendship","people","human"],char:"\u{1f46c}",fitzpatrick_scale:!1,category:"people"},two_women_holding_hands:{keywords:["pair","friendship","couple","love","like","female","people","human"],char:"\u{1f46d}",fitzpatrick_scale:!1,category:"people"},bowing_woman:{keywords:["woman","female","girl"],char:"\u{1f647}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},bowing_man:{keywords:["man","male","boy"],char:"\u{1f647}",fitzpatrick_scale:!0,category:"people"},man_facepalming:{keywords:["man","male","boy","disbelief"],char:"\u{1f926}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_facepalming:{keywords:["woman","female","girl","disbelief"],char:"\u{1f926}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_shrugging:{keywords:["woman","female","girl","confused","indifferent","doubt"],char:"\u{1f937}",fitzpatrick_scale:!0,category:"people"},man_shrugging:{keywords:["man","male","boy","confused","indifferent","doubt"],char:"\u{1f937}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},tipping_hand_woman:{keywords:["female","girl","woman","human","information"],char:"\u{1f481}",fitzpatrick_scale:!0,category:"people"},tipping_hand_man:{keywords:["male","boy","man","human","information"],char:"\u{1f481}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},no_good_woman:{keywords:["female","girl","woman","nope"],char:"\u{1f645}",fitzpatrick_scale:!0,category:"people"},no_good_man:{keywords:["male","boy","man","nope"],char:"\u{1f645}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},ok_woman:{keywords:["women","girl","female","pink","human","woman"],char:"\u{1f646}",fitzpatrick_scale:!0,category:"people"},ok_man:{keywords:["men","boy","male","blue","human","man"],char:"\u{1f646}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},raising_hand_woman:{keywords:["female","girl","woman"],char:"\u{1f64b}",fitzpatrick_scale:!0,category:"people"},raising_hand_man:{keywords:["male","boy","man"],char:"\u{1f64b}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},pouting_woman:{keywords:["female","girl","woman"],char:"\u{1f64e}",fitzpatrick_scale:!0,category:"people"},pouting_man:{keywords:["male","boy","man"],char:"\u{1f64e}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},frowning_woman:{keywords:["female","girl","woman","sad","depressed","discouraged","unhappy"],char:"\u{1f64d}",fitzpatrick_scale:!0,category:"people"},frowning_man:{keywords:["male","boy","man","sad","depressed","discouraged","unhappy"],char:"\u{1f64d}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},haircut_woman:{keywords:["female","girl","woman"],char:"\u{1f487}",fitzpatrick_scale:!0,category:"people"},haircut_man:{keywords:["male","boy","man"],char:"\u{1f487}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},massage_woman:{keywords:["female","girl","woman","head"],char:"\u{1f486}",fitzpatrick_scale:!0,category:"people"},massage_man:{keywords:["male","boy","man","head"],char:"\u{1f486}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_in_steamy_room:{keywords:["female","woman","spa","steamroom","sauna"],char:"\u{1f9d6}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},man_in_steamy_room:{keywords:["male","man","spa","steamroom","sauna"],char:"\u{1f9d6}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},couple_with_heart_woman_man:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:"\u{1f491}",fitzpatrick_scale:!1,category:"people"},couple_with_heart_woman_woman:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:"\u{1f469}\u200d\u2764\ufe0f\u200d\u{1f469}",fitzpatrick_scale:!1,category:"people"},couple_with_heart_man_man:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:"\u{1f468}\u200d\u2764\ufe0f\u200d\u{1f468}",fitzpatrick_scale:!1,category:"people"},couplekiss_man_woman:{keywords:["pair","valentines","love","like","dating","marriage"],char:"\u{1f48f}",fitzpatrick_scale:!1,category:"people"},couplekiss_woman_woman:{keywords:["pair","valentines","love","like","dating","marriage"],char:"\u{1f469}\u200d\u2764\ufe0f\u200d\u{1f48b}\u200d\u{1f469}",fitzpatrick_scale:!1,category:"people"},couplekiss_man_man:{keywords:["pair","valentines","love","like","dating","marriage"],char:"\u{1f468}\u200d\u2764\ufe0f\u200d\u{1f48b}\u200d\u{1f468}",fitzpatrick_scale:!1,category:"people"},family_man_woman_boy:{keywords:["home","parents","child","mom","dad","father","mother","people","human"],char:"\u{1f46a}",fitzpatrick_scale:!1,category:"people"},family_man_woman_girl:{keywords:["home","parents","people","human","child"],char:"\u{1f468}\u200d\u{1f469}\u200d\u{1f467}",fitzpatrick_scale:!1,category:"people"},family_man_woman_girl_boy:{keywords:["home","parents","people","human","children"],char:"\u{1f468}\u200d\u{1f469}\u200d\u{1f467}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_man_woman_boy_boy:{keywords:["home","parents","people","human","children"],char:"\u{1f468}\u200d\u{1f469}\u200d\u{1f466}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_man_woman_girl_girl:{keywords:["home","parents","people","human","children"],char:"\u{1f468}\u200d\u{1f469}\u200d\u{1f467}\u200d\u{1f467}",fitzpatrick_scale:!1,category:"people"},family_woman_woman_boy:{keywords:["home","parents","people","human","children"],char:"\u{1f469}\u200d\u{1f469}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_woman_woman_girl:{keywords:["home","parents","people","human","children"],char:"\u{1f469}\u200d\u{1f469}\u200d\u{1f467}",fitzpatrick_scale:!1,category:"people"},family_woman_woman_girl_boy:{keywords:["home","parents","people","human","children"],char:"\u{1f469}\u200d\u{1f469}\u200d\u{1f467}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_woman_woman_boy_boy:{keywords:["home","parents","people","human","children"],char:"\u{1f469}\u200d\u{1f469}\u200d\u{1f466}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_woman_woman_girl_girl:{keywords:["home","parents","people","human","children"],char:"\u{1f469}\u200d\u{1f469}\u200d\u{1f467}\u200d\u{1f467}",fitzpatrick_scale:!1,category:"people"},family_man_man_boy:{keywords:["home","parents","people","human","children"],char:"\u{1f468}\u200d\u{1f468}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_man_man_girl:{keywords:["home","parents","people","human","children"],char:"\u{1f468}\u200d\u{1f468}\u200d\u{1f467}",fitzpatrick_scale:!1,category:"people"},family_man_man_girl_boy:{keywords:["home","parents","people","human","children"],char:"\u{1f468}\u200d\u{1f468}\u200d\u{1f467}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_man_man_boy_boy:{keywords:["home","parents","people","human","children"],char:"\u{1f468}\u200d\u{1f468}\u200d\u{1f466}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_man_man_girl_girl:{keywords:["home","parents","people","human","children"],char:"\u{1f468}\u200d\u{1f468}\u200d\u{1f467}\u200d\u{1f467}",fitzpatrick_scale:!1,category:"people"},family_woman_boy:{keywords:["home","parent","people","human","child"],char:"\u{1f469}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_woman_girl:{keywords:["home","parent","people","human","child"],char:"\u{1f469}\u200d\u{1f467}",fitzpatrick_scale:!1,category:"people"},family_woman_girl_boy:{keywords:["home","parent","people","human","children"],char:"\u{1f469}\u200d\u{1f467}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_woman_boy_boy:{keywords:["home","parent","people","human","children"],char:"\u{1f469}\u200d\u{1f466}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_woman_girl_girl:{keywords:["home","parent","people","human","children"],char:"\u{1f469}\u200d\u{1f467}\u200d\u{1f467}",fitzpatrick_scale:!1,category:"people"},family_man_boy:{keywords:["home","parent","people","human","child"],char:"\u{1f468}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_man_girl:{keywords:["home","parent","people","human","child"],char:"\u{1f468}\u200d\u{1f467}",fitzpatrick_scale:!1,category:"people"},family_man_girl_boy:{keywords:["home","parent","people","human","children"],char:"\u{1f468}\u200d\u{1f467}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_man_boy_boy:{keywords:["home","parent","people","human","children"],char:"\u{1f468}\u200d\u{1f466}\u200d\u{1f466}",fitzpatrick_scale:!1,category:"people"},family_man_girl_girl:{keywords:["home","parent","people","human","children"],char:"\u{1f468}\u200d\u{1f467}\u200d\u{1f467}",fitzpatrick_scale:!1,category:"people"},yarn:{keywords:["ball","crochet","knit"],char:"\u{1f9f6}",fitzpatrick_scale:!1,category:"people"},thread:{keywords:["needle","sewing","spool","string"],char:"\u{1f9f5}",fitzpatrick_scale:!1,category:"people"},coat:{keywords:["jacket"],char:"\u{1f9e5}",fitzpatrick_scale:!1,category:"people"},labcoat:{keywords:["doctor","experiment","scientist","chemist"],char:"\u{1f97c}",fitzpatrick_scale:!1,category:"people"},womans_clothes:{keywords:["fashion","shopping_bags","female"],char:"\u{1f45a}",fitzpatrick_scale:!1,category:"people"},tshirt:{keywords:["fashion","cloth","casual","shirt","tee"],char:"\u{1f455}",fitzpatrick_scale:!1,category:"people"},jeans:{keywords:["fashion","shopping"],char:"\u{1f456}",fitzpatrick_scale:!1,category:"people"},necktie:{keywords:["shirt","suitup","formal","fashion","cloth","business"],char:"\u{1f454}",fitzpatrick_scale:!1,category:"people"},dress:{keywords:["clothes","fashion","shopping"],char:"\u{1f457}",fitzpatrick_scale:!1,category:"people"},bikini:{keywords:["swimming","female","woman","girl","fashion","beach","summer"],char:"\u{1f459}",fitzpatrick_scale:!1,category:"people"},kimono:{keywords:["dress","fashion","women","female","japanese"],char:"\u{1f458}",fitzpatrick_scale:!1,category:"people"},lipstick:{keywords:["female","girl","fashion","woman"],char:"\u{1f484}",fitzpatrick_scale:!1,category:"people"},kiss:{keywords:["face","lips","love","like","affection","valentines"],char:"\u{1f48b}",fitzpatrick_scale:!1,category:"people"},footprints:{keywords:["feet","tracking","walking","beach"],char:"\u{1f463}",fitzpatrick_scale:!1,category:"people"},flat_shoe:{keywords:["ballet","slip-on","slipper"],char:"\u{1f97f}",fitzpatrick_scale:!1,category:"people"},high_heel:{keywords:["fashion","shoes","female","pumps","stiletto"],char:"\u{1f460}",fitzpatrick_scale:!1,category:"people"},sandal:{keywords:["shoes","fashion","flip flops"],char:"\u{1f461}",fitzpatrick_scale:!1,category:"people"},boot:{keywords:["shoes","fashion"],char:"\u{1f462}",fitzpatrick_scale:!1,category:"people"},mans_shoe:{keywords:["fashion","male"],char:"\u{1f45e}",fitzpatrick_scale:!1,category:"people"},athletic_shoe:{keywords:["shoes","sports","sneakers"],char:"\u{1f45f}",fitzpatrick_scale:!1,category:"people"},hiking_boot:{keywords:["backpacking","camping","hiking"],char:"\u{1f97e}",fitzpatrick_scale:!1,category:"people"},socks:{keywords:["stockings","clothes"],char:"\u{1f9e6}",fitzpatrick_scale:!1,category:"people"},gloves:{keywords:["hands","winter","clothes"],char:"\u{1f9e4}",fitzpatrick_scale:!1,category:"people"},scarf:{keywords:["neck","winter","clothes"],char:"\u{1f9e3}",fitzpatrick_scale:!1,category:"people"},womans_hat:{keywords:["fashion","accessories","female","lady","spring"],char:"\u{1f452}",fitzpatrick_scale:!1,category:"people"},tophat:{keywords:["magic","gentleman","classy","circus"],char:"\u{1f3a9}",fitzpatrick_scale:!1,category:"people"},billed_hat:{keywords:["cap","baseball"],char:"\u{1f9e2}",fitzpatrick_scale:!1,category:"people"},rescue_worker_helmet:{keywords:["construction","build"],char:"\u26d1",fitzpatrick_scale:!1,category:"people"},mortar_board:{keywords:["school","college","degree","university","graduation","cap","hat","legal","learn","education"],char:"\u{1f393}",fitzpatrick_scale:!1,category:"people"},crown:{keywords:["king","kod","leader","royalty","lord"],char:"\u{1f451}",fitzpatrick_scale:!1,category:"people"},school_satchel:{keywords:["student","education","bag","backpack"],char:"\u{1f392}",fitzpatrick_scale:!1,category:"people"},luggage:{keywords:["packing","travel"],char:"\u{1f9f3}",fitzpatrick_scale:!1,category:"people"},pouch:{keywords:["bag","accessories","shopping"],char:"\u{1f45d}",fitzpatrick_scale:!1,category:"people"},purse:{keywords:["fashion","accessories","money","sales","shopping"],char:"\u{1f45b}",fitzpatrick_scale:!1,category:"people"},handbag:{keywords:["fashion","accessory","accessories","shopping"],char:"\u{1f45c}",fitzpatrick_scale:!1,category:"people"},briefcase:{keywords:["business","documents","work","law","legal","job","career"],char:"\u{1f4bc}",fitzpatrick_scale:!1,category:"people"},eyeglasses:{keywords:["fashion","accessories","eyesight","nerdy","dork","geek"],char:"\u{1f453}",fitzpatrick_scale:!1,category:"people"},dark_sunglasses:{keywords:["face","cool","accessories"],char:"\u{1f576}",fitzpatrick_scale:!1,category:"people"},goggles:{keywords:["eyes","protection","safety"],char:"\u{1f97d}",fitzpatrick_scale:!1,category:"people"},ring:{keywords:["wedding","propose","marriage","valentines","diamond","fashion","jewelry","gem","engagement"],char:"\u{1f48d}",fitzpatrick_scale:!1,category:"people"},closed_umbrella:{keywords:["weather","rain","drizzle"],char:"\u{1f302}",fitzpatrick_scale:!1,category:"people"},dog:{keywords:["animal","friend","nature","woof","puppy","pet","faithful"],char:"\u{1f436}",fitzpatrick_scale:!1,category:"animals_and_nature"},cat:{keywords:["animal","meow","nature","pet","kitten"],char:"\u{1f431}",fitzpatrick_scale:!1,category:"animals_and_nature"},mouse:{keywords:["animal","nature","cheese_wedge","rodent"],char:"\u{1f42d}",fitzpatrick_scale:!1,category:"animals_and_nature"},hamster:{keywords:["animal","nature"],char:"\u{1f439}",fitzpatrick_scale:!1,category:"animals_and_nature"},rabbit:{keywords:["animal","nature","pet","spring","magic","bunny"],char:"\u{1f430}",fitzpatrick_scale:!1,category:"animals_and_nature"},fox_face:{keywords:["animal","nature","face"],char:"\u{1f98a}",fitzpatrick_scale:!1,category:"animals_and_nature"},bear:{keywords:["animal","nature","wild"],char:"\u{1f43b}",fitzpatrick_scale:!1,category:"animals_and_nature"},panda_face:{keywords:["animal","nature","panda"],char:"\u{1f43c}",fitzpatrick_scale:!1,category:"animals_and_nature"},koala:{keywords:["animal","nature"],char:"\u{1f428}",fitzpatrick_scale:!1,category:"animals_and_nature"},tiger:{keywords:["animal","cat","danger","wild","nature","roar"],char:"\u{1f42f}",fitzpatrick_scale:!1,category:"animals_and_nature"},lion:{keywords:["animal","nature"],char:"\u{1f981}",fitzpatrick_scale:!1,category:"animals_and_nature"},cow:{keywords:["beef","ox","animal","nature","moo","milk"],char:"\u{1f42e}",fitzpatrick_scale:!1,category:"animals_and_nature"},pig:{keywords:["animal","oink","nature"],char:"\u{1f437}",fitzpatrick_scale:!1,category:"animals_and_nature"},pig_nose:{keywords:["animal","oink"],char:"\u{1f43d}",fitzpatrick_scale:!1,category:"animals_and_nature"},frog:{keywords:["animal","nature","croak","toad"],char:"\u{1f438}",fitzpatrick_scale:!1,category:"animals_and_nature"},squid:{keywords:["animal","nature","ocean","sea"],char:"\u{1f991}",fitzpatrick_scale:!1,category:"animals_and_nature"},octopus:{keywords:["animal","creature","ocean","sea","nature","beach"],char:"\u{1f419}",fitzpatrick_scale:!1,category:"animals_and_nature"},shrimp:{keywords:["animal","ocean","nature","seafood"],char:"\u{1f990}",fitzpatrick_scale:!1,category:"animals_and_nature"},monkey_face:{keywords:["animal","nature","circus"],char:"\u{1f435}",fitzpatrick_scale:!1,category:"animals_and_nature"},gorilla:{keywords:["animal","nature","circus"],char:"\u{1f98d}",fitzpatrick_scale:!1,category:"animals_and_nature"},see_no_evil:{keywords:["monkey","animal","nature","haha"],char:"\u{1f648}",fitzpatrick_scale:!1,category:"animals_and_nature"},hear_no_evil:{keywords:["animal","monkey","nature"],char:"\u{1f649}",fitzpatrick_scale:!1,category:"animals_and_nature"},speak_no_evil:{keywords:["monkey","animal","nature","omg"],char:"\u{1f64a}",fitzpatrick_scale:!1,category:"animals_and_nature"},monkey:{keywords:["animal","nature","banana","circus"],char:"\u{1f412}",fitzpatrick_scale:!1,category:"animals_and_nature"},chicken:{keywords:["animal","cluck","nature","bird"],char:"\u{1f414}",fitzpatrick_scale:!1,category:"animals_and_nature"},penguin:{keywords:["animal","nature"],char:"\u{1f427}",fitzpatrick_scale:!1,category:"animals_and_nature"},bird:{keywords:["animal","nature","fly","tweet","spring"],char:"\u{1f426}",fitzpatrick_scale:!1,category:"animals_and_nature"},baby_chick:{keywords:["animal","chicken","bird"],char:"\u{1f424}",fitzpatrick_scale:!1,category:"animals_and_nature"},hatching_chick:{keywords:["animal","chicken","egg","born","baby","bird"],char:"\u{1f423}",fitzpatrick_scale:!1,category:"animals_and_nature"},hatched_chick:{keywords:["animal","chicken","baby","bird"],char:"\u{1f425}",fitzpatrick_scale:!1,category:"animals_and_nature"},duck:{keywords:["animal","nature","bird","mallard"],char:"\u{1f986}",fitzpatrick_scale:!1,category:"animals_and_nature"},eagle:{keywords:["animal","nature","bird"],char:"\u{1f985}",fitzpatrick_scale:!1,category:"animals_and_nature"},owl:{keywords:["animal","nature","bird","hoot"],char:"\u{1f989}",fitzpatrick_scale:!1,category:"animals_and_nature"},bat:{keywords:["animal","nature","blind","vampire"],char:"\u{1f987}",fitzpatrick_scale:!1,category:"animals_and_nature"},wolf:{keywords:["animal","nature","wild"],char:"\u{1f43a}",fitzpatrick_scale:!1,category:"animals_and_nature"},boar:{keywords:["animal","nature"],char:"\u{1f417}",fitzpatrick_scale:!1,category:"animals_and_nature"},horse:{keywords:["animal","brown","nature"],char:"\u{1f434}",fitzpatrick_scale:!1,category:"animals_and_nature"},unicorn:{keywords:["animal","nature","mystical"],char:"\u{1f984}",fitzpatrick_scale:!1,category:"animals_and_nature"},honeybee:{keywords:["animal","insect","nature","bug","spring","honey"],char:"\u{1f41d}",fitzpatrick_scale:!1,category:"animals_and_nature"},bug:{keywords:["animal","insect","nature","worm"],char:"\u{1f41b}",fitzpatrick_scale:!1,category:"animals_and_nature"},butterfly:{keywords:["animal","insect","nature","caterpillar"],char:"\u{1f98b}",fitzpatrick_scale:!1,category:"animals_and_nature"},snail:{keywords:["slow","animal","shell"],char:"\u{1f40c}",fitzpatrick_scale:!1,category:"animals_and_nature"},beetle:{keywords:["animal","insect","nature","ladybug"],char:"\u{1f41e}",fitzpatrick_scale:!1,category:"animals_and_nature"},ant:{keywords:["animal","insect","nature","bug"],char:"\u{1f41c}",fitzpatrick_scale:!1,category:"animals_and_nature"},grasshopper:{keywords:["animal","cricket","chirp"],char:"\u{1f997}",fitzpatrick_scale:!1,category:"animals_and_nature"},spider:{keywords:["animal","arachnid"],char:"\u{1f577}",fitzpatrick_scale:!1,category:"animals_and_nature"},scorpion:{keywords:["animal","arachnid"],char:"\u{1f982}",fitzpatrick_scale:!1,category:"animals_and_nature"},crab:{keywords:["animal","crustacean"],char:"\u{1f980}",fitzpatrick_scale:!1,category:"animals_and_nature"},snake:{keywords:["animal","evil","nature","hiss","python"],char:"\u{1f40d}",fitzpatrick_scale:!1,category:"animals_and_nature"},lizard:{keywords:["animal","nature","reptile"],char:"\u{1f98e}",fitzpatrick_scale:!1,category:"animals_and_nature"},"t-rex":{keywords:["animal","nature","dinosaur","tyrannosaurus","extinct"],char:"\u{1f996}",fitzpatrick_scale:!1,category:"animals_and_nature"},sauropod:{keywords:["animal","nature","dinosaur","brachiosaurus","brontosaurus","diplodocus","extinct"],char:"\u{1f995}",fitzpatrick_scale:!1,category:"animals_and_nature"},turtle:{keywords:["animal","slow","nature","tortoise"],char:"\u{1f422}",fitzpatrick_scale:!1,category:"animals_and_nature"},tropical_fish:{keywords:["animal","swim","ocean","beach","nemo"],char:"\u{1f420}",fitzpatrick_scale:!1,category:"animals_and_nature"},fish:{keywords:["animal","food","nature"],char:"\u{1f41f}",fitzpatrick_scale:!1,category:"animals_and_nature"},blowfish:{keywords:["animal","nature","food","sea","ocean"],char:"\u{1f421}",fitzpatrick_scale:!1,category:"animals_and_nature"},dolphin:{keywords:["animal","nature","fish","sea","ocean","flipper","fins","beach"],char:"\u{1f42c}",fitzpatrick_scale:!1,category:"animals_and_nature"},shark:{keywords:["animal","nature","fish","sea","ocean","jaws","fins","beach"],char:"\u{1f988}",fitzpatrick_scale:!1,category:"animals_and_nature"},whale:{keywords:["animal","nature","sea","ocean"],char:"\u{1f433}",fitzpatrick_scale:!1,category:"animals_and_nature"},whale2:{keywords:["animal","nature","sea","ocean"],char:"\u{1f40b}",fitzpatrick_scale:!1,category:"animals_and_nature"},crocodile:{keywords:["animal","nature","reptile","lizard","alligator"],char:"\u{1f40a}",fitzpatrick_scale:!1,category:"animals_and_nature"},leopard:{keywords:["animal","nature"],char:"\u{1f406}",fitzpatrick_scale:!1,category:"animals_and_nature"},zebra:{keywords:["animal","nature","stripes","safari"],char:"\u{1f993}",fitzpatrick_scale:!1,category:"animals_and_nature"},tiger2:{keywords:["animal","nature","roar"],char:"\u{1f405}",fitzpatrick_scale:!1,category:"animals_and_nature"},water_buffalo:{keywords:["animal","nature","ox","cow"],char:"\u{1f403}",fitzpatrick_scale:!1,category:"animals_and_nature"},ox:{keywords:["animal","cow","beef"],char:"\u{1f402}",fitzpatrick_scale:!1,category:"animals_and_nature"},cow2:{keywords:["beef","ox","animal","nature","moo","milk"],char:"\u{1f404}",fitzpatrick_scale:!1,category:"animals_and_nature"},deer:{keywords:["animal","nature","horns","venison"],char:"\u{1f98c}",fitzpatrick_scale:!1,category:"animals_and_nature"},dromedary_camel:{keywords:["animal","hot","desert","hump"],char:"\u{1f42a}",fitzpatrick_scale:!1,category:"animals_and_nature"},camel:{keywords:["animal","nature","hot","desert","hump"],char:"\u{1f42b}",fitzpatrick_scale:!1,category:"animals_and_nature"},giraffe:{keywords:["animal","nature","spots","safari"],char:"\u{1f992}",fitzpatrick_scale:!1,category:"animals_and_nature"},elephant:{keywords:["animal","nature","nose","th","circus"],char:"\u{1f418}",fitzpatrick_scale:!1,category:"animals_and_nature"},rhinoceros:{keywords:["animal","nature","horn"],char:"\u{1f98f}",fitzpatrick_scale:!1,category:"animals_and_nature"},goat:{keywords:["animal","nature"],char:"\u{1f410}",fitzpatrick_scale:!1,category:"animals_and_nature"},ram:{keywords:["animal","sheep","nature"],char:"\u{1f40f}",fitzpatrick_scale:!1,category:"animals_and_nature"},sheep:{keywords:["animal","nature","wool","shipit"],char:"\u{1f411}",fitzpatrick_scale:!1,category:"animals_and_nature"},racehorse:{keywords:["animal","gamble","luck"],char:"\u{1f40e}",fitzpatrick_scale:!1,category:"animals_and_nature"},pig2:{keywords:["animal","nature"],char:"\u{1f416}",fitzpatrick_scale:!1,category:"animals_and_nature"},rat:{keywords:["animal","mouse","rodent"],char:"\u{1f400}",fitzpatrick_scale:!1,category:"animals_and_nature"},mouse2:{keywords:["animal","nature","rodent"],char:"\u{1f401}",fitzpatrick_scale:!1,category:"animals_and_nature"},rooster:{keywords:["animal","nature","chicken"],char:"\u{1f413}",fitzpatrick_scale:!1,category:"animals_and_nature"},turkey:{keywords:["animal","bird"],char:"\u{1f983}",fitzpatrick_scale:!1,category:"animals_and_nature"},dove:{keywords:["animal","bird"],char:"\u{1f54a}",fitzpatrick_scale:!1,category:"animals_and_nature"},dog2:{keywords:["animal","nature","friend","doge","pet","faithful"],char:"\u{1f415}",fitzpatrick_scale:!1,category:"animals_and_nature"},poodle:{keywords:["dog","animal","101","nature","pet"],char:"\u{1f429}",fitzpatrick_scale:!1,category:"animals_and_nature"},cat2:{keywords:["animal","meow","pet","cats"],char:"\u{1f408}",fitzpatrick_scale:!1,category:"animals_and_nature"},rabbit2:{keywords:["animal","nature","pet","magic","spring"],char:"\u{1f407}",fitzpatrick_scale:!1,category:"animals_and_nature"},chipmunk:{keywords:["animal","nature","rodent","squirrel"],char:"\u{1f43f}",fitzpatrick_scale:!1,category:"animals_and_nature"},hedgehog:{keywords:["animal","nature","spiny"],char:"\u{1f994}",fitzpatrick_scale:!1,category:"animals_and_nature"},raccoon:{keywords:["animal","nature"],char:"\u{1f99d}",fitzpatrick_scale:!1,category:"animals_and_nature"},llama:{keywords:["animal","nature","alpaca"],char:"\u{1f999}",fitzpatrick_scale:!1,category:"animals_and_nature"},hippopotamus:{keywords:["animal","nature"],char:"\u{1f99b}",fitzpatrick_scale:!1,category:"animals_and_nature"},kangaroo:{keywords:["animal","nature","australia","joey","hop","marsupial"],char:"\u{1f998}",fitzpatrick_scale:!1,category:"animals_and_nature"},badger:{keywords:["animal","nature","honey"],char:"\u{1f9a1}",fitzpatrick_scale:!1,category:"animals_and_nature"},swan:{keywords:["animal","nature","bird"],char:"\u{1f9a2}",fitzpatrick_scale:!1,category:"animals_and_nature"},peacock:{keywords:["animal","nature","peahen","bird"],char:"\u{1f99a}",fitzpatrick_scale:!1,category:"animals_and_nature"},parrot:{keywords:["animal","nature","bird","pirate","talk"],char:"\u{1f99c}",fitzpatrick_scale:!1,category:"animals_and_nature"},lobster:{keywords:["animal","nature","bisque","claws","seafood"],char:"\u{1f99e}",fitzpatrick_scale:!1,category:"animals_and_nature"},mosquito:{keywords:["animal","nature","insect","malaria"],char:"\u{1f99f}",fitzpatrick_scale:!1,category:"animals_and_nature"},paw_prints:{keywords:["animal","tracking","footprints","dog","cat","pet","feet"],char:"\u{1f43e}",fitzpatrick_scale:!1,category:"animals_and_nature"},dragon:{keywords:["animal","myth","nature","chinese","green"],char:"\u{1f409}",fitzpatrick_scale:!1,category:"animals_and_nature"},dragon_face:{keywords:["animal","myth","nature","chinese","green"],char:"\u{1f432}",fitzpatrick_scale:!1,category:"animals_and_nature"},cactus:{keywords:["vegetable","plant","nature"],char:"\u{1f335}",fitzpatrick_scale:!1,category:"animals_and_nature"},christmas_tree:{keywords:["festival","vacation","december","xmas","celebration"],char:"\u{1f384}",fitzpatrick_scale:!1,category:"animals_and_nature"},evergreen_tree:{keywords:["plant","nature"],char:"\u{1f332}",fitzpatrick_scale:!1,category:"animals_and_nature"},deciduous_tree:{keywords:["plant","nature"],char:"\u{1f333}",fitzpatrick_scale:!1,category:"animals_and_nature"},palm_tree:{keywords:["plant","vegetable","nature","summer","beach","mojito","tropical"],char:"\u{1f334}",fitzpatrick_scale:!1,category:"animals_and_nature"},seedling:{keywords:["plant","nature","grass","lawn","spring"],char:"\u{1f331}",fitzpatrick_scale:!1,category:"animals_and_nature"},herb:{keywords:["vegetable","plant","medicine","weed","grass","lawn"],char:"\u{1f33f}",fitzpatrick_scale:!1,category:"animals_and_nature"},shamrock:{keywords:["vegetable","plant","nature","irish","clover"],char:"\u2618",fitzpatrick_scale:!1,category:"animals_and_nature"},four_leaf_clover:{keywords:["vegetable","plant","nature","lucky","irish"],char:"\u{1f340}",fitzpatrick_scale:!1,category:"animals_and_nature"},bamboo:{keywords:["plant","nature","vegetable","panda","pine_decoration"],char:"\u{1f38d}",fitzpatrick_scale:!1,category:"animals_and_nature"},tanabata_tree:{keywords:["plant","nature","branch","summer"],char:"\u{1f38b}",fitzpatrick_scale:!1,category:"animals_and_nature"},leaves:{keywords:["nature","plant","tree","vegetable","grass","lawn","spring"],char:"\u{1f343}",fitzpatrick_scale:!1,category:"animals_and_nature"},fallen_leaf:{keywords:["nature","plant","vegetable","leaves"],char:"\u{1f342}",fitzpatrick_scale:!1,category:"animals_and_nature"},maple_leaf:{keywords:["nature","plant","vegetable","ca","fall"],char:"\u{1f341}",fitzpatrick_scale:!1,category:"animals_and_nature"},ear_of_rice:{keywords:["nature","plant"],char:"\u{1f33e}",fitzpatrick_scale:!1,category:"animals_and_nature"},hibiscus:{keywords:["plant","vegetable","flowers","beach"],char:"\u{1f33a}",fitzpatrick_scale:!1,category:"animals_and_nature"},sunflower:{keywords:["nature","plant","fall"],char:"\u{1f33b}",fitzpatrick_scale:!1,category:"animals_and_nature"},rose:{keywords:["flowers","valentines","love","spring"],char:"\u{1f339}",fitzpatrick_scale:!1,category:"animals_and_nature"},wilted_flower:{keywords:["plant","nature","flower"],char:"\u{1f940}",fitzpatrick_scale:!1,category:"animals_and_nature"},tulip:{keywords:["flowers","plant","nature","summer","spring"],char:"\u{1f337}",fitzpatrick_scale:!1,category:"animals_and_nature"},blossom:{keywords:["nature","flowers","yellow"],char:"\u{1f33c}",fitzpatrick_scale:!1,category:"animals_and_nature"},cherry_blossom:{keywords:["nature","plant","spring","flower"],char:"\u{1f338}",fitzpatrick_scale:!1,category:"animals_and_nature"},bouquet:{keywords:["flowers","nature","spring"],char:"\u{1f490}",fitzpatrick_scale:!1,category:"animals_and_nature"},mushroom:{keywords:["plant","vegetable"],char:"\u{1f344}",fitzpatrick_scale:!1,category:"animals_and_nature"},chestnut:{keywords:["food","squirrel"],char:"\u{1f330}",fitzpatrick_scale:!1,category:"animals_and_nature"},jack_o_lantern:{keywords:["halloween","light","pumpkin","creepy","fall"],char:"\u{1f383}",fitzpatrick_scale:!1,category:"animals_and_nature"},shell:{keywords:["nature","sea","beach"],char:"\u{1f41a}",fitzpatrick_scale:!1,category:"animals_and_nature"},spider_web:{keywords:["animal","insect","arachnid","silk"],char:"\u{1f578}",fitzpatrick_scale:!1,category:"animals_and_nature"},earth_americas:{keywords:["globe","world","USA","international"],char:"\u{1f30e}",fitzpatrick_scale:!1,category:"animals_and_nature"},earth_africa:{keywords:["globe","world","international"],char:"\u{1f30d}",fitzpatrick_scale:!1,category:"animals_and_nature"},earth_asia:{keywords:["globe","world","east","international"],char:"\u{1f30f}",fitzpatrick_scale:!1,category:"animals_and_nature"},full_moon:{keywords:["nature","yellow","twilight","planet","space","night","evening","sleep"],char:"\u{1f315}",fitzpatrick_scale:!1,category:"animals_and_nature"},waning_gibbous_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep","waxing_gibbous_moon"],char:"\u{1f316}",fitzpatrick_scale:!1,category:"animals_and_nature"},last_quarter_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"\u{1f317}",fitzpatrick_scale:!1,category:"animals_and_nature"},waning_crescent_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"\u{1f318}",fitzpatrick_scale:!1,category:"animals_and_nature"},new_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"\u{1f311}",fitzpatrick_scale:!1,category:"animals_and_nature"},waxing_crescent_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"\u{1f312}",fitzpatrick_scale:!1,category:"animals_and_nature"},first_quarter_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"\u{1f313}",fitzpatrick_scale:!1,category:"animals_and_nature"},waxing_gibbous_moon:{keywords:["nature","night","sky","gray","twilight","planet","space","evening","sleep"],char:"\u{1f314}",fitzpatrick_scale:!1,category:"animals_and_nature"},new_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"\u{1f31a}",fitzpatrick_scale:!1,category:"animals_and_nature"},full_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"\u{1f31d}",fitzpatrick_scale:!1,category:"animals_and_nature"},first_quarter_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"\u{1f31b}",fitzpatrick_scale:!1,category:"animals_and_nature"},last_quarter_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"\u{1f31c}",fitzpatrick_scale:!1,category:"animals_and_nature"},sun_with_face:{keywords:["nature","morning","sky"],char:"\u{1f31e}",fitzpatrick_scale:!1,category:"animals_and_nature"},crescent_moon:{keywords:["night","sleep","sky","evening","magic"],char:"\u{1f319}",fitzpatrick_scale:!1,category:"animals_and_nature"},star:{keywords:["night","yellow"],char:"\u2b50",fitzpatrick_scale:!1,category:"animals_and_nature"},star2:{keywords:["night","sparkle","awesome","good","magic"],char:"\u{1f31f}",fitzpatrick_scale:!1,category:"animals_and_nature"},dizzy:{keywords:["star","sparkle","shoot","magic"],char:"\u{1f4ab}",fitzpatrick_scale:!1,category:"animals_and_nature"},sparkles:{keywords:["stars","shine","shiny","cool","awesome","good","magic"],char:"\u2728",fitzpatrick_scale:!1,category:"animals_and_nature"},comet:{keywords:["space"],char:"\u2604",fitzpatrick_scale:!1,category:"animals_and_nature"},sunny:{keywords:["weather","nature","brightness","summer","beach","spring"],char:"\u2600\ufe0f",fitzpatrick_scale:!1,category:"animals_and_nature"},sun_behind_small_cloud:{keywords:["weather"],char:"\u{1f324}",fitzpatrick_scale:!1,category:"animals_and_nature"},partly_sunny:{keywords:["weather","nature","cloudy","morning","fall","spring"],char:"\u26c5",fitzpatrick_scale:!1,category:"animals_and_nature"},sun_behind_large_cloud:{keywords:["weather"],char:"\u{1f325}",fitzpatrick_scale:!1,category:"animals_and_nature"},sun_behind_rain_cloud:{keywords:["weather"],char:"\u{1f326}",fitzpatrick_scale:!1,category:"animals_and_nature"},cloud:{keywords:["weather","sky"],char:"\u2601\ufe0f",fitzpatrick_scale:!1,category:"animals_and_nature"},cloud_with_rain:{keywords:["weather"],char:"\u{1f327}",fitzpatrick_scale:!1,category:"animals_and_nature"},cloud_with_lightning_and_rain:{keywords:["weather","lightning"],char:"\u26c8",fitzpatrick_scale:!1,category:"animals_and_nature"},cloud_with_lightning:{keywords:["weather","thunder"],char:"\u{1f329}",fitzpatrick_scale:!1,category:"animals_and_nature"},zap:{keywords:["thunder","weather","lightning bolt","fast"],char:"\u26a1",fitzpatrick_scale:!1,category:"animals_and_nature"},fire:{keywords:["hot","cook","flame"],char:"\u{1f525}",fitzpatrick_scale:!1,category:"animals_and_nature"},boom:{keywords:["bomb","explode","explosion","collision","blown"],char:"\u{1f4a5}",fitzpatrick_scale:!1,category:"animals_and_nature"},snowflake:{keywords:["winter","season","cold","weather","christmas","xmas"],char:"\u2744\ufe0f",fitzpatrick_scale:!1,category:"animals_and_nature"},cloud_with_snow:{keywords:["weather"],char:"\u{1f328}",fitzpatrick_scale:!1,category:"animals_and_nature"},snowman:{keywords:["winter","season","cold","weather","christmas","xmas","frozen","without_snow"],char:"\u26c4",fitzpatrick_scale:!1,category:"animals_and_nature"},snowman_with_snow:{keywords:["winter","season","cold","weather","christmas","xmas","frozen"],char:"\u2603",fitzpatrick_scale:!1,category:"animals_and_nature"},wind_face:{keywords:["gust","air"],char:"\u{1f32c}",fitzpatrick_scale:!1,category:"animals_and_nature"},dash:{keywords:["wind","air","fast","shoo","fart","smoke","puff"],char:"\u{1f4a8}",fitzpatrick_scale:!1,category:"animals_and_nature"},tornado:{keywords:["weather","cyclone","twister"],char:"\u{1f32a}",fitzpatrick_scale:!1,category:"animals_and_nature"},fog:{keywords:["weather"],char:"\u{1f32b}",fitzpatrick_scale:!1,category:"animals_and_nature"},open_umbrella:{keywords:["weather","spring"],char:"\u2602",fitzpatrick_scale:!1,category:"animals_and_nature"},umbrella:{keywords:["rainy","weather","spring"],char:"\u2614",fitzpatrick_scale:!1,category:"animals_and_nature"},droplet:{keywords:["water","drip","faucet","spring"],char:"\u{1f4a7}",fitzpatrick_scale:!1,category:"animals_and_nature"},sweat_drops:{keywords:["water","drip","oops"],char:"\u{1f4a6}",fitzpatrick_scale:!1,category:"animals_and_nature"},ocean:{keywords:["sea","water","wave","nature","tsunami","disaster"],char:"\u{1f30a}",fitzpatrick_scale:!1,category:"animals_and_nature"},green_apple:{keywords:["fruit","nature"],char:"\u{1f34f}",fitzpatrick_scale:!1,category:"food_and_drink"},apple:{keywords:["fruit","mac","school"],char:"\u{1f34e}",fitzpatrick_scale:!1,category:"food_and_drink"},pear:{keywords:["fruit","nature","food"],char:"\u{1f350}",fitzpatrick_scale:!1,category:"food_and_drink"},tangerine:{keywords:["food","fruit","nature","orange"],char:"\u{1f34a}",fitzpatrick_scale:!1,category:"food_and_drink"},lemon:{keywords:["fruit","nature"],char:"\u{1f34b}",fitzpatrick_scale:!1,category:"food_and_drink"},banana:{keywords:["fruit","food","monkey"],char:"\u{1f34c}",fitzpatrick_scale:!1,category:"food_and_drink"},watermelon:{keywords:["fruit","food","picnic","summer"],char:"\u{1f349}",fitzpatrick_scale:!1,category:"food_and_drink"},grapes:{keywords:["fruit","food","wine"],char:"\u{1f347}",fitzpatrick_scale:!1,category:"food_and_drink"},strawberry:{keywords:["fruit","food","nature"],char:"\u{1f353}",fitzpatrick_scale:!1,category:"food_and_drink"},melon:{keywords:["fruit","nature","food"],char:"\u{1f348}",fitzpatrick_scale:!1,category:"food_and_drink"},cherries:{keywords:["food","fruit"],char:"\u{1f352}",fitzpatrick_scale:!1,category:"food_and_drink"},peach:{keywords:["fruit","nature","food"],char:"\u{1f351}",fitzpatrick_scale:!1,category:"food_and_drink"},pineapple:{keywords:["fruit","nature","food"],char:"\u{1f34d}",fitzpatrick_scale:!1,category:"food_and_drink"},coconut:{keywords:["fruit","nature","food","palm"],char:"\u{1f965}",fitzpatrick_scale:!1,category:"food_and_drink"},kiwi_fruit:{keywords:["fruit","food"],char:"\u{1f95d}",fitzpatrick_scale:!1,category:"food_and_drink"},mango:{keywords:["fruit","food","tropical"],char:"\u{1f96d}",fitzpatrick_scale:!1,category:"food_and_drink"},avocado:{keywords:["fruit","food"],char:"\u{1f951}",fitzpatrick_scale:!1,category:"food_and_drink"},broccoli:{keywords:["fruit","food","vegetable"],char:"\u{1f966}",fitzpatrick_scale:!1,category:"food_and_drink"},tomato:{keywords:["fruit","vegetable","nature","food"],char:"\u{1f345}",fitzpatrick_scale:!1,category:"food_and_drink"},eggplant:{keywords:["vegetable","nature","food","aubergine"],char:"\u{1f346}",fitzpatrick_scale:!1,category:"food_and_drink"},cucumber:{keywords:["fruit","food","pickle"],char:"\u{1f952}",fitzpatrick_scale:!1,category:"food_and_drink"},carrot:{keywords:["vegetable","food","orange"],char:"\u{1f955}",fitzpatrick_scale:!1,category:"food_and_drink"},hot_pepper:{keywords:["food","spicy","chilli","chili"],char:"\u{1f336}",fitzpatrick_scale:!1,category:"food_and_drink"},potato:{keywords:["food","tuber","vegatable","starch"],char:"\u{1f954}",fitzpatrick_scale:!1,category:"food_and_drink"},corn:{keywords:["food","vegetable","plant"],char:"\u{1f33d}",fitzpatrick_scale:!1,category:"food_and_drink"},leafy_greens:{keywords:["food","vegetable","plant","bok choy","cabbage","kale","lettuce"],char:"\u{1f96c}",fitzpatrick_scale:!1,category:"food_and_drink"},sweet_potato:{keywords:["food","nature"],char:"\u{1f360}",fitzpatrick_scale:!1,category:"food_and_drink"},peanuts:{keywords:["food","nut"],char:"\u{1f95c}",fitzpatrick_scale:!1,category:"food_and_drink"},honey_pot:{keywords:["bees","sweet","kitchen"],char:"\u{1f36f}",fitzpatrick_scale:!1,category:"food_and_drink"},croissant:{keywords:["food","bread","french"],char:"\u{1f950}",fitzpatrick_scale:!1,category:"food_and_drink"},bread:{keywords:["food","wheat","breakfast","toast"],char:"\u{1f35e}",fitzpatrick_scale:!1,category:"food_and_drink"},baguette_bread:{keywords:["food","bread","french"],char:"\u{1f956}",fitzpatrick_scale:!1,category:"food_and_drink"},bagel:{keywords:["food","bread","bakery","schmear"],char:"\u{1f96f}",fitzpatrick_scale:!1,category:"food_and_drink"},pretzel:{keywords:["food","bread","twisted"],char:"\u{1f968}",fitzpatrick_scale:!1,category:"food_and_drink"},cheese:{keywords:["food","chadder"],char:"\u{1f9c0}",fitzpatrick_scale:!1,category:"food_and_drink"},egg:{keywords:["food","chicken","breakfast"],char:"\u{1f95a}",fitzpatrick_scale:!1,category:"food_and_drink"},bacon:{keywords:["food","breakfast","pork","pig","meat"],char:"\u{1f953}",fitzpatrick_scale:!1,category:"food_and_drink"},steak:{keywords:["food","cow","meat","cut","chop","lambchop","porkchop"],char:"\u{1f969}",fitzpatrick_scale:!1,category:"food_and_drink"},pancakes:{keywords:["food","breakfast","flapjacks","hotcakes"],char:"\u{1f95e}",fitzpatrick_scale:!1,category:"food_and_drink"},poultry_leg:{keywords:["food","meat","drumstick","bird","chicken","turkey"],char:"\u{1f357}",fitzpatrick_scale:!1,category:"food_and_drink"},meat_on_bone:{keywords:["good","food","drumstick"],char:"\u{1f356}",fitzpatrick_scale:!1,category:"food_and_drink"},bone:{keywords:["skeleton"],char:"\u{1f9b4}",fitzpatrick_scale:!1,category:"food_and_drink"},fried_shrimp:{keywords:["food","animal","appetizer","summer"],char:"\u{1f364}",fitzpatrick_scale:!1,category:"food_and_drink"},fried_egg:{keywords:["food","breakfast","kitchen","egg"],char:"\u{1f373}",fitzpatrick_scale:!1,category:"food_and_drink"},hamburger:{keywords:["meat","fast food","beef","cheeseburger","mcdonalds","burger king"],char:"\u{1f354}",fitzpatrick_scale:!1,category:"food_and_drink"},fries:{keywords:["chips","snack","fast food"],char:"\u{1f35f}",fitzpatrick_scale:!1,category:"food_and_drink"},stuffed_flatbread:{keywords:["food","flatbread","stuffed","gyro"],char:"\u{1f959}",fitzpatrick_scale:!1,category:"food_and_drink"},hotdog:{keywords:["food","frankfurter"],char:"\u{1f32d}",fitzpatrick_scale:!1,category:"food_and_drink"},pizza:{keywords:["food","party"],char:"\u{1f355}",fitzpatrick_scale:!1,category:"food_and_drink"},sandwich:{keywords:["food","lunch","bread"],char:"\u{1f96a}",fitzpatrick_scale:!1,category:"food_and_drink"},canned_food:{keywords:["food","soup"],char:"\u{1f96b}",fitzpatrick_scale:!1,category:"food_and_drink"},spaghetti:{keywords:["food","italian","noodle"],char:"\u{1f35d}",fitzpatrick_scale:!1,category:"food_and_drink"},taco:{keywords:["food","mexican"],char:"\u{1f32e}",fitzpatrick_scale:!1,category:"food_and_drink"},burrito:{keywords:["food","mexican"],char:"\u{1f32f}",fitzpatrick_scale:!1,category:"food_and_drink"},green_salad:{keywords:["food","healthy","lettuce"],char:"\u{1f957}",fitzpatrick_scale:!1,category:"food_and_drink"},shallow_pan_of_food:{keywords:["food","cooking","casserole","paella"],char:"\u{1f958}",fitzpatrick_scale:!1,category:"food_and_drink"},ramen:{keywords:["food","japanese","noodle","chopsticks"],char:"\u{1f35c}",fitzpatrick_scale:!1,category:"food_and_drink"},stew:{keywords:["food","meat","soup"],char:"\u{1f372}",fitzpatrick_scale:!1,category:"food_and_drink"},fish_cake:{keywords:["food","japan","sea","beach","narutomaki","pink","swirl","kamaboko","surimi","ramen"],char:"\u{1f365}",fitzpatrick_scale:!1,category:"food_and_drink"},fortune_cookie:{keywords:["food","prophecy"],char:"\u{1f960}",fitzpatrick_scale:!1,category:"food_and_drink"},sushi:{keywords:["food","fish","japanese","rice"],char:"\u{1f363}",fitzpatrick_scale:!1,category:"food_and_drink"},bento:{keywords:["food","japanese","box"],char:"\u{1f371}",fitzpatrick_scale:!1,category:"food_and_drink"},curry:{keywords:["food","spicy","hot","indian"],char:"\u{1f35b}",fitzpatrick_scale:!1,category:"food_and_drink"},rice_ball:{keywords:["food","japanese"],char:"\u{1f359}",fitzpatrick_scale:!1,category:"food_and_drink"},rice:{keywords:["food","china","asian"],char:"\u{1f35a}",fitzpatrick_scale:!1,category:"food_and_drink"},rice_cracker:{keywords:["food","japanese"],char:"\u{1f358}",fitzpatrick_scale:!1,category:"food_and_drink"},oden:{keywords:["food","japanese"],char:"\u{1f362}",fitzpatrick_scale:!1,category:"food_and_drink"},dango:{keywords:["food","dessert","sweet","japanese","barbecue","meat"],char:"\u{1f361}",fitzpatrick_scale:!1,category:"food_and_drink"},shaved_ice:{keywords:["hot","dessert","summer"],char:"\u{1f367}",fitzpatrick_scale:!1,category:"food_and_drink"},ice_cream:{keywords:["food","hot","dessert"],char:"\u{1f368}",fitzpatrick_scale:!1,category:"food_and_drink"},icecream:{keywords:["food","hot","dessert","summer"],char:"\u{1f366}",fitzpatrick_scale:!1,category:"food_and_drink"},pie:{keywords:["food","dessert","pastry"],char:"\u{1f967}",fitzpatrick_scale:!1,category:"food_and_drink"},cake:{keywords:["food","dessert"],char:"\u{1f370}",fitzpatrick_scale:!1,category:"food_and_drink"},cupcake:{keywords:["food","dessert","bakery","sweet"],char:"\u{1f9c1}",fitzpatrick_scale:!1,category:"food_and_drink"},moon_cake:{keywords:["food","autumn"],char:"\u{1f96e}",fitzpatrick_scale:!1,category:"food_and_drink"},birthday:{keywords:["food","dessert","cake"],char:"\u{1f382}",fitzpatrick_scale:!1,category:"food_and_drink"},custard:{keywords:["dessert","food"],char:"\u{1f36e}",fitzpatrick_scale:!1,category:"food_and_drink"},candy:{keywords:["snack","dessert","sweet","lolly"],char:"\u{1f36c}",fitzpatrick_scale:!1,category:"food_and_drink"},lollipop:{keywords:["food","snack","candy","sweet"],char:"\u{1f36d}",fitzpatrick_scale:!1,category:"food_and_drink"},chocolate_bar:{keywords:["food","snack","dessert","sweet"],char:"\u{1f36b}",fitzpatrick_scale:!1,category:"food_and_drink"},popcorn:{keywords:["food","movie theater","films","snack"],char:"\u{1f37f}",fitzpatrick_scale:!1,category:"food_and_drink"},dumpling:{keywords:["food","empanada","pierogi","potsticker"],char:"\u{1f95f}",fitzpatrick_scale:!1,category:"food_and_drink"},doughnut:{keywords:["food","dessert","snack","sweet","donut"],char:"\u{1f369}",fitzpatrick_scale:!1,category:"food_and_drink"},cookie:{keywords:["food","snack","oreo","chocolate","sweet","dessert"],char:"\u{1f36a}",fitzpatrick_scale:!1,category:"food_and_drink"},milk_glass:{keywords:["beverage","drink","cow"],char:"\u{1f95b}",fitzpatrick_scale:!1,category:"food_and_drink"},beer:{keywords:["relax","beverage","drink","drunk","party","pub","summer","alcohol","booze"],char:"\u{1f37a}",fitzpatrick_scale:!1,category:"food_and_drink"},beers:{keywords:["relax","beverage","drink","drunk","party","pub","summer","alcohol","booze"],char:"\u{1f37b}",fitzpatrick_scale:!1,category:"food_and_drink"},clinking_glasses:{keywords:["beverage","drink","party","alcohol","celebrate","cheers","wine","champagne","toast"],char:"\u{1f942}",fitzpatrick_scale:!1,category:"food_and_drink"},wine_glass:{keywords:["drink","beverage","drunk","alcohol","booze"],char:"\u{1f377}",fitzpatrick_scale:!1,category:"food_and_drink"},tumbler_glass:{keywords:["drink","beverage","drunk","alcohol","liquor","booze","bourbon","scotch","whisky","glass","shot"],char:"\u{1f943}",fitzpatrick_scale:!1,category:"food_and_drink"},cocktail:{keywords:["drink","drunk","alcohol","beverage","booze","mojito"],char:"\u{1f378}",fitzpatrick_scale:!1,category:"food_and_drink"},tropical_drink:{keywords:["beverage","cocktail","summer","beach","alcohol","booze","mojito"],char:"\u{1f379}",fitzpatrick_scale:!1,category:"food_and_drink"},champagne:{keywords:["drink","wine","bottle","celebration"],char:"\u{1f37e}",fitzpatrick_scale:!1,category:"food_and_drink"},sake:{keywords:["wine","drink","drunk","beverage","japanese","alcohol","booze"],char:"\u{1f376}",fitzpatrick_scale:!1,category:"food_and_drink"},tea:{keywords:["drink","bowl","breakfast","green","british"],char:"\u{1f375}",fitzpatrick_scale:!1,category:"food_and_drink"},cup_with_straw:{keywords:["drink","soda"],char:"\u{1f964}",fitzpatrick_scale:!1,category:"food_and_drink"},coffee:{keywords:["beverage","caffeine","latte","espresso"],char:"\u2615",fitzpatrick_scale:!1,category:"food_and_drink"},baby_bottle:{keywords:["food","container","milk"],char:"\u{1f37c}",fitzpatrick_scale:!1,category:"food_and_drink"},salt:{keywords:["condiment","shaker"],char:"\u{1f9c2}",fitzpatrick_scale:!1,category:"food_and_drink"},spoon:{keywords:["cutlery","kitchen","tableware"],char:"\u{1f944}",fitzpatrick_scale:!1,category:"food_and_drink"},fork_and_knife:{keywords:["cutlery","kitchen"],char:"\u{1f374}",fitzpatrick_scale:!1,category:"food_and_drink"},plate_with_cutlery:{keywords:["food","eat","meal","lunch","dinner","restaurant"],char:"\u{1f37d}",fitzpatrick_scale:!1,category:"food_and_drink"},bowl_with_spoon:{keywords:["food","breakfast","cereal","oatmeal","porridge"],char:"\u{1f963}",fitzpatrick_scale:!1,category:"food_and_drink"},takeout_box:{keywords:["food","leftovers"],char:"\u{1f961}",fitzpatrick_scale:!1,category:"food_and_drink"},chopsticks:{keywords:["food"],char:"\u{1f962}",fitzpatrick_scale:!1,category:"food_and_drink"},soccer:{keywords:["sports","football"],char:"\u26bd",fitzpatrick_scale:!1,category:"activity"},basketball:{keywords:["sports","balls","NBA"],char:"\u{1f3c0}",fitzpatrick_scale:!1,category:"activity"},football:{keywords:["sports","balls","NFL"],char:"\u{1f3c8}",fitzpatrick_scale:!1,category:"activity"},baseball:{keywords:["sports","balls"],char:"\u26be",fitzpatrick_scale:!1,category:"activity"},softball:{keywords:["sports","balls"],char:"\u{1f94e}",fitzpatrick_scale:!1,category:"activity"},tennis:{keywords:["sports","balls","green"],char:"\u{1f3be}",fitzpatrick_scale:!1,category:"activity"},volleyball:{keywords:["sports","balls"],char:"\u{1f3d0}",fitzpatrick_scale:!1,category:"activity"},rugby_football:{keywords:["sports","team"],char:"\u{1f3c9}",fitzpatrick_scale:!1,category:"activity"},flying_disc:{keywords:["sports","frisbee","ultimate"],char:"\u{1f94f}",fitzpatrick_scale:!1,category:"activity"},"8ball":{keywords:["pool","hobby","game","luck","magic"],char:"\u{1f3b1}",fitzpatrick_scale:!1,category:"activity"},golf:{keywords:["sports","business","flag","hole","summer"],char:"\u26f3",fitzpatrick_scale:!1,category:"activity"},golfing_woman:{keywords:["sports","business","woman","female"],char:"\u{1f3cc}\ufe0f\u200d\u2640\ufe0f",fitzpatrick_scale:!1,category:"activity"},golfing_man:{keywords:["sports","business"],char:"\u{1f3cc}",fitzpatrick_scale:!0,category:"activity"},ping_pong:{keywords:["sports","pingpong"],char:"\u{1f3d3}",fitzpatrick_scale:!1,category:"activity"},badminton:{keywords:["sports"],char:"\u{1f3f8}",fitzpatrick_scale:!1,category:"activity"},goal_net:{keywords:["sports"],char:"\u{1f945}",fitzpatrick_scale:!1,category:"activity"},ice_hockey:{keywords:["sports"],char:"\u{1f3d2}",fitzpatrick_scale:!1,category:"activity"},field_hockey:{keywords:["sports"],char:"\u{1f3d1}",fitzpatrick_scale:!1,category:"activity"},lacrosse:{keywords:["sports","ball","stick"],char:"\u{1f94d}",fitzpatrick_scale:!1,category:"activity"},cricket:{keywords:["sports"],char:"\u{1f3cf}",fitzpatrick_scale:!1,category:"activity"},ski:{keywords:["sports","winter","cold","snow"],char:"\u{1f3bf}",fitzpatrick_scale:!1,category:"activity"},skier:{keywords:["sports","winter","snow"],char:"\u26f7",fitzpatrick_scale:!1,category:"activity"},snowboarder:{keywords:["sports","winter"],char:"\u{1f3c2}",fitzpatrick_scale:!0,category:"activity"},person_fencing:{keywords:["sports","fencing","sword"],char:"\u{1f93a}",fitzpatrick_scale:!1,category:"activity"},women_wrestling:{keywords:["sports","wrestlers"],char:"\u{1f93c}\u200d\u2640\ufe0f",fitzpatrick_scale:!1,category:"activity"},men_wrestling:{keywords:["sports","wrestlers"],char:"\u{1f93c}\u200d\u2642\ufe0f",fitzpatrick_scale:!1,category:"activity"},woman_cartwheeling:{keywords:["gymnastics"],char:"\u{1f938}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},man_cartwheeling:{keywords:["gymnastics"],char:"\u{1f938}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"activity"},woman_playing_handball:{keywords:["sports"],char:"\u{1f93e}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},man_playing_handball:{keywords:["sports"],char:"\u{1f93e}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"activity"},ice_skate:{keywords:["sports"],char:"\u26f8",fitzpatrick_scale:!1,category:"activity"},curling_stone:{keywords:["sports"],char:"\u{1f94c}",fitzpatrick_scale:!1,category:"activity"},skateboard:{keywords:["board"],char:"\u{1f6f9}",fitzpatrick_scale:!1,category:"activity"},sled:{keywords:["sleigh","luge","toboggan"],char:"\u{1f6f7}",fitzpatrick_scale:!1,category:"activity"},bow_and_arrow:{keywords:["sports"],char:"\u{1f3f9}",fitzpatrick_scale:!1,category:"activity"},fishing_pole_and_fish:{keywords:["food","hobby","summer"],char:"\u{1f3a3}",fitzpatrick_scale:!1,category:"activity"},boxing_glove:{keywords:["sports","fighting"],char:"\u{1f94a}",fitzpatrick_scale:!1,category:"activity"},martial_arts_uniform:{keywords:["judo","karate","taekwondo"],char:"\u{1f94b}",fitzpatrick_scale:!1,category:"activity"},rowing_woman:{keywords:["sports","hobby","water","ship","woman","female"],char:"\u{1f6a3}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},rowing_man:{keywords:["sports","hobby","water","ship"],char:"\u{1f6a3}",fitzpatrick_scale:!0,category:"activity"},climbing_woman:{keywords:["sports","hobby","woman","female","rock"],char:"\u{1f9d7}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},climbing_man:{keywords:["sports","hobby","man","male","rock"],char:"\u{1f9d7}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"activity"},swimming_woman:{keywords:["sports","exercise","human","athlete","water","summer","woman","female"],char:"\u{1f3ca}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},swimming_man:{keywords:["sports","exercise","human","athlete","water","summer"],char:"\u{1f3ca}",fitzpatrick_scale:!0,category:"activity"},woman_playing_water_polo:{keywords:["sports","pool"],char:"\u{1f93d}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},man_playing_water_polo:{keywords:["sports","pool"],char:"\u{1f93d}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"activity"},woman_in_lotus_position:{keywords:["woman","female","meditation","yoga","serenity","zen","mindfulness"],char:"\u{1f9d8}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},man_in_lotus_position:{keywords:["man","male","meditation","yoga","serenity","zen","mindfulness"],char:"\u{1f9d8}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"activity"},surfing_woman:{keywords:["sports","ocean","sea","summer","beach","woman","female"],char:"\u{1f3c4}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},surfing_man:{keywords:["sports","ocean","sea","summer","beach"],char:"\u{1f3c4}",fitzpatrick_scale:!0,category:"activity"},bath:{keywords:["clean","shower","bathroom"],char:"\u{1f6c0}",fitzpatrick_scale:!0,category:"activity"},basketball_woman:{keywords:["sports","human","woman","female"],char:"\u26f9\ufe0f\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},basketball_man:{keywords:["sports","human"],char:"\u26f9",fitzpatrick_scale:!0,category:"activity"},weight_lifting_woman:{keywords:["sports","training","exercise","woman","female"],char:"\u{1f3cb}\ufe0f\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},weight_lifting_man:{keywords:["sports","training","exercise"],char:"\u{1f3cb}",fitzpatrick_scale:!0,category:"activity"},biking_woman:{keywords:["sports","bike","exercise","hipster","woman","female"],char:"\u{1f6b4}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},biking_man:{keywords:["sports","bike","exercise","hipster"],char:"\u{1f6b4}",fitzpatrick_scale:!0,category:"activity"},mountain_biking_woman:{keywords:["transportation","sports","human","race","bike","woman","female"],char:"\u{1f6b5}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},mountain_biking_man:{keywords:["transportation","sports","human","race","bike"],char:"\u{1f6b5}",fitzpatrick_scale:!0,category:"activity"},horse_racing:{keywords:["animal","betting","competition","gambling","luck"],char:"\u{1f3c7}",fitzpatrick_scale:!0,category:"activity"},business_suit_levitating:{keywords:["suit","business","levitate","hover","jump"],char:"\u{1f574}",fitzpatrick_scale:!0,category:"activity"},trophy:{keywords:["win","award","contest","place","ftw","ceremony"],char:"\u{1f3c6}",fitzpatrick_scale:!1,category:"activity"},running_shirt_with_sash:{keywords:["play","pageant"],char:"\u{1f3bd}",fitzpatrick_scale:!1,category:"activity"},medal_sports:{keywords:["award","winning"],char:"\u{1f3c5}",fitzpatrick_scale:!1,category:"activity"},medal_military:{keywords:["award","winning","army"],char:"\u{1f396}",fitzpatrick_scale:!1,category:"activity"},"1st_place_medal":{keywords:["award","winning","first"],char:"\u{1f947}",fitzpatrick_scale:!1,category:"activity"},"2nd_place_medal":{keywords:["award","second"],char:"\u{1f948}",fitzpatrick_scale:!1,category:"activity"},"3rd_place_medal":{keywords:["award","third"],char:"\u{1f949}",fitzpatrick_scale:!1,category:"activity"},reminder_ribbon:{keywords:["sports","cause","support","awareness"],char:"\u{1f397}",fitzpatrick_scale:!1,category:"activity"},rosette:{keywords:["flower","decoration","military"],char:"\u{1f3f5}",fitzpatrick_scale:!1,category:"activity"},ticket:{keywords:["event","concert","pass"],char:"\u{1f3ab}",fitzpatrick_scale:!1,category:"activity"},tickets:{keywords:["sports","concert","entrance"],char:"\u{1f39f}",fitzpatrick_scale:!1,category:"activity"},performing_arts:{keywords:["acting","theater","drama"],char:"\u{1f3ad}",fitzpatrick_scale:!1,category:"activity"},art:{keywords:["design","paint","draw","colors"],char:"\u{1f3a8}",fitzpatrick_scale:!1,category:"activity"},circus_tent:{keywords:["festival","carnival","party"],char:"\u{1f3aa}",fitzpatrick_scale:!1,category:"activity"},woman_juggling:{keywords:["juggle","balance","skill","multitask"],char:"\u{1f939}\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},man_juggling:{keywords:["juggle","balance","skill","multitask"],char:"\u{1f939}\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"activity"},microphone:{keywords:["sound","music","PA","sing","talkshow"],char:"\u{1f3a4}",fitzpatrick_scale:!1,category:"activity"},headphones:{keywords:["music","score","gadgets"],char:"\u{1f3a7}",fitzpatrick_scale:!1,category:"activity"},musical_score:{keywords:["treble","clef","compose"],char:"\u{1f3bc}",fitzpatrick_scale:!1,category:"activity"},musical_keyboard:{keywords:["piano","instrument","compose"],char:"\u{1f3b9}",fitzpatrick_scale:!1,category:"activity"},drum:{keywords:["music","instrument","drumsticks","snare"],char:"\u{1f941}",fitzpatrick_scale:!1,category:"activity"},saxophone:{keywords:["music","instrument","jazz","blues"],char:"\u{1f3b7}",fitzpatrick_scale:!1,category:"activity"},trumpet:{keywords:["music","brass"],char:"\u{1f3ba}",fitzpatrick_scale:!1,category:"activity"},guitar:{keywords:["music","instrument"],char:"\u{1f3b8}",fitzpatrick_scale:!1,category:"activity"},violin:{keywords:["music","instrument","orchestra","symphony"],char:"\u{1f3bb}",fitzpatrick_scale:!1,category:"activity"},clapper:{keywords:["movie","film","record"],char:"\u{1f3ac}",fitzpatrick_scale:!1,category:"activity"},video_game:{keywords:["play","console","PS4","controller"],char:"\u{1f3ae}",fitzpatrick_scale:!1,category:"activity"},space_invader:{keywords:["game","arcade","play"],char:"\u{1f47e}",fitzpatrick_scale:!1,category:"activity"},dart:{keywords:["game","play","bar","target","bullseye"],char:"\u{1f3af}",fitzpatrick_scale:!1,category:"activity"},game_die:{keywords:["dice","random","tabletop","play","luck"],char:"\u{1f3b2}",fitzpatrick_scale:!1,category:"activity"},chess_pawn:{keywords:["expendable"],char:"\u265f",fitzpatrick_scale:!1,category:"activity"},slot_machine:{keywords:["bet","gamble","vegas","fruit machine","luck","casino"],char:"\u{1f3b0}",fitzpatrick_scale:!1,category:"activity"},jigsaw:{keywords:["interlocking","puzzle","piece"],char:"\u{1f9e9}",fitzpatrick_scale:!1,category:"activity"},bowling:{keywords:["sports","fun","play"],char:"\u{1f3b3}",fitzpatrick_scale:!1,category:"activity"},red_car:{keywords:["red","transportation","vehicle"],char:"\u{1f697}",fitzpatrick_scale:!1,category:"travel_and_places"},taxi:{keywords:["uber","vehicle","cars","transportation"],char:"\u{1f695}",fitzpatrick_scale:!1,category:"travel_and_places"},blue_car:{keywords:["transportation","vehicle"],char:"\u{1f699}",fitzpatrick_scale:!1,category:"travel_and_places"},bus:{keywords:["car","vehicle","transportation"],char:"\u{1f68c}",fitzpatrick_scale:!1,category:"travel_and_places"},trolleybus:{keywords:["bart","transportation","vehicle"],char:"\u{1f68e}",fitzpatrick_scale:!1,category:"travel_and_places"},racing_car:{keywords:["sports","race","fast","formula","f1"],char:"\u{1f3ce}",fitzpatrick_scale:!1,category:"travel_and_places"},police_car:{keywords:["vehicle","cars","transportation","law","legal","enforcement"],char:"\u{1f693}",fitzpatrick_scale:!1,category:"travel_and_places"},ambulance:{keywords:["health","911","hospital"],char:"\u{1f691}",fitzpatrick_scale:!1,category:"travel_and_places"},fire_engine:{keywords:["transportation","cars","vehicle"],char:"\u{1f692}",fitzpatrick_scale:!1,category:"travel_and_places"},minibus:{keywords:["vehicle","car","transportation"],char:"\u{1f690}",fitzpatrick_scale:!1,category:"travel_and_places"},truck:{keywords:["cars","transportation"],char:"\u{1f69a}",fitzpatrick_scale:!1,category:"travel_and_places"},articulated_lorry:{keywords:["vehicle","cars","transportation","express"],char:"\u{1f69b}",fitzpatrick_scale:!1,category:"travel_and_places"},tractor:{keywords:["vehicle","car","farming","agriculture"],char:"\u{1f69c}",fitzpatrick_scale:!1,category:"travel_and_places"},kick_scooter:{keywords:["vehicle","kick","razor"],char:"\u{1f6f4}",fitzpatrick_scale:!1,category:"travel_and_places"},motorcycle:{keywords:["race","sports","fast"],char:"\u{1f3cd}",fitzpatrick_scale:!1,category:"travel_and_places"},bike:{keywords:["sports","bicycle","exercise","hipster"],char:"\u{1f6b2}",fitzpatrick_scale:!1,category:"travel_and_places"},motor_scooter:{keywords:["vehicle","vespa","sasha"],char:"\u{1f6f5}",fitzpatrick_scale:!1,category:"travel_and_places"},rotating_light:{keywords:["police","ambulance","911","emergency","alert","error","pinged","law","legal"],char:"\u{1f6a8}",fitzpatrick_scale:!1,category:"travel_and_places"},oncoming_police_car:{keywords:["vehicle","law","legal","enforcement","911"],char:"\u{1f694}",fitzpatrick_scale:!1,category:"travel_and_places"},oncoming_bus:{keywords:["vehicle","transportation"],char:"\u{1f68d}",fitzpatrick_scale:!1,category:"travel_and_places"},oncoming_automobile:{keywords:["car","vehicle","transportation"],char:"\u{1f698}",fitzpatrick_scale:!1,category:"travel_and_places"},oncoming_taxi:{keywords:["vehicle","cars","uber"],char:"\u{1f696}",fitzpatrick_scale:!1,category:"travel_and_places"},aerial_tramway:{keywords:["transportation","vehicle","ski"],char:"\u{1f6a1}",fitzpatrick_scale:!1,category:"travel_and_places"},mountain_cableway:{keywords:["transportation","vehicle","ski"],char:"\u{1f6a0}",fitzpatrick_scale:!1,category:"travel_and_places"},suspension_railway:{keywords:["vehicle","transportation"],char:"\u{1f69f}",fitzpatrick_scale:!1,category:"travel_and_places"},railway_car:{keywords:["transportation","vehicle"],char:"\u{1f683}",fitzpatrick_scale:!1,category:"travel_and_places"},train:{keywords:["transportation","vehicle","carriage","public","travel"],char:"\u{1f68b}",fitzpatrick_scale:!1,category:"travel_and_places"},monorail:{keywords:["transportation","vehicle"],char:"\u{1f69d}",fitzpatrick_scale:!1,category:"travel_and_places"},bullettrain_side:{keywords:["transportation","vehicle"],char:"\u{1f684}",fitzpatrick_scale:!1,category:"travel_and_places"},bullettrain_front:{keywords:["transportation","vehicle","speed","fast","public","travel"],char:"\u{1f685}",fitzpatrick_scale:!1,category:"travel_and_places"},light_rail:{keywords:["transportation","vehicle"],char:"\u{1f688}",fitzpatrick_scale:!1,category:"travel_and_places"},mountain_railway:{keywords:["transportation","vehicle"],char:"\u{1f69e}",fitzpatrick_scale:!1,category:"travel_and_places"},steam_locomotive:{keywords:["transportation","vehicle","train"],char:"\u{1f682}",fitzpatrick_scale:!1,category:"travel_and_places"},train2:{keywords:["transportation","vehicle"],char:"\u{1f686}",fitzpatrick_scale:!1,category:"travel_and_places"},metro:{keywords:["transportation","blue-square","mrt","underground","tube"],char:"\u{1f687}",fitzpatrick_scale:!1,category:"travel_and_places"},tram:{keywords:["transportation","vehicle"],char:"\u{1f68a}",fitzpatrick_scale:!1,category:"travel_and_places"},station:{keywords:["transportation","vehicle","public"],char:"\u{1f689}",fitzpatrick_scale:!1,category:"travel_and_places"},flying_saucer:{keywords:["transportation","vehicle","ufo"],char:"\u{1f6f8}",fitzpatrick_scale:!1,category:"travel_and_places"},helicopter:{keywords:["transportation","vehicle","fly"],char:"\u{1f681}",fitzpatrick_scale:!1,category:"travel_and_places"},small_airplane:{keywords:["flight","transportation","fly","vehicle"],char:"\u{1f6e9}",fitzpatrick_scale:!1,category:"travel_and_places"},airplane:{keywords:["vehicle","transportation","flight","fly"],char:"\u2708\ufe0f",fitzpatrick_scale:!1,category:"travel_and_places"},flight_departure:{keywords:["airport","flight","landing"],char:"\u{1f6eb}",fitzpatrick_scale:!1,category:"travel_and_places"},flight_arrival:{keywords:["airport","flight","boarding"],char:"\u{1f6ec}",fitzpatrick_scale:!1,category:"travel_and_places"},sailboat:{keywords:["ship","summer","transportation","water","sailing"],char:"\u26f5",fitzpatrick_scale:!1,category:"travel_and_places"},motor_boat:{keywords:["ship"],char:"\u{1f6e5}",fitzpatrick_scale:!1,category:"travel_and_places"},speedboat:{keywords:["ship","transportation","vehicle","summer"],char:"\u{1f6a4}",fitzpatrick_scale:!1,category:"travel_and_places"},ferry:{keywords:["boat","ship","yacht"],char:"\u26f4",fitzpatrick_scale:!1,category:"travel_and_places"},passenger_ship:{keywords:["yacht","cruise","ferry"],char:"\u{1f6f3}",fitzpatrick_scale:!1,category:"travel_and_places"},rocket:{keywords:["launch","ship","staffmode","NASA","outer space","outer_space","fly"],char:"\u{1f680}",fitzpatrick_scale:!1,category:"travel_and_places"},artificial_satellite:{keywords:["communication","gps","orbit","spaceflight","NASA","ISS"],char:"\u{1f6f0}",fitzpatrick_scale:!1,category:"travel_and_places"},seat:{keywords:["sit","airplane","transport","bus","flight","fly"],char:"\u{1f4ba}",fitzpatrick_scale:!1,category:"travel_and_places"},canoe:{keywords:["boat","paddle","water","ship"],char:"\u{1f6f6}",fitzpatrick_scale:!1,category:"travel_and_places"},anchor:{keywords:["ship","ferry","sea","boat"],char:"\u2693",fitzpatrick_scale:!1,category:"travel_and_places"},construction:{keywords:["wip","progress","caution","warning"],char:"\u{1f6a7}",fitzpatrick_scale:!1,category:"travel_and_places"},fuelpump:{keywords:["gas station","petroleum"],char:"\u26fd",fitzpatrick_scale:!1,category:"travel_and_places"},busstop:{keywords:["transportation","wait"],char:"\u{1f68f}",fitzpatrick_scale:!1,category:"travel_and_places"},vertical_traffic_light:{keywords:["transportation","driving"],char:"\u{1f6a6}",fitzpatrick_scale:!1,category:"travel_and_places"},traffic_light:{keywords:["transportation","signal"],char:"\u{1f6a5}",fitzpatrick_scale:!1,category:"travel_and_places"},checkered_flag:{keywords:["contest","finishline","race","gokart"],char:"\u{1f3c1}",fitzpatrick_scale:!1,category:"travel_and_places"},ship:{keywords:["transportation","titanic","deploy"],char:"\u{1f6a2}",fitzpatrick_scale:!1,category:"travel_and_places"},ferris_wheel:{keywords:["photo","carnival","londoneye"],char:"\u{1f3a1}",fitzpatrick_scale:!1,category:"travel_and_places"},roller_coaster:{keywords:["carnival","playground","photo","fun"],char:"\u{1f3a2}",fitzpatrick_scale:!1,category:"travel_and_places"},carousel_horse:{keywords:["photo","carnival"],char:"\u{1f3a0}",fitzpatrick_scale:!1,category:"travel_and_places"},building_construction:{keywords:["wip","working","progress"],char:"\u{1f3d7}",fitzpatrick_scale:!1,category:"travel_and_places"},foggy:{keywords:["photo","mountain"],char:"\u{1f301}",fitzpatrick_scale:!1,category:"travel_and_places"},tokyo_tower:{keywords:["photo","japanese"],char:"\u{1f5fc}",fitzpatrick_scale:!1,category:"travel_and_places"},factory:{keywords:["building","industry","pollution","smoke"],char:"\u{1f3ed}",fitzpatrick_scale:!1,category:"travel_and_places"},fountain:{keywords:["photo","summer","water","fresh"],char:"\u26f2",fitzpatrick_scale:!1,category:"travel_and_places"},rice_scene:{keywords:["photo","japan","asia","tsukimi"],char:"\u{1f391}",fitzpatrick_scale:!1,category:"travel_and_places"},mountain:{keywords:["photo","nature","environment"],char:"\u26f0",fitzpatrick_scale:!1,category:"travel_and_places"},mountain_snow:{keywords:["photo","nature","environment","winter","cold"],char:"\u{1f3d4}",fitzpatrick_scale:!1,category:"travel_and_places"},mount_fuji:{keywords:["photo","mountain","nature","japanese"],char:"\u{1f5fb}",fitzpatrick_scale:!1,category:"travel_and_places"},volcano:{keywords:["photo","nature","disaster"],char:"\u{1f30b}",fitzpatrick_scale:!1,category:"travel_and_places"},japan:{keywords:["nation","country","japanese","asia"],char:"\u{1f5fe}",fitzpatrick_scale:!1,category:"travel_and_places"},camping:{keywords:["photo","outdoors","tent"],char:"\u{1f3d5}",fitzpatrick_scale:!1,category:"travel_and_places"},tent:{keywords:["photo","camping","outdoors"],char:"\u26fa",fitzpatrick_scale:!1,category:"travel_and_places"},national_park:{keywords:["photo","environment","nature"],char:"\u{1f3de}",fitzpatrick_scale:!1,category:"travel_and_places"},motorway:{keywords:["road","cupertino","interstate","highway"],char:"\u{1f6e3}",fitzpatrick_scale:!1,category:"travel_and_places"},railway_track:{keywords:["train","transportation"],char:"\u{1f6e4}",fitzpatrick_scale:!1,category:"travel_and_places"},sunrise:{keywords:["morning","view","vacation","photo"],char:"\u{1f305}",fitzpatrick_scale:!1,category:"travel_and_places"},sunrise_over_mountains:{keywords:["view","vacation","photo"],char:"\u{1f304}",fitzpatrick_scale:!1,category:"travel_and_places"},desert:{keywords:["photo","warm","saharah"],char:"\u{1f3dc}",fitzpatrick_scale:!1,category:"travel_and_places"},beach_umbrella:{keywords:["weather","summer","sunny","sand","mojito"],char:"\u{1f3d6}",fitzpatrick_scale:!1,category:"travel_and_places"},desert_island:{keywords:["photo","tropical","mojito"],char:"\u{1f3dd}",fitzpatrick_scale:!1,category:"travel_and_places"},city_sunrise:{keywords:["photo","good morning","dawn"],char:"\u{1f307}",fitzpatrick_scale:!1,category:"travel_and_places"},city_sunset:{keywords:["photo","evening","sky","buildings"],char:"\u{1f306}",fitzpatrick_scale:!1,category:"travel_and_places"},cityscape:{keywords:["photo","night life","urban"],char:"\u{1f3d9}",fitzpatrick_scale:!1,category:"travel_and_places"},night_with_stars:{keywords:["evening","city","downtown"],char:"\u{1f303}",fitzpatrick_scale:!1,category:"travel_and_places"},bridge_at_night:{keywords:["photo","sanfrancisco"],char:"\u{1f309}",fitzpatrick_scale:!1,category:"travel_and_places"},milky_way:{keywords:["photo","space","stars"],char:"\u{1f30c}",fitzpatrick_scale:!1,category:"travel_and_places"},stars:{keywords:["night","photo"],char:"\u{1f320}",fitzpatrick_scale:!1,category:"travel_and_places"},sparkler:{keywords:["stars","night","shine"],char:"\u{1f387}",fitzpatrick_scale:!1,category:"travel_and_places"},fireworks:{keywords:["photo","festival","carnival","congratulations"],char:"\u{1f386}",fitzpatrick_scale:!1,category:"travel_and_places"},rainbow:{keywords:["nature","happy","unicorn_face","photo","sky","spring"],char:"\u{1f308}",fitzpatrick_scale:!1,category:"travel_and_places"},houses:{keywords:["buildings","photo"],char:"\u{1f3d8}",fitzpatrick_scale:!1,category:"travel_and_places"},european_castle:{keywords:["building","royalty","history"],char:"\u{1f3f0}",fitzpatrick_scale:!1,category:"travel_and_places"},japanese_castle:{keywords:["photo","building"],char:"\u{1f3ef}",fitzpatrick_scale:!1,category:"travel_and_places"},stadium:{keywords:["photo","place","sports","concert","venue"],char:"\u{1f3df}",fitzpatrick_scale:!1,category:"travel_and_places"},statue_of_liberty:{keywords:["american","newyork"],char:"\u{1f5fd}",fitzpatrick_scale:!1,category:"travel_and_places"},house:{keywords:["building","home"],char:"\u{1f3e0}",fitzpatrick_scale:!1,category:"travel_and_places"},house_with_garden:{keywords:["home","plant","nature"],char:"\u{1f3e1}",fitzpatrick_scale:!1,category:"travel_and_places"},derelict_house:{keywords:["abandon","evict","broken","building"],char:"\u{1f3da}",fitzpatrick_scale:!1,category:"travel_and_places"},office:{keywords:["building","bureau","work"],char:"\u{1f3e2}",fitzpatrick_scale:!1,category:"travel_and_places"},department_store:{keywords:["building","shopping","mall"],char:"\u{1f3ec}",fitzpatrick_scale:!1,category:"travel_and_places"},post_office:{keywords:["building","envelope","communication"],char:"\u{1f3e3}",fitzpatrick_scale:!1,category:"travel_and_places"},european_post_office:{keywords:["building","email"],char:"\u{1f3e4}",fitzpatrick_scale:!1,category:"travel_and_places"},hospital:{keywords:["building","health","surgery","doctor"],char:"\u{1f3e5}",fitzpatrick_scale:!1,category:"travel_and_places"},bank:{keywords:["building","money","sales","cash","business","enterprise"],char:"\u{1f3e6}",fitzpatrick_scale:!1,category:"travel_and_places"},hotel:{keywords:["building","accomodation","checkin"],char:"\u{1f3e8}",fitzpatrick_scale:!1,category:"travel_and_places"},convenience_store:{keywords:["building","shopping","groceries"],char:"\u{1f3ea}",fitzpatrick_scale:!1,category:"travel_and_places"},school:{keywords:["building","student","education","learn","teach"],char:"\u{1f3eb}",fitzpatrick_scale:!1,category:"travel_and_places"},love_hotel:{keywords:["like","affection","dating"],char:"\u{1f3e9}",fitzpatrick_scale:!1,category:"travel_and_places"},wedding:{keywords:["love","like","affection","couple","marriage","bride","groom"],char:"\u{1f492}",fitzpatrick_scale:!1,category:"travel_and_places"},classical_building:{keywords:["art","culture","history"],char:"\u{1f3db}",fitzpatrick_scale:!1,category:"travel_and_places"},church:{keywords:["building","religion","christ"],char:"\u26ea",fitzpatrick_scale:!1,category:"travel_and_places"},mosque:{keywords:["islam","worship","minaret"],char:"\u{1f54c}",fitzpatrick_scale:!1,category:"travel_and_places"},synagogue:{keywords:["judaism","worship","temple","jewish"],char:"\u{1f54d}",fitzpatrick_scale:!1,category:"travel_and_places"},kaaba:{keywords:["mecca","mosque","islam"],char:"\u{1f54b}",fitzpatrick_scale:!1,category:"travel_and_places"},shinto_shrine:{keywords:["temple","japan","kyoto"],char:"\u26e9",fitzpatrick_scale:!1,category:"travel_and_places"},watch:{keywords:["time","accessories"],char:"\u231a",fitzpatrick_scale:!1,category:"objects"},iphone:{keywords:["technology","apple","gadgets","dial"],char:"\u{1f4f1}",fitzpatrick_scale:!1,category:"objects"},calling:{keywords:["iphone","incoming"],char:"\u{1f4f2}",fitzpatrick_scale:!1,category:"objects"},computer:{keywords:["technology","laptop","screen","display","monitor"],char:"\u{1f4bb}",fitzpatrick_scale:!1,category:"objects"},keyboard:{keywords:["technology","computer","type","input","text"],char:"\u2328",fitzpatrick_scale:!1,category:"objects"},desktop_computer:{keywords:["technology","computing","screen"],char:"\u{1f5a5}",fitzpatrick_scale:!1,category:"objects"},printer:{keywords:["paper","ink"],char:"\u{1f5a8}",fitzpatrick_scale:!1,category:"objects"},computer_mouse:{keywords:["click"],char:"\u{1f5b1}",fitzpatrick_scale:!1,category:"objects"},trackball:{keywords:["technology","trackpad"],char:"\u{1f5b2}",fitzpatrick_scale:!1,category:"objects"},joystick:{keywords:["game","play"],char:"\u{1f579}",fitzpatrick_scale:!1,category:"objects"},clamp:{keywords:["tool"],char:"\u{1f5dc}",fitzpatrick_scale:!1,category:"objects"},minidisc:{keywords:["technology","record","data","disk","90s"],char:"\u{1f4bd}",fitzpatrick_scale:!1,category:"objects"},floppy_disk:{keywords:["oldschool","technology","save","90s","80s"],char:"\u{1f4be}",fitzpatrick_scale:!1,category:"objects"},cd:{keywords:["technology","dvd","disk","disc","90s"],char:"\u{1f4bf}",fitzpatrick_scale:!1,category:"objects"},dvd:{keywords:["cd","disk","disc"],char:"\u{1f4c0}",fitzpatrick_scale:!1,category:"objects"},vhs:{keywords:["record","video","oldschool","90s","80s"],char:"\u{1f4fc}",fitzpatrick_scale:!1,category:"objects"},camera:{keywords:["gadgets","photography"],char:"\u{1f4f7}",fitzpatrick_scale:!1,category:"objects"},camera_flash:{keywords:["photography","gadgets"],char:"\u{1f4f8}",fitzpatrick_scale:!1,category:"objects"},video_camera:{keywords:["film","record"],char:"\u{1f4f9}",fitzpatrick_scale:!1,category:"objects"},movie_camera:{keywords:["film","record"],char:"\u{1f3a5}",fitzpatrick_scale:!1,category:"objects"},film_projector:{keywords:["video","tape","record","movie"],char:"\u{1f4fd}",fitzpatrick_scale:!1,category:"objects"},film_strip:{keywords:["movie"],char:"\u{1f39e}",fitzpatrick_scale:!1,category:"objects"},telephone_receiver:{keywords:["technology","communication","dial"],char:"\u{1f4de}",fitzpatrick_scale:!1,category:"objects"},phone:{keywords:["technology","communication","dial","telephone"],char:"\u260e\ufe0f",fitzpatrick_scale:!1,category:"objects"},pager:{keywords:["bbcall","oldschool","90s"],char:"\u{1f4df}",fitzpatrick_scale:!1,category:"objects"},fax:{keywords:["communication","technology"],char:"\u{1f4e0}",fitzpatrick_scale:!1,category:"objects"},tv:{keywords:["technology","program","oldschool","show","television"],char:"\u{1f4fa}",fitzpatrick_scale:!1,category:"objects"},radio:{keywords:["communication","music","podcast","program"],char:"\u{1f4fb}",fitzpatrick_scale:!1,category:"objects"},studio_microphone:{keywords:["sing","recording","artist","talkshow"],char:"\u{1f399}",fitzpatrick_scale:!1,category:"objects"},level_slider:{keywords:["scale"],char:"\u{1f39a}",fitzpatrick_scale:!1,category:"objects"},control_knobs:{keywords:["dial"],char:"\u{1f39b}",fitzpatrick_scale:!1,category:"objects"},compass:{keywords:["magnetic","navigation","orienteering"],char:"\u{1f9ed}",fitzpatrick_scale:!1,category:"objects"},stopwatch:{keywords:["time","deadline"],char:"\u23f1",fitzpatrick_scale:!1,category:"objects"},timer_clock:{keywords:["alarm"],char:"\u23f2",fitzpatrick_scale:!1,category:"objects"},alarm_clock:{keywords:["time","wake"],char:"\u23f0",fitzpatrick_scale:!1,category:"objects"},mantelpiece_clock:{keywords:["time"],char:"\u{1f570}",fitzpatrick_scale:!1,category:"objects"},hourglass_flowing_sand:{keywords:["oldschool","time","countdown"],char:"\u23f3",fitzpatrick_scale:!1,category:"objects"},hourglass:{keywords:["time","clock","oldschool","limit","exam","quiz","test"],char:"\u231b",fitzpatrick_scale:!1,category:"objects"},satellite:{keywords:["communication","future","radio","space"],char:"\u{1f4e1}",fitzpatrick_scale:!1,category:"objects"},battery:{keywords:["power","energy","sustain"],char:"\u{1f50b}",fitzpatrick_scale:!1,category:"objects"},electric_plug:{keywords:["charger","power"],char:"\u{1f50c}",fitzpatrick_scale:!1,category:"objects"},bulb:{keywords:["light","electricity","idea"],char:"\u{1f4a1}",fitzpatrick_scale:!1,category:"objects"},flashlight:{keywords:["dark","camping","sight","night"],char:"\u{1f526}",fitzpatrick_scale:!1,category:"objects"},candle:{keywords:["fire","wax"],char:"\u{1f56f}",fitzpatrick_scale:!1,category:"objects"},fire_extinguisher:{keywords:["quench"],char:"\u{1f9ef}",fitzpatrick_scale:!1,category:"objects"},wastebasket:{keywords:["bin","trash","rubbish","garbage","toss"],char:"\u{1f5d1}",fitzpatrick_scale:!1,category:"objects"},oil_drum:{keywords:["barrell"],char:"\u{1f6e2}",fitzpatrick_scale:!1,category:"objects"},money_with_wings:{keywords:["dollar","bills","payment","sale"],char:"\u{1f4b8}",fitzpatrick_scale:!1,category:"objects"},dollar:{keywords:["money","sales","bill","currency"],char:"\u{1f4b5}",fitzpatrick_scale:!1,category:"objects"},yen:{keywords:["money","sales","japanese","dollar","currency"],char:"\u{1f4b4}",fitzpatrick_scale:!1,category:"objects"},euro:{keywords:["money","sales","dollar","currency"],char:"\u{1f4b6}",fitzpatrick_scale:!1,category:"objects"},pound:{keywords:["british","sterling","money","sales","bills","uk","england","currency"],char:"\u{1f4b7}",fitzpatrick_scale:!1,category:"objects"},moneybag:{keywords:["dollar","payment","coins","sale"],char:"\u{1f4b0}",fitzpatrick_scale:!1,category:"objects"},credit_card:{keywords:["money","sales","dollar","bill","payment","shopping"],char:"\u{1f4b3}",fitzpatrick_scale:!1,category:"objects"},gem:{keywords:["blue","ruby","diamond","jewelry"],char:"\u{1f48e}",fitzpatrick_scale:!1,category:"objects"},balance_scale:{keywords:["law","fairness","weight"],char:"\u2696",fitzpatrick_scale:!1,category:"objects"},toolbox:{keywords:["tools","diy","fix","maintainer","mechanic"],char:"\u{1f9f0}",fitzpatrick_scale:!1,category:"objects"},wrench:{keywords:["tools","diy","ikea","fix","maintainer"],char:"\u{1f527}",fitzpatrick_scale:!1,category:"objects"},hammer:{keywords:["tools","build","create"],char:"\u{1f528}",fitzpatrick_scale:!1,category:"objects"},hammer_and_pick:{keywords:["tools","build","create"],char:"\u2692",fitzpatrick_scale:!1,category:"objects"},hammer_and_wrench:{keywords:["tools","build","create"],char:"\u{1f6e0}",fitzpatrick_scale:!1,category:"objects"},pick:{keywords:["tools","dig"],char:"\u26cf",fitzpatrick_scale:!1,category:"objects"},nut_and_bolt:{keywords:["handy","tools","fix"],char:"\u{1f529}",fitzpatrick_scale:!1,category:"objects"},gear:{keywords:["cog"],char:"\u2699",fitzpatrick_scale:!1,category:"objects"},brick:{keywords:["bricks"],char:"\u{1f9f1}",fitzpatrick_scale:!1,category:"objects"},chains:{keywords:["lock","arrest"],char:"\u26d3",fitzpatrick_scale:!1,category:"objects"},magnet:{keywords:["attraction","magnetic"],char:"\u{1f9f2}",fitzpatrick_scale:!1,category:"objects"},gun:{keywords:["violence","weapon","pistol","revolver"],char:"\u{1f52b}",fitzpatrick_scale:!1,category:"objects"},bomb:{keywords:["boom","explode","explosion","terrorism"],char:"\u{1f4a3}",fitzpatrick_scale:!1,category:"objects"},firecracker:{keywords:["dynamite","boom","explode","explosion","explosive"],char:"\u{1f9e8}",fitzpatrick_scale:!1,category:"objects"},hocho:{keywords:["knife","blade","cutlery","kitchen","weapon"],char:"\u{1f52a}",fitzpatrick_scale:!1,category:"objects"},dagger:{keywords:["weapon"],char:"\u{1f5e1}",fitzpatrick_scale:!1,category:"objects"},crossed_swords:{keywords:["weapon"],char:"\u2694",fitzpatrick_scale:!1,category:"objects"},shield:{keywords:["protection","security"],char:"\u{1f6e1}",fitzpatrick_scale:!1,category:"objects"},smoking:{keywords:["kills","tobacco","cigarette","joint","smoke"],char:"\u{1f6ac}",fitzpatrick_scale:!1,category:"objects"},skull_and_crossbones:{keywords:["poison","danger","deadly","scary","death","pirate","evil"],char:"\u2620",fitzpatrick_scale:!1,category:"objects"},coffin:{keywords:["vampire","dead","die","death","rip","graveyard","cemetery","casket","funeral","box"],char:"\u26b0",fitzpatrick_scale:!1,category:"objects"},funeral_urn:{keywords:["dead","die","death","rip","ashes"],char:"\u26b1",fitzpatrick_scale:!1,category:"objects"},amphora:{keywords:["vase","jar"],char:"\u{1f3fa}",fitzpatrick_scale:!1,category:"objects"},crystal_ball:{keywords:["disco","party","magic","circus","fortune_teller"],char:"\u{1f52e}",fitzpatrick_scale:!1,category:"objects"},prayer_beads:{keywords:["dhikr","religious"],char:"\u{1f4ff}",fitzpatrick_scale:!1,category:"objects"},nazar_amulet:{keywords:["bead","charm"],char:"\u{1f9ff}",fitzpatrick_scale:!1,category:"objects"},barber:{keywords:["hair","salon","style"],char:"\u{1f488}",fitzpatrick_scale:!1,category:"objects"},alembic:{keywords:["distilling","science","experiment","chemistry"],char:"\u2697",fitzpatrick_scale:!1,category:"objects"},telescope:{keywords:["stars","space","zoom","science","astronomy"],char:"\u{1f52d}",fitzpatrick_scale:!1,category:"objects"},microscope:{keywords:["laboratory","experiment","zoomin","science","study"],char:"\u{1f52c}",fitzpatrick_scale:!1,category:"objects"},hole:{keywords:["embarrassing"],char:"\u{1f573}",fitzpatrick_scale:!1,category:"objects"},pill:{keywords:["health","medicine","doctor","pharmacy","drug"],char:"\u{1f48a}",fitzpatrick_scale:!1,category:"objects"},syringe:{keywords:["health","hospital","drugs","blood","medicine","needle","doctor","nurse"],char:"\u{1f489}",fitzpatrick_scale:!1,category:"objects"},dna:{keywords:["biologist","genetics","life"],char:"\u{1f9ec}",fitzpatrick_scale:!1,category:"objects"},microbe:{keywords:["amoeba","bacteria","germs"],char:"\u{1f9a0}",fitzpatrick_scale:!1,category:"objects"},petri_dish:{keywords:["bacteria","biology","culture","lab"],char:"\u{1f9eb}",fitzpatrick_scale:!1,category:"objects"},test_tube:{keywords:["chemistry","experiment","lab","science"],char:"\u{1f9ea}",fitzpatrick_scale:!1,category:"objects"},thermometer:{keywords:["weather","temperature","hot","cold"],char:"\u{1f321}",fitzpatrick_scale:!1,category:"objects"},broom:{keywords:["cleaning","sweeping","witch"],char:"\u{1f9f9}",fitzpatrick_scale:!1,category:"objects"},basket:{keywords:["laundry"],char:"\u{1f9fa}",fitzpatrick_scale:!1,category:"objects"},toilet_paper:{keywords:["roll"],char:"\u{1f9fb}",fitzpatrick_scale:!1,category:"objects"},label:{keywords:["sale","tag"],char:"\u{1f3f7}",fitzpatrick_scale:!1,category:"objects"},bookmark:{keywords:["favorite","label","save"],char:"\u{1f516}",fitzpatrick_scale:!1,category:"objects"},toilet:{keywords:["restroom","wc","washroom","bathroom","potty"],char:"\u{1f6bd}",fitzpatrick_scale:!1,category:"objects"},shower:{keywords:["clean","water","bathroom"],char:"\u{1f6bf}",fitzpatrick_scale:!1,category:"objects"},bathtub:{keywords:["clean","shower","bathroom"],char:"\u{1f6c1}",fitzpatrick_scale:!1,category:"objects"},soap:{keywords:["bar","bathing","cleaning","lather"],char:"\u{1f9fc}",fitzpatrick_scale:!1,category:"objects"},sponge:{keywords:["absorbing","cleaning","porous"],char:"\u{1f9fd}",fitzpatrick_scale:!1,category:"objects"},lotion_bottle:{keywords:["moisturizer","sunscreen"],char:"\u{1f9f4}",fitzpatrick_scale:!1,category:"objects"},key:{keywords:["lock","door","password"],char:"\u{1f511}",fitzpatrick_scale:!1,category:"objects"},old_key:{keywords:["lock","door","password"],char:"\u{1f5dd}",fitzpatrick_scale:!1,category:"objects"},couch_and_lamp:{keywords:["read","chill"],char:"\u{1f6cb}",fitzpatrick_scale:!1,category:"objects"},sleeping_bed:{keywords:["bed","rest"],char:"\u{1f6cc}",fitzpatrick_scale:!0,category:"objects"},bed:{keywords:["sleep","rest"],char:"\u{1f6cf}",fitzpatrick_scale:!1,category:"objects"},door:{keywords:["house","entry","exit"],char:"\u{1f6aa}",fitzpatrick_scale:!1,category:"objects"},bellhop_bell:{keywords:["service"],char:"\u{1f6ce}",fitzpatrick_scale:!1,category:"objects"},teddy_bear:{keywords:["plush","stuffed"],char:"\u{1f9f8}",fitzpatrick_scale:!1,category:"objects"},framed_picture:{keywords:["photography"],char:"\u{1f5bc}",fitzpatrick_scale:!1,category:"objects"},world_map:{keywords:["location","direction"],char:"\u{1f5fa}",fitzpatrick_scale:!1,category:"objects"},parasol_on_ground:{keywords:["weather","summer"],char:"\u26f1",fitzpatrick_scale:!1,category:"objects"},moyai:{keywords:["rock","easter island","moai"],char:"\u{1f5ff}",fitzpatrick_scale:!1,category:"objects"},shopping:{keywords:["mall","buy","purchase"],char:"\u{1f6cd}",fitzpatrick_scale:!1,category:"objects"},shopping_cart:{keywords:["trolley"],char:"\u{1f6d2}",fitzpatrick_scale:!1,category:"objects"},balloon:{keywords:["party","celebration","birthday","circus"],char:"\u{1f388}",fitzpatrick_scale:!1,category:"objects"},flags:{keywords:["fish","japanese","koinobori","carp","banner"],char:"\u{1f38f}",fitzpatrick_scale:!1,category:"objects"},ribbon:{keywords:["decoration","pink","girl","bowtie"],char:"\u{1f380}",fitzpatrick_scale:!1,category:"objects"},gift:{keywords:["present","birthday","christmas","xmas"],char:"\u{1f381}",fitzpatrick_scale:!1,category:"objects"},confetti_ball:{keywords:["festival","party","birthday","circus"],char:"\u{1f38a}",fitzpatrick_scale:!1,category:"objects"},tada:{keywords:["party","congratulations","birthday","magic","circus","celebration"],char:"\u{1f389}",fitzpatrick_scale:!1,category:"objects"},dolls:{keywords:["japanese","toy","kimono"],char:"\u{1f38e}",fitzpatrick_scale:!1,category:"objects"},wind_chime:{keywords:["nature","ding","spring","bell"],char:"\u{1f390}",fitzpatrick_scale:!1,category:"objects"},crossed_flags:{keywords:["japanese","nation","country","border"],char:"\u{1f38c}",fitzpatrick_scale:!1,category:"objects"},izakaya_lantern:{keywords:["light","paper","halloween","spooky"],char:"\u{1f3ee}",fitzpatrick_scale:!1,category:"objects"},red_envelope:{keywords:["gift"],char:"\u{1f9e7}",fitzpatrick_scale:!1,category:"objects"},email:{keywords:["letter","postal","inbox","communication"],char:"\u2709\ufe0f",fitzpatrick_scale:!1,category:"objects"},envelope_with_arrow:{keywords:["email","communication"],char:"\u{1f4e9}",fitzpatrick_scale:!1,category:"objects"},incoming_envelope:{keywords:["email","inbox"],char:"\u{1f4e8}",fitzpatrick_scale:!1,category:"objects"},"e-mail":{keywords:["communication","inbox"],char:"\u{1f4e7}",fitzpatrick_scale:!1,category:"objects"},love_letter:{keywords:["email","like","affection","envelope","valentines"],char:"\u{1f48c}",fitzpatrick_scale:!1,category:"objects"},postbox:{keywords:["email","letter","envelope"],char:"\u{1f4ee}",fitzpatrick_scale:!1,category:"objects"},mailbox_closed:{keywords:["email","communication","inbox"],char:"\u{1f4ea}",fitzpatrick_scale:!1,category:"objects"},mailbox:{keywords:["email","inbox","communication"],char:"\u{1f4eb}",fitzpatrick_scale:!1,category:"objects"},mailbox_with_mail:{keywords:["email","inbox","communication"],char:"\u{1f4ec}",fitzpatrick_scale:!1,category:"objects"},mailbox_with_no_mail:{keywords:["email","inbox"],char:"\u{1f4ed}",fitzpatrick_scale:!1,category:"objects"},package:{keywords:["mail","gift","cardboard","box","moving"],char:"\u{1f4e6}",fitzpatrick_scale:!1,category:"objects"},postal_horn:{keywords:["instrument","music"],char:"\u{1f4ef}",fitzpatrick_scale:!1,category:"objects"},inbox_tray:{keywords:["email","documents"],char:"\u{1f4e5}",fitzpatrick_scale:!1,category:"objects"},outbox_tray:{keywords:["inbox","email"],char:"\u{1f4e4}",fitzpatrick_scale:!1,category:"objects"},scroll:{keywords:["documents","ancient","history","paper"],char:"\u{1f4dc}",fitzpatrick_scale:!1,category:"objects"},page_with_curl:{keywords:["documents","office","paper"],char:"\u{1f4c3}",fitzpatrick_scale:!1,category:"objects"},bookmark_tabs:{keywords:["favorite","save","order","tidy"],char:"\u{1f4d1}",fitzpatrick_scale:!1,category:"objects"},receipt:{keywords:["accounting","expenses"],char:"\u{1f9fe}",fitzpatrick_scale:!1,category:"objects"},bar_chart:{keywords:["graph","presentation","stats"],char:"\u{1f4ca}",fitzpatrick_scale:!1,category:"objects"},chart_with_upwards_trend:{keywords:["graph","presentation","stats","recovery","business","economics","money","sales","good","success"],char:"\u{1f4c8}",fitzpatrick_scale:!1,category:"objects"},chart_with_downwards_trend:{keywords:["graph","presentation","stats","recession","business","economics","money","sales","bad","failure"],char:"\u{1f4c9}",fitzpatrick_scale:!1,category:"objects"},page_facing_up:{keywords:["documents","office","paper","information"],char:"\u{1f4c4}",fitzpatrick_scale:!1,category:"objects"},date:{keywords:["calendar","schedule"],char:"\u{1f4c5}",fitzpatrick_scale:!1,category:"objects"},calendar:{keywords:["schedule","date","planning"],char:"\u{1f4c6}",fitzpatrick_scale:!1,category:"objects"},spiral_calendar:{keywords:["date","schedule","planning"],char:"\u{1f5d3}",fitzpatrick_scale:!1,category:"objects"},card_index:{keywords:["business","stationery"],char:"\u{1f4c7}",fitzpatrick_scale:!1,category:"objects"},card_file_box:{keywords:["business","stationery"],char:"\u{1f5c3}",fitzpatrick_scale:!1,category:"objects"},ballot_box:{keywords:["election","vote"],char:"\u{1f5f3}",fitzpatrick_scale:!1,category:"objects"},file_cabinet:{keywords:["filing","organizing"],char:"\u{1f5c4}",fitzpatrick_scale:!1,category:"objects"},clipboard:{keywords:["stationery","documents"],char:"\u{1f4cb}",fitzpatrick_scale:!1,category:"objects"},spiral_notepad:{keywords:["memo","stationery"],char:"\u{1f5d2}",fitzpatrick_scale:!1,category:"objects"},file_folder:{keywords:["documents","business","office"],char:"\u{1f4c1}",fitzpatrick_scale:!1,category:"objects"},open_file_folder:{keywords:["documents","load"],char:"\u{1f4c2}",fitzpatrick_scale:!1,category:"objects"},card_index_dividers:{keywords:["organizing","business","stationery"],char:"\u{1f5c2}",fitzpatrick_scale:!1,category:"objects"},newspaper_roll:{keywords:["press","headline"],char:"\u{1f5de}",fitzpatrick_scale:!1,category:"objects"},newspaper:{keywords:["press","headline"],char:"\u{1f4f0}",fitzpatrick_scale:!1,category:"objects"},notebook:{keywords:["stationery","record","notes","paper","study"],char:"\u{1f4d3}",fitzpatrick_scale:!1,category:"objects"},closed_book:{keywords:["read","library","knowledge","textbook","learn"],char:"\u{1f4d5}",fitzpatrick_scale:!1,category:"objects"},green_book:{keywords:["read","library","knowledge","study"],char:"\u{1f4d7}",fitzpatrick_scale:!1,category:"objects"},blue_book:{keywords:["read","library","knowledge","learn","study"],char:"\u{1f4d8}",fitzpatrick_scale:!1,category:"objects"},orange_book:{keywords:["read","library","knowledge","textbook","study"],char:"\u{1f4d9}",fitzpatrick_scale:!1,category:"objects"},notebook_with_decorative_cover:{keywords:["classroom","notes","record","paper","study"],char:"\u{1f4d4}",fitzpatrick_scale:!1,category:"objects"},ledger:{keywords:["notes","paper"],char:"\u{1f4d2}",fitzpatrick_scale:!1,category:"objects"},books:{keywords:["literature","library","study"],char:"\u{1f4da}",fitzpatrick_scale:!1,category:"objects"},open_book:{keywords:["book","read","library","knowledge","literature","learn","study"],char:"\u{1f4d6}",fitzpatrick_scale:!1,category:"objects"},safety_pin:{keywords:["diaper"],char:"\u{1f9f7}",fitzpatrick_scale:!1,category:"objects"},link:{keywords:["rings","url"],char:"\u{1f517}",fitzpatrick_scale:!1,category:"objects"},paperclip:{keywords:["documents","stationery"],char:"\u{1f4ce}",fitzpatrick_scale:!1,category:"objects"},paperclips:{keywords:["documents","stationery"],char:"\u{1f587}",fitzpatrick_scale:!1,category:"objects"},scissors:{keywords:["stationery","cut"],char:"\u2702\ufe0f",fitzpatrick_scale:!1,category:"objects"},triangular_ruler:{keywords:["stationery","math","architect","sketch"],char:"\u{1f4d0}",fitzpatrick_scale:!1,category:"objects"},straight_ruler:{keywords:["stationery","calculate","length","math","school","drawing","architect","sketch"],char:"\u{1f4cf}",fitzpatrick_scale:!1,category:"objects"},abacus:{keywords:["calculation"],char:"\u{1f9ee}",fitzpatrick_scale:!1,category:"objects"},pushpin:{keywords:["stationery","mark","here"],char:"\u{1f4cc}",fitzpatrick_scale:!1,category:"objects"},round_pushpin:{keywords:["stationery","location","map","here"],char:"\u{1f4cd}",fitzpatrick_scale:!1,category:"objects"},triangular_flag_on_post:{keywords:["mark","milestone","place"],char:"\u{1f6a9}",fitzpatrick_scale:!1,category:"objects"},white_flag:{keywords:["losing","loser","lost","surrender","give up","fail"],char:"\u{1f3f3}",fitzpatrick_scale:!1,category:"objects"},black_flag:{keywords:["pirate"],char:"\u{1f3f4}",fitzpatrick_scale:!1,category:"objects"},rainbow_flag:{keywords:["flag","rainbow","pride","gay","lgbt","glbt","queer","homosexual","lesbian","bisexual","transgender"],char:"\u{1f3f3}\ufe0f\u200d\u{1f308}",fitzpatrick_scale:!1,category:"objects"},closed_lock_with_key:{keywords:["security","privacy"],char:"\u{1f510}",fitzpatrick_scale:!1,category:"objects"},lock:{keywords:["security","password","padlock"],char:"\u{1f512}",fitzpatrick_scale:!1,category:"objects"},unlock:{keywords:["privacy","security"],char:"\u{1f513}",fitzpatrick_scale:!1,category:"objects"},lock_with_ink_pen:{keywords:["security","secret"],char:"\u{1f50f}",fitzpatrick_scale:!1,category:"objects"},pen:{keywords:["stationery","writing","write"],char:"\u{1f58a}",fitzpatrick_scale:!1,category:"objects"},fountain_pen:{keywords:["stationery","writing","write"],char:"\u{1f58b}",fitzpatrick_scale:!1,category:"objects"},black_nib:{keywords:["pen","stationery","writing","write"],char:"\u2712\ufe0f",fitzpatrick_scale:!1,category:"objects"},memo:{keywords:["write","documents","stationery","pencil","paper","writing","legal","exam","quiz","test","study","compose"],char:"\u{1f4dd}",fitzpatrick_scale:!1,category:"objects"},pencil2:{keywords:["stationery","write","paper","writing","school","study"],char:"\u270f\ufe0f",fitzpatrick_scale:!1,category:"objects"},crayon:{keywords:["drawing","creativity"],char:"\u{1f58d}",fitzpatrick_scale:!1,category:"objects"},paintbrush:{keywords:["drawing","creativity","art"],char:"\u{1f58c}",fitzpatrick_scale:!1,category:"objects"},mag:{keywords:["search","zoom","find","detective"],char:"\u{1f50d}",fitzpatrick_scale:!1,category:"objects"},mag_right:{keywords:["search","zoom","find","detective"],char:"\u{1f50e}",fitzpatrick_scale:!1,category:"objects"},heart:{keywords:["love","like","valentines"],char:"\u2764\ufe0f",fitzpatrick_scale:!1,category:"symbols"},orange_heart:{keywords:["love","like","affection","valentines"],char:"\u{1f9e1}",fitzpatrick_scale:!1,category:"symbols"},yellow_heart:{keywords:["love","like","affection","valentines"],char:"\u{1f49b}",fitzpatrick_scale:!1,category:"symbols"},green_heart:{keywords:["love","like","affection","valentines"],char:"\u{1f49a}",fitzpatrick_scale:!1,category:"symbols"},blue_heart:{keywords:["love","like","affection","valentines"],char:"\u{1f499}",fitzpatrick_scale:!1,category:"symbols"},purple_heart:{keywords:["love","like","affection","valentines"],char:"\u{1f49c}",fitzpatrick_scale:!1,category:"symbols"},black_heart:{keywords:["evil"],char:"\u{1f5a4}",fitzpatrick_scale:!1,category:"symbols"},broken_heart:{keywords:["sad","sorry","break","heart","heartbreak"],char:"\u{1f494}",fitzpatrick_scale:!1,category:"symbols"},heavy_heart_exclamation:{keywords:["decoration","love"],char:"\u2763",fitzpatrick_scale:!1,category:"symbols"},two_hearts:{keywords:["love","like","affection","valentines","heart"],char:"\u{1f495}",fitzpatrick_scale:!1,category:"symbols"},revolving_hearts:{keywords:["love","like","affection","valentines"],char:"\u{1f49e}",fitzpatrick_scale:!1,category:"symbols"},heartbeat:{keywords:["love","like","affection","valentines","pink","heart"],char:"\u{1f493}",fitzpatrick_scale:!1,category:"symbols"},heartpulse:{keywords:["like","love","affection","valentines","pink"],char:"\u{1f497}",fitzpatrick_scale:!1,category:"symbols"},sparkling_heart:{keywords:["love","like","affection","valentines"],char:"\u{1f496}",fitzpatrick_scale:!1,category:"symbols"},cupid:{keywords:["love","like","heart","affection","valentines"],char:"\u{1f498}",fitzpatrick_scale:!1,category:"symbols"},gift_heart:{keywords:["love","valentines"],char:"\u{1f49d}",fitzpatrick_scale:!1,category:"symbols"},heart_decoration:{keywords:["purple-square","love","like"],char:"\u{1f49f}",fitzpatrick_scale:!1,category:"symbols"},peace_symbol:{keywords:["hippie"],char:"\u262e",fitzpatrick_scale:!1,category:"symbols"},latin_cross:{keywords:["christianity"],char:"\u271d",fitzpatrick_scale:!1,category:"symbols"},star_and_crescent:{keywords:["islam"],char:"\u262a",fitzpatrick_scale:!1,category:"symbols"},om:{keywords:["hinduism","buddhism","sikhism","jainism"],char:"\u{1f549}",fitzpatrick_scale:!1,category:"symbols"},wheel_of_dharma:{keywords:["hinduism","buddhism","sikhism","jainism"],char:"\u2638",fitzpatrick_scale:!1,category:"symbols"},star_of_david:{keywords:["judaism"],char:"\u2721",fitzpatrick_scale:!1,category:"symbols"},six_pointed_star:{keywords:["purple-square","religion","jewish","hexagram"],char:"\u{1f52f}",fitzpatrick_scale:!1,category:"symbols"},menorah:{keywords:["hanukkah","candles","jewish"],char:"\u{1f54e}",fitzpatrick_scale:!1,category:"symbols"},yin_yang:{keywords:["balance"],char:"\u262f",fitzpatrick_scale:!1,category:"symbols"},orthodox_cross:{keywords:["suppedaneum","religion"],char:"\u2626",fitzpatrick_scale:!1,category:"symbols"},place_of_worship:{keywords:["religion","church","temple","prayer"],char:"\u{1f6d0}",fitzpatrick_scale:!1,category:"symbols"},ophiuchus:{keywords:["sign","purple-square","constellation","astrology"],char:"\u26ce",fitzpatrick_scale:!1,category:"symbols"},aries:{keywords:["sign","purple-square","zodiac","astrology"],char:"\u2648",fitzpatrick_scale:!1,category:"symbols"},taurus:{keywords:["purple-square","sign","zodiac","astrology"],char:"\u2649",fitzpatrick_scale:!1,category:"symbols"},gemini:{keywords:["sign","zodiac","purple-square","astrology"],char:"\u264a",fitzpatrick_scale:!1,category:"symbols"},cancer:{keywords:["sign","zodiac","purple-square","astrology"],char:"\u264b",fitzpatrick_scale:!1,category:"symbols"},leo:{keywords:["sign","purple-square","zodiac","astrology"],char:"\u264c",fitzpatrick_scale:!1,category:"symbols"},virgo:{keywords:["sign","zodiac","purple-square","astrology"],char:"\u264d",fitzpatrick_scale:!1,category:"symbols"},libra:{keywords:["sign","purple-square","zodiac","astrology"],char:"\u264e",fitzpatrick_scale:!1,category:"symbols"},scorpius:{keywords:["sign","zodiac","purple-square","astrology","scorpio"],char:"\u264f",fitzpatrick_scale:!1,category:"symbols"},sagittarius:{keywords:["sign","zodiac","purple-square","astrology"],char:"\u2650",fitzpatrick_scale:!1,category:"symbols"},capricorn:{keywords:["sign","zodiac","purple-square","astrology"],char:"\u2651",fitzpatrick_scale:!1,category:"symbols"},aquarius:{keywords:["sign","purple-square","zodiac","astrology"],char:"\u2652",fitzpatrick_scale:!1,category:"symbols"},pisces:{keywords:["purple-square","sign","zodiac","astrology"],char:"\u2653",fitzpatrick_scale:!1,category:"symbols"},id:{keywords:["purple-square","words"],char:"\u{1f194}",fitzpatrick_scale:!1,category:"symbols"},atom_symbol:{keywords:["science","physics","chemistry"],char:"\u269b",fitzpatrick_scale:!1,category:"symbols"},u7a7a:{keywords:["kanji","japanese","chinese","empty","sky","blue-square"],char:"\u{1f233}",fitzpatrick_scale:!1,category:"symbols"},u5272:{keywords:["cut","divide","chinese","kanji","pink-square"],char:"\u{1f239}",fitzpatrick_scale:!1,category:"symbols"},radioactive:{keywords:["nuclear","danger"],char:"\u2622",fitzpatrick_scale:!1,category:"symbols"},biohazard:{keywords:["danger"],char:"\u2623",fitzpatrick_scale:!1,category:"symbols"},mobile_phone_off:{keywords:["mute","orange-square","silence","quiet"],char:"\u{1f4f4}",fitzpatrick_scale:!1,category:"symbols"},vibration_mode:{keywords:["orange-square","phone"],char:"\u{1f4f3}",fitzpatrick_scale:!1,category:"symbols"},u6709:{keywords:["orange-square","chinese","have","kanji"],char:"\u{1f236}",fitzpatrick_scale:!1,category:"symbols"},u7121:{keywords:["nothing","chinese","kanji","japanese","orange-square"],char:"\u{1f21a}",fitzpatrick_scale:!1,category:"symbols"},u7533:{keywords:["chinese","japanese","kanji","orange-square"],char:"\u{1f238}",fitzpatrick_scale:!1,category:"symbols"},u55b6:{keywords:["japanese","opening hours","orange-square"],char:"\u{1f23a}",fitzpatrick_scale:!1,category:"symbols"},u6708:{keywords:["chinese","month","moon","japanese","orange-square","kanji"],char:"\u{1f237}\ufe0f",fitzpatrick_scale:!1,category:"symbols"},eight_pointed_black_star:{keywords:["orange-square","shape","polygon"],char:"\u2734\ufe0f",fitzpatrick_scale:!1,category:"symbols"},vs:{keywords:["words","orange-square"],char:"\u{1f19a}",fitzpatrick_scale:!1,category:"symbols"},accept:{keywords:["ok","good","chinese","kanji","agree","yes","orange-circle"],char:"\u{1f251}",fitzpatrick_scale:!1,category:"symbols"},white_flower:{keywords:["japanese","spring"],char:"\u{1f4ae}",fitzpatrick_scale:!1,category:"symbols"},ideograph_advantage:{keywords:["chinese","kanji","obtain","get","circle"],char:"\u{1f250}",fitzpatrick_scale:!1,category:"symbols"},secret:{keywords:["privacy","chinese","sshh","kanji","red-circle"],char:"\u3299\ufe0f",fitzpatrick_scale:!1,category:"symbols"},congratulations:{keywords:["chinese","kanji","japanese","red-circle"],char:"\u3297\ufe0f",fitzpatrick_scale:!1,category:"symbols"},u5408:{keywords:["japanese","chinese","join","kanji","red-square"],char:"\u{1f234}",fitzpatrick_scale:!1,category:"symbols"},u6e80:{keywords:["full","chinese","japanese","red-square","kanji"],char:"\u{1f235}",fitzpatrick_scale:!1,category:"symbols"},u7981:{keywords:["kanji","japanese","chinese","forbidden","limit","restricted","red-square"],char:"\u{1f232}",fitzpatrick_scale:!1,category:"symbols"},a:{keywords:["red-square","alphabet","letter"],char:"\u{1f170}\ufe0f",fitzpatrick_scale:!1,category:"symbols"},b:{keywords:["red-square","alphabet","letter"],char:"\u{1f171}\ufe0f",fitzpatrick_scale:!1,category:"symbols"},ab:{keywords:["red-square","alphabet"],char:"\u{1f18e}",fitzpatrick_scale:!1,category:"symbols"},cl:{keywords:["alphabet","words","red-square"],char:"\u{1f191}",fitzpatrick_scale:!1,category:"symbols"},o2:{keywords:["alphabet","red-square","letter"],char:"\u{1f17e}\ufe0f",fitzpatrick_scale:!1,category:"symbols"},sos:{keywords:["help","red-square","words","emergency","911"],char:"\u{1f198}",fitzpatrick_scale:!1,category:"symbols"},no_entry:{keywords:["limit","security","privacy","bad","denied","stop","circle"],char:"\u26d4",fitzpatrick_scale:!1,category:"symbols"},name_badge:{keywords:["fire","forbid"],char:"\u{1f4db}",fitzpatrick_scale:!1,category:"symbols"},no_entry_sign:{keywords:["forbid","stop","limit","denied","disallow","circle"],char:"\u{1f6ab}",fitzpatrick_scale:!1,category:"symbols"},x:{keywords:["no","delete","remove","cancel","red"],char:"\u274c",fitzpatrick_scale:!1,category:"symbols"},o:{keywords:["circle","round"],char:"\u2b55",fitzpatrick_scale:!1,category:"symbols"},stop_sign:{keywords:["stop"],char:"\u{1f6d1}",fitzpatrick_scale:!1,category:"symbols"},anger:{keywords:["angry","mad"],char:"\u{1f4a2}",fitzpatrick_scale:!1,category:"symbols"},hotsprings:{keywords:["bath","warm","relax"],char:"\u2668\ufe0f",fitzpatrick_scale:!1,category:"symbols"},no_pedestrians:{keywords:["rules","crossing","walking","circle"],char:"\u{1f6b7}",fitzpatrick_scale:!1,category:"symbols"},do_not_litter:{keywords:["trash","bin","garbage","circle"],char:"\u{1f6af}",fitzpatrick_scale:!1,category:"symbols"},no_bicycles:{keywords:["cyclist","prohibited","circle"],char:"\u{1f6b3}",fitzpatrick_scale:!1,category:"symbols"},"non-potable_water":{keywords:["drink","faucet","tap","circle"],char:"\u{1f6b1}",fitzpatrick_scale:!1,category:"symbols"},underage:{keywords:["18","drink","pub","night","minor","circle"],char:"\u{1f51e}",fitzpatrick_scale:!1,category:"symbols"},no_mobile_phones:{keywords:["iphone","mute","circle"],char:"\u{1f4f5}",fitzpatrick_scale:!1,category:"symbols"},exclamation:{keywords:["heavy_exclamation_mark","danger","surprise","punctuation","wow","warning"],char:"\u2757",fitzpatrick_scale:!1,category:"symbols"},grey_exclamation:{keywords:["surprise","punctuation","gray","wow","warning"],char:"\u2755",fitzpatrick_scale:!1,category:"symbols"},question:{keywords:["doubt","confused"],char:"\u2753",fitzpatrick_scale:!1,category:"symbols"},grey_question:{keywords:["doubts","gray","huh","confused"],char:"\u2754",fitzpatrick_scale:!1,category:"symbols"},bangbang:{keywords:["exclamation","surprise"],char:"\u203c\ufe0f",fitzpatrick_scale:!1,category:"symbols"},interrobang:{keywords:["wat","punctuation","surprise"],char:"\u2049\ufe0f",fitzpatrick_scale:!1,category:"symbols"},100:{keywords:["score","perfect","numbers","century","exam","quiz","test","pass","hundred"],char:"\u{1f4af}",fitzpatrick_scale:!1,category:"symbols"},low_brightness:{keywords:["sun","afternoon","warm","summer"],char:"\u{1f505}",fitzpatrick_scale:!1,category:"symbols"},high_brightness:{keywords:["sun","light"],char:"\u{1f506}",fitzpatrick_scale:!1,category:"symbols"},trident:{keywords:["weapon","spear"],char:"\u{1f531}",fitzpatrick_scale:!1,category:"symbols"},fleur_de_lis:{keywords:["decorative","scout"],char:"\u269c",fitzpatrick_scale:!1,category:"symbols"},part_alternation_mark:{keywords:["graph","presentation","stats","business","economics","bad"],char:"\u303d\ufe0f",fitzpatrick_scale:!1,category:"symbols"},warning:{keywords:["exclamation","wip","alert","error","problem","issue"],char:"\u26a0\ufe0f",fitzpatrick_scale:!1,category:"symbols"},children_crossing:{keywords:["school","warning","danger","sign","driving","yellow-diamond"],char:"\u{1f6b8}",fitzpatrick_scale:!1,category:"symbols"},beginner:{keywords:["badge","shield"],char:"\u{1f530}",fitzpatrick_scale:!1,category:"symbols"},recycle:{keywords:["arrow","environment","garbage","trash"],char:"\u267b\ufe0f",fitzpatrick_scale:!1,category:"symbols"},u6307:{keywords:["chinese","point","green-square","kanji"],char:"\u{1f22f}",fitzpatrick_scale:!1,category:"symbols"},chart:{keywords:["green-square","graph","presentation","stats"],char:"\u{1f4b9}",fitzpatrick_scale:!1,category:"symbols"},sparkle:{keywords:["stars","green-square","awesome","good","fireworks"],char:"\u2747\ufe0f",fitzpatrick_scale:!1,category:"symbols"},eight_spoked_asterisk:{keywords:["star","sparkle","green-square"],char:"\u2733\ufe0f",fitzpatrick_scale:!1,category:"symbols"},negative_squared_cross_mark:{keywords:["x","green-square","no","deny"],char:"\u274e",fitzpatrick_scale:!1,category:"symbols"},white_check_mark:{keywords:["green-square","ok","agree","vote","election","answer","tick"],char:"\u2705",fitzpatrick_scale:!1,category:"symbols"},diamond_shape_with_a_dot_inside:{keywords:["jewel","blue","gem","crystal","fancy"],char:"\u{1f4a0}",fitzpatrick_scale:!1,category:"symbols"},cyclone:{keywords:["weather","swirl","blue","cloud","vortex","spiral","whirlpool","spin","tornado","hurricane","typhoon"],char:"\u{1f300}",fitzpatrick_scale:!1,category:"symbols"},loop:{keywords:["tape","cassette"],char:"\u27bf",fitzpatrick_scale:!1,category:"symbols"},globe_with_meridians:{keywords:["earth","international","world","internet","interweb","i18n"],char:"\u{1f310}",fitzpatrick_scale:!1,category:"symbols"},m:{keywords:["alphabet","blue-circle","letter"],char:"\u24c2\ufe0f",fitzpatrick_scale:!1,category:"symbols"},atm:{keywords:["money","sales","cash","blue-square","payment","bank"],char:"\u{1f3e7}",fitzpatrick_scale:!1,category:"symbols"},sa:{keywords:["japanese","blue-square","katakana"],char:"\u{1f202}\ufe0f",fitzpatrick_scale:!1,category:"symbols"},passport_control:{keywords:["custom","blue-square"],char:"\u{1f6c2}",fitzpatrick_scale:!1,category:"symbols"},customs:{keywords:["passport","border","blue-square"],char:"\u{1f6c3}",fitzpatrick_scale:!1,category:"symbols"},baggage_claim:{keywords:["blue-square","airport","transport"],char:"\u{1f6c4}",fitzpatrick_scale:!1,category:"symbols"},left_luggage:{keywords:["blue-square","travel"],char:"\u{1f6c5}",fitzpatrick_scale:!1,category:"symbols"},wheelchair:{keywords:["blue-square","disabled","a11y","accessibility"],char:"\u267f",fitzpatrick_scale:!1,category:"symbols"},no_smoking:{keywords:["cigarette","blue-square","smell","smoke"],char:"\u{1f6ad}",fitzpatrick_scale:!1,category:"symbols"},wc:{keywords:["toilet","restroom","blue-square"],char:"\u{1f6be}",fitzpatrick_scale:!1,category:"symbols"},parking:{keywords:["cars","blue-square","alphabet","letter"],char:"\u{1f17f}\ufe0f",fitzpatrick_scale:!1,category:"symbols"},potable_water:{keywords:["blue-square","liquid","restroom","cleaning","faucet"],char:"\u{1f6b0}",fitzpatrick_scale:!1,category:"symbols"},mens:{keywords:["toilet","restroom","wc","blue-square","gender","male"],char:"\u{1f6b9}",fitzpatrick_scale:!1,category:"symbols"},womens:{keywords:["purple-square","woman","female","toilet","loo","restroom","gender"],char:"\u{1f6ba}",fitzpatrick_scale:!1,category:"symbols"},baby_symbol:{keywords:["orange-square","child"],char:"\u{1f6bc}",fitzpatrick_scale:!1,category:"symbols"},restroom:{keywords:["blue-square","toilet","refresh","wc","gender"],char:"\u{1f6bb}",fitzpatrick_scale:!1,category:"symbols"},put_litter_in_its_place:{keywords:["blue-square","sign","human","info"],char:"\u{1f6ae}",fitzpatrick_scale:!1,category:"symbols"},cinema:{keywords:["blue-square","record","film","movie","curtain","stage","theater"],char:"\u{1f3a6}",fitzpatrick_scale:!1,category:"symbols"},signal_strength:{keywords:["blue-square","reception","phone","internet","connection","wifi","bluetooth","bars"],char:"\u{1f4f6}",fitzpatrick_scale:!1,category:"symbols"},koko:{keywords:["blue-square","here","katakana","japanese","destination"],char:"\u{1f201}",fitzpatrick_scale:!1,category:"symbols"},ng:{keywords:["blue-square","words","shape","icon"],char:"\u{1f196}",fitzpatrick_scale:!1,category:"symbols"},ok:{keywords:["good","agree","yes","blue-square"],char:"\u{1f197}",fitzpatrick_scale:!1,category:"symbols"},up:{keywords:["blue-square","above","high"],char:"\u{1f199}",fitzpatrick_scale:!1,category:"symbols"},cool:{keywords:["words","blue-square"],char:"\u{1f192}",fitzpatrick_scale:!1,category:"symbols"},new:{keywords:["blue-square","words","start"],char:"\u{1f195}",fitzpatrick_scale:!1,category:"symbols"},free:{keywords:["blue-square","words"],char:"\u{1f193}",fitzpatrick_scale:!1,category:"symbols"},zero:{keywords:["0","numbers","blue-square","null"],char:"0\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},one:{keywords:["blue-square","numbers","1"],char:"1\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},two:{keywords:["numbers","2","prime","blue-square"],char:"2\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},three:{keywords:["3","numbers","prime","blue-square"],char:"3\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},four:{keywords:["4","numbers","blue-square"],char:"4\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},five:{keywords:["5","numbers","blue-square","prime"],char:"5\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},six:{keywords:["6","numbers","blue-square"],char:"6\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},seven:{keywords:["7","numbers","blue-square","prime"],char:"7\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},eight:{keywords:["8","blue-square","numbers"],char:"8\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},nine:{keywords:["blue-square","numbers","9"],char:"9\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},keycap_ten:{keywords:["numbers","10","blue-square"],char:"\u{1f51f}",fitzpatrick_scale:!1,category:"symbols"},asterisk:{keywords:["star","keycap"],char:"*\u20e3",fitzpatrick_scale:!1,category:"symbols"},1234:{keywords:["numbers","blue-square"],char:"\u{1f522}",fitzpatrick_scale:!1,category:"symbols"},eject_button:{keywords:["blue-square"],char:"\u23cf\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_forward:{keywords:["blue-square","right","direction","play"],char:"\u25b6\ufe0f",fitzpatrick_scale:!1,category:"symbols"},pause_button:{keywords:["pause","blue-square"],char:"\u23f8",fitzpatrick_scale:!1,category:"symbols"},next_track_button:{keywords:["forward","next","blue-square"],char:"\u23ed",fitzpatrick_scale:!1,category:"symbols"},stop_button:{keywords:["blue-square"],char:"\u23f9",fitzpatrick_scale:!1,category:"symbols"},record_button:{keywords:["blue-square"],char:"\u23fa",fitzpatrick_scale:!1,category:"symbols"},play_or_pause_button:{keywords:["blue-square","play","pause"],char:"\u23ef",fitzpatrick_scale:!1,category:"symbols"},previous_track_button:{keywords:["backward"],char:"\u23ee",fitzpatrick_scale:!1,category:"symbols"},fast_forward:{keywords:["blue-square","play","speed","continue"],char:"\u23e9",fitzpatrick_scale:!1,category:"symbols"},rewind:{keywords:["play","blue-square"],char:"\u23ea",fitzpatrick_scale:!1,category:"symbols"},twisted_rightwards_arrows:{keywords:["blue-square","shuffle","music","random"],char:"\u{1f500}",fitzpatrick_scale:!1,category:"symbols"},repeat:{keywords:["loop","record"],char:"\u{1f501}",fitzpatrick_scale:!1,category:"symbols"},repeat_one:{keywords:["blue-square","loop"],char:"\u{1f502}",fitzpatrick_scale:!1,category:"symbols"},arrow_backward:{keywords:["blue-square","left","direction"],char:"\u25c0\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_up_small:{keywords:["blue-square","triangle","direction","point","forward","top"],char:"\u{1f53c}",fitzpatrick_scale:!1,category:"symbols"},arrow_down_small:{keywords:["blue-square","direction","bottom"],char:"\u{1f53d}",fitzpatrick_scale:!1,category:"symbols"},arrow_double_up:{keywords:["blue-square","direction","top"],char:"\u23eb",fitzpatrick_scale:!1,category:"symbols"},arrow_double_down:{keywords:["blue-square","direction","bottom"],char:"\u23ec",fitzpatrick_scale:!1,category:"symbols"},arrow_right:{keywords:["blue-square","next"],char:"\u27a1\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_left:{keywords:["blue-square","previous","back"],char:"\u2b05\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_up:{keywords:["blue-square","continue","top","direction"],char:"\u2b06\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_down:{keywords:["blue-square","direction","bottom"],char:"\u2b07\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_upper_right:{keywords:["blue-square","point","direction","diagonal","northeast"],char:"\u2197\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_lower_right:{keywords:["blue-square","direction","diagonal","southeast"],char:"\u2198\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_lower_left:{keywords:["blue-square","direction","diagonal","southwest"],char:"\u2199\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_upper_left:{keywords:["blue-square","point","direction","diagonal","northwest"],char:"\u2196\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_up_down:{keywords:["blue-square","direction","way","vertical"],char:"\u2195\ufe0f",fitzpatrick_scale:!1,category:"symbols"},left_right_arrow:{keywords:["shape","direction","horizontal","sideways"],char:"\u2194\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrows_counterclockwise:{keywords:["blue-square","sync","cycle"],char:"\u{1f504}",fitzpatrick_scale:!1,category:"symbols"},arrow_right_hook:{keywords:["blue-square","return","rotate","direction"],char:"\u21aa\ufe0f",fitzpatrick_scale:!1,category:"symbols"},leftwards_arrow_with_hook:{keywords:["back","return","blue-square","undo","enter"],char:"\u21a9\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_heading_up:{keywords:["blue-square","direction","top"],char:"\u2934\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_heading_down:{keywords:["blue-square","direction","bottom"],char:"\u2935\ufe0f",fitzpatrick_scale:!1,category:"symbols"},hash:{keywords:["symbol","blue-square","twitter"],char:"#\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},information_source:{keywords:["blue-square","alphabet","letter"],char:"\u2139\ufe0f",fitzpatrick_scale:!1,category:"symbols"},abc:{keywords:["blue-square","alphabet"],char:"\u{1f524}",fitzpatrick_scale:!1,category:"symbols"},abcd:{keywords:["blue-square","alphabet"],char:"\u{1f521}",fitzpatrick_scale:!1,category:"symbols"},capital_abcd:{keywords:["alphabet","words","blue-square"],char:"\u{1f520}",fitzpatrick_scale:!1,category:"symbols"},symbols:{keywords:["blue-square","music","note","ampersand","percent","glyphs","characters"],char:"\u{1f523}",fitzpatrick_scale:!1,category:"symbols"},musical_note:{keywords:["score","tone","sound"],char:"\u{1f3b5}",fitzpatrick_scale:!1,category:"symbols"},notes:{keywords:["music","score"],char:"\u{1f3b6}",fitzpatrick_scale:!1,category:"symbols"},wavy_dash:{keywords:["draw","line","moustache","mustache","squiggle","scribble"],char:"\u3030\ufe0f",fitzpatrick_scale:!1,category:"symbols"},curly_loop:{keywords:["scribble","draw","shape","squiggle"],char:"\u27b0",fitzpatrick_scale:!1,category:"symbols"},heavy_check_mark:{keywords:["ok","nike","answer","yes","tick"],char:"\u2714\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrows_clockwise:{keywords:["sync","cycle","round","repeat"],char:"\u{1f503}",fitzpatrick_scale:!1,category:"symbols"},heavy_plus_sign:{keywords:["math","calculation","addition","more","increase"],char:"\u2795",fitzpatrick_scale:!1,category:"symbols"},heavy_minus_sign:{keywords:["math","calculation","subtract","less"],char:"\u2796",fitzpatrick_scale:!1,category:"symbols"},heavy_division_sign:{keywords:["divide","math","calculation"],char:"\u2797",fitzpatrick_scale:!1,category:"symbols"},heavy_multiplication_x:{keywords:["math","calculation"],char:"\u2716\ufe0f",fitzpatrick_scale:!1,category:"symbols"},infinity:{keywords:["forever"],char:"\u267e",fitzpatrick_scale:!1,category:"symbols"},heavy_dollar_sign:{keywords:["money","sales","payment","currency","buck"],char:"\u{1f4b2}",fitzpatrick_scale:!1,category:"symbols"},currency_exchange:{keywords:["money","sales","dollar","travel"],char:"\u{1f4b1}",fitzpatrick_scale:!1,category:"symbols"},copyright:{keywords:["ip","license","circle","law","legal"],char:"\xa9\ufe0f",fitzpatrick_scale:!1,category:"symbols"},registered:{keywords:["alphabet","circle"],char:"\xae\ufe0f",fitzpatrick_scale:!1,category:"symbols"},tm:{keywords:["trademark","brand","law","legal"],char:"\u2122\ufe0f",fitzpatrick_scale:!1,category:"symbols"},end:{keywords:["words","arrow"],char:"\u{1f51a}",fitzpatrick_scale:!1,category:"symbols"},back:{keywords:["arrow","words","return"],char:"\u{1f519}",fitzpatrick_scale:!1,category:"symbols"},on:{keywords:["arrow","words"],char:"\u{1f51b}",fitzpatrick_scale:!1,category:"symbols"},top:{keywords:["words","blue-square"],char:"\u{1f51d}",fitzpatrick_scale:!1,category:"symbols"},soon:{keywords:["arrow","words"],char:"\u{1f51c}",fitzpatrick_scale:!1,category:"symbols"},ballot_box_with_check:{keywords:["ok","agree","confirm","black-square","vote","election","yes","tick"],char:"\u2611\ufe0f",fitzpatrick_scale:!1,category:"symbols"},radio_button:{keywords:["input","old","music","circle"],char:"\u{1f518}",fitzpatrick_scale:!1,category:"symbols"},white_circle:{keywords:["shape","round"],char:"\u26aa",fitzpatrick_scale:!1,category:"symbols"},black_circle:{keywords:["shape","button","round"],char:"\u26ab",fitzpatrick_scale:!1,category:"symbols"},red_circle:{keywords:["shape","error","danger"],char:"\u{1f534}",fitzpatrick_scale:!1,category:"symbols"},large_blue_circle:{keywords:["shape","icon","button"],char:"\u{1f535}",fitzpatrick_scale:!1,category:"symbols"},small_orange_diamond:{keywords:["shape","jewel","gem"],char:"\u{1f538}",fitzpatrick_scale:!1,category:"symbols"},small_blue_diamond:{keywords:["shape","jewel","gem"],char:"\u{1f539}",fitzpatrick_scale:!1,category:"symbols"},large_orange_diamond:{keywords:["shape","jewel","gem"],char:"\u{1f536}",fitzpatrick_scale:!1,category:"symbols"},large_blue_diamond:{keywords:["shape","jewel","gem"],char:"\u{1f537}",fitzpatrick_scale:!1,category:"symbols"},small_red_triangle:{keywords:["shape","direction","up","top"],char:"\u{1f53a}",fitzpatrick_scale:!1,category:"symbols"},black_small_square:{keywords:["shape","icon"],char:"\u25aa\ufe0f",fitzpatrick_scale:!1,category:"symbols"},white_small_square:{keywords:["shape","icon"],char:"\u25ab\ufe0f",fitzpatrick_scale:!1,category:"symbols"},black_large_square:{keywords:["shape","icon","button"],char:"\u2b1b",fitzpatrick_scale:!1,category:"symbols"},white_large_square:{keywords:["shape","icon","stone","button"],char:"\u2b1c",fitzpatrick_scale:!1,category:"symbols"},small_red_triangle_down:{keywords:["shape","direction","bottom"],char:"\u{1f53b}",fitzpatrick_scale:!1,category:"symbols"},black_medium_square:{keywords:["shape","button","icon"],char:"\u25fc\ufe0f",fitzpatrick_scale:!1,category:"symbols"},white_medium_square:{keywords:["shape","stone","icon"],char:"\u25fb\ufe0f",fitzpatrick_scale:!1,category:"symbols"},black_medium_small_square:{keywords:["icon","shape","button"],char:"\u25fe",fitzpatrick_scale:!1,category:"symbols"},white_medium_small_square:{keywords:["shape","stone","icon","button"],char:"\u25fd",fitzpatrick_scale:!1,category:"symbols"},black_square_button:{keywords:["shape","input","frame"],char:"\u{1f532}",fitzpatrick_scale:!1,category:"symbols"},white_square_button:{keywords:["shape","input"],char:"\u{1f533}",fitzpatrick_scale:!1,category:"symbols"},speaker:{keywords:["sound","volume","silence","broadcast"],char:"\u{1f508}",fitzpatrick_scale:!1,category:"symbols"},sound:{keywords:["volume","speaker","broadcast"],char:"\u{1f509}",fitzpatrick_scale:!1,category:"symbols"},loud_sound:{keywords:["volume","noise","noisy","speaker","broadcast"],char:"\u{1f50a}",fitzpatrick_scale:!1,category:"symbols"},mute:{keywords:["sound","volume","silence","quiet"],char:"\u{1f507}",fitzpatrick_scale:!1,category:"symbols"},mega:{keywords:["sound","speaker","volume"],char:"\u{1f4e3}",fitzpatrick_scale:!1,category:"symbols"},loudspeaker:{keywords:["volume","sound"],char:"\u{1f4e2}",fitzpatrick_scale:!1,category:"symbols"},bell:{keywords:["sound","notification","christmas","xmas","chime"],char:"\u{1f514}",fitzpatrick_scale:!1,category:"symbols"},no_bell:{keywords:["sound","volume","mute","quiet","silent"],char:"\u{1f515}",fitzpatrick_scale:!1,category:"symbols"},black_joker:{keywords:["poker","cards","game","play","magic"],char:"\u{1f0cf}",fitzpatrick_scale:!1,category:"symbols"},mahjong:{keywords:["game","play","chinese","kanji"],char:"\u{1f004}",fitzpatrick_scale:!1,category:"symbols"},spades:{keywords:["poker","cards","suits","magic"],char:"\u2660\ufe0f",fitzpatrick_scale:!1,category:"symbols"},clubs:{keywords:["poker","cards","magic","suits"],char:"\u2663\ufe0f",fitzpatrick_scale:!1,category:"symbols"},hearts:{keywords:["poker","cards","magic","suits"],char:"\u2665\ufe0f",fitzpatrick_scale:!1,category:"symbols"},diamonds:{keywords:["poker","cards","magic","suits"],char:"\u2666\ufe0f",fitzpatrick_scale:!1,category:"symbols"},flower_playing_cards:{keywords:["game","sunset","red"],char:"\u{1f3b4}",fitzpatrick_scale:!1,category:"symbols"},thought_balloon:{keywords:["bubble","cloud","speech","thinking","dream"],char:"\u{1f4ad}",fitzpatrick_scale:!1,category:"symbols"},right_anger_bubble:{keywords:["caption","speech","thinking","mad"],char:"\u{1f5ef}",fitzpatrick_scale:!1,category:"symbols"},speech_balloon:{keywords:["bubble","words","message","talk","chatting"],char:"\u{1f4ac}",fitzpatrick_scale:!1,category:"symbols"},left_speech_bubble:{keywords:["words","message","talk","chatting"],char:"\u{1f5e8}",fitzpatrick_scale:!1,category:"symbols"},clock1:{keywords:["time","late","early","schedule"],char:"\u{1f550}",fitzpatrick_scale:!1,category:"symbols"},clock2:{keywords:["time","late","early","schedule"],char:"\u{1f551}",fitzpatrick_scale:!1,category:"symbols"},clock3:{keywords:["time","late","early","schedule"],char:"\u{1f552}",fitzpatrick_scale:!1,category:"symbols"},clock4:{keywords:["time","late","early","schedule"],char:"\u{1f553}",fitzpatrick_scale:!1,category:"symbols"},clock5:{keywords:["time","late","early","schedule"],char:"\u{1f554}",fitzpatrick_scale:!1,category:"symbols"},clock6:{keywords:["time","late","early","schedule","dawn","dusk"],char:"\u{1f555}",fitzpatrick_scale:!1,category:"symbols"},clock7:{keywords:["time","late","early","schedule"],char:"\u{1f556}",fitzpatrick_scale:!1,category:"symbols"},clock8:{keywords:["time","late","early","schedule"],char:"\u{1f557}",fitzpatrick_scale:!1,category:"symbols"},clock9:{keywords:["time","late","early","schedule"],char:"\u{1f558}",fitzpatrick_scale:!1,category:"symbols"},clock10:{keywords:["time","late","early","schedule"],char:"\u{1f559}",fitzpatrick_scale:!1,category:"symbols"},clock11:{keywords:["time","late","early","schedule"],char:"\u{1f55a}",fitzpatrick_scale:!1,category:"symbols"},clock12:{keywords:["time","noon","midnight","midday","late","early","schedule"],char:"\u{1f55b}",fitzpatrick_scale:!1,category:"symbols"},clock130:{keywords:["time","late","early","schedule"],char:"\u{1f55c}",fitzpatrick_scale:!1,category:"symbols"},clock230:{keywords:["time","late","early","schedule"],char:"\u{1f55d}",fitzpatrick_scale:!1,category:"symbols"},clock330:{keywords:["time","late","early","schedule"],char:"\u{1f55e}",fitzpatrick_scale:!1,category:"symbols"},clock430:{keywords:["time","late","early","schedule"],char:"\u{1f55f}",fitzpatrick_scale:!1,category:"symbols"},clock530:{keywords:["time","late","early","schedule"],char:"\u{1f560}",fitzpatrick_scale:!1,category:"symbols"},clock630:{keywords:["time","late","early","schedule"],char:"\u{1f561}",fitzpatrick_scale:!1,category:"symbols"},clock730:{keywords:["time","late","early","schedule"],char:"\u{1f562}",fitzpatrick_scale:!1,category:"symbols"},clock830:{keywords:["time","late","early","schedule"],char:"\u{1f563}",fitzpatrick_scale:!1,category:"symbols"},clock930:{keywords:["time","late","early","schedule"],char:"\u{1f564}",fitzpatrick_scale:!1,category:"symbols"},clock1030:{keywords:["time","late","early","schedule"],char:"\u{1f565}",fitzpatrick_scale:!1,category:"symbols"},clock1130:{keywords:["time","late","early","schedule"],char:"\u{1f566}",fitzpatrick_scale:!1,category:"symbols"},clock1230:{keywords:["time","late","early","schedule"],char:"\u{1f567}",fitzpatrick_scale:!1,category:"symbols"},afghanistan:{keywords:["af","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1eb}",fitzpatrick_scale:!1,category:"flags"},aland_islands:{keywords:["\xc5land","islands","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1fd}",fitzpatrick_scale:!1,category:"flags"},albania:{keywords:["al","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1f1}",fitzpatrick_scale:!1,category:"flags"},algeria:{keywords:["dz","flag","nation","country","banner"],char:"\u{1f1e9}\u{1f1ff}",fitzpatrick_scale:!1,category:"flags"},american_samoa:{keywords:["american","ws","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},andorra:{keywords:["ad","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1e9}",fitzpatrick_scale:!1,category:"flags"},angola:{keywords:["ao","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},anguilla:{keywords:["ai","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1ee}",fitzpatrick_scale:!1,category:"flags"},antarctica:{keywords:["aq","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1f6}",fitzpatrick_scale:!1,category:"flags"},antigua_barbuda:{keywords:["antigua","barbuda","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},argentina:{keywords:["ar","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},armenia:{keywords:["am","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},aruba:{keywords:["aw","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1fc}",fitzpatrick_scale:!1,category:"flags"},australia:{keywords:["au","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1fa}",fitzpatrick_scale:!1,category:"flags"},austria:{keywords:["at","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},azerbaijan:{keywords:["az","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1ff}",fitzpatrick_scale:!1,category:"flags"},bahamas:{keywords:["bs","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},bahrain:{keywords:["bh","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1ed}",fitzpatrick_scale:!1,category:"flags"},bangladesh:{keywords:["bd","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1e9}",fitzpatrick_scale:!1,category:"flags"},barbados:{keywords:["bb","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1e7}",fitzpatrick_scale:!1,category:"flags"},belarus:{keywords:["by","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1fe}",fitzpatrick_scale:!1,category:"flags"},belgium:{keywords:["be","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},belize:{keywords:["bz","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1ff}",fitzpatrick_scale:!1,category:"flags"},benin:{keywords:["bj","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1ef}",fitzpatrick_scale:!1,category:"flags"},bermuda:{keywords:["bm","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},bhutan:{keywords:["bt","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},bolivia:{keywords:["bo","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},caribbean_netherlands:{keywords:["bonaire","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1f6}",fitzpatrick_scale:!1,category:"flags"},bosnia_herzegovina:{keywords:["bosnia","herzegovina","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},botswana:{keywords:["bw","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1fc}",fitzpatrick_scale:!1,category:"flags"},brazil:{keywords:["br","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},british_indian_ocean_territory:{keywords:["british","indian","ocean","territory","flag","nation","country","banner"],char:"\u{1f1ee}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},british_virgin_islands:{keywords:["british","virgin","islands","bvi","flag","nation","country","banner"],char:"\u{1f1fb}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},brunei:{keywords:["bn","darussalam","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},bulgaria:{keywords:["bg","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},burkina_faso:{keywords:["burkina","faso","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1eb}",fitzpatrick_scale:!1,category:"flags"},burundi:{keywords:["bi","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1ee}",fitzpatrick_scale:!1,category:"flags"},cape_verde:{keywords:["cabo","verde","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1fb}",fitzpatrick_scale:!1,category:"flags"},cambodia:{keywords:["kh","flag","nation","country","banner"],char:"\u{1f1f0}\u{1f1ed}",fitzpatrick_scale:!1,category:"flags"},cameroon:{keywords:["cm","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},canada:{keywords:["ca","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},canary_islands:{keywords:["canary","islands","flag","nation","country","banner"],char:"\u{1f1ee}\u{1f1e8}",fitzpatrick_scale:!1,category:"flags"},cayman_islands:{keywords:["cayman","islands","flag","nation","country","banner"],char:"\u{1f1f0}\u{1f1fe}",fitzpatrick_scale:!1,category:"flags"},central_african_republic:{keywords:["central","african","republic","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1eb}",fitzpatrick_scale:!1,category:"flags"},chad:{keywords:["td","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1e9}",fitzpatrick_scale:!1,category:"flags"},chile:{keywords:["flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1f1}",fitzpatrick_scale:!1,category:"flags"},cn:{keywords:["china","chinese","prc","flag","country","nation","banner"],char:"\u{1f1e8}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},christmas_island:{keywords:["christmas","island","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1fd}",fitzpatrick_scale:!1,category:"flags"},cocos_islands:{keywords:["cocos","keeling","islands","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1e8}",fitzpatrick_scale:!1,category:"flags"},colombia:{keywords:["co","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},comoros:{keywords:["km","flag","nation","country","banner"],char:"\u{1f1f0}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},congo_brazzaville:{keywords:["congo","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},congo_kinshasa:{keywords:["congo","democratic","republic","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1e9}",fitzpatrick_scale:!1,category:"flags"},cook_islands:{keywords:["cook","islands","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1f0}",fitzpatrick_scale:!1,category:"flags"},costa_rica:{keywords:["costa","rica","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},croatia:{keywords:["hr","flag","nation","country","banner"],char:"\u{1f1ed}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},cuba:{keywords:["cu","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1fa}",fitzpatrick_scale:!1,category:"flags"},curacao:{keywords:["cura\xe7ao","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1fc}",fitzpatrick_scale:!1,category:"flags"},cyprus:{keywords:["cy","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1fe}",fitzpatrick_scale:!1,category:"flags"},czech_republic:{keywords:["cz","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1ff}",fitzpatrick_scale:!1,category:"flags"},denmark:{keywords:["dk","flag","nation","country","banner"],char:"\u{1f1e9}\u{1f1f0}",fitzpatrick_scale:!1,category:"flags"},djibouti:{keywords:["dj","flag","nation","country","banner"],char:"\u{1f1e9}\u{1f1ef}",fitzpatrick_scale:!1,category:"flags"},dominica:{keywords:["dm","flag","nation","country","banner"],char:"\u{1f1e9}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},dominican_republic:{keywords:["dominican","republic","flag","nation","country","banner"],char:"\u{1f1e9}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},ecuador:{keywords:["ec","flag","nation","country","banner"],char:"\u{1f1ea}\u{1f1e8}",fitzpatrick_scale:!1,category:"flags"},egypt:{keywords:["eg","flag","nation","country","banner"],char:"\u{1f1ea}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},el_salvador:{keywords:["el","salvador","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1fb}",fitzpatrick_scale:!1,category:"flags"},equatorial_guinea:{keywords:["equatorial","gn","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1f6}",fitzpatrick_scale:!1,category:"flags"},eritrea:{keywords:["er","flag","nation","country","banner"],char:"\u{1f1ea}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},estonia:{keywords:["ee","flag","nation","country","banner"],char:"\u{1f1ea}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},ethiopia:{keywords:["et","flag","nation","country","banner"],char:"\u{1f1ea}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},eu:{keywords:["european","union","flag","banner"],char:"\u{1f1ea}\u{1f1fa}",fitzpatrick_scale:!1,category:"flags"},falkland_islands:{keywords:["falkland","islands","malvinas","flag","nation","country","banner"],char:"\u{1f1eb}\u{1f1f0}",fitzpatrick_scale:!1,category:"flags"},faroe_islands:{keywords:["faroe","islands","flag","nation","country","banner"],char:"\u{1f1eb}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},fiji:{keywords:["fj","flag","nation","country","banner"],char:"\u{1f1eb}\u{1f1ef}",fitzpatrick_scale:!1,category:"flags"},finland:{keywords:["fi","flag","nation","country","banner"],char:"\u{1f1eb}\u{1f1ee}",fitzpatrick_scale:!1,category:"flags"},fr:{keywords:["banner","flag","nation","france","french","country"],char:"\u{1f1eb}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},french_guiana:{keywords:["french","guiana","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1eb}",fitzpatrick_scale:!1,category:"flags"},french_polynesia:{keywords:["french","polynesia","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1eb}",fitzpatrick_scale:!1,category:"flags"},french_southern_territories:{keywords:["french","southern","territories","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1eb}",fitzpatrick_scale:!1,category:"flags"},gabon:{keywords:["ga","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},gambia:{keywords:["gm","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},georgia:{keywords:["ge","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},de:{keywords:["german","nation","flag","country","banner"],char:"\u{1f1e9}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},ghana:{keywords:["gh","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1ed}",fitzpatrick_scale:!1,category:"flags"},gibraltar:{keywords:["gi","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1ee}",fitzpatrick_scale:!1,category:"flags"},greece:{keywords:["gr","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},greenland:{keywords:["gl","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1f1}",fitzpatrick_scale:!1,category:"flags"},grenada:{keywords:["gd","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1e9}",fitzpatrick_scale:!1,category:"flags"},guadeloupe:{keywords:["gp","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1f5}",fitzpatrick_scale:!1,category:"flags"},guam:{keywords:["gu","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1fa}",fitzpatrick_scale:!1,category:"flags"},guatemala:{keywords:["gt","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},guernsey:{keywords:["gg","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},guinea:{keywords:["gn","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},guinea_bissau:{keywords:["gw","bissau","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1fc}",fitzpatrick_scale:!1,category:"flags"},guyana:{keywords:["gy","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1fe}",fitzpatrick_scale:!1,category:"flags"},haiti:{keywords:["ht","flag","nation","country","banner"],char:"\u{1f1ed}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},honduras:{keywords:["hn","flag","nation","country","banner"],char:"\u{1f1ed}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},hong_kong:{keywords:["hong","kong","flag","nation","country","banner"],char:"\u{1f1ed}\u{1f1f0}",fitzpatrick_scale:!1,category:"flags"},hungary:{keywords:["hu","flag","nation","country","banner"],char:"\u{1f1ed}\u{1f1fa}",fitzpatrick_scale:!1,category:"flags"},iceland:{keywords:["is","flag","nation","country","banner"],char:"\u{1f1ee}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},india:{keywords:["in","flag","nation","country","banner"],char:"\u{1f1ee}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},indonesia:{keywords:["flag","nation","country","banner"],char:"\u{1f1ee}\u{1f1e9}",fitzpatrick_scale:!1,category:"flags"},iran:{keywords:["iran,","islamic","republic","flag","nation","country","banner"],char:"\u{1f1ee}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},iraq:{keywords:["iq","flag","nation","country","banner"],char:"\u{1f1ee}\u{1f1f6}",fitzpatrick_scale:!1,category:"flags"},ireland:{keywords:["ie","flag","nation","country","banner"],char:"\u{1f1ee}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},isle_of_man:{keywords:["isle","man","flag","nation","country","banner"],char:"\u{1f1ee}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},israel:{keywords:["il","flag","nation","country","banner"],char:"\u{1f1ee}\u{1f1f1}",fitzpatrick_scale:!1,category:"flags"},it:{keywords:["italy","flag","nation","country","banner"],char:"\u{1f1ee}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},cote_divoire:{keywords:["ivory","coast","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1ee}",fitzpatrick_scale:!1,category:"flags"},jamaica:{keywords:["jm","flag","nation","country","banner"],char:"\u{1f1ef}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},jp:{keywords:["japanese","nation","flag","country","banner"],char:"\u{1f1ef}\u{1f1f5}",fitzpatrick_scale:!1,category:"flags"},jersey:{keywords:["je","flag","nation","country","banner"],char:"\u{1f1ef}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},jordan:{keywords:["jo","flag","nation","country","banner"],char:"\u{1f1ef}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},kazakhstan:{keywords:["kz","flag","nation","country","banner"],char:"\u{1f1f0}\u{1f1ff}",fitzpatrick_scale:!1,category:"flags"},kenya:{keywords:["ke","flag","nation","country","banner"],char:"\u{1f1f0}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},kiribati:{keywords:["ki","flag","nation","country","banner"],char:"\u{1f1f0}\u{1f1ee}",fitzpatrick_scale:!1,category:"flags"},kosovo:{keywords:["xk","flag","nation","country","banner"],char:"\u{1f1fd}\u{1f1f0}",fitzpatrick_scale:!1,category:"flags"},kuwait:{keywords:["kw","flag","nation","country","banner"],char:"\u{1f1f0}\u{1f1fc}",fitzpatrick_scale:!1,category:"flags"},kyrgyzstan:{keywords:["kg","flag","nation","country","banner"],char:"\u{1f1f0}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},laos:{keywords:["lao","democratic","republic","flag","nation","country","banner"],char:"\u{1f1f1}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},latvia:{keywords:["lv","flag","nation","country","banner"],char:"\u{1f1f1}\u{1f1fb}",fitzpatrick_scale:!1,category:"flags"},lebanon:{keywords:["lb","flag","nation","country","banner"],char:"\u{1f1f1}\u{1f1e7}",fitzpatrick_scale:!1,category:"flags"},lesotho:{keywords:["ls","flag","nation","country","banner"],char:"\u{1f1f1}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},liberia:{keywords:["lr","flag","nation","country","banner"],char:"\u{1f1f1}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},libya:{keywords:["ly","flag","nation","country","banner"],char:"\u{1f1f1}\u{1f1fe}",fitzpatrick_scale:!1,category:"flags"},liechtenstein:{keywords:["li","flag","nation","country","banner"],char:"\u{1f1f1}\u{1f1ee}",fitzpatrick_scale:!1,category:"flags"},lithuania:{keywords:["lt","flag","nation","country","banner"],char:"\u{1f1f1}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},luxembourg:{keywords:["lu","flag","nation","country","banner"],char:"\u{1f1f1}\u{1f1fa}",fitzpatrick_scale:!1,category:"flags"},macau:{keywords:["macao","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},macedonia:{keywords:["macedonia,","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1f0}",fitzpatrick_scale:!1,category:"flags"},madagascar:{keywords:["mg","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},malawi:{keywords:["mw","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1fc}",fitzpatrick_scale:!1,category:"flags"},malaysia:{keywords:["my","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1fe}",fitzpatrick_scale:!1,category:"flags"},maldives:{keywords:["mv","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1fb}",fitzpatrick_scale:!1,category:"flags"},mali:{keywords:["ml","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1f1}",fitzpatrick_scale:!1,category:"flags"},malta:{keywords:["mt","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},marshall_islands:{keywords:["marshall","islands","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1ed}",fitzpatrick_scale:!1,category:"flags"},martinique:{keywords:["mq","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1f6}",fitzpatrick_scale:!1,category:"flags"},mauritania:{keywords:["mr","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},mauritius:{keywords:["mu","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1fa}",fitzpatrick_scale:!1,category:"flags"},mayotte:{keywords:["yt","flag","nation","country","banner"],char:"\u{1f1fe}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},mexico:{keywords:["mx","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1fd}",fitzpatrick_scale:!1,category:"flags"},micronesia:{keywords:["micronesia,","federated","states","flag","nation","country","banner"],char:"\u{1f1eb}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},moldova:{keywords:["moldova,","republic","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1e9}",fitzpatrick_scale:!1,category:"flags"},monaco:{keywords:["mc","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1e8}",fitzpatrick_scale:!1,category:"flags"},mongolia:{keywords:["mn","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},montenegro:{keywords:["me","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},montserrat:{keywords:["ms","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},morocco:{keywords:["ma","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},mozambique:{keywords:["mz","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1ff}",fitzpatrick_scale:!1,category:"flags"},myanmar:{keywords:["mm","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},namibia:{keywords:["na","flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},nauru:{keywords:["nr","flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},nepal:{keywords:["np","flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1f5}",fitzpatrick_scale:!1,category:"flags"},netherlands:{keywords:["nl","flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1f1}",fitzpatrick_scale:!1,category:"flags"},new_caledonia:{keywords:["new","caledonia","flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1e8}",fitzpatrick_scale:!1,category:"flags"},new_zealand:{keywords:["new","zealand","flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1ff}",fitzpatrick_scale:!1,category:"flags"},nicaragua:{keywords:["ni","flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1ee}",fitzpatrick_scale:!1,category:"flags"},niger:{keywords:["ne","flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},nigeria:{keywords:["flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},niue:{keywords:["nu","flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1fa}",fitzpatrick_scale:!1,category:"flags"},norfolk_island:{keywords:["norfolk","island","flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1eb}",fitzpatrick_scale:!1,category:"flags"},northern_mariana_islands:{keywords:["northern","mariana","islands","flag","nation","country","banner"],char:"\u{1f1f2}\u{1f1f5}",fitzpatrick_scale:!1,category:"flags"},north_korea:{keywords:["north","korea","nation","flag","country","banner"],char:"\u{1f1f0}\u{1f1f5}",fitzpatrick_scale:!1,category:"flags"},norway:{keywords:["no","flag","nation","country","banner"],char:"\u{1f1f3}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},oman:{keywords:["om_symbol","flag","nation","country","banner"],char:"\u{1f1f4}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},pakistan:{keywords:["pk","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1f0}",fitzpatrick_scale:!1,category:"flags"},palau:{keywords:["pw","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1fc}",fitzpatrick_scale:!1,category:"flags"},palestinian_territories:{keywords:["palestine","palestinian","territories","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},panama:{keywords:["pa","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},papua_new_guinea:{keywords:["papua","new","guinea","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},paraguay:{keywords:["py","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1fe}",fitzpatrick_scale:!1,category:"flags"},peru:{keywords:["pe","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},philippines:{keywords:["ph","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1ed}",fitzpatrick_scale:!1,category:"flags"},pitcairn_islands:{keywords:["pitcairn","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},poland:{keywords:["pl","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1f1}",fitzpatrick_scale:!1,category:"flags"},portugal:{keywords:["pt","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},puerto_rico:{keywords:["puerto","rico","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},qatar:{keywords:["qa","flag","nation","country","banner"],char:"\u{1f1f6}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},reunion:{keywords:["r\xe9union","flag","nation","country","banner"],char:"\u{1f1f7}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},romania:{keywords:["ro","flag","nation","country","banner"],char:"\u{1f1f7}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},ru:{keywords:["russian","federation","flag","nation","country","banner"],char:"\u{1f1f7}\u{1f1fa}",fitzpatrick_scale:!1,category:"flags"},rwanda:{keywords:["rw","flag","nation","country","banner"],char:"\u{1f1f7}\u{1f1fc}",fitzpatrick_scale:!1,category:"flags"},st_barthelemy:{keywords:["saint","barth\xe9lemy","flag","nation","country","banner"],char:"\u{1f1e7}\u{1f1f1}",fitzpatrick_scale:!1,category:"flags"},st_helena:{keywords:["saint","helena","ascension","tristan","cunha","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1ed}",fitzpatrick_scale:!1,category:"flags"},st_kitts_nevis:{keywords:["saint","kitts","nevis","flag","nation","country","banner"],char:"\u{1f1f0}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},st_lucia:{keywords:["saint","lucia","flag","nation","country","banner"],char:"\u{1f1f1}\u{1f1e8}",fitzpatrick_scale:!1,category:"flags"},st_pierre_miquelon:{keywords:["saint","pierre","miquelon","flag","nation","country","banner"],char:"\u{1f1f5}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},st_vincent_grenadines:{keywords:["saint","vincent","grenadines","flag","nation","country","banner"],char:"\u{1f1fb}\u{1f1e8}",fitzpatrick_scale:!1,category:"flags"},samoa:{keywords:["ws","flag","nation","country","banner"],char:"\u{1f1fc}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},san_marino:{keywords:["san","marino","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},sao_tome_principe:{keywords:["sao","tome","principe","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},saudi_arabia:{keywords:["flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},senegal:{keywords:["sn","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},serbia:{keywords:["rs","flag","nation","country","banner"],char:"\u{1f1f7}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},seychelles:{keywords:["sc","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1e8}",fitzpatrick_scale:!1,category:"flags"},sierra_leone:{keywords:["sierra","leone","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1f1}",fitzpatrick_scale:!1,category:"flags"},singapore:{keywords:["sg","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},sint_maarten:{keywords:["sint","maarten","dutch","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1fd}",fitzpatrick_scale:!1,category:"flags"},slovakia:{keywords:["sk","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1f0}",fitzpatrick_scale:!1,category:"flags"},slovenia:{keywords:["si","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1ee}",fitzpatrick_scale:!1,category:"flags"},solomon_islands:{keywords:["solomon","islands","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1e7}",fitzpatrick_scale:!1,category:"flags"},somalia:{keywords:["so","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},south_africa:{keywords:["south","africa","flag","nation","country","banner"],char:"\u{1f1ff}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},south_georgia_south_sandwich_islands:{keywords:["south","georgia","sandwich","islands","flag","nation","country","banner"],char:"\u{1f1ec}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},kr:{keywords:["south","korea","nation","flag","country","banner"],char:"\u{1f1f0}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},south_sudan:{keywords:["south","sd","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},es:{keywords:["spain","flag","nation","country","banner"],char:"\u{1f1ea}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},sri_lanka:{keywords:["sri","lanka","flag","nation","country","banner"],char:"\u{1f1f1}\u{1f1f0}",fitzpatrick_scale:!1,category:"flags"},sudan:{keywords:["sd","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1e9}",fitzpatrick_scale:!1,category:"flags"},suriname:{keywords:["sr","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},swaziland:{keywords:["sz","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1ff}",fitzpatrick_scale:!1,category:"flags"},sweden:{keywords:["se","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},switzerland:{keywords:["ch","flag","nation","country","banner"],char:"\u{1f1e8}\u{1f1ed}",fitzpatrick_scale:!1,category:"flags"},syria:{keywords:["syrian","arab","republic","flag","nation","country","banner"],char:"\u{1f1f8}\u{1f1fe}",fitzpatrick_scale:!1,category:"flags"},taiwan:{keywords:["tw","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1fc}",fitzpatrick_scale:!1,category:"flags"},tajikistan:{keywords:["tj","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1ef}",fitzpatrick_scale:!1,category:"flags"},tanzania:{keywords:["tanzania,","united","republic","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1ff}",fitzpatrick_scale:!1,category:"flags"},thailand:{keywords:["th","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1ed}",fitzpatrick_scale:!1,category:"flags"},timor_leste:{keywords:["timor","leste","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1f1}",fitzpatrick_scale:!1,category:"flags"},togo:{keywords:["tg","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},tokelau:{keywords:["tk","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1f0}",fitzpatrick_scale:!1,category:"flags"},tonga:{keywords:["to","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1f4}",fitzpatrick_scale:!1,category:"flags"},trinidad_tobago:{keywords:["trinidad","tobago","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1f9}",fitzpatrick_scale:!1,category:"flags"},tunisia:{keywords:["tn","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},tr:{keywords:["turkey","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1f7}",fitzpatrick_scale:!1,category:"flags"},turkmenistan:{keywords:["flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},turks_caicos_islands:{keywords:["turks","caicos","islands","flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1e8}",fitzpatrick_scale:!1,category:"flags"},tuvalu:{keywords:["flag","nation","country","banner"],char:"\u{1f1f9}\u{1f1fb}",fitzpatrick_scale:!1,category:"flags"},uganda:{keywords:["ug","flag","nation","country","banner"],char:"\u{1f1fa}\u{1f1ec}",fitzpatrick_scale:!1,category:"flags"},ukraine:{keywords:["ua","flag","nation","country","banner"],char:"\u{1f1fa}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},united_arab_emirates:{keywords:["united","arab","emirates","flag","nation","country","banner"],char:"\u{1f1e6}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},uk:{keywords:["united","kingdom","great","britain","northern","ireland","flag","nation","country","banner","british","UK","english","england","union jack"],char:"\u{1f1ec}\u{1f1e7}",fitzpatrick_scale:!1,category:"flags"},england:{keywords:["flag","english"],char:"\u{1f3f4}\u{e0067}\u{e0062}\u{e0065}\u{e006e}\u{e0067}\u{e007f}",fitzpatrick_scale:!1,category:"flags"},scotland:{keywords:["flag","scottish"],char:"\u{1f3f4}\u{e0067}\u{e0062}\u{e0073}\u{e0063}\u{e0074}\u{e007f}",fitzpatrick_scale:!1,category:"flags"},wales:{keywords:["flag","welsh"],char:"\u{1f3f4}\u{e0067}\u{e0062}\u{e0077}\u{e006c}\u{e0073}\u{e007f}",fitzpatrick_scale:!1,category:"flags"},us:{keywords:["united","states","america","flag","nation","country","banner"],char:"\u{1f1fa}\u{1f1f8}",fitzpatrick_scale:!1,category:"flags"},us_virgin_islands:{keywords:["virgin","islands","us","flag","nation","country","banner"],char:"\u{1f1fb}\u{1f1ee}",fitzpatrick_scale:!1,category:"flags"},uruguay:{keywords:["uy","flag","nation","country","banner"],char:"\u{1f1fa}\u{1f1fe}",fitzpatrick_scale:!1,category:"flags"},uzbekistan:{keywords:["uz","flag","nation","country","banner"],char:"\u{1f1fa}\u{1f1ff}",fitzpatrick_scale:!1,category:"flags"},vanuatu:{keywords:["vu","flag","nation","country","banner"],char:"\u{1f1fb}\u{1f1fa}",fitzpatrick_scale:!1,category:"flags"},vatican_city:{keywords:["vatican","city","flag","nation","country","banner"],char:"\u{1f1fb}\u{1f1e6}",fitzpatrick_scale:!1,category:"flags"},venezuela:{keywords:["ve","bolivarian","republic","flag","nation","country","banner"],char:"\u{1f1fb}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},vietnam:{keywords:["viet","nam","flag","nation","country","banner"],char:"\u{1f1fb}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},wallis_futuna:{keywords:["wallis","futuna","flag","nation","country","banner"],char:"\u{1f1fc}\u{1f1eb}",fitzpatrick_scale:!1,category:"flags"},western_sahara:{keywords:["western","sahara","flag","nation","country","banner"],char:"\u{1f1ea}\u{1f1ed}",fitzpatrick_scale:!1,category:"flags"},yemen:{keywords:["ye","flag","nation","country","banner"],char:"\u{1f1fe}\u{1f1ea}",fitzpatrick_scale:!1,category:"flags"},zambia:{keywords:["zm","flag","nation","country","banner"],char:"\u{1f1ff}\u{1f1f2}",fitzpatrick_scale:!1,category:"flags"},zimbabwe:{keywords:["zw","flag","nation","country","banner"],char:"\u{1f1ff}\u{1f1fc}",fitzpatrick_scale:!1,category:"flags"},united_nations:{keywords:["un","flag","banner"],char:"\u{1f1fa}\u{1f1f3}",fitzpatrick_scale:!1,category:"flags"},pirate_flag:{keywords:["skull","crossbones","flag","banner"],char:"\u{1f3f4}\u200d\u2620\ufe0f",fitzpatrick_scale:!1,category:"flags"}}); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/emoticons/plugin.js b/public/tools/cloud_notes/tinymce/plugins/emoticons/plugin.js new file mode 100644 index 0000000..19f94e6 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/emoticons/plugin.js @@ -0,0 +1,595 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ + +(function () { + 'use strict'; + + var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + const eq = t => a => t === a; + const isNull = eq(null); + const isUndefined = eq(undefined); + const isNullable = a => a === null || a === undefined; + const isNonNullable = a => !isNullable(a); + + const noop = () => { + }; + const constant = value => { + return () => { + return value; + }; + }; + const never = constant(false); + + class Optional { + constructor(tag, value) { + this.tag = tag; + this.value = value; + } + static some(value) { + return new Optional(true, value); + } + static none() { + return Optional.singletonNone; + } + fold(onNone, onSome) { + if (this.tag) { + return onSome(this.value); + } else { + return onNone(); + } + } + isSome() { + return this.tag; + } + isNone() { + return !this.tag; + } + map(mapper) { + if (this.tag) { + return Optional.some(mapper(this.value)); + } else { + return Optional.none(); + } + } + bind(binder) { + if (this.tag) { + return binder(this.value); + } else { + return Optional.none(); + } + } + exists(predicate) { + return this.tag && predicate(this.value); + } + forall(predicate) { + return !this.tag || predicate(this.value); + } + filter(predicate) { + if (!this.tag || predicate(this.value)) { + return this; + } else { + return Optional.none(); + } + } + getOr(replacement) { + return this.tag ? this.value : replacement; + } + or(replacement) { + return this.tag ? this : replacement; + } + getOrThunk(thunk) { + return this.tag ? this.value : thunk(); + } + orThunk(thunk) { + return this.tag ? this : thunk(); + } + getOrDie(message) { + if (!this.tag) { + throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None'); + } else { + return this.value; + } + } + static from(value) { + return isNonNullable(value) ? Optional.some(value) : Optional.none(); + } + getOrNull() { + return this.tag ? this.value : null; + } + getOrUndefined() { + return this.value; + } + each(worker) { + if (this.tag) { + worker(this.value); + } + } + toArray() { + return this.tag ? [this.value] : []; + } + toString() { + return this.tag ? `some(${ this.value })` : 'none()'; + } + } + Optional.singletonNone = new Optional(false); + + const exists = (xs, pred) => { + for (let i = 0, len = xs.length; i < len; i++) { + const x = xs[i]; + if (pred(x, i)) { + return true; + } + } + return false; + }; + const map$1 = (xs, f) => { + const len = xs.length; + const r = new Array(len); + for (let i = 0; i < len; i++) { + const x = xs[i]; + r[i] = f(x, i); + } + return r; + }; + const each$1 = (xs, f) => { + for (let i = 0, len = xs.length; i < len; i++) { + const x = xs[i]; + f(x, i); + } + }; + + const Cell = initial => { + let value = initial; + const get = () => { + return value; + }; + const set = v => { + value = v; + }; + return { + get, + set + }; + }; + + const last = (fn, rate) => { + let timer = null; + const cancel = () => { + if (!isNull(timer)) { + clearTimeout(timer); + timer = null; + } + }; + const throttle = (...args) => { + cancel(); + timer = setTimeout(() => { + timer = null; + fn.apply(null, args); + }, rate); + }; + return { + cancel, + throttle + }; + }; + + const insertEmoticon = (editor, ch) => { + editor.insertContent(ch); + }; + + const keys = Object.keys; + const hasOwnProperty = Object.hasOwnProperty; + const each = (obj, f) => { + const props = keys(obj); + for (let k = 0, len = props.length; k < len; k++) { + const i = props[k]; + const x = obj[i]; + f(x, i); + } + }; + const map = (obj, f) => { + return tupleMap(obj, (x, i) => ({ + k: i, + v: f(x, i) + })); + }; + const tupleMap = (obj, f) => { + const r = {}; + each(obj, (x, i) => { + const tuple = f(x, i); + r[tuple.k] = tuple.v; + }); + return r; + }; + const has = (obj, key) => hasOwnProperty.call(obj, key); + + const shallow = (old, nu) => { + return nu; + }; + const baseMerge = merger => { + return (...objects) => { + if (objects.length === 0) { + throw new Error(`Can't merge zero objects`); + } + const ret = {}; + for (let j = 0; j < objects.length; j++) { + const curObject = objects[j]; + for (const key in curObject) { + if (has(curObject, key)) { + ret[key] = merger(ret[key], curObject[key]); + } + } + } + return ret; + }; + }; + const merge = baseMerge(shallow); + + const singleton = doRevoke => { + const subject = Cell(Optional.none()); + const revoke = () => subject.get().each(doRevoke); + const clear = () => { + revoke(); + subject.set(Optional.none()); + }; + const isSet = () => subject.get().isSome(); + const get = () => subject.get(); + const set = s => { + revoke(); + subject.set(Optional.some(s)); + }; + return { + clear, + isSet, + get, + set + }; + }; + const value = () => { + const subject = singleton(noop); + const on = f => subject.get().each(f); + return { + ...subject, + on + }; + }; + + const checkRange = (str, substr, start) => substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr; + const contains = (str, substr, start = 0, end) => { + const idx = str.indexOf(substr, start); + if (idx !== -1) { + return isUndefined(end) ? true : idx + substr.length <= end; + } else { + return false; + } + }; + const startsWith = (str, prefix) => { + return checkRange(str, prefix, 0); + }; + + var global = tinymce.util.Tools.resolve('tinymce.Resource'); + + const DEFAULT_ID = 'tinymce.plugins.emoticons'; + const option = name => editor => editor.options.get(name); + const register$2 = (editor, pluginUrl) => { + const registerOption = editor.options.register; + registerOption('emoticons_database', { + processor: 'string', + default: 'emojis' + }); + registerOption('emoticons_database_url', { + processor: 'string', + default: `${ pluginUrl }/js/${ getEmojiDatabase(editor) }${ editor.suffix }.js` + }); + registerOption('emoticons_database_id', { + processor: 'string', + default: DEFAULT_ID + }); + registerOption('emoticons_append', { + processor: 'object', + default: {} + }); + registerOption('emoticons_images_url', { + processor: 'string', + default: 'https://twemoji.maxcdn.com/v/13.0.1/72x72/' + }); + }; + const getEmojiDatabase = option('emoticons_database'); + const getEmojiDatabaseUrl = option('emoticons_database_url'); + const getEmojiDatabaseId = option('emoticons_database_id'); + const getAppendedEmoji = option('emoticons_append'); + const getEmojiImageUrl = option('emoticons_images_url'); + + const ALL_CATEGORY = 'All'; + const categoryNameMap = { + symbols: 'Symbols', + people: 'People', + animals_and_nature: 'Animals and Nature', + food_and_drink: 'Food and Drink', + activity: 'Activity', + travel_and_places: 'Travel and Places', + objects: 'Objects', + flags: 'Flags', + user: 'User Defined' + }; + const translateCategory = (categories, name) => has(categories, name) ? categories[name] : name; + const getUserDefinedEmoji = editor => { + const userDefinedEmoticons = getAppendedEmoji(editor); + return map(userDefinedEmoticons, value => ({ + keywords: [], + category: 'user', + ...value + })); + }; + const initDatabase = (editor, databaseUrl, databaseId) => { + const categories = value(); + const all = value(); + const emojiImagesUrl = getEmojiImageUrl(editor); + const getEmoji = lib => { + if (startsWith(lib.char, ' `src="${ emojiImagesUrl }${ url }"`); + } else { + return lib.char; + } + }; + const processEmojis = emojis => { + const cats = {}; + const everything = []; + each(emojis, (lib, title) => { + const entry = { + title, + keywords: lib.keywords, + char: getEmoji(lib), + category: translateCategory(categoryNameMap, lib.category) + }; + const current = cats[entry.category] !== undefined ? cats[entry.category] : []; + cats[entry.category] = current.concat([entry]); + everything.push(entry); + }); + categories.set(cats); + all.set(everything); + }; + editor.on('init', () => { + global.load(databaseId, databaseUrl).then(emojis => { + const userEmojis = getUserDefinedEmoji(editor); + processEmojis(merge(emojis, userEmojis)); + }, err => { + console.log(`Failed to load emojis: ${ err }`); + categories.set({}); + all.set([]); + }); + }); + const listCategory = category => { + if (category === ALL_CATEGORY) { + return listAll(); + } + return categories.get().bind(cats => Optional.from(cats[category])).getOr([]); + }; + const listAll = () => all.get().getOr([]); + const listCategories = () => [ALL_CATEGORY].concat(keys(categories.get().getOr({}))); + const waitForLoad = () => { + if (hasLoaded()) { + return Promise.resolve(true); + } else { + return new Promise((resolve, reject) => { + let numRetries = 15; + const interval = setInterval(() => { + if (hasLoaded()) { + clearInterval(interval); + resolve(true); + } else { + numRetries--; + if (numRetries < 0) { + console.log('Could not load emojis from url: ' + databaseUrl); + clearInterval(interval); + reject(false); + } + } + }, 100); + }); + } + }; + const hasLoaded = () => categories.isSet() && all.isSet(); + return { + listCategories, + hasLoaded, + waitForLoad, + listAll, + listCategory + }; + }; + + const emojiMatches = (emoji, lowerCasePattern) => contains(emoji.title.toLowerCase(), lowerCasePattern) || exists(emoji.keywords, k => contains(k.toLowerCase(), lowerCasePattern)); + const emojisFrom = (list, pattern, maxResults) => { + const matches = []; + const lowerCasePattern = pattern.toLowerCase(); + const reachedLimit = maxResults.fold(() => never, max => size => size >= max); + for (let i = 0; i < list.length; i++) { + if (pattern.length === 0 || emojiMatches(list[i], lowerCasePattern)) { + matches.push({ + value: list[i].char, + text: list[i].title, + icon: list[i].char + }); + if (reachedLimit(matches.length)) { + break; + } + } + } + return matches; + }; + + const patternName = 'pattern'; + const open = (editor, database) => { + const initialState = { + pattern: '', + results: emojisFrom(database.listAll(), '', Optional.some(300)) + }; + const currentTab = Cell(ALL_CATEGORY); + const scan = dialogApi => { + const dialogData = dialogApi.getData(); + const category = currentTab.get(); + const candidates = database.listCategory(category); + const results = emojisFrom(candidates, dialogData[patternName], category === ALL_CATEGORY ? Optional.some(300) : Optional.none()); + dialogApi.setData({ results }); + }; + const updateFilter = last(dialogApi => { + scan(dialogApi); + }, 200); + const searchField = { + label: 'Search', + type: 'input', + name: patternName + }; + const resultsField = { + type: 'collection', + name: 'results' + }; + const getInitialState = () => { + const body = { + type: 'tabpanel', + tabs: map$1(database.listCategories(), cat => ({ + title: cat, + name: cat, + items: [ + searchField, + resultsField + ] + })) + }; + return { + title: 'Emojis', + size: 'normal', + body, + initialData: initialState, + onTabChange: (dialogApi, details) => { + currentTab.set(details.newTabName); + updateFilter.throttle(dialogApi); + }, + onChange: updateFilter.throttle, + onAction: (dialogApi, actionData) => { + if (actionData.name === 'results') { + insertEmoticon(editor, actionData.value); + dialogApi.close(); + } + }, + buttons: [{ + type: 'cancel', + text: 'Close', + primary: true + }] + }; + }; + const dialogApi = editor.windowManager.open(getInitialState()); + dialogApi.focus(patternName); + if (!database.hasLoaded()) { + dialogApi.block('Loading emojis...'); + database.waitForLoad().then(() => { + dialogApi.redial(getInitialState()); + updateFilter.throttle(dialogApi); + dialogApi.focus(patternName); + dialogApi.unblock(); + }).catch(_err => { + dialogApi.redial({ + title: 'Emojis', + body: { + type: 'panel', + items: [{ + type: 'alertbanner', + level: 'error', + icon: 'warning', + text: 'Could not load emojis' + }] + }, + buttons: [{ + type: 'cancel', + text: 'Close', + primary: true + }], + initialData: { + pattern: '', + results: [] + } + }); + dialogApi.focus(patternName); + dialogApi.unblock(); + }); + } + }; + + const register$1 = (editor, database) => { + editor.addCommand('mceEmoticons', () => open(editor, database)); + }; + + const setup = editor => { + editor.on('PreInit', () => { + editor.parser.addAttributeFilter('data-emoticon', nodes => { + each$1(nodes, node => { + node.attr('data-mce-resize', 'false'); + node.attr('data-mce-placeholder', '1'); + }); + }); + }); + }; + + const init = (editor, database) => { + editor.ui.registry.addAutocompleter('emoticons', { + trigger: ':', + columns: 'auto', + minChars: 2, + fetch: (pattern, maxResults) => database.waitForLoad().then(() => { + const candidates = database.listAll(); + return emojisFrom(candidates, pattern, Optional.some(maxResults)); + }), + onAction: (autocompleteApi, rng, value) => { + editor.selection.setRng(rng); + editor.insertContent(value); + autocompleteApi.hide(); + } + }); + }; + + const onSetupEditable = editor => api => { + const nodeChanged = () => { + api.setEnabled(editor.selection.isEditable()); + }; + editor.on('NodeChange', nodeChanged); + nodeChanged(); + return () => { + editor.off('NodeChange', nodeChanged); + }; + }; + const register = editor => { + const onAction = () => editor.execCommand('mceEmoticons'); + editor.ui.registry.addButton('emoticons', { + tooltip: 'Emojis', + icon: 'emoji', + onAction, + onSetup: onSetupEditable(editor) + }); + editor.ui.registry.addMenuItem('emoticons', { + text: 'Emojis...', + icon: 'emoji', + onAction, + onSetup: onSetupEditable(editor) + }); + }; + + var Plugin = () => { + global$1.add('emoticons', (editor, pluginUrl) => { + register$2(editor, pluginUrl); + const databaseUrl = getEmojiDatabaseUrl(editor); + const databaseId = getEmojiDatabaseId(editor); + const database = initDatabase(editor, databaseUrl, databaseId); + register$1(editor, database); + register(editor); + init(editor, database); + setup(editor); + }); + }; + + Plugin(); + +})(); diff --git a/public/tools/cloud_notes/tinymce/plugins/emoticons/plugin.min.js b/public/tools/cloud_notes/tinymce/plugins/emoticons/plugin.min.js new file mode 100644 index 0000000..99e2c66 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/emoticons/plugin.min.js @@ -0,0 +1,4 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ +!function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager");const e=t=>e=>t===e,o=e(null),n=e(void 0),s=()=>{},r=()=>!1;class a{constructor(t,e){this.tag=t,this.value=e}static some(t){return new a(!0,t)}static none(){return a.singletonNone}fold(t,e){return this.tag?e(this.value):t()}isSome(){return this.tag}isNone(){return!this.tag}map(t){return this.tag?a.some(t(this.value)):a.none()}bind(t){return this.tag?t(this.value):a.none()}exists(t){return this.tag&&t(this.value)}forall(t){return!this.tag||t(this.value)}filter(t){return!this.tag||t(this.value)?this:a.none()}getOr(t){return this.tag?this.value:t}or(t){return this.tag?this:t}getOrThunk(t){return this.tag?this.value:t()}orThunk(t){return this.tag?this:t()}getOrDie(t){if(this.tag)return this.value;throw new Error(null!=t?t:"Called getOrDie on None")}static from(t){return null==t?a.none():a.some(t)}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(t){this.tag&&t(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}a.singletonNone=new a(!1);const i=(t,e)=>{const o=t.length,n=new Array(o);for(let s=0;s{let e=t;return{get:()=>e,set:t=>{e=t}}},c=Object.keys,u=Object.hasOwnProperty,g=(t,e)=>{const o=c(t);for(let n=0,s=o.length;nu.call(t,e),d=(h=(t,e)=>e,(...t)=>{if(0===t.length)throw new Error("Can't merge zero objects");const e={};for(let o=0;o{const t=(t=>{const e=l(a.none()),o=()=>e.get().each(t);return{clear:()=>{o(),e.set(a.none())},isSet:()=>e.get().isSome(),get:()=>e.get(),set:t=>{o(),e.set(a.some(t))}}})(s);return{...t,on:e=>t.get().each(e)}},v=(t,e,o=0,s)=>{const r=t.indexOf(e,o);return-1!==r&&(!!n(s)||r+e.length<=s)};var y=tinymce.util.Tools.resolve("tinymce.Resource");const f=t=>e=>e.options.get(t),b=f("emoticons_database"),w=f("emoticons_database_url"),C=f("emoticons_database_id"),_=f("emoticons_append"),j=f("emoticons_images_url"),k="All",A={symbols:"Symbols",people:"People",animals_and_nature:"Animals and Nature",food_and_drink:"Food and Drink",activity:"Activity",travel_and_places:"Travel and Places",objects:"Objects",flags:"Flags",user:"User Defined"},O=(t,e)=>m(t,e)?t[e]:e,x=t=>{const e=_(t);return o=t=>({keywords:[],category:"user",...t}),((t,e)=>{const o={};return g(t,((t,n)=>{const s=e(t,n);o[s.k]=s.v})),o})(e,((t,e)=>({k:e,v:o(t)})));var o},E=(t,e)=>v(t.title.toLowerCase(),e)||((t,o)=>{for(let o=0,s=t.length;o{const n=[],s=e.toLowerCase(),a=o.fold((()=>r),(t=>e=>e>=t));for(let o=0;o{const n={pattern:"",results:S(e.listAll(),"",a.some(300))},s=l(k),r=((t,e)=>{let n=null;const s=()=>{o(n)||(clearTimeout(n),n=null)};return{cancel:s,throttle:(...e)=>{s(),n=setTimeout((()=>{n=null,t.apply(null,e)}),200)}}})((t=>{(t=>{const o=t.getData(),n=s.get(),r=e.listCategory(n),i=S(r,o[L],n===k?a.some(300):a.none());t.setData({results:i})})(t)})),c={label:"Search",type:"input",name:L},u={type:"collection",name:"results"},g=()=>({title:"Emojis",size:"normal",body:{type:"tabpanel",tabs:i(e.listCategories(),(t=>({title:t,name:t,items:[c,u]})))},initialData:n,onTabChange:(t,e)=>{s.set(e.newTabName),r.throttle(t)},onChange:r.throttle,onAction:(e,o)=>{"results"===o.name&&(((t,e)=>{t.insertContent(e)})(t,o.value),e.close())},buttons:[{type:"cancel",text:"Close",primary:!0}]}),m=t.windowManager.open(g());m.focus(L),e.hasLoaded()||(m.block("Loading emojis..."),e.waitForLoad().then((()=>{m.redial(g()),r.throttle(m),m.focus(L),m.unblock()})).catch((t=>{m.redial({title:"Emojis",body:{type:"panel",items:[{type:"alertbanner",level:"error",icon:"warning",text:"Could not load emojis"}]},buttons:[{type:"cancel",text:"Close",primary:!0}],initialData:{pattern:"",results:[]}}),m.focus(L),m.unblock()})))},T=t=>e=>{const o=()=>{e.setEnabled(t.selection.isEditable())};return t.on("NodeChange",o),o(),()=>{t.off("NodeChange",o)}};t.add("emoticons",((t,e)=>{((t,e)=>{const o=t.options.register;o("emoticons_database",{processor:"string",default:"emojis"}),o("emoticons_database_url",{processor:"string",default:`${e}/js/${b(t)}${t.suffix}.js`}),o("emoticons_database_id",{processor:"string",default:"tinymce.plugins.emoticons"}),o("emoticons_append",{processor:"object",default:{}}),o("emoticons_images_url",{processor:"string",default:"https://twemoji.maxcdn.com/v/13.0.1/72x72/"})})(t,e);const o=((t,e,o)=>{const n=p(),s=p(),r=j(t),i=t=>{return o="=4&&e.substr(0,4)===o?t.char.replace(/src="([^"]+)"/,((t,e)=>`src="${r}${e}"`)):t.char;var e,o};t.on("init",(()=>{y.load(o,e).then((e=>{const o=x(t);(t=>{const e={},o=[];g(t,((t,n)=>{const s={title:n,keywords:t.keywords,char:i(t),category:O(A,t.category)},r=void 0!==e[s.category]?e[s.category]:[];e[s.category]=r.concat([s]),o.push(s)})),n.set(e),s.set(o)})(d(e,o))}),(t=>{console.log(`Failed to load emojis: ${t}`),n.set({}),s.set([])}))}));const l=()=>s.get().getOr([]),u=()=>n.isSet()&&s.isSet();return{listCategories:()=>[k].concat(c(n.get().getOr({}))),hasLoaded:u,waitForLoad:()=>u()?Promise.resolve(!0):new Promise(((t,o)=>{let n=15;const s=setInterval((()=>{u()?(clearInterval(s),t(!0)):(n--,n<0&&(console.log("Could not load emojis from url: "+e),clearInterval(s),o(!1)))}),100)})),listAll:l,listCategory:t=>t===k?l():n.get().bind((e=>a.from(e[t]))).getOr([])}})(t,w(t),C(t));((t,e)=>{t.addCommand("mceEmoticons",(()=>N(t,e)))})(t,o),(t=>{const e=()=>t.execCommand("mceEmoticons");t.ui.registry.addButton("emoticons",{tooltip:"Emojis",icon:"emoji",onAction:e,onSetup:T(t)}),t.ui.registry.addMenuItem("emoticons",{text:"Emojis...",icon:"emoji",onAction:e,onSetup:T(t)})})(t),((t,e)=>{t.ui.registry.addAutocompleter("emoticons",{trigger:":",columns:"auto",minChars:2,fetch:(t,o)=>e.waitForLoad().then((()=>{const n=e.listAll();return S(n,t,a.some(o))})),onAction:(e,o,n)=>{t.selection.setRng(o),t.insertContent(n),e.hide()}})})(t,o),(t=>{t.on("PreInit",(()=>{t.parser.addAttributeFilter("data-emoticon",(t=>{((t,e)=>{for(let e=0,n=t.length;e { + let value = initial; + const get = () => { + return value; + }; + const set = v => { + value = v; + }; + return { + get, + set + }; + }; + + var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + const get$5 = fullscreenState => ({ isFullscreen: () => fullscreenState.get() !== null }); + + const hasProto = (v, constructor, predicate) => { + var _a; + if (predicate(v, constructor.prototype)) { + return true; + } else { + return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name; + } + }; + const typeOf = x => { + const t = typeof x; + if (x === null) { + return 'null'; + } else if (t === 'object' && Array.isArray(x)) { + return 'array'; + } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) { + return 'string'; + } else { + return t; + } + }; + const isType$1 = type => value => typeOf(value) === type; + const isSimpleType = type => value => typeof value === type; + const eq$1 = t => a => t === a; + const isString = isType$1('string'); + const isObject = isType$1('object'); + const isArray = isType$1('array'); + const isNull = eq$1(null); + const isBoolean = isSimpleType('boolean'); + const isUndefined = eq$1(undefined); + const isNullable = a => a === null || a === undefined; + const isNonNullable = a => !isNullable(a); + const isFunction = isSimpleType('function'); + const isNumber = isSimpleType('number'); + + const noop = () => { + }; + const compose = (fa, fb) => { + return (...args) => { + return fa(fb.apply(null, args)); + }; + }; + const compose1 = (fbc, fab) => a => fbc(fab(a)); + const constant = value => { + return () => { + return value; + }; + }; + function curry(fn, ...initialArgs) { + return (...restArgs) => { + const all = initialArgs.concat(restArgs); + return fn.apply(null, all); + }; + } + const never = constant(false); + const always = constant(true); + + class Optional { + constructor(tag, value) { + this.tag = tag; + this.value = value; + } + static some(value) { + return new Optional(true, value); + } + static none() { + return Optional.singletonNone; + } + fold(onNone, onSome) { + if (this.tag) { + return onSome(this.value); + } else { + return onNone(); + } + } + isSome() { + return this.tag; + } + isNone() { + return !this.tag; + } + map(mapper) { + if (this.tag) { + return Optional.some(mapper(this.value)); + } else { + return Optional.none(); + } + } + bind(binder) { + if (this.tag) { + return binder(this.value); + } else { + return Optional.none(); + } + } + exists(predicate) { + return this.tag && predicate(this.value); + } + forall(predicate) { + return !this.tag || predicate(this.value); + } + filter(predicate) { + if (!this.tag || predicate(this.value)) { + return this; + } else { + return Optional.none(); + } + } + getOr(replacement) { + return this.tag ? this.value : replacement; + } + or(replacement) { + return this.tag ? this : replacement; + } + getOrThunk(thunk) { + return this.tag ? this.value : thunk(); + } + orThunk(thunk) { + return this.tag ? this : thunk(); + } + getOrDie(message) { + if (!this.tag) { + throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None'); + } else { + return this.value; + } + } + static from(value) { + return isNonNullable(value) ? Optional.some(value) : Optional.none(); + } + getOrNull() { + return this.tag ? this.value : null; + } + getOrUndefined() { + return this.value; + } + each(worker) { + if (this.tag) { + worker(this.value); + } + } + toArray() { + return this.tag ? [this.value] : []; + } + toString() { + return this.tag ? `some(${ this.value })` : 'none()'; + } + } + Optional.singletonNone = new Optional(false); + + const nativePush = Array.prototype.push; + const map = (xs, f) => { + const len = xs.length; + const r = new Array(len); + for (let i = 0; i < len; i++) { + const x = xs[i]; + r[i] = f(x, i); + } + return r; + }; + const each$1 = (xs, f) => { + for (let i = 0, len = xs.length; i < len; i++) { + const x = xs[i]; + f(x, i); + } + }; + const filter$1 = (xs, pred) => { + const r = []; + for (let i = 0, len = xs.length; i < len; i++) { + const x = xs[i]; + if (pred(x, i)) { + r.push(x); + } + } + return r; + }; + const findUntil = (xs, pred, until) => { + for (let i = 0, len = xs.length; i < len; i++) { + const x = xs[i]; + if (pred(x, i)) { + return Optional.some(x); + } else if (until(x, i)) { + break; + } + } + return Optional.none(); + }; + const find$1 = (xs, pred) => { + return findUntil(xs, pred, never); + }; + const flatten = xs => { + const r = []; + for (let i = 0, len = xs.length; i < len; ++i) { + if (!isArray(xs[i])) { + throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs); + } + nativePush.apply(r, xs[i]); + } + return r; + }; + const bind$3 = (xs, f) => flatten(map(xs, f)); + const get$4 = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none(); + const head = xs => get$4(xs, 0); + const findMap = (arr, f) => { + for (let i = 0; i < arr.length; i++) { + const r = f(arr[i], i); + if (r.isSome()) { + return r; + } + } + return Optional.none(); + }; + + const lift2 = (oa, ob, f) => oa.isSome() && ob.isSome() ? Optional.some(f(oa.getOrDie(), ob.getOrDie())) : Optional.none(); + + const singleton = doRevoke => { + const subject = Cell(Optional.none()); + const revoke = () => subject.get().each(doRevoke); + const clear = () => { + revoke(); + subject.set(Optional.none()); + }; + const isSet = () => subject.get().isSome(); + const get = () => subject.get(); + const set = s => { + revoke(); + subject.set(Optional.some(s)); + }; + return { + clear, + isSet, + get, + set + }; + }; + const unbindable = () => singleton(s => s.unbind()); + const value = () => { + const subject = singleton(noop); + const on = f => subject.get().each(f); + return { + ...subject, + on + }; + }; + + const first = (fn, rate) => { + let timer = null; + const cancel = () => { + if (!isNull(timer)) { + clearTimeout(timer); + timer = null; + } + }; + const throttle = (...args) => { + if (isNull(timer)) { + timer = setTimeout(() => { + timer = null; + fn.apply(null, args); + }, rate); + } + }; + return { + cancel, + throttle + }; + }; + + const keys = Object.keys; + const each = (obj, f) => { + const props = keys(obj); + for (let k = 0, len = props.length; k < len; k++) { + const i = props[k]; + const x = obj[i]; + f(x, i); + } + }; + + const Global = typeof window !== 'undefined' ? window : Function('return this;')(); + + const path = (parts, scope) => { + let o = scope !== undefined && scope !== null ? scope : Global; + for (let i = 0; i < parts.length && o !== undefined && o !== null; ++i) { + o = o[parts[i]]; + } + return o; + }; + const resolve = (p, scope) => { + const parts = p.split('.'); + return path(parts, scope); + }; + + const unsafe = (name, scope) => { + return resolve(name, scope); + }; + const getOrDie = (name, scope) => { + const actual = unsafe(name, scope); + if (actual === undefined || actual === null) { + throw new Error(name + ' not available on this browser'); + } + return actual; + }; + + const getPrototypeOf = Object.getPrototypeOf; + const sandHTMLElement = scope => { + return getOrDie('HTMLElement', scope); + }; + const isPrototypeOf = x => { + const scope = resolve('ownerDocument.defaultView', x); + return isObject(x) && (sandHTMLElement(scope).prototype.isPrototypeOf(x) || /^HTML\w*Element$/.test(getPrototypeOf(x).constructor.name)); + }; + + const DOCUMENT = 9; + const DOCUMENT_FRAGMENT = 11; + const ELEMENT = 1; + const TEXT = 3; + + const type = element => element.dom.nodeType; + const isType = t => element => type(element) === t; + const isHTMLElement = element => isElement(element) && isPrototypeOf(element.dom); + const isElement = isType(ELEMENT); + const isText = isType(TEXT); + const isDocument = isType(DOCUMENT); + const isDocumentFragment = isType(DOCUMENT_FRAGMENT); + + const rawSet = (dom, key, value) => { + if (isString(value) || isBoolean(value) || isNumber(value)) { + dom.setAttribute(key, value + ''); + } else { + console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom); + throw new Error('Attribute value was not simple'); + } + }; + const set$1 = (element, key, value) => { + rawSet(element.dom, key, value); + }; + const get$3 = (element, key) => { + const v = element.dom.getAttribute(key); + return v === null ? undefined : v; + }; + const remove = (element, key) => { + element.dom.removeAttribute(key); + }; + + const supports = element => element.dom.classList !== undefined; + + const has = (element, clazz) => supports(element) && element.dom.classList.contains(clazz); + + const contains = (str, substr, start = 0, end) => { + const idx = str.indexOf(substr, start); + if (idx !== -1) { + return isUndefined(end) ? true : idx + substr.length <= end; + } else { + return false; + } + }; + + const isSupported$1 = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue); + + const fromHtml = (html, scope) => { + const doc = scope || document; + const div = doc.createElement('div'); + div.innerHTML = html; + if (!div.hasChildNodes() || div.childNodes.length > 1) { + const message = 'HTML does not have a single root node'; + console.error(message, html); + throw new Error(message); + } + return fromDom(div.childNodes[0]); + }; + const fromTag = (tag, scope) => { + const doc = scope || document; + const node = doc.createElement(tag); + return fromDom(node); + }; + const fromText = (text, scope) => { + const doc = scope || document; + const node = doc.createTextNode(text); + return fromDom(node); + }; + const fromDom = node => { + if (node === null || node === undefined) { + throw new Error('Node cannot be null or undefined'); + } + return { dom: node }; + }; + const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom); + const SugarElement = { + fromHtml, + fromTag, + fromText, + fromDom, + fromPoint + }; + + const is = (element, selector) => { + const dom = element.dom; + if (dom.nodeType !== ELEMENT) { + return false; + } else { + const elem = dom; + if (elem.matches !== undefined) { + return elem.matches(selector); + } else if (elem.msMatchesSelector !== undefined) { + return elem.msMatchesSelector(selector); + } else if (elem.webkitMatchesSelector !== undefined) { + return elem.webkitMatchesSelector(selector); + } else if (elem.mozMatchesSelector !== undefined) { + return elem.mozMatchesSelector(selector); + } else { + throw new Error('Browser lacks native selectors'); + } + } + }; + const bypassSelector = dom => dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0; + const all$1 = (selector, scope) => { + const base = scope === undefined ? document : scope.dom; + return bypassSelector(base) ? [] : map(base.querySelectorAll(selector), SugarElement.fromDom); + }; + + const eq = (e1, e2) => e1.dom === e2.dom; + + const owner = element => SugarElement.fromDom(element.dom.ownerDocument); + const documentOrOwner = dos => isDocument(dos) ? dos : owner(dos); + const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom); + const parents = (element, isRoot) => { + const stop = isFunction(isRoot) ? isRoot : never; + let dom = element.dom; + const ret = []; + while (dom.parentNode !== null && dom.parentNode !== undefined) { + const rawParent = dom.parentNode; + const p = SugarElement.fromDom(rawParent); + ret.push(p); + if (stop(p) === true) { + break; + } else { + dom = rawParent; + } + } + return ret; + }; + const siblings$2 = element => { + const filterSelf = elements => filter$1(elements, x => !eq(element, x)); + return parent(element).map(children).map(filterSelf).getOr([]); + }; + const nextSibling = element => Optional.from(element.dom.nextSibling).map(SugarElement.fromDom); + const children = element => map(element.dom.childNodes, SugarElement.fromDom); + + const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host); + const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode); + const isSupported = constant(supported); + const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner; + const getShadowRoot = e => { + const r = getRootNode(e); + return isShadowRoot(r) ? Optional.some(r) : Optional.none(); + }; + const getShadowHost = e => SugarElement.fromDom(e.dom.host); + const getOriginalEventTarget = event => { + if (isSupported() && isNonNullable(event.target)) { + const el = SugarElement.fromDom(event.target); + if (isElement(el) && isOpenShadowHost(el)) { + if (event.composed && event.composedPath) { + const composedPath = event.composedPath(); + if (composedPath) { + return head(composedPath); + } + } + } + } + return Optional.from(event.target); + }; + const isOpenShadowHost = element => isNonNullable(element.dom.shadowRoot); + + const inBody = element => { + const dom = isText(element) ? element.dom.parentNode : element.dom; + if (dom === undefined || dom === null || dom.ownerDocument === null) { + return false; + } + const doc = dom.ownerDocument; + return getShadowRoot(SugarElement.fromDom(dom)).fold(() => doc.body.contains(dom), compose1(inBody, getShadowHost)); + }; + const getBody = doc => { + const b = doc.dom.body; + if (b === null || b === undefined) { + throw new Error('Body is not available yet'); + } + return SugarElement.fromDom(b); + }; + + const internalSet = (dom, property, value) => { + if (!isString(value)) { + console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom); + throw new Error('CSS value must be a string: ' + value); + } + if (isSupported$1(dom)) { + dom.style.setProperty(property, value); + } + }; + const set = (element, property, value) => { + const dom = element.dom; + internalSet(dom, property, value); + }; + const setAll = (element, css) => { + const dom = element.dom; + each(css, (v, k) => { + internalSet(dom, k, v); + }); + }; + const get$2 = (element, property) => { + const dom = element.dom; + const styles = window.getComputedStyle(dom); + const r = styles.getPropertyValue(property); + return r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r; + }; + const getUnsafeProperty = (dom, property) => isSupported$1(dom) ? dom.style.getPropertyValue(property) : ''; + + const mkEvent = (target, x, y, stop, prevent, kill, raw) => ({ + target, + x, + y, + stop, + prevent, + kill, + raw + }); + const fromRawEvent = rawEvent => { + const target = SugarElement.fromDom(getOriginalEventTarget(rawEvent).getOr(rawEvent.target)); + const stop = () => rawEvent.stopPropagation(); + const prevent = () => rawEvent.preventDefault(); + const kill = compose(prevent, stop); + return mkEvent(target, rawEvent.clientX, rawEvent.clientY, stop, prevent, kill, rawEvent); + }; + const handle = (filter, handler) => rawEvent => { + if (filter(rawEvent)) { + handler(fromRawEvent(rawEvent)); + } + }; + const binder = (element, event, filter, handler, useCapture) => { + const wrapped = handle(filter, handler); + element.dom.addEventListener(event, wrapped, useCapture); + return { unbind: curry(unbind, element, event, wrapped, useCapture) }; + }; + const bind$2 = (element, event, filter, handler) => binder(element, event, filter, handler, false); + const unbind = (element, event, handler, useCapture) => { + element.dom.removeEventListener(event, handler, useCapture); + }; + + const filter = always; + const bind$1 = (element, event, handler) => bind$2(element, event, filter, handler); + + const cached = f => { + let called = false; + let r; + return (...args) => { + if (!called) { + called = true; + r = f.apply(null, args); + } + return r; + }; + }; + + const DeviceType = (os, browser, userAgent, mediaMatch) => { + const isiPad = os.isiOS() && /ipad/i.test(userAgent) === true; + const isiPhone = os.isiOS() && !isiPad; + const isMobile = os.isiOS() || os.isAndroid(); + const isTouch = isMobile || mediaMatch('(pointer:coarse)'); + const isTablet = isiPad || !isiPhone && isMobile && mediaMatch('(min-device-width:768px)'); + const isPhone = isiPhone || isMobile && !isTablet; + const iOSwebview = browser.isSafari() && os.isiOS() && /safari/i.test(userAgent) === false; + const isDesktop = !isPhone && !isTablet && !iOSwebview; + return { + isiPad: constant(isiPad), + isiPhone: constant(isiPhone), + isTablet: constant(isTablet), + isPhone: constant(isPhone), + isTouch: constant(isTouch), + isAndroid: os.isAndroid, + isiOS: os.isiOS, + isWebView: constant(iOSwebview), + isDesktop: constant(isDesktop) + }; + }; + + const firstMatch = (regexes, s) => { + for (let i = 0; i < regexes.length; i++) { + const x = regexes[i]; + if (x.test(s)) { + return x; + } + } + return undefined; + }; + const find = (regexes, agent) => { + const r = firstMatch(regexes, agent); + if (!r) { + return { + major: 0, + minor: 0 + }; + } + const group = i => { + return Number(agent.replace(r, '$' + i)); + }; + return nu$2(group(1), group(2)); + }; + const detect$3 = (versionRegexes, agent) => { + const cleanedAgent = String(agent).toLowerCase(); + if (versionRegexes.length === 0) { + return unknown$2(); + } + return find(versionRegexes, cleanedAgent); + }; + const unknown$2 = () => { + return nu$2(0, 0); + }; + const nu$2 = (major, minor) => { + return { + major, + minor + }; + }; + const Version = { + nu: nu$2, + detect: detect$3, + unknown: unknown$2 + }; + + const detectBrowser$1 = (browsers, userAgentData) => { + return findMap(userAgentData.brands, uaBrand => { + const lcBrand = uaBrand.brand.toLowerCase(); + return find$1(browsers, browser => { + var _a; + return lcBrand === ((_a = browser.brand) === null || _a === void 0 ? void 0 : _a.toLowerCase()); + }).map(info => ({ + current: info.name, + version: Version.nu(parseInt(uaBrand.version, 10), 0) + })); + }); + }; + + const detect$2 = (candidates, userAgent) => { + const agent = String(userAgent).toLowerCase(); + return find$1(candidates, candidate => { + return candidate.search(agent); + }); + }; + const detectBrowser = (browsers, userAgent) => { + return detect$2(browsers, userAgent).map(browser => { + const version = Version.detect(browser.versionRegexes, userAgent); + return { + current: browser.name, + version + }; + }); + }; + const detectOs = (oses, userAgent) => { + return detect$2(oses, userAgent).map(os => { + const version = Version.detect(os.versionRegexes, userAgent); + return { + current: os.name, + version + }; + }); + }; + + const normalVersionRegex = /.*?version\/\ ?([0-9]+)\.([0-9]+).*/; + const checkContains = target => { + return uastring => { + return contains(uastring, target); + }; + }; + const browsers = [ + { + name: 'Edge', + versionRegexes: [/.*?edge\/ ?([0-9]+)\.([0-9]+)$/], + search: uastring => { + return contains(uastring, 'edge/') && contains(uastring, 'chrome') && contains(uastring, 'safari') && contains(uastring, 'applewebkit'); + } + }, + { + name: 'Chromium', + brand: 'Chromium', + versionRegexes: [ + /.*?chrome\/([0-9]+)\.([0-9]+).*/, + normalVersionRegex + ], + search: uastring => { + return contains(uastring, 'chrome') && !contains(uastring, 'chromeframe'); + } + }, + { + name: 'IE', + versionRegexes: [ + /.*?msie\ ?([0-9]+)\.([0-9]+).*/, + /.*?rv:([0-9]+)\.([0-9]+).*/ + ], + search: uastring => { + return contains(uastring, 'msie') || contains(uastring, 'trident'); + } + }, + { + name: 'Opera', + versionRegexes: [ + normalVersionRegex, + /.*?opera\/([0-9]+)\.([0-9]+).*/ + ], + search: checkContains('opera') + }, + { + name: 'Firefox', + versionRegexes: [/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/], + search: checkContains('firefox') + }, + { + name: 'Safari', + versionRegexes: [ + normalVersionRegex, + /.*?cpu os ([0-9]+)_([0-9]+).*/ + ], + search: uastring => { + return (contains(uastring, 'safari') || contains(uastring, 'mobile/')) && contains(uastring, 'applewebkit'); + } + } + ]; + const oses = [ + { + name: 'Windows', + search: checkContains('win'), + versionRegexes: [/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/] + }, + { + name: 'iOS', + search: uastring => { + return contains(uastring, 'iphone') || contains(uastring, 'ipad'); + }, + versionRegexes: [ + /.*?version\/\ ?([0-9]+)\.([0-9]+).*/, + /.*cpu os ([0-9]+)_([0-9]+).*/, + /.*cpu iphone os ([0-9]+)_([0-9]+).*/ + ] + }, + { + name: 'Android', + search: checkContains('android'), + versionRegexes: [/.*?android\ ?([0-9]+)\.([0-9]+).*/] + }, + { + name: 'macOS', + search: checkContains('mac os x'), + versionRegexes: [/.*?mac\ os\ x\ ?([0-9]+)_([0-9]+).*/] + }, + { + name: 'Linux', + search: checkContains('linux'), + versionRegexes: [] + }, + { + name: 'Solaris', + search: checkContains('sunos'), + versionRegexes: [] + }, + { + name: 'FreeBSD', + search: checkContains('freebsd'), + versionRegexes: [] + }, + { + name: 'ChromeOS', + search: checkContains('cros'), + versionRegexes: [/.*?chrome\/([0-9]+)\.([0-9]+).*/] + } + ]; + const PlatformInfo = { + browsers: constant(browsers), + oses: constant(oses) + }; + + const edge = 'Edge'; + const chromium = 'Chromium'; + const ie = 'IE'; + const opera = 'Opera'; + const firefox = 'Firefox'; + const safari = 'Safari'; + const unknown$1 = () => { + return nu$1({ + current: undefined, + version: Version.unknown() + }); + }; + const nu$1 = info => { + const current = info.current; + const version = info.version; + const isBrowser = name => () => current === name; + return { + current, + version, + isEdge: isBrowser(edge), + isChromium: isBrowser(chromium), + isIE: isBrowser(ie), + isOpera: isBrowser(opera), + isFirefox: isBrowser(firefox), + isSafari: isBrowser(safari) + }; + }; + const Browser = { + unknown: unknown$1, + nu: nu$1, + edge: constant(edge), + chromium: constant(chromium), + ie: constant(ie), + opera: constant(opera), + firefox: constant(firefox), + safari: constant(safari) + }; + + const windows = 'Windows'; + const ios = 'iOS'; + const android = 'Android'; + const linux = 'Linux'; + const macos = 'macOS'; + const solaris = 'Solaris'; + const freebsd = 'FreeBSD'; + const chromeos = 'ChromeOS'; + const unknown = () => { + return nu({ + current: undefined, + version: Version.unknown() + }); + }; + const nu = info => { + const current = info.current; + const version = info.version; + const isOS = name => () => current === name; + return { + current, + version, + isWindows: isOS(windows), + isiOS: isOS(ios), + isAndroid: isOS(android), + isMacOS: isOS(macos), + isLinux: isOS(linux), + isSolaris: isOS(solaris), + isFreeBSD: isOS(freebsd), + isChromeOS: isOS(chromeos) + }; + }; + const OperatingSystem = { + unknown, + nu, + windows: constant(windows), + ios: constant(ios), + android: constant(android), + linux: constant(linux), + macos: constant(macos), + solaris: constant(solaris), + freebsd: constant(freebsd), + chromeos: constant(chromeos) + }; + + const detect$1 = (userAgent, userAgentDataOpt, mediaMatch) => { + const browsers = PlatformInfo.browsers(); + const oses = PlatformInfo.oses(); + const browser = userAgentDataOpt.bind(userAgentData => detectBrowser$1(browsers, userAgentData)).orThunk(() => detectBrowser(browsers, userAgent)).fold(Browser.unknown, Browser.nu); + const os = detectOs(oses, userAgent).fold(OperatingSystem.unknown, OperatingSystem.nu); + const deviceType = DeviceType(os, browser, userAgent, mediaMatch); + return { + browser, + os, + deviceType + }; + }; + const PlatformDetection = { detect: detect$1 }; + + const mediaMatch = query => window.matchMedia(query).matches; + let platform = cached(() => PlatformDetection.detect(navigator.userAgent, Optional.from(navigator.userAgentData), mediaMatch)); + const detect = () => platform(); + + const r = (left, top) => { + const translate = (x, y) => r(left + x, top + y); + return { + left, + top, + translate + }; + }; + const SugarPosition = r; + + const get$1 = _DOC => { + const doc = _DOC !== undefined ? _DOC.dom : document; + const x = doc.body.scrollLeft || doc.documentElement.scrollLeft; + const y = doc.body.scrollTop || doc.documentElement.scrollTop; + return SugarPosition(x, y); + }; + + const get = _win => { + const win = _win === undefined ? window : _win; + if (detect().browser.isFirefox()) { + return Optional.none(); + } else { + return Optional.from(win.visualViewport); + } + }; + const bounds = (x, y, width, height) => ({ + x, + y, + width, + height, + right: x + width, + bottom: y + height + }); + const getBounds = _win => { + const win = _win === undefined ? window : _win; + const doc = win.document; + const scroll = get$1(SugarElement.fromDom(doc)); + return get(win).fold(() => { + const html = win.document.documentElement; + const width = html.clientWidth; + const height = html.clientHeight; + return bounds(scroll.left, scroll.top, width, height); + }, visualViewport => bounds(Math.max(visualViewport.pageLeft, scroll.left), Math.max(visualViewport.pageTop, scroll.top), visualViewport.width, visualViewport.height)); + }; + const bind = (name, callback, _win) => get(_win).map(visualViewport => { + const handler = e => callback(fromRawEvent(e)); + visualViewport.addEventListener(name, handler); + return { unbind: () => visualViewport.removeEventListener(name, handler) }; + }).getOrThunk(() => ({ unbind: noop })); + + var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils'); + + var global = tinymce.util.Tools.resolve('tinymce.Env'); + + const fireFullscreenStateChanged = (editor, state) => { + editor.dispatch('FullscreenStateChanged', { state }); + editor.dispatch('ResizeEditor'); + }; + + const option = name => editor => editor.options.get(name); + const register$2 = editor => { + const registerOption = editor.options.register; + registerOption('fullscreen_native', { + processor: 'boolean', + default: false + }); + }; + const getFullscreenNative = option('fullscreen_native'); + + const getFullscreenRoot = editor => { + const elem = SugarElement.fromDom(editor.getElement()); + return getShadowRoot(elem).map(getShadowHost).getOrThunk(() => getBody(owner(elem))); + }; + const getFullscreenElement = root => { + if (root.fullscreenElement !== undefined) { + return root.fullscreenElement; + } else if (root.msFullscreenElement !== undefined) { + return root.msFullscreenElement; + } else if (root.webkitFullscreenElement !== undefined) { + return root.webkitFullscreenElement; + } else { + return null; + } + }; + const getFullscreenchangeEventName = () => { + if (document.fullscreenElement !== undefined) { + return 'fullscreenchange'; + } else if (document.msFullscreenElement !== undefined) { + return 'MSFullscreenChange'; + } else if (document.webkitFullscreenElement !== undefined) { + return 'webkitfullscreenchange'; + } else { + return 'fullscreenchange'; + } + }; + const requestFullscreen = sugarElem => { + const elem = sugarElem.dom; + if (elem.requestFullscreen) { + elem.requestFullscreen(); + } else if (elem.msRequestFullscreen) { + elem.msRequestFullscreen(); + } else if (elem.webkitRequestFullScreen) { + elem.webkitRequestFullScreen(); + } + }; + const exitFullscreen = sugarDoc => { + const doc = sugarDoc.dom; + if (doc.exitFullscreen) { + doc.exitFullscreen(); + } else if (doc.msExitFullscreen) { + doc.msExitFullscreen(); + } else if (doc.webkitCancelFullScreen) { + doc.webkitCancelFullScreen(); + } + }; + const isFullscreenElement = elem => elem.dom === getFullscreenElement(owner(elem).dom); + + const ancestors$1 = (scope, predicate, isRoot) => filter$1(parents(scope, isRoot), predicate); + const siblings$1 = (scope, predicate) => filter$1(siblings$2(scope), predicate); + + const all = selector => all$1(selector); + const ancestors = (scope, selector, isRoot) => ancestors$1(scope, e => is(e, selector), isRoot); + const siblings = (scope, selector) => siblings$1(scope, e => is(e, selector)); + + const attr = 'data-ephox-mobile-fullscreen-style'; + const siblingStyles = 'display:none!important;'; + const ancestorPosition = 'position:absolute!important;'; + const ancestorStyles = 'top:0!important;left:0!important;margin:0!important;padding:0!important;width:100%!important;height:100%!important;overflow:visible!important;'; + const bgFallback = 'background-color:rgb(255,255,255)!important;'; + const isAndroid = global.os.isAndroid(); + const matchColor = editorBody => { + const color = get$2(editorBody, 'background-color'); + return color !== undefined && color !== '' ? 'background-color:' + color + '!important' : bgFallback; + }; + const clobberStyles = (dom, container, editorBody) => { + const gatherSiblings = element => { + return siblings(element, '*:not(.tox-silver-sink)'); + }; + const clobber = clobberStyle => element => { + const styles = get$3(element, 'style'); + const backup = styles === undefined ? 'no-styles' : styles.trim(); + if (backup === clobberStyle) { + return; + } else { + set$1(element, attr, backup); + setAll(element, dom.parseStyle(clobberStyle)); + } + }; + const ancestors$1 = ancestors(container, '*'); + const siblings$1 = bind$3(ancestors$1, gatherSiblings); + const bgColor = matchColor(editorBody); + each$1(siblings$1, clobber(siblingStyles)); + each$1(ancestors$1, clobber(ancestorPosition + ancestorStyles + bgColor)); + const containerStyles = isAndroid === true ? '' : ancestorPosition; + clobber(containerStyles + ancestorStyles + bgColor)(container); + }; + const restoreStyles = dom => { + const clobberedEls = all('[' + attr + ']'); + each$1(clobberedEls, element => { + const restore = get$3(element, attr); + if (restore && restore !== 'no-styles') { + setAll(element, dom.parseStyle(restore)); + } else { + remove(element, 'style'); + } + remove(element, attr); + }); + }; + + const DOM = global$1.DOM; + const getScrollPos = () => getBounds(window); + const setScrollPos = pos => window.scrollTo(pos.x, pos.y); + const viewportUpdate = get().fold(() => ({ + bind: noop, + unbind: noop + }), visualViewport => { + const editorContainer = value(); + const resizeBinder = unbindable(); + const scrollBinder = unbindable(); + const refreshScroll = () => { + document.body.scrollTop = 0; + document.documentElement.scrollTop = 0; + }; + const refreshVisualViewport = () => { + window.requestAnimationFrame(() => { + editorContainer.on(container => setAll(container, { + top: visualViewport.offsetTop + 'px', + left: visualViewport.offsetLeft + 'px', + height: visualViewport.height + 'px', + width: visualViewport.width + 'px' + })); + }); + }; + const update = first(() => { + refreshScroll(); + refreshVisualViewport(); + }, 50); + const bind$1 = element => { + editorContainer.set(element); + update.throttle(); + resizeBinder.set(bind('resize', update.throttle)); + scrollBinder.set(bind('scroll', update.throttle)); + }; + const unbind = () => { + editorContainer.on(() => { + resizeBinder.clear(); + scrollBinder.clear(); + }); + editorContainer.clear(); + }; + return { + bind: bind$1, + unbind + }; + }); + const toggleFullscreen = (editor, fullscreenState) => { + const body = document.body; + const documentElement = document.documentElement; + const editorContainer = editor.getContainer(); + const editorContainerS = SugarElement.fromDom(editorContainer); + const sinkContainerS = nextSibling(editorContainerS).filter(elm => isHTMLElement(elm) && has(elm, 'tox-silver-sink')); + const fullscreenRoot = getFullscreenRoot(editor); + const fullscreenInfo = fullscreenState.get(); + const editorBody = SugarElement.fromDom(editor.getBody()); + const isTouch = global.deviceType.isTouch(); + const editorContainerStyle = editorContainer.style; + const iframe = editor.iframeElement; + const iframeStyle = iframe === null || iframe === void 0 ? void 0 : iframe.style; + const handleClasses = handler => { + handler(body, 'tox-fullscreen'); + handler(documentElement, 'tox-fullscreen'); + handler(editorContainer, 'tox-fullscreen'); + getShadowRoot(editorContainerS).map(root => getShadowHost(root).dom).each(host => { + handler(host, 'tox-fullscreen'); + handler(host, 'tox-shadowhost'); + }); + }; + const cleanup = () => { + if (isTouch) { + restoreStyles(editor.dom); + } + handleClasses(DOM.removeClass); + viewportUpdate.unbind(); + Optional.from(fullscreenState.get()).each(info => info.fullscreenChangeHandler.unbind()); + }; + if (!fullscreenInfo) { + const fullscreenChangeHandler = bind$1(owner(fullscreenRoot), getFullscreenchangeEventName(), _evt => { + if (getFullscreenNative(editor)) { + if (!isFullscreenElement(fullscreenRoot) && fullscreenState.get() !== null) { + toggleFullscreen(editor, fullscreenState); + } + } + }); + const newFullScreenInfo = { + scrollPos: getScrollPos(), + containerWidth: editorContainerStyle.width, + containerHeight: editorContainerStyle.height, + containerTop: editorContainerStyle.top, + containerLeft: editorContainerStyle.left, + iframeWidth: iframeStyle.width, + iframeHeight: iframeStyle.height, + fullscreenChangeHandler, + sinkCssPosition: sinkContainerS.map(elm => get$2(elm, 'position')) + }; + if (isTouch) { + clobberStyles(editor.dom, editorContainerS, editorBody); + } + iframeStyle.width = iframeStyle.height = '100%'; + editorContainerStyle.width = editorContainerStyle.height = ''; + handleClasses(DOM.addClass); + sinkContainerS.each(elm => { + set(elm, 'position', 'fixed'); + }); + viewportUpdate.bind(editorContainerS); + editor.on('remove', cleanup); + fullscreenState.set(newFullScreenInfo); + if (getFullscreenNative(editor)) { + requestFullscreen(fullscreenRoot); + } + fireFullscreenStateChanged(editor, true); + } else { + fullscreenInfo.fullscreenChangeHandler.unbind(); + if (getFullscreenNative(editor) && isFullscreenElement(fullscreenRoot)) { + exitFullscreen(owner(fullscreenRoot)); + } + iframeStyle.width = fullscreenInfo.iframeWidth; + iframeStyle.height = fullscreenInfo.iframeHeight; + editorContainerStyle.width = fullscreenInfo.containerWidth; + editorContainerStyle.height = fullscreenInfo.containerHeight; + editorContainerStyle.top = fullscreenInfo.containerTop; + editorContainerStyle.left = fullscreenInfo.containerLeft; + lift2(sinkContainerS, fullscreenInfo.sinkCssPosition, (elm, val) => { + set(elm, 'position', val); + }); + cleanup(); + setScrollPos(fullscreenInfo.scrollPos); + fullscreenState.set(null); + fireFullscreenStateChanged(editor, false); + editor.off('remove', cleanup); + } + }; + + const register$1 = (editor, fullscreenState) => { + editor.addCommand('mceFullScreen', () => { + toggleFullscreen(editor, fullscreenState); + }); + }; + + const makeSetupHandler = (editor, fullscreenState) => api => { + api.setActive(fullscreenState.get() !== null); + const editorEventCallback = e => api.setActive(e.state); + editor.on('FullscreenStateChanged', editorEventCallback); + return () => editor.off('FullscreenStateChanged', editorEventCallback); + }; + const register = (editor, fullscreenState) => { + const onAction = () => editor.execCommand('mceFullScreen'); + editor.ui.registry.addToggleMenuItem('fullscreen', { + text: 'Fullscreen', + icon: 'fullscreen', + shortcut: 'Meta+Shift+F', + onAction, + onSetup: makeSetupHandler(editor, fullscreenState) + }); + editor.ui.registry.addToggleButton('fullscreen', { + tooltip: 'Fullscreen', + icon: 'fullscreen', + onAction, + onSetup: makeSetupHandler(editor, fullscreenState) + }); + }; + + var Plugin = () => { + global$2.add('fullscreen', editor => { + const fullscreenState = Cell(null); + if (editor.inline) { + return get$5(fullscreenState); + } + register$2(editor); + register$1(editor, fullscreenState); + register(editor, fullscreenState); + editor.addShortcut('Meta+Shift+F', '', 'mceFullScreen'); + return get$5(fullscreenState); + }); + }; + + Plugin(); + +})(); diff --git a/public/tools/cloud_notes/tinymce/plugins/fullscreen/plugin.min.js b/public/tools/cloud_notes/tinymce/plugins/fullscreen/plugin.min.js new file mode 100644 index 0000000..c4d5cfc --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/fullscreen/plugin.min.js @@ -0,0 +1,4 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ +!function(){"use strict";const e=e=>{let t=e;return{get:()=>t,set:e=>{t=e}}};var t=tinymce.util.Tools.resolve("tinymce.PluginManager");const n=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(n=r=e,(o=String).prototype.isPrototypeOf(n)||(null===(s=r.constructor)||void 0===s?void 0:s.name)===o.name)?"string":t;var n,r,o,s})(t)===e,r=e=>t=>typeof t===e,o=e=>t=>e===t,s=n("string"),i=n("object"),l=n("array"),a=o(null),c=r("boolean"),u=o(void 0),d=e=>!(e=>null==e)(e),m=r("function"),h=r("number"),g=()=>{},p=e=>()=>e;function f(e,...t){return(...n)=>{const r=t.concat(n);return e.apply(null,r)}}const v=p(!1),w=p(!0);class b{constructor(e,t){this.tag=e,this.value=t}static some(e){return new b(!0,e)}static none(){return b.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?b.some(e(this.value)):b.none()}bind(e){return this.tag?e(this.value):b.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:b.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return d(e)?b.some(e):b.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}b.singletonNone=new b(!1);const y=Array.prototype.push,S=(e,t)=>{const n=e.length,r=new Array(n);for(let o=0;o{for(let n=0,r=e.length;n{const n=[];for(let r=0,o=e.length;r((e,t,n)=>{for(let r=0,o=e.length;r{const n=e(b.none()),r=()=>n.get().each(t);return{clear:()=>{r(),n.set(b.none())},isSet:()=>n.get().isSome(),get:()=>n.get(),set:e=>{r(),n.set(b.some(e))}}},k=()=>O((e=>e.unbind())),T=Object.keys,C="undefined"!=typeof window?window:Function("return this;")(),A=(e,t)=>((e,t)=>{let n=null!=t?t:C;for(let t=0;t{const t=A("ownerDocument.defaultView",e);return i(e)&&((e=>((e,t)=>{const n=((e,t)=>A(e,t))(e,t);if(null==n)throw new Error(e+" not available on this browser");return n})("HTMLElement",e))(t).prototype.isPrototypeOf(e)||/^HTML\w*Element$/.test(R(e).constructor.name))},M=e=>t=>(e=>e.dom.nodeType)(t)===e,P=M(1),D=M(3),N=M(9),H=M(11),W=(e,t)=>{const n=e.dom.getAttribute(t);return null===n?void 0:n},q=(e,t)=>{e.dom.removeAttribute(t)},I=(e,t,n=0,r)=>{const o=e.indexOf(t,n);return-1!==o&&(!!u(r)||o+t.length<=r)},V=e=>void 0!==e.style&&m(e.style.getPropertyValue),j=e=>{if(null==e)throw new Error("Node cannot be null or undefined");return{dom:e}},B=j,_=(e,t)=>{const n=e.dom;if(1!==n.nodeType)return!1;{const e=n;if(void 0!==e.matches)return e.matches(t);if(void 0!==e.msMatchesSelector)return e.msMatchesSelector(t);if(void 0!==e.webkitMatchesSelector)return e.webkitMatchesSelector(t);if(void 0!==e.mozMatchesSelector)return e.mozMatchesSelector(t);throw new Error("Browser lacks native selectors")}},z=e=>B(e.dom.ownerDocument),$=e=>S(e.dom.childNodes,B),U=m(Element.prototype.attachShadow)&&m(Node.prototype.getRootNode),K=p(U),X=U?e=>B(e.dom.getRootNode()):e=>N(e)?e:z(e),Y=e=>{const t=X(e);return H(n=t)&&d(n.dom.host)?b.some(t):b.none();var n},G=e=>B(e.dom.host),J=e=>{const t=D(e)?e.dom.parentNode:e.dom;if(null==t||null===t.ownerDocument)return!1;const n=t.ownerDocument;return Y(B(t)).fold((()=>n.body.contains(t)),(r=J,o=G,e=>r(o(e))));var r,o},Q=(e,t,n)=>{if(!s(n))throw console.error("Invalid call to CSS.set. Property ",t,":: Value ",n,":: Element ",e),new Error("CSS value must be a string: "+n);V(e)&&e.style.setProperty(t,n)},Z=(e,t,n)=>{const r=e.dom;Q(r,t,n)},ee=(e,t)=>{const n=e.dom;((e,t)=>{const n=T(e);for(let r=0,o=n.length;r{Q(n,t,e)}))},te=(e,t)=>{const n=e.dom,r=window.getComputedStyle(n).getPropertyValue(t);return""!==r||J(e)?r:ne(n,t)},ne=(e,t)=>V(e)?e.style.getPropertyValue(t):"",re=e=>{const t=B((e=>{if(K()&&d(e.target)){const t=B(e.target);if(P(t)&&d(t.dom.shadowRoot)&&e.composed&&e.composedPath){const t=e.composedPath();if(t)return((e,t)=>0e.stopPropagation(),r=()=>e.preventDefault(),o=(s=r,i=n,(...e)=>s(i.apply(null,e)));var s,i;return((e,t,n,r,o,s,i)=>({target:e,x:t,y:n,stop:r,prevent:o,kill:s,raw:i}))(t,e.clientX,e.clientY,n,r,o,e)},oe=(e,t,n,r)=>{e.dom.removeEventListener(t,n,r)},se=w,ie=(e,t,n)=>((e,t,n,r)=>((e,t,n,r,o)=>{const s=((e,t)=>n=>{e(n)&&t(re(n))})(n,r);return e.dom.addEventListener(t,s,o),{unbind:f(oe,e,t,s,o)}})(e,t,n,r,!1))(e,t,se,n),le=()=>ae(0,0),ae=(e,t)=>({major:e,minor:t}),ce={nu:ae,detect:(e,t)=>{const n=String(t).toLowerCase();return 0===e.length?le():((e,t)=>{const n=((e,t)=>{for(let n=0;nNumber(t.replace(n,"$"+e));return ae(r(1),r(2))})(e,n)},unknown:le},ue=(e,t)=>{const n=String(t).toLowerCase();return F(e,(e=>e.search(n)))},de=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,me=e=>t=>I(t,e),he=[{name:"Edge",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:e=>I(e,"edge/")&&I(e,"chrome")&&I(e,"safari")&&I(e,"applewebkit")},{name:"Chromium",brand:"Chromium",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,de],search:e=>I(e,"chrome")&&!I(e,"chromeframe")},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:e=>I(e,"msie")||I(e,"trident")},{name:"Opera",versionRegexes:[de,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:me("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:me("firefox")},{name:"Safari",versionRegexes:[de,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:e=>(I(e,"safari")||I(e,"mobile/"))&&I(e,"applewebkit")}],ge=[{name:"Windows",search:me("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:e=>I(e,"iphone")||I(e,"ipad"),versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:me("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"macOS",search:me("mac os x"),versionRegexes:[/.*?mac\ os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:me("linux"),versionRegexes:[]},{name:"Solaris",search:me("sunos"),versionRegexes:[]},{name:"FreeBSD",search:me("freebsd"),versionRegexes:[]},{name:"ChromeOS",search:me("cros"),versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/]}],pe={browsers:p(he),oses:p(ge)},fe="Edge",ve="Chromium",we="Opera",be="Firefox",ye="Safari",Se=e=>{const t=e.current,n=e.version,r=e=>()=>t===e;return{current:t,version:n,isEdge:r(fe),isChromium:r(ve),isIE:r("IE"),isOpera:r(we),isFirefox:r(be),isSafari:r(ye)}},xe=()=>Se({current:void 0,version:ce.unknown()}),Ee=Se,Fe=(p(fe),p(ve),p("IE"),p(we),p(be),p(ye),"Windows"),Oe="Android",ke="Linux",Te="macOS",Ce="Solaris",Ae="FreeBSD",Re="ChromeOS",Le=e=>{const t=e.current,n=e.version,r=e=>()=>t===e;return{current:t,version:n,isWindows:r(Fe),isiOS:r("iOS"),isAndroid:r(Oe),isMacOS:r(Te),isLinux:r(ke),isSolaris:r(Ce),isFreeBSD:r(Ae),isChromeOS:r(Re)}},Me=()=>Le({current:void 0,version:ce.unknown()}),Pe=Le,De=(p(Fe),p("iOS"),p(Oe),p(ke),p(Te),p(Ce),p(Ae),p(Re),(e,t,n)=>{const r=pe.browsers(),o=pe.oses(),s=t.bind((e=>((e,t)=>((e,t)=>{for(let n=0;n{const n=t.brand.toLowerCase();return F(e,(e=>{var t;return n===(null===(t=e.brand)||void 0===t?void 0:t.toLowerCase())})).map((e=>({current:e.name,version:ce.nu(parseInt(t.version,10),0)})))})))(r,e))).orThunk((()=>((e,t)=>ue(e,t).map((e=>{const n=ce.detect(e.versionRegexes,t);return{current:e.name,version:n}})))(r,e))).fold(xe,Ee),i=((e,t)=>ue(e,t).map((e=>{const n=ce.detect(e.versionRegexes,t);return{current:e.name,version:n}})))(o,e).fold(Me,Pe),l=((e,t,n,r)=>{const o=e.isiOS()&&!0===/ipad/i.test(n),s=e.isiOS()&&!o,i=e.isiOS()||e.isAndroid(),l=i||r("(pointer:coarse)"),a=o||!s&&i&&r("(min-device-width:768px)"),c=s||i&&!a,u=t.isSafari()&&e.isiOS()&&!1===/safari/i.test(n),d=!c&&!a&&!u;return{isiPad:p(o),isiPhone:p(s),isTablet:p(a),isPhone:p(c),isTouch:p(l),isAndroid:e.isAndroid,isiOS:e.isiOS,isWebView:p(u),isDesktop:p(d)}})(i,s,e,n);return{browser:s,os:i,deviceType:l}}),Ne=e=>window.matchMedia(e).matches;let He=(e=>{let t,n=!1;return(...r)=>(n||(n=!0,t=e.apply(null,r)),t)})((()=>De(navigator.userAgent,b.from(navigator.userAgentData),Ne)));const We=(e,t)=>({left:e,top:t,translate:(n,r)=>We(e+n,t+r)}),qe=We,Ie=e=>{const t=void 0===e?window:e;return He().browser.isFirefox()?b.none():b.from(t.visualViewport)},Ve=(e,t,n,r)=>({x:e,y:t,width:n,height:r,right:e+n,bottom:t+r}),je=e=>{const t=void 0===e?window:e,n=t.document,r=(e=>{const t=void 0!==e?e.dom:document,n=t.body.scrollLeft||t.documentElement.scrollLeft,r=t.body.scrollTop||t.documentElement.scrollTop;return qe(n,r)})(B(n));return Ie(t).fold((()=>{const e=t.document.documentElement,n=e.clientWidth,o=e.clientHeight;return Ve(r.left,r.top,n,o)}),(e=>Ve(Math.max(e.pageLeft,r.left),Math.max(e.pageTop,r.top),e.width,e.height)))},Be=(e,t,n)=>Ie(n).map((n=>{const r=e=>t(re(e));return n.addEventListener(e,r),{unbind:()=>n.removeEventListener(e,r)}})).getOrThunk((()=>({unbind:g})));var _e=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),ze=tinymce.util.Tools.resolve("tinymce.Env");const $e=(e,t)=>{e.dispatch("FullscreenStateChanged",{state:t}),e.dispatch("ResizeEditor")},Ue=("fullscreen_native",e=>e.options.get("fullscreen_native"));const Ke=e=>{return e.dom===(void 0!==(t=z(e).dom).fullscreenElement?t.fullscreenElement:void 0!==t.msFullscreenElement?t.msFullscreenElement:void 0!==t.webkitFullscreenElement?t.webkitFullscreenElement:null);var t},Xe=(e,t,n)=>((e,t,n)=>E(((e,t)=>{const n=m(t)?t:v;let r=e.dom;const o=[];for(;null!==r.parentNode&&void 0!==r.parentNode;){const e=r.parentNode,t=B(e);if(o.push(t),!0===n(t))break;r=e}return o})(e,n),t))(e,(e=>_(e,t)),n),Ye=(e,t)=>((e,n)=>{return E((e=>b.from(e.dom.parentNode).map(B))(r=e).map($).map((e=>E(e,(e=>{return t=e,!(r.dom===t.dom);var t})))).getOr([]),(e=>_(e,t)));var r})(e),Ge="data-ephox-mobile-fullscreen-style",Je="position:absolute!important;",Qe="top:0!important;left:0!important;margin:0!important;padding:0!important;width:100%!important;height:100%!important;overflow:visible!important;",Ze=ze.os.isAndroid(),et=(e,t,n)=>{const r=t=>n=>{const r=W(n,"style"),o=void 0===r?"no-styles":r.trim();o!==t&&(((e,t,n)=>{((e,t,n)=>{if(!(s(n)||c(n)||h(n)))throw console.error("Invalid call to Attribute.set. Key ",t,":: Value ",n,":: Element ",e),new Error("Attribute value was not simple");e.setAttribute(t,n+"")})(e.dom,t,n)})(n,Ge,o),ee(n,e.parseStyle(t)))},o=Xe(t,"*"),i=(e=>{const t=[];for(let n=0,r=e.length;nYe(e,"*:not(.tox-silver-sink)")))),a=(e=>{const t=te(e,"background-color");return void 0!==t&&""!==t?"background-color:"+t+"!important":"background-color:rgb(255,255,255)!important;"})(n);x(i,r("display:none!important;")),x(o,r(Je+Qe+a)),r((!0===Ze?"":Je)+Qe+a)(t)},tt=_e.DOM,nt=Ie().fold((()=>({bind:g,unbind:g})),(e=>{const t=(()=>{const e=O(g);return{...e,on:t=>e.get().each(t)}})(),n=k(),r=k(),o=((e,t)=>{let n=null;return{cancel:()=>{a(n)||(clearTimeout(n),n=null)},throttle:(...t)=>{a(n)&&(n=setTimeout((()=>{n=null,e.apply(null,t)}),50))}}})((()=>{document.body.scrollTop=0,document.documentElement.scrollTop=0,window.requestAnimationFrame((()=>{t.on((t=>ee(t,{top:e.offsetTop+"px",left:e.offsetLeft+"px",height:e.height+"px",width:e.width+"px"})))}))}));return{bind:e=>{t.set(e),o.throttle(),n.set(Be("resize",o.throttle)),r.set(Be("scroll",o.throttle))},unbind:()=>{t.on((()=>{n.clear(),r.clear()})),t.clear()}}})),rt=(e,t)=>{const n=document.body,r=document.documentElement,o=e.getContainer(),s=B(o),i=(l=s,b.from(l.dom.nextSibling).map(B)).filter((e=>(e=>P(e)&&L(e.dom))(e)&&((e,t)=>(e=>void 0!==e.dom.classList)(e)&&e.dom.classList.contains("tox-silver-sink"))(e)));var l;const a=(e=>{const t=B(e.getElement());return Y(t).map(G).getOrThunk((()=>(e=>{const t=e.dom.body;if(null==t)throw new Error("Body is not available yet");return B(t)})(z(t))))})(e),c=t.get(),u=B(e.getBody()),d=ze.deviceType.isTouch(),m=o.style,h=e.iframeElement,g=null==h?void 0:h.style,p=e=>{e(n,"tox-fullscreen"),e(r,"tox-fullscreen"),e(o,"tox-fullscreen"),Y(s).map((e=>G(e).dom)).each((t=>{e(t,"tox-fullscreen"),e(t,"tox-shadowhost")}))},f=()=>{d&&(e=>{const t=((e,t)=>{const n=document;return 1!==(r=n).nodeType&&9!==r.nodeType&&11!==r.nodeType||0===r.childElementCount?[]:S(n.querySelectorAll(e),B);var r})("["+Ge+"]");x(t,(t=>{const n=W(t,Ge);n&&"no-styles"!==n?ee(t,e.parseStyle(n)):q(t,"style"),q(t,Ge)}))})(e.dom),p(tt.removeClass),nt.unbind(),b.from(t.get()).each((e=>e.fullscreenChangeHandler.unbind()))};if(c)c.fullscreenChangeHandler.unbind(),Ue(e)&&Ke(a)&&(e=>{const t=e.dom;t.exitFullscreen?t.exitFullscreen():t.msExitFullscreen?t.msExitFullscreen():t.webkitCancelFullScreen&&t.webkitCancelFullScreen()})(z(a)),g.width=c.iframeWidth,g.height=c.iframeHeight,m.width=c.containerWidth,m.height=c.containerHeight,m.top=c.containerTop,m.left=c.containerLeft,w=i,y=c.sinkCssPosition,E=(e,t)=>{Z(e,"position",t)},w.isSome()&&y.isSome()?b.some(E(w.getOrDie(),y.getOrDie())):b.none(),f(),v=c.scrollPos,window.scrollTo(v.x,v.y),t.set(null),$e(e,!1),e.off("remove",f);else{const n=ie(z(a),void 0!==document.fullscreenElement?"fullscreenchange":void 0!==document.msFullscreenElement?"MSFullscreenChange":void 0!==document.webkitFullscreenElement?"webkitfullscreenchange":"fullscreenchange",(n=>{Ue(e)&&(Ke(a)||null===t.get()||rt(e,t))})),r={scrollPos:je(window),containerWidth:m.width,containerHeight:m.height,containerTop:m.top,containerLeft:m.left,iframeWidth:g.width,iframeHeight:g.height,fullscreenChangeHandler:n,sinkCssPosition:i.map((e=>te(e,"position")))};d&&et(e.dom,s,u),g.width=g.height="100%",m.width=m.height="",p(tt.addClass),i.each((e=>{Z(e,"position","fixed")})),nt.bind(s),e.on("remove",f),t.set(r),Ue(e)&&(e=>{const t=e.dom;t.requestFullscreen?t.requestFullscreen():t.msRequestFullscreen?t.msRequestFullscreen():t.webkitRequestFullScreen&&t.webkitRequestFullScreen()})(a),$e(e,!0)}var v,w,y,E},ot=(e,t)=>n=>{n.setActive(null!==t.get());const r=e=>n.setActive(e.state);return e.on("FullscreenStateChanged",r),()=>e.off("FullscreenStateChanged",r)};t.add("fullscreen",(t=>{const n=e(null);return t.inline||((e=>{(0,e.options.register)("fullscreen_native",{processor:"boolean",default:!1})})(t),((e,t)=>{e.addCommand("mceFullScreen",(()=>{rt(e,t)}))})(t,n),((e,t)=>{const n=()=>e.execCommand("mceFullScreen");e.ui.registry.addToggleMenuItem("fullscreen",{text:"Fullscreen",icon:"fullscreen",shortcut:"Meta+Shift+F",onAction:n,onSetup:ot(e,t)}),e.ui.registry.addToggleButton("fullscreen",{tooltip:"Fullscreen",icon:"fullscreen",onAction:n,onSetup:ot(e,t)})})(t,n),t.addShortcut("Meta+Shift+F","","mceFullScreen")),(e=>({isFullscreen:()=>null!==e.get()}))(n)}))}(); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/index.js b/public/tools/cloud_notes/tinymce/plugins/help/index.js new file mode 100644 index 0000000..7f4bfe0 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/index.js @@ -0,0 +1,7 @@ +// Exports the "help" plugin for usage with module loaders +// Usage: +// CommonJS: +// require('tinymce/plugins/help') +// ES2015: +// import 'tinymce/plugins/help' +require('./plugin.js'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/ar.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/ar.js new file mode 100644 index 0000000..e851e65 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/ar.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.ar', +'

    بدء التنقل بواسطة لوحة المفاتيح

    \n' + + '\n' + + '
    \n' + + '
    التركيز على شريط القوائم
    \n' + + '
    نظاما التشغيل Windows أو Linux: Alt + F9
    \n' + + '
    نظام التشغيل macOS: ⌥F9
    \n' + + '
    التركيز على شريط الأدوات
    \n' + + '
    نظاما التشغيل Windows أو Linux: Alt + F10
    \n' + + '
    نظام التشغيل macOS: ⌥F10
    \n' + + '
    التركيز على التذييل
    \n' + + '
    نظاما التشغيل Windows أو Linux: Alt + F11
    \n' + + '
    نظام التشغيل macOS: ⌥F11
    \n' + + '
    التركيز على شريط أدوات السياق
    \n' + + '
    أنظمة التشغيل Windows أو Linux أو macOS: Ctrl+F9\n' + + '
    \n' + + '\n' + + '

    سيبدأ التنقل عند عنصر واجهة المستخدم الأول، والذي سيتم تمييزه أو تسطيره في حالة العنصر الأول في\n' + + ' مسار عنصر التذييل.

    \n' + + '\n' + + '

    التنقل بين أقسام واجهة المستخدم

    \n' + + '\n' + + '

    للانتقال من أحد أقسام واجهة المستخدم إلى القسم التالي، اضغط على Tab.

    \n' + + '\n' + + '

    للانتقال من أحد أقسام واجهة المستخدم إلى القسم السابق، اضغط على Shift+Tab.

    \n' + + '\n' + + '

    ترتيب علامات Tab لأقسام واجهة المستخدم هذه هو:

    \n' + + '\n' + + '
      \n' + + '
    1. شريط القوائم
    2. \n' + + '
    3. كل مجموعة شريط الأدوات
    4. \n' + + '
    5. الشريط الجانبي
    6. \n' + + '
    7. مسار العنصر في التذييل
    8. \n' + + '
    9. زر تبديل عدد الكلمات في التذييل
    10. \n' + + '
    11. رابط إدراج العلامة التجارية في التذييل
    12. \n' + + '
    13. مؤشر تغيير حجم المحرر في التذييل
    14. \n' + + '
    \n' + + '\n' + + '

    إذا لم يكن قسم واجهة المستخدم موجودًا، فسيتم تخطيه.

    \n' + + '\n' + + '

    إذا كان التذييل يحتوي على التركيز على ‏‫التنقل بواسطة لوحة المفاتيح، ولا يوجد شريط جانبي مرئي، فإن الضغط على Shift+Tab\n' + + ' ينقل التركيز إلى مجموعة شريط الأدوات الأولى، وليس الأخيرة.

    \n' + + '\n' + + '

    التنقل بين أقسام واجهة المستخدم

    \n' + + '\n' + + '

    للانتقال من أحد عناصر واجهة المستخدم إلى العنصر التالي، اضغط على مفتاح السهم المناسب.

    \n' + + '\n' + + '

    مفتاحا السهمين اليسار‎ واليمين‎

    \n' + + '\n' + + '
      \n' + + '
    • التنقل بين القوائم في شريط القوائم.
    • \n' + + '
    • فتح قائمة فرعية في القائمة.
    • \n' + + '
    • التنقل بين الأزرار في مجموعة شريط الأدوات.
    • \n' + + '
    • التنقل بين العناصر في مسار عنصر التذييل.
    • \n' + + '
    \n' + + '\n' + + '

    مفتاحا السهمين لأسفل‎ ولأعلى‎

    \n' + + '\n' + + '
      \n' + + '
    • التنقل بين عناصر القائمة في القائمة.
    • \n' + + '
    • التنقل بين العناصر في قائمة شريط الأدوات المنبثقة.
    • \n' + + '
    \n' + + '\n' + + '

    دورة مفاتيح الأسهم‎ داخل قسم واجهة المستخدم التي تم التركيز عليها.

    \n' + + '\n' + + '

    لإغلاق قائمة مفتوحة أو قائمة فرعية مفتوحة أو قائمة منبثقة مفتوحة، اضغط على مفتاح Esc.

    \n' + + '\n' + + '

    إذا كان التركيز الحالي على "الجزء العلوي" من قسم معين لواجهة المستخدم، فإن الضغط على مفتاح Esc يؤدي أيضًا إلى الخروج\n' + + ' من التنقل بواسطة لوحة المفاتيح بالكامل.

    \n' + + '\n' + + '

    تنفيذ عنصر قائمة أو زر شريط أدوات

    \n' + + '\n' + + '

    عندما يتم تمييز عنصر القائمة المطلوب أو زر شريط الأدوات، اضغط على زر Return، أو Enter،\n' + + ' أو مفتاح المسافة لتنفيذ العنصر.

    \n' + + '\n' + + '

    التنقل في مربعات الحوار غير المبوبة

    \n' + + '\n' + + '

    في مربعات الحوار غير المبوبة، يتم التركيز على المكون التفاعلي الأول عند فتح مربع الحوار.

    \n' + + '\n' + + '

    التنقل بين مكونات الحوار التفاعلي بالضغط على زر Tab أو Shift+Tab.

    \n' + + '\n' + + '

    التنقل في مربعات الحوار المبوبة

    \n' + + '\n' + + '

    في مربعات الحوار المبوبة، يتم التركيز على الزر الأول في قائمة علامات التبويب عند فتح مربع الحوار.

    \n' + + '\n' + + '

    التنقل بين المكونات التفاعلية لعلامة التبويب لمربع الحوار هذه بالضغط على زر Tab أو\n' + + ' Shift+Tab.

    \n' + + '\n' + + '

    التبديل إلى علامة تبويب أخرى لمربع الحوار من خلال التركيز على قائمة علامة التبويب ثم الضغط على زر السهم المناسب\n' + + ' مفتاح للتنقل بين علامات التبويب المتاحة.

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/bg_BG.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/bg_BG.js new file mode 100644 index 0000000..e1635d8 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/bg_BG.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.bg_BG', +'

    Начало на навигацията с клавиатурата

    \n' + + '\n' + + '
    \n' + + '
    Фокусиране върху лентата с менюта
    \n' + + '
    Windows или Linux: Alt+F9
    \n' + + '
    macOS: ⌥F9
    \n' + + '
    Фокусиране върху лентата с инструменти
    \n' + + '
    Windows или Linux: Alt+F10
    \n' + + '
    macOS: ⌥F10
    \n' + + '
    Фокусиране върху долния колонтитул
    \n' + + '
    Windows или Linux: Alt+F11
    \n' + + '
    macOS: ⌥F11
    \n' + + '
    Фокусиране върху контекстуалната лента с инструменти
    \n' + + '
    Windows, Linux или macOS: Ctrl+F9\n' + + '
    \n' + + '\n' + + '

    Навигацията ще започне с първия елемент на ПИ, който ще бъде маркиран или подчертан в случая на първия елемент в\n' + + ' пътя до елемента в долния колонтитул.

    \n' + + '\n' + + '

    Навигиране между раздели на ПИ

    \n' + + '\n' + + '

    За да преминете от един раздел на ПИ към следващия, натиснете Tab.

    \n' + + '\n' + + '

    За да преминете от един раздел на ПИ към предишния, натиснете Shift+Tab.

    \n' + + '\n' + + '

    Редът за обхождане с табулация на тези раздели на ПИ е:

    \n' + + '\n' + + '
      \n' + + '
    1. Лентата с менюта
    2. \n' + + '
    3. Всяка група на лентата с инструменти
    4. \n' + + '
    5. Страничната лента
    6. \n' + + '
    7. Пътят до елемента в долния колонтитул
    8. \n' + + '
    9. Бутонът за превключване на броя на думите в долния колонтитул
    10. \n' + + '
    11. Връзката за търговска марка в долния колонтитул
    12. \n' + + '
    13. Манипулаторът за преоразмеряване на редактора в долния колонтитул
    14. \n' + + '
    \n' + + '\n' + + '

    Ако някой раздел на ПИ липсва, той се пропуска.

    \n' + + '\n' + + '

    Ако долният колонтитул има фокус за навигация с клавиатурата и няма странична лента, натискането на Shift+Tab\n' + + ' премества фокуса към първата група на лентата с инструменти, а не към последната.

    \n' + + '\n' + + '

    Навигиране в разделите на ПИ

    \n' + + '\n' + + '

    За да преминете от един елемент на ПИ към следващия, натиснете съответния клавиш със стрелка.

    \n' + + '\n' + + '

    С клавишите със стрелка наляво и надясно

    \n' + + '\n' + + '
      \n' + + '
    • се придвижвате между менютата в лентата с менюто;
    • \n' + + '
    • отваряте подменю в меню;
    • \n' + + '
    • се придвижвате между бутоните в група на лентата с инструменти;
    • \n' + + '
    • се придвижвате между елементи в пътя до елемент в долния колонтитул.
    • \n' + + '
    \n' + + '\n' + + '

    С клавишите със стрелка надолу и нагоре

    \n' + + '\n' + + '
      \n' + + '
    • се придвижвате между елементите от менюто в дадено меню;
    • \n' + + '
    • се придвижвате между елементите в изскачащо меню на лентата с инструменти.
    • \n' + + '
    \n' + + '\n' + + '

    Клавишите със стрелки се придвижват в рамките на фокусирания раздел на ПИ.

    \n' + + '\n' + + '

    За да затворите отворено меню, подменю или изскачащо меню, натиснете клавиша Esc.

    \n' + + '\n' + + '

    Ако текущият фокус е върху „горната част“ на конкретен раздел на ПИ, натискането на клавиша Esc също излиза\n' + + ' напълно от навигацията с клавиатурата.

    \n' + + '\n' + + '

    Изпълнение на елемент от менюто или бутон от лентата с инструменти

    \n' + + '\n' + + '

    Когато желаният елемент от менюто или бутон от лентата с инструменти е маркиран, натиснете Return, Enter\n' + + ' или клавиша за интервал, за да изпълните елемента.

    \n' + + '\n' + + '

    Навигиране в диалогови прозорци без раздели

    \n' + + '\n' + + '

    В диалоговите прозорци без раздели първият интерактивен компонент се фокусира, когато се отвори диалоговият прозорец.

    \n' + + '\n' + + '

    Навигирайте между интерактивните компоненти на диалоговия прозорец, като натиснете Tab или Shift+Tab.

    \n' + + '\n' + + '

    Навигиране в диалогови прозорци с раздели

    \n' + + '\n' + + '

    В диалоговите прозорци с раздели първият бутон в менюто с раздели се фокусира, когато се отвори диалоговият прозорец.

    \n' + + '\n' + + '

    Навигирайте между интерактивните компоненти на този диалогов раздел, като натиснете Tab или\n' + + ' Shift+Tab.

    \n' + + '\n' + + '

    Превключете към друг диалогов раздел, като фокусирате върху менюто с раздели и след това натиснете съответния клавиш със стрелка,\n' + + ' за да преминете през наличните раздели.

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/ca.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/ca.js new file mode 100644 index 0000000..8007128 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/ca.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.ca', +'

    Inici de la navegació amb el teclat

    \n' + + '\n' + + '
    \n' + + '
    Enfocar la barra de menús
    \n' + + '
    Windows o Linux: Alt+F9
    \n' + + '
    macOS: ⌥F9
    \n' + + "
    Enfocar la barra d'eines
    \n" + + '
    Windows o Linux: Alt+F10
    \n' + + '
    macOS: ⌥F10
    \n' + + '
    Enfocar el peu de pàgina
    \n' + + '
    Windows o Linux: Alt+F11
    \n' + + '
    macOS: ⌥F11
    \n' + + "
    Enfocar una barra d'eines contextual
    \n" + + '
    Windows, Linux o macOS: Ctrl+F9\n' + + '
    \n' + + '\n' + + "

    La navegació començarà en el primer element de la interfície d'usuari, que es ressaltarà o subratllarà per al primer element a\n" + + " la ruta de l'element de peu de pàgina.

    \n" + + '\n' + + "

    Navegació entre seccions de la interfície d'usuari

    \n" + + '\n' + + "

    Per desplaçar-vos des d'una secció de la interfície d'usuari a la següent, premeu la tecla Tab.

    \n" + + '\n' + + "

    Per desplaçar-vos des d'una secció de la interfície d'usuari a l'anterior, premeu les tecles Maj+Tab.

    \n" + + '\n' + + "

    L'ordre en prémer la tecla Tab d'aquestes secciones de la interfície d'usuari és:

    \n" + + '\n' + + '
      \n' + + '
    1. Barra de menús
    2. \n' + + "
    3. Cada grup de la barra d'eines
    4. \n" + + '
    5. Barra lateral
    6. \n' + + "
    7. Ruta de l'element del peu de pàgina
    8. \n" + + '
    9. Botó de commutació de recompte de paraules al peu de pàgina
    10. \n' + + '
    11. Enllaç de marca del peu de pàgina
    12. \n' + + "
    13. Control de canvi de mida de l'editor al peu de pàgina
    14. \n" + + '
    \n' + + '\n' + + "

    Si no hi ha una secció de la interfície d'usuari, s'ometrà.

    \n" + + '\n' + + '

    Si el peu de pàgina té el focus de navegació del teclat i no hi ha cap barra lateral visible, en prémer Maj+Tab\n' + + " el focus es mou al primer grup de la barra d'eines, no l'últim.

    \n" + + '\n' + + "

    Navegació dins de les seccions de la interfície d'usuari

    \n" + + '\n' + + "

    Per desplaçar-vos des d'un element de la interfície d'usuari al següent, premeu la tecla de Fletxa adequada.

    \n" + + '\n' + + '

    Les tecles de fletxa Esquerra i Dreta

    \n' + + '\n' + + '
      \n' + + '
    • us permeten desplaçar-vos entre menús de la barra de menús.
    • \n' + + '
    • obren un submenú en un menú.
    • \n' + + "
    • us permeten desplaçar-vos entre botons d'un grup de la barra d'eines.
    • \n" + + "
    • us permeten desplaçar-vos entre elements de la ruta d'elements del peu de pàgina.
    • \n" + + '
    \n' + + '\n' + + '

    Les tecles de fletxa Avall i Amunt

    \n' + + '\n' + + '
      \n' + + "
    • us permeten desplaçar-vos entre elements de menú d'un menú.
    • \n" + + "
    • us permeten desplaçar-vos entre elements d'un menú emergent de la barra d'eines.
    • \n" + + '
    \n' + + '\n' + + "

    Les tecles de Fletxa us permeten desplaçar-vos dins de la secció de la interfície d'usuari que té el focus.

    \n" + + '\n' + + '

    Per tancar un menú, un submenú o un menú emergent oberts, premeu la tecla Esc.

    \n' + + '\n' + + "

    Si el focus actual es troba a la ‘part superior’ d'una secció específica de la interfície d'usuari, en prémer la tecla Esc també es tanca\n" + + ' completament la navegació amb el teclat.

    \n' + + '\n' + + "

    Execució d'un element de menú o d'un botó de la barra d'eines

    \n" + + '\n' + + "

    Quan l'element del menú o el botó de la barra d'eines que desitgeu estigui ressaltat, premeu Retorn, Intro\n" + + " o la barra d'espai per executar l'element.

    \n" + + '\n' + + '

    Navegació per quadres de diàleg sense pestanyes

    \n' + + '\n' + + "

    En els quadres de diàleg sense pestanyes, el primer component interactiu pren el focus quan s'obre el quadre diàleg.

    \n" + + '\n' + + '

    Premeu la tecla Tab o les tecles Maj+Tab per desplaçar-vos entre components interactius del quadre de diàleg.

    \n' + + '\n' + + '

    Navegació per quadres de diàleg amb pestanyes

    \n' + + '\n' + + "

    En els quadres de diàleg amb pestanyes, el primer botó del menú de la pestanya pren el focus quan s'obre el quadre diàleg.

    \n" + + '\n' + + "

    Per desplaçar-vos entre components interactius d'aquest quadre de diàleg, premeu la tecla Tab o\n" + + ' les tecles Maj+Tab.

    \n' + + '\n' + + "

    Canvieu a la pestanya d'un altre quadre de diàleg, tot enfocant el menú de la pestanya, i després premeu la tecla Fletxa adequada\n" + + ' per canviar entre les pestanyes disponibles.

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/cs.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/cs.js new file mode 100644 index 0000000..9a69ae7 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/cs.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.cs', +'

    Začínáme navigovat pomocí klávesnice

    \n' + + '\n' + + '
    \n' + + '
    Přejít na řádek nabídek
    \n' + + '
    Windows nebo Linux: Alt+F9
    \n' + + '
    macOS: ⌥F9
    \n' + + '
    Přejít na panel nástrojů
    \n' + + '
    Windows nebo Linux: Alt+F10
    \n' + + '
    macOS: ⌥F10
    \n' + + '
    Přejít na zápatí
    \n' + + '
    Windows nebo Linux: Alt+F11
    \n' + + '
    macOS: ⌥F11
    \n' + + '
    Přejít na kontextový panel nástrojů
    \n' + + '
    Windows, Linux nebo macOS: Ctrl+F9\n' + + '
    \n' + + '\n' + + '

    Navigace začne u první položky uživatelského rozhraní, která bude zvýrazněna nebo v případě první položky\n' + + ' cesty k prvku zápatí podtržena.

    \n' + + '\n' + + '

    Navigace mezi oddíly uživatelského rozhraní

    \n' + + '\n' + + '

    Stisknutím klávesy Tab se posunete z jednoho oddílu uživatelského rozhraní na další.

    \n' + + '\n' + + '

    Stisknutím kláves Shift+Tab se posunete z jednoho oddílu uživatelského rozhraní na předchozí.

    \n' + + '\n' + + '

    Pořadí přepínání mezi oddíly uživatelského rozhraní pomocí klávesy Tab:

    \n' + + '\n' + + '
      \n' + + '
    1. Řádek nabídek
    2. \n' + + '
    3. Každá skupina panelu nástrojů
    4. \n' + + '
    5. Boční panel
    6. \n' + + '
    7. Cesta k prvku v zápatí.
    8. \n' + + '
    9. Tlačítko přepínače počtu slov v zápatí
    10. \n' + + '
    11. Odkaz na informace o značce v zápatí
    12. \n' + + '
    13. Úchyt pro změnu velikosti editoru v zápatí
    14. \n' + + '
    \n' + + '\n' + + '

    Pokud nějaký oddíl uživatelského rozhraní není přítomen, je přeskočen.

    \n' + + '\n' + + '

    Pokud je zápatí vybrané pro navigaci pomocí klávesnice a není zobrazen žádný boční panel, stisknutím kláves Shift+Tab\n' + + ' přejdete na první skupinu panelu nástrojů, nikoli na poslední.

    \n' + + '\n' + + '

    Navigace v rámci oddílů uživatelského rozhraní

    \n' + + '\n' + + '

    Chcete-li se přesunout z jednoho prvku uživatelského rozhraní na další, stiskněte příslušnou klávesu s šipkou.

    \n' + + '\n' + + '

    Klávesy s šipkou vlevo a vpravo

    \n' + + '\n' + + '
      \n' + + '
    • umožňují přesun mezi nabídkami na řádku nabídek;
    • \n' + + '
    • otevírají podnabídku nabídky;
    • \n' + + '
    • umožňují přesun mezi tlačítky ve skupině panelu nástrojů;
    • \n' + + '
    • umožňují přesun mezi položkami cesty prvku v zápatí.
    • \n' + + '
    \n' + + '\n' + + '

    Klávesy se šipkou dolů a nahoru

    \n' + + '\n' + + '
      \n' + + '
    • umožňují přesun mezi položkami nabídky;
    • \n' + + '
    • umožňují přesun mezi položkami místní nabídky panelu nástrojů.
    • \n' + + '
    \n' + + '\n' + + '

    Šipky provádí přepínání v rámci vybraného oddílu uživatelského rozhraní.

    \n' + + '\n' + + '

    Chcete-li zavřít otevřenou nabídku, podnabídku nebo místní nabídku, stiskněte klávesu Esc.

    \n' + + '\n' + + '

    Pokud je aktuálně vybrána horní část oddílu uživatelského rozhraní, stisknutím klávesy Esc zcela ukončíte také\n' + + ' navigaci pomocí klávesnice.

    \n' + + '\n' + + '

    Provedení příkazu položky nabídky nebo tlačítka panelu nástrojů

    \n' + + '\n' + + '

    Pokud je zvýrazněna požadovaná položka nabídky nebo tlačítko panelu nástrojů, stisknutím klávesy Return, Enter\n' + + ' nebo mezerníku provedete příslušný příkaz.

    \n' + + '\n' + + '

    Navigace v dialogových oknech bez záložek

    \n' + + '\n' + + '

    Při otevření dialogových oken bez záložek přejdete na první interaktivní komponentu.

    \n' + + '\n' + + '

    Přecházet mezi interaktivními komponentami dialogového okna můžete stisknutím klávesy Tab nebo kombinace Shift+Tab.

    \n' + + '\n' + + '

    Navigace v dialogových oknech se záložkami

    \n' + + '\n' + + '

    Při otevření dialogových oken se záložkami přejdete na první tlačítko v nabídce záložek.

    \n' + + '\n' + + '

    Přecházet mezi interaktivními komponentami této záložky dialogového okna můžete stisknutím klávesy Tab nebo\n' + + ' kombinace Shift+Tab.

    \n' + + '\n' + + '

    Chcete-li přepnout na další záložku dialogového okna, přejděte na nabídku záložek a poté můžete stisknutím požadované šipky\n' + + ' přepínat mezi dostupnými záložkami.

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/da.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/da.js new file mode 100644 index 0000000..00d8fb5 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/da.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.da', +'

    Start tastaturnavigation

    \n' + + '\n' + + '
    \n' + + '
    Fokuser på menulinjen
    \n' + + '
    Windows eller Linux: Alt+F9
    \n' + + '
    macOS: ⌥F9
    \n' + + '
    Fokuser på værktøjslinjen
    \n' + + '
    Windows eller Linux: Alt+F10
    \n' + + '
    macOS: ⌥F10
    \n' + + '
    Fokuser på sidefoden
    \n' + + '
    Windows eller Linux: Alt+F11
    \n' + + '
    macOS: ⌥F11
    \n' + + '
    Fokuser på kontekstuel værktøjslinje
    \n' + + '
    Windows, Linux eller macOS: Ctrl+F9\n' + + '
    \n' + + '\n' + + '

    Navigationen starter ved det første UI-element, som fremhæves eller understreges hvad angår det første element i\n' + + ' sidefodens sti til elementet.

    \n' + + '\n' + + '

    Naviger mellem UI-sektioner

    \n' + + '\n' + + '

    Gå fra én UI-sektion til den næste ved at trykke på Tab.

    \n' + + '\n' + + '

    Gå fra én UI-sektion til den forrige ved at trykke på Shift+Tab.

    \n' + + '\n' + + '

    Tab-rækkefølgen af disse UI-sektioner er:

    \n' + + '\n' + + '
      \n' + + '
    1. Menulinje
    2. \n' + + '
    3. Hver værktøjsgruppe
    4. \n' + + '
    5. Sidepanel
    6. \n' + + '
    7. Sti til elementet i sidefoden
    8. \n' + + '
    9. Til/fra-knap for ordoptælling i sidefoden
    10. \n' + + '
    11. Brandinglink i sidefoden
    12. \n' + + '
    13. Tilpasningshåndtag for editor i sidefoden
    14. \n' + + '
    \n' + + '\n' + + '

    Hvis en UI-sektion ikke er til stede, springes den over.

    \n' + + '\n' + + '

    Hvis sidefoden har fokus til tastaturnavigation, og der ikke er noget synligt sidepanel, kan der trykkes på Shift+Tab\n' + + ' for at flytte fokus til den første værktøjsgruppe, ikke den sidste.

    \n' + + '\n' + + '

    Naviger inden for UI-sektioner

    \n' + + '\n' + + '

    Gå fra ét UI-element til det næste ved at trykke på den relevante piletast.

    \n' + + '\n' + + '

    Venstre og højre piletast

    \n' + + '\n' + + '
      \n' + + '
    • flytter mellem menuerne i menulinjen.
    • \n' + + '
    • åbner en undermenu i en menu.
    • \n' + + '
    • flytter mellem knapperne i en værktøjsgruppe.
    • \n' + + '
    • flytter mellem elementer i sidefodens sti til elementet.
    • \n' + + '
    \n' + + '\n' + + '

    Pil ned og op

    \n' + + '\n' + + '
      \n' + + '
    • flytter mellem menupunkterne i en menu.
    • \n' + + '
    • flytter mellem punkterne i en genvejsmenu i værktøjslinjen.
    • \n' + + '
    \n' + + '\n' + + '

    Piletasterne kører rundt inden for UI-sektionen, der fokuseres på.

    \n' + + '\n' + + '

    For at lukke en åben menu, en åben undermenu eller en åben genvejsmenu trykkes der på Esc-tasten.

    \n' + + '\n' + + "

    Hvis det aktuelle fokus er i 'toppen' af en bestemt UI-sektion, vil tryk på Esc-tasten også afslutte\n" + + ' tastaturnavigationen helt.

    \n' + + '\n' + + '

    Udfør et menupunkt eller en værktøjslinjeknap

    \n' + + '\n' + + '

    Når det ønskede menupunkt eller den ønskede værktøjslinjeknap er fremhævet, trykkes der på Retur, Enter\n' + + ' eller mellemrumstasten for at udføre elementet.

    \n' + + '\n' + + '

    Naviger i ikke-faneopdelte dialogbokse

    \n' + + '\n' + + '

    I ikke-faneopdelte dialogbokse får den første interaktive komponent fokus, når dialogboksen åbnes.

    \n' + + '\n' + + '

    Naviger mellem interaktive dialogbokskomponenter ved at trykke på Tab eller Shift+Tab.

    \n' + + '\n' + + '

    Naviger i faneopdelte dialogbokse

    \n' + + '\n' + + '

    I faneopdelte dialogbokse får den første knap i fanemenuen fokus, når dialogboksen åbnes.

    \n' + + '\n' + + '

    Naviger mellem interaktive komponenter i denne dialogboksfane ved at trykke på Tab eller\n' + + ' Shift+Tab.

    \n' + + '\n' + + '

    Skift til en anden dialogboksfane ved at fokusere på fanemenuen og derefter trykke på den relevante piletast\n' + + ' for at køre igennem de tilgængelige faner.

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/de.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/de.js new file mode 100644 index 0000000..1907bf2 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/de.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.de', +'

    Grundlagen der Tastaturnavigation

    \n' + + '\n' + + '
    \n' + + '
    Fokus auf Menüleiste
    \n' + + '
    Windows oder Linux: ALT+F9
    \n' + + '
    macOS: ⌥F9
    \n' + + '
    Fokus auf Symbolleiste
    \n' + + '
    Windows oder Linux: ALT+F10
    \n' + + '
    macOS: ⌥F10
    \n' + + '
    Fokus auf Fußzeile
    \n' + + '
    Windows oder Linux: ALT+F11
    \n' + + '
    macOS: ⌥F11
    \n' + + '
    Fokus auf kontextbezogene Symbolleiste
    \n' + + '
    Windows, Linux oder macOS: STRG+F9\n' + + '
    \n' + + '\n' + + '

    Die Navigation beginnt beim ersten Benutzeroberflächenelement, welches hervorgehoben ist. Falls sich das erste Element im Pfad der Fußzeile befindet,\n' + + ' ist es unterstrichen.

    \n' + + '\n' + + '

    Zwischen Abschnitten der Benutzeroberfläche navigieren

    \n' + + '\n' + + '

    Um von einem Abschnitt der Benutzeroberfläche zum nächsten zu wechseln, drücken Sie TAB.

    \n' + + '\n' + + '

    Um von einem Abschnitt der Benutzeroberfläche zum vorherigen zu wechseln, drücken Sie UMSCHALT+TAB.

    \n' + + '\n' + + '

    Die Abschnitte der Benutzeroberfläche haben folgende TAB-Reihenfolge:

    \n' + + '\n' + + '
      \n' + + '
    1. Menüleiste
    2. \n' + + '
    3. Einzelne Gruppen der Symbolleiste
    4. \n' + + '
    5. Randleiste
    6. \n' + + '
    7. Elementpfad in der Fußzeile
    8. \n' + + '
    9. Umschaltfläche „Wörter zählen“ in der Fußzeile
    10. \n' + + '
    11. Branding-Link in der Fußzeile
    12. \n' + + '
    13. Editor-Ziehpunkt zur Größenänderung in der Fußzeile
    14. \n' + + '
    \n' + + '\n' + + '

    Falls ein Abschnitt der Benutzeroberflächen nicht vorhanden ist, wird er übersprungen.

    \n' + + '\n' + + '

    Wenn in der Fußzeile die Tastaturnavigation fokussiert ist und keine Randleiste angezeigt wird, wechselt der Fokus durch Drücken von UMSCHALT+TAB\n' + + ' zur ersten Gruppe der Symbolleiste, nicht zur letzten.

    \n' + + '\n' + + '

    Innerhalb von Abschnitten der Benutzeroberfläche navigieren

    \n' + + '\n' + + '

    Um von einem Element der Benutzeroberfläche zum nächsten zu wechseln, drücken Sie die entsprechende Pfeiltaste.

    \n' + + '\n' + + '

    Die Pfeiltasten Links und Rechts

    \n' + + '\n' + + '
      \n' + + '
    • wechseln zwischen Menüs in der Menüleiste.
    • \n' + + '
    • öffnen das Untermenü eines Menüs.
    • \n' + + '
    • wechseln zwischen Schaltflächen in einer Gruppe der Symbolleiste.
    • \n' + + '
    • wechseln zwischen Elementen im Elementpfad der Fußzeile.
    • \n' + + '
    \n' + + '\n' + + '

    Die Pfeiltasten Abwärts und Aufwärts

    \n' + + '\n' + + '
      \n' + + '
    • wechseln zwischen Menüelementen in einem Menü.
    • \n' + + '
    • wechseln zwischen Elementen in einem Popupmenü der Symbolleiste.
    • \n' + + '
    \n' + + '\n' + + '

    Die Pfeiltasten rotieren innerhalb des fokussierten Abschnitts der Benutzeroberfläche.

    \n' + + '\n' + + '

    Um ein geöffnetes Menü, ein geöffnetes Untermenü oder ein geöffnetes Popupmenü zu schließen, drücken Sie die ESC-Taste.

    \n' + + '\n' + + '

    Wenn sich der aktuelle Fokus ganz oben in einem bestimmten Abschnitt der Benutzeroberfläche befindet, wird durch Drücken der ESC-Taste auch\n' + + ' die Tastaturnavigation beendet.

    \n' + + '\n' + + '

    Ein Menüelement oder eine Symbolleistenschaltfläche ausführen

    \n' + + '\n' + + '

    Wenn das gewünschte Menüelement oder die gewünschte Symbolleistenschaltfläche hervorgehoben ist, drücken Sie Zurück, Eingabe\n' + + ' oder die Leertaste, um das Element auszuführen.

    \n' + + '\n' + + '

    In Dialogfeldern ohne Registerkarten navigieren

    \n' + + '\n' + + '

    In Dialogfeldern ohne Registerkarten ist beim Öffnen eines Dialogfelds die erste interaktive Komponente fokussiert.

    \n' + + '\n' + + '

    Navigieren Sie zwischen den interaktiven Komponenten eines Dialogfelds, indem Sie TAB oder UMSCHALT+TAB drücken.

    \n' + + '\n' + + '

    In Dialogfeldern mit Registerkarten navigieren

    \n' + + '\n' + + '

    In Dialogfeldern mit Registerkarten ist beim Öffnen eines Dialogfelds die erste Schaltfläche eines Registerkartenmenüs fokussiert.

    \n' + + '\n' + + '

    Navigieren Sie zwischen den interaktiven Komponenten auf dieser Registerkarte des Dialogfelds, indem Sie TAB oder\n' + + ' UMSCHALT+TAB drücken.

    \n' + + '\n' + + '

    Wechseln Sie zu einer anderen Registerkarte des Dialogfelds, indem Sie den Fokus auf das Registerkartenmenü legen und dann die entsprechende Pfeiltaste\n' + + ' drücken, um durch die verfügbaren Registerkarten zu rotieren.

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/el.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/el.js new file mode 100644 index 0000000..3d9de49 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/el.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.el', +'

    Έναρξη πλοήγησης μέσω πληκτρολογίου

    \n' + + '\n' + + '
    \n' + + '
    Εστίαση στη γραμμή μενού
    \n' + + '
    Windows ή Linux: Alt+F9
    \n' + + '
    macOS: ⌥F9
    \n' + + '
    Εστίαση στη γραμμή εργαλείων
    \n' + + '
    Windows ή Linux: Alt+F10
    \n' + + '
    macOS: ⌥F10
    \n' + + '
    Εστίαση στο υποσέλιδο
    \n' + + '
    Windows ή Linux: Alt+F11
    \n' + + '
    macOS: ⌥F11
    \n' + + '
    Εστίαση σε γραμμή εργαλείων βάσει περιεχομένου
    \n' + + '
    Windows, Linux ή macOS: Ctrl+F9\n' + + '
    \n' + + '\n' + + '

    Η πλοήγηση θα ξεκινήσει από το πρώτο στοιχείο περιβάλλοντος χρήστη, που θα επισημαίνεται ή θα είναι υπογραμμισμένο,\n' + + ' όπως στην περίπτωση της διαδρομής του στοιχείου Υποσέλιδου.

    \n' + + '\n' + + '

    Πλοήγηση μεταξύ ενοτήτων του περιβάλλοντος χρήστη

    \n' + + '\n' + + '

    Για να μετακινηθείτε από μια ενότητα περιβάλλοντος χρήστη στην επόμενη, πιέστε το πλήκτρο Tab.

    \n' + + '\n' + + '

    Για να μετακινηθείτε από μια ενότητα περιβάλλοντος χρήστη στην προηγούμενη, πιέστε τα πλήκτρα Shift+Tab.

    \n' + + '\n' + + '

    Η σειρά Tab αυτών των ενοτήτων περιβάλλοντος χρήστη είναι η εξής:

    \n' + + '\n' + + '
      \n' + + '
    1. Γραμμή μενού
    2. \n' + + '
    3. Κάθε ομάδα γραμμής εργαλείων
    4. \n' + + '
    5. Πλαϊνή γραμμή
    6. \n' + + '
    7. Διαδρομή στοιχείου στο υποσέλιδο
    8. \n' + + '
    9. Κουμπί εναλλαγής μέτρησης λέξεων στο υποσέλιδο
    10. \n' + + '
    11. Σύνδεσμος επωνυμίας στο υποσέλιδο
    12. \n' + + '
    13. Λαβή αλλαγής μεγέθους προγράμματος επεξεργασίας στο υποσέλιδο
    14. \n' + + '
    \n' + + '\n' + + '

    Εάν δεν εμφανίζεται ενότητα περιβάλλοντος χρήστη, παραλείπεται.

    \n' + + '\n' + + '

    Εάν η εστίαση πλοήγησης βρίσκεται στο πληκτρολόγιο και δεν υπάρχει εμφανής πλαϊνή γραμμή, εάν πιέσετε Shift+Tab\n' + + ' η εστίαση μετακινείται στην πρώτη ομάδα γραμμής εργαλείων, όχι στην τελευταία.

    \n' + + '\n' + + '

    Πλοήγηση εντός των ενοτήτων του περιβάλλοντος χρήστη

    \n' + + '\n' + + '

    Για να μετακινηθείτε από ένα στοιχείο περιβάλλοντος χρήστη στο επόμενο, πιέστε το αντίστοιχο πλήκτρο βέλους.

    \n' + + '\n' + + '

    Με τα πλήκτρα αριστερού και δεξιού βέλους

    \n' + + '\n' + + '
      \n' + + '
    • γίνεται μετακίνηση μεταξύ των μενού στη γραμμή μενού.
    • \n' + + '
    • ανοίγει ένα υπομενού σε ένα μενού.
    • \n' + + '
    • γίνεται μετακίνηση μεταξύ κουμπιών σε μια ομάδα γραμμής εργαλείων.
    • \n' + + '
    • γίνεται μετακίνηση μεταξύ στοιχείων στη διαδρομή στοιχείου στο υποσέλιδο.
    • \n' + + '
    \n' + + '\n' + + '

    Με τα πλήκτρα επάνω και κάτω βέλους

    \n' + + '\n' + + '
      \n' + + '
    • γίνεται μετακίνηση μεταξύ των στοιχείων μενού σε ένα μενού.
    • \n' + + '
    • γίνεται μετακίνηση μεταξύ των στοιχείων μενού σε ένα αναδυόμενο μενού γραμμής εργαλείων.
    • \n' + + '
    \n' + + '\n' + + '

    Με τα πλήκτρα βέλους γίνεται κυκλική μετακίνηση εντός της εστιασμένης ενότητας περιβάλλοντος χρήστη.

    \n' + + '\n' + + '

    Για να κλείσετε ένα ανοιχτό μενού, ένα ανοιχτό υπομενού ή ένα ανοιχτό αναδυόμενο μενού, πιέστε το πλήκτρο Esc.

    \n' + + '\n' + + '

    Εάν η τρέχουσα εστίαση βρίσκεται στην κορυφή μιας ενότητας περιβάλλοντος χρήστη, πιέζοντας το πλήκτρο Esc,\n' + + ' γίνεται επίσης πλήρης έξοδος από την πλοήγηση μέσω πληκτρολογίου.

    \n' + + '\n' + + '

    Εκτέλεση ενός στοιχείου μενού ή κουμπιού γραμμής εργαλείων

    \n' + + '\n' + + '

    Όταν το επιθυμητό στοιχείο μενού ή κουμπί γραμμής εργαλείων είναι επισημασμένο, πιέστε τα πλήκτρα Return, Enter,\n' + + ' ή το πλήκτρο διαστήματος για να εκτελέσετε το στοιχείο.

    \n' + + '\n' + + '

    Πλοήγηση σε παράθυρα διαλόγου χωρίς καρτέλες

    \n' + + '\n' + + '

    Σε παράθυρα διαλόγου χωρίς καρτέλες, το πρώτο αλληλεπιδραστικό στοιχείο λαμβάνει την εστίαση όταν ανοίγει το παράθυρο διαλόγου.

    \n' + + '\n' + + '

    Μπορείτε να πλοηγηθείτε μεταξύ των αλληλεπιδραστικών στοιχείων παραθύρων διαλόγων πιέζοντας τα πλήκτρα Tab ή Shift+Tab.

    \n' + + '\n' + + '

    Πλοήγηση σε παράθυρα διαλόγου με καρτέλες

    \n' + + '\n' + + '

    Σε παράθυρα διαλόγου με καρτέλες, το πρώτο κουμπί στο μενού καρτέλας λαμβάνει την εστίαση όταν ανοίγει το παράθυρο διαλόγου.

    \n' + + '\n' + + '

    Μπορείτε να πλοηγηθείτε μεταξύ των αλληλεπιδραστικών στοιχείων αυτής της καρτέλα διαλόγου πιέζοντας τα πλήκτρα Tab ή\n' + + ' Shift+Tab.

    \n' + + '\n' + + '

    Μπορείτε να κάνετε εναλλαγή σε άλλη καρτέλα του παραθύρου διαλόγου, μεταφέροντας την εστίαση στο μενού καρτέλας και πιέζοντας το κατάλληλο πλήκτρο βέλους\n' + + ' για να μετακινηθείτε κυκλικά στις διαθέσιμες καρτέλες.

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/en.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/en.js new file mode 100644 index 0000000..c4a1faf --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/en.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.en', +'

    Begin keyboard navigation

    \n' + + '\n' + + '
    \n' + + '
    Focus the Menu bar
    \n' + + '
    Windows or Linux: Alt+F9
    \n' + + '
    macOS: ⌥F9
    \n' + + '
    Focus the Toolbar
    \n' + + '
    Windows or Linux: Alt+F10
    \n' + + '
    macOS: ⌥F10
    \n' + + '
    Focus the footer
    \n' + + '
    Windows or Linux: Alt+F11
    \n' + + '
    macOS: ⌥F11
    \n' + + '
    Focus a contextual toolbar
    \n' + + '
    Windows, Linux or macOS: Ctrl+F9\n' + + '
    \n' + + '\n' + + '

    Navigation will start at the first UI item, which will be highlighted, or underlined in the case of the first item in\n' + + ' the Footer element path.

    \n' + + '\n' + + '

    Navigate between UI sections

    \n' + + '\n' + + '

    To move from one UI section to the next, press Tab.

    \n' + + '\n' + + '

    To move from one UI section to the previous, press Shift+Tab.

    \n' + + '\n' + + '

    The Tab order of these UI sections is:

    \n' + + '\n' + + '
      \n' + + '
    1. Menu bar
    2. \n' + + '
    3. Each toolbar group
    4. \n' + + '
    5. Sidebar
    6. \n' + + '
    7. Element path in the footer
    8. \n' + + '
    9. Word count toggle button in the footer
    10. \n' + + '
    11. Branding link in the footer
    12. \n' + + '
    13. Editor resize handle in the footer
    14. \n' + + '
    \n' + + '\n' + + '

    If a UI section is not present, it is skipped.

    \n' + + '\n' + + '

    If the footer has keyboard navigation focus, and there is no visible sidebar, pressing Shift+Tab\n' + + ' moves focus to the first toolbar group, not the last.

    \n' + + '\n' + + '

    Navigate within UI sections

    \n' + + '\n' + + '

    To move from one UI element to the next, press the appropriate Arrow key.

    \n' + + '\n' + + '

    The Left and Right arrow keys

    \n' + + '\n' + + '
      \n' + + '
    • move between menus in the menu bar.
    • \n' + + '
    • open a sub-menu in a menu.
    • \n' + + '
    • move between buttons in a toolbar group.
    • \n' + + '
    • move between items in the footer’s element path.
    • \n' + + '
    \n' + + '\n' + + '

    The Down and Up arrow keys

    \n' + + '\n' + + '
      \n' + + '
    • move between menu items in a menu.
    • \n' + + '
    • move between items in a toolbar pop-up menu.
    • \n' + + '
    \n' + + '\n' + + '

    Arrow keys cycle within the focused UI section.

    \n' + + '\n' + + '

    To close an open menu, an open sub-menu, or an open pop-up menu, press the Esc key.

    \n' + + '\n' + + '

    If the current focus is at the ‘top’ of a particular UI section, pressing the Esc key also exits\n' + + ' keyboard navigation entirely.

    \n' + + '\n' + + '

    Execute a menu item or toolbar button

    \n' + + '\n' + + '

    When the desired menu item or toolbar button is highlighted, press Return, Enter,\n' + + ' or the Space bar to execute the item.

    \n' + + '\n' + + '

    Navigate non-tabbed dialogs

    \n' + + '\n' + + '

    In non-tabbed dialogs, the first interactive component takes focus when the dialog opens.

    \n' + + '\n' + + '

    Navigate between interactive dialog components by pressing Tab or Shift+Tab.

    \n' + + '\n' + + '

    Navigate tabbed dialogs

    \n' + + '\n' + + '

    In tabbed dialogs, the first button in the tab menu takes focus when the dialog opens.

    \n' + + '\n' + + '

    Navigate between interactive components of this dialog tab by pressing Tab or\n' + + ' Shift+Tab.

    \n' + + '\n' + + '

    Switch to another dialog tab by giving the tab menu focus and then pressing the appropriate Arrow\n' + + ' key to cycle through the available tabs.

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/es.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/es.js new file mode 100644 index 0000000..a7da8c9 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/es.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.es', +'

    Iniciar la navegación con el teclado

    \n' + + '\n' + + '
    \n' + + '
    Enfocar la barra de menús
    \n' + + '
    Windows o Linux: Alt+F9
    \n' + + '
    macOS: ⌥F9
    \n' + + '
    Enfocar la barra de herramientas
    \n' + + '
    Windows o Linux: Alt+F10
    \n' + + '
    macOS: ⌥F10
    \n' + + '
    Enfocar el pie de página
    \n' + + '
    Windows o Linux: Alt+F11
    \n' + + '
    macOS: ⌥F11
    \n' + + '
    Enfocar una barra de herramientas contextual
    \n' + + '
    Windows, Linux o macOS: Ctrl+F9\n' + + '
    \n' + + '\n' + + '

    La navegación comenzará por el primer elemento de la interfaz de usuario (IU), de tal manera que se resaltará, o bien se subrayará si se trata del primer elemento de\n' + + ' la ruta de elemento del pie de página.

    \n' + + '\n' + + '

    Navegar entre las secciones de la IU

    \n' + + '\n' + + '

    Para pasar de una sección de la IU a la siguiente, pulse la tecla Tab.

    \n' + + '\n' + + '

    Para pasar de una sección de la IU a la anterior, pulse Mayús+Tab.

    \n' + + '\n' + + '

    El orden de tabulación de estas secciones de la IU es:

    \n' + + '\n' + + '
      \n' + + '
    1. Barra de menús
    2. \n' + + '
    3. Cada grupo de barra de herramientas
    4. \n' + + '
    5. Barra lateral
    6. \n' + + '
    7. Ruta del elemento en el pie de página
    8. \n' + + '
    9. Botón de alternancia de recuento de palabras en el pie de página
    10. \n' + + '
    11. Enlace de personalización de marca en el pie de página
    12. \n' + + '
    13. Controlador de cambio de tamaño en el pie de página
    14. \n' + + '
    \n' + + '\n' + + '

    Si una sección de la IU no está presente, esta se omite.

    \n' + + '\n' + + '

    Si el pie de página tiene un enfoque de navegación con el teclado y no hay ninguna barra lateral visible, al pulsar Mayús+Tab,\n' + + ' el enfoque se moverá al primer grupo de barra de herramientas, en lugar de al último.

    \n' + + '\n' + + '

    Navegar dentro de las secciones de la IU

    \n' + + '\n' + + '

    Para pasar de un elemento de la IU al siguiente, pulse la tecla de flecha correspondiente.

    \n' + + '\n' + + '

    Las teclas de flecha izquierda y derecha permiten

    \n' + + '\n' + + '
      \n' + + '
    • desplazarse entre los menús de la barra de menús.
    • \n' + + '
    • abrir el submenú de un menú.
    • \n' + + '
    • desplazarse entre los botones de un grupo de barra de herramientas.
    • \n' + + '
    • desplazarse entre los elementos de la ruta de elemento del pie de página.
    • \n' + + '
    \n' + + '\n' + + '

    Las teclas de flecha abajo y arriba permiten

    \n' + + '\n' + + '
      \n' + + '
    • desplazarse entre los elementos de menú de un menú.
    • \n' + + '
    • desplazarse entre los elementos de un menú emergente de una barra de herramientas.
    • \n' + + '
    \n' + + '\n' + + '

    Las teclas de flecha van cambiando dentro de la sección de la IU enfocada.

    \n' + + '\n' + + '

    Para cerrar un menú, un submenú o un menú emergente que estén abiertos, pulse la tecla Esc.

    \n' + + '\n' + + '

    Si el enfoque actual se encuentra en la parte superior de una sección de la IU determinada, al pulsar la tecla Esc saldrá\n' + + ' de la navegación con el teclado por completo.

    \n' + + '\n' + + '

    Ejecutar un elemento de menú o un botón de barra de herramientas

    \n' + + '\n' + + '

    Si el elemento de menú o el botón de barra de herramientas deseado está resaltado, pulse la tecla Retorno o Entrar,\n' + + ' o la barra espaciadora para ejecutar el elemento.

    \n' + + '\n' + + '

    Navegar por cuadros de diálogo sin pestañas

    \n' + + '\n' + + '

    En los cuadros de diálogo sin pestañas, el primer componente interactivo se enfoca al abrirse el cuadro de diálogo.

    \n' + + '\n' + + '

    Para navegar entre los componentes interactivos del cuadro de diálogo, pulse las teclas Tab o Mayús+Tab.

    \n' + + '\n' + + '

    Navegar por cuadros de diálogo con pestañas

    \n' + + '\n' + + '

    En los cuadros de diálogo con pestañas, el primer botón del menú de pestaña se enfoca al abrirse el cuadro de diálogo.

    \n' + + '\n' + + '

    Para navegar entre componentes interactivos de esta pestaña del cuadro de diálogo, pulse las teclas Tab o\n' + + ' Mayús+Tab.

    \n' + + '\n' + + '

    Si desea cambiar a otra pestaña del cuadro de diálogo, enfoque el menú de pestañas y, a continuación, pulse la tecla de flecha\n' + + ' correspondiente para moverse por las pestañas disponibles.

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/eu.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/eu.js new file mode 100644 index 0000000..76bfaac --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/eu.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.eu', +'

    Hasi teklatuaren nabigazioa

    \n' + + '\n' + + '
    \n' + + '
    Fokuratu menu-barra
    \n' + + '
    Windows edo Linux: Alt+F9
    \n' + + '
    macOS: ⌥F9
    \n' + + '
    Fokuratu tresna-barra
    \n' + + '
    Windows edo Linux: Alt+F10
    \n' + + '
    macOS: ⌥F10
    \n' + + '
    Fokuratu orri-oina
    \n' + + '
    Windows edo Linux: Alt+F11
    \n' + + '
    macOS: ⌥F11
    \n' + + '
    Fokuratu testuinguruaren tresna-barra
    \n' + + '
    Windows, Linux edo macOS: Ktrl+F9\n' + + '
    \n' + + '\n' + + '

    Nabigazioa EIko lehen elementuan hasiko da: elementu hori nabarmendu egingo da, edo azpimarratu lehen elementua bada\n' + + ' orri-oineko elementuaren bidea.

    \n' + + '\n' + + '

    Nabigatu EIko atalen artean

    \n' + + '\n' + + '

    EIko atal batetik hurrengora mugitzeko, sakatu Tabuladorea.

    \n' + + '\n' + + '

    EIko atal batetik aurrekora mugitzeko, sakatu Maius+Tabuladorea.

    \n' + + '\n' + + '

    EIko atal hauen Tabuladorea da:

    \n' + + '\n' + + '
      \n' + + '
    1. Menu-barra
    2. \n' + + '
    3. Tresna-barraren talde bakoitza
    4. \n' + + '
    5. Alboko barra
    6. \n' + + '
    7. Orri-oineko elementuaren bidea
    8. \n' + + '
    9. Orri-oneko urrats-kontaketa txandakatzeko botoia
    10. \n' + + '
    11. Orri-oineko marken esteka
    12. \n' + + '
    13. Orri-oineko editorearen tamaina aldatzeko heldulekua
    14. \n' + + '
    \n' + + '\n' + + '

    EIko atal bat ez badago, saltatu egin da.

    \n' + + '\n' + + '

    Orri-oinak teklatuaren nabigazioa fokuratuta badago, eta alboko barra ikusgai ez badago, Maius+Tabuladorea sakatuz gero,\n' + + ' fokua tresna-barrako lehen taldera eramaten da, ez azkenera.

    \n' + + '\n' + + '

    Nabigatu EIko atalen barruan

    \n' + + '\n' + + '

    EIko elementu batetik hurrengora mugitzeko, sakatu dagokion Gezia tekla.

    \n' + + '\n' + + '

    Ezkerrera eta Eskuinera gezi-teklak

    \n' + + '\n' + + '
      \n' + + '
    • menu-barrako menuen artean mugitzen da.
    • \n' + + '
    • ireki azpimenu bat menuan.
    • \n' + + '
    • mugitu botoi batetik bestera tresna-barren talde batean.
    • \n' + + '
    • mugitu orri-oineko elementuaren bideko elementu batetik bestera.
    • \n' + + '
    \n' + + '\n' + + '

    Gora eta Behera gezi-teklak

    \n' + + '\n' + + '
      \n' + + '
    • mugitu menu bateko menu-elementuen artean.
    • \n' + + '
    • mugitu tresna-barrako menu gainerakor bateko menu-elementuen artean.
    • \n' + + '
    \n' + + '\n' + + '

    Gezia teklen zikloa nabarmendutako EI atalen barruan.

    \n' + + '\n' + + '

    Irekitako menu bat ixteko, ireki azpimenua, edo ireki menu gainerakorra, sakatu Ihes tekla.

    \n' + + '\n' + + '

    Une horretan fokuratzea EIko atal jakin baten "goialdean" badago, Ihes tekla sakatuz gero\n' + + ' teklatuaren nabigaziotik irtengo zara.

    \n' + + '\n' + + '

    Exekutatu menuko elementu bat edo tresna-barrako botoi bat

    \n' + + '\n' + + '

    Nahi den menuaren elementua edo tresna-barraren botoia nabarmenduta dagoenean, sakatu Itzuli, Sartu\n' + + ' edo Zuriune-barra elementua exekutatzeko.

    \n' + + '\n' + + '

    Nabigatu fitxarik gabeko elkarrizketak

    \n' + + '\n' + + '

    Fitxarik gabeko elkarrizketetan, lehen osagai interaktiboa fokuratzen da elkarrizketa irekitzen denean.

    \n' + + '\n' + + '

    Nabigatu elkarrizketa interaktiboko osagai batetik bestera Tabuladorea edo Maius+Tabuladorea sakatuta.

    \n' + + '\n' + + '

    Nabigatu fitxadun elkarrizketak

    \n' + + '\n' + + '

    Fitxadun elkarrizketetan, fitxa-menuko lehen botoia fokuratzen da elkarrizketa irekitzen denean.

    \n' + + '\n' + + '

    Nabigatu elkarrizketa-fitxa honen interaktiboko osagai batetik bestera Tabuladorea edo\n' + + ' Maius+Tabuladorea sakatuta.

    \n' + + '\n' + + '

    Aldatu beste elkarrizketa-fitxa batera fitxa-menua fokuratu eta dagokion Gezia\n' + + ' tekla sakatzeko, erabilgarri dauden fitxa batetik bestera txandakatzeko.

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/fa.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/fa.js new file mode 100644 index 0000000..f907a32 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/fa.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.fa', +'

    شروع پیمایش صفحه‌کلید

    \n' + + '\n' + + '
    \n' + + '
    تمرکز بر نوار منو
    \n' + + '
    Windows یا Linux:‎‏: Alt+F9
    \n' + + '
    ‎‏macOS: ⌥F9‎‏
    \n' + + '
    تمرکز بر نوار ابزار
    \n' + + '
    Windows یا Linux‎‏: Alt+F10
    \n' + + '
    ‎‏macOS: ⌥F10‎‏
    \n' + + '
    تمرکز بر پانویس
    \n' + + '
    Windows یا Linux‎‏: Alt+F11
    \n' + + '
    ‎‏macOS: ⌥F11‎‏
    \n' + + '
    تمرکز بر نوار ابزار بافتاری
    \n' + + '
    Windows ،Linux یا macOS:‏ Ctrl+F9\n' + + '
    \n' + + '\n' + + '

    پیمایش در اولین مورد رابط کاربری شروع می‌شود و درخصوص اولین مورد در\n' + + ' مسیر عنصر پانویس، برجسته یا زیرخط‌دار می‌شود.

    \n' + + '\n' + + '

    پیمایش بین بخش‌های رابط کاربری

    \n' + + '\n' + + '

    برای جابجایی از یک بخش رابط کاربری به بخش بعدی، Tab را فشار دهید.

    \n' + + '\n' + + '

    برای جابجایی از یک بخش رابط کاربری به بخش قبلی، Shift+Tab را فشار دهید.

    \n' + + '\n' + + '

    ترتیب Tab این بخش‌های رابط کاربری عبارتند از:

    \n' + + '\n' + + '
      \n' + + '
    1. نوار منو
    2. \n' + + '
    3. هر گروه نوار ابزار
    4. \n' + + '
    5. نوار کناری
    6. \n' + + '
    7. مسیر عنصر در پانویس
    8. \n' + + '
    9. دکمه تغییر وضعیت تعداد کلمات در پانویس
    10. \n' + + '
    11. پیوند نمانام‌سازی در پانویس
    12. \n' + + '
    13. دسته تغییر اندازه ویرایشگر در پانویس
    14. \n' + + '
    \n' + + '\n' + + '

    اگر بخشی از رابط کاربری موجود نباشد، رد می‌شود.

    \n' + + '\n' + + '

    اگر پانویس دارای تمرکز بر پیمایش صفحه‌کلید باشد،‌ و نوار کناری قابل‌مشاهده وجود ندارد، فشردن Shift+Tab\n' + + ' تمرکز را به گروه نوار ابزار اول می‌برد، نه آخر.

    \n' + + '\n' + + '

    پیمایش در بخش‌های رابط کاربری

    \n' + + '\n' + + '

    برای جابجایی از یک عنصر رابط کاربری به بعدی، کلید جهت‌نمای مناسب را فشار دهید.

    \n' + + '\n' + + '

    کلیدهای جهت‌نمای چپ و راست

    \n' + + '\n' + + '
      \n' + + '
    • جابجایی بین منوها در نوار منو.
    • \n' + + '
    • باز کردن منوی فرعی در یک منو.
    • \n' + + '
    • جابجایی بین دکمه‌ها در یک گروه نوار ابزار.
    • \n' + + '
    • جابجایی بین موارد در مسیر عنصر پانویس.
    • \n' + + '
    \n' + + '\n' + + '

    کلیدهای جهت‌نمای پایین و بالا

    \n' + + '\n' + + '
      \n' + + '
    • جابجایی بین موارد منو در یک منو.
    • \n' + + '
    • جابجایی بین موارد در یک منوی بازشوی نوار ابزار.
    • \n' + + '
    \n' + + '\n' + + '

    کلیدهایجهت‌نما در بخش رابط کاربری متمرکز می‌چرخند.

    \n' + + '\n' + + '

    برای بستن یک منوی باز، یک منوی فرعی باز، یا یک منوی بازشوی باز، کلید Esc را فشار دهید.

    \n' + + '\n' + + '

    اگر تمرکز فعلی در «بالای» یک بخش رابط کاربری خاص است، فشردن کلید Esc نیز موجب\n' + + ' خروج کامل از پیمایش صفحه‌کلید می‌شود.

    \n' + + '\n' + + '

    اجرای یک مورد منو یا دکمه نوار ابزار

    \n' + + '\n' + + '

    وقتی مورد منو یا دکمه نوار ابزار مورد نظر هایلایت شد، دکمه بازگشت، Enter،\n' + + ' یا نوار Space را فشار دهید تا مورد را اجرا کنید.

    \n' + + '\n' + + '

    پیمایش در کادرهای گفتگوی بدون زبانه

    \n' + + '\n' + + '

    در کادرهای گفتگوی بدون زبانه، وقتی کادر گفتگو باز می‌شود، اولین جزء تعاملی متمرکز می‌شود.

    \n' + + '\n' + + '

    با فشردن Tab یا Shift+Tab، بین اجزای کادر گفتگوی تعاملی پیمایش کنید.

    \n' + + '\n' + + '

    پیمایش کادرهای گفتگوی زبانه‌دار

    \n' + + '\n' + + '

    در کادرهای گفتگوی زبانه‌دار، وقتی کادر گفتگو باز می‌شود، اولین دکمه در منوی زبانه متمرکز می‌شود.

    \n' + + '\n' + + '

    با فشردن Tab یا\n' + + ' Shift+Tab، بین اجزای تعاملی این زبانه کادر گفتگو پیمایش کنید.

    \n' + + '\n' + + '

    با دادن تمرکز به منوی زبانه و سپس فشار دادن کلید جهت‌نمای\n' + + ' مناسب برای چرخش میان زبانه‌های موجود، به زبانه کادر گفتگوی دیگری بروید.

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/fi.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/fi.js new file mode 100644 index 0000000..52eaa3c --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/fi.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.fi', +'

    Näppäimistönavigoinnin aloittaminen

    \n' + + '\n' + + '
    \n' + + '
    Siirrä kohdistus valikkopalkkiin
    \n' + + '
    Windows tai Linux: Alt+F9
    \n' + + '
    macOS: ⌥F9
    \n' + + '
    Siirrä kohdistus työkalupalkkiin
    \n' + + '
    Windows tai Linux: Alt+F10
    \n' + + '
    macOS: ⌥F10
    \n' + + '
    Siirrä kohdistus alatunnisteeseen
    \n' + + '
    Windows tai Linux: Alt+F11
    \n' + + '
    macOS: ⌥F11
    \n' + + '
    Siirrä kohdistus kontekstuaaliseen työkalupalkkiin
    \n' + + '
    Windows, Linux tai macOS: Ctrl+F9\n' + + '
    \n' + + '\n' + + '

    Navigointi aloitetaan ensimmäisestä käyttöliittymän kohteesta, joka joko korostetaan tai alleviivataan, jos\n' + + ' kyseessä on Alatunniste-elementin polun ensimmäinen kohde.

    \n' + + '\n' + + '

    Käyttöliittymän eri osien välillä navigointi

    \n' + + '\n' + + '

    Paina sarkainnäppäintä siirtyäksesi käyttöliittymän osasta seuraavaan.

    \n' + + '\n' + + '

    Jos haluat siirtyä edelliseen käyttöliittymän osaan, paina Shift+sarkainnäppäin.

    \n' + + '\n' + + '

    Sarkainnäppäin siirtää sinua näissä käyttöliittymän osissa tässä järjestyksessä:

    \n' + + '\n' + + '
      \n' + + '
    1. Valikkopalkki
    2. \n' + + '
    3. Työkalupalkin ryhmät
    4. \n' + + '
    5. Sivupalkki
    6. \n' + + '
    7. Elementin polku alatunnisteessa
    8. \n' + + '
    9. Sanalaskurin vaihtopainike alatunnisteessa
    10. \n' + + '
    11. Brändäyslinkki alatunnisteessa
    12. \n' + + '
    13. Editorin koon muuttamisen kahva alatunnisteessa
    14. \n' + + '
    \n' + + '\n' + + '

    Jos jotakin käyttöliittymän osaa ei ole, se ohitetaan.

    \n' + + '\n' + + '

    Jos kohdistus on siirretty alatunnisteeseen näppäimistönavigoinnilla eikä sivupalkkia ole näkyvissä, Shift+sarkainnäppäin\n' + + ' siirtää kohdistuksen työkalupalkin ensimmäiseen ryhmään, eikä viimeiseen.

    \n' + + '\n' + + '

    Käyttöliittymän eri osien sisällä navigointi

    \n' + + '\n' + + '

    Paina nuolinäppäimiä siirtyäksesi käyttöliittymäelementistä seuraavaan.

    \n' + + '\n' + + '

    Vasen- ja Oikea-nuolinäppäimet

    \n' + + '\n' + + '
      \n' + + '
    • siirtävät sinua valikkopalkin valikoiden välillä.
    • \n' + + '
    • avaavat valikon alavalikon.
    • \n' + + '
    • siirtävät sinua työkalupalkin ryhmän painikkeiden välillä.
    • \n' + + '
    • siirtävät sinua kohteiden välillä alatunnisteen elementin polussa.
    • \n' + + '
    \n' + + '\n' + + '

    Alas- ja Ylös-nuolinäppäimet

    \n' + + '\n' + + '
      \n' + + '
    • siirtävät sinua valikon valikkokohteiden välillä.
    • \n' + + '
    • siirtävät sinua työkalupalkin ponnahdusvalikon kohteiden välillä.
    • \n' + + '
    \n' + + '\n' + + '

    Nuolinäppäimet siirtävät sinua käyttöliittymän korostetun osan sisällä syklissä.

    \n' + + '\n' + + '

    Paina Esc-näppäintä sulkeaksesi avoimen valikon, avataksesi alavalikon tai avataksesi ponnahdusvalikon.

    \n' + + '\n' + + '

    Jos kohdistus on käyttöliittymän tietyn osion ylälaidassa, Esc-näppäimen painaminen\n' + + ' poistuu myös näppäimistönavigoinnista kokonaan.

    \n' + + '\n' + + '

    Suorita valikkokohde tai työkalupalkin painike

    \n' + + '\n' + + '

    Kun haluamasi valikkokohde tai työkalupalkin painike on korostettuna, paina Return-, Enter-\n' + + ' tai välilyöntinäppäintä suorittaaksesi kohteen.

    \n' + + '\n' + + '

    Välilehdittömissä valintaikkunoissa navigointi

    \n' + + '\n' + + '

    Kun välilehdetön valintaikkuna avautuu, kohdistus siirtyy sen ensimmäiseen interaktiiviseen komponenttiin.

    \n' + + '\n' + + '

    Voit siirtyä valintaikkunan interaktiivisten komponenttien välillä painamalla sarkainnäppäintä tai Shift+sarkainnäppäin.

    \n' + + '\n' + + '

    Välilehdellisissä valintaikkunoissa navigointi

    \n' + + '\n' + + '

    Kun välilehdellinen valintaikkuna avautuu, kohdistus siirtyy välilehtivalikon ensimmäiseen painikkeeseen.

    \n' + + '\n' + + '

    Voit siirtyä valintaikkunan välilehden interaktiivisen komponenttien välillä painamalla sarkainnäppäintä tai\n' + + ' Shift+sarkainnäppäin.

    \n' + + '\n' + + '

    Voit siirtyä valintaikkunan toiseen välilehteen siirtämällä kohdistuksen välilehtivalikkoon ja painamalla sopivaa nuolinäppäintä\n' + + ' siirtyäksesi käytettävissä olevien välilehtien välillä syklissä.

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/fr_FR.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/fr_FR.js new file mode 100644 index 0000000..25af54e --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/fr_FR.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.fr_FR', +'

    Débuter la navigation au clavier

    \n' + + '\n' + + '
    \n' + + '
    Cibler la barre du menu
    \n' + + '
    Windows ou Linux : Alt+F9
    \n' + + '
    macOS : ⌥F9
    \n' + + "
    Cibler la barre d'outils
    \n" + + '
    Windows ou Linux : Alt+F10
    \n' + + '
    macOS : ⌥F10
    \n' + + '
    Cibler le pied de page
    \n' + + '
    Windows ou Linux : Alt+F11
    \n' + + '
    macOS : ⌥F11
    \n' + + "
    Cibler une barre d'outils contextuelle
    \n" + + '
    Windows, Linux ou macOS : Ctrl+F9\n' + + '
    \n' + + '\n' + + "

    La navigation débutera sur le premier élément de l'interface utilisateur, qui sera mis en surbrillance ou bien souligné dans le cas du premier élément du\n" + + " chemin d'éléments du pied de page.

    \n" + + '\n' + + "

    Naviguer entre les sections de l'interface utilisateur

    \n" + + '\n' + + "

    Pour passer d'une section de l'interface utilisateur à la suivante, appuyez sur Tabulation.

    \n" + + '\n' + + "

    Pour passer d'une section de l'interface utilisateur à la précédente, appuyez sur Maj+Tabulation.

    \n" + + '\n' + + "

    L'ordre de Tabulation de ces sections de l'interface utilisateur est le suivant :

    \n" + + '\n' + + '
      \n' + + '
    1. Barre du menu
    2. \n' + + "
    3. Chaque groupe de barres d'outils
    4. \n" + + '
    5. Barre latérale
    6. \n' + + "
    7. Chemin d'éléments du pied de page
    8. \n" + + "
    9. Bouton d'activation du compteur de mots dans le pied de page
    10. \n" + + '
    11. Lien de marque dans le pied de page
    12. \n' + + "
    13. Poignée de redimensionnement de l'éditeur dans le pied de page
    14. \n" + + '
    \n' + + '\n' + + "

    Si une section de l'interface utilisateur n'est pas présente, elle sera ignorée.

    \n" + + '\n' + + "

    Si le pied de page comporte un ciblage par navigation au clavier et qu'il n'y a aucune barre latérale visible, appuyer sur Maj+Tabulation\n" + + " déplace le ciblage vers le premier groupe de barres d'outils et non le dernier.

    \n" + + '\n' + + "

    Naviguer au sein des sections de l'interface utilisateur

    \n" + + '\n' + + "

    Pour passer d'un élément de l'interface utilisateur au suivant, appuyez sur la Flèche appropriée.

    \n" + + '\n' + + '

    Les touches fléchées Gauche et Droite

    \n' + + '\n' + + '
      \n' + + '
    • se déplacent entre les menus de la barre des menus.
    • \n' + + "
    • ouvrent un sous-menu au sein d'un menu.
    • \n" + + "
    • se déplacent entre les boutons d'un groupe de barres d'outils.
    • \n" + + "
    • se déplacent entre les éléments du chemin d'éléments du pied de page.
    • \n" + + '
    \n' + + '\n' + + '

    Les touches fléchées Bas et Haut

    \n' + + '\n' + + '
      \n' + + "
    • se déplacent entre les éléments de menu au sein d'un menu.
    • \n" + + "
    • se déplacent entre les éléments au sein d'un menu contextuel de barre d'outils.
    • \n" + + '
    \n' + + '\n' + + "

    Les Flèches parcourent la section de l'interface utilisateur ciblée.

    \n" + + '\n' + + '

    Pour fermer un menu ouvert, un sous-menu ouvert ou un menu contextuel ouvert, appuyez sur Echap.

    \n' + + '\n' + + "

    Si l'actuel ciblage se trouve en « haut » d'une section spécifique de l'interface utilisateur, appuyer sur Echap permet également de quitter\n" + + ' entièrement la navigation au clavier.

    \n' + + '\n' + + "

    Exécuter un élément de menu ou un bouton de barre d'outils

    \n" + + '\n' + + "

    Lorsque l'élément de menu ou le bouton de barre d'outils désiré est mis en surbrillance, appuyez sur la touche Retour arrière, Entrée\n" + + " ou la Barre d'espace pour exécuter l'élément.

    \n" + + '\n' + + '

    Naviguer au sein de dialogues sans onglets

    \n' + + '\n' + + "

    Dans les dialogues sans onglets, le premier composant interactif est ciblé lorsque le dialogue s'ouvre.

    \n" + + '\n' + + '

    Naviguez entre les composants du dialogue interactif en appuyant sur Tabulation ou Maj+Tabulation.

    \n' + + '\n' + + '

    Naviguer au sein de dialogues avec onglets

    \n' + + '\n' + + "

    Dans les dialogues avec onglets, le premier bouton du menu de l'onglet est ciblé lorsque le dialogue s'ouvre.

    \n" + + '\n' + + '

    Naviguez entre les composants interactifs de cet onglet de dialogue en appuyant sur Tabulation ou\n' + + ' Maj+Tabulation.

    \n' + + '\n' + + "

    Passez à un autre onglet de dialogue en ciblant le menu de l'onglet et en appuyant sur la Flèche\n" + + ' appropriée pour parcourir les onglets disponibles.

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/he_IL.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/he_IL.js new file mode 100644 index 0000000..4ddf39d --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/he_IL.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.he_IL', +'

    התחל ניווט במקלדת

    \n' + + '\n' + + '
    \n' + + '
    התמקד בשורת התפריטים
    \n' + + '
    Windows או Linux:‏ Alt+F9
    \n' + + '
    macOS: ⌥F9
    \n' + + '
    העבר מיקוד לסרגל הכלים
    \n' + + '
    Windows או Linux:‏ Alt+F10
    \n' + + '
    macOS: ⌥F10
    \n' + + '
    העבר מיקוד לכותרת התחתונה
    \n' + + '
    Windows או Linux:‏ Alt+F11
    \n' + + '
    macOS: ⌥F11
    \n' + + '
    העבר מיקוד לסרגל כלים הקשרי
    \n' + + '
    Windows‏, Linux או macOS:‏ Ctrl+F9\n' + + '
    \n' + + '\n' + + '

    הניווט יתחיל ברכיב הראשון במשך, שיודגש או שיהיה מתחתיו קו תחתון במקרה של הפריט הראשון\n' + + ' הנתיב של רכיב הכותרת התחתונה.

    \n' + + '\n' + + '

    עבור בין מקטעים במסך

    \n' + + '\n' + + '

    כדי לעבור בין המקטעים במסך, הקש Tab.

    \n' + + '\n' + + '

    כדי לעבור למקטע הקודם במסך, הקש Shift+Tab.

    \n' + + '\n' + + '

    הסדר מבחינת מקש Tab של הרכיבים במסך:

    \n' + + '\n' + + '
      \n' + + '
    1. שורת התפריטים
    2. \n' + + '
    3. כל קבוצה בסרגל הכלים
    4. \n' + + '
    5. הסרגל הצידי
    6. \n' + + '
    7. נתיב של רכיב בכותרת התחתונה
    8. \n' + + '
    9. לחצן לספירת מילים בכותרת התחתונה
    10. \n' + + '
    11. קישור של המותג בכותרת התחתונה
    12. \n' + + '
    13. ידית לשינוי גודל עבור העורך בכותרת התחתונה
    14. \n' + + '
    \n' + + '\n' + + '

    אם רכיב כלשהו במסך לא מופיע, המערכת תדלג עליו.

    \n' + + '\n' + + '

    אם בכותרת התחתונה יש מיקוד של ניווט במקלדת, ולא מופיע סרגל בצד, יש להקיש Shift+Tab\n' + + ' מעביר את המיקוד לקבוצה הראשונה בסרגל הכלים, לא האחרונה.

    \n' + + '\n' + + '

    עבור בתוך מקטעים במסך

    \n' + + '\n' + + '

    כדי לעבור מרכיב אחד לרכיב אחר במסך, הקש על מקש החץ המתאים.

    \n' + + '\n' + + '

    מקשי החיצים שמאלה וימינה

    \n' + + '\n' + + '
      \n' + + '
    • עבור בין תפריטים בשורת התפריטים.
    • \n' + + '
    • פתח תפריט משני בתפריט.
    • \n' + + '
    • עבור בין לחצנים בקבוצה בסרגל הכלים.
    • \n' + + '
    • עבור בין פריטים ברכיב בכותרת התחתונה.
    • \n' + + '
    \n' + + '\n' + + '

    מקשי החיצים למטה ולמעלה

    \n' + + '\n' + + '
      \n' + + '
    • עבור בין פריטים בתפריט.
    • \n' + + '
    • עבור בין פריטים בחלון הקובץ של סרגל הכלים.
    • \n' + + '
    \n' + + '\n' + + '

    מקשי החצים משתנים בתוך המקטע במסך שעליו נמצא המיקוד.

    \n' + + '\n' + + '

    כדי לסגור תפריט פתוח, תפריט משני פתוח או חלון קופץ, הקש על Esc.

    \n' + + '\n' + + "

    אם המיקוד הוא על החלק 'העליון' של מקטע מסוים במסך, הקשה על Esc מביאה גם ליציאה\n" + + ' מהניווט במקלדת לחלוטין.

    \n' + + '\n' + + '

    הפעל פריט בתפריט או לחצן בסרגל הכלים

    \n' + + '\n' + + '

    כאשר הפריט הרצוי בתפריט או הלחצן בסרגל הכלים מודגשים, הקש על Return, Enter,\n' + + ' או על מקש הרווח כדי להפעיל את הפריט.

    \n' + + '\n' + + '

    ניווט בחלונות דו-שיח בלי כרטיסיות

    \n' + + '\n' + + '

    בחלונות דו-שיח בלי כרטיסיות, הרכיב האינטראקטיבי הראשון מקבל את המיקוד כאשר החלון נפתח.

    \n' + + '\n' + + '

    עבור בין רכיבים אינטראקטיביים בחלון על ידי הקשה על Tab או Shift+Tab.

    \n' + + '\n' + + '

    ניווט בחלונות דו-שיח עם כרטיסיות

    \n' + + '\n' + + '

    בחלונות דו-שיח עם כרטיסיות, הלחצן הראשון בתפריט מקבל את המיקוד כאשר החלון נפתח.

    \n' + + '\n' + + '

    עבור בין רכיבים אינטראקטיביים בחלון על ידי הקשה על Tab או\n' + + ' Shift+Tab.

    \n' + + '\n' + + '

    עבור לכרטיסיה אחרת בחלון על ידי העברת המיקוד לתפריט הכרטיסיות והקשה על החץהמתאים\n' + + ' כדי לעבור בין הכרטיסיות הזמינות.

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/hi.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/hi.js new file mode 100644 index 0000000..f5f8cec --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/hi.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.hi', +'

    कीबोर्ड नेविगेशन शुरू करें

    \n' + + '\n' + + '
    \n' + + '
    मेन्यू बार पर फ़ोकस करें
    \n' + + '
    Windows या Linux: Alt+F9
    \n' + + '
    macOS: ⌥F9
    \n' + + '
    टूलबार पर फ़ोकस करें
    \n' + + '
    Windows या Linux: Alt+F10
    \n' + + '
    macOS: ⌥F10
    \n' + + '
    फ़ुटर पर फ़ोकस करें
    \n' + + '
    Windows या Linux: Alt+F11
    \n' + + '
    macOS: ⌥F11
    \n' + + '
    प्रासंगिक टूलबार पर फ़ोकस करें
    \n' + + '
    Windows, Linux या macOS: Ctrl+F9\n' + + '
    \n' + + '\n' + + '

    नेविगेशन पहले UI आइटम पर शुरू होगा, जिसे हाइलाइट किया जाएगा या पहले आइटम के मामले में फ़ुटर तत्व पथ में\n' + + ' रेखांकित किया जाएगा।

    \n' + + '\n' + + '

    UI सेक्शन के बीच नेविगेट करें

    \n' + + '\n' + + '

    एक UI सेक्शन से दूसरे सेक्शन में जाने के लिए, Tab दबाएं।

    \n' + + '\n' + + '

    एक UI सेक्शन से पिछले सेक्शन में जाने के लिए, Shift+Tab दबाएं।

    \n' + + '\n' + + '

    इन UI सेक्शन का Tab क्रम नीचे दिया गया है:

    \n' + + '\n' + + '
      \n' + + '
    1. मेन्यू बार
    2. \n' + + '
    3. प्रत्येक टूलबार समूह
    4. \n' + + '
    5. साइडबार
    6. \n' + + '
    7. फ़ुटर में तत्व पथ
    8. \n' + + '
    9. फ़ुटर में शब्द गणना टॉगल बटन
    10. \n' + + '
    11. फ़ुटर में ब्रांडिंग लिंक
    12. \n' + + '
    13. फ़ुटर में संपादक का आकार बदलने का हैंडल
    14. \n' + + '
    \n' + + '\n' + + '

    अगर कोई UI सेक्शन मौजूद नहीं है, तो उसे छोड़ दिया जाता है।

    \n' + + '\n' + + '

    अगर फ़ुटर में कीबोर्ड नेविगेशन फ़ोकस है, और कोई दिखा देने वाला साइडबार नहीं है, तो Shift+Tab दबाने से\n' + + ' फ़ोकस पहले टूलबार समूह पर चला जाता है, पिछले पर नहीं।

    \n' + + '\n' + + '

    UI सेक्शन के भीतर नेविगेट करें

    \n' + + '\n' + + '

    एक UI तत्व से दूसरे में जाने के लिए उपयुक्त ऐरो कुंजी दबाएं।

    \n' + + '\n' + + '

    बाएं और दाएं ऐरो कुंजियां

    \n' + + '\n' + + '
      \n' + + '
    • मेन्यू बार में मेन्यू के बीच ले जाती हैं।
    • \n' + + '
    • मेन्यू में एक सब-मेन्यू खोलें।
    • \n' + + '
    • टूलबार समूह में बटनों के बीच ले जाएं।
    • \n' + + '
    • फ़ुटर के तत्व पथ में आइटम के बीच ले जाएं।
    • \n' + + '
    \n' + + '\n' + + '

    नीचे और ऊपर ऐरो कुंजियां

    \n' + + '\n' + + '
      \n' + + '
    • मेन्यू में मेन्यू आइटम के बीच ले जाती हैं।
    • \n' + + '
    • टूलबार पॉप-अप मेन्यू में आइटम के बीच ले जाएं।
    • \n' + + '
    \n' + + '\n' + + '

    फ़ोकस वाले UI सेक्शन के भीतर ऐरो कुंजियां चलाती रहती हैं।

    \n' + + '\n' + + '

    कोई खुला मेन्यू, कोई खुला सब-मेन्यू या कोई खुला पॉप-अप मेन्यू बंद करने के लिए Esc कुंजी दबाएं।

    \n' + + '\n' + + "

    अगर मौजूदा फ़ोकस किसी विशेष UI सेक्शन के 'शीर्ष' पर है, तो Esc कुंजी दबाने से भी\n" + + ' कीबोर्ड नेविगेशन पूरी तरह से बाहर हो जाता है।

    \n' + + '\n' + + '

    मेन्यू आइटम या टूलबार बटन निष्पादित करें

    \n' + + '\n' + + '

    जब वांछित मेन्यू आइटम या टूलबार बटन हाइलाइट किया जाता है, तो आइटम को निष्पादित करने के लिए Return, Enter,\n' + + ' या Space bar दबाएं।

    \n' + + '\n' + + '

    गैर-टैब वाले डायलॉग पर नेविगेट करें

    \n' + + '\n' + + '

    गैर-टैब वाले डायलॉग में, डायलॉग खुलने पर पहला इंटरैक्टिव घटक फ़ोकस लेता है।

    \n' + + '\n' + + '

    Tab or Shift+Tab दबाकर इंटरैक्टिव डायलॉग घटकों के बीच नेविगेट करें।

    \n' + + '\n' + + '

    टैब किए गए डायलॉग पर नेविगेट करें

    \n' + + '\n' + + '

    टैब किए गए डायलॉग में, डायलॉग खुलने पर टैब मेन्यू में पहला बटन फ़ोकस लेता है।

    \n' + + '\n' + + '

    इस डायलॉग टैब के इंटरैक्टिव घटकों के बीच नेविगेट करने के लिए Tab या\n' + + ' Shift+Tab दबाएं।

    \n' + + '\n' + + '

    टैब मेन्यू को फ़ोकस देकर और फिर उपलब्ध टैब में के बीच जाने के लिए उपयुक्त ऐरो\n' + + ' कुंजी दबाकर दूसरे डायलॉग टैब पर स्विच करें।

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/hr.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/hr.js new file mode 100644 index 0000000..6afabc4 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/hr.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.hr', +'

    Početak navigacije na tipkovnici

    \n' + + '\n' + + '
    \n' + + '
    Fokusiranje trake izbornika
    \n' + + '
    Windows ili Linux: Alt+F9
    \n' + + '
    macOS: ⌥F9
    \n' + + '
    Fokusiranje alatne trake
    \n' + + '
    Windows ili Linux: Alt+F10
    \n' + + '
    macOS: ⌥F10
    \n' + + '
    Fokusiranje podnožja
    \n' + + '
    Windows ili Linux: Alt+F11
    \n' + + '
    macOS: ⌥F11
    \n' + + '
    Fokusiranje kontekstne alatne trake
    \n' + + '
    Windows, Linux ili macOS: Ctrl+F9\n' + + '
    \n' + + '\n' + + '

    Navigacija će započeti kod prve stavke na korisničkom sučelju, koja će biti istaknuta ili podcrtana ako se radi o prvoj stavci u\n' + + ' putu elementa u podnožju.

    \n' + + '\n' + + '

    Navigacija između dijelova korisničkog sučelja

    \n' + + '\n' + + '

    Za pomicanje s jednog dijela korisničkog sučelja na drugi pritisnite tabulator.

    \n' + + '\n' + + '

    Za pomicanje s jednog dijela korisničkog sučelja na prethodni pritisnite Shift + tabulator.

    \n' + + '\n' + + '

    Ovo je redoslijed pomicanja tabulatora po dijelovima korisničkog sučelja:

    \n' + + '\n' + + '
      \n' + + '
    1. Traka izbornika
    2. \n' + + '
    3. Pojedinačne grupe na alatnoj traci
    4. \n' + + '
    5. Bočna traka
    6. \n' + + '
    7. Put elemenata u podnožju
    8. \n' + + '
    9. Gumb za pomicanje po broju riječi u podnožju
    10. \n' + + '
    11. Veza na brand u podnožju
    12. \n' + + '
    13. Značajka za promjenu veličine alata za uređivanje u podnožju
    14. \n' + + '
    \n' + + '\n' + + '

    Ako neki dio korisničkog sučelja nije naveden, on se preskače.

    \n' + + '\n' + + '

    Ako u podnožju postoji fokus za navigaciju na tipkovnici, a nema vidljive bočne trake, pritiskom na Shift + tabulator\n' + + ' fokus se prebacuje na prvu skupinu na alatnoj traci, ne na zadnju.

    \n' + + '\n' + + '

    Navigacija unutar dijelova korisničkog sučelja

    \n' + + '\n' + + '

    Za pomicanje s jednog elementa korisničkog sučelja na drugi pritisnite tipku s odgovarajućom strelicom.

    \n' + + '\n' + + '

    Tipke s lijevom i desnom strelicom

    \n' + + '\n' + + '
      \n' + + '
    • služe za pomicanje između izbornika na alatnoj traci.
    • \n' + + '
    • otvaraju podizbornik unutar izbornika.
    • \n' + + '
    • služe za pomicanje između gumba unutar skupina na alatnoj traci.
    • \n' + + '
    • služe za pomicanje između stavki na elementu puta u podnožju.
    • \n' + + '
    \n' + + '\n' + + '

    Tipke s donjom i gornjom strelicom

    \n' + + '\n' + + '
      \n' + + '
    • služe za pomicanje između stavki unutar izbornika.
    • \n' + + '
    • služe za pomicanje između stavki na alatnoj traci skočnog izbornika.
    • \n' + + '
    \n' + + '\n' + + '

    Tipkama strelica kružno se pomičete unutar dijela korisničkog sučelja koji je u fokusu.

    \n' + + '\n' + + '

    Za zatvaranje otvorenog izbornika, otvorenog podizbornika ili otvorenog skočnog izbornika pritisnite tipku Esc.

    \n' + + '\n' + + '

    Ako je fokus trenutačno postavljen na vrh pojedinačnog dijela korisničkog sučelja, pritiskom na tipku Esc također\n' + + ' u potpunosti zatvarate navigaciju na tipkovnici.

    \n' + + '\n' + + '

    Izvršavanje radnji putem stavki izbornika ili gumba na alatnoj traci

    \n' + + '\n' + + '

    Nakon što se istakne stavka izbornika ili gumb na alatnoj traci s radnjom koju želite izvršiti, pritisnite tipku Return, Enter\n' + + ' ili razmak da biste pokrenuli željenu radnju.

    \n' + + '\n' + + '

    Navigacija dijaloškim okvirima izvan kartica

    \n' + + '\n' + + '

    Prilikom otvaranja dijaloških okvira izvan kartica fokus se nalazi na prvoj interaktivnoj komponenti.

    \n' + + '\n' + + '

    Navigaciju između interaktivnih dijaloških komponenata vršite pritiskom na tabulator ili Shift + tabulator.

    \n' + + '\n' + + '

    Navigacija dijaloškim okvirima u karticama

    \n' + + '\n' + + '

    Prilikom otvaranja dijaloških okvira u karticama fokus se nalazi na prvom gumbu u izborniku unutar kartice.

    \n' + + '\n' + + '

    Navigaciju između interaktivnih komponenata dijaloškog okvira u kartici vršite pritiskom na tabulator ili\n' + + ' Shift + tabulator.

    \n' + + '\n' + + '

    Na karticu s drugim dijaloškim okvirom možete se prebaciti tako da stavite fokus na izbornik kartice pa pritisnete tipku s odgovarajućom strelicom\n' + + ' za kružno pomicanje između dostupnih kartica.

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/hu_HU.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/hu_HU.js new file mode 100644 index 0000000..d3984b0 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/hu_HU.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.hu_HU', +'

    Billentyűzetes navigáció indítása

    \n' + + '\n' + + '
    \n' + + '
    Fókusz a menüsávra
    \n' + + '
    Windows és Linux: Alt+F9
    \n' + + '
    macOS: ⌥F9
    \n' + + '
    Fókusz az eszköztárra
    \n' + + '
    Windows és Linux: Alt+F10
    \n' + + '
    macOS: ⌥F10
    \n' + + '
    Fókusz a láblécre
    \n' + + '
    Windows és Linux: Alt+F11
    \n' + + '
    macOS: ⌥F11
    \n' + + '
    Fókusz egy környezetfüggő eszköztárra
    \n' + + '
    Windows, Linux és macOS: Ctrl+F9\n' + + '
    \n' + + '\n' + + '

    A navigáció az első felhasználói felületi elemnél kezdődik, amelyet a rendszer kiemel, illetve aláhúz, amennyiben az az első elem\n' + + ' a lábléc elemútvonalán.

    \n' + + '\n' + + '

    Navigálás a felhasználói felület szakaszai között

    \n' + + '\n' + + '

    A felhasználói felület következő szakaszára váltáshoz nyomja meg a Tab billentyűt.

    \n' + + '\n' + + '

    A felhasználói felület előző szakaszára váltáshoz nyomja meg a Shift+Tab billentyűt.

    \n' + + '\n' + + '

    A Tab billentyűvel a felhasználói felület szakaszai között a következő sorrendben vált:

    \n' + + '\n' + + '
      \n' + + '
    1. Menüsáv
    2. \n' + + '
    3. Az egyes eszköztárcsoportok
    4. \n' + + '
    5. Oldalsáv
    6. \n' + + '
    7. Elemútvonal a láblécen
    8. \n' + + '
    9. Szószámátkapcsoló gomb a láblécen
    10. \n' + + '
    11. Márkalink a láblécen
    12. \n' + + '
    13. Szerkesztő átméretezési fogópontja a láblécen
    14. \n' + + '
    \n' + + '\n' + + '

    Ha a felhasználói felület valamelyik eleme nincs jelen, a rendszer kihagyja.

    \n' + + '\n' + + '

    Ha a billentyűzetes navigáció fókusza a láblécen van, és nincs látható oldalsáv, a Shift+Tab\n' + + ' billentyűkombináció lenyomásakor az első eszköztárcsoportra ugrik a fókusz, nem az utolsóra.

    \n' + + '\n' + + '

    Navigálás a felhasználói felület szakaszain belül

    \n' + + '\n' + + '

    A felhasználói felület következő elemére váltáshoz nyomja meg a megfelelő nyílbillentyűt.

    \n' + + '\n' + + '

    A bal és a jobb nyílgomb

    \n' + + '\n' + + '
      \n' + + '
    • a menüsávban a menük között vált.
    • \n' + + '
    • a menükben megnyit egy almenüt.
    • \n' + + '
    • az eszköztárcsoportban a gombok között vált.
    • \n' + + '
    • a lábléc elemútvonalán az elemek között vált.
    • \n' + + '
    \n' + + '\n' + + '

    A le és a fel nyílgomb

    \n' + + '\n' + + '
      \n' + + '
    • a menükben a menüpontok között vált.
    • \n' + + '
    • az eszköztár előugró menüjében az elemek között vált.
    • \n' + + '
    \n' + + '\n' + + '

    A nyílbillentyűk lenyomásával körkörösen lépkedhet a fókuszban lévő felhasználói felületi szakasz elemei között.

    \n' + + '\n' + + '

    A megnyitott menüket, almenüket és előugró menüket az Esc billentyűvel zárhatja be.

    \n' + + '\n' + + '

    Ha a fókusz az aktuális felületi elem „felső” részén van, az Esc billentyűvel az egész\n' + + ' billentyűzetes navigációból kilép.

    \n' + + '\n' + + '

    Menüpont vagy eszköztárgomb aktiválása

    \n' + + '\n' + + '

    Amikor a kívánt menüelem vagy eszköztárgomb van kijelölve, nyomja meg a Return, az Enter\n' + + ' vagy a Szóköz billentyűt az adott elem vagy gomb aktiválásához.

    \n' + + '\n' + + '

    Navigálás a lapokkal nem rendelkező párbeszédablakokban

    \n' + + '\n' + + '

    A lapokkal nem rendelkező párbeszédablakokban az első interaktív összetevő kapja a fókuszt, amikor a párbeszédpanel megnyílik.

    \n' + + '\n' + + '

    A párbeszédpanelek interaktív összetevői között a Tab vagy a Shift+Tab billentyűvel navigálhat.

    \n' + + '\n' + + '

    Navigálás a lapokkal rendelkező párbeszédablakokban

    \n' + + '\n' + + '

    A lapokkal rendelkező párbeszédablakokban a lapmenü első gombja kapja a fókuszt, amikor a párbeszédpanel megnyílik.

    \n' + + '\n' + + '

    A párbeszédpanel e lapjának interaktív összetevői között a Tab vagy\n' + + ' Shift+Tab billentyűvel navigálhat.

    \n' + + '\n' + + '

    A párbeszédablak másik lapjára úgy léphet, hogy a fókuszt a lapmenüre állítja, majd lenyomja a megfelelő nyílbillentyűt\n' + + ' a rendelkezésre álló lapok közötti lépkedéshez.

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/id.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/id.js new file mode 100644 index 0000000..4a35731 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/id.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.id', +'

    Memulai navigasi keyboard

    \n' + + '\n' + + '
    \n' + + '
    Fokus pada bilah Menu
    \n' + + '
    Windows atau Linux: Alt+F9
    \n' + + '
    macOS: ⌥F9
    \n' + + '
    Fokus pada Bilah Alat
    \n' + + '
    Windows atau Linux: Alt+F10
    \n' + + '
    macOS: ⌥F10
    \n' + + '
    Fokus pada footer
    \n' + + '
    Windows atau Linux: Alt+F11
    \n' + + '
    macOS: ⌥F11
    \n' + + '
    Fokus pada bilah alat kontekstual
    \n' + + '
    Windows, Linux, atau macOS: Ctrl+F9\n' + + '
    \n' + + '\n' + + '

    Navigasi akan dimulai dari item pertama UI, yang akan disorot atau digarisbawahi di\n' + + ' alur elemen Footer.

    \n' + + '\n' + + '

    Berpindah antar-bagian UI

    \n' + + '\n' + + '

    Untuk berpindah dari satu bagian UI ke bagian berikutnya, tekan Tab.

    \n' + + '\n' + + '

    Untuk berpindah dari satu bagian UI ke bagian sebelumnya, tekan Shift+Tab.

    \n' + + '\n' + + '

    Urutan Tab bagian-bagian UI ini adalah:

    \n' + + '\n' + + '
      \n' + + '
    1. Bilah menu
    2. \n' + + '
    3. Tiap grup bilah alat
    4. \n' + + '
    5. Bilah sisi
    6. \n' + + '
    7. Alur elemen di footer
    8. \n' + + '
    9. Tombol aktifkan/nonaktifkan jumlah kata di footer
    10. \n' + + '
    11. Tautan merek di footer
    12. \n' + + '
    13. Pengatur pengubahan ukuran editor di footer
    14. \n' + + '
    \n' + + '\n' + + '

    Jika suatu bagian UI tidak ada, bagian tersebut dilewati.

    \n' + + '\n' + + '

    Jika fokus navigasi keyboard ada pada footer, tetapi tidak ada bilah sisi yang terlihat, menekan Shift+Tab\n' + + ' akan memindahkan fokus ke grup bilah alat pertama, bukan yang terakhir.

    \n' + + '\n' + + '

    Berpindah di dalam bagian-bagian UI

    \n' + + '\n' + + '

    Untuk berpindah dari satu elemen UI ke elemen berikutnya, tekan tombol Panah yang sesuai.

    \n' + + '\n' + + '

    Tombol panah Kiri dan Kanan untuk

    \n' + + '\n' + + '
      \n' + + '
    • berpindah-pindah antar-menu di dalam bilah menu.
    • \n' + + '
    • membuka sub-menu di dalam menu.
    • \n' + + '
    • berpindah-pindah antar-tombol di dalam grup bilah alat.
    • \n' + + '
    • berpindah-pindah antar-item di dalam alur elemen footer.
    • \n' + + '
    \n' + + '\n' + + '

    Tombol panah Bawah dan Atas untuk

    \n' + + '\n' + + '
      \n' + + '
    • berpindah-pindah antar-item menu di dalam menu.
    • \n' + + '
    • berpindah-pindah antar-item di dalam menu pop-up bilah alat.
    • \n' + + '
    \n' + + '\n' + + '

    Tombol Panah hanya bergerak di dalam bagian UI yang difokuskan.

    \n' + + '\n' + + '

    Untuk menutup menu, sub-menu, atau menu pop-up yang terbuka, tekan tombol Esc.

    \n' + + '\n' + + '

    Jika fokus sedang berada di ‘atas’ bagian UI tertentu, menekan tombol Esc juga dapat mengeluarkan fokus\n' + + ' dari seluruh navigasi keyboard.

    \n' + + '\n' + + '

    Menjalankan item menu atau tombol bilah alat

    \n' + + '\n' + + '

    Jika item menu atau tombol bilah alat yang diinginkan tersorot, tekan Return, Enter,\n' + + ' atau Spasi untuk menjalankan item.

    \n' + + '\n' + + '

    Berpindah dalam dialog tanpa tab

    \n' + + '\n' + + '

    Dalam dialog tanpa tab, fokus diarahkan pada komponen interaktif pertama saat dialog terbuka.

    \n' + + '\n' + + '

    Berpindah di antara komponen dalam dialog interaktif dengan menekan Tab atau Shift+Tab.

    \n' + + '\n' + + '

    Berpindah dalam dialog dengan tab

    \n' + + '\n' + + '

    Dalam dialog yang memiliki tab, fokus diarahkan pada tombol pertama di dalam menu saat dialog terbuka.

    \n' + + '\n' + + '

    Berpindah di antara komponen-komponen interaktif pada tab dialog ini dengan menekan Tab atau\n' + + ' Shift+Tab.

    \n' + + '\n' + + '

    Beralih ke tab dialog lain dengan mengarahkan fokus pada menu tab lalu tekan tombol Panah\n' + + ' yang sesuai untuk berpindah ke berbagai tab yang tersedia.

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/it.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/it.js new file mode 100644 index 0000000..5b614b3 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/it.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.it', +'

    Iniziare la navigazione tramite tastiera

    \n' + + '\n' + + '
    \n' + + '
    Impostare lo stato attivo per la barra dei menu
    \n' + + '
    Windows o Linux: ALT+F9
    \n' + + '
    macOS: ⌥F9
    \n' + + '
    Impostare lo stato attivo per la barra degli strumenti
    \n' + + '
    Windows o Linux: ALT+F10
    \n' + + '
    macOS: ⌥F10
    \n' + + '
    Impostare lo stato attivo per il piè di pagina
    \n' + + '
    Windows o Linux: ALT+F11
    \n' + + '
    macOS: ⌥F11
    \n' + + '
    Impostare lo stato attivo per la barra degli strumenti contestuale
    \n' + + '
    Windows, Linux o macOS: CTRL+F9\n' + + '
    \n' + + '\n' + + "

    La navigazione inizierà dalla prima voce dell'interfaccia utente, che sarà evidenziata o sottolineata nel caso della prima voce\n" + + " nel percorso dell'elemento del piè di pagina.

    \n" + + '\n' + + "

    Navigare tra le sezioni dell'interfaccia utente

    \n" + + '\n' + + "

    Per passare da una sezione dell'interfaccia utente alla successiva, premere TAB.

    \n" + + '\n' + + "

    Per passare da una sezione dell'interfaccia utente alla precedente, premere MAIUSC+TAB.

    \n" + + '\n' + + "

    L'ordine di tabulazione di queste sezioni dell'interfaccia utente è:

    \n" + + '\n' + + '
      \n' + + '
    1. Barra dei menu
    2. \n' + + '
    3. Ogni gruppo di barre degli strumenti
    4. \n' + + '
    5. Barra laterale
    6. \n' + + "
    7. Percorso dell'elemento nel piè di pagina
    8. \n" + + '
    9. Pulsante di attivazione/disattivazione del conteggio delle parole nel piè di pagina
    10. \n' + + '
    11. Collegamento al marchio nel piè di pagina
    12. \n' + + "
    13. Quadratino di ridimensionamento dell'editor nel piè di pagina
    14. \n" + + '
    \n' + + '\n' + + "

    Se una sezione dell'interfaccia utente non è presente, viene saltata.

    \n" + + '\n' + + '

    Se il piè di pagina ha lo stato attivo per la navigazione tramite tastiera e non è presente alcuna barra laterale visibile, premendo MAIUSC+TAB\n' + + " si sposta lo stato attivo sul primo gruppo di barre degli strumenti, non sull'ultimo.

    \n" + + '\n' + + "

    Navigare all'interno delle sezioni dell'interfaccia utente

    \n" + + '\n' + + "

    Per passare da un elemento dell'interfaccia utente al successivo, premere il tasto freccia appropriato.

    \n" + + '\n' + + '

    I tasti freccia Sinistra e Destra

    \n' + + '\n' + + '
      \n' + + '
    • consentono di spostarsi tra i menu della barra dei menu.
    • \n' + + '
    • aprono un sottomenu in un menu.
    • \n' + + '
    • consentono di spostarsi tra i pulsanti di un gruppo di barre degli strumenti.
    • \n' + + "
    • consentono di spostarsi tra le voci nel percorso dell'elemento del piè di pagina.
    • \n" + + '
    \n' + + '\n' + + '

    I tasti freccia Giù e Su

    \n' + + '\n' + + '
      \n' + + '
    • consentono di spostarsi tra le voci di un menu.
    • \n' + + '
    • consentono di spostarsi tra le voci di un menu a comparsa della barra degli strumenti.
    • \n' + + '
    \n' + + '\n' + + "

    I tasti freccia consentono di spostarsi all'interno della sezione dell'interfaccia utente con stato attivo.

    \n" + + '\n' + + '

    Per chiudere un menu aperto, un sottomenu aperto o un menu a comparsa aperto, premere il tasto ESC.

    \n' + + '\n' + + "

    Se lo stato attivo corrente si trova nella parte superiore di una particolare sezione dell'interfaccia utente, premendo il tasto ESC si esce\n" + + ' completamente dalla navigazione tramite tastiera.

    \n' + + '\n' + + '

    Eseguire una voce di menu o un pulsante della barra degli strumenti

    \n' + + '\n' + + '

    Quando la voce di menu o il pulsante della barra degli strumenti desiderati sono evidenziati, premere il tasto diritorno a capo, il tasto Invio\n' + + ' o la barra spaziatrice per eseguirli.

    \n' + + '\n' + + '

    Navigare nelle finestre di dialogo non a schede

    \n' + + '\n' + + "

    Nelle finestre di dialogo non a schede, all'apertura della finestra di dialogo diventa attivo il primo componente interattivo.

    \n" + + '\n' + + '

    Per spostarsi tra i componenti interattivi della finestra di dialogo, premere TAB o MAIUSC+TAB.

    \n' + + '\n' + + '

    Navigare nelle finestre di dialogo a schede

    \n' + + '\n' + + "

    Nelle finestre di dialogo a schede, all'apertura della finestra di dialogo diventa attivo il primo pulsante del menu della scheda.

    \n" + + '\n' + + '

    Per spostarsi tra i componenti interattivi di questa scheda della finestra di dialogo, premere TAB o\n' + + ' MAIUSC+TAB.

    \n' + + '\n' + + "

    Per passare a un'altra scheda della finestra di dialogo, attivare il menu della scheda e premere il tasto freccia\n" + + ' appropriato per scorrere le schede disponibili.

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/ja.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/ja.js new file mode 100644 index 0000000..92d2d11 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/ja.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.ja', +'

    キーボード ナビゲーションの開始

    \n' + + '\n' + + '
    \n' + + '
    メニュー バーをフォーカス
    \n' + + '
    Windows または Linux: Alt+F9
    \n' + + '
    macOS: ⌥F9
    \n' + + '
    ツール バーをフォーカス
    \n' + + '
    Windows または Linux: Alt+F10
    \n' + + '
    macOS: ⌥F10
    \n' + + '
    フッターをフォーカス
    \n' + + '
    Windows または Linux: Alt+F11
    \n' + + '
    macOS: ⌥F11
    \n' + + '
    コンテキスト ツール バーをフォーカス
    \n' + + '
    Windows、Linux または macOS: Ctrl+F9\n' + + '
    \n' + + '\n' + + '

    ナビゲーションは最初の UI 項目から開始され、強調表示されるか、フッターの要素パスにある最初の項目の場合は\n' + + ' 下線が引かれます。

    \n' + + '\n' + + '

    UI セクション間の移動

    \n' + + '\n' + + '

    次の UI セクションに移動するには、Tab を押します。

    \n' + + '\n' + + '

    前の UI セクションに移動するには、Shift+Tab を押します。

    \n' + + '\n' + + '

    これらの UI セクションの Tab の順序:

    \n' + + '\n' + + '
      \n' + + '
    1. メニュー バー
    2. \n' + + '
    3. 各ツール バー グループ
    4. \n' + + '
    5. サイド バー
    6. \n' + + '
    7. フッターの要素パス
    8. \n' + + '
    9. フッターの単語数切り替えボタン
    10. \n' + + '
    11. フッターのブランド リンク
    12. \n' + + '
    13. フッターのエディター サイズ変更ハンドル
    14. \n' + + '
    \n' + + '\n' + + '

    UI セクションが存在しない場合は、スキップされます。

    \n' + + '\n' + + '

    フッターにキーボード ナビゲーション フォーカスがあり、表示可能なサイド バーがない場合、Shift+Tab を押すと、\n' + + ' フォーカスが最後ではなく最初のツール バー グループに移動します。

    \n' + + '\n' + + '

    UI セクション内の移動

    \n' + + '\n' + + '

    次の UI 要素に移動するには、適切な矢印キーを押します。

    \n' + + '\n' + + '

    左矢印と右矢印のキー

    \n' + + '\n' + + '
      \n' + + '
    • メニュー バーのメニュー間で移動します。
    • \n' + + '
    • メニュー内のサブメニューを開きます。
    • \n' + + '
    • ツール バー グループのボタン間で移動します。
    • \n' + + '
    • フッターの要素パスの項目間で移動します。
    • \n' + + '
    \n' + + '\n' + + '

    下矢印と上矢印のキー

    \n' + + '\n' + + '
      \n' + + '
    • メニュー内のメニュー項目間で移動します。
    • \n' + + '
    • ツール バー ポップアップ メニュー内のメニュー項目間で移動します。
    • \n' + + '
    \n' + + '\n' + + '

    矢印キーで、フォーカスされた UI セクション内で循環します。

    \n' + + '\n' + + '

    開いたメニュー、開いたサブメニュー、開いたポップアップ メニューを閉じるには、Esc キーを押します。

    \n' + + '\n' + + '

    現在のフォーカスが特定の UI セクションの「一番上」にある場合、Esc キーを押すと\n' + + ' キーボード ナビゲーションも完全に閉じられます。

    \n' + + '\n' + + '

    メニュー項目またはツール バー ボタンの実行

    \n' + + '\n' + + '

    目的のメニュー項目やツール バー ボタンが強調表示されている場合、リターン、Enter、\n' + + ' またはスペース キーを押して項目を実行します。

    \n' + + '\n' + + '

    タブのないダイアログの移動

    \n' + + '\n' + + '

    タブのないダイアログでは、ダイアログが開くと最初の対話型コンポーネントがフォーカスされます。

    \n' + + '\n' + + '

    Tab または Shift+Tab を押して、対話型ダイアログ コンポーネント間で移動します。

    \n' + + '\n' + + '

    タブ付きダイアログの移動

    \n' + + '\n' + + '

    タブ付きダイアログでは、ダイアログが開くとタブ メニューの最初のボタンがフォーカスされます。

    \n' + + '\n' + + '

    Tab または\n' + + ' Shift+Tab を押して、このダイアログ タブの対話型コンポーネント間で移動します。

    \n' + + '\n' + + '

    タブ メニューをフォーカスしてから適切な矢印キーを押して表示可能なタブを循環して、\n' + + ' 別のダイアログに切り替えます。

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/kk.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/kk.js new file mode 100644 index 0000000..cd79fa7 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/kk.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.kk', +'

    Пернетақта навигациясын бастау

    \n' + + '\n' + + '
    \n' + + '
    Мәзір жолағын фокустау
    \n' + + '
    Windows немесе Linux: Alt+F9
    \n' + + '
    macOS: ⌥F9
    \n' + + '
    Құралдар тақтасын фокустау
    \n' + + '
    Windows немесе Linux: Alt+F10
    \n' + + '
    macOS: ⌥F10
    \n' + + '
    Төменгі деректемені фокустау
    \n' + + '
    Windows немесе Linux: Alt+F11
    \n' + + '
    macOS: ⌥F11
    \n' + + '
    Мәтінмәндік құралдар тақтасын фокустау
    \n' + + '
    Windows, Linux немесе macOS: Ctrl+F9\n' + + '
    \n' + + '\n' + + '

    Навигация бөлектелетін немесе Төменгі деректеме элементінің жолындағы бірінші элемент жағдайында асты сызылатын\n' + + ' бірінші ПИ элементінен басталады.

    \n' + + '\n' + + '

    ПИ бөлімдері арасында навигациялау

    \n' + + '\n' + + '

    Бір ПИ бөлімінен келесісіне өту үшін Tab пернесін басыңыз.

    \n' + + '\n' + + '

    Бір ПИ бөлімінен алдыңғысына өту үшін Shift+Tab пернесін басыңыз.

    \n' + + '\n' + + '

    Осы ПИ бөлімдерінің Tab реті:

    \n' + + '\n' + + '
      \n' + + '
    1. Мәзір жолағы
    2. \n' + + '
    3. Әрбір құралдар тақтасы тобы
    4. \n' + + '
    5. Бүйірлік жолақ
    6. \n' + + '
    7. Төменгі деректемедегі элемент жолы
    8. \n' + + '
    9. Төменгі деректемедегі сөздер санын ауыстыру түймесі
    10. \n' + + '
    11. Төменгі деректемедегі брендингтік сілтеме
    12. \n' + + '
    13. Төменгі деректемедегі редактор өлшемін өзгерту тұтқасы
    14. \n' + + '
    \n' + + '\n' + + '

    ПИ бөлімі көрсетілмесе, ол өткізіп жіберіледі.

    \n' + + '\n' + + '

    Төменгі деректемеде пернетақта навигациясының фокусы болса және бүйірлік жолақ көрінбесе, Shift+Tab тіркесімін басу әрекеті\n' + + ' фокусты соңғысы емес, бірінші құралдар тақтасы тобына жылжытады.

    \n' + + '\n' + + '

    ПИ бөлімдерінде навигациялау

    \n' + + '\n' + + '

    Бір ПИ элементінен келесісіне өту үшін Arrow (Көрсеткі) пернесін басыңыз.

    \n' + + '\n' + + '

    Left (Сол жақ) және Right (Оң жақ) көрсеткі пернелері

    \n' + + '\n' + + '
      \n' + + '
    • мәзір жолағындағы мәзірлер арасында жылжыту.
    • \n' + + '
    • мәзірде ішкі мәзірді ашу.
    • \n' + + '
    • құралдар тақтасы тобындағы түймелер арасында жылжыту.
    • \n' + + '
    • төменгі деректеме элементінің жолындағы элементтер арасында жылжыту.
    • \n' + + '
    \n' + + '\n' + + '

    Down (Төмен) және Up (Жоғары) көрсеткі пернелері

    \n' + + '\n' + + '
      \n' + + '
    • мәзірдегі мәзір элементтері арасында жылжыту.
    • \n' + + '
    • құралдар тақтасының ашылмалы мәзіріндегі мәзір элементтері арасында жылжыту.
    • \n' + + '
    \n' + + '\n' + + '

    Фокусталған ПИ бөліміндегі Arrow (Көрсеткі) пернелерінің циклі.

    \n' + + '\n' + + '

    Ашық мәзірді жабу үшін ішкі мәзірді ашып немесе ашылмалы мәзірді ашып, Esc пернесін басыңыз.

    \n' + + '\n' + + '

    Ағымдағы фокус белгілі бір ПИ бөлімінің «үстінде» болса, Esc пернесін басу әрекеті пернетақта\n' + + ' навигациясын толығымен жабады.

    \n' + + '\n' + + '

    Мәзір элементін немесе құралдар тақтасы түймесін орындау

    \n' + + '\n' + + '

    Қажетті мәзір элементі немесе құралдар тақтасы түймесі бөлектелген кезде, элементті орындау үшін Return (Қайтару), Enter (Енгізу)\n' + + ' немесе Space bar (Бос орын) пернесін басыңыз.

    \n' + + '\n' + + '

    Белгіленбеген диалог терезелерін навигациялау

    \n' + + '\n' + + '

    Белгіленбеген диалог терезелерінде диалог терезесі ашылған кезде бірінші интерактивті құрамдас фокусталады.

    \n' + + '\n' + + '

    Tab немесе Shift+Tab пернесін басу арқылы интерактивті диалог терезесінің құрамдастары арасында навигациялаңыз.

    \n' + + '\n' + + '

    Белгіленген диалог терезелерін навигациялау

    \n' + + '\n' + + '

    Белгіленген диалог терезелерінде диалог терезесі ашылған кезде қойынды мәзіріндегі бірінші түйме фокусталады.

    \n' + + '\n' + + '

    Tab немесе\n' + + ' Shift+Tab пернесін басу арқылы осы диалог терезесі қойындысының интерактивті құрамдастары арасында навигациялаңыз.

    \n' + + '\n' + + '

    Қойынды мәзірінің фокусын беру арқылы басқа диалог терезесінің қойындысына ауысып, тиісті Arrow (Көрсеткі)\n' + + ' пернесін басу арқылы қолжетімді қойындылар арасында айналдыруға болады.

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/ko_KR.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/ko_KR.js new file mode 100644 index 0000000..847045c --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/ko_KR.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.ko_KR', +'

    키보드 탐색 시작

    \n' + + '\n' + + '
    \n' + + '
    메뉴 모음 포커스 표시
    \n' + + '
    Windows 또는 Linux: Alt+F9
    \n' + + '
    macOS: ⌥F9
    \n' + + '
    도구 모음 포커스 표시
    \n' + + '
    Windows 또는 Linux: Alt+F10
    \n' + + '
    macOS: ⌥F10
    \n' + + '
    푸터 포커스 표시
    \n' + + '
    Windows 또는 Linux: Alt+F11
    \n' + + '
    macOS: ⌥F11
    \n' + + '
    컨텍스트 도구 모음에 포커스 표시
    \n' + + '
    Windows, Linux 또는 macOS: Ctrl+F9\n' + + '
    \n' + + '\n' + + '

    첫 번째 UI 항목에서 탐색이 시작되며, 이때 첫 번째 항목이 강조 표시되거나 푸터 요소 경로에 있는\n' + + ' 경우 밑줄 표시됩니다.

    \n' + + '\n' + + '

    UI 섹션 간 탐색

    \n' + + '\n' + + '

    한 UI 섹션에서 다음 UI 섹션으로 이동하려면 Tab(탭)을 누릅니다.

    \n' + + '\n' + + '

    한 UI 섹션에서 이전 UI 섹션으로 돌아가려면 Shift+Tab(시프트+탭)을 누릅니다.

    \n' + + '\n' + + '

    이 UI 섹션의 Tab(탭) 순서는 다음과 같습니다.

    \n' + + '\n' + + '
      \n' + + '
    1. 메뉴 바
    2. \n' + + '
    3. 각 도구 모음 그룹
    4. \n' + + '
    5. 사이드바
    6. \n' + + '
    7. 푸터의 요소 경로
    8. \n' + + '
    9. 푸터의 단어 수 토글 버튼
    10. \n' + + '
    11. 푸터의 브랜딩 링크
    12. \n' + + '
    13. 푸터의 에디터 크기 변경 핸들
    14. \n' + + '
    \n' + + '\n' + + '

    UI 섹션이 없는 경우 건너뛰기합니다.

    \n' + + '\n' + + '

    푸터에 키보드 탐색 포커스가 있고 사이드바는 보이지 않는 경우 Shift+Tab(시프트+탭)을 누르면\n' + + ' 포커스 표시가 마지막이 아닌 첫 번째 도구 모음 그룹으로 이동합니다.

    \n' + + '\n' + + '

    UI 섹션 내 탐색

    \n' + + '\n' + + '

    한 UI 요소에서 다음 UI 요소로 이동하려면 적절한 화살표 키를 누릅니다.

    \n' + + '\n' + + '

    왼쪽과 오른쪽 화살표 키의 용도:

    \n' + + '\n' + + '
      \n' + + '
    • 메뉴 모음에서 메뉴 항목 사이를 이동합니다.
    • \n' + + '
    • 메뉴에서 하위 메뉴를 엽니다.
    • \n' + + '
    • 도구 모음 그룹에서 버튼 사이를 이동합니다.
    • \n' + + '
    • 푸터의 요소 경로에서 항목 간에 이동합니다.
    • \n' + + '
    \n' + + '\n' + + '

    아래와 위 화살표 키의 용도:

    \n' + + '\n' + + '
      \n' + + '
    • 메뉴에서 메뉴 항목 사이를 이동합니다.
    • \n' + + '
    • 도구 모음 팝업 메뉴에서 메뉴 항목 사이를 이동합니다.
    • \n' + + '
    \n' + + '\n' + + '

    화살표 키는 포커스 표시 UI 섹션 내에서 순환됩니다.

    \n' + + '\n' + + '

    열려 있는 메뉴, 열려 있는 하위 메뉴 또는 열려 있는 팝업 메뉴를 닫으려면 Esc 키를 누릅니다.

    \n' + + '\n' + + "

    현재 포커스 표시가 특정 UI 섹션 '상단'에 있는 경우 이때도 Esc 키를 누르면\n" + + ' 키보드 탐색이 완전히 종료됩니다.

    \n' + + '\n' + + '

    메뉴 항목 또는 도구 모음 버튼 실행

    \n' + + '\n' + + '

    원하는 메뉴 항목 또는 도구 모음 버튼이 강조 표시되어 있을 때 Return(리턴), Enter(엔터),\n' + + ' 또는 Space bar(스페이스바)를 눌러 해당 항목을 실행합니다.

    \n' + + '\n' + + '

    탭이 없는 대화 탐색

    \n' + + '\n' + + '

    탭이 없는 대화의 경우, 첫 번째 대화형 요소가 포커스 표시된 상태로 대화가 열립니다.

    \n' + + '\n' + + '

    대화형 요소들 사이를 이동할 때는 Tab(탭) 또는 Shift+Tab(시프트+탭)을 누릅니다.

    \n' + + '\n' + + '

    탭이 있는 대화 탐색

    \n' + + '\n' + + '

    탭이 있는 대화의 경우, 탭 메뉴에서 첫 번째 버튼이 포커스 표시된 상태로 대화가 열립니다.

    \n' + + '\n' + + '

    이 대화 탭의 대화형 요소들 사이를 이동할 때는 Tab(탭) 또는\n' + + ' Shift+Tab(시프트+탭)을 누릅니다.

    \n' + + '\n' + + '

    다른 대화 탭으로 이동하려면 탭 메뉴를 포커스 표시한 다음 적절한 화살표\n' + + ' 키를 눌러 사용 가능한 탭들을 지나 원하는 탭으로 이동합니다.

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/ms.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/ms.js new file mode 100644 index 0000000..08795cf --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/ms.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.ms', +'

    Mulakan navigasi papan kekunci

    \n' + + '\n' + + '
    \n' + + '
    Fokus bar Menu
    \n' + + '
    Windows atau Linux: Alt+F9
    \n' + + '
    macOS: ⌥F9
    \n' + + '
    Fokus Bar Alat
    \n' + + '
    Windows atau Linux: Alt+F10
    \n' + + '
    macOS: ⌥F10
    \n' + + '
    Fokus pengaki
    \n' + + '
    Windows atau Linux: Alt+F11
    \n' + + '
    macOS: ⌥F11
    \n' + + '
    Fokus bar alat kontekstual
    \n' + + '
    Windows, Linux atau macOS: Ctrl+F9\n' + + '
    \n' + + '\n' + + '

    Navigasi akan bermula pada item UI pertama, yang akan diserlahkan atau digaris bawah dalam saiz item pertama dalam\n' + + ' laluan elemen Pengaki.

    \n' + + '\n' + + '

    Navigasi antara bahagian UI

    \n' + + '\n' + + '

    Untuk bergerak dari satu bahagian UI ke yang seterusnya, tekan Tab.

    \n' + + '\n' + + '

    Untuk bergerak dari satu bahagian UI ke yang sebelumnya, tekan Shift+Tab.

    \n' + + '\n' + + '

    Tertib Tab bahagian UI ini ialah:

    \n' + + '\n' + + '
      \n' + + '
    1. Bar menu
    2. \n' + + '
    3. Setiap kumpulan bar alat
    4. \n' + + '
    5. Bar sisi
    6. \n' + + '
    7. Laluan elemen dalam pengaki
    8. \n' + + '
    9. Butang togol kiraan perkataan dalam pengaki
    10. \n' + + '
    11. Pautan penjenamaan dalam pengaki
    12. \n' + + '
    13. Pemegang saiz semula editor dalam pengaki
    14. \n' + + '
    \n' + + '\n' + + '

    Jika bahagian UI tidak wujud, ia dilangkau.

    \n' + + '\n' + + '

    Jika pengaki mempunyai fokus navigasi papan kekunci dan tiada bar sisi kelihatan, menekan Shift+Tab\n' + + ' akan mengalihkan fokus ke kumpulan bar alat pertama, bukannya yang terakhir.

    \n' + + '\n' + + '

    Navigasi dalam bahagian UI

    \n' + + '\n' + + '

    Untuk bergerak dari satu elemen UI ke yang seterusnya, tekan kekunci Anak Panah yang bersesuaian.

    \n' + + '\n' + + '

    Kekunci anak panah Kiri dan Kanan

    \n' + + '\n' + + '
      \n' + + '
    • bergerak antara menu dalam bar menu.
    • \n' + + '
    • membukan submenu dalam menu.
    • \n' + + '
    • bergerak antara butang dalam kumpulan bar alat.
    • \n' + + '
    • Laluan elemen dalam pengaki.
    • \n' + + '
    \n' + + '\n' + + '

    Kekunci anak panah Bawah dan Atas

    \n' + + '\n' + + '
      \n' + + '
    • bergerak antara item menu dalam menu.
    • \n' + + '
    • bergerak antara item dalam menu timbul bar alat.
    • \n' + + '
    \n' + + '\n' + + '

    Kekunci Anak Panah berkitar dalam bahagian UI difokuskan.

    \n' + + '\n' + + '

    Untuk menutup menu buka, submenu terbuka atau menu timbul terbuka, tekan kekunci Esc.

    \n' + + '\n' + + "

    Jika fokus semasa berada di bahagian 'atas' bahagian UI tertentu, menekan kekunci Esc juga akan keluar daripada\n" + + ' navigasi papan kekunci sepenuhnya.

    \n' + + '\n' + + '

    Laksanakan item menu atau butang bar alat

    \n' + + '\n' + + '

    Apabila item menu atau butang bar alat yang diinginkan diserlahkan, tekan Return, Enter,\n' + + ' atau bar Space untuk melaksanakan item.

    \n' + + '\n' + + '

    Navigasi ke dialog tidak bertab

    \n' + + '\n' + + '

    Dalam dialog tidak bertab, komponen interaksi pertama difokuskan apabila dialog dibuka.

    \n' + + '\n' + + '

    Navigasi antara komponen dialog interaktif dengan menekan Tab atau Shift+Tab.

    \n' + + '\n' + + '

    Navigasi ke dialog bertab

    \n' + + '\n' + + '

    Dalam dialog bertab, butang pertama dalam menu tab difokuskan apabila dialog dibuka.

    \n' + + '\n' + + '

    Navigasi antara komponen interaktif tab dialog ini dengan menekan Tab atau\n' + + ' Shift+Tab.

    \n' + + '\n' + + '

    Tukar kepada tab dialog lain dengan memfokuskan menu tab, kemudian menekan kekunci Anak Panah yang bersesuaian\n' + + ' untuk berkitar menerusi tab yang tersedia.

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/nb_NO.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/nb_NO.js new file mode 100644 index 0000000..1974af2 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/nb_NO.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.nb_NO', +'

    Starte tastaturnavigering

    \n' + + '\n' + + '
    \n' + + '
    Utheve menylinjen
    \n' + + '
    Windows eller Linux: Alt + F9
    \n' + + '
    macOS: ⌥F9
    \n' + + '
    Utheve verktøylinjen
    \n' + + '
    Windows eller Linux: Alt + F10
    \n' + + '
    macOS: ⌥F10
    \n' + + '
    Utheve bunnteksten
    \n' + + '
    Windows eller Linux: Alt + F11
    \n' + + '
    macOS: ⌥F11
    \n' + + '
    Utheve en kontekstuell verktøylinje
    \n' + + '
    Windows, Linux eller macOS: Ctrl + F9\n' + + '
    \n' + + '\n' + + '

    Navigeringen starter ved det første grensesnittelementet, som utheves, eller understrekes når det gjelder det første elementet i\n' + + ' elementstien i bunnteksten.

    \n' + + '\n' + + '

    Navigere mellom grensesnittdeler

    \n' + + '\n' + + '

    Du kan bevege deg fra én grensesnittdel til den neste ved å trykke på tabulatortasten.

    \n' + + '\n' + + '

    Du kan bevege deg fra én grensesnittdel til den forrige ved å trykke på Shift + tabulatortasten.

    \n' + + '\n' + + '

    Rekkefølgen til tabulatortasten gjennom grensesnittdelene er:

    \n' + + '\n' + + '
      \n' + + '
    1. Menylinjen
    2. \n' + + '
    3. Hver gruppe på verktøylinjen
    4. \n' + + '
    5. Sidestolpen
    6. \n' + + '
    7. Elementstien i bunnteksten
    8. \n' + + '
    9. Veksleknappen for ordantall i bunnteksten
    10. \n' + + '
    11. Merkelenken i bunnteksten
    12. \n' + + '
    13. Skaleringshåndtaket for redigeringsprogrammet i bunnteksten
    14. \n' + + '
    \n' + + '\n' + + '

    Hvis en grensesnittdel ikke er til stede, blir den hoppet over.

    \n' + + '\n' + + '

    Hvis tastaturnavigeringen har uthevet bunnteksten og det ikke finnes en synlig sidestolpe, kan du trykke på Shift + tabulatortasten\n' + + ' for å flytte fokuset til den første gruppen på verktøylinjen i stedet for den siste.

    \n' + + '\n' + + '

    Navigere innenfor grensesnittdeler

    \n' + + '\n' + + '

    Du kan bevege deg fra ett grensesnittelement til det neste ved å trykke på den aktuelle piltasten.

    \n' + + '\n' + + '

    De venstre og høyre piltastene

    \n' + + '\n' + + '
      \n' + + '
    • beveger deg mellom menyer på menylinjen.
    • \n' + + '
    • åpner en undermeny i en meny.
    • \n' + + '
    • beveger deg mellom knapper i en gruppe på verktøylinjen.
    • \n' + + '
    • beveger deg mellom elementer i elementstien i bunnteksten.
    • \n' + + '
    \n' + + '\n' + + '

    Ned- og opp-piltastene

    \n' + + '\n' + + '
      \n' + + '
    • beveger deg mellom menyelementer i en meny.
    • \n' + + '
    • beveger deg mellom elementer i en hurtigmeny på verktøylinjen.
    • \n' + + '
    \n' + + '\n' + + '

    Med piltastene kan du bevege deg innenfor den uthevede grensesnittdelen.

    \n' + + '\n' + + '

    Du kan lukke en åpen meny, en åpen undermeny eller en åpen hurtigmeny ved å klikke på Esc-tasten.

    \n' + + '\n' + + '

    Hvis det øverste nivået i en grensesnittdel er uthevet, kan du ved å trykke på Esc også avslutte\n' + + ' tastaturnavigeringen helt.

    \n' + + '\n' + + '

    Utføre et menyelement eller en knapp på en verktøylinje

    \n' + + '\n' + + '

    Når det ønskede menyelementet eller verktøylinjeknappen er uthevet, trykker du på Retur, Enter,\n' + + ' eller mellomromstasten for å utføre elementet.

    \n' + + '\n' + + '

    Navigere i dialogbokser uten faner

    \n' + + '\n' + + '

    I dialogbokser uten faner blir den første interaktive komponenten uthevet når dialogboksen åpnes.

    \n' + + '\n' + + '

    Naviger mellom interaktive komponenter i dialogboksen ved å trykke på tabulatortasten eller Shift + tabulatortasten.

    \n' + + '\n' + + '

    Navigere i fanebaserte dialogbokser

    \n' + + '\n' + + '

    I fanebaserte dialogbokser blir den første knappen i fanemenyen uthevet når dialogboksen åpnes.

    \n' + + '\n' + + '

    Naviger mellom interaktive komponenter i fanen ved å trykke på tabulatortasten eller\n' + + ' Shift + tabulatortasten.

    \n' + + '\n' + + '

    Veksle til en annen fane i dialogboksen ved å utheve fanemenyen, og trykk deretter på den aktuelle piltasten\n' + + ' for å bevege deg mellom de tilgjengelige fanene.

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/nl.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/nl.js new file mode 100644 index 0000000..3e1d979 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/nl.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.nl', +'

    Toetsenbordnavigatie starten

    \n' + + '\n' + + '
    \n' + + '
    Focus op de menubalk instellen
    \n' + + '
    Windows of Linux: Alt+F9
    \n' + + '
    macOS: ⌥F9
    \n' + + '
    Focus op de werkbalk instellen
    \n' + + '
    Windows of Linux: Alt+F10
    \n' + + '
    macOS: ⌥F10
    \n' + + '
    Focus op de voettekst instellen
    \n' + + '
    Windows of Linux: Alt+F11
    \n' + + '
    macOS: ⌥F11
    \n' + + '
    Focus op een contextuele werkbalk instellen
    \n' + + '
    Windows, Linux of macOS: Ctrl+F9\n' + + '
    \n' + + '\n' + + '

    De navigatie start bij het eerste UI-item, dat wordt gemarkeerd of onderstreept als het eerste item zich in\n' + + ' in het elementenpad van de voettekst bevindt.

    \n' + + '\n' + + '

    Navigeren tussen UI-secties

    \n' + + '\n' + + '

    Druk op Tab om naar de volgende UI-sectie te gaan.

    \n' + + '\n' + + '

    Druk op Shift+Tab om naar de vorige UI-sectie te gaan.

    \n' + + '\n' + + '

    De Tab-volgorde van deze UI-secties is:

    \n' + + '\n' + + '
      \n' + + '
    1. Menubalk
    2. \n' + + '
    3. Elke werkbalkgroep
    4. \n' + + '
    5. Zijbalk
    6. \n' + + '
    7. Elementenpad in de voettekst
    8. \n' + + '
    9. Wisselknop voor aantal woorden in de voettekst
    10. \n' + + '
    11. Merkkoppeling in de voettekst
    12. \n' + + '
    13. Greep voor het wijzigen van het formaat van de editor in de voettekst
    14. \n' + + '
    \n' + + '\n' + + '

    Als een UI-sectie niet aanwezig is, wordt deze overgeslagen.

    \n' + + '\n' + + '

    Als de focus van de toetsenbordnavigatie is ingesteld op de voettekst en er geen zichtbare zijbalk is, kun je op Shift+Tab drukken\n' + + ' om de focus naar de eerste werkbalkgroep in plaats van de laatste te verplaatsen.

    \n' + + '\n' + + '

    Navigeren binnen UI-secties

    \n' + + '\n' + + '

    Druk op de pijltjestoets om naar het betreffende UI-element te gaan.

    \n' + + '\n' + + '

    Met de pijltjestoetsen Links en Rechts

    \n' + + '\n' + + '
      \n' + + "
    • wissel je tussen menu's in de menubalk.
    • \n" + + '
    • open je een submenu in een menu.
    • \n' + + '
    • wissel je tussen knoppen in een werkbalkgroep.
    • \n' + + '
    • wissel je tussen items in het elementenpad in de voettekst.
    • \n' + + '
    \n' + + '\n' + + '

    Met de pijltjestoetsen Omlaag en Omhoog

    \n' + + '\n' + + '
      \n' + + '
    • wissel je tussen menu-items in een menu.
    • \n' + + '
    • wissel je tussen items in een werkbalkpop-upmenu.
    • \n' + + '
    \n' + + '\n' + + '

    Met de pijltjestoetsen wissel je binnen de UI-sectie waarop de focus is ingesteld.

    \n' + + '\n' + + '

    Druk op de toets Esc om een geopend menu, submenu of pop-upmenu te sluiten.

    \n' + + '\n' + + "

    Als de huidige focus is ingesteld 'bovenaan' een bepaalde UI-sectie, kun je op de toets Esc drukken\n" + + ' om de toetsenbordnavigatie af te sluiten.

    \n' + + '\n' + + '

    Een menu-item of werkbalkknop uitvoeren

    \n' + + '\n' + + '

    Als het gewenste menu-item of de gewenste werkbalkknop is gemarkeerd, kun je op Return, Enter\n' + + ' of de spatiebalk drukken om het item uit te voeren.

    \n' + + '\n' + + '

    Navigeren in dialoogvensters zonder tabblad

    \n' + + '\n' + + '

    Als een dialoogvenster zonder tabblad wordt geopend, wordt de focus ingesteld op het eerste interactieve onderdeel.

    \n' + + '\n' + + '

    Je kunt navigeren tussen interactieve onderdelen van een dialoogvenster door op Tab of Shift+Tab te drukken.

    \n' + + '\n' + + '

    Navigeren in dialoogvensters met tabblad

    \n' + + '\n' + + '

    Als een dialoogvenster met tabblad wordt geopend, wordt de focus ingesteld op de eerste knop in het tabbladmenu.

    \n' + + '\n' + + '

    Je kunt navigeren tussen interactieve onderdelen van dit tabblad van het dialoogvenster door op Tab of\n' + + ' Shift+Tab te drukken.

    \n' + + '\n' + + '

    Je kunt overschakelen naar een ander tabblad van het dialoogvenster door de focus in te stellen op het tabbladmenu en vervolgens op de juiste pijltjestoets\n' + + ' te drukken om tussen de beschikbare tabbladen te wisselen.

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/pl.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/pl.js new file mode 100644 index 0000000..3a20e59 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/pl.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.pl', +'

    Początek nawigacji przy użyciu klawiatury

    \n' + + '\n' + + '
    \n' + + '
    Ustaw fokus na pasek menu
    \n' + + '
    Windows lub Linux: Alt+F9
    \n' + + '
    macOS: ⌥F9
    \n' + + '
    Ustaw fokus na pasek narzędzi
    \n' + + '
    Windows lub Linux: Alt+F10
    \n' + + '
    macOS: ⌥F10
    \n' + + '
    Ustaw fokus na sekcję Footer
    \n' + + '
    Windows lub Linux: Alt+F11
    \n' + + '
    macOS: ⌥F11
    \n' + + '
    Ustaw fokus na kontekstowy pasek narzędzi
    \n' + + '
    Windows, Linux lub macOS: Ctrl+F9\n' + + '
    \n' + + '\n' + + '

    Nawigacja zostanie rozpoczęta od pierwszego elementu interfejsu użytkownika, który jest podświetlony lub — w przypadku pierwszego elementu\n' + + ' w ścieżce elementów w sekcji Footer — podkreślony.

    \n' + + '\n' + + '

    Nawigacja pomiędzy sekcjami interfejsu użytkownika

    \n' + + '\n' + + '

    Aby przenieść się z danej sekcji interfejsu użytkownika do następnej, naciśnij Tab.

    \n' + + '\n' + + '

    Aby przenieść się z danej sekcji interfejsu użytkownika do poprzedniej, naciśnij Shift+Tab.

    \n' + + '\n' + + '

    Kolejność klawisza Tab w takich sekcjach interfejsu użytkownika jest następująca:

    \n' + + '\n' + + '
      \n' + + '
    1. Pasek menu
    2. \n' + + '
    3. Każda grupa na pasku narzędzi
    4. \n' + + '
    5. Pasek boczny
    6. \n' + + '
    7. Ścieżka elementów w sekcji Footer
    8. \n' + + '
    9. Przycisk przełączania liczby słów w sekcji Footer
    10. \n' + + '
    11. Łącze brandujące w sekcji Footer
    12. \n' + + '
    13. Uchwyt zmiany rozmiaru edytora w sekcji Footer
    14. \n' + + '
    \n' + + '\n' + + '

    Jeżeli nie ma sekcji interfejsu użytkownika, jest to pomijane.

    \n' + + '\n' + + '

    Jeżeli na sekcji Footer jest ustawiony fokus nawigacji przy użyciu klawiatury i nie ma widocznego paska bocznego, naciśnięcie Shift+Tab\n' + + ' przenosi fokus na pierwszą grupę paska narzędzi, a nie na ostatnią.

    \n' + + '\n' + + '

    Nawigacja wewnątrz sekcji interfejsu użytkownika

    \n' + + '\n' + + '

    Aby przenieść się z danego elementu interfejsu użytkownika do następnego, naciśnij odpowiedni klawisz strzałki.

    \n' + + '\n' + + '

    Klawisze strzałek w prawo i w lewo służą do

    \n' + + '\n' + + '
      \n' + + '
    • przenoszenia się pomiędzy menu na pasku menu,
    • \n' + + '
    • otwarcia podmenu w menu,
    • \n' + + '
    • przenoszenia się pomiędzy przyciskami w grupie paska narzędzi,
    • \n' + + '
    • przenoszenia się pomiędzy elementami w ścieżce elementów w sekcji Footer.
    • \n' + + '
    \n' + + '\n' + + '

    Klawisze strzałek w dół i w górę służą do

    \n' + + '\n' + + '
      \n' + + '
    • przenoszenia się pomiędzy elementami menu w menu,
    • \n' + + '
    • przenoszenia się pomiędzy elementami w wyskakującym menu paska narzędzi.
    • \n' + + '
    \n' + + '\n' + + '

    Klawisze strzałek służą do przemieszczania się w sekcji interfejsu użytkownika z ustawionym fokusem.

    \n' + + '\n' + + '

    Aby zamknąć otwarte menu, otwarte podmenu lub otwarte menu wyskakujące, naciśnij klawisz Esc.

    \n' + + '\n' + + '

    Jeżeli fokus jest ustawiony na górze konkretnej sekcji interfejsu użytkownika, naciśnięcie klawisza Esc powoduje wyjście\n' + + ' z nawigacji przy użyciu klawiatury.

    \n' + + '\n' + + '

    Wykonanie elementu menu lub przycisku paska narzędzi

    \n' + + '\n' + + '

    Gdy podświetlony jest żądany element menu lub przycisk paska narzędzi, naciśnij klawisz Return, Enter\n' + + ' lub Spacja, aby go wykonać.

    \n' + + '\n' + + '

    Nawigacja po oknie dialogowym bez kart

    \n' + + '\n' + + '

    Gdy otwiera się okno dialogowe bez kart, fokus ustawiany jest na pierwszą interaktywną część okna.

    \n' + + '\n' + + '

    Pomiędzy interaktywnymi częściami okna dialogowego nawiguj, naciskając klawisze Tab lub Shift+Tab.

    \n' + + '\n' + + '

    Nawigacja po oknie dialogowym z kartami

    \n' + + '\n' + + '

    W przypadku okna dialogowego z kartami po otwarciu okna dialogowego fokus ustawiany jest na pierwszy przycisk w menu karty.

    \n' + + '\n' + + '

    Nawigację pomiędzy interaktywnymi częściami karty okna dialogowego prowadzi się poprzez naciskanie klawiszy Tab lub\n' + + ' Shift+Tab.

    \n' + + '\n' + + '

    Przełączenie się na inną kartę okna dialogowego wykonuje się poprzez ustawienie fokusu na menu karty i naciśnięcie odpowiedniego klawisza strzałki\n' + + ' w celu przemieszczenia się pomiędzy dostępnymi kartami.

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/pt_BR.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/pt_BR.js new file mode 100644 index 0000000..75c888c --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/pt_BR.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.pt_BR', +'

    Iniciar navegação pelo teclado

    \n' + + '\n' + + '
    \n' + + '
    Foco na barra de menus
    \n' + + '
    Windows ou Linux: Alt+F9
    \n' + + '
    macOS: ⌥F9
    \n' + + '
    Foco na barra de ferramentas
    \n' + + '
    Windows ou Linux: Alt+F10
    \n' + + '
    macOS: ⌥F10
    \n' + + '
    Foco no rodapé
    \n' + + '
    Windows ou Linux: Alt+F11
    \n' + + '
    macOS: ⌥F11
    \n' + + '
    Foco na barra de ferramentas contextual
    \n' + + '
    Windows, Linux ou macOS: Ctrl+F9\n' + + '
    \n' + + '\n' + + '

    A navegação inicia no primeiro item da IU, que será destacado ou sublinhado no caso do primeiro item no\n' + + ' caminho do elemento Rodapé.

    \n' + + '\n' + + '

    Navegar entre seções da IU

    \n' + + '\n' + + '

    Para ir de uma seção da IU para a seguinte, pressione Tab.

    \n' + + '\n' + + '

    Para ir de uma seção da IU para a anterior, pressione Shift+Tab.

    \n' + + '\n' + + '

    A ordem de Tab destas seções da IU é:

    \n' + + '\n' + + '
      \n' + + '
    1. Barra de menus
    2. \n' + + '
    3. Cada grupo da barra de ferramentas
    4. \n' + + '
    5. Barra lateral
    6. \n' + + '
    7. Caminho do elemento no rodapé
    8. \n' + + '
    9. Botão de alternar contagem de palavras no rodapé
    10. \n' + + '
    11. Link da marca no rodapé
    12. \n' + + '
    13. Alça de redimensionamento do editor no rodapé
    14. \n' + + '
    \n' + + '\n' + + '

    Se não houver uma seção da IU, ela será pulada.

    \n' + + '\n' + + '

    Se o rodapé tiver o foco da navegação pelo teclado e não houver uma barra lateral visível, pressionar Shift+Tab\n' + + ' move o foco para o primeiro grupo da barra de ferramentas, não para o último.

    \n' + + '\n' + + '

    Navegar dentro das seções da IU

    \n' + + '\n' + + '

    Para ir de um elemento da IU para o seguinte, pressione a Seta correspondente.

    \n' + + '\n' + + '

    As teclas de seta Esquerda e Direita

    \n' + + '\n' + + '
      \n' + + '
    • movem entre menus na barra de menus.
    • \n' + + '
    • abrem um submenu em um menu.
    • \n' + + '
    • movem entre botões em um grupo da barra de ferramentas.
    • \n' + + '
    • movem entre itens no caminho do elemento do rodapé.
    • \n' + + '
    \n' + + '\n' + + '

    As teclas de seta Abaixo e Acima

    \n' + + '\n' + + '
      \n' + + '
    • movem entre itens de menu em um menu.
    • \n' + + '
    • movem entre itens em um menu suspenso da barra de ferramentas.
    • \n' + + '
    \n' + + '\n' + + '

    As teclas de Seta alternam dentre a seção da IU em foco.

    \n' + + '\n' + + '

    Para fechar um menu aberto, um submenu aberto ou um menu suspenso aberto, pressione Esc.

    \n' + + '\n' + + '

    Se o foco atual estiver no ‘alto’ de determinada seção da IU, pressionar Esc também sai\n' + + ' totalmente da navegação pelo teclado.

    \n' + + '\n' + + '

    Executar um item de menu ou botão da barra de ferramentas

    \n' + + '\n' + + '

    Com o item de menu ou botão da barra de ferramentas desejado destacado, pressione Return, Enter,\n' + + ' ou a Barra de espaço para executar o item.

    \n' + + '\n' + + '

    Navegar por caixas de diálogo sem guias

    \n' + + '\n' + + '

    Em caixas de diálogo sem guias, o primeiro componente interativo recebe o foco quando a caixa de diálogo abre.

    \n' + + '\n' + + '

    Navegue entre componentes interativos de caixa de diálogo pressionando Tab ou Shift+Tab.

    \n' + + '\n' + + '

    Navegar por caixas de diálogo com guias

    \n' + + '\n' + + '

    Em caixas de diálogo com guias, o primeiro botão no menu da guia recebe o foco quando a caixa de diálogo abre.

    \n' + + '\n' + + '

    Navegue entre componentes interativos dessa guia da caixa de diálogo pressionando Tab ou\n' + + ' Shift+Tab.

    \n' + + '\n' + + '

    Alterne para outra guia da caixa de diálogo colocando o foco no menu da guia e pressionando a Seta\n' + + ' adequada para percorrer as guias disponíveis.

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/pt_PT.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/pt_PT.js new file mode 100644 index 0000000..899981a --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/pt_PT.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.pt_PT', +'

    Iniciar navegação com teclado

    \n' + + '\n' + + '
    \n' + + '
    Foco na barra de menu
    \n' + + '
    Windows ou Linux: Alt+F9
    \n' + + '
    macOS: ⌥F9
    \n' + + '
    Foco na barra de ferramentas
    \n' + + '
    Windows ou Linux: Alt+F10
    \n' + + '
    macOS: ⌥F10
    \n' + + '
    Foco no rodapé
    \n' + + '
    Windows ou Linux: Alt+F11
    \n' + + '
    macOS: ⌥F11
    \n' + + '
    Foco numa barra de ferramentas contextual
    \n' + + '
    Windows, Linux ou macOS: Ctrl+F9\n' + + '
    \n' + + '\n' + + '

    A navegação começará no primeiro item de IU, que estará realçado ou sublinhado, no caso do primeiro item no\n' + + ' caminho do elemento do rodapé.

    \n' + + '\n' + + '

    Navegar entre secções de IU

    \n' + + '\n' + + '

    Para se mover de uma secção de IU para a seguinte, prima Tab.

    \n' + + '\n' + + '

    Para se mover de uma secção de IU para a anterior, prima Shift+Tab.

    \n' + + '\n' + + '

    A ordem de tabulação destas secções de IU é:

    \n' + + '\n' + + '
      \n' + + '
    1. Barra de menu
    2. \n' + + '
    3. Cada grupo da barra de ferramentas
    4. \n' + + '
    5. Barra lateral
    6. \n' + + '
    7. Caminho do elemento no rodapé
    8. \n' + + '
    9. Botão de alternar da contagem de palavras no rodapé
    10. \n' + + '
    11. Ligação da marca no rodapé
    12. \n' + + '
    13. Alça de redimensionamento do editor no rodapé
    14. \n' + + '
    \n' + + '\n' + + '

    Se uma secção de IU não estiver presente, é ignorada.

    \n' + + '\n' + + '

    Se o rodapé tiver foco de navegação com teclado e não existir uma barra lateral visível, premir Shift+Tab\n' + + ' move o foco para o primeiro grupo da barra de ferramentas e não para o último.

    \n' + + '\n' + + '

    Navegar nas secções de IU

    \n' + + '\n' + + '

    Para se mover de um elemento de IU para o seguinte, prima a tecla de seta adequada.

    \n' + + '\n' + + '

    As teclas de seta Para a esquerda e Para a direita

    \n' + + '\n' + + '
      \n' + + '
    • movem-se entre menus na barra de menu.
    • \n' + + '
    • abrem um submenu num menu.
    • \n' + + '
    • movem-se entre botões num grupo da barra de ferramentas.
    • \n' + + '
    • movem-se entre itens no caminho do elemento do rodapé.
    • \n' + + '
    \n' + + '\n' + + '

    As teclas de seta Para cima e Para baixo

    \n' + + '\n' + + '
      \n' + + '
    • movem-se entre itens de menu num menu.
    • \n' + + '
    • movem-se entre itens num menu de pop-up da barra de ferramentas.
    • \n' + + '
    \n' + + '\n' + + '

    As teclas de seta deslocam-se ciclicamente na secção de IU em foco.

    \n' + + '\n' + + '

    Para fechar um menu aberto, um submenu aberto ou um menu de pop-up aberto, prima a tecla Esc.

    \n' + + '\n' + + '

    Se o foco atual estiver no "topo" de determinada secção de IU, premir a tecla Esc também fecha\n' + + ' completamente a navegação com teclado.

    \n' + + '\n' + + '

    Executar um item de menu ou botão da barra de ferramentas

    \n' + + '\n' + + '

    Quando o item de menu ou o botão da barra de ferramentas pretendido estiver realçado, prima Retrocesso, Enter\n' + + ' ou a Barra de espaço para executar o item.

    \n' + + '\n' + + '

    Navegar em diálogos sem separadores

    \n' + + '\n' + + '

    Nos diálogos sem separadores, o primeiro componente interativo fica em foco quando o diálogo abre.

    \n' + + '\n' + + '

    Navegue entre componentes interativos do diálogo, premindo Tab ou Shift+Tab.

    \n' + + '\n' + + '

    Navegar em diálogos com separadores

    \n' + + '\n' + + '

    Nos diálogos com separadores, o primeiro botão no menu do separador fica em foco quando o diálogo abre.

    \n' + + '\n' + + '

    Navegue entre os componentes interativos deste separador do diálogo, premindo Tab ou\n' + + ' Shift+Tab.

    \n' + + '\n' + + '

    Mude para outro separador do diálogo colocando o menu do separador em foco e, em seguida, premindo a tecla de seta\n' + + ' adequada para se deslocar ciclicamente pelos separadores disponíveis.

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/ro.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/ro.js new file mode 100644 index 0000000..d513868 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/ro.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.ro', +'

    Începeți navigarea de la tastatură

    \n' + + '\n' + + '
    \n' + + '
    Focalizare pe bara de meniu
    \n' + + '
    Windows sau Linux: Alt+F9
    \n' + + '
    macOS: ⌥F9
    \n' + + '
    Focalizare pe bara de instrumente
    \n' + + '
    Windows sau Linux: Alt+F10
    \n' + + '
    macOS: ⌥F10
    \n' + + '
    Focalizare pe subsol
    \n' + + '
    Windows sau Linux: Alt+F11
    \n' + + '
    macOS: ⌥F11
    \n' + + '
    Focalizare pe o bară de instrumente contextuală
    \n' + + '
    Windows, Linux sau macOS: Ctrl+F9\n' + + '
    \n' + + '\n' + + '

    Navigarea va începe de la primul element al interfeței cu utilizatorul, care va fi evidențiat sau subliniat în cazul primului element din\n' + + ' calea elementului Subsol.

    \n' + + '\n' + + '

    Navigați între secțiunile interfeței cu utilizatorul

    \n' + + '\n' + + '

    Pentru a trece de la o secțiune a interfeței cu utilizatorul la alta, apăsați Tab.

    \n' + + '\n' + + '

    Pentru a trece de la o secțiune a interfeței cu utilizatorul la cea anterioară, apăsați Shift+Tab.

    \n' + + '\n' + + '

    Ordinea cu Tab a acestor secțiuni ale interfeței cu utilizatorul este următoarea:

    \n' + + '\n' + + '
      \n' + + '
    1. Bara de meniu
    2. \n' + + '
    3. Fiecare grup de bare de instrumente
    4. \n' + + '
    5. Bara laterală
    6. \n' + + '
    7. Calea elementului în subsol
    8. \n' + + '
    9. Buton de comutare a numărului de cuvinte în subsol
    10. \n' + + '
    11. Link de branding în subsol
    12. \n' + + '
    13. Mâner de redimensionare a editorului în subsol
    14. \n' + + '
    \n' + + '\n' + + '

    În cazul în care o secțiune a interfeței cu utilizatorul nu este prezentă, aceasta este omisă.

    \n' + + '\n' + + '

    În cazul în care subsolul are focalizarea navigației asupra tastaturii și nu există o bară laterală vizibilă, apăsarea butonului Shift+Tab\n' + + ' mută focalizarea pe primul grup de bare de instrumente, nu pe ultimul.

    \n' + + '\n' + + '

    Navigați în secțiunile interfeței cu utilizatorul

    \n' + + '\n' + + '

    Pentru a trece de la un element de interfață cu utilizatorul la următorul, apăsați tasta cu săgeata corespunzătoare.

    \n' + + '\n' + + '

    Tastele cu săgeți către stânga și dreapta

    \n' + + '\n' + + '
      \n' + + '
    • navighează între meniurile din bara de meniuri.
    • \n' + + '
    • deschid un sub-meniu dintr-un meniu.
    • \n' + + '
    • navighează între butoanele dintr-un grup de bare de instrumente.
    • \n' + + '
    • navighează între elementele din calea elementelor subsolului.
    • \n' + + '
    \n' + + '\n' + + '

    Tastele cu săgeți în sus și în jos

    \n' + + '\n' + + '
      \n' + + '
    • navighează între elementele de meniu dintr-un meniu.
    • \n' + + '
    • navighează între elementele unui meniu pop-up din bara de instrumente.
    • \n' + + '
    \n' + + '\n' + + '

    Tastele cu săgeți navighează în cadrul secțiunii interfeței cu utilizatorul asupra căreia se focalizează.

    \n' + + '\n' + + '

    Pentru a închide un meniu deschis, un sub-meniu deschis sau un meniu pop-up deschis, apăsați tasta Esc.

    \n' + + '\n' + + '

    Dacă focalizarea curentă este asupra „părții superioare” a unei anumite secțiuni a interfeței cu utilizatorul, prin apăsarea tastei Esc se iese, de asemenea,\n' + + ' în întregime din navigarea de la tastatură.

    \n' + + '\n' + + '

    Executarea unui element de meniu sau a unui buton din bara de instrumente

    \n' + + '\n' + + '

    Atunci când elementul de meniu dorit sau butonul dorit din bara de instrumente este evidențiat, apăsați Return, Enter,\n' + + ' sau bara de spațiu pentru a executa elementul.

    \n' + + '\n' + + '

    Navigarea de dialoguri fără file

    \n' + + '\n' + + '

    În dialogurile fără file, prima componentă interactivă beneficiază de focalizare la deschiderea dialogului.

    \n' + + '\n' + + '

    Navigați între componentele dialogului interactiv apăsând Tab sau Shift+Tab.

    \n' + + '\n' + + '

    Navigarea de dialoguri cu file

    \n' + + '\n' + + '

    În dialogurile cu file, primul buton din meniul cu file beneficiază de focalizare la deschiderea dialogului.

    \n' + + '\n' + + '

    Navigați între componentele interactive ale acestei file de dialog apăsând Tab sau\n' + + ' Shift+Tab.

    \n' + + '\n' + + '

    Treceți la o altă filă de dialog focalizând asupra meniului cu file și apoi apăsând săgeata corespunzătoare\n' + + ' pentru a parcurge filele disponibile.

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/ru.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/ru.js new file mode 100644 index 0000000..4fac320 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/ru.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.ru', +'

    Начните управление с помощью клавиатуры

    \n' + + '\n' + + '
    \n' + + '
    Фокус на панели меню
    \n' + + '
    Windows или Linux: Alt+F9
    \n' + + '
    macOS: ⌥F9
    \n' + + '
    Фокус на панели инструментов
    \n' + + '
    Windows или Linux: Alt+F10
    \n' + + '
    macOS: ⌥F10
    \n' + + '
    Фокус на нижнем колонтитуле
    \n' + + '
    Windows или Linux: Alt+F11
    \n' + + '
    macOS: ⌥F11
    \n' + + '
    Фокус на контекстной панели инструментов
    \n' + + '
    Windows, Linux или macOS: Ctrl+F9\n' + + '
    \n' + + '\n' + + '

    Первый доступный для управления элемент интерфейса будет выделен цветом или подчеркнут (если он находится\n' + + ' в пути элементов нижнего колонтитула).

    \n' + + '\n' + + '

    Переход между разделами пользовательского интерфейса

    \n' + + '\n' + + '

    Чтобы перейти из текущего раздела интерфейса в следующий, нажмите Tab.

    \n' + + '\n' + + '

    Чтобы перейти из текущего раздела интерфейса в предыдущий, нажмите Shift+Tab.

    \n' + + '\n' + + '

    Вкладки разделов интерфейса расположены в следующем порядке:

    \n' + + '\n' + + '
      \n' + + '
    1. Панель меню
    2. \n' + + '
    3. Группы панели инструментов
    4. \n' + + '
    5. Боковая панель
    6. \n' + + '
    7. Путь элементов нижнего колонтитула
    8. \n' + + '
    9. Подсчет слов/символов в нижнем колонтитуле
    10. \n' + + '
    11. Брендовая ссылка в нижнем колонтитуле
    12. \n' + + '
    13. Угол для изменения размера окна редактора
    14. \n' + + '
    \n' + + '\n' + + '

    Если раздел интерфейса отсутствует, он пропускается.

    \n' + + '\n' + + '

    Если при управлении с клавиатуры фокус находится на нижнем колонтитуле, а видимая боковая панель отсутствует, то при нажатии сочетания клавиш Shift+Tab\n' + + ' фокус переносится на первую группу панели инструментов, а не на последнюю.

    \n' + + '\n' + + '

    Переход между элементами внутри разделов пользовательского интерфейса

    \n' + + '\n' + + '

    Чтобы перейти от текущего элемента интерфейса к следующему, нажмите соответствующую клавишу со стрелкой.

    \n' + + '\n' + + '

    Клавиши со стрелками влево и вправо позволяют

    \n' + + '\n' + + '
      \n' + + '
    • перемещаться между разными меню в панели меню.
    • \n' + + '
    • открывать разделы меню.
    • \n' + + '
    • перемещаться между кнопками в группе панели инструментов.
    • \n' + + '
    • перемещаться между элементами в пути элементов нижнего колонтитула.
    • \n' + + '
    \n' + + '\n' + + '

    Клавиши со стрелками вниз и вверх позволяют

    \n' + + '\n' + + '
      \n' + + '
    • перемещаться между элементами одного меню.
    • \n' + + '
    • перемещаться между элементами всплывающего меню в панели инструментов.
    • \n' + + '
    \n' + + '\n' + + '

    При использовании клавиш со стрелками вы будете циклически перемещаться по элементам в пределах выбранного раздела интерфейса.

    \n' + + '\n' + + '

    Чтобы закрыть открытое меню, его раздел или всплывающее меню, нажмите клавишу Esc.

    \n' + + '\n' + + '

    Если фокус находится наверху какого-либо раздела интерфейса, нажатие клавиши Esc также приведет\n' + + ' к выходу из режима управления с помощью клавиатуры.

    \n' + + '\n' + + '

    Использование элемента меню или кнопки на панели инструментов

    \n' + + '\n' + + '

    Когда элемент меню или кнопка панели инструментов будут выделены, нажмите Return, Enter\n' + + ' или Space, чтобы их активировать.

    \n' + + '\n' + + '

    Управление в диалоговом окне без вкладок

    \n' + + '\n' + + '

    При открытии диалогового окна без вкладок фокус переносится на первый интерактивный компонент.

    \n' + + '\n' + + '

    Для перехода между интерактивными компонентами диалогового окна нажимайте Tab или Shift+Tab.

    \n' + + '\n' + + '

    Управление в диалоговом окне с вкладками

    \n' + + '\n' + + '

    При открытии диалогового окна с вкладками фокус переносится на первую кнопку в меню вкладок.

    \n' + + '\n' + + '

    Для перехода между интерактивными компонентами этой вкладки диалогового окна нажимайте Tab или\n' + + ' Shift+Tab.

    \n' + + '\n' + + '

    Для перехода на другую вкладку диалогового окна переместите фокус на меню вкладок, а затем используйте клавиши со стрелками\n' + + ' для циклического переключения между доступными вкладками.

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/sk.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/sk.js new file mode 100644 index 0000000..b2baef2 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/sk.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.sk', +'

    Začíname s navigáciou pomocou klávesnice

    \n' + + '\n' + + '
    \n' + + '
    Prejsť na panel s ponukami
    \n' + + '
    Windows alebo Linux: Alt+F9
    \n' + + '
    macOS: ⌥F9
    \n' + + '
    Prejsť na panel nástrojov
    \n' + + '
    Windows alebo Linux: Alt+F10
    \n' + + '
    macOS: ⌥F10
    \n' + + '
    Prejsť na pätičku
    \n' + + '
    Windows alebo Linux: Alt+F11
    \n' + + '
    macOS: ⌥F11
    \n' + + '
    Prejsť na kontextový panel nástrojov
    \n' + + '
    Windows, Linux alebo macOS: Ctrl+F9\n' + + '
    \n' + + '\n' + + '

    Navigácia začne pri prvej položke používateľského rozhrania, ktorá bude zvýraznená alebo v prípade prvej položky\n' + + ' cesty k pätičke podčiarknutá.

    \n' + + '\n' + + '

    Navigácia medzi časťami používateľského rozhrania

    \n' + + '\n' + + '

    Ak sa chcete posunúť z jednej časti používateľského rozhrania do druhej, stlačte tlačidlo Tab.

    \n' + + '\n' + + '

    Ak sa chcete posunúť z jednej časti používateľského rozhrania do predchádzajúcej, stlačte tlačidlá Shift + Tab.

    \n' + + '\n' + + '

    Poradie prepínania medzi týmito časťami používateľského rozhrania pri stláčaní tlačidla Tab:

    \n' + + '\n' + + '
      \n' + + '
    1. Panel s ponukou
    2. \n' + + '
    3. Každá skupina panela nástrojov
    4. \n' + + '
    5. Bočný panel
    6. \n' + + '
    7. Cesta k prvku v pätičke
    8. \n' + + '
    9. Prepínač počtu slov v pätičke
    10. \n' + + '
    11. Odkaz na informácie o značke v pätičke
    12. \n' + + '
    13. Úchyt na zmenu veľkosti editora v pätičke
    14. \n' + + '
    \n' + + '\n' + + '

    Ak nejaká časť používateľského rozhrania nie je prítomná, preskočí sa.

    \n' + + '\n' + + '

    Ak je pätička vybratá na navigáciu pomocou klávesnice a nie je viditeľný bočný panel, stlačením klávesov Shift+Tab\n' + + ' prejdete na prvú skupinu panela nástrojov, nie na poslednú.

    \n' + + '\n' + + '

    Navigácia v rámci častí používateľského rozhrania

    \n' + + '\n' + + '

    Ak sa chcete posunúť z jedného prvku používateľského rozhrania na ďalší, stlačte príslušný kláves so šípkou.

    \n' + + '\n' + + '

    Klávesy so šípkami doľava a doprava

    \n' + + '\n' + + '
      \n' + + '
    • umožňujú presun medzi ponukami na paneli ponúk,
    • \n' + + '
    • otvárajú podponuku v rámci ponuky,
    • \n' + + '
    • umožňujú presun medzi tlačidlami v skupine panelov nástrojov,
    • \n' + + '
    • umožňujú presun medzi položkami cesty prvku v pätičke.
    • \n' + + '
    \n' + + '\n' + + '

    Klávesy so šípkami dole a hore

    \n' + + '\n' + + '
      \n' + + '
    • umožňujú presun medzi položkami ponuky,
    • \n' + + '
    • umožňujú presun medzi položkami v kontextovej ponuke panela nástrojov.
    • \n' + + '
    \n' + + '\n' + + '

    Klávesy so šípkami vykonávajú prepínanie v rámci vybranej časti používateľského rozhrania.

    \n' + + '\n' + + '

    Ak chcete zatvoriť otvorenú ponuku, otvorenú podponuku alebo otvorenú kontextovú ponuku, stlačte kláves Esc.

    \n' + + '\n' + + '

    Ak je aktuálne vybratá horná časť konkrétneho používateľského rozhrania, stlačením klávesu Esc úplne ukončíte tiež\n' + + ' navigáciu pomocou klávesnice.

    \n' + + '\n' + + '

    Vykonanie príkazu položky ponuky alebo tlačidla panela nástrojov

    \n' + + '\n' + + '

    Keď je zvýraznená požadovaná položka ponuky alebo tlačidlo panela nástrojov, stlačením klávesov Return, Enter\n' + + ' alebo medzerníka vykonáte príslušný príkaz položky.

    \n' + + '\n' + + '

    Navigácia v dialógových oknách bez záložiek

    \n' + + '\n' + + '

    Pri otvorení dialógových okien bez záložiek prejdete na prvý interaktívny komponent.

    \n' + + '\n' + + '

    Medzi interaktívnymi dialógovými komponentmi môžete prechádzať stlačením klávesov Tab alebo Shift+Tab.

    \n' + + '\n' + + '

    Navigácia v dialógových oknách so záložkami

    \n' + + '\n' + + '

    Pri otvorení dialógových okien so záložkami prejdete na prvé tlačidlo v ponuke záložiek.

    \n' + + '\n' + + '

    Medzi interaktívnymi komponentmi tejto dialógovej záložky môžete prechádzať stlačením klávesov Tab alebo\n' + + ' Shift+Tab.

    \n' + + '\n' + + '

    Ak chcete prepnúť na ďalšiu záložku dialógového okna, prejdite do ponuky záložiek a potom môžete stlačením príslušného klávesu so šípkou\n' + + ' prepínať medzi dostupnými záložkami.

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/sl_SI.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/sl_SI.js new file mode 100644 index 0000000..763c1c4 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/sl_SI.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.sl_SI', +'

    Začetek krmarjenja s tipkovnico

    \n' + + '\n' + + '
    \n' + + '
    Fokus na menijsko vrstico
    \n' + + '
    Windows ali Linux: Alt + F9
    \n' + + '
    macOS: ⌥F9
    \n' + + '
    Fokus na orodno vrstico
    \n' + + '
    Windows ali Linux: Alt + F10
    \n' + + '
    macOS: ⌥F10
    \n' + + '
    Fokus na nogo
    \n' + + '
    Windows ali Linux: Alt + F11
    \n' + + '
    macOS: ⌥F11
    \n' + + '
    Fokus na kontekstualno orodno vrstico
    \n' + + '
    Windows, Linux ali macOS: Ctrl + F9\n' + + '
    \n' + + '\n' + + '

    Krmarjenje se bo začelo s prvim elementom uporabniškega vmesnika, ki bo izpostavljena ali podčrtan, če gre za prvi element na\n' + + ' poti do elementa noge.

    \n' + + '\n' + + '

    Krmarjenje med razdelki uporabniškega vmesnika

    \n' + + '\n' + + '

    Če se želite pomakniti z enega dela uporabniškega vmesnika na naslednjega, pritisnite tabulatorko.

    \n' + + '\n' + + '

    Če se želite pomakniti z enega dela uporabniškega vmesnika na prejšnjega, pritisnite shift + tabulatorko.

    \n' + + '\n' + + '

    Zaporedje teh razdelkov uporabniškega vmesnika, ko pritiskate tabulatorko, je:

    \n' + + '\n' + + '
      \n' + + '
    1. Menijska vrstica
    2. \n' + + '
    3. Posamezne skupine orodne vrstice
    4. \n' + + '
    5. Stranska vrstica
    6. \n' + + '
    7. Pod do elementa v nogi
    8. \n' + + '
    9. Gumb za preklop štetja besed v nogi
    10. \n' + + '
    11. Povezava do blagovne znamke v nogi
    12. \n' + + '
    13. Ročaj za spreminjanje velikosti urejevalnika v nogi
    14. \n' + + '
    \n' + + '\n' + + '

    Če razdelek uporabniškega vmesnika ni prisoten, je preskočen.

    \n' + + '\n' + + '

    Če ima noga fokus za krmarjenje s tipkovnico in ni vidne stranske vrstice, s pritiskom na shift + tabulatorko\n' + + ' fokus premaknete na prvo skupino orodne vrstice, ne zadnjo

    .\n' + + '\n' + + '

    Krmarjenje v razdelkih uporabniškega vmesnika

    \n' + + '\n' + + '

    Če se želite premakniti z enega elementa uporabniškega vmesnika na naslednjega, pritisnite ustrezno puščično tipko.

    \n' + + '\n' + + '

    Leva in desna puščična tipka

    \n' + + '\n' + + '
      \n' + + '
    • omogočata premikanje med meniji v menijski vrstici.
    • \n' + + '
    • odpreta podmeni v meniju.
    • \n' + + '
    • omogočata premikanje med gumbi v skupini orodne vrstice.
    • \n' + + '
    • omogočata premikanje med elementi na poti do elementov noge.
    • \n' + + '
    \n' + + '\n' + + '

    Spodnja in zgornja puščična tipka

    \n' + + '\n' + + '
      \n' + + '
    • omogočata premikanje med elementi menija.
    • \n' + + '
    • omogočata premikanje med elementi v pojavnem meniju orodne vrstice.
    • \n' + + '
    \n' + + '\n' + + '

    Puščične tipke omogočajo kroženje znotraj razdelka uporabniškega vmesnika, na katerem je fokus.

    \n' + + '\n' + + '

    Če želite zapreti odprt meni, podmeni ali pojavni meni, pritisnite tipko Esc.

    \n' + + '\n' + + '

    Če je trenutni fokus na »vrhu« določenega razdelka uporabniškega vmesnika, s pritiskom tipke Esc zaprete\n' + + ' tudi celotno krmarjenje s tipkovnico.

    \n' + + '\n' + + '

    Izvajanje menijskega elementa ali gumba orodne vrstice

    \n' + + '\n' + + '

    Ko je označen želeni menijski element ali orodja vrstica, pritisnite vračalko, Enter\n' + + ' ali preslednico, da izvedete element.

    \n' + + '\n' + + '

    Krmarjenje po pogovornih oknih brez zavihkov

    \n' + + '\n' + + '

    Ko odprete pogovorno okno brez zavihkov, ima fokus prva interaktivna komponenta.

    \n' + + '\n' + + '

    Med interaktivnimi komponentami pogovornega okna se premikate s pritiskom tabulatorke ali kombinacije tipke shift + tabulatorke.

    \n' + + '\n' + + '

    Krmarjenje po pogovornih oknih z zavihki

    \n' + + '\n' + + '

    Ko odprete pogovorno okno z zavihki, ima fokus prvi gumb v meniju zavihka.

    \n' + + '\n' + + '

    Med interaktivnimi komponentami tega zavihka pogovornega okna se premikate s pritiskom tabulatorke ali\n' + + ' kombinacije tipke shift + tabulatorke.

    \n' + + '\n' + + '

    Na drug zavihek pogovornega okna preklopite tako, da fokus prestavite na meni zavihka in nato pritisnete ustrezno puščično\n' + + ' tipko, da se pomaknete med razpoložljivimi zavihki.

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/sv_SE.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/sv_SE.js new file mode 100644 index 0000000..4cc1568 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/sv_SE.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.sv_SE', +'

    Påbörja tangentbordsnavigering

    \n' + + '\n' + + '
    \n' + + '
    Fokusera på menyraden
    \n' + + '
    Windows eller Linux: Alt+F9
    \n' + + '
    macOS: ⌥F9
    \n' + + '
    Fokusera på verktygsraden
    \n' + + '
    Windows eller Linux: Alt+F10
    \n' + + '
    macOS: ⌥F10
    \n' + + '
    Fokusera på verktygsraden
    \n' + + '
    Windows eller Linux: Alt+F11
    \n' + + '
    macOS: ⌥F11
    \n' + + '
    Fokusera på en snabbverktygsrad
    \n' + + '
    Windows, Linux eller macOS: Ctrl+F9\n' + + '
    \n' + + '\n' + + '

    Navigeringen börjar vid det första gränssnittsobjektet, vilket är markerat eller understruket om det gäller det första objektet i\n' + + ' sidfotens elementsökväg.

    \n' + + '\n' + + '

    Navigera mellan UI-avsnitt

    \n' + + '\n' + + '

    Flytta från ett UI-avsnitt till nästa genom att trycka på Tabb.

    \n' + + '\n' + + '

    Flytta från ett UI-avsnitt till det föregående genom att trycka på Skift+Tabb.

    \n' + + '\n' + + '

    Tabb-ordningen för dessa UI-avsnitt är:

    \n' + + '\n' + + '
      \n' + + '
    1. Menyrad
    2. \n' + + '
    3. Varje verktygsradsgrupp
    4. \n' + + '
    5. Sidoruta
    6. \n' + + '
    7. Elementsökväg i sidfoten
    8. \n' + + '
    9. Växlingsknapp för ordantal i sidfoten
    10. \n' + + '
    11. Varumärkeslänk i sidfoten
    12. \n' + + '
    13. Storlekshandtag för redigeraren i sidfoten
    14. \n' + + '
    \n' + + '\n' + + '

    Om ett UI-avsnitt inte finns hoppas det över.

    \n' + + '\n' + + '

    Om sidfoten har fokus på tangentbordsnavigering, och det inte finns någon synlig sidoruta, flyttas fokus till den första verktygsradsgruppen\n' + + ' när du trycker på Skift+Tabb, inte till den sista.

    \n' + + '\n' + + '

    Navigera i UI-avsnitt

    \n' + + '\n' + + '

    Flytta från ett UI-element till nästa genom att trycka på motsvarande piltangent.

    \n' + + '\n' + + '

    Vänsterpil och högerpil

    \n' + + '\n' + + '
      \n' + + '
    • flytta mellan menyer på menyraden.
    • \n' + + '
    • öppna en undermeny på en meny.
    • \n' + + '
    • flytta mellan knappar i en verktygsradgrupp.
    • \n' + + '
    • flytta mellan objekt i sidfotens elementsökväg.
    • \n' + + '
    \n' + + '\n' + + '

    Nedpil och uppil

    \n' + + '\n' + + '
      \n' + + '
    • flytta mellan menyalternativ på en meny.
    • \n' + + '
    • flytta mellan alternativ på en popup-meny på verktygsraden.
    • \n' + + '
    \n' + + '\n' + + '

    Piltangenterna cirkulerar inom det fokuserade UI-avsnittet.

    \n' + + '\n' + + '

    Tryck på Esc-tangenten om du vill stänga en öppen meny, undermeny eller popup-meny.

    \n' + + '\n' + + '

    Om det aktuella fokuset är högst upp i ett UI-avsnitt avlutas även tangentbordsnavigeringen helt när\n' + + ' du trycker på Esc-tangenten.

    \n' + + '\n' + + '

    Köra ett menyalternativ eller en verktygfältsknapp

    \n' + + '\n' + + '

    När menyalternativet eller verktygsradsknappen är markerad trycker du på Retur, Enter\n' + + ' eller blanksteg för att köra alternativet.

    \n' + + '\n' + + '

    Navigera i dialogrutor utan flikar

    \n' + + '\n' + + '

    I dialogrutor utan flikar är den första interaktiva komponenten i fokus när dialogrutan öppnas.

    \n' + + '\n' + + '

    Navigera mellan interaktiva dialogkomponenter genom att trycka på Tabb eller Skift+Tabb.

    \n' + + '\n' + + '

    Navigera i dialogrutor med flikar

    \n' + + '\n' + + '

    I dialogrutor utan flikar är den första knappen på flikmenyn i fokus när dialogrutan öppnas.

    \n' + + '\n' + + '

    Navigera mellan interaktiva komponenter på dialogrutefliken genom att trycka på Tabb eller\n' + + ' Skift+Tabb.

    \n' + + '\n' + + '

    Växla till en annan dialogruta genom att fokusera på flikmenyn och sedan trycka på motsvarande piltangent\n' + + ' för att cirkulera mellan de tillgängliga flikarna.

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/th_TH.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/th_TH.js new file mode 100644 index 0000000..e0114de --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/th_TH.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.th_TH', +'

    เริ่มต้นการนำทางด้วยแป้นพิมพ์

    \n' + + '\n' + + '
    \n' + + '
    โฟกัสที่แถบเมนู
    \n' + + '
    Windows หรือ Linux: Alt+F9
    \n' + + '
    macOS: ⌥F9
    \n' + + '
    โฟกัสที่แถบเครื่องมือ
    \n' + + '
    Windows หรือ Linux: Alt+F10
    \n' + + '
    macOS: ⌥F10
    \n' + + '
    โฟกัสที่ส่วนท้าย
    \n' + + '
    Windows หรือ Linux: Alt+F11
    \n' + + '
    macOS: ⌥F11
    \n' + + '
    โฟกัสที่แถบเครื่องมือตามบริบท
    \n' + + '
    Windows, Linux หรือ macOS: Ctrl+F9\n' + + '
    \n' + + '\n' + + '

    การนำทางจะเริ่มที่รายการ UI แรก ซึ่งจะมีการไฮไลต์หรือขีดเส้นใต้ไว้ในกรณีที่รายการแรกอยู่ใน\n' + + ' พาธองค์ประกอบส่วนท้าย

    \n' + + '\n' + + '

    การนำทางระหว่างส่วนต่างๆ ของ UI

    \n' + + '\n' + + '

    ในการย้ายจากส่วน UI หนึ่งไปยังส่วนถัดไป ให้กด Tab

    \n' + + '\n' + + '

    ในการย้ายจากส่วน UI หนึ่งไปยังส่วนก่อนหน้า ให้กด Shift+Tab

    \n' + + '\n' + + '

    ลำดับแท็บของส่วนต่างๆ ของ UI คือ:

    \n' + + '\n' + + '
      \n' + + '
    1. แถบเมนู
    2. \n' + + '
    3. แต่ละกลุ่มแถบเครื่องมือ
    4. \n' + + '
    5. แถบข้าง
    6. \n' + + '
    7. พาธองค์ประกอบในส่วนท้าย
    8. \n' + + '
    9. ปุ่มสลับเปิด/ปิดจำนวนคำในส่วนท้าย
    10. \n' + + '
    11. ลิงก์ชื่อแบรนด์ในส่วนท้าย
    12. \n' + + '
    13. จุดจับปรับขนาดของตัวแก้ไขในส่วนท้าย
    14. \n' + + '
    \n' + + '\n' + + '

    หากส่วน UI ไม่ปรากฏ แสดงว่าถูกข้ามไป

    \n' + + '\n' + + '

    หากส่วนท้ายมีการโฟกัสการนำทางแป้นพิมพ์และไม่มีแถบข้างปรากฏ การกด Shift+Tab\n' + + ' จะย้ายการโฟกัสไปที่กลุ่มแถบเครื่องมือแรก ไม่ใช่สุดท้าย

    \n' + + '\n' + + '

    การนำทางภายในส่วนต่างๆ ของ UI

    \n' + + '\n' + + '

    ในการย้ายจากองค์ประกอบ UI หนึ่งไปยังองค์ประกอบส่วนถัดไป ให้กดปุ่มลูกศรที่เหมาะสม

    \n' + + '\n' + + '

    ปุ่มลูกศรซ้ายและขวา

    \n' + + '\n' + + '
      \n' + + '
    • ย้ายไปมาระหว่างเมนูต่างๆ ในแถบเมนู
    • \n' + + '
    • เปิดเมนูย่อยในเมนู
    • \n' + + '
    • ย้ายไปมาระหว่างปุ่มต่างๆ ในกลุ่มแถบเครื่องมือ
    • \n' + + '
    • ย้ายไปมาระหว่างรายการต่างๆ ในพาธองค์ประกอบของส่วนท้าย
    • \n' + + '
    \n' + + '\n' + + '

    ปุ่มลูกศรลงและขึ้น

    \n' + + '\n' + + '
      \n' + + '
    • ย้ายไปมาระหว่างรายการเมนูต่างๆ ในเมนู
    • \n' + + '
    • ย้ายไปมาระหว่างรายการต่างๆ ในเมนูป๊อบอัพแถบเครื่องมือ
    • \n' + + '
    \n' + + '\n' + + '

    ปุ่มลูกศรจะเลื่อนไปมาภายในส่วน UI ที่โฟกัส

    \n' + + '\n' + + '

    ในการปิดเมนูที่เปิดอยู่ เมนูย่อยที่เปิดอยู่ หรือเมนูป๊อบอัพที่เปิดอยู่ ให้กดปุ่ม Esc

    \n' + + '\n' + + '

    หากโฟกัสปัจจุบันอยู่ที่ ‘ด้านบนสุด’ ของส่วน UI เฉพาะ การกดปุ่ม Esc จะทำให้ออกจาก\n' + + ' การนำทางด้วยแป้นพิมพ์ทั้งหมดเช่นกัน

    \n' + + '\n' + + '

    การดำเนินการรายการเมนูหรือปุ่มในแถบเครื่องมือ

    \n' + + '\n' + + '

    เมื่อไฮไลต์รายการเมนูหรือปุ่มในแถบเครื่องมือที่ต้องการ ให้กด Return, Enter\n' + + ' หรือ Space bar เพื่อดำเนินการรายการดังกล่าว

    \n' + + '\n' + + '

    การนำทางสำหรับกล่องโต้ตอบที่ไม่อยู่ในแท็บ

    \n' + + '\n' + + '

    ในกล่องโต้ตอบที่ไม่อยู่ในแท็บ จะโฟกัสที่ส่วนประกอบเชิงโต้ตอบแรกเมื่อกล่องโต้ตอบเปิด

    \n' + + '\n' + + '

    นำทางระหว่างส่วนประกอบเชิงโต้ตอบต่างๆ ของกล่องโต้ตอบ โดยการกด Tab หรือ Shift+Tab

    \n' + + '\n' + + '

    การนำทางสำหรับกล่องโต้ตอบที่อยู่ในแท็บ

    \n' + + '\n' + + '

    ในกล่องโต้ตอบที่อยู่ในแท็บ จะโฟกัสที่ปุ่มแรกในเมนูแท็บเมื่อกล่องโต้ตอบเปิด

    \n' + + '\n' + + '

    นำทางระหว่างส่วนประกอบเชิงโต้ตอบต่างๆ ของแท็บกล่องโต้ตอบนี้โดยการกด Tab หรือ\n' + + ' Shift+Tab

    \n' + + '\n' + + '

    สลับไปยังแท็บกล่องโต้ตอบอื่นโดยการเลือกโฟกัสที่เมนูแท็บ แล้วกดปุ่มลูกศรที่เหมาะสม\n' + + ' เพื่อเลือกแท็บที่ใช้ได้

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/tr.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/tr.js new file mode 100644 index 0000000..0517028 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/tr.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.tr', +'

    Klavyeyle gezintiyi başlatma

    \n' + + '\n' + + '
    \n' + + '
    Menü çubuğuna odaklan
    \n' + + '
    Windows veya Linux: Alt+F9
    \n' + + '
    macOS: ⌥F9
    \n' + + '
    Araç çubuğuna odaklan
    \n' + + '
    Windows veya Linux: Alt+F10
    \n' + + '
    macOS: ⌥F10
    \n' + + '
    Alt bilgiye odaklan
    \n' + + '
    Windows veya Linux: Alt+F11
    \n' + + '
    macOS: ⌥F11
    \n' + + '
    Bağlamsal araç çubuğuna odaklan
    \n' + + '
    Windows, Linux veya macOS: Ctrl+F9\n' + + '
    \n' + + '\n' + + '

    Gezinti ilk kullanıcı arabirimi öğesinden başlar, bu öğe vurgulanır ya da ilk öğe, Alt bilgi elemanı\n' + + ' yolundaysa altı çizilir.

    \n' + + '\n' + + '

    Kullanıcı arabirimi bölümleri arasında gezinme

    \n' + + '\n' + + '

    Sonraki kullanıcı arabirimi bölümüne gitmek için Sekme tuşuna basın.

    \n' + + '\n' + + '

    Önceki kullanıcı arabirimi bölümüne gitmek için Shift+Sekme tuşlarına basın.

    \n' + + '\n' + + '

    Bu kullanıcı arabirimi bölümlerinin Sekme sırası:

    \n' + + '\n' + + '
      \n' + + '
    1. Menü çubuğu
    2. \n' + + '
    3. Her araç çubuğu grubu
    4. \n' + + '
    5. Kenar çubuğu
    6. \n' + + '
    7. Alt bilgide öğe yolu
    8. \n' + + '
    9. Alt bilgide sözcük sayısı geçiş düğmesi
    10. \n' + + '
    11. Alt bilgide marka bağlantısı
    12. \n' + + '
    13. Alt bilgide düzenleyiciyi yeniden boyutlandırma tutamacı
    14. \n' + + '
    \n' + + '\n' + + '

    Kullanıcı arabirimi bölümü yoksa atlanır.

    \n' + + '\n' + + '

    Alt bilgide klavyeyle gezinti odağı yoksa ve görünür bir kenar çubuğu mevcut değilse Shift+Sekme tuşlarına basıldığında\n' + + ' odak son araç çubuğu yerine ilk araç çubuğu grubuna taşınır.

    \n' + + '\n' + + '

    Kullanıcı arabirimi bölümleri içinde gezinme

    \n' + + '\n' + + '

    Sonraki kullanıcı arabirimi elemanına gitmek için uygun Ok tuşuna basın.

    \n' + + '\n' + + '

    Sol ve Sağ ok tuşları

    \n' + + '\n' + + '
      \n' + + '
    • menü çubuğundaki menüler arasında hareket eder.
    • \n' + + '
    • menüde bir alt menü açar.
    • \n' + + '
    • araç çubuğu grubundaki düğmeler arasında hareket eder.
    • \n' + + '
    • alt bilginin öğe yolundaki öğeler arasında hareket eder.
    • \n' + + '
    \n' + + '\n' + + '

    Aşağı ve Yukarı ok tuşları

    \n' + + '\n' + + '
      \n' + + '
    • menüdeki menü öğeleri arasında hareket eder.
    • \n' + + '
    • araç çubuğu açılır menüsündeki öğeler arasında hareket eder.
    • \n' + + '
    \n' + + '\n' + + '

    Ok tuşları, odaklanılan kullanıcı arabirimi bölümü içinde döngüsel olarak hareket eder.

    \n' + + '\n' + + '

    Açık bir menüyü, açık bir alt menüyü veya açık bir açılır menüyü kapatmak için Esc tuşuna basın.

    \n' + + '\n' + + '

    Geçerli odak belirli bir kullanıcı arabirimi bölümünün "üst" kısmındaysa Esc tuşuna basıldığında\n' + + ' klavyeyle gezintiden de tamamen çıkılır.

    \n' + + '\n' + + '

    Menü öğesini veya araç çubuğu düğmesini yürütme

    \n' + + '\n' + + '

    İstediğiniz menü öğesi veya araç çubuğu düğmesi vurgulandığında Return, Enter\n' + + ' veya Ara çubuğu tuşuna basın.

    \n' + + '\n' + + '

    Sekme bulunmayan iletişim kutularında gezinme

    \n' + + '\n' + + '

    Sekme bulunmayan iletişim kutularında, iletişim kutusu açıldığında ilk etkileşimli bileşene odaklanılır.

    \n' + + '\n' + + '

    Etkileşimli iletişim kutusu bileşenleri arasında gezinmek için Sekme veya Shift+ Sekme tuşlarına basın.

    \n' + + '\n' + + '

    Sekmeli iletişim kutularında gezinme

    \n' + + '\n' + + '

    Sekmeli iletişim kutularında, iletişim kutusu açıldığında sekme menüsündeki ilk düğmeye odaklanılır.

    \n' + + '\n' + + '

    Bu iletişim kutusu sekmesinin etkileşimli bileşenleri arasında gezinmek için Sekme veya\n' + + ' Shift+Sekme tuşlarına basın.

    \n' + + '\n' + + '

    Mevcut sekmeler arasında geçiş yapmak için sekme menüsüne odaklanıp uygun Ok tuşuna basarak\n' + + ' başka bir iletişim kutusu sekmesine geçiş yapın.

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/uk.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/uk.js new file mode 100644 index 0000000..eb314f0 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/uk.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.uk', +'

    Початок роботи з навігацією за допомогою клавіатури

    \n' + + '\n' + + '
    \n' + + '
    Фокус на рядок меню
    \n' + + '
    Windows або Linux: Alt+F9
    \n' + + '
    macOS: ⌥F9
    \n' + + '
    Фокус на панелі інструментів
    \n' + + '
    Windows або Linux: Alt+F10
    \n' + + '
    macOS: ⌥F10
    \n' + + '
    Фокус на розділі "Нижній колонтитул"
    \n' + + '
    Windows або Linux: Alt+F11
    \n' + + '
    macOS: ⌥F11
    \n' + + '
    Фокус на контекстній панелі інструментів
    \n' + + '
    Windows, Linux або macOS: Ctrl+F9\n' + + '
    \n' + + '\n' + + '

    Навігація почнеться з першого елемента інтерфейсу користувача, який буде виділено або підкреслено в разі, якщо перший елемент знаходиться в\n' + + ' шляху до елемента "Нижній колонтитул".

    \n' + + '\n' + + '

    Навігація між розділами інтерфейсу користувача

    \n' + + '\n' + + '

    Щоб перейти з одного розділу інтерфейсу користувача до наступного розділу, натисніть клавішу Tab.

    \n' + + '\n' + + '

    Щоб перейти з одного розділу інтерфейсу користувача до попереднього розділу, натисніть сполучення клавіш Shift+Tab.

    \n' + + '\n' + + '

    Порядок Вкладок цих розділів інтерфейсу користувача такий:

    \n' + + '\n' + + '
      \n' + + '
    1. Рядок меню
    2. \n' + + '
    3. Кожна група панелей інструментів
    4. \n' + + '
    5. Бічна панель
    6. \n' + + '
    7. Шлях до елементів у розділі "Нижній колонтитул"
    8. \n' + + '
    9. Кнопка перемикача "Кількість слів" у розділі "Нижній колонтитул"
    10. \n' + + '
    11. Посилання на брендинг у розділі "Нижній колонтитул"
    12. \n' + + '
    13. Маркер змінення розміру в розділі "Нижній колонтитул"
    14. \n' + + '
    \n' + + '\n' + + '

    Якщо розділ інтерфейсу користувача відсутній, він пропускається.

    \n' + + '\n' + + '

    Якщо фокус навігації клавіатури знаходиться на розділі "Нижній колонтитул", але користувач не бачить видиму бічну панель, натисніть Shift+Tab,\n' + + ' щоб перемістити фокус на першу групу панелі інструментів, а не на останню.

    \n' + + '\n' + + '

    Навігація в межах розділів інтерфейсу користувача

    \n' + + '\n' + + '

    Щоб перейти з одного елементу інтерфейсу користувача до наступного, натисніть відповідну клавішу зі стрілкою.

    \n' + + '\n' + + '

    Клавіші зі стрілками Ліворуч і Праворуч

    \n' + + '\n' + + '
      \n' + + '
    • переміщують між меню в рядку меню.
    • \n' + + '
    • відкривають вкладене меню в меню.
    • \n' + + '
    • переміщують користувача між кнопками в групі панелі інструментів.
    • \n' + + '
    • переміщують між елементами в шляху до елементів у розділі "Нижній колонтитул".
    • \n' + + '
    \n' + + '\n' + + '

    Клавіші зі стрілками Вниз і Вгору

    \n' + + '\n' + + '
      \n' + + '
    • переміщують між елементами меню в меню.
    • \n' + + '
    • переміщують між елементами в спливаючому меню панелі інструментів.
    • \n' + + '
    \n' + + '\n' + + '

    Клавіші зі стрілками переміщують фокус циклічно в межах розділу інтерфейсу користувача, на якому знаходиться фокус.

    \n' + + '\n' + + '

    Щоб закрити відкрите меню, відкрите вкладене меню або відкрите спливаюче меню, натисніть клавішу Esc.

    \n' + + '\n' + + '

    Якщо поточний фокус знаходиться на верхньому рівні певного розділу інтерфейсу користувача, натискання клавіші Esc також виконує вихід\n' + + ' з навігації за допомогою клавіатури повністю.

    \n' + + '\n' + + '

    Виконання елементу меню або кнопки панелі інструментів

    \n' + + '\n' + + '

    Коли потрібний елемент меню або кнопку панелі інструментів виділено, натисніть клавіші Return, Enter,\n' + + ' або Пробіл, щоб виконати цей елемент.

    \n' + + '\n' + + '

    Навігація по діалоговим вікнам без вкладок

    \n' + + '\n' + + '

    У діалогових вікнах без вкладок перший інтерактивний компонент приймає фокус, коли відкривається діалогове вікно.

    \n' + + '\n' + + '

    Переходьте між інтерактивними компонентами діалогового вікна, натискаючи клавіші Tab або Shift+Tab.

    \n' + + '\n' + + '

    Навігація по діалоговим вікнам з вкладками

    \n' + + '\n' + + '

    У діалогових вікнах із вкладками перша кнопка в меню вкладки приймає фокус, коли відкривається діалогове вікно.

    \n' + + '\n' + + '

    Переходьте між інтерактивними компонентами цієї вкладки діалогового вікна, натискаючи клавіші Tab або\n' + + ' Shift+Tab.

    \n' + + '\n' + + '

    Щоб перейти на іншу вкладку діалогового вікна, перемістіть фокус на меню вкладки, а потім натисніть відповідну клавішу зі стрілкою,\n' + + ' щоб циклічно переходити по доступним вкладкам.

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/vi.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/vi.js new file mode 100644 index 0000000..5369f9b --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/vi.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.vi', +'

    Bắt đầu điều hướng bàn phím

    \n' + + '\n' + + '
    \n' + + '
    Tập trung vào thanh menu
    \n' + + '
    Windows hoặc Linux: Alt+F9
    \n' + + '
    macOS: ⌥F9
    \n' + + '
    Tập trung vào thanh công cụ
    \n' + + '
    Windows hoặc Linux: Alt+F10
    \n' + + '
    macOS: ⌥F10
    \n' + + '
    Tập trung vào chân trang
    \n' + + '
    Windows hoặc Linux: Alt+F11
    \n' + + '
    macOS: ⌥F11
    \n' + + '
    Tập trung vào thanh công cụ ngữ cảnh
    \n' + + '
    Windows, Linux hoặc macOS: Ctrl+F9\n' + + '
    \n' + + '\n' + + '

    Điều hướng sẽ bắt đầu từ mục UI đầu tiên. Mục này sẽ được tô sáng hoặc có gạch dưới (nếu là mục đầu tiên trong\n' + + ' đường dẫn phần tử Chân trang).

    \n' + + '\n' + + '

    Di chuyển qua lại giữa các phần UI

    \n' + + '\n' + + '

    Để di chuyển từ một phần UI sang phần tiếp theo, ấn Tab.

    \n' + + '\n' + + '

    Để di chuyển từ một phần UI về phần trước đó, ấn Shift+Tab.

    \n' + + '\n' + + '

    Thứ tự Tab của các phần UI này như sau:

    \n' + + '\n' + + '
      \n' + + '
    1. Thanh menu
    2. \n' + + '
    3. Từng nhóm thanh công cụ
    4. \n' + + '
    5. Thanh bên
    6. \n' + + '
    7. Đường dẫn phần tử trong chân trang
    8. \n' + + '
    9. Nút chuyển đổi đếm chữ ở chân trang
    10. \n' + + '
    11. Liên kết thương hiệu ở chân trang
    12. \n' + + '
    13. Núm điều tác chỉnh kích cỡ trình soạn thảo ở chân trang
    14. \n' + + '
    \n' + + '\n' + + '

    Nếu người dùng không thấy một phần UI, thì có nghĩa phần đó bị bỏ qua.

    \n' + + '\n' + + '

    Nếu ở chân trang có tính năng tập trung điều hướng bàn phím, mà không có thanh bên nào hiện hữu, thao tác ấn Shift+Tab\n' + + ' sẽ chuyển hướng tập trung vào nhóm thanh công cụ đầu tiên, không phải cuối cùng.

    \n' + + '\n' + + '

    Di chuyển qua lại trong các phần UI

    \n' + + '\n' + + '

    Để di chuyển từ một phần tử UI sang phần tiếp theo, ấn phím Mũi tên tương ứng cho phù hợp.

    \n' + + '\n' + + '

    Các phím mũi tên Trái và Phải

    \n' + + '\n' + + '
      \n' + + '
    • di chuyển giữa các menu trong thanh menu.
    • \n' + + '
    • mở menu phụ trong một menu.
    • \n' + + '
    • di chuyển giữa các nút trong nhóm thanh công cụ.
    • \n' + + '
    • di chuyển giữa các mục trong đường dẫn phần tử của chân trang.
    • \n' + + '
    \n' + + '\n' + + '

    Các phím mũi tên Hướng xuống và Hướng lên

    \n' + + '\n' + + '
      \n' + + '
    • di chuyển giữa các mục menu trong menu.
    • \n' + + '
    • di chuyển giữa các mục trong menu thanh công cụ dạng bật lên.
    • \n' + + '
    \n' + + '\n' + + '

    Các phím mũi tên xoay vòng trong một phần UI tập trung.

    \n' + + '\n' + + '

    Để đóng một menu mở, một menu phụ đang mở, hoặc một menu dạng bật lên đang mở, hãy ấn phím Esc.

    \n' + + '\n' + + '

    Nếu trọng tâm hiện tại là ở phần “đầu” của một phần UI cụ thể, thao tác ấn phím Esc cũng sẽ thoát\n' + + ' toàn bộ phần điều hướng bàn phím.

    \n' + + '\n' + + '

    Thực hiện chức năng của một mục menu hoặc nút thanh công cụ

    \n' + + '\n' + + '

    Khi mục menu hoặc nút thanh công cụ muốn dùng được tô sáng, hãy ấn Return, Enter,\n' + + ' hoặc Phím cách để thực hiện chức năng mục đó.

    \n' + + '\n' + + '

    Điều hướng giữa các hộp thoại không có nhiều tab

    \n' + + '\n' + + '

    Trong các hộp thoại không có nhiều tab, khi hộp thoại mở ra, trọng tâm sẽ hướng vào thành phần tương tác đầu tiên.

    \n' + + '\n' + + '

    Di chuyển giữa các thành phần hộp thoại tương tác bằng cách ấn Tab hoặc Shift+Tab.

    \n' + + '\n' + + '

    Điều hướng giữa các hộp thoại có nhiều tab

    \n' + + '\n' + + '

    Trong các hộp thoại có nhiều tab, khi hộp thoại mở ra, trọng tâm sẽ hướng vào nút đầu tiên trong menu tab.

    \n' + + '\n' + + '

    Di chuyển giữa các thành phần tương tác của tab hộp thoại này bằng cách ấn Tab hoặc\n' + + ' Shift+Tab.

    \n' + + '\n' + + '

    Chuyển sang một tab hộp thoại khác bằng cách chuyển trọng tâm vào menu tab, rồi ấn phím Mũi tên phù hợp\n' + + ' để xoay vòng các tab hiện có.

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/zh_CN.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/zh_CN.js new file mode 100644 index 0000000..b93d9ee --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/zh_CN.js @@ -0,0 +1,84 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.zh_CN', +'

    开始键盘导航

    \n' + + '\n' + + '
    \n' + + '
    聚焦于菜单栏
    \n' + + '
    Windows 或 Linux:Alt+F9
    \n' + + '
    macOS:⌥F9
    \n' + + '
    聚焦于工具栏
    \n' + + '
    Windows 或 Linux:Alt+F10
    \n' + + '
    macOS:⌥F10
    \n' + + '
    聚焦于页脚
    \n' + + '
    Windows 或 Linux:Alt+F11
    \n' + + '
    macOS:⌥F11
    \n' + + '
    聚焦于上下文工具栏
    \n' + + '
    Windows、Linux 或 macOS:Ctrl+F9\n' + + '
    \n' + + '\n' + + '

    导航将在第一个 UI 项上开始,其中突出显示该项,或者对于页脚元素路径中的第一项,将为其添加下划线。

    \n' + + '\n' + + '

    在 UI 部分之间导航

    \n' + + '\n' + + '

    要从一个 UI 部分移至下一个,请按 Tab。

    \n' + + '\n' + + '

    要从一个 UI 部分移至上一个,请按 Shift+Tab。

    \n' + + '\n' + + '

    这些 UI 部分的 Tab 顺序为:

    \n' + + '\n' + + '
      \n' + + '
    1. 菜单栏
    2. \n' + + '
    3. 每个工具栏组
    4. \n' + + '
    5. 边栏
    6. \n' + + '
    7. 页脚中的元素路径
    8. \n' + + '
    9. 页脚中的字数切换按钮
    10. \n' + + '
    11. 页脚中的品牌链接
    12. \n' + + '
    13. 页脚中的编辑器调整大小图柄
    14. \n' + + '
    \n' + + '\n' + + '

    如果不存在某个 UI 部分,则跳过它。

    \n' + + '\n' + + '

    如果键盘导航焦点在页脚,并且没有可见的边栏,则按 Shift+Tab 将焦点移至第一个工具栏组而非最后一个。

    \n' + + '\n' + + '

    在 UI 部分内导航

    \n' + + '\n' + + '

    要从一个 UI 元素移至下一个,请按相应的箭头键。

    \n' + + '\n' + + '

    左和右箭头键

    \n' + + '\n' + + '
      \n' + + '
    • 在菜单栏中的菜单之间移动。
    • \n' + + '
    • 打开菜单中的子菜单。
    • \n' + + '
    • 在工具栏组中的按钮之间移动。
    • \n' + + '
    • 在页脚的元素路径中的各项之间移动。
    • \n' + + '
    \n' + + '\n' + + '

    下和上箭头键

    \n' + + '\n' + + '
      \n' + + '
    • 在菜单中的菜单项之间移动。
    • \n' + + '
    • 在工具栏弹出菜单中的各项之间移动。
    • \n' + + '
    \n' + + '\n' + + '

    箭头键在具有焦点的 UI 部分内循环。

    \n' + + '\n' + + '

    要关闭打开的菜单、打开的子菜单或打开的弹出菜单,请按 Esc 键。

    \n' + + '\n' + + '

    如果当前的焦点在特定 UI 部分的“顶部”,则按 Esc 键还将完全退出键盘导航。

    \n' + + '\n' + + '

    执行菜单项或工具栏按钮

    \n' + + '\n' + + '

    当突出显示所需的菜单项或工具栏按钮时,按 Return、Enter 或空格以执行该项。

    \n' + + '\n' + + '

    在非标签页式对话框中导航

    \n' + + '\n' + + '

    在非标签页式对话框中,当对话框打开时,第一个交互组件获得焦点。

    \n' + + '\n' + + '

    通过按 Tab 或 Shift+Tab,在交互对话框组件之间导航。

    \n' + + '\n' + + '

    在标签页式对话框中导航

    \n' + + '\n' + + '

    在标签页式对话框中,当对话框打开时,标签页菜单中的第一个按钮获得焦点。

    \n' + + '\n' + + '

    通过按 Tab 或 Shift+Tab,在此对话框的交互组件之间导航。

    \n' + + '\n' + + '

    通过将焦点移至另一对话框标签页的菜单,然后按相应的箭头键以在可用的标签页间循环,从而切换到该对话框标签页。

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/zh_TW.js b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/zh_TW.js new file mode 100644 index 0000000..51a381d --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/js/i18n/keynav/zh_TW.js @@ -0,0 +1,90 @@ +tinymce.Resource.add('tinymce.html-i18n.help-keynav.zh_TW', +'

    開始鍵盤瀏覽

    \n' + + '\n' + + '
    \n' + + '
    跳至功能表列
    \n' + + '
    Windows 或 Linux:Alt+F9
    \n' + + '
    macOS:⌥F9
    \n' + + '
    跳至工具列
    \n' + + '
    Windows 或 Linux:Alt+F10
    \n' + + '
    macOS:⌥F10
    \n' + + '
    跳至頁尾
    \n' + + '
    Windows 或 Linux:Alt+F11
    \n' + + '
    macOS:⌥F11
    \n' + + '
    跳至關聯式工具列
    \n' + + '
    Windows、Linux 或 macOS:Ctrl+F9\n' + + '
    \n' + + '\n' + + '

    瀏覽會從第一個 UI 項目開始,該項目會反白顯示,但如果是「頁尾」元素路徑的第一項,\n' + + ' 則加底線。

    \n' + + '\n' + + '

    在 UI 區段之間瀏覽

    \n' + + '\n' + + '

    從 UI 區段移至下一個,請按 Tab。

    \n' + + '\n' + + '

    從 UI 區段移回上一個,請按 Shift+Tab。

    \n' + + '\n' + + '

    這些 UI 區段的 Tab 順序如下:

    \n' + + '\n' + + '
      \n' + + '
    1. 功能表列
    2. \n' + + '
    3. 各個工具列群組
    4. \n' + + '
    5. 側邊欄
    6. \n' + + '
    7. 頁尾中的元素路徑
    8. \n' + + '
    9. 頁尾中字數切換按鈕
    10. \n' + + '
    11. 頁尾中的品牌連結
    12. \n' + + '
    13. 頁尾中編輯器調整大小控點
    14. \n' + + '
    \n' + + '\n' + + '

    如果 UI 區段未顯示,表示已略過該區段。

    \n' + + '\n' + + '

    如果鍵盤瀏覽跳至頁尾,但沒有顯示側邊欄,則按下 Shift+Tab\n' + + ' 會跳至第一個工具列群組,而不是最後一個。

    \n' + + '\n' + + '

    在 UI 區段之內瀏覽

    \n' + + '\n' + + '

    在兩個 UI 元素之間移動,請按適當的方向鍵。

    \n' + + '\n' + + '

    向左和向右方向鍵

    \n' + + '\n' + + '
      \n' + + '
    • 在功能表列中的功能表之間移動。
    • \n' + + '
    • 開啟功能表中的子功能表。
    • \n' + + '
    • 在工具列群組中的按鈕之間移動。
    • \n' + + '
    • 在頁尾的元素路徑中項目之間移動。
    • \n' + + '
    \n' + + '\n' + + '

    向下和向上方向鍵

    \n' + + '\n' + + '
      \n' + + '
    • 在功能表中的功能表項目之間移動。
    • \n' + + '
    • 在工具列快顯功能表中的項目之間移動。
    • \n' + + '
    \n' + + '\n' + + '

    方向鍵會在所跳至 UI 區段之內循環。

    \n' + + '\n' + + '

    若要關閉已開啟的功能表、已開啟的子功能表,或已開啟的快顯功能表,請按 Esc 鍵。

    \n' + + '\n' + + '

    如果目前已跳至特定 UI 區段的「頂端」,則按 Esc 鍵也會結束\n' + + ' 整個鍵盤瀏覽。

    \n' + + '\n' + + '

    執行功能表列項目或工具列按鈕

    \n' + + '\n' + + '

    當想要的功能表項目或工具列按鈕已反白顯示時,按 Return、Enter、\n' + + ' 或空白鍵即可執行該項目。

    \n' + + '\n' + + '

    瀏覽非索引標籤式對話方塊

    \n' + + '\n' + + '

    在非索引標籤式對話方塊中,開啟對話方塊時會跳至第一個互動元件。

    \n' + + '\n' + + '

    按 Tab 或 Shift+Tab 即可在互動式對話方塊元件之間瀏覽。

    \n' + + '\n' + + '

    瀏覽索引標籤式對話方塊

    \n' + + '\n' + + '

    在索引標籤式對話方塊中,開啟對話方塊時會跳至索引標籤式功能表中的第一個按鈕。

    \n' + + '\n' + + '

    若要在此對話方塊的互動式元件之間瀏覽,請按 Tab 或\n' + + ' Shift+Tab。

    \n' + + '\n' + + '

    先跳至索引標籤式功能表,然後按適當的方向鍵,即可切換至另一個對話方塊索引標籤,\n' + + ' 以循環瀏覽可用的索引標籤。

    \n'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/help/plugin.js b/public/tools/cloud_notes/tinymce/plugins/help/plugin.js new file mode 100644 index 0000000..c2a5350 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/plugin.js @@ -0,0 +1,898 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ + +(function () { + 'use strict'; + + const Cell = initial => { + let value = initial; + const get = () => { + return value; + }; + const set = v => { + value = v; + }; + return { + get, + set + }; + }; + + var global$4 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + let unique = 0; + const generate = prefix => { + const date = new Date(); + const time = date.getTime(); + const random = Math.floor(Math.random() * 1000000000); + unique++; + return prefix + '_' + random + unique + String(time); + }; + + const get$1 = customTabs => { + const addTab = spec => { + var _a; + const name = (_a = spec.name) !== null && _a !== void 0 ? _a : generate('tab-name'); + const currentCustomTabs = customTabs.get(); + currentCustomTabs[name] = spec; + customTabs.set(currentCustomTabs); + }; + return { addTab }; + }; + + const register$2 = (editor, dialogOpener) => { + editor.addCommand('mceHelp', dialogOpener); + }; + + const option = name => editor => editor.options.get(name); + const register$1 = editor => { + const registerOption = editor.options.register; + registerOption('help_tabs', { processor: 'array' }); + }; + const getHelpTabs = option('help_tabs'); + const getForcedPlugins = option('forced_plugins'); + + const register = (editor, dialogOpener) => { + editor.ui.registry.addButton('help', { + icon: 'help', + tooltip: 'Help', + onAction: dialogOpener + }); + editor.ui.registry.addMenuItem('help', { + text: 'Help', + icon: 'help', + shortcut: 'Alt+0', + onAction: dialogOpener + }); + }; + + const hasProto = (v, constructor, predicate) => { + var _a; + if (predicate(v, constructor.prototype)) { + return true; + } else { + return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name; + } + }; + const typeOf = x => { + const t = typeof x; + if (x === null) { + return 'null'; + } else if (t === 'object' && Array.isArray(x)) { + return 'array'; + } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) { + return 'string'; + } else { + return t; + } + }; + const isType = type => value => typeOf(value) === type; + const isSimpleType = type => value => typeof value === type; + const eq = t => a => t === a; + const isString = isType('string'); + const isUndefined = eq(undefined); + const isNullable = a => a === null || a === undefined; + const isNonNullable = a => !isNullable(a); + const isFunction = isSimpleType('function'); + + const constant = value => { + return () => { + return value; + }; + }; + const never = constant(false); + + class Optional { + constructor(tag, value) { + this.tag = tag; + this.value = value; + } + static some(value) { + return new Optional(true, value); + } + static none() { + return Optional.singletonNone; + } + fold(onNone, onSome) { + if (this.tag) { + return onSome(this.value); + } else { + return onNone(); + } + } + isSome() { + return this.tag; + } + isNone() { + return !this.tag; + } + map(mapper) { + if (this.tag) { + return Optional.some(mapper(this.value)); + } else { + return Optional.none(); + } + } + bind(binder) { + if (this.tag) { + return binder(this.value); + } else { + return Optional.none(); + } + } + exists(predicate) { + return this.tag && predicate(this.value); + } + forall(predicate) { + return !this.tag || predicate(this.value); + } + filter(predicate) { + if (!this.tag || predicate(this.value)) { + return this; + } else { + return Optional.none(); + } + } + getOr(replacement) { + return this.tag ? this.value : replacement; + } + or(replacement) { + return this.tag ? this : replacement; + } + getOrThunk(thunk) { + return this.tag ? this.value : thunk(); + } + orThunk(thunk) { + return this.tag ? this : thunk(); + } + getOrDie(message) { + if (!this.tag) { + throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None'); + } else { + return this.value; + } + } + static from(value) { + return isNonNullable(value) ? Optional.some(value) : Optional.none(); + } + getOrNull() { + return this.tag ? this.value : null; + } + getOrUndefined() { + return this.value; + } + each(worker) { + if (this.tag) { + worker(this.value); + } + } + toArray() { + return this.tag ? [this.value] : []; + } + toString() { + return this.tag ? `some(${ this.value })` : 'none()'; + } + } + Optional.singletonNone = new Optional(false); + + const nativeSlice = Array.prototype.slice; + const nativeIndexOf = Array.prototype.indexOf; + const rawIndexOf = (ts, t) => nativeIndexOf.call(ts, t); + const contains = (xs, x) => rawIndexOf(xs, x) > -1; + const map = (xs, f) => { + const len = xs.length; + const r = new Array(len); + for (let i = 0; i < len; i++) { + const x = xs[i]; + r[i] = f(x, i); + } + return r; + }; + const filter = (xs, pred) => { + const r = []; + for (let i = 0, len = xs.length; i < len; i++) { + const x = xs[i]; + if (pred(x, i)) { + r.push(x); + } + } + return r; + }; + const findUntil = (xs, pred, until) => { + for (let i = 0, len = xs.length; i < len; i++) { + const x = xs[i]; + if (pred(x, i)) { + return Optional.some(x); + } else if (until(x, i)) { + break; + } + } + return Optional.none(); + }; + const find = (xs, pred) => { + return findUntil(xs, pred, never); + }; + const sort = (xs, comparator) => { + const copy = nativeSlice.call(xs, 0); + copy.sort(comparator); + return copy; + }; + + const keys = Object.keys; + const hasOwnProperty = Object.hasOwnProperty; + const get = (obj, key) => { + return has(obj, key) ? Optional.from(obj[key]) : Optional.none(); + }; + const has = (obj, key) => hasOwnProperty.call(obj, key); + + const cat = arr => { + const r = []; + const push = x => { + r.push(x); + }; + for (let i = 0; i < arr.length; i++) { + arr[i].each(push); + } + return r; + }; + + var global$3 = tinymce.util.Tools.resolve('tinymce.Resource'); + + var global$2 = tinymce.util.Tools.resolve('tinymce.util.I18n'); + + const pLoadHtmlByLangCode = (baseUrl, langCode) => global$3.load(`tinymce.html-i18n.help-keynav.${ langCode }`, `${ baseUrl }/js/i18n/keynav/${ langCode }.js`); + const pLoadI18nHtml = baseUrl => pLoadHtmlByLangCode(baseUrl, global$2.getCode()).catch(() => pLoadHtmlByLangCode(baseUrl, 'en')); + const initI18nLoad = (editor, baseUrl) => { + editor.on('init', () => { + pLoadI18nHtml(baseUrl); + }); + }; + + const pTab = async pluginUrl => { + const body = { + type: 'htmlpanel', + presets: 'document', + html: await pLoadI18nHtml(pluginUrl) + }; + return { + name: 'keyboardnav', + title: 'Keyboard Navigation', + items: [body] + }; + }; + + var global$1 = tinymce.util.Tools.resolve('tinymce.Env'); + + const convertText = source => { + const isMac = global$1.os.isMacOS() || global$1.os.isiOS(); + const mac = { + alt: '⌥', + ctrl: '⌃', + shift: '⇧', + meta: '⌘', + access: '⌃⌥' + }; + const other = { + meta: 'Ctrl ', + access: 'Shift + Alt ' + }; + const replace = isMac ? mac : other; + const shortcut = source.split('+'); + const updated = map(shortcut, segment => { + const search = segment.toLowerCase().trim(); + return has(replace, search) ? replace[search] : segment; + }); + return isMac ? updated.join('').replace(/\s/, '') : updated.join('+'); + }; + + const shortcuts = [ + { + shortcuts: ['Meta + B'], + action: 'Bold' + }, + { + shortcuts: ['Meta + I'], + action: 'Italic' + }, + { + shortcuts: ['Meta + U'], + action: 'Underline' + }, + { + shortcuts: ['Meta + A'], + action: 'Select all' + }, + { + shortcuts: [ + 'Meta + Y', + 'Meta + Shift + Z' + ], + action: 'Redo' + }, + { + shortcuts: ['Meta + Z'], + action: 'Undo' + }, + { + shortcuts: ['Access + 1'], + action: 'Heading 1' + }, + { + shortcuts: ['Access + 2'], + action: 'Heading 2' + }, + { + shortcuts: ['Access + 3'], + action: 'Heading 3' + }, + { + shortcuts: ['Access + 4'], + action: 'Heading 4' + }, + { + shortcuts: ['Access + 5'], + action: 'Heading 5' + }, + { + shortcuts: ['Access + 6'], + action: 'Heading 6' + }, + { + shortcuts: ['Access + 7'], + action: 'Paragraph' + }, + { + shortcuts: ['Access + 8'], + action: 'Div' + }, + { + shortcuts: ['Access + 9'], + action: 'Address' + }, + { + shortcuts: ['Alt + 0'], + action: 'Open help dialog' + }, + { + shortcuts: ['Alt + F9'], + action: 'Focus to menubar' + }, + { + shortcuts: ['Alt + F10'], + action: 'Focus to toolbar' + }, + { + shortcuts: ['Alt + F11'], + action: 'Focus to element path' + }, + { + shortcuts: ['Ctrl + F9'], + action: 'Focus to contextual toolbar' + }, + { + shortcuts: ['Shift + Enter'], + action: 'Open popup menu for split buttons' + }, + { + shortcuts: ['Meta + K'], + action: 'Insert link (if link plugin activated)' + }, + { + shortcuts: ['Meta + S'], + action: 'Save (if save plugin activated)' + }, + { + shortcuts: ['Meta + F'], + action: 'Find (if searchreplace plugin activated)' + }, + { + shortcuts: ['Meta + Shift + F'], + action: 'Switch to or from fullscreen mode' + } + ]; + + const tab$2 = () => { + const shortcutList = map(shortcuts, shortcut => { + const shortcutText = map(shortcut.shortcuts, convertText).join(' or '); + return [ + shortcut.action, + shortcutText + ]; + }); + const tablePanel = { + type: 'table', + header: [ + 'Action', + 'Shortcut' + ], + cells: shortcutList + }; + return { + name: 'shortcuts', + title: 'Handy Shortcuts', + items: [tablePanel] + }; + }; + + const urls = map([ + { + key: 'accordion', + name: 'Accordion' + }, + { + key: 'advlist', + name: 'Advanced List' + }, + { + key: 'anchor', + name: 'Anchor' + }, + { + key: 'autolink', + name: 'Autolink' + }, + { + key: 'autoresize', + name: 'Autoresize' + }, + { + key: 'autosave', + name: 'Autosave' + }, + { + key: 'charmap', + name: 'Character Map' + }, + { + key: 'code', + name: 'Code' + }, + { + key: 'codesample', + name: 'Code Sample' + }, + { + key: 'colorpicker', + name: 'Color Picker' + }, + { + key: 'directionality', + name: 'Directionality' + }, + { + key: 'emoticons', + name: 'Emoticons' + }, + { + key: 'fullscreen', + name: 'Full Screen' + }, + { + key: 'help', + name: 'Help' + }, + { + key: 'image', + name: 'Image' + }, + { + key: 'importcss', + name: 'Import CSS' + }, + { + key: 'insertdatetime', + name: 'Insert Date/Time' + }, + { + key: 'link', + name: 'Link' + }, + { + key: 'lists', + name: 'Lists' + }, + { + key: 'media', + name: 'Media' + }, + { + key: 'nonbreaking', + name: 'Nonbreaking' + }, + { + key: 'pagebreak', + name: 'Page Break' + }, + { + key: 'preview', + name: 'Preview' + }, + { + key: 'quickbars', + name: 'Quick Toolbars' + }, + { + key: 'save', + name: 'Save' + }, + { + key: 'searchreplace', + name: 'Search and Replace' + }, + { + key: 'table', + name: 'Table' + }, + { + key: 'template', + name: 'Template' + }, + { + key: 'textcolor', + name: 'Text Color' + }, + { + key: 'visualblocks', + name: 'Visual Blocks' + }, + { + key: 'visualchars', + name: 'Visual Characters' + }, + { + key: 'wordcount', + name: 'Word Count' + }, + { + key: 'a11ychecker', + name: 'Accessibility Checker', + type: 'premium' + }, + { + key: 'advcode', + name: 'Advanced Code Editor', + type: 'premium' + }, + { + key: 'advtable', + name: 'Advanced Tables', + type: 'premium' + }, + { + key: 'advtemplate', + name: 'Advanced Templates', + type: 'premium', + slug: 'advanced-templates' + }, + { + key: 'ai', + name: 'AI Assistant', + type: 'premium' + }, + { + key: 'casechange', + name: 'Case Change', + type: 'premium' + }, + { + key: 'checklist', + name: 'Checklist', + type: 'premium' + }, + { + key: 'editimage', + name: 'Enhanced Image Editing', + type: 'premium' + }, + { + key: 'footnotes', + name: 'Footnotes', + type: 'premium' + }, + { + key: 'typography', + name: 'Advanced Typography', + type: 'premium', + slug: 'advanced-typography' + }, + { + key: 'mediaembed', + name: 'Enhanced Media Embed', + type: 'premium', + slug: 'introduction-to-mediaembed' + }, + { + key: 'export', + name: 'Export', + type: 'premium' + }, + { + key: 'formatpainter', + name: 'Format Painter', + type: 'premium' + }, + { + key: 'inlinecss', + name: 'Inline CSS', + type: 'premium', + slug: 'inline-css' + }, + { + key: 'linkchecker', + name: 'Link Checker', + type: 'premium' + }, + { + key: 'mentions', + name: 'Mentions', + type: 'premium' + }, + { + key: 'mergetags', + name: 'Merge Tags', + type: 'premium' + }, + { + key: 'pageembed', + name: 'Page Embed', + type: 'premium' + }, + { + key: 'permanentpen', + name: 'Permanent Pen', + type: 'premium' + }, + { + key: 'powerpaste', + name: 'PowerPaste', + type: 'premium', + slug: 'introduction-to-powerpaste' + }, + { + key: 'rtc', + name: 'Real-Time Collaboration', + type: 'premium', + slug: 'rtc-introduction' + }, + { + key: 'tinymcespellchecker', + name: 'Spell Checker Pro', + type: 'premium', + slug: 'introduction-to-tiny-spellchecker' + }, + { + key: 'autocorrect', + name: 'Spelling Autocorrect', + type: 'premium' + }, + { + key: 'tableofcontents', + name: 'Table of Contents', + type: 'premium' + }, + { + key: 'tinycomments', + name: 'Tiny Comments', + type: 'premium', + slug: 'introduction-to-tiny-comments' + }, + { + key: 'tinydrive', + name: 'Tiny Drive', + type: 'premium', + slug: 'tinydrive-introduction' + } + ], item => ({ + ...item, + type: item.type || 'opensource', + slug: item.slug || item.key + })); + + const tab$1 = editor => { + const availablePlugins = () => { + const premiumPlugins = filter(urls, ({type}) => { + return type === 'premium'; + }); + const sortedPremiumPlugins = sort(map(premiumPlugins, p => p.name), (s1, s2) => s1.localeCompare(s2)); + const premiumPluginList = map(sortedPremiumPlugins, pluginName => `
  • ${ pluginName }
  • `).join(''); + return '
    ' + '

    ' + global$2.translate('Premium plugins:') + '

    ' + '' + '
    '; + }; + const makeLink = p => `${ p.name }`; + const identifyUnknownPlugin = (editor, key) => { + const getMetadata = editor.plugins[key].getMetadata; + if (isFunction(getMetadata)) { + const metadata = getMetadata(); + return { + name: metadata.name, + html: makeLink(metadata) + }; + } else { + return { + name: key, + html: key + }; + } + }; + const getPluginData = (editor, key) => find(urls, x => { + return x.key === key; + }).fold(() => { + return identifyUnknownPlugin(editor, key); + }, x => { + const name = x.type === 'premium' ? `${ x.name }*` : x.name; + const html = makeLink({ + name, + url: `https://www.tiny.cloud/docs/tinymce/6/${ x.slug }/` + }); + return { + name, + html + }; + }); + const getPluginKeys = editor => { + const keys$1 = keys(editor.plugins); + const forcedPlugins = getForcedPlugins(editor); + return isUndefined(forcedPlugins) ? keys$1 : filter(keys$1, k => !contains(forcedPlugins, k)); + }; + const pluginLister = editor => { + const pluginKeys = getPluginKeys(editor); + const sortedPluginData = sort(map(pluginKeys, k => getPluginData(editor, k)), (pd1, pd2) => pd1.name.localeCompare(pd2.name)); + const pluginLis = map(sortedPluginData, key => { + return '
  • ' + key.html + '
  • '; + }); + const count = pluginLis.length; + const pluginsString = pluginLis.join(''); + const html = '

    ' + global$2.translate([ + 'Plugins installed ({0}):', + count + ]) + '

    ' + '
      ' + pluginsString + '
    '; + return html; + }; + const installedPlugins = editor => { + if (editor == null) { + return ''; + } + return '
    ' + pluginLister(editor) + '
    '; + }; + const htmlPanel = { + type: 'htmlpanel', + presets: 'document', + html: [ + installedPlugins(editor), + availablePlugins() + ].join('') + }; + return { + name: 'plugins', + title: 'Plugins', + items: [htmlPanel] + }; + }; + + var global = tinymce.util.Tools.resolve('tinymce.EditorManager'); + + const tab = () => { + const getVersion = (major, minor) => major.indexOf('@') === 0 ? 'X.X.X' : major + '.' + minor; + const version = getVersion(global.majorVersion, global.minorVersion); + const changeLogLink = 'TinyMCE ' + version + ''; + const htmlPanel = { + type: 'htmlpanel', + html: '

    ' + global$2.translate([ + 'You are using {0}', + changeLogLink + ]) + '

    ', + presets: 'document' + }; + return { + name: 'versions', + title: 'Version', + items: [htmlPanel] + }; + }; + + const parseHelpTabsSetting = (tabsFromSettings, tabs) => { + const newTabs = {}; + const names = map(tabsFromSettings, t => { + var _a; + if (isString(t)) { + if (has(tabs, t)) { + newTabs[t] = tabs[t]; + } + return t; + } else { + const name = (_a = t.name) !== null && _a !== void 0 ? _a : generate('tab-name'); + newTabs[name] = t; + return name; + } + }); + return { + tabs: newTabs, + names + }; + }; + const getNamesFromTabs = tabs => { + const names = keys(tabs); + const idx = names.indexOf('versions'); + if (idx !== -1) { + names.splice(idx, 1); + names.push('versions'); + } + return { + tabs, + names + }; + }; + const pParseCustomTabs = async (editor, customTabs, pluginUrl) => { + const shortcuts = tab$2(); + const nav = await pTab(pluginUrl); + const plugins = tab$1(editor); + const versions = tab(); + const tabs = { + [shortcuts.name]: shortcuts, + [nav.name]: nav, + [plugins.name]: plugins, + [versions.name]: versions, + ...customTabs.get() + }; + return Optional.from(getHelpTabs(editor)).fold(() => getNamesFromTabs(tabs), tabsFromSettings => parseHelpTabsSetting(tabsFromSettings, tabs)); + }; + const init = (editor, customTabs, pluginUrl) => () => { + pParseCustomTabs(editor, customTabs, pluginUrl).then(({tabs, names}) => { + const foundTabs = map(names, name => get(tabs, name)); + const dialogTabs = cat(foundTabs); + const body = { + type: 'tabpanel', + tabs: dialogTabs + }; + editor.windowManager.open({ + title: 'Help', + size: 'medium', + body, + buttons: [{ + type: 'cancel', + name: 'close', + text: 'Close', + primary: true + }], + initialData: {} + }); + }); + }; + + var Plugin = () => { + global$4.add('help', (editor, pluginUrl) => { + const customTabs = Cell({}); + const api = get$1(customTabs); + register$1(editor); + const dialogOpener = init(editor, customTabs, pluginUrl); + register(editor, dialogOpener); + register$2(editor, dialogOpener); + editor.shortcuts.add('Alt+0', 'Open help dialog', 'mceHelp'); + initI18nLoad(editor, pluginUrl); + return api; + }); + }; + + Plugin(); + +})(); diff --git a/public/tools/cloud_notes/tinymce/plugins/help/plugin.min.js b/public/tools/cloud_notes/tinymce/plugins/help/plugin.min.js new file mode 100644 index 0000000..6882fae --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/help/plugin.min.js @@ -0,0 +1,4 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ +!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");let t=0;const n=e=>{const n=(new Date).getTime(),a=Math.floor(1e9*Math.random());return t++,e+"_"+a+t+String(n)},a=e=>t=>t.options.get(e),r=a("help_tabs"),o=a("forced_plugins"),i=("string",e=>"string"===(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(n=a=e,(r=String).prototype.isPrototypeOf(n)||(null===(o=a.constructor)||void 0===o?void 0:o.name)===r.name)?"string":t;var n,a,r,o})(e));const s=(void 0,e=>undefined===e);const l=e=>"function"==typeof e,c=(!1,()=>false);class m{constructor(e,t){this.tag=e,this.value=t}static some(e){return new m(!0,e)}static none(){return m.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?m.some(e(this.value)):m.none()}bind(e){return this.tag?e(this.value):m.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:m.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return null==e?m.none():m.some(e)}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}m.singletonNone=new m(!1);const u=Array.prototype.slice,p=Array.prototype.indexOf,y=(e,t)=>{const n=e.length,a=new Array(n);for(let r=0;r{const n=[];for(let a=0,r=e.length;a{const n=u.call(e,0);return n.sort(t),n},g=Object.keys,k=Object.hasOwnProperty,v=(e,t)=>k.call(e,t);var b=tinymce.util.Tools.resolve("tinymce.Resource"),f=tinymce.util.Tools.resolve("tinymce.util.I18n");const A=(e,t)=>b.load(`tinymce.html-i18n.help-keynav.${t}`,`${e}/js/i18n/keynav/${t}.js`),C=e=>A(e,f.getCode()).catch((()=>A(e,"en")));var w=tinymce.util.Tools.resolve("tinymce.Env");const S=e=>{const t=w.os.isMacOS()||w.os.isiOS(),n=t?{alt:"⌥",ctrl:"⌃",shift:"⇧",meta:"⌘",access:"⌃⌥"}:{meta:"Ctrl ",access:"Shift + Alt "},a=e.split("+"),r=y(a,(e=>{const t=e.toLowerCase().trim();return v(n,t)?n[t]:e}));return t?r.join("").replace(/\s/,""):r.join("+")},_=[{shortcuts:["Meta + B"],action:"Bold"},{shortcuts:["Meta + I"],action:"Italic"},{shortcuts:["Meta + U"],action:"Underline"},{shortcuts:["Meta + A"],action:"Select all"},{shortcuts:["Meta + Y","Meta + Shift + Z"],action:"Redo"},{shortcuts:["Meta + Z"],action:"Undo"},{shortcuts:["Access + 1"],action:"Heading 1"},{shortcuts:["Access + 2"],action:"Heading 2"},{shortcuts:["Access + 3"],action:"Heading 3"},{shortcuts:["Access + 4"],action:"Heading 4"},{shortcuts:["Access + 5"],action:"Heading 5"},{shortcuts:["Access + 6"],action:"Heading 6"},{shortcuts:["Access + 7"],action:"Paragraph"},{shortcuts:["Access + 8"],action:"Div"},{shortcuts:["Access + 9"],action:"Address"},{shortcuts:["Alt + 0"],action:"Open help dialog"},{shortcuts:["Alt + F9"],action:"Focus to menubar"},{shortcuts:["Alt + F10"],action:"Focus to toolbar"},{shortcuts:["Alt + F11"],action:"Focus to element path"},{shortcuts:["Ctrl + F9"],action:"Focus to contextual toolbar"},{shortcuts:["Shift + Enter"],action:"Open popup menu for split buttons"},{shortcuts:["Meta + K"],action:"Insert link (if link plugin activated)"},{shortcuts:["Meta + S"],action:"Save (if save plugin activated)"},{shortcuts:["Meta + F"],action:"Find (if searchreplace plugin activated)"},{shortcuts:["Meta + Shift + F"],action:"Switch to or from fullscreen mode"}],M=()=>({name:"shortcuts",title:"Handy Shortcuts",items:[{type:"table",header:["Action","Shortcut"],cells:y(_,(e=>{const t=y(e.shortcuts,S).join(" or ");return[e.action,t]}))}]}),T=y([{key:"accordion",name:"Accordion"},{key:"advlist",name:"Advanced List"},{key:"anchor",name:"Anchor"},{key:"autolink",name:"Autolink"},{key:"autoresize",name:"Autoresize"},{key:"autosave",name:"Autosave"},{key:"charmap",name:"Character Map"},{key:"code",name:"Code"},{key:"codesample",name:"Code Sample"},{key:"colorpicker",name:"Color Picker"},{key:"directionality",name:"Directionality"},{key:"emoticons",name:"Emoticons"},{key:"fullscreen",name:"Full Screen"},{key:"help",name:"Help"},{key:"image",name:"Image"},{key:"importcss",name:"Import CSS"},{key:"insertdatetime",name:"Insert Date/Time"},{key:"link",name:"Link"},{key:"lists",name:"Lists"},{key:"media",name:"Media"},{key:"nonbreaking",name:"Nonbreaking"},{key:"pagebreak",name:"Page Break"},{key:"preview",name:"Preview"},{key:"quickbars",name:"Quick Toolbars"},{key:"save",name:"Save"},{key:"searchreplace",name:"Search and Replace"},{key:"table",name:"Table"},{key:"template",name:"Template"},{key:"textcolor",name:"Text Color"},{key:"visualblocks",name:"Visual Blocks"},{key:"visualchars",name:"Visual Characters"},{key:"wordcount",name:"Word Count"},{key:"a11ychecker",name:"Accessibility Checker",type:"premium"},{key:"advcode",name:"Advanced Code Editor",type:"premium"},{key:"advtable",name:"Advanced Tables",type:"premium"},{key:"advtemplate",name:"Advanced Templates",type:"premium",slug:"advanced-templates"},{key:"ai",name:"AI Assistant",type:"premium"},{key:"casechange",name:"Case Change",type:"premium"},{key:"checklist",name:"Checklist",type:"premium"},{key:"editimage",name:"Enhanced Image Editing",type:"premium"},{key:"footnotes",name:"Footnotes",type:"premium"},{key:"typography",name:"Advanced Typography",type:"premium",slug:"advanced-typography"},{key:"mediaembed",name:"Enhanced Media Embed",type:"premium",slug:"introduction-to-mediaembed"},{key:"export",name:"Export",type:"premium"},{key:"formatpainter",name:"Format Painter",type:"premium"},{key:"inlinecss",name:"Inline CSS",type:"premium",slug:"inline-css"},{key:"linkchecker",name:"Link Checker",type:"premium"},{key:"mentions",name:"Mentions",type:"premium"},{key:"mergetags",name:"Merge Tags",type:"premium"},{key:"pageembed",name:"Page Embed",type:"premium"},{key:"permanentpen",name:"Permanent Pen",type:"premium"},{key:"powerpaste",name:"PowerPaste",type:"premium",slug:"introduction-to-powerpaste"},{key:"rtc",name:"Real-Time Collaboration",type:"premium",slug:"rtc-introduction"},{key:"tinymcespellchecker",name:"Spell Checker Pro",type:"premium",slug:"introduction-to-tiny-spellchecker"},{key:"autocorrect",name:"Spelling Autocorrect",type:"premium"},{key:"tableofcontents",name:"Table of Contents",type:"premium"},{key:"tinycomments",name:"Tiny Comments",type:"premium",slug:"introduction-to-tiny-comments"},{key:"tinydrive",name:"Tiny Drive",type:"premium",slug:"tinydrive-introduction"}],(e=>({...e,type:e.type||"opensource",slug:e.slug||e.key}))),x=e=>{const t=e=>`${e.name}`,n=(e,n)=>{return(a=T,r=e=>e.key===n,((e,t,n)=>{for(let a=0,r=e.length;a((e,n)=>{const a=e.plugins[n].getMetadata;if(l(a)){const e=a();return{name:e.name,html:t(e)}}return{name:n,html:n}})(e,n)),(e=>{const n="premium"===e.type?`${e.name}*`:e.name;return{name:n,html:t({name:n,url:`https://www.tiny.cloud/docs/tinymce/6/${e.slug}/`})}}));var a,r},a=e=>{const t=(e=>{const t=g(e.plugins),n=o(e);return s(n)?t:h(t,(e=>!(((e,t)=>p.call(e,t))(n,e)>-1)))})(e),a=d(y(t,(t=>n(e,t))),((e,t)=>e.name.localeCompare(t.name))),r=y(a,(e=>"
  • "+e.html+"
  • ")),i=r.length,l=r.join("");return"

    "+f.translate(["Plugins installed ({0}):",i])+"

      "+l+"
    "},r={type:"htmlpanel",presets:"document",html:[(e=>null==e?"":"
    "+a(e)+"
    ")(e),(()=>{const e=h(T,(({type:e})=>"premium"===e)),t=d(y(e,(e=>e.name)),((e,t)=>e.localeCompare(t))),n=y(t,(e=>`
  • ${e}
  • `)).join("");return"

    "+f.translate("Premium plugins:")+"

    "})()].join("")};return{name:"plugins",title:"Plugins",items:[r]}};var O=tinymce.util.Tools.resolve("tinymce.EditorManager");const P=(e,t,a)=>()=>{(async(e,t,a)=>{const o=M(),s=await(async e=>({name:"keyboardnav",title:"Keyboard Navigation",items:[{type:"htmlpanel",presets:"document",html:await C(e)}]}))(a),l=x(e),c=(()=>{var e,t;const n='TinyMCE '+(e=O.majorVersion,t=O.minorVersion,(0===e.indexOf("@")?"X.X.X":e+"."+t)+"");return{name:"versions",title:"Version",items:[{type:"htmlpanel",html:"

    "+f.translate(["You are using {0}",n])+"

    ",presets:"document"}]}})(),u={[o.name]:o,[s.name]:s,[l.name]:l,[c.name]:c,...t.get()};return m.from(r(e)).fold((()=>(e=>{const t=g(e),n=t.indexOf("versions");return-1!==n&&(t.splice(n,1),t.push("versions")),{tabs:e,names:t}})(u)),(e=>((e,t)=>{const a={},r=y(e,(e=>{var r;if(i(e))return v(t,e)&&(a[e]=t[e]),e;{const t=null!==(r=e.name)&&void 0!==r?r:n("tab-name");return a[t]=e,t}}));return{tabs:a,names:r}})(e,u)))})(e,t,a).then((({tabs:t,names:n})=>{const a={type:"tabpanel",tabs:(e=>{const t=[],n=e=>{t.push(e)};for(let t=0;t{return v(n=t,a=e)?m.from(n[a]):m.none();var n,a})))};e.windowManager.open({title:"Help",size:"medium",body:a,buttons:[{type:"cancel",name:"close",text:"Close",primary:!0}],initialData:{}})}))};e.add("help",((e,t)=>{const a=(e=>{let t={};return{get:()=>t,set:e=>{t=e}}})(),r=(e=>({addTab:t=>{var a;const r=null!==(a=t.name)&&void 0!==a?a:n("tab-name"),o=e.get();o[r]=t,e.set(o)}}))(a);(e=>{(0,e.options.register)("help_tabs",{processor:"array"})})(e);const o=P(e,a,t);return((e,t)=>{e.ui.registry.addButton("help",{icon:"help",tooltip:"Help",onAction:t}),e.ui.registry.addMenuItem("help",{text:"Help",icon:"help",shortcut:"Alt+0",onAction:t})})(e,o),((e,t)=>{e.addCommand("mceHelp",t)})(e,o),e.shortcuts.add("Alt+0","Open help dialog","mceHelp"),((e,t)=>{e.on("init",(()=>{C(t)}))})(e,t),r}))}(); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/image/index.js b/public/tools/cloud_notes/tinymce/plugins/image/index.js new file mode 100644 index 0000000..092c73a --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/image/index.js @@ -0,0 +1,7 @@ +// Exports the "image" plugin for usage with module loaders +// Usage: +// CommonJS: +// require('tinymce/plugins/image') +// ES2015: +// import 'tinymce/plugins/image' +require('./plugin.js'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/image/plugin.js b/public/tools/cloud_notes/tinymce/plugins/image/plugin.js new file mode 100644 index 0000000..a72fef1 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/image/plugin.js @@ -0,0 +1,1505 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ + +(function () { + 'use strict'; + + var global$4 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + const getPrototypeOf = Object.getPrototypeOf; + const hasProto = (v, constructor, predicate) => { + var _a; + if (predicate(v, constructor.prototype)) { + return true; + } else { + return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name; + } + }; + const typeOf = x => { + const t = typeof x; + if (x === null) { + return 'null'; + } else if (t === 'object' && Array.isArray(x)) { + return 'array'; + } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) { + return 'string'; + } else { + return t; + } + }; + const isType = type => value => typeOf(value) === type; + const isSimpleType = type => value => typeof value === type; + const eq = t => a => t === a; + const is = (value, constructor) => isObject(value) && hasProto(value, constructor, (o, proto) => getPrototypeOf(o) === proto); + const isString = isType('string'); + const isObject = isType('object'); + const isPlainObject = value => is(value, Object); + const isArray = isType('array'); + const isNull = eq(null); + const isBoolean = isSimpleType('boolean'); + const isNullable = a => a === null || a === undefined; + const isNonNullable = a => !isNullable(a); + const isFunction = isSimpleType('function'); + const isNumber = isSimpleType('number'); + const isArrayOf = (value, pred) => { + if (isArray(value)) { + for (let i = 0, len = value.length; i < len; ++i) { + if (!pred(value[i])) { + return false; + } + } + return true; + } + return false; + }; + + const noop = () => { + }; + + class Optional { + constructor(tag, value) { + this.tag = tag; + this.value = value; + } + static some(value) { + return new Optional(true, value); + } + static none() { + return Optional.singletonNone; + } + fold(onNone, onSome) { + if (this.tag) { + return onSome(this.value); + } else { + return onNone(); + } + } + isSome() { + return this.tag; + } + isNone() { + return !this.tag; + } + map(mapper) { + if (this.tag) { + return Optional.some(mapper(this.value)); + } else { + return Optional.none(); + } + } + bind(binder) { + if (this.tag) { + return binder(this.value); + } else { + return Optional.none(); + } + } + exists(predicate) { + return this.tag && predicate(this.value); + } + forall(predicate) { + return !this.tag || predicate(this.value); + } + filter(predicate) { + if (!this.tag || predicate(this.value)) { + return this; + } else { + return Optional.none(); + } + } + getOr(replacement) { + return this.tag ? this.value : replacement; + } + or(replacement) { + return this.tag ? this : replacement; + } + getOrThunk(thunk) { + return this.tag ? this.value : thunk(); + } + orThunk(thunk) { + return this.tag ? this : thunk(); + } + getOrDie(message) { + if (!this.tag) { + throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None'); + } else { + return this.value; + } + } + static from(value) { + return isNonNullable(value) ? Optional.some(value) : Optional.none(); + } + getOrNull() { + return this.tag ? this.value : null; + } + getOrUndefined() { + return this.value; + } + each(worker) { + if (this.tag) { + worker(this.value); + } + } + toArray() { + return this.tag ? [this.value] : []; + } + toString() { + return this.tag ? `some(${ this.value })` : 'none()'; + } + } + Optional.singletonNone = new Optional(false); + + const keys = Object.keys; + const hasOwnProperty = Object.hasOwnProperty; + const each = (obj, f) => { + const props = keys(obj); + for (let k = 0, len = props.length; k < len; k++) { + const i = props[k]; + const x = obj[i]; + f(x, i); + } + }; + const objAcc = r => (x, i) => { + r[i] = x; + }; + const internalFilter = (obj, pred, onTrue, onFalse) => { + each(obj, (x, i) => { + (pred(x, i) ? onTrue : onFalse)(x, i); + }); + }; + const filter = (obj, pred) => { + const t = {}; + internalFilter(obj, pred, objAcc(t), noop); + return t; + }; + const has = (obj, key) => hasOwnProperty.call(obj, key); + const hasNonNullableKey = (obj, key) => has(obj, key) && obj[key] !== undefined && obj[key] !== null; + + const nativePush = Array.prototype.push; + const flatten = xs => { + const r = []; + for (let i = 0, len = xs.length; i < len; ++i) { + if (!isArray(xs[i])) { + throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs); + } + nativePush.apply(r, xs[i]); + } + return r; + }; + const get = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none(); + const head = xs => get(xs, 0); + const findMap = (arr, f) => { + for (let i = 0; i < arr.length; i++) { + const r = f(arr[i], i); + if (r.isSome()) { + return r; + } + } + return Optional.none(); + }; + + typeof window !== 'undefined' ? window : Function('return this;')(); + + const rawSet = (dom, key, value) => { + if (isString(value) || isBoolean(value) || isNumber(value)) { + dom.setAttribute(key, value + ''); + } else { + console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom); + throw new Error('Attribute value was not simple'); + } + }; + const set = (element, key, value) => { + rawSet(element.dom, key, value); + }; + const remove = (element, key) => { + element.dom.removeAttribute(key); + }; + + const fromHtml = (html, scope) => { + const doc = scope || document; + const div = doc.createElement('div'); + div.innerHTML = html; + if (!div.hasChildNodes() || div.childNodes.length > 1) { + const message = 'HTML does not have a single root node'; + console.error(message, html); + throw new Error(message); + } + return fromDom(div.childNodes[0]); + }; + const fromTag = (tag, scope) => { + const doc = scope || document; + const node = doc.createElement(tag); + return fromDom(node); + }; + const fromText = (text, scope) => { + const doc = scope || document; + const node = doc.createTextNode(text); + return fromDom(node); + }; + const fromDom = node => { + if (node === null || node === undefined) { + throw new Error('Node cannot be null or undefined'); + } + return { dom: node }; + }; + const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom); + const SugarElement = { + fromHtml, + fromTag, + fromText, + fromDom, + fromPoint + }; + + var global$3 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils'); + + var global$2 = tinymce.util.Tools.resolve('tinymce.util.URI'); + + const isNotEmpty = s => s.length > 0; + + const option = name => editor => editor.options.get(name); + const register$2 = editor => { + const registerOption = editor.options.register; + registerOption('image_dimensions', { + processor: 'boolean', + default: true + }); + registerOption('image_advtab', { + processor: 'boolean', + default: false + }); + registerOption('image_uploadtab', { + processor: 'boolean', + default: true + }); + registerOption('image_prepend_url', { + processor: 'string', + default: '' + }); + registerOption('image_class_list', { processor: 'object[]' }); + registerOption('image_description', { + processor: 'boolean', + default: true + }); + registerOption('image_title', { + processor: 'boolean', + default: false + }); + registerOption('image_caption', { + processor: 'boolean', + default: false + }); + registerOption('image_list', { + processor: value => { + const valid = value === false || isString(value) || isArrayOf(value, isObject) || isFunction(value); + return valid ? { + value, + valid + } : { + valid: false, + message: 'Must be false, a string, an array or a function.' + }; + }, + default: false + }); + }; + const hasDimensions = option('image_dimensions'); + const hasAdvTab = option('image_advtab'); + const hasUploadTab = option('image_uploadtab'); + const getPrependUrl = option('image_prepend_url'); + const getClassList = option('image_class_list'); + const hasDescription = option('image_description'); + const hasImageTitle = option('image_title'); + const hasImageCaption = option('image_caption'); + const getImageList = option('image_list'); + const showAccessibilityOptions = option('a11y_advanced_options'); + const isAutomaticUploadsEnabled = option('automatic_uploads'); + const hasUploadUrl = editor => isNotEmpty(editor.options.get('images_upload_url')); + const hasUploadHandler = editor => isNonNullable(editor.options.get('images_upload_handler')); + + const parseIntAndGetMax = (val1, val2) => Math.max(parseInt(val1, 10), parseInt(val2, 10)); + const getImageSize = url => new Promise(callback => { + const img = document.createElement('img'); + const done = dimensions => { + img.onload = img.onerror = null; + if (img.parentNode) { + img.parentNode.removeChild(img); + } + callback(dimensions); + }; + img.onload = () => { + const width = parseIntAndGetMax(img.width, img.clientWidth); + const height = parseIntAndGetMax(img.height, img.clientHeight); + const dimensions = { + width, + height + }; + done(Promise.resolve(dimensions)); + }; + img.onerror = () => { + done(Promise.reject(`Failed to get image dimensions for: ${ url }`)); + }; + const style = img.style; + style.visibility = 'hidden'; + style.position = 'fixed'; + style.bottom = style.left = '0px'; + style.width = style.height = 'auto'; + document.body.appendChild(img); + img.src = url; + }); + const removePixelSuffix = value => { + if (value) { + value = value.replace(/px$/, ''); + } + return value; + }; + const addPixelSuffix = value => { + if (value.length > 0 && /^[0-9]+$/.test(value)) { + value += 'px'; + } + return value; + }; + const mergeMargins = css => { + if (css.margin) { + const splitMargin = String(css.margin).split(' '); + switch (splitMargin.length) { + case 1: + css['margin-top'] = css['margin-top'] || splitMargin[0]; + css['margin-right'] = css['margin-right'] || splitMargin[0]; + css['margin-bottom'] = css['margin-bottom'] || splitMargin[0]; + css['margin-left'] = css['margin-left'] || splitMargin[0]; + break; + case 2: + css['margin-top'] = css['margin-top'] || splitMargin[0]; + css['margin-right'] = css['margin-right'] || splitMargin[1]; + css['margin-bottom'] = css['margin-bottom'] || splitMargin[0]; + css['margin-left'] = css['margin-left'] || splitMargin[1]; + break; + case 3: + css['margin-top'] = css['margin-top'] || splitMargin[0]; + css['margin-right'] = css['margin-right'] || splitMargin[1]; + css['margin-bottom'] = css['margin-bottom'] || splitMargin[2]; + css['margin-left'] = css['margin-left'] || splitMargin[1]; + break; + case 4: + css['margin-top'] = css['margin-top'] || splitMargin[0]; + css['margin-right'] = css['margin-right'] || splitMargin[1]; + css['margin-bottom'] = css['margin-bottom'] || splitMargin[2]; + css['margin-left'] = css['margin-left'] || splitMargin[3]; + } + delete css.margin; + } + return css; + }; + const createImageList = (editor, callback) => { + const imageList = getImageList(editor); + if (isString(imageList)) { + fetch(imageList).then(res => { + if (res.ok) { + res.json().then(callback); + } + }); + } else if (isFunction(imageList)) { + imageList(callback); + } else { + callback(imageList); + } + }; + const waitLoadImage = (editor, data, imgElm) => { + const selectImage = () => { + imgElm.onload = imgElm.onerror = null; + if (editor.selection) { + editor.selection.select(imgElm); + editor.nodeChanged(); + } + }; + imgElm.onload = () => { + if (!data.width && !data.height && hasDimensions(editor)) { + editor.dom.setAttribs(imgElm, { + width: String(imgElm.clientWidth), + height: String(imgElm.clientHeight) + }); + } + selectImage(); + }; + imgElm.onerror = selectImage; + }; + const blobToDataUri = blob => new Promise((resolve, reject) => { + const reader = new FileReader(); + reader.onload = () => { + resolve(reader.result); + }; + reader.onerror = () => { + var _a; + reject((_a = reader.error) === null || _a === void 0 ? void 0 : _a.message); + }; + reader.readAsDataURL(blob); + }); + const isPlaceholderImage = imgElm => imgElm.nodeName === 'IMG' && (imgElm.hasAttribute('data-mce-object') || imgElm.hasAttribute('data-mce-placeholder')); + const isSafeImageUrl = (editor, src) => { + const getOption = editor.options.get; + return global$2.isDomSafe(src, 'img', { + allow_html_data_urls: getOption('allow_html_data_urls'), + allow_script_urls: getOption('allow_script_urls'), + allow_svg_data_urls: getOption('allow_svg_data_urls') + }); + }; + + const DOM = global$3.DOM; + const getHspace = image => { + if (image.style.marginLeft && image.style.marginRight && image.style.marginLeft === image.style.marginRight) { + return removePixelSuffix(image.style.marginLeft); + } else { + return ''; + } + }; + const getVspace = image => { + if (image.style.marginTop && image.style.marginBottom && image.style.marginTop === image.style.marginBottom) { + return removePixelSuffix(image.style.marginTop); + } else { + return ''; + } + }; + const getBorder = image => { + if (image.style.borderWidth) { + return removePixelSuffix(image.style.borderWidth); + } else { + return ''; + } + }; + const getAttrib = (image, name) => { + var _a; + if (image.hasAttribute(name)) { + return (_a = image.getAttribute(name)) !== null && _a !== void 0 ? _a : ''; + } else { + return ''; + } + }; + const hasCaption = image => image.parentNode !== null && image.parentNode.nodeName === 'FIGURE'; + const updateAttrib = (image, name, value) => { + if (value === '' || value === null) { + image.removeAttribute(name); + } else { + image.setAttribute(name, value); + } + }; + const wrapInFigure = image => { + const figureElm = DOM.create('figure', { class: 'image' }); + DOM.insertAfter(figureElm, image); + figureElm.appendChild(image); + figureElm.appendChild(DOM.create('figcaption', { contentEditable: 'true' }, 'Caption')); + figureElm.contentEditable = 'false'; + }; + const removeFigure = image => { + const figureElm = image.parentNode; + if (isNonNullable(figureElm)) { + DOM.insertAfter(image, figureElm); + DOM.remove(figureElm); + } + }; + const toggleCaption = image => { + if (hasCaption(image)) { + removeFigure(image); + } else { + wrapInFigure(image); + } + }; + const normalizeStyle = (image, normalizeCss) => { + const attrValue = image.getAttribute('style'); + const value = normalizeCss(attrValue !== null ? attrValue : ''); + if (value.length > 0) { + image.setAttribute('style', value); + image.setAttribute('data-mce-style', value); + } else { + image.removeAttribute('style'); + } + }; + const setSize = (name, normalizeCss) => (image, name, value) => { + const styles = image.style; + if (styles[name]) { + styles[name] = addPixelSuffix(value); + normalizeStyle(image, normalizeCss); + } else { + updateAttrib(image, name, value); + } + }; + const getSize = (image, name) => { + if (image.style[name]) { + return removePixelSuffix(image.style[name]); + } else { + return getAttrib(image, name); + } + }; + const setHspace = (image, value) => { + const pxValue = addPixelSuffix(value); + image.style.marginLeft = pxValue; + image.style.marginRight = pxValue; + }; + const setVspace = (image, value) => { + const pxValue = addPixelSuffix(value); + image.style.marginTop = pxValue; + image.style.marginBottom = pxValue; + }; + const setBorder = (image, value) => { + const pxValue = addPixelSuffix(value); + image.style.borderWidth = pxValue; + }; + const setBorderStyle = (image, value) => { + image.style.borderStyle = value; + }; + const getBorderStyle = image => { + var _a; + return (_a = image.style.borderStyle) !== null && _a !== void 0 ? _a : ''; + }; + const isFigure = elm => isNonNullable(elm) && elm.nodeName === 'FIGURE'; + const isImage = elm => elm.nodeName === 'IMG'; + const getIsDecorative = image => DOM.getAttrib(image, 'alt').length === 0 && DOM.getAttrib(image, 'role') === 'presentation'; + const getAlt = image => { + if (getIsDecorative(image)) { + return ''; + } else { + return getAttrib(image, 'alt'); + } + }; + const defaultData = () => ({ + src: '', + alt: '', + title: '', + width: '', + height: '', + class: '', + style: '', + caption: false, + hspace: '', + vspace: '', + border: '', + borderStyle: '', + isDecorative: false + }); + const getStyleValue = (normalizeCss, data) => { + var _a; + const image = document.createElement('img'); + updateAttrib(image, 'style', data.style); + if (getHspace(image) || data.hspace !== '') { + setHspace(image, data.hspace); + } + if (getVspace(image) || data.vspace !== '') { + setVspace(image, data.vspace); + } + if (getBorder(image) || data.border !== '') { + setBorder(image, data.border); + } + if (getBorderStyle(image) || data.borderStyle !== '') { + setBorderStyle(image, data.borderStyle); + } + return normalizeCss((_a = image.getAttribute('style')) !== null && _a !== void 0 ? _a : ''); + }; + const create = (normalizeCss, data) => { + const image = document.createElement('img'); + write(normalizeCss, { + ...data, + caption: false + }, image); + setAlt(image, data.alt, data.isDecorative); + if (data.caption) { + const figure = DOM.create('figure', { class: 'image' }); + figure.appendChild(image); + figure.appendChild(DOM.create('figcaption', { contentEditable: 'true' }, 'Caption')); + figure.contentEditable = 'false'; + return figure; + } else { + return image; + } + }; + const read = (normalizeCss, image) => ({ + src: getAttrib(image, 'src'), + alt: getAlt(image), + title: getAttrib(image, 'title'), + width: getSize(image, 'width'), + height: getSize(image, 'height'), + class: getAttrib(image, 'class'), + style: normalizeCss(getAttrib(image, 'style')), + caption: hasCaption(image), + hspace: getHspace(image), + vspace: getVspace(image), + border: getBorder(image), + borderStyle: getBorderStyle(image), + isDecorative: getIsDecorative(image) + }); + const updateProp = (image, oldData, newData, name, set) => { + if (newData[name] !== oldData[name]) { + set(image, name, String(newData[name])); + } + }; + const setAlt = (image, alt, isDecorative) => { + if (isDecorative) { + DOM.setAttrib(image, 'role', 'presentation'); + const sugarImage = SugarElement.fromDom(image); + set(sugarImage, 'alt', ''); + } else { + if (isNull(alt)) { + const sugarImage = SugarElement.fromDom(image); + remove(sugarImage, 'alt'); + } else { + const sugarImage = SugarElement.fromDom(image); + set(sugarImage, 'alt', alt); + } + if (DOM.getAttrib(image, 'role') === 'presentation') { + DOM.setAttrib(image, 'role', ''); + } + } + }; + const updateAlt = (image, oldData, newData) => { + if (newData.alt !== oldData.alt || newData.isDecorative !== oldData.isDecorative) { + setAlt(image, newData.alt, newData.isDecorative); + } + }; + const normalized = (set, normalizeCss) => (image, name, value) => { + set(image, value); + normalizeStyle(image, normalizeCss); + }; + const write = (normalizeCss, newData, image) => { + const oldData = read(normalizeCss, image); + updateProp(image, oldData, newData, 'caption', (image, _name, _value) => toggleCaption(image)); + updateProp(image, oldData, newData, 'src', updateAttrib); + updateProp(image, oldData, newData, 'title', updateAttrib); + updateProp(image, oldData, newData, 'width', setSize('width', normalizeCss)); + updateProp(image, oldData, newData, 'height', setSize('height', normalizeCss)); + updateProp(image, oldData, newData, 'class', updateAttrib); + updateProp(image, oldData, newData, 'style', normalized((image, value) => updateAttrib(image, 'style', value), normalizeCss)); + updateProp(image, oldData, newData, 'hspace', normalized(setHspace, normalizeCss)); + updateProp(image, oldData, newData, 'vspace', normalized(setVspace, normalizeCss)); + updateProp(image, oldData, newData, 'border', normalized(setBorder, normalizeCss)); + updateProp(image, oldData, newData, 'borderStyle', normalized(setBorderStyle, normalizeCss)); + updateAlt(image, oldData, newData); + }; + + const normalizeCss$1 = (editor, cssText) => { + const css = editor.dom.styles.parse(cssText); + const mergedCss = mergeMargins(css); + const compressed = editor.dom.styles.parse(editor.dom.styles.serialize(mergedCss)); + return editor.dom.styles.serialize(compressed); + }; + const getSelectedImage = editor => { + const imgElm = editor.selection.getNode(); + const figureElm = editor.dom.getParent(imgElm, 'figure.image'); + if (figureElm) { + return editor.dom.select('img', figureElm)[0]; + } + if (imgElm && (imgElm.nodeName !== 'IMG' || isPlaceholderImage(imgElm))) { + return null; + } + return imgElm; + }; + const splitTextBlock = (editor, figure) => { + var _a; + const dom = editor.dom; + const textBlockElements = filter(editor.schema.getTextBlockElements(), (_, parentElm) => !editor.schema.isValidChild(parentElm, 'figure')); + const textBlock = dom.getParent(figure.parentNode, node => hasNonNullableKey(textBlockElements, node.nodeName), editor.getBody()); + if (textBlock) { + return (_a = dom.split(textBlock, figure)) !== null && _a !== void 0 ? _a : figure; + } else { + return figure; + } + }; + const readImageDataFromSelection = editor => { + const image = getSelectedImage(editor); + return image ? read(css => normalizeCss$1(editor, css), image) : defaultData(); + }; + const insertImageAtCaret = (editor, data) => { + const elm = create(css => normalizeCss$1(editor, css), data); + editor.dom.setAttrib(elm, 'data-mce-id', '__mcenew'); + editor.focus(); + editor.selection.setContent(elm.outerHTML); + const insertedElm = editor.dom.select('*[data-mce-id="__mcenew"]')[0]; + editor.dom.setAttrib(insertedElm, 'data-mce-id', null); + if (isFigure(insertedElm)) { + const figure = splitTextBlock(editor, insertedElm); + editor.selection.select(figure); + } else { + editor.selection.select(insertedElm); + } + }; + const syncSrcAttr = (editor, image) => { + editor.dom.setAttrib(image, 'src', image.getAttribute('src')); + }; + const deleteImage = (editor, image) => { + if (image) { + const elm = editor.dom.is(image.parentNode, 'figure.image') ? image.parentNode : image; + editor.dom.remove(elm); + editor.focus(); + editor.nodeChanged(); + if (editor.dom.isEmpty(editor.getBody())) { + editor.setContent(''); + editor.selection.setCursorLocation(); + } + } + }; + const writeImageDataToSelection = (editor, data) => { + const image = getSelectedImage(editor); + if (image) { + write(css => normalizeCss$1(editor, css), data, image); + syncSrcAttr(editor, image); + if (isFigure(image.parentNode)) { + const figure = image.parentNode; + splitTextBlock(editor, figure); + editor.selection.select(image.parentNode); + } else { + editor.selection.select(image); + waitLoadImage(editor, data, image); + } + } + }; + const sanitizeImageData = (editor, data) => { + const src = data.src; + return { + ...data, + src: isSafeImageUrl(editor, src) ? src : '' + }; + }; + const insertOrUpdateImage = (editor, partialData) => { + const image = getSelectedImage(editor); + if (image) { + const selectedImageData = read(css => normalizeCss$1(editor, css), image); + const data = { + ...selectedImageData, + ...partialData + }; + const sanitizedData = sanitizeImageData(editor, data); + if (data.src) { + writeImageDataToSelection(editor, sanitizedData); + } else { + deleteImage(editor, image); + } + } else if (partialData.src) { + insertImageAtCaret(editor, { + ...defaultData(), + ...partialData + }); + } + }; + + const deep = (old, nu) => { + const bothObjects = isPlainObject(old) && isPlainObject(nu); + return bothObjects ? deepMerge(old, nu) : nu; + }; + const baseMerge = merger => { + return (...objects) => { + if (objects.length === 0) { + throw new Error(`Can't merge zero objects`); + } + const ret = {}; + for (let j = 0; j < objects.length; j++) { + const curObject = objects[j]; + for (const key in curObject) { + if (has(curObject, key)) { + ret[key] = merger(ret[key], curObject[key]); + } + } + } + return ret; + }; + }; + const deepMerge = baseMerge(deep); + + var global$1 = tinymce.util.Tools.resolve('tinymce.util.ImageUploader'); + + var global = tinymce.util.Tools.resolve('tinymce.util.Tools'); + + const getValue = item => isString(item.value) ? item.value : ''; + const getText = item => { + if (isString(item.text)) { + return item.text; + } else if (isString(item.title)) { + return item.title; + } else { + return ''; + } + }; + const sanitizeList = (list, extractValue) => { + const out = []; + global.each(list, item => { + const text = getText(item); + if (item.menu !== undefined) { + const items = sanitizeList(item.menu, extractValue); + out.push({ + text, + items + }); + } else { + const value = extractValue(item); + out.push({ + text, + value + }); + } + }); + return out; + }; + const sanitizer = (extractor = getValue) => list => { + if (list) { + return Optional.from(list).map(list => sanitizeList(list, extractor)); + } else { + return Optional.none(); + } + }; + const sanitize = list => sanitizer(getValue)(list); + const isGroup = item => has(item, 'items'); + const findEntryDelegate = (list, value) => findMap(list, item => { + if (isGroup(item)) { + return findEntryDelegate(item.items, value); + } else if (item.value === value) { + return Optional.some(item); + } else { + return Optional.none(); + } + }); + const findEntry = (optList, value) => optList.bind(list => findEntryDelegate(list, value)); + const ListUtils = { + sanitizer, + sanitize, + findEntry + }; + + const makeTab$2 = _info => ({ + title: 'Advanced', + name: 'advanced', + items: [{ + type: 'grid', + columns: 2, + items: [ + { + type: 'input', + label: 'Vertical space', + name: 'vspace', + inputMode: 'numeric' + }, + { + type: 'input', + label: 'Horizontal space', + name: 'hspace', + inputMode: 'numeric' + }, + { + type: 'input', + label: 'Border width', + name: 'border', + inputMode: 'numeric' + }, + { + type: 'listbox', + name: 'borderstyle', + label: 'Border style', + items: [ + { + text: 'Select...', + value: '' + }, + { + text: 'Solid', + value: 'solid' + }, + { + text: 'Dotted', + value: 'dotted' + }, + { + text: 'Dashed', + value: 'dashed' + }, + { + text: 'Double', + value: 'double' + }, + { + text: 'Groove', + value: 'groove' + }, + { + text: 'Ridge', + value: 'ridge' + }, + { + text: 'Inset', + value: 'inset' + }, + { + text: 'Outset', + value: 'outset' + }, + { + text: 'None', + value: 'none' + }, + { + text: 'Hidden', + value: 'hidden' + } + ] + } + ] + }] + }); + const AdvTab = { makeTab: makeTab$2 }; + + const collect = editor => { + const urlListSanitizer = ListUtils.sanitizer(item => editor.convertURL(item.value || item.url || '', 'src')); + const futureImageList = new Promise(completer => { + createImageList(editor, imageList => { + completer(urlListSanitizer(imageList).map(items => flatten([ + [{ + text: 'None', + value: '' + }], + items + ]))); + }); + }); + const classList = ListUtils.sanitize(getClassList(editor)); + const hasAdvTab$1 = hasAdvTab(editor); + const hasUploadTab$1 = hasUploadTab(editor); + const hasUploadUrl$1 = hasUploadUrl(editor); + const hasUploadHandler$1 = hasUploadHandler(editor); + const image = readImageDataFromSelection(editor); + const hasDescription$1 = hasDescription(editor); + const hasImageTitle$1 = hasImageTitle(editor); + const hasDimensions$1 = hasDimensions(editor); + const hasImageCaption$1 = hasImageCaption(editor); + const hasAccessibilityOptions = showAccessibilityOptions(editor); + const automaticUploads = isAutomaticUploadsEnabled(editor); + const prependURL = Optional.some(getPrependUrl(editor)).filter(preUrl => isString(preUrl) && preUrl.length > 0); + return futureImageList.then(imageList => ({ + image, + imageList, + classList, + hasAdvTab: hasAdvTab$1, + hasUploadTab: hasUploadTab$1, + hasUploadUrl: hasUploadUrl$1, + hasUploadHandler: hasUploadHandler$1, + hasDescription: hasDescription$1, + hasImageTitle: hasImageTitle$1, + hasDimensions: hasDimensions$1, + hasImageCaption: hasImageCaption$1, + prependURL, + hasAccessibilityOptions, + automaticUploads + })); + }; + + const makeItems = info => { + const imageUrl = { + name: 'src', + type: 'urlinput', + filetype: 'image', + label: 'Source', + picker_text: 'Browse files' + }; + const imageList = info.imageList.map(items => ({ + name: 'images', + type: 'listbox', + label: 'Image list', + items + })); + const imageDescription = { + name: 'alt', + type: 'input', + label: 'Alternative description', + enabled: !(info.hasAccessibilityOptions && info.image.isDecorative) + }; + const imageTitle = { + name: 'title', + type: 'input', + label: 'Image title' + }; + const imageDimensions = { + name: 'dimensions', + type: 'sizeinput' + }; + const isDecorative = { + type: 'label', + label: 'Accessibility', + items: [{ + name: 'isDecorative', + type: 'checkbox', + label: 'Image is decorative' + }] + }; + const classList = info.classList.map(items => ({ + name: 'classes', + type: 'listbox', + label: 'Class', + items + })); + const caption = { + type: 'label', + label: 'Caption', + items: [{ + type: 'checkbox', + name: 'caption', + label: 'Show caption' + }] + }; + const getDialogContainerType = useColumns => useColumns ? { + type: 'grid', + columns: 2 + } : { type: 'panel' }; + return flatten([ + [imageUrl], + imageList.toArray(), + info.hasAccessibilityOptions && info.hasDescription ? [isDecorative] : [], + info.hasDescription ? [imageDescription] : [], + info.hasImageTitle ? [imageTitle] : [], + info.hasDimensions ? [imageDimensions] : [], + [{ + ...getDialogContainerType(info.classList.isSome() && info.hasImageCaption), + items: flatten([ + classList.toArray(), + info.hasImageCaption ? [caption] : [] + ]) + }] + ]); + }; + const makeTab$1 = info => ({ + title: 'General', + name: 'general', + items: makeItems(info) + }); + const MainTab = { + makeTab: makeTab$1, + makeItems + }; + + const makeTab = _info => { + const items = [{ + type: 'dropzone', + name: 'fileinput' + }]; + return { + title: 'Upload', + name: 'upload', + items + }; + }; + const UploadTab = { makeTab }; + + const createState = info => ({ + prevImage: ListUtils.findEntry(info.imageList, info.image.src), + prevAlt: info.image.alt, + open: true + }); + const fromImageData = image => ({ + src: { + value: image.src, + meta: {} + }, + images: image.src, + alt: image.alt, + title: image.title, + dimensions: { + width: image.width, + height: image.height + }, + classes: image.class, + caption: image.caption, + style: image.style, + vspace: image.vspace, + border: image.border, + hspace: image.hspace, + borderstyle: image.borderStyle, + fileinput: [], + isDecorative: image.isDecorative + }); + const toImageData = (data, removeEmptyAlt) => ({ + src: data.src.value, + alt: (data.alt === null || data.alt.length === 0) && removeEmptyAlt ? null : data.alt, + title: data.title, + width: data.dimensions.width, + height: data.dimensions.height, + class: data.classes, + style: data.style, + caption: data.caption, + hspace: data.hspace, + vspace: data.vspace, + border: data.border, + borderStyle: data.borderstyle, + isDecorative: data.isDecorative + }); + const addPrependUrl2 = (info, srcURL) => { + if (!/^(?:[a-zA-Z]+:)?\/\//.test(srcURL)) { + return info.prependURL.bind(prependUrl => { + if (srcURL.substring(0, prependUrl.length) !== prependUrl) { + return Optional.some(prependUrl + srcURL); + } + return Optional.none(); + }); + } + return Optional.none(); + }; + const addPrependUrl = (info, api) => { + const data = api.getData(); + addPrependUrl2(info, data.src.value).each(srcURL => { + api.setData({ + src: { + value: srcURL, + meta: data.src.meta + } + }); + }); + }; + const formFillFromMeta2 = (info, data, meta) => { + if (info.hasDescription && isString(meta.alt)) { + data.alt = meta.alt; + } + if (info.hasAccessibilityOptions) { + data.isDecorative = meta.isDecorative || data.isDecorative || false; + } + if (info.hasImageTitle && isString(meta.title)) { + data.title = meta.title; + } + if (info.hasDimensions) { + if (isString(meta.width)) { + data.dimensions.width = meta.width; + } + if (isString(meta.height)) { + data.dimensions.height = meta.height; + } + } + if (isString(meta.class)) { + ListUtils.findEntry(info.classList, meta.class).each(entry => { + data.classes = entry.value; + }); + } + if (info.hasImageCaption) { + if (isBoolean(meta.caption)) { + data.caption = meta.caption; + } + } + if (info.hasAdvTab) { + if (isString(meta.style)) { + data.style = meta.style; + } + if (isString(meta.vspace)) { + data.vspace = meta.vspace; + } + if (isString(meta.border)) { + data.border = meta.border; + } + if (isString(meta.hspace)) { + data.hspace = meta.hspace; + } + if (isString(meta.borderstyle)) { + data.borderstyle = meta.borderstyle; + } + } + }; + const formFillFromMeta = (info, api) => { + const data = api.getData(); + const meta = data.src.meta; + if (meta !== undefined) { + const newData = deepMerge({}, data); + formFillFromMeta2(info, newData, meta); + api.setData(newData); + } + }; + const calculateImageSize = (helpers, info, state, api) => { + const data = api.getData(); + const url = data.src.value; + const meta = data.src.meta || {}; + if (!meta.width && !meta.height && info.hasDimensions) { + if (isNotEmpty(url)) { + helpers.imageSize(url).then(size => { + if (state.open) { + api.setData({ dimensions: size }); + } + }).catch(e => console.error(e)); + } else { + api.setData({ + dimensions: { + width: '', + height: '' + } + }); + } + } + }; + const updateImagesDropdown = (info, state, api) => { + const data = api.getData(); + const image = ListUtils.findEntry(info.imageList, data.src.value); + state.prevImage = image; + api.setData({ images: image.map(entry => entry.value).getOr('') }); + }; + const changeSrc = (helpers, info, state, api) => { + addPrependUrl(info, api); + formFillFromMeta(info, api); + calculateImageSize(helpers, info, state, api); + updateImagesDropdown(info, state, api); + }; + const changeImages = (helpers, info, state, api) => { + const data = api.getData(); + const image = ListUtils.findEntry(info.imageList, data.images); + image.each(img => { + const updateAlt = data.alt === '' || state.prevImage.map(image => image.text === data.alt).getOr(false); + if (updateAlt) { + if (img.value === '') { + api.setData({ + src: img, + alt: state.prevAlt + }); + } else { + api.setData({ + src: img, + alt: img.text + }); + } + } else { + api.setData({ src: img }); + } + }); + state.prevImage = image; + changeSrc(helpers, info, state, api); + }; + const changeFileInput = (helpers, info, state, api) => { + const data = api.getData(); + api.block('Uploading image'); + head(data.fileinput).fold(() => { + api.unblock(); + }, file => { + const blobUri = URL.createObjectURL(file); + const finalize = () => { + api.unblock(); + URL.revokeObjectURL(blobUri); + }; + const updateSrcAndSwitchTab = url => { + api.setData({ + src: { + value: url, + meta: {} + } + }); + api.showTab('general'); + changeSrc(helpers, info, state, api); + }; + blobToDataUri(file).then(dataUrl => { + const blobInfo = helpers.createBlobCache(file, blobUri, dataUrl); + if (info.automaticUploads) { + helpers.uploadImage(blobInfo).then(result => { + updateSrcAndSwitchTab(result.url); + finalize(); + }).catch(err => { + finalize(); + helpers.alertErr(err); + }); + } else { + helpers.addToBlobCache(blobInfo); + updateSrcAndSwitchTab(blobInfo.blobUri()); + api.unblock(); + } + }); + }); + }; + const changeHandler = (helpers, info, state) => (api, evt) => { + if (evt.name === 'src') { + changeSrc(helpers, info, state, api); + } else if (evt.name === 'images') { + changeImages(helpers, info, state, api); + } else if (evt.name === 'alt') { + state.prevAlt = api.getData().alt; + } else if (evt.name === 'fileinput') { + changeFileInput(helpers, info, state, api); + } else if (evt.name === 'isDecorative') { + api.setEnabled('alt', !api.getData().isDecorative); + } + }; + const closeHandler = state => () => { + state.open = false; + }; + const makeDialogBody = info => { + if (info.hasAdvTab || info.hasUploadUrl || info.hasUploadHandler) { + const tabPanel = { + type: 'tabpanel', + tabs: flatten([ + [MainTab.makeTab(info)], + info.hasAdvTab ? [AdvTab.makeTab(info)] : [], + info.hasUploadTab && (info.hasUploadUrl || info.hasUploadHandler) ? [UploadTab.makeTab(info)] : [] + ]) + }; + return tabPanel; + } else { + const panel = { + type: 'panel', + items: MainTab.makeItems(info) + }; + return panel; + } + }; + const submitHandler = (editor, info, helpers) => api => { + const data = deepMerge(fromImageData(info.image), api.getData()); + const finalData = { + ...data, + style: getStyleValue(helpers.normalizeCss, toImageData(data, false)) + }; + editor.execCommand('mceUpdateImage', false, toImageData(finalData, info.hasAccessibilityOptions)); + editor.editorUpload.uploadImagesAuto(); + api.close(); + }; + const imageSize = editor => url => { + if (!isSafeImageUrl(editor, url)) { + return Promise.resolve({ + width: '', + height: '' + }); + } else { + return getImageSize(editor.documentBaseURI.toAbsolute(url)).then(dimensions => ({ + width: String(dimensions.width), + height: String(dimensions.height) + })); + } + }; + const createBlobCache = editor => (file, blobUri, dataUrl) => { + var _a; + return editor.editorUpload.blobCache.create({ + blob: file, + blobUri, + name: (_a = file.name) === null || _a === void 0 ? void 0 : _a.replace(/\.[^\.]+$/, ''), + filename: file.name, + base64: dataUrl.split(',')[1] + }); + }; + const addToBlobCache = editor => blobInfo => { + editor.editorUpload.blobCache.add(blobInfo); + }; + const alertErr = editor => message => { + editor.windowManager.alert(message); + }; + const normalizeCss = editor => cssText => normalizeCss$1(editor, cssText); + const parseStyle = editor => cssText => editor.dom.parseStyle(cssText); + const serializeStyle = editor => (stylesArg, name) => editor.dom.serializeStyle(stylesArg, name); + const uploadImage = editor => blobInfo => global$1(editor).upload([blobInfo], false).then(results => { + var _a; + if (results.length === 0) { + return Promise.reject('Failed to upload image'); + } else if (results[0].status === false) { + return Promise.reject((_a = results[0].error) === null || _a === void 0 ? void 0 : _a.message); + } else { + return results[0]; + } + }); + const Dialog = editor => { + const helpers = { + imageSize: imageSize(editor), + addToBlobCache: addToBlobCache(editor), + createBlobCache: createBlobCache(editor), + alertErr: alertErr(editor), + normalizeCss: normalizeCss(editor), + parseStyle: parseStyle(editor), + serializeStyle: serializeStyle(editor), + uploadImage: uploadImage(editor) + }; + const open = () => { + collect(editor).then(info => { + const state = createState(info); + return { + title: 'Insert/Edit Image', + size: 'normal', + body: makeDialogBody(info), + buttons: [ + { + type: 'cancel', + name: 'cancel', + text: 'Cancel' + }, + { + type: 'submit', + name: 'save', + text: 'Save', + primary: true + } + ], + initialData: fromImageData(info.image), + onSubmit: submitHandler(editor, info, helpers), + onChange: changeHandler(helpers, info, state), + onClose: closeHandler(state) + }; + }).then(editor.windowManager.open); + }; + return { open }; + }; + + const register$1 = editor => { + editor.addCommand('mceImage', Dialog(editor).open); + editor.addCommand('mceUpdateImage', (_ui, data) => { + editor.undoManager.transact(() => insertOrUpdateImage(editor, data)); + }); + }; + + const hasImageClass = node => { + const className = node.attr('class'); + return isNonNullable(className) && /\bimage\b/.test(className); + }; + const toggleContentEditableState = state => nodes => { + let i = nodes.length; + const toggleContentEditable = node => { + node.attr('contenteditable', state ? 'true' : null); + }; + while (i--) { + const node = nodes[i]; + if (hasImageClass(node)) { + node.attr('contenteditable', state ? 'false' : null); + global.each(node.getAll('figcaption'), toggleContentEditable); + } + } + }; + const setup = editor => { + editor.on('PreInit', () => { + editor.parser.addNodeFilter('figure', toggleContentEditableState(true)); + editor.serializer.addNodeFilter('figure', toggleContentEditableState(false)); + }); + }; + + const onSetupEditable = editor => api => { + const nodeChanged = () => { + api.setEnabled(editor.selection.isEditable()); + }; + editor.on('NodeChange', nodeChanged); + nodeChanged(); + return () => { + editor.off('NodeChange', nodeChanged); + }; + }; + const register = editor => { + editor.ui.registry.addToggleButton('image', { + icon: 'image', + tooltip: 'Insert/edit image', + onAction: Dialog(editor).open, + onSetup: buttonApi => { + buttonApi.setActive(isNonNullable(getSelectedImage(editor))); + const unbindSelectorChanged = editor.selection.selectorChangedWithUnbind('img:not([data-mce-object]):not([data-mce-placeholder]),figure.image', buttonApi.setActive).unbind; + const unbindEditable = onSetupEditable(editor)(buttonApi); + return () => { + unbindSelectorChanged(); + unbindEditable(); + }; + } + }); + editor.ui.registry.addMenuItem('image', { + icon: 'image', + text: 'Image...', + onAction: Dialog(editor).open, + onSetup: onSetupEditable(editor) + }); + editor.ui.registry.addContextMenu('image', { update: element => editor.selection.isEditable() && (isFigure(element) || isImage(element) && !isPlaceholderImage(element)) ? ['image'] : [] }); + }; + + var Plugin = () => { + global$4.add('image', editor => { + register$2(editor); + setup(editor); + register(editor); + register$1(editor); + }); + }; + + Plugin(); + +})(); diff --git a/public/tools/cloud_notes/tinymce/plugins/image/plugin.min.js b/public/tools/cloud_notes/tinymce/plugins/image/plugin.min.js new file mode 100644 index 0000000..0fa3f5f --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/image/plugin.min.js @@ -0,0 +1,4 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ +!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=Object.getPrototypeOf,a=(e,t,a)=>{var i;return!!a(e,t.prototype)||(null===(i=e.constructor)||void 0===i?void 0:i.name)===t.name},i=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&a(e,String,((e,t)=>t.isPrototypeOf(e)))?"string":t})(t)===e,s=e=>t=>typeof t===e,r=i("string"),o=i("object"),n=e=>((e,i)=>o(e)&&a(e,i,((e,a)=>t(e)===a)))(e,Object),l=i("array"),c=(null,e=>null===e);const m=s("boolean"),d=e=>!(e=>null==e)(e),g=s("function"),u=s("number"),p=()=>{};class h{constructor(e,t){this.tag=e,this.value=t}static some(e){return new h(!0,e)}static none(){return h.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?h.some(e(this.value)):h.none()}bind(e){return this.tag?e(this.value):h.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:h.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return d(e)?h.some(e):h.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}h.singletonNone=new h(!1);const b=Object.keys,v=Object.hasOwnProperty,y=(e,t)=>v.call(e,t),f=Array.prototype.push,w=e=>{const t=[];for(let a=0,i=e.length;a{((e,t,a)=>{if(!(r(a)||m(a)||u(a)))throw console.error("Invalid call to Attribute.set. Key ",t,":: Value ",a,":: Element ",e),new Error("Attribute value was not simple");e.setAttribute(t,a+"")})(e.dom,t,a)},D=e=>{if(null==e)throw new Error("Node cannot be null or undefined");return{dom:e}},_=D;var C=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),I=tinymce.util.Tools.resolve("tinymce.util.URI");const U=e=>e.length>0,x=e=>t=>t.options.get(e),S=x("image_dimensions"),N=x("image_advtab"),T=x("image_uploadtab"),O=x("image_prepend_url"),E=x("image_class_list"),L=x("image_description"),j=x("image_title"),M=x("image_caption"),R=x("image_list"),k=x("a11y_advanced_options"),z=x("automatic_uploads"),B=(e,t)=>Math.max(parseInt(e,10),parseInt(t,10)),P=e=>(e&&(e=e.replace(/px$/,"")),e),F=e=>(e.length>0&&/^[0-9]+$/.test(e)&&(e+="px"),e),H=e=>"IMG"===e.nodeName&&(e.hasAttribute("data-mce-object")||e.hasAttribute("data-mce-placeholder")),G=(e,t)=>{const a=e.options.get;return I.isDomSafe(t,"img",{allow_html_data_urls:a("allow_html_data_urls"),allow_script_urls:a("allow_script_urls"),allow_svg_data_urls:a("allow_svg_data_urls")})},W=C.DOM,$=e=>e.style.marginLeft&&e.style.marginRight&&e.style.marginLeft===e.style.marginRight?P(e.style.marginLeft):"",V=e=>e.style.marginTop&&e.style.marginBottom&&e.style.marginTop===e.style.marginBottom?P(e.style.marginTop):"",K=e=>e.style.borderWidth?P(e.style.borderWidth):"",Z=(e,t)=>{var a;return e.hasAttribute(t)&&null!==(a=e.getAttribute(t))&&void 0!==a?a:""},q=e=>null!==e.parentNode&&"FIGURE"===e.parentNode.nodeName,J=(e,t,a)=>{""===a||null===a?e.removeAttribute(t):e.setAttribute(t,a)},Q=(e,t)=>{const a=e.getAttribute("style"),i=t(null!==a?a:"");i.length>0?(e.setAttribute("style",i),e.setAttribute("data-mce-style",i)):e.removeAttribute("style")},X=(e,t)=>(e,a,i)=>{const s=e.style;s[a]?(s[a]=F(i),Q(e,t)):J(e,a,i)},Y=(e,t)=>e.style[t]?P(e.style[t]):Z(e,t),ee=(e,t)=>{const a=F(t);e.style.marginLeft=a,e.style.marginRight=a},te=(e,t)=>{const a=F(t);e.style.marginTop=a,e.style.marginBottom=a},ae=(e,t)=>{const a=F(t);e.style.borderWidth=a},ie=(e,t)=>{e.style.borderStyle=t},se=e=>{var t;return null!==(t=e.style.borderStyle)&&void 0!==t?t:""},re=e=>d(e)&&"FIGURE"===e.nodeName,oe=e=>0===W.getAttrib(e,"alt").length&&"presentation"===W.getAttrib(e,"role"),ne=e=>oe(e)?"":Z(e,"alt"),le=(e,t)=>{var a;const i=document.createElement("img");return J(i,"style",t.style),($(i)||""!==t.hspace)&&ee(i,t.hspace),(V(i)||""!==t.vspace)&&te(i,t.vspace),(K(i)||""!==t.border)&&ae(i,t.border),(se(i)||""!==t.borderStyle)&&ie(i,t.borderStyle),e(null!==(a=i.getAttribute("style"))&&void 0!==a?a:"")},ce=(e,t)=>({src:Z(t,"src"),alt:ne(t),title:Z(t,"title"),width:Y(t,"width"),height:Y(t,"height"),class:Z(t,"class"),style:e(Z(t,"style")),caption:q(t),hspace:$(t),vspace:V(t),border:K(t),borderStyle:se(t),isDecorative:oe(t)}),me=(e,t,a,i,s)=>{a[i]!==t[i]&&s(e,i,String(a[i]))},de=(e,t,a)=>{if(a){W.setAttrib(e,"role","presentation");const t=_(e);A(t,"alt","")}else{if(c(t)){"alt",_(e).dom.removeAttribute("alt")}else{const a=_(e);A(a,"alt",t)}"presentation"===W.getAttrib(e,"role")&&W.setAttrib(e,"role","")}},ge=(e,t)=>(a,i,s)=>{e(a,s),Q(a,t)},ue=(e,t,a)=>{const i=ce(e,a);me(a,i,t,"caption",((e,t,a)=>(e=>{q(e)?(e=>{const t=e.parentNode;d(t)&&(W.insertAfter(e,t),W.remove(t))})(e):(e=>{const t=W.create("figure",{class:"image"});W.insertAfter(t,e),t.appendChild(e),t.appendChild(W.create("figcaption",{contentEditable:"true"},"Caption")),t.contentEditable="false"})(e)})(e))),me(a,i,t,"src",J),me(a,i,t,"title",J),me(a,i,t,"width",X(0,e)),me(a,i,t,"height",X(0,e)),me(a,i,t,"class",J),me(a,i,t,"style",ge(((e,t)=>J(e,"style",t)),e)),me(a,i,t,"hspace",ge(ee,e)),me(a,i,t,"vspace",ge(te,e)),me(a,i,t,"border",ge(ae,e)),me(a,i,t,"borderStyle",ge(ie,e)),((e,t,a)=>{a.alt===t.alt&&a.isDecorative===t.isDecorative||de(e,a.alt,a.isDecorative)})(a,i,t)},pe=(e,t)=>{const a=(e=>{if(e.margin){const t=String(e.margin).split(" ");switch(t.length){case 1:e["margin-top"]=e["margin-top"]||t[0],e["margin-right"]=e["margin-right"]||t[0],e["margin-bottom"]=e["margin-bottom"]||t[0],e["margin-left"]=e["margin-left"]||t[0];break;case 2:e["margin-top"]=e["margin-top"]||t[0],e["margin-right"]=e["margin-right"]||t[1],e["margin-bottom"]=e["margin-bottom"]||t[0],e["margin-left"]=e["margin-left"]||t[1];break;case 3:e["margin-top"]=e["margin-top"]||t[0],e["margin-right"]=e["margin-right"]||t[1],e["margin-bottom"]=e["margin-bottom"]||t[2],e["margin-left"]=e["margin-left"]||t[1];break;case 4:e["margin-top"]=e["margin-top"]||t[0],e["margin-right"]=e["margin-right"]||t[1],e["margin-bottom"]=e["margin-bottom"]||t[2],e["margin-left"]=e["margin-left"]||t[3]}delete e.margin}return e})(e.dom.styles.parse(t)),i=e.dom.styles.parse(e.dom.styles.serialize(a));return e.dom.styles.serialize(i)},he=e=>{const t=e.selection.getNode(),a=e.dom.getParent(t,"figure.image");return a?e.dom.select("img",a)[0]:t&&("IMG"!==t.nodeName||H(t))?null:t},be=(e,t)=>{var a;const i=e.dom,s=((t,a)=>{const i={};var s;return((e,t,a,i)=>{((e,t)=>{const a=b(e);for(let i=0,s=a.length;i{(t(e,s)?a:i)(e,s)}))})(t,((t,a)=>!e.schema.isValidChild(a,"figure")),(s=i,(e,t)=>{s[t]=e}),p),i})(e.schema.getTextBlockElements()),r=i.getParent(t.parentNode,(e=>{return t=s,a=e.nodeName,y(t,a)&&void 0!==t[a]&&null!==t[a];var t,a}),e.getBody());return r&&null!==(a=i.split(r,t))&&void 0!==a?a:t},ve=(e,t)=>{const a=((t,a)=>{const i=document.createElement("img");if(ue((t=>pe(e,t)),{...a,caption:!1},i),de(i,a.alt,a.isDecorative),a.caption){const e=W.create("figure",{class:"image"});return e.appendChild(i),e.appendChild(W.create("figcaption",{contentEditable:"true"},"Caption")),e.contentEditable="false",e}return i})(0,t);e.dom.setAttrib(a,"data-mce-id","__mcenew"),e.focus(),e.selection.setContent(a.outerHTML);const i=e.dom.select('*[data-mce-id="__mcenew"]')[0];if(e.dom.setAttrib(i,"data-mce-id",null),re(i)){const t=be(e,i);e.selection.select(t)}else e.selection.select(i)},ye=(e,t)=>{const a=he(e);if(a){const i={...ce((t=>pe(e,t)),a),...t},s=((e,t)=>{const a=t.src;return{...t,src:G(e,a)?a:""}})(e,i);i.src?((e,t)=>{const a=he(e);if(a)if(ue((t=>pe(e,t)),t,a),((e,t)=>{e.dom.setAttrib(t,"src",t.getAttribute("src"))})(e,a),re(a.parentNode)){const t=a.parentNode;be(e,t),e.selection.select(a.parentNode)}else e.selection.select(a),((e,t,a)=>{const i=()=>{a.onload=a.onerror=null,e.selection&&(e.selection.select(a),e.nodeChanged())};a.onload=()=>{t.width||t.height||!S(e)||e.dom.setAttribs(a,{width:String(a.clientWidth),height:String(a.clientHeight)}),i()},a.onerror=i})(e,t,a)})(e,s):((e,t)=>{if(t){const a=e.dom.is(t.parentNode,"figure.image")?t.parentNode:t;e.dom.remove(a),e.focus(),e.nodeChanged(),e.dom.isEmpty(e.getBody())&&(e.setContent(""),e.selection.setCursorLocation())}})(e,a)}else t.src&&ve(e,{src:"",alt:"",title:"",width:"",height:"",class:"",style:"",caption:!1,hspace:"",vspace:"",border:"",borderStyle:"",isDecorative:!1,...t})},fe=(we=(e,t)=>n(e)&&n(t)?fe(e,t):t,(...e)=>{if(0===e.length)throw new Error("Can't merge zero objects");const t={};for(let a=0;ar(e.value)?e.value:"",Ce=(e,t)=>{const a=[];return De.each(e,(e=>{const i=(e=>r(e.text)?e.text:r(e.title)?e.title:"")(e);if(void 0!==e.menu){const s=Ce(e.menu,t);a.push({text:i,items:s})}else{const s=t(e);a.push({text:i,value:s})}})),a},Ie=(e=_e)=>t=>t?h.from(t).map((t=>Ce(t,e))):h.none(),Ue=(e,t)=>((e,a)=>{for(let a=0;ay(e,"items"))(i=e[a])?Ue(i.items,t):i.value===t?h.some(i):h.none();if(s.isSome())return s}var i;return h.none()})(e),xe=Ie,Se=(e,t)=>e.bind((e=>Ue(e,t))),Ne=e=>{const t=xe((t=>e.convertURL(t.value||t.url||"","src"))),a=new Promise((a=>{((e,t)=>{const a=R(e);r(a)?fetch(a).then((e=>{e.ok&&e.json().then(t)})):g(a)?a(t):t(a)})(e,(e=>{a(t(e).map((e=>w([[{text:"None",value:""}],e]))))}))})),i=(A=E(e),Ie(_e)(A)),s=N(e),o=T(e),n=(e=>U(e.options.get("images_upload_url")))(e),l=(e=>d(e.options.get("images_upload_handler")))(e),c=(e=>{const t=he(e);return t?ce((t=>pe(e,t)),t):{src:"",alt:"",title:"",width:"",height:"",class:"",style:"",caption:!1,hspace:"",vspace:"",border:"",borderStyle:"",isDecorative:!1}})(e),m=L(e),u=j(e),p=S(e),b=M(e),v=k(e),y=z(e),f=h.some(O(e)).filter((e=>r(e)&&e.length>0));var A;return a.then((e=>({image:c,imageList:e,classList:i,hasAdvTab:s,hasUploadTab:o,hasUploadUrl:n,hasUploadHandler:l,hasDescription:m,hasImageTitle:u,hasDimensions:p,hasImageCaption:b,prependURL:f,hasAccessibilityOptions:v,automaticUploads:y})))},Te=e=>{const t=e.imageList.map((e=>({name:"images",type:"listbox",label:"Image list",items:e}))),a={name:"alt",type:"input",label:"Alternative description",enabled:!(e.hasAccessibilityOptions&&e.image.isDecorative)},i=e.classList.map((e=>({name:"classes",type:"listbox",label:"Class",items:e})));return w([[{name:"src",type:"urlinput",filetype:"image",label:"Source",picker_text:"Browse files"}],t.toArray(),e.hasAccessibilityOptions&&e.hasDescription?[{type:"label",label:"Accessibility",items:[{name:"isDecorative",type:"checkbox",label:"Image is decorative"}]}]:[],e.hasDescription?[a]:[],e.hasImageTitle?[{name:"title",type:"input",label:"Image title"}]:[],e.hasDimensions?[{name:"dimensions",type:"sizeinput"}]:[],[{...(s=e.classList.isSome()&&e.hasImageCaption,s?{type:"grid",columns:2}:{type:"panel"}),items:w([i.toArray(),e.hasImageCaption?[{type:"label",label:"Caption",items:[{type:"checkbox",name:"caption",label:"Show caption"}]}]:[]])}]]);var s},Oe=e=>({title:"General",name:"general",items:Te(e)}),Ee=Te,Le=e=>({src:{value:e.src,meta:{}},images:e.src,alt:e.alt,title:e.title,dimensions:{width:e.width,height:e.height},classes:e.class,caption:e.caption,style:e.style,vspace:e.vspace,border:e.border,hspace:e.hspace,borderstyle:e.borderStyle,fileinput:[],isDecorative:e.isDecorative}),je=(e,t)=>({src:e.src.value,alt:null!==e.alt&&0!==e.alt.length||!t?e.alt:null,title:e.title,width:e.dimensions.width,height:e.dimensions.height,class:e.classes,style:e.style,caption:e.caption,hspace:e.hspace,vspace:e.vspace,border:e.border,borderStyle:e.borderstyle,isDecorative:e.isDecorative}),Me=(e,t,a,i)=>{((e,t)=>{const a=t.getData();((e,t)=>/^(?:[a-zA-Z]+:)?\/\//.test(t)?h.none():e.prependURL.bind((e=>t.substring(0,e.length)!==e?h.some(e+t):h.none())))(e,a.src.value).each((e=>{t.setData({src:{value:e,meta:a.src.meta}})}))})(t,i),((e,t)=>{const a=t.getData(),i=a.src.meta;if(void 0!==i){const s=fe({},a);((e,t,a)=>{e.hasDescription&&r(a.alt)&&(t.alt=a.alt),e.hasAccessibilityOptions&&(t.isDecorative=a.isDecorative||t.isDecorative||!1),e.hasImageTitle&&r(a.title)&&(t.title=a.title),e.hasDimensions&&(r(a.width)&&(t.dimensions.width=a.width),r(a.height)&&(t.dimensions.height=a.height)),r(a.class)&&Se(e.classList,a.class).each((e=>{t.classes=e.value})),e.hasImageCaption&&m(a.caption)&&(t.caption=a.caption),e.hasAdvTab&&(r(a.style)&&(t.style=a.style),r(a.vspace)&&(t.vspace=a.vspace),r(a.border)&&(t.border=a.border),r(a.hspace)&&(t.hspace=a.hspace),r(a.borderstyle)&&(t.borderstyle=a.borderstyle))})(e,s,i),t.setData(s)}})(t,i),((e,t,a,i)=>{const s=i.getData(),r=s.src.value,o=s.src.meta||{};o.width||o.height||!t.hasDimensions||(U(r)?e.imageSize(r).then((e=>{a.open&&i.setData({dimensions:e})})).catch((e=>console.error(e))):i.setData({dimensions:{width:"",height:""}}))})(e,t,a,i),((e,t,a)=>{const i=a.getData(),s=Se(e.imageList,i.src.value);t.prevImage=s,a.setData({images:s.map((e=>e.value)).getOr("")})})(t,a,i)},Re=(e,t,a,i)=>{const s=i.getData();var r;i.block("Uploading image"),(r=s.fileinput,((e,t)=>0{i.unblock()}),(s=>{const r=URL.createObjectURL(s),o=()=>{i.unblock(),URL.revokeObjectURL(r)},n=s=>{i.setData({src:{value:s,meta:{}}}),i.showTab("general"),Me(e,t,a,i)};var l;(l=s,new Promise(((e,t)=>{const a=new FileReader;a.onload=()=>{e(a.result)},a.onerror=()=>{var e;t(null===(e=a.error)||void 0===e?void 0:e.message)},a.readAsDataURL(l)}))).then((a=>{const l=e.createBlobCache(s,r,a);t.automaticUploads?e.uploadImage(l).then((e=>{n(e.url),o()})).catch((t=>{o(),e.alertErr(t)})):(e.addToBlobCache(l),n(l.blobUri()),i.unblock())}))}))},ke=(e,t,a)=>(i,s)=>{"src"===s.name?Me(e,t,a,i):"images"===s.name?((e,t,a,i)=>{const s=i.getData(),r=Se(t.imageList,s.images);r.each((e=>{const t=""===s.alt||a.prevImage.map((e=>e.text===s.alt)).getOr(!1);t?""===e.value?i.setData({src:e,alt:a.prevAlt}):i.setData({src:e,alt:e.text}):i.setData({src:e})})),a.prevImage=r,Me(e,t,a,i)})(e,t,a,i):"alt"===s.name?a.prevAlt=i.getData().alt:"fileinput"===s.name?Re(e,t,a,i):"isDecorative"===s.name&&i.setEnabled("alt",!i.getData().isDecorative)},ze=e=>()=>{e.open=!1},Be=e=>e.hasAdvTab||e.hasUploadUrl||e.hasUploadHandler?{type:"tabpanel",tabs:w([[Oe(e)],e.hasAdvTab?[{title:"Advanced",name:"advanced",items:[{type:"grid",columns:2,items:[{type:"input",label:"Vertical space",name:"vspace",inputMode:"numeric"},{type:"input",label:"Horizontal space",name:"hspace",inputMode:"numeric"},{type:"input",label:"Border width",name:"border",inputMode:"numeric"},{type:"listbox",name:"borderstyle",label:"Border style",items:[{text:"Select...",value:""},{text:"Solid",value:"solid"},{text:"Dotted",value:"dotted"},{text:"Dashed",value:"dashed"},{text:"Double",value:"double"},{text:"Groove",value:"groove"},{text:"Ridge",value:"ridge"},{text:"Inset",value:"inset"},{text:"Outset",value:"outset"},{text:"None",value:"none"},{text:"Hidden",value:"hidden"}]}]}]}]:[],e.hasUploadTab&&(e.hasUploadUrl||e.hasUploadHandler)?[{title:"Upload",name:"upload",items:[{type:"dropzone",name:"fileinput"}]}]:[]])}:{type:"panel",items:Ee(e)},Pe=(e,t,a)=>i=>{const s=fe(Le(t.image),i.getData()),r={...s,style:le(a.normalizeCss,je(s,!1))};e.execCommand("mceUpdateImage",!1,je(r,t.hasAccessibilityOptions)),e.editorUpload.uploadImagesAuto(),i.close()},Fe=e=>t=>G(e,t)?(e=>new Promise((t=>{const a=document.createElement("img"),i=e=>{a.onload=a.onerror=null,a.parentNode&&a.parentNode.removeChild(a),t(e)};a.onload=()=>{const e={width:B(a.width,a.clientWidth),height:B(a.height,a.clientHeight)};i(Promise.resolve(e))},a.onerror=()=>{i(Promise.reject(`Failed to get image dimensions for: ${e}`))};const s=a.style;s.visibility="hidden",s.position="fixed",s.bottom=s.left="0px",s.width=s.height="auto",document.body.appendChild(a),a.src=e})))(e.documentBaseURI.toAbsolute(t)).then((e=>({width:String(e.width),height:String(e.height)}))):Promise.resolve({width:"",height:""}),He=e=>(t,a,i)=>{var s;return e.editorUpload.blobCache.create({blob:t,blobUri:a,name:null===(s=t.name)||void 0===s?void 0:s.replace(/\.[^\.]+$/,""),filename:t.name,base64:i.split(",")[1]})},Ge=e=>t=>{e.editorUpload.blobCache.add(t)},We=e=>t=>{e.windowManager.alert(t)},$e=e=>t=>pe(e,t),Ve=e=>t=>e.dom.parseStyle(t),Ke=e=>(t,a)=>e.dom.serializeStyle(t,a),Ze=e=>t=>Ae(e).upload([t],!1).then((e=>{var t;return 0===e.length?Promise.reject("Failed to upload image"):!1===e[0].status?Promise.reject(null===(t=e[0].error)||void 0===t?void 0:t.message):e[0]})),qe=e=>{const t={imageSize:Fe(e),addToBlobCache:Ge(e),createBlobCache:He(e),alertErr:We(e),normalizeCss:$e(e),parseStyle:Ve(e),serializeStyle:Ke(e),uploadImage:Ze(e)};return{open:()=>{Ne(e).then((a=>{const i=(e=>({prevImage:Se(e.imageList,e.image.src),prevAlt:e.image.alt,open:!0}))(a);return{title:"Insert/Edit Image",size:"normal",body:Be(a),buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:Le(a.image),onSubmit:Pe(e,a,t),onChange:ke(t,a,i),onClose:ze(i)}})).then(e.windowManager.open)}}},Je=e=>{const t=e.attr("class");return d(t)&&/\bimage\b/.test(t)},Qe=e=>t=>{let a=t.length;const i=t=>{t.attr("contenteditable",e?"true":null)};for(;a--;){const s=t[a];Je(s)&&(s.attr("contenteditable",e?"false":null),De.each(s.getAll("figcaption"),i))}},Xe=e=>t=>{const a=()=>{t.setEnabled(e.selection.isEditable())};return e.on("NodeChange",a),a(),()=>{e.off("NodeChange",a)}};e.add("image",(e=>{(e=>{const t=e.options.register;t("image_dimensions",{processor:"boolean",default:!0}),t("image_advtab",{processor:"boolean",default:!1}),t("image_uploadtab",{processor:"boolean",default:!0}),t("image_prepend_url",{processor:"string",default:""}),t("image_class_list",{processor:"object[]"}),t("image_description",{processor:"boolean",default:!0}),t("image_title",{processor:"boolean",default:!1}),t("image_caption",{processor:"boolean",default:!1}),t("image_list",{processor:e=>{const t=!1===e||r(e)||((e,t)=>{if(l(e)){for(let a=0,i=e.length;a{e.on("PreInit",(()=>{e.parser.addNodeFilter("figure",Qe(!0)),e.serializer.addNodeFilter("figure",Qe(!1))}))})(e),(e=>{e.ui.registry.addToggleButton("image",{icon:"image",tooltip:"Insert/edit image",onAction:qe(e).open,onSetup:t=>{t.setActive(d(he(e)));const a=e.selection.selectorChangedWithUnbind("img:not([data-mce-object]):not([data-mce-placeholder]),figure.image",t.setActive).unbind,i=Xe(e)(t);return()=>{a(),i()}}}),e.ui.registry.addMenuItem("image",{icon:"image",text:"Image...",onAction:qe(e).open,onSetup:Xe(e)}),e.ui.registry.addContextMenu("image",{update:t=>e.selection.isEditable()&&(re(t)||"IMG"===t.nodeName&&!H(t))?["image"]:[]})})(e),(e=>{e.addCommand("mceImage",qe(e).open),e.addCommand("mceUpdateImage",((t,a)=>{e.undoManager.transact((()=>ye(e,a)))}))})(e)}))}(); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/importcss/index.js b/public/tools/cloud_notes/tinymce/plugins/importcss/index.js new file mode 100644 index 0000000..b78264c --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/importcss/index.js @@ -0,0 +1,7 @@ +// Exports the "importcss" plugin for usage with module loaders +// Usage: +// CommonJS: +// require('tinymce/plugins/importcss') +// ES2015: +// import 'tinymce/plugins/importcss' +require('./plugin.js'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/importcss/plugin.js b/public/tools/cloud_notes/tinymce/plugins/importcss/plugin.js new file mode 100644 index 0000000..2991031 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/importcss/plugin.js @@ -0,0 +1,344 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ + +(function () { + 'use strict'; + + var global$4 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + const hasProto = (v, constructor, predicate) => { + var _a; + if (predicate(v, constructor.prototype)) { + return true; + } else { + return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name; + } + }; + const typeOf = x => { + const t = typeof x; + if (x === null) { + return 'null'; + } else if (t === 'object' && Array.isArray(x)) { + return 'array'; + } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) { + return 'string'; + } else { + return t; + } + }; + const isType = type => value => typeOf(value) === type; + const isSimpleType = type => value => typeof value === type; + const isString = isType('string'); + const isObject = isType('object'); + const isArray = isType('array'); + const isFunction = isSimpleType('function'); + + var global$3 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils'); + + var global$2 = tinymce.util.Tools.resolve('tinymce.EditorManager'); + + var global$1 = tinymce.util.Tools.resolve('tinymce.Env'); + + var global = tinymce.util.Tools.resolve('tinymce.util.Tools'); + + const option = name => editor => editor.options.get(name); + const register = editor => { + const registerOption = editor.options.register; + const filterProcessor = value => isString(value) || isFunction(value) || isObject(value); + registerOption('importcss_merge_classes', { + processor: 'boolean', + default: true + }); + registerOption('importcss_exclusive', { + processor: 'boolean', + default: true + }); + registerOption('importcss_selector_converter', { processor: 'function' }); + registerOption('importcss_selector_filter', { processor: filterProcessor }); + registerOption('importcss_file_filter', { processor: filterProcessor }); + registerOption('importcss_groups', { processor: 'object[]' }); + registerOption('importcss_append', { + processor: 'boolean', + default: false + }); + }; + const shouldMergeClasses = option('importcss_merge_classes'); + const shouldImportExclusive = option('importcss_exclusive'); + const getSelectorConverter = option('importcss_selector_converter'); + const getSelectorFilter = option('importcss_selector_filter'); + const getCssGroups = option('importcss_groups'); + const shouldAppend = option('importcss_append'); + const getFileFilter = option('importcss_file_filter'); + const getSkin = option('skin'); + const getSkinUrl = option('skin_url'); + + const nativePush = Array.prototype.push; + const map = (xs, f) => { + const len = xs.length; + const r = new Array(len); + for (let i = 0; i < len; i++) { + const x = xs[i]; + r[i] = f(x, i); + } + return r; + }; + const flatten = xs => { + const r = []; + for (let i = 0, len = xs.length; i < len; ++i) { + if (!isArray(xs[i])) { + throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs); + } + nativePush.apply(r, xs[i]); + } + return r; + }; + const bind = (xs, f) => flatten(map(xs, f)); + + const generate = () => { + const ungroupedOrder = []; + const groupOrder = []; + const groups = {}; + const addItemToGroup = (groupTitle, itemInfo) => { + if (groups[groupTitle]) { + groups[groupTitle].push(itemInfo); + } else { + groupOrder.push(groupTitle); + groups[groupTitle] = [itemInfo]; + } + }; + const addItem = itemInfo => { + ungroupedOrder.push(itemInfo); + }; + const toFormats = () => { + const groupItems = bind(groupOrder, g => { + const items = groups[g]; + return items.length === 0 ? [] : [{ + title: g, + items + }]; + }); + return groupItems.concat(ungroupedOrder); + }; + return { + addItemToGroup, + addItem, + toFormats + }; + }; + + const internalEditorStyle = /^\.(?:ephox|tiny-pageembed|mce)(?:[.-]+\w+)+$/; + const removeCacheSuffix = url => { + const cacheSuffix = global$1.cacheSuffix; + if (isString(url)) { + url = url.replace('?' + cacheSuffix, '').replace('&' + cacheSuffix, ''); + } + return url; + }; + const isSkinContentCss = (editor, href) => { + const skin = getSkin(editor); + if (skin) { + const skinUrlBase = getSkinUrl(editor); + const skinUrl = skinUrlBase ? editor.documentBaseURI.toAbsolute(skinUrlBase) : global$2.baseURL + '/skins/ui/' + skin; + const contentSkinUrlPart = global$2.baseURL + '/skins/content/'; + return href === skinUrl + '/content' + (editor.inline ? '.inline' : '') + '.min.css' || href.indexOf(contentSkinUrlPart) !== -1; + } + return false; + }; + const compileFilter = filter => { + if (isString(filter)) { + return value => { + return value.indexOf(filter) !== -1; + }; + } else if (filter instanceof RegExp) { + return value => { + return filter.test(value); + }; + } + return filter; + }; + const isCssImportRule = rule => rule.styleSheet; + const isCssPageRule = rule => rule.selectorText; + const getSelectors = (editor, doc, fileFilter) => { + const selectors = []; + const contentCSSUrls = {}; + const append = (styleSheet, imported) => { + let href = styleSheet.href; + let rules; + href = removeCacheSuffix(href); + if (!href || fileFilter && !fileFilter(href, imported) || isSkinContentCss(editor, href)) { + return; + } + global.each(styleSheet.imports, styleSheet => { + append(styleSheet, true); + }); + try { + rules = styleSheet.cssRules || styleSheet.rules; + } catch (e) { + } + global.each(rules, cssRule => { + if (isCssImportRule(cssRule) && cssRule.styleSheet) { + append(cssRule.styleSheet, true); + } else if (isCssPageRule(cssRule)) { + global.each(cssRule.selectorText.split(','), selector => { + selectors.push(global.trim(selector)); + }); + } + }); + }; + global.each(editor.contentCSS, url => { + contentCSSUrls[url] = true; + }); + if (!fileFilter) { + fileFilter = (href, imported) => { + return imported || contentCSSUrls[href]; + }; + } + try { + global.each(doc.styleSheets, styleSheet => { + append(styleSheet); + }); + } catch (e) { + } + return selectors; + }; + const defaultConvertSelectorToFormat = (editor, selectorText) => { + let format = {}; + const selector = /^(?:([a-z0-9\-_]+))?(\.[a-z0-9_\-\.]+)$/i.exec(selectorText); + if (!selector) { + return; + } + const elementName = selector[1]; + const classes = selector[2].substr(1).split('.').join(' '); + const inlineSelectorElements = global.makeMap('a,img'); + if (selector[1]) { + format = { title: selectorText }; + if (editor.schema.getTextBlockElements()[elementName]) { + format.block = elementName; + } else if (editor.schema.getBlockElements()[elementName] || inlineSelectorElements[elementName.toLowerCase()]) { + format.selector = elementName; + } else { + format.inline = elementName; + } + } else if (selector[2]) { + format = { + inline: 'span', + title: selectorText.substr(1), + classes + }; + } + if (shouldMergeClasses(editor)) { + format.classes = classes; + } else { + format.attributes = { class: classes }; + } + return format; + }; + const getGroupsBySelector = (groups, selector) => { + return global.grep(groups, group => { + return !group.filter || group.filter(selector); + }); + }; + const compileUserDefinedGroups = groups => { + return global.map(groups, group => { + return global.extend({}, group, { + original: group, + selectors: {}, + filter: compileFilter(group.filter) + }); + }); + }; + const isExclusiveMode = (editor, group) => { + return group === null || shouldImportExclusive(editor); + }; + const isUniqueSelector = (editor, selector, group, globallyUniqueSelectors) => { + return !(isExclusiveMode(editor, group) ? selector in globallyUniqueSelectors : selector in group.selectors); + }; + const markUniqueSelector = (editor, selector, group, globallyUniqueSelectors) => { + if (isExclusiveMode(editor, group)) { + globallyUniqueSelectors[selector] = true; + } else { + group.selectors[selector] = true; + } + }; + const convertSelectorToFormat = (editor, plugin, selector, group) => { + let selectorConverter; + const converter = getSelectorConverter(editor); + if (group && group.selector_converter) { + selectorConverter = group.selector_converter; + } else if (converter) { + selectorConverter = converter; + } else { + selectorConverter = () => { + return defaultConvertSelectorToFormat(editor, selector); + }; + } + return selectorConverter.call(plugin, selector, group); + }; + const setup = editor => { + editor.on('init', () => { + const model = generate(); + const globallyUniqueSelectors = {}; + const selectorFilter = compileFilter(getSelectorFilter(editor)); + const groups = compileUserDefinedGroups(getCssGroups(editor)); + const processSelector = (selector, group) => { + if (isUniqueSelector(editor, selector, group, globallyUniqueSelectors)) { + markUniqueSelector(editor, selector, group, globallyUniqueSelectors); + const format = convertSelectorToFormat(editor, editor.plugins.importcss, selector, group); + if (format) { + const formatName = format.name || global$3.DOM.uniqueId(); + editor.formatter.register(formatName, format); + return { + title: format.title, + format: formatName + }; + } + } + return null; + }; + global.each(getSelectors(editor, editor.getDoc(), compileFilter(getFileFilter(editor))), selector => { + if (!internalEditorStyle.test(selector)) { + if (!selectorFilter || selectorFilter(selector)) { + const selectorGroups = getGroupsBySelector(groups, selector); + if (selectorGroups.length > 0) { + global.each(selectorGroups, group => { + const menuItem = processSelector(selector, group); + if (menuItem) { + model.addItemToGroup(group.title, menuItem); + } + }); + } else { + const menuItem = processSelector(selector, null); + if (menuItem) { + model.addItem(menuItem); + } + } + } + } + }); + const items = model.toFormats(); + editor.dispatch('addStyleModifications', { + items, + replace: !shouldAppend(editor) + }); + }); + }; + + const get = editor => { + const convertSelectorToFormat = selectorText => { + return defaultConvertSelectorToFormat(editor, selectorText); + }; + return { convertSelectorToFormat }; + }; + + var Plugin = () => { + global$4.add('importcss', editor => { + register(editor); + setup(editor); + return get(editor); + }); + }; + + Plugin(); + +})(); diff --git a/public/tools/cloud_notes/tinymce/plugins/importcss/plugin.min.js b/public/tools/cloud_notes/tinymce/plugins/importcss/plugin.min.js new file mode 100644 index 0000000..4b8006a --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/importcss/plugin.min.js @@ -0,0 +1,4 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ +!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(s=r=e,(o=String).prototype.isPrototypeOf(s)||(null===(n=r.constructor)||void 0===n?void 0:n.name)===o.name)?"string":t;var s,r,o,n})(t)===e,s=t("string"),r=t("object"),o=t("array"),n=("function",e=>"function"==typeof e);var c=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),i=tinymce.util.Tools.resolve("tinymce.EditorManager"),l=tinymce.util.Tools.resolve("tinymce.Env"),a=tinymce.util.Tools.resolve("tinymce.util.Tools");const p=e=>t=>t.options.get(e),u=p("importcss_merge_classes"),m=p("importcss_exclusive"),f=p("importcss_selector_converter"),y=p("importcss_selector_filter"),d=p("importcss_groups"),h=p("importcss_append"),_=p("importcss_file_filter"),g=p("skin"),v=p("skin_url"),b=Array.prototype.push,x=/^\.(?:ephox|tiny-pageembed|mce)(?:[.-]+\w+)+$/,T=e=>s(e)?t=>-1!==t.indexOf(e):e instanceof RegExp?t=>e.test(t):e,S=(e,t)=>{let s={};const r=/^(?:([a-z0-9\-_]+))?(\.[a-z0-9_\-\.]+)$/i.exec(t);if(!r)return;const o=r[1],n=r[2].substr(1).split(".").join(" "),c=a.makeMap("a,img");return r[1]?(s={title:t},e.schema.getTextBlockElements()[o]?s.block=o:e.schema.getBlockElements()[o]||c[o.toLowerCase()]?s.selector=o:s.inline=o):r[2]&&(s={inline:"span",title:t.substr(1),classes:n}),u(e)?s.classes=n:s.attributes={class:n},s},k=(e,t)=>null===t||m(e),w=e=>{e.on("init",(()=>{const t=(()=>{const e=[],t=[],s={};return{addItemToGroup:(e,r)=>{s[e]?s[e].push(r):(t.push(e),s[e]=[r])},addItem:t=>{e.push(t)},toFormats:()=>{return(r=t,n=e=>{const t=s[e];return 0===t.length?[]:[{title:e,items:t}]},(e=>{const t=[];for(let s=0,r=e.length;s{const s=e.length,r=new Array(s);for(let o=0;oa.map(e,(e=>a.extend({},e,{original:e,selectors:{},filter:T(e.filter)}))))(d(e)),u=(t,s)=>{if(((e,t,s,r)=>!(k(e,s)?t in r:t in s.selectors))(e,t,s,r)){((e,t,s,r)=>{k(e,s)?r[t]=!0:s.selectors[t]=!0})(e,t,s,r);const o=((e,t,s,r)=>{let o;const n=f(e);return o=r&&r.selector_converter?r.selector_converter:n||(()=>S(e,s)),o.call(t,s,r)})(e,e.plugins.importcss,t,s);if(o){const t=o.name||c.DOM.uniqueId();return e.formatter.register(t,o),{title:o.title,format:t}}}return null};a.each(((e,t,r)=>{const o=[],n={},c=(t,n)=>{let p,u=t.href;if(u=(e=>{const t=l.cacheSuffix;return s(e)&&(e=e.replace("?"+t,"").replace("&"+t,"")),e})(u),u&&(!r||r(u,n))&&!((e,t)=>{const s=g(e);if(s){const r=v(e),o=r?e.documentBaseURI.toAbsolute(r):i.baseURL+"/skins/ui/"+s,n=i.baseURL+"/skins/content/";return t===o+"/content"+(e.inline?".inline":"")+".min.css"||-1!==t.indexOf(n)}return!1})(e,u)){a.each(t.imports,(e=>{c(e,!0)}));try{p=t.cssRules||t.rules}catch(e){}a.each(p,(e=>{e.styleSheet&&e.styleSheet?c(e.styleSheet,!0):e.selectorText&&a.each(e.selectorText.split(","),(e=>{o.push(a.trim(e))}))}))}};a.each(e.contentCSS,(e=>{n[e]=!0})),r||(r=(e,t)=>t||n[e]);try{a.each(t.styleSheets,(e=>{c(e)}))}catch(e){}return o})(e,e.getDoc(),T(_(e))),(e=>{if(!x.test(e)&&(!n||n(e))){const s=((e,t)=>a.grep(e,(e=>!e.filter||e.filter(t))))(p,e);if(s.length>0)a.each(s,(s=>{const r=u(e,s);r&&t.addItemToGroup(s.title,r)}));else{const s=u(e,null);s&&t.addItem(s)}}}));const m=t.toFormats();e.dispatch("addStyleModifications",{items:m,replace:!h(e)})}))};e.add("importcss",(e=>((e=>{const t=e.options.register,o=e=>s(e)||n(e)||r(e);t("importcss_merge_classes",{processor:"boolean",default:!0}),t("importcss_exclusive",{processor:"boolean",default:!0}),t("importcss_selector_converter",{processor:"function"}),t("importcss_selector_filter",{processor:o}),t("importcss_file_filter",{processor:o}),t("importcss_groups",{processor:"object[]"}),t("importcss_append",{processor:"boolean",default:!1})})(e),w(e),(e=>({convertSelectorToFormat:t=>S(e,t)}))(e))))}(); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/insertdatetime/index.js b/public/tools/cloud_notes/tinymce/plugins/insertdatetime/index.js new file mode 100644 index 0000000..22a7f6e --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/insertdatetime/index.js @@ -0,0 +1,7 @@ +// Exports the "insertdatetime" plugin for usage with module loaders +// Usage: +// CommonJS: +// require('tinymce/plugins/insertdatetime') +// ES2015: +// import 'tinymce/plugins/insertdatetime' +require('./plugin.js'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/insertdatetime/plugin.js b/public/tools/cloud_notes/tinymce/plugins/insertdatetime/plugin.js new file mode 100644 index 0000000..c0660f7 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/insertdatetime/plugin.js @@ -0,0 +1,187 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ + +(function () { + 'use strict'; + + var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + const option = name => editor => editor.options.get(name); + const register$2 = editor => { + const registerOption = editor.options.register; + registerOption('insertdatetime_dateformat', { + processor: 'string', + default: editor.translate('%Y-%m-%d') + }); + registerOption('insertdatetime_timeformat', { + processor: 'string', + default: editor.translate('%H:%M:%S') + }); + registerOption('insertdatetime_formats', { + processor: 'string[]', + default: [ + '%H:%M:%S', + '%Y-%m-%d', + '%I:%M:%S %p', + '%D' + ] + }); + registerOption('insertdatetime_element', { + processor: 'boolean', + default: false + }); + }; + const getDateFormat = option('insertdatetime_dateformat'); + const getTimeFormat = option('insertdatetime_timeformat'); + const getFormats = option('insertdatetime_formats'); + const shouldInsertTimeElement = option('insertdatetime_element'); + const getDefaultDateTime = editor => { + const formats = getFormats(editor); + return formats.length > 0 ? formats[0] : getTimeFormat(editor); + }; + + const daysShort = 'Sun Mon Tue Wed Thu Fri Sat Sun'.split(' '); + const daysLong = 'Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday'.split(' '); + const monthsShort = 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'.split(' '); + const monthsLong = 'January February March April May June July August September October November December'.split(' '); + const addZeros = (value, len) => { + value = '' + value; + if (value.length < len) { + for (let i = 0; i < len - value.length; i++) { + value = '0' + value; + } + } + return value; + }; + const getDateTime = (editor, fmt, date = new Date()) => { + fmt = fmt.replace('%D', '%m/%d/%Y'); + fmt = fmt.replace('%r', '%I:%M:%S %p'); + fmt = fmt.replace('%Y', '' + date.getFullYear()); + fmt = fmt.replace('%y', '' + date.getYear()); + fmt = fmt.replace('%m', addZeros(date.getMonth() + 1, 2)); + fmt = fmt.replace('%d', addZeros(date.getDate(), 2)); + fmt = fmt.replace('%H', '' + addZeros(date.getHours(), 2)); + fmt = fmt.replace('%M', '' + addZeros(date.getMinutes(), 2)); + fmt = fmt.replace('%S', '' + addZeros(date.getSeconds(), 2)); + fmt = fmt.replace('%I', '' + ((date.getHours() + 11) % 12 + 1)); + fmt = fmt.replace('%p', '' + (date.getHours() < 12 ? 'AM' : 'PM')); + fmt = fmt.replace('%B', '' + editor.translate(monthsLong[date.getMonth()])); + fmt = fmt.replace('%b', '' + editor.translate(monthsShort[date.getMonth()])); + fmt = fmt.replace('%A', '' + editor.translate(daysLong[date.getDay()])); + fmt = fmt.replace('%a', '' + editor.translate(daysShort[date.getDay()])); + fmt = fmt.replace('%%', '%'); + return fmt; + }; + const updateElement = (editor, timeElm, computerTime, userTime) => { + const newTimeElm = editor.dom.create('time', { datetime: computerTime }, userTime); + editor.dom.replace(newTimeElm, timeElm); + editor.selection.select(newTimeElm, true); + editor.selection.collapse(false); + }; + const insertDateTime = (editor, format) => { + if (shouldInsertTimeElement(editor)) { + const userTime = getDateTime(editor, format); + let computerTime; + if (/%[HMSIp]/.test(format)) { + computerTime = getDateTime(editor, '%Y-%m-%dT%H:%M'); + } else { + computerTime = getDateTime(editor, '%Y-%m-%d'); + } + const timeElm = editor.dom.getParent(editor.selection.getStart(), 'time'); + if (timeElm) { + updateElement(editor, timeElm, computerTime, userTime); + } else { + editor.insertContent(''); + } + } else { + editor.insertContent(getDateTime(editor, format)); + } + }; + + const register$1 = editor => { + editor.addCommand('mceInsertDate', (_ui, value) => { + insertDateTime(editor, value !== null && value !== void 0 ? value : getDateFormat(editor)); + }); + editor.addCommand('mceInsertTime', (_ui, value) => { + insertDateTime(editor, value !== null && value !== void 0 ? value : getTimeFormat(editor)); + }); + }; + + const Cell = initial => { + let value = initial; + const get = () => { + return value; + }; + const set = v => { + value = v; + }; + return { + get, + set + }; + }; + + var global = tinymce.util.Tools.resolve('tinymce.util.Tools'); + + const onSetupEditable = editor => api => { + const nodeChanged = () => { + api.setEnabled(editor.selection.isEditable()); + }; + editor.on('NodeChange', nodeChanged); + nodeChanged(); + return () => { + editor.off('NodeChange', nodeChanged); + }; + }; + const register = editor => { + const formats = getFormats(editor); + const defaultFormat = Cell(getDefaultDateTime(editor)); + const insertDateTime = format => editor.execCommand('mceInsertDate', false, format); + editor.ui.registry.addSplitButton('insertdatetime', { + icon: 'insert-time', + tooltip: 'Insert date/time', + select: value => value === defaultFormat.get(), + fetch: done => { + done(global.map(formats, format => ({ + type: 'choiceitem', + text: getDateTime(editor, format), + value: format + }))); + }, + onAction: _api => { + insertDateTime(defaultFormat.get()); + }, + onItemAction: (_api, value) => { + defaultFormat.set(value); + insertDateTime(value); + }, + onSetup: onSetupEditable(editor) + }); + const makeMenuItemHandler = format => () => { + defaultFormat.set(format); + insertDateTime(format); + }; + editor.ui.registry.addNestedMenuItem('insertdatetime', { + icon: 'insert-time', + text: 'Date/time', + getSubmenuItems: () => global.map(formats, format => ({ + type: 'menuitem', + text: getDateTime(editor, format), + onAction: makeMenuItemHandler(format) + })), + onSetup: onSetupEditable(editor) + }); + }; + + var Plugin = () => { + global$1.add('insertdatetime', editor => { + register$2(editor); + register$1(editor); + register(editor); + }); + }; + + Plugin(); + +})(); diff --git a/public/tools/cloud_notes/tinymce/plugins/insertdatetime/plugin.min.js b/public/tools/cloud_notes/tinymce/plugins/insertdatetime/plugin.min.js new file mode 100644 index 0000000..19294c9 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/insertdatetime/plugin.min.js @@ -0,0 +1,4 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ +!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>t=>t.options.get(e),a=t("insertdatetime_dateformat"),n=t("insertdatetime_timeformat"),r=t("insertdatetime_formats"),s=t("insertdatetime_element"),i="Sun Mon Tue Wed Thu Fri Sat Sun".split(" "),o="Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday".split(" "),l="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),m="January February March April May June July August September October November December".split(" "),c=(e,t)=>{if((e=""+e).length(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=t.replace("%D","%m/%d/%Y")).replace("%r","%I:%M:%S %p")).replace("%Y",""+a.getFullYear())).replace("%y",""+a.getYear())).replace("%m",c(a.getMonth()+1,2))).replace("%d",c(a.getDate(),2))).replace("%H",""+c(a.getHours(),2))).replace("%M",""+c(a.getMinutes(),2))).replace("%S",""+c(a.getSeconds(),2))).replace("%I",""+((a.getHours()+11)%12+1))).replace("%p",a.getHours()<12?"AM":"PM")).replace("%B",""+e.translate(m[a.getMonth()]))).replace("%b",""+e.translate(l[a.getMonth()]))).replace("%A",""+e.translate(o[a.getDay()]))).replace("%a",""+e.translate(i[a.getDay()]))).replace("%%","%"),u=(e,t)=>{if(s(e)){const a=d(e,t);let n;n=/%[HMSIp]/.test(t)?d(e,"%Y-%m-%dT%H:%M"):d(e,"%Y-%m-%d");const r=e.dom.getParent(e.selection.getStart(),"time");r?((e,t,a,n)=>{const r=e.dom.create("time",{datetime:a},n);e.dom.replace(r,t),e.selection.select(r,!0),e.selection.collapse(!1)})(e,r,n,a):e.insertContent('")}else e.insertContent(d(e,t))};var p=tinymce.util.Tools.resolve("tinymce.util.Tools");const g=e=>t=>{const a=()=>{t.setEnabled(e.selection.isEditable())};return e.on("NodeChange",a),a(),()=>{e.off("NodeChange",a)}};e.add("insertdatetime",(e=>{(e=>{const t=e.options.register;t("insertdatetime_dateformat",{processor:"string",default:e.translate("%Y-%m-%d")}),t("insertdatetime_timeformat",{processor:"string",default:e.translate("%H:%M:%S")}),t("insertdatetime_formats",{processor:"string[]",default:["%H:%M:%S","%Y-%m-%d","%I:%M:%S %p","%D"]}),t("insertdatetime_element",{processor:"boolean",default:!1})})(e),(e=>{e.addCommand("mceInsertDate",((t,n)=>{u(e,null!=n?n:a(e))})),e.addCommand("mceInsertTime",((t,a)=>{u(e,null!=a?a:n(e))}))})(e),(e=>{const t=r(e),a=(e=>{let t=e;return{get:()=>t,set:e=>{t=e}}})((e=>{const t=r(e);return t.length>0?t[0]:n(e)})(e)),s=t=>e.execCommand("mceInsertDate",!1,t);e.ui.registry.addSplitButton("insertdatetime",{icon:"insert-time",tooltip:"Insert date/time",select:e=>e===a.get(),fetch:a=>{a(p.map(t,(t=>({type:"choiceitem",text:d(e,t),value:t}))))},onAction:e=>{s(a.get())},onItemAction:(e,t)=>{a.set(t),s(t)},onSetup:g(e)});const i=e=>()=>{a.set(e),s(e)};e.ui.registry.addNestedMenuItem("insertdatetime",{icon:"insert-time",text:"Date/time",getSubmenuItems:()=>p.map(t,(t=>({type:"menuitem",text:d(e,t),onAction:i(t)}))),onSetup:g(e)})})(e)}))}(); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/link/index.js b/public/tools/cloud_notes/tinymce/plugins/link/index.js new file mode 100644 index 0000000..ff52930 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/link/index.js @@ -0,0 +1,7 @@ +// Exports the "link" plugin for usage with module loaders +// Usage: +// CommonJS: +// require('tinymce/plugins/link') +// ES2015: +// import 'tinymce/plugins/link' +require('./plugin.js'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/link/plugin.js b/public/tools/cloud_notes/tinymce/plugins/link/plugin.js new file mode 100644 index 0000000..c1c0cb8 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/link/plugin.js @@ -0,0 +1,1242 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ + +(function () { + 'use strict'; + + var global$5 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + const hasProto = (v, constructor, predicate) => { + var _a; + if (predicate(v, constructor.prototype)) { + return true; + } else { + return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name; + } + }; + const typeOf = x => { + const t = typeof x; + if (x === null) { + return 'null'; + } else if (t === 'object' && Array.isArray(x)) { + return 'array'; + } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) { + return 'string'; + } else { + return t; + } + }; + const isType = type => value => typeOf(value) === type; + const isSimpleType = type => value => typeof value === type; + const eq = t => a => t === a; + const isString = isType('string'); + const isObject = isType('object'); + const isArray = isType('array'); + const isNull = eq(null); + const isBoolean = isSimpleType('boolean'); + const isNullable = a => a === null || a === undefined; + const isNonNullable = a => !isNullable(a); + const isFunction = isSimpleType('function'); + const isArrayOf = (value, pred) => { + if (isArray(value)) { + for (let i = 0, len = value.length; i < len; ++i) { + if (!pred(value[i])) { + return false; + } + } + return true; + } + return false; + }; + + const noop = () => { + }; + const constant = value => { + return () => { + return value; + }; + }; + const tripleEquals = (a, b) => { + return a === b; + }; + + class Optional { + constructor(tag, value) { + this.tag = tag; + this.value = value; + } + static some(value) { + return new Optional(true, value); + } + static none() { + return Optional.singletonNone; + } + fold(onNone, onSome) { + if (this.tag) { + return onSome(this.value); + } else { + return onNone(); + } + } + isSome() { + return this.tag; + } + isNone() { + return !this.tag; + } + map(mapper) { + if (this.tag) { + return Optional.some(mapper(this.value)); + } else { + return Optional.none(); + } + } + bind(binder) { + if (this.tag) { + return binder(this.value); + } else { + return Optional.none(); + } + } + exists(predicate) { + return this.tag && predicate(this.value); + } + forall(predicate) { + return !this.tag || predicate(this.value); + } + filter(predicate) { + if (!this.tag || predicate(this.value)) { + return this; + } else { + return Optional.none(); + } + } + getOr(replacement) { + return this.tag ? this.value : replacement; + } + or(replacement) { + return this.tag ? this : replacement; + } + getOrThunk(thunk) { + return this.tag ? this.value : thunk(); + } + orThunk(thunk) { + return this.tag ? this : thunk(); + } + getOrDie(message) { + if (!this.tag) { + throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None'); + } else { + return this.value; + } + } + static from(value) { + return isNonNullable(value) ? Optional.some(value) : Optional.none(); + } + getOrNull() { + return this.tag ? this.value : null; + } + getOrUndefined() { + return this.value; + } + each(worker) { + if (this.tag) { + worker(this.value); + } + } + toArray() { + return this.tag ? [this.value] : []; + } + toString() { + return this.tag ? `some(${ this.value })` : 'none()'; + } + } + Optional.singletonNone = new Optional(false); + + const nativeIndexOf = Array.prototype.indexOf; + const nativePush = Array.prototype.push; + const rawIndexOf = (ts, t) => nativeIndexOf.call(ts, t); + const contains = (xs, x) => rawIndexOf(xs, x) > -1; + const map = (xs, f) => { + const len = xs.length; + const r = new Array(len); + for (let i = 0; i < len; i++) { + const x = xs[i]; + r[i] = f(x, i); + } + return r; + }; + const each$1 = (xs, f) => { + for (let i = 0, len = xs.length; i < len; i++) { + const x = xs[i]; + f(x, i); + } + }; + const foldl = (xs, f, acc) => { + each$1(xs, (x, i) => { + acc = f(acc, x, i); + }); + return acc; + }; + const flatten = xs => { + const r = []; + for (let i = 0, len = xs.length; i < len; ++i) { + if (!isArray(xs[i])) { + throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs); + } + nativePush.apply(r, xs[i]); + } + return r; + }; + const bind = (xs, f) => flatten(map(xs, f)); + const findMap = (arr, f) => { + for (let i = 0; i < arr.length; i++) { + const r = f(arr[i], i); + if (r.isSome()) { + return r; + } + } + return Optional.none(); + }; + + const is = (lhs, rhs, comparator = tripleEquals) => lhs.exists(left => comparator(left, rhs)); + const cat = arr => { + const r = []; + const push = x => { + r.push(x); + }; + for (let i = 0; i < arr.length; i++) { + arr[i].each(push); + } + return r; + }; + const someIf = (b, a) => b ? Optional.some(a) : Optional.none(); + + const option = name => editor => editor.options.get(name); + const register$1 = editor => { + const registerOption = editor.options.register; + registerOption('link_assume_external_targets', { + processor: value => { + const valid = isString(value) || isBoolean(value); + if (valid) { + if (value === true) { + return { + value: 1, + valid + }; + } else if (value === 'http' || value === 'https') { + return { + value, + valid + }; + } else { + return { + value: 0, + valid + }; + } + } else { + return { + valid: false, + message: 'Must be a string or a boolean.' + }; + } + }, + default: false + }); + registerOption('link_context_toolbar', { + processor: 'boolean', + default: false + }); + registerOption('link_list', { processor: value => isString(value) || isFunction(value) || isArrayOf(value, isObject) }); + registerOption('link_default_target', { processor: 'string' }); + registerOption('link_default_protocol', { + processor: 'string', + default: 'https' + }); + registerOption('link_target_list', { + processor: value => isBoolean(value) || isArrayOf(value, isObject), + default: true + }); + registerOption('link_rel_list', { + processor: 'object[]', + default: [] + }); + registerOption('link_class_list', { + processor: 'object[]', + default: [] + }); + registerOption('link_title', { + processor: 'boolean', + default: true + }); + registerOption('allow_unsafe_link_target', { + processor: 'boolean', + default: false + }); + registerOption('link_quicklink', { + processor: 'boolean', + default: false + }); + }; + const assumeExternalTargets = option('link_assume_external_targets'); + const hasContextToolbar = option('link_context_toolbar'); + const getLinkList = option('link_list'); + const getDefaultLinkTarget = option('link_default_target'); + const getDefaultLinkProtocol = option('link_default_protocol'); + const getTargetList = option('link_target_list'); + const getRelList = option('link_rel_list'); + const getLinkClassList = option('link_class_list'); + const shouldShowLinkTitle = option('link_title'); + const allowUnsafeLinkTarget = option('allow_unsafe_link_target'); + const useQuickLink = option('link_quicklink'); + + var global$4 = tinymce.util.Tools.resolve('tinymce.util.Tools'); + + const getValue = item => isString(item.value) ? item.value : ''; + const getText = item => { + if (isString(item.text)) { + return item.text; + } else if (isString(item.title)) { + return item.title; + } else { + return ''; + } + }; + const sanitizeList = (list, extractValue) => { + const out = []; + global$4.each(list, item => { + const text = getText(item); + if (item.menu !== undefined) { + const items = sanitizeList(item.menu, extractValue); + out.push({ + text, + items + }); + } else { + const value = extractValue(item); + out.push({ + text, + value + }); + } + }); + return out; + }; + const sanitizeWith = (extracter = getValue) => list => Optional.from(list).map(list => sanitizeList(list, extracter)); + const sanitize = list => sanitizeWith(getValue)(list); + const createUi = (name, label) => items => ({ + name, + type: 'listbox', + label, + items + }); + const ListOptions = { + sanitize, + sanitizeWith, + createUi, + getValue + }; + + const keys = Object.keys; + const hasOwnProperty = Object.hasOwnProperty; + const each = (obj, f) => { + const props = keys(obj); + for (let k = 0, len = props.length; k < len; k++) { + const i = props[k]; + const x = obj[i]; + f(x, i); + } + }; + const objAcc = r => (x, i) => { + r[i] = x; + }; + const internalFilter = (obj, pred, onTrue, onFalse) => { + each(obj, (x, i) => { + (pred(x, i) ? onTrue : onFalse)(x, i); + }); + }; + const filter = (obj, pred) => { + const t = {}; + internalFilter(obj, pred, objAcc(t), noop); + return t; + }; + const has = (obj, key) => hasOwnProperty.call(obj, key); + const hasNonNullableKey = (obj, key) => has(obj, key) && obj[key] !== undefined && obj[key] !== null; + + var global$3 = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker'); + + var global$2 = tinymce.util.Tools.resolve('tinymce.util.URI'); + + const isAnchor = elm => isNonNullable(elm) && elm.nodeName.toLowerCase() === 'a'; + const isLink = elm => isAnchor(elm) && !!getHref(elm); + const collectNodesInRange = (rng, predicate) => { + if (rng.collapsed) { + return []; + } else { + const contents = rng.cloneContents(); + const firstChild = contents.firstChild; + const walker = new global$3(firstChild, contents); + const elements = []; + let current = firstChild; + do { + if (predicate(current)) { + elements.push(current); + } + } while (current = walker.next()); + return elements; + } + }; + const hasProtocol = url => /^\w+:/i.test(url); + const getHref = elm => { + var _a, _b; + return (_b = (_a = elm.getAttribute('data-mce-href')) !== null && _a !== void 0 ? _a : elm.getAttribute('href')) !== null && _b !== void 0 ? _b : ''; + }; + const applyRelTargetRules = (rel, isUnsafe) => { + const rules = ['noopener']; + const rels = rel ? rel.split(/\s+/) : []; + const toString = rels => global$4.trim(rels.sort().join(' ')); + const addTargetRules = rels => { + rels = removeTargetRules(rels); + return rels.length > 0 ? rels.concat(rules) : rules; + }; + const removeTargetRules = rels => rels.filter(val => global$4.inArray(rules, val) === -1); + const newRels = isUnsafe ? addTargetRules(rels) : removeTargetRules(rels); + return newRels.length > 0 ? toString(newRels) : ''; + }; + const trimCaretContainers = text => text.replace(/\uFEFF/g, ''); + const getAnchorElement = (editor, selectedElm) => { + selectedElm = selectedElm || getLinksInSelection(editor.selection.getRng())[0] || editor.selection.getNode(); + if (isImageFigure(selectedElm)) { + return Optional.from(editor.dom.select('a[href]', selectedElm)[0]); + } else { + return Optional.from(editor.dom.getParent(selectedElm, 'a[href]')); + } + }; + const isInAnchor = (editor, selectedElm) => getAnchorElement(editor, selectedElm).isSome(); + const getAnchorText = (selection, anchorElm) => { + const text = anchorElm.fold(() => selection.getContent({ format: 'text' }), anchorElm => anchorElm.innerText || anchorElm.textContent || ''); + return trimCaretContainers(text); + }; + const getLinksInSelection = rng => collectNodesInRange(rng, isLink); + const getLinks$1 = elements => global$4.grep(elements, isLink); + const hasLinks = elements => getLinks$1(elements).length > 0; + const hasLinksInSelection = rng => getLinksInSelection(rng).length > 0; + const isOnlyTextSelected = editor => { + const inlineTextElements = editor.schema.getTextInlineElements(); + const isElement = elm => elm.nodeType === 1 && !isAnchor(elm) && !has(inlineTextElements, elm.nodeName.toLowerCase()); + const isInBlockAnchor = getAnchorElement(editor).exists(anchor => anchor.hasAttribute('data-mce-block')); + if (isInBlockAnchor) { + return false; + } + const rng = editor.selection.getRng(); + if (!rng.collapsed) { + const elements = collectNodesInRange(rng, isElement); + return elements.length === 0; + } else { + return true; + } + }; + const isImageFigure = elm => isNonNullable(elm) && elm.nodeName === 'FIGURE' && /\bimage\b/i.test(elm.className); + const getLinkAttrs = data => { + const attrs = [ + 'title', + 'rel', + 'class', + 'target' + ]; + return foldl(attrs, (acc, key) => { + data[key].each(value => { + acc[key] = value.length > 0 ? value : null; + }); + return acc; + }, { href: data.href }); + }; + const handleExternalTargets = (href, assumeExternalTargets) => { + if ((assumeExternalTargets === 'http' || assumeExternalTargets === 'https') && !hasProtocol(href)) { + return assumeExternalTargets + '://' + href; + } + return href; + }; + const applyLinkOverrides = (editor, linkAttrs) => { + const newLinkAttrs = { ...linkAttrs }; + if (getRelList(editor).length === 0 && !allowUnsafeLinkTarget(editor)) { + const newRel = applyRelTargetRules(newLinkAttrs.rel, newLinkAttrs.target === '_blank'); + newLinkAttrs.rel = newRel ? newRel : null; + } + if (Optional.from(newLinkAttrs.target).isNone() && getTargetList(editor) === false) { + newLinkAttrs.target = getDefaultLinkTarget(editor); + } + newLinkAttrs.href = handleExternalTargets(newLinkAttrs.href, assumeExternalTargets(editor)); + return newLinkAttrs; + }; + const updateLink = (editor, anchorElm, text, linkAttrs) => { + text.each(text => { + if (has(anchorElm, 'innerText')) { + anchorElm.innerText = text; + } else { + anchorElm.textContent = text; + } + }); + editor.dom.setAttribs(anchorElm, linkAttrs); + editor.selection.select(anchorElm); + }; + const createLink = (editor, selectedElm, text, linkAttrs) => { + const dom = editor.dom; + if (isImageFigure(selectedElm)) { + linkImageFigure(dom, selectedElm, linkAttrs); + } else { + text.fold(() => { + editor.execCommand('mceInsertLink', false, linkAttrs); + }, text => { + editor.insertContent(dom.createHTML('a', linkAttrs, dom.encode(text))); + }); + } + }; + const linkDomMutation = (editor, attachState, data) => { + const selectedElm = editor.selection.getNode(); + const anchorElm = getAnchorElement(editor, selectedElm); + const linkAttrs = applyLinkOverrides(editor, getLinkAttrs(data)); + editor.undoManager.transact(() => { + if (data.href === attachState.href) { + attachState.attach(); + } + anchorElm.fold(() => { + createLink(editor, selectedElm, data.text, linkAttrs); + }, elm => { + editor.focus(); + updateLink(editor, elm, data.text, linkAttrs); + }); + }); + }; + const unlinkSelection = editor => { + const dom = editor.dom, selection = editor.selection; + const bookmark = selection.getBookmark(); + const rng = selection.getRng().cloneRange(); + const startAnchorElm = dom.getParent(rng.startContainer, 'a[href]', editor.getBody()); + const endAnchorElm = dom.getParent(rng.endContainer, 'a[href]', editor.getBody()); + if (startAnchorElm) { + rng.setStartBefore(startAnchorElm); + } + if (endAnchorElm) { + rng.setEndAfter(endAnchorElm); + } + selection.setRng(rng); + editor.execCommand('unlink'); + selection.moveToBookmark(bookmark); + }; + const unlinkDomMutation = editor => { + editor.undoManager.transact(() => { + const node = editor.selection.getNode(); + if (isImageFigure(node)) { + unlinkImageFigure(editor, node); + } else { + unlinkSelection(editor); + } + editor.focus(); + }); + }; + const unwrapOptions = data => { + const { + class: cls, + href, + rel, + target, + text, + title + } = data; + return filter({ + class: cls.getOrNull(), + href, + rel: rel.getOrNull(), + target: target.getOrNull(), + text: text.getOrNull(), + title: title.getOrNull() + }, (v, _k) => isNull(v) === false); + }; + const sanitizeData = (editor, data) => { + const getOption = editor.options.get; + const uriOptions = { + allow_html_data_urls: getOption('allow_html_data_urls'), + allow_script_urls: getOption('allow_script_urls'), + allow_svg_data_urls: getOption('allow_svg_data_urls') + }; + const href = data.href; + return { + ...data, + href: global$2.isDomSafe(href, 'a', uriOptions) ? href : '' + }; + }; + const link = (editor, attachState, data) => { + const sanitizedData = sanitizeData(editor, data); + editor.hasPlugin('rtc', true) ? editor.execCommand('createlink', false, unwrapOptions(sanitizedData)) : linkDomMutation(editor, attachState, sanitizedData); + }; + const unlink = editor => { + editor.hasPlugin('rtc', true) ? editor.execCommand('unlink') : unlinkDomMutation(editor); + }; + const unlinkImageFigure = (editor, fig) => { + var _a; + const img = editor.dom.select('img', fig)[0]; + if (img) { + const a = editor.dom.getParents(img, 'a[href]', fig)[0]; + if (a) { + (_a = a.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(img, a); + editor.dom.remove(a); + } + } + }; + const linkImageFigure = (dom, fig, attrs) => { + var _a; + const img = dom.select('img', fig)[0]; + if (img) { + const a = dom.create('a', attrs); + (_a = img.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(a, img); + a.appendChild(img); + } + }; + + const isListGroup = item => hasNonNullableKey(item, 'items'); + const findTextByValue = (value, catalog) => findMap(catalog, item => { + if (isListGroup(item)) { + return findTextByValue(value, item.items); + } else { + return someIf(item.value === value, item); + } + }); + const getDelta = (persistentText, fieldName, catalog, data) => { + const value = data[fieldName]; + const hasPersistentText = persistentText.length > 0; + return value !== undefined ? findTextByValue(value, catalog).map(i => ({ + url: { + value: i.value, + meta: { + text: hasPersistentText ? persistentText : i.text, + attach: noop + } + }, + text: hasPersistentText ? persistentText : i.text + })) : Optional.none(); + }; + const findCatalog = (catalogs, fieldName) => { + if (fieldName === 'link') { + return catalogs.link; + } else if (fieldName === 'anchor') { + return catalogs.anchor; + } else { + return Optional.none(); + } + }; + const init = (initialData, linkCatalog) => { + const persistentData = { + text: initialData.text, + title: initialData.title + }; + const getTitleFromUrlChange = url => { + var _a; + return someIf(persistentData.title.length <= 0, Optional.from((_a = url.meta) === null || _a === void 0 ? void 0 : _a.title).getOr('')); + }; + const getTextFromUrlChange = url => { + var _a; + return someIf(persistentData.text.length <= 0, Optional.from((_a = url.meta) === null || _a === void 0 ? void 0 : _a.text).getOr(url.value)); + }; + const onUrlChange = data => { + const text = getTextFromUrlChange(data.url); + const title = getTitleFromUrlChange(data.url); + if (text.isSome() || title.isSome()) { + return Optional.some({ + ...text.map(text => ({ text })).getOr({}), + ...title.map(title => ({ title })).getOr({}) + }); + } else { + return Optional.none(); + } + }; + const onCatalogChange = (data, change) => { + const catalog = findCatalog(linkCatalog, change).getOr([]); + return getDelta(persistentData.text, change, catalog, data); + }; + const onChange = (getData, change) => { + const name = change.name; + if (name === 'url') { + return onUrlChange(getData()); + } else if (contains([ + 'anchor', + 'link' + ], name)) { + return onCatalogChange(getData(), name); + } else if (name === 'text' || name === 'title') { + persistentData[name] = getData()[name]; + return Optional.none(); + } else { + return Optional.none(); + } + }; + return { onChange }; + }; + const DialogChanges = { + init, + getDelta + }; + + var global$1 = tinymce.util.Tools.resolve('tinymce.util.Delay'); + + const delayedConfirm = (editor, message, callback) => { + const rng = editor.selection.getRng(); + global$1.setEditorTimeout(editor, () => { + editor.windowManager.confirm(message, state => { + editor.selection.setRng(rng); + callback(state); + }); + }); + }; + const tryEmailTransform = data => { + const url = data.href; + const suggestMailTo = url.indexOf('@') > 0 && url.indexOf('/') === -1 && url.indexOf('mailto:') === -1; + return suggestMailTo ? Optional.some({ + message: 'The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?', + preprocess: oldData => ({ + ...oldData, + href: 'mailto:' + url + }) + }) : Optional.none(); + }; + const tryProtocolTransform = (assumeExternalTargets, defaultLinkProtocol) => data => { + const url = data.href; + const suggestProtocol = assumeExternalTargets === 1 && !hasProtocol(url) || assumeExternalTargets === 0 && /^\s*www(\.|\d\.)/i.test(url); + return suggestProtocol ? Optional.some({ + message: `The URL you entered seems to be an external link. Do you want to add the required ${ defaultLinkProtocol }:// prefix?`, + preprocess: oldData => ({ + ...oldData, + href: defaultLinkProtocol + '://' + url + }) + }) : Optional.none(); + }; + const preprocess = (editor, data) => findMap([ + tryEmailTransform, + tryProtocolTransform(assumeExternalTargets(editor), getDefaultLinkProtocol(editor)) + ], f => f(data)).fold(() => Promise.resolve(data), transform => new Promise(callback => { + delayedConfirm(editor, transform.message, state => { + callback(state ? transform.preprocess(data) : data); + }); + })); + const DialogConfirms = { preprocess }; + + const getAnchors = editor => { + const anchorNodes = editor.dom.select('a:not([href])'); + const anchors = bind(anchorNodes, anchor => { + const id = anchor.name || anchor.id; + return id ? [{ + text: id, + value: '#' + id + }] : []; + }); + return anchors.length > 0 ? Optional.some([{ + text: 'None', + value: '' + }].concat(anchors)) : Optional.none(); + }; + const AnchorListOptions = { getAnchors }; + + const getClasses = editor => { + const list = getLinkClassList(editor); + if (list.length > 0) { + return ListOptions.sanitize(list); + } + return Optional.none(); + }; + const ClassListOptions = { getClasses }; + + const parseJson = text => { + try { + return Optional.some(JSON.parse(text)); + } catch (err) { + return Optional.none(); + } + }; + const getLinks = editor => { + const extractor = item => editor.convertURL(item.value || item.url || '', 'href'); + const linkList = getLinkList(editor); + return new Promise(resolve => { + if (isString(linkList)) { + fetch(linkList).then(res => res.ok ? res.text().then(parseJson) : Promise.reject()).then(resolve, () => resolve(Optional.none())); + } else if (isFunction(linkList)) { + linkList(output => resolve(Optional.some(output))); + } else { + resolve(Optional.from(linkList)); + } + }).then(optItems => optItems.bind(ListOptions.sanitizeWith(extractor)).map(items => { + if (items.length > 0) { + const noneItem = [{ + text: 'None', + value: '' + }]; + return noneItem.concat(items); + } else { + return items; + } + })); + }; + const LinkListOptions = { getLinks }; + + const getRels = (editor, initialTarget) => { + const list = getRelList(editor); + if (list.length > 0) { + const isTargetBlank = is(initialTarget, '_blank'); + const enforceSafe = allowUnsafeLinkTarget(editor) === false; + const safeRelExtractor = item => applyRelTargetRules(ListOptions.getValue(item), isTargetBlank); + const sanitizer = enforceSafe ? ListOptions.sanitizeWith(safeRelExtractor) : ListOptions.sanitize; + return sanitizer(list); + } + return Optional.none(); + }; + const RelOptions = { getRels }; + + const fallbacks = [ + { + text: 'Current window', + value: '' + }, + { + text: 'New window', + value: '_blank' + } + ]; + const getTargets = editor => { + const list = getTargetList(editor); + if (isArray(list)) { + return ListOptions.sanitize(list).orThunk(() => Optional.some(fallbacks)); + } else if (list === false) { + return Optional.none(); + } + return Optional.some(fallbacks); + }; + const TargetOptions = { getTargets }; + + const nonEmptyAttr = (dom, elem, name) => { + const val = dom.getAttrib(elem, name); + return val !== null && val.length > 0 ? Optional.some(val) : Optional.none(); + }; + const extractFromAnchor = (editor, anchor) => { + const dom = editor.dom; + const onlyText = isOnlyTextSelected(editor); + const text = onlyText ? Optional.some(getAnchorText(editor.selection, anchor)) : Optional.none(); + const url = anchor.bind(anchorElm => Optional.from(dom.getAttrib(anchorElm, 'href'))); + const target = anchor.bind(anchorElm => Optional.from(dom.getAttrib(anchorElm, 'target'))); + const rel = anchor.bind(anchorElm => nonEmptyAttr(dom, anchorElm, 'rel')); + const linkClass = anchor.bind(anchorElm => nonEmptyAttr(dom, anchorElm, 'class')); + const title = anchor.bind(anchorElm => nonEmptyAttr(dom, anchorElm, 'title')); + return { + url, + text, + title, + target, + rel, + linkClass + }; + }; + const collect = (editor, linkNode) => LinkListOptions.getLinks(editor).then(links => { + const anchor = extractFromAnchor(editor, linkNode); + return { + anchor, + catalogs: { + targets: TargetOptions.getTargets(editor), + rels: RelOptions.getRels(editor, anchor.target), + classes: ClassListOptions.getClasses(editor), + anchor: AnchorListOptions.getAnchors(editor), + link: links + }, + optNode: linkNode, + flags: { titleEnabled: shouldShowLinkTitle(editor) } + }; + }); + const DialogInfo = { collect }; + + const handleSubmit = (editor, info) => api => { + const data = api.getData(); + if (!data.url.value) { + unlink(editor); + api.close(); + return; + } + const getChangedValue = key => Optional.from(data[key]).filter(value => !is(info.anchor[key], value)); + const changedData = { + href: data.url.value, + text: getChangedValue('text'), + target: getChangedValue('target'), + rel: getChangedValue('rel'), + class: getChangedValue('linkClass'), + title: getChangedValue('title') + }; + const attachState = { + href: data.url.value, + attach: data.url.meta !== undefined && data.url.meta.attach ? data.url.meta.attach : noop + }; + DialogConfirms.preprocess(editor, changedData).then(pData => { + link(editor, attachState, pData); + }); + api.close(); + }; + const collectData = editor => { + const anchorNode = getAnchorElement(editor); + return DialogInfo.collect(editor, anchorNode); + }; + const getInitialData = (info, defaultTarget) => { + const anchor = info.anchor; + const url = anchor.url.getOr(''); + return { + url: { + value: url, + meta: { original: { value: url } } + }, + text: anchor.text.getOr(''), + title: anchor.title.getOr(''), + anchor: url, + link: url, + rel: anchor.rel.getOr(''), + target: anchor.target.or(defaultTarget).getOr(''), + linkClass: anchor.linkClass.getOr('') + }; + }; + const makeDialog = (settings, onSubmit, editor) => { + const urlInput = [{ + name: 'url', + type: 'urlinput', + filetype: 'file', + label: 'URL', + picker_text: 'Browse links' + }]; + const displayText = settings.anchor.text.map(() => ({ + name: 'text', + type: 'input', + label: 'Text to display' + })).toArray(); + const titleText = settings.flags.titleEnabled ? [{ + name: 'title', + type: 'input', + label: 'Title' + }] : []; + const defaultTarget = Optional.from(getDefaultLinkTarget(editor)); + const initialData = getInitialData(settings, defaultTarget); + const catalogs = settings.catalogs; + const dialogDelta = DialogChanges.init(initialData, catalogs); + const body = { + type: 'panel', + items: flatten([ + urlInput, + displayText, + titleText, + cat([ + catalogs.anchor.map(ListOptions.createUi('anchor', 'Anchors')), + catalogs.rels.map(ListOptions.createUi('rel', 'Rel')), + catalogs.targets.map(ListOptions.createUi('target', 'Open link in...')), + catalogs.link.map(ListOptions.createUi('link', 'Link list')), + catalogs.classes.map(ListOptions.createUi('linkClass', 'Class')) + ]) + ]) + }; + return { + title: 'Insert/Edit Link', + size: 'normal', + body, + buttons: [ + { + type: 'cancel', + name: 'cancel', + text: 'Cancel' + }, + { + type: 'submit', + name: 'save', + text: 'Save', + primary: true + } + ], + initialData, + onChange: (api, {name}) => { + dialogDelta.onChange(api.getData, { name }).each(newData => { + api.setData(newData); + }); + }, + onSubmit + }; + }; + const open$1 = editor => { + const data = collectData(editor); + data.then(info => { + const onSubmit = handleSubmit(editor, info); + return makeDialog(info, onSubmit, editor); + }).then(spec => { + editor.windowManager.open(spec); + }); + }; + + const register = editor => { + editor.addCommand('mceLink', (_ui, value) => { + if ((value === null || value === void 0 ? void 0 : value.dialog) === true || !useQuickLink(editor)) { + open$1(editor); + } else { + editor.dispatch('contexttoolbar-show', { toolbarKey: 'quicklink' }); + } + }); + }; + + var global = tinymce.util.Tools.resolve('tinymce.util.VK'); + + const appendClickRemove = (link, evt) => { + document.body.appendChild(link); + link.dispatchEvent(evt); + document.body.removeChild(link); + }; + const open = url => { + const link = document.createElement('a'); + link.target = '_blank'; + link.href = url; + link.rel = 'noreferrer noopener'; + const evt = document.createEvent('MouseEvents'); + evt.initMouseEvent('click', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); + appendClickRemove(link, evt); + }; + + const getLink = (editor, elm) => editor.dom.getParent(elm, 'a[href]'); + const getSelectedLink = editor => getLink(editor, editor.selection.getStart()); + const hasOnlyAltModifier = e => { + return e.altKey === true && e.shiftKey === false && e.ctrlKey === false && e.metaKey === false; + }; + const gotoLink = (editor, a) => { + if (a) { + const href = getHref(a); + if (/^#/.test(href)) { + const targetEl = editor.dom.select(href); + if (targetEl.length) { + editor.selection.scrollIntoView(targetEl[0], true); + } + } else { + open(a.href); + } + } + }; + const openDialog = editor => () => { + editor.execCommand('mceLink', false, { dialog: true }); + }; + const gotoSelectedLink = editor => () => { + gotoLink(editor, getSelectedLink(editor)); + }; + const setupGotoLinks = editor => { + editor.on('click', e => { + const link = getLink(editor, e.target); + if (link && global.metaKeyPressed(e)) { + e.preventDefault(); + gotoLink(editor, link); + } + }); + editor.on('keydown', e => { + if (!e.isDefaultPrevented() && e.keyCode === 13 && hasOnlyAltModifier(e)) { + const link = getSelectedLink(editor); + if (link) { + e.preventDefault(); + gotoLink(editor, link); + } + } + }); + }; + const toggleState = (editor, toggler) => { + editor.on('NodeChange', toggler); + return () => editor.off('NodeChange', toggler); + }; + const toggleLinkState = editor => api => { + const updateState = () => { + api.setActive(!editor.mode.isReadOnly() && isInAnchor(editor, editor.selection.getNode())); + api.setEnabled(editor.selection.isEditable()); + }; + updateState(); + return toggleState(editor, updateState); + }; + const toggleLinkMenuState = editor => api => { + const updateState = () => { + api.setEnabled(editor.selection.isEditable()); + }; + updateState(); + return toggleState(editor, updateState); + }; + const hasExactlyOneLinkInSelection = editor => { + const links = editor.selection.isCollapsed() ? getLinks$1(editor.dom.getParents(editor.selection.getStart())) : getLinksInSelection(editor.selection.getRng()); + return links.length === 1; + }; + const toggleGotoLinkState = editor => api => { + const updateState = () => api.setEnabled(hasExactlyOneLinkInSelection(editor)); + updateState(); + return toggleState(editor, updateState); + }; + const toggleUnlinkState = editor => api => { + const hasLinks$1 = parents => hasLinks(parents) || hasLinksInSelection(editor.selection.getRng()); + const parents = editor.dom.getParents(editor.selection.getStart()); + const updateEnabled = parents => { + api.setEnabled(hasLinks$1(parents) && editor.selection.isEditable()); + }; + updateEnabled(parents); + return toggleState(editor, e => updateEnabled(e.parents)); + }; + + const setup = editor => { + editor.addShortcut('Meta+K', '', () => { + editor.execCommand('mceLink'); + }); + }; + + const setupButtons = editor => { + editor.ui.registry.addToggleButton('link', { + icon: 'link', + tooltip: 'Insert/edit link', + onAction: openDialog(editor), + onSetup: toggleLinkState(editor) + }); + editor.ui.registry.addButton('openlink', { + icon: 'new-tab', + tooltip: 'Open link', + onAction: gotoSelectedLink(editor), + onSetup: toggleGotoLinkState(editor) + }); + editor.ui.registry.addButton('unlink', { + icon: 'unlink', + tooltip: 'Remove link', + onAction: () => unlink(editor), + onSetup: toggleUnlinkState(editor) + }); + }; + const setupMenuItems = editor => { + editor.ui.registry.addMenuItem('openlink', { + text: 'Open link', + icon: 'new-tab', + onAction: gotoSelectedLink(editor), + onSetup: toggleGotoLinkState(editor) + }); + editor.ui.registry.addMenuItem('link', { + icon: 'link', + text: 'Link...', + shortcut: 'Meta+K', + onSetup: toggleLinkMenuState(editor), + onAction: openDialog(editor) + }); + editor.ui.registry.addMenuItem('unlink', { + icon: 'unlink', + text: 'Remove link', + onAction: () => unlink(editor), + onSetup: toggleUnlinkState(editor) + }); + }; + const setupContextMenu = editor => { + const inLink = 'link unlink openlink'; + const noLink = 'link'; + editor.ui.registry.addContextMenu('link', { + update: element => { + const isEditable = editor.dom.isEditable(element); + if (!isEditable) { + return ''; + } + return hasLinks(editor.dom.getParents(element, 'a')) ? inLink : noLink; + } + }); + }; + const setupContextToolbars = editor => { + const collapseSelectionToEnd = editor => { + editor.selection.collapse(false); + }; + const onSetupLink = buttonApi => { + const node = editor.selection.getNode(); + buttonApi.setEnabled(isInAnchor(editor, node)); + return noop; + }; + const getLinkText = value => { + const anchor = getAnchorElement(editor); + const onlyText = isOnlyTextSelected(editor); + if (anchor.isNone() && onlyText) { + const text = getAnchorText(editor.selection, anchor); + return someIf(text.length === 0, value); + } else { + return Optional.none(); + } + }; + editor.ui.registry.addContextForm('quicklink', { + launch: { + type: 'contextformtogglebutton', + icon: 'link', + tooltip: 'Link', + onSetup: toggleLinkState(editor) + }, + label: 'Link', + predicate: node => hasContextToolbar(editor) && isInAnchor(editor, node), + initValue: () => { + const elm = getAnchorElement(editor); + return elm.fold(constant(''), getHref); + }, + commands: [ + { + type: 'contextformtogglebutton', + icon: 'link', + tooltip: 'Link', + primary: true, + onSetup: buttonApi => { + const node = editor.selection.getNode(); + buttonApi.setActive(isInAnchor(editor, node)); + return toggleLinkState(editor)(buttonApi); + }, + onAction: formApi => { + const value = formApi.getValue(); + const text = getLinkText(value); + const attachState = { + href: value, + attach: noop + }; + link(editor, attachState, { + href: value, + text, + title: Optional.none(), + rel: Optional.none(), + target: Optional.none(), + class: Optional.none() + }); + collapseSelectionToEnd(editor); + formApi.hide(); + } + }, + { + type: 'contextformbutton', + icon: 'unlink', + tooltip: 'Remove link', + onSetup: onSetupLink, + onAction: formApi => { + unlink(editor); + formApi.hide(); + } + }, + { + type: 'contextformbutton', + icon: 'new-tab', + tooltip: 'Open link', + onSetup: onSetupLink, + onAction: formApi => { + gotoSelectedLink(editor)(); + formApi.hide(); + } + } + ] + }); + }; + + var Plugin = () => { + global$5.add('link', editor => { + register$1(editor); + setupButtons(editor); + setupMenuItems(editor); + setupContextMenu(editor); + setupContextToolbars(editor); + setupGotoLinks(editor); + register(editor); + setup(editor); + }); + }; + + Plugin(); + +})(); diff --git a/public/tools/cloud_notes/tinymce/plugins/link/plugin.min.js b/public/tools/cloud_notes/tinymce/plugins/link/plugin.min.js new file mode 100644 index 0000000..51deeec --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/link/plugin.min.js @@ -0,0 +1,4 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ +!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(n=o=e,(r=String).prototype.isPrototypeOf(n)||(null===(l=o.constructor)||void 0===l?void 0:l.name)===r.name)?"string":t;var n,o,r,l})(t)===e,n=e=>t=>typeof t===e,o=t("string"),r=t("object"),l=t("array"),i=(null,e=>null===e);const a=n("boolean"),s=e=>!(e=>null==e)(e),c=n("function"),u=(e,t)=>{if(l(e)){for(let n=0,o=e.length;n{},d=(e,t)=>e===t;class m{constructor(e,t){this.tag=e,this.value=t}static some(e){return new m(!0,e)}static none(){return m.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?m.some(e(this.value)):m.none()}bind(e){return this.tag?e(this.value):m.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:m.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return s(e)?m.some(e):m.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}m.singletonNone=new m(!1);const h=Array.prototype.indexOf,f=Array.prototype.push,p=e=>{const t=[];for(let n=0,o=e.length;n{for(let n=0;ne.exists((e=>n(e,t))),x=e=>{const t=[],n=e=>{t.push(e)};for(let t=0;te?m.some(t):m.none(),b=e=>t=>t.options.get(e),_=b("link_assume_external_targets"),w=b("link_context_toolbar"),C=b("link_list"),O=b("link_default_target"),N=b("link_default_protocol"),A=b("link_target_list"),S=b("link_rel_list"),E=b("link_class_list"),T=b("link_title"),R=b("allow_unsafe_link_target"),P=b("link_quicklink");var L=tinymce.util.Tools.resolve("tinymce.util.Tools");const M=e=>o(e.value)?e.value:"",D=(e,t)=>{const n=[];return L.each(e,(e=>{const r=(e=>o(e.text)?e.text:o(e.title)?e.title:"")(e);if(void 0!==e.menu){const o=D(e.menu,t);n.push({text:r,items:o})}else{const o=t(e);n.push({text:r,value:o})}})),n},B=(e=M)=>t=>m.from(t).map((t=>D(t,e))),I=e=>B(M)(e),j=B,K=(e,t)=>n=>({name:e,type:"listbox",label:t,items:n}),U=M,q=Object.keys,F=Object.hasOwnProperty,V=(e,t)=>F.call(e,t);var $=tinymce.util.Tools.resolve("tinymce.dom.TreeWalker"),z=tinymce.util.Tools.resolve("tinymce.util.URI");const G=e=>s(e)&&"a"===e.nodeName.toLowerCase(),H=e=>G(e)&&!!Q(e),J=(e,t)=>{if(e.collapsed)return[];{const n=e.cloneContents(),o=n.firstChild,r=new $(o,n),l=[];let i=o;do{t(i)&&l.push(i)}while(i=r.next());return l}},W=e=>/^\w+:/i.test(e),Q=e=>{var t,n;return null!==(n=null!==(t=e.getAttribute("data-mce-href"))&&void 0!==t?t:e.getAttribute("href"))&&void 0!==n?n:""},X=(e,t)=>{const n=["noopener"],o=e?e.split(/\s+/):[],r=e=>e.filter((e=>-1===L.inArray(n,e))),l=t?(e=>(e=r(e)).length>0?e.concat(n):n)(o):r(o);return l.length>0?(e=>L.trim(e.sort().join(" ")))(l):""},Y=(e,t)=>(t=t||te(e.selection.getRng())[0]||e.selection.getNode(),le(t)?m.from(e.dom.select("a[href]",t)[0]):m.from(e.dom.getParent(t,"a[href]"))),Z=(e,t)=>Y(e,t).isSome(),ee=(e,t)=>t.fold((()=>e.getContent({format:"text"})),(e=>e.innerText||e.textContent||"")).replace(/\uFEFF/g,""),te=e=>J(e,H),ne=e=>L.grep(e,H),oe=e=>ne(e).length>0,re=e=>{const t=e.schema.getTextInlineElements();if(Y(e).exists((e=>e.hasAttribute("data-mce-block"))))return!1;const n=e.selection.getRng();return!!n.collapsed||0===J(n,(e=>1===e.nodeType&&!G(e)&&!V(t,e.nodeName.toLowerCase()))).length},le=e=>s(e)&&"FIGURE"===e.nodeName&&/\bimage\b/i.test(e.className),ie=(e,t,n)=>{const o=e.selection.getNode(),r=Y(e,o),l=((e,t)=>{const n={...t};if(0===S(e).length&&!R(e)){const e=X(n.rel,"_blank"===n.target);n.rel=e||null}return m.from(n.target).isNone()&&!1===A(e)&&(n.target=O(e)),n.href=((e,t)=>"http"!==t&&"https"!==t||W(e)?e:t+"://"+e)(n.href,_(e)),n})(e,(e=>{return t=["title","rel","class","target"],n=(t,n)=>(e[n].each((e=>{t[n]=e.length>0?e:null})),t),o={href:e.href},((e,t)=>{for(let n=0,o=e.length;n{o=n(o,e)})),o;var t,n,o})(n));e.undoManager.transact((()=>{n.href===t.href&&t.attach(),r.fold((()=>{((e,t,n,o)=>{const r=e.dom;le(t)?ge(r,t,o):n.fold((()=>{e.execCommand("mceInsertLink",!1,o)}),(t=>{e.insertContent(r.createHTML("a",o,r.encode(t)))}))})(e,o,n.text,l)}),(t=>{e.focus(),((e,t,n,o)=>{n.each((e=>{V(t,"innerText")?t.innerText=e:t.textContent=e})),e.dom.setAttribs(t,o),e.selection.select(t)})(e,t,n.text,l)}))}))},ae=e=>{const{class:t,href:n,rel:o,target:r,text:l,title:a}=e;return((e,t)=>{const n={};var o;return((e,t,n,o)=>{((e,t)=>{const n=q(e);for(let o=0,r=n.length;o{(t(e,r)?n:o)(e,r)}))})(e,((e,t)=>!1===i(e)),(o=n,(e,t)=>{o[t]=e}),g),n})({class:t.getOrNull(),href:n,rel:o.getOrNull(),target:r.getOrNull(),text:l.getOrNull(),title:a.getOrNull()})},se=(e,t,n)=>{const o=((e,t)=>{const n=e.options.get,o={allow_html_data_urls:n("allow_html_data_urls"),allow_script_urls:n("allow_script_urls"),allow_svg_data_urls:n("allow_svg_data_urls")},r=t.href;return{...t,href:z.isDomSafe(r,"a",o)?r:""}})(e,n);e.hasPlugin("rtc",!0)?e.execCommand("createlink",!1,ae(o)):ie(e,t,o)},ce=e=>{e.hasPlugin("rtc",!0)?e.execCommand("unlink"):(e=>{e.undoManager.transact((()=>{const t=e.selection.getNode();le(t)?ue(e,t):(e=>{const t=e.dom,n=e.selection,o=n.getBookmark(),r=n.getRng().cloneRange(),l=t.getParent(r.startContainer,"a[href]",e.getBody()),i=t.getParent(r.endContainer,"a[href]",e.getBody());l&&r.setStartBefore(l),i&&r.setEndAfter(i),n.setRng(r),e.execCommand("unlink"),n.moveToBookmark(o)})(e),e.focus()}))})(e)},ue=(e,t)=>{var n;const o=e.dom.select("img",t)[0];if(o){const r=e.dom.getParents(o,"a[href]",t)[0];r&&(null===(n=r.parentNode)||void 0===n||n.insertBefore(o,r),e.dom.remove(r))}},ge=(e,t,n)=>{var o;const r=e.select("img",t)[0];if(r){const t=e.create("a",n);null===(o=r.parentNode)||void 0===o||o.insertBefore(t,r),t.appendChild(r)}},de=(e,t)=>k(t,(t=>(e=>{return V(t=e,n="items")&&void 0!==t[n]&&null!==t[n];var t,n})(t)?de(e,t.items):y(t.value===e,t))),me=(e,t)=>{const n={text:e.text,title:e.title},o=(e,o)=>{const r=(l=t,i=o,"link"===i?l.link:"anchor"===i?l.anchor:m.none()).getOr([]);var l,i;return((e,t,n,o)=>{const r=o[t],l=e.length>0;return void 0!==r?de(r,n).map((t=>({url:{value:t.value,meta:{text:l?e:t.text,attach:g}},text:l?e:t.text}))):m.none()})(n.text,o,r,e)};return{onChange:(e,t)=>{const r=t.name;return"url"===r?(e=>{const t=(o=e.url,y(n.text.length<=0,m.from(null===(r=o.meta)||void 0===r?void 0:r.text).getOr(o.value)));var o,r;const l=(e=>{var t;return y(n.title.length<=0,m.from(null===(t=e.meta)||void 0===t?void 0:t.title).getOr(""))})(e.url);return t.isSome()||l.isSome()?m.some({...t.map((e=>({text:e}))).getOr({}),...l.map((e=>({title:e}))).getOr({})}):m.none()})(e()):((e,t)=>h.call(e,t))(["anchor","link"],r)>-1?o(e(),r):"text"===r||"title"===r?(n[r]=e()[r],m.none()):m.none()}}};var he=tinymce.util.Tools.resolve("tinymce.util.Delay");const fe=e=>{const t=e.href;return t.indexOf("@")>0&&-1===t.indexOf("/")&&-1===t.indexOf("mailto:")?m.some({message:"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?",preprocess:e=>({...e,href:"mailto:"+t})}):m.none()},pe=(e,t)=>n=>{const o=n.href;return 1===e&&!W(o)||0===e&&/^\s*www(\.|\d\.)/i.test(o)?m.some({message:`The URL you entered seems to be an external link. Do you want to add the required ${t}:// prefix?`,preprocess:e=>({...e,href:t+"://"+o})}):m.none()},ke=e=>{const t=e.dom.select("a:not([href])"),n=p(((e,t)=>{const n=e.length,o=new Array(n);for(let r=0;r{const t=e.name||e.id;return t?[{text:t,value:"#"+t}]:[]})));return n.length>0?m.some([{text:"None",value:""}].concat(n)):m.none()},ve=e=>{const t=E(e);return t.length>0?I(t):m.none()},xe=e=>{try{return m.some(JSON.parse(e))}catch(e){return m.none()}},ye=(e,t)=>{const n=S(e);if(n.length>0){const o=v(t,"_blank"),r=e=>X(U(e),o);return(!1===R(e)?j(r):I)(n)}return m.none()},be=[{text:"Current window",value:""},{text:"New window",value:"_blank"}],_e=e=>{const t=A(e);return l(t)?I(t).orThunk((()=>m.some(be))):!1===t?m.none():m.some(be)},we=(e,t,n)=>{const o=e.getAttrib(t,n);return null!==o&&o.length>0?m.some(o):m.none()},Ce=(e,t)=>(e=>{const t=t=>e.convertURL(t.value||t.url||"","href"),n=C(e);return new Promise((e=>{o(n)?fetch(n).then((e=>e.ok?e.text().then(xe):Promise.reject())).then(e,(()=>e(m.none()))):c(n)?n((t=>e(m.some(t)))):e(m.from(n))})).then((e=>e.bind(j(t)).map((e=>e.length>0?[{text:"None",value:""}].concat(e):e))))})(e).then((n=>{const o=((e,t)=>{const n=e.dom,o=re(e)?m.some(ee(e.selection,t)):m.none(),r=t.bind((e=>m.from(n.getAttrib(e,"href")))),l=t.bind((e=>m.from(n.getAttrib(e,"target")))),i=t.bind((e=>we(n,e,"rel"))),a=t.bind((e=>we(n,e,"class")));return{url:r,text:o,title:t.bind((e=>we(n,e,"title"))),target:l,rel:i,linkClass:a}})(e,t);return{anchor:o,catalogs:{targets:_e(e),rels:ye(e,o.target),classes:ve(e),anchor:ke(e),link:n},optNode:t,flags:{titleEnabled:T(e)}}})),Oe=e=>{const t=(e=>{const t=Y(e);return Ce(e,t)})(e);t.then((t=>{const n=((e,t)=>n=>{const o=n.getData();if(!o.url.value)return ce(e),void n.close();const r=e=>m.from(o[e]).filter((n=>!v(t.anchor[e],n))),l={href:o.url.value,text:r("text"),target:r("target"),rel:r("rel"),class:r("linkClass"),title:r("title")},i={href:o.url.value,attach:void 0!==o.url.meta&&o.url.meta.attach?o.url.meta.attach:g};((e,t)=>k([fe,pe(_(e),N(e))],(e=>e(t))).fold((()=>Promise.resolve(t)),(n=>new Promise((o=>{((e,t,n)=>{const o=e.selection.getRng();he.setEditorTimeout(e,(()=>{e.windowManager.confirm(t,(t=>{e.selection.setRng(o),n(t)}))}))})(e,n.message,(e=>{o(e?n.preprocess(t):t)}))})))))(e,l).then((t=>{se(e,i,t)})),n.close()})(e,t);return((e,t,n)=>{const o=e.anchor.text.map((()=>({name:"text",type:"input",label:"Text to display"}))).toArray(),r=e.flags.titleEnabled?[{name:"title",type:"input",label:"Title"}]:[],l=((e,t)=>{const n=e.anchor,o=n.url.getOr("");return{url:{value:o,meta:{original:{value:o}}},text:n.text.getOr(""),title:n.title.getOr(""),anchor:o,link:o,rel:n.rel.getOr(""),target:n.target.or(t).getOr(""),linkClass:n.linkClass.getOr("")}})(e,m.from(O(n))),i=e.catalogs,a=me(l,i);return{title:"Insert/Edit Link",size:"normal",body:{type:"panel",items:p([[{name:"url",type:"urlinput",filetype:"file",label:"URL",picker_text:"Browse links"}],o,r,x([i.anchor.map(K("anchor","Anchors")),i.rels.map(K("rel","Rel")),i.targets.map(K("target","Open link in...")),i.link.map(K("link","Link list")),i.classes.map(K("linkClass","Class"))])])},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:l,onChange:(e,{name:t})=>{a.onChange(e.getData,{name:t}).each((t=>{e.setData(t)}))},onSubmit:t}})(t,n,e)})).then((t=>{e.windowManager.open(t)}))};var Ne=tinymce.util.Tools.resolve("tinymce.util.VK");const Ae=(e,t)=>e.dom.getParent(t,"a[href]"),Se=e=>Ae(e,e.selection.getStart()),Ee=(e,t)=>{if(t){const n=Q(t);if(/^#/.test(n)){const t=e.dom.select(n);t.length&&e.selection.scrollIntoView(t[0],!0)}else(e=>{const t=document.createElement("a");t.target="_blank",t.href=e,t.rel="noreferrer noopener";const n=document.createEvent("MouseEvents");n.initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),((e,t)=>{document.body.appendChild(e),e.dispatchEvent(t),document.body.removeChild(e)})(t,n)})(t.href)}},Te=e=>()=>{e.execCommand("mceLink",!1,{dialog:!0})},Re=e=>()=>{Ee(e,Se(e))},Pe=(e,t)=>(e.on("NodeChange",t),()=>e.off("NodeChange",t)),Le=e=>t=>{const n=()=>{t.setActive(!e.mode.isReadOnly()&&Z(e,e.selection.getNode())),t.setEnabled(e.selection.isEditable())};return n(),Pe(e,n)},Me=e=>t=>{const n=()=>{t.setEnabled(e.selection.isEditable())};return n(),Pe(e,n)},De=e=>t=>{const n=()=>t.setEnabled((e=>1===(e.selection.isCollapsed()?ne(e.dom.getParents(e.selection.getStart())):te(e.selection.getRng())).length)(e));return n(),Pe(e,n)},Be=e=>t=>{const n=e.dom.getParents(e.selection.getStart()),o=n=>{t.setEnabled((t=>{return oe(t)||(n=e.selection.getRng(),te(n).length>0);var n})(n)&&e.selection.isEditable())};return o(n),Pe(e,(e=>o(e.parents)))};e.add("link",(e=>{(e=>{const t=e.options.register;t("link_assume_external_targets",{processor:e=>{const t=o(e)||a(e);return t?!0===e?{value:1,valid:t}:"http"===e||"https"===e?{value:e,valid:t}:{value:0,valid:t}:{valid:!1,message:"Must be a string or a boolean."}},default:!1}),t("link_context_toolbar",{processor:"boolean",default:!1}),t("link_list",{processor:e=>o(e)||c(e)||u(e,r)}),t("link_default_target",{processor:"string"}),t("link_default_protocol",{processor:"string",default:"https"}),t("link_target_list",{processor:e=>a(e)||u(e,r),default:!0}),t("link_rel_list",{processor:"object[]",default:[]}),t("link_class_list",{processor:"object[]",default:[]}),t("link_title",{processor:"boolean",default:!0}),t("allow_unsafe_link_target",{processor:"boolean",default:!1}),t("link_quicklink",{processor:"boolean",default:!1})})(e),(e=>{e.ui.registry.addToggleButton("link",{icon:"link",tooltip:"Insert/edit link",onAction:Te(e),onSetup:Le(e)}),e.ui.registry.addButton("openlink",{icon:"new-tab",tooltip:"Open link",onAction:Re(e),onSetup:De(e)}),e.ui.registry.addButton("unlink",{icon:"unlink",tooltip:"Remove link",onAction:()=>ce(e),onSetup:Be(e)})})(e),(e=>{e.ui.registry.addMenuItem("openlink",{text:"Open link",icon:"new-tab",onAction:Re(e),onSetup:De(e)}),e.ui.registry.addMenuItem("link",{icon:"link",text:"Link...",shortcut:"Meta+K",onSetup:Me(e),onAction:Te(e)}),e.ui.registry.addMenuItem("unlink",{icon:"unlink",text:"Remove link",onAction:()=>ce(e),onSetup:Be(e)})})(e),(e=>{e.ui.registry.addContextMenu("link",{update:t=>e.dom.isEditable(t)?oe(e.dom.getParents(t,"a"))?"link unlink openlink":"link":""})})(e),(e=>{const t=t=>{const n=e.selection.getNode();return t.setEnabled(Z(e,n)),g};e.ui.registry.addContextForm("quicklink",{launch:{type:"contextformtogglebutton",icon:"link",tooltip:"Link",onSetup:Le(e)},label:"Link",predicate:t=>w(e)&&Z(e,t),initValue:()=>Y(e).fold((()=>""),Q),commands:[{type:"contextformtogglebutton",icon:"link",tooltip:"Link",primary:!0,onSetup:t=>{const n=e.selection.getNode();return t.setActive(Z(e,n)),Le(e)(t)},onAction:t=>{const n=t.getValue(),o=(t=>{const n=Y(e),o=re(e);if(n.isNone()&&o){const o=ee(e.selection,n);return y(0===o.length,t)}return m.none()})(n);se(e,{href:n,attach:g},{href:n,text:o,title:m.none(),rel:m.none(),target:m.none(),class:m.none()}),(e=>{e.selection.collapse(!1)})(e),t.hide()}},{type:"contextformbutton",icon:"unlink",tooltip:"Remove link",onSetup:t,onAction:t=>{ce(e),t.hide()}},{type:"contextformbutton",icon:"new-tab",tooltip:"Open link",onSetup:t,onAction:t=>{Re(e)(),t.hide()}}]})})(e),(e=>{e.on("click",(t=>{const n=Ae(e,t.target);n&&Ne.metaKeyPressed(t)&&(t.preventDefault(),Ee(e,n))})),e.on("keydown",(t=>{if(!t.isDefaultPrevented()&&13===t.keyCode&&(e=>!0===e.altKey&&!1===e.shiftKey&&!1===e.ctrlKey&&!1===e.metaKey)(t)){const n=Se(e);n&&(t.preventDefault(),Ee(e,n))}}))})(e),(e=>{e.addCommand("mceLink",((t,n)=>{!0!==(null==n?void 0:n.dialog)&&P(e)?e.dispatch("contexttoolbar-show",{toolbarKey:"quicklink"}):Oe(e)}))})(e),(e=>{e.addShortcut("Meta+K","",(()=>{e.execCommand("mceLink")}))})(e)}))}(); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/lists/index.js b/public/tools/cloud_notes/tinymce/plugins/lists/index.js new file mode 100644 index 0000000..c7d055e --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/lists/index.js @@ -0,0 +1,7 @@ +// Exports the "lists" plugin for usage with module loaders +// Usage: +// CommonJS: +// require('tinymce/plugins/lists') +// ES2015: +// import 'tinymce/plugins/lists' +require('./plugin.js'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/lists/plugin.js b/public/tools/cloud_notes/tinymce/plugins/lists/plugin.js new file mode 100644 index 0000000..905a966 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/lists/plugin.js @@ -0,0 +1,2172 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ + +(function () { + 'use strict'; + + var global$7 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + const hasProto = (v, constructor, predicate) => { + var _a; + if (predicate(v, constructor.prototype)) { + return true; + } else { + return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name; + } + }; + const typeOf = x => { + const t = typeof x; + if (x === null) { + return 'null'; + } else if (t === 'object' && Array.isArray(x)) { + return 'array'; + } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) { + return 'string'; + } else { + return t; + } + }; + const isType$1 = type => value => typeOf(value) === type; + const isSimpleType = type => value => typeof value === type; + const isString = isType$1('string'); + const isObject = isType$1('object'); + const isArray = isType$1('array'); + const isBoolean = isSimpleType('boolean'); + const isNullable = a => a === null || a === undefined; + const isNonNullable = a => !isNullable(a); + const isFunction = isSimpleType('function'); + const isNumber = isSimpleType('number'); + + const noop = () => { + }; + const compose1 = (fbc, fab) => a => fbc(fab(a)); + const constant = value => { + return () => { + return value; + }; + }; + const tripleEquals = (a, b) => { + return a === b; + }; + function curry(fn, ...initialArgs) { + return (...restArgs) => { + const all = initialArgs.concat(restArgs); + return fn.apply(null, all); + }; + } + const not = f => t => !f(t); + const never = constant(false); + + class Optional { + constructor(tag, value) { + this.tag = tag; + this.value = value; + } + static some(value) { + return new Optional(true, value); + } + static none() { + return Optional.singletonNone; + } + fold(onNone, onSome) { + if (this.tag) { + return onSome(this.value); + } else { + return onNone(); + } + } + isSome() { + return this.tag; + } + isNone() { + return !this.tag; + } + map(mapper) { + if (this.tag) { + return Optional.some(mapper(this.value)); + } else { + return Optional.none(); + } + } + bind(binder) { + if (this.tag) { + return binder(this.value); + } else { + return Optional.none(); + } + } + exists(predicate) { + return this.tag && predicate(this.value); + } + forall(predicate) { + return !this.tag || predicate(this.value); + } + filter(predicate) { + if (!this.tag || predicate(this.value)) { + return this; + } else { + return Optional.none(); + } + } + getOr(replacement) { + return this.tag ? this.value : replacement; + } + or(replacement) { + return this.tag ? this : replacement; + } + getOrThunk(thunk) { + return this.tag ? this.value : thunk(); + } + orThunk(thunk) { + return this.tag ? this : thunk(); + } + getOrDie(message) { + if (!this.tag) { + throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None'); + } else { + return this.value; + } + } + static from(value) { + return isNonNullable(value) ? Optional.some(value) : Optional.none(); + } + getOrNull() { + return this.tag ? this.value : null; + } + getOrUndefined() { + return this.value; + } + each(worker) { + if (this.tag) { + worker(this.value); + } + } + toArray() { + return this.tag ? [this.value] : []; + } + toString() { + return this.tag ? `some(${ this.value })` : 'none()'; + } + } + Optional.singletonNone = new Optional(false); + + const nativeSlice = Array.prototype.slice; + const nativeIndexOf = Array.prototype.indexOf; + const nativePush = Array.prototype.push; + const rawIndexOf = (ts, t) => nativeIndexOf.call(ts, t); + const contains$1 = (xs, x) => rawIndexOf(xs, x) > -1; + const exists = (xs, pred) => { + for (let i = 0, len = xs.length; i < len; i++) { + const x = xs[i]; + if (pred(x, i)) { + return true; + } + } + return false; + }; + const map = (xs, f) => { + const len = xs.length; + const r = new Array(len); + for (let i = 0; i < len; i++) { + const x = xs[i]; + r[i] = f(x, i); + } + return r; + }; + const each$1 = (xs, f) => { + for (let i = 0, len = xs.length; i < len; i++) { + const x = xs[i]; + f(x, i); + } + }; + const filter$1 = (xs, pred) => { + const r = []; + for (let i = 0, len = xs.length; i < len; i++) { + const x = xs[i]; + if (pred(x, i)) { + r.push(x); + } + } + return r; + }; + const groupBy = (xs, f) => { + if (xs.length === 0) { + return []; + } else { + let wasType = f(xs[0]); + const r = []; + let group = []; + for (let i = 0, len = xs.length; i < len; i++) { + const x = xs[i]; + const type = f(x); + if (type !== wasType) { + r.push(group); + group = []; + } + wasType = type; + group.push(x); + } + if (group.length !== 0) { + r.push(group); + } + return r; + } + }; + const foldl = (xs, f, acc) => { + each$1(xs, (x, i) => { + acc = f(acc, x, i); + }); + return acc; + }; + const findUntil = (xs, pred, until) => { + for (let i = 0, len = xs.length; i < len; i++) { + const x = xs[i]; + if (pred(x, i)) { + return Optional.some(x); + } else if (until(x, i)) { + break; + } + } + return Optional.none(); + }; + const find = (xs, pred) => { + return findUntil(xs, pred, never); + }; + const flatten = xs => { + const r = []; + for (let i = 0, len = xs.length; i < len; ++i) { + if (!isArray(xs[i])) { + throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs); + } + nativePush.apply(r, xs[i]); + } + return r; + }; + const bind = (xs, f) => flatten(map(xs, f)); + const reverse = xs => { + const r = nativeSlice.call(xs, 0); + r.reverse(); + return r; + }; + const get$1 = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none(); + const head = xs => get$1(xs, 0); + const last = xs => get$1(xs, xs.length - 1); + const unique = (xs, comparator) => { + const r = []; + const isDuplicated = isFunction(comparator) ? x => exists(r, i => comparator(i, x)) : x => contains$1(r, x); + for (let i = 0, len = xs.length; i < len; i++) { + const x = xs[i]; + if (!isDuplicated(x)) { + r.push(x); + } + } + return r; + }; + + const is$2 = (lhs, rhs, comparator = tripleEquals) => lhs.exists(left => comparator(left, rhs)); + const equals = (lhs, rhs, comparator = tripleEquals) => lift2(lhs, rhs, comparator).getOr(lhs.isNone() && rhs.isNone()); + const lift2 = (oa, ob, f) => oa.isSome() && ob.isSome() ? Optional.some(f(oa.getOrDie(), ob.getOrDie())) : Optional.none(); + + const COMMENT = 8; + const DOCUMENT = 9; + const DOCUMENT_FRAGMENT = 11; + const ELEMENT = 1; + const TEXT = 3; + + const fromHtml = (html, scope) => { + const doc = scope || document; + const div = doc.createElement('div'); + div.innerHTML = html; + if (!div.hasChildNodes() || div.childNodes.length > 1) { + const message = 'HTML does not have a single root node'; + console.error(message, html); + throw new Error(message); + } + return fromDom$1(div.childNodes[0]); + }; + const fromTag = (tag, scope) => { + const doc = scope || document; + const node = doc.createElement(tag); + return fromDom$1(node); + }; + const fromText = (text, scope) => { + const doc = scope || document; + const node = doc.createTextNode(text); + return fromDom$1(node); + }; + const fromDom$1 = node => { + if (node === null || node === undefined) { + throw new Error('Node cannot be null or undefined'); + } + return { dom: node }; + }; + const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom$1); + const SugarElement = { + fromHtml, + fromTag, + fromText, + fromDom: fromDom$1, + fromPoint + }; + + const is$1 = (element, selector) => { + const dom = element.dom; + if (dom.nodeType !== ELEMENT) { + return false; + } else { + const elem = dom; + if (elem.matches !== undefined) { + return elem.matches(selector); + } else if (elem.msMatchesSelector !== undefined) { + return elem.msMatchesSelector(selector); + } else if (elem.webkitMatchesSelector !== undefined) { + return elem.webkitMatchesSelector(selector); + } else if (elem.mozMatchesSelector !== undefined) { + return elem.mozMatchesSelector(selector); + } else { + throw new Error('Browser lacks native selectors'); + } + } + }; + + const eq = (e1, e2) => e1.dom === e2.dom; + const contains = (e1, e2) => { + const d1 = e1.dom; + const d2 = e2.dom; + return d1 === d2 ? false : d1.contains(d2); + }; + const is = is$1; + + const Global = typeof window !== 'undefined' ? window : Function('return this;')(); + + const path = (parts, scope) => { + let o = scope !== undefined && scope !== null ? scope : Global; + for (let i = 0; i < parts.length && o !== undefined && o !== null; ++i) { + o = o[parts[i]]; + } + return o; + }; + const resolve = (p, scope) => { + const parts = p.split('.'); + return path(parts, scope); + }; + + const unsafe = (name, scope) => { + return resolve(name, scope); + }; + const getOrDie = (name, scope) => { + const actual = unsafe(name, scope); + if (actual === undefined || actual === null) { + throw new Error(name + ' not available on this browser'); + } + return actual; + }; + + const getPrototypeOf = Object.getPrototypeOf; + const sandHTMLElement = scope => { + return getOrDie('HTMLElement', scope); + }; + const isPrototypeOf = x => { + const scope = resolve('ownerDocument.defaultView', x); + return isObject(x) && (sandHTMLElement(scope).prototype.isPrototypeOf(x) || /^HTML\w*Element$/.test(getPrototypeOf(x).constructor.name)); + }; + + const name = element => { + const r = element.dom.nodeName; + return r.toLowerCase(); + }; + const type = element => element.dom.nodeType; + const isType = t => element => type(element) === t; + const isComment = element => type(element) === COMMENT || name(element) === '#comment'; + const isHTMLElement = element => isElement$1(element) && isPrototypeOf(element.dom); + const isElement$1 = isType(ELEMENT); + const isText = isType(TEXT); + const isDocument = isType(DOCUMENT); + const isDocumentFragment = isType(DOCUMENT_FRAGMENT); + const isTag = tag => e => isElement$1(e) && name(e) === tag; + + const owner = element => SugarElement.fromDom(element.dom.ownerDocument); + const documentOrOwner = dos => isDocument(dos) ? dos : owner(dos); + const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom); + const parentElement = element => Optional.from(element.dom.parentElement).map(SugarElement.fromDom); + const nextSibling = element => Optional.from(element.dom.nextSibling).map(SugarElement.fromDom); + const children = element => map(element.dom.childNodes, SugarElement.fromDom); + const child = (element, index) => { + const cs = element.dom.childNodes; + return Optional.from(cs[index]).map(SugarElement.fromDom); + }; + const firstChild = element => child(element, 0); + const lastChild = element => child(element, element.dom.childNodes.length - 1); + + const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host); + const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode); + const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner; + const getShadowRoot = e => { + const r = getRootNode(e); + return isShadowRoot(r) ? Optional.some(r) : Optional.none(); + }; + const getShadowHost = e => SugarElement.fromDom(e.dom.host); + + const inBody = element => { + const dom = isText(element) ? element.dom.parentNode : element.dom; + if (dom === undefined || dom === null || dom.ownerDocument === null) { + return false; + } + const doc = dom.ownerDocument; + return getShadowRoot(SugarElement.fromDom(dom)).fold(() => doc.body.contains(dom), compose1(inBody, getShadowHost)); + }; + + var ClosestOrAncestor = (is, ancestor, scope, a, isRoot) => { + if (is(scope, a)) { + return Optional.some(scope); + } else if (isFunction(isRoot) && isRoot(scope)) { + return Optional.none(); + } else { + return ancestor(scope, a, isRoot); + } + }; + + const ancestor$3 = (scope, predicate, isRoot) => { + let element = scope.dom; + const stop = isFunction(isRoot) ? isRoot : never; + while (element.parentNode) { + element = element.parentNode; + const el = SugarElement.fromDom(element); + if (predicate(el)) { + return Optional.some(el); + } else if (stop(el)) { + break; + } + } + return Optional.none(); + }; + const closest$2 = (scope, predicate, isRoot) => { + const is = (s, test) => test(s); + return ClosestOrAncestor(is, ancestor$3, scope, predicate, isRoot); + }; + + const ancestor$2 = (scope, selector, isRoot) => ancestor$3(scope, e => is$1(e, selector), isRoot); + const closest$1 = (scope, selector, isRoot) => { + const is = (element, selector) => is$1(element, selector); + return ClosestOrAncestor(is, ancestor$2, scope, selector, isRoot); + }; + + const closest = target => closest$1(target, '[contenteditable]'); + const isEditable = (element, assumeEditable = false) => { + if (inBody(element)) { + return element.dom.isContentEditable; + } else { + return closest(element).fold(constant(assumeEditable), editable => getRaw(editable) === 'true'); + } + }; + const getRaw = element => element.dom.contentEditable; + + const before$1 = (marker, element) => { + const parent$1 = parent(marker); + parent$1.each(v => { + v.dom.insertBefore(element.dom, marker.dom); + }); + }; + const after = (marker, element) => { + const sibling = nextSibling(marker); + sibling.fold(() => { + const parent$1 = parent(marker); + parent$1.each(v => { + append$1(v, element); + }); + }, v => { + before$1(v, element); + }); + }; + const prepend = (parent, element) => { + const firstChild$1 = firstChild(parent); + firstChild$1.fold(() => { + append$1(parent, element); + }, v => { + parent.dom.insertBefore(element.dom, v.dom); + }); + }; + const append$1 = (parent, element) => { + parent.dom.appendChild(element.dom); + }; + + const before = (marker, elements) => { + each$1(elements, x => { + before$1(marker, x); + }); + }; + const append = (parent, elements) => { + each$1(elements, x => { + append$1(parent, x); + }); + }; + + const empty = element => { + element.dom.textContent = ''; + each$1(children(element), rogue => { + remove(rogue); + }); + }; + const remove = element => { + const dom = element.dom; + if (dom.parentNode !== null) { + dom.parentNode.removeChild(dom); + } + }; + + var global$6 = tinymce.util.Tools.resolve('tinymce.dom.RangeUtils'); + + var global$5 = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker'); + + var global$4 = tinymce.util.Tools.resolve('tinymce.util.VK'); + + const fromDom = nodes => map(nodes, SugarElement.fromDom); + + const keys = Object.keys; + const each = (obj, f) => { + const props = keys(obj); + for (let k = 0, len = props.length; k < len; k++) { + const i = props[k]; + const x = obj[i]; + f(x, i); + } + }; + const objAcc = r => (x, i) => { + r[i] = x; + }; + const internalFilter = (obj, pred, onTrue, onFalse) => { + each(obj, (x, i) => { + (pred(x, i) ? onTrue : onFalse)(x, i); + }); + }; + const filter = (obj, pred) => { + const t = {}; + internalFilter(obj, pred, objAcc(t), noop); + return t; + }; + + const rawSet = (dom, key, value) => { + if (isString(value) || isBoolean(value) || isNumber(value)) { + dom.setAttribute(key, value + ''); + } else { + console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom); + throw new Error('Attribute value was not simple'); + } + }; + const setAll = (element, attrs) => { + const dom = element.dom; + each(attrs, (v, k) => { + rawSet(dom, k, v); + }); + }; + const clone$1 = element => foldl(element.dom.attributes, (acc, attr) => { + acc[attr.name] = attr.value; + return acc; + }, {}); + + const clone = (original, isDeep) => SugarElement.fromDom(original.dom.cloneNode(isDeep)); + const deep = original => clone(original, true); + const shallowAs = (original, tag) => { + const nu = SugarElement.fromTag(tag); + const attributes = clone$1(original); + setAll(nu, attributes); + return nu; + }; + const mutate = (original, tag) => { + const nu = shallowAs(original, tag); + after(original, nu); + const children$1 = children(original); + append(nu, children$1); + remove(original); + return nu; + }; + + var global$3 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils'); + + var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools'); + + const matchNodeName = name => node => isNonNullable(node) && node.nodeName.toLowerCase() === name; + const matchNodeNames = regex => node => isNonNullable(node) && regex.test(node.nodeName); + const isTextNode$1 = node => isNonNullable(node) && node.nodeType === 3; + const isElement = node => isNonNullable(node) && node.nodeType === 1; + const isListNode = matchNodeNames(/^(OL|UL|DL)$/); + const isOlUlNode = matchNodeNames(/^(OL|UL)$/); + const isOlNode = matchNodeName('ol'); + const isListItemNode = matchNodeNames(/^(LI|DT|DD)$/); + const isDlItemNode = matchNodeNames(/^(DT|DD)$/); + const isTableCellNode = matchNodeNames(/^(TH|TD)$/); + const isBr = matchNodeName('br'); + const isFirstChild = node => { + var _a; + return ((_a = node.parentNode) === null || _a === void 0 ? void 0 : _a.firstChild) === node; + }; + const isTextBlock = (editor, node) => isNonNullable(node) && node.nodeName in editor.schema.getTextBlockElements(); + const isBlock = (node, blockElements) => isNonNullable(node) && node.nodeName in blockElements; + const isVoid = (editor, node) => isNonNullable(node) && node.nodeName in editor.schema.getVoidElements(); + const isBogusBr = (dom, node) => { + if (!isBr(node)) { + return false; + } + return dom.isBlock(node.nextSibling) && !isBr(node.previousSibling); + }; + const isEmpty$2 = (dom, elm, keepBookmarks) => { + const empty = dom.isEmpty(elm); + if (keepBookmarks && dom.select('span[data-mce-type=bookmark]', elm).length > 0) { + return false; + } + return empty; + }; + const isChildOfBody = (dom, elm) => dom.isChildOf(elm, dom.getRoot()); + + const option = name => editor => editor.options.get(name); + const register$3 = editor => { + const registerOption = editor.options.register; + registerOption('lists_indent_on_tab', { + processor: 'boolean', + default: true + }); + }; + const shouldIndentOnTab = option('lists_indent_on_tab'); + const getForcedRootBlock = option('forced_root_block'); + const getForcedRootBlockAttrs = option('forced_root_block_attrs'); + + const createTextBlock = (editor, contentNode) => { + const dom = editor.dom; + const blockElements = editor.schema.getBlockElements(); + const fragment = dom.createFragment(); + const blockName = getForcedRootBlock(editor); + const blockAttrs = getForcedRootBlockAttrs(editor); + let node; + let textBlock; + let hasContentNode = false; + textBlock = dom.create(blockName, blockAttrs); + if (!isBlock(contentNode.firstChild, blockElements)) { + fragment.appendChild(textBlock); + } + while (node = contentNode.firstChild) { + const nodeName = node.nodeName; + if (!hasContentNode && (nodeName !== 'SPAN' || node.getAttribute('data-mce-type') !== 'bookmark')) { + hasContentNode = true; + } + if (isBlock(node, blockElements)) { + fragment.appendChild(node); + textBlock = null; + } else { + if (!textBlock) { + textBlock = dom.create(blockName, blockAttrs); + fragment.appendChild(textBlock); + } + textBlock.appendChild(node); + } + } + if (!hasContentNode && textBlock) { + textBlock.appendChild(dom.create('br', { 'data-mce-bogus': '1' })); + } + return fragment; + }; + + const DOM$2 = global$3.DOM; + const splitList = (editor, list, li) => { + const removeAndKeepBookmarks = targetNode => { + const parent = targetNode.parentNode; + if (parent) { + global$2.each(bookmarks, node => { + parent.insertBefore(node, li.parentNode); + }); + } + DOM$2.remove(targetNode); + }; + const bookmarks = DOM$2.select('span[data-mce-type="bookmark"]', list); + const newBlock = createTextBlock(editor, li); + const tmpRng = DOM$2.createRng(); + tmpRng.setStartAfter(li); + tmpRng.setEndAfter(list); + const fragment = tmpRng.extractContents(); + for (let node = fragment.firstChild; node; node = node.firstChild) { + if (node.nodeName === 'LI' && editor.dom.isEmpty(node)) { + DOM$2.remove(node); + break; + } + } + if (!editor.dom.isEmpty(fragment)) { + DOM$2.insertAfter(fragment, list); + } + DOM$2.insertAfter(newBlock, list); + const parent = li.parentElement; + if (parent && isEmpty$2(editor.dom, parent)) { + removeAndKeepBookmarks(parent); + } + DOM$2.remove(li); + if (isEmpty$2(editor.dom, list)) { + DOM$2.remove(list); + } + }; + + const isDescriptionDetail = isTag('dd'); + const isDescriptionTerm = isTag('dt'); + const outdentDlItem = (editor, item) => { + if (isDescriptionDetail(item)) { + mutate(item, 'dt'); + } else if (isDescriptionTerm(item)) { + parentElement(item).each(dl => splitList(editor, dl.dom, item.dom)); + } + }; + const indentDlItem = item => { + if (isDescriptionTerm(item)) { + mutate(item, 'dd'); + } + }; + const dlIndentation = (editor, indentation, dlItems) => { + if (indentation === 'Indent') { + each$1(dlItems, indentDlItem); + } else { + each$1(dlItems, item => outdentDlItem(editor, item)); + } + }; + + const getNormalizedPoint = (container, offset) => { + if (isTextNode$1(container)) { + return { + container, + offset + }; + } + const node = global$6.getNode(container, offset); + if (isTextNode$1(node)) { + return { + container: node, + offset: offset >= container.childNodes.length ? node.data.length : 0 + }; + } else if (node.previousSibling && isTextNode$1(node.previousSibling)) { + return { + container: node.previousSibling, + offset: node.previousSibling.data.length + }; + } else if (node.nextSibling && isTextNode$1(node.nextSibling)) { + return { + container: node.nextSibling, + offset: 0 + }; + } + return { + container, + offset + }; + }; + const normalizeRange = rng => { + const outRng = rng.cloneRange(); + const rangeStart = getNormalizedPoint(rng.startContainer, rng.startOffset); + outRng.setStart(rangeStart.container, rangeStart.offset); + const rangeEnd = getNormalizedPoint(rng.endContainer, rng.endOffset); + outRng.setEnd(rangeEnd.container, rangeEnd.offset); + return outRng; + }; + + const listNames = [ + 'OL', + 'UL', + 'DL' + ]; + const listSelector = listNames.join(','); + const getParentList = (editor, node) => { + const selectionStart = node || editor.selection.getStart(true); + return editor.dom.getParent(selectionStart, listSelector, getClosestListHost(editor, selectionStart)); + }; + const isParentListSelected = (parentList, selectedBlocks) => isNonNullable(parentList) && selectedBlocks.length === 1 && selectedBlocks[0] === parentList; + const findSubLists = parentList => filter$1(parentList.querySelectorAll(listSelector), isListNode); + const getSelectedSubLists = editor => { + const parentList = getParentList(editor); + const selectedBlocks = editor.selection.getSelectedBlocks(); + if (isParentListSelected(parentList, selectedBlocks)) { + return findSubLists(parentList); + } else { + return filter$1(selectedBlocks, elm => { + return isListNode(elm) && parentList !== elm; + }); + } + }; + const findParentListItemsNodes = (editor, elms) => { + const listItemsElms = global$2.map(elms, elm => { + const parentLi = editor.dom.getParent(elm, 'li,dd,dt', getClosestListHost(editor, elm)); + return parentLi ? parentLi : elm; + }); + return unique(listItemsElms); + }; + const getSelectedListItems = editor => { + const selectedBlocks = editor.selection.getSelectedBlocks(); + return filter$1(findParentListItemsNodes(editor, selectedBlocks), isListItemNode); + }; + const getSelectedDlItems = editor => filter$1(getSelectedListItems(editor), isDlItemNode); + const getClosestEditingHost = (editor, elm) => { + const parentTableCell = editor.dom.getParents(elm, 'TD,TH'); + return parentTableCell.length > 0 ? parentTableCell[0] : editor.getBody(); + }; + const isListHost = (schema, node) => !isListNode(node) && !isListItemNode(node) && exists(listNames, listName => schema.isValidChild(node.nodeName, listName)); + const getClosestListHost = (editor, elm) => { + const parentBlocks = editor.dom.getParents(elm, editor.dom.isBlock); + const parentBlock = find(parentBlocks, elm => isListHost(editor.schema, elm)); + return parentBlock.getOr(editor.getBody()); + }; + const isListInsideAnLiWithFirstAndLastNotListElement = list => parent(list).exists(parent => isListItemNode(parent.dom) && firstChild(parent).exists(firstChild => !isListNode(firstChild.dom)) && lastChild(parent).exists(lastChild => !isListNode(lastChild.dom))); + const findLastParentListNode = (editor, elm) => { + const parentLists = editor.dom.getParents(elm, 'ol,ul', getClosestListHost(editor, elm)); + return last(parentLists); + }; + const getSelectedLists = editor => { + const firstList = findLastParentListNode(editor, editor.selection.getStart()); + const subsequentLists = filter$1(editor.selection.getSelectedBlocks(), isOlUlNode); + return firstList.toArray().concat(subsequentLists); + }; + const getParentLists = editor => { + const elm = editor.selection.getStart(); + return editor.dom.getParents(elm, 'ol,ul', getClosestListHost(editor, elm)); + }; + const getSelectedListRoots = editor => { + const selectedLists = getSelectedLists(editor); + const parentLists = getParentLists(editor); + return find(parentLists, p => isListInsideAnLiWithFirstAndLastNotListElement(SugarElement.fromDom(p))).fold(() => getUniqueListRoots(editor, selectedLists), l => [l]); + }; + const getUniqueListRoots = (editor, lists) => { + const listRoots = map(lists, list => findLastParentListNode(editor, list).getOr(list)); + return unique(listRoots); + }; + + const isCustomList = list => /\btox\-/.test(list.className); + const inList = (parents, listName) => findUntil(parents, isListNode, isTableCellNode).exists(list => list.nodeName === listName && !isCustomList(list)); + const isWithinNonEditable = (editor, element) => element !== null && !editor.dom.isEditable(element); + const selectionIsWithinNonEditableList = editor => { + const parentList = getParentList(editor); + return isWithinNonEditable(editor, parentList); + }; + const isWithinNonEditableList = (editor, element) => { + const parentList = editor.dom.getParent(element, 'ol,ul,dl'); + return isWithinNonEditable(editor, parentList); + }; + const setNodeChangeHandler = (editor, nodeChangeHandler) => { + const initialNode = editor.selection.getNode(); + nodeChangeHandler({ + parents: editor.dom.getParents(initialNode), + element: initialNode + }); + editor.on('NodeChange', nodeChangeHandler); + return () => editor.off('NodeChange', nodeChangeHandler); + }; + + const fromElements = (elements, scope) => { + const doc = scope || document; + const fragment = doc.createDocumentFragment(); + each$1(elements, element => { + fragment.appendChild(element.dom); + }); + return SugarElement.fromDom(fragment); + }; + + const fireListEvent = (editor, action, element) => editor.dispatch('ListMutation', { + action, + element + }); + + const blank = r => s => s.replace(r, ''); + const trim = blank(/^\s+|\s+$/g); + const isNotEmpty = s => s.length > 0; + const isEmpty$1 = s => !isNotEmpty(s); + + const isSupported = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue); + + const internalSet = (dom, property, value) => { + if (!isString(value)) { + console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom); + throw new Error('CSS value must be a string: ' + value); + } + if (isSupported(dom)) { + dom.style.setProperty(property, value); + } + }; + const set = (element, property, value) => { + const dom = element.dom; + internalSet(dom, property, value); + }; + + const isList = el => is(el, 'OL,UL'); + const isListItem = el => is(el, 'LI'); + const hasFirstChildList = el => firstChild(el).exists(isList); + const hasLastChildList = el => lastChild(el).exists(isList); + + const isEntryList = entry => 'listAttributes' in entry; + const isEntryComment = entry => 'isComment' in entry; + const isEntryFragment = entry => 'isFragment' in entry; + const isIndented = entry => entry.depth > 0; + const isSelected = entry => entry.isSelected; + const cloneItemContent = li => { + const children$1 = children(li); + const content = hasLastChildList(li) ? children$1.slice(0, -1) : children$1; + return map(content, deep); + }; + const createEntry = (li, depth, isSelected) => parent(li).filter(isElement$1).map(list => ({ + depth, + dirty: false, + isSelected, + content: cloneItemContent(li), + itemAttributes: clone$1(li), + listAttributes: clone$1(list), + listType: name(list), + isInPreviousLi: false + })); + + const joinSegment = (parent, child) => { + append$1(parent.item, child.list); + }; + const joinSegments = segments => { + for (let i = 1; i < segments.length; i++) { + joinSegment(segments[i - 1], segments[i]); + } + }; + const appendSegments = (head$1, tail) => { + lift2(last(head$1), head(tail), joinSegment); + }; + const createSegment = (scope, listType) => { + const segment = { + list: SugarElement.fromTag(listType, scope), + item: SugarElement.fromTag('li', scope) + }; + append$1(segment.list, segment.item); + return segment; + }; + const createSegments = (scope, entry, size) => { + const segments = []; + for (let i = 0; i < size; i++) { + segments.push(createSegment(scope, isEntryList(entry) ? entry.listType : entry.parentListType)); + } + return segments; + }; + const populateSegments = (segments, entry) => { + for (let i = 0; i < segments.length - 1; i++) { + set(segments[i].item, 'list-style-type', 'none'); + } + last(segments).each(segment => { + if (isEntryList(entry)) { + setAll(segment.list, entry.listAttributes); + setAll(segment.item, entry.itemAttributes); + } + append(segment.item, entry.content); + }); + }; + const normalizeSegment = (segment, entry) => { + if (name(segment.list) !== entry.listType) { + segment.list = mutate(segment.list, entry.listType); + } + setAll(segment.list, entry.listAttributes); + }; + const createItem = (scope, attr, content) => { + const item = SugarElement.fromTag('li', scope); + setAll(item, attr); + append(item, content); + return item; + }; + const appendItem = (segment, item) => { + append$1(segment.list, item); + segment.item = item; + }; + const writeShallow = (scope, cast, entry) => { + const newCast = cast.slice(0, entry.depth); + last(newCast).each(segment => { + if (isEntryList(entry)) { + const item = createItem(scope, entry.itemAttributes, entry.content); + appendItem(segment, item); + normalizeSegment(segment, entry); + } else if (isEntryFragment(entry)) { + append(segment.item, entry.content); + } else { + const item = SugarElement.fromHtml(``); + append$1(segment.list, item); + } + }); + return newCast; + }; + const writeDeep = (scope, cast, entry) => { + const segments = createSegments(scope, entry, entry.depth - cast.length); + joinSegments(segments); + populateSegments(segments, entry); + appendSegments(cast, segments); + return cast.concat(segments); + }; + const composeList = (scope, entries) => { + let firstCommentEntryOpt = Optional.none(); + const cast = foldl(entries, (cast, entry, i) => { + if (!isEntryComment(entry)) { + return entry.depth > cast.length ? writeDeep(scope, cast, entry) : writeShallow(scope, cast, entry); + } else { + if (i === 0) { + firstCommentEntryOpt = Optional.some(entry); + return cast; + } + return writeShallow(scope, cast, entry); + } + }, []); + firstCommentEntryOpt.each(firstCommentEntry => { + const item = SugarElement.fromHtml(``); + head(cast).each(fistCast => { + prepend(fistCast.list, item); + }); + }); + return head(cast).map(segment => segment.list); + }; + + const indentEntry = (indentation, entry) => { + switch (indentation) { + case 'Indent': + entry.depth++; + break; + case 'Outdent': + entry.depth--; + break; + case 'Flatten': + entry.depth = 0; + } + entry.dirty = true; + }; + + const cloneListProperties = (target, source) => { + if (isEntryList(target) && isEntryList(source)) { + target.listType = source.listType; + target.listAttributes = { ...source.listAttributes }; + } + }; + const cleanListProperties = entry => { + entry.listAttributes = filter(entry.listAttributes, (_value, key) => key !== 'start'); + }; + const closestSiblingEntry = (entries, start) => { + const depth = entries[start].depth; + const matches = entry => entry.depth === depth && !entry.dirty; + const until = entry => entry.depth < depth; + return findUntil(reverse(entries.slice(0, start)), matches, until).orThunk(() => findUntil(entries.slice(start + 1), matches, until)); + }; + const normalizeEntries = entries => { + each$1(entries, (entry, i) => { + closestSiblingEntry(entries, i).fold(() => { + if (entry.dirty && isEntryList(entry)) { + cleanListProperties(entry); + } + }, matchingEntry => cloneListProperties(entry, matchingEntry)); + }); + return entries; + }; + + const Cell = initial => { + let value = initial; + const get = () => { + return value; + }; + const set = v => { + value = v; + }; + return { + get, + set + }; + }; + + const parseSingleItem = (depth, itemSelection, selectionState, item) => { + var _a; + if (isComment(item)) { + return [{ + depth: depth + 1, + content: (_a = item.dom.nodeValue) !== null && _a !== void 0 ? _a : '', + dirty: false, + isSelected: false, + isComment: true + }]; + } + itemSelection.each(selection => { + if (eq(selection.start, item)) { + selectionState.set(true); + } + }); + const currentItemEntry = createEntry(item, depth, selectionState.get()); + itemSelection.each(selection => { + if (eq(selection.end, item)) { + selectionState.set(false); + } + }); + const childListEntries = lastChild(item).filter(isList).map(list => parseList(depth, itemSelection, selectionState, list)).getOr([]); + return currentItemEntry.toArray().concat(childListEntries); + }; + const parseItem = (depth, itemSelection, selectionState, item) => firstChild(item).filter(isList).fold(() => parseSingleItem(depth, itemSelection, selectionState, item), list => { + const parsedSiblings = foldl(children(item), (acc, liChild, i) => { + if (i === 0) { + return acc; + } else { + if (isListItem(liChild)) { + return acc.concat(parseSingleItem(depth, itemSelection, selectionState, liChild)); + } else { + const fragment = { + isFragment: true, + depth, + content: [liChild], + isSelected: false, + dirty: false, + parentListType: name(list) + }; + return acc.concat(fragment); + } + } + }, []); + return parseList(depth, itemSelection, selectionState, list).concat(parsedSiblings); + }); + const parseList = (depth, itemSelection, selectionState, list) => bind(children(list), element => { + const parser = isList(element) ? parseList : parseItem; + const newDepth = depth + 1; + return parser(newDepth, itemSelection, selectionState, element); + }); + const parseLists = (lists, itemSelection) => { + const selectionState = Cell(false); + const initialDepth = 0; + return map(lists, list => ({ + sourceList: list, + entries: parseList(initialDepth, itemSelection, selectionState, list) + })); + }; + + const outdentedComposer = (editor, entries) => { + const normalizedEntries = normalizeEntries(entries); + return map(normalizedEntries, entry => { + const content = !isEntryComment(entry) ? fromElements(entry.content) : fromElements([SugarElement.fromHtml(``)]); + return SugarElement.fromDom(createTextBlock(editor, content.dom)); + }); + }; + const indentedComposer = (editor, entries) => { + const normalizedEntries = normalizeEntries(entries); + return composeList(editor.contentDocument, normalizedEntries).toArray(); + }; + const composeEntries = (editor, entries) => bind(groupBy(entries, isIndented), entries => { + const groupIsIndented = head(entries).exists(isIndented); + return groupIsIndented ? indentedComposer(editor, entries) : outdentedComposer(editor, entries); + }); + const indentSelectedEntries = (entries, indentation) => { + each$1(filter$1(entries, isSelected), entry => indentEntry(indentation, entry)); + }; + const getItemSelection = editor => { + const selectedListItems = map(getSelectedListItems(editor), SugarElement.fromDom); + return lift2(find(selectedListItems, not(hasFirstChildList)), find(reverse(selectedListItems), not(hasFirstChildList)), (start, end) => ({ + start, + end + })); + }; + const listIndentation = (editor, lists, indentation) => { + const entrySets = parseLists(lists, getItemSelection(editor)); + each$1(entrySets, entrySet => { + indentSelectedEntries(entrySet.entries, indentation); + const composedLists = composeEntries(editor, entrySet.entries); + each$1(composedLists, composedList => { + fireListEvent(editor, indentation === 'Indent' ? 'IndentList' : 'OutdentList', composedList.dom); + }); + before(entrySet.sourceList, composedLists); + remove(entrySet.sourceList); + }); + }; + + const selectionIndentation = (editor, indentation) => { + const lists = fromDom(getSelectedListRoots(editor)); + const dlItems = fromDom(getSelectedDlItems(editor)); + let isHandled = false; + if (lists.length || dlItems.length) { + const bookmark = editor.selection.getBookmark(); + listIndentation(editor, lists, indentation); + dlIndentation(editor, indentation, dlItems); + editor.selection.moveToBookmark(bookmark); + editor.selection.setRng(normalizeRange(editor.selection.getRng())); + editor.nodeChanged(); + isHandled = true; + } + return isHandled; + }; + const handleIndentation = (editor, indentation) => !selectionIsWithinNonEditableList(editor) && selectionIndentation(editor, indentation); + const indentListSelection = editor => handleIndentation(editor, 'Indent'); + const outdentListSelection = editor => handleIndentation(editor, 'Outdent'); + const flattenListSelection = editor => handleIndentation(editor, 'Flatten'); + + const zeroWidth = '\uFEFF'; + const isZwsp = char => char === zeroWidth; + + const ancestor$1 = (scope, predicate, isRoot) => ancestor$3(scope, predicate, isRoot).isSome(); + + const ancestor = (element, target) => ancestor$1(element, curry(eq, target)); + + var global$1 = tinymce.util.Tools.resolve('tinymce.dom.BookmarkManager'); + + const DOM$1 = global$3.DOM; + const createBookmark = rng => { + const bookmark = {}; + const setupEndPoint = start => { + let container = rng[start ? 'startContainer' : 'endContainer']; + let offset = rng[start ? 'startOffset' : 'endOffset']; + if (isElement(container)) { + const offsetNode = DOM$1.create('span', { 'data-mce-type': 'bookmark' }); + if (container.hasChildNodes()) { + offset = Math.min(offset, container.childNodes.length - 1); + if (start) { + container.insertBefore(offsetNode, container.childNodes[offset]); + } else { + DOM$1.insertAfter(offsetNode, container.childNodes[offset]); + } + } else { + container.appendChild(offsetNode); + } + container = offsetNode; + offset = 0; + } + bookmark[start ? 'startContainer' : 'endContainer'] = container; + bookmark[start ? 'startOffset' : 'endOffset'] = offset; + }; + setupEndPoint(true); + if (!rng.collapsed) { + setupEndPoint(); + } + return bookmark; + }; + const resolveBookmark = bookmark => { + const restoreEndPoint = start => { + const nodeIndex = container => { + var _a; + let node = (_a = container.parentNode) === null || _a === void 0 ? void 0 : _a.firstChild; + let idx = 0; + while (node) { + if (node === container) { + return idx; + } + if (!isElement(node) || node.getAttribute('data-mce-type') !== 'bookmark') { + idx++; + } + node = node.nextSibling; + } + return -1; + }; + let container = bookmark[start ? 'startContainer' : 'endContainer']; + let offset = bookmark[start ? 'startOffset' : 'endOffset']; + if (!container) { + return; + } + if (isElement(container) && container.parentNode) { + const node = container; + offset = nodeIndex(container); + container = container.parentNode; + DOM$1.remove(node); + if (!container.hasChildNodes() && DOM$1.isBlock(container)) { + container.appendChild(DOM$1.create('br')); + } + } + bookmark[start ? 'startContainer' : 'endContainer'] = container; + bookmark[start ? 'startOffset' : 'endOffset'] = offset; + }; + restoreEndPoint(true); + restoreEndPoint(); + const rng = DOM$1.createRng(); + rng.setStart(bookmark.startContainer, bookmark.startOffset); + if (bookmark.endContainer) { + rng.setEnd(bookmark.endContainer, bookmark.endOffset); + } + return normalizeRange(rng); + }; + + const listToggleActionFromListName = listName => { + switch (listName) { + case 'UL': + return 'ToggleUlList'; + case 'OL': + return 'ToggleOlList'; + case 'DL': + return 'ToggleDLList'; + } + }; + + const updateListStyle = (dom, el, detail) => { + const type = detail['list-style-type'] ? detail['list-style-type'] : null; + dom.setStyle(el, 'list-style-type', type); + }; + const setAttribs = (elm, attrs) => { + global$2.each(attrs, (value, key) => { + elm.setAttribute(key, value); + }); + }; + const updateListAttrs = (dom, el, detail) => { + setAttribs(el, detail['list-attributes']); + global$2.each(dom.select('li', el), li => { + setAttribs(li, detail['list-item-attributes']); + }); + }; + const updateListWithDetails = (dom, el, detail) => { + updateListStyle(dom, el, detail); + updateListAttrs(dom, el, detail); + }; + const removeStyles = (dom, element, styles) => { + global$2.each(styles, style => dom.setStyle(element, style, '')); + }; + const isInline = (editor, node) => isNonNullable(node) && !isBlock(node, editor.schema.getBlockElements()); + const getEndPointNode = (editor, rng, start, root) => { + let container = rng[start ? 'startContainer' : 'endContainer']; + const offset = rng[start ? 'startOffset' : 'endOffset']; + if (isElement(container)) { + container = container.childNodes[Math.min(offset, container.childNodes.length - 1)] || container; + } + if (!start && isBr(container.nextSibling)) { + container = container.nextSibling; + } + const findBlockAncestor = node => { + while (!editor.dom.isBlock(node) && node.parentNode && root !== node) { + node = node.parentNode; + } + return node; + }; + const findBetterContainer = (container, forward) => { + var _a; + const walker = new global$5(container, findBlockAncestor(container)); + const dir = forward ? 'next' : 'prev'; + let node; + while (node = walker[dir]()) { + if (!(isVoid(editor, node) || isZwsp(node.textContent) || ((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.length) === 0)) { + return Optional.some(node); + } + } + return Optional.none(); + }; + if (start && isTextNode$1(container)) { + if (isZwsp(container.textContent)) { + container = findBetterContainer(container, false).getOr(container); + } else { + if (container.parentNode !== null && isInline(editor, container.parentNode)) { + container = container.parentNode; + } + while (container.previousSibling !== null && (isInline(editor, container.previousSibling) || isTextNode$1(container.previousSibling))) { + container = container.previousSibling; + } + } + } + if (!start && isTextNode$1(container)) { + if (isZwsp(container.textContent)) { + container = findBetterContainer(container, true).getOr(container); + } else { + if (container.parentNode !== null && isInline(editor, container.parentNode)) { + container = container.parentNode; + } + while (container.nextSibling !== null && (isInline(editor, container.nextSibling) || isTextNode$1(container.nextSibling))) { + container = container.nextSibling; + } + } + } + while (container.parentNode !== root) { + const parent = container.parentNode; + if (isTextBlock(editor, container)) { + return container; + } + if (/^(TD|TH)$/.test(parent.nodeName)) { + return container; + } + container = parent; + } + return container; + }; + const getSelectedTextBlocks = (editor, rng, root) => { + const textBlocks = []; + const dom = editor.dom; + const startNode = getEndPointNode(editor, rng, true, root); + const endNode = getEndPointNode(editor, rng, false, root); + let block; + const siblings = []; + for (let node = startNode; node; node = node.nextSibling) { + siblings.push(node); + if (node === endNode) { + break; + } + } + global$2.each(siblings, node => { + var _a; + if (isTextBlock(editor, node)) { + textBlocks.push(node); + block = null; + return; + } + if (dom.isBlock(node) || isBr(node)) { + if (isBr(node)) { + dom.remove(node); + } + block = null; + return; + } + const nextSibling = node.nextSibling; + if (global$1.isBookmarkNode(node)) { + if (isListNode(nextSibling) || isTextBlock(editor, nextSibling) || !nextSibling && node.parentNode === root) { + block = null; + return; + } + } + if (!block) { + block = dom.create('p'); + (_a = node.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(block, node); + textBlocks.push(block); + } + block.appendChild(node); + }); + return textBlocks; + }; + const hasCompatibleStyle = (dom, sib, detail) => { + const sibStyle = dom.getStyle(sib, 'list-style-type'); + let detailStyle = detail ? detail['list-style-type'] : ''; + detailStyle = detailStyle === null ? '' : detailStyle; + return sibStyle === detailStyle; + }; + const getRootSearchStart = (editor, range) => { + const start = editor.selection.getStart(true); + const startPoint = getEndPointNode(editor, range, true, editor.getBody()); + if (ancestor(SugarElement.fromDom(startPoint), SugarElement.fromDom(range.commonAncestorContainer))) { + return range.commonAncestorContainer; + } else { + return start; + } + }; + const applyList = (editor, listName, detail) => { + const rng = editor.selection.getRng(); + let listItemName = 'LI'; + const root = getClosestListHost(editor, getRootSearchStart(editor, rng)); + const dom = editor.dom; + if (dom.getContentEditable(editor.selection.getNode()) === 'false') { + return; + } + listName = listName.toUpperCase(); + if (listName === 'DL') { + listItemName = 'DT'; + } + const bookmark = createBookmark(rng); + const selectedTextBlocks = filter$1(getSelectedTextBlocks(editor, rng, root), editor.dom.isEditable); + global$2.each(selectedTextBlocks, block => { + let listBlock; + const sibling = block.previousSibling; + const parent = block.parentNode; + if (!isListItemNode(parent)) { + if (sibling && isListNode(sibling) && sibling.nodeName === listName && hasCompatibleStyle(dom, sibling, detail)) { + listBlock = sibling; + block = dom.rename(block, listItemName); + sibling.appendChild(block); + } else { + listBlock = dom.create(listName); + parent.insertBefore(listBlock, block); + listBlock.appendChild(block); + block = dom.rename(block, listItemName); + } + removeStyles(dom, block, [ + 'margin', + 'margin-right', + 'margin-bottom', + 'margin-left', + 'margin-top', + 'padding', + 'padding-right', + 'padding-bottom', + 'padding-left', + 'padding-top' + ]); + updateListWithDetails(dom, listBlock, detail); + mergeWithAdjacentLists(editor.dom, listBlock); + } + }); + editor.selection.setRng(resolveBookmark(bookmark)); + }; + const isValidLists = (list1, list2) => { + return isListNode(list1) && list1.nodeName === (list2 === null || list2 === void 0 ? void 0 : list2.nodeName); + }; + const hasSameListStyle = (dom, list1, list2) => { + const targetStyle = dom.getStyle(list1, 'list-style-type', true); + const style = dom.getStyle(list2, 'list-style-type', true); + return targetStyle === style; + }; + const hasSameClasses = (elm1, elm2) => { + return elm1.className === elm2.className; + }; + const shouldMerge = (dom, list1, list2) => { + return isValidLists(list1, list2) && hasSameListStyle(dom, list1, list2) && hasSameClasses(list1, list2); + }; + const mergeWithAdjacentLists = (dom, listBlock) => { + let node; + let sibling = listBlock.nextSibling; + if (shouldMerge(dom, listBlock, sibling)) { + const liSibling = sibling; + while (node = liSibling.firstChild) { + listBlock.appendChild(node); + } + dom.remove(liSibling); + } + sibling = listBlock.previousSibling; + if (shouldMerge(dom, listBlock, sibling)) { + const liSibling = sibling; + while (node = liSibling.lastChild) { + listBlock.insertBefore(node, listBlock.firstChild); + } + dom.remove(liSibling); + } + }; + const updateList$1 = (editor, list, listName, detail) => { + if (list.nodeName !== listName) { + const newList = editor.dom.rename(list, listName); + updateListWithDetails(editor.dom, newList, detail); + fireListEvent(editor, listToggleActionFromListName(listName), newList); + } else { + updateListWithDetails(editor.dom, list, detail); + fireListEvent(editor, listToggleActionFromListName(listName), list); + } + }; + const updateCustomList = (editor, list, listName, detail) => { + list.classList.forEach((cls, _, classList) => { + if (cls.startsWith('tox-')) { + classList.remove(cls); + if (classList.length === 0) { + list.removeAttribute('class'); + } + } + }); + if (list.nodeName !== listName) { + const newList = editor.dom.rename(list, listName); + updateListWithDetails(editor.dom, newList, detail); + fireListEvent(editor, listToggleActionFromListName(listName), newList); + } else { + updateListWithDetails(editor.dom, list, detail); + fireListEvent(editor, listToggleActionFromListName(listName), list); + } + }; + const toggleMultipleLists = (editor, parentList, lists, listName, detail) => { + const parentIsList = isListNode(parentList); + if (parentIsList && parentList.nodeName === listName && !hasListStyleDetail(detail) && !isCustomList(parentList)) { + flattenListSelection(editor); + } else { + applyList(editor, listName, detail); + const bookmark = createBookmark(editor.selection.getRng()); + const allLists = parentIsList ? [ + parentList, + ...lists + ] : lists; + const updateFunction = parentIsList && isCustomList(parentList) ? updateCustomList : updateList$1; + global$2.each(allLists, elm => { + updateFunction(editor, elm, listName, detail); + }); + editor.selection.setRng(resolveBookmark(bookmark)); + } + }; + const hasListStyleDetail = detail => { + return 'list-style-type' in detail; + }; + const toggleSingleList = (editor, parentList, listName, detail) => { + if (parentList === editor.getBody()) { + return; + } + if (parentList) { + if (parentList.nodeName === listName && !hasListStyleDetail(detail) && !isCustomList(parentList)) { + flattenListSelection(editor); + } else { + const bookmark = createBookmark(editor.selection.getRng()); + if (isCustomList(parentList)) { + parentList.classList.forEach((cls, _, classList) => { + if (cls.startsWith('tox-')) { + classList.remove(cls); + if (classList.length === 0) { + parentList.removeAttribute('class'); + } + } + }); + } + updateListWithDetails(editor.dom, parentList, detail); + const newList = editor.dom.rename(parentList, listName); + mergeWithAdjacentLists(editor.dom, newList); + editor.selection.setRng(resolveBookmark(bookmark)); + applyList(editor, listName, detail); + fireListEvent(editor, listToggleActionFromListName(listName), newList); + } + } else { + applyList(editor, listName, detail); + fireListEvent(editor, listToggleActionFromListName(listName), parentList); + } + }; + const toggleList = (editor, listName, _detail) => { + const parentList = getParentList(editor); + if (isWithinNonEditableList(editor, parentList)) { + return; + } + const selectedSubLists = getSelectedSubLists(editor); + const detail = isObject(_detail) ? _detail : {}; + if (selectedSubLists.length > 0) { + toggleMultipleLists(editor, parentList, selectedSubLists, listName, detail); + } else { + toggleSingleList(editor, parentList, listName, detail); + } + }; + + const DOM = global$3.DOM; + const normalizeList = (dom, list) => { + const parentNode = list.parentElement; + if (parentNode && parentNode.nodeName === 'LI' && parentNode.firstChild === list) { + const sibling = parentNode.previousSibling; + if (sibling && sibling.nodeName === 'LI') { + sibling.appendChild(list); + if (isEmpty$2(dom, parentNode)) { + DOM.remove(parentNode); + } + } else { + DOM.setStyle(parentNode, 'listStyleType', 'none'); + } + } + if (isListNode(parentNode)) { + const sibling = parentNode.previousSibling; + if (sibling && sibling.nodeName === 'LI') { + sibling.appendChild(list); + } + } + }; + const normalizeLists = (dom, element) => { + const lists = global$2.grep(dom.select('ol,ul', element)); + global$2.each(lists, list => { + normalizeList(dom, list); + }); + }; + + const findNextCaretContainer = (editor, rng, isForward, root) => { + let node = rng.startContainer; + const offset = rng.startOffset; + if (isTextNode$1(node) && (isForward ? offset < node.data.length : offset > 0)) { + return node; + } + const nonEmptyBlocks = editor.schema.getNonEmptyElements(); + if (isElement(node)) { + node = global$6.getNode(node, offset); + } + const walker = new global$5(node, root); + if (isForward) { + if (isBogusBr(editor.dom, node)) { + walker.next(); + } + } + const walkFn = isForward ? walker.next.bind(walker) : walker.prev2.bind(walker); + while (node = walkFn()) { + if (node.nodeName === 'LI' && !node.hasChildNodes()) { + return node; + } + if (nonEmptyBlocks[node.nodeName]) { + return node; + } + if (isTextNode$1(node) && node.data.length > 0) { + return node; + } + } + return null; + }; + const hasOnlyOneBlockChild = (dom, elm) => { + const childNodes = elm.childNodes; + return childNodes.length === 1 && !isListNode(childNodes[0]) && dom.isBlock(childNodes[0]); + }; + const isUnwrappable = node => Optional.from(node).map(SugarElement.fromDom).filter(isHTMLElement).exists(el => isEditable(el) && !contains$1(['details'], name(el))); + const unwrapSingleBlockChild = (dom, elm) => { + if (hasOnlyOneBlockChild(dom, elm) && isUnwrappable(elm.firstChild)) { + dom.remove(elm.firstChild, true); + } + }; + const moveChildren = (dom, fromElm, toElm) => { + let node; + const targetElm = hasOnlyOneBlockChild(dom, toElm) ? toElm.firstChild : toElm; + unwrapSingleBlockChild(dom, fromElm); + if (!isEmpty$2(dom, fromElm, true)) { + while (node = fromElm.firstChild) { + targetElm.appendChild(node); + } + } + }; + const mergeLiElements = (dom, fromElm, toElm) => { + let listNode; + const ul = fromElm.parentNode; + if (!isChildOfBody(dom, fromElm) || !isChildOfBody(dom, toElm)) { + return; + } + if (isListNode(toElm.lastChild)) { + listNode = toElm.lastChild; + } + if (ul === toElm.lastChild) { + if (isBr(ul.previousSibling)) { + dom.remove(ul.previousSibling); + } + } + const node = toElm.lastChild; + if (node && isBr(node) && fromElm.hasChildNodes()) { + dom.remove(node); + } + if (isEmpty$2(dom, toElm, true)) { + empty(SugarElement.fromDom(toElm)); + } + moveChildren(dom, fromElm, toElm); + if (listNode) { + toElm.appendChild(listNode); + } + const contains$1 = contains(SugarElement.fromDom(toElm), SugarElement.fromDom(fromElm)); + const nestedLists = contains$1 ? dom.getParents(fromElm, isListNode, toElm) : []; + dom.remove(fromElm); + each$1(nestedLists, list => { + if (isEmpty$2(dom, list) && list !== dom.getRoot()) { + dom.remove(list); + } + }); + }; + const mergeIntoEmptyLi = (editor, fromLi, toLi) => { + empty(SugarElement.fromDom(toLi)); + mergeLiElements(editor.dom, fromLi, toLi); + editor.selection.setCursorLocation(toLi, 0); + }; + const mergeForward = (editor, rng, fromLi, toLi) => { + const dom = editor.dom; + if (dom.isEmpty(toLi)) { + mergeIntoEmptyLi(editor, fromLi, toLi); + } else { + const bookmark = createBookmark(rng); + mergeLiElements(dom, fromLi, toLi); + editor.selection.setRng(resolveBookmark(bookmark)); + } + }; + const mergeBackward = (editor, rng, fromLi, toLi) => { + const bookmark = createBookmark(rng); + mergeLiElements(editor.dom, fromLi, toLi); + const resolvedBookmark = resolveBookmark(bookmark); + editor.selection.setRng(resolvedBookmark); + }; + const backspaceDeleteFromListToListCaret = (editor, isForward) => { + const dom = editor.dom, selection = editor.selection; + const selectionStartElm = selection.getStart(); + const root = getClosestEditingHost(editor, selectionStartElm); + const li = dom.getParent(selection.getStart(), 'LI', root); + if (li) { + const ul = li.parentElement; + if (ul === editor.getBody() && isEmpty$2(dom, ul)) { + return true; + } + const rng = normalizeRange(selection.getRng()); + const otherLi = dom.getParent(findNextCaretContainer(editor, rng, isForward, root), 'LI', root); + const willMergeParentIntoChild = otherLi && (isForward ? dom.isChildOf(li, otherLi) : dom.isChildOf(otherLi, li)); + if (otherLi && otherLi !== li && !willMergeParentIntoChild) { + editor.undoManager.transact(() => { + if (isForward) { + mergeForward(editor, rng, otherLi, li); + } else { + if (isFirstChild(li)) { + outdentListSelection(editor); + } else { + mergeBackward(editor, rng, li, otherLi); + } + } + }); + return true; + } else if (willMergeParentIntoChild && !isForward && otherLi !== li) { + editor.undoManager.transact(() => { + if (rng.commonAncestorContainer.parentElement) { + const bookmark = createBookmark(rng); + const oldParentElRef = rng.commonAncestorContainer.parentElement; + moveChildren(dom, rng.commonAncestorContainer.parentElement, otherLi); + oldParentElRef.remove(); + const resolvedBookmark = resolveBookmark(bookmark); + editor.selection.setRng(resolvedBookmark); + } + }); + return true; + } else if (!otherLi) { + if (!isForward && rng.startOffset === 0 && rng.endOffset === 0) { + editor.undoManager.transact(() => { + flattenListSelection(editor); + }); + return true; + } + } + } + return false; + }; + const removeBlock = (dom, block, root) => { + const parentBlock = dom.getParent(block.parentNode, dom.isBlock, root); + dom.remove(block); + if (parentBlock && dom.isEmpty(parentBlock)) { + dom.remove(parentBlock); + } + }; + const backspaceDeleteIntoListCaret = (editor, isForward) => { + const dom = editor.dom; + const selectionStartElm = editor.selection.getStart(); + const root = getClosestEditingHost(editor, selectionStartElm); + const block = dom.getParent(selectionStartElm, dom.isBlock, root); + if (block && dom.isEmpty(block)) { + const rng = normalizeRange(editor.selection.getRng()); + const otherLi = dom.getParent(findNextCaretContainer(editor, rng, isForward, root), 'LI', root); + if (otherLi) { + const findValidElement = element => contains$1([ + 'td', + 'th', + 'caption' + ], name(element)); + const findRoot = node => node.dom === root; + const otherLiCell = closest$2(SugarElement.fromDom(otherLi), findValidElement, findRoot); + const caretCell = closest$2(SugarElement.fromDom(rng.startContainer), findValidElement, findRoot); + if (!equals(otherLiCell, caretCell, eq)) { + return false; + } + editor.undoManager.transact(() => { + const parentNode = otherLi.parentNode; + removeBlock(dom, block, root); + mergeWithAdjacentLists(dom, parentNode); + editor.selection.select(otherLi, true); + editor.selection.collapse(isForward); + }); + return true; + } + } + return false; + }; + const backspaceDeleteCaret = (editor, isForward) => { + return backspaceDeleteFromListToListCaret(editor, isForward) || backspaceDeleteIntoListCaret(editor, isForward); + }; + const hasListSelection = editor => { + const selectionStartElm = editor.selection.getStart(); + const root = getClosestEditingHost(editor, selectionStartElm); + const startListParent = editor.dom.getParent(selectionStartElm, 'LI,DT,DD', root); + return startListParent || getSelectedListItems(editor).length > 0; + }; + const backspaceDeleteRange = editor => { + if (hasListSelection(editor)) { + editor.undoManager.transact(() => { + editor.execCommand('Delete'); + normalizeLists(editor.dom, editor.getBody()); + }); + return true; + } + return false; + }; + const backspaceDelete = (editor, isForward) => { + const selection = editor.selection; + return !isWithinNonEditableList(editor, selection.getNode()) && (selection.isCollapsed() ? backspaceDeleteCaret(editor, isForward) : backspaceDeleteRange(editor)); + }; + const setup$2 = editor => { + editor.on('ExecCommand', e => { + const cmd = e.command.toLowerCase(); + if ((cmd === 'delete' || cmd === 'forwarddelete') && hasListSelection(editor)) { + normalizeLists(editor.dom, editor.getBody()); + } + }); + editor.on('keydown', e => { + if (e.keyCode === global$4.BACKSPACE) { + if (backspaceDelete(editor, false)) { + e.preventDefault(); + } + } else if (e.keyCode === global$4.DELETE) { + if (backspaceDelete(editor, true)) { + e.preventDefault(); + } + } + }); + }; + + const get = editor => ({ + backspaceDelete: isForward => { + backspaceDelete(editor, isForward); + } + }); + + const updateList = (editor, update) => { + const parentList = getParentList(editor); + if (parentList === null || isWithinNonEditableList(editor, parentList)) { + return; + } + editor.undoManager.transact(() => { + if (isObject(update.styles)) { + editor.dom.setStyles(parentList, update.styles); + } + if (isObject(update.attrs)) { + each(update.attrs, (v, k) => editor.dom.setAttrib(parentList, k, v)); + } + }); + }; + + const parseAlphabeticBase26 = str => { + const chars = reverse(trim(str).split('')); + const values = map(chars, (char, i) => { + const charValue = char.toUpperCase().charCodeAt(0) - 'A'.charCodeAt(0) + 1; + return Math.pow(26, i) * charValue; + }); + return foldl(values, (sum, v) => sum + v, 0); + }; + const composeAlphabeticBase26 = value => { + value--; + if (value < 0) { + return ''; + } else { + const remainder = value % 26; + const quotient = Math.floor(value / 26); + const rest = composeAlphabeticBase26(quotient); + const char = String.fromCharCode('A'.charCodeAt(0) + remainder); + return rest + char; + } + }; + const isUppercase = str => /^[A-Z]+$/.test(str); + const isLowercase = str => /^[a-z]+$/.test(str); + const isNumeric = str => /^[0-9]+$/.test(str); + const deduceListType = start => { + if (isNumeric(start)) { + return 2; + } else if (isUppercase(start)) { + return 0; + } else if (isLowercase(start)) { + return 1; + } else if (isEmpty$1(start)) { + return 3; + } else { + return 4; + } + }; + const parseStartValue = start => { + switch (deduceListType(start)) { + case 2: + return Optional.some({ + listStyleType: Optional.none(), + start + }); + case 0: + return Optional.some({ + listStyleType: Optional.some('upper-alpha'), + start: parseAlphabeticBase26(start).toString() + }); + case 1: + return Optional.some({ + listStyleType: Optional.some('lower-alpha'), + start: parseAlphabeticBase26(start).toString() + }); + case 3: + return Optional.some({ + listStyleType: Optional.none(), + start: '' + }); + case 4: + return Optional.none(); + } + }; + const parseDetail = detail => { + const start = parseInt(detail.start, 10); + if (is$2(detail.listStyleType, 'upper-alpha')) { + return composeAlphabeticBase26(start); + } else if (is$2(detail.listStyleType, 'lower-alpha')) { + return composeAlphabeticBase26(start).toLowerCase(); + } else { + return detail.start; + } + }; + + const open = editor => { + const currentList = getParentList(editor); + if (!isOlNode(currentList) || isWithinNonEditableList(editor, currentList)) { + return; + } + editor.windowManager.open({ + title: 'List Properties', + body: { + type: 'panel', + items: [{ + type: 'input', + name: 'start', + label: 'Start list at number', + inputMode: 'numeric' + }] + }, + initialData: { + start: parseDetail({ + start: editor.dom.getAttrib(currentList, 'start', '1'), + listStyleType: Optional.from(editor.dom.getStyle(currentList, 'list-style-type')) + }) + }, + buttons: [ + { + type: 'cancel', + name: 'cancel', + text: 'Cancel' + }, + { + type: 'submit', + name: 'save', + text: 'Save', + primary: true + } + ], + onSubmit: api => { + const data = api.getData(); + parseStartValue(data.start).each(detail => { + editor.execCommand('mceListUpdate', false, { + attrs: { start: detail.start === '1' ? '' : detail.start }, + styles: { 'list-style-type': detail.listStyleType.getOr('') } + }); + }); + api.close(); + } + }); + }; + + const queryListCommandState = (editor, listName) => () => { + const parentList = getParentList(editor); + return isNonNullable(parentList) && parentList.nodeName === listName; + }; + const registerDialog = editor => { + editor.addCommand('mceListProps', () => { + open(editor); + }); + }; + const register$2 = editor => { + editor.on('BeforeExecCommand', e => { + const cmd = e.command.toLowerCase(); + if (cmd === 'indent') { + indentListSelection(editor); + } else if (cmd === 'outdent') { + outdentListSelection(editor); + } + }); + editor.addCommand('InsertUnorderedList', (ui, detail) => { + toggleList(editor, 'UL', detail); + }); + editor.addCommand('InsertOrderedList', (ui, detail) => { + toggleList(editor, 'OL', detail); + }); + editor.addCommand('InsertDefinitionList', (ui, detail) => { + toggleList(editor, 'DL', detail); + }); + editor.addCommand('RemoveList', () => { + flattenListSelection(editor); + }); + registerDialog(editor); + editor.addCommand('mceListUpdate', (ui, detail) => { + if (isObject(detail)) { + updateList(editor, detail); + } + }); + editor.addQueryStateHandler('InsertUnorderedList', queryListCommandState(editor, 'UL')); + editor.addQueryStateHandler('InsertOrderedList', queryListCommandState(editor, 'OL')); + editor.addQueryStateHandler('InsertDefinitionList', queryListCommandState(editor, 'DL')); + }; + + var global = tinymce.util.Tools.resolve('tinymce.html.Node'); + + const isTextNode = node => node.type === 3; + const isEmpty = nodeBuffer => nodeBuffer.length === 0; + const wrapInvalidChildren = list => { + const insertListItem = (buffer, refNode) => { + const li = global.create('li'); + each$1(buffer, node => li.append(node)); + if (refNode) { + list.insert(li, refNode, true); + } else { + list.append(li); + } + }; + const reducer = (buffer, node) => { + if (isTextNode(node)) { + return [ + ...buffer, + node + ]; + } else if (!isEmpty(buffer) && !isTextNode(node)) { + insertListItem(buffer, node); + return []; + } else { + return buffer; + } + }; + const restBuffer = foldl(list.children(), reducer, []); + if (!isEmpty(restBuffer)) { + insertListItem(restBuffer); + } + }; + const setup$1 = editor => { + editor.on('PreInit', () => { + const {parser} = editor; + parser.addNodeFilter('ul,ol', nodes => each$1(nodes, wrapInvalidChildren)); + }); + }; + + const setupTabKey = editor => { + editor.on('keydown', e => { + if (e.keyCode !== global$4.TAB || global$4.metaKeyPressed(e)) { + return; + } + editor.undoManager.transact(() => { + if (e.shiftKey ? outdentListSelection(editor) : indentListSelection(editor)) { + e.preventDefault(); + } + }); + }); + }; + const setup = editor => { + if (shouldIndentOnTab(editor)) { + setupTabKey(editor); + } + setup$2(editor); + }; + + const setupToggleButtonHandler = (editor, listName) => api => { + const toggleButtonHandler = e => { + api.setActive(inList(e.parents, listName)); + api.setEnabled(!isWithinNonEditableList(editor, e.element) && editor.selection.isEditable()); + }; + api.setEnabled(editor.selection.isEditable()); + return setNodeChangeHandler(editor, toggleButtonHandler); + }; + const register$1 = editor => { + const exec = command => () => editor.execCommand(command); + if (!editor.hasPlugin('advlist')) { + editor.ui.registry.addToggleButton('numlist', { + icon: 'ordered-list', + active: false, + tooltip: 'Numbered list', + onAction: exec('InsertOrderedList'), + onSetup: setupToggleButtonHandler(editor, 'OL') + }); + editor.ui.registry.addToggleButton('bullist', { + icon: 'unordered-list', + active: false, + tooltip: 'Bullet list', + onAction: exec('InsertUnorderedList'), + onSetup: setupToggleButtonHandler(editor, 'UL') + }); + } + }; + + const setupMenuButtonHandler = (editor, listName) => api => { + const menuButtonHandler = e => api.setEnabled(inList(e.parents, listName) && !isWithinNonEditableList(editor, e.element)); + return setNodeChangeHandler(editor, menuButtonHandler); + }; + const register = editor => { + const listProperties = { + text: 'List properties...', + icon: 'ordered-list', + onAction: () => editor.execCommand('mceListProps'), + onSetup: setupMenuButtonHandler(editor, 'OL') + }; + editor.ui.registry.addMenuItem('listprops', listProperties); + editor.ui.registry.addContextMenu('lists', { + update: node => { + const parentList = getParentList(editor, node); + return isOlNode(parentList) ? ['listprops'] : []; + } + }); + }; + + var Plugin = () => { + global$7.add('lists', editor => { + register$3(editor); + setup$1(editor); + if (!editor.hasPlugin('rtc', true)) { + setup(editor); + register$2(editor); + } else { + registerDialog(editor); + } + register$1(editor); + register(editor); + return get(editor); + }); + }; + + Plugin(); + +})(); diff --git a/public/tools/cloud_notes/tinymce/plugins/lists/plugin.min.js b/public/tools/cloud_notes/tinymce/plugins/lists/plugin.min.js new file mode 100644 index 0000000..5d3b735 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/lists/plugin.min.js @@ -0,0 +1,4 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ +!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(n=o=e,(r=String).prototype.isPrototypeOf(n)||(null===(s=o.constructor)||void 0===s?void 0:s.name)===r.name)?"string":t;var n,o,r,s})(t)===e,n=e=>t=>typeof t===e,o=t("string"),r=t("object"),s=t("array"),i=n("boolean"),l=e=>!(e=>null==e)(e),a=n("function"),d=n("number"),c=()=>{},m=e=>()=>e,u=(e,t)=>e===t,p=e=>t=>!e(t),g=m(!1);class h{constructor(e,t){this.tag=e,this.value=t}static some(e){return new h(!0,e)}static none(){return h.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?h.some(e(this.value)):h.none()}bind(e){return this.tag?e(this.value):h.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:h.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return l(e)?h.some(e):h.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}h.singletonNone=new h(!1);const f=Array.prototype.slice,y=Array.prototype.indexOf,v=Array.prototype.push,C=(e,t)=>{return n=e,o=t,y.call(n,o)>-1;var n,o},b=(e,t)=>{for(let n=0,o=e.length;n{const n=e.length,o=new Array(n);for(let r=0;r{for(let n=0,o=e.length;n{const n=[];for(let o=0,r=e.length;o(S(e,((e,o)=>{n=t(n,e,o)})),n),A=(e,t,n)=>{for(let o=0,r=e.length;oA(e,t,g),x=(e,t)=>(e=>{const t=[];for(let n=0,o=e.length;n{const t=f.call(e,0);return t.reverse(),t},w=(e,t)=>t>=0&&tw(e,0),D=e=>w(e,e.length-1),B=(e,t)=>{const n=[],o=a(t)?e=>b(n,(n=>t(n,e))):e=>C(n,e);for(let t=0,r=e.length;te.exists((e=>n(e,t))),P=(e,t,n)=>e.isSome()&&t.isSome()?h.some(n(e.getOrDie(),t.getOrDie())):h.none(),I=e=>{if(null==e)throw new Error("Node cannot be null or undefined");return{dom:e}},R=(e,t)=>{const n=(t||document).createElement("div");if(n.innerHTML=e,!n.hasChildNodes()||n.childNodes.length>1){const t="HTML does not have a single root node";throw console.error(t,e),new Error(t)}return I(n.childNodes[0])},U=(e,t)=>{const n=(t||document).createElement(e);return I(n)},$=I,_=(e,t)=>{const n=e.dom;if(1!==n.nodeType)return!1;{const e=n;if(void 0!==e.matches)return e.matches(t);if(void 0!==e.msMatchesSelector)return e.msMatchesSelector(t);if(void 0!==e.webkitMatchesSelector)return e.webkitMatchesSelector(t);if(void 0!==e.mozMatchesSelector)return e.mozMatchesSelector(t);throw new Error("Browser lacks native selectors")}},H=(e,t)=>e.dom===t.dom,F=_,V="undefined"!=typeof window?window:Function("return this;")(),j=(e,t)=>((e,t)=>{let n=null!=t?t:V;for(let t=0;t{const t=j("ownerDocument.defaultView",e);return r(e)&&((e=>((e,t)=>{const n=((e,t)=>j(e,t))(e,t);if(null==n)throw new Error(e+" not available on this browser");return n})("HTMLElement",e))(t).prototype.isPrototypeOf(e)||/^HTML\w*Element$/.test(K(e).constructor.name))},Q=e=>e.dom.nodeName.toLowerCase(),W=e=>e.dom.nodeType,q=e=>t=>W(t)===e,Z=e=>G(e)&&z(e.dom),G=q(1),J=q(3),X=q(9),Y=q(11),ee=e=>t=>G(t)&&Q(t)===e,te=e=>h.from(e.dom.parentNode).map($),ne=e=>N(e.dom.childNodes,$),oe=(e,t)=>{const n=e.dom.childNodes;return h.from(n[t]).map($)},re=e=>oe(e,0),se=e=>oe(e,e.dom.childNodes.length-1),ie=a(Element.prototype.attachShadow)&&a(Node.prototype.getRootNode)?e=>$(e.dom.getRootNode()):e=>X(e)?e:$(e.dom.ownerDocument),le=e=>$(e.dom.host),ae=e=>{const t=J(e)?e.dom.parentNode:e.dom;if(null==t||null===t.ownerDocument)return!1;const n=t.ownerDocument;return(e=>{const t=ie(e);return Y(n=t)&&l(n.dom.host)?h.some(t):h.none();var n})($(t)).fold((()=>n.body.contains(t)),(o=ae,r=le,e=>o(r(e))));var o,r};var de=(e,t,n,o,r)=>e(n,o)?h.some(n):a(r)&&r(n)?h.none():t(n,o,r);const ce=(e,t,n)=>{let o=e.dom;const r=a(n)?n:g;for(;o.parentNode;){o=o.parentNode;const e=$(o);if(t(e))return h.some(e);if(r(e))break}return h.none()},me=(e,t,n)=>de(((e,t)=>t(e)),ce,e,t,n),ue=(e,t,n)=>ce(e,(e=>_(e,t)),n),pe=(e,t)=>{te(e).each((n=>{n.dom.insertBefore(t.dom,e.dom)}))},ge=(e,t)=>{e.dom.appendChild(t.dom)},he=(e,t)=>{S(t,(t=>{ge(e,t)}))},fe=e=>{e.dom.textContent="",S(ne(e),(e=>{ye(e)}))},ye=e=>{const t=e.dom;null!==t.parentNode&&t.parentNode.removeChild(t)};var ve=tinymce.util.Tools.resolve("tinymce.dom.RangeUtils"),Ce=tinymce.util.Tools.resolve("tinymce.dom.TreeWalker"),be=tinymce.util.Tools.resolve("tinymce.util.VK");const Ne=e=>N(e,$),Se=Object.keys,Le=(e,t)=>{const n=Se(e);for(let o=0,r=n.length;o{const n=e.dom;Le(t,((e,t)=>{((e,t,n)=>{if(!(o(n)||i(n)||d(n)))throw console.error("Invalid call to Attribute.set. Key ",t,":: Value ",n,":: Element ",e),new Error("Attribute value was not simple");e.setAttribute(t,n+"")})(n,t,e)}))},Ae=e=>O(e.dom.attributes,((e,t)=>(e[t.name]=t.value,e)),{}),Te=e=>((e,t)=>$(e.dom.cloneNode(!0)))(e),xe=(e,t)=>{const n=((e,t)=>{const n=U(t),o=Ae(e);return Oe(n,o),n})(e,t);var o,r;r=n,(e=>h.from(e.dom.nextSibling).map($))(o=e).fold((()=>{te(o).each((e=>{ge(e,r)}))}),(e=>{pe(e,r)}));const s=ne(e);return he(n,s),ye(e),n};var Ee=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),we=tinymce.util.Tools.resolve("tinymce.util.Tools");const ke=e=>t=>l(t)&&t.nodeName.toLowerCase()===e,De=e=>t=>l(t)&&e.test(t.nodeName),Be=e=>l(e)&&3===e.nodeType,Me=e=>l(e)&&1===e.nodeType,Pe=De(/^(OL|UL|DL)$/),Ie=De(/^(OL|UL)$/),Re=ke("ol"),Ue=De(/^(LI|DT|DD)$/),$e=De(/^(DT|DD)$/),_e=De(/^(TH|TD)$/),He=ke("br"),Fe=(e,t)=>l(t)&&t.nodeName in e.schema.getTextBlockElements(),Ve=(e,t)=>l(e)&&e.nodeName in t,je=(e,t)=>l(t)&&t.nodeName in e.schema.getVoidElements(),Ke=(e,t,n)=>{const o=e.isEmpty(t);return!(n&&e.select("span[data-mce-type=bookmark]",t).length>0)&&o},ze=(e,t)=>e.isChildOf(t,e.getRoot()),Qe=e=>t=>t.options.get(e),We=Qe("lists_indent_on_tab"),qe=Qe("forced_root_block"),Ze=Qe("forced_root_block_attrs"),Ge=(e,t)=>{const n=e.dom,o=e.schema.getBlockElements(),r=n.createFragment(),s=qe(e),i=Ze(e);let l,a,d=!1;for(a=n.create(s,i),Ve(t.firstChild,o)||r.appendChild(a);l=t.firstChild;){const e=l.nodeName;d||"SPAN"===e&&"bookmark"===l.getAttribute("data-mce-type")||(d=!0),Ve(l,o)?(r.appendChild(l),a=null):(a||(a=n.create(s,i),r.appendChild(a)),a.appendChild(l))}return!d&&a&&a.appendChild(n.create("br",{"data-mce-bogus":"1"})),r},Je=Ee.DOM,Xe=ee("dd"),Ye=ee("dt"),et=(e,t)=>{var n;Xe(t)?xe(t,"dt"):Ye(t)&&(n=t,h.from(n.dom.parentElement).map($)).each((n=>((e,t,n)=>{const o=Je.select('span[data-mce-type="bookmark"]',t),r=Ge(e,n),s=Je.createRng();s.setStartAfter(n),s.setEndAfter(t);const i=s.extractContents();for(let t=i.firstChild;t;t=t.firstChild)if("LI"===t.nodeName&&e.dom.isEmpty(t)){Je.remove(t);break}e.dom.isEmpty(i)||Je.insertAfter(i,t),Je.insertAfter(r,t);const l=n.parentElement;l&&Ke(e.dom,l)&&(e=>{const t=e.parentNode;t&&we.each(o,(e=>{t.insertBefore(e,n.parentNode)})),Je.remove(e)})(l),Je.remove(n),Ke(e.dom,t)&&Je.remove(t)})(e,n.dom,t.dom)))},tt=e=>{Ye(e)&&xe(e,"dd")},nt=(e,t)=>{if(Be(e))return{container:e,offset:t};const n=ve.getNode(e,t);return Be(n)?{container:n,offset:t>=e.childNodes.length?n.data.length:0}:n.previousSibling&&Be(n.previousSibling)?{container:n.previousSibling,offset:n.previousSibling.data.length}:n.nextSibling&&Be(n.nextSibling)?{container:n.nextSibling,offset:0}:{container:e,offset:t}},ot=e=>{const t=e.cloneRange(),n=nt(e.startContainer,e.startOffset);t.setStart(n.container,n.offset);const o=nt(e.endContainer,e.endOffset);return t.setEnd(o.container,o.offset),t},rt=["OL","UL","DL"],st=rt.join(","),it=(e,t)=>{const n=t||e.selection.getStart(!0);return e.dom.getParent(n,st,dt(e,n))},lt=e=>{const t=e.selection.getSelectedBlocks();return L(((e,t)=>{const n=we.map(t,(t=>e.dom.getParent(t,"li,dd,dt",dt(e,t))||t));return B(n)})(e,t),Ue)},at=(e,t)=>{const n=e.dom.getParents(t,"TD,TH");return n.length>0?n[0]:e.getBody()},dt=(e,t)=>{const n=e.dom.getParents(t,e.dom.isBlock),o=T(n,(t=>{return n=e.schema,!Pe(o=t)&&!Ue(o)&&b(rt,(e=>n.isValidChild(o.nodeName,e)));var n,o}));return o.getOr(e.getBody())},ct=(e,t)=>{const n=e.dom.getParents(t,"ol,ul",dt(e,t));return D(n)},mt=(e,t)=>{const n=N(t,(t=>ct(e,t).getOr(t)));return B(n)},ut=e=>/\btox\-/.test(e.className),pt=(e,t)=>A(e,Pe,_e).exists((e=>e.nodeName===t&&!ut(e))),gt=(e,t)=>null!==t&&!e.dom.isEditable(t),ht=(e,t)=>{const n=e.dom.getParent(t,"ol,ul,dl");return gt(e,n)},ft=(e,t)=>{const n=e.selection.getNode();return t({parents:e.dom.getParents(n),element:n}),e.on("NodeChange",t),()=>e.off("NodeChange",t)},yt=(e,t)=>{const n=(t||document).createDocumentFragment();return S(e,(e=>{n.appendChild(e.dom)})),$(n)},vt=(e,t,n)=>e.dispatch("ListMutation",{action:t,element:n}),Ct=(bt=/^\s+|\s+$/g,e=>e.replace(bt,""));var bt;const Nt=(e,t,n)=>{((e,t,n)=>{if(!o(n))throw console.error("Invalid call to CSS.set. Property ",t,":: Value ",n,":: Element ",e),new Error("CSS value must be a string: "+n);(e=>void 0!==e.style&&a(e.style.getPropertyValue))(e)&&e.style.setProperty(t,n)})(e.dom,t,n)},St=e=>F(e,"OL,UL"),Lt=e=>re(e).exists(St),Ot=e=>"listAttributes"in e,At=e=>"isComment"in e,Tt=e=>e.depth>0,xt=e=>e.isSelected,Et=e=>{const t=ne(e),n=se(e).exists(St)?t.slice(0,-1):t;return N(n,Te)},wt=(e,t)=>{ge(e.item,t.list)},kt=(e,t)=>{const n={list:U(t,e),item:U("li",e)};return ge(n.list,n.item),n},Dt=(e,t,n)=>{const o=t.slice(0,n.depth);return D(o).each((t=>{if(Ot(n)){const o=((e,t,n)=>{const o=U("li",e);return Oe(o,t),he(o,n),o})(e,n.itemAttributes,n.content);((e,t)=>{ge(e.list,t),e.item=t})(t,o),((e,t)=>{Q(e.list)!==t.listType&&(e.list=xe(e.list,t.listType)),Oe(e.list,t.listAttributes)})(t,n)}else if((e=>"isFragment"in e)(n))he(t.item,n.content);else{const e=R(`\x3c!--${n.content}--\x3e`);ge(t.list,e)}})),o},Bt=(e,t)=>{let n=h.none();const o=O(t,((t,o,r)=>At(o)?0===r?(n=h.some(o),t):Dt(e,t,o):o.depth>t.length?((e,t,n)=>{const o=((e,t,n)=>{const o=[];for(let r=0;r{for(let t=1;t{for(let t=0;t{Ot(t)&&(Oe(e.list,t.listAttributes),Oe(e.item,t.itemAttributes)),he(e.item,t.content)}))})(o,n),r=o,P(D(t),k(r),wt),t.concat(o)})(e,t,o):Dt(e,t,o)),[]);return n.each((e=>{const t=R(`\x3c!--${e.content}--\x3e`);k(o).each((e=>{((e,t)=>{re(e).fold((()=>{ge(e,t)}),(n=>{e.dom.insertBefore(t.dom,n.dom)}))})(e.list,t)}))})),k(o).map((e=>e.list))},Mt=e=>(S(e,((t,n)=>{((e,t)=>{const n=e[t].depth,o=e=>e.depth===n&&!e.dirty,r=e=>e.depthA(e.slice(t+1),o,r)))})(e,n).fold((()=>{t.dirty&&Ot(t)&&(e=>{e.listAttributes=((e,t)=>{const n={};var o;return((e,t,n,o)=>{Le(e,((e,r)=>{(t(e,r)?n:o)(e,r)}))})(e,t,(o=n,(e,t)=>{o[t]=e}),c),n})(e.listAttributes,((e,t)=>"start"!==t))})(t)}),(e=>{return o=e,void(Ot(n=t)&&Ot(o)&&(n.listType=o.listType,n.listAttributes={...o.listAttributes}));var n,o}))})),e),Pt=(e,t,n,o)=>{var r,s;if(8===W(s=o)||"#comment"===Q(s))return[{depth:e+1,content:null!==(r=o.dom.nodeValue)&&void 0!==r?r:"",dirty:!1,isSelected:!1,isComment:!0}];t.each((e=>{H(e.start,o)&&n.set(!0)}));const i=((e,t,n)=>te(e).filter(G).map((o=>({depth:t,dirty:!1,isSelected:n,content:Et(e),itemAttributes:Ae(e),listAttributes:Ae(o),listType:Q(o),isInPreviousLi:!1}))))(o,e,n.get());t.each((e=>{H(e.end,o)&&n.set(!1)}));const l=se(o).filter(St).map((o=>Rt(e,t,n,o))).getOr([]);return i.toArray().concat(l)},It=(e,t,n,o)=>re(o).filter(St).fold((()=>Pt(e,t,n,o)),(r=>{const s=O(ne(o),((o,s,i)=>{if(0===i)return o;if(F(s,"LI"))return o.concat(Pt(e,t,n,s));{const t={isFragment:!0,depth:e,content:[s],isSelected:!1,dirty:!1,parentListType:Q(r)};return o.concat(t)}}),[]);return Rt(e,t,n,r).concat(s)})),Rt=(e,t,n,o)=>x(ne(o),(o=>(St(o)?Rt:It)(e+1,t,n,o))),Ut=(e,t,n)=>{const o=((e,t)=>{const n=(e=>{let t=!1;return{get:()=>t,set:e=>{t=e}}})();return N(e,(e=>({sourceList:e,entries:Rt(0,t,n,e)})))})(t,(e=>{const t=N(lt(e),$);return P(T(t,p(Lt)),T(E(t),p(Lt)),((e,t)=>({start:e,end:t})))})(e));S(o,(t=>{((e,t)=>{S(L(e,xt),(e=>((e,t)=>{switch(e){case"Indent":t.depth++;break;case"Outdent":t.depth--;break;case"Flatten":t.depth=0}t.dirty=!0})(t,e)))})(t.entries,n);const o=((e,t)=>x(((e,t)=>{if(0===e.length)return[];{let n=t(e[0]);const o=[];let r=[];for(let s=0,i=e.length;sk(t).exists(Tt)?((e,t)=>{const n=Mt(t);return Bt(e.contentDocument,n).toArray()})(e,t):((e,t)=>{const n=Mt(t);return N(n,(t=>{const n=At(t)?yt([R(`\x3c!--${t.content}--\x3e`)]):yt(t.content);return $(Ge(e,n.dom))}))})(e,t))))(e,t.entries);var r;S(o,(t=>{vt(e,"Indent"===n?"IndentList":"OutdentList",t.dom)})),r=t.sourceList,S(o,(e=>{pe(r,e)})),ye(t.sourceList)}))},$t=(e,t)=>{const n=Ne((e=>{const t=(e=>{const t=ct(e,e.selection.getStart()),n=L(e.selection.getSelectedBlocks(),Ie);return t.toArray().concat(n)})(e),n=(e=>{const t=e.selection.getStart();return e.dom.getParents(t,"ol,ul",dt(e,t))})(e);return T(n,(e=>{return t=$(e),te(t).exists((e=>Ue(e.dom)&&re(e).exists((e=>!Pe(e.dom)))&&se(e).exists((e=>!Pe(e.dom)))));var t})).fold((()=>mt(e,t)),(e=>[e]))})(e)),o=Ne((e=>L(lt(e),$e))(e));let r=!1;if(n.length||o.length){const s=e.selection.getBookmark();Ut(e,n,t),((e,t,n)=>{S(n,"Indent"===t?tt:t=>et(e,t))})(e,t,o),e.selection.moveToBookmark(s),e.selection.setRng(ot(e.selection.getRng())),e.nodeChanged(),r=!0}return r},_t=(e,t)=>!(e=>{const t=it(e);return gt(e,t)})(e)&&$t(e,t),Ht=e=>_t(e,"Indent"),Ft=e=>_t(e,"Outdent"),Vt=e=>_t(e,"Flatten"),jt=e=>"\ufeff"===e;var Kt=tinymce.util.Tools.resolve("tinymce.dom.BookmarkManager");const zt=Ee.DOM,Qt=e=>{const t={},n=n=>{let o=e[n?"startContainer":"endContainer"],r=e[n?"startOffset":"endOffset"];if(Me(o)){const e=zt.create("span",{"data-mce-type":"bookmark"});o.hasChildNodes()?(r=Math.min(r,o.childNodes.length-1),n?o.insertBefore(e,o.childNodes[r]):zt.insertAfter(e,o.childNodes[r])):o.appendChild(e),o=e,r=0}t[n?"startContainer":"endContainer"]=o,t[n?"startOffset":"endOffset"]=r};return n(!0),e.collapsed||n(),t},Wt=e=>{const t=t=>{let n=e[t?"startContainer":"endContainer"],o=e[t?"startOffset":"endOffset"];if(n){if(Me(n)&&n.parentNode){const e=n;o=(e=>{var t;let n=null===(t=e.parentNode)||void 0===t?void 0:t.firstChild,o=0;for(;n;){if(n===e)return o;Me(n)&&"bookmark"===n.getAttribute("data-mce-type")||o++,n=n.nextSibling}return-1})(n),n=n.parentNode,zt.remove(e),!n.hasChildNodes()&&zt.isBlock(n)&&n.appendChild(zt.create("br"))}e[t?"startContainer":"endContainer"]=n,e[t?"startOffset":"endOffset"]=o}};t(!0),t();const n=zt.createRng();return n.setStart(e.startContainer,e.startOffset),e.endContainer&&n.setEnd(e.endContainer,e.endOffset),ot(n)},qt=e=>{switch(e){case"UL":return"ToggleUlList";case"OL":return"ToggleOlList";case"DL":return"ToggleDLList"}},Zt=(e,t)=>{we.each(t,((t,n)=>{e.setAttribute(n,t)}))},Gt=(e,t,n)=>{((e,t,n)=>{const o=n["list-style-type"]?n["list-style-type"]:null;e.setStyle(t,"list-style-type",o)})(e,t,n),((e,t,n)=>{Zt(t,n["list-attributes"]),we.each(e.select("li",t),(e=>{Zt(e,n["list-item-attributes"])}))})(e,t,n)},Jt=(e,t)=>l(t)&&!Ve(t,e.schema.getBlockElements()),Xt=(e,t,n,o)=>{let r=t[n?"startContainer":"endContainer"];const s=t[n?"startOffset":"endOffset"];Me(r)&&(r=r.childNodes[Math.min(s,r.childNodes.length-1)]||r),!n&&He(r.nextSibling)&&(r=r.nextSibling);const i=(t,n)=>{var r;const s=new Ce(t,(t=>{for(;!e.dom.isBlock(t)&&t.parentNode&&o!==t;)t=t.parentNode;return t})(t)),i=n?"next":"prev";let l;for(;l=s[i]();)if(!je(e,l)&&!jt(l.textContent)&&0!==(null===(r=l.textContent)||void 0===r?void 0:r.length))return h.some(l);return h.none()};if(n&&Be(r))if(jt(r.textContent))r=i(r,!1).getOr(r);else for(null!==r.parentNode&&Jt(e,r.parentNode)&&(r=r.parentNode);null!==r.previousSibling&&(Jt(e,r.previousSibling)||Be(r.previousSibling));)r=r.previousSibling;if(!n&&Be(r))if(jt(r.textContent))r=i(r,!0).getOr(r);else for(null!==r.parentNode&&Jt(e,r.parentNode)&&(r=r.parentNode);null!==r.nextSibling&&(Jt(e,r.nextSibling)||Be(r.nextSibling));)r=r.nextSibling;for(;r.parentNode!==o;){const t=r.parentNode;if(Fe(e,r))return r;if(/^(TD|TH)$/.test(t.nodeName))return r;r=t}return r},Yt=(e,t,n)=>{const o=e.selection.getRng();let r="LI";const s=dt(e,((e,t)=>{const n=e.selection.getStart(!0),o=Xt(e,t,!0,e.getBody());return r=$(o),s=$(t.commonAncestorContainer),i=r,l=function(e,...t){return(...n)=>{const o=t.concat(n);return e.apply(null,o)}}(H,s),ce(i,l,void 0).isSome()?t.commonAncestorContainer:n;var r,s,i,l})(e,o)),i=e.dom;if("false"===i.getContentEditable(e.selection.getNode()))return;"DL"===(t=t.toUpperCase())&&(r="DT");const l=Qt(o),a=L(((e,t,n)=>{const o=[],r=e.dom,s=Xt(e,t,!0,n),i=Xt(e,t,!1,n);let l;const a=[];for(let e=s;e&&(a.push(e),e!==i);e=e.nextSibling);return we.each(a,(t=>{var s;if(Fe(e,t))return o.push(t),void(l=null);if(r.isBlock(t)||He(t))return He(t)&&r.remove(t),void(l=null);const i=t.nextSibling;Kt.isBookmarkNode(t)&&(Pe(i)||Fe(e,i)||!i&&t.parentNode===n)?l=null:(l||(l=r.create("p"),null===(s=t.parentNode)||void 0===s||s.insertBefore(l,t),o.push(l)),l.appendChild(t))})),o})(e,o,s),e.dom.isEditable);we.each(a,(o=>{let s;const l=o.previousSibling,a=o.parentNode;Ue(a)||(l&&Pe(l)&&l.nodeName===t&&((e,t,n)=>{const o=e.getStyle(t,"list-style-type");let r=n?n["list-style-type"]:"";return r=null===r?"":r,o===r})(i,l,n)?(s=l,o=i.rename(o,r),l.appendChild(o)):(s=i.create(t),a.insertBefore(s,o),s.appendChild(o),o=i.rename(o,r)),((e,t,n)=>{we.each(["margin","margin-right","margin-bottom","margin-left","margin-top","padding","padding-right","padding-bottom","padding-left","padding-top"],(n=>e.setStyle(t,n,"")))})(i,o),Gt(i,s,n),tn(e.dom,s))})),e.selection.setRng(Wt(l))},en=(e,t,n)=>{return((e,t)=>Pe(e)&&e.nodeName===(null==t?void 0:t.nodeName))(t,n)&&((e,t,n)=>e.getStyle(t,"list-style-type",!0)===e.getStyle(n,"list-style-type",!0))(e,t,n)&&(o=n,t.className===o.className);var o},tn=(e,t)=>{let n,o=t.nextSibling;if(en(e,t,o)){const r=o;for(;n=r.firstChild;)t.appendChild(n);e.remove(r)}if(o=t.previousSibling,en(e,t,o)){const r=o;for(;n=r.lastChild;)t.insertBefore(n,t.firstChild);e.remove(r)}},nn=(e,t,n,o)=>{if(t.nodeName!==n){const r=e.dom.rename(t,n);Gt(e.dom,r,o),vt(e,qt(n),r)}else Gt(e.dom,t,o),vt(e,qt(n),t)},on=(e,t,n,o)=>{if(t.classList.forEach(((e,n,o)=>{e.startsWith("tox-")&&(o.remove(e),0===o.length&&t.removeAttribute("class"))})),t.nodeName!==n){const r=e.dom.rename(t,n);Gt(e.dom,r,o),vt(e,qt(n),r)}else Gt(e.dom,t,o),vt(e,qt(n),t)},rn=e=>"list-style-type"in e,sn=(e,t,n)=>{const o=it(e);if(ht(e,o))return;const s=(e=>{const t=it(e),n=e.selection.getSelectedBlocks();return((e,t)=>l(e)&&1===t.length&&t[0]===e)(t,n)?(e=>L(e.querySelectorAll(st),Pe))(t):L(n,(e=>Pe(e)&&t!==e))})(e),i=r(n)?n:{};s.length>0?((e,t,n,o,r)=>{const s=Pe(t);if(!s||t.nodeName!==o||rn(r)||ut(t)){Yt(e,o,r);const i=Qt(e.selection.getRng()),l=s?[t,...n]:n,a=s&&ut(t)?on:nn;we.each(l,(t=>{a(e,t,o,r)})),e.selection.setRng(Wt(i))}else Vt(e)})(e,o,s,t,i):((e,t,n,o)=>{if(t!==e.getBody())if(t)if(t.nodeName!==n||rn(o)||ut(t)){const r=Qt(e.selection.getRng());ut(t)&&t.classList.forEach(((e,n,o)=>{e.startsWith("tox-")&&(o.remove(e),0===o.length&&t.removeAttribute("class"))})),Gt(e.dom,t,o);const s=e.dom.rename(t,n);tn(e.dom,s),e.selection.setRng(Wt(r)),Yt(e,n,o),vt(e,qt(n),s)}else Vt(e);else Yt(e,n,o),vt(e,qt(n),t)})(e,o,t,i)},ln=Ee.DOM,an=(e,t)=>{const n=we.grep(e.select("ol,ul",t));we.each(n,(t=>{((e,t)=>{const n=t.parentElement;if(n&&"LI"===n.nodeName&&n.firstChild===t){const o=n.previousSibling;o&&"LI"===o.nodeName?(o.appendChild(t),Ke(e,n)&&ln.remove(n)):ln.setStyle(n,"listStyleType","none")}if(Pe(n)){const e=n.previousSibling;e&&"LI"===e.nodeName&&e.appendChild(t)}})(e,t)}))},dn=(e,t,n,o)=>{let r=t.startContainer;const s=t.startOffset;if(Be(r)&&(n?s0))return r;const i=e.schema.getNonEmptyElements();Me(r)&&(r=ve.getNode(r,s));const l=new Ce(r,o);n&&((e,t)=>!!He(t)&&e.isBlock(t.nextSibling)&&!He(t.previousSibling))(e.dom,r)&&l.next();const a=n?l.next.bind(l):l.prev2.bind(l);for(;r=a();){if("LI"===r.nodeName&&!r.hasChildNodes())return r;if(i[r.nodeName])return r;if(Be(r)&&r.data.length>0)return r}return null},cn=(e,t)=>{const n=t.childNodes;return 1===n.length&&!Pe(n[0])&&e.isBlock(n[0])},mn=e=>h.from(e).map($).filter(Z).exists((e=>((e,t=!1)=>{return ae(e)?e.dom.isContentEditable:(n=e,de(((e,t)=>_(e,t)),ue,n,"[contenteditable]",void 0)).fold(m(t),(e=>"true"===(e=>e.dom.contentEditable)(e)));var n})(e)&&!C(["details"],Q(e)))),un=(e,t,n)=>{let o;const r=cn(e,n)?n.firstChild:n;if(((e,t)=>{cn(e,t)&&mn(t.firstChild)&&e.remove(t.firstChild,!0)})(e,t),!Ke(e,t,!0))for(;o=t.firstChild;)r.appendChild(o)},pn=(e,t,n)=>{let o;const r=t.parentNode;if(!ze(e,t)||!ze(e,n))return;Pe(n.lastChild)&&(o=n.lastChild),r===n.lastChild&&He(r.previousSibling)&&e.remove(r.previousSibling);const s=n.lastChild;s&&He(s)&&t.hasChildNodes()&&e.remove(s),Ke(e,n,!0)&&fe($(n)),un(e,t,n),o&&n.appendChild(o);const i=((e,t)=>{const n=e.dom,o=t.dom;return n!==o&&n.contains(o)})($(n),$(t))?e.getParents(t,Pe,n):[];e.remove(t),S(i,(t=>{Ke(e,t)&&t!==e.getRoot()&&e.remove(t)}))},gn=(e,t)=>{const n=e.dom,o=e.selection,r=o.getStart(),s=at(e,r),i=n.getParent(o.getStart(),"LI",s);if(i){const r=i.parentElement;if(r===e.getBody()&&Ke(n,r))return!0;const l=ot(o.getRng()),a=n.getParent(dn(e,l,t,s),"LI",s),d=a&&(t?n.isChildOf(i,a):n.isChildOf(a,i));if(a&&a!==i&&!d)return e.undoManager.transact((()=>{var n,o;t?((e,t,n,o)=>{const r=e.dom;if(r.isEmpty(o))((e,t,n)=>{fe($(n)),pn(e.dom,t,n),e.selection.setCursorLocation(n,0)})(e,n,o);else{const s=Qt(t);pn(r,n,o),e.selection.setRng(Wt(s))}})(e,l,a,i):(null===(o=(n=i).parentNode)||void 0===o?void 0:o.firstChild)===n?Ft(e):((e,t,n,o)=>{const r=Qt(t);pn(e.dom,n,o);const s=Wt(r);e.selection.setRng(s)})(e,l,i,a)})),!0;if(d&&!t&&a!==i)return e.undoManager.transact((()=>{if(l.commonAncestorContainer.parentElement){const t=Qt(l),o=l.commonAncestorContainer.parentElement;un(n,l.commonAncestorContainer.parentElement,a),o.remove();const r=Wt(t);e.selection.setRng(r)}})),!0;if(!a&&!t&&0===l.startOffset&&0===l.endOffset)return e.undoManager.transact((()=>{Vt(e)})),!0}return!1},hn=e=>{const t=e.selection.getStart(),n=at(e,t);return e.dom.getParent(t,"LI,DT,DD",n)||lt(e).length>0},fn=(e,t)=>{const n=e.selection;return!ht(e,n.getNode())&&(n.isCollapsed()?((e,t)=>gn(e,t)||((e,t)=>{const n=e.dom,o=e.selection.getStart(),r=at(e,o),s=n.getParent(o,n.isBlock,r);if(s&&n.isEmpty(s)){const o=ot(e.selection.getRng()),i=n.getParent(dn(e,o,t,r),"LI",r);if(i){const l=e=>C(["td","th","caption"],Q(e)),a=e=>e.dom===r;return!!((e,t,n=u)=>P(e,t,n).getOr(e.isNone()&&t.isNone()))(me($(i),l,a),me($(o.startContainer),l,a),H)&&(e.undoManager.transact((()=>{const o=i.parentNode;((e,t,n)=>{const o=e.getParent(t.parentNode,e.isBlock,n);e.remove(t),o&&e.isEmpty(o)&&e.remove(o)})(n,s,r),tn(n,o),e.selection.select(i,!0),e.selection.collapse(t)})),!0)}}return!1})(e,t))(e,t):(e=>!!hn(e)&&(e.undoManager.transact((()=>{e.execCommand("Delete"),an(e.dom,e.getBody())})),!0))(e))},yn=e=>{const t=E(Ct(e).split("")),n=N(t,((e,t)=>{const n=e.toUpperCase().charCodeAt(0)-"A".charCodeAt(0)+1;return Math.pow(26,t)*n}));return O(n,((e,t)=>e+t),0)},vn=e=>{if(--e<0)return"";{const t=e%26,n=Math.floor(e/26);return vn(n)+String.fromCharCode("A".charCodeAt(0)+t)}},Cn=e=>{const t=parseInt(e.start,10);return M(e.listStyleType,"upper-alpha")?vn(t):M(e.listStyleType,"lower-alpha")?vn(t).toLowerCase():e.start},bn=(e,t)=>()=>{const n=it(e);return l(n)&&n.nodeName===t},Nn=e=>{e.addCommand("mceListProps",(()=>{(e=>{const t=it(e);Re(t)&&!ht(e,t)&&e.windowManager.open({title:"List Properties",body:{type:"panel",items:[{type:"input",name:"start",label:"Start list at number",inputMode:"numeric"}]},initialData:{start:Cn({start:e.dom.getAttrib(t,"start","1"),listStyleType:h.from(e.dom.getStyle(t,"list-style-type"))})},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],onSubmit:t=>{(e=>{switch((e=>/^[0-9]+$/.test(e)?2:/^[A-Z]+$/.test(e)?0:/^[a-z]+$/.test(e)?1:e.length>0?4:3)(e)){case 2:return h.some({listStyleType:h.none(),start:e});case 0:return h.some({listStyleType:h.some("upper-alpha"),start:yn(e).toString()});case 1:return h.some({listStyleType:h.some("lower-alpha"),start:yn(e).toString()});case 3:return h.some({listStyleType:h.none(),start:""});case 4:return h.none()}})(t.getData().start).each((t=>{e.execCommand("mceListUpdate",!1,{attrs:{start:"1"===t.start?"":t.start},styles:{"list-style-type":t.listStyleType.getOr("")}})})),t.close()}})})(e)}))};var Sn=tinymce.util.Tools.resolve("tinymce.html.Node");const Ln=e=>3===e.type,On=e=>0===e.length,An=e=>{const t=(t,n)=>{const o=Sn.create("li");S(t,(e=>o.append(e))),n?e.insert(o,n,!0):e.append(o)},n=O(e.children(),((e,n)=>Ln(n)?[...e,n]:On(e)||Ln(n)?e:(t(e,n),[])),[]);On(n)||t(n)},Tn=(e,t)=>n=>(n.setEnabled(e.selection.isEditable()),ft(e,(o=>{n.setActive(pt(o.parents,t)),n.setEnabled(!ht(e,o.element)&&e.selection.isEditable())}))),xn=(e,t)=>n=>ft(e,(o=>n.setEnabled(pt(o.parents,t)&&!ht(e,o.element))));e.add("lists",(e=>((e=>{(0,e.options.register)("lists_indent_on_tab",{processor:"boolean",default:!0})})(e),(e=>{e.on("PreInit",(()=>{const{parser:t}=e;t.addNodeFilter("ul,ol",(e=>S(e,An)))}))})(e),e.hasPlugin("rtc",!0)?Nn(e):((e=>{We(e)&&(e=>{e.on("keydown",(t=>{t.keyCode!==be.TAB||be.metaKeyPressed(t)||e.undoManager.transact((()=>{(t.shiftKey?Ft(e):Ht(e))&&t.preventDefault()}))}))})(e),(e=>{e.on("ExecCommand",(t=>{const n=t.command.toLowerCase();"delete"!==n&&"forwarddelete"!==n||!hn(e)||an(e.dom,e.getBody())})),e.on("keydown",(t=>{t.keyCode===be.BACKSPACE?fn(e,!1)&&t.preventDefault():t.keyCode===be.DELETE&&fn(e,!0)&&t.preventDefault()}))})(e)})(e),(e=>{e.on("BeforeExecCommand",(t=>{const n=t.command.toLowerCase();"indent"===n?Ht(e):"outdent"===n&&Ft(e)})),e.addCommand("InsertUnorderedList",((t,n)=>{sn(e,"UL",n)})),e.addCommand("InsertOrderedList",((t,n)=>{sn(e,"OL",n)})),e.addCommand("InsertDefinitionList",((t,n)=>{sn(e,"DL",n)})),e.addCommand("RemoveList",(()=>{Vt(e)})),Nn(e),e.addCommand("mceListUpdate",((t,n)=>{r(n)&&((e,t)=>{const n=it(e);null===n||ht(e,n)||e.undoManager.transact((()=>{r(t.styles)&&e.dom.setStyles(n,t.styles),r(t.attrs)&&Le(t.attrs,((t,o)=>e.dom.setAttrib(n,o,t)))}))})(e,n)})),e.addQueryStateHandler("InsertUnorderedList",bn(e,"UL")),e.addQueryStateHandler("InsertOrderedList",bn(e,"OL")),e.addQueryStateHandler("InsertDefinitionList",bn(e,"DL"))})(e)),(e=>{const t=t=>()=>e.execCommand(t);e.hasPlugin("advlist")||(e.ui.registry.addToggleButton("numlist",{icon:"ordered-list",active:!1,tooltip:"Numbered list",onAction:t("InsertOrderedList"),onSetup:Tn(e,"OL")}),e.ui.registry.addToggleButton("bullist",{icon:"unordered-list",active:!1,tooltip:"Bullet list",onAction:t("InsertUnorderedList"),onSetup:Tn(e,"UL")}))})(e),(e=>{const t={text:"List properties...",icon:"ordered-list",onAction:()=>e.execCommand("mceListProps"),onSetup:xn(e,"OL")};e.ui.registry.addMenuItem("listprops",t),e.ui.registry.addContextMenu("lists",{update:t=>{const n=it(e,t);return Re(n)?["listprops"]:[]}})})(e),(e=>({backspaceDelete:t=>{fn(e,t)}}))(e))))}(); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/media/index.js b/public/tools/cloud_notes/tinymce/plugins/media/index.js new file mode 100644 index 0000000..b69a10d --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/media/index.js @@ -0,0 +1,7 @@ +// Exports the "media" plugin for usage with module loaders +// Usage: +// CommonJS: +// require('tinymce/plugins/media') +// ES2015: +// import 'tinymce/plugins/media' +require('./plugin.js'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/media/plugin.js b/public/tools/cloud_notes/tinymce/plugins/media/plugin.js new file mode 100644 index 0000000..2bfa67c --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/media/plugin.js @@ -0,0 +1,1217 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ + +(function () { + 'use strict'; + + var global$6 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + const hasProto = (v, constructor, predicate) => { + var _a; + if (predicate(v, constructor.prototype)) { + return true; + } else { + return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name; + } + }; + const typeOf = x => { + const t = typeof x; + if (x === null) { + return 'null'; + } else if (t === 'object' && Array.isArray(x)) { + return 'array'; + } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) { + return 'string'; + } else { + return t; + } + }; + const isType = type => value => typeOf(value) === type; + const isString = isType('string'); + const isObject = isType('object'); + const isArray = isType('array'); + const isNullable = a => a === null || a === undefined; + const isNonNullable = a => !isNullable(a); + + class Optional { + constructor(tag, value) { + this.tag = tag; + this.value = value; + } + static some(value) { + return new Optional(true, value); + } + static none() { + return Optional.singletonNone; + } + fold(onNone, onSome) { + if (this.tag) { + return onSome(this.value); + } else { + return onNone(); + } + } + isSome() { + return this.tag; + } + isNone() { + return !this.tag; + } + map(mapper) { + if (this.tag) { + return Optional.some(mapper(this.value)); + } else { + return Optional.none(); + } + } + bind(binder) { + if (this.tag) { + return binder(this.value); + } else { + return Optional.none(); + } + } + exists(predicate) { + return this.tag && predicate(this.value); + } + forall(predicate) { + return !this.tag || predicate(this.value); + } + filter(predicate) { + if (!this.tag || predicate(this.value)) { + return this; + } else { + return Optional.none(); + } + } + getOr(replacement) { + return this.tag ? this.value : replacement; + } + or(replacement) { + return this.tag ? this : replacement; + } + getOrThunk(thunk) { + return this.tag ? this.value : thunk(); + } + orThunk(thunk) { + return this.tag ? this : thunk(); + } + getOrDie(message) { + if (!this.tag) { + throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None'); + } else { + return this.value; + } + } + static from(value) { + return isNonNullable(value) ? Optional.some(value) : Optional.none(); + } + getOrNull() { + return this.tag ? this.value : null; + } + getOrUndefined() { + return this.value; + } + each(worker) { + if (this.tag) { + worker(this.value); + } + } + toArray() { + return this.tag ? [this.value] : []; + } + toString() { + return this.tag ? `some(${ this.value })` : 'none()'; + } + } + Optional.singletonNone = new Optional(false); + + const nativePush = Array.prototype.push; + const each$1 = (xs, f) => { + for (let i = 0, len = xs.length; i < len; i++) { + const x = xs[i]; + f(x, i); + } + }; + const flatten = xs => { + const r = []; + for (let i = 0, len = xs.length; i < len; ++i) { + if (!isArray(xs[i])) { + throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs); + } + nativePush.apply(r, xs[i]); + } + return r; + }; + + const Cell = initial => { + let value = initial; + const get = () => { + return value; + }; + const set = v => { + value = v; + }; + return { + get, + set + }; + }; + + const keys = Object.keys; + const hasOwnProperty = Object.hasOwnProperty; + const each = (obj, f) => { + const props = keys(obj); + for (let k = 0, len = props.length; k < len; k++) { + const i = props[k]; + const x = obj[i]; + f(x, i); + } + }; + const get$1 = (obj, key) => { + return has(obj, key) ? Optional.from(obj[key]) : Optional.none(); + }; + const has = (obj, key) => hasOwnProperty.call(obj, key); + + const option = name => editor => editor.options.get(name); + const register$2 = editor => { + const registerOption = editor.options.register; + registerOption('audio_template_callback', { processor: 'function' }); + registerOption('video_template_callback', { processor: 'function' }); + registerOption('iframe_template_callback', { processor: 'function' }); + registerOption('media_live_embeds', { + processor: 'boolean', + default: true + }); + registerOption('media_filter_html', { + processor: 'boolean', + default: true + }); + registerOption('media_url_resolver', { processor: 'function' }); + registerOption('media_alt_source', { + processor: 'boolean', + default: true + }); + registerOption('media_poster', { + processor: 'boolean', + default: true + }); + registerOption('media_dimensions', { + processor: 'boolean', + default: true + }); + }; + const getAudioTemplateCallback = option('audio_template_callback'); + const getVideoTemplateCallback = option('video_template_callback'); + const getIframeTemplateCallback = option('iframe_template_callback'); + const hasLiveEmbeds = option('media_live_embeds'); + const shouldFilterHtml = option('media_filter_html'); + const getUrlResolver = option('media_url_resolver'); + const hasAltSource = option('media_alt_source'); + const hasPoster = option('media_poster'); + const hasDimensions = option('media_dimensions'); + + var global$5 = tinymce.util.Tools.resolve('tinymce.util.Tools'); + + var global$4 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils'); + + var global$3 = tinymce.util.Tools.resolve('tinymce.html.DomParser'); + + const DOM$1 = global$4.DOM; + const trimPx = value => value.replace(/px$/, ''); + const getEphoxEmbedData = node => { + const style = node.attr('style'); + const styles = style ? DOM$1.parseStyle(style) : {}; + return { + type: 'ephox-embed-iri', + source: node.attr('data-ephox-embed-iri'), + altsource: '', + poster: '', + width: get$1(styles, 'max-width').map(trimPx).getOr(''), + height: get$1(styles, 'max-height').map(trimPx).getOr('') + }; + }; + const htmlToData = (html, schema) => { + let data = {}; + const parser = global$3({ + validate: false, + forced_root_block: false + }, schema); + const rootNode = parser.parse(html); + for (let node = rootNode; node; node = node.walk()) { + if (node.type === 1) { + const name = node.name; + if (node.attr('data-ephox-embed-iri')) { + data = getEphoxEmbedData(node); + break; + } else { + if (!data.source && name === 'param') { + data.source = node.attr('movie'); + } + if (name === 'iframe' || name === 'object' || name === 'embed' || name === 'video' || name === 'audio') { + if (!data.type) { + data.type = name; + } + data = global$5.extend(node.attributes.map, data); + } + if (name === 'source') { + if (!data.source) { + data.source = node.attr('src'); + } else if (!data.altsource) { + data.altsource = node.attr('src'); + } + } + if (name === 'img' && !data.poster) { + data.poster = node.attr('src'); + } + } + } + } + data.source = data.source || data.src || ''; + data.altsource = data.altsource || ''; + data.poster = data.poster || ''; + return data; + }; + + const guess = url => { + var _a; + const mimes = { + mp3: 'audio/mpeg', + m4a: 'audio/x-m4a', + wav: 'audio/wav', + mp4: 'video/mp4', + webm: 'video/webm', + ogg: 'video/ogg', + swf: 'application/x-shockwave-flash' + }; + const fileEnd = (_a = url.toLowerCase().split('.').pop()) !== null && _a !== void 0 ? _a : ''; + return get$1(mimes, fileEnd).getOr(''); + }; + + var global$2 = tinymce.util.Tools.resolve('tinymce.html.Node'); + + var global$1 = tinymce.util.Tools.resolve('tinymce.html.Serializer'); + + const Parser = (schema, settings = {}) => global$3({ + forced_root_block: false, + validate: false, + allow_conditional_comments: true, + ...settings + }, schema); + + const DOM = global$4.DOM; + const addPx = value => /^[0-9.]+$/.test(value) ? value + 'px' : value; + const updateEphoxEmbed = (data, node) => { + const style = node.attr('style'); + const styleMap = style ? DOM.parseStyle(style) : {}; + if (isNonNullable(data.width)) { + styleMap['max-width'] = addPx(data.width); + } + if (isNonNullable(data.height)) { + styleMap['max-height'] = addPx(data.height); + } + node.attr('style', DOM.serializeStyle(styleMap)); + }; + const sources = [ + 'source', + 'altsource' + ]; + const updateHtml = (html, data, updateAll, schema) => { + let numSources = 0; + let sourceCount = 0; + const parser = Parser(schema); + parser.addNodeFilter('source', nodes => numSources = nodes.length); + const rootNode = parser.parse(html); + for (let node = rootNode; node; node = node.walk()) { + if (node.type === 1) { + const name = node.name; + if (node.attr('data-ephox-embed-iri')) { + updateEphoxEmbed(data, node); + break; + } else { + switch (name) { + case 'video': + case 'object': + case 'embed': + case 'img': + case 'iframe': + if (data.height !== undefined && data.width !== undefined) { + node.attr('width', data.width); + node.attr('height', data.height); + } + break; + } + if (updateAll) { + switch (name) { + case 'video': + node.attr('poster', data.poster); + node.attr('src', null); + for (let index = numSources; index < 2; index++) { + if (data[sources[index]]) { + const source = new global$2('source', 1); + source.attr('src', data[sources[index]]); + source.attr('type', data[sources[index] + 'mime'] || null); + node.append(source); + } + } + break; + case 'iframe': + node.attr('src', data.source); + break; + case 'object': + const hasImage = node.getAll('img').length > 0; + if (data.poster && !hasImage) { + node.attr('src', data.poster); + const img = new global$2('img', 1); + img.attr('src', data.poster); + img.attr('width', data.width); + img.attr('height', data.height); + node.append(img); + } + break; + case 'source': + if (sourceCount < 2) { + node.attr('src', data[sources[sourceCount]]); + node.attr('type', data[sources[sourceCount] + 'mime'] || null); + if (!data[sources[sourceCount]]) { + node.remove(); + continue; + } + } + sourceCount++; + break; + case 'img': + if (!data.poster) { + node.remove(); + } + break; + } + } + } + } + } + return global$1({}, schema).serialize(rootNode); + }; + + const urlPatterns = [ + { + regex: /youtu\.be\/([\w\-_\?&=.]+)/i, + type: 'iframe', + w: 560, + h: 314, + url: 'www.youtube.com/embed/$1', + allowFullscreen: true + }, + { + regex: /youtube\.com(.+)v=([^&]+)(&([a-z0-9&=\-_]+))?/i, + type: 'iframe', + w: 560, + h: 314, + url: 'www.youtube.com/embed/$2?$4', + allowFullscreen: true + }, + { + regex: /youtube.com\/embed\/([a-z0-9\?&=\-_]+)/i, + type: 'iframe', + w: 560, + h: 314, + url: 'www.youtube.com/embed/$1', + allowFullscreen: true + }, + { + regex: /vimeo\.com\/([0-9]+)\?h=(\w+)/, + type: 'iframe', + w: 425, + h: 350, + url: 'player.vimeo.com/video/$1?h=$2&title=0&byline=0&portrait=0&color=8dc7dc', + allowFullscreen: true + }, + { + regex: /vimeo\.com\/(.*)\/([0-9]+)\?h=(\w+)/, + type: 'iframe', + w: 425, + h: 350, + url: 'player.vimeo.com/video/$2?h=$3&title=0&byline=0', + allowFullscreen: true + }, + { + regex: /vimeo\.com\/([0-9]+)/, + type: 'iframe', + w: 425, + h: 350, + url: 'player.vimeo.com/video/$1?title=0&byline=0&portrait=0&color=8dc7dc', + allowFullscreen: true + }, + { + regex: /vimeo\.com\/(.*)\/([0-9]+)/, + type: 'iframe', + w: 425, + h: 350, + url: 'player.vimeo.com/video/$2?title=0&byline=0', + allowFullscreen: true + }, + { + regex: /maps\.google\.([a-z]{2,3})\/maps\/(.+)msid=(.+)/, + type: 'iframe', + w: 425, + h: 350, + url: 'maps.google.com/maps/ms?msid=$2&output=embed"', + allowFullscreen: false + }, + { + regex: /dailymotion\.com\/video\/([^_]+)/, + type: 'iframe', + w: 480, + h: 270, + url: 'www.dailymotion.com/embed/video/$1', + allowFullscreen: true + }, + { + regex: /dai\.ly\/([^_]+)/, + type: 'iframe', + w: 480, + h: 270, + url: 'www.dailymotion.com/embed/video/$1', + allowFullscreen: true + } + ]; + const getProtocol = url => { + const protocolMatches = url.match(/^(https?:\/\/|www\.)(.+)$/i); + if (protocolMatches && protocolMatches.length > 1) { + return protocolMatches[1] === 'www.' ? 'https://' : protocolMatches[1]; + } else { + return 'https://'; + } + }; + const getUrl = (pattern, url) => { + const protocol = getProtocol(url); + const match = pattern.regex.exec(url); + let newUrl = protocol + pattern.url; + if (isNonNullable(match)) { + for (let i = 0; i < match.length; i++) { + newUrl = newUrl.replace('$' + i, () => match[i] ? match[i] : ''); + } + } + return newUrl.replace(/\?$/, ''); + }; + const matchPattern = url => { + const patterns = urlPatterns.filter(pattern => pattern.regex.test(url)); + if (patterns.length > 0) { + return global$5.extend({}, patterns[0], { url: getUrl(patterns[0], url) }); + } else { + return null; + } + }; + + const getIframeHtml = (data, iframeTemplateCallback) => { + if (iframeTemplateCallback) { + return iframeTemplateCallback(data); + } else { + const allowFullscreen = data.allowfullscreen ? ' allowFullscreen="1"' : ''; + return ''; + } + }; + const getFlashHtml = data => { + let html = ''; + if (data.poster) { + html += ''; + } + html += ''; + return html; + }; + const getAudioHtml = (data, audioTemplateCallback) => { + if (audioTemplateCallback) { + return audioTemplateCallback(data); + } else { + return ''; + } + }; + const getVideoHtml = (data, videoTemplateCallback) => { + if (videoTemplateCallback) { + return videoTemplateCallback(data); + } else { + return ''; + } + }; + const dataToHtml = (editor, dataIn) => { + var _a; + const data = global$5.extend({}, dataIn); + if (!data.source) { + global$5.extend(data, htmlToData((_a = data.embed) !== null && _a !== void 0 ? _a : '', editor.schema)); + if (!data.source) { + return ''; + } + } + if (!data.altsource) { + data.altsource = ''; + } + if (!data.poster) { + data.poster = ''; + } + data.source = editor.convertURL(data.source, 'source'); + data.altsource = editor.convertURL(data.altsource, 'source'); + data.sourcemime = guess(data.source); + data.altsourcemime = guess(data.altsource); + data.poster = editor.convertURL(data.poster, 'poster'); + const pattern = matchPattern(data.source); + if (pattern) { + data.source = pattern.url; + data.type = pattern.type; + data.allowfullscreen = pattern.allowFullscreen; + data.width = data.width || String(pattern.w); + data.height = data.height || String(pattern.h); + } + if (data.embed) { + return updateHtml(data.embed, data, true, editor.schema); + } else { + const audioTemplateCallback = getAudioTemplateCallback(editor); + const videoTemplateCallback = getVideoTemplateCallback(editor); + const iframeTemplateCallback = getIframeTemplateCallback(editor); + data.width = data.width || '300'; + data.height = data.height || '150'; + global$5.each(data, (value, key) => { + data[key] = editor.dom.encode('' + value); + }); + if (data.type === 'iframe') { + return getIframeHtml(data, iframeTemplateCallback); + } else if (data.sourcemime === 'application/x-shockwave-flash') { + return getFlashHtml(data); + } else if (data.sourcemime.indexOf('audio') !== -1) { + return getAudioHtml(data, audioTemplateCallback); + } else { + return getVideoHtml(data, videoTemplateCallback); + } + } + }; + + const isMediaElement = element => element.hasAttribute('data-mce-object') || element.hasAttribute('data-ephox-embed-iri'); + const setup$2 = editor => { + editor.on('click keyup touchend', () => { + const selectedNode = editor.selection.getNode(); + if (selectedNode && editor.dom.hasClass(selectedNode, 'mce-preview-object')) { + if (editor.dom.getAttrib(selectedNode, 'data-mce-selected')) { + selectedNode.setAttribute('data-mce-selected', '2'); + } + } + }); + editor.on('ObjectResized', e => { + const target = e.target; + if (target.getAttribute('data-mce-object')) { + let html = target.getAttribute('data-mce-html'); + if (html) { + html = unescape(html); + target.setAttribute('data-mce-html', escape(updateHtml(html, { + width: String(e.width), + height: String(e.height) + }, false, editor.schema))); + } + } + }); + }; + + const cache = {}; + const embedPromise = (data, dataToHtml, handler) => { + return new Promise((res, rej) => { + const wrappedResolve = response => { + if (response.html) { + cache[data.source] = response; + } + return res({ + url: data.source, + html: response.html ? response.html : dataToHtml(data) + }); + }; + if (cache[data.source]) { + wrappedResolve(cache[data.source]); + } else { + handler({ url: data.source }, wrappedResolve, rej); + } + }); + }; + const defaultPromise = (data, dataToHtml) => Promise.resolve({ + html: dataToHtml(data), + url: data.source + }); + const loadedData = editor => data => dataToHtml(editor, data); + const getEmbedHtml = (editor, data) => { + const embedHandler = getUrlResolver(editor); + return embedHandler ? embedPromise(data, loadedData(editor), embedHandler) : defaultPromise(data, loadedData(editor)); + }; + const isCached = url => has(cache, url); + + const extractMeta = (sourceInput, data) => get$1(data, sourceInput).bind(mainData => get$1(mainData, 'meta')); + const getValue = (data, metaData, sourceInput) => prop => { + const getFromData = () => get$1(data, prop); + const getFromMetaData = () => get$1(metaData, prop); + const getNonEmptyValue = c => get$1(c, 'value').bind(v => v.length > 0 ? Optional.some(v) : Optional.none()); + const getFromValueFirst = () => getFromData().bind(child => isObject(child) ? getNonEmptyValue(child).orThunk(getFromMetaData) : getFromMetaData().orThunk(() => Optional.from(child))); + const getFromMetaFirst = () => getFromMetaData().orThunk(() => getFromData().bind(child => isObject(child) ? getNonEmptyValue(child) : Optional.from(child))); + return { [prop]: (prop === sourceInput ? getFromValueFirst() : getFromMetaFirst()).getOr('') }; + }; + const getDimensions = (data, metaData) => { + const dimensions = {}; + get$1(data, 'dimensions').each(dims => { + each$1([ + 'width', + 'height' + ], prop => { + get$1(metaData, prop).orThunk(() => get$1(dims, prop)).each(value => dimensions[prop] = value); + }); + }); + return dimensions; + }; + const unwrap = (data, sourceInput) => { + const metaData = sourceInput && sourceInput !== 'dimensions' ? extractMeta(sourceInput, data).getOr({}) : {}; + const get = getValue(data, metaData, sourceInput); + return { + ...get('source'), + ...get('altsource'), + ...get('poster'), + ...get('embed'), + ...getDimensions(data, metaData) + }; + }; + const wrap = data => { + const wrapped = { + ...data, + source: { value: get$1(data, 'source').getOr('') }, + altsource: { value: get$1(data, 'altsource').getOr('') }, + poster: { value: get$1(data, 'poster').getOr('') } + }; + each$1([ + 'width', + 'height' + ], prop => { + get$1(data, prop).each(value => { + const dimensions = wrapped.dimensions || {}; + dimensions[prop] = value; + wrapped.dimensions = dimensions; + }); + }); + return wrapped; + }; + const handleError = editor => error => { + const errorMessage = error && error.msg ? 'Media embed handler error: ' + error.msg : 'Media embed handler threw unknown error.'; + editor.notificationManager.open({ + type: 'error', + text: errorMessage + }); + }; + const getEditorData = editor => { + const element = editor.selection.getNode(); + const snippet = isMediaElement(element) ? editor.serializer.serialize(element, { selection: true }) : ''; + const data = htmlToData(snippet, editor.schema); + const getDimensionsOfElement = () => { + if (isEmbedIframe(data.source, data.type)) { + const rect = editor.dom.getRect(element); + return { + width: rect.w.toString().replace(/px$/, ''), + height: rect.h.toString().replace(/px$/, '') + }; + } else { + return {}; + } + }; + const dimensions = getDimensionsOfElement(); + return { + embed: snippet, + ...data, + ...dimensions + }; + }; + const addEmbedHtml = (api, editor) => response => { + if (isString(response.url) && response.url.trim().length > 0) { + const html = response.html; + const snippetData = htmlToData(html, editor.schema); + const nuData = { + ...snippetData, + source: response.url, + embed: html + }; + api.setData(wrap(nuData)); + } + }; + const selectPlaceholder = (editor, beforeObjects) => { + const afterObjects = editor.dom.select('*[data-mce-object]'); + for (let i = 0; i < beforeObjects.length; i++) { + for (let y = afterObjects.length - 1; y >= 0; y--) { + if (beforeObjects[i] === afterObjects[y]) { + afterObjects.splice(y, 1); + } + } + } + editor.selection.select(afterObjects[0]); + }; + const handleInsert = (editor, html) => { + const beforeObjects = editor.dom.select('*[data-mce-object]'); + editor.insertContent(html); + selectPlaceholder(editor, beforeObjects); + editor.nodeChanged(); + }; + const isEmbedIframe = (url, mediaDataType) => isNonNullable(mediaDataType) && mediaDataType === 'ephox-embed-iri' && isNonNullable(matchPattern(url)); + const shouldInsertAsNewIframe = (prevData, newData) => { + const hasDimensionsChanged = (prevData, newData) => prevData.width !== newData.width || prevData.height !== newData.height; + return hasDimensionsChanged(prevData, newData) && isEmbedIframe(newData.source, prevData.type); + }; + const submitForm = (prevData, newData, editor) => { + var _a; + newData.embed = shouldInsertAsNewIframe(prevData, newData) && hasDimensions(editor) ? dataToHtml(editor, { + ...newData, + embed: '' + }) : updateHtml((_a = newData.embed) !== null && _a !== void 0 ? _a : '', newData, false, editor.schema); + if (newData.embed && (prevData.source === newData.source || isCached(newData.source))) { + handleInsert(editor, newData.embed); + } else { + getEmbedHtml(editor, newData).then(response => { + handleInsert(editor, response.html); + }).catch(handleError(editor)); + } + }; + const showDialog = editor => { + const editorData = getEditorData(editor); + const currentData = Cell(editorData); + const initialData = wrap(editorData); + const handleSource = (prevData, api) => { + const serviceData = unwrap(api.getData(), 'source'); + if (prevData.source !== serviceData.source) { + addEmbedHtml(win, editor)({ + url: serviceData.source, + html: '' + }); + getEmbedHtml(editor, serviceData).then(addEmbedHtml(win, editor)).catch(handleError(editor)); + } + }; + const handleEmbed = api => { + var _a; + const data = unwrap(api.getData()); + const dataFromEmbed = htmlToData((_a = data.embed) !== null && _a !== void 0 ? _a : '', editor.schema); + api.setData(wrap(dataFromEmbed)); + }; + const handleUpdate = (api, sourceInput, prevData) => { + const dialogData = unwrap(api.getData(), sourceInput); + const data = shouldInsertAsNewIframe(prevData, dialogData) && hasDimensions(editor) ? { + ...dialogData, + embed: '' + } : dialogData; + const embed = dataToHtml(editor, data); + api.setData(wrap({ + ...data, + embed + })); + }; + const mediaInput = [{ + name: 'source', + type: 'urlinput', + filetype: 'media', + label: 'Source', + picker_text: 'Browse files' + }]; + const sizeInput = !hasDimensions(editor) ? [] : [{ + type: 'sizeinput', + name: 'dimensions', + label: 'Constrain proportions', + constrain: true + }]; + const generalTab = { + title: 'General', + name: 'general', + items: flatten([ + mediaInput, + sizeInput + ]) + }; + const embedTextarea = { + type: 'textarea', + name: 'embed', + label: 'Paste your embed code below:' + }; + const embedTab = { + title: 'Embed', + items: [embedTextarea] + }; + const advancedFormItems = []; + if (hasAltSource(editor)) { + advancedFormItems.push({ + name: 'altsource', + type: 'urlinput', + filetype: 'media', + label: 'Alternative source URL' + }); + } + if (hasPoster(editor)) { + advancedFormItems.push({ + name: 'poster', + type: 'urlinput', + filetype: 'image', + label: 'Media poster (Image URL)' + }); + } + const advancedTab = { + title: 'Advanced', + name: 'advanced', + items: advancedFormItems + }; + const tabs = [ + generalTab, + embedTab + ]; + if (advancedFormItems.length > 0) { + tabs.push(advancedTab); + } + const body = { + type: 'tabpanel', + tabs + }; + const win = editor.windowManager.open({ + title: 'Insert/Edit Media', + size: 'normal', + body, + buttons: [ + { + type: 'cancel', + name: 'cancel', + text: 'Cancel' + }, + { + type: 'submit', + name: 'save', + text: 'Save', + primary: true + } + ], + onSubmit: api => { + const serviceData = unwrap(api.getData()); + submitForm(currentData.get(), serviceData, editor); + api.close(); + }, + onChange: (api, detail) => { + switch (detail.name) { + case 'source': + handleSource(currentData.get(), api); + break; + case 'embed': + handleEmbed(api); + break; + case 'dimensions': + case 'altsource': + case 'poster': + handleUpdate(api, detail.name, currentData.get()); + break; + } + currentData.set(unwrap(api.getData())); + }, + initialData + }); + }; + + const get = editor => { + const showDialog$1 = () => { + showDialog(editor); + }; + return { showDialog: showDialog$1 }; + }; + + const register$1 = editor => { + const showDialog$1 = () => { + showDialog(editor); + }; + editor.addCommand('mceMedia', showDialog$1); + }; + + const checkRange = (str, substr, start) => substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr; + const startsWith = (str, prefix) => { + return checkRange(str, prefix, 0); + }; + + var global = tinymce.util.Tools.resolve('tinymce.Env'); + + const isLiveEmbedNode = node => { + const name = node.name; + return name === 'iframe' || name === 'video' || name === 'audio'; + }; + const getDimension = (node, styles, dimension, defaultValue = null) => { + const value = node.attr(dimension); + if (isNonNullable(value)) { + return value; + } else if (!has(styles, dimension)) { + return defaultValue; + } else { + return null; + } + }; + const setDimensions = (node, previewNode, styles) => { + const useDefaults = previewNode.name === 'img' || node.name === 'video'; + const defaultWidth = useDefaults ? '300' : null; + const fallbackHeight = node.name === 'audio' ? '30' : '150'; + const defaultHeight = useDefaults ? fallbackHeight : null; + previewNode.attr({ + width: getDimension(node, styles, 'width', defaultWidth), + height: getDimension(node, styles, 'height', defaultHeight) + }); + }; + const appendNodeContent = (editor, nodeName, previewNode, html) => { + const newNode = Parser(editor.schema).parse(html, { context: nodeName }); + while (newNode.firstChild) { + previewNode.append(newNode.firstChild); + } + }; + const createPlaceholderNode = (editor, node) => { + const name = node.name; + const placeHolder = new global$2('img', 1); + retainAttributesAndInnerHtml(editor, node, placeHolder); + setDimensions(node, placeHolder, {}); + placeHolder.attr({ + 'style': node.attr('style'), + 'src': global.transparentSrc, + 'data-mce-object': name, + 'class': 'mce-object mce-object-' + name + }); + return placeHolder; + }; + const createPreviewNode = (editor, node) => { + var _a; + const name = node.name; + const previewWrapper = new global$2('span', 1); + previewWrapper.attr({ + 'contentEditable': 'false', + 'style': node.attr('style'), + 'data-mce-object': name, + 'class': 'mce-preview-object mce-object-' + name + }); + retainAttributesAndInnerHtml(editor, node, previewWrapper); + const styles = editor.dom.parseStyle((_a = node.attr('style')) !== null && _a !== void 0 ? _a : ''); + const previewNode = new global$2(name, 1); + setDimensions(node, previewNode, styles); + previewNode.attr({ + src: node.attr('src'), + style: node.attr('style'), + class: node.attr('class') + }); + if (name === 'iframe') { + previewNode.attr({ + allowfullscreen: node.attr('allowfullscreen'), + frameborder: '0', + sandbox: node.attr('sandbox') + }); + } else { + const attrs = [ + 'controls', + 'crossorigin', + 'currentTime', + 'loop', + 'muted', + 'poster', + 'preload' + ]; + each$1(attrs, attrName => { + previewNode.attr(attrName, node.attr(attrName)); + }); + const sanitizedHtml = previewWrapper.attr('data-mce-html'); + if (isNonNullable(sanitizedHtml)) { + appendNodeContent(editor, name, previewNode, unescape(sanitizedHtml)); + } + } + const shimNode = new global$2('span', 1); + shimNode.attr('class', 'mce-shim'); + previewWrapper.append(previewNode); + previewWrapper.append(shimNode); + return previewWrapper; + }; + const retainAttributesAndInnerHtml = (editor, sourceNode, targetNode) => { + var _a; + const attribs = (_a = sourceNode.attributes) !== null && _a !== void 0 ? _a : []; + let ai = attribs.length; + while (ai--) { + const attrName = attribs[ai].name; + let attrValue = attribs[ai].value; + if (attrName !== 'width' && attrName !== 'height' && attrName !== 'style' && !startsWith(attrName, 'data-mce-')) { + if (attrName === 'data' || attrName === 'src') { + attrValue = editor.convertURL(attrValue, attrName); + } + targetNode.attr('data-mce-p-' + attrName, attrValue); + } + } + const serializer = global$1({ inner: true }, editor.schema); + const tempNode = new global$2('div', 1); + each$1(sourceNode.children(), child => tempNode.append(child)); + const innerHtml = serializer.serialize(tempNode); + if (innerHtml) { + targetNode.attr('data-mce-html', escape(innerHtml)); + targetNode.empty(); + } + }; + const isPageEmbedWrapper = node => { + const nodeClass = node.attr('class'); + return isString(nodeClass) && /\btiny-pageembed\b/.test(nodeClass); + }; + const isWithinEmbedWrapper = node => { + let tempNode = node; + while (tempNode = tempNode.parent) { + if (tempNode.attr('data-ephox-embed-iri') || isPageEmbedWrapper(tempNode)) { + return true; + } + } + return false; + }; + const placeHolderConverter = editor => nodes => { + let i = nodes.length; + let node; + while (i--) { + node = nodes[i]; + if (!node.parent) { + continue; + } + if (node.parent.attr('data-mce-object')) { + continue; + } + if (isLiveEmbedNode(node) && hasLiveEmbeds(editor)) { + if (!isWithinEmbedWrapper(node)) { + node.replace(createPreviewNode(editor, node)); + } + } else { + if (!isWithinEmbedWrapper(node)) { + node.replace(createPlaceholderNode(editor, node)); + } + } + } + }; + + const parseAndSanitize = (editor, context, html) => { + const getEditorOption = editor.options.get; + const sanitize = getEditorOption('xss_sanitization'); + const validate = shouldFilterHtml(editor); + return Parser(editor.schema, { + sanitize, + validate + }).parse(html, { context }); + }; + + const setup$1 = editor => { + editor.on('PreInit', () => { + const {schema, serializer, parser} = editor; + const boolAttrs = schema.getBoolAttrs(); + each$1('webkitallowfullscreen mozallowfullscreen'.split(' '), name => { + boolAttrs[name] = {}; + }); + each({ embed: ['wmode'] }, (attrs, name) => { + const rule = schema.getElementRule(name); + if (rule) { + each$1(attrs, attr => { + rule.attributes[attr] = {}; + rule.attributesOrder.push(attr); + }); + } + }); + parser.addNodeFilter('iframe,video,audio,object,embed', placeHolderConverter(editor)); + serializer.addAttributeFilter('data-mce-object', (nodes, name) => { + var _a; + let i = nodes.length; + while (i--) { + const node = nodes[i]; + if (!node.parent) { + continue; + } + const realElmName = node.attr(name); + const realElm = new global$2(realElmName, 1); + if (realElmName !== 'audio') { + const className = node.attr('class'); + if (className && className.indexOf('mce-preview-object') !== -1 && node.firstChild) { + realElm.attr({ + width: node.firstChild.attr('width'), + height: node.firstChild.attr('height') + }); + } else { + realElm.attr({ + width: node.attr('width'), + height: node.attr('height') + }); + } + } + realElm.attr({ style: node.attr('style') }); + const attribs = (_a = node.attributes) !== null && _a !== void 0 ? _a : []; + let ai = attribs.length; + while (ai--) { + const attrName = attribs[ai].name; + if (attrName.indexOf('data-mce-p-') === 0) { + realElm.attr(attrName.substr(11), attribs[ai].value); + } + } + const innerHtml = node.attr('data-mce-html'); + if (innerHtml) { + const fragment = parseAndSanitize(editor, realElmName, unescape(innerHtml)); + each$1(fragment.children(), child => realElm.append(child)); + } + node.replace(realElm); + } + }); + }); + editor.on('SetContent', () => { + const dom = editor.dom; + each$1(dom.select('span.mce-preview-object'), elm => { + if (dom.select('span.mce-shim', elm).length === 0) { + dom.add(elm, 'span', { class: 'mce-shim' }); + } + }); + }); + }; + + const setup = editor => { + editor.on('ResolveName', e => { + let name; + if (e.target.nodeType === 1 && (name = e.target.getAttribute('data-mce-object'))) { + e.name = name; + } + }); + }; + + const onSetupEditable = editor => api => { + const nodeChanged = () => { + api.setEnabled(editor.selection.isEditable()); + }; + editor.on('NodeChange', nodeChanged); + nodeChanged(); + return () => { + editor.off('NodeChange', nodeChanged); + }; + }; + const register = editor => { + const onAction = () => editor.execCommand('mceMedia'); + editor.ui.registry.addToggleButton('media', { + tooltip: 'Insert/edit media', + icon: 'embed', + onAction, + onSetup: buttonApi => { + const selection = editor.selection; + buttonApi.setActive(isMediaElement(selection.getNode())); + const unbindSelectorChanged = selection.selectorChangedWithUnbind('img[data-mce-object],span[data-mce-object],div[data-ephox-embed-iri]', buttonApi.setActive).unbind; + const unbindEditable = onSetupEditable(editor)(buttonApi); + return () => { + unbindSelectorChanged(); + unbindEditable(); + }; + } + }); + editor.ui.registry.addMenuItem('media', { + icon: 'embed', + text: 'Media...', + onAction, + onSetup: onSetupEditable(editor) + }); + }; + + var Plugin = () => { + global$6.add('media', editor => { + register$2(editor); + register$1(editor); + register(editor); + setup(editor); + setup$1(editor); + setup$2(editor); + return get(editor); + }); + }; + + Plugin(); + +})(); diff --git a/public/tools/cloud_notes/tinymce/plugins/media/plugin.min.js b/public/tools/cloud_notes/tinymce/plugins/media/plugin.min.js new file mode 100644 index 0000000..498cefa --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/media/plugin.min.js @@ -0,0 +1,4 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ +!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(r=o=e,(a=String).prototype.isPrototypeOf(r)||(null===(s=o.constructor)||void 0===s?void 0:s.name)===a.name)?"string":t;var r,o,a,s})(t)===e,r=t("string"),o=t("object"),a=t("array"),s=e=>!(e=>null==e)(e);class i{constructor(e,t){this.tag=e,this.value=t}static some(e){return new i(!0,e)}static none(){return i.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?i.some(e(this.value)):i.none()}bind(e){return this.tag?e(this.value):i.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:i.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return s(e)?i.some(e):i.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}i.singletonNone=new i(!1);const n=Array.prototype.push,l=(e,t)=>{for(let r=0,o=e.length;r{const t=[];for(let r=0,o=e.length;rh(e,t)?i.from(e[t]):i.none(),h=(e,t)=>u.call(e,t),p=e=>t=>t.options.get(e),g=p("audio_template_callback"),b=p("video_template_callback"),w=p("iframe_template_callback"),v=p("media_live_embeds"),f=p("media_filter_html"),y=p("media_url_resolver"),x=p("media_alt_source"),_=p("media_poster"),k=p("media_dimensions");var j=tinymce.util.Tools.resolve("tinymce.util.Tools"),O=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),A=tinymce.util.Tools.resolve("tinymce.html.DomParser");const S=O.DOM,$=e=>e.replace(/px$/,""),C=e=>{const t=e.attr("style"),r=t?S.parseStyle(t):{};return{type:"ephox-embed-iri",source:e.attr("data-ephox-embed-iri"),altsource:"",poster:"",width:d(r,"max-width").map($).getOr(""),height:d(r,"max-height").map($).getOr("")}},T=(e,t)=>{let r={};for(let o=A({validate:!1,forced_root_block:!1},t).parse(e);o;o=o.walk())if(1===o.type){const e=o.name;if(o.attr("data-ephox-embed-iri")){r=C(o);break}r.source||"param"!==e||(r.source=o.attr("movie")),"iframe"!==e&&"object"!==e&&"embed"!==e&&"video"!==e&&"audio"!==e||(r.type||(r.type=e),r=j.extend(o.attributes.map,r)),"source"===e&&(r.source?r.altsource||(r.altsource=o.attr("src")):r.source=o.attr("src")),"img"!==e||r.poster||(r.poster=o.attr("src"))}return r.source=r.source||r.src||"",r.altsource=r.altsource||"",r.poster=r.poster||"",r},z=e=>{var t;const r=null!==(t=e.toLowerCase().split(".").pop())&&void 0!==t?t:"";return d({mp3:"audio/mpeg",m4a:"audio/x-m4a",wav:"audio/wav",mp4:"video/mp4",webm:"video/webm",ogg:"video/ogg",swf:"application/x-shockwave-flash"},r).getOr("")};var D=tinymce.util.Tools.resolve("tinymce.html.Node"),F=tinymce.util.Tools.resolve("tinymce.html.Serializer");const M=(e,t={})=>A({forced_root_block:!1,validate:!1,allow_conditional_comments:!0,...t},e),N=O.DOM,R=e=>/^[0-9.]+$/.test(e)?e+"px":e,E=(e,t)=>{const r=t.attr("style"),o=r?N.parseStyle(r):{};s(e.width)&&(o["max-width"]=R(e.width)),s(e.height)&&(o["max-height"]=R(e.height)),t.attr("style",N.serializeStyle(o))},U=["source","altsource"],P=(e,t,r,o)=>{let a=0,s=0;const i=M(o);i.addNodeFilter("source",(e=>a=e.length));const n=i.parse(e);for(let e=n;e;e=e.walk())if(1===e.type){const o=e.name;if(e.attr("data-ephox-embed-iri")){E(t,e);break}switch(o){case"video":case"object":case"embed":case"img":case"iframe":void 0!==t.height&&void 0!==t.width&&(e.attr("width",t.width),e.attr("height",t.height))}if(r)switch(o){case"video":e.attr("poster",t.poster),e.attr("src",null);for(let r=a;r<2;r++)if(t[U[r]]){const o=new D("source",1);o.attr("src",t[U[r]]),o.attr("type",t[U[r]+"mime"]||null),e.append(o)}break;case"iframe":e.attr("src",t.source);break;case"object":const r=e.getAll("img").length>0;if(t.poster&&!r){e.attr("src",t.poster);const r=new D("img",1);r.attr("src",t.poster),r.attr("width",t.width),r.attr("height",t.height),e.append(r)}break;case"source":if(s<2&&(e.attr("src",t[U[s]]),e.attr("type",t[U[s]+"mime"]||null),!t[U[s]])){e.remove();continue}s++;break;case"img":t.poster||e.remove()}}return F({},o).serialize(n)},L=[{regex:/youtu\.be\/([\w\-_\?&=.]+)/i,type:"iframe",w:560,h:314,url:"www.youtube.com/embed/$1",allowFullscreen:!0},{regex:/youtube\.com(.+)v=([^&]+)(&([a-z0-9&=\-_]+))?/i,type:"iframe",w:560,h:314,url:"www.youtube.com/embed/$2?$4",allowFullscreen:!0},{regex:/youtube.com\/embed\/([a-z0-9\?&=\-_]+)/i,type:"iframe",w:560,h:314,url:"www.youtube.com/embed/$1",allowFullscreen:!0},{regex:/vimeo\.com\/([0-9]+)\?h=(\w+)/,type:"iframe",w:425,h:350,url:"player.vimeo.com/video/$1?h=$2&title=0&byline=0&portrait=0&color=8dc7dc",allowFullscreen:!0},{regex:/vimeo\.com\/(.*)\/([0-9]+)\?h=(\w+)/,type:"iframe",w:425,h:350,url:"player.vimeo.com/video/$2?h=$3&title=0&byline=0",allowFullscreen:!0},{regex:/vimeo\.com\/([0-9]+)/,type:"iframe",w:425,h:350,url:"player.vimeo.com/video/$1?title=0&byline=0&portrait=0&color=8dc7dc",allowFullscreen:!0},{regex:/vimeo\.com\/(.*)\/([0-9]+)/,type:"iframe",w:425,h:350,url:"player.vimeo.com/video/$2?title=0&byline=0",allowFullscreen:!0},{regex:/maps\.google\.([a-z]{2,3})\/maps\/(.+)msid=(.+)/,type:"iframe",w:425,h:350,url:'maps.google.com/maps/ms?msid=$2&output=embed"',allowFullscreen:!1},{regex:/dailymotion\.com\/video\/([^_]+)/,type:"iframe",w:480,h:270,url:"www.dailymotion.com/embed/video/$1",allowFullscreen:!0},{regex:/dai\.ly\/([^_]+)/,type:"iframe",w:480,h:270,url:"www.dailymotion.com/embed/video/$1",allowFullscreen:!0}],I=(e,t)=>{const r=(e=>{const t=e.match(/^(https?:\/\/|www\.)(.+)$/i);return t&&t.length>1?"www."===t[1]?"https://":t[1]:"https://"})(t),o=e.regex.exec(t);let a=r+e.url;if(s(o))for(let e=0;eo[e]?o[e]:""));return a.replace(/\?$/,"")},B=e=>{const t=L.filter((t=>t.regex.test(e)));return t.length>0?j.extend({},t[0],{url:I(t[0],e)}):null},G=(e,t)=>{var r;const o=j.extend({},t);if(!o.source&&(j.extend(o,T(null!==(r=o.embed)&&void 0!==r?r:"",e.schema)),!o.source))return"";o.altsource||(o.altsource=""),o.poster||(o.poster=""),o.source=e.convertURL(o.source,"source"),o.altsource=e.convertURL(o.altsource,"source"),o.sourcemime=z(o.source),o.altsourcemime=z(o.altsource),o.poster=e.convertURL(o.poster,"poster");const a=B(o.source);if(a&&(o.source=a.url,o.type=a.type,o.allowfullscreen=a.allowFullscreen,o.width=o.width||String(a.w),o.height=o.height||String(a.h)),o.embed)return P(o.embed,o,!0,e.schema);{const t=g(e),r=b(e),a=w(e);return o.width=o.width||"300",o.height=o.height||"150",j.each(o,((t,r)=>{o[r]=e.dom.encode(""+t)})),"iframe"===o.type?((e,t)=>{if(t)return t(e);{const t=e.allowfullscreen?' allowFullscreen="1"':"";return'"}})(o,a):"application/x-shockwave-flash"===o.sourcemime?(e=>{let t='';return e.poster&&(t+=''),t+="",t})(o):-1!==o.sourcemime.indexOf("audio")?((e,t)=>t?t(e):'")(o,t):((e,t)=>t?t(e):'")(o,r)}},W=e=>e.hasAttribute("data-mce-object")||e.hasAttribute("data-ephox-embed-iri"),q={},H=e=>t=>G(e,t),J=(e,t)=>{const r=y(e);return r?((e,t,r)=>new Promise(((o,a)=>{const s=r=>(r.html&&(q[e.source]=r),o({url:e.source,html:r.html?r.html:t(e)}));q[e.source]?s(q[e.source]):r({url:e.source},s,a)})))(t,H(e),r):((e,t)=>Promise.resolve({html:t(e),url:e.source}))(t,H(e))},K=(e,t)=>{const r={};return d(e,"dimensions").each((e=>{l(["width","height"],(o=>{d(t,o).orThunk((()=>d(e,o))).each((e=>r[o]=e))}))})),r},Q=(e,t)=>{const r=t&&"dimensions"!==t?((e,t)=>d(t,e).bind((e=>d(e,"meta"))))(t,e).getOr({}):{},a=((e,t,r)=>a=>{const s=()=>d(e,a),n=()=>d(t,a),l=e=>d(e,"value").bind((e=>e.length>0?i.some(e):i.none()));return{[a]:(a===r?s().bind((e=>o(e)?l(e).orThunk(n):n().orThunk((()=>i.from(e))))):n().orThunk((()=>s().bind((e=>o(e)?l(e):i.from(e)))))).getOr("")}})(e,r,t);return{...a("source"),...a("altsource"),...a("poster"),...a("embed"),...K(e,r)}},V=e=>{const t={...e,source:{value:d(e,"source").getOr("")},altsource:{value:d(e,"altsource").getOr("")},poster:{value:d(e,"poster").getOr("")}};return l(["width","height"],(r=>{d(e,r).each((e=>{const o=t.dimensions||{};o[r]=e,t.dimensions=o}))})),t},X=e=>t=>{const r=t&&t.msg?"Media embed handler error: "+t.msg:"Media embed handler threw unknown error.";e.notificationManager.open({type:"error",text:r})},Y=(e,t)=>o=>{if(r(o.url)&&o.url.trim().length>0){const r=o.html,a={...T(r,t.schema),source:o.url,embed:r};e.setData(V(a))}},Z=(e,t)=>{const r=e.dom.select("*[data-mce-object]");e.insertContent(t),((e,t)=>{const r=e.dom.select("*[data-mce-object]");for(let e=0;e=0;o--)t[e]===r[o]&&r.splice(o,1);e.selection.select(r[0])})(e,r),e.nodeChanged()},ee=(e,t)=>s(t)&&"ephox-embed-iri"===t&&s(B(e)),te=(e,t)=>((e,t)=>e.width!==t.width||e.height!==t.height)(e,t)&&ee(t.source,e.type),re=e=>{const t=(e=>{const t=e.selection.getNode(),r=W(t)?e.serializer.serialize(t,{selection:!0}):"",o=T(r,e.schema),a=(()=>{if(ee(o.source,o.type)){const r=e.dom.getRect(t);return{width:r.w.toString().replace(/px$/,""),height:r.h.toString().replace(/px$/,"")}}return{}})();return{embed:r,...o,...a}})(e),r=(e=>{let t=e;return{get:()=>t,set:e=>{t=e}}})(t),o=V(t),a=k(e)?[{type:"sizeinput",name:"dimensions",label:"Constrain proportions",constrain:!0}]:[],s={title:"General",name:"general",items:c([[{name:"source",type:"urlinput",filetype:"media",label:"Source",picker_text:"Browse files"}],a])},i=[];x(e)&&i.push({name:"altsource",type:"urlinput",filetype:"media",label:"Alternative source URL"}),_(e)&&i.push({name:"poster",type:"urlinput",filetype:"image",label:"Media poster (Image URL)"});const n={title:"Advanced",name:"advanced",items:i},l=[s,{title:"Embed",items:[{type:"textarea",name:"embed",label:"Paste your embed code below:"}]}];i.length>0&&l.push(n);const m={type:"tabpanel",tabs:l},u=e.windowManager.open({title:"Insert/Edit Media",size:"normal",body:m,buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],onSubmit:t=>{const o=Q(t.getData());((e,t,r)=>{var o,a;t.embed=te(e,t)&&k(r)?G(r,{...t,embed:""}):P(null!==(o=t.embed)&&void 0!==o?o:"",t,!1,r.schema),t.embed&&(e.source===t.source||(a=t.source,h(q,a)))?Z(r,t.embed):J(r,t).then((e=>{Z(r,e.html)})).catch(X(r))})(r.get(),o,e),t.close()},onChange:(t,o)=>{switch(o.name){case"source":((t,r)=>{const o=Q(r.getData(),"source");t.source!==o.source&&(Y(u,e)({url:o.source,html:""}),J(e,o).then(Y(u,e)).catch(X(e)))})(r.get(),t);break;case"embed":(t=>{var r;const o=Q(t.getData()),a=T(null!==(r=o.embed)&&void 0!==r?r:"",e.schema);t.setData(V(a))})(t);break;case"dimensions":case"altsource":case"poster":((t,r,o)=>{const a=Q(t.getData(),r),s=te(o,a)&&k(e)?{...a,embed:""}:a,i=G(e,s);t.setData(V({...s,embed:i}))})(t,o.name,r.get())}r.set(Q(t.getData()))},initialData:o})};var oe=tinymce.util.Tools.resolve("tinymce.Env");const ae=e=>{const t=e.name;return"iframe"===t||"video"===t||"audio"===t},se=(e,t,r,o=null)=>{const a=e.attr(r);return s(a)?a:h(t,r)?null:o},ie=(e,t,r)=>{const o="img"===t.name||"video"===e.name,a=o?"300":null,s="audio"===e.name?"30":"150",i=o?s:null;t.attr({width:se(e,r,"width",a),height:se(e,r,"height",i)})},ne=(e,t)=>{const r=t.name,o=new D("img",1);return ce(e,t,o),ie(t,o,{}),o.attr({style:t.attr("style"),src:oe.transparentSrc,"data-mce-object":r,class:"mce-object mce-object-"+r}),o},le=(e,t)=>{var r;const o=t.name,a=new D("span",1);a.attr({contentEditable:"false",style:t.attr("style"),"data-mce-object":o,class:"mce-preview-object mce-object-"+o}),ce(e,t,a);const i=e.dom.parseStyle(null!==(r=t.attr("style"))&&void 0!==r?r:""),n=new D(o,1);if(ie(t,n,i),n.attr({src:t.attr("src"),style:t.attr("style"),class:t.attr("class")}),"iframe"===o)n.attr({allowfullscreen:t.attr("allowfullscreen"),frameborder:"0",sandbox:t.attr("sandbox")});else{l(["controls","crossorigin","currentTime","loop","muted","poster","preload"],(e=>{n.attr(e,t.attr(e))}));const r=a.attr("data-mce-html");s(r)&&((e,t,r,o)=>{const a=M(e.schema).parse(o,{context:t});for(;a.firstChild;)r.append(a.firstChild)})(e,o,n,unescape(r))}const c=new D("span",1);return c.attr("class","mce-shim"),a.append(n),a.append(c),a},ce=(e,t,r)=>{var o;const a=null!==(o=t.attributes)&&void 0!==o?o:[];let s=a.length;for(;s--;){const t=a[s].name;let o=a[s].value;"width"===t||"height"===t||"style"===t||(n="data-mce-",(i=t).length>=9&&i.substr(0,9)===n)||("data"!==t&&"src"!==t||(o=e.convertURL(o,t)),r.attr("data-mce-p-"+t,o))}var i,n;const c=F({inner:!0},e.schema),m=new D("div",1);l(t.children(),(e=>m.append(e)));const u=c.serialize(m);u&&(r.attr("data-mce-html",escape(u)),r.empty())},me=e=>{const t=e.attr("class");return r(t)&&/\btiny-pageembed\b/.test(t)},ue=e=>{let t=e;for(;t=t.parent;)if(t.attr("data-ephox-embed-iri")||me(t))return!0;return!1},de=(e,t,r)=>{const o=(0,e.options.get)("xss_sanitization"),a=f(e);return M(e.schema,{sanitize:o,validate:a}).parse(r,{context:t})},he=e=>t=>{const r=()=>{t.setEnabled(e.selection.isEditable())};return e.on("NodeChange",r),r(),()=>{e.off("NodeChange",r)}};e.add("media",(e=>((e=>{const t=e.options.register;t("audio_template_callback",{processor:"function"}),t("video_template_callback",{processor:"function"}),t("iframe_template_callback",{processor:"function"}),t("media_live_embeds",{processor:"boolean",default:!0}),t("media_filter_html",{processor:"boolean",default:!0}),t("media_url_resolver",{processor:"function"}),t("media_alt_source",{processor:"boolean",default:!0}),t("media_poster",{processor:"boolean",default:!0}),t("media_dimensions",{processor:"boolean",default:!0})})(e),(e=>{e.addCommand("mceMedia",(()=>{re(e)}))})(e),(e=>{const t=()=>e.execCommand("mceMedia");e.ui.registry.addToggleButton("media",{tooltip:"Insert/edit media",icon:"embed",onAction:t,onSetup:t=>{const r=e.selection;t.setActive(W(r.getNode()));const o=r.selectorChangedWithUnbind("img[data-mce-object],span[data-mce-object],div[data-ephox-embed-iri]",t.setActive).unbind,a=he(e)(t);return()=>{o(),a()}}}),e.ui.registry.addMenuItem("media",{icon:"embed",text:"Media...",onAction:t,onSetup:he(e)})})(e),(e=>{e.on("ResolveName",(e=>{let t;1===e.target.nodeType&&(t=e.target.getAttribute("data-mce-object"))&&(e.name=t)}))})(e),(e=>{e.on("PreInit",(()=>{const{schema:t,serializer:r,parser:o}=e,a=t.getBoolAttrs();l("webkitallowfullscreen mozallowfullscreen".split(" "),(e=>{a[e]={}})),((e,t)=>{const r=m(e);for(let o=0,a=r.length;o{const o=t.getElementRule(r);o&&l(e,(e=>{o.attributes[e]={},o.attributesOrder.push(e)}))})),o.addNodeFilter("iframe,video,audio,object,embed",(e=>t=>{let r,o=t.length;for(;o--;)r=t[o],r.parent&&(r.parent.attr("data-mce-object")||(ae(r)&&v(e)?ue(r)||r.replace(le(e,r)):ue(r)||r.replace(ne(e,r))))})(e)),r.addAttributeFilter("data-mce-object",((t,r)=>{var o;let a=t.length;for(;a--;){const s=t[a];if(!s.parent)continue;const i=s.attr(r),n=new D(i,1);if("audio"!==i){const e=s.attr("class");e&&-1!==e.indexOf("mce-preview-object")&&s.firstChild?n.attr({width:s.firstChild.attr("width"),height:s.firstChild.attr("height")}):n.attr({width:s.attr("width"),height:s.attr("height")})}n.attr({style:s.attr("style")});const c=null!==(o=s.attributes)&&void 0!==o?o:[];let m=c.length;for(;m--;){const e=c[m].name;0===e.indexOf("data-mce-p-")&&n.attr(e.substr(11),c[m].value)}const u=s.attr("data-mce-html");if(u){const t=de(e,i,unescape(u));l(t.children(),(e=>n.append(e)))}s.replace(n)}}))})),e.on("SetContent",(()=>{const t=e.dom;l(t.select("span.mce-preview-object"),(e=>{0===t.select("span.mce-shim",e).length&&t.add(e,"span",{class:"mce-shim"})}))}))})(e),(e=>{e.on("click keyup touchend",(()=>{const t=e.selection.getNode();t&&e.dom.hasClass(t,"mce-preview-object")&&e.dom.getAttrib(t,"data-mce-selected")&&t.setAttribute("data-mce-selected","2")})),e.on("ObjectResized",(t=>{const r=t.target;if(r.getAttribute("data-mce-object")){let o=r.getAttribute("data-mce-html");o&&(o=unescape(o),r.setAttribute("data-mce-html",escape(P(o,{width:String(t.width),height:String(t.height)},!1,e.schema))))}}))})(e),(e=>({showDialog:()=>{re(e)}}))(e))))}(); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/nonbreaking/index.js b/public/tools/cloud_notes/tinymce/plugins/nonbreaking/index.js new file mode 100644 index 0000000..b38ef5e --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/nonbreaking/index.js @@ -0,0 +1,7 @@ +// Exports the "nonbreaking" plugin for usage with module loaders +// Usage: +// CommonJS: +// require('tinymce/plugins/nonbreaking') +// ES2015: +// import 'tinymce/plugins/nonbreaking' +require('./plugin.js'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/nonbreaking/plugin.js b/public/tools/cloud_notes/tinymce/plugins/nonbreaking/plugin.js new file mode 100644 index 0000000..4f6f604 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/nonbreaking/plugin.js @@ -0,0 +1,123 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ + +(function () { + 'use strict'; + + var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + const isSimpleType = type => value => typeof value === type; + const isBoolean = isSimpleType('boolean'); + const isNumber = isSimpleType('number'); + + const option = name => editor => editor.options.get(name); + const register$2 = editor => { + const registerOption = editor.options.register; + registerOption('nonbreaking_force_tab', { + processor: value => { + if (isBoolean(value)) { + return { + value: value ? 3 : 0, + valid: true + }; + } else if (isNumber(value)) { + return { + value, + valid: true + }; + } else { + return { + valid: false, + message: 'Must be a boolean or number.' + }; + } + }, + default: false + }); + registerOption('nonbreaking_wrap', { + processor: 'boolean', + default: true + }); + }; + const getKeyboardSpaces = option('nonbreaking_force_tab'); + const wrapNbsps = option('nonbreaking_wrap'); + + const stringRepeat = (string, repeats) => { + let str = ''; + for (let index = 0; index < repeats; index++) { + str += string; + } + return str; + }; + const isVisualCharsEnabled = editor => editor.plugins.visualchars ? editor.plugins.visualchars.isEnabled() : false; + const insertNbsp = (editor, times) => { + const classes = () => isVisualCharsEnabled(editor) ? 'mce-nbsp-wrap mce-nbsp' : 'mce-nbsp-wrap'; + const nbspSpan = () => `${ stringRepeat(' ', times) }`; + const shouldWrap = wrapNbsps(editor); + const html = shouldWrap || editor.plugins.visualchars ? nbspSpan() : stringRepeat(' ', times); + editor.undoManager.transact(() => editor.insertContent(html)); + }; + + const register$1 = editor => { + editor.addCommand('mceNonBreaking', () => { + insertNbsp(editor, 1); + }); + }; + + var global = tinymce.util.Tools.resolve('tinymce.util.VK'); + + const setup = editor => { + const spaces = getKeyboardSpaces(editor); + if (spaces > 0) { + editor.on('keydown', e => { + if (e.keyCode === global.TAB && !e.isDefaultPrevented()) { + if (e.shiftKey) { + return; + } + e.preventDefault(); + e.stopImmediatePropagation(); + insertNbsp(editor, spaces); + } + }); + } + }; + + const onSetupEditable = editor => api => { + const nodeChanged = () => { + api.setEnabled(editor.selection.isEditable()); + }; + editor.on('NodeChange', nodeChanged); + nodeChanged(); + return () => { + editor.off('NodeChange', nodeChanged); + }; + }; + const register = editor => { + const onAction = () => editor.execCommand('mceNonBreaking'); + editor.ui.registry.addButton('nonbreaking', { + icon: 'non-breaking', + tooltip: 'Nonbreaking space', + onAction, + onSetup: onSetupEditable(editor) + }); + editor.ui.registry.addMenuItem('nonbreaking', { + icon: 'non-breaking', + text: 'Nonbreaking space', + onAction, + onSetup: onSetupEditable(editor) + }); + }; + + var Plugin = () => { + global$1.add('nonbreaking', editor => { + register$2(editor); + register$1(editor); + register(editor); + setup(editor); + }); + }; + + Plugin(); + +})(); diff --git a/public/tools/cloud_notes/tinymce/plugins/nonbreaking/plugin.min.js b/public/tools/cloud_notes/tinymce/plugins/nonbreaking/plugin.min.js new file mode 100644 index 0000000..6112af0 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/nonbreaking/plugin.min.js @@ -0,0 +1,4 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ +!function(){"use strict";var n=tinymce.util.Tools.resolve("tinymce.PluginManager");const e=n=>e=>typeof e===n,o=e("boolean"),a=e("number"),t=n=>e=>e.options.get(n),i=t("nonbreaking_force_tab"),s=t("nonbreaking_wrap"),r=(n,e)=>{let o="";for(let a=0;a{const o=s(n)||n.plugins.visualchars?`${r(" ",e)}`:r(" ",e);n.undoManager.transact((()=>n.insertContent(o)))};var l=tinymce.util.Tools.resolve("tinymce.util.VK");const u=n=>e=>{const o=()=>{e.setEnabled(n.selection.isEditable())};return n.on("NodeChange",o),o(),()=>{n.off("NodeChange",o)}};n.add("nonbreaking",(n=>{(n=>{const e=n.options.register;e("nonbreaking_force_tab",{processor:n=>o(n)?{value:n?3:0,valid:!0}:a(n)?{value:n,valid:!0}:{valid:!1,message:"Must be a boolean or number."},default:!1}),e("nonbreaking_wrap",{processor:"boolean",default:!0})})(n),(n=>{n.addCommand("mceNonBreaking",(()=>{c(n,1)}))})(n),(n=>{const e=()=>n.execCommand("mceNonBreaking");n.ui.registry.addButton("nonbreaking",{icon:"non-breaking",tooltip:"Nonbreaking space",onAction:e,onSetup:u(n)}),n.ui.registry.addMenuItem("nonbreaking",{icon:"non-breaking",text:"Nonbreaking space",onAction:e,onSetup:u(n)})})(n),(n=>{const e=i(n);e>0&&n.on("keydown",(o=>{if(o.keyCode===l.TAB&&!o.isDefaultPrevented()){if(o.shiftKey)return;o.preventDefault(),o.stopImmediatePropagation(),c(n,e)}}))})(n)}))}(); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/pagebreak/index.js b/public/tools/cloud_notes/tinymce/plugins/pagebreak/index.js new file mode 100644 index 0000000..0ff6162 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/pagebreak/index.js @@ -0,0 +1,7 @@ +// Exports the "pagebreak" plugin for usage with module loaders +// Usage: +// CommonJS: +// require('tinymce/plugins/pagebreak') +// ES2015: +// import 'tinymce/plugins/pagebreak' +require('./plugin.js'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/pagebreak/plugin.js b/public/tools/cloud_notes/tinymce/plugins/pagebreak/plugin.js new file mode 100644 index 0000000..a4811b4 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/pagebreak/plugin.js @@ -0,0 +1,117 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ + +(function () { + 'use strict'; + + var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + var global = tinymce.util.Tools.resolve('tinymce.Env'); + + const option = name => editor => editor.options.get(name); + const register$2 = editor => { + const registerOption = editor.options.register; + registerOption('pagebreak_separator', { + processor: 'string', + default: '' + }); + registerOption('pagebreak_split_block', { + processor: 'boolean', + default: false + }); + }; + const getSeparatorHtml = option('pagebreak_separator'); + const shouldSplitBlock = option('pagebreak_split_block'); + + const pageBreakClass = 'mce-pagebreak'; + const getPlaceholderHtml = shouldSplitBlock => { + const html = ``; + return shouldSplitBlock ? `

    ${ html }

    ` : html; + }; + const setup$1 = editor => { + const separatorHtml = getSeparatorHtml(editor); + const shouldSplitBlock$1 = () => shouldSplitBlock(editor); + const pageBreakSeparatorRegExp = new RegExp(separatorHtml.replace(/[\?\.\*\[\]\(\)\{\}\+\^\$\:]/g, a => { + return '\\' + a; + }), 'gi'); + editor.on('BeforeSetContent', e => { + e.content = e.content.replace(pageBreakSeparatorRegExp, getPlaceholderHtml(shouldSplitBlock$1())); + }); + editor.on('PreInit', () => { + editor.serializer.addNodeFilter('img', nodes => { + let i = nodes.length, node, className; + while (i--) { + node = nodes[i]; + className = node.attr('class'); + if (className && className.indexOf(pageBreakClass) !== -1) { + const parentNode = node.parent; + if (parentNode && editor.schema.getBlockElements()[parentNode.name] && shouldSplitBlock$1()) { + parentNode.type = 3; + parentNode.value = separatorHtml; + parentNode.raw = true; + node.remove(); + continue; + } + node.type = 3; + node.value = separatorHtml; + node.raw = true; + } + } + }); + }); + }; + + const register$1 = editor => { + editor.addCommand('mcePageBreak', () => { + editor.insertContent(getPlaceholderHtml(shouldSplitBlock(editor))); + }); + }; + + const setup = editor => { + editor.on('ResolveName', e => { + if (e.target.nodeName === 'IMG' && editor.dom.hasClass(e.target, pageBreakClass)) { + e.name = 'pagebreak'; + } + }); + }; + + const onSetupEditable = editor => api => { + const nodeChanged = () => { + api.setEnabled(editor.selection.isEditable()); + }; + editor.on('NodeChange', nodeChanged); + nodeChanged(); + return () => { + editor.off('NodeChange', nodeChanged); + }; + }; + const register = editor => { + const onAction = () => editor.execCommand('mcePageBreak'); + editor.ui.registry.addButton('pagebreak', { + icon: 'page-break', + tooltip: 'Page break', + onAction, + onSetup: onSetupEditable(editor) + }); + editor.ui.registry.addMenuItem('pagebreak', { + text: 'Page break', + icon: 'page-break', + onAction, + onSetup: onSetupEditable(editor) + }); + }; + + var Plugin = () => { + global$1.add('pagebreak', editor => { + register$2(editor); + register$1(editor); + register(editor); + setup$1(editor); + setup(editor); + }); + }; + + Plugin(); + +})(); diff --git a/public/tools/cloud_notes/tinymce/plugins/pagebreak/plugin.min.js b/public/tools/cloud_notes/tinymce/plugins/pagebreak/plugin.min.js new file mode 100644 index 0000000..1621d83 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/pagebreak/plugin.min.js @@ -0,0 +1,4 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ +!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),a=tinymce.util.Tools.resolve("tinymce.Env");const t=e=>a=>a.options.get(e),n=t("pagebreak_separator"),o=t("pagebreak_split_block"),r="mce-pagebreak",s=e=>{const t=``;return e?`

    ${t}

    `:t},c=e=>a=>{const t=()=>{a.setEnabled(e.selection.isEditable())};return e.on("NodeChange",t),t(),()=>{e.off("NodeChange",t)}};e.add("pagebreak",(e=>{(e=>{const a=e.options.register;a("pagebreak_separator",{processor:"string",default:"\x3c!-- pagebreak --\x3e"}),a("pagebreak_split_block",{processor:"boolean",default:!1})})(e),(e=>{e.addCommand("mcePageBreak",(()=>{e.insertContent(s(o(e)))}))})(e),(e=>{const a=()=>e.execCommand("mcePageBreak");e.ui.registry.addButton("pagebreak",{icon:"page-break",tooltip:"Page break",onAction:a,onSetup:c(e)}),e.ui.registry.addMenuItem("pagebreak",{text:"Page break",icon:"page-break",onAction:a,onSetup:c(e)})})(e),(e=>{const a=n(e),t=()=>o(e),c=new RegExp(a.replace(/[\?\.\*\[\]\(\)\{\}\+\^\$\:]/g,(e=>"\\"+e)),"gi");e.on("BeforeSetContent",(e=>{e.content=e.content.replace(c,s(t()))})),e.on("PreInit",(()=>{e.serializer.addNodeFilter("img",(n=>{let o,s,c=n.length;for(;c--;)if(o=n[c],s=o.attr("class"),s&&-1!==s.indexOf(r)){const n=o.parent;if(n&&e.schema.getBlockElements()[n.name]&&t()){n.type=3,n.value=a,n.raw=!0,o.remove();continue}o.type=3,o.value=a,o.raw=!0}}))}))})(e),(e=>{e.on("ResolveName",(a=>{"IMG"===a.target.nodeName&&e.dom.hasClass(a.target,r)&&(a.name="pagebreak")}))})(e)}))}(); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/preview/index.js b/public/tools/cloud_notes/tinymce/plugins/preview/index.js new file mode 100644 index 0000000..4e8e817 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/preview/index.js @@ -0,0 +1,7 @@ +// Exports the "preview" plugin for usage with module loaders +// Usage: +// CommonJS: +// require('tinymce/plugins/preview') +// ES2015: +// import 'tinymce/plugins/preview' +require('./plugin.js'); \ No newline at end of file diff --git a/public/tools/cloud_notes/tinymce/plugins/preview/plugin.js b/public/tools/cloud_notes/tinymce/plugins/preview/plugin.js new file mode 100644 index 0000000..bbc47b5 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/preview/plugin.js @@ -0,0 +1,97 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ + +(function () { + 'use strict'; + + var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + var global$1 = tinymce.util.Tools.resolve('tinymce.Env'); + + var global = tinymce.util.Tools.resolve('tinymce.util.Tools'); + + const option = name => editor => editor.options.get(name); + const getContentStyle = option('content_style'); + const shouldUseContentCssCors = option('content_css_cors'); + const getBodyClass = option('body_class'); + const getBodyId = option('body_id'); + + const getPreviewHtml = editor => { + var _a; + let headHtml = ''; + const encode = editor.dom.encode; + const contentStyle = (_a = getContentStyle(editor)) !== null && _a !== void 0 ? _a : ''; + headHtml += ''; + const cors = shouldUseContentCssCors(editor) ? ' crossorigin="anonymous"' : ''; + global.each(editor.contentCSS, url => { + headHtml += ''; + }); + if (contentStyle) { + headHtml += ''; + } + const bodyId = getBodyId(editor); + const bodyClass = getBodyClass(editor); + const isMetaKeyPressed = global$1.os.isMacOS() || global$1.os.isiOS() ? 'e.metaKey' : 'e.ctrlKey && !e.altKey'; + const preventClicksOnLinksScript = ' '; + const directionality = editor.getBody().dir; + const dirAttr = directionality ? ' dir="' + encode(directionality) + '"' : ''; + const previewHtml = '' + '' + '' + headHtml + '' + '' + editor.getContent() + preventClicksOnLinksScript + '' + ''; + return previewHtml; + }; + + const open = editor => { + const content = getPreviewHtml(editor); + const dataApi = editor.windowManager.open({ + title: 'Preview', + size: 'large', + body: { + type: 'panel', + items: [{ + name: 'preview', + type: 'iframe', + sandboxed: true, + transparent: false + }] + }, + buttons: [{ + type: 'cancel', + name: 'close', + text: 'Close', + primary: true + }], + initialData: { preview: content } + }); + dataApi.focus('close'); + }; + + const register$1 = editor => { + editor.addCommand('mcePreview', () => { + open(editor); + }); + }; + + const register = editor => { + const onAction = () => editor.execCommand('mcePreview'); + editor.ui.registry.addButton('preview', { + icon: 'preview', + tooltip: 'Preview', + onAction + }); + editor.ui.registry.addMenuItem('preview', { + icon: 'preview', + text: 'Preview', + onAction + }); + }; + + var Plugin = () => { + global$2.add('preview', editor => { + register$1(editor); + register(editor); + }); + }; + + Plugin(); + +})(); diff --git a/public/tools/cloud_notes/tinymce/plugins/preview/plugin.min.js b/public/tools/cloud_notes/tinymce/plugins/preview/plugin.min.js new file mode 100644 index 0000000..7688512 --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/preview/plugin.min.js @@ -0,0 +1,4 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ +!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=tinymce.util.Tools.resolve("tinymce.Env"),o=tinymce.util.Tools.resolve("tinymce.util.Tools");const n=e=>t=>t.options.get(e),i=n("content_style"),s=n("content_css_cors"),c=n("body_class"),r=n("body_id");e.add("preview",(e=>{(e=>{e.addCommand("mcePreview",(()=>{(e=>{const n=(e=>{var n;let l="";const a=e.dom.encode,d=null!==(n=i(e))&&void 0!==n?n:"";l+='';const m=s(e)?' crossorigin="anonymous"':"";o.each(e.contentCSS,(t=>{l+='"})),d&&(l+='");const y=r(e),u=c(e),v=' '; + const directionality = editor.getBody().dir; + const dirAttr = directionality ? ' dir="' + encode(directionality) + '"' : ''; + previewHtml = '' + '' + '' + '' + contentCssEntries + preventClicksOnLinksScript + '' + '' + previewHtml + '' + ''; + } + return replaceTemplateValues(previewHtml, getPreviewReplaceValues(editor)); + }; + const open = (editor, templateList) => { + const createTemplates = () => { + if (!templateList || templateList.length === 0) { + const message = editor.translate('No templates defined.'); + editor.notificationManager.open({ + text: message, + type: 'info' + }); + return Optional.none(); + } + return Optional.from(global$2.map(templateList, (template, index) => { + const isUrlTemplate = t => t.url !== undefined; + return { + selected: index === 0, + text: template.title, + value: { + url: isUrlTemplate(template) ? Optional.from(template.url) : Optional.none(), + content: !isUrlTemplate(template) ? Optional.from(template.content) : Optional.none(), + description: template.description + } + }; + })); + }; + const createSelectBoxItems = templates => map(templates, t => ({ + text: t.text, + value: t.text + })); + const findTemplate = (templates, templateTitle) => find(templates, t => t.text === templateTitle); + const loadFailedAlert = api => { + editor.windowManager.alert('Could not load the specified template.', () => api.focus('template')); + }; + const getTemplateContent = t => t.value.url.fold(() => Promise.resolve(t.value.content.getOr('')), url => fetch(url).then(res => res.ok ? res.text() : Promise.reject())); + const onChange = (templates, updateDialog) => (api, change) => { + if (change.name === 'template') { + const newTemplateTitle = api.getData().template; + findTemplate(templates, newTemplateTitle).each(t => { + api.block('Loading...'); + getTemplateContent(t).then(previewHtml => { + updateDialog(api, t, previewHtml); + }).catch(() => { + updateDialog(api, t, ''); + api.setEnabled('save', false); + loadFailedAlert(api); + }); + }); + } + }; + const onSubmit = templates => api => { + const data = api.getData(); + findTemplate(templates, data.template).each(t => { + getTemplateContent(t).then(previewHtml => { + editor.execCommand('mceInsertTemplate', false, previewHtml); + api.close(); + }).catch(() => { + api.setEnabled('save', false); + loadFailedAlert(api); + }); + }); + }; + const openDialog = templates => { + const selectBoxItems = createSelectBoxItems(templates); + const buildDialogSpec = (bodyItems, initialData) => ({ + title: 'Insert Template', + size: 'large', + body: { + type: 'panel', + items: bodyItems + }, + initialData, + buttons: [ + { + type: 'cancel', + name: 'cancel', + text: 'Cancel' + }, + { + type: 'submit', + name: 'save', + text: 'Save', + primary: true + } + ], + onSubmit: onSubmit(templates), + onChange: onChange(templates, updateDialog) + }); + const updateDialog = (dialogApi, template, previewHtml) => { + const content = getPreviewContent(editor, previewHtml); + const bodyItems = [ + { + type: 'listbox', + name: 'template', + label: 'Templates', + items: selectBoxItems + }, + { + type: 'htmlpanel', + html: `

    ${ htmlEscape(template.value.description) }

    ` + }, + { + label: 'Preview', + type: 'iframe', + name: 'preview', + sandboxed: false, + transparent: false + } + ]; + const initialData = { + template: template.text, + preview: content + }; + dialogApi.unblock(); + dialogApi.redial(buildDialogSpec(bodyItems, initialData)); + dialogApi.focus('template'); + }; + const dialogApi = editor.windowManager.open(buildDialogSpec([], { + template: '', + preview: '' + })); + dialogApi.block('Loading...'); + getTemplateContent(templates[0]).then(previewHtml => { + updateDialog(dialogApi, templates[0], previewHtml); + }).catch(() => { + updateDialog(dialogApi, templates[0], ''); + dialogApi.setEnabled('save', false); + loadFailedAlert(dialogApi); + }); + }; + const optTemplates = createTemplates(); + optTemplates.each(openDialog); + }; + + const showDialog = editor => templates => { + open(editor, templates); + }; + const register$1 = editor => { + editor.addCommand('mceInsertTemplate', curry(insertTemplate, editor)); + editor.addCommand('mceTemplate', createTemplateList(editor, showDialog(editor))); + }; + + const setup = editor => { + editor.on('PreProcess', o => { + const dom = editor.dom, dateFormat = getMdateFormat(editor); + global$2.each(dom.select('div', o.node), e => { + if (dom.hasClass(e, 'mceTmpl')) { + global$2.each(dom.select('*', e), e => { + if (hasAnyClasses(dom, e, getModificationDateClasses(editor))) { + e.innerHTML = getDateTime(editor, dateFormat); + } + }); + replaceVals(editor, e); + } + }); + }); + }; + + const onSetupEditable = editor => api => { + const nodeChanged = () => { + api.setEnabled(editor.selection.isEditable()); + }; + editor.on('NodeChange', nodeChanged); + nodeChanged(); + return () => { + editor.off('NodeChange', nodeChanged); + }; + }; + const register = editor => { + const onAction = () => editor.execCommand('mceTemplate'); + editor.ui.registry.addButton('template', { + icon: 'template', + tooltip: 'Insert template', + onSetup: onSetupEditable(editor), + onAction + }); + editor.ui.registry.addMenuItem('template', { + icon: 'template', + text: 'Insert template...', + onSetup: onSetupEditable(editor), + onAction + }); + }; + + var Plugin = () => { + global$3.add('template', editor => { + register$2(editor); + register(editor); + register$1(editor); + setup(editor); + }); + }; + + Plugin(); + +})(); diff --git a/public/tools/cloud_notes/tinymce/plugins/template/plugin.min.js b/public/tools/cloud_notes/tinymce/plugins/template/plugin.min.js new file mode 100644 index 0000000..c5a21fa --- /dev/null +++ b/public/tools/cloud_notes/tinymce/plugins/template/plugin.min.js @@ -0,0 +1,4 @@ +/** + * TinyMCE version 6.8.3 (2024-02-08) + */ +!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(a=n=e,(r=String).prototype.isPrototypeOf(a)||(null===(s=n.constructor)||void 0===s?void 0:s.name)===r.name)?"string":t;var a,n,r,s})(t)===e,a=t("string"),n=t("object"),r=t("array"),s=("function",e=>"function"==typeof e);const l=(!1,()=>false);var o=tinymce.util.Tools.resolve("tinymce.util.Tools");const c=e=>t=>t.options.get(e),i=c("template_cdate_classes"),u=c("template_mdate_classes"),m=c("template_selected_content_classes"),p=c("template_preview_replace_values"),d=c("template_replace_values"),h=c("templates"),g=c("template_cdate_format"),v=c("template_mdate_format"),f=c("content_style"),y=c("content_css_cors"),b=c("body_class"),_=(e,t)=>{if((e=""+e).length{const n="Sun Mon Tue Wed Thu Fri Sat Sun".split(" "),r="Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday".split(" "),s="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),l="January February March April May June July August September October November December".split(" ");return(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=t.replace("%D","%m/%d/%Y")).replace("%r","%I:%M:%S %p")).replace("%Y",""+a.getFullYear())).replace("%y",""+a.getYear())).replace("%m",_(a.getMonth()+1,2))).replace("%d",_(a.getDate(),2))).replace("%H",""+_(a.getHours(),2))).replace("%M",""+_(a.getMinutes(),2))).replace("%S",""+_(a.getSeconds(),2))).replace("%I",""+((a.getHours()+11)%12+1))).replace("%p",a.getHours()<12?"AM":"PM")).replace("%B",""+e.translate(l[a.getMonth()]))).replace("%b",""+e.translate(s[a.getMonth()]))).replace("%A",""+e.translate(r[a.getDay()]))).replace("%a",""+e.translate(n[a.getDay()]))).replace("%%","%")};class T{constructor(e,t){this.tag=e,this.value=t}static some(e){return new T(!0,e)}static none(){return T.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?T.some(e(this.value)):T.none()}bind(e){return this.tag?e(this.value):T.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:T.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return null==e?T.none():T.some(e)}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}T.singletonNone=new T(!1);const S=Object.hasOwnProperty;var x=tinymce.util.Tools.resolve("tinymce.html.Serializer");const C={'"':""","<":"<",">":">","&":"&","'":"'"},w=e=>e.replace(/["'<>&]/g,(e=>{return(t=C,a=e,((e,t)=>S.call(e,t))(t,a)?T.from(t[a]):T.none()).getOr(e);var t,a})),O=(e,t,a)=>((a,n)=>{for(let n=0,s=a.length;nx({validate:!0},e.schema).serialize(e.parser.parse(t,{insert:!0})),D=(e,t)=>(o.each(t,((t,a)=>{s(t)&&(t=t(a)),e=e.replace(new RegExp("\\{\\$"+a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"\\}","g"),t)})),e),N=(e,t)=>{const a=e.dom,n=d(e);o.each(a.select("*",t),(e=>{o.each(n,((t,n)=>{a.hasClass(e,n)&&s(t)&&t(e)}))}))},I=(e,t,a)=>{const n=e.dom,r=e.selection.getContent();a=D(a,d(e));let s=n.create("div",{},A(e,a));const l=n.select(".mceTmpl",s);l&&l.length>0&&(s=n.create("div"),s.appendChild(l[0].cloneNode(!0))),o.each(n.select("*",s),(t=>{O(n,t,i(e))&&(t.innerHTML=M(e,g(e))),O(n,t,u(e))&&(t.innerHTML=M(e,v(e))),O(n,t,m(e))&&(t.innerHTML=r)})),N(e,s),e.execCommand("mceInsertContent",!1,s.innerHTML),e.addVisual()};var E=tinymce.util.Tools.resolve("tinymce.Env");const k=(e,t)=>{const a=(e,t)=>((e,t,a)=>{for(let n=0,r=e.length;ne.text===t),l),n=t=>{e.windowManager.alert("Could not load the specified template.",(()=>t.focus("template")))},r=e=>e.value.url.fold((()=>Promise.resolve(e.value.content.getOr(""))),(e=>fetch(e).then((e=>e.ok?e.text():Promise.reject())))),s=(e,t)=>(s,l)=>{if("template"===l.name){const l=s.getData().template;a(e,l).each((e=>{s.block("Loading..."),r(e).then((a=>{t(s,e,a)})).catch((()=>{t(s,e,""),s.setEnabled("save",!1),n(s)}))}))}},c=t=>s=>{const l=s.getData();a(t,l.template).each((t=>{r(t).then((t=>{e.execCommand("mceInsertTemplate",!1,t),s.close()})).catch((()=>{s.setEnabled("save",!1),n(s)}))}))};(()=>{if(!t||0===t.length){const t=e.translate("No templates defined.");return e.notificationManager.open({text:t,type:"info"}),T.none()}return T.from(o.map(t,((e,t)=>{const a=e=>void 0!==e.url;return{selected:0===t,text:e.title,value:{url:a(e)?T.from(e.url):T.none(),content:a(e)?T.none():T.from(e.content),description:e.description}}})))})().each((t=>{const a=(e=>((e,t)=>{const a=e.length,n=new Array(a);for(let t=0;t({title:"Insert Template",size:"large",body:{type:"panel",items:e},initialData:a,buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],onSubmit:c(t),onChange:s(t,i)}),i=(t,n,r)=>{const s=((e,t)=>{var a;let n=A(e,t);if(-1===t.indexOf("")){let t="";const r=null!==(a=f(e))&&void 0!==a?a:"",s=y(e)?' crossorigin="anonymous"':"";o.each(e.contentCSS,(a=>{t+='"})),r&&(t+='");const l=b(e),c=e.dom.encode,i=' + + + diff --git a/public/tools/cloud_sheets/vendor/univer/1048.adapter.js b/public/tools/cloud_sheets/vendor/univer/1048.adapter.js new file mode 100644 index 0000000..728bb15 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/1048.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[1048],{1048(a,t,r){r.r(t),r.d(t,{Kmr:()=>s});const s=["006,01,004,6,4,0056,3,2,1,04,22,0006,0004,002,000006,02,003,00006,606,202,0404,404,232,0000006,034",'{".":[{"k":[{"a":[{"r":[{"a":0}]}]}]}],"a":[{"l":[{"a":2}],"m":[{"î":[{"t":[{".":3}]}]}],"n":4,"r":[{"a":[{"n":[{"î":5}]}]}],"v":[{"a":[{"y":4}]},6],"y":7},1],"b":[{"a":9,"b":7,"l":7,"r":7,"s":7,"x":7},8],"c":[{"b":7,"k":10,"l":7},8],"ç":[{"k":7},8],"d":[{"a":[{"v":[{"ê":[{"j":[{"i":0}]}]}]}],"b":[{"û":[{"n":[{"a":11}]}]},7],"d":[{"a":12},7],"g":7,"r":7,"t":7,"y":[{"o":9,"û":4}]},8],"e":[{"a":13,"d":[{"y":9}],"e":13,"ê":13,"f":[{"r":9}],"l":[{"a":2}],"r":[{"d":[{"e":[{"s":[{"t":[{"a":0}]},14]}]}]}],"t":[{"r":9}],"z":7},1],"ê":[{"a":15,"l":[{"a":[{"v":12}]}]},1],"f":[{"l":[{"î":9,"û":4},2],"r":[{"o":9}],"s":7,"ş":7,"t":7,"x":7},8],"g":[{"b":7,"h":7,"k":7,"l":15,"n":7,"r":7,"s":7,"t":7},8],"h":[{"b":7,"d":7,"k":7,"m":7,"n":7,"r":7,"s":7,"t":7},8],"i":[{"i":13,"l":[{"a":2}],"n":[{"ê":[{"r":9}]}],"r":[{"e":[{"h":12}]}],"s":15},1],"î":[{"a":15,"d":7,"e":[{"t":2}],"j":15,"l":16,"p":[{"l":9}],"s":[{"t":[{"i":[{"y":[{"e":17}]}]}]}]},1],"j":[{"a":[{"v":[{"a":[{".":18}]}]}],"h":7,"k":7,"m":7,"n":7,"t":7},8],"k":[{"b":7,"ç":7,"k":7,"l":7,"m":7,"n":7,"r":7,"s":7,"t":7,"v":7,"w":7,"x":7,"y":7},8],"l":[{"a":[{"m":[{"î":[{"t":[{"ê":3}]}]}]}],"b":7,"c":7,"ç":7,"d":7,"e":9,"f":7,"g":7,"h":7,"k":7,"l":7,"m":7,"n":7,"p":7,"q":7,"s":7,"t":7,"v":7,"w":7,"x":7,"y":7,"z":7},8],"m":[{"a":[{"î":2}],"b":7,"d":7,"f":7,"î":[{"t":[{"ê":4}]}],"m":7,"p":19,"r":7,"s":7,"w":7,"y":7,"z":7},8],"n":[{"a":9,"b":7,"c":7,"ç":7,"d":7,"ê":[{"r":[{"e":2}]}],"f":7,"g":7,"h":7,"k":[{"i":12},7],"n":7,"p":7,"s":7,"ş":7,"t":7,"v":7,"x":7,"y":7,"z":10},8],"o":[{"f":13,"h":15,"s":15,"w":15},7],"p":[{"s":7,"t":7},8],"q":[{"p":7,"ş":7},8],"r":[{"a":[{"î":12},9],"b":7,"c":7,"ç":7,"d":7,"f":[{"i":20},7],"g":7,"h":7,"j":7,"k":7,"l":7,"m":7,"n":7,"p":7,"q":7,"r":7,"s":7,"t":7,"v":7,"w":7,"x":7,"y":7,"z":7},8],"s":[{"a":6,"b":7,"e":6,"g":7,"î":6,"k":7,"p":7,"r":7,"s":7,"t":[{"a":[{"v":12}],"r":2},7],"u":6,"û":6,"y":7},8],"ş":[{"a":[{"v":21}],"b":7,"d":7,"ê":[{"l":2}],"g":7,"h":7,"k":7,"m":7,"n":7,"p":7,"t":19,"v":7,"x":7},8],"t":[{"a":[{"v":4}],"g":[{"e":12},7],"k":7,"l":7,"m":7,"n":[{"î":12},7],"p":7,"r":[{"a":9,"û":9}],"s":22,"t":7,"x":7,"y":7},8],"u":[{"e":13,"i":15,"k":15,"r":[{"a":[{"n":[{"d":[{"i":23}]}]}]}],"ş":15},1],"v":[{"b":7,"ç":7,"d":7,"g":7,"h":7,"k":7,"n":7,"r":7,"s":7,"ş":7,"y":7},8],"w":[{"c":7,"d":7,"h":7,"k":7,"l":7,"n":7,"r":7,"s":7,"ş":7,"t":7},8],"x":[{"a":9,"ç":7,"l":7,"n":7,"t":[{"r":9},7],"w":15},8],"y":[{"b":7,"d":[{"a":12},7],"l":7,"n":7,"r":7,"s":7,"t":7,"v":7,"w":7},8],"z":[{"b":7,"d":7,"e":[{"z":24}],"k":7,"m":7,"r":7,"t":7,"y":7,"z":7},8]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/1061.adapter.js b/public/tools/cloud_sheets/vendor/univer/1061.adapter.js new file mode 100644 index 0000000..f2836df --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/1061.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[1061],{1061(s,o,e){e.r(o),e.d(o,{Uk:()=>k});const k=["21,03,203,201,3,04,02,36,06,6,008,006,0066,66,666,00403,0043,00004,00543,00054,0000043,0003043,0004,0054,00003,00043,0040043,0000403,000043,00043043,00000043,0043043,000054,34,004,0003,00654,00454,00304,000304,0304,0034,0000304,00000304,000004,00434,344,343,000005,00000004,005,000403,000045,43,000034,0007,00544,0045,304,00203,00445,004505,47,000454,00045,,04034,0005,00000054,00000034,0021,00034,0434,00474,0040004,00044,0000054,000544,00443,0044,0004003,00405,000443,0000004,0000443,00005,044,000344,0000034,000434,00545,034,045,00074,004043,00000443,004443,004434,87,0088,88",'{"а":[{"а":[{"д":[{"р":[{"е":[{"с":34}]}]}],"-":100},1],"е":[{"т":[{"и":[{"л":34}]}],"ф":[{"е":[{"к":[{"т":34}]}]}],"-":100},1],"і":[{"с":[{"т":[{"о":[{"р":91}]}]}],"-":100},1],"о":[{"п":[{"і":[{"к":34}],"и":[{"с":34}]}],"х":[{"а":34,"о":[{"т":34}]}],"щ":[{"а":[{"д":34}]}],"б":[{"р":[{"а":[{"з":34}]}]}],"-":100},1],"у":[{"д":[{"і":[{"о":17}],"а":[{"р":91}]}],"т":[{"е":[{"к":[{"о":[{"л":16}]}]}]}],"г":[{"о":[{"д":34}]}],"-":100},1],"ю":[{"-":100},1],"я":[{"-":100},1],"є":[{"-":100},1],"ї":[{"-":100},1],"й":[{"с":[{"б":[{"е":[{"р":[{"г":16}]}]}]}],"-":100},6],"в":[{"т":[{"о":[{"р":[{"и":[{"т":33}]}]}]}],"і":[{"а":22}],"о":[{"ї":[{"д":17}]}],"-":100}],"г":[{"е":[{"н":[{"т":33}]}],"р":[{"е":[{"с":33}]}],"-":100}],"д":[{"е":[{"к":[{"в":[{"а":[{"т":33}]}]}]}],"и":[{"т":[{"и":[{"в":33}]}]}],"-":100}],"з":[{"а":[{"р":[{"т":33}]}],"-":100}],"к":[{"т":[{"и":[{"в":33}],"у":[{"а":[{"л":33}]}]}],"у":[{"р":[{"а":[{"т":33}]}],"с":[{"т":33}]}],"ц":[{"е":[{"п":[{"т":33}]}],"и":[{"з":33}]}],"-":100}],"л":[{"е":[{"р":[{"г":[{"і":33}]}]}],"ь":[{"б":[{"і":[{"о":[{"н":48}]}]}]}],"-":100}],"м":[{"а":[{"т":[{"о":[{"р":33}]}]}],"-":100}],"н":[{"а":[{"л":[{"і":[{"з":33}]}],"т":[{"о":[{"м":33}]}],"в":[{"ч":71}]}],"-":100}],"п":[{"а":[{"р":[{"а":[{"т":33}]}]}],"е":[{"л":[{"я":[{"ц":33}]}]}],"о":[{"с":[{"т":[{"о":[{"л":33}]}]}]}],"т":[{"е":[{"ч":33}]}],"-":100}],"р":[{"г":[{"у":[{"м":[{"е":[{"н":33}]}]}]}],"о":[{"м":[{"а":[{"т":33}]}]}],"т":[{"а":[{"ф":[{"і":[{"ш":16}]}]}],"в":[{"з":[{"в":[{"о":[{"д":16}]}]}]}],"д":[{"е":[{"с":[{"а":[{"н":[{"т":16}]}]}]}]}],"к":[{"а":[{"ф":[{"е":16}]}]}],"м":[{"а":[{"й":[{"с":16}]}],"е":[{"д":[{"і":[{"а":16}]}],"й":[{"с":[{"т":16},16]}]}],"і":[{"н":16}]}],"о":[{"б":[{"с":[{"т":[{"р":45}]}]}],"д":[{"и":[{"н":45}]}],"з":[{"б":[{"р":45}]}]}],"п":[{"і":[{"д":16}]}],"р":[{"и":[{"н":16}]}],"у":[{"с":[{"т":[{"а":[{"н":45}]}]}]}],"ф":[{"а":[{"к":[{"т":16}]}]}],"х":[{"і":[{"м":16}]}],"ц":[{"е":[{"н":[{"т":[{"р":16}]}]}]}]}],"-":100}],"с":[{"о":[{"ц":[{"і":33}]}],"п":[{"е":[{"к":[{"т":33}]}]}],"-":100}],"т":[{"л":[{"е":[{"т":33}]}],"-":100}],"х":[{"а":[{"л":[{"і":33}]}],"о":[{"ї":[{"д":17}]}],"-":100}],"б":[{"и":[{"я":[{"к":17}]}],"-":100}],"ґ":[{"-":100}],"ж":[{"-":100}],"и":[{"-":100}],"ф":[{"-":100}],"ц":[{"-":100}],"ч":[{"-":100}],"ш":[{"-":100}],"щ":[{"-":100}],"ь":[{"-":100}],"\'":[{"-":100}]},0],"е":[{"а":[{"к":[{"т":34}],"в":[{"а":[{"р":[{"і":34}]}]}],"д":[{"р":[{"е":[{"с":34}]}]}],"-":100},1],"е":[{"ф":[{"е":[{"к":[{"т":34}]}]}],"м":[{"і":[{"с":[{"і":34}]}]}],"с":[{"т":[{"е":[{"т":34}]}]}],"-":100},1],"і":[{"с":[{"т":[{"о":[{"р":91,"т":34}]}]}],"-":100},1],"о":[{"с":[{"в":[{"і":34}]}],"п":[{"а":[{"л":34}],"и":[{"с":34}],"л":[{"а":[{"ч":[{"у":[{"в":34}]}]}]}]}],"х":[{"а":34,"о":[{"т":34}]}],"ц":[{"і":[{"н":34}]}],"б":[{"у":[{"р":34}],"р":[{"а":[{"з":34}]}]}],"г":[{"о":[{"л":[{"о":[{"ш":34}]}]}]}],"з":[{"о":[{"р":34}]}],"щ":[{"а":[{"д":34}]}],"к":[{"и":[{"с":[{"л":91}]}]}],"-":100},1],"у":[{"с":[{"т":[{"р":34}]}],"б":[{"о":[{"г":34}]}],"г":[{"о":[{"д":34}]}],"-":100},1],"ю":[{"-":100},1],"я":[{"-":100},1],"є":[{"-":100},1],"ї":[{"-":100},1],"й":[{"-":100},6],"к":[{"о":[{"л":[{"о":[{"г":33}]}],"н":[{"о":[{"м":33}]}]}],"с":[{"к":70,"п":70,"т":70,"ц":70}],"-":100}],"л":[{"е":[{"г":[{"а":[{"н":[{"т":33}]}]}],"к":[{"т":[{"р":33}]}],"м":[{"е":[{"н":[{"т":33}]}]}]}],"-":100}],"м":[{"о":[{"ц":[{"і":33}]}],"і":[{"г":[{"р":33}]}],"р":[{"і":[{"й":91}]}],"-":100}],"н":[{"е":[{"р":[{"г":[{"о":[{"з":[{"б":[{"е":[{"р":[{"е":[{"ж":69}],"і":[{"г":69}]}]}]}]}]}]},33]}]}],"ь":[{"о":[{"к":[{"и":[{"с":[{"л":93}]}]}]}]}],"а":[{"в":[{"ч":71}]}],"-":100}],"с":[{"т":[{"а":[{"к":[{"а":[{"д":33}]}]}],"е":[{"т":33}]}],"-":100}],"т":[{"а":[{"п":33}],"і":[{"о":22}],"-":100}],"в":[{"и":[{"в":[{"ч":71}]}],"к":[{"а":[{"з":91}]}],"-":100}],"д":[{"о":[{"в":[{"ч":71}]}],"-":100}],"б":[{"-":100}],"г":[{"-":100}],"ґ":[{"-":100}],"ж":[{"-":100}],"з":[{"-":100}],"и":[{"-":100}],"п":[{"-":100}],"р":[{"-":100}],"ф":[{"-":100}],"х":[{"-":100}],"ц":[{"-":100}],"ч":[{"-":100}],"ш":[{"-":100}],"щ":[{"-":100}],"ь":[{"-":100}],"\'":[{"-":100}]},0],"и":[{"а":[{"в":[{"а":[{"р":[{"і":34}]}]}],"-":100},1],"е":[{"м":[{"і":[{"с":[{"і":34}]}]}],"с":[{"т":[{"е":[{"т":34}]}]}],"-":100},1],"і":[{"с":[{"т":[{"о":[{"р":91}]}]}],"-":100},1],"о":[{"к":[{"и":[{"с":[{"л":91}]}]}],"-":100},1],"у":[{"-":100},1],"ю":[{"-":100},1],"я":[{"-":100},1],"є":[{"-":100},1],"ї":[{"-":100},1],"й":[{"т":[{"и":34}],"н":[{"я":34}],"-":100},6],"г":[{"о":[{"ї":[{"д":17}]}],"-":100}],"б":[{"-":100}],"в":[{"-":100}],"ґ":[{"-":100}],"д":[{"-":100}],"ж":[{"-":100}],"з":[{"-":100}],"и":[{"-":100}],"к":[{"-":100}],"л":[{"-":100}],"м":[{"-":100}],"н":[{"-":100}],"п":[{"-":100}],"р":[{"-":100}],"с":[{"-":100}],"т":[{"-":100}],"ф":[{"-":100}],"х":[{"-":100}],"ц":[{"-":100}],"ч":[{"-":100}],"ш":[{"-":100}],"щ":[{"-":100}],"ь":[{"-":100}],"\'":[{"-":100}]},0],"і":[{"а":[{"д":[{"р":[{"е":[{"с":34}]}]}],"-":100},1],"е":[{"т":[{"и":[{"л":34}]}],"-":100},1],"и":[{"-":100},1],"о":[{"н":[{"а":[{"в":[{"ч":54}]}]},5],"к":[{"т":[{"а":[{"н":34}]}]}],"-":100},1],"у":[{"-":100},1],"ю":[{"-":100},1],"я":[{"-":100},1],"є":[{"-":100},1],"ї":[{"-":100},1],"й":[{"т":[{"и":34}],"-":100},6],"н":[{"т":[{"е":[{"р":[{"в":[{"\'":[{"ю":43}]}]}],"н":[{"с":33}]}]}],"ф":[{"о":[{"р":[{"м":[{"а":[{"г":[{"е":[{"н":20}]}]}]},33]}]}]}],"і":[{"ц":[{"і":[{"а":[{"т":33}]}]}]}],"-":100}],"з":[{"о":[{"т":[{"о":[{"п":33}]}]}],"-":100}],"л":[{"ю":[{"с":[{"т":[{"р":33}]}]}],"е":[{"т":[{"и":[{"л":72}]}]}],"-":100}],"м":[{"о":[{"в":[{"і":[{"р":33}]}]}],"-":100}],"с":[{"н":[{"у":[{"в":33}]}],"-":100}],"і":[{"с":[{"т":[{"о":[{"р":91}]}]}],"-":100}],"б":[{"-":100}],"в":[{"-":100}],"г":[{"-":100}],"ґ":[{"-":100}],"д":[{"-":100}],"ж":[{"-":100}],"к":[{"-":100}],"п":[{"-":100}],"р":[{"-":100}],"т":[{"-":100}],"ф":[{"-":100}],"х":[{"-":100}],"ц":[{"-":100}],"ч":[{"-":100}],"ш":[{"-":100}],"щ":[{"-":100}],"ь":[{"-":100}],"\'":[{"-":100}]},0],"о":[{"а":[{"т":[{"о":[{"м":34}]}],"к":[{"т":34,"а":[{"ц":[{"і":34}]}]}],"в":[{"а":[{"р":[{"і":34}]}]}],"д":[{"р":[{"е":[{"с":34}]}]}],"н":[{"а":[{"л":[{"і":[{"з":91}]}]},34]}],"-":100},1],"е":[{"к":[{"о":34}],"ф":[{"е":[{"к":[{"т":34}]}]}],"м":[{"і":[{"с":[{"і":34}]}]}],"с":[{"т":[{"е":[{"т":34}]}]}],"-":100},1],"і":[{"з":[{"о":[{"л":34}]}],"с":[{"т":[{"о":[{"р":91,"т":34}]}]}],"-":100},1],"о":[{"б":[{"\'":24,"м":35,"р":[{"о":35,"а":[{"з":34}]}],"і":[{"г":34}]},34],"п":[{"а":[{"л":34}],"и":[{"с":34}],"л":[{"а":[{"ч":[{"у":[{"в":34}]}]}]}]}],"с":[{"в":[{"і":34}]}],"к":[{"и":[{"с":[{"л":91}]}],"т":[{"а":[{"н":34}]}]},34],"д":[{"и":[{"н":[{"о":[{"к":34}]}]}],"е":[{"р":[{"ж":34}]}]}],"ц":[{"і":[{"н":34}]}],"ч":[{"и":[{"щ":34,"с":[{"т":34}]}]}],"-":100},1],"у":[{"с":[{"т":[{"р":34}],"у":[{"н":34}]},34],"к":[{"о":[{"м":34}]}],"д":[{"а":[{"р":91}]}],"г":[{"о":[{"д":34}]}],"-":100},1],"ю":[{"-":100},1],"я":[{"-":100},1],"є":[{"-":100},1],"ї":[{"-":100},1],"й":[{"-":100},6],"в":[{"і":[{"д":25}],"и":[{"в":[{"ч":71}]}],"к":[{"а":[{"з":91}]}],"-":100}],"б":[{"\'":[{"є":[{"д":[{"н":33}],"к":[{"т":33}]}]},35],"і":[{"в":[{"\'":[{"є":39}]}],"д":[{"р":[{"а":[{"н":71}]}]},33],"ц":33,"й":[{"д":71,"т":71,"н":[{"я":17}],"м":17}]}],"в":[{"\'":[{"я":38}]}],"м":[{"\'":[{"я":38}]}],"е":[{"р":[{"е":[{"ж":33}]}]}],"и":[{"р":[{"а":33}]}],"о":[{"р":[{"о":[{"н":33}]}],"й":[{"м":17}]}],"у":[{"м":[{"о":[{"в":23}]}]}],"л":[{"д":[{"е":[{"р":[{"ж":74}]}]}],"а":[{"д":[{"м":[{"і":[{"н":45}]}]}]}]}],"-":100}],"д":[{"\'":35,"а":[{"л":[{"ь":33}]}],"я":[{"г":33}],"-":100}],"з":[{"б":[{"р":[{"о":33}]}],"а":[{"в":[{"ч":71}]}],"-":100}],"к":[{"р":[{"е":[{"м":33}]}],"-":100}],"п":[{"е":[{"р":[{"а":[{"т":33}]}]}],"л":[{"а":[{"т":33}]}],"т":[{"и":[{"м":33}]}],"у":[{"с":[{"т":33}],"ш":[{"е":33}],"щ":[{"е":33}]}],"-":100}],"р":[{"д":[{"и":[{"н":[{"а":[{"ц":33}]}]}]}],"е":[{"н":[{"д":33}]}],"-":100}],"с":[{"о":[{"б":33}],"я":[{"ж":[{"н":33}]}],"-":100}],"х":[{"о":[{"л":[{"о":33}],"р":[{"о":[{"н":33}]}],"ч":33}],"-":100}],"ч":[{"и":[{"с":[{"н":33}],"щ":33}],"-":100}],"н":[{"о":[{"ї":[{"д":17}]}],"а":[{"ї":[{"д":17}]}],"-":100}],"г":[{"-":100}],"ґ":[{"-":100}],"ж":[{"-":100}],"и":[{"-":100}],"л":[{"-":100}],"м":[{"-":100}],"т":[{"-":100}],"ф":[{"-":100}],"ц":[{"-":100}],"ш":[{"-":100}],"щ":[{"-":100}],"ь":[{"-":100}],"\'":[{"-":100}]},0],"у":[{"а":[{"-":100},1],"е":[{"-":100},1],"і":[{"в":[{"\'":[{"є":38,"ю":38}]}],"-":100},1],"о":[{"-":100},1],"у":[{"-":100},1],"ю":[{"-":100},1],"я":[{"в":34,"-":100},1],"є":[{"-":100},1],"ї":[{"-":100},1],"й":[{"-":100},6],"в":[{"\'":[{"я":40}],"а":[{"г":33,"ж":33}],"-":100}],"м":[{"\'":[{"я":40}],"и":[{"т":33}],"і":[{"л":33}],"-":100}],"п":[{"р":[{"а":[{"в":46}]}],"е":[{"р":[{"е":[{"д":33}]}]}],"-":100}],"г":[{"а":[{"в":33}],"-":100}],"з":[{"г":[{"о":[{"д":33}]}],"-":100}],"к":[{"л":[{"а":[{"д":33}]}],"о":[{"м":[{"п":[{"л":33}]}]}],"р":[{"у":[{"п":[{"н":33}]}],"а":[{"в":[{"т":71}],"г":[{"р":71}]}],"е":[{"к":[{"с":71}]}],"і":[{"н":[{"б":[{"а":[{"н":[{"к":87}]}]}]}]}]},86],"-":100}],"л":[{"ю":[{"б":[{"л":[{"е":[{"н":33}]}]}]}],"-":100}],"р":[{"а":[{"з":[{"л":[{"и":[{"в":33}]}]}]}],"б":[{"а":[{"н":33}]}],"о":[{"ч":[{"и":[{"с":[{"т":33}]}]}]}],"я":[{"д":[{"о":[{"в":33}]},33]}],"-":100}],"с":[{"п":[{"і":[{"ш":33}]}],"т":[{"а":[{"н":[{"о":[{"в":33}]}]}],"п":[{"і":[{"ш":33}]}]}],"у":[{"в":[{"а":[{"т":[{"и":33}]}]}]}],"-":100}],"т":[{"в":[{"о":[{"р":33}]}],"р":[{"о":[{"б":[{"н":33}]}]}],"-":100}],"б":[{"о":[{"ї":[{"д":17}]}],"-":100}],"ґ":[{"-":100}],"д":[{"-":100}],"ж":[{"-":100}],"и":[{"-":100}],"н":[{"-":100}],"ф":[{"-":100}],"х":[{"-":100}],"ц":[{"-":100}],"ч":[{"-":100}],"ш":[{"-":100}],"щ":[{"-":100}],"ь":[{"-":100}],"\'":[{"-":100}]},0],"ю":[{"а":[{"-":100},1],"е":[{"-":100},1],"і":[{"-":100},1],"о":[{"-":100},1],"у":[{"-":100},1],"ю":[{"-":100},1],"я":[{"-":100},1],"є":[{"-":100},1],"ї":[{"-":100},1],"й":[{"-":100},6],"б":[{"-":100}],"в":[{"-":100}],"г":[{"-":100}],"ґ":[{"-":100}],"д":[{"-":100}],"ж":[{"-":100}],"з":[{"-":100}],"и":[{"-":100}],"к":[{"-":100}],"л":[{"-":100}],"м":[{"-":100}],"н":[{"-":100}],"п":[{"-":100}],"р":[{"-":100}],"с":[{"-":100}],"т":[{"-":100}],"ф":[{"-":100}],"х":[{"-":100}],"ц":[{"-":100}],"ч":[{"-":100}],"ш":[{"-":100}],"щ":[{"-":100}],"ь":[{"-":100}],"\'":[{"-":100}]},0],"я":[{"а":[{"в":[{"а":[{"р":[{"і":34}]}]}],"-":100},1],"е":[{"м":[{"і":[{"с":[{"і":34}]}]}],"-":100},1],"о":[{"-":100},1],"у":[{"-":100},1],"ю":[{"-":100},1],"я":[{"-":100},1],"є":[{"-":100},1],"ї":[{"-":100},1],"й":[{"-":100},6],"д":[{"е":[{"р":[{"н":33}]}],"-":100}],"з":[{"и":[{"к":33}],"-":100}],"к":[{"і":[{"с":33}],"-":100}],"р":[{"у":[{"с":33}],"-":100}],"с":[{"к":[{"р":[{"а":[{"в":33}]}]}],"о":[{"ї":[{"д":17}]}],"-":100}],"і":[{"с":[{"т":[{"о":[{"р":91}]}]}],"-":100}],"б":[{"-":100}],"в":[{"-":100}],"г":[{"-":100}],"ґ":[{"-":100}],"ж":[{"-":100}],"и":[{"-":100}],"л":[{"-":100}],"м":[{"-":100}],"н":[{"-":100}],"п":[{"-":100}],"т":[{"-":100}],"ф":[{"-":100}],"х":[{"-":100}],"ц":[{"-":100}],"ч":[{"-":100}],"ш":[{"-":100}],"щ":[{"-":100}],"ь":[{"-":100}],"\'":[{"-":100}]},0],"є":[{"у":[{"-":100},1],"ю":[{"-":100},1],"є":[{"-":100},1],"ї":[{"-":100},1],"й":[{"-":100},6],"д":[{"н":47,"и":[{"н":33}],"-":100}],"п":[{"и":[{"с":[{"к":[{"о":[{"п":64}]},33]}]}],"і":[{"с":[{"к":[{"о":[{"п":64}]}]}]}],"-":100}],"р":[{"е":[{"й":33}],"-":100}],"в":[{"р":[{"а":[{"т":[{"о":[{"м":16}]}]}]}],"-":100}],"г":[{"е":[{"р":[{"м":[{"е":[{"й":[{"с":[{"т":25}]}]}]}]}]}],"-":100}],"а":[{"-":100}],"б":[{"-":100}],"ґ":[{"-":100}],"е":[{"-":100}],"ж":[{"-":100}],"з":[{"-":100}],"и":[{"-":100}],"і":[{"-":100}],"к":[{"-":100}],"л":[{"-":100}],"м":[{"-":100}],"н":[{"-":100}],"о":[{"-":100}],"с":[{"-":100}],"т":[{"-":100}],"ф":[{"-":100}],"х":[{"-":100}],"ц":[{"-":100}],"ч":[{"-":100}],"ш":[{"-":100}],"щ":[{"-":100}],"ь":[{"-":100}],"я":[{"-":100}],"\'":[{"-":100}]},0],"ї":[{"е":[{"-":100},1],"о":[{"-":100},1],"ю":[{"-":100},1],"й":[{"-":100},6],"ж":[{"д":[{"ж":33}],"-":100}],"з":[{"д":33,"-":100}],"с":[{"т":33,"-":100}],"х":[{"а":[{"в":33,"т":33}],"-":100}],"а":[{"-":100}],"б":[{"-":100}],"в":[{"-":100}],"г":[{"-":100}],"ґ":[{"-":100}],"д":[{"-":100}],"є":[{"-":100}],"и":[{"-":100}],"і":[{"-":100}],"ї":[{"-":100}],"к":[{"-":100}],"л":[{"-":100}],"м":[{"-":100}],"н":[{"-":100}],"п":[{"-":100}],"р":[{"-":100}],"т":[{"-":100}],"у":[{"-":100}],"ф":[{"-":100}],"ц":[{"-":100}],"ч":[{"-":100}],"ш":[{"-":100}],"щ":[{"-":100}],"ь":[{"-":100}],"я":[{"-":100}],"\'":[{"-":100}]},0],"б":[{"к":[{"-":100},0],"п":[{"-":100},0],"с":[{".":9,"т":[{".":13,"в":[{".":14}],"р":[{".":14}]}],"ь":[{"к":[{".":14}]}],"-":100},0],"т":[{"-":100},0],"ф":[{"-":100},0],"х":[{"-":100},0],"ц":[{"ь":[{".":13}],"-":100},0],"ч":[{"-":100},0],"ш":[{"-":100},0],"щ":[{"-":100},0],"б":[{"-":100},0],"в":[{".":9,"-":100}],"з":[{".":9,"-":100}],"й":[{".":9,"о":[{"р":[{"н":[{"с":17}]}]}],"-":100}],"л":[{".":9,"ь":[{".":13}],"а":[{"ж":4}],"и":[{"ж":4,"з":4,"с":[{"к":4}]}],"о":[{"к":[{"п":[{"о":[{"с":[{"т":25}]}]}]},4],"ц":[{"і":4}]}],"-":100}],"н":[{".":9,"-":100}],"р":[{".":9,"а":[{"н":[{"д":[{"м":[{"е":[{"й":[{"с":[{"т":28}]}]}]}]},17]},4],"т":[{"и":4}]}],"е":[{"с":[{"т":4}]}],"и":[{"з":[{"к":4}],"т":[{"а":[{"н":4}]}]}],"у":[{"д":4}],"і":[{"д":[{"ж":[{"п":[{"о":[{"р":[{"т":51}]}]}]}]}]}],"-":100}],"е":[{"з":[{"в":[{"і":[{"д":20}]}],"і":[{"д":[{"е":[{"й":37}]}],"м":[{"е":[{"н":19}]}]}],"а":[{"в":[{"а":[{"р":[{"і":17}]}]}],"д":[{"р":[{"е":[{"с":71}]}]}]}],"е":[{"м":[{"і":[{"с":[{"і":17}]}]}]}],"у":[{"г":[{"л":17}],"п":[{"и":[{"н":17}]}]}]}],"й":[{"с":[{"б":[{"о":[{"л":22}]}]}]}],"к":[{"о":[{"н":50}]}],"-":100}],"а":[{"к":[{"т":[{"е":[{"р":[{"і":[{"о":49}]}]}]}],"а":[{"н":[{"а":[{"л":[{"і":[{"з":71}]}]}]}]}]}],"с":[{"е":[{"н":[{"е":[{"р":16}]}]}],"а":[{"н":[{"т":[{"р":[{"а":16}]}]}]}]}],"л":[{"ь":[{"н":[{"е":[{"о":83}]}]}],"е":[{"т":[{"м":[{"е":[{"й":[{"с":[{"т":28}]}]}]}]}]}]}],"г":[{"е":[{"р":[{"м":[{"е":[{"й":[{"с":[{"т":28}]}]}]}]}]}]}],"-":100}],"\'":[{"є":[{"т":[{"ь":34}]}],"-":100}],"і":[{"о":16,"б":[{"л":[{"і":[{"о":44}]}]}],"-":100}],"о":[{"г":[{"д":[{"а":[{"н":16}]}]}],"є":[{"г":[{"о":[{"л":16,"т":16}]}],"з":[{"а":[{"п":16}],"д":[{"а":[{"т":16}]}]}],"к":[{"о":[{"м":[{"п":16}]}]}],"п":[{"о":[{"с":[{"т":16}]}],"р":[{"и":[{"п":16}]}]}]}],"р":[{"и":[{"с":[{"п":52}]}],"т":[{"м":[{"е":[{"х":78}]}],"о":[{"п":[{"е":[{"р":97}]}]}],"п":[{"р":[{"о":78}]}],"р":[{"а":[{"д":78}]}],"і":[{"н":[{"ж":97}]}]}]}],"-":100}],"г":[{"-":100}],"ґ":[{"-":100}],"д":[{"-":100}],"є":[{"-":100}],"ж":[{"-":100}],"и":[{"-":100}],"ї":[{"-":100}],"м":[{"-":100}],"у":[{"-":100}],"ь":[{"-":100}],"ю":[{"-":100}],"я":[{"-":100}]}],"в":[{"б":[{".":9,"л":[{"а":[{"г":46}]}],"и":[{"в":33}],"-":100},0],"г":[{"-":100},0],"д":[{".":9,"р":[{".":13}],"ь":[{".":13}],"а":[{"л":33}],"о":[{"в":[{"з":33,"о":[{"л":33}]}]}],"-":100},0],"ж":[{".":9,"и":[{"в":[{"а":[{"н":33}]}]}],"-":100},0],"з":[{".":9,"ь":[{".":13}],"-":100},0],"к":[{".":9,"л":[{"а":[{"д":46}]}],"-":100},0],"л":[{".":9,"ь":[{".":13}],"а":[{"д":33,"с":[{"н":33}],"ш":[{"т":33}]}],"о":[{"в":33}],"-":100},0],"м":[{".":9,"\'":[{"я":40}],"-":100},0],"н":[{".":9,"-":100},0],"п":[{".":9,"л":[{"и":[{"в":46}]}],"р":[{"а":[{"в":[{"н":46}]}]}],"е":[{"в":[{"н":33}]}],"о":[{"р":[{"я":[{"д":33}]}]}],"-":100},0],"р":[{".":9,"о":[{"д":[{"л":[{"и":[{"в":46}]}]}],"ж":[{"а":[{"й":33}]}]}],"а":[{"з":[{"л":[{"и":[{"в":33}]}]}]}],"-":100},0],"с":[{".":9,"т":[{"в":[{".":14}],"ь":[{".":14}]}],"ь":[{".":13,"к":[{".":14}]}],"ю":[{"д":33}],"-":100},0],"т":[{".":9,"р":[{"у":[{"т":46,"ч":46}]}],"і":[{"л":33}],"-":100},0],"ф":[{"-":100},0],"х":[{".":9,"-":100},0],"ц":[{"ь":[{".":13}],"-":100},0],"ч":[{".":9,"-":100},0],"ш":[{".":9,"-":100},0],"щ":[{".":9,"-":100},0],"й":[{".":9,"-":100},0],"\'":[{"я":[{"з":58}],"-":100},2],"в":[{".":9,"е":[{"д":[{"е":[{"н":33}]}]}],"-":100},0],"и":[{"ї":22,"й":[{"д":41,"т":41,"м":22}],"н":[{"а":[{"й":[{"д":54,"т":54}]}]}],"у":[{"ч":41,"д":[{"и":22}]}],"я":[{"в":22,"с":[{"н":22}]}],"-":100}],"і":[{"д":[{"у":[{"ч":17}],"в":[{"\'":[{"я":39}]}],"з":[{"н":[{"а":55}]}],"е":[{"н":23,"о":56}],"о":[{"м":23,"б":[{"р":[{"а":[{"ж":19,"з":19}]}]}]}]}],"-":100}],"а":[{"н":[{"т":[{"р":[{"а":[{"ц":53}]}]}]}],"л":[{"ь":[{"д":[{"м":[{"е":[{"й":[{"с":[{"т":94}]}]}]}]}]}]}],"-":100}],"е":[{"р":[{"х":[{"н":25}]}],"л":[{"ь":[{"т":[{"м":[{"е":[{"й":[{"с":[{"т":94}]}]}]}]}]}]}],"-":100}],"о":[{"с":[{"к":[{"о":57}],"т":[{"а":[{"н":[{"н":[{"є":34}]}]}]}]}],"д":[{"о":[{"с":[{"т":[{"о":[{"к":32}]}]}],"з":[{"б":[{"і":[{"р":32}]}]}]}]}],"л":[{"ь":[{"т":[{"м":[{"е":[{"т":[{"р":28}]}]}],"а":[{"м":[{"п":[{"е":[{"р":28}]}]}]}]}]}]}],"є":[{"в":[{"о":[{"д":34}]}],"н":[{"а":[{"ч":34}]}]}],"-":100}],"у":[{"д":[{"а":[{"р":91}]}],"-":100}],"ґ":[{"-":100}],"є":[{"-":100}],"ї":[{"-":100}],"ь":[{"-":100}],"ю":[{"-":100}],"я":[{"-":100}]}],"г":[{"к":[{"-":100},0],"п":[{"-":100},0],"с":[{".":9,"т":[{"в":[{".":14}]}],"ь":[{".":13}],"-":100},0],"т":[{".":9,"-":100},0],"ф":[{"-":100},0],"ц":[{"-":100},0],"ч":[{"-":100},0],"ш":[{"-":100},0],"г":[{".":9,"-":100},0],"в":[{".":9,"-":100}],"д":[{".":9,"-":100}],"л":[{".":9,"ь":[{".":13}],"а":[{"д":4}],"и":[{"б":4,"н":4}],"о":[{"б":4}],"у":[{"з":4,"ш":4}],"я":[{"д":4,"н":4}],"-":100}],"м":[{".":9,"-":100}],"н":[{".":9,"а":[{"н":4}],"и":[{"л":4}],"о":[{"з":4}],"у":[{"ч":[{"к":4}]}],"-":100}],"р":[{".":9,"а":[{"в":4,"д":4,"й":4,"м":4,"н":4,"т":[{"и":4}],"ф":[{"о":[{"б":[{"р":[{"а":[{"з":54}]}]}]}]},4],"ш":4,"ю":4,"є":4}],"е":[{"с":4,"ц":[{"ь":4}]}],"о":[{"б":4,"ж":4,"з":4,"м":[{"а":[{"д":4}]}],"с":[{"м":[{"е":[{"й":[{"с":[{"т":25}]}]}]}]}]}],"у":[{"в":[{"а":[{"н":4}]}],"н":[{"т":4}],"п":4}],"і":[{"в":4,"т":4,"ш":4}],"-":100}],"і":[{"д":[{"р":[{"о":[{"м":[{"е":[{"т":61}]}]},33]}]}],"п":[{"е":[{"р":[{"а":[{"к":[{"т":88}]}],"е":[{"м":[{"і":[{"с":[{"і":88}]}]}]}]}]}]}],"-":100}],"е":[{"т":[{"ь":[{"м":[{"а":[{"н":59}]}]}]}],"о":34,"л":[{"і":[{"о":17}]}],"н":[{"а":[{"н":[{"а":[{"л":[{"і":[{"з":71}]}]}]}]}]}],"-":100}],"о":[{"с":[{"п":[{"р":[{"о":[{"з":60}]}],"у":[{"г":[{"о":[{"д":89}]}]}]}]}],"м":[{"е":[{"о":17}]}],"ф":[{"м":[{"е":[{"й":[{"с":[{"т":16}]}]}]}]}],"-":100}],"а":[{"-":100}],"б":[{"-":100}],"ґ":[{"-":100}],"є":[{"-":100}],"ж":[{"-":100}],"з":[{"-":100}],"и":[{"-":100}],"ї":[{"-":100}],"й":[{"-":100}],"у":[{"-":100}],"х":[{"-":100}],"щ":[{"-":100}],"ь":[{"-":100}],"ю":[{"-":100}],"я":[{"-":100}],"\'":[{"-":100}]}],"д":[{"к":[{"-":100},0],"п":[{"-":100},0],"с":[{"т":[{"в":[{".":14}]}],"ь":[{"к":[{".":14}]}],"-":100},0],"т":[{".":9,"-":100},0],"ф":[{"-":100},0],"х":[{"-":100},0],"ц":[{"-":100},0],"ч":[{"-":100},0],"ш":[{"-":100},0],"щ":[{"-":100},0],"ь":[{"к":3,"с":[{"ь":[{".":14}]},3],"т":3,"ц":3,".":9,"-":100}],"д":[{"я":4,"-":100},0],"ж":[{".":9,"е":[{"н":[{"т":[{"л":[{"ь":17}]}]}]}],"-":100},5],"з":[{".":9,"ь":[{".":13}],"е":[{"м":62}],"-":100},5],"л":[{".":9,"-":100}],"м":[{".":9,"-":100}],"н":[{".":9,"і":[{"п":[{"р":66}]}],"-":100}],"р":[{".":9,"а":[{"ж":4}],"о":[{"м":4}],"у":[{"ж":4,"к":4}],"я":[{"п":4}],"і":[{"б":4,"м":[{"а":4}]}],"-":100}],"і":[{"є":[{"в":[{"і":[{"д":26}]}]}],"й":[{"т":41,"д":41,"м":[{"а":22}]}],"о":[{"г":[{"е":[{"н":34}]}]},34],"а":[{"л":[{"о":[{"г":34}]}]}],"-":100}],"о":[{"о":[{"р":23}],"в":[{"\'":[{"є":38,"ю":38}]}],"ї":[{"д":22,"м":22,"х":22,"ж":22,"с":[{"т":22}]}],"з":[{"в":[{"о":[{"л":41}],"і":[{"л":41}]}]}],"р":[{"о":[{"г":[{"о":[{"в":[{"к":[{"а":[{"з":68}]}]}]}]}]}]}],"у":[{"к":22,"м":22}],"к":[{"м":[{"е":[{"й":[{"с":[{"т":16}]}]}]}]}],"й":[{"м":72}],"-":100}],"а":[{"н":33,"-":100}],"б":[{"а":[{"в":33,"л":33,"н":33,"т":33,"є":33}],"-":100}],"в":[{"и":[{"г":4}],"о":[{"ю":4,"є":4,"х":[{"а":[{"т":[{"о":[{"м":52}]}]}]}]}],"і":[{"й":4,"р":4,"ч":[{"і":4}]}],"-":100}],"е":[{"р":[{"ж":[{"а":[{"т":[{"о":[{"м":63}]}],"д":[{"м":63}]}],"б":[{"ю":[{"д":[{"ж":64}]}],"е":[{"з":25}]}],"в":[{"и":[{"д":64}]}],"д":[{"у":[{"м":64}]}],"з":[{"а":[{"м":[{"о":[{"в":64}]}]}]}],"к":[{"о":[{"м":64}]}],"н":[{"а":[{"ф":[{"т":64}]}]}],"р":[{"е":[{"є":[{"с":64}],"з":[{"е":[{"р":[{"в":25}]}]}]}]}],"с":[{"т":[{"р":64}],"л":[{"у":[{"ж":64}]}]}]}]}],"я":[{"к":22}],"к":[{"р":[{"е":[{"т":[{"м":[{"е":[{"й":[{"с":[{"т":20}]}]}]}]}]}]}]}],"-":100}],"и":[{"с":[{"б":[{"а":[{"л":[{"а":[{"н":[{"с":65}]}]}]}]}],"г":[{"а":[{"р":[{"м":16}]}]}],"к":[{"в":[{"а":[{"л":16}]}],"о":[{"м":[{"ф":16}],"н":[{"т":16}]}],"р":[{"е":[{"д":16,"т":16,"ц":16}],"и":[{"м":16}]}],"у":[{"с":[{"і":16}],"т":[{"у":16}]}]}],"л":[{"о":[{"к":16}]}],"п":[{"а":[{"р":[{"и":[{"т":16}]}]}],"е":[{"р":[{"с":16}],"т":[{"ч":16}]}],"л":[{"е":[{"й":16},16]}],"о":[{"з":[{"и":16}]}],"р":[{"о":[{"п":16}]}],"у":[{"т":16}]}],"т":[{"и":[{"л":16}],"р":[{"и":[{"б":16}],"о":[{"ф":16}]}]}],"ф":[{"у":[{"н":[{"к":[{"ц":16}]}]}]}]}],"-":100}],"у":[{"с":[{"і":[{"м":91}]}],"-":100}],"г":[{"-":100}],"ґ":[{"-":100}],"є":[{"-":100}],"ї":[{"-":100}],"й":[{"-":100}],"ю":[{"-":100}],"я":[{"-":100}],"\'":[{"-":100}]}],"ж":[{"к":[{"о":[{"м":[{"а":[{"т":[{"о":[{"м":63}]}]}]}]}],"-":100},0],"п":[{"-":100},0],"с":[{"ь":[{".":13}],"-":100},0],"т":[{"-":100},0],"ф":[{"-":100},0],"х":[{"-":100},0],"ц":[{"-":100},0],"ч":[{"-":100},0],"ш":[{"-":100},0],"ж":[{"-":100},0],"б":[{".":9,"-":100}],"в":[{".":9,"а":[{"в":4}],"-":100}],"д":[{"ь":[{".":13}],"-":100}],"м":[{"і":[{"т":[{"ь":4}]}],"-":100}],"р":[{"і":[{"т":[{"ь":4}]}],"-":100}],"о":[{"н":[{"а":[{"в":[{"ч":54}]}]}],"-":100}],"а":[{"-":100}],"г":[{"-":100}],"ґ":[{"-":100}],"е":[{"-":100}],"є":[{"-":100}],"з":[{"-":100}],"и":[{"-":100}],"і":[{"-":100}],"ї":[{"-":100}],"й":[{"-":100}],"л":[{"-":100}],"н":[{"-":100}],"у":[{"-":100}],"щ":[{"-":100}],"ь":[{"-":100}],"ю":[{"-":100}],"я":[{"-":100}],"\'":[{"-":100}]}],"з":[{"к":[{".":9,"-":100},0],"п":[{"-":100},0],"с":[{"ь":[{".":13}],"-":100},0],"т":[{"-":100},0],"ф":[{"-":100},0],"х":[{"-":100},0],"ц":[{"-":100},0],"ч":[{"е":[{"п":33}],"-":100},0],"ш":[{"-":100},0],"щ":[{"-":100},0],"ь":[{"к":[{".":13},3],"с":3,"т":3,".":9,"б":[{".":13}],"-":100}],"з":[{"-":100},0],"в":[{".":9,"\'":[{"я":[{"з":46},40]}],"а":[{"ж":4,"н":4}],"е":[{"д":4,"л":4,"с":[{"т":4}]}],"и":[{"с":[{"ь":4}],"ч":4,"щ":4}],"о":[{"р":[{"у":[{"ш":4}]}]}],"у":[{"к":4,"ч":4}],"і":[{"т":4}],"-":100}],"г":[{".":9,"о":[{"д":33}],"-":100}],"д":[{".":9,"в":[{".":13}],"н":[{".":13}],"ь":[{".":13}],"а":[{"т":33}],"о":[{"в":[{"ж":33}],"р":[{"о":[{"в":33}]}]}],"і":[{"й":[{"с":[{"н":33}],"н":[{"я":17}]}]}],"-":100}],"л":[{".":9,"-":100}],"м":[{".":9,"\'":[{"я":40}],"і":[{"н":4,"ш":4}],"-":100}],"н":[{".":9,"ь":[{".":13}],"а":[{"в":4,"й":[{"д":71,"т":71},4],"к":4,"л":4,"н":4,"т":4,"х":[{"о":[{"д":4}]}],"ч":4,"ю":4,"є":4}],"и":[{"ж":4}],"і":[{"м":4}],"-":100}],"р":[{".":9,"о":[{"з":[{"у":[{"м":4}]}]}],"ю":[{"в":4}],"і":[{"в":4,"л":4,"н":4}],"-":100}],"а":[{"в":[{"в":[{"і":[{"д":26}]}],"\'":[{"є":38,"я":38,"ю":38}]}],"о":[{"р":23}],"ю":[{"ш":41}],"м":[{"\'":[{"я":38}]}],"я":[{"л":[{"о":41}],"в":22}],"п":[{"ч":[{"а":[{"с":[{"т":16}]}]}]}],"ї":[{"д":22,"ж":22,"з":22,"л":22,"м":22,"х":22}],"у":[{"ч":41}],"к":[{"т":91}],"й":[{"н":[{"я":22}],"м":22}],"н":[{"а":[{"л":[{"і":[{"з":91}]}]}]}],"-":100}],"і":[{"в":[{"\'":[{"є":38,"я":38,"ю":38}]}],"м":[{"\'":[{"я":38}]}],"-":100}],"у":[{"р":[{"о":[{"ч":34}]}],"д":[{"а":[{"р":91}]}],"-":100}],"б":[{"р":[{"о":[{"й":46,"ю":46,"є":46}]}],"а":[{"г":[{"а":33}],"л":[{"а":[{"н":[{"с":33}]}]}]}],"у":[{"в":33,"т":33}],"-":100}],"й":[{"о":[{"м":4}],"-":100}],"е":[{"к":[{"о":[{"н":[{"о":[{"м":[{"и":[{"т":[{"и":34}]}]}]}]}]}]}],"-":100}],"\'":[{"я":[{"с":[{"о":58}],"в":22}],"є":[{"д":[{"н":34}]}],"-":100}],"о":[{"к":[{"а":34,"е":34,"и":34,"у":34,"і":34}],"о":11,"-":100}],"ґ":[{"-":100}],"є":[{"-":100}],"ж":[{"-":100}],"и":[{"-":100}],"ї":[{"-":100}],"ю":[{"-":100}],"я":[{"-":100}]}],"к":[{"б":[{"-":100},0],"г":[{"-":100},0],"д":[{"-":100},0],"з":[{"-":100},0],"с":[{"п":0,"т":[{".":13},0],"ь":[{"к":0,".":13}],".":9,"-":100}],"к":[{".":9,"-":100},0],"в":[{".":9,"о":[{"ї":[{"д":17}]}],"а":[{"р":[{"т":[{"п":[{"л":[{"а":[{"т":28}]}]}],"и":[{"р":[{"м":[{"е":[{"й":[{"с":[{"т":30}]}]}]}]}]}]}]}]}],"-":100}],"л":[{".":9,"ь":[{".":13}],"-":100}],"р":[{".":9,"а":[{"н":[{"м":[{"е":[{"й":[{"с":[{"т":25}]}]}]}]}]}],"-":100}],"т":[{".":9,"р":[{".":13}],"-":100}],"х":[{".":9,"-":100}],"ш":[{".":9,"-":100}],"о":[{"у":[{"р":[{"о":[{"ч":22}]}]}],"р":[{"о":[{"ї":[{"д":44}]}]}],"н":[{"т":[{"р":[{"р":[{"е":22}],"а":[{"р":[{"г":51}]}],"у":[{"д":[{"а":[{"р":88}]}]}]}]}],"ц":[{"е":[{"р":[{"т":[{"м":[{"е":[{"й":[{"с":[{"т":95}]}]}]}]}]}]}]}]}],"м":[{"у":[{"н":[{"е":[{"н":[{"е":[{"р":[{"г":17}]}]}]}]}]}]}],"-":100}],"а":[{"з":[{"а":[{"х":[{"с":[{"т":[{"а":[{"н":28}]}]}]}]}]}],"н":[{"а":[{"л":50}]}],"п":[{"е":[{"л":[{"ь":[{"м":[{"е":[{"й":[{"с":[{"т":27}]}]}]}]}]}]}]}],"-":100}],"и":[{"ї":[{"в":[{"е":[{"н":[{"е":[{"р":22}]}]}]}]}],"-":100}],"ґ":[{"-":100}],"е":[{"-":100}],"є":[{"-":100}],"ж":[{"-":100}],"і":[{"-":100}],"ї":[{"-":100}],"й":[{"-":100}],"м":[{"-":100}],"н":[{"-":100}],"п":[{"-":100}],"у":[{"-":100}],"ф":[{"-":100}],"ц":[{"-":100}],"ч":[{"-":100}],"щ":[{"-":100}],"ь":[{"-":100}],"ю":[{"-":100}],"я":[{"-":100}],"\'":[{"-":100}]}],"л":[{"б":[{".":9,"-":100},0],"в":[{"-":100},0],"г":[{".":9,"-":100},0],"ґ":[{"-":100},0],"д":[{".":9,"-":100},0],"ж":[{"-":100},0],"з":[{"-":100},0],"к":[{".":9,"-":100},0],"м":[{".":9,"с":[{".":13}],"-":100},0],"н":[{".":9,"-":100},0],"п":[{".":9,"-":100},0],"р":[{"-":100},0],"с":[{".":9,"-":100},0],"т":[{".":9,"-":100},0],"ф":[{"-":100},0],"х":[{"в":[{".":13}],"-":100},0],"ц":[{"-":100},0],"ч":[{"-":100},0],"ь":[{"б":[{".":13},3],"в":[{".":13},3],"г":[{".":13},3],"д":[{".":13,"с":[{".":14}]},3],"ж":3,"з":[{".":13},3],"к":[{".":13},3],"м":[{".":13},3],"н":[{".":13},3],"п":[{".":13},3],"р":3,"с":[{".":13,"т":[{"в":[{".":14}]}],"ь":[{".":14,"к":[{".":14}]}]},3],"т":[{".":13,"р":[{".":14}]},3],"ф":[{".":13},3],"х":[{".":13},3],"ц":[{".":13},3],"ч":[{".":13},3],"ш":[{".":13},3],"щ":[{".":13},3],"й":3,".":9,"-":100}],"л":[{"я":4,"є":4,"ю":4,".":9,"ь":[{".":13}],"-":100},0],"а":[{"-":100}],"е":[{"-":100}],"є":[{"-":100}],"и":[{"-":100}],"і":[{"-":100}],"ї":[{"-":100}],"й":[{"-":100}],"о":[{"-":100}],"у":[{"-":100}],"ш":[{"-":100}],"щ":[{"-":100}],"ю":[{"-":100}],"я":[{"-":100}],"\'":[{"-":100}]}],"м":[{"б":[{".":9,"л":[{"ь":[{".":14}]}],"р":[{".":13}],"-":100},0],"в":[{"-":100},0],"г":[{".":9,"-":100},0],"д":[{"-":100},0],"ж":[{".":9,"-":100},0],"з":[{"-":100},0],"к":[{".":9,"н":[{"е":46,"у":46,"і":46}],"-":100},0],"л":[{".":9,"ь":[{".":13}],"-":100},0],"н":[{".":9,"о":[{"ж":33}],"-":100},0],"п":[{".":9,"-":100},0],"р":[{".":9,"і":[{"т":[{"ь":33}]}],"-":100},0],"с":[{".":9,"т":[{"в":[{".":14}]}],"ь":[{".":13,"к":[{".":14}]}],"-":100},0],"т":[{".":9,"-":100},0],"ф":[{".":9,"-":100},0],"х":[{".":9,"-":100},0],"ц":[{"-":100},0],"ч":[{"-":100},0],"ш":[{".":9,"-":100},0],"щ":[{"е":[{"н":33}],"-":100},0],"\'":[{"я":[{"к":[{"ш":58}],"т":58}],"-":100},2],"м":[{".":9,"-":100},0],"і":[{"н":[{"е":[{"к":[{"о":37}],"н":[{"е":[{"р":37}]}]}]}],"о":34,"ж":[{"у":[{"с":[{"о":[{"б":17}]}]}],"а":[{"в":[{"а":[{"р":[{"і":71}]}]}],"н":[{"а":[{"л":[{"і":[{"з":71}]}]}]}]}]}],"-":100}],"о":[{"к":[{"р":[{"и":[{"й":57}]}]}],"н":[{"а":[{"в":[{"ч":54}]}]}],"-":100}],"е":[{"т":[{"е":[{"о":17}]}],"-":100}],"а":[{"н":[{"а":[{"л":[{"і":[{"з":91}]}]}]}],"-":100}],"ґ":[{"-":100}],"є":[{"-":100}],"и":[{"-":100}],"ї":[{"-":100}],"й":[{"-":100}],"у":[{"-":100}],"ь":[{"-":100}],"ю":[{"-":100}],"я":[{"-":100}]}],"н":[{"б":[{"-":100},0],"в":[{".":9,"-":100},0],"г":[{".":9,"л":[{".":13,"ь":[{".":14}]}],"р":[{".":13}],"с":[{".":13}],"-":100},0],"д":[{".":9,"ж":[{".":13}],"з":[{".":13}],"п":[{".":13}],"р":[{".":13}],"-":100},0],"ж":[{".":9,"-":100},0],"з":[{".":9,"-":100},0],"к":[{".":9,"с":[{".":13}],"т":[{".":13}],"-":100},0],"л":[{"-":100},0],"м":[{".":9,"-":100},0],"п":[{"-":100},0],"р":[{".":9,"-":100},0],"с":[{".":9,"к":[{".":13}],"т":[{".":13,"в":[{".":14}],"р":[{".":14}]}],"ь":[{"к":[{".":14,"й":[{".":14}]}]}],"-":100},0],"т":[{".":9,"к":[{".":13}],"р":[{".":13}],"с":[{"т":[{"в":[{".":14}]}]}],"ь":[{".":13}],"а":[{"н":[{"а":[{"л":[{"і":[{"з":41}]}]}]}]}],"-":100},0],"ф":[{".":9,"-":100},0],"х":[{".":9,"-":100},0],"ц":[{".":9,"ь":[{".":13}],"-":100},0],"ч":[{".":9,"-":100},0],"ш":[{".":9,"-":100},0],"щ":[{"-":100},0],"\'":[{"-":100},2],"ь":[{"б":[{".":13},3],"г":[{".":13},3],"з":3,"к":[{".":13},3],"л":3,"м":3,"с":[{"ь":[{".":14}]},3],"т":3,"х":3,"ц":3,"ч":3,"ш":3,"й":3,".":9,"-":100}],"н":[{"я":4,".":9,"-":100},0],"е":[{"в":[{"і":[{"д":[{"\'":27},28]}],"т":[{"о":[{"м":41}]}]}],"п":[{"о":[{"в":[{"\'":[{"я":42}]}]}]}],"у":[{"к":22,"ч":41}],"д":[{"б":[{"а":[{"н":41}]}],"о":[{"ї":44,"у":[{"ч":54}]}]}],"з":[{"в":[{"и":[{"ч":41}],"а":[{"ж":41}]}]}],"о":[{"п":[{"а":[{"л":22}]}],"л":[{"і":[{"т":34,"б":[{"е":[{"р":34}]}]}],"а":[{"н":[{"д":[{"ш":34}]}]}],"о":[{"г":34}]}],"м":[{"а":[{"л":[{"ь":[{"т":34}]}]}]}],"к":[{"л":[{"а":[{"с":34}]}],"о":[{"м":[{"у":[{"н":34}]}]}]}],"н":[{"а":[{"ц":34}]}],"ф":[{"і":[{"т":34}]}]}],"ї":[{"с":[{"т":22}]}],"я":[{"с":[{"н":22}],"к":22,"р":[{"о":[{"к":22}]}]}],"а":[{"б":[{"и":22}]}],"ю":[{"н":22}],"-":100}],"а":[{"д":[{"\'":15,"у":[{"р":[{"о":[{"ч":17}]}]}],"з":[{"в":73}],"б":[{"а":[{"н":41}]}],"і":[{"с":[{"т":[{"о":[{"р":17,"т":17}]}]}]}],"а":[{"в":[{"а":[{"р":[{"і":71}]}]}]}]}],"в":[{"\'":[{"я":38,"ю":38}],"р":[{"я":[{"д":41}]}],"ч":[{"а":41,"е":[{"н":41}],"і":[{"т":[{"ь":41}]}]}]}],"м":[{"\'":[{"я":38}]}],"й":[{"у":[{"б":[{"о":[{"г":45}]}]}],"а":[{"к":[{"т":17}]},16],"е":[{"ф":[{"е":[{"к":[{"т":71}]}]}]},16],"о":[{"б":[{"е":[{"р":[{"е":[{"ж":16}]},73]}],"р":[{"а":[{"з":71}]}]}],"г":[{"и":[{"д":73}],"о":[{"л":73}],"р":[{"я":[{"д":73}]}]}],"п":[{"у":[{"к":73}]}],"х":[{"а":[{"й":73}]}],"с":[{"т":[{"а":[{"н":[{"н":71}]}]}]}]}],"м":[{"а":[{"с":[{"л":16}]},22]}],"с":[{"п":[{"р":[{"и":16}]}]}],"я":[{"к":[{"і":[{"с":16}]}],"с":[{"н":71}]}],"і":[{"с":[{"т":[{"о":[{"р":71,"т":17}]}]}]}],"н":[{"я":22}]}],"о":[{"р":22}],"б":[{"л":[{"и":[{"з":41}]}]}],"з":[{"в":41}],"ї":[{"в":[{"с":22,"ш":22}],"ж":22,"з":22,"л":22,"м":22,"с":22,"х":22}],"п":[{"л":[{"и":[{"в":23}]}],"о":[{"у":[{"м":44}]}],"і":[{"в":[{"а":[{"в":[{"а":[{"р":[{"і":88}]}]}]}]}]}]}],"у":[{"ч":41}],"я":[{"в":22}],"-":100}],"о":[{"м":[{"\'":[{"я":38}]}],"к":[{"а":[{"у":[{"т":45}]}]}],"-":100}],"і":[{"т":[{"р":[{"а":[{"т":57}]}]}],"я":[{"к":22}],"-":100}],"ґ":[{"-":100}],"є":[{"-":100}],"и":[{"-":100}],"ї":[{"-":100}],"й":[{"-":100}],"у":[{"-":100}],"ю":[{"-":100}],"я":[{"-":100}]}],"п":[{"б":[{"-":100},0],"д":[{".":9,"-":100},0],"з":[{"-":100},0],"с":[{"п":0,"т":[{"в":[{".":14}]},0],"ь":[{"к":0,".":13}],".":9,"к":[{"о":[{"в":46}]}],"о":[{"в":33,"н":33}],"у":[{"в":33}],"-":100}],"п":[{"-":100},0],"л":[{".":9,"-":100}],"р":[{".":9,"о":[{"ф":[{"в":[{"і":[{"д":29}]}],"с":25}],"ї":17,"с":[{"т":[{"и":[{"р":[{"а":[{"д":71}]}]}]}]}],"е":[{"к":[{"т":[{"н":80}]}]}],"б":[{"л":[{"е":[{"м":71}]}]}],"м":[{"м":[{"а":[{"й":25}]}]}],"п":[{"л":[{"а":[{"т":57}]}]}],"я":[{"с":[{"н":17}]}],"й":[{"м":17}]},33],"е":[{"й":[{"с":75}]},33],"и":[{"ї":17,"в":[{"\'":[{"я":39}]}],"м":[{"\'":[{"я":39}]}],"у":[{"р":[{"о":[{"ч":17}]}]}],"о":[{"р":17}],"й":[{"т":71,"д":71,"м":17}],"н":[{"ц":[{"и":[{"п":22}]}]}]},33],"і":33,"-":100}],"т":[{".":9,"р":[{".":13}],"-":100}],"ф":[{".":9,"-":100}],"ц":[{".":9,"-":100}],"о":[{"о":[{"р":23}],"в":[{"\'":[{"є":38,"я":38,"ю":38}],"т":[{"о":[{"р":41}]}],"ч":[{"е":[{"н":41}],"і":[{"т":[{"ь":41}]}],"а":41}]}],"м":[{"\'":[{"я":38}]}],"з":[{"а":[{"у":[{"р":[{"о":[{"ч":44}]}]}]}],"б":[{"а":[{"в":23}]}]}],"у":[{"р":[{"о":[{"ч":22}]}]}],"б":[{"л":[{"и":[{"з":[{"у":41}]}]}],"е":[{"р":[{"е":92}]}]}],"ч":[{"н":[{"е":22,"и":22,"у":22}]}],"я":[{"в":22,"с":[{"н":22},22]}],"д":[{"р":[{"о":[{"б":41}],"а":[{"з":41}]}],"в":[{"о":41}]}],"ж":[{"н":[{"і":[{"т":[{"ь":23}]}]}]}],"ї":[{"д":22,"з":[{"д":22}]}],"с":[{"т":[{"р":[{"а":[{"д":[{"я":[{"н":60}],"і":78}]}]}],"к":[{"о":[{"м":[{"у":60},25],"н":[{"т":[{"р":[{"а":78}]}]}]}],"а":[{"п":25}]}],"д":[{"е":[{"к":[{"р":78}]}]}],"м":[{"е":[{"н":[{"о":[{"п":[{"а":[{"у":[{"з":78}]}]}]}]}]}]}],"п":[{"р":[{"и":[{"в":[{"а":[{"т":79}]}]}],"о":[{"ц":25}]}]}],"с":[{"о":[{"ц":[{"і":60},25]}]}],"н":[{"а":[{"т":25}]}],"ф":[{"і":[{"к":[{"с":25}]}]}],"і":[{"с":[{"т":[{"о":[{"р":54}]}]}]}],"а":[{"в":[{"а":[{"р":[{"і":54}]}]}]}]}]}],"л":[{"і":[{"т":[{"е":[{"к":[{"о":[{"н":52}]}]}]}],"о":17,"ц":[{"м":[{"е":[{"й":[{"с":[{"т":28}]}]}]}]}],"а":[{"н":[{"а":[{"л":[{"і":[{"з":54}]}]}]}]}]}]}],"р":[{"т":[{"н":25,"р":[{"е":[{"т":25}]}],"ф":[{"е":[{"л":25}]}]}]}],"ш":[{"т":[{"м":[{"е":[{"й":[{"с":[{"т":78}]}]}]}]}]}],"-":100}],"е":[{"р":[{"е":[{"о":[{"р":32}],"м":[{"\'":[{"я":42}]}],"ї":[{"д":44,"ж":44,"з":44,"л":44,"с":44,"х":44}],"п":[{"л":[{"и":[{"в":32}]}]}],"й":[{"д":54,"т":54,"н":[{"я":44}],"м":44}],"г":[{"н":[{"і":[{"й":44}]}]}],"д":[{"о":[{"б":[{"і":[{"д":76}]}],"с":[{"т":[{"а":[{"н":[{"н":88}]}]}]}],"п":[{"л":[{"а":88}]}]}],"с":[{"м":52}],"у":[{"м":[{"о":[{"в":76}]}]}],"і":[{"с":[{"т":[{"о":[{"р":88}]}]}]}],"а":[{"в":[{"а":[{"р":[{"і":88}]}]}]}]}],"в":[{"т":[{"о":[{"м":54}]}]}],"у":[{"ч":54}]}]}],"д":[{"у":[{"ч":[{"и":71}]}]}],"-":100}],"і":[{"д":[{"о":[{"р":36,"д":[{"и":[{"н":19}]}]}],"в":[{"\'":[{"я":39}]}],"і":[{"м":[{"\'":[{"я":42}]}],"й":[{"н":[{"я":44}]}]}],"у":[{"ч":71}]}],"в":[{"о":[{"с":[{"т":[{"р":77}]},17],"н":[{"і":23}],"в":[{"а":[{"л":71}]}]}],"е":[{"н":[{"ь":23}]}],"і":[{"с":[{"т":[{"о":[{"р":71}]}]}]}],"а":[{"к":[{"т":17}]}],"у":[{"г":[{"о":[{"д":71}]}]}]}],"й":[{"м":22}],"-":100}],"а":[{"л":[{"е":[{"о":17}]}],"н":[{"о":[{"т":[{"е":[{"ц":[{"ь":45}]}]}]}],"е":[{"с":[{"т":[{"е":[{"т":71}]}]}]}]}],"р":[{"е":[{"с":[{"т":[{"е":[{"т":71}]}]}]}]}],"-":100}],"в":[{"-":100}],"г":[{"-":100}],"ґ":[{"-":100}],"є":[{"-":100}],"ж":[{"-":100}],"и":[{"-":100}],"ї":[{"-":100}],"й":[{"-":100}],"к":[{"-":100}],"м":[{"-":100}],"н":[{"-":100}],"у":[{"-":100}],"х":[{"-":100}],"ч":[{"-":100}],"ш":[{"-":100}],"щ":[{"-":100}],"ь":[{"-":100}],"ю":[{"-":100}],"я":[{"-":100}],"\'":[{"-":100}]}],"р":[{"б":[{".":9,"-":100},0],"в":[{".":9,"а":[{"в":33,"т":[{"и":33}]}],"і":[{"т":[{"ь":33}]}],"-":100},0],"г":[{".":9,"-":100},0],"ґ":[{"-":100},0],"д":[{".":9,"в":[{".":13}],"ж":[{".":13}],"ь":[{".":13}],"-":100},0],"ж":[{".":9,"-":100},0],"з":[{".":9,"н":[{".":13}],"ь":[{".":13}],"-":100},0],"к":[{".":9,"с":[{".":13}],"т":[{".":13}],"-":100},0],"л":[{".":9,"ь":[{".":13,"з":[{".":14}]}],"-":100},0],"м":[{".":9,"о":[{"ї":[{"д":17}]}],"-":100},0],"н":[{".":9,"с":[{".":13,"т":[{".":14}]}],"ь":[{".":13}],"-":100},0],"п":[{".":9,"-":100},0],"с":[{".":9,"р":[{".":13}],"т":[{".":13,"в":[{".":14}],"ь":[{".":14}]}],"ь":[{".":13,"к":[{".":14}]}],"-":100},0],"т":[{".":9,"в":[{".":13}],"р":[{".":13}],"ь":[{".":13}],"-":100},0],"ф":[{".":9,"-":100},0],"х":[{".":9,"-":100},0],"ц":[{".":9,"ь":[{".":13}],"-":100},0],"ч":[{".":9,"-":100},0],"ш":[{".":9,"-":100},0],"щ":[{".":9,"с":[{"ь":[{".":14}]}],"-":100},0],"й":[{"-":100},0],"\'":[{"-":100},2],"ь":[{"к":3,"ц":3,".":9,"-":100}],"р":[{".":9,"-":100},0],"о":[{"з":[{"й":[{"о":[{"м":23}]}],"д":[{"в":[{"о":37}],"і":[{"л":57}]}],"м":[{"і":[{"н":[{"н":[{"и":[{"й":57}]}]}]}]}],"у":[{"ч":[{"е":[{"н":19}]}],"м":23,"г":[{"о":[{"д":71}]}]}],"і":[{"м":[{"е":[{"н":19}]}]}],"в":[{"а":[{"н":[{"т":67}]}],"и":[{"н":67,"т":67}],"е":[{"р":57}]}],"г":[{"о":[{"р":57}],"р":[{"о":[{"м":16}]}]}],"ч":[{"е":[{"п":57}]}],"\'":[{"є":[{"д":[{"н":81}]}],"я":[{"с":[{"н":44}],"р":44}]}],"л":[{"и":[{"в":16}]}],"о":[{"р":[{"а":[{".":23,"м":90,"х":23},17],"и":[{".":36},23],"о":23,"у":23,"я":23,"ю":23,"і":23,"е":[{"ш":17},17],"н":17}]}]}],"-":100}],"а":[{"д":[{"і":[{"о":17}]}],"й":[{"в":[{"н":[{"о":71}]}]}],"-":100}],"у":[{"к":[{"о":[{"с":[{"т":[{"и":[{"с":[{"к":32}]}]}]}]}]}],"-":100}],"е":[{"а":[{"н":[{"а":[{"л":[{"і":[{"з":41}]}]}]}]}],"-":100}],"є":[{"-":100}],"и":[{"-":100}],"і":[{"-":100}],"ї":[{"-":100}],"ю":[{"-":100}],"я":[{"-":100}]}],"с":[{"б":[{"-":100},0],"г":[{"-":100},0],"д":[{"п":[{".":13}],"р":[{"п":[{".":14}]}],"-":100},0],"ь":[{"б":[{".":13},3],"д":3,"к":[{"к":3,"с":3,"т":3,".":13,"в":[{"у":[{"г":34}]}]}],".":9,"м":[{".":13}],"-":100}],"п":[{"к":0,"п":0,"с":0,"т":0,"х":0,"ч":0,".":9,"е":[{"ц":[{"в":[{"і":[{"д":29}]}],"к":[{"у":[{"р":25}]}],"м":[{"о":[{"н":25}]}],"п":[{"р":22}],"с":25}],"к":[{"т":33}],"р":[{"м":33}]}],"і":[{"в":[{"в":[{"і":[{"д":30}]}]}],"т":[{"ь":33}],"ш":33},33],"л":[{"а":[{"в":46,"т":46,"ч":46}]}],"р":[{"а":[{"в":46}],"и":[{"т":[{"н":46}],"я":[{"т":46}]}],"о":[{"м":[{"о":[{"ж":33},46]}]}]}],"а":[{"д":33}],"и":[{"н":33}],"о":[{"в":[{"і":[{"д":33}]}],"ж":[{"и":[{"в":33}]}],"с":[{"т":[{"е":[{"р":33}]}]}],"р":[{"т":[{"в":[{"и":[{"р":28}]}],"з":[{"а":[{"л":28}]}],"к":[{"о":[{"м":28}],"л":[{"у":[{"б":28}]}]}],"м":[{"а":[{"й":28}]}],"с":[{"м":[{"е":84}]}]}]}]}],"-":100}],"с":[{"ь":[{"к":0}],".":9,"-":100},0],"т":[{"к":0,"п":0,"с":[{"ь":0},0],"т":0,"ф":0,"ц":0,".":9,"в":[{".":13,"о":[{"р":46}]}],"й":[{".":13}],"м":[{".":13}],"р":[{".":13,"ь":[{".":14}],"а":[{"ж":[{"д":46}],"х":46}],"и":[{"б":46,"ж":46}],"о":[{"й":46,"к":46,"м":46,"ф":46,"ч":46,"ю":46,"я":46,"є":46,"ї":46}],"у":[{"к":[{"т":46,"ц":46}]}],"і":[{"й":46,"л":46,"ч":46}]}],"ь":[{".":13}],"а":[{"б":[{"і":[{"л":33}]}],"в":33,"д":33,"з":33,"й":[{"н":33}],"л":33,"н":33,"р":[{"а":33},33],"т":[{"у":[{"п":[{"р":85}]}]},33],"ч":33,"є":33}],"е":[{"п":33,"р":[{"е":[{"ж":33}],"і":[{"г":33}]}]}],"и":[{"г":33,"ж":33,"с":[{"л":33}],"т":[{"у":33}]}],"о":[{"в":[{"б":33}],"й":33,"р":[{"о":[{"н":33}],"і":[{"н":33}]}],"с":[{"о":33,"у":33}],"ю":33,"я":[{"н":33}]}],"у":[{"п":33}],"я":[{"г":33}],"і":[{"б":33,"й":33,"л":[{"ь":33}],"р":33}],"-":100}],"ш":[{"т":0,"-":100}],"к":[{".":9,"л":[{"а":[{"д":46}],"е":46,"и":[{"т":46}],"о":46}],"р":[{"и":[{"п":[{"т":46}]}]}],"и":[{"д":33}],"о":[{"к":33,"п":33,"р":[{"о":[{"ч":33}]},33],"ч":33}],"і":[{"л":[{"ь":33}],"п":[{"л":33}]}],"-":100}],"л":[{".":9,"ь":[{".":13}],"-":100}],"м":[{".":9,"-":100}],"н":[{".":9,"-":100}],"ц":[{"ь":[{".":13}],"-":100}],"у":[{"м":[{"\'":[{"я":38}]}],"п":[{"е":[{"р":[{"о":[{"б":[{"р":[{"а":[{"з":88}]}]}]}],"а":[{"в":[{"а":[{"р":[{"і":88}]}]}]}],"е":[{"ф":[{"е":[{"к":[{"т":88}]}]}]}]}]}]}],"-":100}],"ф":[{"е":[{"р":33}],"-":100}],"х":[{"и":[{"л":33}],"о":[{"в":33}],"і":[{"д":33}],"-":100}],"а":[{"н":[{"к":[{"т":82}]}],"м":[{"о":[{"у":[{"ч":54}]}]}],"-":100}],"е":[{"ї":[{"д":22}],"р":[{"ц":[{"е":[{"ї":[{"д":83}]}]}]}],"-":100}],"о":[{"р":[{"т":[{"н":22}]}],"ц":[{"і":[{"о":17}]}],"-":100}],"в":[{"о":[{"є":[{"ч":[{"а":[{"с":22}]}],"к":[{"о":[{"р":[{"и":[{"с":22}]}]}]}],"р":[{"і":[{"д":22}]}]}]}],"-":100}],"ґ":[{"-":100}],"є":[{"-":100}],"ж":[{"-":100}],"з":[{"-":100}],"и":[{"-":100}],"і":[{"-":100}],"ї":[{"-":100}],"й":[{"-":100}],"р":[{"-":100}],"ч":[{"-":100}],"щ":[{"-":100}],"ю":[{"-":100}],"я":[{"-":100}],"\'":[{"-":100}]}],"т":[{"б":[{"-":100},0],"г":[{"-":100},0],"д":[{"-":100},0],"ж":[{"-":100},0],"з":[{"т":[{".":13}],"-":100},0],"ь":[{"б":3,".":9,"с":[{"ь":[{".":14}]}],"м":[{"а":[{"р":46}],"я":[{"н":[{"і":46}]}]}],"-":100}],"с":[{"к":0,"п":0,"т":[{"в":[{".":14}]},0],"ь":[{"к":[{".":14},0]}],".":9,"-":100}],"ш":[{"к":0,"-":100}],"т":[{"я":4,"ю":4,".":9,"-":100},0],"в":[{".":9,"т":[{".":13}],"-":100}],"л":[{".":9,"ь":[{".":13}],"-":100}],"м":[{".":9,"р":[{".":13}],"-":100}],"р":[{".":9,"а":[{"н":[{"с":28}]}],"-":100}],"ц":[{".":9,"-":100}],"ч":[{".":9,"-":100}],"е":[{"х":[{"в":[{"і":[{"д":31}]}]}],"о":[{"д":[{"о":[{"л":[{"і":[{"т":34}]}]}]}],"л":[{"о":[{"г":34}]}],"с":[{"о":[{"ф":34}]}]}],"-":100}],"к":[{"н":[{"е":[{"н":46}]}],"а":[{"н":33}],"-":100}],"о":[{"р":[{"г":[{"п":[{"р":[{"е":[{"д":25}]}]}]}]}],"-":100}],"у":[{"р":[{"к":[{"м":[{"е":[{"н":25}]}]}]}],"-":100}],"а":[{"-":100}],"ґ":[{"-":100}],"є":[{"-":100}],"и":[{"-":100}],"і":[{"-":100}],"ї":[{"-":100}],"й":[{"-":100}],"н":[{"-":100}],"п":[{"-":100}],"ф":[{"-":100}],"х":[{"-":100}],"щ":[{"-":100}],"ю":[{"-":100}],"я":[{"-":100}],"\'":[{"-":100}]}],"ф":[{"б":[{"-":100},0],"г":[{"-":100},0],"з":[{"-":100},0],"с":[{"п":0,"т":[{"в":[{".":14}]},0],"ь":[{"к":0}],"-":100}],"ш":[{"т":0,"-":100}],"ф":[{".":9,"-":100},0],"м":[{".":9,"-":100}],"р":[{".":9,"-":100}],"т":[{".":9,"ь":[{".":13}],"-":100}],"ь":[{".":9,"-":100}],"і":[{"з":[{"і":[{"о":17}]}],"-":100}],"о":[{"р":[{"с":[{"т":[{"м":[{"е":[{"й":[{"с":[{"т":96}]}]}]}]}]}]}],"-":100}],"а":[{"-":100}],"в":[{"-":100}],"ґ":[{"-":100}],"д":[{"-":100}],"е":[{"-":100}],"є":[{"-":100}],"ж":[{"-":100}],"и":[{"-":100}],"ї":[{"-":100}],"й":[{"-":100}],"к":[{"-":100}],"л":[{"-":100}],"н":[{"-":100}],"п":[{"-":100}],"у":[{"-":100}],"х":[{"-":100}],"ц":[{"-":100}],"ч":[{"-":100}],"щ":[{"-":100}],"ю":[{"-":100}],"я":[{"-":100}],"\'":[{"-":100}]}],"х":[{"г":[{"-":100},0],"д":[{"-":100},0],"с":[{"т":0,"ь":[{"к":0}],"-":100}],"х":[{"-":100},0],"в":[{".":9,"о":[{"є":[{"г":[{"р":[{"и":[{"з":89}]}]}]}]}],"-":100}],"м":[{".":9,"-":100}],"н":[{".":9,"-":100}],"р":[{".":9,"-":100}],"т":[{".":9,"о":33,"-":100}],"ш":[{".":9,"-":100}],"і":[{"м":[{"і":[{"о":17}]}],"-":100}],"о":[{"к":[{"и":[{"с":[{"л":91}]}]}],"р":[{"м":[{"е":[{"й":[{"с":[{"т":16}]}]}]}]}],"-":100}],"а":[{"-":100}],"б":[{"-":100}],"ґ":[{"-":100}],"е":[{"-":100}],"є":[{"-":100}],"ж":[{"-":100}],"з":[{"-":100}],"и":[{"-":100}],"ї":[{"-":100}],"й":[{"-":100}],"к":[{"-":100}],"л":[{"-":100}],"п":[{"-":100}],"у":[{"-":100}],"ф":[{"-":100}],"ц":[{"-":100}],"ч":[{"-":100}],"щ":[{"-":100}],"ь":[{"-":100}],"ю":[{"-":100}],"я":[{"-":100}],"\'":[{"-":100}]}],"ц":[{"б":[{"-":100},0],"г":[{"-":100},0],"д":[{"-":100},0],"з":[{"-":100},0],"с":[{"т":0,"-":100}],"ш":[{"к":0,"-":100}],"ц":[{"-":100},0],"т":[{"в":[{".":13}],"-":100}],"ь":[{".":9,"к":[{".":13}],"-":100}],"у":[{"к":[{"р":[{"о":35}]}],"-":100}],"е":[{"н":[{"т":[{"р":[{"е":[{"н":[{"е":[{"р":[{"г":82}]}]}]}]}]}]}],"-":100}],"а":[{"н":[{"а":[{"л":[{"і":[{"з":91}]}]}]}],"-":100}],"в":[{"-":100}],"ґ":[{"-":100}],"є":[{"-":100}],"ж":[{"-":100}],"и":[{"-":100}],"і":[{"-":100}],"ї":[{"-":100}],"й":[{"-":100}],"к":[{"-":100}],"л":[{"-":100}],"м":[{"-":100}],"н":[{"-":100}],"о":[{"-":100}],"п":[{"-":100}],"р":[{"-":100}],"ф":[{"-":100}],"х":[{"-":100}],"ч":[{"-":100}],"щ":[{"-":100}],"ю":[{"-":100}],"я":[{"-":100}],"\'":[{"-":100}]}],"ч":[{"б":[{".":9,"-":100},0],"д":[{"-":100},0],"ж":[{"-":100},0],"ч":[{"-":100},0],"м":[{".":9,"-":100}],"н":[{".":9,"-":100}],"т":[{".":9,"-":100}],"о":[{"р":[{"н":[{"о":[{"б":[{"р":[{"и":[{"в":88}]}]}]}]}]}],"-":100}],"а":[{"-":100}],"в":[{"-":100}],"г":[{"-":100}],"ґ":[{"-":100}],"е":[{"-":100}],"є":[{"-":100}],"з":[{"-":100}],"и":[{"-":100}],"і":[{"-":100}],"ї":[{"-":100}],"й":[{"-":100}],"к":[{"-":100}],"л":[{"-":100}],"п":[{"-":100}],"р":[{"-":100}],"с":[{"-":100}],"у":[{"-":100}],"ф":[{"-":100}],"х":[{"-":100}],"ц":[{"-":100}],"ш":[{"-":100}],"щ":[{"-":100}],"ь":[{"-":100}],"ю":[{"-":100}],"я":[{"-":100}],"\'":[{"-":100}]}],"ш":[{"б":[{"-":100},0],"г":[{"-":100},0],"т":[{"к":0,"с":[{"ь":0}],".":9,"в":[{".":13}],"а":[{"б":33,"л":[{"м":[{"е":[{"й":[{"с":[{"т":25}]}]}]}]}]}],"у":[{"ч":33}],"-":100}],"ш":[{"-":100},0],"в":[{".":9,"-":100}],"л":[{"ь":[{".":13}],"-":100}],"м":[{".":9,"-":100}],"н":[{".":9,"л":[{".":13}],"-":100}],"с":[{"ь":[{".":13}],"-":100}],"к":[{"о":[{"д":33,"л":33}],"і":[{"д":[{"л":33}],"л":33,"р":33}],"-":100}],"а":[{"п":[{"і":[{"т":[{"м":[{"е":[{"й":[{"с":[{"т":28}]}]}]}]}]}]}],"-":100}],"ґ":[{"-":100}],"д":[{"-":100}],"е":[{"-":100}],"є":[{"-":100}],"ж":[{"-":100}],"з":[{"-":100}],"и":[{"-":100}],"і":[{"-":100}],"ї":[{"-":100}],"й":[{"-":100}],"о":[{"-":100}],"п":[{"-":100}],"р":[{"-":100}],"у":[{"-":100}],"ф":[{"-":100}],"х":[{"-":100}],"ц":[{"-":100}],"ч":[{"-":100}],"щ":[{"-":100}],"ь":[{"-":100}],"ю":[{"-":100}],"я":[{"-":100}],"\'":[{"-":100}]}],"й":[{"б":[{".":9,"-":100},0],"в":[{".":9,"-":100},0],"г":[{".":9,"-":100},0],"д":[{".":9,"-":100},0],"ж":[{"-":100},0],"з":[{".":9,"-":100},0],"к":[{".":9,"л":[{".":13}],"-":100},0],"л":[{".":9,"ь":[{".":13}],"-":100},0],"м":[{".":9,"с":[{".":13}],"а":33,"е":[{"н":[{"н":33}]}],"и":[{"щ":33}],"о":[{"в":[{"і":[{"р":[{"н":33}]}]}]}],"у":[{".":33,"т":[{"ь":33}]}],"і":[{"т":[{"ь":33}]}],"-":100},0],"н":[{".":9,"с":[{".":13}],"-":100},0],"п":[{".":9,"-":100},0],"р":[{".":9,"-":100},0],"с":[{".":9,"т":[{".":13,"в":[{".":14}],"р":[{".":14}]}],"ь":[{".":13,"к":[{".":14}]}],"-":100},0],"т":[{".":9,"с":[{".":13}],"-":100},0],"ф":[{".":9,"-":100},0],"х":[{".":9,"-":100},0],"ц":[{".":9,"-":100},0],"ч":[{".":9,"-":100},0],"ш":[{".":9,"л":46,"о":[{"в":33}],"-":100},0],"щ":[{"-":100},0],"й":[{"-":100},0],"о":[{"с":[{"в":[{"і":34}]}],"-":100},7],"у":[{"б":[{"о":[{"г":91}]}],"-":100}],"е":[{"с":[{"т":[{"е":[{"т":91}]}]}],"-":100}],"а":[{"-":100}],"ґ":[{"-":100}],"є":[{"-":100}],"и":[{"-":100}],"і":[{"-":100}],"ї":[{"-":100}],"ь":[{"-":100}],"ю":[{"-":100}],"я":[{"-":100}],"\'":[{"-":100}]}],"ґ":[{"ґ":[{"-":100},0],"р":[{"у":[{"н":[{"т":4}]}],"-":100}],"а":[{"-":100}],"б":[{"-":100}],"в":[{"-":100}],"г":[{"-":100}],"д":[{"-":100}],"е":[{"-":100}],"є":[{"-":100}],"ж":[{"-":100}],"з":[{"-":100}],"и":[{"-":100}],"і":[{"-":100}],"ї":[{"-":100}],"й":[{"-":100}],"к":[{"-":100}],"л":[{"-":100}],"м":[{"-":100}],"н":[{"-":100}],"о":[{"-":100}],"п":[{"-":100}],"с":[{"-":100}],"т":[{"-":100}],"у":[{"-":100}],"ф":[{"-":100}],"х":[{"-":100}],"ц":[{"-":100}],"ч":[{"-":100}],"ш":[{"-":100}],"щ":[{"-":100}],"ь":[{"-":100}],"ю":[{"-":100}],"я":[{"-":100}],"\'":[{"-":100}]}],"щ":[{"щ":[{"-":100},0],"с":[{"ь":[{".":13}],"-":100}],"а":[{"-":100}],"б":[{"-":100}],"в":[{"-":100}],"г":[{"-":100}],"ґ":[{"-":100}],"д":[{"-":100}],"е":[{"-":100}],"є":[{"-":100}],"ж":[{"-":100}],"з":[{"-":100}],"и":[{"-":100}],"і":[{"-":100}],"ї":[{"-":100}],"й":[{"-":100}],"к":[{"-":100}],"л":[{"-":100}],"м":[{"-":100}],"н":[{"-":100}],"о":[{"-":100}],"п":[{"-":100}],"р":[{"-":100}],"т":[{"-":100}],"у":[{"-":100}],"ф":[{"-":100}],"х":[{"-":100}],"ц":[{"-":100}],"ч":[{"-":100}],"ш":[{"-":100}],"ь":[{"-":100}],"ю":[{"-":100}],"я":[{"-":100}],"\'":[{"-":100}]}],"ь":[{"о":[{"-":100},8],"а":[{"-":100}],"б":[{"-":100}],"в":[{"-":100}],"г":[{"-":100}],"ґ":[{"-":100}],"д":[{"-":100}],"е":[{"-":100}],"є":[{"-":100}],"ж":[{"-":100}],"з":[{"-":100}],"и":[{"-":100}],"і":[{"-":100}],"ї":[{"-":100}],"й":[{"-":100}],"к":[{"-":100}],"л":[{"-":100}],"м":[{"-":100}],"н":[{"-":100}],"п":[{"-":100}],"р":[{"-":100}],"с":[{"-":100}],"т":[{"-":100}],"у":[{"-":100}],"ф":[{"-":100}],"х":[{"-":100}],"ц":[{"-":100}],"ч":[{"-":100}],"ш":[{"-":100}],"щ":[{"-":100}],"ь":[{"-":100}],"ю":[{"-":100}],"я":[{"-":100}],"\'":[{"-":100}]},9],"\'":[{"ї":[{"в":34,"з":34,"д":34,"ж":34,"л":34,"м":34,"с":34,"х":34,"-":100}],"а":[{"-":100}],"б":[{"-":100}],"в":[{"-":100}],"г":[{"-":100}],"ґ":[{"-":100}],"д":[{"-":100}],"е":[{"-":100}],"є":[{"-":100}],"ж":[{"-":100}],"з":[{"-":100}],"и":[{"-":100}],"і":[{"-":100}],"й":[{"-":100}],"к":[{"-":100}],"л":[{"-":100}],"м":[{"-":100}],"н":[{"-":100}],"о":[{"-":100}],"п":[{"-":100}],"р":[{"-":100}],"с":[{"-":100}],"т":[{"-":100}],"у":[{"-":100}],"ф":[{"-":100}],"х":[{"-":100}],"ц":[{"-":100}],"ч":[{"-":100}],"ш":[{"-":100}],"щ":[{"-":100}],"ь":[{"-":100}],"ю":[{"-":100}],"я":[{"-":100}],"\'":[{"-":100}]},9],".":[{"б":[{"\'":10,"д":11,"р":11,"е":[{"з":[{"\'":15,"у":17,"о":[{"д":18,"с":[{"о":[{"б":19}]}]}],"в":[{"і":[{"д":20}]}],"р":[{"о":[{"з":21}]}],"е":[{".":50}]},16]}],"л":[{"і":[{"ц":[{"а":[{"н":[{"а":25}]}],"к":[{"р":[{"и":[{"г":25}]}]}],"о":[{"п":[{"и":[{"т":25}]}]}],"т":[{"о":[{"р":[{"г":25}]}],"у":[{"р":25}]}],"і":[{"с":[{"п":[{"и":[{"т":89}]}]}]}]}]}]}],"-":10}],"в":[{"\'":10,"б":[{"\'":12},11],"в":[{"\'":12}],"г":11,"д":11,"ж":11,"з":[{"д":12},11],"к":11,"л":11,"м":[{"\'":12},11],"п":[{"\'":12,"х":12},11],"с":[{"т":12},11],"т":11,"ш":[{"к":12}],"і":[{"д":[{"о":[{"м":23,"з":[{"в":23}]}],"у":[{"н":23}],"а":23,"е":[{"р":23}],"і":[{"м":[{"р":54}]},23],"\'":24},16]}],"и":[{"в":[{"ч":41}],"м":[{"р":41}]}],"-":10}],"д":[{"\'":10,"ж":11,"з":11,"л":11,"с":11,"о":[{"ї":[{"в":22,"л":[{"ь":67},22]}],"в":[{"ч":41}]}],"-":10}],"з":[{"\'":10,"б":11,"в":[{"\'":12}],"г":11,"д":[{"з":12},11],"л":11,"м":[{"\'":12}],"с":[{"к":12,"т":12},11],"ч":11,"ш":[{"к":12},11],"ґ":11,"а":[{"ї":[{"к":22,"ц":22,"ч":22}],"в":[{"ч":41,"м":[{"р":71}]}],"м":[{"р":41}]}],"і":[{"м":[{"р":41}]}],"-":10}],"м":[{"\'":10,"с":11,"ф":11,"і":[{"ж":16}],"-":10}],"н":[{"\'":10,"б":11,"а":[{"п":[{"і":[{"в":28}]}],"ї":[{"д":22}],"в":[{"ч":41}],"м":[{"р":41}]}],"-":10}],"п":[{"\'":10,"р":[{"и":[{"в":[{"ч":71}],"м":[{"р":71}]}]},11],"с":11,"х":11,"е":[{"р":[{"е":[{"д":[{"б":[{"а":[{"ч":28}]}],"в":[{"и":[{"б":28}]}],"г":28,"д":28,"м":28,"о":[{"с":[{"т":28}]}],"п":[{"л":[{"а":28}],"о":[{"к":28}]}],"р":28,"с":[{"в":28}],"у":[{"м":[{"о":[{"в":28}]}],"с":[{"і":28}]}],"ф":[{"р":28}],"ч":28,"\'":27}],"м":[{"р":54}]},24]}],"о":[{"м":[{".":34}]}]}],"о":[{"н":[{"а":[{"д":[{"і":32,"и":32,"я":32},28]}]}],"ї":22,"в":[{"ч":41}],"м":[{"р":41}]}],"і":[{"д":[{"о":23,"і":23,"\'":24,"е":23,"и":23,"у":23},16],"в":16}],"-":10}],"р":[{"\'":10,"т":11,"о":[{"з":[{"і":23,"е":23,"а":23,"\'":15,"м":[{"р":71}]},16]}],"-":10}],"т":[{"\'":10,"к":11,"р":11,"х":11,"ь":11,"-":10}],"ф":[{"\'":10,"л":11,"-":10}],"ш":[{"\'":10,"к":11,"л":11,"п":11,"т":11,"-":10}],"й":[{"ш":11,"-":10}],"к":[{"л":11,"п":11,"с":11,"х":11,"ш":11,"-":10}],"л":[{"к":[{"с":12}],"с":11,"ь":11,"-":10}],"с":[{"к":[{"л":12},11],"л":11,"п":[{"\'":12,"л":12,"х":12,"і":[{"в":25}]},11],"т":11,"х":[{"л":12},11],"-":10}],"х":[{"л":11,"-":10}],"ц":[{"ь":11,"-":10}],"ч":[{"х":11,"е":[{"р":[{"е":[{"з":[{"\'":27},28]}]}]}],"-":10}],"о":[{"м":[{"р":[{"і":34}]}],"-":10}],"у":[{"м":[{"р":[{"и":34,"і":34,"у":34,"е":34}]}],"-":10}],"а":[{"-":10}],"г":[{"-":10}],"ґ":[{"-":10}],"е":[{"-":10}],"є":[{"-":10}],"ж":[{"-":10}],"и":[{"-":10}],"і":[{"-":10}],"ї":[{"-":10}],"щ":[{"-":10}],"ь":[{"-":10}],"ю":[{"-":10}],"я":[{"-":10}],"\'":[{"-":10}]}],"-":[{"-":10,"а":[{"а":99,"б":99,"в":99,"г":99,"ґ":99,"д":99,"е":99,"є":99,"ж":99,"з":99,"и":99,"і":99,"ї":99,"й":99,"к":99,"л":99,"м":99,"н":99,"о":99,"п":99,"р":99,"с":99,"т":99,"у":99,"ф":99,"х":99,"ц":99,"ч":99,"ш":99,"щ":99,"ь":99,"ю":99,"я":99,"\'":99}],"б":[{"а":99,"б":99,"в":99,"г":99,"ґ":99,"д":99,"е":99,"є":99,"ж":99,"з":99,"и":99,"і":99,"ї":99,"й":99,"к":99,"л":99,"м":99,"н":99,"о":99,"п":99,"р":99,"с":99,"т":99,"у":99,"ф":99,"х":99,"ц":99,"ч":99,"ш":99,"щ":99,"ь":99,"ю":99,"я":99,"\'":99}],"в":[{"а":99,"б":99,"в":99,"г":99,"ґ":99,"д":99,"е":99,"є":99,"ж":99,"з":99,"и":99,"і":99,"ї":99,"й":99,"к":99,"л":99,"м":99,"н":99,"о":99,"п":99,"р":99,"с":99,"т":99,"у":99,"ф":99,"х":99,"ц":99,"ч":99,"ш":99,"щ":99,"ь":99,"ю":99,"я":99,"\'":99}],"г":[{"а":99,"б":99,"в":99,"г":99,"ґ":99,"д":99,"е":99,"є":99,"ж":99,"з":99,"и":99,"і":99,"ї":99,"й":99,"к":99,"л":99,"м":99,"н":99,"о":99,"п":99,"р":99,"с":99,"т":99,"у":99,"ф":99,"х":99,"ц":99,"ч":99,"ш":99,"щ":99,"ь":99,"ю":99,"я":99,"\'":99}],"ґ":[{"а":99,"б":99,"в":99,"г":99,"ґ":99,"д":99,"е":99,"є":99,"ж":99,"з":99,"и":99,"і":99,"ї":99,"й":99,"к":99,"л":99,"м":99,"н":99,"о":99,"п":99,"р":99,"с":99,"т":99,"у":99,"ф":99,"х":99,"ц":99,"ч":99,"ш":99,"щ":99,"ь":99,"ю":99,"я":99,"\'":99}],"д":[{"а":99,"б":99,"в":99,"г":99,"ґ":99,"д":99,"е":99,"є":99,"ж":99,"з":99,"и":99,"і":99,"ї":99,"й":99,"к":99,"л":99,"м":99,"н":99,"о":99,"п":99,"р":99,"с":99,"т":99,"у":99,"ф":99,"х":99,"ц":99,"ч":99,"ш":99,"щ":99,"ь":99,"ю":99,"я":99,"\'":99}],"е":[{"а":99,"б":99,"в":99,"г":99,"ґ":99,"д":99,"е":99,"є":99,"ж":99,"з":99,"и":99,"і":99,"ї":99,"й":99,"к":99,"л":99,"м":99,"н":99,"о":99,"п":99,"р":99,"с":99,"т":99,"у":99,"ф":99,"х":99,"ц":99,"ч":99,"ш":99,"щ":99,"ь":99,"ю":99,"я":99,"\'":99}],"є":[{"а":99,"б":99,"в":99,"г":99,"ґ":99,"д":99,"е":99,"є":99,"ж":99,"з":99,"и":99,"і":99,"ї":99,"й":99,"к":99,"л":99,"м":99,"н":99,"о":99,"п":99,"р":99,"с":99,"т":99,"у":99,"ф":99,"х":99,"ц":99,"ч":99,"ш":99,"щ":99,"ь":99,"ю":99,"я":99,"\'":99}],"ж":[{"а":99,"б":99,"в":99,"г":99,"ґ":99,"д":99,"е":99,"є":99,"ж":99,"з":99,"и":99,"і":99,"ї":99,"й":99,"к":99,"л":99,"м":99,"н":99,"о":99,"п":99,"р":99,"с":99,"т":99,"у":99,"ф":99,"х":99,"ц":99,"ч":99,"ш":99,"щ":99,"ь":99,"ю":99,"я":99,"\'":99}],"з":[{"а":99,"б":99,"в":99,"г":99,"ґ":99,"д":99,"е":99,"є":99,"ж":99,"з":99,"и":99,"і":99,"ї":99,"й":99,"к":99,"л":99,"м":99,"н":99,"о":99,"п":99,"р":99,"с":99,"т":99,"у":99,"ф":99,"х":99,"ц":99,"ч":99,"ш":99,"щ":99,"ь":99,"ю":99,"я":99,"\'":99}],"и":[{"а":99,"б":99,"в":99,"г":99,"ґ":99,"д":99,"е":99,"є":99,"ж":99,"з":99,"и":99,"і":99,"ї":99,"й":99,"к":99,"л":99,"м":99,"н":99,"о":99,"п":99,"р":99,"с":99,"т":99,"у":99,"ф":99,"х":99,"ц":99,"ч":99,"ш":99,"щ":99,"ь":99,"ю":99,"я":99,"\'":99}],"і":[{"а":99,"б":99,"в":99,"г":99,"ґ":99,"д":99,"е":99,"є":99,"ж":99,"з":99,"и":99,"і":99,"ї":99,"й":99,"к":99,"л":99,"м":99,"н":99,"о":99,"п":99,"р":99,"с":99,"т":99,"у":99,"ф":99,"х":99,"ц":99,"ч":99,"ш":99,"щ":99,"ь":99,"ю":99,"я":99,"\'":99}],"ї":[{"а":99,"б":99,"в":99,"г":99,"ґ":99,"д":99,"е":99,"є":99,"ж":99,"з":99,"и":99,"і":99,"ї":99,"й":99,"к":99,"л":99,"м":99,"н":99,"о":99,"п":99,"р":99,"с":99,"т":99,"у":99,"ф":99,"х":99,"ц":99,"ч":99,"ш":99,"щ":99,"ь":99,"ю":99,"я":99,"\'":99}],"й":[{"а":99,"б":99,"в":99,"г":99,"ґ":99,"д":99,"е":99,"є":99,"ж":99,"з":99,"и":99,"і":99,"ї":99,"й":99,"к":99,"л":99,"м":99,"н":99,"о":99,"п":99,"р":99,"с":99,"т":99,"у":99,"ф":99,"х":99,"ц":99,"ч":99,"ш":99,"щ":99,"ь":99,"ю":99,"я":99,"\'":99}],"к":[{"а":99,"б":99,"в":99,"г":99,"ґ":99,"д":99,"е":99,"є":99,"ж":99,"з":99,"и":99,"і":99,"ї":99,"й":99,"к":99,"л":99,"м":99,"н":99,"о":99,"п":99,"р":99,"с":99,"т":99,"у":99,"ф":99,"х":99,"ц":99,"ч":99,"ш":99,"щ":99,"ь":99,"ю":99,"я":99,"\'":99}],"л":[{"а":99,"б":99,"в":99,"г":99,"ґ":99,"д":99,"е":99,"є":99,"ж":99,"з":99,"и":99,"і":99,"ї":99,"й":99,"к":99,"л":99,"м":99,"н":99,"о":99,"п":99,"р":99,"с":99,"т":99,"у":99,"ф":99,"х":99,"ц":99,"ч":99,"ш":99,"щ":99,"ь":99,"ю":99,"я":99,"\'":99}],"м":[{"а":99,"б":99,"в":99,"г":99,"ґ":99,"д":99,"е":99,"є":99,"ж":99,"з":99,"и":99,"і":99,"ї":99,"й":99,"к":99,"л":99,"м":99,"н":99,"о":99,"п":99,"р":99,"с":99,"т":99,"у":99,"ф":99,"х":99,"ц":99,"ч":99,"ш":99,"щ":99,"ь":99,"ю":99,"я":99,"\'":99}],"н":[{"а":99,"б":99,"в":99,"г":99,"ґ":99,"д":99,"е":99,"є":99,"ж":99,"з":99,"и":99,"і":99,"ї":99,"й":99,"к":99,"л":99,"м":99,"н":99,"о":99,"п":99,"р":99,"с":99,"т":99,"у":99,"ф":99,"х":99,"ц":99,"ч":99,"ш":99,"щ":99,"ь":99,"ю":99,"я":99,"\'":99}],"о":[{"а":99,"б":99,"в":99,"г":99,"ґ":99,"д":99,"е":99,"є":99,"ж":99,"з":99,"и":99,"і":99,"ї":99,"й":99,"к":99,"л":99,"м":99,"н":99,"о":99,"п":99,"р":99,"с":99,"т":99,"у":99,"ф":99,"х":99,"ц":99,"ч":99,"ш":99,"щ":99,"ь":99,"ю":99,"я":99,"\'":99}],"п":[{"а":99,"б":99,"в":99,"г":99,"ґ":99,"д":99,"е":99,"є":99,"ж":99,"з":99,"и":99,"і":99,"ї":99,"й":99,"к":99,"л":99,"м":99,"н":99,"о":99,"п":99,"р":99,"с":99,"т":99,"у":99,"ф":99,"х":99,"ц":99,"ч":99,"ш":99,"щ":99,"ь":99,"ю":99,"я":99,"\'":99}],"р":[{"а":99,"б":99,"в":99,"г":99,"ґ":99,"д":99,"е":99,"є":99,"ж":99,"з":99,"и":99,"і":99,"ї":99,"й":99,"к":99,"л":99,"м":99,"н":99,"о":99,"п":99,"р":99,"с":99,"т":99,"у":99,"ф":99,"х":99,"ц":99,"ч":99,"ш":99,"щ":99,"ь":99,"ю":99,"я":99,"\'":99}],"с":[{"а":99,"б":99,"в":99,"г":99,"ґ":99,"д":99,"е":99,"є":99,"ж":99,"з":99,"и":99,"і":99,"ї":99,"й":99,"к":99,"л":99,"м":99,"н":99,"о":99,"п":99,"р":99,"с":99,"т":99,"у":99,"ф":99,"х":99,"ц":99,"ч":99,"ш":99,"щ":99,"ь":99,"ю":99,"я":99,"\'":99}],"т":[{"а":99,"б":99,"в":99,"г":99,"ґ":99,"д":99,"е":99,"є":99,"ж":99,"з":99,"и":99,"і":99,"ї":99,"й":99,"к":99,"л":99,"м":99,"н":99,"о":99,"п":99,"р":99,"с":99,"т":99,"у":99,"ф":99,"х":99,"ц":99,"ч":99,"ш":99,"щ":99,"ь":99,"ю":99,"я":99,"\'":99}],"у":[{"а":99,"б":99,"в":99,"г":99,"ґ":99,"д":99,"е":99,"є":99,"ж":99,"з":99,"и":99,"і":99,"ї":99,"й":99,"к":99,"л":99,"м":99,"н":99,"о":99,"п":99,"р":99,"с":99,"т":99,"у":99,"ф":99,"х":99,"ц":99,"ч":99,"ш":99,"щ":99,"ь":99,"ю":99,"я":99,"\'":99}],"ф":[{"а":99,"б":99,"в":99,"г":99,"ґ":99,"д":99,"е":99,"є":99,"ж":99,"з":99,"и":99,"і":99,"ї":99,"й":99,"к":99,"л":99,"м":99,"н":99,"о":99,"п":99,"р":99,"с":99,"т":99,"у":99,"ф":99,"х":99,"ц":99,"ч":99,"ш":99,"щ":99,"ь":99,"ю":99,"я":99,"\'":99}],"х":[{"а":99,"б":99,"в":99,"г":99,"ґ":99,"д":99,"е":99,"є":99,"ж":99,"з":99,"и":99,"і":99,"ї":99,"й":99,"к":99,"л":99,"м":99,"н":99,"о":99,"п":99,"р":99,"с":99,"т":99,"у":99,"ф":99,"х":99,"ц":99,"ч":99,"ш":99,"щ":99,"ь":99,"ю":99,"я":99,"\'":99}],"ц":[{"а":99,"б":99,"в":99,"г":99,"ґ":99,"д":99,"е":99,"є":99,"ж":99,"з":99,"и":99,"і":99,"ї":99,"й":99,"к":99,"л":99,"м":99,"н":99,"о":99,"п":99,"р":99,"с":99,"т":99,"у":99,"ф":99,"х":99,"ц":99,"ч":99,"ш":99,"щ":99,"ь":99,"ю":99,"я":99,"\'":99}],"ч":[{"а":99,"б":99,"в":99,"г":99,"ґ":99,"д":99,"е":99,"є":99,"ж":99,"з":99,"и":99,"і":99,"ї":99,"й":99,"к":99,"л":99,"м":99,"н":99,"о":99,"п":99,"р":99,"с":99,"т":99,"у":99,"ф":99,"х":99,"ц":99,"ч":99,"ш":99,"щ":99,"ь":99,"ю":99,"я":99,"\'":99}],"ш":[{"а":99,"б":99,"в":99,"г":99,"ґ":99,"д":99,"е":99,"є":99,"ж":99,"з":99,"и":99,"і":99,"ї":99,"й":99,"к":99,"л":99,"м":99,"н":99,"о":99,"п":99,"р":99,"с":99,"т":99,"у":99,"ф":99,"х":99,"ц":99,"ч":99,"ш":99,"щ":99,"ь":99,"ю":99,"я":99,"\'":99}],"щ":[{"а":99,"б":99,"в":99,"г":99,"ґ":99,"д":99,"е":99,"є":99,"ж":99,"з":99,"и":99,"і":99,"ї":99,"й":99,"к":99,"л":99,"м":99,"н":99,"о":99,"п":99,"р":99,"с":99,"т":99,"у":99,"ф":99,"х":99,"ц":99,"ч":99,"ш":99,"щ":99,"ь":99,"ю":99,"я":99,"\'":99}],"ь":[{"а":99,"б":99,"в":99,"г":99,"ґ":99,"д":99,"е":99,"є":99,"ж":99,"з":99,"и":99,"і":99,"ї":99,"й":99,"к":99,"л":99,"м":99,"н":99,"о":99,"п":99,"р":99,"с":99,"т":99,"у":99,"ф":99,"х":99,"ц":99,"ч":99,"ш":99,"щ":99,"ь":99,"ю":99,"я":99,"\'":99}],"ю":[{"а":99,"б":99,"в":99,"г":99,"ґ":99,"д":99,"е":99,"є":99,"ж":99,"з":99,"и":99,"і":99,"ї":99,"й":99,"к":99,"л":99,"м":99,"н":99,"о":99,"п":99,"р":99,"с":99,"т":99,"у":99,"ф":99,"х":99,"ц":99,"ч":99,"ш":99,"щ":99,"ь":99,"ю":99,"я":99,"\'":99}],"я":[{"а":99,"б":99,"в":99,"г":99,"ґ":99,"д":99,"е":99,"є":99,"ж":99,"з":99,"и":99,"і":99,"ї":99,"й":99,"к":99,"л":99,"м":99,"н":99,"о":99,"п":99,"р":99,"с":99,"т":99,"у":99,"ф":99,"х":99,"ц":99,"ч":99,"ш":99,"щ":99,"ь":99,"ю":99,"я":99,"\'":99}],"\'":[{"а":99,"б":99,"в":99,"г":99,"ґ":99,"д":99,"е":99,"є":99,"ж":99,"з":99,"и":99,"і":99,"ї":99,"й":99,"к":99,"л":99,"м":99,"н":99,"о":99,"п":99,"р":99,"с":99,"т":99,"у":99,"ф":99,"х":99,"ц":99,"ч":99,"ш":99,"щ":99,"ь":99,"ю":99,"я":99,"\'":99}]},98]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/1136.adapter.js b/public/tools/cloud_sheets/vendor/univer/1136.adapter.js new file mode 100644 index 0000000..3349749 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/1136.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[1136],{1136(e,s,o){o.r(s),o.d(s,{Es:()=>a});const a=["1,4,02,2,21,04,002,202,232,00045,000045,0102,0012,22,0034,40004,004,5,43,403,443,4303,4303003,054,0543,44,00001,000012,0022,0003,003,0032,,0005,00003,00004,00032,000001,0000012,000023,0000002,0000043,000003,000004,043,0023,001,0000001,00000012,00002,04003,00043,000434,0001,00012,000005,423,42,0043,00202,3,00234,0004,00303,002304,0222,0000212,00343,0000343,003003,0030023,0034030023,430303,440454,003034,000034,00004444,000005005,000054,000034004,0002,00434,00000003,005,000006,03,23,32,00414,0041,000043,0000004,000222,0303,000303,00023,00022,200001,2000012,00222,0045,00212,0021,0000344,4343,0054,00000056,0006,000202,000323,0000202,000021,0000303",'{"b":[{".":1,"b":3,"c":[{"t":8,"n":8,"z":8},3],"d":3,"f":[{"t":8},3],"g":[{"n":8},3],"h":4,"j":3,"k":3,"m":[{"n":8},3],"n":3,"p":[{"t":8,"s":8,"n":8},3],"q":3,"s":3,"t":[{"z":8,"s":8},3],"v":3,"w":3,"x":3,"y":3,"z":3,"l":[{".":1,"b":7,"c":7,"d":7,"f":7,"g":7,"h":7,"j":7,"k":7,"l":7,"m":7,"n":7,"p":7,"q":7,"r":7,"s":7,"t":7,"v":7,"w":7,"x":7,"y":7,"z":7},2],"r":[{".":1,"b":7,"c":7,"d":7,"f":7,"g":7,"h":7,"j":7,"k":7,"l":7,"m":7,"n":7,"p":7,"q":7,"r":7,"s":7,"t":7,"v":7,"w":7,"x":7,"y":7,"z":7},2],"i":[{"b":[{"l":[{"i":[{"o":[{"h":47,"a":48,"e":48,"i":48,"o":48,"u":48,"á":48,"é":48,"í":48,"ó":48,"ú":48}]}]}]}],"e":[{"n":[{"h":34,"v":34,"q":34,"m":34,"t":34,"d":[{"o":[{".":50}],"a":[{"s":[{".":50}]}]}]},49]}],"o":[{"h":53,"a":54,"e":54,"i":54,"o":54,"u":54,"á":54,"é":54,"í":54,"ó":54,"ú":54}],"u":[{"n":[{"í":12}]}]}]},0],".":[{"b":[{"i":[{"a":[{"n":[{"u":[{"a":[{"l":46}]}]}],"u":[{"r":46}]}],"o":[{"x":46}],"ó":[{"x":12}],"u":[{"n":46}],"e":[{"n":[{"a":[{"n":[{"d":51}],"p":[{"a":52}],"v":[{"e":52}]}],"e":[{"s":[{"t":51}]}],"i":[{"n":[{"t":51}]}],"o":[{"l":[{"i":[{"e":52}]}]}]}]}]}]},2],"c":[{"o":[{"a":[{"c":[{"r":[{"e":[{"e":30}]}]}],"g":[{"e":[{"n":30}],"u":[{"l":29}]}],"l":[{"i":[{"c":29}]}],"r":[{"r":[{"e":[{"n":[{"d":30}]}]}]}],"u":[{"t":[{"o":30}]}]},28],"e":[{"d":[{"i":[{"c":30,"t":30}],"u":[{"c":30}]}],"f":[{"i":[{"c":[{"i":30}]}]}],"t":[{"á":29}],"x":[{"i":[{"s":30}]}]},28],"i":[{"m":[{"p":[{"u":[{"t":30}]}]}],"t":[{"o":29}]},28],"o":[{"p":[{"e":[{"r":58}],"é":[{"r":58}],"t":16}],"r":[{"d":[{"e":[{"n":16}],"i":[{"n":16}],"í":[{"n":16}]}]}]},14],"u":28,"á":[{"g":[{"u":[{"l":29}]}]},28],"é":28,"í":28,"ó":[{"p":[{"t":16}]},28],"ú":28,"n":[{"u":[{"r":[{"b":6}]}]}]}],"a":[{"u":[{"t":33}]}]},2],"d":[{"e":[{"s":[{"a":59,"e":59,"i":[{"n":[{"t":[{"e":[{"r":[{"e":[{"s":[{"a":71,"e":71,"o":71,"á":71,"é":71,"ó":71}]}]}]}]}]}]},59],"o":59,"u":59,"á":59,"é":59,"í":59,"ó":59,"ú":59}],"u":[{"t":33}]}],"i":[{"e":[{"c":[{"i":[{"o":40}]}]}]}]},2],"f":2,"g":2,"j":2,"k":2,"l":2,"m":[{"a":[{"l":[{"e":[{"d":[{"u":81}],"s":[{"t":53}]}],"a":[{"c":[{"o":[{"n":53,"s":53}]}],"e":26,"n":[{"d":[{"a":[{"n":[{"t":53,"z":53}]}]}]}]}],"i":[{"n":[{"t":53}]}]}]}],"i":[{"l":[{"i":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}]}]},2],"n":2,"p":[{"a":[{"n":[{"a":[{"m":[{"e":[{"r":[{"i":88}]}]}],"f":[{"r":[{"i":89}]}]}],"e":[{"u":[{"r":[{"o":[{"p":89}]}]}]}],"h":[{"i":[{"s":[{"p":89}]}]}],"ó":[{"p":[{"t":[{"i":89}]}]}]}]}],"o":[{"s":[{"t":[{"a":92,"e":[{"r":[{"g":29,"i":94}],"l":[{"e":[{"c":34}]}]},92],"i":[{"n":[{"e":94,"d":34},29],"g":[{"o":94}],"l":[{"a":94}],"z":[{"a":94,"o":94}],"m":[{"p":[{"r":34}]}]},92],"o":[{"p":[{"e":34}]},92],"u":[{"r":[{"a":94}],"l":[{"a":94,"á":94,"e":94,"é":94}]},92],"á":92,"é":92,"í":[{"n":29},92],"ó":[{"n":[{"i":94}]},92],"ú":92,"r":[{"e":[{"v":95}],"o":[{"m":95}]}]}]}]}],"r":[{"e":[{"a":96,"e":96,"i":96,"o":96,"u":96,"á":96,"é":96,"í":96,"ó":96,"ú":96,"h":54}],"o":[{"a":[{"b":[{"o":[{"r":[{"t":29}]}]}]},96],"e":96,"i":96,"o":96,"u":96,"á":96,"é":96,"í":96,"ó":96,"ú":96}]}]},2],"q":2,"r":[{"e":[{"i":[{"n":[{"a":29,"c":30,"g":30,"s":30,"t":30}],"m":31},28],"a":[{"b":[{"r":30}],"f":[{"i":[{"r":[{"m":30}]}],"í":[{"r":[{"m":30}]}]}],"j":[{"u":[{"s":[{"t":30}]}],"ú":[{"s":[{"t":29}]}]}],"l":[{"i":[{"z":[{"a":29,"á":29}],"m":30,"s":[{"m":29,"t":29}]}],"í":[{"z":[{"a":29}]}]}],"n":[{"i":[{"m":30}],"í":[{"m":30}]}],"p":[{"a":[{"r":[{"e":[{"c":30}]}]}]}],"e":[{"g":31}],"q":31,"z":31,"g":[{"r":[{"u":[{"p":31}]}]}]},28],"e":14,"o":[{"b":31,"c":30,"j":30,"r":[{"g":[{"a":30}]}]},28],"u":[{"b":[{"i":[{"c":[{"a":30}]}],"í":[{"c":[{"a":30}]}]}],"m":[{"a":[{"t":[{"i":29}]}],"á":[{"t":[{"i":29}]}]}],"n":[{"i":[{"r":30}],"í":[{"r":30}],"t":30}],"s":[{"a":[{"r":30}],"á":[{"r":30}]}],"t":[{"i":[{"l":[{"i":[{"z":30}],"í":[{"z":30}]}]}]}]},28],"á":[{"b":[{"r":30}]},28],"é":28,"í":28,"ó":28,"ú":28}]},2],"s":[{"u":[{"b":[{"i":[{"e":[{"n":14}],"l":[{"l":95}],"m":[{"i":[{"e":[{"n":95}]}]}],"n":[{"s":[{"p":29}]}],"é":[{"n":30}],"r":30},99],"a":[{"f":[{"l":[{"u":[{"e":29}]}]}],"r":[{"r":29}],"l":[{"t":[{"e":[{"r":29}]}]}],"m":30,"c":[{"u":[{"á":29}]}]},99],"e":[{"n":[{"t":[{"e":[{"n":29}]}]}],"s":[{"t":[{"i":[{"m":29}],"í":[{"m":29}],"a":29}],"p":[{"e":29}]}]},99],"o":[{"f":[{"i":[{"c":[{"i":29}]}]}],"r":[{"d":[{"i":[{"n":30}],"í":[{"n":30}]}]}]},99],"u":[{"r":[{"b":[{"a":29,"i":30}]}]},99],"á":99,"é":99,"í":[{"n":[{"d":29}],"m":[{"i":29}]},99],"ó":99,"ú":99,"r":[{"a":[{"y":58}],"e":[{"i":[{"n":100}]}]}]}],"d":[{"a":[{"f":[{"r":101}],"m":[{"e":101}]}],"e":[{"s":[{"t":[{"e":102}]}]}]}],"r":[{"a":[{"m":[{"e":101}]}],"e":[{"s":[{"t":102}]}],"o":[{"e":[{"s":102}]}]}]}],"o":[{"a":[{"s":14}]}]},2],"t":[{"e":[{"l":[{"e":[{"i":[{"m":[{"p":26}]}],"o":[{"b":[{"j":26}],"l":[{"ó":[{"t":90}]}]}]}]}]}],"r":[{"a":[{"s":[{"a":108,"e":108,"i":108,"o":[{"ñ":109},108],"u":108,"á":108,"é":108,"í":108,"ó":108,"ú":108}]}],"i":[{"ó":[{"x":54}]}]}]},2],"v":2,"w":2,"x":2,"y":2,"z":2,"h":[{"u":[{"m":[{"e":[{"a":16,"o":16}]}]}],"e":[{"m":[{"e":[{"e":16}]}],"p":[{"t":[{"a":[{"e":37}]}]}]}]}],"a":[{"n":[{"a":[{"l":[{"i":29}],"e":[{"r":[{"o":30}]}]},28],"e":[{"p":[{"i":[{"g":[{"r":31}]}]}],"x":[{"a":29,"á":29,"e":29,"é":29,"i":[{"o":29,"ó":29}]}]},28],"i":[{"m":[{"a":[{"d":29}],"á":[{"d":29}]},29],"d":[{"a":[{"r":29}]}],"l":[{"l":29}],"ñ":[{"a":32}],"q":29,"s":[{"o":31,"ó":31}],"v":[{"e":[{"l":29}]}]},28],"o":[{"c":[{"h":[{"e":33}]}],"d":[{"i":[{"n":33}]}],"m":[{"a":[{"l":33}]}],"n":[{"a":[{"d":33}],"i":[{"m":33}]}],"t":[{"a":33,"á":29}]},28],"u":[{"a":[{"l":[{"m":35},34]}],"b":[{"l":29}],"d":[{"a":29}],"l":29},28],"á":[{"l":[{"i":29}]},28],"é":28,"í":28,"ó":[{"n":[{"i":[{"m":29}]}],"m":[{"a":[{"l":33}]}]},28],"ú":[{".":28}],"h":30,"t":[{"e":[{"o":[{"j":[{"e":39}],"n":[{"e":[{"s":42}]}]}]}],"i":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}]}]},2],"e":[{"n":[{"a":[{"c":[{"e":[{"i":[{"t":30}]}]}],"r":[{"b":30}]},65],"e":[{"m":[{"i":[{"s":[{"t":29}]}],"í":[{"s":[{"t":29}]}]}]},65],"i":65,"o":[{"j":[{"a":[{"r":29}]}]},65],"u":[{"m":[{"e":[{"r":[{"a":29,"á":29,"e":29}]}]}]},65],"á":65,"é":65,"í":65,"ó":65,"ú":65}],"x":[{"a":65,"e":65,"i":65,"o":65,"u":65,"á":65,"é":65,"í":65,"ó":65,"ú":65}]}],"i":[{"n":[{"a":[{"b":[{"o":[{"r":[{"d":30}]}],"a":[{"r":[{"c":30}]}]}],"c":[{"e":[{"n":[{"t":30}]}]}],"g":[{"u":[{"a":[{"n":[{"t":30}]}]}]}],"d":[{"a":[{"p":[{"t":30}]}]}],"m":[{"o":[{"v":[{"i":[{"b":29}]}]}]}],"n":[{"a":[{"l":[{"i":[{"z":30}]}]}],"i":[{"c":29,"m":30}]}],"p":[{"e":[{"l":30}],"l":[{"i":[{"c":30}]}],"r":[{"e":[{"n":[{"s":30}],"c":[{"i":30}]}]}]}],"r":[{"r":[{"u":[{"g":30}]}]}],"s":[{"i":[{"s":[{"t":30}]}]}]},65],"e":[{"f":[{"i":[{"c":[{"i":30},30]}]}],"l":[{"u":[{"d":[{"i":30}]}]}],"n":[{"a":[{"r":[{"r":29}]}]}]},65],"i":[{"c":[{"u":[{"o":29,"a":29}]}]},65],"o":[{"c":[{"u":[{"o":29,"a":29,"l":[{"a":29,"á":29,"e":29}]}]}]},65],"u":[{"t":[{"i":[{"l":[{"i":[{"z":29}]}]}]}]},65],"á":[{"n":[{"i":[{"m":29}]}]},65],"é":[{"d":[{"i":[{"t":29}]}]},65],"í":65,"ó":65,"ú":[{"t":[{"i":[{"l":29}]}]},65],"t":[{"e":[{"r":[{"r":[{"o":[{"g":74}],"u":[{"p":[{"c":74,"t":74}],"m":[{"p":74}]}]},39],"a":66,"e":[{"s":[{"a":70,"e":70,"o":70,"á":70,"é":70,"ó":70}]},66],"i":66,"o":66,"u":66,"á":66,"é":66,"í":66,"ó":66,"ú":66}]}]}]}]}]}],"c":[{".":1,"b":3,"c":[{"t":8,"n":8,"z":8},3],"d":3,"f":[{"t":8},3],"g":[{"n":8},3],"j":3,"k":3,"m":[{"n":8},3],"n":[{".":1,"i":[{"c":[{"o":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}],"e":[{"o":[{"r":87}]}]},3],"p":[{"t":8,"s":8,"n":8},3],"q":3,"s":3,"t":[{".":1,"z":8,"s":8},3],"v":3,"w":3,"x":3,"y":3,"z":[{".":1},3],"h":[{".":1,"b":3,"c":3,"d":3,"f":3,"g":3,"h":3,"j":3,"k":3,"l":6,"m":3,"n":3,"p":3,"q":3,"r":6,"s":3,"t":3,"v":3,"w":3,"x":3,"y":3,"z":3},5],"l":[{".":1,"b":7,"c":7,"d":7,"f":7,"g":7,"h":7,"j":7,"k":7,"l":7,"m":7,"n":7,"p":7,"q":7,"r":7,"s":7,"t":7,"v":7,"w":7,"x":7,"y":7,"z":7},2],"r":[{".":1,"b":7,"c":7,"d":7,"f":7,"g":7,"h":7,"j":7,"k":7,"l":7,"m":7,"n":7,"p":7,"q":7,"r":7,"s":7,"t":7,"v":7,"w":7,"x":7,"y":7,"z":7,"i":[{"p":[{"t":[{"o":[{"h":47,"a":48,"e":48,"i":48,"o":48,"u":48,"á":48,"é":48,"í":48,"ó":48,"ú":48}]}]}]}],"o":[{"n":[{"o":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}]},2],"a":[{"c":[{"a":15}],"g":[{"o":15,"a":[{"s":[{".":1}]},15]}],"r":[{"d":[{"i":[{"o":[{"h":47,"a":48,"e":48,"i":48,"o":48,"u":48,"á":48,"é":48,"í":48,"ó":48,"ú":48}]}]}]}]}],"u":[{"l":[{"o":15}]}],"e":[{"f":[{"a":[{"l":[{"o":[{"h":47,"a":48,"e":48,"i":48,"o":48,"u":48,"á":48,"é":48,"í":48,"ó":48,"ú":48}]}]}]}],"n":[{"t":[{"i":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":[{"r":[{"e":[{"a":55}]}]},38],"é":38,"í":38,"ó":38,"ú":38}]}]}]}],"i":[{"c":[{"l":[{"o":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}],"t":[{"o":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}]}],"o":[{"n":[{"t":[{"r":[{"a":[{"h":47,"a":48,"e":48,"i":48,"o":48,"u":48,"á":48,"é":48,"í":48,"ó":48,"ú":48}]}]}]}]}]},0],"d":[{".":1,"b":3,"c":[{"t":8,"n":8,"z":8},3],"d":3,"f":[{"t":8},3],"g":[{"n":8},3],"h":4,"j":3,"k":3,"l":3,"m":[{"n":8},3],"n":3,"p":[{"t":8,"s":8,"n":8},3],"q":3,"s":3,"t":[{"z":8,"s":8},3],"v":3,"w":3,"x":3,"y":3,"z":3,"r":[{".":1,"b":7,"c":7,"d":7,"f":7,"g":7,"h":7,"j":7,"k":7,"l":7,"m":7,"n":7,"p":7,"q":7,"r":7,"s":7,"t":7,"v":7,"w":7,"x":7,"y":7,"z":7},2],"e":[{"c":[{"a":[{"h":26,"a":27,"e":27,"i":[{"m":[{"i":[{"e":[{"n":[{"t":39}]}]}]}]},27],"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}],"s":[{"ó":[{"r":[{"d":[{"e":45}]}]}],"o":[{"r":[{"d":[{"e":45}],"e":[{"j":45}],"i":[{"e":[{"n":[{"t":45}]}]}],"t":[{"i":[{"j":30}]}],"g":[{"a":[{"n":[{"i":45}]}]}]}],"b":[{"e":[{"d":[{"e":[{"c":45}]}]}],"l":[{"i":[{"g":45}]}],"s":[{"t":[{"r":45}]}]}],"c":[{"u":[{"p":30}]}],"d":[{"o":[{"r":45}]}],"l":[{"a":[{"c":30,"d":30}],"l":30}],"n":[{"c":[{"e":30}]}],"v":[{"i":45}],"x":[{"i":45}],"y":[{"e":45,"é":45}],"s":[{"e":[{"g":14}]}]}],"a":[{"b":[{"a":[{"s":[{"t":45}]}],"o":[{"l":[{"l":45}],"t":[{"o":45}]}],"r":[{"i":[{"d":51}],"o":[{"c":[{"h":45}]}]},45]}],"c":[{"e":[{"i":[{"t":45}],"l":[{"e":[{"r":45}]}],"r":[{"t":34}]}],"i":[{"e":[{"r":[{"t":34}]}]}],"o":[{"b":[{"a":[{"r":45}]}],"m":[{"o":[{"d":45}],"p":45}],"n":[{"s":45}],"p":[{"l":45}],"r":[{"r":45}],"s":[{"t":[{"u":[{"m":45}]}]}],"t":45}],"r":[{"a":[{"l":[{"i":[{"z":34}]}]}],"e":[{"d":[{"i":[{"t":45}]}]}]}],"t":[{"i":[{"v":45}]}],"u":[{"a":[{"r":[{"t":45}]}]}]}],"d":[{"e":[{"r":[{"e":[{"z":45}]}],"u":[{"d":45}]}],"o":[{"r":[{"a":[{"r":45}],"m":[{"e":[{"c":45}]}],"n":45}]}],"v":[{"e":[{"r":[{"t":45}]}]}]}],"f":[{"e":[{"r":[{"r":45}]}],"i":[{"c":45,"l":45,"n":45}],"o":[{"r":45}]}],"g":[{"u":[{"i":[{"s":51}]},45],"ú":34,"a":[{"r":[{"r":34}]}],"r":[{"a":[{"c":[{"i":45}],"d":45,"v":[{"i":45}]}],"e":[{"g":45}],"u":[{"p":45}]}]}],"h":[{"e":[{"r":[{"r":45}]}],"i":[{"j":45}]}],"j":[{"u":[{"s":[{"t":45}]}]}],"l":[{"a":[{"g":[{"a":[{"r":45}]}]}],"e":[{"n":[{"t":45}]}],"f":[{"o":[{"m":45,"r":45}]}],"i":[{"e":[{"n":45}],"n":[{"e":61,"é":61}],"ñ":45,"v":34}],"m":[{"i":[{"d":45}]},45],"o":[{"j":45}],"q":[{"u":[{"i":[{"l":45}]}]}],"t":[{"e":[{"r":45}]}],"u":[{"m":[{"b":[{"r":45}]}]}]}],"m":[{"a":[{"r":[{"r":34}]}],"o":[{"b":[{"l":34}],"l":[{"d":45}],"r":[{"t":45}]}],"u":[{"e":[{"b":[{"l":45}]}]}],"p":[{"a":45}]}],"n":[{"d":45,"g":[{"e":[{"l":45}],"r":30}],"i":[{"d":45,"m":45}],"í":[{"m":45}],"u":[{"d":45}]}],"p":[{"a":[{"ñ":34,"c":[{"i":[{"b":34}]}],"d":[{"r":45}],"r":[{"e":[{"c":45},45],"i":[{"c":45}]}]}],"e":[{"g":45,"r":[{"c":[{"i":[{"b":45}]}]}],"s":45}],"l":[{"i":[{"c":45}]}],"o":[{"l":[{"i":[{"l":[{"l":45}]}]}],"y":45}],"r":[{"e":[{"n":[{"d":45}],"t":45}],"i":[{"e":[{"t":45}]}],"o":[{"b":45,"p":[{"i":45}],"v":[{"e":[{"c":[{"h":45}]}]}]}]}]}],"r":[{"b":[{"o":[{"l":45}]}],"e":[{"n":45}],"m":[{"e":62},45],"r":[{"a":[{"i":[{"g":45}]}],"e":[{"g":[{"l":45}],"n":[{"d":45}]}],"i":[{"m":45}],"o":[{"l":[{"l":34}],"p":45}],"u":[{"g":45}]}],"t":[{"i":[{"c":[{"u":[{"l":45}]}]}]}]}],"s":[{"e":[{"n":[{"t":45}]}],"i":[{"s":[{"t":45}]}],"n":45}],"t":[{"e":[{"n":[{"c":45,"d":45,"t":45}]}],"i":[{"e":[{"n":[{"d":45}]}],"n":34}],"o":[{"r":[{"n":45}]}],"r":[{"a":[{"n":[{"c":45}]}]}]}],"u":[{"t":[{"o":[{"r":45}]}]}],"v":[{"i":[{"s":45}]}],"y":[{"u":[{"n":34}]}],"z":[{"ó":[{"n":34}],"o":[{"n":34}]}]}],"e":[{"m":[{"b":[{"a":[{"l":45,"r":[{"g":45},45]}],"á":[{"l":45,"r":45}],"o":[{"l":[{"s":45}],"r":[{"r":45}],"s":[{"c":45}],"t":45}],"r":[{"a":[{"g":45,"v":[{"e":45}]}],"á":[{"g":45,"v":[{"e":45}]}],"o":[{"l":[{"l":45}]}],"ó":[{"l":[{"l":45}]}],"u":[{"j":45}],"ú":[{"j":45}]}]}],"e":[{"j":30}],"p":[{"a":[{"ñ":45,"c":45,"q":[{"u":[{"e":[{"t":45}],"é":[{"t":45}]}]}],"r":[{"e":[{"j":45,"n":[{"t":45}]}],"é":[{"j":45}]}],"t":45}],"á":[{"ñ":45}],"é":45,"e":[{"d":[{"r":45}],"g":45,"o":[{"r":45}],"r":[{"e":[{"z":45}],"n":45}]}],"l":[{"e":45}],"o":[{"l":[{"v":45}],"t":[{"r":45}],"z":45}]}]}],"n":[{"a":[{"m":45}],"c":[{"a":[{"b":45,"d":45,"j":45,"l":[{"l":45}],"m":45,"n":[{"t":30}],"p":45,"r":45}],"á":[{"j":45,"l":[{"l":45}],"r":45}],"h":45,"l":45,"o":45,"r":45,"u":45}],"d":45,"f":[{"a":[{"d":30}],"á":[{"d":30}],"i":45,"o":45,"ó":45,"r":[{"e":[{"n":30}]}],"u":[{"n":[{"d":45}],"r":45}]}],"g":[{"a":[{"ñ":30,"n":[{"c":[{"h":45}]}],"r":45,"s":45}],"á":[{"ñ":30}],"o":[{"m":45,"z":45}],"r":[{"a":45}]}],"h":[{"e":[{"b":[{"r":45}]}]}],"j":45,"l":[{"a":[{"d":45,"z":45}],"o":45}],"m":45,"r":45,"s":45,"t":[{"a":45,"e":[{"n":[{"d":30}],"r":45}],"i":[{"e":[{"n":30,"r":45}],"é":[{"n":30,"r":45}]}],"o":45,"r":45,"u":45}],"v":[{"a":[{"i":[{"n":45}]}],"o":[{"l":[{"v":[{"i":[{"m":30}]}]}]}]}]}],"o":30,"q":45,"r":[{"c":[{"i":14}],"t":14}],"s":[{"p":[{"a":45,"e":[{"r":[{"a":[{"c":30,"n":[{"z":45}]}]}]}]}],"t":[{"a":[{"b":[{"i":[{"l":45}]}]}],"i":[{"m":45}]}]}]}],"é":[{"r":[{"t":14}]}],"i":[{"d":[{"e":[{"r":30}],"i":[{"a":30,"o":30}]}],"e":[{"r":[{"t":30}]}],"g":[{"n":30,"u":[{"a":[{"l":30}]}]}],"l":[{"u":[{"s":[{"i":30}]}]}],"m":[{"a":[{"g":[{"i":[{"n":45}]}],"n":45}],"p":[{"o":[{"n":45}],"r":[{"e":[{"s":45}]}]}]}],"n":[{"c":[{"e":[{"n":[{"t":45}]}],"l":[{"i":[{"n":45}]}],"o":[{"r":[{"p":45}]}],"r":[{"u":[{"s":[{"t":45}]}]}]}],"e":[{"n":[{"c":30}]}],"f":[{"e":[{"c":30}],"l":[{"a":[{"m":45}]},45],"o":[{"r":[{"m":45}]}]}],"h":[{"i":[{"b":45}]}],"s":[{"e":[{"c":[{"t":45}]}],"t":[{"a":[{"l":45}]}]}],"t":[{"e":[{"g":[{"r":14}],"r":14}],"o":[{"x":45}]}],"v":[{"e":[{"r":45}]}]}],"s":[{"t":[{"e":[{"n":30}]}]}]}],"u":[{"d":[{"a":[{"r":63,"s":63,"n":63}]}],"e":[{"l":[{"l":30}]}],"b":[{"s":[{"t":[{"a":[{"n":14}]}]}],"i":[{"c":64}]}],"s":[{"t":[{"a":[{"n":14}]}]}],"n":[{"i":[{"r":45,"e":[{"r":45}],"m":45}]}]}]}],"i":[{"s":[{"t":[{"i":30}]}]}]}]},0],"f":[{".":1,"b":3,"c":3,"d":3,"f":3,"g":3,"h":4,"j":3,"k":3,"m":3,"n":3,"p":3,"q":3,"s":3,"t":[{".":1},3],"v":3,"w":3,"x":3,"y":3,"z":3,"l":[{".":1,"b":7,"c":7,"d":7,"f":7,"g":7,"h":7,"j":7,"k":7,"l":7,"m":7,"n":7,"p":7,"q":7,"r":7,"s":7,"t":7,"v":7,"w":7,"x":7,"y":7,"z":7},2],"r":[{".":1,"b":7,"c":7,"d":7,"f":7,"g":7,"h":7,"j":7,"k":7,"l":7,"m":7,"n":7,"p":7,"q":7,"r":7,"s":7,"t":7,"v":7,"w":7,"x":7,"y":7,"z":7},2],"o":[{"n":[{"o":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}],"t":[{"o":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}]}],"a":[{"m":[{"i":[{"l":[{"i":[{"a":[{"r":[{"i":82}]}]}]}]}]}]}]},0],"g":[{".":1,"b":3,"c":3,"d":3,"f":3,"g":3,"h":4,"j":3,"k":3,"m":3,"n":[{".":1},3],"p":3,"q":3,"s":3,"t":3,"v":3,"w":3,"x":3,"y":3,"z":3,"l":[{".":1,"b":7,"c":7,"d":7,"f":7,"g":7,"h":7,"j":7,"k":7,"l":7,"m":7,"n":7,"p":7,"q":7,"r":7,"s":7,"t":7,"v":7,"w":7,"x":7,"y":7,"z":7,"u":[{"c":[{"o":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}]},2],"r":[{".":1,"b":7,"c":7,"d":7,"f":7,"g":7,"h":7,"j":7,"k":7,"l":7,"m":7,"n":7,"p":7,"q":7,"r":7,"s":7,"t":7,"v":7,"w":7,"x":7,"y":7,"z":7},2],"o":[{"n":[{"o":[{".":60,"s":[{".":60}]}],"a":[{"l":[{".":60,"e":[{"s":[{".":60}]}]}]}]}]}],"u":[{"a":[{".":60,"s":[{".":60}]}],"o":[{".":60,"s":[{".":60}]}]}],"a":[{"s":[{"t":[{"r":[{"o":[{"h":47,"a":48,"e":48,"i":48,"o":48,"u":48,"á":48,"é":48,"í":48,"ó":48,"ú":48}]}]}]}]}],"e":[{"o":[{"h":53,"a":54,"e":54,"i":54,"o":54,"u":54,"á":54,"é":54,"í":54,"ó":54,"ú":54}]}],"i":[{"g":[{"a":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}]}]},0],"h":[{".":1,"b":3,"c":3,"d":3,"f":3,"g":3,"h":4,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"q":3,"r":3,"s":3,"t":3,"v":3,"w":3,"x":3,"y":3,"z":3,"e":[{"c":[{"t":[{"o":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}],"l":[{"i":[{"o":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}],"m":[{"a":[{"t":[{"o":[{"h":47,"a":48,"e":48,"i":48,"o":48,"u":48,"á":48,"é":48,"í":48,"ó":48,"ú":48}]}]}],"i":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}],"o":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}],"x":[{"a":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}]}],"i":[{"d":[{"r":[{"o":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}],"p":[{"e":[{"r":[{"r":39,"a":66,"e":66,"i":[{"c":[{"í":[{"n":[{"e":68}]}]}]},66],"o":[{"n":[{"i":[{"m":[{"i":68}]}],"í":[{"m":[{"i":68}]}]}],"x":[{"i":[{"a":68}]}]},66],"u":66,"á":66,"é":66,"í":66,"ó":[{"n":[{"i":[{"m":[{"o":68}]}]}]},66],"ú":66}]}],"o":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}],"s":[{"t":[{"o":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}]}],"o":[{"m":[{"o":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}]}],"a":[{"b":[{"l":[{"a":[{"n":[{"t":[{"e":60}]}]}]}],"i":[{"e":[{"n":[{"t":[{"e":60}]}]}]}]}]}]}],"j":[{".":1,"b":3,"c":3,"d":3,"f":3,"g":3,"h":4,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"q":3,"r":3,"s":3,"t":3,"v":3,"w":3,"x":3,"y":3,"z":3},0],"k":[{".":1,"b":3,"c":3,"d":3,"f":3,"g":3,"h":4,"j":3,"k":3,"m":3,"n":3,"p":3,"q":3,"s":3,"t":3,"v":3,"w":3,"x":3,"y":3,"z":3,"l":[{".":1,"b":7,"c":7,"d":7,"f":7,"g":7,"h":7,"j":7,"k":7,"l":7,"m":7,"n":7,"p":7,"q":7,"r":7,"s":7,"t":7,"v":7,"w":7,"x":7,"y":7,"z":7},2],"r":[{".":1,"b":7,"c":7,"d":7,"f":7,"g":7,"h":7,"j":7,"k":7,"l":7,"m":7,"n":7,"p":7,"q":7,"r":7,"s":7,"t":7,"v":7,"w":7,"x":7,"y":7,"z":7},2],"i":[{"l":[{"o":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}]}]},0],"l":[{".":1,"b":3,"c":[{"t":8,"n":8,"z":8},3],"d":3,"f":[{"t":8},3],"g":[{"n":8},3],"h":4,"j":3,"k":3,"m":[{"n":8},3],"n":3,"p":[{"t":8,"s":8,"n":8},3],"q":3,"r":3,"s":3,"t":[{"z":8,"s":8},3],"v":3,"w":3,"x":3,"y":3,"z":3,"l":[{".":1,"b":3,"c":3,"d":3,"f":3,"g":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"q":3,"r":3,"s":3,"t":3,"v":3,"w":3,"x":3,"y":3,"z":3},5],"i":[{"á":[{"r":[{"e":[{"a":83}]}]}]}],"o":[{"g":[{"í":[{"a":60}]}]}]},0],"m":[{".":1,"b":3,"c":[{"t":8,"n":8,"z":8},3],"d":3,"f":[{"t":8},3],"g":[{"n":8},3],"h":4,"j":3,"k":3,"l":3,"m":[{"n":8},3],"n":[{".":1},3],"p":[{"t":8,"s":8,"n":8},3],"q":3,"r":3,"s":3,"t":[{"z":8,"s":8},3],"v":3,"w":3,"x":3,"y":3,"z":3,"e":[{"o":[{".":1}],"a":[{"b":[{"l":[{"e":[{".":1,"s":[{".":1}]}]}]}]}],"n":[{"t":[{"e":[{".":17}]}]}],"g":[{"a":[{"l":[{"o":[{"h":47,"a":48,"e":48,"i":48,"o":48,"u":48,"á":48,"é":48,"í":48,"ó":48,"ú":48}]}],"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}],"l":[{"a":[{"n":[{"o":[{"h":47,"a":48,"e":48,"i":48,"o":48,"u":48,"á":48,"é":48,"í":48,"ó":48,"ú":48}]}]}]}]}],"a":[{"n":[{"t":[{"e":[{"a":43}]}]}],"c":[{"r":[{"o":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}],"l":[{"h":58,"b":29,"c":29,"d":29,"f":29,"g":29,"m":29,"p":29,"q":29,"s":29,"t":29,"v":29},80],"x":[{"i":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}]}],"i":[{"c":[{"r":[{"o":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}],"l":[{"i":[{"a":[{"r":35}]}]}],"n":[{"i":[{"h":26,"a":[{"t":[{"u":[{"r":10}]}]},27],"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}],"r":[{"i":[{"a":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}]}],"u":[{"l":[{"t":[{"i":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}]}],"o":[{"n":[{"o":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}]}]},0],"n":[{".":1,"b":3,"c":[{"t":8,"n":8,"z":8},3],"d":3,"f":[{"t":8},3],"g":[{"n":8},3],"h":4,"j":3,"k":3,"l":3,"m":[{"n":8},3],"n":3,"p":[{"t":8,"s":8,"n":8},3],"q":3,"r":3,"s":3,"t":[{"z":8,"s":8,"e":[{"r":[{"i":[{"n":[{"s":[{"u":73}]},72]}]}]}]},3],"v":3,"w":3,"x":3,"y":3,"z":3,"o":[{".":3,"r":[{"t":[{"e":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}]}],"a":[{"m":[{"o":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}]}],"e":[{"c":[{"r":[{"o":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}],"o":[{"h":53,"a":54,"e":54,"i":54,"o":54,"u":54,"á":54,"é":54,"í":54,"ó":54,"ú":54}],"t":[{"o":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}]}]},0],"p":[{".":1,"b":3,"c":3,"d":3,"f":3,"g":3,"h":4,"j":3,"k":3,"m":3,"n":[{".":1},3],"p":3,"q":3,"s":[{".":1,"i":[{"c":[{"o":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]},87],"q":87}]},3],"t":[{".":1},3],"v":3,"w":3,"x":3,"y":3,"z":3,"l":[{".":1,"b":7,"c":7,"d":7,"f":7,"g":7,"h":7,"j":7,"k":7,"l":7,"m":7,"n":7,"p":7,"q":7,"r":7,"s":7,"t":7,"v":7,"w":7,"x":7,"y":7,"z":7,"a":[{"n":[{"c":[{"t":10}]}]}],"u":[{"r":[{"i":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}]},2],"r":[{".":1,"b":7,"c":7,"d":7,"f":7,"g":7,"h":7,"j":7,"k":7,"l":7,"m":7,"n":7,"p":7,"q":7,"r":7,"s":7,"t":7,"v":7,"w":7,"x":7,"y":7,"z":7,"e":[{"e":[{"l":[{"i":[{"j":29,"g":29}]}],"x":[{"i":[{"s":29}]}],"m":[{"i":[{"n":29}]}]}],"o":[{"c":[{"u":[{"p":34}],"ú":[{"p":49}]}],"l":[{"í":29}],"p":[{"i":[{"n":29}]}]}]}],"o":[{"t":[{"o":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}]},2],"u":[{"t":[{"a":15,"o":15}]}],"e":[{"d":[{"o":15}],"r":[{"e":[{"m":[{"i":[{"a":67}]}]}],"a":[{"n":[{"t":[{"e":105}]}]}],"p":[{"o":[{"n":[{"d":[{"r":106}]}]}]}]}],"n":[{"t":[{"a":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}]}],"a":[{"n":[{"t":[{"e":[{"o":[{"n":41}]}]}]}],"l":[{"e":[{"o":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}],"r":[{"a":[{"h":26,"a":27,"e":27,"i":[{"s":[{".":49}]},27],"o":27,"u":[{"l":[{"a":[{"t":[{"a":35}]}]}]},27],"á":27,"é":27,"í":[{"s":[{"o":35}]},27],"ó":27,"ú":27}]}]}],"i":[{"e":[{"z":[{"o":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}]}],"o":[{"l":[{"i":[{"h":26,"a":[{"r":[{"q":35,"c":[{"a":35}]}],"n":[{"d":[{"r":35}],"t":[{"e":[{"a":35}]}]}]},27],"e":27,"i":27,"o":[{"m":[{"i":[{"e":10}]}]},27],"u":[{"r":90},27],"á":[{"r":[{"q":35}]},27],"é":[{"s":[{"t":[{"e":35}]}]},27],"í":27,"ó":27,"ú":27}]}],"s":[{"t":[{"a":[{".":29,"s":[{".":29}]}]}]}]}]},0],"q":[{".":1,"b":3,"c":3,"d":3,"f":3,"g":3,"h":4,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"q":3,"r":3,"s":3,"t":3,"v":3,"w":3,"x":3,"y":3,"z":3,"u":[{"e":[{"t":[{"e":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}]}]},0],"r":[{".":1,"b":3,"c":[{"t":8,"n":8,"z":8},3],"d":3,"f":[{"t":8},3],"g":[{"n":8},3],"h":4,"j":3,"k":3,"l":3,"m":[{"n":8,"a":[{"n":[{"o":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}]},3],"n":3,"p":[{"t":8,"s":8,"n":8},3],"q":3,"s":3,"t":[{"z":8,"s":8},3],"v":3,"w":3,"x":3,"y":3,"z":3,"r":[{".":1,"b":7,"c":7,"d":7,"f":7,"g":7,"h":7,"j":7,"k":7,"l":7,"m":7,"n":7,"p":7,"q":7,"r":7,"s":7,"t":7,"v":7,"w":7,"x":7,"y":7,"z":7},2],"e":[{"i":[{"n":[{"i":[{"c":[{"i":[{"a":69,"á":69,"e":69}]}]}],"í":[{"c":[{"i":[{"a":69}]}]}]}]}],"t":[{"r":[{"o":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}]}],"a":[{"d":[{"i":[{"o":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}],"n":[{"c":[{"o":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}],"r":[{"a":83,"á":83,"e":83,"é":83,"í":83,"o":83}]}],"o":[{"m":[{"o":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}]}]},0],"s":[{".":1,"b":3,"c":[{"t":8,"n":8,"z":8},3],"d":3,"f":[{"t":8},3],"g":[{"n":8},3],"h":4,"j":3,"k":3,"l":3,"m":[{"n":8},3],"n":3,"p":[{"t":8,"s":8,"n":8,"a":[{"n":[{"o":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}]},3],"q":3,"r":3,"s":3,"t":[{"z":8,"s":8,"e":[{".":85,"s":[{".":85}]}],"a":[{"l":[{".":85,"e":[{"s":[{".":93}]}]}]}],"i":[{"l":[{"l":[{"a":[{".":93,"s":[{".":93}]}],"ó":[{"n":[{".":93}]}],"o":[{"n":[{"e":[{"s":[{".":93}]}]}]}]}]}]}],"o":[{"r":[{".":85,"a":[{".":85,"s":[{".":85}]}],"e":[{"s":[{".":85}]}]}]}]},3],"v":3,"w":3,"x":3,"y":3,"z":3,"a":[{"n":[{"c":[{"t":9}]}],".":60,"s":[{".":60}]}],"e":[{"m":[{"i":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}],"u":[{"d":[{"o":[{"h":97,"a":98,"e":98,"i":98,"o":98,"u":98,"á":98,"é":98,"í":98,"ó":98,"ú":98}]}]}]}],"o":[{"b":[{"r":[{"e":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}],"c":[{"i":[{"o":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}]}],"u":[{"d":[{"o":[{"e":[{"s":58}]}]}],"p":[{"e":[{"r":[{"r":39,"a":[{"r":103},66],"e":66,"i":[{"o":[{"r":43}]},66],"o":66,"u":66,"á":[{"r":103,"v":[{"i":[{"t":[{".":68,"s":[{".":68}]}]}]}]},66],"é":66,"í":66,"ó":66,"ú":66}]}],"r":[{"a":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38},107]}]}]}]},0],"t":[{".":1,"b":3,"c":[{"t":8,"n":8,"z":8},3],"d":3,"f":[{"t":8},3],"g":[{"n":8},3],"h":4,"j":3,"k":3,"m":[{"n":8},3],"n":3,"p":[{"t":8,"s":8,"n":8},3],"q":3,"t":[{"z":8,"s":8},3],"v":3,"w":3,"y":3,"r":[{".":1,"b":7,"c":7,"d":7,"f":7,"g":7,"h":7,"j":7,"k":7,"l":7,"m":7,"n":7,"p":7,"q":7,"r":7,"s":7,"t":7,"v":7,"w":7,"x":7,"y":7,"z":7,"a":[{"s":[{"a":[{"n":[{"t":[{"e":[{"a":34}]}]}]}]}],"n":[{"s":[{"a":[{"l":[{"p":111}],"n":[{"d":111}],"t":[{"l":111}],"c":[{"c":[{"i":34}]}]},110],"e":[{"ú":[{"n":34}],"x":[{"u":112}]},110],"i":[{"c":[{"i":[{"o":[{"n":112}],"ó":[{"n":112}]}]}],"g":[{"i":112,"í":112,"e":112}],"j":[{"a":112,"á":112,"o":112}],"s":[{"t":[{"o":34}]}],"t":[{"a":112,"á":112,"e":112,"é":112,"o":[{"r":[{"i":112}]},112],"ó":112,"i":[{"v":112}]}]},110],"o":[{"c":[{"e":111}]},110],"u":[{"r":111,"b":[{"s":[{"t":34}]}],"s":[{"t":34}]},110],"á":110,"é":110,"í":110,"ó":110,"ú":110}]}]}],"o":[{"p":[{"o":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}]},2],"z":[{".":1,"s":[{"c":[{"h":14}]}]},13],"s":[{".":1},13],"l":13,"x":13,"e":[{"t":[{"a":[{".":1,"s":[{".":1}]}],"r":[{"a":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}],"l":[{"e":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}],"r":[{"m":[{"o":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}]}],"i":[{"o":[{"q":[{"u":45}],"c":[{"o":45}]}]}],"a":[{"l":[{"m":[{"o":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}]}],"o":[{"p":[{"o":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}]}]},0],"v":[{".":1,"b":3,"c":3,"d":3,"f":3,"g":3,"h":4,"j":3,"k":3,"m":3,"n":3,"p":3,"q":3,"s":3,"t":3,"v":3,"w":3,"x":3,"y":3,"z":3,"l":[{".":1,"b":7,"c":7,"d":7,"f":7,"g":7,"h":7,"j":7,"k":7,"l":7,"m":7,"n":7,"p":7,"q":7,"r":7,"s":7,"t":7,"v":7,"w":7,"x":7,"y":7,"z":7},2],"r":[{".":1,"b":7,"c":7,"d":7,"f":7,"g":7,"h":7,"j":7,"k":7,"l":7,"m":7,"n":7,"p":7,"q":7,"r":7,"s":7,"t":7,"v":7,"w":7,"x":7,"y":7,"z":7},2],"i":[{"c":[{"e":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}],"d":[{"e":[{"o":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}]}]},0],"w":[{".":1,"b":3,"c":3,"d":3,"f":3,"g":3,"h":4,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"q":3,"r":3,"s":3,"t":3,"v":3,"w":3,"x":3,"y":3,"z":3,"a":[{"s":[{"h":14}]}]},0],"x":[{".":1,"b":3,"c":[{"t":8,"n":8,"z":8},3],"d":3,"f":[{"t":8},3],"g":[{"n":8},3],"h":4,"j":3,"k":3,"l":3,"m":[{"n":8},3],"n":3,"p":[{"t":8,"s":8,"n":8},3],"q":3,"r":3,"s":3,"t":[{"z":8,"s":8},3],"v":3,"w":3,"x":3,"y":3,"z":3,"e":[{"n":[{"o":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}]}]},0],"y":[{".":1,"b":3,"c":[{"t":8,"n":8,"z":8},3],"d":3,"f":[{"t":8},3],"g":[{"n":8},3],"h":4,"j":3,"k":3,"l":3,"m":[{"n":8},3],"n":3,"p":[{"t":8,"s":8,"n":8},3],"q":3,"r":3,"s":3,"t":[{"z":8,"s":8},3],"v":3,"w":3,"x":3,"y":3,"z":3},0],"z":[{".":1,"b":3,"c":3,"d":3,"f":3,"g":3,"h":4,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"q":3,"r":3,"s":3,"t":3,"v":3,"w":3,"x":3,"y":3,"z":3,"o":[{"o":[{"h":53,"a":54,"e":54,"i":54,"o":54,"u":54,"á":54,"é":54,"í":54,"ó":54,"ú":54}]}]},0],"ñ":[{".":1},0],"o":[{"e":[{"u":11,"ó":11}],"a":[{"e":11}],".":1,"i":[{"d":[{"e":[{"a":[{".":44,"s":[{".":44}]}],".":56,"s":[{".":56}]}],"a":[{"l":[{".":44,"e":[{"s":[{".":44}]}]}]}]}],"c":[{"o":[{".":57,"s":[{".":57}]}],"a":[{".":57,"s":[{".":57}]}]}]}],"l":[{"ó":[{"g":[{"i":[{"c":[{"o":[{".":18,"s":[{".":18}]}],"a":[{".":18,"s":[{".":18}],"m":[{"e":[{"n":[{"t":[{"e":[{".":18}]}]}]}]}]}]}]}]}]}],"o":[{"g":[{"í":[{"a":[{".":18,"s":[{".":18}]}]}]}]}],"i":[{"g":[{"o":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}]}],"s":[{".":3,"o":[{".":86,"s":[{".":86}]}],"a":[{".":86,"s":[{".":86}],"m":[{"e":[{"n":[{"t":[{"e":[{".":86}]}]}]}]}]}]}],"c":[{"t":[{"o":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}],"a":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}]}],"m":[{"n":[{"i":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}]}],"o":[{"s":[{".":2}]}],"n":[{"e":[{"s":[{".":1}]}]}]}],"a":[{"a":[{"e":11,"ó":11}],"i":[{"g":[{"a":[{"n":[{".":20}]}]}]}],"s":[{".":1,"t":[{"e":[{".":1,"s":[{".":1}],"i":[{"s":[{".":1}]}]}]}],"e":[{".":18,"s":[{".":18}],"i":[{"s":[{".":18}]}],"n":[{".":18}]}],"u":[{"b":36}]}],".":1,"m":[{"o":[{"s":[{".":18}]}],"i":[{"l":[{"i":[{"a":84}]}]}]}],"n":[{".":1,"d":[{"o":1}],"a":[{"l":[{"í":29}]}],"f":[{"i":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}],"g":[{"l":[{"o":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}],"t":[{"e":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}]}],"t":[{"e":[{"s":[{".":1}]}]}],"r":[{"o":[{"n":[{".":18}],"s":[{".":18}]}],"í":[{"a":[{".":18,"s":[{".":18}],"m":[{"o":[{"s":[{".":18}]}]}],"i":[{"s":18}],"n":[{".":18}]}],"s":[{".":18}]}],"é":[{".":18,"s":[{".":18}],"i":[{"s":[{".":18}]}]}],"á":[{"s":[{".":18}],".":18,"n":[{".":18}]}],"e":[{"m":[{"o":[{"s":[{".":18}]}]}],".":18,"s":[{".":18}],"i":[{"s":[{".":18}]}],"n":[{".":18}]}],"a":[{".":18,"s":[{".":18}],"i":[{"s":[{".":18}]}],"n":[{".":18}]}],".":1,"m":[{"e":[{".":25}]}],"t":[{"e":[{".":20}]}],"l":[{"e":[{".":20,"s":[{".":20}]}],"a":[{".":20,"s":[{".":20}]}],"o":[{".":20,"s":[{".":20}]}]}],"s":[{"e":[{".":20}]}],"n":[{"o":[{"s":[{".":20}]}]}],"c":[{"h":[{"i":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}],"i":[{"o":[{".":85,"s":[{".":85}]},85],"a":85}]}],"b":[{"a":[{".":18,"s":[{".":18}],"i":[{"s":[{".":18}]}],"n":[{".":18}]}]}],"d":[{".":1,"m":[{"e":[{".":1}]}],"t":[{"e":[{".":1}]}],"l":[{"e":[{".":1,"s":[{".":1}]}],"o":[{".":1,"s":[{".":1}]}],"a":[{"s":[{".":1}]}]}],"n":[{"o":[{"s":[{".":1}]}]}],"o":[{".":18,"s":[{".":18}],"r":[{".":18,"a":[{".":18,"s":[{".":18}]}],"e":[{"s":[{".":18}]}]}]}],"a":[{".":18,"s":[{".":18}]}]}],"o":[{"s":[{".":1}]}],"c":[{"t":[{"o":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}],"a":[{"n":[{"t":[{"e":40}]}]}],"i":[{"ó":[{"n":[{".":18}]}],"o":[{"n":[{"e":[{"s":[{".":18}]}]}]}]}]}],"e":[{"r":[{"o":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}]}],"f":[{"r":[{"o":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}],"i":[{"c":[{"i":[{"o":[{"n":[{"a":[{"d":60}]}]}]}]}]}]}],"u":[{"t":[{"o":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}]}],"l":[{".":3,"e":[{"s":[{".":3}]}]}],"í":[{"s":[{"o":[{".":83,"s":[{".":83}]}]}]}]}],"e":[{"o":[{"á":12,"e":12,"s":[{".":1}]}],"s":[{".":1}],".":1,"m":[{"o":[{"s":[{".":18}]}],"b":[{"o":[{"c":[{"a":1}]}]}],"i":[{"o":96}]}],"n":[{".":1,"d":[{"o":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}],"t":[{"o":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}],"r":[{"e":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}]}],"r":[{"é":[{".":18,"s":[{".":18}],"i":[{"s":[{".":18}]}]}],"á":[{"s":[{".":18,"e":[{"m":[{"o":[{"s":[{".":24}]}]}]}]}],".":18,"n":[{".":18}],"i":[{"s":[{".":23}]}],"b":[{"a":[{"m":[{"o":[{"s":[{".":24}]}]}]}]}],"r":[{"a":[{"m":[{"o":[{"s":[{".":24}]}]}]}],"e":[{"m":[{"o":[{"s":[{".":24}]}]}]}]}]}],"í":[{"s":[{".":18}],"a":[{".":18,"s":[{".":18}],"m":[{"o":[{"s":[{".":18}]}]}],"i":[{"s":[{".":18}]}],"n":[{".":18}]}]}],"e":[{"m":[{"o":[{"s":[{".":21}]}]}]}],".":1,"m":[{"e":[{".":1}]}],"t":[{"e":[{".":1}]}],"l":[{"e":[{".":1,"s":[{".":1}]}],"a":[{".":1,"s":[{".":1}]}],"o":[{".":1,"s":[{".":1}]}]}],"s":[{"e":[{".":1}]}],"n":[{"o":[{"s":[{".":1}]}]}],"o":[{"s":[{".":18}]}],"a":[{"s":[{".":23,"t":[{"e":[{".":23,"s":[{".":23}],"i":[{"s":[{".":23}]}]}]}],"e":[{".":24,"s":[{".":24}],"i":[{"s":[{".":24}]}],"n":[{".":24}]}]}],"m":[{"o":[{"s":[{".":24}]}]}],"n":[{".":23}],"t":[{"e":[{"s":[{".":23}]}]}],"r":[{"o":[{"n":[{".":24}]}],"í":[{"a":[{".":24,"s":[{".":24}],"m":[{"o":[{"s":[{".":24}]}]}],"i":[{"s":24}],"n":[{".":24}]}],"s":[{".":24}]}],"é":[{".":24,"s":[{".":24}],"i":[{"s":[{".":24}]}]}],"á":[{"s":[{".":24}],".":24,"n":[{".":24}]}],"e":[{"m":[{"o":[{"s":[{".":24}]}]}],".":24,"s":[{".":24}],"i":[{"s":[{".":24}]}],"n":[{".":24}]}],"a":[{".":24,"s":[{".":24}],"i":[{"s":[{".":24}]}],"n":[{".":24}]}]}],"b":[{"a":[{".":24,"s":[{".":24}],"i":[{"s":[{".":24}]}],"n":[{".":24}]}],"l":[{"e":[{".":104,"s":[{".":104}],"m":[{"e":[{"n":[{"t":[{"e":[{".":104}]}]}]}]}]}]}]}],"d":[{".":23,"o":[{".":24,"s":[{".":24}],"r":[{".":24,"a":[{".":24,"s":[{".":24}]}],"e":[{"s":[{".":24}]}]}]}],"a":[{".":24,"s":[{".":24}]}]}]}],"i":[{"o":[{"r":[{".":18,"e":[{"s":[{".":18}]}],"a":[{".":18,"s":[{".":18}]}],"m":[{"e":[{"n":[{"t":[{"e":[{".":18}]}]}]}]}],"i":[{"d":[{"a":[{"d":[{".":18,"e":[{"s":[{".":18}]}]}]}]}]}]}]}]}]}],"d":[{".":1,"m":[{"e":[{".":1}]}],"t":[{"e":[{".":1}]}],"l":[{"e":[{".":1,"s":[{".":1}]}],"o":[{".":1,"s":[{".":1}]}],"a":[{"s":[{".":1}]}]}],"n":[{"o":[{"s":[{".":1}]}]}],"r":[{"o":[{".":18,"s":[{".":18}]}]}]}],"e":[{"d":[{"l":[{"a":[{".":1}]}]}]}],"a":[{"d":[{"l":[{"a":[{".":1}]}]}],"m":[{"i":[{"e":[{"n":[{"t":[{"o":44}]}]}]}]}],"c":[{"i":[{"o":[{".":30,"s":[{".":30}]}],"a":[{".":30,"s":[{".":30}]}]}]}]}],"á":[{"n":[{"d":[{"o":5}]}]}],"c":[{"a":[{"n":[{"o":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}],"o":[{"h":53,"a":54,"e":54,"i":54,"o":54,"u":54,"á":54,"é":54,"í":54,"ó":54,"ú":54}],"t":[{"r":[{"o":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}]}],"u":[{"c":[{"o":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}],"r":[{"o":[{"h":26,"a":27,"e":27,"i":27,"o":27,"u":27,"á":27,"é":27,"í":27,"ó":27,"ú":27}]}]}],"x":[{"á":[{"m":[{"e":[{"n":29}]}],"r":[{"i":29}]}],"é":[{"g":[{"e":29}]}],"ó":[{"t":[{"i":29}]}],"a":[{"c":[{"e":[{"r":[{"b":29}]}]}],"g":[{"e":[{"r":29}]}],"m":[{"i":[{"n":29}]}]}],"e":[{"c":[{"r":29}],"g":[{"é":[{"t":[{"i":29}]}]}],"q":[{"u":[{"i":[{"a":29}]}]}]}],"i":[{"j":[{"a":29,"á":29,"o":29}],"g":[{"e":29,"i":29,"í":29}],"l":[{"i":[{"a":29,"á":29,"e":29,"é":29,"o":29,"ó":29}],"a":[{"r":29}]}],"m":[{"a":29,"á":29,"i":29,"í":29,"e":29,"é":29,"o":29,"ó":29}],"t":[{"o":[{"s":29}]}]}],"í":[{"j":[{"a":29,"o":29}],"g":[{"e":29}],"l":[{"i":[{"a":29,"e":29,"o":29}]}],"m":[{"a":29,"i":29,"e":29,"o":29}]}],"o":[{"n":[{"e":[{"r":29}]}],"c":[{"r":[{"i":[{"n":29}]}]}],"t":[{"é":[{"r":29}],"i":[{"c":29,"q":29,"s":[{"m":29}]}]}],"g":[{"a":[{"m":[{"i":29}]}],"á":[{"m":[{"i":29}]}]}]}],"u":[{"b":[{"e":[{"r":29}]}],"d":[{"a":[{"r":29,"t":29,"c":29}]}]}],"t":[{"r":[{"a":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}],"p":[{"o":[{"l":[{"i":91}]}]}]}]}],"i":[{"g":[{"o":[{".":18}],"a":[{".":18,"s":[{".":18}],"m":[{"o":[{"s":[{".":18}]}]}]}],"á":[{"s":[{".":18}],"i":[{"s":[{".":18}]}],"m":[{"o":[{"s":[{"m":[{"e":[{".":21,"l":[{"e":[{".":21,"s":[{".":21}]}],"o":[{".":21,"s":[{".":21}]}],"a":[{".":22,"s":[{".":22}]}]}]}]}],"t":[{"e":[{".":21,"l":[{"e":[{".":21,"s":[{".":21}]}],"o":[{".":21,"s":[{".":21}]}],"a":[{".":22,"s":[{".":22}]}]}]}]}],"l":[{"e":[{".":21,"s":[{".":21}]}],"a":[{".":21,"s":[{".":21}]}],"o":[{".":21,"s":[{".":21}]}]}],"e":[{"l":[{"e":[{".":21,"s":[{".":21}]}],"o":[{".":21,"s":[{".":21}]}],"a":[{".":21,"s":[{".":21}]}]}]}]}],"n":[{"o":[{"s":[{".":21,"l":[{"e":[{".":21,"s":[{".":21}]}],"o":[{".":21,"s":[{".":21}]}],"a":[{".":21,"s":[{".":21}]}]}]}]}]}],"o":[{"s":[{".":21,"l":[{"e":[{".":21,"s":[{".":21}]}],"o":[{".":21,"s":[{".":21}]}],"a":[{".":21,"s":[{".":21}]}]}]}]}]}]}]}]}],"d":[{"a":[{"l":[{".":57,"e":[{"s":[{".":57}]}]}]}],"e":[{"o":[{".":18,"s":[{".":18}]}]}]}],"n":[{"i":[{"c":[{"i":[{"a":29,"á":29,"e":29},29]}]}],"í":[{"c":[{"i":[{"a":29},29]}]}],"f":[{"r":[{"a":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}],"t":[{"e":[{"r":[{"é":[{"s":43}],"e":[{"s":[{"a":[{"r":75}]}]}],"i":[{"n":[{"s":[{"t":77}]},76],"o":[{"r":79}]}],"r":[{"e":[{"g":[{"n":[{"o":78}]}]}]}]}]}],"r":[{"a":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}]}],"b":[{"e":[{"r":[{"o":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}]}],"c":[{"o":[{"n":[{"o":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}],".":86,"s":[{".":86}]}],"a":[{".":86,"s":[{".":86}]}]}],"a":[{"n":[{"o":[{".":25,"s":[{".":25}]}],"a":[{".":25,"s":[{".":25}]}]}],"r":[{"e":[{"s":[{".":83}]}]}],".":2,"s":[{".":2}]}],"s":[{"o":[{"h":53,"a":54,"e":54,"i":54,"o":54,"u":54,"á":54,"é":54,"í":54,"ó":54,"ú":54}]}],"o":[{".":2,"s":[{".":2}]}],"e":[{"r":[{".":25}]}]}],"é":[{"s":1,"i":[{"s":[{".":1}]}],".":1,"d":[{"m":[{"e":[{"l":[{"e":[{".":1,"s":[{".":1}]}],"o":[{".":1,"s":[{".":1}]}],"a":[{".":19,"s":[{".":19}]}]}]}]}],"t":[{"e":[{"l":[{"e":[{".":1,"s":[{".":1}]}],"o":[{".":1,"s":[{".":1}]}],"a":[{".":19,"s":[{".":19}]}]}]}]}],"s":[{"e":[{"l":[{"e":[{".":1,"s":[{".":1}]}],"o":[{".":1,"s":[{".":1}]}],"a":[{".":1,"s":[{".":1}]}]}]}]}],"n":[{"o":[{"s":[{"l":[{"e":[{".":1,"s":[{".":1}]}],"o":[{".":1,"s":[{".":1}]}],"a":[{".":1,"s":[{".":1}]}]}]}]}]}],"r":[{"i":[{"c":[{"o":[{".":18,"s":[{".":18}]}],"a":[{".":18,"s":[{".":18}]}]}]}]}]}],"o":[{"s":[{"l":[{"e":[{".":1,"s":[{".":1}]}],"o":[{".":1,"s":[{".":1}]}],"a":[{".":1,"s":[{".":1}]}]}]}]}],"r":[{"m":[{"e":[{"l":[{"e":[{".":1,"s":[{".":1}]}],"o":[{".":1,"s":[{".":1}]}],"a":[{".":19,"s":[{".":19}]}]}]}]}],"t":[{"e":[{"l":[{"e":[{".":1,"s":[{".":1}]}],"o":[{".":1,"s":[{".":1}]}],"a":[{".":19,"s":[{".":19}]}]}]}]}],"s":[{"e":[{"l":[{"e":[{".":1,"s":[{".":1}]}],"o":[{".":1,"s":[{".":1}]}],"a":[{".":1,"s":[{".":1}]}]}]}]}],"n":[{"o":[{"s":[{"l":[{"e":[{".":1,"s":[{".":1}]}],"o":[{".":1,"s":[{".":1}]}],"a":[{".":1,"s":[{".":1}]}]}]}]}]}],"o":[{"s":[{"l":[{"e":[{".":18,"s":[{".":18}]}],"o":[{".":18,"s":[{".":18}]}],"a":[{".":18,"s":[{".":18}]}]}]}]}]}]}],"í":[{"a":[{".":1,"s":[{".":1}],"m":[{"o":[{"s":[{".":19}]}]}],"i":[{"s":[{".":1}]}],"n":[{".":1}]}],".":1,"s":[{"t":[{"e":[{".":20,"s":[{".":20}],"i":[{"s":[{".":19}]}]}],"a":[{".":1,"s":[{".":1}]}],"i":[{"c":[{"o":[{".":1,"s":[{".":1}]}],"a":[{".":1,"s":[{".":1}]}]}]}]}],"m":[{"o":[{".":1,"s":[{".":1}]}]}]}],"t":[{"e":[{"s":[{".":18}]}]}],"m":[{"o":[{"s":[{".":18}]}]}],"d":[{"o":[{".":18,"s":[{".":18}]}],"a":[{".":18,"s":[{".":18}]}]}],"b":[{"l":[{"e":[{".":18,"s":[{".":18}]}]}]}]}],"á":[{"s":[{".":1,"e":[{"m":[{"o":[{"s":[{".":18}]}]}]}]}],"i":[{"s":[{".":1}]}],"b":[{"a":[{"m":[{"o":[{"s":[{".":18}]}]}]}]}],"r":[{"a":[{"m":[{"o":[{"s":[{".":18}]}]}]}],"e":[{"m":[{"o":[{"s":[{".":18}]}]}]}],"m":[{"e":[{"l":[{"e":[{".":25,"s":[{".":20}]}],"o":[{".":25,"s":[{".":20}]}],"a":[{".":20,"s":[{".":20}]}]}]}]}],"t":[{"e":[{"l":[{"e":[{".":20,"s":[{".":20}]}],"o":[{".":20,"s":[{".":20}]}],"a":[{".":20,"s":[{".":20}]}]}]}]}],"s":[{"e":[{"l":[{"e":[{".":20,"s":[{".":20}]}],"o":[{".":20,"s":[{".":20}]}],"a":[{".":20,"s":[{".":20}]}]}]}]}],"n":[{"o":[{"s":[{"l":[{"e":[{".":20,"s":[{".":20}]}],"o":[{".":20,"s":[{".":20}]}],"a":[{".":20,"s":[{".":20}]}]}]}]}]}],"o":[{"s":[{"l":[{"e":[{".":1,"s":[{".":1}]}],"o":[{".":1,"s":[{".":1}]}],"a":[{".":1,"s":[{".":1}]}]}]}]}]}],"d":[{"m":[{"e":[{"l":[{"e":[{".":1,"s":[{".":1}]}],"o":[{".":1,"s":[{".":1}]}],"a":[{".":19,"s":[{".":19}]}]}]}]}],"t":[{"e":[{"l":[{"e":[{".":1,"s":[{".":1}]}],"o":[{".":1,"s":[{".":1}]}],"a":[{".":19,"s":[{".":19}]}]}]}]}],"s":[{"e":[{"l":[{"e":[{".":1,"s":[{".":1}]}],"o":[{".":1,"s":[{".":1}]}],"a":[{".":1,"s":[{".":1}]}]}]}]}],"n":[{"o":[{"s":[{"l":[{"e":[{".":1,"s":[{".":1}]}],"o":[{".":1,"s":[{".":1}]}],"a":[{".":1,"s":[{".":1}]}]}]}]}]}]}],"o":[{"s":[{"l":[{"e":[{".":1,"s":[{".":1}]}],"o":[{".":1,"s":[{".":1}]}],"a":[{".":1,"s":[{".":1}]}]}]}]}],"n":[{"d":[{"o":[{"l":[{"e":[{".":1,"s":[{".":1}]}],"o":[{".":1,"s":[{".":1}]}],"a":[{".":1,"s":[{".":1}]}]}],"n":[{"o":[{"s":[{".":1}]}]}],"o":[{"s":[{".":1}]}],"m":[{"e":[{".":1,"l":[{"o":[{".":1,"s":[{".":1}]}],"a":[{".":1,"s":[{".":1}]}],"e":[{".":1,"s":[{".":1}]}]}]}]}],"t":[{"e":[{".":1,"m":[{"e":[{".":1}]}],"l":[{"o":[{".":1,"s":[{".":1}]}],"a":[{".":1,"s":[{".":1}]}],"e":[{".":1,"s":[{".":1}]}]}],"n":[{"o":[{"s":[{".":1}]}]}]}]}],"s":[{"e":[{".":1,"m":[{"e":[{".":1}]}],"l":[{"o":[{".":1,"s":[{".":1}]}],"a":[{".":1,"s":[{".":1}]}],"e":[{".":1,"s":[{".":1}]}]}],"n":[{"o":[{"s":[{".":1}]}]}]}]}]}]}]}]}],"ó":[{".":1,"l":[{"o":[{"g":[{"o":[{".":18,"s":[{".":18}]}],"a":[{".":18,"s":[{".":18}]}]}]}]}],"t":[{"i":[{"c":3}]}],"n":[{".":1}],"s":[{"t":[{"e":[{"o":[{".":1,"s":[{".":1}]}]}]}]}]}],"u":[{"t":[{"e":[{"r":[{"i":5}]}]}],"l":[{"t":[{"r":[{"a":[{"h":37,"a":38,"e":38,"i":38,"o":38,"u":38,"á":38,"é":38,"í":38,"ó":38,"ú":38}]}]}]}]}]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/1162.adapter.js b/public/tools/cloud_sheets/vendor/univer/1162.adapter.js new file mode 100644 index 0000000..b806627 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/1162.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[1162],{1162(h,y,n){n.r(y),n.d(y,{Pi:()=>s});const s=["0223,022,01,232,322,2322,212,23",'{".":[{"n":[{"h":[{"ā":0}],"t":1}]}],"a":2,"b":[{"b":3,"h":4,"m":3,"r":4,"y":4}],"c":[{"c":3,"h":4}],"d":[{"d":3,"h":4,"m":3,"r":4,"v":4}],"e":2,"g":[{"d":[{"h":5}],"g":3,"h":4,"r":3,"y":3}],"h":[{"m":3,"v":3,"y":3}],"i":2,"j":[{"h":4,"j":3}],"k":[{"h":4,"k":3,"l":3,"r":4,"v":4,"y":4}],"l":[{"l":3,"y":3}],"m":[{"b":3,"h":3,"m":3,"p":3,"y":3}],"n":[{"d":3,"h":6,"n":3,"t":6,"v":3}],"o":2,"p":[{"h":4,"l":3,"p":3}],"s":[{"m":3,"n":4,"s":3,"t":3,"v":4,"y":4}],"t":[{"h":4,"n":3,"r":3,"t":3,"v":4,"y":4}],"u":2,"v":[{"h":3,"y":4}],"y":[{"h":3,"v":4,"y":3}],"ñ":[{"c":3,"h":3,"j":3,"ñ":3}],"ā":2,"ī":2,"ū":2,"ḍ":[{"ḍ":3}],"ḷ":[{"h":4}],"ṁ":[{"n":[{"h":5}]},7],"ṃ":[{"n":[{"h":5}]},7],"ṅ":[{"g":3,"k":3}],"ṇ":[{"h":3,"y":3,"ḍ":3,"ṇ":3,"ṭ":3}],"ṭ":[{"h":4,"ṭ":3}]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/1180.adapter.js b/public/tools/cloud_sheets/vendor/univer/1180.adapter.js new file mode 100644 index 0000000..0d4ae96 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/1180.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[1180],{1180(s,o,n){n.r(o),n.d(o,{Kn:()=>e});const e=["22,11,01,1,21",'{"‍":0,"‌":1,"ಅ":2,"ಆ":2,"ಇ":2,"ಈ":2,"ಉ":2,"ಊ":2,"ಋ":2,"ೠ":2,"ಌ":2,"ೡ":2,"ಎ":2,"ಏ":2,"ಐ":2,"ಒ":2,"ಓ":2,"ಔ":2,"ಾ":2,"ಿ":2,"ೀ":2,"ು":2,"ೂ":2,"ೃ":2,"ೄ":2,"ೆ":2,"ೇ":2,"ೈ":2,"ೊ":2,"ೋ":2,"ೌ":2,"ಕ":3,"ಖ":3,"ಗ":3,"ಘ":3,"ಙ":3,"ಚ":3,"ಛ":3,"ಜ":3,"ಝ":3,"ಞ":3,"ಟ":3,"ಠ":3,"ಡ":3,"ಢ":3,"ಣ":3,"ತ":3,"ಥ":3,"ದ":3,"ಧ":3,"ನ":3,"ಪ":3,"ಫ":3,"ಬ":3,"ಭ":3,"ಮ":3,"ಯ":3,"ರ":3,"ಱ":3,"ಲ":3,"ಳ":3,"ೞ":3,"ವ":3,"ಶ":3,"ಷ":3,"ಸ":3,"ಹ":3,"ಂ":4,"ಃ":4,"ಽ":4,"ೕ":4,"ೖ":4,"್":0}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/1281.adapter.js b/public/tools/cloud_sheets/vendor/univer/1281.adapter.js new file mode 100644 index 0000000..412d2aa --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/1281.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[1281],{1281(s,r,n){n.r(r),n.d(r,{Rm:()=>t});const t=["22,2,4,032,00001,000032,0001,0043,0000021,0023,0000001,0012,002403,021,002003,000023,00003,0032,000001,00023,02,001,000203,00021,01,1,002,202,232,23,04,023,32,0223,12,0002,043,32002,21",'{"\'":[{".":1},0],"b":[{"\'":1,"b":1,"c":1,"d":1,"f":1,"m":1,"n":1,"p":1,"s":1,"t":1,"v":1,"l":20,"r":20,".":1},25],"c":[{"\'":1,"h":[{"\'":[{".":1,"\'":1}],"h":1,".":1,"b":1,"r":26,"n":1},20],"b":1,"c":1,"d":1,"f":1,"k":1,"m":1,"n":1,"q":1,"s":1,"t":1,"z":1,"l":20,"r":20,".":1},25],"d":[{"\'":1,"b":1,"d":1,"g":1,"l":1,"m":1,"n":1,"p":1,"r":20,"s":1,"t":1,"v":1,"w":1,".":1},25],"f":[{"\'":1,"b":1,"g":1,"f":1,"n":1,"l":20,"r":20,"s":1,"t":1,".":1},25],"g":[{"\'":1,"b":1,"d":1,"f":1,"g":1,"h":[{"t":27},20],"l":20,"m":1,"n":20,"p":1,"r":20,"s":1,"t":1,"v":1,"w":1,"z":1,".":1},25],"h":[{"\'":1,"b":1,"d":1,"h":1,"i":[{"p":[{"n":17}]}],"l":20,"m":1,"n":1,"r":1,"v":1,".":1},25],"j":[{"\'":1,".":1},25],"k":[{"\'":1,"g":1,"f":1,"h":20,"k":1,"l":20,"m":1,"r":20,"s":1,"t":1,".":1},25],"l":[{"\'":[{".":1,"\'":1}],"b":1,"c":1,"d":1,"f":28,"g":1,"h":20,"j":20,"k":1,"l":1,"m":1,"n":1,"p":1,"q":1,"r":1,"s":1,"t":1,"v":1,"w":1,"z":1,".":1},25],"m":[{"\'":1,"b":1,"c":1,"f":1,"l":1,"m":1,"n":1,"p":1,"q":1,"r":1,"s":1,"t":1,"v":1,"w":1,".":1},25],"n":[{"\'":1,"b":1,"c":1,"d":1,"f":1,"g":[{"n":31},1],"k":1,"l":1,"m":1,"n":1,"p":1,"q":1,"r":1,"s":[{".":1,"c":[{"h":[{".":30},29]}],"f":[{"e":[{"r":31}]}]},1],"t":1,"v":1,"z":1,"h":[{"e":[{"i":[{"t":1}]}]}],".":1},25],"p":[{"\'":1,"d":1,"h":20,"l":20,"n":[{"e":32},1],"p":1,"r":20,"s":[{"i":[{"c":32}]},1],"t":1,"z":1,".":1},25],"q":[{"\'":1,"q":1,".":1},25],"r":[{"\'":1,"b":1,"c":1,"d":1,"f":1,"h":20,"g":1,"k":1,"l":1,"m":1,"n":1,"p":1,"q":1,"r":1,"s":1,"t":[{"s":33},1],"v":1,"x":1,"w":1,"z":1,".":1},25],"s":[{"\'":[{".":2,"\'":2}],"c":[{"h":[{"\'":1,"s":[{"\'":1,".":1}],".":1},35]}],"h":[{"\'":1,"m":1,".":1}],"t":[{"\'":1,".":1,"b":1,"c":1,"d":1,"f":1,"g":[{".":2}],"m":1,"n":1,"p":1,"s":1,"t":1,"v":1}],"l":29,"s":[{"m":36},29],"p":[{"n":28}],"z":1,".":2},34],"t":[{"s":[{"c":[{"h":[{"\'":2,"s":[{"\'":2,".":2}],".":2},37]}]},20],"\'":[{".":1,"\'":1}],"b":1,"c":1,"d":1,"f":1,"g":[{".":1},20],"h":20,"l":20,"m":1,"n":1,"p":1,"r":20,"t":[{"s":31},1],"v":1,"w":1,"z":[{"k":1,"s":26},20],".":1},25],"v":[{"\'":[{".":1,"\'":1}],"c":1,"l":20,"r":20,"s":[{".":1}],"v":1,".":1},25],"w":[{"\'":1,"h":20,"a":[{"r":26}],"y":38,".":1},25],"x":[{"\'":1,"b":1,"c":1,"f":1,"h":1,"m":1,"p":1,"t":1,"w":1,".":1},25],"z":[{"\'":[{".":1,"\'":1}],"b":1,"d":1,"l":1,"n":1,"p":1,"r":1,"t":1,"s":1,"v":1,"z":1,".":1},25],".":[{"a":[{"p":[{"n":3}],"n":[{"t":[{"i":[{"m":[{"n":5}]},4]}]}]}],"b":[{"i":[{"o":6}]}],"c":[{"a":[{"p":[{"s":7}]}],"i":[{"r":[{"c":[{"u":[{"m":8}]}]}]}],"o":[{"n":[{"j":9,"t":[{"r":[{"o":10}]}]}],"o":[{"p":11}]}]},20],"d":[{"i":[{"s":[{"c":[{"h":[{"o":[{"c":12}]}]}]},9]}]},20],"e":[{"x":[{"e":13,"t":[{"r":[{"a":14}]}]}]}],"f":[{"r":[{"a":[{"n":[{"k":15}]}],"e":[{"e":16}]}]}],"l":[{"i":[{"p":[{"s":[{"a":17}]}]}]}],"n":[{"a":[{"r":[{"c":[{"o":18}]}]}]}],"o":[{"p":[{"t":[{"o":4}]}],"r":[{"t":[{"o":[{"p":5}]}]}]}],"p":[{"a":[{"r":[{"a":4}]}],"l":[{"u":[{"s":[{"q":19}]}]}],"o":[{"l":[{"i":[{"p":5}]}]}],"r":[{"e":6}],"s":20}],"r":[{"e":[{"a":[{"c":21}],"i":[{"s":[{"c":[{"r":11}]}]}]}]}],"s":[{"h":[{"a":[{"r":[{"e":22}]}]}],"u":[{"b":[{"j":9,"l":[{"u":9}],"r":9}]}]}],"t":[{"r":[{"a":[{"n":[{"s":[{"a":[{"c":15}],"c":15,"d":15,"l":15,"n":15,"p":15,"r":15,"t":15}]}]}]}]}],"w":[{"a":[{"g":[{"n":9}]}],"e":[{"l":[{"t":23}]}]}],"z":20}],"a":[{"i":[{"a":24,"e":24,"o":24,"u":24}],"u":[{"o":24}],"y":[{"a":24}],"t":[{".":1}]}],"e":[{"i":[{"u":24}],"w":20}],"o":[{"i":[{"a":24,"e":24,"o":24,"u":24}]}],"y":[{"o":[{"u":24}],"i":24}]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/1321.adapter.js b/public/tools/cloud_sheets/vendor/univer/1321.adapter.js new file mode 100644 index 0000000..29c5746 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/1321.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[1321],{1321(t,n,e){e.r(n),e.d(n,{Fr:()=>i});const i=["22,04,004,002,003,0003,012,0034,00034,1,02,021,0000012,00000012,000034,12,022,000012,00002,000002,00023,000023,0002,023,000203,4,2,0012,001,00012,00212,003032,03,0000003,00003,000000003,00000004,000004,0002003,0000232,0021,203,0004,00004,0023,000003,00323,0032,32,0212,000212,000001,00000003,00001,0000002,000041,01,000005,0000004,0000043,00000002,000043,000000002,0000212,032,0000023,0001,00122,00000032,302,00021,000032,0045,23,0000032",'{"\'":[{"a":[{"b":[{"r":[{"é":[{"a":5}]}]}],"e":[{"s":[{"c":[{"h":8}]}]}],"l":[{"c":[{"o":[{"o":[{"l":10}]}]}]}],"m":[{"i":[{"n":[{"o":[{"a":[{"c":13}]}]}]}]}],"n":[{"a":[{"s":[{"t":[{"r":14}]}]}],"e":[{"s":[{"t":[{"h":[{"é":[{"s":[{"i":16}]}]}]}]}]}],"t":[{"i":[{"a":12,"e":[{"n":[{"n":[{"e":19}]}]},12],"é":12,"s":12}]}]}],"p":[{"o":[{"s":[{"t":[{"a":21}]}]}]}],"s":[{"t":[{"a":22}]}],"r":[{"g":[{"e":[{"n":[{"t":[{".":5}]}]}]}],"p":[{"e":[{"n":[{"t":[{".":5}]}]}]}]}],"g":[{"n":[{"a":[{"t":44}]}]}]},2],"â":2,"e":[{"n":[{"a":29,"o":29}],"u":[{"r":[{"a":50}]}]},2],"ê":2,"é":2,"è":2,"i":[{"g":[{"n":[{"é":44,"i":44}]}],"n":[{"f":[{"o":[{"r":[{"m":[{"a":[{"t":10}]}]}]}]}],"a":[{"n":[{"i":[{"t":20}]}],"u":[{"g":[{"u":[{"r":22}]}]}]},29],"e":[{"f":[{"f":[{"a":[{"b":22}]}]}],"p":[{"t":22}],"r":22,"x":[{"o":[{"r":[{"a":22}]}]}]},29],"é":[{"l":[{"u":[{"c":[{"t":[{"a":20}]}]}]}],"n":[{"a":[{"r":[{"r":[{"a":20}]}]}]}]},29],"i":[{"m":[{"i":[{"t":[{"i":20}]}]}],"q":20,"t":20},29],"o":[{"c":[{"u":[{"l":20}]}],"n":[{"d":22}]},29],"s":[{"t":[{"a":[{"b":29}]}]}],"t":[{"e":[{"r":[{"a":60,"e":60,"é":60,"i":60,"o":60,"u":60,"s":60},59]}]}],"u":[{"i":[{"t":22}],"l":20},29]}]},2],"o":[{"n":[{"g":[{"u":[{"e":[{"n":[{"t":[{".":5}]}]}]}]}]}],"c":[{"t":[{"e":[{"t":10}]}]}],"u":[{"a":[{"o":[{"u":53}]}]}],"v":[{"i":[{"s":[{"c":17}]}]}]},2],"î":2,"ô":2,"u":2,"û":2,"y":2},0],".":[{"a":[{"b":[{"r":[{"é":[{"a":4}]}]}],"e":[{"s":[{"c":[{"h":7}]}]}],"m":[{"i":[{"n":[{"o":[{"a":[{"c":12}]}]}]}]}],"n":[{"a":[{"s":[{"t":[{"r":8}]}]}],"t":[{"i":[{"a":17,"e":[{"n":[{"n":[{"e":18}]}]},17],"é":17,"s":17}]}]}],"p":[{"o":[{"s":[{"t":[{"a":20}]}]}]}],"s":[{"t":[{"a":3}]}],"r":[{"d":[{"e":[{"n":[{"t":[{".":4}]}]}]}],"g":[{"e":[{"n":[{"t":[{".":4}]}]}]}],"p":[{"e":[{"n":[{"t":[{".":4}]}]}]}]}],"g":[{"n":[{"a":[{"t":23}]}]}]},1],"â":1,"b":[{"a":[{"i":[{"s":[{"e":[{"m":[{"a":[{"i":[{"n":24}]}]}]}]}]}]}],"i":[{"a":[{"c":27,"t":27,"u":28}],"o":[{"a":29}],"s":[{"a":30}],"u":27}]}],"c":[{"h":[{"è":[{"v":[{"r":[{"e":[{"f":[{"e":[{"u":[{"i":[{"l":[{"l":[{"e":38}]}]}]}]}]}]}]}]}]}]},2],"i":[{"s":[{"a":[{"l":[{"p":40}]}]}]}],"o":[{"n":[{"s":43,"t":[{"r":[{"e":[{"s":[{"c":13}],"m":[{"a":[{"î":[{"t":[{"r":[{"e":33}]}]}]}]}]}]}]}]},42],"o":[{"l":[{"i":[{"e":44}]}]},27],"m":[{"m":[{"e":[{"n":[{"t":[{".":5}]}]}]}]}]}],"u":[{"l":42}]}],"d":[{"a":[{"c":[{"r":[{"y":[{"o":[{"a":13}]}]}]}]}],"é":[{"a":27,"i":[{"o":28}],"o":27,"s":[{"a":[{"c":[{"r":46}],"m":20,"t":[{"e":[{"l":[{"l":46}]}]}],"s":[{"t":[{"r":47}]}]}],"c":47,"é":[{"g":[{"r":46}]},30],"e":[{"n":[{"s":[{"i":[{"b":47}]}]}],"r":[{"t":47}],"x":[{"u":47}]}],"i":[{"d":46,"g":[{"n":46}],"l":[{"i":46}],"n":[{"e":[{"n":46}],"v":[{"o":47}]}],"r":46,"s":[{"t":47}]},30],"o":[{"d":[{"é":46}],"l":46,"p":[{"i":[{"l":46}]}],"r":[{"m":47,"p":47}],"u":[{"f":[{"r":47}]}]}],"œ":40,"p":47,"t":47,"u":[{"n":30}]},3]}],"i":[{"a":[{"c":[{"é":27,"i":[{"d":27}]}],"l":[{"d":28}],"m":[{"i":27}],"t":[{"o":[{"m":27}]}]}],"e":[{"n":27}],"s":[{"h":44}]}],"y":[{"s":[{"a":30,"i":30,"o":30,"u":30},44]}],"o":[{"l":[{"e":[{"n":[{"t":[{".":4}]}]}]}]}]}],"e":[{"n":[{"a":27,"o":27}],"u":[{"r":[{"a":30}]}]},1],"ê":1,"é":[{"m":[{"i":[{"n":[{"e":[{"n":[{"t":[{".":5}]}]}]}]}]}]},1],"è":1,"i":[{"g":[{"n":[{"é":23,"i":23}]}],"n":[{"a":[{"n":[{"i":[{"t":44}]}],"u":[{"g":[{"u":[{"r":3}]}]}]},27],"e":[{"f":[{"f":[{"a":[{"b":3}]}]}],"p":[{"t":3}],"r":3,"x":[{"o":[{"r":[{"a":3}]}]}]},27],"é":[{"l":[{"u":[{"c":[{"t":[{"a":44}]}]}]}],"n":[{"a":[{"r":[{"r":[{"a":44}]}]}]}]},27],"i":[{"m":[{"i":[{"t":[{"i":44}]}]}],"q":44,"t":44},27],"o":[{"c":[{"u":[{"l":44}]}],"n":[{"d":3}]},27],"s":[{"t":[{"a":[{"b":27}]}]}],"t":[{"e":[{"r":[{"a":54,"e":54,"é":54,"i":54,"o":54,"u":54,"s":54},61]}]}],"u":[{"i":[{"t":3}],"l":44},27]}]},1],"m":[{"a":[{"g":[{"n":[{"i":[{"c":[{"i":[{"d":[{"e":44}]}]}],"f":[{"i":[{"c":[{"a":[{"t":44}]}]}]}]}],"u":[{"m":44}]}]}],"c":[{"k":44,"r":[{"o":[{"s":[{"c":12}]}]}]}],"l":[{"a":[{"d":[{"r":[{"e":[{"s":30}],"o":30}]}],"i":[{"s":[{"é":40}]}],"p":40,"v":30}],"e":[{"n":40}],"i":[{"n":[{"t":40}]}],"o":[{"c":40,"d":30}]}],"r":[{"x":40}]}],"é":[{"g":[{"o":[{"h":40}]}],"s":[{"a":[{"n":4},3],"e":[{"s":40}],"i":40,"u":[{"s":30}]}],"t":[{"a":[{"s":[{"t":[{"a":17}]}]}]}]}],"i":[{"l":[{"l":[{"i":[{"a":[{"m":51}]}]}]}]}],"o":[{"n":[{"o":[{"a":17,"e":17,"é":17,"i":17,"ï":[{"d":[{"é":17}]}],"o":17,"u":17,"s":17}]}]}]}],"p":[{"r":[{"o":[{"g":[{"n":[{"a":[{"t":[{"h":20}]}]}]}],"é":29,"s":[{"c":[{"é":29}]}],"u":[{"d":[{"h":71}]}]}],"é":[{"a":[{"l":[{"a":20}],"u":22},29],"é":29,"e":29,"i":29,"o":29,"u":29,"s":29}]}],"a":[{"n":[{"a":[{"f":30,"m":[{"é":30}],"r":[{"a":30}]}],"i":[{"s":40}],"o":[{"p":[{"h":30,"t":40}]}]}],"r":[{"a":[{"c":[{"h":[{"e":30,"è":30}]}],"s":17}],"h":[{"é":44}],"e":[{"n":[{"t":[{".":4}]}]}]}],"t":[{"e":[{"n":[{"t":[{".":4}]}]}]}]}],"e":[{"n":[{"t":[{"a":22}]}],"r":[{"a":29,"e":29,"é":29,"i":29,"o":29,"u":29},2]}],"é":[{"r":[{"i":[{"o":[{"s":53}],"s":[{"s":21,"t":[{"a":21}]},17],"u":17}]}]}],"h":[{"a":[{"l":[{"a":[{"n":[{"s":[{"t":68}]}]}]}]}]},2],"l":[{"u":[{"r":[{"i":[{"a":51}]}]}]}],"o":[{"n":[{"t":[{"e":[{"t":22}]}]}],"s":[{"t":[{"h":20,"i":[{"n":70}],"o":50,"r":20,"s":17}]}]}],"s":[{"y":[{"c":[{"h":[{"o":[{"a":[{"n":13}]}]}]}]}]}],"u":[{"d":[{"d":[{"l":29}]}]}]}],"s":[{"t":[{"a":[{"g":[{"n":20}]}],"i":[{"l":[{"l":34}]}]}],"y":[{"n":[{"g":[{"n":[{"a":[{"t":[{"h":20}]}]}]}]}]}],"a":[{"r":[{"m":[{"e":[{"n":[{"t":[{".":5}]}]}]}]}]}],"e":[{"r":[{"m":[{"e":[{"n":[{"t":[{".":5}]}]}]}]}],"u":[{"l":[{"e":22}]}]}],"c":[{"h":42}],"h":2,"u":[{"b":[{"a":[{"l":[{"t":47}]},30],"é":[{"r":46},30],"i":[{"n":40}],"l":[{"i":[{"m":[{"i":[{"n":44}]}],"n":44}],"u":44}],"u":[{"r":40}]}],"r":[{"a":[{"t":46},30],"e":[{"a":[{"u":47}],"l":[{"l":47}],"t":47},30],"é":30,"h":44,"i":[{"m":30,"n":[{"f":40,"t":40}]}],"o":[{"f":40,"x":40}]}]}],"o":[{"u":[{"v":[{"e":[{"n":[{"t":[{".":5}]}]}]}]}]}]}],"o":[{"n":[{"g":[{"u":[{"e":[{"n":[{"t":[{".":4}]}]}]}]}]}],"u":[{"a":[{"o":[{"u":66}]}]}],"v":[{"i":[{"s":[{"c":29}]}]}]},1],"î":1,"k":[{"h":2}],"t":[{"a":[{"l":[{"e":[{"n":[{"t":[{".":4}]}]}]}]}],"h":2,"r":[{"i":[{"a":[{"c":29,"n":29,"t":29}],"o":[{"n":29}]}]}]}],"g":[{"e":[{"m":[{"m":[{"e":[{"n":[{"t":[{".":22}]}]}]}]}]}]}],"n":[{"o":[{"n":[{"o":[{"b":[{"s":40}]}]}]}]}],"ô":1,"r":[{"é":[{"a":[{"l":[{"e":44,"i":[{"s":44,"t":44}]}],"u":[{"x":3}]},27],"é":27,"e":[{"l":3,"r":3},27],"è":[{"r":3}],"i":[{"f":[{"i":44}]},27],"o":27,"u":[{"s":[{"s":3}]},22],"t":[{"r":[{"o":[{"a":12}]}]}]}],"e":[{"s":[{"c":[{"a":[{"p":44}],"i":[{"s":[{"i":44,"o":44}]}],"o":[{"u":44}],"r":[{"i":44}]}],"p":[{"e":[{"c":[{"t":44}]}],"i":[{"r":44}],"l":[{"e":[{"n":[{"d":44}]}]}],"o":[{"n":[{"s":44}]}]}],"q":[{"u":[{"i":[{"l":44}]}]}],"s":[{"e":[{"n":[{"t":[{".":5}]}]}]},44],"t":[{"a":[{"b":7,"g":7,"n":[{"d":7}],"t":7}],"é":[{"n":7,"r":7}],"i":[{"m":7,"p":7}],"o":[{"c":7,"p":7}],"r":[{"e":[{"i":[{"n":72}]}],"i":[{"c":[{"t":72}],"n":72}]},7],"u":7,"y":7},44]},27]}]}],"l":[{"a":[{"t":[{"e":[{"n":[{"t":[{".":4}]}]}]}]}]}],"u":1,"û":1,"y":1}],"a":[{"b":[{"h":3,"î":[{"m":[{"e":[{"n":[{"t":[{".":22}]}]}]}]}],"s":[{"t":[{"i":[{"n":[{"e":[{"n":[{"t":[{".":45}]}]}]}]}]}],"e":[{"n":[{"t":[{".":4}]}]}]}]}],"d":[{"h":3}],"è":[{"d":[{"r":[{"e":6}]}]}],"l":[{"c":[{"o":[{"o":[{"l":9}]}]}],"a":[{"l":[{"g":[{"i":11}]}]}]}],"n":[{"e":[{"s":[{"t":[{"h":[{"é":[{"s":[{"i":15}]}]}]}]}]}],"i":[{"m":[{"e":[{"n":[{"t":[{".":22}]}]}]}]}],"t":[{"i":[{"f":[{"e":[{"r":[{"m":[{"e":[{"n":[{"t":[{".":52}]}]}]}]}]}]}]}]}]}],"p":[{"o":[{"s":[{"t":[{"r":20}]}]}],"p":[{"a":[{"r":[{"e":[{"n":[{"t":[{".":34}]}]}]}]}]}]}],"r":[{"c":[{"h":[{"i":[{"é":[{"p":[{"i":[{"s":12}]}]}]}]}]}],"m":[{"i":[{"l":[{"l":57}]}],"e":[{"n":[{"t":[{".":3}]}]}]}]}],"s":[{"t":[{"r":[{"o":23}]}],"m":[{"e":[{"n":[{"t":[{".":3}]}]}]}]}],"c":[{"c":[{"e":[{"n":[{"t":[{".":4}]}]}]}],"q":[{"u":[{"i":[{"e":[{"s":[{"c":[{"e":[{"n":[{"t":[{".":36}]}]}]}]}]}]}]}]}]}],"g":[{"n":[{"o":[{"s":23}]}]}],"v":[{"i":[{"l":[{"l":43}]}]}],"m":[{"a":[{"l":[{"g":[{"a":[{"m":[{"e":[{"n":[{"t":[{".":54}]}]}]}]}]}]}]}]}],"i":[{"m":[{"e":[{"n":[{"t":[{".":3}]}]}]}]}],"u":[{"m":[{"e":[{"n":[{"t":[{".":3}]}]}]}]}]}],"b":[{"a":9,"â":9,"e":[{".":25,"s":[{".":25}],"n":[{"t":[{".":26}]}]},9],"é":9,"è":9,"ê":9,"i":9,"î":9,"l":[{"e":[{".":25,"s":[{".":25}],"n":[{"t":[{".":26}]}]}]},15],"o":[{"u":[{"t":[{"i":[{"l":[{"l":33}]}]}],"m":[{"e":[{"n":[{"t":[{".":22}]}]}]}]}]},9],"ô":9,"r":[{"e":[{".":25,"s":[{".":25}],"n":[{"t":[{".":26}]}]}],"u":[{"m":[{"e":[{"n":[{"t":[{".":22}]}]}]}]}]},15],"u":9,"û":9,"y":9}],"ç":9,"c":[{"a":[{"o":[{"u":[{"t":31}]}],"p":[{"i":[{"l":[{"l":45}]}]}],"r":[{"ê":[{"m":[{"e":[{"n":[{"t":[{".":18}]}]}]}]}]}]},9],"â":9,"e":[{".":25,"s":[{".":25}],"n":[{"t":[{".":26}]}]},9],"é":9,"è":9,"ê":9,"h":[{".":25,"b":26,"e":[{".":25,"s":[{".":25}],"n":[{"t":[{".":26}]}],"v":[{"i":[{"l":[{"l":58}]}]}]}],"g":26,"l":[{"e":[{".":25,"s":[{".":25}]}],"o":[{"r":[{"a":[{"c":39}],"é":[{"t":39}]}]}]},3],"m":26,"n":26,"p":26,"r":[{"e":[{".":25,"s":[{".":25}]}],"o":[{"m":[{"e":[{"n":[{"t":[{".":18}]}]}]}]}]},3],"s":26,"t":26,"w":26,"i":[{"e":[{"n":[{"d":[{"e":[{"n":[{"t":[{".":45}]}]}]}]}]}]}]},15],"i":[{"l":[{"l":5}]},9],"î":9,"k":[{".":25,"b":26,"e":[{".":25,"s":[{".":25}],"n":[{"t":[{".":26}]}]}],"f":26,"g":26,"h":41,"p":26,"s":26,"t":26},15],"l":[{"e":[{".":25,"s":[{".":25}],"n":[{"t":[{".":26}]}]}],"a":[{"m":[{"e":[{"n":[{"t":[{".":22}]}]}]}]}]},15],"o":[{"a":[{"c":[{"c":28,"q":28}],"d":27,"p":28,"r":28,"s":[{"s":[{"o":[{"c":28}],"u":[{"r":28}]}]}],"u":28,"x":28}],"é":27,"e":[{"f":28,"n":28,"x":28}],"n":[{"u":[{"r":[{"b":3}]}],"f":[{"i":[{"d":[{"e":[{"n":[{"t":[{".":45}]}]}]}]}]}],"t":[{"i":[{"n":[{"g":[{"e":[{"n":[{"t":[{".":33}]}]}]}],"e":[{"n":[{"t":[{".":45}]}]}]}]}]}],"n":[{"i":[{"v":[{"e":[{"n":[{"t":[{".":45}]}]}]}]}]}]}],"g":[{"n":[{"i":[{"t":[{"i":44}]}]}]}],"r":[{"p":[{"u":[{"l":[{"e":[{"n":[{"t":[{".":45}]}]}]}]}]}]}],"m":[{"p":[{"é":[{"t":[{"e":[{"n":[{"t":[{".":45}]}]}]}]}]}]}]},9],"ô":9,"œ":9,"r":[{"e":[{".":25,"s":[{".":25}],"n":[{"t":[{".":26}]}]}]},15],"u":[{"r":[{"r":[{"e":[{"n":[{"t":[{".":5}]}]}]}]}]},9],"û":9,"y":[{"r":[{"i":[{"l":[{"l":45}]}]}]},9],"c":[{"i":[{"d":[{"e":[{"n":[{"t":[{".":5}]}]}]}]}]}]}],"j":[{"a":[{"c":[{"e":[{"n":[{"t":[{".":4}]}]}]}]}],"k":26,"e":[{".":25,"s":[{".":25}],"n":[{"t":[{".":26}]}]}]},9],"é":[{"c":[{"e":[{"n":[{"t":[{".":32}]}]}],"i":[{"m":[{"e":[{"n":[{"t":[{".":22}]}]}]}]}],"u":[{"m":[{"e":[{"n":[{"t":[{".":22}]}]}]}]}]}],"d":[{"e":[{"n":[{"t":[{".":32}]}]}],"h":[{"i":3}],"r":[{"i":[{"e":15,"q":[{"u":[{"e":15}]}]}]}]}],"l":[{"e":[{"c":[{"t":[{"r":15}]}]}],"é":[{"m":[{"e":[{"n":[{"t":15}]}]}]}],"i":[{"m":[{"e":[{"n":[{"t":[{".":22}]}]}]}]}],"o":[{"q":[{"u":[{"e":[{"n":[{"t":[{".":5}]}]}]}]}]}]}],"n":[{"e":[{"r":[{"g":15}]}],"i":[{"t":[{"e":[{"n":[{"t":[{".":5}]}]}]}]}]}],"p":[{"i":[{"s":[{"c":[{"o":[{"p":[{"e":8},20]}]}]}]}]}],"m":[{"i":[{"l":[{"l":43}]}]}],"q":[{"u":[{"i":[{"v":[{"a":[{"l":[{"e":[{"n":[{"t":[{".":58}]}]}]}]}]}],"p":[{"o":[{"t":[{"e":[{"n":[{"t":[{".":33}]}]}]}]}]}]}],"e":[{"n":[{"t":[{".":32}]}]}]}]}],"r":[{"e":[{"n":[{"t":[{".":32}]}]}]}]}],"m":[{"u":[{"n":[{"i":[{"f":[{"i":[{"c":[{"e":[{"n":[{"t":[{".":33}]}]}]}]}]}]}]}]},9],"i":[{"l":[{"l":[{"e":[{"t":42}]},5]}],"m":[{"e":[{"n":[{"t":[{".":3}]}]}]}],"t":[{"t":[{"e":[{"n":[{"t":[{".":5}]}]}]}]}]},9],"o":[{"n":[{"o":[{"v":[{"a":[{"l":[{"e":[{"n":[{"t":[{".":33}]}]}]}]}]}]}],"t":[{"r":[{"é":[{"a":[{"l":20}]}]}]}]}],"y":[{"e":[{"n":[{"â":[{"g":63}]}]}]}]},9],"a":9,"â":9,"e":[{".":25,"s":[{".":25}]},9],"é":[{"c":[{"o":[{"n":[{"t":[{"e":[{"n":[{"t":[{".":45}]}]}]}]}]}]}]},9],"è":9,"ê":9,"î":9,"n":[{"é":[{"m":[{"o":15}],"s":[{"i":15}]}],"è":[{"s":15}]}],"ô":9,"œ":9,"s":6,"û":9,"y":9}],"r":[{"é":[{"t":[{"i":[{"c":[{"e":[{"n":[{"t":[{".":34}]}]}]}]}]}],"g":[{"e":[{"n":[{"t":[{".":4}]}]}]}],"s":[{"u":[{"r":[{"g":[{"e":[{"n":[{"t":[{".":45}]}]}]}]}]}]}],"m":[{"a":[{"n":[{"e":[{"n":[{"t":[{".":34}]}]}]}]}]}]},9],"i":[{"n":[{"g":[{"e":[{"n":[{"t":[{".":5}]}]}]}]}],"m":[{"e":[{"n":[{"t":[{".":3}]}]}]}]},9],"c":[{"i":[{"l":[{"l":43}]}]}],"m":[{"i":[{"l":[{"l":43}]}]}],"e":[{"l":[{"e":[{"n":[{"t":[{".":4}]}]}],"i":[{"m":[{"e":[{"n":[{"t":[{".":18}]}]}]}]}]}],"p":[{"e":[{"n":[{"t":[{".":4}]}]}]}],".":25,"s":[{".":25}],"n":[{"t":[{".":26}]}]},9],"u":[{"l":[{"e":[{"n":[{"t":[{".":4}]}]}]}]},9],"a":[{"m":[{"e":[{"n":[{"t":[{".":3}]}]}]}],"i":[{"m":[{"e":[{"n":[{"t":[{".":5}]}]}]}]}],"d":[{"i":[{"o":[{"a":12}]}]}]},9],"y":[{"t":[{"h":[{"m":[{"e":[{"n":[{"t":[{".":18}]}]}]}]}]}]},9],"â":9,"è":9,"ê":9,"h":[{"e":[{".":25,"s":[{".":25}],"u":[{"r":73}]}],"y":[{"d":[{"r":73}]}]},15],"î":9,"o":9,"ô":9,"û":9}],"p":[{"r":[{"i":[{"v":[{"a":[{"t":[{"d":[{"o":[{"c":[{"e":[{"n":[{"t":[{".":35}]}]}]}],"z":[{"e":[{"n":[{"t":[{".":35}]}]}]}]}]}]}]}]}]}],"u":[{"d":[{"e":[{"n":[{"t":[{".":5}]}]}]}]}],"é":[{"é":[{"m":[{"i":[{"n":[{"e":[{"n":[{"t":[{".":33}]}]}]}]}]}]}],"s":[{"e":[{"n":[{"t":[{".":5}]}]}]}]}],"o":[{"é":[{"m":[{"i":[{"n":[{"e":[{"n":[{"t":[{".":33}]}]}]}]}]}]}],"s":[{"t":[{"a":[{"t":20}]}]}]}],"e":[{".":25,"s":[{".":25}],"n":[{"t":[{".":26}]}]}]},15],"u":[{"g":[{"n":[{"a":[{"b":[{"l":[{"e":44}]}],"c":44}]}]}],"p":[{"i":[{"l":[{"l":45}]}]}],"s":[{"i":[{"l":[{"l":45}]}]}]},9],"a":[{"p":[{"i":[{"l":[{"l":[{"a":45,"e":45,"i":45,"o":[{"m":45}]}]}]}]}],"l":[{"é":[{"o":[{"é":12}]}]}]},9],"i":[{"r":[{"i":[{"l":[{"l":45}]}]}]},9],"o":[{"l":[{"y":[{"v":[{"a":[{"l":[{"e":[{"n":[{"t":[{".":33}]}]}]}]}]}],"a":17,"e":17,"é":17,"è":17,"i":17,"o":17,"s":17,"u":17}]}],"a":[{"s":[{"t":[{"r":[{"e":28}]}]}]}]},9],"l":[{"u":[{"m":[{"e":[{"n":[{"t":[{".":22}]}]}]}]}],"e":[{".":25,"s":[{".":25}],"n":[{"t":[{".":26}]}]}]},15],"e":[{"r":[{"m":[{"a":[{"n":[{"e":[{"n":[{"t":[{".":45}]}]}]}]}]}],"t":[{"i":[{"n":[{"e":[{"n":[{"t":[{".":45}]}]}]}]}]}],"h":5}],".":25,"s":[{".":25}],"n":[{"t":[{".":26}]}]},9],"â":9,"é":[{"n":[{"u":[{"l":3}]}],"r":[{"é":[{"q":67}]}]},9],"è":9,"ê":9,"h":[{".":25,"e":[{".":25,"s":[{".":25}],"n":[{"t":[{".":26}]}]}],"l":[{"e":[{".":25,"s":[{".":25}]}]},3],"n":26,"o":[{"t":[{"o":[{"s":12}]}]}],"r":[{"e":[{".":25,"s":[{".":25}]}]},3],"s":26,"t":[{"a":[{"l":[{"é":69}]}],"i":[{"s":69}]},26]},15],"î":9,"n":[{"é":15,"e":[{"u":15}]}],"ô":9,"s":[{"y":[{"c":[{"h":15}]}]}],"t":[{"è":[{"r":15}],"é":[{"r":15}]}],"û":9,"y":9}],"i":[{"n":[{"n":[{"o":[{"c":[{"e":[{"n":[{"t":[{".":34}]}]}]}]}]}],"c":[{"i":[{"d":[{"e":[{"n":[{"t":[{".":34}]}]}]}]}]}],"d":[{"i":[{"g":[{"e":[{"n":[{"t":[{".":34}]}]}]}]}],"u":[{"l":[{"g":[{"e":[{"n":[{"t":[{".":45}]}]}]}]}]}],"o":[{"l":[{"e":[{"n":[{"t":[{".":34}]}]}]}]}]}],"t":[{"e":[{"l":[{"l":[{"i":[{"g":[{"e":[{"n":[{"t":[{".":52}]}]}]}]}]}]}]}],"i":[{"m":[{"e":[{"n":[{"t":[{".":18}]}]}]}]}]}],"s":[{"t":[{"i":[{"l":[{"l":33}]}]}],"o":[{"l":[{"e":[{"n":[{"t":[{".":34}]}]}]}]}]}],"f":[{"o":[{"r":[{"m":[{"a":[{"t":9}]}]}]}]}]}],"s":[{"c":[{"e":[{"n":[{"t":[{".":4}]}]}],"h":[{"é":23,"i":[{"a":23,"o":23}]}]}],"t":[{"a":[{"t":6}]}]}],"m":[{"m":[{"i":[{"s":[{"c":[{"e":[{"n":[{"t":[{".":37}]}]}]}]}],"n":[{"e":[{"n":[{"t":[{".":34}]}]}]}]}],"a":[{"n":[{"e":[{"n":[{"t":[{".":34}]}]}]}]}]}],"p":[{"u":[{"d":[{"e":[{"n":[{"t":[{".":34}]}]}]}]}],"o":[{"t":[{"e":[{"n":[{"t":[{".":34}]}]}]}]}]}]}],"a":[{"l":[{"g":[{"i":56}]}],"r":[{"t":[{"h":[{"r":56}]}]}]}],"è":[{"d":[{"r":[{"e":6}]}]}],"l":[{"l":3}],"b":[{"r":[{"i":[{"l":[{"l":45}]}]}]}],"o":[{"a":[{"c":[{"t":27}]}],"x":[{"y":56}]}],"v":[{"a":[{"l":[{"e":[{"n":[{"t":[{".":5}]}]}]}]}]}]}],"e":[{"s":[{"c":[{"e":[{"n":[{"t":[{".":4}]}]}],"o":[{"p":23}],"h":23}],"t":[{"i":[{"m":[{"e":[{"n":[{"t":[{".":18}]}]}]}]}]}]}],"n":[{"i":[{"v":[{"r":49}]}],"t":[{"r":[{"e":[{"g":[{"e":[{"n":[{"t":[{".":45}]}]}]}]}]}]}]}],"u":[{"s":[{"t":[{"a":[{"t":27}]}]}]}],"x":[{"t":[{"r":[{"a":[{"c":19,"i":19},51]}]}]}],"r":[{"m":[{"e":[{"n":[{"t":[{".":3}]}]}]}]}]}],"d":[{"\'":9,"a":[{"m":[{"e":[{"n":[{"t":[{".":3}]}]}]}]},9],"â":9,"d":[{"h":6}],"e":[{".":25,"s":[{".":25}],"n":[{"t":[{".":26}]}]},9],"é":[{"c":[{"a":[{"d":[{"e":[{"n":[{"t":[{".":34}]}]}]}]}]}],"t":[{"r":[{"i":[{"m":[{"e":[{"n":[{"t":[{".":45}]}]}]}]}]}]}]},9],"è":9,"ê":9,"i":[{"s":[{"s":[{"i":[{"d":[{"e":[{"n":[{"t":[{".":45}]}]}]}]}]}],"c":[{"o":[{"p":44}]}],"t":[{"i":[{"l":[{"l":33}]}]}]}],"l":[{"i":[{"g":[{"e":[{"n":[{"t":[{".":34}]}]}]}]}]}],"a":[{"p":[{"h":[{"r":[{"a":[{"g":[{"m":[{"e":[{"n":[{"t":[{".":62}]}]}]}]}]}]}]}]}]}]},9],"h":[{"a":[{"l":48}],"o":[{"u":[{"d":48}]}]}],"î":9,"l":[{"e":[{"n":[{"t":[{".":26}]}]}]}],"o":9,"ô":9,"r":[{"e":[{".":25,"s":[{".":25}],"n":[{"t":[{".":26}]}]}]},15],"s":6,"u":9,"û":9,"y":9}],"t":[{"r":[{"i":[{"d":[{"e":[{"n":[{"t":[{".":5}]}]}]}]}],"u":[{"c":[{"u":[{"l":[{"e":[{"n":[{"t":[{".":45}]}]}]}]}]}]}],"a":[{"n":[{"s":[{"p":[{"a":[{"r":[{"e":[{"n":[{"t":[{".":52}]}]}]}]}]},21],"a":[{"c":[{"t":71}],"t":[{"s":71}]},63],"h":21,"o":63,"u":63}]}]}],"e":[{".":25,"s":[{".":25}],"n":[{"t":[{".":26}]}]}]},15],"a":[{"n":[{"g":[{"e":[{"n":[{"t":[{".":5}]}]}]}]}],"m":[{"e":[{"n":[{"t":[{".":3}]}]}]}],"c":[{"h":[{"y":[{"a":12}]}]}]},9],"e":[{"r":[{"g":[{"e":[{"n":[{"t":[{".":5}]}]}]}]}],"m":[{"p":[{"é":[{"r":[{"a":[{"m":[{"e":[{"n":[{"t":[{".":52}]}]}]}]}]}]}]}]}],"s":[{"t":[{"a":[{"m":[{"e":[{"n":[{"t":[{".":45}]}]}]}]}]}],".":25}],".":25,"n":[{"t":[{".":26}]}]},9],"h":[{"r":[{"i":[{"l":[{"l":45}]}],"e":[{".":25,"s":[{".":25}]}]},3],".":25,"e":[{".":25,"s":[{".":25}],"r":[{"m":[{"o":[{"s":13}]}]}],"u":[{"r":73}]}],"l":26,"m":26,"n":26,"s":26},15],"u":[{"r":[{"b":[{"u":[{"l":[{"e":[{"n":[{"t":[{".":45}]}]}]}]}]}]}],"m":[{"e":[{"n":[{"t":[{".":3}]}]}]}],"n":[{"g":[{"s":21}]}]},9],"o":[{"m":[{"e":[{"n":[{"t":[{".":3}]}]}]}],"r":[{"r":[{"e":[{"n":[{"t":[{".":5}]}]}]}]}]},9],"â":9,"à":9,"c":[{"h":[{"i":[{"n":[{"t":74}]}]}]}],"é":[{"l":[{"é":[{"e":17,"i":17,"o":[{"b":17,"p":17}],"s":17}]}]},9],"è":9,"ê":9,"i":9,"î":9,"ô":9,"t":[{"l":6}],"û":9,"y":9}],"f":[{"a":[{"m":[{"e":[{"n":[{"t":[{".":3}]}]}]}]},9],"â":9,"e":[{".":25,"s":[{".":25}],"n":[{"t":[{".":26}]}]},9],"é":[{"c":[{"u":[{"l":[{"e":[{"n":[{"t":[{".":34}]}]}]}]}]}]},9],"è":9,"ê":9,"i":[{"r":[{"m":[{"e":[{"n":[{"t":[{".":22}]}]}]}]}],"c":[{"h":[{"u":[{"m":[{"e":[{"n":[{"t":[{".":45}]}]}]}]}]}]}]},9],"î":9,"l":[{"e":[{".":25,"s":[{".":25}],"n":[{"t":[{".":26}]}]}],"a":[{"m":[{"m":[{"e":[{"n":[{"t":[{".":18}]}]}]}]}]}]},15],"o":9,"ô":9,"r":[{"e":[{".":25,"s":[{".":25}],"n":[{"t":[{".":26}]}]}],"i":[{"t":[{"i":[{"l":[{"l":33}]}]}]}]},15],"s":6,"u":[{"m":[{"e":[{"n":[{"t":[{".":3}]}]}]}]},9],"û":9,"y":9}],"g":[{"a":9,"â":9,"e":[{".":25,"s":[{".":25}],"n":[{"t":[{".":26}]}]},9],"é":9,"è":9,"ê":9,"h":[{"a":15,"e":15,"i":15,"o":15,"y":15}],"i":[{"l":[{"l":5}]},9],"î":9,"l":[{"e":[{".":25,"s":[{".":25}],"n":[{"t":[{".":26}]}]}]},15],"n":[{"e":[{".":25,"s":[{".":25}],"n":[{"t":[{".":26}]}]}]},15],"o":9,"ô":9,"r":[{"e":[{".":25,"s":[{".":25}],"n":[{"t":[{".":26}]}]}],"a":[{"m":[{"m":[{"e":[{"n":[{"t":[{".":18}]}]}]}]}],"n":[{"d":[{"i":[{"l":[{"o":[{"q":[{"u":[{"e":[{"n":[{"t":[{".":35}]}]}]}]}]}]}]}]}]}]}]},15],"u":[{"e":[{".":25,"s":[{".":25}],"n":[{"t":[{".":26}]}]}]},9],"û":9,"s":6,"y":9}],"s":[{"e":[{"r":[{"g":[{"e":[{"n":[{"t":[{".":5}]}]}]}],"p":[{"e":[{"n":[{"t":[{".":5}]}]}]}]}],"m":[{"i":[{"l":[{"l":37}]}]}],"s":[{"q":[{"u":[{"i":[{"a":13}]}]}],".":25}],".":25,"n":[{"t":[{".":26}]}]},9],"u":[{"c":[{"c":[{"u":[{"l":[{"e":[{"n":[{"t":[{".":45}]}]}]}]}]}]}],"b":[{"l":[{"i":[{"m":[{"e":[{"n":[{"t":[{".":19}]}]}]}]}]}],"s":29}],"m":[{"e":[{"n":[{"t":[{".":3}]}]}]}],"r":[{"é":[{"m":[{"i":[{"n":[{"e":[{"n":[{"t":[{".":33}]}]}]}]}]}]}],"a":[{"h":47}]}],"p":[{"e":[{"r":[{"o":54,"s":54},55]}]}]},9],"p":[{"o":[{"r":[{"u":[{"l":[{"e":[{"n":[{"t":[{".":37}]}]}]}]}]},15]}],"a":[{"t":[{"i":[{"a":15}]}]}],"e":[{"r":[{"m":15}]}],"h":[{"è":[{"r":15}],"é":[{"r":15}]}],"i":[{"e":[{"l":15}],"r":[{"o":[{"s":15}]}]}]}],"l":[{"a":[{"l":[{"o":[{"m":[{"e":[{"n":[{"t":[{".":19}]}]}]}]}]}],"v":15}],"o":[{"v":15}]}],"a":9,"â":9,"c":[{"a":[{"p":[{"h":15}]}],"l":[{"é":[{"r":15}]}],"o":[{"p":15}],"h":[{".":25,"e":[{".":25,"s":[{".":25}]}],"s":26},15]}],"é":9,"è":9,"ê":9,"h":[{".":25,"e":[{".":25,"s":[{".":25}],"n":[{"t":[{".":26}]}]}],"m":26,"o":[{"m":73}],"r":26,"s":26},15],"i":9,"î":9,"o":9,"ô":9,"œ":9,"t":[{"a":[{"n":[{"d":[{"a":[{"r":[{"d":15}]}]}]}]}],"e":[{"i":[{"n":15}]}],"é":[{"r":[{"é":[{"o":[{"s":13}]}]}]}],"i":[{"g":[{"m":15}]}],"o":[{"c":[{"k":15}],"m":[{"o":[{"s":15}]}]}],"r":[{"o":[{"p":[{"h":15}]}],"u":[{"c":[{"t":[{"u":15}]}]}]}],"y":[{"l":[{"e":15}]}]}],"û":9,"y":9}],"o":[{"g":[{"n":[{"o":[{"m":[{"o":[{"n":[{"i":23}]}]}],"s":[{"i":23}]}]}]}],"p":[{"u":[{"l":[{"e":[{"n":[{"t":[{".":5}]}]}]}]}]}],"m":[{"m":[{"e":[{"n":[{"t":[{".":3}]}]}]}],"b":[{"u":[{"d":[{"s":65}]}]}],"n":[{"i":[{"s":17,"p":[{"o":[{"t":[{"e":[{"n":[{"t":[{".":33}]}]}]}]}]}]}]}]}],"r":[{"m":[{"e":[{"n":[{"t":[{".":3}]}]}]}]}],"b":[{"l":[{"o":[{"n":[{"g":23}]}]}]}],"c":[{"t":[{"e":[{"t":9}]}]}],"d":[{"l":6}],"è":[{"d":[{"r":[{"e":6}]}]}],"i":[{"o":[{"n":[{"i":56}]}]}],"s":[{"t":[{"a":[{"s":6,"t":6}],"é":[{"r":[{"o":6}]}],"i":[{"m":6}],"o":[{"m":6}],"r":[{"a":[{"d":6,"t":[{"u":6}]}],"i":[{"c":[{"t":[{"i":[{"o":[{"n":6}]}]}]}]}]}]}]}],"x":[{"y":[{"a":29}]}]}],"w":[{"a":[{"g":[{"n":44}]},9],"e":[{".":25,"s":[{".":25}],"n":[{"t":[{".":26}]}]},9],"i":9,"o":9,"u":9,"r":15}],"h":[{"a":9,"â":9,"e":[{".":25,"s":[{".":25}]},9],"é":[{"m":[{"i":[{"é":53}],"o":[{"p":[{"t":17}]}]}]},9],"è":9,"ê":9,"i":[{"l":[{"l":5}]},9],"î":9,"o":9,"ô":9,"u":[{"m":[{"e":[{"n":[{"t":[{".":3}]}]}]}]},9],"û":9,"y":[{"p":[{"e":[{"r":[{"a":54,"e":54,"é":54,"i":54,"o":54,"s":54,"u":54},55]}],"o":[{"a":17,"e":17,"é":17,"i":17,"o":17,"s":17,"u":17}]}]},9]}],"u":[{"c":[{"i":[{"l":[{"l":43}]}]}],"e":[{"v":[{"i":[{"l":[{"l":37}]}]}]}],"v":[{"i":[{"l":[{"l":43}]}]}],"n":[{"i":[{"o":[{"v":29}],"a":[{"x":29}]}]}],"s":[{"t":[{"r":23}]}]}],"v":[{"a":[{"c":[{"i":[{"l":[{"l":37}]}]}],"n":[{"i":[{"l":[{"l":[{"i":[{"n":45,"s":45}]}]}]}]}]},9],"i":[{"l":[{"l":5}],"d":[{"i":[{"m":[{"e":[{"n":[{"t":[{".":18}]}]}]}]}]}]},9],"e":[{"n":[{"i":[{"m":[{"e":[{"n":[{"t":[{".":18}]}]}]}]}],"t":[{"r":[{"i":[{"p":[{"o":[{"t":[{"e":[{"n":[{"t":[{".":35}]}]}]}]}]}]}]}],".":26}]}],".":25,"s":[{".":25}]},9],"â":9,"é":[{"l":[{"o":[{"s":[{"k":[{"i":17}]}]}]}]},9],"è":9,"ê":9,"î":9,"o":[{"l":[{"t":[{"a":[{"m":[{"p":70}]}]}]}]},9],"ô":9,"r":[{"e":[{".":25,"s":[{".":25}],"n":[{"t":[{".":26}]}]}]},15],"u":9,"û":9,"y":9}],"l":[{"i":[{"l":[{"l":5}]},9],"l":[{"i":[{"o":[{"n":32}]}],"u":[{"m":[{"e":[{"n":[{"t":[{".":22}]}]}]}]}]}],"a":[{"w":[{"r":[{"e":44}]}]},9],"â":9,"à":9,"e":[{".":25,"s":[{".":25}],"n":[{"t":[{".":26}]}]},9],"é":9,"è":9,"ê":9,"î":9,"o":9,"ô":9,"s":[{"t":6}],"u":9,"û":9,"y":9,"m":[{"e":[{"n":[{"t":[{".":10}]}]}]}]}],"x":[{"i":[{"l":[{"l":5}]}],"e":[{"n":[{"t":[{".":26}]}]}]}],"k":[{"a":9,"â":9,"e":[{".":25,"s":[{".":25}],"n":[{"t":[{".":26}]}]},9],"é":9,"è":9,"ê":9,"h":[{".":25},15],"i":9,"î":9,"o":9,"ô":9,"r":15,"u":9,"û":9,"y":9}],"â":[{"m":[{"e":[{"n":[{"t":[{".":10}]}]}]}]}],"q":[{"u":[{"a":[{"m":[{"e":[{"n":[{"t":[{".":22}]}]}]}]}],"e":[{".":25,"s":[{".":25}],"n":[{"t":[{".":26}]}]}]}]},9],"è":[{"m":[{"e":[{"n":[{"t":[{".":10}]}]}]}]}],"n":[{"u":[{"t":[{"r":[{"i":[{"m":[{"e":[{"n":[{"t":[{".":45}]}]}]}]}]}]}]},9],"a":9,"â":9,"e":[{".":25,"s":[{".":25}],"n":[{"t":[{".":26}]}]},9],"é":9,"è":9,"ê":9,"i":9,"î":9,"o":9,"ô":9,"œ":9,"û":9,"s":[{"a":[{"t":[{".":64,"s":[{".":64}]}]}]}],"x":56,"y":9}],"ô":[{"m":[{"e":[{"n":[{"t":[{".":10}]}]}]}]}],"y":[{"a":[{"s":[{"t":[{"h":56}]}],"l":[{"g":[{"i":56}]}]}],"s":[{"t":[{"o":[{"m":6}]}]}]}],"z":[{"a":9,"e":[{".":25,"s":[{".":25}],"n":[{"t":[{".":26}]}]},9],"é":9,"è":9,"i":9,"o":9,"u":9,"y":9}]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/1478.adapter.js b/public/tools/cloud_sheets/vendor/univer/1478.adapter.js new file mode 100644 index 0000000..dad3bed --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/1478.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[1478],{1478(j,a,r){r.r(a),r.d(a,{ShLatn:()=>n});const n=["02,21,2,201,002,03,23,042,004,0032,00032,0002,032,000032,32,43,0023,0034,0004,023,034,003023,00023,00034,02323,0023023,0000023,0045,045,02342,000023,000034,00203",'{"t":[{"j":[{".":2},0],"l":[{"j":[{".":2},0],".":2},0],"r":[{".":2},0],"v":[{".":2,"j":6,"l":[{"j":6},6]},0],"ž":1,"b":1,"c":1,"d":[{"ž":1},1],"f":1,"g":1,"h":1,"k":1,"m":[{"a":[{"s":[{"t":14}]}],"u":[{"l":[{"j":14},14],"o":14,"r":14}]},1],"n":[{"j":1},1],"p":1,"s":1,"t":1,"z":1,"š":1,"đ":1,"ć":1,"č":1}],"d":[{"j":[{".":2},0],"l":[{"j":[{".":2},0],".":2},0],"r":[{".":2},0],"v":[{".":2,"l":[{"j":6},6],"r":6},0],"b":1,"c":1,"d":[{"ž":1},1],"f":1,"g":1,"h":1,"k":1,"m":1,"n":[{"j":1},1],"p":1,"s":1,"t":1,"z":1,"š":1,"đ":1,"ć":1,"č":1,"ž":[{"ž":3,"b":3,"c":3,"d":[{"ž":3},3],"f":3,"g":3,"h":3,"j":3,"k":3,"l":[{"j":3},3],"m":3,"n":[{"j":3},3],"p":3,"r":3,"s":3,"t":3,"v":3,"z":3,"š":3,"đ":3,"ć":3,"č":3,".":2},0]}],"g":[{"j":[{".":2},0],"l":[{"j":[{".":2},0],".":2},0],"r":[{".":2},0],"v":[{".":2,"j":6,"l":[{"j":6},6],"r":6},0],"ž":1,"b":1,"c":1,"d":[{"ž":1,"e":[{"g":[{"o":[{"d":[{".":14}]}]}],"k":[{"a":[{"k":14,"d":14}]}]}],"j":[{"e":[{"g":[{"o":[{"d":[{".":14}]}]}],"k":[{"a":[{"k":14,"d":14}]}]}]}]},1],"f":1,"g":1,"h":1,"k":1,"m":[{"i":[{"l":[{"j":14},14],"z":14}]},1],"n":[{"j":[{"e":[{"v":14,"s":14,"t":14,"č":14}],"a":[{"v":14}],"i":[{"l":[{"j":14},14],"o":14,"t":14}],"u":[{"r":14}]},1],"o":[{"s":14,"z":14,"j":14}],"a":[{"j":14}],"e":[{"z":[{"d":14}],"ž":[{"đ":14}],"v":14}],"i":[{"j":[{"e":[{"z":[{"d":14}],"ž":[{"đ":14}]}]}]}]},1],"p":1,"s":1,"t":1,"z":1,"š":1,"đ":1,"ć":1,"č":1}],"h":[{"j":[{".":2},0],"l":[{"j":[{".":2},0],".":2},0],"r":[{".":2},0],"v":[{".":2,"b":2,"c":2,"d":[{"ž":2},2],"f":2,"g":2,"h":2,"k":2,"m":2,"n":[{"j":2},2],"p":2,"s":2,"t":2,"z":2,"š":2,"đ":2,"ć":2,"č":2,"ž":2,"j":6,"l":[{"j":6},6],"r":6},0],"ž":1,"b":1,"c":1,"d":[{"ž":1},1],"f":1,"g":1,"h":1,"k":1,"m":1,"n":[{"j":1},1],"p":1,"s":1,"t":[{"e":[{"t":[{"i":14}],"l":14,"v":14,"n":[{"j":14}]}],"j":[{"e":[{"t":[{"i":14}],"l":14,"v":14,"n":[{"j":14}]}]}]},1],"z":1,"š":1,"đ":1,"ć":1,"č":1}],"k":[{"j":[{".":2},0],"l":[{"j":[{".":2},0],".":2},0],"r":[{".":2},0],"v":[{".":2,"j":6,"l":[{"j":6},6]},0],"ž":1,"b":1,"c":1,"d":[{"ž":1},1],"f":1,"g":1,"h":1,"k":1,"m":1,"n":[{"j":[{"i":[{"ž":14,"g":14}]},1],"e":[{"z":14,"ž":14}]},1],"p":1,"s":1,"t":1,"z":1,"š":1,"đ":1,"ć":1,"č":1}],"p":[{"j":[{".":2},0],"l":[{"j":[{".":2},0],".":2},0],"r":[{".":2},0],"ž":1,"b":1,"c":1,"d":[{"ž":1},1],"f":1,"g":1,"h":1,"k":1,"m":1,"n":[{"j":1},1],"p":1,"s":[{"i":[{"k":14,"č":14}],"o":[{"v":14}],"u":[{"j":14}]},1],"t":1,"v":1,"z":1,"š":1,"đ":1,"ć":1,"č":1}],"v":[{"j":[{".":2},0],"l":[{"j":[{".":2},0],".":2},0],"r":[{".":2},0],"ž":1,"b":1,"c":1,"d":[{"ž":1},1],"f":1,"g":1,"h":1,"k":1,"m":1,"n":[{"j":1},1],"p":1,"s":1,"t":1,"v":1,"z":1,"š":1,"đ":1,"ć":1,"č":1}],"b":[{"j":[{".":2},0],"l":[{"j":[{".":2},0],".":2},0],"r":[{".":2},0],"ž":1,"b":1,"c":1,"d":[{"ž":1,"e":[{"t":14,"n":[{"j":14}]}],"j":[{"e":[{"t":14,"n":[{"j":14}]}]}]},1],"f":1,"g":1,"h":1,"k":1,"m":1,"n":[{"j":1},1],"p":1,"s":1,"t":1,"v":1,"z":1,"š":1,"đ":1,"ć":1,"č":1}],"f":[{"j":[{".":2},0],"l":[{"j":[{".":2},0],".":2},0],"r":[{".":2},0],"ž":1,"b":1,"c":1,"d":[{"ž":1},1],"f":1,"g":1,"h":1,"k":1,"m":1,"n":[{"j":1},1],"p":1,"s":1,"t":1,"v":1,"z":1,"š":1,"đ":1,"ć":1,"č":1}],"m":[{"j":[{".":2},0],"l":[{"j":[{".":2},0],".":2},0],"r":[{".":2},0],"ž":1,"b":1,"c":1,"d":[{"ž":1},1],"f":1,"g":1,"h":1,"k":1,"m":1,"n":[{"j":1,"o":[{"ž":14,"g":14}],"a":[{"ž":14}]},1],"p":1,"s":1,"t":1,"v":1,"z":1,"š":1,"đ":1,"ć":1,"č":1}],"s":[{"c":[{".":2,"b":2,"c":2,"d":[{"ž":2},2],"f":2,"g":2,"h":2,"k":2,"l":[{"j":2},2],"m":2,"n":[{"j":2},2],"p":2,"r":2,"s":2,"t":2,"z":2,"š":2,"đ":2,"ć":2,"č":2,"ž":2},0],"j":[{".":2},0],"k":[{".":2,"b":2,"c":2,"d":[{"ž":2},2],"f":2,"g":2,"h":2,"k":2,"m":2,"n":[{"j":2},2],"p":2,"s":2,"t":2,"z":2,"š":2,"đ":2,"ć":2,"č":2,"ž":2,"j":6,"l":[{"j":6}]},0],"l":[{"j":[{".":2},0],".":2},0],"m":[{".":2,"b":2,"c":2,"d":[{"ž":2},2],"f":2,"g":2,"h":2,"k":2,"m":2,"n":[{"j":2},2],"p":2,"s":2,"t":2,"v":2,"z":2,"š":2,"đ":2,"ć":2,"č":2,"ž":2},0],"n":[{"j":[{".":2},0],".":2},0],"p":[{".":2,"b":2,"c":2,"d":[{"ž":2},2],"f":2,"g":2,"h":2,"k":2,"m":2,"n":[{"j":2},2],"p":2,"s":2,"t":2,"v":2,"z":2,"š":2,"đ":2,"ć":2,"č":2,"ž":2},0],"r":[{".":2},0],"t":[{".":2,"b":2,"c":2,"d":[{"ž":2},2],"f":2,"g":2,"h":2,"k":2,"m":2,"n":[{"j":2},2],"p":2,"s":2,"t":2,"z":2,"š":2,"đ":2,"ć":2,"č":2,"ž":2,"l":6},0],"v":[{".":2,"b":2,"c":2,"d":[{"ž":2},2],"f":2,"g":2,"h":2,"k":2,"m":2,"n":[{"j":2},2],"p":2,"s":2,"t":2,"v":2,"z":2,"š":2,"đ":2,"ć":2,"č":2,"ž":2,"l":[{"j":6}]},0],"ž":1,"b":1,"d":[{"ž":1},1],"f":[{"e":[{"r":14}]},1],"g":1,"h":1,"s":1,"z":1,"š":1,"đ":1,"ć":1,"č":1}],"z":[{"b":[{".":2,"b":2,"c":2,"d":[{"ž":2},2],"f":2,"g":2,"h":2,"k":2,"m":2,"n":[{"j":2},2],"p":2,"s":2,"t":2,"v":2,"z":2,"š":2,"đ":2,"ć":2,"č":2,"ž":2,"l":[{"j":6}]},0],"d":[{"ž":1,".":2,"b":2,"c":2,"d":[{"ž":2},2],"f":2,"g":2,"h":2,"k":2,"m":2,"n":[{"j":2},2],"p":2,"s":2,"t":2,"z":2,"š":2,"đ":2,"ć":2,"č":2,"l":[{"j":6},6],"v":6},0],"g":[{".":2,"b":2,"c":2,"d":[{"ž":2},2],"f":2,"g":2,"h":2,"k":2,"m":2,"n":[{"j":2},2],"p":2,"s":2,"t":2,"z":2,"š":2,"đ":2,"ć":2,"č":2,"ž":2,"j":6,"l":[{"j":6}]},0],"j":[{".":2},0],"l":[{"j":[{".":2},0],".":2},0],"m":[{".":2,"b":2,"c":2,"d":[{"ž":2},2],"f":2,"g":2,"h":2,"k":2,"m":2,"n":[{"j":2},2],"p":2,"s":2,"t":2,"v":2,"z":2,"š":2,"đ":2,"ć":2,"č":2,"ž":2,"l":6,"r":6},0],"n":[{"j":[{".":2},0],".":2},0],"r":[{".":2},0],"v":[{".":2,"b":2,"c":2,"d":[{"ž":2},2],"f":2,"g":2,"h":2,"k":2,"m":2,"n":[{"j":2},2],"p":2,"s":2,"t":2,"v":2,"z":2,"š":2,"đ":2,"ć":2,"č":2,"ž":2,"l":[{"j":6},6]},0],"ž":1,"c":1,"f":1,"h":1,"k":1,"p":1,"s":1,"t":1,"z":1,"š":1,"đ":1,"ć":1,"č":1}],"š":[{"c":[{".":2,"b":2,"c":2,"d":[{"ž":2},2],"f":2,"g":2,"h":2,"k":2,"l":[{"j":2},2],"m":2,"n":[{"j":2},2],"p":2,"r":2,"s":2,"t":2,"z":2,"š":2,"đ":2,"ć":2,"č":2,"ž":2,"j":6,"v":6},0],"k":[{".":2,"b":2,"c":2,"d":[{"ž":2},2],"f":2,"g":2,"h":2,"k":2,"m":2,"n":[{"j":2},2],"p":2,"s":2,"t":2,"z":2,"š":2,"đ":2,"ć":2,"č":2,"ž":2},0],"l":[{"j":[{".":2},0],".":2},0],"m":[{".":2,"b":2,"c":2,"d":[{"ž":2},2],"f":2,"g":2,"h":2,"k":2,"m":2,"n":[{"j":2},2],"p":2,"s":2,"t":2,"v":2,"z":2,"š":2,"đ":2,"ć":2,"č":2,"ž":2,"j":6,"l":[{"j":6},6]},0],"n":[{"j":[{".":2},0],".":2},0],"p":[{".":2,"b":2,"c":2,"d":[{"ž":2},2],"f":2,"g":2,"h":2,"k":2,"m":2,"n":[{"j":2},2],"p":2,"s":2,"t":2,"v":2,"z":2,"š":2,"đ":2,"ć":2,"č":2,"ž":2,"j":6,"l":[{"j":6},6]},0],"t":[{".":2,"b":2,"c":2,"d":[{"ž":2},2],"f":2,"g":2,"h":2,"k":2,"m":2,"n":[{"j":2},2],"p":2,"s":2,"t":2,"z":2,"š":2,"đ":2,"ć":2,"č":2,"ž":2,"j":6,"l":[{"j":6},6]},0],"v":[{".":2,"b":2,"c":2,"d":[{"ž":2},2],"f":2,"g":2,"h":2,"k":2,"m":2,"n":[{"j":2},2],"p":2,"s":2,"t":2,"v":2,"z":2,"š":2,"đ":2,"ć":2,"č":2,"ž":2,"l":[{"j":6},6]},0],"ć":[{".":2},0],"č":[{".":2,"b":2,"c":2,"d":[{"ž":2},2],"f":2,"g":2,"h":2,"j":2,"k":2,"l":[{"j":2},2],"m":2,"n":[{"j":2},2],"p":2,"r":2,"s":2,"t":2,"z":2,"š":2,"đ":2,"ć":2,"č":2,"ž":2,"v":6},0],"ž":1,"b":1,"d":[{"ž":1},1],"f":1,"g":1,"h":1,"s":1,"z":1,"š":1,"đ":1,"j":1,"r":1}],"ž":[{"b":[{".":2,"b":2,"c":2,"d":[{"ž":2},2],"f":2,"g":2,"h":2,"k":2,"m":2,"n":[{"j":2},2],"p":2,"s":2,"t":2,"v":2,"z":2,"š":2,"đ":2,"ć":2,"č":2,"ž":2,"j":6,"l":[{"j":6},6],"r":6},0],"d":[{"ž":1,".":2,"b":2,"c":2,"d":[{"ž":2},2],"f":2,"g":2,"h":2,"k":2,"m":2,"n":[{"j":2},2],"p":2,"s":2,"t":2,"z":2,"š":2,"đ":2,"ć":2,"č":2,"j":6,"l":[{"j":6},6],"v":6},0],"g":[{".":2,"b":2,"c":2,"d":[{"ž":2},2],"f":2,"g":2,"h":2,"k":2,"m":2,"n":[{"j":2},2],"p":2,"s":2,"t":2,"z":2,"š":2,"đ":2,"ć":2,"č":2,"ž":2,"j":6,"l":[{"j":6},6],"r":6,"v":6},0],"l":[{"j":[{".":2},0],".":2},0],"m":[{".":2,"b":2,"c":2,"d":[{"ž":2},2],"f":2,"g":2,"h":2,"k":2,"m":2,"n":[{"j":2},2],"p":2,"s":2,"t":2,"v":2,"z":2,"š":2,"đ":2,"ć":2,"č":2,"ž":2,"j":6,"l":[{"j":6},6],"r":6},0],"n":[{"j":[{".":2},0],".":2},0],"v":[{".":2,"b":2,"c":2,"d":[{"ž":2},2],"f":2,"g":2,"h":2,"k":2,"m":2,"n":[{"j":2},2],"p":2,"s":2,"t":2,"v":2,"z":2,"š":2,"đ":2,"ć":2,"č":2,"ž":2,"l":[{"j":6},6]},0],"đ":[{".":2},0],"ž":1,"c":1,"f":1,"h":1,"k":1,"p":1,"s":1,"t":1,"z":1,"š":1,"ć":1,"č":1,"j":1,"r":1}],"c":[{"j":[{".":2},0],"r":[{".":2},0],"v":[{".":2,"l":[{"j":6},6]},0],"ž":1,"b":1,"c":1,"d":[{"ž":1},1],"f":1,"g":1,"h":1,"k":1,"l":[{"j":1},1],"m":[{"i":[{"z":14}],"a":[{"k":14,"č":14}],"o":[{"k":14}]},1],"n":[{"j":1},1],"p":1,"s":1,"t":1,"z":1,"š":1,"đ":1,"ć":1,"č":1}],"č":[{"v":[{".":2,"l":[{"j":6},6],"j":6},0],"ž":1,"b":1,"c":1,"d":[{"ž":1},1],"f":1,"g":1,"h":1,"j":1,"k":1,"l":[{"j":1,"a":[{"n":[{"j":14},14]}]},1],"m":1,"n":[{"j":1},1],"p":1,"r":1,"s":1,"t":1,"z":1,"š":1,"đ":1,"ć":1,"č":1}],"j":[{"ž":1,"b":1,"c":1,"d":[{"ž":1},1],"f":1,"g":1,"h":1,"j":1,"k":1,"l":[{"j":1},1],"m":1,"n":[{"j":1},1],"p":1,"r":1,"s":1,"t":1,"v":1,"z":1,"š":1,"đ":1,"ć":1,"č":1}],"l":[{"ž":1,"b":1,"c":1,"d":[{"ž":1},1],"f":1,"g":1,"h":1,"k":1,"l":[{"j":1},1],"m":1,"n":[{"j":1},1],"p":1,"r":1,"s":1,"t":1,"v":1,"z":1,"š":1,"đ":1,"ć":1,"č":1,"j":[{"ž":3,"b":3,"c":3,"d":[{"ž":3},3],"f":3,"g":3,"h":3,"j":3,"k":3,"l":[{"j":3},3],"m":3,"n":[{"j":3},3],"p":3,"r":3,"s":3,"t":3,"v":3,"z":3,"š":3,"đ":3,"ć":3,"č":3},0]}],"n":[{"ž":1,"b":1,"c":1,"d":[{"ž":1},1],"f":1,"g":1,"h":1,"k":1,"l":[{"j":1},1],"m":1,"n":[{"j":1},1],"p":1,"r":1,"s":1,"t":1,"v":1,"z":1,"š":1,"đ":1,"ć":1,"č":1,"j":[{"ž":3,"b":3,"c":3,"d":[{"ž":3},3],"f":3,"g":3,"h":3,"j":3,"k":3,"l":[{"j":3},3],"m":3,"n":[{"j":3},3],"p":3,"r":3,"s":3,"t":3,"v":3,"z":3,"š":3,"đ":3,"ć":3,"č":3},0],"i":[{"g":[{"d":[{"e":[{".":9}],"j":[{"e":[{".":9}]}]}]}]}],"e":[{"g":[{"d":[{"e":[{".":9}],"j":[{"e":[{".":9}]}]}]}]}]}],"r":[{"ž":1,"b":1,"c":1,"d":[{"ž":1},1],"f":1,"g":1,"h":1,"j":[{"e":[{"m":15,".":15},14]},1],"k":1,"l":[{"j":1},1],"m":1,"n":[{"j":1},1],"p":1,"r":1,"s":1,"t":1,"v":1,"z":1,"š":1,"đ":[{"a":14},1],"ć":1,"č":1}],"đ":[{"ž":1,"b":1,"c":1,"d":[{"ž":1},1],"f":1,"g":1,"h":1,"j":1,"k":1,"l":[{"j":1},1],"m":1,"n":[{"j":1},1],"p":1,"r":1,"s":1,"t":1,"v":1,"z":1,"š":1,"đ":1,"ć":1,"č":1}],"ć":[{"ž":1,"b":1,"c":1,"d":[{"ž":1},1],"f":1,"g":1,"h":1,"j":1,"k":1,"l":[{"j":1},1],"m":1,"n":[{"j":1},1],"p":1,"r":1,"s":1,"t":1,"v":1,"z":1,"š":1,"đ":1,"ć":1,"č":1}],".":[{"h":0,"j":[{"u":[{"r":[{"i":[{"s":[{"k":30,"p":30}]}]}]}]},0],"k":0,"l":[{"j":4},0],"m":0,"n":[{"j":4,"a":[{"g":[{"n":[{"j":11},11]}],"d":[{"n":[{"e":[{"v":9}],"i":[{"č":9,"c":9}]}],"l":[{"j":16,"a":[{"n":17}],"e":[{"š":17,"ž":17}]},16],"v":[{"a":[{"l":17}],"e":[{"s":[{"i":17,"t":17}]}],"i":[{"j":17,"t":17}],"l":[{"a":17}],"o":[{"j":[{"e":17}],"r":17}]},16],"i":[{"g":[{"r":16}],"n":[{"ž":16,"a":16}],"s":[{"k":16}]}],"j":[{"a":[{"h":16,"č":16}],"e":[{"k":16,"z":16,"č":16}],"u":[{"n":16}]}],"o":[{"r":[{"a":16}],"s":[{"o":16,"e":16,"j":[{"e":16}]}],"f":[{"i":16}],"č":16}],"r":[{"a":[{"n":16,"č":16,"s":[{"t":16}],"š":[{"ć":16}]}],"e":[{"a":[{"l":16}],"p":16}],"u":[{"k":16,"č":16,"g":16}]}],"u":[{"d":[{"a":[{"r":16}]}],"m":16,"č":16}],"ž":[{"d":[{"r":16}],"n":[{"j":16}],"e":16,"a":[{"n":[{"j":16}]}],"i":[{"r":16,"v":16}],"u":[{"p":16}]}]}],"t":[{"k":[{"a":[{"h":9,"m":9,"s":[{"m":9,"t":9}]}]}]}],"j":[{"a":[{"v":[{"i":17,"l":[{"j":17}],"a":17,"e":17}],"d":[{"i":17,"a":17,"e":17}],"ž":[{"i":17}],"z":[{"i":17}],"k":[{"o":17,"a":17}],"l":[{"o":17}],"m":[{"i":17,"l":17,"n":17}],"r":[{"i":17,"m":17,"c":17}],"t":[{"i":17}],"u":[{"k":17}],"h":17,"š":17},16],"e":[{"d":[{"i":17,"n":17,"r":17,"a":17}],"ž":[{"i":17,"u":17,"e":17}],"z":[{"n":17,"d":17}],"s":[{"t":[{"i":17}]}],"t":[{"k":17}],"c":17},16],"i":16,"o":16,"u":[{"r":[{"i":17,"e":[{"n":17}]}]},16]}]}],"u":[{"z":[{"b":[{"e":[{"l":16}],"i":[{"l":[{"j":16}]}]}],"l":[{"j":[{"u":[{"b":16}]}]}],"r":[{"e":16,"j":[{"e":16}]}],"u":[{"ž":16}]}],"s":[{"p":[{"o":[{"s":16}],"r":[{"o":16}]}]}]}]},0],"p":[{"o":[{"g":[{"n":9}],"d":[{"n":[{"e":[{"v":9}]}],"a":[{"d":[{"m":16}]}],"v":[{"a":[{"r":[{"i":[{"j":16}]}]}],"e":[{"z":16,"č":16,"ž":16}],"i":[{"k":16,"l":16,"r":16,"n":[{"j":16}]}],"l":[{"a":[{"s":16,"š":16}]}],"o":[{"z":16,"đ":16,"ž":16,"d":16}],"r":[{"a":[{"t":16,"ć":16}],"ć":16,"ž":16,"g":16,"i":[{"s":16}],"s":16}],"u":[{"ć":16}]}],"i":[{"g":[{"r":16}],"z":[{"v":16}]}],"j":[{"e":[{"n":17,"č":17}]},16],"l":[{"a":[{"k":[{"a":[{"t":16}],"t":16}]}],"e":[{"p":16,"t":16,"ć":16,"ž":16,"g":16}],"i":[{"z":16,"j":[{"e":[{"p":16,"t":16,"ć":16,"ž":16,"g":16}]}],"s":[{"t":16}]}],"o":[{"k":16,"m":16}],"u":[{"p":16,"č":16,"ž":16}],"j":[{"u":[{"t":16}]}]}],"o":[{"k":[{"n":16}],"š":16,"č":16,"f":16}],"r":[{"a":[{"v":[{"n":[{"j":16},16]}],"d":16,"z":[{"d":25,"r":16,"u":16}],"m":16,"n":[{"j":16},16],"s":16}],"e":[{"p":16,"s":16,"z":16}],"i":[{"k":16,"t":16}],"o":[{"n":16,"v":16,"ž":16}],"u":[{"k":16,"b":16,"č":[{"i":16,"n":16,"a":16}]}]}],"u":[{"p":[{"l":[{"a":16}]}],"s":[{"m":16,"n":16}]}]}],"m":[{"n":[{"j":9},9]}],"r":[{"v":9,"đ":9}],"t":[{"k":[{"a":[{"h":9,"m":9,"t":9,"v":9}]}]}],"s":[{"t":[{"e":[{"g":[{"z":32}]}],"i":[{"n":[{"d":[{"u":32}]}]}],"l":[{"i":[{"m":32}]}],"o":[{"n":[{"k":32}],"p":[{"e":[{"r":32}]}]}]}]}]}],"r":[{"e":[{"d":[{"m":[{"n":[{"j":13},13]}],"j":[{"e":[{"n":23}]},22],"v":[{"a":[{"j":23,"r":23}],"e":[{"s":[{"t":23}]}],"o":[{"j":[{"i":23,"a":23,"e":23}],"r":23,"s":23}]},22],"i":[{"g":[{"r":22}],"d":22,"z":[{"b":22}],"s":[{"p":[{"i":22}],"t":[{"o":22,"r":22}]}]}],"o":[{"b":[{"j":22}],"d":[{"r":[{"e":22}]}],"k":[{"u":[{"s":22}]}],"s":[{"v":22,"e":22,"j":[{"e":22}]}]}],"r":[{"a":[{"t":22,"č":22,"d":22}],"u":[{"č":22}]}],"u":[{"b":[{"e":[{"đ":22}],"i":[{"j":[{"e":[{"đ":22}]}]}],"j":[{"e":[{"đ":22}]}]}],"v":[{"e":[{"r":22}],"j":[{"e":[{"r":22,"t":22}]}]}],"g":[{"o":[{"v":22}]}],"d":[{"a":[{"r":22}]}],"p":[{"i":[{"s":22}]}],"s":[{"l":[{"o":22}]}]}],"ž":[{"i":22,"e":22}]}],"t":[{"k":[{"a":[{"h":10,"m":10,"t":10}]}]}]}],"o":[{"g":[{"n":10}],"t":[{"k":[{"i":10,"a":10}],"i":[{"v":[{"a":[{"k":[{"c":26}]}],"o":[{"t":[{"r":26}],"f":26}],"r":26,"u":[{"s":26,"d":26}]}]}]}]}]}]},0],"r":[{"a":[{"z":[{"a":[{"g":[{"n":13}],"t":[{"k":[{"a":13}]}],"n":[{"a":[{"l":16}]}]}],"g":[{"n":10,"a":[{"đ":17}],"r":[{"t":17}]},16],"d":[{"n":[{"i":10}]},16],"b":[{"a":[{"n":17,"r":17,"u":17,"d":17,"š":[{"u":[{"r":17}]}]}],"o":[{"j":17,"r":17}]},16],"e":[{"v":17},16],"i":[{"j":17,"l":17,"n":17,"r":17,"t":17,"z":17,"đ":17,"ć":17,"d":17},16],"j":16,"l":[{"j":16,"a":[{"z":17,"g":17}],"i":[{"k":17,"č":17}],"o":[{"z":17,"ž":17,"g":17}]},16],"m":[{"e":[{"t":17,"ć":17}],"r":[{"s":[{"k":17}]}]},16],"n":[{"j":16,"a":[{"t":17}]},16],"r":[{"e":[{"d":17}],"o":[{"k":17,"č":17}]},16],"v":[{"a":[{"l":17}],"e":[{"d":[{"e":17}],"s":[{"t":17}]}],"i":[{"g":[{"o":17}],"j":[{"u":17,"a":17,"e":17}],"t":17,"ć":17}],"o":[{"j":17,"n":17}],"r":[{"a":[{"t":17,"ć":17}],"t":17,"ć":17}]},16],"o":[{"b":[{"l":16,"r":16,"a":16}],"d":16,"r":[{"a":[{"t":16,"v":16}],"t":16,"u":16}],"t":16}],"u":[{"v":[{"e":16}],"d":[{"i":16,"a":16,"b":16}],"z":[{"i":16,"d":16,"e":16}],"l":[{"a":[{"r":16}]}],"m":[{"r":16}]}]}],"ž":[{"đ":16}],"s":[{"c":16,"k":[{"a":[{"k":17,"n":[{"d":17}]}],"i":[{"n":17}],"l":[{"a":[{"p":17,"n":[{"j":17}],"d":17}],"o":[{"n":17,"p":[{"i":17,"l":[{"j":17}],"a":17}]}]}],"o":[{"š":17}],"r":[{"o":[{"p":17}]}]},16],"p":[{"a":[{"j":17,"v":17}],"e":[{"t":[{"i":17,"o":17,"a":17,"e":17}]}],"i":[{"k":[{"u":17}],"n":[{"j":17}]}],"l":[{"i":[{"n":[{"j":17},17]}]}],"n":17,"o":[{"l":[{"o":[{"ž":17}]}],"n":17,"r":17}],"r":[{"a":[{"v":17}],"e":[{"m":17}]}]},16],"t":[{"a":[{"j":17,"n":17,"t":17,"v":17}],"e":[{"n":[{"j":17}]}],"i":[{"l":17,"r":17,"s":17,"t":17,"n":[{"j":17}]}],"o":[{"j":17}],"r":[{"e":[{"l":17,"t":17}],"o":[{"j":17}],"t":17}],"u":[{"p":17,"r":[{"č":27},17],"ć":17}]},16],"r":[{"đ":17,"d":17,"e":17}]}],"š":[{"ć":[{"e":[{"n":[{"j":17}]}]},16],"č":[{"i":[{"ć":17}]},16]}]}]},0],"s":[{"u":[{"b":[{"a":[{"š":17},16],"l":16,"i":[{"n":[{"v":16}]}],"j":[{"u":[{"n":[{"k":16}]}]}],"o":[{"k":[{"s":16}],"r":[{"d":16}]}],"r":[{"e":[{"p":16}],"o":[{"g":16}]}]}],"p":[{"e":[{"r":[{"i":[{"o":[{"r":31}]},30],"o":30,"u":30,"a":30,"e":30}]}]}]}]},0],"t":[{"r":[{"a":[{"n":[{"s":[{"a":30,"c":30,"e":[{"p":31},30],"k":[{"r":[{"i":31}]},30],"l":30,"m":30,"n":[{"j":30},30],"o":30,"p":30,"t":30,"u":[{"m":31,"d":31},30],"v":30}]}]}]}]},0],"v":[{"a":[{"n":[{"e":[{"v":[{"r":16}]}],"u":[{"s":[{"t":[{"a":[{"v":16}]}]}]}]}]}]},0],"d":[{"ž":4,"i":[{"s":[{"a":[{"k":[{"o":[{"r":16}]}]}],"j":[{"u":[{"n":[{"k":16}]}]}],"k":[{"v":[{"a":[{"l":16}]}],"o":[{"n":[{"t":16}],"r":[{"d":16}]}],"r":[{"e":16,"i":16}],"u":[{"r":16}]}],"l":[{"o":16}],"o":[{"r":[{"i":[{"j":16}]}]}],"p":[{"a":[{"r":[{"i":[{"t":16}]}]}],"o":[{"z":16,"n":16}],"r":[{"o":[{"p":16}]}]}],"t":[{"o":[{"n":16}],"r":[{"a":[{"k":16}]}]}]}]}]},0],"z":[{"a":[{"g":[{"n":9}],"t":[{"k":[{"a":9}]}]}]},0],"š":0,"đ":0,"ć":0,"č":0,"ž":0,"b":[{"e":[{"o":8,"z":[{"j":[{"a":[{"k":17,"č":17}]},16],"l":[{"j":16,"o":[{"b":[{"n":17,"a":17}]}]},16],"m":16,"n":[{"j":16,"a":[{"č":[{"a":[{"j":17}]}]}]},16],"r":[{"a":[{"č":[{"n":17,"a":17}]}]},16],"v":[{"u":[{"č":[{"n":17,"a":17}]}]},16],"b":[{"e":[{"d":[{"n":17,"a":17}],"l":[{"i":17}]}],"j":[{"e":[{"d":[{"n":17,"a":17}]}]}],"o":[{"l":17}]},16],"d":16,"g":16,"i":[{"s":[{"t":[{"a":[{"n":17}],"e":[{"n":17}]}]}]},16],"o":16,"u":[{"p":17,"b":17},16],"a":[{"l":[{"k":[{"o":[{"h":[{"o":[{"l":16}]}]}]}]}],"t":[{"o":[{"m":[{"s":[{"k":16}]}]}]}]}]}],"s":[{"c":16,"k":[{"r":[{"u":[{"p":[{"u":[{"l":17}]}]}]}]},16],"p":[{"o":[{"k":[{"o":[{"j":[{"n":17,"a":17}]}]}],"r":[{"n":17,"a":17}]}]},16],"t":[{"v":[{"a":[{"r":17}]}],"i":[{"d":17,"j":[{"a":17}],"l":[{"u":17,"j":17}]}],"r":[{"a":[{"n":[{"a":17}],"s":17}]}],"s":[{"e":[{"l":[{"e":[{"r":18}]}]}]}]},16]}],"š":[{"ć":16,"č":16}]}],"i":[{"o":8}]},0],"c":0,"f":0,"g":[{"e":[{"o":8}]},0],"a":[{"e":[{"r":[{"o":7}]}],"b":[{"a":[{"l":[{"i":[{"j":19}]}],"n":[{"a":[{"c":19}]}]}],"e":[{"v":[{"a":[{"k":19}]}],"r":[{"a":[{"c":19}],"i":[{"r":19}]}]}],"i":[{"r":[{"i":[{"t":19}]}]}],"j":[{"u":19}],"l":[{"a":19,"e":[{"g":19,"p":19}],"o":[{"k":19}],"u":19}],"o":[{"r":[{"i":[{"g":19}]}]}],"r":[{"e":[{"a":[{"k":19}]}],"o":[{"g":19}]}],"u":[{"z":[{"u":[{"s":19}]}]}]}],"d":[{"e":[{"r":[{"a":[{"c":19}]}]}],"v":[{"e":[{"r":[{"b":19}]}]}],"j":19,"l":[{"a":[{"t":19}]}],"r":[{"e":[{"n":19}],"o":[{"g":19}]}]}],"g":[{"n":[{"o":[{"s":12,"z":12}]}]}],"n":[{"a":[{"b":[{"a":[{"p":0,"z":0,"t":0}],"i":[{"o":0}],"o":[{"l":0}]}],"g":[{"e":[{"n":0}],"n":[{"o":0}],"o":19,"r":[{"a":0}]}],"d":[{"e":[{"m":0}],"i":[{"p":[{"l":0}]}],"o":[{"z":0}]}],"e":[{"r":[{"o":29}]}],"k":[{"a":[{"l":0,"m":0,"t":0}],"e":[{"f":0}],"l":[{"a":0,"i":0}],"o":[{"j":0,"l":0}],"u":[{"z":19}],"r":[{"o":[{"n":0}],"u":0}]}],"l":[{"g":19,"d":19,"e":[{"p":0}],"i":[{"z":0,"s":0,"t":0}],"f":[{"a":19}]}],"m":[{"e":[{"r":[{"t":19}]}],"n":[{"e":0}]}],"n":[{"d":[{"r":19}],"e":[{"o":0}],"t":19}],"p":[{"l":[{"a":0,"e":0}],"n":[{"e":0,"o":0}],"r":[{"o":0}],"t":[{"i":0,"o":19}]}],"r":[{"t":0,"h":19}],"s":[{"a":[{"r":0}],"e":[{"i":0}],"p":[{"a":[{"z":0}]}],"t":[{"a":0,"i":[{"g":0}],"o":[{"m":0}]}]}],"t":[{"i":[{"m":0}],"o":[{"m":0,"c":0}],"r":[{"e":0,"i":0,"o":0}]}],"f":[{"a":[{"z":0}],"i":[{"j":19,"l":[{"a":0}]}],"o":[{"n":0,"r":0}],"r":[{"o":[{"d":19}]}]}],"h":[{"o":[{"r":0}],"r":[{"o":0}]}]}],"e":[{"g":[{"e":[{"r":19}]}],"k":[{"l":19,"u":[{"m":19}]}],"l":[{"e":[{"k":19}]}],"n":[{"e":[{"r":19}]}],"p":[{"i":19}],"o":[{"r":0}],"r":[{"g":19,"i":[{"t":19}]}],"s":[{"t":[{"e":19}]}]}],"i":[{"d":[{"r":19}],"z":[{"o":[{"g":19,"m":19}],"u":[{"r":19}]}],"r":[{"i":[{"d":19}]}]}],"o":[{"v":[{"a":[{"r":19}]}],"k":[{"s":19}],"p":[{"i":[{"s":19}]}],"r":[{"h":19,"g":19}],"f":[{"t":19}]}],"j":[{"o":[{"n":19}]}]}]}],"i":[{"z":[{"a":[{"g":[{"n":10}],"t":[{"k":10}],"b":[{"a":19}],"k":[{"a":19}],"n":[{"a":[{"l":19}]}]}],"g":[{"n":9,"o":[{"m":[{"e":[{"t":20}]}]}],"r":[{"e":[{"d":20}],"n":20,"t":20}]},19],"d":[{"n":[{"o":11,"u":11,"a":11}],"a":[{"j":19}],"r":[{"a":[{"v":20}]}]},19],"r":[{"k":11,"a":[{"e":[{"l":20}],"i":[{"l":[{"j":20}]}],"č":[{"i":20}]}]},19],"b":[{"i":[{"j":[{"a":19}],"v":[{"a":19}],"č":[{"k":[{"a":[{"v":[{"a":20}]}]}]}]}],"a":[{"v":20}],"l":[{"e":[{"u":[{"š":[{"a":[{"n":20}]}]}]}]}],"o":[{"j":[{"a":[{"k":20}],"k":20}]}],"e":[{"z":[{"o":[{"b":[{"r":21}]}],"u":[{"m":21}]}]}]},19],"j":[{"e":[{"ž":[{"l":[{"j":20}]}]}]},19],"l":[{"j":19,"o":[{"z":20,"ž":20,"g":20,"p":[{"a":[{"ć":20}]}]}]},19],"m":19,"n":[{"j":19,"i":[{"m":20}],"o":[{"j":20}]},19],"v":[{"e":[{"d":[{"i":19,"n":19,"b":19,"e":19}]}],"a":[{"l":[{"i":20,"u":20,"a":20,"e":20,"j":[{"i":20}]}],"n":[{"e":[{"v":[{"r":21}]}]}]}],"i":[{"ž":[{"d":20}],"i":[{"s":[{"k":[{"r":20}]}]}],"j":[{"a":20,"e":[{"n":20}]}],"n":[{"j":20},20],"r":20,"t":[{"o":[{"p":20}]}]}],"j":[{"e":[{"d":20}]}],"o":[{"j":[{"a":[{"c":20}],"c":20}],"r":20}]},19],"i":[{"đ":20,"d":20,"m":[{"i":20}]},19],"o":[{"a":[{"n":[{"e":[{"m":8}],"o":[{"m":8}]}]}],"b":[{"a":[{"t":8}],"r":[{"o":[{"n":8}]}]}],"g":[{"a":[{"m":8}],"e":[{"o":8}],"l":[{"o":[{"s":8}]}],"o":[{"n":8}],"r":[{"a":[{"f":8}]}]}],"d":[{"i":[{"m":8,"n":8}],"o":[{"z":8}]}],"k":[{"l":[{"i":[{"n":8}]}],"o":[{"l":[{"o":[{"n":8}]}]}]}],"l":[{"a":[{"t":20,"c":20}],"i":[{"r":20}],"o":[{"v":20}],"e":[{"k":[{"s":8}]}],"u":[{"k":[{"s":8}]}]}],"m":[{"e":[{"r":8,"t":[{"r":8}]}],"o":[{"r":[{"f":8}]}]}],"n":[{"e":[{"f":8}],"o":[{"m":8}]}],"p":[{"a":[{"t":8}],"e":[{"r":8}],"l":[{"e":8}],"o":[{"l":8}],"s":[{"e":[{"f":8}]}]}],"r":[{"a":[{"h":8}]}],"s":[{"e":[{"i":8}],"i":[{"n":[{"t":8}],"s":[{"t":8}]}],"k":[{"e":[{"l":8}],"o":[{"p":8}]}],"t":[{"a":[{"z":8}],"e":8}]}],"t":[{"a":[{"h":8,"l":8}],"e":[{"r":8}],"o":[{"n":8,"p":8}],"r":[{"o":8}]}],"f":[{"o":[{"n":8,"t":8}]}],"h":[{"a":[{"l":8,"z":8}],"e":[{"l":8}],"i":[{"j":8,"m":8,"t":8,"p":[{"s":8}]}],"o":[{"r":8}],"r":[{"o":8}]}]},19],"u":[{"n":20,"p":[{"č":20}]},19]}],"s":[{"t":[{"k":11,"a":[{"v":[{"i":20,"l":[{"j":20}]}],"k":[{"n":20}],"m":20,"r":20,"s":20,"ć":20}],"i":[{"n":20,"r":20,"c":20,"f":[{"a":[{"n":20}]}]}],"o":[{"k":20,"r":[{"i":20}],"č":[{"n":[{"j":20},20],"a":20}]}],"r":[{"a":[{"v":20,"d":20,"n":20}],"i":[{"ć":20,"ž":20,"c":20}],"u":[{"g":20}]}],"u":[{"p":20}]},19],"c":19,"k":[{"a":[{"k":20,"t":20,"n":[{"j":20}],"r":[{"i":[{"o":[{"t":20}]}]}]}],"v":[{"a":[{"s":20}],"r":[{"č":20}]}],"i":[{"n":20,"t":[{"a":20}]}],"o":[{"n":[{"s":[{"k":20}]}],"č":20}],"r":[{"a":[{"m":20,"t":20}],"i":[{"t":20,"š":20,"č":20,"c":20}],"e":[{"n":[{"j":20},20]}],"o":[{"j":20}],"s":[{"n":20,"a":20}]}],"u":[{"p":[{"l":[{"j":[{"a":20}]}]}]}]},19],"p":[{"a":[{"v":20,"l":[{"j":[{"i":[{"v":20}]}]}]}],"i":[{"r":[{"a":20}]}],"l":[{"i":[{"t":20,"ć":20}]}],"o":[{"k":[{"o":[{"j":20}]}],"l":[{"i":[{"n":20}]}],"n":20,"r":[{"a":[{"v":20}]}]}],"r":[{"a":[{"v":[{"i":20,"k":20,"n":20,"l":[{"j":20}],"a":20}]}]}],"u":[{"p":[{"č":20}],"r":20}]},19],"l":[{"a":[{"m":20,"b":20}],"e":[{"đ":20,"d":20}],"i":[{"j":[{"e":[{"đ":20,"d":20}]}],"k":20,"n":20}],"j":[{"e":[{"đ":20,"d":20}]}],"o":[{"v":20}],"u":[{"š":20,"ž":20}]}],"m":[{"e":20,"i":[{"j":[{"e":20}]}],"j":[{"e":20}]}],"r":[{"e":[{"d":20}],"k":20}],"u":[{"k":20,"s":20,"t":20,"š":20}]}],"ž":[{"đ":19}],"š":[{"ć":19,"č":19}],"n":[{"a":[{"b":[{"r":[{"u":[{"p":19}]}]}],"d":[{"e":[{"k":19}]}],"k":[{"u":[{"r":19}],"c":[{"e":19}]}],"m":[{"o":[{"r":19}]}],"n":[{"i":[{"c":19}]}],"p":[{"l":[{"i":[{"k":19}]}],"s":[{"t":19}]}],"r":[{"t":19}],"u":[{"g":[{"u":[{"r":19}]}],"r":[{"a":19}]}],"f":[{"e":[{"k":19}]}]}],"e":[{"v":[{"i":[{"d":19}]}],"g":19,"d":19,"k":[{"v":19,"s":19}],"l":[{"i":[{"g":19}]}],"p":[{"c":19}],"f":[{"e":[{"k":19}]}]}],"o":[{"b":[{"l":19}],"g":[{"e":[{"n":0}]}],"k":[{"o":[{"r":0}],"u":[{"p":19}]}],"p":[{"e":[{"r":19}],"o":[{"r":19}],"s":[{"e":19}]}],"f":[{"i":[{"c":19}]}]}],"u":[{"m":[{"b":[{"r":19}]}],"n":[{"d":[{"a":19}],"k":19}],"t":[{"i":[{"l":19}]}]}],"t":[{"e":[{"r":[{"i":[{"j":[{"e":31}]},30],"o":[{"g":[{"a":[{"t":31}]}]},30],"u":30,"a":30,"e":[{"g":[{"n":31}],"s":[{"i":31,"n":31,"o":31,"u":31,"a":31,"e":31}],"ž":[{"d":[{"ž":31}]}]},30],"j":[{"e":30}]}]}]}],"j":[{"e":[{"k":19}],"u":[{"r":19,"s":[{"t":19}]}]}]}]}],"o":[{"d":[{"a":[{"g":[{"n":10}],"d":[{"n":10}],"r":[{"g":19}]}],"g":[{"n":9}],"m":[{"n":9}],"j":[{"e":[{"l":20,"n":20,"v":20,"ć":20}]},19],"l":[{"j":19,"a":[{"z":20,"ž":20,"g":20,"k":[{"a":20}]}],"u":[{"k":20,"č":20}]},19],"r":[{"a":[{"n":[{"i":20,"o":20,"u":20,"a":20,"e":20}],"z":20,"ć":20,"ž":20,"p":[{"i":20,"l":[{"j":20}],"a":20}],"č":[{"i":20}]}],"v":[{"e":[{"n":[{"j":20},20],"č":20}]}],"e":[{"m":20,"n":20,"t":20,"đ":20,"d":20}],"l":[{"j":20},20],"n":20,"p":20,"t":20,"ž":20,"i":[{"n":[{"j":20},20],"š":20,"č":20,"b":20,"c":20}],"o":[{"n":[{"j":20},20]}],"u":[{"ž":20,"g":20}]},19],"v":[{"a":[{"j":20,"ž":20}],"e":[{"s":[{"n":20,"t":20,"a":20}]}],"i":[{"k":[{"a":[{"v":20}],"n":20}],"s":20,"ć":20}],"o":[{"j":20}]},19],"i":[{"g":[{"r":19}],"z":[{"v":24,"d":24}],"s":[{"k":19,"t":[{"i":19}]}]}],"o":[{"z":[{"d":19,"g":19}],"k":19,"n":[{"l":19,"o":19,"u":19,"d":19}]}],"u":[{"v":[{"i":19,"e":19}],"z":[{"i":19,"l":19,"d":19,"e":19}],"k":19,"l":19,"m":19,"č":19}],"ž":[{"a":[{"l":[{"j":19},19]}],"i":19,"v":19,"e":19}]}],"t":[{"k":[{"a":[{"h":12,"m":12,"s":[{"m":12,"t":12}]}]}]}],"b":[{"j":[{"e":[{"k":20,"r":20,"s":[{"i":20}],"t":20,"š":20}]},19],"l":[{"j":[{"a":[{"n":20}],"u":[{"t":20,"z":20}]},19],"a":[{"j":19,"m":19,"k":[{"š":19}],"s":[{"k":19}]}],"e":[{"p":19,"t":19,"ć":19,"ž":19,"g":19,"d":[{"e":[{"n":19}]}]}],"i":[{"j":[{"e":[{"p":19,"t":19,"ž":19,"g":19}]}],"v":19,"z":[{"a":[{"t":19,"v":19}],"i":19}],"s":[{"t":19}]}],"o":[{"k":[{"a":19}]}],"u":[{"k":19,"č":19}]}],"r":[{"a":[{"ž":[{"e":20}],"z":[{"i":20,"n":20,"o":20,"u":20,"a":20,"d":20}],"m":[{"b":20}],"n":[{"j":20},20],"t":20,"ć":20,"š":[{"n":20,"č":20}]}],"v":20,"đ":20,"e":[{"m":20,"s":20,"đ":20,"č":20,"ž":20,"c":20,"d":20,"t":[{"i":20,"n":20}]}],"i":[{"j":20,"s":20,"t":20,"v":20,"č":20,"c":20}],"k":20,"l":[{"j":20},20],"n":20,"s":20,"t":20,"š":20,"č":20,"o":[{"k":20,"n":[{"j":20},20],"ć":20,"č":20,"v":[{"a":20,"c":20}]}],"u":[{"k":20,"n":[{"j":20},20],"s":20,"š":20,"č":20}]},19],"e":[{"z":[{"b":22,"d":22,"g":22,"j":22,"l":[{"j":22},22],"m":22,"n":[{"a":[{"n":[{"j":23},23],"č":23}]},22],"o":22,"r":22,"u":[{"b":23},22],"v":[{"i":[{"j":23}]},22]}],"s":[{"c":22,"k":22,"p":22,"t":[{"a":[{"n":23}],"i":[{"j":23}],"r":[{"a":[{"n":23}]}]},22]}],"š":[{"ć":22,"č":22}]}],"i":[{"g":[{"r":19}],"s":[{"t":[{"i":[{"n":[{"j":19},19]}]}]}]}],"o":[{"r":[{"u":19}]}],"u":[{"b":[{"o":[{"ž":19}]}],"z":19,"ž":19,"d":19,"m":[{"i":19,"j":19,"r":19,"e":19}]}]}]}],"u":[{"g":[{"m":[{"i":12}],"n":12}],"z":[{"a":[{"t":[{"k":[{"a":10}]}]}],"b":[{"o":[{"r":20}]},19],"d":[{"i":[{"c":20}]},19],"g":19,"i":[{"g":[{"r":19}],"n":[{"a":[{"t":19}]}],"s":[{"k":[{"r":19}]}]},19],"j":19,"l":[{"j":19,"a":[{"n":20,"t":20}],"i":[{"m":20,"t":20,"ć":20,"c":20}],"o":[{"v":20}],"u":[{"d":[{"o":[{"b":20}]}]}]},19],"m":19,"n":[{"j":19,"a":[{"k":20,"č":20}],"e":[{"v":[{"e":20,"j":[{"e":20}]}]}],"i":[{"č":20,"c":20}],"o":[{"j":20}]},19],"r":[{"e":[{"t":20,"v":20}],"i":[{"j":[{"e":[{"t":20,"v":20}]}]}],"n":[{"j":20},20],"o":[{"k":[{"o":20,"u":20,"a":20}],"č":20}],"u":[{"j":20}]},19],"v":[{"a":[{"n":20,"t":20}],"i":[{"ž":20,"j":[{"o":20,"u":20,"a":20,"e":20}]}],"o":[{"j":20}]},19],"o":[{"b":[{"e":[{"s":[{"t":19}]}],"i":[{"j":[{"e":[{"s":[{"t":19}]}]}]}]}],"r":[{"a":[{"t":19,"v":19}]}],"h":[{"o":19}]}],"u":[{"g":[{"a":[{"r":19}]}]}]}],"s":[{"c":19,"k":[{"a":[{"k":20}],"l":[{"a":[{"đ":20,"d":20}]}],"o":[{"m":28,"v":28,"š":28,"k":[{"o":28}],"l":[{"u":28,"e":28}],"p":[{"a":28}],"r":[{"a":28}],"s":[{"i":28}],"t":[{"r":28}]},20],"u":[{"p":20}]},19],"p":[{"a":[{"v":20,"l":[{"o":20}]}],"e":[{"h":20,"l":20,"m":20,"t":20,"v":20,"š":20,"n":[{"t":20}]}],"j":[{"e":[{"h":20,"l":20,"m":20,"t":20,"v":20,"š":20}]}],"i":[{"j":[{"a":20,"e":20,"u":[{"š":20}]}],"k":[{"u":[{"š":20}]}]}],"o":[{"n":20,"r":[{"i":20,"a":20,"e":[{"n":[{"j":20},20],"č":20}]}],"s":[{"o":[{"b":20}]}]}],"r":[{"e":[{"m":[{"i":20,"a":20}]}]}]},19],"r":[{"k":20,"n":20,"p":20,"l":[{"j":20}],"t":20,"đ":20,"ž":20,"a":20,"d":20,"e":20,"i":[{"j":[{"e":[{"d":20}]}]}]}],"t":[{"a":[{"l":[{"a":[{"s":19}]}],"r":[{"a":19}]}],"v":[{"r":[{"đ":19,"d":19}]}],"e":[{"r":19,"ć":19,"g":19}],"o":[{"v":19}],"r":[{"a":[{"j":19,"l":19}],"g":19,"e":[{"p":19,"s":19,"b":19}],"k":19,"n":19,"p":19,"ć":19,"č":19}],"u":[{"m":19,"r":19,"ć":19}]}]}],"š":[{"ć":19,"č":19}]}]}],"o":[{"a":5,"e":5,"i":5,"o":5,"u":5},1],"u":[{"a":5,"e":5,"i":5,"o":5,"u":5},1],"a":[{"a":5,"e":5,"i":5,"o":5,"u":5},1],"e":[{"a":5,"e":5,"i":5,"o":5,"u":5},1],"i":[{"a":5,"e":5,"i":5,"o":5,"u":5},1]}',"na-dno.na-tka.na-tka-ti.na-tka-še.o-dno.o-tka.o-tka-ti.o-tka-še.po-dno.po-dne.po-tki.po-tku.po-tka.po-tke.u-dno.i-gde.i-gdje.svu-gde.sve-gde.svu-gdje.sve-gdje.po-ne-gde.po-ne-gdje.i-zbi.i-zba.i-zbe.i-zbi-ci.i-zbi-ca.i-zbi-ce.i-zvit.i-zim.izo-ba-ri.izo-ba-ru.izo-ba-ra.izo-ba-re.i-skok.i-sko-ku.i-sko-ka.i-skon.i-sko-ni.i-sko-nu.i-sko-na.i-skri.i-skru.i-skra.i-skre.i-skrav.i-spod.i-spo-da.i-stri.i-stro.i-stru.i-stra.i-stre.na-ji.na-jo.na-ju.na-ja.na-je.na-jam.na-jest.o-braz.o-bret.o-dvi-ka.o-dran.o-dra-ti.pre-dvoj.ra-zmi.ra-zmo.ra-zmu.ra-zma.ra-zme.ra-zni.ra-zno.ra-znu.ra-zna.ra-zne.ra-sklop.ra-spe-lo.ra-spe-lu.ra-spe-la.ra-spe-ću.ra-spe-ća.ra-spe-će.ra-sti.ra-stu.ra-sta.ra-ste.ra-stom.ra-ster.ra-šći.ra-šćo.ra-šću.ra-šća.ra-šće.u-zni.u-zno.u-zna.u-znik.u-zrok.u-ski.u-sko.u-sku.u-ska.u-ske.us-kos.u-spio.u-speo.u-spor.u-šću.u-šća.u-šće.in-te-res.tran-su.tran-sa.tran-som".split(".")]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/168.adapter.js b/public/tools/cloud_sheets/vendor/univer/168.adapter.js new file mode 100644 index 0000000..4700324 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/168.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[168],{168(e,i,o){o.r(i),o.d(i,{Sl:()=>a});const a=["005,006,003,001,0004,0045,00067,004,0005,00006,01,002,06,011,04,0021,045,05,02,043,00034,21,03,4,2,0012,00003,1,43,65,0043,0001,5,23,45,232,0054,0006,000006,212,021,00065,00054,034,04545,343,3,00004,00404,00056,0003,0032,00045,000004,0002,065,032,00005,6,32,12,11,012,34,08,8",'{".":[{"a":[{"v":[{"r":0}]}],"d":[{"i":[{"s":[{"p":[{"o":1}]}]}]}],"e":[{"k":[{"s":2,"v":0}]}],"i":[{"s":3,"z":3}],"o":[{"b":[{"i":[{"d":4,"t":0}]}],"d":3}],"p":[{"o":[{"d":[{"n":5}],"v":[{"s":5}]}],"r":[{"e":[{"d":[{"n":6}]}]}]}],"s":[{"e":[{"k":[{"s":5}]}],"i":[{"s":7}],"t":7}],"v":[{"o":[{"z":[{"l":8,"n":8}]}]}],"z":[{"l":[{"i":[{"z":9}]}]}],"č":64,"š":64,"ž":64}],"a":[{"a":10,"b":[{"b":[{"a":0}],"r":[{"o":[{"d":1}]}]},10],"c":[{"c":[{"i":0}]},10],"č":10,"d":[{"l":11,"o":[{"b":[{"l":12}]}],"r":[{"l":[{".":1,"a":1}],"o":[{"b":1}]}],"u":[{"r":0}]},10],"e":13,"f":[{"g":[{"a":0}],"t":3},10],"g":10,"h":[{"m":[{"i":0,"o":0},14]},10],"i":[{"n":15},10],"j":[{"e":[{"k":16}],"f":[{"i":0,"o":0},14],"h":[{"a":0,"e":0}],"i":[{"m":[{"o":1},0]}],"o":[{"s":2}],"s":[{"t":[{"b":1}]}],"u":[{".":17,"č":2,"g":2}],"ž":[{"n":0}]},10],"k":[{"s":[{"t":14},7]},10],"l":10,"m":[{"z":14},10],"n":[{"d":[{"g":[{"a":1}],"h":[{"i":1}]}],"m":[{"i":0},14],"z":[{"i":0}]},10],"o":[{"b":15},10],"p":[{"h":14},10],"r":[{"a":10,"d":[{"w":[{"a":1}]}],"e":10,"i":10,"o":10,"u":10,"x":[{"a":0,"o":0,"u":0}]}],"s":[{"š":[{"č":0},14]},10],"š":10,"t":[{"f":14,"i":7},10],"u":[{"f":14,"k":18,"l":14},13],"v":[{"š":[{"i":0}],"ž":[{"a":0},14]},10],"y":[{"t":[{"o":0}]}],"z":[{"e":10,"f":[{"o":0}],"i":[{"g":14}],"l":[{"a":2,"e":2,"i":[{"l":7,"t":7,"v":7}]}],"o":[{"b":14,"č":19,"r":[{"a":0,"o":0}]}],"r":[{"a":14,"e":[{"d":7}]}],"v":[{"p":0}]}],"ž":[{"m":[{"i":0}]},10]}],"b":[{"a":[{"b":[{"b":[{"a":1}]}],"n":[{"č":20}],"u":7}],"c":21,"č":21,"d":21,"e":[{"v":7},3],"h":10,"i":3,"j":[{"a":[{".":14},10],"e":[{"l":17,"m":22,"t":17}]}],"k":21,"l":[{"e":[{"p":22,"t":[{"a":17}]}],"i":[{"l":17,"t":17,"v":17}]}],"m":[{"i":23},10],"n":21,"o":[{"c":[{"h":[{"m":1}]}],"r":[{"d":17}],"v":[{"p":0}]},3],"r":[{"a":[{"b":22,"s":17,"š":22}],"e":[{"z":[{"g":4,"i":4,"r":4},22],"ž":[{"e":17}]}],"o":[{"b":22}],"ž":[{"d":[{"a":1}]}]}],"s":21,"š":21,"t":21,"u":[{"k":[{"i":0,"u":0,"v":0}],"r":[{"y":0}]}],"v":21,"z":10,"ž":10}],"c":[{"c":24,"h":[{".":24,"m":[{"a":0}]}],"k":[{"a":10,"o":[{".":17,"v":26},25],"s":3,"w":[{"e":0}]},24],"n":21,"t":21}],"č":[{"b":21,"g":21,"i":3,"j":27,"k":21,"l":[{"e":[{"t":28}]},27],"m":[{"e":[{"s":17}]}],"n":21,"o":[{"p":23}],"p":21,"s":21,"u":[{"p":23}],".":65}],"d":[{"b":21,"c":21,"č":21,"d":[{"v":[{"o":[{"j":1}]}]},21],"e":[{"l":[{"e":[{"m":29}]}],"m":[{"i":[{"n":7}],"n":7}],"z":[{"i":30}]},18],"g":21,"h":21,"i":[{"c":[{"k":0}],"n":[{"d":23,"o":16}],"s":[{"k":[{"r":7}],"p":[{"r":1}]},31]}],"j":21,"k":21,"l":[{"e":[{"t":32}],"i":[{"t":17,"v":17},18],"o":10}],"m":33,"n":[{"a":[{"c":28,"č":34,"p":34,"r":28,"s":23}],"e":[{"b":34}],"i":[{"v":17,"z":34}],"j":[{"a":[{"č":34}]}],"o":[{"ž":28}]}],"o":[{"b":[{"č":23,"d":34}],"f":35,"r":[{"d":0}],"v":[{"č":0,"z":36}]},18],"p":21,"r":[{"a":[{"z":17}],"e":[{"p":[{"n":37},22],"v":14}]}],"s":21,"š":21,"t":[{"e":[{"k":[{"s":38}]}]},21],"u":[{"r":[{"o":0},14],"u":[{"m":0}]}],"v":[{"i":28},21],"z":39}],"e":[{"a":10,"b":[{"j":7,"l":[{"i":[{"z":1}]}]},10],"c":10,"č":[{"d":[{"e":0,"i":0,"o":0},14],"l":[{"e":2}],"o":[{"p":0}],"t":[{"i":0,"o":0,"r":0},14],"u":[{"p":0}],"v":[{"r":[{"s":1}]},40]},10],"d":[{"f":14,"i":[{"g":0}],"l":11,"o":[{"b":[{"e":1,"r":1,"s":14},0],"č":19}],"v":[{"č":0}],"z":[{"b":0}]},10],"e":[{"p":14},10],"f":[{"f":[{"e":0},14],"t":[{"a":0}]},10],"g":10,"h":10,"i":[{"p":[{"z":[{"i":1}]}],"z":[{"e":8},11]},10],"j":10,"k":[{"m":[{"a":[{"l":1}]}],"t":[{"r":[{"e":1}]}]},10],"l":10,"m":10,"n":10,"o":[{"b":[{"j":4,"r":4}],"d":[{"l":7}],"z":[{"n":5}]},13],"p":[{"n":[{"i":[{"k":0}]}]},10],"r":[{"a":[{"z":[{"l":41,"r":42,"v":42}]},10],"e":10,"f":14,"i":10,"o":10,"r":14,"u":10}],"s":[{"d":[{"a":0}],"t":[{"a":17,"i":[{".":17,"h":17,"l":17}]}]},10],"š":[{"p":[{"o":0},14]},10],"t":[{"h":23,"i":[{"n":[{"š":14}]}]},10],"u":13,"v":[{"e":[{"t":[{"l":41}]}],"h":[{"a":0}],"p":[{"r":[{"e":1}]}],"s":[{"t":[{"e":1,"v":0}]}]},10],"w":[{"i":[{"n":[{"d":1}]}],"l":[{"e":0}],"t":[{"o":0},14]},24],"y":[{"w":14}],"z":[{"d":[{"j":0,"r":43}],"g":[{"l":0},11],"i":[{"j":[{"o":1},17],"m":[{"n":0}],"s":[{"t":1},17],"z":0}],"l":[{"o":[{"m":1}]},7],"m":[{"a":[{"n":1}],"o":7}],"o":[{"b":14,"r":16}],"r":[{"e":7}],"t":14,"u":[{"m":44}],"ž":14},10],"ž":10}],"f":[{"a":27,"e":[{"l":[{"j":[{"t":1}]}]},3],"f":[{"m":[{"a":0}]}],"i":[{"z":[{"l":[{"j":1}]}]}],"n":21,"o":[{"u":[{"r":[{"i":1}]}]}],"r":[{"e":[{"u":4}]}],"s":21,"t":[{"v":[{"e":0}]},24],"u":3}],"g":[{"d":21,"e":[{"i":[{"g":[{"e":1}]}],"l":[{"č":42}],"n":[{"j":[{"č":1}]}]}],"i":[{"t":[{"p":[{"r":1}]}]}],"o":[{"v":[{"z":0}]},3],"t":21,"u":3}],"h":[{"a":[{"u":7}],"č":21,"e":[{"i":7}],"k":21,"l":[{".":23,"o":14}],"n":21,"r":[{"e":[{"n":17}]}],"š":21,"t":21,"u":[{"f":[{"f":[{"m":1}]}]},27]}],"i":[{"a":10,"b":10,"c":[{"s":14},10],"č":[{"a":10,"e":10,"i":10,"r":[{"a":0}],"u":10,"v":[{"r":0}]}],"d":[{"o":[{"r":23}]},10],"e":13,"f":10,"g":[{"h":23},10],"h":10,"i":[{"n":15},10],"j":10,"k":[{"č":[{"a":0},14]},10],"l":[{"č":[{"k":36}],"e":23,"o":23},10],"m":[{"h":[{"i":0},14]},10],"n":[{"d":27,"e":24,"o":[{"s":45}],"p":27,"s":[{"e":46}],"š":[{"k":23},27],"t":[{"r":46}]},10],"o":13,"p":10,"r":[{"e":23},10],"s":[{"a":7,"e":[{"r":[{"t":1}]}],"i":[{"s":47}],"k":[{"v":14}],"s":24},10],"š":10,"t":[{"p":[{"r":0}]},10],"u":10,"v":[{"j":[{"o":0}]},10],"x":10,"z":[{"l":[{"a":7,"i":[{"z":47}]},3],"m":[{"e":0,"o":0}],"o":[{"d":[{"e":1}]}],"p":[{"o":0}],"r":18,"u":[{"r":[{"e":1}]},3]},10],"ž":10}],"j":[{"a":[{"k":[{"t":17}]}],"b":21,"c":21,"č":21,"d":21,"e":[{"k":[{"s":48}]}],"g":21,"h":[{"i":10},24],"i":[{"m":[{"e":23}],"n":[{"t":34}]}],"k":21,"l":21,"m":21,"n":21,"o":[{"b":23,"d":[{"l":4},21],"s":24,"ž":23}],"p":21,"r":[{"a":[{"z":47},31]},21],"s":[{"i":[{"s":[{"t":9}]}]},21],"š":21,"t":21,"u":[{"č":24,"d":[{"m":0}],"s":24,"ž":15},3],"v":21,"z":[{"v":[{"e":[{"s":1}]}]},21]}],"k":[{"c":21,"d":21,"e":[{"t":[{"i":0}]}],"i":3,"m":21,"n":27,"o":[{"k":[{"d":0},4],"v":[{"š":[{"e":1}]}],"z":[{"l":[{"o":37}]}]},3],"r":[{"e":27}],"s":[{".":24,"a":[{"t":17}],"c":3,"p":[{"o":7},3],"t":[{".":23,"a":[{"z":1}],"e":0},3]}],"t":[{"r":[{"a":23},46]},21],"u":[{"r":[{"o":0}]}],"v":[{"i":[{"p":17}]}]}],"l":[{"a":[{"i":[{"r":7}],"v":[{"z":[{".":1}]}]}],"b":21,"c":21,"č":21,"d":21,"e":[{"e":7,"i":[{"p":[{"z":1}]}],"m":[{"e":0}]},3],"f":21,"g":[{"č":[{"a":0}]},21],"h":21,"i":[{"d":[{"ž":[{".":1}]}],"z":[{"d":34},27]},40],"j":[{".":24,"c":23,"č":24,"k":24,"n":24,"s":24,"š":24,"u":[{"d":[{"j":49}]}]}],"k":21,"l":21,"m":21,"n":21,"o":[{"č":27},3],"p":21,"s":21,"š":21,"t":21,"u":[{"k":[{"i":0,"u":0}]}],"v":21,"z":21,"ž":21}],"m":[{"b":21,"c":21,"č":21,"d":21,"e":[{"d":[{"n":5,"o":[{"s":1}],"r":7}]}],"f":21,"i":[{"n":[{"d":23,"p":23,"š":23}],"t":[{"h":[{".":1}]}]}],"k":21,"m":21,"n":[{"i":[{"v":17}]}],"o":[{"š":[{"t":[{".":1}]}],"v":[{"š":[{".":1}]}]}],"p":21,"s":21,"š":21,"t":21,"u":[{"r":[{"n":17}]}],"v":21,"y":[{"h":[{"i":0}]}],"ž":21}],"n":[{"a":[{"č":[{"e":[{"l":32}]}],"d":[{"n":[{"j":5}],"r":[{"a":1,"e":7},8],"u":[{"r":1}]}],"j":[{"a":[{"k":1}],"e":[{"n":5}],"o":[{"č":1},50],"u":30},27],"s":27,"v":[{"z":[{"e":38},30]}],"z":[{"o":[{"r":37}]},27]},3],"b":21,"c":21,"č":[{"a":10,"e":10,"i":10,"u":10},24],"d":[{"g":[{"a":0}],"h":[{"i":0}],"m":14},35],"e":[{"d":51,"h":27,"z":[{"m":2,"v":4}]},3],"f":21,"g":[{"h":[{"a":0},14],"v":[{"i":0},14]},21],"h":21,"j":[{".":24,"c":24,"e":[{"v":[{"s":52}]}],"k":24,"s":24,"š":24,"v":23}],"k":21,"l":21,"n":21,"o":[{"r":[{"d":0}],"s":[{"t":14}]}],"p":21,"s":[{"i":[{"s":47}]},21],"š":21,"t":[{"e":[{"k":[{"s":53}]}],"g":[{"a":0,"e":0},14],"v":[{"i":0},14]},21],"u":3,"v":21,"y":[{"q":[{"u":0}]}],"z":[{"i":7},21],"ž":21}],"o":[{"a":[{"s":14},10],"b":[{"g":[{"l":0}],"i":[{"d":[{"e":0}]}],"j":[{"o":0}],"l":[{"a":32}],"r":[{"o":32}],"z":14},10],"c":[{"k":[{"e":0,"i":0}],"r":14},10],"č":10,"d":[{"d":[{"v":0}],"n":[{"a":[{"l":0}]}],"r":[{"e":[{"p":12}]}],"z":[{"d":0}],"ž":40},10],"e":[{"l":[{"e":47}]},10],"f":10,"g":[{"l":23},10],"h":10,"i":[{"z":54},10],"j":10,"k":[{"b":[{"a":0,"e":0},14],"t":14},10],"l":[{"a":[{"v":[{"t":55}]}],"g":[{"č":[{"a":1}]}],"r":[{"e":0},14]},10],"m":10,"n":10,"o":[{"d":[{"l":4}],"l":18,"m":14},10],"p":[{"m":[{"e":0},14],"y":23},10],"r":[{"a":10,"d":[{"e":[{"č":7}]}],"e":10,"i":10,"o":10,"u":10}],"s":[{"e":[{"b":32,"m":52}]},10],"š":10,"t":10,"u":[{"k":[{"i":0,"u":0}]},10],"v":[{"s":[{"e":[{"m":0}]}],"š":[{"k":0}],"z":[{"a":17,"d":2},40]},10],"y":10,"z":[{"b":7,"d":[{"j":8}],"g":7,"l":[{"o":[{"ž":1},0]}],"n":[{"i":[{"c":0,"š":0}]},11],"o":11,"r":11,"v":11},10],"ž":[{"m":[{"i":0}]},10]}],"p":[{"c":21,"č":[{"k":[{"a":0}]},35],"e":[{"č":27,"k":[{"t":7}],"t":[{"l":[{"e":7},50]}],"v":[{"s":5,"t":42}]},3],"h":[{"s":[{"o":0},23]}],"i":[{"z":[{"o":0}]}],"k":21,"l":[{"o":[{"z":23}]}],"o":[{"d":[{"f":[{"a":1}],"l":30,"n":[{"a":7}],"o":[{"č":5}]}],"l":[{"o":[{"b":1}]}],"s":[{"t":[{"d":1}]}]},3],"r":[{"e":[{"z":47}]}],"s":21,"š":21,"t":21,"z":[{"i":[{"g":[{".":1}]}]}]}],"q":[{"u":11}],"r":[{"a":[{"č":[{"u":46}],"e":24,"j":[{"ž":[{"n":1}]}],"v":[{"z":[{"a":1},8]}],"z":[{"i":[{"d":5}],"l":46,"o":[{"r":5}]}]}],"b":21,"c":21,"č":21,"d":21,"e":[{"a":[{"l":46}],"c":[{"h":[{"t":1}]}],"č":[{"v":0}],"d":[{"č":32,"i":[{"g":1}],"n":[{"j":[{"u":1}]}]}],"i":[{"b":[{"a":1}]}],"j":[{"o":0}],"k":[{"m":0}],"s":[{"d":[{"a":1}]}],"v":[{"s":[{"k":37}]}],"z":[{"n":[{"a":[{"č":1}]}],"u":[{"s":1}],"v":[{"e":1}]}]},3],"f":10,"g":21,"h":21,"i":[{"n":[{"o":36},14],"z":[{"g":4,"l":4,"n":4}]},3],"j":21,"k":21,"l":21,"m":21,"n":21,"o":[{"b":[{"i":[{"d":37}]}],"d":[{"i":46}],"z":[{"o":0}]},3],"p":21,"r":10,"s":21,"š":21,"t":[{"h":[{"a":0},14]},21],"u":[{"k":[{"l":0}]}],"v":[{"j":[{"o":0},56]},21],"y":[{"a":[{"n":0}]}],"z":[{"l":11},21],"ž":[{"d":[{"a":0}]},10]}],"s":[{"b":21,"c":[{".":23,"i":18},27],"e":[{"k":[{"s":[{"a":5,"i":8}]}],"m":[{"a":0}],"v":[{"p":0}]}],"f":21,"i":[{"d":14,"g":[{"n":[{".":1}]}],"s":31},3],"j":21,"k":[{".":24,"n":18,"r":[{"e":23}]}],"l":[{"a":[{"v":14}]}],"o":[{"n":[{"i":[{"č":53},57]},14]}],"p":[{"l":[{"o":[{"d":14}]}],"o":[{"d":[{"l":47}]}]},27],"s":21,"t":[{".":24,"e":[{"n":14},46],"f":23,"i":[{"č":14,"m":32,"r":14}],"k":24,"m":24,"r":[{"a":[{".":14}]},27]}],"u":[{"b":[{"o":7}]},3],"v":[{"e":[{"t":8}]}]}],"š":[{"č":[{".":24,"k":24,"n":24},18],"e":[{"s":11}],"j":21,".":65}],"t":[{"a":[{"w":[{"i":0}],"z":4}],"b":21,"c":[{"h":[{"o":8}]},21],"d":21,"e":[{"k":[{"s":[{"t":37}]}],"m":[{"a":32}],"x":[{"a":0}]}],"f":10,"i":[{"n":[{"d":23,"o":[{"s":23}],"p":23,"s":[{"e":23}],"t":28}]}],"k":21,"l":[{"e":[{"t":[{"n":[{"o":58}]}]}]}],"m":21,"n":[{"a":[{"j":23}]}],"o":[{"v":[{"ž":[{".":1}]}]}],"r":[{"t":[{"u":[{"r":1},8]}]}],"s":21,"t":21,"u":3,"z":[{".":23}]}],"u":[{"a":21,"b":[{"j":7,"p":[{"o":0},14]},10],"c":10,"č":10,"d":[{"m":[{"i":[{".":1}]}]},10],"e":10,"f":10,"g":10,"h":10,"i":10,"j":10,"k":[{"a":10,"e":10,"o":10}],"l":10,"m":10,"n":10,"p":[{"č":[{"k":[{"a":1}]}]},10],"r":[{"a":10,"e":10,"g":23,"i":10}],"s":[{"p":27},10],"š":[{"e":[{"s":50}]},10],"t":[{"h":[{"o":8},14]},10],"v":10,"x":[{"e":[{"m":0}]}],"z":10,"ž":10}],"v":[{"b":21,"c":21,"č":[{"a":10,"e":[{"r":14},10],"i":10},24],"d":21,"e":[{"č":[{"l":7,"m":7}],"i":7,"t":[{"i":[{"n":7}],"l":[{"e":[{"t":38}]}]}]}],"f":10,"g":10,"i":[{"d":[{"v":[{"a":37},0]}],"v":27,"ž":[{"g":[{".":1}]}]}],"j":[{"o":23},21],"k":21,"m":21,"n":21,"o":[{"r":[{"d":0}],"z":[{"l":[{"e":8}]}]}],"p":[{"a":59,"i":[{"j":14,"l":14}]},21],"s":[{"k":[{"n":17}]}],"š":[{"e":[{"k":17}],"k":23}],"t":[{"k":7},21],"z":[{"a":18,"g":59,"k":33,"o":24,"p":22,"u":18},11]}],"w":[{"a":27,"o":11}],"x":[{"f":10}],"y":[{"e":27,"f":21,"j":10,"l":10,"w":10}],"z":[{"a":[{"n":[{"e":[{".":12}]}],"u":[{"k":0}],"v":[{"p":2}],"z":[{"d":0},25]},60],"b":[{"i":[{"r":46}]},21],"c":10,"č":21,"d":[{"j":[{"u":0}],"v":22},39],"g":[{"n":[{"i":14}],"o":[{"t":17}]},10],"h":21,"i":[{"g":10,"s":21,"š":[{"č":34}]},27],"j":21,"k":[{"u":22},21],"l":[{"a":[{"s":17}],"i":[{"l":46,"t":32,"v":32,"z":57},10],"j":27,"o":[{"g":46,"m":17,"ž":46}],"u":10}],"m":21,"n":27,"o":[{"b":10,"d":21,"g":10,"l":18,"m":14},27],"p":21,"r":[{"e":[{"d":[{"č":23}],"š":23,"z":23,"ž":23}],"i":23,"u":23},61],"s":21,"š":10,"t":10,"u":[{"j":14,"p":21,"z":21},27],"v":[{"e":[{"n":14}],"n":22,"o":[{"j":63,"k":14}]},62],"z":39,"ž":10}],"ž":[{"b":21,"c":21,"č":21,"j":21,"k":21,"m":[{"i":23}],".":65}]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/1738.adapter.js b/public/tools/cloud_sheets/vendor/univer/1738.adapter.js new file mode 100644 index 0000000..6dec375 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/1738.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[1738],{1738(o,s,e){e.r(s),e.d(s,{Cop:()=>n});const n=["02,002,0002,1,2,21,12,,201,3,22,32,01,022",'{"0":[{"ⲙ":[{"̀":[{"0":7}]}],"ⲛ":[{"̀":[{"0":7}]}]}],".":[{"0":[{"ⲯ":1,"ⲑ":1,"ⲝ":1,"ⲫ":1,"ϩ":1,"ϫ":1,"ⲙ":[{"̀":2}],"ⲛ":[{"̀":2}],"ⲓ":[{"̈":2}],"ϯ":1}],"ⲃ":0,"ⲥ":0,"ⲇ":0,"ϥ":0,"ⲅ":0,"ϧ":0,"ⲕ":0,"ⲗ":0,"ⲙ":0,"ⲛ":0,"ⲡ":0,"ϭ":0,"ⲣ":0,"ⲧ":0,"ⲱ":[{"ⲟ":[{"ⲩ":0}]},0],"ⲭ":0,"ϣ":0,"ⲍ":0,"ⲏ":[{"ⲓ":0}]}],"ⲃ":[{"ⲃ":4,"ⲅ":4,"ⲇ":4,"ⲍ":4,"ϧ":4,"ⲕ":4,"ⲗ":0,"ⲙ":[{"̀":[{"0":6}]},4],"ⲛ":[{"̀":[{"0":6}]},4],"ⲭ":4,"ⲡ":4,"ⲣ":0,"ⲥ":4,"ⲧ":4,"ϥ":4,"ϭ":4,"ϣ":4,".":4,"ⲯ":[{"0":5}],"ⲑ":[{"0":5}],"ⲝ":[{"0":5}],"ⲫ":[{"0":5}],"ϩ":[{"0":5}],"ϫ":[{"0":5}],"ⳉ":[{"0":5}],"ϯ":[{"0":5}]},3],"ⲅ":[{"ⲃ":4,"ⲅ":4,"ⲇ":4,"ⲍ":4,"ϧ":4,"ⲕ":4,"ⲗ":0,"ⲙ":[{"̀":[{"0":6}]},4],"ⲛ":[{"̀":[{"0":6}]},4],"ⲭ":4,"ⲡ":4,"ⲣ":0,"ⲥ":4,"ⲧ":4,"ϥ":4,"ϭ":4,"ϣ":4,".":4,"ⲯ":[{"0":5}],"ⲑ":[{"0":5}],"ⲝ":[{"0":5}],"ⲫ":[{"0":5}],"ϩ":[{"0":5}],"ϫ":[{"0":5}],"ⳉ":[{"0":5}],"ϯ":[{"0":5}]},3],"ⲇ":[{"ⲃ":4,"ⲅ":4,"ⲇ":4,"ⲍ":4,"ϧ":0,"ⲕ":4,"ⲗ":4,"ⲙ":[{"̀":[{"0":6}]},4],"ⲛ":[{"̀":[{"0":6}]},4],"ⲭ":4,"ⲡ":4,"ⲣ":0,"ⲥ":4,"ⲧ":4,"ϥ":4,"ϭ":4,"ϣ":4,".":4,"ⲯ":[{"0":5}],"ⲑ":[{"0":5}],"ⲝ":[{"0":5}],"ⲫ":[{"0":5}],"ϩ":[{"0":5}],"ϫ":[{"0":5}],"ⳉ":[{"0":5}],"ϯ":[{"0":5}]},3],"ⲍ":[{"ⲃ":4,"ⲅ":4,"ⲇ":4,"ⲍ":4,"ϧ":4,"ⲕ":4,"ⲗ":4,"ⲙ":[{"̀":[{"0":6}]},4],"ⲛ":[{"̀":[{"0":6}]},4],"ⲭ":4,"ⲡ":4,"ⲣ":4,"ⲥ":4,"ⲧ":4,"ϥ":4,"ϭ":4,"ϣ":4,".":4,"ⲯ":[{"0":5}],"ⲑ":[{"0":5}],"ⲝ":[{"0":5}],"ⲫ":[{"0":5}],"ϩ":[{"0":5}],"ϫ":[{"0":5}],"ⳉ":[{"0":5}],"ϯ":[{"0":5}]},3],"ϧ":[{"ⲃ":4,"ⲅ":4,"ⲇ":4,"ⲍ":4,"ϧ":4,"ⲕ":4,"ⲗ":0,"ⲙ":[{"̀":[{"0":6}]},4],"ⲛ":[{"̀":[{"0":6}]},0],"ⲭ":4,"ⲡ":4,"ⲣ":4,"ⲥ":4,"ⲧ":4,"ϥ":4,"ϭ":4,"ϣ":4,".":4,"ⲯ":[{"0":5}],"ⲑ":[{"0":5}],"ⲝ":[{"0":5}],"ⲫ":[{"0":5}],"ϩ":[{"0":5}],"ϫ":[{"0":5}],"ⳉ":[{"0":5}],"ϯ":[{"0":5}]},3],"ⲕ":[{"ⲃ":4,"ⲅ":4,"ⲇ":4,"ⲍ":4,"ϧ":4,"ⲕ":4,"ⲗ":0,"ⲙ":[{"̀":[{"0":6}]},4],"ⲛ":[{"̀":[{"0":6}]},4],"ⲭ":4,"ⲡ":4,"ⲣ":0,"ⲥ":4,"ⲧ":0,"ϥ":4,"ϭ":4,"ϣ":4,".":4,"ⲯ":[{"0":5}],"ⲑ":[{"0":5}],"ⲝ":[{"0":5}],"ⲫ":[{"0":5}],"ϩ":[{"0":5}],"ϫ":[{"0":5}],"ⳉ":[{"0":5}],"ϯ":[{"0":5}]},3],"ⲗ":[{"ⲃ":4,"ⲅ":4,"ⲇ":4,"ⲍ":4,"ϧ":4,"ⲕ":4,"ⲗ":4,"ⲙ":[{"̀":[{"0":6}]},4],"ⲛ":[{"̀":[{"0":6}]},4],"ⲭ":4,"ⲡ":4,"ⲣ":4,"ⲥ":4,"ⲧ":4,"ϥ":4,"ϭ":4,"ϣ":4,".":4,"ⲯ":[{"0":5}],"ⲑ":[{"0":5}],"ⲝ":[{"0":5}],"ⲫ":[{"0":5}],"ϩ":[{"0":5}],"ϫ":[{"0":5}],"ⳉ":[{"0":5}],"ϯ":[{"0":5}]},3],"ⲙ":[{"ⲃ":4,"ⲅ":4,"ⲇ":4,"ⲍ":4,"ϧ":4,"ⲕ":4,"ⲗ":4,"ⲙ":[{"̀":[{"0":6}]},4],"ⲛ":[{"̀":[{"0":6}]},4],"ⲭ":4,"ⲡ":4,"ⲣ":4,"ⲥ":4,"ⲧ":4,"ϥ":4,"ϭ":4,"ϣ":4,".":4,"ⲯ":[{"0":5}],"ⲑ":[{"0":5}],"ⲝ":[{"0":5}],"ⲫ":[{"0":5}],"ϩ":[{"0":5}],"ϫ":[{"0":5}],"ⳉ":[{"0":5}],"ϯ":[{"0":5}],"̀":[{"0":[{".":4}],"ⲃ":8,"ⲅ":8,"ⲇ":8,"ϧ":8,"ⲕ":8,"ⲗ":8,"ⲙ":8,"ⲛ":8,"ⲭ":8,"ⲡ":8,"ⲣ":8,"ⲥ":8,"ⲧ":8,"ϥ":8,"ϭ":8,"ϣ":8}]},3],"ⲛ":[{"ⲃ":4,"ⲅ":4,"ⲇ":4,"ⲍ":4,"ϧ":4,"ⲕ":4,"ⲗ":4,"ⲙ":[{"̀":[{"0":6}]},4],"ⲛ":[{"̀":[{"0":6}]},4],"ⲭ":4,"ⲡ":4,"ⲣ":4,"ⲥ":4,"ⲧ":4,"ϥ":4,"ϭ":4,"ϣ":4,".":4,"ⲯ":[{"0":5}],"ⲑ":[{"0":5}],"ⲝ":[{"0":5}],"ⲫ":[{"0":5}],"ϩ":[{"0":5}],"ϫ":[{"0":5}],"ⳉ":[{"0":5}],"ϯ":[{"0":5}],"̀":[{"0":[{".":4}],"ⲃ":8,"ⲅ":8,"ⲇ":8,"ϧ":8,"ⲕ":8,"ⲗ":8,"ⲙ":8,"ⲛ":8,"ⲭ":8,"ⲡ":8,"ⲣ":8,"ⲥ":8,"ⲧ":8,"ϥ":8,"ϭ":8,"ϣ":8}]},3],"ⲭ":[{"ⲃ":4,"ⲅ":4,"ⲇ":4,"ⲍ":4,"ϧ":4,"ⲕ":4,"ⲗ":4,"ⲙ":[{"̀":[{"0":6}]},4],"ⲛ":[{"̀":[{"0":6}]},4],"ⲭ":4,"ⲡ":4,"ⲣ":4,"ⲥ":4,"ⲧ":4,"ϥ":4,"ϭ":4,"ϣ":4,".":4,"ⲯ":[{"0":5}],"ⲑ":[{"0":5}],"ⲝ":[{"0":5}],"ⲫ":[{"0":5}],"ϩ":[{"0":5}],"ϫ":[{"0":5}],"ⳉ":[{"0":5}],"ϯ":[{"0":5}]},3],"ⲡ":[{"ⲃ":4,"ⲅ":4,"ⲇ":4,"ⲍ":4,"ϧ":4,"ⲕ":4,"ⲗ":0,"ⲙ":[{"̀":[{"0":6}]},4],"ⲛ":[{"̀":[{"0":6}]},0],"ⲭ":4,"ⲡ":4,"ⲣ":0,"ⲥ":4,"ⲧ":0,"ϥ":4,"ϭ":4,"ϣ":4,".":4,"ⲯ":[{"0":5}],"ⲑ":[{"0":5}],"ⲝ":[{"0":5}],"ⲫ":[{"0":5}],"ϩ":[{"0":5}],"ϫ":[{"0":5}],"ⳉ":[{"0":5}],"ϯ":[{"0":5}]},3],"ⲣ":[{"ⲃ":4,"ⲅ":4,"ⲇ":4,"ⲍ":4,"ϧ":4,"ⲕ":4,"ⲗ":4,"ⲙ":[{"̀":[{"0":6}]},4],"ⲛ":[{"̀":[{"0":6}]},4],"ⲭ":4,"ⲡ":4,"ⲣ":4,"ⲥ":4,"ⲧ":4,"ϥ":4,"ϭ":4,"ϣ":4,".":4,"ⲯ":[{"0":5}],"ⲑ":[{"0":5}],"ⲝ":[{"0":5}],"ⲫ":[{"0":5}],"ϩ":[{"0":5}],"ϫ":[{"0":5}],"ⳉ":[{"0":5}],"ϯ":[{"0":5}]},3],"ⲥ":[{"ⲃ":0,"ⲅ":0,"ⲇ":0,"ⲍ":4,"ϧ":4,"ⲕ":0,"ⲗ":0,"ⲙ":[{"̀":[{"0":6}]},0],"ⲛ":[{"̀":[{"0":6}]},0],"ⲭ":4,"ⲡ":0,"ⲣ":0,"ⲥ":4,"ⲧ":0,"ϥ":0,"ϭ":4,"ϣ":4,".":4,"ⲯ":[{"0":5}],"ⲑ":[{"0":5}],"ⲝ":[{"0":5}],"ⲫ":[{"0":5}],"ϩ":[{"0":5}],"ϫ":[{"0":5}],"ⳉ":[{"0":5}],"ϯ":[{"0":5}]},3],"ⲧ":[{"ⲃ":4,"ⲅ":4,"ⲇ":4,"ⲍ":0,"ϧ":[{".":10},0],"ⲕ":4,"ⲗ":4,"ⲙ":[{"̀":[{"0":6}]},0],"ⲛ":[{"̀":[{"0":6}]},4],"ⲭ":4,"ⲡ":4,"ⲣ":0,"ⲥ":0,"ⲧ":4,"ϥ":4,"ϭ":4,"ϣ":4,".":4,"ⲯ":[{"0":5}],"ⲑ":[{"0":5}],"ⲝ":[{"0":5}],"ⲫ":[{"0":5}],"ϩ":[{"0":5}],"ϫ":[{"0":5}],"ⳉ":[{"0":5}],"ϯ":[{"0":5}]},3],"ϥ":[{"ⲃ":4,"ⲅ":4,"ⲇ":4,"ⲍ":4,"ϧ":4,"ⲕ":4,"ⲗ":0,"ⲙ":[{"̀":[{"0":6}]},4],"ⲛ":[{"̀":[{"0":6}]},4],"ⲭ":4,"ⲡ":4,"ⲣ":0,"ⲥ":4,"ⲧ":0,"ϥ":4,"ϭ":4,"ϣ":4,".":4,"ⲯ":[{"0":5}],"ⲑ":[{"0":5}],"ⲝ":[{"0":5}],"ⲫ":[{"0":5}],"ϩ":[{"0":5}],"ϫ":[{"0":5}],"ⳉ":[{"0":5}],"ϯ":[{"0":5}]},3],"ϭ":[{"ⲃ":4,"ⲅ":4,"ⲇ":4,"ⲍ":4,"ϧ":0,"ⲕ":4,"ⲗ":0,"ⲙ":[{"̀":[{"0":6}]},4],"ⲛ":[{"̀":[{"0":6}]},0],"ⲭ":4,"ⲡ":4,"ⲣ":0,"ⲥ":4,"ⲧ":0,"ϥ":4,"ϭ":4,"ϣ":4,".":4,"ⲯ":[{"0":5}],"ⲑ":[{"0":5}],"ⲝ":[{"0":5}],"ⲫ":[{"0":5}],"ϩ":[{"0":5}],"ϫ":[{"0":5}],"ⳉ":[{"0":5}],"ϯ":[{"0":5}]},3],"ϣ":[{"ⲃ":4,"ⲅ":4,"ⲇ":4,"ⲍ":4,"ϧ":4,"ⲕ":4,"ⲗ":4,"ⲙ":[{"̀":[{"0":6}]},4],"ⲛ":[{"̀":[{"0":6}]},4],"ⲭ":4,"ⲡ":4,"ⲣ":4,"ⲥ":4,"ⲧ":4,"ϥ":4,"ϭ":4,"ϣ":4,".":4,"ⲯ":[{"0":5}],"ⲑ":[{"0":5}],"ⲝ":[{"0":5}],"ⲫ":[{"0":5}],"ϩ":[{"0":5}],"ϫ":[{"0":5}],"ⳉ":[{"0":5}],"ϯ":[{"0":5}]},3],"ⲓ":[{"̈":[{"0":[{".":3},3]}]}],"ⲩ":[{"̈":[{"0":[{".":3},3]}]}],"ϩ":[{"0":[{".":4},9],"ⲣ":5}],"ⲫ":[{"0":[{".":4},3]}],"ⲝ":[{"0":[{".":4},3]}],"ⲑ":[{"0":[{".":4},3]}],"ⲯ":[{"0":[{".":4},3]}],"ϫ":[{"0":[{".":4},3]}],"ⲏ":[{"ϧ":[{"0":[{".":10},6]}],"ⳉ":[{"0":[{".":10},11]}],"ⲁ":12,"ⲉ":12,"ⲟ":[{"ⲩ":12},12],"ⲱ":12,"ⲓ":[{"ⲁ":12,"ⲉ":12,"ⲟ":12,"ⲱ":12}]}],"ⳉ":[{"0":[{".":4},9]}],"ϯ":[{"0":[{".":4},3]}],"ⲁ":[{"ⲉ":[{"ⲓ":13},12],"ⲟ":[{"ⲩ":0},12],"ⲏ":12,"ⲱ":12,"ⲓ":[{"ⲁ":12,"ⲉ":12,"ⲟ":12,"ⲱ":12}]}],"ⲉ":[{"ⲁ":12,"ⲟ":[{"ⲩ":0},12],"ⲏ":12,"ⲱ":12,"ⲓ":0}],"ⲟ":[{"ⲁ":12,"ⲉ":12,"ⲏ":12,"ⲱ":12,"ⲓ":[{"ⲁ":12,"ⲉ":12,"ⲟ":12,"ⲱ":12}],"ⲟ":[{"ⲩ":0}],"ⲩ":[{"ⲁ":1,"ⲉ":1,"ⲏ":1,"ⲟ":1,"ⲩ":1,"ⲱ":1,"ⲓ":1}]}],"ⲱ":[{"ⲟ":[{"ⲩ":12}]}]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/1781.adapter.js b/public/tools/cloud_sheets/vendor/univer/1781.adapter.js new file mode 100644 index 0000000..4d34458 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/1781.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[1781],{1781(s,o,e){e.r(o),e.d(o,{Te:()=>n});const n=["22,11,01,1,21",'{"‍":0,"‌":1,"అ":2,"ఆ":2,"ఇ":2,"ఈ":2,"ఉ":2,"ఊ":2,"ఋ":2,"ౠ":2,"ఌ":2,"ౡ":2,"ఎ":2,"ఏ":2,"ఐ":2,"ఒ":2,"ఓ":2,"ఔ":2,"ా":2,"ి":2,"ీ":2,"ు":2,"ూ":2,"ృ":2,"ౄ":2,"ె":2,"ే":2,"ై":2,"ొ":2,"ో":2,"ౌ":2,"క":3,"ఖ":3,"గ":3,"ఘ":3,"ఙ":3,"చ":3,"ఛ":3,"జ":3,"ఝ":3,"ఞ":3,"ట":3,"ఠ":3,"డ":3,"ఢ":3,"ణ":3,"త":3,"థ":3,"ద":3,"ధ":3,"న":3,"ప":3,"ఫ":3,"బ":3,"భ":3,"మ":3,"య":3,"ర":3,"ఱ":3,"ల":3,"ళ":3,"వ":3,"శ":3,"ష":3,"స":3,"హ":3,"ఁ":4,"ం":4,"ః":4,"ౕ":4,"ౖ":4,"్":0}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/2124.adapter.js b/public/tools/cloud_sheets/vendor/univer/2124.adapter.js new file mode 100644 index 0000000..2f67769 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/2124.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[2124],{2124(r,i,s){s.r(i),s.d(i,{Lt:()=>l});const l=["001,0001,003,00001,023,0002,000001,004,005,0032,012,01,02,04,002,21,05,03,0501,0014,0004,0005,054,0012,0043,43,32,22,23,3,0034,4,0003,032,1,2003,00002,0021,00054,00034,014,0045,0041,212,53,44,5,41,0054,021,00032,232,503,043,00043,504,2,304,00003,00412,0202,432,0023,34,0000001,034,3002,000004,0052,322,54,434,24,024,022,214,25,234,31,00004,000005,045",'{".":[{"a":[{"p":[{"i":1,"r":2},0],"r":[{"b":[{"i":3}],"t":[{"i":3}]}],"s":[{"p":2}],"t":[{"a":1,"r":2},0],"š":[{"v":2}]}],"d":[{"i":[{"n":[{"a":3}]}]}],"e":[{"k":[{"r":2}]}],"i":[{"š":[{"i":5},4]}],"k":[{"i":[{"r":[{"t":[{"i":6}]}]}]}],"n":[{"u":[{"s":[{"i":3}]},0]}],"p":[{"i":[{"e":[{"č":5}]}]}],"s":[{"a":[{"m":1}],"i":[{"d":[{"a":3}]}],"k":7,"t":7,"u":[{"k":[{"r":8}]}]}],"t":[{"e":[{"s":9}]}],"u":[{"k":2,"š":4,"ž":0}],"į":[{"s":7}],"š":[{"v":[{"e":[{"n":3}]}]}]}],"a":[{"a":10,"b":11,"c":[{"h":12},11],"d":[{"r":[{"a":13}]},11],"e":[{"l":14},11],"f":11,"g":[{"r":[{"a":2,"i":[{"o":16}],"o":16},13]},15],"h":11,"i":[{"n":[{"f":16}],"s":[{"k":7}],"t":[{"r":7}]}],"j":11,"k":[{"l":14,"v":[{"i":14}],"ė":[{"t":12}]},11],"l":[{"i":17,"o":18,"y":17,"ė":17,"ū":17},11],"m":11,"n":[{"k":[{"l":9}],"s":[{"k":7}],"t":[{"r":7}]},11],"o":12,"p":[{"a":[{"k":19}],"e":[{"i":2}],"i":[{"m":9}],"l":2,"r":17,"s":9},11],"r":[{"e":[{"i":[{"t":0}]}],"g":13,"i":[{"s":20}]},11],"s":[{"i":[{"s":21},1],"k":[{"l":2},13],"l":17,"m":[{"i":14,"u":14}],"n":22,"t":[{"u":13}]},11],"t":[{"a":[{"u":[{"g":2}]}],"e":[{"i":[{"s":[{"t":21}]}]}],"i":[{"m":9}],"o":1,"p":20,"r":[{"u":13}],"ė":23,"ū":[{"ž":5}]},11],"u":[{"k":[{"l":7}],"s":[{"k":7,"l":7}],"t":[{"r":24}]},13],"v":11,"w":11,"y":11,"z":11,"ą":11,"č":15,"ę":11,"ė":10,"į":11,"š":[{"n":17,"t":[{"r":7}],"v":14},11],"ų":11,"ū":10,"ž":[{"l":14},11]}],"b":[{"a":[{"c":2,"l":[{"t":[{"a":6}]}],"s":[{"l":7}]}],"b":15,"c":15,"d":25,"e":[{"p":20,"s":[{"i":3},9],"t":9}],"f":15,"g":15,"h":15,"j":11,"k":15,"l":[{"a":12,"i":[{"z":12}],"o":26,"u":12},15],"m":15,"n":15,"p":15,"r":[{"i":17},27],"s":15,"t":28,"u":[{"k":7}],"v":15,"w":15,"z":15,"č":15,"š":15,"ž":15}],"c":[{"a":[{"r":20}],"b":15,"c":15,"d":15,"f":15,"g":15,"h":[{"i":29}],"k":15,"l":15,"m":15,"n":15,"p":15,"r":15,"s":15,"t":15,"u":[{"k":21},7],"v":15,"w":15,"z":15,"č":15,"š":15,"ž":15}],"d":[{"a":[{"b":30}],"b":15,"c":15,"d":15,"e":[{"k":7,"m":[{"a":3}],"p":[{"r":7}],"s":[{"p":7}]}],"f":15,"g":15,"h":15,"i":[{"p":7,"s":[{"k":21},7]}],"j":15,"k":28,"l":25,"m":15,"n":15,"o":[{"r":[{"i":2}]}],"p":15,"r":[{"o":[{"b":5},1],"ė":12,"ų":31},15],"s":15,"t":15,"u":[{"a":14,"k":[{"a":8},7],"s":[{"l":7}]}],"v":[{"a":17,"i":[{"a":32}]},15],"w":15,"z":13,"č":15,"š":15,"ž":[{"i":[{"o":3}]},13]}],"e":[{"a":[{"l":4,"p":[{"i":3}],"t":1},10],"b":[{"e":1,"l":17,"r":2},10],"c":[{"h":12},11],"d":[{"r":[{"i":2,"o":13,"ė":2}]},33],"e":11,"f":11,"g":[{"r":[{"a":2}]},11],"h":11,"i":[{"e":11,"k":[{"l":24}],"n":34,"s":[{"k":7,"l":7,"t":[{"r":[{"a":36}]},35]}],"š":37}],"j":11,"k":[{"r":17},11],"l":11,"m":[{"a":[{"s":38}]},11],"n":[{"k":[{"l":[{"a":20},9]}],"o":1,"s":20,"t":[{"a":31}],"u":1},15],"o":[{"r":17,"š":33},12],"p":[{"l":[{"i":7}],"r":[{"a":3,"i":3},7]},17],"r":[{"e":[{"a":39}],"i":[{"s":20}],"o":1,"ė":5},11],"s":[{"i":[{"s":21}],"k":[{"a":3,"o":16},7],"v":33},11],"t":11,"u":[{"ž":32},40],"v":[{"i":17},11],"w":11,"y":11,"z":11,"ą":11,"č":11,"ę":11,"ė":11,"į":[{"p":32,"s":[{"k":32}],"t":[{"r":32}]},40],"š":[{"n":17,"v":14,"ė":32},11],"ų":11,"ū":11,"ž":11}],"f":[{"b":15,"c":15,"d":15,"f":15,"g":15,"h":15,"i":[{"s":41}],"k":15,"l":15,"m":15,"n":15,"p":15,"r":[{"i":1},15],"s":15,"t":15,"v":15,"w":15,"z":15,"č":15,"š":15,"ž":15}],"g":[{"a":[{"š":32}],"b":15,"c":15,"d":15,"e":[{"o":42}],"f":15,"g":15,"h":15,"k":15,"l":[{"e":12,"o":12},15],"m":15,"n":[{"ų":26},15],"p":43,"r":[{"a":[{"i":36,"n":17}],"e":[{"i":13},44],"i":[{"o":45},17],"o":[{".":17}],"ą":13,"į":46,"ų":31},26],"s":15,"t":47,"u":29,"v":15,"w":15,"y":[{"v":[{"a":3}]}],"z":15,"č":15,"š":15,"ž":15}],"h":[{"b":15,"c":15,"d":15,"f":15,"g":15,"h":15,"i":[{"b":7}],"k":15,"l":27,"m":[{"e":12},15],"n":15,"p":15,"r":15,"s":15,"t":15,"v":15,"w":15,"z":15,"č":15,"š":15,"ž":15}],"i":[{"a":[{"g":48,"i":[{"š":17}],"k":2,"n":[{"t":[{"ę":17,"ė":17}]}],"p":20,"r":17},12],"b":33,"c":[{"e":1},11],"d":[{"r":[{"ė":2},14],"ė":[{"m":12}]},11],"e":[{"d":[{"r":24}],"g":2,"i":17,"k":[{"l":2}],"n":[{"t":17}],"p":[{"r":41}],"s":[{"k":7}]},12],"f":11,"g":[{"l":33,"r":[{"u":2}]},15],"h":15,"i":10,"j":11,"k":[{"n":33,"r":2},11],"l":[{"o":1},11],"m":[{"d":34},11],"n":[{"k":[{"l":7}],"v":46},47],"o":[{"g":[{"r":24}],"k":5,"p":[{"l":7}],"r":17},12],"p":[{"j":49,"r":[{"u":2}]},11],"r":[{"a":[{"s":50}],"i":17},11],"s":[{"a":16,"i":16,"k":7,"l":[{"i":7},17],"n":22,"t":[{"e":13,"o":3}]},47],"t":51,"u":12,"v":11,"w":11,"y":11,"z":11,"ą":12,"č":11,"ę":11,"ė":10,"į":11,"š":[{"n":17,"t":8,"v":13,"ė":5,"š":34},11],"ų":12,"ū":12,"ž":17}],"j":[{"a":[{".":29,"u":[{"n":[{"a":6}]}]}],"b":15,"c":15,"d":15,"f":15,"g":15,"h":15,"j":15,"k":15,"l":15,"m":15,"n":15,"o":[{"t":[{"v":7},32]}],"p":15,"r":15,"s":15,"t":15,"u":34,"v":15,"w":15,"z":15,"č":15,"š":15,"ū":34,"ž":15}],"k":[{"a":[{".":29,"d":52,"k":[{"l":7},32],"p":[{"r":7}],"r":29,"s":29,"t":[{"i":29}],"v":[{"a":[{"r":6}]},46],"z":9}],"b":15,"c":15,"d":15,"e":[{"b":24,"r":[{"e":[{"n":6}]}]},29],"f":15,"g":15,"h":15,"i":[{".":46,"a":46,"b":29,"l":29,"t":46},13],"k":15,"l":[{"a":[{"n":13},26],"e":[{".":31,"l":12}],"o":[{".":31}],"u":[{".":31}],"y":12,"ą":31,"ų":31},15],"m":15,"n":15,"o":29,"p":15,"r":[{"a":[{"u":13}],"i":[{"s":[{"t":21},36]}],"o":[{"v":13},17],"u":[{"n":46},25],"y":13,"ą":16},27],"s":[{"k":13,"l":2,"p":53},15],"t":[{"a":17},47],"u":[{"b":31,"k":7,"p":[{"r":7}]},29],"v":[{"a":12,"o":17,"ė":12},15],"w":15,"y":[{"t":29}],"z":15,"ą":46,"č":15,"š":[{"l":[{"y":14}],"ė":32},15],"ž":15}],"l":[{"a":[{".":29,"p":[{"s":[{"t":[{"o":54}]}]}]}],"b":[{"r":2},15],"c":15,"d":15,"e":[{".":29,"c":2,"g":[{"r":7}],"č":31}],"f":15,"g":[{"s":[{"t":9}]},15],"h":15,"i":[{".":29,"a":7,"o":55,"ų":29}],"j":15,"k":[{"o":1},15],"l":15,"m":15,"n":15,"o":[{".":29,"g":20,"p":31}],"p":[{"n":[{"a":3}]},47],"r":15,"s":[{"k":13,"p":53},47],"t":25,"u":[{".":29,"p":56}],"v":47,"w":15,"y":[{"č":29}],"z":15,"ą":29,"č":15,"ę":[{"s":29}],"ė":[{"m":29,"s":29,"č":56}],"į":57,"š":47,"ų":29,"ž":15}],"m":[{"a":[{"i":[{"d":28}],"s":[{"k":[{"i":32}]},29]},12],"b":[{"r":2},15],"c":15,"d":15,"e":[{"c":2,"i":[{"s":3}]}],"f":15,"g":15,"h":15,"i":[{"g":[{"l":7,"r":7}],"n":[{"s":20}],"t":[{"r":7}]}],"k":15,"l":15,"m":15,"n":15,"o":[{"d":56},12],"p":[{"l":13,"r":17},15],"r":15,"s":47,"t":[{"a":17},15],"u":[{"o":29}],"v":15,"w":15,"z":15,"č":15,"š":15,"ž":15}],"n":[{"a":[{"s":9,"t":9}],"b":15,"c":[{"e":[{"n":3}]},15],"d":[{"r":[{"ė":17}]},15],"e":[{"g":20,"i":[{"m":5}],"o":[{"r":36},24],"r":[{"ė":58}],"s":[{"i":3,"l":2,"t":9}],"t":9,"į":[{"s":[{"t":58}]}]},0],"f":15,"g":[{"l":2,"r":7},47],"h":15,"i":[{"s":7}],"j":15,"k":[{"l":[{"a":2}],"r":[{"y":17},2]},15],"l":15,"m":15,"n":15,"o":46,"p":15,"r":15,"s":[{"k":[{"u":7}],"l":2,"p":53,"t":[{"r":32}]},47],"t":[{"a":17,"p":[{"l":7}],"r":[{"u":[{"o":14},17]}]},47],"u":[{"a":20,"b":9,"g":2,"i":0,"k":5,"o":[{"s":36},24],"s":48}],"v":15,"w":15,"z":15,"č":47,"š":15,"ž":15}],"o":[{"a":11,"b":11,"c":11,"d":[{"r":17},11],"e":[{"t":12},11],"f":11,"g":11,"h":11,"i":11,"j":11,"k":[{"r":17},11],"l":[{"e":[{"n":3}]},11],"m":[{"p":[{"r":7}]},11],"n":[{"o":1},11],"o":10,"p":11,"r":[{"i":[{"e":12,"s":20}],"t":[{"r":7}],"ę":12},11],"s":[{"l":[{"e":2,"o":7},17],"v":33},11],"t":[{"o":1},33],"v":11,"w":11,"y":11,"z":11,"ą":11,"č":11,"ę":11,"ė":11,"į":11,"š":[{"v":14},11],"ų":11,"ū":11,"ž":11}],"p":[{"a":[{"d":5,"i":[{"l":5,"m":5,"r":5}],"n":29,"p":20,"r":[{"s":[{"i":6}],"ė":59},12],"s":[{"r":8},5],"t":60},2],"b":15,"c":47,"d":61,"e":[{"r":[{"e":14,"i":[{"m":62}],"s":32,"ė":14},1]},12],"f":15,"g":15,"h":15,"i":[{"e":[{"š":17}]},12],"k":51,"l":[{"e":17,"i":[{"o":31,"u":13},17],"o":[{"j":13},17],"u":13,"y":13},26],"m":15,"n":47,"o":[{"g":7,"l":[{"i":3}]},29],"p":15,"r":[{"a":[{"i":17,"u":[{"s":[{"i":36}]}],"š":17}],"i":[{"s":36},17],"o":[{".":16,"m":17}],"y":17,"ą":31,"ė":17,"ū":17},27],"s":[{"i":1,"k":22,"t":[{"y":53}],"v":33},47],"t":61,"u":[{"s":[{"i":[{"a":[{"u":64}]}],"k":7,"l":7}],"t":[{"r":7}]},63],"v":15,"w":15,"y":12,"z":15,"č":15,"ė":12,"š":61,"ž":25}],"r":[{"a":[{".":29,"b":2,"c":29,"i":[{"m":0,"t":[{"į":20}]}],"k":[{"r":2}],"l":29,"m":29,"s":[{"l":20,"m":2}],"u":[{"k":[{"a":[{".":20}]}]}],"v":29},12],"b":[{"o":1,"r":65},15],"c":15,"d":47,"e":[{"b":56,"i":[{"n":31,"t":31}],"l":29,"p":41,"s":[{"l":32},46],"t":29}],"f":15,"g":15,"h":15,"i":[{".":29,"d":2,"j":29,"k":[{"r":2}],"l":56,"m":[{"a":[{".":14}],"t":28}],"o":29,"p":2,"s":[{"i":3,"t":2}],"v":[{"i":[{"n":6}]}],"ą":29,"ų":29,"ū":56},12],"k":[{"l":[{"y":2}],"r":65},47],"l":47,"m":15,"n":47,"o":[{"d":66,"g":[{"r":7}],"j":29,"k":29,"n":29,"p":29,"r":[{"g":28}],"s":46},12],"p":[{"r":65},15],"r":15,"s":[{"k":[{"o":[{".":7}]}],"p":7},47],"t":[{"i":[{"k":38,"s":50}],"r":33,"v":33},47],"u":[{"k":56,"l":29,"n":31,"o":[{"s":29}],"p":56,"s":[{"k":7},29],"t":[{"o":31}]},12],"v":47,"w":15,"z":15,"ą":[{"s":31},29],"č":47,"š":[{"l":33,"m":33},47],"ų":46,"ž":15}],"s":[{"a":[{"l":[{"a":3}],"m":[{"ž":15}],"n":[{"t":21}],"r":[{"k":[{"a":6}]}]}],"b":28,"c":15,"d":28,"e":[{"k":[{"r":7}],"n":[{"a":[{"t":67}]}]},12],"f":15,"g":15,"h":15,"i":[{"a":[{"u":[{"k":2}],"v":9,"š":9}],"d":2,"k":30,"p":30,"s":9,"š":[{"v":68}]}],"k":[{".":31,"a":[{".":16}],"e":[{"n":70},31],"i":46,"l":[{"e":70}],"r":55,"u":[{"b":46}],"v":[{"a":2,"i":2}],"y":46,"ą":31,"ę":46},69],"l":[{"e":29,"i":17,"o":17,"u":25,"ū":25},27],"m":[{"e":[{".":31}],"ę":31},15],"n":25,"o":[{"d":[{"r":7}]}],"p":[{"e":17,"n":31,"u":31},26],"r":[{"i":17},47],"s":15,"t":[{"a":[{"l":12}],"e":[{"n":12}],"i":[{"n":31}],"o":[{"d":12,"j":12,"v":26}],"r":[{"a":[{"i":14}]}],"v":14,"ę":31,"ė":25,"ų":31,"ū":12},15],"u":[{"b":[{"l":2}],"d":9,"g":9,"k":[{"l":5}],"s":[{"i":3},9],"ž":20},0],"v":[{"e":12,"y":26},15],"w":15,"z":15,"ą":2,"č":25,"ė":46,"š":15,"ž":15}],"t":[{"a":[{"b":56,"k":[{"r":2}],"s":8,"t":56,"u":[{"r":[{"a":6}]}],"č":56},12],"b":15,"c":15,"d":15,"e":[{"b":56,"m":29,"o":7,"t":9}],"f":15,"g":25,"h":15,"i":[{"g":[{"r":7}],"k":[{"l":24}],"n":29,"p":56},12],"j":25,"k":[{"l":13},25],"l":25,"m":25,"n":15,"o":[{"j":[{"e":29}],"l":[{"į":56}],"s":9,"w":56},12],"p":[{"j":13,"l":[{"ū":2}],"r":7},28],"r":[{"i":[{"o":31,"š":12}],"o":31,"ą":31,"ų":31},15],"s":[{"i":1,"k":[{"r":[{"i":6}]}]},71],"t":47,"u":[{"a":20,"r":29}],"v":[{"o":12,"ė":[{"j":31}]},15],"w":15,"y":[{"d":29}],"z":15,"č":15,"ę":29,"ė":[{"m":[{"u":17,"ę":17,"ė":17},12]}],"š":51,"ž":28}],"u":[{"a":[{"i":17},10],"b":[{"j":12},11],"c":11,"d":11,"e":10,"f":11,"g":[{"r":[{"i":[{"o":8}]},7]},11],"h":11,"i":[{"m":10,"n":16,"r":14}],"j":11,"k":[{"l":[{"e":14},17],"r":17,"v":17,"ų":16},11],"l":11,"m":11,"n":11,"o":[{"r":17,"s":[{"l":7}]},12],"p":[{"l":7,"r":[{"o":2}]},17],"r":[{"k":[{"l":2},5],"o":18,"s":9},11],"s":[{"a":[{"l":49}],"l":[{"a":2,"e":2},17],"v":[{"a":3,"e":2}]},11],"t":[{"o":1,"r":56},33],"u":11,"v":11,"w":11,"y":11,"z":11,"ą":11,"č":11,"ę":11,"ė":10,"į":11,"š":[{"l":33,"n":33,"v":14},11],"ų":11,"ū":10,"ž":[{"i":[{"m":5}],"l":17,"v":2,"ė":23},11]}],"v":[{"a":[{".":29,"p":20,"t":2}],"b":15,"c":15,"d":15,"e":[{"p":56,"s":29},12],"f":15,"g":15,"h":15,"i":[{"e":[{"s":[{"i":[{"a":64}]}]}],"s":[{"k":41}],"t":[{"r":24}]}],"j":15,"k":15,"l":15,"m":15,"n":15,"p":15,"r":15,"s":72,"t":15,"v":15,"w":15,"y":[{"d":[{"a":[{"u":56}]}]}],"z":15,"ą":29,"č":15,"ė":[{"p":31},29],"š":15,"ž":15}],"w":[{"b":15,"c":15,"d":15,"f":15,"g":15,"h":15,"k":15,"l":15,"m":15,"n":15,"p":15,"r":15,"s":15,"t":15,"v":15,"w":15,"z":15,"č":15,"š":15,"ž":15}],"y":[{"a":11,"b":11,"c":11,"d":11,"e":11,"f":11,"g":[{"i":[{"a":3}]},11],"h":11,"i":11,"j":11,"k":[{"l":53},11],"l":11,"m":11,"n":11,"o":11,"p":11,"r":17,"s":[{"k":13},11],"t":11,"u":11,"v":11,"w":11,"y":11,"z":11,"ą":11,"č":11,"ę":11,"ė":11,"į":11,"š":11,"ų":11,"ū":11,"ž":11}],"z":[{"b":15,"c":15,"d":15,"f":15,"g":15,"h":15,"k":15,"l":15,"m":15,"n":15,"p":15,"r":15,"s":15,"t":15,"v":15,"w":15,"z":15,"č":15,"š":15,"ž":15}],"ą":[{"a":11,"b":11,"c":11,"d":11,"e":11,"f":11,"g":11,"h":11,"i":11,"j":11,"k":11,"l":11,"m":11,"n":11,"o":11,"p":11,"r":11,"s":11,"t":11,"u":11,"v":11,"w":11,"y":11,"z":11,"ą":11,"č":11,"ę":11,"ė":11,"į":11,"š":11,"ų":11,"ū":11,"ž":11}],"č":[{"b":15,"c":15,"d":15,"e":[{"k":[{"o":3}]}],"f":15,"g":15,"h":15,"i":[{"n":1}],"k":15,"l":15,"m":15,"n":15,"p":15,"r":15,"s":15,"t":15,"v":15,"w":15,"z":15,"č":15,"š":15,"ž":15}],"ę":[{"a":11,"b":11,"c":11,"d":11,"e":11,"f":11,"g":11,"h":11,"i":11,"j":11,"k":11,"l":11,"m":11,"n":11,"o":11,"p":11,"r":11,"s":11,"t":11,"u":11,"v":11,"w":11,"y":11,"z":11,"ą":11,"č":11,"ę":11,"ė":11,"į":11,"š":11,"ų":11,"ū":11,"ž":11}],"ė":[{"a":11,"b":11,"c":11,"d":11,"e":11,"f":11,"g":11,"h":11,"i":11,"j":11,"k":[{"l":53},11],"l":28,"m":[{"e":17},11],"n":11,"o":11,"p":11,"r":11,"s":[{"l":2},15],"t":[{"r":13},28],"u":11,"v":11,"w":11,"y":11,"z":11,"ą":11,"č":11,"ę":11,"ė":11,"į":11,"š":11,"ų":11,"ū":11,"ž":11}],"į":[{"a":11,"b":11,"c":11,"d":10,"e":12,"f":11,"g":13,"h":11,"i":11,"j":11,"k":73,"l":12,"m":12,"n":11,"o":11,"p":13,"r":12,"s":[{"i":1,"l":2,"m":14,"r":14,"t":5},11],"t":74,"u":11,"v":12,"w":11,"y":11,"z":11,"ą":11,"č":11,"ę":11,"ė":10,"į":11,"š":11,"ų":11,"ū":11,"ž":11}],"š":[{"b":43,"c":15,"d":51,"e":[{"i":11,"v":14}],"f":15,"g":75,"h":15,"i":[{"s":[{"t":76}],"u":[{"k":3}]}],"k":43,"l":[{"i":[{"j":12}],"u":12,"y":29},15],"m":15,"n":[{"e":12,"o":1},15],"o":[{"r":14}],"p":75,"r":15,"s":[{"i":[{"k":[{"a":[{"p":64}]}]},1]},77],"t":61,"u":[{"š":7}],"v":[{"i":12,"y":[{"d":13}]},78],"w":15,"z":15,"č":25,"ė":[{"j":14}],"š":15,"ž":15}],"ų":[{"a":11,"b":11,"c":11,"d":11,"e":11,"f":11,"g":11,"h":11,"i":11,"j":11,"k":11,"l":11,"m":11,"n":11,"o":11,"p":11,"r":11,"s":11,"t":11,"u":11,"v":11,"w":11,"y":11,"z":11,"ą":11,"č":11,"ę":11,"ė":11,"į":11,"š":11,"ų":11,"ū":11,"ž":11}],"ū":[{"a":11,"b":11,"c":11,"d":11,"e":11,"f":11,"g":11,"h":11,"i":11,"j":11,"k":[{"l":53},11],"l":11,"m":11,"n":11,"o":11,"p":11,"r":11,"s":[{"k":53,"l":2,"t":2},11],"t":11,"u":11,"v":11,"w":11,"y":11,"z":11,"ą":11,"č":11,"ę":11,"ė":11,"į":11,"š":11,"ų":11,"ū":11,"ž":11}],"ž":[{"a":[{"n":[{"t":[{"s":80},79]}]}],"b":51,"c":15,"d":51,"e":[{"n":1}],"f":77,"g":28,"h":15,"i":[{"m":[{"u":2}],"o":32}],"j":11,"k":51,"l":[{"u":12},15],"m":47,"n":15,"p":28,"r":15,"s":[{"i":1,"k":13,"l":81,"t":2},15],"t":61,"u":[{"s":9},12],"v":[{"i":13,"o":17},26],"w":15,"z":15,"č":15,"į":[{"s":32}],"š":15,"ž":15}]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/2222.adapter.js b/public/tools/cloud_sheets/vendor/univer/2222.adapter.js new file mode 100644 index 0000000..97c87bb --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/2222.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[2222],{2222(i,a,e){e.r(a),e.d(a,{Ro:()=>u});const u=["03,043,02,0001,002,0021,04,0003,05,01,2,00005,032,0032,00006,052,0002,00034,004,0004,054,21,022,1,3,34,001,003,4,00002,25,000002,0005,0332,034,011,22,005,00004,021,14,12,23,303,32,0034,00000006,041,0302,0000002,000003,232,41,5,000004,203,202,42,302,45,43,432,6,023,00000002",'{".":[{"a":[{"i":[{"c":0}],"n":[{"i":[{"s":1}]}],"z":2}],"c":[{"r":[{"e":3}]}],"d":[{"e":[{"a":[{"j":4}],"z":5}]}],"g":6,"i":[{"a":2,"e":2,"ț":0,"u":1,"v":0}],"î":[{"m":6}],"n":[{"i":4},2],"p":[{"r":[{"e":[{"ș":7}]}]},6],"s":6,"ș":6,"u":[{"i":6,"n":[{"i":8}]}],"z":2}],"a":[{"c":[{"ă":10,"h":[{"i":11}]}],"e":0,"f":[{"o":7}],"i":[{"a":12,"e":12,"l":0,"s":13,"u":0}],"l":[{"i":[{"e":14}],"t":10}],"m":2,"n":[{".":10,"e":15,"i":[{"e":16,"ș":17}],"s":18,"u":10,"z":4},2],"o":[{"g":4}],"t":[{"i":[{"a":19}],"r":10,"u":20}],"ț":[{"a":10,"ă":10}],"u":[{"a":0,"d":0,"g":0,"l":0,"n":0,"r":0,"s":0,"t":[{"e":0}],"ț":12,"z":0},10]},9],"ă":[{"i":[{"e":4},0],"m":22,"n":[{"u":7}],"r":[{"g":[{"i":11}]}],"ș":[{"t":1},0],"t":[{"i":[{".":2,"e":19}]}],"u":0,"v":0,"z":[{"i":2}]},21],"b":[{".":10,"a":[{"ț":4}],"ă":[{"n":[{"u":11}]}],"c":10,"d":10,"i":[{"a":[{".":4,"t":4}],"e":4,"i":24}],"l":[{"i":[{"m":25}],"u":6},2],"o":[{"r":[{"i":[{"c":27}]}]},26],"s":10,"t":10,"ț":[{"i":[{"n":[{"e":[{".":19}]}]}]},10],"u":27},23],"c":[{".":28,"a":[{"u":[{"t":27}]}],"ă":[{"c":4,"t":[{"u":11}]}],"c":10,"e":[{"a":4,"ț":4}],"h":[{"i":[{".":10}]}],"i":[{".":10,"a":[{"l":[{"e":27}]}],"o":4,"s":[{"p":27},16],"z":[{"a":29}]}],"l":6,"m":10,"n":30,"o":[{"p":[{"i":[{"a":[{"t":[{"ă":31}]}]}]}],"ț":4}],"s":10,"t":10,"ț":10,"u":[{"i":[{"m":27}],"l":24,"ț":4}],"v":10},23],"d":[{".":28,"a":[{"m":18,"ț":4}],"c":10,"e":[{"s":[{"c":18}],"z":[{"i":[{"n":7}]}]}],"i":[{"a":[{"n":4,"t":[{"ă":16}]}]}],"j":10,"m":10,"n":21,"o":[{"i":[{"l":18}]}],"u":24},23],"e":[{"a":[{"c":9,"j":9,"l":9,"ș":9,"t":9,"ț":4,"v":9}],"b":[{"u":[{"i":32}]}],"c":[{"i":[{"a":16}],"l":[{"a":[{"r":[{"e":29}]}]}]},10],"d":[{"i":[{"u":[{"l":[{"u":19}]}]}]}],"e":[{"a":4},0],"f":[{"a":23}],"h":9,"i":[{"a":12,"e":12,"i":0,"l":0,"m":0,"n":0,"o":12,"s":33,"t":0,"u":34}],"î":9,"l":10,"m":[{"o":[{"n":11}]},2],"n":[{"e":8},10],"o":[{"n":0},35],"r":[{"a":10,"ă":10,"c":10},9],"s":[{"c":[{"o":27}],"t":[{"i":37}]},36],"ș":[{"i":0},10],"t":[{"a":[{"n":[{"ț":38}]}]}],"ț":10,"u":[{"ș":37},0],"v":[{"i":[{"t":23}]}],"x":2,"z":[{"ă":32,"i":[{"a":7}],"o":39},10]}],"f":[{".":10,"a":24,"ă":[{"ș":24}],"i":[{".":10,"e":27}],"o":24,"t":[{"u":8},10]},40],"g":[{".":10,"ă":[{"ț":27}],"h":[{"i":[{".":10}]}],"i":[{".":10}],"l":6,"m":42,"n":42,"o":[{"n":37}],"u":43,"v":42},41],"h":[{".":10,"i":[{".":10,"a":4,"c":27,"u":18}],"n":21}],"i":[{".":28,"a":[{"c":44,"g":45,"i":2,"ș":2,"ț":4}],"c":[{"ă":0}],"e":[{"d":2}],"i":[{"a":0,"e":0,"i":0,"l":0,"n":0,"r":0,"t":[{"u":[{"r":[{"ă":29}]}]},0]}],"î":2,"l":[{"a":28,"e":0,"o":0}],"m":[{"a":[{"t":[{"e":[{"r":[{"i":46}]}]}]}]}],"n":[{"e":[{"d":47}],"g":[{"ă":4}],"ț":[{"i":[{"i":38}]}],"v":24},2],"o":[{"d":0,"n":[{"i":0}],"ț":4}],"p":[{"ă":32}],"s":[{"f":27,"p":28},2],"ș":[{"t":27}],"t":[{"i":8}],"ț":[{"i":[{"a":16,"o":48}]}],"u":[{"a":0,"l":0,"m":0,"n":[{"d":0,"u":0}],"s":0,"t":0}],"z":[{"v":27}]},21],"î":[{"d":0,"e":0,"l":[{"o":0}],"n":[{"a":7,"ș":37}],"r":[{"i":0,"î":0,"ș":37}],"ș":[{"t":27}],"t":[{"i":6},0],"ț":[{"i":[{"i":8},6]},0],"z":0},2],"j":[{".":10,"d":10,"i":[{".":10,"ț":4}],"l":10,"u":[{"t":27},6]},23],"k":23,"l":[{".":28,"a":[{"r":[{"a":[{"ț":[{"i":49}]}]}]}],"ă":[{"t":[{"i":4,"u":11}]}],"b":10,"c":10,"d":10,"e":[{"a":4}],"f":10,"g":10,"i":[{".":28,"a":27,"e":27,"o":27}],"m":10,"n":30,"p":10,"s":10,"ș":42,"t":10,"ț":10,"u":24,"v":10},23],"m":[{".":10,"a":24,"ă":24,"b":[{"l":[{"î":[{"n":50}]}]},10],"e":[{"z":4},24],"f":10,"i":[{".":28,"ț":4},24],"î":24,"n":21,"o":[{"n":19},24],"p":10,"s":51,"t":10,"ț":10,"u":[{"ț":4},24],"v":10},23],"n":[{".":28,"a":[{"d":52,"i":[{"n":27}]},24],"ă":24,"c":[{"i":[{"s":2,"z":2}]},10],"d":10,"e":[{"a":[{"b":26,"n":26,"p":26}],"f":28,"g":52,"s":13,"v":[{"i":28}],"x":52},24],"g":[{"ă":[{"t":27}]},10],"i":[{".":28,"e":[{"z":27}]},24],"î":24,"j":0,"n":9,"o":[{"ș":18},24],"r":9,"s":[{"f":27,"î":6,"p":[{"o":27}]},51],"ș":[{"i":6},12],"t":[{"i":8,"u":20},10],"ț":10,"u":[{"a":27,"ă":27,"m":37,"s":13},53],"z":10}],"o":[{"a":[{"g":9,"l":2}],"b":[{"i":[{".":2}]}],"c":[{"a":10,"u":[{"i":32}]}],"d":[{"i":[{"a":16}]},10],"e":0,"i":[{"e":[{"c":[{"t":[{"i":49}]}]}],"s":[{"p":13}]},12],"m":[{"e":[{"d":[{"i":[{"e":[{".":31}]}]}]}],"n":18}],"n":10,"o":9,"p":[{"i":[{"e":7}],"l":[{"a":[{"g":[{"i":49}]},29]}]}],"r":[{"a":9,"ă":9,"c":4,"e":9,"i":[{"c":2},9],"î":9,"o":9,"t":[{"e":[{".":4}]}],"u":9}],"s":[{"t":[{"i":37}]}],"ș":[{"i":0}],"t":[{"a":[{"ț":[{"i":54}]}],"i":8,"o":[{"d":27}]}],"u":0}],"p":[{".":10,"a":24,"ă":[{"r":[{"ț":7}]}],"c":42,"e":[{"c":[{"ț":[{"i":31}]}],"ț":4}],"i":[{".":10,"e":[{".":27,"z":27},4],"o":27,"ț":4,"z":4}],"l":6,"o":[{"ș":18,"ț":4}],"s":42,"ș":42,"t":42,"ț":[{"i":[{".":6}]},42],"u":[{"b":45,"r":[{"i":[{"e":29}]}],"ș":18}]},41],"r":[{".":28,"b":10,"c":10,"d":10,"e":[{"b":[{"i":4}],"c":[{"i":[{"z":[{"i":49}]}]}],"s":[{"c":[{"r":13}]}],"ș":[{"i":18}]},2],"f":10,"g":10,"h":21,"i":[{".":28,"a":[{"l":[{"i":18}]},27],"e":[{"ț":27,"z":27}],"m":[{"i":37}],"u":[{"n":55}],"v":27}],"k":10,"l":10,"m":10,"n":[{"a":[{"ț":16}]},21],"o":[{"g":[{"r":[{"a":[{"f":[{"i":46}]}]}]}]}],"p":10,"r":21,"s":[{"p":0,"t":0},56],"ș":42,"t":[{"u":[{"a":[{"l":[{"e":29}]}]}]},10],"ț":10,"u":[{"i":[{"l":27}],"s":[{"p":27}]}],"v":10,"z":10}],"s":[{".":28,"a":53,"ă":[{"m":18,"ș":18},53],"c":[{".":28,"o":44},10],"e":[{"a":4,"e":[{".":18}],"s":[{"p":27},16],"ș":18},24],"f":[{"î":53},57],"i":[{"p":27},24],"î":24,"l":25,"m":28,"n":9,"o":[{"r":[{"i":[{"c":27}]}]},24],"p":10,"t":[{"o":7},10],"u":[{"ț":4},53]},23],"ș":[{".":28,"a":[{"ț":4},24],"ă":58,"e":24,"i":[{".":28,"i":53,"l":53,"n":24},23],"î":24,"n":[{"u":32},59],"o":24,"p":2,"t":[{"i":[{".":28},2],"r":60}],"u":24},10],"t":[{".":28,"a":[{"u":[{"t":27}]}],"c":42,"d":42,"e":[{"a":4,"n":[{"i":37}],"r":[{"i":[{"a":[{"l":[{"ă":14}]}]}]}],"s":[{"p":13}]}],"f":42,"i":[{".":28,"a":27,"e":27,"i":[{".":24}],"l":24,"n":24,"ț":4}],"î":[{".":10}],"l":6,"m":42,"o":[{"l":24,"r":24,"t":[{"o":4}]}],"r":[{"u":[{".":24,"l":24,"o":24}]}],"s":61,"t":42,"u":[{"a":27,"i":[{"m":27}],"n":60,"ș":18}],"z":60},41],"ț":[{".":10,"a":24,"ă":24,"e":[{"ț":4}],"i":[{".":10,"a":[{".":27},24],"e":24,"i":24,"l":24,"ț":4,"u":24}],"u":[{"i":37},27]},23],"u":[{".":62,"a":[{".":2,"d":2,"u":0}],"ă":[{"s":16},27],"b":[{"i":[{"a":2}],"l":63,"o":39,"s":13}],"e":0,"g":[{"u":28}],"i":[{"a":12,"e":12,"n":0,"r":0,"s":0,"t":0,"ț":12,"z":0}],"l":[{"a":0,"ă":0,"e":0,"i":[{"i":0}],"î":0,"o":0},2],"m":[{"i":[{"r":32}]}],"r":[{"z":4}],"s":[{"p":[{"r":4}],"t":6},2],"ș":[{"t":6},0],"t":[{"o":[{"r":24},2]}],"u":[{"i":0,"m":0}]},21],"v":[{".":10,"e":[{"n":[{"i":37}],"ț":4,"z":4}],"i":[{".":10,"ț":4}],"n":21,"o":[{"r":[{"b":[{"i":[{"t":[{"o":64}]}]}]}]}],"r":24},23],"x":[{".":10,"a":24,"ă":24,"e":[{"z":4},24],"i":24,"o":24,"u":24},23],"z":[{".":10,"a":[{"ț":4}],"b":10,"g":36,"i":[{".":10,"a":[{"n":4,"r":4}],"i":24,"l":24}],"m":6,"n":21,"o":[{"l":44,"n":24}],"u":[{"ț":4}],"v":[{"ă":0},36]},23]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/2261.adapter.js b/public/tools/cloud_sheets/vendor/univer/2261.adapter.js new file mode 100644 index 0000000..afea703 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/2261.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[2261],{2261(o,s,l){l.r(s),l.d(s,{ElPolyton:()=>n});const n=["01,02,03,033,6,06,41,452,002,000052,52,00052,052,0000052,0052,000000052,063,000063,0063,00000052,52052,00063,000000252,0025,62,6252,621,6052",'{"α":[{"ι":1,"ί":1,"ί":1,"ὶ":1,"ῖ":1,"ἰ":1,"ἴ":1,"ἲ":1,"ἶ":1,"ἱ":1,"ἵ":1,"ἳ":1,"ἷ":1,"υ":1,"ύ":1,"ύ":1,"ὺ":1,"ῦ":1,"ὐ":1,"ὔ":1,"ὒ":1,"ὖ":1,"ὑ":1,"ὕ":1,"ὓ":1,"ὗ":1,"η":1,"ϊ":1,"ϋ":1},0],"ε":[{"ι":1,"ί":1,"ί":1,"ὶ":1,"ῖ":1,"ἰ":1,"ἴ":1,"ἲ":1,"ἶ":1,"ἱ":1,"ἵ":1,"ἳ":1,"ἷ":1,"υ":1,"ύ":1,"ύ":1,"ὺ":1,"ῦ":1,"ὐ":1,"ὔ":1,"ὒ":1,"ὖ":1,"ὑ":1,"ὕ":1,"ὓ":1,"ὗ":1,"η":1,"ϊ":1,"ϋ":1},0],"η":[{"υ":1,"ύ":1,"ύ":1,"ὺ":1,"ῦ":1,"ὐ":1,"ὔ":1,"ὒ":1,"ὖ":1,"ὑ":1,"ὕ":1,"ὓ":1,"ὗ":1,"α":1,"ά":1,"ά":1,"ὰ":1,"ᾶ":1,"ε":1,"έ":1,"έ":1,"ὲ":1,"ο":1,"ό":1,"ό":1,"ὸ":1,"ω":1,"ώ":1,"ώ":1,"ὼ":1,"ῶ":1},0],"ι":[{"α":1,"ά":1,"ά":1,"ὰ":1,"ᾶ":1,"ε":1,"έ":1,"έ":1,"ὲ":1,"ο":1,"ό":1,"ό":1,"ὸ":1,"ω":1,"ώ":1,"ώ":1,"ὼ":1,"ῶ":1},0],"ο":[{"ι":1,"ί":1,"ί":1,"ὶ":1,"ῖ":1,"ἰ":1,"ἴ":1,"ἲ":1,"ἶ":1,"ἱ":1,"ἵ":1,"ἳ":1,"ἷ":1,"υ":1,"ύ":1,"ύ":1,"ὺ":1,"ῦ":1,"ὐ":1,"ὔ":1,"ὒ":1,"ὖ":1,"ὑ":1,"ὕ":1,"ὓ":1,"ὗ":1,"ϊ":[{"ό":3,"ό":3,"ὸ":3},1]},0],"υ":[{"ι":1,"ί":1,"ί":1,"ὶ":1,"ῖ":1,"ἰ":1,"ἴ":1,"ἲ":1,"ἶ":1,"ἱ":1,"ἵ":1,"ἳ":1,"ἷ":1,"α":1,"ά":1,"ά":1,"ὰ":1,"ᾶ":1,"ε":1,"έ":1,"έ":1,"ὲ":1,"ο":1,"ό":1,"ό":1,"ὸ":1,"ω":1,"ώ":1,"ώ":1,"ὼ":1,"ῶ":1},0],"ω":[{"ι":1},0],"ϊ":0,"ϋ":0,"ἀ":[{"λ":[{"α":[{"μ":[{"π":[{"ο":[{"υ":11}]}]}]}]}],"μ":[{"π":[{"ά":[{"κ":12,"ρ":[{"ι":16},12]}],"ά":[{"κ":12,"ρ":[{"ι":16},12]}],"α":[{"ν":12,"ρ":[{"ι":16},12]}],"ᾶ":[{"ρ":12}],"ρ":12}]}],"ρ":[{"α":[{"μ":[{"π":11}]}],"λ":[{"ο":[{"ύ":[{"μ":[{"π":13}]}],"ύ":[{"μ":[{"π":13}]}],"ῦ":[{"μ":[{"π":13}]}],"υ":[{"μ":[{"π":13}]}]}]}]}],"ν":[{"τ":[{"ά":[{"τ":[{"ζ":12}]}],"ά":[{"τ":[{"ζ":12}]}]}]}],"τ":[{"ρ":[{"α":[{"ν":[{"τ":[{"έ":9,"έ":9,"ὲ":9}]}]}]}]}]},0],"ἁ":0,"ἂ":0,"ἃ":0,"ἄ":[{"μ":[{"α":[{"κ":12}]}]},0],"ἅ":0,"ἆ":0,"ἇ":0,"ἐ":[{"μ":[{"ι":[{"γ":[{"κ":[{"ρ":11}]}]}]}]},0],"ἑ":0,"ἒ":0,"ἓ":0,"ἔ":0,"ἕ":0,"ἠ":0,"ἡ":0,"ἢ":0,"ἣ":0,"ἤ":0,"ἥ":0,"ἦ":0,"ἧ":0,"ἰ":[{"γ":[{"κ":[{"ο":[{"υ":12}]}]}],"ν":[{"τ":[{"ρ":[{"ι":[{"γ":[{"κ":13}]}]}]}]}],"μ":[{"π":[{"ρ":[{"α":12}]}]}]},0],"ἱ":0,"ἲ":0,"ἳ":0,"ἴ":[{"ν":[{"τ":[{"ρ":[{"ι":[{"γ":[{"κ":13}]}]}]}]}]},0],"ἵ":0,"ἶ":0,"ἷ":0,"ὀ":[{"μ":[{"π":[{"ο":12}]}],"ν":[{"τ":[{"ά":12,"ά":12,"ὰ":12,"ᾶ":12}]}]},0],"ὁ":0,"ὂ":0,"ὃ":0,"ὄ":[{"μ":[{"π":[{"ο":12}]}]},0],"ὅ":0,"ὐ":0,"ὑ":0,"ὒ":0,"ὓ":0,"ὔ":0,"ὕ":0,"ὖ":0,"ὗ":0,"ὠ":[{"ι":1},0],"ὡ":0,"ὢ":0,"ὣ":0,"ὤ":0,"ὥ":0,"ὦ":0,"ὧ":0,"ὰ":0,"ὲ":0,"ὴ":0,"ὶ":0,"ὸ":0,"ὺ":0,"ὼ":0,"ᾀ":0,"ᾁ":0,"ᾂ":0,"ᾃ":0,"ᾄ":0,"ᾅ":0,"ᾆ":0,"ᾇ":0,"ᾐ":0,"ᾑ":0,"ᾒ":0,"ᾓ":0,"ᾔ":0,"ᾕ":0,"ᾖ":0,"ᾗ":0,"ᾠ":0,"ᾡ":0,"ᾢ":0,"ᾣ":0,"ᾤ":0,"ᾥ":0,"ᾦ":0,"ᾧ":0,"ᾲ":0,"ᾳ":0,"ᾴ":0,"ᾶ":0,"ᾷ":0,"ῂ":0,"ῃ":[{"α":1,"ά":1,"ά":1,"ὰ":1,"ᾶ":1,"ε":1,"έ":1,"έ":1,"ὲ":1,"ο":1,"ό":1,"ό":1,"ὸ":1,"ω":1,"ώ":1,"ώ":1,"ὼ":1,"ῶ":1},0],"ῄ":0,"ῆ":0,"ῇ":0,"ῒ":0,"ῖ":0,"ῗ":0,"ῢ":0,"ῦ":0,"ῧ":0,"ῲ":0,"ῳ":0,"ῴ":0,"ῶ":0,"ῷ":0,"ά":[{"ι":[{".":2},1],"ϊ":[{".":2},1],"υ":2,"η":[{".":2}],"ϋ":2},0],"έ":[{"ι":1,"ϊ":1,"υ":2,"η":1},0],"ή":0,"ί":0,"ό":[{"ι":[{".":2},1],"ϊ":[{".":2},1],"υ":2,"ε":[{"ι":1}],"η":[{".":2},1]},0],"ύ":0,"ώ":0,"ΐ":0,"ΰ":0,"ά":[{"ι":[{".":2},1],"ϊ":[{".":2},1],"υ":2,"η":[{".":2}],"ϋ":2},0],"έ":[{"ι":1,"ϊ":1,"υ":2,"η":1},0],"ή":0,"ί":0,"ό":[{"ι":[{".":2},1],"ϊ":[{".":2},1],"υ":2,"ε":[{"ι":1}],"η":[{".":2},1]},0],"ύ":0,"ώ":0,"ΐ":0,"ΰ":0,".":[{"ί":2,"ί":2,"ῖ":2,"ἰ":2,"ἱ":2,"ή":2,"ή":2,"ῆ":2,"ἠ":2,"ἡ":2,"ύ":2,"ύ":2,"ῦ":2,"ὑ":2,"β":[{"ό":[{"μ":[{"π":[{"ι":[{"ρ":14}]}]}]}],"ό":[{"μ":[{"π":[{"ι":[{"ρ":14}]}]}]}],"ο":[{"μ":[{"π":[{"ι":[{"ρ":14}]}]}]}],"ί":[{"ν":[{"τ":[{"ε":14}]}]}],"ί":[{"ν":[{"τ":[{"ε":14}]}]}],"ι":[{"ν":[{"τ":[{"ε":14}]}]}]},5],"γ":[{"ι":[{"ο":[{"υ":[{"γ":[{"κ":[{"ο":9}]}]}]}],"α":[{"ρ":[{"α":[{"μ":[{"π":13}]}]}],"χ":[{"ο":[{"υ":[{"ν":[{"τ":19}]}]}]}]}],"β":[{"ε":[{"ν":[{"τ":9}]}]}]}],"ά":[{"μ":[{"π":[{"ι":14}]}]}],"ά":[{"μ":[{"π":[{"ι":14}]}]}],"α":[{"μ":[{"π":[{"ι":14}]}]}],"κ":[{"ά":[{"ι":[{"ν":[{"τ":9}]}],"ϊ":[{"ν":[{"τ":9}]}]}],"ά":[{"ι":[{"ν":[{"τ":9}]}],"ϊ":[{"ν":[{"τ":9}]}]}],"α":[{"ϊ":[{"ν":[{"τ":9}]}]}]}]},5],"δ":5,"ζ":[{"ε":[{"ϊ":[{"μ":[{"π":11}]}]}]},5],"θ":5,"κ":[{"α":[{"ρ":[{"α":[{"γ":[{"κ":[{"ι":9}]}],"μ":[{"π":[{"ό":[{"λ":17}],"ό":[{"λ":17}],"ο":[{"λ":17}]},9]}]}],"ν":[{"α":[{"μ":[{"π":13}]}]}]}],"λ":[{"α":[{"μ":[{"π":[{"α":9}]}]}],"ί":[{"μ":[{"π":[{"ρ":9}]}]}],"ί":[{"μ":[{"π":[{"ρ":9}]}]}],"ι":[{"μ":[{"π":[{"ρ":9}]}]}]}],"μ":[{"π":[{"ά":[{"δ":14}],"ά":[{"δ":14}],"α":[{"ρ":[{"έ":14,"έ":14,"ὲ":14,"ε":14}]}],"ί":[{"ν":14}],"ί":[{"ν":14}],"ῖ":[{"ν":14}],"ι":[{"ν":14}],"ό":[{"τ":14}],"ό":[{"τ":14}],"ο":[{"τ":14}]}]}],"ο":[{"υ":[{"μ":[{"π":9}]}]}],"ν":[{"τ":[{"α":[{"ΐ":14,"ΐ":14,"ϊ":14}],"ρ":14}]}]}],"ά":[{"μ":[{"π":[{"ο":[{"τ":14}]}]}]}],"ά":[{"μ":[{"π":[{"ο":[{"τ":14}]}]}]}],"ε":[{"μ":[{"π":14}]}],"ο":[{"λ":[{"ι":[{"μ":[{"π":[{"ρ":9}]}]}],"ο":[{"ύ":[{"μ":[{"π":[{"ρ":13}]}]}],"ύ":[{"μ":[{"π":[{"ρ":13}]}]}],"ῦ":[{"μ":[{"π":[{"ρ":13}]}]}],"υ":[{"μ":[{"π":[{"ρ":13}]}]}]}]}],"μ":[{"π":[{"ρ":[{"έ":[{"σ":[{"σ":18}],"ϲ":[{"ϲ":18}]}],"έ":[{"σ":[{"σ":18}],"ϲ":[{"ϲ":18}]}],"ε":[{"σ":[{"σ":18}],"ϲ":[{"ϲ":18}]}]},14]}]}],"ν":[{"τ":[{"ρ":[{"α":[{"μ":[{"π":19}]}]}]}]}],"υ":[{"λ":[{"ο":[{"ύ":[{"μ":[{"π":[{"ρ":19}]}]}],"ύ":[{"μ":[{"π":[{"ρ":19}]}]}],"ῦ":[{"μ":[{"π":[{"ρ":19}]}]}],"υ":[{"μ":[{"π":[{"ρ":19}]}]}]}]}],"μ":[{"π":[{"ο":[{"ύ":11,"ύ":11,"ῦ":11,"υ":11}]}]}]}]}],"ό":[{"μ":[{"π":[{"ρ":14}]}]}],"ό":[{"μ":[{"π":[{"ρ":14}]}]}],"ω":[{"λ":[{"ο":[{"ύ":[{"μ":[{"π":[{"ρ":13}]}]}],"ύ":[{"μ":[{"π":[{"ρ":13}]}]}],"ῦ":[{"μ":[{"π":[{"ρ":13}]}]}],"υ":[{"μ":[{"π":[{"ρ":13}]}]}]}]}]}]},5],"λ":[{"ι":[{"μ":[{"π":[{"ρ":14}]}],"κ":[{"β":[{"ι":[{"ν":[{"τ":[{"α":[{"ρ":13}]}]}]}]}]}]}],"ό":[{"μ":[{"π":14}]}],"ό":[{"μ":[{"π":14}]}]},5],"μ":[{"α":[{"γ":[{"κ":[{"ι":[{"ό":14,"ό":14}]}]}],"ν":[{"ι":[{"τ":[{"ό":[{"μ":[{"π":19}]}],"ό":[{"μ":[{"π":19}]}]}]}],"τ":[{"ά":[{"μ":14}],"ά":[{"μ":14}],"ὰ":[{"μ":14}],"α":[{"μ":14}],"έ":[{"μ":14}],"έ":[{"μ":14}],"ε":[{"μ":14}]}]}],"ϊ":[{"ν":[{"τ":11}]}]}],"π":[{"α":[{"γ":[{"κ":11}],"μ":[{"π":[{"ά":[{"κ":[{"ι":21}]}],"ά":[{"κ":[{"ι":21}]}],"α":[{"κ":[{"ι":21}]}]}]}],"σ":[{"κ":[{"ε":[{"τ":[{"μ":[{"π":22}]}]}]}],"ι":[{"μ":[{"π":[{"ο":[{"υ":[{"ζ":13}]}]}]}]}]}],"ϲ":[{"κ":[{"ε":[{"τ":[{"μ":[{"π":22}]}]}]}],"ι":[{"μ":[{"π":[{"ο":[{"υ":[{"ζ":13}]}]}]}]}]}],"λ":[{"ά":[{"ν":[{"τ":13}]}],"ά":[{"ν":[{"τ":13}]}],"α":[{"ν":[{"τ":13}]}]}],"ν":[{"τ":[{"α":[{"ν":11}]}]}]}],"ι":[{"γ":[{"κ":11}],"μ":[{"π":11}],"ν":[{"τ":11}]}],"ό":[{"μ":[{"π":[{"ι":[{"ρ":11}]}]}]}],"ό":[{"μ":[{"π":[{"ι":[{"ρ":11}]}]}]}],"ο":[{"μ":[{"π":[{"ι":[{"ρ":11}],"ό":[{"τ":11}],"ό":[{"τ":11}],"ο":[{"τ":11}]}]}],"υ":[{"μ":[{"π":[{"ο":[{"ύ":[{"ν":9}],"ύ":[{"ν":9}],"ῦ":[{"ν":9}],"υ":[{"ν":9}]}]}]}],"ν":[{"τ":[{"α":9,"ρ":9}]}]}]}],"ε":[{"ν":[{"τ":11}]}]}],"ε":[{"ϊ":[{"ν":[{"τ":[{"ά":11,"ά":11,"α":11}]}]}]}],"ο":[{"ν":[{"τ":[{"έ":[{"λ":14}],"έ":[{"λ":14}],"ε":[{"λ":14}]}]}]}]},5],"ν":[{"τ":[{"ά":[{"γ":[{"κ":[{"λ":11}]}]}],"ά":[{"γ":[{"κ":[{"λ":11}]}]}],"α":[{"γ":[{"κ":[{"λ":11}]}],"ν":[{"τ":11}]}],"ό":[{"μ":[{"π":[{"ρ":11}]}]}],"ό":[{"μ":[{"π":[{"ρ":11}]}]}],"ο":[{"μ":[{"π":[{"ρ":11}]}],"υ":[{"ν":[{"τ":[{"ο":[{"ύ":[{"κ":9}],"ύ":[{"κ":9}],"ῦ":[{"κ":9}],"υ":[{"κ":9}]}]}]}]}]}],"ε":[{"ρ":[{"μ":[{"π":[{"ε":[{"ν":[{"τ":15}]}]}]}]}]}]}],"ό":[{"μ":[{"π":[{"ε":[{"λ":14}]}]}]}],"ό":[{"μ":[{"π":[{"ε":[{"λ":14}]}]}]}],"ο":[{"μ":[{"π":[{"ε":[{"λ":14}]}]}]}],"ι":[{"σ":[{"α":[{"ν":[{"τ":9}]}]}],"ϲ":[{"α":[{"ν":[{"τ":9}]}]}]}]},5],"ξ":[{"ε":[{"γ":[{"κ":14}],"μ":[{"π":14}],"ν":[{"τ":14}]}],"έ":[{"γ":[{"κ":14}],"μ":[{"π":14}],"ν":[{"τ":14}]}],"έ":[{"γ":[{"κ":14}],"μ":[{"π":14}],"ν":[{"τ":14}]}]},5],"π":5,"ρ":[{"ε":[{"μ":[{"π":14}],"π":[{"ο":[{"ύ":[{"μ":[{"π":[{"λ":13}]}]}],"ύ":[{"μ":[{"π":[{"λ":13}]}]}],"υ":[{"μ":[{"π":[{"λ":13}]}]}]}]}],"ζ":[{"ε":[{"ν":[{"τ":9}]}]}],"ν":[{"τ":[{"ί":14,"ί":14,"ι":14}]}]}],"έ":[{"μ":[{"π":14}]}],"έ":[{"μ":[{"π":14}]}],"ο":[{"μ":[{"π":14}],"υ":[{"μ":[{"π":11}]}],"ῦ":[{"ν":[{"τ":11}]}],"ύ":[{"ν":[{"τ":11}]}],"ύ":[{"ν":[{"τ":11}]}]}]},5],"σ":[{"α":[{"λ":[{"τ":[{"ι":[{"π":[{"ά":[{"γ":[{"κ":15}]}],"ά":[{"γ":[{"κ":15}]}]}]}]}]}],"μ":[{"π":[{"ο":[{"τ":23}]}]}]}],"ι":[{"γ":[{"κ":14}]}],"π":[{"ά":[{"γ":[{"κ":11}]}],"ά":[{"γ":[{"κ":11}]}],"α":[{"γ":[{"κ":11}]}]}],"έ":[{"μ":[{"π":[{"ρ":14}]}]}],"έ":[{"μ":[{"π":[{"ρ":14}]}]}],"κ":[{"α":[{"μ":[{"π":[{"α":[{"β":11}]}]}]}]}],"ν":[{"ο":[{"μ":[{"π":11}]}]}],"ο":[{"ύ":[{"μ":[{"π":11}]}],"ύ":[{"μ":[{"π":11}]}],"υ":[{"μ":[{"π":11}]}]}],"ε":[{"ν":[{"τ":[{"έ":[{"φ":14}],"έ":[{"φ":14}],"ε":[{"φ":14}],"ο":[{"ῦ":14,"ύ":14,"ύ":14,"υ":14}]}]}]}]},5],"ϲ":[{"α":[{"λ":[{"τ":[{"ι":[{"π":[{"ά":[{"γ":[{"κ":15}]}],"ά":[{"γ":[{"κ":15}]}]}]}]}]}],"μ":[{"π":[{"ο":[{"τ":23}]}]}]}],"ι":[{"γ":[{"κ":14}]}],"π":[{"ά":[{"γ":[{"κ":11}]}],"ά":[{"γ":[{"κ":11}]}],"α":[{"γ":[{"κ":11}]}]}],"έ":[{"μ":[{"π":[{"ρ":14}]}]}],"έ":[{"μ":[{"π":[{"ρ":14}]}]}],"κ":[{"α":[{"μ":[{"π":[{"α":[{"β":11}]}]}]}]}],"ν":[{"ο":[{"μ":[{"π":11}]}]}],"ο":[{"ύ":[{"μ":[{"π":11}]}],"ύ":[{"μ":[{"π":11}]}],"υ":[{"μ":[{"π":11}]}]}],"ε":[{"ν":[{"τ":[{"έ":[{"φ":14}],"έ":[{"φ":14}],"ε":[{"φ":14}],"ο":[{"ῦ":14,"ύ":14,"ύ":14,"υ":14}]}]}]}]},5],"τ":[{"ρ":[{"ο":[{"μ":[{"π":21}]}],"ό":[{"μ":[{"π":21}]}],"ό":[{"μ":[{"π":21}]}],"α":[{"μ":[{"π":[{"ά":[{"λ":11}],"ά":[{"λ":11}],"α":[{"λ":11}],"ο":[{"ῦ":[{"κ":11}],"ύ":[{"κ":11}],"ύ":[{"κ":11}],"υ":[{"κ":11}]}]}]}]}]}],"α":[{"β":[{"λ":[{"α":[{"μ":[{"π":13}]}]}]}],"μ":[{"π":[{"ε":[{"ρ":[{"α":[{"μ":18}]}]}],"ο":[{"ῦ":[{"ρ":[{"λ":18}]}],"ύ":[{"ρ":[{"λ":18}]}],"ύ":[{"ρ":[{"λ":18}]}]}]},14]}]}],"ε":[{"μ":[{"π":[{"ε":[{"σ":14,"ϲ":14}]}]}]}],"ζ":[{"ά":[{"μ":[{"π":11}]}],"ά":[{"μ":[{"π":11}]}],"α":[{"μ":[{"π":11}],"ν":[{"α":[{"μ":[{"π":13}]}]}]}],"ι":[{"μ":[{"π":11}]}],"ο":[{"υ":[{"μ":[{"π":9}]}]}]}],"ό":[{"μ":[{"π":[{"ρ":14}]}]}],"ό":[{"μ":[{"π":[{"ρ":14}]}]}],"ο":[{"μ":[{"π":[{"ρ":14}]}]}],"σ":[{"ά":[{"μ":[{"π":[{"α":11}]}]}],"ά":[{"μ":[{"π":[{"α":11}]}]}],"α":[{"μ":[{"π":[{"α":11}]}],"ν":[{"τ":[{"ί":11,"ί":11,"ι":11}]}]}],"ι":[{"μ":[{"π":[{"ο":[{"ύ":[{"κ":11,"σ":11}],"ύ":[{"κ":11,"σ":11}],"υ":[{"κ":11,"σ":11}]}]}]}]}]}],"ϲ":[{"ά":[{"μ":[{"π":[{"α":11}]}]}],"ά":[{"μ":[{"π":[{"α":11}]}]}],"α":[{"μ":[{"π":[{"α":11}]}],"ν":[{"τ":[{"ί":11,"ί":11,"ι":11}]}]}],"ι":[{"μ":[{"π":[{"ο":[{"ύ":[{"κ":11,"ϲ":11}],"ύ":[{"κ":11,"ϲ":11}],"υ":[{"κ":11,"ϲ":11}]}]}]}]}]}]},5],"φ":[{"ι":[{"ό":[{"γ":[{"κ":11}]}],"ό":[{"γ":[{"κ":11}]}],"ο":[{"γ":[{"κ":11}]}]}],"ά":[{"μ":[{"π":[{"ρ":[{"ι":[{"κ":14}]}]}]}]}],"ά":[{"μ":[{"π":[{"ρ":[{"ι":[{"κ":14}]}]}]}]}],"α":[{"μ":[{"π":[{"ρ":[{"ι":[{"κ":14}]}]}]}],"σ":[{"τ":[{"φ":[{"ο":[{"υ":[{"ν":[{"τ":15}]}]}]}]}]}],"ϲ":[{"τ":[{"φ":[{"ο":[{"υ":[{"ν":[{"τ":15}]}]}]}]}]}]}],"ρ":[{"α":[{"μ":[{"π":11}]}]}]},5],"χ":[{"ο":[{"ύ":[{"λ":[{"ι":[{"γ":[{"κ":13}]}]}]}],"ύ":[{"λ":[{"ι":[{"γ":[{"κ":13}]}]}]}],"υ":[{"λ":[{"ι":[{"γ":[{"κ":13}]}]}]}],"ν":[{"τ":[{"ρ":[{"ο":[{"μ":[{"π":[{"α":19}]}]}]}]}]}]}],"α":[{"μ":[{"π":14}],"ν":[{"τ":[{"ο":14,"ρ":14}]}]}],"ό":[{"μ":[{"π":14}]}],"ό":[{"μ":[{"π":14}]}],"ά":[{"ν":[{"τ":[{"ρ":14}]}]}],"ά":[{"ν":[{"τ":[{"ρ":14}]}]}]},5],"ψ":5}],"β":[{".":4,"\'":4,"ʼ":4,"᾿":4,"β":6,"ζ":6,"θ":6,"κ":6,"μ":6,"ν":[{"τ":12},6],"ξ":6,"π":6,"σ":6,"ϲ":6,"τ":6,"φ":6,"χ":6,"ψ":6,"γ":[{"κ":8}],"ρ":[{".":4}]}],"γ":[{".":4,"κ":[{".":4,"φ":7,"ρ":[{"α":[{"ν":[{"τ":[{".":10}]}]}]}],"μ":[{"π":25}],"ν":[{"τ":25}],"τ":[{"ζ":26,"σ":26,"ϲ":26}]},6],"\'":4,"ʼ":4,"᾿":4,"γ":6,"β":6,"ζ":6,"θ":6,"μ":6,"ξ":[{"τ":7},6],"π":6,"σ":6,"ϲ":6,"τ":6,"φ":6,"χ":6,"ψ":6,"λ":[{".":4}]}],"δ":[{".":4,"\'":4,"ʼ":4,"᾿":4,"δ":6,"β":6,"γ":6,"ζ":6,"θ":6,"κ":6,"λ":6,"ξ":6,"π":6,"σ":6,"ϲ":6,"τ":6,"φ":6,"χ":6,"ψ":6}],"ζ":[{".":4,"\'":4,"ʼ":4,"᾿":4,"ζ":6,"β":6,"γ":6,"δ":6,"θ":6,"κ":6,"λ":6,"μ":[{"π":7},6],"ν":[{"τ":12},6],"ξ":6,"π":6,"ρ":6,"σ":6,"ϲ":6,"τ":6,"φ":6,"χ":6,"ψ":6}],"θ":[{".":4,"\'":4,"ʼ":4,"᾿":4,"θ":6,"β":6,"γ":6,"δ":6,"ζ":6,"κ":6,"μ":6,"ξ":6,"π":6,"σ":6,"ϲ":6,"τ":6,"φ":6,"χ":6,"ψ":6}],"κ":[{".":4,"\'":4,"ʼ":4,"᾿":4,"κ":6,"β":6,"γ":6,"δ":6,"ζ":6,"θ":6,"ξ":6,"π":6,"σ":[{".":4},6],"ϲ":[{".":4},6],"φ":6,"χ":6,"ψ":6,"λ":[{".":4}],"τ":[{".":4}],"ς":[{".":4}]}],"λ":[{".":4,"\'":4,"ʼ":4,"᾿":4,"λ":6,"κ":[{"μ":7},6],"β":6,"γ":[{"κ":7},6],"δ":6,"ζ":6,"θ":6,"μ":[{"π":7},6],"ν":[{"τ":12},6],"ξ":6,"π":6,"ρ":6,"σ":[{".":4},6],"ϲ":[{".":4},6],"τ":6,"φ":6,"χ":6,"ψ":6,"ς":[{".":4}]}],"μ":[{".":4,"π":[{".":4,"\'":4,"ʼ":4,"᾿":4,"α":[{"μ":[{"π":20}]}],"ά":[{"μ":[{"π":20}]}],"ά":[{"μ":[{"π":20}]}],"έ":[{"η":[{"ς":[{".":10}],"ϲ":[{".":10}],"σ":[{".":10}],".":10,"δ":[{"ε":[{"ς":[{".":10}],"ϲ":[{".":10}],"σ":[{".":10}]}],"ω":[{"ν":[{".":10}]}]}]}],"μ":[{"π":20}]}],"έ":[{"η":[{"ς":[{".":10}],"ϲ":[{".":10}],"σ":[{".":10}],".":10,"δ":[{"ε":[{"ς":[{".":10}],"ϲ":[{".":10}],"σ":[{".":10}]}],"ω":[{"ν":[{".":10}]}]}]}],"μ":[{"π":20}]}],"ε":[{"η":[{"ς":[{".":10}],"ϲ":[{".":10}],"σ":[{".":10}],".":10}],"μ":[{"π":20}]}],"ο":[{"γ":[{"ι":10}]}],"λ":[{".":24}],"ν":[{".":24,"τ":25}],"ρ":[{".":24}],"τ":[{"ζ":26,"σ":26,"ϲ":26}]},6],"\'":4,"ʼ":4,"᾿":4,"μ":6,"β":6,"γ":6,"δ":6,"ζ":6,"θ":6,"κ":6,"λ":6,"ξ":6,"ρ":6,"σ":[{".":4},6],"ϲ":[{".":4},6],"τ":6,"φ":6,"χ":6,"ψ":[{"τ":7},6],"ν":[{"τ":8}],"ο":[{"ν":[{"τ":[{"έ":[{"ρ":[{"ν":14}]}],"έ":[{"ρ":[{"ν":14}]}],"ε":[{"ρ":[{"ν":14}]}]}]}]}],"ς":[{".":4}]}],"ν":[{".":4,"τ":[{".":4,"\'":4,"’":4,"᾿":4,"ί":[{"β":[{"α":[{"ν":10}]}]}],"ί":[{"β":[{"α":[{"ν":10}]}]}],"μ":[{"π":25}]},6],"\'":4,"ʼ":4,"᾿":4,"ν":6,"κ":[{"φ":7},6],"β":6,"γ":[{"κ":7},6],"δ":6,"ζ":6,"θ":6,"λ":6,"μ":[{"π":7},6],"ξ":6,"π":6,"ρ":6,"σ":[{".":4},6],"ϲ":[{".":4},6],"φ":6,"χ":6,"ψ":6,"ς":[{".":4}]}],"ξ":[{".":4,"\'":4,"ʼ":4,"᾿":4,"β":6,"γ":6,"δ":6,"ζ":6,"θ":6,"κ":6,"λ":6,"μ":6,"ν":6,"π":6,"ρ":6,"σ":6,"ϲ":6,"τ":6,"φ":6,"χ":6,"ψ":6}],"π":[{".":4,"\'":4,"ʼ":4,"᾿":4,"π":6,"β":6,"γ":6,"δ":6,"ζ":6,"θ":6,"κ":6,"μ":6,"ξ":6,"σ":6,"ϲ":6,"φ":6,"χ":6,"ψ":6}],"ρ":[{".":4,"\'":4,"ʼ":4,"᾿":4,"ρ":6,"γ":[{"μ":7,"κ":7},6],"θ":[{"μ":7},6],"κ":[{"μ":7},6],"ξ":[{"τ":7},6],"β":6,"δ":6,"ζ":6,"λ":6,"μ":[{"π":7},6],"ν":[{"τ":12},6],"π":6,"σ":[{".":4},6],"ϲ":[{".":4},6],"τ":6,"φ":[{"ν":7},6],"χ":[{"μ":7},6],"ψ":6,"ό":[{"μ":[{"π":[{"α":14,"ε":14,"ω":14}]}]}],"ό":[{"μ":[{"π":[{"α":14,"ε":14,"ω":14}]}]}],"ο":[{"μ":[{"π":[{"ῶ":14,"α":14,"ε":14,"ω":14}]}]}],"ς":[{".":4}]}],"σ":[{".":4,"\'":4,"ʼ":4,"᾿":4,"σ":6,"θ":[{"μ":8}],"δ":6,"ζ":6,"ν":[{"τ":8},6],"ξ":6,"ρ":6,"ψ":6,"τ":[{"φ":8,".":4}],"γ":[{"κ":8}],"μ":[{"π":8}],"ό":[{"μ":[{"π":[{"α":14,"ε":14,"ω":14}]}]}],"ό":[{"μ":[{"π":[{"α":14,"ε":14,"ω":14}]}]}],"ο":[{"μ":[{"π":[{"ῶ":14,"α":14,"ε":14,"ω":14}]}]}],"κ":[{".":4}]}],"ϲ":[{".":4,"\'":4,"ʼ":4,"᾿":4,"ϲ":6,"θ":[{"μ":8}],"δ":6,"ζ":6,"ν":[{"τ":8},6],"ξ":6,"ρ":6,"ψ":6,"τ":[{"φ":8,".":4}],"γ":[{"κ":8}],"μ":[{"π":8}],"ό":[{"μ":[{"π":[{"α":14,"ε":14,"ω":14}]}]}],"ό":[{"μ":[{"π":[{"α":14,"ε":14,"ω":14}]}]}],"ο":[{"μ":[{"π":[{"ῶ":14,"α":14,"ε":14,"ω":14}]}]}],"κ":[{".":4}]}],"ς":[{".":4}],"τ":[{".":4,"ζ":[{".":4,"\'":4,"ʼ":4,"᾿":4,"μ":8}],"σ":[{".":4,"\'":4,"ʼ":4,"᾽":4,"γ":[{"κ":27}],"μ":[{"π":27}],"ν":[{"τ":27}]}],"ϲ":[{".":4,"\'":4,"ʼ":4,"᾿":4,"γ":[{"κ":27}],"μ":[{"π":27}],"ν":[{"τ":27}]}],"ς":[{".":4}],"\'":4,"ʼ":4,"᾿":4,"τ":6,"β":6,"γ":[{"κ":7},6],"δ":6,"θ":6,"ν":6,"ξ":6,"π":6,"φ":6,"χ":6,"ψ":6,"λ":[{".":4}],"ρ":[{".":4}]}],"φ":[{".":4,"\'":4,"ʼ":4,"᾿":4,"φ":6,"β":6,"γ":6,"δ":6,"ζ":6,"κ":6,"ν":6,"ξ":6,"π":6,"σ":6,"ϲ":6,"χ":6,"ψ":6,"τ":[{".":4}]}],"χ":[{".":4,"\'":4,"ʼ":4,"᾿":4,"χ":6,"β":6,"γ":6,"δ":6,"ζ":6,"κ":6,"μ":6,"ξ":6,"π":6,"σ":6,"ϲ":6,"φ":6,"ψ":6,"τ":[{".":4}]}],"ψ":[{".":4,"\'":4,"ʼ":4,"᾿":4,"ψ":6,"β":6,"γ":6,"δ":6,"ζ":6,"θ":6,"κ":6,"λ":6,"μ":6,"ν":6,"ξ":6,"π":6,"ρ":6,"σ":6,"ϲ":6,"τ":6,"φ":6,"χ":6}],"\'":4,"ʼ":4,"᾿":4,"ῤ":[{"ῥ":6}]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/2325.adapter.js b/public/tools/cloud_sheets/vendor/univer/2325.adapter.js new file mode 100644 index 0000000..9367056 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/2325.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[2325],{2325(r,l,s){s.r(l),s.d(l,{Hu:()=>a});const a=["02,00000012,000212,00001,00023,001,002,000001,00012,0001,00002,0002,0021,00212,00021,000012,0000012,0000212,0002012,0012,0003,0023,0000001,002012,00201,003,0000002,00003,00000001,000023,000021,00202,000002,00000002,0032,003200021,00320003200021,004,000003,00032,002002,03,00102,0000021,000201,000032,00004,2,01,000000003,12,0212,021,1,012,023,0201,200212,212,0202,021212,02012,202,022,00000212,000000001,20002,0000003,20012,00000003,102,3,02121,000202,00121,000102,0102,201,000000002,021012,02101,1212,001212,0323,12012,121,21,20202,21212,00122,00323,23,0121,2012,032,00302,043,0302,0000202,000121,20212,002121,2121,21202,01022,2001,02102,02002,001012,221,020002,0000201,00101,120212,1012,0000023,002101,32,04,1201,12021,0022,0001012,0021012,02001,020012,0000102,0002002,0041,21012,0021212,00000021,2023,00022,323,002021,0201212,021002,01201,212021,00000201,000000212,2002,20001,200002,0004,101,12002,000004,3002,0002121,412,01212,0100001,401,00002012,30212,303,3021,20121,20021,300012,200021,2021,000221,10212,100212,00232,000000012,01202,300002",'{".":[{"a":[{"d":[{"a":[{"t":[{"á":[{"t":[{"a":1}]}],"e":2}]}],"á":[{"s":[{"s":3,"z":4}]}],"y":[{"é":[{".":5}],"i":5}]}],"g":[{"o":[{"s":5}],"r":[{"a":6}],"y":[{"a":[{"g":[{"g":7}]}],"á":[{"r":[{"a":[{"m":8}],"t":9}]}],"e":8,"o":[{"n":7},10],"ó":8,"ű":8}]}],"k":[{"á":[{"c":[{"c":3,"s":11}]}],"h":6,"o":11,"t":[{"é":[{"r":[{".":12}]}],"o":[{"r":[{"r":12}]}],"ő":13}],"u":[{"p":8}]}],"l":[{"a":[{"g":14,"k":[{"a":15,"ö":2,"ő":2}],"p":[{"a":11,"á":14}]}],"e":[{"g":5}],"i":[{"s":5}],"j":[{"á":[{"r":[{"n":6}]}],"e":[{"l":[{"ö":16},12]},10]}],"o":[{"m":14,"s":5}],"t":[{"a":[{"k":13}],"e":[{"r":[{"j":12}]}],"é":[{"n":6,"r":[{"n":6,"t":6}]}],"i":[{"n":6}]}]}],"m":[{"a":[{"k":5}]}],"n":[{"g":[{"o":[{"l":[{"ó":17}]}]}],"t":[{"h":5,"i":[{"s":3}]}]}],"p":[{"a":[{"p":8}],"á":[{"l":[{"y":[{"á":[{"z":18}]}]}]}]}],"r":[{"a":[{"n":[{"y":[{"e":18}]}],"s":[{"z":[{"e":11}]}]}],"á":[{"c":19}],"c":[{"a":[{"l":6}],"c":20,"e":13,"é":[{"l":6}],"h":[{"á":21,"o":[{"z":21}]}],"i":[{"n":6,"o":6}],"o":[{"l":6}],"ö":6,"s":21}],"k":[{"h":5}]}],"t":[{"h":6}],"z":[{"a":19,"á":[{"m":5}],"e":11,"ó":19}]},0],"á":[{"c":[{"s":[{"é":[{"k":9}]}]}],"g":[{"á":[{"r":[{"n":5,"t":5}]}],"ó":19,"y":[{"a":[{"l":[{"a":9}],"s":[{"z":9}]}],"á":[{"r":[{"t":9}],"z":8}]}]}],"l":[{"a":19,"é":5,"i":[{"g":[{"a":[{"z":22}]}]},19],"l":[{"a":[{"l":[{"j":12,"t":12}]}],"i":[{"n":6}]}],"o":[{"k":19}],"ú":5}],"r":[{"a":[{"j":5,"k":[{"t":[{"á":5}]}],"l":19,"m":[{"e":14}],"p":19,"s":[{"z":[{"ó":5},11]}]}],"á":[{"c":5,"l":5,"z":19}],"d":19,"e":[{"m":5},11],"é":11,"i":[{"r":5}],"n":[{"y":[{"e":[{"l":6}]}]}],"o":[{"l":5,"m":5,"s":5}],"r":[{"é":[{"s":[{"s":7}]}]}],"s":19,"t":[{"r":19}]}],"s":[{"z":[{"á":[{"l":9,"r":[{"b":9,"é":8,"i":8,"o":8}]}]}]}],"t":[{"a":[{"d":19,"k":19,"l":[{"t":5}],"n":19,"r":5,"s":19,"v":5}],"á":19,"e":19,"é":19,"i":19,"o":[{"l":5,"r":19,"s":19}],"ó":[{"h":5,"v":5},11],"ö":19,"u":5,"ü":19,"ű":5}]},0],"b":[{"a":[{"b":[{"a":[{"r":[{"á":13}]}],"á":[{"l":6}],"e":13,"o":[{"l":6}]}],"j":[{"á":[{"r":[{"a":[{"t":13}]}]}],"e":12}],"k":[{"a":[{"s":[{"z":[{"t":9}]}]}],"á":[{"l":6,"r":[{"o":13}]}],"é":10,"ö":13,"u":[{"r":6}]}],"l":[{"e":[{"g":13}]}],"t":[{"s":5}],"u":6}],"á":[{"l":[{"ó":13}],"r":[{"a":9}],"t":[{"h":5}]}],"e":[{"a":[{"t":[{".":6}]}],"d":19,"i":11,"k":[{"r":5}],"s":[{"t":[{"r":5}],"z":[{"k":5}]}],"t":[{"é":[{"t":[{"e":[{"l":17}]}]}],"r":5}]}],"é":[{"r":[{"c":[{"s":[{"í":4}]}],"o":12}]}],"i":[{"k":[{"e":6}],"o":[{"s":6,"t":6}],"t":[{"a":[{"g":6},10],"á":13,"e":[{"l":6,"r":12}],"o":[{"r":[{"r":12}]}],"u":[{"r":6}]}]}],"o":[{"g":[{"ó":13}],"l":[{"t":[{"a":11}],"y":[{"ó":23}]}],"n":[{"a":[{"v":6}]}],"r":[{"a":[{"j":6,"n":6,"s":6,"t":6}],"á":[{"c":6,"l":6}],"o":[{"d":[{"v":12}]}],"s":[{"é":[{"t":11}]}],"t":10}],"t":[{"á":6}]}],"r":[{"a":[{"i":11}]}],"u":[{"s":[{"z":[{"e":24}]}]}]},0],"c":[{"e":[{"n":[{"t":[{"á":14,"ó":2}]}],"t":[{"e":[{"l":13}],"ű":12}]}],"é":[{"l":[{"e":13}]}],"i":[{"n":[{"á":13}],"t":[{"o":3}]}],"s":[{"a":[{"k":14,"p":[{"á":[{"g":2}]}],"t":[{"é":2}]}],"e":[{"l":[{"ő":[{"r":2}]}]}]},6]},0],"d":[{"a":[{"c":[{"c":9,"s":21}],"i":6,"l":[{"a":[{"n":9}],"á":[{"s":6}],"e":13,"é":[{"k":12,"n":6}],"í":13,"o":[{"l":25}],"ó":13}],"n":[{"n":9}],"u":6}],"e":[{"n":[{"g":14}]}],"é":[{"l":[{"a":6}],"r":[{"e":[{"s":6},10]}],"s":[{"a":6}]}],"i":[{"a":[{"f":[{"o":6}],"k":[{"a":6}],"l":6}],"c":[{"s":[{"á":6}]}],"ó":[{"m":[{"á":6}]}]}],"ó":[{"m":[{"o":[{"r":6}]}]}],"ú":[{"r":[{"a":6}]}]},0],"e":[{"b":[{"e":[{"g":5}],"i":[{"r":5}],"í":5,"u":19}],"g":[{"é":6,"r":[{"e":[{"s":[{"s":7}]}]}],"y":[{"a":8,"á":8,"e":[{"l":[{"ő":[{"r":8}]}],"v":9}],"i":[{"n":9}],"ö":8,"ü":[{"l":8}]}]}],"l":[{"a":[{"k":19,"n":5,"p":5,"s":[{"s":5,"z":[{"n":5,"o":5,"v":5}]},11]}],"á":19,"e":[{"c":19,"g":[{"e":[{"r":5}],"y":[{"á":11}]}],"h":19,"j":[{"t":5}],"l":19,"m":[{"a":11,"á":11,"e":[{"g":11,"l":[{"e":5,"s":5,"t":5},11]}],"é":[{"s":19}]}],"n":19,"p":19,"r":19,"s":[{"e":19,"é":[{"s":19}],"h":5,"i":19,"n":5,"ő":19,"s":5,"t":[{"e":5,"é":[{"l":5}],"ü":5}],"ü":19,"v":5,"z":19}],"t":19,"v":[{"e":[{"t":19,"z":19}],"i":5}]}],"é":[{"d":[{"e":5},11],"g":[{"e":[{"k":19}]}],"h":5,"k":[{"e":[{"z":5}]}],"l":[{"e":19}],"n":[{"e":5},11],"p":19,"r":19,"t":[{"e":[{"t":[{".":19}]}]}],"v":19}],"i":[{"d":5,"g":5,"h":19,"k":5,"m":[{"i":[{"t":19}]}],"n":5,"r":5,"s":19,"t":[{"o":14,"t":[{"a":[{".":5}],"á":[{"k":5}]}]}],"z":[{"z":5}]}],"í":5,"l":[{"e":[{"g":[{"e":26}]}]}],"o":[{"k":[{"k":5,"o":5}],"r":5},11],"ó":19,"ö":[{"k":5,"l":[{"e":5,"é":5,"h":5,"i":5,"j":[{".":5,"e":5,"é":5,"ü":5}],"n":[{"e":5,"é":[{".":5,"m":5}],"i":5}],"ő":5,"t":[{".":5,"e":5,"é":5,"n":5,"ü":5}],"ü":[{"n":5}],"v":5}],"v":5},11],"ő":[{"é":10}],"s":19,"t":19,"u":5,"ü":[{"l":[{".":5,"h":5,"i":5,"j":5,"n":5,"t":[{"e":5}],"v":5}]},11],"v":[{"e":[{"l":12}],"é":[{"g":[{".":12}]}]}]}],"s":[{"e":[{"r":5,"t":[{"e":[{"l":11}]}]}],"t":[{"a":12,"á":12,"é":[{"k":[{"e":[{".":13,"k":13}]}]}]}]}],"t":[{"h":6,"i":[{"l":[{"é":[{"n":[{"g":1}]}]}]}]}],"v":[{"é":[{"s":[{"s":3}]}]}],"x":[{"e":[{"l":5}]}],"z":[{"á":5,"e":[{"l":19}]}]},0],"é":[{"d":[{"e":[{"s":[{"s":27}]}]}],"g":[{"a":19,"e":[{"g":5,"r":[{"e":[{"i":19}]}],"s":[{"z":5},11]}],"é":[{"r":[{".":5,"é":19,"n":5}],"s":[{"s":27,"z":[{"b":5,"e":5,"é":5,"n":5,"r":5},11]}]}],"ö":19,"u":19}],"h":[{"é":[{"v":5}]}],"j":[{"a":19,"á":19,"e":[{"l":5}],"u":5}],"k":[{"a":19,"á":5,"e":[{"s":[{"s":3}]}],"i":[{"r":5}],"o":5}],"l":[{"a":19,"c":[{"i":12}],"i":[{"k":[{"e":5},11]}],"v":[{"á":13}]}],"p":[{"e":[{"s":5}],"p":[{"a":6,"e":[{"l":12}],"é":6,"o":6}]}],"r":[{"a":[{"n":19}],"c":[{"e":[{"l":13}],"é":[{"j":13,"k":6}],"s":[{"í":21}]}],"e":[{"l":19,"s":19}],"é":[{"s":[{"z":[{"é":5},11]}],"t":19}],"ü":[{"l":5},11],"v":[{"a":[{"d":6,"l":6}],"é":[{"g":[{".":12}]}]}]}],"s":[{"z":[{"a":[{"l":8}],"á":9,"e":[{"l":9,"m":9,"s":9},10],"é":[{"k":8}],"i":[{"g":[{"a":[{"z":28}]}]}],"o":9,"ő":8,"t":[{"ö":[{"r":[{"v":14}]}]}],"ü":[{"l":[{"ő":9}]},10]}]}],"v":[{"á":[{"g":19}],"e":[{"s":[{"s":[{"z":5}]}]}],"é":[{"g":19,"k":19}]}]},0],"f":[{"a":[{"i":[{"t":[{".":6}]}],"l":[{"e":[{"g":6}]}],"n":[{"é":[{"v":12}]}],"r":[{"o":[{"n":[{"t":12}]}]}],"s":[{"t":5},11],"t":[{"r":5},11]}],"e":[{"l":[{"e":[{"m":[{"e":6}],"s":[{"s":[{"z":12}]}],"v":6}]}]}],"é":[{"k":[{"e":[{"l":13}]}],"m":[{"a":13,"á":13}]}],"i":[{"l":[{"m":[{"é":[{"r":[{"é":11}]}]}]}],"n":[{"g":[{"e":11}]}]}],"o":[{"g":[{"ó":[{"s":[{"z":[{"á":29}]}]}]}],"l":[{"t":[{"a":2}]}]}],"ö":[{"l":[{"ő":6,"ü":[{"l":[{".":6,"e":16}]}]}]}]},0],"g":[{"a":[{"z":[{"a":[{"n":6}]}]}],"á":[{"t":[{"a":[{"l":9}],"e":6}],"z":[{"ó":13,"s":[{"u":6},10],"z":9}]}],"e":[{"n":[{"e":[{"a":10}]}],"o":[{"d":6,"s":6}],"s":[{"z":[{"t":[{"í":30}]}]}]}],"é":[{"d":12,"n":[{"a":6,"á":6,"n":20}],"p":[{"e":[{"l":[{"e":[{"m":31}]}]}],"i":[{"p":13}]}]}],"i":[{"g":[{"a":[{"s":3}]}]}],"o":[{"n":[{"o":[{"r":[{"r":26},7]}]}]}],"ó":[{"c":[{"e":6}],"l":[{"a":6,"á":6,"e":[{"l":6,"s":13}],"i":[{"g":[{"a":12},10],"s":6}]}]}],"ő":[{"z":[{"á":13,"e":[{"n":6}],"ő":12,"s":6}]}],"u":[{"i":6}]},0],"h":[{"a":[{"b":[{"e":13,"o":[{"l":12,"r":6}],"ő":12,"u":12}],"d":[{"a":[{"l":6}],"e":13,"z":6}],"i":[{"k":6}],"j":[{"e":13,"o":[{"m":6}]}],"l":[{"á":[{"c":6,"l":[{"ó":17}],"r":[{"v":6}]}],"e":[{"g":6,"l":12,"p":6,"t":6,"v":13}],"i":[{"s":6}]}],"n":[{"g":[{"a":[{"d":11}],"e":14}]}],"s":[{"o":[{"r":6}],"s":[{"z":20}]}],"t":[{"a":[{"g":6,"t":12}],"e":13,"o":[{"l":[{"d":6}]}]}]}],"á":[{"m":[{"a":12}],"n":[{"y":[{"i":[{"n":24}]}]}],"r":[{"o":[{"m":[{"e":30}]}]}],"t":[{"a":[{"l":[{"j":12}]}],"u":[{"s":6}]}],"z":[{"o":[{"l":6}],"ó":6}]}],"e":[{"i":6}],"é":[{"t":[{"e":[{"z":12}],"o":12}]}],"i":[{"t":[{"a":9,"i":[{"s":6}]}]}],"o":[{"d":[{"á":[{"s":7}]}],"l":[{"l":9,"t":[{"e":14}]}],"n":[{"e":6}]}],"ő":[{"s":[{"á":6}]}]},0],"i":[{"k":[{"e":[{"r":[{"i":14,"ü":[{"l":[{"é":14}]},32]}]}],"o":[{"n":[{"s":3}]}]}],"m":[{"a":[{"s":9}],"p":[{"l":[{"a":19}]}]}],"n":[{"a":[{"k":[{"t":[{"í":5}]}]}],"g":[{"i":[{"n":6}]}],"t":[{"e":[{"r":[{"a":30}]}]}]}],"o":[{"n":[{"a":13,"á":12,"e":6,"n":20}]}],"p":[{"a":[{"r":[{"e":11}]}]}],"z":[{"o":[{"m":[{"é":[{"r":[{"t":14}]}]}]}]}]},0],"í":[{"j":[{"á":[{"t":[{"o":5},11]}]}],"n":[{"e":5}],"r":[{"á":[{"s":[{"á":[{"g":14}],"z":4}]}]}],"v":[{"a":19,"á":[{"r":19}],"e":[{"l":[{"l":5}]}]}],"z":[{"a":5,"i":[{"n":5}]}]},0],"j":[{"a":[{"k":[{"é":[{"r":6},10],"o":[{"v":6}]}]}],"á":[{"r":[{"m":[{"ű":[{"k":[{"á":33}]}]}]}],"s":[{"z":[{"á":6,"ó":6}]}]}],"e":[{"g":[{"y":[{"a":23,"á":23}]}],"l":[{"a":12,"e":[{"g":6,"v":6}]}]}],"o":[{"b":[{"b":[{"o":[{"l":14}]}]}]}],"ó":[{"d":[{"a":[{"l":6}]}],"s":[{"e":13}],"t":[{"á":12}]}]},0],"k":[{"a":[{"l":[{"e":[{"i":10}]}],"n":[{"a":[{"r":6}],"e":12}],"p":[{"o":[{"l":[{"c":22}]}]}],"r":[{"a":[{"l":[{"a":6}],"s":6}],"á":[{"s":13}],"c":[{"s":[{"e":4}]}],"e":[{"m":6},10],"é":[{"k":6}],"i":[{"n":[{"g":6}]}],"í":6,"ó":[{"r":[{"a":31,"á":[{"k":13}]}]}],"ü":12}],"t":[{"h":5,"z":5}]}],"á":[{"r":[{"a":[{"d":8}]}],"s":[{"a":[{"l":27}]},11]}],"e":[{"c":[{"s":[{"ó":6}]}],"l":[{"á":13,"e":[{"g":13,"v":[{"e":13}]}],"ö":9}],"r":[{"t":[{"a":11}]}]}],"é":[{"n":[{"é":[{"t":6}]}],"p":[{"é":[{"s":12}]}],"t":[{"a":[{"b":6,"d":6,"g":12,"k":[{"a":6}],"l":6,"n":6,"p":6,"s":6,"t":6,"u":6},10],"á":13,"e":[{"l":[{"e":12}],"z":12}],"o":13}],"z":[{"e":[{"l":12,"m":6},10],"s":6,"z":9}]}],"i":[{"á":11,"g":19,"k":[{"r":[{"á":5}]}],"ó":11,"s":[{"á":[{"g":6}]}],"ű":11}],"l":[{"a":[{"u":[{"z":11}]}],"e":[{"i":11}],"ó":[{"r":[{"e":11}]}]}],"o":[{"r":[{"á":[{"c":6}],"í":6}],"s":[{"i":[{"s":6}]}]}],"ó":[{"d":[{"a":13}],"r":[{"e":12,"é":[{"s":13}]}]}],"ö":[{"b":[{"ö":[{"l":12}]}],"d":[{"ő":12}],"z":[{"i":[{"s":6}],"ő":12,"z":9}]}],"r":6,"u":[{"n":[{"a":9}]}],"v":[{"a":[{"r":[{"k":[{".":27}]}]}]}]},0],"l":[{"a":[{"k":[{"a":[{"d":8,"l":6,"n":12}],"é":[{"p":6}],"o":[{"r":6}],"ő":6}],"n":[{"t":[{"e":14,"ó":2}]}],"p":[{"a":[{"l":6}],"á":[{"c":12,"r":13}],"e":13,"o":[{"r":12,"s":[{"z":12}]}],"ó":6}]}],"á":[{"b":[{"e":13,"i":[{"l":6}],"o":[{"r":6}]}],"n":[{"c":[{"s":4}],"y":[{"a":[{"n":6}],"e":23}]}],"p":[{"e":12,"i":[{"l":12}]}],"z":[{"ó":13,"s":21}]}],"e":[{"d":[{"é":25}],"g":[{"a":[{"l":[{"i":34}]}],"e":[{"l":[{"é":[{"s":34}]}],"s":[{"l":[{"e":[{"g":[{"e":[{"s":[{"l":[{"e":[{"g":36}]}]}]}]},35]}]}]}],"t":10}],"é":[{"n":[{"e":37}]}],"g":20,"y":25},12],"i":[{"d":11}],"í":[{"r":[{"o":11,"ó":[{"d":11}],"u":11}]}],"k":[{"l":5,"r":19}],"m":[{"e":[{"z":[{"z":7}]}]}],"p":[{"r":[{"é":19}]}],"s":[{"m":19}],"t":[{"r":19}],"ü":11}],"é":[{"c":[{"s":21}],"g":[{"a":13,"á":12,"e":[{"l":12},10],"é":[{"r":6}],"o":6,"y":[{"á":23}]}],"p":[{"a":13,"ü":[{"l":[{"é":9}]},10]}],"t":[{"a":13,"á":13,"e":[{"l":[{"e":[{"k":9}],"é":13}]}],"é":[{"r":[{"d":12}]}],"ö":[{"r":6}]}]}],"i":[{"s":[{"z":[{"t":[{"a":10,"á":17,"e":[{"r":10}]}]}]}],"t":[{"o":[{"s":3}]}]}],"o":[{"b":[{"e":9,"i":[{"n":6},10]}],"m":[{"a":[{"g":6,"l":6}],"á":12,"b":[{"e":2}],"e":6,"é":[{"t":13}]}],"n":[{"c":[{"s":[{"i":11}]}]}]}],"ó":[{"f":[{"o":[{"g":[{"a":[{"d":17}]}]}]}]}],"ő":[{"c":[{"s":[{"ö":[{"v":23}]}]}],"r":[{"é":[{"s":[{"s":38}]}]}]}],"y":[{"o":5}]},0],"m":[{"a":[{"e":6,"g":[{"a":[{"l":6,"r":6}],"á":[{"l":6}],"e":13,"g":9,"ó":[{"r":6},10]}],"i":[{"n":[{".":6}]}],"r":[{"á":[{"c":12}],"i":[{"n":[{"g":12}]}]}],"s":[{"z":[{"k":[{"o":[{"r":30}],"ö":30}]}]}],"t":[{"h":5}],"u":[{"z":6}]}],"á":[{"r":[{"i":[{"s":12}]}]}],"e":[{"g":[{"e":13,"é":13,"i":[{"f":9}],"o":10,"ő":13}],"i":6,"l":[{"l":[{"á":11}]}],"n":[{"y":[{"u":23}]}],"z":[{"á":6}]}],"é":[{"d":[{"i":[{"a":[{"f":10}]}]}],"n":[{"á":6,"o":6}],"s":[{"z":[{"a":6,"e":[{"t":6}],"i":6,"o":6}]}],"z":[{"i":[{"s":6}]}]}],"i":[{"r":[{"á":25}]}],"o":[{"l":[{"y":[{"a":[{"n":6}]}]}]}],"ű":[{"i":11,"k":[{"r":5}],"s":5}]},0],"n":[{"a":[{"g":[{"y":[{"a":6,"á":6,"e":6,"ú":6}]}],"p":[{"a":[{"p":6,"r":12}],"á":[{"l":6}],"e":12,"é":[{"s":6}],"o":[{"r":13}],"ö":6}]}],"e":[{"m":[{"a":6,"e":[{"g":6,"l":12}],"i":[{"n":6}]}],"o":[{"l":6}],"s":[{"z":[{"á":6}]}],"t":[{"t":[{"a":2}]}],"u":[{"m":6}]}],"é":[{"g":[{"y":[{"á":6}]}],"p":[{"a":6}],"v":[{"á":[{"l":12}],"e":[{"l":6}]}]}],"o":[{"r":12}],"y":[{"a":[{"k":[{"á":[{"r":[{"o":2}]}],"e":2,"ö":2}]}],"o":[{"l":[{"c":[{"a":[{"n":30}]}]}]}]}]},0],"o":[{"d":[{"a":9}],"k":[{"a":[{"d":19,"l":19}],"k":[{"a":10}]}],"l":[{"a":[{"j":[{"e":2}],"s":[{"z":[{"ó":18}]}]}],"d":[{"a":[{"l":[{"ú":[{"t":30}]}]}]}]}],"r":[{"r":[{"a":[{"j":12,"l":[{"t":12}],"n":6}],"e":13,"é":[{"s":12},10]}],"v":[{"a":13,"á":6,"é":12,"i":[{"s":6},10]}]}],"t":[{"t":[{"r":5}]}]},0],"ó":[{"l":[{"o":[{"m":[{"a":14}]}]}],"m":[{"e":[{"g":39}]}],"n":[{"a":19,"á":19,"e":19,"é":[{"v":5}]}],"v":[{"á":[{"s":[{"á":[{"r":[{"t":14}]}]}]}]}]},0],"ö":[{"n":[{"d":19,"e":19,"i":11,"í":5,"k":19,"n":25,"o":5,"ő":5,"s":5,"ü":5}],"s":[{"s":[{"z":[{"a":3,"á":3}]}]}],"t":[{"e":[{"g":5,"l":5},11],"t":19}],"v":[{"e":[{"g":19,"l":19}],"ő":19}]},0],"ő":[{"a":[{"l":25}],"i":[{"r":25}],"r":[{"a":[{"b":5,"n":5}],"e":[{"g":19}],"é":[{"g":19,"s":19}],"i":[{"s":[{"t":5}]}],"o":5,"s":[{"á":[{"g":12}]}],"u":19,"ü":[{"g":5}]}],"s":[{"a":19,"á":19,"e":[{"g":5,"l":19,"r":19,"s":19}],"é":[{"g":19,"r":[{"t":5}]}],"í":19,"o":5,"ó":19,"p":5,"t":[{"r":5}],"u":19,"ú":5,"z":[{"a":8,"á":9,"e":[{"g":8,"l":9,"m":9,"n":[{"e":25,"é":25}]}]}]}],"z":[{"a":19,"e":[{"g":5,"l":19,"t":[{"e":5},11]}],"é":[{"k":5,"r":[{"e":5}]}],"ő":5,"s":25,"u":5}]},0],"p":[{"a":[{"d":[{"a":6,"á":13,"i":[{"n":6}],"ó":13}],"i":6,"p":[{"a":[{"r":6}],"á":[{"l":6}],"e":6}],"r":[{"a":[{"f":[{"r":15}]}],"k":[{"e":[{"r":11},32]}],"t":[{"a":11,"e":[{"l":11,"r":11}]}]}]}],"á":[{"c":[{"s":21}],"n":[{"t":[{"a":11}]}],"r":[{"t":[{"ö":14}]}]}],"e":[{"n":[{"n":[{"y":20}]}],"r":[{"a":13,"á":12,"e":[{"n":[{"c":12}]}],"o":[{"k":6}],"ü":[{"l":6}]}],"s":6}],"i":[{"a":[{"c":[{"s":4}]}],"n":[{"a":3,"t":[{"ó":14}]}]}],"l":[{"e":[{"i":11}]}],"o":[{"n":[{"t":[{"a":32,"e":11}]}],"r":[{"a":[{"d":6,"l":6,"n":6}],"á":[{"c":6,"l":6}],"e":6,"u":[{"s":12}]}]}],"ó":[{"k":[{"i":[{"s":6}],"ö":12}],"r":[{"á":[{"s":6}]}],"t":[{"e":12,"é":12}]}],"r":[{"e":[{"k":8}],"é":[{"s":[{"s":27}]}],"o":[{"t":[{"o":[{"p":16}]}]}]}]},0],"q":0,"r":[{"a":[{"b":[{"a":[{"s":12}],"á":12,"e":6,"i":[{"c":7,"l":12,"z":13}],"í":6,"o":[{"r":6}],"ö":6,"ő":13,"ú":6}],"g":[{"a":[{"l":6}]}],"j":[{"ö":13,"t":[{"ó":[{"r":14},32]}]}]}],"á":[{"c":[{"s":[{"á":[{"z":23}]}]}],"d":[{"r":5}],"f":[{"r":5}],"g":[{"r":5}],"i":11,"n":[{"c":[{"e":14}],"y":10}],"s":[{"p":[{"r":5}],"t":19}],"t":[{"k":5,"r":5},11]}],"e":[{"k":[{"r":[{"e":19}]}],"n":[{"d":[{"a":2,"ő":2}]}],"p":[{"r":[{"i":19,"o":[{"d":5},11]}]}],"t":[{"e":[{"k":30}]}]}],"é":[{"m":[{"e":[{"m":[{"b":12}]}],"u":6}],"p":[{"a":34}],"s":[{"a":6,"s":[{"z":[{"e":[{"r":20}]}]}],"z":[{"a":6,"á":40,"e":[{"l":[{"e":23,"l":6}],"r":6}],"í":6,"o":6,"ő":6}]}],"t":[{"a":13,"á":13}],"v":[{"á":12}],"z":[{"á":6,"e":[{"l":6,"t":6}],"i":[{"s":6}],"o":12,"z":9}]}],"i":[{"z":[{"s":[{"o":6,"z":27}]}]}],"í":[{"m":[{"á":6}]}],"o":[{"c":[{"k":[{"o":[{"s":19}]}]}],"m":[{"é":[{"t":12},10],"i":[{"n":6,"s":6}]}],"s":[{"t":[{"e":2}]}]}],"u":[{"g":[{"g":9}],"m":[{"a":12,"i":[{"l":6}]}]}],"ú":[{"d":[{"e":6}]}]},0],"s":[{"a":[{"h":[{"a":12}],"j":[{"t":[{"e":11}]}],"s":[{"o":[{"r":12}]}],"v":[{"a":[{"d":6,"r":[{"a":12}]}],"á":[{"l":12,"r":[{"i":6}]}],"e":13,"é":13}]}],"á":[{"r":[{"ó":12,"ú":6}],"s":[{"s":9,"z":21}],"v":[{"a":12,"á":6,"ó":6}]}],"c":6,"e":[{"b":[{"a":[{"l":6}],"á":12,"e":[{"l":6,"s":[{"z":6}]}],"o":12}]}],"é":[{"f":[{"i":6}]}],"g":[{"r":41}],"i":[{"e":[{"m":6}],"ó":[{"k":6}]}],"í":[{"n":[{"n":20}],"p":[{"ő":13}],"r":[{"a":13,"á":[{"t":6}]}]}],"k":6,"o":[{"k":[{"é":[{"l":6}],"i":[{"l":6,"s":6}],"o":[{"l":6}]}],"m":[{"a":[{"g":12,"t":6}]}],"n":[{"y":42}],"r":[{"a":[{"l":6}],"á":[{"l":6}]}]}],"ö":[{"r":[{"e":[{"g":8}]}]}],"p":[{"o":[{"r":[{"t":[{"á":17}]}]}]},6],"t":[{"a":[{"r":[{"t":[{"a":17}]}]}]},6],"z":[{"a":[{"b":[{"a":[{"d":[{"e":43}]}]}],"k":[{"a":[{"t":14}],"á":[{"s":14}],"e":14,"ö":11,"ü":14}]}],"á":[{"l":[{"ó":2}],"z":[{"z":3}]}],"e":[{"g":[{"é":[{"r":[{".":3}]}],"í":11}],"i":11,"m":[{"á":14,"é":[{"r":[{".":14,"i":2}]}]}],"r":[{"á":[{"g":14}],"v":[{"a":[{"d":17}],"e":[{"v":17}]}]}],"s":[{"z":[{"á":11,"e":[{"g":11}],"ó":18}]}]}],"é":[{"f":[{"a":11}],"n":[{"n":3}],"t":[{"e":32},14]}],"í":[{"n":[{"n":27}]}],"k":11,"o":[{"l":[{"ó":14}]}],"ó":[{"k":[{"é":[{"s":[{"z":28}]}]}],"s":[{"z":[{"a":[{"k":11}],"ö":[{"v":44},26]}]}]}],"t":11},6]},0],"t":[{"a":[{"g":[{"a":[{"l":6,"r":13}],"á":12,"e":12,"é":[{"p":6}],"g":9,"i":[{"n":13}],"ö":6}],"n":[{"a":[{"g":6,"s":12}],"á":[{"l":6}],"d":8,"e":13,"é":[{"v":[{"e":10},12]}],"i":[{"s":6}],"n":9,"ó":13,"t":10,"u":[{"s":13}]}],"r":[{"á":25}],"t":[{"á":[{"l":12,"r":[{"a":[{"i":12}]}]}],"e":13,"í":12,"o":[{"r":6}],"u":[{"r":6}]}]}],"á":[{"l":[{"ó":13}],"n":[{"c":[{"s":[{"e":11}]}]}],"p":[{"o":[{"l":12}]}],"r":[{"s":[{"o":[{"r":11}],"ö":2}],"t":[{"e":[{"s":14}],"ö":[{"l":[{"t":14}]}]}]}],"v":[{"a":12,"i":[{"r":12},10]}]}],"b":[{"c":9}],"e":[{"a":[{"k":[{"a":6}],"r":6}],"j":[{"á":13,"e":[{"g":12}]}],"r":[{"a":[{"p":[{"e":26}]}],"v":[{"a":2,"á":2}]}],"s":[{"t":[{"é":[{"k":11}],"ö":[{"l":14}]}]}],"t":[{"r":[{"a":[{"é":26}]}]}],"z":[{"a":10}]}],"é":[{"k":25,"n":[{"y":[{"e":[{"m":6}],"í":6}]}],"r":[{"a":6,"á":6,"e":[{"t":6}],"i":[{"n":[{"t":9}]}]}]}],"í":[{"z":[{"ó":13,"s":6,"ü":10}]}],"o":[{"k":[{"á":[{"r":[{"o":6}]}]}],"l":[{"l":[{"e":11}]}],"p":[{"a":[{"u":45}]}],"r":[{"á":[{"l":13}],"o":[{"d":[{"v":12}]}],"z":[{"s":[{"e":4}]}]}]}],"ó":[{"s":[{"t":5}],"t":[{"é":[{"r":[{".":12}]}]}]}],"ö":[{"n":[{"k":[{"a":14}]}]}],"ő":[{"a":11,"e":11,"g":[{"y":[{"a":6}]}],"r":[{"é":[{"s":[{"s":12,"z":13}]}]}]}],"r":[{"a":[{"u":11}]}],"u":[{"r":[{"n":[{"u":[{"s":[{"s":22}]}]}]}],"s":[{"s":20,"z":[{"á":20},6]}]}],"ú":[{"r":[{"a":[{"t":[{"t":12}]}]}]}],"ű":[{"z":[{"é":[{"r":[{"t":12}]}],"ő":[{"r":13}],"s":[{"e":6}]}]}],"y":[{"ú":[{"k":[{"a":11}]}]}]},0],"u":[{"g":[{"r":[{"á":[{"s":[{"s":7}]}]}]}],"n":[{"i":[{"n":5,"o":11}]}],"t":[{"a":[{"s":[{"s":3}]}],"á":[{"s":46}],"o":11,"ó":[{"d":[{"ö":14}]}]}]},0],"ú":[{"j":[{"a":[{"s":5}],"e":5}],"r":[{"a":19,"á":19,"e":5}],"s":[{"z":[{"ó":[{"s":[{"p":3},32]}]}]}],"t":[{"a":19,"á":19,"e":19,"o":[{"l":5}],"ő":5,"ü":19}]},0],"ü":[{"g":[{"y":[{"é":[{"r":[{".":9}]}]}]}],"k":[{"a":19}],"s":[{"t":[{"ö":[{"l":[{"ő":12},10]}]}]}],"t":[{"ő":[{"k":[{"é":[{"s":[{"z":28}]}]}]}]}],"v":[{"e":[{"g":[{"e":[{"l":2}]}]}]}]},0],"ű":[{"r":[{"a":19,"á":19,"e":19,"é":[{"s":19,"t":[{"e":5}]}],"i":[{"t":[{"a":5}]},11],"ö":[{"s":[{"s":5}]}],"s":5,"t":11}]},0],"v":[{"a":[{"d":[{"a":[{"l":12}],"á":[{"r":6}],"é":[{"t":6}],"o":[{"r":13}],"ó":[{"v":6}],"ö":12,"z":21}],"g":[{"y":[{"i":24}]}],"j":[{"e":12}],"k":[{"a":[{"k":12,"l":6,"n":12,"p":6}],"á":[{"r":12}],"e":13,"ö":12}],"r":[{"a":[{"k":6}],"á":[{"s":13}],"e":13,"i":[{"n":[{"g":12}]}]}],"s":[{"a":[{"b":6,"r":6,"t":[{"o":[{"m":13}]}]}],"á":[{"g":13,"r":[{"k":6}],"s":6}],"e":12,"é":[{"k":6}],"i":[{"r":13}],"o":[{"l":6,"r":12}],"ó":6,"s":20,"t":[{"r":9}],"ü":12,"z":21}]}],"á":[{"c":[{"s":3}],"d":[{"á":6,"e":12}],"m":[{"a":6}],"r":[{"a":[{"d":[{"á":8}]}],"i":[{"s":13}],"o":[{"l":12}]}]}],"e":[{"r":[{"é":[{"s":[{"s":7}]}],"s":[{"é":[{"g":14}],"o":14,"z":11}]}]}],"é":[{"g":[{"é":[{"k":13}],"o":12}],"n":[{"y":[{"e":[{"l":6}]}]}],"r":[{"a":13,"á":6,"e":[{"b":12,"g":12}],"i":[{"k":6}],"o":12,"ó":6,"t":[{"é":[{"k":14}]}],"u":6}],"s":[{"z":[{"a":6,"á":6,"e":[{"r":6}],"í":6,"o":6,"ó":23}]}]}],"i":[{"g":[{"n":19}]}],"í":[{"z":[{"e":[{"d":6,"m":6}]}]}],"o":[{"n":[{"a":[{"t":[{"ú":[{"t":30}]}]}],"z":[{"e":2}]}]}]},0],"w":0,"x":0,"y":0,"z":[{"a":[{"b":[{"e":6,"i":[{"n":13}]}],"i":11,"j":[{"e":13,"ö":12,"u":[{"t":6}]}]}],"á":[{"r":[{"a":[{"d":[{"á":13}]}],"e":12,"ó":[{"r":[{"a":13}]}],"t":[{"a":[{"n":[{"y":14},32]}],"é":14,"ö":[{"v":2}]}]}]}],"e":[{"i":6}],"é":[{"t":12}],"s":6,"ű":[{"r":[{"ő":12}]}]},0]}],"a":[{".":47,"a":[{"b":[{"e":6}],"c":[{"é":6,"h":6}],"d":[{"a":6,"á":[{"s":[{"s":[{"z":6},7]}]}],"ó":6,"u":6}],"f":[{"o":6}],"g":[{"a":6,"i":6,"ó":6,"y":6}],"j":[{"á":6}],"k":[{"a":6,"á":6,"o":6,"u":6}],"l":[{".":0,"a":[{"g":30},6],"á":6,"e":[{"g":9}],"é":6,"m":[{"a":[{"n":[{"a":[{"c":49},33]}]}]}],"o":[{"s":9},6],"u":6}],"m":[{"a":6}],"n":[{"a":6,"e":6,"i":6,"o":6,"s":0,"y":6}],"p":[{"a":6,"á":6,"o":6,"u":6}],"r":[{"a":6,"á":6,"é":6,"i":6,"l":0,"o":6}],"s":[{"z":6}],"t":[{"o":6,"y":6}],"u":[{"r":6,"t":6}],"v":[{"a":6,"o":0}],"z":[{"o":6}]},48],"á":[{"b":[{"é":6}],"c":[{"s":6}],"f":[{"á":6}],"g":[{"a":6,"á":6,"é":6,"i":6,"o":6,"u":6,"y":6}],"h":[{"í":6}],"j":[{"u":6}],"l":[{".":0,"a":6,"o":6}],"p":[{"o":6}],"r":[{"a":6,"á":6,"e":13,"é":6,"i":6,"o":6,"u":6,"ú":6}],"s":[{"a":6,"á":6,"o":6,"ó":6}],"t":[{"a":6,"á":13,"e":13,"é":6,"i":13,"í":6,"o":6,"ö":12,"u":6,"ú":6,"ü":6}],"z":[{"á":6,"ó":6}]},48],"b":[{"a":[{"b":47,"d":[{"ó":5,"z":11}],"j":[{"g":50}],"k":[{"k":5}],"l":47,"n":[{"a":[{"l":11}]},47],"p":[{"r":9}],"r":[{"a":[{"t":11}],"á":[{"b":51}]},47],"u":52}],"á":[{"b":[{"u":[{"r":2}]},47],"d":47,"n":47,"p":52,"r":[{"a":[{"k":11}],"o":[{"n":19}],"ú":19}],"z":47}],"b":[{"a":[{"h":53},11]}],"e":[{"a":47,"á":10,"b":51,"c":47,"d":[{"é":5}],"é":47,"f":47,"h":47,"i":47,"j":[{"t":5},47],"l":[{"a":5,"á":19,"e":[{"m":11},47],"s":[{"z":5},47],"t":52,"v":5}],"m":[{"b":5},47],"r":[{"d":52}],"t":[{"á":47,"e":47,"é":47,"o":47,"ö":47}],"v":47,"x":52}],"é":[{"k":47,"l":47,"n":[{"e":51},47],"p":52,"r":[{"z":52},47],"t":[{"á":47}],"v":[{"e":52}]}],"f":[{"l":5,"r":5}],"i":[{"c":47,"d":[{"o":19}],"e":47,"k":[{"e":19,"s":5}],"n":[{"a":[{"i":51}],"á":[{"b":11}],"g":52}],"r":[{"k":[{"á":[{"i":5}]}]},47],"s":[{"m":5}],"t":[{"a":51},47],"z":47}],"í":[{"j":52,"r":[{"n":5}]}],"k":[{"r":5}],"l":[{"a":[{"k":[{"á":53,"h":53,"k":53,"o":[{"s":53}],"r":53}]}],"o":47,"ú":54}],"o":[{"g":47,"h":47,"k":47,"l":[{"t":[{"ó":5},47]}],"m":47,"r":[{"a":[{"k":11,"s":14}],"i":[{"n":11}]}],"t":47}],"ö":[{"b":52,"l":[{"ő":5,"t":5},11],"s":52,"t":52,"z":51}],"ő":[{"r":[{"l":5}]}],"p":[{"r":5}],"r":[{"e":[{"k":6}],"i":[{"k":[{"e":54}],"n":6,"t":54},47],"ó":[{"k":6},47]}],"s":[{"t":5}],"u":[{"r":[{"d":52}]}],"ú":[{"r":[{".":5,"t":5}],"s":[{"á":14,"z":5}]}],"ü":[{"l":19,"s":5,"v":5,"z":52}]}],"c":[{"a":[{"l":[{"a":11,"á":11,"e":2,"é":[{"t":11}]}],"n":51,"t":[{"á":11}]}],"á":[{"g":52,"l":52}],"c":[{"i":[{"ó":10}],"ö":6,"s":[{"e":25,"í":25,"ü":25,"z":20}]}],"e":[{".":0,"b":[{"é":5}],"g":52,"l":[{"e":52,"é":52,"h":52,"l":[{"e":5}],"m":52,"o":52,"v":52},11],"m":[{"b":5}],"n":47,"t":[{"a":11}],"v":51,"x":52}],"é":[{"l":[{"á":0,"e":15,"é":0}],"p":52,"r":[{"e":51,"t":[{"e":52}]}]}],"f":[{"r":5}],"h":[{"á":0,"é":[{"j":25}],"í":25,"o":[{"z":55}],"ó":25,"ö":55,"ú":55}],"i":[{"d":[{"e":5}],"g":[{"á":51,"é":51}],"k":[{"e":52}],"n":[{".":47,"d":52,"f":5}],"s":[{"t":52}]}],"í":[{"r":52,"v":5}],"k":[{"a":[{"r":[{"o":9}]}],"á":[{"l":6}],"e":[{"v":13}],"é":[{"r":[{"e":12},10],"t":[{"e":9}]}],"i":[{"l":6}],"o":[{"s":[{"z":12}]}],"ö":[{"s":6}],"ű":6}],"l":[{"u":6}],"o":[{"p":52}],"ö":[{"s":5}],"ő":[{"r":5}],"p":[{"l":5,"r":5}],"s":[{"a":[{"l":[{"j":[{".":9}]},47],"p":[{"á":[{"g":17}]}],"t":[{"k":56}]}],"á":[{"l":[{"l":9}],"r":[{"u":0}]}],"e":[{"c":10,"g":[{"y":9}],"m":[{"l":25}]}],"é":[{"b":50,"k":56}],"i":47,"í":47,"o":[{"n":47,"r":[{"m":9}]}],"ö":[{"c":56}],"s":9,"t":[{"r":25}],"ú":[{"l":0,"r":56}],"ü":[{"l":10,"t":0}],"z":[{"á":25,"e":25,"ö":25}]}],"t":[{"r":5}],"u":[{"d":52,"l":[{"a":47}],"t":52}],"ú":[{"j":5}],"ü":[{"g":5,"r":5,"z":5}],"z":[{"a":25,"á":25,"e":25,"s":25,"u":25}]}],"d":[{"a":[{"d":[{"a":51,"á":51}],"g":[{".":50,"á":11,"b":50,"g":0,"h":50,"i":53,"j":50,"n":50,"o":50,"r":50,"t":50,"u":53,"ú":50}],"k":[{"t":[{"á":52}]}],"l":[{"a":[{"p":11}],"e":[{"s":14}],"é":[{"n":11},53],"o":[{"s":[{"z":14}]}],"ó":2,"ú":[{"t":14}]}],"n":[{"a":52,"n":52}],"p":[{"t":53}],"r":[{"a":[{"l":11}],"e":11,"é":[{"s":14}],"i":[{"n":14}],"u":[{"t":11}]},47],"t":[{"a":[{"b":11,"l":11,"n":2}],"á":[{"r":[{".":14,"a":[{"k":2,"m":2,"t":2}],"á":2,"b":14,"r":14,"u":2}],"u":50}],"e":[{"g":2,"l":11,"s":14}],"é":[{"r":[{"d":14,"ő":14},32]}],"i":[{"n":[{"t":11},50],"s":11}],"í":[{"v":11}],"m":0,"o":[{"l":[{"d":14}]}],"ö":[{"l":14}],"ő":14,"v":0}],"z":[{"o":5}]}],"á":[{"g":52,"r":[{"a":[{"k":11},32],"i":[{"s":11}]}]}],"d":[{"e":[{"l":6}]}],"e":[{"g":[{"e":5,"é":5,"y":5},11],"i":11,"j":52,"l":[{"e":[{"j":3}],"h":5,"m":5,"n":5,"ő":51,"r":5,"t":5}],"m":[{"b":52,"é":19,"l":52,"u":52}],"n":[{"g":5}],"p":[{"e":19,"r":5}],"r":[{"d":0,"ő":5}],"t":[{"i":11}],"u":0,"v":51,"x":52}],"é":[{"k":[{"a":[{"t":11}],"e":2,"é":[{"s":11}],"i":[{"s":11}],"ü":11,"ű":11}],"l":[{"e":5}],"m":[{"o":[{"n":[{"t":47}]}]}],"p":52,"r":[{"z":52}],"s":11,"t":[{"e":11}],"v":[{"e":51}]}],"f":[{"l":5,"o":[{"k":[{"ú":[{"t":30}]}]}]}],"g":[{"r":5}],"h":[{"é":53}],"i":[{"a":[{"n":10},47],"b":[{"o":19}],"d":47,"k":[{"u":[{"t":11}]}],"n":[{"a":[{".":19,"i":19}],"d":5,"g":52},47],"o":[{"g":[{"r":[{"a":2}]}]}],"p":47,"s":47,"v":47}],"í":[{"z":51}],"j":[{"i":6}],"k":[{"a":[{"n":[{"a":10}]}],"r":5}],"o":[{"b":47,"c":47,"k":[{"k":[{"e":52}]}],"l":[{"a":5},47],"m":[{"á":50,"b":47,"i":47}],"p":50,"r":[{"c":52,"g":52,"h":47,"i":[{"a":[{"n":47}],"g":47}],"v":5,"z":52}],"s":[{"z":52}]}],"ó":[{"g":[{"u":0}],"k":[{"u":50}],"m":[{"é":0}],"r":[{"á":0}],"s":[{"a":[{"t":50}],"i":[{".":47}]}],"v":[{"á":[{"s":19}]}],"z":[{"ó":50}]}],"ö":[{"k":51,"l":51,"r":[{"d":5}],"s":52}],"ő":[{"r":[{"a":3,"e":[{"l":11}]}],"s":19}],"p":[{"l":5,"r":5}],"r":[{"a":[{"c":54,"m":6,"z":6}],"á":[{"m":6},47],"o":[{"g":6},47],"ó":[{"t":54}],"u":[{"k":6}]}],"s":[{"p":5,"t":5}],"u":[{"g":47,"m":47,"p":47,"r":[{"á":19}]}],"ú":[{"s":[{"z":5}],"t":[{"o":52},11]}],"ü":[{"g":52,"l":[{"é":19}],"t":52,"z":5}],"ű":[{"r":52,"z":5}],"y":[{"é":[{"h":5,"r":5}]}],"z":[{"a":[{"b":25,"v":25}],"á":[{"r":25}],"e":[{"l":25}],"ó":[{"n":25}],"ö":55,"s":[{"í":25}]}]}],"e":[{"b":[{"é":6}],"c":[{"e":6,"s":6}],"d":[{"é":6,"z":6}],"g":[{"e":6,"é":6,"y":6}],"h":[{"e":6}],"k":[{"e":6,"é":6}],"l":[{"a":6,"á":13,"e":[{"j":9,"n":25},6],"é":[{"r":[{"h":9}]}],"í":13,"o":6,"ö":13,"ő":6,"u":6}],"m":[{"e":6,"é":6,"i":6,"u":6}],"n":[{"e":6}],"p":[{"e":6,"é":6,"i":6,"o":6}],"r":[{"e":[{"d":6}],"é":6,"o":[{"s":3}],"ó":6,"ő":6}],"s":[{"e":[{"r":9},6],"é":6,"i":6,"ő":6,"ü":6,"z":6}],"t":[{"a":6,"á":6,"e":6,"i":6,"ű":6}],"v":[{"a":6,"e":6,"é":6,"i":6,"o":6,"ő":6}],"x":[{"e":6}],"z":[{"ü":6}]},48],"é":[{"d":[{"e":[{"r":[{"v":6}]}]}],"g":[{"e":6,"é":6,"ő":6}],"h":[{"e":6}],"j":[{"e":6}],"k":[{"e":6,"í":6}],"l":[{"e":6,"é":6,"i":6,"ő":6,"ü":6,"ű":6}],"n":[{"e":6}],"p":[{"í":6,"ü":6}],"r":[{"d":[{"e":[{"m":43}]}],"i":6}],"t":[{"e":6}],"v":[{"a":6,"e":6,"é":6,"i":6,"ü":6}]},48],"f":[{"a":[{".":47,"j":[{".":47,"a":47,"á":47,"b":47,"e":57,"j":47,"n":47,"o":47,"t":[{".":47}],"u":47,"z":47}],"k":47,"l":47,"m":47,"o":47,"r":47,"s":47}],"e":[{"l":[{"e":[{"m":2}]}]}],"é":[{"k":47,"l":[{"i":47,"ő":47,"t":47}],"n":47,"r":47,"s":47}],"f":[{"é":53}],"i":[{"a":[{"p":11,"s":[{"z":11}]}],"k":[{"e":11}],"t":[{"a":2,"e":2}]}],"l":[{"e":6,"o":54,"ó":54,"ö":54,"u":54}],"o":[{"c":47,"g":47,"k":47,"l":47,"n":47,"r":[{"d":47,"g":47,"m":[{"á":[{"c":47,"l":47,"t":[{"u":47}],"z":47}],"u":47}],"r":47}],"s":47,"t":47}],"r":[{"a":[{"k":6}],"e":58,"i":[{"z":6}],"í":6,"o":[{"n":6},47],"ö":58}],"t":[{"á":25}],"u":[{"s":[{"s":27}]}]}],"g":[{"a":[{"b":[{"l":52,"r":5}],"c":[{"é":19}],"g":[{"a":5}],"k":[{"a":51,"k":52,"t":52}],"l":[{"a":[{"k":51,"p":51}],"á":51,"j":52,"m":52,"o":[{"m":11}],"t":52},47],"n":[{"g":5,"o":19,"t":5,"y":0}],"p":[{"a":5,"á":5},0],"r":[{"c":52,"é":52,"o":51,"t":52}],"t":[{"o":[{"m":11}],"ó":19}],"u":[{"r":51,"t":5}],"v":[{"a":52}],"z":[{"o":[{"n":19}]},47]}],"á":[{"c":[{"s":[{".":52,"i":52}]},11],"g":[{"a":19}],"k":50,"l":[{"a":41,"m":52,"y":[{"a":[{"n":11}]}]}],"p":52,"r":[{".":0,"a":[{"d":52,"i":51,"k":51,"s":52,"t":52}],"á":59,"b":0,"c":52,"e":0,"é":[{"v":11},0],"f":0,"h":0,"i":59,"j":0,"k":0,"m":0,"n":[{"á":5},0],"o":0,"r":0,"s":0,"t":0,"u":51,"ú":51}],"s":[{"v":5}],"t":[{"á":52,"e":60,"f":[{"e":5}],"h":52,"k":52,"m":52,"o":[{"l":11}],"s":52,"ü":5,"v":52}]}],"b":[{"l":5}],"d":[{"e":[{"l":6}],"í":[{"j":[{"a":[{"d":[{"a":17}]}]}]}]}],"e":[{".":0,"c":[{"s":19}],"d":51,"g":51,"l":[{"a":52,"b":5,"d":5,"e":5,"é":5,"f":5,"h":5,"i":5,"m":5,"n":5,"o":52,"ő":52,"r":5,"s":5,"t":5,"ű":5,"v":5,"z":5},11],"m":51,"n":[{"g":5,"y":52}],"p":51,"r":[{"d":52,"e":[{"d":11}],"k":52,"ő":52}],"s":11,"v":51,"x":52,"z":52}],"é":[{"j":51,"k":[{".":52,"n":52}],"l":51,"n":[{"é":11}],"p":[{"i":[{"p":2}],"ü":[{"l":51}]}],"r":[{".":52,"e":51,"é":51,"h":52,"i":51,"k":52,"l":5,"m":5,"t":[{"e":5,"é":5,"h":5,"ő":52}]}],"s":[{"z":5}],"t":[{"e":52}],"v":[{"e":52}]}],"f":[{"l":5,"r":5}],"g":[{".":53,"a":[{"t":[{"y":13}]}],"e":[{"m":12}],"i":[{"t":6}],"l":53,"o":[{"d":53,"k":53}],"y":[{"a":[{"r":25}],"e":25,"i":25,"o":25,"ü":25}]}],"i":[{"a":20,"d":[{"e":5}],"g":[{"a":51,"e":52,"é":52}],"k":[{"e":5}],"l":[{"l":0}],"n":[{"f":5,"g":52,"t":52}],"o":[{"n":[{"i":51}]}],"ó":11,"p":52,"r":[{"o":5}],"s":[{"t":52,"z":11}],"t":[{"a":0}],"z":[{"é":5,"m":5}]}],"í":[{"j":52,"n":5,"r":52,"v":5,"z":52}],"k":[{"á":[{"r":[{"o":[{"k":10}]}]}],"l":5,"r":5}],"n":[{"e":[{".":6}],"o":[{"n":54}]}],"o":[{"b":52,"l":[{"t":[{"ó":5}],"y":[{"a":18}]}],"m":47,"n":[{"a":47,"n":27,"o":[{"s":[{"z":14}]}]}],"p":52,"r":[{"g":52,"j":5,"n":52,"r":52,"s":52,"v":52}],"t":[{"t":[{"h":52}]}]}],"ó":[{"r":[{"á":[{"i":11}]}]}],"ö":[{"l":51,"n":[{"k":5,"t":5}],"r":[{"ö":52,"v":5}],"s":52,"t":52,"v":51,"z":51}],"ő":[{"r":52,"s":51}],"p":[{"l":5,"r":5}],"r":[{"a":[{"m":[{"m":[{"j":47}]}],"v":54}],"á":47,"ó":[{"f":54}]}],"s":[{"k":5,"p":5,"r":5,"t":5,"z":[{"t":5},10]}],"t":[{"r":5}],"u":[{"n":[{"d":52}],"r":[{"a":[{"m":0,"t":11}],"á":19,"n":5}],"t":[{"á":19}]}],"ú":[{"j":52,"t":[{"a":5,"i":52,"t":5}]}],"ü":[{"l":51,"r":52,"s":52,"t":52,"v":52,"z":52}],"ű":[{"r":5,"z":5}],"y":[{"a":[{"c":61,"d":[{"ó":8},0],"g":[{"y":[{"a":8}]}],"j":0,"k":[{".":50,"b":0}],"l":[{"a":[{"p":9},10],"g":9,"j":0,"k":[{"o":9}],"m":9}],"m":50,"n":[{"a":9,"y":56}],"p":[{"a":56,"j":[{"a":9,"á":9}],"ó":61,"r":56}],"s":[{"z":[{"ó":56},10]}]}],"á":[{"l":0,"r":[{"v":9}]}],"e":[{"c":61,"g":8,"l":56,"m":9,"s":[{"t":9,"z":9}],"v":0,"z":56}],"é":[{"k":[{".":9,"e":9,"k":9}],"r":[{".":9,"e":61,"n":9,"r":9,"s":9}]}],"i":[{"m":[{"a":0}]}],"n":[{"y":[{"á":11}]}],"o":[{"r":[{"o":56,"r":0},10]}],"ö":[{"l":61}],"ő":[{"r":61}],"u":[{"r":[{"á":9},10]}],"ú":[{".":50,"a":50,"n":0,"r":[{".":9}],"s":[{"z":8}],"t":0}],"ű":47}]}],"h":[{"a":[{"l":[{"e":14}],"s":[{"á":[{"b":[{"r":11}]}]}]}],"e":[{"l":[{"y":[{"ü":[{"k":[{"ü":26}]}]}]}],"r":[{"t":[{"z":[{"e":3}]},32]}]}],"é":[{"j":[{"ú":[{"t":14}]}]}],"i":[{"p":[{"s":5}],"t":[{"k":[{"ö":[{"z":28}]}]}]}],"o":[{"v":[{"i":19}]}],"ú":[{"s":[{"á":[{"r":11}],"s":27}]}]}],"i":[{"b":[{"o":6}],"d":[{"e":62,"o":[{"m":6}],"ő":62}],"é":[{"k":0}],"g":[{"a":6,"á":6,"e":6,"é":6,"y":6}],"i":[{"a":6,"b":6,"h":6,"j":6,"n":6,"r":6,"t":6}],"j":[{"e":6}],"k":[{"a":[{"b":6,"d":12,"l":12,"r":12,"s":12},10],"á":12,"e":[{"l":9},31],"i":[{"k":6,"s":6},10],"o":[{"l":12,"s":[{"z":12}]}],"ő":6,"ü":6}],"l":[{"b":0,"e":0,"l":[{"e":[{".":11}],"o":11},47]}],"m":[{"a":[{".":6}],"á":62,"i":[{"t":6},47],"p":47}],"n":[{"a":[{".":6,"l":[{"a":9},31],"s":62}],"á":[{"l":[{"o":12}],"r":6},10],"d":47,"e":6,"é":[{"l":6}],"f":47,"g":47,"i":[{"n":12}],"o":[{"l":6}],"p":47,"s":47,"t":47,"ü":6}],"o":[{"n":[{"b":6,"n":6,"o":6,"r":6,"t":6}]}],"p":[{"a":6}],"r":[{".":0,"a":[{"m":6,"t":62}],"á":62,"e":[{".":6}],"é":6,"i":6,"o":[{"d":6},47]}],"s":[{"e":63,"i":6,"k":47,"m":47,"t":47,"z":[{"a":6,"o":6},47]}],"t":[{"a":62}],"v":[{"a":[{"d":6,"r":6}],"á":[{"s":6}],"ó":62}],"z":[{"é":6,"o":[{"m":6}]}]},48],"í":[{"g":[{"é":6}],"j":[{"a":6,"á":6,"u":6}],"r":[{"a":6,"á":6,"o":6,"ó":6,"u":6}],"t":[{"é":6}],"v":[{"á":6,"e":6,"é":6,"i":6,"ó":6,"ü":6,"ű":6}],"z":[{"e":6,"é":6,"ü":6,"ű":6}]},48],"j":[{"a":[{"d":[{"ó":51,"u":52}],"g":[{"a":5,"r":5}],"k":[{"o":[{"l":11}],"ó":52,"ú":11}],"n":[{"a":52,"t":52,"y":52}],"p":[{"r":5}]}],"á":[{"a":52,"c":11,"g":[{"o":19}],"n":[{"d":50,"l":53}],"p":52,"r":[{"b":52,"c":52,"e":52,"é":52,"r":52},47],"s":[{"á":5,"v":5}],"t":[{"e":60}],"z":[{"á":5},11]}],"b":[{"l":5,"r":5}],"d":[{"a":[{"l":[{"m":12,"o":[{"m":[{".":13,"m":13,"n":13,"r":13,"t":13}]}]}]}]}],"e":[{"c":51,"f":52,"g":[{"é":52}],"l":[{"a":52,"e":[{"m":[{"e":11}]}],"f":52,"l":[{"á":5}],"o":52,"ő":5,"v":[{"á":5,"o":5}]}],"m":51,"n":[{"e":5,"z":5}],"r":51,"s":[{"e":19}],"x":52,"z":52}],"é":[{"g":[{"e":52,"é":52,"ő":5}],"k":51,"l":52,"p":52,"r":[{"e":52},11],"t":[{"e":52}]}],"f":[{"l":5,"r":5}],"g":[{"r":19}],"i":[{"d":51,"j":52,"k":52,"m":52,"n":[{"t":52}],"o":52,"p":52,"z":52}],"í":[{"r":5,"z":5}],"k":[{"l":5,"ú":[{".":53}]}],"o":[{"b":[{"b":[{"o":7}]}],"g":[{"á":[{"s":[{"z":[{"a":2}]}]}]}],"l":[{"a":52,"d":5}],"v":51}],"ó":[{"c":[{"s":[{"k":[{"á":[{"s":52}]}]}]}],"s":[{"á":[{"r":11}]}]}],"ö":[{"b":5,"k":52,"r":52,"z":52}],"ő":[{"r":5,"s":19}],"p":[{"l":5,"r":5}],"s":[{"h":5,"k":5,"p":5}],"t":[{"á":[{"g":6}],"e":[{"g":6}],"é":[{"t":13}],"o":[{"r":[{"g":9}]}]}],"u":[{"h":[{"i":11}]}],"ú":[{"j":52,"s":[{"z":5}],"t":[{"o":52,"r":52}]}],"ü":[{"g":5,"l":5,"s":5,"z":5}],"ű":[{"z":5}],"z":[{"a":[{"k":[{"a":9}],"t":[{"l":9}]}],"e":[{"r":6}],"í":6,"ü":6}]}],"k":[{"a":[{"b":47,"c":[{"s":[{"e":11}]}],"d":[{"a":[{"g":0,"t":[{"a":51,"b":51,"n":51,"o":51,"r":51,"t":51}]}],"á":[{"l":53}],"é":[{"m":50}],"m":52}],"g":[{"a":52}],"l":[{"a":[{"g":19,"k":51,"p":[{"ú":11}]}],"e":[{"g":52}],"k":[{"o":5}]},47],"m":47,"n":47,"o":47,"p":[{"á":[{"d":11}],"p":5},47],"r":[{"a":[{"i":19,"s":[{"z":5}]}],"á":[{"b":51,"k":51}],"c":[{"h":0},47],"d":47,"é":[{"n":19}],"i":47,"r":47}],"s":[{"í":47,"t":47,"z":[{"a":[{"j":11,"t":19}],"e":[{"l":11}],"ö":11,"t":[{"r":52}]}]}],"t":[{"a":[{"b":11},47],"e":[{"l":11,"r":11},47],"i":[{"k":11,"m":11,"n":11},32]}],"u":[{"t":[{"ó":52}]},47],"v":47,"z":47}],"á":[{"c":[{".":53}],"f":52,"g":52,"l":[{"a":14,"i":[{"s":11}],"l":[{"ó":52}]}],"r":[{"a":[{"d":5}],"b":52,"j":52,"k":0,"o":[{"k":[{"n":11}]}],"t":[{"ó":52}],"u":51}],"s":[{"a":[{"d":11,"j":11,"l":11,"r":11,"v":11}],"á":[{"s":[{"t":11}]}],"s":27,"z":[{"á":[{"n":19}],"u":[{"n":52},11]}]}],"t":[{"a":3,"l":[{"a":52}]}]}],"b":[{"l":5}],"c":[{"i":[{"ó":[{"s":[{"ű":64}]}]}]}],"e":[{".":0,"c":[{"s":11}],"d":[{"z":51}],"g":[{"e":19,"é":19}],"l":[{"a":52,"á":52,"e":[{"m":11}],"h":5,"j":52,"o":52,"ő":[{"k":11}],"r":52,"v":52}],"m":[{"b":52,"e":[{"l":19}]}],"r":[{"d":0,"e":[{"i":19}],"ó":51,"ő":51}],"s":[{"p":0,"t":52,"z":[{"k":5,"m":5}]}],"t":[{"e":51,"i":19}],"v":[{"e":[{"z":51}]}]}],"é":[{"k":[{"e":[{"m":19,"s":19}],"é":51,"h":52,"r":[{"ő":5}]}],"m":47,"n":[{"y":47}],"p":[{".":47,"b":47,"e":47,"é":47,"h":47,"k":47,"l":47,"n":47,"p":[{"e":[{"l":47}],"é":47}],"r":47,"t":47,"ü":47,"z":47}],"r":[{"c":52,"d":[{"e":[{"k":0}]},47],"e":47,"é":47,"m":52,"ő":[{"i":51,"j":51},47],"r":52,"t":[{"e":[{"k":[{"e":0}],"l":52,"t":52}],"ő":52}],"v":47,"z":52}],"s":[{"z":[{"a":52}]},47],"t":[{"e":51,"s":47,"t":52}],"z":47}],"f":[{"l":5,"r":5}],"g":[{"e":[{"r":[{"i":[{"n":[{"c":65}]}]}]}],"r":5}],"i":[{"a":47,"b":47,"c":47,"d":[{"é":51,"i":5},47],"e":66,"é":47,"f":47,"g":[{"a":5,"é":52,"y":47}],"h":47,"í":47,"j":47,"l":[{"l":52,"y":5},47],"m":[{"á":51,"i":52},47],"n":[{"d":5,"g":52,"s":52},47],"o":[{"n":52}],"r":[{"o":[{"m":11}]},47],"s":[{"i":52,"k":52,"m":5,"t":52},47],"t":47,"v":47,"z":[{"m":52},47]}],"í":[{"t":[{"é":0}],"z":51}],"k":[{"a":[{"d":13,"j":6,"l":[{"a":13,"k":9}],"r":[{"c":12}]}],"á":[{"l":6,"p":13}],"e":[{"d":12,"l":[{"l":9,"m":6,"t":9}],"m":6,"r":[{"ó":12}],"s":[{"e":9},10],"t":6}],"o":[{"l":[{"a":6}],"r":[{"d":53}]}],"ö":[{"l":[{"t":9}],"s":12}],"ő":[{"r":6}],"u":[{".":53,"m":53}]}],"l":[{"a":[{"u":6,"v":6}],"o":[{"r":6}],"ó":[{"n":6,"r":6}]}],"n":[{"a":[{"i":53}],"á":[{"b":53,"h":53,"i":53,"k":[{"a":53,"o":53}],"s":53,"t":[{".":53}],"v":53,"z":53}]}],"o":[{"a":47,"b":[{"j":5}],"c":47,"f":47,"k":[{"t":47}],"l":[{"á":[{"s":[{"s":67}]}],"d":[{"a":52}],"y":51}],"m":47,"n":[{"c":47,"d":47,"f":47,"g":47,"k":47,"s":47,"t":47,"v":47,"y":47,"z":47}],"o":47,"p":[{"e":51},47],"r":[{"a":[{"t":19}],"b":47,"d":47,"g":52,"i":47,"j":52,"l":47,"m":47,"o":47,"p":47,"r":47,"s":47,"t":47,"u":47,"ú":47,"v":52}],"s":47}],"ó":[{"n":[{"i":47}],"p":68,"r":[{"á":51,"ó":[{"d":19}]}],"z":[{"á":50}]}],"ö":[{"s":[{"s":[{"z":5}]}],"z":[{"é":[{"l":2}],"r":[{"e":[{"a":69}]}]}]}],"ő":[{"r":[{".":5}],"s":[{".":5}]}],"p":[{"l":5,"r":5,"s":5}],"r":[{"á":[{"d":[{"i":26}],"t":6}],"e":[{"a":6},47],"é":[{"m":[{"e":54}],"t":[{"a":6,"á":6}]},47],"i":[{"t":54},47],"í":[{"z":6},47],"o":[{"b":53}],"ó":[{"n":[{"i":[{"k":47}]}]}]}],"s":[{"p":5,"z":[{"t":42}]}],"t":[{"a":[{"u":12}],"á":[{"r":[{"s":[{"a":[{"d":64}]}]}]}],"e":[{"m":[{"b":9}]}],"i":[{".":53,"m":6}],"í":[{"v":[{"b":53,"e":[{".":12},10],"k":53,"o":53,"s":53,"t":53}]}],"o":[{"r":[{"á":[{"l":30}]}],"s":[{"z":9}]}],"r":[{"á":5}],"u":[{"a":53}],"ú":[{".":53}]}],"u":[{"d":[{"v":52}],"j":[{"j":52}],"n":47,"p":[{"u":53}]}],"ú":[{"g":52,"j":52,"r":[{"r":52}]}],"ü":[{"g":52,"l":[{"e":51,"é":51,"n":52}],"t":51,"v":51}],"y":[{"a":5}]}],"l":[{"a":[{"b":[{"l":52}],"c":[{"c":3,"e":32,"i":[{"t":11},32],"o":[{"r":11}],"s":[{"é":0,"ö":4,"ü":11}]}],"d":[{"a":[{"g":0,"t":[{"á":51}]}]}],"g":[{"á":[{"l":11}],"e":14,"é":[{"p":11}],"o":[{"l":11}],"y":[{"a":11}]}],"j":[{"a":[{"d":2,"s":11}],"e":2}],"k":[{"a":[{"d":0,"n":14,"s":51}],"á":[{"l":11,"p":14}],"e":[{"s":11}],"í":50,"n":[{"a":[{".":52}],"á":[{"k":0,"t":0}]}],"o":[{"l":11}],"ó":[{"d":51}],"ö":[{"l":14}],"t":[{"u":52}],"u":[{"l":[{".":0,"t":0}]},53]}],"l":[{"g":5,"j":52,"k":52,"l":5,"m":5,"o":19,"t":5}],"n":[{"e":14,"n":[{"y":50}],"y":[{"a":[{"l":11}],"e":18},0]}],"p":[{"a":[{"d":2,"k":11,"l":11,"n":0}],"á":[{"r":2}],"e":2,"i":[{"l":[{"l":11}],"n":11,"r":11}],"í":[{"t":[{"v":50}]}],"o":[{"l":14,"r":11,"s":[{"z":14}]}],"ó":15,"p":3}],"r":[{"a":19,"á":19,"g":5}],"s":[{"p":8,"z":[{"p":52,"t":[{"a":[{"l":33}]}]}]}],"t":[{"a":[{"n":[{"y":3}]}],"á":[{"t":[{"a":1}]}],"e":[{"v":2}],"i":[{"n":[{"f":14}]}],"í":[{"v":11}],"o":[{"l":14}],"ó":[{"r":11},32],"t":[{"a":[{"k":52}],"i":50}],"ü":2}],"v":[{"a":5}],"z":[{"ú":[{"r":11}]}]}],"á":[{"a":50,"á":50,"b":[{"a":[{"d":[{"a":14},32]}],"r":[{"á":5}],"ú":[{"j":50}]}],"d":[{"a":[{"l":11,"p":14}]}],"f":50,"g":[{".":52,"a":0,"á":19,"b":5,"g":52,"h":5,"i":19,"k":5,"n":5,"o":19,"r":52,"t":5,"ú":19,"y":[{"a":5}]}],"í":50,"m":[{"o":50}],"r":[{"a":[{"d":52,"k":0}],"á":[{"r":11},0],"k":52}],"s":[{"t":[{"e":[{"l":10},26],"é":[{"r":[{".":30}]}]}]}],"t":[{"d":52,"e":0,"é":[{"p":5},0],"f":52,"i":11,"l":52,"m":52,"ö":0,"r":0,"ú":0}]}],"b":[{"l":5,"r":5,"u":[{"m":53}]}],"d":[{"r":19}],"e":[{".":0,"a":47,"b":[{"é":5},47],"c":[{"e":5},47],"g":[{"e":[{"l":[{"é":2}]}],"é":[{"s":[{"z":28},5]}],"y":[{"s":5,"ü":0}]}],"h":47,"í":66,"j":47,"k":[{"a":14}],"l":[{"a":52,"á":[{"g":52}],"d":52,"e":[{"d":19,"m":[{".":11,"b":11,"e":11,"k":11,"m":11,"t":11}]}],"g":52,"h":52,"m":5,"n":52,"ő":[{"k":11,"t":11}],"r":52,"s":52,"t":[{"é":5}],"v":52}],"m":[{"b":52,"e":[{"l":51}],"é":19,"l":52},47],"n":[{"e":52},47],"p":[{"e":[{".":11}]},47],"r":[{"d":0,"e":51,"k":52,"n":52}],"s":[{"e":[{"m":5}],"i":[{"k":11},0]},47],"t":[{"e":[{"t":11}],"t":[{"e":[{"s":[{"t":30}]}]}]}],"ü":10,"v":[{"o":[{"l":11}],"ő":[{"i":11}]},47],"x":[{"p":52},47]}],"é":[{"c":47,"g":[{"ő":5},47],"k":[{"a":[{"l":11,"n":14,"t":11}],"e":[{"m":14,"r":11,"s":11}],"o":[{"r":11}]}],"l":[{".":0,"e":[{"n":19,"t":51}],"é":52,"l":52,"ő":19,"ü":52}],"n":[{"e":[{"k":[{"e":0}]}]},47],"r":[{"d":52,"s":5,"t":[{"e":52,"é":52,"ő":52}],"z":52}],"t":[{"e":[{"k":11,"l":51}],"l":5},47],"v":[{"i":52}]}],"f":[{"á":[{"s":53}]}],"g":[{"á":[{"s":[{"a":[{"t":53}]}]}],"o":[{"r":53}],"r":5}],"i":[{"c":47,"d":[{"e":5,"é":0,"o":19}],"f":[{"j":5}],"g":[{"é":52}],"k":47,"l":[{"l":5}],"m":[{"á":51},47],"n":[{"a":[{"s":0}],"i":[{"n":11}]}],"ó":[{"r":[{"a":10}]}],"p":[{"a":19}],"r":[{"á":52,"o":52}],"s":[{"i":51,"m":0,"p":[{"o":8}],"t":[{"e":5}]}],"t":[{"e":47}],"z":[{"m":[{"a":5}]}]}],"í":[{"j":5,"v":51}],"j":[{"a":[{"i":[{"k":[{"é":10}]}],"k":[{"a":53,"b":53,"é":53,"k":53,"o":53}],"s":53}],"á":[{"i":53,"r":[{"n":[{"a":9}],"o":13}]}],"b":53,"c":53,"d":53,"e":[{"r":53}],"f":53,"g":53,"h":53,"i":[{"a":53}],"í":6,"j":53,"k":53,"l":53,"m":53,"n":53,"r":53,"s":53,"t":53,"ú":53,"ü":70,"v":53,"z":53}],"k":[{"a":[{"p":[{"ó":13}]}],"e":[{"l":[{"e":26}]}],"í":[{"m":53}],"o":[{"h":53,"t":[{"á":53,"m":53,"ó":53}]}],"r":[{"e":5,"o":5}],"u":[{".":53,"d":53,"n":53}]}],"l":[{"a":[{"j":12,"k":[{"t":12,"v":12}],"l":[{"a":12,"k":6},10],"u":6}],"á":[{"l":[{"l":9}],"z":[{"s":9}]}],"e":[{"d":6,"g":[{"y":9}],"m":[{"b":9}],"r":[{"g":53}],"s":[{"e":9,"t":9}],"v":[{"ő":8}]}],"é":[{"j":[{"é":8}]}],"i":[{"d":12,"m":6,"n":[{"t":9}],"p":6,"s":[{"k":12}]}],"í":6,"ó":[{"r":[{"i":9}]}],"ö":[{"s":6}],"ő":13,"ü":6,"ű":53}],"m":[{"á":[{"d":53}]}],"o":[{"b":[{"e":5},47],"g":[{"o":[{"s":[{"s":22}]}],"ó":2}],"k":[{"t":[{"a":52}]}],"l":[{"d":[{".":6}]}],"m":[{"a":[{"d":11,"k":11,"l":14,"n":14,"p":11,"r":11,"s":11},32],"á":[{"c":11,"r":11,"t":14}],"e":[{"r":11}],"i":[{"n":11,"s":11,"t":11}],"p":15,"ú":14}],"n":[{"á":14,"d":15,"n":27}],"p":[{"c":5,"e":52},47],"r":[{"a":19,"c":5,"n":5,"o":19,"r":52}],"s":[{"s":27,"t":[{"á":52}],"z":[{"l":52}]}],"v":47}],"ó":[{"c":[{"s":[{"e":4}]}],"g":[{"u":[{"s":[{"e":[{"s":71}]}]}]}],"i":[{"g":[{"a":[{"z":28}]}],"k":[{"o":10}]}],"l":[{"o":19}],"n":[{"n":5}],"ó":10,"r":[{"á":[{"j":11,"k":11}]}],"z":[{"a":[{"n":11}],"i":[{"s":11}]}]}],"ö":[{"b":52,"l":51,"n":52,"r":52,"s":52,"z":51}],"p":[{"e":[{"l":[{"e":9},10]}],"i":[{"z":6}]}],"s":[{"h":5,"k":5,"l":5,"m":5,"p":5,"z":[{"t":5},10]}],"t":[{"a":[{"d":[{"a":6}],"l":[{"a":[{"p":12}]}],"n":[{"y":[{"a":9}]}]}],"e":[{"l":[{"v":9}],"m":[{"b":9}],"p":13,"v":13}],"é":[{"k":13,"n":[{"e":9},10],"r":[{"n":[{"e":9}],"ő":13,"r":12,"t":[{"ő":9}]}]}],"i":[{"m":13,"n":[{"a":9},10],"p":[{"a":9},10],"r":12}],"o":[{"l":[{"d":12}],"n":[{"k":53}],"s":[{"z":12}]}],"ó":[{"c":6}],"ö":[{"n":6}],"r":[{"a":[{"k":5,"n":5,"v":5}]}],"u":[{"r":6}],"ú":[{"t":12}],"ü":[{"r":6}],"v":[{"é":53}],"y":5}],"u":[{"p":9,"s":[{"s":50,"t":[{"r":9}]}]}],"ú":[{"j":52,"r":[{".":5,"b":5,"h":5,"i":5,"k":5,"n":5,"r":5}],"t":[{"é":52,"h":52,"j":52,"n":52,"t":52}]}],"ü":[{"g":5,"l":5,"n":5,"r":5,"s":5,"t":5,"v":5,"z":52}],"ű":[{"r":5,"z":5}],"v":[{"e":[{"o":53}],"ó":53}],"y":[{"a":[{"p":56,"r":0}],"á":[{"l":0}],"e":61,"é":[{"v":0}],"i":[{"d":56,"m":0,"s":0}],"ö":0,"u":[{"g":0}],"ü":61}]}],"m":[{"a":[{"b":[{"b":5,"l":5}],"d":[{"a":[{"t":51}],"á":[{"s":19}],"m":52,"ó":51,"u":51},47],"g":[{"á":[{"t":11}]},47],"j":[{"t":5},47],"k":[{"a":[{"r":11}],"t":52,"v":52}],"l":[{"a":[{"k":51,"p":19}],"e":72}],"n":[{"y":[{"a":11}]}],"ó":10,"p":47,"s":[{"z":[{"a":[{"k":18}],"e":[{"g":11,"m":44}],"é":[{"l":11}],"ö":11}]},47],"t":[{"a":[{"d":11,"n":32}],"á":[{"r":[{"á":11}]}],"e":[{"l":11}],"o":[{"l":[{"d":11}],"s":[{"z":14}]}],"ó":2}],"u":51,"z":[{"o":0}]}],"á":[{"l":[{"m":52}],"r":[{"a":[{"i":51,"k":51}],"á":11}],"t":[{"a":[{"d":[{"ó":[{".":15}]}]}],"k":52,"l":52,"t":52}]}],"b":[{"a":[{"g":12,"l":6,"t":12}],"á":[{"s":[{"z":[{"á":12}]}]}],"e":[{"g":13,"l":[{"e":13}],"p":6,"t":[{"e":13}]}],"é":[{"r":[{".":12}]}],"u":[{"l":[{"a":53}]}]}],"d":[{"r":5}],"e":[{".":0,"c":[{"e":19}],"g":47,"l":[{"á":5,"e":[{"m":19}],"i":72,"j":5,"k":5,"n":52,"o":52,"ő":51,"s":52,"t":52,"v":52}],"m":[{"e":51}],"n":[{"g":52,"n":47,"s":[{"s":7}],"t":[{"á":[{"r":[{"o":17}]}]}]}],"r":[{"d":52,"ő":51}],"s":[{"k":0,"t":47}],"v":51,"x":52,"z":[{"r":5}]}],"é":[{"h":[{"e":[{"s":11}]}],"k":[{"é":5},11],"l":[{"e":[{"t":11}]}],"p":52,"r":[{"d":52,"t":[{"e":[{"k":52,"l":0}]}]}],"t":[{"k":52}],"v":[{"é":52}]}],"f":[{"o":[{"r":[{"á":53}]}],"r":5}],"g":[{"r":5}],"i":[{"d":[{"i":15}],"g":[{"a":52,"á":52,"é":52},11],"m":[{"á":0,"i":5,"p":5}],"n":[{"a":[{".":11,"n":11}],"i":[{"n":11}],"t":[{"é":52}]}],"ó":10,"r":[{"á":52,"o":52}],"s":[{"e":[{"l":11,"p":11},32],"z":11}],"t":[{"b":[{"o":53}],"h":[{"a":50}],"m":50,"ö":50,"r":[{"o":53,"ú":53}],"s":50,"t":[{"á":50,"ö":50}]}]}],"í":[{"g":0}],"k":[{"l":5,"r":5}],"m":[{"e":[{"g":[{"y":12},10],"t":[{"a":6}]}],"é":[{"t":13}]}],"o":[{"d":47,"k":[{"e":52,"m":52,"o":[{"z":51}]}],"l":[{"a":5,"d":52,"t":[{"á":52}]}],"p":52,"r":[{"s":52,"t":50,"v":52}],"s":[{"s":27},47],"t":47,"z":47}],"ó":[{"r":[{"i":19}]}],"ö":[{"r":19,"s":5,"t":5,"z":19}],"ő":[{"r":19,"s":5}],"p":[{"l":[{"a":5}],"r":19,"u":[{"t":53}]}],"s":[{"k":5,"p":5,"r":5,"t":5}],"t":[{"r":19}],"u":[{"n":[{"i":0},47],"r":[{"i":[{"z":11}]}],"s":[{"l":9}],"t":[{"a":[{"s":51}]}]}],"ú":[{"j":52}],"ü":[{"g":5,"l":19,"t":5,"z":5}]}],"n":[{"a":[{"d":[{"a":[{"t":51}],"u":52},47],"g":[{"a":52,"á":52,"y":[{"a":19}]}],"h":52,"i":47,"k":[{"r":50}],"l":[{"a":[{"p":11}],"í":53,"k":5,"m":5,"ó":50}],"m":[{"o":19}],"n":[{"a":52,"á":50,"n":5,"y":19}],"p":[{"a":[{".":5},73],"á":52,"ó":51,"p":[{"o":5}]},47],"r":[{"a":[{"b":19}],"á":19,"c":0}],"s":[{"z":[{"e":18,"é":[{"n":11}],"i":[{"n":11}],"í":18,"ó":11,"ü":11}]}],"t":[{"e":14,"ö":11}],"v":[{"a":51},47],"z":52}],"á":[{"g":52,"l":[{"m":[{"i":52}],"o":[{"m":51}]}],"p":51,"s":[{"a":[{"t":0}]}],"t":[{"a":52,"k":52,"r":52},47]}],"b":[{"r":5}],"c":[{"a":[{"u":27}],"á":[{"l":12}],"e":[{".":6},10],"é":[{"r":[{".":12}]}],"h":[{"i":[{"t":21}],"o":6}],"i":[{"a":[{"l":10}]}],"ó":13,"s":[{"a":[{"j":6,"r":6}],"e":[{"l":[{"l":3}],"m":[{"b":3}],"n":24,"p":15,"t":3}],"é":[{"r":[{"é":6}]}],"i":[{"l":[{"l":24}],"z":6}],"í":[{"z":23}],"o":[{"r":24}],"ö":6,"ő":32,"t":3,"u":[{"t":6}],"ü":24}]}],"d":[{"a":[{"l":[{"k":12}],"s":3,"t":[{"l":9}]}],"e":[{"l":[{"e":8,"k":9,"ő":12,"s":9}],"r":[{"d":6}],"s":12,"z":53}],"é":[{"l":6}],"i":[{"l":6}],"ö":12,"ő":13,"ú":[{"s":6}],"ü":[{"n":6}],"ű":6,"y":5,"z":[{"á":6}]}],"e":[{"b":52,"d":[{"d":5}],"g":[{"é":19}],"k":[{"d":50}],"l":[{"a":11,"á":14,"e":[{"l":2,"m":[{"b":14}]}],"é":[{"l":11}],"ő":11}],"m":[{"u":5},47],"r":[{"e":19,"n":5,"r":5}],"u":47,"v":47,"x":52,"z":[{".":5,"e":52,"é":5,"t":5,"z":5},11]}],"é":[{"k":[{"é":51}],"l":[{"e":52}],"p":[{"í":5}],"r":[{"i":52,"v":52}],"t":[{"k":52,"t":52}],"v":[{"c":52,"e":[{"m":5,"s":5,"t":5}],"é":[{"b":11,"n":11,"t":11,"v":11}],"h":[{"a":5}],"i":[{"g":11}],"k":[{"e":5,"ö":5}],"ü":52,"z":0}]}],"f":[{"é":[{"l":[{"é":[{"v":17}]}]}],"l":5,"r":19}],"g":[{"a":[{"d":[{"a":12,"o":12},10],"l":[{"a":12}],"r":[{"a":13}],"s":[{"s":12}],"z":[{"o":9}]}],"á":[{"c":12,"l":[{"l":12}],"r":[{"a":[{"d":16}]}],"t":[{"a":9,"j":12,"t":12}]}],"e":[{"d":12,"g":12,"l":[{"f":12,"h":12,"j":12,"l":12,"n":12,"ő":12,"t":12,"v":12}],"m":[{"b":9},6],"n":[{"g":9}],"r":13,"s":[{"e":9}]}],"é":[{"l":[{"e":9,"v":9}],"n":[{"e":13}],"r":[{".":12,"ő":9}],"s":12}],"i":[{"m":6,"z":6}],"í":6,"o":[{"s":[{"z":12}]}],"ó":[{"r":[{"i":12}]}],"ö":[{"l":12,"s":12}],"ő":13,"s":[{"z":9}],"ü":6,"ű":6,"y":[{"e":[{"l":3},32],"é":[{"k":6}]}]}],"i":[{"d":[{"e":5}],"g":[{"a":52,"é":52},11],"k":[{"o":51}],"n":[{"d":5,"f":52}],"o":[{"n":19}],"p":[{"a":51},47],"r":[{"á":19,"o":52}],"s":[{"i":52,"k":52,"m":52}],"t":[{"a":0,"t":5}]}],"í":[{"g":52,"j":52,"v":47,"z":52}],"k":[{"a":[{"b":[{"l":9}],"j":6,"k":13,"l":[{"e":9}],"n":13,"r":[{"c":9,"i":9}],"t":[{"l":12}],"u":12,"z":6}],"á":[{"l":12}],"e":[{"g":13,"k":12,"l":13,"m":13,"r":[{"e":[{"i":[{"t":13}]}],"j":12}],"s":12}],"é":[{"r":[{"d":[{"e":9}],"e":[{"m":9}],"t":[{"e":6,"é":12}]}]}],"i":[{"d":13,"p":13}],"l":[{"u":5}],"o":[{"l":[{"d":12}],"s":[{"z":[{"t":9}]}]}],"ö":[{"r":[{"ö":[{"m":[{"b":13}]}]}],"s":6,"v":13}],"ő":[{"r":6}],"t":8,"ü":12}],"n":[{"e":[{".":6}],"y":[{".":25,"e":25,"o":25}]}],"o":[{"j":52,"k":[{"t":[{"a":52}]}],"l":[{"d":52}],"m":[{"á":50}],"r":[{"o":51,"r":52,"s":52},47],"s":47,"t":[{"t":52}]}],"ó":[{"d":[{"d":0,"o":0}],"g":8,"n":[{"i":52,"o":52}],"r":[{"á":51,"i":5}]}],"ö":[{"l":52,"n":52,"r":52,"s":52,"t":51}],"p":[{"l":5,"r":5}],"s":[{"e":[{"l":13}],"k":[{"a":5}],"ö":6,"p":19,"s":[{"z":[{"e":20}]}],"t":[{"a":5}],"z":[{"a":[{"l":6}],"á":[{"b":[{"ó":23}],"h":23,"r":6}],"e":[{"s":3}],"é":[{"l":6,"n":24,"p":23}],"i":[{"l":6,"n":6}],"ó":6,"t":15,"ü":[{"l":15}]}]}],"t":[{"a":[{"b":[{"l":12}],"g":[{"a":9}]}],"e":[{"g":12,"n":53,"s":[{"e":13,"z":9}]}],"i":[{"l":[{"l":[{"á":[{"t":3}]}]}],"n":[{"g":12}]}],"r":[{"e":19}]}],"u":[{"d":52,"g":52,"j":52,"k":47,"r":51,"s":[{"z":[{"i":11}]}],"t":51}],"ú":[{"g":52}],"ü":[{"g":19,"l":[{"ő":52},11],"z":19}],"ű":[{"r":5,"z":5}],"y":[{"a":[{"d":[{"ó":8}],"g":[{"á":[{"r":[{".":7,"r":7}]}],"b":53,"é":50,"g":7,"h":53,"k":53,"m":53,"r":53,"t":53,"ú":53}],"k":[{"a":[{"d":0,"s":61}]}],"l":[{"k":56,"l":56}],"s":[{"s":56,"z":[{"t":9}]}],"t":[{"o":[{"m":61}]}],"z":0}],"á":[{"d":[{"t":53}],"é":[{"k":53}],"l":[{"o":9}],"r":[{"á":56,"b":56,"f":56,"k":9,"n":56,"o":61,"r":56}],"s":[{"z":8}]}],"d":9,"e":[{"c":61,"d":56,"g":[{"é":9,"y":9},0],"k":61,"l":[{"a":0,"e":[{"m":[{"e":10}],"v":9}],"l":56,"o":56}],"m":56,"n":56,"r":[{"e":[{".":8,"i":8,"t":8}],"é":[{"n":8,"r":8,"t":8,"v":8}],"ő":[{"m":8,"r":8,"t":8}]}]},47],"é":[{"g":56,"h":[{"e":0}],"j":61,"k":56,"l":[{"v":9}],"r":[{".":56,"b":56,"c":56,"d":56,"e":56,"g":56,"h":56,"i":61,"k":56,"m":56,"n":56,"ő":0,"p":56,"r":56,"s":56,"t":[{"e":56,"é":0,"ő":56}],"v":56}],"v":[{"e":0,"é":0}]}],"h":[{"a":[{"j":[{"ó":[{"n":43,"r":64}]}]}]}],"i":[{"g":[{"a":[{"z":28}]}],"n":[{"g":9}],"o":56},47],"í":47,"o":[{"l":[{"d":9}],"r":61},47],"ó":[{"r":[{"á":9}]}],"ö":[{"k":9,"r":8,"z":9}],"ő":61,"s":9,"t":[{"r":9},10],"u":[{"r":0}],"ú":47,"ü":[{"l":9},47]}]}],"o":[{"á":[{"z":6}],"b":[{"e":6}],"c":[{"s":6}],"d":[{"a":6,"ú":6}],"k":[{"a":6,"á":6}],"l":[{"a":[{"j":[{"a":[{"d":[{"a":30},26]}]}]},6]}],"m":[{"o":6}],"p":[{"á":6,"e":6}],"r":[{"a":6,"o":6}],"s":[{"o":6}],"u":[{"t":6}],"v":[{"e":6,"i":6}],"x":[{"i":6}]},48],"ó":[{"á":[{"r":11}],"b":[{"a":[{"r":0}],"á":0,"i":0,"o":0}],"c":[{"e":6}],"d":[{"á":6,"i":0}],"f":[{"á":0,"e":0,"o":0,"ő":0,"ü":0}],"h":[{"é":0,"i":0,"ü":0}],"i":[{"l":0,"s":0,"v":59}],"k":[{"á":0,"e":0,"r":[{"é":5}],"u":0}],"l":[{"a":6,"e":0,"é":0,"i":0,"o":6,"u":6}],"m":[{"a":[{"g":0,"r":0,"s":0}],"e":0,"i":0,"o":0}],"n":[{"é":0,"ö":0,"ő":0}],"r":[{"á":6,"é":0,"i":6}],"s":[{"í":0,"ű":0}],"t":[{"a":0,"e":0,"é":0}],"v":[{"o":6,"ó":6}]},48],"ö":[{"b":[{"ö":6}],"c":[{"s":6}],"d":[{"é":6}],"k":[{"o":6,"ö":6}],"l":[{"e":6,"é":6,"ő":6}],"n":[{"á":6}],"r":[{"ö":6}],"v":[{"e":6,"i":6,"ö":6}],"z":[{"ö":6}]},48],"ő":[{"r":[{"e":6,"é":6,"i":6,"ö":6,"ü":6}],"s":[{"e":6,"ö":6,"z":6}]},48],"p":[{"a":[{"c":[{"s":[{"a":[{"v":18}],"i":44}]}],"d":[{"a":51}],"g":[{"a":52}],"j":[{"á":52}],"k":[{"c":52}],"l":[{"a":[{"g":11,"k":11}],"b":52,"j":52,"t":52},47],"m":[{"a":[{"s":11}]}],"n":[{"t":52}],"p":[{"á":[{"n":11}]},47],"r":[{"á":[{"n":19}]}],"s":[{"á":53,"p":52}],"t":[{"a":[{"d":11,"l":[{"a":14}],"n":32,"s":14}],"á":[{"l":11}],"ö":14}],"u":[{"t":5}],"v":[{"a":0},47],"z":[{"o":19}]}],"á":[{"j":[{"ú":0}],"l":[{"l":[{"a":[{"p":5}],"á":52,"o":52}]}],"n":[{"n":3}],"r":[{"a":[{"d":51,"i":19,"k":51,"m":19,"s":19,"t":19}],"á":[{"é":11,"h":11,"n":11,"r":11,"v":11}],"b":[{"a":26}],"e":52,"é":51,"f":52,"k":[{"a":5,"o":5}],"n":[{"y":52}],"t":[{"ó":5}],"u":52,"ú":51}],"s":[{"k":[{"á":26}]}],"t":[{"ú":[{"r":11}]}],"u":50}],"b":[{"l":5}],"d":[{"r":5}],"e":[{".":0,"d":[{"é":19}],"g":51,"l":[{"a":74,"b":5,"é":19,"f":52,"g":5,"h":52,"j":5,"k":5,"l":0,"m":5,"n":5,"o":5,"ő":19,"r":5,"t":52,"v":52}],"m":[{"b":5,"e":5},11],"n":[{"e":5,"i":5,"y":19}],"r":[{"ő":19}],"s":[{"e":5,"é":5,"ő":5},11],"v":51,"x":52}],"é":[{"h":[{"e":51}],"j":[{"e":52}],"l":[{"e":51,"l":52,"m":5}],"n":[{"e":51}],"p":[{"ü":5}],"r":[{".":52}],"s":[{"z":[{"l":5}]}],"t":[{"e":52}],"v":[{"e":52}]}],"f":[{"l":5,"r":19}],"g":[{"r":5}],"i":[{"d":[{"e":52,"é":0}],"g":[{"a":[{"z":22}]}],"k":[{"o":19,"r":5}],"n":[{"á":[{"r":51}],"d":5,"j":5,"s":52}],"r":[{"a":[{"t":19}],"á":51,"k":52}],"s":[{"m":52}]}],"í":[{"g":52,"n":52,"t":[{"é":0}],"v":5,"z":52}],"k":[{"l":5,"r":5,"v":5}],"l":[{"a":[{"z":6}],"é":[{"d":6}]}],"m":[{"e":[{"g":7}],"ű":[{"t":32},3]}],"o":[{"b":52,"l":[{"a":[{"j":19}],"t":[{"á":[{"r":5}]}]}],"p":[{"c":5,"e":5,"t":5}],"r":[{"a":[{"d":11}],"c":[{"á":5}],"s":[{"ó":5}],"t":[{"ő":17}]}],"t":[{"á":[{"l":14}]}],"v":52}],"ó":[{"k":[{"á":50}],"l":[{"o":5}],"r":[{"i":5}]}],"ö":[{"b":52,"l":5,"n":5,"r":[{"v":5}],"s":52,"v":5,"z":51}],"ő":[{"r":19}],"p":[{"a":[{"r":[{"á":53}]}],"á":[{"r":[{"n":12}]}],"h":5,"i":[{"n":[{"g":9}]}],"l":[{"a":5}],"r":[{"i":5,"ó":5}],"s":19,"y":5}],"r":[{"e":[{"s":6}],"é":[{"d":6,"m":54,"s":[{".":6}]}],"í":[{"m":54}],"o":[{"c":6,"d":54},47],"ó":[{"d":53,"z":[{"ó":53}]}]}],"s":[{"i":[{"k":[{"o":[{"n":13}]}]}],"í":[{"z":6}],"o":[{"r":[{"k":9}]}],"z":[{"e":[{"r":[{"t":3}]}],"f":5,"t":10}]}],"t":[{"á":[{"r":[{"a":[{"d":[{"a":30},26]}]}]}],"r":19}],"u":[{"á":10,"d":[{"v":52}],"p":8,"s":[{"s":27}],"t":[{"a":[{"s":51}],"á":[{"n":52}],"c":0}]}],"ú":[{"j":52}],"ü":[{"d":52,"g":52,"l":51,"n":52,"t":52,"v":52,"z":52}],"ű":[{"r":5}],"w":[{"h":5}]}],"r":[{"a":[{"b":[{"á":[{"r":14}],"í":2,"l":[{"a":5}]}],"d":[{"a":[{"t":[{"a":19,"o":19,"r":19}]}]},47],"g":[{"e":14},47],"j":[{"k":[{"á":[{"r":[{"ó":5}]}]}]},47],"k":[{"o":[{"l":51}],"ó":[{"h":11,"i":11,"s":11,"t":11}],"t":[{".":52}]},47],"l":[{"k":5,"m":52}],"n":[{"a":52,"n":50,"y":[{"a":[{"g":[{"á":16}],"l":11}],"b":53,"h":53,"í":11,"k":53,"n":53,"r":53,"s":53}]}],"p":[{"a":[{".":11}]}],"r":[{"c":5}],"s":[{"z":[{".":53,"t":[{"e":43}],"ú":5}]}],"t":[{"a":[{"l":11}],"e":[{"l":11}],"i":[{"n":11}],"ő":2,"ű":[{"r":11},32]}],"u":[{"l":5}],"v":[{"a":[{"s":[{"z":28}]}]}],"w":50,"z":[{"o":[{"n":11}]}]}],"á":[{"c":[{".":52,"s":[{"i":51,"o":[{"m":0}]}]},47],"g":[{".":52,"a":[{".":51,"i":51,"k":51,"n":0,"t":51}],"á":[{"b":11,"h":11,"n":11,"r":11,"t":11,"v":11}],"b":52,"e":52,"é":51,"f":52,"g":52,"h":52,"i":51,"k":52,"l":52,"o":[{"n":11}],"r":52,"s":52,"t":52,"u":[{"k":51,"n":51}],"ú":51,"y":51}],"l":[{"c":5,"l":[{"á":52,"o":52}]}],"m":[{"e":2},47],"n":[{"y":[{"e":11}]}],"r":[{"a":[{"k":51}],"á":51,"k":52,"r":52,"u":19,"ú":5,"v":5}],"s":[{"z":[{"e":11,"o":[{"k":[{"i":51}]}]}]}],"t":[{"a":[{"l":11}],"ö":14}],"z":[{"s":[{"á":[{"l":11}],"i":26,"z":38},46]}]}],"c":[{"a":[{"d":13,"g":[{"y":9}],"l":[{"a":9}],"n":[{"y":9},10],"r":6,"t":6}],"e":[{"g":6,"s":12,"v":6}],"é":[{"h":13,"l":[{".":9,"b":9,"l":9,"t":9}],"n":13,"s":6}],"h":[{"í":53}],"i":[{"n":[{"g":9,"t":12}],"z":6}],"o":[{"l":[{"á":[{"s":[{"s":28}]}]}]}],"ó":6,"ő":6,"s":[{"a":[{"l":[{"a":3}]}],"á":[{"l":6}],"e":[{"r":[{"e":20}]}],"i":[{"p":6}],"o":[{"r":21}]}],"ü":6,"ű":6}],"d":[{"a":[{"c":[{"é":9}],"l":[{"j":12}]}],"á":[{"l":[{"l":12}]}],"e":[{"l":[{"e":9,"ő":9,"t":9},10],"m":13}],"é":[{"l":13}],"i":[{"n":[{"a":12,"g":12}]}],"o":[{"r":6}],"ö":6,"u":[{"r":12}],"ü":6}],"e":[{"d":[{"z":51}],"g":[{"é":[{"s":5}],"y":51}],"i":[{"l":32},11],"l":[{"e":51,"h":5,"m":5,"n":5,"r":5,"t":5,"ü":5,"ű":5,"v":5}],"m":[{"b":52,"e":[{"l":5}],"é":[{"s":19}],"u":0}],"r":51,"s":[{"e":19,"ő":19,"z":[{"e":[{"k":52}],"é":52,"ü":52}]}],"t":[{"ű":5}],"v":[{"e":19,"é":19}],"w":0}],"é":[{"é":10,"g":[{".":5,"e":19}],"k":[{"a":[{"l":2}],"e":[{"k":11}]}],"l":[{".":5,"t":5}],"m":47,"n":[{"e":[{"k":11}]}],"p":[{"ü":52},9],"r":[{"i":51,"ő":52}],"s":[{"z":[{"j":5,"t":[{"á":75}]}]}],"t":[{"r":[{"a":9}]}]}],"f":[{"r":19}],"g":[{"h":[{"a":5}]}],"i":[{".":47,"a":47,"d":[{"e":19,"é":0}],"g":[{"a":51}],"m":[{"á":[{"d":0}],"i":19}],"n":[{"a":[{".":51,"k":[{"é":51}],"s":51,"t":51}],"á":[{"b":51,"h":51,"n":51,"r":51,"t":51,"v":51}],"g":[{"é":52}],"i":[{"t":11}],"k":32,"t":[{"é":52}],"ü":11}],"o":[{"n":[{"o":19}]}],"ó":[{"n":51}],"p":47,"s":[{"p":52,"t":[{"e":52}],"z":[{"f":9}]}],"z":[{"o":[{"m":11}]},47]}],"í":[{"t":[{"é":19}]}],"j":[{"á":[{"z":12}],"e":[{"r":12}]}],"k":[{"a":[{"s":[{"s":38}]}],"á":[{"p":10,"s":10}],"e":[{"g":12,"l":[{"á":9}]}],"é":[{"j":6,"p":[{"ü":6}],"r":[{"d":12}]}],"i":[{"n":[{".":12}],"o":[{"n":[{"t":13}]}],"z":6}],"o":[{"r":[{"m":12}],"v":[{"i":12}]}],"u":[{"d":6,"s":13}]}],"l":[{"e":[{"s":6}]}],"m":[{"a":[{"g":[{"y":13}],"t":[{"e":10}]}],"á":[{"l":[{"l":9}]}],"e":[{".":6,"o":6,"s":10}],"i":[{"n":[{"g":9}],"s":12}],"o":[{"s":[{"z":12}]}],"ö":12,"ü":6}],"n":[{"i":[{"s":[{"s":38}]}]}],"o":[{"k":[{"a":[{"n":11},32],"á":2,"e":14,"i":[{"n":11}]}],"l":[{"d":[{"a":52}]}],"m":[{"á":[{"t":50}],"i":[{"s":11}]}],"p":[{"t":52}],"r":[{"g":5,"o":19,"s":5}],"v":[{"i":52}]}],"ó":[{"p":9,"r":[{"a":[{"k":51}],"á":[{"j":51,"m":51}]}],"s":[{"z":[{"á":[{"r":4}]}]}],"v":[{"á":[{"r":11}]}],"z":[{"d":5}]}],"ö":[{"b":51,"k":52,"l":51,"n":[{"g":5}],"r":52,"s":52,"z":51}],"ő":[{"r":5,"s":5}],"p":[{"l":5,"r":5}],"r":[{"y":5}],"s":[{"k":[{"a":5}],"r":[{"á":5}],"t":[{"a":5,"o":5,"r":5}]}],"t":[{".":47,"a":[{"b":[{"l":9}],"l":[{"a":[{"p":13}]}],"n":[{"á":[{"s":17}]}],"s":[{"z":[{"t":9}]}],"u":13}],"á":[{"l":[{"l":[{"a":12}]}]}],"e":[{"g":13,"l":[{"ő":8}],"m":[{"b":9}],"r":[{"e":[{"i":8}]}]}],"é":[{"g":6,"l":13,"r":[{"p":12}]}],"i":[{"n":[{"a":[{".":13}],"á":[{"t":13,"v":13}]}]}],"o":[{"r":[{"z":9}]}],"ö":[{"v":13}],"u":[{"t":12}],"v":[{"i":[{"s":[{"s":22}]}]}],"y":42}],"u":[{"m":[{"l":52}],"n":[{"i":0}],"t":[{"a":[{"s":11}]}]}],"ú":[{"j":52,"s":[{"z":52}],"t":[{"j":5,"r":5}]}],"ü":[{"t":52,"z":5}],"ű":[{"z":19}],"v":[{"a":[{"l":[{"a":6}],"s":[{"s":7}]}],"á":[{"g":[{"y":9}],"r":[{"h":12,"i":13}]}]}]}],"s":[{"a":[{"b":[{"l":47,"r":5}],"d":[{"a":[{"g":0}]}],"g":[{"a":5,"g":5,"y":19},10],"j":47,"k":[{"a":[{"r":51}]}],"l":[{"a":[{"b":5,"p":51}],"f":5,"j":[{"á":[{"n":52}],"i":52}],"k":52,"m":5},47],"n":[{"ó":52,"t":52,"y":51}],"p":[{"r":5},47],"r":[{"a":[{"n":5}],"á":51},47],"t":[{"ó":2,"y":19}],"v":[{"o":11},47]}],"á":[{"c":51,"g":[{"i":[{"k":[{"r":14}]}]}],"l":[{"l":5}],"m":47,"r":[{"n":[{"a":[{"k":52}]}],"o":51,"r":52,"t":52,"u":51}],"s":[{"s":3,"v":[{"á":5}]}],"t":[{"h":5,"o":47}],"v":47}],"b":[{"l":5}],"d":[{"r":19}],"e":[{"d":51,"g":[{"e":5,"y":51}],"k":[{"e":5,"é":5},11],"l":[{"l":5}],"m":[{"b":52}],"n":51,"r":[{"d":0,"é":19,"ő":5}],"s":52,"t":[{"i":5},11],"z":52}],"é":[{"h":[{"e":52}],"k":[{"e":52}],"l":51,"m":47,"p":52,"r":[{".":52,"b":5,"c":5,"d":52},47],"s":8,"t":[{"v":5}],"v":[{"e":19}]}],"f":[{"r":5}],"g":[{"l":5,"r":5}],"i":[{"d":[{"e":5,"o":5}],"g":[{"a":19,"á":19}],"n":[{"j":5}],"o":51,"v":47,"z":[{"é":5,"o":19}]}],"í":[{"j":52,"k":47,"n":47,"r":[{"t":[{"a":[{"l":10},26]}]},47],"v":51,"z":[{"ü":5}]}],"k":[{"á":47,"l":5,"o":[{"s":[{"a":[{"r":[{"á":17}]}],"á":30}],"z":6}],"r":19}],"l":[{"u":[{"k":6}]}],"m":[{"á":[{"r":6}]}],"o":[{"d":[{"r":47}],"f":52,"k":[{"k":[{"e":5}],"l":5,"o":[{"s":5}],"s":47,"t":[{"a":5}]}],"m":[{"o":[{"r":3}]}],"n":[{"é":11}],"r":[{"d":52,"m":52},47],"s":[{"z":5}],"x":52}],"ó":[{"p":8,"r":[{"á":19}]}],"ö":[{"k":51,"l":51,"r":[{"d":5,"v":5}],"s":52,"v":[{"e":19}]}],"ő":[{"r":5}],"p":[{"l":19,"o":[{"t":6}],"r":11,"u":54}],"s":[{"p":19,"z":[{"a":[{"b":[{"á":25}]}],"i":[{"n":25}],"í":[{"v":[{"e":[{".":3,"k":3},32],"n":[{"e":3}]}]}],"o":[{"c":53,"n":[{"y":53}]}],"ü":25,"ű":25}]}],"t":[{"a":[{"n":[{"d":48}]},47],"á":[{"d":54},47],"i":[{"l":32,"m":6},47],"í":47,"o":[{"p":6},47],"r":[{"a":[{"g":5,"v":5}],"u":76},47],"ú":47}],"u":[{"d":52,"g":47,"j":52,"l":[{"y":47}],"r":[{"a":5,"n":5},11],"s":[{"z":51}],"t":[{"a":[{"k":19,"s":51}],"á":51,"u":19}]}],"ú":[{"s":51,"t":[{"a":15},51]}],"ü":[{"d":52,"l":[{"ő":51}],"s":[{"t":5}],"z":52}],"ű":[{"z":5}],"z":[{"a":[{"b":47,"d":61,"k":[{"c":56,"e":30,"t":56,"ü":30},47],"l":[{"k":56,"ó":53}],"s":[{"p":9,"s":9}],"t":[{"a":17,"e":30,"h":0,"i":0}],"v":47}],"á":[{"g":[{".":56,"a":8,"á":8,"b":9,"g":9,"i":8,"k":9,"o":8,"r":9,"t":9}],"l":[{"c":0,"m":0}],"m":47,"r":[{"a":[{"d":[{"a":10}],"m":0}],"n":[{"y":[{"é":9}]}],"p":0}],"t":[{"a":0,"h":0,"l":9,"o":61,"s":9}]}],"e":[{"d":47,"g":[{"é":[{"s":[{"z":65}]}]},47],"h":9,"k":47,"l":[{"e":[{"m":8}],"j":9},47],"m":[{"c":47,"e":47,"é":47,"p":47,"u":0,"ü":47,"ű":47}],"n":[{"g":56},47],"p":[{"i":8}],"r":[{".":47,"e":[{"j":56},47],"é":47,"k":47,"n":47,"o":56,"ő":0,"r":47,"s":47,"t":47,"v":47,"z":47}],"s":[{"e":56,"t":9},10],"z":47}],"é":[{"k":[{"e":[{"l":30}]},47],"l":[{"e":[{"t":8}],"é":[{"s":9}]}],"n":[{"é":[{"g":30}],"n":7}],"r":[{"e":61,"é":9}],"t":47}],"f":[{"é":[{"r":11}]}],"i":[{"l":[{"l":56}],"n":[{"f":56,"g":9},47],"r":47,"s":[{"m":56,"t":9}],"v":47,"z":56}],"í":[{"r":56,"v":[{"i":8}]},47],"k":[{"a":[{"r":[{"c":11}]}],"á":[{"p":14}],"e":[{"l":[{"l":11}],"s":11}]}],"o":[{"b":47,"c":47,"f":47,"n":[{"n":7,"o":30}],"r":[{"r":56,"s":9}],"s":[{"z":56}]}],"ó":[{"a":53,"d":[{"á":8}],"t":47}],"ö":[{"k":47,"l":[{"t":9}],"n":56,"r":47,"s":[{"s":9}],"t":0,"v":47}],"ő":[{"l":[{"ő":[{"é":33}]}]},47],"s":[{"u":20}],"t":[{"a":[{"b":11,"p":[{"o":14}]}],"á":[{"c":11,"l":[{"l":11}]}],"e":[{"m":[{"b":14}]}],"é":[{"n":[{"e":11}],"s":14}],"i":[{"n":[{"g":14}]}],"o":[{"l":[{"t":14}],"r":[{"o":14,"r":14,"s":11}],"s":[{"z":14}]}],"ö":[{"v":11}],"ő":[{"s":11}],"ü":[{"l":14}],"v":[{"í":[{"z":28}]}]}],"u":[{"r":47}],"ú":[{"s":53,"t":[{"r":9}]}],"ü":[{"g":[{"g":9},10],"z":61},47],"ű":47,"v":[{"i":[{"t":11}]}],"z":9}]}],"t":[{"a":[{"b":[{"l":[{"a":5}]},47],"c":[{"é":51}],"d":[{"a":[{"t":11}],"ó":19}],"g":[{"y":[{"a":52}]},47],"j":[{"á":[{"n":0}]}],"k":[{"a":[{"r":[{"a":52}]}],"á":[{"r":11}],"e":[{"l":11}],"é":[{"p":[{"e":[{"s":2}]}]}],"ö":[{"v":2}],"t":[{"u":52}]},47],"l":[{"a":[{"g":19,"p":[{".":11,"b":11,"j":11,"o":11,"p":11,"r":11,"ú":11}],"t":11}],"e":[{"g":52}],"i":[{"k":11}],"l":[{"e":52}],"m":[{"á":[{"s":52}]}]}],"n":[{"a":[{"l":52}],"ó":11,"y":[{"a":[{"g":19}],"á":[{"s":19}]}]},47],"p":[{"p":5,"u":[{"k":11,"n":11}]},47],"r":[{"a":[{"b":51,"n":11}],"é":[{"n":51}]},47],"s":[{"t":9}],"u":[{"r":10,"t":51}],"z":[{"o":52}]}],"á":[{"b":[{"r":5},47],"g":[{".":5,"a":51,"r":5},47],"j":47,"l":[{"l":[{"á":52,"ó":52}],"m":52},47],"m":47,"n":[{"a":[{"l":11}]}],"p":[{"o":[{"l":51}]}],"r":[{"a":[{"d":[{"a":11,"o":11}],"m":[{"h":11,"k":0,"n":11}],"z":14}],"é":[{"t":11}],"i":[{"s":11}],"k":[{"á":[{"r":5}]}],"s":[{"á":[{"g":[{"á":30},26]}]}],"t":[{"á":[{"s":5}]}]},47],"s":[{"á":[{"g":2}],"z":11},47],"t":[{"a":[{"l":11}],"á":[{"r":11},32],"b":52,"f":52,"h":52,"i":52,"j":52,"k":52,"l":52,"r":52,"s":52,"t":52,"u":52,"v":52}],"v":47}],"b":[{"l":5,"r":5}],"c":[{"l":5}],"d":[{"r":5}],"e":[{"g":[{"é":19}],"j":[{"e":[{"l":11}]}],"k":[{"é":[{"r":[{"e":11},32]}],"ó":11}],"l":[{"a":72,"b":52,"c":5,"d":52,"e":[{"d":19,"g":5,"m":19,"n":74}],"f":52,"h":52,"j":[{"á":5}],"k":[{"ö":5,"ü":5}],"m":52,"n":5,"o":51,"ő":[{"n":19,"t":11}],"r":52,"s":52,"t":[{"a":5,"á":5,"é":5,"ü":5}],"u":52,"ű":52,"v":52,"z":52}],"m":[{"b":52,"e":[{"l":19}],"é":52,"l":52,"ó":52}],"n":[{"c":52,"e":52}],"p":[{"i":5,"o":5}],"r":[{"d":52,"e":[{"c":19}],"é":[{"k":14}],"ő":52}],"s":[{"e":51,"é":52,"k":0,"t":[{"á":30,"ő":10}],"z":[{"m":5,"ű":5}]}],"t":[{"o":[{"l":11}]}],"z":51}],"é":[{"g":[{"e":[{"t":11}]},47],"h":[{"e":52}],"k":[{"a":[{"l":2}],"e":[{".":52,"l":3},73]}],"l":[{"e":51,"é":51,"m":52,"v":52},47],"m":47,"n":[{"e":11}],"p":[{"s":52}],"r":[{"á":11,"d":[{"e":[{"k":52}]}],"i":[{"n":52}],"l":52,"m":52,"t":[{"e":[{"l":52}]}],"v":[{"e":[{"k":5}]}],"z":52},47],"s":[{"z":[{"a":5,"l":5}]}],"t":[{"é":[{"t":11}],"v":52},47]}],"f":[{"j":5,"l":5,"r":5}],"g":[{"l":5,"r":5}],"h":[{"u":[{"s":54}]}],"i":[{".":47,"a":[{"t":52}],"d":[{"e":51,"o":52}],"g":[{"e":52,"é":52,"y":52},11],"l":[{"l":[{"e":5},0]}],"m":[{"á":[{"d":[{"á":21}]},19],"i":19,"p":52}],"n":[{"g":[{".":52,"a":52,"b":52,"e":52}],"ó":[{"r":14},32],"t":[{"é":5,"o":5}]},47],"p":[{"a":51},47],"r":[{"á":52,"o":52},47],"s":[{"k":52,"m":52,"z":[{"o":52},11]},47],"t":[{"a":51},47],"z":[{"é":52,"g":52,"m":[{"o":0}],"o":51}]}],"í":[{"g":52,"j":52,"p":47,"r":47,"t":51,"v":[{"e":[{"k":19,"l":15,"t":19}],"é":[{"t":11}]}],"z":52}],"k":[{"i":47,"l":77,"o":47,"ö":47,"u":47,"v":5}],"o":[{"j":[{"t":5}],"k":[{"a":[{"l":72},32],"o":[{"s":[{"s":11}],"z":51}],"t":[{"a":52}],"u":51}],"l":[{"d":[{"á":5,"ó":52}]}],"m":[{"á":14,"b":[{"e":53}],"e":[{"r":11}],"j":50,"l":0,"o":[{"k":50,"s":50}],"s":50,"ú":53}],"p":[{"c":5,"e":5,"t":52}],"r":[{"á":[{"l":11}],"d":52,"g":52,"ú":11,"v":52,"z":[{"á":52}]},47],"s":[{"s":27,"z":[{"f":75,"l":52}]}]}],"ó":[{"p":8,"r":[{"á":[{"k":51,"n":11}],"i":[{"á":11}]}],"s":[{"t":[{"á":9}],"z":[{"á":[{"r":4}],"e":[{"n":[{"é":4}]}]},9]}],"t":[{"r":9}]}],"ö":[{"k":[{"o":5}],"l":[{"e":52,"é":52,"ő":52},11],"n":[{"á":5,"k":[{"a":30}]}],"r":[{"ö":[{"m":19}]}],"s":52,"t":52,"v":[{"i":[{".":11}]}],"z":51}],"ő":[{"r":[{"a":11,"l":5}],"s":51}],"p":[{"e":[{"n":7}],"l":5,"r":5,"s":5}],"r":[{"a":[{"c":[{"c":7}],"d":54,"j":47,"k":47,"m":[{"b":6}],"p":48,"u":48,"v":54}],"é":[{"f":54,"n":6,"s":[{"z":[{"e":[{"l":10}]}]}]},47],"i":[{"l":54}],"o":[{"j":6}],"ó":[{"g":54,"n":47}],"ü":54}],"s":[{"á":[{"n":6}],"h":5,"k":5,"l":5,"p":5,"t":5,"v":19,"z":[{"á":[{"m":[{"é":43}],"r":[{"a":[{"z":65}]}]}]}]}],"t":[{"a":[{"d":[{"ó":9}],"k":[{"o":[{"k":53}]}],"s":[{"é":53}]}],"e":[{"g":13,"z":6}],"i":[{"n":[{"g":9}]}],"ó":[{"r":12},10],"r":[{"e":19}]}],"u":[{"d":[{"v":52},47],"g":52,"l":47,"n":[{"d":52,"i":0}],"r":47,"t":[{"á":5,"ó":5}]}],"ú":[{"j":52,"l":47,"s":[{"z":19}]}],"ü":[{"g":52,"k":47,"l":[{"é":19,"t":5}],"n":47,"s":[{"t":5}],"v":51,"z":[{"e":[{"m":5}]},47]}],"ű":[{"r":[{"i":[{".":5}],"l":5}],"z":47}]}],"u":[{"b":[{"i":[{"n":12}],"o":[{"r":6}]}],"d":[{"á":0,"e":6}],"g":[{"a":6,"h":59,"o":6}],"k":[{"c":50}],"l":[{"l":11,"t":[{"a":14,"i":11}]}],"m":[{"a":[{"e":0,"f":0,"k":0,"m":0,"r":0,"v":0}],"á":[{"b":0,"d":0,"é":0,"h":0,"i":0,"m":0,"n":0,"r":0,"v":0}]}],"p":[{"h":5}],"r":[{"a":[{"d":6}],"i":[{"k":[{"r":12}]}],"ö":6}],"s":[{"z":[{"e":24}]}],"t":[{".":0,"a":[{"d":6,"l":6,"m":6,"s":6,"t":6}],"á":[{"l":6},47],"i":0,"o":[{"n":50}],"ó":[{"b":53,"é":53,"h":53,"i":53,"m":53,"n":53,"r":53,"s":53,"t":53,"v":53},0],"r":0,"t":0,"u":6}],"z":[{"í":6,"s":6,"ú":0,"ü":12}]},48],"ú":[{"j":[{"í":6,"o":6}],"r":[{"é":6,"i":12}],"s":[{"z":6}],"t":[{"i":6,"o":6}]},48],"ü":[{"d":[{"í":6,"ü":6}],"g":[{"e":6,"y":6}],"l":[{"e":6,"é":6,"i":6,"ö":6,"ő":6,"ü":6}],"n":[{"ő":6}],"r":[{"e":6,"í":6,"ö":6,"ü":6}],"s":[{"z":6}],"t":[{"e":6,"é":6,"i":6}],"v":[{"e":6,"ö":6}],"z":[{"e":[{"m":[{".":6,"b":6,"e":[{"n":6,"t":6}],"é":6,"h":6,"m":6,"n":6,"r":6}],"n":6}],"é":6}]},48],"ű":[{"r":[{"i":6,"ö":6}],"z":[{"e":6,"é":6,"i":6,"ö":6,"ő":6}]},48],"v":[{"a":[{"d":47,"k":[{"t":[{"i":5}]},47],"n":[{"h":52,"t":50,"y":[{"a":51}],"z":0}],"r":[{"a":[{"c":11,"g":14}],"e":2,"é":[{"k":11}]}],"s":[{"z":[{"e":11,"ü":11}]}],"t":[{"á":50,"ó":50}]}],"á":[{"d":47,"n":[{"a":[{"n":11}]}],"r":[{"a":[{"l":14}],"i":[{"a":[{".":11,"i":11}],"á":51}]},47],"t":[{"a":52,"t":52}],"z":[{"a":[{"l":11}]}]}],"b":[{"l":5}],"e":[{"l":[{"e":19,"v":5}],"s":[{"t":5},47],"t":47,"z":47}],"i":[{"c":[{"s":[{"e":11}]}],"n":[{"g":5}]}],"k":[{"r":5}],"o":[{"l":[{"d":52,"t":[{"ó":5}]}],"s":9,"x":52}],"ö":[{"m":52,"s":52}],"ő":[{"s":5,"z":5}],"p":[{"r":5}],"s":[{"p":5,"t":5}],"u":[{"t":52}],"ü":[{"l":19,"r":5,"z":19}]}],"w":[{"a":[{"g":0}],"h":[{"i":[{"s":[{"k":[{"y":[{"k":78},33]}]}]},6]}]}],"x":[{"a":[{"b":52,"d":52,"k":52,"l":52,"n":52,"v":52}],"b":[{"l":5}],"e":[{"g":5,"l":5}],"i":[{"n":[{"f":5,"g":5,"t":5}],"ó":[{"r":10}],"s":[{"e":11}]}],"í":[{"r":5}],"ö":[{"s":5,"z":5}],"p":[{"r":5}],"u":[{"t":52}],"ú":[{"j":5}],"ü":[{"z":5}],"ű":[{"r":5}]}],"y":[{"e":[{".":48,"d":48,"i":48,"k":48,"l":19,"n":48,"s":48,"t":10}],"f":[{"l":5}],"i":[{".":48,"l":5,"n":[{"g":5}],"t":48}],"m":[{"a":10}],"s":[{"t":19}]}],"z":[{"a":[{"c":[{"h":11,"i":[{"k":11}]}],"i":[{"k":[{"o":10}]}],"l":[{"t":[{"a":30}]}],"p":8,"s":8}],"á":[{"l":[{"l":5,"t":5}],"n":[{"ö":11}],"r":[{"ó":[{"r":[{"a":2}]}]}],"s":[{"e":14,"i":[{"k":[{"o":11},32]}],"s":27}]}],"d":[{"u":6}],"e":[{"g":51,"l":[{"e":19,"j":5,"m":5,"ő":5}],"m":52,"x":52}],"é":[{"g":52,"k":[{"e":2,"o":[{"l":11}]}],"r":[{"t":[{"é":52}]}]}],"i":[{"n":[{"g":52}],"o":51,"r":[{"á":5,"t":5}]}],"m":[{"a":[{"g":3}]}],"o":[{"b":52,"l":47,"n":[{"a":[{"l":11}],"á":14,"t":32}],"p":52,"r":52,"s":[{"z":52}]}],"ó":[{"t":[{"r":9},10]}],"r":[{"í":54}],"s":[{"é":37,"i":[{"k":[{"e":55}]}],"o":[{"r":25}],"p":25,"ü":55,"z":25}],"u":[{"t":5}],"ú":[{"j":52,"r":[{"é":14}]}],"ü":[{"z":5}]}]}],"á":[{".":47,"a":[{"d":[{"a":6,"á":[{"s":[{"s":7}]},6],"o":6,"ó":6,"u":6}],"j":[{"á":6}],"k":[{"a":6}],"l":[{"a":6,"u":6}],"r":[{"a":6}],"s":[{"z":6}],"u":[{"t":6}],"v":[{"a":6}]},48],"á":[{"c":[{"s":6}],"g":[{"a":6,"y":6}],"j":[{"u":6}],"m":[{"u":6}],"r":[{"a":6,"u":6}],"s":[{"á":6,"í":6,"o":6,"ó":6,"u":6}],"z":[{"o":6,"u":6}]},48],"b":[{"a":[{"d":[{"u":52}],"k":[{"c":5}],"l":[{"a":51,"k":52}],"m":[{"b":[{"u":52}]}],"n":[{"y":51}],"p":9,"r":[{"t":5}],"s":[{"e":20}]}],"á":[{"g":51,"l":[{"l":5,"m":5}],"p":52,"r":[{"á":52,"n":52,"u":51}],"t":[{"j":52,"l":52,"m":52,"v":52}],"z":52}],"b":[{"a":[{"d":13,"l":[{"a":12},10],"n":[{"d":12}]}],"á":[{"r":12}],"e":[{"n":6,"r":13}],"é":[{"l":13}],"i":[{"d":6,"m":6,"s":13,"t":[{"a":12}]}],"o":[{"s":[{"o":8,"s":9}]}],"ö":[{"r":6}],"ü":[{"l":12}],"ű":6}],"d":[{"r":5}],"e":[{"d":52,"g":51,"l":[{"a":14,"á":14,"e":[{"g":14,"l":14,"r":2}],"é":[{"g":11}],"i":[{"n":14}],"n":[{"ö":0}]}],"m":51,"n":51,"r":[{"o":19,"ő":5}]}],"é":[{"c":50,"g":51,"k":[{"e":19,"s":52}],"l":[{"e":[{"s":51}],"t":52}],"p":52,"r":[{".":52,"i":51,"s":52,"t":[{"e":52,"é":52}]}]}],"f":[{"r":5}],"i":[{"d":51,"g":[{"a":5,"é":5},11],"k":[{"r":52}],"l":[{"l":[{"a":5}]}],"m":52,"n":[{"a":[{"i":11,"s":0}],"d":52,"g":52,"t":52}],"s":52,"z":[{"m":5,"z":5}]}],"í":[{"v":52}],"k":[{"l":5,"r":5}],"l":[{"a":[{"k":[{"r":3}],"p":3}]}],"o":[{"l":[{"d":[{"a":52}]}],"p":52,"r":[{"a":[{"j":11,"n":11}],"á":[{"l":11}],"i":[{"s":11}]}],"s":[{"z":52}],"v":51}],"ö":[{"b":5,"d":19,"l":5,"n":5,"r":19,"s":5,"v":5}],"ő":[{"r":5}],"p":[{"r":5}],"r":[{"á":[{"i":53}],"e":[{"k":6}]}],"s":[{"p":5,"t":5,"z":42}],"t":[{"r":5}],"u":[{"j":[{"j":[{"a":[{"l":52}]}]}],"s":[{"z":75}]}],"ú":[{"r":[{".":5}]}],"ü":[{"g":5,"l":19,"s":5,"t":5,"v":5}]}],"c":[{"a":[{"g":51,"j":[{"t":5}],"k":[{"l":8,"n":5}],"l":[{"a":51,"m":5}],"n":[{"y":51}]}],"á":[{"g":52,"l":52}],"c":[{"s":[{"e":25,"o":25}]}],"e":[{"l":[{"e":32},74],"n":5,"r":5}],"é":[{"p":52,"r":[{"e":52}]}],"h":[{"a":55,"á":55,"e":25,"é":55,"o":[{"n":25}],"u":55}],"i":[{"a":[{"s":11}],"l":52,"n":[{"c":5,"g":5,"t":[{"i":[{"l":10}]}]}],"ó":[{"s":[{"ű":11}]}],"s":51}],"í":[{"v":5}],"o":[{"r":52,"s":[{"z":52}]}],"ó":[{"r":5}],"ö":[{"l":19}],"s":[{"a":[{"b":[{"l":9}],"g":61,"j":[{"t":56}],"k":[{"a":0,"n":56}],"l":[{"a":[{"p":9}],"j":9,"o":[{"m":9}]}],"p":[{"p":9}],"t":[{"k":9,"o":[{"m":0}]}]}],"á":[{"c":61,"l":56,"r":[{"g":25,"k":56,"n":56,"u":0}],"t":[{"a":61}]}],"b":[{"o":[{"z":22}]}],"e":[{"f":0,"g":61,"l":61,"n":[{"e":0,"t":0}],"r":0,"t":10,"v":56}],"é":[{"g":8,"k":[{"i":9,"k":9,"n":9},10],"l":0,"p":0,"t":[{"e":8}]}],"i":[{"g":[{"a":56},10],"l":[{"l":[{"e":56}]}],"m":[{"i":0}],"n":[{"t":9}],"p":[{"a":56},10],"s":[{"k":9}]}],"í":[{"r":9},10],"o":[{"k":[{"t":[{"a":0}]}],"l":[{"a":[{"t":50}]}],"m":[{"k":50}],"r":[{"r":9}],"s":[{"z":0}],"v":56}],"ó":[{".":25,"r":8,"t":25,"v":25}],"ö":[{"k":8,"l":61,"s":56,"t":0}],"ő":[{"s":8}],"s":9,"u":[{"j":0,"t":0}],"ú":[{"r":56}],"ü":[{"l":8,"t":61}],"y":48,"z":[{"e":[{"n":20}]}]}],"u":[{"t":52}],"ú":[{"r":5}],"ü":[{"l":5,"r":5}]}],"d":[{"a":[{"b":[{"l":5}],"d":[{"o":51}],"k":[{"c":52}],"l":[{"a":[{"p":19}],"b":52,"j":52,"k":52}],"n":[{"y":[{"a":19,"á":19}]}],"p":[{"á":51},9],"r":[{"c":5}],"t":[{"y":52}]}],"á":[{"g":52,"l":52,"s":[{"z":19}],"t":[{"l":5}]}],"d":[{"r":5,"z":25}],"e":[{"c":19,"g":51,"j":52,"l":[{"e":[{"j":3,"m":[{"e":3}]},32]},51],"m":51,"p":52,"r":[{"á":14,"ő":5}],"t":[{"i":19}]}],"é":[{"d":[{"r":9},10],"g":[{"e":51},8],"k":[{"r":[{"é":9}]}],"n":[{"e":5}],"r":[{"t":[{"e":52}],"z":52}],"s":[{"t":9}]}],"i":[{"c":[{"s":[{"e":11}]}],"d":51,"g":[{"a":51}],"k":[{"o":19}],"l":[{"l":5}],"m":[{"i":5}],"n":[{"d":5,"t":52}],"ó":[{"d":[{"a":[{"r":11}]}],"é":[{"r":[{"a":11},32]}],"i":[{"v":73}],"k":[{"o":11,"r":[{"a":2}]}]}],"p":51,"s":[{"t":5}]}],"í":[{"v":5}],"k":[{"l":5,"r":5}],"o":[{"g":[{"a":11,"á":11,"e":11}],"r":[{"a":[{"k":11}]}],"s":[{"z":52}]}],"ó":[{"s":10}],"ö":[{"b":11,"s":52,"v":5,"z":19}],"ő":[{"r":19}],"p":[{"r":5,"s":5}],"r":[{"ó":[{"t":54}]}],"s":[{"t":5}],"t":[{"r":5}],"u":[{"d":[{"v":5}]}],"ú":[{"s":51}],"ü":[{"g":52,"l":[{"é":19}],"z":52}],"z":[{"a":25,"á":55,"e":55,"ú":25}]}],"e":[{"c":[{"s":6}],"d":[{"z":6}],"g":[{"e":6,"é":6,"y":6}],"l":[{"e":6,"ő":6}],"m":[{"e":6}],"r":[{"e":6,"ő":6}],"s":[{"e":6,"é":6,"i":6,"ő":6,"ü":6}],"t":[{"e":6}],"v":[{"e":6,"é":6,"ő":6}]},48],"é":[{"d":[{"e":6}],"g":[{"e":6,"é":6,"ő":6}],"h":[{"e":6}],"k":[{"e":6}],"l":[{"e":6}],"n":[{"e":6}],"p":[{"í":6,"ü":6}],"r":[{"e":6,"é":6,"i":6,"ő":6,"ü":6}],"t":[{"e":6}]},48],"f":[{"a":[{"g":[{"y":[{"a":51}]}],"l":[{"g":52}]}],"á":[{"b":0,"g":52,"k":50,"p":52,"s":50,"t":0}],"d":[{"r":5}],"e":[{"l":[{"m":5}],"m":51,"t":51}],"é":[{"n":[{"e":19}]}],"i":[{"a":[{"d":11,"m":11}],"d":51,"m":52,"n":[{"g":[{".":52}]}]}],"o":[{"r":[{"d":[{"á":52}]}],"s":[{"z":52}]}],"r":[{"e":[{"c":6}],"ö":54}],"u":[{"s":[{"s":27}]}],"ü":[{"n":52}]}],"g":[{"a":[{"b":[{"l":52,"r":5}],"c":[{"é":5,"s":[{"k":[{"a":53}]}]},11],"d":[{"á":19,"d":53,"ó":19},0],"j":51,"k":[{"a":[{"r":19,"s":19},0],"b":50,"h":50,"i":50,"k":50,"n":50,"r":50,"t":0}],"l":[{"a":51,"j":52,"l":52,"t":5}],"m":50,"n":[{"a":5,"g":52,"k":50,"t":5,"y":52},11],"p":51,"r":51,"s":[{"p":5,"z":52}],"t":[{"o":[{"l":11}]}],"u":52,"z":[{"a":50,"o":[{"n":11}]}]}],"á":[{"g":51,"l":[{"d":52,"m":5}],"m":[{"u":19}],"n":[{"y":[{"a":[{"l":11}]}]}],"p":52,"r":[{"a":[{"d":52}],"b":52,"é":51,"h":52,"i":[{"a":51}],"o":[{"k":[{"b":11}]}],"v":52}],"s":[{"ó":52,"s":27,"z":11}],"t":[{"a":79,"á":52,"é":52,"f":52,"h":52,"i":52,"l":52,"m":52,"n":52,"o":[{"k":[{"k":11}]}],"r":52,"s":52,"t":52,"ü":5,"v":52}]}],"b":[{"l":5,"r":5}],"d":[{"r":19}],"e":[{"c":51,"d":51,"f":5,"g":51,"l":51,"m":51,"n":[{"c":5,"e":5},59],"p":51,"r":[{"a":11,"á":11,"e":[{"l":14}]}],"s":51,"t":51,"v":51,"x":52}],"é":[{"g":51,"h":[{"e":51}],"j":52,"k":51,"l":51,"n":[{"e":51}],"p":[{"í":52,"ü":19}],"r":[{".":52,"á":52,"é":51,"i":52,"m":5,"ő":51,"t":[{"e":5,"é":5}],"v":52}],"s":52,"t":[{"e":52}],"v":[{"e":52,"é":52}]}],"f":[{"l":5,"r":5}],"g":[{"l":19,"r":5,"y":[{"a":[{"r":25}],"e":25,"ú":25}]}],"h":[{"á":[{"n":[{"y":[{"i":10}]}]}]}],"i":[{"a":[{"l":11,"s":[{"z":11}]}],"d":[{"e":52},11],"f":52,"g":[{"a":52,"é":[{"n":52}]},11],"l":[{"l":0}],"m":[{"a":5,"i":51}],"n":[{"a":[{".":51}],"f":5,"g":52,"s":5,"t":52}],"r":[{"i":52,"o":5}],"s":[{"t":52,"z":52}],"t":[{"a":51}],"z":52}],"í":[{"g":52,"n":52,"r":52,"t":[{"é":0}],"z":52}],"k":[{"á":[{"r":[{"o":[{"k":10}]}]}],"l":5,"r":5,"v":5}],"o":[{"á":52,"k":[{"l":52}],"l":[{"i":51,"t":[{"ó":5}]}],"p":52,"r":52,"s":[{"k":[{"o":52}],"s":27,"z":[{"l":52}]}]}],"ó":[{"d":[{"r":9}],"r":[{"á":51}]}],"ö":[{"k":51,"l":51,"n":[{"t":5}],"r":[{"ö":5,"v":5},11],"s":52,"t":52,"v":52,"z":51}],"ő":[{"r":19,"s":19}],"p":[{"l":5,"o":[{"r":[{"t":[{"r":7},26]}]}],"r":5,"s":5}],"s":[{"h":5,"k":5,"l":5,"p":5,"t":5,"z":10}],"t":[{"r":5}],"u":[{"d":52,"j":52,"n":[{"a":52,"d":52},11],"r":[{"a":51,"á":51}],"t":51}],"ú":[{"j":52,"s":52,"t":[{"t":5}]}],"ü":[{"d":5,"g":19,"l":19,"n":5,"v":5,"z":5}],"ű":[{"r":19,"z":5}],"y":[{"a":[{"g":3,"l":[{"j":9,"k":9,"m":9}],"s":[{"n":50,"s":[{"a":0}]}]}],"á":[{"l":61,"r":[{"a":[{"m":61}]}],"s":[{"s":7}]}],"e":61,"é":[{"l":0,"r":[{".":9}]}],"g":[{"y":[{"ű":53}]}],"i":[{"d":0,"l":0,"v":[{"a":[{"d":0}]}]}],"o":[{"b":0,"s":[{"z":0}],"t":[{"t":[{"h":9}]}]}],"ó":[{"s":61}],"ö":[{"l":8,"s":9}],"u":[{"r":0}],"ú":[{"h":0,"t":0}],"ü":61}]}],"h":[{"a":[{"j":[{"k":5}],"s":[{"s":5}]}],"í":[{"t":50}],"o":[{"r":[{"s":52}]}]}],"i":[{"d":[{"o":[{"m":6}],"ő":6}],"g":[{"a":6,"é":6,"y":6}],"h":[{"a":6}],"j":[{"e":6}],"m":[{"á":6}],"r":[{"a":[{"m":6}],"á":6}],"s":[{"z":6}],"t":[{"a":6}],"v":[{"á":6,"o":6}],"z":[{"é":6}]},48],"í":[{"g":[{"é":6}],"r":[{"á":6}],"v":[{"e":6,"o":6}]},48],"j":[{"a":[{"d":[{"ó":52}],"k":[{"c":52,"v":52}],"l":[{"a":51}],"m":[{"b":[{"u":5}]}],"n":[{"a":52,"t":5,"y":52}],"r":52,"t":[{"l":52}],"x":52,"z":[{"o":5}]}],"á":[{"g":52,"l":52,"p":52,"s":[{"s":27}],"t":[{"a":80,"á":52,"t":52}]}],"b":[{"l":5,"r":5}],"c":[{"h":6}],"e":[{"c":51,"g":[{"é":5}],"l":[{"m":5,"n":5,"ő":5,"v":5}],"m":52,"n":51,"s":52,"t":19,"v":51,"x":5}],"é":[{"g":51,"l":52,"p":52,"r":[{"e":52},11],"t":[{"e":52}]}],"f":[{"l":5,"r":5}],"i":[{"d":51,"l":52,"m":52,"z":52}],"í":[{"j":5,"r":5,"v":5,"z":5}],"k":[{"e":[{"l":[{"l":9}]}],"ő":13,"ü":6}],"l":[{"a":[{"d":6,"k":[{"t":9}],"n":12,"s":12,"t":12}],"i":[{"k":6}],"o":[{"b":6}]}],"n":[{"á":[{"r":6}],"i":[{"n":6}],"ü":6}],"o":[{"b":52,"p":52,"r":52}],"ö":[{"b":52,"k":5,"l":5,"r":52}],"ő":[{"r":5,"s":5}],"p":[{"l":5,"r":5}],"s":[{"n":5,"p":5,"t":42}],"t":[{"r":19}],"u":[{"d":52}],"ú":[{"s":[{"z":5}]}],"ü":[{"g":5,"l":5,"r":5,"t":19,"v":5,"z":5}],"ű":[{"r":5}],"z":[{"a":[{"b":6,"j":6}],"s":[{"a":21}]}]}],"k":[{"a":[{"b":[{"r":5}],"d":51,"j":52,"k":[{"a":5}],"l":[{"a":[{"p":[{"í":51}]}],"e":5,"j":5}],"n":[{"t":5}],"r":[{"a":5,"á":51,"m":5,"z":5}],"s":[{"s":52}],"t":[{"l":52}],"u":51}],"á":[{"c":51,"l":51,"t":[{"a":5,"k":5}]}],"b":[{"l":5}],"e":[{"b":[{"é":5}],"g":51,"l":[{"e":19,"k":52,"l":[{"e":[{"n":[{"e":0}]}]}],"m":52,"ő":51}],"m":[{"b":5}],"r":[{"ő":19}],"v":[{"é":51,"o":51}]}],"é":[{"l":51,"n":[{"e":51}],"r":[{"m":52,"t":[{"e":52,"ő":52}],"v":52,"z":52}],"s":[{"s":5}],"t":[{"e":51,"k":52,"t":52}],"v":[{"e":51}]}],"f":[{"l":5,"r":5}],"i":[{"d":51,"f":52,"g":[{"a":5,"é":52},11],"l":[{"l":5}],"m":51,"n":[{"g":5,"t":52}],"r":[{"o":5}],"s":51,"t":[{"a":5},11],"v":51}],"í":[{"r":5}],"k":[{"l":19,"r":19}],"l":[{"a":[{"r":6}]}],"o":[{"k":[{"s":52}],"l":[{"a":51,"d":52,"i":51,"l":52}],"p":[{"e":51}],"r":[{"v":52}],"s":[{"s":27}],"t":[{"t":52}]}],"ó":[{"n":[{"i":5}]}],"ö":[{"l":[{"ő":52},11],"r":19}],"ő":[{"r":19}],"p":[{"r":5}],"r":[{"á":[{"k":6}],"e":[{"á":54}],"i":[{"s":54}]}],"s":[{"p":5,"r":5,"t":5,"z":42}],"t":[{"r":19}],"u":[{"j":52,"n":[{"i":0}],"r":[{"a":5},11],"t":[{"ó":5}]}],"ú":[{"j":5,"t":[{"o":52},11]}],"ü":[{"d":5,"g":52,"l":11,"n":5,"r":5,"t":19}],"ű":[{"r":5}],"v":[{"a":[{"t":54}]}]}],"l":[{"a":[{".":47,"b":[{"l":5}],"c":[{"é":5}],"d":[{"a":[{"g":52}],"ó":51}],"j":[{"á":19,"t":5}],"k":[{"a":[{"r":11}],"n":[{"a":[{".":52}]}]}],"l":[{"a":[{"k":5}],"á":[{"t":52}],"g":5,"k":52,"m":52},47],"n":[{"e":52,"g":52,"t":52,"y":[{"a":51,"á":[{"i":19,"n":19,"t":51,"v":19}]}]}],"p":[{"o":[{"s":51}],"ó":5}],"r":[{"a":19}],"s":[{"z":[{"e":[{"k":11,"l":11}],"é":[{"k":44}],"ö":11,"ű":11}]}],"t":[{"a":[{"t":11}],"e":[{"t":11}],"é":[{"r":[{".":14}]}],"i":[{"k":[{"r":11}],"n":[{"t":11}]}],"l":[{"é":5}],"o":[{"l":[{"d":11}]}],"ó":2,"t":[{"i":52}],"y":51}],"u":[{"t":5}]}],"á":[{"b":[{"r":52}],"g":[{".":5,"i":19,"ú":51}],"l":[{"l":5}],"r":[{"a":[{"k":51}],"f":5,"k":5,"n":52,"o":51}],"s":[{"z":4}],"t":[{"c":52,"k":52,"m":52,"ú":52,"v":[{"á":52}]}]}],"b":[{"l":5,"r":5}],"c":[{"a":[{"i":32}]}],"d":[{"á":[{"s":53}],"o":[{"z":53}],"r":19,"y":5}],"e":[{"c":51,"d":51,"f":52,"l":[{"k":5,"m":5,"o":5,"ő":19,"r":5}],"m":[{"u":5}],"r":51,"s":[{"e":[{"m":5}],"ő":51,"z":52}],"t":51,"z":5}],"é":[{"g":52,"h":[{"e":51}],"k":[{"a":[{"l":11,"n":14}],"e":[{"l":2}],"ü":11}],"l":[{"e":19,"ő":19}],"n":[{"e":51}],"r":[{".":52,"b":52,"d":52,"f":52,"g":52,"h":52,"i":51,"m":52,"r":52,"s":52,"t":[{"á":52,"e":52,"é":52}],"z":52}],"v":[{".":52,"é":51}]}],"f":[{"l":5,"r":5}],"g":[{"r":5}],"h":[{"a":[{"j":[{"a":53}]}]}],"i":[{"a":[{"s":11}],"b":[{"o":19}],"d":[{"e":5,"é":5},11],"g":[{"a":52,"e":52,"é":52},11],"l":[{"l":5}],"m":[{"p":5}],"n":[{"d":52,"f":5}],"o":[{"n":[{"b":51,"t":51}]}],"p":51,"r":[{"á":5,"o":52}],"s":[{"e":14,"é":[{"k":14}],"i":[{"s":11}],"s":27,"t":[{"e":5}]}],"z":52}],"í":[{"n":5,"r":19,"t":5,"v":19}],"k":[{"á":[{"r":[{"o":[{"k":10}]}]}],"l":19,"r":19}],"l":[{"a":[{"d":[{"ó":13}],"g":53,"j":6,"l":[{"a":[{"k":13}]}],"m":[{"á":53,"e":30,"o":[{"t":53}],"t":[{"i":53}]}],"p":[{"á":13}],"r":13,"t":[{"a":[{"s":10},53],"e":17,"o":[{"r":30}],"ö":17,"u":53}]}],"á":[{"g":13,"l":13,"r":[{"r":12}],"s":[{"s":7}],"t":[{"h":12,"m":12}]}],"e":[{"d":6,"h":13,"j":12}],"é":[{"k":[{"é":9}]}],"i":[{"z":12}],"o":[{"m":[{"á":53}]}],"ü":6}],"m":[{"a":[{"i":[{"m":53}]}],"o":[{"k":[{".":53}],"m":53,"t":[{".":53}]}],"u":[{"k":53,"n":[{"k":[{"b":53}]}]}]}],"o":[{"b":[{"j":5}],"k":[{"a":[{".":51,"i":[{"h":53,"n":53,"r":53},51]}],"á":[{"n":53,"t":53,"u":53},51],"o":[{"k":11,"n":[{"k":53}],"s":11}],"t":[{"a":52}],"u":81}],"l":52,"m":[{"a":[{"d":11,"l":14,"n":14,"r":11,"s":11},32],"á":14,"e":14,"i":[{"t":14}],"o":[{"t":11}],"s":0,"ú":14}],"n":[{"t":52}],"p":[{"c":5,"e":52}],"r":52,"s":[{"z":52}],"x":52}],"ó":[{"a":10,"á":10,"ó":10,"r":[{"á":[{"j":11}]}],"s":[{"ű":2}],"t":10}],"ö":[{"b":5,"d":52,"l":51,"s":52,"z":5}],"ő":[{"r":52}],"p":[{"l":19,"r":19,"s":19}],"s":[{"k":5,"l":5,"t":5}],"t":[{"r":[{"a":[{"d":5,"k":19,"n":19}],"e":19,"é":5}]}],"u":[{"g":52,"n":[{"a":52},11],"r":51,"t":51,"z":52}],"ú":[{"j":52,"r":52,"t":[{"j":5,"k":5,"n":5,"o":52,"r":52,"t":52},11]}],"ü":[{"g":5,"n":5,"r":5,"t":5,"v":5,"z":5}],"ű":[{"r":5,"z":5}],"y":[{"a":[{"d":[{"a":9}],"g":15,"n":[{"t":9,"y":[{"a":9}]}],"p":3,"s":[{"s":9}]}],"á":[{"l":0}],"e":61,"é":[{"j":0,"l":0,"n":[{"e":61}],"r":[{"e":0}],"v":[{"e":0}]}],"i":[{"d":[{"e":0}]}],"í":0,"k":8,"o":[{"d":[{"v":9}],"l":0}],"ó":61,"ö":56,"ő":0,"s":9,"u":[{"g":0}],"ü":61,"ű":61}]}],"m":[{"a":[{"b":[{"l":52,"r":52}],"c":[{"é":19}],"d":[{"m":5}],"g":[{"g":5}],"j":[{"t":52}],"k":[{"t":52}],"l":[{"a":[{"p":19}],"l":5,"t":5}],"ó":10,"p":[{"p":52}],"r":[{"c":52}],"s":[{"z":[{"á":[{"l":44}],"e":[{"l":11}],"í":[{"v":11}],"o":[{"d":[{"v":44}]}],"ü":18}]}],"t":[{"l":5,"t":52,"y":52}],"u":[{"d":5}],"z":[{"o":19}]}],"á":[{"c":11,"f":5,"g":52,"l":[{"l":[{"a":5,"o":5}]}],"n":[{"n":3,"t":[{"r":3}]}],"r":[{"a":[{"k":51,"m":19,"s":52}],"á":51,"b":52,"i":51,"n":52,"o":51,"r":52,"u":51}],"s":[{"v":5}],"t":[{"b":52,"e":74,"i":52,"m":52}],"z":[{"ó":19}]}],"b":[{"l":5}],"d":[{"r":5}],"e":[{"b":51,"j":52,"l":[{"a":52,"á":5,"e":[{"m":19}],"é":5,"h":52,"í":5,"j":52,"k":5,"m":52,"o":5,"ő":51,"s":5,"t":5,"ü":5,"v":5}],"m":51,"r":[{"d":52,"e":[{"k":19}],"k":52,"o":51,"ő":[{"k":11,"t":11,"v":11}]}],"s":[{"e":19,"s":5,"z":5}],"t":[{"i":52,"ű":52},11],"v":52,"x":52,"z":52}],"é":[{"k":[{"e":5}],"l":[{"e":51}],"p":52,"r":[{"c":52,"d":52,"t":[{"e":[{"l":52}]}]}],"t":[{"k":52}]}],"f":[{"r":5}],"g":[{"r":5}],"i":[{"a":[{"b":11,"l":11,"m":11}],"d":[{"e":0,"é":52,"ő":19}],"g":[{"a":52,"á":52,"é":52}],"l":[{"l":52}],"m":[{"á":0,"m":0,"p":52}],"n":[{"d":52,"f":52,"g":52,"t":[{"e":52,"é":52}],"v":52}],"p":[{"a":51}],"r":[{"á":52,"o":52,"t":52}],"s":[{"k":52,"m":52,"z":[{"á":19}]}],"z":51}],"í":[{"g":5,"j":52,"r":52,"v":51,"z":5}],"k":[{"l":5,"r":5,"v":5}],"l":[{"a":[{"t":45}]}],"o":[{"b":52,"f":52,"k":[{"á":52,"l":52,"m":52,"t":[{"a":52}]}],"l":[{"y":[{"a":[{"s":11}]}]}],"p":52,"r":[{"á":[{"l":2}],"i":[{"s":11}],"o":[{"d":[{"v":14}]}]}],"s":[{"a":[{"s":11}],"s":27,"t":[{"o":5}],"z":52}],"v":52,"x":52}],"ó":[{"r":19}],"ö":[{"k":19,"l":5,"n":5,"r":5,"s":5,"t":5,"v":5,"z":19}],"ő":[{"r":19,"s":19,"z":5}],"p":[{"a":[{"p":15}],"l":19,"r":19,"s":19}],"s":[{"k":5,"m":5,"n":5,"p":5,"t":5,"z":42}],"t":[{"r":19}],"u":[{"d":52,"g":52,"j":52,"n":[{"d":52,"i":0}],"r":51,"t":[{"á":52}]}],"ú":[{"j":52}],"ü":[{"d":5,"g":5,"l":19,"r":5,"t":5,"v":5,"z":5}],"ű":[{"t":41,"z":19}],"v":[{"a":[{"s":[{"u":17}]}]}]}],"n":[{"a":[{"b":[{"l":52}],"c":[{"é":51,"h":5}],"d":[{"a":5}],"e":10,"f":[{"r":5}],"g":[{"y":[{"a":5}]}],"j":[{"t":5}],"k":[{"á":52,"c":52,"r":52}],"l":[{"a":51,"k":5,"l":52}],"n":[{"ó":52,"y":[{"a":5}]}],"o":51,"p":[{"a":5,"i":3},11],"r":[{"a":5,"c":52}],"s":[{"s":[{"z":5}]}],"t":[{"é":[{"r":[{".":14}]}],"o":[{"l":11,"r":11}],"ű":14}],"u":51,"v":[{"a":5}]}],"á":[{"b":[{"r":5}],"g":52,"l":[{"l":52}],"r":[{".":5,"a":[{"d":5}],"i":19,"m":5,"n":5,"o":5,"u":5}],"s":[{"v":5}],"t":[{"a":14,"á":14}],"z":51}],"b":[{"l":5,"r":5}],"c":[{"a":[{"c":6,"d":12,"j":6,"l":6,"n":13,"r":6,"s":12,"t":6,"u":12}],"á":[{"l":12,"r":[{"o":13}],"s":6}],"e":[{"d":12,"g":13,"l":[{"e":9,"t":12},10],"r":12,"s":13,"t":12,"z":6}],"é":[{"h":[{"e":9}],"n":[{"e":8}],"r":[{".":12}]}],"h":21,"i":[{"l":[{"l":12}],"m":6,"p":[{"a":9},10],"r":12,"s":13}],"ó":13,"ö":13,"ő":6,"s":[{"a":[{"n":3}],"á":[{"s":20}],"e":[{"b":21,"s":3}],"p":[{"o":20}],"z":[{"a":20}]}],"ü":6,"z":6}],"e":[{"d":[{"é":5},11],"f":52,"g":51,"l":51,"m":[{"b":5,"i":19,"l":5,"u":19}],"n":52,"p":51,"s":5,"t":51,"u":19,"x":52,"z":5}],"é":[{"d":51,"g":51,"k":[{".":52,"n":52,"s":5}],"l":51,"n":[{"e":51}],"p":[{"í":5,"ü":5}],"r":[{".":52,"c":52,"d":0,"é":52,"l":52}],"t":[{"e":5}],"v":[{"a":[{"d":0}],"e":52,"é":51}]}],"f":[{"r":19}],"g":[{"a":[{"b":6,"r":13}],"á":[{"r":[{"a":12}],"s":[{"s":7}],"t":12}],"e":[{"d":6,"l":12,"s":10}],"é":[{"r":[{".":12}],"s":13}],"g":20,"i":[{"t":12,"v":12}],"í":6,"o":[{"s":[{"z":12}]}],"ő":[{"r":6}],"u":[{"s":12}],"ü":6,"y":[{".":53,"a":[{"s":6}]}]}],"i":[{"d":51,"f":52,"g":[{"a":51,"é":5}],"k":[{"a":14,"á":14,"e":11}],"l":[{"l":5}],"m":52,"n":[{"d":5,"n":5}],"p":51,"r":[{"r":0,"t":5}],"s":[{"k":5,"m":5,"z":51}],"t":[{"á":11,"e":2,"í":14,"o":[{"l":11,"r":14}]}],"z":[{"o":5}]}],"í":[{"g":5,"v":5,"z":5}],"k":[{"a":[{"j":6,"r":[{"o":9}]}],"e":[{"r":[{"n":6}]}],"l":[{"i":19,"o":19,"u":5}],"r":[{"á":19}]}],"n":[{"y":[{"e":25,"í":25,"o":25,"u":25}]}],"o":[{"b":51,"k":[{"i":[{"r":52}],"t":[{"a":52}],"u":51}],"l":[{"d":5,"i":5}],"m":41,"n":[{"i":[{"m":2}]}],"r":51,"s":[{"z":[{"l":5}]}],"t":[{"t":5}],"x":52}],"ó":[{"r":[{"i":5}]}],"ö":[{"k":5,"l":52,"m":5,"n":52,"r":52,"s":52,"t":52,"v":[{"ö":5}]}],"ő":[{"r":52,"s":19,"z":51}],"p":[{"l":5,"r":5}],"s":[{"e":[{"s":6}],"é":[{"r":12}],"i":[{"s":6,"z":6}],"p":[{"e":19,"i":19}],"t":[{"r":5},10],"ü":[{"l":[{"d":9}]}],"z":[{"l":5}]}],"t":[{"a":[{"c":[{"é":9}],"n":[{"y":8}],"z":6}],"á":[{"g":13,"p":10,"r":[{"b":12,"i":12}]}],"e":[{"d":12,"k":[{"é":9}],"l":[{"h":9}],"z":6}],"é":[{"k":[{"e":9}],"r":[{"t":[{"e":6}]}]}],"i":[{"d":6,"p":[{"a":12}],"s":[{"t":9}],"z":12}],"í":[{"v":12}],"ö":[{"k":6,"s":12}],"r":[{"a":[{"k":19,"n":5}]}],"ü":[{"l":13}]}],"u":[{"d":52,"g":52,"j":52,"r":51,"t":51}],"ú":[{"r":5,"t":[{"j":5,"o":52,"t":5},11]}],"ü":[{"g":19,"l":19,"t":19,"v":19,"z":19}],"ű":[{"z":5}],"y":[{"a":[{"d":[{"á":[{"s":9}],"ó":8}],"g":[{"g":9}],"k":[{"c":9}],"l":[{"a":[{"p":9}],"k":9,"l":9}],"n":[{"y":[{"a":9,"á":9}]}],"p":[{"á":9}],"r":[{"a":9,"á":9,"t":9}],"s":[{"s":[{"z":9}],"z":[{"t":9}]}]}],"á":[{"l":61,"r":[{"a":[{"s":8}],"á":61,"b":56,"c":9,"f":56,"h":9,"k":9,"n":56,"o":61,"r":56,"s":56,"t":56,"u":9,"ú":9}],"t":[{"l":56}],"z":61}],"e":[{"d":9,"g":[{"y":[{"e":[{"z":65}]}]},61],"l":[{"e":10},9],"m":61,"n":9,"p":56,"s":[{"ő":9}],"t":9,"v":8}],"é":[{"d":56,"g":56,"h":[{"e":0}],"j":61,"k":61,"l":56,"n":[{"e":61}],"r":[{"c":[{".":9}],"r":[{"e":9}],"t":[{"e":56,"é":56}],"ü":30,"v":[{"é":9}]}],"s":56,"t":[{"e":0,"k":0,"t":56}],"v":[{"e":0}]}],"f":[{"é":[{"l":[{"é":[{"v":64}]}]}]}],"i":[{"d":56,"g":[{"é":0}],"k":[{"e":0,"r":56}],"r":[{"a":[{"t":0}],"o":0}],"s":[{"k":0,"z":56}],"t":[{"a":0}]}],"í":[{"r":[{"ó":8}]}],"o":[{"m":[{"l":56}],"n":[{"t":56}],"r":61,"s":[{"z":0}]}],"ö":[{"k":9,"r":8,"s":56,"z":9}],"ő":61,"t":[{"r":9}],"u":[{"g":0,"r":56,"t":9}],"ú":[{"t":[{"o":0}]}],"ü":61,"ű":61}],"z":[{"á":[{"l":6}]}]}],"o":[{"c":[{"s":6}],"k":[{"á":6,"o":6}],"m":[{"o":6}],"p":[{"e":6}],"s":[{"o":6,"z":[{"a":[{"n":6}],"e":24,"i":[{"s":6,"v":6}],"ú":6}]}]},48],"ó":[{"h":[{"a":6}],"v":[{"a":6}]},48],"ö":[{"l":[{"e":6}],"m":[{"ö":6}],"r":[{"e":6,"ö":6}]},48],"ő":[{"s":[{"z":6}]},48],"p":[{"a":[{"d":[{"o":[{"t":51}]}],"t":[{"r":9}],"u":39}],"á":[{"g":52,"l":[{"l":5}],"t":[{"a":5}]}],"d":[{"r":5}],"e":[{"g":5,"l":19,"m":19,"n":11,"s":51,"t":19}],"é":[{"g":52,"t":[{"e":19}]}],"i":[{"a":[{"c":11,"v":11}],"m":52,"n":[{"j":5,"t":5}],"t":[{"a":52},11]}],"í":[{"n":52}],"o":[{"l":[{"l":0}],"r":[{"e":14}]}],"ő":[{"r":5}],"r":[{"o":6}],"t":[{"r":19}],"u":[{"g":52,"t":51}],"ú":[{"r":52}],"ü":[{"g":5,"z":5}]}],"r":[{"a":[{"b":[{"l":52,"r":52,"s":52}],"d":[{"a":[{"g":5,"t":[{"a":0,"á":0,"b":0,"é":53,"n":0,"o":0,"r":50,"t":0}]}]}],"g":[{"á":19}],"j":[{"k":52}],"k":[{"a":[{"d":51,"s":51}],"c":52,"n":[{"a":[{".":52}],"á":[{"t":0}]}],"t":[{".":52,"i":5,"í":5}]}],"l":[{"á":5,"j":[{".":52,"a":[{".":52,"k":0}],"á":52}],"k":5,"l":5,"m":52,"t":5,"v":52}],"m":[{"a":[{".":50,"i":53}],"á":[{"l":11},50],"e":[{"l":14}],"é":[{"r":[{"t":[{"é":14}]}]}],"i":[{"n":14},50],"k":[{"ö":50}],"o":[{"k":50,"l":50,"t":50}],"s":50,"u":50,"ú":50}],"n":[{"a":5,"g":5,"o":19,"t":52}],"p":[{"á":19,"ó":19,"s":5}],"r":[{"á":51,"c":52,"i":19}],"s":[{"p":52}],"t":[{"a":[{"j":11,"l":11,"v":11}],"á":[{"l":11}],"i":[{"n":[{"f":14}]}],"l":[{"é":5}],"ü":2,"y":5}]}],"á":[{"b":[{"r":52}],"c":11,"g":[{"a":5,"r":5,"y":5},11],"l":[{"o":19}],"p":51,"r":[{".":5,"a":[{"k":51}],"á":51,"b":52,"f":52,"i":51,"k":52,"o":51,"r":52,"t":52,"u":19,"ú":5,"v":5}],"s":[{"á":[{"s":52}],"z":[{"ó":11}]}],"t":[{"a":[{"d":15},51],"á":52,"b":5,"c":52,"d":52,"e":82,"é":52,"f":52,"h":52,"i":51,"j":52,"k":52,"m":52,"ö":51,"r":52,"s":52,"t":52,"ú":52,"v":52}]}],"b":[{"l":5,"o":[{"c":53}],"r":5}],"d":[{"á":[{"l":12}],"e":[{"l":[{"l":9}],"m":[{"e":9}]}],"é":[{"n":13}],"ő":[{"r":12}],"r":[{"á":5}],"u":[{"d":6}]}],"e":[{"á":11,"d":19,"g":51,"j":5,"l":[{"ő":[{"i":[{"r":67}]}]},51],"m":[{"a":11,"é":[{"l":11}]}],"n":[{"e":5,"g":5},11],"r":51,"s":[{"é":19,"ő":19}],"v":[{"é":5}],"x":52}],"é":[{"b":[{"r":5}],"d":[{"e":5}],"g":51,"j":[{".":5,"e":19,"s":5}],"k":[{"e":51,"é":51,"s":52}],"l":51,"n":[{"e":51}],"p":52,"r":[{"é":52,"i":51}],"s":[{"s":5,"z":5}],"t":[{"k":0,"r":52,"t":52,"v":52}],"v":[{".":52,"e":[{"k":11}],"k":52,"r":52}]}],"f":[{"l":5,"r":19}],"g":[{"á":[{"s":[{"s":7}]}],"l":5,"r":19,"y":[{"á":[{"r":[{"v":6}]}],"i":[{"r":6}],"o":[{"l":6}],"ó":6}]}],"i":[{"d":[{"e":51,"é":51,"ő":[{"t":[{"l":83}]}]}],"f":[{"j":5}],"g":[{"a":52,"á":52,"e":52},11],"l":[{"l":52}],"m":[{"á":51,"b":5,"i":51}],"n":[{"a":[{"s":0}],"c":52,"d":52,"f":52,"g":52,"n":5,"t":52,"v":52}],"o":0,"p":[{"a":[{"r":[{"o":51}]}]}],"s":[{"e":14,"k":[{"o":5}],"t":[{"e":5}],"z":[{"a":19}]}],"t":[{"a":51}],"z":[{"o":19}]}],"í":[{"r":52,"v":5,"z":51}],"k":[{"a":[{"k":15}],"á":[{"d":[{"o":53}]}],"l":19,"o":[{"k":53}],"r":[{"é":5}],"v":19}],"n":[{"á":[{"s":[{"s":38}]}],"y":[{"a":[{"n":[{"y":24},32]}],"e":[{"l":[{"e":24,"ő":6},32],"m":6,"s":6}],"o":[{"k":6,"l":24,"s":6}],"ö":6,"ü":6}]}],"o":[{"d":[{"v":5}],"k":[{"á":59,"e":14,"h":[{"a":0}],"m":0,"o":[{"l":11,"z":51}],"r":[{"e":0}],"s":50,"t":[{"a":0}]}],"l":[{"d":[{"a":52}]}],"m":[{"a":[{"j":11,"k":11,"l":14,"s":14},32],"á":[{"r":11}],"o":[{"k":14,"s":14}]}],"p":[{"t":5}],"r":51,"s":[{"a":[{"s":11}],"á":[{"l":11}],"s":27,"t":[{"r":52,"y":52}]}],"t":[{"t":[{"h":5}]}],"v":51}],"ó":[{"é":[{"r":10}],"n":[{"é":[{"t":19,"v":19}]}],"p":8,"r":[{"a":[{"k":51}],"á":[{"k":11}],"i":52}],"s":[{"k":[{"á":9}],"p":8}]}],"ö":[{"b":19,"c":5,"k":5,"l":51,"n":52,"r":5,"s":52,"v":5,"z":51}],"ő":[{"r":19,"s":19}],"p":[{"a":[{".":53}],"l":5,"r":19,"s":19}],"s":[{"a":[{"l":[{"a":12}],"s":[{"z":9}]}],"á":[{"l":12}],"e":[{"d":6,"l":13,"m":6,"n":12,"s":6}],"é":[{"g":13}],"i":[{"p":6,"r":[{"á":6}]}],"o":[{"k":[{"t":9}],"l":12}],"ó":[{"v":6}],"ö":[{"n":12}],"s":20,"t":[{"a":[{"b":19}]}],"u":[{"t":6}],"z":[{"a":[{"k":[{"é":32}]}],"e":[{"n":[{"e":21}]}]}]}],"t":[{"a":[{"d":[{"o":6}],"j":12,"l":[{"o":53}],"n":[{"á":[{"s":17}]}],"r":[{"á":9,"i":[{"s":8}]}],"u":45}],"á":[{"l":[{"l":9}],"r":[{"n":12,"u":13}]}],"e":[{"g":13,"l":[{"h":9,"i":9,"l":9,"n":9,"ő":12}],"m":[{"b":9}],"r":[{"k":12}],"s":[{"e":9,"t":[{"h":9}]},10],"t":[{"i":9}]}],"é":[{"l":[{"e":9}],"r":[{"d":12,"t":[{"e":12}]}]}],"i":[{"d":6,"f":6,"n":[{"s":12,"t":12}],"z":[{"g":9}]}],"í":[{"t":6}],"o":[{"k":[{"t":[{"a":12}]}],"p":6,"t":[{"t":[{"h":9}]}]}],"ö":[{"n":12,"s":12}],"u":[{"r":[{"a":12}],"s":[{"z":8}],"t":12}]}],"u":[{".":50,"a":50,"á":10,"b":84,"c":50,"d":[{"a":53,"á":53},0],"e":50,"é":50,"f":50,"g":[{"y":53}],"i":50,"j":[{"á":53},0],"m":50,"n":[{".":50,"a":50,"á":50,"d":52,"i":0}],"o":50,"p":84,"r":[{"a":[{".":53}],"á":5},0],"s":[{"s":27},50],"t":[{".":53,"a":[{"l":11,"s":11}],"e":53,"r":9,"u":[{"n":11}]},0],"ü":50,"v":50,"z":19}],"ú":[{"é":50,"k":50,"r":[{"é":5,"f":5}],"s":[{"z":5}],"t":[{"a":52,"b":52,"é":52,"h":52,"i":51,"j":52,"l":5,"n":52,"o":51,"r":52,"s":5,"t":52}]}],"ü":[{"g":19,"l":19,"n":5,"r":5,"s":19,"t":5,"v":19,"z":5}],"ű":[{"r":5,"z":19}],"v":[{"á":[{"c":53}]}]}],"s":[{"a":[{"b":[{"l":52,"o":5},11],"d":[{"a":[{"t":19}],"á":51,"o":19,"ó":51}],"j":[{"á":51,"t":[{"ó":5}]}],"k":[{"a":[{"r":51}],"c":52,"v":52}],"l":[{"a":19,"g":5,"i":19,"j":5,"k":5,"l":5,"m":5,"t":52}],"m":[{"b":52}],"n":[{"a":52,"ó":52,"t":52,"y":52},11],"p":[{"á":19,"p":5,"u":5}],"r":[{"a":19,"á":[{"n":19}],"c":52,"é":52,"i":51,"t":5,"z":5}],"s":[{"p":5,"s":0}],"t":[{"á":50,"l":52,"o":0,"y":5}],"u":51,"z":[{"o":52}]}],"á":[{"b":[{"é":0,"r":52}],"g":[{"a":[{"i":11}],"b":52,"i":[{"g":51}],"k":52,"n":5,"ú":51}],"l":52,"p":51,"r":[{"a":[{"s":5}],"é":[{"t":11}],"ó":[{"n":11},32]}],"s":[{"b":50,"i":50,"k":53,"v":5}],"t":[{"a":19,"á":52,"é":5,"h":5,"i":5,"j":5,"k":5,"l":52,"r":52,"s":5,"t":5,"v":5}],"z":51}],"b":[{"l":5,"r":5}],"c":[{"s":[{"a":[{"p":[{"á":64}]}]}]}],"d":[{"r":19}],"e":[{"b":19,"d":51,"f":52,"g":[{"y":19}],"l":51,"m":51,"n":51,"p":[{"i":5}],"r":[{"k":5,"ő":5}],"s":51,"t":51,"v":19,"x":5,"z":5}],"é":[{"g":51,"h":[{"e":52}],"j":52,"k":51,"l":51,"n":[{"e":51}],"p":52,"r":[{".":52,"d":52,"e":51,"é":51,"i":51,"l":52,"s":52,"t":[{"e":52,"é":52,"ő":52}],"v":52}],"s":51,"t":[{"e":51,"k":5,"t":5}],"v":[{"e":51}]}],"f":[{"l":5,"r":5}],"g":[{"l":5,"r":5}],"i":[{"d":51,"f":52,"g":[{"a":5,"e":5},11],"k":[{"e":14}],"l":[{"l":52}],"m":[{"á":52,"p":5}],"n":[{"d":5,"f":5,"g":52,"i":52,"t":52,"v":5}],"p":51,"r":[{"a":[{"t":51}],"á":51,"o":5,"t":5}],"s":[{"k":52,"m":52,"t":5,"z":19}],"t":[{"a":5}],"z":52}],"í":[{"g":5,"j":52,"n":[{"s":5}],"r":[{"á":5,"ó":5},11],"v":51,"z":51}],"k":[{"l":5,"r":19,"v":5}],"n":[{"u":53}],"o":[{"b":52,"d":[{"a":[{"l":14,"n":14,"s":14,"u":11},32],"á":[{"l":14}]}],"k":[{"l":5,"m":5,"t":[{"a":5}]}],"l":[{"d":[{"ó":5}],"i":5}],"n":[{"t":52}],"p":52,"r":[{"á":19,"g":52,"i":0,"k":52,"r":5,"s":52,"v":52}],"s":[{"z":5}],"v":51}],"ó":[{"b":50,"é":50,"g":50,"i":50,"j":50,"k":50,"n":50,"p":8,"r":[{"á":19,"i":5,"ó":53},0],"s":[{"á":19},0],"t":50,"v":0}],"ö":[{"k":51,"l":19,"n":5,"r":51,"s":52,"v":19,"z":51}],"ő":[{"r":19,"s":19}],"p":[{"i":[{"c":48}],"l":19,"ó":[{"r":54}],"r":11,"s":5}],"s":[{"k":19,"p":19,"r":5,"t":19,"z":[{"a":[{"b":25,"g":25,"k":[{"a":25,"é":25}]}],"á":[{"j":25,"m":25,"z":25}],"e":25,"é":[{"l":25}],"f":25,"i":25,"í":25,"k":25,"o":[{"c":25,"k":25,"l":25,"r":25}],"ó":25,"ö":25,"t":25,"ú":25,"ű":25},10]}],"t":[{"e":[{"g":6,"l":[{"e":[{"m":9}]}]}],"i":[{"r":6}],"ö":[{"s":12}],"r":[{"e":19,"i":5,"ó":[{"f":5}]}]}],"u":[{"d":52,"j":52,"r":51,"s":51,"t":[{"a":5,"á":52,"ó":5},11],"z":51}],"ú":[{"r":[{".":5,"n":5}],"s":[{"z":19}],"t":[{"i":5,"o":5}]}],"ü":[{"d":5,"g":52,"l":[{"d":5,"e":5}],"n":52,"r":52,"v":[{"e":19}],"z":52}],"ű":[{"r":5,"z":19}],"z":[{"a":[{"c":55,"d":61,"g":[{"a":9,"á":9,"y":56}],"j":0,"k":[{"c":56,"o":[{"l":8}],"t":56}],"l":[{"e":9,"k":56}],"n":[{"a":0,"t":56,"y":56},10],"p":56,"s":[{"z":9},10],"t":[{"e":30}],"u":56,"v":[{"a":[{"r":25}]}]}],"á":[{"g":[{"g":9,"y":9}],"l":[{"o":8}],"p":25,"r":[{"a":[{"s":30}],"i":[{"h":8}],"ú":61}],"s":[{"s":7}],"t":[{"a":0}],"z":56}],"e":[{"b":[{"é":[{"d":[{"e":7}]},26]},8],"g":[{"é":8,"y":8}],"l":[{"n":9,"v":9}],"m":[{"b":9}],"n":[{"e":25,"é":25,"g":9}],"p":8,"r":[{"d":56,"é":61}],"s":61,"t":8,"v":8,"x":9}],"é":[{"j":56,"k":[{"b":56}],"l":61,"n":[{"e":61}],"p":56,"r":[{"é":9}],"t":[{"e":56,"t":56}],"v":[{"e":56}]}],"i":[{"d":0,"f":0,"l":[{"l":56}],"n":[{"d":0,"g":9}],"p":[{"a":56},10],"r":[{"o":0}],"s":[{"k":56,"m":56,"t":9}],"t":[{"a":9}],"z":0}],"í":[{"r":0}],"k":[{"á":[{"i":53}]},8],"o":[{"k":[{"l":0,"m":56}],"r":[{"s":9}],"s":[{"z":56}]}],"ó":[{"s":[{"p":15}]}],"ö":[{"b":61,"l":[{"t":9},10],"r":61,"s":56,"v":[{"é":9}]}],"ő":[{"r":9,"s":8}],"s":[{"a":20,"u":25}],"t":[{"r":9},10],"u":[{"n":[{"i":0}],"r":0,"t":0}],"ú":[{"s":8}],"ü":[{"g":61,"n":56,"z":61}],"z":9}]}],"t":[{"a":[{"b":[{"r":5}],"j":[{"á":19,"k":5,"t":5}],"k":[{"r":[{"é":9}],"t":[{".":52,"o":52}]}],"l":[{"h":5,"j":[{"a":52}],"m":52,"s":5,"u":19,"v":[{"á":5}]}],"r":[{"a":51,"á":52,"c":52,"z":5}],"s":[{"á":11}],"u":[{"t":5}],"z":[{"o":5}]}],"á":[{"c":11,"g":[{".":5}],"l":5,"p":[{"o":5},11],"r":[{"a":[{"d":51,"i":51,"m":5}],"á":51,"b":52,"n":52,"o":51,"t":52,"u":51}],"s":[{"á":[{"s":85}],"z":4}],"t":[{"f":52,"u":52,"v":5}]}],"b":[{"l":5,"r":5,"u":53}],"d":[{"r":5}],"e":[{"c":19,"j":5,"l":[{"l":5,"n":5,"v":5}],"m":[{"b":52,"l":5}],"n":[{"g":5}],"r":[{"á":11,"i":[{"k":11},32],"ő":5}],"x":5}],"é":[{"d":19,"e":10,"g":[{"e":5,"é":5},11],"k":[{"a":[{"j":11,"l":2,"s":11}],"e":[{"m":3,"s":3},11],"o":[{"l":11}],"ü":14}],"l":19,"p":11,"r":[{"b":52,"i":51,"r":52,"z":52}],"t":[{"á":2}]}],"f":[{"é":[{"s":53}],"r":5}],"g":[{"r":5}],"h":[{"i":[{".":6,"a":6,"d":53}]}],"i":[{"a":[{"g":11,"l":11}],"d":11,"g":[{"é":52},11],"l":[{"l":5}],"n":[{"g":52}],"p":[{"a":19}],"r":[{"á":52}],"s":[{"k":5,"t":5}],"t":[{"a":51}],"z":[{"é":52,"m":52,"o":51}]}],"í":[{"g":5,"r":51,"v":19}],"k":[{"e":[{"l":53}],"l":5,"r":19}],"l":[{"e":[{"g":[{"e":26},30]}]}],"m":[{"ű":[{"t":[{"r":32}]}]}],"o":[{"j":5,"k":[{"o":[{"l":[{".":5},11],"z":19}],"t":[{"a":5}]}],"l":[{"j":47,"t":47}],"m":[{"l":5}],"n":[{"t":5}],"p":5,"r":[{"a":[{"n":11,"s":11}],"á":[{"c":11,"l":11}],"e":11,"i":[{"s":11}],"o":[{"l":14}],"z":[{"á":5}]}],"x":51}],"ó":[{"i":[{"k":[{"o":10}]}],"p":8,"r":[{"i":5}]}],"ö":[{"b":5,"l":[{"é":5},11],"m":[{"l":5}],"n":5,"t":5,"v":51,"z":19}],"ő":[{"r":19}],"p":[{"l":5,"r":5,"s":5}],"r":[{"i":[{"l":6}]}],"s":[{"k":5,"l":5,"m":5,"p":5,"r":5,"t":5,"z":[{"ű":53}]}],"t":[{"e":[{"k":[{"i":53}]}],"é":34,"r":19}],"u":[{"d":[{"v":52}],"g":52,"h":52,"j":52,"m":[{"i":[{"n":11}]}],"n":11,"r":51,"s":[{"z":[{"e":11}]}],"t":51}],"ú":[{"j":5,"r":[{".":52,"b":52,"h":52,"i":5,"n":52,"o":51,"r":52}],"s":51}],"ü":[{"g":52,"l":5,"t":52,"v":51}],"ű":[{"r":5}],"v":[{"á":[{"r":53}],"e":[{"v":53}]}]}],"u":[{"g":[{"a":6,"o":6}],"n":[{"á":6,"o":6,"ó":6,"u":6}],"s":[{"z":6}],"t":[{"a":6,"á":6}]},48],"ú":[{"s":[{"z":6}]},48],"ü":[{"g":[{"e":6,"y":6}],"l":[{"e":6,"é":6,"ö":6,"ő":6,"ü":6}],"r":[{"í":6}],"t":[{"é":6,"i":6,"ö":6,"ő":6,"ü":6}],"v":[{"ö":6}]},48],"ű":48,"v":[{"a":[{"d":[{"m":5}],"j":[{"k":52}],"k":[{"t":5}],"l":[{"k":5,"t":5}],"s":[{"p":5,"t":9,"z":75}],"t":8,"u":52,"z":[{"o":5}]}],"á":[{"l":[{"s":5}],"t":[{"e":5,"f":5,"h":52,"j":52,"k":52,"u":52}]}],"e":[{"g":[{"é":[{"s":[{"z":28}]}]}],"l":[{"é":3},51]}],"é":[{"d":[{"e":19,"r":9}],"r":[{"i":51,"t":[{"e":52,"é":52}]}]}],"f":[{"r":5}],"i":[{"g":[{"a":52,"é":52}],"n":[{"d":5,"f":52,"g":52,"t":52}],"r":[{"á":51,"o":52}],"s":[{"i":51,"k":5,"m":5}],"z":[{"m":5,"o":5}]}],"í":[{"r":5}],"o":[{"b":52,"l":[{"v":52}],"p":52,"s":[{"z":52}]}],"ó":[{"r":[{"á":5}]}],"ö":[{"r":5,"s":5,"v":5}],"ő":[{"r":5}],"p":[{"r":5}],"s":[{"k":5,"p":5,"t":5}],"t":[{"r":5}],"u":[{"g":52,"r":52}],"ú":[{"s":[{"z":51}],"t":[{"i":52,"o":52},11]}],"ü":[{"g":5,"z":19}]}],"z":[{"a":[{"b":[{"l":52,"s":5}],"d":[{"a":[{"l":11}],"e":2,"o":[{"t":[{"t":11}]}],"ü":11}],"j":[{"t":5}],"k":[{"c":5,"ó":51,"t":[{".":52,"a":52,"á":5,"u":52}]}],"l":[{"a":[{"p":19}],"e":51,"k":52}],"n":[{"a":52,"o":52,"y":52},11],"p":51,"r":[{"á":19,"c":5,"m":5}],"s":[{"s":[{"z":52}],"z":[{"t":52}]}],"t":[{"a":[{"l":2,"n":11}],"e":[{"l":14},32],"é":[{"r":[{".":14,"v":14}],"s":11}],"i":[{"k":11}],"í":11,"y":5}],"u":51}],"á":[{"g":51,"l":51,"r":[{"a":[{"i":51,"k":51,"m":51,"s":51,"t":51}],"á":[{"r":11,"t":11}],"b":52,"c":52,"d":52,"é":51,"f":5,"i":51,"j":[{"á":[{"b":52,"v":52}]}],"k":[{"a":52}],"o":[{"k":[{"k":51,"r":51}]}],"p":52,"r":[{"á":52}],"u":[{"n":[{"k":[{"n":19,"r":19}]}],"s":[{".":20}]}]}],"s":[{"s":27}],"t":[{"a":51,"á":72,"b":5,"e":60,"é":52,"h":5,"r":52,"s":5,"ü":52}],"z":52}],"b":[{"l":5}],"d":[{"r":19}],"e":[{"f":5,"g":19,"m":19,"p":5,"r":19,"s":19,"t":19,"x":5,"z":19}],"é":[{"g":52,"l":51,"p":51,"r":[{".":52,"ő":52,"t":[{"e":52,"é":52,"ő":52}],"z":52}],"t":[{"e":51}],"v":[{"e":52,"i":5}]}],"f":[{"l":5,"r":5}],"g":[{"r":19}],"i":[{"d":51,"g":[{"é":52}],"k":[{"o":[{"n":51}]}],"l":[{"l":52}],"m":[{"á":52,"i":52,"p":5}],"n":[{"f":52,"g":52,"j":52,"t":52}],"p":[{"a":[{"r":51}]}],"r":[{"á":5,"o":5}],"s":[{"e":14,"i":[{"r":11}],"í":2,"s":27,"ü":14,"z":[{"ó":11}]}],"z":[{"m":5,"o":5},11]}],"í":[{"j":5,"v":19}],"k":[{"l":19,"r":19}],"o":[{"l":[{"d":[{"a":52}],"t":[{"a":[{"l":0}],"ó":52}]}],"m":[{"l":5}],"n":[{"t":52}],"r":51,"s":[{"z":52}]}],"ó":[{"i":[{"k":[{"o":10}]}],"l":[{".":5}],"r":[{"á":19,"i":52}],"s":[{"p":8,"z":9}]}],"ö":[{"b":5,"d":5,"l":19,"m":5,"n":5,"s":5,"t":19,"v":19,"z":5}],"ő":[{"r":19}],"p":[{"l":5,"r":19}],"s":[{"a":[{"b":0,"d":61,"g":61,"j":[{"t":9}],"k":[{"n":56}],"l":[{"a":9,"k":9,"l":9}],"m":[{"u":56}],"n":[{"y":9}],"r":[{"á":9},0],"t":0,"u":56}],"á":[{"l":[{"l":56}],"r":[{".":55}]}],"e":[{"b":25,"c":8,"f":9,"g":9,"l":8,"m":8,"s":9},0],"é":[{"j":0,"k":61,"n":[{"e":9}],"r":[{"e":56,"i":56}],"t":[{"e":9},10]}],"i":[{"a":0,"á":0,"d":[{"e":0}],"g":[{"a":56,"á":9,"e":0},10],"m":[{"m":0}],"n":[{"g":56,"t":56,"v":0}],"ó":0,"p":0,"s":[{"k":9}],"t":[{"a":56}],"z":0}],"í":61,"o":[{"r":25}],"ó":[{"h":25,"r":8}],"ö":0,"ő":61,"s":9,"u":[{"j":56,"t":56}],"ú":[{"t":[{"o":0}]}],"ü":[{"v":8},0],"ű":55,"z":[{"á":25,"o":[{"n":20}]}]}],"t":[{"r":19}],"u":[{"d":52,"g":52,"j":52,"r":51,"t":52}],"ú":[{"j":52,"r":52}],"ü":[{"g":51,"l":11,"r":5,"z":19}],"y":[{"i":9}],"z":[{"s":[{"e":25}]}]}]}],"b":[{".":47,"a":[{"a":[{"d":11}],"b":[{"a":[{"d":[{"a":[{"t":13}]}],"j":[{"k":12}],"k":15,"r":[{"a":12,"c":12}],"s":[{"z":[{"t":12}]}]}],"á":[{"b":[{"r":12}],"c":[{"s":[{"i":12}]},10],"g":12,"l":[{"l":9}],"r":[{"o":13}],"t":[{"v":6}]}],"é":[{"r":[{"c":12}],"t":[{"e":9},10],"v":6}],"i":[{"k":6,"n":[{"a":[{".":13}]}]}],"o":[{"l":[{"a":6,"d":9}]}],"ó":[{"r":13}],"u":[{"l":[{"t":12}]}],"ü":6}],"c":[{"h":[{"u":21}],"s":[{"o":[{"r":6}]}]}],"d":[{"a":[{"g":58,"s":6,"t":[{"o":58}]}],"á":[{"r":12}],"e":[{"g":6,"s":13}],"o":[{"g":6,"m":[{"á":47}]}],"ó":[{"d":6,"i":6,"j":6,"k":6,"t":6}],"u":[{"j":6}],"ú":[{"s":6}]}],"e":[{"g":[{"é":[{"s":[{"z":28}]}]}],"r":11}],"é":[{"r":11}],"f":[{"l":5,"r":19}],"g":[{"a":[{"i":6}],"n":19,"r":19,"y":[{".":86}]}],"i":[{"z":11}],"j":[{"a":[{"g":6}],"á":[{"r":[{"u":13}],"t":[{"o":13}]}],"k":[{"ú":47}],"ó":[{"r":13}],"ü":6,"ű":6}],"k":[{"a":[{"p":[{"ó":13}],"s":[{"z":[{"t":6}]},47]}],"á":[{"c":[{"s":8},62],"l":[{"l":9}]}],"c":47,"e":[{"g":6}],"é":[{"r":[{".":12,"i":12}]}],"k":9,"l":[{"i":19,"u":5}],"o":[{"v":13}],"r":[{"i":19}],"t":[{"u":86},8],"u":[{"r":[{"a":9,"á":9},10]}],"y":6}],"l":[{"a":[{"n":[{"y":86}]}],"á":[{"l":58}],"e":[{"s":13}],"í":12,"l":[{"a":[{"k":11,"n":11}],"á":[{"l":11,"s":14,"z":11}],"e":[{"g":11,"l":14,"m":11,"s":11},32],"é":[{"l":2}],"i":[{"n":11}],"ó":[{"r":11}]}],"t":[{"é":11,"i":[{"z":11}]}],"u":[{"d":6}]}],"m":[{"p":86}],"n":[{"a":[{"l":47,"t":58}],"á":[{"s":[{"s":38}]}],"c":[{"e":14,"s":27}],"g":[{"y":86}],"k":[{"a":[{"b":11,"d":2,"l":2,"r":11}],"e":[{"r":11},32],"é":[{"p":11,"r":[{"d":11}]}],"i":[{"r":11}],"o":[{"l":11}],"u":[{"t":11},32]}],"y":[{"ó":6}]}],"o":[{"k":11,"l":11}],"ó":[{"r":11}],"p":[{"l":19,"r":[{"o":5}]}],"r":[{"c":[{".":86,"é":86,"n":86,"o":86,"r":86,"s":[{"a":[{"d":11,"l":11,"n":11}],"ö":11}],"ú":86}],"g":[{"u":86}],"o":[{"m":[{"a":10}]}],"t":[{"é":86}]}],"s":[{"á":[{"g":[{"g":7}]}],"e":[{"b":6}],"l":[{"á":5}],"m":19,"n":[{"i":5}],"p":[{"e":86,"ó":19}],"s":[{"z":[{"e":20}]}],"t":[{"a":19,"á":19}]}],"t":[{"e":[{"s":[{"t":[{"i":12}]}]}],"r":[{"á":19,"e":5,"é":5}]}],"u":[{"d":6,"l":58,"r":11}],"v":[{"a":[{"t":58}]}],"y":[{"i":5}]},53],"á":[{"b":[{"a":[{"l":6,"s":[{"s":12}]}],"á":[{"l":6}],"e":[{"s":12}],"i":[{"k":6}],"ö":6,"ü":12}],"c":[{"s":[{"o":[{"r":6}],"ü":6}]}],"g":[{"a":58,"ú":54,"y":[{"a":[{"l":6,"r":6}],"o":[{"t":[{"t":6}]}],"ö":6,"ú":6}]}],"j":[{"e":13,"n":[{"á":14}],"ó":13,"ö":13,"t":[{"a":[{"k":2}]}],"ü":6}],"k":[{"o":[{"s":7}]}],"l":[{"a":[{"j":6,"p":12}],"e":13,"é":[{"j":12},10],"i":[{"d":6,"n":[{"g":12}],"o":13,"s":11}],"l":[{"í":86,"o":86,"v":86}],"m":47,"ö":6,"ü":6,"y":[{"a":[{"d":6,"l":24,"n":23}],"á":[{"z":23}]}]}],"n":[{"i":[{"a":[{"s":10}]}],"r":[{"é":11}],"y":[{"a":[{"i":[{"é":32}]}]}]}],"p":[{"o":6}],"r":[{"a":[{"d":58,"i":58,"j":12,"m":58,"p":6,"s":6,"t":87}],"á":[{"b":58,"g":6,"r":6,"s":12,"t":58}],"d":[{"a":[{"s":11}],"á":14,"e":11}],"e":12,"é":[{"n":6}],"i":[{"á":58,"o":8,"p":13}],"í":6,"n":[{"y":86}],"ó":[{"n":[{"é":[{".":13}]}]}],"u":[{".":47,"f":47,"g":58,"h":58,"j":86,"k":58,"r":[{"a":[{".":8}]},86],"s":47,"t":86,"v":47}],"ú":[{"r":6},47],"ü":6}],"s":[{"á":[{"r":[{"é":13}]}],"e":6,"i":[{"s":6}],"z":[{"a":[{"k":24,"n":6,"s":6}],"á":[{"l":24,"r":[{"u":23}]}],"e":6,"i":[{"l":6,"p":6}],"í":6,"ö":6,"ü":6}]}],"t":[{"a":[{"k":13,"l":12}],"á":13,"e":88,"ö":6,"ü":6}]},53],"b":[{"a":[{"d":[{"a":19,"d":5}],"k":[{"a":[{"s":19}]}],"l":[{"k":52,"s":52,"u":52,"v":52}],"n":[{"y":51}],"p":52,"r":[{"a":51}],"t":11,"u":52}],"á":[{"g":[{"y":[{"a":[{"s":11}]}]}],"l":[{"l":52,"m":5}],"p":52,"r":[{"n":5,"u":19}],"s":51,"t":52}],"d":[{"r":5}],"e":[{"g":11,"k":[{"é":[{"n":51}]}],"l":[{"v":52}],"m":[{"b":52}],"n":[{"g":5}],"r":[{"j":5,"n":5,"ő":5,"ű":19}],"s":[{"t":[{"é":5}]}],"t":[{"n":52}],"x":52}],"é":[{"g":52,"l":[{".":5,"e":5,"h":5,"j":5,"n":5,"t":5,"ű":19,"v":5}],"p":52,"r":[{"l":5,"m":52,"t":[{"e":52,"é":52}],"v":5}],"v":[{"i":52}]}],"f":[{"r":5}],"i":[{"d":[{"e":19}],"g":[{"a":[{"z":22},52]}],"l":[{"l":[{"a":5}]}],"n":[{"d":52,"t":52,"v":52}],"t":[{"a":[{"t":11}],"t":52}]}],"í":[{"r":51,"v":52}],"k":[{"l":5,"r":5}],"o":[{"k":[{"t":52}],"l":[{"t":[{"á":5}],"v":52}],"p":52,"t":[{"t":5}]}],"ó":[{"b":52,"r":19}],"ö":[{"m":51,"r":[{"ö":5},11],"s":52}],"ő":[{"r":[{"i":5,"z":5}],"s":51}],"p":[{"l":5,"r":5}],"s":[{"k":5,"p":5,"t":42}],"t":[{"r":19}],"u":[{"d":52,"g":51,"j":52,"r":[{"a":5},11],"t":51}],"ú":[{"g":[{"á":[{"s":22}]}],"j":52,"s":51}],"ü":[{"g":52,"r":52,"z":52}],"ű":[{"z":19}],"v":[{"í":6}]}],"c":[{"s":[{"z":25}]}],"d":[{"a":[{"c":[{"s":[{"a":[{"p":[{"á":18}]}]}]}],"d":8,"p":8,"s":[{"z":32},8],"t":8}],"é":[{"n":11}],"r":[{"á":6,"o":6,"ó":6}]}],"e":[{"a":[{"c":6,"d":11,"j":11,"k":11,"l":11,"n":11,"r":11,"s":11,"t":[{"e":14,"i":[{"n":11},6],"k":6,"l":6}],"v":11}],"á":[{"j":11,"s":11,"z":11}],"b":[{"l":5,"r":19}],"c":[{"s":[{"a":[{"r":6}],"á":[{"r":6}],"é":[{"r":[{"t":6}],"t":[{"e":23}]}]}]}],"d":[{"é":[{"n":6}],"z":6}],"e":[{"l":11,"s":11}],"é":[{"r":11}],"f":[{"l":5,"r":5}],"g":[{"é":[{"s":[{"s":38,"z":22}]}],"r":19,"y":[{"e":[{"l":6}],"l":48}]}],"i":[{"g":11,"s":11}],"í":[{"r":11}],"j":[{"e":[{"l":[{"t":12}]}],"t":47}],"k":[{"e":[{".":58,"c":[{"s":[{"a":10}]}]}],"é":[{"t":[{"ő":58}]}],"r":[{"é":19,"i":5,"ó":5}],"v":19}],"l":[{"á":[{"l":6}],"e":[{"í":32,"l":[{"s":9}],"m":[{"z":6}],"p":[{"r":15}],"t":[{"r":3},32]}],"é":[{"k":13,"r":[{".":12,"e":[{"n":13}],"r":12}]}],"í":6,"o":[{"f":6}],"ö":[{"l":6}],"ő":[{"a":58,"r":6}],"p":8}],"m":[{"e":[{"l":47}],"l":86,"u":[{"s":54}]}],"n":[{"á":[{"l":12}],"é":[{"k":12}],"n":[{"a":2,"á":11,"e":[{"r":2}],"é":[{"g":11}]}],"y":[{"e":[{"g":23}]}]}],"o":[{"k":11,"l":11,"m":11}],"ó":[{"v":11}],"ö":[{"r":11}],"p":[{"e":[{".":6,"d":6}],"é":58,"l":19,"r":19}],"r":[{"a":[{"d":12,"l":[{"á":9,"l":9}],"n":[{"y":9},10],"p":13,"r":13,"s":[{"s":9}],"t":13,"v":12,"z":6}],"á":[{"g":25,"l":[{"l":9}]}],"d":[{"e":[{"i":48}],"ő":47}],"e":[{"g":[{"é":9,"y":9}],"k":[{"e":[{".":13,"g":30}],"é":[{"k":12}]}],"l":[{"l":12,"m":12,"ő":[{"d":[{"ö":6}],"n":12}]}],"m":[{"é":13,"l":12}],"p":[{"é":13}],"r":13,"s":[{"z":[{"ü":8}]}],"t":[{"e":[{"t":13}]}]}],"é":[{"g":6,"k":[{"k":12}],"s":[{"s":9}]}],"i":[{"n":[{"g":[{"ü":9}]}],"s":[{"m":6,"t":12,"z":[{"o":9}]}]}],"o":[{"l":[{"d":9}],"r":6,"s":[{"z":9}]}],"ó":[{"l":6,"r":13}],"ő":[{"d":86,"s":[{".":9,"e":8,"i":8,"ü":8}]},6],"s":39,"t":[{"a":[{"n":[{"á":[{"s":64}]}]}]}],"u":[{"b":12,"n":12,"r":6,"t":12}],"ü":[{"g":13,"l":[{"d":12,"é":12,"t":12},10]}]}],"s":[{"e":[{"m":6}],"é":[{"l":86,"s":58}],"k":[{"a":5,"á":5}],"l":19,"m":19,"ő":58,"p":89,"s":[{"z":[{"a":7,"á":7}]}],"t":[{"a":19,"e":47,"é":47,"i":[{"l":19}],"o":5}],"z":[{"e":[{"t":58}],"é":[{"t":58}],"m":48,"t":[{"a":17,"á":30}]}]}],"t":[{"e":[{"g":[{"é":[{"r":[{".":7}]}]}]}],"é":[{"t":[{"e":[{"l":[{"b":30,"k":10}]}]}]}],"h":[{"i":19}],"r":[{"a":19,"á":5,"é":19,"o":19}]}],"u":[{"g":11,"t":11}],"ü":[{"t":11}],"v":[{"e":[{"z":[{"ő":6}]}],"o":[{"l":58}],"ő":58}],"z":[{"r":86}]},53],"é":[{"b":[{"r":86}],"c":[{"s":[{"ú":6}]}],"d":[{"a":[{"s":12}],"á":12,"é":47,"h":47,"j":47,"l":47,"o":12,"ö":6,"r":47,"ü":47,"v":47}],"g":[{"ő":6}],"k":[{"a":[{"l":[{"k":9}]}],"s":[{"z":86}]}],"l":[{"a":[{"k":[{"t":12}],"n":13,"p":13,"r":13}],"á":[{"l":6,"t":[{"o":12}],"z":13}],"e":[{"d":12,"g":13,"k":6,"r":13,"t":58}],"é":[{"j":13}],"i":[{"z":6}],"í":6,"j":47,"o":12,"ó":6,"ö":6,"ő":58,"t":[{"r":9},10],"u":[{"l":6}],"ú":6,"y":[{"e":[{"c":24,"n":21}],"i":[{"n":6}],"ö":6}]}],"p":[{"í":6,"ü":6}],"r":[{"a":[{"i":58,"j":12,"l":6,"n":13,"p":6,"r":6}],"á":[{"b":86,"h":86,"v":86},6],"d":[{"e":86}],"e":[{"b":6,"l":[{"e":[{"m":[{"e":12,"é":13,"h":13,"k":13,"n":13,"r":13}]}],"l":12,"m":6,"ő":[{"i":12}]}],"n":[{"g":12}],"s":[{"s":[{"z":9}],"z":12}]}],"i":[{"d":12,"r":6}],"í":6,"n":[{"i":48}],"ö":6,"s":9,"t":[{"e":[{"l":47}],"é":[{"s":86}],"r":9},10],"u":[{"t":6}],"ú":6}],"s":[{"z":[{"a":23,"á":6,"o":24}]}],"t":[{"a":[{"s":3}],"e":[{"l":47}],"h":19,"k":86,"t":86}],"v":[{".":86,"e":[{"k":6,"n":58,"s":58,"t":6}],"i":[{".":6}],"n":86}],"z":[{"s":[{"ú":6}]}]},53],"f":[{"e":[{"j":[{"e":[{"l":[{"s":3}]}]}],"l":[{"e":[{"n":11}]}]}],"é":[{"n":11}],"l":[{"a":6}],"r":[{"á":6,"e":6,"i":6,"o":6}]}],"g":[{"r":[{"a":6,"á":6}],"y":[{"ö":[{"k":[{"ö":[{"l":30},26]}]}]}]}],"i":[{"a":[{"d":11,"e":6,"g":6,"l":[{"a":11}],"v":11}],"b":[{"r":5,"y":5}],"c":[{"s":[{"z":20}]}],"d":[{"a":[{"d":12,"l":12},10],"e":[{"g":6,"l":6}],"ő":58}],"e":[{"d":6,"l":11}],"f":[{"r":5}],"g":[{"a":[{"z":6}],"á":[{"j":58}],"é":[{"n":47}]}],"h":[{"a":[{"t":58}]}],"k":[{"a":[{"l":[{"a":9}]}],"á":[{"l":12}],"e":[{"m":12}],"i":[{"k":6}],"l":[{"u":5}],"ő":13,"r":[{"o":19}],"s":9}],"l":[{"i":[{"m":[{"a":9}],"n":[{"t":9}],"s":[{"s":38}]}],"l":[{"é":47,"ő":86,"u":47}],"ü":6}],"m":[{"a":[{".":6}],"i":58,"p":86}],"n":[{"a":[{"b":6,"d":58,"j":6,"t":[{".":58}]}],"á":[{"r":[{"b":12}]}],"d":[{"á":86}],"é":[{"t":[{"e":12}]}],"k":[{"á":86}],"n":20,"ü":6,"y":5}],"o":[{"a":6,"á":6,"b":6,"c":6,"d":6,"e":6,"é":6,"f":6,"g":[{"e":6}],"k":6,"l":6,"m":6,"n":58,"r":6}],"ó":[{"r":11}],"p":[{"a":[{"r":6}],"l":19,"r":5}],"r":[{"a":[{"m":58,"t":58}],"á":[{"n":58}],"k":[{"á":[{"i":47}]}],"o":[{"d":[{"á":47}]}],"r":86,"t":[{"á":86,"ó":86}]}],"s":[{"h":[{"i":11}],"i":58,"m":47,"ö":6,"p":19,"s":20,"t":[{"o":19}]}],"t":[{"a":[{"r":[{"á":9}]}],"e":[{"g":13,"l":[{"h":9,"r":9,"t":9}],"r":[{"a":30}]}],"i":[{"n":[{"g":12,"t":12}],"o":13}],"o":[{"n":12}],"t":8,"u":[{"r":[{"a":9}],"t":12}]}],"ú":[{"s":11}],"v":[{"a":[{"r":6}],"á":[{"s":58}]}]},53],"í":[{"j":[{"a":6}],"r":[{"ó":[{"é":[{"r":32}]}]}],"v":[{"e":6,"é":6,"ű":6}],"z":[{"ü":58}]},53],"k":[{"é":[{"s":[{"s":27}]}],"l":[{"i":6,"u":6}],"r":[{"a":6,"á":6,"e":6,"é":6,"i":6,"í":6,"o":6,"ó":6}]}],"l":[{"a":[{"b":[{"l":50}],"i":[{"k":10}],"k":[{"a":[{"d":15,"l":11,"n":14}],"á":[{"t":[{"m":14,"t":14}]}],"e":[{"m":11}],"i":[{"k":11}],"o":[{"l":14}],"ü":11}],"p":[{"e":3,"l":8}],"s":[{"t":8}]}],"á":[{"s":[{"s":3}]}],"b":[{"e":6}],"e":[{"r":[{"i":14}],"s":10,"t":[{"a":[{"k":14,"n":2}],"á":2,"e":[{"l":2,"r":11,"s":[{"z":11}]}],"é":[{"l":11,"r":[{"d":14}],"t":[{"k":14}]}],"i":[{"g":[{"a":[{"z":65}]}]}],"o":14,"ó":11,"ö":2,"u":11,"ü":[{"z":11}]}],"ü":10,"v":[{"e":[{"s":[{"s":22}]}]}]}],"h":[{"e":6}],"i":[{"a":[{"f":11,"s":11}],"o":[{"f":11}]}],"j":[{"a":[{"n":[{"a":48}]}]}],"n":[{"e":6}],"o":[{"k":[{"k":[{"ö":17}]},50],"n":[{"á":14,"n":27}]}],"ő":[{"z":[{"é":52}]}],"r":[{"e":6,"ő":6}],"t":[{"ő":6}],"u":[{"e":[{"s":[{"z":11}]}]}]}],"o":[{"a":[{"á":6,"b":6,"d":6,"e":6,"f":6,"h":6,"j":6,"m":6,"r":6,"t":6,"v":6}],"c":[{"a":[{"k":12}],"e":6,"é":6,"h":21,"s":[{"é":6}]}],"d":[{"y":5}],"e":[{"i":6}],"f":[{"l":5}],"g":[{"a":[{"k":13,"t":13}],"á":[{"c":13,"s":[{"s":7}]}],"e":12,"o":[{"s":[{"z":12}]}],"ó":[{"s":[{"z":[{"á":10}]}]}],"y":[{"o":6}]}],"k":[{"a":[{"p":3}],"í":58,"o":[{"z":54}],"s":[{"z":[{"a":[{"k":11,"l":11}],"á":[{"l":44}],"e":[{"l":11}],"é":[{"l":11},26],"i":[{"n":44}],"ó":11,"ő":44}]}],"t":[{"a":86}]}],"l":[{"a":[{"j":[{".":47}]}],"á":[{"s":[{"s":7}]}],"d":[{"ó":86}],"i":[{"m":58}],"o":[{"g":15}],"t":[{"e":14,"ö":2,"ü":2}],"v":[{"a":[{"s":47}]}]}],"n":[{"a":[{"v":[{"a":9}]},3],"c":[{"a":[{"n":11}],"e":14,"h":11}],"d":47,"e":13,"é":[{"r":[{".":12}]}],"o":[{"r":12}],"t":[{"i":14}],"ü":6}],"o":[{"g":6,"k":6,"m":6,"t":6}],"p":[{"e":6}],"r":[{"a":[{"d":13,"k":[{"a":12,"k":9,"v":12}],"l":13,"n":[{"y":9},10],"r":6,"s":[{"z":9}],"t":[{"r":9}],"u":12,"v":12,"z":6}],"á":[{"c":[{"s":9}],"l":[{"l":12}],"z":12}],"d":8,"e":[{"c":8,"l":9,"r":8,"s":9},6],"f":[{"i":[{"ú":[{"k":[{"é":32}]}]}]},8],"i":[{"k":[{"o":13}],"l":12,"n":[{"g":12,"t":12}],"s":[{"k":12,"s":12,"t":12}],"t":[{"t":12}],"z":12}],"k":8,"n":[{"a":[{"m":86}]}],"o":[{"n":[{"d":12}]}],"ó":[{"r":13}],"ö":6,"ő":6,"r":[{".":86,"ú":86}],"s":[{"e":[{"p":[{"r":[{"ű":14}]}]}],"o":[{"r":[{"s":11}]}],"t":[{"r":9}],"ü":[{"l":11,"t":11}]}],"t":[{"r":[{"e":9,"é":9}]}],"ü":6,"v":[{"í":[{"z":22}]}],"z":[{"á":[{"r":[{"a":[{"k":2}]}]}],"s":[{"a":11,"e":4}]}]}],"s":[{"z":[{"t":86}]}],"t":[{"a":[{"g":13,"l":12,"r":6,"s":6,"u":13}],"á":[{"c":12,"r":6}],"e":13,"i":[{"l":12,"n":[{"f":9,"t":9}],"p":13}],"í":6,"ó":13,"ö":6,"u":[{"r":6}],"ú":[{"r":6},10],"ü":6,"ű":6}],"u":[{"i":6,"l":6,"r":6}],"y":[{"a":5,"á":5,"é":5,"i":5,"o":5,"u":5}],"z":[{"a":[{"r":6}],"á":[{"l":6}],"e":13,"i":[{"d":6,"p":13,"r":12}],"í":6,"o":[{"l":[{"d":12}]}],"s":21,"ü":6,"ű":6}]},53],"ó":[{"a":[{"d":11}],"á":[{"g":11,"r":11}],"b":[{"é":6}],"c":[{"a":[{"l":6}],"h":6,"ü":6}],"f":[{"l":5}],"k":[{"r":[{"é":5}]}],"l":[{"i":[{"a":10}],"m":48}],"p":[{"l":19,"r":19}],"r":[{"a":[{"d":12,"n":12,"t":6}],"á":[{"s":[{"v":9},6]},47],"e":[{"g":6,"l":6}],"i":[{"n":12,"z":6}],"o":[{"l":12}],"ó":[{"s":6},10],"ö":6,"t":10,"ü":6}],"s":[{"p":19,"z":5}]},53],"ö":[{"c":[{"h":6}],"l":[{"á":6,"b":47,"c":[{"s":[{"ü":11}]}],"é":[{"r":58}],"h":[{"ö":47}],"i":[{"g":47}],"k":[{"ú":48},47],"r":47,"t":[{"ö":86,"ő":47}],"ú":6,"y":[{"ö":[{"k":[{"ö":6}]}]}]}],"m":[{"l":48}],"n":[{"á":6,"t":86}],"r":[{"a":6,"e":12,"o":6}],"s":[{"s":[{"z":86}]}],"t":[{"l":86,"s":86}],"v":[{"e":6}]},53],"ő":[{"r":[{"a":13,"á":13,"e":[{"g":13,"l":13,"m":12,"n":12,"r":13}],"é":[{"g":13,"k":6,"s":12}],"i":[{"l":6,"n":[{"g":12}],"p":6,"s":13,"z":[{"g":9},6]}],"l":47,"o":13,"ö":[{"l":9}],"ő":6,"r":[{"e":[{"n":26}]}],"s":8,"u":12,"ú":6,"ü":[{"g":13,"l":13}]}],"s":[{"i":47}]},53],"p":[{"l":[{"a":6,"á":6,"e":6}],"r":[{"e":6,"é":6,"í":6,"o":[{"j":48},6],"ó":6}]}],"r":[{"a":[{"k":[{"á":2,"ö":[{"s":11}]}],"p":8,"t":[{"y":53}]}],"á":[{"n":[{"a":[{"g":11,"s":11}],"á":[{"t":14}],"t":32}],"s":[{"z":[{"á":[{"l":44}],"e":11}]}]}],"i":[{"c":0,"d":[{"a":11,"á":11,"e":[{"r":11}]}],"g":50,"n":[{"o":11}],"ó":[{"d":11,"f":11,"m":11}],"t":[{"e":[{"l":11}]}]}],"o":[{"s":[{"ú":0}]}],"ó":[{"m":[{"a":14,"e":11}]}],"u":[{"m":50}]}],"s":[{"é":[{"g":[{"e":[{"l":14}]}]}],"k":[{"á":54}],"l":[{"á":6}],"p":[{"e":6,"i":6,"o":6}],"t":[{"a":6,"á":6,"i":6,"í":6,"ú":6}],"z":[{"á":[{"r":[{"a":[{"d":[{"a":17}]}]}]}],"f":11,"k":76,"t":[{"á":11}]}]}],"t":[{"e":[{"r":[{"m":[{"o":[{"s":[{"z":78}]},22]}]}]}],"r":[{"á":6,"e":54,"é":6,"i":54,"o":54,"ó":54}]}],"u":[{"c":[{"h":6}],"d":[{"v":86}],"é":[{"r":11}],"g":[{"i":13}],"i":[{"l":6}],"j":[{"j":[{".":86,"a":[{".":47,"d":[{"a":2},47],"i":47,"k":47,"m":47,"s":47,"t":47}],"á":86,"b":47,"c":47,"d":47,"e":47,"é":47,"f":47,"g":47,"h":47,"i":47,"k":47,"l":47,"m":47,"n":47,"o":86,"p":47,"r":47,"s":47,"t":47,"u":47,"ú":47,"v":47}]}],"k":[{"j":[{"e":14}]}],"m":[{"a":[{"j":6}],"e":[{"l":6}],"i":[{"k":13,"n":[{"a":12}],"s":6}],"o":[{"l":6}]}],"r":[{"a":[{"l":86}],"b":48,"n":47,"ú":58}],"s":[{"e":6,"i":[{"n":6}],"o":[{"l":6}],"p":19,"s":[{"z":[{"e":20}]}],"z":[{"a":[{"b":6,"j":3,"l":6,"s":6}],"á":[{"l":24,"r":[{"a":[{"k":23}],"n":24}]}],"e":[{"n":3}],"é":[{"l":24,"p":23}],"i":[{"d":6,"l":24,"m":6,"n":6,"p":6,"z":6}],"í":[{"j":3},32],"s":27,"ü":6}]}]},53],"ú":[{"j":[{"í":6}],"r":[{".":47,"i":58,"t":47}],"s":[{"z":[{"á":6},47]}],"t":[{"i":54,"m":48}]},53],"ü":[{"d":[{"ü":6}],"g":[{"e":6,"y":6}],"k":[{"u":6}],"l":[{"d":86,"é":[{"n":13}]}],"n":[{"e":6}],"r":[{"ü":47}],"t":[{"e":58,"é":58,"ő":54}],"v":[{"e":58}],"z":[{"e":6}]},53],"ű":[{"n":[{"a":6,"á":6,"e":[{"l":6,"m":6,"s":6,"t":13}],"n":9,"o":6,"ó":6,"ő":13,"u":6,"ű":6}],"r":[{"i":6}],"v":[{"e":13}],"z":[{"a":13,"á":12,"o":6,"ő":12,"s":21}]},53],"v":[{"á":[{"n":[{"y":[{"a":[{"d":11}],"í":11}]}]}]}],"y":[{"t":[{"e":6}]}]}],"c":[{".":47,"a":[{"b":[{"l":86,"r":19}],"c":[{"é":[{"l":6}],"h":6}],"d":[{"á":[{"s":6}],"ó":58}],"e":[{"s":6}],"é":[{"n":[{"e":32}]}],"f":[{"r":[{"o":5}]}],"g":[{"g":86,"y":[{"a":[{"d":15},6],"u":6}]}],"j":[{"k":86}],"k":[{"a":[{"d":58}],"á":[{"c":6,"z":12}],"c":86,"k":[{"o":[{"l":11}],"ö":14}],"r":[{"i":5}]}],"l":[{"a":[{"g":30,"n":6,"s":13}],"b":[{"u":86}],"e":[{"s":[{"t":[{"e":12}]}]}],"é":[{"l":13,"t":[{"e":9},10]}],"i":[{"m":6,"p":12}],"o":[{"s":[{"z":9}]}],"p":9,"s":9,"ü":6,"y":5}],"n":[{"a":[{"l":6,"r":6}],"i":58,"n":[{"e":11}]}],"ó":[{"r":11}],"p":[{"ó":6,"r":[{"ó":19}],"s":19}],"r":[{"a":[{"n":6}],"á":[{"n":6}],"c":86,"i":[{"s":6}]}],"s":[{"p":19,"s":[{"z":86}],"t":[{"o":5,"r":5},10],"z":[{"t":86}]}],"t":[{"a":[{"u":6}],"e":[{"m":6}],"l":86}],"u":[{"k":54,"n":11}],"v":[{"a":[{"t":6}]}],"z":[{"o":58}]},53],"á":[{"b":[{"r":86}],"g":[{"a":6,"ú":6,"y":6}],"l":[{"a":6,"l":[{"á":48}],"m":86}],"n":[{"e":6,"é":[{"t":6}],"i":[{"r":6}]}],"p":[{"a":90,"o":58}],"r":[{"a":[{"d":58,"k":58,"s":12}],"i":[{"a":6,"á":6,"n":13}],"k":47,"p":86,"u":[{".":47,"h":58,"s":47}]}],"s":[{"á":[{"s":6}],"ó":58,"v":86,"z":[{"a":[{"i":58}],"o":58}]}],"t":[{"a":88,"h":48,"i":88,"m":86,"r":86,"t":86,"ü":58,"v":86}]},53],"b":[{"l":[{"o":6}],"r":[{"a":6}]}],"c":[{"a":[{"j":51,"k":52,"l":[{"b":5}],"n":[{"y":19}],"r":51,"u":52}],"á":[{"g":52,"l":52}],"b":[{"l":5}],"e":[{"f":5,"l":[{"m":52}],"m":[{"b":[{"e":[{"r":52}]}]}]}],"é":[{"p":52,"r":[{".":52,"t":[{"e":52}]}]}],"h":[{"e":25,"í":25,"o":55,"ő":25,"ú":25}],"i":[{"m":51,"n":[{"a":[{".":11}],"g":5}],"ó":[{"v":11}],"p":[{"a":19}],"r":[{"o":5}],"z":51}],"í":[{"r":5}],"k":[{"l":5,"r":19}],"o":[{"á":5,"v":52}],"ö":[{"n":5,"s":5,"z":5}],"p":[{"l":5,"r":5}],"s":[{"a":[{"p":41,"r":41,"s":9,"t":41}],"á":[{"l":9,"p":41,"s":9,"t":[{"l":9}]}],"e":[{"g":9,"l":[{"e":[{"m":9}],"l":9,"v":9}],"m":[{"b":[{"e":9}],"l":9}],"p":41}],"é":[{"l":9,"r":[{"t":[{"é":9}]}]}],"i":[{"v":9}],"o":[{"p":41,"r":[{"k":9,"o":25}]}],"ö":[{"l":8,"n":[{"t":9}]}],"s":9,"u":[{"t":9}],"ú":41,"ű":41,"z":[{"a":25,"á":25,"e":[{"n":20}],"ó":25}]},0],"ú":[{"j":5}],"ü":[{"g":52,"r":5}],"z":[{"á":25,"e":25,"s":25}]}],"d":[{"a":[{"l":[{"é":2,"i":14}]}],"e":[{"m":[{"e":[{"k":[{"é":2}],"l":14}]}]}],"r":[{"a":6,"á":6}]}],"e":[{"a":[{"l":11,"t":6,"u":6}],"á":[{"r":11}],"b":[{"é":[{"d":6}],"l":5}],"c":[{"h":[{"e":20},6]}],"d":[{"z":58}],"g":[{"a":[{"s":6}],"é":[{"k":13,"s":[{"s":38}]}],"i":[{"n":[{"a":6}]}],"o":[{"r":6}],"r":[{"á":19}],"u":6,"ú":6,"y":[{".":48,"b":48,"e":[{"n":6}],"i":54,"m":48,"r":48,"s":86}]}],"k":[{"e":[{".":58}],"l":5}],"l":[{"a":[{"d":86}],"á":[{"g":58}],"é":[{"r":9}],"f":86,"h":[{"a":86}],"j":[{"á":86}],"o":[{"s":58}],"ő":[{"a":54,"d":[{"ö":[{"t":[{".":47}]}]}],"f":58,"í":58,"ő":54}],"s":[{"ő":86}],"t":[{"á":86,"o":48}],"v":[{"á":86}]}],"m":[{"e":[{"l":[{"ő":58}]}],"l":86}],"n":[{"c":[{"c":3,"e":[{"g":14}],"s":4}],"g":86,"s":[{"é":[{"g":14}]}],"t":[{"a":[{"u":11}]}]}],"o":[{"l":11,"r":11}],"p":[{"e":[{".":58}],"i":58,"r":19,"s":[{"z":[{"a":18,"é":[{"p":18}],"i":11}]}],"t":[{"a":2,"é":[{"r":[{".":14}]}],"i":[{"m":11}],"o":[{"l":14}]}]}],"r":[{"e":[{"j":58}],"ó":[{"z":6}],"ő":58,"t":[{"a":2,"á":[{"r":11},32],"e":[{"g":11,"l":2,"m":[{"b":14}],"s":[{"t":14}]}],"é":[{"l":11,"n":14}],"o":[{"l":14}],"ö":14,"u":11,"ü":[{"z":14},32]}]}],"s":[{"e":[{"m":6}],"é":[{"s":58}],"ő":58,"t":[{"é":[{"j":2,"k":14}],"r":[{"a":5}]}]}],"t":[{"e":[{"g":13,"s":[{"s":[{"z":12}],"z":12}]}],"é":[{"t":13}],"h":47,"i":[{"l":[{"l":9}],"n":13,"z":6}],"n":47,"o":[{"n":47}],"r":[{"a":19}],"u":[{"s":12}],"ű":[{"d":6,"z":10}]}],"ü":[{"t":11}],"v":[{"é":[{"s":6}],"ő":6}],"z":[{"e":[{"r":58}],"r":[{"e":[{"d":[{"e":47}]}]}]}]},53],"é":[{"b":[{"r":86}],"d":[{"é":[{"l":6}]}],"g":[{"a":13,"á":13,"e":[{"g":12,"l":13,"r":[{"e":9,"é":9},31],"s":[{"e":[{"m":12}]}],"t":[{"é":6,"ő":6}]}],"é":[{"k":12,"p":6,"s":58}],"g":9,"i":[{"d":13,"g":[{"a":9,"é":6}],"m":6,"r":6,"z":12}],"o":[{"k":12,"l":6},10],"ó":6,"ö":6,"u":13,"ú":6}],"h":[{"a":[{"l":6,"n":6,"r":6},10],"e":[{"d":6,"g":13}],"i":[{"r":6}],"u":6,"ú":6}],"k":[{"s":86}],"l":[{"a":[{"n":8,"p":25,"r":8},6],"á":[{"b":6,"l":6,"r":13,"t":13}],"e":[{".":6,"d":6,"g":6,"i":6,"k":6,"l":13,"m":[{"b":9},6],"n":6,"r":12,"s":13,"t":58,"z":58}],"é":[{"b":6,"k":13,"n":[{"k":6}],"p":6,"r":[{"e":6}],"s":6}],"i":[{"m":6,"n":6,"r":6,"s":12,"z":6}],"í":6,"ó":6,"ö":13,"ő":13,"t":[{"r":9},10],"u":[{"t":12},10],"ü":6,"ű":58}],"p":[{"í":6,"ü":6}],"r":[{"a":[{"g":6}],"d":86,"é":[{"s":58}],"i":[{"n":[{"t":86},6],"s":6}],"s":9,"t":[{"é":86,"ő":[{".":86}]}],"ú":6,"z":86}],"s":[{"s":20,"z":[{"h":86}]}],"t":[{"k":86,"t":86}],"v":[{".":86,"a":[{"d":86}],"e":[{".":58,"i":47,"k":58,"n":58,"s":58,"t":58}],"é":[{"t":58}],"i":[{".":6}],"n":86,"ü":58}]},53],"f":[{"l":[{"ó":6}],"r":[{"a":6,"i":6,"o":6}]}],"g":[{"r":[{"a":6,"i":6}]}],"h":[{"a":[{"d":41,"j":91,"m":47,"n":[{"g":47}],"r":[{"c":91,"m":47}],"t":[{"á":47}],"v":91},53],"á":[{"m":91,"n":[{"y":41}],"z":41},53],"b":[{"l":5}],"e":[{"g":91,"v":47,"z":91},53],"é":53,"i":[{"b":91,"ó":91,"t":[{"e":[{"l":47,"t":47}]}],"ú":41},53],"í":53,"o":[{"d":8,"r":91,"s":[{"s":91}]},53],"ó":53,"ö":53,"ő":53,"p":[{"r":5}],"s":[{"c":5,"p":5}],"u":[{"r":11,"z":91},53],"ú":53,"ü":53,"ű":53},0],"i":[{"a":[{"a":6,"á":6,"b":[{"a":6,"o":6,"r":6},8],"c":6,"d":13,"e":6,"é":6,"f":[{"a":[{"g":11}],"r":6},9],"g":13,"h":6,"i":[{"k":6}],"í":6,"j":6,"k":[{"a":[{"r":6,"s":6}],"é":[{"n":[{".":6}]}],"ó":6}],"l":[{"a":6,"á":6,"e":6,"é":6,"o":6}],"m":6,"n":[{"y":6}],"o":6,"ó":6,"ö":6,"ő":6,"p":13,"r":6,"s":[{"z":[{"a":6,"á":6,"é":6,"o":6,"ó":6}]}],"t":[{"a":6,"á":6,"é":6,"o":6,"ű":6},8],"u":31,"ú":6,"ü":6,"ű":6,"v":6,"z":6}],"á":[{"l":[{"a":[{"n":11}]}],"n":[{"á":[{"r":11}]}],"ó":6}],"d":[{"e":[{"g":58,"o":6}],"é":58,"o":[{"m":58}],"ő":58}],"e":[{"r":11}],"f":[{"j":86}],"g":[{"a":[{".":58,"z":58}],"e":[{".":6}],"r":19}],"k":[{"e":[{"r":6}],"k":[{"a":[{"j":11,"n":11},32],"o":14}],"l":[{"a":19}],"r":[{"á":86}]}],"l":[{"á":[{"t":13}],"l":[{"u":47}]}],"m":[{"i":[{"t":6}],"p":[{"u":47}]}],"n":[{"a":[{"l":12}],"á":[{"r":[{"t":12}]}],"d":8,"e":[{"r":[{"e":13}]}],"f":47,"g":[{"e":86,"r":86}],"i":[{"m":6}],"k":[{"a":[{"c":11,"l":2}],"é":[{"r":[{"t":11}]}],"o":[{"l":11,"r":[{"s":11}]}],"ö":11}],"ö":6,"t":[{"a":[{"r":11}],"e":[{"s":14}]}],"u":[{"s":[{"s":7}]}],"ü":6,"v":86}],"o":[{"d":6,"f":6,"g":[{"r":[{"a":9}]},6],"i":6,"l":[{"o":25},6],"n":[{"n":58}],"p":6,"v":11}],"ó":[{"a":6,"á":6,"c":6,"d":[{"a":[{"r":6}]}],"e":6,"g":6,"í":6,"k":[{"a":[{"l":6,"m":6}],"á":6,"e":6,"l":12,"o":[{"m":6,"s":6}],"u":6}],"l":6,"m":[{"a":[{"g":6}],"á":6}],"n":[{"é":6}],"o":6,"ó":6,"ö":6,"ő":6,"p":12,"s":[{"á":6,"e":6,"é":[{"r":14}],"k":[{"á":13}],"z":[{"o":6}]}],"t":[{"á":6}],"ú":6,"ü":6,"z":[{"ó":[{"n":6}]}]}],"ő":[{"r":11}],"r":[{"a":[{"t":6}],"á":[{"n":58}],"o":[{"d":58}],"t":86}],"s":[{"i":[{".":6}],"k":[{"o":86}],"m":86,"p":86,"t":[{"a":[{"d":5}]}],"z":[{"i":24}]}],"t":[{"a":[{"j":12}],"á":[{"r":[{".":9,"a":9,"é":9,"o":9},10]}],"é":[{"r":[{"r":9}]}],"i":[{"k":6}],"o":[{"l":12}],"y":5}],"u":[{"m":[{"i":[{"n":11,"o":14},32],"k":[{"ö":[{"z":28}]}]}],"t":11}],"v":[{"a":[{"d":58}],"á":[{"s":58}]}]},53],"í":[{"j":[{"a":6,"é":6}],"m":[{"a":13,"á":12,"e":[{"l":13}],"é":[{"l":13}],"í":6,"o":6,"ö":6,"ő":6,"u":6}],"r":[{"á":6,"ó":6}],"v":[{"á":6,"e":6,"é":6}],"z":[{"s":6,"ü":6}]},53],"k":[{"a":[{"k":[{"a":32}],"l":[{"j":52}],"r":[{"c":52,"o":[{"m":11}]}]}],"á":[{"g":52,"l":[{"l":5}],"r":[{"n":52}]}],"e":[{"g":51,"p":9,"r":[{".":53,"k":53,"n":53}]}],"é":[{"p":[{"e":[{"l":2}]}],"r":[{"é":51,"l":52,"t":[{"é":52}]}]}],"f":[{"l":5,"r":5}],"i":[{"l":[{"l":5}]}],"í":[{"z":52}],"k":[{"l":5,"r":19}],"l":[{"u":6}],"o":[{"l":[{"a":51}],"p":[{"e":19}],"r":[{"r":[{"o":52,"u":0,"ú":0}]}],"s":[{"a":[{"k":50}]}],"u":52}],"ö":[{"b":52,"s":[{"s":5}]}],"r":[{"e":[{"á":6}],"i":54,"í":54}],"s":[{"p":5}],"ü":[{"g":52,"l":[{"t":5}],"t":52,"v":51}],"ű":[{"r":5}],"v":[{"a":6}]}],"l":[{"i":[{"s":11}],"u":[{"b":[{"a":14}]}]}],"m":[{"e":[{"l":[{"o":7}]}]}],"n":[{"y":[{"a":[{"k":10}],"o":[{"l":[{"c":[{"a":[{"n":43}]}]}]}]}]}],"o":[{"a":[{"t":6}],"á":[{"z":6}],"b":[{"e":6}],"e":[{"u":6}],"k":[{"a":[{"r":6}],"á":6,"e":6,"é":[{"l":6,"p":6}],"í":58}],"l":[{"a":[{"j":58}],"á":[{"r":[{"o":12}]}],"d":[{"a":86,"á":86,"ó":86}],"e":6,"i":[{"b":[{"r":12}],"m":[{"a":9},31],"n":[{"a":[{".":13}],"d":12,"g":12,"u":12}]}],"o":[{"r":13}],"v":[{"a":[{"d":47,"s":47}]}]}],"m":[{"b":[{"a":[{"l":11},32],"e":2,"i":[{"z":11}],"o":[{"l":11}],"ó":[{"r":11}],"ö":11}],"l":86}],"o":[{"l":6}],"p":[{"e":58,"f":[{"ő":14}],"y":5}],"r":[{"c":86,"i":58,"m":86,"o":[{"m":54}],"r":[{"o":86,"ú":86}],"v":47}],"s":[{"k":[{"o":[{"l":86}]}],"o":[{"k":[{"u":13}]}],"s":20,"z":[{"s":20,"t":86}]}],"u":[{"l":6,"n":6,"v":6}],"v":[{"i":6}]},53],"ó":[{"n":[{"i":54}],"r":[{"á":58,"i":54}],"v":[{"ó":6}]},53],"ö":[{"l":[{"t":[{"ö":48}]}],"s":[{"v":48,"z":48}],"t":[{"b":48,"e":92,"é":54,"f":48,"h":48,"i":54,"k":48,"m":48,"n":48,"r":48,"s":48,"t":48,"ü":54}],"v":[{".":48}],"z":[{"ö":6}]},53],"ő":[{"r":[{"ü":6}]},53],"p":[{"l":[{"a":6}],"r":[{"a":6,"e":6,"é":6,"i":6,"o":6,"ó":6}]}],"s":[{"a":[{"b":[{"l":47}],"d":[{"a":[{"t":93}],"á":93,"ó":93}],"k":[{"c":77}],"l":[{"a":[{"k":[{"j":11}],"p":[{"ú":11}]}],"á":[{"í":47,"t":47}],"b":47,"g":77,"k":77,"l":[{"e":5}],"m":77,"o":[{"m":[{"b":11}]}]}],"m":[{"b":5}],"n":[{"t":47}],"p":[{"á":[{"l":11}],"k":[{"a":47,"á":47}],"o":[{"r":11}],"ó":[{"k":[{"á":47,"r":47}],"s":[{"a":[{"b":47}]}]}]}],"r":[{"c":77,"g":47,"k":47,"z":77}],"s":[{"s":77}],"t":[{"ó":[{"r":2}]}],"v":[{"a":[{"r":[{"a":1}]}]}],"z":[{"o":5}]},53],"á":[{"b":[{"e":11}],"f":47,"g":[{"a":[{"k":19}],"u":19},47],"r":[{"a":[{"d":77,"k":93,"m":47,"t":47}],"á":[{"t":11}],"n":[{"y":77}],"u":[{"k":19}]}],"s":[{"á":77,"i":91,"ó":77}],"t":[{"á":[{"s":[{"á":[{"s":47}]}]}],"f":47,"m":47,"r":47}],"v":[{".":47,"o":91}]},53],"b":[{"l":5,"r":5}],"d":[{"r":19}],"e":[{"b":[{"é":47}],"c":[{"e":19,"s":[{"a":11}]}],"d":[{"é":93,"z":77}],"f":[{"f":5}],"g":[{"e":[{"s":19}],"í":47}],"k":[{"e":[{".":93}]}],"l":[{"f":47,"l":[{"á":47}],"ő":[{"í":47}],"t":[{"a":47,"á":47}],"v":[{".":47}],"y":91}],"m":[{"b":[{"e":[{"r":77}]}],"e":[{"l":93}],"l":47,"u":47}],"n":[{"d":[{"ő":17}],"i":[{"s":11}],"y":[{"e":[{"n":4}]}],"z":47}],"p":[{"r":[{"é":8}]}],"r":[{"á":[{"l":11}],"e":[{"p":[{"e":[{"d":2}]}]}],"ó":47,"ő":47}],"s":[{"ő":47,"z":[{"m":47}]}],"t":[{"ü":[{"z":11}]}],"v":[{"ő":47}],"x":77},53],"é":[{"g":[{".":41,"b":41,"g":41,"h":41,"i":41,"n":41,"r":41},47],"h":[{"e":[{"s":47}],"s":47}],"k":[{"a":93,"s":47}],"l":[{"e":77}],"m":[{"a":14}],"n":[{"e":[{"k":[{"b":47,"e":47,"é":47,"k":47,"r":47,"s":47,"t":47,"ü":47}]}]}],"p":[{"í":47,"ü":47}],"r":[{"d":[{"e":47}],"é":[{"s":[{"k":11}]}],"v":[{".":91,"b":47,"h":47,"r":47,"v":47}],"z":47}],"s":[{"z":[{"a":11}]}],"t":[{"a":[{"b":11}]}],"v":[{".":47,"e":[{"k":47}],"n":47,"r":47,"v":47}]},53],"f":[{"r":5}],"g":[{"l":5,"r":5}],"i":[{"á":10,"d":[{"ő":47}],"g":[{"é":47}],"m":[{"í":47,"o":[{"g":47}],"p":[{"o":47}]}],"n":[{"a":[{".":93,"s":47}],"d":77,"p":77,"v":77}],"o":[{"n":[{"o":47}]}],"p":[{"í":47}],"v":[{"í":47,"ó":47}]},53],"í":[{"k":[{"i":47}],"r":[{"b":91,"j":91,"ó":19}],"v":93,"z":[{"e":47,"l":47,"n":5,"t":47,"ü":5}]},53],"k":[{"a":[{"s":[{"z":26},3]}],"l":5,"v":5}],"l":[{"á":[{"g":41}]}],"o":[{"á":93,"b":[{"j":47}],"k":[{"á":14,"k":[{".":47}],"o":[{"z":47}]}],"l":[{"a":[{"j":47}],"d":[{"a":47,"á":47,"ó":[{".":47,"k":47,"m":47,"n":47,"r":47,"t":47,"v":47}]}],"i":77,"l":[{"ó":47}],"v":[{"a":[{"s":47}]}]}],"m":[{"o":[{"r":11}]}],"n":[{"t":[{"a":17}]}],"p":[{"c":47}],"r":[{"c":77,"i":47,"k":47,"v":91}],"s":[{"z":[{"l":47,"t":47}]}]},53],"ó":[{"d":[{"á":5}],"k":[{"e":[{"s":11}],"ö":2}],"n":[{"é":77}]},53],"ö":[{"k":[{"r":[{"ü":47}]}],"m":[{"l":5}],"n":[{"n":27}],"r":[{".":47,"e":41}],"s":[{"s":[{"z":47}]}],"v":[{".":47}],"z":[{"ö":[{"n":47}]}]},53],"ő":[{".":71,"b":71,"é":[{"h":10}],"r":[{"z":47}],"s":[{"z":[{"á":[{"r":[{"a":18}]}],"é":[{"k":11}],"ő":11}]}],"v":71},53],"p":[{"e":[{"k":94}],"l":19,"r":11,"s":5}],"s":[{"l":5,"p":19,"t":19,"z":[{"a":[{"k":[{"ü":32}]}]},95]}],"t":[{"a":[{"b":94}],"o":[{"p":6}],"r":[{"u":41},11]}],"u":[{"d":[{"v":47}],"g":47,"h":[{"o":91}],"j":[{"j":5}],"n":[{"a":77,"i":47}],"r":[{"a":77,"á":93}],"t":[{"a":[{"s":19}],"á":77,"ó":5}]},53],"ú":[{"p":8,"t":[{"n":47}]},53],"ü":[{"d":47,"g":[{"é":47,"y":47}],"n":[{"n":77}],"t":[{"e":19}],"v":91,"z":77},53],"ű":53,"z":[{"a":[{"c":96,"j":25,"k":[{"é":10}],"m":25}],"á":[{"l":41,"m":41,"p":25,"t":25,"z":41}],"c":97,"e":[{"r":41}],"é":41,"f":97,"i":41,"í":41,"l":97,"o":[{"b":41,"k":[{"n":25}],"l":41,"n":25,"r":41}],"ó":[{"n":25}],"ő":41,"s":25,"t":11,"u":[{"g":25}],"ú":25,"ü":41,"ű":41,"v":97}]},0],"t":[{"r":[{"a":6,"e":6,"é":6,"i":6,"o":6,"ü":6}]}],"u":[{"c":[{"c":[{"i":[{"n":11},32]}]}],"k":[{"o":[{"r":[{"a":30}]}]}],"l":[{"a":[{"t":[{"e":10}]}],"ü":6}],"n":[{"d":86,"o":58}],"r":[{"a":58}],"t":[{"á":58}]},53],"ú":[{"j":[{"í":6}],"r":[{".":48,"r":48}],"t":[{"i":54,"o":6}]},53],"ü":[{"g":[{"e":6,"y":6}],"l":[{"é":58,"ő":6}],"n":[{"n":48}],"r":[{"e":6,"í":6,"ü":6}],"t":[{"e":6,"é":6,"ő":6}],"v":[{"e":6}],"z":[{"e":6}]},53],"ű":[{"z":[{"ő":6}]},53],"v":[{"a":[{"n":[{"e":[{"m":11}],"é":[{"v":11}]}]}],"e":[{"n":[{"é":[{"v":11}],"n":27}]}]}],"z":[{"a":[{"i":[{"b":11,"é":11,"h":11,"k":11,"n":11,"r":11,"t":11,"v":11}]},53],"á":53,"e":[{"n":91},53],"é":[{"h":41},53],"i":53,"í":53,"o":53,"ó":53,"ö":53,"ő":53,"u":53,"ú":53,"ü":53,"ű":53,"y":53},0]}],"d":[{".":47,"a":[{"a":[{"d":11}],"á":[{"t":3}],"b":[{"l":[{"a":86}]}],"c":[{"i":[{"r":12}],"z":6}],"d":[{"a":[{"g":6,"l":[{"a":9}],"t":[{"o":47}]}],"ó":58,"r":[{"á":5,"o":5}]}],"e":[{"r":11}],"é":[{"d":11,"r":11}],"f":[{"l":19,"r":19}],"g":[{"e":[{"l":12}],"g":20}],"h":[{"h":86}],"i":[{"r":[{"e":6}]}],"j":[{"á":[{"n":58}],"t":86}],"k":[{"a":[{"d":58}],"á":[{"r":10}],"k":[{"o":[{"r":[{"a":86}]}],"u":48}],"l":5,"r":[{"é":19,"i":19}],"t":[{"u":86}]}],"l":[{"a":[{"g":[{"a":8}],"j":[{"t":9}],"k":[{"j":6,"t":[{"a":12,"á":12}],"u":6,"ú":6,"z":86}],"l":13,"p":[{"c":6,"k":6,"n":6,"r":6,"s":12,"t":6,"ú":58}],"r":6,"s":[{"z":12}],"t":[{"t":6}]}],"á":[{"g":13,"l":12,"r":[{"a":[{"k":8}],"á":9,"b":12,"n":12,"r":12}],"s":[{"z":8}],"t":[{"i":12}]}],"e":[{"l":[{"á":9,"e":9,"l":9},10],"s":[{"é":8}]}],"é":[{"k":[{"e":98}],"l":[{".":9}],"n":[{"e":13}],"r":[{".":12}]}],"f":8,"i":[{"d":6,"k":[{"o":13,"r":12}],"m":13,"n":[{"á":[{"t":13}],"d":6,"f":12,"g":12,"j":12,"t":12,"u":13}],"t":[{"t":12}],"z":[{"o":9},10]}],"j":[{"i":86}],"l":[{"o":86},20],"o":[{"m":[{"e":30,"o":26}],"r":12}],"ő":[{"r":6}],"p":8,"u":[{"d":9,"r":12,"s":13,"t":13}],"ú":[{"t":[{"o":12,"r":9},10]}],"ü":6}],"m":[{"c":86,"f":86}],"n":[{"a":[{"l":58}],"g":86,"y":[{"a":[{"g":54}],"ó":58}]}],"o":[{"k":11}],"ó":[{"r":11,"v":11}],"p":[{"a":[{".":58,"i":58,"k":[{"é":6}]}],"á":[{"b":6,"d":6,"é":6,"h":6,"i":6,"k":6,"m":6,"t":6,"v":6}],"j":86,"l":19,"ó":[{".":6}],"p":86,"r":[{"o":5}],"s":19,"t":47}],"r":[{"a":[{"b":[{"e":10}],"d":[{"ó":13}],"l":[{"a":9}],"n":[{"t":6}],"z":[{"o":12}]}],"á":[{"t":[{"a":12,"f":12}]}],"c":[{"e":2,"h":4,"s":[{"o":11}],"ú":86}],"d":[{"a":[{"l":2}],"á":14,"e":[{"l":11,"s":14}],"ó":2}],"e":[{"l":12}],"i":[{"l":12}],"u":[{"s":[{"s":38}],"t":[{"a":9}]}],"ü":12}],"s":[{"á":[{"l":6}],"l":19,"p":[{"e":5}],"s":[{"z":86}],"t":[{"a":19}],"z":[{"l":5,"t":[{"á":10},32],"ú":47}]}],"t":[{"a":[{"k":[{"t":12,"v":12}],"l":[{"a":13,"k":12}],"p":[{"u":9}],"r":[{"á":9}],"s":[{"s":9}],"t":[{"t":12}],"z":6}],"á":[{"l":[{"l":12}],"r":[{"a":[{"d":12,"m":[{"m":10,"r":10}]}]}],"t":[{"a":12,"á":12}]}],"e":[{"l":[{"e":[{"m":6}],"é":99,"í":9,"k":12,"l":9,"ő":12,"t":9}]}],"é":[{"g":13,"r":[{"t":[{"e":6,"é":12,"h":12}],"v":12}]}],"i":[{"d":6,"k":[{"o":12},10],"m":6,"n":[{"f":12,"t":[{"e":9}]}],"s":[{"t":9}],"z":6}],"í":[{"r":12,"v":[{"e":9}]}],"k":8,"l":[{"a":[{"s":86}]}],"o":[{"s":[{"z":12}]}],"ó":[{"c":6,"m":47,"r":13,"s":[{"á":9},10]}],"t":8,"u":[{"t":13}],"ú":[{"t":6}],"ű":[{"r":6}],"y":[{"a":6,"á":6}]}],"u":[{"k":58,"p":6,"r":58,"s":11,"t":[{"a":11,"ó":[{"p":34}]}]}],"ü":[{"t":11,"z":11}],"v":[{"a":[{"t":58}],"v":86}],"y":[{"e":5,"é":5}],"z":[{".":86,"á":[{"l":6}],"é":58,"o":[{"k":6,"n":6}]}]},53],"á":[{"b":[{"é":58,"r":86}],"c":[{"h":[{"o":21}]}],"f":[{"á":6}],"g":[{"a":6,"á":6,"ú":6,"y":58}],"l":[{"á":[{"l":6,"r":6}],"e":12,"l":[{"í":86}],"ü":6,"y":[{"a":[{"n":23}],"ú":[{"s":24},32]}]}],"m":[{"u":[{"t":12},10],"ú":12}],"n":[{"y":[{"a":[{"d":23,"l":24,"n":23,"z":6}],"ó":6}]}],"p":[{"o":6}],"r":[{"a":[{"d":58,"g":12,"i":58,"j":13,"l":6,"m":58,"n":13,"p":13,"r":6,"s":[{"s":9},6],"t":[{"k":9},6]}],"á":[{"l":9},6],"e":13,"é":[{"b":6}],"i":[{"a":[{".":58}],"j":6,"l":6,"p":13,"s":[{"k":9,"m":9}]}],"í":6,"o":[{"d":6,"n":[{"d":12}],"t":12}],"ö":6,"ő":6,"s":8,"t":[{"r":9},10],"u":[{".":47,"k":6,"s":[{"á":[{"g":[{".":30,"a":17}]}]}]}],"ú":[{".":86},31],"ü":6,"ű":6}],"s":[{"a":[{"d":13,"l":6,"r":6}],"á":[{"g":13,"r":[{"a":[{"d":12}],"h":12,"u":13}],"s":54,"t":[{"a":16}]}],"e":13,"f":[{"é":[{"l":[{"é":[{"v":64}]}]}]}],"i":[{"m":6,"s":6}],"o":[{"l":6,"r":6}],"ó":[{"r":9},31],"ö":6,"ő":6,"t":[{"r":9},10],"u":[{"t":6}],"ü":13,"z":[{"a":[{"g":6,"k":[{"a":6}],"l":6,"r":6,"v":6}],"á":[{"l":24,"r":[{"k":6,"o":23}]}],"e":[{"l":3,"m":3,"r":3},6],"é":[{"b":6}],"i":[{"p":6,"r":6,"s":6}],"í":23,"k":[{"á":[{"i":47}]}],"ö":24,"ő":6,"s":27,"u":[{"s":24}],"ú":24,"ü":23,"ű":24}]}],"t":[{"a":[{"l":9},58],"á":58,"d":86,"e":13,"é":58,"f":86,"í":58,"j":86,"k":86,"m":86,"r":86,"u":71,"ú":58,"v":86}]},53],"b":[{"a":[{"l":14}],"l":[{"o":6,"ú":6}],"r":[{"o":6,"ó":6}]}],"c":[{"l":[{"u":6}],"s":[{"a":[{"p":[{"á":[{"g":17}]}]}]}]}],"d":[{"e":[{"l":[{"h":5}]}],"i":[{"d":51}],"í":[{"s":11}],"o":[{"d":51}],"r":[{"á":6,"ó":6}],"z":[{"s":41},0]}],"e":[{"a":[{"a":6,"á":6,"c":6,"d":11,"e":6,"é":6,"g":[{"y":6}],"h":6,"í":6,"l":[{"a":6,"á":6,"o":6}],"m":6,"n":11,"o":6,"p":6,"s":[{"z":[{"f":6},75]}],"t":6}],"b":[{"é":58}],"d":[{"e":[{"l":[{"l":9}]}],"é":[{"n":58}],"ó":[{"v":13}],"r":[{"a":5}],"ú":13,"z":58}],"e":[{"p":6,"s":11}],"é":[{"r":11}],"f":[{"f":86,"r":5}],"g":[{"a":[{"l":13,"n":13}],"á":[{"l":12}],"e":[{"l":13,"n":[{"n":38}],"r":6}],"é":[{"k":12,"r":[{"i":9}],"s":[{"s":9,"z":22},6]}],"g":20,"i":[{"z":6}],"o":[{"r":6},47],"ö":[{"l":12,"r":6,"s":12},10],"ő":62,"y":[{"e":[{"z":22},58]}],"z":47}],"h":[{"h":86,"o":[{"g":10}]}],"i":[{"f":6,"g":11}],"í":[{"r":11}],"k":[{"a":[{"k":13,"z":6}],"e":[{"g":13,"l":[{"l":[{"e":[{"n":6}]}]}],"p":6,"r":[{"ő":8}],"s":[{"z":12}]}],"é":[{"k":[{"b":9,"e":8}],"l":12,"r":[{"i":12,"t":[{"e":6,"é":12}],"v":12,"z":12}]}],"l":[{"u":5}],"o":[{"l":[{"d":9}]}],"s":[{"z":32},9]}],"l":[{"a":[{"d":86}],"e":[{"f":6,"g":[{"y":58}],"m":[{"a":30,"á":10,"e":[{"g":10,"k":6,"l":[{"e":7},10]}],"u":10,"ű":58,"z":58}],"t":[{"a":17,"e":[{"t":[{"é":86}]}]}]}],"é":[{"k":88,"l":58,"s":[{"s":38}]}],"h":[{"a":86,"o":86}],"k":[{"e":[{"z":[{"d":[{"é":47,"ő":47}]}]}]}],"l":[{"a":[{"l":11,"n":14}],"e":[{"g":2,"l":[{"e":14,"k":11},32],"n":[{"á":47,"e":86,"t":14}],"r":11}],"é":[{"j":2,"k":2}],"i":[{"n":14,"s":14}],"o":[{"s":11}],"ó":[{"r":11}],"ő":[{"r":11}]}],"m":[{"a":86}],"n":[{"ö":86}],"o":[{"s":6}],"ö":[{"l":6},47],"ő":[{"a":[{"d":6}],"k":[{"a":58}],"r":[{"e":[{"j":47}]}]}],"s":[{"a":86}],"t":[{"e":[{"t":[{"t":[{".":86}]}]}],"é":[{"r":86}]}],"v":[{".":86,"á":86,"e":[{"s":86}],"o":86,"ű":[{".":86,"e":86,"k":86,"n":86,"r":86,"s":86,"t":86,"v":86}]}]}],"m":[{"a":[{"d":6,"l":13,"z":6}],"á":[{"l":12}],"e":[{"z":6}],"é":[{"r":[{"e":[{"m":13}],"m":12}]}],"i":[{"m":6,"n":[{"g":9}]}],"o":[{"i":47}],"p":9,"u":[{"s":6}],"ü":[{"l":10}]}],"n":[{"a":[{"l":6}],"e":[{"r":58}],"k":[{"i":[{"é":[{"n":[{"e":26}]}]}]}],"o":[{"l":6}],"ó":13,"s":[{"s":3}]}],"o":[{"d":6,"f":6,"g":13,"j":6,"l":[{"o":6}],"m":6,"t":6}],"p":[{"e":[{".":6}],"é":58,"r":[{"e":19,"o":5}],"s":19}],"r":[{"a":[{"d":6,"k":[{"a":9}],"l":[{"a":6}],"n":13,"r":12}],"á":[{"g":13,"r":13,"s":6,"z":[{"t":9}]}],"d":[{"ő":47}],"e":[{"c":10,"d":[{"m":47}],"j":[{"e":58,"é":[{"n":47,"r":47,"t":58}]}],"k":[{"e":[{"i":13}]}],"l":[{"e":8,"l":9,"ő":8,"t":9}],"r":6,"s":[{"ő":13}]}],"é":[{"l":12}],"i":[{"d":6,"l":12,"m":13,"n":12,"p":13,"s":13}],"n":[{"é":[{"k":11}]}],"o":[{"s":[{"z":12}]}],"ó":[{"r":13}],"ő":[{".":48,"s":[{".":9}],"t":48,"v":48},6],"s":[{"p":9}],"u":[{"t":6},10],"ü":[{"g":13,"l":[{"d":12,"e":9,"t":[{"e":[{"t":9}]}]}]}],"v":[{"i":[{"s":[{"s":22}]}]}]}],"s":[{"a":100,"g":47,"i":[{"p":6}],"k":[{"ü":47}],"t":[{"e":[{"s":47}],"o":5}],"u":[{"r":6}],"ú":[{"r":12},10],"z":[{"m":86,"t":[{"a":42}],"ű":[{".":6}]}]}],"t":[{"é":[{"k":12}],"i":[{"k":[{"a":6,"á":6}]}]}],"v":[{"ő":58,"v":86}],"x":[{"a":6,"i":[{"n":6,"z":6},10],"í":6,"o":12,"ö":6}],"z":[{"a":[{"k":6},47],"é":[{"r":6}],"i":[{"l":6,"n":6}],"o":[{"r":12}],"ő":[{"e":32,"k":[{"é":[{"s":[{"z":65}]}]}]}],"r":86}]},53],"é":[{"b":[{"r":86}],"d":[{"a":[{"p":6}],"ő":12,"u":6}],"f":[{"l":5}],"g":[{"a":13,"á":13,"e":[{"b":13,"g":12}],"é":[{"p":6,"r":[{"k":12}],"s":[{"z":9},6]}],"g":20,"i":[{"g":[{"a":9,"é":6}],"n":6}],"í":6,"o":[{"k":12,"t":6}],"ó":6,"s":9,"u":13,"ú":6,"ű":6}],"h":[{"e":[{"s":58}],"s":86}],"j":[{".":86,"b":86}],"k":[{"a":[{"b":12,"c":6,"d":13,"l":13,"n":13,"p":12,"s":12,"u":12,"z":6}],"á":[{"g":12,"r":[{"t":12}],"s":6,"t":[{"a":16}]}],"e":[{"g":13,"l":[{"e":12,"l":9,"ő":9,"t":12},10],"r":12,"s":[{"z":12}],"t":[{"i":12}],"z":6}],"é":[{"j":13,"k":13,"l":13,"r":[{".":12}],"t":[{"e":12}]}],"i":[{"s":[{"z":9}],"v":[{"á":6}]}],"í":6,"k":[{"u":[{"l":[{"c":[{"s":65}]}]}]}],"o":[{"l":[{"d":12}],"p":6,"r":12,"s":[{"z":12}]}],"ó":[{"r":6},10],"ö":[{"v":13,"z":6}],"ő":6,"r":[{"é":[{"m":11}]}],"u":[{"t":12}]}],"l":[{"a":[{"d":6,"m":6}],"á":13,"e":[{"g":6,"l":[{"ő":9},31],"s":[{"t":9},6],"t":58}],"i":[{"m":6,"o":6}],"k":[{"ö":[{"z":[{"ö":[{"n":43}]}]}]}],"o":6,"ö":13,"ő":58,"u":13,"ü":[{"k":6}],"y":[{"ö":6}]}],"m":[{"e":[{"l":13,"m":13}]}],"n":[{"a":[{"c":9},10],"á":[{"r":[{"a":16}]}],"e":[{"k":[{"e":58}]}],"y":[{"e":[{"l":24}],"i":[{"d":6}],"o":6,"ö":6}]}],"p":[{"i":11,"í":58,"ü":58}],"r":[{"a":[{"g":6,"l":6,"n":12,"r":6,"s":6}],"á":6,"d":8,"e":[{"g":6,"m":[{"l":9}],"s":[{"é":9,"t":12}],"z":6}],"é":[{"s":6}],"i":[{"f":6,"k":12}],"í":6,"o":[{"t":6}],"ó":[{"r":6},10],"ö":6,"t":[{"é":86,"h":86}],"ú":[{"t":12}],"y":5,"z":[{"é":86}]}],"s":[{"a":[{"j":12,"l":6,"p":6,"r":6,"z":12},10],"á":[{"r":12},10],"e":[{"g":6,"l":13,"t":[{"i":12}]}],"é":[{"g":12}],"í":6,"ú":6,"ü":[{"t":13}],"z":[{"a":[{"k":3}],"á":21,"é":[{"k":24,"v":6}],"o":24,"ú":6}]}],"t":[{"a":[{"s":12}],"e":[{"g":13}],"i":[{"s":12}],"k":[{"e":86}],"ő":[{"r":6}]}],"v":[{".":86,"b":86,"e":[{".":58,"i":47,"k":58,"m":58,"n":58,"s":[{".":58,"b":47,"e":[{"k":58,"n":58}],"h":58,"i":47,"k":47,"n":58,"r":47,"s":58}],"t":58,"z":86}],"é":[{"b":58,"i":58,"n":47,"r":47,"t":58,"v":58}],"f":86,"h":86,"i":58,"k":86,"n":86,"r":86,"s":86,"t":86,"u":58,"ü":58,"v":86,"z":86}]},53],"f":[{"é":[{"n":[{"y":[{"e":[{"m":11}]}]}]}],"l":[{"o":6,"ó":6}],"r":[{"á":6,"e":6,"i":6,"o":6,"ö":6}]}],"g":[{"á":[{"z":[{"á":[{"r":11,"t":22}],"i":11,"ó":11}]}],"e":[{".":0}],"l":[{"e":6,"i":6,"ó":6}],"r":[{"a":6,"á":6,"ó":6}],"y":[{"u":0}]}],"h":[{"a":[{"l":[{"i":0}],"n":[{"g":[{"e":30}]}]}],"é":[{"t":14}],"i":[{".":0,"é":0,"h":0,"i":0,"j":0,"k":0,"r":0}],"ú":[{"s":[{"á":2}]}]}],"i":[{"a":[{"a":6,"á":6,"b":[{"á":6,"i":6,"r":6},9],"c":6,"d":[{"a":20,"i":6,"o":6},8],"e":6,"é":6,"f":[{"a":6}],"g":[{"y":6}],"h":6,"i":[{"k":31}],"í":6,"j":6,"k":[{"é":[{"p":6}],"o":[{"l":6}]}],"l":[{"a":6,"á":6,"i":6}],"m":6,"n":[{"a":6,"á":6,"i":6,"ó":6}],"o":6,"ó":6,"ö":6,"ő":6,"p":13,"r":[{"a":6}],"s":[{"z":[{"a":6,"k":6,"ó":6}]}],"t":13,"u":31,"ú":6,"ü":6,"ű":6,"v":6,"z":6}],"á":[{"k":[{"e":14,"o":[{"l":11}]}],"n":[{"n":27}]}],"c":[{"k":19,"s":[{"a":[{"j":24}],"e":[{"r":23}]}]}],"d":[{"e":[{"g":58,"j":47,"o":6}],"é":[{"n":58}],"i":[{"o":13}],"ő":58}],"e":[{"u":6}],"f":[{"l":5}],"g":[{"a":[{".":6}],"á":[{"n":[{"á":58}]}],"e":[{".":6,"l":13}],"é":[{"n":58,"t":6}]}],"j":[{"e":[{"s":47}]}],"k":[{"é":[{"p":6}],"l":19,"o":[{"n":[{"h":58}]}],"r":[{"o":19}],"u":[{"t":[{"a":8}]}],"v":19}],"l":[{"a":[{"n":6}],"e":[{"m":10}],"i":[{"g":32}],"ö":6,"ő":12,"ü":6,"y":5}],"m":[{"a":[{".":6}],"á":58,"i":[{"t":6}],"p":86}],"n":[{"a":[{"k":[{"a":58}]}],"d":47,"f":86,"g":[{"a":[{"l":11},32],"á":86,"e":[{"r":86}]}],"i":[{"c":58,"n":[{"g":12}]}],"j":86,"ó":[{"d":6,"m":12,"n":13,"r":13}],"p":86,"t":[{"é":86}],"v":86}],"o":[{"a":6,"i":6,"k":6,"l":6,"m":[{"e":6}],"v":6}],"ó":[{"a":6,"á":6,"e":6,"g":6,"í":6,"k":[{"a":[{"m":6}],"á":6,"l":12,"o":[{"k":6}],"u":6}],"m":[{"é":6}],"o":6,"ó":6,"ö":6,"ő":6,"p":13,"r":[{"á":6,"i":6}],"s":[{"i":[{"k":3},73],"o":[{"r":[{".":25}]}],"p":[{"e":6}],"z":[{"ű":6}]}],"u":6,"ú":6,"ü":6}],"p":[{"a":[{"r":[{".":47,"á":58,"b":47,"i":58,"o":58}]}]}],"r":[{"a":[{"t":58}],"á":58,"o":[{"d":58}],"t":86}],"s":[{"a":[{"j":6}],"i":[{".":58}],"k":[{"o":86}],"m":86,"t":[{"e":86}]}],"t":[{"a":[{"l":[{"a":8},6],"r":[{"á":9}]}],"e":[{"g":13}],"t":8,"ü":6}],"u":[{"m":[{"é":[{"n":14},32],"i":[{"l":11}]}]}],"ú":[{"t":11}],"v":[{"a":[{"d":6,"r":58,"t":[{"a":30}]}]}],"z":[{"é":58}]},53],"í":[{"g":[{"é":6}],"j":[{"á":[{"t":[{"o":12}]}],"e":6,"í":6,"ö":6,"ü":6}],"r":[{"á":58,"i":[{"k":6},10],"ó":58}],"s":[{"z":[{"a":24,"e":[{"r":6}],"ö":6}]}],"t":[{"é":[{"s":[{"s":38}]}]}],"v":[{".":86,"e":58,"n":47,"ü":58,"ű":58}],"z":[{"i":6,"s":6,"ü":6,"ű":6}]},53],"j":[{"e":[{"g":[{"y":[{"a":11}]},6]}],"i":[{"s":5}],"o":[{"n":14}]}],"k":[{"a":[{"n":[{"á":2}]}],"i":[{"a":10,"e":10}],"l":[{"a":6,"i":6,"o":6,"u":6}],"r":[{"á":6,"é":6,"i":6,"o":6,"ó":6}],"v":[{"a":6,"i":6}]}],"l":[{"á":[{"s":[{"s":27,"z":4}]}],"e":[{"í":10}],"ó":[{"g":8,"t":10}],"ő":[{"k":[{"r":9}]}]}],"m":[{"e":[{"g":[{"é":[{"r":14}]}]}]}],"n":[{"a":[{"p":[{"e":11}]}],"é":[{"v":[{"á":14}]}],"ö":[{"k":[{"ö":[{"l":2}]}]}]}],"o":[{"á":[{"z":6}],"b":[{"a":[{"g":12,"l":13,"n":[{"y":12},10]}],"á":[{"r":12,"t":6}],"e":[{"l":12},10],"i":[{"l":[{"l":12}]}],"í":6,"j":[{"e":47}],"o":[{"á":6,"l":[{"d":12}],"r":12}],"ö":6,"ü":6,"ű":6}],"d":[{"ú":58}],"g":[{"a":[{"r":6,"s":[{"z":22}]}],"á":[{"r":6,"s":[{"s":7}]}],"o":[{"l":12,"r":6,"s":[{"s":38}]}],"r":[{"á":19}],"ü":6}],"k":[{"a":[{"l":6,"s":6}],"á":[{"j":6,"l":12}],"e":12,"é":[{"l":13,"p":6}],"k":[{"ö":[{"b":14},32],"ő":11}],"o":[{"t":[{"t":12}],"z":58}],"ö":6,"ú":[{"t":[{"o":9},10]}],"ü":6}],"l":[{"a":[{"j":58,"t":[{"a":[{"r":10}],"e":30,"ö":[{"r":30}]}]}],"d":[{"a":86,"á":86,"o":86,"ó":86}],"t":[{"á":[{"r":86,"s":86}]}],"v":[{"a":[{"s":47}]}]}],"m":[{"a":[{"c":[{"é":8}]}],"á":[{"r":[{"b":12,"é":12,"h":12,"j":12,"k":12,"l":12,"n":12,"o":[{"n":13}],"r":12,"t":[{"ó":12}]}]}],"b":[{"a":[{"l":73}],"e":[{"l":11}],"o":[{"l":11}],"ó":[{"n":11}]}],"e":[{"l":6}],"í":47,"l":47,"o":[{"n":[{"d":12}]}],"ő":6,"ú":47,"ü":6}],"n":[{"a":[{"d":12,"l":[{"a":9},10],"r":13,"s":12}],"á":[{"l":12,"t":[{"a":12,"j":12,"s":12,"v":12}]}],"d":8,"e":12,"o":[{"s":[{"s":7,"z":12}]}],"ö":6,"s":9,"t":[{"r":9},10],"ü":6,"y":[{"a":[{"l":6,"r":6}],"e":6,"ó":6}]}],"p":[{"e":58,"l":19}],"r":[{"a":[{"k":[{"n":9}],"l":101,"p":13,"s":12,"t":6}],"á":[{"l":[{"l":9,"o":13}]}],"d":[{"r":9},10],"e":13,"i":[{"d":6,"l":12,"s":12,"t":[{"a":12}]}],"k":8,"o":[{"k":[{"l":12}],"s":[{"z":[{"t":9}]}]}],"ö":6,"ő":6,"r":[{"ú":86}],"s":[{"p":9},10],"t":[{"r":[{"ó":9}]}],"ú":[{"t":10}],"ü":6,"v":[{"o":[{"s":47}]}]}],"u":[{"g":6,"t":6}],"v":[{"i":6}],"y":[{"e":5}]},53],"ó":[{"a":[{"d":11}],"á":[{"g":11,"r":11}],"b":[{"l":5}],"e":[{"z":47}],"f":[{"l":5,"r":19}],"g":[{"á":47,"r":19}],"i":[{"g":11}],"í":[{"v":11}],"k":[{"l":19,"r":[{"é":5}],"v":19}],"m":[{"a":[{"b":6,"k":6}],"o":[{"r":[{"g":9}]}],"ő":6}],"ó":[{"r":11}],"p":[{"l":19,"r":19}],"r":[{"á":[{"d":6,"k":54}],"i":[{"á":6}]}],"s":[{"a":[{"m":6,"s":6}],"e":[{"l":6}],"i":[{".":71,"p":6,"s":6}],"í":[{"r":6}],"k":[{"á":19}],"p":[{"e":5,"i":5}],"r":[{"á":19}],"s":20,"t":[{"á":[{"b":5}],"r":5}],"ű":13,"z":[{"f":5,"p":5},10]}],"t":[{"r":19}],"v":[{"ó":58}]},53],"ö":[{"b":[{"l":48}],"g":[{"a":6,"á":6,"e":[{"l":12,"v":6}],"g":20,"n":[{"a":32}],"o":6,"ó":6,"ö":[{"l":[{"ő":8}]}],"ő":12,"u":6}],"k":[{"a":6,"á":6,"e":[{"l":12,"r":13}],"é":[{"k":6,"r":[{".":12}]}],"í":6}],"n":[{"t":[{"ö":[{"z":47}]}]}],"r":[{"a":6,"á":6,"o":6,"ö":[{"k":[{"s":58}]}]}],"s":[{"z":86}],"t":[{"l":48,"t":[{"é":[{"r":[{"t":11}]}]}]}],"v":[{"e":6,"i":6}]},53],"ő":[{"a":[{"n":11}],"á":[{"g":11}],"b":[{"l":5}],"c":[{"l":5}],"d":[{"r":[{"a":5}]}],"e":[{"l":11,"r":11}],"é":[{"l":11,"t":[{"e":11}]}],"f":[{"l":5,"r":19}],"g":[{"é":[{"p":[{"e":[{"k":[{"é":17}]}]}]}],"r":5}],"i":[{"r":[{"á":32}],"t":[{"a":11}]}],"k":[{"l":5,"v":5}],"n":[{"y":[{"a":24,"e":[{"l":[{"e":6}]}]}]}],"p":[{"l":5,"r":5}],"r":[{"á":[{"b":47,"l":86}],"e":[{"b":58,"g":[{"y":9}],"l":[{"e":9,"ő":9}],"m":58}],"é":[{".":58,"h":58,"k":47,"l":86,"n":47}],"h":86,"i":[{"f":86,"l":58,"n":102,"p":58,"s":12}],"o":[{"k":47,"r":86,"s":47}],"ö":[{"d":6,"z":12}],"ő":[{"r":47}],"u":[{"n":47,"r":47,"t":58}],"ü":[{"g":9,"l":9},103],"z":86}],"s":[{"é":[{"r":[{"v":12}]}],"k":[{"á":5}],"m":19,"n":[{"i":5}],"o":[{"d":[{"o":9},10]}],"p":[{"e":5,"i":19,"ó":5}],"t":[{"a":19,"é":5,"r":5}],"v":5,"z":42}],"t":[{"á":[{"l":[{"l":9}]}],"r":19}]},53],"p":[{"l":[{"a":6,"e":6,"é":6}],"r":[{"a":6,"e":6,"é":6,"i":6,"í":6,"o":6,"ó":6}],"s":[{"z":6}]}],"r":[{"a":[{"p":[{"s":9}],"v":[{"a":[{"s":[{"z":28}]}]}]}],"á":[{"g":[{"g":3}],"s":[{"z":[{"á":[{"l":44}],"e":11}]}],"t":[{"a":[{"l":11},32],"e":2,"é":[{"r":14}]}]}],"e":[{"n":[{"d":[{"ő":17}]}],"s":[{"s":[{"z":[{".":50,"b":50,"e":50,"h":50,"k":50,"r":50,"ü":50}]}]}]}],"é":[{"s":[{"z":[{"á":11}]}]}],"o":[{"g":[{"a":14,"á":11,"e":[{"n":11}],"é":[{"n":[{"i":64}]}],"g":27,"ó":2}],"n":[{"a":2,"y":[{"i":11}]}],"s":[{"z":[{"f":9},32]}],"t":[{"r":8}]}],"ó":[{"b":[{"a":[{"j":11}]}],"t":[{"a":2,"á":2,"i":[{"s":11}],"ü":2}]}],"u":[{"i":0,"s":[{"e":11,"i":11}]}]}],"s":[{"á":[{"g":[{"g":3}]}],"é":[{"g":[{"e":[{"l":14}],"ü":[{"l":11}]}]}],"k":[{"á":6}],"l":[{"i":6}],"p":[{"e":6,"i":6,"o":6}],"r":[{"á":6}],"t":[{"a":6,"á":6,"í":6,"r":11}],"z":[{"a":[{"k":[{"é":10}]}],"á":[{"l":[{"a":[{"s":10}]}],"r":[{"a":[{"z":28}]}]}],"e":[{"r":[{"a":10,"á":30,"e":[{"l":[{"v":30}]}],"o":30,"t":26}]},11],"l":76,"n":48,"p":76,"t":104,"v":76}]}],"t":[{"a":[{"g":[{"a":2}],"l":[{"p":[{"a":[{"d":[{"a":30},26],"l":30}]}]}],"n":[{"á":[{"s":2}]}]}],"é":[{"k":[{"n":52}]}],"r":[{"á":54,"é":54,"i":54,"o":54,"ó":[{"f":54}]}],"ü":[{"l":52}]}],"u":[{"c":[{"e":[{"m":6}],"h":21,"ö":6,"ü":6}],"e":[{"l":11}],"g":[{"a":[{"l":6}],"á":[{"r":12}],"r":86}],"i":[{"t":47}],"j":[{"j":86}],"l":[{"a":[{"k":15,"t":[{"í":30}]}],"e":12,"é":[{"p":6}],"i":[{"m":12,"n":12,"s":6},10],"í":6,"ö":6,"ű":6}],"n":[{"i":58,"o":58,"t":86}],"ó":[{"a":6,"á":6,"d":6,"f":6,"l":6,"p":6}],"r":[{"a":[{"i":6,"k":6,"l":6,"t":58}],"á":[{"b":6,"h":6,"t":6}],"u":[{"k":6}]}],"s":[{"a":[{"l":6,"n":6,"r":6,"s":12}],"á":[{"l":6}],"e":[{"g":6}],"é":[{"r":[{"t":[{"é":12}]}]}],"i":[{"n":6,"v":12}],"o":[{"l":6}],"ő":6,"ű":12,"z":[{"o":[{"d":58,"k":[{"a":58,"b":58,"é":58,"h":58,"k":58,"n":58,"o":58,"r":58,"t":58}],"m":58}],"s":20}]}],"t":[{"i":12,"o":58,"ó":[{".":6,"r":6}],"u":6}]},53],"ú":[{"c":[{"e":6,"h":6,"s":[{"e":6,"o":21,"z":20}]}],"d":[{"r":5}],"j":[{"é":13,"í":6}],"r":[{"a":[{"c":13,"l":6}],"e":13,"é":[{"n":6}],"o":[{"n":58}],"ö":6}],"s":[{"z":[{"á":6,"ó":6}]}],"t":[{"a":13,"é":6,"j":86,"l":48,"n":86,"o":[{"n":6}],"r":86}]},53],"ü":[{"d":[{"ü":6}],"g":[{"y":[{"é":[{"r":[{"n":3}]}]},6]}],"h":[{"a":6,"á":6,"e":[{"l":6}],"o":6,"ő":6}],"k":[{"é":[{"t":6}]}],"l":[{"á":6,"d":86,"e":[{"p":6}],"ő":[{"s":32}]}],"n":[{"n":[{"e":86}]}],"r":[{"í":6}],"t":[{"e":6,"é":6,"ő":6}],"v":[{"e":6}],"z":[{"e":6,"é":6}]},53],"ű":[{"p":[{"r":5}],"r":[{"l":48}],"s":[{"z":5}],"t":[{"r":5}],"z":[{"é":6,"ő":6}]},53],"v":[{"a":[{"r":[{"a":[{"j":11}],"e":14,"ó":2}]}],"á":[{"n":[{"y":[{"a":[{"n":11}],"í":11}]}],"t":[{"a":5,"e":5}]}],"e":[{"c":[{"e":5}],"l":[{"e":[{"g":19}],"k":5}],"n":[{"t":[{"í":30}]}],"r":[{"a":[{"l":11}],"á":[{"r":11}],"i":[{"p":11}],"s":3}],"s":[{"é":[{"s":51}],"p":8}],"t":[{"e":[{"t":[{"é":51}]}]}]}],"é":[{"l":[{"m":5}],"p":52,"r":[{"d":52,"i":51,"t":[{"é":52}],"z":52}]}],"f":[{"r":5}],"i":[{"c":[{"s":[{"a":11,"á":11}]}],"g":[{"a":[{"z":22},52]}],"t":[{"é":[{"z":22}]}]}],"o":[{"r":5}],"ö":[{"l":[{"ő":5},11]}],"ő":[{"s":5,"z":5}],"p":[{"r":5}],"u":[{"n":5}],"ú":[{"t":19}],"ü":[{"g":52,"z":51}],"ű":[{"z":52}]}],"w":[{"a":[{"y":[{"i":9}]}]}],"y":[{"a":[{"s":5}],"é":[{"b":48,"n":48,"t":[{"ő":5}],"v":48}],"j":[{"é":6}],"k":[{"e":6,"k":11,"n":11,"t":11}],"v":[{"é":6}]}],"z":[{"a":[{"é":10,"j":91,"k":[{"r":9},10]},53],"á":[{"r":[{"ó":[{"r":[{"a":2}]}]}],"s":[{"s":3,"z":41}]},53],"e":53,"é":[{"s":[{"a":11}]},53],"i":[{"l":91},53],"í":53,"o":53,"ó":53,"ö":53,"ő":[{"a":10,"b":[{"ő":47}],"d":47,"j":47,"n":[{"é":47}],"r":47},53],"s":[{"a":53,"á":53,"e":[{"g":68,"s":[{"z":105}]},53],"é":53,"i":[{"r":47,"s":105,"v":41},53],"í":53,"o":[{"k":9},66],"ó":53,"ö":53,"ő":53,"s":9,"u":53,"ú":[{"j":47},53],"ü":53,"ű":53}],"u":53,"ú":53,"ü":53,"ű":53},0]}],"e":[{".":47,"a":[{"b":[{"á":[{"l":6}],"o":0,"ő":0}],"d":[{"a":6,"á":[{"s":[{"s":7}]},6],"ó":6,"r":19,"u":6}],"é":[{"d":11}],"f":[{"á":0,"e":0,"i":0,"o":0,"ö":0,"ő":0,"ü":0,"ű":0}],"g":[{"i":6,"ó":0}],"i":[{"d":0,"l":0,"m":0,"p":0,"s":0}],"j":[{"a":6}],"k":[{".":0,"a":[{"s":6,"t":0}],"á":0,"b":0,"e":0,"é":[{"p":0}],"h":0,"i":0,"í":0,"l":52,"o":0,"ó":0,"ö":0,"r":51,"ú":0,"ü":0}],"l":[{"á":[{"n":0}],"e":[{"g":9}],"u":6}],"m":[{".":0,"a":0,"á":0,"e":[{"l":0,"r":0}],"é":0,"i":[{"n":0}],"o":6,"u":0,"ú":0,"ű":0}],"n":[{"e":0,"é":0,"ö":0,"s":0,"y":[{"a":6}]}],"p":[{"i":0,"o":0,"ó":0,"r":[{"o":19}]}],"r":[{".":0,"a":[{"n":6,"s":6,"t":6}],"á":6,"b":0,"e":0,"h":0,"j":0,"n":0,"ó":0,"r":0,"u":0,"ü":0}],"s":[{"o":0,"t":106,"ü":0,"ű":0,"z":[{"e":[{"m":0}],"é":0}]}],"t":[{"a":0,"á":0,"c":0,"e":[{"g":12},0],"é":[{"l":6,"n":[{"e":12}]},107],"f":0,"g":0,"h":0,"i":[{"d":6,"n":[{"g":9}],"p":6,"r":6}],"m":[{"o":[{"s":[{"z":33},7]}]},0],"n":0,"o":[{"r":12},0],"ó":0,"ö":0,"r":[{"a":[{"k":19}],"ó":[{"n":11}]}],"s":0,"u":0,"ü":63,"ű":0,"z":0}],"u":[{".":0,"t":6,"x":63}],"v":[{"i":0,"y":5}],"z":[{"o":6}]},48],"á":[{"b":[{"é":6}],"c":[{"s":6}],"g":[{"a":6,"á":6,"i":6,"o":6,"u":6,"y":6}],"h":[{"í":6}],"k":[{"e":12,"o":[{"s":[{"k":12}]}]}],"l":[{"a":[{"d":6,"k":12},10],"á":[{"l":6,"r":13}],"e":13,"é":[{"l":6},10],"f":[{"e":32}],"i":[{"d":6,"n":12,"r":6,"s":[{"m":6}]}],"o":[{"p":6}],"ó":[{"r":12}],"ö":6}],"m":[{"u":6}],"n":[{"a":[{"c":6,"l":6,"t":12}],"á":[{"r":6,"t":12},10],"e":13,"y":[{"a":[{"l":23,"n":23,"p":6,"r":6,"s":24,"v":6}],"e":23,"é":[{"n":6,"r":[{".":24}]}],"i":[{"f":6,"n":[{"g":24}],"s":6}],"o":[{"k":[{"u":23}]}],"ö":6}]}],"p":[{"o":6}],"r":[{"a":[{"d":6,"m":6,"s":6,"z":6}],"u":6,"ú":6}],"s":[{"a":6,"á":6,"í":6,"ó":6,"u":6,"z":6}],"t":[{"a":10,"e":13,"é":6,"í":6,"u":6,"ü":6}]},48],"b":[{"a":[{"d":[{"ó":5,"t":[{"a":5}]},59],"g":[{"a":5}],"j":[{"k":52}],"l":[{"a":51,"k":52}],"n":[{"t":5,"y":19}],"t":[{"l":5}],"u":52,"z":[{"o":19}]}],"á":[{"g":[{"g":5}],"p":52,"r":[{"a":5}]}],"e":[{"á":10,"h":[{"e":51}],"j":[{"t":5}],"l":[{"á":14,"e":[{"f":51,"m":[{"e":14}]}],"h":[{"e":[{"l":52}]}]}],"n":[{"c":52}],"s":[{"t":[{"e":5,"é":5}],"z":[{"e":[{"k":11}]}]}],"x":52}],"é":[{"g":52,"p":5,"r":[{"d":52,"t":[{"é":52}],"z":52}]}],"g":[{"r":5}],"i":[{"d":52,"n":[{"a":51,"f":52,"g":52}],"r":[{"á":52}],"s":51,"z":[{"z":52}]}],"k":[{"l":5,"r":5}],"l":[{"a":[{"t":6}],"ú":54}],"o":[{"k":[{"t":5}],"l":[{"a":19}],"r":[{"v":5}]}],"ö":[{"b":5,"s":5}],"r":[{"u":[{"s":6}]}],"s":[{"t":42}],"t":[{"r":5}],"ü":[{"g":52,"l":[{"é":5},11],"r":52,"z":5}]}],"c":[{"a":[{"j":[{"t":5}],"l":[{"k":5}],"n":51,"z":52}],"á":[{"g":5,"l":52,"r":5}],"b":[{"l":5}],"c":[{"a":13,"é":[{"r":12}],"h":21,"i":12,"s":[{"á":[{"t":3}],"o":25}],"ú":6}],"e":[{"g":52,"l":[{"o":52,"v":52}],"n":[{"t":[{"o":47}]}],"t":[{"b":0,"o":14,"s":50,"t":50,"ü":[{"z":11},0]}],"v":[{"é":52}]}],"h":[{"a":[{"r":25}],"e":[{"n":25}],"i":[{".":25,"n":9}],"ó":50,"u":9}],"l":[{"e":6,"u":6}],"s":[{"a":[{"d":0,"l":[{"a":61}],"n":61,"p":[{"á":[{"g":17,"k":61}]}],"r":[{"á":9}]}],"á":[{"r":[{"á":9,"b":9,"o":9},10],"t":61}],"é":[{"l":61,"r":[{".":56,"t":[{"é":9}]}]}],"o":[{"l":56}],"ö":[{"l":56}],"s":9,"ú":[{"s":[{"z":[{"ó":[{"s":65}]}]}]}],"ü":[{"k":[{"b":55}],"t":55}],"z":[{"e":25}]}],"u":[{"d":52}],"z":[{"á":25,"e":25}]}],"d":[{"a":[{"b":52,"d":[{"á":51}],"n":[{"y":19}],"z":51}],"á":[{"c":51,"g":52,"p":52}],"e":[{"g":[{"y":5}],"l":[{"e":[{"m":[{"e":33}]}],"o":52}],"m":[{"l":52}],"r":[{"a":[{"k":11}],"á":[{"l":14}],"e":[{"l":11}],"é":[{"k":14}],"o":14,"ü":[{"l":2}]}],"s":[{"o":14}],"t":[{"á":11,"e":[{"l":11}],"é":[{"r":[{".":14}]}]}]}],"é":[{"j":51,"k":[{"á":11,"i":[{"s":11}],"o":14}],"l":[{"y":[{"á":11,"o":11}]}],"n":[{"n":50,"y":50}],"p":52,"r":[{"d":52}],"s":[{"a":11,"o":11,"s":27,"z":4}],"v":[{"é":[{"n":19,"r":19}]}]}],"g":[{"r":5}],"i":[{"c":47,"d":[{"e":0}],"g":[{"a":[{"z":22},51]}],"l":[{"l":5}],"n":[{"t":52}],"r":[{"a":52,"o":5}]}],"í":[{"r":52,"v":[{"n":5}],"z":52}],"o":[{"l":[{"d":5}],"r":[{"v":5}],"s":52}],"ö":[{"s":52}],"ő":[{"r":[{"s":52}],"s":[{"ü":14}]}],"p":[{"l":5,"r":5}],"r":[{"a":[{"m":6}],"o":[{"g":54}],"ó":54}],"ü":[{"g":52,"t":52}],"ű":[{"z":52}],"v":[{"a":13,"á":[{"r":12,"t":6},10],"é":[{"r":[{".":9}]}],"ö":[{"z":12}]}],"y":[{"i":9}],"z":[{"á":55,"ő":[{"i":50,"j":53,"r":53,"v":50}],"v":53}]}],"e":[{"b":[{"é":6}],"c":[{"s":6}],"d":[{"z":6}],"g":[{"e":6,"é":[{"s":[{"z":22}]},6],"y":6}],"h":[{"e":6}],"k":[{"e":6}],"l":[{".":0,"a":6,"e":6,"é":[{"b":0,"d":6}],"g":0,"o":6,"ő":6}],"m":[{"e":[{"n":25},6],"é":6,"u":6}],"n":[{".":0,"b":0,"j":0,"t":0,"w":0,"y":6}],"p":[{"e":6,"é":6,"o":6}],"r":[{"e":6,"o":6,"ó":6,"ő":6}],"s":[{"é":6,"ü":6,"z":6}],"t":[{"e":6,"h":51,"o":6}],"v":[{"e":6,"é":6,"i":6,"o":6,"ő":6}],"z":[{"ü":6}]},48],"é":[{"d":[{"e":6}],"g":[{"e":6,"é":6,"ő":6,"ü":6}],"h":[{"e":6}],"j":[{"e":6,"é":6}],"k":[{"e":6,"í":6}],"l":[{"e":6,"é":6,"i":6,"ő":[{"k":[{"é":[{"s":[{"z":65}]}]}]},6],"ü":6,"ű":6}],"m":[{"e":6}],"n":[{"e":6}],"p":[{"í":[{"t":[{"é":[{"s":[{"s":28}]}]}]},6],"ü":6}],"r":[{"é":6,"i":6,"ő":6,"ü":6}],"s":[{"z":6}],"t":[{"e":6}],"v":[{"e":6,"é":6,"i":6,"ü":6}]},48],"f":[{"a":[{"x":[{"i":14}]}],"e":[{"k":[{"t":[{"á":10,"í":17}]}],"n":[{"y":[{"ő":[{"é":33}]}]}]}],"f":[{"i":[{"n":12}],"o":12}],"l":[{"a":54,"e":[{"x":[{"i":[{"k":17}]}]}],"u":6}],"o":[{"n":[{"a":[{"l":[{"k":14}]}],"i":[{"k":11}]}],"r":[{"m":[{"a":[{"l":30},26]}]}]}],"p":[{"l":5}],"r":[{"á":54,"ö":6}]}],"g":[{"a":[{"b":[{"á":51,"e":11,"l":5,"r":5}],"c":[{"é":51,"s":11}],"d":51,"g":51,"i":11,"j":51,"k":[{"é":41},51],"l":[{"a":[{"c":11,"k":11,"n":11,"p":19}],"á":51,"h":52,"j":52,"m":52,"s":52,"t":52}],"m":51,"n":[{"g":5,"n":5,"t":5,"y":19}],"p":[{"a":51,"á":5,"o":11,"ó":19,"r":52}],"r":[{"c":5,"i":11,"o":19,"t":5}],"s":[{"s":52,"z":[{"a":51,"o":51,"ú":0}]}],"t":[{"k":5,"r":8,"y":94}],"u":51,"v":[{"a":19}],"z":[{"o":[{"l":41,"n":11}]}]}],"á":[{"b":[{"a":41,"ó":41}],"c":[{"s":19}],"f":52,"g":51,"h":5,"i":94,"j":[{"a":41,"á":41,"u":11}],"m":11,"n":94,"p":52,"r":[{"á":51,"b":52,"g":94,"n":52,"o":11,"t":5,"u":11,"ú":11}],"s":[{"a":11}],"t":[{".":41,"u":94}],"v":[{"a":41}],"z":[{"á":11,"i":11,"u":11}]}],"b":[{"l":5,"r":5}],"d":[{"r":19}],"e":[{"b":[{"é":51}],"c":[{"s":[{"ö":18}]}],"d":[{"z":5}],"g":[{"e":19}],"h":[{"e":5}],"k":[{"é":[{"s":51}]}],"l":[{"a":0,"e":[{"d":41,"g":11,"j":11,"k":[{"t":0}],"m":[{"b":19,"e":51,"n":51,"r":51,"t":51}],"s":2}],"é":[{"g":5,"r":19}],"f":52,"g":94,"h":[{"a":52}],"i":[{"t":94}],"j":[{"á":52}],"m":52,"n":[{"e":94}],"o":52,"ő":[{"á":94,"b":[{"b":[{"e":11}]}],"d":94,"f":94,"i":94,"m":94,"n":[{"y":[{"e":41}]}]}],"t":[{"á":52,"e":[{"t":94}],"ü":94}],"v":[{"á":52}],"z":52}],"m":[{"e":[{"l":0}]}],"n":[{"d":41,"y":[{"e":41}]}],"p":[{"e":5,"r":5}],"r":[{"á":41,"d":0,"e":[{".":53,"d":0,"k":50}],"é":[{"n":[{"y":11}]},0],"k":5,"l":41,"ó":52,"ő":52}],"s":[{"e":[{"k":6,"t":[{"e":52}]}],"z":[{"k":52}]}],"t":[{"a":[{"l":0}]}],"v":[{"e":19}],"x":52}],"é":[{"g":51,"m":[{"b":41}],"n":[{"e":[{"k":[{"e":51,"k":51}]}],"y":[{"e":[{"l":18}]}]}],"p":[{"í":52,"s":5}],"r":[{".":0,"b":0,"e":[{"s":14,"t":[{"e":3},73],"z":11}],"é":[{"s":11},0],"g":0,"i":[{".":11},0],"k":0,"n":0,"ő":[{".":19}],"r":0,"s":0,"t":[{"é":5,"h":5,"ő":0}],"v":0}],"s":[{"z":[{"l":5,"s":53},0]}],"t":[{"e":5}]}],"f":[{"l":5}],"g":[{"i":[{"m":6}],"y":[{"a":[{"l":25,"n":25}],"á":[{"s":25}],"ú":25}]}],"i":[{".":41,"b":[{"r":5}],"d":[{"d":5,"e":19}],"e":41,"g":[{".":41,"a":52,"é":52},11],"j":5,"k":[{"o":51,"r":5}],"l":[{"l":0}],"m":[{"b":5,"m":0}],"n":[{"f":5,"g":52,"o":5,"s":5}],"o":94,"r":[{"a":5,"o":19}],"s":[{"s":5,"t":5,"z":11}],"t":[{"a":51,"á":41}],"v":[{"a":52,"á":52,"e":41}],"z":[{"é":5,"g":5,"m":5,"z":5}]}],"í":[{"g":52,"n":52,"r":51,"v":52,"z":52}],"k":[{"l":5,"r":5,"v":5}],"o":[{"b":52,"c":0,"d":51,"i":0,"k":51,"l":[{"a":19,"d":52,"v":5,"y":41}],"m":[{"i":11},47],"n":[{"t":0}],"p":52,"r":[{"g":5,"o":[{"m":94,"s":11}],"r":52,"v":52}],"s":51,"t":52}],"ó":[{".":41,"b":94,"d":[{"o":11}],"j":94,"r":[{"a":19,"á":5}],"v":5}],"ö":[{"b":52,"k":5,"n":[{"t":5}],"r":[{"ö":[{"g":41,"m":11},5]}],"t":5,"v":5,"z":51}],"ő":[{"k":[{"é":[{"s":[{"z":28}]}]}],"r":[{"e":41,"i":5,"ö":5}],"s":[{"z":[{"i":11}]}],"z":94}],"p":[{"l":5,"r":5,"s":5}],"r":[{"a":[{"t":54}],"ó":[{"f":54}]}],"s":[{"k":5,"l":5,"m":5,"p":5,"t":19,"z":[{"t":5},10]}],"t":[{"r":5}],"u":[{"b":94,"d":5,"m":94,"n":19,"r":[{"a":[{".":51,"i":51,"k":51,"s":51,"t":51}],"á":51,"u":41}],"s":51,"t":51,"z":19}],"ú":[{"j":5,"n":94,"r":5,"s":5,"t":5}],"ü":[{"d":52,"g":[{"y":[{"e":11}]}],"l":[{"e":51,"i":19}],"s":52,"t":52,"v":52,"z":52}],"ű":[{"z":52}],"v":[{"á":[{"r":[{"o":[{"s":[{"i":78}]}]}]}]}],"y":[{"a":[{"d":61,"g":8,"j":56,"k":[{"t":9}],"l":[{"a":8}],"r":[{"á":56}],"s":56,"t":8,"u":56,"z":9}],"á":[{"l":56,"r":[{"á":8,"f":9}],"t":0}],"e":[{"l":[{"e":[{"g":9}],"f":9,"l":9,"o":9,"ő":[{"j":8,"v":8}],"z":9}],"n":[{"i":0,"l":50,"s":50}],"s":[{"z":[{"t":9}]}],"z":[{"m":53}]}],"é":[{"k":[{"s":9}],"n":[{"i":53}],"r":[{".":9}]}],"i":[{"p":0,"s":0,"z":56}],"o":[{"k":9,"l":56,"r":10,"s":56,"t":9}],"ó":[{"r":61}],"ö":[{"l":8,"s":56,"z":56}],"ő":[{"r":8}],"u":[{"r":9,"t":9},10],"ü":[{"t":53}]}],"z":[{"i":[{"s":53}]}]}],"h":[{"a":[{"d":[{"e":11}]}],"á":[{"z":[{"a":[{"l":11}]}]}],"e":[{"l":[{"l":[{"á":5}],"y":[{"e":[{"s":11}]}]}],"r":[{"á":[{"l":11,"t":11}],"e":[{"l":14,"m":14,"n":11,"s":11},32],"i":[{"n":11}],"o":[{"l":11}]}]}],"é":[{"j":[{"e":51}],"n":[{"á":11,"é":[{"v":11}]}],"z":[{"á":11,"o":11}]}],"o":[{"r":[{"s":52}]}],"s":[{"z":5}]}],"i":[{"á":[{"b":6,"h":6,"j":6,"n":6,"r":6,"t":6,"v":6}],"b":[{"n":0}],"d":[{"e":[{"á":6,"i":6,"o":6}],"é":[{"n":6}],"o":[{"m":6}],"ő":6,"p":0}],"e":[{"r":0}],"g":[{"á":6,"é":6,"n":51,"y":6}],"h":[{"a":6}],"l":[{"l":[{"e":[{".":11}]}]}],"m":[{"a":[{".":6,"n":6}],"á":6,"i":[{"t":6}],"k":0,"s":0,"z":0}],"n":[{"a":[{"d":9},31],"á":13,"e":[{"g":6}],"é":[{"r":0,"t":0}],"i":[{"t":[{"a":12}]}],"o":[{"l":6}],"ő":6,"t":[{"r":8}],"ü":6}],"o":[{"n":6}],"p":[{"a":6}],"r":[{"a":[{"m":6,"t":6}],"i":6,"o":[{"d":6}],"ó":0}],"t":[{"a":6,"b":0,"j":0,"n":0,"r":0}],"v":[{"a":6,"á":6,"o":6,"ó":6}],"z":[{"é":6,"m":[{"i":0}],"o":6}]},48],"í":[{"g":[{"é":6}],"j":[{"á":6,"ú":6}],"r":[{"a":6,"á":[{"s":[{"b":[{"e":25}],"i":[{"l":25}],"o":[{"c":25,"n":[{"k":25}]}]}]},6],"ó":[{".":6,"a":6,"á":6,"b":6,"d":[{"n":6}],"f":6,"g":6,"h":6,"i":[{".":6,"k":6,"n":6,"t":6}],"í":32,"j":[{"a":6,"á":6,"e":6,"u":6}],"k":6,"m":6,"n":[{".":6,"a":6,"á":6,"y":6}],"r":6,"t":6,"v":6}]}],"t":[{"é":6}],"v":[{"á":6,"e":6,"é":6,"i":6,"o":6,"ó":6}],"z":[{"e":6,"ü":6,"ű":6}]},48],"j":[{"a":[{"b":5,"d":51,"g":19,"k":[{"k":5},0],"l":19,"n":19,"r":5,"u":5,"z":19}],"á":[{"b":5,"g":51,"l":5,"r":[{"t":[{"ó":52}]}],"t":[{"e":82,"v":5}]}],"b":[{"l":5,"r":5}],"c":[{"s":[{"a":[{"p":43}]}]}],"d":[{"r":5}],"e":[{"c":[{"s":[{"e":52}]},11],"f":52,"g":[{"e":[{"d":19}],"é":51}],"k":[{"c":0}],"l":[{"a":52,"c":52,"e":[{"d":[{"e":0}],"m":[{"b":51,"e":51,"é":19,"n":51}]}],"f":52,"h":[{"a":52,"e":[{"l":52}]}],"o":52,"s":[{"z":[{"á":5}]}],"t":[{"é":[{"r":5}]}],"u":52}],"n":[{"g":52,"z":52}],"s":[{"s":[{"z":52}],"z":11}],"x":52}],"é":[{"j":51,"k":51,"l":52,"p":52,"t":[{"e":52}]}],"f":[{"r":5}],"g":[{"r":19}],"i":[{"d":51,"m":52,"n":[{"a":5,"t":52}],"p":52,"z":52}],"í":[{"g":5,"v":5}],"k":[{"l":5,"v":5}],"m":[{"o":[{"k":6}]}],"o":[{"l":5,"p":5}],"ó":[{"c":5,"n":5,"s":[{"á":11}],"t":5,"v":5}],"ö":[{"b":52,"l":52,"v":[{"e":[{".":19}]}]}],"ő":[{"z":52}],"p":[{"l":5,"r":5}],"s":[{"p":5,"t":42}],"t":[{"a":[{"d":6,"u":6}],"á":[{"l":6,"t":6}],"e":[{"l":[{"k":12}],"s":[{"t":[{"e":12}]}],"v":6}],"é":[{"r":[{"é":9},10]}],"i":[{"n":6,"z":6}],"o":[{"s":6}],"ó":[{"r":13}],"ö":[{"d":6,"l":13,"n":6,"s":6}],"r":[{"a":5,"ó":5}],"ü":[{"r":6}]}],"ú":[{"j":5,"r":5,"t":19}],"ü":[{"g":52,"r":52,"t":51,"v":52,"z":52}]}],"k":[{"a":[{"b":[{"l":52}],"c":[{"é":19}],"d":[{"á":19,"ó":51}],"g":[{"y":11}],"j":[{"a":19,"t":[{"ó":[{".":52,"i":52,"k":52,"n":52,"r":52,"t":52}]}]}],"k":[{"a":[{"r":19}]}],"l":[{"j":52,"o":51,"t":5}],"n":[{"g":5,"i":52,"y":[{"á":19}]}],"r":[{"c":[{".":5,"a":5,"r":5,"ú":5}]}],"s":[{"i":[{"p":11}]}],"u":52,"z":[{"o":5}]}],"á":[{"g":52,"l":[{"l":[{"o":5}],"m":5}],"r":[{"a":[{"d":5,"i":11,"k":19,"s":5}],"á":51,"d":52,"f":52,"h":52,"k":52,"m":52,"n":52,"o":[{"n":51}],"r":52,"u":51,"ú":51,"v":52}],"s":[{"ó":5}],"t":[{"a":5,"d":5,"h":52,"j":5,"m":52,"o":19,"t":52}]}],"b":[{"l":5,"r":5}],"c":[{"é":[{"m":53}],"i":[{"ó":[{"f":10}]}],"l":5}],"d":[{"r":5}],"e":[{"b":[{"é":52}],"d":[{"z":51}],"g":[{"g":52,"y":[{"e":51}]}],"k":[{"é":[{"b":[{"ő":51}],"s":51}]}],"l":[{"a":0,"e":[{"g":51,"m":[{"e":11}]}],"h":[{"a":5}],"k":52,"l":[{"á":0}],"m":52,"o":52,"ő":[{"n":52}],"r":52,"t":[{"a":5,"é":[{"r":17}]}]}],"m":[{"a":51,"e":[{"l":51}],"é":[{"s":19}]}],"p":[{"i":19}],"s":[{"t":[{"r":52}],"z":[{"e":[{"l":[{"e":11}]}],"o":11}]}],"v":[{"é":51,"i":52}]}],"é":[{"é":[{"h":50}],"g":52,"i":[{"k":50}],"k":[{"e":[{"k":5}],"t":52}],"l":[{"e":19,"n":5,"ő":5}],"p":[{"í":52}],"r":[{"i":[{"n":52}],"t":[{"é":[{"k":[{"b":5}]}]}],"ü":[{"l":11}]}],"s":[{"z":[{".":52,"h":52,"n":52}]}],"t":[{"e":[{"l":11}],"k":52,"l":52,"t":52}],"v":[{"e":[{".":51,"k":51,"t":19}],"i":52}]}],"f":[{"r":5}],"g":[{"n":5,"r":5}],"i":[{"á":10,"g":[{"a":[{"z":22},19],"e":19,"é":52}],"i":10,"l":[{"l":5}],"m":[{"a":52,"á":[{"r":11}]}],"n":[{"á":52,"d":5}],"s":[{"k":52,"m":5,"p":52}],"z":[{"o":19}]}],"í":[{"j":52,"r":[{"á":5}],"z":5}],"k":[{"a":[{"r":[{"ó":98}]}],"e":[{"l":[{"e":12,"f":12}]}],"o":[{"s":[{"z":9}]}],"r":[{"i":5}],"ű":6}],"l":[{"é":[{"s":[{"s":38}]}],"i":[{"m":6}]}],"n":[{"ő":25}],"o":[{"á":52,"b":[{"j":5}],"d":[{"v":52}],"l":[{"a":51,"l":[{"ó":5}],"v":52}],"p":[{"e":51}],"r":[{"d":[{"a":10,"á":17}],"o":[{"m":19}],"r":[{"a":5}],"v":52}],"t":[{"t":[{"h":5}]}]}],"ó":[{"h":51,"r":[{"a":19,"á":19}]}],"ö":[{"k":[{"ö":52},11],"l":[{"é":51,"ő":19}],"m":52,"n":[{"k":52,"t":52}],"r":[{"i":11,"v":52}]}],"p":[{"l":5,"r":5,"s":5}],"r":[{"a":[{"m":54}],"é":[{"t":[{"á":48}]}],"i":[{"s":6}],"í":54,"ó":[{"m":6}]}],"s":[{"l":5,"m":5,"p":5,"t":5,"z":[{"a":[{"l":3}],"e":[{"s":22}],"i":[{"p":6}]}]}],"t":[{"a":[{"u":6,"z":6}],"e":[{"l":[{"k":9}],"s":[{"z":12}]}],"é":[{"r":[{"d":12}]}],"i":[{"l":6,"m":6,"o":13}],"o":[{"k":12}],"u":[{"s":[{"s":7}]}]}],"u":[{"d":52,"r":[{"a":51,"o":5}],"t":[{"á":52,"ó":52}],"z":52}],"ú":[{"j":52,"r":[{".":52}],"t":[{"o":5,"v":5},11]}],"ü":[{"n":[{"n":52}],"t":[{"ő":5},11],"z":[{"l":5}]}],"v":[{"ó":54}]}],"l":[{"a":[{"b":[{"a":19,"l":5,"o":[{"r":[{"t":19}]}]}],"c":51,"d":51,"g":[{"g":5,"y":19}],"j":19,"k":[{"a":[{"d":52,"s":51}],"c":5}],"l":51,"m":19,"n":[{"a":5,"d":[{"i":10}],"e":19,"i":19,"n":5,"y":11}],"p":[{"a":19}],"r":[{"a":5,"á":5,"é":5},11],"s":[{"z":[{"a":5,"i":5,"ó":5,"u":5}]}],"u":51,"v":[{"a":19,"e":19}],"z":[{"o":5}]}],"á":[{"b":[{"é":11}],"g":[{".":5,"a":51,"g":5,"i":19,"n":5,"o":19}],"j":19,"l":[{"d":5,"l":5,"o":19}],"m":[{"í":5},11],"n":[{"á":11,"e":11,"ó":11},6],"p":19,"r":[{".":5,"á":19,"b":5,"c":5,"e":19,"é":19,"f":5,"h":5,"k":5,"n":5,"o":19,"ö":5,"r":5,"t":5,"u":19,"ú":19}],"s":11,"t":[{"a":32,"e":108,"f":5,"k":5,"l":5,"m":5,"r":5}],"z":[{"i":5,"o":5,"t":5}]}],"b":[{"l":5,"r":5}],"d":[{".":47,"r":19}],"e":[{"b":[{"r":[{"e":9}]}],"d":[{".":47,"e":[{"l":50}]}],"f":[{"f":5}],"g":[{"e":[{"l":[{"é":2}]}],"y":[{"e":[{"n":[{"e":19}]}],"ü":0}],"z":5}],"í":[{"r":[{"a":[{"n":27}]}]}],"k":[{"l":8,"o":[{"s":14}],"r":[{"á":9}],"t":[{"r":53}]}],"l":[{"b":52,"e":[{"m":[{"b":51}]}],"m":52,"ő":[{"z":0}],"r":5}],"m":[{"a":[{"d":11}],"b":[{"e":[{"r":52}]}],"e":[{".":53,"i":50,"k":53,"l":[{"l":11}],"m":[{".":50,"m":50}],"s":[{".":50,"n":50,"z":11}]}],"é":[{"l":[{"t":11}],"r":[{"d":11}]}],"ü":[{"k":50,"n":[{"k":50}]}],"z":[{"é":50,"ő":50}]}],"n":[{"d":47,"e":[{"r":0}],"é":[{"l":11}]}],"ó":10,"p":[{"a":[{"l":11,"p":11}],"e":[{"l":[{"e":11,"l":11}]}],"ő":[{"r":2}]}],"r":[{"d":0,"e":[{"d":19,"i":19}],"j":5,"n":52,"ó":[{"z":11}]}],"s":[{"e":[{"g":[{"e":11}]}],"é":[{"s":[{"b":11,"e":11,"é":11,"h":11,"i":11,"k":11,"n":11,"r":11,"s":11,"t":11,"ü":11}]}],"i":[{"k":[{".":11}]}],"n":[{"é":[{"n":52}]}],"ő":[{"b":11,"s":11}],"s":[{"é":[{"l":52}]}],"t":[{"a":9}],"z":[{"e":[{"k":11}]}]}],"t":[{"e":[{"k":[{"é":[{"t":2}]}],"t":[{"i":11,"n":11,"ő":11}]}],"é":[{"k":14,"l":11}],"t":[{"é":[{"k":52}]}]}],"ü":10,"v":[{"ő":[{"k":81}]}],"x":[{"i":19}]}],"é":[{"b":[{"b":0}],"d":[{"u":11}],"g":[{"e":[{"s":19,"t":19}],"j":5,"t":[{"e":[{"k":5}]}],"v":5}],"h":[{"e":[{"t":19}]}],"k":[{"a":[{"k":11,"n":14},32],"á":14,"e":[{"l":[{"e":2}],"v":11,"z":[{"e":11,"i":11,"t":11}]}],"í":5,"ö":11,"u":11}],"l":[{".":5,"d":5,"e":[{"d":11,"t":19}],"é":19,"h":5,"i":19,"j":5,"n":5,"s":5,"t":52,"ü":19,"v":52}],"n":[{"e":[{"k":[{"e":51,"h":51}]}]}],"r":[{"e":[{"d":51,"m":51,"n":[{"d":11}],"z":51}],"é":[{"t":[{".":11}]}],"i":[{".":11}],"p":52,"r":[{"ő":52}],"t":[{"e":[{"l":0}],"é":52,"h":5,"ő":52}],"ü":51,"z":52}],"s":[{"é":[{"t":[{"ő":47}]}],"o":11,"z":[{".":47,"e":[{"l":47,"m":47}],"n":[{"e":47,"é":47}],"ő":47,"ü":47,"v":47}]}],"t":[{"e":[{"l":11,"s":51,"t":[{"e":11}]}],"k":52,"t":52}],"v":[{".":52}]}],"f":[{"l":5,"r":19}],"g":[{"l":5}],"h":[{"a":[{"p":53}]}],"i":[{"b":6,"d":[{"e":[{"g":5}],"é":5,"o":19}],"g":[{"a":5,"é":52}],"l":[{"l":5}],"m":[{"a":51,"á":0,"p":52}],"n":[{"t":[{"o":52}]}],"o":[{"n":19}],"ő":10,"p":51,"r":[{"a":52,"o":51}],"s":[{"i":51,"m":0,"s":5,"t":[{"e":5}]}],"t":[{"i":[{"n":11}],"o":[{"l":11}],"u":32}],"v":[{"á":19}],"x":63,"z":[{"o":19}]}],"í":[{"g":52,"r":[{"á":19}],"v":19}],"k":[{"a":[{"r":[{"á":30}]}],"e":[{"z":[{"d":[{"é":53,"ő":53}]}]}],"i":25,"l":19,"r":19,"v":5}],"l":[{"a":[{"d":[{"á":13,"ó":13}],"l":[{"k":9}],"m":[{"b":12,"p":6}],"t":3,"u":6}],"á":[{"b":[{"r":12}],"l":[{"l":12}],"t":[{"á":[{"s":[{"o":53,"ü":53}]}],"m":53}]}],"e":[{"f":6,"g":[{"ó":17}],"l":[{"k":[{"é":9}],"m":6}],"n":[{"á":53,"e":[{"s":53}],"f":53,"ő":53,"s":53,"z":53}]}],"i":[{"d":6,"n":[{"f":9,"g":[{".":9}],"t":9}]}],"o":[{"r":12,"s":[{"z":9}]}],"ó":[{"r":[{"á":9}]}],"ö":[{"n":6,"s":6}],"ű":[{"r":12}]}],"m":[{"é":[{"é":[{"h":53}],"l":53,"t":[{"e":53}]}]}],"n":[{"é":[{"p":53}],"ö":[{"k":53}]}],"o":[{"b":[{"j":5}],"f":[{"f":5}],"j":5,"k":[{"á":51,"m":5}],"l":51,"m":[{"l":5,"o":5}],"n":[{"t":5}],"p":[{"c":5,"e":52}],"r":[{"o":5,"r":5}],"s":[{"z":0},5],"x":52}],"ó":[{"i":[{"g":11,"n":11}],"r":[{"i":51}]}],"ö":[{"b":5,"m":19,"n":52,"r":52,"s":52,"z":51}],"ő":[{"á":[{"p":47,"r":47}],"b":[{"é":47,"i":47,"o":47}],"d":[{"e":[{"i":53}],"í":2,"j":[{"e":[{".":53}]}],"o":47,"ö":[{"t":[{".":53}]}]}],"e":[{"r":10}],"f":[{"ú":50,"ü":47,"ű":47}],"h":[{"í":[{"v":50}],"ű":53}],"i":[{"b":47,"k":47,"m":47,"v":47}],"j":[{"a":47}],"k":[{"é":[{".":47,"r":[{"t":47}],"s":[{"e":53,"t":50}]}],"l":47,"ő":47,"t":47,"u":47,"ü":47}],"m":[{"ö":47,"ű":47}],"n":[{"a":47,"n":53,"ö":47,"y":[{".":53,"b":53,"e":[{"r":47}],"h":53,"i":47,"k":53,"n":53,"ö":53,"r":53,"t":53,"ü":53}]}],"ö":47,"r":[{".":5,"e":[{"g":50,"h":53,"j":53}],"i":[{"z":5}],"l":5,"o":47,"ü":52}],"s":[{"á":47,"o":47,"ö":47,"p":8,"z":[{"e":47,"é":47,"i":47,"ó":47}]}],"t":[{"ü":47}],"ü":47,"v":[{"i":[{"s":47,"z":47}]}],"z":[{".":50,"e":[{"n":[{"e":91}]},0],"m":53}]}],"p":[{"l":19,"r":[{"ó":5}]}],"s":[{"k":5,"l":5,"m":5,"z":[{"t":42}]}],"t":[{"a":[{"j":12}],"á":[{"r":[{"a":[{"d":[{"a":7},26]}]}]}],"e":[{".":47,"r":[{"e":[{"i":13}]}],"s":47,"t":[{".":47,"e":47,"é":47,"h":47,"i":47,"j":47,"n":47,"s":47,"t":[{"k":53}],"ü":47,"v":47}]}],"é":[{"b":47,"l":47,"t":47}],"r":[{"a":19,"á":5,"é":5}],"ü":[{"k":47}]}],"u":[{"d":52,"g":19,"n":[{"d":5},11],"r":19,"t":51,"z":52}],"ú":[{"j":5,"s":5,"t":19}],"ü":[{"c":5,"d":52,"g":[{"y":[{"é":[{"r":[{".":7,"n":7}]}]}]},52],"k":[{"é":[{"n":11}]}],"l":[{"t":[{"e":[{"t":52}]}]}],"r":52,"s":52,"t":52,"v":52,"z":52}],"ű":[{"r":[{"t":5}],"z":52}],"v":[{"a":[{"d":[{"a":9,"ó":8}],"t":12}],"á":[{"r":[{"a":[{"i":12,"s":12}],"á":[{"r":12}]}],"s":[{"z":9}],"t":6}],"e":[{"n":[{"c":12}]}],"é":[{"g":[{"ü":12}],"l":[{"e":9}],"r":[{".":12,"i":12}]}],"i":[{"k":6}],"o":[{"l":[{"t":9}]}],"ó":13,"ö":[{"d":6}],"ő":6,"ú":6}],"y":[{"a":61,"á":61,"e":[{"k":[{"é":[{"n":[{".":61}]}]}],"l":56,"r":0,"s":[{"z":[{"t":9}]}]}],"é":[{"j":[{"é":8}],"k":[{"é":8}],"l":56,"s":0}],"i":[{"k":[{"o":61}],"r":[{"a":56}]}],"k":[{"é":[{"j":11}]}],"o":56,"ó":56,"ö":[{"m":0,"n":0,"s":0}],"ő":0,"u":[{"l":9}],"ü":[{"l":[{"é":56},10]}]}]}],"m":[{"a":[{"b":52,"d":[{"a":[{"t":19}],"á":[{"s":19}],"o":51,"ó":51,"t":52}],"g":[{"i":51}],"j":[{"a":19,"á":52,"k":5,"t":52}],"k":[{"a":19,"á":5,"u":52}],"l":[{"a":[{"p":19}],"l":52,"m":[{"á":5}],"v":5}],"n":[{"a":52,"á":53,"y":51}],"p":[{"á":5,"r":5},11],"r":[{"á":[{"n":19}]}],"s":[{"s":[{"z":[{"o":5}]}]}],"t":[{"l":52}],"u":51,"v":51,"z":[{"o":51}]}],"á":[{"b":52,"l":[{"a":5,"d":5,"i":5},11],"p":52,"r":[{"a":52,"n":52,"o":52,"u":52,"v":5},11],"s":[{"á":52}],"t":[{"a":15,"e":52,"l":52,"m":5,"t":52,"u":52}]}],"b":[{"a":[{"r":[{"g":53}]}],"e":[{"r":[{"e":[{"d":53}],"f":53,"ő":16,"s":53}]}],"l":[{"e":[{"n":11}],"é":53}],"r":[{"e":5,"i":53,"o":5}]}],"d":[{"r":5}],"e":[{"f":52,"g":[{"e":[{"r":20}],"i":20,"y":[{"e":[{"t":5}],"é":5}],"z":52}],"k":[{"é":[{"s":51}]}],"l":[{"a":52,"b":5,"e":[{"t":53}],"k":[{"e":53}],"l":[{"á":52}],"m":52,"o":109,"ő":[{"b":53,"e":53,"n":[{"y":5}],"s":53,"v":53}],"t":[{"y":53}]}],"m":[{"b":[{"e":[{"r":52}]}],"e":[{"l":51}],"u":52}],"n":[{"e":[{"r":0,"s":[{"s":22}]}]}],"p":51,"r":[{"é":[{"n":[{"y":51}]}],"ő":51}],"s":[{"a":11,"e":[{"t":[{"é":19}]}],"é":[{"s":51}],"z":[{"e":[{"m":19,"t":51}],"k":52,"m":52}]}],"u":52,"v":51,"z":[{"a":14,"á":2,"o":14,"s":4}]}],"é":[{"g":52,"h":[{"e":[{".":51,"n":51,"s":51}],"s":0}],"j":51,"k":[{"e":52,"r":5},11],"l":[{"e":[{"t":19}]}],"n":[{"e":[{"k":[{"e":0}]}]}],"p":52,"r":[{"t":[{"e":[{"l":0}],"é":[{"k":[{"e":52,"é":52,"n":52}]}]}]}],"s":[{"z":[{"l":5}]}],"t":[{"a":2,"á":[{"r":11}],"e":[{"k":51,"l":[{".":52,"h":3,"s":3},11]}]}]}],"f":[{"l":5,"o":[{"g":[{"a":[{"d":[{"a":10},26]}]}]}],"r":19}],"g":[{"r":5}],"i":[{"d":[{"é":0,"ő":19}],"g":[{"a":52,"e":52,"é":52},11],"k":[{"s":5}],"m":[{"a":5,"á":0},11],"n":[{"f":52,"s":52,"t":[{"e":52}]}],"p":51,"r":[{"a":52,"á":0,"o":52,"t":52}],"s":[{"k":52,"m":52,"t":[{"e":52}],"z":[{"a":11,"á":11,"o":11}]}],"z":[{"é":5,"g":5,"o":51}]}],"í":[{"g":0,"j":52,"r":0,"v":51}],"k":[{"l":5,"r":5}],"l":[{"é":[{"k":[{"m":53,"v":53}]}]}],"o":[{"k":[{"l":52,"o":5,"t":52},11],"l":[{"a":5,"d":52,"l":5,"t":52}],"p":51,"r":[{"k":52,"s":52,"v":52}],"t":8}],"ó":[{"r":[{"a":11,"á":19}]}],"ö":[{"b":52,"k":[{"ö":52},11],"l":[{"d":52,"é":5},11],"n":52,"r":51,"s":52,"v":5,"z":51}],"ő":[{"r":[{".":5,"k":5,"n":5,"ö":19,"r":5,"t":5}]}],"p":[{"á":[{"t":53}],"c":5,"r":[{"e":19,"é":5,"o":5,"ó":5}],"s":19}],"s":[{"k":5,"m":5,"p":5,"t":19}],"t":[{"r":19}],"u":[{".":50,"d":0,"g":0,"j":0,"k":50,"l":[{"z":53}],"m":50,"n":[{"o":5}],"r":0,"s":[{"z":0}],"t":[{"a":[{"l":5}],"á":51,"c":0,"ó":52}]}],"ú":[{"j":52,"r":5,"t":52}],"ü":[{"d":52,"g":52,"l":[{"ő":51}],"n":[{"n":52}],"r":52,"t":52,"v":52,"z":52}],"ű":[{"z":52}],"z":[{"r":5}]}],"n":[{"a":[{"b":52,"d":[{"o":19}],"g":[{"i":5}],"j":51,"k":51,"l":[{"a":19,"k":5,"l":5,"m":5}],"n":51,"p":[{"á":19,"e":14}],"r":[{"á":19,"c":5}],"s":[{"z":5}],"t":[{"k":5}],"u":[{"t":5}]}],"á":[{"b":[{"r":5}],"g":5,"l":[{"d":5,"m":5}],"r":[{"a":52,"n":5,"o":19,"u":52}],"t":[{"k":5,"m":5,"v":5}],"z":52}],"b":[{"l":5}],"c":[{"a":13,"á":[{"r":12}],"h":21,"i":[{"p":12}],"í":6,"o":[{"l":12,"s":12}],"ö":13,"s":[{"é":[{"g":20}],"o":[{"r":21}],"p":39,"z":20}],"u":6}],"d":[{"a":[{"d":[{"á":12}],"l":[{"k":12}],"n":[{"o":6}]}],"á":[{"l":[{"l":12}],"r":[{"n":12}],"t":[{"l":12}]}],"é":[{"j":[{"é":8}],"r":[{".":12,"r":12,"t":[{"ő":12}],"z":12}]}],"o":[{"r":12}],"ó":[{"n":12,"r":13}],"ö":[{"s":6}],"r":[{"á":19}],"ú":6,"z":[{"a":6}]}],"e":[{"á":10,"g":[{"é":[{"r":52}],"g":52}],"l":[{"e":[{"k":19}],"j":[{"á":5}],"k":5,"l":52,"m":5,"n":[{"y":5}],"ü":5,"v":[{"á":5}]}],"m":[{"l":52}],"ó":10,"p":8,"r":[{"á":47,"g":50,"n":52,"v":0}],"s":[{"z":[{"t":[{"á":9}]}]},47],"t":[{"a":[{"l":11}],"o":[{"s":11}]}],"x":52}],"é":[{"k":[{"a":14,"e":[{"l":11}],"i":[{"s":11},32]}],"p":[{"í":5,"ü":5}],"r":[{".":52,"d":0,"é":52,"i":52,"t":[{"e":52}],"v":52}],"s":[{"z":[{"a":11,"e":[{"r":11}],"i":[{"n":44}]}]}],"t":[{"k":52}],"v":[{"e":[{"s":52}],"i":[{"g":11}]}]}],"f":[{"l":[{"u":[{"o":26}]},19]}],"g":[{"a":[{"n":6},10],"e":[{"d":[{"é":53}],"r":[{"ő":16}]}],"é":[{"s":[{"s":38}]}],"g":9}],"i":[{"d":[{"é":0,"i":[{"o":32}]}],"g":[{"a":51,"e":52,"é":52}],"l":[{"l":5}],"m":[{"á":0}],"n":[{"a":52,"d":5,"f":52,"t":[{"e":52}],"v":52}],"r":[{"a":52,"á":19}],"s":[{"k":5,"m":52,"z":[{"a":11,"e":[{"r":11}],"o":11,"ó":18}]}]}],"í":[{"v":52}],"k":[{"j":19}],"n":[{"e":[{"m":[{"e":12}],"s":6}],"é":[{"g":[{"e":9}],"k":[{"e":12},10],"r":6}],"i":[{"r":6}],"o":[{"l":12}],"ú":6,"ü":[{"l":12}],"y":[{"a":[{"d":15,"s":3}],"á":3,"e":[{"r":25}],"í":15,"u":25}]}],"o":[{"b":52,"f":52,"i":52,"l":[{"d":5,"v":52}],"n":[{"i":11}],"p":[{"t":5}],"r":[{"á":2}],"s":[{"t":52,"z":[{"t":5}]}],"x":52}],"ó":[{"t":[{"a":[{"l":11},32],"e":2}]}],"ö":[{"b":52,"l":52,"n":5,"s":52,"t":51,"v":41}],"ő":[{"r":[{"ü":11}]}],"p":[{"r":5}],"r":[{"y":5}],"s":[{"a":[{"b":12,"l":13,"n":13,"s":6}],"e":[{"l":12}],"é":[{"r":[{"t":[{"é":12}]}]}],"s":[{"z":[{"á":20}]}],"z":[{"o":[{"n":21}]}]}],"t":[{"a":[{"c":13,"d":[{"a":6}],"g":[{"y":9}],"k":15,"l":[{"a":13,"j":9,"k":12,"o":8}],"n":[{"d":9,"y":13}],"s":[{"s":9}]}],"á":[{"r":[{"a":[{"k":13,"t":13}],"á":12,"ú":13}]}],"e":[{"l":[{"m":[{"é":12}]}],"r":[{"a":30}],"s":[{"t":[{"e":12,"é":12,"i":12}]}],"t":[{"r":15}]}],"é":[{"g":13,"p":6,"r":[{"m":6}],"v":[{"e":[{".":13}]}]}],"i":[{"g":[{"é":6}],"o":13,"p":[{"a":9},10],"s":[{"z":10}]}],"o":[{"k":[{"t":12}]}],"ö":[{"n":6}],"r":[{"a":[{"d":5,"n":11}]}],"u":[{"n":6,"r":13}],"ü":[{"z":13}]}],"u":[{"t":[{"a":5}]}],"ú":[{"r":5,"t":5}],"ű":[{"z":52}],"y":[{"a":[{"b":0,"d":61,"e":56,"g":[{"a":9,"á":9},10],"j":56,"l":[{"k":9}],"n":61,"r":[{"é":9}],"s":56,"t":56,"u":56}],"d":8,"e":[{"d":[{"z":[{"é":8}]}],"l":[{"m":0,"ő":[{"n":9}],"v":[{"o":9,"ű":9}]}],"r":[{"ő":61}],"v":[{"e":9}]}],"é":[{"v":[{"a":0}]}],"h":[{"i":[{".":53}],"ő":[{"s":14}]}],"i":[{"d":56,"n":[{"g":0}],"r":[{"a":56}],"z":0}],"í":[{"r":[{"ó":8}]}],"o":[{"k":0,"l":61,"r":56,"s":56}],"ó":61,"ö":[{"k":[{"ö":56},10],"t":0}],"s":9,"t":[{"r":9},10],"ú":[{"t":9}],"v":[{"a":[{"n":11},32],"e":[{".":53,"l":2,"s":[{"s":22}]}]}]}],"z":[{"a":[{"l":6}],"i":[{"m":53}]}]}],"o":[{"á":[{"z":6}],"b":[{"o":0}],"d":[{"e":0,"ú":6}],"g":[{"r":[{"a":[{"f":[{"i":11}]}]}]}],"k":[{"a":0,"á":[{"d":6,"r":0}],"é":0,"l":51,"o":[{"n":0,"s":6}],"ö":6}],"l":[{"a":[{"j":6}],"ó":0,"y":6}],"m":[{"e":0,"é":0,"i":0}],"n":[{"a":[{"l":12,"n":[{"y":9},6],"t":[{"o":[{"m":6}]}],"u":12}],"á":[{"l":12,"r":6}],"d":8,"e":[{"r":6}],"f":8,"i":[{"z":6}],"ö":6,"t":[{"r":8}],"ú":12,"ü":6}],"p":[{"a":0,"e":6,"l":51,"r":[{"o":5}]}],"r":[{"a":13,"á":13,"e":[{"s":6}],"é":[{"s":12}],"g":[{"i":[{"a":32,"á":[{"b":110}]}]}],"i":[{"t":[{"á":10}]}],"k":8,"ö":6,"s":8}],"s":[{"o":6,"t":0,"z":[{"a":0,"f":42}]}],"t":[{"í":0,"o":0,"r":19}],"v":[{"i":6}]},48],"ó":[{"a":[{"d":11}],"b":[{"ö":0}],"c":[{"e":6}],"d":[{"á":6}],"f":[{"a":0}],"h":[{"e":0}],"j":[{"e":0}],"k":[{"a":[{"p":0}],"é":[{"p":0}],"o":[{"r":0}]}],"m":[{"i":0,"ű":0}],"n":[{"é":0,"o":6}],"p":[{"r":5}],"r":[{"á":6,"e":0}],"s":[{"u":0,"z":[{"o":0}]}],"t":[{"a":0,"á":0,"e":0,"é":0,"i":0,"í":0,"r":[{"é":5}]}],"v":[{"a":[{"k":6}],"e":0,"é":0,"í":0,"o":6,"ó":6}]},48],"ö":[{"b":[{"ö":6}],"d":[{"é":6}],"k":[{"ö":6}],"l":[{"e":6,"é":6,"i":6,"ö":6,"ő":6,"ü":6}],"m":[{"ö":6}],"n":[{"ö":6}],"r":[{"ö":6,"ü":6}],"s":[{".":0}],"v":[{"e":6,"i":6,"ü":6}],"z":[{"ö":6}]},48],"ő":[{"r":[{"e":6,"ö":6,"ü":6}],"s":[{"z":6}]},48],"p":[{"a":[{"b":52,"d":[{"a":51,"á":51,"ó":51}],"g":[{"y":19}],"k":[{"a":52,"k":52,"n":52}],"l":[{"a":[{"k":19,"p":19}],"j":52,"k":52,"o":[{"m":11}]}],"n":[{"y":51}],"r":[{"á":[{"n":11}]}],"t":[{"r":[{"ó":5}]}],"u":[{"t":5}],"z":[{"o":19}]}],"á":[{"b":52,"g":51,"l":[{"l":[{"á":5}]}],"r":[{"a":51}],"s":[{"a":52},11],"t":[{"a":5,"c":5,"é":72,"f":5,"m":52,"o":74,"t":5,"ü":5,"v":52}]}],"b":[{"l":5,"r":5}],"d":[{"r":5}],"e":[{"d":[{"z":51}],"l":[{"e":[{"m":[{"r":19}],"t":51}],"l":[{"á":52}],"o":52}],"n":[{"e":52}],"r":[{"a":[{"l":11}],"e":[{"c":2,"v":11}],"i":[{"n":11}],"ü":[{"l":11}]}],"s":[{"t":[{"i":52}],"z":[{"á":11,"m":[{"é":0}]}]}],"x":52}],"é":[{"d":50,"é":[{"b":53,"i":53,"n":53}],"g":52,"i":[{"t":50}],"j":0,"k":[{"h":5}],"l":[{"e":5,"m":5}],"n":[{"k":50}],"r":[{".":52}]}],"f":[{"l":5}],"i":[{"d":[{"o":5}],"k":[{"o":51}],"n":[{"d":5,"g":[{"a":52}]}],"r":[{"á":51,"t":52}],"s":[{"m":52}],"z":0}],"í":[{"g":52,"j":52,"n":52,"v":52}],"k":[{"l":5,"r":5}],"l":[{"a":[{"g":6,"k":[{"á":54}],"n":54}],"á":[{"n":54}]}],"o":[{"b":52,"c":[{"h":0}],"k":[{"t":5}],"l":[{"v":52}],"p":[{"e":5}],"r":[{"n":52,"s":[{"ó":5}]}],"s":[{"z":[{".":53,"a":53,"á":53,"t":[{".":53,"á":5}]}]}]}],"ö":[{"l":51,"n":[{"t":5}],"s":52,"v":52}],"ő":[{"r":[{"i":52}]}],"p":[{"a":[{"n":6}],"á":[{"t":6}],"e":[{"l":[{"e":13,"h":12}],"r":[{"ó":9}]}],"ó":[{"r":6},10],"ö":6,"r":[{"o":5,"ó":5}]}],"r":[{"e":[{"t":25}],"é":[{"d":54}],"i":[{"n":54}],"o":[{"j":48,"t":54}]}],"s":[{"k":19,"p":5,"t":5}],"t":[{"a":[{"d":6,"j":12}],"í":[{"v":13}],"o":[{"p":12}]}],"u":[{"g":52,"t":[{"a":51,"ó":52}]}],"ú":[{"j":5,"t":5}],"ü":[{"g":52,"t":52,"z":52}],"ű":[{"z":52}]}],"r":[{"a":[{"b":[{"l":[{"a":5}],"o":[{"r":19}],"r":52,"s":5}],"d":[{"a":[{"t":11}],"á":51,"m":5,"o":19,"ó":51,"r":9}],"g":[{"e":19,"r":5}],"j":[{"a":51,"k":52,"t":[{"ó":5}]}],"k":[{"a":[{"d":51,"s":51}],"c":52,"t":[{"i":52}]}],"l":[{"a":19,"g":52,"j":52,"k":5,"o":51,"s":5,"t":52,"v":5}],"m":[{"b":5,"p":5}],"n":[{"g":[{"y":5}],"n":5,"y":[{"a":19}]}],"p":[{"a":[{".":19}],"p":5,"s":5}],"r":[{"o":51}],"s":[{"p":52,"z":[{"a":[{"l":18,"v":11}],"á":[{"r":[{"n":11}]}],"e":[{"l":11}],"é":[{"p":18}]}]}],"t":[{"k":52,"l":52,"r":8,"t":5}],"u":[{"t":5}],"z":[{"o":51}]}],"á":[{"b":[{"r":52}],"f":[{"é":11}],"g":[{"e":5,"ú":19,"y":51}],"l":[{"l":[{"á":5,"é":5,"o":5,"ó":5,"v":5}]}],"p":[{"o":5}],"r":[{".":52,"a":[{"k":19}],"á":19,"b":52,"e":5,"é":5,"f":5,"k":5,"o":51,"r":52,"s":5,"u":19,"ú":5,"v":5}],"s":[{"á":5,"z":51}],"t":[{"e":82,"h":52,"i":19,"í":52,"j":52,"k":52,"l":5,"m":52,"n":52,"r":52,"t":52,"v":52}]}],"b":[{"i":[{"n":[{"a":8}]}]}],"c":[{"a":[{"l":13,"r":6}],"á":[{"r":12,"t":12}],"e":[{"l":[{"l":9}]}],"h":[{"o":21}],"i":[{"d":6,"n":[{"a":12,"á":12}],"p":[{"á":13}],"s":6}],"k":8,"o":10,"ö":6,"s":[{"a":[{"d":6,"n":24}],"á":[{"l":3}]}],"ú":6,"z":6}],"d":[{"e":[{"j":53}],"ő":53}],"e":[{"á":10,"d":[{"e":[{"t":[{"ű":53}]}],"é":[{"n":0}],"m":50}],"e":10,"f":[{"f":5}],"g":[{"á":[{"l":11}],"e":[{"l":11,"r":51}]}],"i":[{"g":10}],"j":[{"é":[{"n":50,"r":50}]}],"k":[{"e":[{"l":14,"s":[{"z":[{"ű":15}]}]}],"é":[{"j":15}],"o":[{"t":11}],"t":3,"ú":[{"s":2}]}],"l":[{"e":[{"g":51}],"é":[{"r":5}],"l":[{"e":[{"n":52}],"i":5}],"ö":52,"r":52}],"m":[{"e":[{"g":[{"y":3}],"m":[{"b":14}]}],"é":[{"r":[{"t":[{"é":3}]}]}],"u":[{"t":14}]}],"n":[{"z":52}],"o":[{"g":[{"r":[{"a":3}]}]}],"p":[{"a":[{"n":11,"s":11}],"á":[{"l":14},32],"e":[{"s":[{"é":2}]}],"i":[{"n":11}],"o":[{"s":11}]}],"r":[{"k":5,"n":5,"ó":5}],"s":[{"t":[{"i":52,"j":52,"r":52}],"z":[{"e":[{".":0}],"í":11,"ü":0}]}],"t":[{"á":[{"l":11,"t":11}],"e":[{"g":14,"r":[{"j":14}]}],"é":[{"r":[{"ő":[{".":2}]}],"v":[{"e":[{".":2}]}]}],"ö":32}],"v":[{"é":[{"s":19}]}],"x":52,"z":[{"e":[{"t":[{".":50,"e":50}]}],"ő":[{"k":[{"h":53}]}]}]}],"é":[{"b":[{"e":[{"s":11},32]}],"g":[{".":5,"e":19,"é":5}],"j":[{".":52,"b":52,"f":5,"n":52,"s":52}],"k":[{"a":2,"á":11,"o":[{"l":11}],"ö":14}],"n":[{"e":[{"k":[{"e":0,"é":51}]}]}],"p":[{"a":14,"á":11}],"r":[{"e":[{"n":51}],"é":51,"i":51}],"s":[{"a":11,"e":[{"l":[{"v":14}]}],"z":[{"a":11,"á":11,"o":11,"ö":11}]}],"t":[{"e":[{"r":19}],"k":52}],"v":[{".":52,"e":[{".":19,"k":51,"n":0,"s":51,"t":51}],"é":[{"n":51,"t":19}],"f":5,"h":5,"i":51,"n":52,"r":52,"t":5,"v":5}]}],"f":[{"é":[{"l":[{"é":[{"v":17}]}]}],"l":5,"r":19}],"g":[{"l":5}],"i":[{"d":[{"e":[{"g":51}],"é":0,"o":52,"u":5}],"g":[{"a":11,"á":51}],"k":[{"o":[{"n":51}]}],"m":[{"i":51}],"n":[{"o":11,"t":[{"e":[{"g":0}],"r":3},32]}],"o":[{"n":51,"s":11}],"p":[{"a":[{"r":51}]}],"r":[{"a":52,"ó":5}],"s":[{"k":52,"m":5,"z":[{"o":11}]}],"t":[{"a":52}],"z":[{"é":51,"g":52}]}],"í":[{"g":5,"j":[{".":5,"á":5}],"r":52,"z":51}],"k":[{"r":19,"v":19}],"m":[{"e":[{"k":[{"a":17,"á":10,"e":[{"s":[{"z":10}]}],"o":10,"ö":[{"l":10}]}],"s":[{"z":[{"á":111}]}]}],"i":[{"n":[{"d":6}],"s":[{"i":9}]}]}],"n":[{"a":[{"l":[{"a":9}]}],"é":[{"k":[{"n":9}]}],"n":20,"ó":[{"d":13}],"y":[{"ő":53}]}],"o":[{"k":[{"l":5,"m":52}],"l":[{"d":[{"a":5}],"i":51}],"n":[{"a":[{"l":11}]}],"p":[{"e":5,"t":52}],"r":[{"c":5,"d":5,"m":5,"n":5,"o":19,"s":5,"v":52}],"s":[{"z":[{"f":32}]}],"v":[{"e":51,"i":52}]}],"ó":[{"c":52,"d":[{"á":19}],"l":[{"o":5}],"r":[{"á":19,"i":5}]}],"ö":[{"c":51,"k":[{"l":5,"o":5,"ö":52},11],"l":51,"r":52,"s":52,"t":52,"z":51}],"ő":[{"d":[{"d":0}],"é":[{"n":10}],"l":[{"t":53}],"m":[{"é":50,"h":53}],"n":[{"ö":50}],"ö":50,"r":[{"i":52,"ö":5}]}],"p":[{"l":19,"s":19}],"r":[{"é":[{"v":6}],"y":5}],"s":[{"a":[{"d":13,"l":[{"k":9}],"n":12,"t":6}],"á":[{"g":[{"i":13}],"r":[{"a":9}]}],"e":[{"m":[{"l":9}]}],"é":[{"r":[{"t":[{"e":6,"é":12,"ő":12}]}]}],"i":[{"d":6,"m":12,"n":13}],"k":[{"á":5}],"o":[{"d":12,"l":12}],"ó":[{"n":12}],"p":[{"o":[{"r":5}]}],"r":[{"á":5}],"t":[{"r":[{"a":5}]}],"u":[{"t":6}],"z":[{"t":[{"o":10}]}]}],"t":[{"a":[{"i":12}],"á":[{"p":[{"o":9},10],"r":[{"a":[{"d":[{"a":7},26]}]}]}],"e":[{"l":[{"k":[{"é":12}]}],"s":[{"t":[{"j":9}],"z":[{"e":9}]}]}],"é":[{"j":13,"k":[{"n":12}],"v":[{"é":[{"n":12,"v":13}]}]}],"i":[{"d":6,"m":13}],"í":[{"z":12}],"o":[{"s":6}],"ó":[{"r":[{"á":9}]}],"ö":[{"s":12,"z":12}],"r":[{"a":[{"n":19}],"é":[{"n":5}]}],"s":9,"ú":[{"t":12}]}],"u":[{"b":[{"i":32}],"p":50,"r":[{"a":51,"á":5,"u":5}],"s":[{"z":19}],"t":[{"á":19}]}],"ú":[{"j":52,"r":52,"s":51,"t":[{"j":5,"l":5,"o":19,"r":5}]}],"ü":[{"d":52,"g":[{"g":52,"y":[{"b":5,"n":5,"r":5}]}],"l":[{"e":[{"d":52}]}],"r":52,"s":52,"t":52,"v":51,"z":52}],"ű":[{"z":51}],"v":[{"a":[{"l":[{"a":12,"t":12}],"n":[{"y":9},10]}],"á":[{"r":[{"u":13}],"s":[{"a":6}],"t":[{"k":12}]}],"e":[{"l":[{"ő":[{"k":[{"é":8}]}]}],"r":[{"e":[{"z":[{"e":6}]}]}],"s":[{"z":[{"e":13}]}]}],"é":[{"k":6,"r":[{"t":[{"e":6}],"z":12}]}],"o":[{"s":6}],"ö":[{"s":6}],"ú":6}],"y":[{"a":5}]}],"s":[{"a":[{".":47,"b":51,"d":51,"i":[{"t":47}],"l":[{"j":[{"a":52}],"m":5}],"n":[{"y":5},11],"p":[{"á":5},11],"r":[{"c":5}],"s":[{"s":5,"z":5}],"t":[{"y":19}],"u":52}],"á":[{"b":[{"ó":47}],"g":51,"n":47,"r":[{"a":5,"u":19}],"t":47}],"b":[{"l":5,"r":5}],"c":[{"h":6}],"d":[{"ő":53,"r":[{"ó":5}]}],"e":[{"d":[{"e":[{"z":53}]}],"f":[{"r":9}],"g":[{"y":[{"e":11}]}],"l":[{"m":52}],"n":[{"g":0}],"p":[{"r":[{"i":5}]}],"r":[{"d":52,"e":[{"n":26}]}],"t":[{"t":[{"ü":50}]}]}],"é":[{".":47,"g":[{"e":[{"l":14}]}],"l":[{"l":53,"y":53}],"p":52,"r":[{"c":5}],"s":[{"s":27}]}],"i":[{"d":51,"k":[{"e":[{"t":43}]}],"n":[{"a":52}],"p":[{"a":19}],"s":[{"k":52}]}],"í":[{"t":[{"ő":[{"s":[{"t":53}]}]}],"z":[{"ű":19}]}],"k":[{"a":[{"t":54}],"á":[{"l":54}],"i":[{"c":6}],"ü":53}],"l":[{"a":[{"t":6}],"e":[{"g":[{"e":[{"l":26}]}],"t":[{"o":30}]}],"i":[{"n":6}],"u":54}],"m":[{"a":[{"c":54}]}],"n":[{"á":10}],"o":[{"k":[{".":47,"a":47,"b":[{"ó":47}],"k":47,"r":47}],"n":47,"p":52,"s":[{".":47,"a":47,"z":5}],"t":[{"t":5}]}],"ó":[{"r":51}],"ő":[{"k":[{"á":32}],"z":0}],"p":[{"a":[{"n":6}],"e":[{"c":6}],"l":19,"ó":54}],"r":[{"á":54}],"s":[{"t":[{"á":5}],"z":[{"a":[{"b":25,"g":[{"a":3}],"r":15}],"e":[{"n":[{"c":53}],"r":[{"ű":25}]}],"é":[{"l":[{"e":[{"t":3}],"t":3}]}],"i":[{"n":[{"t":3}]}],"o":[{"k":3}],"ö":25}]}],"t":[{"a":[{"b":54,"f":6,"l":13,"n":[{"a":6,"y":13}],"p":[{"o":[{"l":[{"c":65}]}]}],"r":[{"a":13,"á":9}],"t":54,"z":6}],"á":[{"p":13,"r":[{"a":[{"m":9}],"i":12,"n":12}],"t":12}],"e":[{"k":[{"o":53}],"n":[{"z":6}],"r":[{"a":30}],"s":[{"t":[{"e":12,"i":12}]}]}],"é":[{"i":[{"h":53}],"j":53,"m":53,"n":[{"k":53}],"r":[{".":12,"i":12,"r":12,"t":[{"e":6}],"ü":13}]}],"i":[{"l":[{"l":12}],"n":[{"a":12,"t":12}],"p":6,"s":[{"z":12}],"z":6}],"o":[{"l":12,"p":54,"r":10,"s":12}],"ó":[{"r":13}],"ö":[{"s":12},10],"ő":[{"r":[{".":12,"k":12,"ö":12,"r":12,"t":12}]}],"u":[{"n":6}],"ú":6,"ü":[{"r":6,"z":13}]}],"u":[{"d":52,"r":[{"a":5,"á":5},11],"t":[{"á":52}]}],"ú":[{"r":[{".":5,"b":5,"é":5,"h":5,"i":5,"k":5,"n":5,"p":5,"r":5,"t":5}],"t":51}],"ü":[{"z":52}],"z":[{"a":[{"c":[{"é":9},107],"d":0,"e":61,"j":[{"t":9}],"k":[{"é":30,"n":9}],"l":[{"j":9}],"n":[{"y":9}],"r":[{"a":56}],"u":56}],"á":[{"r":[{"u":0}],"s":56,"t":[{"s":9},10]}],"e":[{"c":[{"e":0}],"g":[{"é":[{"r":7}],"y":56}],"k":[{"é":[{"s":9}]}],"l":[{"a":56}],"m":[{"e":[{"l":61}]}],"n":[{"c":53}],"r":[{"d":56}],"v":0,"x":56}],"é":[{"d":[{"o":10}],"p":[{"í":8}],"r":[{"i":61}]}],"g":8,"i":[{"p":[{"a":8}],"s":[{"k":9,"t":9}],"t":[{"a":56}],"z":56}],"k":[{"e":[{"l":32}]}],"m":[{"e":[{".":53}],"é":[{"b":53,"i":53,"j":53,"k":53,"n":53,"t":53,"v":53}]}],"o":[{"l":[{"d":56}]}],"ö":[{"l":[{"ő":9},10],"n":56}],"s":[{"á":25,"e":20}],"t":[{"a":[{"b":11,"d":11,"g":[{"á":2}],"j":11,"l":[{"a":14,"j":14}],"p":14}],"á":[{"r":[{"f":3,"n":14}]}],"e":[{"v":2}],"é":[{"r":[{".":14}],"s":[{"s":67}],"t":[{"i":53}]}],"i":[{"d":11}],"o":[{"l":14}],"ó":[{"r":2}],"ö":[{"l":14},32],"ő":[{"r":[{".":14}]}],"u":[{"t":11}],"ú":[{"t":14}],"ü":[{"z":11}]}],"ü":[{"g":61,"z":61}],"ű":[{"s":50,"t":50}],"z":9}]}],"t":[{"a":[{"b":[{"r":5}],"c":[{"é":5},11],"d":51,"g":[{"á":51,"y":51}],"j":51,"k":[{"a":[{"s":19}],"c":52,"ó":5,"u":52}],"l":[{"a":[{"g":11,"k":11}],"á":[{"s":19}],"b":52,"d":5,"f":5,"g":52,"j":5,"k":52,"o":50}],"n":[{"é":14,"y":[{"a":[{"g":11}]}]}],"p":[{"r":0}],"r":[{"a":19,"á":52,"c":52,"z":52}],"s":[{"p":5,"s":52,"z":[{"á":19}]}],"t":[{"k":52,"o":51,"y":52}],"u":51,"z":51}],"á":[{"b":[{"r":5}],"c":[{"s":51}],"f":52,"g":[{".":5,"a":51,"b":5,"g":5,"n":5,"r":5}],"h":52,"j":[{"u":5}],"l":[{"l":5,"m":52}],"r":[{"a":[{"d":51}],"e":5,"n":[{"y":5}],"o":[{"n":11}],"ú":19}],"t":[{"a":[{"d":15},51],"h":52,"l":5,"s":5,"u":5,"v":52}]}],"b":[{"l":5,"r":5}],"c":[{"h":6}],"d":[{"r":5}],"e":[{"a":10,"g":[{"á":3,"e":[{"l":2}],"ó":11}],"k":[{"e":[{".":51,"i":51,"k":51}],"é":[{"k":14,"n":[{"k":51}],"s":51}]}],"l":[{"c":52,"d":[{"o":5}],"e":[{"g":[{"e":11,"y":11}],"j":19,"m":[{"z":0}],"s":[{"é":51}]}],"é":[{"r":[{"é":52}],"s":[{"s":22}]}],"h":[{"a":52,"á":52,"e":[{"l":5}]}],"i":[{"g":[{"a":52}]}],"j":[{"á":52}],"l":[{"á":52,"e":[{"n":0}]}],"m":[{"e":52,"é":[{"n":[{".":52,"e":52}],"t":52}]}],"n":[{"e":[{"v":52}],"ö":0,"y":52}],"o":51,"ő":[{"a":[{"d":11}]}],"s":[{"z":[{"á":5}]}],"t":[{"á":52,"e":[{"r":52}],"é":[{"r":[{"í":5}]}]}],"v":[{"á":52,"e":[{"z":52}],"o":52}],"z":52}],"m":[{"a":[{"l":11}],"b":[{"e":[{"r":52}]}],"e":[{"l":11}]}],"n":[{"z":52}],"p":8,"r":[{"d":52,"é":[{"n":11}],"o":7,"ő":52}],"s":[{"a":14,"t":[{"e":[{".":52}]}],"z":[{"t":[{"é":52}]}]}],"t":[{"e":[{"t":[{"é":11}]}],"é":[{"r":[{".":14}],"s":[{"e":[{"n":50}],"n":50}]}],"o":[{"s":11}],"ö":14,"r":[{"a":9}]}],"z":[{"r":52}]}],"é":[{"é":10,"g":[{".":5,"b":5,"é":19,"g":5,"i":51,"n":5}],"k":[{"a":2,"á":2,"e":[{"l":2}],"í":5,"o":[{"s":11}]}],"l":[{"m":52}],"r":[{"c":52,"é":[{".":51,"n":51,"r":51,"t":51}],"i":[{"e":11}],"k":[{"e":52}],"m":52,"ő":[{"s":51}],"t":[{"e":[{"l":52}]}],"z":52}],"s":[{"a":11,"é":[{"g":14}],"o":11,"s":27,"z":[{"a":11,"l":5,"r":5}]}],"t":[{"a":2,"e":[{"r":[{".":11,"e":11}]}],"r":[{"a":9}]}],"v":[{"e":[{"n":51,"s":[{".":11}],"t":51}],"é":[{"h":51,"i":[{"g":11}],"n":[{"e":51}],"t":[{"ő":11}]}],"h":5,"t":5}]}],"f":[{"r":5}],"g":[{"l":5,"r":5}],"h":[{"e":[{"i":6}]}],"i":[{"d":[{"e":5,"o":5},11],"g":[{"e":52,"é":52,"y":52},11],"l":[{"l":0}],"m":[{"a":19,"á":52,"i":51,"o":50,"p":52}],"n":[{"a":7,"d":52,"f":52,"s":52,"t":[{"e":52}],"v":52,"z":0}],"p":[{"a":51}],"r":[{"a":51,"i":52,"o":52,"ó":52}],"s":[{"m":52,"t":[{"e":52}],"z":[{"a":51,"o":[{"n":51}]}]}],"t":[{"a":51}],"z":[{"é":5,"g":52,"o":52,"z":52}]}],"í":[{"g":52,"j":52,"n":52,"r":51,"v":51,"z":52}],"k":[{"l":5,"r":19,"v":5}],"n":[{"o":[{"l":53}]}],"o":[{"d":[{"a":5}],"k":[{"m":52,"t":52}],"m":[{"l":52}],"n":[{"a":2,"á":[{"l":11}],"i":[{"s":14}],"n":3}],"p":[{"c":5,"e":5,"t":52}],"r":[{"d":5,"g":52,"m":52,"o":[{"m":5}],"s":52,"v":52},47],"s":[{"t":5,"z":[{"f":32,"l":5,"t":5}]}],"u":52}],"ó":[{"c":51,"r":[{"a":19,"á":19}],"v":51}],"ö":[{"k":[{"o":5}],"l":[{".":52,"é":5,"ő":52},11],"n":52,"s":52,"t":52,"v":[{"ü":19}],"z":51}],"ő":[{"a":10,"e":[{"l":10}],"é":[{"b":10}],"f":[{"é":[{"l":[{"é":[{"v":64}]}]}]}],"r":[{".":52,"b":52,"c":5,"é":[{"h":19}],"i":[{".":11}],"k":5,"l":5,"n":52,"ö":[{"k":11}],"p":5,"r":52,"s":52,"ü":19}],"s":[{"p":8}]}],"p":[{"l":5,"r":5,"s":5}],"r":[{"a":[{"p":48,"u":48}],"á":[{"g":54}],"é":[{"f":48}],"i":[{"l":54}]}],"s":[{"k":5,"n":5,"p":5,"t":5}],"t":[{"a":[{"d":25,"i":32,"n":[{"ó":17}]}],"e":[{"l":[{"e":[{"m":6}]}]}],"i":[{"n":[{"g":12}]}],"í":[{"r":6}],"r":[{"á":19,"i":5}],"y":[{"á":15}]}],"u":[{"g":52,"n":[{"a":5,"d":5}],"r":[{"a":19}],"s":[{"z":11}],"t":[{"á":5,"ó":5,"u":5}]}],"ú":[{"j":52,"r":[{"i":51}],"t":52}],"ü":[{"d":52,"g":52,"l":[{"d":52}],"t":52,"v":51,"z":[{"e":[{"m":19}]}]}],"y":[{"a":25}]}],"u":[{"b":[{"o":6}],"g":[{"a":6}],"k":[{"h":19}],"m":[{"a":[{"l":6}],"e":12,"i":[{"m":6,"p":13,"s":6,"z":12}],"í":6,"ó":[{"r":6}],"ő":6,"p":8,"ü":6}],"n":[{"a":6,"á":6,"i":6,"o":6,"ó":6}],"r":[{".":0,"á":[{"z":9},6],"i":[{".":6,"g":6}],"t":0}],"s":[{"z":[{"í":6}]}],"t":[{"a":[{"i":0,"l":6,"n":0,"z":6}],"á":[{"i":0,"j":[{"á":0}],"k":[{"a":0,"k":0,"n":[{"á":0}],"r":0}],"n":[{"k":0}],"r":0}],"ó":6,"s":0}],"z":[{"s":6}]},48],"ú":[{"j":[{"í":6}],"s":[{"z":6}],"t":[{"i":6,"o":6}]},48],"ü":[{"d":[{"ü":6}],"g":[{"e":6,"y":6}],"l":[{"e":6,"é":6,"i":6,"ö":6,"ő":6,"ü":6}],"r":[{"e":6,"í":6,"ü":6}],"s":[{"z":6}],"t":[{"e":6,"ő":6,"ü":6}],"v":[{"e":6,"ö":6}],"z":[{"e":6}]},48],"ű":[{"r":[{"i":6}],"z":[{"e":6,"é":6,"i":6,"ö":6,"ő":6}]},48],"v":[{"á":[{"r":[{"a":[{"l":14}]}]}],"e":[{"s":[{"z":[{"ö":11}]}]}],"é":[{"l":[{"á":11,"e":[{"l":2}]}],"n":[{"y":[{"e":[{"l":11}]}]}],"r":[{"e":[{"m":[{"b":14}]}],"ö":11}],"s":[{"o":11,"z":[{"a":11,"ö":11}]}]}],"í":[{"z":[{"i":[{"ó":[{"é":[{"t":32}]}]}]}]}]}],"x":[{"a":[{"b":5,"l":5,"p":5}],"á":[{"b":5,"r":19,"t":52}],"b":[{"l":5,"r":5}],"d":[{"r":5}],"e":[{"g":0,"l":[{"m":52,"v":[{"á":52}]}],"r":52}],"é":[{"k":52,"l":52,"p":52}],"i":[{"d":[{"ő":5}],"g":[{"é":52}],"n":[{"f":5,"g":52,"t":52}],"z":[{"z":5}]}],"í":[{"j":52,"r":52}],"o":[{"b":52,"p":5}],"ö":[{"n":5,"r":5,"s":5}],"p":[{"a":[{"n":53}]}],"s":[{"k":5,"p":5,"t":5}],"ú":[{"j":5}],"ü":[{"g":52,"v":52,"z":52}]}],"z":[{"a":[{"c":[{"é":5},11],"d":51,"f":52,"j":[{"t":5}],"l":51,"n":51,"r":[{"z":5}],"s":52,"u":[{"t":5}]}],"á":[{"l":[{"l":5}],"m":[{"a":11}],"r":[{"b":5,"r":5,"ú":19}],"t":52}],"b":[{"l":5}],"d":[{"á":[{"l":6}]}],"e":[{"g":[{"y":19}],"k":[{"é":[{"k":19}]}],"l":[{"a":52,"e":[{"m":[{"e":51}]}],"é":[{"r":52}],"m":52,"ö":80}],"m":[{"e":[{"l":51}]}],"n":[{"t":[{"e":17}]}],"r":[{"a":14,"á":11,"e":[{"d":11,"l":14,"m":14,"s":14}],"o":14,"ő":5}],"s":[{"t":[{"e":5}],"z":51}],"t":[{"a":2,"á":14,"e":[{"g":14,"l":2,"s":[{"z":14}]}],"é":[{"r":[{".":14,"ő":[{".":2}]}],"v":[{"e":[{".":2}]}]}],"o":14,"u":11}]}],"é":[{"g":52,"j":51,"k":[{"á":11,"o":14}],"l":52,"r":[{"e":[{"m":[{"b":3}],"t":[{"t":11}]}],"u":11}],"s":[{"a":11,"k":[{"é":[{"s":[{"z":65}]}]}]}],"t":[{"e":51}]}],"f":[{"r":5}],"g":[{"r":5}],"i":[{"d":[{"o":19}],"g":[{"é":52},11],"k":[{"o":51}],"l":[{"l":52}],"m":[{"p":5}],"n":[{"á":5,"d":5,"f":5,"t":5}],"o":[{"n":5},11],"p":51,"r":19,"s":[{"é":[{"g":[{"é":14},32]}],"m":52}],"t":[{"a":11}]}],"í":[{"v":51}],"k":[{"r":19,"u":[{"p":[{"a":[{"c":28}]}]}],"v":5}],"o":[{"b":52,"l":[{"d":5}],"n":[{"á":[{"r":11}],"n":27}],"p":[{"t":5}],"x":52}],"ó":[{"l":51,"r":51,"t":19}],"ö":[{"b":19,"s":5,"v":19}],"ő":[{"e":[{"l":10}],"r":[{"i":51,"l":5,"s":52,"ü":19,"z":5}],"s":[{"o":[{"r":[{"r":[{"a":3}]}]}]}]}],"p":[{"l":5,"r":19}],"r":[{"e":[{"d":[{"e":53,"s":53}],"l":53,"m":53,"s":[{"n":53}]}],"ű":53}],"s":[{"a":[{"j":25,"p":25}],"á":[{"t":25,"v":25}],"é":55,"i":[{"ó":32}],"l":25,"o":[{"r":25}],"p":34,"t":[{"a":34,"r":25}],"ü":55,"z":25}],"t":[{"r":19}],"u":[{"r":19,"t":5}],"ú":[{"j":5,"t":19}],"ü":[{"g":52,"s":50,"t":52,"z":51}]}]}],"é":[{".":47,"a":[{"d":[{"a":6,"á":6,"o":6,"ó":6}],"g":[{"a":6,"i":6}],"j":[{"á":6}],"k":[{"a":6}],"l":[{"a":6,"e":12}],"n":[{"a":6,"y":6}],"r":[{"é":6,"i":6,"o":6}],"u":[{"k":6}]},48],"á":[{"f":[{"á":6}],"g":[{"y":6}],"j":[{"u":6}],"r":[{"a":6,"o":6,"u":6,"ú":6}]},48],"b":[{"a":[{"g":52,"j":51,"k":51,"l":51,"n":[{"y":52},11],"v":51}],"á":[{"l":5,"r":11}],"b":[{"á":12}],"e":[{"s":[{"z":[{"ű":5}]}]}],"é":[{"k":51,"l":52,"p":52}],"i":[{"é":10,"s":[{"k":5}],"v":[{"a":19}]}],"í":[{"z":5}],"k":[{"r":5}],"p":[{"l":5,"r":5}],"r":[{"e":[{"s":53}]}],"u":[{"g":52}],"ü":[{"g":5}]}],"c":[{"a":[{"d":19,"j":5,"k":19,"l":19,"n":19}],"á":[{"l":5,"r":5}],"e":[{"l":[{"e":[{"m":51}],"v":52}],"m":[{"b":[{"e":[{"r":52}]}],"e":[{"l":51}]}]}],"g":[{"r":5}],"h":[{"a":25,"á":25,"í":25,"o":25}],"i":[{"d":51,"l":52,"m":[{"a":5}]}],"o":[{"b":5,"s":5}],"ő":[{"r":5}],"p":[{"r":5}],"s":[{"a":[{"b":25}],"o":[{"l":9}],"z":25}],"u":[{"t":51}],"ü":[{"l":52}],"z":[{"s":25}]}],"d":[{"a":[{"b":52,"c":51,"d":51,"g":51,"j":51,"k":[{"c":5,"t":5,"u":19}],"l":[{"k":5}],"n":51,"p":[{"a":5,"á":19}],"r":[{"c":52}],"s":[{"p":5,"s":5}],"t":[{"i":19,"t":5}]}],"á":[{"g":52,"p":5}],"d":[{"r":5}],"e":[{"g":51,"j":52,"k":[{"e":[{".":51}],"é":[{"t":[{"ő":11}]}]}],"l":[{"a":72,"k":52,"l":52,"o":52}],"m":[{"b":[{"e":[{"r":5}]}],"l":52}],"n":[{"z":52}],"p":52,"r":[{"d":5,"e":[{"i":0,"m":0}],"g":0,"l":0,"n":[{"é":0}],"ő":52,"r":[{"á":0,"ő":0}],"s":0,"t":[{"ő":0}]}],"s":[{"a":53,"e":[{"m":0}],"g":53,"í":50}]}],"é":[{"g":52,"j":51,"k":[{"b":52,"é":51,"k":52}],"l":[{"e":52,"m":52},11],"p":52,"r":[{".":52,"i":51,"s":52,"t":[{"e":52,"ő":52}],"v":52,"z":52}]}],"f":[{"r":5}],"i":[{"a":[{"d":11,"k":[{"a":11}],"l":11,"r":11,"s":[{"z":26},14]}],"d":51,"g":[{"a":52,"e":52,"é":52},11],"k":[{"o":19}],"l":[{"l":5}],"m":51,"n":[{"a":19,"d":5,"i":52,"s":5,"t":52}],"p":51,"r":[{"o":52}],"z":51}],"í":[{"n":52,"r":52,"v":5}],"k":[{"l":5}],"o":[{"k":[{"t":[{"a":5}]}],"p":52,"r":52,"s":[{"z":52}],"t":[{"t":5}]}],"ó":[{"r":19}],"ö":[{"l":5,"n":5,"r":51,"t":5,"v":5,"z":5}],"ő":[{"r":[{"m":52,"n":52}],"s":[{"p":9},10]}],"p":[{"l":5,"r":5}],"r":[{"a":[{"m":54,"z":6}],"á":[{"m":54}]}],"s":[{"k":5,"p":5,"r":5,"t":5}],"t":[{"r":19}],"u":[{"d":52,"j":5,"r":[{"a":5}],"t":51}],"ú":[{"j":52,"r":5,"t":19}],"ü":[{"d":52,"g":52,"t":52,"z":52}],"z":[{"a":25,"á":25,"e":25,"ó":25,"ü":25}]}],"e":[{"b":[{"é":6}],"l":[{"a":6,"e":6,"ő":6}],"m":[{"e":6}],"p":[{"i":6}],"r":[{"ő":6}],"s":[{"e":6,"é":6,"i":6,"ő":6,"z":[{"a":23,"á":24,"e":[{"l":6}],"é":[{"p":6}],"i":[{"r":6,"s":6}],"t":[{"r":3},32]}]}],"u":[{"f":6}],"v":[{"é":6,"ő":6}]},48],"é":[{"g":[{"e":6}],"l":[{"e":6}],"p":[{"í":6}],"r":[{"a":6}],"t":[{"e":6}]},48],"f":[{"a":[{"i":5,"j":[{"t":[{"ó":5}]}]}],"i":[{"n":[{"g":5}],"s":52}],"k":[{"l":5}],"o":[{"s":52}]}],"g":[{"a":[{"b":[{"l":5,"r":5}],"d":19,"k":[{"a":5,"k":5,"n":5}],"l":[{"j":5}],"m":5,"n":[{"y":19}],"p":19,"r":51,"u":[{"t":5}],"v":19,"z":11}],"á":[{"g":51,"l":52,"p":5,"r":[{"t":5}],"t":[{"a":[{"d":15}],"á":5,"e":82,"f":5,"j":5,"m":5,"s":5,"t":5,"v":5}]}],"b":[{"l":5,"r":5}],"d":[{"r":19}],"e":[{"c":[{"e":5}],"d":[{"é":[{"n":0}],"z":52}],"g":[{"e":19}],"j":52,"k":[{"é":[{"s":51}]}],"l":[{"a":52,"b":52,"e":[{"g":11,"k":6,"m":[{"b":11,"e":59,"n":11,"t":11}]}],"é":[{"r":52}],"f":52,"h":[{"a":52,"á":5}],"i":[{"n":11,"s":52}],"j":[{"á":52}],"k":52,"l":[{"á":52,"e":[{"n":52}]}],"m":52,"n":[{"ö":0,"y":5}],"ö":52,"ő":[{"a":51,"m":11,"n":51,"t":19}],"p":52,"r":52,"s":[{"a":52,"z":[{"í":52}]}],"t":[{"a":5,"á":52}],"v":[{"á":52}],"z":52}],"n":[{"c":52,"e":51,"g":52}],"p":[{"i":5},9],"r":[{"á":[{"l":11}],"e":[{"d":[{"e":52}],"l":14}],"i":[{"m":11,"n":11},32],"ó":52,"ő":5,"ü":[{"l":11}]}],"s":[{"d":50,"s":[{"z":52}],"z":[{"e":11,"k":52,"t":52}]}],"t":[{"j":50,"ő":[{"h":50,"n":50,"t":50}]}],"v":[{"a":5,"e":19,"é":19,"o":5}],"x":52}],"é":[{"g":51,"l":51,"n":[{"e":[{"k":[{"e":51,"é":51,"k":0,"n":51}]}]}],"p":[{"í":5,"ü":52}],"r":[{"e":[{"t":19,"z":51}],"é":[{".":11}],"h":52,"i":51,"l":5,"m":5,"ő":[{".":19,"k":19}],"t":[{"e":5,"é":5},32]}],"s":[{"é":50,"n":50,"t":0}],"v":[{"a":52}]}],"f":[{"l":5,"r":5}],"g":[{"l":19,"r":19,"y":[{"o":25}]}],"h":[{"e":[{"s":53}],"ü":53}],"i":[{"a":[{"s":11}],"d":[{"e":[{"n":19}]}],"g":[{"a":[{".":52,"p":3,"s":3,"z":5}],"á":3},11],"l":[{"l":0}],"m":[{"á":52}],"n":[{"a":5,"f":5,"g":52,"j":52,"s":5,"t":52}],"r":[{"a":52,"o":5}],"t":[{"a":51}],"v":[{"a":52}],"z":[{"é":[{"s":[{"n":51}]}],"g":52}]}],"í":[{"g":5,"j":5,"n":5,"r":5,"v":5,"z":5}],"j":[{".":53}],"k":[{"i":[{"a":32}],"l":5,"r":5,"v":5}],"n":[{"e":[{".":53}],"é":[{"k":53,"n":53,"t":53}],"i":53}],"o":[{"b":52,"k":[{"i":5}],"l":[{"a":5,"d":5,"i":5,"l":5,"t":5}],"p":52,"r":51,"s":52,"t":[{"t":5}],"v":51,"x":52}],"ó":[{"c":52,"r":19}],"ö":[{"b":5,"d":51,"l":51,"n":5,"r":[{"ö":5},11],"s":52,"t":52,"v":0,"z":51}],"ő":[{".":53,"k":53,"r":[{"i":5,"ö":5},0],"s":[{"i":5}],"t":53,"v":53}],"p":[{"l":5,"r":5,"s":5}],"s":[{"k":5,"p":5,"t":19,"z":[{".":53,"á":[{"r":[{"a":[{"z":65}]}]}]},10]}],"t":[{"r":5}],"u":[{"d":52,"n":5,"t":51}],"ú":[{"g":5,"j":5,"r":5,"s":5,"t":19}],"ü":[{"d":52,"g":51,"r":52,"s":52,"t":52,"v":52,"z":52}],"ű":[{"z":52}],"v":[{"e":[{"z":[{"é":26}]}]}],"y":[{"a":61,"á":[{"l":0}],"e":[{"d":[{"é":0}],"g":56,"l":[{"e":[{"k":0,"m":[{"e":0}]}]}],"m":[{"b":56,"e":56},10],"s":[{"e":[{"k":[{"é":10}]}],"z":56}],"v":61,"z":[{"e":0}]}],"é":[{"k":56,"l":0,"n":[{"e":8}]}],"i":[{"n":0,"r":0,"s":56,"v":56},10],"í":0,"o":[{"k":9,"s":9,"t":9},10],"ó":61,"ö":[{"l":8}],"u":61,"ú":56,"ü":[{"l":61,"r":0}]}]}],"h":[{"a":[{"l":[{"a":5},11],"n":[{"y":5}],"r":[{"c":52,"t":5}],"u":52,"v":51}],"e":[{"d":[{"é":5}],"g":[{"é":19},47],"l":[{"e":19,"é":5,"f":5,"h":5,"l":5,"ő":19,"t":5,"v":5}],"n":[{"z":52}],"r":51,"s":[{"e":[{"m":52}]}],"t":[{"o":51}],"v":[{"é":5}],"x":52,"z":[{"e":0,"é":50,"ő":53,"t":50,"ü":0,"v":0}]}],"é":[{"g":5,"k":19,"l":51,"p":52,"r":[{"b":5}]}],"f":[{"l":5}],"i":[{"c":52,"f":52,"n":51,"p":52,"r":[{"a":5,"t":5},11],"t":[{"a":5},0],"z":52}],"í":[{"n":5}],"k":[{"r":5}],"o":[{"d":52,"l":[{"d":5}]}],"ö":[{"b":5,"d":19,"s":5}],"p":[{"l":5,"r":5}],"s":[{"é":53,"k":5,"p":5}],"u":[{"d":5}],"ú":[{"j":5}],"ü":[{"g":52,"r":52,"t":52}],"ű":[{"r":52}]}],"i":[{"d":[{"ő":6}],"g":[{"a":6,"é":6}],"m":[{"á":6}],"p":[{"a":6}],"r":[{"á":6,"o":6}],"t":[{"a":6}],"v":[{"á":[{"s":6}],"ó":6}]},48],"í":[{"r":[{"á":6,"o":6,"ó":6}],"v":[{"á":6}],"z":[{"e":6}]},48],"j":[{"a":[{"b":52,"d":[{"a":51}],"l":51,"n":[{"y":52}],"r":51}],"á":[{"l":51,"p":52,"r":[{"n":52}]}],"e":[{"b":5,"l":[{"e":[{"m":51}],"h":52,"m":5,"v":52}],"m":[{"b":5}],"s":[{"z":52}],"v":51}],"é":[{"g":51,"j":11,"k":51,"l":52,"p":52,"t":[{"e":51}]}],"i":[{".":50,"l":52,"m":52,"n":19,"p":52,"z":52}],"o":[{"l":51}],"ó":[{"r":19}],"ö":[{"d":5,"n":5,"r":5}],"p":[{"l":5,"r":5}],"s":[{"p":5,"z":5}],"u":[{"d":5,"r":19,"t":[{"a":5},11]}],"ú":[{"r":52}],"ü":[{"l":0}],"ű":[{"z":52}]}],"k":[{"a":[{"b":[{"l":5}],"c":[{"é":19}],"d":[{"a":[{"t":11}],"á":19,"ó":19}],"j":[{"t":5}],"k":[{"a":[{"d":11}],"á":52,"k":52,"n":52}],"l":[{"a":[{"g":11,"k":19}],"g":52,"j":52,"k":[{"o":5}],"l":52,"t":52,"u":5}],"m":[{"b":5}],"n":[{"g":5}],"p":[{"p":5}],"r":[{"á":51,"c":5,"é":19,"z":5}],"s":[{"p":52,"s":52,"z":[{"t":5}]}],"t":[{"o":[{"m":19}]}],"v":[{"e":19}],"z":[{"o":5}]}],"á":[{"l":52,"p":51,"r":[{"a":[{"d":5,"k":51}],"á":51,"b":5,"é":51,"h":5,"k":52,"n":52,"o":51,"r":5,"u":51,"ú":19}],"s":[{"ó":5,"v":5}],"t":[{"a":52,"á":52,"c":52,"d":52,"e":52,"é":5,"f":52,"h":52,"i":52,"í":52,"k":52,"l":52,"m":52,"ö":52,"r":52,"s":52,"t":5,"u":52,"v":52}],"z":52}],"b":[{"l":5,"r":5}],"d":[{"r":5}],"e":[{"g":[{"é":5}],"k":[{"é":[{"s":51}]}],"l":[{"b":52,"e":[{"g":51,"m":[{"e":19,"é":19,"m":11}]}],"é":[{"r":19}],"f":52,"k":52,"l":[{"á":0,"e":[{"n":52}]}],"m":52,"o":52,"p":5,"t":[{"a":52,"á":5,"é":[{"r":52}]}],"ü":[{"l":5}],"v":[{"i":5}]}],"m":[{"e":[{"l":51}]}],"n":[{"g":5}],"p":8,"r":[{"d":52,"e":[{"c":51,"d":0,"i":51,"z":51}],"g":52,"ó":51,"ő":51}],"s":[{"e":[{"t":[{"e":51}]}],"z":[{"k":5,"l":9}]}],"t":[{"e":[{"t":51}],"i":[{"k":11}]}],"v":[{"é":[{"s":11}],"o":51}],"x":52}],"é":[{"g":52,"j":[{"s":5}],"p":[{"í":52,"ü":52}],"r":[{"c":52,"e":[{"m":51,"n":51}],"é":51,"i":51,"k":52,"l":52,"m":52,"ő":[{".":51,"i":51,"k":51}],"p":52,"r":52,"t":[{"e":52,"é":52,"ő":52}],"ü":51,"v":52,"z":52}],"s":[{"s":27,"z":[{"l":5}]},47],"t":[{"k":52,"v":5}],"v":[{"e":[{".":51,"k":51,"t":19}],"é":[{"b":51,"n":51,"t":51,"v":51}],"i":52}]}],"f":[{"j":5,"l":5,"r":5}],"g":[{"r":19}],"i":[{"a":10,"d":[{"e":52,"é":5,"o":5,"ő":52},11],"g":[{"a":5,"e":5,"é":52},11],"k":[{"o":19,"r":5}],"l":[{"l":52}],"m":[{"a":52,"á":52,"i":5}],"n":[{"d":5,"g":52,"h":52,"n":52,"t":52,"v":52}],"o":51,"p":51,"r":[{"á":[{"n":0}],"o":52}],"s":[{"k":52,"m":5,"t":52,"z":[{"a":11}]}],"t":[{"a":51}],"z":51}],"í":[{"j":5,"r":52,"v":51,"z":51}],"k":[{"á":[{"l":6}],"l":19,"r":19,"v":5}],"l":[{"u":54}],"o":[{"b":52,"f":5,"k":[{"á":52}],"l":[{"a":[{"j":51}],"d":[{"a":52}],"t":[{"á":[{"s":5}]}]}],"m":[{"l":52}],"p":[{"c":5,"e":19}],"r":[{"g":52,"m":52,"r":52,"z":52}],"s":[{"t":[{"o":52}]}],"t":[{"t":52}],"u":52,"x":52}],"ó":[{"c":52,"l":19,"n":52,"r":[{"a":19,"á":19}],"v":51,"z":51}],"ö":[{"b":51,"l":11,"m":52,"n":[{"t":5}],"r":[{"ö":19}],"s":52,"t":[{"l":52}],"v":[{"ö":19}],"z":[{"ö":19}]}],"ő":[{"r":19,"s":5}],"p":[{"l":5,"r":5,"s":5}],"r":[{"e":[{"á":54}],"i":[{"m":6}]}],"s":[{"h":5,"k":5,"l":5,"p":5,"r":19,"t":5,"z":42}],"t":[{"r":19}],"u":[{"d":52,"g":52,"j":52,"n":[{"d":52,"i":0}],"t":[{"a":[{"c":51,"k":51,"l":19,"s":51}],"á":52}]}],"ú":[{"j":52,"r":[{".":5,"n":5}],"t":[{"h":52,"i":52,"j":52,"n":52,"o":52,"r":52,"t":52,"v":0},11]}],"ü":[{"d":52,"g":52,"l":[{"e":19}],"n":[{"n":52}],"r":52,"s":51,"t":51,"v":51,"z":52}],"ű":[{"r":[{".":5,"b":5,"ö":19}],"z":52}]}],"l":[{"a":[{"b":[{"l":5,"r":5}],"c":[{"é":19}],"d":[{"a":19,"o":19,"ó":19}],"g":19,"j":51,"k":[{"a":19,"c":5,"n":5,"o":5}],"l":51,"m":[{"c":5,"e":19}],"n":[{"d":5}],"p":[{"ó":5}],"r":[{"m":5}],"s":[{"p":5,"s":5,"z":5}],"t":[{"o":19}],"u":19,"v":[{"a":51}],"z":[{"o":5}]}],"á":[{"b":[{"r":5}],"g":51,"l":[{"l":52,"m":[{"á":52,"o":[{"t":0}]}],"o":52},11],"p":51,"r":[{".":5,"á":19,"b":5,"f":5,"i":19,"k":5,"n":52,"o":19,"r":5,"u":19,"ú":19,"v":5}],"t":[{"a":108,"c":5,"e":15,"f":52,"h":5,"i":19,"j":5,"m":52,"o":[{"k":11}],"r":5,"s":5,"t":5,"ü":5,"v":5}]}],"b":[{"l":5,"r":5}],"c":[{"s":[{"z":20}]}],"d":[{"r":19}],"e":[{"b":[{"é":52},11],"d":[{"z":51}],"f":[{"f":5}],"g":[{"é":[{"s":[{"z":28}]},19],"y":19}],"k":[{"a":2,"á":14,"e":[{"l":2,"m":11,"r":11,"s":14}],"é":[{"s":51}],"i":[{"s":11}],"o":[{"l":11,"n":14,"t":11}],"ó":11,"ö":2,"u":11,"ú":14}],"l":[{"a":74,"e":[{"g":51}],"f":5,"o":52,"ő":[{"e":52,"j":11,"k":51,"t":11}]}],"m":[{"b":0,"i":51,"p":52}],"n":[{"e":52,"g":52,"j":0,"n":52,"y":52,"z":52},11],"r":[{"ó":19}],"s":[{"é":[{"s":51}],"z":[{"ü":11,"ű":11}]}],"t":[{"a":2,"á":2,"e":[{"g":14,"l":2,"r":2,"s":[{"z":11}]}],"é":[{"k":14,"l":11,"r":[{".":14,"d":14,"ő":[{".":2}],"ü":11}],"s":11,"t":[{"e":11,"é":11,"n":14}],"v":[{"e":[{".":2,"d":2}],"é":[{"n":2}]}]}],"i":[{"k":11,"s":[{"z":11}]}],"o":14,"ó":11,"ö":[{"l":14,"r":14},32],"u":2,"ü":[{"z":11}],"ű":[{"z":2}]}],"v":[{"ő":51}],"x":52}],"é":[{"d":[{"e":52},11],"g":51,"h":[{"e":[{"s":19}]}],"k":[{"e":[{"k":5}],"í":5}],"l":51,"p":[{"ü":5}],"r":[{".":52,"b":52,"d":52,"e":[{"m":19,"t":51}],"é":51,"m":52,"n":52,"t":[{"e":52,"é":52}],"ü":51,"z":52}],"s":[{"a":11,"s":27}],"t":[{"e":51,"k":52}],"v":[{".":52,"á":72,"e":[{"s":51,"t":51,"z":52}],"é":[{"n":19,"r":51}],"i":51,"ü":5}]}],"f":[{"l":19,"r":19}],"g":[{"r":19}],"i":[{"d":51,"g":[{"a":52,"á":11,"e":51,"é":52}],"k":[{"o":51}],"l":[{"l":5}],"m":[{"a":5,"i":5,"p":5},11],"n":[{"d":52,"f":52,"g":52,"t":5,"v":5,"z":5}],"o":[{"n":19}],"p":51,"r":[{"á":52,"o":5}],"s":[{"m":0,"p":8,"z":[{"á":51}]}],"v":[{"a":19,"á":51}],"z":[{"g":5,"m":52,"o":51}]}],"í":[{"j":5,"r":19,"v":19,"z":5}],"k":[{"l":19,"r":19}],"l":[{"y":[{"u":25}]}],"m":[{"a":[{"t":6}],"é":[{"n":53}]}],"o":[{"b":52,"k":[{"m":52,"s":52}],"l":52,"r":51,"s":[{"s":27,"z":52}]}],"ó":[{"c":52,"n":19,"r":51}],"ö":[{"b":5,"c":112,"k":11,"l":19,"n":5,"r":5,"s":5,"z":51}],"ő":[{"e":10,"r":[{"ü":5}],"s":[{"k":50}]}],"p":[{"l":19,"r":19}],"r":[{"á":[{"d":[{"i":26}]}],"e":[{"p":[{"r":3}]}]}],"s":[{"k":5,"p":5,"t":5,"z":[{"á":[{"r":[{"n":[{"n":24}]}]}],"t":5}]}],"t":[{"a":[{"l":[{"p":[{"a":[{"l":43}]}]}]}],"r":[{"á":5,"é":5,"i":5,"ó":5}]}],"u":[{"d":52,"g":52,"j":52,"l":[{"t":5}],"r":19,"t":[{"a":[{"s":51}],"ó":5}]}],"ú":[{"j":52,"r":5}],"ü":[{"g":52,"l":[{"l":5,"t":5}],"r":52,"s":52,"t":52,"v":52,"z":52}],"ű":[{"z":5}],"v":[{"e":[{"z":[{"ő":53}]}]}],"y":[{"a":[{"b":56,"d":61,"j":0,"l":61,"n":8,"p":56,"r":8,"s":56,"u":9,"v":56,"z":9}],"á":[{"l":61}],"e":[{"c":10,"f":0,"g":[{"y":9}],"k":[{"é":[{"s":0}]}],"l":56,"m":[{"l":0}],"n":[{"e":0,"t":56}],"r":0,"t":[{"i":0}]}],"é":[{"j":61,"k":56,"l":0,"s":0}],"f":8,"i":[{"r":[{"a":56}]}],"k":8,"o":[{"l":0}],"ó":56,"ö":[{"s":0,"z":56}],"ő":0,"s":9,"ú":10,"ü":[{"l":[{"t":[{"e":[{"t":0}]}]}],"t":0}]}]}],"m":[{"a":[{"b":[{"r":5}],"d":[{"a":19,"ó":19},8],"e":10,"i":[{"k":10}],"j":[{"t":5}],"k":[{"k":5}],"l":[{"l":5,"m":5}],"p":[{"p":5}],"r":[{"c":5,"m":5}],"s":[{"p":9},10],"t":[{"r":9},10],"u":[{"t":5}],"z":[{"o":19}]}],"á":[{"c":11,"l":[{"m":5,"o":5},11],"p":52,"r":[{"n":5,"u":52}],"t":[{"a":3,"t":52}]}],"b":[{"l":19,"r":19}],"d":[{"r":5}],"e":[{"c":11,"g":11,"k":[{"e":[{".":51}],"é":[{"s":51}]}],"l":[{"a":5,"e":[{"d":11}],"h":52,"l":52,"ő":19,"s":5,"v":52}],"r":[{"e":19,"n":5,"ő":19}],"s":[{"á":14,"e":[{"m":[{"é":52}]}],"z":52}],"t":[{"a":11,"e":[{"l":11}],"é":[{"k":14}],"o":11}],"v":51,"x":52}],"é":[{"k":[{"s":5}],"l":51,"p":52,"r":[{"c":52,"d":5,"i":52,"m":52,"t":[{"é":52}]}],"s":52,"t":[{"e":51}]}],"f":[{"l":5,"r":5}],"g":[{"r":5}],"i":[{"a":[{"l":11}],"d":51,"g":[{"é":52},11],"k":[{"s":5}],"l":[{"l":5}],"n":[{"d":5,"f":5,"v":52}],"o":51,"p":51,"r":[{"á":5,"h":5,"o":52}],"s":[{"k":5,"m":5,"z":11}],"t":[{"a":19}],"z":[{"o":5}]}],"í":[{"r":52,"v":19,"z":5}],"k":[{"l":5,"r":5}],"o":[{"n":[{"a":[{"c":11}],"e":11,"n":3,"t":32}],"p":19,"s":[{"t":5}],"x":5}],"ó":[{"l":19,"r":19}],"ö":[{"b":5,"l":19,"n":5,"s":5,"t":5,"v":5}],"ő":[{"r":19}],"p":[{"l":19,"r":19}],"s":[{"k":5,"l":5,"p":5,"r":19,"t":19,"z":42}],"t":[{"r":19}],"u":[{"j":5,"n":[{"a":5},11],"r":51}],"ú":[{"r":52}],"ü":[{"g":52,"r":52,"t":52,"v":52,"z":52}],"w":[{"h":5}]}],"n":[{"a":[{"b":[{"b":5,"l":52}],"d":[{"a":[{"l":59}],"á":5,"o":19}],"g":[{"á":5,"r":5}],"k":[{"c":5,"n":52,"t":5}],"l":[{"k":5}],"n":[{"a":5,"o":5,"t":5}],"p":[{"r":[{"é":9}]}],"r":[{"c":5}],"s":[{"p":9,"s":52},10],"t":[{"m":5,"o":[{"m":51}],"r":8}],"u":52}],"á":[{"g":52,"l":[{"a":5,"c":5,"d":5,"l":52},11],"p":51,"r":[{"a":[{"k":51}]}],"s":[{"s":3,"v":5}],"t":[{"a":5,"b":5,"e":5,"k":5,"ö":5,"r":52,"t":5,"ü":5,"v":52}]}],"b":[{"a":10,"l":5,"r":5}],"d":[{"r":19}],"e":[{"f":52,"g":[{"y":19}],"k":[{"a":113,"d":50,"e":[{".":0,"i":50,"k":50,"m":50,"r":11,"s":50}],"é":[{"j":2}],"f":50,"g":50,"i":[{"z":11}],"í":50,"j":53,"k":[{"a":53}],"l":50,"ó":11,"ö":14,"s":50}],"l":[{"a":5,"g":5,"h":5,"j":5,"l":5,"n":5,"ő":19,"p":5,"s":5,"t":5,"v":5}],"m":[{"l":5}],"n":[{"e":52},11],"r":[{"a":14,"á":2,"e":[{"m":[{"e":11}]}],"ó":5}],"s":[{"z":51}],"t":[{"a":2,"á":2,"e":[{"l":2,"s":[{"t":11}]}],"o":11}],"v":51,"x":52}],"é":[{"j":[{"b":5}],"k":[{"b":5,"é":19,"i":19,"ű":19}],"l":[{"e":52,"ő":52},11],"m":[{"a":14}],"n":[{"e":[{"k":[{"e":5}]}]}],"r":[{".":52,"c":52,"é":52}],"t":[{"e":[{"r":11}]}],"z":47}],"f":[{"r":19,"ü":[{"s":[{"t":[{"ö":[{"l":43},33]}]}]}]}],"g":[{"r":19}],"i":[{"d":[{"o":5}],"g":[{"é":52},11],"k":[{"o":5}],"l":[{"l":5}],"m":[{"i":5}],"n":[{"a":5,"d":5,"f":5,"h":5,"t":5}],"p":51,"s":[{"m":5}],"t":[{"a":52}],"v":[{"a":52}],"z":51}],"í":[{"j":5,"n":5,"v":52}],"k":[{"l":19,"r":[{"á":19,"é":19,"i":5}]}],"m":[{"ű":3}],"n":[{"y":[{"o":25}]}],"o":[{"l":52,"m":[{"l":5}],"n":[{"d":5}],"r":52,"s":[{"z":52}],"t":5,"x":52}],"ó":[{"c":5,"r":51}],"ö":[{"k":5,"l":5,"n":5,"r":5,"t":5,"v":47,"z":51}],"ő":[{"s":19}],"p":[{"e":10,"l":5,"r":5}],"s":[{"a":[{"s":6}],"p":19,"t":89,"ú":6}],"t":[{"r":[{"a":5,"á":5,"i":19,"ó":5}]}],"u":[{"t":51}],"ú":[{"t":5}],"ü":[{"g":51,"l":[{"e":52}],"r":52,"s":52,"v":51,"z":51}],"y":[{"a":61,"á":61,"e":[{"c":[{"e":56,"s":[{"e":0}]},10],"d":[{"z":61}],"f":0,"g":[{"y":56}],"k":[{"é":[{"s":0}]}],"l":[{"a":0,"á":0,"l":56,"o":56,"v":[{"á":56,"ű":9,"v":9}]}],"m":[{"a":0}],"n":[{"c":9}],"p":56,"r":[{"d":0,"e":[{"d":9}],"ő":61}],"s":[{"e":[{"t":[{"t":61}]}],"é":[{"s":61}],"ő":61,"s":[{"z":56}],"t":[{"é":56}],"z":61}],"t":[{"a":0,"i":0,"ű":0}],"v":56}],"é":[{"g":56,"j":61,"k":[{"e":9,"h":9,"n":9,"t":9},10],"l":61,"r":[{".":56,"d":56,"é":0,"i":61,"n":56,"t":[{"e":0,"é":56}],"ü":61,"v":56,"z":56}],"s":56,"t":[{"e":61,"t":56}],"v":[{"a":0}]}],"i":[{"f":56,"g":[{"é":56},10],"k":[{"o":61}],"n":[{"g":56}],"r":[{"a":56,"o":0}],"s":[{"k":0}],"t":[{"a":0}],"z":0}],"í":[{"r":[{"á":9,"ó":9},10]}],"o":[{"k":56,"l":61,"r":61,"s":56}],"ó":61,"ö":[{"n":0,"r":9,"s":56,"z":9},10],"ő":61,"s":9,"t":[{"r":9},10],"u":[{"r":8,"s":9},0],"ú":[{"j":0,"t":9}],"ü":[{"l":[{"ő":61}],"s":56,"v":56,"z":0}]}],"z":[{"a":[{"d":12,"g":6,"k":6,"l":12,"r":6,"u":6},10],"á":[{"l":12,"s":12,"t":12}],"e":[{"r":13}],"i":[{"m":12,"n":12,"s":6}],"í":6,"o":[{"l":12,"r":6,"s":6},10],"ö":[{"r":6}],"ő":12,"s":[{"a":6,"e":6}],"u":[{"r":6}],"ú":6,"z":9}]}],"o":[{"l":[{"a":6}],"p":[{"e":6}],"s":[{"z":6}]},48],"ó":[{"r":[{"a":6,"i":6}]},48],"ö":48,"ő":48,"p":[{"a":[{"d":[{"o":5}],"j":51,"l":[{"k":5}],"n":[{"y":11}],"p":[{"o":5,"r":9}],"r":[{"c":5,"é":5}],"s":[{"s":5}],"t":[{"l":5}],"u":[{"s":10,"t":5}],"v":[{"a":19}]}],"á":[{"g":51,"l":[{"l":[{"a":52,"o":52}]}],"p":5,"r":[{".":5,"b":5,"f":5,"i":5,"o":19,"u":19,"ú":19}],"t":[{"b":5,"j":5,"l":5,"m":5,"s":5,"ü":5,"v":5}]}],"b":[{"l":5,"r":5}],"d":[{"r":5}],"e":[{"b":0,"g":[{"é":19,"y":19}],"k":[{"é":[{"s":51}]}],"l":[{"a":52,"á":52,"b":52,"c":52,"e":[{"m":[{"b":19,"e":51,"r":19}]}],"é":[{"r":52}],"f":52,"i":[{"n":51}],"j":[{"á":5}],"k":52,"l":[{"á":5,"e":[{"n":52}]}],"m":52,"o":52,"ő":[{"k":[{"e":51}]}],"r":52,"t":[{"é":[{"r":52}]}],"u":5},47],"n":[{"e":52},11],"p":51,"r":[{"ő":11},52],"s":[{"e":[{"m":52,"r":51,"t":[{"t":51}]}],"é":[{"s":51}],"ő":51,"t":[{"e":52,"é":52,"i":52,"j":52}],"z":[{"e":52,"k":52},11]}],"t":[{"a":52,"e":[{"t":[{"e":19,"é":11}]}],"ű":52}],"v":[{"a":5}],"x":52}],"é":[{"g":52,"k":51,"l":51,"n":[{"e":[{"k":[{"e":51}]}]}],"r":[{".":52,"i":52}],"s":[{"a":11}],"t":[{"e":52}]}],"f":[{"l":5}],"g":[{"r":5}],"i":[{"d":51,"k":[{"o":51}],"m":[{"p":52}],"n":[{"d":5,"g":5,"s":52,"t":52}],"p":[{"a":[{"i":19}]}],"r":[{"a":51,"á":51,"o":51,"t":52}],"s":[{"k":5,"m":52,"t":52}],"t":[{"a":51}],"z":52}],"í":[{"n":5,"r":51,"t":[{"m":53}],"v":52}],"k":[{"á":[{"r":10}],"l":5,"r":5,"v":5}],"l":[{"e":[{"t":[{"ö":30}]}]}],"o":[{"b":5,"k":52,"l":[{"d":5,"v":5}],"n":5,"p":5,"r":[{"m":5,"s":5}],"s":[{"z":5}]}],"ó":[{"c":52,"h":51,"r":19}],"ö":[{"l":5,"m":5,"n":5,"r":11,"s":5,"z":19}],"p":[{"e":[{"k":12}],"í":6,"l":19,"o":[{"d":12}],"r":19}],"r":[{"o":[{"g":48}],"ó":[{"z":[{"á":6}]}]}],"s":[{"h":5,"k":5,"n":19,"p":5,"t":19,"z":10}],"t":[{"r":19}],"u":[{"d":[{"v":5}],"g":5,"j":52,"n":[{"o":5},11],"r":51,"s":11,"t":51}],"ú":[{"j":5,"s":5,"t":5}],"ü":[{"d":52,"g":52,"l":[{"d":52,"e":53}],"r":52,"s":5,"v":52,"z":52}]}],"r":[{"a":[{"b":[{"l":5,"s":5}],"d":51,"g":[{"á":19,"g":5,"y":5}],"j":[{"a":19,"t":5}],"k":[{"a":51,"c":52}],"l":[{"a":51,"á":5,"g":5,"k":5,"m":5,"v":5}],"m":[{"b":5,"p":5}],"n":[{"e":5,"i":5,"o":19,"t":5}],"p":[{"á":19,"ó":19,"p":5,"r":5}],"r":[{"a":19,"á":19,"c":5}],"s":[{"p":5,"s":5}],"t":[{"i":19,"k":5,"l":5,"o":19,"r":8,"t":5,"y":5}],"u":51,"v":[{"a":19}],"x":51,"z":[{"o":19}]}],"á":[{"b":[{"r":52}],"g":[{".":5,"a":51,"b":5,"g":5,"y":5}],"l":51,"p":19,"r":[{"á":5,"k":5,"o":19,"p":5,"r":5,"u":19}],"t":[{"a":82,"á":82,"c":5,"e":82,"é":5,"f":5,"h":5,"j":5,"l":5,"m":5,"ö":19,"r":5,"ú":5,"ü":5,"v":5}],"z":52}],"b":[{"á":[{"n":53}],"l":5,"r":5}],"c":[{"a":[{"j":6,"l":13,"n":13,"s":12}],"c":20,"d":53,"e":[{"d":[{"é":6}],"m":[{"b":12}],"s":[{"z":12}]}],"h":21,"i":[{"l":6,"m":12,"z":6}],"o":12,"ó":6,"ö":12,"ő":6,"s":[{"e":[{"b":21}],"i":[{"s":21}]}],"ú":6,"z":6}],"d":[{"a":[{"m":12}],"á":13,"e":[{"k":[{"b":[{"ő":53}],"e":[{".":53,"i":53,"l":53}],"l":53,"t":53,"ü":53,"ű":53}],"m":[{"é":53}],"r":[{"ő":12}],"s":[{"t":[{"e":9}]}]}],"é":[{"s":[{"s":38}]}],"i":[{"n":[{"á":13}],"z":12}],"r":[{"a":5}],"ü":[{"l":[{"é":12,"ő":12},10]}],"z":21}],"e":[{"b":[{"a":5,"e":52,"é":52,"r":52},11],"f":[{"f":5}],"g":[{"a":2,"á":14,"e":[{"d":11,"l":11,"m":14,"n":11,"r":2,"v":11}],"é":[{"l":14}],"g":3,"i":[{"n":11}],"o":11,"ö":2,"y":[{"e":[{"z":28}]},51]}],"j":52,"k":[{"é":[{"n":[{".":51}]}]}],"l":[{"á":52,"e":[{"g":51,"m":[{"z":0}]}],"é":[{"g":19}],"i":[{"s":52}],"k":52,"o":52,"ő":[{"a":51,"i":[{"r":11}],"l":51,"m":[{"e":51}],"n":51}],"r":5,"t":[{"á":5}]}],"m":[{"a":14,"á":11,"b":[{"e":[{"r":0}]}],"e":[{"g":14,"l":52,"s":11}],"é":[{"s":51}],"i":[{"s":19}],"l":0,"o":14,"ó":14,"u":59}],"n":[{"e":52},11],"r":51,"s":[{"ő":[{".":52,"b":52,"j":52,"n":52,"r":15,"t":52},11],"t":[{"é":52}]}],"t":[{"a":14,"á":11,"e":[{"g":14,"l":14}],"é":[{"r":[{".":14}],"v":[{"e":[{".":2}]}]}]}],"v":[{"e":19,"é":51}]}],"é":[{"d":51,"g":51,"j":[{".":52,"é":[{"t":51}]}],"k":51,"l":51,"n":[{"e":[{"k":[{"e":51}]}]}],"p":52,"r":[{"i":51}],"s":[{"e":[{"l":14}],"z":[{"a":11,"á":11}]}],"t":[{"e":[{"r":11}],"k":52}],"v":[{"e":[{".":19}],"n":52,"v":5}]}],"f":[{"i":[{"á":32}],"l":5,"o":[{"g":[{"ó":[{"n":[{".":30}],"s":30}]}],"t":[{"o":22}]}],"r":19}],"g":[{"r":19}],"i":[{"a":[{"l":11}],"c":[{"s":[{"i":11}]}],"d":[{"o":52}],"é":[{"n":10}],"f":[{"j":5}],"g":[{"a":52,"e":52},11],"k":[{"o":51}],"l":[{"l":52}],"m":[{"a":51,"á":51,"i":51}],"n":[{"a":51,"d":52,"f":52,"g":52,"j":52,"s":52,"t":0,"v":5,"z":0}],"o":51,"p":[{"a":51}],"r":[{"a":5}],"s":[{"k":52,"m":5,"t":52,"z":51}],"t":[{"a":51}],"v":[{"a":52,"á":52}],"z":51}],"í":[{"g":5,"j":5,"n":52,"r":52,"v":51,"z":51}],"j":[{"a":[{"n":6}]}],"k":[{"l":19,"ö":[{"z":[{"e":[{"p":[{"é":17}]}]}]}],"r":19,"v":19}],"l":[{"e":[{"t":[{"ö":[{"l":30}]}]}]}],"m":[{"é":[{"é":53,"j":53,"k":53}],"i":[{".":53}]}],"o":[{"l":51,"n":[{"t":5}],"p":[{"e":5},11],"r":51,"t":[{"t":5}],"v":[{"i":5}],"x":51}],"ó":[{"l":[{"o":5},11],"r":[{"i":5}]}],"ö":[{"b":51,"c":51,"k":[{"o":5}],"l":51,"m":52,"n":52,"r":52,"s":52,"t":5,"v":5,"z":51}],"ő":[{"f":8}],"p":[{"l":5,"r":19}],"s":[{"e":[{"k":53}],"k":19,"l":5,"p":19,"r":19,"t":19,"z":[{"k":5},10]}],"t":[{"a":[{"t":6}],"e":[{"k":[{"e":[{"z":53}]}],"l":[{"a":12,"m":53}],"s":[{"í":53}]}],"é":[{"k":[{"i":[{"l":53}],"m":53}],"s":[{"s":38}]}],"ö":[{"v":[{"e":8}]}],"ő":[{"c":53,"g":53,"ü":53}],"r":[{"a":[{"n":19}],"á":5,"e":[{"n":19}],"é":19,"o":114,"ó":5}]}],"u":[{"g":[{"a":5}],"j":52,"m":[{"e":14}],"n":[{"a":5},11],"r":51,"s":[{"é":[{"r":14}],"z":19}],"t":[{"a":5,"á":5,"o":19}],"z":51}],"ú":[{"j":52,"r":19,"s":19,"t":11}],"ü":[{"g":51,"k":[{"é":[{".":11}]}],"r":52,"s":52,"t":52,"v":51,"z":52}],"ű":[{"z":51}],"v":[{"a":[{"d":[{"ó":8}],"l":[{"a":9}],"n":13}],"á":[{"g":[{"y":13}]}],"e":[{"l":[{"e":[{"m":12}]},53]}],"é":[{"g":[{"b":12,"h":12}],"k":6,"l":6}],"u":6}],"z":[{"á":47,"é":[{"k":[{".":53,"b":53,"é":53,"h":53,"k":53,"n":53,"r":53,"t":53,"ü":53,"ű":53}],"s":[{"i":[{"l":53}]}]}]}]}],"s":[{"a":[{"b":[{"l":5}],"d":51,"g":[{"y":5}],"j":[{"t":5}],"k":[{"a":19,"l":5,"n":5,"o":5,"t":5}],"l":[{"a":19,"g":5,"k":5,"l":5,"t":5,"v":5}],"m":52,"n":[{"a":5,"t":5,"y":19}],"p":[{"a":5,"r":5}],"r":[{"a":5,"á":19,"c":5,"é":5,"m":5,"z":5}],"s":[{"p":5,"s":5}],"u":51}],"á":[{"c":11,"l":52,"r":[{"t":5}],"s":11,"t":[{"a":5,"h":5,"l":5}]}],"b":[{"l":5}],"d":[{"r":19}],"e":[{"b":[{"é":52},11],"f":52,"g":[{"e":19,"y":19}],"k":[{"e":[{".":51,"i":51}],"é":[{"s":51}],"s":52,"v":52}],"l":[{"a":5,"á":5,"b":5,"k":5,"m":52,"o":5,"r":5,"v":[{"é":52}],"z":5}],"m":[{"b":[{"e":[{"r":5}]}],"e":[{"l":51}],"l":52}],"n":[{"e":52,"g":52,"y":52},11],"p":51,"r":[{"ő":5}],"s":[{"z":52}],"t":[{"o":52}],"v":52,"x":52}],"é":[{"g":[{"b":5,"é":[{"b":51,"é":51,"h":19,"n":19,"v":51}],"h":52,"i":51,"n":52,"v":52}],"h":[{"e":[{"n":51}]}],"j":51,"k":51,"l":51,"p":52,"r":[{".":52,"b":5,"c":5,"d":52,"e":[{"m":51,"n":51}],"é":51,"h":52,"l":52,"n":52,"ő":[{".":51,"k":51,"v":51}],"r":5,"t":[{"e":52,"é":52,"ő":52}],"ü":51,"v":52}],"s":[{"z":5}],"t":[{"e":51}],"v":[{"e":[{".":19,"t":19}],"é":[{"b":19,"t":19,"v":19}]}]}],"f":[{"l":5,"r":5}],"g":[{"r":5}],"i":[{"c":52,"d":[{"e":[{"t":41}]},52],"é":10,"g":[{"a":5,"e":5},11],"k":[{"t":52}],"l":[{"l":52}],"m":[{"i":52,"p":5}],"n":[{"d":5,"f":5,"g":52,"t":52,"v":5}],"p":51,"r":[{"a":52,"á":51,"o":5}],"s":51,"t":[{"a":51}],"v":[{"á":51}]}],"í":[{"r":51,"v":52}],"k":[{"a":[{"t":[{"u":6}]}],"l":5,"r":19,"v":5}],"l":[{"á":[{"g":48}]}],"o":[{"b":52,"k":[{"o":5,"t":5}],"l":51,"m":52,"p":52,"r":[{"g":5,"n":5,"v":5},47],"s":52,"t":52,"v":19}],"ó":[{"c":5,"l":19,"n":5,"r":19}],"ö":[{"l":51,"n":52,"s":52,"t":52,"v":51,"z":51}],"p":[{"l":19,"r":[{"i":6},19],"s":5}],"s":[{"k":19,"p":19,"t":19,"z":[{"a":[{"b":25,"g":25,"k":25,"p":25}],"á":25,"e":[{"l":[{".":37}],"r":[{"e":25}]}],"é":[{"l":[{"e":25}]}],"f":25,"i":25,"í":25,"o":25,"ó":25,"ö":25,"ő":25,"t":25,"ú":25,"ü":[{"l":25}],"ű":25},10]}],"t":[{"r":[{"a":5,"á":5,"é":5,"u":48},11]}],"u":[{"d":5,"r":19,"t":51}],"ú":[{"t":51}],"ü":[{"g":52,"n":[{"n":52}],"r":52,"t":[{"é":19}],"z":52}],"z":[{"a":[{"b":[{"l":9}],"d":61,"g":[{"y":9}],"j":0,"k":[{"á":[{"z":30},26],"c":0,"ü":30}],"l":[{"e":9,"g":9,"l":9}],"n":[{"t":9,"y":9},10],"p":[{"o":9},10],"r":61,"s":56,"t":[{"o":8}],"u":56,"z":0}],"á":[{"b":0,"g":61,"l":[{"l":[{"á":9}]},10],"p":25,"r":[{"a":[{"m":9}],"á":[{"n":9},0],"f":9,"k":9,"n":56,"u":8}],"s":0,"t":61,"z":8},47],"e":[{"g":[{"e":[{".":61,"i":61}],"y":61}],"j":56,"k":[{"a":17,"á":10,"é":[{"s":9}],"ö":[{"v":10},26]}],"l":[{"a":56,"e":[{"g":61,"m":[{"b":8,"e":8,"é":8,"m":8,"n":8}]}],"k":56,"ő":[{"d":9,"r":56,"z":0}]}],"m":[{"b":[{"e":[{"r":9}]}],"i":56}],"n":[{"é":55,"g":56}],"p":56,"r":[{"e":[{"z":8}],"é":[{"n":8}],"k":[{"ö":9}],"ő":0}],"s":[{"e":[{"t":[{"e":8}]}],"z":[{"t":9}]}],"t":[{"a":[{"k":30},26],"e":[{"l":17}],"é":[{"r":[{".":30}]}],"o":30,"ö":[{"r":30}]}],"v":[{"e":8}],"x":56}],"é":[{"g":0,"k":[{"t":56}],"l":61,"p":61,"r":[{"é":9,"ó":0}],"s":[{"z":0}],"t":[{"e":61,"k":56}]}],"i":[{"d":61,"f":0,"k":[{"o":8,"t":56}],"l":[{"l":56}],"m":56,"n":[{"a":0,"d":56,"f":56,"g":9,"t":[{"é":56}]}],"o":9,"p":61,"r":[{"a":0,"o":0,"t":0}],"s":61,"t":[{"a":56}],"z":56}],"í":[{"j":8,"r":0,"v":[{"á":8,"é":8,"ó":8}]}],"k":8,"o":[{"k":[{"t":9}],"l":[{"d":9,"t":9},10],"p":0,"r":[{"s":9}],"s":56,"t":56}],"ó":[{"n":55}],"ö":[{"l":[{"d":25,"t":9}],"n":56,"s":56,"t":0},47],"ő":[{"r":[{"s":9}]}],"p":8,"s":[{"u":20,"ű":20}],"t":[{"é":[{"s":[{"s":22}]}],"o":[{"r":[{"s":11,"z":28}]}],"r":[{"a":9,"i":9}]}],"u":[{"l":25,"t":9}],"ú":[{"r":[{"n":9}],"t":56}],"ü":[{"g":61,"n":[{"n":0}],"t":0,"z":61}],"ű":[{"z":0}],"z":9}]}],"t":[{"a":[{"b":[{"l":[{"a":5}]}],"d":[{"o":19,"ó":19,"t":5}],"g":[{"g":5,"r":9}],"i":[{"k":10}],"j":[{"k":52,"t":52}],"k":[{"c":5,"r":9,"t":5}],"l":[{"j":52,"k":52,"s":5,"t":52}],"n":[{"i":52,"n":52,"t":52,"y":[{"a":5,"á":5}]}],"p":[{"s":52}],"r":[{"c":52,"g":52}],"s":[{"z":[{"t":5}]}],"t":[{"o":[{"m":5}]},10],"ü":10,"z":[{"o":5}]}],"á":[{"b":[{"r":5}],"g":51,"l":[{"l":52}],"r":[{"a":[{"d":19,"m":19}],"á":19,"i":51,"ú":51,"v":5}],"t":[{"i":5,"r":52,"v":52}]}],"b":[{"l":5}],"d":[{"r":5}],"e":[{"a":10,"d":[{"é":[{"n":0}]}],"g":[{"a":2,"e":[{"l":[{"e":11,"v":14}],"r":11}],"o":11}],"k":[{"e":[{".":51,"i":51}]}],"l":[{"a":11,"á":14,"e":[{"l":2,"m":[{"ü":11}],"r":14}],"é":[{"k":14,"r":[{".":14,"e":[{"n":2}],"é":11}]}],"f":[{"o":[{"g":0}]}],"l":[{"e":[{"n":0}]}],"o":11,"ő":[{"l":51,"r":2}]}],"m":[{"e":[{"l":51}]}],"r":[{"a":[{"d":11,"g":14},32],"á":2,"e":[{"g":11,"l":11}],"m":[{"o":22}],"ő":52}],"s":[{"i":[{"k":11}],"t":[{"ü":[{"n":52}]}],"v":52,"z":[{"m":52}]}],"v":[{"i":19}]}],"é":[{"g":[{".":5,"e":5,"é":5,"n":5,"t":5},11],"j":51,"l":51,"r":[{"e":[{"n":51}],"é":51,"i":51,"ő":[{"t":51}],"t":[{"e":52,"é":52}],"ü":51,"v":52,"z":52}],"s":[{"z":[{"l":5}]}],"t":[{"b":52,"é":51,"n":52,"r":52}],"v":[{"e":[{"s":51}]}]}],"f":[{"l":5,"r":5}],"g":[{"r":5}],"i":[{"d":51,"g":[{"e":52,"é":52},11],"k":[{"o":51}],"m":51,"n":[{"d":52,"f":52,"t":52}],"p":[{"a":52},11],"r":[{"á":52,"o":5}],"s":[{"s":27,"z":11}],"v":[{"á":51}],"z":[{"é":5}]}],"í":[{"r":51,"v":51}],"k":[{"l":5,"r":5,"ű":53,"v":5}],"m":[{"e":[{"g":[{"g":7}]}]}],"o":[{"k":[{"á":19,"i":19,"m":5}],"l":[{"a":0,"v":0},19],"m":[{"l":5}],"p":52,"r":[{"d":5,"g":5,"i":[{"s":11}],"m":5,"s":5}]}],"ó":[{"c":52,"h":[{"a":19}],"n":[{".":5}],"r":[{"á":5}]}],"ö":[{"k":11,"l":11,"m":[{"ö":52}],"n":52,"r":[{"ü":[{"l":11}]}],"s":52,"t":19,"v":19,"z":51}],"ő":[{"r":[{".":5,"b":5,"i":5,"m":5,"ö":5,"ü":5}],"s":51,"z":51}],"p":[{"e":[{"n":7}],"f":5,"l":5,"r":5}],"r":[{"a":[{"f":[{"á":54}]}],"é":[{"f":6}],"o":[{"m":[{"é":17}]}]}],"s":[{"l":5,"m":5,"p":5,"t":5}],"t":[{"r":19}],"u":[{"d":[{"v":5}],"g":52,"j":52,"n":[{"a":5,"d":5},11],"r":51,"t":51}],"ú":[{"s":19}],"ü":[{"g":52,"r":52,"s":5,"t":52,"v":51,"z":51}],"ű":[{"z":11}],"y":[{"e":55}]}],"u":[{"n":[{"i":6}],"t":[{"a":6,"á":6}],"z":[{"s":6}]},48],"ú":48,"ü":[{"g":[{"y":6}],"l":[{"e":6,"é":6,"ö":6,"ő":6}],"r":[{"ü":6}],"t":[{"é":6,"ö":6,"ü":6}],"z":[{"e":6}]},48],"ű":48,"v":[{"a":[{"d":[{".":53,"ó":5,"r":53},0],"g":[{"y":5}],"j":[{"á":5}],"l":[{"a":51,"á":0,"k":52}],"m":52,"n":51,"r":[{"c":5}],"u":5,"v":[{"a":5}],"z":51}],"á":[{"l":[{"l":[{"o":52}]}],"t":[{"a":52,"h":5,"k":5,"r":52}],"z":[{"á":5},11]}],"b":[{"e":[{"o":53}]}],"e":[{"g":51,"i":50,"k":[{"t":50}],"l":[{"a":5,"f":53,"i":85,"l":52,"n":5,"o":52,"ő":0,"s":52,"t":52,"v":52}],"n":[{"g":52,"k":50,"t":50}],"r":[{"i":19,"ő":51}],"s":[{"b":50,"é":[{"s":19},53],"f":53,"i":50,"k":50,"r":50,"t":[{"é":5}]}],"v":[{"e":5}]}],"é":[{"g":[{"e":19,"é":19,"r":5,"t":5}],"r":[{".":5,"é":19,"i":[{".":11}],"r":5,"t":[{"e":52,"é":52}]}],"s":[{"k":[{"a":9}],"p":8,"t":[{"á":9}]}]}],"g":[{"r":5}],"i":[{"g":[{"a":5,"é":52},11],"h":50,"k":50,"m":50,"n":[{"d":5,"e":53,"é":53,"g":5,"t":5},0],"s":[{"m":5}],"t":[{"ő":50}],"v":50}],"í":[{"r":52}],"k":[{"ö":[{"s":53}],"r":5}],"n":[{"y":53}],"o":[{"k":5,"s":5}],"ó":[{"r":19}],"ö":[{"r":19,"s":5,"t":5}],"ő":[{"d":50}],"p":[{"r":5}],"s":[{"k":5,"t":5,"z":[{"a":[{"k":[{"a":[{"s":43}]}]}]},5]}],"t":[{"á":[{"r":[{"a":[{"d":17}]}]}],"ő":[{".":53}]}],"u":[{"r":5}],"ú":[{"j":5,"t":19}],"ü":[{"g":52,"k":[{".":0,"b":0,"e":0,"h":0,"i":0,"n":0,"t":0}],"l":[{"j":0}],"t":52,"z":52}],"z":[{"á":53}]}],"z":[{"a":[{"d":19,"g":[{"a":[{"l":11}],"e":11}],"j":19,"k":[{"r":5}],"l":51,"n":[{"y":5},11],"r":19,"s":5,"t":51,"z":5}],"á":[{"g":51,"l":51,"s":[{"v":5}],"z":5}],"b":[{"l":5}],"d":[{"r":19}],"e":[{"c":[{"e":5},11],"d":[{"é":51}],"g":[{"é":19,"y":19}],"l":[{"a":52,"d":52,"e":[{"n":3},51],"f":52,"h":52,"l":52,"ő":[{"b":5,"é":5,"g":5,"i":5,"j":5,"k":[{"é":51}],"n":5,"p":5,"s":5,"t":5,"v":5}],"s":52,"v":52}],"m":[{"b":52}],"n":[{".":6,"á":14,"z":5}],"p":51,"r":[{"a":14,"á":14,"i":[{"n":14,"p":11}],"o":11,"ő":5,"ű":19}],"s":[{"z":5}],"t":[{"a":11,"á":14,"e":[{"g":14,"k":[{"é":[{"h":2}]}],"l":14}]}],"v":51,"x":52}],"é":[{"d":51,"g":52,"k":52,"l":51,"r":[{".":52,"c":52,"i":51,"m":52,"p":52,"t":[{"é":52}],"z":52}]}],"f":[{"r":5}],"g":[{"é":10,"r":19}],"i":[{"d":[{"o":5},11],"g":[{"é":52}],"l":[{"l":52}],"m":[{"p":5}],"n":[{"d":5,"g":5,"t":52}],"o":[{"n":5},11],"p":[{"a":51,"á":52}],"r":[{"e":41,"ő":41},51],"s":[{"s":27,"ú":14,"z":[{"a":11,"á":4}]}],"t":[{"a":19}],"v":[{"á":51}],"z":[{"m":5,"o":5,"z":52}]}],"í":[{"j":19,"r":5,"v":19,"z":5}],"k":[{"a":[{"r":[{"c":[{"h":115}]}]}],"l":19,"r":19}],"o":[{"l":[{"a":5,"d":5}],"p":5,"r":52,"s":[{"z":5}],"x":52}],"ö":[{"b":5,"k":19,"n":5,"r":5,"s":5,"t":5,"v":19}],"ő":[{"a":10,"r":[{".":5}]}],"p":[{"l":5,"r":19}],"s":[{"a":[{"j":25,"r":25}],"e":[{"b":25,"r":25}],"i":[{"k":25}],"í":[{"n":25}],"o":[{"d":25}],"ó":[{"k":55,"r":9},10],"ö":25,"p":[{"i":25}],"s":9,"u":[{"g":25}],"ú":[{"r":8}],"ü":55,"z":25}],"t":[{"r":19}],"u":[{"g":5,"j":5,"r":51,"t":5}],"ü":[{"g":51,"r":52,"s":52,"t":52,"z":51}],"ű":[{"r":5}],"z":[{"s":[{"a":25}]}]}]}],"f":[{".":47,"a":[{"á":[{"t":3}],"b":[{"r":[{"o":19}]}],"c":[{"h":[{"i":[{".":20},6],"o":21}]}],"d":[{"r":19}],"e":[{"g":[{"y":[{"e":[{"z":28}]}]}],"l":[{"e":[{"k":20}]}],"r":11}],"é":[{"d":11}],"f":[{"r":19}],"g":[{"r":19,"y":[{"é":[{"k":6},32],"o":[{"l":6}],"ő":6,"ú":[{"r":6}]}]}],"i":[{"d":11,"s":11}],"j":[{"a":[{"l":13,"z":12}],"á":[{"g":12,"r":[{"u":13}]}],"e":[{"g":[{"y":[{"s":12}]}],"l":[{"e":[{"m":6}],"k":12,"m":6,"n":12,"v":12}],"s":12}],"ö":12,"ő":6,"t":[{"r":9},10],"u":[{"r":[{"a":9},10]}],"ü":6}],"k":[{"l":19,"r":19,"v":19}],"l":[{"a":[{"d":[{"á":13,"ó":13}],"j":[{"á":6}],"k":[{"ó":13}],"l":13,"n":[{"y":9},10],"v":6,"z":[{"ú":12}]}],"á":[{"b":[{"r":12}],"l":12,"r":[{"o":13}],"t":[{"h":12,"v":12}]}],"e":[{"g":[{"y":8}],"l":[{"e":[{"m":12}],"ő":12}],"s":[{"e":9}]}],"é":[{"r":[{"i":12}]}],"f":8,"i":[{"d":6,"n":[{"j":12}],"z":12}],"í":13,"o":[{"l":12,"m":[{"l":12}],"r":6,"s":12}],"ó":[{"r":[{"á":9}]}],"ö":[{"k":6,"v":12},10],"ő":[{"r":12}],"p":8,"s":[{"í":[{"n":[{".":14}]}]}],"t":[{"a":[{"n":32}],"e":[{"m":11}],"i":[{"p":11}],"ü":[{"z":11}]}],"ü":6}],"n":[{"e":[{"v":[{"e":[{"t":13}]}]}],"é":[{"v":[{"b":9,"r":9}]}],"y":[{"a":[{".":58}]}]}],"ó":[{"r":11}],"p":[{"l":19,"r":19}],"r":[{"a":[{"d":[{"á":13}],"g":[{"y":6}],"k":[{"ó":13}],"l":13,"t":12,"v":13}],"á":[{"c":[{"c":12}],"l":12,"z":13}],"e":[{"m":12,"p":[{"e":13}]}],"i":[{"d":12,"n":[{"á":12,"g":12}],"z":[{"m":12,"o":12}]}],"k":[{"a":[{"l":14}],"o":[{"l":11}]}],"m":[{"á":[{"l":11}],"i":[{"n":11}],"u":[{"n":[{"k":[{"á":14}]}]}]}],"o":[{"k":[{"k":[{"e":12}]}],"s":[{"z":12}]}],"u":[{"t":12}]}],"s":[{"k":19,"p":19,"t":[{"a":5,"é":5}],"z":[{"í":[{"v":[{".":24}]}]}]}],"t":[{"r":[{"i":5}]}],"u":[{"r":11,"s":11,"t":[{"á":11}]}],"ü":[{"t":11,"z":11}],"x":[{"e":6,"i":[{"k":12,"n":6},10],"í":6,"ö":6,"ú":6,"ü":6,"ű":6}],"y":[{"a":5,"e":5}]},53],"á":[{"b":[{"r":48}],"c":[{"h":21}],"g":[{"é":[{"p":6}]}],"j":[{"l":[{"a":[{"k":11}],"á":11,"e":2,"í":2}]}],"n":[{"í":6,"k":[{"a":[{"r":11},32],"á":11}],"t":[{"a":[{"d":11,"g":2,"n":11}],"á":2,"e":2,"i":[{"s":11}],"o":[{"r":11}],"ö":11}]}],"p":[{"o":6}],"r":[{"a":[{"m":6}],"á":54}],"s":[{"s":20}],"t":[{"a":13,"á":12,"e":6,"é":[{"r":[{"d":12}]}],"i":[{"s":13}],"m":[{"ű":7}],"o":[{"l":12}],"ü":13}],"z":[{"i":[{"s":[{"á":[{"g":30}],"z":29}]}]}]},53],"b":[{"a":[{"l":14}]}],"c":[{"l":[{"u":6}]}],"d":[{"r":[{"ó":6}]}],"e":[{"a":[{"a":6,"á":6,"b":6,"c":6,"d":6,"e":6,"é":6,"f":6,"g":6,"h":6,"i":6,"j":6,"m":6,"n":6,"p":13,"r":6,"s":6,"t":6,"ú":6,"v":6}],"d":[{"z":58}],"e":[{"d":6,"l":6}],"f":[{"r":19}],"g":[{"y":[{"i":24,"ő":6}]}],"i":[{"n":[{"i":14}]}],"j":[{"a":6,"á":13,"e":[{"g":[{"y":12}],"l":[{"m":12}],"r":13,"s":[{"z":12}],"v":13}],"o":12,"ö":[{"s":12}],"t":[{"r":9}],"u":12,"ú":6}],"k":[{"t":[{"e":[{"m":[{"b":14}]}]}]}],"l":[{"a":13,"á":13,"e":[{"c":10,"d":[{"z":13}],"g":13,"h":13,"l":[{"e":[{"v":12}]}],"m":[{"e":[{"l":13,"n":25,"t":25}],"é":[{"s":13}],"l":12}],"n":[{"g":12,"n":12}],"r":[{"e":13}],"s":[{"d":12,"e":[{"d":6,"g":9,"t":[{"t":13}]}],"é":[{"s":12}],"i":[{"k":12}],"k":12,"n":[{"i":12}],"ő":13,"s":[{"e":[{"n":12}]}],"t":[{"e":12,"ü":12}],"z":13}],"t":[{"e":[{"s":13,"t":13}],"t":[{"e":[{"k":12}],"é":[{"l":12}]}]}],"v":[{"e":8,"é":8,"i":9}]}],"é":[{"d":[{"e":12},10],"g":13,"k":13,"l":13,"p":13,"r":[{".":12,"e":[{"k":13,"n":12}],"h":12,"i":12,"j":12,"k":12,"n":12,"s":12,"t":12,"v":12}],"t":[{"e":[{"t":12}]}]}],"i":[{"b":25},13],"í":13,"l":20,"o":13,"ó":13,"ö":13,"ő":[{"g":12,"r":12}],"p":8,"t":10,"u":13,"ú":6}],"n":[{"e":[{"r":58}],"n":[{"a":2,"á":11,"e":[{"v":11},32]}],"s":[{"c":9}]}],"r":[{"a":[{"b":[{"l":9}],"k":6}],"á":[{"l":[{"l":12}],"r":13}],"e":[{"g":[{"y":9},10]}],"o":[{"l":[{"d":12,"j":12,"n":12,"t":12}]}]}],"s":[{"e":[{"m":6,"r":12}],"é":58}],"u":[{"m":[{"é":2}]}],"v":[{"ő":6}],"z":[{"é":[{"r":[{".":12}]}],"ó":6,"s":6}]},53],"é":[{"k":[{"a":[{"d":12,"g":12,"l":12,"s":6,"u":12},10],"á":13,"e":[{"g":13,"l":[{"l":9}],"r":12}],"é":[{"k":12,"l":13,"r":[{".":12}]}],"o":[{"l":13,"r":12}],"ö":[{"n":6}],"u":13,"ú":12}],"l":[{"a":13,"á":[{"j":13,"r":13}],"e":[{"g":6,"k":[{"k":12}],"l":[{"é":9,"l":12,"ő":12}],"m":[{"b":9,"e":12},10],"r":13,"s":[{"e":12,"z":12}],"t":58,"z":12}],"é":[{"v":[{"a":12}]}],"i":[{"g":[{"a":[{"z":28}]}],"n":6,"r":6,"s":12,"v":6}],"í":6,"o":[{"k":12,"s":6}],"ó":6,"ö":12,"ő":[{"r":6}],"p":[{"e":[{"n":22}]}],"t":[{"r":8}],"ú":13}],"m":[{"a":[{"b":6,"d":6,"g":13,"j":13,"n":13,"p":12,"u":6,"z":6}],"á":[{"c":12,"l":12}],"e":[{"c":12,"d":[{"é":6}],"k":[{"é":[{"t":[{".":31}]}]}],"l":13,"m":[{"b":12}],"r":6,"z":6}],"é":[{"k":13,"r":[{"é":12},10]}],"i":[{"n":13,"r":12,"s":12,"t":6,"z":12}],"í":6,"o":12,"ó":6,"ö":6,"u":12,"ü":[{"l":12},10]}],"n":[{"y":[{"e":[{"g":23,"l":23,"r":23}],"i":[{"s":24}],"í":24,"o":6,"ö":6,"ú":6}]}],"p":[{"í":6,"ü":6}],"r":[{"a":[{"á":47,"f":47,"i":47,"l":47,"r":47}],"á":[{"d":47,"é":47,"m":47}],"c":[{"e":[{"m":11}]}],"e":[{"g":[{"e":17}]}]}],"s":[{"o":[{"r":[{"r":12}]}],"z":[{"a":[{"l":3}],"á":[{"r":3},32],"e":[{"g":6,"l":24}]}]}],"t":[{"a":[{"u":45}]}],"v":[{"k":86}],"z":[{"s":[{"e":15,"o":3},6]}]},53],"f":[{"e":[{"l":[{"i":20}]}],"i":[{"a":[{"c":11,"g":11,"k":[{"a":11}],"m":11,"t":11}]}],"l":[{"i":10}],"s":[{"h":5}],"y":50}],"g":[{"l":[{"ó":6}]}],"i":[{"a":[{"a":6,"á":6,"e":6,"é":6,"f":6,"h":6,"í":6,"l":[{"a":11}],"o":6,"ó":6,"ö":6,"p":[{"a":6},9],"r":[{"a":11,"á":11,"é":6}],"s":[{"z":[{"á":6,"o":6}]}],"u":6,"ü":6,"v":[{"á":6,"e":6}]}],"á":[{"l":11}],"c":[{"h":21,"i":[{"t":[{"á":30}]}]}],"d":[{"a":[{"n":6}],"á":12,"r":[{"á":5}]}],"e":[{"l":11,"n":11,"r":11,"s":[{"e":3},11],"t":11}],"f":[{"l":5,"r":5}],"g":[{"a":[{"z":58}]}],"k":[{"l":19,"r":[{"á":5,"é":5,"i":5}],"v":19}],"l":[{"a":[{"c":6,"d":[{"a":9}],"k":[{"n":9,"t":9}],"l":6,"m":6}],"á":[{"l":12,"r":6}],"e":[{"l":[{"t":9}],"n":12,"s":[{"z":9},6]}],"é":[{"r":[{"t":9}]}],"i":[{"d":13,"m":13,"n":12}],"m":[{"a":[{"d":11,"k":11,"n":11,"s":14,"t":11}],"á":2,"o":[{"s":11}],"u":11}],"ö":6,"ü":6}],"m":[{"á":58,"e":[{"g":7}]}],"n":[{"a":[{"s":58}],"d":47,"o":[{"s":[{"z":9}]}],"ó":12,"t":[{"r":9},10],"u":13,"ú":6,"x":47}],"o":[{"v":11}],"ó":[{"k":[{"a":[{"l":2,"r":11}],"e":2,"é":[{"p":11}],"o":[{"l":11}],"ö":11},25],"r":11}],"ő":[{"r":11}],"p":[{"l":19,"r":19}],"r":[{"o":[{"d":6}],"s":14}],"s":[{"a":[{"r":[{"c":9}]}],"p":19,"t":[{"r":5},10]}],"t":[{"a":[{"d":12,"l":[{"a":8,"j":9}]}],"á":[{"g":6,"r":[{"a":[{"k":9}]}],"t":[{"a":12},10]}],"é":[{"h":12,"r":[{"d":12}]}],"i":[{"k":6,"n":12,"r":6,"z":13}],"o":[{"p":15,"s":[{"z":12}]}],"ö":[{"n":6}],"ő":[{"r":12}],"u":[{"r":12}]}],"u":[{"m":[{"i":[{"n":11}]}],"t":11}],"ú":[{"a":6,"á":6,"e":6,"f":6,"g":6,"í":6,"l":6,"o":6,"ö":6,"ő":6,"p":6,"s":[{"z":6}],"t":[{"i":6}],"u":6,"ú":6,"ü":6}],"x":[{"á":[{"r":12}],"e":[{"l":12}],"ö":6}]},53],"í":[{"r":[{"á":6,"c":[{"s":[{"a":26}]}],"i":[{"n":12}],"ó":54,"t":[{"r":9}],"ü":6}]},53],"j":[{"ú":[{"s":[{"z":9}]}]}],"k":[{"i":[{"s":14}],"l":[{"i":6,"u":6}],"r":[{"ó":6}]}],"l":[{"a":[{"k":0,"n":0}],"e":[{"p":0}],"i":[{"p":0,"s":[{"é":14}]}],"o":[{"n":[{"á":14,"é":11}],"t":0}],"u":[{"k":0}]}],"o":[{"a":[{"m":6}],"g":[{"á":[{"c":13,"l":6,"r":[{"k":12,"o":12}]}],"e":12,"g":20,"í":6,"o":[{"r":12,"s":12}],"ö":6,"u":[{"r":6}],"ü":6}],"h":[{"á":[{"s":[{"z":[{"a":[{"t":10}]}]}]}]}],"k":[{"a":[{"l":6}],"á":[{"l":[{"l":9}],"r":[{"r":12}]}],"e":13,"i":[{"n":[{"g":9}]}],"í":6,"k":8,"o":[{"l":[{"a":6}],"r":12}]}],"l":[{"t":[{"a":[{"n":32}],"e":14,"ö":14}]}],"n":[{"a":[{"d":[{"a":12,"o":6}],"k":6,"l":[{"a":[{"p":9}],"e":17,"j":[{"a":9,"o":9}]}],"n":[{"y":9},10],"s":[{"z":12}],"u":12}],"á":[{"r":13,"s":[{"s":7}],"t":12}],"d":[{"r":9},10],"e":[{"g":6,"l":116,"r":6,"s":12}],"é":[{"k":6}],"f":8,"i":[{"k":[{"o":8}],"m":13,"n":6,"s":12,"z":6}],"í":6,"k":9,"o":[{"r":12,"s":[{"z":12}]}],"ö":6,"ő":31,"s":[{"t":9},10],"t":[{"i":[{"n":2}],"ó":[{"n":11},32]}],"ü":6,"y":[{"a":7}]}],"r":[{"a":[{"d":12,"k":[{"é":[{"s":[{"z":65}]}]}],"l":[{"a":12}],"n":13,"t":[{"o":9}]}],"e":[{"g":6,"l":12,"r":12}],"g":[{"á":[{"s":[{"s":22}]}]}],"i":[{"l":12,"o":13}],"m":[{"e":[{"l":2,"m":14,"r":[{"ő":11}],"s":11}],"é":[{"r":[{"t":[{"é":14}]}]}],"i":[{"l":11,"n":14}]}],"o":[{"l":12}],"ö":6,"r":[{"ú":86}],"s":[{"p":9},10],"t":[{"á":[{"l":14}],"e":[{"l":2}],"é":[{"r":[{"d":14}]}],"ü":11}],"ü":6}],"t":[{"o":[{"s":3}]}],"v":[{"i":6}]},53],"ó":[{"r":[{"á":6}],"s":[{"z":[{"a":32}]}]},53],"ö":[{"l":[{"a":6,"á":6,"d":[{"ö":[{"k":11}]}],"e":[{".":25},13],"é":[{"s":[{"b":[{"e":[{"l":58}]}]}]}],"i":[{"v":6}],"í":6,"k":8,"o":6,"ó":6,"ö":[{"n":6}],"t":[{"r":9},10],"u":6,"ú":6}],"n":[{"n":[{"e":32},14]}],"s":[{"á":6}]},53],"ő":[{"a":[{"n":11}],"á":[{"g":11}],"b":[{"l":5,"r":5}],"d":[{"r":[{"a":5}]}],"e":[{"l":11,"r":11,"s":11}],"é":[{"h":11,"t":[{"e":11}]}],"f":[{"l":5,"r":19}],"g":[{"l":5,"n":5,"r":5}],"i":[{"d":11,"g":[{"a":[{"z":22}]}],"t":[{"a":11}]}],"í":[{"t":11}],"k":[{"l":5,"v":5}],"n":[{"a":[{"g":12,"p":[{"j":12}]}]}],"p":[{"l":5,"r":5}],"r":[{"a":[{"j":12}],"e":[{"m":6,"s":10}],"é":[{"k":12}],"i":[{"s":12},10],"ü":[{"l":[{"é":9},6]}]}],"s":[{"l":5,"ö":47,"t":[{"a":5,"r":5}],"z":[{"l":5,"p":5,"t":5},10]}],"t":[{"r":19}],"ü":[{"l":11}],"z":[{"ő":[{"é":32}]}]},53],"p":[{"l":[{"a":6}],"r":[{"o":6}]}],"r":[{"a":[{"s":9}],"á":[{"m":[{"a":11,"á":11,"e":2}],"n":[{"y":[{"e":11}]}],"s":0}],"e":[{"s":[{"k":0}]}],"é":[{"n":[{"á":11,"é":[{"n":11}]}]}],"i":[{"c":[{"h":41},50],"g":0,"p":41,"s":50}],"o":[{"n":[{"t":[{"a":17,"e":17}]}]}],"ö":[{"c":0}],"u":[{"s":0}]}],"s":[{"h":[{"o":6}],"p":[{"o":6}],"t":[{"í":6,"r":11}]}],"t":[{"a":[{"j":5,"k":[{"r":9}],"l":[{"j":5}]}],"b":[{"l":5}],"e":[{"f":52,"m":[{"e":52},11]}],"é":[{"r":[{".":52}]}],"i":[{"g":[{"e":52},11],"n":[{"g":52}]}],"ö":[{"s":5}],"ú":[{"t":5}],"ü":[{"g":52,"t":5,"z":51}]}],"u":[{"g":[{"a":3}],"r":[{"a":[{"t":[{"e":30}]}]}],"s":[{"a":[{"s":12}],"e":[{"g":6}],"i":[{"s":6}],"z":[{"á":23,"o":[{"l":24}],"ü":6}]}],"t":[{"ó":[{"k":[{"é":[{"s":[{"z":65}]}]}],"s":[{"p":15}]}]}]},53],"ú":[{"j":[{"t":[{"a":[{"l":11}]}]}],"r":[{"é":58,"r":86}],"z":[{"s":6}]},53],"ü":[{"g":[{"y":58}],"l":[{"a":6,"á":6,"e":[{"c":10,"m":[{"l":12}],"p":13,"v":13}],"é":[{"j":13,"k":13}],"í":6,"l":20,"o":6,"ő":[{"t":6},47],"t":39}],"m":[{"a":6,"á":6,"e":12,"o":6,"ő":6,"ú":6}],"n":[{"n":86}],"r":[{"t":[{"ő":14}]}],"s":[{"t":[{"ü":[{"l":[{"é":14}]},32]}]}],"t":[{"é":58,"ő":58}],"z":[{"l":86}]},53],"ű":[{"d":[{"r":5}],"f":[{"r":5}],"p":[{"r":5}],"s":[{"r":5,"z":[{"e":[{"r":[{"e":[{"l":43}]}]}]}]}],"t":[{"r":19}],"z":[{"á":6,"i":[{"s":6}],"o":6,"ö":[{"l":[{"t":12}]}]}]},53],"v":[{"á":[{"r":[{"o":[{"s":[{"é":33}]}]}]}]}],"y":53}],"g":[{".":47,"a":[{"b":[{"c":86,"r":47,"s":86,"y":5}],"d":[{"a":[{"g":58,"p":48,"t":[{"a":58,"b":58}]}],"á":[{"s":[{"s":7}]}],"m":86,"o":[{"g":6,"m":[{"á":47}]}],"ó":[{"i":[{"k":[{"o":32}]}],"s":[{"a":[{"t":47}]}]}],"u":[{".":58,"k":58}]}],"e":[{"r":11}],"f":[{"f":86,"l":5}],"g":[{"a":[{".":6}],"g":86,"r":[{"á":19}],"y":[{".":48,"u":6,"ú":54}]}],"j":[{"á":[{"n":86}],"k":86,"t":86}],"k":[{"a":[{"d":58}],"á":[{"c":6}],"c":86,"é":[{"v":47},55],"l":5,"n":[{"a":[{"i":47}]}],"t":[{"u":48}],"v":48}],"l":[{"a":[{"g":[{"ú":30}],"t":6}],"á":[{"f":47,"í":47,"v":6}],"b":86,"c":86,"e":[{"g":[{"e":17}]}],"k":86,"o":[{"m":[{"e":30}],"p":71,"s":54}],"u":[{"d":58,"l":6,"s":[{"z":6}]}],"v":[{"ó":47}]}],"m":[{"a":[{"g":[{"á":13}]}],"c":86,"p":86}],"n":[{"a":[{"b":6,"l":58}],"c":[{"s":[{"a":[{"l":11}],"á":[{"g":7}],"e":11},47]}],"d":8,"é":117,"g":[{"a":11}],"i":[{"m":54}],"y":[{"a":[{"g":6,"t":24}],"e":[{"l":32}],"é":[{"r":6}],"ó":54,"ö":6}]}],"ó":[{"r":11}],"p":[{"a":[{".":6,"á":6,"c":6,"s":6}],"á":[{"n":6,"t":6}],"l":19,"o":[{"k":6}],"ó":[{".":6,"b":6,"k":6,"n":6,"v":6}],"p":86,"r":[{"é":19,"o":5}]}],"r":[{"a":[{"t":[{"í":30}]}],"á":[{"k":58,"n":[{"y":58}]}],"é":[{"n":6}],"k":8,"ő":6}],"s":[{"e":[{"g":6}],"i":[{"s":12}],"í":[{"n":12}],"p":[{"i":19,"r":5}],"s":[{"z":[{"e":20,"í":20}]}],"t":[{"a":19,"o":5,"r":5},10],"z":[{"a":[{"g":[{"g":3}],"n":24}],"á":[{"g":6,"s":6}],"e":[{"s":24}],"t":[{"á":[{"r":10}]}]}]}],"t":[{"a":[{"d":13,"r":[{"á":9}],"v":6}],"á":[{"l":12,"r":[{"a":[{"m":13}]}]}],"e":[{"g":12,"p":6}],"é":[{"s":10}],"h":[{"i":5}],"i":[{"m":6}],"o":[{"l":[{"d":9}],"m":[{"i":6}]}]}],"u":[{"k":54,"l":6,"s":6}],"v":[{"a":[{"n":6,"r":6,"t":6}],"u":58}],"z":[{"a":[{"n":[{"y":9},10],"t":[{"e":10}]}],"á":[{"l":6}],"d":117,"e":[{"r":6},117],"g":47,"í":[{"t":[{"á":47}]}],"m":[{"u":[{"s":[{"s":22}]}]}],"o":[{"d":47,"n":47}],"ü":6}]},53],"á":[{"b":[{"a":0,"é":58,"ó":0,"r":86}],"c":[{"i":117,"s":[{"a":[{"v":[{"a":15}]}],"e":6,"i":[{"l":24}],"ü":6}]}],"d":[{"a":[{"l":12},10],"á":6,"é":[{"l":12}],"i":[{"a":12,"s":6}],"ő":6,"ü":12}],"f":[{"o":6}],"g":[{".":86,"a":[{"k":6,"t":6,"z":6}],"g":86,"i":58,"ú":58,"y":[{"a":[{"s":[{"z":3}]}]},58]}],"h":[{"í":58}],"j":[{"a":0,"á":0,"e":13,"ü":6}],"l":[{"a":[{"p":3}],"c":86,"d":[{"o":86}],"e":[{"s":12}],"i":[{"s":71},0],"l":[{".":86,"í":86,"u":86}],"m":[{"o":86}],"y":117}],"m":[{".":0,"a":[{"l":6}],"e":13,"í":58,"ü":6}],"n":[{"a":[{"c":6,"l":6,"p":6,"t":12},10],"á":[{"s":6}],"c":[{"s":[{"e":11,"i":11,"ö":18}]}],"d":8,"e":12,"g":[{"y":[{".":47}]}],"i":[{"g":6,"o":12,"s":6,"z":58}],"o":[{"l":6}],"ó":13,"s":[{"z":75}],"t":[{"r":9},10],"ú":12,"ü":6,"y":[{"a":[{"n":23,"r":6,"s":24}],"e":23,"é":[{"r":[{"d":6,"z":6}]}],"i":[{"j":6}],"k":[{"á":26}],"ö":6}]}],"p":[{"o":6}],"r":[{"a":[{"d":6,"g":12,"j":12,"m":58,"n":13,"r":6,"s":6,"t":[{"o":9,"t":9},31],"v":12,"z":58}],"á":[{"g":6,"l":12,"z":13}],"e":[{"m":9,"s":9,"t":9},31],"é":[{"t":[{"e":9}]}],"i":[{"f":6,"p":13,"s":[{"k":12,"m":12}],"z":12}],"í":6,"n":[{"y":[{"é":86}]}],"o":[{"l":12,"p":6,"s":[{"t":9,"z":12}]}],"ó":[{"r":12},10],"ö":6,"ő":6,"s":8,"t":[{"r":9}],"u":[{".":47,"d":86,"g":6,"h":58,"l":[{"á":58,"ó":58}],"r":86,"s":47,"t":[{"a":9,"u":9}]}],"ú":[{"r":6,"t":6}],"ü":6,"ű":6}],"s":[{".":0,"a":[{"d":13,"l":6,"t":[{"á":47}]}],"á":[{"g":13,"r":[{"a":[{"d":12}],"n":12}],"s":58,"t":[{"o":13}]}],"e":13,"i":[{"m":12,"s":6}],"í":6,"o":[{"r":6}],"ó":[{"r":8},6],"ö":6,"ő":6,"s":[{"z":[{"é":20,"ü":20}]}],"t":[{"r":9},10],"u":[{"t":6}],"ü":13,"ű":6,"z":[{"a":[{"l":6,"s":6,"t":[{"l":6}],"v":21}],"á":[{"l":24}],"e":23,"i":[{"s":6,"t":6}],"í":6,"k":[{"á":86,"é":[{"s":[{"z":65}]}]}],"o":[{"k":[{"t":[{"a":24}]}]}],"ó":[{"l":24,"n":21}],"ö":[{"v":6}],"ü":6}]}],"t":[{".":0,"a":[{"d":47,"j":6,"l":[{"a":8,"j":9},62]}],"á":[{"l":6,"r":12,"t":6},10],"b":[{"o":86}],"e":[{"g":12,"l":13,"m":13,"n":6}],"é":[{"l":6,"r":[{".":12,"e":12},10]}],"f":[{"e":47}],"g":86,"h":[{"a":86}],"i":[{"l":6,"s":6,"z":6}],"í":58,"m":[{"é":48}],"o":[{"l":[{"d":[{"a":12}]}]}],"ó":[{"r":6},10],"ö":102,"ő":6,"t":[{"ű":86}],"ü":87,"v":[{"i":48}]}],"v":[{"a":0,"ó":54}],"z":[{"a":[{"d":13,"k":[{"n":9,"t":9}],"l":13,"r":6,"t":13,"v":12}],"á":[{"r":[{".":12,"á":12,"e":9,"h":12,"k":12,"n":12,"o":13,"r":12,"t":12,"u":6}],"s":[{"o":[{"s":58}]}]}],"e":13,"i":[{"g":[{"a":12},10],"m":6,"p":13,"s":13,"z":12}],"í":6,"ö":6,"ő":6,"s":[{"p":20,"t":[{"a":20,"e":20}],"u":[{"g":20}],"ú":6,"ü":20,"z":20}],"ü":6}]},53],"b":[{"e":[{"á":10}],"é":[{"l":[{"á":11}],"r":[{"e":[{"m":11}]}]}],"l":[{"a":6,"e":6,"o":6,"ú":6}],"r":[{"a":6,"i":6,"o":6,"u":6}]}],"c":[{"s":[{"a":[{"p":[{"á":[{"g":30},26]}]}]}]}],"d":[{"a":[{"u":11}],"e":[{"l":[{"l":5}],"p":8}],"é":[{"k":51,"r":[{".":52}]}],"i":[{"n":[{"a":[{".":5}],"á":[{"b":5,"h":5,"r":5,"t":5,"v":5}]}]}],"r":[{"á":54,"e":6,"o":6}],"t":[{"r":19}],"z":[{"ö":55}]}],"e":[{"a":[{"c":11,"g":11,"l":11}],"á":[{"r":11}],"b":[{"e":0}],"c":[{"e":[{"t":54}],"i":117}],"d":[{"d":[{"z":48}],"é":[{"n":[{"n":47,"y":47}]}],"z":[{"e":6,"é":6,"i":6,"ő":6}]}],"f":[{"f":86}],"g":[{"e":47,"é":58,"o":[{"m":71}],"y":[{"e":6,"é":6,"o":6,"ü":58}]}],"h":[{"e":[{"s":6,"t":6}],"ü":58}],"j":[{"t":86}],"k":[{"e":[{".":58,"i":58,"k":58}],"é":[{"é":58,"j":6,"k":6,"s":[{".":58}]}],"l":[{"i":19}],"s":86}],"l":[{".":117,"a":[{"d":48,"g":6,"p":117,"s":6}],"á":[{"l":6,"r":12}],"c":[{"s":86}],"d":[{".":71,"o":86,"ö":86}],"e":[{"f":6,"g":[{"i":6,"y":48}],"k":[{".":117}],"m":[{"é":62,"i":6,"k":62,"m":58,"z":58}],"n":[{"d":71,"g":12,"y":12},10],"s":[{"t":[{"e":9}]}],"v":6}],"é":[{"g":6,"s":[{"b":117,"e":[{"k":117,"n":117}],"é":[{"n":117,"r":117}],"h":117,"i":[{".":117}],"k":117,"r":[{"ő":117}],"s":117,"t":[{"ő":117}],"ü":117,"z":[{".":71,"ő":71,"ü":71,"v":71},86]}]}],"h":[{"e":[{"l":86,"s":117,"t":117}]}],"i":[{".":117,"k":117,"n":[{"t":9}]}],"j":[{".":117,"e":117,"é":117,"ü":117}],"k":[{"ü":86}],"l":[{"e":[{"n":[{"ő":47}]}]}],"m":[{"é":86}],"n":[{"e":[{"v":86}],"é":[{"n":117}],"i":117}],"o":[{"s":58}],"ö":6,"ő":[{".":117,"b":[{"b":[{"r":6}],"e":117,"é":71,"i":71,"o":71,"ő":117}],"c":117,"e":117,"é":117,"g":117,"h":117,"j":[{"a":71,"é":117,"o":117,"ü":117,"ű":117}],"k":[{".":117,"a":117,"b":117,"e":[{"l":6,"r":117,"t":117,"z":117}],"é":[{".":71,"n":117,"s":86}],"h":117,"i":117,"k":117,"l":71,"n":117,"ö":117,"ő":71,"r":117,"t":71,"u":71,"ü":71}],"l":58,"m":86,"n":[{".":117,"a":71,"e":117,"é":117,"k":117,"ö":71,"y":[{"i":71}]}],"o":117,"ö":71,"ő":117,"p":117,"r":[{"e":[{".":0}],"é":[{"s":117}],"o":71,"ő":117}],"s":[{".":117,"á":71,"o":71,"ö":71,"z":[{"a":117,"e":71,"é":71,"i":71,"ó":71,"ö":6}]}],"t":[{".":117,"á":117,"é":86,"ő":117,"ü":71}],"ü":71,"v":[{"á":117,"e":117,"é":117,"i":[{"s":71,"z":71}]}],"z":58}],"s":[{"ő":48,"z":[{".":117,"á":86,"o":86}]}],"t":[{".":117,"e":[{".":71,"k":117,"m":117,"s":71,"t":[{"t":[{".":86,"n":86}]}]}],"é":[{"b":71,"k":117,"l":71,"r":86,"t":71}],"o":86,"ű":86}],"ü":[{"l":6,"n":117}],"v":[{".":86,"b":86,"e":[{"n":86}],"é":[{"t":86}],"h":86,"n":86,"o":86,"r":86,"ű":86,"v":86}],"y":[{"e":[{"g":23}],"i":[{"d":6}]}]}],"m":[{"a":[{"n":6}],"b":[{"e":[{"r":86}],"l":86}],"e":[{"l":[{"é":47,"k":47,"l":25,"ő":47},54]}],"é":[{"s":58}],"l":86,"o":[{"c":6}],"p":86}],"n":[{"a":[{"d":12,"r":6,"s":12,"u":6},10],"á":[{"l":12,"r":6,"t":6}],"d":0,"e":[{"g":12,"r":[{"á":71,"e":6,"g":47}],"s":[{"z":12}],"v":[{"e":[{"t":13,"z":13}]}]}],"é":[{"k":[{"é":12,"n":12,"t":12},10]}],"i":[{"d":30,"n":12,"s":12}],"k":8,"n":[{"i":48,"ü":48,"y":[{"a":20}]}],"o":[{"p":6,"r":12,"s":12}],"s":[{"é":[{"r":[{"t":11}]}],"s":27}],"t":[{"r":9},10],"u":[{"r":12}],"y":[{"e":0,"h":86,"v":48}],"z":86}],"o":[{"b":6,"c":6,"f":6,"k":6,"m":6,"r":[{"g":[{"i":[{"a":6}]}]}],"t":6}],"ó":[{"r":11}],"p":[{"e":[{"d":6,"r":6}],"é":[{"s":6}],"i":47,"o":[{"s":6}]}],"r":[{"a":[{"b":6,"d":12,"j":12,"l":6,"n":13,"p":13,"s":12,"u":6}],"á":[{"b":6,"g":13,"l":[{"l":9}],"r":[{"a":12},10],"t":6}],"d":[{"e":48}],"e":[{"b":117,"d":[{"m":47}],"g":[{"e":48,"y":9},6],"j":58,"l":[{"ő":[{"k":13}]}],"m":[{"l":12}],"n":[{"y":12}],"r":12,"s":[{"z":6}],"v":13}],"é":[{"j":6,"k":12,"l":[{"e":9,"é":8},6],"p":12,"t":[{"t":12}]}],"i":[{"n":[{"a":13,"g":12}],"p":13,"s":11,"z":12}],"o":[{"g":6,"r":6,"s":[{"z":9}],"t":6}],"ó":6,"ö":[{"k":6,"n":12}],"ő":[{".":48,"k":48,"v":48,"z":9},6],"u":[{"r":6},10],"ü":[{"g":13,"l":[{"d":9,"é":13}]}]}],"s":[{".":0,"á":12,"c":5,"d":10,"e":[{"b":0,"i":117,"l":13,"m":[{"b":12}],"n":[{".":0,"d":6}],"r":102,"t":[{"b":58,"e":[{"t":58}],"é":58,"l":6,"r":58,"t":58}]}],"é":[{"l":86,"s":58}],"i":[{"k":54}],"k":[{"ü":47}],"l":[{"e":[{"g":22}]}],"n":[{"i":48}],"ő":58,"r":0,"s":[{"é":[{".":117,"g":117}]},10],"t":[{".":0,"e":86,"é":86,"i":86,"j":86}],"v":[{"é":48}],"z":[{"e":[{"k":58,"s":6,"t":6}],"l":48,"m":86}]}],"t":[{"a":[{"k":12,"l":6,"n":[{"y":13}],"p":9,"s":12}],"e":[{"g":[{"y":8}],"t":[{"ő":[{"n":58}]}]}],"é":[{"k":13,"l":[{"e":9},10],"r":[{".":12,"ü":13}],"v":[{"e":[{".":13}]}]}],"ó":[{"r":12},10],"ő":[{"k":[{"é":[{"s":[{"z":65}]}]}],"r":[{"t":9}]}],"r":[{"ó":19}],"t":[{"e":[{"b":[{"b":[{"é":14}]}]}]}],"u":[{"t":6}],"ü":[{"z":13}]}],"u":[{"r":6,"s":11}],"v":[{"i":[{"c":6}],"o":[{"l":6},47],"ő":58}],"y":[{"é":5}],"z":[{"o":6,"ő":[{"a":32}],"r":86}]},53],"é":[{"b":[{"e":[{"r":6}],"r":86}],"c":[{"c":20}],"d":[{"a":13,"á":13,"e":[{"l":13,"r":13,"s":[{"z":12}]}],"i":[{"k":6,"n":6,"r":6}],"í":6,"o":12,"ö":6,"ő":13,"u":13,"ú":13,"ü":[{"l":[{"é":12}]},10],"ű":6,"z":21}],"g":[{"i":6,"ő":6,"ü":6}],"h":[{"e":[{".":58,"k":58,"n":58,"s":58,"t":58}],"h":86,"s":86}],"j":[{".":86,"é":[{"r":[{"t":6}]}],"h":86,"j":86,"s":86}],"k":[{"e":[{"i":6,"l":54,"s":[{"s":7},54],"z":54}],"s":86}],"l":[{"á":[{"l":6}],"e":[{"l":6,"s":47,"t":58,"z":58}],"é":[{"n":6}],"m":86,"v":[{"v":[{"á":26}]}],"y":[{"a":6,"á":6,"e":[{"g":6}],"o":6,"ú":6}]}],"m":[{"a":13,"á":12,"b":0,"e":[{"g":12,"l":6,"r":6}],"é":[{"r":6}],"o":12}],"n":[{"a":[{"b":6,"d":12,"g":6,"l":12,"n":12,"r":12,"t":12},10],"á":[{"r":12,"t":6},10],"d":117,"e":[{"g":6,"k":[{"e":[{"s":47}],"l":47}],"l":13,"r":13,"t":13}],"é":[{"g":13}],"i":[{"n":12}],"í":6,"n":0,"ó":6,"ö":12,"t":10,"ú":6,"ü":10,"y":[{"e":[{"g":23}],"i":[{"d":6,"s":6}],"í":[{"r":6}],"o":6,"ö":6,"ú":6},0]}],"p":[{".":71,"a":13,"á":13,"e":[{"g":13,"l":[{"l":12},71],"s":[{"é":12,"z":12}]}],"i":[{"k":6}],"í":[{"t":86},6],"o":13,"ó":6,"ö":6,"ő":6,"p":117,"t":[{"á":[{"v":32}]}],"u":12,"ú":6,"ü":[{"l":[{"é":6}]}]}],"r":[{"a":[{"g":6,"k":6,"l":6,"n":12,"p":6,"r":6,"s":6},10],"á":6,"c":[{".":86}],"d":86,"e":[{"l":12,"m":[{"l":9}],"t":47}],"é":[{".":47}],"i":[{"e":6,"n":58,"s":6}],"k":[{"á":32}],"l":47,"m":47,"o":6,"ö":6,"ő":[{".":47,"k":47}],"t":[{"e":47,"é":47,"h":47,"i":48,"j":48,"l":48,"ő":[{".":48,"e":48,"k":48,"v":48}],"s":48,"v":48}],"u":13,"ú":12,"v":[{".":86,"é":47}],"z":[{"á":71},86]}],"s":[{"a":[{"r":6}],"e":[{"g":6,"l":13}],"é":[{"g":13}],"i":[{"m":6}],"o":12,"ó":6,"s":[{"z":[{"a":20}]}],"z":[{"a":[{"v":20},6],"á":6,"í":[{"t":[{"ő":[{"ü":71}]}]}],"o":24,"ó":6}]}],"t":[{"e":[{"l":58,"r":6,"t":6}],"k":86,"o":58,"r":86,"t":86}],"v":[{".":86,"b":86,"e":[{".":58,"d":58,"i":47,"k":58,"n":58,"t":58}],"é":[{"b":6,"n":58,"t":58,"v":58}],"f":86,"i":58,"j":86,"k":86,"n":86,"r":86,"s":86,"t":86,"v":86}],"z":[{"a":[{"n":6}],"ő":[{"r":6}],"s":39}]},53],"f":[{"a":[{"l":[{"a":[{"d":[{"a":14},32]}],"e":11}]}],"i":[{"ú":[{"k":[{"é":11}]}]}],"l":[{"a":6,"o":6,"ó":6,"u":6}],"ö":[{"l":[{"ü":[{"l":[{"e":14}]}]}]}],"r":[{"a":54,"á":6,"e":54,"í":6,"o":54,"ö":54,"u":6}]}],"g":[{"a":[{"p":51,"r":[{"c":5}],"s":[{"z":[{"á":52,"ó":52}]},11]}],"e":[{"l":[{"e":[{"s":[{"t":11}]}]}]}],"é":[{"s":[{"s":27}]}],"i":[{"t":[{"a":19}],"z":52}],"o":[{"r":[{"v":5}]}],"ó":[{"n":[{"i":52},11]}],"ő":[{"s":10}],"r":[{"a":[{"f":54,"n":54}],"e":0,"o":6}],"s":[{"p":5}],"ü":[{"g":51}],"y":[{"a":[{"k":41,"l":[{"á":41}],"p":41,"r":[{"a":41,"o":9}],"t":41}],"á":[{"r":41,"v":41,"z":8}],"e":[{"l":[{"ő":8}],"n":[{"g":41}],"p":41,"r":41}],"é":[{"r":[{"ü":41}]}],"i":[{"l":41}],"o":[{"l":9,"m":41,"r":41}],"ó":41,"ö":41,"ő":41,"u":41,"ú":[{"t":118}],"ü":[{"l":[{"t":9}],"r":41}],"ű":41},0]}],"h":[{"a":[{"d":[{"e":2}],"j":[{"ó":[{"i":[{"k":[{"o":26}]}]}]}],"m":[{".":0,"b":0,"e":0,"h":0,"m":0,"n":0,"r":0,"t":0}],"s":[{"á":[{"b":[{"r":11}]}]}]}],"i":[{"a":0}],"y":53}],"i":[{"a":[{"a":6,"á":6,"b":[{"a":6,"á":6,"i":6,"o":6},8],"c":6,"d":13,"e":6,"é":6,"f":[{"r":6},9],"g":13,"h":6,"i":[{"m":6}],"í":6,"j":6,"k":[{"a":[{"r":6,"s":6}]}],"l":[{"a":6,"á":6,"é":6}],"m":6,"n":[{"ó":6,"y":6}],"o":6,"ó":6,"ö":6,"ő":6,"p":13,"r":6,"s":[{"z":[{"a":6,"á":6,"e":[{"m":6}],"é":6,"f":6,"i":6,"o":6,"ó":6},75]}],"t":[{"r":8},6],"u":31,"ú":6,"ü":6,"ű":6,"v":6,"z":6}],"b":[{"r":47}],"d":[{"e":[{"a":58,"á":58,"g":58,"i":6,"j":47,"o":58}],"é":58,"i":[{"ó":6}],"o":58,"ő":58}],"f":[{"l":5}],"g":[{"a":[{"d":9,"r":[{"a":9}],"s":[{"s":9}],"u":9,"z":47}],"á":[{"l":9}],"e":[{".":58,"c":8,"g":9,"h":9,"n":[{"g":9,"n":9}],"r":[{"e":9},10],"s":8,"t":9,"v":8}],"é":[{"h":9,"l":8,"m":9,"n":[{"e":8}],"r":8,"z":86},6],"g":20,"i":13,"í":6,"o":13,"ó":13,"ö":12,"u":12,"ú":6,"ü":12,"ű":6,"y":54}],"h":[{"a":58,"l":86}],"j":[{"e":[{"s":47}]}],"k":[{"e":[{"r":6,"s":6}]}],"l":[{"e":71,"l":48}],"m":[{"a":[{".":6,"n":6}],"á":[{"b":6,"d":47,"r":6,"z":58}],"e":[{".":6}],"p":86}],"n":[{"a":[{"p":15,"s":6}],"á":[{"z":13}],"d":86,"é":71,"f":47,"k":[{"v":86}],"n":[{"á":48,"i":48,"o":48,"u":48}],"p":86,"s":47,"t":[{"a":86,"c":71,"e":86,"é":86,"h":48,"i":48,"j":48,"ő":[{".":48}],"s":48,"u":48,"v":48}],"v":86,"z":86}],"o":[{"n":[{"e":6,"é":86,"o":6}],"t":6}],"ó":[{"a":6,"á":6,"c":6,"e":6,"f":6,"g":6,"k":[{"á":6,"o":[{"m":6}]}],"l":6,"p":12,"r":[{"á":6}],"s":[{"p":12}],"t":[{"a":6,"á":6}],"ú":6,"ü":6,"z":6}],"p":[{"a":58,"s":[{"z":[{"a":11,"á":11,"o":11}]},117]}],"r":[{"a":[{"m":6,"t":58}],"á":58,"i":[{"g":6}],"o":[{"d":6},47],"ó":[{"n":58}],"t":86}],"s":[{"c":48,"i":58,"k":86,"l":86,"m":86,"p":86,"t":[{"á":[{"l":86}],"e":86}],"z":[{"á":58,"o":58,"u":6}]}],"t":[{"a":[{"s":6}],"á":[{"c":47},0],"i":117,"t":[{"e":71,"u":48}]}],"v":[{"a":[{"d":58}],"á":[{"s":58}],"o":54,"ó":58}],"z":[{"é":[{".":58,"v":6}],"o":58}]},53],"í":[{"g":[{"é":6}],"j":[{"a":6,"á":6}],"m":[{"a":13,"á":6}],"n":[{"é":6,"y":6}],"r":[{"a":6,"á":6,"e":6,"i":6,"o":6,"ó":6}],"t":[{"é":[{"s":[{"z":54}]}]}],"v":[{"á":6,"e":6,"é":6,"o":6,"ó":6,"ü":6}],"z":[{"e":6,"ü":6,"ű":6}]},53],"k":[{"a":[{"r":[{"ó":[{"r":73}]}]}],"é":[{"p":[{"e":[{"l":2}]}]}],"i":[{"a":[{"d":[{"ó":[{"n":[{"á":27}]}]}]}],"á":10,"s":[{"s":3}]}],"l":[{"a":6,"i":6,"í":6,"o":6,"ó":6,"u":6}],"ö":[{"z":[{"é":[{"n":11,"r":14}]}]}],"ő":[{"v":[{"á":32}]}],"r":[{"a":6,"á":6,"e":6,"é":6,"i":6,"í":6,"o":6,"ó":6}],"v":[{"a":6,"ó":6}]}],"l":[{"a":[{"p":[{"l":8}],"s":[{"t":8}],"t":20}],"á":[{"s":[{"z":[{"a":11}]}]}],"e":[{"g":[{"a":2,"e":[{"l":[{"é":14},32]}]}],"í":10,"t":[{"a":2,"á":11,"e":[{"l":14}],"é":[{"r":[{"ő":[{"t":2}]}],"t":[{"n":14}]}],"o":[{"s":11}]}],"ü":10}],"é":[{"n":[{"y":[{"e":[{"l":11}]}]}]}],"o":[{"r":0,"s":50}],"ó":[{"ó":10,"s":10}],"ő":[{"r":[{"e":[{"g":11,"l":11},32],"o":11}]}]}],"m":[{"e":[{"g":[{"a":2,"e":14,"é":14}],"n":[{"s":[{"s":7,"z":10}]}]}],"u":[{"s":[{"s":27}]}]}],"n":[{"a":[{"d":[{"a":5},11],"j":51,"l":[{"k":52}],"p":[{"e":11}],"r":51}],"á":[{"b":50,"h":50,"i":50,"n":[{".":0,"á":0}],"r":[{"a":0}],"s":[{"z":4}],"t":[{".":0,"ó":0}],"v":50}],"b":[{"r":5}],"e":[{"i":11,"l":51,"m":[{"e":[{"l":2}]}],"s":[{"i":[{"r":11}],"s":27,"z":[{"á":11}]}],"t":[{"o":7}]}],"é":[{"l":[{"e":52},11],"v":[{"a":3,"á":14}]}],"i":[{"g":[{"a":52},11],"n":[{"g":52}],"p":51,"r":51,"s":52,"t":[{"a":15,"e":[{"l":11}]}]}],"o":[{"k":[{"t":52}],"l":[{"t":5},0],"r":[{"a":50,"e":50,"é":50}]}],"ö":[{"k":5,"s":5}],"p":[{"r":5}],"s":[{"k":19,"t":5}],"t":[{"r":19}],"ú":[{"j":0}],"ü":[{"g":5,"z":5}]}],"o":[{"á":[{"z":6}],"b":[{"e":6,"j":86}],"d":[{"ú":58}],"e":[{"t":6}],"k":[{"a":[{".":54,"d":8,"i":54,"l":88}],"á":58,"i":[{"r":9},10],"l":[{"á":32}],"m":86,"o":[{"k":54,"s":58,"t":54,"z":58}],"t":[{"a":86}]}],"l":[{"a":[{"j":58,"l":13}],"d":[{"a":86,"á":86,"ó":86}],"f":[{"a":14,"e":14,"i":[{"n":11}]}],"i":[{"m":6}],"ó":[{"r":[{"á":13}]}],"t":[{"a":[{"l":[{"o":47}]}],"á":[{"r":86,"s":86}],"ó":[{".":86}],"v":86}],"v":[{"a":[{"d":47,"s":47}]}]}],"m":[{"a":[{"s":12}],"b":[{"á":[{"r":[{"n":14,"t":14}]}],"e":2},117],"e":117,"l":86}],"n":[{"a":[{"t":[{"o":13}]}],"á":[{"l":[{"l":12}]}],"c":[{"c":27}],"d":[{"á":2,"é":[{"r":[{".":14}]}],"i":[{"k":11},32],"o":[{"k":[{"s":11}],"r":14}],"ó":11}],"e":13,"g":[{"a":14,"á":[{"l":11}]}],"o":[{"l":6},0],"t":[{"o":86}],"ü":6,"y":[{"e":6}]}],"o":[{"d":6}],"p":[{"á":6,"e":58}],"r":[{"a":[{"s":[{"s":9,"z":26}],"t":15}],"á":[{"l":[{"l":9}]}],"c":86,"e":[{"l":12}],"i":[{"e":47}],"m":86,"o":[{"z":6}],"ö":6,"z":47}],"s":[{"e":6,"ö":6,"t":[{"o":47,"r":86,"y":48}],"ü":6,"z":[{"a":21,"á":21,"ó":6}]}],"u":[{"a":6,"b":6,"d":6,"r":6,"t":6}],"v":[{"á":[{"c":6}],"e":58}],"x":[{"i":6}],"y":[{"a":5,"á":5}]},53],"ó":[{"a":[{"d":11}],"á":[{"g":11,"r":11}],"b":[{"l":5}],"c":[{"h":21,"o":[{"l":12}],"s":[{"a":[{"p":[{"á":[{"g":43},33]}]}]}],"ü":6}],"d":[{"á":[{"n":58}],"i":[{"v":6}],"r":[{"u":5}]}],"f":[{"r":19}],"í":[{"v":11}],"k":[{"l":5,"r":[{"é":5}]}],"l":[{"a":[{"r":6}],"e":[{"l":[{"ő":9},10]}],"é":[{"h":13}],"í":6,"ü":6}],"n":[{"u":58}],"ó":[{"r":11}],"p":[{"l":19,"r":19}],"r":[{"a":[{"d":54,"s":54}],"á":[{"k":[{"a":6}],"r":6}],"o":117}],"s":[{"a":[{"j":12},117],"k":[{"á":19}],"p":19,"r":[{"á":19}],"s":20,"t":[{"a":19,"á":5,"r":5}],"z":[{"á":[{"m":21,"r":[{"a":[{"s":21}],"á":21,"ú":20}]}]},42]}],"t":[{"a":[{"u":6}],"i":[{"s":12}],"r":[{"é":5,"i":5}]}],"v":[{"a":[{"l":117}],"o":[{"d":47}],"ó":58,"u":6}],"z":[{"á":117,"i":117,"o":117,"u":117}]},53],"ö":[{"b":[{"l":86}],"k":[{"o":58,"u":6}],"l":[{"á":58,"b":86,"e":54,"r":86}],"m":[{"b":[{"a":14,"e":[{"l":11,"r":14},32]},117],"l":86}],"n":[{"a":58,"á":54,"e":6,"ö":6,"t":47}],"r":[{"a":6,"b":117,"c":[{"s":[{"a":11,"á":11,"e":[{"l":11}],"ő":11}]},117],"d":[{"í":71,"ü":71}],"e":58,"g":117,"n":117,"ö":[{"k":6}],"ü":54,"v":47}],"s":[{"é":[{"n":12},10],"s":[{"z":86}],"z":86}],"t":[{"l":86}],"v":[{".":48,"b":48,"e":54,"é":54,"h":48,"n":48,"ö":54,"r":48,"t":48,"ü":54,"ű":54,"v":48}]},53],"ő":[{"a":[{"n":11}],"á":[{"g":11}],"b":[{"r":5}],"e":[{"l":11,"r":11}],"é":[{"b":11}],"f":[{"r":5}],"g":[{"l":5,"ő":13}],"i":[{"t":[{"a":11}]}],"k":[{"l":5,"v":5}],"n":[{"y":[{"á":32}]}],"p":[{"l":5,"r":5}],"r":[{".":86,"b":48,"h":48,"i":[{"t":0,"z":6}],"j":86,"k":48,"l":86,"n":48,"ö":[{"k":6}],"r":86,"s":48,"t":48,"ü":58,"z":[{"ő":[{"s":[{"ö":71}]}]},86]}],"s":[{"e":[{"p":12}],"i":[{"b":6}],"p":[{"i":5}],"t":[{"a":5}],"ü":[{"v":13}]}],"t":[{"r":5}],"u":[{"t":11}],"ü":[{"l":11}],"z":[{"á":[{"t":6}],"e":[{"g":6,"k":13,"l":13}],"o":12,"ő":[{"s":10}],"s":[{"ö":6,"u":21,"ű":21}],"ú":6}]},53],"p":[{"e":[{"c":[{"h":4}],"l":[{"u":19}]}],"i":[{"a":[{"c":[{"i":[{"o":17}]}]}]}],"l":[{"a":6,"á":6,"e":6,"u":6}],"o":[{"n":[{"g":[{"a":10}]}],"r":[{"e":11}]}],"r":[{"a":6,"á":6,"e":6,"é":6,"i":6,"í":6,"o":6,"ó":6,"ű":6}],"s":[{"z":6}]}],"r":[{"a":[{"f":[{"f":53,"o":7}],"m":[{"a":[{"d":11,"j":11,"l":11,"r":2,"s":14,"z":15}],"á":2,"e":2,"é":[{"r":[{"t":[{"é":14}]}]}],"i":[{"k":11,"n":14,"s":14}],"m":[{"j":53}],"u":[{"t":11},32]}],"p":119,"v":[{"í":50}]}],"á":[{"c":[{"s":[{"i":44}]}],"f":[{"a":[{"n":120},32],"b":50,"e":2,"f":[{"e":50}],"i":[{"d":53}],"l":50,"t":50}],"l":[{"á":[{"t":11}],"e":2}],"n":[{"á":0,"d":3,"i":0}],"r":[{"á":11,"i":[{"p":2}]}],"s":[{"z":[{"a":4}]}]}],"e":[{"e":11,"n":[{"d":[{"ő":17}]}]}],"i":[{"l":[{"l":[{"a":30}]},0],"s":[{"á":14,"s":27,"ü":[{"t":11},32]}]}],"í":[{"z":0}],"ó":[{"a":10,"á":10,"f":[{"a":14,"ú":11}],"p":9}],"u":[{"p":50}]}],"s":[{"á":[{"g":[{"g":3}]}],"é":[{"g":[{"e":[{"l":11}]}]}],"h":[{"o":6}],"k":[{"a":6,"á":6,"o":6,"r":11}],"l":[{"a":6,"á":6,"i":6}],"m":[{"á":6,"i":6,"u":6}],"n":[{"á":6}],"o":[{"k":[{"o":14}],"r":[{"s":[{"s":38}]}]}],"p":[{"a":6,"á":6,"e":6,"é":6,"i":6,"o":6,"ó":6,"r":11}],"r":[{"á":6}],"t":[{"a":54,"á":6,"e":6,"é":6,"i":54,"í":54,"o":10,"r":[{"a":48,"u":48},11],"u":6,"ú":54}],"u":[{"g":[{"á":32}]}],"v":[{"é":6}],"z":[{"a":[{"k":[{"é":10,"ü":30}]}],"á":[{"l":[{"a":[{"d":[{"a":30},26]}],"i":10}],"r":[{"a":[{"d":[{"a":17}]}]}]}],"c":76,"é":[{"t":10}],"f":76,"k":76,"l":76,"m":11,"p":76,"t":[{"á":76},10]}]}],"t":[{"a":[{"g":[{"a":[{"r":14}],"g":3}],"n":[{"ó":2}]}],"á":[{"r":[{"a":[{"d":[{"a":14},32]}]}]}],"e":[{"r":[{"m":[{"o":[{"s":[{"z":78}]},22]}]}]}],"é":[{"r":[{"á":11}]}],"i":[{"m":11}],"r":[{"a":6,"á":6,"e":6,"é":6,"i":6,"o":6,"ó":6,"ö":6,"u":6,"ü":6}],"ű":[{"z":[{"ő":[{"r":2}]}]}]}],"u":[{"a":[{"t":6,"y":6}],"b":[{"o":58}],"e":[{"l":6,"r":31}],"g":[{"a":54,"g":117,"o":54,"r":86}],"i":[{"d":6,"n":6,"r":6}],"j":[{"j":86}],"l":[{"a":[{"t":[{"e":10,"í":30}]}]}],"n":[{"á":6,"i":58,"ó":6,"u":6}],"r":[{"í":117}],"s":[{"a":[{"b":[{"l":9}],"d":6,"n":13,"s":6,"t":6,"v":12}],"á":[{"l":6}],"e":13,"é":[{"r":[{"t":[{"é":12}]}]}],"i":[{"l":6,"s":6}],"í":12,"o":[{"l":6,"r":6}],"ó":13,"ö":6,"ő":6,"s":[{"z":32},39],"t":10,"ü":6,"z":[{"á":6,"s":20}]}],"t":[{"a":[{"c":6,"k":6,"l":6,"m":6,"n":6,"s":6,"t":6,"z":6}],"c":86,"ó":[{"d":[{"o":[{"k":[{"u":17}]}]}]},58],"u":58}],"y":[{"a":5}]},53],"ú":[{"j":[{"a":6,"í":6,"u":6}],"n":[{"y":[{"e":24,"í":23}]}],"r":[{".":86,"é":6,"i":6,"n":86,"o":6}],"s":[{"z":58}],"t":[{"a":100,"á":88,"b":86,"c":86,"d":86,"e":88,"é":58,"f":86,"g":86,"h":86,"i":[{".":58,"a":58,"g":58,"h":58,"j":47,"k":[{"o":47}],"n":[{"a":58,"á":47}],"r":47,"s":6,"t":58,"v":58,"z":47}],"j":86,"k":86,"l":86,"m":86,"n":86,"o":58,"p":86,"r":86,"s":86,"t":47,"v":86,"z":86}],"z":[{"i":6}]},53],"ü":[{"c":[{"s":6}],"d":[{"é":6,"í":6,"ü":6}],"g":[{"e":6,"y":[{"é":[{"r":[{".":3}]}],"i":58,"l":86,"v":86}]}],"l":[{"d":86,"e":[{"n":6,"p":6}],"i":[{"k":6}],"ö":[{"m":6}]}],"n":[{"n":86}],"r":[{"c":117,"e":58,"i":117,"í":58,"ü":58}],"t":[{"e":6,"é":6,"i":6,"ö":6,"ő":6,"ü":6}],"v":[{"e":6,"ö":6}],"z":[{"e":6,"é":6}]},53],"ű":[{"r":[{".":86,"b":86,"e":10,"h":48,"i":6,"j":86,"l":86,"m":86,"n":86,"ö":58,"t":86,"u":6,"ü":6}],"z":[{"e":6,"é":6,"i":6,"ö":6,"ő":6}]},53],"v":[{"a":[{"s":[{"u":2}]}],"á":[{"g":[{"y":[{"a":[{"d":[{"a":18}]}]}]}],"n":[{"y":[{"a":[{"n":11}]}]}],"s":[{"s":3}]}],"e":[{"r":[{"é":[{"s":[{"s":67}]}]}],"z":[{"é":[{"r":[{"e":[{"l":32}]}]}]}]}],"é":[{"n":[{"y":[{"e":[{"l":11}]}]}]}],"i":[{"n":[{"a":11}]}],"ó":[{"s":8}]}],"y":[{"a":[{"b":[{"l":5}],"c":[{"é":93}],"d":[{"a":[{"g":47,"l":11,"t":[{"b":47}]}],"ó":[{"t":19}]}],"g":[{".":47,"b":47,"e":11,"é":[{"p":11}],"g":47,"h":47,"i":[{"s":11}],"k":47,"n":47,"o":[{"l":14}],"t":47,"y":[{"a":47,"u":19}]}],"j":[{"a":77}],"k":[{"c":77,"n":[{"á":[{"k":47}]}],"t":[{".":47,"u":47}]}],"l":[{"a":[{"j":11,"k":[{"t":3}],"p":[{"o":11,"p":11}],"t":5}],"á":[{"í":47}],"e":[{"l":11}],"i":[{"k":11}]}],"n":[{"a":[{"b":3}],"e":14,"y":[{"a":93,"á":19}]}],"p":[{"a":[{"k":11}],"á":[{"h":19,"i":47,"k":47,"m":47,"n":93,"s":19,"t":[{"ó":47}]}],"j":[{"á":47}],"ó":[{"n":11,"r":11}],"p":47,"s":5}],"r":[{"a":[{"n":5,"w":47}],"d":[{"o":[{"m":47}]},32],"e":[{"l":11}],"g":[{"ó":5}],"i":71,"ó":[{"n":14,"r":2,"v":11}],"ú":47}],"s":[{"a":[{"k":47,"t":47}],"r":[{"a":47}]}],"t":[{"y":47}],"z":[{"á":47}]},53],"á":[{"b":[{"r":47}],"g":77,"l":[{"c":5,"l":5,"m":5}],"m":71,"p":77,"r":[{"e":47,"f":47,"o":[{"k":93}],"u":[{"s":47}],"ú":77}],"s":[{"z":[{"ó":11}]}],"t":[{"a":47,"k":47,"l":5,"v":47}]},53],"b":[{"l":5,"r":5}],"d":[{"r":5}],"e":[{"d":[{"ő":[{"s":14}],"z":93}],"g":[{"e":19,"é":19,"y":[{"e":19}]}],"k":[{"e":[{".":47}],"é":[{"s":93}]}],"l":[{"e":[{"g":[{"y":11},47],"m":[{"ű":47}]}],"n":[{"ö":47}],"t":[{"é":[{"r":47}]}],"v":[{"á":77,"ű":5}]}],"m":[{"b":[{"l":47}],"e":[{"l":93}],"l":5}],"n":[{"g":[{"e":[{"t":47}]}],"y":93,"z":47}],"p":[{"a":[{"l":11}]}],"r":[{"d":77,"e":[{"d":19,"j":47,"s":19}],"é":[{"n":11}],"n":77,"o":47,"ő":93,"s":77}],"s":[{"e":[{"g":11}],"é":[{"l":47}],"g":47,"ő":19,"t":[{"e":77,"é":[{"s":47}],"i":77,"ű":47}],"z":[{"ü":11}]}],"t":[{"e":[{"m":47,"t":47}]}],"z":[{"m":47,"r":[{"e":[{"d":[{"e":47}],"l":47}]}],"s":47}]},53],"é":[{"b":[{"r":47}],"g":77,"h":[{"e":[{"s":47}],"s":47}],"j":[{"i":47}],"k":[{"e":[{".":19,"s":19}]}],"l":[{"e":93,"t":77,"v":5}],"m":71,"n":[{"e":[{"k":[{"e":47}]}],"i":47}],"p":77,"r":[{".":47,"d":77,"e":[{"m":77,"z":47}],"é":[{"t":11}],"g":5,"h":77,"i":93,"í":71,"k":[{"e":5}],"m":77,"n":47,"r":47,"t":[{"e":77,"é":77,"ő":5}],"v":77,"z":77}],"t":[{"é":77,"k":47}],"v":[{".":47,"a":[{"d":47}],"b":47,"e":[{".":47,"i":47,"k":47,"n":47,"s":47,"t":47}],"h":47,"i":47,"n":47,"r":47,"t":47,"ü":47,"v":47}]},53],"f":[{"l":5,"r":19}],"g":[{"l":5,"r":5}],"i":[{"d":[{"e":77,"é":47,"ő":47}],"g":[{"a":47,"á":47,"e":77,"é":93,"m":47}],"h":[{"a":5}],"k":[{"e":[{"r":47}]}],"l":[{"l":77}],"m":[{"á":47}],"n":[{"d":47,"f":47,"g":77}],"p":[{"a":77}],"r":[{"a":[{"t":93}],"á":47,"o":77,"t":47}],"s":[{"h":47,"k":5,"m":47,"n":77}],"t":[{"a":77}],"v":[{"ó":47}],"z":[{"g":47,"o":93}]},53],"í":[{"g":77,"r":93,"v":77,"z":5},53],"k":[{"l":5,"r":19,"v":5}],"m":[{"á":[{"s":[{"s":7}]}]}],"o":[{"k":[{"o":[{"s":47}]}],"l":[{"d":77,"v":[{"a":[{"s":47}]}]}],"m":[{"a":[{"s":14}],"i":11}],"p":[{"e":47}],"r":[{"c":77,"m":5,"s":[{"ó":47}],"v":77}],"u":5},53],"ó":[{"d":[{"á":[{"r":47,"s":[{"a":[{"k":47}]}]}]}],"r":[{"á":19,"i":47}]},53],"ö":[{"b":77,"d":[{"é":5}],"k":[{"l":77}],"t":[{"ö":[{"d":[{".":47,"d":47,"e":47,"é":47,"n":[{"e":47}],"ö":[{"t":47}],"r":47,"ü":47}]}],"t":47,"v":47}],"v":47,"z":[{"ö":[{"n":47}]}]},53],"ő":[{"r":[{"e":5,"ü":5}],"s":93,"z":71},53],"p":[{"á":[{"r":[{"b":[{"a":33}]}]}],"e":[{"n":7}],"l":5,"r":5,"s":5}],"r":[{"ö":[{"v":[{"i":[{"d":28}]}]}]}],"s":[{"c":5,"k":5,"l":5,"m":5,"n":5,"p":5,"r":5,"t":19,"u":[{"r":6}]}],"t":[{"r":19}],"u":[{"d":77,"g":77,"j":77,"n":[{"d":47,"i":47}],"r":[{"a":93,"á":47,"u":47}]},53],"ú":[{"d":47,"é":47,"i":47,"j":[{"í":47,"r":47,"s":47}],"m":47,"r":[{"b":47,"é":47,"i":47,"k":47,"r":47}],"t":[{"i":5}],"ü":47},53],"ü":[{"d":77,"g":47,"l":[{"e":71}],"m":71,"n":[{"n":47}],"r":[{"e":47,"ü":47}],"s":[{"t":5},47],"t":47,"v":[{"e":5},47],"z":77},53],"ű":[{"l":71,"r":[{"é":[{".":47}]}],"z":93},53],"z":[{"r":5}]},0],"z":[{"a":[{"t":[{"á":[{"p":11}],"e":14,"ö":11,"ű":2}]}],"á":[{"r":[{"ó":[{"r":2}]}],"s":[{"e":11,"s":27}]}],"e":[{"t":[{"a":2,"á":2,"e":[{"l":14}],"i":[{"n":11}],"o":14,"ő":2}]}],"ő":[{"a":10}]}]}],"h":[{".":47,"a":[{"a":[{"d":11}],"b":[{".":71,"a":[{"k":6,"l":13,"n":13}],"á":[{"g":12,"r":[{"b":12}]}],"e":[{"d":6}],"é":[{"r":[{".":12}]}],"i":[{"d":6,"l":[{"l":9}],"m":12,"n":[{"a":[{".":13}],"t":12}]}],"o":[{"l":[{"d":9}],"r":[{"a":8,"r":9}],"s":[{"t":12}]},71],"s":[{"z":9}],"u":[{"r":10}],"ü":6}],"d":[{"a":[{"g":12,"l":[{"k":9}],"p":12,"s":[{"z":12},10]}],"á":[{"c":13,"l":12,"s":[{"s":7,"v":12,"z":[{"o":13}]}]}],"e":[{"g":6,"l":12,"m":6}],"é":[{"l":6}],"i":[{"a":32,"é":32,"n":[{"a":12},10]}],"o":[{"r":6,"s":6}],"u":[{"r":13}],"ú":[{"r":[{".":12,"é":13,"h":12,"i":13,"k":12,"n":12,"r":12,"t":12}],"s":6}],"ü":6,"z":[{"a":6,"á":21}]}],"e":[{"r":11}],"f":[{"l":5,"r":19}],"g":[{"o":[{"r":[{"e":47}]}]}],"i":[{"f":6}],"j":[{"á":[{"s":13,"t":[{"o":13}],"z":6}],"i":[{"n":12}],"k":8,"o":[{"m":[{"l":9}]}],"ö":6,"ő":6,"s":9,"t":[{"r":8}],"ü":6}],"k":[{"á":[{"l":12}],"l":[{"i":19}],"r":19,"t":48,"v":19}],"l":[{"a":[{"c":[{"h":12}],"g":13,"j":12,"l":13,"n":[{"y":9},10],"r":13,"s":[{"z":[{"a":12,"á":12,"ó":12},10]}],"t":[{"k":12,"o":[{"m":13}],"t":12}]}],"á":[{"c":[{"s":8}],"g":13,"l":[{"e":17}],"r":[{"a":[{"k":8}],"á":8,"b":12,"o":13,"r":12,"v":[{"e":9}]}],"t":[{"e":9}]},71],"e":[{"b":6,"c":6,"g":[{"y":8}],"l":[{"e":9,"ő":9},10],"m":6,"n":12,"p":[{"e":9}],"s":[{"e":12,"ő":13}],"t":[{"e":9,"o":8}],"v":[{"o":9,"ő":8}],"z":6}],"é":[{"l":13,"r":[{".":12}],"t":[{"e":12,"k":12,"t":12}]}],"i":[{"d":6,"k":12,"m":13,"n":[{"g":12,"v":12}],"o":[{"n":[{"o":13,"t":13}]}],"p":6,"s":[{"z":9},10],"v":12,"z":13}],"í":6,"k":[{"a":[{"p":[{"u":2}]}],"e":[{"l":[{"e":14},43]}]}],"l":[{"a":[{"s":[{"z":[{"t":14}]}]}],"á":[{"s":[{"s":22}],"t":2}],"é":[{"j":11}],"y":20}],"m":[{"a":[{"z":[{"ó":64}]}]},71],"o":[{"l":12}],"ó":[{"r":[{"i":13}]}],"ö":12,"ő":13,"p":8,"u":[{"g":12,"s":13,"t":13}],"ü":6,"ű":6,"y":[{"a":21}]}],"m":[{"á":[{"l":12,"r":[{"b":12}]}],"b":10,"e":[{"l":[{"e":9},10],"s":[{"z":9}],"z":6}],"i":[{"s":[{"m":9}]}],"k":[{"é":[{"s":[{"z":28}]}]}],"o":[{"s":[{"z":12}]}],"u":71,"ü":6}],"n":[{"á":[{"s":[{"s":7}]}],"c":[{"h":11}],"é":[{"s":[{"z":47}]}],"g":[{"a":[{"l":11}],"e":[{"n":11,"s":14},32],"é":[{"l":11}],"g":27,"ó":2,"ö":11,"u":[{"t":11}]},71],"t":[{"ó":2}],"y":[{"é":[{"l":6}]}]}],"ó":[{"r":11}],"p":[{"r":19}],"r":[{"a":[{"g":[{"ó":17}],"n":[{"g":[{"g":22}]}]}],"á":[{"l":12}],"c":[{"a":[{"l":14,"n":11}],"c":27,"e":2,"h":4}],"e":[{"l":6,"t":6}],"m":[{"ó":71}],"o":[{"l":12,"s":[{"z":12}]}],"ó":[{"r":12}],"ű":6}],"s":[{"a":71,"á":[{"g":[{"g":7}]}],"i":[{"z":12}],"o":[{"l":12,"r":[{"s":9}]}],"p":[{"e":19,"o":19}],"ú":[{"t":34}],"ü":[{"r":6}],"ű":13,"z":[{"p":5}]}],"t":[{"a":[{"b":12,"g":[{"y":9}],"j":12}],"á":[{"r":[{"a":[{"d":[{"a":7},26]}]}]},71],"e":[{"v":13}],"é":[{"n":12,"v":13}],"í":[{"v":13}],"o":[{"l":[{"d":[{"a":9}]}],"s":[{"z":12}]}],"ó":[{"r":[{"á":12}]}],"ö":[{"v":13}],"r":[{"á":19}],"t":[{"r":9},10],"ü":[{"l":6}]}],"u":[{"e":6,"n":11,"s":11,"t":6}],"ü":[{"z":11}]},53],"á":[{"b":[{"o":71}],"g":[{"y":6}],"j":[{"ú":[{"s":6}]}],"m":[{"a":[{"l":12},10],"á":12,"e":13,"i":[{"s":12},10],"o":[{"l":12}],"ö":6}],"n":[{"c":[{"s":[{"e":44,"i":11}]}],"y":[{"a":[{"l":23,"n":32,"r":24}],"á":[{"s":[{"s":22}]}],"e":23,"ö":6}]}],"r":[{"a":[{"d":12,"l":12,"u":12},10],"i":[{"v":12},10],"í":71,"k":8,"m":[{"a":[{"s":[{"s":22}]}]}],"o":[{"m":[{"a":30,"o":10}]}],"s":[{"a":[{"l":14}],"e":11}],"t":71,"ü":6,"y":5}],"s":[{"í":6,"z":[{"a":[{"t":[{"o":[{"m":15}]}]}],"e":24,"i":[{"v":6}],"k":[{"a":[{".":86}]}],"ő":6}]}],"t":[{"a":[{"d":[{"ó":8}],"l":[{"a":13}],"n":13,"r":6}],"á":[{"p":6}],"e":13,"é":[{"l":6,"r":[{".":12,"e":12,"n":12}]},10],"i":[{"s":13}],"í":6,"o":[{"l":12,"r":13}],"ó":[{"s":12},10],"ö":6,"ő":6,"u":[{"s":[{"z":8}]}],"ü":12,"ű":6,"v":[{"é":[{"d":[{"e":[{"l":43}]}]}]}]}],"z":[{"a":[{"d":[{"ó":13}],"j":6,"l":[{"a":12}],"s":[{"z":12}],"v":12}],"á":[{"p":13,"r":[{"n":12,"u":13}]}],"e":13,"i":[{"s":[{"k":12,"m":12,"t":12}]}],"í":12,"o":[{"k":[{"t":9}],"l":[{"d":9}],"s":6,"t":[{"t":[{"h":9}]}]}],"ö":6,"ő":6,"s":[{"a":21,"e":20,"é":21,"i":21,"p":20,"t":20,"ü":20,"z":20},10],"ü":12,"y":5}]},53],"b":[{"l":[{"e":6}]}],"e":[{"a":[{"d":6,"v":6}],"c":[{"c":[{"e":[{"m":[{"b":14}]}],"s":27}],"u":47}],"d":[{"é":[{"n":6}]}],"e":[{"s":121}],"f":[{"i":12,"u":13}],"g":[{"a":13,"é":[{"s":[{"z":22}]}],"y":[{"a":24,"á":6,"e":[{"g":6,"s":[{"s":22}]}],"o":24,"ó":6,"ő":6,"ú":6}]}],"i":[{"d":[{"p":47}]}],"k":[{"é":[{"k":58}],"t":71}],"l":[{"é":[{"g":6,"s":[{"s":7}]}],"f":[{"r":11},47],"l":[{"á":47,"e":[{"n":47}]}],"y":[{"e":[{"g":6,"m":[{"l":6}],"s":[{"z":6}]}],"é":[{"j":23}]}]}],"m":[{"a":47,"b":[{"l":86}],"l":86}],"n":[{"é":[{"s":[{"s":7}]}],"g":71,"y":[{"e":[{"g":[{"e":[{".":23}]}]}],"o":6}]}],"o":[{"l":6}],"r":[{"a":[{"b":6,"d":13,"j":12,"r":13,"u":6}],"á":[{"l":[{"l":9}],"t":[{"a":122,"é":9}]}],"e":[{"n":[{"g":9}],"p":3,"s":[{"e":9}],"v":[{"í":[{"z":28}]}]}],"i":[{"n":[{"t":9}]}],"ö":6,"s":8,"u":[{"t":6}],"ű":6}],"s":[{"a":12,"á":12,"é":[{"s":54}],"t":[{"o":14}]}],"t":[{"y":71}],"u":[{"s":[{"z":47}]}],"v":[{"é":[{"s":6},47],"í":71}],"z":[{"á":12,"h":47,"i":47,"n":47,"ő":47,"z":47}]},53],"é":[{"h":[{"é":6}],"i":[{".":71,"t":71}],"j":[{"e":[{"g":12,"l":12},10],"ö":6}],"k":[{"n":71}],"n":[{"a":[{"l":6,"n":6,"r":6}],"á":[{"t":6}],"e":[{"l":12,"m":6,"t":12},10],"é":[{"v":[{".":9}]}],"i":[{"d":6,"l":6,"s":12}],"n":20,"ö":6,"t":10,"u":6,"ü":6}],"p":[{"h":5,"ü":6}],"r":[{"a":[{"r":6,"s":12,"t":6},10],"i":[{"n":6}],"z":86}],"s":[{"z":[{"á":6,"e":[{"g":6,"s":[{"z":6}]}],"ö":24}]}],"t":[{"a":[{"b":12,"j":12,"l":6,"r":6},10],"á":[{"l":6}],"e":[{"l":13,"m":13,"s":12,"z":[{"r":[{"e":[{"s":12}]}]}]}],"é":[{"v":13}],"í":6,"o":[{"l":6,"r":6,"s":12}],"ó":[{"r":12},10],"ö":12,"u":6,"ü":13}],"v":[{"á":12,"e":[{".":6}],"é":[{"g":6,"r":[{"z":12}]}]}],"z":[{"e":[{"k":12},10],"i":[{"o":6,"p":6}],"o":10,"s":21}]},53],"f":[{"l":[{"ó":6}]}],"i":[{"a":[{".":47,"a":6,"á":6,"b":[{"e":[{"l":[{"i":[{"e":6}]}]}]}],"c":6,"d":6,"e":6,"é":6,"g":6,"h":6,"j":6,"l":6,"m":6,"n":[{"t":6}],"p":6,"r":6,"t":6}],"d":[{"a":71,"r":[{"o":[{"s":7}]}]}],"é":[{"v":47}],"g":[{"a":[{"n":[{"y":[{"e":10}]}]}],"i":71}],"l":[{"a":47}],"m":[{".":47,"e":47,"é":47}],"n":[{"á":[{"n":58,"s":71}],"g":[{".":48},47],"k":47,"s":[{"p":48}]}],"o":[{"m":6}],"p":[{"a":6,"s":[{".":48,"e":48,"é":48,"h":48,"r":48,"s":48,"z":[{"e":[{"s":28}]}]},47]}],"s":[{"e":[{".":6},47],"n":47,"o":47}],"t":[{"a":[{"k":9,"l":10,"n":8},6],"á":13,"e":[{"g":[{"y":13}],"l":[{"e":[{"l":17,"s":[{"é":12}]}],"ő":12,"v":[{"e":[{".":12}]}]},71],"n":[{"g":12}],"r":12,"s":[{"z":12}],"t":71}],"é":[{"l":6,"r":[{".":12,"t":[{"e":12}],"v":12}],"t":[{"e":13}],"v":[{"e":[{".":13}]}]}],"i":[{"m":12,"n":[{"t":12}]}],"k":[{"é":[{"s":[{"z":28}]}]}],"o":12,"ó":[{"n":12,"r":12},10],"ö":[{"r":12},10],"ő":[{"r":12}],"u":13,"ú":6,"ü":[{"l":6}]}],"z":[{"o":6}]},53],"í":[{"d":[{"a":6,"á":6,"e":6,"í":6,"ö":6,"ő":6,"ú":6,"ü":6,"z":6}],"g":[{"e":12}],"j":[{"é":6}],"m":[{"a":13,"á":6,"e":[{"l":12,"m":[{"b":12}],"r":6}],"o":6,"ö":6,"u":6}],"r":[{"a":13,"á":13,"i":[{"n":[{"g":12}]}],"í":6,"o":12,"ó":13,"ő":6,"s":9,"u":12,"ú":6}]},53],"k":[{"a":[{"s":[{"s":27}]}],"á":[{"r":11}],"r":[{"i":6}]}],"l":[{"e":[{"g":[{"e":[{"l":[{"é":2}]}]}],"t":[{"e":[{"l":14}],"ö":11}]}]}],"o":[{"d":[{"ú":6}],"e":[{"á":62,"f":6}],"i":[{"i":6,"t":6}],"k":[{"l":47}],"l":[{"a":[{"d":12,"l":12,"m":6,"t":12,"u":12},10],"á":[{"l":12,"r":13}],"d":[{"á":11,"e":[{"m":11}],"ó":[{"r":2}]}],"e":13,"i":[{"g":6,"n":12,"p":6,"v":13}],"k":8,"m":[{"e":[{"s":11}]}],"n":[{"i":[{"k":11}]}],"o":[{"r":6,"s":[{"z":12}],"t":6}],"ó":[{"r":13}],"ö":6,"t":[{"a":[{"n":[{"y":3},32]}],"e":[{"l":14},32]}],"ü":6,"y":[{"a":[{"l":24}]}]}],"m":[{"b":71,"o":[{"s":3},71]}],"n":[{"a":[{"g":13,"l":13,"n":13,"p":13,"u":12,"v":13}],"á":[{"l":12,"t":[{"a":123,"o":13}]}],"e":[{"g":6,"l":12},10],"i":[{"k":12,"m":13}],"í":6,"o":[{"r":[{"j":12,"o":13,"r":12}]}],"ó":13,"ö":6,"ő":6,"ü":6}],"r":[{"d":[{"e":2}],"e":6,"y":77}],"s":[{"s":[{"z":[{"e":16,"é":[{"k":7},26],"ü":16}]}],"z":47}],"t":[{"h":5}],"u":[{"s":6}],"w":[{"e":6}],"z":[{"á":[{"l":6}],"e":12,"i":10,"ü":6}]},53],"ó":[{"a":[{"k":11}],"á":[{"g":11}],"b":[{"l":5}],"c":[{"a":[{"l":6,"t":6}],"c":20,"e":[{"l":6}],"é":[{"g":13}],"h":21,"i":[{"m":6}],"ó":6,"ö":12,"s":[{"ü":6}],"z":6}],"d":[{"a":[{"r":[{"a":[{".":13}],"á":13}]}],"á":13,"e":[{"m":6}],"é":12,"ó":13,"ö":6,"ü":6,"z":21}],"l":[{"e":[{"j":12,"p":[{"e":[{"d":13}]}],"v":[{"e":[{"t":13}]}]}]}],"n":[{"a":[{"l":6,"p":[{"a":9}]}]}],"r":[{"á":[{"r":6},47]}],"s":[{"h":5}],"v":[{"í":10}],"z":[{"a":[{"t":[{"e":30}]}]}]},53],"ö":[{"k":[{"ö":3}],"l":[{"g":[{"y":[{"a":11,"á":44,"e":[{"l":11}]}]}]}]},53],"ő":[{"a":[{"n":11}],"b":[{"r":5}],"e":[{"l":11,"m":11,"r":11}],"é":[{"n":11}],"f":[{"l":5}],"g":[{"l":5,"r":5}],"k":[{"v":5}],"p":[{"r":5}],"s":[{"a":[{"l":12,"s":6,"v":12},10],"e":[{"l":12,"p":6,"s":6}],"i":[{"m":6,"s":6}],"p":[{"i":19}],"s":20,"t":[{"a":[{"b":19}],"r":9}],"u":[{"t":6}],"ú":12,"ü":[{"l":[{"t":12}],"v":13}],"ű":[{"r":12},10]}],"t":[{"r":5}],"ü":[{"l":11}]},53],"p":[{"l":[{"a":6}],"r":[{"a":6,"é":6,"i":6,"o":6,"ó":6}]}],"r":[{"u":[{"s":8}]}],"s":[{"c":[{"h":6}],"é":[{"g":[{"e":[{"l":11}]}]}],"k":[{"a":6}],"p":[{"i":6,"o":6}],"s":[{"t":19}],"z":[{"a":[{"k":[{"é":10}]}],"á":[{"j":[{"a":[{"d":[{"a":17}]}]}]}],"l":11}]}],"t":[{"c":[{"l":5}],"k":[{"l":5}],"o":[{"l":52}],"r":[{"á":6,"e":[{"f":48}]}],"u":[{"t":51}]}],"u":[{"h":[{"y":5}],"r":[{"á":47,"t":[{"e":14,"i":[{"t":11}]}]}],"s":[{".":47,"i":47,"z":[{"o":[{"n":22}]}]}]},53],"ú":[{"g":[{"y":[{"a":23,"e":6,"i":6,"ú":6}]}],"r":[{"a":13,"á":12,"e":6,"t":[{"r":9},10]}],"s":[{"a":[{"k":12,"l":6,"n":6,"p":6,"r":6}],"á":[{"g":13,"l":12}],"e":13,"i":[{"m":6}],"í":6,"o":[{"r":6}],"ö":6,"ő":6,"s":[{"z":[{"a":[{"k":20}],"á":20,"é":20}]}],"ü":6,"z":[{"a":[{"b":21}],"á":[{"l":24}],"e":23,"í":23,"o":[{"l":6,"s":6}],"ó":23,"ü":23}]}]},53],"ü":[{"g":[{"y":6}],"n":[{"n":86}],"r":[{"e":6,"ü":6}],"t":[{"ő":6}],"v":[{"ö":54}]},53],"ű":[{"r":[{"é":6,"i":6,"ö":6}]},53],"y":[{"é":[{"r":5,"v":5}],"i":[{"g":5}]}]}],"i":[{".":47,"a":[{"a":[{"d":11}],"á":[{"t":[{"a":32},3]}],"b":[{"a":[{"j":0}],"e":[{"r":0,"s":0}],"í":0,"o":[{"n":0,"r":0}],"ö":0,"ő":0,"u":0,"ú":0,"ü":0,"ű":0}],"c":[{"a":[{"l":12}],"c":20,"e":[{"t":0}],"é":[{"l":[{"é":9}],"r":[{".":12}]}],"h":21,"i":[{"d":6,"k":[{"o":8}],"m":12,"n":[{"t":12}]}],"í":0,"o":[{"r":12}],"ó":6,"ö":6,"ő":6,"s":[{"é":21,"p":20,"t":20,"z":20}],"ü":6,"z":6}],"d":[{"á":[{"s":[{"s":7}]}],"e":0,"í":0,"o":[{"t":6}],"ó":[{"e":6,"s":[{"t":3}]}],"ö":0,"ő":0,"ú":0}],"e":[{"l":11,"r":11,"t":11}],"é":[{"r":11}],"f":[{"á":0,"e":0,"i":0,"l":52,"ó":0,"ö":0,"ő":0,"r":[{"i":0,"o":5}],"u":0,"ú":0,"ü":0,"ű":0}],"g":[{"á":0,"e":0,"é":0,"i":0,"ö":0,"ő":0,"u":0,"y":[{"u":6}]}],"i":[{"g":0,"p":0,"z":59}],"j":[{"á":[{"n":6}],"e":0,"o":0}],"k":[{"a":[{"d":6}],"á":0,"e":0,"í":0,"l":51,"ó":[{"d":0,"r":0}],"ö":0,"ő":0,"r":[{"e":19,"é":19,"i":19,"í":5}],"u":0,"ú":0,"ü":0,"v":52}],"l":[{"a":[{"n":25,"t":6}],"e":[{"g":0}],"i":[{"b":0}],"í":0,"o":[{"m":6}],"ö":0,"u":[{"d":6,"s":6}],"y":0}],"m":[{"á":0,"e":0,"ó":0,"u":[{"r":12}],"ú":0,"ű":0}],"n":[{"e":[{"k":6}],"é":0,"ö":0,"ő":0}],"o":[{"k":11}],"ó":[{"r":11}],"p":[{"á":[{"t":6}],"e":0,"é":0,"l":19,"o":0,"s":19}],"r":[{"á":[{"d":[{"i":26}]}],"e":0,"é":[{"n":6}],"o":0,"ó":0,"ö":0,"u":0,"ú":0}],"s":[{"e":0,"h":52,"i":0,"k":[{"á":19}],"l":51,"m":51,"ó":0,"ö":0,"p":51,"t":[{"a":19,"á":19,"i":5,"o":5,"r":5},10],"ú":0,"ü":0,"ű":0,"z":[{"a":[{"n":24}],"e":[{"r":[{"ű":41}],"s":6}],"é":[{"p":6}],"k":[{"e":[{"r":17}]}],"o":[{"p":6}],"ú":0}]}],"t":[{"e":0,"ó":0,"ö":0,"ő":0,"r":[{"é":5}],"y":6}],"u":[{"d":0,"r":59,"s":11}],"ü":[{"z":11}],"v":[{"a":[{"t":6}],"é":0,"i":0,"í":0,"o":0}],"z":[{"á":0,"e":0,"o":6,"s":0,"ú":0}]},48],"á":[{"c":[{"s":6}],"g":[{"a":6,"á":6,"e":6,"i":6,"o":6,"y":6}],"h":[{"í":6}],"k":[{"a":[{"b":6,"k":6,"l":12,"n":12,"p":12,"r":12,"s":12},10],"á":13,"e":[{"b":6,"l":12,"m":6,"n":12,"s":13}],"é":[{"r":[{".":12,"d":12}],"s":6}],"i":[{"n":6,"r":6,"t":6},10],"í":6,"o":[{"p":6,"r":12,"s":[{"z":12}]}],"ó":13,"ö":12,"ő":6,"u":[{"r":6,"t":12}],"ú":13,"ü":12,"ű":6}],"l":[{"a":[{"n":[{"a":9}]},10],"á":[{"l":6,"r":12}],"e":13,"i":[{"m":6,"n":12}],"o":[{"p":6}]}],"n":[{"a":[{"r":6,"s":12}],"e":[{"m":6}],"i":[{"r":6,"s":6}],"ö":6,"t":[{"r":9},10],"ü":6,"y":[{"a":[{"d":24,"l":23,"n":6,"r":6}],"e":23,"é":[{"r":[{"z":6}]}],"ö":6}]}],"ó":[{"i":6}],"p":[{"o":6}],"r":[{"a":[{"d":6,"k":6,"m":6}],"d":[{"a":[{"s":11}],"e":14,"z":4}],"e":6,"i":[{"m":6}],"s":8,"u":[{"n":25},6],"ú":6}],"s":[{"a":[{"l":6,"r":6,"s":12}],"á":[{"g":13,"m":12,"s":6}],"e":13,"i":[{"k":[{"r":6}]}],"í":6,"o":[{"r":6}],"ó":6,"ö":6,"ő":6,"s":[{"z":[{"o":20}]}],"t":[{"r":9},10],"ü":13,"ű":6,"v":[{"í":32}],"z":[{"á":[{"s":6}],"e":21,"s":20}]}],"t":[{"a":6,"e":[{"l":13}],"i":[{"r":12},10]}]},48],"b":[{"a":[{"d":8,"s":10,"t":10,"u":10,"ü":10}],"á":[{"l":[{"a":14}]}],"e":[{"l":[{"é":[{"r":11}]}],"r":[{"i":[{"n":14}]}],"s":9}],"i":[{"o":11}],"l":[{"o":6}],"r":[{"ó":6,"u":6}]}],"c":[{"a":[{"f":8,"g":8,"k":[{"l":9,"r":8}],"l":[{"o":[{"s":11}]}],"p":[{"r":9}],"t":8}],"c":[{"a":[{"l":10,"n":6}],"á":13,"h":21,"i":[{"n":6,"r":6}],"í":6,"o":12,"ö":12,"s":[{"e":[{"l":32}],"o":[{"l":3}],"ő":15}],"ú":6,"z":6}],"h":[{"a":[{".":25}],"e":[{"k":25}],"i":[{"n":[{"á":0}]}],"o":[{"z":25}],"ű":55}],"i":[{"t":[{"a":2,"á":[{"r":11}],"e":[{"l":11,"r":11}]}]}],"l":[{"u":54}],"o":[{"l":52}],"s":[{"a":[{"d":61,"l":[{"a":8}],"p":[{"á":[{"g":17}]}],"u":56}],"á":[{"g":9,"l":[{"l":9}]}],"e":[{"b":56,"g":61,"t":[{"e":56},10],"v":56}],"é":[{"g":8,"r":[{"é":[{".":61}]}]}],"i":[{"p":[{"a":9}]}],"s":9,"ú":[{"t":9}],"ü":[{"l":56,"t":61}],"z":[{"e":25}]}],"ü":[{"z":5}]}],"d":[{"a":[{"j":51,"n":[{"a":5,"y":19}],"u":52}],"á":[{"l":[{"l":5}],"r":[{"u":5}],"s":[{"v":52}]}],"b":[{"r":5}],"d":[{"o":53,"z":25}],"e":[{"a":[{"v":11}],"g":[{"á":14,"é":[{"l":14,"r":[{".":3}]}]}],"j":50,"k":[{"v":8}],"l":[{"j":5,"m":5,"o":5,"t":5},47],"m":[{"b":52}],"p":8,"r":[{"e":[{"d":11}],"o":0}],"s":[{"a":20}],"u":10}],"é":[{"g":51,"k":[{"e":[{"l":11}]}],"n":[{"y":0}],"r":[{"c":[{"s":29}]}],"s":[{"z":47}],"z":50}],"g":[{"e":6}],"i":[{"a":[{"s":11}],"l":50,"o":[{"n":[{"j":5,"n":5,"o":51,"t":51}],"s":11}],"ó":[{"d":11}],"t":[{"a":52}]}],"í":[{"j":[{"a":[{"d":[{"a":14},32]}]}]}],"k":[{"r":5}],"o":[{"l":[{"d":5,"v":52}],"m":[{"a":[{"c":11,"n":14}],"á":50,"o":50,"ú":53}]}],"ö":[{"s":5}],"ő":[{".":50,"b":50,"d":50,"é":50,"h":50,"i":50,"k":50,"m":50,"n":[{"e":0,"é":0,"k":0}],"p":50,"r":50,"s":[{"o":[{"d":11}],"p":8},50],"t":[{"á":[{"l":11}]},50],"v":50,"z":0}],"p":[{"r":5}],"r":[{"ó":[{"t":6}],"u":54}],"s":[{"t":5}],"t":[{"r":19}],"u":[{"t":19}],"ü":[{"g":5,"z":52}],"z":[{"á":55,"e":55,"ó":55,"s":[{"a":124,"á":124,"e":[{"n":0}],"é":[{"l":0}],"í":125}]}]}],"e":[{"b":[{"e":6}],"c":[{"s":6}],"d":[{"z":6}],"f":[{"a":13,"á":6,"i":12,"ü":13}],"g":[{"é":6,"y":6}],"h":[{"e":6}],"l":[{"d":0,"o":6,"ő":[{"a":6}]}],"m":[{"a":6}],"n":[{"s":[{"á":11,"o":14,"s":27}],"y":6}],"p":[{"e":6}],"r":[{"a":[{"d":13,"g":6,"j":12,"k":13,"l":6,"m":6,"n":12,"s":6}],"á":12,"d":8,"e":[{"g":[{"y":9},6],"l":12,"m":[{"b":[{"e":[{"r":12}]}]}],"s":[{"t":12}]}],"i":[{"g":[{"a":12}],"n":12,"s":[{"t":[{"e":12}]}]}],"í":6,"o":[{"l":12,"r":6}],"ö":6,"ő":6,"s":[{"z":32}],"t":[{"r":9},10],"u":13,"ú":12,"ü":[{"g":13}]}],"s":[{"e":[{"l":6,"m":6,"t":[{"t":6}]}],"é":[{"s":6}],"i":[{"k":6}],"ő":6,"z":6}],"t":[{"é":[{"s":[{"z":126}]}],"z":3}],"u":[{"r":6}],"v":[{"e":6,"é":6,"i":6,"ő":6}]},48],"é":[{"d":[{"o":0}],"f":[{"e":0}],"g":[{"e":6,"é":6,"ő":6,"ü":6}],"h":[{"a":0,"e":[{"s":6}],"i":0}],"i":[{"l":0}],"l":[{"e":6,"é":6,"i":6,"ő":6}],"m":[{"e":0,"é":0,"o":0}],"n":[{"e":[{"k":[{"e":6,"h":6,"k":6,"ü":6}]}]}],"p":[{"í":6,"ü":6}],"r":[{"e":[{"k":6,"n":0,"z":6}],"é":6,"i":6,"ő":[{".":6,"k":6,"t":6}],"ü":6}],"s":[{"z":[{"i":0}]}],"t":[{"a":[{"s":3}],"e":[{"l":6}],"ö":0}],"v":[{"e":[{".":6,"k":6}]}]},48],"f":[{"a":[{"s":[{"t":9}],"t":8}],"e":[{".":0,"n":[{"y":[{"ő":[{"é":[{"h":33}]}]}]}]}],"i":[{"o":10}],"í":[{"r":5}],"j":[{"í":53,"u":53,"ú":[{".":53,"b":53,"é":53,"i":53,"k":[{"é":53}],"n":53,"r":53,"s":53,"t":53,"v":53}]}],"l":[{"a":54,"e":6,"o":6,"ö":6,"u":6}],"o":[{"g":[{"o":32}],"n":[{"n":3}]}],"r":[{"i":54,"o":54,"ö":54,"u":6}],"t":[{"a":12,"á":13,"e":[{"l":13}],"i":[{"n":6}],"ö":6,"ú":6}]}],"g":[{"a":[{"g":[{"i":[{"t":19}]}],"k":[{"a":19}],"l":[{"s":5,"v":5}],"n":[{"d":5,"y":[{"a":[{"l":11}],"e":[{"s":44},26]}]}],"r":[{"a":[{"s":11}],"z":50}],"s":[{"l":9,"z":[{"a":[{"g":11,"l":7}]}]}],"u":[{"r":10}],"z":[{".":50,"í":53}]}],"á":[{"c":[{"s":19}],"l":[{"m":5}],"s":[{"h":5,"z":41}],"t":[{"e":82}]}],"b":[{"r":5}],"d":[{"r":19}],"e":[{"d":[{"z":5}],"g":0,"k":[{"l":9},10],"l":[{"e":19,"l":5,"m":5}],"n":[{"l":50}],"r":[{"á":11,"ő":5}],"s":[{"e":19,"i":5}],"t":[{"á":[{"l":11}],"e":[{"g":11}],"é":[{"l":11}],"o":14,"ő":[{"r":11}]}],"v":[{"i":5}],"x":52}],"é":[{"d":50,"g":19,"l":[{"i":19,"ő":19,"ü":19,"v":5}],"m":0,"n":[{"a":11,"á":11,"y":50}],"p":[{"e":41,"í":5}],"r":[{".":5,"j":5,"l":5,"n":5,"ü":19,"v":5}],"s":[{"z":5}],"ü":50}],"f":[{"l":5}],"g":[{"r":19}],"í":[{"v":5,"z":5}],"k":[{"l":5,"r":5}],"l":[{"a":[{"c":6}]}],"n":[{"a":[{"d":6}],"e":[{"g":13,"r":10}],"o":[{"s":[{"z":12}]}],"ö":6,"ü":6}],"o":[{"r":[{"á":[{"l":11}]}],"s":19}],"ó":[{"é":10}],"ö":[{"b":5,"k":19,"l":5,"z":19}],"p":[{"r":5}],"r":[{"a":[{"f":54}]}],"s":[{"k":5,"l":5,"m":5,"p":5,"t":5,"z":5}],"t":[{"r":5}],"u":[{"g":5,"n":11,"t":11}],"ú":[{"s":5}],"ü":[{"c":5,"d":5,"g":19,"l":11,"t":5,"v":5}],"ű":[{"z":5}],"y":[{"a":[{".":0,"m":0}],"á":[{"k":0,"l":0}],"e":[{"g":56,"k":[{"é":[{"h":61}]}]}],"é":[{"k":[{"t":56}],"r":[{".":9,"t":56}]}]}]}],"h":[{"a":[{"r":[{"e":11}]}]}],"i":[{"d":[{"e":6,"é":6,"ő":6}],"g":[{"a":6,"á":6,"é":6,"y":6}],"h":[{"a":6}],"j":[{"e":6}],"m":[{"á":6,"i":6}],"p":[{"a":6}],"r":[{"a":[{"m":6,"t":6}],"á":6,"o":6}],"s":[{"z":6}],"t":[{"a":6}],"v":[{"á":6,"o":6,"ó":6}],"z":[{"é":6,"o":6}]},48],"í":[{"g":[{"é":6}],"r":[{"a":6,"á":6,"o":6,"ó":6,"u":6}],"t":[{"é":6}],"v":[{"e":6}],"z":[{"e":6}]},48],"j":[{"e":[{"d":50,"g":[{"y":[{"á":18}]}],"s":50}]}],"k":[{"a":[{"b":[{"e":[{"j":[{"á":33},43]}],"l":52}],"j":[{"t":5}],"l":[{"a":[{"k":11}]}],"n":[{"g":5}],"ó":10,"p":[{"l":8,"r":8}],"r":[{"ó":[{"r":73}]}],"s":[{"p":9},10],"t":[{"r":8}]}],"á":[{"r":[{"k":52,"u":52}],"s":[{"s":3}],"t":[{"o":[{"l":11}]}]}],"d":[{"r":5}],"e":[{"b":[{"é":5}],"g":52,"l":[{"o":5}],"n":[{"g":5}],"r":[{"a":2,"á":2,"e":[{"d":[{"z":2}],"l":2,"v":14}],"i":[{"s":11}],"o":14,"ő":19,"s":3,"u":11}],"t":[{"ü":[{"l":[{"t":14}]}]}],"v":[{"o":5}]}],"é":[{"k":[{"e":[{"k":[{"k":11}]}]}],"p":[{"í":52,"ü":52}],"r":[{"z":52}]}],"f":[{"l":5,"r":5}],"i":[{"d":52,"k":[{"o":19,"r":5}],"n":[{"d":5,"s":5,"t":52}],"o":51,"s":[{"k":5}]}],"k":[{"a":[{"l":[{"a":12},10],"n":[{"y":9}],"r":13}],"á":[{"r":[{"a":9}],"z":6}],"e":[{"v":6}],"é":[{"r":[{"d":[{"e":9}]}]}],"i":[{"n":6,"p":13}],"o":[{"l":12}],"ó":12,"ö":[{"s":12,"t":6,"z":13}],"u":13,"ü":[{"z":6}]}],"l":[{"a":[{"t":[{"r":3}]}],"e":[{"r":6}],"o":[{"r":6}],"u":[{"b":48,"m":6}]}],"n":[{"é":[{"d":48}]}],"o":[{"m":[{"a":[{"r":14},32]}],"n":[{"b":[{"á":53}],"é":[{"n":53}],"l":50,"t":[{"a":50,"ö":53,"ü":50}],"z":[{"s":53}]}]}],"ó":[{"p":9,"r":[{"á":19}],"s":[{"z":[{"á":4}]}]}],"ő":[{"r":[{"e":[{"s":11}]}]}],"p":[{"l":5,"r":5}],"r":[{"e":[{"i":53,"k":53}],"é":[{"m":6}],"ó":[{"m":54}],"u":54}],"s":[{"t":5,"z":[{"i":[{"n":[{"d":33}]}],"t":10}]}],"t":[{"u":[{"s":[{"s":7,"z":10}]}]}],"u":[{".":47,"b":47,"d":[{"v":5}],"f":47,"h":47,"i":47,"í":47,"j":47,"k":47,"r":47,"s":[{"a":[{"v":11}]}],"t":47,"v":47}],"ü":[{"v":19}]}],"l":[{"a":[{"b":[{"r":5}],"c":[{"e":19,"é":19}],"d":[{"ó":19}],"l":[{"a":19,"d":5,"k":52}],"m":[{"b":5}],"n":[{"a":52,"y":52},11],"p":[{"i":[{"n":11}],"o":[{"l":11}]}],"r":51}],"á":[{"g":[{"e":2,"g":27,"ö":11,"y":[{"o":19}]}],"n":[{"y":[{"f":[{"é":33}]}]}],"p":51,"r":[{"n":52,"o":19,"u":5,"ú":19}],"s":[{"z":[{"o":52},11]}],"t":[{"f":5,"m":5,"r":5}]}],"b":[{"l":5}],"c":[{"a":13,"c":20,"h":6,"s":[{"a":[{"p":21}],"i":[{"k":21}],"z":20}],"z":6}],"e":[{"l":[{"e":[{"m":19}]}],"m":[{"b":52,"l":52}],"x":[{"p":5}]}],"é":[{"n":[{"á":14,"e":[{"k":[{"h":51,"n":51}]}]}],"s":[{"p":9}]}],"f":[{"l":19,"r":5}],"g":[{"r":19}],"i":[{"c":[{"c":52}],"d":[{"e":5}],"g":[{"á":[{"h":52,"j":52,"s":52,"t":52}],"r":[{"a":9}]}],"k":[{"o":[{"n":[{".":51,"b":51,"é":0,"h":51,"j":51,"n":51,"o":51,"r":51,"t":51,"z":0}]}]}],"l":[{"l":5}],"m":[{"a":[{".":11}],"i":19,"p":5}],"n":[{"n":3}],"p":[{"á":14}],"r":[{"ó":5}]}],"k":[{"l":19,"r":19}],"l":[{"a":[{"g":[{"ó":17}],"t":[{"b":53,"r":53,"t":53}]}],"e":[{"s":[{"t":[{"e":12,"é":12}]}]}],"é":[{"s":[{"é":53}],"t":[{"e":9,"t":9},10]}],"i":[{"d":12,"g":[{"r":3},32]}],"ö":12,"u":53,"ú":53}],"m":[{"a":[{"d":[{"a":9}],"g":[{"y":12}],"j":12,"k":[{"a":9}],"l":13,"n":[{"k":9,"y":9}],"p":12,"r":[{"c":12}],"t":[{"l":9}],"z":13}],"á":[{"l":12}],"e":[{"g":[{"é":12,"y":12},10],"l":13,"p":12,"r":13,"s":[{"z":12}]}],"é":[{"j":13,"k":12,"l":[{"e":12},10],"r":[{".":12,"d":12,"é":[{"s":[{"t":8}]}],"t":[{"e":6,"é":12}]}],"s":12}],"i":[{"d":6,"k":13,"m":6,"r":6,"s":12,"z":6}],"í":13,"o":[{"k":12,"l":6,"r":12,"s":[{"z":9}]}],"ó":[{"r":13}],"ö":6,"ő":6,"u":[{"t":12},10]}],"o":[{"g":8,"r":52}],"ó":[{"t":[{"r":9},10]}],"ö":[{"b":5,"s":5}],"p":[{"l":19,"r":19}],"s":[{"h":5,"p":5,"t":19}],"t":[{"e":47}],"u":[{"m":[{"i":[{"n":22},32]}],"s":[{"s":27}]}],"ü":[{"g":52,"r":5,"v":5,"z":52}],"v":[{"a":[{"k":15}]}]}],"m":[{"a":[{"g":[{"l":9}],"k":[{"k":5}],"ó":10,"p":9,"r":[{".":47,"i":[{"t":0}]}]}],"á":[{"d":50,"k":[{"t":0}]}],"d":[{"r":5}],"e":[{"g":[{"g":3}],"l":[{"e":[{"m":5}]}],"m":[{"e":52},11],"r":[{"a":11,"i":[{"n":11}]}]}],"é":[{"r":[{"d":52}]}],"i":[{"n":[{"h":5,"t":[{"é":5}]}],"t":[{"a":2,"á":[{"r":2}],"i":[{"n":11}]}]}],"m":[{"u":53}],"o":[{"l":[{"d":52}],"m":52}],"ó":[{"r":[{"á":19}],"t":10}],"ö":[{"s":5}],"p":[{"é":53,"u":53}],"r":[{"e":[{"i":53}]}],"ü":[{"r":52}],"ű":[{"t":[{"r":10}]}]}],"n":[{"a":[{"b":[{"l":52}],"c":[{"é":51}],"d":[{"á":52,"e":5,"o":0}],"j":[{"á":19,"t":5}],"k":[{"a":[{"r":32,"t":[{".":50}]}],"c":52,"k":0,"n":0,"t":0,"v":52}],"l":[{"d":5,"k":52,"l":5}],"m":[{".":50,"i":[{"t":[{".":51}]}]}],"n":[{"a":5}],"p":[{"l":[{"a":9}]}],"r":[{"á":[{"n":11}]}],"s":[{".":50,"i":[{"s":11}],"n":50}],"t":[{"e":[{"l":[{"l":11}]}]}]}],"á":[{"g":52,"l":[{"a":[{"d":11}]}],"r":[{"a":[{"k":19}],"h":5,"u":0}],"s":[{"v":52}]}],"b":[{"l":5,"r":5}],"c":[{"a":[{"g":13,"l":6,"n":10}],"e":[{"l":[{"t":9}]}],"é":[{"l":12}],"h":[{"i":6,"o":21}],"i":[{"s":12}],"o":[{"s":12}],"ó":6,"ö":12,"ő":6,"s":[{"a":[{"n":3}],"e":[{"r":23}],"é":[{"j":23,"r":[{".":24,"v":20}]}],"o":[{"r":[{".":20},6]}],"ú":6,"ü":[{"t":20}],"z":[{"a":20}]}],"ú":6}],"d":[{"a":[{"b":12,"i":53,"z":12}],"e":[{"b":6,"d":12,"g":13,"k":[{"ö":9}],"m":13,"t":[{"t":12}],"x":53,"z":13}],"é":[{"g":12,"n":12,"s":6}],"i":[{"n":[{"k":9}],"v":53}],"í":[{"t":53}],"ö":[{"r":12,"s":6},10],"r":[{"a":5}],"u":[{"l":53}]}],"e":[{".":47,"d":[{"é":51}],"f":52,"g":[{"g":3,"y":19}],"k":[{"u":11}],"l":51,"m":[{"u":5}],"n":[{"y":52}],"r":[{"d":52,"j":52},47],"t":[{"a":14,"é":[{"r":14}],"ü":[{"l":11}]}],"x":52}],"é":[{"b":47,"g":[{"e":19}],"k":[{"r":[{"é":9}]}],"l":[{"e":52,"t":52,"v":52},11],"p":[{"í":5}],"r":[{".":52,"d":0,"é":52,"t":[{"e":5}]}],"t":[{"á":11,"e":11}],"v":47}],"f":[{"e":[{"k":53}],"l":53}],"g":[{"a":[{"d":[{"ó":6}],"l":[{"a":12}]}],"á":[{"l":[{"l":9}],"r":[{"á":9,"é":9,"o":8,"t":9,"u":9}],"s":[{"s":38}]}],"e":[{"c":53,"g":12,"i":53,"l":[{"j":[{"á":9}],"k":9,"l":12,"s":9}],"n":[{"c":12}],"r":[{"b":53,"c":53,"é":[{"s":30},53],"g":53,"h":53,"i":53,"k":53,"m":53,"n":53,"p":53,"r":53,"s":53,"t":53,"ü":53}],"v":13}],"é":[{"j":13,"k":12,"l":12,"s":[{"s":38}]}],"g":20,"i":[{"n":[{"a":8}]}],"í":6,"l":[{"o":5}],"o":[{"r":6}],"ö":[{"l":12,"s":12}],"r":[{"á":[{"d":[{".":11,"b":11,"d":11,"n":11,"o":11,"t":11}]}]}],"u":[{"j":53,"t":13}],"ú":6,"ü":[{"l":[{"t":9}]}]}],"i":[{"e":47,"é":47,"g":[{"a":[{"r":0}],"e":52}],"k":[{"r":[{"a":5,"o":9}]}],"l":[{"l":52}],"m":[{"a":[{".":51}],"i":19}],"n":[{"d":5,"g":47,"h":52}],"o":51,"r":47,"s":[{"é":[{"g":14}],"k":52,"m":52}],"t":[{"a":[{"l":52}]}],"u":47}],"í":[{"z":52}],"j":[{"e":[{"k":[{"c":53}]}]}],"k":[{"a":[{"c":[{"é":9}],"d":13,"t":[{"o":12}]}],"á":[{"r":[{"n":12}]}],"e":[{"s":[{"z":12}]}],"é":[{"r":[{"t":[{"é":9}]}]}],"i":[{"o":6}],"o":[{"l":[{"d":9}],"r":[{"s":[{"ó":9}]}]}],"ö":[{"s":6}],"u":[{"b":53}]}],"n":[{"a":[{".":53}],"o":[{"r":6}]}],"o":[{"b":52,"k":[{"l":52}],"l":[{"d":52,"t":52,"v":52}],"r":[{"g":5}],"x":52}],"ó":[{"d":[{"a":5,"á":19}],"r":[{"á":11}]}],"ö":[{"l":52,"n":5}],"ő":[{"z":5}],"p":[{"l":5,"r":5}],"s":[{"k":19,"m":19,"p":[{"i":53,"r":5}],"t":[{"a":53,"o":19}]}],"t":[{"a":[{"k":[{"t":[{"u":12}]}],"n":[{"n":9}]}],"á":[{"r":[{"a":[{"i":9,"k":9,"t":9}],"á":13,"f":12,"i":12,"o":[{"n":9}],"r":12,"s":[{"z":9}],"u":12}],"t":[{"a":8}]}],"e":[{"g":[{"e":53,"r":53,"y":13}],"l":[{"ő":[{"t":9}],"t":[{"é":9}]}],"n":[{"n":12,"y":13,"z":53}],"r":[{"e":[{"z":13}],"f":[{"é":53}]}],"s":[{"s":[{"z":9}]}],"t":[{"ő":[{"s":30}]}]}],"é":[{"j":13,"s":[{"z":12}],"z":[{"é":53,"k":53,"m":53,"ő":[{"c":47},53]}]}],"h":[{"o":[{"s":19}],"u":5}],"i":[{"d":6,"g":[{"é":6}],"l":[{"l":[{"a":9}]}],"n":[{"g":12}],"p":12,"v":[{"á":12}],"z":13}],"o":[{"m":[{"l":9}],"s":[{"z":12}]}],"ö":[{"s":12}],"ő":[{"k":[{"é":[{"s":[{"z":65}]}]}],"r":[{".":9}]}],"u":[{"r":[{"a":9}],"s":[{"s":7}],"t":12}],"ú":[{"s":6,"t":12}]}],"u":[{"g":52,"j":52}],"ú":[{"j":5,"s":19,"t":51}],"ü":[{"g":51,"l":[{"t":5}],"n":[{"n":5}],"r":5,"s":5,"t":51,"v":51,"z":51}],"ű":[{"r":5}],"v":[{"e":[{"n":53}]}],"x":[{"a":6}],"z":[{"u":53}]}],"o":[{"á":[{"r":11}],"b":[{"r":19}],"c":[{"s":6}],"d":[{"r":19,"ú":6}],"g":[{"á":0,"r":[{"a":[{"f":11}],"á":[{"f":[{".":19,"f":19}]}]}],"y":0}],"i":[{"k":6}],"k":[{"á":6,"í":6,"o":6,"u":6}],"l":[{"d":41,"i":[{"v":13}],"k":8,"o":[{"k":[{"k":9}]}],"ó":0,"v":41}],"m":[{"a":[{"r":6}],"á":[{"r":[{"t":12}]}],"i":[{"l":6}],"ö":6}],"n":[{"a":[{"d":6,"g":13,"k":6,"n":13,"r":13,"s":12,"t":13,"v":12}],"á":[{"t":12}],"e":[{"g":6,"l":12,"n":6}],"i":[{"m":7,"n":6}],"k":8,"o":[{"p":6,"s":[{"z":[{"t":12}]}]}],"ö":6,"s":[{"t":9},10],"t":[{"r":8}]}],"p":[{"e":6,"r":19}],"r":[{"a":12,"i":[{"k":[{"o":13}]}]}],"s":[{"o":6,"z":[{"f":42}]}],"t":[{"e":0}],"x":[{"i":[{"d":[{"j":6,"t":6}]}]}]},48],"ó":[{"a":[{"d":11,"p":6}],"á":[{"g":11,"r":11,"t":[{"a":15}]}],"b":[{"á":0,"e":[{"s":0}],"é":0,"í":0,"l":52,"o":0,"ö":0,"ő":0,"r":51,"u":0,"ú":0,"ü":0,"ű":0}],"c":[{"e":0,"é":0,"i":0,"s":[{"k":41}],"u":0}],"d":[{"e":0,"é":0,"i":0,"í":0,"ó":0,"ö":0,"r":[{"á":5}],"ú":0,"ü":0,"z":0}],"é":[{"g":0,"k":0,"l":0,"p":0,"s":0,"v":[{".":0}]}],"f":[{"á":0,"e":0,"i":0,"l":52,"ó":0,"ö":0,"ő":0,"r":51,"u":0,"ü":0,"ű":0}],"g":[{"r":19}],"h":[{"a":0,"á":0,"e":0,"é":0,"i":0,"í":0,"ó":0,"ö":0,"ő":0,"u":0,"ü":0,"ű":0}],"i":[{"g":11,"p":0,"s":0,"z":0}],"í":[{"v":11}],"j":[{"e":0,"o":0,"ó":0}],"k":[{"a":[{"d":6,"j":6,"r":[{"c":9}],"s":[{"z":[{"t":12}]}]}],"á":[{"l":6}],"e":[{"g":13}],"i":[{"d":13}],"í":0,"k":[{"ö":[{"z":22}]}],"o":[{"l":[{"d":9}],"r":[{"t":0}]}],"ö":0,"ő":0,"ü":[{"z":6}]}],"l":[{"a":0,"á":0,"e":0,"é":0,"i":0,"o":0}],"m":[{"e":0,"ó":0,"u":0,"ú":0,"ű":0}],"n":[{"e":0,"ó":0,"ö":0}],"o":[{"k":11}],"ó":[{"r":11}],"p":[{"s":19}],"r":[{"a":[{"b":6,"g":0,"k":0,"n":0,"p":0,"s":6}],"á":[{"d":0}],"e":0,"é":0,"i":[{"a":0}],"o":0,"ö":0,"u":0}],"s":[{"a":[{"j":12}],"e":[{"l":6}],"i":[{".":6}],"l":[{"á":5}],"ó":6,"s":20,"t":[{"á":19,"r":5}],"ú":0,"z":42}],"t":[{"e":0,"é":0,"i":0,"í":0,"ö":0,"ő":0,"r":51,"u":0,"ú":0,"ü":0,"ű":0}],"u":[{"g":0,"n":0,"r":0,"t":0}],"v":[{"á":[{"r":0,"s":0}],"e":0,"é":0,"i":0,"í":0,"ö":0}],"z":[{"á":[{"r":0}],"e":0,"s":0}]},48],"ö":[{"k":[{"ö":6}],"l":[{"e":6,"é":6,"i":6,"ö":6,"ő":6}],"m":[{"ö":6}],"r":[{"e":6,"ö":6,"ü":6}],"t":[{"ö":6}],"v":[{"e":6}],"z":[{"ö":6}]},48],"ő":[{"d":[{"r":5}],"h":[{"a":0}],"k":[{"é":0,"u":0}],"r":[{"a":0,"i":31}],"s":[{"p":51,"t":52}],"t":[{"e":0,"é":0}],"v":[{"a":0,"á":0}]},48],"p":[{"a":[{"c":[{"s":[{"e":11}]}],"r":[{".":50,"a":[{".":53,"l":11}],"á":[{"l":11,"n":50,"t":50}],"b":53,"e":[{"n":14,"s":14}],"é":50,"h":50,"i":[{"l":53,"n":50,"s":11}],"m":50,"n":50,"o":[{"k":0,"n":0}],"r":53,"s":50,"t":[{"a":0,"á":50,"e":50,"ó":50}],"u":50}],"u":10}],"á":[{"n":[{"k":32,"n":3}],"t":[{"m":5}]}],"e":[{"f":52,"g":[{"y":19}],"l":[{"u":19}],"s":[{"é":52}],"v":52}],"f":[{"l":5,"u":6}],"k":[{"l":5,"r":5}],"o":[{"k":[{"l":9}],"r":[{"t":[{"e":[{"l":10}],"ő":30}]}]}],"ö":[{"l":19,"s":5}],"p":[{"a":[{"d":13,"j":6,"r":6}],"á":[{"r":6}],"i":[{"n":[{"g":9}]}],"ö":6}],"r":[{"o":[{"f":48,"g":48,"j":48,"p":6,"t":54}]}],"s":[{"z":[{"a":[{"l":15}],"á":[{"l":3}],"e":[{"m":[{"b":24}]}],"i":[{"p":6}],"í":23,"o":[{"r":3}]}]}],"u":[{"g":52}]}],"r":[{"a":[{"l":[{"o":32}],"m":[{"a":50,"á":50,"i":[{"s":[{"s":22}]}]}],"t":[{"a":[{"l":11,"n":[{"y":14},32],"s":14,"t":14}],"á":[{"l":11}],"b":50,"c":50,"d":50,"e":[{"l":11}],"é":50,"f":50,"i":[{"l":[{"l":91}]},50],"m":50,"o":[{"l":14,"z":[{".":53}]}],"ö":2,"p":50,"r":50,"ü":50}]}],"á":[{"d":[{"i":[{"ó":[{"k":32,"t":32}]}]}],"f":[{"a":2}],"g":[{"a":[{"l":14}],"á":[{"l":14,"r":[{"a":[{"k":2}],"o":2}],"t":[{"o":14}],"z":11}],"e":14,"g":3,"o":[{"l":14}],"ó":[{"r":2}],"ö":11}],"l":[{"a":14,"e":2}],"n":[{"n":50,"y":[{"a":[{"l":11}],"e":127},50]}]}],"c":[{"h":6}],"e":[{"i":0}],"g":[{"a":53}],"i":[{"n":[{"c":10}],"z":[{"o":11}]}],"k":[{"a":[{"s":[{"z":26},3]}],"e":3}],"o":[{".":47,"b":47,"d":[{"a":[{".":50}],"á":50}],"g":[{"r":8}],"k":[{"a":11,"á":11,"e":14,"é":[{"r":11}]}],"l":[{"a":14}],"m":[{"a":14}],"s":[{"s":27}]}],"ó":[{"k":[{"e":11}],"n":[{"o":0}]}],"r":[{"i":53}],"s":[{"a":[{"l":12},10],"á":13,"i":[{"l":6}],"s":20,"ü":12,"z":6}],"t":[{"é":[{"l":12},10],"i":[{"z":6}],"o":[{"r":13}],"ö":13,"ü":[{"r":6}]}],"u":[{"s":[{"z":[{"e":11}]}]}]}],"s":[{"a":[{"b":[{"l":52}],"d":[{"a":19,"á":19,"o":19}],"g":51,"j":[{"a":5,"k":5}],"k":[{"e":14,"o":[{"l":11}]}],"l":[{"a":19,"f":5,"j":52,"k":5,"m":5}],"m":[{"b":5}],"n":[{"a":52,"o":52,"t":52,"y":52},11],"p":[{"á":5,"o":5},11],"r":[{"á":19}],"s":[{"s":5}],"u":[{"t":5}],"z":51}],"á":[{"b":[{"r":52}],"g":[{"g":[{"y":5}],"y":[{"ú":[{"t":7}]}]}],"l":[{"l":5}],"p":[{"o":19}],"r":[{"a":[{"k":51}],"á":51,"b":52,"f":52,"h":52,"k":[{"é":52}],"n":52,"o":[{"n":11}],"r":52,"t":52,"u":[{"s":22},51]}],"t":[{"a":82,"k":5,"l":52,"v":5}]}],"b":[{"l":5,"r":5}],"d":[{"r":5}],"e":[{"d":[{"z":5}],"f":[{"f":5}],"g":[{"e":52,"é":[{"r":19}]}],"k":[{"e":[{".":51}]}],"l":[{"f":5,"m":5,"o":52}],"m":[{"l":52}],"n":[{"c":52,"e":52,"g":5}],"p":[{"i":51,"r":[{"i":5}]}],"r":[{"ő":5}],"s":[{"e":[{"t":19}],"é":5}]}],"é":[{"g":[{"e":[{"l":73}],"é":[{"s":11}],"i":[{"d":11}],"k":[{"é":[{"s":[{"z":65}]}]}]}],"l":[{"v":5}],"r":[{".":52,"i":51,"t":[{"é":52}]}],"v":[{"e":[{".":19,"t":19}],"é":[{"n":19,"t":19}],"h":5,"i":[{".":11}]}]}],"f":[{"ö":[{"l":32}],"r":5}],"h":[{"i":[{"n":6,"s":6}]}],"i":[{"d":[{"o":5}],"g":[{"a":5},11],"n":[{"d":5,"f":5,"t":5,"v":5}],"ó":10,"p":[{"a":[{"r":11},0]}],"r":[{"o":5}],"s":[{"t":[{"e":[{"n":52}]}]}],"t":[{"a":5}],"z":[{"o":19}]}],"k":[{"a":[{"t":[{"u":54}]}],"l":5,"r":19,"v":5}],"l":[{"a":[{"g":6,"t":54}]}],"m":[{"e":[{".":53,"k":53,"r":[{"e":53}]}],"é":[{"r":[{"v":53}]}],"o":47,"ű":47}],"o":[{"b":52,"l":51,"r":[{"c":52,"d":52,"o":[{"s":[{"z":11}]}],"r":[{"a":52,"ó":52}],"v":5}],"s":[{"k":[{"o":52}],"z":5}],"t":[{"t":52}]}],"ó":[{"r":[{"á":19}]}],"ö":[{"b":52,"c":51,"l":5,"n":5,"r":[{"d":5,"e":5},11],"s":5,"v":19}],"ő":[{"r":19}],"p":[{"e":[{"k":54}],"r":11,"u":[{"r":54}]}],"s":[{"p":19,"t":[{"a":5,"á":5}],"z":[{"e":[{"r":[{"e":[{"i":15,"k":15,"m":3,"s":15}]}]}],"i":[{"g":25,"l":25}],"í":25,"ó":25,"ö":25,"ő":25,"ú":25,"ű":25}]}],"t":[{"a":[{"s":[{"z":26},3]}],"á":[{"p":53}],"e":[{"n":[{"h":53,"o":30}]}],"i":[{"l":54}],"r":[{"e":[{"z":5}],"é":5,"i":5,"o":5}],"v":53}],"u":[{"d":52,"j":[{"j":5}],"t":[{"a":5,"á":5},11]}],"ú":[{"j":52}],"ü":[{"g":52,"s":[{"t":5}],"t":[{"ő":[{"t":51}]}],"z":52}],"v":[{"a":[{"d":[{"á":[{"s":[{"s":30}]}]}]}],"i":[{"n":48}],"í":[{"z":7}]}],"z":[{"a":[{"k":[{"o":30}],"p":[{"á":17,"e":30}]}],"á":[{"r":[{"á":25,"k":9,"l":25,"ú":25}]}],"e":[{"g":[{"y":8}],"l":[{"v":56}],"n":[{"e":25}],"s":[{"e":[{"m":9}]}]}],"é":[{"j":0}],"f":[{"é":[{"r":11}]}],"i":[{"m":[{"i":0}],"n":[{"g":9}],"s":[{"k":9,"t":9}]}],"k":[{"l":9,"ö":[{"v":2}],"ú":14}],"ö":[{"l":9,"s":9}],"s":20,"t":[{"a":[{"t":[{"i":11}]}],"á":[{"r":[{"a":[{"s":3}],"b":14,"t":11}]}],"é":[{"k":[{"n":14}],"r":[{".":14}]}],"i":[{"l":[{"l":14}],"n":[{"a":[{"i":15}]}]}],"ö":[{"l":14}],"ő":[{"r":[{".":14}]}],"ü":[{"z":11}]}],"ü":[{"g":61,"t":0}],"ű":[{"r":[{"ö":[{"d":[{"n":25}]}]}]}]}]}],"t":[{"a":[{"c":[{"é":19}],"d":[{"ó":19},8],"g":[{"r":8,"y":[{"a":5}]}],"k":[{"k":52,"n":52}],"l":[{".":50,"a":[{"d":11}],"á":[{"r":[{"ú":2}]}],"b":0,"e":[{"l":14}],"é":32,"h":0,"i":[{"n":[{"a":11},32]}],"j":0,"k":0,"l":[{"o":5}],"m":50,"n":50,"o":0,"ó":2,"r":50,"t":110,"u":0}],"n":[{"ó":5,"t":5}],"r":[{"a":52}],"u":52}],"á":[{"c":[{"s":[{".":5}]}],"g":[{".":5,"a":19}],"n":[{"a":[{"t":14},32]}],"r":[{"a":[{"k":11,"m":51,"s":19,"t":19}],"á":[{"r":11,"t":11}],"i":[{"a":51,"g":11,"s":11}],"ó":[{"r":14},32],"u":[{"k":11}],"ú":11}],"s":[{"k":[{"é":[{"s":[{"z":65}]}]}],"z":4}],"t":[{"a":[{"l":11}],"f":5}]}],"b":[{"l":5,"r":5}],"d":[{"r":5}],"e":[{"l":[{"a":14,"á":14,"e":[{"g":11,"m":[{"z":0}],"n":[{"g":11}],"s":[{"é":11}],"x":11}],"é":[{"l":11,"r":[{".":14}]}],"i":[{"n":[{"j":11}]}],"j":[{"á":5}],"l":[{"e":[{"n":52}]}],"m":[{"é":[{"l":[{"y":6}]}]}],"o":11,"ő":[{"z":11}]}],"m":[{"e":[{"l":51}],"l":52}],"p":51,"r":[{"e":[{"z":51}],"ő":52},47],"s":[{"e":[{"t":[{"e":51}]}]}],"z":[{"r":5}]}],"é":[{"g":[{"e":52},11],"l":[{"e":19,"m":5}],"r":[{"e":[{"t":51}],"z":52}],"t":[{"e":[{"k":11}],"t":52}]}],"f":[{"l":5,"r":5}],"g":[{"l":5,"n":5,"r":5}],"h":[{"o":[{"t":54}]}],"i":[{"d":52,"g":[{"a":[{"z":22}],"é":52},11],"k":[{"o":19,"r":5,"u":[{"s":[{"s":22}]}]}],"l":[{"l":5}],"m":[{"p":5}],"n":[{"d":52,"f":52}],"p":[{"a":19}],"r":[{"á":52,"o":52,"ó":5}],"s":[{"k":5,"m":52,"z":[{"a":5,"o":19}]}]}],"í":[{"g":52,"z":52}],"k":[{"l":5,"o":[{"s":[{"s":7}]}],"r":5}],"o":[{"b":[{"e":5},11],"k":[{"a":[{"j":14,"k":11}],"o":[{"l":14}]}],"n":[{"á":2}],"p":[{"l":[{"a":10}]}],"r":[{"a":[{"s":14}],"á":[{"l":11}],"i":[{"l":11}]}],"s":[{"z":[{"f":75},47]}],"v":52}],"ó":[{"a":10,"f":8,"k":[{"á":[{"n":50}]}],"n":[{"é":51,"n":52,"t":52}],"p":8,"r":[{"á":5}],"s":[{"p":9,"t":9},10]}],"ö":[{"n":[{"t":5}],"s":52}],"ő":[{"r":[{"l":5}]}],"p":[{"l":5,"r":5}],"s":[{"p":5}],"t":[{"a":[{"d":53,"m":53,"n":[{"á":[{"s":17}],"é":30,"ó":17}]}],"e":[{"g":12},47],"i":[{"n":[{"a":13,"g":12}]}],"r":[{"a":5,"ó":5}],"u":[{"k":53,"n":53}],"y":[{"i":3}]}],"u":[{"g":52,"n":[{"d":52,"i":14}],"r":[{"a":[{"l":11}],"á":[{"n":19}]}]}],"ú":[{"j":5}],"ü":[{"g":52,"l":[{"d":5}],"s":[{"t":5}],"t":52}],"z":[{"é":54,"i":54}]}],"u":[{"g":[{"a":6,"o":6}],"m":[{"a":[{"b":6,"c":6,"d":12,"f":6,"g":12,"l":6,"m":12,"n":13,"r":13,"s":12,"t":13,"v":12,"z":6}],"á":[{"l":13}],"e":[{"g":6,"l":12,"n":12,"r":6,"s":12,"z":6}],"é":[{"l":6,"r":[{"é":12}]}],"i":[{"d":13,"l":[{"l":9}],"m":12,"n":[{"j":9}],"p":13,"s":12,"z":12}],"í":6,"o":[{"l":6,"r":12}],"ó":13,"ö":6,"ő":6,"p":8,"ü":6}],"n":[{"a":6,"o":6}],"r":[{"a":6,"á":6,"u":6}],"s":[{"s":[{"z":[{"e":20}]}]}],"t":[{"a":6,"ó":6,"u":6}],"z":[{"s":6}]},48],"ú":[{"b":[{"á":0,"e":0,"é":0,"i":0,"o":0,"ö":0,"r":52}],"c":[{"i":0,"í":0}],"d":[{"á":0,"e":0,"o":0,"z":0}],"é":[{"l":0}],"f":[{"r":5}],"h":[{"a":0,"á":0,"e":0,"i":0,"ö":0,"ő":0,"u":0,"ú":0}],"i":[{"f":0}],"j":[{"e":0,"í":6,"ó":0}],"k":[{"e":0,"í":0,"l":52,"ó":0,"ö":0,"u":0}],"m":[{"e":0,"ó":0,"u":0,"ű":0}],"n":[{"e":0,"é":0,"ö":0}],"r":[{"e":0,"i":6,"o":6,"u":0}],"s":[{"e":0,"o":0,"p":52}],"t":[{"a":0,"á":0,"e":0,"é":6,"í":0,"ö":0,"ú":0}],"v":[{"e":0,"é":0,"i":0,"o":0}],"z":[{"e":0}]},48],"ü":[{"c":[{"s":6}],"g":[{"e":6,"y":6}],"l":[{"e":6,"é":6,"i":6,"ö":6,"ő":6,"ü":6}],"r":[{"e":6,"í":6,"ü":6}],"t":[{"e":6,"é":6,"i":6,"ö":6,"ő":6,"ü":6}],"v":[{"e":6,"ö":6}],"z":[{"e":6}]},48],"ű":[{"z":[{"e":6,"é":6,"ő":6}]},48],"v":[{"a":[{"c":[{"s":[{"a":[{"l":11}],"e":44}]}],"d":[{"é":50}],"r":[{"a":[{"i":14,"j":11}],"e":11,"i":[{"n":11}],"o":[{"l":11}],"ó":11,"s":3}],"t":[{"a":[{"n":2}],"e":2,"i":[{"n":11}],"o":[{"l":11}],"ó":2,"ö":14}]}],"á":[{"s":[{".":50,"b":50,"é":50,"n":50,"r":50,"s":50}]}],"e":[{".":0}],"o":[{"t":53}],"ó":[{"k":[{"é":[{"s":[{"z":28}]}]}],"s":10}],"ő":[{"é":10}],"r":[{"é":6}]}],"x":[{"a":[{"b":52,"d":52,"n":52,"r":52,"s":5}],"á":[{"g":52}],"b":[{"l":5}],"e":[{"f":52,"g":52,"x":52}],"é":[{"p":52}],"f":[{"r":5}],"i":[{"m":52,"n":52,"o":52,"r":52,"s":52,"t":11}],"o":[{"b":52,"p":52}],"ö":[{"d":5,"s":5}],"ő":[{"r":5,"s":5}],"p":[{"l":5,"r":5}],"ú":[{"j":52}],"ü":[{"l":52}]}],"z":[{"a":[{"k":[{"n":5}],"l":[{"a":[{"g":43}],"k":5}],"s":[{"p":9},10]}],"á":[{"r":[{"n":[{"y":5}]}]}],"b":[{"l":5}],"e":[{"d":[{"á":2,"é":[{"k":14}]}],"g":[{"y":5}],"l":[{"e":[{"m":51,"t":[{"e":[{"l":32}]}]}],"é":[{"r":51}],"ő":[{"í":51}]}],"m":[{"b":[{"e":[{"r":5}]}]}],"n":[{"e":[{"g":32}],"n":27}],"s":[{"á":2,"e":[{"m":[{"é":52}]}]}],"v":52}],"é":[{"d":0,"g":52,"j":50,"k":50,"l":0,"p":51,"s":[{"í":50}]}],"f":[{"l":5}],"g":[{"a":[{"l":53,"t":[{"o":[{"t":53}]}]}]}],"i":[{"g":[{"a":52,"é":52}],"n":[{"f":5,"t":5}],"r":[{"o":5}],"s":[{"k":52,"m":52,"p":8}]}],"m":[{"o":[{"k":53}],"u":[{"k":53,"s":[{"s":7}]}],"ú":53}],"o":[{"k":[{"t":5}],"l":[{"á":50}],"m":[{"a":14,"á":[{"l":11}],"b":50,"é":53,"f":53,"m":50,"n":50,"r":50,"s":53,"t":50,"z":53}],"p":8,"s":[{"z":[{"t":[{"a":9}]}]},0],"t":[{"ó":53}]}],"ó":[{"d":[{"a":2}],"r":[{"á":5}]}],"p":[{"l":5,"r":5}],"s":[{"a":[{"d":56,"i":[{"k":10}],"k":[{"n":0}],"l":[{"l":56}],"r":[{"a":9}],"u":[{"t":[{"ó":[{"k":45}]}]}]}],"á":[{"g":128,"l":56}],"e":[{"c":0,"m":[{"b":[{"e":56}]}],"v":0}],"é":[{"t":[{"e":9},10]}],"i":[{"l":0,"m":[{"p":56}],"s":[{"t":9}],"t":[{"a":0}],"z":0}],"o":[{"r":25}],"ő":56,"s":9,"t":[{"r":25}],"ü":[{"l":56}],"z":[{"e":25}]}],"t":[{"o":[{"s":[{"s":7}]}]}],"u":[{"d":[{"v":5}],"r":[{"a":7}]}],"ú":[{"t":19}],"ü":[{"g":51,"t":52,"z":51}],"z":[{"i":53,"í":53,"o":[{"t":53}]}]}]}],"í":[{".":47,"a":48,"á":48,"b":[{"a":[{"l":14}],"i":[{"s":0}],"o":[{"r":[{"a":[{"s":14}]}]}]}],"c":[{"i":[{"u":[{"s":[{"s":7}]}]}]}],"d":[{"a":[{"c":19,"d":19,"l":[{"a":[{"g":43}]},19],"n":19,"v":19,"z":19}],"á":[{"g":5,"l":5,"r":19,"t":5}],"b":[{"l":5}],"e":[{"g":19,"l":19,"m":19}],"é":[{"g":51,"l":52,"p":52,"r":[{".":52,"z":52}]}],"i":[{"g":[{"a":52,"é":52},11],"n":52,"r":51}],"í":[{"v":5}],"o":[{"l":52,"m":52,"s":52}],"ö":[{"s":5}],"ő":[{"r":19}],"p":[{"r":5}],"s":[{"t":5}],"u":[{"d":52,"g":52}],"ú":[{"j":5}],"ü":[{"g":5,"n":5,"z":5}],"z":[{"á":25,"s":25}]}],"e":48,"é":[{"l":[{"e":6}]},48],"g":[{"a":[{"g":51}],"e":[{"p":19,"s":11}],"é":[{"r":63}],"o":[{"p":52}],"t":[{"r":5}],"y":[{"á":10}]}],"i":[{"r":[{"o":6}]},48],"í":48,"j":[{"a":[{"d":[{"á":51,"ó":51}],"j":51,"k":[{"c":52}],"l":51,"n":[{"y":5}],"r":51,"u":51}],"á":[{"c":51,"g":51,"r":[{"á":52,"e":52,"t":52,"u":52}],"s":[{"z":[{"e":11,"k":[{"a":5}]}]},50],"t":[{"a":52,"e":51,"h":52,"l":52,"o":[{"s":11}],"t":52,"u":52,"v":52}],"z":51}],"e":[{"g":19,"l":[{"i":10},19],"m":19,"n":5,"r":19,"s":19}],"é":[{"p":5,"r":[{"e":52},11]}],"f":[{"r":5}],"i":[{"d":51,"m":52,"n":[{"t":52}],"r":[{"á":32},52]}],"í":[{"g":5,"n":5}],"k":[{"r":5}],"o":[{"d":51,"k":52,"l":52,"s":52,"t":52}],"ö":[{"n":5,"s":5,"v":19,"z":5}],"p":[{"l":5,"r":5}],"s":[{"k":5,"p":5,"t":42}],"u":[{"g":52,"t":51}],"ú":[{"t":52}],"ü":[{"g":5,"t":19}]}],"k":[{"a":[{"b":[{"l":52}],"c":51,"g":51,"l":51,"n":52,"r":5,"s":[{"z":5},11],"v":19}],"á":[{"b":52,"g":52,"l":5,"r":51}],"e":[{"g":52,"l":51,"m":5,"s":52,"v":5}],"é":[{"k":51,"r":[{".":52,"b":52,"ő":51}]}],"f":[{"r":5}],"i":[{"d":51,"n":[{"g":52}],"r":51}],"í":[{"n":5,"r":5}],"k":[{"r":19}],"l":[{"u":54}],"o":[{"l":[{"l":5}],"p":52,"r":[{"n":52,"r":52,"s":52}]}],"ö":[{"l":11,"v":51}],"p":[{"l":5,"r":5}],"s":[{"p":5,"z":42}],"u":[{"g":52,"n":[{"i":0}],"r":51,"t":51}],"ú":[{"t":51}],"ü":[{"v":19}]}],"l":[{"a":[{"j":5,"k":19,"l":19}],"á":[{"g":51,"s":[{"i":[{"k":14},32],"s":27,"z":4}],"t":52}],"b":[{"l":5,"r":5}],"e":[{"g":19}],"é":[{"r":[{"z":52}]}],"i":[{"a":[{"s":11}],"m":51,"r":51,"s":52}],"í":[{"r":19,"v":19}],"k":[{"r":5}],"ö":[{"s":5,"z":19}],"s":[{"t":5}],"t":[{"á":[{"r":[{"k":12,"o":12,"t":12}]},10],"e":12,"é":13}],"u":[{"r":51,"s":[{"a":[{"b":11}],"e":11,"s":27,"z":4}]}]}],"m":[{"a":[{"n":11,"p":9}],"á":[{"l":51,"r":[{"i":[{"s":11}]}],"s":[{"s":3}]}],"b":[{"l":5,"r":19}],"d":[{"r":5}],"e":[{"g":51,"l":[{"í":5,"m":52}],"r":[{"a":2,"á":14,"e":[{"g":11}],"ő":19}],"s":[{"e":[{"m":52}]}],"v":51}],"é":[{"h":[{"e":[{"t":51}]}],"k":51,"p":52,"r":[{".":52,"é":51,"ő":[{".":51,"i":51}],"r":52,"t":[{"e":52,"é":52}]}]}],"i":[{"d":51,"g":[{"a":52,"é":52},11],"l":[{"l":52}],"n":[{"d":52,"f":52}],"r":[{"a":52}],"s":52,"v":51}],"í":[{"r":5}],"k":[{"r":5}],"o":[{"k":74,"l":5,"n":5,"p":19,"s":5}],"ö":[{"k":5,"l":19,"s":5,"t":5}],"ő":[{"r":19}],"p":[{"r":19}],"s":[{"p":5,"t":5}],"u":[{"r":19,"t":19}],"ü":[{"g":52,"n":[{"n":52}],"t":52}]}],"n":[{"a":[{"b":52,"c":[{"é":19}],"d":[{"a":5,"á":5,"o":5},11],"g":51,"j":51,"k":[{"a":52,"k":52}],"l":[{"a":19,"j":5,"k":5}],"n":[{"a":5,"y":19}],"p":51,"r":[{"á":51,"c":52}],"s":[{"s":5}],"t":[{"l":5,"t":5}],"u":52,"z":52}],"á":[{"b":[{"r":5}],"c":51,"g":52,"l":[{"h":[{"a":[{"j":0}]}],"m":52}],"p":51,"t":[{"a":82,"c":5,"e":5,"f":5,"h":5,"l":5,"m":5,"t":5,"v":5}],"z":51}],"b":[{"l":5,"r":5}],"d":[{"r":19}],"e":[{"f":52,"g":51,"k":[{"e":[{".":51}]}],"l":[{"c":52,"e":51,"h":52,"j":52,"k":52,"l":52,"m":52,"n":[{"y":52}],"o":51,"ö":52,"ő":[{"h":51}],"r":52,"t":[{"á":52,"o":52}],"v":[{"á":52}]}],"m":[{"e":[{"l":51}],"l":52,"u":51}],"n":[{"e":52},11],"s":[{"d":0,"z":51}],"v":[{"é":51}]}],"é":[{"g":5,"l":[{"e":52,"é":5,"ő":5,"t":5},11],"p":51,"r":[{".":52,"d":0,"i":52,"l":52,"m":52,"ü":52}],"s":[{"z":[{"a":11,"e":[{"r":11}],"i":[{"n":[{"t":11}]}],"o":11}]}],"t":[{"e":52}],"v":[{"e":[{"n":51}]}]}],"f":[{"r":19}],"g":[{"r":19}],"i":[{"g":[{"a":52,"é":52},11],"k":[{"o":51}],"l":[{"l":52}],"n":[{"d":5,"f":52,"g":52,"t":52}],"o":50,"r":[{"á":19,"o":52}],"s":[{"m":52}],"z":51}],"í":[{"z":5}],"k":[{"l":19,"r":19,"v":19}],"n":[{"y":[{"ú":25}]}],"o":[{"b":52,"l":52,"p":52,"r":52,"s":[{"z":52}]}],"ó":[{"l":19}],"ö":[{"n":5,"r":5,"s":5,"t":5,"v":19,"z":19}],"p":[{"l":5,"r":5,"s":5}],"s":[{"k":19,"o":[{"k":30}],"p":19,"t":89,"z":42}],"t":[{"r":19}],"u":[{"g":5}],"ú":[{"j":5}],"ü":[{"d":52,"g":51,"l":[{"t":52}],"t":51,"v":51}],"y":[{"e":[{"c":8,"g":8,"l":9,"r":8}],"i":[{"n":[{"g":9}]}]}]}],"o":48,"ó":[{"v":[{"o":6}]},48],"ö":48,"ő":48,"p":[{"a":[{"g":51,"n":51}],"á":[{"l":[{"c":52}]}],"é":[{"l":52,"s":[{"s":27}]}],"i":[{"z":51}],"r":[{"o":25}],"u":[{"j":52,"s":[{"a":[{"n":11}],"s":27,"z":27}]}]}],"r":[{"a":[{"d":[{"ó":19}],"k":[{"c":5,"n":5,"t":5}],"l":[{"a":19,"j":5,"k":5}],"p":[{"l":9,"r":9}],"r":[{"c":5}],"u":51}],"á":[{"b":[{"r":52}],"g":51,"p":51,"r":[{".":5,"a":[{"k":5}],"o":51,"u":19}],"s":[{"á":[{"s":52}],"e":11,"k":[{"é":[{"s":[{"z":65}]}]}],"s":27,"z":0}],"t":[{"a":74,"e":82,"h":52,"s":5,"v":5}],"z":[{"a":5}]}],"b":[{"l":5,"r":5}],"d":[{"r":19}],"e":[{"d":[{"é":19}],"g":51,"k":[{"é":[{"s":51}]}],"l":[{"a":3},51],"m":[{"b":[{"e":[{"r":52}]}],"l":5,"u":5}],"n":[{"e":5},11],"r":51,"s":[{"e":[{"m":52}],"ő":51,"z":[{"k":52}]}],"v":52}],"é":[{"g":51,"j":52,"k":51,"l":51,"p":52,"r":[{"i":51}],"s":52,"t":[{"e":51}],"v":[{"h":5}]}],"f":[{"r":19}],"g":[{"l":5,"r":19}],"i":[{"g":[{"a":52},11],"k":[{"o":5}],"l":[{"l":52}],"m":52,"n":[{"d":5,"f":52,"j":52,"s":5,"t":52}],"p":51,"r":[{"a":5}],"s":[{"z":[{"á":44}]},0],"z":51}],"í":[{"n":5,"r":5,"v":5,"z":19}],"k":[{"l":19,"r":19,"v":5}],"n":[{"o":[{"k":53}]}],"o":[{"b":51,"g":53,"k":[{"l":52,"m":52}],"l":[{"a":52,"d":52,"v":52},11],"r":51,"s":[{"z":52}],"v":51,"x":51}],"ó":[{"á":10,"d":[{"j":0,"o":0,"ó":0,"t":0}],"í":0,"p":8,"s":[{"p":8,"z":9}],"t":[{"r":9},10]}],"ö":[{"n":5,"r":5,"s":52,"z":51}],"ő":[{"r":51,"s":19}],"p":[{"l":19,"r":19}],"s":[{"h":5,"k":19,"p":19,"r":19,"t":19,"z":[{"t":32},10]}],"t":[{"a":[{"g":12,"l":[{"a":[{"p":9}]}]}],"é":[{"t":[{"e":8}]}],"h":[{"a":32}],"r":[{"a":[{"n":5}],"o":5}],"u":[{"r":13}]}],"u":[{"n":[{"d":52,"i":52},11],"r":51,"s":[{"e":2,"s":27}],"t":51}],"ú":[{"j":52,"r":52,"s":51,"t":[{"j":52,"n":52,"o":51,"r":52,"t":52}]}],"ü":[{"g":51,"l":11,"r":5,"v":19,"z":52}],"ű":[{"z":19}]}],"s":[{"p":[{"o":6}],"t":[{"í":6}],"z":[{"a":[{"j":9,"k":[{"o":7},10],"l":8,"s":9,"t":9,"u":9}],"á":61,"e":[{"b":56,"d":[{"é":0}],"g":61,"l":[{"e":[{"m":61}],"l":56,"n":0,"ő":61,"v":56}],"m":[{"b":56,"e":[{"l":61}],"l":56}],"r":[{"k":56}]}],"é":[{"g":0,"l":61,"p":61,"r":[{"e":[{"m":9}],"t":56}],"t":[{"k":56}]}],"g":8,"i":[{"d":56,"n":56},10],"í":[{"r":0,"v":56}],"k":8,"o":61,"ó":61,"ö":[{"l":9,"n":9}],"ő":61,"p":8,"s":20,"t":[{"r":9}],"u":56,"ú":56,"ü":[{"l":[{"é":56},10],"n":[{"n":0}],"t":0}],"z":9}]}],"t":[{"a":[{"u":39}],"á":[{"s":[{"á":[{"g":2}]}]}],"é":[{"k":[{"a":[{"l":2}],"e":[{"l":2}]}],"l":50,"s":[{"a":11,"é":[{"g":[{".":14,"é":2,"r":14}]}],"z":[{"a":11,"á":11,"o":11,"s":38}]}]}],"ó":[{"a":10,"f":9,"g":[{"é":[{"p":[{"é":[{"s":64}]}]}]}],"p":8,"s":[{"p":9,"t":[{"a":9}]}],"t":[{"r":9},10]}],"r":[{"é":6}],"u":[{"s":[{"s":27}]}]}],"u":48,"ú":48,"ü":[{"d":[{"ü":6}]},48],"ű":48,"v":[{"a":[{"d":51,"j":[{"á":19,"k":5,"t":5}],"l":[{"a":51,"j":52}],"n":[{"a":51,"g":5,"ó":52,"y":51}],"r":[{"c":5,"i":19}],"s":[{"z":[{"t":52}]}]}],"á":[{"b":[{"r":5}],"g":51,"l":52,"r":[{"a":[{"d":19,"m":51}],"k":52,"n":52,"t":52,"u":0}],"s":[{"s":27,"z":4}],"t":[{"a":5}]}],"b":[{"l":5}],"d":[{"r":5}],"e":[{"c":11,"d":[{"z":51}],"g":51,"j":52,"l":[{"e":[{"k":0,"m":[{"b":19,"e":19,"é":19,"r":19}]}],"g":0,"ő":[{"l":19}]}],"m":[{"b":[{"e":[{"r":52}]}]}],"n":[{"d":52,"e":52},11],"r":[{"e":5,"é":5,"ő":5},11],"s":[{"e":[{"m":[{"é":52}]}],"z":52}],"t":[{"e":[{"t":51}]}]}],"é":[{"g":51,"k":51,"l":[{"e":51,"m":52,"ő":51,"t":5}],"p":52,"r":[{".":52,"d":52,"i":51,"r":52,"t":[{"é":5}],"v":52,"z":52}],"t":[{"e":51}]}],"f":[{"r":5}],"i":[{"d":51,"g":[{"a":52},11],"k":[{"e":5},11],"l":[{"l":52}],"m":52,"n":52,"p":51,"r":[{"o":5}],"s":[{"e":[{"l":14,"s":11}],"s":3}],"v":[{"a":5}],"z":51}],"k":[{"l":5,"r":5}],"o":[{"l":52,"p":52,"r":52,"s":[{"z":52}],"x":52}],"ó":[{"s":[{"p":8}]}],"ö":[{"b":52,"r":51,"s":52,"v":5,"z":51}],"p":[{"l":5,"r":5}],"r":[{"e":[{"n":[{"d":[{"e":32}]}]}]}],"s":[{"k":5,"p":5,"t":5,"z":[{"k":5},10]}],"t":[{"r":5}],"u":[{"g":52,"l":[{"t":5}],"r":52,"t":51}],"ú":[{"j":5,"t":5}],"ü":[{"g":52,"r":52,"t":52,"v":51,"z":52}]}],"z":[{"a":[{"b":5,"d":19,"g":19,"j":5,"k":19,"l":19,"n":11,"r":5,"u":19}],"á":[{"g":19,"l":5,"p":19,"r":[{"ó":15},19],"s":[{"s":3}],"t":[{"a":[{"d":15}],"á":3,"e":15},19]}],"b":[{"l":5}],"d":[{"r":19}],"e":[{"f":52,"g":51,"j":52,"l":[{"á":41,"e":[{"l":14}],"ö":11,"ő":11}],"m":[{"e":[{"l":52}],"é":0}],"n":[{"e":52},11],"r":51,"s":[{"í":50,"z":51}],"t":[{"i":51}],"u":52,"v":51,"x":52,"z":51}],"é":[{"g":52,"k":[{"k":5}],"l":51,"p":51,"r":[{".":52,"b":52,"d":52,"e":[{"l":52,"n":51}],"h":52,"i":72,"k":52,"m":52,"n":52,"r":52,"s":52,"t":[{"e":52,"é":52,"ő":52}],"v":52,"z":52}],"s":[{"a":11,"z":5}],"v":[{"i":5}]}],"f":[{"r":5}],"g":[{"l":5}],"i":[{"c":[{"c":5}],"g":[{"é":52},11],"k":[{"o":5}],"l":[{"l":52}],"m":[{"á":0,"i":52,"p":52}],"n":[{"d":52,"f":52,"t":52}],"ó":[{"é":[{"r":[{"a":11},32]}],"t":[{"o":11}]}],"p":[{"a":51}],"r":[{"a":52,"á":5}],"s":[{"o":11,"z":[{"a":11,"o":11,"ó":11}]}],"t":[{"a":51}],"v":[{"á":51}]}],"í":[{"v":19,"z":5}],"k":[{"l":5,"r":19}],"o":[{"k":11,"n":5,"r":5,"s":5}],"ó":[{"r":[{"á":19}]}],"ö":[{"b":5,"d":5,"k":5,"l":19,"m":5,"n":5,"r":5,"s":5,"v":19,"z":5}],"p":[{"e":[{"n":7}],"f":5,"l":5,"r":19}],"s":[{"a":[{"l":9,"s":9,"u":9},107],"á":[{"g":128,"r":[{"o":9},10],"v":25}],"e":[{"b":25,"l":61,"s":[{"e":9},10]}],"i":[{"n":56,"t":56}],"í":25,"o":[{"k":9,"r":25},0],"ó":61,"ö":0,"s":9,"t":[{"r":25}],"u":55,"ú":0,"z":25}],"t":[{"r":19}],"u":[{"g":52,"j":52,"m":[{"e":11,"i":14}],"n":[{"d":5}],"r":51,"t":52}],"ú":[{"r":5,"t":19}],"ü":[{"g":51,"l":[{"e":0}],"r":52,"s":52,"t":52,"v":52,"z":51}],"ű":[{"e":0,"n":0,"r":50,"v":0}]}]}],"j":[{".":47,"a":[{"c":[{"é":54}],"d":[{"a":[{"g":58,"l":58,"t":[{"á":6,"o":58}]}],"m":86,"o":[{"m":58,"t":58}],"ó":[{"h":6,"s":6,"t":6,"v":6,"z":6}],"u":[{"s":6}]}],"f":[{"r":19}],"g":[{"a":[{".":6}],"g":86,"i":58}],"k":[{"a":[{"d":[{"é":6},47]}],"á":[{"l":12,"p":13,"r":[{"n":12}]}],"c":[{"i":86}],"e":[{"c":12,"l":12,"m":13,"s":6}],"é":[{"r":[{"e":9,"i":12}]}],"f":47,"i":[{"m":[{".":12}],"z":12}],"í":[{"r":13}],"k":[{"u":86},8],"o":[{"v":[{"i":9},10]}],"ó":[{"k":6}],"ö":[{"l":[{"t":[{"s":12}]}],"s":12}],"r":[{"o":86}],"t":[{".":86,"i":86,"u":86},10]}],"l":[{"g":86,"k":86,"l":86,"m":86}],"m":[{"b":[{"e":11,"u":47}],"e":[{"s":6}]}],"n":[{"a":[{".":47,"i":66,"l":6,"t":6}],"o":58,"s":[{"z":[{"e":11,"ü":11}]}],"y":[{"a":6}]}],"r":[{"a":[{"n":6}],"á":58,"c":86,"o":[{"m":6}]}],"s":[{"z":[{"á":[{"s":58}]}]}],"t":[{"k":86,"r":[{"ó":86}]}],"u":[{"r":6,"t":[{"o":6}]}],"v":[{"a":[{"t":47}]}],"x":[{"i":6}],"z":[{"o":[{"n":6}]}]},53],"á":[{"a":[{"r":6}],"b":[{"é":58,"r":86}],"g":[{".":86,"a":[{".":58,"d":129,"i":58,"k":58,"s":58,"t":58,"z":58}],"á":58,"b":86,"f":86,"g":86,"i":58,"k":86,"r":86,"y":58}],"í":[{"r":11}],"l":[{"l":86}],"n":[{"e":12,"é":[{"k":6}],"l":47}],"p":[{"o":6}],"r":[{"a":[{"d":[{"a":58}],"i":58,"k":58,"m":58,"r":6,"v":12}],"á":[{"n":58,"s":[{"s":38,"z":29}],"t":58,"v":58}],"e":[{"m":12,"s":6},10],"é":[{"r":6}],"i":[{"g":58,"s":12}],"k":[{"i":86,"o":86}],"n":[{"y":86}],"o":[{"n":58,"t":12}],"ó":25,"ő":6,"t":[{"a":[{"l":86}],"á":[{"s":86}]}],"u":[{"k":58,"s":47,"t":48}],"v":[{"á":[{"l":86}]}],"z":86}],"s":[{"a":[{"d":12,"l":6,"n":6}],"á":[{"g":12,"r":[{"a":[{"i":13,"k":12}]}],"s":6}],"e":13,"i":[{"t":6}],"í":12,"o":[{"l":12}],"ó":58,"ö":6,"t":10,"ü":13,"z":[{"a":[{"l":24}],"e":32,"i":[{"s":6}],"o":[{"k":[{"t":[{"a":24}]}]}],"ó":[{"i":3,"n":3,"r":15}]}]}],"t":[{"a":[{"d":[{"ó":[{".":8,"k":[{".":8}],"n":[{".":8}],"t":8}]}],"l":58}],"á":[{"z":86},13],"é":[{"k":[{"e":16}]}],"f":[{"e":86}],"h":[{"á":86}],"i":58,"í":[{"r":86}],"l":[{"é":86}],"m":86,"o":[{"s":[{"z":9}]}],"ö":102,"s":[{"z":[{"ű":47}]}],"ü":58,"v":[{"é":86,"i":86}]}],"z":[{"s":25}]},53],"b":[{"a":[{"l":14}],"l":[{"o":6}],"r":[{"i":6,"ó":6}],"ű":[{"n":[{"ü":2}]}]}],"c":[{"h":[{"o":25}],"s":[{"a":[{"p":[{"á":26}]}],"s":9}]}],"d":[{"o":[{"n":[{"a":[{"l":11}]}]}],"r":[{"á":54,"o":54,"u":54}],"ú":[{"k":[{"ö":[{"z":22}]}]}]}],"e":[{"a":[{"l":11,"n":11}],"b":[{"é":6}],"d":[{"é":[{"n":58}],"z":58}],"e":[{"n":11}],"f":[{"r":19}],"g":[{"e":[{"d":47}],"é":[{"s":[{"z":22},6]}],"y":[{"e":[{"g":6,"l":[{"s":3,"v":3},6],"s":[{"í":58}]}],"é":[{"k":23}],"i":[{"n":24}],"o":24,"ő":6,"u":6,"ú":24,"ű":[{"r":[{"ű":23}]}]}]}],"k":[{"c":[{"é":48}],"r":[{"i":5}],"t":[{"a":2,"á":[{"r":2}],"e":[{"l":2,"r":11}]}]}],"l":[{"a":[{"j":6,"n":12,"p":12,"r":6,"v":6,"z":6}],"á":[{"b":12,"g":6,"l":6,"r":12,"t":116,"z":6},10],"e":[{"g":[{"y":8}],"l":[{"e":[{"v":130}],"k":12,"l":12,"ő":[{"á":13,"b":13}],"s":12}],"m":[{"e":[{"l":12}],"é":47,"l":12,"z":58}],"n":[{"g":12}],"r":13,"s":[{"é":[{"s":9}],"i":[{"k":9}],"n":[{"i":12}],"ő":13,"t":[{"e":9}],"z":12}],"t":[{"e":[{"t":12}]}],"v":[{"o":9}]}],"é":[{"g":6,"j":12,"l":6,"p":12,"r":[{"t":[{"e":6}]}]}],"i":[{"g":[{"e":12}],"m":6,"n":[{"a":13,"f":12,"g":12,"t":12}]}],"í":13,"l":[{"e":[{"n":86}]}],"o":13,"ö":[{"v":12}],"ő":[{"a":6,"f":[{"e":58}],"í":6,"t":[{"u":58}]}],"p":8,"s":[{"z":[{"á":47,"o":47}]}],"t":[{"e":[{"t":[{"t":[{".":86}]}]}],"é":[{"r":47}]}],"u":6,"ú":6}],"m":[{"b":[{"a":86,"e":[{"r":86}]}],"e":[{"l":58}],"u":6}],"n":[{"á":12,"d":8,"e":[{"k":[{"e":[{".":13}]}],"l":12,"r":6,"s":[{"z":12},10]}],"i":[{"n":12}],"o":12,"ő":[{"r":[{"e":13}],"s":12}],"ü":12}],"p":[{"r":19}],"r":[{"d":86,"e":[{"d":6}],"ó":6,"ő":58}],"s":[{"a":12,"e":[{"m":[{"b":12}],"t":[{"b":58,"t":58}]}],"é":[{"r":12}],"ő":6,"t":[{"a":5,"r":5},10],"u":6,"ü":[{"v":13}],"z":[{"a":[{"c":20}]}]}],"t":[{"a":[{"m":12}],"á":[{"l":6}],"e":[{"l":[{"l":9}],"m":12}],"é":[{"k":12}],"o":12,"r":[{"a":5}],"u":[{"n":6,"t":6}]}],"u":[{"r":11}],"v":[{"ő":58}],"z":[{"ő":[{"k":[{"é":[{"s":[{"z":65}]}]}]}]}]},53],"é":[{"b":[{"r":86}],"g":[{"a":13,"á":[{"r":[{"a":[{"d":16}]}]},13],"e":[{"c":6,"d":6,"k":13,"l":12,"m":12,"r":[{"k":12}],"s":12,"t":6}],"é":[{"p":6,"r":[{".":12}],"s":6}],"g":20,"i":[{"d":12,"g":[{"é":6}],"m":6,"s":12},10],"o":12,"ó":6,"ö":6,"ő":62,"u":13,"ú":6}],"h":[{"e":[{"n":58,"s":58}],"s":86}],"k":[{"o":[{"s":12}],"ü":6}],"l":[{"e":58,"ő":6,"t":86}],"n":[{"a":[{"d":6}],"e":[{"s":[{"s":12}]}],"é":[{"g":13}],"i":[{"l":6}],"o":6,"ú":6}],"p":[{"í":6,"ü":6}],"r":[{".":86,"b":86,"d":86,"e":[{"g":6,"n":58}],"é":58,"h":86,"i":58,"k":86,"l":86,"m":86,"n":86,"r":86,"t":[{"e":86,"é":86,"ő":86}],"ü":58,"v":86,"z":86}],"t":[{"e":[{"l":6}],"k":86,"t":86}],"v":[{".":86,"b":86,"e":[{".":6,"k":58,"t":58}],"é":[{"n":6,"r":6,"t":6}],"h":48,"i":54,"k":48,"n":86,"r":86,"t":48,"ü":58,"v":48}]},53],"f":[{"e":[{"l":[{"e":[{"s":[{"s":22}]}]}]}],"l":[{"e":6,"o":6,"ó":6}],"ö":[{"l":[{"ö":[{"s":[{"s":22}]}]}]}],"r":[{"a":6,"e":6,"i":6,"í":6,"o":6,"ö":6}],"u":[{"n":[{"a":11}]}]}],"g":[{"l":[{"e":54,"ó":54}],"r":[{"u":6}]}],"h":[{"á":[{"r":[{"e":14}]}]}],"i":[{"d":[{"o":6,"ő":54}],"g":[{"a":58,"é":58}],"j":[{"e":6}],"k":[{"r":86}],"l":[{"l":86}],"m":[{"a":6,"á":6,"i":6}],"n":[{"a":[{".":58}],"á":[{"b":6}],"d":86,"f":86,"g":86,"j":86,"s":86,"t":[{"e":86,"é":86}]}],"o":[{"n":6}],"p":[{"a":6}],"r":[{"a":[{"t":58}],"á":58,"o":58,"r":86,"t":86}],"s":[{"k":86,"m":86,"t":86}],"t":[{"a":58}],"v":[{"á":58,"ó":58}],"z":[{"é":6,"o":6}]},53],"í":[{"g":[{"é":6}],"r":[{"á":6,"ó":6}],"t":[{"ó":[{"k":[{"é":[{"s":[{"z":65}]}]}]}]}],"v":[{"e":6,"é":6,"ó":6}],"z":[{"e":6,"é":6,"ü":6,"ű":6}]},53],"j":[{"a":[{"l":[{"j":52}],"z":51}],"á":[{"s":9}],"e":[{"l":[{"e":[{"s":[{"é":11,"i":11,"t":11}]}],"ü":[{"l":14}]}],"r":19}],"i":[{"m":52,"z":52}],"í":[{"v":5,"z":5}],"o":[{"l":52,"s":52}],"p":[{"r":5}],"ü":[{"g":5}]}],"k":[{"a":[{"p":[{"r":9}],"r":[{"d":5}],"u":10}],"e":[{"g":51,"l":[{"ő":51}],"s":51}],"é":[{"p":[{"e":[{"k":[{"é":2}]}]}]}],"i":[{"a":10,"á":10,"d":52,"e":10}],"l":[{"a":6,"á":6,"i":54,"o":54}],"m":[{"e":10}],"o":[{"l":[{"d":52}],"r":[{"á":[{"s":2}],"i":[{"n":14}]}]}],"ó":[{"r":[{"á":5}]}],"p":[{"l":5,"r":5}],"r":[{"é":54,"i":54,"í":54}],"s":[{"t":5}],"u":[{"s":51}],"ü":[{"g":5}],"v":[{"a":6,"ó":54}]}],"l":[{"a":[{"b":[{"l":52}],"d":[{"a":19}],"l":[{"a":[{"p":51}],"l":52}],"r":52,"t":[{"e":2}],"z":[{"o":52}]}],"á":[{"s":[{"s":27}],"t":[{"a":74,"n":5}]}],"b":[{"l":5}],"e":[{"g":[{"y":19}],"í":10,"l":[{"é":5,"l":5,"n":5}],"t":[{"é":[{"t":[{"e":2}]}]}]}],"é":[{"c":[{"e":[{"l":11}],"s":4}],"v":[{".":52}]}],"i":[{"k":[{"o":5},11],"n":[{"d":52,"f":52,"t":52}]}],"o":[{"b":[{"j":5}],"l":52,"n":[{"á":14,"i":11}]}],"ö":[{"s":52}],"p":[{"r":5}],"s":[{"p":5,"t":5}],"t":[{"r":19}]}],"m":[{"e":[{"g":11}],"o":[{"k":[{"á":5}],"l":[{"d":52}]}]}],"n":[{"a":[{"l":[{"e":14,"é":[{"g":11}],"i":[{"s":11}]}]}],"á":[{"r":[{"á":19,"u":19}]}],"é":[{"v":[{"a":3}]}],"i":[{"n":[{"g":5}]}],"s":[{"t":5}],"ü":[{"g":19}]}],"o":[{"g":[{"a":[{"d":13,"k":[{"a":12}],"l":6,"n":12,"z":13}],"á":[{"c":13,"l":13}],"e":13,"g":20,"í":12,"o":[{"l":12,"r":12,"s":[{"z":12}]}],"ó":[{"v":12},10],"ö":6,"ő":6,"u":[{"r":6}],"ü":6}],"k":[{"o":[{"z":58}],"s":86,"t":[{"a":86}]}],"l":[{"a":[{"j":6}],"i":[{"m":6}]}],"m":[{"a":[{"g":12,"n":12,"r":6,"s":12},10],"á":12,"e":13,"é":[{"t":13,"v":6}],"f":8,"i":[{"j":6,"k":12,"s":12,"v":12}],"o":[{"l":12,"r":12}],"ö":6,"ő":6,"p":8,"ü":6,"ű":6}],"n":[{"c":[{"c":3,"h":11,"i":[{"l":11}],"s":4}],"d":86}],"ó":[{"b":6}],"p":[{"á":6,"e":6}],"r":[{"i":[{"n":[{"g":12}]}],"r":[{".":86}],"ü":6}],"s":[{"t":[{"o":86}],"z":86}],"u":[{"i":6,"k":6,"l":6,"r":6,"t":6}],"v":[{"a":6}]},53],"ó":[{"a":[{"k":11}],"á":[{"g":11,"r":11}],"b":[{"l":5,"r":19}],"c":[{"e":6}],"d":[{"a":[{"d":6,"k":6,"l":[{"l":9}],"n":13,"t":[{"o":12},10]}],"e":[{"l":6},10],"i":[{"g":6,"z":6}],"o":[{"l":12}],"ó":[{"r":6},10],"ü":6,"z":21}],"f":[{"l":5}],"k":[{"l":5,"r":[{"o":5}]}],"l":[{"e":[{"s":13}]}],"n":[{"n":86}],"p":[{"r":19}],"r":[{"á":[{"k":6}],"i":58}],"s":[{"a":[{"l":6,"s":6}],"á":[{"l":6,"r":[{"k":9}]}],"e":[{"g":6,"m":6}],"é":[{"n":6}],"i":[{"p":6,"s":6}],"o":[{"d":[{"o":13}]}],"ö":6,"s":20,"ü":[{"l":[{"d":9}],"n":12}],"z":[{"á":[{"r":21}]}]}],"t":[{"r":19}]},53],"ö":[{"d":[{"é":6}],"k":[{"o":6}],"l":[{"é":6}],"n":[{"t":86}],"r":[{"e":6,"ö":6}],"s":[{"v":48}],"t":[{"v":48}],"v":[{".":86,"e":[{".":47,"z":54}],"é":[{"n":58}]}],"z":[{"ö":6}]},53],"ő":[{"r":[{"l":48,"ö":6,"t":86,"ü":6}],"z":[{"e":6}]},53],"p":[{"á":[{"r":[{"b":[{"a":26}]}]}],"l":[{"a":6,"e":6}],"r":[{"e":6,"é":6,"i":6,"o":6,"ó":6}]}],"r":[{"a":[{"d":39,"f":9,"i":10,"p":8,"s":8,"u":10}],"é":[{"s":[{"z":[{"e":[{"l":18}],"í":11}]}]}]}],"s":[{"a":[{"v":[{"e":14,"é":14,"o":11,"ó":[{"n":[{".":14}],"r":2}]}]}],"á":[{"g":[{"g":3}]}],"h":[{"o":6}],"k":[{"á":6,"i":6}],"n":[{"i":6}],"p":[{"e":6,"i":6,"o":6,"ó":6,"r":11}],"t":[{"a":54,"i":6,"í":54,"o":54,"r":[{"a":76,"u":76}],"ú":54}],"z":[{"a":[{"b":[{"á":[{"s":[{"s":28}]}]}]}],"á":[{"l":[{"a":[{"d":[{"a":17}]}]}],"r":[{"a":[{"z":28}]}]}],"í":[{"n":[{"n":38}]}],"k":11,"t":10}]}],"t":[{"a":[{"d":[{"a":51,"o":19,"ó":19}],"k":[{"n":5}],"l":[{"a":[{"p":19}],"k":5,"l":52,"v":52}],"n":[{"y":[{"a":[{"g":19}]}]}],"p":[{"á":51},8],"r":[{"o":[{"m":19}],"z":52}],"s":[{"p":9}],"t":[{"k":52}],"u":[{"t":51}]}],"á":[{"c":52,"g":[{"a":5}],"l":[{"l":52}],"r":[{"a":[{"i":11,"k":51}],"k":[{"a":52}]}],"s":[{"z":4}],"t":[{"a":74}]}],"e":[{"g":[{"y":51}],"k":[{"e":[{".":51}]}],"l":[{"e":[{"g":51,"m":[{"e":51,"z":0}]}],"f":52,"h":52,"j":[{"á":5}],"l":52,"m":[{"é":[{"l":0}]}],"o":51,"ő":51,"p":52,"r":52,"s":52,"v":52}],"m":[{"l":52}],"n":[{"e":[{"r":0}],"z":52}],"r":[{"e":[{"d":19,"z":19}],"ő":52}],"t":[{"e":[{"t":[{"ő":[{"e":51}]}]}]}],"v":[{"é":[{"s":19}],"o":5,"ő":51}]}],"é":[{"l":[{"e":51,"m":5}],"r":[{"l":52,"m":52}],"s":[{"s":27}]}],"f":[{"l":5,"r":5}],"i":[{"d":51,"m":[{"á":0,"i":52,"p":52},11],"n":[{"f":5,"g":52,"t":5}],"p":[{"a":51}],"r":52,"s":[{"i":5},11],"z":[{"g":52,"o":19}]}],"í":[{"v":51,"z":51}],"k":[{"l":5,"r":5}],"o":[{"l":[{"d":[{"a":52}]}],"r":[{"j":[{"á":[{"b":52}]}],"s":52}],"s":[{"z":5}],"x":51}],"ó":[{"a":10,"é":[{"r":[{"a":10}]}],"p":8,"s":[{"p":[{"o":8}],"t":[{"a":9,"r":9}],"z":9}],"t":[{"r":9}]}],"ö":[{"d":[{"é":5}],"n":[{"g":5}],"s":[{"s":5}]}],"ő":[{"a":10,"e":10,"é":10,"s":[{"p":8}]}],"p":[{"l":5,"r":5}],"r":[{"a":[{"n":54}],"á":[{"d":[{"i":26}],"g":54}],"i":6,"o":[{"j":54}],"ó":[{"f":6}]}],"s":[{"p":5,"t":5}],"t":[{"r":19}],"u":[{"d":[{"v":52}],"n":[{"d":52}],"t":[{"á":5}]}],"ú":[{"j":52}],"ü":[{"g":52,"l":51,"t":52}]}],"u":[{"g":[{"a":6,"o":3}],"h":[{"a":[{"d":6,"k":13,"l":6,"n":13,"r":[{"a":10}],"t":6}],"á":[{"l":6}],"e":13,"é":[{"j":12}],"i":[{"s":12}],"o":[{"r":6}],"ő":6,"ü":6}],"l":[{"a":47,"s":47}],"r":[{"a":[{"l":47}],"u":6}],"s":[{"z":[{"a":[{"v":23}],"i":[{"m":6}],"í":23}]}],"t":[{"a":[{"k":6}],"á":[{"l":58}]}]},53],"ú":[{"f":[{"r":5}],"j":[{"í":6,"j":[{"á":[{"é":67}]}]}],"p":[{"l":5,"r":19}],"s":[{"p":19,"t":19,"z":[{"ó":6,"v":5}]}],"t":[{"b":86,"o":[{"n":6}],"v":86}]},53],"ü":[{"g":[{"e":6,"y":6}],"l":[{"e":6,"é":6,"ő":54,"t":48}],"r":[{"e":6,"í":6,"ü":6}],"t":[{"a":6,"ő":54}],"v":[{"e":6}],"z":[{"e":6}]},53],"ű":[{"r":[{"i":6}],"z":[{"ő":6}]},53],"z":[{"a":[{"b":[{"l":52}],"d":51,"j":[{"á":52,"t":5},11],"k":[{"a":[{"d":11}],"c":5}],"l":51,"n":[{"y":51}],"r":52,"s":52,"t":[{"a":[{"n":11}]}]}],"á":[{"l":52,"r":[{"a":[{"d":51}],"á":[{"n":51}]}]}],"e":[{"l":51,"m":52,"r":[{"é":5},11],"s":52}],"é":[{"l":52,"r":[{"t":[{"é":52}]}]}],"f":[{"r":5}],"i":[{"g":[{"é":52},11],"l":[{"l":0}],"n":[{"t":52}],"r":51,"s":[{"k":52,"m":52}]}],"k":[{"l":19,"r":19}],"o":[{"b":52,"k":[{"t":[{"a":5}]}],"l":[{"d":[{"a":52}],"v":[{"a":[{"s":0}]}]}],"s":[{"z":52}]}],"ó":[{"d":51,"r":51,"s":8}],"ö":[{"s":52,"t":52}],"p":[{"l":5,"r":19}],"s":[{"a":[{"b":25,"l":61}],"á":[{"l":56}],"c":[{"s":[{"a":[{"p":131}]}]}],"e":[{"g":56,"n":0,"r":56}],"i":[{"n":56}],"í":[{"n":25}],"o":[{"r":25}],"ö":61,"ő":56,"s":9,"u":[{"t":61}],"z":[{"a":25,"á":25,"e":25}]}],"u":[{"t":52}],"ü":[{"g":19}]}]}],"k":[{".":47,"a":[{"a":[{"d":11}],"á":[{"t":[{"a":32},3]}],"b":[{"a":11,"b":[{"a":[{"h":47}]}],"h":[{"á":86}],"i":[{"n":[{"á":10}]}],"l":[{"a":[{"k":[{".":86,"a":86,"á":47,"b":86,"h":47,"k":47,"o":[{"k":86,"n":86,"s":47,"t":86}],"r":47}]}],"e":19}],"r":[{"e":5}],"s":86}],"c":[{"é":[{"l":[{".":6}]}],"h":21,"s":[{"á":[{"g":15}],"ú":[{"s":24}]}],"ü":6,"z":6}],"d":[{"a":[{"p":48}],"á":[{"l":47,"s":[{"s":7}]}],"o":[{"t":58}],"ó":[{"i":6,"j":6,"s":[{"o":58}],"u":6,"z":6}],"r":[{"á":19}]}],"e":[{"g":[{"é":[{"s":[{"z":28}]}]}],"l":11,"r":11}],"é":[{"r":11}],"f":[{"r":19}],"g":[{"a":[{"n":6}],"g":86,"r":19,"y":[{".":86,"u":6}]}],"i":[{"z":11}],"j":[{"á":[{"n":[{"l":47}]}],"k":86,"t":[{"ó":[{"h":86}]}]}],"k":[{"a":[{"d":[{"é":6,"ó":6}],"s":[{"s":38}]}],"á":[{"c":6}],"c":86,"l":19,"ó":[{".":6}],"r":[{"é":19,"i":5}],"t":[{".":86,"i":86}],"v":[{"a":19}]}],"l":[{"a":[{"p":[{"a":6,"í":[{"t":[{"v":47}]}]}]}],"b":86,"e":[{"g":[{"y":9}]}],"f":86,"j":[{".":86,"i":86}],"k":[{"a":86,"o":47}],"l":[{"e":86}],"t":[{"i":86}]}],"m":[{"a":[{"t":[{"e":10}]}],"b":[{"u":86}]}],"n":[{"a":[{"g":10,"l":[{"í":6}],"m":58,"t":54}],"e":[{"g":13,"l":12}],"g":47,"i":[{"m":6,"o":6,"v":12}],"o":[{"l":6}],"ó":[{"d":6}],"t":[{"e":47}],"ű":6,"y":[{"a":[{".":58,"g":58,"i":58}],"á":[{"b":6}],"ó":6}]}],"ó":[{"a":6,"á":6,"c":6,"e":6,"g":6,"h":[{"a":6}],"í":6,"k":[{"o":6,"r":6}],"p":6,"ü":6,"z":6}],"p":[{"á":[{"d":47,"t":[{"o":6}]}],"p":47,"r":[{"e":19,"é":19,"í":86,"o":[{"f":5}]}]}],"r":[{"a":[{"d":13,"k":[{"k":6,"ó":13}],"l":[{"a":[{"p":8}]}],"n":[{"k":86}],"r":13,"s":[{"z":62},10],"t":[{".":47,"n":47,"o":47}],"u":6}],"á":[{"c":[{"s":[{"h":12,"n":12,"t":12}]}],"l":12,"n":[{"y":58}]}],"c":[{"e":[{"l":14}]}],"d":[{"a":[{"c":11}],"á":[{"l":11}],"z":11}],"e":[{"l":6,"v":6}],"é":[{"k":[{"e":9,"o":[{"r":10}]}],"l":6,"n":[{"e":12}]}],"f":[{"e":[{"l":43}]}],"i":[{"d":6,"k":[{"o":13,"r":12}],"n":[{"d":6,"g":[{".":12,"b":9,"e":9,"g":9,"r":9}]}],"s":[{"k":12,"m":12}],"z":[{"o":12},10]}],"o":[{"m":[{"a":[{".":58}],"á":47}],"r":6}],"s":10,"t":[{"i":86}]}],"s":[{"a":[{"g":6}],"á":[{"g":[{"g":7}],"l":6}],"i":[{"d":6,"p":[{"a":9},10],"z":6}],"o":[{"l":12}],"ó":[{"r":13}],"p":[{"o":19}],"s":[{"z":[{"e":20,"é":20,"i":86,"o":[{"n":[{"y":47}]}],"ő":20}]}],"t":[{"r":5},10],"ü":[{"r":6}],"z":[{"a":[{"j":[{"t":3}],"t":47}],"á":[{"g":6}]}]}],"t":[{"a":[{"r":[{"á":9}]}],"é":[{"l":6}],"i":[{"k":[{"o":9}],"n":[{"t":9}],"o":13}],"k":[{"á":86}],"o":[{"l":[{"d":[{"a":6}]}]}],"r":[{"á":[{"d":[{"i":33}]}],"i":19}],"y":[{"á":6}]}],"u":[{"d":6,"l":58,"n":11,"r":11,"s":11,"t":[{"a":11,"o":58,"ó":[{".":86,"b":47,"c":25,"é":47,"h":47,"i":47,"j":86,"k":86,"m":47,"n":47,"s":47,"t":47,"v":47}]}]}],"ü":[{"t":11,"z":11}],"v":[{"a":[{"t":58}]}],"z":[{"o":[{"n":58}]}]},53],"á":[{"b":[{"é":47,"r":86}],"c":[{"a":[{"k":6}],"e":6,"h":132,"ó":6,"s":[{"a":[{"r":21,"t":6}],"e":6,"é":[{"k":24}],"i":[{"p":6,"s":6}],"o":[{"r":21}],"ö":6,"ő":6}],"ü":6}],"d":[{"a":[{"b":6,"r":6}],"á":[{"c":12,"t":6}],"i":[{"l":6}],"í":6,"ö":12,"ü":13,"z":21}],"f":[{"á":6}],"g":[{".":86,"a":[{".":86,"c":[{"s":[{"k":[{"a":47,"á":25}]}]}],"i":86,"k":86,"t":86,"z":86},6],"á":58,"b":86,"e":58,"é":54,"g":86,"h":86,"i":58,"k":86,"n":86,"o":58,"r":86,"s":86,"t":86,"u":58,"ú":58,"y":58}],"h":[{"í":58}],"j":[{"ö":6,"ü":6}],"l":[{"á":[{"g":6,"i":47,"k":47,"n":47,"v":47,"z":47}],"c":86,"d":[{"o":48}],"e":13,"é":[{"n":6}],"l":[{"a":[{"m":[{"t":[{"i":47}]}],"p":86}],"á":[{"s":86}],"e":2,"é":[{"k":11},32],"í":86,"o":[{"m":86}]}],"ü":6,"y":[{"o":[{"d":6}]}]}],"m":[{"í":58,"u":58}],"n":[{"a":[{"g":12,"n":13,"s":12}],"e":[{"m":6}],"i":[{"s":12}],"ó":13,"y":[{"a":[{"g":24,"l":23,"n":23,"p":6,"r":6}],"á":[{"t":[{"o":23}]}],"e":23,"i":[{"s":6,"v":6}],"ö":6}]}],"p":[{"o":[{"l":[{"á":58,"ó":6}]}]}],"r":[{"a":[{"d":62,"g":13,"k":[{"r":58,"t":[{"a":9,"á":9},6]}],"l":13,"m":58,"p":13,"r":6,"s":[{"s":9},6],"t":58,"z":[{"o":9},6]}],"á":[{"l":[{"l":9}],"z":13}],"d":8,"e":13,"é":[{"t":[{"e":9}]}],"i":[{"á":58}],"k":[{"á":48,"i":[{"é":[{"h":26}]}]}],"o":[{"l":[{"d":12}],"s":[{"z":12}]}],"ö":6,"ő":6,"p":[{"s":[{"z":[{"i":[{"c":49},33]}]}]}],"s":8,"t":[{"r":9},10],"u":[{"h":6}],"ü":6}],"s":[{"a":[{"j":[{"t":9}],"s":[{"s":9}]}],"á":[{"g":[{"o":13}],"r":[{"a":[{"i":13,"k":12}],"á":13,"b":12,"o":13,"r":12,"v":12,"z":12}],"s":[{"á":58,"t":47}]}],"e":13,"i":[{"k":13,"m":6,"s":6}],"í":[{"r":6}],"k":[{"á":[{"r":32}]}],"o":[{"l":12,"t":[{"t":12}]}],"ó":6,"ö":6,"ő":6,"p":9,"t":[{"r":9},10],"u":[{"t":6}],"ü":13,"z":[{"á":[{"b":58,"r":[{".":20},6],"t":58}],"e":6,"é":6,"i":[{"s":6,"v":6}],"o":[{"m":58}],"ü":21}]}],"t":[{"a":[{"b":6,"d":86,"j":6,"l":[{"a":8},6],"n":13,"r":6,"u":6}],"á":13,"b":[{"e":86}],"e":13,"é":[{"g":6}],"f":[{"o":48}],"i":[{"p":6,"r":12,"s":6}],"í":6,"l":[{"ó":48}],"m":[{"e":86}],"o":[{"s":[{"z":12}]}],"ó":[{"r":6},10],"ö":12,"ü":6,"v":[{"á":48}]}]},53],"b":[{"a":[{"l":14}],"é":[{"r":[{"e":[{"l":11}]}]}],"l":[{"a":6,"e":6,"o":6}],"r":[{"á":6,"i":6,"o":6,"ó":6}]}],"c":[{"i":[{"ó":[{"f":[{"a":11}],"s":[{"i":11,"p":[{"e":11}]}]}]}],"l":[{"u":6}],"s":[{"a":[{"p":[{"á":[{"g":17}]}]}]}]}],"d":[{"i":[{"a":[{"l":11}]}],"r":[{"a":6,"á":6,"e":6,"o":6,"ó":6,"u":6}]}],"e":[{"a":[{"j":11,"k":11,"l":11,"n":11,"r":11,"s":11}],"á":[{"l":11,"r":11,"t":14}],"b":[{".":86,"e":[{"i":6,"k":6}],"é":[{"d":6}]}],"c":[{"s":[{"a":[{"l":[{"j":3}]}],"ó":[{"n":3,"r":15}]}]}],"d":[{"r":[{"a":19}]}],"e":[{"g":[{"y":[{"e":[{"z":28}]}]}],"n":11,"p":6,"s":11}],"f":[{"f":86,"l":5,"r":19}],"g":[{"é":[{"r":58,"s":[{"z":22}]}],"y":[{"b":47,"é":[{"k":6}],"i":[{"n":24}],"l":86,"n":47,"ö":6,"r":47,"s":47,"u":6,"ú":24,"ü":47}]}],"k":[{"e":[{".":58,"i":58,"k":58}],"é":[{"é":58,"k":58}],"l":19,"r":[{"é":19}],"s":[{"z":[{"a":11}]}],"v":86}],"l":[{"a":[{"d":86,"n":12,"t":13,"v":86}],"á":[{"g":13}],"e":[{"f":58,"k":[{"c":6,"t":58}],"l":13,"m":[{"b":54,"e":47,"é":47,"h":54,"m":47,"n":58,"r":54,"z":58}],"p":[{"e":[{".":13,"i":13}],"ü":17}],"s":[{"é":13,"z":[{"e":12}]}],"t":[{"e":[{"l":30}],"o":30}],"y":47}],"é":[{"k":13,"l":58,"r":[{"h":9}],"s":[{"s":38,"z":29}]}],"h":[{"e":[{"l":86}],"o":86}],"i":[{"d":9,"g":11,"m":58,"o":6,"s":[{"m":86}]}],"í":88,"j":[{"á":86}],"l":[{"á":[{"t":47},48],"e":[{"n":[{"á":47,"ő":47,"t":86}]}]}],"n":[{"e":[{"v":86}],"y":86}],"o":[{"s":58}],"ö":[{"l":87}],"ő":[{"a":58,"é":32,"f":[{"ú":47}],"h":[{"í":6}],"í":58,"k":[{"é":[{"p":[{"z":58}],"s":58}]}],"l":58,"n":[{"y":6}],"o":58,"t":[{"é":6,"t":58}],"z":54}],"r":[{"a":48}],"s":[{"a":86,"ő":86,"z":[{"á":86}]}],"t":[{"é":[{"r":[{"ő":[{".":2}]}]}],"o":86,"ű":47}],"ü":[{"l":47}],"ű":[{"r":6}],"v":[{".":86,"á":86,"e":[{"i":86,"k":86,"n":86}],"i":47,"k":48,"o":86,"t":86,"ű":86}],"y":[{"e":[{"m":[{"b":6}]}],"é":[{"k":[{"n":24}]}],"k":[{"ö":[{"z":28}]}]}],"z":86}],"m":[{"b":[{"e":[{"r":86}],"l":86,"r":86}],"l":86,"u":[{"l":86}]}],"n":[{"a":[{"l":6}],"c":[{"i":86}],"d":[{"e":[{"r":[{"ü":[{"l":32}]}]}],"é":[{"k":14}],"o":86}],"e":[{"r":58}],"g":[{"e":86}],"i":[{"p":12,"s":6}],"o":12,"s":[{"s":27,"z":32}],"y":[{"v":86}]}],"o":[{"l":11,"r":11}],"ó":[{"d":11,"h":11,"l":11,"r":11}],"p":[{"i":[{"k":6}]}],"r":[{"a":[{"l":6,"p":6,"r":13,"s":12,"u":6}],"á":[{"l":12,"r":12,"s":6}],"c":[{"s":[{"á":11,"e":[{"l":[{"l":11}]}],"í":[{"r":11},26]}]}],"d":[{"e":47,"ő":47}],"e":[{"g":[{"e":58}],"j":58,"k":[{"e":[{"g":30,"s":[{"s":69}]}]}],"l":[{"l":9,"v":9}],"m":[{"b":[{"e":[{"r":12}]}]}],"r":12,"t":[{"a":10,"e":[{"l":17}],"ö":30}]}],"é":[{"g":6,"l":13,"p":12,"t":[{"e":9}]}],"i":[{"d":12,"g":[{"a":9}],"l":[{"l":12}],"m":6,"n":[{"d":12,"t":12,"v":12}],"o":6,"s":[{"t":9}],"z":12}],"k":8,"n":[{"e":[{"l":[{".":47}]}]}],"o":[{"l":12,"r":6}],"ó":[{"d":6,"r":13}],"ő":[{"d":[{"e":6}],"e":6,"k":[{"é":6}],"o":6,"s":[{"í":6}],"t":[{"e":6}]}],"s":[{"p":9,"t":9,"z":32},10],"t":[{"a":[{"j":11}],"á":[{"p":11,"s":11}],"e":[{"b":[{"b":[{"é":14}]}],"g":11,"s":[{"t":[{"e":14}],"z":14}]}],"é":[{"l":[{"v":11}],"v":[{"é":[{"t":2}]}]}],"ö":[{"n":11,"v":11}],"ő":[{"r":14,"s":14}],"r":[{"ó":9}]}],"ú":[{"t":6}],"ü":[{"g":10}]}],"s":[{"e":[{"m":[{"é":86}],"t":[{"é":6,"t":58}]}],"é":[{"l":86,"s":58}],"i":[{"s":6}],"í":[{"t":[{"ő":[{"s":[{"t":47}]}]}]}],"k":[{"ü":47}],"ő":58,"p":[{"o":19}],"s":[{"z":[{"é":[{"k":[{"e":20}]}],"ó":20}]}],"t":[{"a":5,"e":86,"é":86,"i":86,"j":86,"k":86,"n":86,"r":[{"a":5,"e":86}],"t":86,"ü":[{"n":86}]}],"z":[{"a":[{"j":6}],"é":[{"p":6}],"m":[{"é":[{"n":47}]}]}]}],"t":[{"á":[{"l":6}],"c":5,"e":[{"k":[{"é":[{"h":13}]}],"t":[{"é":58}]}],"i":[{"d":6}],"r":[{"a":19,"é":19,"i":19}],"t":[{"e":[{"s":[{"s":22}]}]}],"ű":[{"d":6}]}],"u":[{"r":11,"s":11}],"v":[{"é":[{"s":[{"s":38}]}],"i":[{"d":6}],"ő":58}],"z":[{"e":[{"t":[{"é":[{"s":10}]}]}],"ő":[{"a":32,"e":32,"k":[{"é":[{"s":[{"z":65}]}]}]}],"r":86}]},53],"é":[{"b":[{"e":[{"r":58}],"r":86}],"g":[{"e":6,"é":6,"ő":6}],"h":[{"e":[{"m":58,"n":58,"s":58,"z":[{"é":47,"t":47}]}],"s":86}],"j":[{"a":[{"k":12}],"e":[{"l":[{"é":12}]}],"ö":6,"u":[{"t":6}]}],"k":[{"e":[{".":58,"i":58,"k":[{"k":47}],"m":47,"r":13,"s":[{"s":38,"z":29}]}],"é":[{"n":6}],"o":13,"ü":[{"k":58}],"ű":58}],"l":[{"e":[{"l":6,"s":47,"t":[{"e":[{"k":58,"t":58}]}]}],"m":86,"ő":[{"d":6,"l":58}],"r":86,"ű":58,"y":[{"a":6,"e":[{"s":[{"z":24}]}],"i":[{"d":6}],"ü":[{"l":23}]}]}],"m":[{"a":[{"d":6,"l":12,"n":12,"p":6,"s":12},10],"á":12,"i":[{"a":[{"s":10}],"n":6,"s":6}],"í":6,"o":6,"ö":6,"ő":6,"u":13}],"n":[{"a":[{"l":12,"n":6,"r":12,"t":12},10],"d":[{"i":[{"o":26}]}],"e":[{"k":[{"e":58,"h":58,"i":58,"k":58,"l":47}],"l":13,"m":12,"r":12}],"é":[{"t":[{"e":9}]}],"i":[{"g":6,"l":6,"n":[{"g":12}]}],"o":6,"y":[{"e":[{"g":23,"l":[{"v":24}]}],"ú":6}]}],"p":[{"a":13,"á":[{"r":10},12],"e":[{"g":6,"l":[{"ő":13,"t":[{"é":12}],"v":12}],"r":10}],"i":[{"l":[{"l":12}],"m":6,"p":13}],"í":[{"t":86},6],"o":12,"ó":6,"ö":12,"ő":6,"s":9,"u":6,"ú":6,"ü":[{"l":[{"é":13,"ő":13}]}]}],"r":[{"a":[{"b":6,"l":6,"m":6,"n":12,"r":6,"s":12,"t":6},10],"á":13,"d":[{"e":[{"k":[{"e":86}]}],"r":9}],"e":[{"t":[{"t":[{"s":58}]}]}],"o":6,"ö":6,"t":[{"e":[{"l":[{"m":47}]}],"é":[{"k":[{"b":47,"e":86,"h":86,"n":86,"r":86}],"s":86}],"ő":[{"i":[{"k":[{"é":32}]}]}]}],"u":13,"ú":12,"ü":[{"l":[{"é":9}]},10],"v":[{"e":[{"k":86}]}],"z":[{"é":86}]}],"s":[{"a":[{"n":6},10],"á":13,"é":[{"g":13}],"o":12,"ó":6,"s":[{"z":[{"a":20,"e":[{"r":20}],"é":[{"l":20}]}]}],"u":6,"ü":[{"t":6}],"z":[{"a":[{"l":3},40],"á":23,"e":[{"g":6,"l":32,"m":[{"l":6}],"s":[{"z":6}]}],"é":[{"d":6,"k":[{"n":[{"é":24}]}]}],"i":[{"n":6,"r":6}],"o":6,"ó":23,"ö":6,"ő":[{"r":6}],"t":32,"u":6,"ú":24}]}],"t":[{"a":[{"k":[{"a":[{"r":9}],"n":6,"ó":12}],"l":[{"a":9}],"s":[{"p":9}]}],"á":[{"l":6}],"e":[{"d":12,"g":12,"l":[{".":6,"n":6}],"m":13,"p":12,"r":[{"e":9,"k":9,"ű":9},87],"s":[{"é":6,"t":[{"é":12}],"z":12}],"v":13}],"é":13,"i":13,"í":6,"o":[{"l":6,"r":12}],"ó":[{"r":12},10],"ö":12,"u":[{"d":6}],"ü":13,"v":47}],"v":[{".":86,"a":[{"d":86}],"b":86,"e":[{"i":47,"m":58,"n":58,"t":47}],"f":86,"h":86,"i":[{".":58,"g":6,"n":86}],"k":86,"n":86,"r":86,"s":86,"t":86,"ü":58,"v":86}],"z":[{"a":12,"á":13,"e":[{"g":6,"l":[{"t":9}],"m":[{"e":9},10],"r":13}],"i":[{"s":[{"m":12}]}],"í":6,"o":12,"ö":6,"s":[{"é":21,"t":20,"u":6},10],"u":13}]},53],"f":[{"e":[{"l":[{"e":[{"m":14}]}]}],"i":[{"l":[{"m":[{"é":[{"r":10}]}]}],"s":[{"a":[{"r":11}]}]}],"j":[{"o":6}],"l":[{"a":6,"e":6,"i":6,"o":6,"ó":6}],"o":[{"l":[{"y":[{"ó":[{"i":[{"k":33}]}]}]}],"n":[{"ó":2}]}],"r":[{"a":6,"á":6,"e":6,"i":6,"í":6,"o":6,"ö":6,"u":6}]}],"g":[{"l":[{"a":6}],"n":[{"ó":6}],"r":[{"a":6,"á":[{"f":[{".":54}]}],"i":6,"í":6,"u":6}]}],"h":[{"á":[{"t":[{"a":[{"l":14}]}]}],"e":[{"l":[{"y":[{"k":[{"ö":[{"z":65}]}]}]}]}],"i":[{"a":50,"á":[{"b":10}],"l":0}],"m":[{"e":6}]}],"i":[{"a":[{"d":11,"é":6,"f":6,"g":11,"j":11,"k":[{"a":[{"r":11,"s":11}]}],"l":[{"a":[{"p":11}],"á":11}],"n":11,"p":11,"r":[{"a":11}],"s":[{"z":11}],"ú":6,"v":11}],"á":[{"z":11}],"b":[{"l":19,"r":19}],"d":[{"e":[{"á":58,"g":58,"j":47}],"é":[{"t":58,"z":47}],"i":[{"o":6},47],"ő":[{"b":47,"k":47,"m":47,"n":58,"t":47}],"r":[{"ó":5}]}],"e":[{"l":11,"m":11,"r":11,"s":[{"e":[{"t":[{".":6}]}]}],"t":11,"w":6}],"é":[{"d":11,"k":11}],"f":[{"j":86,"r":19}],"g":[{"a":[{".":6},47],"á":[{"t":6},47],"e":47,"é":[{"n":6,"z":6}],"r":19}],"k":[{"l":19,"o":[{"n":[{"n":6,"o":6}]}],"r":[{"é":19,"i":19}],"v":19}],"l":[{"l":[{"e":86}],"y":[{"e":6},47]}],"m":[{"a":[{".":58,"i":58,"k":6}],"á":[{"b":6,"d":47,"i":6,"j":6,"k":6,"m":58,"n":6,"r":47,"t":6,"v":6}],"i":[{"t":6}],"p":86}],"n":[{"a":[{".":58,"i":58}],"á":[{"b":58,"r":58}],"c":[{"s":[{"a":11,"á":11,"e":[{"l":11}],"o":11}]}],"d":47,"f":86,"g":[{"a":[{"s":11}]}],"j":86,"t":[{"e":[{"g":86}]}]}],"o":[{"l":11,"m":11,"n":[{"n":58,"o":58,"t":[{".":47}]}]}],"ó":[{"h":25,"n":[{".":58}]}],"p":[{"a":[{"r":47}],"f":5,"l":[{"a":19,"e":5}],"r":19,"s":86}],"r":[{"a":[{"t":58}],"á":[{"n":[{"n":47,"y":47}]}],"g":47,"h":86,"k":86,"o":[{"d":58,"m":47}],"r":86,"t":86}],"s":[{"a":[{"d":6,"j":[{"t":[{"ó":12}]}],"k":[{"n":12}],"l":6,"p":6,"s":6}],"á":[{"l":6}],"e":[{"c":13,"l":[{"ő":12}],"m":[{"b":12}],"s":12}],"é":[{"k":13}],"i":[{".":6,"n":12,"p":[{"a":9}],"r":[{"a":13}],"s":[{"k":12}]}],"k":[{"á":[{"l":5}]}],"m":[{"á":[{"r":5}],"i":[{"n":19}]},47],"n":[{"y":[{"á":11}]}],"o":[{"k":[{"o":9}],"r":[{"o":[{"s":12}]}]}],"ö":[{"r":6}],"ő":6,"p":[{"l":9,"o":[{"r":19}],"ó":19},10],"s":[{"z":20}],"t":[{"a":[{"r":19}],"e":[{"r":[{"i":5}]}],"í":5,"o":[{"p":5}],"r":5,"u":5},10]}],"t":[{"r":19,"t":[{"e":[{"r":14}],"ö":14}]}],"u":[{"s":11,"t":11}],"ú":[{"s":11,"t":11}],"v":[{"í":[{"z":7}],"ó":58}]},53],"í":[{"g":[{"é":58,"y":[{".":48}]}],"j":[{"a":6}],"n":[{"a":[{"l":6}],"á":[{"r":[{"b":12}]}],"e":12,"é":[{"l":6}],"ó":13}],"r":[{"á":6,"e":58,"ó":58}],"t":[{"m":47,"ő":[{"a":32,"e":32}]}],"v":[{".":86,"b":86,"e":58,"é":58,"ű":58}],"z":[{"é":6,"ü":6,"ű":6}]},53],"k":[{"a":[{"b":[{"l":5}],"d":[{"a":51}],"j":[{"t":5}],"k":[{"a":[{"d":51}],"k":52}],"l":[{"á":0,"j":52,"m":52}],"r":[{"ó":[{"r":[{"a":73}]}]}],"u":51,"z":[{"o":52}]}],"á":[{"l":[{"l":52}],"r":[{"f":5,"o":[{"k":11}],"u":51}],"s":[{"á":52},11],"t":[{"h":52,"l":52,"u":5,"v":52}],"z":[{"ó":19}]}],"b":[{"r":5}],"e":[{"c":[{"s":[{"e":5}]},11],"d":[{"z":19}],"g":[{"é":19}],"l":[{"e":[{"g":2,"m":51}],"l":[{"ő":52}],"ő":[{"á":11}]}],"m":[{"u":5}],"r":[{"a":11,"d":5,"ó":11,"ő":51}],"t":[{"i":19}],"v":[{"é":19}]}],"é":[{"g":52,"l":51,"p":[{"í":52}],"r":[{"t":[{"é":52}],"z":52}]}],"f":[{"r":5}],"g":[{"r":5}],"i":[{"á":10,"d":[{"o":19}],"e":10,"g":[{"a":19,"é":52}],"l":[{"l":0}],"n":[{"d":5,"g":52,"k":52,"t":52}],"p":[{"a":[{"r":19}]}],"r":[{"o":51}],"s":[{"k":[{"o":5}],"m":5}]}],"í":[{"r":51,"z":52}],"l":[{"í":54,"ó":[{".":6}],"u":54}],"o":[{"l":[{"a":[{"j":11}],"l":[{"ó":5}]}],"p":[{"e":51}],"r":[{"d":[{"á":10}],"g":52,"o":[{"s":14}],"ú":[{"t":14}],"z":52}],"s":[{"z":[{"l":52}]}]}],"ó":[{"p":8,"r":[{"á":19}]}],"ö":[{"l":[{"ő":5},11],"n":[{"t":52}],"t":[{"l":5}]}],"ő":[{"r":[{"i":19,"ö":19,"s":5,"ü":5}]}],"p":[{"r":5}],"r":[{"i":[{"s":6,"t":6}],"í":6}],"s":[{"m":5,"p":5,"t":5}],"t":[{"r":19}],"u":[{"d":[{"v":5}],"r":[{"t":5}],"t":[{"á":52}]}],"ú":[{"j":52}],"ü":[{"g":52,"l":[{"ő":19}],"t":51,"v":51,"z":[{"l":5}]}],"ű":[{"r":5}],"v":[{"ó":6}]}],"l":[{"a":[{"g":9,"k":[{"o":20,"r":[{"i":9}]}],"p":[{"á":[{"t":[{"a":14}]}],"l":[{"a":9}]}],"s":[{"k":8}],"u":[{"z":[{"á":11}]}]}],"á":[{"m":[{"a":[{"l":11,"n":14,"s":11},32],"á":[{"r":[{"a":[{"d":1}]}]},2],"e":[{"g":2,"h":14,"l":11,"r":11}],"é":[{"r":[{".":14,"t":[{"é":14}]}]}],"i":[{"k":2,"n":11,"s":11}],"o":[{"l":11}]}]}],"e":[{"í":10,"t":[{"a":[{"n":2}],"á":[{"l":11}],"e":[{"l":[{"v":14}],"r":2,"v":2}],"é":[{"r":[{".":14}],"t":[{"b":[{"e":14}],"é":2}],"v":[{"e":[{".":2}]}]}],"i":[{"n":11}]}]}],"i":[{"n":[{"i":0}],"ó":10,"p":[{"e":[{"l":11}]}],"s":[{"é":0,"ó":11}]}],"í":[{"m":50}],"o":[{"á":0,"p":[{"f":0}],"t":[{"y":0}]}],"ó":[{"r":[{"a":[{"d":11,"j":11,"n":11,"t":11}],"i":[{"s":11}],"o":[{"l":11}]}]}],"u":[{"b":[{"a":14,"á":11,"e":14,"i":[{"r":11}],"o":[{"l":11}]},0],"s":[{"e":11,"s":27,"z":4}]}]}],"m":[{"a":[{"b":9,"i":[{"k":[{"o":10}]}],"s":10}],"á":[{"n":[{"y":[{"a":[{"n":11}]}]}]}]}],"n":[{"a":[{"g":10,"k":[{"r":9},10]}],"i":[{"a":133,"k":[{"a":[{"l":14,"s":14},32]}],"s":[{"z":75}]}],"ő":[{"c":[{"c":3}],"r":21}]}],"o":[{"á":[{"z":6}],"b":[{"e":6,"s":86}],"c":[{"h":[{"o":6}]}],"d":[{"a":[{"v":58}],"ú":58}],"g":[{"á":[{"s":[{"s":7}]}],"r":[{"a":19}]}],"k":[{"á":[{"d":6}],"e":[{"r":12},66],"i":[{"r":102}],"í":58,"l":86,"m":86,"o":[{"l":58,"v":13,"z":58}],"s":[{"z":[{"e":11}]}],"t":[{"a":86}]}],"l":[{"a":[{"j":[{"t":9}]}],"á":[{"r":[{"o":9}]}],"d":[{"a":[{"l":86}],"á":86,"ó":86}],"i":[{"d":6,"g":[{"á":12}],"m":[{"p":6}],"n":[{"a":[{".":13}]}],"t":[{"a":6}]}],"l":[{"a":[{"d":14}],"á":[{"l":11}],"e":[{"l":11,"s":11}],"é":[{"t":14}]}],"ö":6,"t":[{"á":[{"r":86}]}],"v":[{"a":[{"s":47}]}]}],"m":[{"b":[{"u":86}],"i":[{"l":6}],"p":[{"é":[{"r":[{".":14}]}],"o":[{"l":14}]}]}],"n":[{"a":[{"d":13,"j":6,"l":13,"n":13,"r":12,"s":12,"u":12}],"á":[{"l":12}],"b":[{"á":47,"e":[{"t":47}]}],"c":[{"c":3,"é":32,"h":11,"s":[{"á":11,"o":[{"r":[{".":4,"o":4}]}]}]}],"e":12,"é":[{"n":47,"r":[{".":12}]}],"g":[{"u":47}],"h":[{"a":[{"b":47}]}],"i":[{"r":6}],"o":[{"g":47,"l":[{"a":47},12],"r":6,"s":[{"n":47,"r":47,"t":47}]}],"p":[{"a":47,"r":47}],"r":[{"é":[{"t":47}]}],"t":[{"ö":47}],"ü":6,"y":[{"a":[{"g":6,"l":6}],"e":6,"ó":6}],"z":[{"s":47},10]}],"ó":[{"n":6}],"p":[{"á":[{"s":[{"é":10}]}],"c":47,"r":[{"o":5}],"t":[{"i":47}]}],"r":[{"a":[{"d":13,"g":6,"j":12,"n":13,"s":[{"s":9,"z":[{"t":12}]}]}],"á":[{"t":[{"l":12}]}],"c":[{"h":86,"s":[{"a":[{"l":11}]}]}],"d":[{"a":[{"d":11,"g":14,"s":2}],"á":[{"c":11}],"d":3,"e":[{"l":2,"m":11,"s":11}],"í":[{"t":48}],"ö":14,"z":4}],"e":[{"c":13,"g":6,"l":12,"r":12,"s":12}],"f":8,"g":[{"á":[{"s":[{"s":22}]}]}],"i":[{"e":47,"l":[{"l":9}],"n":[{"g":12,"t":[{"e":12}]}],"s":[{"k":9}],"z":[{"o":[{"m":13}]}]}],"o":[{"s":[{"z":6}],"v":13}],"ó":[{"i":12,"n":6}],"ö":6,"ő":6,"r":[{".":86,"k":47,"t":86}],"s":8,"t":[{"r":8}],"ú":[{"t":[{"o":12}]}],"ü":6}],"s":[{"a":[{"s":12}],"á":[{"l":6}],"e":6,"s":[{"z":[{"e":20,"o":20,"ü":20}]}],"t":[{"r":86}],"ü":6,"z":[{"a":[{"l":6}],"e":[{"r":6}],"i":[{"r":6}],"í":6,"o":0,"ó":6,"t":[{"á":47}]}]}],"t":[{"ó":[{"k":[{"é":[{"s":[{"z":65}]}]}],"s":[{"t":3}]}]}],"u":[{"t":6}],"v":[{"a":[{"r":[{"i":[{"a":47}]}]}],"i":[{"é":6}]}],"x":[{"i":6}],"z":[{"a":[{"t":[{"a":[{"l":10}]}]}],"ó":[{"k":[{"é":[{"s":[{"z":65}]}],"ö":[{"z":28}]}],"ö":47}]}]},53],"ó":[{"a":[{"d":11}],"b":[{"l":5}],"c":[{"c":20,"e":[{"m":6}],"h":6}],"d":[{"a":[{"b":12,"k":6,"l":13,"n":13,"z":6}],"d":9,"e":[{"l":13,"m":6,"r":13,"s":12}],"é":[{"s":12}],"i":[{"n":6}],"ö":6,"ü":6,"z":[{"á":6}]}],"é":[{"r":11}],"f":[{"r":19}],"i":[{"g":11}],"í":[{"v":11}],"k":[{"r":[{"é":5}],"v":5}],"n":[{"é":[{".":58,"t":6}],"i":[{".":58}],"o":58}],"p":[{"a":[{"n":6,"s":12}],"e":[{"l":13}],"i":[{"r":6}],"ó":[{"r":12},10],"ü":6}],"r":[{"a":[{"a":58,"c":13,"i":58,"n":13,"s":6}],"á":[{"b":6,"d":6,"g":6,"i":6,"j":54,"m":6,"n":6,"r":6,"t":6,"v":6}],"e":[{"l":6,"s":10}],"é":[{"j":6,"v":[{"e":12}]}],"i":[{"r":12}],"o":[{"k":[{"a":10,"o":10},12],"s":[{"t":[{"o":9}]}]}],"ó":[{"d":[{"á":12},47]}],"ő":6}],"s":[{"á":[{"g":[{"ú":58}]}],"l":[{"á":5}],"o":[{"s":12}],"p":[{"e":19,"i":5,"o":19}],"t":[{"r":5}],"ü":13,"z":[{"á":[{"r":[{"a":21}]}]}]}],"v":[{"ó":58}],"z":[{"a":[{"m":13}]}]},53],"ö":[{"b":[{"a":6,"ö":[{"l":[{"l":9,"n":9,"r":9,"t":9}]}]}],"d":[{"a":6,"á":6,"e":[{"l":6,"r":6,"v":6}],"o":6,"ó":6,"u":6,"ú":6,"z":6}],"k":[{"o":58,"r":[{"ö":86}]}],"l":[{"c":[{"s":[{"a":[{"l":11}],"á":11,"e":[{"l":11}],"ő":18}]}],"e":[{"l":86,"s":[{"s":38}]}],"é":[{"s":[{"s":[{"z":58}]}]}],"í":6,"ő":[{"e":6}],"t":[{"a":[{"l":11},32],"e":[{"v":2}]}]}],"n":[{"g":86,"t":[{"é":48,"ő":48,"v":48}],"y":[{"v":[{"a":30,"á":10}]}]}],"r":[{"a":6,"á":6,"d":[{"ö":48}],"e":[{"d":6,"g":13}],"é":[{"k":6,"t":[{"t":12}]}],"f":8,"i":[{"k":6,"z":12}],"o":6,"ó":6,"ö":[{"l":13}],"ő":13,"p":8,"s":8,"t":[{"r":9},10],"u":6,"ú":6,"ü":[{"l":[{"e":[{"t":30}],"é":[{"s":12},10],"ő":[{".":12},10]}]}],"v":[{".":47,"b":47,"h":47,"n":47,"ö":86,"r":47,"t":47,"ü":47,"ű":47,"v":47}]}],"s":[{"z":[{"t":48}]}],"t":[{"l":[{"é":47}],"v":[{"ö":48}]}],"v":[{".":86,"b":86,"h":86,"i":[{"g":58}],"r":86,"v":86}],"z":[{"a":6,"á":6,"e":[{"n":6}],"é":[{"k":13}],"í":12,"o":6,"ó":6,"ő":[{"e":32}],"s":21,"u":6,"ú":6,"ü":[{"l":[{"é":13,"ő":13}]}]}]},53],"ő":[{"a":[{"n":11}],"b":[{"l":5}],"c":[{"h":6}],"d":[{"r":[{"a":5}]}],"e":[{"k":11,"l":11,"r":11}],"é":[{"l":11,"n":[{"e":11}]}],"f":[{"r":19}],"g":[{"n":5,"r":5}],"i":[{"t":11}],"k":[{"r":5}],"p":[{"l":5,"r":5}],"r":[{"a":[{"n":9}],"e":[{"i":54,"s":[{"z":9},10]}],"i":[{".":54,"l":6,"p":6,"v":6}],"l":48,"s":8,"ü":[{"l":6}],"z":86}],"s":[{"k":19,"ö":6,"t":19}],"t":[{"r":5}],"u":[{"t":11}]},53],"p":[{"á":[{"r":[{"a":[{"d":11,"t":14},32],"á":[{"l":14}],"ú":[{"t":14}]}]}],"l":[{"a":6,"e":6,"é":6,"u":6}],"ó":[{"t":11}],"r":[{"a":6,"e":6,"é":6,"i":6,"í":6,"o":6,"ó":6}],"s":[{"z":6}]}],"r":[{"a":[{"c":[{"h":[{"i":11},0]}],"j":[{"c":50}],"k":[{"k":0}],"p":9}],"á":[{"s":[{"z":[{"e":44}]}]}],"e":[{"n":[{"d":[{"ő":17}]}],"o":0,"p":[{"á":0}]}],"é":[{"m":[{"h":50,"l":50,"r":50}],"p":39}],"i":[{"s":[{"t":50}],"t":[{"i":50}]}],"o":[{"g":8,"k":[{"e":[{"t":[{"t":[{".":53}]}]}],"o":[{"d":53}]}],"n":[{"a":2,"á":11,"d":15,"e":14}],"p":8,"s":[{"t":[{"r":9}],"z":[{"f":75}]}]}],"ó":[{"m":[{"a":[{"r":11}],"e":14,"i":[{"s":11}],"o":0}],"n":[{"i":[{"k":50}]}]}],"u":[{"p":0}]}],"s":[{"a":[{"r":[{"á":51}]}],"e":[{"l":[{"o":5}]}],"é":[{"g":[{"e":[{"l":[{"e":11}]}],"i":[{"s":11}],"ü":[{"l":[{"é":14},32]}]}]}],"k":[{"á":54,"o":6}],"l":[{"a":54,"á":6,"u":6}],"m":[{"i":6}],"n":[{"i":54}],"p":[{"a":6,"e":6,"i":6,"o":6,"ó":6,"r":11}],"r":[{"á":6}],"t":[{"a":54,"á":54,"i":6,"í":54,"o":6,"r":76,"u":54,"ú":54}],"z":[{"a":[{"d":61,"e":32,"g":[{"y":0}],"j":56,"k":[{"e":10,"é":10,"ü":30}],"m":56,"n":[{"y":9}],"r":[{"é":9}]}],"á":[{"g":56,"r":[{"a":[{"z":28}]}]}],"e":[{"g":[{"y":61}],"l":[{"a":56}],"m":[{"u":0}],"n":[{"g":56}],"v":0}],"é":[{"l":[{"e":[{"t":9}]}],"t":30}],"i":[{"d":56,"l":[{"á":26}],"p":[{"a":9},10],"s":[{"k":9}]}],"í":[{"r":0}],"o":[{"l":[{"d":56,"t":[{"ó":0}]}],"s":[{"z":56}]}],"ö":[{"g":[{"e":[{"l":[{"l":30,"v":30}]}]}]}],"t":10,"u":[{"n":[{"i":0}],"t":0}],"ü":[{"g":56,"t":0,"z":61}],"z":9}]}],"t":[{"a":[{"d":[{"a":19}],"j":[{"á":5}],"l":[{"a":[{"p":19}],"b":52,"l":52}],"n":[{"á":[{"s":2}],"ó":2}],"p":8,"r":[{"m":52}],"u":[{"d":19}],"z":[{"o":5}]}],"á":[{"b":[{"r":5}],"l":[{"a":[{"l":11}],"l":[{"ó":5}],"m":52}],"r":[{"a":[{"d":[{"a":14,"ó":3},32],"j":11,"z":14}]}],"t":[{"f":52,"v":52}]}],"e":[{"g":51,"l":[{"g":52,"h":52,"j":[{"á":5}],"l":52,"s":52,"v":52}],"n":[{"z":52}],"r":[{"a":[{"d":11,"l":11}],"á":[{"r":11,"t":11}],"e":[{"g":11,"l":2}],"i":[{"n":14}],"o":[{"s":[{"z":11}]}]}],"s":[{"e":[{"m":52}]}]}],"é":[{"l":[{"ő":11}],"r":[{"l":52,"m":[{"i":0}],"t":[{"e":52}]}],"s":[{"s":52}],"v":[{"e":[{"t":51}]}]}],"f":[{"r":5}],"g":[{"r":5}],"i":[{"d":52,"g":[{"é":52},11],"l":[{"l":5}],"m":[{"a":5},11],"n":[{"d":52,"f":52}],"r":51,"s":[{"k":52,"m":52}],"v":[{"á":[{"s":51}]}]}],"í":[{"g":52,"r":51,"v":[{"e":[{"l":15}]}]}],"o":[{"g":[{"r":[{"a":8}]}],"n":[{"á":14}],"p":[{"e":5}],"r":[{"a":[{"s":11}],"e":14,"o":[{"l":11}]}]}],"ö":[{"s":52,"t":52}],"p":[{"r":5}],"r":[{"a":[{"n":54,"u":48}],"é":[{"f":48,"n":54}],"i":[{"ó":54}],"o":[{"n":[{"á":10}]}],"ó":[{"n":54}]}],"s":[{"p":5,"t":5,"z":5}],"t":[{"r":19}],"u":[{"m":[{"e":14,"i":[{"n":11}]}],"s":[{"a":[{"b":11,"n":14}],"z":[{"á":[{"r":11}],"e":11,"é":11}]}]}],"ü":[{"l":[{"é":52},11],"t":52,"v":51}]}],"u":[{"á":[{"r":11}],"c":[{"c":86}],"e":[{"l":11,"r":11,"s":11}],"f":[{"r":19}],"g":[{"o":58,"r":86,"y":[{"a":6}]}],"j":[{"j":[{".":86,"a":[{".":47,"d":[{"a":2},47],"i":47,"k":47,"l":86,"m":47,"s":47,"t":47}],"á":86,"b":47,"g":47,"h":47,"i":47,"k":47,"n":47,"o":86,"p":47,"r":47,"s":47,"t":47,"u":47,"ú":47}]}],"k":[{"k":[{"ó":2}]}],"l":[{"a":[{"k":3}],"c":[{"s":[{"a":[{"l":11}],"e":11}]}],"u":[{"s":[{"s":7}]}]}],"m":[{"a":[{"d":13,"l":6}],"ü":6}],"n":[{"a":[{"d":6,"l":6}],"á":[{"s":12}],"e":6,"i":[{"n":12}],"n":20,"o":[{"r":6}],"ó":13,"ü":6}],"p":[{".":86,"r":47,"u":47}],"r":[{"a":[{"d":6,"i":58,"k":6,"l":47,"m":6}],"á":[{"u":6}],"n":86,"o":[{"l":6}],"u":[{"c":[{"s":29}]}]}],"s":[{"a":[{"l":6,"s":6}],"á":[{"l":6}],"e":13,"i":[{"s":6,"z":13}],"ó":13,"ö":6,"s":[{"z":[{"e":20}]}],"ú":12,"ü":6,"z":[{"a":[{"l":6,"r":6}],"e":[{"s":3}],"é":[{"l":23,"p":23,"t":6}],"i":[{"l":24,"s":6}],"ü":6}]}],"t":[{"a":[{"l":[{"ó":47}],"s":[{"í":58}],"z":58}],"á":[{"l":6,"n":58}],"c":86,"o":[{"l":58}],"ó":[{"d":58,"p":6}]}],"z":[{"s":6}]},53],"ú":[{"j":[{"í":6,"s":86}],"p":[{"a":13,"á":12,"e":12}],"t":[{"a":13,"á":13,"e":12,"f":[{"é":[{"l":22},32]}],"o":[{"s":6}],"ő":12,"u":62,"ü":13}]},53],"ü":[{"g":[{"e":6,"y":6}],"l":[{"e":[{"p":58}],"o":6,"t":[{"á":14}]}],"r":[{"e":[{"g":47}],"í":58,"ü":6}],"s":[{"t":86,"z":[{"á":6,"í":6}]}],"t":[{"k":86}],"v":[{"é":[{"s":[{"s":38}]}],"ö":58}],"z":[{"e":58}]},53],"ű":[{"r":[{"h":86,"m":86,"o":6,"ő":[{"s":12}]}],"z":[{"é":6,"ő":6}]},53],"v":[{"a":[{"n":50,"r":[{"c":0,"k":50}]}],"á":[{"n":[{"y":[{"o":[{"l":11}]}]}],"r":[{"o":[{"s":[{"i":33}]}]}]}],"é":[{"s":[{"e":[{"l":11}],"o":11,"s":27}]}],"i":[{"n":50,"t":[{"t":50}]}],"ó":[{"c":0,"t":[{"a":0,"á":0}]}],"ő":[{"c":[{"s":[{"a":26}]}]}]}],"y":[{"d":[{"n":11}],"f":[{"a":[{"j":[{"t":[{"á":[{"n":6,"r":6,"t":6}]}]}]}]}],"i":[{"s":19,"v":19}],"k":[{"k":11,"n":[{"e":11}]}],"s":[{"e":6,"ü":13}],"ü":[{"z":5}]},53],"z":[{"a":[{"t":[{"a":[{"l":11}],"e":2,"ó":2}]}]}]}],"l":[{".":47,"a":[{"a":[{"d":11}],"á":[{"t":[{"a":32},3]}],"b":[{"á":[{"r":47}],"d":71,"r":47,"s":86}],"c":[{"a":[{"g":12,"j":12,"l":12}],"e":[{"m":6,"t":[{"e":12}]}],"h":[{"a":21,"é":6}],"i":[{"t":[{"a":9}]}],"k":[{"o":[{"r":[{"r":14}]}]}],"o":[{"r":[{"r":9}]}],"ö":13,"ő":6,"s":[{"a":[{"l":[{"j":6}]}],"á":[{"g":20}],"o":[{"r":21}],"ü":[{"l":20,"t":20}],"z":20}],"ú":6,"ü":6}],"d":[{"a":[{"t":[{"a":58,"b":58,"k":58,"n":58,"o":58,"r":58,"t":58,"u":58}]}],"á":[{"s":[{"s":7}]}],"l":86,"o":[{"g":58,"m":[{"á":47}],"n":134}],"ó":[{"i":[{"k":[{"o":32}]}]}],"u":[{"k":58}],"y":42}],"e":[{"d":11,"l":11,"r":11}],"é":[{"d":11,"r":11}],"f":[{"f":47,"l":5}],"g":[{"a":[{"c":6,"d":[{"ó":8}],"n":13,"s":[{"s":9}],"t":13,"u":6,"v":6}],"á":[{"g":6,"l":[{"l":9}],"r":[{".":9,"á":9,"b":9,"e":9,"é":8,"f":9,"h":9,"k":9,"m":9,"n":9,"o":8,"r":9,"s":9,"t":9}]}],"e":[{"r":[{"e":12}]}],"é":[{"s":6}],"i":[{"d":6,"k":13,"m":6,"s":6}],"í":6,"o":[{"n":[{"t":12}],"s":[{"z":12}]}],"ó":[{"c":6,"r":[{"á":13}],"v":[{"á":6}]}],"ö":[{"n":6}],"u":[{"d":12,"r":12,"t":12}],"ü":12,"ű":6,"y":[{"ú":6}]}],"i":[{"r":[{"e":6}]}],"j":[{"a":[{"g":6,"l":13,"p":6,"r":12,"s":[{"s":9,"z":8}],"z":12}],"á":[{"l":12,"n":[{"l":47}],"r":[{".":12,"h":12,"n":12,"s":12,"t":12}],"s":6,"t":[{"h":12,"s":12}]}],"e":[{"l":[{"t":12}],"n":6,"s":12}],"i":[{"n":6,"s":12},10],"í":6,"o":[{"l":12,"m":[{"l":12}],"r":12,"z":47}],"ó":[{"r":12}],"ö":[{"s":12}],"ő":6,"s":[{"z":9},0],"u":[{"t":13}],"ü":13}],"k":[{"a":[{"d":6,"l":[{"j":9,"m":12,"o":13}],"t":[{"a":[{"n":17}]}]}],"á":[{"c":12,"l":[{"k":12,"l":9}],"r":[{"n":12}],"s":[{"á":[{"s":9}]}]}],"c":[{"i":47}],"e":[{"g":12,"l":13}],"é":[{"r":[{".":12,"t":[{"e":6}]}]}],"i":[{"k":[{"o":12}]}],"í":[{"r":12}],"k":[{"a":[{"s":14}],"e":[{"c":11,"l":11}],"o":[{"l":11,"r":86}],"ö":[{"l":11}]}],"l":[{"u":5}],"n":[{"á":[{"b":47,"h":47,"s":47}]}],"o":[{"b":6,"p":12,"r":[{"m":12}],"s":[{"z":12}],"v":12}],"ó":[{"z":47}],"ö":[{"s":12}],"r":[{"é":[{"m":19}],"i":[{"p":11}],"u":19}],"t":[{".":86,"i":[{"v":86}]},10],"u":[{"j":6,"l":[{"á":47,"g":47,"h":47,"j":47,"n":47,"o":47,"ó":47,"s":47,"u":47,"v":47}]}],"ú":[{"s":47,"t":[{"o":13}],"v":47}],"z":[{"a":47}]}],"l":[{"a":[{"g":135,"k":[{"u":6}]}],"á":[{"í":47,"s":[{"s":7}]}],"b":86,"c":86,"f":86,"j":[{"n":47}],"k":[{"a":86,"o":[{"t":86}],"u":86}],"l":[{"e":86}],"t":[{"á":[{"r":11}],"e":11,"i":[{".":86}],"o":[{"n":[{"k":47}]}],"ó":2,"ü":2,"v":[{"é":47}]}],"v":[{"i":86}]}],"m":[{"a":[{"d":[{"a":9}],"k":[{"a":12}],"n":[{"y":12}],"p":13,"r":[{"á":12}],"z":13}],"e":[{"g":[{"y":12},10],"l":[{"e":12}],"m":[{"b":9}],"s":[{"z":12}]}],"é":[{"k":6,"l":[{"e":9}],"n":[{"e":6}],"r":[{"v":12}]}],"i":[{"n":[{"v":6}],"s":[{"m":12,"t":12}]}],"í":13,"m":[{"ó":86}],"o":[{"l":12,"r":[{"g":9}],"s":[{"z":12}]}],"ó":[{"r":13}],"ö":6,"u":[{"r":12}],"ü":12}],"n":[{"a":[{"d":13,"g":10,"j":12,"l":[{"a":9},6],"m":6,"r":6}],"á":[{"l":[{"l":12}],"r":[{".":12,"a":[{"i":13,"k":13}],"á":13,"r":12,"v":12}],"s":[{"s":7}]}],"c":[{"s":[{"e":[{"l":11,"m":11}],"i":11,"o":[{"l":11}]}]}],"d":[{"á":[{"l":14}],"e":[{"l":14}],"é":[{"r":[{".":14}]}],"i":[{"z":11}]}],"e":[{"r":6,"s":6}],"é":[{"p":12}],"g":[{"a":[{"s":14}],"e":[{"n":11}],"g":27,"i":[{"n":86}]}],"i":[{"l":6,"p":6,"s":6}],"k":[{"é":[{"t":86}],"r":9}],"o":[{"s":[{"z":12}]}],"s":10,"t":[{"a":[{"g":11}],"á":[{"c":47}]}],"ü":6,"y":[{"a":[{"g":6,"l":[{"a":15}],"u":6}],"á":[{"i":47,"l":24,"n":47,"s":6,"v":47}],"e":[{"l":[{"e":[{"m":23}]}],"r":[{"ő":15}]}],"í":[{"r":23}],"o":[{"l":24}],"ó":6,"ü":6}]}],"ó":[{"r":11}],"p":[{"a":[{".":58,"k":[{"k":9,"t":9}],"l":[{"a":8,"k":9}],"t":[{"m":12,"t":12}],"u":13,"z":6}],"á":[{"b":6,"g":13,"k":6,"n":6,"r":[{"á":8,"h":9,"r":12}]}],"e":[{"l":[{"e":9},31],"m":6,"n":12,"s":12}],"i":[{"k":6,"l":[{"l":[{"a":9,"e":9}]}],"m":12,"n":[{"a":[{".":13}],"g":12,"t":12}],"p":13,"s":13,"t":[{"a":12}],"z":12}],"l":[{"a":[{"t":11}]}],"o":[{"k":[{"u":13}],"r":[{"g":9,"n":9,"z":9}],"s":[{"s":7}]}],"ó":[{".":6,"b":6,"n":6,"r":6}],"ö":6,"ő":6,"p":[{"a":[{"r":47}]}],"r":[{"í":47}],"s":8,"ú":[{"n":47,"v":47}],"ű":6}],"r":[{"a":[{".":6,"n":6}],"c":[{"c":27},86],"é":[{"n":58}],"m":[{"e":14,"i":[{"n":11}]}],"t":86,"z":86}],"s":[{"p":[{"a":19,"i":19}],"t":[{"r":[{"a":5}]}],"z":[{"a":[{"b":[{"l":24}],"l":[{"t":[{".":3}]}],"s":6,"t":58}],"á":[{"s":6}],"é":[{"n":24}],"ó":[{"d":6}],"s":27,"t":[{"a":[{"l":[{"j":30}],"m":48}]}],"ú":[{"t":24}]}]}],"t":[{"a":[{"d":13,"j":12,"l":[{"a":[{"k":9}],"k":12,"t":12}],"r":[{"á":9,"o":13,"t":[{"i":9}]}],"s":[{"z":[{"t":9}]}],"t":[{"t":9}],"u":6,"z":6}],"á":[{"j":12,"l":[{"l":9}],"r":[{"a":[{"d":12,"i":13,"k":13,"m":13,"t":13}],"á":[{"b":13,"h":13,"n":13}],"é":13,"h":12,"n":12,"o":[{"k":13}],"r":12,"t":[{"á":9,"ó":12}],"ú":13,"v":12}],"s":[{"z":9}],"t":[{"a":12}]}],"d":[{"i":[{"a":[{"l":32}]}]}],"e":[{"g":13,"l":[{"e":[{"m":6}],"l":12}],"p":6,"r":[{"k":12}],"s":[{"s":12,"z":[{"e":6}]},10],"t":[{"i":12,"o":12}],"v":[{"ő":13}]}],"é":[{"k":[{"e":12,"é":8,"k":9}],"r":[{"é":13,"ő":13,"t":[{"e":6}],"v":12}],"s":[{"s":9}]}],"i":[{"k":[{"o":13,"r":[{"a":9}]}],"n":[{"t":[{"e":9}],"v":12}],"s":[{"t":12}],"z":12}],"í":[{"r":12,"v":[{"é":9}]}],"k":8,"o":[{"j":6,"k":[{"m":12}],"l":[{"d":[{"a":9}],"l":6}],"m":[{"l":9}],"s":[{"z":12}],"t":[{"t":[{"h":12}]}]}],"ó":[{"r":[{"á":12,"i":12}]}],"ö":[{"v":[{"i":12,"ö":13}]}],"ő":[{"r":12}],"t":[{"a":[{"k":[{"o":86}],"n":[{"ó":64}]}],"v":47}],"u":[{"t":6}],"ü":[{"l":6,"z":[{"e":9}]}],"ű":[{"z":[{"ő":12},10]}],"y":[{"á":6}]}],"u":[{"b":6,"k":6,"s":6,"t":[{"o":6}]}],"ü":[{"z":11}],"v":[{"a":[{"t":6}],"u":58}],"y":[{"é":5,"i":[{"g":5}],"r":[{"ő":47}]}],"z":[{"a":[{"c":[{"c":7,"s":29}]}],"m":[{"a":7,"á":47}],"o":[{"n":58}]}]},53],"á":[{"b":[{"a":[{"r":6,"s":[{"s":7}]}],"á":[{"l":6}],"e":[{"l":13}],"i":[{"n":[{"a":12}],"z":13}],"o":[{"r":[{"g":9,"r":9}]}],"ö":6,"ő":6,"r":[{"á":47}],"u":[{"s":13}],"ü":6}],"c":[{"s":[{"é":[{"t":6},32],"i":[{"l":24,"p":6}],"í":6}]}],"d":[{"a":[{"s":3,"z":12}],"e":[{"r":13,"t":6}],"i":[{"m":6}],"o":[{"r":12,"t":[{"t":12}]}],"ó":12,"ü":[{"l":6}],"z":6}],"g":[{"a":[{"b":6,"c":6,"d":[{"a":8}],"g":13,"l":12,"n":6,"s":[{"s":9},6],"t":[{"l":12,"o":12,"t":12},10]}],"á":[{"l":[{"l":9},6],"m":6,"r":[{"a":[{"k":13}],"o":13}],"t":[{"o":13}]}],"é":[{"p":6}],"i":[{"d":6,"g":[{"é":6}],"m":6}],"o":[{"t":[{"t":12}]}],"ó":13,"ő":6,"s":9,"ü":6,"ű":6,"y":[{"á":47,"o":47}]}],"h":[{"a":[{"s":6}],"e":47}],"í":[{"r":11}],"l":[{"a":[{"d":6,"k":[{"a":12}],"l":12,"n":[{"y":12},10],"r":12,"u":6}],"á":[{"g":12,"l":13,"s":[{"s":7}],"t":[{"j":12}]}],"d":[{"á":[{"s":47}],"o":[{"z":47}]}],"e":[{"l":6,"s":[{"t":12}],"v":13}],"é":[{"l":6}],"i":[{"m":6,"s":12}],"í":6,"l":[{"a":[{"m":86,"t":86}],"á":[{"s":86}],"k":86,"o":[{"m":86}],"v":86}],"m":[{"a":[{"i":[{"m":47}]}],"o":[{"k":[{".":47}],"m":47,"s":86}],"u":[{"k":47,"n":[{"k":[{"b":47}]}]}]}],"o":[{"k":[{"a":[{"i":[{"h":47,"n":47,"r":47}]}],"á":[{"n":47,"t":47,"u":47}],"o":[{"n":[{"k":47}]},13],"u":47}]}],"ó":[{"r":[{"á":9}]}],"ö":[{"v":12},10],"u":[{"t":86}],"ú":[{"t":12}],"ü":6,"ű":6}],"m":[{"a":[{"d":13,"j":12,"s":[{"s":9}],"u":12}],"á":[{"l":12,"z":13}],"b":8,"e":[{"l":[{"l":9}],"r":[{"ő":9}],"s":6}],"é":[{"k":6,"r":[{"v":12}]}],"i":[{"n":[{"t":12}],"s":[{"t":9}]}],"í":6,"o":[{"r":12}],"ó":6,"ö":6,"ő":6,"ú":[{"t":[{".":12}]}],"ü":6,"ű":6}],"n":[{"a":[{"g":12,"l":6,"n":12,"r":6,"s":12},10],"á":[{"r":6},10],"c":[{"c":27,"e":[{"l":11}],"é":[{"g":14}],"s":[{"á":11}]}],"e":[{"m":6,"r":12}],"é":[{"p":6}],"g":[{"a":[{"t":14}],"á":[{"l":11}],"e":14}],"i":[{"l":6,"s":12}],"k":[{"e":[{"l":2}],"ó":[{"r":[{"a":2}]}],"ö":[{"v":2}]}],"o":[{"k":25,"l":6}],"s":[{"p":9,"z":9}],"t":[{"r":9},10],"ü":6,"y":[{"a":[{"j":6,"l":[{"a":6}],"m":6,"n":32,"r":6,"s":24,"v":6}],"e":[{"l":6}],"é":[{"r":[{".":24}]}],"ó":6,"ö":6}]}],"p":[{"é":[{"t":6}],"i":10,"o":[{"l":58}]}],"r":[{"a":[{"d":6,"i":58,"k":[{"a":6,"b":54,"k":54,"r":54}],"l":13,"m":58,"t":58,"v":12,"z":54}],"e":[{"n":47,"s":6}],"k":[{"o":[{"t":48}]}],"n":[{"y":[{"a":86}]}],"s":8,"t":[{"r":9},10],"u":[{".":47,"g":6,"h":58,"k":58,"l":58,"s":47,"t":86,"v":47}],"ú":[{"a":6}],"ü":6}],"s":[{"a":[{"d":13,"j":12,"l":6,"r":13,"z":6}],"á":[{"g":13,"r":[{"a":[{"i":13,"k":12}],"á":13,"b":12,"é":13,"h":12,"r":12,"t":12}],"s":58,"t":[{"o":13}]}],"e":[{"g":[{"y":[{"e":[{"z":65}]}]}]},6],"í":[{"r":6}],"o":[{"t":[{"t":[{"h":9},6]}]}],"ó":[{".":58,"r":9},10],"ő":6,"s":[{"z":[{"é":20}]}],"u":[{"t":6}],"ű":6,"z":[{"a":[{"s":6,"v":20}],"e":[{"d":47,"g":6,"m":23,"n":6}],"i":[{"p":6}],"k":[{"é":[{"s":[{"z":65}]}]}],"ö":[{"l":6,"v":6},32],"s":27,"ü":6}]}],"t":[{"a":[{"j":6}],"e":[{"r":[{"e":13}]}],"é":[{"t":[{"e":[{"l":10}]}]}],"h":[{"e":86}],"i":[{"o":13}],"í":58,"k":[{"ö":47}],"o":[{"s":[{"z":12}]}],"r":[{"á":19,"i":5}],"t":[{"e":86,"ö":86,"ű":86}],"ú":[{"s":48}],"v":[{"é":86,"i":48}]}],"v":[{"i":[{"z":6},47],"ó":58,"u":47}],"z":[{"a":[{"d":[{"o":[{"t":12}]}],"l":12}],"á":[{"r":[{"h":12,"u":[{"s":11}]}]}],"b":71,"e":[{"l":12}],"i":[{"s":13}],"o":[{"l":[{"t":12}]},10],"s":[{"a":[{"l":6,"n":6}],"ó":6,"z":20}]}]},53],"b":[{"i":[{"s":52}],"l":[{"i":6,"o":6,"ú":6}],"r":[{"a":6,"e":6,"i":6,"o":6,"ó":6,"u":6}]}],"c":[{"a":[{"j":[{"t":5}],"l":[{"k":5}],"t":[{"o":51}]}],"á":[{"g":52,"l":52}],"c":[{"s":[{"i":25,"o":25,"ö":25}]}],"e":[{"l":[{"e":51,"r":5}],"m":[{"b":52,"e":[{"l":5}]}],"s":[{"z":5}],"v":51,"z":[{"e":52},11]}],"é":[{"p":52,"v":[{"i":5}]}],"f":[{"r":5}],"h":[{"a":25,"á":25,"o":25,"u":25,"ú":25,"ü":25}],"i":[{"d":51,"t":[{"é":[{"r":11}]}]}],"í":[{"v":5}],"k":[{"r":19}],"l":[{"u":54}],"o":[{"s":[{"t":52,"z":52}]}],"ó":[{"r":19}],"ö":[{"k":5,"s":5}],"p":[{"r":5}],"s":[{"a":[{"d":61,"k":[{"t":0}],"l":[{"a":[{"p":9}]}],"n":61,"p":[{"á":[{"g":17}],"r":9}],"r":[{"a":9,"o":9},10],"s":61,"z":0}],"á":[{"g":9,"l":56,"t":[{"a":136,"á":0,"h":56,"j":56,"v":0}]}],"e":[{"c":0,"g":61,"j":55,"l":[{"f":9,"t":56,"v":56}],"m":[{"b":9,"l":9}],"r":[{"d":0,"e":[{"l":17}],"ő":9}],"s":[{"e":9}],"t":[{"e":56},10]}],"é":[{"l":0,"r":[{"é":[{"s":61}],"l":[{"e":0}],"t":[{"e":0,"é":56}],"v":[{"e":9,"é":56}]}],"s":[{"z":[{"é":[{"k":111}]}]}],"t":[{"e":61,"k":56}],"v":[{"é":[{"t":61}]}]}],"i":[{"d":[{"é":0}],"m":[{"i":0}],"n":[{"f":56,"g":56,"t":56}],"p":[{"a":61}],"r":[{"t":56}],"s":[{"k":56,"m":56}],"t":[{"a":0}]}],"í":[{"z":61}],"k":8,"o":[{"k":[{"m":56}],"r":[{"s":9}]}],"ö":[{"l":61}],"ő":[{"s":[{"é":8}]}],"s":9,"t":[{"r":25}],"u":[{"g":25}],"ü":[{"l":[{"t":9}]}],"z":[{"o":25,"ó":25}]}],"t":[{"r":5}],"u":[{"j":52}],"ü":[{"l":5,"t":5}],"z":[{"á":25,"o":25}]}],"d":[{"a":[{"b":[{"l":5,"r":5}],"c":[{"é":51}],"d":[{"a":[{"t":[{"o":19}]}],"á":51}],"i":10,"l":[{"a":[{"g":11,"j":11}],"e":[{"g":2,"l":11,"s":11}],"é":[{"l":2}],"i":[{"z":11}],"í":2,"o":[{"s":11}],"t":32}],"n":[{"t":52,"y":[{"a":11,"á":11}]}],"p":[{"ó":5}],"r":[{"a":[{"n":52}],"c":52,"k":52}],"t":[{"a":[{"s":14}],"e":[{"g":14}],"i":[{"n":14}],"ó":[{"s":11}]}]}],"á":[{"g":5,"l":[{"l":5,"m":5}],"r":[{"n":5}],"s":[{"s":27}]}],"b":[{"r":5}],"e":[{"g":[{"y":5}],"k":[{"é":[{"k":51,"n":51,"t":[{"ő":51}]}]}],"l":[{"a":72,"e":[{"m":[{"e":51,"i":51,"n":51}]}],"é":[{"r":52}],"k":52,"l":[{"á":52}],"o":52,"ő":[{"h":51,"v":[{"e":[{"z":51}]}]}],"s":52,"t":[{"á":52}],"v":[{"é":52}]}],"m":[{"b":[{"e":[{"r":52}]}],"e":[{"l":51}],"l":52}],"p":[{"e":5},8],"r":[{"ő":52}],"v":[{"é":19}],"x":52}],"é":[{"g":51,"j":[{"é":[{"r":51}]}],"l":[{"m":5}],"p":52,"r":[{"c":52,"é":52,"i":51,"t":[{"e":52}],"z":52}],"s":[{"z":52}],"v":[{"e":[{"s":11}]}]}],"f":[{"l":5,"r":5}],"g":[{"l":5,"r":5}],"i":[{"g":[{"a":51,"é":52}],"l":[{"l":52}],"m":[{"i":52}],"n":[{"d":5,"t":52}],"p":[{"a":5},11],"s":[{"z":[{"a":52}]}]}],"í":[{"n":52,"r":52,"z":52}],"k":[{"r":5,"v":5}],"o":[{"g":[{"a":[{"s":14}]}],"l":[{"a":52,"d":52,"t":52}],"m":[{"l":5}],"r":[{"c":5,"g":5}],"s":[{"z":52}]}],"ó":[{"r":[{"á":51,"i":52}]}],"ö":[{"b":52,"k":[{"l":[{"e":5}]}],"r":[{"ö":[{"k":52}]}],"v":52}],"ő":[{"r":[{"i":5}],"s":[{"k":5}]}],"p":[{"l":5,"r":5}],"r":[{"ó":[{"t":6}]}],"s":[{"p":5,"t":5}],"u":[{"d":[{"v":5}],"r":[{"a":5},11],"s":[{"s":27}],"t":51}],"ú":[{"j":52,"r":52,"t":51}],"ü":[{"g":52,"l":[{"e":52}],"r":52,"z":52}],"ű":[{"r":52}],"z":[{"á":25,"ó":25,"u":25}]}],"e":[{"a":[{"b":[{"á":11}],"d":11,"g":11,"k":11,"l":11,"n":11,"p":11,"r":[{"é":6}],"s":[{"z":11}],"v":11}],"á":[{"j":11,"s":11,"z":11}],"b":[{"é":[{"d":58}],"i":[{"n":6}],"l":[{"a":5}],"r":[{"a":5,"e":[{"k":11}]}],"s":11}],"c":[{"c":47,"e":[{"t":58}],"s":[{"e":[{"t":86}]}]}],"d":[{"d":[{"i":48}],"r":[{"e":[{"s":19}],"o":5}]}],"e":[{"s":11}],"é":[{"r":11}],"f":[{"o":[{"n":[{"a":[{"l":10},26]}]}],"r":5,"t":86}],"g":[{"a":[{"l":[{"a":6}],"r":10,"s":13}],"á":[{"l":[{"l":12}],"t":[{"o":34}],"z":34}],"e":[{"b":25,"g":13,"l":[{"e":[{"m":[{".":34}]}],"l":9,"ő":[{"a":34,"j":34,"k":[{"é":34}],"t":34,"z":[{"e":25}]}],"v":[{"e":[{".":34}],"é":34}]}],"n":[{"e":6}],"r":[{"j":34}],"s":[{".":25,"e":[{"b":25,"k":25,"n":[{".":25}]}],"n":34,"r":25,"t":25,"z":13}]}],"é":[{"d":10,"l":10,"n":25}],"g":10,"i":[{"d":6,"s":12}],"m":[{"e":[{"g":22}]}],"o":[{"n":34}],"ó":[{"v":6}],"ö":[{"n":[{"g":25}],"s":12}],"p":[{"e":[{"c":22}]}],"v":[{"í":[{"z":22}]}],"y":[{"á":32,"b":47,"e":[{"d":47,"l":[{"ő":[{"r":15}]},54],"n":[{"g":[{"e":54}]}]}],"é":[{"k":54}],"i":25,"í":47,"l":86,"o":25,"s":[{"é":48},47],"ú":25,"ű":25,"v":86}]}],"i":[{"c":6,"g":11,"r":[{"á":11}],"s":11}],"j":[{"t":[{"a":11,"á":14}]}],"k":[{"a":[{"d":6,"p":[{"u":[{".":13}]}]}],"á":[{"l":12,"p":10,"r":[{".":12,"a":12,"b":12}]}],"e":[{".":58,"g":12,"l":[{"s":9}],"m":[{"b":9,"e":9}],"r":[{"j":9,"ő":8}]}],"é":[{"r":[{"t":[{"ő":12}]}],"s":[{".":58}]}],"i":[{"d":12,"j":6,"k":12,"s":[{"t":9}],"z":6}],"k":[{"é":[{"s":[{"z":28}]}]}],"l":[{"i":5}],"o":[{"l":[{"t":9}],"r":[{"z":12}]}],"ó":[{"r":13}],"ő":13,"t":[{"r":[{"o":47,"ó":47}]}],"ú":[{"t":12}],"ü":[{"d":6}]}],"l":[{"a":[{"d":86}],"d":[{"o":48}],"e":[{"k":[{"t":58}],"m":[{"a":10,"e":[{"i":47,"k":62,"s":58}],"z":47}],"t":[{"a":17,"e":[{"l":10}],"o":10}]}],"é":[{"g":47,"r":102,"s":[{"s":7,"z":29}]}],"g":[{"o":86}],"h":[{"a":86,"á":86,"e":[{"l":86}],"o":48}],"i":[{"m":6,"n":[{"g":9}],"z":12}],"j":[{"á":86}],"l":[{"á":86,"é":86,"ő":86}],"m":[{"é":[{"j":86,"s":86}]}],"n":[{"e":[{"v":86}],"ö":86,"y":86}],"o":[{"s":58}],"ö":[{"l":88}],"ő":[{"é":[{"l":58}],"f":[{"o":58}],"í":6,"s":[{"z":[{"ű":6}]}]}],"s":[{"o":48,"ö":48,"z":[{"á":86}]}],"t":[{"a":86,"á":[{"v":48}],"é":[{"r":86}],"o":86,"ö":48}],"v":[{".":86,"á":86,"é":[{"t":86}],"h":86,"n":48,"s":86}],"z":86}],"m":[{"e":[{"l":[{".":58,"d":58,"e":[{"d":48,"k":48}],"é":[{"s":48},62],"g":58,"h":[{"e":48},6],"i":58,"j":58,"l":[{"e":[{"k":48}]}],"n":58,"ő":[{".":86,"s":47},6],"s":6,"t":[{".":48,"é":48,"ü":48},6],"ü":58,"v":[{"e":48},6]}],"r":[{"k":9}],"s":[{"s":[{"z":12}],"z":[{"t":9}]}],"t":[{"i":13}]}],"é":[{"k":12,"l":[{"e":12,"t":[{"e":9}],"v":12}],"r":[{"d":[{"e":9}]}],"s":[{"s":58}]}],"i":[{"l":[{"l":12}],"n":[{"d":6,"g":12}],"s":[{"z":12}],"t":[{"a":6,"t":12}]}],"l":[{"e":[{"g":[{"e":48}]}]}],"o":[{"k":6,"l":6,"r":[{"g":12}],"s":[{"z":12}]}],"ó":[{"r":13}],"ö":[{"l":6}],"ő":13,"p":8,"u":[{"r":8}]}],"n":[{"a":[{"d":13,"l":6}],"á":[{"l":12,"t":6}],"c":[{"c":3,"e":[{"l":11,"m":[{"e":11}]}]}],"d":0,"e":[{"g":13,"l":13,"r":6,"t":[{"e":[{"l":10}]}]}],"é":[{"k":[{"e":12,"k":12,"t":12},10],"l":[{"é":9},10],"s":[{"s":38,"z":12}],"v":[{".":12}]}],"g":[{"e":[{"l":2}]}],"i":[{"d":6,"p":12}],"o":[{"k":13,"l":6,"r":12}],"ó":[{"v":12}],"ő":[{"r":[{"é":9}]}],"s":[{"p":8,"t":[{"a":9}]}],"t":[{"r":[{"a":9,"e":[{"n":8}]}]}],"u":[{"r":12,"t":12},10],"ü":[{"g":12,"t":12}],"y":[{"v":86}]}],"o":[{"a":6,"c":6,"k":11,"l":[{"i":6}],"m":11,"z":6}],"ó":[{"c":11}],"ö":[{"r":11}],"p":[{"a":[{"j":12,"p":[{"a":9},10]}],"á":[{"l":[{"l":[{"a":9}]}]}],"e":[{"g":12,"l":[{"e":10}]}],"é":[{"k":6,"l":6}],"i":[{"l":[{"l":[{"é":9}]}],"z":9}],"l":[{"o":19}],"o":[{"s":[{"z":12}]}],"ó":[{"d":13}],"p":[{"e":[{"l":[{"v":14}]}]}],"r":[{"é":[{"s":[{"e":19}]}],"i":19,"o":5,"ó":5}],"ü":[{"l":[{"ő":[{"h":13}]}]}]}],"r":[{"d":[{"ő":47}],"e":[{"d":[{"m":47}],"j":[{"é":6}]}],"é":[{"k":12,"t":[{"e":9}]}],"i":[{"l":12,"r":6}],"ó":[{"z":47}],"ő":58}],"s":[{"a":[{"l":12}],"á":[{"l":12}],"d":[{"é":48}],"e":[{"g":[{"e":47}],"k":[{"é":[{"h":13}]}],"m":[{"é":86}],"t":[{"b":54,"e":[{"i":58,"l":10}],"é":58,"h":54,"i":54,"k":54,"n":54,"o":17,"r":54}]}],"é":[{"s":[{"ű":6}]}],"k":[{"a":19,"i":5,"ü":47}],"l":[{"a":5,"i":19}],"m":[{"a":5,"i":19}],"p":89,"s":[{"z":[{"a":20,"á":20}]}],"t":[{"a":[{"r":19}],"e":[{"m":[{"p":5}],"n":86}],"é":[{"b":[{"e":48}]}],"i":[{".":47,"l":19}],"j":86,"o":[{"r":14}],"r":47,"t":48}],"z":[{"k":[{"ö":86}],"t":[{"o":5}]}]}],"t":[{"a":[{"b":12,"c":6,"l":[{"a":8,"l":9}],"m":12,"n":[{"a":12}],"p":[{"r":9}]}],"e":[{"k":[{"é":[{"b":13}]}],"l":[{"a":13,"b":12,"e":[{"g":9}],"f":12,"k":9,"ő":[{"a":9,"k":[{"é":13}]}],"r":9}],"m":[{"e":[{"l":9}],"l":12}],"n":[{"e":6,"t":12}],"r":[{"e":[{"d":9}],"é":12,"k":12}],"s":[{"t":[{"é":6}],"z":[{"k":9}]}],"t":[{"é":58,"h":58,"j":58,"v":58}]}],"é":[{"d":12,"j":13,"l":[{"e":9,"é":9,"v":9},10],"n":[{"e":[{"k":[{"n":13}]}]}],"r":[{"b":12,"e":[{"n":13}],"i":13,"r":12,"t":[{"ő":12}],"ü":[{"l":8}]}],"s":[{"z":10}],"t":[{"e":[{"r":9}],"é":[{".":8}]}],"v":[{"e":[{"d":[{"e":10}],"s":9}],"é":[{"b":13,"i":12,"r":13,"t":13,"v":13}]}]}],"i":[{"d":6,"k":[{"r":9}],"l":[{"l":9}],"m":6,"n":[{"g":12}],"s":[{"t":12,"z":[{"o":9},10]}],"v":[{"á":6}]}],"o":[{"d":6,"k":13,"n":12,"r":[{"a":9}],"x":12}],"ö":[{"v":13}],"ő":[{"e":[{"d":38}],"r":[{"i":12}]}],"r":[{"a":[{"f":5}]}],"t":[{"e":[{"g":11}]}],"ü":[{"l":[{"é":12},10],"z":[{"é":9}]}],"y":47}],"u":[{"g":11,"k":6,"r":11,"t":11}],"v":[{"e":[{"n":[{"e":47,"í":47,"ü":47}],"z":[{".":54,"g":54,"h":54,"n":54,"t":54,"ü":6,"v":54}]}],"é":[{"l":[{"l":7}]}],"o":[{"l":[{"ú":6}]}]}],"x":[{"á":6,"e":[{"l":12,"p":13}],"k":[{"é":[{"s":[{"z":28}]}]}],"ö":6}],"y":[{"é":5}],"z":[{"e":[{"r":6}],"ő":[{"a":32,"e":[{"r":32}],"é":[{"n":32}],"s":[{"p":15}]}],"r":86}]},53],"é":[{"b":[{"r":86}],"c":[{"a":6,"á":6,"c":20,"é":[{"k":12}],"h":21,"i":[{"m":6},10],"o":6,"s":[{"k":20},10]}],"d":[{"a":[{"s":12}],"e":[{"l":12,"m":[{"b":12}]}],"é":[{"l":6,"s":12}],"i":[{"l":6}],"o":[{"s":6,"t":6}],"ö":6,"ő":13}],"e":[{"r":11}],"é":[{"r":11}],"f":[{"r":19}],"g":[{"a":[{"l":6}],"e":[{"c":13,"d":47,"g":12,"l":[{"l":9,"s":9}],"m":12,"r":13}],"é":[{"r":[{".":9}],"s":58}],"h":[{"e":[{"t":48}]}],"i":[{"l":6}],"í":47,"ö":12,"ő":62,"r":[{"á":[{"f":19}]}],"t":[{"e":[{"m":48,"t":48}],"é":[{"l":48}]}],"ú":6,"ü":[{"n":54},47],"y":[{"e":[{"l":6,"s":6}],"i":6,"o":6,"ö":6}],"z":71}],"h":[{"a":[{"s":[{"z":9}]}],"e":[{".":58,"d":6,"m":12,"s":47,"t":47,"z":[{"ő":47}]}],"é":12,"o":[{"l":6}],"s":47}],"j":[{".":86,"i":58,"j":86,"s":86}],"k":[{"a":[{"b":6,"d":13,"g":13,"j":12,"k":[{"a":9}],"l":[{"a":13}],"p":[{"o":12},10],"s":12,"t":[{"o":9},10],"u":12,"v":12,"z":6}],"e":[{"g":13,"p":12,"s":[{"í":6,"z":13}],"v":[{"é":9}]}],"é":[{"k":13,"l":[{"e":12,"v":12},10],"t":[{"e":13}]}],"i":[{"d":6}],"í":[{"t":6}],"k":[{"ö":[{"z":22}]}],"o":[{"r":[{"s":9}],"s":[{"z":12}]}],"ö":[{"l":12,"r":6,"z":6}],"ő":6,"u":[{"r":13}],"ü":[{"l":[{"é":12,"t":12},10]}],"v":[{"e":[{"g":32}]}]}],"l":[{"c":48,"e":[{".":58,"i":58,"s":58}],"é":[{"b":6,"n":6,"r":6}],"m":86,"ő":[{"k":[{"é":[{"s":[{"z":65}]}]}]}],"r":86,"ü":[{"k":6}],"ű":58}],"m":[{"e":[{"l":58}]}],"n":[{"a":[{"g":6}],"á":10,"e":[{"g":6,"k":[{"b":6,"l":47}],"l":6}],"k":[{"í":47}],"o":6,"y":[{"ö":6}]}],"p":[{"a":[{"l":13}],"e":[{"l":12}],"é":[{"s":[{"s":38}]}],"í":58,"ó":6,"ü":[{"l":[{"é":6},47]}]}],"r":[{"a":[{"d":25,"l":6,"p":6,"s":6,"t":6,"v":6}],"á":12,"c":[{".":86,"b":86}],"d":[{"e":86}],"e":[{"g":6,"l":13,"s":[{"ő":12}],"z":[{".":58,"v":58}]}],"é":[{"j":13,"s":58}],"i":[{"k":58,"s":6,"t":6}],"í":6,"n":[{"i":86,"ü":86}],"o":[{"s":[{"z":12}]}],"ö":6,"ő":[{".":58,"d":6,"e":58,"i":6,"j":58,"k":58,"n":6,"t":58,"v":58}],"t":[{"e":[{"l":[{"m":47}]}],"é":[{"k":86}],"j":86,"ő":[{".":86}]}],"u":[{"t":6}],"v":[{"e":[{"l":47}],"é":[{"n":86}]}],"z":[{"e":86,"é":86}]}],"s":[{"a":[{"j":12,"k":6,"l":6,"r":6,"z":12},10],"á":13,"e":[{"g":6,"l":13,"t":[{"i":12}]}],"é":[{"g":13,"s":6}],"i":[{"k":[{"r":12}]}],"ó":6,"ő":12,"s":[{"z":[{"a":20,"e":[{"r":20}]}]}],"ü":[{"l":[{"é":12,"ő":12},10],"t":12}],"z":[{"é":[{"k":3,"s":[{"t":47}]}],"l":86,"s":[{"e":20}]}]}],"t":[{"a":[{"g":6,"z":6}],"e":[{"g":12,"l":[{".":6,"e":[{"k":[{"o":10},6],"m":13,"t":13}],"h":[{"a":9},6],"m":6,"o":9,"ő":12,"v":12}],"n":[{"e":6}],"s":[{"é":6}],"t":[{"h":58,"i":6,"n":58}],"v":6}],"é":[{"r":[{".":12}],"t":[{"e":13}]}],"i":[{"s":12}],"í":[{"t":6}],"l":47,"o":[{"k":13}],"ó":[{"h":6,"l":25,"r":13},117],"ö":[{"r":[{"ö":9}]},10],"r":[{"á":[{"g":11}]}],"u":[{"n":6}]}],"v":[{"a":[{"d":86}],"b":86,"e":[{".":58,"d":58,"i":47,"k":58,"l":[{"f":47,"i":47}],"m":58,"n":58,"t":[{".":58}]}],"é":[{"b":58,"h":58,"i":58,"n":47,"r":[{"t":9}],"t":58,"v":58}],"f":86,"h":86,"i":[{".":58,"g":58,"r":6,"s":6}],"k":86,"l":86,"m":86,"n":86,"ó":58,"r":86,"s":86,"t":86,"ü":[{"k":6,"n":6},47],"ű":58,"v":86,"z":86}]},53],"f":[{"a":[{"l":[{"e":2}],"t":[{"r":9},10],"u":[{"t":5}]}],"á":[{"t":[{"i":2}]}],"c":[{"l":5}],"e":[{"s":[{"e":5}],"t":[{"i":5},11]}],"é":[{"l":[{"é":[{"v":2}],"m":52}],"m":[{"e":[{"k":[{"é":2}]}]}]}],"i":[{"d":[{"é":14}],"n":[{"n":27,"o":[{"s":11}]}],"r":[{"o":5}],"s":[{"k":5}]}],"k":[{"l":5}],"l":[{"o":6,"ó":6,"ö":6,"u":6}],"o":[{"k":[{"t":[{"a":52}]}]}],"ó":[{"r":51}],"p":[{"r":5}],"r":[{"i":6,"í":54,"o":54,"ö":6,"ő":6}],"s":[{"p":5,"z":42}],"ü":[{"l":[{"ő":5}]}]}],"g":[{"a":[{"p":8,"t":[{"ó":[{"i":[{"k":[{"o":26}]}]}]}],"u":10}],"á":[{"r":[{"a":[{"s":3}]}]}],"é":[{"s":[{"s":27}]}],"i":[{"a":[{"s":11}]}],"l":[{"a":6,"o":6,"ó":6}],"ö":[{"r":[{"c":[{"s":[{"o":10}]}]}]}],"r":[{"a":54,"u":6}],"y":[{"a":[{"d":56,"g":56,"j":0,"l":[{"a":9,"j":9}],"n":[{"y":9}],"s":61,"u":56}],"á":[{"b":0,"l":0,"t":0}],"e":[{"g":61,"l":[{"á":0,"e":61,"z":56}],"m":[{"b":[{"e":0}]}],"r":[{"é":9}],"s":[{"e":[{"m":56}]}],"v":61}],"é":[{"l":0,"r":[{".":9}],"s":56}],"i":[{"d":0,"k":[{"r":0}],"p":0,"s":0}],"o":[{"k":56,"l":56,"p":0,"s":56}],"ó":[{"r":61}],"ö":[{"r":61,"s":56}],"u":[{"t":61}],"ú":[{"t":56}]}]}],"h":[{"a":[{"i":10}],"ó":[{"n":[{"a":[{"l":3}]}]}]}],"i":[{"a":[{"a":6,"á":6,"b":[{"i":6,"o":6}],"c":[{"é":11,"i":6,"s":6,"u":6}],"d":13,"e":6,"é":6,"g":6,"h":6,"i":[{"d":6}],"í":6,"j":6,"k":[{"é":[{"p":6}]}],"l":[{"a":6,"e":6,"i":6}],"m":[{"é":6,"o":6}],"o":6,"ó":6,"ő":6,"p":6,"r":[{"a":6,"é":6}],"s":[{"á":6,"o":6,"z":[{"a":6,"á":6,"é":6,"f":6,"i":6},9]}],"t":13,"ü":6,"v":6,"z":6}],"b":[{"e":25}],"c":[{"s":[{"z":20}],"ü":6,"y":5}],"d":[{"e":[{"á":6,"g":62}],"é":[{"n":6,"t":6}],"i":58,"ő":58}],"e":[{"c":6,"d":11,"n":47}],"é":[{"d":11,"k":11,"n":11,"v":[{"é":11}]}],"f":[{"é":[{"l":[{"é":[{"v":17}]}]}],"í":6,"l":5,"r":19}],"g":[{".":0,"a":[{"z":58}],"á":[{"n":[{"n":7}]}],"e":[{".":6,"b":58,"k":58,"p":58}],"é":[{"b":6,"h":6,"i":6,"j":6,"k":6,"n":6,"r":6,"s":6,"t":6,"v":6,"z":6}]}],"h":[{"a":[{"t":6}],"l":86}],"k":[{"e":[{"r":[{".":58,"b":58}]}],"k":[{"e":[{"l":[{"l":14,"v":14}],"r":2}],"é":[{"r":[{"d":11}]}]}],"l":19,"o":[{"n":[{"c":58,"f":58,"g":58,"i":[{"g":58}],"k":58,"l":47,"m":58,"p":58,"s":58}]}],"r":[{"é":5}]}],"l":[{"l":47}],"m":[{"a":[{".":47}],"á":[{"d":47,"k":6,"v":6}],"b":[{"o":48}],"e":[{".":6,"r":[{"á":10}]}],"p":[{"o":47},8],"ű":3}],"n":[{"a":[{"k":[{"r":6}],"l":6,"n":[{"y":9}],"r":[{"á":9}],"s":[{".":47}]}],"c":[{"s":[{"ö":18}]}],"d":[{"u":86}],"e":[{".":6,"g":6}],"é":[{"k":32}],"g":[{"e":[{"r":86}],"r":[{"á":[{"d":[{"i":10}]},9],"é":86}]}],"i":[{"n":[{"g":9,"j":9}]}],"k":[{"l":9}],"n":[{"y":20}],"o":[{"r":6}],"t":[{"e":[{"g":86}],"é":[{"z":86}]}],"u":[{"s":13,"t":12}],"ú":58}],"o":[{"c":6,"l":11,"n":[{"i":6}]}],"ó":[{"k":[{"e":6}],"r":[{"a":[{"j":11}]}]}],"ő":[{"á":6,"d":6,"e":6,"f":6,"g":6,"m":6,"p":6}],"p":[{"a":[{".":6,"i":6,"j":12}],"á":[{"r":13,"t":6}],"e":[{"g":6,"l":[{"e":9,"v":12}],"s":[{"z":12}]}],"ö":6,"ő":13,"r":[{"o":5}]}],"r":[{"a":[{"m":58,"t":58}],"á":[{"n":58}],"h":86,"i":[{"g":6}],"o":[{"d":6}],"r":86,"t":86}],"s":[{"á":[{"l":6}],"e":[{"l":12,"s":10}],"i":[{"d":6,"s":[{"k":9}]}],"k":[{"o":[{"l":86}]}],"m":48,"p":[{"á":86},8],"t":[{"e":[{"n":86}],"r":86}],"ü":[{"t":13,"v":8}],"z":[{"l":86,"t":[{"á":[{"z":17}],"i":[{"r":5}]}]}]}],"t":[{"a":[{"g":13,"l":[{".":47,"a":6,"k":9}]}],"á":[{"t":[{"a":12}]}],"e":[{"g":13,"l":13,"m":[{"b":12}],"z":6}],"é":[{"r":[{"d":12,"t":[{"e":6}]}]}],"i":[{"l":6,"n":[{"t":9}],"o":13,"s":12}],"o":[{"k":[{"t":12}],"l":[{"d":12}]}],"ö":[{"n":6}],"ő":[{"r":12},10],"t":[{"a":[{"k":48,"s":48,"t":48}]}],"u":[{"r":[{"a":12}]}]}],"ú":[{"t":11}],"v":[{"a":[{"d":58}],"o":[{"t":6}],"ó":54}],"x":[{".":71}],"z":[{"é":[{"l":48,"n":58,"s":[{"í":47}]}],"g":[{"u":48}],"m":[{"o":86}],"z":[{"í":47,"ó":86}]}]},53],"í":[{"g":[{"é":6}],"j":[{"a":6,"u":6}],"m":[{"a":3}],"n":[{"s":86,"y":[{"e":[{"n":[{"c":28}]}]},54]}],"r":[{"d":48,"h":48,"j":48,"l":48,"o":[{"d":6,"g":6,"k":6,"m":6}],"ó":58,"s":48,"u":54}],"t":[{"é":[{"s":[{"s":38}]}],"ő":[{"a":32,"p":[{"r":29}]}]}],"v":[{".":47,"a":[{"k":32},3]}],"z":[{".":86,"e":58,"i":[{"s":[{"s":38}]},0],"l":86,"ü":58,"ű":54}]},53],"j":[{"a":[{"d":[{"a":51}]}],"e":[{"l":[{"ő":51}],"r":52,"s":[{"s":3}]}],"h":[{"a":[{"r":[{"c":22}]}]}],"i":[{"p":52,"r":52,"z":52}],"í":[{"r":5}],"o":[{"r":52,"s":52}],"p":[{"r":5}],"s":[{"p":5}],"ü":[{"z":5}]}],"k":[{"a":[{"s":[{"l":9}],"t":[{"e":[{"l":11}],"é":14,"i":[{"n":11}],"ó":2}]}],"é":[{"p":[{"e":[{"l":[{"l":14}]}]}],"s":[{"z":[{"e":[{"l":11}]}]}]}],"i":[{"a":[{"k":10}],"á":10}],"l":[{"i":[{"n":54}],"í":6,"u":54}],"ö":[{"z":[{"ö":[{"n":[{".":14}]}]}]}],"r":[{"á":54,"e":[{"á":6}],"é":[{"m":[{"b":54}]}],"i":54,"í":54,"o":[{"m":6}],"ó":54}],"s":[{"h":5}],"u":[{"k":[{"é":[{"s":[{"z":28}]}]}]}],"v":[{"a":6,"á":6,"ó":6}]}],"l":[{"a":[{"d":[{"ó":[{"j":11}]}],"f":8,"g":[{"a":[{"d":14,"l":11,"s":2}],"á":[{"l":11}],"e":[{"n":11}],"é":[{"p":11}],"g":27,"o":[{"l":11}]}],"j":[{"a":19}],"k":[{"a":[{"d":5}],"c":52,"ó":[{"z":19}],"t":[{"i":52}]}],"l":[{"a":[{"p":51}],"m":52}],"m":[{"a":[{"d":11,"l":11}],"e":[{"m":11}],"é":[{"l":11}],"o":[{"r":11}]}],"n":[{"a":[{"l":52}],"y":[{"e":[{"r":11}],"ó":16}]}],"p":[{"a":[{"l":11}]}],"s":[{"z":[{"f":5}]}],"t":[{"a":[{"l":[{"a":11},32],"n":[{"y":3}]}],"á":[{"l":14,"r":[{".":14,"a":[{"d":1}],"b":14}]}],"é":[{"s":11}],"i":[{"n":[{"t":11}]}],"o":[{"l":[{"t":14}],"m":[{"o":0}],"r":[{"s":11}]}],"ű":14,"y":52}],"u":[{"t":52}]}],"á":[{"g":[{"a":51,"b":52,"g":52,"y":[{".":5,"á":5}]}],"l":[{"l":[{"o":52}],"m":52}],"m":[{"a":[{"g":11,"l":14}],"e":2,"é":[{"r":[{"t":[{"é":14}]}]}],"i":[{"k":11,"s":11}],"u":[{"t":14}]}],"n":[{"k":[{"e":17}]}],"p":51,"r":[{"a":[{"d":3,"k":11},32],"á":2}],"s":[{"i":[{"k":[{"r":14}]}],"ü":11,"z":[{"a":11}]}],"t":[{"d":52,"f":52,"i":51,"k":52}]}],"b":[{"l":5,"r":5}],"c":[{"l":5}],"d":[{"r":19}],"e":[{"d":[{"z":51}],"f":[{"f":5}],"g":[{"e":[{"r":11}],"g":3,"y":[{"é":11}]}],"í":10,"k":[{"é":[{"s":51}]}],"l":[{"a":14,"i":[{"n":11}],"l":52,"ő":[{"a":51,"d":51}]}],"m":[{"a":2,"á":14,"e":[{"g":2,"l":[{"é":5,"l":3},11],"r":11}],"é":[{"l":14,"r":[{".":14,"t":[{"é":14}]}]}],"o":2,"u":11}],"n":[{"a":11,"n":27,"ő":[{"r":2}],"s":32}],"r":[{"i":[{"n":14}],"ó":51}],"s":[{"ő":[{"t":51}],"t":[{"r":5}]}],"t":[{"o":[{"s":11}]}],"v":[{"e":[{"t":51}]}],"x":52}],"é":[{"h":[{"e":[{"t":19}]}],"j":[{"e":[{"k":51}]}],"k":[{"a":[{"p":[{"s":14}]}],"á":[{"r":11},32],"o":[{"l":14,"s":11}],"ó":11,"ú":[{"t":14}]}],"l":[{"e":[{"t":[{".":51,"b":51,"e":51,"é":[{"n":51,"t":51}],"k":51}]}],"t":52,"v":52}],"n":[{"y":[{"a":20}]}],"s":[{"p":9}],"t":[{"e":[{"r":51}],"o":10}],"v":[{".":52,"é":[{"n":19}]}]}],"f":[{"l":19,"r":5}],"g":[{"r":19}],"i":[{"d":[{"e":5}],"g":[{"a":51,"é":52}],"l":[{"l":5}],"m":[{"a":51,"p":52}],"n":[{"a":[{".":5}],"d":52,"g":[{"a":5,"f":52,"m":52,"s":52}],"i":[{"n":11}],"v":52}],"p":[{"a":137},11],"r":[{"á":52,"o":52}],"s":[{"i":52,"k":[{"o":5}],"m":0,"t":[{"e":52}]}],"t":[{"a":[{".":52,"l":0},11]}],"z":[{"é":52,"m":[{"a":5,"á":5}],"o":51}]}],"í":[{"g":52,"j":52,"v":51}],"k":[{"l":19,"r":19,"v":5}],"o":[{"á":52,"b":[{"j":5}],"f":[{"f":52}],"l":51,"p":[{"e":5}],"s":[{"s":27}]}],"ó":[{"á":10,"g":[{"r":9}],"ó":10,"r":[{"á":[{"k":11,"t":11}],"i":[{"á":11}]}],"v":[{"o":0}]}],"ö":[{"b":52,"l":52,"n":[{"t":5}],"r":52,"s":[{"s":5,"z":5}],"z":51}],"ő":[{"r":[{".":52,"e":[{"i":19}],"ö":51,"t":52}],"s":[{"i":51}],"z":[{"e":[{".":51}]}]}],"p":[{"l":19,"r":19}],"s":[{"i":[{".":6}],"k":5,"p":5,"s":20,"z":[{"t":5},10]}],"t":[{"r":[{"é":5,"i":5,"ó":5}]}],"u":[{"b":[{"o":19}],"g":52,"l":[{"t":5}],"s":[{"s":3}],"t":51}],"ú":[{"s":52,"t":[{"o":51}]}],"ü":[{"d":52,"g":52,"r":52,"t":52,"z":52}],"ű":[{"z":52}],"v":[{"é":[{"d":[{"e":[{"l":17}]}]}]}],"y":[{"ö":9,"w":41},0]}],"m":[{"a":[{"k":[{"a":[{"d":11}],"r":[{"é":9}]}],"n":[{"t":52}],"t":[{"r":[{"á":9}],"t":52}]}],"á":[{"l":[{"m":5,"o":5},11],"n":[{"y":[{"a":[{"n":11}],"ú":[{"t":44}]}]}],"r":[{"i":[{"s":11}]}],"t":[{"k":5,"t":5}]}],"b":[{"l":5,"r":19}],"c":[{"l":5}],"d":[{"r":5}],"e":[{"g":[{"o":[{"n":20}]}],"k":[{"l":9}],"l":[{"b":5,"i":19,"m":5,"ő":19}],"m":[{"b":[{"e":[{"r":52}]}]}],"n":[{"c":52,"g":52}],"ó":10,"p":[{"i":5}],"s":[{"e":[{"t":[{"é":19}]}],"s":[{"z":52}]}],"t":[{"n":52,"ű":52}],"x":52}],"é":[{"g":52,"l":[{"v":52}],"n":[{"e":[{"k":[{"e":51}]}]}],"p":52,"r":[{"t":[{"ő":52}]}],"v":[{"a":52}]}],"g":[{"l":5,"r":5}],"i":[{"d":[{"ő":19}],"g":[{"a":[{"z":22},52]},11],"n":[{"d":52,"f":52,"g":52,"s":52,"t":[{"e":52,"é":52}],"v":52}],"p":51,"r":[{"á":5,"o":5}],"s":[{"k":5}],"z":[{"z":5}]}],"í":[{"g":5,"r":5,"z":5}],"k":[{"l":5,"r":5}],"o":[{"l":[{"d":5,"v":5}],"p":51,"r":[{"s":5}],"v":52}],"ó":[{"d":[{"á":52}],"r":[{"á":19}]}],"ö":[{"k":19,"n":5,"r":19,"s":5,"t":5,"z":19}],"ő":[{"r":19}],"p":[{"l":19,"r":19}],"s":[{"k":5,"l":5,"n":5,"p":5,"t":5,"z":42}],"t":[{"r":19}],"u":[{"g":51,"r":51,"t":[{"ó":5}]}],"ú":[{"j":52}],"ü":[{"g":52,"n":[{"n":52}],"z":52}]}],"n":[{"a":[{"k":10,"p":[{"e":14}]}],"á":[{"r":[{"i":[{"s":11}]}]}],"é":[{"v":[{"á":14}]}],"i":[{"k":[{"e":[{"r":11}]}],"s":14}]}],"o":[{"á":[{"z":6}],"b":[{"a":[{"r":13}],"á":[{"c":13},47],"e":62,"i":[{"v":12}],"ó":13,"u":47,"y":5}],"c":[{"h":6,"y":5}],"é":[{"c":6,"o":6,"p":6,"z":6}],"g":[{"a":[{"d":13,"l":6}],"á":[{"l":12,"s":[{"s":7}]}],"e":[{"r":6}],"í":6,"o":[{"r":12}],"ö":6,"r":[{"á":[{"f":[{".":19,"f":19}]}]}],"ú":12,"ü":6}],"i":[{"r":6}],"k":[{"a":[{"b":6,"d":13,"j":12,"k":58}],"á":[{"r":[{"b":6,"o":13,"r":12,"u":12}],"t":[{"j":12}],"u":6}],"e":13,"é":[{"k":6}],"i":[{"d":6,"s":9,"z":13}],"í":6,"k":[{"a":[{"l":[{"a":14},32]}],"e":[{"l":14}],"ó":2,"ö":[{"s":11}],"u":[{"t":14}]}],"o":[{"l":12,"n":[{"k":6}],"r":6,"z":58}],"ü":6}],"l":[{"a":[{"j":6}],"d":86,"i":58,"l":[{"ó":86}],"t":[{"á":[{"r":86}]}]}],"m":[{"a":[{"d":[{"á":9}],"g":[{"a":9}],"j":[{"t":12}],"k":[{"a":9}],"l":[{"a":[{"p":8}],"o":8}],"r":[{"á":9}],"s":[{"s":9}],"t":[{"t":12}],"z":6}],"á":[{"c":[{"s":9}],"g":6,"l":12,"r":[{"é":12,"i":9,"k":9,"n":12,"o":13}]}],"b":[{"a":[{"l":[{"a":11},32],"v":11}]}],"e":[{"d":6,"g":6,"n":6,"r":[{"k":9,"ő":9}],"s":12}],"é":[{"d":6,"k":6,"l":6,"n":[{"e":8}],"r":[{"i":12}]}],"i":[{"d":13,"k":13,"m":12,"n":[{"k":6,"t":9}],"s":[{"z":9},10],"z":6}],"í":13,"l":[{"ó":48}],"o":[{"k":[{"o":[{"z":12}]}],"l":6,"r":13,"s":[{"z":12}],"t":[{"t":9}]}],"ó":13,"ö":6,"ő":6,"p":[{"l":8}],"ü":6,"ű":6}],"n":[{"a":[{"b":6,"d":13,"g":13,"j":6,"k":6,"l":13,"r":12,"s":12,"u":12,"v":12}],"á":[{"z":13}],"c":[{"h":11,"i":[{"l":11}]}],"d":[{"ó":2}],"e":[{"l":12}],"i":[{"r":12}],"k":8,"o":[{"l":6}],"ó":13,"ö":6,"s":8,"t":[{"r":9}],"ü":6}],"o":[{"i":6,"j":6,"r":6}],"ó":[{"s":6}],"p":[{"a":[{"p":6}],"á":[{"l":9}],"e":[{"l":8},6],"i":[{"z":6}],"í":6,"o":[{"r":13,"s":[{"z":12}]}],"ö":6,"p":[{"i":[{"n":14}]}],"t":[{"i":86},8],"ü":6}],"r":[{"d":[{"i":[{"n":11}]}],"e":[{"t":10}],"g":86,"m":86,"n":47,"s":86,"v":86,"z":86}],"s":[{".":0,"a":0,"b":0,"e":6,"ü":6}],"t":[{"h":[{"a":19}],"t":[{"l":47}]}],"x":[{"á":6,"i":6}]},53],"ó":[{"a":[{"d":11}],"á":[{"r":11}],"b":[{"l":5,"r":5}],"c":[{"c":20,"e":[{"m":6}],"h":6,"s":[{"a":[{"p":[{"á":[{"g":64}]}]}]}]}],"d":[{"á":[{"t":58}],"r":[{"o":5}]}],"f":[{"é":[{"l":[{"é":[{"v":17}]}]}],"i":[{"ú":[{"k":[{"é":10}]}]}],"l":5}],"g":[{"g":9,"í":6,"r":[{"á":5}]}],"í":[{"v":11}],"k":[{"l":19,"r":[{"é":5}]}],"n":[{"a":[{"r":6}],"i":[{".":58}],"n":47,"o":47,"r":47,"t":47}],"p":[{"á":[{"r":[{"b":[{"a":33}]}]}],"l":19,"r":19}],"r":[{"a":[{"c":6,"d":[{"a":9}],"l":[{"a":8}],"n":[{"y":9},10],"r":6}],"á":[{"i":47,"j":47,"m":[{"r":6}],"r":47,"t":47}],"e":[{"m":6,"s":13}],"é":[{"r":12}],"i":[{"n":[{"g":12}],"s":[{"m":9}]}],"í":6,"o":[{"l":[{"d":9}]}],"ü":6}],"s":[{"a":[{"j":12,"n":[{"y":9},10]}],"k":[{"i":5}],"l":[{"a":5}],"p":[{"e":5,"o":19}],"r":[{"á":19}],"s":20,"t":[{"a":19,"r":5}],"z":5}],"t":[{"r":[{"á":19,"e":5,"é":5,"i":5,"o":5}]}],"v":[{"o":[{"d":47}],"ó":54}],"z":[{"a":[{"d":6,"k":13,"l":6,"n":[{"y":9},10],"t":[{"e":30}]}],"á":[{"l":6}],"e":[{"s":12}],"i":[{"m":6,"r":12,"s":[{"k":9,"m":9}]}],"o":[{"l":[{"v":6}]}],"ő":6,"ü":6,"ű":12}]},53],"ö":[{"b":[{"ö":6}],"c":[{"a":6,"c":20,"h":6,"ő":6}],"d":[{"é":58}],"k":[{"a":6,"á":6,"o":6}],"l":[{"d":[{"ö":48}],"t":[{"a":14,"á":11,"é":[{"s":86}],"h":[{"e":48}],"o":11,"ö":[{"t":48,"z":48}],"ő":48}]}],"m":[{"l":86,"ö":[{"l":6}]}],"n":[{"a":6,"á":6,"b":[{"é":[{"k":[{"é":[{"t":14}]}]}]}],"e":6,"é":6,"o":12,"ó":6,"u":6,"ú":6}],"p":[{"a":6,"á":6,"e":6,"ö":[{"l":6}],"ü":[{"l":[{"é":12,"ő":12}]},10]}],"r":[{"e":6,"ö":6}],"s":[{"s":[{"z":[{"á":20,"e":47}]}],"ü":6,"z":[{"e":6,"i":[{"s":6}]}]}],"t":[{"l":86,"t":[{"e":[{"r":11}]}],"v":86}],"v":[{".":86,"b":86,"e":[{".":54,"z":54}],"h":86,"n":86,"ö":[{"n":54}],"r":86,"ü":[{"k":54}],"v":86}]},53],"ő":[{"a":[{"c":11,"n":11}],"á":[{"g":11}],"b":[{"l":5,"r":5}],"d":[{"a":[{"d":6}],"á":6,"e":[{".":47,"i":47,"l":6}],"é":[{"k":12}],"i":[{"n":6,"v":12}],"j":[{"e":[{".":47}],"é":[{"t":47}]}],"k":[{"ö":[{"z":22}]}],"ö":[{"k":[{"e":47,"n":47,"r":47}],"t":[{".":47}]}],"z":[{"e":21}]}],"e":[{"l":11,"s":[{"é":47},11]}],"f":[{"l":5,"r":19}],"g":[{"é":[{"p":[{"i":[{"p":30},26]}]}],"y":[{"e":[{"l":48}]}]}],"h":[{"ű":47}],"i":[{"t":[{"a":11}]}],"í":[{"t":47}],"k":[{"é":[{"s":[{"e":47}]}],"l":5,"o":[{"r":[{"ú":[{"t":30}]}]}],"v":5}],"l":[{"e":[{"g":[{"e":47}]}]}],"n":[{"n":47,"y":[{".":47,"a":[{"l":6}],"á":[{"r":6}],"b":47,"e":[{".":47,"i":47,"l":[{"v":[{"i":24}]}]}],"é":[{"b":47,"n":47,"r":47,"t":47,"v":47}],"h":47,"k":47,"n":47,"ö":47,"r":47,"t":47,"ü":47}]}],"ő":[{"r":[{"s":[{"é":[{"g":17}]}]}]}],"p":[{"á":[{"n":47}],"l":5,"r":5,"s":5}],"r":[{"e":[{"h":47,"j":47,"m":27,"t":47}],"é":[{"b":47}],"i":[{"s":12}],"ü":[{"l":6}],"z":86}],"s":[{"á":[{"l":6}],"i":[{"n":6}],"k":[{"a":19,"á":5}],"l":[{"a":5}],"ó":[{"r":6,"t":12},10],"ő":6,"p":[{"i":19,"r":5}],"r":[{"á":5}],"s":20,"t":[{"a":[{"r":11}],"r":5}],"y":5,"z":[{"á":[{"r":[{"a":20,"r":20}]}],"f":5,"í":[{"t":54}],"t":5},10]}],"t":[{"é":[{"t":[{".":47}]}],"o":[{"l":[{"á":47}]}],"r":[{"e":5}]}],"u":[{"t":11}],"ü":[{"l":11}],"v":[{"i":[{"g":47}]}],"z":[{"é":[{"t":58}],"i":[{"é":47}],"l":47,"m":47,"ü":[{"k":58}]}]},53],"p":[{"a":[{"l":[{"a":[{"g":19,"p":51}],"á":[{"t":52,"v":51}],"k":52}],"n":[{"t":[{"o":22}],"y":52}]}],"á":[{"l":[{"l":52}],"t":[{"m":52,"s":52}]}],"c":[{"s":[{"a":[{"p":43}]}]}],"e":[{"g":52,"l":[{"u":19}],"m":51,"n":[{"n":3}],"r":[{"ő":51}]}],"é":[{"g":52,"l":[{"e":52},11],"r":[{"i":52},11]}],"i":[{"d":51,"n":[{"a":51}],"z":[{"m":5,"o":19}]}],"í":[{"v":52}],"l":[{"á":54}],"o":[{"l":[{"d":52}],"n":[{"á":3},11]}],"p":[{"r":19}],"r":[{"d":48,"i":54,"o":54,"ó":[{"b":54}]}],"u":[{"s":[{"z":[{"o":5}]},11]}]}],"r":[{"á":[{"k":[{"e":14}]}],"e":[{"i":10,"p":[{"r":[{"é":8}]}],"s":[{"z":9}],"ü":10}]}],"s":[{"a":[{"v":[{"a":[{"m":2}]}]}],"á":[{"g":[{"g":27}]}],"e":[{"p":[{"r":[{"i":[{"k":5}]}]}]}],"h":[{"o":6}],"k":[{"a":6,"á":6,"i":6}],"l":[{"a":6,"á":6,"i":6}],"m":[{"a":6,"i":6}],"o":[{"r":[{"s":[{"s":7}]}]}],"ó":[{"é":[{"r":10}]}],"ő":[{"s":[{"z":75}]}],"p":[{"a":54,"e":54,"é":54,"i":54,"o":54,"ó":54,"r":76}],"r":[{"á":54,"ó":54}],"t":[{"a":54,"á":6,"e":[{"i":10}],"i":54,"í":54,"o":54,"r":76,"u":54,"ú":54}],"z":[{"a":[{"k":[{"é":10,"ü":30}]}],"á":[{"r":[{"ú":10}]}],"e":[{"g":[{"ű":61}]}],"f":76,"l":76,"p":76,"t":[{"á":11,"r":48},10],"v":76}]}],"t":[{"a":[{"g":[{"y":[{"á":11}]}],"j":[{"á":5}],"l":[{"a":[{"p":[{"b":11}]}],"á":[{"s":2,"z":2}],"e":[{"n":11,"v":14}],"é":2,"i":[{"z":11}],"l":3,"ö":11}],"m":[{"p":52}],"p":[{"r":52}],"r":[{"á":5,"c":52,"i":[{"á":11}]}],"s":[{"s":[{"z":5}],"z":[{"t":5}]}],"u":51,"z":[{"o":5}]}],"á":[{"g":[{".":5,"a":19,"b":5,"g":5,"n":5,"r":5}],"l":[{"l":52}],"n":[{"a":[{"n":11},32]}],"r":[{"a":[{"d":[{"a":11}]}],"s":[{"á":[{"g":30}]}],"u":[{"r":5}]}],"s":[{"á":[{"g":2}]}],"t":[{"a":[{"l":11}],"r":52}]}],"b":[{"l":5,"r":5}],"e":[{"l":[{"l":52,"ö":52}],"m":[{"u":52}],"r":[{"a":[{"d":11}],"e":[{"i":[{"k":51}]}],"ő":52,"u":0}],"t":[{"a":2,"é":[{"k":11}]}]}],"é":[{"k":[{"n":[{"é":52}]}],"l":[{"e":5,"m":5},11],"r":[{"c":5,"z":52}],"s":[{"a":11,"é":[{"g":2}],"s":27}],"t":[{"é":2}],"v":[{"e":[{"s":[{".":11}]}]}]}],"f":[{"l":5}],"g":[{"l":5,"r":5}],"i":[{"d":[{"e":5}],"g":[{"é":51},10],"k":[{"l":9}],"l":[{"l":52}],"m":[{"p":5}],"n":[{"d":52,"g":52}],"o":51,"s":[{"i":52,"m":5,"t":52}],"t":[{"a":51}]}],"í":[{"n":52,"r":51,"t":5,"v":[{"e":[{"l":15}]},51],"z":51}],"k":[{"r":5}],"o":[{"m":[{"l":52}],"r":[{"d":52,"g":52,"j":52,"r":52,"s":5}],"s":[{"s":27}],"x":51}],"ó":[{"p":9,"s":[{"p":8,"z":9}],"t":10}],"ö":[{"l":[{"é":52},11],"n":[{"t":5}],"s":[{"s":5}]}],"ő":[{"a":10,"e":[{"l":10}],"r":[{"ö":19}]}],"p":[{"l":5,"r":5}],"r":[{"a":[{"s":3}],"á":[{"g":6}],"é":[{"n":6}],"i":[{"k":6,"l":6}],"ó":[{"f":6,"n":54,"p":6}]}],"s":[{"é":[{"g":[{"e":[{"l":30}]}]}],"l":5,"p":5,"t":5}],"t":[{"r":19}],"u":[{"d":[{"v":52}],"n":[{"a":52,"i":14}],"r":[{"a":5}],"s":[{"z":[{"e":11}]}],"t":51}],"ú":[{"r":[{"i":11}]}],"ü":[{"g":52,"l":[{"é":19}],"s":[{"t":5}],"v":51,"z":[{"e":[{"m":19}]}]}]}],"u":[{"a":[{"g":11}],"á":[{"r":11}],"b":[{"a":[{"d":13,"l":6,"n":10,"s":12}],"á":[{"r":6}],"e":[{"g":13,"r":10,"s":6}],"é":[{"l":6}],"i":[{"n":12}],"ó":[{"r":6},10],"ö":6,"t":8,"ü":6}],"d":[{"j":47,"v":47,"y":5}],"e":[{"l":11,"s":[{"é":6}]}],"g":[{"a":[{"s":[{"s":7}],"t":6}],"l":19,"o":[{"r":58}],"r":86}],"i":[{"r":11}],"j":[{"j":86}],"k":[{"l":5,"o":[{"s":12,"v":13}]}],"l":[{"i":[{"n":[{"f":12}]}],"í":6,"r":47}],"m":[{"a":[{"d":6,"z":6}],"á":[{"l":6}],"e":[{"n":[{"n":7}],"r":6,"s":6}],"i":[{"k":13,"p":12}],"í":47,"p":[{"e":[{"l":11}]}]}],"n":[{"d":47,"h":48,"i":58,"j":48,"l":48,"n":48,"o":54,"ó":54,"v":48}],"r":[{"a":[{"k":6,"m":6,"t":6}],"u":58,"ú":58}],"s":[{"a":[{"d":6,"k":[{"a":12,"r":6}],"l":6,"n":13}],"á":[{"g":12,"l":6}],"e":[{"r":13}],"é":[{"r":[{"t":[{"é":12}]}]}],"i":[{"m":6,"s":6}],"í":[{"r":6}],"k":[{"é":[{"s":[{"z":28}]}]}],"ó":13,"ö":[{"r":6},10],"ő":6,"s":[{"z":[{"e":20,"i":20}]}],"t":10}],"t":[{"á":[{"n":[{"z":47}]}],"c":86,"h":19,"ó":[{"d":6}],"r":[{"a":5}]}],"z":[{"s":6}]},53],"ú":[{"d":[{"a":12,"á":6,"e":6,"é":[{"t":6}],"z":21}],"g":[{"a":6,"á":12,"e":6,"g":20,"i":6,"o":[{"l":6}]}],"j":[{"d":86,"í":58,"u":6}],"r":[{"i":6,"u":6,"ü":6}],"s":[{"z":58}],"t":[{"é":[{".":6}],"v":86}],"z":[{"a":[{"n":13}]}]},53],"ü":[{"c":[{"s":6}],"d":[{"í":6,"ü":6}],"g":[{"e":6,"y":6}],"l":[{"á":6,"d":[{"ö":48}],"e":[{"l":6,"m":13,"p":48}],"é":[{"r":9,"s":86},6],"h":[{"e":[{"t":[{".":86,"n":[{"e":86}],"s":86}]}]}],"í":6,"j":[{"e":[{"k":86}]}],"n":[{"e":[{"k":86}],"é":[{"k":86}],"i":86}],"ö":58,"ő":58,"s":[{"z":[{".":86}]}],"t":[{".":86,"e":[{".":48,"k":86,"m":86,"s":86,"t":[{".":86,"e":86,"i":86,"j":86,"l":47,"n":86,"s":47,"t":86,"ü":86,"v":86}]}],"é":[{"i":48,"k":48,"l":48,"n":48,"r":48,"t":48},47],"n":48,"ü":86}],"ú":6,"ü":[{"n":86},6],"v":[{"e":[{".":86}]}]}],"n":[{"n":86}],"r":[{"e":6,"í":6,"ü":6}],"s":[{"z":6}],"t":[{"e":6,"é":6,"i":6,"ö":6,"ő":6,"ü":6}],"v":[{"e":6,"ö":6}],"z":[{"e":6,"é":6}]},53],"ű":[{"r":[{"á":6,"b":86,"i":58,"l":48}],"z":[{"e":6,"é":6,"i":6,"ö":6,"ő":6,"ü":6}]},53],"v":[{"a":[{"d":[{"a":[{"t":11}],"m":52}],"j":[{"a":[{"k":3}],"e":14}],"k":[{"a":[{"d":5}],"c":52}],"l":[{"a":51,"g":52,"k":52}],"n":[{"t":52,"y":51}],"r":[{"á":[{"s":51}]}],"z":51}],"á":[{"g":[{"y":[{"ó":[{"n":44}]}]}],"l":[{"l":[{"a":[{"t":52}],"t":52}]}],"p":52,"r":[{"a":[{"i":[{"n":11}],"k":[{".":51}],"s":11}],"á":[{"r":11}],"n":[{"y":52}],"o":[{"l":11}],"u":[{"l":51}]}],"s":[{"s":27,"z":[{"i":11}]}],"t":[{"a":5,"h":5,"k":5}]}],"b":[{"r":5}],"e":[{"d":[{"z":51}],"g":[{"y":[{"s":5,"v":5}]}],"k":[{"é":[{"b":19}]}],"l":[{"e":[{"m":[{"e":59}]}],"k":52,"l":52}],"r":[{"ó":52}],"x":52}],"é":[{"g":[{"é":[{"s":51}],"ü":[{"l":11}]}],"l":[{"m":52}],"n":[{"e":[{"k":[{"e":51}]}]}],"p":52,"r":[{"i":[{".":11}],"t":[{"e":[{"l":0}],"é":52}],"ü":51,"z":[{"é":[{"s":[{"i":0}]}]}]}],"s":[{"z":[{"a":11}]}]}],"f":[{"r":5}],"i":[{"d":[{"e":51,"o":51}],"g":[{"a":52}],"k":[{"o":5}],"m":51,"n":[{"t":[{"é":5}]}],"p":[{"a":19}],"r":[{"o":52,"t":52}],"s":[{"k":[{"o":52}],"m":52}],"z":[{"m":52,"o":52}]}],"í":[{"v":[{"e":51}],"z":[{"e":[{"s":3},32]}]}],"k":[{"l":5,"r":5}],"o":[{"k":52,"l":[{"d":52,"v":52}],"n":[{"t":[{"o":52}]}],"p":52,"r":52,"s":52}],"ö":[{"d":[{"é":5}],"l":[{"é":52,"t":52},11],"n":52,"s":52,"v":52,"z":51}],"ő":[{"r":19,"s":5}],"p":[{"r":5,"s":5}],"s":[{"p":5,"t":5}],"u":[{"t":52}],"ú":[{"j":5}],"ü":[{"g":52,"t":52}]}],"y":[{"a":[{"d":[{"a":[{"t":11}],"m":77,"ó":93}],"g":[{"y":[{".":47,"r":47}]}],"j":[{"t":47}],"k":[{"a":[{"s":93}],"c":5,"n":[{"á":77}],"ó":[{"s":47}],"t":47}],"l":[{"a":[{"t":19}],"b":77,"k":77,"m":77,"o":[{"m":19}],"t":5}],"m":[{"a":[{"j":11,"r":[{"á":11}]}],"e":[{"l":14,"m":11}],"é":[{"r":[{"t":[{"é":14}]}]}]}],"n":[{"g":47,"i":47,"y":[{"a":[{"g":11}],"á":19}]}],"p":[{"á":[{"n":19}],"r":8}],"r":[{"c":77}],"s":[{"a":[{"l":11}],"p":[{"e":5}],"s":[{"z":5}]}],"t":[{"l":77,"r":8,"y":47}],"z":[{"o":47}]},53],"á":[{"b":[{"é":47,"r":47}],"g":77,"l":[{"d":5,"l":5}],"p":77,"r":[{"a":[{"d":93,"k":93,"m":93,"t":93}],"k":5,"n":77,"r":77,"u":93}],"s":[{"s":27,"z":11}],"t":[{"a":47,"f":47,"h":47,"l":[{"á":47,"é":47}],"m":47,"s":47,"t":47,"v":47}]},53],"b":[{"l":5,"r":5}],"d":[{"r":5}],"e":[{"g":[{"a":11,"y":[{"e":[{"z":28},19]}]}],"j":5,"k":[{"e":[{".":47,"k":47}],"é":[{"b":93,"r":[{"ő":93}]}]}],"l":[{"e":19,"f":5,"h":5,"l":5,"m":5,"ő":19,"r":5,"s":5,"t":5,"ü":5,"v":5,"z":5}],"m":[{"a":14,"b":[{"e":[{"r":47}]}],"e":[{"l":93}],"i":[{"n":11}],"l":[{"í":47}]}],"n":[{"g":77}],"r":[{"k":5,"ő":19}],"s":[{"d":77,"e":[{"m":[{"é":77}],"t":[{"e":93,"é":47,"t":93}]}],"é":[{"l":47,"s":93}],"t":[{"e":77}],"z":[{"k":47,"m":47,"ű":47}]}],"t":[{"e":[{"t":47}]}],"v":[{"ő":47}],"x":77},53],"é":[{"g":77,"h":[{"e":[{".":47,"n":47,"t":47}]}],"l":[{"e":5,"m":5},11],"n":[{"e":[{"k":[{"e":47}]}]}],"p":77,"r":[{".":77,"c":77,"d":77,"é":93,"m":77,"ő":[{".":47,"i":47,"k":47}],"r":77,"t":[{"e":77,"é":77}],"ü":93,"v":77,"z":77}],"s":[{"z":5}],"t":[{"t":77}],"v":[{".":47,"e":[{".":47,"i":47,"k":47,"n":47,"t":47}],"é":[{"v":47}],"i":47,"r":47,"v":47}]},53],"f":[{"l":5,"ö":[{"l":[{"t":9}]}]}],"g":[{"l":5,"r":5}],"i":[{"b":[{"o":47}],"d":[{"e":[{"á":47,"g":47,"n":47}],"i":47,"o":77,"ő":47}],"é":[{"h":10}],"g":[{"a":47,"á":47,"e":77,"é":77},11],"h":[{"a":77}],"l":[{"l":77}],"m":[{"a":5,"á":47,"p":47}],"n":[{"d":47,"f":47,"g":77,"i":77,"t":77,"v":47}],"p":93,"r":[{"a":[{"t":19}],"á":47,"i":47,"o":77,"r":47,"t":47}],"s":[{"k":77,"m":47,"p":47,"t":47}],"t":[{"a":77}],"v":[{"a":[{"d":47}]}],"z":93},53],"í":[{"g":77,"n":77,"r":93,"v":5},53],"k":[{"i":[{"z":6}],"l":5,"r":[{"ó":5}]}],"n":[{".":53}],"o":[{"b":77,"d":[{"ú":47}],"f":77,"k":[{"a":[{"l":47}],"l":77,"m":47,"o":[{"z":47}],"t":[{"a":47}]}],"l":[{"a":5,"d":5,"l":5,"t":5,"v":5},11],"m":[{"a":[{"s":14}]}],"p":77,"r":93,"s":[{"z":77}],"t":[{"t":77}]},53],"ó":[{"d":[{"á":5}],"s":[{"á":14}]},53],"ö":[{"b":77,"l":93,"r":93,"s":[{"s":5}],"v":77},53],"ő":[{"r":19},53],"p":[{"l":5,"r":5}],"r":[{"á":[{"d":[{"i":26}]}],"e":[{"p":3}]}],"s":[{".":53,"k":5,"p":5,"t":11,"z":[{"á":[{"m":[{"é":43}]}]}]}],"t":[{"a":[{"c":6}],"r":19}],"u":[{"d":77,"g":[{"r":47}],"h":77,"j":77,"k":[{"á":[{"s":11}]}],"n":[{"i":47}],"r":93,"t":93},53],"ú":[{"j":[{"s":47}],"r":[{".":77}],"t":[{"h":47,"r":47,"t":47,"v":47}]},53],"ü":[{"d":77,"g":77,"n":[{"n":47}],"r":77,"v":93,"z":77},53],"ű":[{"r":[{".":77,"h":77,"l":77}]},53],"w":[{"o":53}],"z":[{"e":[{"t":[{"e":[{"l":30}]}]}]}]},0],"z":[{"á":[{"s":[{"s":3}]}],"e":[{"t":[{"a":11,"e":[{"l":2}],"é":[{"r":[{".":14}]}]}]}],"é":[{"s":[{"a":11}]}],"ő":[{"a":10,"e":10,"s":[{"o":[{"r":[{"r":14}]}]}]}],"u":[{"s":[{"s":27,"z":4}]}]}]}],"m":[{".":47,"a":[{"a":[{"d":11}],"b":[{"r":[{"a":5}],"s":86}],"c":[{"é":[{"l":[{".":6,"b":6,"t":6}]}]}],"d":[{"a":[{"g":47,"p":86,"t":[{"b":6,"o":6,"t":6}]}],"á":[{"s":[{"s":7}]}],"é":[{"v":13}],"ó":[{"k":[{"é":[{"s":[{"z":65}]}]}],"z":6}],"z":134}],"e":[{"r":11}],"é":[{"r":11}],"f":[{"r":[{"a":19,"i":5}]}],"g":[{"a":[{"c":6,"d":[{"a":[{"t":[{"o":13}]}],"á":13,"ó":13,"u":13}],"l":[{"a":9},10],"n":[{"y":9},31],"r":[{"a":9},10],"s":[{"s":7,"z":[{"a":12}]}],"z":[{"o":9}]}],"á":[{"g":6,"l":[{"l":9}],"r":[{"é":8,"n":9,"r":9,"t":9}],"t":[{"a":9,"o":12}]}],"e":[{"b":6,"l":12}],"g":[{"r":86}],"i":[{"d":6,"k":13}],"í":12,"k":[{"i":[{"a":[{"d":[{"ó":67}]}]}]}],"o":[{"r":12,"s":[{"z":12}]}],"ó":[{"r":[{"a":9}],"v":12}],"u":[{"r":13}],"ü":13,"y":[{".":86,"b":86,"u":58}]}],"h":[{"h":48}],"i":[{"l":[{".":6,"t":6}],"z":11}],"j":[{"t":[{"a":86,"i":11}]}],"k":[{"a":[{"r":[{"á":6}]}],"á":[{"c":6}],"c":86,"k":[{"e":2,"r":47,"u":86}],"l":[{"u":5}],"o":[{"l":[{".":58}]}],"r":[{"é":[{"m":19}],"i":19,"o":47}],"t":[{"i":48}],"u":[{"s":6}]}],"l":[{"a":[{"c":[{"h":[{"á":38}],"s":29}],"g":[{"ú":30},47],"k":[{"u":6,"z":86}],"n":58,"p":[{"í":58}],"s":[{"z":[{"t":[{"a":131}]}]}]}],"b":86,"c":86,"d":86,"g":[{"o":48},47],"j":86,"k":86,"o":[{"m":[{"e":30}],"s":9}],"r":48,"t":[{".":86,"h":9}],"u":58,"v":47}],"m":[{"p":86}],"n":[{"a":[{"l":58,"t":6}],"á":47,"e":[{"g":12}],"g":[{"i":86}],"t":[{"o":86,"r":86}],"y":[{"a":[{".":58,"g":6}],"á":58,"ó":58}]}],"o":[{"k":11}],"p":[{"a":[{".":6,"s":6}],"á":[{"t":58}],"l":19,"r":[{"e":19,"é":19,"i":19,"o":19}],"s":86}],"r":[{"á":[{"n":[{"y":58}]}],"b":86,"c":[{".":86,"c":86,"h":86,"k":[{"o":9}],"u":86,"ú":86}],"é":[{"n":58}],"i":[{"s":[{"i":13}]}],"k":[{"a":[{"l":14}],"i":[{"n":14}],"ó":[{"n":14,"r":2}]}],"m":47,"o":[{"k":30,"m":[{"á":6}],"s":[{"s":7}]}],"ó":[{"k":[{"h":3,"k":3,"n":3,"r":3},32]}],"y":5,"z":86}],"s":[{"k":[{"á":19}],"p":[{"e":19,"r":5}],"r":[{"á":19}],"t":[{"a":19,"e":5,"r":5},10],"z":[{"e":[{"g":[{"y":3}],"m":[{"e":15}]}],"é":[{"t":24,"v":6}],"i":[{"s":6}],"í":[{"v":[{"e":3},32]}],"ö":[{"s":3}]}]}],"t":[{"a":[{"d":[{"a":9}],"l":[{"a":[{"p":9}]}],"n":[{"y":[{"a":9}]}],"z":6}],"á":[{"g":6,"r":[{"a":[{"k":[{"a":10}],"s":13}],"á":[{"r":8}],"n":12,"ú":13}],"z":12}],"e":[{"g":13,"l":[{"i":9,"l":12,"ő":9,"t":9}],"m":[{"e":12}],"s":10}],"é":[{"l":6,"r":[{"t":[{"e":12}]}]}],"f":[{"é":[{"l":[{"é":33},22]},32]}],"i":[{"d":6,"n":[{"d":12,"f":12,"g":12,"t":12}]}],"ö":[{"r":[{"ö":12}]}],"r":[{"a":[{"n":19}],"á":[{"g":11}]}],"t":[{"i":[{"n":11}]}],"u":[{"t":12}],"y":[{"a":58,"á":6}]}],"u":[{"k":58,"r":[{"a":11,"i":6}],"s":6,"t":[{"a":11,"o":58}]}],"v":[{"a":[{"t":58}]}],"z":[{"a":[{"l":13}],"á":[{"l":6,"t":[{"l":12}]}],"e":[{"l":6}],"ó":[{"k":[{"é":[{"s":[{"z":65}]}]}]}],"s":[{"ű":21}]}]},53],"á":[{"b":[{"é":58,"r":86}],"c":[{"s":[{"a":[{"s":24}],"e":23,"i":[{"n":6,"r":6,"s":6}],"ó":6,"ü":6}]}],"f":[{"á":6}],"g":[{".":86,"a":58,"á":58,"b":86,"é":58,"g":86,"i":[{".":6,"g":58}],"k":86,"n":[{"a":48}],"o":47,"ó":47,"r":86,"u":[{"k":6,"n":6}],"ú":58,"y":[{"a":[{"d":[{"a":3},32]}]},58]}],"h":[{"í":6}],"j":[{"a":[{"n":6}],"á":[{"r":[{"t":12}]}],"e":13,"o":[{"l":12},10],"r":[{"e":[{"n":26}]}],"u":[{"l":12}],"ü":6}],"k":[{"a":[{"l":12,"r":6},10],"e":13,"é":[{"r":[{".":12}]}],"i":[{"l":6}],"ó":12,"ő":6,"ü":12}],"l":[{"a":[{"l":13,"r":86}],"á":[{"l":6}],"c":86,"e":13,"é":[{"r":[{"t":9}]}],"l":[{"a":[{"m":86,"p":48,"t":48}],"í":86,"o":[{"m":48}]}],"m":[{"a":86,"o":86}],"o":[{"s":6}]}],"m":[{"a":[{"s":12}],"í":58}],"n":[{"a":[{"s":12,"v":6},10],"á":[{"r":6}],"c":[{"c":3,"e":11,"é":[{"g":14}],"i":[{"p":11}],"s":[{"é":11}]}],"e":12,"i":[{"n":12,"s":6,"t":12}],"ö":13,"ő":6,"s":[{"s":27}],"t":[{"a":[{"c":11,"g":11,"l":14,"s":14}],"á":32,"é":[{"k":14}],"ö":[{"l":14}]}],"ú":6,"ü":6,"y":[{"a":[{"d":23,"g":23,"j":6,"k":[{"a":24}],"l":23,"n":[{"y":6},32],"p":6,"r":6,"u":6,"v":6,"z":6}],"e":23,"é":[{"r":[{".":24,"d":6,"z":6}]}],"í":23,"ó":23,"ö":6}]}],"p":[{"o":6}],"r":[{"a":[{"d":58,"g":13,"m":47,"n":13,"s":[{"s":9},6],"t":58,"u":12}],"á":[{"l":12}],"e":[{"m":9},31],"é":[{"s":6}],"i":[{"d":12,"k":12,"p":13,"s":[{"i":13,"k":9,"t":[{"á":9}]}]}],"í":6,"k":[{"o":[{"k":47}]}],"o":[{"l":47}],"ö":6,"ő":6,"u":[{"g":6,"h":54,"k":6,"r":48}],"ü":6}],"s":[{"a":[{"d":13,"l":6,"p":6,"r":13,"v":12,"z":6}],"á":[{"r":[{"á":13,"n":12}],"s":[{"á":86,"n":86,"r":86},6]}],"b":[{"e":[{"j":[{"á":33},43]}]}],"e":13,"í":[{"r":6}],"o":[{"r":6}],"ó":58,"ö":6,"ő":6,"t":[{"r":9},10],"ü":13,"z":[{"a":[{"v":20}]}]}],"t":[{"a":[{"k":8},58],"á":58,"c":86,"d":86,"e":[{"n":6},10],"é":47,"f":86,"g":86,"h":86,"i":[{"r":58}],"í":58,"j":48,"l":[{"ó":86}],"n":86,"o":[{"l":12}],"ö":102,"p":86,"r":[{"e":86}],"s":86,"t":[{"e":86}],"ú":58,"ü":58,"v":86}],"z":[{"a":[{"l":6}],"e":6,"i":[{"a":10,"é":10,"s":13}],"ő":6,"s":[{"a":[{"l":6}],"e":3,"z":20}]}]},53],"b":[{"a":[{"k":[{"c":5,"k":52,"r":8,"v":5}],"l":[{"a":[{"g":51}],"j":52,"k":52}],"n":[{"a":51,"y":[{"a":51}]}],"p":9,"v":[{"a":[{"r":19}]}],"z":[{"o":19}]}],"á":[{"g":[{"y":19}],"l":[{"l":52}],"r":[{"o":[{"n":51}],"r":[{"ó":52}]}],"s":[{"z":[{"á":[{"v":11}],"n":[{"á":52}],"o":[{"k":[{"a":51,"k":51,"o":51,"r":51}]}]}]}],"t":[{"a":52,"h":52}]}],"e":[{"á":10,"c":[{"e":19}],"k":8,"l":[{"e":[{"d":11,"g":19}],"l":52,"r":5,"s":[{"z":5}]}],"p":[{"e":5}],"r":[{"a":[{"g":2,"l":11,"n":11,"s":11}],"á":11,"e":[{"g":11,"s":[{"z":[{"ű":3},32]}],"v":11}],"é":[{"l":14,"s":2}],"i":[{"m":[{"á":11}],"n":[{"g":11}],"s":[{"z":11}]}],"o":[{"l":11,"s":11}],"t":32,"ú":14}]}],"é":[{"g":51,"k":[{"e":19,"í":52}],"p":52,"r":[{"e":[{"s":[{"s":11}]}],"t":[{"é":52}],"z":52}]}],"g":[{"r":5}],"i":[{"d":[{"e":52}],"k":[{"a":[{"l":14}],"e":11}],"l":[{"l":[{"a":52}]}],"n":[{"a":[{".":51,"i":51,"m":0}],"d":5,"f":52,"g":[{".":52}],"v":5}],"p":[{"a":52}],"z":[{"m":52,"o":[{"m":19}],"z":52}]}],"í":[{"v":52,"z":5}],"k":[{"l":5}],"l":[{"ú":54,"y":5}],"o":[{"b":52,"l":[{"d":[{"a":5}],"y":[{"a":[{"k":11}]}]}],"n":[{"d":5}],"p":52,"r":[{"m":[{"á":52,"ú":52}],"o":[{"z":51}]}],"s":[{"z":[{"l":52}]}]}],"ö":[{"l":[{"e":5}],"v":52}],"ő":[{"s":[{"i":19,"z":51}]}],"p":[{"l":5,"r":5}],"r":[{"á":[{"d":[{"i":26}]}],"e":[{"v":6}],"o":[{"k":6,"n":6}]}],"s":[{"p":5,"t":42,"z":5}],"t":[{"r":5}],"u":[{"s":[{"z":[{"e":11,"í":11}]}],"t":51}],"ú":[{"j":5}],"ü":[{"g":52,"l":52,"s":52,"t":52,"z":52}],"v":[{"e":[{"z":[{"é":26}]}]}]}],"c":[{"l":[{"u":6}],"s":[{"a":[{"p":[{"á":[{"g":17}]}]}]}]}],"d":[{"a":[{"b":8,"g":8,"p":8}],"i":[{"a":[{"l":[{"e":11}],"p":20}]}],"r":[{"a":6,"á":6,"o":6,"ó":6}]}],"e":[{"a":[{"l":11,"n":11,"v":6}],"b":[{"é":[{"d":6}]}],"d":[{"e":[{"r":[{"e":17}]}],"é":[{"n":[{"y":47}]}],"r":[{"á":19}],"z":58}],"e":[{"s":11,"t":6}],"f":[{"f":86}],"g":[{"a":[{"b":[{"a":6}],"l":[{"a":12,"u":12,"v":12}],"n":12,"r":13,"s":[{"z":126}],"v":6}],"á":[{"m":25,"s":10,"t":10,"z":10},12],"e":[{"g":12,"l":[{"e":10,"ő":10},12],"r":6,"s":[{"e":[{"m":12}],"z":[{"t":9}]}],"t":[{"a":6,"e":13}],"z":6}],"é":[{"l":13,"s":[{"s":38,"z":22}]}],"f":9,"g":[{"r":9},10],"i":[{"g":[{"á":9}],"n":[{"n":9}],"r":9,"s":9,"t":[{"t":9}]},6],"í":12,"o":12,"ó":13,"ö":13,"ő":[{"r":6}],"u":13,"ú":6,"ü":[{"g":13,"l":13}],"y":[{"e":[{"z":47}],"h":86,"l":86,"s":86,"ü":[{"t":47}]}]}],"h":[{"e":[{"t":[{"ő":6}]}]}],"i":[{"r":[{"á":11}]}],"k":[{"a":[{"d":12,"g":12,"l":[{"k":9}],"m":12,"r":[{"c":9}],"s":13,"t":[{"t":12}]}],"á":[{"l":13,"p":13,"r":[{".":12,"a":12}],"t":6}],"e":[{"g":[{"y":9}],"l":[{"l":9}],"p":6,"r":[{"s":12}],"s":[{"z":[{"e":12,"m":6,"t":[{"e":9}]},10]}],"v":6}],"é":[{"k":12,"l":6,"r":[{".":12,"d":[{"e":9}],"k":12,"t":[{"e":12,"é":12}]}],"s":[{"s":12}],"t":[{"e":12}]}],"i":[{"d":[{"o":6}],"j":6,"m":[{"á":9}],"n":[{"g":12,"t":12}],"p":13,"s":[{"t":12}],"t":[{"a":12}]}],"í":[{"r":6,"t":6}],"k":8,"l":[{"u":20}],"o":[{"b":6,"k":12,"l":[{"d":12,"t":12}],"n":[{"k":12}],"p":6,"r":[{"a":9,"o":9,"t":9},10],"s":12,"t":[{"t":9}]}],"ó":[{"v":13}],"ö":[{"l":[{"t":[{"ö":9}]}],"n":6,"r":[{"ö":[{"m":9}]}],"t":12}],"ő":12,"s":[{"z":32},9],"t":8,"u":[{"j":6,"n":6,"r":6}],"ú":13,"ü":[{"d":6,"g":12,"l":[{"d":12,"é":13,"ő":13}],"z":6}]}],"l":[{"a":[{"d":48,"k":9}],"á":[{"g":6,"l":6}],"b":47,"e":[{"f":58,"k":[{"t":6}],"l":8,"m":[{"e":58,"z":58}],"s":58,"t":[{"é":[{"r":[{".":30}]}]},47]}],"é":[{"g":58,"l":88,"r":102,"s":[{"s":38}]}],"f":86,"g":[{"o":86}],"h":[{"a":48,"á":86,"e":[{"l":86}]}],"i":[{"t":[{".":6}]}],"í":100,"j":[{"á":86}],"k":[{"é":48,"í":48,"ö":48},47],"l":[{"á":[{"l":11}],"e":[{"n":[{"e":48}],"r":11}],"é":[{"r":[{".":14}]}],"i":[{"n":[{"g":11}],"z":14}],"o":11,"ö":11,"u":2}],"m":[{"é":86}],"n":[{"ö":86}],"o":[{"s":6}],"ő":[{"d":[{"e":48}],"í":58,"l":[{"e":54}],"t":[{"t":54}],"z":[{"ő":6},47]}],"r":86,"s":[{"z":[{"á":86}]}],"t":[{"a":86,"á":86,"e":[{"r":48,"t":[{"t":[{".":86,"n":86}]}]}],"é":[{"r":86}],"i":86,"y":47}],"v":[{".":86,"á":86,"e":[{"s":86}],"n":86,"o":86}],"y":[{"é":[{"k":24}]}],"z":86}],"m":[{"l":86,"u":[{"l":58}]}],"n":[{"a":[{"d":13,"l":6,"r":6,"u":6}],"á":[{"t":6}],"e":[{"g":13,"l":12,"r":6,"t":[{"á":17,"ö":10}]}],"é":[{"s":[{"s":38}]}],"g":[{"e":[{"s":86}]}],"i":[{"l":6,"p":12}],"í":6,"ö":6,"s":[{"é":[{"g":2}]}],"t":[{"e":[{"l":[{"l":14}]}],"i":[{"p":11,"s":14}]}],"u":12,"ú":6,"y":[{"a":6,"e":[{"m":[{"a":32}]}]}]}],"o":[{"m":6}],"ó":[{"e":6}],"p":[{"h":19,"i":[{"k":6}],"o":[{"s":6}],"r":19}],"r":[{"a":[{"p":15,"s":[{"s":9}]}],"d":[{"ő":47}],"e":[{"c":58,"d":[{"m":47}],"g":[{"y":9}],"j":58,"l":13,"m":[{"l":12}],"t":[{"a":30,"e":[{"l":17}],"é":[{"r":[{".":30}]}]}],"z":[{"ő":[{"k":[{"h":47}]}]}]}],"é":[{"p":12}],"i":[{"l":12,"m":6,"n":[{"f":9,"g":9}],"p":12}],"n":[{"y":[{"ő":47}]}],"o":[{"l":12,"r":6,"s":12,"v":6}],"ő":[{"l":47,"s":[{"í":47}]}],"s":[{"t":9},10],"t":[{"r":[{"ó":9}]}],"ü":[{"g":13}]}],"s":[{"a":[{"s":6}],"e":[{"m":[{"b":12,"é":[{"n":86}]}],"s":3,"t":[{"é":47,"t":58}]}],"é":[{"l":[{"y":47}],"s":[{"é":58,"h":58,"k":47,"r":47,"s":47,"t":47}]}],"ő":58,"p":[{"o":19}],"t":[{"b":86,"e":[{".":86,"k":86}],"é":86,"f":86,"ó":19,"r":86,"ü":[{"n":86}]}],"z":[{"a":[{"n":6}],"e":[{"m":47}],"t":[{"á":42}]}]}],"t":[{"a":[{"n":[{"y":[{"a":9}]}],"s":[{"z":26},3]}],"e":[{"g":[{"y":13}],"l":[{"l":9}],"t":[{"é":58}]}],"i":[{"n":[{"g":9}]}],"ó":[{"r":6}],"ú":6,"ű":[{"d":6}]}],"u":[{"g":58,"k":6,"s":[{"s":27}],"t":11}],"v":[{"ő":6}],"z":[{"a":[{"c":6,"j":12,"k":10,"u":6}],"á":[{"l":6}],"e":[{"d":[{"é":6}],"g":6,"l":[{"j":12,"l":12,"ő":[{"h":6}]}],"r":[{"e":9},6]}],"é":[{"k":12,"r":[{".":12,"d":12,"e":[{"t":9}],"i":13}]}],"i":[{"d":12,"m":6,"n":6,"o":6}],"í":[{"r":6}],"o":[{"l":12,"r":12}],"ö":12,"ő":[{"e":32,"r":[{"ö":13}],"s":[{"s":12}]}],"r":[{"e":[{"m":47,"s":[{"e":48,"r":48,"t":48}]}]}],"s":[{"a":21,"á":6,"ö":6}],"u":6,"ú":6}]},53],"é":[{"b":[{"e":[{"r":6}],"r":86}],"c":[{"s":[{"a":23,"o":6}]}],"g":[{"a":12,"e":[{"g":9},6],"é":6,"i":[{"s":9},6],"o":13,"ő":6,"ú":6}],"h":[{"a":13,"á":12,"e":[{"g":6,"l":6}],"i":[{"r":6,"s":12}],"o":[{"r":12}],"ö":6,"r":[{"e":[{"n":26}]}],"s":[{"é":47}]}],"j":[{".":86,"b":86,"e":[{"s":6}],"s":86}],"k":[{"a":[{"d":12,"j":12,"k":12,"l":12,"n":12,"r":6,"z":6},10],"á":13,"e":[{"g":13,"l":[{"h":9,"l":9,"ő":8}],"s":[{"e":12}],"v":6,"z":6}],"é":[{"k":13,"l":13}],"i":[{"d":6,"r":[{"á":6}]}],"í":6,"o":12,"ö":12,"ő":6,"u":13,"ú":12}],"l":[{"e":[{".":6,"l":58,"s":6,"z":6}],"é":[{"n":58}],"m":86,"y":[{"a":6,"á":6,"e":[{"g":6}],"ú":24}]}],"n":[{"a":[{"r":13,"t":13}],"e":[{"k":[{"b":47,"h":47,"l":47}],"l":12}],"é":[{"k":13,"s":12}],"i":[{"d":6,"n":6,"s":12,"v":6}],"t":10,"y":[{"e":[{"g":23,"l":23,"r":6}],"é":[{"k":6}],"i":[{"m":6}],"í":[{"r":6}],"o":24,"ö":6,"ú":6,"ü":[{"l":[{"é":24},32]}]}]}],"p":[{"í":6,"ü":6}],"r":[{"c":[{".":86}],"e":[{"t":[{"t":[{"s":58}]}]}],"é":[{"n":58,"r":6,"s":[{"s":7}],"v":58}],"i":[{"e":58,"n":58}],"k":[{"é":86}],"l":[{"e":[{"l":86}]}],"ó":[{"n":12}],"t":[{"e":[{"k":[{"e":47}],"s":86}],"é":[{"r":86,"s":86}]}],"ü":[{"l":58}],"v":[{"a":2}],"z":86}],"s":[{"a":13,"á":13,"e":[{"l":13,"r":12,"z":6}],"i":[{"n":6}],"ö":6,"s":[{"z":[{"a":20}]}],"z":[{"a":[{"l":3},32],"á":[{"l":24,"r":[{"a":23}]}],"e":[{"d":6,"l":24}],"l":47,"ő":24,"s":27,"t":[{"é":47,"h":47,"i":47,"j":47,"l":47,"ü":47,"v":47}],"ü":23}]}],"t":[{"a":[{"d":12,"k":12,"n":13}],"á":[{"r":[{"t":9}]}],"e":[{"l":[{"h":[{"o":9}],"t":[{"a":9}]}],"v":13}],"é":[{"g":6}],"j":[{"e":86,"é":[{"r":86,"v":86}],"ü":86}],"k":[{"e":[{".":86}]}],"o":12,"ö":6,"ő":[{"r":6},10],"u":12,"ű":12}],"v":[{".":86,"b":86,"e":[{".":58,"i":47,"k":58,"n":6,"s":6,"t":58}],"é":[{"b":58,"n":6}],"f":86,"h":86,"i":58,"k":86,"n":86,"r":86,"s":86,"t":86,"v":86}],"z":[{"a":12,"á":13,"e":[{"g":6}],"i":[{"l":6,"m":6,"n":6,"s":[{"m":9}],"t":6}],"í":6,"o":12,"s":21,"u":6,"ű":6}]},53],"f":[{"a":[{"l":[{"e":2,"o":[{"m":11}]}],"s":8}],"é":[{"m":[{"a":2}]}],"i":[{"t":[{"r":9},10]}],"l":[{"a":6,"o":54,"ó":6,"u":6}],"o":[{"g":[{"a":[{"d":[{"a":[{"t":3}]}]}]}]}],"r":[{"a":[{"k":54,"n":54}],"á":6,"e":54,"i":54,"í":54,"o":54,"ö":54}]}],"g":[{"é":[{"p":[{"e":[{"l":2}],"i":[{"p":14},32]}]}],"l":[{"i":6,"ó":6}],"ö":[{"r":[{"c":[{"s":[{"o":10}]}]}]}],"r":[{"a":6,"á":6}]}],"h":[{"a":[{"s":[{"á":[{"b":[{"r":11}]}]}]}],"o":[{"s":[{"s":[{"z":[{"ú":[{"t":22}]}]}]}]}]}],"i":[{"a":[{"a":6,"á":6,"b":[{"o":6}],"c":6,"e":6,"é":6,"f":[{"r":6},8],"g":6,"h":6,"í":6,"l":[{"e":6}],"m":[{"é":6}],"o":6,"ó":6,"ö":6,"ő":6,"p":12,"r":[{"é":6}],"s":[{"z":[{"á":6,"é":6,"i":6,"ó":6}]},10],"t":[{"á":6,"i":6,"o":6}],"ü":6,"v":6}],"á":[{"z":58}],"b":[{"l":5}],"c":[{"s":[{"a":[{"p":43}]}]}],"d":[{"e":[{"á":58,"g":58,"i":58,"j":47,"n":[{"t":6},47],"o":58}],"é":[{"n":6}],"i":[{"o":6,"ó":6}],"o":[{"l":6}],"ő":[{"z":48},47]}],"e":[{"l":11}],"é":[{"f":6}],"f":[{"l":5,"r":5}],"g":[{"a":[{"z":58}],"é":[{"n":58}],"r":[{"i":5}]}],"h":[{"l":86}],"i":[{"d":11}],"k":[{"l":[{"i":19,"u":5}],"o":[{"n":[{"o":6,"t":6}]}],"s":47}],"l":[{"a":[{"l":6}],"l":[{"e":47,"u":47,"ú":47}]}],"m":[{"a":[{".":6}],"á":[{"h":6}],"i":[{"t":6}],"ó":[{"r":6}]}],"n":[{"a":[{"j":6,"m":58,"n":[{"y":9},10],"s":58}],"á":[{"r":[{"a":12}]}],"c":[{"e":2,"h":11}],"d":[{"a":2,"á":86,"e":[{"k":11,"r":14}],"i":[{"n":11}],"í":86,"u":47}],"e":[{"g":6,"s":10}],"f":[{"l":47,"ú":86}],"g":[{"á":14,"é":86,"h":8}],"i":[{"n":[{"j":9}]}],"k":[{"a":[{"l":2,"n":14,"s":14}],"e":[{"c":11}],"ó":11,"ö":11}],"s":[{"p":86}],"u":[{"k":58}],"ü":6,"z":86}],"o":[{"n":[{"a":14,"á":14}],"r":11}],"ó":[{"r":11}],"p":[{"l":19,"r":19}],"r":[{"a":[{"m":6,"t":58}],"á":[{"n":62}],"g":47,"h":47,"i":[{"g":[{"y":[{"e":[{"l":10}]}]}]}],"k":86,"o":[{"d":58,"m":58}],"ó":[{"n":6}],"r":86}],"s":[{"a":[{"l":6}],"e":[{"l":[{"v":9}],"p":[{"e":9}]}],"i":[{"n":[{"g":9}],"t":47}],"í":[{"r":13}],"p":[{"i":19}],"s":[{"z":[{"a":[{"b":20}],"e":[{"r":20}]}]}],"ü":[{"t":13,"v":13}],"ű":12,"z":[{"á":[{"r":[{".":20},6]}],"f":42}]}],"t":[{"a":[{"c":6,"n":[{"y":9},10],"t":58}],"á":[{"c":47,"r":[{".":9,"á":9,"h":9,"i":9,"k":9,"n":9,"r":9,"t":9,"ú":9}]}],"b":[{"o":47}],"i":[{"n":[{"g":9}],"s":10}],"l":[{"á":47}],"ö":[{"k":6}],"r":[{"i":5,"o":47,"ú":47}],"ü":[{"r":6}]}],"u":[{"m":[{"é":32,"i":[{"n":11}]}],"s":11}],"v":[{"a":[{"d":58}],"ó":58}],"x":[{"i":12,"ö":6,"ő":6}],"z":[{"é":[{".":6,"t":6}]}]},53],"í":[{"g":[{"é":54}],"j":[{"a":6,"á":6}],"n":[{"s":48}],"r":[{"á":58,"ó":58}],"v":[{".":48,"á":6,"b":48,"é":6,"h":48,"r":48,"v":48}],"z":[{"ü":6,"ű":6}]},53],"j":[{"é":[{"n":[{"á":11}]}],"o":[{"b":[{"b":[{"o":7}]}],"g":[{"á":[{"s":2}]}],"l":52}],"ó":[{"s":[{"á":5}]}],"ő":[{"s":5}]}],"k":[{"a":[{"r":[{"ó":[{"r":14},32]}]}],"e":[{"p":9}],"i":[{"a":10,"á":10,"e":10}],"l":[{"a":6,"i":6,"í":6,"o":6,"u":6}],"ó":[{"r":[{"o":[{"s":[{"t":11}]}]}]}],"r":[{"a":6,"á":6,"e":6,"é":6,"i":6,"í":6,"o":6,"ó":6}],"v":[{"a":6,"ó":6}]}],"l":[{"a":[{"f":9,"p":[{"á":[{"r":[{"o":14},32]}],"e":2,"i":[{"n":11}]}],"s":[{"t":8}]}],"á":[{"s":[{"s":27,"z":4}]}],"e":[{"g":8,"í":10,"k":[{"n":9}],"p":[{"l":[{"a":9}]}]}],"é":[{"k":[{"a":2,"á":14,"e":[{"l":14,"s":[{"t":[{".":14}]}]}],"é":[{"r":[{".":14}]}],"o":[{"l":14,"s":11}],"ó":11,"ú":2}],"s":[{"z":[{"é":11}]}]}],"o":[{"k":[{"á":[{"l":14}],"é":11}]}],"ő":[{"s":[{"a":2,"ű":2}]}]}],"m":[{"a":[{"g":[{"g":3,"l":9}],"i":10,"s":10,"t":[{"k":52}]}],"e":[{".":0,"g":[{"é":14}]}],"i":[{"f":[{"é":[{"l":[{"é":[{"v":64}]}]}]}]}]}],"o":[{"b":[{"e":6,"j":86}],"c":[{"i":3}],"f":[{"f":86}],"g":[{"r":[{"á":[{"f":[{".":19,"f":19,"k":19,"n":19}]}]}],"y":[{"a":23}]}],"h":[{"u":10}],"i":[{"s":6}],"k":[{"a":[{"b":6,"d":12,"k":13,"l":13,"n":13,"r":6}],"á":[{"d":6,"l":12,"s":13}],"e":13,"i":[{"l":12}],"k":8,"o":[{"l":12,"r":12}],"ó":13,"ö":6,"t":[{"a":[{"t":86}]},9],"u":[{"r":6},10],"ú":[{"s":6,"t":[{"o":12}]},10],"ü":6}],"l":[{"a":[{"j":58}],"d":[{"a":86,"ó":48}],"i":[{"m":58}],"l":[{"i":[{"n":14},32],"ó":86}],"ó":[{"i":[{"k":[{"o":32}]}]}],"t":[{"á":[{"r":86,"s":86}]}],"v":[{"a":[{"d":47,"s":47}]}]}],"m":[{"l":86}],"n":[{"a":[{"c":[{"é":9}],"d":13,"l":13,"n":12,"p":13,"r":10,"s":12}],"á":[{"l":[{"l":12}]}],"e":[{"g":6,"r":12}],"i":[{"s":12}],"o":[{"r":11}],"ö":6,"s":[{"p":9},10],"t":[{"r":[{"é":9}]}],"ü":6,"ű":6,"y":[{"á":[{"z":6},32]}]}],"o":[{"r":6}],"p":[{"c":86,"e":[{"r":6},47],"l":19,"t":86}],"r":[{"a":[{"d":12,"n":[{"y":9},10]}],"á":[{"l":[{"a":10}]}],"d":[{"í":86}],"e":[{"l":12,"n":6,"r":13,"s":[{"t":12}]}],"i":[{"d":6,"e":47,"s":[{"k":12,"z":[{"o":12}]},10],"z":[{"g":9}]}],"j":[{"a":[{"i":[{"a":47,"é":47,"t":86}]}]}],"o":[{"l":12,"n":[{"t":12}]}],"ó":[{"n":12,"r":13,"s":6}],"ö":6,"r":[{".":86}],"s":8,"t":[{"á":20,"r":9},10],"ü":6,"ű":6}],"s":[{"á":[{"l":6}],"e":12,"t":[{"o":47,"r":86,"y":86}],"ü":6,"z":[{"a":[{"l":6}],"i":[{"s":6}],"l":[{"o":86}]}]}],"t":[{"h":19,"t":[{"h":[{"a":86}],"o":11}]}],"u":[{"n":6,"s":31}],"v":[{"i":6}],"x":[{"i":6}],"z":[{"s":[{"o":25}]}]},53],"ó":[{"á":[{"g":11}],"b":[{"l":5}],"c":[{"h":6,"s":[{"a":[{"p":[{"á":33},43]}]}]}],"d":[{"a":[{"l":13,"u":6}],"á":[{"k":6,"r":6}],"e":13,"i":[{"p":6}],"o":[{"r":13}],"ó":[{"r":12},10],"u":[{"s":7},10]}],"f":[{"l":5}],"i":[{"k":[{"o":11}]}],"k":[{"l":19,"u":[{"s":[{"s":7}]}]}],"l":[{"a":[{"r":6}]}],"p":[{"r":19}],"r":[{"a":[{"k":6,"r":6}],"á":[{"g":6,"i":6,"j":6,"m":6}],"i":[{"a":[{"s":10}]}],"ó":[{"n":12},10],"ö":6}],"s":[{"k":19}],"t":[{"h":[{"e":5}]}]},53],"ö":[{"b":[{"ö":6}],"k":[{"o":6}],"l":[{"c":[{"s":[{"a":44,"á":11,"e":[{"l":11,"s":44}],"é":[{"r":[{".":44}]}],"i":[{"l":44}],"o":44,"ő":44}]}],"e":6}],"n":[{"u":6}],"r":[{"o":6,"ő":12}],"t":[{"l":48}],"v":[{"e":6,"ö":6,"ü":6,"ű":6}]},53],"ő":[{"a":[{"n":11}],"á":[{"g":11}],"e":[{"l":11,"r":11}],"é":[{"l":11,"t":[{"e":11}]}],"k":[{"l":5}],"p":[{"s":5}],"r":[{"á":[{"r":13}],"h":86,"i":58}],"s":[{"i":6,"ü":6,"z":[{"á":[{"r":20}]}]}],"ü":[{"l":11}],"z":[{"i":6}]},53],"p":[{"a":[{"d":[{"r":9}],"k":[{"c":52,"t":[{"á":52}]}]}],"á":[{"l":[{"l":52}],"r":[{"k":[{"o":52}]}],"t":[{"j":52,"k":52}]}],"c":[{"i":6}],"e":[{"l":[{"t":5}]}],"f":[{"r":5}],"i":[{"n":[{"d":5}],"r":[{"e":11}]}],"l":[{"a":[{"k":6}],"o":[{"m":[{"a":[{"l":10}]}]}],"u":54}],"o":[{"n":[{"d":15}],"r":[{"d":52,"t":[{"a":[{"l":30},26],"á":[{"r":17}],"e":17}]}],"s":[{"z":[{"t":[{"á":[{"s":52}]}]}]}]}],"ö":[{"s":52}],"r":[{"e":[{"f":54,"p":54}],"é":[{"s":54}],"i":[{"b":48,"c":54,"o":6}],"o":[{"d":54,"f":48,"g":48,"j":48,"p":138,"t":54}],"ó":[{"b":54}],"u":54}],"s":[{"z":[{"i":54}]}],"u":[{"t":[{"a":51,"ó":52}]}],"ü":[{"z":52}]}],"r":[{"a":[{"p":9}],"e":[{"n":[{"d":[{"ő":17}]}]}],"é":[{"m":14}]}],"s":[{"a":[{"v":[{"o":11}]}],"k":[{"a":6,"á":6,"i":6,"o":6}],"l":[{"á":6}],"m":[{"i":6}],"n":[{"i":6}],"o":[{"n":[{"d":5}]}],"p":[{"a":6,"e":6,"i":6,"o":6,"ó":6}],"r":[{"á":6}],"t":[{"a":6,"á":6,"e":6,"i":6,"í":6,"o":6,"r":11,"ú":6}],"z":[{"a":[{"k":[{"é":10,"ü":30}]}],"á":[{"r":[{"a":[{"z":28}]}]}],"c":11,"é":[{"d":[{"e":[{"m":10}]}]}],"f":76,"í":[{"n":[{"n":38}]}],"l":11,"m":11,"p":76,"t":[{"á":11}],"v":76}]}],"t":[{"a":[{"n":[{"ó":2}]}],"á":[{"r":[{"a":[{"d":[{"a":14},32]}]}]}],"é":[{"s":[{"s":27}]}],"ő":[{"k":[{"é":[{"s":[{"z":28}]}]}]}],"r":[{"a":[{"n":[{"s":[{"z":28},32]}]}],"á":6,"e":6,"é":6,"i":6,"ó":54,"ö":6,"ü":6}]}],"u":[{"d":[{"v":86}],"g":[{"r":86}],"j":[{"j":48}],"l":[{"e":[{"t":47}],"z":47}],"m":[{"a":[{"d":12}],"e":[{"l":12}],"é":[{"l":6,"s":12}],"i":[{"n":6,"r":12,"s":6,"v":12}],"k":[{"é":[{"s":[{"z":28}]}]}],"ó":13,"ö":6,"ő":6,"u":[{"s":[{"s":7}]}]}],"n":[{"g":9,"o":[{"k":6}]}],"r":[{".":47,"a":[{"l":6,"m":6,"t":6}],"á":[{"l":6}],"i":[{"z":[{"m":9}]}],"u":13}],"s":[{"a":[{"l":6,"n":6,"r":6,"s":6,"t":6}],"á":[{"g":13,"l":6}],"e":12,"é":[{"r":[{"t":[{"é":12}]}]}],"i":[{"r":6}],"o":[{"r":6}],"ó":13,"ő":6,"s":[{"z":[{"e":20}]},10],"t":[{"á":[{"r":[{"á":11}]}],"e":[{"r":[{"j":14}]}]}],"z":[{"a":[{"l":6,"v":20}],"á":[{"l":6,"s":6}]}]}],"t":[{"a":[{"g":13,"l":[{"a":8,"á":86,"v":47},6],"n":[{"y":12},10],"s":[{"í":6}],"z":54}],"á":[{"r":[{"a":13,"b":12,"u":13}],"s":58}],"c":[{"a":47}],"e":[{"l":12}],"i":[{"l":6,"n":12}],"o":[{"l":58}],"ó":[{"d":58,"p":58}],"ö":12,"ü":6}]},53],"ú":[{"j":[{"í":6}],"l":[{"t":[{"e":2,"o":[{"l":11}]}]}],"r":[{".":86,"i":6,"n":86}],"s":[{"z":58}],"t":[{"b":86,"h":48,"i":58,"j":86,"k":86,"m":86,"n":86,"o":58,"r":86,"t":86,"v":86}]},53],"ü":[{"d":[{"í":6,"ü":6}],"g":[{"y":6}],"n":[{"á":6}],"r":[{"e":6,"í":6,"ü":6}],"t":[{"e":6,"é":6,"ő":6,"z":5}],"v":[{"e":6,"ö":6}],"z":[{"e":6}]},53],"ű":[{"b":[{"l":5,"r":5}],"f":[{"l":5,"r":5}],"g":[{"r":5}],"k":[{"l":5}],"p":[{"l":5,"n":5,"r":5}],"r":[{"l":86}],"s":[{"p":5,"ú":10,"z":5}],"t":[{"ő":[{"k":[{"é":[{"s":[{"z":65}]}]}]}]}],"v":[{"e":[{"s":[{"s":38}]}]}],"z":[{"é":6,"i":6,"ö":6,"ő":6,"ü":6}]},53],"v":[{"a":[{"d":[{"o":[{"t":51}]}]}],"á":[{"g":[{"y":[{"a":[{"d":[{"a":44},26]}]}]}]}],"e":[{"r":[{"é":[{"s":[{"s":67}]}]}]}]}],"w":[{"h":[{"i":6}]}],"z":[{"a":[{"t":[{"e":14}]}],"á":[{"s":[{"s":27}]}],"e":[{"r":[{"o":14}],"t":[{"a":2,"á":2,"e":[{"g":2,"l":14,"r":11,"s":[{"z":11}]}],"é":[{"k":2,"r":[{"d":14}]}],"o":11,"ö":2,"ő":2}]}],"é":[{"s":[{"a":14,"o":11}]}],"ó":[{"k":[{"é":[{"s":[{"z":28}]}]}]}],"ő":[{"e":[{"r":10}]}],"r":[{"í":6}]}]}],"n":[{".":47,"a":[{"a":[{"d":11}],"b":[{"b":[{"ó":48}],"r":86,"s":86}],"c":[{"l":5}],"d":[{"a":[{"g":58}],"á":[{"s":58}],"d":86,"e":[{"k":6}],"m":86,"ó":58,"r":[{"e":19}],"t":86,"u":[{".":6,"s":6}]}],"e":[{"i":6}],"é":[{"r":11}],"f":[{"f":86}],"g":[{"a":[{".":6}],"á":[{"r":6}],"i":[{"t":6}],"ó":[{"n":6}],"r":[{"á":5}],"y":[{"a":[{"g":[{"g":3}],"l":23,"p":[{"j":6}],"s":24,"v":6}],"é":[{"k":23}],"ú":[{"r":3,"t":3},32]}]}],"i":[{"r":[{"e":6}]}],"j":[{"i":6,"k":86}],"k":[{"a":[{"d":58,"r":[{"ó":26}]}],"á":[{"s":[{"z":8}],"t":12}],"k":[{"o":48}],"l":[{"i":5,"u":5}],"o":[{"l":[{"a":9},10]}],"ó":[{".":58}],"r":[{"é":19}],"t":[{"i":48}],"u":[{"s":58}],"ú":[{"t":[{"n":12}]}]}],"l":[{"a":[{"d":[{"ó":13}],"g":139,"j":12,"l":13,"n":[{"a":6}],"p":[{"a":58,"d":58,"r":6,"t":6}],"r":6,"v":6}],"á":[{"b":[{"r":12}],"g":6,"l":13,"r":[{"o":13}],"t":[{"ö":99,"s":12}]}],"e":[{"l":[{"á":12,"l":12}],"n":[{"g":9,"t":9}]}],"é":[{"g":[{".":9}],"k":12,"r":[{"i":12}]}],"i":[{"d":6,"n":[{"g":12}],"o":13}],"í":[{"r":13,"z":[{"i":[{"s":[{"b":47,"e":47,"é":47,"h":47,"i":47,"k":47,"n":47,"r":47,"t":47,"ü":47}]}]}]}],"j":[{".":47,"a":[{".":48,"c":71,"d":48,"i":48,"k":47,"m":48,"t":48}],"i":48,"o":[{"n":47}],"u":47,"z":47}],"k":[{"a":[{"t":86}]}],"o":[{"b":12,"l":12,"p":6,"s":[{"z":9}]}],"ó":[{"r":13}],"ő":12,"t":[{"r":9},10],"u":[{"l":[{"j":6}],"t":12}],"ü":6}],"m":[{"e":[{"r":6}],"i":[{"t":[{"b":[{"o":47}],"e":58,"g":58,"h":[{"a":47}],"k":58,"l":86,"m":47,"ö":47,"p":58,"r":[{"o":47,"ú":47}],"s":47,"t":[{"á":47,"ö":47}]}]}],"ö":86,"p":86}],"n":[{"a":[{"l":58}],"g":86,"h":86,"o":[{"g":32},3],"ó":[{"d":6}],"y":[{"a":[{"g":58}]}]}],"o":[{"l":11}],"ó":[{"r":11}],"p":[{"a":[{".":47,"d":[{"ó":9}],"g":13,"l":[{"a":12,"k":12}],"p":[{"a":8,"á":9}],"r":[{"á":9}],"s":12}],"á":[{"d":6,"g":13,"k":6,"l":[{"l":9}],"m":6,"r":[{"b":12}],"t":[{"m":12}]}],"e":[{"l":[{"l":9},10],"m":6,"s":[{"t":9}]}],"i":[{"l":[{"l":12}],"n":[{"g":12,"t":12}],"s":[{"k":9}]}],"í":6,"l":[{"a":[{"t":11}]}],"o":[{"l":[{"a":12}],"r":[{"m":9}],"s":[{"s":7,"t":[{"á":12}]}],"t":[{"t":12}]}],"ó":[{".":6,"r":13}],"p":[{"o":47,"r":9},10],"r":[{"í":48,"ó":[{"z":47}]}],"u":[{"t":13}],"ú":[{"r":12}]}],"r":[{"a":[{"i":58,"n":[{"n":47,"y":[{".":86,"a":[{".":58}],"á":58,"b":47,"h":47,"k":47,"n":47,"r":47,"s":47,"t":86}]}]}],"c":[{".":86,"á":86,"h":[{"i":[{"a":[{"b":26}]}]}],"o":86,"u":86,"ú":86}],"r":[{"ó":48}],"z":86}],"s":[{"é":[{"v":6}],"i":[{"s":[{"k":9}]}],"k":[{"a":19},47],"r":[{"á":19}],"t":[{"a":19,"á":19,"r":5},10],"z":[{"a":[{"n":24}],"á":[{"r":[{"a":[{"d":24}]}]}],"k":[{"é":[{"s":[{"z":65}]}]}],"ü":[{"g":3}]}]}],"t":[{"a":[{"b":12,"j":12,"l":[{"k":12,"t":12}],"r":[{"á":9}]}],"á":[{"l":[{"l":9}],"r":[{"é":13,"n":12}]}],"e":[{"g":12,"l":[{"e":27,"é":12,"l":[{"e":9}]}]}],"é":[{"l":6,"r":[{"k":[{"e":9}],"v":12}]}],"i":[{"m":13,"n":[{"g":12}]}],"o":[{"l":[{"d":12}],"r":[{"s":9}],"s":[{"z":12}]}],"u":[{"t":13}],"ü":[{"l":6}],"ű":[{"z":10}],"y":58}],"u":[{"c":6,"l":6,"r":[{"a":11,"á":6}],"s":11,"t":[{"o":6}]}],"ü":[{"z":11}],"v":[{"a":[{"r":[{"t":6}],"t":6}],"v":86}],"w":[{"h":5}],"z":[{"b":86,"é":6,"o":58}]},53],"á":[{"b":[{"é":58,"r":47}],"c":[{"a":[{"j":6}],"h":21,"í":6,"s":[{"a":[{"l":6,"p":6,"s":24}],"e":6,"i":[{"k":20,"s":6}],"o":[{"l":[{"a":[{"t":47}]}],"r":20}],"ö":6,"ü":6,"z":20}]}],"d":[{"a":[{"l":[{"a":12}],"p":6,"r":13,"s":[{"z":12}],"v":13}],"á":6,"d":9,"e":13,"ö":12,"u":[{"d":6}],"ü":13,"z":21}],"g":[{"a":6,"á":6,"i":6,"u":6,"ú":6,"y":6}],"h":[{"í":58}],"k":[{"é":[{"r":[{".":12}]}],"o":[{"l":6}],"ü":6}],"l":[{"a":[{"b":6,"l":13,"n":[{"a":6}],"r":48,"t":[{"e":10}],"z":12}],"á":[{"t":12}],"e":[{"g":12,"l":12,"m":6,"s":6},10],"é":[{"p":12},0],"i":[{"n":12,"r":6,"s":11}],"í":6,"l":[{".":86,"a":[{".":86,"p":86,"t":86}],"í":86,"o":[{"m":86}],"ó":[{"k":[{"ö":[{"z":65}]}]}]}],"ü":6}],"m":[{"í":6,"u":6}],"n":[{"a":[{"d":6,"l":12,"r":6}],"á":[{"r":13}],"c":[{"e":14}],"e":13,"é":[{"t":6},10],"i":[{"n":6}],"í":6,"s":[{"e":11}],"ü":6}],"r":[{"a":[{"d":6,"k":[{"a":58,"b":58,"h":58,"k":58,"n":58,"o":58,"r":58,"t":58}],"m":58,"n":13,"p":6,"s":[{"s":9},6],"t":[{".":58,"t":12}],"v":12}],"á":[{"c":12,"l":12}],"e":13,"é":[{"v":[{"e":12}]}],"i":[{"a":[{"i":58}],"á":58,"p":13}],"í":6,"ó":[{"r":12},10],"ő":6,"s":8,"t":[{"r":9},10],"u":[{"d":86,"g":6,"n":[{".":47}],"r":9,"s":47,"t":[{"á":9},10]}],"ú":[{"t":6}],"ü":6}],"s":[{"a":[{"s":12}],"á":[{"r":[{"é":9,"u":13}],"s":58}],"e":13,"i":[{"k":13}],"t":[{"r":9},10],"z":[{"a":[{"n":6,"s":6}],"á":[{"g":6,"l":6}],"e":6,"é":[{"n":6}],"i":[{"l":6,"n":6,"s":6}],"k":[{"a":[{".":86}]}],"o":[{"k":[{"s":86}]}],"ö":24,"ú":24,"ü":24}]}],"t":[{"a":[{"l":[{"a":6}],"n":13}],"á":[{"l":6,"s":[{"v":9}]}],"e":13,"h":[{"i":86}],"i":[{"o":13,"r":102}],"í":58,"l":[{"é":86}],"ö":12,"r":[{"u":86}],"u":[{"g":86,"t":86}],"ú":58,"ü":6,"v":[{"i":86}]}]},53],"b":[{"a":[{"k":[{"á":11,"e":2}]}],"é":[{"k":[{"é":[{"b":51,"n":51,"r":51,"v":51}]}]}],"l":[{"a":6,"o":6,"ú":6}],"o":[{"n":[{"a":2}]}],"r":[{"a":6,"i":54,"o":6,"ó":6}],"u":[{"r":[{"g":[{"h":[{"i":32}]}]}]}]}],"c":[{"a":[{"c":[{"é":5}],"j":[{"á":52,"t":5}],"k":[{"n":52,"t":52}],"l":[{"a":19,"j":5,"k":52,"t":5,"v":5}],"n":[{"a":5,"t":5,"y":[{"a":19}]}],"r":[{"i":5}],"t":[{"t":5}],"u":11,"v":[{"a":52}]}],"á":[{"g":52,"r":[{"b":5,"k":5,"n":52,"t":5}],"s":[{"a":19,"á":5}]}],"b":[{"l":5,"r":5}],"c":[{"s":[{"i":25,"o":25,"ö":25,"u":25}]}],"d":[{"r":5}],"e":[{"a":10,"g":[{"g":5}],"l":[{"d":52,"e":[{"k":19,"m":19}],"m":5,"v":52}],"r":[{"e":[{"d":19}],"ó":5}],"s":[{"z":[{"t":52}]}],"t":[{"n":5}],"x":52}],"é":[{"g":[{"é":[{"r":14}]}],"h":[{"e":[{"s":11}]}],"p":52,"v":[{"i":52}]}],"f":[{"l":5,"r":5}],"g":[{"r":5}],"h":[{"a":55,"á":55,"e":[{".":0,"l":25,"t":25}],"é":55,"i":[{"á":25}],"í":25,"o":[{"l":25,"n":25,"z":55}],"ó":55,"ö":25,"u":55,"ú":55}],"i":[{"a":[{"l":[{"i":[{"s":11}]}],"s":[{"o":11}]}],"g":[{"e":52,"é":51}],"k":[{"o":51}],"m":[{"á":19}],"n":[{"a":[{".":51}],"d":52,"f":5,"g":52,"t":52}],"r":[{"á":52,"o":5}],"s":[{"t":52}],"t":[{"a":51}],"z":51}],"í":[{"j":5,"r":52,"v":52,"z":52}],"k":[{"l":5,"r":[{"e":5}]}],"o":[{"b":52,"k":[{"t":[{"a":52}]}],"l":[{"i":51}],"r":[{"v":5}],"t":[{"t":52}]}],"ö":[{"l":[{"t":[{".":52}]}],"s":[{"s":5}],"t":11}],"ő":[{"r":5}],"p":[{"l":5,"r":5}],"s":[{"a":[{"b":56,"c":0,"d":0,"g":56,"j":[{"t":56}],"k":[{"t":0}],"l":[{"a":[{"p":9}],"j":56}],"m":0,"n":0,"p":[{"á":[{"g":17}]}],"r":[{"a":9,"g":9,"o":9},10],"u":56,"z":0}],"á":[{"g":[{"r":9}],"l":56,"r":[{".":55,"á":61,"b":9,"n":56,"r":9,"u":0}],"t":[{"a":0,"á":0,"v":0}]}],"e":[{"l":[{"f":9}]}],"é":[{"r":[{"é":[{"s":8}],"t":[{"e":0,"é":56}],"ü":55}],"t":[{"a":55}]}],"i":[{"k":[{"o":[{"n":8}]}],"n":[{"t":9}],"o":56,"p":[{"a":0}],"r":[{"á":0,"t":9}],"s":[{"m":56}],"t":[{"a":0}],"z":[{"z":9}]}],"í":[{"k":[{"i":25}],"r":[{"á":61}],"z":[{"t":9}]}],"o":[{"b":0,"k":[{"s":56,"t":[{"a":0}]}],"s":[{"z":0}]}],"ö":[{"l":[{"é":61}],"s":56,"z":56}],"ő":[{"r":[{".":56,"ö":9}]}],"s":9,"u":[{"r":0,"t":[{"a":9},10]}],"ú":[{"t":0}],"ü":[{"g":0,"t":0}],"z":[{"á":[{"r":20}],"e":25,"ó":25,"ö":25}]}],"t":[{"r":5}],"u":[{"d":52,"g":52,"j":5,"r":52}],"ú":[{"j":52,"t":5}],"ü":[{"g":52,"t":52,"v":5,"z":52}],"ű":[{"r":52}],"y":[{"a":5}],"z":[{"á":55,"e":25,"ó":55,"ö":25,"s":25,"ü":25,"y":[{"i":3}]}]}],"d":[{"a":[{"b":[{"l":5,"r":9}],"d":[{"a":[{"t":19}],"á":[{"s":11}],"d":5}],"j":[{"á":52}],"k":[{"c":52,"k":52,"t":5}],"l":[{"j":52,"r":52}],"n":[{"n":5}],"p":[{"ó":5}],"r":[{"á":[{"n":19}],"r":5}],"t":[{"a":[{"n":[{"y":3}],"p":11}],"e":[{"g":14}],"i":[{"n":11,"r":11}]}],"z":[{"o":5,"t":5,"z":5}]}],"á":[{"r":[{"a":[{"k":19}]}],"s":[{"s":3}]}],"b":[{"l":5}],"c":[{"l":5}],"d":[{"r":5}],"e":[{"b":[{"b":5}],"k":[{"é":[{"b":51,"i":[{"n":51}]}],"ö":[{"z":11}]}],"l":[{"f":52,"l":[{"e":[{"n":52}]}],"m":52,"ö":5}],"m":[{"e":[{"r":11}],"u":11,"ü":14}],"n":[{"á":11,"n":[{"e":[{"k":0}]}]}],"p":8,"r":[{"a":14,"á":[{"l":11,"z":11}],"e":[{"l":11}],"o":11,"ő":52}],"s":[{"e":[{"t":[{"t":51}]}],"é":[{"s":51}],"ő":51,"z":[{"a":11,"ü":51}]}],"z":[{"a":5}]}],"é":[{"g":[{"o":11}],"k":[{"e":[{"l":11,"z":5}],"ö":11}],"l":[{"e":52,"m":5}],"p":52,"r":[{"a":[{"j":11}]}],"s":[{"s":[{"z":52}],"z":[{"h":52,"l":52,"r":52}]}],"t":[{"e":51,"t":52}]}],"f":[{"r":5}],"g":[{"r":5}],"i":[{"g":[{"a":52,"e":52}],"l":[{"l":52}],"n":[{"a":[{".":51}],"g":52,"s":52}],"o":[{"n":[{"j":51}]}],"ó":[{"é":73,"f":11,"m":11}],"s":[{"z":[{"a":52}]}]}],"í":[{"j":[{"a":[{"d":[{"a":2}]}]}]}],"k":[{"l":5}],"o":[{"á":52,"k":[{"ú":[{"t":14}]}],"r":[{"á":[{"l":11}],"n":[{"i":52}],"ú":14}],"u":52,"v":52}],"ó":[{"é":[{"r":10}],"n":[{"i":19}],"r":[{"á":51}]}],"ö":[{"b":11,"s":[{"s":5}],"z":51}],"ő":[{"r":[{".":52,"a":60,"b":52,"c":52,"d":52,"e":[{"g":19,"i":19,"k":19,"l":19}],"é":[{"k":19,"n":19,"r":19,"t":19,"v":19}],"f":52,"g":52,"i":[{"g":19,"s":5,"t":19}],"j":52,"k":52,"l":52,"m":52,"n":52,"o":[{"k":5,"s":5}],"ö":51,"ő":[{"s":5}],"p":52,"r":52,"s":52,"t":52,"ú":52,"v":52}]}],"p":[{"r":5}],"r":[{"a":[{"z":6}],"u":[{"k":54}]}],"s":[{"l":5,"p":5,"t":5,"z":[{"á":[{"m":[{"ú":[{"t":43}]}]}],"e":[{"r":[{"e":[{"l":64}]}]}]}]}],"t":[{"á":[{"r":[{"s":[{"a":[{"d":64}]}]}]}]}],"u":[{"t":[{"a":52},11]}],"ú":[{"j":5,"r":[{"á":11}],"s":[{"z":5}]}],"ü":[{"g":52,"n":[{"n":5}],"z":52}],"ű":[{"r":[{".":52,"r":52,"t":52}],"z":52}],"y":[{"b":11,"h":11,"n":11,"r":11,"t":11,"v":11}],"z":[{"a":[{"v":25}],"á":[{"r":25}],"e":55,"ó":55,"u":55}]}],"e":[{"a":[{"j":11,"k":11,"l":[{"a":11,"o":6}],"n":11,"r":11}],"b":[{"é":6,"l":5}],"d":[{"r":[{"a":5,"á":19}],"v":[{"e":[{"l":14}]}],"y":5,"z":[{"é":58}]}],"f":[{"f":47}],"g":[{"e":[{"r":58}],"é":[{"r":[{".":86}]}],"ö":12,"y":[{".":48,"b":48,"e":[{"k":6,"n":6,"s":6,"t":6,"z":6}],"é":58,"f":48,"h":48,"i":[{"g":6}],"k":48,"m":48,"n":48,"r":48,"s":86,"t":48,"ü":[{"n":6}]}]}],"h":[{"é":[{"z":7}],"h":86}],"i":[{"g":11}],"í":[{"r":11}],"k":[{"a":[{"j":12,"n":13}],"á":[{"t":6}],"e":[{"g":13,"r":[{"ő":9}]}],"é":[{"j":[{"é":8}],"k":[{"n":9},6]}],"i":[{"e":32}],"j":47,"k":[{"a":47,"i":47},8],"l":[{"u":5}],"o":[{"k":12}],"ö":[{"r":10}],"r":[{"e":[{"á":5}]}],"t":8,"ü":[{"g":12,"l":[{"d":[{"ö":9}]}]}]}],"l":[{"a":[{"g":6,"j":6,"n":12}],"á":[{"l":6,"r":10}],"e":[{"f":6,"g":[{"y":[{".":48}]},6],"l":[{"e":8}],"m":[{"a":10,"e":[{"l":7}],"é":[{"s":8}]}],"n":[{"g":9}],"r":6}],"é":[{"p":12}],"f":[{"é":32}],"g":8,"h":[{"a":86}],"i":[{"d":12,"m":6,"n":12}],"l":[{"ó":48}],"n":[{"e":[{"v":86}]}],"o":[{"t":12}],"ó":13,"ö":13,"ő":[{"a":58,"á":58,"d":6,"f":6,"h":[{"í":6}],"í":58,"k":[{"é":58}],"l":6,"n":[{"y":86}],"r":[{"e":[{"j":47}]}],"t":[{"é":58}]}],"t":[{"é":[{"r":86}]}],"ü":[{"l":12}],"z":86}],"m":[{"a":[{"k":6}],"b":[{"a":47,"e":[{"r":86}]}],"e":[{"g":[{"y":9},10],"l":[{"e":47,"k":86}],"s":[{"z":12}]}],"é":[{"r":[{".":12}]}],"i":[{"d":12,"s":[{"z":9}]}],"s":47,"u":[{"l":47}]}],"n":[{"g":86,"n":86,"s":[{"a":11,"e":[{"s":[{"e":14},32]}],"s":27,"z":4}],"y":[{"v":86}],"z":86}],"o":[{"b":6,"d":6,"f":6,"g":6,"h":6,"k":[{"o":6}],"l":[{"a":6,"i":6}],"r":[{"o":6}]}],"p":[{"a":[{"d":6}],"e":[{"l":[{"m":6}],"s":[{"t":12}]}],"i":[{"d":6}],"ó":[{"r":13}],"u":[{"t":12}]}],"r":[{"a":[{"d":13,"k":13,"n":13,"r":13,"s":12,"z":6}],"á":[{"b":6}],"c":[{"o":11}],"e":[{"g":13,"j":54,"k":[{"e":[{".":13}]}],"l":13,"m":[{"e":[{"l":9}]}],"r":12,"z":6}],"é":[{"g":6,"l":12,"p":12,"t":[{"t":12}]}],"i":[{"d":12,"g":[{"a":12}],"l":12,"m":13,"n":[{"f":12,"g":12,"t":12}],"s":6}],"k":8,"o":[{"l":12,"r":6,"s":12}],"ó":6,"ö":[{"n":12}],"ő":[{"k":[{"ü":134}]},58],"s":9,"t":[{"r":9}],"u":13,"ü":[{"g":12}]}],"s":[{"a":[{"l":[{"j":[{"á":12}]}],"s":6}],"á":[{"l":12,"r":6}],"e":[{"t":[{"b":58,"r":58}]}],"é":[{"s":58}],"ő":58,"s":[{"z":[{"a":20,"á":20}]}],"t":[{"é":86,"i":86}],"ü":[{"v":13}],"z":[{"á":[{"l":3,"r":21}],"é":[{"l":24}],"ű":23}]}],"t":[{"a":[{"b":12,"l":[{"a":8}],"n":[{"y":13}]}],"á":[{"l":6,"t":116}],"e":[{"g":13,"l":[{"á":9,"m":9,"ő":[{"a":12}]}],"m":[{"l":12}],"s":[{"t":[{"e":9}],"z":12}],"t":[{"e":[{"t":12}],"i":12}]}],"é":[{"k":13,"l":13,"r":[{".":12,"d":12,"é":12,"ő":[{".":13,"k":13}],"r":12,"t":[{"e":6,"ő":12}],"ü":13}],"s":[{"z":12}],"v":[{"e":[{".":13}]}]}],"i":[{"d":6,"k":[{"o":13}],"n":[{"t":12}],"p":6}],"k":[{"é":[{"s":[{"z":[{"ü":140}]}]}]}],"o":[{"k":13,"l":[{"d":9},6]}],"ő":13,"t":[{"é":[{"v":11}]}],"u":[{"n":6,"t":12}],"ü":[{"l":[{"é":9},10],"z":13}]}],"v":[{"ő":58,"v":86}],"x":[{"p":[{"o":[{"r":[{"t":[{"ő":141}]}]}]}]}],"y":[{"é":5}],"z":[{"e":[{"r":58}],"r":[{"e":[{"d":86}]}],"ü":[{"s":47}]}]},53],"é":[{"b":[{"r":86}],"d":[{"l":47}],"f":[{"r":19}],"g":[{".":86,"e":[{"k":58,"t":[{"é":58,"ő":[{".":58,"h":47,"k":58,"n":47,"t":47}]}]}],"é":58,"j":86,"n":86,"ő":58,"s":86,"t":86,"ü":58,"y":[{"e":[{"r":6}],"é":[{"n":6}],"o":24,"ö":[{"k":6}]}]}],"h":[{"e":[{"s":58}],"s":86}],"k":[{"a":[{"j":6,"k":6,"n":13,"r":6}],"á":12,"e":[{"l":[{"e":9},10],"r":6}],"é":[{"v":6}],"i":[{"d":6,"s":[{"z":9}]}],"í":58,"ó":6,"ü":[{"l":6},10]}],"l":[{"e":[{"s":54,"t":58}],"m":86,"ő":[{"i":6,"n":6}]}],"n":[{"e":[{"k":[{"e":47,"é":58}]}]}],"p":[{"a":[{"d":6,"k":12,"l":12,"n":12,"p":6,"s":12,"u":6},10],"á":[{"l":12,"r":12,"t":6,"z":12},10],"e":[{"g":6,"l":13,"r":10,"t":[{"e":[{"t":9}],"n":12}],"v":6}],"é":[{"s":12}],"f":8,"í":62,"o":12,"ö":12,"ő":6,"s":9,"u":[{"s":12}],"ú":6,"ü":[{"l":47}]}],"r":[{"a":[{"j":6,"n":12},10],"d":[{"e":47},48],"e":[{"m":58}],"é":[{".":6,"s":6}],"i":[{".":6,"n":6,"p":6}],"ö":6,"ő":[{".":58}],"t":[{"é":86}],"ü":6,"z":86}],"s":[{"e":[{"l":13}],"é":[{"g":12}],"s":[{"z":[{"e":[{"r":20}]}]}],"z":[{"a":[{"k":3,"l":3}],"á":24,"e":[{"g":6,"l":23,"m":[{"b":24}],"s":[{"z":23}]}],"é":[{"k":24}],"i":[{"k":6}],"í":24,"k":[{"é":[{"s":[{"z":65}]}]}],"ó":6,"ö":23,"u":6,"ú":24,"ü":[{"l":6}]}]}],"t":[{"e":[{"g":12,"l":58,"s":12,"t":58}],"i":[{"r":6},10],"ö":6,"r":19}],"v":[{"a":[{"d":[{"a":9,"á":9}],"j":6,"r":6,"v":6},10],"á":[{"g":12}],"b":[{"ú":86}],"e":[{".":58,"i":47,"k":58,"l":[{"e":12,"ő":9},10],"m":62,"n":[{"k":47,"t":47}],"r":13,"s":[{"z":9},6],"t":62}],"é":[{"b":47,"l":13,"r":[{"i":12,"ő":6,"z":12}]}],"i":[{"s":6}],"n":[{"y":47}],"o":12,"ö":6,"ő":6,"u":13,"ú":6,"ü":[{"n":6}]}],"z":[{"a":6,"i":[{"u":[{"m":[{"i":64}]}]}]}]},53],"f":[{"e":[{"l":[{"e":[{"m":[{"é":11}]}]}]}],"l":[{"a":54,"o":54,"u":[{"o":[{"r":[{"e":22}]}]}]}],"o":[{"l":[{"t":[{"a":10}]}]}],"r":[{"a":[{"k":54}],"á":54,"e":[{"k":54}],"i":54,"í":54,"ö":54,"u":54}],"ü":[{"s":[{"t":[{"ö":[{"l":[{"é":30}]}]}]}]}]}],"g":[{"a":[{"b":[{"l":52}],"d":[{"a":[{"t":51}],"á":51,"ó":[{".":0,"a":0,"b":0,"i":0,"j":0,"k":0,"r":0,"s":0,"t":0,"v":0},19]}],"k":[{"n":5,"r":52,"t":52}],"l":[{"a":[{"g":11,"k":11,"p":11}],"á":[{"t":5}],"e":[{"l":5}],"g":52,"j":52}],"n":[{"y":51}],"p":8,"r":[{"á":[{"n":51}],"c":52,"t":52,"z":52}],"s":[{"p":52,"s":[{"z":5}],"z":[{"t":52}]}],"t":[{"r":9}],"u":51,"v":[{"a":52}],"z":[{"o":[{"n":11}]}]}],"á":[{"c":11,"g":51,"l":[{"l":[{"á":5,"o":5,"ó":5}]}],"p":52,"r":[{"a":[{"k":19,"s":5,"t":5}],"á":[{"t":11,"v":11}],"é":11,"n":[{"y":[{"a":52}]}],"t":[{"a":52}],"u":[{"k":11}],"ú":51}],"s":[{"z":[{"a":[{"i":[{"b":51,"r":51,"t":51}]}],"á":[{"v":51}],"é":51,"i":[{".":51,"g":51}],"o":[{"k":[{"é":51}],"s":51}]}]}],"t":[{"á":52,"c":5,"e":60,"i":51,"k":52,"l":52,"m":52,"s":52,"v":52}],"z":[{"ó":[{"j":51,"s":51}],"t":[{"a":[{"t":[{"o":52}]}]}]}]}],"b":[{"l":5,"r":5}],"d":[{"r":19}],"e":[{"d":[{"z":5}],"g":[{"é":[{"s":[{"z":28}]}]}],"l":[{"a":52,"i":[{"s":11}]}],"r":[{"a":14,"á":[{"l":11}],"e":[{"s":[{"z":15}]}],"i":[{"m":10}],"o":11}],"s":[{"e":[{"m":52}],"z":[{"k":52}]}],"t":[{"i":[{"k":[{"a":11}]}]}],"x":52}],"é":[{"g":51,"l":[{"e":[{"s":11}]}],"p":[{"í":52}],"r":[{"c":52,"l":5,"ő":[{".":19}],"t":[{"é":5}]}],"s":[{"a":11}],"t":[{"e":52}]}],"f":[{"r":5}],"g":[{"r":19,"y":[{"i":25,"o":25}]}],"i":[{"d":51,"g":[{"a":52,"e":52,"é":52},11],"k":[{"o":19,"r":52}],"l":[{"l":0}],"m":[{"i":5},11],"n":[{"f":5,"g":52,"s":5}],"r":[{"o":5}],"z":[{"g":52}]}],"í":[{"g":5,"r":5,"v":5,"z":5}],"k":[{"l":5,"r":5,"v":5}],"l":[{"e":[{"c":48}]}],"m":[{"e":[{"g":7}]}],"n":[{"ó":54}],"o":[{"f":52,"p":52,"r":[{"a":7,"d":52,"g":52,"k":52}],"s":[{"t":[{"o":5}],"z":[{"t":5}]}],"t":[{"t":[{"h":52}]}]}],"ó":[{"r":[{"i":[{"á":11}]}]}],"ö":[{"b":52,"n":[{"t":5}],"r":[{"ö":5,"v":5},11],"v":52,"z":51}],"ő":[{"r":[{"ö":5}],"z":[{"ő":[{"s":14}]}]}],"p":[{"r":5,"s":5}],"r":[{"a":[{"m":54}],"á":[{"d":[{"i":[{"h":6}],"j":6}],"f":54}],"u":[{"n":6}]}],"s":[{"h":5,"k":5,"p":5}],"t":[{"r":5}],"u":[{"d":52,"g":52,"j":52,"n":[{"d":52}],"r":[{"a":19}],"t":[{"a":52}]}],"ú":[{"j":52,"t":[{"t":5}]}],"ü":[{"d":52,"g":51,"r":5,"t":5,"z":52}],"ű":[{"r":5}],"y":[{"a":[{"g":[{"y":[{"a":8}]}],"l":[{"ó":17}],"s":[{"s":9}]}],"á":[{"l":61}],"e":[{"m":56,"s":56,"z":0}],"é":[{"d":61,"k":[{"s":9,"t":9}],"r":[{".":9}]}],"i":[{"d":0,"m":0}],"u":[{"t":56}],"ü":[{"l":[{"ő":61}]}]}]}],"h":[{"a":[{"b":[{"i":14}],"l":[{"k":15}],"s":[{"á":[{"b":[{"r":11}]}]}]}],"á":[{"z":[{"a":[{"l":[{"t":14}]}],"i":[{"p":11}],"o":[{"l":11}],"ó":11,"s":4}]}],"e":[{"d":[{"z":4}],"i":11}],"ú":[{"s":[{"á":11,"s":27}]}]}],"i":[{"a":[{"a":6,"á":6,"b":[{"o":6}],"c":6,"d":6,"e":6,"é":6,"f":[{"o":6}],"g":[{"y":6},8],"h":6,"í":6,"j":6,"l":[{"a":6,"á":6}],"m":6,"o":6,"ó":6,"ö":6,"ő":6,"p":12,"r":6,"s":[{"z":[{"a":6,"á":6}]}],"t":[{"o":6,"r":6},8],"u":20,"ü":6,"v":6,"z":6}],"á":[{"t":[{"a":15}]}],"b":[{"o":58,"r":5}],"c":[{"e":[{"l":13}],"h":[{"a":6,"e":21,"é":21,"o":21}]}],"d":[{"e":[{".":6,"g":58}],"ő":58,"ü":6}],"e":[{"t":6}],"f":[{"j":86}],"g":[{"a":[{"l":58,"z":[{".":47}]}],"á":58,"e":[{".":6}],"é":[{"j":6,"n":58,"z":6}],"m":47}],"h":[{"l":86}],"k":[{"e":[{"b":6,"l":12,"m":12}],"é":[{"r":[{"t":[{"é":12}]}]}],"k":10,"l":[{"u":5}],"o":[{"n":[{"r":6}]}],"r":[{"i":[{"t":[{".":86}]}]}],"u":[{"d":6}]}],"l":[{"l":[{"e":48,"u":47}],"y":58}],"m":[{"á":[{"d":47,"é":54}],"p":86}],"n":[{"a":[{".":58,"s":6}],"á":[{"l":[{"l":12}]}],"d":47,"f":[{"o":86,"ú":86}],"g":[{"a":[{"s":11}],"á":11,"e":[{".":86,"i":47,"l":2}],"ó":2,"r":[{"á":8}],"u":11,"ü":[{"k":86}]}],"i":[{"p":13}],"o":[{"l":6}],"t":[{"é":86}]}],"o":[{"n":[{"b":58,"c":6,"h":6,"j":6,"k":6,"n":58,"o":58,"r":58,"t":58}]}],"ó":[{"a":6,"d":6,"e":6,"p":6,"t":[{"a":6,"á":6}],"ü":6,"v":[{"á":32}]}],"p":[{"p":[{"i":14}],"r":5}],"r":[{"a":[{"t":6}],"á":47,"é":[{"s":[{"z":22}]}],"g":86,"h":86,"k":86,"o":[{"d":58}],"ó":[{"n":6}]}],"s":[{"i":[{".":6,"n":12}],"ü":[{"v":10}],"z":[{"a":[{"k":3}],"e":[{"g":6,"m":[{"l":6}],"s":[{"e":6}]}],"é":[{"l":23}],"i":[{"p":6,"s":6}],"o":[{"k":[{"t":3}],"l":3,"n":86}],"ö":6,"ő":24,"u":6}]}],"t":[{"a":[{"d":13,"g":12,"j":12,"l":[{"a":8},6],"s":12,"t":58}],"e":[{"l":[{"l":9}]}],"é":[{"p":12,"r":12}],"i":[{"m":6,"n":12,"r":6}],"o":[{"b":6,"l":[{"d":9,"t":9}],"s":[{"z":12}]}],"ü":[{"r":6}]}],"u":[{"m":[{"i":[{"o":2}]}]}],"v":[{"a":[{"d":58,"r":58}],"ó":58}],"x":[{"a":6,"ő":6}],"z":[{"é":[{"n":6}],"g":86,"m":[{"á":86}],"o":[{"m":48}],"s":[{"o":[{"l":6}]}]}]},53],"í":[{"g":[{"é":6}],"j":[{"a":6,"u":6}],"l":[{"i":[{"a":10}]}],"r":[{"a":31,"á":58,"é":13,"o":[{"t":12}],"ó":58,"ú":12}],"t":[{"é":[{"l":47}],"ő":[{"a":32}]}],"v":[{"e":6,"i":58}],"z":[{"e":6,"ű":6}]},53],"k":[{"a":[{"d":[{"ó":[{"s":19}]}],"i":[{"k":10}],"j":[{"t":5}],"k":[{"k":52}],"l":[{"v":52}],"n":[{"ó":52,"y":[{"á":11}]}],"ó":10,"p":[{"l":8,"p":5}],"r":[{"i":[{"s":11}]}],"s":[{"k":8,"p":9}],"t":[{"o":[{"m":11}],"r":8}],"z":[{"o":5}]}],"á":[{"g":52,"r":[{"a":[{"d":5}],"á":[{"l":11}],"o":[{"l":11}],"u":[{"k":11}]}],"s":[{"a":[{"d":11,"l":11,"v":11}],"s":27,"z":4}],"t":[{"a":32,"j":52,"m":52,"s":52,"u":52}]}],"b":[{"r":5}],"c":[{"i":[{"ó":[{"s":[{"ű":10}]}]}]}],"d":[{"r":5}],"e":[{"c":[{"s":[{"e":19}]}],"d":[{"z":19}],"l":[{"a":5,"l":[{"á":0}],"t":[{"á":52}]}],"r":[{"a":14,"e":[{"d":5}],"ő":51}],"t":[{"i":51}],"v":[{"é":51}]}],"é":[{"l":51,"p":[{"e":[{"l":14}],"é":[{"s":14}],"í":52}],"r":[{"c":52}],"s":[{"z":[{"é":19}]}]}],"g":[{"r":19}],"i":[{"a":10,"á":10,"g":[{"a":19,"é":52}],"m":[{"i":52}],"n":[{"d":5,"g":52,"t":52,"z":0}],"o":[{"n":19}],"s":[{"i":2,"m":5}]}],"k":[{"á":10,"r":19}],"l":[{"a":[{"r":6}],"ó":54}],"o":[{"b":52,"k":[{"e":5}],"s":[{"s":27,"z":[{"l":52}]}],"x":52}],"ó":[{"n":[{"é":52,"i":52}],"p":8,"r":[{"i":51}]}],"ö":[{"l":[{"é":51,"ő":51}],"s":[{"s":5}],"t":[{"l":5}]}],"ő":[{"r":[{"s":5}]}],"p":[{"l":5,"r":5}],"r":[{"a":[{"c":6}],"i":[{"s":54}],"í":54,"o":[{"m":[{"a":6}],"n":[{"n":7}]}]}],"s":[{"p":5,"t":5,"z":42}],"u":[{"d":52,"r":[{"a":51}],"s":51,"t":[{"a":[{"l":5}],"á":52}],"z":52}],"ú":[{"j":52,"s":52}],"ü":[{"g":52}]}],"l":[{"a":[{"c":3,"p":[{"a":11,"e":3,"o":[{"s":[{"z":14}]}]}],"t":[{"a":[{"l":11,"n":2}],"e":2,"é":[{"t":[{"e":2}]}]}]}],"á":[{"s":[{"s":27}]}],"e":[{"g":[{"á":14}],"í":10,"t":[{"o":14,"ü":[{"z":11},32]}]}],"é":[{"t":[{"é":[{"s":11,"v":[{"e":[{".":2}]}]}]}]}]}],"m":[{"e":[{"g":[{"a":2,"é":14}]}],"ű":[{"é":[{"n":10}],"t":10}]}],"n":[{"a":[{"i":[{"é":11}],"k":[{"r":9},10],"l":[{"v":5}],"p":[{"r":[{"é":8}]}],"s":8}],"á":[{"l":[{"l":5}]}],"e":[{"m":[{"l":52}],"p":[{"a":2}],"s":[{"e":11,"s":5,"z":5}],"t":[{"e":[{"t":51}],"t":52}],"v":[{"e":[{"z":5}]}]}],"é":[{"g":[{"e":[{"t":11}]}],"r":[{"i":5}]}],"i":[{"d":52,"r":[{"t":5}]}],"o":[{"r":[{"s":5}]}],"ő":[{"é":[{"h":10,"n":10}]}],"s":[{"y":5}],"u":[{"g":52}],"ú":[{"s":19}],"ü":[{"c":51,"l":[{"ő":5,"t":5,"v":5},11]}],"y":[{"a":[{"k":41,"l":[{"á":41}],"n":8,"r":41}],"á":[{"r":10,"z":9}],"d":[{"r":41}],"e":[{"l":[{"l":9,"ő":41,"t":9,"v":[{"á":9,"e":[{"z":9}]}]}],"s":[{"e":[{"t":[{"t":8}]}],"é":[{"s":8}],"ő":8}]}],"é":[{"g":9,"k":[{"é":8,"i":8}]}],"i":[{"é":[{"h":32,"n":[{"e":32}]}],"g":[{"é":9},10]}],"j":[{"é":41}],"o":[{"l":[{"d":9}],"n":9}],"ö":[{"z":9}],"s":[{"t":41}]},0]}],"o":[{"d":[{"r":[{"á":19}],"ú":58}],"g":[{".":47,"h":47,"j":47,"n":47,"o":47,"s":47,"t":47,"v":47}],"i":[{"r":6}],"k":[{"a":[{"l":[{"a":9},47],"r":13,"u":6}],"á":[{"l":12}],"é":[{"l":13,"p":6}],"i":[{"n":[{"g":12}],"s":[{"t":9}]}],"k":[{"e":86},8],"o":[{"z":58}],"ö":6,"ő":6,"r":[{"o":19}],"s":[{"z":32},9],"u":[{"r":6}],"ú":[{"r":6}],"ü":6}],"l":[{"a":58,"f":8,"i":[{"m":58}],"l":[{"ó":86}],"y":58}],"m":[{"a":[{"c":13}],"p":9}],"n":[{"a":[{"l":12},10],"c":[{"c":27,"h":11,"s":[{"z":27}]}],"e":12,"k":8,"ö":6,"ő":6,"s":8,"y":5}],"o":[{"k":6}],"p":[{"e":58,"l":[{"a":19}]}],"r":[{"a":[{"l":12,"t":13,"z":6}],"e":[{"l":12}],"i":[{"v":12}],"í":6,"m":[{"o":86}],"r":[{"é":86}],"s":8,"ü":6,"v":[{"o":86}]}],"s":[{"á":[{"l":6}],"e":6,"s":[{"z":[{"e":20,"f":20,"i":20},32]}],"t":[{"a":[{"b":19}]}],"z":[{"a":[{"u":32}],"f":42,"l":47}]}],"t":[{"r":19,"t":[{"h":86}],"y":5}],"u":[{"i":6}],"v":[{"i":[{".":58}]}],"x":[{"i":6}]},53],"ó":[{"a":[{"k":11}],"á":[{"r":11}],"c":[{"e":6,"h":6}],"d":[{"a":[{".":6,"n":13}],"á":[{"k":6}],"e":[{"s":13}],"i":[{"s":12}]}],"f":[{"l":5,"r":5}],"k":[{"l":19}],"m":[{"a":[{"c":6}],"e":[{"m":12}],"i":[{"k":6}],"u":[{"t":13}],"ü":6}],"n":[{"i":[{"b":6}],"o":[{"n":6}]}],"p":[{"r":19}],"r":[{"a":[{"c":54,"d":12,"f":54,"i":58,"l":13,"r":54,"s":54,"t":54}],"á":[{"d":[{"i":26}],"s":6}],"i":[{"á":6}],"ü":6}],"s":[{"a":[{"k":[{"k":9}]}],"e":[{"g":6}],"l":5,"p":19,"r":[{"á":19}],"s":20,"t":[{"a":19}],"z":[{"e":[{"n":[{"e":20,"é":20}]}]},42]}],"t":[{"a":[{"l":[{"a":9}]}],"i":[{"l":6}],"r":[{"á":5}]}],"v":[{"ó":6}]},53],"ö":[{"k":[{"a":6,"á":6,"e":[{"l":12,"t":[{"i":9},10]}],"é":[{"j":13,"k":12,"l":13,"r":[{".":12,"i":12,"t":[{"é":12}]}]}],"o":6,"ó":6,"u":6,"ú":6}],"l":[{"e":54,"é":54,"ő":6}],"m":[{"l":48}],"n":[{"ö":58,"z":86}],"r":[{"ö":6}],"s":[{"s":[{"z":86}],"z":58}],"t":[{"e":6,"é":6,"i":6,"l":48,"t":8,"ü":6}],"v":[{".":86,"b":48,"e":[{".":54}],"ö":[{"n":6}],"r":86}],"z":[{"ö":[{"n":58}]}]},53],"ő":[{"a":[{"l":11,"n":11}],"á":[{"g":11}],"b":[{"r":5}],"c":[{"a":6,"h":6,"s":[{"á":[{"r":6}],"ő":[{"s":6}],"ü":6}]}],"e":[{"r":11}],"é":[{"l":11}],"f":[{"é":[{"l":[{"é":17}]}]}],"k":[{"l":5}],"p":[{"l":5,"r":5}],"r":[{".":86,"a":[{"n":102,"s":86}],"b":86,"c":86,"e":[{"i":58}],"é":[{"h":58,"n":58,"t":[{".":6,"ő":6}],"v":58}],"g":86,"h":86,"i":58,"k":86,"l":86,"n":86,"ö":58,"r":86,"s":48,"t":86,"ü":[{"l":6,"n":6},86],"v":86,"z":86}],"s":[{"a":[{"l":13}],"e":[{"l":13,"s":6}],"í":[{"r":13}],"o":[{"k":6}],"p":[{"e":5}],"s":20,"z":[{"t":42}]}],"t":[{"r":19,"t":[{"i":[{"n":11}]}]}],"u":[{"t":11}],"ü":[{"l":11}]},53],"p":[{"a":[{"d":[{"a":[{"l":11}]}]}],"e":[{"s":[{"z":7},11]}],"l":[{"a":6,"á":6,"e":6,"é":6,"o":6,"ü":6}],"o":[{"n":[{"t":[{"a":17}]}],"r":[{"a":14}]}],"r":[{"a":6,"e":6,"é":6,"i":6,"o":6,"ó":6}],"s":[{"z":6}],"u":[{"t":[{"a":14,"á":2,"e":2,"i":14}]}]}],"r":[{"e":[{"f":[{"l":[{"e":[{"x":[{"í":141}]}]}]}],"n":[{"d":[{"a":10}]}]}]}],"s":[{"a":[{"d":51,"k":[{"c":52}],"l":[{"k":5}],"r":[{"á":19}],"s":[{"s":5}],"u":52,"v":[{"á":[{"r":11}],"e":2,"i":[{"l":11}],"o":[{"l":11}]}],"z":51}],"á":[{"g":[{"g":3}],"l":[{"l":5}],"r":[{"a":[{"k":51}]}],"t":[{"a":5,"v":5}]}],"c":[{"h":[{"e":[{".":20,"i":20}],"é":20},6]}],"d":[{"r":5}],"e":[{"l":[{"é":19,"m":5,"n":5,"o":5,"s":5,"v":5}],"n":[{"e":52}],"s":[{"z":52}]}],"é":[{"g":[{"e":[{"l":11}],"é":[{"j":14}],"ü":[{"k":[{"é":[{"t":32}]}]}]}],"k":52,"l":51,"p":52,"v":[{"e":[{".":19}]}]}],"f":[{"r":5}],"i":[{"d":51,"m":[{"p":5}],"n":[{"f":5,"g":52}],"r":[{"ó":52}],"s":[{"k":5}],"z":[{"o":5},11]}],"í":[{"r":51,"v":51}],"k":[{"á":[{"l":54}],"l":5}],"o":[{"b":52,"l":52,"p":52,"s":[{"z":5}],"t":[{"t":52}]}],"ó":[{"r":51}],"ö":[{"s":52}],"p":[{"e":[{"c":6}],"l":19,"o":[{"r":6}]}],"r":[{"á":54}],"s":[{"t":5,"y":5,"z":[{"e":[{"r":25}],"i":25,"o":25,"ö":25}]}],"t":[{"a":[{"b":54}],"á":[{"c":54}],"e":[{"i":10}],"i":[{"m":54}],"o":[{"p":6}]}],"u":[{"r":[{"a":5},11],"t":51}],"ú":[{"r":5}],"z":[{"a":[{"d":61,"k":[{"ü":30}],"l":[{"k":9}],"n":61,"r":[{"á":25}]}],"á":[{"b":[{"a":[{".":61}]}],"r":[{"á":25,"u":8}]}],"i":[{"t":56,"z":0}],"o":[{"m":[{"m":56}]}],"p":8,"u":[{"t":0}],"ü":[{"z":61}],"z":9}]}],"t":[{"a":[{"b":[{"l":[{"a":5}],"r":52}],"c":[{"é":[{"l":11}]}],"d":[{"ó":19},10],"g":[{"a":[{".":19}],"g":52,"y":[{"u":11,"ú":11}]}],"i":[{"k":10}],"j":[{"k":52,"t":52}],"k":[{"c":52,"t":[{"á":52}]}],"l":[{"á":[{"t":5}],"e":[{"l":5}],"f":52}],"n":[{"t":[{"a":5}]}],"r":[{"a":[{".":19,"n":11}],"á":51,"c":52,"k":52}],"s":[{"p":8,"s":[{"z":5}]}],"t":[{"y":52}],"u":[{"r":[{"a":19}]}],"ü":10,"z":[{"o":52}]}],"á":[{"b":[{"r":5}],"c":[{"s":[{"i":5,"o":5},11]}],"r":[{"a":[{"d":2,"m":0}],"á":[{"v":11}],"n":[{"y":5}],"u":[{"k":11}]}],"s":[{"ó":52,"v":[{"á":52}]}],"t":[{"i":52,"l":52,"r":52,"s":52,"v":52}],"z":[{"s":[{"i":11}]}]}],"b":[{"l":5,"r":5}],"d":[{"r":5}],"e":[{"b":[{"e":5}],"d":[{"é":[{"n":0}],"i":5}],"g":[{"á":20}],"l":[{"a":52,"b":52,"e":[{"m":[{"é":32}]}],"f":5,"j":[{"á":52}],"k":52,"l":[{"e":[{"n":52}]}],"m":[{"é":[{"l":0}]}],"n":[{"ö":0}],"o":51,"ő":[{"á":11}],"r":52,"t":[{"o":52}],"v":[{"á":52}],"z":52}],"m":[{"b":[{"e":[{"r":52}]}],"e":[{"l":51}],"l":52,"u":52}],"n":[{"d":[{"r":52}],"t":52}],"r":[{"á":[{"l":11}],"e":[{"l":[{"e":11}]}],"i":[{"n":14}],"v":[{"e":[{"l":17}]}],"z":52}],"s":[{"t":[{"h":52}],"z":[{"k":52}]}],"v":[{"a":52,"e":[{"t":19,"z":19}]}]}],"é":[{"g":[{".":5,"é":19}],"k":[{"e":[{"k":51,"s":11}],"é":11,"s":52}],"l":[{"e":51,"é":[{"s":51}],"m":52,"t":52,"ű":5}],"n":[{"e":[{"k":[{"e":51}]}]}],"p":[{"ü":52}],"r":[{"i":[{"n":52}],"m":[{"é":52}],"t":[{"é":52}],"z":52}],"s":[{"s":27}],"t":[{"e":[{"r":11}]}],"v":[{"e":[{"n":51,"t":51}],"é":[{"b":51,"n":51,"r":51,"t":51}],"h":5,"k":5,"t":5}]}],"f":[{"l":5,"r":5}],"g":[{"r":5}],"h":[{"o":[{"n":6}]}],"i":[{"a":[{"n":10,"t":10}],"d":[{"o":5}],"g":[{"e":52}],"k":[{"l":8}],"l":[{"l":[{"á":[{"t":[{".":10}]}],"e":52}]}],"m":[{"p":52}],"n":[{"f":[{"o":52}],"g":[{".":52,"a":52}],"k":[{".":9}],"t":[{"é":52}]}],"ó":3,"p":[{"a":[{"r":11}]}],"r":[{"á":52,"o":52}],"s":[{"k":52,"m":52,"t":[{"e":52}]}],"v":[{"á":[{"s":11}]}],"z":[{"o":5}]}],"í":[{"g":52,"j":52,"r":[{"á":5}],"v":[{"b":52}],"z":51}],"k":[{"l":5,"r":5}],"o":[{"f":52,"k":[{"a":[{"l":72},32],"l":52}],"l":[{"d":[{"a":52,"ó":52}],"y":51}],"m":[{"e":2}],"p":[{"c":5}],"r":[{"a":[{"s":11}],"é":[{"k":11}],"i":[{"n":11}],"m":[{"á":5}],"r":[{"o":5}]}],"s":[{"z":[{"l":52,"t":52}]}],"t":[{"t":[{"h":52}]}]}],"ó":[{"p":9,"r":[{"á":51,"i":51}],"t":[{"r":9},10]}],"ö":[{"k":[{"l":5,"ö":19}],"l":[{"ő":19}],"n":[{"t":5}],"r":[{"d":52}]}],"ő":[{"a":10,"é":[{"n":10}],"r":[{"b":5,"l":5,"n":5}],"z":52}],"p":[{"l":5,"r":5}],"r":[{"a":[{"n":[{"s":[{"z":[{"k":78},28]},6]}]}],"é":[{"f":54}],"ó":[{"f":54}],"y":5}],"s":[{"h":5,"k":5,"p":5,"t":5,"z":[{"á":[{"m":[{"é":43}]}],"v":5},10]}],"t":[{"r":19}],"u":[{"d":[{"v":52}],"g":52,"j":52,"m":[{"o":[{"r":11}]}],"n":[{"a":52,"d":5,"i":3},11],"r":[{"á":19}],"s":[{"z":[{"a":11}]}],"t":[{"á":5}]}],"ú":[{"g":52,"j":52,"r":[{"a":[{"l":11,"n":11}]}],"s":[{"z":19}]}],"ü":[{"g":52,"l":[{"ő":51,"t":5}],"t":52,"v":51}],"y":[{"a":[{"l":61,"n":61}],"á":[{"l":0}],"e":[{"l":61}],"é":[{"l":56}],"i":[{"k":56,"n":[{"t":56}],"v":56}],"í":0,"ő":[{"r":61}],"u":[{"t":0}]}]}],"u":[{"c":[{"c":48}],"g":[{"a":6,"o":6}],"j":[{"j":86}],"k":[{"l":[{"a":19,"u":5}]}],"m":[{"ü":6}],"n":[{"d":86,"i":58,"o":58,"t":86}],"r":[{"a":[{"m":6}],"á":6}],"s":[{"a":[{"l":6,"s":6,"v":12}],"e":12,"é":[{"r":[{"t":[{"é":12}]}]}],"i":[{"k":6}],"o":[{"l":6}],"p":[{"o":19}],"s":[{"z":[{"i":20}]},10],"z":[{"a":[{"b":6,"v":21}],"i":[{"r":6}],"í":6,"o":[{"l":24}]}]}],"t":[{"a":[{"l":6,"t":6,"z":6}],"á":[{"l":6}],"e":6}]},53],"ú":[{"j":[{"d":48,"í":6,"s":86}],"k":[{"é":[{"s":[{"z":22}]}]}],"p":[{"r":5}],"r":[{".":86,"b":86,"h":86,"n":86,"r":86,"t":86}],"s":[{"z":[{"á":58}]}],"t":[{"b":47,"h":47,"j":47,"k":86,"n":86,"r":47,"s":86,"t":47,"v":86}]},53],"ü":[{"b":[{"l":5}],"d":[{"í":58,"v":86}],"f":[{"r":5}],"g":[{"g":86,"r":5,"y":[{".":86,"b":86,"c":86,"e":[{".":58,"i":58,"k":58,"s":58,"t":58}],"é":[{"s":3},58],"h":86,"i":58,"k":86,"l":86,"n":86,"r":86}]}],"l":[{"d":86}],"p":[{"r":5}],"r":[{"í":6}],"s":[{"t":[{"r":5},10]}],"t":[{"e":[{"m":58}],"é":[{"s":6}],"i":6,"ő":[{".":6,"k":6,"s":6}],"ü":6}],"v":[{"ö":6}],"z":[{"é":6,"l":86}]},53],"ű":[{"z":[{"é":6,"ő":6}]},53],"v":[{"a":[{"s":[{"u":11}]}],"á":[{"g":[{"y":[{"a":[{"d":[{"a":44},26]}],"ó":[{"n":44}]}]}],"r":[{"a":[{"l":14}]}],"t":52}],"e":[{"n":[{"t":[{"a":10}]}]}],"é":[{"d":[{"a":14,"ő":[{"r":2}]}]}],"i":[{"n":[{"d":5}]}],"o":[{"n":[{"a":[{"l":[{"ú":[{"t":43}]}]}]}],"s":52}],"s":[{"k":5}]}],"x":[{"a":[{"r":5}]}],"y":[{"a":[{"b":[{"l":77,"r":77}],"c":[{"é":[{"l":11}]}],"d":[{"a":[{"g":77}],"á":[{"s":47}],"ó":[{"z":11},47]}],"f":[{"f":47}],"g":[{"a":[{"r":11}],"á":[{"h":47,"r":47,"v":47}],"c":47,"e":[{"n":11}],"i":47,"j":47,"m":47,"o":[{"s":47}],"t":[{"a":47}],"u":[{"k":47}],"ú":47}],"j":[{"á":[{"n":47}],"k":47,"t":47}],"k":[{".":71,"a":[{"l":[{"a":14}],"r":[{"a":11}]}],"c":47,"e":[{"l":11}],"é":[{"k":2}],"i":[{"z":11}],"t":[{".":47,"á":47,"b":47,"i":47,"j":47,"o":47,"u":47}]}],"l":[{"a":[{"g":93,"k":[{".":93,"j":47,"k":47,"r":93}],"n":[{"y":47}],"p":[{"b":11,"h":11,"o":11,"p":11,"s":11}]}],"á":[{"s":[{"z":77}]}],"b":77,"é":[{"p":5}],"m":77,"t":[{"e":5,"ú":47}]}],"m":[{"a":[{"l":47}]}],"n":[{"a":[{"l":47}],"g":47,"t":77}],"o":[{"t":47}],"p":[{"a":[{"d":19}],"á":[{"t":11}],"p":47}],"r":[{"é":[{"n":11}],"m":[{"a":77}],"z":77}],"s":[{"p":9,"s":[{"z":47}],"z":[{"t":47}]}],"t":[{"k":[{"á":47}],"r":[{"á":9}],"y":47}],"u":[{"k":47}],"v":[{"a":[{"t":47}]}]},53],"á":[{"b":[{"r":47}],"d":[{"n":[{"á":47}],"t":47}],"é":[{"k":47}],"g":77,"l":[{"d":47,"l":[{"í":47}],"o":[{"m":11}]}],"m":[{"é":[{"k":47}],"n":[{"á":47}]}],"p":47,"r":[{"a":[{"d":93,"i":93,"k":93,"m":93,"s":47,"t":93}],"á":[{"b":11,"n":11,"t":11,"v":11}],"c":47,"e":47,"h":47,"j":77,"k":47,"p":47,"t":[{".":71}],"u":142,"ú":47,"v":47}],"s":[{"ó":47,"z":[{"a":[{"k":11}],"á":[{"r":11}]}]}],"t":[{"a":47,"á":47,"é":47,"f":47,"h":47,"k":47,"m":47,"n":47,"ö":47,"r":47,"s":47,"t":47,"ü":47,"v":47}]},53],"b":[{"l":5,"r":5}],"c":[{"v":5}],"d":[{"r":[{"e":[{".":53}]}]}],"e":[{"d":[{"é":[{"n":47}],"z":[{"é":47}]}],"f":[{"f":47}],"g":[{"y":[{"l":47,"s":47}]}],"k":[{"e":[{".":47,"i":47}],"é":[{"é":47}]}],"l":[{"b":77,"c":47,"e":[{"f":47,"m":[{"z":47}]}],"f":77,"h":[{"a":5}],"j":[{"á":47}],"k":5,"l":[{"á":77}],"m":[{"a":5}],"n":[{"ö":47}],"ő":[{"í":47,"ő":93,"z":47}],"r":77,"s":[{"ő":47}],"t":[{"á":77,"é":[{"r":47}],"o":47}],"ü":[{"l":77}],"v":[{"e":[{"s":[{"z":10}],"v":47}]}]}],"m":[{"b":[{"e":[{"r":47}],"l":47,"r":47}],"e":[{"l":47}],"i":[{"t":77}],"l":77}],"n":[{"c":47,"e":47,"g":77}],"p":9,"r":[{"d":[{"ő":47}],"e":[{"j":47,"k":[{"l":11}]}],"k":77,"n":[{"y":47}],"ő":[{"m":47}]}],"s":[{"e":[{"m":[{"é":77}],"r":5,"t":[{"é":47}]}],"é":[{"l":47}],"t":[{"j":47}],"z":[{"k":47}]}],"t":[{"i":[{"k":47}]}],"v":[{"e":[{"z":11},47],"é":47,"o":47,"ő":47}],"x":77,"z":[{"r":47,"ü":[{"s":47}]}]},53],"é":[{"b":[{"r":77}],"h":[{"e":[{"n":47,"s":47}],"s":47}],"j":[{"e":[{"k":19}]}],"l":[{"e":[{"t":47}],"m":47}],"n":[{"e":[{"k":[{"e":47,"é":93,"n":93}]}]}],"p":77,"r":[{"c":[{".":47}],"e":[{"m":[{".":47}],"s":2}],"i":[{"n":47}],"ő":[{".":47,"i":47,"t":47}],"t":[{"é":[{"k":47}]}],"ü":32,"v":[{".":47}],"z":[{"é":47}]}],"t":[{"e":[{"l":47}],"k":[{"e":47}],"l":47}],"v":[{".":47,"b":47,"e":[{".":47,"i":47,"k":47,"m":47,"n":47,"s":47,"t":47,"z":47}],"é":[{"b":47,"r":47,"t":47,"v":47}],"f":47,"i":47,"k":47,"m":47,"n":47,"r":47,"s":47,"t":47,"ü":47,"ű":47,"v":47}]},53],"f":[{"l":5,"r":19}],"g":[{"l":5,"r":5}],"i":[{"b":[{"o":47}],"d":[{"e":[{"g":47,"j":47}],"ő":47}],"é":[{"b":10}],"f":[{"j":[{"ú":[{".":47,"b":47,"é":47,"i":47,"k":[{"é":47}],"n":47,"r":47,"s":47,"t":47,"v":47}]}]}],"g":[{"a":47}],"h":[{"a":47,"l":47}],"l":[{"l":77}],"m":[{"a":77,"á":47,"b":77,"p":47}],"n":[{"a":[{"s":47}],"c":47,"d":47,"f":47,"g":[{".":5}],"j":47,"s":47,"t":77,"v":47}],"p":93,"r":[{"á":47,"i":47,"o":[{"d":47}],"t":47}],"s":[{"k":[{"o":47}],"m":47,"p":47,"t":47}],"v":[{"a":[{"d":47}],"á":[{"s":47}],"ó":47}],"z":[{"n":77,"t":77}]},53],"í":[{"g":77,"j":77,"l":71,"n":77,"v":77,"z":77},53],"j":[{"é":[{"b":53}]}],"k":[{".":71,"a":[{"r":[{"ó":[{"r":[{"a":7}]}]}]}],"e":[{"t":[{".":53}]}],"k":53,"l":5,"n":53,"r":19,"v":19}],"m":[{".":53,"e":[{"t":[{".":53}]}],"t":53}],"n":[{".":53}],"o":[{"b":77,"d":[{"ú":47}],"f":77,"k":[{"k":[{"e":77}],"l":77,"o":[{"s":47,"z":47}],"t":[{"a":47}]}],"l":[{"a":[{"j":93}],"c":[{"c":7}],"d":[{"a":77,"á":47,"ó":47}],"l":[{"ó":5}],"t":[{"á":[{"r":77,"s":47}]}],"v":[{"a":[{"s":47}]}]}],"m":[{".":71,"a":[{"t":[{".":71,"k":71,"o":[{"m":71}]}]}],"o":71,"t":71}],"p":77,"r":[{"c":5,"m":5,"s":5,"v":5}],"s":[{"k":[{"o":77}],"t":[{"o":47}],"z":[{"l":47,"t":47}]}],"t":[{"t":77}],"v":77,"x":77},53],"ó":[{"n":[{"i":19}],"r":[{"á":[{"c":11,"n":11}],"i":47}],"s":[{"ü":14}]},53],"ö":[{"b":77,"c":77,"l":93,"n":[{"t":5}],"v":77},53],"ő":[{"r":[{"s":47}]},53],"p":[{"l":5,"r":5,"s":5}],"s":[{".":71,"c":5,"e":[{"k":71}],"h":5,"k":5,"l":5,"p":5,"t":[{".":53,"a":5,"á":5},11]}],"u":[{"d":47,"j":47,"k":[{"á":47,"r":[{"á":77}]}],"l":71,"n":[{"i":47,"o":47}],"r":[{"á":5}],"t":[{"a":19,"á":19},47]},53],"ú":[{"j":[{"d":47,"é":47,"í":47,"s":47}],"l":[{"ő":11},71],"r":[{".":77,"b":47,"h":77,"i":47,"k":47,"n":77,"o":93,"r":47}],"s":[{"z":93}],"t":[{"b":47,"é":77,"h":47,"i":77,"j":47,"k":47,"l":5,"m":47,"n":47,"p":47,"r":47,"t":47,"v":47}]},53],"ü":[{"d":77,"g":93,"l":[{"d":77,"e":5}],"n":[{"n":47}],"r":77,"t":77,"z":[{"e":47}]},53],"ű":[{"r":[{".":77,"b":47,"é":77,"h":77,"i":93,"j":77,"l":77,"n":77,"ö":93,"r":47,"t":77}],"z":[{"é":93,"ő":[{".":93,"b":47,"e":[{"n":47}],"é":47,"h":47,"k":47,"n":47,"r":47,"t":47,"v":47}]}]},53],"v":[{"é":[{"k":6}],"i":[{"s":[{"k":12}]}],"ó":6,"ö":[{"s":6}],"ő":6,"ú":6}],"z":[{"é":[{"k":[{"e":10}]}]}]},0],"z":[{"a":[{"c":[{"é":52},11],"d":[{"á":5,"o":5,"ó":5}],"g":[{"a":19,"g":5}],"j":[{"t":[{"a":5}]}],"k":[{"c":5,"k":5,"o":10,"t":52}],"l":[{"d":5,"k":52}],"n":[{"g":5,"y":51}],"p":[{"p":5}],"r":[{"a":5,"á":5,"c":5,"i":5}],"u":[{"t":5}]}],"á":[{"g":[{"y":19}],"l":[{"l":5}],"r":[{"a":[{"d":51}],"n":[{"y":5}],"ó":[{"r":[{"a":2}]}],"u":51}],"s":[{"e":2,"ó":5,"s":27}],"t":[{"a":108}]}],"d":[{"r":19}],"e":[{"g":51,"l":[{"b":52,"e":[{"m":[{"e":59}]}],"é":[{"r":51}],"f":52,"h":[{"a":52}],"i":[{"s":52}],"k":52,"l":[{"á":52,"e":[{"n":5}]}],"m":52,"n":[{"y":52}],"o":52,"ő":[{"á":51,"l":51,"t":51,"z":0}],"s":52,"t":[{"a":52,"ü":52}],"v":[{"e":[{"r":52}],"é":52,"o":52}]}],"m":[{"b":[{"e":[{"r":5}]}],"e":[{"l":51}],"é":[{"s":19}],"i":52,"l":5}],"n":[{"e":[{"r":0}]}],"r":[{"ő":5,"t":[{"a":17}],"v":[{"a":[{"d":17}],"é":[{"t":[{"e":30},26]}],"i":10}]}],"s":[{"u":11,"z":[{"k":5}]}],"z":52}],"é":[{"g":52,"k":[{"e":[{"l":14}]}],"l":51,"r":[{".":52,"d":52,"e":[{"m":51}],"k":52,"m":52,"t":[{"é":52}],"v":52,"z":52}],"t":[{"v":5}]}],"g":[{"r":5}],"i":[{"a":11,"g":[{"a":51,"é":52}],"l":[{"l":52}],"m":[{"a":2,"á":11,"i":11}],"n":[{"á":2,"o":14,"ó":2}],"p":51,"r":[{"á":5}],"s":[{"m":5,"t":52}],"t":[{"á":[{"r":11}],"e":[{"l":14,"n":11},32],"í":[{"v":[{"e":[{".":2}]}]}]}]}],"í":[{"b":52,"g":5,"n":5}],"k":[{"l":5,"r":5}],"o":[{"k":[{"l":52}],"l":[{"i":[{"n":11}],"ó":11}],"n":[{"a":14,"é":11}],"r":[{"i":[{"n":11}]}],"s":[{"z":52}]}],"ó":[{"k":[{"é":[{"s":[{"z":28}]}]}]}],"ö":[{"n":52,"r":[{"ö":5},11],"s":52,"v":51,"z":52}],"p":[{"l":5,"r":5}],"s":[{"a":[{"j":25}],"á":[{"r":55,"t":55,"v":0}],"e":[{"g":25,"r":55}],"i":[{"k":25,"s":55}],"o":[{"d":55,"r":25}],"ó":55,"p":34,"t":34,"z":25}],"t":[{"á":[{"r":[{"a":[{"d":17}]}]}],"r":19}],"u":[{"j":52,"l":[{"a":14}],"m":[{"é":11}],"r":[{"a":19}],"s":[{"a":[{"n":11}],"s":27}],"t":51}],"ú":[{"j":5,"t":19}],"ü":[{"d":52,"g":51,"s":5,"v":5,"z":51}],"z":[{"s":25}]}]}],"o":[{".":47,"a":[{"c":[{"é":6}],"f":[{"r":5}],"k":[{"i":0,"v":51}],"m":[{"i":0}],"n":[{"a":[{"l":[{"i":6}]}]}],"s":[{"i":0,"z":[{"ó":0}]}]},48],"á":[{"g":[{"a":6}],"r":[{"a":[{"n":13}],"i":[{"l":6}],"í":6,"o":[{"l":12}]}],"z":[{"s":6}]},48],"b":[{"a":[{"b":8,"d":8,"l":[{"j":52,"t":[{"a":17}]}],"p":9,"r":[{"a":19}],"u":10}],"á":[{"s":[{"s":27}],"t":[{"m":5}]}],"b":[{"e":[{"g":12}],"ö":6}],"e":[{"g":52,"l":[{"e":5}],"m":51,"r":[{"ő":52}],"z":52}],"é":[{"g":51,"r":[{"z":52}]}],"i":[{"k":[{"i":11,"ó":2}],"l":[{"i":[{"n":11,"p":11}]}],"n":[{"a":[{".":5,"l":14},32],"g":52}],"s":51}],"í":[{"v":5}],"j":[{"e":[{"k":53}]}],"k":[{"l":5}],"o":[{"a":50,"l":[{"l":52}],"r":[{"a":14,"i":[{"n":11}],"o":[{"s":14}]}],"t":[{"á":2,"i":[{"n":11}]}]}],"ó":[{"k":[{"é":[{"s":[{"z":28}]}]}],"n":[{"é":51}],"r":[{"á":19}]}],"ö":[{"t":5}],"p":[{"r":5}],"s":[{"t":53}],"u":[{"t":52}],"ú":[{"s":51}],"ü":[{"g":5,"r":5,"t":5}],"ű":[{"r":5}]}],"c":[{"a":[{"k":[{"é":11}]}],"á":[{"g":52,"l":52}],"e":[{"r":5}],"é":[{"k":19}],"h":[{"i":[{".":55}],"o":[{"k":25,"t":25}]}],"i":[{"a":20,"e":10,"k":[{"r":8}],"ó":10,"p":9,"s":[{"z":75}]}],"k":[{"e":[{"f":54}],"é":[{"l":13,"n":[{"e":9},10],"r":54,"t":54}],"i":[{".":54,"a":6,"g":54,"n":54,"t":54,"v":54}],"o":[{"p":6,"s":[{"n":54,"o":54,"r":54,"s":54}]}]}],"p":[{"r":5}],"s":[{"a":[{"p":55}],"á":[{"l":56,"s":[{"z":56},10],"z":61}],"e":61,"é":[{"r":25}],"i":[{"é":[{"r":[{"a":32}]}],"n":[{"g":56}],"z":[{"m":9}]}],"í":[{"n":25},107],"o":[{"p":0}],"s":9,"t":9,"u":[{"j":0}],"ü":61,"z":[{"a":25,"á":20,"e":25}]}],"z":[{"s":25}]}],"d":[{"a":[{"a":[{"d":0}],"b":8,"d":[{"j":52,"r":9}],"k":[{"k":52}],"l":[{"j":52}],"p":8,"s":[{"s":52,"z":[{"t":5}]},10],"t":[{"r":9},10],"u":[{"t":[{"ó":5}]}]}],"á":[{"b":10,"l":[{"l":[{"á":5}]}],"r":[{"u":0}],"s":[{"k":[{"é":[{"s":[{"z":65}]}]}],"s":27,"z":4}],"z":50}],"e":[{"d":5,"l":[{"l":[{"a":30}]},11],"m":[{"i":[{"n":11}]}],"v":19}],"é":[{"g":51,"n":[{"e":19}],"p":52,"r":[{"d":52}],"t":[{"e":51}],"v":[{"e":51,"é":19}],"z":47}],"i":[{"d":[{"e":5}],"g":[{"a":52},11],"k":[{"r":[{"e":52}]}],"l":[{"e":14,"i":[{"d":11,"k":11,"s":14}]}],"n":[{"t":52}],"r":[{"o":52}],"s":[{"p":5}]}],"í":[{"z":19}],"k":[{"l":5}],"o":[{"b":[{"o":5}],"k":[{"t":52}],"p":52,"r":[{"a":[{"k":11}],"o":[{"s":[{"z":11}]}]}]}],"ö":[{"l":19,"r":19}],"ő":[{"r":19}],"p":[{"r":5}],"r":[{"a":[{"m":54}],"á":[{"m":[{"a":54}]}]}],"s":[{"t":5}],"u":[{"l":[{"a":[{"l":2}]}],"r":51}],"ú":[{"n":53}],"ü":[{"g":5,"n":5,"z":5}],"v":[{"á":[{"b":53}]}],"z":[{"e":25,"o":25}]}],"e":[{"i":[{"r":6}],"l":[{"e":6}],"m":[{"u":6}],"n":[{"e":6}],"t":[{"h":[{"e":19}]}],"u":[{"r":6,"v":6}]},48],"é":[{"f":[{"a":0,"á":0,"o":0}],"k":[{"e":0,"i":0}],"n":[{"a":[{"l":12,"n":12,"r":12},10],"á":[{"r":12},10],"i":[{"s":6}]}],"s":[{"z":0}],"v":[{"i":0}]},48],"f":[{"i":[{"l":[{"a":[{"d":11,"k":11}],"á":14,"e":[{"l":11}],"é":[{"r":11}],"i":[{"g":[{"a":14,"á":14}],"s":11},32],"o":[{"s":[{"z":14}]}]}],"t":[{"a":[{"l":11}],"e":2}]}],"l":[{"a":6,"ó":6}],"o":[{"n":[{"a":[{"l":14,"n":11},32],"á":14,"é":[{"r":[{".":14}]}],"n":27,"ó":2}],"r":[{"m":[{"á":17}]}]}],"ő":[{"r":[{"e":14,"ü":32}]}],"r":[{"í":6}]}],"g":[{"a":[{"b":[{"r":5}],"g":51,"k":[{"a":[{"r":11}],"á":52}],"l":[{"a":51,"á":51,"j":52,"l":5,"t":5,"u":5}],"n":[{"y":51}],"p":52,"r":[{"a":[{"n":51}],"c":5}],"s":[{"z":51}],"t":[{"a":[{"g":2}],"e":2,"i":[{"n":2}],"y":19}],"z":47}],"á":[{"g":51,"l":[{"l":5,"m":5}],"p":52,"r":[{"a":[{"k":51}],"e":52,"j":[{"a":52,"á":[{"t":52}]}],"o":[{"k":51,"s":11}],"u":51}],"s":[{"k":[{"é":[{"s":[{"z":65}]}]}],"ó":0}],"t":[{"a":52,"e":52,"j":52,"k":52,"l":52,"n":52,"o":51,"r":52,"s":52,"t":52,"ü":5,"v":52}]}],"b":[{"l":5}],"d":[{"í":[{"j":[{"a":[{"d":17}]}]}],"r":5}],"e":[{"d":51,"g":[{"é":[{"s":[{"z":28}]}]},51],"l":51,"m":52,"p":51,"r":[{"e":5,"n":5,"ő":5},11],"s":[{"e":52},11],"v":51,"z":52}],"é":[{"g":51,"l":51,"n":[{"n":3}],"p":51,"r":[{".":52,"t":[{"e":5,"é":5,"ő":52}],"v":52}],"s":52}],"f":[{"l":5,"r":5}],"g":[{"l":19}],"i":[{"c":52,"d":51,"f":52,"g":[{"a":52,"é":52},11],"l":[{"l":0}],"n":[{"f":5,"g":52,"s":5,"t":52}],"p":52,"r":[{"o":19}],"t":[{"a":5}]}],"í":[{"j":52,"n":5,"r":5,"v":5}],"k":[{"l":5,"r":5}],"l":[{"i":[{"c":54}]}],"n":[{"a":[{"i":54}]}],"o":[{"d":[{"v":52}],"r":[{"g":5,"r":5,"z":5}],"s":[{"z":[{"l":52,"t":52}]}],"v":51}],"ö":[{"b":19,"l":19,"r":19,"s":5}],"ő":[{"r":19}],"p":[{"l":5,"r":5}],"r":[{"a":[{"f":[{"i":47}],"p":47}],"á":[{"f":[{".":47,"f":[{"a":54},47],"h":54,"j":54,"r":54}],"l":54}]}],"s":[{"k":5,"p":5,"t":19}],"t":[{"r":5}],"u":[{"r":[{"a":19,"u":19}],"s":51,"t":51}],"ú":[{"j":52}],"ü":[{"g":19,"l":5,"r":5,"t":5,"z":5}],"ű":[{"z":5}],"y":[{"a":[{"c":8,"p":8}],"i":[{"s":[{".":9}]}],"o":[{"s":9}],"ó":[{"é":32}]}]}],"h":[{"a":[{"m":[{"a":[{"l":11}],"e":[{"l":11,"s":11}],"i":[{"s":11}]}],"s":[{"p":9},10]}],"á":[{"g":52,"l":52,"n":[{"y":[{"a":[{"d":11,"n":11}]}]}],"r":[{"e":14}],"s":[{"z":[{"i":11,"o":[{"d":[{"v":44}]}]}]}],"z":51}],"e":[{"c":19}],"i":[{"n":[{"g":5}]}],"n":[{"i":6}],"o":[{"r":[{"r":52}]}],"ó":[{"c":[{"s":[{"i":11}]}],"r":[{"á":5}]}],"ö":[{"v":19}],"u":[{"r":[{"á":5}]}]}],"i":[{"a":[{"e":6,"f":6,"n":6,"v":6}],"á":[{"b":[{"a":6}]}],"d":[{"a":[{"d":12,"n":6},3],"á":[{"l":6}],"e":13,"o":[{"l":6}],"z":21}],"l":[{"e":[{"t":32}]}],"n":[{"a":[{"d":12},10],"e":6}],"r":[{"e":6}],"s":[{"e":[{"l":32}]}],"z":[{"o":6}]},48],"í":48,"j":[{"á":[{"r":[{"a":[{"s":14}]}],"s":[{"s":27,"z":27}]}],"e":[{"k":[{"t":[{"á":17,"í":17,"o":17}]}]}],"i":[{"n":5}],"t":[{"á":[{"r":[{"a":12}]}],"o":[{"r":[{"j":[{"á":[{"k":12}]}]}]}],"ó":[{"á":32}]}]}],"k":[{"a":[{"b":[{"l":5}],"c":[{"é":19}],"d":[{"a":[{"t":51}],"á":51,"ó":51}],"k":[{"a":[{"r":51}],"v":5}],"l":[{"j":52,"k":52,"m":5,"t":5}],"n":[{"g":5,"i":5,"t":52}],"p":[{"l":8,"p":5}],"r":[{"a":19,"c":5,"i":[{"s":11}]}],"s":[{"p":52,"s":52,"z":[{"f":5,"t":5}]}],"t":[{"t":52,"y":52}],"u":[{"t":5},11],"v":[{"a":52}]}],"á":[{"g":52,"j":[{"t":5}],"r":[{"a":[{"d":5,"k":51}],"u":[{"l":11}],"v":52}],"s":[{"a":[{"l":11}],"ó":5,"s":27,"z":5}],"t":[{"e":52}]}],"b":[{"l":5,"r":5}],"d":[{"r":5}],"e":[{".":0,"b":19,"c":51,"d":[{"é":5},11],"g":51,"l":51,"m":51,"r":[{"é":5,"k":5,"n":[{"e":[{"l":[{".":5}]}]}],"ő":19}],"s":[{"é":5},59],"v":51,"z":19}],"é":[{"g":52,"k":[{"e":19,"é":19}],"l":[{".":52,"e":[{"s":19,"t":19}],"é":19,"n":5,"t":5}],"n":[{"e":51}],"p":[{"á":20,"í":5,"ü":52},11],"r":[{".":52,"b":52,"c":52,"d":52,"g":52,"h":52,"i":51,"m":52,"r":52,"t":[{"á":5,"e":52,"é":52,"ö":5}],"z":52}],"s":[{"z":32},8],"t":[{"k":52,"t":52}],"v":[{"e":51}]}],"f":[{"l":5,"r":5}],"g":[{"r":5}],"i":[{"d":[{"e":51,"o":51}],"g":[{"a":[{"z":22},19],"á":5,"é":52}],"n":[{"d":5,"t":52}],"r":[{"á":51,"o":51}],"s":[{"k":52,"m":5,"p":52,"t":[{"e":5}]}],"t":[{"a":51}],"z":[{"m":52}]}],"í":[{"j":5,"r":5,"v":5,"z":5}],"k":[{"a":[{"b":6,"d":13,"j":12,"l":[{"e":12,"k":9}],"s":12,"z":6}],"e":[{"l":[{"h":9,"ö":9,"ő":9,"r":9}],"r":[{"é":53}],"s":12}],"é":[{"p":[{"ü":6}]}],"i":[{"d":6}],"l":[{"ó":5}],"o":[{"b":6}],"ö":[{"s":[{"s":9}],"v":[{"ű":8}]}],"r":[{"i":5}],"u":[{"d":6,"r":12}]}],"l":[{"í":54,"o":[{"r":6}]}],"o":[{"b":52,"l":[{"a":32,"á":[{"r":11}],"t":[{"á":[{"s":52}]}]}],"n":[{"n":3,"o":[{"k":[{"s":14}]}]}],"r":[{"a":11,"á":14,"i":[{"l":11,"s":11}],"m":[{"ú":52}],"o":19}],"s":[{"z":52}],"v":[{"a":[{"r":[{"i":[{"a":19}]}]}],"i":51}]}],"ö":[{"b":52,"d":51,"k":19,"l":52,"n":52,"r":11,"s":52,"v":51,"z":19}],"ő":[{"r":19}],"p":[{"l":5,"r":5}],"r":[{"i":[{"s":54}],"ó":[{"m":54}]}],"s":[{"e":[{"l":6}],"p":5,"z":[{"a":[{"l":[{"m":3}],"n":6}],"e":[{"s":24}],"i":[{"s":24}]}]}],"t":[{"á":[{"n":53}]}],"u":[{"d":52,"g":52,"j":52,"r":[{"a":19}],"t":51}],"ú":[{"r":[{".":5,"b":5,"h":5,"r":5}],"s":[{"z":5}],"t":[{"b":52,"h":52,"i":51,"j":52,"k":52,"n":52,"r":52,"t":52,"u":5,"v":0}]}],"ü":[{"g":5,"l":19,"n":5,"r":5,"t":19,"v":19,"z":5}],"ű":[{"z":5}]}],"l":[{"a":[{".":41,"b":[{"l":5}],"d":8,"f":8,"j":[{".":50,"b":50,"f":50,"g":50,"h":50,"i":50,"j":50,"k":50,"m":50,"n":50,"p":50,"r":50,"s":50,"t":0,"u":0,"ú":50,"v":0}],"k":[{"r":8}],"l":[{"g":52,"k":5}],"m":[{"n":5}],"n":[{"y":[{"a":5}]}],"p":8,"s":[{"p":8,"t":8}],"t":[{"a":[{"l":[{"a":14}],"n":[{"y":3}]}],"á":[{"l":11,"p":11}],"é":[{"k":11}],"i":[{"n":[{"f":14}]}],"í":[{"v":2}],"o":[{"l":14,"r":[{"n":14}]}],"ö":[{"l":14}],"ü":[{"z":11}]}],"u":[{"r":10}]}],"á":[{"b":[{"r":[{"á":5}]}],"g":51,"h":[{"a":11}],"l":[{"l":5}],"r":[{"b":52,"h":52,"i":[{"a":51,"á":11}],"k":52,"n":52,"o":[{"k":11,"n":11}],"r":52,"t":52,"u":51}],"s":[{"z":[{"a":11}]}],"t":[{"i":51,"v":52}]}],"c":[{"a":[{"j":6,"l":6,"n":[{"y":9},10]}],"e":[{"k":13,"l":6,"s":6}],"é":[{"v":12}],"h":21,"i":[{"k":[{"o":9}]}],"í":6,"ó":6,"ö":6,"s":[{"o":[{"r":21}],"ű":6,"z":20}],"ü":6,"z":6}],"d":[{"a":[{"b":6,"l":[{".":53,"á":53,"b":53,"e":10,"h":53,"k":53,"l":53,"n":53,"o":53,"r":53,"t":53,"u":53,"ú":53}],"n":[{"y":12}],"p":6,"t":[{"e":[{"l":10}]}],"u":12}],"á":[{"l":6}],"e":[{"g":6,"l":[{"é":12,"l":12,"v":12}],"m":[{"b":9}],"r":13,"s":13,"v":6,"z":6}],"é":[{"s":6,"v":[{"e":12}]}],"i":[{"p":6,"s":12}],"o":[{"r":6}],"ó":[{"s":53}],"ö":13,"u":[{"d":6,"g":13}],"ü":12,"ű":6}],"e":[{"g":19,"l":51}],"é":[{"d":51,"g":51,"l":52,"r":[{".":5,"d":5,"e":19,"é":5,"h":5,"i":19,"j":5,"l":5,"n":5,"ő":5,"s":5,"t":[{"é":52}],"ü":19,"v":5,"z":52}]}],"f":[{"a":[{"k":10,"u":6}],"á":[{"r":12}],"e":[{"s":6,"t":6}],"i":[{"n":[{"g":9}],"r":6,"s":6}],"u":[{"t":12},10],"ú":[{"j":6}]}],"g":[{"l":5,"r":19}],"i":[{"b":47,"d":[{"u":51}],"g":[{"a":50,"á":[{"z":11}],"é":52}],"l":[{"l":5}],"m":[{"a":[{".":19}],"á":51,"p":53}],"n":[{"u":11}],"p":[{"a":51,"e":[{"t":14},32]}],"s":[{"k":52,"z":[{"á":[{"l":11}]}]}]}],"í":[{"v":[{".":5}]}],"l":[{"a":[{"g":[{"y":8}],"j":12,"l":[{"a":12,"j":12},10],"n":[{"d":[{"ó":64}],"y":9}],"t":[{"k":12,"t":9}]}],"á":[{"g":13}],"e":[{"c":13,"g":[{"e":9,"é":9,"y":13}],"h":13,"l":[{"e":9},10],"m":[{"b":12}],"s":[{"e":9}]}],"é":[{"k":13,"r":[{"i":12}]}],"i":[{"n":[{"f":12,"g":[{"e":9,"é":9,"i":9,"j":9,"n":9,"r":9}],"j":9,"s":6,"t":12}],"s":[{"k":9}]}],"o":[{"b":6,"r":6,"s":[{"z":12}]}],"ö":12,"ő":13,"s":9,"u":[{"b":6,"l":6,"s":13}],"ü":6,"y":[{"u":25}]}],"n":[{"i":[{"k":[{"e":9}]}]}],"o":[{"l":51,"p":52,"r":[{"e":14}],"t":[{"t":5}],"x":52}],"ó":[{"e":[{"d":[{"é":[{"n":[{"n":27}]}]}]}],"f":8,"n":[{"é":51,"n":5,"o":19,"r":5,"t":5}],"r":[{"á":[{"i":11,"j":11,"k":11,"n":11,"r":11,"t":11}],"i":19}],"t":[{"r":9},10]}],"ö":[{"l":19,"r":5,"s":5}],"p":[{"l":19,"r":19}],"s":[{"k":5}],"t":[{"a":[{"j":12,"l":[{"m":53,"o":53}],"r":[{"i":12}]}],"á":[{"g":12,"t":[{"a":12}]}],"e":[{"g":12,"m":12,"r":[{"e":12},10],"s":10,"v":13}],"é":[{"p":12,"r":[{".":12,"r":12}],"s":12}],"i":[{"d":6,"m":6,"s":6,"z":6}],"o":[{"l":[{"d":12}]}],"ó":[{"é":53,"h":53,"k":[{"é":53}],"l":[{"o":53}],"m":53,"n":53}],"ö":[{"r":10}],"ő":[{"r":12}],"ü":[{"r":6}]}],"u":[{"g":52,"r":52,"t":[{"á":51}]}],"ú":[{"s":5}],"ü":[{"g":5,"l":5,"v":5,"z":5}],"v":[{"a":[{"d":53,"s":53}]}],"y":[{"a":[{"b":[{"r":0}],"d":[{"a":9}],"g":[{"g":[{"y":9}]}],"m":[{"e":[{"s":10},26]}],"s":[{"z":[{"t":9}]}]}],"á":[{"l":0}],"e":61,"é":[{"b":50,"h":50,"i":50,"l":0,"n":[{".":50}]}],"i":[{"é":[{"r":50}],"m":0}],"ó":47,"ö":56,"ő":0,"u":[{"g":0}],"ü":61,"ű":61}]}],"m":[{"a":[{"b":[{"l":52}],"d":[{"a":[{"t":19}],"m":52,"ó":51,"t":52}],"f":9,"g":[{"a":[{".":11,"d":14,"l":11},32],"á":2,"e":11,"i":[{"n":14},32],"y":[{"a":51,"ú":5}]}],"j":[{"á":52,"k":52}],"k":[{"r":[{"é":9}],"t":52}],"l":[{"a":[{"g":19,"p":[{"o":11,"r":11}]}],"m":52,"t":5,"v":5}],"m":[{"b":52}],"n":[{"g":5,"n":52}],"p":[{"a":[{"d":5}],"p":52,"r":9}],"r":[{"a":51,"c":52,"g":52}],"t":[{"á":[{"r":[{"a":[{"k":14}]}]}],"k":[{"á":52}],"y":52}],"u":52,"z":[{"o":19}]}],"á":[{"c":[{"s":11}],"g":[{"i":5,"o":5},11],"n":[{"y":[{"a":[{"n":11}],"k":[{"á":33}]}]}],"p":52,"r":[{"a":[{"i":51,"k":19,"m":19,"s":5}],"á":51,"d":52,"e":52,"é":[{".":11,"t":11}],"g":52,"i":[{"a":11,"á":11}],"m":52,"u":51}],"s":[{"í":11,"s":27,"z":[{"ó":27},11]}],"t":[{"e":72,"é":74,"k":52,"m":52,"o":[{"l":5}],"r":52}]}],"b":[{"a":[{"l":[{"o":13}]}],"á":[{"g":6}],"e":[{"g":12,"l":[{"h":9,"t":12}]}],"é":[{"n":[{"e":9}],"r":[{"i":12}]}],"ó":[{"n":[{".":9}],"r":[{"a":9},10]}],"r":[{"o":5}],"u":[{"j":6}]}],"d":[{"i":[{"o":32}],"r":5}],"e":[{"b":51,"c":[{"e":51}],"d":[{"é":51}],"f":5,"g":[{"á":20,"e":5,"é":5,"y":52},11],"l":[{"a":52,"á":5,"b":5,"e":52,"é":52,"k":5,"l":[{"á":5}],"m":52,"n":52,"o":52,"ő":52,"s":52,"t":[{"e":5}],"u":52,"v":52},11],"m":51,"n":[{"e":5,"g":5,"y":5,"z":5}],"o":11,"p":0,"r":[{"d":5,"e":[{"d":51,"i":51}],"n":[{"y":52}],"o":19,"ő":[{".":52,"b":52,"h":52,"n":52,"r":52,"s":[{"í":5,"s":3}],"t":52,"v":52},11],"ű":19}],"s":[{"e":5,"é":5,"s":5,"t":5},11],"t":[{"i":51,"n":52,"ű":52}],"v":51,"x":52,"z":[{"e":52,"r":[{"e":[{"d":52}]}]},11]}],"é":[{"b":[{"e":52}],"d":[{"e":19}],"g":52,"h":[{"e":51,"s":0}],"j":[{"e":5}],"k":[{"e":51}],"l":[{"e":51,"é":5,"ő":19}],"p":52,"r":[{".":52,"b":52,"c":52,"e":51,"é":51,"i":[{".":11}],"m":52,"ő":51,"r":52,"t":[{"e":52,"é":52,"ő":52}],"v":52}],"s":51,"t":[{"e":[{"l":11}],"t":52}],"v":[{"e":52,"é":5}]}],"f":[{"l":19}],"g":[{"l":5,"r":5}],"i":[{"d":[{"e":5,"i":15,"ő":19}],"g":[{"a":52,"é":52},11],"k":[{"s":5}],"l":[{"l":52}],"m":[{"á":5,"e":[{"l":11},32],"é":14}],"n":[{"a":[{".":19}],"á":[{"b":11,"v":11}],"d":52,"f":5,"g":52,"v":5}],"o":[{"n":[{"o":51}]}],"p":51,"r":[{"á":52,"i":51,"o":52,"t":52}],"s":[{"k":52,"m":52,"t":[{"e":52}],"z":[{"á":44}]}],"t":[{"a":[{"l":19,"n":11}],"á":[{"s":14}],"e":14,"i":[{"s":11}]}],"z":[{"é":5,"o":5,"z":5}]}],"í":[{"j":5,"r":52,"v":19,"z":19}],"j":[{"ó":10,"ő":6}],"k":[{"á":[{"r":[{"o":[{"k":[{".":10}]}]}]}],"l":5,"r":5}],"l":[{"á":[{"b":[{"ú":[{"t":30}]}]}]}],"o":[{"d":[{"o":[{"r":11}]}],"k":[{"a":[{"s":11}]}],"l":[{"y":47}],"n":[{"t":52}],"p":[{"e":5}],"r":[{"a":[{"s":11}],"e":11,"i":[{"z":11}],"j":[{"á":52}]}],"s":[{"t":[{"o":5}],"z":[{"f":32,"t":52}]}],"x":52}],"ö":[{"k":5,"l":19,"n":5,"r":19,"s":5,"t":19,"v":5,"z":19}],"ő":[{"r":19,"s":19}],"p":[{"e":[{"l":6}],"l":[{"a":5}],"o":[{"r":[{"s":12}]}],"ő":6,"u":[{"t":[{"á":13}]}]}],"s":[{"k":5,"l":5,"p":5,"t":5}],"t":[{"e":[{".":6,"s":[{"s":32}]}],"r":19}],"u":[{"d":52,"g":52,"j":52,"n":[{"o":52},11],"r":52,"t":51,"z":51}],"ú":[{"j":52}],"ü":[{"d":5,"g":5,"l":19,"r":5,"s":5,"t":5,"v":5,"z":5}],"ű":[{"r":5,"z":5}],"y":[{"a":5}]}],"n":[{"a":[{"b":[{"l":52}],"c":[{"é":[{"l":11}]}],"d":[{"a":[{"t":11}],"r":9,"s":5}],"e":10,"g":[{"g":5,"i":5,"ó":5,"y":[{"h":5}]}],"j":[{"n":5,"t":52}],"k":[{"c":5,"k":52,"n":5,"t":52},47],"l":[{"e":[{"n":11,"s":2}],"i":[{"n":[{"t":11}]}],"j":[{".":5,"u":5}],"o":[{"k":11,"s":11}]}],"n":[{"i":53,"o":51,"t":52}],"p":[{"p":5,"r":9,"s":9}],"r":[{"á":[{"c":11,"d":[{"i":33}]}]}],"s":[{"p":8}],"t":[{"á":[{"l":11}],"ü":[{"z":11},32]}]}],"á":[{"b":[{"r":5}],"c":47,"g":52,"l":[{"l":[{"o":52,"v":52}]}],"p":51,"r":[{"a":[{"d":5,"k":51,"t":19}],"b":5,"k":52,"n":52,"o":51,"t":52,"u":51,"ú":51,"v":5}],"s":[{"z":[{"a":51,"o":[{"k":[{"r":51}]}]}]}],"t":[{"á":[{"l":52,"s":11}],"c":52,"e":52,"é":[{"r":14}],"f":52,"h":[{"e":52}],"m":52,"r":[{"e":52}]}]}],"b":[{"l":5,"r":5}],"c":[{"a":[{"l":6}],"á":[{"l":12}],"e":[{"g":13,"s":10,"z":12}],"é":[{"k":12,"r":[{".":12,"é":12}]}],"h":[{"e":6}],"i":[{"d":6,"k":[{"r":12}],"l":[{"l":9}]}],"ö":[{"s":6}],"s":[{"á":[{"g":20}],"e":[{"g":6,"m":[{"b":3}]}],"é":[{"g":3,"r":[{".":24}]}],"i":[{"k":[{"k":20}],"m":24}]}],"ú":6,"ü":6}],"d":[{"e":[{".":6}],"i":[{"k":[{"o":9}]}],"o":[{"k":[{"o":[{"s":13}],"s":[{"á":9}]}],"s":[{"z":12}],"z":47}],"ö":[{"l":12}]}],"e":[{"b":19,"d":51,"g":[{"e":19,"g":5,"y":51}],"h":19,"l":[{"a":52,"e":52,"é":112,"h":52,"j":5,"m":52,"n":52,"o":52,"ő":5,"r":52,"s":5,"t":5,"v":52},11],"m":51,"n":[{"e":5},11],"r":[{"j":5,"k":5,"s":5}],"s":[{"e":52,"s":10,"t":5},11],"v":51,"x":52}],"é":[{"b":47,"d":[{"e":5},11],"g":51,"h":[{"e":51}],"k":[{"e":19,"s":5}],"l":51,"n":[{"e":19}],"p":51,"r":[{"b":[{"e":52}],"c":52,"d":0,"i":52,"l":52,"m":52,"p":52,"s":52,"t":[{"e":52}],"v":52}],"v":[{".":52,"a":[{"d":0}],"b":52,"e":51,"i":19,"k":52,"n":52,"r":5}]}],"g":[{"á":[{"l":[{"l":12}],"s":[{"s":7}]}],"e":[{"c":13,"d":6,"g":12,"l":13}],"i":[{"k":6}],"l":[{"ó":19}],"ü":6,"y":[{"a":[{"d":6}],"ő":6}]}],"h":[{"á":[{"r":[{"o":[{"m":28},26]}]}]}],"i":[{"d":51,"g":[{"a":52,"e":52,"é":52},11],"j":52,"k":[{"e":19}],"l":[{"l":52}],"n":[{"b":52,"d":5,"f":52,"g":52,"j":52,"n":52,"r":52,"s":52,"t":52}],"p":51,"r":[{"á":19,"o":52,"t":52}],"s":[{"k":52,"m":52,"t":[{"e":5}]}],"t":[{"a":32}],"z":[{"é":51,"o":5,"z":52}]}],"í":[{"g":5,"n":52,"v":52,"z":5}],"k":[{"á":[{"l":[{"l":9}],"r":[{"o":[{"k":[{".":10}]}]}]}],"é":[{"t":30}]}],"n":[{"e":[{".":6}],"y":[{"á":[{"r":25}],"e":25,"o":25,"ú":25,"ü":25}]}],"o":[{"b":52,"g":[{"r":[{"á":[{"f":[{".":8,"n":8}]}]}]}],"k":[{"a":[{"l":19},32],"o":[{"s":19}],"t":[{"a":52}]}],"l":[{"d":52,"l":5}],"p":[{"t":5}],"s":[{"z":[{"l":5,"t":[{"r":9}]}]}],"v":51,"x":52}],"ó":[{"r":[{"i":52}],"s":[{"a":[{"k":11}],"i":11,"z":[{"e":[{"n":11}]}]}]}],"ö":[{"b":5,"l":5,"n":5,"r":5,"s":5,"t":19,"v":19,"z":19}],"ő":[{"s":19}],"p":[{"l":5,"r":5,"s":5}],"s":[{".":47,"a":[{"v":[{"a":[{"m":17}]}]}],"k":19,"l":5,"m":19,"p":[{"e":5,"o":5,"r":5}],"r":5,"t":[{"o":5}],"z":[{"f":5,"t":5},10]}],"t":[{"a":[{"g":[{"y":9}],"j":12,"l":[{"k":12}],"r":[{"a":12}],"t":[{"r":12}],"z":6}],"á":[{"l":[{"l":12}],"r":[{"v":9}]}],"e":[{"b":6,"d":12,"g":13,"l":[{"á":9,"d":9,"h":9,"l":9,"m":9,"n":6,"ő":12,"t":9,"v":9}],"m":[{"b":9}],"s":[{"e":12},10]}],"é":[{"k":[{"é":9}],"l":6}],"i":[{"g":[{"é":6}],"k":[{"o":13,"r":9}],"m":13,"n":[{"f":12,"t":12}],"s":[{"z":[{"o":9},10]}],"z":12}],"í":[{"v":13}],"o":[{"m":[{"l":12}],"r":[{"s":12}]}],"ó":[{"n":[{"i":9}],"s":[{"t":53}]}],"ö":[{"s":12,"z":12}],"ü":[{"l":6,"r":6,"z":12}],"y":[{"e":6}]}],"u":[{"d":52,"g":52,"j":52,"n":[{"a":52},11],"r":51,"t":51}],"ú":[{"j":52,"s":51,"t":[{"b":5,"é":5,"h":5,"i":5,"j":5,"o":5,"r":5,"t":5},11]}],"ü":[{"c":19,"g":51,"l":19,"n":52,"r":52,"t":51,"v":19,"z":51}],"ű":[{"r":5,"z":5}],"y":[{"a":[{"c":[{"é":56}],"d":[{"ó":8}],"k":[{"c":9}],"l":[{"j":9,"k":56,"t":9}],"n":[{"y":[{"a":9}]}],"p":[{"ó":56},15]}],"á":[{"l":56,"r":[{"k":9,"n":56}],"z":[{"ó":9}]}],"e":[{"c":8,"g":8,"l":61,"m":61,"n":0,"r":61,"s":8}],"é":[{"g":56,"j":61,"k":61,"l":56,"n":[{"e":61}],"r":[{".":56,"é":0}]}],"g":[{"ó":[{"c":22}]}],"i":[{"g":[{"é":0}],"k":[{"o":9}],"n":[{"g":9}],"t":[{"a":0,"ó":[{"k":0}]}]}],"í":[{"r":61}],"o":[{"l":[{"d":9}],"m":[{"l":9}],"r":61,"s":[{"z":0}]}],"ó":[{"r":8}],"ö":56,"ő":61,"u":[{"g":0,"r":56}],"ü":61}],"z":[{"a":[{"b":[{"l":9}],"g":6,"j":[{"t":[{"ó":9}]}],"r":6}],"á":[{"g":6,"l":13}],"e":[{"d":12,"l":13,"m":13,"s":12}],"é":[{"k":12,"r":[{"e":12}]}],"i":[{"m":12,"n":[{"g":9}]}],"s":[{"e":[{"l":20}]}],"ü":6}]}],"o":[{"i":[{"b":6,"n":6}],"p":[{"e":6}],"r":[{"e":6}],"x":[{"i":6}]},48],"ó":48,"ö":48,"ő":48,"p":[{"a":[{"b":51,"d":51,"l":[{"a":19},0],"n":[{"y":52}],"p":[{"o":19}],"r":19,"u":11,"z":51}],"á":[{"l":0,"m":52,"r":[{"a":[{"t":51}]}],"s":[{"k":[{"é":[{"s":[{"z":65}]}]}]}],"t":[{"h":52,"l":52,"m":52}]}],"b":[{"l":5}],"e":[{"d":[{"é":19}],"g":19,"j":[{"t":5}],"l":[{"ő":5}],"m":5,"r":[{"a":[{"s":[{"z":33},7]}],"d":5,"k":5,"ő":5}],"s":5,"t":19}],"é":[{"l":51,"n":51}],"g":[{"r":5}],"i":[{"k":[{"o":19,"r":5}],"m":52,"n":[{"d":5,"g":52}],"p":51,"r":[{"a":[{"m":0}],"á":51}],"s":[{"i":5,"t":5}],"t":[{"a":51}],"z":[{"o":5,"z":5},11]}],"í":[{"v":5}],"k":[{"l":5,"r":5}],"o":[{"b":52,"l":47,"r":[{"j":52,"r":52,"t":[{"a":17,"á":17,"e":17,"é":[{"r":[{"d":30}]}],"ö":10}],"z":[{"ó":52}]}],"s":[{"z":[{"f":32}]}],"v":52}],"ö":[{"s":5}],"p":[{"é":6,"i":[{"s":12}],"y":5}],"r":[{"o":[{"c":6,"d":6},47]}],"s":[{"l":5,"p":5,"r":5,"t":19}],"u":[{"d":52,"r":51,"t":51}],"ú":[{"j":5,"s":52}],"ü":[{"d":5,"g":5,"t":5,"z":5}]}],"r":[{"a":[{"b":[{"l":52,"r":52}],"d":[{"a":[{"t":11}],"á":51,"m":5,"ó":51}],"f":[{"f":5}],"g":[{"g":5,"ó":19}],"k":[{"a":[{"d":11,"s":11}],"c":52,"l":9,"o":[{"l":11}],"t":52}],"l":[{"g":5,"j":52,"k":5,"m":52,"t":52,"v":52}],"m":[{"p":5}],"n":[{"a":52,"e":52,"k":52,"o":51,"t":52,"y":[{"a":19}]}],"ó":10,"p":[{"p":5}],"r":[{"á":51,"c":52,"i":19}],"s":[{"z":[{"k":5}]}],"t":[{"k":52,"l":52,"t":5,"y":5}],"z":[{"o":51}]}],"á":[{"b":[{"r":52}],"c":[{"s":[{".":5,"a":5,"o":5},11]}],"g":51,"l":[{"e":11,"l":[{"ó":5,"v":52}],"ö":11}],"p":51,"r":[{".":52,"a":[{"k":51}],"á":52,"b":52,"k":52,"o":51,"p":52,"r":52,"t":52,"u":19,"ú":5,"v":52}],"s":[{"v":52,"z":[{"e":11}]}],"t":[{"a":52,"e":60,"f":52,"h":52,"j":52,"k":52,"m":52,"r":52,"s":52,"t":52,"v":52}]}],"b":[{"l":5,"r":5}],"c":[{"a":[{"l":13,"r":6}],"á":[{"d":53}],"h":[{"á":6,"é":21,"o":21}],"s":[{"á":[{"g":20}],"e":[{"b":21}],"é":21}],"ú":6,"z":6}],"d":[{"a":[{"u":12}],"e":[{"m":[{"e":9}],"s":[{"ő":8}],"x":6}],"i":[{"n":[{"g":12}]}]}],"e":[{"a":47,"á":41,"b":51,"c":[{"s":5}],"d":51,"f":52,"g":[{"e":19,"é":19,"y":51}],"k":[{"e":5,"é":5},142],"l":[{"a":5,"e":5,"h":5,"j":5,"m":5,"n":5,"o":5,"ő":5,"r":5,"s":5,"t":5,"v":5},11],"m":51,"n":[{"e":5,"g":52,"y":5},11],"p":52,"r":[{"ó":5}],"s":[{"e":5,"é":5,"ő":5,"s":52,"z":[{"e":52}]},11],"v":51,"z":5}],"é":[{"d":51,"g":51,"j":51,"k":[{"á":[{"s":11}],"e":2,"n":[{"é":5}]}],"l":51,"m":51,"n":[{"e":51}],"p":52,"r":[{"é":52}],"t":[{"e":51,"k":52}],"v":[{".":52,"e":51,"é":51,"i":51,"n":52,"r":52}]}],"f":[{"é":[{"l":[{"é":[{"v":17}]}]}],"i":[{"ú":[{"é":[{"r":10}]}]}]}],"g":[{"i":[{"a":[{"i":47}]}],"l":5}],"i":[{"b":[{"o":52}],"d":[{"e":51,"é":51,"i":[{"o":14},32]}],"e":50,"f":[{"j":52}],"g":[{"a":51,"á":51,"y":51}],"h":[{"a":5}],"m":[{"a":[{".":51}],"á":51}],"n":[{"a":[{".":51,"s":0}],"á":[{"n":51,"t":51,"v":19}],"d":52,"f":52,"g":[{".":52,"c":52,"é":52,"i":52,"n":52,"r":52,"s":52}],"h":5,"j":52,"s":52,"t":[{"a":17,"e":[{"l":10}],"ő":30}]}],"o":[{"g":11}],"p":51,"s":[{"i":51,"m":52,"p":5,"t":[{"e":52}],"z":[{"á":51}]}],"t":[{"a":[{"n":11}]}],"z":[{"é":51}]}],"í":[{"g":52,"j":51,"n":51,"r":52,"v":51,"z":51}],"j":[{"a":[{"i":[{"a":53,"é":53}]}],"á":25}],"k":[{"l":19,"ö":[{"z":[{"e":[{"p":17}]}]}],"v":19}],"m":[{"a":[{"p":[{"p":12}],"t":[{"r":[{"e":15}],"t":12}],"z":[{"o":12}]}],"e":[{"b":12,"g":[{"y":12},10],"l":[{"i":9,"v":9}],"r":[{"ő":[{"k":9}]}],"s":[{"z":9}]}],"é":[{"t":[{"e":12},10]}],"o":[{"s":[{"z":12}]}],"ó":[{"v":6}],"ö":12,"ő":12,"ü":6}],"n":[{"e":[{".":6}],"i":[{"s":[{"s":7}]}]}],"o":[{"á":51,"g":[{"k":[{"é":[{"s":[{"z":65}]}]}]}],"k":[{"á":2,"o":[{"r":11}]}],"l":[{"d":[{"a":52}],"i":51,"t":[{"ó":[{"l":0}]}]}],"n":[{"t":[{"ó":[{".":52,"b":52,"é":5,"i":[{"g":5}],"j":52,"n":52,"r":52,"t":52,"v":52}]}],"y":[{"a":11,"o":11}]}],"p":[{"e":5,"t":5}],"r":51,"s":[{"k":[{"o":52}],"t":[{"o":52}],"z":[{"i":50,"r":50,"t":[{"á":0}]}]}],"x":51}],"ó":[{"i":[{"a":19}],"n":[{"i":19}],"r":[{"á":19,"i":5}],"s":[{"á":19,"o":[{"r":[{"o":11},32]}]}]}],"ö":[{"b":19,"c":19,"l":19,"n":5,"r":5,"s":5,"t":5,"v":5,"z":19}],"ő":[{"r":19,"s":19}],"p":[{"h":5,"l":5,"n":19,"r":19}],"r":[{"a":[{"b":[{"l":9}],"r":13}],"á":[{"t":[{"a":12}]}],"b":53,"i":[{".":53,"n":6,"z":6}],"k":53,"u":[{"k":53}],"ú":[{".":53,"c":53}]}],"s":[{"a":[{"d":13,"j":[{"t":[{"ó":[{"k":12}]}]}],"l":[{"k":9}],"s":[{"s":9}]}],"á":[{"l":12}],"e":[{"d":6,"s":13}],"é":[{"n":[{"e":13}],"r":[{"t":[{"e":6}]}],"t":[{"á":[{"t":8}]}]}],"í":[{"r":13}],"ö":[{"n":6}],"ő":6,"r":[{"á":5}],"t":[{"a":[{"b":19}]}],"ü":[{"l":[{"t":9}],"t":[{"ő":8}]}],"z":[{"á":[{"g":53}],"i":[{"l":43}],"ó":[{"n":[{"á":20}]}],"t":42}]}],"t":[{"a":[{"g":[{"g":12}],"l":[{"m":12}],"n":[{"a":6,"á":[{"c":17}]}],"r":[{"é":12}]}],"á":[{"g":6,"r":[{"a":[{"d":9,"m":8}],"á":[{"n":8,"r":8}],"b":[{"e":9}],"n":[{"á":9}],"u":[{"k":8}],"ú":13}]}],"e":[{"g":13,"j":[{"t":9}],"l":[{"a":12,"e":[{"m":8}],"é":12,"l":12,"m":12,"n":12,"o":12,"ő":12,"t":12,"v":9}],"m":[{"b":9}],"n":[{"e":6}],"r":[{"a":30}],"s":[{"s":12}],"t":[{"i":9}]}],"é":[{"l":[{"e":9,"é":9,"t":9,"v":9}],"r":[{"m":12}]}],"i":[{"d":6,"k":[{"u":8}],"n":[{"t":12}],"s":[{"t":12}],"t":[{"a":12}]}],"í":[{"t":6}],"o":[{"k":[{"m":12,"o":[{"l":13}],"t":[{"a":12}]}],"l":[{"d":12}],"r":[{"m":12}],"t":[{"t":12}]}],"ó":[{"r":13}],"ö":[{"n":12,"s":12,"v":13}],"u":[{"r":[{"a":9}]}],"ú":[{"r":[{".":9}]}],"ü":[{"z":[{"é":[{"r":13}]}]}]}],"u":[{"d":52,"g":51,"r":51,"t":51}],"ú":[{"t":[{"b":52,"h":52,"i":51,"j":52,"n":52,"o":[{"n":51}],"r":52,"s":5,"t":52}]}],"ü":[{"d":5,"g":19,"l":19,"n":5,"r":5,"s":19,"t":5,"v":19,"z":5}],"ű":[{"r":5}],"v":[{".":53,"a":[{"n":13}],"á":47,"i":[{"s":[{"i":9}]}],"o":[{"s":53}],"ő":6,"v":53}],"z":[{"a":[{"v":[{"a":[{"r":[{".":13}]}]}]}],"e":[{"c":13,"s":6}],"s":[{"a":[{"n":6}]}],"z":9}]}],"s":[{"a":[{"b":[{"l":52}],"d":[{"a":51,"ó":51}],"k":[{"c":52}],"l":51,"n":[{"g":52,"t":52,"y":52},11],"p":51,"r":[{"c":5}],"s":[{"s":[{"z":5}]}],"t":[{"y":19}],"u":52}],"á":[{"b":[{"r":52}],"g":51,"l":[{"d":5,"l":52,"o":[{"m":19}]}],"r":[{"a":[{"k":11},32],"i":[{"k":11},32],"o":[{"k":11}],"u":52}],"s":[{"s":3}],"t":[{"a":74,"é":5,"j":5,"k":5,"r":52}]}],"e":[{"d":19,"g":51,"l":51,"m":[{"b":5}],"n":19,"r":52,"s":52,"t":19,"x":5,"z":5}],"é":[{"g":51,"l":51,"p":52,"r":[{"d":52,"t":[{"e":52,"é":52}]}]}],"g":[{"é":10}],"i":[{"d":[{"e":52}],"f":52,"g":[{"a":5},11],"k":[{"r":5}],"n":[{"f":5,"t":52}],"p":51,"r":[{"á":51,"o":5,"t":5}],"s":[{"m":52,"p":5,"t":[{"e":5}],"z":51}]}],"í":[{"j":52,"r":51,"z":51}],"k":[{"l":5,"r":[{"ó":5}]}],"o":[{"k":47,"n":[{"h":0,"n":0,"o":0,"t":50,"u":0,"v":53}],"r":51,"s":[{"z":5}]}],"ó":[{"p":9}],"ö":[{"k":5,"l":19,"n":5,"v":19}],"ő":[{"r":19}],"p":[{"l":19,"r":19,"s":5}],"s":[{"t":[{"a":5}],"u":[{"r":12},10],"z":[{"á":[{"l":[{"l":3}],"r":[{"o":15}]}],"e":[{"s":3}],"í":[{"j":3}],"ó":32,"ő":25}]}],"t":[{"e":[{"t":[{"e":8}]}],"i":[{"p":6,"r":6,"z":6}],"o":[{"b":53,"l":[{"d":9}]}],"ö":[{"s":12}],"u":47,"ü":13,"y":[{"a":53}]}],"u":[{"d":52,"j":52,"r":51,"t":51}],"ú":[{"r":[{".":5}],"s":51}],"ü":[{"g":52,"n":52,"v":51,"z":52}],"z":[{"a":[{"b":[{"á":25}],"j":0,"l":[{"á":9,"k":9,"t":9}],"n":[{"y":9},10],"r":[{"é":9},0],"t":[{"e":17}]}],"á":[{"l":56}],"e":[{"d":56,"g":61,"l":61,"n":55,"p":9,"s":9}],"é":[{"g":0,"j":0,"l":61,"p":61,"s":56}],"i":[{"g":[{"e":0}],"n":[{"g":9}],"s":[{"m":9,"t":9}]}],"í":[{"v":9},10],"k":[{"l":48}],"o":[{"r":[{"o":61,"s":9,"z":56}]}],"ó":[{"n":25,"r":8}],"ö":[{"l":25},0],"t":[{"a":[{"l":[{"m":14}],"n":[{"y":3}],"p":[{"o":14}]}],"á":[{"r":[{".":11,"n":14}]}],"e":[{"d":11,"l":[{"l":11}],"m":14}],"é":[{"r":[{"é":14},32]}],"í":[{"v":14}],"o":[{"s":[{"z":14}]}]}],"u":[{"r":0}],"ú":[{"r":9}],"ü":[{"g":9,"l":25},0]}]}],"t":[{"a":[{"b":[{"l":5}],"d":[{"a":19}],"g":[{"r":9},10],"k":9,"n":[{"a":5,"t":52,"y":19}],"p":8,"r":[{"c":5,"z":5}],"s":[{"s":5}],"z":51}],"á":[{"b":[{"r":5}],"g":51,"r":[{"a":[{"k":19}],"á":51,"b":52,"é":51,"n":5}]}],"b":[{"l":5}],"e":[{"b":0,"g":51,"l":[{"a":3,"á":14,"e":[{"l":11}],"ő":11}],"m":[{"á":14,"o":14}],"v":19}],"é":[{"l":51,"p":52,"r":[{".":52,"t":[{"é":52}],"z":52}]}],"f":[{"r":5}],"g":[{"r":5}],"h":[{"r":11}],"i":[{"d":52,"m":52,"n":[{"a":[{".":19,"r":11},32],"á":[{"r":11}],"d":52,"k":[{"á":26}]}],"p":[{"a":47,"i":47,"n":47,"t":47}],"r":[{"á":52}],"s":52,"z":[{"é":52}]}],"í":[{"j":5,"n":5}],"k":[{"l":5,"r":19}],"o":[{"b":52,"g":[{"r":[{"a":[{"m":9}]}]}],"l":[{"a":5}],"n":[{"a":32,"á":14,"i":[{"n":[{".":14}],"s":11}],"n":27}],"r":[{"a":[{"k":11}],"á":[{"l":11,"r":11}],"e":11,"i":[{"m":11,"n":11}],"o":[{"l":11}]}],"s":[{"z":[{"f":32}]}]}],"ó":[{"f":8,"p":[{"a":[{"n":11,"s":11}],"i":[{"n":11}],"o":[{"s":[{"z":14}]}]},47],"s":[{"é":[{"t":[{"á":11}]}],"s":27,"t":[{"a":9}],"z":[{"á":[{"r":4}]},9]}],"t":[{"r":9},10]}],"ö":[{"l":19,"s":5}],"p":[{"l":5,"r":5,"s":5}],"r":[{"a":[{"g":54}]}],"s":[{"p":5,"r":5,"t":5}],"t":[{"a":[{"g":15}],"é":[{"g":13}],"l":53}],"u":[{"r":[{"a":5}],"s":[{"z":19}]}],"ú":[{"j":52,"r":[{"i":5}]}],"ü":[{"l":19,"t":5,"z":19}],"ű":[{"r":5}],"v":[{"a":[{"k":15}]}],"y":[{"a":3}]}],"u":[{"a":[{"g":6}],"i":[{"l":6}],"l":[{"e":6}]},48],"ú":48,"ü":48,"ű":48,"v":[{"a":[{"g":[{"a":11,"i":[{"n":2}]}],"r":[{"a":[{"n":14}],"á":[{"t":11}],"e":[{"l":14}],"é":[{"k":11,"s":11}],"i":[{"s":11}]}],"s":[{"s":27}],"u":10}],"á":[{"b":[{"b":[{"o":30}]}],"s":[{"á":[{"r":[{"á":2}]}],"i":[{"k":11}]}]}],"i":[{"o":10}]}],"w":[{"e":[{"l":5}]}],"x":[{"i":[{"d":[{"b":53,"r":53}],"g":[{"é":0}],"l":[{"c":53}]}]}],"y":[{"c":[{"e":6}]}],"z":[{"a":[{"g":[{"a":3,"i":5},11],"l":51,"m":[{"a":[{"l":11}],"e":2,"é":[{"r":[{"t":[{"é":14}]}]}],"i":[{"n":11}]}],"n":[{"y":52},11],"r":[{"a":5},11],"t":[{"a":[{"t":11}],"á":[{"l":11}],"e":2,"é":[{"s":11,"t":[{"e":2}]}],"i":[{"l":[{"l":3}]}],"í":2,"o":[{"l":14}]}],"u":52}],"á":[{"g":51,"k":[{"e":11}],"l":[{"l":5}],"r":[{"o":51,"u":52}],"s":[{"e":14,"s":27,"z":4}],"t":[{"l":52}]}],"e":[{"g":19,"m":19,"n":5}],"é":[{"k":[{"e":2}],"l":51,"p":51,"r":[{"é":51}]}],"i":[{"d":[{"o":19}],"p":[{"a":[{"r":51}]}],"r":[{"o":5}],"s":[{"a":[{"j":14}],"l":9,"t":9,"z":75}],"t":[{"a":2}]}],"í":[{"n":19}],"o":[{"r":[{"s":5},0],"s":[{"z":52}]}],"ó":[{"e":[{"g":[{"y":[{"e":[{"z":65}]}]}]}],"f":[{"i":[{"a":47,"á":[{"b":47,"h":47,"j":[{"a":47}],"n":[{".":47,"a":47}],"r":47,"t":[{".":47,"ó":47}],"v":[{"a":47}]}]}]}],"t":[{"a":[{"n":11}]}]}],"p":[{"r":19}],"s":[{"a":[{"l":61,"n":[{"y":9},10]}],"ő":56,"s":9,"ü":0}],"ü":[{"n":5,"z":19}],"ű":[{"r":5}],"z":[{"á":[{"s":15}]}]}]}],"ó":[{".":47,"a":[{"c":[{"é":6}],"d":[{"a":[{"g":6}],"á":6,"o":6,"ó":6}],"g":[{"a":6,"i":6,"y":6}],"j":[{"á":6,"t":[{"ó":[{"i":26}]}]}],"k":[{"a":[{"d":6,"r":6}],"á":6,"u":6}],"l":[{"a":[{"g":30},6],"á":6,"e":12,"m":[{"a":[{"n":[{"a":[{"c":49},33]}]}]}],"o":[{"s":9},6],"u":6}],"m":[{"a":6}],"n":[{"a":6,"ó":6,"y":6}],"p":[{"á":6,"o":6,"ó":6,"u":6}],"r":[{"a":6,"á":6,"é":6,"i":6,"o":6}],"t":[{"o":[{"m":7},31],"y":6}],"u":[{"k":6,"r":6,"t":6}],"v":[{"a":6}],"x":[{"i":6}],"z":[{"o":6}]},48],"á":[{"b":[{"é":6}],"c":[{"s":6}],"g":[{"a":6,"i":6,"o":6,"y":[{"ú":6}]}],"h":[{"í":6}],"l":[{"a":6,"o":6}],"p":[{"o":6}],"r":[{"á":6,"u":6,"ú":6}],"s":[{"a":6,"ó":6,"z":6}],"t":[{"a":[{"d":[{"ó":[{".":8}]}]},6],"á":6,"e":13,"é":6,"i":13,"í":6,"o":6,"ö":12,"u":6,"ú":6,"ü":6}]},48],"b":[{"a":[{"b":47,"j":47,"k":47,"l":47,"n":[{"d":47,"k":47}],"p":8,"r":[{"á":47,"k":47,"n":[{"a":47}]}],"s":10,"t":[{"r":8}],"u":10}],"e":[{"c":47,"f":47,"g":47,"h":47,"j":47,"k":47,"l":[{"e":47,"é":47,"s":47}],"m":47,"o":47,"r":47,"t":47,"v":47,"z":47}],"é":[{"g":0}],"i":[{"l":47,"o":47,"r":47,"t":47,"z":47}],"l":[{"e":54,"o":54}],"ó":[{"j":47,"l":[{"é":47}]}],"r":[{"á":6,"o":54,"ó":[{"k":6}],"u":54}],"u":[{"d":[{"a":[{"i":[{"k":32}]}]}],"s":[{"z":[{"t":26,"ú":44}]}]}]}],"c":[{"a":[{"j":52,"k":[{"r":52}],"l":[{"a":19,"k":5}],"r":52,"s":[{"s":52}],"t":[{"t":5}]}],"á":[{"l":52}],"e":[{"á":50,"g":51,"l":[{"e":5,"m":5,"ő":5},11],"m":[{"b":5}],"v":51}],"é":[{"p":52,"t":52}],"h":[{"á":25,"e":25,"o":25}],"i":[{"m":[{"i":5},11],"n":[{"g":5}],"p":[{"a":51}],"s":52}],"l":[{"u":6}],"o":[{"r":52,"s":[{"z":52}]}],"ó":[{"r":19}],"p":[{"r":5}],"s":[{"a":47,"á":[{"g":25,"r":[{"u":56}]}],"e":47,"é":47,"i":[{"t":0},47],"í":47,"o":47,"ö":47,"ő":47,"p":[{"á":34},9],"z":25}],"t":[{"r":5}],"u":[{"d":52}],"ü":[{"n":5,"z":5}],"z":[{"a":25,"e":25,"u":25}]}],"d":[{"a":[{"d":[{"a":5,"á":19}],"j":[{"á":5},11],"k":[{"t":5}],"l":[{".":47,"a":47,"g":5}],"m":52,"n":[{"a":5}],"r":[{"a":[{"b":[{"k":47}]}],"á":47}],"u":[{"t":5}],"z":[{"o":5}]}],"á":[{"f":52,"g":52,"l":52,"p":52,"r":[{"n":52,"u":19}],"s":[{"s":27}]}],"b":[{"l":5,"r":5}],"e":[{"d":51,"g":51,"l":[{"e":[{"m":19}],"h":52,"j":5,"l":52,"m":52,"o":52,"ő":5,"r":5,"v":52}],"m":[{"b":5,"e":5}],"p":5,"r":[{"a":11,"ő":5}],"s":[{"é":[{"s":11}]}],"v":51,"z":52}],"é":[{"g":51,"p":52,"r":[{"t":[{"e":52}],"z":52}]}],"f":[{"r":5}],"g":[{"l":5}],"i":[{"d":51,"g":[{"é":52}],"n":[{"t":52}],"p":[{"a":52},11],"r":[{"o":52}],"s":[{"z":11}],"z":[{"o":5}]}],"í":[{"r":52}],"k":[{"l":5,"r":5,"v":5}],"o":[{"b":47,"g":[{"a":11}],"k":47,"l":47,"m":47,"p":52,"s":[{"z":52}],"x":51}],"ó":[{"k":[{"é":[{"s":[{"z":28}]}]}],"r":[{"á":5}]}],"ö":[{"l":51,"s":5,"t":52,"v":52}],"ő":[{"r":5}],"p":[{"r":5}],"r":[{"a":[{"m":58}],"á":[{"m":6},47],"o":[{"g":54}],"ó":[{"t":54}],"u":[{"k":6}]}],"s":[{"p":5,"t":5}],"u":[{"g":47,"r":[{"a":52},11],"s":[{"s":27,"z":4}],"t":51}],"ú":[{"j":52,"r":[{".":5}]}],"ü":[{"g":5,"r":52,"v":5,"z":5}],"z":[{"á":[{"r":25}],"e":55,"s":[{"o":25}]}]}],"e":[{"b":[{"é":6}],"c":[{"h":6,"s":6}],"d":[{"é":6,"z":6}],"g":[{"e":6,"é":[{"s":[{"z":22}]},6],"y":6}],"k":[{"e":6,"é":6}],"l":[{"a":13,"á":13,"e":[{"n":9},6],"é":[{"r":9},6],"i":121,"í":13,"o":6,"ő":6,"ü":6}],"m":[{"b":[{"e":[{"r":[{"é":[{"k":43}]}]}]}],"e":6,"é":6,"u":6}],"n":[{"e":6}],"p":[{"é":6,"i":6,"o":6}],"r":[{"e":6,"é":6,"ó":6,"ő":6}],"s":[{"e":6,"é":6,"ő":6,"z":6}],"t":[{"e":6,"i":6,"ű":6}],"v":[{"e":6,"é":6,"ő":6}],"z":[{"ü":6}]},48],"é":[{"b":[{"e":6}],"g":[{"e":6,"é":6,"ő":6}],"h":[{"e":62,"s":47}],"k":[{"e":6,"é":6,"í":6}],"l":[{"e":6,"é":6,"ő":6}],"n":[{"e":62}],"p":[{"í":6,"ü":6}],"r":[{".":47,"d":47,"e":62,"é":62,"i":6,"ő":6,"t":[{"e":47,"é":47}],"z":47}],"t":[{"e":6,"k":47}],"v":[{"e":6,"é":6,"i":6,"ü":6}]},48],"f":[{"a":[{".":47,"a":47,"á":47,"b":47,"c":47,"d":47,"e":47,"f":47,"g":47,"h":47,"k":47,"l":47,"o":47,"p":47,"r":47,"s":[{"t":9},47],"t":68,"ü":47,"v":47,"z":47}],"e":[{"l":[{"e":[{"m":14,"n":11}]}],"v":52}],"é":[{"k":47,"l":[{"ő":47,"t":47}],"n":47,"r":[{".":52}]}],"i":[{"a":[{"b":11,"d":11,"g":11}]}],"l":[{"a":54,"o":54,"ó":6,"ö":6,"u":6}],"o":[{"c":47,"g":47,"k":47,"l":47,"r":[{"d":47,"g":47,"m":[{"á":[{"c":47,"j":47,"l":47}]}],"r":47}],"s":47,"t":47,"v":52}],"r":[{"a":[{"k":54}],"i":54,"í":54,"o":54,"ö":54}],"u":[{"d":52,"r":[{"a":5},11]}],"ú":[{"r":[{".":5,"n":5}]}]}],"g":[{"a":[{"p":9}],"d":[{"r":5}],"e":[{"o":11}],"é":[{"p":[{"i":[{"p":2}]}]}],"g":[{"y":25}],"i":[{"a":[{"l":11}]}],"í":[{"r":5}],"l":[{"a":6,"e":6}],"o":[{"r":[{"a":[{"s":11}]}]}],"r":[{"a":[{"f":54}],"á":[{"n":6}]}],"u":[{"s":[{"a":[{"b":11}],"z":4}]}],"y":[{"e":[{"l":56,"s":56}],"i":[{".":41,"n":[{"t":9}]}],"ö":[{"k":[{"é":[{"r":[{"b":30}]}]}]}],"t":[{"a":[{"n":[{"á":64}]}],"e":[{"a":32}]}],"ú":[{"s":9}]}]}],"h":[{"a":[{"d":[{"e":11}],"l":47,"n":47,"s":47,"t":47}],"á":[{"z":[{"a":[{"d":[{"a":14},32]}]}]}],"o":[{"n":47,"r":47,"s":47}],"ú":[{"s":[{"s":3}]}]}],"i":[{"d":[{"e":62,"é":[{"n":6},47],"i":6,"o":[{"m":62}],"ő":62}],"g":[{"a":62,"e":62,"é":[{"b":6,"i":6,"j":6,"k":6,"n":6,"r":6,"t":6,"v":6},47]}],"k":[{"o":[{"n":[{"b":6,"j":62,"n":62,"o":62,"r":6,"t":6}]}]}],"l":[{"e":10,"l":47}],"m":[{"a":[{".":6}],"á":62,"i":6,"p":47}],"n":[{"a":[{".":62,"i":6,"k":[{"a":6}],"s":6,"t":6}],"á":[{"n":6,"r":6,"t":6}],"d":47,"f":47,"g":47,"i":62,"j":47,"p":47,"t":47,"v":47}],"p":[{"a":6}],"r":[{"a":[{"t":62}],"á":62,"o":62}],"s":[{"z":6}],"t":[{"a":62,"ó":[{"k":6}]}],"v":[{"a":[{"d":6}]}],"z":[{"é":6,"o":6}]},48],"í":[{"r":[{"á":6,"i":6,"o":6,"ó":6}],"t":[{"é":6}],"v":[{"é":6,"ü":6,"ű":6}],"z":[{"e":6,"é":6,"i":6,"ü":6,"ű":6}]},48],"j":[{"a":[{"g":8,"k":[{"é":[{"n":[{".":47}]}],"r":10}],"m":47,"p":8,"v":47}],"á":[{"r":[{"á":47,"m":47,"ó":[{".":47}],"u":47,"v":47}],"t":[{"é":47,"s":47}]}],"e":[{"g":[{"y":[{"á":18}]}]}],"u":[{"t":47}]}],"k":[{"a":[{"b":47,"d":[{"a":19}],"j":[{"t":5}],"k":[{"ó":52}],"l":[{"j":52,"k":[{"o":5}],"ó":47}],"m":[{"p":47,"r":47}],"p":[{"a":47,"c":47,"s":47}],"r":[{".":47,"a":47,"r":47,"t":47}],"t":[{"a":47,"e":47,"r":8}],"u":[{"t":5}],"v":47,"z":47}],"á":[{"l":[{"l":52}],"r":[{"a":[{"d":5}],"i":51,"n":52,"u":52}]}],"e":[{"d":[{"z":52},142],"g":[{"é":5}],"m":[{"b":52},47],"r":[{"e":[{"s":[{"t":[{"e":3}]}]}],"é":[{"k":[{"n":[{"é":14}]}]}],"i":[{"g":11}],"ő":51,"ü":[{"g":14}]},47],"s":[{"z":[{"e":5},11]}],"t":[{"e":5},11],"v":47,"z":47}],"é":[{"l":51,"m":47,"n":[{"y":47}],"p":[{".":47,"b":47,"e":[{"l":2},47],"é":47,"l":47,"n":47,"p":[{"e":[{"l":47}]}],"r":47,"t":47,"z":47}],"r":[{".":52,"d":47,"e":47,"é":47,"ő":47}],"s":47,"t":[{"t":52,"v":5}]}],"g":[{"r":5}],"h":[{"i":[{"á":6}]}],"i":[{"a":47,"á":47,"c":47,"e":66,"é":47,"f":47,"g":[{"a":5,"é":52},11],"í":47,"j":47,"l":[{"l":5}],"m":[{"i":5},47],"n":[{"c":47,"e":47,"t":52,"y":47}],"o":47,"s":[{"k":52,"t":52,"z":47}],"t":47,"v":[{"a":19},47]}],"k":[{"r":19}],"l":[{"i":[{"m":6}],"í":54,"ó":58,"u":58}],"o":[{"c":[{"k":47,"o":47}],"e":47,"h":47,"l":[{"l":47}],"m":[{"é":47,"f":47,"p":47}],"n":[{"c":47,"f":47,"j":47,"s":47,"t":47,"y":47,"z":47}],"o":47,"p":47,"r":[{"á":[{"s":2},47],"b":47,"e":47,"g":52,"i":47,"l":47,"m":47,"n":47,"o":47,"r":47,"s":47,"u":47}],"s":[{"z":[{"l":52}]}]}],"ó":[{"d":47,"l":19,"r":47,"v":52}],"ö":[{"l":[{"é":19,"ő":19},47],"r":[{"d":5}],"t":[{"l":5}]}],"p":[{"l":5,"r":5}],"r":[{"á":54,"e":[{"á":6}],"é":[{"m":58,"t":6}],"i":58,"í":54,"o":[{"n":6,"s":6}],"ó":[{"n":58}]}],"s":[{"k":5,"t":5}],"u":[{"g":52,"m":0,"p":47,"r":47,"s":[{"z":[{"á":[{"l":44}],"e":11}]}],"t":47}],"ú":[{"r":47}],"ü":[{"g":52,"l":47,"s":47,"z":[{"l":5}]}],"v":[{"ó":58}]}],"l":[{"a":[{"j":[{"t":5}],"m":[{"a":[{"n":11}]}],"p":[{"a":11,"á":[{"l":51}],"o":[{"l":11,"s":[{"z":14}]}]}],"r":[{"á":19}],"z":[{"o":5}]}],"á":[{"b":[{"ú":[{"t":14}]}],"l":50,"s":[{"s":27,"ü":11}],"t":[{"l":5}]}],"e":[{"í":10,"s":[{"e":19,"é":19,"h":5,"n":5,"s":5,"t":5}],"t":[{"a":11,"e":[{"v":14},32]}]}],"é":[{"r":[{"z":52}],"t":[{"e":[{"l":11}],"é":[{"s":11}]}]}],"i":[{"a":[{"k":[{"o":11}],"m":11}],"s":[{"z":[{"o":5}]},11]}],"í":[{"n":5}],"o":[{"m":[{"a":[{"l":14},32],"á":14,"e":14,"i":[{"s":11}],"r":50}],"s":[{"z":52}]}],"ó":[{"á":10,"s":[{"l":9,"p":9}],"t":10}],"ö":[{"l":52,"r":52,"s":52,"z":51}],"p":[{"r":19}],"u":[{"m":[{"e":14}],"s":[{"s":27,"z":[{"á":11}]}]}],"ü":[{"t":5,"v":5}],"y":[{"a":[{"g":[{"a":10,"g":7}]}],"á":11}]}],"m":[{"a":[{"b":[{"l":5}],"c":[{"é":51}],"g":[{"n":47}],"k":[{"n":5}],"l":[{"l":5}],"n":47,"r":[{"a":47,"c":47,"e":[{"n":26}],"h":47,"k":47}],"s":[{"p":9,"s":47},10],"t":[{"e":47,"o":19}],"u":52,"x":47}],"á":[{"g":47,"l":[{"l":5}],"r":[{"k":47,"t":47}],"z":47}],"b":[{"r":19}],"e":[{"g":[{"y":19}],"n":[{".":0}]}],"é":[{"d":47,"l":[{"e":5},47],"p":52,"r":[{"e":47,"é":47,"g":47,"k":47,"n":47,"ő":47,"s":47,"t":[{"é":47}]}]}],"i":[{"a":[{"c":7,"s":11}],"b":51,"g":[{"é":52},11],"k":[{"o":5},142],"n":47,"o":[{"n":[{"o":51,"t":51}]}],"p":51,"s":[{"k":52,"t":52,"z":11},47],"z":51}],"o":[{"d":47,"g":47,"h":47,"l":[{"a":52,"d":52}],"n":[{"d":47,"i":47,"o":47,"t":47}],"r":47,"s":[{"z":52},47],"t":47,"x":52,"z":47}],"ö":[{"t":5}],"ő":[{"r":5}],"p":[{"r":5}],"ü":[{"t":5,"z":5}],"ű":[{"t":10}]}],"n":[{"a":[{"d":47,"g":47,"k":[{"á":[{"s":11}],"e":2,"o":[{"l":11}]}],"l":[{"j":[{".":5,"a":[{"k":5}],"á":5,"o":5,"u":5}]}],"p":[{"a":[{".":11}],"á":[{"b":[{"a":52}]},11],"e":11},47],"r":[{"c":5}],"s":[{"p":52,"z":[{"t":5}]}],"t":8,"v":47}],"á":[{"l":[{"l":52,"o":52},11],"s":[{"s":3}]}],"b":[{"r":5}],"e":[{"d":11,"z":5}],"é":[{"é":50,"m":47,"p":[{"í":5}],"r":[{"a":50,"c":5,"d":0,"ó":50}],"v":[{"á":14}],"z":47}],"i":[{"g":[{"é":52},11],"s":[{"t":52}]}],"o":[{"d":[{"v":5}],"k":[{"u":[{"l":50}]}],"r":47,"x":5}],"ö":[{"n":5,"r":52,"t":5}],"ő":[{"é":[{"h":10}]}],"p":[{"r":5}],"u":[{"t":51}],"ü":[{"r":5}],"y":[{"a":47,"e":47,"i":[{"l":47,"t":[{"á":47,"ó":[{".":47}]}]}],"í":47,"o":47,"u":47,"ú":47}]}],"o":[{"d":[{"ú":6}],"k":[{"a":6,"á":6,"i":13,"u":6}],"l":[{"a":6,"i":6}],"p":[{"e":6}],"r":[{"a":6,"i":6,"o":6}],"v":[{"i":6}],"x":[{"i":6}]},48],"ó":[{"l":[{"a":6,"á":6,"i":6,"o":6}],"r":[{"a":6,"i":6}],"s":[{"á":6}],"v":[{"á":6,"o":6,"ó":6}]},48],"ö":[{"b":[{"ö":6}],"k":[{"o":6,"ö":6}],"l":[{"é":6,"ő":6}],"r":[{"ö":6}],"v":[{"e":6}],"z":[{"ö":6}]},48],"ő":[{"r":[{"e":6,"é":6,"i":6,"ö":6,"ü":6}],"s":[{"é":6,"ö":6}]},48],"p":[{"a":[{"d":[{"a":51}],"l":[{"k":52}],"n":[{"a":[{"l":5}],"o":51,"t":5,"y":52}],"r":[{"á":[{"n":19}]}]}],"á":[{"l":[{"l":5}]}],"c":[{"s":[{"a":[{"p":43}]}]}],"e":[{"f":52,"g":51,"l":[{"o":5}]}],"i":[{"d":52,"n":[{"d":5}],"o":51,"r":[{"á":19}]}],"l":[{"a":[{"k":54,"s":54}],"u":54}],"o":[{"b":52,"l":[{"a":51}],"r":[{"a":[{"d":11}]}]}],"ó":[{"r":[{"a":5}]}],"r":[{"i":54,"o":[{"d":6,"p":6}],"ó":[{"b":48}]}],"t":[{"r":19}],"u":[{"s":[{"s":27}]}],"ú":[{"j":52}],"ü":[{"v":5}]}],"r":[{"a":[{"b":[{"é":0}],"c":[{"e":5}],"d":[{"a":[{"t":11},47]}],"i":[{"b":0,"é":[{"r":11},0],"h":0,"i":0,"j":0,"k":[{"é":11,"o":11},0],"m":0,"n":0,"p":0,"s":0,"t":0,"v":0}],"j":[{"e":50,"o":47,"z":47}],"k":[{"v":9}],"l":[{"a":0,"k":5}],"m":[{"o":0}],"n":[{"i":52,"t":5}],"p":[{"l":8}],"r":[{"c":5,"e":53}],"s":[{"p":8}],"t":[{"o":[{"m":51}]}],"ü":50}],"á":[{"é":[{"n":53}],"g":[{"g":5,"y":19}],"k":[{"h":53,"i":50}],"l":52,"m":[{"é":50,"o":50,"r":53}],"p":51,"s":[{"e":11}],"t":[{"a":47,"v":5}]}],"b":[{"r":5}],"e":[{"g":[{"e":5,"y":51}],"l":[{"e":51,"l":5,"m":5,"o":52,"ő":51,"v":5}],"m":[{"b":5,"l":5}],"r":51,"s":[{"e":[{"t":51}]}],"t":[{"á":51,"é":51}],"z":[{"ü":0}]}],"é":[{"j":[{"e":19}],"l":51,"r":[{"i":19}],"v":[{"e":[{"k":11}]}]}],"f":[{"l":5}],"h":[{"á":[{"z":[{"o":[{"t":10}]}]}]}],"i":[{"a":[{"k":[{"a":11}],"l":11}],"á":[{"s":[{"i":0,"s":38}]}],"c":[{"h":11}],"d":52,"n":[{"t":52}],"o":[{"n":[{"n":19,"o":19}]}],"p":[{"a":51},47],"s":[{"i":51,"m":[{"e":52}]}],"t":47,"z":[{"o":5},11]}],"í":[{"j":19,"r":52,"z":19}],"k":[{"l":5}],"m":[{"é":[{"s":10}]}],"o":[{"k":[{"á":19,"é":41,"i":19,"o":[{"k":11,"z":11}],"u":19,"ú":5}],"s":[{"z":52}],"x":51}],"ó":[{"d":[{"a":52,"á":[{"j":11}]}],"i":[{"k":[{"o":10}]}],"p":9,"s":[{"á":5}],"z":47}],"ö":[{"l":51,"m":[{"l":52}],"s":52,"t":52}],"ő":[{"r":5}],"p":[{"r":19}],"t":[{"r":[{"á":5}]}],"u":[{"m":[{"a":[{"g":11}],"e":11}],"r":51,"s":[{"a":[{"b":11,"n":11}],"e":11,"s":27,"ü":11,"z":4}],"t":[{"a":52}]}],"ú":[{"s":51,"t":52}],"ü":[{"n":5,"v":19,"z":5}]}],"s":[{"a":[{"b":[{"l":47}],"d":51,"g":51,"l":[{"j":52,"t":5}],"m":[{"n":5}],"p":[{"r":52}],"r":[{"c":[{"o":[{"t":52}]}]},47],"s":[{"p":52,"s":5}],"t":[{"l":52}],"u":52,"v":[{"o":11}]}],"á":[{"b":[{"r":52}],"f":52,"g":[{"g":3}],"l":[{"l":52,"o":19}],"r":[{"o":51}],"t":[{"i":5,"o":47}]}],"b":[{"l":5,"r":5}],"c":[{"s":[{"a":[{"p":[{"á":1}]}]}]}],"e":[{"b":47,"g":[{"y":19}],"j":47,"l":[{"j":5,"m":5,"ő":19,"s":5,"v":5}],"m":[{"b":5,"i":5},11],"n":52,"p":[{"o":5},11],"r":[{"ő":5}],"s":52,"t":51,"z":52}],"é":[{"l":51,"m":47,"n":[{"e":19}],"p":52,"r":[{".":52,"t":[{"e":52}]}],"t":[{"á":[{"k":[{"a":11}]}],"e":51,"k":5,"t":5},47]}],"f":[{"r":5}],"i":[{"d":51,"g":[{"e":5},11],"k":[{"e":[{"r":[{"b":11}]}],"l":47}],"n":[{"d":5,"f":5}],"p":[{"a":5},11],"r":[{"o":5}],"s":[{"k":52,"t":5}]}],"í":[{"k":47,"n":[{"h":52}],"r":[{"á":19,"ó":19}]}],"k":[{"a":[{"t":54}],"i":[{"c":6,"s":10}],"l":5,"v":5}],"l":[{"a":[{"g":6}],"á":47}],"n":[{"i":54}],"o":[{"k":[{"a":[{"s":47}],"k":[{"o":47}],"s":47}],"l":[{"i":5}],"r":[{"g":52,"j":52,"m":52},47],"t":[{"t":52}],"v":52}],"ó":[{"r":51}],"ö":[{"l":51,"s":52,"t":52}],"ő":[{"r":5}],"p":[{"e":[{"c":54,"k":58}],"i":[{"r":58}],"l":5,"u":54}],"s":[{"k":19,"p":19,"z":[{"e":25,"ö":25}]}],"t":[{"a":[{"b":58,"d":54,"f":54,"n":[{"d":86}],"t":58}],"á":[{"b":[{"b":6}],"d":54,"t":54},47],"é":[{"g":54}],"í":47,"o":[{"p":[{"o":6}]}],"r":[{"é":5,"i":5,"u":48},142],"ú":47}],"u":[{"g":47,"r":51,"t":51}],"ú":[{"r":[{".":5,"i":19,"n":5}]}],"ü":[{"l":47,"r":47,"s":52,"z":52}],"ű":[{"r":[{"í":47}]}],"z":[{"a":[{"c":55,"k":[{"ü":30}],"l":[{"a":[{"p":61}]}]},47],"á":[{"g":[{"o":[{"l":10}]}]},47],"e":[{"d":47,"g":[{"ű":61},47],"k":47,"l":47,"m":47,"n":47,"r":[{".":47,"e":[{"p":[{"é":17}]},47],"k":47,"v":47,"z":47}],"z":47}],"é":[{"n":[{"é":17}]},47],"i":[{"m":[{"a":0}]},47],"í":47,"k":47,"l":11,"o":[{"b":47,"c":47,"f":47,"l":47,"n":47}],"ó":47,"ö":[{"s":56},47],"ő":47,"p":47,"s":25,"t":[{"á":76,"r":[{"á":10}]},47],"ú":47,"ü":[{"g":56},47],"ű":[{"k":47,"r":[{"é":47,"ő":47,"t":55}]}],"v":11}]}],"t":[{"a":[{"d":[{"ó":5}],"g":[{".":47,"a":[{"l":11},47],"b":47,"g":143,"i":47,"j":47,"k":47,"n":47,"o":47,"s":47,"u":47}],"j":[{"k":5}],"l":[{"a":[{"p":47}],"á":47,"k":5,"m":52}],"n":[{"t":[{"i":5}]},47],"p":47,"r":47,"s":[{"s":52},10],"t":47,"u":[{"r":19}],"x":47}],"á":[{"g":[{"a":19,"g":5},47],"p":47,"r":[{"a":[{"d":[{"a":14},32]}],"o":47,"s":47}],"v":[{"c":47,"i":[{"r":14},144],"í":47,"k":47}]}],"e":[{"g":51,"l":[{"h":52,"ő":51}],"m":[{"b":52}],"r":[{"d":0}]}],"é":[{"g":[{"é":5}],"k":[{"é":51}],"t":[{"ö":2}]}],"f":[{"r":5}],"i":[{"d":51,"g":[{"é":52},11],"l":[{"l":5}],"m":52,"n":[{"g":52}],"p":[{"a":19}],"s":[{"z":11}]}],"í":[{"r":51,"v":51,"z":52}],"k":[{"r":5}],"l":[{"é":[{"k":[{"e":10}]}]}],"o":[{"j":47,"l":[{"l":[{"a":[{"d":17}]}]},47],"m":[{"l":5}],"n":47,"r":[{"s":52},47],"v":47}],"ó":[{".":47,"n":47}],"ö":[{"k":[{"o":5}]}],"ő":[{"e":10}],"r":[{"a":[{"d":6,"f":6,"k":6,"n":6}],"é":[{"n":6}],"i":[{"k":6,"l":6,"ó":6}],"o":[{"m":6}]}],"s":[{"l":5,"p":5,"z":[{"e":[{"r":[{"e":[{"p":43}]}]}]}]}],"u":[{"s":[{"z":[{"e":11}]}]}],"ü":[{"l":[{"é":5,"ő":19}],"s":[{"t":5}],"v":51}],"ű":[{"z":[{"s":4}]}]}],"u":[{"b":[{"o":6}],"g":[{"a":6,"r":[{"á":[{"s":[{"s":22}]}]}]}],"j":[{"j":[{"a":[{"d":[{"a":2}]}]}]}],"n":[{"i":6,"o":6}],"r":[{"a":6}],"s":[{"z":6}],"t":[{"a":6,"á":6,"o":6,"ó":6,"u":6}]},48],"ú":[{"j":[{"í":6}],"r":[{"é":6}],"s":[{"z":6}],"t":[{"i":6,"o":6}]},48],"ü":[{"g":[{"y":6}],"l":[{"e":6,"é":6,"ő":6}],"n":[{"ő":6}],"r":[{"e":6,"í":6,"ü":6}],"s":[{"z":6}],"t":[{"e":6,"é":6,"ő":6}],"v":[{"e":6}],"z":[{"e":6}]},48],"ű":[{"z":[{"ő":6}]},48],"v":[{"a":[{"d":47,"g":47,"j":47,"k":[{".":47,"s":47,"u":47}],"l":[{"ó":47}],"r":47,"s":47,"t":0}],"á":[{"g":47,"k":47,"l":47,"n":47,"r":[{"a":[{"l":14}],"o":[{"s":[{"i":[{"h":33}]}]}]}],"s":[{"a":0,"i":50,"o":0,"r":50,"s":50,"t":50}],"z":47}],"e":[{"r":[{"a":14,"i":[{"p":11},32]}]}],"i":[{"n":5}],"o":[{"d":50,"m":0,"n":47}]}],"z":[{"a":[{"d":[{"á":19,"ó":19},8],"j":47,"k":[{"c":5,"r":9,"t":5}],"l":[{"a":19}],"r":[{"c":5}],"s":9,"t":[{"a":[{"l":2,"n":11}],"á":[{"l":11}],"é":[{"s":11}],"o":[{"l":[{"d":11}]}],"ü":2}],"v":47}],"á":[{"g":51,"l":[{"l":5}],"r":[{"u":51,"ú":51}]}],"b":[{"l":5}],"d":[{"i":53}],"e":[{"g":51,"l":52,"m":5,"r":[{"ő":5}],"x":52,"z":5}],"é":[{"l":51,"t":[{"e":51}]}],"f":[{"l":5,"r":5}],"h":[{"a":[{"j":[{"ó":[{"i":33}]}]}]}],"i":[{"m":[{"p":5}],"n":[{"g":5}],"p":51,"s":[{"e":2,"i":[{"r":11}],"s":27,"z":4}]}],"o":[{"l":[{"d":52}],"n":[{"a":2,"á":14,"i":11}]}],"ó":[{"s":[{"p":9},10]}],"ő":[{"r":5}],"p":[{"r":5}],"s":[{"a":[{"k":15}],"e":[{"r":55}],"o":[{"r":25}],"z":25}],"t":[{"r":19}],"u":[{"h":47,"r":51,"t":51}],"ú":[{"s":19,"t":52}],"ü":[{"g":19,"l":5,"z":19}]}]}],"ö":[{".":47,"a":48,"á":48,"b":[{"a":[{"n":19}],"á":[{"l":5,"r":19,"t":5}],"b":[{"a":13,"á":13,"e":[{"g":12,"l":[{"e":12},10],"m":[{"e":9},10],"r":13,"s":[{"z":12}],"v":[{"e":9}]}],"é":[{"l":6}],"i":[{"d":6,"s":12}],"í":6,"o":[{"l":12,"s":12,"t":6}],"ó":6,"ö":6,"ü":[{"l":12},10]}],"e":[{"f":52,"g":52,"l":51,"m":51,"n":51,"r":52}],"é":[{"l":52,"r":[{".":52,"t":[{"é":52}],"z":52}]}],"f":[{"r":5}],"i":[{"d":51,"n":[{"g":52,"t":52}]}],"l":[{"i":53,"ö":53}],"o":[{"r":5}],"ó":[{"n":5}],"ö":[{"l":[{"l":0,"t":[{"ő":53}]}]}]}],"c":[{"a":[{"j":5}],"c":[{"s":[{"a":15,"i":3}]}],"é":[{"p":52,"v":[{"e":52}]}],"h":[{"e":25,"ö":25}],"i":[{"ó":10}],"ő":[{"r":5}],"s":[{"a":56,"é":[{"j":9,"k":9,"t":[{"e":61}]}],"i":[{"z":[{"z":9},0]}],"ó":9,"ö":[{"l":61}],"ű":[{"r":8}],"z":25}]}],"d":[{"a":[{"l":19,"n":19,"r":5}],"á":[{"l":19,"r":5}],"e":[{"f":52,"l":[{"l":5}],"m":52,"v":[{"é":19}]}],"é":[{"m":[{"o":14}],"s":[{"a":11,"s":27,"z":4}],"v":[{"e":[{"s":51}],"é":[{"n":19,"r":19}]}]}],"g":[{"r":5}],"í":[{"z":5}],"o":[{"s":5}],"ó":[{"c":5,"r":19}],"s":[{"p":5}],"u":[{"s":19}],"ú":[{"j":5,"s":19}],"ü":[{"v":52}],"ű":[{"z":52}],"z":[{"á":[{"r":[{"ó":26}]},25],"u":25}]}],"e":48,"é":48,"f":[{"é":[{"s":[{"s":27}]}]}],"g":[{"a":[{"b":5,"c":19,"d":19,"g":5,"k":19,"l":19,"n":19,"p":5,"r":5,"s":5,"t":19}],"á":[{"b":5,"g":5,"l":19,"r":19,"t":5}],"d":[{"r":5}],"e":[{"g":51,"k":[{"é":[{"i":51}]}],"l":[{"b":5,"e":[{"m":[{"e":59}]}],"f":52,"h":[{"a":52}],"m":52,"o":52}],"m":[{"e":[{"l":0}]}],"r":52,"s":[{"z":52}],"v":[{"é":19}]}],"é":[{"g":51,"k":[{"t":5}],"p":51,"r":[{".":52,"s":52,"t":[{"é":5}]}],"s":[{"s":27}]}],"f":[{"r":5}],"i":[{"d":52,"m":51,"n":[{"f":5}],"s":[{"t":52}],"v":[{"a":52}],"z":51}],"í":[{"n":5,"r":5,"v":5}],"k":[{"r":5}],"o":[{"l":19,"p":5,"r":19,"s":5}],"ó":[{"r":19}],"ö":[{"l":[{"i":5,"ö":5}],"v":52}],"p":[{"r":5}],"r":[{"e":[{"p":15}]}],"s":[{"k":5,"p":5}],"t":[{"r":5}],"u":[{"d":5,"n":19,"t":19}],"ü":[{"g":52,"s":52,"t":52,"v":52,"z":52}],"ű":[{"z":52}],"y":[{"a":25}]}],"i":48,"í":48,"j":[{"t":[{"é":[{"l":6}],"o":12}]}],"k":[{"a":[{"b":5,"g":19,"k":19,"l":19,"n":19,"p":19,"r":5,"s":5,"t":19,"u":5,"v":19}],"á":[{"g":5,"l":5,"p":19,"r":19,"t":5,"z":5}],"d":[{"r":5}],"e":[{"d":51,"g":51,"k":[{"e":52}],"l":[{"a":5,"e":5,"h":5,"m":5,"n":5,"ő":5,"v":5},11],"m":51,"n":[{"é":11,"s":3}],"r":[{"d":5,"e":[{"s":[{"z":51}]}],"ő":51}],"s":52,"v":[{"é":[{"s":11}]}],"z":52}],"é":[{"g":52,"k":[{"n":52,"s":5}],"l":[{"e":[{"s":19}]}],"p":52,"r":[{"e":[{"l":2,"m":14,"z":51}],"é":[{"s":51}]}],"s":[{"s":27}],"t":[{"e":51}],"v":[{"e":[{".":51,"k":51,"t":19}]}]}],"f":[{"r":5}],"g":[{"l":5}],"i":[{"d":[{"e":5,"o":5},11],"g":[{"a":5,"é":52},11],"k":[{"t":52}],"n":[{"a":51,"d":5,"g":52,"t":52}],"o":51,"p":51,"r":[{"o":52}],"s":52,"z":52}],"í":[{"j":5,"r":52,"v":5,"z":5}],"k":[{"l":5,"r":19}],"l":[{"ű":53}],"o":[{"k":5,"l":[{"d":5,"ó":53}],"n":53,"p":19,"r":[{"o":19,"r":5,"s":5}],"v":19}],"ó":[{"r":19,"v":5}],"ö":[{"r":[{".":53,"ö":11}]}],"ő":[{"á":[{"r":[{"a":[{"d":16}]}]}],"é":10}],"p":[{"r":5}],"r":[{"ö":[{"s":53}],"ü":53,"ű":53}],"s":[{"p":5,"r":5,"z":[{"i":[{"l":43}]}]}],"t":[{"r":19}],"u":[{"n":19,"r":19,"s":5,"t":19}],"ú":[{"j":5,"r":5,"t":5}],"ü":[{"g":52,"l":[{"é":52,"t":52},11],"t":51,"v":51,"z":52}]}],"l":[{"a":[{"d":19,"g":5,"j":19,"k":19,"l":5,"p":5,"r":19,"u":5,"v":19}],"á":[{"g":19,"l":5,"m":19,"p":19,"r":19,"s":19,"t":5,"z":19}],"b":[{"r":5}],"c":[{"s":[{"a":[{"l":32}],"á":[{"p":15,"r":15}],"e":[{"l":[{"l":3}],"v":6}],"i":[{"d":6,"z":6}],"o":[{"k":24,"l":3,"s":6}],"ü":[{"g":6,"l":6}]}]}],"d":[{"a":[{"b":6,"d":13,"k":13,"l":[{"a":13,"j":12,"k":12}],"n":13,"p":6,"s":12}],"á":13,"e":[{"g":6,"p":6,"v":6}],"é":[{"d":12,"l":6}],"i":[{"n":[{"g":12}],"p":6}],"o":[{"r":13,"s":6}],"ó":13,"ő":[{"r":6,"s":6},10],"r":[{"ó":5}],"u":[{"r":6}],"z":21}],"e":[{"b":81,"g":[{"e":[{"l":11}],"g":3}],"l":0,"r":51,"s":[{"ü":83}],"t":[{"á":2,"e":[{"l":14}],"o":11,"u":14}],"v":51}],"é":[{"d":[{"e":52},11],"é":50,"g":51,"k":[{"e":[{"s":51}],"í":52}],"l":[{".":52,"e":51,"é":51,"h":52,"i":51,"j":52,"n":52,"s":52,"t":52,"v":52}],"m":[{"e":52}],"n":[{"e":[{"k":[{"e":51}]}]}],"p":51,"r":[{".":52,"e":[{"d":51,"k":51,"z":[{"n":51}]}],"é":52,"h":52,"i":51,"j":52,"k":52,"l":52,"n":52,"s":52,"t":[{"e":52,"é":52,"ü":52}],"ü":51,"v":52,"z":52}],"s":[{"s":27}],"t":[{"e":[{"t":51}]}]}],"f":[{"r":5}],"g":[{"y":[{"á":32,"e":[{"r":6}]}]}],"i":[{"d":51,"g":[{"a":52,"é":52,"y":52},11],"j":52,"l":52,"m":52,"n":51,"p":51,"r":51,"s":51,"t":[{"a":51,"t":52}],"z":52}],"í":[{"r":19,"v":19}],"o":[{"c":19,"k":19,"l":5,"r":5,"s":19}],"ó":[{"v":19}],"ö":[{"k":[{"i":11,"l":52}],"l":52,"n":[{"t":5}],"r":52,"v":51}],"ő":[{"r":[{"l":5,"ö":5}]}],"p":[{"á":[{"r":[{"b":[{"a":33}]}]}],"r":19}],"s":[{"k":5,"r":5,"t":5}],"t":[{"a":[{"d":12,"j":6,"l":[{"a":9,"j":9}],"n":10}],"i":[{"d":6,"l":6}],"í":6,"r":[{"o":5}],"u":[{"r":6}]}],"u":[{"g":19,"j":5,"s":19,"t":19}],"ú":[{"j":5,"s":5}],"ü":[{"d":52,"g":52,"l":[{"e":11,"t":[{"é":5,"ö":52}],"v":[{"e":52}]}],"s":52,"t":52,"v":52,"z":52}],"ű":[{"z":52}],"y":[{"a":61,"á":56,"e":[{"g":8,"l":0}],"f":[{"ö":[{"l":11}]}]}]}],"m":[{"a":[{"d":19,"g":19,"l":5,"n":19,"p":19,"r":5,"u":5}],"á":[{"b":5,"g":5,"h":5,"l":5,"p":5,"r":19,"t":19,"z":5}],"b":[{"a":[{"c":13,"k":12,"l":10,"n":13,"z":6}],"á":12,"e":[{"c":6,"l":[{"e":9}],"m":13,"s":12}],"é":[{"k":6}],"i":[{"d":13,"n":6}],"í":6,"o":[{"s":12}],"ó":13,"ú":6,"ü":[{"r":6}]}],"e":[{"b":51,"g":[{"a":2,"e":[{"r":15,"s":[{"z":11}]}],"é":[{"k":14,"p":11}],"g":27,"y":5}],"l":51,"m":[{"b":[{"e":[{"r":52}]}],"e":[{"l":52}]}],"r":51,"s":[{"e":52,"t":[{"e":52}]},11]}],"é":[{"g":52,"h":[{"s":0}],"l":51,"n":[{"e":[{"k":[{"b":19,"e":51,"é":51,"h":19,"k":51,"r":51}]}],"y":[{"ü":44}]}],"p":52,"r":[{".":52,"t":[{"e":52,"é":52}]}],"s":[{"s":27}]}],"g":[{"r":5}],"i":[{"g":[{"é":52},11],"n":52,"p":51,"t":[{"a":51,"t":52}],"z":[{"m":52,"o":51}]}],"í":[{"z":19}],"k":[{"é":[{"s":[{"z":22}]}],"l":5,"r":5}],"l":[{"é":[{"s":[{"s":38}]}],"ö":[{"t":53}]}],"o":[{"k":19,"l":19,"r":5,"s":5}],"ó":[{"d":19,"r":19}],"ö":[{"n":[{"t":52}]}],"p":[{"r":19}],"s":[{"p":5,"t":5}],"t":[{"r":5}],"u":[{"g":19,"j":5,"t":19}],"ü":[{"g":52,"n":[{"n":52}],"v":52,"z":52}],"ű":[{"z":52}]}],"n":[{"a":[{"b":5,"d":19,"g":19,"j":19,"k":19,"l":19,"m":5,"n":19,"p":19,"r":5,"s":5,"t":5,"u":5,"v":19,"z":5}],"á":[{"b":5,"g":5,"l":5,"m":5,"p":19,"r":19,"t":[{"a":[{"d":[{"ó":[{".":15}]}]}],"é":3},19],"z":5}],"b":[{"é":[{"k":[{"é":[{"t":[{".":10}]}]}]}],"l":5}],"c":[{"á":[{"l":12}],"h":6,"ő":6,"s":[{"é":[{"g":20}],"z":20}],"z":6}],"d":[{"a":[{"b":6,"p":6}],"e":[{"m":10}],"é":[{"r":[{".":12,"n":12,"r":12,"t":[{"ő":12}]}]}],"o":[{"r":12}],"ő":12,"z":6}],"e":[{"b":52,"d":51,"f":52,"g":51,"l":51,"m":51,"n":[{"e":5},11],"r":51,"s":52,"v":19,"x":5}],"é":[{"g":19,"j":52,"k":51,"l":51,"p":51,"r":[{"d":0,"i":5,"l":5,"t":[{"e":5}],"v":5}],"s":[{"s":27,"z":5}],"t":[{"e":52,"t":52}],"v":[{".":52,"e":[{"s":52,"t":5}],"é":[{"r":51,"t":51}],"v":52}]}],"f":[{"e":[{"l":[{"e":[{"m":10}]}]}],"r":19}],"g":[{"l":19,"r":19,"y":[{"a":[{"s":3}],"é":[{"k":6}],"ó":[{"r":15}],"ö":47,"ő":6}]}],"i":[{"d":51,"f":5,"g":[{"a":52,"e":5,"é":52},11],"l":[{"l":5}],"m":52,"n":52,"p":51,"r":51,"s":52,"t":[{"a":5}],"z":51}],"í":[{"j":5,"r":52,"z":52}],"k":[{"a":[{"g":12,"n":[{"y":12}]}],"á":[{"r":[{"u":9}],"t":6}],"o":[{"l":[{"t":9}]}],"ú":12,"ü":10}],"m":[{"e":[{"g":[{"g":7}]}]}],"n":[{"a":[{"k":10}],"á":12,"y":[{"a":[{"d":15}],"á":3,"e":[{"d":[{"z":15}]}],"ú":25}]}],"o":[{"d":19,"k":19,"p":5,"r":5,"s":5,"x":5}],"ó":[{"c":19,"r":19,"v":5}],"ö":[{"b":5,"r":52,"v":51}],"ő":[{"r":[{"e":11},5],"z":5}],"p":[{"l":5,"r":5,"s":5}],"s":[{"é":[{"g":[{"ü":[{"k":[{"é":26}]}]}]}],"p":19,"t":89,"z":10}],"t":[{"e":[{"l":[{"l":12}]}],"g":[{"e":[{"n":[{"n":22}]}]}],"ö":[{"s":[{"s":38}],"z":53}],"r":[{"a":19,"á":19,"é":19}]}],"u":[{"d":5,"n":5,"r":19,"s":19,"t":19}],"ú":[{"j":5,"s":19,"t":5}],"ü":[{"d":5,"g":51,"r":52,"t":51,"z":52}],"y":[{"a":61,"á":56,"d":9,"e":[{"l":56}],"i":[{"d":56,"n":56}],"í":0,"o":56,"ü":[{"z":0}],"v":[{"a":[{"j":11,"l":2,"n":11}],"á":[{"r":2}],"e":[{"g":2,"r":14,"s":[{"z":14}],"v":11}],"é":[{"g":14,"l":11,"r":[{".":14}]}],"i":[{"l":[{"l":14}]}],"í":14,"o":14}]}]}],"o":48,"ó":48,"ö":48,"ő":48,"p":[{"a":[{"j":5,"l":19}],"á":[{"l":5}],"e":[{"l":19,"n":[{"y":[{"á":11}]}],"r":19}],"é":[{"p":52}],"ö":[{"l":[{"ő":19}]}]}],"r":[{"a":[{"b":5,"c":19,"d":19,"g":19,"j":5,"k":19,"l":19,"n":19,"r":19,"s":5,"t":19,"u":19,"x":19,"z":19}],"á":[{"b":5,"c":19,"g":19,"l":19,"r":19,"s":19,"t":19}],"b":[{"r":5}],"c":[{"s":[{"á":[{"l":3}],"e":[{"l":[{"l":3}]}],"k":[{"é":[{"s":[{"z":65}]}]}],"o":[{"s":6}]}]}],"d":[{"í":47,"r":19,"ü":47}],"e":[{"c":51,"d":[{"z":19}],"f":52,"g":[{"a":11,"é":[{"k":14}],"y":19}],"j":[{"á":14}],"k":[{"e":[{"s":[{"z":2}]}],"é":32}],"l":51,"m":52,"n":[{"c":5}],"p":51,"r":51,"s":[{"e":19}],"t":[{"e":[{"t":[{"ő":51}]}]}],"v":51,"x":52,"z":52}],"é":[{"d":[{"e":51}],"g":51,"j":[{".":52}],"k":[{"s":5}],"l":51,"n":[{"e":[{"k":[{"e":52}]}]}],"p":52,"r":[{"é":52,"i":51}],"s":[{"e":[{"l":11}]}],"t":[{"e":[{"g":2}],"v":52}],"v":[{"e":[{".":19}],"k":52}]}],"f":[{"á":6,"é":[{"v":12}],"i":[{"p":13,"s":6}],"o":[{"s":12}],"ő":[{"r":6}]}],"g":[{"r":19}],"i":[{"d":51,"g":[{"a":52,"á":52},11],"k":[{"o":5},11],"l":[{"l":52}],"m":52,"n":[{"d":52,"g":52,"j":52,"k":52,"t":52,"v":52}],"p":51,"r":[{"a":52}],"s":51,"t":[{"a":51,"t":5}],"v":[{"á":52}],"z":[{"o":19}]}],"í":[{"r":52,"v":51,"z":51}],"k":[{"l":19,"ö":[{"l":[{"t":[{"ő":12}]}]}],"r":19}],"l":[{"e":[{"t":[{"a":10}]}],"i":[{"n":12}]}],"n":[{"y":[{"a":[{"l":15,"n":15,"s":3}],"e":[{"l":[{"e":3},32],"r":24}],"é":[{"j":6,"s":6}],"í":[{"r":15}],"ó":6}]}],"o":[{"b":5,"k":19,"l":19,"p":5,"r":19,"s":5}],"ó":[{"r":19}],"ö":[{"g":[{"e":39},47],"m":[{"ü":53}],"n":[{"t":52}],"r":52,"s":[{"s":[{"z":[{"e":0}]}],"z":52}]}],"p":[{"e":[{"t":15}]}],"s":[{"p":19,"v":19}],"t":[{"a":[{"r":10}],"á":[{"v":30}],"é":[{"k":[{"s":12}],"l":[{"é":12,"ő":12},10],"r":[{"n":[{"e":9}]}],"s":[{"z":10}]}],"í":[{"v":6}],"o":[{"k":12,"p":6}]}],"u":[{"d":5,"j":5,"n":19,"r":19,"s":19,"t":19}],"ú":[{"j":5,"r":5,"t":19}],"ü":[{"d":52,"g":51,"l":[{"é":[{"k":14}]}],"r":52,"s":52,"t":52,"v":51,"z":52}],"v":[{".":53,"a":[{"s":10}],"b":53,"e":[{"k":53,"m":53,"t":53}],"é":[{"b":53,"h":53,"v":53}],"h":53,"n":53,"r":53,"t":53,"ü":53,"ű":53,"v":53}],"z":[{"s":[{"á":23,"e":[{"l":23}],"i":[{"d":6,"n":6,"r":6}],"í":23,"o":24,"ó":6,"u":6,"ú":6},145]}]}],"s":[{"a":[{"g":19,"l":5}],"á":[{"r":5}],"e":[{"l":52,"s":[{"s":27}],"z":52}],"i":[{"é":10,"p":51}],"k":[{"r":19}],"o":[{"l":19,"r":19}],"s":[{"z":[{"á":[{"r":32}],"e":[{"g":53,"m":[{"b":3}],"s":53}],"í":25}]}],"t":[{"a":[{"r":[{"c":9}]}]}],"ü":[{"v":51}],"z":[{"a":61,"e":[{"r":8}],"i":[{"s":[{"z":9},10]}],"o":61,"ő":56,"t":[{"e":[{"l":[{"l":14}]}]}]}]}],"t":[{"a":[{"b":5,"j":5,"k":19,"l":19,"m":5,"s":5,"t":19}],"á":[{"b":5,"g":5,"l":5,"r":5,"s":19}],"e":[{"k":[{"é":5}],"m":19,"p":5,"s":5,"t":[{"a":2,"e":[{"l":11}]}],"u":11,"v":19,"z":19}],"é":[{"l":[{"é":[{"k":11},32],"o":14}],"r":[{"t":[{"é":5}],"z":5}],"s":[{"s":27}],"v":[{"e":[{"s":19}]}]}],"f":[{"l":5,"r":5}],"g":[{"r":5}],"i":[{"r":19}],"í":[{"v":19}],"k":[{"r":5}],"l":[{"e":[{"t":[{"á":30},53]}],"é":53}],"o":[{"k":5,"l":5,"r":5,"s":5}],"ó":[{"r":19}],"ö":[{"d":[{"b":0,"d":50,"n":[{"e":50}],"ö":[{"t":53}],"r":50,"ü":53}],"s":0}],"ő":[{"a":10,"e":10,"é":10}],"p":[{"r":5}],"s":[{"c":5,"t":5}],"t":[{"a":[{"c":13,"r":6,"s":12}],"á":[{"l":12,"r":10}],"e":[{"r":[{"k":9}]}],"é":[{"r":[{"t":[{"e":9}]}]}],"u":[{"t":12}]}],"u":[{"j":5,"n":5,"t":19}],"ü":[{"l":19}],"v":[{"e":[{"n":[{"e":[{"z":30}]}]}]}]}],"u":48,"ú":48,"ü":48,"ű":48,"v":[{"a":[{"b":5,"k":5}],"á":[{"r":19}],"e":[{"d":[{"z":19}],"g":[{"a":2,"é":[{"s":3}],"g":3,"o":11}],"r":19,"t":[{"a":2,"e":[{"g":11}],"é":[{"l":2}],"o":11,"ú":14,"ü":[{"l":[{"é":14},32]}]}]}],"é":[{".":0,"g":5,"j":19,"n":[{"y":[{"e":[{"l":11,"r":11}],"ö":11}]}],"s":[{"z":[{"a":11,"á":11,"e":[{"r":11}],"o":11,"ö":11,"ü":[{"l":11}]}]}]}],"i":[{"d":[{"á":11}],"h":0,"s":[{"s":27}],"v":0}],"o":[{"r":5}],"ó":[{"d":19}],"ö":[{"l":[{"t":5}]}],"ő":[{"r":[{"é":[{"s":[{"s":67}]}]}]}],"u":[{"t":5}]}],"z":[{"a":[{"b":5,"c":19,"d":19,"j":19,"k":19,"l":19,"m":19,"n":19,"p":19,"r":19,"t":5,"u":5,"z":5}],"á":[{"g":19,"l":5,"m":19,"p":19,"r":19,"t":[{"é":3},19]}],"d":[{"r":19}],"e":[{"b":51,"d":51,"g":[{"e":[{"l":11}],"é":[{"s":[{"z":28},52]}],"y":51}],"l":[{"a":52,"e":[{"m":[{"e":11}]}]}],"m":51,"n":[{"g":5,"t":5}],"p":[{"r":5}],"r":52,"s":52,"t":[{"é":[{"k":2}],"ő":[{"r":14},32]}],"v":51}],"é":[{"g":52,"j":[{"e":51}],"k":[{"e":[{"l":2}]}],"l":[{"e":[{"l":5,"t":[{".":19}]}],"é":19,"m":5,"t":5}],"m":[{"e":5},11],"p":[{"a":14,"e":[{"l":14,"m":14}],"í":[{"t":5},11],"o":14}],"r":[{".":52,"b":52,"d":52,"h":52,"i":51,"t":[{"e":[{"h":17,"l":[{"e":52}]}],"é":52,"ő":52}],"v":52,"z":52}],"t":[{"k":5}]}],"f":[{"r":5}],"i":[{"g":[{"a":[{"z":22},52],"á":52,"é":52,"y":52},11],"k":[{"o":51,"t":52}],"l":[{"l":52}],"m":51,"n":[{"f":52,"g":52,"p":52,"t":52,"ú":52,"v":52}],"r":[{"a":52,"á":5,"i":51,"o":5,"ó":52}],"s":[{"k":[{"o":5}],"m":52,"p":52,"z":51}],"z":52}],"í":[{"r":5,"z":5}],"m":[{"e":[{"g":[{"g":7}]}]}],"o":[{"b":5,"k":19,"l":5,"p":5,"s":5,"v":5}],"ó":[{"h":19,"n":5}],"ö":[{"n":[{"t":53}],"r":51,"s":[{"s":[{"z":5}]}],"v":52}],"ő":[{"a":10,"e":[{"r":10}],"r":[{".":5,"k":5,"ö":19}]}],"p":[{"l":5,"r":19}],"s":[{"a":25,"á":25,"e":25,"é":25,"k":34,"o":25,"p":34,"ú":25,"z":25}],"t":[{"r":19}],"u":[{"g":5,"n":19,"r":5,"t":5}],"ú":[{"r":19,"t":5}],"ü":[{"d":52,"g":51,"n":[{"n":5}],"t":52,"v":52,"z":51}],"z":[{"s":25}]}]}],"ő":[{".":47,"a":[{"d":[{"a":6,"á":[{"s":[{"s":7,"z":10}]},6],"o":6,"ó":6,"u":6}],"g":[{"a":6,"á":6,"i":6,"y":[{"a":[{"g":22}]},6]}],"j":[{"a":6,"á":6}],"k":[{"a":6,"á":6,"ó":6}],"l":[{"a":[{"g":30},6],"e":12,"o":6}],"m":[{"ő":6}],"n":[{"a":6,"o":6,"ó":6,"y":[{"á":6}]}],"p":[{"a":[{"r":0},6],"á":6,"o":6,"ó":6,"u":6}],"r":[{"a":6,"á":6,"i":6,"o":6}],"s":[{"z":6}],"t":[{"o":6,"y":6}],"u":[{"l":6,"r":6,"t":[{"ó":[{"i":[{"k":26}]}]},6]}],"v":[{"a":6}],"x":[{"i":6}],"z":[{"o":6}]},48],"á":[{"c":[{"s":6}],"g":[{"a":[{"i":6,"k":6,"s":6,"t":6}],"á":6,"é":6,"i":6,"o":6,"ú":6,"y":6}],"h":[{"í":6}],"l":[{"a":6,"o":6}],"m":[{"í":6}],"p":[{"o":6}],"r":[{"a":6,"á":6,"e":[{"m":9},31],"i":6,"o":6,"u":6,"ú":6}],"s":[{"a":6,"á":6,"o":6,"ó":6,"u":6,"z":6}],"t":[{"a":6,"á":13,"e":13,"é":6,"í":6,"ü":6}],"v":[{"ó":6}]},48],"b":[{"a":[{"p":9}],"l":[{"e":6,"o":6}],"r":[{"i":6,"o":6,"ó":6,"u":6}]}],"c":[{"a":[{"p":5}],"c":[{"s":[{"o":25}]}],"g":[{"r":5}],"h":[{"á":25,"é":25,"ö":25}],"l":[{"u":6}],"s":[{"a":[{"l":[{"a":56}],"p":[{"á":[{"g":17}]}]}],"é":[{"j":61,"r":[{"ü":61}]}],"ő":[{"s":[{"t":9}]}],"s":9,"z":25}]}],"d":[{"a":[{"d":[{"a":19,"á":19}],"l":[{"a":[{"p":51}]}],"u":52}],"á":[{"l":5,"z":19}],"e":[{"a":10,"g":51,"l":[{"d":5,"j":5,"k":5,"ő":19,"s":5}]}],"é":[{"p":52,"r":[{"t":[{"e":52}],"z":52}],"s":[{"a":11,"o":11,"s":27,"z":4}]}],"i":[{"d":52,"g":[{"a":52},11],"n":[{"d":5,"t":5}],"s":[{"k":52}]}],"o":[{"p":52,"s":[{"t":5}]}],"ö":[{"l":51,"v":52}],"ő":[{"r":[{".":5,"é":19,"n":5,"r":5,"t":5}],"s":[{"t":52}]}],"p":[{"r":5}],"r":[{"a":[{"m":6,"p":6}],"á":54,"e":[{"s":54}],"o":[{"g":54}],"ó":54,"u":54}],"s":[{"t":5}],"t":[{"r":19}],"ü":[{"g":52,"z":52}],"z":[{"á":55}]}],"e":[{"c":[{"e":6,"s":6}],"d":[{"é":6,"z":6}],"g":[{"e":6,"é":6,"y":6}],"k":[{"e":[{".":6}],"é":[{"k":6}]}],"l":[{"a":6,"á":13,"e":[{"k":6,"m":[{"é":6,"g":6,"h":6,"m":6,"n":6,"r":6,"ü":6}]}],"i":6,"o":6,"ö":6,"ő":[{"d":6}],"ü":6}],"m":[{"a":6,"e":6,"é":6,"u":6}],"n":[{"e":6}],"p":[{"i":6,"o":6}],"r":[{"e":6,"é":6,"ő":[{"d":6,"é":6,"h":6,"i":[{".":6}],"k":6,"m":6,"r":[{"ő":6}]}],"ü":6}],"s":[{"é":6,"i":6,"ő":6}],"t":[{"a":6,"e":6,"i":6}],"u":[{"n":6}],"v":[{"é":6,"i":6,"o":6,"ő":6}],"z":[{"e":6}]},48],"é":[{"d":[{"e":6}],"e":[{"t":6}],"g":[{"e":6,"é":6,"i":6,"ő":6}],"h":[{"e":[{"m":6,"s":6}]}],"j":[{"i":6}],"k":[{"e":6,"é":6,"í":6}],"l":[{"é":6,"ő":6,"ű":6}],"n":[{"e":[{"k":[{"b":6,"e":[{"s":[{"t":10}]},6],"é":6,"k":6,"r":6}]}]}],"p":[{"í":6,"ü":6}],"r":[{"e":[{"m":6,"n":6,"z":6}],"é":6,"i":6}],"t":[{"e":[{"k":6}]}],"v":[{"a":6,"e":[{".":6,"k":6,"s":6,"t":6}],"é":[{"b":6,"n":6,"r":6,"t":6}],"i":6}]},48],"f":[{"a":[{"l":[{"a":[{"d":2}]}]}],"l":[{"a":6,"e":6,"o":6,"ó":6,"ö":6,"u":6}],"o":[{"k":[{"á":[{"l":11}],"é":[{"r":11}],"i":[{"n":11}]}]}],"r":[{"a":6,"á":6,"i":6,"o":54,"ö":6}]}],"g":[{"é":[{"p":[{"e":[{"l":2}],"ü":[{"l":[{"é":3},32]}]}],"s":[{"s":27}]}],"l":[{"e":6,"ó":6}],"n":[{"ó":6}],"ö":[{"l":51}],"r":[{"a":6,"á":6,"i":6,"ó":6}],"u":[{"b":[{"a":32}]}],"y":[{"a":[{"l":[{"a":8}],"r":[{"t":9}]}],"e":[{"g":0,"l":[{"ő":8,"v":9,"z":9},0]}],"i":[{"n":0}],"ö":[{"r":56}]}]}],"h":[{"a":[{"n":[{"g":[{"á":[{"r":[{"a":30}]},26]}]}]}]}],"i":[{"d":[{"e":[{"a":6,"á":6,"g":6,"o":6}],"é":[{"n":6}],"o":6,"ő":6}],"g":[{"a":6,"e":6,"é":6,"y":6}],"k":[{"o":6}],"m":[{"a":6,"á":6,"i":6,"p":[{"l":8}]}],"n":[{"a":[{"s":6}]}],"o":[{"n":6}],"p":[{"a":6}],"r":[{"a":6,"á":6,"i":6,"o":6,"u":0}],"s":[{"i":6,"z":6}],"t":[{"a":[{"l":[{"a":6,"á":6,"é":6,"i":6,"l":6}]}]}],"v":[{"a":6,"á":6,"ó":6}],"z":[{"é":6,"o":6}]},48],"í":[{"g":[{"é":6}],"j":[{"a":6}],"r":[{"a":6,"á":6,"o":6,"ó":6,"u":6}],"v":[{"á":6,"e":6,"é":6,"i":6,"ü":[{"k":[{"b":6,"e":6}],"n":6}],"ű":6}],"z":[{"e":6,"ü":6,"ű":6}]},48],"j":[{"e":[{"g":[{"y":[{"á":18}]}]}],"o":[{"b":[{"b":[{"o":[{"l":30}],"ó":30}]}],"g":[{"á":[{"s":[{"z":[{"i":32}]}]}]}]}]}],"k":[{"e":[{"k":8,"p":8,"s":[{"p":9,"t":9},10]}],"é":[{"p":[{"e":[{"l":14}]}],"s":[{"e":[{"l":14}]}]}],"i":[{"á":10,"e":10}],"l":[{"a":6,"e":6,"i":6,"í":6,"ó":6,"u":6}],"ó":[{"r":[{"o":32}]}],"r":[{"a":54,"á":54,"e":[{"á":54,"d":6}],"é":54,"i":54,"í":54,"o":54,"ó":54}],"v":[{"a":6}]}],"l":[{"e":[{"í":10}],"é":[{"s":[{"s":27}]}],"ő":[{"é":[{"r":10}],"t":[{"r":9},10]}]}],"m":[{"a":[{"g":[{"á":[{"r":11}],"g":3,"ó":2}]}],"ű":[{"é":[{"h":10,"n":10}],"t":10}]}],"n":[{"e":[{"k":[{"e":51}],"m":[{"s":5}]}],"é":[{"v":[{"e":[{"s":3},32]}]}],"y":[{"a":[{"d":61,"g":[{"a":56},10],"l":[{"a":8}]}],"á":[{"r":[{"a":9,"o":8}],"t":0}],"e":[{"f":0,"l":[{"e":[{"m":10}],"h":56,"l":56,"o":56}],"m":56}],"é":[{"l":[{"v":56}]}],"ő":56,"ü":[{"z":0}]}]}],"o":[{"á":[{"z":6}],"b":[{"e":6}],"d":[{"ú":6}],"k":[{"á":6,"i":13,"í":6,"o":6}],"l":[{"a":[{"j":[{"á":[{"r":17}],"e":10}]},6]}],"p":[{"e":6}],"r":[{"á":6,"i":6,"o":6}],"s":[{"o":6}],"v":[{"e":6}],"x":[{"i":6}]},48],"ó":[{"c":[{"e":6}],"h":[{"a":6}],"n":[{"o":6,"u":6}],"r":[{"a":6,"á":6,"i":6}],"v":[{"a":6,"ó":6}]},48],"ö":[{"b":[{"ö":6}],"d":[{"é":6}],"k":[{"o":6,"ö":6}],"l":[{"é":6,"ő":6}],"n":[{"a":6}],"r":[{"e":6,"ö":6}],"v":[{"e":6,"é":6,"i":6,"ö":6}],"z":[{"ö":6}]},48],"ő":[{"r":[{"e":6,"é":6,"i":6,"ö":6,"s":[{"é":[{"g":[{"b":14,"n":14}]}]}]}],"s":[{"e":6,"i":6}]},48],"p":[{"á":[{"r":[{"b":[{"a":[{"j":[{"o":26}]}]}]}]}],"l":[{"a":6,"e":6,"é":6}],"n":[{"e":6}],"o":[{"n":[{"c":7}],"r":[{"a":[{"l":11}]}]}],"r":[{"e":6,"é":[{"s":[{"s":7}]},6],"i":6,"o":6,"ó":6}],"s":[{"z":6}]}],"r":[{"a":[{"d":[{"ó":19}],"g":[{"á":19,"g":5}],"j":[{"k":5,"t":[{"ó":[{"l":30}]}]}],"k":[{"c":5}],"l":[{"e":3},51],"n":[{"y":5},11],"p":5,"r":51,"s":51,"t":52,"u":52,"z":51}],"á":[{"b":85,"d":[{"i":[{"ó":[{"k":32}]}]}],"g":[{"y":5}],"k":[{"e":14}],"l":51,"p":51,"r":[{"u":19}]}],"b":[{"í":53,"l":146,"r":146}],"e":[{"a":47,"á":[{"l":[{"i":10}]}],"e":10,"g":[{"e":[{"t":11}],"y":[{"e":19}]}],"i":[{"g":10}],"k":[{"c":52,"h":52}],"l":[{"e":[{"m":11}],"h":5,"l":52,"ő":[{"a":19}],"s":5,"t":5,"v":52}],"m":[{"b":52,"l":5}],"n":[{"d":[{"ő":17}],"z":5}],"o":10,"p":[{"r":[{"o":[{"g":9}]}]}],"s":[{"ő":51}],"u":10,"ü":10,"x":52,"z":[{"r":53}]}],"é":[{"g":[{".":85,"n":53,"t":146}],"k":[{"h":85,"n":[{"é":5}],"s":5}],"l":51,"p":[{"ü":5}],"r":[{"i":51}],"s":[{"a":11,"z":[{"a":11}]}],"ü":50,"v":[{"e":[{".":19,"k":19}]}]}],"f":[{"l":5,"ő":53,"r":5}],"g":[{"r":19}],"i":[{"d":51,"f":52,"g":[{"a":51,"á":51}],"h":[{"a":5}],"l":[{"l":5}],"m":[{"i":5},0],"n":[{"a":19,"d":5,"f":52,"t":52}],"p":[{"a":19}],"s":[{"á":14}],"v":[{"á":5}],"z":[{"é":[{".":19}],"g":0,"m":5,"o":19}]}],"í":[{"r":5}],"j":[{"ö":53}],"k":[{"l":19,"r":19}],"l":[{"ö":53}],"o":[{"k":[{"t":52}],"l":[{"d":5,"i":81,"l":5}],"r":52,"s":[{"z":52}]}],"ó":[{"r":51}],"ö":[{"g":41,"k":[{"ü":50}],"l":0,"m":[{"ü":53}],"n":[{"g":5}],"r":52,"s":[{"s":[{"z":[{"e":52}]}]}]}],"ő":[{"r":85,"s":[{"r":53},51],"z":51}],"p":[{"l":5,"r":19,"s":114}],"s":[{".":53,"á":[{"l":12}],"í":53,"ö":53,"p":[{"e":19,"i":5}],"r":[{"á":5}],"s":20,"z":[{"e":[{"n":53}],"ö":[{"m":21}]},42]}],"t":[{"r":114}],"u":[{"n":85,"r":81,"t":[{"á":5}]}],"ú":[{"j":52,"r":5,"t":52}],"ü":[{"d":52,"l":[{"d":5,"e":50}],"s":52,"t":52,"z":52}],"z":[{"ő":[{"s":[{"ö":47}]}]}]}],"s":[{"a":[{"d":52,"g":51,"j":[{"t":[{"ó":[{"b":5,"k":52}]}]}],"n":[{"a":5},11],"p":11,"r":[{"c":5}],"s":[{"s":5}],"u":5}],"á":[{"b":52,"g":51,"l":[{"l":5},11],"r":[{"a":5,"v":5}]}],"d":[{"r":5}],"e":[{"d":19,"g":[{"e":51,"y":51}],"l":[{"m":5,"ő":19,"v":5}],"m":51,"n":[{"e":5},11],"p":[{"i":5,"o":5},11],"r":[{"e":[{"j":19}],"ő":5}],"s":[{"s":5,"z":5}],"t":[{"n":5}],"v":51,"z":52}],"é":[{"g":[{"e":[{"l":2,"r":52}],"é":[{"s":11}]}],"k":52,"l":51,"p":5}],"f":[{"l":5,"r":5}],"g":[{"n":5,"r":5}],"i":[{"d":51,"f":52,"g":[{"a":5},11],"m":[{"a":19,"á":19,"i":5}],"n":[{"f":5,"g":5,"t":5}],"p":[{"a":51}],"r":[{"a":19}],"s":[{"t":5,"z":19}],"z":51}],"í":[{"k":[{"a":11}],"r":[{"ó":19}],"z":19}],"k":[{"á":[{"l":6}],"l":5,"r":19,"v":5}],"l":[{"a":[{"t":6}]}],"n":[{"i":[{"t":6}]}],"o":[{"b":5,"k":[{"o":5},11],"l":51,"p":52,"r":[{"g":52}],"s":52}],"ó":[{"c":5,"r":[{"i":5}]}],"ö":[{"l":51,"n":[{"z":5}],"r":[{"d":5,"e":5,"ö":5,"v":5},11],"z":51}],"ő":[{"r":5,"s":19}],"p":[{"e":[{"c":6,"k":6}],"l":19,"ó":[{"r":6}],"r":11}],"r":[{"á":[{"c":6}]}],"s":[{"k":5,"p":19,"t":19,"z":[{"a":25,"á":25,"e":[{"g":25,"k":25,"l":[{"l":25}],"m":25,"n":25,"r":25,"s":25}],"é":[{"k":25,"n":25}],"f":25,"i":25,"í":25,"l":25,"o":25,"ó":25,"ö":25,"ő":25,"u":25,"ü":25},10]}],"t":[{"a":[{"d":6,"t":6}],"á":[{"t":54}],"e":[{"r":[{"i":54}]}],"é":[{"g":6}],"i":[{"l":6}],"r":[{"e":5},11]}],"u":[{"n":5,"t":[{"a":5},11]}],"ú":[{"r":[{".":5}],"s":19}],"z":[{"a":[{"k":[{"e":30,"ü":30}]}],"e":[{"l":[{"ő":8}],"r":[{"k":47,"ő":0}],"s":[{"t":9}]}],"i":[{"l":[{"i":17,"l":9}],"s":[{"t":9}]}],"ö":[{"l":[{"é":9,"ő":9,"t":9},10]}],"s":[{"e":25,"i":[{"r":20}]}],"t":10,"ű":[{"r":[{"ű":55}]}]}]}],"t":[{"e":[{"r":[{"m":[{"o":[{"s":[{"z":78}]},22]}]}],"s":[{"t":[{"ő":30}]}]}],"o":[{"l":[{"l":[{"a":[{"d":17}]}]}]}],"r":[{"a":54,"é":54,"i":54,"o":6,"ó":54}],"t":[{"e":[{"s":[{"s":38}]}],"é":[{"s":6}],"i":[{"n":[{"t":9}]}],"o":13,"u":13}],"ű":[{"f":[{"é":[{"l":22},32]}]}]}],"u":[{"g":[{"o":6}],"n":[{"i":6}],"r":[{"a":6,"á":6,"u":6}],"t":[{"a":6,"ó":6,"u":6}]},48],"ú":[{"j":[{"o":6}],"r":[{"é":6,"i":6,"o":6}],"s":[{"z":6}],"t":[{"é":6,"i":6,"o":6}]},48],"ü":[{"d":[{"ü":6}],"g":[{"e":6,"y":6}],"l":[{"e":6}],"r":[{"e":6,"í":6}],"s":[{"z":6}],"t":[{"e":6,"é":6,"i":6,"ö":6,"ő":6}],"v":[{"e":6,"ö":6}],"z":[{"e":6,"é":6}]},48],"ű":[{"r":[{"é":6,"i":6,"ö":6}],"z":[{"é":6,"ő":6}]},48],"v":[{"a":[{"s":[{"f":[{"é":[{"l":28},26]}]}]}],"á":[{"r":[{"a":[{"l":3}]}]}],"e":[{"r":[{"a":14}],"t":47}],"é":[{"r":[{"e":[{"s":11,"t":11}]}]}]}],"z":[{"a":[{"b":[{"s":5}],"d":51,"g":19,"k":52,"l":51,"t":51,"u":52}],"á":[{"l":52,"t":[{"e":82}]}],"b":[{"l":5}],"e":[{"g":[{"g":3,"i":14,"y":19}],"k":[{"n":50}],"l":[{"o":5,"s":5,"v":5}],"m":[{"b":5,"e":[{"l":19}]},0],"r":51,"t":[{"a":2,"e":[{"g":14,"l":14,"r":11}],"o":14}]}],"é":[{"r":[{".":52,"e":[{"m":11}],"i":51,"l":52,"t":[{"é":5}]}]}],"i":[{"é":50,"g":[{"é":5},59],"n":52,"z":52}],"k":[{"r":19}],"o":[{"k":19,"l":5,"s":5}],"ö":[{"s":[{"s":[{"z":5}]}]}],"ő":[{"a":10,"e":[{"l":10,"r":10}]}],"p":[{"r":19}],"s":[{"a":[{"j":25,"p":25}],"á":[{"t":25}],"i":[{"k":25,"s":25}],"t":34,"ü":55,"z":25}],"t":[{"r":19}],"ú":[{"t":5}],"ü":[{"g":5,"s":52,"z":51}],"ű":[{"z":19}]}]}],"p":[{".":47,"a":[{"b":[{"l":86}],"c":[{"e":[{"m":6}],"h":6,"l":5,"s":[{"ú":6}]}],"d":[{"a":[{"g":54,"l":[{"a":9}],"s":12}],"á":[{"l":13}],"e":[{"l":12,"m":12},10],"i":[{"d":12,"g":[{"a":12}]}],"o":[{"t":[{"t":54}]}],"u":[{".":6,"t":6}],"ü":[{"l":6}]}],"e":[{"r":11}],"é":[{"r":11}],"f":[{"l":5,"r":19}],"g":[{"a":[{".":6}]}],"i":[{"d":[{"é":11}]}],"j":[{"t":[{"ó":86}]}],"k":[{"a":[{"d":6,"r":[{"ó":30}]}],"e":[{"m":13}],"é":[{"r":[{".":12}]}],"k":[{"u":47}],"l":[{"u":5}],"ó":13,"r":[{"é":19}],"t":[{"a":[{".":86,"l":11}],"e":[{"l":2,"s":14,"v":2}],"i":86,"o":[{"r":[{".":14,"r":14}],"s":11}]}]}],"l":[{"a":[{"g":[{"ú":30},47],"p":[{"í":6}]}],"á":[{"z":[{"a":[{"d":[{"á":30},26]}]}]}],"é":[{"l":13}],"f":86,"g":86,"l":[{"e":86}],"m":[{"á":86}],"u":[{"d":9}]}],"m":[{"a":[{"s":[{"s":9}]}],"u":[{"r":12,"t":[{"a":10}]}]}],"n":[{"a":[{"d":10,"g":12,"l":[{"a":9},6]}],"á":[{"r":13,"s":[{"s":7}]}],"d":8,"g":[{"g":3}],"i":[{"l":12}],"k":[{"r":[{"o":9}]}],"n":[{"y":48}],"o":[{"l":6}],"s":[{"z":[{"t":9},32]},10],"ü":6,"y":[{"a":58,"u":54}]}],"p":[{"a":[{"d":12,"p":[{"a":13}],"r":[{"a":9},10],"s":[{"z":[{"t":12}]}]}],"á":[{"l":[{"l":9}]}],"i":[{"l":12,"n":[{"a":[{".":13}]}],"p":13}],"o":[{"k":[{"u":13}]}],"ö":6,"p":8,"u":[{"r":12,"t":13}],"ú":6}],"r":[{"a":[{".":47,"j":[{"e":10}],"l":[{"a":8}],"n":[{"n":47,"y":58}],"r":100}],"á":[{"g":[{"á":12,"n":12,"o":12,"v":12}],"h":47,"j":58,"l":[{"l":9}],"r":47,"v":47}],"b":47,"c":[{".":86,"a":86,"c":86,"h":86,"i":47,"o":86,"t":86,"u":86,"ú":86}],"e":[{"l":12}],"é":[{"l":13}],"i":[{"g":47,"l":[{"l":12},47],"s":[{"k":9}]}],"k":[{"a":[{"l":2}],"á":14,"e":[{"l":11}],"i":[{"n":[{"g":14}]}],"o":[{"v":11}],"ó":11,"ö":[{"n":11,"v":2}],"ő":2,"ü":14}],"o":[{"s":[{".":47,"i":47,"o":47}]}],"ö":6,"ő":6,"r":47,"s":10,"t":[{"e":[{"m":11}],"o":[{"l":14}],"ő":2}],"ü":13,"ű":6}],"s":[{"t":10,"z":[{"a":[{"l":[{"j":3,"t":3}],"s":6}]}]}],"t":[{"a":[{"d":[{"a":9}],"k":[{"ö":26}],"l":[{"k":12}],"n":[{"y":[{"a":9}]}],"r":[{"a":12}]}],"á":[{"l":[{"c":9}],"r":[{"k":12}]}],"e":[{"g":13,"l":[{"l":12}],"s":10}],"é":[{"l":6,"r":[{".":12,"d":12,"e":12,"t":[{"e":12}]}]}],"i":[{"d":6,"n":[{"t":12}],"r":6}],"k":[{"a":[{".":86}],"á":[{"n":[{"k":86}]}]}],"o":[{"l":[{"d":12,"t":12}],"m":[{"b":[{"e":47}]}],"s":[{"z":12}],"t":[{"t":[{"h":12}]}]}],"u":[{"t":12}],"ú":[{"s":6}],"ü":[{"z":12},10],"y":[{"a":58,"á":58}]}],"u":[{"r":[{"a":11},47]}],"v":[{"a":[{"t":54}]}],"w":[{"h":5}],"x":[{"i":58}]},53],"á":[{"b":[{"é":58,"r":86}],"c":[{"a":47,"á":47,"e":12,"é":10,"h":21,"s":[{"ó":21,"ö":6,"ü":6}]}],"g":[{".":86,"a":58,"g":86,"y":[{".":86,"a":[{".":58,"c":58,"d":58,"i":[{"b":6,"d":6,"h":6,"k":6,"m":6,"n":58,"r":6}],"k":[{"b":54,"é":6,"i":6,"o":54,"r":58,"t":6}],"l":58,"m":58,"n":58,"s":[{"t":6}],"z":86}],"á":[{"b":58,"l":86,"n":58,"t":[{"ó":6}],"v":58}],"b":86,"c":86,"e":86,"é":58,"f":86,"g":[{"a":86,"o":86}],"h":86,"i":58,"j":86,"k":86,"l":86,"m":86,"n":[{"á":86}],"o":[{"s":58}],"ö":58,"p":86,"r":86,"s":86,"t":86,"u":58,"ú":6,"ü":86,"v":86,"z":86}]}],"j":[{"t":86}],"l":[{"a":[{"b":6,"c":6,"r":86},10],"d":[{"o":86}],"e":6,"l":[{"a":[{".":48,"p":47}],"í":86,"o":[{"m":86}],"v":86}],"m":[{"o":47}],"ü":6,"y":[{"a":[{"s":7}]},0]}],"m":[{"i":47,"í":58,"u":6}],"n":[{"a":[{"f":6,"m":12,"n":12,"r":6,"s":12},10],"á":[{"r":6}],"e":13,"é":[{"k":6}],"i":[{"l":6,"r":6,"s":6}],"í":6,"k":[{"r":[{"é":9}],"t":47}],"ó":13,"ö":6,"ő":6,"s":[{"z":9}],"t":[{"e":[{"k":11,"l":14},32]}],"ü":6,"y":[{"a":[{"d":24,"l":23,"n":23,"r":6,"t":6,"u":6,"z":6}],"e":23,"é":[{"r":[{"d":6}]}],"i":[{"m":6}],"ö":6}]}],"p":[{"o":58}],"r":[{"a":[{"d":[{"ó":9}],"s":47}],"á":[{"é":47}],"d":[{"a":2,"e":[{"l":11}]}],"e":13,"i":[{"p":13}],"ő":6,"s":8,"t":[{"a":[{"g":14,"l":47,"n":[{"y":3}],"r":[{"i":11}]}],"á":[{"l":11}],"e":[{"l":14,"m":11,"s":11,"t":11},32],"é":[{"l":11,"r":[{".":14}],"t":[{"e":2}]}],"i":[{"z":11}],"o":[{"t":[{"t":11}]}],"ö":[{"k":11},32],"ő":14,"u":[{"s":11}],"ü":[{"z":14},32]}],"u":[{"h":6,"k":6,"t":[{"u":9},10]}],"ú":[{"n":6}],"ü":6}],"s":[{"á":[{"s":58}],"e":12,"i":[{"r":6}],"ő":6,"s":20,"ü":13,"v":[{"á":[{"n":86}]}]}],"t":[{"a":13,"á":6,"e":[{"l":6,"m":13}],"i":[{"s":6}],"k":[{"a":[{".":86}],"á":[{"t":86,"v":86}]}],"l":[{"a":[{"g":48}],"ó":86}],"o":[{"r":12}],"r":[{"a":[{"k":86}]}],"t":[{"é":86}],"u":[{"k":12}],"ú":[{"r":[{"t":9}]}],"ü":6,"v":[{"é":[{"t":86}]}]}]},53],"b":[{"a":[{"l":14}],"é":[{"r":[{"e":[{"l":2}]}]}],"l":[{"o":6}],"r":[{"a":6,"i":6,"o":6}]}],"c":[{"i":[{"ó":[{"f":[{"o":11}]}]}],"s":[{"a":[{"p":[{"á":[{"g":17}]}]}],"ő":[{"s":[{"o":[{"r":[{"r":30}]}]}]}]}]}],"d":[{"a":[{"l":[{"a":[{"d":14,"n":3}],"e":[{"g":11,"l":11,"s":14}],"é":[{"n":11}],"í":2}]}],"r":[{"a":6,"á":6,"o":6,"ó":6}]}],"e":[{"a":[{"p":11,"r":11}],"c":[{"a":3,"c":20,"z":6}],"e":[{"d":6}],"f":[{"f":86,"l":5}],"g":[{"e":[{"s":[{"e":58}]}],"é":[{"s":[{"z":22}]}],"r":19,"z":86}],"k":[{"e":[{".":58,"i":58}],"r":[{"é":19}],"t":[{"r":47}]}],"l":[{"á":[{"l":6,"r":6}],"e":[{"k":[{"t":6}],"m":[{"b":47,"e":[{"k":62,"t":6}],"é":58,"g":58,"h":58,"i":58,"k":58,"m":58,"n":58,"r":47,"z":58}],"r":[{"ó":9}],"t":[{"e":9},10]}],"g":[{"o":86}],"h":[{"a":86,"e":[{"l":86}]}],"j":[{"á":47}],"l":[{"e":[{"b":86}]}],"n":[{"e":[{"v":86}],"y":86}],"o":[{"s":6}],"ö":58,"ő":[{"a":58,"á":58,"e":58,"g":6,"h":58,"í":6,"j":[{"á":58,"e":[{"g":58}]}],"l":58,"z":58}],"r":[{"e":[{"n":86}]}],"s":[{"ö":86}],"t":[{"á":86,"o":86}],"u":47,"v":[{".":86,"á":86,"e":[{"l":14,"n":86}],"h":86,"i":86,"o":86,"ű":86}],"y":71,"z":86}],"m":[{"b":[{"e":[{"r":86}]}],"e":[{"l":58}],"é":[{"s":58}],"l":86,"s":86,"u":58}],"n":[{"e":[{"r":58}],"g":[{"e":[{"d":47}]}],"n":[{"y":[{".":20,"b":20,"é":[{"r":7}],"h":20,"i":[{".":86}],"j":20,"k":20,"m":20,"n":20,"r":20,"t":20,"v":20}]}],"y":[{"a":6,"á":32,"e":[{"l":23,"r":23}]}]}],"o":[{"l":11,"p":11}],"ó":[{"r":11}],"p":[{"e":[{".":6}],"é":58,"r":19}],"r":[{"a":[{"k":[{"t":12}],"l":[{"l":9}],"p":15}],"c":[{"c":3,"e":[{"l":14}],"i":[{"n":14}]}],"d":[{"ő":47}],"e":[{"c":[{"c":7}],"g":[{"y":[{"e":[{"z":65}]}]}],"j":54,"l":[{"k":12,"ő":[{"f":13,"k":[{"é":13}]}]}],"m":[{"é":[{"r":[{"t":10}]}]}],"v":[{"é":9}]}],"f":[{"a":47}],"i":[{"d":6,"l":12,"n":[{"a":13,"á":13,"d":12,"g":12}]}],"í":6,"k":8,"l":0,"o":[{"k":[{"t":9}],"s":12,"x":13}],"ó":[{"r":13}],"ő":[{"d":6,"f":6,"i":6,"m":6,"n":6,"r":6,"s":58,"t":6,"v":6}],"s":[{"t":9,"z":32}],"ú":6,"ü":[{"g":13,"l":[{"ő":9,"t":9},10]}],"z":0}],"s":[{"e":[{"b":[{"b":[{"e":[{"l":12}],"ő":12}]}]}],"é":[{"s":[{"i":[{"g":6}],"ű":58}]}],"ő":[{"i":6}],"p":19,"s":[{"z":[{"é":[{"v":86}]}]}],"t":[{"a":2,"e":[{"r":14}]}],"z":[{"a":[{"k":6}],"á":[{"l":24}],"e":[{"l":[{"l":3,"v":24}],"m":[{"e":6},32]}],"u":6,"ü":[{"l":23}]}]}],"t":[{"a":[{"l":6,"n":13}],"á":11,"e":[{"t":[{"e":47,"é":47,"ő":58},32]}],"i":[{"k":[{"a":58}],"m":47}],"o":58,"t":[{"i":14}],"ű":[{"d":6}]}],"u":[{"g":6}],"v":[{"ő":6}],"z":[{"r":86}]},53],"é":[{"c":[{"s":[{"u":6}]}],"d":[{"ü":[{"l":[{"é":12}]},10]}],"é":[{"b":47,"i":47,"n":47}],"g":[{"e":58,"é":[{"s":[{"s":38}]},58]}],"h":[{"e":[{"n":58,"s":58,"t":58}],"s":86}],"j":[{".":86,"e":[{"g":12},10],"i":58,"j":86}],"k":[{"a":[{"s":12,"u":12}],"á":13,"e":[{"r":12}],"é":[{"k":12,"l":13,"t":[{"e":12},10]}],"i":[{"n":13,"s":6}]}],"l":[{".":86,"b":86,"e":[{".":6,"i":6,"k":6,"l":[{"e":9,"m":[{"e":[{"i":9}]}]},10],"n":6,"t":6}],"é":58,"m":47,"n":86,"ő":58,"t":86,"ű":58,"v":86}],"n":[{"e":[{"k":[{"a":47,"b":58,"d":47,"é":58,"f":47,"g":47,"i":58,"í":47,"j":47,"k":58,"n":58,"r":58,"t":58,"ü":58}]}],"y":[{"e":[{"l":24}]}],"z":[{"a":14,"á":2,"s":11}]}],"p":[{"i":[{"p":13}],"í":58,"ü":47}],"r":[{"c":86,"d":86,"é":58,"h":86,"i":[{"g":6,"n":58}],"m":86,"n":86,"ő":[{".":58}],"r":86,"t":[{"e":86,"é":86,"ő":86}],"v":86,"z":86}],"s":[{"a":[{"j":12,"l":6}],"e":[{"l":13}],"é":[{"s":6}],"k":[{"é":[{"s":[{"z":28}]}]}],"o":6,"s":[{"z":[{"a":20}]}],"ü":[{"t":13}],"z":[{"a":[{"j":20,"k":3,"v":20},6],"á":23,"e":[{"m":[{"b":24}]}],"é":[{"n":[{"é":58}]}],"i":[{"n":6}],"o":24,"ö":24,"s":27,"u":6,"ú":6,"ű":24}]}],"t":[{"a":3,"e":[{"l":6}],"k":86,"l":[{"a":48},47],"r":86,"v":86}],"v":[{".":86,"b":86,"e":[{".":58,"i":47,"k":58,"n":6,"s":6,"t":58}],"f":86,"h":86,"k":48,"n":86,"r":86,"s":86,"t":86,"v":86}],"z":[{"a":[{"k":6}],"á":[{"r":12}],"e":[{"l":6,"m":13}],"i":[{"d":6,"n":6,"z":6},10],"o":[{"l":6}],"s":[{"a":6}],"u":6}]},53],"f":[{"é":[{"p":52}],"i":[{"ú":[{"é":11,"k":[{"é":[{"r":11}]}]}]}],"l":[{"o":6,"ó":6,"u":6}],"r":[{"á":6,"e":54,"i":54,"í":54,"o":54,"u":6}],"s":[{"t":5}]}],"g":[{"r":[{"a":6,"u":6,"ü":6}]}],"h":[{"a":[{"d":[{"e":11}],"i":59,"n":[{"é":[{"s":[{"z":53}]}]}]}],"e":[{"d":50,"l":[{"y":[{"ü":[{"k":[{"ü":26}]}]}]}]}],"i":[{"a":147,"c":0,"l":[{"a":53}]}],"o":[{"i":50}],"ó":[{"i":11}]}],"i":[{"a":[{"a":6,"á":6,"b":[{"a":6}],"c":[{"e":[{"l":11}],"é":[{"l":11}],"i":[{"k":11}],"s":[{"e":4}]}],"d":6,"e":6,"é":6,"g":6,"h":6,"j":6,"k":[{"é":[{"n":[{".":6}]}]}],"l":6,"m":6,"o":6,"ö":6,"p":6,"r":[{"é":6}],"s":[{"z":[{"a":6}]}],"t":6,"ú":6,"ü":6,"v":[{"e":6}],"z":6}],"c":[{"c":47,"e":[{".":6}],"l":47}],"d":[{"a":[{"n":6},10],"e":[{"a":6,"á":6,"i":6,"n":6,"o":6}],"o":[{"m":58}],"ő":58,"u":58}],"e":[{"g":6,"r":6}],"é":[{"g":6}],"f":[{"r":5}],"g":[{"a":58,"e":58,"é":58,"o":47}],"h":[{"l":86}],"k":[{"ö":12}],"l":[{"i":[{"s":[{"s":38}]},11],"l":[{"e":[{"s":47,"t":86}],"é":[{"s":47}],"u":47}],"y":58}],"m":[{"á":58,"i":58,"m":86}],"n":[{"a":[{"k":32,"p":3}],"d":47,"f":86,"g":[{"a":[{"s":11}],"á":[{"r":2}],"e":[{"l":[{"j":11}]}],"é":[{"p":11}],"o":[{"s":11}],"ó":86}],"j":47,"p":86,"t":[{"á":[{"c":11}],"o":[{"r":14}],"ő":[{"r":11}],"u":[{"r":11},32]}],"ü":6,"v":86,"z":86}],"o":[{"n":[{"n":3}]}],"ó":[{"a":6,"á":6,"e":6,"f":6,"g":6,"k":[{"i":6}],"l":6,"m":[{"a":6,"é":6}],"o":6,"p":6}],"p":[{"a":[{"i":47,"r":[{".":47,"á":58,"b":47,"h":47,"n":47,"r":47}]}]}],"r":[{"h":86,"o":[{"d":58}]}],"s":[{"a":[{"u":32}],"k":[{"o":47}],"o":[{"p":12}],"t":[{"e":86}],"z":[{"a":86,"k":[{"o":[{"s":[{"s":28}]}]}]}]}],"t":[{"a":[{"j":12,"l":[{"a":6,"l":6}],"n":13}],"á":[{"p":13}],"ä":5,"h":[{"e":5}],"o":[{"s":[{"s":7}]}],"ü":13}],"v":[{"á":[{"s":6}]}],"z":[{"é":58}]},53],"í":[{"g":[{"é":6}],"j":[{"á":6}],"n":[{"é":6}],"r":[{"a":13,"á":[{"l":9,"r":8,"s":86},6],"e":13,"i":[{"n":12,"s":8}],"í":6,"o":[{"l":6}],"ó":58,"ö":13,"s":9,"t":[{"r":9},10],"ü":6,"ű":6}],"t":[{"é":[{"l":47}],"m":47,"ő":[{"a":32,"e":[{"l":32}]}]}],"v":[{"e":6}],"z":[{"e":6,"é":6,"ü":6,"ű":6}]},53],"k":[{"e":[{"p":8,"s":8}],"é":[{"s":[{"s":3}]}],"i":[{"a":10,"á":10,"e":10}],"l":[{"a":6,"i":6,"í":6,"u":6}],"r":[{"á":6,"e":6,"é":6,"i":6,"o":6,"ó":6}],"v":[{"a":6,"ó":6}]}],"l":[{"a":[{"c":[{"c":0}],"k":[{"l":8}],"p":[{"a":[{"l":11}],"á":[{"l":[{"l":3}]}],"o":[{"s":[{"z":14}]}]}],"t":[{"f":0}],"z":[{"m":[{"á":53}]}]}],"e":[{"í":10,"t":[{"a":[{"n":2}],"e":[{"l":2}]}]}],"é":[{"é":10,"h":[{"a":[{"s":11}]}]}],"i":[{"s":[{"z":[{"á":4}]}]}],"o":[{"m":[{"e":14,"é":[{"n":11}],"o":[{"l":3}]}]}],"ó":[{"t":[{"r":9},10]}],"ő":[{"s":[{"a":11,"t":[{"á":9}],"z":[{"á":[{"r":11}]}]}]}],"u":[{"m":[{"e":14}],"r":0}]}],"m":[{"á":[{"s":[{"s":3}]}],"e":[{"g":[{"g":3}]}]}],"o":[{"b":[{"e":6}],"c":[{"s":[{"i":[{"z":24},32]}]}],"d":[{"a":[{".":6}],"z":6}],"g":[{"á":[{"s":[{"s":7}]}]}],"i":[{"n":6}],"k":[{"i":[{"r":102},10],"í":6,"l":[{"e":86,"ó":19}],"m":86,"o":[{"l":[{"a":10,"l":7}]}],"t":[{"a":86,"á":86}]}],"l":[{"á":[{"s":[{"s":7}]}],"c":[{"a":[{"n":11}],"c":27,"s":4}],"d":[{"a":86}],"ó":[{"á":32}],"t":[{"á":[{"r":47,"s":86}],"i":86,"ó":86}],"v":[{"a":[{"s":47}]}]}],"n":[{"a":12,"c":[{"s":[{"o":4}]}],"e":[{"l":6}],"g":[{"e":14}],"i":[{"z":6},10],"n":20,"o":[{"s":[{"z":12}]}],"t":[{"a":[{"d":2,"g":11,"l":2,"n":[{"y":3}]}],"á":[{"l":11,"r":11}],"e":[{"l":14,"m":11,"n":11,"s":11},32],"é":[{"k":11,"r":[{".":14}],"t":[{"e":14}]}],"i":[{"s":[{"z":11}]}],"í":11,"ő":2}],"z":47}],"o":[{"l":6}],"p":[{"a":13,"á":13,"c":47,"e":[{"l":9},62],"i":[{"k":6,"n":12,"r":12,"s":6},10],"o":[{"l":13}],"p":8,"s":[{"z":32},9],"t":68,"ú":6,"ü":6}],"r":[{"a":[{"c":13,"g":12,"k":[{"k":6}],"l":[{"a":9,"l":9}],"m":6,"n":[{"y":9},10],"r":13,"t":6}],"á":[{"c":[{"s":9}],"l":[{"l":9}]}],"c":[{"a":[{"n":11}],"h":4,"s":[{"í":4}]}],"e":[{"c":6,"s":6},10],"f":8,"g":8,"i":[{"d":6,"e":47,"h":6,"l":12,"m":13,"n":12}],"k":8,"ö":6,"ő":6,"t":[{"a":[{"m":[{"b":11}],"u":14}],"á":[{"r":[{"á":2,"b":11,"n":11}]}],"e":[{"j":11,"m":14,"t":11}],"é":[{"l":11,"r":[{".":14,"k":14}]}],"i":[{"k":2,"z":11}],"í":[{"v":14}],"u":[{"r":11,"s":[{"z":14}],"t":11}],"ú":[{"r":11}],"ű":11}],"ü":6,"v":[{"o":86}]}],"s":[{"s":[{"z":[{"o":20,"ö":20}]}],"t":[{"o":[{"l":47}],"y":86}],"ü":6,"z":[{"e":6,"í":6,"l":86,"t":[{"ü":10}]}]}],"t":[{"a":[{"b":6,"d":6,"l":13,"n":6,"u":13}],"e":[{"l":13}],"i":[{"n":[{"f":12}],"p":12}],"í":13,"o":[{"l":6}],"ö":6,"u":[{"s":6}],"ü":6}],"v":[{"i":6}]},53],"ó":[{"c":[{"e":6}],"f":[{"r":5}],"i":[{"g":11}],"k":[{"a":[{"s":[{"s":12}],"u":6}],"e":[{"l":13,"m":6,"t":6}],"i":[{"d":12,"m":6,"s":[{"z":9},10],"v":6}],"ö":[{"s":12}],"ú":12}],"l":[{"a":[{"n":12}],"á":12,"o":[{"m":6}]}],"n":[{"é":[{".":58}]}],"p":[{"r":19}],"r":[{"a":[{"d":54}],"á":[{"s":[{"z":8}]}],"e":[{"g":6,"m":6},10],"i":[{"á":54}],"ö":6}],"s":[{"o":[{"r":12}],"s":20,"ü":[{"v":13}]}],"t":[{"a":[{"d":12,"l":6,"n":12},10],"é":[{"r":10}],"i":[{"l":6}],"ü":[{"l":6},10]}],"ü":[{"n":47}],"v":[{"ó":58}],"z":[{"e":6,"s":[{"á":21}]}]},53],"ö":[{"k":[{"a":6,"á":6,"e":[{"l":6,"r":6}],"i":[{"d":6}],"o":54,"u":6,"ú":6}],"l":[{"y":[{"e":6}]}],"n":[{"t":47}],"r":[{"a":6,"d":[{"ö":48}],"e":[{"s":6}],"g":71,"o":6,"ő":12,"ú":6}],"s":[{"s":86}],"t":[{"l":48,"t":[{"y":[{"i":[{"n":7}]}]}],"v":86}],"v":[{"e":6}]},53],"ő":[{"a":[{"n":11}],"á":[{"g":11}],"b":[{"l":5}],"d":[{"r":[{"o":5}]}],"e":[{"r":11}],"é":[{"h":11,"l":11}],"k":[{"l":5}],"p":[{"l":5,"r":5}],"r":[{".":86,"i":[{".":6}],"j":48,"l":48,"n":86,"s":48,"t":86,"ü":54,"z":86}],"s":[{"z":5}]},53],"p":[{"a":[{"d":[{"a":5}],"i":10,"j":[{"á":5},11],"k":[{"k":5}],"n":[{"a":[{"d":11}],"e":[{"l":[{"l":14}]}],"k":15,"y":5}],"r":[{"c":5}],"s":9}],"á":[{"l":[{"l":5}],"r":[{"j":52,"o":[{"k":51}]}],"t":[{"m":5,"o":51,"v":5}]}],"e":[{"g":[{"y":51}],"k":[{"é":[{"h":51}]}],"l":[{"o":52,"r":52}],"r":[{"a":14,"ó":11}]}],"é":[{"g":52,"k":[{"s":52}]}],"h":[{"ó":6}],"i":[{"n":[{"g":[{"e":17}]}]}],"í":[{"g":5}],"k":[{"l":5}],"l":[{"a":[{"s":6,"t":6}]}],"o":[{"l":[{"y":19}],"r":[{"o":[{"m":51}],"t":[{"á":[{"r":17}],"e":17,"ő":17}]}]}],"ó":[{"l":51,"r":[{"á":5}]}],"ö":[{"n":5,"v":5,"z":19}],"r":[{"e":[{"f":54,"m":54,"z":54}],"é":[{"m":54}],"i":[{"n":6,"o":6}],"o":[{"c":54,"d":54,"f":48,"g":48,"j":48,"s":54,"t":54}],"ó":[{"b":6}]}],"s":[{"p":5}],"ú":[{"g":52,"r":[{".":52}]}],"v":[{"í":[{"z":7},10]}]}],"r":[{"a":[{"x":50}],"e":[{"m":[{"i":0}],"p":[{"a":50}],"s":[{"s":[{"z":[{"b":26}]}]}],"t":[{"á":10},47]}],"é":[{"d":[{"i":50}],"p":0,"s":[{"a":11,"z":[{"á":4}]}]}],"i":[{"c":[{"c":[{"s":0}]}],"u":[{"s":0}],"z":[{"m":0}]}],"í":[{"m":[{"e":[{"l":2,"m":11}]}]}],"o":[{"b":[{"l":53}],"c":[{"e":50}],"f":[{"e":53},0],"g":0,"j":[{"e":53},0],"m":[{"o":11}],"p":[{"a":0}],"t":[{"e":50,"é":53,"o":50}],"v":[{"o":50}]}],"ó":[{"b":[{"á":53}],"d":[{"e":14,"z":11}],"z":[{"a":50}]}],"u":[{"s":[{"á":[{"g":14}],"e":11}]}],"ü":[{"s":50}]}],"s":[{"a":[{"d":51}],"é":[{"g":[{"e":[{"l":11}]}]}],"i":[{"h":[{"a":19}]}],"í":[{"z":[{"e":19}]}],"k":[{"á":54}],"m":[{"i":54}],"ó":[{"n":52}],"ö":[{"z":51}],"p":[{"e":54,"i":6,"o":54,"r":5}],"r":[{"á":6}],"s":[{"z":[{"ó":25}]}],"t":[{"á":54,"i":6,"í":54,"o":6,"r":76,"u":6,"ú":54}],"z":[{"a":[{"k":[{"ü":30}],"n":[{"y":9}],"s":56,"t":[{"l":9}]}],"á":[{"g":56,"p":25}],"é":[{"g":0}],"f":[{"é":11}],"i":[{"c":50,"l":[{"l":56}],"s":[{"s":38}]}],"k":8,"o":[{"l":[{"d":9}],"r":[{"n":9}]}],"ö":[{"n":56,"s":56}],"s":20}]}],"t":[{"a":[{"d":[{"a":5},11],"n":[{"á":[{"s":2}],"e":11}]}],"á":[{"r":[{"a":[{"j":11}],"ó":[{"r":11},32]}]}],"e":[{"g":52,"k":[{"e":[{".":51}]}],"l":[{"ő":51,"s":52}],"r":[{"á":[{"l":11}]}]}],"é":[{"k":[{"á":11,"e":[{"l":14}]}],"r":[{"d":52}]}],"i":[{"m":[{"a":[{".":19}]}],"n":51,"o":51,"r":51}],"í":[{"r":51}],"k":[{"l":5}],"ö":[{"t":52}],"r":[{"a":[{"g":54,"n":54}],"á":54,"é":6}],"u":[{"s":[{"z":[{"e":11,"i":11}]}]}],"ú":[{"r":[{"r":52}]}],"ü":[{"t":52}]}],"u":[{"a":[{"d":11}],"c":[{"s":[{"o":[{"r":6}]}]}],"e":[{"l":11}],"g":[{"r":86}],"k":[{"á":47}],"l":[{"t":[{"a":[{"s":11}]}]}],"n":[{"i":58,"o":47,"ó":58}],"o":[{"r":11}],"p":[{"r":5}],"r":[{"a":[{"k":6,"l":6}]}],"s":[{"a":[{"d":6,"l":6,"n":[{"y":9},10],"p":6}],"á":[{"l":6,"t":[{"l":12}]}],"e":13,"é":[{"r":[{"t":[{"é":12}]}]}],"i":[{"k":6,"s":6}],"í":6,"o":[{"l":6}],"ö":6,"ő":6,"s":[{"z":32},10],"t":10,"ü":6,"z":[{"a":[{"g":6,"l":6}],"á":[{"r":[{".":21}]}],"é":[{"p":15}],"ö":6}]}],"t":[{"a":[{"b":6,"d":13,"k":6,"n":10,"z":58}],"i":[{"n":[{"g":9}]}],"o":[{"l":6}],"ó":[{"d":6,"p":58}],"r":[{"á":5}]}]},53],"ú":[{"r":[{"f":86}],"s":[{"z":6}],"t":[{"b":86,"é":6,"i":58,"j":86,"k":86,"n":86,"o":58,"p":86,"r":86,"t":86,"v":86}]},53],"ü":[{"g":[{"e":6,"y":6}],"k":[{"ü":6}],"l":[{"e":[{"t":[{"o":30}]},47]}],"n":[{"n":86}],"r":[{"e":6,"í":58}],"s":[{"t":86}],"t":[{"e":58,"é":6,"k":86,"ö":58}],"v":[{"e":6}],"z":[{"e":6}]},53],"ű":[{"z":[{"ő":6}]},53],"v":[{"á":[{"r":[{"a":[{"l":14}]}]}]}],"w":[{"h":[{"i":[{"s":[{"k":[{"y":33}]}]},6]}]}],"y":[{"b":[{"a":6,"ó":6}],"d":[{"o":6}],"h":[{"o":6}],"j":[{"a":6,"á":6}],"k":[{"a":6,"é":6,"i":6,"o":6}],"m":[{"a":6}],"n":[{"a":6,"á":6}],"r":[{"a":6,"ó":6}],"t":[{"h":19,"ó":6}],"v":[{"a":6,"á":6}]}],"z":[{"e":[{"t":[{"a":2,"á":2,"e":[{"r":2}]}]}],"ő":[{"a":10,"e":10,"é":10}]}]}],"q":[{".":47,"a":53,"á":53,"e":53,"é":53,"i":53,"í":53,"o":53,"ó":53,"ö":53,"ő":53,"u":[{"a":[{"e":6,"t":6}],"e":[{"r":6,"z":[{"i":11},6]}],"é":[{"b":6}],"i":[{"e":6,"j":6,"l":6,"n":6,"s":6}],"o":[{"d":6}]},53],"ú":53,"ü":53,"ű":53}],"r":[{".":47,"a":[{"a":[{"d":11}],"á":[{"t":[{"a":[{"d":32}]}]}],"b":[{"a":[{"d":6,"s":[{"z":9}]}],"á":[{"r":[{"a":8,"b":9,"r":9}],"t":12}],"e":[{"l":[{"e":12,"l":12}]}],"i":[{"d":6,"g":[{"a":12,"á":12},10],"m":12,"n":[{"a":[{".":13}],"á":13,"d":6,"t":12}]}],"l":[{"a":47}],"r":[{"i":5}],"u":[{"j":6}]}],"c":[{"a":[{"j":12}],"c":[{"s":[{"a":20}]}],"e":[{"t":6}],"h":[{"a":6,"i":[{"g":20}],"o":[{"k":21,"s":21,"t":21}]}],"i":[{"d":58}],"k":[{"a":[{"r":11}],"i":[{"t":11}],"ö":2,"ü":11}]}],"d":[{"a":[{"g":6,"l":[{"é":6}],"r":[{"a":[{"d":10}]}],"t":[{"é":47}]}],"á":[{"s":[{"s":7}]}],"e":[{".":6}],"í":[{"c":47},55],"m":47,"ó":[{"s":[{"i":[{".":71}]}],"z":58}],"r":[{"á":5,"u":5}],"u":[{".":58,"s":6}]}],"e":[{"r":11}],"é":[{"d":[{"e":[{"r":[{"b":11,"e":11,"h":11,"n":11,"r":11,"t":11}]}]}],"r":11}],"f":[{"i":[{"k":[{"u":[{"s":[{"s":28}]}]}]}],"l":5}],"g":[{"a":[{".":58,"k":6,"l":[{"o":9}]}],"á":[{"c":12,"é":6,"n":58}],"d":[{"e":11,"i":[{"n":11},32]}],"e":[{"l":6}],"i":[{"n":[{"a":[{".":13}]}]}],"y":[{".":86,"a":[{"t":6}],"n":86,"o":[{"n":6}],"r":86}]}],"i":[{"o":11,"z":[{"á":47,"i":47,"n":47,"ó":47,"u":47}]}],"j":[{"a":[{"d":13,"u":12}],"á":[{"r":[{"u":13}]}],"e":[{"s":12}],"i":[{"n":6}],"k":[{"á":[{"r":[{"ó":47}]}],"ú":86}],"o":[{"b":32}],"t":[{"e":[{"l":2,"n":14}]}],"z":[{"a":[{"t":11}],"e":14,"ó":[{"n":14}],"s":4}]}],"k":[{"a":[{"r":[{"a":58}]}],"k":[{"é":[{"p":11}],"i":[{"s":11}]}],"l":[{"i":19,"o":5,"ó":5,"u":5}],"n":[{"á":[{"b":47,"i":47}]}],"ó":[{"z":54}],"r":[{"e":11,"é":19,"i":19,"o":[{"m":11}]}],"t":[{"u":[{"s":[{"s":22}]}]}],"u":[{"s":58}]}],"l":[{"a":[{"b":0,"g":139,"k":[{"u":62}],"p":[{"a":6,"ú":54}]}],"á":[{"z":[{"á":6,"ó":6}]}],"b":86,"j":[{"a":[{"i":[{".":86}]}],"i":86}],"k":47,"l":[{"a":[{"k":[{"ó":14},32],"t":14}],"á":[{"g":11,"l":11},32],"e":[{"v":11}]}],"o":[{"m":[{"e":30}]}]}],"m":[{"a":[{"b":6,"d":[{"a":9}],"i":47,"k":[{"k":9}],"l":[{"a":9},10],"n":[{"y":12}]}],"á":[{"l":[{"l":9}],"r":[{"á":12,"b":12,"e":12,"h":12,"n":12,"r":12}]}],"b":9,"é":[{"h":[{"e":12}]}],"i":[{"d":[{"e":9}],"k":[{"o":8}],"l":[{"l":9}],"m":12,"n":[{"a":9,"f":9,"g":9,"j":9}],"p":13}],"m":[{"b":47,"e":[{"t":47}],"i":47,"j":47,"n":47,"r":47,"t":47}],"o":[{"s":[{"z":12}]}],"ó":[{"r":13}],"ö":6,"ő":6,"ü":6}],"n":[{"a":[{"l":58,"t":58}],"á":[{"s":[{"s":7}]}],"c":[{"s":[{"a":[{"l":11}],"á":[{"g":7}],"e":11,"i":[{"k":11}],"ő":11,"z":38}]}],"d":[{".":47,"a":[{"t":11,"u":14}],"j":47,"z":11}],"e":[{"k":6}],"g":[{"a":2,"á":14,"e":[{"l":15},11],"ó":2,"y":[{"e":11}]}],"i":[{"l":6,"m":6}],"k":[{"a":47}],"s":[{"z":[{"á":[{"l":11}],"e":11,"o":[{"m":[{"b":7}]}]}]}],"y":[{".":47,"a":[{"g":6,"l":[{"a":15}],"n":23,"p":6,"r":24}],"á":[{"i":[{"t":54}],"k":[{"a":54,"h":54,"k":54}],"l":24,"s":[{".":48},6]}],"b":47,"e":[{"s":23}],"é":[{"l":6},47],"h":47,"i":[{"d":6,"n":6,"r":6}],"í":[{"r":15}],"k":47,"n":47,"o":[{"l":24}],"ó":[{"r":15},62],"ö":6,"r":47,"s":47,"t":47,"ü":24}],"z":[{"a":47}]}],"ó":[{"a":6,"á":6,"f":6,"l":[{"á":6}],"m":6,"p":6,"s":[{"z":6}]}],"p":[{"a":[{".":47}],"á":[{"k":6}],"p":[{"i":[{"n":11}]},47],"r":[{"e":19,"é":5,"i":19,"o":19}]}],"r":[{"a":[{"n":[{"n":47,"y":[{".":86,"a":[{".":58}],"á":58,"b":47,"n":47,"r":47,"t":86}]}],"t":6}],"c":[{"o":86}],"é":[{"n":6}],"t":86,"z":86}],"s":[{"k":[{"á":19}],"l":19,"p":[{"e":19,"o":19}],"s":[{"z":[{"e":7,"o":[{"c":47}]}]}],"t":[{"a":19,"á":5,"r":5},10],"z":[{"a":[{"b":[{"l":24}],"j":24,"s":6,"t":6}],"á":[{"g":6,"r":[{"r":24}]}],"e":[{"m":[{"b":3}]}],"é":[{"t":[{"t":24}]}],"ó":[{"b":6,"i":6,"n":6}],"ö":[{"s":6}],"t":[{"a":[{"n":[{"y":17}]}],"e":[{"l":30}],"é":[{"t":[{"e":17}]}],"ö":10,"ü":10}]}]}],"t":[{"a":[{"d":13,"j":[{"t":9}],"l":[{"a":8,"t":9}],"r":[{"á":9}]}],"á":[{"d":58,"l":[{"l":9}],"r":[{"a":[{"d":12,"i":13,"k":13}],"b":12,"v":12}],"t":[{"a":16}],"v":[{"i":10}]}],"e":[{"g":13,"l":[{"k":12,"l":12}]}],"é":[{"g":[{"e":9},47],"r":[{"d":12,"k":[{"e":9}],"t":[{"e":6}],"v":12}]}],"i":[{"n":[{"g":9}]}],"í":[{"r":12,"v":[{"e":12}]}],"k":[{"á":86}],"l":[{"é":47}],"o":[{"z":[{".":47}]}],"r":[{"a":[{"n":19}]}],"t":[{"r":86}],"ü":[{"r":6}],"y":[{"a":6,"á":6,"u":6},47]}],"u":[{"d":[{"i":6}],"k":58,"l":[{"á":6}],"m":47,"n":11,"t":[{"a":11,"á":11,"o":6,"ó":[{"é":26},86]}]}],"ü":[{"t":11,"z":11}],"v":[{"a":[{"t":[{"ó":47}]}],"ú":47}],"x":[{"ü":6}],"y":[{"e":5,"é":5}],"z":[{"a":[{"j":[{"t":9}],"n":[{"y":12},10]}],"e":[{"l":6}],"o":[{"l":[{"t":12}],"n":[{"o":6}]}]}]},53],"á":[{"b":[{"r":[{"e":5}]}],"c":[{"a":[{"l":6}],"e":12,"h":21,"i":[{"n":13,"ó":[{"f":10}]}],"ö":6,"s":[{"a":[{"l":[{"a":6}]}],"á":[{"g":20}],"é":[{"t":6}],"i":[{"r":6,"s":24}]}],"ú":6,"ü":6}],"d":[{"a":[{"n":[{"y":12}]}],"á":[{"h":47}],"d":[{"á":47}],"j":[{"u":47}]}],"f":[{"h":[{"a":47,"e":47,"i":47}],"i":[{"d":47}],"r":[{"e":47}]}],"g":[{"a":[{"d":9,"m":47,"z":58}],"á":[{"z":[{"á":8}]}],"i":[{"a":6,"l":6,"m":6,"s":6}],"í":47,"o":[{"s":[{"z":12}]}],"u":[{"s":148}],"ü":6,"y":[{"a":47,"á":[{"b":47,"é":47,"h":47,"i":47,"j":47,"k":47,"n":47,"r":47,"s":47,"t":47,"v":47}],"u":6}]}],"í":[{"r":11}],"j":[{"k":[{"a":2,"e":[{"l":11}],"ó":2}],"ü":6}],"k":[{"á":[{"t":6}],"e":[{"r":[{"e":[{"d":12}]}],"s":13}],"l":[{"a":5}],"o":[{"g":47,"s":[{"z":12}]}],"ó":[{"n":12,"r":13}],"r":[{"á":5,"é":[{"t":5}]}]}],"l":[{"a":[{"k":12,"l":13,"n":[{"a":6}],"r":86,"t":[{"e":30}]}],"á":[{"l":6,"t":[{"l":9}]}],"c":[{"á":48}],"d":[{"á":86}],"i":[{"d":6,"m":6}],"í":6,"l":[{"a":[{"m":86,"p":86,"t":86}],"í":86,"o":[{"m":86}]}],"m":[{"a":86}],"ü":6,"y":[{"a":[{"l":6,"n":23,"p":6,"s":24,"v":6}],"ú":[{"s":6,"t":6}]}]}],"m":[{"ö":6}],"n":[{"a":[{"l":6,"n":13,"t":13}],"á":[{"r":12,"s":6}],"c":[{"c":3}],"é":[{"k":6}],"g":[{"á":[{"l":11}]}],"i":[{"z":6}],"í":6,"k":[{"l":9}],"o":[{"l":6,"t":6}],"ó":13,"s":[{"a":[{"v":11}],"s":27}],"t":[{"a":[{"k":14}]}],"ü":6,"y":[{"a":[{"d":23,"g":6,"k":[{"o":6}],"l":[{"t":3}],"n":23,"p":24,"r":6,"z":6}],"á":[{"r":[{".":24}]}],"é":[{"r":[{"m":6,"z":6}]}],"í":[{"r":23}],"o":[{"l":6}],"ó":6}]}],"p":[{"l":19,"o":[{"l":6},47],"r":19}],"r":[{"a":[{"d":[{"á":8},58],"i":58,"m":58,"s":58,"t":58,"z":6}],"á":[{"b":6,"h":6,"l":12,"r":6,"t":6,"v":6}],"e":[{"m":12}],"é":[{"r":6}],"h":86,"i":[{"a":[{"i":6}],"á":58,"n":6}],"j":86,"l":86,"n":86,"o":[{"l":12}],"t":[{"ó":48}],"u":[{"l":6,"n":6},47],"ú":[{".":6,"t":6,"v":6},47]}],"s":[{"a":[{"d":13,"k":[{"n":12}],"l":6,"r":[{"á":9},10],"s":12,"t":[{"á":47,"o":8}],"z":6}],"á":[{"g":[{"a":8}],"r":[{"a":[{"d":12,"k":12}],"á":13,"é":13}],"s":6}],"e":[{"r":6}],"i":[{"s":6}],"o":[{"l":12}],"ó":[{".":58,"b":47,"é":47,"g":47,"h":58,"i":47,"j":47,"k":47,"n":47,"r":[{"a":8,"ó":47}],"s":86,"t":47,"v":86}],"ő":6,"t":[{"r":9},10],"u":[{"t":6}],"z":[{"a":[{"n":6,"s":6}],"á":[{"r":[{"u":23}]}],"i":[{"v":6}],"ó":[{"n":20}]}]}],"t":[{"a":[{"d":[{"a":8},6],"l":[{"a":9}]}],"á":[{"l":54}],"é":[{"g":6,"l":6,"p":47}],"i":[{"o":13}],"í":6,"l":[{"é":86}],"r":[{"i":5,"o":5}],"u":[{"s":[{"s":7}]}],"ú":[{"r":6},10],"ü":[{"l":58}]}],"z":[{"a":[{"l":6}],"i":[{"s":[{"b":47,"é":47,"h":47,"k":47,"n":47,"r":47,"s":47,"t":47,"z":10}]}],"s":[{"a":[{"l":6}],"á":145,"e":15,"é":[{"n":6},32],"i":[{"a":32,"s":6}],"ó":6,"ü":15}]}]},53],"b":[{"a":[{"j":[{"e":14,"o":[{"k":[{"t":11}]}]}],"n":[{"á":14}]}],"á":[{"t":[{"y":[{"á":[{"t":[{"o":44},26]}]}]}]}],"e":[{"l":[{"l":52}]}],"l":[{"a":54,"o":54,"ú":6}],"o":[{"c":[{"c":3}],"l":[{"d":[{"a":52}]}],"n":[{"a":2}]}],"r":[{"a":54,"á":54,"i":6,"o":6,"ó":54,"u":6}],"u":[{"t":[{"e":14}]}]}],"c":[{"a":[{"d":[{"á":5}],"j":[{"t":5}],"l":[{"a":[{"k":11}],"k":52}],"n":[{"a":52,"y":[{"a":5}]}],"p":9,"r":[{"a":5,"á":5}],"s":[{"s":5}],"t":[{"o":19}]}],"á":[{"g":52,"l":51,"r":[{".":5,"i":52,"n":52,"o":51,"r":52,"t":52,"u":51}]}],"c":[{"s":[{"i":25,"í":25,"o":25,"ó":25,"ö":25}]}],"e":[{"g":[{"a":2,"g":3,"y":5}],"l":[{"e":[{"g":19}],"k":5,"ő":[{"d":19}],"s":52}],"m":[{"b":[{"e":[{"r":52}]}]}],"p":[{"e":52}],"v":[{"e":19}],"x":52,"z":52}],"é":[{"k":[{"é":[{"t":19}]}],"l":[{"e":52,"é":51,"i":51,"m":52,"ü":52}],"p":52,"r":[{".":52,"b":52,"i":51,"r":52}],"s":[{"z":5}]}],"f":[{"r":5}],"g":[{"r":5}],"h":[{"a":[{"s":55}],"e":[{"l":25,"n":0}],"i":[{"g":0}],"o":[{"m":0}],"u":25,"ú":55,"ű":55}],"i":[{"d":[{"e":52},11],"k":[{"o":51,"r":52}],"l":[{"l":5}],"m":[{"á":0,"i":52}],"n":[{"a":[{".":19}],"á":[{"b":11,"é":11,"r":19,"t":51}],"d":52}],"o":[{"n":[{"i":19}]}],"p":[{"a":51}],"s":[{"i":52,"k":52,"t":52}],"z":[{"m":5,"o":19}]}],"í":[{"j":52,"v":52}],"k":[{"é":[{".":54,"h":54,"i":54,"t":54}],"i":[{".":54,"a":54,"g":54}],"o":[{"k":54}],"r":[{"é":19}],"v":5}],"l":[{"u":54}],"o":[{"p":52,"r":51,"s":[{"z":52}]}],"ó":[{"n":5,"r":19,"v":5}],"ö":[{"b":52,"n":52,"r":52,"s":52}],"ő":[{"r":5}],"p":[{"l":5,"r":5}],"s":[{"a":[{"b":[{"l":9}],"l":[{"a":[{"k":9}]}],"p":[{"á":[{"g":17}]}],"r":[{"a":55,"l":0}]}],"á":[{"p":55,"r":[{".":55,"u":9}]}],"e":[{"j":55,"l":[{"e":[{"m":[{"e":0}]}],"r":56}]}],"é":[{"r":[{"b":56}]}],"i":[{"k":[{"r":0}]}],"í":[{"r":[{"á":[{"s":9}]}]}],"k":[{"á":34}],"o":[{"r":[{"a":55,"o":55}]}],"ó":[{"n":[{"a":[{"k":[{"á":141}]}]}]}],"ő":[{"s":[{".":9}]}],"p":[{"i":34},9],"s":9,"t":[{"o":25}],"z":25}],"t":[{"r":5}],"u":[{"d":52,"r":52,"t":52}],"ú":[{"j":52}],"ü":[{"g":5,"r":52,"s":52,"t":52,"v":5,"z":5}],"ű":[{"z":5}],"z":[{"á":55,"ó":25,"s":25,"u":25,"ú":25}]}],"d":[{"a":[{"c":[{"é":[{"l":11}]}],"d":[{"a":[{"t":19}]}],"k":[{"c":52}],"l":[{"í":2,"k":[{"a":5,"o":5}]}],"n":[{"y":[{"a":51}]}],"p":9,"r":[{"á":[{"n":19}],"c":52}],"s":[{"z":[{"t":5}]}],"z":[{"o":52}]}],"á":[{"c":[{"s":[{".":5}]}],"r":[{"a":[{"k":19,"t":5}],"o":[{"n":19}],"v":52}],"s":[{"s":3}]}],"b":[{"l":5}],"d":[{"z":25}],"e":[{"g":51,"k":[{"a":2,"e":[{"r":11}],"é":[{"k":11}],"o":[{"l":11}],"ö":2}],"l":[{"a":52}],"s":[{"ő":[{"t":11}]}],"x":[{"p":5}],"z":[{"ő":[{"p":115}]}]}],"é":[{"g":51,"l":[{"é":19,"r":5,"t":5,"ü":19}],"p":52,"r":[{".":52,"d":52,"i":51}],"s":[{"a":11,"z":[{"a":11}]}],"v":[{"é":51}]}],"f":[{"r":5}],"i":[{"d":51,"g":[{"a":51,"é":52}],"m":[{"a":52}],"n":[{"a":[{".":51,"i":51}],"á":[{"t":[{".":51}]}]}],"o":[{"x":10}],"z":[{"o":5}]}],"í":[{"g":52,"z":52}],"k":[{"l":5}],"o":[{"k":[{"t":[{"a":52}]}],"l":[{"d":52}],"r":[{"r":5}],"s":[{"z":52}],"u":52}],"ó":[{"a":10,"r":[{"á":19}]}],"ö":[{"g":[{"ö":[{"l":14}]}],"l":52,"s":52,"v":5}],"ő":[{"s":[{"o":[{"r":[{"r":14}]}]}]}],"p":[{"r":5}],"r":[{"a":[{"m":54,"p":6,"z":54}],"o":[{"g":6}],"ó":[{"t":54}]}],"s":[{"k":5,"p":5,"t":5,"z":[{"a":[{"k":43}]}]}],"t":[{"r":19}],"u":[{"d":[{"v":5}],"r":[{"á":52}]}],"ü":[{"g":5,"t":52}],"z":[{"a":55,"á":55,"o":25,"ó":25,"ö":55,"s":[{"í":25}],"ú":55}]}],"e":[{"a":[{"d":11,"j":11,"k":[{"a":11}],"l":[{"a":11}],"r":11}],"á":[{"l":[{"á":47,"ó":47}]}],"b":[{".":86,"b":[{"ő":86}],"e":[{"g":[{"y":9}]}],"é":[{"d":58}],"h":86,"k":86,"m":86,"n":86,"s":86,"v":86}],"c":[{"a":[{"j":6,"l":6}],"á":6,"e":[{"t":[{"s":47}]}],"h":6,"s":[{"a":[{"r":20}],"e":[{"t":58}],"o":[{"r":20}]}],"z":6}],"d":[{"a":[{"n":6}],"e":[{"l":[{"v":9}],"n":[{"d":47}],"r":13,"t":[{"i":47,"ű":47}]}],"é":[{"n":[{"y":47}],"v":[{"e":[{"s":13}]}]}],"i":[{"r":6}],"o":[{"r":6}],"z":[{"ő":[{"b":86,"j":47,"k":58,"r":47,"t":58,"v":47}]}]}],"e":[{"t":6,"w":6}],"f":[{"f":47}],"g":[{"a":[{"p":6,"s":6}],"á":[{"l":[{"l":9}],"r":6}],"e":[{"l":[{"e":8,"h":9,"l":9,"r":12,"v":9}],"n":[{"g":9}],"t":[{"e":[{"t":[{"ő":8}]}]}],"v":[{"é":8}]}],"é":[{"s":[{"z":22}]}],"i":[{"d":6,"n":[{"j":9}],"z":6}],"ó":[{"c":6,"v":11}],"ú":6,"ü":[{"l":[{"é":12},10]}],"y":[{".":86,"b":86,"e":[{".":6,"d":6,"n":6,"s":58,"t":6,"z":58}],"é":58,"h":86,"k":86,"l":86,"n":86,"r":86,"s":86,"t":86,"ü":[{"n":6}],"v":48}]}],"i":[{"r":[{"á":11}]}],"j":[{"a":6,"é":[{"é":47}],"ű":[{"e":47,"n":47,"r":47,"t":47}]}],"k":[{"a":[{"g":12,"r":[{"á":12}],"s":[{"z":12}]}],"á":[{"l":13,"p":13,"r":[{".":12}],"s":6}],"e":[{"l":[{"h":9,"t":9,"ü":9}],"r":[{"d":9,"ő":13}],"s":[{"z":[{"á":111}]}]}],"é":[{"é":[{"h":47}],"j":6,"k":[{".":86,"h":9},6],"l":6,"n":[{"k":58}],"r":[{".":12,"d":12,"t":[{"e":12}]}],"s":[{".":58,"s":12}]}],"i":[{"d":12,"j":6,"l":6,"n":[{"g":12,"t":12}],"p":12}],"í":[{"r":6}],"k":8,"l":[{"u":5}],"o":[{"k":12,"l":[{"d":12}],"p":[{"t":9}],"s":12,"t":[{"t":9}]}],"ó":[{"r":6}],"ö":[{"k":6,"t":[{"l":6}]}],"ő":6,"s":[{"z":32},9],"u":[{"s":13}],"ü":[{"d":6,"g":12,"l":[{"é":12,"ő":12},10],"t":6}]}],"l":[{"a":[{"d":86}],"á":[{"g":58}],"b":[{"í":86,"o":86}],"c":86,"d":[{"o":86}],"e":[{"f":58,"k":[{"t":[{"r":47}]}],"m":[{"a":10,"e":[{".":62,"d":58,"g":10,"i":47,"k":62,"m":[{".":47,"e":58,"m":47}],"n":58,"r":30,"s":[{".":47,"e":58,"n":47}],"t":58,"z":[{"é":6}]}],"é":[{"r":[{".":30}]}],"t":[{"e":[{"l":58}]}],"ü":[{"k":47,"n":[{"k":47}]}],"z":[{"é":47,"ő":47}]}],"n":[{"g":102}]}],"é":[{"r":47}],"f":86,"h":[{"a":86,"á":86,"e":[{"l":86}],"ú":86}],"j":[{"á":86}],"k":[{"é":86}],"l":[{"a":[{"n":14},32],"á":86,"ő":86}],"m":[{"a":86,"é":[{"é":[{"é":86,"h":47}],"i":[{".":86}],"l":47,"t":[{"e":47}]}]}],"n":[{"e":[{"v":86}],"ö":86,"y":86}],"o":[{"s":58}],"ő":[{"a":[{"d":58}],"d":[{"e":[{"i":47}],"ö":[{"k":58}]}],"n":[{"n":47,"y":[{"e":86}]}],"z":[{"m":47}]}],"s":[{"o":86,"z":[{"á":86}]}],"t":[{"a":86,"á":[{"r":11,"v":86}],"e":[{"t":[{"t":[{".":86,"k":47}]}]}],"é":[{"r":[{"é":86}],"v":86}]}],"ú":47,"ü":[{"l":102}],"ű":47,"v":[{".":86,"á":86,"b":86,"e":[{"d":47,"i":86,"k":86,"m":86,"n":86,"s":86}],"é":[{".":86,"n":[{"e":86}],"r":86,"ü":86,"v":86}],"h":86,"i":86,"k":86,"n":86,"o":86,"r":86,"s":86,"t":86,"ü":86,"ű":86,"v":86}],"z":86}],"m":[{"a":[{"d":13,"s":[{"z":12}],"z":6}],"á":[{"l":12,"t":6}],"b":[{"a":[{"r":47}],"e":[{"r":[{".":86,"b":86,"e":[{".":86,"d":47,"i":86,"k":86,"s":86}],"é":86,"h":86,"i":86,"k":86,"n":86,"r":86,"s":47,"t":86,"ü":86}]}],"l":[{"e":9}],"ó":48,"r":47}],"e":[{"l":[{"e":[{"m":8}],"é":86,"g":86,"k":48,"ő":[{"d":9}],"s":9},6],"n":[{"g":12}],"s":[{"z":12}]}],"é":[{"r":[{".":12,"m":12}],"t":[{"e":13}]}],"i":[{"g":[{"r":6}]}],"ó":[{"r":12}],"ö":6,"ő":[{"r":13}],"p":8,"u":[{"k":47,"l":58,"r":9,"s":58}]}],"n":[{"c":[{"i":[{"k":86}]}],"d":[{"e":[{"r":2}],"é":[{"g":14,"j":11,"k":11}],"o":14,"ö":14,"ő":[{"s":2}]}],"e":[{"r":58}],"é":[{"s":[{"s":38}]}],"g":[{"e":[{"d":86}]}],"í":47,"s":[{"é":[{"g":14}],"s":27}]}],"o":[{"f":6}],"ó":[{"a":6,"c":6,"e":6,"é":6,"f":6,"k":[{"a":6}],"l":6,"o":6,"p":6,"s":[{"á":6,"z":6}]}],"p":[{"a":[{"j":12,"n":[{"a":9}],"s":[{"z":9}],"u":6,"z":6}],"á":[{"l":[{"l":9,"m":9}],"s":6,"t":6}],"e":[{"g":13,"l":[{"f":12,"k":12,"l":12,"m":6}],"n":[{"g":12}],"p":12,"r":[{".":58,"k":12}]}],"é":[{"d":47,"j":8,"n":[{"k":47}],"s":58}],"i":[{"d":13,"l":[{"l":[{"e":9}]}],"n":[{"t":9}]}],"o":[{"k":6,"s":[{"z":[{".":47,"t":[{".":47,"ó":9}]}]}]}],"ö":[{"r":[{"ö":12}]},10],"p":[{"l":9,"r":9}],"ú":6}],"r":[{"d":86,"e":[{"i":6,"j":6,"s":6,"z":6}],"g":86,"ó":[{"z":6}],"ő":58,"s":86}],"s":[{"a":[{"s":6}],"c":19,"e":[{"m":[{"é":86}],"p":[{"r":9}],"t":[{"e":[{"l":17}]}]}],"é":[{"l":86}],"k":[{"ü":47}],"s":[{"i":48}],"z":[{"a":[{"j":6}],"e":[{"t":58}],"í":[{"v":3}],"k":[{"ö":47}],"m":47,"t":[{"a":[{"n":30},26],"á":[{"l":10,"r":30}],"í":[{"v":17}],"o":[{"r":17,"s":30}]}],"ű":[{".":47,"e":58}]}]}],"t":[{"a":[{"b":12,"k":[{"t":12}],"l":[{"a":8},6],"n":[{"t":6,"y":13}]}],"á":[{"g":6,"r":[{"a":12,"o":12}],"t":[{"f":9}]}],"e":[{"l":[{"b":12,"l":12,"m":6}],"m":[{"e":[{"l":9}]}],"r":[{"k":12}],"s":[{"z":[{"á":111}]}],"t":[{"é":[{"s":[{".":58,"é":58,"n":47}]}]}]}],"é":[{"k":13,"l":12,"r":[{"b":12,"d":12}]}],"i":[{"d":6,"k":[{"a":58,"á":6}],"l":[{"l":9,"t":54}],"n":[{"g":12,"t":12}],"s":6}],"n":[{"i":[{"k":48}]}],"o":[{"k":12,"l":[{"d":12}],"s":12}],"ó":[{"r":6}],"ö":[{"r":[{"ö":12}],"v":13}],"t":[{"e":[{"s":[{"t":14}]}],"é":[{"n":[{"e":11}]}],"i":[{"n":14}]}],"u":[{"t":12}],"ü":[{"l":[{"t":12}]}],"ű":[{"d":6}]}],"u":[{"d":6,"t":[{"e":6}]}],"v":[{"e":[{"z":[{"ő":6}]}],"ő":58}],"x":[{"p":86}],"z":[{"e":[{"t":[{"n":47,"ü":47}]}],"o":[{"r":47}],"ő":[{"k":[{"h":47}]}],"r":86,"ü":[{"s":47}]}]},53],"é":[{"b":[{"á":6,"i":[{"s":6,"v":6}],"í":6,"r":[{"e":[{"s":47}]}],"ü":6}],"d":[{"e":[{"s":58}]}],"f":[{"á":47}],"g":[{"b":86,"é":[{"t":6}],"n":86,"ó":13,"ő":6,"t":47}],"h":[{".":86,"e":[{"n":58,"s":58,"t":58}],"s":86,"t":86}],"j":[{"e":[{"n":6,"t":58}],"ü":[{"n":58}]}],"k":[{"a":[{"b":12,"c":6,"g":13,"n":13,"u":12}],"á":[{"s":[{"á":8}]}],"e":[{"b":13,"g":12,"l":[{"e":9,"ő":9,"r":9,"s":9},6],"s":[{"z":12}]}],"é":[{"t":[{"e":12}]}],"i":[{"k":6,"n":6,"t":6}],"o":[{"l":[{"a":9,"d":9}]}],"ö":[{"r":6,"v":13,"z":6}],"ő":6,"u":[{"t":12},10],"ú":12}],"l":[{"e":[{"t":[{".":6,"b":6,"e":58,"é":6,"h":6,"n":6,"r":6,"t":6,"ü":6}]}],"f":86,"m":86,"y":47}],"m":[{"a":[{"d":6,"l":13,"n":12,"r":6,"u":6}],"á":[{"l":12,"r":6}],"e":[{"l":[{"e":8},6],"r":6}],"é":[{"r":[{"é":13}]}],"i":[{"l":6,"s":[{"t":12}]}],"o":[{"s":6}],"ó":6,"ö":6,"t":[{"u":47}]}],"n":[{"a":[{"p":15}],"e":[{"k":[{"h":58,"i":58,"l":47,"ü":58}],"l":6,"r":47}],"é":[{"j":13}],"ö":6,"y":[{"e":[{"l":23}]}]}],"p":[{"e":[{"d":12,"g":6,"s":6}],"i":[{"p":12},10],"í":58,"o":[{"l":6}],"ö":6,"ü":[{"l":86},6]}],"r":[{".":86,"b":86,"c":86,"d":86,"e":[{"t":58,"z":58}],"é":[{".":6,"b":6,"n":6,"r":6,"s":[{".":6,"e":6,"é":6,"h":6,"i":6,"k":6,"n":6,"r":6,"s":6,"t":6,"ü":6}],"t":6}],"f":86,"h":86,"i":[{"e":6,"g":6}],"k":86,"l":86,"m":86,"n":86,"ő":[{".":58,"k":6}],"r":86,"t":[{"á":86,"e":86,"é":86,"í":86,"ő":86}],"ü":58,"v":86,"z":86}],"s":[{"a":[{"l":6,"r":6},10],"á":[{"r":12,"t":6}],"e":[{"g":6,"l":[{"l":9}],"r":12}],"é":[{"s":6}],"ő":13,"s":[{"z":[{"a":20}]}],"ú":6,"ü":[{"t":13,"v":13}],"z":[{"a":[{"l":15,"n":6,"v":20}],"á":[{"l":3}],"e":[{"m":[{"l":24}],"s":[{"z":23}]}],"é":[{"k":23}],"i":[{"n":[{"t":[{"e":6}]}]}],"í":[{"v":15}],"o":[{"k":6,"l":6}],"ó":[{"r":15},6],"ő":[{"r":6}],"s":27,"t":[{"r":15}],"u":6,"ú":6,"ü":[{"l":[{"ő":24},32]}]}]}],"t":[{"á":[{"z":47}],"e":[{"g":[{"y":12}],"l":[{"m":9},62],"r":47,"s":[{"z":13}],"t":[{"ő":58}]}],"é":[{"k":13}],"i":[{"z":6}],"o":[{"l":6,"s":12}],"r":[{"é":5}],"u":[{"d":6}]}],"v":[{"á":[{"t":6},10],"e":[{".":47,"i":47,"k":[{"é":9}]}],"é":[{"l":13,"r":[{"i":12}],"t":[{"e":12},66],"v":58}],"f":47,"h":47,"t":47,"ú":6,"v":47}],"z":[{"a":13,"á":[{"r":12},10],"e":[{"g":13,"l":[{"ő":9},10],"r":6,"s":6,"t":[{"e":9},10]}],"i":[{"d":6,"n":6,"o":6,"p":6,"s":[{"z":9}]}],"o":[{"s":6}],"ó":[{"r":12},10],"ö":6,"s":[{"a":6,"á":21,"e":21,"i":21,"í":6,"o":6,"u":6}]}]},53],"f":[{"á":[{"l":5}],"é":[{"p":52,"s":[{"z":[{"a":11,"á":11}]}]}],"f":[{"l":5}],"i":[{"a":[{"n":10}],"b":8,"d":10,"i":10,"k":[{"r":9},10],"n":[{"d":5}],"s":[{"k":5,"z":75}],"t":[{"r":9},10]}],"k":[{"l":5,"r":5}],"l":[{"a":6,"o":6,"ó":6,"u":6}],"o":[{"k":[{"t":5}]}],"ő":[{"r":[{"ü":5}]}],"p":[{"r":5}],"r":[{"á":54,"í":6,"ö":54}],"s":[{"p":5,"t":5}],"ú":[{"t":52}]}],"g":[{"a":[{"k":8}],"á":[{"c":[{"s":[{"a":[{"l":11,"n":11,"v":11}]}]}],"z":[{"é":14}]}],"e":[{"o":11,"r":[{"a":14}]}],"é":[{"s":[{"s":27}]}],"h":[{"a":[{".":6}]}],"i":[{"a":[{"i":[{"a":11}],"k":[{"o":11}],"l":11,"s":[{"o":11}]}],"l":6}],"l":[{"a":6,"e":6,"o":6,"ó":6}],"n":[{"ó":54}],"ö":[{"l":[{"e":20},6]}],"ő":[{"c":[{"s":[{"a":26}]}],"z":[{"ö":[{"l":[{"t":14}]}],"ő":[{"s":14}]}]}],"r":[{"á":54,"u":54}],"y":[{"a":[{"d":[{"o":0}],"j":56,"l":[{"a":[{"k":0,"p":56}],"g":[{"á":56}],"k":56}],"n":[{"y":56}],"p":0,"r":[{"c":0}],"s":[{"z":56}],"u":0,"z":56}],"á":[{"l":0,"z":61}],"e":[{"g":56,"l":61,"n":[{"c":56}],"s":61}],"é":[{"s":56,"v":[{"é":0}]}],"i":[{"m":0,"n":[{"t":56}],"p":0,"r":[{"a":9}]}],"o":[{"k":56}],"ö":[{"z":56}],"ő":[{"r":0}]}]}],"h":[{"a":[{"j":[{"ó":[{"é":[{"r":26}]}]}],"t":[{"á":[{"s":[{"ú":[{"t":43}]}]}]}]}],"á":[{"z":[{"a":[{"d":[{"a":14},32],"l":11}],"i":[{"p":11}],"s":4}]}],"i":[{"t":[{"k":[{"ö":[{"z":28}]}]}]}],"o":[{"e":[{"á":53}]}]}],"i":[{"a":[{"a":6,"á":6,"b":[{"a":6,"á":6,"o":6},9],"c":6,"e":6,"é":6,"f":[{"a":[{"g":6}],"r":6},9],"g":13,"h":6,"i":[{"k":31}],"í":6,"j":6,"k":[{"é":[{"n":[{".":6}]}],"ó":6}],"l":[{"a":6,"á":6,"u":6}],"m":6,"n":[{"a":6}],"o":6,"ó":6,"ö":6,"ő":6,"p":13,"r":[{"á":6,"é":6}],"s":[{"z":[{"a":6,"á":6,"i":6,"o":6}]}],"t":[{"é":6,"o":6,"r":13}],"u":6,"ú":6,"ü":6,"v":6,"z":6}],"á":[{"s":[{"á":47,"z":47}],"z":[{"ó":[{"s":54}]}]}],"b":[{"é":47,"o":[{"l":6}],"r":86,"ü":47}],"c":[{"e":[{"l":13}],"s":[{"i":[{"l":3}]}]}],"d":[{"a":[{"l":13}],"á":[{"l":6}],"d":9,"e":[{".":6,"á":58,"i":6,"j":47,"l":6,"o":6,"r":[{"e":9}],"s":[{"z":12}]}],"i":[{"l":47}],"o":[{"m":58}],"ő":58,"u":6}],"e":[{"d":6,"l":149,"r":71}],"f":[{"l":5,"r":[{"á":19}]}],"g":[{"e":[{".":58}],"é":58,"i":47,"l":[{"a":5}],"r":86}],"h":[{"a":[{"r":6}],"l":86,"ó":[{"n":7},10]}],"j":[{"e":[{"s":47}]}],"k":[{"l":[{"o":5,"ó":19}],"r":[{"i":19}]}],"l":[{"a":[{"l":6}],"l":[{"e":[{"h":2}],"é":[{"t":11}],"i":[{"n":14}],"ő":14,"u":47,"ú":47}],"ó":47}],"m":[{"á":[{"d":[{"a":47,"á":47}]}],"p":86}],"n":[{"a":[{"d":13,"i":58,"j":6,"l":13,"n":13,"r":13,"s":[{".":47,"á":58,"n":47,"o":58,"s":6,"t":58,"z":126}],"t":[{".":6}]}],"c":[{"a":14,"á":11,"c":27,"e":[{"g":14,"l":11,"r":11}],"o":11,"s":[{"é":[{"r":11}],"i":11}]}],"d":[{"e":86,"u":86}],"e":[{"g":6}],"f":[{"l":47}],"g":[{"á":[{"l":11}],"e":[{"l":11}],"é":[{"t":86}],"ü":[{"l":11}]}],"h":[{"a":86}],"i":[{"c":58,"l":6,"p":12}],"j":[{"e":[{"k":86}]}],"k":[{"r":[{"é":9}]}],"n":20,"s":[{"p":86,"t":86}],"t":[{"a":[{"d":14}],"á":[{"r":[{"a":11,"o":11,"s":11},32]}],"e":[{"n":47,"r":[{"f":47}]}],"é":[{"r":[{".":14,"é":14,"i":14},32]}],"ő":[{".":47,"k":47}]}],"ü":[{"l":6}]}],"o":[{"k":13,"l":[{"o":[{"k":11}]}],"m":6,"n":[{"n":47,"o":47}],"x":47}],"ó":[{"a":6,"á":6,"c":6,"d":[{"a":[{"r":6}]}],"e":6,"g":6,"k":[{"e":6}],"l":6,"m":[{"á":6,"é":6}],"o":6,"p":12,"ü":6}],"p":[{"a":[{"i":58,"r":[{".":47,"a":86,"á":58,"b":47,"é":47,"h":47,"i":[{"l":47,"n":47}],"n":47,"r":47,"s":47,"t":[{"e":47,"ó":47}],"u":47}]}],"l":47,"o":[{"r":[{"t":[{"a":32}]}]}]}],"r":[{"a":[{"m":58,"t":58}],"á":58,"h":86,"i":58,"o":58,"ó":[{"n":58}],"r":86,"t":86}],"s":[{"a":[{"r":12,"s":12}],"á":[{"l":12,"p":6}],"e":[{"l":13,"m":[{"b":12}],"r":13}],"i":[{"d":6,"i":6,"l":6,"s":12}],"m":[{"é":[{"r":[{"v":47}]}]}],"o":[{"r":[{".":12,"t":12}]}],"p":[{"á":86}],"t":[{"á":[{"l":47}]}],"u":[{"t":6}],"ü":[{"t":[{"é":9,"ő":[{".":13}]}],"v":13}],"z":[{"á":[{"k":58}]}]}],"t":[{"a":[{"d":13,"l":[{".":47,"b":86,"k":9,"l":86,"n":47,"o":86,"r":47,"t":86},6],"n":[{"y":8}]}],"á":[{"g":6}],"e":[{"l":[{"l":9}]}],"i":[{"o":13}],"í":12}],"u":[{"m":[{"é":[{"n":[{"e":11}]}],"h":[{"i":[{"d":[{"r":65},33]}]}],"i":[{"o":2}]}]}],"v":[{"a":[{"d":58,"r":6}],"á":[{"s":58}],"o":47,"ó":58}],"x":[{"e":[{"l":12},10],"í":6,"ö":6}],"z":[{"a":47,"é":[{"t":54}],"m":[{"i":86,"o":86,"u":[{"k":47}],"ú":47}],"s":[{"a":[{"r":6}],"e":[{"b":6,"l":6}]}],"z":[{"a":86,"ó":86}]}]},53],"í":[{"g":[{"é":6}],"j":[{".":47,"a":[{"i":6,"k":6,"m":6,"s":6}],"á":[{"n":6,"t":6,"v":6},47],"h":86,"j":86,"l":86,"r":86,"v":86}],"m":[{"a":[{"l":13}],"á":47,"e":[{"m":[{"b":9}]}],"o":6,"ö":6}],"n":[{"é":6,"s":86}],"r":[{"a":6,"á":54,"ó":54}],"t":[{"é":[{"l":47,"s":[{"s":38}]}],"ő":[{"a":32,"e":32,"k":[{"é":[{"s":[{"z":65}]}]}]}]}],"v":[{".":86,"a":10,"b":86,"e":58,"é":58,"h":86,"i":6,"ü":54,"ű":6,"v":86}],"z":[{"a":6,"e":[{"l":12}],"i":[{"s":[{"s":38}]}],"o":6}]},53],"j":[{"a":[{"d":[{"o":52}],"n":[{"y":5}]}],"á":[{"g":52,"p":52}],"e":[{"t":10}],"i":[{"d":52}],"ö":[{"s":52}],"u":[{"r":51}]}],"k":[{"a":[{"b":9,"n":[{"g":5}],"p":[{"r":9}],"r":[{"o":[{"s":67}],"ó":[{"r":73}]}],"s":[{"ü":[{"v":2}]}],"t":[{"r":8}]}],"á":[{"c":[{"s":[{".":52,"á":11}]}],"n":[{"e":11}],"r":[{"i":51,"o":[{"m":3}],"u":51}]}],"e":[{"d":[{"z":51}],"l":[{"e":[{"m":19}],"m":6,"t":[{"á":52}]}],"p":9,"r":[{"d":52,"e":[{"d":[{"ő":5}],"i":51,"z":51}],"ő":51}],"s":[{"z":[{"ö":11}]}],"x":52}],"é":[{"p":[{"e":[{"l":2}],"é":[{"s":[{"s":14}]}]}],"r":[{".":52,"t":[{"é":52}]}],"t":[{"t":52}]}],"h":[{"é":54,"ó":[{"n":6}]}],"i":[{"a":10,"e":10,"g":[{"a":[{"z":22},5]},11],"l":[{"e":[{"n":[{"c":28}]}]}],"m":[{"i":52}],"n":[{"g":[{"a":5}]}],"o":[{"n":[{"t":[{".":11}]}]}],"s":[{"e":[{"m":11}]}],"z":[{"a":14,"o":5}]}],"k":[{"l":5}],"l":[{"i":[{"e":48}],"í":54,"o":54,"ó":54}],"o":[{"l":[{"a":[{"j":19}]}],"n":[{"y":[{"a":11}]}],"v":[{"i":[{".":11,"t":11}]}]}],"ó":[{"n":[{"é":52}],"r":[{"á":19,"i":19}]}],"ö":[{"l":[{"t":[{"é":[{"s":[{"i":52}]}]}]}],"t":[{"l":52}],"z":[{"ő":11}]}],"ő":[{"r":[{".":5,"é":19,"k":5,"n":5,"ö":19,"r":5,"s":5,"t":5}]}],"r":[{"é":[{"m":6}],"i":54,"í":54,"o":[{"m":54}]}],"s":[{"h":5}],"t":[{"u":[{"s":[{"s":7}]}]}],"u":[{"d":[{"v":5}],"g":52,"s":[{"z":[{"e":11}]}]}],"ú":[{"s":[{"z":51}]}],"ü":[{"d":52,"g":52}],"v":[{"ó":6}]}],"l":[{"a":[{"g":[{"g":3,"o":[{"l":14}]}],"p":[{"a":14,"á":[{"l":11}],"e":3,"o":[{"l":11,"s":[{"z":14}]}],"r":[{"o":9}]}],"s":[{"t":8}],"t":[{"a":[{"n":2}],"ó":2}]}],"á":[{"p":[{"e":11}],"s":[{"s":27,"ú":[{"t":14}]}],"t":[{"e":2,"é":14,"o":[{"r":11}]}]}],"e":[{"g":[{"a":2,"á":14,"e":[{"r":11}],"g":3,"i":[{"g":[{"a":[{"z":65}]}]}]}],"í":10,"t":[{"á":2,"e":[{"g":14,"l":[{"l":11,"ő":14}]}],"é":[{"k":14,"l":11,"r":[{".":14,"v":14}]}]}],"ü":10}],"é":[{"s":[{"á":[{"t":[{"a":33},22]}],"s":27}]}],"g":[{"r":5}],"ó":[{"g":8,"ó":10,"t":10}],"ő":[{"e":10,"s":[{"t":[{"a":9}]}]}]}],"m":[{"a":[{"k":[{"a":[{"d":52}],"é":[{"s":[{"z":[{"ü":140}]}]}],"ó":51,"r":[{"é":9}]}],"l":[{"t":52}],"n":[{"y":[{"a":51}]}],"ó":10,"t":[{"á":[{"r":[{"u":2}]}],"u":[{"r":14}]}],"z":[{"o":[{"n":11}]}]}],"á":[{"l":[{"é":[{"r":11}]}],"n":[{"y":[{"a":[{"n":11}]}]}],"r":[{"a":[{"m":19}],"o":51,"u":0}]}],"c":[{"l":5}],"e":[{"g":[{"e":[{"r":3,"s":14},32],"é":14,"ö":39}],"k":[{"a":[{"n":14,"r":11}],"á":32,"e":[{"g":14,"l":2}],"é":[{"r":[{"d":11}]}],"o":[{"r":11,"t":11}],"ó":2,"ö":[{"r":[{"ö":11},32]}]}],"l":[{"k":5,"m":52}],"r":[{"a":[{"n":11,"s":11}],"i":[{"n":11}],"ő":[{"i":51,"k":[{".":11,"e":11,"n":11}],"m":51}],"t":[{"r":3},32]}],"s":[{"e":[{"m":5}]}],"t":[{"é":[{"l":14}],"i":[{"n":11}]}]}],"é":[{"k":[{"e":[{"l":2,"r":11}]}],"l":[{"e":51}],"p":52,"r":[{".":52,"t":[{"e":52}]}],"t":[{"k":52,"r":52,"t":52}]}],"i":[{"g":[{"a":52,"é":52},11],"l":[{"l":[{"a":5}]}],"n":[{"c":[{"s":38}],"t":[{"e":5}]}],"r":[{"á":52}],"s":[{"i":11,"k":[{"o":52}],"m":52}],"t":[{"e":[{"l":14},32]}]}],"í":[{"g":52}],"j":[{"o":[{"b":32}]}],"k":[{"l":5}],"o":[{"n":[{"a":14,"á":[{"r":11}],"e":14,"n":3}],"p":[{"e":5}],"r":[{"s":52}],"s":[{"z":[{"f":[{"é":[{"r":75}]}]}]}]}],"ő":[{"s":[{"z":[{"á":11}]}]}],"p":[{"l":19,"r":19}],"s":[{"k":5,"t":5,"z":42}],"t":[{"r":5}],"ü":[{"g":5,"z":5}],"ű":[{"s":9}],"y":[{"a":5}]}],"n":[{"a":[{"b":9,"f":8,"g":[{"y":[{"ú":11}]}],"i":[{"k":10}],"k":[{"r":8}],"p":[{"e":[{"s":11}],"r":[{"o":9}]}],"s":[{"p":9,"z":75},10],"t":8}],"á":[{"c":[{"s":11}]}],"e":[{"l":[{".":52,"b":52,"f":52,"h":52,"j":52,"l":52,"n":52,"r":52,"t":52}],"m":[{"i":[{"s":14}]}],"s":[{"t":52}],"t":[{"a":2,"e":[{"l":150}],"o":3}]}],"é":[{"s":[{"t":9},10]}],"i":[{"d":51,"g":[{"a":52},11]}],"o":[{"k":[{"i":[{"s":11}]}]}],"ó":[{"d":8}],"ö":[{"k":[{"e":[{"t":11}]}]}],"u":[{"s":[{"s":[{"z":[{"e":27}]}]}]}],"y":[{"a":[{"d":[{"ó":8}],"k":[{"a":[{"d":0}]}],"l":[{"a":[{"k":[{"o":0}]}],"k":56}],"r":[{"c":0}]}],"á":[{"l":[{"m":9}]}],"e":[{"l":[{"l":56,"m":0,"n":56,"o":56,"v":[{"o":9}]}],"m":[{"b":9}],"r":[{"d":0,"e":[{"z":61}]}],"s":[{"ő":8}]}],"é":[{"k":[{"n":[{"é":9}]}],"s":[{"z":9}]}],"i":[{"d":56,"z":0}],"o":[{"l":[{"c":22,"d":9}],"r":56}],"ö":[{"k":9,"t":0}],"s":9,"u":[{"r":56}]}]}],"o":[{"a":[{"d":6,"n":11}],"b":[{"j":86,"l":47,"s":48}],"c":[{"k":[{"e":[{"r":5},11],"é":[{"n":11}],"o":[{"k":19,"n":19,"s":[{".":11}]}]}]}],"d":[{"ú":58}],"f":[{"i":[{"t":[{"á":[{"r":10}]}]}],"l":5,"r":5}],"g":[{"a":[{"d":12,"k":12,"l":6,"m":12,"r":6}],"á":[{"r":13,"z":12}],"e":[{"n":[{"c":9}],"r":6}],"l":[{"ó":19}],"o":[{"l":13,"r":6,"s":[{"z":12}]}],"ö":6,"r":[{"á":[{"f":[{".":19,"f":19}]},71]}],"u":[{"r":6},10],"ü":6,"y":71}],"h":[{"e":6,"ö":6}],"i":[{"s":6}],"j":[{"t":71}],"k":[{"a":[{".":6,"b":6,"c":6,"d":13,"i":[{"t":6}],"j":12,"k":6,"l":12,"n":[{"y":9}],"s":13}],"á":[{"b":6,"d":54,"l":12,"n":6,"s":13}],"e":[{"d":6,"n":12,"t":[{"t":[{".":47}]}]},10],"é":[{"k":6,"l":13,"p":6},0],"i":[{"d":6,"n":[{"g":12}]}],"í":12,"o":[{"d":47,"l":[{"d":9}]}],"ő":6,"s":[{"á":[{"g":86}]}],"t":[{"a":[{"t":86}],"á":[{"n":47}]},8],"u":[{"s":13}],"ú":[{".":6,"s":6},10],"ü":6}],"l":[{"a":[{"j":58,"n":10}],"á":[{"s":[{"s":7}]}],"d":[{"á":86,"ó":86}],"i":[{"d":13,"g":[{"a":[{"r":[{"c":49},33]}]}]}],"l":[{"a":[{"d":2,"g":11,"k":[{"n":14}],"n":11,"t":11}],"e":[{"g":11,"l":11}],"i":[{"s":11}],"ó":86}],"t":[{"á":[{"s":86}],"ó":[{".":86,"b":86,"é":47,"h":47,"i":86,"k":[{"é":47}],"m":47,"n":47,"t":86,"v":86}],"v":86}],"ü":6,"v":[{"a":[{"d":47,"s":47}]}],"y":[{"a":[{"i":58}],"á":[{"h":58,"n":58,"r":58}],"é":[{"b":47,"h":47,"i":47,"n":[{".":47}]}],"i":[{"é":[{"r":47}]}],"u":[{"k":58}]}]}],"m":[{"a":[{"j":[{"t":9}],"k":[{"k":9,"ó":9}],"r":[{"o":13}]}],"á":[{"l":12,"m":47,"r":[{"i":13,"k":12,"n":12,"o":13}]}],"b":[{"é":[{"n":11},32]}],"e":[{"g":6,"l":12,"r":13,"s":12}],"é":[{"j":6,"n":[{"e":13}]}],"f":[{"o":[{"s":14}]}],"i":[{"m":6,"n":[{"á":9}],"s":[{"t":9}],"t":[{"a":6}],"z":6}],"í":6,"k":[{"ö":[{"z":22}]}],"n":[{"i":86}],"o":[{"r":13}],"ó":[{"r":13}],"ö":6,"ő":6,"p":[{"r":9}],"ü":6}],"n":[{"a":[{"l":[{"j":9,"t":9,"u":9}],"n":[{"y":9}],"t":15,"u":[{"t":10}]}],"á":[{"t":[{"a":12,"r":12}]}],"c":[{"s":[{"e":[{"l":11,"m":11}]}]}],"e":[{"n":6,"s":[{"z":9}]}],"é":[{"r":[{".":12}]}],"g":[{"a":[{"l":11}]}],"i":[{"k":[{"o":13}],"m":13}],"í":6,"o":[{"p":6}],"ó":[{"c":6,"r":13}],"ö":6,"ő":6,"s":8,"t":[{"a":[{"b":11}],"e":[{"m":11,"v":11}],"é":[{"n":14}],"i":[{"n":11}],"í":11,"ó":[{"é":47,"h":86,"i":[{"g":47}],"s":47}]}],"ü":6,"y":[{"a":[{"c":6,"l":15}],"i":[{"d":6,"k":6,"r":6}],"ó":6}],"z":[{"a":[{"b":11,"l":14}],"e":[{"r":11}],"i":[{"n":11}],"o":[{"l":14,"r":14}],"ó":2,"z":3}]}],"o":[{"m":6,"s":6}],"p":[{"c":86,"e":[{"r":6},47],"l":19,"o":[{"s":3}],"s":11}],"r":[{"a":[{"k":6,"l":13,"t":6}],"á":[{"l":[{"l":9}]}],"e":[{"g":6,"l":12,"s":12},10],"i":[{"n":12}],"o":[{"s":[{"z":6}]}],"t":[{"r":9},10],"ü":6}],"s":[{"a":[{"r":6,"s":[{"s":9}],"t":[{"l":12}],"v":12}],"á":[{"r":[{"k":12,"o":12}]}],"e":[{"m":6}],"i":[{"s":[{"t":12}]}],"o":[{"l":12}],"ó":13,"ö":6,"ő":6,"s":[{"z":[{"e":20,"é":[{"k":20}]}]}],"t":[{"e":[{"t":11}],"o":[{"b":47,"l":11}],"y":[{"a":47}]}],"ú":[{"t":12}],"z":[{"a":[{"l":6,"n":6}],"á":[{"s":6}],"l":[{"o":86}],"ó":6,"t":[{"á":48}]}]}],"t":[{"é":47,"h":[{"e":19}],"o":[{"n":[{"a":10}]}],"r":[{"ó":19}],"t":[{"h":47}]}],"u":[{"n":6,"s":6}],"v":[{"a":[{"r":[{"e":10}]}],"á":[{"s":[{"s":7}]}],"i":[{".":58,"b":58,"k":58,"s":6}]}],"x":[{"i":[{"d":[{"b":62,"r":62}],"l":[{"c":47}]}],"y":5}],"y":[{"a":5}],"z":[{"a":[{"t":[{"a":[{"l":10}]}]}],"s":[{"a":[{"n":6}]}]}]},53],"ó":[{"a":[{"d":11}],"b":[{"a":[{"j":[{"t":9}]}],"á":47}],"c":[{"c":20,"h":21,"i":[{"n":6}],"ö":12,"s":[{"á":21}],"z":6}],"d":[{"a":[{"i":6}],"e":[{"p":6}],"i":[{"a":[{"d":10}]}],"ő":6,"ü":6}],"é":[{"v":[{".":86,"e":47,"é":86}]}],"f":[{"a":[{"g":12}],"e":[{"a":47,"á":47}],"i":[{"v":12}],"s":47,"u":[{"r":6}]}],"g":[{"r":19}],"i":[{"g":11}],"k":[{"e":[{"r":[{"e":[{"s":[{"t":10}]}],"i":[{"n":30}]}]}],"l":19,"r":[{"é":5}]}],"l":[{"m":86,"o":[{"m":54}]}],"m":[{"a":[{"l":13,"r":[{"a":9},10]}],"á":[{"l":6}],"e":[{"l":10}],"é":[{"l":6}],"i":[{"s":[{"z":9}]}],"í":6,"k":47,"ö":6,"ü":6}],"n":[{"e":[{"m":10}],"é":[{"b":58,"é":47,"h":58,"n":58,"r":47,"t":47,"v":47}],"j":47,"n":47,"r":47,"u":[{"s":[{"s":38}]}],"ú":47,"ü":6}],"o":[{"k":11}],"ó":[{"r":11}],"p":[{"l":19,"r":[{"o":5}]}],"r":[{"a":[{"a":58,"c":58,"d":58,"e":58,"f":58,"g":58,"j":[{"e":47}],"m":58,"n":58,"p":58,"r":58,"s":58,"t":58,"ü":47,"v":58}],"á":[{"b":58,"d":58,"é":[{".":58,"n":62,"v":58}],"h":58,"i":58,"j":[{"a":6}],"k":[{"a":58,"b":58,"é":58,"h":62,"i":47,"k":58,"n":58,"o":58,"r":58,"t":58}],"n":[{".":58,"a":58,"á":58,"k":58,"y":58}],"r":58,"s":58,"t":58,"v":58}],"i":[{"á":58}]}],"s":[{"o":[{"r":[{"o":[{"m":9}]}]}],"p":[{"i":5}]}],"t":[{"b":47,"h":47,"i":[{"p":6,"s":[{"t":9}]}],"j":47,"k":47,"m":47,"n":47,"ö":[{"v":13}],"r":[{"i":5}],"ü":[{"l":6}]}],"v":[{"ó":58}],"z":[{"a":[{"t":15}],"e":12,"i":[{"n":12}],"ú":6,"ü":6}]},53],"ö":[{"b":[{"l":86,"ö":[{"l":[{".":58,"b":86,"h":86,"i":86,"l":86,"n":58,"r":86,"t":[{"ő":47}]}]}]}],"g":[{"a":6,"o":6,"ó":6}],"k":[{"é":[{"l":13,"r":[{"v":12}]}],"í":47,"l":[{"é":47}],"o":6,"ö":[{"r":58,"s":[{"é":47,"ö":47}]}],"r":[{"ö":86}]}],"l":[{"ő":[{"s":6}],"y":[{"ü":6}]}],"m":[{"a":6,"á":6,"e":[{".":47,"d":47,"g":6,"i":47}],"é":[{"n":47,"t":47,"v":47}],"í":6,"m":[{"ű":47}],"o":6,"ó":6,"ö":[{"d":47,"k":47,"t":47}],"u":6,"ü":47,"ű":47}],"n":[{"d":[{"e":14}],"k":[{"a":2,"e":2,"é":[{"p":11}],"o":[{"l":11,"s":11}],"ö":[{"l":14}],"ü":14}]}],"p":[{"i":13}],"r":[{"e":6,"ö":6}],"s":[{"a":6,"á":6,"o":6,"s":[{"z":[{"a":20}]}]}],"v":[{".":86,"b":86,"e":58,"é":54,"h":86,"n":86,"ö":58,"r":86,"ü":54,"v":86}]},53],"ő":[{"a":[{"n":11}],"á":[{"t":[{"a":32},3]}],"b":[{"l":5,"r":5}],"d":[{"á":6,"e":[{"l":13}],"o":[{"s":6}],"ő":[{"r":13}]}],"e":[{"l":11,"r":11,"s":11}],"é":[{"h":11,"l":11,"r":11,"t":[{"e":11}]}],"f":[{"a":[{"s":12}],"l":5,"ő":12}],"g":[{"é":[{"p":[{"é":[{"s":30}]}]}]}],"i":[{"t":[{"a":11}]}],"k":[{"l":5,"v":5}],"l":[{"t":47}],"p":[{"l":5,"r":5}],"r":[{".":86,"a":[{"k":9}],"e":[{"g":9,"i":54}],"h":48,"i":[{"n":9,"z":6}],"k":[{"ö":[{"z":22}]}],"l":86,"m":86,"n":86,"ö":6,"p":86,"r":86,"s":86,"t":86,"ü":58,"z":86}],"s":[{"á":[{"r":6},10],"í":[{"r":6}],"k":[{"á":5}],"ő":6,"p":[{"e":5,"i":19}],"t":[{"a":5,"r":5}],"ü":[{"l":[{"ő":12,"t":12},10],"t":13}],"ű":13,"z":[{"a":[{"k":[{"á":[{"l":32}]}]}]}]}],"u":[{"t":11}],"ü":[{"l":11}],"v":[{"a":[{"s":30}]}],"z":[{"i":[{".":6}],"ö":[{"n":6}]}]},53],"p":[{"e":[{"i":10,"s":[{"z":[{"e":[{"l":11}]}]}]}],"h":[{"e":6}],"i":[{"g":52,"s":[{"á":15}],"t":[{"a":14,"e":2}],"v":[{"á":52}]}],"l":[{"a":54,"e":6,"é":6,"u":6,"ü":6}],"r":[{"e":[{"c":[{"í":[{"z":28}]}]}],"é":54,"i":54,"í":54,"o":54,"ó":54}],"u":[{"s":[{"z":[{"é":11}]}]}],"ü":[{"z":52}]}],"r":[{"a":[{"l":[{"a":[{"p":51}]}],"s":[{"z":[{"a":11,"i":11}]}],"t":[{"a":[{"n":[{"y":3},32]}],"á":[{"r":2}],"e":14}]}],"á":[{"b":[{"r":52}],"d":[{"i":[{"ó":[{"k":[{"b":22},33]}]}]}],"g":[{"a":51,"y":51}],"r":[{"b":52}],"s":[{"a":[{"j":11,"r":11}],"á":[{"g":11}],"e":11,"s":27,"ü":11,"z":4}],"t":[{"a":[{"l":11}],"s":52}]}],"e":[{"l":[{"i":14}],"m":[{"b":5}],"n":[{"d":[{"ő":17}]}]}],"é":[{"k":52,"r":[{"i":52},11],"s":[{"e":[{"m":11}]}]}],"f":[{"l":5,"r":5}],"i":[{"d":[{"e":51}],"n":[{".":5,"g":5}],"r":52,"t":[{"a":11}],"z":[{"é":19,"g":5,"m":5}]}],"k":[{"r":19}],"o":[{"p":[{"e":5}],"r":[{"á":[{"l":11}],"o":[{"s":[{"z":3}]}]}]}],"ó":[{"d":[{"r":9}],"p":9}],"ö":[{"b":52,"s":52}],"p":[{"l":5,"r":5}],"s":[{"p":5}],"t":[{"r":19}],"u":[{"r":51}],"ü":[{"r":52,"t":52}],"y":[{"n":11}]}],"s":[{"a":[{"d":[{"ó":51}],"g":51,"i":[{"a":52,"l":73}],"k":[{"k":[{"u":5}]}],"l":[{"a":[{"n":5,"p":11}],"e":52,"m":5,"o":[{"m":[{"b":51}]}]}],"n":[{"a":52,"y":19}],"p":[{"á":51,"o":51}],"r":[{"a":[{".":19}],"c":52,"o":[{"m":5}],"z":5}],"t":[{"t":5}],"v":[{"a":[{"r":14}],"é":2,"i":14}],"x":52,"z":51}],"á":[{"b":[{"r":52}],"g":[{"g":3}],"l":[{"d":5}],"r":[{"é":51,"n":52,"r":52,"u":51}],"t":[{"é":5,"i":5}]}],"b":[{"l":5,"r":5}],"c":[{"h":[{"e":48,"é":20},31]}],"d":[{"r":19}],"e":[{"d":[{"z":5}],"f":52,"g":[{"é":[{"t":19}],"y":51}],"i":[{"l":11}],"k":[{"a":2,"e":[{"g":11}]}],"l":[{"e":[{"m":[{"e":51}]}],"f":5,"k":52,"ő":[{"a":51,"l":51}]}],"m":[{"i":19,"u":51}],"n":[{"y":[{"a":18,"e":[{"g":11,"l":18,"r":11}],"í":11,"ő":11}]}],"r":[{"d":52,"k":52,"ő":5}],"s":[{"s":52,"z":52}]}],"é":[{"g":[{"e":[{"l":14}]}],"l":52,"p":52,"r":[{".":52,"d":52,"l":52,"t":[{"é":[{"k":52}]}]}],"s":52,"t":[{"e":19,"k":5,"t":5}]}],"f":[{"r":5}],"g":[{"l":5,"r":5}],"i":[{"d":[{"e":5,"o":5},11],"g":[{"a":5},11],"k":[{"r":52}],"l":[{"l":52}],"m":[{"m":0}],"n":[{"d":5,"g":52,"t":52}],"o":51,"p":[{"a":19}],"r":[{"o":5}],"s":[{"i":51,"k":52,"m":52,"t":52}]}],"í":[{"r":[{"n":5,"ó":51,"t":52}]}],"k":[{"á":[{"l":54}],"j":48,"l":5,"r":19}],"l":[{"u":54}],"m":[{"i":[{"n":[{"k":6}]}]}],"n":[{"i":6}],"o":[{"n":[{"d":5,"y":[{"a":[{"l":11,"n":11,"t":11},26],"é":11}]}],"p":52,"r":[{"d":52,"g":52}],"s":[{"z":5}]}],"ó":[{"c":[{"s":[{"a":[{"p":28},26]}]}],"d":[{"á":52}],"n":[{"é":52}],"s":[{"z":[{"á":[{"r":[{"r":4}]}]}]}]}],"ö":[{"b":52,"n":[{"t":5}],"r":[{"v":5}],"s":52,"z":51}],"ő":[{"r":5}],"p":[{"l":5,"r":11}],"r":[{"á":[{"c":54}]}],"s":[{"t":19,"z":[{"a":[{"g":25,"k":25}],"á":25,"e":[{"m":[{".":25,"e":[{"t":25}]}],"r":[{".":25,"ű":[{".":25,"b":25,"e":25,"n":25,"s":25,"t":25,"v":25}]}]}],"i":25,"í":25,"ó":25,"ö":25}]}],"t":[{"a":[{"n":[{"d":48}],"t":54}],"á":[{"c":54,"t":54}],"o":[{"p":6}],"r":[{"a":[{"t":48}],"e":5,"é":5,"ó":48,"u":48},11],"ú":54}],"u":[{"r":[{"a":5},11],"t":[{"a":52,"á":5},11]}],"ú":[{"r":[{".":5,"i":19}],"s":51,"t":[{"o":5}]}],"ü":[{"d":52,"l":[{"d":5}],"z":52}],"z":[{"a":[{"k":[{"a":[{"l":17}],"e":30,"ö":10,"ü":30}],"l":[{"ó":0}],"m":55}],"á":[{"g":[{"g":7}],"r":[{"a":[{"z":28}],"l":25}]}],"e":[{"n":[{"é":55}]}],"f":76,"l":[{"o":11}],"m":11,"o":[{"m":[{"j":[{"a":[{"d":64}]}]}]}],"s":[{"e":25,"i":25}],"t":[{"a":[{"l":3},11],"á":[{"r":[{"v":3}]}],"r":[{"á":10}]}],"ű":[{"r":[{".":55}]}],"v":76}]}],"t":[{"a":[{"b":[{"l":[{"a":52}],"r":52}],"d":[{"a":[{"t":51}],"ó":19}],"g":[{"a":[{".":51}],"i":[{"t":5}]}],"j":[{"á":52,"t":[{"ó":5}]}],"k":[{"a":[{"r":[{"a":51}]}],"c":52,"r":[{"e":9,"é":8}]}],"l":[{"a":[{"p":[{"j":5}]}],"á":[{"b":19,"r":52}],"b":52,"e":[{"l":52}],"g":52,"j":52,"k":52,"t":52,"v":52}],"m":[{"é":[{"r":14}]}],"n":[{"i":[{"m":5}],"ó":[{"r":2}],"t":[{"o":52,"r":52}],"y":[{"a":[{"g":19}]}]}],"p":[{"p":5}],"r":[{"á":[{"n":5}],"c":52,"é":[{"n":11}]}],"t":[{"y":19}],"u":[{"t":[{"o":19}]}],"z":[{"o":52}]}],"á":[{"b":[{"r":5}],"f":52,"g":[{".":5,"a":19,"b":5,"g":5,"j":5,"n":5,"r":5,"s":5}],"l":[{"a":[{"d":11,"l":[{"a":11}]}]}],"r":[{"a":[{"d":[{"a":11}],"j":11,"m":[{"r":11}]}],"i":[{"a":5,"á":5,"n":52}],"s":[{"z":[{"i":5,"í":5}]}],"t":[{"a":52}],"u":[{"k":[{"é":11,"k":11,"n":11,"r":11,"t":11}],"r":52,"t":52}]}],"s":[{"á":[{"g":14,"s":52}],"z":4}],"t":[{"a":72,"l":52,"s":52,"v":52}],"v":[{"é":14,"i":32}]}],"b":[{"l":5,"r":5}],"c":[{"l":5,"r":5}],"d":[{"r":5}],"e":[{"a":10,"g":[{"é":19,"y":[{"e":19}]}],"i":10,"k":[{"s":52}],"l":[{"a":[{"d":52}],"b":52,"f":52,"j":[{"á":5}],"k":[{"e":[{"r":5}],"ö":5,"ü":5}],"l":[{"a":10,"á":17}],"m":[{"a":5}],"ő":[{"a":19,"l":11}],"r":52}],"m":[{"b":[{"e":[{"r":52}]}],"l":52}],"n":[{"c":52,"t":52}],"p":9,"r":[{"a":[{"c":11}],"á":[{"l":11}],"i":[{"n":14}],"m":[{"o":[{"s":[{"z":78}]},22]}],"o":[{"s":14}],"ó":51,"ő":52}],"s":[{"p":9,"t":[{"é":[{"k":5}],"n":[{"é":5}],"ü":[{"n":52}]}],"z":[{"e":[{".":11,"i":11,"k":11,"m":11,"t":11}],"k":52,"m":52,"ü":51}]}]}],"é":[{"d":51,"g":[{"i":19}],"k":[{"a":[{"j":11,"l":2}],"á":[{"t":[{"a":1}]}],"í":3,"o":[{"s":11}],"u":11}],"l":[{"e":[{"t":51}],"é":[{"n":11}],"i":19,"m":52}],"n":[{"e":[{"k":[{"e":51,"k":51,"r":51}]}]}],"p":[{"ü":52}],"r":[{"d":[{"e":[{"m":52}]}],"e":[{"m":52}],"é":51,"i":[{"n":52,"t":51}],"t":[{"e":[{"k":52}],"é":52}],"v":52,"z":52}],"s":[{"é":[{"g":14}],"k":[{"é":[{"s":[{"z":65}]}]}],"s":[{"z":[{"a":27}]}],"ü":[{"l":11}],"z":[{"á":11,"o":11,"ö":11,"s":[{"í":27}]}]}],"t":[{"k":52,"l":52,"t":52,"v":52}],"v":[{"e":[{".":51,"t":51}],"é":[{"n":[{"é":11}],"r":51}],"k":5}]}],"f":[{"l":5,"r":5}],"g":[{"r":5}],"h":[{"a":[{".":54}],"á":[{"g":54}]}],"i":[{"d":[{"e":51,"é":5,"i":5}],"f":[{"j":5}],"g":[{"é":51}],"l":[{"l":52}],"m":[{"á":0,"i":51,"p":52}],"n":[{"á":[{"b":51,"é":51,"h":51,"n":51}],"d":52,"f":52,"g":52,"i":[{"k":11}]}],"p":[{"a":51}],"r":[{"á":52,"o":52}],"s":[{"i":52,"k":52,"m":52,"z":[{"a":52}]}],"t":[{"a":[{"l":19}]}],"z":[{"é":52,"m":5,"z":52}]}],"í":[{"g":52,"j":52,"n":52,"r":[{"a":11,"á":11}],"v":[{"e":19,"ű":19}],"z":[{"l":5},11]}],"k":[{"l":5,"r":5,"v":5}],"m":[{"ű":[{"t":32},3]}],"o":[{"f":52,"k":[{"a":[{"d":11,"l":2,"r":14}]}],"l":[{"i":51}],"m":[{"l":52}],"n":[{"a":2,"á":[{"r":11},32]}],"p":[{"á":5,"e":5,"t":5}],"r":[{"g":52,"o":[{"m":51}],"r":52,"s":52,"v":52}],"s":[{"z":52}]}],"ó":[{"e":[{"r":[{"e":[{"j":[{"ü":27}]}]}]}],"p":9,"r":[{"á":[{"k":11}]}],"s":[{"í":[{"n":[{".":14}]}],"p":9,"z":[{"á":[{"r":4}]}]}]}],"ö":[{"k":[{"l":52,"ö":[{"l":5}]}],"l":[{"ő":[{"s":[{"e":51}]}]}],"n":[{"n":27}],"r":[{"ö":[{"k":19,"m":5}]}],"s":[{"s":[{"z":52}]}],"v":[{"e":[{"z":19}]}]}],"ő":[{"é":[{"h":10}],"k":[{"é":[{"s":[{"z":28}]}]}],"r":[{"k":[{"ö":[{"d":52}]}],"l":5,"ü":[{"l":0}]}]}],"p":[{"l":5,"r":5,"s":5}],"r":[{"a":[{"d":6,"f":54,"n":[{"z":54}]}],"á":[{"g":54}],"i":[{"á":54,"k":54,"l":54,"ó":54}],"ó":[{"n":54}],"ü":54}],"s":[{"k":5,"l":5,"p":5,"t":5,"z":10}],"t":[{"r":19}],"u":[{"d":[{"v":52}],"k":[{"á":5},11],"n":[{"i":[{"k":0}]}],"r":[{"a":[{"i":11,"l":11}],"á":19}],"s":[{"z":[{"e":11}]}],"t":[{"a":[{"t":19}],"á":5}]}],"ú":[{"j":52,"s":51}],"ü":[{"g":52,"l":[{"d":52,"é":51,"ő":5}],"t":52,"v":51}],"ű":[{"z":[{"ő":19}]}],"y":[{"i":[{"n":[{"g":0}]}],"j":11,"s":11}],"z":[{"é":54,"i":54,"ő":6}]}],"u":[{"a":[{"c":6}],"b":[{"i":[{"k":13}]}],"c":[{"h":21,"z":6}],"d":[{"v":86}],"e":[{"l":11,"r":11}],"f":[{"r":5}],"g":[{"a":[{"r":47,"t":58}],"g":[{"y":20}],"r":86}],"h":[{"á":[{"s":[{"s":7}]}]}],"j":[{"j":86}],"k":[{"l":19,"t":[{"u":47,"ú":47}]}],"m":[{"a":[{"g":[{"r":9}],"j":6,"l":6,"z":6}],"e":[{"n":[{"g":12}],"r":6,"s":6}],"é":[{"l":6}],"i":[{"k":13,"l":[{"l":9}],"p":13,"s":6,"v":12,"z":6}],"í":6,"o":[{"l":6,"r":13}],"ö":6,"ő":6,"ü":6}],"n":[{"c":86,"d":[{"a":11}],"i":[{"t":6}],"o":[{"k":54}]}],"p":[{"a":[{"d":6}],"e":6,"i":[{"l":12}],"ü":6}],"r":[{"a":[{"d":6,"i":6,"l":54,"s":6,"t":6,"z":54}],"á":[{"n":6,"t":6}],"b":86,"u":[{"k":6}]}],"s":[{"a":[{"b":[{"l":9}],"d":6,"l":6,"n":[{"y":9},10],"r":[{"o":9},10],"s":6}],"á":[{"l":6}],"i":[{"z":12}],"í":[{"r":6}],"o":[{"l":12}],"ó":13,"ő":6,"s":[{"z":32},10],"t":[{"r":[{"a":9}]},10],"ű":13,"z":[{"é":[{"p":23}],"i":[{"p":6}]}]}],"t":[{"a":[{"c":54,"k":54,"t":54,"z":54}],"c":86,"ó":[{".":54,"b":54,"d":54,"i":54,"j":54,"k":54,"n":54,"p":6,"r":54,"s":54,"t":54,"v":54}]}]},53],"ú":[{"d":[{"a":[{"d":6,"l":12,"r":12},10],"á":12,"e":[{"l":6}],"i":[{"n":6}],"u":6,"ü":6,"y":5,"z":21}],"g":[{"r":5}],"j":[{"d":86,"í":6,"k":86,"s":86}],"r":[{".":86,"b":86,"h":86,"i":58,"k":86,"n":86,"o":6,"r":86,"t":86}],"s":[{"z":[{"ó":6}]}],"t":[{"a":[{"l":13}],"e":88,"é":[{".":58,"r":6}],"i":[{"t":6}],"k":86,"l":[{"e":86}],"m":86,"o":10,"s":47,"ü":58,"v":86}],"z":[{"s":[{"a":[{"d":6}],"e":6}]}]},53],"ü":[{"d":[{"í":6,"ü":6}],"g":[{"y":[{"e":[{"l":6}],"n":47}]}],"h":[{"a":6}],"l":[{"a":6,"á":6,"e":[{"d":6,"s":6}],"é":[{"p":6,"r":6}],"í":6,"o":12,"ó":6,"ö":[{"n":12,"z":12},10],"ő":[{"g":12}],"u":6,"ú":6,"ü":[{"l":12}]}],"n":[{"n":86,"ő":58}],"r":[{"í":6,"ü":6}],"t":[{"e":6,"é":6,"ö":6,"ő":6}],"v":[{"ö":6}],"z":[{"e":6,"é":6}]},53],"ű":[{"g":[{"r":5}],"k":[{"l":5}],"p":[{"r":5}],"r":[{".":86,"h":86,"m":86,"ö":6,"t":86}],"s":[{"o":[{"r":[{"r":12,"s":9}]}],"p":5,"t":[{"r":5}]}]},53],"v":[{"a":[{"g":[{"á":52}],"k":[{"c":52}],"l":[{"a":[{"p":11}],"j":52,"k":52}],"r":[{"á":[{"n":51}]}],"s":[{"á":[{"b":11}],"é":[{"k":11}],"u":32,"z":[{"ó":51}]}],"t":[{"r":8}],"v":[{"á":32}]}],"á":[{"g":[{"a":52,"y":[{"i":11}]}],"l":[{"l":[{"a":[{"m":0}],"o":52,"v":5}]}],"n":[{"y":[{"a":[{"d":11,"n":11}],"ú":11}]}],"p":52,"r":[{"a":[{"l":14,"m":51}],"o":[{"s":[{"o":[{"s":43}]}]}],"ú":19}],"s":[{"á":[{"s":51}]}],"t":[{"a":52,"o":[{"r":[{"s":11}]}]}]}],"e":[{"b":51,"d":[{"z":51}],"g":[{"y":[{"e":51}]}],"l":[{"a":5,"e":[{"d":19,"m":[{"b":11,"e":59}],"s":19}],"k":52,"l":52,"o":52,"ő":[{"a":51,"á":19,"k":[{"é":[{"p":51}]}],"r":52,"z":0}]}],"n":[{"g":52}],"p":52,"r":[{"a":14,"á":2,"e":[{"t":[{"n":51}]}],"é":[{"s":[{"s":67}]}],"i":[{"p":11}],"o":14,"ő":[{"i":51}]}],"s":[{"e":[{"t":[{"e":51}]}],"é":[{"s":51}]}],"x":52}],"é":[{"k":[{"e":5,"k":5,"n":5,"ü":5}],"l":[{"e":[{"l":19}],"é":51}],"n":[{"y":[{"e":[{"l":44}]}]}],"p":52,"r":[{"e":[{"m":51}],"é":[{".":51,"s":52}],"p":52,"t":[{"é":52}],"v":52}],"v":[{"e":[{"t":51}],"i":52}]}],"f":[{"r":5}],"i":[{"d":[{"o":52}],"g":[{"a":[{"z":22},52],"é":52}],"k":52,"n":[{"f":52,"t":[{"e":5,"é":5}]}],"p":51,"r":[{"á":[{"n":0}]}],"s":[{"m":[{"e":52}],"s":[{"z":[{"e":27}]}]}],"t":[{"a":[{"l":5}]}],"z":[{"a":2,"á":2,"e":[{"l":[{"v":14}]}],"o":3,"ó":11}]}],"í":[{"z":[{"e":[{"s":3},32]}]}],"k":[{"l":5,"r":5}],"o":[{"b":52,"l":[{"v":52}],"p":52,"r":52,"s":[{"z":5}],"v":52}],"ó":[{"h":51,"r":[{"á":52}]}],"ö":[{"s":[{"s":5}]}],"ő":[{"s":5}],"p":[{"r":5}],"s":[{"k":5,"p":5,"t":5}],"t":[{"r":5}],"u":[{"b":52,"t":51}],"ü":[{"g":52,"l":[{"é":52,"ő":52,"t":52},11],"t":52,"v":51,"z":51}]}],"y":[{"b":[{"e":6,"ó":6,"ő":6}],"é":[{"n":19}],"h":[{"o":6}],"n":[{"a":6,"e":6}],"r":[{"a":6,"e":6}],"s":[{"n":11}],"t":[{"ó":6,"ő":6}],"v":[{"a":6,"e":6}]}],"z":[{"a":[{"d":[{"o":[{"t":51}]}],"l":[{"a":51,"j":52,"k":52,"m":[{"á":[{"s":5}]}]}],"s":[{"z":[{"ó":52},11]}],"t":[{"a":[{"l":11}],"e":2,"o":[{"l":11}]}]}],"á":[{"l":[{"l":52}],"r":[{"ó":[{"r":2}]}],"s":[{"e":11,"s":3}]}],"e":[{"b":[{"e":19}],"p":8,"s":[{"t":5}],"t":[{"a":[{"l":11}],"e":[{"g":14,"l":2,"s":[{"s":67}]}],"o":14,"ü":[{"k":[{"é":[{"t":32}]}]}]}]}],"é":[{"n":[{"a":[{"l":14,"t":11},32],"á":11}],"r":[{"m":52}],"s":[{"o":11}]}],"i":[{"a":[{"b":11}],"s":[{"s":27}]}],"í":[{"n":52}],"o":[{"r":[{"á":[{"l":14}]}]}],"ó":[{"s":[{"z":[{"á":[{"r":4}]}]}]}],"ő":[{"a":10,"e":10}],"p":[{"r":19}],"s":[{"a":[{"l":[{"a":9}],"n":[{"y":9}],"p":[{"a":9}],"z":0}],"á":[{"r":[{".":55}]}],"e":[{"b":[{"e":[{"n":25}]}],"g":61,"r":61}],"é":[{"g":0,"k":56,"r":[{".":56}],"v":[{"a":0}]}],"i":[{"g":[{"a":56}],"n":[{"j":9,"t":9}],"p":0,"t":[{"a":0}]}],"o":[{"r":9}],"ö":[{"r":61}],"ő":61,"s":9,"u":[{"t":8}],"ú":[{"r":9}],"ü":[{"l":[{"t":9}]}]}],"u":[{"s":[{"a":[{"k":11,"n":11}],"s":27,"z":4}],"t":52}]}]}],"s":[{".":47,"a":[{"b":[{"o":47,"r":47,"s":86}],"c":[{"é":58}],"d":[{"a":[{"l":[{"é":6}],"p":86,"t":[{"a":58,"o":58,"ó":86}]}],"á":[{"s":[{"s":7}]}],"m":86,"o":[{"g":6}],"ó":[{"c":6,"d":6,"é":6,"h":6,"i":6,"j":6,"m":6,"n":6,"r":6,"u":6,"z":6}]}],"e":[{"r":11}],"f":[{"r":19}],"g":[{"a":[{"n":6},47],"á":[{"l":12}],"g":47,"n":[{"e":5}],"ó":58,"ő":6,"r":[{"á":5}],"y":[{".":48,"b":48,"o":54,"ú":6}]}],"h":[{".":71,"a":[{"r":10}],"o":[{"v":6}]}],"i":[{"g":6}],"j":[{"a":[{"k":6},47],"á":[{"g":6,"n":47}],"ö":12,"t":[{"a":[{"l":11,"n":2,"r":11}],"é":[{"r":[{"é":14},32]}],"o":[{"r":11}],"ö":14,"ü":2}]}],"k":[{"a":[{"b":12,"d":58,"n":12,"s":6}],"c":[{"i":86}],"k":[{"a":[{"r":2,"s":14}],"e":[{"g":14,"r":11,"s":11},32],"i":[{"s":11}],"o":[{"l":11,"r":[{"r":14}]}],"ó":2,"u":47}],"l":[{"u":5}],"n":[{"a":[{".":86}],"á":[{"b":47,"i":47,"k":86}]}],"o":[{"l":[{"a":9}],"r":[{"m":12}]}],"ö":[{"s":12}],"r":[{"u":19}],"t":[{".":86,"i":86,"u":86}],"u":[{"g":12,"s":58}],"v":[{"a":19}]}],"l":[{"a":[{"b":47,"g":30,"k":[{"a":10,"u":6}],"p":[{"a":58,"í":6,"l":6,"o":[{"z":6}],"r":54,"t":6}]}],"á":[{"d":[{"a":10}],"í":47,"n":[{"n":7}],"s":[{"s":7}],"t":[{"é":86}]}],"b":86,"e":[{"l":54}],"é":[{"p":[{"í":48}],"t":[{"e":12},10]}],"f":47,"g":[{"á":[{"h":86,"i":86,"n":86,"s":[{"a":[{"t":47}]}]}]}],"j":[{"a":[{"i":86}],"á":[{"h":86,"r":86,"t":[{".":86}]}]}],"k":[{"a":86,"o":[{"t":86}],"u":48}],"m":47,"o":[{"m":[{"n":58,"r":58}]}],"t":[{"a":[{"g":11}],"e":86,"h":86,"i":[{"t":86}]}],"ú":12}],"m":[{"a":[{"n":[{"y":12}]}],"e":[{"c":6}],"i":[{"l":12}],"í":12,"o":[{"l":6,"s":[{"z":12}]}],"ő":58}],"n":[{"a":[{"l":6,"t":6}],"d":0,"e":[{"k":6},47],"g":[{"y":86}],"ó":[{"d":6}],"ö":25,"t":[{"e":48}],"y":[{"a":[{".":6,"g":54,"r":25}],"á":47}]}],"ó":[{"r":11}],"p":[{"a":[{"d":[{"ó":13}],"g":13,"t":[{"e":10}]}],"á":[{"c":[{"s":8},6],"l":[{"l":9}],"t":[{"m":12,"o":6}]}],"e":[{"l":12}],"é":[{"k":12}],"k":[{"a":71,"á":[{"b":71,"n":71,"s":71,"t":71,"v":71}]}],"o":[{"s":[{"z":12}]}],"ó":[{"k":[{"r":54}],"s":[{"a":[{"b":54}]}]}],"p":47,"r":[{"í":48,"o":5}],"u":47}],"r":[{"a":[{"t":[{"á":6,"ó":6}]}],"á":[{"n":[{"y":6}]}],"c":[{"h":[{"o":4}],"i":[{"n":11}]}],"é":[{"n":6}],"i":[{"t":6}],"j":[{"e":14}],"k":[{"e":2,"i":[{"n":11,"r":11},71],"ö":2,"ú":71}],"l":[{"ó":71}],"m":47,"o":[{"m":47}],"z":47}],"s":[{"e":[{"b":12},10],"m":19,"p":[{"o":19}],"s":[{"z":[{"a":20,"á":20,"e":20,"o":86}]}],"t":71,"u":[{"t":13}],"ú":6,"z":[{"f":48,"t":47}]}],"t":[{"a":[{"k":[{"é":[{"s":10}]}],"l":[{"j":12,"t":12}],"n":[{"y":[{"á":13}]}],"p":[{"u":9}]}],"á":[{"r":[{"a":[{"k":[{".":13}]}],"k":[{"a":12}]}]}],"é":[{"r":[{"k":12,"r":12}]}],"i":[{"k":13,"n":[{"g":12}]}],"l":[{"é":48}],"m":[{"o":[{"s":[{"z":33}]},7]}],"o":[{"m":[{"b":[{"ó":58}],"o":58}],"r":[{"m":12}]}],"ó":[{"d":13,"n":[{"é":13}]}],"r":[{"á":19}],"y":[{"á":6},47]}],"u":[{"l":6,"r":[{"á":6}],"t":[{"o":6,"ó":[{".":48,"é":[{"r":26}],"i":[{"k":[{"o":26}]}]}]},47],"v":6}],"v":[{".":71,"a":[{".":71,"d":[{"a":13}],"l":13}],"á":[{"n":71,"r":[{"a":9,"i":[{"a":9}],"t":12}]}],"e":[{"l":12}],"é":[{"r":12}],"i":[{"l":[{"l":9}],"n":13}],"ő":6,"ü":6}],"x":[{"i":6}],"z":[{"o":[{"n":6}]}]},53],"á":[{"b":[{"a":[{"k":12}],"e":[{"l":13,"r":13}],"i":[{"g":6,"l":12}],"ö":6,"u":[{"j":6,"t":12}],"ü":6}],"c":[{"s":[{"á":6}]}],"g":[{"a":[{"b":6,"d":[{"a":9,"d":47},10],"l":6,"n":6,"s":[{".":86,"s":9},6],"t":6,"z":58}],"á":[{"l":12,"r":[{"a":[{"k":13}],"n":12,"u":13}]}],"e":13,"é":[{"p":6}],"i":[{"k":[{"o":13}]}],"í":6,"o":[{"s":[{"z":12}]}],"ó":13,"ö":12,"ő":6,"s":9,"ü":6,"ű":6,"y":[{"a":[{"d":15}]},151]}],"k":[{"a":[{"l":6,"n":12,"r":6},10],"á":[{"t":6}],"e":13,"k":[{"ö":[{"z":22}]}],"ö":12,"ü":6}],"l":[{"c":48,"i":[{"n":12}],"m":86,"o":[{"m":[{"b":54}]}]}],"m":[{"á":71}],"n":[{"c":[{"é":14,"s":[{"o":4}]}],"k":[{"r":8}],"t":[{"h":9},10],"ü":6}],"p":[{"o":[{"s":[{"t":12}]}]}],"r":[{"a":[{"d":[{"á":9,"ó":8},6],"g":12,"j":6,"k":[{".":58,"a":6,"b":58,"h":58,"k":58,"n":58,"o":58,"r":58,"t":6}],"l":13,"m":58,"n":13,"s":[{"s":9,"z":9},62],"t":58}],"á":[{"g":6,"l":12}],"d":8,"e":13,"é":[{"t":47,"v":12}],"i":[{"a":[{".":6}],"á":58,"k":[{"o":9}],"p":13,"s":13}],"í":6,"k":8,"o":[{"s":[{"z":12}],"t":[{"t":9}]}],"ó":[{"n":[{"i":9}]}],"ö":6,"ő":6,"r":[{"o":47}],"s":8,"t":[{"r":9},10],"u":[{"g":6,"h":58,"l":58,"s":47}],"ú":[{".":58},10],"ü":6}],"s":[{"a":[{"d":12,"r":6}],"á":[{"s":6}],"e":13,"i":[{"s":6}],"k":[{"é":[{"s":[{"z":28}]}]}],"ó":[{".":86,"r":8,"v":86},6],"ö":6,"ő":6,"s":[{"z":20}],"z":[{"a":21,"á":[{"r":[{"a":[{"d":64}]}]}],"o":58}]}],"t":[{"a":[{"d":48,"l":[{"j":12}]},47],"á":[{"l":54,"z":152}],"b":86,"c":86,"d":86,"e":88,"é":[{"l":6},47],"f":86,"h":47,"i":[{"r":12},47],"í":58,"j":47,"k":47,"m":86,"o":[{"k":[{"t":54}],"r":71}],"ó":[{"k":[{"é":[{"s":[{"z":65}]}]}]}],"ö":102,"r":[{"a":71,"á":71,"e":48}],"s":47,"t":[{"ö":48},47],"u":47,"ü":58,"v":[{"e":48,"é":48,"i":48},47]}],"v":[{".":71,"a":[{"d":13,"l":10,"r":13}],"á":[{"l":12,"r":13}],"b":71,"e":13,"é":[{"r":[{"z":12}]}],"i":[{"s":6,"z":6}],"j":71,"o":[{"r":12}],"ö":6,"r":71,"ú":71,"v":71}]},53],"b":[{"a":[{"l":14}],"e":[{"á":10}],"é":[{"r":[{"c":[{"s":10}]}]}],"l":[{"o":6,"ú":6}],"r":[{"a":6,"i":6,"o":6,"ó":6}]}],"c":[{"a":[{"r":10}],"h":[{"e":[{"i":[{"e":53}],"k":25,"n":25,"t":25}],"é":[{".":25,"b":[{"e":[{".":53}]}],"d":25,"é":[{"r":[{"e":53}]}],"r":[{"e":53}],"s":25}],"i":[{".":25,"g":25,"l":53}]}],"r":[{"i":6}]}],"d":[{"a":[{"d":[{"a":[{"l":11}]}],"i":10}],"e":[{"á":10,"b":8,"d":[{"e":[{"l":11}]}],"k":[{"r":9}],"s":[{"p":9,"t":9,"z":[{"t":32}]},10]}],"i":[{"a":[{"l":[{"e":11}]}]}],"r":[{"a":6,"á":6,"o":6,"u":6}]}],"e":[{"a":[{"d":11,"l":11,"n":11}],"á":[{"l":11,"r":11}],"b":[{"a":[{"g":6,"k":12,"l":[{"t":9}]}],"á":[{"g":12,"r":6},10],"e":[{"g":13,"l":[{"l":9,"z":9}],"s":[{"h":12,"z":[{"e":9}]}]}],"é":[{"d":54,"s":71}],"ó":13,"ö":6,"ő":13,"p":9,"s":9,"u":12,"ú":6,"ü":[{"l":6}],"z":[{"é":71}]}],"c":[{"s":[{"a":[{"p":15}],"e":[{"v":6}],"é":[{"k":24}]}]}],"d":[{"e":[{"z":47}],"é":[{"l":7,"n":[{"y":47}]}],"r":[{"a":5,"á":19}],"z":[{"é":6,"ő":6}]}],"e":[{"l":11,"n":11}],"f":[{"f":47,"r":[{"a":19}]}],"g":[{"e":[{"r":58}],"é":[{"d":71,"r":47,"s":[{"s":38,"z":153}],"t":47}],"g":[{"a":11,"o":11},71],"í":71,"y":[{"e":[{"d":6,"l":15}],"é":54,"h":86,"ü":86}]}],"h":[{"ü":[{"v":12},10]}],"í":[{"r":11}],"j":[{"t":[{"a":2,"e":[{"n":[{"y":2}],"r":11}],"é":[{"r":11}],"o":14,"ö":11}]}],"k":[{"a":[{"r":10}],"á":[{"l":12}],"é":[{"s":[{".":58}]}],"k":[{"á":14,"o":[{"s":11}],"ö":14}],"l":[{"u":5}],"r":[{"a":19,"é":19}],"u":[{"r":6}],"ú":[{"r":6}]}],"l":[{"a":[{"k":9}],"á":[{"l":6}],"b":47,"d":[{"ö":48}],"e":[{"f":58,"g":[{"y":54}],"h":13,"k":[{"é":12}],"m":[{"e":[{"k":6}],"é":58,"k":6,"m":6,"z":58}],"r":[{"e":12}],"s":[{"é":54,"z":[{"ü":12},10]}],"t":[{"a":17,"e":[{"l":17}]}],"v":[{"é":13,"ő":13}]}],"é":[{"s":[{"s":38}]}],"f":47,"h":[{"a":86,"e":[{"l":86}],"o":48}],"i":[{"d":9,"s":6}],"j":[{"á":86}],"l":[{"á":48}],"m":[{"é":[{"l":47}]}],"n":[{"ö":[{"k":[{"ö":[{"l":43}]}]}],"y":86}],"o":[{"s":54}],"ö":58,"ő":[{"a":[{"d":6}],"í":54,"z":58}],"r":47,"t":[{"a":48,"á":48,"ö":86}],"v":[{".":86,"e":[{"k":86}],"ű":48,"v":86}],"z":47}],"m":[{"b":[{"e":[{"r":[{".":48,"b":48,"n":48},47]}],"r":86}],"é":[{"n":47}],"l":[{"é":47}]}],"n":[{"a":[{"t":6}],"á":[{"l":12}],"d":[{"a":14,"á":14}],"e":[{"r":54}],"é":[{"s":[{"s":38}]}],"g":[{"e":[{"d":86}]}],"i":[{"s":[{"t":9}]}],"o":[{"r":12}],"t":[{"a":48}],"y":[{"a":[{"g":3,"k":3}],"á":23,"e":[{"l":[{"l":3}],"r":[{"e":3}]}],"é":[{"l":24,"r":[{".":24,"d":6,"t":[{"e":6}]}]}],"h":[{"i":[{".":47}]}],"i":[{"g":[{"é":6}]}],"ö":[{"s":6}],"u":6,"ú":6,"ü":[{"l":23}],"v":[{"e":[{".":47}]}]}],"z":48}],"ó":[{"r":11}],"p":[{"i":[{"d":6,"z":48}],"p":[{"a":11,"á":2,"e":[{"r":11}]}],"r":[{"i":47,"o":19,"ó":19}]}],"r":[{"a":[{"g":[{"y":12}],"l":6,"m":6,"n":13,"r":13,"s":12,"u":6}],"á":[{"g":13,"l":[{"l":9}],"r":6}],"d":[{"e":48,"ő":47}],"e":[{"g":[{"g":7,"s":71}],"j":47,"l":[{"e":[{"m":[{".":13}]}],"ő":13,"t":12,"v":12}],"p":[{"e":[{"d":[{"ő":10}]}]},3],"s":[{"z":[{"e":[{".":8}],"k":9}]}],"t":3}],"é":[{"s":[{"z":[{"b":12}]}]}],"i":[{"g":[{"a":12}],"l":12,"n":[{"a":12,"f":9,"g":9,"t":9},10],"s":6,"z":6}],"k":9,"o":[{"l":12}],"ó":[{"z":48},6],"ő":[{".":48,"b":48,"d":48,"é":48,"f":48,"k":48,"m":48,"n":48,"s":[{".":9}],"t":48,"v":48},62],"s":9,"t":[{"r":9},10],"ü":[{"g":13}],"v":[{"í":32}]}],"s":[{"e":[{"m":[{"é":86}],"t":[{"é":58}]}],"é":[{"l":86,"s":58}],"k":[{"ü":47}],"ő":58,"p":19,"s":[{"z":[{"a":16,"é":[{"l":26}],"o":7}]}],"t":[{"e":86,"i":5}],"z":[{"e":[{"n":48}],"k":[{"ö":48},47],"m":86,"ű":6}]}],"t":[{"a":[{"l":[{"a":13}],"n":[{"a":6,"y":13}]}],"á":[{"t":6}],"e":[{"g":13,"l":[{"e":[{"g":9}],"k":12,"m":12}],"n":[{"k":47}],"s":[{".":47,"e":47}],"t":[{"é":58,"ő":58}]}],"é":[{"k":[{"b":12,"é":12},10],"l":13,"n":[{"k":12}],"r":[{".":12,"i":13,"t":[{"é":12}]}]}],"i":[{"k":[{"a":6,"á":6,"e":6}],"n":[{"g":12}]}],"o":[{"l":[{"d":9},6]}],"r":[{"a":[{"n":5}],"i":5,"o":19}],"t":[{"k":47}]}],"ü":[{"t":11}],"v":[{"é":[{"s":58}],"ő":58}],"y":[{"e":5,"é":5,"i":5}],"z":[{"r":48}]},53],"é":[{"b":[{"r":86}],"f":[{"a":12,"á":12}],"g":[{"a":13,"á":13,"e":[{".":71,"g":12,"i":71,"k":71,"l":[{"e":[{"m":10},9],"l":12}],"m":71,"n":[{"t":12}],"r":[{"k":9},6],"s":[{"z":12}],"t":[{"é":6,"i":13}],"v":6}],"é":[{"j":[{"e":8}],"k":13,"p":6,"r":[{".":12,"é":13,"n":12,"r":12,"t":[{"ő":12}],"ü":13,"v":12}],"s":[{"z":9}]}],"g":20,"i":[{"g":[{"a":9,"é":12}],"s":[{"t":9}]}],"í":6,"k":71,"o":[{"k":12,"l":6},10],"ó":13,"ö":[{"r":6}],"ő":[{"r":9,"s":9},31],"s":9,"u":6,"ú":6,"ü":[{"l":[{"ő":13,"t":9}]},71]}],"h":[{".":86,"e":[{".":58,"k":58,"s":58,"t":58}],"é":58,"h":86,"r":86,"s":86}],"j":[{"e":[{"m":6}],"i":54,"s":48}],"k":[{"e":[{"k":6}],"h":[{"o":48}],"m":86,"s":86,"ú":12}],"l":[{"e":[{"l":6,"t":54}],"l":47,"m":86,"ő":[{"k":[{"é":[{"s":[{"z":65}]}]}]}],"ű":6,"y":[{"a":6,"e":[{"g":6}]},47]}],"m":[{"á":71,"u":6}],"n":[{"e":[{"k":[{"b":54,"e":58,"é":54,"h":58,"i":58,"k":54,"l":47,"n":58,"r":54,"t":54,"ü":54}]}]}],"p":[{"í":58,"ü":58}],"r":[{"a":[{"l":6,"n":6}],"á":[{"t":6}],"b":47,"c":47,"d":[{"e":48}],"é":[{"é":6}],"i":[{"e":6,"g":6}],"l":[{"e":[{"l":48}]}],"m":47,"ó":25,"r":47,"t":[{"é":[{"k":[{"e":48}]}]}],"v":[{"b":71,"e":[{"i":48,"m":71,"s":71}],"h":71,"r":71,"v":71}],"y":154,"z":86}],"s":[{"d":[{"i":47}],"e":[{"k":[{"i":47}],"l":12}],"s":[{"z":47}],"t":[{"ú":47}],"z":[{"a":[{"k":3}],"á":24,"e":[{"m":[{"b":24}]}],"i":[{"r":6}],"o":24,"s":27}]}],"t":[{"a":[{"b":[{"l":9}],"d":13}],"k":47,"o":12,"ő":[{"r":12},10],"r":47,"t":47,"v":47}],"v":[{".":86,"a":[{"d":86}],"b":86,"e":[{".":47,"d":58,"i":47,"k":58,"n":58,"t":47}],"é":[{"b":47,"i":58,"n":47,"t":47,"v":47}],"f":86,"h":47,"i":[{".":47}],"k":86,"n":86,"r":86,"t":86,"ü":58,"v":86}]},53],"f":[{"a":[{"á":[{"g":[{"a":[{"c":27}]}]}],"g":[{"y":[{"a":[{"l":44}]}]}]}],"e":[{"n":[{"y":[{"ő":[{"é":33}]}]}]}],"é":[{"m":[{"á":11,"e":[{"k":[{"é":[{"h":2}]}]}],"é":14,"i":11}]}],"i":[{"ú":[{"é":[{"r":[{"a":11}],"t":11},32]}]}],"l":[{"e":6,"o":6,"ó":6,"u":6}],"o":[{"k":[{"ú":[{"t":14}]}]}],"r":[{"a":6,"á":6,"e":6,"i":6,"í":6,"o":6,"ö":6}]}],"g":[{"a":[{"b":9,"d":8,"p":9,"t":[{"r":9}]}],"e":[{"o":11}],"l":[{"e":6,"ó":6}],"n":[{"ó":6}],"r":[{"a":54,"á":6,"i":6,"ó":6}]}],"h":[{"e":[{"l":[{"y":[{"ü":[{"k":[{"ü":26}]}]}]}]}],"i":[{".":50,"h":50,"j":50,"k":50,"t":[{"k":[{"ö":[{"z":28}]}]}]}],"o":[{"p":0,"r":[{"r":0}],"w":117}],"ú":[{"s":[{"á":[{"r":11}],"s":3}]}]}],"i":[{"a":[{"c":6,"d":11,"é":6,"k":25,"l":11,"n":[{"y":11}]}],"á":[{"r":[{"o":11}]}],"b":[{"á":13,"i":[{"l":[{"i":[{"s":28}]}]}]}],"d":[{"á":[{"s":[{"s":7}]}],"e":[{"a":6,"á":6,"g":6,"i":6,"n":6,"o":6,"t":0}],"é":[{"n":54},47],"o":[{"m":6}],"ő":58,"u":6}],"e":[{"g":6,"l":11,"n":6,"u":6}],"f":[{"j":86}],"g":[{"a":[{"z":[{"o":54}]},47],"á":47,"e":[{".":54,"k":54,"s":54},47],"é":58,"n":[{"e":14,"ó":2}]}],"h":[{"a":47,"e":[{"d":71}],"l":86}],"k":[{"a":[{"n":13}],"e":[{"r":[{"e":[{"s":[{"z":30}]}]}],"s":10}],"i":[{"n":12,"r":12}],"o":[{"l":[{"d":12}],"n":[{"h":54,"j":54,"k":58,"n":54,"o":58,"r":54,"t":58,"u":54}],"r":[{"r":9}]}],"r":[{"é":5}],"u":[{"s":[{"s":7}]}]}],"m":[{"á":[{"d":47}],"e":[{"l":12}],"i":[{"t":54}],"í":71,"o":[{"g":71}],"p":[{"o":[{"r":48}]},47],"u":[{"t":13}]}],"n":[{"a":[{"s":58}],"d":[{"u":48},47],"e":[{"r":6}],"f":47,"g":[{"a":47,"á":48,"e":[{"t":48}],"é":48,"ó":[{"k":48}]}],"i":[{"c":6}],"j":47,"k":[{"u":86}],"s":86,"t":[{"e":48}],"v":[{"á":48},47],"z":86}],"o":[{"n":[{"n":6,"o":54}]}],"ó":[{"a":6,"á":6,"c":6,"d":[{"a":6}],"e":6,"g":6,"i":[{"k":31}],"o":6,"p":6,"ú":6}],"p":[{"a":[{"r":[{".":47,"a":47,"á":47,"b":47,"c":86,"h":47,"m":47,"n":47,"o":58,"r":47,"t":[{"á":47,"ó":47}],"u":47}]}],"í":71,"k":[{"a":71,"á":71}],"o":[{"l":71}]}],"r":[{"a":[{"m":58}],"g":48,"h":86,"o":[{"d":54},47],"ó":[{"n":58}],"t":[{"ó":48},47]}],"s":[{"a":[{"d":6}],"é":[{"l":6}],"i":[{"s":12}],"í":13,"s":20,"t":10,"ü":13,"z":[{"a":[{"b":21}]}]}],"t":[{"a":[{"l":[{"i":10},54]}],"e":[{".":6}],"i":12,"ö":12,"t":[{"i":[{"n":11}]}],"y":71}],"ú":[{"t":11}],"v":[{"a":[{"d":58,"r":58}],"á":[{"s":47}],"í":71,"ó":58}],"z":[{"é":[{".":6,"b":6},47],"m":[{"o":48}]}]},53],"í":[{"g":[{"é":6}],"j":[{"a":6,"u":6}],"k":[{"a":[{"s":6}],"e":[{"r":12},10],"í":6,"ü":6}],"n":[{"a":[{"c":6,"l":6,"n":6},10],"á":13,"e":[{"l":6}],"ö":6,"s":47,"ú":12}],"r":[{"a":[{"d":12}],"á":[{"l":12,"s":[{"z":29}],"t":[{"o":8}]}],"e":[{"d":6,"m":13,"n":6,"s":6,"t":13}],"é":[{"n":12}],"i":[{"r":6}],"í":6,"ó":[{"a":54,"f":6,"l":6,"p":6}],"ö":6,"t":[{"e":[{"v":2}]}],"ü":12}],"s":[{"p":5,"t":5}],"t":[{"é":[{"k":[{"o":[{"l":10}]}],"l":47,"s":[{"s":38}]}],"ő":[{"a":32,"e":32}],"r":5}],"v":[{".":86,"á":6,"b":86,"e":[{"k":54,"n":54,"t":54}],"é":6,"ű":6}],"z":[{"a":6,"e":[{".":6}],"l":86,"r":48,"ü":[{"l":6},47]}]},53],"j":[{"e":[{"g":[{"y":[{"á":18}]}]}]}],"k":[{"a":[{"o":10,"p":[{"o":[{"c":[{"s":28}]}]}],"r":[{"i":[{"m":2}],"o":[{"s":67}],"ó":[{"r":73}]}],"s":[{"m":9}],"t":[{"r":9},10],"u":10}],"á":[{"l":[{"á":[{"k":53,"r":53}]}]}],"e":[{"p":8,"s":[{"p":8}]}],"é":[{"p":[{"e":[{"l":14}]}]}],"i":[{"á":10,"c":[{"c":50}],"e":10}],"j":[{"ö":6}],"l":[{"a":6,"i":6,"í":6,"o":6,"ó":6,"u":6}],"o":[{"l":[{"á":[{"s":[{"s":22}]}]}],"r":[{"p":[{"i":0}]}],"s":[{"a":[{"r":[{"a":[{"i":2}]}]}]}]}],"ó":[{"p":9}],"r":[{"á":54,"é":54,"i":[{"t":54}],"í":6,"ó":[{"n":6}],"u":6}],"v":[{"a":6,"i":6,"ó":6}],"y":[{"é":[{"r":9}],"i":9}]}],"l":[{"a":[{"d":8,"g":[{"e":2}],"s":[{"p":8}],"t":[{"a":[{"l":2,"n":2}],"e":[{"l":11,"v":11}],"é":[{"s":11,"t":2}]}]}],"á":[{"g":[{"e":[{"r":[{"e":[{"i":53}]}]}]},0],"n":[{"y":[{"a":[{"l":11}]}]}],"s":[{"s":27}]}],"e":[{"g":[{"a":32,"g":3}],"í":10,"t":[{"a":[{"l":11}],"e":[{"l":14,"m":14}],"é":[{"l":11}]}],"v":[{"e":[{"s":[{"s":22}]}]}]}],"é":[{"i":10,"k":[{"e":[{"v":11},32],"o":[{"l":14}]}],"s":[{"s":27}]}],"i":[{"c":[{"c":[{"e":[{"l":[{"v":30}]}]}]}],"d":11,"k":[{"á":11}],"s":[{"s":50}]}],"ő":[{"s":10}],"u":[{"s":0}]}],"m":[{"a":[{"ó":10,"r":[{"c":32}],"s":[{"p":9},10]}],"á":[{"r":[{".":117,"u":117}]}],"e":[{"g":[{"a":2,"é":14}],"n":[{"t":[{"e":[{"l":10}]}]}]}],"i":[{"r":[{"g":53}]}]}],"n":[{"a":[{"p":[{"a":[{"l":11}],"e":14,"o":[{"r":14}],"s":[{"z":[{"e":155}]}]}]}],"e":[{"y":[{"i":9}]}],"i":[{"t":[{"t":[{"e":[{"l":[{"v":30}]}]}]}]}],"ő":[{"é":[{"h":10}]}]}],"o":[{"b":[{"j":48}],"c":[{"k":19}],"d":[{"a":[{"é":[{"n":[{"e":33}]}],"g":15}],"e":12,"é":[{"n":6,"v":6}],"i":[{"d":6,"s":6}],"í":6,"o":[{"b":6,"r":[{"g":12}],"s":12}],"ö":6,"ő":6,"r":[{"á":[{"s":[{"s":22}]}]}],"ú":[{"t":9},6],"ü":6,"z":21}],"k":[{"a":[{"b":6,"i":6,"j":12,"l":[{"a":13}],"p":12,"r":6,"t":[{"o":12},10]}],"á":[{"l":12,"r":[{"n":12}]}],"e":13,"i":[{"l":[{"l":9}]}],"í":6,"k":[{".":71,"a":[{"l":[{"a":14},32],"p":2}],"e":[{"l":14},47],"i":[{"r":11}],"ö":[{"v":2}],"ü":14}],"l":47,"m":47,"o":[{"k":6,"l":[{"d":9}],"s":62,"z":58}],"ó":13,"t":[{"a":[{"t":48},47]}],"ú":13,"ü":6}],"l":[{"a":[{"j":[{"á":[{"r":17}],"e":10},58],"t":[{"e":[{"l":10}]}]}],"á":[{"s":[{"s":7}]}],"d":[{"a":86,"á":86,"ó":[{".":48,"k":48,"m":48,"n":48,"r":48,"t":48,"v":48},47]}],"i":[{"m":6}],"l":[{"ó":86}],"ó":[{"ó":32}],"t":[{"á":[{"s":48}]}],"v":[{"a":[{"s":47}]}],"y":[{"a":[{"n":6}],"ó":6}]}],"m":[{"a":[{"d":12,"g":[{"g":7}],"l":13,"t":[{"o":9},10]}],"e":13,"é":[{"l":6,"t":[{"e":12}]}],"i":[{"l":6,"t":[{"a":12}]}],"í":6,"o":[{"d":[{"o":12}],"r":[{"t":9}],"s":[{"z":12}]}],"p":9,"ú":6,"ü":6}],"n":[{"c":[{"h":11}],"d":47,"e":12,"k":[{"á":[{"l":11}],"e":2}],"ó":47,"t":[{"a":[{"b":11,"l":2,"n":2,"r":11}],"á":[{"r":2}],"e":2,"é":[{"r":[{"é":14},32]}],"i":[{"k":11,"p":11}],"ö":11,"ő":11}],"v":47,"y":[{"e":6,"i":[{"s":6}]}]}],"ó":[{"r":6,"s":6}],"p":[{"c":48,"e":54}],"r":[{"a":[{"d":[{"a":9}],"l":[{"a":9}]}],"á":[{"l":[{"l":9}],"t":[{"l":12}]}],"e":156,"f":8,"g":[{"i":48}],"i":[{"d":6,"e":47,"f":6,"m":6,"n":[{"g":12}],"s":6}],"k":[{"é":71}],"m":[{"ű":[{"t":26},7]}],"o":[{"s":[{"z":[{"t":9}]}],"z":[{"a":71}]}],"ó":13,"ö":6,"ő":6,"r":[{".":86,"á":[{"t":48}],"b":47,"n":86,"o":86,"ú":86}],"s":[{".":71,"a":[{"l":11,"r":11,"s":11}],"e":2,"i":[{"r":11}],"ó":47,"ü":11,"z":[{"ó":[{"n":11}]},9]}],"t":[{"r":[{"e":9}]}],"ú":[{"t":[{"o":12},10]}],"ü":6,"ű":6}],"s":[{"t":[{"o":86,"r":86,"y":48}],"z":[{"l":48,"t":48},47]}],"u":[{"l":6,"r":6}],"v":[{"e":6,"i":[{"s":6}]}],"x":[{"i":6}]},53],"ó":[{"á":[{"g":11,"r":11}],"c":[{"s":[{"a":[{"p":[{"á":33}]}]}]}],"d":[{"á":[{"i":6,"k":6,"v":6}]}],"g":[{"é":[{"p":[{"e":[{"k":[{"é":17}]}]}]}],"r":19}],"i":[{"g":11}],"í":[{"v":11}],"k":[{"a":[{"d":13}],"i":[{"l":6,"m":6}],"ó":6,"r":[{"é":5}]}],"m":[{"ű":3}],"n":[{"é":[{".":6}],"i":6}],"ó":[{"r":11}],"r":[{"a":[{"i":6}],"á":[{"b":6,"i":6,"j":6,"m":6,"n":6,"r":6,"t":6}],"i":[{"á":6}]}],"s":[{"ü":13,"z":5}],"t":[{"á":[{"n":[{"y":[{"é":[{"r":111}]}]}]}],"r":19,"v":86}],"v":[{"ó":58}]},53],"ö":[{"b":[{"ű":6}],"g":[{"a":6,"á":6,"e":[{"l":13,"m":12}],"é":[{"k":12}],"g":20,"o":6,"ö":[{"l":[{"é":13,"t":12}]}],"ű":6}],"k":[{"a":6,"e":[{"l":12}],"i":[{"d":6}],"o":58,"ö":[{"r":54}],"ú":6}],"l":[{"ő":[{"j":6,"z":54}],"y":48}],"n":[{"a":6,"á":6,"d":[{"a":2}],"o":6,"ö":[{"l":12}],"ő":12,"t":[{"v":48}],"ú":6}],"r":[{".":71,"a":6,"á":6,"b":71,"d":47,"e":[{"d":12,"g":6,"n":6}],"f":8,"i":[{"z":12}],"k":71,"o":6,"ó":6,"ö":[{"l":13}],"ő":12,"s":9,"u":6,"v":47}],"s":[{"s":[{"z":48}],"v":48,"z":48}],"t":[{"l":86,"v":86}],"v":[{".":86,"e":47,"v":48}],"z":[{"ö":[{"n":54}]}]},53],"ő":[{"a":[{"c":11,"l":11,"n":11}],"á":[{"g":142}],"b":[{"l":5,"o":[{"k":47}]}],"d":[{"a":[{"d":6,"l":[{"k":6}]}],"á":6,"e":[{"l":6}],"i":[{"n":6}],"ő":[{"r":13}],"r":[{"o":5}]}],"e":[{"l":11,"r":11,"s":11}],"g":[{"r":5}],"k":[{"l":5}],"p":[{"l":5,"n":5,"r":5}],"r":[{"a":[{"j":12}],"á":[{"c":[{"s":[{"o":[{"t":13}]}]}]}],"i":[{"z":6}],"o":[{"l":6}],"ö":[{"l":8}],"t":[{"i":48}],"z":48}],"s":[{"a":[{"v":12}],"i":[{"m":6}],"o":[{"r":[{"r":[{"a":[{".":9}],"á":12,"ó":12}]}]}],"p":19,"t":[{"a":5,"r":5}],"ü":[{"l":12,"t":12},10],"z":[{"a":[{"p":6}],"á":[{"l":[{"l":24}]}],"é":[{"k":[{"é":3},32]}],"í":24}]}]},53],"p":[{"a":[{"d":[{"a":2}],"n":[{"n":50}],"t":[{"u":0}]}],"á":[{"j":0,"n":[{"a":14}],"r":[{"g":50}]}],"e":[{"c":[{"i":117}],"k":[{"t":[{"r":53}],"u":50}]}],"é":[{"k":50,"r":52}],"i":[{"r":[{"á":[{"l":[{"ú":53}]}]}],"s":[{"s":27}]}],"l":[{"e":31,"é":54,"u":6}],"n":[{"e":6}],"o":[{"n":[{"g":50}],"r":[{"t":[{"a":[{"l":30},26],"á":[{"g":50,"r":10}],"b":117,"e":17,"é":[{"r":[{"d":30}]},50],"h":50,"i":[{"n":17}],"j":50,"n":50,"o":[{"k":[{"a":50}],"l":50,"n":50,"s":50,"t":117}],"ö":30,"ő":10,"r":[{"a":50,"ó":50}],"t":[{"ó":50}],"u":50,"ü":17}]}]}],"ó":[{"r":[{"á":[{"k":[{".":53}]}],"o":[{"l":53}]}]}],"r":[{"a":[{"k":48,"y":71},6],"e":54,"é":54,"i":[{"c":53}],"o":54,"ó":54}],"s":[{"z":6}]}],"r":[{"a":[{"f":50,"u":10}],"á":[{"c":[{"o":50}]}],"e":[{"n":[{"d":[{"ő":17}]}]}],"ó":[{"f":117}],"ú":[{"d":[{"e":11}]}]}],"s":[{"a":[{"b":[{"b":[{"i":30}]}],"v":[{"o":11}]}],"á":[{"g":[{"g":27}]}],"é":[{"g":[{"e":[{"l":2}],"é":[{"j":2}],"i":[{"d":11}]}],"k":[{"t":52}]}],"i":[{"z":51}],"k":[{"á":[{"l":6}],"o":6,"r":19}],"l":[{"á":6}],"o":[{"m":[{"o":14}]}],"p":[{"ó":6}],"r":[{"á":54}],"s":[{"z":25}],"t":[{"a":[{"d":6,"r":6,"t":6}],"í":54,"o":6,"r":76,"ú":6}],"u":[{"r":[{"a":5}]}],"y":[{"é":[{"r":9,"t":9}]}],"z":[{"a":[{"e":32,"p":[{"r":15}],"t":[{"r":3},32]}],"á":[{"g":8,"r":[{"a":[{"m":8}],"u":[{"k":8}]}],"s":[{"z":8}],"z":[{"a":41}]}],"e":[{"d":[{"é":41}],"g":[{"é":[{"r":[{".":7}]}],"ü":[{"l":[{"ő":30},26]}],"y":[{"e":9}]}],"k":[{"v":41}],"l":[{"ő":[{"a":8}]}],"m":[{"l":41,"m":41}],"p":15,"r":[{"e":[{"i":[{"b":10,"d":10,"n":10}],"k":[{"é":10,"t":10}],"m":[{".":10,"m":10}],"s":[{"e":10}]}],"t":[{"á":[{"r":64}]}]}],"t":[{"r":15}]}],"é":[{"k":[{"i":41}],"l":[{"ő":8}],"r":[{"i":[{"n":7}]}],"t":[{"o":41}]}],"i":[{"g":[{"e":41}],"n":[{"g":9}],"s":[{"s":7}]}],"í":[{"v":[{"e":[{"l":10}]}]}],"k":[{"é":[{"s":[{"z":28}]}]},8],"o":[{"b":41,"s":[{"z":9}]}],"ó":[{"s":[{"á":9}]}],"ö":[{"c":41,"r":41,"s":9,"v":41}],"p":8,"s":[{"i":25}],"t":[{"r":[{"o":9}]},10],"u":[{"r":41,"s":[{"s":7}]}],"ú":[{"r":[{".":9}]}]},0]}],"t":[{"a":[{"b":[{"i":[{"l":53}]}],"d":[{"i":[{"o":53}],"ó":19}],"f":[{"í":53}],"l":[{"j":52,"k":52}],"n":[{"d":[{"a":53},0],"ó":[{"r":2}],"s":[{"é":30}],"y":[{"a":[{"g":19}]}]}],"r":[{"c":0,"t":[{".":50,"a":[{"s":10}],"o":[{"s":53,"t":50}],"t":53}]}],"s":[{"l":9,"t":8}],"t":[{"r":8}],"u":[{"t":10},20],"x":51,"z":[{"o":5}]}],"á":[{"b":[{".":71,"j":53,"k":53,"n":53,"o":[{"t":53}]}],"g":[{".":5}],"l":[{"d":5}],"n":[{"c":[{"o":[{"l":30}]}],"s":[{"á":17}]}],"r":[{"i":[{"á":11}],"k":[{"a":52,"á":52}]}],"t":[{"a":82,"s":5,"u":50,"v":5}]}],"b":[{"r":5}],"d":[{"r":5}],"e":[{"a":[{"k":50},11],"b":[{"é":52}],"d":[{"é":[{"n":0}]}],"g":[{"y":51}],"k":[{"e":[{".":51}]}],"l":[{"f":52,"h":52,"l":[{"e":[{"n":52}]}],"m":52,"o":51,"ö":52,"ő":51,"r":52,"t":52,"v":52}],"m":[{"b":[{"e":[{"r":52}]}],"e":[{"l":51}],"l":52}],"n":[{"a":14,"á":14,"e":[{"g":11}],"é":[{"s":14}],"n":27,"o":[{"s":11}],"ő":2}],"p":[{"p":53}],"r":[{"a":[{"d":11,"j":11,"l":11,"v":11}],"á":[{"c":11,"l":11}],"e":[{"l":[{"e":2}]}],"i":[{"l":[{"i":53}],"n":[{"t":14}],"s":11}],"o":14,"ő":52}],"s":[{"z":[{"m":52},11]}],"u":11}],"é":[{"g":[{"e":[{"k":53,"t":53}],"g":53,"r":53}],"k":[{"a":2,"á":[{"t":[{"a":33},22]},11],"e":[{"l":14,"s":[{"í":19}]}],"í":5,"o":14,"u":11}],"l":[{"e":51,"é":19,"m":52,"t":52,"v":5}],"r":[{"c":52,"e":[{"m":52}],"é":51,"ő":[{"t":51}],"t":[{"é":52}],"z":52}],"s":[{"s":27,"z":[{"l":52}]}],"t":[{"k":52}],"v":[{"e":[{".":51}]}]}],"f":[{"l":5,"r":5}],"g":[{"r":5}],"i":[{"d":51,"g":[{"e":52,"é":52},11],"m":[{"a":51,"á":51,"m":50,"p":52}],"n":[{"a":[{".":11}],"d":52,"f":0,"g":52,"v":52}],"o":51,"p":[{"a":19}],"r":[{"á":5,"ó":5}],"s":[{"s":27,"z":[{"a":52},11]}],"v":[{"á":51}],"z":[{"o":19}]}],"í":[{"j":52,"l":117,"r":[{"á":5},0],"v":19,"z":19}],"k":[{"á":[{"r":[{"o":10}]}],"r":5,"v":5}],"o":[{"l":[{"a":[{"t":[{"o":11},32]}]}],"p":[{"a":14,"b":50,"h":50,"r":50,"t":50}],"r":[{"á":[{"l":11,"s":11}],"e":11,"i":[{"s":11}]}],"x":19}],"ó":[{"l":[{"a":117,"á":117}],"r":[{"á":19}],"s":50}],"ö":[{"k":[{"ö":[{"l":[{"t":14}]}]}],"n":[{"t":52}],"r":[{"ö":52}],"s":[{"s":[{"z":52}]}]}],"ő":[{"a":10,"e":10,"k":[{"é":[{"s":[{"z":28}]}]}],"r":[{"a":52,"b":52,"c":52,"e":[{"g":52,"i":52}],"é":[{".":52,"n":52,"r":52,"v":52}],"f":52,"g":52,"h":52,"i":51,"l":5,"m":52,"n":52,"p":5,"s":52,"ü":51,"v":52}]}],"p":[{"f":5,"l":5,"r":5}],"r":[{"a":[{"n":[{"d":[{"o":53}]}],"p":70,"t":[{"é":53}]}],"á":[{"g":48}],"é":[{"b":70,"n":54}],"i":[{"á":6}],"ó":[{"f":[{"á":53},6]}],"u":[{"c":70,"k":[{"t":[{"ú":53}]}]}]}],"s":[{"c":5,"t":5,"z":5}],"t":[{"r":19}],"u":[{"d":[{"v":52}],"k":[{"k":53}],"n":[{"i":5}],"r":[{"a":[{"l":19}]}]}],"ú":[{"d":117,"r":[{".":5}],"t":5}],"ü":[{"g":52,"l":[{"ő":51}],"s":[{"t":5}],"t":52,"v":51}],"ű":[{"r":[{".":52,"i":51,"n":52,"t":52}]}]}],"u":[{"á":[{"r":11}],"b":[{"i":3}],"d":[{"m":48,"v":86}],"g":[{"á":[{"r":[{".":71,"r":71}]}],"r":86}],"h":[{"i":71}],"j":[{"j":[{"a":[{"d":[{"a":2}]}]},47]}],"k":[{"a":[{"r":[{"á":12}]}],"e":6,"ö":12,"ü":12}],"m":[{"m":71}],"n":[{"a":[{"l":6}],"d":86,"i":58,"o":6}],"p":[{"e":10}],"r":[{"a":[{"d":54,"i":6,"k":6,"l":6,"t":6},47],"á":[{"t":6}],"n":47,"u":58}],"s":[{"z":[{"o":6}]}],"t":[{"a":[{"c":58,"d":58,"k":47,"l":54,"m":58,"n":58,"s":[{"s":7}],"t":58,"z":[{"i":62,"ó":54}]}],"c":86,"ó":[{"d":6},47],"u":47}]},53],"ú":[{"c":[{"s":[{"a":[{"l":6,"t":6}],"e":[{"m":6,"r":6}],"i":[{"p":6}],"k":[{"á":26}],"ö":24,"ü":23,"z":27}]}],"d":[{"i":10}],"i":[{"m":11}],"j":[{"h":48,"í":58,"s":86}],"l":[{"y":71}],"r":[{".":47,"b":47,"é":47,"h":47,"i":47,"k":47,"l":71,"n":47,"p":47,"r":47,"t":47}],"s":[{"é":[{"n":6}],"ó":6,"z":[{"ó":[{"s":[{"z":115}]}]},47]}],"t":[{"b":86,"e":[{"n":9}],"é":47,"h":48,"i":[{"g":6},47],"j":86,"k":86,"n":48,"o":[{"n":54},47],"ő":12,"r":86,"t":86,"ü":[{"z":9},10],"v":86}]},53],"ü":[{"d":[{"e":12,"í":6,"ü":6}],"g":[{"é":157,"g":[{"y":48}],"y":58}],"k":[{"a":158,"ü":6}],"l":[{"d":[{"ö":47}],"e":[{"d":6}],"t":[{"r":71}],"y":[{"e":[{"s":6},32]}]}],"n":[{"á":6,"e":[{"v":6},10],"é":12,"ő":58}],"r":[{"í":6,"ü":58}],"s":[{"t":47,"z":58}],"t":[{"k":47,"ő":[{"b":71}]}],"z":[{"e":6,"é":6}]},53],"ű":[{"p":[{"r":5}],"r":[{"a":12,"í":71,"u":54}],"z":[{"ő":6}]},53],"v":[{"a":[{"s":[{"u":2}]}],"á":[{"g":[{"y":[{"ó":[{"n":[{".":44}]}]}]}],"n":[{"y":[{"a":[{"n":11}]}]}],"r":[{"a":[{"l":14}],"o":[{"s":[{"i":33}]}]}]}],"e":[{"n":3,"z":[{"e":[{"t":[{"ő":[{"é":78}]}]}]}]}],"é":[{"n":[{"y":[{"e":[{"l":11}]}]}],"t":[{"e":[{"s":11}]}]}],"í":[{"z":[{"e":[{"s":3},32]}]}],"u":[{"n":0}]}],"w":[{"h":[{"i":[{"s":[{"k":[{"y":33}]}]},6]}]}],"y":[{"b":[{"ő":6}],"i":[{"g":5}]}],"z":[{"a":[{"a":10,"b":[{"á":[{"z":71}],"d":71}],"d":[{"á":[{"s":19}],"ó":93}],"é":10,"f":[{"t":71}],"g":[{".":71,"b":71,"ú":71,"y":[{".":47,"a":47}]}],"j":[{".":47,"á":47,"j":47,"ú":47}],"k":[{"c":[{"i":47}],"m":71,"ó":[{"r":2}],"ö":[{"z":11}]}],"l":[{"á":[{"s":47}],"b":77,"f":77,"g":47,"j":[{".":5,"a":[{"k":5}],"o":5},47],"l":47,"n":47,"p":77,"s":77,"t":[{".":47,"e":77,"o":47,"u":47}]}],"n":[{"e":47,"t":[{"r":5}],"y":[{"a":47,"ó":47}]}],"p":[{".":47,"á":47,"b":47,"e":[{"l":11}],"é":47,"h":47,"i":47,"j":47,"n":47,"r":47,"t":47}],"r":[{"á":[{"n":47}],"b":71,"c":47,"é":47,"t":71,"v":71}],"s":[{"p":47,"s":[{"z":5}],"z":[{"t":5}]}],"t":[{"a":[{"l":[{"a":11}]}],"y":71}],"u":[{"t":[{"a":10},47]}],"x":71,"z":[{"o":47}]},53],"á":[{"b":[{"r":47}],"g":[{"ó":47,"y":[{"á":11,"o":11},47]}],"j":[{"e":14}],"k":[{"e":11}],"l":[{"d":[{"o":47}],"i":[{"n":11}],"ú":71}],"m":[{"a":[{"n":11,"r":11}],"á":[{"l":11},71],"c":71,"e":2,"é":[{"r":[{"t":[{"é":14}]}]},71],"í":71,"k":71,"l":71,"m":71,"n":71,"o":[{"r":11}],"t":71,"ú":71}],"n":[{"d":71,"t":71}],"p":47,"r":[{"a":[{"d":[{"d":47}]}],"á":[{"s":47}],"e":14,"i":[{"á":47}],"í":71,"m":71,"ó":[{"r":[{"a":2}]}],"t":32,"u":[{".":47,"h":47,"s":47}]}],"s":[{"ó":[{".":47}]}],"t":[{"d":47,"é":159,"i":47,"l":47,"m":47,"ö":160,"s":47,"u":77,"ü":93,"v":47}]},53],"b":[{"l":5,"r":5}],"c":[{"é":[{"n":[{"a":53}]}],"l":5}],"d":[{"r":19}],"e":[{"b":[{".":47,"é":47}],"c":[{"h":47,"s":[{"e":47}]}],"d":[{"z":47}],"g":[{"e":[{"r":47}],"f":[{"ű":71}],"z":47}],"h":47,"k":[{"c":[{"s":[{"ő":[{".":71}]}]}],"e":[{"g":11}],"é":[{"i":[{"t":47}],"s":[{".":11},47]}],"r":[{"é":[{"n":71}]}],"t":[{"o":71}]}],"l":[{"e":[{".":71,"f":47,"m":[{"b":47,"e":[{"k":47}],"é":47,"k":93,"m":47,"r":93,"ü":47,"z":47}],"r":[{"e":47}],"t":71}],"é":[{"n":71}],"f":77,"g":[{"o":77}],"h":[{"a":77,"á":47}],"j":[{"á":77}],"k":[{"ü":47}],"l":[{"á":77,"ő":71}],"m":77,"n":[{"e":[{"v":47}],"ö":47}],"o":47,"ö":47,"ő":[{"á":93,"d":[{"ö":11}],"f":93,"r":[{"é":11}]}],"s":[{"ő":47,"z":[{"á":77}]}],"t":[{"a":77,"á":47,"ű":47}],"u":47,"ü":[{"l":77}],"v":[{".":47,"á":77,"e":[{"k":47,"s":47,"z":47}],"i":5,"n":47,"t":47}],"z":77}],"m":[{"b":[{"e":[{"r":47}]}],"e":[{"k":71}],"é":[{"l":71}],"p":161,"ű":[{".":71}]}],"n":[{"c":47,"e":[{"r":47}],"n":[{"y":71}],"t":[{"m":71}],"z":71}],"o":10,"p":[{"i":47}],"r":[{"á":[{"l":2}],"e":[{"d":[{"m":47}],"g":[{"e":15}],"j":11,"l":71,"s":[{"z":[{"t":3}]}]}],"k":[{"e":71}],"s":71,"t":[{"a":71,"á":[{"l":[{"o":10}]}]}],"v":[{"í":[{"z":28}]},71],"z":71}],"s":[{"d":77,"e":[{"m":[{"é":77}],"t":[{"b":47,"e":47,"é":47,"i":47,"r":47}]}],"é":[{"s":93}],"k":[{"ü":47}],"ő":47,"p":9,"t":[{"e":47,"é":47,"i":47,"j":47,"r":47}]}],"t":[{"e":[{"l":[{"ő":2}]}],"é":[{"k":2}],"i":[{"k":[{"a":47}]}],"o":[{"n":11}],"ő":[{"r":11}]}],"v":[{"e":47,"ő":47}],"x":[{"p":47}],"z":[{"o":71,"r":47}]},53],"é":[{"b":[{"e":[{"r":47}],"r":47}],"g":[{".":47,"e":47,"ő":47,"r":47}],"h":[{"e":[{".":47,"n":47,"t":47}],"s":47}],"j":[{"i":47}],"k":[{"e":[{".":71,"d":71,"i":71,"k":71,"m":71,"s":71,"z":47}],"é":[{"b":71,"v":71}],"o":[{"l":14,"s":11}],"s":71,"ü":71}],"l":[{"e":[{"k":71}]}],"n":[{"e":[{"k":[{"e":47,"n":47}]}]}],"p":[{"r":[{"ó":9}],"s":71}],"r":[{".":77,"b":77,"c":77,"d":77,"e":[{"l":19,"m":[{".":11,"m":11},47],"n":93}],"é":[{".":11,"n":11,"r":11,"t":11,"v":11},47],"f":5,"g":5,"h":5,"i":[{"n":77}],"j":5,"k":77,"l":77,"m":77,"n":5,"ő":[{".":47,"i":47,"k":47,"t":47}],"p":5,"r":77,"s":5,"t":[{"á":5,"e":77,"é":77,"í":5,"ő":77}],"u":71,"ü":93,"v":77,"z":77}],"t":[{"e":[{"l":11,"s":32}]}],"v":[{".":47,"a":[{"d":47}],"b":47,"e":[{".":47,"i":47,"k":47,"t":93}],"é":[{"n":47,"t":47,"v":47}],"f":47,"i":47,"k":47,"n":47,"r":47,"s":47,"t":47,"ü":47}]},53],"f":[{"é":[{"r":[{"a":[{"i":53}],"á":[{"é":53,"s":[{"o":53}]}]}]}],"l":5,"r":5}],"g":[{"l":5}],"i":[{"a":[{"b":11}],"d":[{"e":47,"é":77,"ő":47}],"f":[{"j":47}],"g":[{"a":93,"é":77,"n":71}],"k":[{"a":[{"s":2}],"e":[{"r":2}],"ó":2}],"m":[{"a":[{"k":5}],"á":93,"b":71,"p":[{"r":5,"u":47}]}],"n":[{"a":[{"s":47}],"d":[{"e":47,"í":47,"u":47}],"f":[{"o":5}],"g":47,"k":[{"o":5}],"t":[{"e":[{"g":47}]}]}],"o":47,"r":[{"a":[{"t":47}],"á":47,"i":93,"o":[{"d":47}]}],"s":[{"í":11,"z":[{"a":93,"á":11}]}],"t":[{"u":71}],"v":[{"a":[{"d":47}],"á":[{"s":47}],"ó":47}],"z":[{"g":5,"z":77}]},53],"í":[{"g":77,"n":[{"e":71,"n":[{"a":47}]}],"v":[{"á":[{"r":11}],"i":47,"ű":71}],"z":77},53],"k":[{"a":[{"p":[{"r":3}],"r":[{"a":[{"b":53}],"c":[{"h":9}]}]}],"e":[{"n":[{"n":53}]}]}],"l":[{"á":[{"v":[{"h":53,"o":[{"k":53}]}]}],"e":[{"n":[{"g":[{".":53,"n":53,"r":53}]}],"t":[{"e":[{"l":17}],"o":30}]}],"o":[{"g":[{"e":53}]}]}],"m":[{"o":[{"k":70}]}],"n":[{"o":[{"b":53}]}],"o":[{"b":[{"j":47}],"d":[{"a":[{".":47,"i":47,"k":47}],"ú":47}],"f":71,"k":[{"á":71,"k":[{"e":47}],"o":[{"z":47}],"s":[{"ö":47}]}],"l":[{"a":[{"j":47}],"á":[{"l":14}],"d":[{"a":47,"á":5,"ó":47}],"i":[{"m":142}],"l":[{"ó":47}],"t":[{"á":[{"r":77,"s":47}]}],"v":[{"a":[{"d":47,"s":47}]}]}],"m":[{"b":[{"o":[{"r":[{".":47}]}]}],"s":71}],"n":[{"a":[{"s":11}],"á":[{"r":11}],"d":71}],"r":[{"a":47,"á":[{"l":14}],"m":47,"n":47,"s":47,"v":47}],"s":[{"t":[{"á":47,"o":47}]}],"t":[{"t":[{"h":77}]}],"v":71,"x":77},53],"ó":[{"l":[{"m":47,"ó":71}],"n":[{"á":[{"d":47,"i":47}],"i":47,"o":[{"d":47}]}],"r":[{"á":[{"n":93,"t":47}],"i":47}],"s":[{"í":[{"k":11}],"z":[{".":71,"a":[{"k":26}],"á":[{"l":[{"l":11}]}],"ó":[{"n":11}],"ü":[{"l":[{"ő":11}]}]}]}],"t":[{"r":9}]},53],"ö":[{"b":[{"l":[{"i":47}]}],"g":[{"e":71}],"l":[{"d":[{"e":[{"s":47}]}],"e":77}],"r":[{"e":47}],"v":[{".":47,"e":[{"i":47}]}],"z":77},53],"ő":[{"a":10,"e":[{"r":10}],"é":10,"l":[{"ő":71}],"r":[{"a":11}],"s":[{"i":5}],"z":[{"e":5},47]},53],"p":[{"í":70,"l":5,"o":[{"n":[{"z":53}]}]}],"r":[{"á":[{"d":[{"i":26}]}]}],"s":[{"a":[{"j":25,"p":25,"s":25,"v":25}],"á":[{"k":41,"n":25,"r":25,"s":25,"t":25,"v":25}],"e":[{"g":25,"m":41,"n":41,"p":25,"r":25}],"é":25,"h":25,"i":[{"k":25,"n":41,"s":25,"v":25}],"í":[{"n":25}],"k":34,"l":25,"o":[{"d":25,"k":25,"l":41,"r":25}],"ó":25,"ö":[{"r":25,"v":25}],"p":34,"r":34,"t":34,"ú":[{"l":[{"l":41}]}],"ü":25,"z":25}],"t":[{"á":[{"l":[{"l":[{"a":12}]}],"r":[{"a":[{"d":17,"m":8,"s":31,"t":10}],"e":6,"f":6,"h":6,"j":70,"n":[{"y":6}],"ó":26,"u":[{"k":8},6],"v":6}]}],"e":[{"r":[{"e":[{"l":30,"o":53}]}]}],"é":[{"g":[{"e":9},10],"r":[{"t":[{"e":6}],"v":12}],"t":[{"é":12}]}],"ö":[{"r":[{"ö":[{"k":9}]}]}],"ő":[{"r":[{"n":12}]}],"r":[{"á":[{"d":[{"á":53}],"j":[{"k":53}]}]}],"ü":[{"r":6}],"y":[{"e":53}]}],"u":[{"b":[{"o":3},11],"c":3,"d":[{"v":5},47],"g":[{"o":47,"r":77}],"h":47,"j":77,"k":[{"á":71}],"r":[{"a":19,"á":93}],"t":[{"a":47,"ó":5,"u":47}],"z":91},53],"ú":[{"g":47,"j":47,"r":[{"o":[{"n":5}],"r":77,"t":[{"ó":5}]}],"s":47,"t":[{"é":47,"h":47,"i":47,"j":47,"n":47,"o":47,"r":47,"t":47,"v":47}],"z":47},53],"ü":[{"d":77,"g":[{"g":47}],"k":[{"s":71}],"l":[{"d":47,"e":[{"d":93}],"ő":[{"s":[{"e":47}]}]}],"n":[{"e":71}],"r":[{"k":[{"e":71,"é":[{"s":71}]}]}],"s":77,"v":77},53],"ű":[{"k":71,"r":[{"ö":[{"d":[{"n":47}]}]}]},53],"v":[{"i":[{"t":[{".":53,"e":[{"t":53}],"j":53,"n":53,"t":53}]}]}],"z":[{"s":25}]},0]}],"t":[{".":47,"a":[{"a":[{"d":11,"l":11}],"á":[{"t":[{"a":32},3]}],"b":[{"o":[{"z":7}],"r":[{"a":5,"o":86,"ó":5}],"s":86}],"c":[{"l":5}],"d":[{"a":[{"l":[{"é":6}],"p":86,"s":6,"t":[{"a":54,"b":58,"o":58,"u":6}]}],"á":58,"i":[{"o":47}],"j":48,"l":48,"m":86,"o":[{"d":6,"g":58,"t":58}],"ó":[{"a":54,"á":6,"b":6,"d":6,"f":6,"g":6,"h":54,"i":[{"g":54,"k":54,"n":54,"t":54}],"í":6,"j":54,"k":[{"a":54,"é":54,"o":54,"r":[{"a":54}]}],"l":6,"n":[{"a":54,"á":54}],"p":6,"r":54,"t":[{"ó":54}],"ü":6,"v":54},47],"r":[{"á":5,"e":19,"o":5}],"s":48,"u":[{"n":6}],"v":48}],"e":[{"l":11,"r":[{"o":6},11]}],"é":[{"r":11}],"f":[{"í":47,"r":19,"t":[{"a":11}]}],"g":[{"a":[{"j":12,"v":6,"z":[{"o":9},10]}],"á":[{"g":6,"l":12}],"e":[{"c":6,"l":12,"r":13}],"é":[{"g":13}],"g":[{"o":47,"r":86}],"i":[{"d":6,"z":6}],"o":[{"s":[{"z":12}],"t":[{"t":12}]}],"ó":[{"c":6,"n":58,"r":13,"v":6}],"r":[{"a":[{"f":19,"m":19}],"á":[{"d":[{"i":33}]}]}],"u":[{"s":13,"t":6}],"ü":13,"y":[{".":86,"a":[{".":6}],"á":[{"b":6,"h":6}],"b":86,"n":86,"r":86,"v":86}]}],"i":[{"r":[{"e":6,"ó":[{"n":11}]}],"z":11}],"j":[{"é":6,"u":[{"s":13}],"ú":[{"s":6}]}],"k":[{"a":[{"d":58}],"á":[{"l":12,"r":[{"o":9},10],"s":6,"t":[{"k":6}]}],"c":[{"e":86,"i":86}],"e":[{"l":[{"e":9},10]}],"é":[{"r":[{".":12}],"s":[{"z":[{"e":8}]}]}],"k":[{"o":[{"r":[{"a":86,"d":47}]}],"u":86}],"l":[{"a":19,"u":5}],"n":[{"a":[{".":48}]}],"ó":[{".":6}],"ö":[{"b":12,"r":[{"ö":[{"m":12}]}],"s":12}],"r":[{"á":5,"e":[{"á":11}],"í":5,"o":86,"ó":[{"n":19}]}],"t":[{"a":[{".":86}],"e":[{"m":11}],"i":[{".":47,"v":86}],"í":86,"j":86,"u":[{"s":[{"s":22}]}]}],"u":[{"s":6}],"v":[{"a":19}]}],"l":[{"a":[{"d":[{"a":13,"á":13,"h":12,"j":12,"n":12,"o":13,"ó":13,"t":12,"u":13,"v":12}],"g":[{"u":54,"ú":6},162],"k":[{"b":58,"c":9,"í":47,"j":58,"u":62,"z":86}],"l":13,"n":[{"y":86}],"p":[{"a":58,"í":58,"k":6,"l":54,"s":[{"z":58}]}],"r":13,"s":12,"t":[{"e":10,"t":[{"i":47}]}],"u":12}],"á":[{"á":47,"g":13,"í":47,"l":[{"l":[{"o":12}]}],"r":[{"a":[{"k":8}]}],"s":[{"s":7}],"t":[{"a":12,"r":9}]}],"e":[{"l":[{"l":9,"ő":12}],"n":[{"g":12}],"s":[{"i":9}]}],"é":[{"g":10,"k":[{"e":17}],"r":[{".":12}]}],"g":[{"e":86}],"i":[{"k":[{"o":13,"r":9}],"m":[{"p":9}],"n":[{"a":[{".":9}]}],"p":6,"s":[{"k":12}]}],"í":[{"r":13}],"j":[{"a":[{"s":47}],"i":86,"z":47}],"k":[{"a":[{"l":86}],"í":[{"m":47}],"o":[{"h":47,"t":47}]}],"l":[{"e":[{"r":47}],"y":20}],"o":[{"l":12,"m":[{"e":30}],"s":[{"z":12}]}],"ő":[{"r":12}],"p":[{"á":[{"r":[{"o":2}]}],"e":[{"l":11}],"i":[{"l":14}],"u":[{"s":11}]}],"t":[{"r":[{"e":8}]}],"u":[{"d":6,"l":[{"j":58}],"r":13,"t":13}],"ú":[{"r":6,"t":[{".":12}]}],"ü":6,"ű":6,"v":[{"e":[{"o":47}]}]}],"m":[{"a":[{"l":[{"m":9},6],"z":6}],"i":[{"d":13}],"ő":58,"p":[{"a":48,"u":86}],"u":[{"r":86}],"ü":6}],"n":[{"a":[{"j":12,"l":6,"n":6,"t":58}],"á":[{"l":[{"l":9,"o":9}],"s":[{"s":7}]}],"d":[{"e":[{"l":11}],"r":47}],"e":[{"l":12,"r":6,"s":163,"z":12}],"é":[{"j":12,"r":[{".":12,"k":12}],"v":[{"b":9,"é":8,"i":8,"m":9}]}],"i":[{"d":6,"m":62,"s":[{"t":9}]}],"k":[{"é":[{"r":[{"e":11},32],"s":11}],"ó":[{"r":[{"a":14}]},32]}],"n":[{"y":47}],"o":[{"s":[{"z":12}]}],"ó":[{"d":6}],"t":[{"e":[{".":11,"l":14}],"o":[{"r":[{"s":11}]}],"r":[{"á":9}]}],"ü":6,"ű":6,"y":[{"a":[{"g":47}],"á":[{"d":47}],"ó":58}]}],"o":[{"l":11}],"ó":[{"r":11}],"p":[{"a":[{".":58,"i":58,"k":[{"é":6}],"s":[{"á":6}]}],"á":[{"b":58,"d":58,"é":58,"h":58,"i":58,"j":58,"k":58,"m":58,"r":[{"a":6,"ó":6}],"u":47,"v":58}],"l":[{"a":19,"é":5}],"ó":[{".":54}],"p":47,"r":[{"é":19,"í":86,"o":19}],"s":[{"o":[{"r":11}],"s":27,"ü":2}],"u":[{"n":47}]}],"r":[{"a":[{"b":[{"e":6}],"i":6,"s":58,"t":58}],"á":[{"b":58,"d":[{"i":26}],"h":58,"n":62,"t":58,"v":58}],"b":[{"i":86}],"c":[{".":86,"h":86,"o":86,"u":48,"ú":86}],"i":[{"k":13}],"o":[{"m":[{"á":6}]}],"s":8,"t":[{"a":[{"b":11}],"e":[{"l":2,"m":14,"n":14}],"é":[{"r":[{".":14}]}],"i":[{"t":11}],"o":[{"l":[{"d":11}],"s":47}],"r":47,"t":47}]}],"s":[{"c":47,"e":[{"m":6}],"f":47,"k":[{"á":19}],"l":[{"u":5}],"m":19,"n":[{"ő":47}],"o":[{"l":12}],"p":[{"i":86,"r":5}],"r":[{"u":47}],"s":[{"z":[{"á":20,"t":20},47]}],"t":[{"a":19,"e":47,"r":5},10],"v":47,"y":5,"z":[{"k":86,"l":5}]}],"t":[{"a":[{"l":[{"j":12,"m":12}],"s":[{"z":[{"t":12}]}]}],"á":[{"r":[{"a":[{"i":[{".":10}]}]}]}],"e":[{"i":58,"s":10}],"i":[{"k":[{"a":47,"á":47}],"n":[{"a":[{".":13}],"á":13,"g":12}]}],"l":[{"a":[{"s":48}]}],"o":[{"m":[{"o":54}],"r":[{"j":9}]}],"ő":[{"r":12}],"r":[{"i":19}],"t":[{"i":86}],"u":[{"r":[{"a":8}]}],"y":[{"a":6,"á":6}]}],"u":[{"k":58,"t":[{"a":11,"á":11,"o":47}]}],"ü":[{"z":11}],"v":[{"a":[{"n":47,"t":[{"á":47,"ó":47}]}]}],"w":[{"h":5}],"z":[{"o":[{"n":6}]}]},53],"á":[{"b":[{".":47,"á":12,"e":[{"s":[{"z":[{"é":[{"l":155}]}]}]}],"é":47,"i":[{"g":6,"n":6}],"j":47,"k":47,"n":47,"o":[{"k":47,"n":47,"t":47}],"ö":6,"r":[{"á":48},47],"ü":6}],"c":[{"i":[{"u":47}]}],"f":[{"a":6,"á":6}],"g":[{".":47,"a":[{".":6,"d":[{"a":9},10],"i":58,"z":6}],"á":58,"b":47,"c":86,"e":58,"é":58,"f":86,"g":47,"h":86,"i":58,"j":47,"k":86,"m":86,"n":47,"o":58,"r":47,"t":86,"u":[{"k":58,"n":58}],"ú":58,"v":86,"y":58}],"h":[{"í":6}],"j":[{"a":[{"l":6,"z":6}],"e":[{"g":13,"l":13}],"í":6,"o":[{"k":12}],"ö":13,"ő":6,"u":[{"l":54}]}],"l":[{"a":[{"b":6,"d":[{"a":9},10],"j":6,"l":[{"a":[{"p":8}]}],"p":6,"r":86}],"á":[{"l":12,"t":[{"h":12}]}],"d":[{"á":86,"o":86}],"e":[{"g":12,"l":12},10],"é":[{"l":6}],"l":[{".":86,"a":[{"m":86,"n":86,"t":86}],"á":[{"s":86}],"h":86,"í":86,"j":86,"n":86,"o":86,"s":86,"t":86,"u":86,"ú":48,"v":86}],"m":[{"a":86,"i":86,"o":[{"k":86}]}],"o":[{"m":[{"r":58,"t":6}]}],"ö":6,"r":[{"u":86}],"ü":6,"y":[{"a":[{"b":6,"c":23,"d":6,"g":23,"l":23,"n":23,"p":6,"t":24,"u":6}],"á":[{"t":[{"l":6}],"z":23}],"i":[{"d":6,"r":6,"s":6}]}]}],"m":[{"a":[{"s":[{"z":[{"e":10}]}]}],"í":6,"o":[{"s":6}],"u":58}],"n":[{"a":[{"l":[{"m":9}]}],"á":[{"r":6}],"c":[{"c":27,"e":14,"é":[{"h":11,"l":11,"n":11}],"k":[{"é":[{"s":[{"z":65}]}]}],"s":[{"á":11,"o":[{"r":11}]},32]}],"d":8,"e":13,"í":6,"ó":13,"ö":6,"p":[{"ó":47}],"s":[{"e":14}],"ü":6,"ű":6,"y":[{"a":[{"l":6,"s":24}],"e":6}],"z":47}],"p":[{"a":13,"á":[{"l":6,"r":12,"t":6},10],"e":13,"i":[{"l":12,"n":12}],"o":[{"l":[{"l":9}],"s":[{"z":12}]}],"ő":6,"ü":6}],"r":[{"a":[{"d":[{"á":58,"o":[{"t":8}],"ó":6}],"g":13,"j":[{"t":9}],"l":13,"m":[{"a":[{".":47}],"á":47,"i":47,"l":58,"o":[{"k":47,"l":47,"t":47}],"t":58,"u":47,"ú":47}],"n":[{"y":12},10],"p":6,"s":[{"z":12}],"t":[{"t":12}],"u":12,"v":12}],"á":[{"g":6,"l":12,"s":[{"z":13}],"t":[{"l":12}]}],"b":[{"o":[{"c":47}]}],"e":13,"é":[{"d":6,"s":6}],"g":[{"y":[{"ö":11}]}],"i":[{"k":13,"p":13,"s":[{"k":9,"m":12}]}],"í":6,"k":[{"á":[{"d":86,"n":[{"a":86}],"r":47}]},8],"n":[{"y":[{"é":86}]}],"o":[{"k":[{"m":9}],"s":[{"z":12}]}],"ó":[{"c":6,"r":[{"á":9}]}],"ö":6,"ő":6,"s":[{"a":[{"l":[{"t":14}]}]}],"t":[{"á":[{"s":47}],"ö":[{"l":[{"t":[{"ő":3}]}]}],"r":[{"o":9}]}],"u":[{".":47,"a":47,"b":47,"c":47,"g":58,"h":58,"i":47,"j":86,"n":[{"a":47}],"s":47,"t":[{".":47,"a":9}],"ü":47,"v":47}],"ú":[{"é":47,"j":6,"k":47,"s":6}],"ü":6,"ű":6}],"s":[{"a":[{"d":13,"j":12,"l":6,"r":13,"z":6}],"á":[{"g":[{"a":8}],"r":[{"a":[{"i":13}],"á":13,"é":13,"h":12,"n":12,"o":13,"r":12,"t":12}],"s":[{"o":86},6],"t":[{"o":13}]}],"e":13,"i":[{"s":6}],"o":[{"d":[{"v":6}],"l":12,"r":6}],"ó":[{"k":47,"r":8},6],"ö":6,"ő":6,"s":20,"t":[{"r":9},10],"u":[{"t":6}],"ü":13,"ű":6,"v":[{"á":[{"n":48}]}],"z":[{"a":[{"k":24,"l":6,"v":20}],"á":21,"e":[{"n":20},6],"i":47,"o":[{"s":6},47],"ó":21,"t":47}]}],"t":[{"a":[{"d":86}],"á":[{"l":58}],"c":86,"d":86,"e":88,"é":102,"f":[{"o":86}],"g":86,"h":[{"e":86,"i":86}],"i":[{"r":12}],"í":58,"j":[{"e":86}],"k":[{"ö":86}],"l":[{"a":[{"g":86}]}],"m":86,"o":[{"l":102}],"ö":102,"ő":58,"p":86,"r":[{"e":86,"u":86}],"s":[{"z":86}],"t":[{"e":86,"é":86,"ö":86,"ű":86}],"u":[{"t":86}],"ü":58,"v":[{"i":86,"o":86}]}],"v":[{"a":[{"d":13,"k":6,"l":10,"n":13,"s":6,"z":6}],"á":[{"l":12}],"e":13,"é":[{"d":6,"r":[{"z":12}],"s":12}],"i":[{"n":6,"s":6}],"í":6,"o":[{"r":12}],"ó":58,"ö":6,"ő":6,"ü":6}],"z":[{"s":[{"a":[{"l":6}],"á":[{"l":6}],"ó":6,"p":3}]}]},53],"b":[{"a":[{"l":[{"l":[{"e":10}]}]}],"e":[{"á":10}],"l":[{"a":6,"e":6,"i":6,"o":6,"ú":6}],"r":[{"a":6,"e":6,"i":54,"o":6,"ó":6,"u":6}]}],"c":[{"a":[{"k":9,"s":9,"t":8}],"l":[{"u":6}],"r":[{"e":6}],"s":[{"a":[{"p":[{"á":[{"g":16}]}]}]}]}],"d":[{"í":[{"j":[{"a":[{"d":[{"a":14},32]}]}]}],"r":[{"a":6,"á":6,"e":6,"o":6,"ó":6,"u":6}]}],"e":[{"a":[{"a":6,"á":6,"b":6,"c":6,"d":21,"e":6,"é":6,"g":6,"h":6,"i":[{"v":6},10],"í":6,"j":6,"k":[{"u":6}],"l":[{"a":[{"p":6}],"á":[{"z":6}],"i":6}],"n":[{"a":6}],"o":6,"ö":6,"ő":6,"p":[{"a":6,"á":6}],"s":[{"p":12,"z":[{"a":6,"á":6,"o":6}]},10],"t":[{"r":[{"ó":9}]}],"ú":6,"ü":6,"v":6,"z":6}],"b":[{"e":[{"r":6}],"é":[{"d":6}]}],"c":[{"h":[{"ó":47}],"s":[{"á":6}]}],"d":[{"i":[{"t":6}],"í":6,"z":58}],"f":[{"f":86,"r":19}],"g":[{"a":[{"n":6,"r":13,"z":[{"o":9},10]}],"á":[{"l":9,"r":9},6],"e":[{"g":12,"l":[{"e":[{"m":8}],"l":12,"r":12}],"n":[{"e":6}],"r":[{"e":[{".":47,"d":9}]}]}],"é":[{"l":12,"p":13,"s":[{"z":22}]}],"g":20,"i":[{"d":6,"s":6,"z":6}],"o":[{"n":12}],"ö":12,"ú":6,"ü":[{"g":13,"l":[{"é":12,"ő":12},10]}],"y":[{".":86,"e":[{"s":58,"z":54}],"é":[{"n":48}],"h":86,"l":86,"s":86,"ü":[{"t":47}]}]}],"i":[{"g":11,"n":[{"s":3}]}],"j":[{"a":12,"e":[{"g":10,"l":[{"l":12,"v":12}],"r":12}],"i":[{"n":6}],"í":6,"o":6,"ó":12,"ö":[{"s":12}],"ő":6,"u":13,"ú":6}],"k":[{"a":[{"g":12}],"á":[{"l":12}],"e":[{"l":12}],"é":[{"r":[{"e":[{"t":9}]}]}],"i":[{"p":13}],"í":6,"l":[{"u":5}],"o":[{"k":12}],"ö":[{"s":12}],"u":[{"n":[{"d":12}]}],"ú":[{"t":12}]}],"l":[{"a":[{"b":6,"g":6,"j":6,"n":12,"p":6,"r":6,"s":6,"v":6}],"á":[{"g":13,"l":6,"r":10,"t":12}],"b":[{"ü":47}],"e":[{"í":[{"r":[{"á":38}]}],"j":[{"t":9},47],"k":[{"t":[{"r":47}]}],"l":[{"e":[{"n":8}],"k":12,"l":12}],"m":[{"b":[{"a":6}],"e":[{".":6,"i":47,"k":62,"s":6}],"é":[{"n":6}],"ű":58}],"s":[{"é":[{"s":9}],"ő":13,"t":[{"e":12,"i":9}]}],"t":[{"é":[{"r":[{".":30}]}]}]}],"é":[{"g":54,"r":[{"é":[{"t":9}]}],"t":[{"e":12}]}],"f":[{"o":[{"g":[{"a":48}]}]}],"i":[{"é":[{"h":32}],"m":[{"i":12}],"n":[{"d":6,"f":12,"g":12}],"x":86}],"í":[{"r":6}],"l":[{"e":[{"g":14,"n":[{"f":47,"ő":47,"z":47}]}],"n":[{"i":[{"v":86}]}]}],"m":[{"é":[{"l":[{"e":47}]}]}],"ó":13,"ö":[{"l":12}],"ő":[{"a":[{"d":[{"á":47}]}],"í":58,"n":[{"n":47,"y":58}],"t":[{"t":6,"u":58}],"v":[{"é":[{"t":6}]}],"z":[{"i":[{".":9}]}]}],"p":8,"s":[{"a":86,"ő":86}],"t":[{"e":[{"l":[{"é":86}],"t":[{"t":[{".":86}]}]}],"é":[{"r":[{"é":86}]}]}],"ú":6,"ü":[{"k":[{"é":[{".":10}]}]}],"v":[{".":86,"b":86,"e":[{"i":86,"k":86,"t":86}],"é":[{"v":86}],"h":86,"i":[{".":86,"l":86}],"k":86,"n":86,"r":86,"t":86,"ü":86,"ű":86,"v":86}]}],"m":[{"a":[{"p":6,"s":12}],"b":[{"l":86,"r":86}],"e":[{"g":13,"l":[{"e":[{"g":8}],"é":86,"k":86,"ő":62,"v":6}]}],"é":[{"l":12,"r":[{".":12,"ő":[{".":13}],"t":[{"é":9}]}],"s":58,"t":[{"e":12,"k":12}]}],"i":[{"d":6,"g":[{"r":6}],"l":[{"l":9}],"m":6,"n":[{"g":9,"t":12}]}],"ó":[{"c":6,"r":13}],"ő":13,"p":[{"á":47,"l":[{"i":47}]}],"u":[{"l":58,"s":6,"t":6}],"ü":[{"l":[{"é":12},10]}]}],"n":[{"a":[{"d":6,"g":13,"l":6,"r":13,"s":12,"t":6,"u":6}],"á":[{"t":13}],"d":[{"h":8}],"e":[{"g":[{"y":9},10],"l":12,"r":[{"g":47},6],"s":[{"z":12}]}],"é":[{"k":[{"t":12}],"v":[{".":12,"i":12}]}],"g":[{"e":[{"d":86}]}],"i":[{"p":13}],"o":[{"l":12}],"ó":13,"ö":6,"t":[{"i":[{"n":11}],"í":[{"v":2}],"r":[{"i":9}]}],"u":13,"ú":6,"ü":[{"g":12,"n":[{"n":6}]}],"y":[{"h":86,"v":48}]}],"o":[{"c":6,"f":6,"s":11}],"p":[{"i":[{"z":86}],"o":[{"s":58}],"p":[{"é":[{"k":2}]},47]}],"r":[{"a":[{"b":[{"l":9}],"c":[{"é":8}],"d":[{"a":12}],"k":[{"a":9}],"n":13,"r":13,"u":6}],"á":[{"c":[{"s":8}],"f":6,"l":[{"l":12,"m":9}],"r":[{"i":13}],"t":[{"a":9}]}],"c":[{"h":11}],"d":[{"ő":47},8],"e":[{"d":[{"m":47,"z":13}],"g":[{"é":9,"y":9}],"j":58,"k":[{"e":[{".":13}],"l":58}],"l":[{"m":12}],"m":[{"e":26}],"n":[{"t":12}],"o":47,"p":[{"a":10,"e":[{"l":17}],"ü":[{"l":[{"é":17}]}]}],"r":12,"s":[{"ő":13,"t":[{"e":12,"é":12}]}],"t":[{"a":6,"i":12,"n":6}]}],"é":[{"g":6,"j":13,"k":[{"a":9}],"l":[{"e":9,"v":9},31]}],"g":8,"i":[{"k":[{"o":9}],"l":[{"i":47,"l":[{"a":9}]}],"n":[{"a":10}],"p":13,"s":[{"m":6,"t":9}],"z":[{"m":9}]}],"k":[{"ö":[{"l":[{"c":48}]}]},8],"m":[{"é":[{"s":[{"s":22}]}]}],"o":[{"l":[{"d":12}],"r":6,"x":12}],"ó":[{"r":13}],"ö":[{"k":6,"n":12}],"ő":[{".":86,"b":86,"f":86,"s":86,"t":48,"v":48},6],"s":[{"z":32},8],"t":[{"r":9},10],"u":[{"r":6,"t":12}],"ú":[{"t":12}],"ü":[{"g":12,"l":[{"d":12}]}],"v":[{"a":[{"j":11,"n":11}]}]}],"s":[{"a":[{"r":6}],"á":[{"r":6}],"e":[{"l":[{"l":9},6],"m":[{"é":86}],"t":[{"b":58,"e":[{".":58,"i":58,"n":58,"t":58}],"é":58,"h":58,"i":58,"n":58,"r":58,"t":58}]}],"é":[{"l":[{"l":47,"y":47},6],"s":58}],"i":[{"n":[{"t":12}]}],"í":[{"r":[{"n":6,"ó":12},10],"z":6}],"k":[{"ü":47}],"n":[{"i":48}],"o":[{"t":6}],"ő":58,"p":10,"s":[{"z":[{"e":[{"n":86}]}]}],"t":[{"a":[{"k":11}],"á":[{"l":[{"l":14}],"r":[{"a":11},32]}],"e":[{"l":[{"k":14,"l":14}],"r":14}],"é":[{"j":47,"k":[{"n":14,"s":14},47],"m":47}],"i":[{"s":[{"m":11}]}],"o":14,"ő":[{"r":[{"e":14,"é":14}]},32],"u":[{"r":11}]}],"ú":12,"ü":[{"v":13}],"z":[{"e":[{"t":47}],"m":[{"é":86}],"t":[{"a":17,"e":[{"r":[{"e":30},26]}],"é":[{"t":[{"e":17}]}],"o":[{"r":10}]}]}]}],"t":[{"a":[{"k":13,"l":13,"n":[{"a":6}],"p":13}],"á":[{"g":6,"l":12,"r":[{"a":12},10],"t":6}],"e":[{"g":13,"l":[{"l":12,"ő":8,"r":9,"v":12}],"n":[{"e":6}],"r":[{"é":12},10],"s":[{"z":12}]}],"é":[{"j":12,"k":[{"k":9}],"l":13,"r":[{"i":12,"v":12}]}],"i":[{"d":6,"k":[{"a":58,"á":58}],"m":6,"n":[{"t":12}]}],"k":[{"é":[{"s":[{"z":28}]}]}],"o":[{"l":[{"t":12}],"t":12}],"ó":[{"r":6}],"u":[{"r":6}],"ü":[{"z":12}],"ű":[{"d":58,"z":13}]}],"v":[{"é":[{"s":[{"s":38}]}],"o":[{"l":6}]}],"w":[{"a":12}],"x":[{"p":86}],"z":[{"e":[{"r":58}],"ő":[{"a":32}],"r":[{"e":[{"d":48}]}]}]},53],"é":[{"b":[{"r":86}],"c":[{"ő":6}],"d":[{"e":[{"s":6}]}],"g":[{".":47,"b":47,"e":[{"t":47}],"é":[{"p":6,"s":6},47],"g":47,"j":47,"k":86,"l":[{"a":7}],"n":47,"ö":58,"ő":58,"r":47,"t":47,"ü":[{"l":12},10]}],"h":[{".":86,"e":[{"k":58,"n":58,"s":58,"t":58}],"é":58,"s":86}],"j":[{"e":[{"n":58,"s":6}],"r":86,"s":86,"t":86}],"k":[{"a":[{"b":6,"d":[{"a":9},6],"k":[{"a":12}],"l":[{"k":9}],"m":6,"n":13,"r":12,"t":[{"t":12},10],"z":6}],"á":[{"g":12}],"e":[{"c":13,"d":[{"é":6}],"g":13,"k":[{"é":[{"h":13}]}],"l":[{"ő":[{"á":13}],"r":12}],"r":12,"s":[{"z":12}],"t":[{"i":12}]}],"é":[{"k":13,"l":13,"p":6,"r":[{".":12}],"s":12}],"f":[{"é":[{"l":[{"é":[{"v":43},33]}]}]}],"i":[{"d":6,"k":6,"m":6,"r":[{"á":6}],"s":13}],"í":31,"o":[{"r":13,"s":[{"z":12}]}],"ó":[{"r":6},10],"ö":13,"ő":6,"u":[{"t":13}],"ü":[{"l":10}]}],"l":[{"a":[{"k":6,"n":12,"p":6,"s":6},10],"á":[{"b":6,"l":6,"r":6,"t":13},0],"e":[{"i":6,"l":[{"e":9,"l":9,"ő":9,"v":9},31],"r":13,"s":[{"t":9},6],"z":6}],"é":[{"k":[{"b":9,"é":9}]}],"í":6,"ó":6,"ö":13,"ő":[{"k":[{"é":[{"s":[{"z":65}]}]}]}],"u":[{"t":6},10],"ű":62,"y":[{"e":[{"g":6}],"i":[{"g":[{"a":[{"z":65}]}]}]}]}],"m":[{"a":[{"p":3}],"é":6,"i":[{"l":6}]}],"n":[{"a":[{"n":12},10],"e":[{"k":[{"b":58,"e":[{".":86,"k":47}],"é":58,"l":47}]}],"i":[{"n":12}],"ö":13,"y":[{"e":[{"g":23,"l":23}],"é":[{"k":6}],"i":[{"g":[{"a":[{"z":65}]}],"m":6}],"o":6,"ö":6}]}],"p":[{"é":[{"s":[{"s":38}]}],"í":58,"l":[{"a":19}],"ü":[{"l":58}]}],"r":[{"a":[{"b":6,"j":6,"k":[{"t":9}],"n":13,"r":6,"s":6,"v":6}],"á":[{"r":13}],"d":[{"e":[{"k":[{"b":47,"l":47,"n":47,"ü":47,"ű":47}],"m":[{"e":[{"l":2}]}]}],"í":[{"j":2}]}],"e":[{"g":6,"l":13,"m":[{"l":9},6],"n":[{"g":12}],"s":[{"ő":12,"s":[{"z":12}],"z":12}],"t":[{"t":58}]}],"é":[{"s":[{"s":7,"z":12}],"t":[{"e":9}]}],"i":[{"d":[{"e":12},10],"l":6,"p":6,"s":6}],"k":[{"e":[{"z":47}]}],"m":[{"ü":86}],"o":[{"s":12}],"ö":6,"t":[{"e":[{"s":86}],"é":[{"k":86}],"ő":[{".":47,"k":86}],"r":8,"v":86}],"u":13,"v":[{".":86,"e":[{"i":86,"k":47}],"é":[{"n":[{"y":86}]}]}]}],"s":[{"a":[{"b":6,"g":6,"j":12,"k":6,"l":12,"n":6,"p":6,"s":12,"z":12},10],"á":[{"t":[{"a":16}]},13],"e":[{"g":12,"l":13,"r":13}],"é":[{"s":6}],"i":[{"k":[{"o":9}]}],"o":[{"r":12}],"ó":6,"ő":13,"u":6,"ü":[{"l":[{"é":12,"ő":9},10],"t":12}],"z":[{"a":[{"v":20}],"á":[{"l":3,"r":20}],"e":[{"g":6,"m":[{"b":24}],"n":[{"e":20}],"s":[{"z":6}]}],"é":[{"k":24}],"s":[{"i":20}]}]}],"t":[{"a":[{"l":13}],"c":[{"s":[{"a":26}]}],"e":[{"g":13,"l":[{"e":[{"m":[{"t":8}]}],"k":[{"é":[{"s":9}]}],"v":[{"e":12}]}],"r":[{"i":86,"s":12}],"v":13}],"é":[{"t":[{"e":13}]}],"o":[{"k":6,"l":6,"s":12}],"ó":[{"n":6,"r":12},10]}],"v":[{".":86,"a":[{"d":86}],"b":86,"c":86,"e":[{"d":[{"b":58}],"i":47,"k":58,"m":58,"s":[{".":47}]}],"é":[{"s":[{"z":126}]}],"f":86,"h":47,"i":58,"k":47,"n":86,"r":86,"s":86,"t":47,"ú":6,"ü":[{"k":[{"ö":6}],"n":6},86],"ű":58,"v":86}],"z":[{"s":6}]},53],"f":[{"a":[{"l":[{"a":[{"j":14,"n":11}],"e":11,"o":[{"m":11}]}]}],"j":[{"o":6}],"l":[{"a":6,"e":6,"i":6,"o":6,"ó":6}],"r":[{"a":6,"á":6,"e":6,"i":6,"í":6,"o":6,"ö":6,"u":6}]}],"g":[{"á":[{"z":[{"a":[{"k":11}],"á":[{"r":11}],"é":11}]}],"e":[{"n":[{"e":[{"l":14}],"é":11,"s":3}]}],"l":[{"o":6,"ó":6}],"n":[{"e":6}],"r":[{"a":6,"á":6,"i":6,"ó":6,"u":6,"ü":6}]}],"h":[{"a":[{"d":[{"e":11}],"g":[{"o":[{"r":[{"e":53}]}]}],"r":[{".":0}],"u":50}],"e":[{".":50,"i":[{"d":[{"p":53},164]}],"u":[{"s":[{"z":53}]}]}],"o":[{"l":[{"i":0}],"n":[{"n":3,"y":9}],"s":[{"z":53}]}],"s":[{"c":5}],"y":53}],"i":[{"a":[{"a":6,"e":6,"é":6,"f":6,"h":6,"j":6,"k":[{"é":[{"s":[{"z":28}]}]}],"l":[{"a":6}],"m":6,"p":12,"t":[{"a":6,"l":6}],"ü":6,"v":6}],"c":[{"h":[{"i":6}]}],"d":[{"e":[{"a":6,"á":58,"g":58,"i":6,"j":47,"o":58}],"é":[{"n":6,"z":47}],"i":[{"o":6}],"o":[{"m":58}],"ő":58}],"e":[{"l":[{"e":11}],"n":11}],"é":[{"b":11}],"f":[{"l":5}],"g":[{"a":58,"á":58,"e":[{".":58}],"é":[{"k":58}],"l":[{"o":19}],"r":[{"a":19}]}],"h":[{"l":86}],"k":[{"i":25,"l":[{"e":5,"u":5}],"o":[{"n":[{"b":6,"o":6,"r":6}],"s":[{"z":126}]}],"r":[{"i":19}]}],"l":[{"a":[{"c":6,"d":6,"n":6}],"á":[{"g":12}],"e":[{"g":[{"y":9},10],"x":6}],"i":[{"m":6,"n":[{"g":9}],"p":13,"r":6,"s":[{"k":9}]}],"l":[{"a":[{"t":[{"o":86}]}],"ú":47}],"ö":13,"y":58}],"m":[{"a":[{"k":6}],"á":[{"b":6,"d":[{"ó":47}],"j":6,"r":6,"z":6}],"e":[{"s":6}],"m":[{"u":47}],"r":[{"e":[{"i":47}]}]}],"n":[{"a":[{"k":[{"a":[{"t":[{".":47}]}],"k":86,"t":9}],"n":13,"r":[{"á":9}],"t":15,"u":12}],"á":[{"l":[{"l":12}],"r":[{"t":9}]}],"d":[{"á":86,"e":86,"í":86,"u":86}],"e":[{".":6,"g":6,"k":[{"é":12}],"m":6}],"f":[{"a":[{"r":86}],"l":47,"r":86}],"g":[{"a":[{"l":11,"s":11}],"á":[{"r":14}],"e":[{"l":2,"n":[{"i":86}],"t":[{"i":14}]}],"o":[{"s":11}],"ó":2}],"i":[{"c":58,"g":[{"a":9},10],"m":13,"s":[{"z":126}]}],"k":[{"u":86,"v":86}],"n":20,"ó":[{"r":[{"á":9}]}],"ö":6,"s":[{"p":86}],"t":[{"e":[{"g":86}],"é":[{"z":86}]}],"u":[{"t":12}],"ű":6}],"o":[{"l":6,"n":[{"b":6,"h":6,"i":6,"j":6,"n":58,"o":58,"r":58,"t":58}],"x":11}],"p":[{"a":[{"d":6}],"l":[{"a":19}],"p":[{"i":[{"n":11}],"o":11}]}],"r":[{"a":[{"t":58}],"á":[{"n":58}],"g":86,"i":[{"g":6}],"k":86,"o":[{"d":58,"l":47,"m":6}],"ó":[{"n":6}],"r":86,"s":14,"t":86}],"s":[{"a":[{"s":11,"u":13}],"e":[{"l":12}],"i":[{".":58,"m":6,"n":6,"r":13,"s":58}],"k":[{"o":86}],"o":[{"r":6}],"t":[{"v":47}],"z":[{"t":[{"i":[{"n":[{"a":10}]}]}]}]}],"t":[{"i":[{"o":13}],"r":[{"i":19,"o":19}]}],"u":[{"m":[{"é":11,"i":2}]}],"v":[{"a":[{"d":47,"r":58}],"á":[{"n":58}],"ó":58}],"x":[{"a":6}],"z":[{"e":[{"n":30}],"é":[{".":6,"j":47,"k":47,"r":6,"t":6,"v":6}],"o":[{"m":10}]}]},53],"í":[{"g":[{"é":6}],"j":[{"a":6,"á":6,"ú":6}],"l":[{"a":6,"ó":13}],"n":[{"i":[{"o":47}],"o":58,"r":86,"s":86,"y":58}],"r":[{"a":[{"n":31,"r":6}],"á":[{"l":12,"s":58}],"e":12,"ó":58,"ő":6,"ü":6}],"t":[{"é":[{"s":[{"s":38}]}],"ő":[{"a":32,"e":32}]}],"v":[{"e":[{"c":12,"i":58,"l":6,"r":6}],"é":[{"i":58}],"i":[{"k":6,"r":6,"v":6},10],"ó":13,"ö":6,"ő":6,"s":9}],"z":[{"a":6,"á":6,"e":[{"l":[{"e":9},6],"m":[{"b":12}]}],"i":[{"k":6,"s":12},10],"í":6,"l":47,"o":12,"ö":6,"s":[{"á":6}],"u":6,"ü":[{"l":[{"é":9},6]}],"ű":58}]},53],"j":[{"e":[{"g":[{"y":[{"á":18}]}]}],"ó":[{"t":14}]}],"k":[{"a":[{"p":[{"r":9}],"r":[{"ó":[{"r":73}]}]}],"e":[{"n":[{"d":[{"e":26}]}]}],"é":[{"p":[{"e":[{"k":[{"é":[{"h":2}]}]}]}]}],"i":[{"a":[{"l":10}],"á":10,"e":10,"é":10}],"l":[{"a":6,"i":6,"í":6,"ó":6,"u":6}],"ö":[{"z":[{"é":[{"l":14}]}]}],"ő":[{"é":[{"h":10}]}],"r":[{"a":6,"á":6,"e":[{"á":[{"c":54}]}],"é":54,"i":54,"í":6,"o":54,"ó":54,"u":6}],"v":[{"a":6,"i":6,"ó":6}]}],"l":[{"a":[{"c":4,"g":[{"a":[{"d":2,"r":14,"s":11}],"á":[{"l":11}],"e":14,"g":27,"ó":14}],"n":[{"e":2,"k":[{"á":26}],"ó":11}],"p":[{"á":[{"r":11}]}]}],"e":[{"í":10,"n":[{"n":27}],"t":[{"a":[{"n":2,"s":11}],"e":[{"l":[{"e":11,"v":14}]}],"é":[{"r":[{".":14}]}],"o":[{"s":11}],"ő":11}],"ü":10}],"é":[{"k":[{"a":[{"l":11}],"e":[{"m":11}]}],"p":[{"e":20}],"s":[{"s":27}],"t":[{"r":[{"á":9}]}]}],"ó":[{"d":[{"r":9}]}]}],"m":[{"a":[{"g":[{"á":[{"l":11}]}],"k":9}],"á":[{"n":[{"y":[{"i":[{"r":11}]}]}]}],"e":[{"g":[{"e":2,"é":14,"i":[{"f":20}]}]}],"u":[{"s":[{"í":11,"s":27,"z":11}]}]}],"n":[{"a":[{"g":[{"y":[{"a":11}]}]}],"á":[{"d":14}],"e":[{"k":[{"e":[{"l":14}],"ü":[{"l":[{"d":11}]}]}],"m":[{"e":[{"r":2}]}],"r":[{"a":14,"á":14}],"s":[{"z":[{"a":44,"i":11,"ó":18}]}]}],"é":[{"v":[{"a":3}]}],"ó":[{"m":[{"e":[{"n":[{"k":33},22]}]}]}],"ö":[{"k":[{"ö":[{"l":14}]}]}],"ő":[{"é":[{"n":10}]}]}],"o":[{"b":[{"j":86,"l":86,"s":86}],"c":[{"k":[{"i":5}]}],"d":[{"a":[{"a":6,"s":6}],"í":6,"ú":58,"v":86}],"f":[{"f":86}],"g":[{"á":[{"s":[{"s":7}]}],"r":[{"á":[{"f":[{".":19,"f":19}]}]}]}],"i":[{"l":6}],"k":[{"a":[{"k":[{"a":12}],"n":13,"p":12,"r":[{"i":9}]}],"á":[{"l":12,"r":[{"o":[{"k":8}]}],"t":[{"l":12,"m":12,"r":12,"s":12,"t":12,"v":12}]}],"e":[{"r":6}],"é":[{"l":13,"p":6}],"i":[{"d":6,"m":12,"n":12,"p":12,"v":12}],"í":6,"o":[{"z":[{"á":54}]}],"ö":12,"ő":6,"r":[{"o":19}],"s":[{"z":32},9],"u":[{"r":12}],"ú":[{"r":6}],"ü":6,"ű":6}],"l":[{"a":[{"d":13,"j":58,"k":[{"t":12}],"n":[{"y":12},10],"r":13,"t":[{"o":[{"m":9}]}]}],"á":[{"b":[{"r":9}]}],"d":[{"a":[{"l":[{"o":47,"t":47}]}]}],"i":[{"m":58}],"k":8,"l":[{"á":[{"r":[{"b":14,"é":2,"h":14,"r":14}]}],"e":[{"g":11}],"i":[{"n":14}],"í":2}],"o":[{"r":13}],"t":[{"á":[{"s":86}]}],"u":[{"t":12}],"v":[{"a":[{"s":47}]}]}],"m":[{"a":[{"g":12,"k":12,"l":13,"n":13,"p":12}],"á":[{"l":12,"r":13}],"b":[{"e":47},9],"e":[{"l":12,"n":6,"r":[{"ő":9}],"s":12}],"í":6,"o":[{"s":[{"z":12}]}],"ó":13,"ö":6,"p":8,"s":9,"t":[{"ö":47}],"ú":47,"ü":6,"ű":6}],"n":[{"a":[{"l":[{"m":6}],"t":15,"u":32}],"á":[{"l":[{"l":9,"m":9}],"z":13}],"e":[{"l":12,"n":12,"r":6}],"g":[{"r":9}],"i":[{"l":6}],"k":8,"o":[{"l":6,"r":12,"s":[{"z":12}]}],"ó":[{"c":6,"r":6}],"ö":6,"ő":6,"s":8,"t":[{"r":9},10],"ú":[{"t":12}],"ü":6,"ű":6,"y":[{"a":[{"l":6}],"e":6}]}],"p":[{"a":[{"t":12}],"c":47,"e":62,"i":[{"k":6,"z":6}],"p":[{".":47,"o":47,"r":47}],"t":8,"ü":6}],"r":[{"a":[{"d":13,"g":12,"j":12,"k":[{"a":12,"n":12,"o":12}],"l":13,"n":[{"y":12},10],"p":13,"r":12,"s":[{"s":9}],"t":6,"u":12,"v":12}],"á":[{"c":[{"s":9}],"l":[{"l":12,"m":12}],"t":[{"é":9,"l":12}],"z":13}],"c":[{"á":86}],"d":[{"r":9},10],"e":[{"c":6,"k":6,"l":12,"n":6,"r":12},10],"f":8,"g":[{"a":[{"n":86}]},8],"i":[{"e":47,"l":[{"l":12}],"n":[{"t":12}],"s":[{"k":12}]}],"k":8,"n":[{"ó":47}],"o":[{"p":6,"s":[{"z":[{"t":9},6]}],"v":12}],"ó":[{"n":6,"r":12},10],"ö":6,"ő":6,"r":[{".":86,"á":[{"v":86}],"i":86}],"s":[{"c":9,"k":9,"ó":86,"p":9,"t":9},10],"t":[{"r":9},10],"ü":6,"v":[{"á":71,"o":[{"s":47}],"v":47}],"y":5}],"s":[{"a":[{"s":12}],"e":12,"i":[{"k":6,"n":12,"s":6}],"s":[{"z":[{"e":20}]}],"t":[{"o":48,"y":86}],"ü":6,"z":[{"a":[{"l":6,"n":6}],"e":24,"k":3,"l":[{"o":[{"p":[{".":86}]}]}],"t":[{"r":3}]}]}],"t":[{".":117,"t":[{"h":[{"o":[{"n":86}]}]}]}],"u":[{"t":6}],"v":[{"a":3,"e":58,"i":58,"u":58}],"x":[{"i":[{"d":86,"g":58}]}],"y":[{"o":5}],"z":[{"a":[{"t":[{"a":[{"l":30}]}]}]}]},53],"ó":[{"á":[{"g":[{"y":11}],"r":11,"t":[{"a":32},3]}],"b":[{"l":5,"r":[{"a":5,"ó":5}]}],"c":[{"l":5,"s":[{"a":[{"p":[{"á":[{"g":64}]}]}]}]}],"d":[{"a":[{"j":6,"n":13}],"e":[{"s":[{"é":12}]}],"r":[{"o":5}],"ú":[{"r":6}]}],"f":[{"l":5}],"g":[{"l":5,"r":19}],"i":[{"g":11}],"í":[{"v":11}],"k":[{"á":[{"r":[{"o":[{"k":10}]}]}],"l":19,"r":[{"e":5,"é":5,"o":5}]}],"n":[{"u":[{"s":[{"s":38}]}]}],"o":[{"k":11}],"ó":[{"r":11}],"p":[{"a":[{"s":[{"s":9}]}],"e":[{"l":13}],"i":[{"n":[{"t":9}]}],"r":[{"o":5}]}],"r":[{"a":[{"s":6}],"á":[{"b":6,"h":6,"i":58,"r":6,"s":58,"t":6,"v":54}]}],"s":[{"e":[{"p":6}],"é":[{"t":[{"á":[{"k":9,"t":8}]}]}],"í":[{"r":6}],"k":[{"a":[{"n":19}],"á":[{"l":5}]}],"o":[{"l":12}],"p":[{"o":[{"r":[{"t":[{"o":19,"t":19}]}]}]}],"r":[{"á":[{"c":19}]}],"ü":[{"l":13}],"z":[{"e":[{"n":[{"e":21}]}],"f":42,"k":5}]}],"t":[{"a":[{"j":6}],"á":[{"g":6}],"o":[{"m":6}],"r":[{"á":19,"e":19,"o":5}]}],"v":[{"o":[{"d":47}],"ó":58}]},53],"ö":[{"b":[{"b":[{"e":[{"v":11}],"o":14}],"l":86}],"d":[{"é":[{"é":47,"m":6}],"í":6,"n":[{"é":47}],"o":6,"ö":[{"t":47}],"ü":47}],"k":[{"a":6,"á":6,"e":[{"v":13}],"é":[{"r":[{".":12,"d":12}]}],"i":[{"d":6}],"í":6,"o":62,"ö":[{"r":58,"s":[{"s":38}]}],"ő":12,"r":[{"ö":[{"s":47}]}],"u":6}],"l":[{"b":86,"c":[{"i":86}],"g":[{"y":[{"a":11}]}],"t":[{"á":2,"ö":[{"n":48,"z":86}]}]}],"m":[{"b":[{"a":14,"e":[{"l":11},32],"o":14}],"l":[{"e":48,"é":86,"i":48}],"ö":[{"l":6}]}],"n":[{"a":6,"á":6,"d":8,"e":[{"n":6}],"í":12,"k":[{"á":[{"r":11}],"é":[{"s":[{"z":28}]}]}],"o":6,"ő":12,"s":9,"u":6,"ú":6}],"r":[{"e":[{"g":58}],"é":[{"s":[{"s":38}]}],"ö":[{"k":[{"s":47}]}],"t":[{"a":2,"e":[{"g":11,"l":[{"e":[{"m":2}]}],"r":11}],"é":[{"r":[{"n":11}],"s":14}],"o":2,"ö":[{"l":14,"s":11}]}],"z":[{"s":[{"a":11,"ö":[{"l":18}]}]}]}],"s":[{"v":86,"z":86}],"t":[{"l":86,"t":[{"á":14}],"v":86}],"v":[{".":86,"b":86,"h":86,"i":[{"e":58,"g":47}],"j":86,"k":86,"n":86,"r":86,"v":86}],"z":[{"ö":[{"n":58}],"ő":[{"e":32}]}]},53],"ő":[{"a":[{"c":11,"l":11}],"á":[{"g":11}],"b":[{"l":5,"r":5}],"e":[{"k":[{"é":11}],"r":11}],"é":[{"l":11}],"f":[{"l":5}],"g":[{"r":5}],"í":[{"t":11,"v":11}],"k":[{"l":5,"v":5}],"p":[{"l":5,"r":5,"s":5}],"r":[{"a":[{"g":6,"l":48,"n":102}],"e":[{"g":[{"y":9}],"z":86}],"é":[{"k":58,"ü":47}],"i":[{"n":6,"s":12}],"í":58,"j":[{"á":86,"e":[{"l":86}],"ö":47}],"k":[{"a":47}],"l":47,"ö":[{"l":105}],"p":47,"t":[{"i":86,"r":47}],"z":86}],"s":[{"a":[{"l":13}],"n":[{"y":86}],"p":[{"e":5,"i":19,"r":5}],"r":[{"á":5}],"t":[{"a":5,"á":19,"é":5,"r":5}],"ű":[{".":6},47],"z":[{"t":5},10]}],"t":[{"r":5}],"ü":[{"l":11}],"z":[{"á":[{"r":7},10]}]},53],"p":[{"e":[{"n":[{"n":27}]}],"f":[{"e":6}],"l":[{"a":6,"á":6,"é":6,"u":6}],"r":[{"a":6,"e":6,"é":6,"i":6,"o":6,"ó":6,"u":6}],"s":[{"z":6}],"u":[{"t":[{"i":[{"n":11}]}]}]}],"r":[{"a":[{"f":[{"ó":0}],"g":[{"é":50,"i":53}],"k":[{"l":8,"r":[{"o":9}]}],"n":[{"d":[{"a":17,"á":10}],"s":[{"s":7,"z":[{"a":[{"i":111}],"o":[{"m":155}]}]}]}],"s":[{"p":8}],"t":[{"i":0,"r":9},10]}],"á":[{"g":[{"y":[{"a":53,"á":[{"b":53,"é":53,"h":53,"i":53,"j":53,"k":53,"n":53,"r":53,"s":53,"t":53,"v":53}]}]}],"j":[{"k":0}],"n":[{"s":[{"z":10}],"y":[{"a":[{"l":11}]}]}],"t":[{"é":[{"r":14}]}]}],"e":[{"c":[{"s":[{"a":11,"o":11}]}],"g":[{"o":0}],"n":[{"d":[{"a":10,"ő":17}],"í":53}]}],"é":[{"é":10,"n":[{"i":50}],"p":8,"s":[{"z":[{"á":18}]}]}],"i":[{"g":8,"i":10,"k":[{"ó":0}],"l":[{"l":0}],"ó":[{".":50,"j":0,"k":0}]}],"o":[{"l":[{"l":[{"i":[{"n":30}]}]}],"m":[{"a":[{"d":11,"j":11}]}],"n":[{"a":[{"g":14,"l":11,"n":11},32],"e":[{"s":11}],"n":27,"t":[{"r":3}]}],"s":[{"z":[{"f":75,"t":[{"a":75}]}]},6],"x":51}],"ó":[{"d":[{"e":11}],"n":[{"a":[{"s":11}],"e":14,"j":53,"o":50,"t":0}],"s":[{"z":9}],"z":[{"s":[{"i":11}]}]}],"ö":[{"m":41,"s":50}],"u":[{"b":50,"m":[{"a":[{"d":11}]}],"p":50}]}],"s":[{"a":[{"v":[{"o":11}]}],"c":[{"h":[{"e":53},6]}],"é":[{"g":[{"é":[{"j":14}]}]}],"k":[{"á":6,"o":6}],"l":[{"a":6,"á":6,"e":6,"i":6}],"m":[{"á":6,"i":6}],"n":[{"i":6}],"ó":[{"i":10}],"p":[{"a":6,"e":6,"i":6,"o":6,"ó":6,"r":11}],"r":[{"á":6}],"t":[{"a":54,"á":54,"e":6,"é":6,"i":6,"í":6,"o":6,"r":11,"u":6,"ú":6}],"u":[{"b":50}],"z":[{"a":[{"k":[{"é":10,"ü":30}],"t":[{"e":17,"ö":10}]}],"é":[{"t":10}],"f":76,"k":76,"l":76,"ö":[{"g":[{"e":[{"l":[{"e":17}]}]}]}],"p":76,"t":104}]}],"t":[{"a":[{"d":[{"ó":[{".":11}]},10],"g":[{"g":3,"o":[{"k":[{"u":2}]}]}],"n":[{"é":[{"r":14}]}],"r":[{"á":52}],"s":[{"z":[{"t":52}]}],"t":[{"r":8}],"ü":10,"z":51}],"á":[{"n":[{"s":[{"á":[{"g":17}]}]}],"v":[{"i":2}]}],"e":[{"l":[{"e":[{"m":[{"e":11}]}],"ő":[{"a":51}]}],"r":[{"i":[{"n":14}],"ő":52}],"s":[{"a":2}]}],"é":[{"g":[{".":5}],"l":[{"e":51}],"r":[{"a":[{"k":11}],"e":[{"m":3,"s":14}],"é":[{"n":[{"e":2}]}],"i":[{"d":11,"n":3}]}],"s":[{"s":5}],"v":[{"é":[{"r":19}]}]}],"i":[{"o":51,"r":[{"o":52}],"s":[{"k":52}],"z":[{"z":0}]}],"í":[{"r":[{"a":3,"á":5}]}],"k":[{"r":5}],"o":[{"r":[{"n":[{"á":[{"c":28}]}],"s":52}]}],"ó":[{"d":[{"r":9}],"p":8,"r":[{"á":51}],"s":[{"r":8}]}],"ö":[{"l":[{"ő":5},11]}],"p":[{"r":5}],"r":[{"a":[{"f":54,"g":54,"n":[{"s":[{"z":[{"k":78},28]}]},54],"v":54}],"ó":[{"f":54,"n":6}]}],"s":[{"é":[{"g":[{"e":[{"l":10}]}]}],"i":6}],"u":[{"g":52}],"ü":[{"d":52,"t":52,"v":51}],"w":[{"e":10}],"y":[{"o":[{"r":9}],"ö":[{"l":8}],"ü":[{"l":[{"é":[{"s":28}]},9]},10]},0]}],"u":[{"á":[{"r":11}],"b":[{"u":[{"s":[{"s":7}]}]}],"c":[{"k":5}],"d":[{"a":[{"t":[{"e":10,"ö":30}]}],"í":47}],"g":[{"a":6,"o":6,"r":86}],"h":[{"u":6}],"i":[{"n":6}],"j":[{"j":86}],"k":[{"á":47}],"l":[{"o":10,"t":[{"i":86,"r":86}],"ü":6}],"m":[{"a":[{"b":6,"d":13,"j":6,"l":6,"n":6,"r":6,"z":6}],"á":[{"l":6}],"e":[{"g":6,"l":12,"r":6,"s":6}],"i":[{"k":13,"m":6,"n":[{"f":12,"t":12}],"r":12,"s":6,"z":6}],"í":6,"o":[{"l":6}],"ö":6,"ő":6,"p":8,"ü":6}],"n":[{"a":[{"l":6}],"c":86,"i":[{"ó":47,"t":6}],"o":58,"ó":58,"t":86}],"p":[{"r":19}],"r":[{"a":[{"c":6,"i":47,"k":58,"l":[{"o":6}],"m":6,"s":58}],"á":[{"h":6,"n":47,"r":6}],"g":[{"a":14}],"u":[{"n":6}]}],"s":[{"a":[{"b":[{"l":9}],"r":6}],"á":[{"g":6}],"e":6,"é":[{"r":[{"t":[{"é":12}]}]}],"i":[{"s":6}],"í":12,"o":[{"r":6}],"ó":13,"ö":12,"ő":6,"s":[{"z":[{"e":20,"i":20,"o":20}]},10],"ü":6,"z":[{"a":[{"b":6,"d":23,"g":6,"l":6,"p":6,"r":6,"v":20}],"á":[{"l":6}],"e":[{"m":3}],"é":[{"l":23,"p":23}],"i":[{"l":24,"n":6,"p":24,"r":6,"s":6,"t":24},32],"í":6,"k":15,"o":[{"l":6}],"ó":21,"ö":6,"ő":6,"s":[{"a":27,"e":20}],"t":[{"r":3},32],"ü":6}]}],"t":[{"a":[{"d":58,"k":58,"l":58,"m":58,"s":58,"z":58}],"á":[{"n":6},47],"c":86,"o":58,"ó":[{"d":6,"p":6,"t":6}],"u":[{"n":6}]}],"u":[{"m":6}],"z":[{"s":[{"o":86}]}]},53],"ú":[{"j":[{"a":6,"í":6,"o":6,"u":6}],"l":[{"a":13,"á":13,"e":13,"é":13,"i":[{"s":[{"t":6}]}],"í":6,"o":[{"k":6,"p":6}],"ó":13,"ö":6,"ő":12,"s":9,"t":10,"ú":6,"ü":6,"ű":6}],"r":[{"a":[{"s":[{"z":3}]}],"á":[{"l":6}],"e":13,"é":[{"r":12,"s":12}],"o":[{"l":12,"t":6}],"ö":6,"ü":6}],"s":[{"z":[{"e":6,"ö":6,"ü":6}]}],"t":[{"á":6,"b":86,"e":13,"é":58,"h":86,"i":58,"j":86,"l":86,"n":86,"o":58,"r":86,"t":86,"v":86}]},53],"ü":[{"d":[{"í":58,"ü":58,"v":86}],"g":[{"e":6,"y":6}],"l":[{"a":12,"á":6,"e":[{"d":58,"m":13,"n":6,"p":6,"s":13,"v":13}],"é":[{"r":12}],"i":[{"r":6}],"í":6,"o":13,"ö":[{"k":[{"l":12}],"m":6,"n":12,"z":12}],"ő":[{"k":6,"r":6}],"u":6,"ú":6}],"m":[{"a":6,"é":[{"k":6}],"ő":12}],"n":[{"e":[{"t":[{"e":[{"l":10}]}]}],"n":86}],"r":[{"e":[{"g":47,"s":47}],"í":58,"ü":58}],"s":[{"t":47}],"t":[{"e":58,"é":58,"i":6,"k":86,"ö":6,"ő":58}],"v":[{"ö":6}],"z":[{"e":[{"n":58}],"l":86}]},53],"ű":[{"c":[{"s":[{"a":[{"p":43}]}]}],"d":[{"a":[{"l":12}],"á":6}],"e":[{"k":[{"é":[{"t":11}]}]}],"é":[{"h":11}],"f":[{"é":[{"l":[{"é":26}]}]}],"g":[{"r":5}],"k":[{"v":5}],"l":[{"e":[{"ü":32}]}],"p":[{"l":5,"r":5}],"r":[{"é":[{"s":[{"s":7}]}]}],"s":[{"p":5}],"z":[{"a":13,"á":[{"r":[{"a":12},10],"t":6}],"e":[{"n":[{"e":6}]}],"i":[{"s":6}],"í":6,"o":6,"ö":[{"s":12}],"s":[{"e":[{"b":20}]}],"ú":6}]},53],"v":[{"a":[{"n":[{"e":14,"é":[{"v":11}]}],"r":[{"a":[{"j":11}]}]}],"á":[{"n":[{"y":[{"a":[{"d":11}],"í":11}]}],"z":[{"a":[{"l":14}],"i":[{"p":11}]}]}],"e":[{"n":[{"e":[{"v":2}],"n":27,"t":27,"ü":[{"l":11},32],"y":4}],"r":[{"a":[{"j":11,"l":11}],"á":2,"e":[{"g":11}],"é":[{"s":[{"z":2}]}],"i":[{"n":[{"t":11}],"p":11}],"o":14,"s":[{"t":3},32]}],"s":[{"e":20}]}],"é":[{"n":[{"y":[{"e":[{"l":11}]}]}],"r":[{"i":[{"n":[{"t":3}]}],"o":14}]}],"i":[{"s":[{"e":[{"l":[{"ő":[{"é":78}]}]}],"s":[{"z":[{"á":27}]}]}]}],"í":[{"v":[{"e":0}]}]}],"y":[{"a":[{"i":[{"k":[{"o":10}]}],"k":[{"l":9}],"p":8,"s":[{"z":75}],"t":[{"r":9},10],"u":10},53],"á":[{"g":77,"l":[{"d":5,"l":5}],"r":[{"a":[{"n":11}],"s":3}],"s":[{"s":27}]},53],"e":[{"g":[{"y":19}],"l":[{"a":5,"l":5}],"m":[{"b":5}],"r":[{"ő":19}],"x":77},53],"é":[{"t":[{"e":77}]},53],"i":53,"í":[{"r":19,"v":5},53],"n":[{"k":10}],"o":[{"l":[{"a":[{"n":11}]}],"r":[{"o":[{"s":14}]}]},53],"ó":53,"ö":53,"ő":[{"s":5},53],"p":[{"e":6,"r":5}],"s":[{"a":6,"p":5}],"u":[{"g":77,"t":[{"á":19}]},53],"ú":[{"k":[{"ü":11}]},53],"ü":53,"ű":53},0],"z":[{"e":[{"k":[{"n":50,"r":[{"ő":53}]}],"n":[{".":50,"j":0}],"r":50,"s":50}],"ő":[{"r":19}],"s":[{"c":25}]}]}],"u":[{".":47,"a":[{"c":[{"h":6}],"d":[{"a":6,"á":6,"o":[{"r":[{".":0,"b":0,"é":0,"n":0,"o":0,"r":0,"t":0}]}],"ó":6}],"e":[{"s":6}],"g":[{"á":6}],"j":[{"a":6,"á":6}],"l":[{"a":6,"á":6}],"n":[{"y":6}],"s":[{"z":6}],"t":[{"y":6}],"u":[{"t":6}],"y":[{"á":5,"é":5,"i":5,"o":5}],"z":[{"o":6}]},48],"á":[{"g":[{"a":6,"y":6}],"p":[{"o":6}],"r":[{"á":12,"e":12,"é":[{"j":6}],"i":[{"s":12}]}],"s":[{"z":6}],"t":[{"a":13,"e":12}]},48],"b":[{"a":[{"l":[{"a":19,"k":5}],"n":[{"g":52}],"r":[{"c":5,"i":19}]}],"á":[{"r":[{".":5,"o":19}]}],"d":[{"r":5}],"e":[{"b":51,"d":52,"l":[{"á":11,"e":[{"l":11}],"ö":5}],"s":[{"e":19,"t":5}]}],"é":[{"j":52,"l":[{"e":5}],"n":51,"p":52,"r":[{"d":52,"e":51,"m":52,"t":[{"e":52}]}],"v":[{"e":52}]}],"i":[{"g":[{"a":52,"e":52},11],"k":[{"e":11}],"n":[{"a":[{".":52}]}],"s":[{"m":5}]}],"k":[{"r":5}],"o":[{"l":[{"d":[{"a":5}]}],"r":[{"k":0,"v":52}],"s":[{"z":52}]}],"ó":[{"r":[{"i":5}]}],"ö":[{"l":5,"s":5,"v":5}],"p":[{"l":5,"r":5}],"s":[{"l":5,"p":5}],"u":[{"d":52,"s":[{"z":11}]}],"ú":[{"j":52}],"ü":[{"d":5,"g":5,"l":19,"z":5}]}],"c":[{"a":[{"t":[{"á":2}]}],"c":[{"e":12,"h":21,"i":[{"n":[{"a":12}],"p":6}],"ö":6,"s":[{"z":20}],"ú":6,"ü":6,"z":6}],"e":[{"m":[{"b":5}]}],"h":[{"á":25,"é":55,"o":55}],"i":[{"á":[{"r":10}],"p":9}],"k":[{"i":[{"g":54}],"o":[{"n":54,"t":54}],"y":6}],"ö":[{"l":19}],"p":[{"r":5}],"s":[{"a":[{"p":[{"á":17}]}],"á":[{"g":25,"l":56,"r":[{"u":0}]}],"e":[{"l":61}],"i":[{"d":56}],"s":9,"ü":55,"z":25}],"u":[{"g":52}],"ü":[{"g":5}],"z":[{"á":25,"e":25}]}],"d":[{"a":[{"t":[{"a":[{"l":11}],"á":[{"l":11,"r":[{"a":[{"m":2}]}]}],"e":[{"g":14,"r":11}]}]}],"á":[{"s":[{"k":[{"é":[{"s":[{"z":65}]}]}],"s":27}]}],"i":[{"o":11,"s":[{"k":52}]}],"o":[{"k":[{"r":9}]}],"ó":[{"s":[{"e":11,"o":[{"r":11}]}]}],"r":[{"á":54,"o":54}]}],"e":[{"b":[{"é":6}],"d":[{"z":6}],"g":[{"é":[{"s":[{"z":22}]},6],"y":6}],"l":[{"é":[{"r":9}],"ő":6}],"m":[{"e":6}],"r":[{"ő":6,"v":[{"í":[{"z":22}]}]}],"s":[{".":0,"b":0,"e":12,"h":0,"i":0,"k":0,"n":0,"ő":6,"r":0,"t":0,"u":0,"z":[{"e":[{"n":21}]}]}],"t":[{"e":6}],"v":[{"e":6}]},48],"é":[{"g":[{"e":6,"é":6}],"k":[{"é":6}],"l":[{"e":6}],"p":[{"í":6,"ü":6}],"t":[{"e":6}]},48],"f":[{"é":[{"n":[{"y":[{"e":11}]}]}],"l":[{"e":54}],"r":[{"i":6,"u":6}],"t":[{"ü":6}]}],"g":[{"a":[{"g":[{"y":5}],"l":[{"j":5}],"p":[{"a":5},9],"r":[{"o":50}],"t":[{"e":[{"l":14}],"é":[{"s":11}],"o":[{"l":11}],"ó":[{"r":2}]}]}],"á":[{"g":5,"r":[{"a":[{"d":3},32],"á":11,"o":[{"s":11}],"u":11,"ú":3}],"s":[{"s":27,"z":19}]}],"e":[{"l":5,"v":19}],"é":[{"l":19}],"g":[{"l":11}],"i":[{"e":11,"n":[{"g":5,"t":5}],"r":[{"o":5}],"t":[{"a":5},11],"v":[{"á":5}]}],"í":[{"r":5}],"k":[{"l":5}],"o":[{"r":[{"á":2}]}],"ó":[{"s":[{"v":9,"z":[{"á":4}]}]}],"ö":[{"s":5}],"p":[{"r":5}],"s":[{"k":5}],"u":[{"i":47,"t":52}],"ú":[{"j":52}],"ü":[{"g":5,"z":5}],"ű":[{"r":5}],"y":[{"a":[{"n":10}]}]}],"h":[{"a":[{"d":[{"ó":19}],"l":[{"k":5}],"r":[{"a":[{"s":14}]}],"t":[{"r":8,"t":5}]}],"á":[{"g":51,"l":[{"l":5}],"r":[{".":52,"b":52,"f":52,"h":52,"n":52,"r":52,"v":52}],"s":[{"z":[{"a":[{"k":11}]}]}]}],"e":[{"m":5,"x":5}],"i":[{"n":[{"d":5,"g":5}]}],"o":[{"r":[{"z":5}]}],"ő":[{"r":5}],"p":[{"r":5}],"t":[{"r":5}],"u":[{".":0,"j":[{"j":5},0]}],"ü":[{"z":5}]}],"i":[{"d":[{"e":6,"ő":6}],"e":[{"u":6}],"g":[{"a":6,"é":6,"n":52}],"p":[{"a":6}],"r":[{"á":6}],"z":[{"é":6}]},48],"í":[{"j":[{"a":6,"u":6}],"v":[{"e":6,"ű":6}]},48],"j":[{"a":[{"n":52}],"j":[{"a":[{".":53,"d":53,"i":53,"k":53,"m":53,"s":53,"t":53}],"á":[{"r":[{"u":13}]}],"b":53,"c":53,"d":53,"e":165,"é":53,"f":53,"g":53,"h":53,"i":53,"í":6,"k":53,"l":53,"m":53,"n":53,"p":53,"r":53,"s":53,"t":53,"u":53,"ú":53,"ü":6,"v":53}],"o":[{"p":52}]}],"k":[{"a":[{"b":[{"l":5}],"c":[{"s":[{"e":4}]}],"l":[{"a":[{"p":51}]}],"p":[{"l":9}],"r":[{"á":[{"n":11}],"c":52}],"s":[{"z":[{"á":[{"s":11}]}]}],"t":[{"r":8}]}],"á":[{"l":[{"l":5}],"s":[{"a":[{"r":11}],"ó":52,"s":27}],"t":[{"m":52}]}],"b":[{"l":5}],"e":[{"l":11,"m":19,"x":5}],"é":[{"g":52,"r":[{"z":52}]}],"i":[{"p":51}],"k":[{"a":[{"l":[{"t":12}]}],"e":[{"g":12,"m":12}],"o":[{"l":[{"a":12}]}],"ö":[{"l":6}]}],"l":[{"á":[{"s":[{"s":7}]}],"ó":[{"s":[{"z":[{"á":29}]}]}]}],"o":[{"l":[{"d":52}],"r":[{"a":[{"s":11},32],"á":2,"i":[{"l":11,"n":11}],"o":14}]}],"ó":[{"s":10}],"ö":[{"b":5}],"p":[{"r":5}],"r":[{"ó":[{"n":54}]}],"ü":[{"t":19}],"ű":[{"r":5}]}],"l":[{"a":[{"c":[{"s":[{"ö":18}]}],"g":8,"j":[{"a":[{"s":11}]}],"l":[{"e":[{"g":5}],"j":52}],"s":[{"p":8}],"t":[{"a":[{"l":[{"a":14},32],"n":2}],"á":[{"l":11}],"e":[{"m":11}],"i":[{"k":11}],"o":[{"l":11}]}]}],"á":[{"b":[{"r":52}],"k":[{"e":14,"ü":14}],"r":[{"i":[{"a":51}]}],"s":[{"i":[{"k":2}],"k":[{"é":[{"s":[{"z":65}]}]}],"s":27,"z":[{"a":11,"e":11}]}]}],"b":[{"l":5}],"c":[{"s":[{"e":[{"l":15,"s":3}],"é":[{"r":[{".":24,"v":6}],"v":[{"é":23}]}],"i":[{"g":[{"a":6}],"p":6}],"í":23,"o":[{"r":6}],"ö":23,"ő":24,"u":[{"t":6}],"ü":6,"z":27}]}],"e":[{"i":11,"í":10,"l":[{"ő":5},11],"t":[{"t":[{"a":10}]}],"x":52}],"é":[{"k":[{"a":[{"l":11}],"e":2,"o":[{"l":14}],"u":[{"t":11}]}],"p":[{"ü":5}],"r":[{"t":[{"é":52}]}]}],"i":[{"n":[{"a":[{"r":11}],"i":[{"n":11}]}]}],"í":[{"r":19}],"k":[{"r":19}],"l":[{"e":[{"f":6,"l":13,"m":12,"n":12}],"é":[{"r":12}]}],"o":[{"t":10}],"ó":[{"f":8,"i":[{"k":[{"o":[{"n":10}]}]}],"k":[{"é":[{"s":[{"z":28}]}]}],"ó":10,"t":10,"z":[{"a":[{"n":11}],"á":[{"r":[{"a":2}]}],"s":4}]}],"ö":[{"t":5}],"p":[{"r":5}],"s":[{"t":5}],"t":[{"a":[{"j":12,"r":10,"s":[{"z":9}],"z":6}],"ü":[{"l":6}]}],"ú":[{"r":5}],"ü":[{"t":5}],"ű":[{"r":5}],"y":[{"i":0}]}],"m":[{"a":[{"b":[{"l":52,"r":5}],"c":[{"é":19,"h":5}],"d":[{"a":[{"t":19}],"m":52,"o":19,"ó":19}],"é":47,"j":[{"á":5}],"k":[{"a":51,"é":[{"s":[{"z":28}]}],"k":52,"t":52}],"l":[{"a":51,"g":5,"l":5,"t":5}],"n":[{"a":52,"k":52,"o":51,"y":51}],"o":47,"p":68,"r":[{"á":51,"c":5,"g":5,"i":51,"o":19}],"s":[{"p":5}],"t":[{"l":52}],"u":52,"z":[{"o":19}]}],"á":[{"g":52,"l":[{"l":52,"m":5}],"r":[{"a":[{"k":51,"m":19,"s":52}],"á":51,"f":52,"k":52,"n":52,"o":51,"r":52,"t":52,"u":51,"v":52}],"t":[{"a":3,"e":72,"m":52,"u":52}]}],"b":[{"l":5,"r":19}],"d":[{"r":5}],"e":[{"d":51,"f":52,"g":[{"y":5},11],"l":[{"a":5,"b":5,"e":51,"é":5,"h":5,"í":5,"j":5,"m":5,"n":52,"o":5,"ő":19,"t":52,"v":5}],"m":51,"n":[{"á":14,"ó":2}],"r":[{"e":19,"k":5,"ő":19}],"s":[{"e":19,"s":5,"z":19}],"t":51,"v":51,"x":52,"z":[{"r":5}]}],"é":[{"g":52,"h":[{"s":0}],"l":[{"e":19,"v":5}],"p":52,"r":[{".":52,"c":52,"m":52,"t":[{"e":52,"é":52}],"v":52}],"t":[{"e":51}]}],"f":[{"l":5,"r":19}],"g":[{"l":5,"r":5}],"i":[{"a":10,"d":[{"ő":19}],"g":[{"r":9},10],"m":[{"p":5}],"n":[{"a":[{".":11}],"d":52,"g":52,"v":52}],"o":[{"n":[{"b":19,"é":19,"h":19,"j":51,"k":19,"n":51,"o":51,"r":19,"t":19}]}],"r":[{"t":52}],"s":[{"k":5,"l":9,"m":5,"p":9,"z":[{"ü":11}]}],"t":[{"r":9},10],"z":[{"é":5}]}],"í":[{"v":5,"z":5}],"k":[{"é":[{"s":[{"z":[{"e":22}]}]}],"l":5,"r":5,"v":5}],"n":[{"a":10}],"o":[{"k":[{"o":[{"z":51}]}],"l":[{"a":5,"d":5,"l":5,"t":5,"v":5}],"p":51,"r":[{"a":[{"n":11,"t":19}],"á":[{"l":11}],"i":[{"n":11}]}],"s":[{"t":[{"o":5}],"z":52}],"x":52}],"ó":[{"r":[{"á":19}]}],"ö":[{"l":19,"m":5,"n":5,"r":19,"s":5,"t":5,"v":5,"z":19}],"ő":[{"r":19,"s":5}],"p":[{"e":[{"l":[{"e":9},10]}],"i":[{"n":[{"g":12}]}],"r":19}],"s":[{"k":5,"p":5,"t":5,"z":5}],"t":[{"r":19}],"u":[{"d":52,"g":52,"n":[{"i":0}],"r":[{"a":5},11],"t":51}],"ü":[{"g":5,"l":19,"r":5,"s":5,"t":5,"v":5,"z":5}],"v":[{"a":[{"s":10}]}]}],"n":[{"a":[{"b":9,"d":[{"u":5}],"k":[{"t":5}],"r":[{"c":52}]}],"á":[{"g":51}],"c":[{"s":[{"e":24,"i":[{"v":6}]}]}],"d":[{"z":6}],"e":[{"r":19,"t":19}],"é":[{"g":5}],"g":[{"a":[{"g":13}],"e":[{"g":12,"r":12}],"g":20,"o":[{"l":12}]}],"i":[{"d":51,"f":50,"k":[{"u":50}],"l":52,"n":[{"g":[{"o":52}]}],"ó":50,"v":50}],"k":[{"a":[{"p":15,"s":3}],"e":[{"g":12}]}],"o":[{"d":0,"r":[{"r":52,"s":5}],"t":0}],"p":[{"r":5}],"s":[{"t":89}],"t":[{"a":[{"i":10}]}],"u":[{"n":0}],"ú":[{"t":[{"j":5}]}],"ü":[{"l":19}]}],"o":[{"l":[{"a":6,"i":6}],"r":[{"a":13,"e":[{"t":12},10],"i":[{"o":13}]}],"x":[{"i":6}]},48],"ó":[{"b":[{"u":0}],"n":[{"e":0}],"p":[{"r":19}],"r":[{"é":0,"i":6}],"s":[{"o":0,"z":0}],"v":[{"e":0}]},48],"ö":[{"k":[{"o":6,"ö":6}],"r":[{"ö":6}],"z":[{"ö":6}]},48],"ő":[{"r":[{"e":6,"é":6,"i":6,"ö":6,"ü":6}]},48],"p":[{"a":[{"b":8,"d":[{"a":5}],"p":[{"r":9}],"s":[{"p":9},10],"t":[{"r":8}]}],"d":[{"a":10}],"e":[{"r":[{"a":14,"e":[{"l":11}],"i":[{"n":14}],"s":3}],"s":19}],"é":[{"p":8}],"h":[{"i":6}],"l":[{"i":[{"n":10}]}],"ü":[{"z":5}]}],"r":[{"a":[{"i":[{"m":50}],"k":[{".":50,"h":50,"k":50,"n":50,"r":50}],"l":[{"h":0,"k":53,"m":50}],"m":[{".":50,"i":[{"s":14}]}],"s":[{"a":50,"p":8}]}],"á":[{"l":[{"l":5}],"t":[{"a":3}]}],"d":[{"a":[{"r":6}],"e":12}],"e":[{"f":52}],"f":[{"í":6,"ú":12}],"n":[{"á":53,"e":6,"é":11}],"o":[{"b":8,"k":[{"a":[{"n":11},32],"á":14,"e":11}],"n":[{"e":11}],"p":9,"t":8}],"ö":[{"l":5}],"p":[{"i":10}],"t":[{"a":[{"g":12}],"e":[{"t":13,"v":13}],"i":[{"t":[{"a":9},10]}],"o":[{"k":[{"t":[{"a":12}]}]}]}],"u":[{"c":[{"e":14}],"l":47,"p":8,"s":[{"z":[{"á":[{"l":11}]}]}]}],"ú":[{".":0}]}],"s":[{"a":[{"b":[{"l":[{"a":5}]}],"d":[{"a":19,"á":19,"ó":51}],"g":51,"j":51,"k":[{"a":[{"r":11}],"c":52}],"l":[{"a":51,"g":5,"j":5,"k":5,"t":52,"v":5}],"n":[{"a":52,"e":5,"t":5}],"p":[{"á":5}],"r":[{"a":51,"á":51,"c":52,"z":5}],"s":[{"s":52}],"t":[{"t":52,"y":19}],"u":52,"z":51}],"á":[{"b":[{"r":52}],"g":[{"á":51,"b":5,"g":52,"h":5,"r":52}],"l":[{"d":5,"l":5}],"p":51,"r":[{"a":[{"d":52,"i":51,"k":51}],"á":51,"b":52,"h":52,"i":51,"k":52,"n":52,"o":51,"r":52,"t":52,"u":51}],"t":[{"a":5,"h":5,"i":5,"k":5,"t":5,"u":5,"v":5}]}],"b":[{"l":5,"r":5}],"d":[{"r":5}],"e":[{"c":19,"d":19,"f":52,"g":[{"y":19}],"l":51,"m":51,"n":51,"r":[{"d":5}],"s":51,"t":9,"v":51,"x":52,"z":5}],"é":[{"g":52,"h":[{"e":52}],"k":51,"l":51,"n":[{"e":51}],"p":52,"r":[{"d":52,"t":[{"e":52}],"v":52}],"s":52,"t":[{"e":51,"k":5,"t":5}],"v":[{"e":52}]}],"f":[{"r":5}],"g":[{"r":5}],"i":[{"d":51,"g":[{"a":5},11],"k":[{"o":51}],"l":[{"l":52}],"m":[{"a":51,"á":51,"i":5,"m":0,"p":5}],"n":[{"c":52,"d":5,"f":5,"g":52,"k":52,"t":52,"v":5}],"p":51,"r":[{"a":[{"t":51}],"á":51,"o":5,"t":5}],"s":[{"k":52,"m":52}],"t":[{"a":5}],"z":[{"é":5}]}],"í":[{"g":5,"j":52,"r":[{"á":5,"ó":5},11],"v":51}],"k":[{"á":[{"l":54}],"l":5,"ó":[{"i":[{"k":32}]}],"r":19,"v":5}],"o":[{"d":[{"ú":0}],"f":52,"k":[{"l":5,"m":5,"t":[{"a":5}]}],"l":[{"a":5,"d":52,"i":5}],"m":[{"l":52}],"n":[{"d":5}],"p":52,"r":[{"g":52,"i":0,"r":52,"s":52}],"s":[{"z":5}],"t":[{"t":52}]}],"ó":[{"c":5,"s":19}],"ö":[{"l":51,"n":52,"r":[{"d":5,"ö":19}],"s":52,"t":52,"v":19,"z":51}],"ő":[{"r":19}],"p":[{"e":[{"c":54}],"l":5,"n":5,"r":5,"s":5}],"s":[{".":47,"e":[{".":6}],"k":[{"á":5}],"p":[{"e":5,"i":5}],"t":[{"a":5}],"y":5,"z":[{"a":[{"b":25,"g":25,"k":25}],"á":[{"l":25,"m":25}],"e":[{"n":25}],"é":25,"i":[{"g":25}],"í":25,"ó":25,"ö":25,"ő":25,"ü":[{"l":3},32],"ű":25}]}],"t":[{"á":[{"r":[{"á":[{"r":8}]}]}],"e":[{"g":6}],"i":[{"l":12}],"r":[{"a":[{"d":5}],"e":5,"é":5,"o":5,"u":48}],"ü":[{"l":12}]}],"u":[{"j":52,"s":[{"z":5},11],"t":51}],"ú":[{"j":52,"t":[{"é":5}]}],"ü":[{"d":5,"g":52,"l":[{"é":5},11],"n":52,"r":52,"z":5}],"z":[{"a":[{"b":[{"l":9}],"j":0,"l":[{"a":8,"k":9,"v":9}],"n":61,"p":[{"p":9}],"r":[{"á":9,"é":9,"o":9},10],"s":[{"z":9}],"u":56}],"á":[{"g":61,"l":[{"l":[{"á":9}]}],"p":8,"r":[{"a":[{"d":61,"k":[{"o":55}],"m":61}],"j":[{"e":9}]}],"s":[{"v":9}],"t":[{"h":0,"ö":9}]}],"e":[{"c":61,"f":0,"g":[{"e":8,"y":8}],"k":[{"e":9},10],"l":61,"m":[{"b":9,"l":9}],"n":[{"e":25,"g":9}],"r":[{"d":56,"é":8}],"s":10,"v":61,"x":56}],"é":[{"n":[{"e":0}],"t":[{"e":9,"o":9}]}],"i":[{"m":[{"p":9}],"n":[{"d":9,"j":9}],"s":[{"k":9,"m":9,"z":56}]}],"í":[{"j":[{"a":[{"d":17}]}],"r":56}],"o":[{"d":[{"á":50}],"l":[{"a":0,"d":56}],"n":[{"y":0}],"p":0,"s":[{"z":0}]}],"ö":[{"b":61,"l":9,"n":9,"s":56}],"p":8,"t":[{"e":[{"r":[{"a":43}]}],"r":[{"a":[{"n":8}]}]}],"u":[{"s":61,"t":0}],"ú":[{"t":[{"r":9}]}],"ü":[{"g":9,"l":56,"z":56},10],"z":9}]}],"t":[{"a":[{"b":[{"l":5}],"c":[{"s":[{"e":[{"l":11}]}]}],"d":[{"ó":19}],"k":[{"é":[{"p":47}]}],"l":[{"ó":50,"v":50}],"m":[{"e":[{"l":11,"r":11},32]}],"p":9,"r":[{"á":5}],"s":[{"c":53,"e":11,"f":53,"l":50,"v":53}],"ü":10,"v":47,"z":[{"i":53}]}],"á":[{"b":47,"é":47,"i":[{"b":47,"n":47}],"j":[{"u":47}],"k":[{"b":47,"t":47}],"m":47,"n":[{"á":47,"n":3,"z":53}],"r":[{"ó":47,"ú":11}]}],"b":[{"l":5}],"c":[{"a":53,"á":53}],"e":[{"g":51,"r":[{"a":14,"á":11,"e":[{"g":11}],"i":[{"m":11}],"u":11}]}],"é":[{"n":[{"n":27}]}],"f":[{"r":5}],"i":[{"k":[{"á":[{"r":2}],"e":11}],"l":[{"l":5}],"m":11,"n":[{"e":2,"é":[{"r":11}],"i":[{"g":11,"k":14},32],"ó":14,"s":3}],"p":[{"a":51}],"s":[{"k":52}]}],"k":[{"l":5}],"o":[{"k":[{"k":[{"e":5}]}],"l":[{"d":52,"é":14,"s":0}],"m":[{"a":[{"t":[{"a":47}]}]}],"r":[{"i":[{"m":11}]}],"s":47,"t":47}],"ó":[{"d":[{"a":[{"l":11}],"á":0,"e":[{"l":11}]}],"p":8,"s":[{"a":[{"j":14}],"s":27,"t":[{"o":8}],"z":9}],"t":[{"r":9,"ű":[{"z":22}]}]}],"p":[{"r":5}],"r":[{"a":[{"k":6,"n":6}],"á":[{"k":6}]}],"s":[{"p":5,"t":5}],"t":[{"r":19}],"ü":[{"g":5,"z":19}],"y":[{"a":[{"s":15}]}]}],"u":[{"m":[{"a":[{"g":12,"l":6,"s":12}],"á":[{"l":6}],"e":13,"é":[{"r":13}],"i":[{"m":6,"n":6}],"ö":6,"p":8,"ü":6}],"t":[{"a":6,"á":6}],"z":[{"s":6}]},48],"ú":48,"ü":[{"g":[{"y":6}],"r":[{"í":6}],"t":[{"é":6}],"v":[{"e":6}],"z":[{"e":6}]},48],"ű":48,"v":[{"a":[{"r":[{"a":14,"á":2,"e":14,"i":[{"n":11}]}],"s":[{"z":[{"á":[{"l":11}]}]}],"t":[{"a":[{"g":14},32]}]}],"i":[{"g":8}],"r":[{"e":6}]}],"x":[{"i":[{"t":[{"a":14,"á":14,"e":14}]}]}],"z":[{"a":[{"l":[{"a":[{"c":11,"d":11,"n":11},32],"á":[{"g":11,"t":14}],"e":[{"l":11}],"é":[{"k":14}]}],"p":8,"s":8}],"á":[{"l":[{".":47,"b":47,"l":47,"r":47}]}],"i":[{"d":52,"g":[{"y":[{"e":19}]}]}],"í":[{"r":5}],"k":[{"i":10}],"ó":[{"i":10}],"s":[{"a":[{"p":25}],"z":25}],"t":[{"r":19}],"ü":[{"g":19,"l":11}]}]}],"ú":[{".":47,"a":[{"d":[{"a":6,"á":6,"ó":6}],"g":[{"y":6}],"j":[{"á":6}],"k":[{"a":[{"r":6,"s":6}]}],"l":[{"a":6,"á":6}],"n":[{"y":6}],"s":[{"z":6}],"u":[{"d":6}],"v":[{"a":6}]},48],"á":[{"g":[{"a":6,"á":6,"i":6,"o":6,"y":6}],"h":[{"í":6}],"l":[{"o":6}],"p":[{"o":6}],"r":[{"a":6,"i":6,"u":6}]},48],"b":[{"a":[{"b":47,"n":[{"d":47}],"r":47}],"l":[{"o":6}],"ó":[{"d":47}],"r":[{"i":6,"o":6}]}],"c":[{"a":[{"j":52,"l":51,"n":51,"v":51}],"e":[{"t":19}],"h":[{"e":25,"o":25}],"i":[{"d":51,"ó":[{"k":[{"é":[{"p":11}]}]}]}],"p":[{"r":5}],"s":[{"a":[{"b":0,"d":0,"g":56,"j":56,"k":[{"t":0}],"l":[{"a":9}],"n":61,"p":[{"á":17}],"s":61,"u":56,"z":0},47],"á":[{"g":8,"l":56,"r":[{"á":56,"f":56,"i":56,"v":56}],"t":[{"v":0}]}],"e":[{"b":56,"g":61,"j":25,"l":61,"m":[{"b":9}],"n":56,"r":[{"ő":9}],"s":61},47],"é":[{"l":56,"r":[{".":56,"d":0,"t":[{"e":56,"é":56}]}],"v":61}],"i":[{"d":56,"g":[{"a":[{"z":0}]}],"l":56,"m":0,"n":[{"f":56,"t":56}],"p":[{"a":8}],"r":[{"á":0}],"s":56,"z":56}],"o":[{"k":[{"t":[{"a":0}]}],"s":[{"z":0}]},47],"ó":[{"r":61},47],"ö":[{"l":9,"s":9}],"p":9,"s":9,"t":9,"ú":[{"s":[{"s":7}]}],"ü":[{"t":8}],"z":[{"a":20}]}]}],"d":[{"a":[{"c":51,"d":[{"a":5},11],"k":51,"n":51}],"á":[{"g":5,"l":5,"r":19}],"e":[{"g":51,"j":52,"l":[{"e":5,"h":5,"ő":5},11],"m":51,"r":[{"a":11,"e":[{"c":14}],"ő":5}],"v":19}],"é":[{"k":52,"r":[{".":52,"c":52}],"t":[{"e":5},11]}],"i":[{"d":51,"g":[{"é":52},11],"n":[{"g":5}],"ó":[{"d":[{"a":[{"r":11}]}],"z":11}]}],"o":[{"s":52}],"p":[{"r":5}],"r":[{"á":6,"o":6}],"ü":[{"v":5}],"y":[{"é":[{"h":9,"t":9}],"i":9,"s":11}],"z":[{"á":25}]}],"e":[{"b":[{"é":6}],"g":[{"é":[{"s":[{"z":22}]},6],"y":6}],"l":[{"a":6,"e":6,"o":6,"ö":6,"ő":6}],"m":[{"e":6}],"p":[{"i":6}],"r":[{"e":6,"é":6,"ő":6,"ű":6}],"s":[{"z":6}],"t":[{"a":6,"e":6}],"v":[{"e":6,"ő":6}]},48],"é":[{"h":[{"e":6}],"l":[{"e":6,"ő":6}],"n":[{"e":62}],"p":[{"í":6}],"r":[{".":47,"á":12,"e":6,"i":6,"z":47}],"t":[{"e":6}],"v":[{"e":6}]},48],"f":[{"é":[{"l":[{"é":[{"v":14},32]}]}],"l":[{"ö":6}],"r":[{"á":6,"i":6,"í":6,"o":6}]}],"g":[{"a":[{"d":19}],"á":[{"s":[{"s":3}]}],"e":[{"l":5}],"i":[{"v":19}],"o":[{"l":[{"d":5}]}],"ó":[{"s":10}],"r":[{"á":6}],"y":[{"a":[{"g":9}],"e":[{"l":9}],"é":[{"r":[{".":9}]}],"i":[{"s":9,"v":9},10],"u":61,"ú":[{"t":9}]}]}],"i":[{"d":[{"e":62,"ő":6}],"g":[{"a":6,"é":6}],"k":[{"e":62,"r":[{"e":47}]}],"l":[{"l":47}],"m":[{"á":62,"i":6}],"n":[{"g":47,"t":47}],"p":[{"a":6}],"r":[{"a":[{"t":6}],"á":6}],"s":[{"k":47,"m":47,"t":47}],"t":[{"a":6}],"v":[{"a":[{"d":62}],"á":[{"s":6}]}]},48],"í":[{"r":[{"á":6}],"v":[{"e":6,"i":6,"ü":6}]},48],"j":[{"á":[{"t":[{"é":47}]}],"e":[{"s":5,"z":5}],"é":[{"v":[{"e":5,"é":5}]}],"k":[{"r":19}],"o":[{"n":50,"r":5}],"p":[{"l":5}],"r":[{"a":3}],"s":[{"á":53}],"u":[{"d":5,"l":0}]}],"k":[{"a":[{"b":47,"g":51,"j":51,"l":[{"a":[{"k":19,"n":47}],"k":52}],"n":[{"y":52}],"p":[{"ó":51},47],"r":47,"t":[{"e":47,"k":52}]}],"á":[{"l":52,"r":[{"u":0}]}],"e":[{"l":[{"e":5,"l":5},11],"m":52,"s":11,"t":[{"e":5},11],"v":[{"é":19}]}],"é":[{"r":[{"d":47,"é":47}],"s":[{"s":52,"z":[{"r":52}]},47],"t":[{"e":51}],"z":47}],"i":[{"a":10,"d":51,"n":47,"s":52,"t":51}],"l":[{"i":54,"u":6}],"o":[{"l":[{"t":52},47],"m":47,"n":[{"f":47,"g":47}],"r":[{"á":47,"o":47}],"s":47}],"ó":[{"l":19}],"ö":[{"l":[{"ő":5},11]}],"p":[{"r":5}],"r":[{"e":54}],"t":[{"r":19}],"u":[{"d":52}],"ú":[{"r":52}],"ü":[{"l":[{"ő":5,"t":5},11],"r":52,"t":51,"z":52}]}],"l":[{"a":[{"d":19,"j":[{"a":19}],"l":19,"m":19,"n":[{"y":52},11],"r":[{"o":19}]}],"á":[{"g":51,"l":52,"r":[{"n":5}],"s":[{"z":51}],"t":[{"v":5}]}],"b":[{"r":5}],"d":[{"r":19}],"e":[{"d":19,"l":[{"e":5,"l":5},11],"m":[{"b":52}],"n":5,"r":[{"e":51}],"s":19,"v":[{"ő":51}],"x":5}],"é":[{".":41,"d":19,"g":11,"v":[{"a":83}]}],"f":[{"r":5}],"g":[{"l":5}],"i":[{"d":51,"g":[{"é":52}],"j":52,"l":52,"m":[{"á":0}],"n":[{"d":52,"f":52,"g":52,"j":52,"t":52,"v":52}],"p":51,"r":[{"á":52}],"s":[{"k":52,"z":51}],"t":[{"a":51,"t":52}],"v":[{"á":[{"s":0}],"o":0}],"z":[{"g":[{"a":[{"t":[{"o":0}]}]}],"z":52}]}],"í":[{"g":5,"v":19}],"k":[{"l":19,"v":5}],"o":[{"k":[{"o":5},11],"l":52,"p":[{"e":5}],"r":52,"s":52,"x":52}],"ö":[{"b":5,"l":5,"m":19,"n":19,"r":5,"s":52,"v":[{"é":[{"s":[{"s":22}]}]}]}],"ő":[{"r":[{"ü":5}]}],"p":[{"l":19,"r":19,"s":19}],"s":[{"k":5,"m":5,"p":5,"t":19,"z":[{"t":[{"á":26}]},10]}],"t":[{"a":[{"g":[{"g":9,"y":9}],"j":12,"l":12}],"á":[{"r":[{"n":12}]}],"é":[{"l":6,"r":[{"t":[{"e":6}]}],"s":12,"v":[{"e":[{"s":9}]}]}],"i":[{"d":6,"m":12,"n":12,"p":12,"s":6},10],"í":6,"o":[{"l":[{"d":9}]}],"ö":[{"s":6}],"ő":[{"r":13}],"r":[{"á":5}]}],"u":[{"d":52,"g":51,"r":52,"t":51}],"ú":[{"r":52,"s":5}],"ü":[{"g":5,"l":5,"n":5,"r":5,"t":5,"v":5,"z":5}],"ű":[{"z":5}],"y":[{"a":[{"d":61,"l":61,"n":56,"r":61,"u":56}],"á":[{"l":0,"t":[{"l":56}]}],"e":61,"é":[{"l":0,"s":0}],"o":[{"l":0}],"ö":56,"ő":0,"s":9,"u":[{"g":0}]}]}],"m":[{"a":[{"c":47,"d":47,"g":47,"j":47,"r":47,"t":[{"r":47}]}],"i":[{"a":[{"l":11}]}],"o":[{"z":47}]}],"n":[{"a":[{"c":47,"p":47,"u":10}],"y":[{"a":[{"n":61}],"i":[{"r":61}],"t":[{"r":9}]}]}],"o":[{"k":[{"o":6}],"v":[{"e":6}]},48],"ó":[{"r":[{"a":6,"á":6}],"s":[{"á":6}],"v":[{"o":6}]},48],"ö":[{"l":[{"e":6,"é":6,"ő":6}],"r":[{"ö":6}],"v":[{"e":6}]},48],"ő":[{"r":[{"ö":6}]},48],"p":[{"e":[{"g":5,"l":11,"s":5}],"i":[{"n":52}],"l":[{"a":6,"é":6}],"o":[{"r":52}],"p":[{"l":19}],"r":[{"í":6,"o":6}]}],"r":[{"a":[{"á":[{"t":7}],"b":47,"j":47,"k":[{"k":5}],"l":[{"u":5}],"n":[{"t":52,"y":[{"a":19}]}],"p":8,"s":[{"z":[{"p":9}]}],"t":[{"t":[{"a":[{"s":0}]}]}],"u":[{"r":10}]}],"á":[{"b":[{"r":52}],"l":[{"l":5}],"r":[{"i":51}],"s":[{"s":3}],"t":[{"m":52}]}],"b":[{"r":5}],"d":[{"r":19}],"e":[{"c":19,"l":19,"z":5}],"é":[{"k":[{"k":5},0],"l":51,"n":[{"e":19}],"s":47}],"f":[{"é":[{"l":[{"é":[{"v":17}]}]}]}],"i":[{"a":[{"l":11}],"d":51,"e":0,"f":[{"j":5}],"g":[{"a":52,"é":[{"n":[{"y":[{"é":20}]}]}]},11],"m":19,"n":[{"f":52,"g":5,"t":52}],"s":[{"t":5},0]}],"k":[{"r":19}],"n":[{"ő":[{"r":53}]}],"o":[{"t":[{"t":5}]}],"ó":[{"p":8,"s":[{"p":9}]}],"ö":[{"c":19,"l":19,"n":5,"t":5}],"ő":[{"s":5}],"p":[{"r":5}],"s":[{"k":19,"n":5,"r":19,"t":19,"z":[{"n":5}]}],"u":[{"t":19}],"ü":[{"l":19,"v":19}]}],"s":[{"a":[{"b":[{"l":47,"r":5}],"d":51,"j":51,"l":[{"a":19}],"n":[{"y":5},11],"p":[{"r":5}],"r":[{"á":5,"c":52,"j":47},11]}],"á":[{"g":[{"o":[{"l":11}]}],"l":[{"d":5}],"p":51,"r":[{"a":[{"i":51,"k":51}],"b":52,"e":52,"o":51,"u":51,"ú":51,"v":52}],"t":[{"l":5},47],"z":51}],"d":[{"r":5}],"e":[{"c":19,"l":19,"v":19,"x":5}],"é":[{"g":51,"l":51,"n":[{"e":19}],"r":[{"é":51,"m":5,"t":[{"é":52}]}],"t":[{"á":51,"e":51,"r":5}]}],"f":[{"r":5}],"i":[{"g":[{"a":5},11],"l":52,"m":[{"p":5}],"n":52,"p":51,"r":51,"s":52}],"í":[{"z":19}],"k":[{"l":5,"v":5}],"o":[{"l":[{"a":52,"d":52}],"r":[{"g":5,"r":52}],"s":[{"z":5}]}],"ó":[{"h":19}],"ö":[{"s":5}],"ő":[{"r":5}],"p":[{"e":6,"r":5}],"s":[{"p":19,"z":[{"a":[{"g":25,"k":43,"v":25}],"e":25,"i":25,"í":25,"ó":25,"ö":25,"ú":25,"ü":25}]}],"t":[{"a":[{"t":6}],"r":19}],"u":[{"g":[{"a":51}],"t":51}],"ü":[{"g":5,"n":5,"t":19,"z":5}],"v":[{"é":[{"t":[{"e":30}]}]}],"z":[{"a":[{"d":61,"k":[{"c":56}]}],"á":[{"g":61,"s":[{"s":7}]}],"e":[{"j":9,"s":8,"v":8},47],"é":[{"v":56},47],"i":[{"g":[{"á":0}]}],"í":47,"k":8,"o":[{"l":[{"d":9}],"s":[{"z":9}]}],"ó":[{"e":0}],"ö":[{"s":9},47],"p":9,"s":[{"e":25}],"ú":55,"ü":[{"g":8},47],"v":[{"e":11}]}]}],"t":[{"a":[{"d":19,"i":19,"j":51,"v":19}],"á":[{"l":52,"r":[{"o":19}],"s":19,"t":72,"v":[{"i":2}]}],"b":[{"l":5}],"e":[{"f":5,"g":51,"l":[{"á":5,"l":5,"z":5}]}],"é":[{"h":0,"l":19,"n":0,"p":52,"r":[{"d":5,"i":51,"z":5}]}],"f":[{"é":[{"l":[{"é":26}]}]}],"g":[{"r":5}],"i":[{"a":[{"k":[{"h":0,"n":0}]}],"d":5,"e":10,"é":0,"g":[{"é":5},11],"j":50,"k":[{"o":81}],"l":[{"l":5}],"n":[{"á":50,"d":5,"f":5,"g":5,"t":5}],"p":[{"a":19}],"r":[{"á":5},50],"s":[{"m":5,"t":5}],"z":81}],"í":[{"g":5,"j":5,"v":5}],"o":[{"k":[{"m":5}],"l":[{"a":52,"d":5}],"m":[{"l":5}],"n":[{"t":5},14],"p":5,"r":[{"a":[{"n":11,"s":14}],"á":[{"l":11}],"e":11},47],"s":[{"t":5,"z":5}]}],"ö":[{"s":5}],"ő":[{"r":11}],"p":[{"l":5,"r":5}],"r":[{"a":[{"g":54}],"i":58}],"s":[{"á":[{"g":[{"i":10}]}],"t":5}],"u":[{"m":[{"é":14}],"r":[{"á":5},11]}],"ú":[{"t":52}],"ü":[{"g":52}],"v":[{"o":53}]}],"u":[{"n":[{"o":6}],"r":[{"a":6}]},48],"ú":48,"ü":[{"g":[{"y":6}],"l":[{"é":6}],"r":[{"e":6}],"t":[{"e":6}],"v":[{"e":6,"ö":6}],"z":[{"e":6}]},48],"ű":[{"z":[{"ő":6}]},48],"v":[{"á":[{"l":47,"r":[{"a":[{"d":11,"l":11}],"i":[{"s":11}],"o":[{"s":[{"z":11}]}],"ó":2,"u":32},6]}]}],"z":[{"a":[{"e":10,"é":10,"k":10,"p":8,"r":[{"c":5}],"t":[{"r":8}]}],"á":[{"l":52,"r":[{"u":0}],"s":[{"s":3}]}],"i":[{"d":[{"o":32},19]}],"ó":[{"t":[{"r":9},10]}],"p":[{"r":19}],"s":[{"a":[{"l":61}],"á":[{"l":0}],"e":[{"c":8},47],"i":47,"z":25}],"t":[{"r":19}]}]}],"ü":[{".":47,"a":[{"j":[{"á":6}],"l":[{"a":6}]},48],"á":[{"g":[{"a":6,"o":6,"u":6}],"r":[{"a":6}],"s":[{"z":6}]},48],"b":[{"l":[{"o":6}]}],"c":[{"s":[{"ö":[{"k":30}]}]}],"d":[{"e":[{"s":0}],"í":[{"t":50,"z":5}],"ö":[{"r":52,"s":[{"s":27}]}],"ő":[{"é":10}],"ü":[{"l":50}],"v":[{"a":13,"e":[{"l":12,"s":13}],"é":[{"l":6}],"i":[{"d":6}],"í":12,"o":6,"ö":[{"l":6},53],"ő":6,"u":6,"ú":6}]}],"e":[{"b":[{"é":6}],"g":[{"e":6,"é":6}],"l":[{"e":6,"é":13}],"m":[{"e":6}]},48],"é":[{"k":[{"e":6}],"p":[{"í":6}]},48],"f":[{"f":[{"ö":13}],"ö":[{"l":[{"e":20}]}],"r":[{"o":6}]}],"g":[{"e":[{"k":8,"l":20}],"r":[{"a":6}],"y":[{"a":61,"á":56,"e":[{"f":0,"l":[{"e":[{"m":[{"b":8,"m":8}]}],"f":9,"l":56,"m":9,"o":9}]}],"é":[{"j":[{"é":9}],"k":[{"b":9}],"r":[{"é":9,"r":9}],"s":0}],"i":[{"l":0,"n":[{"t":9},50],"r":[{"a":9}]}],"í":41,"n":[{"ö":53}],"o":[{"s":9}],"ő":61}]}],"h":[{"a":[{"f":5,"t":5}],"á":[{"s":5}],"e":[{"l":[{"e":51,"f":5,"l":[{"e":[{"n":5}]}],"ő":51,"v":5}]}],"é":[{"h":52,"r":[{".":52}]}],"i":[{"n":52,"t":52}],"o":[{"r":5}],"ő":[{"s":5}]}],"i":[{"g":[{"é":6}],"k":[{"o":6}]},48],"í":[{"r":[{"á":6}]},48],"k":[{"a":[{"n":19,"p":11}],"k":[{"a":[{"l":6}],"á":6,"e":[{"l":7,"r":6},10],"o":[{"p":6},10]}],"u":[{"n":19}]}],"l":[{"a":[{"b":5,"d":19,"g":5,"j":5,"k":19,"l":51,"r":19,"t":5,"u":5}],"á":[{"c":19,"g":19,"l":5,"p":19,"r":19,"s":19}],"b":[{"r":5}],"d":[{"r":19}],"e":[{"c":[{"s":[{"e":52}]}],"d":[{"z":19}],"g":51,"k":47,"l":[{"l":5,"ő":[{"t":[{"e":51}]}]}],"n":[{"g":5,"n":5}],"r":51,"s":[{"ő":19}],"t":[{"a":[{"l":11,"n":14,"s":14,"v":11},32],"á":2,"e":[{"g":14,"l":2}],"é":[{"k":14,"r":[{".":14,"n":14,"ő":[{".":2}],"ü":11}],"v":[{"e":[{".":2}]}]}],"o":[{"r":14,"s":11},32],"ó":2,"ö":2,"t":[{"e":[{".":5,"d":5}]},15],"u":14,"ü":[{"z":11}]}],"x":52}],"é":[{"g":51,"k":[{"a":2,"á":2,"e":[{"l":2,"v":11}],"i":[{"r":11}],"o":14,"u":11}],"l":52,"p":[{"ü":19}],"r":[{".":52,"é":51,"i":5,"j":5,"n":5,"s":5,"ü":51,"v":5,"z":52}],"s":[{"a":11,"o":11,"s":27,"z":[{"á":4}]}]}],"f":[{"r":5}],"i":[{"d":51,"g":[{"a":52},11],"l":[{"l":5}],"m":52,"n":[{"t":52}],"r":[{"a":5}],"t":[{"t":52}],"z":52}],"í":[{"g":5,"r":19,"v":19}],"l":[{"a":[{"n":13}],"i":[{"n":12}],"ö":[{"v":[{"ü":13}]}],"u":13,"y":[{"u":25}]}],"n":[{"ö":[{"k":[{"ö":[{"l":30}]}]}]}],"o":[{"d":19,"l":19,"m":5,"p":5,"r":5}],"ó":[{"v":19}],"ö":[{"b":52,"l":51,"m":[{"ö":52}],"r":52,"v":51}],"ő":[{"e":10,"é":[{"l":10}],"s":[{"l":9,"p":8,"t":[{"a":9}]}],"t":10}],"p":[{"l":19,"r":19}],"s":[{"l":5,"p":5,"t":5}],"t":[{"a":[{"d":12}],"á":[{"r":10}],"e":[{"t":[{"l":53,"s":53}],"v":13}],"r":[{"a":5}]}],"u":[{"d":5,"g":19,"t":19}],"ú":[{"s":5}],"ü":[{"g":52,"l":[{"é":5,"h":5,"i":5,"j":5,"n":5,"t":5,"v":5},11],"r":52,"t":52,"v":52}],"y":[{"e":[{"l":0,"s":[{"s":9,"z":9}]}]}]}],"m":[{"a":[{"l":19,"n":19,"r":19}],"á":[{"r":19}],"e":[{"g":[{"i":20}]}],"é":[{"k":[{"s":5}],"p":52,"r":[{"d":52}]}],"f":[{"l":5,"r":5}],"i":[{"g":[{"a":52},11],"l":52,"m":52,"p":51,"s":52,"z":52}],"k":[{"l":5,"r":5}],"o":[{"l":19,"r":5,"s":5}],"ö":[{"s":[{"s":52}]}],"ő":[{"r":5}],"p":[{"r":19}],"t":[{"r":5}],"ú":[{"j":5}],"ü":[{"l":51,"v":52,"z":52}]}],"n":[{"á":[{"l":5,"r":19}],"e":[{"l":19,"t":[{"e":[{"l":[{"e":[{"t":14}]}]}],"é":[{"s":11}]}],"v":[{"é":5}]}],"é":[{"p":51}],"i":[{"d":5,"n":[{"g":52}],"r":[{"t":52}]}],"n":[{"e":[{"p":53}]}]}],"o":[{"k":[{"i":13}]},48],"ó":[{"r":[{"á":6}]},48],"ö":48,"ő":[{"r":[{"e":6}]},48],"p":[{"r":[{"i":6,"o":6}]}],"r":[{"d":[{"é":[{"s":[{"s":7}]}]}],"e":[{"g":[{"a":14,"á":11,"g":3},50],"s":50,"t":[{"ö":11}]}],"ö":[{"m":0}],"t":[{"a":12,"á":12,"e":13,"i":[{"s":6}],"o":[{"k":7},13],"ü":[{"l":6},10]}],"ü":[{"l":50}]}],"s":[{"s":[{"a":13,"á":12,"e":[{"g":12}],"o":13,"s":9,"ü":[{"l":12},10]}],"t":[{"a":13,"á":[{"g":9,"l":9,"r":9},31],"e":13,"é":[{"g":9,"k":12,"l":6,"r":[{".":12,"e":12,"m":12}]}],"i":[{"l":12,"m":6,"r":6,"s":12}],"í":6,"o":13,"ó":13,"ö":[{"r":12,"v":13}],"ő":[{"r":12,"s":12}],"u":13,"ú":6,"ű":[{"z":12},10]}],"z":[{"á":[{"l":9}],"i":[{"v":56},10],"í":[{"v":8}],"ö":[{"n":[{"t":56}]}],"ü":[{"r":0}]}]}],"t":[{"a":[{"b":5,"j":5}],"e":[{"g":50,"m":[{".":50,"a":2,"b":0,"e":[{"l":14},50],"é":[{"b":0,"r":[{"t":11}]}],"i":[{"n":11}]}]}],"é":[{"s":[{"i":[{"k":11},32],"s":27,"z":4}]}],"k":[{"ö":53}],"ő":[{"s":[{"p":8}]}],"t":[{"á":12,"é":13,"y":[{"e":[{"g":15}]}]}],"z":[{"i":6}]}],"u":[{"t":[{"a":6}]},48],"ú":48,"ü":48,"ű":48,"v":[{"e":[{"g":[{"a":2,"g":27}],"z":[{"é":[{"r":32}]}]}]}],"z":[{"e":[{"m":[{"a":166,"á":14,"e":[{"g":11}],"é":[{"r":[{"t":[{"é":14}]}],"t":[{"k":14}]}],"i":50,"o":14,"t":0,"u":2,"ű":0}],"t":[{"a":14,"o":14}]}],"é":[{"r":[{"a":11,"e":[{"l":2}]}]}],"l":[{"e":[{"t":[{".":53,"n":53}]}]}]}]}],"ű":[{".":47,"a":[{"d":[{"a":6,"ó":6}],"g":[{"y":6}],"k":[{"a":6}],"l":[{"a":[{"g":30},6],"o":6}],"n":[{"a":6,"y":[{"a":[{"g":[{"o":[{"c":25}]}]}]},6]}],"o":[{"r":6}],"p":[{"a":6,"á":6}],"r":[{"a":6,"á":6}],"t":[{"o":6}],"u":[{"t":6}],"v":[{"a":6}],"x":[{"i":6}],"z":[{"o":6}]},48],"á":[{"b":[{"é":6}],"g":[{"a":6,"á":6,"y":6}],"h":[{"í":6}],"j":[{"e":6}],"l":[{"o":6}],"p":[{"o":6}],"r":[{"a":6,"i":6,"o":6,"u":6}],"s":[{"í":6}],"t":[{"é":6,"í":6}]},48],"b":[{"a":[{"l":14}],"é":[{"r":[{"e":[{"l":11}]}]}],"l":[{"o":6}],"r":[{"ó":6}]}],"c":[{"s":[{"a":[{"p":[{"á":[{"g":30},26]}],"s":9}],"é":[{"k":56}],"i":[{"p":[{"a":8}]}]}]}],"d":[{"á":[{"l":5}],"e":[{"l":51}],"r":[{"á":54,"o":6,"ó":54}],"s":[{"k":5}]}],"e":[{"c":[{"s":6}],"g":[{"e":6,"é":6,"y":6}],"k":[{"é":[{"r":[{"e":6}]}]}],"l":[{"a":6,"e":6,"é":6,"í":13,"ő":6,"ü":6}],"m":[{"e":6}],"p":[{"i":6,"o":6}],"r":[{"e":6,"ő":6}],"s":[{"e":6,"é":6,"ő":6}],"t":[{"e":6,"i":6}],"v":[{"é":6,"ő":6}]},48],"é":[{"l":[{"e":6,"é":6}],"n":[{"e":[{"k":[{"b":6,"e":[{"s":[{"t":10}]},6],"é":6,"r":6}]}]}],"p":[{"í":6}],"t":[{"e":6}]},48],"f":[{"a":[{"j":[{"e":2}]}],"l":[{"o":6}],"o":[{"g":[{"a":[{"l":2}]}]}],"r":[{"a":6,"i":6,"o":6}]}],"g":[{"ö":[{"l":[{"é":51,"ő":[{".":51}]}]}],"ő":[{"s":5,"z":11}],"r":[{"a":6,"á":6}]}],"h":[{"o":[{"l":[{"d":[{"a":[{"d":[{"a":30},26]}]}]}]}]}],"i":[{"d":[{"o":6}],"g":[{"a":6,"é":6}],"m":[{"á":6,"i":6}],"p":[{"a":6}],"r":[{"á":6,"o":6}],"s":[{"z":6}],"t":[{"a":6}],"z":[{"é":6,"o":6}]},48],"í":[{"r":[{"á":6,"i":6,"ó":6}],"t":[{"é":6}],"v":[{"e":6}],"z":[{"ü":6,"ű":6}]},48],"k":[{"i":[{"a":10}],"l":[{"a":6,"i":6,"í":6,"o":6}],"r":[{"e":[{"p":6}],"é":54,"i":54,"o":54,"ó":54}],"v":[{"a":6}]}],"m":[{"e":[{"g":14}]}],"n":[{"a":[{"l":5,"r":5}],"á":[{"l":5,"r":19}],"e":[{"l":[{"e":19,"h":5,"i":19,"k":5,"ő":19,"r":5,"t":5}],"m":[{"l":5}],"s":[{"e":19,"t":5}],"t":8}],"é":[{"r":[{".":52,"t":[{"e":52}]}]}],"i":[{"g":[{"a":52},11],"n":52,"p":51,"r":51,"s":52}],"m":[{"e":10}],"n":[{"y":25}],"o":[{"k":19,"l":5,"s":5}],"ó":[{"r":19}],"p":[{"r":5}],"s":[{"k":19,"t":19}],"u":[{"n":19,"t":19}],"ü":[{"s":52,"z":52}],"ű":[{"z":5}]}],"o":[{"d":[{"ú":6}],"k":[{"á":6,"o":6}],"l":[{"a":6}],"r":[{"á":6,"o":6}]},48],"ó":[{"c":[{"e":6}],"r":[{"a":6,"á":6,"i":6}]},48],"ö":[{"l":[{"ő":6}],"r":[{"ö":6}],"v":[{"e":6}],"z":[{"ö":6}]},48],"ő":[{"r":[{"ö":6}]},48],"p":[{"l":[{"a":6,"ü":6}],"n":[{"e":6}],"r":[{"é":6,"i":6,"í":6,"o":6,"ó":6}]}],"r":[{"a":[{"d":5,"l":19,"m":19,"n":19,"u":5,"v":19}],"á":[{"b":5,"l":5,"s":5,"z":5}],"e":[{"g":[{"y":5}],"l":19,"n":11,"r":51,"x":5}],"é":[{"j":51,"l":19,"p":5,"s":[{"s":[{"z":[{"e":[{"r":27}]}]}],"z":[{"a":11,"á":11,"í":11,"o":11}]}]}],"f":[{"l":5}],"i":[{"d":5,"g":[{"a":5},11],"m":51,"n":[{"t":5}],"p":19,"s":[{"t":5}]}],"í":[{"r":52}],"o":[{"d":19,"l":52,"p":19,"r":5,"s":[{"t":[{"a":17}]}],"t":5}],"ó":[{"n":5}],"ö":[{"l":51,"r":5}],"ő":[{"f":8}],"p":[{"l":5,"r":5,"s":19}],"s":[{"p":19,"t":19,"z":[{"t":32}]}],"t":[{"r":[{"a":5}]}],"u":[{"j":5,"n":5,"t":19}],"ú":[{"t":5}],"ü":[{"g":5,"z":5}]}],"s":[{"a":[{"j":[{"t":[{"ó":52}]}]}],"á":[{"l":5}],"é":[{"g":[{"e":[{"l":14}]}]}],"í":[{"n":[{".":52}],"r":51}],"k":[{"a":54,"á":54}],"o":[{"r":[{"a":[{"d":11,"j":11,"l":11,"n":11}],"á":[{"l":11}],"o":[{"s":[{"z":11}]}],"s":3,"t":32}]}],"p":[{"e":6,"i":6,"o":6,"r":11}],"r":[{"á":6}],"s":[{"z":25}],"t":[{"a":54,"í":54,"o":54,"r":[{"o":5},11]}],"u":[{"j":52}],"ü":[{"t":51}],"z":[{"e":[{"r":[{"á":30,"e":[{"l":[{"e":17}],"p":[{"é":30},26]}],"ü":[{"l":[{"t":30}]}]}]}],"k":11,"t":11}]}],"t":[{"é":[{"s":[{"s":27}]}],"ő":[{"a":10,"e":10}],"r":[{"a":54,"á":[{"g":[{"á":54}]}],"e":54,"i":6,"o":54}]}],"u":[{"g":[{"a":6}],"r":[{"a":6}],"s":[{"z":6}],"t":[{"a":6,"á":6,"u":6}]},48],"ú":[{"r":[{"i":6}],"s":[{"z":6}],"t":[{"i":6,"o":6}]},48],"ü":[{"g":[{"y":6}],"l":[{"é":6}],"r":[{"í":6}],"t":[{"e":6,"é":6,"ö":6}],"v":[{"e":6,"ö":6}],"z":[{"e":6}]},48],"ű":[{"z":[{"ő":6}]},48],"v":[{"é":[{"s":[{"z":[{"a":44,"á":44,"e":[{"l":18,"r":11}],"i":[{"n":[{"t":11}]}],"o":11,"ó":18,"ö":11,"ú":11}]}]}],"í":[{"z":[{"e":32},14]}]}],"z":[{"a":[{"b":51,"d":19,"g":19,"k":5,"l":[{"e":3},19],"p":19,"r":19,"s":19,"t":19,"u":19}],"á":[{"g":19,"l":52,"r":[{"b":52,"j":52}],"t":[{"l":5,"u":5}]}],"e":[{"d":52,"f":52,"l":51,"m":52,"r":51,"s":[{"e":52,"é":52,"t":52,"z":52},11],"t":[{"e":[{"g":11,"l":11}]}],"v":51}],"é":[{"g":52,"l":51,"r":[{"m":52,"t":[{"é":52}],"z":52}],"s":[{"z":52}]}],"f":[{"r":5}],"g":[{"l":5,"r":19}],"i":[{"g":[{"a":[{"z":22},52],"é":52},11],"m":51,"r":51,"s":[{"k":5,"m":5,"t":5,"z":19}],"z":52}],"í":[{"n":5,"r":5,"v":19}],"k":[{"l":5,"r":5}],"o":[{"k":19,"l":19,"m":41,"n":5,"p":5,"r":5,"s":5}],"ó":[{"c":52,"r":51}],"ö":[{"k":[{"ö":51}],"l":[{"d":[{"e":[{"l":30}]}]}],"v":51,"z":52}],"ő":[{"a":10,"e":10,"r":[{".":52,"e":[{"i":19}],"i":51,"k":5,"m":5,"n":52,"ö":51,"r":52,"s":52,"t":52,"z":5}]}],"p":[{"r":19}],"s":[{"a":25,"á":[{"m":0,"r":55,"v":55}],"e":[{"r":55}],"é":55,"ó":55,"ö":55,"p":34,"u":[{"g":[{"a":55}]}],"ü":25,"ű":55,"z":25}],"t":[{"r":19}],"u":[{"g":52}],"ú":[{"r":5,"t":5}],"ü":[{"g":51,"l":52,"n":[{"n":5}],"t":52}],"z":[{"s":25}]}]}],"v":[{".":47,"a":[{"a":[{"d":11}],"á":[{"t":[{"a":32},3]}],"b":[{"l":86,"r":[{"a":5}],"s":48}],"c":[{"s":[{"a":[{"l":[{"a":3}],"n":24,"p":6}],"á":[{"l":6}],"ü":23,"z":27}]}],"d":[{"a":[{"g":58,"j":12,"l":[{"é":6}],"p":86,"s":[{"z":12}],"t":[{"a":54,"b":54,"k":54,"o":54,"r":54}],"z":6}],"á":[{"l":12}],"e":[{"g":6,"l":13,"n":6,"p":6,"r":13,"t":13}],"é":[{"l":6,"t":[{"e":9}]}],"i":[{"b":6,"d":12,"r":12,"t":13}],"í":[{"r":12}],"o":[{"l":12,"m":47}],"ó":[{"h":6,"i":6,"j":54,"r":6,"u":54}],"ö":[{"r":12}],"ő":13,"ú":12,"ű":6,"z":[{"a":6,"á":6,"e":6}]}],"é":[{"r":11}],"g":[{"a":[{"s":12,"v":6}],"á":[{"s":6}],"e":13,"é":[{"n":13}],"g":9,"i":[{"d":6}],"l":[{"e":5}],"o":[{"k":[{"u":13}],"l":[{"i":6}],"s":[{"t":9,"z":12}]}],"u":[{"r":[{"a":12}]}],"ú":6,"y":[{"ú":58}]}],"j":[{"a":[{"r":12}],"á":[{"c":12,"r":[{"o":13}]}],"e":[{"g":13}],"í":6,"o":[{"l":12}],"ó":[{"s":13}],"ö":6,"ü":6}],"k":[{"a":[{"d":[{"á":8},62],"j":12,"k":[{"n":9}],"p":[{"á":9}]}],"á":[{"r":[{"n":9}],"s":12,"t":12}],"e":[{"g":6,"m":6}],"é":[{"r":[{"t":[{"é":12}]}]}],"i":[{"s":6}],"í":[{"r":12}],"ó":[{"s":13}],"r":[{"í":5}],"t":[{"i":47,"u":86},8],"u":[{"p":47}],"ú":[{"t":12}]}],"l":[{"a":[{"c":6,"k":[{"u":6}],"p":[{".":6,"í":6,"ú":6}]}],"l":[{"á":[{"s":[{"s":22}]}]}]}],"m":[{"p":86}],"n":[{"a":[{"l":58}],"e":[{"g":13,"m":[{"e":9},10],"s":12}],"é":[{"v":[{"e":9,"i":9},10]}],"g":47,"n":20,"o":[{"l":6}],"ó":6,"y":[{"á":58,"ó":58}]}],"p":[{"l":19,"o":[{"s":6}],"r":19,"u":58}],"r":[{"a":[{"b":12,"c":[{"é":9},10],"d":13,"j":[{"t":9}],"k":[{"t":9}],"l":12,"n":[{"y":[{"a":8},6]}],"p":13,"r":13,"s":[{"s":[{"z":12}]}],"t":12,"v":12}],"á":[{"g":6,"l":12,"n":[{"y":58}],"s":[{"z":[{"n":12}]}],"t":[{"a":9,"f":12,"m":12,"o":13}],"z":[{"á":13}]}],"c":[{"a":[{"g":11,"l":11,"n":11},32],"c":3,"h":[{"o":4}]}],"e":[{"s":12,"t":13,"v":6}],"é":[{"g":6,"k":[{".":9,"s":9}],"l":13,"p":6,"r":[{"é":12}]}],"i":[{"d":6,"k":[{"o":13,"r":12}],"l":[{"l":12}],"m":6,"n":[{"f":9,"k":9,"v":12}],"p":13,"s":[{"k":9,"m":9}]}],"í":6,"k":[{"a":[{"n":14}],"b":8,"j":8,"k":[{"á":8}],"l":9}],"o":[{"k":[{"m":12}],"l":[{"d":9}],"p":6,"r":6}],"ö":[{"n":6}],"ő":6,"s":[{"z":32},10],"t":[{"e":[{"t":[{"t":[{".":47}]}]}],"i":[{"n":2}],"o":[{"r":11}],"ó":[{"r":14},32]}],"u":[{"t":12}],"ú":[{"t":12}],"ü":13,"ű":6}],"s":[{"a":[{"b":[{"l":9}],"g":6,"j":12,"r":[{"c":9}],"s":[{"z":9}]}],"á":[{"b":[{"r":12}],"l":12,"r":[{"l":12}]}],"e":[{"k":6,"l":13,"m":6,"r":13,"t":6}],"é":[{"k":[{".":12,"k":9,"n":12,"t":9}],"r":[{"e":12,"t":[{"é":12}],"v":12},10]}],"f":[{"é":[{"l":[{"é":[{"v":33}]}]}]}],"i":[{"d":6,"n":[{"a":[{".":13}],"g":12}],"s":13,"z":12}],"ö":[{"n":12}],"ő":6,"s":[{"z":[{"e":20,"i":20,"ő":20}]}],"t":[{"r":[{"ó":9}]},10],"u":[{"s":6}],"ü":[{"t":13}],"ű":6,"z":[{"e":[{"l":15}],"i":[{"s":6}]}]}],"t":[{"a":[{"d":13,"j":12,"u":6}],"á":[{"l":12,"r":[{"u":13}]}],"e":[{"v":13}],"é":[{"k":12,"l":6,"r":[{"t":[{"e":12}]}],"t":[{"e":13}]}],"i":[{"d":12,"m":6,"n":[{"f":9,"g":9}],"s":12}],"í":[{"r":12}],"m":[{"o":[{"s":[{"z":33}]},7]}],"o":[{"k":[{"m":12}],"l":[{"d":12}]}],"ö":[{"v":13}],"ő":[{"r":12},10],"t":[{"a":[{"k":[{"o":47}]}]},10],"u":[{"r":12}]}],"u":[{"k":58,"n":11}],"z":[{"a":[{"t":[{"e":30}]}],"o":[{"n":58}]}]},53],"á":[{"b":[{"b":[{"a":[{"j":11,"s":14}],"e":2,"é":14,"i":[{"l":11}],"o":[{"l":11,"s":11}],"ő":11,"u":11}],"r":47}],"c":[{"h":21,"s":[{"a":[{"p":23}],"e":6,"é":[{"k":24}],"i":[{"p":6,"s":24}],"ő":6,"ú":6,"ü":6,"z":27}]}],"d":[{"a":[{"l":12,"n":13}],"e":[{"s":6},10],"é":[{"n":6},10],"i":[{"k":6,"r":12}],"o":[{"r":12}],"ö":6,"ü":6}],"g":[{"a":[{"z":58}],"r":86,"ú":6,"y":[{"a":[{"l":6,"n":6}],"ö":6,"ő":6}]}],"k":[{"e":12,"ü":12}],"l":[{"a":[{"j":6,"l":13,"n":[{"y":12},10],"p":12,"r":6,"s":[{"z":[{"i":[{"n":10}]}]}]}],"á":[{"r":13,"t":12}],"e":13,"é":[{"l":6}],"i":[{"d":6,"n":6,"r":6,"s":[{"m":6}]}],"l":[{"á":[{"s":86}],"e":2,"o":[{"m":86}],"ó":86,"ö":2}],"ú":6,"ü":6}],"m":[{"a":[{"d":12,"j":12,"k":12,"l":12,"s":12,"u":6},10],"á":13,"b":8,"e":13,"é":[{"r":[{".":12,"t":[{"é":12}]}]}],"i":[{"l":6,"n":12,"r":12,"s":6}],"í":6,"o":[{"r":12}],"ö":6,"ő":6,"u":[{"t":12},10],"ü":6}],"n":[{"a":[{"j":6,"n":[{"y":9},10]}],"e":12,"i":[{"s":6}],"s":[{"s":27}],"ú":12,"ü":6,"y":[{"a":[{"d":32,"j":6,"l":23,"n":[{"y":6},32],"p":24,"r":6,"s":24,"u":6,"z":6}],"e":23,"é":[{"r":[{".":24,"d":6,"r":6,"v":6,"z":6}]}],"i":[{"n":[{"g":24}],"s":6}],"í":[{"r":15}],"ó":23,"ö":6}]}],"p":[{"o":6}],"r":[{"a":[{"d":[{"a":[{"t":[{"o":8}]}],"á":6,"ó":13,"u":13}],"l":[{"a":12,"e":9},10],"m":[{"l":6}],"n":[{"y":12},10],"r":12,"s":[{"s":[{"z":12}],"z":13}]}],"á":[{"g":6,"l":12}],"d":10,"e":13,"i":[{"s":[{"k":9,"m":9,"t":9}]}],"í":6,"o":[{"l":[{"d":9}],"m":[{"l":12}],"n":[{"t":12}],"s":[{"z":[{"t":9},10]}]}],"ó":[{"n":[{"é":13}]}],"ö":6,"ő":6,"s":[{"p":9,"r":9},10],"t":[{"e":[{"s":14}],"é":[{"r":[{".":14}]}]}],"u":[{".":47,"h":6,"r":8,"s":[{"z":9}],"t":9}],"ú":[{"s":6},10],"ü":6}],"s":[{"a":[{"d":13,"m":6,"z":6}],"á":[{"r":[{"a":[{"d":16}]}]}],"e":12,"i":[{"k":[{"o":9},10],"s":6}],"í":[{"r":6}],"k":[{"é":[{"s":[{"z":28}]}]}],"ó":10,"t":[{"r":9},10],"ü":12,"ű":6,"z":[{"a":[{"n":6,"v":21}],"e":24,"i":[{"n":6}]}]}],"t":[{"a":[{"l":12},10],"d":86,"e":[{"r":88}],"f":[{"e":86}],"i":[{"r":12}],"í":58,"l":[{"é":48}],"m":86,"ö":102,"p":86,"ü":58,"v":86}],"z":[{"a":[{"l":[{"j":12,"t":12}],"t":[{"o":[{"m":13}]}],"v":13}],"e":13,"i":[{"s":15,"z":6}],"í":6,"o":[{"s":6}],"ö":6,"ő":6,"s":[{"a":21,"á":21,"e":20,"é":21,"ö":20,"u":21,"z":20}],"ü":6}]},53],"b":[{"l":[{"o":6}],"r":[{"a":6}]}],"c":[{"s":[{"ő":[{"é":[{"n":[{"e":32}]}]}]}]}],"d":[{"r":[{"á":6}]}],"e":[{"a":[{"g":11,"l":11,"n":11,"r":11}],"á":[{"l":11}],"c":[{"e":[{"t":6},47],"l":5,"s":[{"e":[{"g":6}]}]}],"d":[{"é":[{"n":[{"y":47}]}]}],"g":[{"a":[{"b":6,"c":6,"r":6,"s":12,"z":10}],"á":13,"e":[{"g":12,"k":[{"é":[{"h":13}]}],"l":[{"l":12,"ő":[{"k":[{"é":10}]}],"r":12}],"r":13,"s":[{"e":[{"m":12}],"z":12}],"t":[{"e":[{"t":13}]}]}],"é":[{"k":12,"l":12,"p":12,"r":[{"é":9,"t":[{"e":9}],"v":9}],"s":[{"s":38,"z":10}]}],"g":[{"r":9},10],"i":[{"d":6,"k":6,"m":6}],"í":6,"o":[{"l":6,"r":6}],"ó":13,"ö":13,"u":12,"ú":6,"y":[{"e":[{"l":[{"e":[{"m":6}]}],"m":[{"b":6}],"z":6}],"l":86,"v":47}]}],"k":[{"a":[{"k":12}],"e":[{".":58,"i":58}],"é":[{"b":[{"ő":6},47],"k":58,"s":58}],"l":[{"u":5}]}],"l":[{"a":47,"e":[{"f":58,"m":[{"z":58}],"t":[{"e":[{"l":17}]}]}],"é":[{"g":58,"s":[{"s":38}]}],"f":86,"g":[{"y":48}],"h":[{"a":86,"e":[{"l":86}]}],"i":[{"s":6}],"í":88,"j":[{"á":48}],"m":86,"o":[{"s":6}],"ő":[{"i":[{"r":[{"á":58}]}],"í":58,"k":[{"é":[{"s":47}]}],"l":[{"e":[{"g":86}]}]}],"r":86,"s":[{"a":86,"z":[{"á":86,"o":86}]}],"t":[{"á":86,"e":[{"r":86}],"é":[{"r":86}],"o":86}],"v":[{".":86,"á":86,"e":[{"k":86}]}],"y":[{"ö":6,"u":6}],"z":86}],"m":[{"b":[{"ó":86}],"e":[{"l":58}],"l":86,"u":58}],"n":[{"a":[{"d":12,"u":6}],"á":12,"e":[{"g":13,"l":13,"s":[{"z":12}]}],"é":[{"v":[{"i":13}]}],"f":8,"g":8,"k":39,"o":12,"ó":13,"ö":6,"t":[{"ü":[{"l":14},32]}],"ü":[{"l":[{"é":9}]}],"y":[{"ö":6}],"z":86}],"ó":[{"r":11}],"ö":[{"r":6}],"p":[{"e":6,"r":19}],"r":[{"a":[{"b":6,"c":13,"d":13,"g":13,"j":[{"á":6}],"l":10,"n":10,"r":13,"u":12,"z":6}],"á":[{"g":12,"l":12}],"d":[{"ő":47}],"e":[{"g":[{"y":9}],"h":13,"k":[{"e":[{".":13}],"l":6}],"l":13,"n":[{"g":12}],"r":12,"s":[{"ő":13,"z":12}]}],"é":[{"l":13}],"g":8,"i":[{"g":[{"a":12}],"l":[{"l":12}],"m":6,"n":[{"c":12,"d":6,"f":12,"g":12,"t":[{"e":9}]}],"p":[{"a":9}],"s":6}],"o":[{"l":12,"r":6}],"ó":[{"r":8},6],"ö":6,"p":8,"s":[{"a":[{"l":14}],"á":[{"r":11}],"é":[{"g":[{"é":14,"g":14,"n":14,"t":14},32]}],"i":[{"r":11}],"í":2,"ó":11,"s":27,"ü":[{"t":14}],"z":[{"á":[{"r":27}],"e":[{"n":27}]}]}],"t":[{"r":[{"a":9}]}],"u":[{"r":6,"t":12}],"ú":[{"t":6}],"ü":[{"g":13}]}],"s":[{"a":[{"n":6,"s":6}],"á":[{"l":12}],"e":[{"k":[{"é":[{"t":[{"ő":13}]}]}],"t":[{"t":58},32]}],"i":[{"p":6,"s":6}],"í":[{"z":12}],"k":[{"á":5}],"ő":58,"s":[{"z":[{"a":20,"e":[{"r":20}]}]}],"t":10,"u":13,"z":[{"e":[{".":58,"k":[{"n":58}]}],"m":86,"ű":58}]}],"t":[{"a":[{"l":10,"s":6}],"á":[{"l":6,"r":13}],"e":[{"g":[{"y":9}],"l":[{"ő":[{"l":13}]}]}],"é":[{"g":6,"k":13}],"i":[{"d":6,"k":[{"a":58}],"m":54,"n":[{"g":12}]}],"o":[{"l":12}],"ö":[{"l":12,"v":6}],"ő":[{"é":32}],"u":[{"r":6,"t":12}],"ű":[{"z":13}]}],"v":[{"e":[{"t":6}],"o":58}],"z":[{"ő":[{"e":[{"r":32}],"k":[{"é":[{"s":[{"z":65}]}]}],"s":[{"o":[{"r":[{"r":10}]}],"s":7}]}],"r":86}]},53],"é":[{"á":[{"g":11}],"b":[{"r":86}],"d":[{"a":[{"k":6,"l":10,"s":12}],"á":6,"e":[{"m":[{"b":12}]}],"o":[{"s":6}],"ó":[{"v":6}],"ö":6,"ú":6,"z":6}],"f":[{"r":19}],"g":[{"a":[{"b":6,"k":6,"l":6},10],"á":13,"e":[{"g":12,"l":[{"e":13,"g":12,"h":12,"i":12,"l":12,"s":12,"v":12}],"m":11,"n":[{"y":12},10],"p":12,"r":12,"s":[{"e":[{"m":12,"t":[{"e":13}]}]}],"t":[{"é":6,"ő":6}]}],"é":[{"r":[{".":12,"e":[{"n":13}],"é":13,"r":12,"v":9}]}],"g":20,"h":[{"ü":47}],"i":[{"d":12,"g":[{"a":[{"z":28}]}],"m":6,"z":6}],"í":12,"k":[{"ö":[{"t":[{"é":[{"s":65}]}]}]}],"o":[{"l":6}],"ó":13,"ö":6,"ú":6}],"h":[{".":86,"e":[{".":58,"n":58,"s":58}],"s":86}],"k":[{"e":[{"i":6}],"í":[{"t":6}],"l":19,"r":[{"é":19,"i":19}],"s":86,"ü":[{"k":6}]}],"l":[{"a":13,"á":[{"b":6,"l":6,"r":12}],"e":[{"g":6,"l":[{"l":9,"s":9,"t":9}],"m":[{"b":9,"e":12}],"r":13,"s":[{"s":9,"t":9},6],"v":6,"z":6}],"é":[{"k":13}],"i":[{"n":6,"r":6}],"í":6,"o":[{"s":6}],"ő":[{"i":6,"s":6}],"t":[{"á":[{"v":32}]}],"u":12,"ú":6,"ű":6}],"n":[{"a":[{"p":3}],"e":[{"k":[{"l":47}],"m":[{"b":12}]}],"y":[{"e":[{"g":24,"l":[{"e":3,"s":3},32]}],"i":[{"d":6,"s":6}],"í":24,"ú":6,"ü":[{"l":[{"é":24,"t":24},32]}]}]}],"p":[{"í":58,"l":19,"r":19,"ü":58}],"r":[{"a":[{"l":6,"n":13,"p":6,"r":6,"z":6}],"á":[{"r":12,"t":6}],"d":8,"e":[{"l":13,"m":[{"l":9}],"s":[{"s":38}],"t":[{"i":9}]}],"é":[{"s":[{"z":9},6],"t":[{"e":9}]}],"i":[{"k":[{"r":9}],"r":6}],"o":[{"k":13,"t":6}],"ó":[{"v":6}],"s":9,"t":[{"e":[{"s":[{"s":22}]}],"ó":[{"n":[{".":14}]}],"ö":[{"v":11}]}],"u":[{"g":6,"t":6},10],"ú":12,"ü":[{"k":[{"ü":10}]}],"z":[{"e":[{"t":[{".":86}]}]}]}],"s":[{"a":[{"k":6,"l":6}],"e":[{"g":6,"l":[{"e":9,"t":9},10],"r":12}],"ó":6,"p":[{"e":19}],"s":[{"z":[{"e":[{"r":20}]}]}],"t":[{"á":[{"b":11}]}],"ü":[{"v":13}],"z":[{"a":[{"v":20}],"á":[{"r":15}],"e":[{"g":6,"l":[{"l":3}]}],"é":[{"k":[{"n":24}]}],"ő":23,"s":27,"u":6,"ú":[{"r":3},32],"ü":[{"l":[{"é":3},32]}]}]}],"t":[{"e":[{"s":[{"t":9}]}]}],"v":[{".":86,"a":25,"b":86,"e":[{"i":47,"k":58,"n":58}],"é":[{"é":58,"r":58}],"i":[{".":6}],"r":86,"t":86,"ü":58}]},53],"f":[{"e":[{"l":[{"e":[{"m":14}]}]}],"r":[{"a":6,"e":6,"i":6,"o":6}]}],"g":[{"e":[{"o":11}],"r":[{"a":6,"á":6}]}],"h":[{"a":[{"n":[{"g":[{"a":115}]}]}],"e":[{"z":3}]}],"i":[{"a":[{"a":6,"b":6,"c":6,"é":6,"g":6,"p":11,"s":[{"z":[{"a":[{"l":11}],"á":[{"l":44,"r":[{"n":44}]}],"e":[{"m":44}],"é":[{"l":11},26],"ö":11}]}]}],"á":[{"r":[{"a":[{"d":3},32]}]}],"c":[{"c":[{"a":14}],"k":[{"é":47}],"s":[{"a":[{"g":6,"l":6,"n":24,"s":24}],"á":[{"l":6}],"e":[{"l":23}],"é":[{"r":[{".":24,"t":[{"é":6}]}]}],"i":[{"m":6,"p":6},32],"ö":23,"ú":6,"z":27}]}],"d":[{"e":[{"g":6,"s":[{"z":12}]}],"é":[{"z":47}],"ő":58,"z":6}],"e":[{"w":6}],"g":[{"a":[{"z":58}],"é":[{"n":58}]}],"k":[{"a":[{"g":12},10],"e":[{"l":12}],"o":[{"n":6}]}],"l":[{"é":[{"k":12}],"l":[{"a":[{"s":[{"z":33},7]}],"u":47}]}],"m":[{"á":6,"m":86}],"n":[{"a":[{"t":15}],"d":47,"e":[{"m":[{"b":12}]}],"ó":12,"t":[{"e":[{"s":[{"s":11,"z":11}]}],"é":47,"o":[{"s":11}]}]}],"o":[{"n":58}],"p":[{"a":47,"s":19}],"r":[{"a":[{"t":[{".":58,"o":[{"t":58,"z":[{".":47}]}]}]}],"o":[{"d":58}]}],"s":[{"a":[{"l":6,"u":12},10],"á":[{"g":13}],"e":[{"r":6}],"é":[{"k":12}],"i":[{"m":6,"s":12,"z":6}],"ö":6,"z":[{"á":[{"r":6}],"o":[{"k":6}]}]}],"t":[{"a":[{"d":25,"k":[{"é":[{"s":[{"z":65}]}]}],"l":47},11],"e":[{"l":[{"ő":26}]}],"n":47,"ú":12}],"z":[{"e":[{"g":6,"l":[{"l":12}]}],"é":[{"l":8}],"i":[{"n":6}],"o":[{"k":6,"l":6,"m":6,"s":9}],"s":[{"á":6,"z":20}],"u":[{"d":6}],"ú":6}]},53],"í":[{"d":[{"i":10}],"g":[{"e":6}],"n":[{"y":[{"e":[{"n":[{"c":28}]}]},6]}],"r":[{"a":58,"á":58,"ó":58}],"t":[{"é":[{"l":[{"e":[{"t":[{".":47,"b":55,"e":47}]}]}]}]}],"v":[{"b":86,"ó":[{"k":[{"é":[{"s":[{"z":65}]}]}]}]}],"z":[{"a":13,"á":6,"e":[{"l":[{"e":8,"f":9,"h":9,"l":9,"n":9,"ő":9,"p":9,"s":9,"t":9,"v":9},6],"m":[{"b":9,"e":9,"é":9},10]}],"é":[{"k":6,"s":6}],"i":[{"n":[{"g":12}],"s":[{"k":3,"t":12,"z":12}]}],"í":6,"o":12,"ó":13,"ö":6,"ő":13,"s":167,"ú":6,"ü":10,"ű":58,"z":20}]},53],"j":[{"á":[{"r":[{"a":[{"t":[{"ú":[{"t":43}]}]}]}]}],"e":[{"g":[{"y":[{"a":11}]}],"t":[{"e":[{"l":11}],"u":11}]}]}],"k":[{"i":[{"a":[{"l":10}],"á":10}],"l":[{"i":6,"ó":6,"u":6}],"r":[{"i":6,"í":6,"ó":6}]}],"l":[{"a":[{"t":[{"e":11}]}],"e":[{"í":10,"ü":10}]}],"m":[{"e":[{"g":14}]}],"n":[{"a":[{"p":[{"i":[{"n":14}]}]}]}],"o":[{"i":[{"l":6}],"j":[{"i":6}],"k":[{"í":6,"m":86,"s":[{"s":27}],"t":[{"a":86}]}],"l":[{"a":[{"t":3}],"d":[{"á":86,"ó":[{".":86}]}],"t":[{"a":[{"d":2}]}]}],"m":[{"e":[{"c":38},10]}],"n":[{"a":[{"l":[{"e":17}],"t":[{"e":30}]}],"á":[{"s":[{"s":7,"z":29}]}]}],"o":[{"d":6}],"p":[{"e":6}],"r":[{"a":13,"i":[{"n":12}],"m":86}],"s":[{"a":[{"s":12,"v":12}],"e":12,"s":39,"ú":12,"ü":6}],"u":[{"c":6}],"v":[{"á":6}],"x":[{"i":6}]},53],"ó":[{"a":[{"k":11}],"á":[{"g":11,"r":11}],"c":[{"s":[{"a":[{"p":[{"á":64}]}]}]}],"d":[{"r":[{"e":19}]}],"f":[{"r":19}],"k":[{"l":19}],"n":[{"n":86}],"ó":[{"r":11}],"p":[{"l":19,"r":19}],"r":[{"a":[{"n":6}],"á":[{"k":6,"n":6,"t":6}]}],"s":[{"a":[{"k":[{"k":12}],"l":13}],"e":[{"g":6}],"i":[{"v":12}],"o":[{"l":6,"r":[{"r":12}]}],"ó":6,"ö":6,"ő":6,"p":[{"i":5}],"s":20,"t":[{"r":9}],"z":[{"a":[{"k":43}],"á":[{"r":21}],"e":[{"n":21}]},42]}],"t":[{"a":[{"t":15}],"r":19}],"v":[{"á":[{"r":[{"o":[{"s":[{"u":28}]}]}]}]}]},53],"ö":[{"b":[{"ö":6}],"d":[{"é":[{"m":6}]}],"k":[{"o":58}],"l":[{"g":[{"y":[{"a":11}]}]}],"r":[{"ö":[{"k":58}]}],"t":[{"l":86}],"v":[{"e":6,"é":6}],"z":[{"ö":[{"n":86}],"ő":[{"e":38}],"s":6}]},53],"ő":[{"a":[{"n":11}],"á":[{"g":11}],"e":[{"l":11,"r":11}],"é":[{"j":11,"n":11}],"f":[{"l":5,"r":19}],"i":[{"d":[{"e":[{"j":[{"ű":20}]}]}]}],"k":[{"l":5}],"o":[{"l":11}],"p":[{"l":5,"r":5}],"r":[{"m":48,"ü":54}],"s":[{"p":19,"t":[{"a":5,"r":5}]}],"t":[{"r":19}],"ü":[{"l":11}],"z":[{"i":6}]},53],"p":[{"l":[{"a":6}],"r":[{"a":6,"e":6,"é":6,"i":6,"o":6,"ó":6}],"s":[{"z":6}]}],"s":[{"k":[{"á":6,"i":6,"o":6}],"l":[{"á":6}],"p":[{"e":6}],"t":[{"a":6,"i":6,"í":6,"o":6,"r":11,"ú":6}],"z":[{"p":11,"t":76}]}],"t":[{"a":[{"n":[{"á":[{"s":2,"t":[{"o":2}]}],"ó":2}]}],"á":[{"r":[{"a":[{"j":11,"s":[{"s":14}]}],"i":[{"s":11}],"ó":[{"r":14},32]}]}],"e":[{"l":[{"é":[{"s":[{"s":22}]}]}]}],"r":[{"a":6,"é":6,"i":6,"o":6}]}],"u":[{"b":[{"o":6}],"m":[{"a":[{"l":6,"n":6}],"e":13,"i":[{"s":6}],"ö":6}],"n":[{"i":58}],"r":[{"a":6,"u":6}],"t":[{"a":[{"k":58,"s":58,"t":58}],"á":6,"c":48,"ó":54}]},53],"ú":[{"f":[{"r":5}],"j":[{"d":48,"í":54,"s":48}],"r":[{"a":[{"d":12}],"e":6,"é":[{"n":6},10],"ö":6}],"s":[{"z":[{"ó":6}]}],"t":[{"n":48}]},53],"ü":[{"g":[{"y":6}],"k":[{"ü":6}],"l":[{"á":6,"d":86}],"n":[{"n":86}],"p":[{"r":5}],"r":[{"í":6}],"s":[{"t":5,"z":42}],"t":[{"e":6,"é":6}],"z":[{"é":6}]},53],"ű":[{"r":[{"l":86}],"z":[{"ő":6}]},53],"v":[{"á":[{"g":[{"y":[{"ó":[{"b":7}]}]}]}],"e":[{"r":[{"é":[{"s":[{"s":67}]}]}]}]}],"z":[{"á":[{"r":[{"ó":[{"r":[{"a":2}]}]}]}]}]}],"w":[{".":47,"a":[{"i":[{"i":6}],"l":[{"e":6}],"r":[{"d":[{"i":14}],"e":6}],"s":[{"h":19}],"y":[{"e":5,"é":5}]},53],"á":53,"e":[{"b":[{"a":13,"á":13,"e":[{"l":[{"e":12}]}],"é":12,"i":[{"r":6}],"o":12,"ú":12,"ü":6}],"e":[{"d":6,"k":6}],"i":[{"g":6,"s":6}],"l":[{"e":6}],"ö":[{"r":6}]},53],"é":53,"h":[{"i":[{"t":11}]}],"i":[{"c":[{"h":6,"z":6}]},53],"í":53,"o":[{"o":[{"d":6}]},53],"ó":53,"ö":53,"ő":53,"r":[{"i":[{"t":11}]}],"s":[{"t":[{"o":10}]}],"u":53,"ú":53,"ü":53,"ű":53,"y":[{"o":[{"m":14}]}]}],"x":[{".":47,"a":[{"d":[{"a":54,"á":6}],"é":[{"d":11}],"f":[{"l":5}],"k":[{"l":19,"t":86}],"l":[{"a":58,"g":86,"j":86,"k":86}],"n":[{"a":6,"y":54}],"r":[{"á":54,"i":6}],"v":[{"i":6}]},53],"á":[{"b":[{"r":86}],"g":[{"y":6}],"l":[{"l":86}],"r":[{"a":[{"k":6,"m":58,"s":6}],"o":58,"r":86,"u":58}],"t":[{"j":86,"r":86,"v":86}]},53],"b":[{"a":[{"l":14}],"l":[{"a":6,"o":6}],"r":[{"a":6}]}],"d":[{"r":[{"ó":6}]}],"e":[{"g":[{"y":54}],"k":[{"e":[{".":58}]}],"l":[{"a":12,"á":12,"e":[{"k":[{"t":58}],"l":6,"m":[{"b":12,"r":58}],"s":[{"z":12}]}],"i":[{"n":12}],"o":12}],"m":[{"e":[{"l":86}],"l":86}],"r":[{"ő":58}],"s":[{"é":58}],"z":[{"ü":58}]},53],"é":[{"h":[{"s":86}],"p":[{"í":6}],"r":[{".":86,"t":[{"e":86,"é":86,"ő":86}],"z":86}],"v":[{"e":[{"i":47}]}]},53],"f":[{"r":[{"e":6}]}],"h":[{"a":[{"u":11}]}],"i":[{"a":[{"n":11,"v":6}],"d":[{"a":[{"l":13}],"á":[{"s":6},47],"e":62,"é":47,"g":[{"á":47}],"i":13,"j":[{"á":47,"é":47}],"l":47,"m":47,"o":[{"l":6}],"ö":6,"ő":[{"z":9},62],"r":[{"o":19,"ó":47}],"s":47,"u":47,"v":47,"z":62}],"e":[{"l":6}],"g":[{"a":58,"é":[{"n":[{"n":7}]}]}],"l":[{"c":47,"l":86}],"n":[{"a":[{"n":12},10],"d":86,"e":[{"t":12},10],"i":13,"ö":6}],"o":[{"n":6}],"ó":[{"c":6,"e":6,"g":6,"m":[{"é":6}],"o":6,"ö":6,"p":6,"r":[{"á":11}]}],"r":[{"á":58,"o":58}],"s":[{"a":[{"d":6,"l":6}],"e":[{"l":12,"s":12},10],"k":[{"á":19}],"p":9,"s":20,"ü":12}],"t":[{"e":[{"g":13,"r":13}],"é":12,"i":13,"ü":13}]},53],"í":[{"j":[{"a":6,"á":6,"o":6,"u":6}],"r":[{"á":54,"ó":6}],"v":[{"n":86,"ü":58,"v":86}]},53],"o":[{"l":[{"d":86}],"n":[{"a":[{"i":12,"l":12}],"e":12}],"p":[{"e":6,"l":19}],"s":[{"z":86}]},53],"ó":53,"ö":[{"d":[{"é":6}],"r":[{"ö":6}],"z":[{"ö":6}]},53],"ő":[{"s":[{"é":6}]},53],"p":[{"l":[{"a":6}],"o":[{"r":[{"t":[{"a":17,"á":[{"r":17}],"e":17,"é":[{"r":[{"d":30}]}],"ü":17}]}]}],"r":[{"i":6,"o":54,"ó":54}]}],"s":[{"k":[{"á":6}],"p":[{"e":6}],"t":[{"a":6,"r":11}]}],"t":[{"e":[{"d":51}],"i":[{"l":[{"a":11,"á":11,"e":[{"g":11}],"i":[{"n":11,"s":11}],"o":14}]}],"ö":[{"r":[{"t":5}]}]}],"u":[{"s":[{"a":[{"d":6,"l":6,"n":13}],"e":12,"é":[{"r":[{"t":[{"é":12}]}]}],"i":[{"l":6,"m":6,"n":6,"t":6},10],"o":[{"l":12}],"ó":13,"ö":13,"s":20,"t":[{"r":9},10],"u":[{"s":6}],"ú":[{"t":12},10],"ü":6,"ű":12,"z":21}],"t":[{"a":6}]},53],"ú":53,"ü":[{"l":[{"é":6}],"v":[{"e":6}],"z":[{"e":6}]},53],"ű":53}],"y":[{".":47,"a":[{"a":[{"d":11}],"b":[{"l":[{"a":48}],"o":[{"n":54}],"r":[{"a":48,"i":5}],"s":48}],"c":[{"é":[{"l":[{".":6}]}]}],"d":[{"a":[{"k":[{"o":6}],"l":[{"é":6}],"p":48,"t":[{"a":54,"b":54,"i":6,"o":54,"u":6}]}],"é":[{"k":[{"i":10}],"s":12,"v":6}],"m":[{"i":48}],"ó":[{"a":[{"n":6}],"b":[{"ó":6}],"é":6,"i":54,"j":54,"k":[{"é":6,"t":6}],"m":54,"n":[{"á":6}],"r":54,"s":54,"u":54}]}],"e":[{"r":[{"o":6},11],"t":11}],"é":[{"r":11}],"f":[{"f":48,"r":19}],"g":[{"a":[{"d":13,"g":12,"m":12,"n":[{"c":48},6],"s":13,"t":[{"l":12,"o":12}],"u":6,"z":[{"o":9},10]}],"á":[{"l":[{"l":12}],"r":[{"á":9,"b":9,"é":8,"h":9,"i":9,"j":9,"k":9,"o":8,"r":[{"a":[{".":9}]}],"s":9,"t":9}],"s":6,"t":[{"a":122,"f":12,"l":12,"r":12}]}],"d":8,"e":[{"c":6,"l":12,"s":12}],"é":[{"g":13,"k":6}],"g":[{"r":48,"y":[{"ú":20}]}],"i":[{"d":6,"m":6,"o":12,"s":[{"z":9}],"z":6}],"í":6,"o":[{"s":[{"z":12}]}],"ó":[{"r":13}],"ő":6,"s":9,"u":[{"r":6,"t":12}],"y":[{".":48,"a":[{"t":54}],"b":48,"f":48,"k":48,"o":[{"n":54}],"r":48}]}],"j":[{"a":[{"k":54}],"á":[{"n":54}],"k":48,"t":48}],"k":[{"a":[{"d":[{"á":48}]}],"á":[{"l":[{"l":12}],"t":[{"k":12,"m":12}]}],"e":[{"l":[{"m":9,"t":9}]}],"é":[{"k":[{"n":9}],"r":[{".":12,"i":12}]}],"i":[{"z":[{"o":8}]}],"l":[{"u":5}],"n":[{"a":[{".":48}],"á":[{"k":48}],"é":5}],"o":[{"l":[{".":54,"a":12,"d":12}]}],"ó":[{"n":12,"s":54}],"ö":[{"r":[{"v":12}]}],"r":[{"é":[{"m":19}],"i":5,"í":5}],"t":[{".":48,"á":[{"k":48}],"b":48,"i":[{"v":48}],"j":48,"o":[{"t":48}],"u":48}]}],"l":[{"a":[{"g":[{"ú":30,"y":12}],"j":[{"k":9}],"k":[{"b":6,"j":54,"k":54,"o":[{"k":54,"m":54,"t":54}],"t":6,"u":6,"z":48}],"l":13,"n":[{"y":48}],"p":[{"a":6,"í":54,"j":[{"á":6}],"ú":54}],"t":[{"e":10}]}],"á":[{"g":[{"a":9}],"l":12,"s":[{"s":7}],"t":[{"é":48}]}],"é":[{"n":[{"e":13}]}],"i":[{"f":6,"k":[{"o":8}],"n":[{"v":12}]}],"j":[{"a":[{"i":48}],"i":48}],"o":[{"r":6}],"ó":[{"k":[{"é":[{"s":[{"z":65}]}]}],"r":[{"á":12}]}],"ő":13,"t":[{"a":0,"r":8,"ú":48}],"ü":6,"ű":6}],"m":[{"a":[{"l":[{"g":48}],"n":[{"y":12}],"r":[{"á":[{"r":8}]}],"t":[{"a":[{"l":10}]}]}],"á":[{"r":[{"b":12,"n":12}],"s":[{"z":[{"á":[{"s":65}]}]}],"t":[{"o":13}]}],"b":8,"e":[{"m":[{"b":9}],"s":[{"é":[{"s":9}]}]}],"i":[{"k":[{"o":12},10],"n":[{"d":6}],"o":13,"s":12}],"o":[{"s":[{"z":12}]}],"ó":[{"r":13}],"ö":6,"ő":6,"ü":6}],"n":[{"a":[{"l":54,"n":6,"r":[{"r":9},6],"t":[{"t":9},6]}],"e":[{".":21,"g":13,"k":6,"r":6,"t":12,"z":6}],"é":[{"m":54}],"g":48,"i":[{"d":6,"n":12,"s":12,"t":6,"z":54}],"n":[{"y":48}],"o":[{"d":[{"a":9},10],"n":[{"n":9}]}],"ő":[{".":6}],"y":[{"a":[{"s":6}],"j":48,"ó":54,"u":[{"k":54}]}]}],"ó":[{"r":11}],"p":[{"a":[{".":54,"i":54,"s":54}],"á":[{"b":54,"d":54,"é":54,"i":54,"k":54,"m":54,"r":[{"a":54,"ó":54}],"t":[{".":54,"o":54,"ó":54}],"v":54}],"i":[{".":54}],"j":[{"á":[{"h":48,"i":48}],"u":48}],"l":19,"o":[{"s":[{"t":6}],"t":[{"á":10}]}],"ó":[{".":54,"é":54,"h":54,"i":54,"j":54,"k":[{"é":6}],"n":[{"a":6}],"s":54,"t":[{".":6,"ó":6}],"v":54}],"p":48,"r":[{"e":5,"i":19,"í":48,"o":5}]}],"r":[{"a":[{"d":[{"á":13,"ó":13,"u":13}],"s":[{"z":6}]}],"á":[{"n":[{"n":6,"y":54}],"t":[{"v":12}]}],"c":[{".":48,"a":48,"á":48,"b":48,"c":48,"h":48,"k":48,"n":48,"o":48,"r":48,"u":48,"ú":48}],"d":[{".":53,"n":53,"o":[{"m":71,"s":53}],"r":[{"á":9}]}],"e":[{"l":[{"l":9}]}],"o":[{"m":[{"a":6}],"r":6}],"ó":[{"r":[{"á":8}],"v":[{"á":9}],"z":6}],"s":8}],"s":[{"a":[{"l":[{"j":9}],"p":6,"s":12}],"á":[{"g":[{"g":7}]}],"l":5,"n":[{"e":5}],"p":[{"i":19,"o":19}],"r":[{"á":19}],"t":[{"a":19,"o":5,"r":5},10],"v":[{"i":5}],"z":[{"t":[{"á":[{"r":10}]}]}]}],"t":[{"á":[{"d":54}],"é":[{"k":[{"á":[{"t":[{"a":168}]}]}]}],"k":[{"a":[{".":48}],"á":48}],"o":[{"m":[{"h":6,"m":54,"o":54}]}],"r":[{"á":[{"g":11}],"é":5,"ó":[{"f":5}]}],"t":[{"r":48}],"y":54}],"u":[{"k":54,"l":[{"á":54}],"t":[{"á":11,"o":54,"ó":[{"i":[{"k":[{"o":26}]}]},48]}]}],"ü":[{"t":11,"z":11}],"v":[{"a":[{"t":54}]}],"z":[{"o":[{"n":54}],"ú":[{"r":54}]}]}],"á":[{"b":[{"é":54,"r":48}],"g":[{"a":6,"á":6,"é":6,"i":6,"o":6,"u":6,"ú":6,"y":6}],"j":[{"a":[{"l":6}],"e":12,"ö":12,"ő":6}],"k":[{"a":[{"n":12},10],"á":12,"e":12,"ü":6}],"l":[{"a":[{"s":[{"s":38}]}],"á":[{"l":6}],"d":[{"o":48}],"e":12,"l":[{"a":[{"m":48,"t":48}],"á":[{"s":48}],"í":48,"o":48,"ó":48,"v":48}],"ü":6}],"m":[{"a":[{"l":12,"n":12,"p":12,"s":12},10],"i":[{"n":12},10],"ü":6}],"n":[{"e":12,"é":[{"k":6}],"n":20,"ö":6,"t":[{"r":9},10],"ü":6,"y":42}],"p":[{"o":54}],"r":[{"a":[{"l":13,"m":[{"l":54,"o":54}],"n":[{"y":9},10],"p":6,"r":6,"s":[{"s":12}],"v":12,"z":[{"á":48,"o":9},6]}],"á":[{"l":12}],"b":[{"e":[{"v":48}]}],"d":8,"e":[{"m":48},13],"é":[{"j":6}],"i":[{"á":54,"m":6,"s":12}],"n":[{"y":[{"a":48}]}],"ó":[{"r":6},10],"ö":6,"ő":6,"p":[{"á":48}],"s":[{"é":11}],"t":[{".":0,"á":[{"m":48}],"r":9}],"u":[{"h":54,"r":48}],"ú":[{".":48},31],"ü":6,"v":[{"a":48,"e":[{"r":48}]}]}],"s":[{"a":[{"l":6,"s":6}],"á":[{"g":13,"r":[{"á":13,"t":12}],"s":54}],"e":6,"k":[{"á":32}],"ó":54,"ö":6,"z":[{"a":[{"b":6,"g":6,"l":6,"s":6}],"á":[{"l":24}],"e":[{"l":3,"m":3,"n":20},6],"é":[{"t":6,"v":6}],"i":[{"m":6,"n":6,"s":6,"t":6}],"ó":[{"d":15,"r":15}],"ö":23,"ő":6,"ü":23}]}],"t":[{"a":[{"l":8},54],"á":54,"b":48,"e":152,"é":54,"f":48,"h":48,"i":152,"k":48,"l":[{"a":[{"g":48}],"á":48,"é":48}],"m":48,"n":48,"ö":92,"p":48,"r":48,"s":48,"t":48,"ü":54,"v":48}]}],"b":[{"e":[{"á":10}],"l":[{"a":6,"e":6,"é":6,"i":6,"o":6,"ú":6}],"r":[{"a":6,"i":6,"o":6,"ó":6}]}],"c":[{"s":[{"a":[{"p":[{"á":[{"g":17}]}]}],"ő":[{"é":32}]}],"v":[{"i":6}]}],"d":[{"b":[{"e":6}],"e":[{"s":[{"d":0}]}],"n":[{"i":6}],"r":[{"a":54,"á":54,"o":6,"ó":6,"u":54}]}],"e":[{"a":[{"v":11}],"á":[{"r":11}],"b":[{"l":5}],"c":[{"s":[{"e":[{"t":48}]}]}],"d":[{"á":12,"e":[{"g":6,"s":[{"z":12}]}],"o":[{"l":6}],"ó":13,"u":13,"ú":12,"ü":[{"l":[{"ő":13}]}],"v":[{"é":[{"r":11}]}]}],"e":[{"s":11}],"f":[{"f":48}],"g":[{"a":[{"l":[{"a":12}],"n":6,"z":12},10],"á":13,"e":[{"l":12,"r":[{"e":[{"d":8}]}]}],"é":[{"l":12,"r":[{"b":[{"e":9}],"r":48}],"s":[{"z":[{"n":9},22]}]}],"g":39,"i":[{"d":6}],"í":6,"ú":6,"ü":[{"g":12}],"y":[{"e":[{"d":6,"n":54,"s":54,"t":6,"z":6}],"é":54,"h":48,"l":48,"s":48,"ü":48,"v":48}]}],"i":[{"g":11}],"j":[{"t":48}],"k":[{"e":[{".":54,"i":54,"k":54}],"é":[{"é":54,"j":6,"s":[{".":54,"e":54}]}],"r":[{"é":19}]}],"l":[{"a":[{"d":48}],"á":[{"g":54,"l":6}],"c":48,"e":[{"f":54,"g":[{"e":6}],"h":13,"m":[{"e":[{"k":6,"z":54}],"ű":54}],"r":[{"e":152}]}],"é":[{"g":[{"t":6}],"k":[{"é":13}],"r":[{".":12}],"s":[{"s":38,"z":29}]}],"h":[{"a":[{"l":48}],"e":[{"l":48}],"ú":48}],"i":[{"n":92,"v":6}],"í":152,"j":[{"á":48}],"k":[{"a":48}],"n":[{"e":[{"v":48}],"ö":48,"y":48}],"o":[{"s":6}],"ö":54,"ő":[{"a":[{"d":54}],"í":54,"t":[{"t":6}],"z":54}],"s":[{"a":48,"ő":48}],"t":[{"é":[{"r":48}],"o":48,"ö":48}],"v":[{"a":[{"d":11}],"á":[{"l":[{"l":14}],"s":11}],"e":[{"g":14,"r":2,"s":[{"s":[{"z":11}],"z":[{"e":3},32]}],"v":[{"é":48}]}],"é":[{"d":11,"g":14,"l":11,"r":[{"z":14}]}],"í":14,"o":[{"l":11}]}]}],"m":[{"a":[{"k":6,"l":13,"p":6,"r":10,"t":12}],"á":[{"l":6}],"b":[{"e":[{"r":48}]}],"e":[{"l":[{"é":54,"k":48}],"r":12}],"é":[{"s":54}],"i":[{"n":[{"g":9}],"s":12,"t":[{"a":9},6],"z":6},10],"l":[{"é":[{"k":48}],"í":48,"ő":48}],"o":[{"s":[{"t":9}]}],"ö":12,"p":8,"u":[{"s":[{"z":9},10]}]}],"n":[{"á":13,"c":[{"s":[{"a":11,"e":[{"r":4}]}]}],"e":[{"l":[{"j":12,"n":12,"v":12}],"r":54,"s":[{"s":38}]}],"é":[{"l":13}],"f":[{"é":[{"l":[{"é":[{"v":64}]}]}]}],"i":[{"d":6,"p":13}],"k":8,"o":12,"ü":[{"g":12}],"y":[{"á":32}],"z":48}],"p":[{"a":[{"g":6,"l":[{"o":9}],"r":[{"á":12}]}],"á":[{"l":[{"l":12}],"t":6}],"e":[{"l":13}],"é":[{"k":13}],"i":[{"k":54,"z":48}],"o":[{"s":6}],"p":[{"e":[{"r":2}]}],"r":[{"o":5}],"t":8}],"r":[{"d":[{"e":48}],"e":[{"g":[{"a":10,"e":[{"t":[{"e":10}]}],"g":7}],"j":54,"k":[{"a":30,"á":10,"e":[{"s":[{"z":17}]}],"o":10,"ö":17}]}],"é":[{"n":[{"y":54}]}],"k":[{"é":48,"ö":48}],"n":[{"y":48}],"o":54,"ő":[{"é":[{"r":6}],"i":[{"g":6}],"n":[{"é":6}],"r":[{"ő":6}],"s":[{"í":6,"s":6}],"v":[{"á":6}]}],"s":[{"a":14,"z":[{"é":48}]}]}],"s":[{"á":6,"e":[{"g":[{"é":9,"y":9}],"j":12,"k":[{"é":[{"t":[{"ő":8}]}]}],"m":[{"é":[{"n":48}]}],"r":12,"t":[{"b":54,"é":54,"i":54,"k":54,"r":54,"ű":54}]}],"é":[{"l":48}],"i":[{"p":6}],"í":[{"r":13}],"ő":[{"á":48,"b":[{"e":6}],"h":54,"j":[{"e":6}],"k":[{".":6,"h":6,"r":6}],"n":54,"r":54,"s":54,"v":[{"é":6}]}],"p":[{"e":19}],"t":[{"a":2,"é":[{"s":48,"v":48}],"j":[{"ü":48}],"ő":[{"r":11}],"ű":48}],"z":[{"k":48,"m":48,"t":[{"é":[{"t":48}]}],"ű":54}]}],"t":[{"a":[{"l":54}],"e":[{"g":[{"é":[{"r":[{".":7}]}]}],"t":54}],"é":[{"r":[{"t":12}]}],"i":[{"k":54}],"n":48,"ű":[{"d":54}]}],"v":[{"e":[{"t":6,"z":[{"ő":6}]}],"é":54,"o":[{"l":54}],"ő":54}],"z":[{"e":[{"r":54,"t":[{"é":[{"k":30}]}]}],"ő":[{"a":32}]}]}],"é":[{"b":[{"á":12,"é":[{"r":[{".":12}]}],"i":13,"ü":6}],"d":[{"e":[{"s":6}]}],"g":[{"b":48,"e":54,"é":54,"i":54,"ő":54,"t":48}],"h":[{"e":[{".":54,"n":54,"s":54,"t":54}],"s":48}],"j":[{".":48,"b":48,"e":[{"i":6,"n":6}],"é":[{"r":[{"t":6}]}],"i":54,"j":48,"s":48,"t":48}],"k":[{"a":[{"b":6,"d":6,"k":[{"a":12}],"l":13,"t":54}],"e":[{"l":12,"r":6}],"é":[{"k":13,"l":13,"r":[{".":12}]}],"i":[{"k":6}],"ó":13,"ö":12,"ő":6,"ú":[{"r":6}]}],"l":[{"á":12,"e":[{".":6,"s":6,"t":54}],"é":[{"n":54,"t":6}],"i":[{"m":6}],"l":20,"ő":[{"s":6}],"s":[{"p":48}],"ű":54}],"n":[{"á":[{"r":12},10],"e":[{"k":[{"e":[{".":8}]}],"l":6}],"i":[{"k":[{"r":12}]}],"o":6}],"p":[{"í":6,"ü":6}],"r":[{"a":[{"j":12,"k":12,"l":6,"n":12,"r":6},10],"á":13,"c":[{"h":48}],"d":[{"e":[{"k":48}]},8],"e":[{"g":6,"l":13,"m":[{".":48,"e":9},6],"n":[{"c":12}],"s":[{"ő":9}],"t":54,"v":6,"z":54}],"é":[{"s":54}],"i":[{"l":6,"n":54}],"m":[{"ü":48}],"o":[{"s":[{"z":12}]}],"ó":[{"r":12},10],"ő":[{".":54,"i":54,"k":54,"t":54}],"p":[{"a":48}],"t":[{"é":[{"k":48}]}],"u":[{"t":6},10],"v":[{".":48,"é":[{"n":48}],"v":48}],"z":[{"e":[{"t":48}],"é":48,"ő":48}]}],"s":[{"z":[{"á":24,"e":[{"m":[{"b":24}]}],"o":24,"ú":24}]}],"t":[{"a":12,"e":[{"l":54,"r":54}],"é":[{"n":6}],"k":[{"e":48}],"l":48}],"v":[{".":48,"a":[{"d":48}],"b":48,"e":[{".":54,"k":54,"m":54,"n":54,"s":54,"t":54,"z":48}],"é":[{"b":54,"n":54,"r":54,"t":54,"v":54}],"f":48,"h":48,"i":54,"k":48,"m":48,"n":48,"r":48,"s":48,"t":48,"ü":54,"ű":54,"v":48}]}],"f":[{"a":[{"s":10}],"é":[{"l":[{"á":11}]}],"g":[{"l":5}],"l":[{"a":6,"e":6,"i":6,"o":6,"ó":6}],"ö":[{"l":[{".":0}]}],"ő":[{"s":[{"ö":19}]}],"r":[{"a":54,"i":6,"í":6,"o":54,"ö":6}]}],"g":[{"l":[{"e":6,"ó":6}],"ó":[{"g":8,"t":10}],"r":[{"a":6,"á":6,"i":6,"ó":6,"u":6,"ü":6}]}],"h":[{"a":[{"d":[{"ó":51}],"p":8,"t":[{"r":8}]}],"á":[{"z":[{"a":[{"l":11}]}]}],"e":[{"l":[{"v":52}]}]}],"i":[{"b":[{"o":54}],"d":[{"e":[{"á":54,"g":54,"n":54,"o":54}],"é":54,"o":[{"m":54}],"ő":54}],"g":[{"a":54,"á":54,"é":[{"z":54}],"m":48}],"h":[{"a":[{"r":54,"t":6}],"l":48}],"k":[{"e":[{"r":54}],"é":[{"r":[{"n":12}]}],"o":[{"n":[{"t":6}]}],"r":[{"i":19}]}],"m":[{"a":[{".":54}],"á":54,"i":[{"t":54}],"p":48}],"n":[{"a":[{"s":54}],"c":48,"d":48,"f":48,"g":[{"a":48}],"i":[{"c":6}],"j":48,"s":48,"v":48}],"o":[{"n":[{"o":6}]}],"p":[{"a":[{"r":6}]}],"r":[{"a":[{"m":54,"t":[{".":54,"a":54,"é":30,"n":54,"o":54,"t":6}]}],"á":54,"i":54,"o":[{"d":54}],"r":48,"t":48}],"s":[{"h":48,"k":[{"o":48}],"m":48,"p":48,"t":48,"z":[{"a":54,"e":[{"l":6}],"o":[{"n":6}]}]}],"t":[{"a":[{"l":54,"t":54}]}],"v":[{"a":[{"r":54}],"á":[{"s":54}],"ó":54}],"z":[{"é":54,"g":48,"m":48,"o":[{"m":6}]}]}],"í":[{"g":[{"é":6}],"j":[{"a":6,"á":6,"u":6}],"k":[{"a":6,"á":6,"e":6,"í":6,"o":[{"l":6}],"ö":12}],"l":[{"a":6,"e":13,"í":6,"ö":6}],"r":[{"a":[{"l":6}],"á":[{"b":6,"s":[{"z":8}]}],"o":[{"g":6}],"ő":6}],"t":[{"ő":[{"a":32}]}],"v":[{"á":6,"e":6,"é":6,"ó":6,"ü":6,"ű":6}],"z":[{"ü":6,"ű":6}]}],"j":[{"e":[{"g":[{"y":[{"á":18}]}]}],"é":[{"v":0}],"o":[{"b":[{"b":[{"o":30}]}]}]}],"k":[{"a":[{"i":10,"k":8,"r":[{"ó":[{"r":[{"a":73}]}]}]}],"b":[{"ó":6}],"e":[{"l":[{"e":[{"m":51}]}]}],"é":[{"j":[{"é":[{"v":19}]}],"p":[{"e":[{"l":14}]}]}],"h":[{"o":6}],"i":[{"á":10,"e":10,"z":[{"m":5}]}],"k":[{"a":6}],"l":[{"a":6,"e":6,"i":6,"í":6,"ó":6,"u":6}],"n":[{"á":6}],"ó":[{"r":[{"o":32}]}],"r":[{"a":6,"á":54,"i":54,"í":6,"o":6,"ó":6}],"v":[{"ó":6}]}],"l":[{"a":[{"l":[{"t":[{"a":10}]}],"t":[{"a":[{"n":2}],"é":[{"t":2}]}]}],"e":[{"i":10,"í":10,"t":[{"a":[{"l":11}],"á":11}]}],"ó":[{"á":10,"t":10}]}],"m":[{"a":[{"d":8,"t":[{".":0}]}],"á":[{"s":[{"i":[{"k":14}]}]}],"e":[{"g":[{"é":14}]}],"m":[{"a":6}]}],"n":[{"é":[{"v":[{"é":[{"r":11}]}]}],"k":[{"a":6,"r":11}],"ő":[{"é":[{"n":10}],"i":[{"é":11}]}]}],"o":[{"b":[{"e":6,"j":48}],"d":[{"ú":54}],"g":[{"a":[{"l":6}],"á":[{"l":6,"r":12}],"e":6,"g":20,"i":[{"t":6,"v":12},10],"í":6,"o":[{"s":[{"z":12}]}],"ö":6,"ü":6,"ű":6}],"k":[{"a":[{"l":92},10],"á":54,"i":[{"r":92}],"m":48,"o":[{"l":54,"s":54,"z":54}],"t":[{"a":48}]}],"l":[{"a":[{"l":13,"n":[{"y":9},10]}],"á":[{"r":[{"i":12}]}],"c":[{"e":[{"m":11}],"i":[{"k":11},32]}],"d":[{"á":48,"ó":48}],"i":[{"m":54}],"t":[{"á":[{"s":48}],"e":[{"r":11}]}],"ú":6,"ü":6,"v":[{"í":32}]}],"m":[{"a":[{"l":13,"n":[{"y":12},10],"s":[{"z":[{"ó":12}]},10],"z":6}],"á":[{"l":12,"r":[{"k":12}],"t":[{"o":13}],"z":13}],"e":12,"i":[{"k":12,"l":6,"s":12}],"í":6,"o":[{"l":12}],"ö":6,"ő":6,"p":8}],"n":[{"a":[{"d":13,"g":6,"j":6,"k":[{"a":8}],"l":13,"m":12,"n":13,"p":6,"r":13,"s":13,"t":13,"u":12}],"á":[{"l":12,"t":[{"a":123,"é":12,"j":12,"k":9,"r":12,"s":12,"v":12}],"z":13}],"d":8,"e":13,"é":[{"d":6,"h":6,"k":6,"n":6}],"f":8,"i":[{"m":6,"s":12,"t":[{"t":9}],"z":6}],"í":6,"k":8,"n":20,"o":[{"l":12,"p":6,"s":[{"z":12}]}],"ö":6,"ő":13,"s":8,"t":[{"r":9},10],"ü":12}],"p":[{"e":54,"t":48}],"r":[{"a":[{"d":6,"k":13,"p":13}],"d":48,"g":[{"i":48}],"r":[{"ú":48}],"s":[{"o":[{"l":11}],"ó":48,"s":27}]}],"s":[{"e":6,"s":20,"t":[{"o":48}],"z":[{"l":48,"s":20,"t":48}]}],"u":[{"t":6}],"v":[{"e":6}],"x":[{"i":6}]}],"ó":[{"á":[{"g":11,"r":11}],"c":[{"s":[{"a":[{"p":[{"á":64}]}]}]}],"d":[{"á":[{"k":6,"r":54,"s":[{"a":[{"k":54}]}]}]}],"f":[{"l":19}],"g":[{"r":19,"y":[{"á":[{"r":6}],"i":6,"ú":6}]}],"í":[{"v":11}],"o":[{"k":11}],"ó":[{"r":11}],"p":[{"r":19}],"r":[{"a":[{"c":54,"d":54,"g":6,"i":6,"s":54}],"á":[{"b":54,"d":54,"é":54,"h":54,"i":54,"j":54,"k":54,"m":54,"r":54,"s":54,"t":54,"v":54}],"i":54}],"s":[{"a":[{"j":12}],"c":[{"s":[{"a":26}]}],"í":[{"r":6}],"o":[{"l":12,"r":[{"r":12,"s":9}]}],"s":20,"ü":[{"l":10}],"ű":13}]}],"ö":[{"b":[{"ö":6,"ű":6}],"c":[{"s":6}],"d":[{"é":[{"m":6}]}],"k":[{"a":6,"á":6,"e":[{"l":6}],"é":[{"k":12}],"i":[{"d":6}],"í":6,"o":[{"s":9},6],"ó":6,"ö":[{"r":6,"s":[{"s":12}]}],"u":6}],"l":[{"ő":[{"k":6}],"t":[{"é":[{"s":48}]}]}],"m":[{"l":48}],"n":[{"á":54,"g":[{"y":[{"a":11,"á":11,"ó":11,"ö":[{"l":44}]}]}],"k":48,"t":[{"é":48}],"z":48}],"r":[{"a":6,"d":48,"i":[{"t":6}],"o":6,"u":6}],"s":[{"o":6,"s":[{"z":48}],"v":48,"z":[{"t":48}]}],"t":[{"l":48,"ö":[{"d":[{".":54,"e":54,"é":54}]}],"p":48,"t":48,"v":48}],"v":[{"e":6,"é":6,"i":6,"ö":54}],"z":[{"ö":[{"n":54}]}]}],"ő":[{"a":[{"n":11}],"b":[{"l":5}],"e":[{"l":11,"r":11}],"f":[{"r":5}],"p":[{"r":5}],"r":[{"a":6,"e":[{"i":54}],"g":48,"l":48,"p":48,"s":[{"z":[{"i":48}]}],"ü":[{"l":54}],"z":48}],"s":[{"e":[{"g":6}],"t":[{"r":5}],"z":[{"á":[{"r":[{".":21}]}],"s":20,"t":5},10]}],"z":[{"ő":[{"k":[{"é":[{"s":[{"z":65}]}]}]}]}]}],"p":[{"e":[{"n":[{"n":3}],"t":[{"e":11}]}],"l":[{"a":6,"e":6,"é":6,"u":6}],"o":[{"n":[{"t":[{"é":26}]}]}],"r":[{"a":6,"e":6,"é":6,"i":6,"í":6,"o":6,"ó":6,"ő":0,"u":6}],"s":[{"z":6}]}],"r":[{"á":[{"d":[{"i":[{"ó":[{"n":32}]}]}],"g":[{"á":[{"s":22}]}]}],"e":[{"a":10,"n":[{"d":[{"ő":17}]}],"u":10}]}],"s":[{"a":[{"v":[{"a":[{"n":11}]}]}],"á":[{"g":[{"g":3}]}],"c":[{"h":6}],"é":[{"g":[{"e":[{"l":2}],"é":[{"s":11}]}]}],"h":[{"o":6}],"k":[{"a":6,"á":6,"i":6}],"l":[{"a":6,"á":6,"e":6,"u":6}],"m":[{"i":6}],"n":[{"a":6,"i":6}],"p":[{"e":6,"i":6,"o":6,"ó":6,"r":11}],"r":[{"a":6,"á":6,"ő":6}],"s":[{"a":6,"á":6,"e":6}],"t":[{"í":54,"o":54,"ó":54,"r":76,"u":54,"ú":54,"ü":6}],"z":[{"a":[{"k":[{"ü":30}],"l":[{"ó":0}]}],"á":[{"l":[{"d":0}],"r":[{"a":[{"z":28}]}]}],"e":[{"r":[{"a":10,"v":[{"ó":64}]}]}],"f":76,"k":76,"l":76,"m":76,"ö":[{"g":[{"e":[{"l":30}]}]}],"p":76,"t":76,"v":76}]}],"t":[{"a":[{"c":[{"é":5},11],"n":[{"é":14,"ó":2}]}],"á":[{"l":[{"é":2,"l":[{"á":52,"ó":52}]}]}],"r":[{"a":[{"f":6,"n":6,"p":6}],"á":54,"e":54,"é":54,"i":54,"o":54,"ó":[{"n":6}],"ö":6}]}],"u":[{"d":[{"v":48}],"g":[{"á":12,"e":6,"r":48,"y":6}],"h":[{"u":6}],"j":[{"j":[{"a":[{"d":[{"a":2}]}]},48]}],"k":[{"a":[{"b":6,"r":6,"s":[{"z":[{"á":12}]}]}],"á":[{"c":12,"l":6,"s":[{"á":9},10]}],"e":12,"ö":12,"ő":6,"t":8,"ű":6}],"n":[{"d":48,"i":54,"o":54}],"r":[{"a":[{"d":6,"i":6,"k":6,"l":6,"m":6,"s":6,"t":6}],"á":[{"n":54,"v":54}],"n":48,"u":54}],"s":[{"á":[{"l":6}],"s":20,"z":[{"á":6,"o":54}]}],"t":[{"a":[{"k":6,"l":6,"m":6,"t":6,"z":6}],"á":[{"l":6}],"c":48,"ó":[{"d":6}],"u":54,"ú":54}]}],"ú":[{"b":[{"l":5,"r":5}],"g":[{"r":5}],"j":[{"d":48,"é":54,"í":54,"r":48,"s":48}],"k":[{"e":[{"l":6,"s":12,"t":6,"v":6}],"ó":6,"ö":[{"l":6}]}],"l":[{"a":[{"g":12,"j":6,"r":6}],"á":[{"r":13,"t":6}],"e":[{"g":12,"l":12,"t":13}],"i":[{"n":6,"s":12}],"t":[{"a":[{"g":11}]}],"ü":6,"ű":6}],"p":[{"l":5,"r":19}],"r":[{"b":48,"é":[{".":54,"l":48,"v":54}],"h":[{"o":48}],"i":54,"k":48,"n":[{"ő":48}],"r":48,"t":[{"ó":48}]}],"s":[{"t":[{"a":5}],"ü":6,"z":[{"t":48}]}],"t":[{"b":48,"é":[{".":6}],"h":48,"i":[{".":6,"g":6},10],"j":48,"k":48,"m":48,"n":48,"o":[{"n":54}],"p":48,"r":48,"s":48,"t":48,"v":48}]}],"ü":[{"d":[{"ü":6}],"g":[{"y":54}],"k":[{"é":[{"t":6}]}],"l":[{"á":6,"e":[{"d":6}],"t":[{"e":[{"t":[{"é":48}]}]}]}],"n":[{"n":48}],"r":[{"í":6,"ü":54}],"t":[{"e":54,"é":54,"k":48,"ő":54}],"v":[{"e":[{"g":54}],"ö":[{"l":6}]}],"z":[{"e":54,"é":54,"l":48}]}],"ű":[{"b":[{"l":5}],"é":[{"n":11}],"g":[{"ő":12}],"k":[{"l":5}],"p":[{"l":5}],"r":[{"b":48,"é":[{".":54,"b":6,"n":6}],"ö":[{"n":6}],"r":48}],"s":[{"á":6,"o":[{"r":[{"r":[{"a":[{".":12}]}]}]}],"s":9}],"z":[{"ő":[{"b":54,"e":[{"n":54}],"é":54,"h":54,"k":54,"n":54,"r":54,"t":54,"v":54}]}]}],"v":[{"a":[{"b":[{"r":52}],"d":[{"ó":51,"z":4}],"i":10,"k":[{"c":52}],"l":[{"b":52,"k":52}],"n":[{"k":52,"t":52,"y":[{"a":19}]}],"p":[{"o":52}],"r":[{"z":52}],"s":[{"u":2}],"t":[{"k":52}],"u":52,"z":[{"o":52}]}],"á":[{"b":[{"r":5}],"l":[{"l":[{"o":5,"v":5}]}],"r":[{"a":[{"i":19}],"á":[{"n":19}],"e":52,"j":52,"l":52,"o":[{"s":[{"i":[{"b":33}]}]}],"r":[{"e":5}],"u":51,"v":52}],"t":[{"a":52,"i":52,"t":52}]}],"b":[{"r":5}],"d":[{"r":5}],"e":[{"g":[{"y":[{"e":19,"s":5}]}],"k":[{"é":[{"b":19}]}],"l":[{"a":5,"á":51,"l":52,"o":52,"t":[{"i":52}]}],"m":[{"b":[{"e":[{"r":52}]}]}],"n":[{"n":27}],"p":51,"r":[{"a":14,"á":2,"e":[{"g":11}],"é":[{"s":[{"z":14}]}],"i":[{"p":11}],"o":14,"t":32}],"s":[{"s":[{"z":[{"é":52}]}]}],"v":[{"a":52,"é":51,"ő":[{".":19}]}],"x":52,"z":[{"é":[{"r":[{"e":[{"l":32}]}]}]}]}],"é":[{"d":[{"u":11}],"k":[{"í":5}],"l":[{"e":[{"t":19}],"m":52,"t":52}],"p":52,"r":[{"d":52,"i":51,"r":[{"ő":52}],"t":[{"é":52}],"ü":51,"z":[{"e":52}]}],"v":[{"e":[{".":51}]}]}],"f":[{"r":5}],"g":[{"r":5}],"i":[{"g":[{"a":[{"z":22}],"é":52}],"k":51,"l":[{"l":[{"e":52}]}],"m":52,"n":[{"d":5,"t":0}],"p":51,"s":[{"m":52,"t":52}]}],"í":[{"g":52,"n":52,"z":[{"i":[{"s":11}],"ü":11}]}],"k":[{"l":5,"r":5}],"o":[{"l":[{"d":52,"v":52}],"r":52,"s":52}],"ó":[{"r":19}],"ö":[{"s":[{"s":5}],"z":51}],"ő":[{"r":5}],"p":[{"r":5}],"s":[{"k":5,"l":5,"t":5,"z":42}],"t":[{"r":5}],"u":[{"b":52,"d":52,"r":52,"t":51}],"ú":[{"j":5,"t":5}],"ü":[{"g":52,"z":51}]}],"z":[{"a":[{"t":[{"a":[{"l":2}],"e":14,"é":[{"r":[{"d":14}]}]}]}],"á":[{"r":[{"ó":[{"r":[{"a":2}]}]}],"s":[{"s":27}]}],"e":[{"t":[{"a":2,"á":14,"é":[{"r":[{".":14,"ő":[{".":2}]}],"s":11,"t":[{"e":11}]}],"o":14,"ö":[{"l":14}]}]}],"é":[{"k":[{"e":[{"l":2}]}]}],"ő":[{"a":10}],"r":[{"í":6}]}]}],"z":[{".":47,"a":[{"b":[{"a":[{".":71}],"b":[{"i":[{"k":[{"o":2}]}]}],"i":[{"g":[{"a":13}]}],"r":[{"e":5,"i":5,"o":48}],"s":47}],"c":[{"e":6,"é":[{"g":12}],"h":[{"o":6}],"i":[{"k":[{"r":9}],"m":12,"p":[{"a":6}],"v":12}],"í":6,"k":8,"s":[{"t":20}]}],"d":[{"a":[{"d":6,"g":47,"l":[{"j":9}],"n":6,"t":[{"a":6,"o":58,"r":54}]}],"á":[{"s":[{"s":7}]}],"i":[{"a":10}],"í":[{"r":12}],"ó":[{"m":[{"e":6}],"z":6}],"r":[{"á":19}],"u":[{"t":12}],"z":[{"á":6}]}],"f":[{"l":5,"r":19}],"g":[{"a":[{"d":13,"k":6,"n":[{"y":9},31],"r":[{"a":6}],"t":13,"u":6}],"á":[{"g":6,"l":12,"r":[{"n":9,"t":9}],"z":12}],"e":[{"l":6}],"é":[{"s":6}],"g":[{"y":48}],"i":[{"n":6,"t":54},47],"o":[{"s":[{"z":12}]}],"r":[{"e":[{"n":26}]}],"ü":12,"y":[{".":48,"a":[{"k":54,"r":54}],"b":48}]}],"i":[{"j":[{"á":6}],"z":11}],"j":[{".":71,"a":[{".":71,"d":13,"n":6}],"á":[{"t":[{"v":12}],"v":71}],"e":[{"s":6}],"f":71,"i":[{"n":6}],"j":71,"k":[{"á":[{"r":[{"o":[{"k":32}]}]}]}],"o":[{"l":71,"r":12}],"t":[{"a":47,"ó":[{".":47,"k":48,"t":47}],"r":9}],"ú":71,"ü":13}],"k":[{"a":[{"d":[{"a":[{"t":[{".":13}]}]},47],"i":[{"k":[{"o":32}]}],"k":[{"a":12}],"l":[{"k":9,"v":12}],"n":[{"a":6,"t":12}],"r":[{"a":[{"t":48},6],"á":[{"s":54}],"ó":54,"v":48}],"t":[{"l":12}]}],"á":[{"p":13,"t":[{"a":12,"l":12}]}],"c":[{"i":[{"ó":48}]},47],"e":[{"g":13,"l":[{"e":12,"m":6,"n":12,"ő":12}],"t":6}],"é":[{"l":13}],"i":[{"n":[{"t":12}],"p":13,"r":[{"o":9}]}],"í":[{"r":12}],"k":8,"l":[{"u":5}],"n":[{"á":[{"k":86}]}],"o":[{"s":[{"z":[{"t":9}]}],"v":13}],"ő":[{"s":6}],"r":[{"í":5}],"t":[{"á":47,"i":47,"í":[{"v":48}],"ú":47}],"u":[{"p":15,"r":[{"a":9,"á":12},10]}],"ü":10,"v":[{"ó":5}]}],"l":[{"a":[{"c":[{"é":9}],"g":[{"á":10,"g":7}],"k":[{"í":47,"j":6,"u":6}],"n":[{"y":9},10],"p":[{"b":54,"j":6}]}],"á":[{"t":[{"k":9}]}],"e":[{"l":[{"e":9,"l":9,"ő":9},10],"m":13}],"g":[{"á":48,"e":48}],"i":[{"d":6}],"k":[{"a":[{"l":48,"t":48}],"o":[{"t":48}]}],"m":[{"á":[{"s":47}]}],"ó":[{"l":6}],"t":[{"a":[{"n":32}],"e":[{"l":11,"m":11}],"i":48}]}],"m":[{"a":[{"d":13,"j":12,"l":[{"a":9}],"p":13,"t":[{"ő":17}],"z":6}],"b":[{"u":86}],"e":[{"m":6}],"i":[{"n":[{"g":9}],"s":12}],"í":6,"o":[{"s":[{"z":12}]}],"ü":6}],"n":[{"a":[{"l":54}],"e":[{"k":54}],"g":[{"y":48},47],"k":[{"é":[{"t":86}]}],"t":[{"e":[{"s":11}],"i":[{"l":48}]}],"y":[{"a":[{".":6,"g":54}],"ó":54}]}],"o":[{"k":11,"s":11}],"ó":[{"h":11,"v":11}],"p":[{"a":[{".":54,"d":6,"g":13,"i":54}],"á":[{"g":12,"n":54,"r":[{"a":12}],"t":54,"v":54}],"e":[{"l":[{"e":9},10],"m":6,"s":6}],"í":6,"l":[{"á":[{"n":19}]}],"ó":[{".":54,"é":54,"k":54}],"p":[{"a":[{"n":[{"e":32}]}]},68],"r":[{"o":[{"f":20}]}],"s":8}],"r":[{"a":[{"d":[{"á":13}],"n":[{"y":[{"a":8}]},6],"p":[{"a":9}],"r":6}],"á":[{"i":54,"l":12,"n":[{"y":54}],"r":54}],"c":[{".":48,"a":48,"á":48,"h":48,"i":48,"k":48,"o":48,"ú":48},47],"e":[{"t":[{"e":12},10],"v":6}],"é":[{"n":[{"a":6,"á":6}]}],"m":47,"ö":[{"n":12}],"ü":12,"v":[{"á":[{"g":11}]}],"z":47}],"s":[{"e":[{"m":6}],"k":[{"á":19,"o":19}],"l":[{"i":19}],"p":[{"ó":19,"r":5}]}],"t":[{"a":[{"b":12,"d":13,"j":12,"l":[{"a":[{"p":9}],"j":9}],"n":[{"a":9,"y":13}],"r":[{"á":9}],"t":[{"t":9}],"u":6,"z":6}],"á":[{"l":[{"l":12,"o":9}],"p":[{"o":9},10],"r":[{"a":[{"d":12}],"é":12,"u":13}]}],"e":[{"l":[{"é":12,"k":9}],"r":[{"é":13,"k":12}]}],"é":[{"g":13,"l":6}],"i":[{"k":[{"o":8}],"m":6,"n":[{"d":12,"g":12,"s":6,"t":12}],"s":[{"t":12}],"z":6}],"k":[{"a":[{".":86}]},8],"l":[{"a":[{"s":48}]}],"m":[{"o":[{"s":[{"z":33},7]}]}],"o":[{"k":[{"o":[{"s":12}]}],"l":[{"d":[{"a":9}]}],"m":[{"j":47,"l":9}],"s":[{"z":12}]}],"ö":[{"k":6,"n":12}],"r":[{"o":[{"k":11,"m":5}]}],"t":[{"r":9},10],"u":[{"r":[{"a":6}]}],"ü":[{"l":6,"r":6}],"y":[{"a":6,"á":6},47]}],"u":[{"l":[{"a":6,"á":6}],"r":[{"á":6}],"t":[{"a":[{"k":11}],"o":54,"ó":48}]}],"ü":[{"t":11,"z":11}],"v":[{"a":[{"r":[{"á":25,"b":71}],"t":47}]}],"z":[{".":48,"h":48,"o":54}]},53],"á":[{"b":[{"r":86}],"d":[{"e":6}],"g":[{"a":[{"d":8,"k":[{".":6,"o":6}],"l":12,"s":54,"t":54,"z":[{"o":9},6]}],"á":[{"l":12,"r":[{"a":[{"k":13}],"u":12}]}],"e":12,"é":[{"p":6}],"o":[{"l":[{"t":[{"a":6}]}]}],"ó":[{"i":54}],"ú":[{"t":[{".":12}]}],"ü":6,"y":[{".":48,"a":[{"d":[{"a":15}]},54],"b":48,"h":48,"n":48,"r":48,"u":54}]}],"í":[{"r":11}],"j":[{"é":[{"k":12}],"í":6,"o":[{"l":12}],"ö":[{"s":12}],"ő":6,"ü":6,"ű":6}],"k":[{"i":[{"n":6}],"ö":[{"v":13}]}],"l":[{"a":[{"n":[{"y":12},10],"p":[{"r":9}],"r":48,"s":[{"s":[{"z":9}]}]}],"c":[{"a":48,"á":48}],"d":[{"á":48}],"e":[{"g":13,"l":13,"m":12}],"i":[{"b":6,"d":6,"n":[{"g":9}],"r":6}],"l":[{"a":[{"m":48,"p":48}]}],"m":[{"a":48,"á":48,"o":48}],"o":[{"b":6,"d":[{"a":12},10],"s":6}],"ü":6,"y":[{"a":[{"l":23}]}]}],"m":[{"a":[{"c":6,"d":13,"j":12,"l":13,"n":[{"y":9}],"p":13,"r":[{"á":9},10],"z":6}],"á":[{"t":[{"l":12,"o":13}]}],"é":[{"l":6,"r":[{"ő":13}]}],"i":[{"k":12,"p":6,"r":6}],"o":[{"r":[{"m":9,"s":9}]}],"ó":6,"ö":6,"ő":6,"u":[{"t":12}],"ü":6,"ű":6}],"n":[{"a":[{"j":6,"s":12,"t":12}],"á":[{"t":12}],"e":[{"m":6}],"i":[{"s":6,"t":12}],"n":20,"o":[{"s":[{"z":12}]}],"s":[{"p":9}],"ü":6,"y":10}],"p":[{"a":[{"d":12,"g":12}],"o":[{"r":[{"z":[{"ó":12}]}]}],"r":19}],"r":[{"a":[{"d":[{"d":54,"o":[{"t":13}]}],"l":13,"m":[{"k":54,"l":54}],"n":[{"y":12},10],"p":12,"r":6,"t":[{"i":12,"o":13,"t":12}],"v":12}],"á":[{"l":12,"s":[{".":71,"a":71,"b":71,"i":71,"s":7,"z":13}]}],"b":[{"e":[{"v":48}]}],"d":[{"á":71,"e":[{"m":11}],"z":4}],"e":[{"m":163}],"é":[{"b":6}],"f":47,"i":[{"á":58,"d":6,"k":13,"m":6,"s":12,"z":12}],"k":[{"á":[{"k":71}],"ö":47},8],"l":[{"a":[{"t":71}]}],"n":[{"ö":47,"y":[{"á":[{"l":11}]},47]}],"o":[{"s":[{"z":12}]}],"ó":[{".":71,"a":71,"b":[{"o":12}],"d":71,"é":[{"v":9}],"r":[{"á":13}]}],"ő":6,"r":[{"é":47}],"s":[{"k":9},10],"t":[{"a":[{"n":[{"y":[{"á":3}]}]}],"e":[{"s":14}],"é":[{"r":32}],"r":[{"o":9}]}],"u":[{"g":6,"h":54,"j":48,"n":[{"k":[{"n":47,"r":47}]}]}],"ü":6,"v":[{"a":[{"h":48}]}]}],"s":[{"a":[{"d":13,"j":6,"l":6,"r":13,"t":12,"z":6}],"á":[{"g":13,"r":[{"a":[{"d":12}],"á":13,"é":13,"h":12,"n":12,"t":12}],"s":54}],"e":[{"p":6}],"i":[{"k":[{"o":[{"n":9}]}],"s":6}],"í":12,"o":[{"l":12}],"ó":[{".":54,"r":8,"v":48}],"u":[{"t":6}],"ü":6,"z":[{"a":[{"v":21}],"l":71,"s":[{"e":27}]}]}],"t":[{"a":[{"d":[{"ó":[{".":8,"k":8}]},48]}],"á":[{"r":10}],"b":47,"c":86,"d":48,"e":[{"m":8}],"é":[{"l":6}],"f":86,"h":[{"a":48,"e":48,"i":19},47],"i":152,"j":86,"m":86,"r":[{"a":5,"o":5}],"s":47,"v":86}],"z":[{"a":[{"l":[{"a":12}],"t":[{"o":12},10]}],"e":13,"é":[{"v":6}],"o":[{"l":12,"s":6}],"ó":[{"r":6},10],"ö":6,"s":[{"a":[{"j":6,"s":6}],"á":[{"l":6},145],"o":[{"l":6}]}]}]},53],"b":[{"a":[{"k":[{"i":11}]}],"e":[{"á":10}],"l":[{"e":6,"o":6,"ú":6}],"r":[{"i":6,"ó":6,"ú":6}]}],"c":[{"l":[{"u":6}],"s":[{"a":[{"p":[{"á":[{"g":17}]}]}]}]}],"d":[{"a":[{"p":8,"s":[{"s":52},10]}],"á":[{"l":[{"l":5}]}],"é":[{"s":[{"s":3}]}],"ő":[{"s":[{"p":8}]}],"r":[{"i":6}],"u":[{"r":19}]}],"e":[{"a":[{"d":11,"g":11,"k":11,"l":11,"s":11}],"á":[{"n":[{"s":[{"z":[{"e":10}]}]}],"r":11,"z":11}],"b":[{".":86,"e":[{".":6,"i":6,"k":6},47],"é":[{"d":54}],"f":48,"h":48,"k":48,"n":86,"r":[{"u":5}]}],"c":[{"e":[{"t":54},47],"h":54,"s":[{"e":[{"t":54}]}]}],"d":[{"á":[{"l":[{".":12,"j":12,"n":12,"t":12,"v":12}]}],"e":[{"r":[{"e":30}]}],"i":[{"l":6}],"ó":13,"z":58}],"e":[{"s":11}],"f":[{"f":48,"r":5}],"g":[{"a":[{"l":13,"p":6,"r":6}],"á":[{"l":12,"r":12}],"e":[{"g":12,"l":[{"l":9}],"p":6,"t":[{"t":[{"e":[{"b":43}]}]}]}],"é":[{"r":[{"r":9}],"s":[{"z":[{"b":9,"é":9},10]}]}],"i":[{"d":6,"l":6}],"o":[{"l":6}],"ú":6,"y":[{"e":[{"d":6,"l":23,"n":[{"e":6}],"z":6}],"l":48,"s":48}]}],"h":[{"e":[{"t":6}]}],"i":[{"a":6,"g":11,"s":11}],"í":[{"r":11}],"k":[{"c":[{"i":[{"ó":[{"s":[{"z":32}]}]}]}],"e":[{"g":[{"y":8}],"l":[{"l":12}]}],"é":[{"i":[{"t":54}],"k":47}],"i":[{"l":6}],"l":[{"a":[{"p":19}]}],"o":[{"t":[{"t":12}]}],"ö":[{"v":[{"e":[{"k":9}]}]}],"ő":6,"r":[{"e":[{"á":19}]}],"t":8,"ü":[{"l":[{"ő":13}]}],"v":[{"i":[{"v":48}]}]}],"l":[{"a":[{"g":6,"r":6}],"á":[{"l":6}],"b":[{"o":48}],"e":[{"d":[{"e":[{"l":47}]}],"f":[{"á":54}],"j":[{"i":6}],"k":[{"t":47}],"m":[{"e":[{".":6,"k":6,"l":7}],"é":[{"r":[{".":30}]}],"ű":6}],"p":[{"á":10,"e":[{"l":30}],"o":10,"ü":[{"l":17}]}],"r":[{"e":152}],"s":[{"z":12}],"t":[{"á":10,"e":[{"r":10}]}]}],"é":[{"g":58,"r":[{"é":86,"h":9}],"s":[{"s":7}]}],"h":[{"á":48,"e":[{"l":86,"r":86}]}],"i":[{"t":[{"e":[{"t":6}]}]}],"k":[{"ü":48}],"l":[{"á":[{"t":[{"o":86}]}],"e":[{"n":[{"e":48},47]}]}],"n":[{"e":[{"v":86}],"ö":48}],"o":[{"f":6,"s":54}],"ö":[{"l":169,"n":48}],"ő":[{"h":[{"a":58}],"s":[{"a":[{"j":10}]}],"z":[{"ő":54}]}],"s":[{"ő":48}],"t":[{"á":48,"é":[{"r":86}],"o":86,"ű":86}],"u":54,"ú":58,"v":[{".":48,"e":[{"k":48,"s":48,"v":86,"z":48}],"n":48,"t":48,"ű":86}],"z":[{"á":48}]}],"m":[{"a":[{"k":6},47],"á":[{"g":12,"r":12,"t":6}],"b":[{"e":[{"r":[{".":48,"b":48,"é":48,"h":48,"k":48,"n":48,"r":48,"t":48},47]}],"l":48}],"e":[{".":47,"g":[{"é":12}],"i":47,"k":47,"l":[{"l":12}],"n":[{"g":12}]}],"é":[{"b":47,"h":47,"k":12,"l":[{"e":12,"é":13,"ő":13,"t":12,"v":12}],"r":[{"é":[{"t":13}]}],"s":47,"t":[{"e":[{"n":12,"t":12},10],"j":[{"é":12}]}],"v":47}],"i":[{"g":[{"r":6}],"n":[{"g":12,"t":12}],"s":6,"z":12}],"í":12,"k":47,"l":47,"m":[{"ó":47}],"o":[{"l":6,"s":[{"z":12}]}],"ó":13,"ő":12,"s":47,"u":[{"l":48,"r":9}],"ú":6,"ü":47,"v":[{"í":[{"z":22}]},47]}],"n":[{"e":[{"i":[{"r":71}],"k":[{"a":71}],"s":[{"z":26}]}],"é":[{"é":71,"i":71,"j":71,"p":6}],"k":[{"é":[{"t":22},32]}],"o":12,"t":[{"a":[{"g":11,"l":11,"n":14,"s":14}],"e":[{"g":[{"y":14},32],"l":[{"m":11}],"r":[{"e":14}],"v":11}],"é":[{"j":2}],"i":[{"m":[{"r":14}],"p":11,"s":11}],"í":11,"o":[{"l":11}],"ó":2,"ö":14,"ő":[{"s":[{"e":14},32]}]}],"z":47}],"o":[{"k":11,"m":11}],"ö":[{"r":11}],"p":[{"é":[{"é":[{"b":47,"i":47,"n":47}],"i":[{"t":47}],"j":86,"m":58,"s":58}],"i":[{"z":48}],"l":[{"a":5,"e":5}],"r":[{"i":19,"ó":5},47]}],"r":[{"a":[{"d":13,"j":[{"á":6,"t":12}],"k":[{"r":6}],"l":12,"m":6,"n":13,"r":13,"s":12,"t":13,"u":12,"z":6}],"á":[{"g":[{"a":12}],"r":13,"s":6,"t":13}],"b":[{"i":[{"n":11}]}],"d":[{"é":48},8],"e":[{"b":12,"c":[{"e":13}],"d":[{"é":6}],"g":[{"e":[{".":8},6],"é":13,"g":12,"y":12}],"j":[{"e":54,"t":9,"ü":54,"ű":54}],"k":[{"e":[{".":13}],"l":54}],"l":[{"ő":[{"d":[{"j":6}]}]}],"m":[{"b":[{"e":[{"r":12}]}],"i":12}],"n":[{"g":12}],"p":[{"a":30}],"r":13,"s":[{"é":[{"s":13}],"s":[{"z":12}],"t":[{"e":12}],"z":[{"e":[{".":8}],"k":9,"t":6}]}],"u":12,"v":13}],"é":[{"g":6,"j":13,"k":12,"l":13,"p":12}],"g":8,"i":[{"d":13,"g":[{"a":12}],"k":[{"o":12}],"l":[{"l":12}],"m":13,"n":[{"a":12,"d":6,"f":12,"g":12,"j":12,"k":12,"t":[{"e":[{"l":12}],"é":12,"ő":9}]}],"o":6,"s":[{"m":6}],"z":6}],"í":[{"j":13}],"k":8,"n":[{"a":[{"l":11}]}],"o":[{"k":[{"t":12}],"l":[{"d":12,"v":6}],"r":6,"s":[{"t":12,"z":12}],"t":[{"i":6}]}],"ó":[{"r":13}],"ö":[{"k":6}],"ő":[{".":48,"f":48,"i":48,"k":48,"l":48,"n":48,"s":48,"t":48,"v":48,"z":9},62],"p":8,"s":[{"k":10,"p":10,"t":10},9],"t":[{"á":[{"l":[{"o":[{"m":15}]}]}],"i":[{"t":11}],"ó":[{"r":11}],"r":[{"a":9,"e":[{"n":9}]}]}],"u":[{"n":12,"r":6,"s":6,"t":13}],"ú":[{"t":12}],"ü":[{"g":13}],"ű":47,"v":[{"a":[{"d":[{"ó":2}],"n":11}],"e":[{"l":11}],"é":[{"l":11}]}]}],"s":[{"e":[{"d":[{"é":[{"k":58}]}],"k":[{"é":[{"h":13}]}],"t":[{"b":54,"e":[{".":54,"s":48,"t":54}],"é":54,"i":54,"r":54}]}],"é":[{"s":[{".":58,"b":58,"d":86,"e":[{".":58,"i":58,"k":58,"m":58,"n":58,"s":58}],"é":58,"h":58,"i":58,"k":58,"n":58,"r":58,"s":58,"t":58}]}],"i":[{"t":12}],"m":[{"i":19}],"ő":58,"p":[{"e":19,"r":5},10],"t":[{"e":[{"k":48,"m":48},47],"é":86,"i":[{".":48,"l":19}],"j":86,"o":5,"r":[{"e":48}],"t":48}],"ü":[{"v":13}],"z":[{"a":[{"c":20}],"á":[{"g":6}],"e":[{"g":[{"e":[{"t":15}]}],"l":[{"l":[{"e":6}]}],"n":[{"g":6}]}],"é":[{"h":6,"l":[{"e":23}]}],"i":[{"m":24,"p":6}],"k":[{"ö":48},47],"o":[{"l":6}],"t":[{"r":3},32]}]}],"t":[{"a":[{"b":12,"c":6,"l":[{"a":12}],"n":[{"y":13}]}],"á":[{"j":6,"l":13,"p":13,"t":12}],"e":[{"g":[{"é":9}],"l":[{"á":9,"l":12,"m":6,"ő":[{"á":13,"d":13}],"r":12}],"m":[{"e":[{"l":9}],"l":12}],"n":[{"e":6}],"r":[{"k":9,"ó":8}],"s":[{"é":[{"g":30}],"t":[{"r":7},26]}],"t":[{"é":54,"i":12,"n":6}]}],"é":[{"d":12,"j":13,"l":13,"r":[{"t":[{"e":6,"é":12,"ő":9}],"ü":13}],"s":[{"z":[{"e":9},10]}],"t":[{"e":[{"r":9}]}]}],"i":[{"d":6,"k":[{"a":54,"o":13}],"l":[{"l":9}],"n":[{"g":12}]}],"í":[{"t":6}],"k":[{"é":[{"s":[{"z":[{"e":28}]}]}]}],"o":[{"m":6,"n":[{"t":9}],"p":6}],"ó":[{"r":13}],"ö":[{"v":13}],"ő":[{"r":[{"i":9,"ö":9,"t":9}]}],"u":[{"t":6}],"ü":[{"r":6,"z":13}],"y":6}],"u":[{"g":11,"r":54}],"ü":[{"t":11}],"v":[{"ő":54}],"x":[{"i":[{"d":12,"m":6,"p":13}],"p":[{"e":48}],"t":[{"ö":14}],"ú":6}],"z":[{"e":[{"r":54}],"r":48}]},53],"é":[{"b":[{"e":[{"r":54}],"r":86}],"d":[{"a":[{"k":6,"l":13,"r":13,"s":12,"t":6}],"á":13,"e":[{"k":[{"é":[{"t":12}]}],"l":[{"e":[{"m":13}],"m":6}],"r":30,"s":[{"e":[{"m":9}],"z":12}],"t":[{"i":12}]}],"é":[{"s":12}],"i":[{"k":6}],"ó":6,"ő":12,"r":[{"e":[{"n":26}]}],"u":[{"r":6},10],"ú":6,"z":21}],"f":[{"á":6}],"g":[{".":48,"b":48,"e":54,"é":6,"i":54,"n":48,"ő":54,"r":48,"t":48}],"h":[{"e":[{".":54,"n":54,"s":58,"t":54}],"s":86}],"i":[{"d":47}],"j":[{".":48,"e":[{"n":6}],"i":54,"j":[{"e":[{"l":[{"e":64}]}]}],"s":48,"ü":[{"l":86,"n":58}]}],"k":[{"a":[{"d":13,"l":13,"n":13,"p":12,"s":12}],"á":[{"s":6}],"e":[{"g":12,"k":[{"é":[{"t":13}]}],"l":[{"r":12}],"r":6,"z":54}],"é":[{"k":12,"l":13,"s":12}],"o":[{"l":[{"d":9}],"s":[{"z":9}]}],"ó":13,"ö":[{"r":6}],"ú":[{"r":6}],"ü":[{"l":[{"é":12,"ő":12},10]}]}],"l":[{"a":[{"b":6,"d":6,"k":6,"n":12,"s":6},10],"á":13,"e":[{"l":[{"e":9,"l":9,"ő":9,"t":9},87],"r":13,"t":[{".":47,"b":58,"e":[{".":58,"n":58}],"é":58,"f":6,"h":58,"i":58,"n":58,"p":58,"r":58,"s":58,"t":[{"ő":58}],"ü":58,"ű":58}]}],"é":[{"k":[{"h":12}]},47],"i":[{"m":6,"s":[{"t":12}]}],"í":6,"m":47,"o":12,"ö":13,"ő":[{"s":47}],"t":47,"u":13,"ú":6,"y":[{"a":6,"á":6,"e":[{"s":[{"h":24}]}],"o":6}]}],"m":[{"e":47}],"n":[{"á":[{"r":[{"n":12}]}],"d":[{"i":[{"o":26}]}],"e":[{"g":6,"k":[{"b":58,"e":58,"é":54,"k":6,"l":47,"n":54,"r":6,"ü":6}],"l":13,"r":13}],"i":[{"k":6,"l":6,"m":6,"o":12,"s":12},10],"í":6,"o":[{"m":6}],"ö":6,"ő":6,"t":10,"ü":[{"l":[{"ő":13}]}]}],"p":[{"a":[{"g":13,"l":13,"n":[{"y":12}],"p":13,"r":13,"s":6,"t":6,"u":6,"v":6}],"á":[{"r":13,"t":6}],"e":[{"g":6,"l":[{"l":9}],"z":6}],"f":8,"i":[{"n":6,"p":13,"r":6,"s":13}],"í":[{"t":47}],"o":[{"l":6,"s":6},10],"ó":6,"ö":6,"s":9,"u":[{"d":6,"s":12}],"ú":6,"ü":[{"l":47}]}],"r":[{"a":[{"b":6,"g":6,"l":13,"m":54,"n":13,"p":6,"r":6,"s":12,"t":6,"v":6}],"á":13,"d":8,"e":[{"l":[{"e":[{"m":[{"é":13,"k":13,"n":13}]}]}],"m":[{"b":6,"l":9}],"s":[{"z":12}],"t":[{"t":47}],"v":6}],"é":[{"s":[{".":6,"b":6,"e":6,"i":6,"k":6,"n":6}]}],"i":[{"d":12,"m":6,"s":6}],"o":[{"k":13,"s":12}],"ó":[{"s":71}],"ö":6,"ő":[{".":58,"i":54,"k":54,"s":6,"t":54}],"s":9,"t":[{"a":[{"j":11}],"e":[{"k":[{"e":[{"z":47}]}],"l":[{"m":47}],"t":[{"l":86,"ő":86}]}],"é":[{"k":86}],"h":[{"e":[{"t":86}]}],"o":48}],"ú":6}],"s":[{"a":[{"b":6,"n":6,"r":6,"z":12}],"á":13,"e":[{"g":6,"l":13,"r":13,"t":[{"i":12}]}],"é":[{"g":12,"s":6}],"i":[{"k":13}],"o":[{"k":6}],"ó":6,"s":20,"ü":[{"t":13}],"z":[{"a":21,"b":48,"é":54,"l":48,"ó":6,"s":20}]}],"t":[{"a":[{"b":13,"d":12,"g":6,"j":12,"k":13,"l":13,"p":12,"s":13,"u":12}],"á":13,"e":[{"n":10,"s":[{"e":10,"ü":10}]}],"é":[{"g":6,"n":13}],"i":13,"k":47,"o":[{"l":6,"m":13,"r":6,"s":13}],"u":[{"n":6}],"ú":6,"ü":13,"ű":12,"v":47}],"v":[{".":86,"a":[{"d":86}],"b":48,"e":[{".":58,"k":58,"n":58,"s":58}],"é":[{"n":54,"t":54,"v":54}],"f":48,"i":[{".":54},47],"k":48,"n":86,"r":48,"s":48,"t":48,"ü":54,"v":86}]},53],"f":[{"a":[{"l":[{"a":[{"d":[{"a":2}],"j":14}],"e":[{"l":2,"s":11}]}]}],"e":[{"l":[{"e":[{"m":14,"n":11}]}],"r":[{"e":[{"g":11}]}]}],"l":[{"a":6,"e":6,"i":6,"o":6,"ó":6}],"o":[{"r":[{"a":[{"t":11},32],"i":[{"z":11}]}]}],"ö":[{"l":[{"d":[{"i":[{"é":33}]}]}]}],"r":[{"a":6,"á":6,"e":6,"i":6,"í":6,"o":6,"ö":6}]}],"g":[{"á":[{"s":[{"s":27,"z":4}],"z":[{"ó":11}]}],"é":[{"p":[{"e":[{"k":[{"é":[{"t":2}]}]}]}],"s":[{"a":11,"á":11,"e":[{"m":11}],"s":27}]}],"l":[{"a":6,"ó":6}],"ó":[{"g":8}],"ő":[{"n":[{"y":[{"á":11}]}],"z":[{"á":2,"é":[{"r":11}],"ő":14}]}],"r":[{"a":54,"á":[{"f":[{".":54,"f":54,"h":54,"j":54,"k":54,"n":54,"r":54}]}],"ó":6,"u":54}]}],"h":[{"á":[{"n":10,"t":[{"a":[{"d":2}]}],"z":[{"k":[{"ö":[{"z":28}]}]}]}]}],"i":[{"a":[{"a":6,"á":6,"b":[{"o":6}],"c":6,"d":6,"e":6,"é":6,"g":6,"h":6,"í":6,"j":6,"k":[{"é":[{"p":6}],"ó":6}],"l":6,"m":6,"o":6,"ö":6,"p":13,"r":6,"s":[{"z":[{"a":6,"o":6,"ó":6}]}],"t":6,"u":31,"ú":6,"ü":6,"v":6}],"b":[{"r":86}],"c":[{"c":47,"h":5}],"d":[{"e":[{"á":54,"g":54,"o":54}],"é":[{"n":6}],"ő":58}],"e":[{"l":11,"m":11}],"é":[{"a":6,"á":6,"k":[{"e":6}],"p":6,"t":[{"a":6,"á":6}],"ü":6}],"f":[{"j":48}],"g":[{".":0,"a":[{".":6,"z":[{"g":86,"o":58}]}],"á":[{"s":54}],"é":[{"j":6,"n":58}],"r":19,"y":[{"e":47}]}],"k":[{"a":[{"n":13}],"é":[{"k":[{"e":[{"k":9}]}]}],"i":[{"k":6,"m":6,"n":[{"g":12}]}],"l":[{"u":5}],"u":[{"r":13,"s":[{"s":7}]}]}],"l":[{"e":[{"r":6}],"é":[{"j":13,"k":12}],"i":[{"n":[{"g":12}]}],"ü":12}],"m":[{"a":[{".":54,"k":6}],"á":[{"b":6,"j":6,"k":6,"l":[{"l":9}],"r":6,"t":6,"z":6}],"b":9,"e":[{"g":13,"l":13}],"é":[{"r":[{"é":13,"t":[{"é":12}]}]}],"i":[{"n":[{"d":9}],"p":12,"t":54}],"ö":6}],"n":[{"a":[{"d":13,"l":13,"n":13,"r":13,"s":58,"u":12}],"á":[{"i":6,"l":[{"l":12}]}],"d":[{"u":48}],"e":[{"m":[{"b":9}]}],"é":[{"g":6}],"g":[{"a":[{"s":11}],"á":[{"l":11}]}],"i":[{"m":13,"n":12}],"í":6,"n":20,"o":[{"l":6}],"s":8,"t":[{"a":[{"d":2,"l":2,"s":2}],"á":[{"t":11,"z":2}],"e":[{"l":[{"e":14,"ő":11,"t":11},32],"r":[{"j":48,"p":48,"v":48}]}],"o":[{"m":11}],"ó":[{"n":14}]}],"u":[{"t":13}],"ú":6}],"o":[{"l":6,"n":[{"o":58,"s":58}],"t":6}],"ó":[{"a":6,"á":6,"c":6,"e":6,"g":6,"í":6,"k":[{"a":[{"m":6,"p":6}],"á":6,"e":6,"l":12}],"l":6,"m":[{"á":6,"é":6}],"n":[{"é":6,"y":6}],"o":6,"p":13,"r":[{"á":6}],"s":[{"á":6,"é":6,"k":[{"á":13}],"p":12,"z":[{"ű":6}]}],"t":[{"a":6,"á":6}],"ú":6,"ü":6,"ű":6}],"p":[{"a":[{"i":6,"r":[{"i":6}]}],"á":[{"j":6}],"l":19,"r":19}],"r":[{"a":[{"t":54}],"á":[{"n":54},47],"e":55,"o":[{"d":54},47],"ó":[{"n":6}],"ő":55,"t":[{"a":2,"á":48,"o":11,"ó":48},47]}],"s":[{"a":[{"d":6,"l":6,"m":6,"r":6,"s":13}],"á":[{"l":6,"r":[{"o":12}]}],"e":[{"g":13,"l":13,"r":12,"s":[{"e":12,"z":12},10]}],"é":[{"k":12,"r":[{"t":[{"e":6}]}],"v":[{"i":9}]}],"i":[{"l":12,"n":6,"s":12,"t":6}],"o":[{"v":13}],"ó":13,"ö":6,"ő":6,"s":[{"z":[{"a":20,"á":20,"o":20}]},10],"t":[{"r":[{"a":9,"e":9}]},10],"u":[{"t":6}],"ü":[{"v":13}],"z":[{"a":[{"j":21,"v":20}],"ó":[{"n":20}]}]}],"t":[{"á":[{"l":[{"l":12}],"r":[{"u":9}]}],"e":[{"g":13,"l":[{"r":12}],"n":[{"g":9}]}],"é":[{"t":6}],"i":[{"l":6,"n":6,"p":6,"r":6}],"o":[{"r":12}],"ó":[{"r":6},10],"ú":[{"t":12}]}],"ú":[{"r":11}],"v":[{"a":[{"d":54}],"ó":58}],"z":[{"é":58,"m":[{"o":48},47],"o":[{"m":54}]}]},53],"í":[{"g":[{"é":6}],"j":[{"a":[{"n":6}],"e":6,"ö":6,"ü":6}],"n":[{"a":[{"c":6,"d":6,"k":[{"u":6}],"l":6,"n":6,"s":6,"t":6}],"á":[{"l":[{"l":12}],"r":12,"t":6}],"e":[{"r":13}],"é":[{"l":6}],"í":6,"n":[{"a":48,"y":[{"e":20}]}],"o":[{"d":12,"k":12,"s":6},10],"ó":13,"ö":6,"u":6,"ú":6,"y":[{"e":[{"n":[{"c":28}]}]},54]}],"r":[{"a":12,"á":58,"o":[{"g":6}],"ó":58}],"t":[{"ő":[{"a":32,"e":32,"k":[{"é":[{"s":[{"z":65}]}]}]}]}],"v":[{"a":[{"j":6,"k":[{"t":9}],"l":6,"r":6}],"e":[{"r":6}],"ő":12,"u":[{"l":6}],"ú":6}],"z":[{"e":6,"ü":6,"ű":6}]},53],"j":[{"e":[{"g":[{"y":[{"á":18}]}]}]}],"k":[{"a":[{"b":[{"l":52}],"l":[{"a":[{"k":52}],"j":52,"t":52}],"p":[{"l":8}],"r":[{"á":[{"d":51,"j":51}],"é":[{"n":51}],"ó":[{"r":11},32]}],"s":[{"k":8}]}],"á":[{"l":[{"l":[{"v":52}]}]}],"b":[{"l":5}],"d":[{"r":5}],"e":[{"g":[{"y":[{"s":5}]}],"n":[{"n":0}],"s":[{"z":[{"k":5}]}],"t":[{"ű":52}]}],"é":[{"r":[{".":52,"t":[{"é":52}]}]}],"h":[{"ü":54}],"i":[{"a":10,"á":10,"e":10,"g":[{"é":52},11],"s":[{"é":11}]}],"l":[{"a":6,"á":54,"e":[{"r":6}],"í":54,"ó":6,"u":54}],"o":[{"l":[{"d":[{"a":52}]}],"n":[{"t":[{"á":[{"r":30}],"ó":52}]}],"r":[{"o":[{"s":14}]}],"s":[{"z":[{"l":52,"t":41}]}]}],"ó":[{"k":[{"o":[{"r":[{"t":5},0]}]}],"p":[{"á":11}],"z":[{"s":4}]}],"ö":[{"z":[{"e":[{"l":[{"e":11,"l":3}]}],"é":[{"l":2}]}]}],"ő":[{"é":[{"h":10}]}],"p":[{"r":5}],"r":[{"a":[{"k":54}],"á":6,"e":[{"á":54}],"é":[{"m":54,"t":[{"a":54,"á":54}]}],"í":6,"o":54,"ó":[{"n":54}]}],"u":[{"l":[{"t":[{"ú":[{"r":33},67]}]}],"r":[{"á":[{"n":51,"t":[{".":51}]}]}],"t":[{"á":52}]}],"v":[{"a":[{"l":54}],"ó":6}],"y":[{"b":11,"h":11,"j":11,"k":11,"n":11,"r":11,"t":11,"v":11}]}],"l":[{"a":[{"t":[{"a":[{"l":11,"n":[{"y":3},32]}]}]}],"á":[{"m":[{"e":14,"i":[{"s":11}]}],"s":[{"s":27}],"v":[{".":0,"e":0,"é":0,"k":0,"n":0,"o":0,"v":0}]}],"e":[{"g":[{"g":3}],"i":10,"í":10,"n":[{"g":[{".":0}]}],"t":[{"a":[{"k":11,"l":11,"n":2}],"á":[{"l":11,"r":2}],"e":[{"g":14,"l":[{"l":14}],"s":[{"z":11}]}],"é":[{"l":11,"r":[{".":14,"v":3}],"s":11,"t":[{"é":2}],"v":[{"e":[{".":2}]}]}],"i":[{"g":[{"a":[{"z":65}]}]}],"u":14,"ü":[{"z":11}]}]}],"é":[{"s":[{"í":11,"o":11,"s":27}]}],"i":[{"n":[{"a":[{"n":11},32],"i":[{"n":11}]}]}],"o":[{"g":[{"e":0}],"p":[{"a":[{"s":14}],"ó":11}]}],"ó":[{"ó":10,"s":[{"o":[{"r":[{"r":14}]}]}]}]}],"m":[{"a":[{"p":[{"r":9}],"s":[{"p":9},10]}],"e":[{"á":10,"g":[{"e":11,"o":[{"m":20}]}]}],"i":[{"n":[{"a":2,"e":14}]}],"u":[{"s":[{"k":[{"é":[{"s":[{"z":65}]}]}],"ö":11,"z":4}],"t":[{"o":[{"k":11}]}]}]}],"n":[{"a":[{"p":[{"e":[{"s":11}]}]}],"i":[{"e":10,"ó":11}],"o":[{"b":0}],"ó":[{"s":[{"t":[{"r":9}]}],"t":[{"r":9},10]}]}],"o":[{"b":[{"j":48}],"d":[{"ú":54}],"e":[{"s":6}],"k":[{"a":[{".":54,"d":152,"i":54}],"á":[{"l":12}],"i":[{"p":12,"r":92},10],"k":[{"e":48}],"l":[{"e":48}],"o":[{"z":58}],"t":[{"a":47}]}],"l":[{"a":[{"b":6,"j":[{"á":[{"r":30},26],"e":10},58],"l":13,"s":12}],"á":[{"b":[{"r":9}],"r":[{"o":12}]}],"d":[{"a":[{"l":48}],"h":86,"ó":86}],"e":12,"f":8,"i":[{"n":[{"f":9}],"s":12}],"í":12,"l":[{"ó":48}],"ö":6,"t":[{"á":[{"s":48}],"ó":[{".":48}],"r":[{"e":8}]}],"ü":6,"v":[{"a":[{"d":47}]}]}],"m":[{"a":[{"g":13,"k":6,"l":13,"n":13,"p":6,"s":13}],"á":[{"l":[{"l":9}],"r":13}],"b":[{"o":[{"r":[{".":71}]}]},8],"e":[{"g":6,"l":12,"n":6},47],"é":[{"l":6,"t":[{"e":12},10]},47],"f":47,"g":47,"i":[{"n":6,"z":6},10],"j":[{"ó":11}],"l":47,"o":[{"r":[{"s":12}],"s":12}],"ö":62,"p":68,"s":105,"z":47}],"n":[{"a":[{"j":12,"k":12,"l":[{"a":13,"á":12,"k":12}],"n":[{"y":12},10],"r":13,"s":[{"z":9}],"u":12}],"á":[{"l":[{"d":6,"l":12}],"t":[{"l":12}]}],"e":[{"g":6,"l":6,"r":12,"s":6},10],"é":[{"v":6}],"i":[{"n":6,"o":13}],"o":[{"r":12,"s":[{"é":10}]}],"ó":13,"ö":6,"s":8,"t":[{"e":[{"s":14}],"i":[{"n":11}],"r":[{"e":9}]}],"ü":6,"y":[{"a":[{"d":24,"l":23,"n":23,"r":6,"v":6}],"e":6,"i":[{"d":6,"j":6}],"ó":6}]}],"o":[{"l":6,"m":6}],"p":[{"á":[{"l":48}],"e":54,"h":[{"o":5}]}],"r":[{"a":[{"d":13,"f":6,"g":12,"j":12,"l":13,"n":6,"s":12,"t":54,"u":12}],"e":13,"f":8,"i":[{"d":6,"l":12,"n":[{"g":9}]}],"m":[{"á":48}],"o":[{"l":12,"p":6,"s":[{"z":6}]}],"ó":13,"ö":6,"r":[{".":48,"ú":48}],"s":[{"ó":48}],"t":[{"r":[{"e":8}]}],"ü":6}],"s":[{"k":[{"o":86}],"t":[{"á":48,"o":48}],"z":[{"f":42,"l":48,"t":[{"a":[{"t":10}]}]}]}],"t":[{"e":47,"ó":[{"p":[{"a":10}]},47]}],"v":[{"i":6}],"x":[{"i":6}]},53],"ó":[{"a":[{"d":11}],"á":[{"g":11,"r":11}],"b":[{"l":5,"r":19}],"c":[{"l":5}],"d":[{"e":[{"l":13}]}],"f":[{"l":5,"r":19}],"g":[{"l":5,"y":[{"ö":[{"k":[{"é":[{"r":43}]}]}]}]}],"i":[{"g":11}],"í":[{"v":11}],"j":[{"a":3}],"k":[{"l":19,"r":[{"é":5}],"u":[{"p":[{"a":[{"c":28}]}]}]}],"l":[{".":47,"m":48,"o":[{"m":[{"b":6}]}]}],"n":[{"á":[{"d":71,"i":71}],"i":54,"j":86,"n":86,"o":[{"d":54}],"t":86}],"ó":[{"r":11}],"p":[{"l":19,"r":19}],"r":[{"a":[{"d":54,"r":54,"s":[{"z":6}]}],"á":[{"i":6,"j":54,"k":54,"r":54,"s":[{"s":7}],"t":54,"v":54}],"i":[{"á":54}]}],"s":[{"í":[{"k":[{".":9}],"n":[{".":12}]}],"k":[{"á":19}],"l":5,"t":[{"a":19,"é":5}],"z":[{"a":[{"k":[{"a":[{"d":3}]}]}],"á":[{"l":[{"l":[{"í":3}]}]}],"e":[{"n":[{"e":6}]}],"é":[{"l":[{"e":23}]}],"í":[{"j":24}],"ü":[{"l":[{"ő":[{".":15}]}]}]}]}],"t":[{"a":[{"g":[{"a":17}]}],"é":[{"g":[{"e":9},10]}],"r":[{"é":5}]}],"v":[{"ó":54}]},53],"ö":[{"b":[{"á":6,"o":6,"ó":6}],"c":[{"c":48}],"d":[{"é":6,"ú":6}],"g":[{"a":6,"á":6,"g":20,"i":[{"l":6}],"í":6,"o":6,"ö":[{"l":12},10],"u":6,"y":6}],"k":[{"l":86,"o":58,"r":[{"ü":47}]}],"l":[{"d":[{"e":[{"s":71}],"s":71}],"e":[{"b":47,"s":6}],"n":[{"i":[{"v":86}]}],"y":[{"v":48}]}],"m":[{"l":86}],"n":[{"a":54,"á":54,"b":47,"e":47,"é":47,"i":47,"l":47,"n":[{"e":47}],"ö":47,"r":47,"t":47}],"r":[{"e":[{"j":71}],"f":[{"e":14,"o":14}],"n":[{"y":[{"a":11,"á":11,"e":[{"l":11,"s":[{"z":11}]}],"é":[{"k":11}],"í":11}]}],"ö":[{"k":6}],"p":[{"a":2,"á":11}],"v":86}],"s":[{"s":[{"z":47}],"v":48,"z":[{"t":[{"ö":48}]}]}],"t":[{"e":6,"l":86,"v":86}],"v":[{".":48,"e":[{"i":54,"k":54,"t":[{"e":[{"l":17}]}],"z":54}]}],"z":[{"ö":6}]},53],"ő":[{"a":[{"c":11,"l":11}],"á":[{"g":11}],"b":[{"l":5,"r":5}],"é":[{"l":11}],"f":[{"l":5,"r":19}],"g":[{"é":[{"p":[{"i":[{"p":30},26]}]}],"r":5}],"k":[{"l":5}],"m":[{"ű":3}],"n":[{"y":[{"á":32,"e":[{"r":24}],"é":[{"k":23,"r":[{"t":6}]}]}]}],"p":[{"l":5,"r":5}],"r":[{"a":[{"n":6}],"e":[{"c":13,"g":[{"e":12}],"l":6,"r":12}],"k":47,"l":[{"ő":48},47],"m":47,"o":[{"l":6}],"ü":[{"g":13},47],"z":[{"é":48,"ő":48},47]}],"s":[{"i":[{"s":6}],"k":[{"á":5}],"p":[{"e":5,"i":19}],"t":[{"a":5,"i":5,"r":5}],"z":[{"f":5,"t":5},10]}],"t":[{"r":5}],"ü":[{"l":11}]},53],"p":[{"e":[{"n":[{"n":3}]}],"f":[{"e":6}],"l":[{"a":6,"é":6,"o":6}],"o":[{"r":[{"t":[{"e":17,"ő":17,"ú":30}]}]}],"r":[{"a":54,"i":54,"o":54,"u":54}]}],"r":[{"a":[{"e":[{"l":[{"e":27}]}]}],"á":[{"d":[{"i":[{"ó":[{"i":[{"t":33}]}]}]}]}],"e":[{"d":[{"á":2,"e":[{"l":11}],"é":[{"k":2}],"z":4}],"n":[{"d":[{"ő":17}]}]}],"í":[{".":117}]}],"s":[{"a":[{"b":[{"l":[{"a":5}]}],"d":[{"a":[{"t":93}],"ó":93}],"g":10,"h":[{".":47}],"j":[{"t":47}],"k":[{"c":77}],"l":[{"j":77,"m":77,"t":77}],"n":[{"y":[{"á":11}]}],"p":[{"a":[{".":11}],"k":91}],"r":[{"á":[{"n":11}],"j":41,"k":91,"l":91,"z":77}],"s":[{"z":[{"t":77}]}],"t":[{"l":5,"r":9,"y":93}],"u":[{"t":[{"ó":[{".":47,"n":47}]}]}],"z":[{"o":5}]},53],"á":[{"b":[{"r":77}],"f":91,"g":[{"g":[{"y":5}]},91],"k":[{"ó":11}],"l":[{"a":77,"c":47,"m":47}],"p":93,"r":[{"a":[{"k":93,"t":47}],"i":91,"u":47}],"t":[{"e":47,"k":77,"o":47,"ö":47,"s":77}],"z":[{"ó":[{"s":93}]}]},53],"b":[{"l":5,"r":5}],"c":[{"h":94,"s":[{"a":[{"p":[{"á":33}]}]}]}],"d":[{"e":[{"s":3}],"r":5}],"e":[{"b":[{"a":11,"i":[{"r":[{"o":11}]}],"o":2,"z":47}],"c":[{"e":19}],"d":[{"é":19}],"j":41,"l":[{"l":47,"m":5,"ö":47,"ő":[{"f":19,"r":19}]}],"m":[{"b":[{"e":[{"r":47}]}],"e":[{"l":93}]}],"n":[{"c":5,"e":5}],"r":[{"a":[{"j":11}],"á":2,"e":[{"l":11,"s":[{"z":14},32]}],"é":[{"k":14}],"i":[{"n":11}],"o":14}],"s":[{"e":47,"z":[{"ü":11}]}],"v":[{"é":5}],"x":77,"z":47},53],"é":[{"g":[{"e":[{"l":73}]},41],"h":[{"s":47}],"l":[{"e":5},47],"p":47,"r":[{"d":77,"t":[{"e":77,"é":77}],"y":71,"z":47}],"t":[{"e":47,"k":77,"r":77,"t":77}],"v":[{"e":[{".":93}]}]},53],"f":[{"l":5,"r":5}],"g":[{"r":5}],"i":[{"d":[{"ő":47}],"g":[{"á":47,"é":47}],"k":[{"o":[{"r":11}]}],"l":[{"l":77}],"m":[{"á":93,"i":[{"n":11}],"u":14}],"n":[{"a":[{"s":47}]}],"p":[{"a":19,"k":41}],"r":[{"a":[{"t":[{"o":5},47]}],"o":77,"t":77}],"s":[{"m":77,"t":47}],"t":[{"a":[{"t":11}]}],"v":[{"ó":47}],"z":[{"é":5,"m":77,"o":93,"z":5}]},53],"í":[{"b":91,"j":5,"k":91,"p":91,"r":[{"a":2,"á":73,"b":[{"ó":71}],"é":71,"o":[{"s":71}],"r":71,"t":170}],"v":93,"z":93},53],"k":[{"l":5,"r":19}],"o":[{"f":91,"k":[{"m":77,"t":[{"a":77}]}],"l":[{"a":[{"j":47}],"i":5}],"m":71,"p":77,"r":[{"o":41},47],"s":[{"t":[{"y":47}],"z":77}]},53],"ó":[{"n":[{"é":5}],"r":[{"á":5}]},53],"ö":[{"k":[{"ö":[{"r":47}]}],"l":[{"ő":[{"z":47}]}],"s":77,"v":[{"e":19}]},53],"ő":53,"p":[{"i":[{"r":6}],"l":19,"r":11}],"s":[{"k":19,"p":19,"t":5,"z":[{"e":[{"r":[{"e":[{"l":64}]}]}]},25]}],"t":[{"a":[{"d":94,"t":94}],"o":[{"p":94}],"r":[{"o":5},11],"ú":94}],"u":[{"d":77,"g":[{"á":[{"r":[{".":47,"r":47}]}],"r":47}],"l":71,"m":47,"s":[{"z":32},9]},53],"ú":[{"j":77,"l":47,"r":[{"a":14}]},53],"ü":[{"g":47,"l":[{"t":47}],"n":[{"n":47}],"s":5,"t":47,"z":77},53],"ű":53,"w":[{"h":5}],"z":[{"a":[{"c":25,"g":41,"k":[{"é":10,"ü":30}],"v":41}],"á":[{"p":25,"s":25}],"e":[{"m":41,"n":[{"é":25}],"r":41}],"é":41,"f":11,"i":[{"n":[{"d":26}]},41],"í":41,"k":97,"l":11,"o":41,"ó":41,"ö":41,"p":11,"s":25,"t":133,"ü":41,"ű":41}]},0],"t":[{"a":[{"b":[{"l":[{"a":5}],"o":[{"r":51}]}],"c":[{"é":51}],"d":[{"a":[{"l":59,"t":19}],"ó":19}],"g":[{"r":[{"e":52}]}],"k":[{"á":51,"c":52,"k":52,"n":5,"ö":[{"z":22}],"v":52}],"l":[{"a":[{"p":[{"ú":19}]}],"e":[{"l":[{"e":11},32]}]}],"n":[{"a":[{"l":52}],"e":[{"s":5},10],"k":[{"é":5}],"ó":2,"y":[{"a":[{"g":19,"k":5,"s":5}],"á":[{"d":5,"m":5,"u":5}],"u":52}]}],"p":[{"á":[{"n":19,"s":19,"t":19}],"ó":52,"p":5,"s":52,"u":[{"k":19}]}],"r":[{"a":[{".":51}],"á":[{"n":5}],"c":52}],"s":[{"o":32,"p":9,"s":[{"z":5}],"z":[{"t":[{"a":5},0]}]}],"t":[{"i":[{"g":0}],"k":52,"y":52}],"u":[{"t":51}]}],"á":[{"b":[{"r":5}],"c":[{"s":[{"o":5},11]}],"g":[{".":5,"a":51}],"l":[{"i":0,"m":52}],"r":[{"a":[{"j":11,"s":[{"s":14}]}],"e":[{"m":5}],"i":[{"s":11}],"n":[{"ö":52,"y":[{"a":5}]}],"o":[{"c":0,"k":[{"k":0}],"l":[{"t":14}]}],"ó":[{"r":[{"a":14}]}],"s":[{"m":3,"p":15}],"t":32,"v":[{"í":5}]}],"s":[{"z":[{"o":5,"t":5},11]}],"t":[{"h":[{"a":52}],"s":52,"v":52}],"v":[{"i":[{"r":14},32]}]}],"b":[{"l":5}],"d":[{"r":5}],"e":[{"b":51,"f":52,"g":[{"é":51,"y":52}],"k":[{"e":[{".":51}],"é":[{"s":51}]}],"l":[{"a":52,"á":52,"b":52,"e":[{"g":[{"y":51}],"m":[{"e":51,"m":51,"z":0}]}],"f":52,"j":[{"á":52}],"l":[{"á":[{"t":52}]}],"m":52,"n":[{"ö":0}],"o":51,"ő":[{"a":[{"d":[{"á":19}]}],"c":51}],"r":52,"t":[{"á":52,"o":52}]}],"m":[{"b":[{"e":[{"r":52}]}],"e":[{"l":51}],"l":52}],"n":[{"t":[{"e":5},0]}],"r":[{"a":[{"j":11,"k":11}],"á":[{"l":11,"r":11}],"d":[{"e":0}],"e":[{"o":[{"t":32}],"p":[{"o":11}]}],"i":[{"l":[{"l":11}],"s":11,"z":11}],"o":[{"s":[{"z":11}],"t":51}],"ó":51,"ő":52,"ü":[{"l":[{"é":2}]}]}],"s":[{"z":[{"e":52,"é":52,"k":52},11]}],"z":[{"r":52}]}],"é":[{"g":[{".":5,"b":5,"é":19,"r":5}],"j":51,"k":[{"e":[{"l":2}],"n":[{"é":52}]}],"l":[{"e":51,"é":[{"s":19},0],"m":52,"ő":51,"t":52,"ű":5}],"p":[{"ü":52}],"r":[{"á":11,"d":52,"l":52,"t":[{"é":52}],"z":52}],"s":[{"z":[{"h":52,"n":52},11]}],"t":[{"é":[{"t":11}],"k":52}],"v":[{"e":[{"s":[{".":19}]}],"t":5}]}],"f":[{"l":5,"r":5}],"g":[{"r":5}],"h":[{"e":[{"n":54}]}],"i":[{"a":[{"g":10}],"d":[{"e":[{"n":19}],"é":52,"i":0}],"f":[{"j":52}],"g":[{"é":51}],"k":[{"o":[{"n":51}]}],"l":[{"l":[{"e":52}]}],"m":[{"á":0,"p":52}],"n":[{"d":52,"f":[{"e":0,"o":52}],"g":[{".":52,"á":52,"b":52,"e":52,"é":52,"g":52,"u":0}],"t":[{"e":52,"é":52}],"v":[{"á":52}]}],"p":[{"a":52},11],"r":[{"á":52}],"s":[{"k":52,"m":52,"t":[{"á":52,"e":52}]}],"t":[{"a":[{"l":0,"t":51}]}]}],"í":[{"j":52,"r":51,"v":[{"e":[{"k":[{"e":19}]}]}]}],"k":[{"l":5,"r":5,"v":5}],"o":[{"i":0,"k":[{"o":[{"z":51}]}],"l":[{"t":[{"ó":52}],"y":[{"a":[{"g":11}]}]}],"p":[{"e":5}],"r":[{"a":[{"s":11}],"e":14,"g":[{"i":52}],"k":[{"é":[{"s":[{"z":65}]}]}],"n":[{"a":[{"m":5}]}],"r":[{"ú":0}],"v":[{"o":0}]}],"s":[{"z":[{"l":52,"t":[{"á":5}]}]}]}],"ó":[{"á":10,"i":[{"g":[{"a":[{"z":28}]}]}],"n":[{"i":51}],"p":8,"s":[{"p":9}],"t":[{"r":9}]}],"ö":[{"k":[{"o":5}],"l":[{"e":52},11],"n":[{"n":27}],"r":[{"ö":[{"k":[{"s":11}]}]}],"s":[{"s":52}],"v":[{"e":[{"z":19}],"i":[{"g":5}]}],"z":52}],"ő":[{"a":10,"e":[{"l":10}],"é":[{"b":10}],"r":[{"h":52,"l":5,"s":52}],"s":[{"e":[{"i":19}],"ö":51,"ű":5}]}],"p":[{"l":5,"r":5,"s":5}],"r":[{"a":[{"n":[{"z":48}]}],"á":[{"d":[{"á":6}],"g":54}],"é":[{"f":48,"n":54}],"i":[{"k":[{"ó":48}],"l":48,"ó":54}],"ü":54}],"s":[{"l":5,"n":5,"p":5,"t":5,"z":5}],"t":[{"r":19}],"u":[{"d":[{"v":52}],"g":52,"r":[{"a":52,"u":52}],"s":[{"s":27}],"t":[{"a":[{"t":19}],"u":52}]}],"ú":[{"j":52,"r":[{".":52,"b":52,"é":51,"h":52,"i":51,"k":52,"n":52,"o":51,"r":52,"t":52}]}],"ü":[{"g":52,"l":[{"é":[{"s":52},11],"l":3}],"t":52,"v":51,"z":[{"e":[{"m":19}]}]}],"ű":[{"r":[{".":52,"i":51}]}],"y":[{"e":0}]}],"u":[{"b":[{"a":12,"b":71,"i":12,"u":6}],"c":[{"s":21}],"g":[{".":71,"a":[{"g":6,"p":6}],"á":[{"r":[{"u":6}],"s":12}],"b":71,"e":13,"é":6,"i":[{"n":6,"t":6,"v":6}],"í":6,"o":[{"r":12},71],"ö":6,"ü":6,"ű":6}],"h":[{"a":71}],"l":[{"e":[{"l":6,"n":[{"c":12}],"s":12},10],"i":[{"n":[{"á":10}]}],"ú":6,"y":[{"a":[{"g":24},32]}]}],"m":[{"a":[{"b":6,"d":13,"j":6,"l":6,"r":6,"s":12}],"e":[{"g":[{"y":[{"e":[{"z":65}]}]}],"l":6,"n":12},10],"é":[{"l":6,"n":13}],"i":[{"d":12,"n":12,"p":13}],"í":6,"k":[{"é":[{"s":[{"z":28}]}]}],"o":[{"l":6}],"ő":6,"u":[{"r":6}],"ü":6}],"n":[{"d":[{"o":48},47],"e":6,"é":12,"i":47,"ö":13}],"r":[{"a":[{"l":6,"m":6,"t":32}],"n":86,"ú":6}],"s":[{"a":[{"d":6,"k":[{"a":9}],"l":6,"n":[{"y":9},10],"s":6}],"á":[{"g":12}],"e":13,"é":[{"r":[{"t":[{"é":12}]}]}],"i":[{"s":6}],"í":12,"k":[{"é":[{"s":[{"z":28}]}]}],"o":[{"l":12}],"ó":13,"ő":6,"s":[{"z":[{"e":20,"i":20},32]},10],"t":[{"r":9},10],"ü":13,"z":[{"i":[{"k":23}],"o":[{"n":6}],"ó":21}]}],"t":[{"a":58,"á":54,"c":86,"o":[{"l":6}],"ó":[{".":6,"b":6,"i":6,"j":6,"n":6}],"u":54}]},53],"ú":[{"d":[{"r":5}],"f":[{"l":5}],"g":[{"á":71}],"j":[{"d":48,"é":54,"í":54,"s":48}],"r":[{"e":13,"é":[{"t":10}]}],"s":[{"z":[{"á":[{"s":54}]}]}],"t":[{"é":[{".":6,"r":54}],"h":48,"i":[{".":6,"a":[{"k":[{".":6,"a":117,"r":6}]}],"b":6,"g":6,"h":6,"n":6,"v":6},48],"í":54,"j":48,"n":48,"o":[{"n":54}],"r":[{"ó":48}],"t":48,"ü":6,"v":48}],"z":[{"á":71,"d":71,"ó":71}]},53],"ü":[{"d":[{"ü":6}],"g":[{"y":[{"é":[{"s":3}],"k":48}]}],"l":[{"d":[{"ö":48}],"e":[{"p":54}],"ő":[{"s":[{"e":[{"b":54,"t":54}]}]}]}],"n":[{"i":6,"n":47}],"r":[{"í":6,"ü":54}],"t":[{"e":54,"é":54,"k":48,"ő":54}],"v":[{"e":6,"ö":6}],"z":[{"e":[{"n":6}],"l":48}]},53],"ű":[{"c":[{"s":[{"a":6,"á":6,"i":[{"p":6}],"o":24}]}],"r":[{"a":6,"á":6,"é":[{"s":[{"s":38}]}],"i":[{"z":13}],"l":[{"a":48}],"ó":6,"u":6}],"z":[{"a":13,"á":12,"e":6,"é":[{"r":[{"e":12},10]}],"o":6,"ő":54,"s":6,"ú":6}]},53],"v":[{"a":[{"s":[{"u":11}]}],"á":[{"r":[{"o":[{"s":[{"é":33,"o":[{"m":43}]}]}]}]}],"e":[{"g":[{"y":[{"a":11}]}]}],"é":[{"n":[{"y":[{"e":[{"l":11}]}]}]}],"i":[{"t":[{".":0,"á":[{"c":11}],"j":0}]}]}],"y":[{"a":[{"k":5,"r":48}],"b":[{"e":6}],"j":[{"e":6}],"n":[{"e":6,"é":6}],"r":[{"e":6,"ő":6}],"s":[{"a":6,"o":6}],"t":[{"ő":6}],"v":[{"e":6}]}],"z":[{"á":[{"l":[{"l":52}],"r":[{"ó":[{"r":2}]}],"t":[{"r":9},10]}],"i":[{"n":[{"é":2}]}],"l":[{"e":6,"y":5}],"s":[{"á":[{"k":41,"m":41}],"i":41,"í":41,"o":41},0]}]}]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/2368.adapter.js b/public/tools/cloud_sheets/vendor/univer/2368.adapter.js new file mode 100644 index 0000000..d61a681 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/2368.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[2368],{2368(s,o,e){e.r(o),e.d(o,{Hy:()=>n});const n=["01",'{"և":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ա":[{"բ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"գ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"դ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"զ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"թ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ժ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"լ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"խ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ծ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"կ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"հ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ձ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ղ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ճ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"մ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"յ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ն":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"շ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"չ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"պ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ջ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ռ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ս":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"վ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"տ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ր":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ց":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"փ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ք":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}]}],"ե":[{"բ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"գ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"դ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"զ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"թ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ժ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"լ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"խ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ծ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"կ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"հ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ձ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ղ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ճ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"մ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"յ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ն":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"շ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"չ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"պ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ջ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ռ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ս":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"վ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"տ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ր":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ց":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"փ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ք":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}]}],"է":[{"բ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"գ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"դ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"զ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"թ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ժ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"լ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"խ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ծ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"կ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"հ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ձ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ղ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ճ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"մ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"յ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ն":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"շ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"չ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"պ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ջ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ռ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ս":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"վ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"տ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ր":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ց":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"փ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ք":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}]}],"ը":[{"բ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"գ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"դ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"զ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"թ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ժ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"լ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"խ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ծ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"կ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"հ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ձ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ղ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ճ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"մ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"յ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ն":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"շ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"չ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"պ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ջ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ռ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ս":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"վ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"տ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ր":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ց":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"փ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ք":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}]}],"ի":[{"բ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"գ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"դ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"զ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"թ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ժ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"լ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"խ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ծ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"կ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"հ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ձ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ղ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ճ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"մ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"յ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ն":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"շ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"չ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"պ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ջ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ռ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ս":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"վ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"տ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ր":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ց":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"փ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ք":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}]}],"ո":[{"բ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"գ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"դ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"զ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"թ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ժ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"լ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"խ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ծ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"կ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"հ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ձ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ղ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ճ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"մ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"յ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ն":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"շ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"չ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"պ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ջ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ռ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ս":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"վ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"տ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ր":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ց":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"փ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ք":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}]}],"օ":[{"բ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"գ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"դ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"զ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"թ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ժ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"լ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"խ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ծ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"կ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"հ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ձ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ղ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ճ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"մ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"յ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ն":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"շ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"չ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"պ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ջ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ռ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ս":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"վ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"տ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ր":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ց":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"փ":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}],"ք":[{"ա":0,"ե":0,"է":0,"ը":0,"ի":0,"ո":0,"օ":0}]}]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/2635.adapter.js b/public/tools/cloud_sheets/vendor/univer/2635.adapter.js new file mode 100644 index 0000000..9bc686c --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/2635.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[2635],{2635(s,o,e){e.r(o),e.d(o,{Th:()=>n});const n=["0003,005,000005,001,004,003,21,04,05,01,2,03,055,14,02,4,1,0001,00003,3,45,0004,0005,002,00004,00000005,00005,000000005,0045,22,0034,045,054,044,5,102,44,0000005,0401,0055,0044,06,6,67,56,76,0007,07,006,0006,007,00006,7,00007,000000006,0000006,0000007",'{".":[{"ก":[{"ั":[{"น":0}]},41],"ช":[{"ี":[{"ว":[{"ั":1}]}]},41],"ท":[{"ั":[{"ศ":[{"น":[{"ู":2}]}]}],"ี":[{"่":0}]},41],"บ":[{"ท":3},41],"ร":[{"ง":4,"า":[{"ย":0}],"ม":[{"ณ":[{"ี":50}]}],"ั":[{"ม":[{"ณ":[{"ี":46}]}]}]},41],"ล":[{"ำ":5},41],"ส":[{"น":[{"ท":1}],"ู":[{"ต":5}],"ิ":[{"ท":[{"ธ":[{"ิ":[{".":49}]}]}]}]},41],"ใ":[{"บ":5}],"ข":41,"ฃ":41,"ค":41,"ฅ":41,"ฆ":41,"ง":41,"จ":41,"ฉ":41,"ซ":41,"ฌ":41,"ญ":41,"ฎ":41,"ฏ":41,"ฐ":41,"ฑ":41,"ฒ":41,"ณ":41,"ด":41,"ต":41,"ถ":41,"ธ":41,"น":41,"ป":41,"ผ":41,"ฝ":41,"พ":41,"ฟ":41,"ภ":41,"ม":[{"ก":[{"ร":[{"า":50}]}]},41],"ย":[{"ี":[{"่":46}]},41],"ฤ":[{"ท":[{"ั":[{"ย":41}]}]},41],"ฦ":41,"ว":[{"ส":[{"ล":[{"ะ":50}]}]},41],"ศ":41,"ษ":41,"ห":41,"ฬ":41,"อ":41,"ฮ":41,"เ":[{"ห":[{"ย":[{"ง":48}]}]}]}],"ก":[{"ก":[{"ม":7,"ส":4,".":34},6],"ข":[{"ค":[{"ณ":1},7],"ช":[{"า":1},7],"ณ":[{"ะ":8,"า":8},7],"บ":[{"ุ":1},7],"ภ":[{"ั":1},7],"ม":[{"ั":8,"า":1,"ู":1},7],"ล":[{"า":1}],"ศ":[{"ั":1}],"เ":[{"ท":1,"ว":1},7],"์":7},6],"ค":9,"ง":[{"บ":[{"ว":1}],".":34}],"จ":9,"ช":9,"ซ":10,"ญ":[{"จ":[{"น":1}]}],"ฎ":[{"ห":[{"ม":1}],"เ":[{"ก":1}],".":52}],"ฏ":[{"ห":[{"ม":1}],".":52}],"ด":[{"ิ":[{"น":8}],"ี":47}],"ต":[{"ด":[{"ิ":1},7],"ส":7,"เ":7},9],"ท":9,"น":[{"ด":7,"ธ":7,"ะ":41},9],"บ":[{".":34},9],"ป":[{"ร":4},9],"พ":9,"ฟ":9,"ม":[{"ม":7,"ส":7,"เ":7},9],"ย":[{"ม":[{"ุ":1}],"้":11,"ะ":47}],"ร":[{"ก":[{"ฎ":1}],"ณ":[{"ั":12}],"ต":[{"๋":1}],"ร":[{"า":1,"ก":[{"ศ":46}]},13],"ล":[{"า":1}],"ว":[{"ร":1}],"า":[{"ค":8}],"ิ":[{"น":[{"ท":8}]}],"ู":7,"ไ":[{"ฟ":1}],".":34,"ส":41}],"ล":[{"น":[{"ค":1}],"ม":[{"ห":1}]}],"ว":[{"ั":[{"ต":8}]},14],"ษ":[{"ณ":[{"น":8,"ะ":11,"า":8}],"ม":[{"า":8,"ี":8}],"เ":[{"ท":1}]}],"ส":[{"น":4,"โ":7,"ี":47},9],"ห":9,"อ":[{"อ":[{"ิ":1}]}],"ะ":[{"ถ":[{"ั":1}],"ผ":[{"ล":1}],"ร":15}],"ั":16,"า":[{"ก":[{"ะ":1}],"ด":[{"ู":1}],"น":[{"ี":1,"้":1}],"บ":[{"อ":1}],"ฝ":[{"า":1}],"ร":[{"อ":1,"่":1}]},16],"ำ":[{"ด":[{"้":1}],"ท":[{"อ":1}],"ผ":[{"ล":1}]}],"ิ":[{"ก":[{"ะ":1}],"ต":4,"น":[{"ี":1}],"์":[{".":42}],".":34},16],"ี":[{"ร":[{"ณ":1,"ต":1}],"ส":[{"ถ":1}],".":34}],"ุ":[{"ง":[{"อ":1}],"ช":[{"ิ":1}],"ฎ":[{"ุ":1}],"ม":[{"ุ":1}],"ร":[{"ร":1}],"ล":[{"ี":1}],"แ":[{"ห":1}],"์":[{".":42}],"ณ":[{"ฑ":[{"์":49}]},22]},16],"ู":[{"ป":[{"ร":1}],"ร":[{"ข":1,"ม":1}],"ล":[{"ิ":1}]},16],"เ":9,"แ":9,"โ":9,"ไ":9,"่":[{"ก":[{"อ":1}],"บ":[{"้":1}],"ป":[{"่":1}]}],"์":[{"ท":[{"็":1}],".":42}],".":42,"ณ":[{"ะ":47}],"ฝ":47}],"ข":[{"ม":[{"ห":[{"ิ":1}]}],"ล":[{"า":15}],"อ":[{"ข":[{"ม":1}],"ง":[{"้":1}],"อ":[{"ภ":1}]}],"ั":[{"ด":[{"ส":[{"ม":[{"า":[{"ธ":[{"ิ":55}]}]}]}]}]},16],"า":[{"ก":[{"๊":1}],"ท":[{"น":1}]},16],"ิ":[{"ป":[{"ส":1}],"์":[{".":42}]}],"ี":[{"้":17}],"่":[{"ม":[{"ุ":1}],"ห":[{"ง":1}]}],"้":[{"า":[{"ว":18}]}],".":42,"์":[{".":42}],"ุ":[{"์":[{".":42}]}],"บ":[{"ถ":41}]},14],"ค":[{"ค":9,"ช":[{"ส":[{"ี":1}],"เ":7},9],"ณ":[{"ิ":7}],"ท":[{"ร":[{"ี":1},7],"ว":[{"อ":1}]}],"น":[{"ย":[{"อ":1}],"ิ":15,"ะ":47,".":34}],"ป":[{"ซ":[{"ู":1}],"ผ":[{"ก":1}]}],"ม":[{"น":19,"ฟ":[{"ร":1}],"ล":[{"อ":1}]}],"ย":[{"ะ":47},10],"ร":[{"ซ":[{"อ":1}],"น":[{"อ":1,"ี":1}],"พ":[{"น":1}],"ม":[{"เ":1}],"ร":[{"้":1}],"ล":[{"ิ":1}],"ห":[{"า":1}],"ั":[{"ก":20}],"า":[{"ต":8}],"ู":41}],"ฤ":[{"ห":[{"บ":1,"า":1}],"โ":[{"ฆ":1}]}],"ล":[{"ค":[{"ู":1}]}],"ว":[{"ท":[{"อ":1}],"า":19},14],"ส":[{"ต":[{"ิ":1}]},10],"ห":[{"ก":[{"ร":1}],"น":[{"ิ":1}],"บ":[{"ด":1}],"ส":[{"ถ":1}],"ะ":41,"า":47}],"อ":[{"น":19}],"ั":[{"น":19}],"า":[{"ป":[{"ู":1}],"พ":[{"จ":1,"ย":1}],"ร":[{"ว":1}],"ว":[{"จ":1}],"ม":[{"ณ":[{"ี":46}]}]},16],"ำ":[{"ด":[{"ี":1}],"โ":[{"อ":1}],"ไ":[{"ก":1}]},52],"ุ":[{"ณ":[{"ู":1}],"ล":[{"ี":1}],"์":[{".":42},15],"ป":[{"ต":[{"ิ":46}]}]},16],"ู":[{"ป":[{"อ":1}],"ล":[{"อ":1}],".":52}],"เ":6,"โ":9,"์":[{"จ":[{"ำ":1}],".":42},10],".":42,"ิ":[{"์":[{".":42}]}],"ต":[{"ะ":41}],"ี":[{"ย":[{"ะ":50}],".":52}],"บ":[{".":34}],"ะ":34}],"ฆ":[{"า":[{"ณ":[{"ั":1}]},16],"ี":[{"ย":[{"ก":1,"ะ":50}],".":52}],".":42,"์":[{".":42}],"ิ":[{"์":[{".":42}]}],"ุ":[{"์":[{".":42}]}],"ะ":34}],"ง":[{"ก":[{"ห":7,"ะ":[{"ร":21}],"เ":7,"์":7},9],"ข":[{"ก":7,"ต":7},9],"ค":[{"จ":7,"ช":[{"า":[{"ต":[{"ิ":8}]}]},7],"ญ":7,"ธ":7,"บ":7,"ป":7,"ว":[{"ั":1}],"ศ":7,"โ":7},9],"ฆ":[{"ป":[{"ร":1}],"ส":[{"ภ":1}],"เ":[{"ถ":1,"ภ":1}]}],"ง":[{"เ":7,".":34},9],"จ":9,"ฉ":9,"ช":[{"ี":7},9],"ซ":9,"ด":9,"ต":[{"ก":47},9],"ท":9,"น":9,"บ":[{"ด":[{"ุ":1}]}],"ป":9,"ผ":9,"พ":9,"ม":9,"ย":9,"ร":9,"ล":9,"ว":[{"เ":7,"ด":41,"น":41,"ย":41},9],"ส":[{"ก":[{"ล":1,"ุ":1}],"บ":7,"พ":[{"ย":1},7],"ภ":7},9],"ห":[{"น":[{"า":1}],"บ":[{"ั":1},7],"ร":[{"า":1}],"ล":47},9],"า":[{"ช":[{"้":1}],"ร":[{"ำ":1}]},16],"ู":[{"ส":[{"ว":1}]},52],"เ":9,"แ":9,"โ":9,"ไ":9,"่":[{"ง":[{"อ":1}]}],".":42,"์":[{".":42}],"ิ":[{"์":[{".":42}]}],"ุ":[{"์":[{".":42}]}],"ำ":34,"อ":[{"ร":[{".":47}],"อ":[{".":47}]}]}],"จ":[{"จ":[{"ว":7},9],"ฉ":9,"ด":[{"จ":[{"่":1}],".":34}],"ต":[{"จ":[{"ำ":1}],"ม":[{"ู":1}],"ร":[{"ิ":1}]}],"ป":[{"ก":4}],"ฟ":[{"ฟ":[{"ร":1}]}],"ม":[{"บ":[{"พ":22}]}],"ร":[{"ิ":19,"ส":41,".":34}],"อ":[{"ง":[{"อ":1}],".":34}],"ั":16,"า":[{"ม":[{"ร":1}],"ร":[{"ึ":1}]},16],"ำ":[{"ท":[{"ว":1}],"อ":[{"ว":1}]},52],"ิ":[{"จ":[{"ู":1}],"ต":[{"อ":1}],"์":[{".":42}]},16],"ี":[{"ด":[{"ี":1}]}],"ุ":[{"ฑ":[{"า":1}],"ส":[{"ม":1}],"์":[{".":42}],"ร":[{"ณ":48}]}],"ู":[{"ป":[{"ิ":1}]}],"เ":9,".":42,"์":[{".":42}],"น":[{"ท":[{"ี":[{".":48},48]}]}],"ะ":[{".":34}],"บ":[{".":34}],"่":[{"า":[{"ร":46}]}]}],"ฉ":[{"ก":[{"ฉ":[{"ว":1}],"ษ":4}],"ท":[{"ท":[{"ิ":1}]}],"ร":[{"ฉ":[{"ิ":1}]}],"ั":16,"า":[{"ก":[{"๊":1}],"พ":[{"ย":1}]},16],".":42,"์":[{".":42}],"ิ":[{"์":[{".":42}]}],"ุ":[{"์":[{".":42}]}],"น":[{"ี":41}],"ป":[{"ะ":41}],"ล":[{".":34}]},14],"ช":[{"ช":9,"ฌ":[{"ก":7,"ฆ":7},9],"ด":[{"ช":[{"้":1}]}],"น":[{"ี":[{"ก":8}],"์":15,".":34}],"บ":9,"ฟ":[{"ร":[{"อ":1}],"โ":[{"ร":1}]}],"ร":[{"ก":[{"ล":1}],"ร":[{"ิ":1}],"ฤ":[{"ก":1}],"ห":[{"ล":1,"ึ":1}],"อ":[{"ุ":1}],"า":[{".":41},11],"ี":[{".":47}],"ะ":8,"ถ":[{".":47}]}],"ว":[{"โ":4,"า":[{".":41}]}],"อ":[{"ง":21}],"ั":16,"า":[{"ต":[{"ร":1},23],"ป":[{"ี":1}],"ม":[{"ต":1}],"ย":[{"ต":1}],"ส":[{"ง":1}]},16],"ำ":[{"ง":[{"ั":1}]}],"ิ":[{"น":[{"ี":1}],"ร":[{"ณ":1}],"แ":[{"ก":1}],"์":[{".":42}]}],"ี":[{"ผ":[{"ะ":1,"้":1}],"ฟ":[{"อ":1}],"ร":[{"ณ":1}],"ว":[{"น":1},16]}],"ุ":[{"ต":[{"ิ":1}],"ล":[{"ด":1}],"์":[{".":42}]}],"ู":[{"ป":[{"ก":1,"ถ":1,"โ":1}]},34],"เ":9,"่":[{"อ":[{"ิ":1}]}],"้":[{"ส":[{"อ":1}],"ไ":[{"ด":1}]}],".":42,"์":[{".":42}],"ไ":41,"ล":[{".":34}],"ก":[{".":34}],"ญ":[{"ะ":47}],"ต":[{"ก":[{".":47}]}]}],"ซ":[{"ก":[{"ซ":[{"อ":1}]}],"น":[{"ท":[{"ร":1}],".":34}],"ร":[{"า":[{"ม":8}]}],"ล":[{"ฟ":[{"ี":1}]}],"ั":16,"า":[{"ช":[{"ู":1}],"ม":[{"ู":1}]},16],"ิ":[{"ต":[{"ร":1}],"แ":[{"ล":1}],"์":[{".":42}]},16],"ี":[{"ด":[{"ี":1}],"น":[{"ี":1}],"ร":[{"า":1,"ิ":1,"็":1}],"ล":[{"ี":1}],".":52}],"ึ":[{"ม":19}],"ู":[{"ซ":[{"ู":1,"ุ":50}],"บ":[{"ิ":1}],"ร":[{"ิ":1}],"ล":[{"ิ":1}],"ฮ":[{"า":1,"ก":50}]},52],"เ":9,"โ":9,"่":[{"ง":[{"่":1}],"ซ":[{"้":1}],"า":16}],"์":[{"ค":[{"ล":1}],".":42}],".":42,"ุ":[{"์":[{".":42}]}],"อ":34,"ฟ":[{"ี":47}]}],"ญ":[{"จ":[{"ด":[{"ุ":1}],"น":[{"ท":12,"บ":12,"า":8},7],"บ":[{"ร":1}],"ม":[{"บ":12}],"ร":[{"ง":1}],"ว":[{"ี":1}],"ศ":[{"ี":1}]}],"ฉ":[{"น":7}],"ช":9,"ญ":9,"ป":[{"ร":[{"ะ":24}]}],"า":[{"ญ":[{"่":1}],"ต":4},16],"่":[{"บ":[{"้":1}]}],".":42,"์":[{".":42}],"ิ":[{"์":[{".":42}]}],"ุ":[{"์":[{".":42}]}],"ี":34}],"ฏ":[{"ฐ":[{"บ":7},9],"ิ":[{"ท":[{"ิ":1}],"ป":[{"ท":1,"ุ":1}],"ส":[{"น":1,"ว":1}],"์":[{".":42}]}],".":42,"์":[{".":42}],"ุ":[{"์":[{".":42}]}],"ว":[{"ี":[{".":47}]}],"ะ":[{".":34}],"ฏ":[{"ิ":[{".":47}]}]}],"ฐ":[{"ภ":[{"ั":7}],"ม":[{"ฌ":[{"า":1}],"พ":[{"ย":1}],"ฤ":[{"ก":1}]}],"า":[{"น":[{"ี":1}]},16],"ุ":[{"ช":[{"ุ":1}],"์":[{".":42}]}],".":42,"์":[{".":42}],"ิ":[{"์":[{".":42}]}],"ะ":34}],"ฑ":[{"า":[{"ม":[{"ณ":1}],"ส":[{"ถ":1}]}],"ู":[{"ร":19}],".":42,"์":[{".":42}],"ิ":[{"์":[{".":42}]}],"ุ":[{"์":[{".":42}]}],"ฑ":[{"ุ":47}]}],"ฒ":[{"ิ":[{"ส":[{"ภ":1,"ม":1}],"์":[{".":42}]}],".":42,"์":[{".":42}],"ุ":[{"์":[{".":42}]}]}],"ณ":[{"ฑ":[{"ก":7,"ฆ":7,"น":[{"ะ":8},7],"บ":7,"ม":7,"ล":[{"า":1}],"ส":[{"ก":8,"ถ":1,"ี":12},7],"โ":[{"ล":1}],"์":7},9],"ย":[{"ร":[{"ั":1}]}],"ร":[{"ส":[{"ี":48}]},9],"ว":[{"า":7}],"ห":[{"พ":[{"ล":1}],"ภ":[{"ู":1}],"า":47}],"า":[{"ป":[{"ี":1}],"ว":[{"ร":1}]},16],"ิ":[{"์":[{".":42}]},16],"ี":[{"ส":[{"ง":1}],"ย":[{"ะ":50}]},16],"ู":[{"ป":[{"โ":1}]},34],".":42,"์":[{".":42}],"ุ":[{"์":[{".":42}]},52],"ณ":[{"ะ":47}],"ส":[{"ี":47}],"ม":[{"ี":47}],"พ":[{".":52}]}],"ด":[{"ก":[{"ง":7,"ด":[{"ื":1},7],"เ":7,"แ":7,".":34},9],"ข":9,"ค":9,"ง":[{"ค":[{"ต":50},4],"อ":[{"อ":1}]}],"ช":[{"น":[{"ะ":8}],"ะ":47}],"ด":[{"เ":7},9],"ต":9,"ท":9,"ป":9,"พ":9,"ม":[{"ค":[{"ต":1}],".":34}],"ร":[{"ล":[{"ิ":1}],"ู":7,"้":11,"์":15,"ส":41,".":34}],"ส":[{"ก":7,"เ":4},9],"ห":9,"ั":16,"า":[{"ม":[{"ุ":1}],"ร":[{"ก":1}],"ส":[{"ว":1}]},16],"ำ":[{"ฤ":[{"ษ":1}]},34],"ิ":[{"ท":[{"อ":1,"ิ":1}],"บ":[{"ด":[{"ี":46}]},4],"ว":[{"ร":1}],"ศ":[{"ว":1,"ร":50}],"์":[{".":42},15]}],"ี":[{"ด":[{"ี":1}],"น":19,"ฝ":[{"่":1}],"ร":[{"อ":1}],"ล":[{"ิ":1}],"ว":[{"ี":1}],"ห":[{"ม":1,"ว":1}]}],"ู":[{"ถ":[{"ู":1}],"ป":[{"อ":1}],"ร":[{"ั":1}],"ห":[{"ม":1}],"แ":[{"ค":1}]}],"เ":9,"แ":9,"โ":9,"้":[{"ย":[{"ิ":1}]}],"์":[{"ป":[{"ร":1}],"ส":[{"ป":1}],".":42},10],".":42,"ุ":[{"์":[{".":42}]}],"ล":[{".":34,"ะ":47,"ม":[{".":47}]}],"น":[{"ู":41}],"อ":[{".":34}]}],"ต":[{"ก":[{"ร":[{"้":1}],"ล":[{"ง":50}]},10],"ค":9,"ช":6,"ต":[{"ภ":7,"ส":[{"ด":1},7],"โ":7},6],"ถ":[{"ก":[{"ะ":8,"ิ":1}],"า":11,"ุ":[{"ป":8,"ศ":8}],"เ":[{"ล":1}],"ี":8,"ิ":47,"ร":[{".":47}]}],"ท":[{"ั":[{"ศ":[{"น":[{"ู":[{"ป":25}]}]}]}]}],"น":[{"ฟ":[{"อ":1}],"ว":[{"ร":1}]},10],"บ":[{"ช":[{"ว":1},7]},6],"ป":[{"น":[{"ี":1}]}],"ภ":9,"ย":10,"ร":[{"ก":15,"ง":[{"อ":1}],"จ":[{"ี":1,"ุ":1}],"ฐ":15,"ต":[{"ร":1}],"ท":[{"ว":1}],"ผ":[{"ล":1}],"ฝ":[{"ร":1}],"พ":[{"ล":1}],"ร":[{"ง":1}],"ล":[{"ด":1}],"ศ":15,"ิ":[{"ย":[{"า":8}]}],"ู":7,"์":10,".":42}],"ฤ":[{"ต":[{"ี":1}]}],"ล":[{"ร":[{"ั":1}]}],"ส":[{"ว":[{"า":1}],"เ":[{"ซ":1},4],"แ":[{"ต":1}]}],"อ":[{"ม":[{"่":1}]}],"ะ":[{"ใ":[{"ภ":1}],".":34}],"ั":[{"ว":[{"ต":[{"น":46}]}]},16],"า":[{"ก":[{"ล":1,"ว":1}],"น":[{"ึ":1}],"ป":[{"ร":1,"ล":1}],"ผ":[{"ิ":1}],"ฟ":[{"ู":1}],"ม":[{"ห":5,"อ":1,"ะ":1}],"ฬ":[{"ี":1}]},16],"ิ":[{"ก":[{".":16}],"จ":[{"ู":1}],"ช":[{"่":1}],"ซ":[{"อ":1}],"ท":[{"ิ":1}],"น":[{"ร":1}],"บ":[{"อ":1}],"ม":5,"ย":[{"ภ":1,"ม":1}],"์":[{".":42},15],"ง":[{"ส":[{"ต":[{"ิ":53}]}]}]}],"ี":[{"ข":[{"ล":1}],"ค":[{"ู":1}],"ต":[{"ื":1}],"ร":[{"ว":1}],"ล":[{"ั":1}],"้":[{".":19}]}],"ุ":[{"ต":[{"ถ":1}],"ท":[{"ส":1}],"ป":[{"่":1}],"ม":[{"ห":1}],"ร":[{"ก":1}],"ล":[{"ั":1}],"ส":[{"ด":1}],"์":[{".":42}]}],"ู":[{"ด":[{"ิ":1}],".":34}],"เ":9,"แ":[{"ล":11}],"โ":9,"่":[{"ถ":[{"า":1}],"ว":[{"่":1}],"ส":[{"ว":1}]}],"้":[{"ก":[{"๋":1}],"ต":[{"อ":1}],"ฝ":[{"ุ":1}]}],"๋":[{"เ":[{"ต":1}]}],"์":[{"ค":[{"ล":1}],"ฟ":[{"ู":1}],"ศ":[{"ต":1}],".":42}],".":42,"ด":[{"ี":47}],"ม":[{"ะ":41}]}],"ถ":[{"ก":[{"ิ":7}],"ด":[{"ถ":[{"อ":1}]}],"ม":[{"ถ":[{"ื":1}]}],"ล":[{"ไ":[{"ถ":1}]}],"ว":[{"ไ":[{"ม":1}],"ี":[{".":47}]}],"ะ":[{"ถ":[{"ั":1}]},52],"า":[{"ธ":7,"ว":[{"ร":1}]}],"ี":[{"ย":7,"ล":[{"ิ":1}]}],"ุ":[{"น":19,"์":[{".":42}]}],"่":[{"ถ":[{"อ":1,"า":1}]}],".":42,"์":[{".":42}],"ิ":[{"์":[{".":42}]}],"ร":[{"ะ":47,"ี":47}]}],"ท":[{"ก":[{"า":15,".":34,"ร":[{"ก":50}]}],"ค":[{"ต":[{"ิ":1}],"น":[{"ี":1}],"ล":[{".":47}]}],"ด":[{"ร":[{"อ":1}],"ล":[{"อ":1}],".":34}],"ธ":[{"ค":[{"ย":1}],"ช":[{"ะ":8}],"ฎ":[{"ี":1}],"ป":[{"ฏ":1}],"พ":[{"ร":1}],"ร":[{"ั":1}],"ศ":[{"ต":1}],"ส":[{"ี":1}],"อ":[{"ง":1}],"ิ":[{"ก":8,"ช":8,"บ":8,"ป":8,"ผ":8,"พ":8,"ภ":8,"ร":8,"ฤ":8,"ศ":8,"ส":8,"โ":8}],"เ":[{"จ":1}]}],"พ":[{"ธ":[{"ิ":1}],"ย":[{"ุ":1}],"น":[{"ม":[{".":50}]}]}],"ฟ":[{"ล":[{"อ":1}]}],"ย":[{"า":[{"น":8}],"ะ":47},10],"ร":[{"ค":[{"ต":1,"ร":1}],"ธ":[{"น":1}],"ร":19,"ส":[{"โ":1},41],"ห":[{"ว":1,"ึ":1}],"ั":19,"า":[{"ก":8,"ห":20},16],"ี":16,"พ":[{"ี":50}],"ะ":[{".":47}]}],"ว":[{"ท":[{"ห":1}],"ส":[{"ถ":1}]}],"ศ":[{"ท":[{"ิ":1}],"ว":[{"ร":1}]}],"ส":[{"น":[{"ท":22}],"ล":[{"า":50}]}],"ห":[{"ว":[{"ั":1}],"ฬ":[{"ิ":1}],"ะ":41,"ร":[{"ะ":50}]}],"ั":16,"า":[{"ฐ":[{"ิ":1}],"ฒ":[{"ิ":1}],"น":[{"อ":1}],"ม":[{"ต":1,"ร":1}],"ร":[{"พ":1}]},16],"ำ":[{"ข":[{"ว":1}],"ซ":[{"้":1}],"ท":[{"่":1}],"โ":[{"ท":1}]}],"ิ":[{"ฆ":[{"ั":1}],"ฐ":[{"ิ":1}],"พ":[{"า":1},4],"ว":[{"ง":1}],"์":[{".":42}]}],"ี":[{"น":[{"ว":1,"อ":1,"ี":1}],"ร":[{"า":1}],".":34}],"ุ":[{"ค":[{"ต":1}],"ต":[{"ิ":1}],"ล":[{"ั":1}],"ศ":[{"ี":1}],"์":[{".":42}],".":52}],"ู":[{"น":[{"่":1}]},16],"เ":9,"์":[{"ด":[{"อ":1}],".":42},10],".":42,"ณ":[{"ะ":47}],"ล":[{"ี":47}],"ท":[{"ะ":47}],"โ":[{"ท":47}]}],"ธ":[{"ร":[{"ส":15,"ั":15},16],"า":[{"ร":[{"ณ":[{"า":1}]}],"ต":[{"ุ":[{".":48}]}]},16],"ิ":[{"ฤ":[{"ท":1}],"ศ":[{"ี":1}],"ส":[{"ม":1}],"์":[{".":42}]}],"ุ":[{"ด":[{"ง":1}],"ล":[{"ี":1}],"์":[{".":42}]}],"ู":[{"ป":[{"น":1}]}],".":42,"์":[{".":42}],"ไ":[{"น":41}],"ค":[{"ย":[{"า":48}]}],"ย":[{"ะ":47}],"น":[{"ู":41}],"ะ":52,"ี":34,"ก":[{".":34}],"ม":[{".":34}],"ต":[{"ร":[{"ฐ":50}]}]}],"น":[{"ก":[{"ค":7,"ป":7,"ย":[{"ู":1}],"ร":[{"ู":1}]},9],"ข":[{"ล":[{"ิ":1}]},9],"ค":[{"ร":[{"ิ":1,".":41}]},9],"จ":[{"อ":[{"น":1},7]},9],"ช":[{"ญ":7},9],"ซ":9,"ด":9,"ต":[{"ก":[{"ว":1,"ะ":8}],"ด":[{"ิ":1}],"ท":[{"ิ":1},7],"ป":[{"ิ":1}],"ภ":7,"ร":[{"ะ":8,"ั":8,"า":11,"ิ":12}],"ฤ":[{"ด":1}],"ิ":11,"ุ":[{"ก":8,"ฏ":8,".":47}],"์":7,"ี":47},9],"ถ":[{"ธ":[{"ุ":1}],"ร":[{"จ":1}]}],"ท":[{"ข":[{"ี":1}],"น":[{"น":1,"ะ":8}],"ผ":[{"ล":1}],"ย":4,"ร":[{"ง":8,"ุ":8,".":47}],"ฤ":[{"ก":1}],"ล":[{"า":8}],"ว":[{"ย":8}],"อ":11,"ิ":9,"ี":11,"ะ":47,"ม":[{".":47}]}],"ธ":[{"ก":[{"ร":1,"ะ":8}],"น":[{"ะ":8}],"ุ":[{"ก":8,"ร":8,"ว":8,"ศ":8}],"ไ":[{"ม":1}]}],"น":[{"ต":7,"ท":7,"ร":[{".":47},7]},9],"บ":[{"น":[{"อ":1}]},9],"ป":[{"จ":[{"ู":1},7],"ท":7},9],"พ":[{"ป":[{"ฎ":1}],"ศ":[{"ู":1}],".":52},9],"ภ":[{"ศ":[{"ู":1}]}],"ย":[{"น":[{"ต":8}],"ำ":47,"ิ":47,"ะ":47,"ง":47}],"ร":[{"า":11,"ำ":47,"ี":[{".":8}],"น":[{".":47}],"ถ":[{".":47}]}],"ฤ":[{"ค":[{"ห":1}],"ป":[{"เ":1}],"เ":[{"ท":1,"บ":1}]}],"ล":[{"ล":7},9],"ว":[{"ร":[{"่":1}],"ก":[{"ะ":50}]}],"ศ":9,"ษ":[{"ก":[{"ร":1}]}],"ส":[{"ฟ":[{"อ":1}],"แ":[{"ด":1,"ต":1}]},9],"ห":9,"อ":[{"ก":[{"ะ":1}],"น":19}],"ั":[{"ก":46},16],"า":[{"ค":[{"ร":[{".":50},4]}],"ณ":[{"ั":1}],"ป":[{"ร":1}],"ร":[{"ย":1}],"ว":[{"ต":1,"ล":1}],"ส":[{"ณ":1,"น":1,"ว":1}],"ฬ":[{"ิ":1}],"ะ":15},16],"ิ":[{"จ":[{"ู":1}],"ด":[{"้":1}],"ฟ":[{"อ":1}],"ม":[{"น":[{"า":49},1]}],"ย":[{"ม":1,"า":1,"ต":50}],"ร":[{"อ":1}],"ล":[{"ุ":1}],"ว":[{"ร":1}],"ส":[{"ง":1,"ถ":1,"ี":1}],"แ":[{"ด":1}],"์":[{".":42}],"ค":[{"ห":[{"ะ":46}]}]},16],"ุ":[{"พ":[{"ย":1}],"์":[{".":42}]},16],"ู":16,"เ":6,"แ":9,"โ":9,"ไ":9,"่":[{"อ":[{"ี":1}]}],"้":[{"อ":19,"ำ":16}],"์":[{"ส":[{"ไ":1}],".":42}],".":42,"ง":[{"ก":47}],"ำ":34,"ี":[{".":34,"ย":[{"ะ":50}]}]}],"บ":[{"ก":[{"ษ":7,"ิ":[{"ส":26}],"แ":7},9],"ข":9,"ค":[{"ท":[{"ี":1},7],"โ":7},9],"ด":[{"ี":[{".":16}]}],"ท":[{"ค":[{"ว":41}],".":34},9],"บ":[{"ฉ":[{"บ":1}],"ฝ":[{"ึ":1}],"อ":[{"ย":1}]}],"ป":9,"พ":9,"ร":[{"ม":[{"ี":1}],"ั":[{"ด":8}],"ร":[{"จ":46,"ถ":46,"พ":[{"ต":46}]}]}],"ส":[{"บ":7,"เ":4,".":34},9],"ห":9,"อ":[{"ด":[{"ี":1}],"ร":[{"ะ":1}],"ล":19}],"ั":[{"พ":[{"พ":[{"า":[{"ช":[{"น":[{"ี":27}]}]}]}]}]},16],"า":[{"จ":[{"ร":22}],"ต":[{"อ":1},4],"ท":[{"า":1,"ุ":1},23],"ร":[{"น":1,"อ":1}],"ส":[{"ม":1}]},16],"ิ":[{"ก":[{"้":1}],"ช":[{"อ":1}],"น":19,"์":[{".":42}],"ว":[{"ล":[{"า":46}]}]}],"ี":[{"ค":[{"ิ":1}],"ร":[{"่":1}]}],"ุ":[{"ค":0,"ต":[{"ร":[{".":48},1]}],"ถ":[{"ุ":1}],"ร":[{"พ":1,"ิ":[{"ม":[{"ส":[{"ิ":[{"ท":[{"ธ":[{"ิ":[{".":54}]}]}]}]}]}]}]}],"์":[{".":42}]},16],"ู":[{"ช":[{"น":28}],"ต":[{"ิ":1}],"ย":[{"่":1}]},16],"เ":9,"แ":9,"โ":9,"๊":[{"จ":[{"ี":1}],"เ":[{"บ":1}]}],".":42,"์":[{".":42}],"ถ":[{".":34}],"ะ":[{".":34}],"ย":[{"ก":[{".":47}],"ล":[{".":47}]}],"ต":[{"ก":[{".":47}]}]}],"ป":[{"ก":[{"ส":4}],"จ":[{"ั":7,"า":7}],"ฐ":[{"ป":[{"ท":1}],"พ":[{"ี":1}],"ว":[{"ี":50}]}],"ต":[{"ถ":[{"ก":1}],"พ":[{"ล":1}]}],"ป":[{"เ":7},9],"ม":[{"ด":[{"้":1}]}],"ย":[{"ุ":7,"ะ":47}],"ร":[{"ต":[{"อ":1,"ิ":1,"ี":1,"ุ":1}],"ผ":[{"ั":1}],"ษ":[{"ณ":1}],"ะ":16,"ิ":[{"ค":8}],"แ":[{"ก":1,"ท":1}],"ไ":[{"บ":1,"ฟ":1}]}],"ล":[{"ญ":[{"ว":1}]}],"ว":[{"า":7}],"ส":[{"ต":4}],"ั":16,"า":[{"ฐ":[{"ก":1}],"ณ":[{"ก":1}],"น":[{"ี":1}],"ป":[{"ิ":1}],"ร":[{"เ":1},21]},16],"ิ":[{"ด":[{"อ":1,"ิ":1}],"ย":[{"ภ":1,"อ":1}],"ห":[{"ก":1}],"์":[{".":42}]}],"ี":[{"ช":[{"ี":1}],"ฬ":[{"ก":1}],"่":0,".":52}],"ุ":[{"ค":[{"ล":1}],"ถ":[{"ุ":1}],"์":[{".":42}]}],"ู":[{"จ":[{"๋":1}],"ต":[{"ิ":1}]}],"เ":9,"ไ":9,".":42,"์":[{".":42}],"โ":[{"ย":41,"ภ":41},8],"ธ":[{"ิ":47}],"ะ":[{".":34}],"ท":[{"ม":[{".":47}],"า":[{".":41}]}],"ผ":[{"ะ":47}]}],"ผ":[{"ก":[{"ผ":[{"ั":1}]}],"ณ":[{"ิ":[{"ศ":22}]}],"น":[{"ผ":[{"ั":1}],"ิ":7}],"ย":[{"า":7,"อ":[{".":41}]}],"ล":[{"พ":[{"ล":1}],"ไ":[{"ม":1}]},34],"ส":[{"า":7}],"ี":[{"ด":[{"ิ":1}],"ต":[{"อ":1}],"ถ":[{"้":1}],"ห":[{"่":1}]},34],"้":[{"า":0}],".":42,"์":[{".":42}],"ิ":[{"์":[{".":42}]}],"ุ":[{"์":[{".":42}]}],"ว":[{"า":41}],"ง":34,"า":34}],"ฝ":[{"อ":[{"ย":19}],"่":[{"ฝ":[{"ั":1}]}],".":42,"์":[{".":42}],"ิ":[{"์":[{".":42}]}],"ุ":[{"์":[{".":42}]}]}],"พ":[{"จ":[{"น":[{"ี":1},19]}],"ช":[{"ฉ":[{"ล":1}]}],"ต":[{"ิ":11,".":34}],"ท":[{"ร":[{"ิ":1}],"ั":[{"ก":24}]}],"น":[{"ท":[{"ะ":1}],"ั":7,"ิ":21}],"พ":9,"ย":[{"ก":[{"๊":1}],"า":[{"ธ":[{"ิ":[{".":49}]}]}]},29],"ร":[{"ช":[{"ย":1}],"ซ":[{"ี":1}],"ม":[{"ี":1}],"ร":[{"ด":[{"ิ":49}]},16],"ู":7,"ไ":[{"ฟ":1}],"ี":[{".":47}],"ส":41,".":34}],"ฤ":[{"ก":19,"ฒ":[{"า":1}],"ษ":[{"ภ":[{".":50}]}]}],"ล":[{"ท":[{"ิ":1}],"ร":[{"่":1}],".":34}],"ส":[{"เ":[{"ฟ":1}],"พ":47}],"อ":[{"ค":[{"ว":1}],"ส":[{"ม":1}]}],"ั":16,"า":[{"จ":15,"ช":[{"น":1}],"น":[{"ร":1}]},16],"ิ":[{"ถ":[{"ั":1,"ี":1}],"ป":[{"ล":1}],"ร":[{"อ":1,"ี":1}],"ล":[{"ึ":1}],"ศ":[{"ุ":1}],"ส":[{"ม":22}],"์":[{".":42}]},16],"ี":[{"ร":[{"ะ":1}],".":34}],"ุ":[{"ช":[{"ิ":1}],"พ":[{"อ":1}],"์":[{".":42}]}],"ู":[{"ท":[{"ว":1}],"พ":[{"อ":1}],"น":[{"ท":50}]}],"เ":[{"ย":7},9],"่":[{"ป":[{"๊":1}],"อ":0}],"้":[{"ท":[{"้":1}]}],"์":[{"ด":[{"ี":1}],".":42},10],".":42,"ญ":[{"า":41}],"ด":[{"ี":47}],"ก":[{".":34}]}],"ฟ":[{"ซ":[{"ต":[{"ิ":1}],"ท":[{"ิ":1}]}],"ร":[{"ต":[{"ิ":1}]}],"ส":[{"ต":[{"ิ":1}],"ท":[{"ิ":1}]}],"ั":16,"า":16,"ิ":[{"ล":[{"า":4}],"์":[{".":42}]},16],"ี":[{"ฟ":[{"่":1}]}],"ู":[{"ฟ":[{"่":1}]},52],"เ":9,"้":16,".":42,"์":[{".":42}],"ุ":[{"์":[{".":42}]}],"ะ":34,"ง":34}],"ภ":[{"ค":[{"ท":[{"ร":1}],"ว":5}],"ช":[{"น":[{"ี":1,"ะ":50}]}],"ั":[{"ต":[{"ต":[{"ิ":49}]}]},16],"า":[{"ณ":[{"ก":1,"ว":1}],"ร":[{"ด":1,"ต":1,"ย":1}],"ว":[{"น":1}]},16],"ิ":[{"ช":[{"น":1}],"ม":[{"ห":1}],"ร":5,"ส":[{"ม":1}],"์":[{".":42}]}],"ี":[{"ษ":[{"ม":1}]}],"ุ":[{"ช":[{"ง":1}],"์":[{".":42}],"ม":[{"ร":46}]}],"ู":[{"ฏ":[{"า":1}],"ร":[{"ิ":1}]},16],".":42,"์":[{".":42}],"ว":[{"น":[{"ะ":50}]}],"ร":[{"ี":47,".":34}],"ม":[{"ร":[{"ี":50}]}],"พ":[{".":52}],"ะ":34}],"ม":[{"ก":[{"ม":7,"ษ":7},9],"ข":[{"ล":[{"า":50},7]},9],"ค":[{"ร":11,"อ":[{"ิ":1}],"ด":47}],"ง":[{"ค":[{"ล":16}],"ฟ":[{"อ":1}],"ว":[{"ง":48}]}],"จ":9,"ช":[{"ว":4},9],"ซ":9,"ณ":[{"ฑ":[{"น":1,"ก":50},19],"บ":[{"ร":1}],"พ":[{"ร":1}],"เ":[{"ฑ":1,"พ":1}],"ี":41,"โ":[{"ฑ":50}]}],"ด":[{"ช":[{"ม":1}],"ย":[{"อ":1}],"ล":[{"ู":1}],"ี":47}],"ต":[{"ธ":7,"ิ":7,"ไ":[{"ต":1},7],"น":47},9],"ท":[{"น":[{"ะ":50,"ี":48}]},9],"น":[{"ต":[{"ร":19}],"ฮ":[{"ั":1}],"ุ":7,".":34}],"บ":[{"พ":4},9],"ป":[{"ช":4,"ท":4,"ฤ":[{"ด":1,"ๅ":1}],"์":7},9],"พ":[{"ก":7,"ว":7},9],"ภ":[{"ก":[{"ถ":1}]},9],"ม":[{"เ":7,"โ":7},9],"ย":[{"ร":[{"า":1}],"ำ":47,"ง":47}],"ร":[{"ร":19,"ั":11,"ิ":9,"ี":[{".":47}],"า":47,"ม":47,"ก":[{"ต":50}],"ฑ":[{"ป":50}]}],"ฤ":[{"ค":[{"ิ":1}],"เ":[{"ค":1}]}],"ล":[{"ท":[{"ิ":1}],"า":11,"ิ":11,"้":11,"ก":[{"ะ":50}],".":34}],"ว":[{"ม":[{"อ":1}],"ล":7,"ก":41,"น":41,"ด":[{"ี":47},41],"ย":41},9],"ส":9,"ห":[{"ก":[{"ร":1}],"น":11,"ภ":[{"า":1}],"า":[{"ญ":8,"ย":8,"ส":0}]}],"อ":[{"ข":[{"ว":1}],"ค":[{"ร":1}],"ด":[{"ู":1}],"ต":[{"ำ":1}],"น":[{"ว":1,"อ":1}],"ร":[{"ะ":1,".":47}],"ั":15}],"ะ":[{"ถ":[{"ั":1}],"ฝ":[{"่":1}],"ฮ":[{"อ":1}]},34],"ั":[{"่":7},16],"า":[{"ด":[{"ร":1}],"น":[{"ร":1,"อ":1}],"ป":[{"่":1}],"พ":[{"จ":1}],"ม":[{"ก":1,"ุ":1,"่":1}],"ย":[{"ณ":1,"อ":1}],"ร":[{"่":1}],"ว":30,"ต":[{"ฤ":50}]},16],"ิ":[{"ก":[{"ภ":1}],"ซ":[{"ร":1}],"ต":[{"ล":1}],"ถ":[{"ิ":1}],"น":[{"่":1}],"ฟ":[{"ล":1}],"ล":[{"ำ":1,"ี":1}],"แ":[{"พ":1}],"์":[{".":42}],"ผ":50},16],"ี":[{"ข":[{"ม":1}]}],"ื":[{"ด":19,"อ":[{".":16}]}],"ุ":[{"ท":[{"ะ":1,"ั":1,"ิ":1,"ุ":1}],"ฮ":[{"ั":1}],"์":[{".":42}],"ต":[{"ต":[{"ิ":49}]}]}],"ู":[{"ซ":[{"ี":1}],"ป":[{"่":1}],"ร":[{"ต":1}],"ล":[{"ิ":1}],"ห":[{"ย":1,"ร":1}],"ฮ":[{"ั":1}],"แ":[{"ด":1,"ผ":1,"ฮ":1}]}],"เ":9,"แ":9,"โ":[{"ห":22},9],"ไ":[{"ห":41},9],"่":[{"า":7}],"้":[{"ม":21,"า":19}],"์":[{"ภ":[{"ิ":1}],".":42}],".":42}],"ย":[{"ก":[{"ย":[{"่":1}],"ร":[{"้":31},9],"น":[{"ะ":50}]}],"ค":9,"ง":[{"บ":[{"่":1}],"ฝ":[{"้":1}],"อ":[{"ย":1}]}],"จ":[{"ค":[{"ร":1}]}],"ด":[{"ย":[{"้":1}],"ี":47}],"ต":9,"ท":9,"ธ":9,"บ":[{"ร":[{"้":1}]}],"ป":9,"พ":9,"ภ":9,"ม":[{"ย":[{"อ":1}],"ร":[{"า":1}],"ห":[{"า":1}],"อ":[{"ี":1}],"ิ":7}],"ย":[{"ส":4},9],"ร":[{"ถ":[{"ี":1}],"บ":[{"ั":32}],"ำ":47,"า":47,"ก":[{".":47}]}],"ล":[{"ไ":[{"ท":1}],"ะ":47,"ำ":47}],"ว":[{"ข":[{"้":1}],"จ":[{"๊":1}],"ด":[{"อ":1,"ี":8}],"น":[{"ี":1}],"ย":[{"่":1}],"ร":[{"ั":1,"ก":[{".":50}]}],"ไ":[{"ส":1}],"ะ":47}],"ศ":[{".":34},9],"ส":9,"ห":[{"ฐ":[{"า":1},7],"ป":[{"ร":1},7]},9],"อ":[{"บ":[{"ี":1}],"ร":[{"ม":1}],".":34,"ด":[{"อ":[{"ก":46}]}]}],"ั":16,"า":[{"ก":[{"ฤ":1,"ว":1}],"ฉ":[{"ุ":1}],"ณ":[{"ม":1,"ว":1}],"ถ":[{"่":1}],"บ":[{"ร":1}],"ร":[{"ช":1}],"ส":[{"ล":1,"ี":1}],"ฬ":[{"ั":1}]},16],"ำ":[{"ท":[{"ว":1}]}],"ี":[{"ร":[{"า":1}],".":34}],"ุ":[{"ค":[{"ล":1}],"ต":[{"ก":1}],"ภ":15,"แ":[{"ย":1,"ห":1}],"์":[{".":42}]},16],"ู":[{"ค":[{"ล":1}],"ถ":[{"ิ":1}],"ฟ":[{"่":1}],"ย":[{"ิ":1}],"ร":[{"ิ":1}],"ไ":[{"น":1}],".":34}],"เ":9,"แ":9,"โ":9,"์":[{"ก":[{"ล":1}],"ถ":[{"่":1}],"ม":[{"น":[{"า":49},1]}],"ห":[{"น":1}],".":42}],".":42,"ิ":[{"์":[{".":42}]}],"น":[{"ะ":47}],"ื":[{"ด":[{"อ":[{"ก":46}]}]}],"ช":[{"ม":[{".":47}]}]}],"ร":[{"ก":[{"ซ":[{"อ":1,"้":1}],"ร":[{"า":1,"้":1},9]},10],"ค":[{"พ":[{"ว":1}],"ต":47}],"ง":[{"พ":[{"ย":1}],"ร":[{"อ":1}]}],"จ":[{"ถ":[{"ร":1}]}],"ช":[{"ก":7,"ช":7,"น":7,"ย":7,"ะ":8,"ร":[{".":47}]},9],"ณ":[{"ค":[{"ด":1}],"ต":[{"ร":1}],"ถ":[{"ั":1}],"พ":[{"ฤ":1}],"ส":[{"ถ":1}],"า":[{"ญ":8}],"ู":[{"ป":22}],"์":15,"ะ":8}],"ด":[{"ป":7,"แ":7,"โ":7,"ไ":[{"อ":1},7]},9],"ถ":[{"พ":[{"ย":1}],"ี":47},3],"ท":[{"ฤ":[{"ด":1},7],"ว":[{"ิ":1},33]},9],"ธ":[{"ข":[{"ึ":1}],"ส":[{"ร":1}],"เ":[{"ก":1}],"ก":[{"ะ":50}]}],"น":[{"ท":[{"ุ":1}],"า":15}],"บ":[{"ค":7,"ถ":[{"้":1},7],"ม":7,"ไ":[{"ก":1},7],"ร":[{"า":50}]},9],"ป":[{"ณ":[{"ะ":50},7]},9],"พ":[{"ช":[{"า":8,"ิ":12}],"ท":[{"ิ":1}],"ี":41}],"ภ":[{"ย":7},9],"ม":[{"ร":[{"อ":1}],"า":[{"ว":26}],"เ":[{"ห":4}],"น":[{"ี":48}],"ะ":41}],"ย":[{"ั":7}],"ร":[{"ก":4,"ค":[{"า":1}],"จ":[{"ถ":1,"ว":1}],"ณ":[{"ึ":1}],"ถ":[{"า":1}],"ย":[{"ง":1,"เ":1,"า":50}],"ล":5,"ห":[{"า":1}],"แ":[{"ท":1,"ส":1}],"ไ":[{"ก":1,"ต":1}],"ธ":[{"น":[{"ะ":46}]}],"ำ":47,"ม":[{"ะ":50}],"ต":[{"ุ":48}],"ด":[{"ิ":[{".":48}]}]}],"ศ":[{"น":[{"ี":1}],"ร":47}],"ษ":[{"ฐ":[{"ิ":1}],"ต":[{"ร":1}],"า":47}],"ส":[{"ก":[{"า":50},7],"ช":7,"เ":7,"โ":33,".":34},9],"ห":[{"ิ":11}],"ะ":[{"ส":[{"า":1}],"ห":[{"ก":1}]},3],"ั":[{"ง":[{"ส":34}],"ฐ":19,"ต":16}],"า":[{"ก":[{"ฏ":1,"ฤ":1,"ว":1}],"ช":[{"ู":1},16],"ด":[{"ร":1,"ว":1,"ู":1}],"ม":[{"่":1}],"ว":[{"ณ":1}],"ส":[{"ง":1}],"ห":[{"ุ":1},23]}],"ำ":[{"ง":[{"ั":1}],"จ":[{"ว":1}]}],"ิ":[{"ก":[{"อ":1}],"ต":[{"ร":1}],"ท":[{"ึ":1}],"พ":15,"ม":[{"น":1}],"ย":[{"จ":15,"ย":15}],"ร":15,"แ":[{"ล":1}],"่":15,"์":[{".":42}]}],"ี":[{"ค":[{"ู":1}],"ฑ":[{"า":1}],"ด":[{"ู":1}],"ต":[{"ร":1,"อ":1}],"ร":[{"ั":1,"า":1,"ิ":1}],"ล":[{"ั":1,"ิ":1,"่":1}],"ส":[{"อ":1,"ะ":1}],"ผ":50,"ย":[{"ะ":1}]}],"ุ":[{"ก":[{"ว":1}],"ข":[{"ร":1}],"ค":[{"ร":1}],"ท":[{"ว":1}],"ธ":[{"ิ":1}],"ม":[{"ุ":1}],"ว":[{"น":1}],"์":[{".":42}],"ต":[{"ิ":50}]}],"ู":[{"ท":[{"ี":1}],"น":[{"ี":1}],"บ":[{"ิ":1}],"ป":[{"ก":22,"ิ":1}],"ม":[{"า":1,"ู":1}],"ห":[{"ร":1}]},16],"เ":6,"โ":9,"่":[{"ก":[{"ะ":1}],"ต":[{"ร":1}],"ร":[{"่":1}],"ห":[{"ล":1}]}],"์":[{"ก":[{"อ":1,"ี":1}],"ค":[{"ั":1}],"ด":[{"ิ":1}],"ต":[{"ิ":1,"ู":1}],"ท":[{"ิ":1}],"ฟ":[{"อ":1,"ู":1}],"ล":[{"ี":1}],"ว":[{"อ":1}],".":42}],".":42,"ว":[{"ณ":[{"ะ":50}]}],"ต":[{"น":[{"ะ":50}],"ะ":41,"ี":47}],"ล":[{"ี":47,"ะ":47}]}],"ฤ":[{"ด":[{"า":7}],"ป":[{"เ":4}],"ษ":[{"ฎ":[{"ี":1}],"ณ":[{"ะ":50}]}],"ห":[{"บ":[{"ด":1}]}],"ช":[{"า":41}],"ๅ":1,"า":1}],"ล":[{"ก":[{"น":[{"ะ":8}],"ล":[{"า":1}],"ว":[{"ั":1}],"อ":11,"ั":[{"ย":7}]}],"ข":[{"ค":[{"ณ":1}],"ห":[{"ม":1}]}],"ช":[{"ี":21,"น":47}],"ด":[{"ร":[{"ะ":1}],"ล":[{"ิ":1}],"า":7}],"ต":[{"ฟ":[{"อ":1},7]},9],"บ":[{"ต":[{"ะ":1}],"ม":[{"ุ":1}],"ล":[{"้":1}],"ไ":[{"ส":1}],"ก":[{".":47}]}],"ป":[{"ต":[{"อ":1}]}],"ม":[{"ค":[{"้":1}],"ง":[{"ว":1}],"อ":11,"ี":47}],"ย":10,"ล":9,"ว":[{"ี":11,"ไ":[{"ห":1}],"ณ":[{"ะ":50}],"น":[{"ะ":50}]}],"ส":[{"ไ":[{"ต":1}],"ก":[{"า":50}]}],"ห":[{"ก":[{"ุ":1}]}],"อ":[{"ก":[{"ล":22}],"จ":[{"ี":1}],"ส":[{"ร":1}]}],"ะ":[{"ผ":[{"ล":1}]}],"ั":[{"ก":[{"ษ":16}]}],"า":[{"ก":[{"ล":1}],"น":[{"ี":1}],"บ":[{"ร":1}],"ป":[{"๋":1}],"พ":[{"อ":1}],"ร":[{"อ":1,"้":1},19],"ฤ":[{"ก":1}],"ส":[{"้":1}]}],"ิ":[{"ก":[{"อ":1,"่":1,"ร":[{"า":46}]}],"จ":[{"ู":1}],"ต":[{"อ":1}],"น":[{"อ":1,"่":1}],"ฟ":[{"อ":1}],"ม":[{"ู":1}],"์":[{".":42}],"บ":[{"ง":50}]}],"ี":[{"ต":[{"ะ":1}],"น":19,"ผ":[{"ล":1}],"ล":[{"า":1}],"ว":[{"ู":1}]}],"ุ":[{"ก":[{"ร":22,"ล":22}],"ล":[{"่":1}],"์":[{".":42}]}],"ู":[{"ก":17,"ซ":[{"ี":1}],"ท":[{"ี":1}],"ม":[{"ิ":5}],"ล":[{"อ":1}],"อ":[{"อ":1}],"แ":[{"บ":1}]}],"เ":6,"แ":6,"โ":9,"่":[{"ต":[{"ิ":1}],"ท":[{"ี":1}],"ห":[{"ล":1}],"อ":[{"อ":1}]}],"้":[{"โ":[{"พ":1}]}],"์":[{"ส":[{"ต":1}],".":42},10],".":42,"ณ":[{"ะ":47}],"ร":[{"บ":[{".":47}]}]}],"ว":[{"ก":[{"ร":11,"ว":[{"่":1,"น":50}],"า":[{"ร":8}]}],"ค":9,"ง":[{"ศ":16}],"จ":[{"ต":[{"ร":1}],"ส":[{"อ":1}],"น":[{"ะ":50}]}],"ช":[{"น":[{"ี":1}]}],"ด":[{"ถ":[{"่":1}],"ม":[{"ว":1}],"ย":[{"ิ":1}],"ร":[{"ะ":1}],"ล":[{"า":1,"้":1}],"อ":[{"้":1}]}],"ต":[{"ฉ":7,"ก":47},9],"น":[{"ถ":[{"ี":1}],"ท":[{"้":1}],"ผ":[{"ส":1}],"ร":[{"ว":1,"่":1}],"อ":[{"ิ":1,"ุ":1}],"ม":[{".":47}]}],"บ":[{"ย":[{"อ":1}],"ร":[{"ว":1,"ั":1}],"ฮ":[{"า":1}]}],"ป":9,"พ":9,"ม":[{"ร":[{"อ":1}],"ู":11,"ี":47}],"ย":[{"ก":[{"้":1}],"จ":[{"ี":1}],"ร":[{"ิ":1,"ื":1}],"ล":[{"้":1}],"ไ":[{"ท":1,"ม":1}]}],"ร":[{"ธ":[{"ิ":1}],"ม":[{"ณ":1,"ห":1}],"ย":7,"ร":[{"ณ":19},21],"์":7,"บ":[{".":47}]}],"ล":[{"ร":[{"ะ":1}],"ม":[{".":47}]}],"ส":[{"ป":[{"อ":1}],"น":[{"ะ":50}],"ะ":41}],"ห":9,"อ":[{"ช":[{"ิ":1}]}],"ั":[{"น":[{"ต":26,"ท":24},0],"ง":[{"ว":[{"น":46}]}]},16],"า":[{"ด":[{"ะ":1}],"ต":[{"ก":1,"ิ":1},4],"น":[{"ร":1,"ึ":1}],"บ":[{"ร":1}],"ม":[{"น":1}],"ร":[{"ณ":1}],"ส":[{"น":[{"ะ":1}]}],"ห":[{"น":1,"ิ":1},4]},16],"ิ":[{"ก":[{"ล":1,"ส":1}],"ค":[{"ห":1}],"จ":[{"ุ":1}],"ด":[{"ี":1}],"ต":[{"ก":1,"ร":1,"ี":1}],"ถ":[{"ี":1}],"ท":[{"ิ":1},19],"ธ":[{"ุ":1,"ู":1}],"ป":[{"ก":1,"ฏ":1,"ล":1,"ว":1,"โ":[{"ย":46}]}],"ภ":[{"ู":26}],"ม":[{"ล":1}],"ร":[{"ง":1}],"ว":[{"ร":1}],"ศ":[{"ร":1,"ุ":1}],"ษ":[{"ุ":1}],"ส":[{"ร":1,"ฤ":1}],"เ":[{"ล":26}],"์":[{".":42}]},16],"ี":[{"ค":[{"ู":1}],"ช":[{"น":[{"ี":49},1]}],"ด":[{"ิ":1}],"ส":[{"ต":[{"ิ":46}]}]}],"ุ":[{"์":[{".":42}]},16],"เ":9,"แ":9,"โ":9,"่":[{"ห":[{"้":1}]}],"้":[{"ช":[{"ื":1}],"ท":[{"ุ":1}],"ล":[{"า":1}]}],"์":[{"ล":[{"ิ":1}],".":42}],".":42,"ท":[{"น":[{"ะ":50}]}]}],"ศ":[{"จ":9,"ต":[{"ว":[{"ร":1}],"ก":[{"ะ":50}]}],"น":[{"อ":[{"ุ":1}],"ะ":47}],"พ":[{"ิ":21,".":52}],"ร":[{"ี":19}],"ษ":[{"ซ":[{"้":1}],"ว":[{"ร":1}],"เ":[{"ก":1,"ห":1}]}],"ั":[{"ก":[{"ร":22}]},16],"า":[{"ก":[{"า":1}],"ข":[{"บ":1},1],"น":[{"ุ":1}],"ภ":[{"ิ":1}],"ร":[{"ย":1,"ั":1,"ิ":1}],"ล":[{"า":1}]},35],"ิ":[{"ร":[{"พ":1,"ว":1}],"ศ":[{"ี":1}],"์":[{".":42}],"ษ":[{"ฎ":[{"ิ":46}]}]},16],"ึ":16,"ุ":[{"ก":[{"ล":1}],"์":[{".":42}],".":34}],"ู":[{"ล":[{"ิ":1}]}],"เ":[{"จ":[{"ร":22}]}],".":42,"์":[{".":42}],"ม":[{"น":[{"ะ":50}],"ี":47}],"ก":[{".":34}],"ด":[{"ี":47}],"ะ":34,"ี":[{".":34,"ล":46}],"ภ":47,"ล":[{".":34}],"ว":[{"ง":[{".":47}]}],"ย":[{"ป":[{".":47}]}]}],"ษ":[{"ฎ":[{"า":11,"ร":[{".":47}]}],"ฐ":[{"ภ":[{"ค":1}],"ี":47}],"ม":[{"ณ":[{"ี":8}],"า":7}],"ั":16,"า":[{"ค":[{"เ":1}]},16],"ิ":[{"์":[{".":42}]},16],"์":[{"พ":[{"ย":1}],".":42}],".":42,"ุ":[{"์":[{".":42}]},52],"ย":[{"ะ":47}],"บ":47,"ป":47,"ี":[{".":34}],"ะ":52,"ก":[{".":34}],"ฏ":[{"ิ":[{".":47}],"ี":47,"ุ":47}],"ส":[{".":34}],"อ":[{"ร":47}]}],"ส":[{"ก":[{"ล":[{"ิ":1,"ึ":1}],"ว":[{"ั":1,"า":1}],"า":7,"ุ":36}],"ข":[{"บ":[{"ุ":1}],"ะ":8}],"ง":[{"ข":[{"ล":1}],".":34}],"ซ":9,"ด":[{"ช":[{"ื":1}],"ุ":[{"ภ":8},7],"ำ":41,"ก":41,"ม":41}],"ต":[{"ท":[{"ิ":1},7],"ร":[{"า":11}],"์":10,"ุ":47}],"ถ":[{"ว":[{"ี":1}],"์":15}],"น":[{"ธ":[{"ย":1,"ิ":1}],"ี":[{"ย":[{"ะ":8}]}],"ุ":7,"ู":[{"ป":26}]}],"ป":[{"า":7,"ะ":41}],"ม":[{"ค":[{"ว":1}],"ด":[{"ุ":1}],"บ":19,"ผ":[{"ส":1,"ุ":1,"เ":1}],"ย":[{"อ":1}],"ฤ":[{"ด":1,"ต":1}],"ห":[{"ว":1}],"ั":[{"ท":8,"น":8}],"ุ":21,"ณ":[{"ะ":50}],"า":[{".":8}],"ร":[{"ด":50}]},14],"ร":[{"ร":[{"ช":22}],"ล":[{"อ":1}],"ต":[{"ะ":50}],".":52,"ถ":[{".":47}]}],"ล":[{"บ":[{"ร":1}],"ม":[{".":47}]}],"ว":[{"ก":4,"ย":[{"ม":1}],"ร":[{"ิ":1,"ะ":50,".":47}],"า":[{"ด":[{"ิ":49}]},7],"ิ":15,"น":[{"ะ":1}],"ี":[{".":47}]}],"ส":[{"น":[{"ี":48}]},9],"ห":[{"ก":[{"ร":1,"า":1}],"ช":[{"า":1}],"ธ":[{"ร":1}],"ป":[{"ร":1}],"พ":[{"ั":1}],"ภ":[{"า":1}],"ร":[{"า":1}],"ศ":[{"ึ":1}]}],"อ":[{"พ":[{"ล":1,"อ":1}],".":52}],"ะ":[{"ใ":[{"ภ":1}]},34],"ั":[{"ญ":[{"ป":[{"ร":[{"ะ":37}]}]}],"น":[{"ถ":0}],"ม":0,"ก":[{"ว":[{"า":46}]}],"ป":[{"ด":46,"ท":46}]},16],"า":[{"ค":[{"เ":1}],"ธ":15,"น":[{"ึ":1}],"ม":[{"น":1}],"ว":[{"พ":1,"น":[{"ะ":46}],"ก":50}],".":34},16],"ำ":[{"อ":[{"อ":1}],"โ":[{"ร":1}]}],"ิ":[{"ถ":[{"ิ":1}],"์":[{".":42}],"น":[{"ธ":[{"พ":46,"ุ":[{".":46}],"ู":46}]}]},16],"ี":[{"ข":[{"้":1}],"ช":[{"อ":1}],"ด":[{"ว":1}],"ต":[{"ล":1,"โ":1}],"ถ":[{"่":1}],"ผ":[{"ึ":1}],"ฝ":[{"ุ":1}],"ล":[{"ะ":1,"ั":1}],"ว":[{"ล":1}],"ห":[{"น":[{"ุ":46}]}]}],"ุ":[{"ก":[{"ร":1,"ำ":1,"ี":1}],"ข":[{"ิ":1,"ุ":1}],"ค":[{"ต":1,"ร":1}],"น":[{"ี":1}],"บ":[{"ร":1}],"ป":[{"ร":1}],"ม":[{"น":1}],"ส":[{"ง":1}],"ไ":[{"ห":1}],"์":[{".":42},10],"ต":[{"ิ":50}]},16],"ู":16,"เ":[{"ฟ":7},9],"โ":[{"ค":7,"ซ":47},9],"่":[{"ว":19,"ไ":[{"ค":1}]}],"้":[{"ก":[{"ร":1}],"ต":[{"ิ":1}],"ไ":[{"ก":1}]}],"์":[{"ห":[{"ย":1}],".":42},10],".":42,"ไ":[{"ต":41,"น":41,"บ":41,"ป":41,"ล":41}],"ภ":[{"า":[{"ร":47},41]}],"ธ":[{"น":[{"ะ":1}]}],"บ":[{"ท":41,"ถ":41}],"ฐ":[{"ะ":41}],"ช":[{"ะ":47}],"ท":[{"ะ":47}]}],"ห":[{"ก":[{"ร":[{"ะ":1}],"ล":[{"้":1}],"า":[{"ร":34}],".":34},6],"ง":[{"ส":[{"า":1},4],"ำ":41,"ง":41}],"ฤ":[{"ห":[{"ร":1}],"โ":[{"ห":1}]}],"ล":[{"ส":[{"ะ":1}]}],"อ":[{"ค":[{"อ":1}],"ส":[{"ม":1}]}],"ั":16,"า":[{"ก":[{"ฐ":1}],"บ":[{"พ":1}],"ป":[{"ณ":1}],"พ":[{"ร":1,"น":50}],"ร":[{"ื":1,"ี":50}],"ฤ":[{"ก":1}],"ว":[{"ร":1}]}],"ิ":[{"ร":[{"ก":1}],"ศ":[{"ว":1}],"์":[{".":42}],".":34}],"ุ":[{"ค":[{"ู":1}],"์":[{".":42}]}],"ู":[{"ก":[{"ร":1,"ว":1}],"ห":[{"น":1}]},34],"้":[{"ท":[{"่":1,"้":1}],"ร":[{"้":1}]}],"์":[{"ก":[{"ร":1}],"ส":[{"น":1}],".":42},10],".":42,"ม":[{"ณ":[{"ี":50,"ะ":50}],"ะ":41}],"น":[{"ำ":41,"ี":41}],"ส":[{"ี":47,"ิ":47}],"ะ":34,"ย":[{"ี":41}],"ด":[{".":34}],"ห":47,"ณ":[{"ี":47}]},14],"ฬ":[{"ว":[{"ร":[{"า":1}]}],"ห":[{"บ":[{"ู":1}],"า":47,"ี":47}],"า":[{"ม":[{"ณ":1}],"ร":[{"ึ":1}]},16],".":42,"์":[{".":42}],"ิ":[{"์":[{".":42}]}],"ุ":[{"์":[{".":42}]}],"ส":[{".":52}]}],"อ":[{"ก":[{"ซ":[{"อ":1}],"ถ":[{"ล":1}],"ร":[{"ณ":1,"ี":1,"ู":1,"่":1}],"ฤ":[{"ท":1}],"ล":[{"ว":1,"อ":1,"า":1,"่":1}],"ว":[{"่":1}],"ใ":[{"บ":1}],"ะ":47}],"ค":[{"ท":[{"ี":1}]}],"ฆ":[{"ส":[{"ง":1}]}],"ง":[{"ค":[{"ม":4}],"ถ":[{"ิ":1}],"บ":[{"ร":1}],"ฟ":[{"อ":1,"ุ":1}],"ร":[{"ะ":1}],"อ":[{"ุ":1,"้":1}]}],"ด":[{"ช":[{"่":1}],"ถ":[{"อ":1}],"น":[{"่":1}],"ฝ":[{"า":1}],"ย":[{"อ":1}],"ร":[{"ั":1}],"อ":[{"ย":1,"อ":1,"ุ":1,"้":1}],"ิ":11,"ี":8}],"ต":[{"ด":[{"อ":1,"็":1}],"ส":[{"ว":1}],"ไ":[{"ว":1}],"ี":47}],"ท":[{"ค":[{"อ":1},7]},9],"น":[{"ง":[{"้":1}],"จ":[{"อ":1}],"ท":[{"ำ":1}],"ผ":[{"ั":1}],"ฝ":[{"ู":1}],"ย":[{"้":1}],"า":7,"ุ":38}],"บ":[{"ช":[{"้":1}],"ถ":[{"า":1}],"บ":[{"ี":1}],"อ":5,"ไ":[{"ล":1}],"ร":[{"ม":50}],"น":[{"บ":50}]}],"ป":[{"ค":[{"อ":1}],"ต":[{"ิ":1}],"พ":[{"ร":1,"ล":1}],"ร":4,"ว":[{"า":1}],"โ":[{"ล":1}],"น":[{".":47}]}],"พ":[{"ร":[{"ิ":1}],"ย":[{"พ":50}]}],"ฟ":[{"ฟ":[{"ี":1}],"ร":[{"ิ":1}],"โ":[{"ร":1}],"ไ":[{"ล":1}]}],"ภ":[{"ั":7}],"ม":[{"ค":[{"ล":1,"้":1}],"ฎ":[{"อ":1}],"ด":[{"อ":1}],"ถ":[{"อ":1}],"ฟ":[{"อ":1}],"ย":[{"ิ":1}],"ร":[{"า":1,"่":1}],"ฤ":[{"ต":1}],"ห":[{"ล":1,"ว":1,"้":1}],"อ":[{"น":8}]}],"ย":[{"ก":[{"อ":1,"๋":1}],"น":[{"ว":1}],"ร":[{"่":1,"้":1}],"อ":[{"ิ":1,"ด":48}],"า":[{".":47},7],"ไ":[{"ด":1}]}],"ร":[{"ม":[{"น":1}],"อ":11,"ั":9,"า":11,"ิ":[{".":41},9],"ี":9,"้":11,"์":17,"ต":[{"ิ":50}],"บ":[{".":47}]}],"ล":[{"จ":[{"ี":1}],"น":[{"ี":1}],"ฟ":[{"่":1}],"ห":[{"ม":1}],"ั":11,"ิ":9,"ำ":47,"ว":[{"น":50}]}],"ว":[{"ร":[{"ุ":1}]}],"ศ":[{"ก":[{"ร":1}],"ค":[{"ร":1}]}],"ษ":[{"ฐ":[{"ช":1,"ภ":1}]}],"ส":[{"ก":[{"า":1}],"ต":[{"ิ":1,"ู":1}],"น":[{"ี":1}],"พ":[{"ล":1}],"ฟ":[{"อ":1}],"ม":[{"ิ":1,".":47}],"เ":[{"ฟ":1}],"แ":[{"อ":1}],"ไ":[{"พ":1}]}],"ห":9,"อ":[{"น":19,"อ":[{"ว":1,".":47}]}],"ะ":[{"ธ":[{"ี":1}],"ฮ":[{"ั":1}]}],"ั":[{"ฐ":[{"ม":[{"ี":46},49]},22]},16],"า":[{"ค":[{"เ":39}],"ฏ":[{"า":1}],"ณ":[{"ั":1}],"ด":[{"ุ":1,"ู":1}],"ต":23,"ถ":[{"ร":1}],"น":[{"น":1}],"ป":[{"ณ":1}],"ม":[{"ล":1}],"ย":[{"ต":39}],"ร":[{"ด":1,"ต":1,"บ":1,"ย":5}],"ล":[{"ป":1}],"ว":[{"ร":1,"ี":1}],"ส":[{"ว":1,"น":[{"ะ":46}]}],"จ":[{"อ":[{"ง":46}]}]},16],"ำ":[{"ย":[{"ว":1}],"อ":[{"ว":1}]}],"ิ":[{"ช":[{"ย":1}],"ด":[{"ะ":1}],"ร":[{"ะ":1}],"ศ":[{"ว":1}],"์":[{".":42}]}],"ี":[{"ค":[{"ิ":1}],"จ":[{"ู":1}],"ซ":[{"ู":1}],"ย":[{"ิ":1}],"ร":[{"ุ":1}],"ล":[{"ุ":1}],"ศ":[{"ว":1}],"ห":[{"ร":1}]}],"ุ":[{"ก":[{"ฤ":1,"ล":1}],"ค":[{"ร":1}],"ด":[{"ม":1,"ร":1,"้":1}],"ต":[{"ร":[{"า":5}],"ุ":1}],"ท":[{"ร":1,"ิ":1,"ุ":1}],"ธ":[{"ั":1}],"บ":[{"ล":1,"๊":1}],"ม":[{"ง":1}],"ร":[{"พ":1}],"ล":[{"ก":1}],"แ":[{"ว":1}],"์":[{".":42}],"ป":[{"โ":[{"ภ":46}]}],".":52}],"ู":[{"ค":[{"ู":1}],"ม":[{"า":1}],"ร":[{"า":1}],"ล":[{"า":1}],".":52}],"เ":[{"ป":[{"ร":22}],"ส":[{"ก":26,"ข":22}],"ห":[{"ต":22}],"จ":[{"ล":46}]},9],"แ":9,"โ":9,"ไ":9,"่":[{"อ":[{"ว":1,"่":1},19],"โ":[{"ถ":1}]}],"้":[{"อ":[{"ว":1}],"โ":[{"ถ":1,"ล":1}]}],".":42,"์":[{".":42}],"จ":[{"ล":[{"า":50}]}],"ึ":[{"ง":[{"อ":[{"ล":46}]}]}],"ข":[{"อ":[{".":47}]}]}],"ฮ":[{"ก":[{"ฮ":[{"า":1,"ื":1}]}],"ช":[{"แ":[{"ท":1}]}],"น":[{"ร":[{"ี":1}]}],"ฟ":[{"ว":[{"ี":1}]}],"ล":[{"ด":[{"ิ":1}]}],"อ":[{"ล":19}],"า":[{"น":[{"อ":1}],"ป":[{"่":1}],"ร":[{"่":1}]},34],"ิ":[{"บ":[{"ร":[{"ู":49},1]}],"์":[{".":42}]}],"ี":[{"บ":[{"ร":[{"ู":49},1]}]}],"ื":[{"้":19}],"ู":[{"ล":[{"า":1,"่":1}]}],"เ":9,"โ":9,"่":[{"ก":[{"ึ":1}]}],".":42,"์":[{".":42}],"ุ":[{"์":[{".":42}]}],"ต":[{"ิ":47}]}],"ะ":[{"ก":9,"ข":9,"ค":9,"ง":9,"จ":9,"ฉ":9,"ช":9,"ซ":9,"ด":9,"ต":[{"ะ":21},9],"ท":9,"น":9,"บ":9,"ป":9,"ผ":[{"ี":21}],"พ":9,"ม":[{"ว":[{"ง":48}]},9],"ย":9,"ร":9,"ล":9,"ว":9,"ส":9,"ห":9,"อ":9,"เ":9,"แ":9,"โ":9,"ไ":9},42],"ั":[{"ก":[{"ง":[{"่":1}],"ซ":[{"้":1}],"ต":[{"บ":1}],"ผ":[{"่":1}],"ฝ":[{"่":1}],"ย":[{"อ":1,"ิ":1}],"ร":[{"ั":1,"้":1},41],"ล":5,"ว":[{"ิ":1}],"ษ":[{"ร":1,"อ":1}],"อ":[{"ิ":1,"ี":1,"่":1}],"ใ":[{"ค":1,"ฝ":1}]}],"ค":[{"ฆ":[{"ิ":1}],"ซ":[{"ี":1}],"ส":[{"ถ":1}]}],"ง":[{"ถ":[{"ึ":1}],"ศ":[{"ุ":1}],"ส":[{"ว":28}],"อ":[{"ว":1,"ุ":1}],"ฮ":[{"ี":1}]}],"จ":[{"ก":[{"ล":1}],"ญ":[{"ะ":1}],"ถ":[{"ร":1}],"น":[{"ึ":1,"ะ":50}],"โ":[{"จ":1}]}],"ช":[{"ฎ":[{"า":1}],"น":[{"ี":1,"ะ":50}],"พ":[{"ย":1,"ื":1}],"ร":[{"ิ":1}],"ส":[{"ก":1,"ม":1}],"แ":[{"พ":1}],"โ":[{"ญ":1,"ย":1}]}],"ญ":3,"ฏ":[{"ท":[{"ุ":1}],"ส":[{"ง":1}],"น":[{"ะ":50}],"ก":[{"ะ":50}]}],"ฐ":[{"ท":[{"ิ":1}],"บ":[{"ร":1}],"ส":[{"ภ":1}],"เ":[{"ค":1}]}],"ณ":[{"ฏ":[{"ก":1}],"ฐ":5,"ย":[{"ก":1}],"เ":[{"ฑ":1}],"โ":[{"ร":1}]}],"ด":[{"ร":[{"ู":1}]},3],"ต":[{"ด":[{"ึ":1}],"ถ":[{"ล":1,"ั":1,"ิ":1,"ุ":[{"์":48},1]}],"ม":[{"ณ":1,"ห":1}],"ร":[{"า":1,"ี":1}],"ฤ":[{"ก":1}],"ล":[{"ั":1}],"ส":5,"ห":[{"ล":1,"ี":1}],"น":[{"ะ":50}]}],"ท":[{"ค":[{"ี":1}],"ท":[{"ว":1}],"ธ":[{"น":1,"ิ":1}],"ร":[{"า":1}],"ล":[{"ี":1,"ุ":1}],"น":[{"ะ":50}],"ว":[{"ะ":50}]}],"ธ":[{"ย":[{"ม":1}]}],"น":[{"ฉ":[{"่":1}],"ต":[{"ภ":1,"ะ":1,"ั":1,"า":1},23],"ถ":[{"ธ":1}],"ท":[{"ึ":1,"ุ":1}],"ธ":[{"า":1,"ิ":1,"ร":[{".":50}]},4],"ผ":[{"ว":1}],"ฝ":[{"ร":1,"่":1}],"ย":[{"ะ":1,"่":1}]}],"บ":3,"ป":[{"ค":[{"ั":1}],"ผ":[{"า":1}],"ร":4,"ล":[{"า":1}],"ห":[{"ง":1}],"โ":[{"ป":1,"ห":1}],"น":[{"ะ":50}]}],"พ":[{"ย":[{"อ":1,"า":1}],"โ":[{"พ":1,"ห":1}]}],"ฟ":[{"ร":[{"ิ":1}]}],"ม":[{"ช":4,"ห":[{"ม":1}]}],"ย":[{"ม":[{"ร":1}],"ร":[{"ุ":1}],"ก":[{"ะ":50}]}],"ล":[{"ด":[{"ี":1}],"ป":[{"น":1,"พ":1,"ิ":1}],"ม":[{"ุ":1}],"อ":[{"อ":1}],"ไ":[{"ซ":1,"ฟ":1}]}],"ว":3,"ศ":[{"น":[{"ี":1}],"ม":[{"ี":1}],"เ":[{"จ":1}],"ไ":[{"น":1}]}],"ส":[{"ก":[{"า":1}],"ม":[{"ั":1,"ิ":1}],"ว":[{"า":1}],"น":[{"ะ":50}],"ด":[{"ุ":[{".":50}]}],"ร":[{"ะ":50}],"า":41},3],"ฒ":[{"น":[{"ะ":50}],"ก":[{"ะ":50}]}]},14],"า":[{"ก":[{"ถ":[{"า":1}],"ฝ":[{"ร":1,"ั":1}],"ร":[{"ุ":31},9],"อ":[{".":47},11],"ฮ":[{"อ":1}],"ี":11,"ิ":47,"ล":47}],"ข":[{"บ":[{"ู":1},7],"ะ":47},9],"ค":[{"จ":7,"ท":7,"บ":7,"ป":[{"ร":1},7],"พ":[{"ื":1},7],"ภ":7,"ร":[{"ี":8}]},9],"ง":[{"บ":[{"ำ":1}],"ฝ":[{"ี":1}],"อ":[{"อ":1,"ิ":1}],"ิ":47}],"จ":[{"ญ":7,"ห":[{"า":1},7],"อ":7,"เ":7},9],"ช":[{"ก":[{"ร":1}],"ค":[{"ร":1,"ฤ":1}],"ท":[{"ิ":1}],"น":[{"ะ":8,"ี":1}],"ป":[{"ะ":1}],"ล":[{"ั":1}],"ว":[{"โ":1,"ะ":50}],"ส":[{"ก":1,"ี":1}],"อ":[{"ง":1}],"ิ":9,"ี":11,"โ":[{"อ":1}],"ะ":47}],"ซ":9,"ญ":[{"ร":[{"อ":1}]}],"ฏ":[{"ก":[{"ะ":8}],"ด":[{"น":1}],"ล":[{"ิ":8,"ี":1}],"ิ":11}],"ฐ":[{"ก":[{"ถ":1}],"ี":47}],"ณ":[{"ค":[{"ด":1}],"ส":[{"ถ":1}],"ะ":47}],"ด":[{"ผ":[{"ว":1}],"อ":11,"ิ":11,"ไ":[{"ท":1,"ห":1}],"ี":47,"ะ":47}],"ต":[{"ญ":7,"ภ":7,"ว":4,"ี":47,"า":47},9],"ท":[{"ธ":7,"น":[{"ะ":8},7],"บ":[{"ง":1,"ร":1}],"ส":[{"ก":1}],"ห":[{"ล":1}],"ร":[{".":47}]},9],"ธ":[{"น":7,"ย":[{"ม":1},14],"า":17},9],"น":[{"ญ":[{"่":1}],"ผ":[{"ู":1}],"ร":[{"ว":1,"ั":1}],"ฤ":[{"ด":1}],"อ":[{"ว":1}],"ุ":17,"ะ":47,"ี":47,"ล":[{".":47}],"น":[{".":47}]}],"บ":[{"จ":[{"้":1}],"ฉ":[{"ว":1}],"ช":[{"้":1}],"ซ":[{"ึ":1}],"พ":4,"ร":[{"ื":1}],"ล":[{"ะ":1}],"ิ":11,"ี":[{".":47}]}],"ป":[{"ส":[{"ร":1,"่":1}],"แ":[{"ช":1}]}],"พ":[{"ถ":[{"่":1}],"ย":[{"น":1}],"ร":[{"ั":1}],"ล":[{"ว":1}]}],"ฟ":[{"ต":[{"้":1}],"ร":[{"ิ":1}],"ี":47}],"ภ":[{"ป":7,"ล":[{"อ":1},7]},9],"ม":[{"ค":[{"ิ":1}],"ง":[{"่":1}],"น":[{"ิ":1},40],"ส":[{"ก":1}],"ห":[{"ม":1,"ล":1,"า":1},23],"ี":11,"ก":[{".":47}],"อ":[{".":47}]}],"ย":[{"ก":[{"ล":1,"อ":1,".":47}],"ข":[{"ว":1,"้":1}],"ช":[{"น":1}],"ด":[{"ิ":1,"้":1}],"ต":[{"น":8}],"น":[{"ธ":8,"ม":8,"อ":1,"เ":8,".":47}],"บ":[{"ร":1}],"ผ":[{"อ":1}],"ฝ":[{"ั":1}],"ม":[{"ุ":1,"่":1}],"ร":[{"ุ":1,"้":1}],"ล":[{"ั":1,"่":1}],"ว":[{"อ":1}],"อ":[{"ำ":1}],"ิ":11,"ไ":[{"ห":1}],"ะ":47}],"ร":[{"ก":[{"ำ":1,".":47}],"ค":5,"ณ":[{"ะ":8,"ู":1,".":47}],"ต":[{"ร":1}],"ท":[{"ะ":8}],"ธ":[{"ุ":1}],"ผ":[{"จ":1}],"พ":[{"ร":1,".":47}],"ภ":[{"ย":8,".":47}],"ม":9,"ร":[{"า":1}],"ล":[{"ะ":1}],"ว":[{"ด":1,"่":1}],"ห":[{"น":1}],"ะ":9,"ั":9,"า":9,"ิ":[{"ก":8,"ย":[{"ะ":8}]},9],"ี":9,"ุ":9,"น":[{"ี":48}]}],"ล":[{"ก":7,"ค":7,"จ":7,"ฎ":[{"ี":1}],"ด":[{"ี":1},7],"ท":[{"ห":1}],"ป":[{"ก":1,"น":[{"ะ":46}]},7],"พ":[{"ร":1}],"ว":7,"ส":7,"อ":[{"ุ":1}],"โ":7,"ี":47},9],"ว":[{"ก":[{"่":1,".":47}],"ข":[{"้":1}],"ด":[{"ี":11,"ึ":1}],"น":[{"ี":1}],"บ":[{"อ":1}],"ย":[{"อ":1,"ื":1}],"ร":[{"ณ":8,"ภ":1,"ร":8,"า":1,"ี":12,"ุ":1,"้":1}],"ฤ":[{"ก":1}],"อ":[{"น":8}],"ี":47,"ะ":47}],"ศ":[{"น":[{"ี":1}],"ร":11,"เ":[{"ล":1}]}],"ษ":[{"ด":[{"ื":1}],"ต":[{"ร":1}],"ร":[{"า":1}],"แ":[{"ก":1}]}],"ส":[{"ก":[{"า":1,".":47}],"ค":[{"อ":1}],"ด":[{"้":1}],"ต":[{"้":1}],"น":[{"ี":1}],"ป":[{"อ":1}],"ม":[{"ห":1,".":47}],"ี":47,"พ":47}],"ห":[{"ก":5,"ม":[{"ง":1}]},9],"ฬ":[{"โ":[{"ร":1}],"ี":47,"ก":[{".":47}]}],"อ":[{"น":[{"า":24}]},9],"ฮ":9,"เ":[{"ม":[{"ศ":22}]},9],"แ":9,"โ":9,"ไ":9,"ถ":[{"า":47}],"ฑ":[{"ู":47}],"ฝ":47,"ฒ":[{"ะ":47}]},42],"ำ":[{"ก":9,"ค":9,"ท":[{"ว":4}],"น":9,"บ":9,"ป":9,"พ":9,"ม":[{"ร":[{"ง":1}]},9],"ร":9,"ล":9,"ส":9,"ห":9,"เ":9,"แ":9},43],"ิ":[{"ก":[{"ซ":[{"ี":1}],"ถ":[{"อ":1}],"ร":[{"้":1},9],"ฤ":11,"ล":[{"้":1,".":47}],"ว":[{"า":1}],"ษ":[{"ุ":1}],"ิ":[{"ส":22}],"ะ":47}],"ข":[{"ส":[{"ิ":1},7]},9],"ค":[{"ต":[{"อ":1},7],"น":7,"ห":[{"ะ":7}]},9],"ฆ":[{"เ":[{"น":1}]}],"ง":[{"ช":[{"ี":1}],"ส":[{"ต":4}],"ห":[{"า":1,"้":1},4],"อ":[{"ร":1}]}],"จ":[{"ศ":[{"ี":1}],"ี":47,"ล":[{".":47}]}],"ช":[{"น":4,"ล":[{"ิ":1}],"ิ":11,"ก":[{"ะ":50}],"ะ":47}],"ญ":[{"ห":[{"น":1}],"โ":[{"ญ":1}]}],"ด":[{"ฉ":[{"ิ":1}],"ช":[{"อ":1,"ิ":1}],"น":[{"ี":1}],"ผ":[{"น":1}],"ร":[{"อ":1,"ะ":1}],"ล":[{"ั":1}],"อ":[{"อ":1,"่":1}],"า":47}],"ต":[{"ซ":[{"ู":1}],"ถ":[{"ี":1}],"ฟ":[{"อ":1}],"ล":[{"ด":1,"า":1}],"ว":[{"ส":1}],"ส":[{"ม":1}],"ิ":9,"ุ":11,"ี":47,"ร":[{"า":50,"ะ":50}]}],"ท":[{"ค":[{"อ":1}],"ธ":[{"ั":1,"ิ":[{".":1}]}],"ส":[{"น":1}]}],"ธ":[{"ี":11,"ิ":47,"ุ":47}],"น":[{"ง":[{"อ":1}],"ฟ":[{"ร":1}],"ย":[{"ว":1,"อ":1,"้":1}],"ร":[{"ะ":1,"ิ":1,"้":1}],"อ":[{"บ":8,"ิ":1}],"ฮ":[{"ุ":1}],"ู":[{"ป":22}]}],"บ":[{"บ":[{"ิ":1}],"ผ":[{"ย":1}],"ย":[{"ื":1}],"ร":[{"ะ":1,"ี":1}],"ล":[{"ั":1,"ิ":1,"้":1}]}],"ป":[{"ก":4,"ท":[{"อ":1}],"ผ":[{"ล":1}],"ร":11,"ส":[{"ต":1,"เ":1}],"ฮ":[{"อ":1}],"โ":[{"ป":1,"ย":1}],"ุ":47,"ู":47,"ิ":47}],"พ":[{"พ":7,"โ":[{"ส":1},7]},9],"ฟ":[{"ฟ":[{"อ":1}]}],"ภ":9,"ม":[{"ฝ":[{"ี":1}],"ุ":9}],"ย":[{"ม":[{"ิ":1}],"ะ":47,"ก":[{"ะ":50}],"ง":47,"น":47}],"ร":[{"ว":[{"ด":1}],"ั":9,"า":9,"ิ":9,"ุ":9,"ี":47,"ะ":47,"พ":47,"ม":[{".":47}]}],"ล":[{"ป":[{"ิ":1}],"ั":9,"า":9,"ิ":9,"ี":8,"ะ":47,"ก":47}],"ว":[{"ซ":[{"ี":1}],"ท":[{"ร":1}],"บ":[{"ิ":1}],"ย":[{"อ":1,"ิ":1}],"ร":[{"ร":11,"ิ":1}],"ล":[{"ิ":1,"ึ":1}],"า":[{"ส":22}],"ะ":47}],"ศ":[{"พ":[{"ร":1}],"ร":[{"้":1,"า":50}],"เ":[{"ล":1}],"แ":[{"พ":1}]}],"ษ":[{"ณ":[{"ุ":1}],"ต":[{"ร":1}]}],"ส":[{"ก":[{"ร":1,"ี":1}],"ต":[{"ร":8,"ิ":1,"้":1}],"ท":[{"ี":1}],"น":[{"ี":1}],"บ":[{"อ":1}],"ร":[{"า":1,"ิ":1,"ะ":50}],"ล":[{"า":1}],"ไ":[{"ซ":1}],"ี":47}],"ห":[{"า":21},9],"อ":9,"เ":[{"น":21},9],"โ":9,"ไ":9,"ณ":[{"ะ":47,"ก":[{"ะ":50}]}],"ถ":[{"ี":47}],"ฐ":[{"ิ":47}]},42],"ี":[{"ก":[{"ต":7,"ย":[{"่":1},7],"ร":[{"ิ":1}]},9],"ฆ":[{"ส":[{"ร":1}]}],"ช":[{"ค":[{"ณ":1}]}],"ซ":[{"ส":[{"ถ":1}]}],"ด":[{"ฆ":[{"่":1}],"ิ":[{"ย":8}],"ี":47}],"ต":[{"ก":[{"ว":1}],"ป":[{"ฏ":1}],"ิ":47}],"ท":[{"น":4},9],"บ":[{"ร":[{"ุ":1,"้":1}]}],"ป":9,"พ":[{"จ":7},9],"ม":[{"ู":47},9],"ย":[{"ก":[{"ถ":1}],"ร":[{"ย":1,"อ":1,"ะ":1,"ั":1}],"ว":[{"น":8}],"ไ":[{"ต":1}]}],"ร":[{"ณ":[{"ั":1}],"ี":[{"บ":22},11],"า":47,"ะ":47,"ม":[{".":47}],"อ":[{".":47}],"ุ":47}],"ล":[{"จ":[{"ุ":1}],"า":47,"ม":[{".":47}]}],"ว":[{"ั":7,"า":21,"ี":47,"ะ":47,"ก":47,"ร":47,"ง":47}],"ษ":[{"ม":[{"า":1}]}],"ห":[{"น":[{"า":1,"้":8}],"บ":[{"ั":1}],"ม":[{"ุ":1}],"ร":[{"า":1}],"ล":11,"โ":[{"ม":1}],"ไ":[{"ส":1}]}],"อ":[{"ร":4,"า":21},9],"เ":9,"แ":9,"โ":9,"ไ":9,"่":[{"ก":[{"่":1}],"ถ":[{"้":1}],"ป":[{"ุ":1,"ู":1}],"ห":5,"โ":[{"ค":1,"ป":1}]}],"้":[{"ก":[{"ร":1}],"จ":[{"้":1}],"ต":[{"ะ":1}],"ฟ":[{"ู":1}],"ร":[{"ิ":1}],"ล":[{"ั":1,"ุ":1}]}],"๊":[{"ก":[{"ร":1}],"ด":[{"๊":1}],"ต":[{"่":1}]}],"๋":[{"จ":[{"้":1}],"อ":[{"๋":1}]}],"จ":[{"ี":47}],"ฑ":[{"า":47}],"ข":47,"ส":[{"ป":47}]},42],"ึ":[{"ก":[{"ซ":[{"ึ":1}],"ด":[{"ำ":1,"ื":1}],"ย":[{"ื":1}],"ร":[{"ะ":1}],"ล":[{"ั":1,"้":1}],"ฮ":[{"ั":1}]}],"ด":[{"ถ":[{"ื":1}],"ฮ":[{"ั":1}]}],"น":[{"ท":[{"ึ":1}]}]},42],"ื":[{"ด":[{"ฮ":[{"า":1}]}],"อ":[{"ก":[{"ล":1,"อ":1,"ำ":1}],"ข":[{"่":1}],"จ":[{"้":1}],"ช":[{"ื":1}],"ด":[{"ำ":1}],"ต":[{"ร":1}],"ถ":[{"ื":1}],"น":[{"ำ":1}],"ป":[{"ล":1,"ื":1,"่":1}],"พ":[{"ว":1,"่":1}],"ย":[{"น":1,"า":1}],"ร":[{"ื":1}],"ล":[{"า":1,"้":1}],"ส":[{"อ":1,"ำ":1}],"อ":[{"ี":1}]}]},42],"ุ":[{"ก":[{"ง":[{"อ":1}],"ฉ":[{"ก":1}],"ซ":[{"่":1}],"ด":[{"ิ":1}],"ผ":[{"า":1}],"ร":[{"า":1,"ุ":1,"ะ":[{".":1}]}],"ล":[{"ะ":1,"ี":1,"้":1}],"อ":[{"ี":1}],"ฮ":[{"ื":1}],"ะ":47}],"ข":[{"น":[{"า":1}],"ป":[{"า":1}],"ภ":[{"ั":1,"า":1}],"ล":[{"ั":1}],"ศ":[{"า":1,"ึ":1}],"เ":[{"ด":1}],"ี":47}],"ค":[{"ท":[{"อ":1}],"น":11}],"ง":[{"ถ":[{"ุ":1}]}],"จ":[{"ล":[{"ิ":1}],"ห":[{"น":1}],"น":[{"ะ":50}],"ี":47}],"ญ":[{"จ":[{"น":1}],"ฤ":[{"ท":1}],"แ":[{"จ":1}]}],"ฎ":[{"ฐ":[{"ั":1}],"ี":47,"า":47}],"ฑ":[{"พ":[{"่":1}]}],"ณ":[{"ค":[{"่":1}],"ฑ":[{"ก":1}],"ห":[{"ญ":1,"า":1,"ิ":1}],"ู":[{"ป":26}],"ะ":47}],"ด":[{"ผ":[{"า":1,"่":1}],"ล":[{"อ":1,"ุ":1}],"อ":[{"ู":1}],"ี":47}],"ต":[{"ก":[{"ว":1}],"ซ":[{"อ":1}],"ต":[{"ก":1}],"ร":[{"ะ":8,"ิ":8}],"ล":[{"ุ":1}],"ส":[{"่":1}],"ถ":[{"ี":48}]}],"ท":[{"ก":11,"ธ":[{"ั":1,"ิ":[{".":50}]}],"ร":[{"ิ":8}],"ล":[{"ุ":1}],"โ":[{"ธ":1}],"ส":47}],"น":[{"ท":[{"ร":1}],"ผ":[{"ล":1}],"ร":[{"อ":1}],"ะ":47}],"บ":[{"ง":[{"ิ":1}],"บ":[{"ิ":1}],"ผ":[{"ล":1}],"ย":[{"ิ":1}],"อ":[{"ิ":1}],"ล":[{".":8}]}],"ป":[{"ก":[{"ร":1}],"จ":[{"า":1}],"ถ":[{"ั":1}],"ย":[{"ุ":1}],"ร":[{"า":5,"ิ":8}],"ส":[{"ง":1,"ร":1},7],"ฮ":[{"า":1}],"โ":[{"ภ":1,"ล":1}]}],"พ":[{"พ":[{"า":1}],"ภ":[{"ิ":1}]}],"ภ":[{"ช":[{"ล":1}],"เ":[{"ค":1}]}],"ม":[{"น":[{"ุ":1},4],"ร":[{"ุ":1}],"ห":[{"ย":1}]}],"ย":[{"ช":[{"่":1}],"ฝ":[{"้":1}],"ง":47}],"ร":[{"ข":[{"่":1}],"ค":7,"ฉ":7,"ช":7,"ท":7,"ธ":7,"บ":7,"พ":7,"ภ":[{"ี":8},7],"ย":7,"ร":7,"ล":7,"ว":7,"ศ":7,"ส":7,"อ":7,"แ":7,"โ":7},9],"ล":[{"จ":[{"อ":1}],"ช":[{"ี":1}],"ธ":[{"ิ":1}],"ม":[{"ุ":1}],"ว":[{"ร":1}],"ส":[{"ต":1,"แ":1}],"า":11,"ิ":11,"ี":8,"ะ":47}],"ศ":[{"เ":[{"ร":1}],"โ":[{"ล":1}]}],"ษ":[{"จ":[{"ี":1}],"ฎ":[{"ี":1}],"ป":[{"ร":1}],"ย":7,"ร":[{"า":1,"้":1}],"เ":[{"พ":1}],"ณ":[{"ะ":50}]}],"ส":[{"ร":[{"า":1}],"ล":[{"ะ":8,"ิ":1}],"ว":[{"า":1}],"ภ":[{".":47}]}],"ห":[{"ก":[{"ล":1}],"น":[{"า":1}],"ย":[{"า":1},7],"เ":[{"ท":1,"ส":1},7],"โ":[{"ย":1},7]},9],"เ":9,"โ":9,"๊":[{"ต":[{"๊":1}]}],"ว":[{"ด":[{"ี":50}],"ะ":47}],"ช":[{"ุ":47}]},42],"ู":[{"ก":[{"ว":[{"ั":1}]}],"ช":9,"ญ":[{"ห":[{"า":1}],"เ":[{"ป":1,"ส":1}]}],"ด":[{"บ":[{"ึ":1}],"ร":[{"ี":1}],"ู":47}],"ต":[{"ร":[{"ู":1}],"ี":47}],"ธ":[{"เ":[{"ร":1}]}],"บ":[{"ไ":[{"ล":1}]}],"ป":[{"ก":4,"ฌ":[{"า":1}],"ถ":[{"่":1}],"ท":[{"ร":1}],"พ":[{"ร":1}],"ร":[{"่":1}],"แ":[{"บ":1}],"โ":[{"ฉ":1}]}],"ฟ":[{"ว":[{"ี":1}]}],"ม":[{"ิ":[{"น":8}],"ี":47},14],"ร":[{"ข":[{"่":1}],"ณ":[{"ภ":8,"ม":8,"ะ":8,"า":[{"ก":8}]},4],"พ":[{"ะ":8,"า":8},4],"ม":4,"ี":47,"า":47,"ะ":47,"ุ":47,"ิ":[{".":47}]}],"ล":[{"ก":[{"ร":1}],"ค":[{"่":1}],"ั":11,"า":47,"ะ":47,"ู":47}],"ว":[{"ไ":[{"น":1}],"ี":47}],"ส":[{"ว":4,"ี":47}],"เ":9,"โ":9,"่":3,"้":3,"๊":[{"ต":[{"ึ":1}]}],"๋":[{"ก":[{"ร":1}],"จ":[{"ี":1}],"อ":[{"ี":1}]}],"ห":[{"า":47}],"จ":[{"ี":47}],"ข":[{"ะ":47}],"ฏ":[{"า":47}]},42],"เ":[{"ก":[{"ย":[{"ู":1,"า":50}],"ร":[{"ล":1}],"ว":[{"ั":1}],"ศ":[{"ว":1,"า":50}],"อ":[{"ิ":1}],"ง":41,"ช":[{"า":50}],"ก":41,"ต":[{"ุ":[{".":48}]}]}],"ค":[{"ซ":[{"อ":1}],"ม":[{"ี":1}],"ศ":[{"ว":1}],"ห":[{"ะ":50}]},41],"จ":[{"ด":[{"ี":1}],"น":[{"ี":1}],"ร":7,"ล":[{"ิ":1}],"โ":[{"ต":1,"ร":1}]},41],"ซ":[{"ท":[{"ิ":1}],"น":[{"อ":1}],"ร":[{"ุ":1}],"แ":[{"ค":1}]},41],"ด":[{"บ":[{"ิ":1}],"ร":[{"ั":1}],"ล":[{"า":1,"ิ":1,"ี":1}]},41],"ต":[{"ช":10,"ป":[{"ุ":1}],"ม":[{"ี":1,"ู":1}],"ร":[{"ิ":1,"ี":[{".":50}]}],"ล":[{"ุ":1,"ะ":50}],"ศ":[{"ว":1}],"ห":[{"ะ":1}]},41],"ถ":[{"ร":[{"า":1}]},41],"ท":[{"ก":[{"ร":1}],"ค":[{"ร":1,"ว":1}],"โ":[{"ว":1,"ศ":1}],"พ":[{"ี":50}],"ว":[{"ี":50,"ะ":50}],"ห":[{"ะ":50}]},41],"น":[{"ต":[{"ิ":1},4],"ย":15,"ร":[{"ะ":1,"ั":1,"ุ":50}],"ส":[{"า":1},23],"เ":[{"ว":1}],"ห":[{"า":50}]},41],"บ":[{"ต":[{"้":1}],"บ":[{"ี":1}],"ร":[{"ิ":1,"ุ":1}],"ล":[{"ี":1}],"ื":[{"้":[{"อ":[{"ง":56}]}]}]},41],"ป":[{"ต":[{"อ":1}],"ส":[{"ก":1,"ล":1}],"ี":[{"่":51}],"ร":[{"ี":[{"ย":[{"ะ":51}]}],"ะ":50}]},41],"พ":[{"ช":[{"ุ":1}],"ท":[{"ุ":1}],"ส":[{"ล":1}],"โ":[{"ท":1}],"ไ":[{"น":1}]},41],"ฟ":[{"อ":[{"ี":1}]},41],"ภ":[{"ต":[{"ร":1}],"ท":[{"ุ":1}],"ก":[{"ะ":50}]},41],"ม":[{"ฆ":[{"ิ":1}],"ด":[{"ิ":1}],"ล":[{"อ":1,"่":1}],"ส":[{"ุ":1},4]},41],"ร":[{"ก":[{"อ":1,"ะ":1}],"ม":[{"อ":1}],"ร":[{"ว":1}],"ว":[{"ด":1}],"ื":[{"อ":[{"ธ":53,"บ":53}]}]},41],"ล":[{"ก":[{"ร":1}],"ค":[{"อ":1}],"ด":[{"ี":1}],"พ":[{"อ":1}],"ว":[{"ร":1,"ู":1}],"ห":[{"ล":1}],"ฮ":[{"ุ":1}],"ิ":21,"ส":[{"ไ":[{"ต":46}]}],"ี":[{"้":[{"ย":[{"ว":56}]}]}]},41],"ว":[{"ก":[{"้":1}],"ท":[{"ิ":1}],"ล":[{"่":1,"า":50}],"ฬ":[{"ุ":1}],"ไ":[{"น":1}],"ร":[{"ี":50}],"ส":[{"ี":50}],"จ":[{"ี":50}]},41],"ส":[{"ฉ":[{"ว":1}],"น":[{"ี":[{"ย":[{"์":1}]}]}],"ร":[{"ี":1}],"ว":[{"ก":1,"น":[{"ะ":49},1]}],"แ":[{"ส":1}],"ภ":[{"า":50}]},41],"ห":[{"ม":[{"ั":1}],"ย":[{"ง":1}],"ร":[{"ะ":1,"ั":1,"า":[{".":50}]}],"ศ":[{"ว":1,"ั":1}],"ส":[{"ั":1}]},41],"ฬ":[{"ว":[{"ร":1}]},41],"อ":[{"ก":[{"ว":1}],"ธ":[{"ิ":1}],"ฬ":[{"ก":1}],"ล":[{"า":50}]},41],"ฮ":[{"ล":[{"ะ":1,"ิ":1}]},41],"ข":[{"ี":[{"้":51}],"ฬ":[{"ะ":50}]},41],"ฃ":41,"ฅ":41,"ฆ":41,"ง":41,"ฉ":41,"ช":[{"น":41},41],"ฌ":41,"ญ":41,"ฎ":41,"ฏ":41,"ฐ":41,"ฑ":41,"ฒ":41,"ณ":41,"ธ":41,"ผ":45,"ฝ":41,"ย":41,"ศ":41,"ษ":41},14],"แ":[{"ก":[{"ว":[{"ั":1}]}],"ค":[{"ร":[{"อ":1,"ิ":1}],"ล":[{"อ":1,"ิ":1}],"แ":[{"ต":1,"ส":1}]}],"ซ":[{"ย":[{"ิ":1}],"ห":[{"ว":1}]}],"ด":[{"ร":[{"ี":1}],"ว":[{"ู":50}]}],"ต":[{"แ":[{"ต":1}],"ร":[{"ว":[{"ง":46}]}]}],"น":23,"บ":[{"ค":4,"ร":[{"ิ":1}]}],"ป":[{"ร":7}],"พ":[{"ท":19}],"ฟ":[{"ร":[{"ี":1}],"้":7}],"ม":[{"ก":[{"า":1}],"ช":[{"ี":1}],"ร":[{"ิ":1,"ี":1}],"เ":[{"ร":1}],"่":0},23],"อ":[{"น":[{"ะ":1}]}],"ล":[{".":34}],"ว":[{"ด":[{"ว":[{"ง":46}]}]}]},41],"โ":[{"ก":[{"ฐ":4,"ล":[{"อ":1,"า":1,"ิ":1}],"ว":[{"า":1,"ี":1}],"ฮ":[{"า":1}],".":52}],"ข":[{"ท":[{"ั":1}],"ภ":[{"ิ":1}],"เ":[{"ภ":1}],"โ":[{"ล":1}]}],"ค":[{"ต":[{"ม":1,"ิ":1}],"ม":[{"ู":1,"่":1}],"ร":[{"ิ":1,"ำ":50,"ส":48}],"ล":[{"อ":1,"ั":1,"ี":1,"่":1}],"อ":[{"อ":1,"ะ":1}],"แ":[{"ท":1}],"ไ":[{"ซ":1}],"ท":[{"ร":[{".":50}]}],"น":[{"ม":50}]}],"จ":[{"ป":[{"ก":1}],"อ":[{"ี":1}],"ร":[{".":41}]}],"ฉ":[{"เ":[{"บ":1,"ก":50}]}],"ช":[{"ฎ":[{"ึ":1}],"ด":[{"ึ":1}],"ห":[{"่":1}],"น":41}],"ซ":[{"ก":[{"ร":1}],"น":[{"ี":1}],"ย":[{"ู":1}],"ล":[{"ู":1,"า":50}],"ส":[{"เ":1}],"ร":48}],"ญ":[{"ช":4,"ป":[{"ว":1}]}],"ด":[{"จ":[{"ี":1}],"น":[{"ี":1}],"ร":[{"า":1}],"ล":[{"ิ":1}],"ม":[{"ร":50}]}],"ต":[{"ก":[{"ร":1}],"ร":[{"อ":1,"า":1,"ิ":1}],"ล":[{"ิ":1}],"ส":[{"เ":1}],"ไ":[{"ค":1}],"ม":[{"ร":50}]}],"ท":[{"ก":[{"ร":1}],"ค":[{"อ":1}],"ด":[{"อ":1}],"พ":[{"ล":1}],"ร":[{"อ":1}],"แ":[{"อ":1}],"โ":[{"ส":50}]}],"ธ":[{"ท":[{"น":1}],"ป":[{"ก":1,"ิ":1}],"ว":[{"น":1}],"เ":[{"ฟ":1}]}],"น":[{"ท":[{"ุ":1}],"ป":[{"จ":1}],"ร":[{"ม":1}]}],"บ":[{"ช":[{"ุ":1}],"ซ":[{"อ":1}],"ต":[{"้":1}],"ร":[{"อ":1,"ั":1,"า":1,"ิ":50}],"ล":[{"ิ":1,"่":1,"า":50}],"อ":[{"ิ":1}],"ไ":[{"ฮ":1}]}],"ป":[{"ก":[{"ส":1}],"ล":[{"ิ":1,"ี":50}],"แ":[{"ต":1,"ล":1}],"โ":[{"ป":1,"ล":1}],"ส":[{"ก":50}]}],"พ":[{"ท":[{"ะ":1}],"ร":[{"ะ":1}],"ล":[{"า":1,"ิ":1,"ี":1}],"ห":[{"า":1}],"แ":[{"ท":1}],"ไ":[{"ซ":1}]},52],"ฟ":[{"ก":[{"ร":1}],"ต":[{"อ":1}],"น":[{"ี":1}],"ล":[{"ิ":1}]}],"ภ":[{"ค":[{"ิ":1}],"ไ":[{"ค":1}]}],"ม":[{"ฆ":[{"ี":1}],"ด":[{"ู":1}],"ร":[{"็":1,"ี":50}],"ห":[{"า":1}],"ฮ":[{"ั":1}],"ล":[{"ี":50}]}],"ย":[{"ถ":[{"ิ":1}],"น":[{"ก":[{".":50}]}]}],"ร":[{"ก":[{"ะ":1}],"ค":[{"ิ":1}],"ง":[{"ั":1}],"ธ":[{"น":[{"ะ":1}]}],"พ":[{"ล":1}],"ฟ":[{"อ":1,"ี":1}],"ร":[{"า":1,"่":1}],"ล":[{"่":1,"า":50}],"ส":[{"เ":1},21],"ห":[{"น":1}],"อ":[{"ี":1}],"ฮ":[{"ิ":1,"ี":1}],"แ":[{"ม":1}],"ไ":[{"ล":1}]}],"ล":[{"ก":[{"ร":1,"ี":1}],"จ":[{"น":1}],"ป":[{"ุ":1}],"ม":[{"ก":1}],"ร":[{"า":1}],"ว":[{"ะ":1}],"ห":[{"ิ":1}],"ไ":[{"ม":1}],"ท":[{"ร":[{".":50}]}],"บ":[{"ล":[{".":50}]}],"่":[{"ง":[{"อ":[{"ก":53}]}]}]}],"ว":[{"น":[{"อ":1}]}],"ศ":[{"ธ":[{"น":1}],"ภ":[{"ิ":1}]}],"ส":[{"ก":[{"ร":1}],"ต":[{"ิ":1}],"ธ":[{"น":[{"ะ":49},1]}],"ภ":[{"ิ":1,"า":50},50],"ร":[{"ั":1}],"ล":[{"ิ":1}],"ห":[{"ุ":1}],"โ":[{"ค":1}],"ท":[{"ร":[{".":50}]}],"ม":[{"ม":50}]}],"ห":[{"ฐ":[{"า":1}],"ร":[{"ส":1,"ะ":1,"า":1}],"ส":[{"ิ":1}],"ฬ":[{"า":1}]}],"อ":[{"ค":[{"ล":1,"็":1}],"ด":[{"ี":1}],"ร":[{"ส":1}],"ล":[{"ะ":1,"า":50}],"ส":[{"ถ":1}],"อ":[{"ิ":1}],"ช":[{"ะ":50}]}],"ผ":52,"ฮ":52},41],"ใ":[{"ช":[{"้":19}],"ห":16,"จ":50},45],"ไ":[{"ก":[{"ล":[{"า":1}],"ว":[{"ั":1}],"ร":[{"ส":[{"ิ":[{"ท":[{"ธ":[{"ิ":[{".":55}]}]}]}]}],"พ":50}]}],"ข":[{"ข":[{"้":1}],"ค":[{"ว":1}],"ม":[{"ั":1}],"ส":[{"ั":1,"ื":1}]}],"ค":[{"ศ":[{"ว":1}]}],"ช":[{"น":[{"่":1,"ะ":50}],"ศ":[{"ว":1}],"โ":[{"ย":50}]}],"ซ":[{"ด":[{"อ":1}],"บ":[{"อ":1,"ี":1}],"ป":[{"ร":1}],"ร":[{"ั":1}],"แ":[{"น":1}]}],"ด":[{"ฟ":[{"ุ":1,"ู":1}],"ล":[{"ิ":1}],"อ":[{"อ":1}]}],"ต":[{"ร":[{"ี":1}]}],"ท":[{"ก":[{"ร":1}],"ฟ":[{"อ":1}],"ร":[{"อ":1}],"แ":[{"ท":1}],"ว":[{"ะ":50}]}],"ป":[{"ร":[{"ิ":1}]}],"พ":[{"ช":[{"ย":1}],"ท":[{"อ":1}],"ธ":[{"อ":1}],"ร":[{"ั":1,"ิ":1,"ำ":50,"่":53}],"ล":[{"ิ":1}],"ห":[{"า":1}],"โ":[{"ร":1,"อ":1}]}],"ฟ":[{"แ":[{"ช":1,"น":1}]}],"ภ":[{"ร":[{"ิ":1}]}],"ม":[{"ถ":[{"ิ":1}],"้":17}],"ล":[{"บ":[{"ร":1,"ี":1}]}],"ว":[{"ร":[{"ั":1}],"อ":[{"ะ":1}]}],"ห":[{"ร":[{"ณ":1}],"ศ":[{"ว":1}],"ห":[{"ม":1,"ล":1}]}],"อ":[{"ก":[{"ร":1}],"ค":[{"ิ":1}],"ซ":[{"ี":1}],"ด":[{"อ":1}],"ต":[{"ิ":1}],"พ":[{"อ":1,"็":1}],"ศ":[{"ว":1,"ุ":1,"ู":1}]}],"ฮ":3,"ศ":[{"ว":[{"ะ":50}]}]},44],"็":[{"ก":[{"ซ":[{"ี":1}]}],"จ":[{"ข":[{"บ":1}],"ส":[{"ร":1}]}],"ด":[{"ล":[{"อ":1}],"อ":[{"ร":1,"ึ":1}]}],"น":[{"ฉ":[{"่":1}],"ร":[{"อ":1}],"ว":[{"ู":1}],"อ":[{"ย":1,"้":1}]}],"บ":[{"ด":[{"้":1}]}],"ป":[{"ท":[{"็":1}]}],"ม":[{"ห":[{"ม":1}]}]},42],"่":[{"ก":[{"ล":[{"ั":1}]}],"ค":9,"ง":[{"ร":[{"ิ":1}],"อ":[{"ร":1,"ำ":1,"่":1}]}],"ฉ":[{"ี":7}],"น":[{"ง":[{"่":1}],"ฉ":[{"่":1}],"ท":[{"ะ":1}],"ม":[{"ื":1}],"ย":[{"น":1,"่":1},7],"ร":[{"ม":1}]}],"ม":[{"พ":[{"ว":1}]},3],"ย":[{"ก":[{"ะ":1}],"ฉ":[{"ุ":1}],"ร":[{"า":1,"่":1}]}],"ว":[{"ช":[{"้":1}],"ถ":[{"ึ":1}],"ย":[{"ว":1}],"ฮ":[{"้":1}],"ไ":[{"ห":1}]}],"อ":[{"ก":[{"ร":1,"ว":1,"ะ":1,"ี":1,"้":1}],"ข":[{"่":1}],"ต":[{"ร":1,"ะ":1,"้":1}],"ถ":[{"ื":1}],"บ":[{"ื":1}],"ผ":[{"ส":1}],"ม":[{"ว":1,"่":1}],"ย":[{"อ":1,"่":1},0],"ร":[{"่":1}],"ล":5,"ว":[{"่":1}],"ส":[{"ร":1}],"ฮ":[{"ั":1,"่":1}]}],"า":[{"ก":[{"ล":1}],"ช":[{"้":1}],"ด":[{"ง":1,"้":1}],"ฝ":[{"ื":1}],"พ":[{"ร":1}],"ม":[{"ง":1}],"ร":[{"ึ":1,"้":1}],"ว":0}],"ำ":[{"ช":[{"อ":1,"้":1}],"ต":[{"้":1,"๊":1}],"ไ":[{"ห":1}]}],"เ":9,"แ":9,"ห":[{"า":47}],"ล":[{"ะ":47}]},42],"้":[{"ก":[{"อ":[{"้":1}]}],"ง":[{"ถ":[{"่":1}],"ฝ":[{"ุ":1}]}],"น":[{"ง":[{"ู":1}],"ฉ":[{"บ":1,"่":1}],"ท":[{"ะ":1,"ุ":1,"้":1}],"ร":[{"ุ":1,"่":1}]}],"ม":[{"ค":[{"ล":1}],"ง":[{"ว":1}],"ฉ":[{"ุ":1}],"น":[{"้":1}],"ย":[{"ิ":1}],"ล":[{"ะ":1,"ุ":1}],"อ":[{"ล":1}]}],"ย":[{"ก":[{"ล":1}],"ง":[{"ช":1}],"ล":[{"่":1}],"อ":[{"้":1}],"ใ":[{"บ":1}]}],"ว":[{"ร":[{"อ":1}]}],"ห":9,"อ":[{"ก":[{"ร":1,"ล":1}],"ค":[{"ร":1,"ู":1}],"ง":[{"อ":1}],"ฉ":[{"ี":1}],"ด":[{"ึ":1,"้":1}],"ต":[{"๊":1}],"ถ":[{"อ":1}],"น":0,"ผ":[{"้":1}],"ฝ":[{"ั":1}],"ฟ":[{"ื":1}],"ม":[{"ู":1}],"ร":[{"ะ":1,"่":1}],"อ":[{"ึ":1}],"ฮ":[{"ื":1}]}],"า":[{"จ":[{"อ":1}],"ช":[{"ื":1,"ู":1,"่":1,"้":1}],"ด":[{"ี":1}],"ถ":[{"ิ":1,"ึ":1}],"บ":[{"่":1,"้":1,"๋":1}],"ป":[{"ี":1}],"ผ":[{"า":1}],"ฝ":[{"ร":1}],"พ":5,"ม":[{"ุ":1}],"ว":[{"่":1}],"ส":[{"ม":1,"ร":1,"ล":1}]}],"ำ":3,"เ":9,"แ":9,"ล":[{"ำ":47}],"ป":[{"ด":[{".":47}]}]},42],"๊":[{"ก":[{"ซ":[{"อ":1}],"ร":[{"ิ":1}],"ล":[{"ุ":1}],"ฮ":[{"ว":1}]}],"ง":[{"บ":[{"๊":1}]}],"ป":[{"ซ":[{"ี":1}]}],"ย":[{"ก":[{"่":1}]}]},42],"๋":[{"ย":[{"อ":[{"ิ":1}]}],"อ":[{"ด":[{"๋":1}]}]},42],"์":[{"ค":[{"ส":[{"เ":1}],"แ":[{"ล":1}]}],"ต":[{"ไ":[{"ท":1}]}],"ท":[{"เ":7,"ไ":[{"ท":1}]}],"น":9,"บ":9,"พ":9,"ร":[{"า":47},9],"เ":9,"แ":9,"โ":9,"ก":[{"ล":47}]},42],"ฃ":[{".":42,"์":[{".":42}],"ิ":[{"์":[{".":42}]}],"ุ":[{"์":[{".":42}]}]}],"ฅ":[{".":42,"์":[{".":42}],"ิ":[{"์":[{".":42}]}],"ุ":[{"์":[{".":42}]}]}],"ฌ":[{".":42,"์":[{".":42}],"ิ":[{"์":[{".":42}]}],"ุ":[{"์":[{".":42}]}]}],"ฎ":[{".":42,"์":[{".":42}],"ิ":[{"์":[{".":42}]}],"ุ":[{"์":[{".":42}]}],"ก":52}],"ๅ":42,"ํ":42,"ฺ":42,"๎":42}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/2647.adapter.js b/public/tools/cloud_sheets/vendor/univer/2647.adapter.js new file mode 100644 index 0000000..a4ef8c4 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/2647.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[2647],{2647(s,o,e){e.r(o),e.d(o,{Or:()=>n});const n=["22,11,01,1,21",'{"‍":0,"‌":1,"ଅ":2,"ଆ":2,"ଇ":2,"ଈ":2,"ଉ":2,"ଊ":2,"ଋ":2,"ୠ":2,"ଌ":2,"ୡ":2,"ଏ":2,"ଐ":2,"ଓ":2,"ଔ":2,"ା":2,"ି":2,"ୀ":2,"ୁ":2,"ୂ":2,"ୃ":2,"େ":2,"ୈ":2,"ୋ":2,"ୌ":2,"କ":3,"ଖ":3,"ଗ":3,"ଘ":3,"ଙ":3,"ଚ":3,"ଛ":3,"ଜ":3,"ଝ":3,"ଞ":3,"ଟ":3,"ଠ":3,"ଡ":3,"ଢ":3,"ଣ":3,"ତ":3,"ଥ":3,"ଦ":3,"ଧ":3,"ନ":3,"ପ":3,"ଫ":3,"ବ":3,"ଭ":3,"ମ":3,"ଯ":3,"ର":3,"ଲ":3,"ଳ":3,"ଵ":3,"ଶ":3,"ଷ":3,"ସ":3,"ହ":3,"ଂ":4,"ଃ":4,"ୗ":4,"ଁ":4,"୍":0}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/2795.adapter.js b/public/tools/cloud_sheets/vendor/univer/2795.adapter.js new file mode 100644 index 0000000..88ccc70 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/2795.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[2795],{2795(s,n,r){r.r(n),r.d(n,{Fur:()=>t});const t=["022,0002,22,2,002,4,032,00001,000032,0001,0043,0000021,0023,00000001,0012,002403,021,002003,000023,00003,0032,000001,00023,02,001,00021,01,1,202,232,023,32,0223,21,2002,212,243",'{".":[{"\'":[{"s":[{"j":1},0],"n":4}],"a":[{"p":[{"n":6}],"n":[{"t":[{"i":[{"m":[{"n":8}]},7]}]}]}],"b":[{"i":[{"o":9}]}],"c":[{"a":[{"p":[{"s":10}]}],"i":[{"r":[{"c":[{"u":[{"m":11}]}]}]}],"o":[{"n":[{"j":12}],"o":[{"p":14}]}],"u":[{"i":[{"n":[{"t":[{"r":[{"i":13}]}]}]}]}]},23],"d":[{"i":[{"s":[{"c":[{"h":[{"o":[{"c":15}]}]}]},12]}]},23],"e":[{"x":[{"e":16,"t":[{"r":[{"a":17}]}]}]}],"f":[{"r":[{"a":[{"n":[{"k":18}]}],"e":[{"e":19}]}]}],"l":[{"i":[{"p":[{"s":[{"a":20}]}]}]}],"n":[{"a":[{"r":[{"c":[{"o":21}]}]}]}],"o":[{"p":[{"t":[{"o":7}]}],"r":[{"t":[{"o":[{"p":8}]}]}]}],"p":[{"a":[{"r":[{"a":7}]}],"l":[{"u":[{"s":[{"q":22}]}]}],"o":[{"l":[{"i":[{"p":8}]}]}],"r":[{"e":9}],"s":23}],"r":[{"e":[{"a":[{"c":24}],"i":[{"s":[{"c":[{"r":14}]}]}]}]}],"t":[{"r":[{"a":[{"n":[{"s":[{"a":[{"c":18}],"c":18,"d":18,"l":18,"n":18,"p":18,"r":18,"t":18}]}]}]}]}],"s":[{"u":[{"b":[{"j":12,"l":[{"u":12}],"r":12}]}],"c":[{"j":23,"h":23},23],"ç":23,"d":23,"f":23,"g":23,"l":23,"m":23,"n":23,"p":23,"q":23,"r":23,"t":23,"v":23},23],"w":[{"a":[{"g":[{"n":12}]}],"e":[{"l":[{"t":25}]}]}],"z":23}],"\'":[{".":3},2],"b":[{"\'":3,"b":3,"c":3,"d":3,"f":3,"m":3,"n":3,"p":3,"s":3,"t":3,"v":3,"l":23,"r":23,".":3},27],"c":[{"\'":3,"j":[{"\'":[{".":3},3],".":3},23],"b":3,"c":3,"d":3,"f":3,"k":3,"m":3,"n":3,"q":3,"s":3,"t":3,"z":3,"h":[{"h":3,".":3,"b":3,"r":4,"n":3},23],"l":23,"r":23,".":3},27],"ç":[{"\'":3,".":3,"s":[{".":3}]},27],"d":[{"\'":3,"b":3,"d":3,"g":3,"h":23,"l":3,"m":3,"n":3,"p":3,"r":23,"s":3,"t":3,"v":3,"w":3,".":3},27],"f":[{"\'":3,"b":3,"g":3,"f":3,"n":3,"l":23,"r":23,"s":3,"t":3,".":3},27],"g":[{"\'":3,"b":3,"d":3,"f":3,"g":3,"h":[{"t":28},23],"j":23,"l":23,"m":3,"n":[{".":3},23],"p":3,"r":23,"s":3,"t":3,"v":3,"w":3,"z":3,".":3},27],"h":[{"\'":3,"b":3,"d":3,"h":3,"i":[{"p":[{"n":20}]}],"l":23,"m":3,"n":3,"r":3,"v":3,".":3},27],"j":[{"\'":3,".":3},27],"k":[{"\'":3,"g":3,"f":3,"h":23,"k":3,"l":23,"m":3,"r":23,"s":3,"t":3,".":3},27],"l":[{"\'":[{".":3,"\'":3}],"b":3,"c":3,"d":3,"f":29,"g":3,"h":23,"j":23,"k":3,"l":3,"m":3,"n":3,"p":3,"q":3,"r":3,"s":3,"t":3,"v":3,"w":3,"z":3,".":3},27],"m":[{"\'":3,"b":3,"c":3,"f":3,"l":3,"m":3,"n":3,"p":3,"q":3,"r":3,"s":3,"t":3,"v":3,"w":3,".":3},27],"n":[{"\'":3,"b":3,"c":3,"d":3,"f":3,"g":[{"n":30},3],"k":3,"l":3,"m":3,"n":3,"p":3,"q":3,"r":3,"s":[{".":23,"f":[{"e":[{"r":30}]}]},3],"t":[{".":23},3],"v":3,"z":3,"h":[{"e":[{"i":[{"t":3}]}]}],".":3},27],"p":[{"\'":3,"d":3,"h":23,"l":23,"n":[{"e":31},3],"p":3,"r":23,"s":[{"i":[{"c":31}]},3],"t":3,"z":3,".":3},27],"q":[{"\'":3,"q":3,".":3},27],"r":[{"\'":3,"b":3,"c":3,"ç":[{".":3},3],"d":3,"f":3,"h":23,"g":3,"k":3,"l":3,"m":3,"n":3,"p":3,"q":3,"r":3,"s":3,"t":[{"s":32},3],"v":3,"x":3,"w":3,"z":3,".":3},27],"s":[{"\'":[{".":5,"\'":5}],"t":[{"\'":3,".":2,"b":2,"c":2,"d":2,"f":2,"m":2,"n":2,"p":2,"s":2,"t":2,"v":2},3],"c":[{"j":[{".":3},33],"h":34},3],"ç":[{".":2},33],"d":3,"f":3,"g":3,"j":[{".":3},23],"l":3,"m":3,"n":3,"p":[{"n":35},3],"q":3,"r":3,"s":[{"m":36},23],"v":3,"z":3,".":3},27],"t":[{"\'":[{".":3,"\'":3}],"b":3,"c":[{"j":[{".":23},3]},3],"ç":[{".":23},3],"d":3,"f":3,"g":23,"h":23,"l":23,"m":3,"n":3,"p":3,"r":23,"s":[{".":3},2],"t":[{"m":30,"s":30},3],"v":3,"w":3,"z":[{"k":3,"s":4},23],".":3},27],"v":[{"\'":[{".":3,"\'":3}],"c":3,"l":23,"r":23,"s":[{".":3}],"v":3,".":3},27],"w":[{"\'":3,"h":23,"a":[{"r":4}],"y":33,".":3},27],"x":[{"\'":3,"b":3,"c":3,"f":3,"h":3,"m":3,"p":3,"t":3,"w":3,".":3},27],"z":[{"\'":[{".":3,"\'":3}],"b":3,"d":3,"l":3,"n":3,"p":3,"r":3,"s":3,"t":3,"v":3,"z":3,".":3},27],"a":[{"i":[{"a":26,"e":26,"o":26,"u":26}],"u":[{"o":26}],"y":[{"a":26}],"t":[{".":3}]}],"e":[{"i":[{"u":26}],"w":23}],"o":[{"i":[{"a":26,"e":26,"o":26,"u":26}]}],"y":[{"o":[{"u":26}],"i":26}]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/2944.adapter.js b/public/tools/cloud_sheets/vendor/univer/2944.adapter.js new file mode 100644 index 0000000..cf0293a --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/2944.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[2944],{2944(o,a,e){e.r(a),e.d(a,{Pt:()=>u});const u=["12,1,104,03",'{"b":[{"l":0,"r":0,"a":1,"e":1,"i":1,"o":1,"u":1,"á":1,"â":1,"ã":1,"é":1,"í":1,"ó":1,"ú":1,"ê":1,"õ":1}],"c":[{"h":0,"l":0,"r":0,"a":1,"e":1,"i":1,"o":1,"u":1,"á":1,"â":1,"ã":1,"é":1,"í":1,"ó":1,"ú":1,"ê":1,"õ":1,"c":3}],"ç":[{"a":1,"e":1,"i":1,"o":1,"u":1,"á":1,"â":1,"ã":1,"é":1,"í":1,"ó":1,"ú":1,"ê":1,"õ":1}],"d":[{"l":0,"r":0,"a":1,"e":1,"i":1,"o":1,"u":1,"á":1,"â":1,"ã":1,"é":1,"í":1,"ó":1,"ú":1,"ê":1,"õ":1}],"f":[{"l":0,"r":0,"a":1,"e":1,"i":1,"o":1,"u":1,"á":1,"â":1,"ã":1,"é":1,"í":1,"ó":1,"ú":1,"ê":1,"õ":1}],"g":[{"l":0,"r":0,"a":1,"e":1,"i":1,"o":1,"u":[{"a":2,"e":2,"i":2,"o":2},1],"á":1,"â":1,"ã":1,"é":1,"í":1,"ó":1,"ú":1,"ê":1,"õ":1}],"j":[{"a":1,"e":1,"i":1,"o":1,"u":1,"á":1,"â":1,"ã":1,"é":1,"í":1,"ó":1,"ú":1,"ê":1,"õ":1}],"k":[{"l":0,"r":0,"a":1,"e":1,"i":1,"o":1,"u":1,"á":1,"â":1,"ã":1,"é":1,"í":1,"ó":1,"ú":1,"ê":1,"õ":1}],"l":[{"h":0,"a":1,"e":1,"i":1,"o":1,"u":1,"á":1,"â":1,"ã":1,"é":1,"í":1,"ó":1,"ú":1,"ê":1,"õ":1}],"m":[{"a":1,"e":1,"i":1,"o":1,"u":1,"á":1,"â":1,"ã":1,"é":1,"í":1,"ó":1,"ú":1,"ê":1,"õ":1}],"n":[{"h":0,"a":1,"e":1,"i":1,"o":1,"u":1,"á":1,"â":1,"ã":1,"é":1,"í":1,"ó":1,"ú":1,"ê":1,"õ":1}],"p":[{"l":0,"r":0,"a":1,"e":1,"i":1,"o":1,"u":1,"á":1,"â":1,"ã":1,"é":1,"í":1,"ó":1,"ú":1,"ê":1,"õ":1}],"q":[{"u":[{"a":2,"e":2,"i":2,"o":2}]}],"r":[{"a":1,"e":1,"i":1,"o":1,"u":1,"á":1,"â":1,"ã":1,"é":1,"í":1,"ó":1,"ú":1,"ê":1,"õ":1,"r":3}],"s":[{"a":1,"e":1,"i":1,"o":1,"u":1,"á":1,"â":1,"ã":1,"é":1,"í":1,"ó":1,"ú":1,"ê":1,"õ":1,"s":3}],"t":[{"l":0,"r":0,"a":1,"e":1,"i":1,"o":1,"u":1,"á":1,"â":1,"ã":1,"é":1,"í":1,"ó":1,"ú":1,"ê":1,"õ":1}],"v":[{"l":0,"r":0,"a":1,"e":1,"i":1,"o":1,"u":1,"á":1,"â":1,"ã":1,"é":1,"í":1,"ó":1,"ú":1,"ê":1,"õ":1}],"w":[{"l":0,"r":0}],"x":[{"a":1,"e":1,"i":1,"o":1,"u":1,"á":1,"â":1,"ã":1,"é":1,"í":1,"ó":1,"ú":1,"ê":1,"õ":1}],"z":[{"a":1,"e":1,"i":1,"o":1,"u":1,"á":1,"â":1,"ã":1,"é":1,"í":1,"ó":1,"ú":1,"ê":1,"õ":1}],"a":[{"a":3,"e":3,"o":3}],"e":[{"a":3,"e":3,"o":3}],"i":[{"a":3,"e":3,"i":3,"o":3,"â":3,"ê":3,"ô":3}],"o":[{"a":3,"e":3,"o":3}],"u":[{"a":3,"e":3,"o":3,"u":3}],"-":1}',["hard-ware","soft-ware"]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/302.adapter.js b/public/tools/cloud_sheets/vendor/univer/302.adapter.js new file mode 100644 index 0000000..84ac09a --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/302.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[302],{302(l,t,o){o.r(t),o.d(t,{Cs:()=>e});const e=["02,04,0003,0033,003,002,0004,00004,004,00304,00003,0034,0043,001,0002,01,2,0032,03,033,33,3,21,0023,1,212,202,4,203,0001,12,3004,404,000004,022,00002,000003,0000004,044,043,032,00402,43,22,021,0022,012,0132,201,23,403,32,00043,00032,00033,0012,303,00034,023,42,44,00023,221,00303,0013,304",'{".":[{"a":[{"d":[{"a":1,"e":1,"i":1,"o":1,"é":1}],"k":[{"l":1,"o":1,"r":1,"u":1}],"l":[{"e":[{"x":2}]}],"r":[{"a":1,"e":1,"i":1,"o":1,"y":1,"á":1}],"s":[{"a":1,"e":1,"o":1,"t":3,"y":1}],"t":[{"a":1,"e":1,"l":4,"o":1,"r":1,"y":1}],"v":[{"e":1}]},0],"b":0,"c":[{"h":5,"y":[{"k":2}]},0],"d":[{"e":[{"z":2}],"n":[{"a":1,"e":[{"š":[{"k":7}]},6],"y":1}],"o":[{"s":6}],"v":[{"e":1,"ě":1,"í":1}]},0],"e":[{"c":[{"h":1}],"k":[{"o":1}],"s":[{"k":4,"t":4}],"v":[{"e":1}]},0],"f":[{"r":[{"i":1}]}],"g":0,"h":[{"l":[{"e":1}],"n":[{"e":1}]},0],"i":[{"n":[{"a":1,"i":1,"o":1}],"s":[{"l":4}]},0],"j":[{"a":[{"k":1}],"e":[{"d":[{"l":8}]}],"s":[{"e":1}],"z":[{"d":1}],"á":[{"d":6}]},0],"k":[{"l":[{"i":1,"y":1}],"ř":[{"í":[{"d":2}]}]},0],"l":[{"e":[{"g":[{"r":8}]}],"i":[{"k":[{"v":4}]}]},0],"m":[{"i":[{"s":[{"t":9}]}],"o":[{"u":[{"d":10}]}]},0],"n":[{"a":[{"č":11}],"e":[{"c":4,"č":6,"š":4}],"i":[{"t":5}],"o":[{"s":[{"t":12}]}],"v":[{"p":1}],"á":[{"ř":[{"k":6}]},13]}],"o":[{"b":[{"é":1}],"d":[{"e":2,"l":4,"r":[{"á":4}]}],"k":[{"a":1,"o":1}],"n":[{"a":1,"e":1,"i":1,"o":1,"u":1,"y":1,"ě":1,"í":1}],"p":[{"e":1,"o":1}],"s":[{"e":1,"l":1,"t":[{"o":8,"r":3,"ě":8}]}],"t":[{"r":[{"á":4}],"v":4,"í":1,"ř":1}],"v":[{"ě":[{"t":6}]}],"z":[{"a":1,"d":[{"o":4}],"i":1,"o":1,"u":1}],"š":[{"k":1,"l":1}],"ž":[{"i":1}]},0],"p":[{"a":[{"r":[{"e":8}],"t":[{"ř":4}]}],"o":[{"l":[{"k":[{"l":7}]}],"č":11}],"r":[{"o":1,"ý":1}],"s":[{"e":1}],"u":[{"b":4}]},0],"r":[{"e":[{"j":6,"s":4}],"o":[{"k":8,"z":[{"e":10,"r":2}]}],"u":[{"d":[{"l":8}]}]},0],"s":[{"c":[{"h":1,"i":1}],"e":[{"m":6,"p":[{"n":4}]}],"k":[{"e":1,"l":8,"á":1}],"l":[{"e":1}],"n":[{"a":1,"y":1}],"p":[{"e":1,"o":1}],"t":[{"á":1},5],"ž":[{"i":1}]},0],"t":0,"u":[{"b":[{"a":1,"e":1,"i":1,"o":1}],"d":[{"e":1,"i":1,"o":1,"u":1,"í":1}],"h":[{"n":8}],"j":[{"m":8}],"k":[{"o":1,"u":1}],"l":[{"h":8}],"m":[{"a":1,"e":1,"i":1,"u":1}],"n":[{"e":1,"i":1}],"p":[{"a":1,"e":1,"i":1,"n":8,"o":1,"u":1,"á":1,"ě":1,"í":1}],"r":[{"a":1,"o":1,"á":1}],"s":[{"o":1,"t":1,"y":1,"í":1},5],"t":5,"v":[{"i":1}],"z":[{"e":1}],"č":[{"e":1,"i":1,"í":1}],"š":[{"e":1,"i":1,"k":1,"t":8,"í":1}],"ž":[{"i":1,"n":8,"o":1,"í":1}]},0],"v":[{"a":[{"d":[{"l":8}]}],"p":[{"o":1}],"y":4,"z":[{"á":1}],"ý":13,"ž":[{"i":1}]},0],"y":[{"o":[{"r":1}],"v":[{"e":1}]}],"z":[{"a":[{"o":[{"s":2}],"r":14,"č":14},4],"d":[{"i":1,"r":1},5],"k":[{"y":1}],"m":[{"n":1}],"n":[{"o":1,"u":1,"ě":1,"í":1}],"p":[{"e":1,"o":1}],"t":[{"ř":1}],"v":[{"e":1,"i":1}]},0],"č":[{"t":[{"e":1}]},0],"é":0,"í":0,"ó":0,"š":[{"e":[{"t":4}],"k":[{"a":1,"e":1,"y":1}],"ť":[{"o":1,"á":1}]},0],"ú":[{"d":[{"ů":1}]},0],"ž":0}],"a":[{".":16,"a":[{"t":17}],"b":[{"l":[{"o":[{"n":4}],"ý":8}],"r":[{"i":4}],"s":[{"b":8,"t":5}]}],"c":[{"c":[{"i":8}]}],"d":[{"a":18,"e":18,"i":18,"l":[{"a":5,"i":1,"á":1,"é":1}],"m":[{"e":8,"u":8}],"o":[{"s":6},18],"r":[{"a":19,"i":4,"ž":18}],"u":[{"ž":1},18],"v":[{"a":20,"o":4}],"y":18,"á":18,"é":18,"ě":18,"í":18,"ú":[{"z":8,"ř":8}],"ů":18,"ý":18},0],"e":[{"v":[{"i":8}]}],"f":[{"i":[{"a":14}]}],"g":[{"a":18,"f":[{"a":8}],"o":18,"r":[{"o":4}],"u":18,"á":18},0],"h":[{"l":[{"i":8}],"v":4}],"i":[{"n":18,"r":[{"e":8}],"v":18},0],"j":[{"d":0,"m":[{"e":8},0],"o":5}],"k":[{"e":18,"i":18,"l":18,"n":[{"i":8}],"o":18,"r":18,"u":18,"y":18,"á":18,"é":18,"ó":18,"ů":18,"ý":18},0],"l":[{"f":[{"b":8}],"k":[{"l":8}],"t":[{"z":8}],"ž":[{"í":4}]}],"m":[{"b":[{"d":8}],"k":[{"l":8}],"n":[{"u":8}],"o":[{"s":2}],"ž":[{"i":8}]}],"n":[{"a":[{"e":1,"m":[{"e":1}]}],"d":[{"t":8}],"e":[{"s":[{"k":6}],"u":7}],"s":[{"c":8,"g":8,"l":8,"m":8,"p":5,"v":8}],"t":[{"č":8}],"ž":[{"h":8}]}],"o":[{"e":[{"d":8}],"h":[{"m":8}],"s":[{"t":[{"ř":8}]}],"t":[{"č":8}]}],"p":[{"r":[{".":8}],"s":[{"o":1}],"t":4,"ř":[{".":1}]}],"r":[{"a":18,"d":[{"w":8}],"e":[{"r":1},18],"g":[{"l":8}],"i":18,"k":[{"h":8}],"o":[{"x":1},18],"s":[{"t":4}],"u":18,"v":[{"a":5}],"y":18,"á":18,"ó":18,"š":[{"r":8},17],"ů":[{"s":10},18],"ý":18},0],"s":[{"a":18,"e":18,"h":18,"i":[{"n":18}],"n":[{"á":4}],"o":18,"p":[{"i":4}],"t":[{"a":[{"t":8}],"k":1,"m":8,"r":[{"u":[{".":1}]}],"v":4}],"u":18,"v":18,"y":18,"á":18,"é":18,"í":18,"ů":18},0],"t":[{"a":18,"c":[{"h":8}],"e":18,"i":[{"o":1},18],"k":[{"l":8}],"l":[{"o":4}],"o":18,"r":[{"e":4,"o":[{"n":4,"v":4}],"u":1,"á":8},18],"t":[{"h":8}],"u":18,"v":18,"y":18,"á":18,"é":18,"ě":18,"í":18,"ó":18,"ř":[{"í":[{".":1}]},13],"ů":18,"ý":18},0],"u":[{"g":[{"s":8}],"j":[{"m":6},18],"s":[{"t":2}],"č":18},0],"v":[{"d":[{".":8},4],"l":[{"o":4,"u":1,"í":1}],"t":[{"i":8},4]},16],"y":[{"o":[{"n":8}]},16],"z":[{"k":4,"l":[{"a":4,"é":8}],"n":[{"i":4}],"p":18}],"č":[{"a":18,"e":18,"i":18,"l":18,"m":[{"á":8}],"o":18,"u":18,"á":18,"í":18,"ů":18},0],"ň":[{"o":18,"u":18},0],"ř":[{"e":[{"k":6}],"í":18}],"š":[{"p":[{"l":1,"y":1}]}],"ť":0,"ú":[{"t":4}]},15],"b":[{".":16,"a":[{".":21,"b":[{"r":8}],"c":[{"h":[{"r":8}]}],"k":[{"a":4}],"s":[{"e":8}]}],"c":22,"d":15,"e":[{"e":[{"f":8,"t":8}],"j":[{"m":6}],"p":4,"u":[{"r":6}],"z":[{"e":10},23]}],"h":15,"i":[{"b":23,"s":[{"t":7},2],"t":[{"r":8}]},24],"j":15,"k":16,"l":[{".":21,"b":[{"l":8}],"e":[{"m":0,"s":0}],"k":21,"á":[{"n":1}],"é":[{"m":0}]}],"m":15,"n":16,"o":[{"e":[{"t":8}],"j":[{"m":8}],"o":[{"k":8}],"t":[{"r":8}],"u":[{"s":2}],"š":[{"k":8}]},24],"r":[{"a":[{"l":0,"n":0}],"i":16,"o":[{"d":[{"i":[{"t":1}]}],"u":1,"z":7}],"u":[{".":18,"b":18},0],"á":[{"n":0}]}],"s":[{"t":[{"r":4}]},25],"t":[{"á":[{"h":7}]},22],"u":[{"c":5,"e":[{"n":8}]}],"y":[{".":21,"s":[{"m":8},2],"t":[{"č":8}],"z":[{"n":8}]}],"z":0,"á":24,"č":22,"é":[{"r":[{"c":8}]}],"ě":[{".":24,"t":[{"a":4}]}],"í":[{"n":21,"r":[{"c":8}]},24],"ň":16,"ř":[{"a":18,"e":[{".":18,"s":6}],"í":15}],"š":26}],"c":[{".":16,"a":[{"d":[{"l":6}],"e":[{"s":8}]},24],"c":16,"e":[{"c":[{"h":7}],"d":[{"l":6}],"l":[{"o":10}],"n":[{"s":8}],"o":[{"v":8}],"p":[{"s":8}],"r":[{"v":6}],"u":5},24],"h":[{".":16,"a":[{"l":[{"g":27}]},24],"e":[{".":27},21],"l":[{"y":8},16],"m":[{"b":8}],"n":28,"t":[{"e":27},16],"u":[{".":8},24],"y":24,"á":24,"ř":16}],"i":[{"e":[{"n":[{"c":7}]}],"k":[{"l":6}]},24],"k":[{"e":[{"t":1}],"t":[{"e":[{"r":[{"ý":7}]}]}]},26],"l":[{"a":18,"é":18},16],"n":16,"o":[{"a":[{"t":8}],"m":[{"m":8}],"ž":[{"p":8}]},24],"p":0,"t":[{"i":[{"s":7},0],"l":[{"a":8}],"n":5,"v":18,"ě":0},16],"u":[{"k":29}],"v":30,"y":5,"á":24,"í":[{"p":[{"l":8}]},24],"ň":16,"ů":24}],"d":[{".":16,"a":[{"d":4,"j":[{"š":8}],"k":[{"l":8}],"t":[{"r":8}]},24],"b":[{"a":[{"t":[{".":27}]},0],"á":0},15],"c":[{"h":[{"l":6,"n":31}]},22],"d":[{"h":[{"a":8}]},15],"e":[{"b":[{"r":[{"e":8}]}],"h":[{"n":4}],"j":[{"d":4,"m":[{"o":6}]}],"k":[{"l":4,"v":4}],"n":[{"a":5}],"o":[{"z":5}],"s":[{"l":4,"m":8,"o":8,"p":5,"t":[{"r":4},6]}],"x":[{"t":8},13],"z":[{"n":4,"o":2},5],"č":[{"t":4}],"ž":[{"p":8}]},24],"h":22,"i":[{"g":[{"g":8}],"n":[{"d":27}],"s":[{"k":2,"o":8}]},24],"j":[{"u":[{"s":8}]},15],"k":[{"v":18},16],"l":[{".":21,"a":[{"b":1,"k":1},15],"i":18,"n":24,"o":[{"u":[{".":18},0]}],"u":[{"č":18},0],"á":[{"ž":1}],"é":15,"í":22,"ů":0}],"m":[{"d":24,"ý":[{"š":7}]},15],"n":16,"o":[{"b":[{"l":27,"o":[{"j":27}],"r":[{"a":[{"t":6}]}],"y":4,"ě":4,"ý":4}],"d":[{"d":32,"j":32,"n":6},13],"h":4,"j":[{"m":6}],"k":[{"n":27}],"l":[{"y":27}],"m":[{"n":4,"o":[{"h":33}]}],"p":[{"c":8,"n":6},4],"r":[{"v":14}],"s":[{"p":6,"t":[{"i":[{"v":6}]}]},13],"t":4,"u":[{"k":4,"č":4}],"z":[{"n":6},17],"č":[{"n":32,"t":6},4],"ž":[{"p":8}]},24],"r":[{"a":[{"n":27,"p":1}],"e":[{"n":1},15],"o":[{"b":[{"n":21}],"s":18,"u":18,"š":18}],"s":[{"c":8}],"u":[{"š":18}],"é":18,"ý":[{"v":1},18]}],"s":[{"k":[{"ů":8}],"p":[{"o":8}]},25],"t":[{"l":18,"ř":18},15],"u":[{"m":[{"ř":2}],"n":[{"a":4}],"p":[{"n":8},4],"r":16,"s":[{"i":4}],"í":[{".":8}]},24],"v":[{"a":[{"c":1}],"e":18,"l":18,"r":18,"y":18,"á":18,"ě":18,"í":18},0],"y":[{"s":[{"u":8}]},24],"z":[{"b":18,"d":18,"n":18}],"á":24,"č":22,"é":24,"ě":[{"j":21},24],"í":24,"ň":16,"ř":[{"a":15,"e":[{"k":6,"p":[{"n":6},1],"v":1}],"í":[{"t":0},15]}],"š":[{"k":18,"t":18},26],"ů":[{".":21,"s":4},24],"ý":24,"ž":34}],"e":[{".":16,"a":[{"d":[{"r":4}],"r":0},15],"b":[{"e":[{"r":8,"z":35}],"l":[{"i":8}],"ř":0},15],"c":[{"h":[{".":1,"l":[{".":18}],"m":1,"o":18,"r":0,"v":18,"ť":1}]}],"d":[{"b":[{"e":8}],"k":[{"v":8}],"l":13,"m":[{"a":5,"n":18}],"v":4,"ř":[{"í":8}]}],"e":[{"t":[{"h":8}],"x":[{"i":4}]},15],"g":[{"g":[{"i":8}]}],"h":[{"a":15,"e":15,"n":[{"o":7,"ě":8}],"o":15,"r":15,"u":15,"y":15,"á":15,"ý":15}],"i":[{"l":[{"u":[{"s":36}]}]},15],"j":[{"a":[{"g":4,"s":18}],"e":[{"d":18,"l":[{"e":4}],"z":18},15],"i":[{"n":4,"s":18}],"m":[{"o":4,"u":18},13],"o":13,"u":[{"s":[{"t":2}]},13],"v":4}],"k":[{"a":18,"e":18,"l":[{"y":1}],"o":18,"r":18,"u":18,"y":18,"á":18,"é":18,"ó":18,"ř":18,"ů":18},0],"l":[{"a":[{"u":1},15],"d":[{"v":8}],"e":15,"o":15,"u":15,"y":15,"z":[{"e":8}],"á":15,"é":15,"í":15}],"m":[{"l":[{"í":1},15],"o":[{"k":2}],"r":15,"y":15,"á":18,"ě":15,"í":15,"ř":18,"ů":18,"ý":15,"ž":[{"e":4}]}],"n":[{"d":[{"v":8}],"i":[{"t":[{"o":[{"s":37}]}]}],"s":[{"c":8,"i":8}],"t":[{"r":2}]}],"o":[{"b":[{"y":4}],"c":[{"h":[{"r":10}]}],"d":[{"l":2,"u":8}],"l":[{"e":1}],"s":[{"t":5},13],"t":[{"ř":8}],"z":[{"b":8,"d":8},4],"š":[{"e":10}]},15],"p":[{"a":[{"t":2}],"l":0,"n":[{"i":1,"o":5,"ý":1}],"o":[{"č":[{"t":10}]}],"r":[{"o":[{"z":[{"ř":7}]}]}],"t":[{"l":8,"m":8,"n":8,"u":1}],"y":2}],"r":[{"a":[{".":8},15],"e":15,"i":15,"o":15,"s":[{".":8,"n":8},4],"u":15,"y":15,"á":15,"é":15,"ů":15,"ý":15},16],"s":[{"a":[{"g":1}],"c":[{"e":0}],"i":[{"n":1,"s":6}],"k":[{".":8,"n":38,"u":[{".":4}],"y":4,"é":4},0],"l":[{"i":39,"y":1},0],"m":5,"p":[{".":1,"e":8}],"t":[{".":1,"e":1,"i":[{"ž":4}],"o":[{"l":8}],"r":[{"o":[{"u":1}]}],"á":[{"n":4}]},0]},15],"t":[{"k":[{"i":1,"r":1}],"l":[{"i":1,"y":1}],"r":[{"i":4,"o":4,"ů":4}],"ř":13,"ú":[{"n":8}]},15],"u":[{"b":4,"c":[{"t":4}],"d":4,"k":4,"m":[{".":8},4],"n":4,"p":4,"r":[{".":8,"a":[{"s":8},1],"g":8},4],"s":17,"t":[{".":38,"r":[{"a":8}],"s":8},4],"v":4,"z":4,"ž":4},15],"v":[{"d":18,"e":[{"š":6}],"k":40,"s":[{"k":1}],"y":[{"j":[{"a":[{"d":37}]}],"p":[{"á":[{"t":33}]}],"č":[{"k":6}]},2],"ě":[{"t":[{"r":6}]}]}],"x":[{"t":[{"a":8}],"u":18}],"y":[{"o":[{"r":8,"v":8}]}],"z":[{"a":[{"o":[{"s":36}],"p":8}],"b":[{"o":8}],"d":[{"e":4,"o":[{"v":4}],"u":4,"ě":8}],"e":[{"d":41,"j":8,"l":8,"r":8,"s":8,"z":8,"š":8},18],"i":[{"s":7,"t":8}],"l":[{"e":8}],"n":[{"á":8,"ě":8}],"p":[{"y":8}],"t":5,"á":[{"c":8,"h":8}],"č":[{"e":8}],"í":18,"ř":[{"e":8},18]}],"á":15,"č":[{"k":[{"a":[{"t":8}]}],"t":[{"e":8,"i":1,"í":1},15]}],"ň":[{"o":18,"u":18,"á":18},0],"ó":[{"n":18}],"ř":[{"e":[{"k":6}],"k":[{"u":8}],"í":18},15],"š":[{"e":18,"i":18,"k":[{"a":1}],"l":[{"á":8},18],"o":18,"t":[{"o":8,"í":[{"h":33}]}],"í":18},0],"ú":[{"m":[{"y":7}],"n":4,"p":4,"t":4,"č":4},13],"ž":[{"í":[{"š":7}]}]}],"f":[{".":16,"e":[{"i":[{"n":8}],"n":[{"e":7}],"u":[{"e":8}]}],"i":[{"e":[{"m":8}],"f":[{"l":8}]}],"l":[{"í":18,"ó":[{"r":6}]},0],"m":[{"n":[{"o":8}]}],"n":16,"r":[{"a":[{"n":1,"s":1}],"e":[{"k":21}],"i":15},16],"s":[{"t":[{"e":8}]},16],"t":16,"u":[{"c":[{"h":8}]}],"é":16,"ú":0},24],"g":[{".":16,"a":[{"u":[{"č":8}]}],"e":[{"s":5}],"h":[{"o":[{"u":7}]}],"i":[{"c":21,"n":21,"í":[{"m":8}]}],"l":[{"o":[{"m":1}]}],"m":22,"n":[{"o":[{"i":1,"s":1}]},16],"o":[{"h":[{"m":8}]},13],"r":[{"a":[{"f":21}]}],"u":[{"e":[{"l":8}],"i":[{"t":8}],"m":[{".":8},4],"s":[{"t":6}],"v":4}]},24],"h":[{".":16,"a":[{"a":[{"g":8,"r":8}],"b":[{"l":8,"r":8}],"d":[{"l":[{"a":8},4]}],"k":[{"e":8}],"s":[{"t":2}],"t":[{"o":[{"s":33}]}],"y":[{"d":8}]}],"b":0,"c":0,"d":16,"e":[{"b":[{"r":8}],"i":[{"d":8}],"j":[{"s":6}],"s":5,"u":5,"x":4}],"i":[{"a":[{"n":8}],"e":[{"r":4}],"g":[{"h":8}],"r":[{"e":8}]}],"k":16,"l":[{"a":[{".":27}],"e":[{"d":1,"n":18}],"i":16,"o":[{".":42,"b":18,"p":18,"v":18}],"u":[{"j":18}],"y":22,"á":[{".":27,"s":1}],"í":[{".":18,"k":27}],"ý":16}],"m":0,"n":[{"e":[{"d":1},18],"i":[{"v":18}],"o":[{"j":1}],"ě":[{"d":21}]},43],"o":[{"d":[{"i":[{"n":21}]}],"s":[{"t":[{"r":4,"ě":6}]}],"v":[{"e":27,"n":[{"a":27,"y":27,"á":27,"ě":27}]}]}],"r":[{"a":[{"p":6}]},0],"t":[{"i":[{"n":1}],"ě":0,"í":[{"t":1}]},22],"u":[{"c":[{"h":8}],"m":[{"o":4}],"t":[{"ň":8}]}],"v":43,"y":[{"d":[{"o":8},29],"p":[{"s":8}],"s":2,"t":[{"r":23}],"z":[{"d":8}]}],"č":15,"ň":16,"ř":[{"b":[{"y":8}]},5],"ý":[{"b":[{"l":8}]}],"ž":0}],"i":[{".":16,"a":[{"d":4,"g":17,"l":[{".":1}],"s":[{"t":6}],"t":[{"r":8}]},15],"b":[{"l":5,"r":44},15],"c":[{"h":[{"ž":1},15]}],"d":[{"g":[{"e":8}],"l":[{"o":[{".":8}],"ý":1},5]},15],"e":[{"m":15,"n":15,"t":15}],"f":[{"r":13}],"g":[{"n":[{"e":8}]}],"h":[{"l":[{".":18,"i":1},0],"n":[{"a":8},4]},15],"i":[{"m":18}],"j":[{"e":[{"d":7}],"m":[{"e":8,"i":8}]},15],"k":[{"l":[{"e":4,"o":[{".":4}]},0],"m":4,"r":[{"y":8}],"v":[{"e":1}],"ú":[{"ř":8}]}],"l":[{"b":[{"a":8}],"i":[{"č":[{"n":7}]}],"n":[{"u":1}],"u":2},15],"m":[{"l":[{"a":1,"y":1}],"u":[{"n":1}]},15],"n":[{"a":[{"d":2},18],"c":[{"m":8}],"d":[{"l":8}],"e":18,"f":[{"e":21}],"g":[{"h":8,"p":8,"s":8,"t":8}],"i":18,"o":18,"u":18,"y":18,"á":18,"é":18,"ě":18,"í":18,"š":[{"p":8}],"ů":18,"ý":18},0],"o":[{"s":[{"k":8}]},15],"p":[{"s":0}],"r":[{"o":[{"s":6}]},15],"s":[{"a":15,"c":[{"h":8},4],"k":[{".":8,"a":4,"e":4,"o":[{".":4}],"r":4,"u":4,"v":4,"y":4}],"l":[{"a":[{"v":18}],"o":4,"é":4}],"p":[{"l":4,"o":4}],"t":[{"a":[{"l":8,"t":8}],"h":8,"v":2,"í":4},13],"y":15,"á":18}],"t":[{"r":[{"h":8,"p":8},13],"s":[{"e":8,"u":8}],"v":0},15],"u":[{"m":15}],"v":[{"d":4}],"x":[{"t":[{"d":8}]},15],"z":[{"p":18,"r":13}],"á":15,"č":[{"l":15,"t":[{"l":8,"o":8},4]}],"ď":0,"é":[{"r":[{"e":[{".":8}]}]},15],"í":[{"c":15,"m":15}],"ó":15,"ř":[{"k":[{"l":8}],"č":[{"e":8}]},15],"š":[{"e":18,"i":18,"k":[{"r":8,"v":8},4],"o":18,"t":[{"o":8}],"u":18,"á":18,"í":18},0],"ž":[{"a":18,"e":18,"i":18,"o":18,"u":18,"á":18},0]}],"j":[{".":16,"a":[{"b":45,"c":[{"k":6,"q":8}],"d":4,"g":4,"k":[{"t":18}]}],"b":[{"y":[{"s":[{"t":36}]}]},46],"c":22,"d":[{"o":[{"b":18,"k":18,"s":18}],"r":18,"á":18,"ř":[{"í":8}],"ů":18},0],"e":[{"c":[{"h":7}],"f":18,"x":18,"z":[{"d":[{"í":2}]}]}],"g":[{"r":[{"a":8}]}],"h":22,"i":[{"c":[{"h":8}],"h":[{"l":2}],"m":[{"ž":8}],"n":[{"a":1}],"s":[{"k":2}],"t":[{"r":[{"o":6}]}],"z":[{"v":5}]},24],"j":15,"k":[{"v":18},16],"l":22,"m":[{"a":18,"i":18,"o":[{"u":[{"d":10}]}],"í":16},0],"n":[{"e":2},16],"o":[{"b":15,"d":[{"ř":14},15],"h":15,"p":15,"r":[{"a":1}],"s":[{"v":4},15],"v":[{"l":18},0],"z":47}],"p":[{"o":[{"r":7,"z":[{"v":6}]}],"ř":[{"í":[{"z":33}]}]},16],"r":22,"s":[{"e":[{"m":1}],"i":[{".":1}],"k":[{".":1,"o":8,"á":8,"ů":38}],"m":[{"e":38}],"n":18,"o":[{"u":[{".":1,"c":1}]}],"p":[{"o":8}],"t":[{"e":38}]},25],"t":[{"l":18},22],"u":[{"a":[{"n":8}],"n":[{"a":4}],"p":4,"s":[{"p":4},15],"t":[{".":8},4],"v":4,"x":[{"t":8}],"z":4,"ž":[{"i":4},15]}],"v":[{"d":18,"n":18},26],"z":[{"b":18,"d":18,"k":18,"n":18,"p":18},16],"á":[{"d":[{"r":14}]}],"č":22,"ď":16,"í":24,"š":[{"t":[{"i":8},18],"ť":18}],"ú":[{"n":4,"č":4,"ž":4},48],"ž":16}],"k":[{".":16,"a":[{"b":[{"l":8}],"c":[{"h":8}],"d":[{"l":4}],"j":21,"k":[{"a":4}],"m":[{"i":21}],"n":[{"ě":21}],"p":[{"l":23,"r":23,"s":5,"v":8,"ř":5}],"s":[{"t":[{"r":10},2]}],"t":21,"u":[{"č":8}],"v":21,"č":21,"ř":21,"š":[{"l":2,"p":8}]}],"c":22,"d":0,"e":[{"b":[{"l":8}],"j":[{"o":4}],"p":[{"r":8,"s":8}],"t":21},0],"f":16,"k":16,"l":[{".":21,"a":[{".":42}],"e":[{"j":18}],"i":[{".":42,"b":1,"c":18,"č":[{"k":[{"a":27}]}]}],"o":[{".":27,"s":18}],"y":49,"á":[{".":18}],"é":18,"ó":18,"ý":18},0],"m":[{"ě":18},43],"n":[{"a":[{"s":6}]},16],"o":[{"b":[{"y":4}],"f":21,"j":[{"m":8}],"p":[{"ř":5}],"s":[{"k":8}],"t":[{"v":23}],"u":[{"s":[{"k":10}]}],"v":21,"z":[{"á":4}]}],"r":[{"o":[{"a":27,"b":18,"f":18}],"s":5,"ú":[{".":8}]}],"s":16,"t":[{"r":5},22],"u":[{"c":[{"h":7}],"f":[{"ř":8}],"h":[{"r":8}],"j":21,"s":[{"e":4,"i":4,"u":4}],"t":[{"h":8}],"v":4}],"v":[{"r":[{"ň":1}]},43],"y":[{"n":21,"p":[{"r":5,"ř":2}],"z":[{"n":8}]}],"á":[{"c":21,"p":[{"l":8}],"r":21,"ř":21}],"č":16,"ň":0,"ř":[{"e":[{"j":18}]},34],"š":[{"t":[{"i":8}]}],"ů":[{".":21}]},24],"l":[{".":16,"a":[{".":24,"b":[{"r":8,"s":6}],"k":[{"a":4}],"n":[{"q":8}],"p":[{"s":8}],"s":[{"i":50}],"v":[{"š":8}],"y":[{".":8}],"z":[{"m":5}]}],"b":22,"c":22,"d":[{"n":[{"e":8}]},22],"e":[{"a":[{"d":8,"u":8}],"c":[{"h":[{"t":10}]}],"h":[{"n":2}],"i":5,"j":[{"o":4,"š":[{"k":27}]},24],"l":24,"n":[{"c":[{"h":27}]}],"p":[{"a":[{"d":10}],"o":[{"s":7}],"r":8,"s":8}],"s":[{"c":8,"m":8,"v":8}],"t":[{"l":[{"i":6}],"m":2,"r":5,"č":8}],"u":[{"k":8}],"v":[{"h":8,"k":8}],"x":[{"i":4}],"z":[{"n":2}]}],"f":16,"g":16,"h":[{"a":[{"n":21}]},16],"i":[{"a":[{"z":8}],"b":[{"l":8,"v":8}],"d":[{"m":8}],"n":[{"d":7}],"o":21,"t":[{"ň":8}],"v":[{"r":8}],"ž":16},24],"j":16,"k":[{"a":[{"t":1}],"l":0,"n":[{"u":8}]},16],"l":16,"m":22,"n":[{"u":[{"l":1}]},16],"o":[{"b":[{"r":4}],"i":[{"d":8,"s":8}],"s":[{"p":4,"t":[{"ř":4}],"v":4},24],"t":[{"r":5,"ř":8}],"u":[{".":8}],"z":[{"d":6},4],"š":[{"k":8}]}],"p":[{"ě":0},16],"s":[{"l":[{"a":1}],"n":4,"t":[{"n":6,"í":1}]},25],"t":[{"r":[{"a":8,"u":8,"y":8}]},22],"u":[{"i":[{"d":8}],"j":[{".":8}],"k":[{".":8}],"l":[{"k":8}],"m":[{".":8,"n":8}],"p":[{"r":4}],"v":[{"a":4,"l":4,"y":4,"í":4}]}],"v":16,"z":16,"á":[{".":24,"j":[{"š":8}],"v":[{"š":8}]}],"č":22,"é":[{".":24}],"í":[{"k":24,"p":[{"l":8}],"z":[{"n":8}],"ř":24}],"ň":16,"š":[{"t":[{"ý":1},18]},26],"ů":24,"ý":[{"t":5},24],"ž":43}],"m":[{".":16,"a":[{"j":[{"s":6}],"k":[{"l":8,"r":8}],"l":[{"d":27}],"s":[{"k":2}],"t":[{"r":[{"a":8},2]}],"v":[{"š":8}],"z":[{"l":2}]},24],"b":22,"c":22,"d":[{"l":0},25],"e":[{".":21,"g":[{"o":8}],"i":[{"s":8}],"t":[{"r":[{"e":2}]}],"x":4,"z":[{"i":[{"s":10}]}]},24],"f":16,"h":[{"l":[{"e":8}]}],"i":[{"d":[{"l":2}],"k":[{"r":2}],"x":[{"t":8}]},24],"k":[{"l":[{"a":8,"i":8},51]},26],"l":[{"a":[{".":27}],"e":16,"h":[{".":8},4],"i":16,"s":[{"c":8,"k":8}],"u":[{".":27}]},0],"n":[{"a":[{"s":6},18],"o":[{"h":1,"s":18,"z":1,"ž":21}],"á":18,"é":[{"z":1},18],"ě":[{"j":18}],"ý":18},16],"o":[{"d":[{"r":2}],"h":[{"l":5}],"k":5,"s":[{".":8},5],"t":[{"ř":2}],"u":[{"t":27}],"z":[{"a":7,"ř":4}],"ú":2},24],"p":[{"l":[{"o":1}],"o":[{"s":6}],"s":[{"e":8},0],"t":5},16],"r":[{"s":5}],"s":[{"t":[{"l":1}]},25],"t":22,"u":[{"f":[{"l":8}],"n":[{".":8,"d":8,"n":8,"s":8,"š":8},4],"š":16},24],"v":16,"y":[{"s":[{"l":[{"o":2}]}],"š":[{"k":8}]}],"z":16,"á":[{".":21,"l":[{"o":10}],"s":5}],"č":[{"e":0},16],"í":[{"c":13,"r":[{"ň":8}]}],"š":[{"č":[{"i":8}],"ť":[{"a":[{"n":[{".":8}]}]},4]},43],"ů":[{".":21}],"ý":[{".":21}],"ž":0}],"n":[{".":16,"a":[{".":21,"c":[{"h":4}],"d":[{"o":8}],"e":[{"m":8}],"h":[{".":8},4],"j":[{"d":4}],"k":[{"a":4}],"m":[{"n":[{"e":6}]}],"p":17,"s":[{".":8},17],"t":[{"l":4,"ř":4},14],"z":[{"k":6,"š":8},4],"č":[{".":8}],"š":4,"ž":[{"n":6}]}],"b":16,"c":[{"h":[{"c":1}]},22],"d":[{"h":[{"i":8}],"o":[{"t":6}],"r":[{"e":5,"i":8}],"ř":[{"í":8}]},22],"e":[{"d":13,"g":[{"l":8}],"h":[{"n":11},13],"j":[{"t":2,"u":2},5],"k":[{"l":4,"r":[{"o":8}],"v":4}],"m":[{".":8}],"p":4,"s":[{".":8,"l":[{"e":6}],"s":8,"t":[{"i":27}]},17],"t":[{"l":4,"r":6}],"u":[{"d":4}],"v":[{".":8},17],"z":[{"n":6},4],"š":[{"k":4,"ť":4}]}],"f":[{"r":18},16],"g":[{"l":[{"a":8,"e":8,"í":8},13],"r":[{"o":1}],"v":[{"i":8}]},16],"i":[{"k":[{"t":6}],"m":[{"r":8,"ž":8}],"o":21,"s":[{"k":21}],"t":[{"ř":16}]}],"j":15,"k":16,"l":22,"n":16,"o":[{"b":[{"s":8},17],"h":[{"n":4,"s":8}],"i":[{"r":8}],"m":[{"ž":8}],"s":[{"k":[{"y":8}],"m":4,"t":[{"r":4}]}],"t":[{"r":6}],"z":[{"d":8},4],"š":[{"k":8}],"ž":16}],"s":[{"a":[{"k":4},0],"k":[{"o":8}],"o":[{"c":1}],"p":[{"o":4}],"t":[{"r":[{"a":6}]}]},25],"t":[{"e":[{"r":[{"a":52}]}],"l":[{"e":[{"m":8}]}],"r":[{".":8,"u":4,"á":4}]},22],"u":[{"b":16,"g":[{"g":8}]}],"y":[{".":21}],"z":16,"á":[{"k":21,"s":[{".":8},17]}],"č":22,"ď":16,"í":[{"v":16,"ž":16}],"ó":16,"š":[{"t":18,"ť":[{"o":8}]},26],"ů":5,"ž":16},24],"o":[{".":16,"a":[{"n":[{"g":7}]},15],"b":[{"a":15,"e":[{"j":2,"s":2,"z":2},15],"l":13,"r":[{"ň":8},13],"u":15,"y":[{"s":7}],"z":4,"é":18,"ř":[{"e":[{"z":4}]}]}],"c":[{"h":[{"l":1,"r":0}],"k":[{"e":8,"o":8}],"t":[{".":1,"n":2}],"y":2,"ú":[{"n":8}]},15],"d":[{"b":4,"e":[{"j":[{"m":7}],"p":2,"s":2}],"l":13,"o":[{"c":1,"s":7,"t":[{"k":6}]}],"r":[{"a":[{"n":8},4],"ů":4,"ž":18}],"v":4,"ř":13}],"e":[{"g":4,"t":[{"i":4}]},46],"f":[{"l":0,"r":[{"e":[{"k":33}]}]}],"g":[{"n":18},5],"h":[{"n":[{"e":8}]},15],"i":[{"c":[{"e":8}],"n":[{"t":1}]},15],"j":[{"a":[{"r":1}],"e":[{"d":[{"l":6}]}],"m":[{"i":1,"o":[{"v":1}],"u":1,"ů":1}],"o":5,"u":[{"z":1}]},15],"k":[{"a":16,"t":[{"e":5}]}],"l":[{"g":[{"l":8}],"t":[{"o":8}]},15],"m":[{"k":[{"l":8}],"n":5},15],"n":[{"a":[{"s":6},18],"e":18,"i":18,"o":18,"t":[{"r":[{"a":6}]}],"u":18,"y":18,"á":[{"ř":[{"k":[{"a":7}]}]},18],"ě":18,"í":18,"ů":18,"ý":18},0],"o":[{"h":[{"ř":8}],"t":[{"e":35}]},15],"p":[{"o":[{"č":[{"t":10}]}],"r":[{"o":[{"s":7}]}],"s":0,"t":[{"u":1}],"á":[{"t":6}],"ř":[{".":1,"e":[{"j":[{"m":7},33]}]}]}],"r":[{"a":[{"e":1},15],"d":[{"m":8}],"e":15,"i":15,"o":15,"s":[{"t":4}],"u":15,"v":[{"á":8}],"y":15,"á":15,"é":18,"ů":[{"s":10},15],"ý":18}],"s":[{"a":[{"i":1},15],"e":[{"s":6}],"i":[{"d":6}],"k":[{"e":39,"u":1,"v":2,"á":1,"ý":1},15],"l":[{"a":8,"i":8,"ý":8},15],"m":[{"o":4,"u":8}],"t":[{".":1,"g":1,"m":1,"o":[{"r":8}],"r":[{"ů":4}],"é":1,"š":1,"ý":1}],"y":15}],"t":[{"k":[{"l":8}],"l":[{"ý":1}],"o":[{"s":2}],"r":[{"o":4}],"v":[{"í":4}],"í":18,"ř":[{"i":4},18]},15],"u":[{"b":[{"ě":4}],"d":[{"ě":4}],"f":[{"l":8}],"i":[{"l":8,"s":8}],"k":[{".":8,"a":4,"l":1,"r":4,"á":4}],"m":4,"p":[{"n":2,"o":7}],"s":[{".":8,"a":4,"e":4,"k":8,"m":4}],"t":[{"v":8}],"v":[{"l":8,"n":8},4],"z":[{"d":2}],"č":[{"k":1}],"ž":[{"i":4}]},0],"v":[{"i":[{"d":[{"l":[{"a":6}]}]}],"s":[{"k":1}],"y":[{"p":14}],"š":[{"t":0}]}],"x":15,"z":[{"a":18,"b":13,"d":[{".":8,"á":4,"ě":4,"í":4}],"e":[{"d":53,"r":7},18],"h":13,"i":18,"j":4,"k":[{"o":8},4],"l":13,"m":4,"n":[{".":1}],"o":18,"p":[{"y":8,"ě":8,"í":8},4],"r":[{"o":4,"u":4,"ů":4}],"t":4,"u":[{"t":1},18],"v":[{"r":4,"á":4}],"í":18,"ů":[{"s":6},18]},0],"č":[{"k":[{"a":8},5]},15],"ň":[{"a":18,"o":18},0],"ř":[{"i":[{"s":14}]},15],"š":[{"k":[{"u":1,"y":1},18],"l":[{"á":8},18],"m":[{"o":8}],"t":[{"i":8}],"ť":[{"u":8}]}],"ž":[{"l":18,"m":[{"o":8}]}]}],"p":[{".":16,"a":[{"e":[{"d":8,"s":8}],"k":[{"l":8}],"s":[{"i":4}],"t":[{".":8,"r":[{"i":6}]}]}],"c":22,"e":[{"a":[{"l":8}],"d":[{"e":7}],"i":[{"g":8}],"n":[{"p":8}],"r":[{"i":10}],"s":[{"t":54}],"t":[{"r":[{"a":8}]}],"č":21}],"i":[{"k":[{"r":8}],"p":[{"l":8}]}],"k":[{"l":0},16],"l":[{".":21,"a":[{".":42}],"h":[{".":8},4],"i":[{".":42}],"o":[{".":27}]},0],"n":[{"u":0},16],"o":[{"b":55,"c":17,"d":[{"b":[{"ě":[{"h":33}]}],"n":[{"e":[{"s":6}]}],"r":[{"u":4,"á":4}]},21],"h":4,"l":[{"y":10}],"m":[{"p":8},17],"o":[{"l":8}],"p":[{".":8,"m":8},4],"s":[{"p":6,"t":[{"r":7}]},55],"t":[{".":8,"n":8},17],"u":[{"k":4,"č":4,"ž":4}],"v":56,"z":[{"d":8},17],"č":[{"k":4,"t":[{"e":2}]},14],"ř":[{"í":4}],"š":[{"v":8}]}],"p":16,"r":[{"a":[{".":27,"s":[{"t":2}]}],"c":5,"o":[{"b":35,"p":2,"t":57,"z":2},29],"s":5,"á":[{"n":27}],"ů":2}],"s":[{"e":[{"s":6}],"k":22,"u":[{"t":1}]}],"t":[{"e":[{"j":1,"r":1,"v":1}],"r":[{"i":8}],"u":18,"á":[{".":1}]},16],"u":[{"d":[{"l":8}],"t":[{"r":8}]}],"y":[{"t":[{"l":2}]}],"á":[{"c":5,"d":[{"l":2}],"n":[{"v":8}],"s":[{"l":8}]},13],"č":16,"é":[{"r":[{"h":8}]}],"ř":[{".":16,"e":[{"h":2,"j":2,"t":57,"z":2,"č":53}],"i":[{"h":7},2]}],"š":[{"t":[{"i":8}]},16],"ť":16},24],"q":[{"u":5}],"r":[{".":16,"a":[{".":24,"b":[{"r":8}],"e":[{"m":8,"s":8}],"f":[{"f":8}],"h":[{"l":8,"m":8}],"j":[{"g":8,"š":8}],"k":16,"n":[{"h":8}],"s":[{"i":4,"t":[{"r":7}]}],"v":[{"v":8}],"w":[{"l":8}],"y":[{".":8,"o":8}],"ď":[{"m":8}],"ž":[{"i":27}]}],"b":[{"l":0},15],"c":[{"a":2,"h":[{"a":18,"o":18}],"k":[{"i":8}]},15],"d":[{"l":[{"a":1}],"o":[{"s":14}]},15],"e":[{"a":[{"d":8,"u":8}],"d":[{"r":6}],"e":[{"t":8}],"k":[{"l":4,"v":[{"i":4}]}],"m":[{"r":8}],"s":[{"b":5,"l":2}],"t":[{"i":[{"s":33}],"r":6}],"u":[{"m":8}]}],"h":[{"a":15,"l":[{".":18}],"n":4,"o":15,"u":18,"á":15}],"i":[{"b":[{"b":8}],"c":[{"k":[{"u":6}]},24],"d":[{"g":8,"r":8}],"f":[{"l":8}],"g":[{"h":8}],"z":[{"m":8}]}],"k":[{"l":0},16],"l":15,"m":[{"i":[{"o":1}]},22],"n":[{"a":[{"v":[{"š":6}]}],"d":[{"r":8}]},16],"o":[{"a":[{"d":8}],"b":[{"y":4}],"d":[{"l":14,"r":11}],"f":[{"y":21}],"h":[{".":8},4],"j":[{"b":8}],"k":[{"š":8}],"m":[{"n":2,"y":[{"s":7}]}],"p":[{"á":[{"t":33}]}],"s":[{"b":5,"k":[{"v":8,"y":8}],"v":4}],"t":[{"i":4,"l":4,"č":8}],"v":[{"d":4,"ě":[{"t":7}],"ý":21}],"z":[{"d":2,"n":2,"o":8,"v":2,"á":4}],"č":[{"p":8}]}],"p":[{"a":[{"d":2}]}],"r":[{"h":[{"a":8,"o":8}]},16],"s":[{"t":[{"u":1,"v":[{"ě":4,"ý":4}]},0]},22],"t":[{"h":0,"r":[{"á":1}],"s":[{"m":8}],"u":2,"v":58,"z":[{"u":8}]},22],"u":[{".":24,"s":[{"e":4,"i":4,"k":2}],"ž":[{"i":4}]}],"v":[{"a":[{"n":[{"í":21}]}]}],"x":15,"y":[{".":24,"c":[{"h":10}],"d":14,"s":[{"k":[{"y":2}],"t":2}],"z":[{"k":8,"n":8}],"í":[{".":8}],"š":[{"k":8}]}],"z":[{"d":4,"l":4},16],"á":[{"d":[{"l":6,"ž":8}],"k":24,"r":[{"i":4}],"ř":24}],"č":[{"i":[{"t":[{"ý":[{".":27}]}]}],"t":4},15],"é":[{".":21}],"ó":16,"š":[{"n":[{"í":8}]},16],"ů":[{"m":[{".":8}],"s":[{"t":[{"a":2}]}],"v":[{".":8}]}],"ý":[{".":21,"z":[{"n":8}]}]}],"s":[{".":16,"a":[{"p":[{"f":8,"r":8}],"s":[{"k":2}]}],"b":34,"c":[{"a":18,"e":[{".":18}],"h":[{"l":6,"n":6,"o":[{"p":21}]},14],"i":[{"e":6},18],"í":18},0],"d":0,"e":[{"a":[{"u":8}],"h":4,"i":[{"g":8,"l":8}],"j":[{"m":6}],"k":[{"u":8}],"l":[{"h":4},21],"m":21,"r":[{"v":[{"a":6}]}],"s":[{"k":6,"s":8,"t":[{"r":[{"a":8,"u":8}],"ř":8}]},17],"t":[{"k":4,"ř":4},14],"u":[{"r":8}],"z":4,"č":[{"t":4}]},24],"f":[{"o":18,"é":21,"ú":18},16],"i":[{"c":21,"f":[{"l":8},21],"g":[{"n":[{"o":6}]}],"k":21,"s":[{"t":[{"e":4}]}],"t":21},24],"j":[{"u":18},0],"k":[{"a":[{"c":27,"k":1,"m":27}],"o":[{"k":1,"n":16,"s":7,"t":27}],"r":[{"a":8,"u":8,"y":8}],"v":[{"e":27,"o":8}],"á":[{"n":18}],"ů":18},0],"l":[{".":21,"a":[{".":42,"v":1}],"e":[{".":18,"d":1,"m":18,"n":18,"t":18}],"i":[{"b":1,"č":[{"i":1}]}],"n":21,"o":[{".":42}],"y":[{".":18},0],"í":15}],"m":[{"a":0,"e":[{"k":1}],"o":0}],"n":[{"a":[{"t":18},0],"e":[{".":18},0],"t":[{"l":8}],"á":[{".":18},0],"í":[{"d":1}]},16],"o":[{"b":[{"l":6,"r":4}],"s":[{"k":8}],"t":[{"v":8}],"u":[{"h":2,"s":2,"z":7}],"š":[{"k":8}]},24],"p":[{"o":[{"l":1}],"r":[{"o":[{"s":7}]}]},0],"r":24,"s":[{"s":[{"r":8}]},16],"t":[{".":16,"a":[{".":27,"j":18,"n":0,"t":8}],"e":[{"c":27,"p":1,"r":[{"o":1},8]}],"i":[{"c":[{"h":1}],"l":16,"n":[{"k":1}],"t":[{".":27}],"č":27}],"l":[{"o":4}],"n":16,"o":[{".":27,"n":[{"a":1}],"u":[{".":27}]}],"r":[{".":27,"a":[{"m":27}],"i":[{"k":1}],"n":27,"á":[{"c":27}]}],"u":[{"p":[{"n":[{"i":27}]}]}],"v":[{"e":8,"í":21},0],"y":[{".":27,"l":1,"š":21}],"á":[{".":27,"ř":18},0],"ě":[{".":27,"d":1,"h":21,"r":0,"ž":0}],"í":[{".":16},15],"ř":[{"e":[{"j":18}]}]}],"u":[{"b":[{"a":8,"o":8}],"m":[{"a":7}],"v":[{"e":4}]},24],"v":0,"y":[{"c":[{"h":[{"r":10}]},4],"n":[{"e":[{"s":8}]}]}],"á":[{"d":5,"h":21,"k":[{"l":5}]}],"č":[{"i":18},43],"é":24,"í":24,"ň":16,"ť":[{"o":18},16],"ů":24,"ž":0}],"t":[{".":16,"a":[{".":24,"b":[{"l":5}],"c":[{"t":[{"v":[{"o":6}]}]}],"d":58,"j":[{"f":8,"g":8},24],"l":[{"t":27}],"n":[{"d":27,"ě":21}],"o":15,"r":[{"k":16}],"s":[{"t":[{"r":4},7]}],"č":[{"k":8}]}],"b":22,"c":22,"e":[{".":21,"a":[{"k":8}],"f":[{"l":8}],"i":[{"n":8}],"n":[{"é":[{"m":27}]}],"o":[{"b":7}],"p":[{"l":2}],"r":[{"s":7}],"s":[{"t":[{"a":2}]}],"t":[{"r":8}],"u":[{"c":8,"r":8,"t":8}]},24],"f":16,"g":16,"i":[{"g":[{"r":8}],"h":16,"k":[{"l":4}],"n":[{"g":6}],"p":[{"l":8}],"s":[{"l":4,"t":[{"r":6}]}],"t":[{"r":8,"u":16}],"z":[{"r":6,"í":27}],"ú":2,"ž":16},24],"k":[{"a":[{"l":1,"n":59,"t":1}],"l":[{"a":8,"i":8},0],"n":[{"ě":27}],"á":0},26],"l":[{".":21,"a":[{".":27}],"e":[{"s":10},15],"m":21,"o":[{".":18,"u":1}],"u":[{"s":6},2],"y":15,"é":15},16],"m":[{"a":0},16],"n":[{"í":18},16],"o":[{"a":[{"s":8}],"b":[{"l":6},4],"d":[{"r":4}],"h":[{"m":8}],"i":[{"r":8}],"j":16,"l":[{"s":6}],"o":[{"l":8}],"p":[{".":27,"t":27,"u":27}],"r":[{"n":16}],"u":[{"p":16}]},24],"p":16,"r":[{"a":[{"n":[{"t":18}]}],"e":[{"a":1,"f":1,"t":6}],"i":[{"c":[{".":27}],"p":7,"t":1}],"o":[{"g":1,"l":18,"s":[{"k":6}],"u":[{"h":27},1],"ň":[{".":27}]}],"u":[{"n":27,"s":1,"ž":60}],"á":[{"l":[{"n":18}],"š":27}],"č":16,"ů":[{"m":18,"v":18}],"ý":16}],"s":[{"k":[{"o":8}],"t":5},22],"t":[{"c":[{"h":8}],"r":[{"i":8}]},22],"u":[{".":24,"f":[{"f":8}],"j":24,"l":[{"k":8}],"p":16,"r":[{".":8,"y":4}],"s":[{".":8}],"ť":[{".":8}],"ž":[{"i":4}]}],"v":[{"e":16,"i":[{"n":[{"n":1}],"š":1},49],"ý":[{"c":1}]},0],"y":[{".":24,"g":[{"ř":8}],"l":[{"a":5}],"ř":[{"e":8,"h":8,"j":8,"o":8,"r":8,"ú":8}]}],"á":[{".":21,"f":[{"l":8}]}],"č":[{"i":18,"í":16},0],"é":[{"b":[{"l":5}],"m":21},24],"ě":[{"d":[{"l":11}],"h":16,"n":[{"n":16}],"p":16},24],"í":[{"c":[{".":27,"e":27},24],"m":24,"n":16,"r":16}],"ř":[{"e":[{"b":1,"h":[{"n":10}],"l":0}],"i":[{"c":0,"l":18}],"t":[{"i":8}],"u":15,"á":[{"b":21},0],"í":[{"s":6}]},16],"š":[{"t":[{"i":8},18]},16],"ů":24,"ý":[{".":24,"m":24,"ř":24,"š":21}]}],"u":[{".":16,"a":[{"t":0}],"b":[{"a":18,"e":18,"i":18,"o":18,"s":[{"t":6}],"u":18,"á":18,"í":[{".":18}],"ů":18},0],"c":[{"t":[{"í":8}]}],"d":[{"e":18,"i":18,"o":18,"r":[{"u":18}],"u":18,"y":18,"í":18},43],"e":[{"f":[{"a":8}]}],"f":16,"h":[{"l":[{"á":4},0],"n":[{"o":4}]}],"i":[{"n":0}],"j":[{"m":0}],"k":[{"a":[{".":18,"j":8,"l":8,"t":8}],"e":18,"l":[{"a":4,"e":4}],"o":18,"u":18,"y":18,"á":[{".":8}],"ů":18},0],"l":[{"f":[{"a":8}],"h":13,"p":[{"í":8}]}],"m":[{"a":18,"e":18,"i":18,"p":[{"l":8}],"r":[{"u":8}],"u":18,"á":18,"ř":21},0],"n":[{"d":[{"l":8}],"e":18,"o":18,"u":18,"ě":18,"í":18,"ů":18,"ž":[{"r":8}]},0],"p":[{"a":18,"e":[{"r":61},18],"i":18,"l":[{"n":18}],"u":18,"y":18,"á":18,"ě":18,"í":18,"ů":18},0],"r":[{"a":18,"e":18,"i":18,"o":49,"u":18,"y":[{".":18}],"á":18,"č":24,"ů":18},0],"s":[{"k":[{"y":4,"á":4,"é":4,"ý":4}],"l":[{"o":5},13],"o":18,"t":[{"e":1,"y":1,"é":1,"ě":1,"ř":18,"š":1,"ý":1}],"u":[{".":18}],"y":18,"á":18,"í":18,"ů":18},0],"t":[{"r":[{"o":1,"á":1}]}],"v":[{"i":18,"u":18},0],"z":[{"e":18,"i":18,"l":13,"o":18,"u":18,"í":18},0],"č":[{"a":18,"e":18,"i":18,"o":18,"t":4,"u":18,"á":18,"í":18},0],"ď":0,"ň":0,"š":[{"e":18,"i":18,"k":[{"l":8}],"o":18,"t":[{"í":4}],"u":18,"á":18,"í":18},0],"ž":[{"e":18,"o":18,"u":18,"á":18,"í":18},0]},15],"v":[{".":16,"a":[{"d":[{"l":4}],"j":[{"ť":8}],"k":[{"l":8}]}],"b":22,"c":[{"h":0},22],"d":[{"a":[{"l":1}],"i":18,"ě":[{"k":1,"č":1}]},43],"e":[{"d":[{"l":[{"e":4}]}],"j":[{"d":4}],"n":21,"p":[{"s":4,"ř":2},5],"s":[{"l":2,"m":8,"p":6,"t":[{"a":4}]}],"t":[{"ř":11}],"z":[{"m":23}]}],"i":[{"c":[{"h":8}],"d":[{"e":35,"r":8}],"e":[{"t":8}],"k":[{"r":8}],"t":[{"r":5}]}],"k":[{"r":0},16],"l":[{"a":[{".":49}],"e":[{".":27,"m":27}],"o":16},0],"m":16,"n":[{"a":[{"d":1}]},16],"o":[{"b":4,"i":[{"c":8}],"j":[{"a":8,"b":8,"d":8,"j":8,"m":8,"ř":8}],"s":5,"t":[{"ř":8}],"u":[{"s":35},2]}],"p":0,"r":[{"c":5,"d":[{"l":5}],"n":[{"y":27}],"o":15,"s":[{"t":[{"v":[{"ě":6},10]},8]}]}],"s":[{"k":15,"t":[{"v":18}]},26],"t":43,"y":[{"c":4,"d":[{"r":[{"a":8}]},17],"p":14,"s":[{"n":8,"t":6},17],"t":4,"č":[{"k":6},4],"š":[{".":8,"m":8,"š":8},14],"ž":[{"l":8}]}],"z":[{"n":[{"o":8,"é":8,"ě":8,"í":8}]},34],"á":[{"r":[{"i":4}]}],"č":[{"á":18,"í":[{"r":1},18]},43],"ě":[{"c":[{"m":8}],"t":[{"a":11}]}],"í":[{"c":[{"e":10}],"h":[{"a":[{"t":8}]}],"n":21}],"ň":16,"ř":[{"í":[{"n":18},16]}],"š":[{"e":[{"s":2}],"t":[{"í":[{".":18}]}]},34],"ý":[{"s":21,"t":4,"z":56}],"ž":34},24],"w":[{"a":[{"f":[{"d":8}],"r":[{"e":8},21]}],"e":5}],"x":[{".":16,"a":[{"n":[{"d":7}]}],"f":16,"i":[{"s":[{"k":7}]}],"n":16,"o":[{"v":21}],"t":[{"r":[{"a":8}]},15],"y":[{"s":[{"m":8}]}]}],"y":[{"a":0,"b":[{"l":0,"r":[{"i":4}]}],"c":[{"h":[{"r":1},0]}],"d":[{"l":[{"á":8},44],"r":0,"y":[{".":8}]}],"e":0,"g":[{"r":0}],"h":[{"n":[{"e":8},18]}],"j":[{"m":[{"a":8,"e":8}]}],"k":[{"l":[{"a":4,"o":[{"p":18}],"y":8},0]}],"m":[{"a":[{"n":[{"é":33}]}],"k":[{"l":8}]}],"n":[{"a":[{"s":6}],"i":18}],"p":[{"e":[{"r":6}],"s":[{"i":8}],"t":[{"á":8}],"ř":0}],"r":[{"v":5}],"s":[{"a":18,"e":18,"i":18,"l":[{"u":4}],"m":18,"o":18,"p":18,"t":[{"e":4,"r":6},5],"u":18,"v":18,"y":18,"á":18,"é":18,"í":18},0],"t":[{"m":[{"e":8}]}],"u":[{"ž":4}],"v":[{"s":18,"ě":[{"t":6}]}],"z":[{"b":18,"d":18,"k":18,"n":[{"ě":8,"í":8},18],"p":[{"o":8},18]}],"č":[{"k":5}],"ň":0,"ř":[{"b":4,"k":[{"n":6}],"č":[{"e":8}],"í":18}],"š":[{"e":18,"i":18,"k":18,"l":13,"o":18,"p":18,"u":18,"í":18},0],"ž":[{"d":18},5]},15],"z":[{".":16,"a":[{"b":[{"l":14,"s":8}],"d":[{"k":8,"l":4,"n":8}],"h":4,"i":4,"j":[{"k":8},4],"k":[{"t":8},4],"l":[{"k":6}],"m":[{"n":6}],"p":17,"s":17,"t":[{"l":4,"r":6},14],"u":[{"t":8}],"z":[{"n":6,"š":8},4],"č":[{".":8}],"š":[{"k":6,"s":8},4]}],"b":[{"a":[{"n":7}],"y":[{"s":7},0]},16],"c":22,"d":[{"i":18,"n":[{"ě":[{"n":[{"í":7}]}]}],"o":[{"b":[{"a":1,"n":[{"ý":1}]}]}],"r":[{"e":8}],"v":[{"í":8}]},43],"e":[{"h":4,"p":17,"r":[{"o":[{"t":27}]}],"s":[{"p":6},17],"t":14,"v":[{"n":4},14],"z":[{".":8},4]},0],"f":43,"h":[{"á":15}],"i":[{"n":[{"e":1}]}],"j":[{"í":18},0],"k":[{"a":[{".":18}],"y":18,"é":18,"ů":18,"ý":18},43],"l":[{".":21,"h":[{"o":[{"s":33}]}],"i":[{"k":10}],"y":[{".":18}]},16],"m":[{"e":16,"n":18,"y":18,"ě":[{"n":1}]},34],"n":[{"a":[{"k":21,"l":1}],"e":[{".":18}],"i":[{"c":18}],"o":18,"u":18,"y":18,"é":18,"ě":[{"l":1},18],"í":[{"t":1,"v":1},18],"ý":18},43],"o":[{"t":[{"r":8}],"š":[{"k":8}]}],"p":[{"t":18,"á":[{"t":1}]},43],"r":[{"a":[{"k":21}]}],"s":25,"t":[{"r":[{"o":[{"s":36}],"á":1}],"ř":18},16],"u":[{".":21,"m":[{"o":4,"ě":4,"í":4}],"š":4}],"v":[{"a":[{"d":6,"ř":18}],"i":[{"k":7},18],"n":[{"ě":8}],"o":[{"d":18,"j":18,"n":1}],"r":[{"o":8}],"á":[{"n":1}],"ě":[{"s":1}],"í":[{"j":18}]},0],"y":[{".":21}],"z":16,"á":[{"h":14,"k":[{"l":[{".":8}]}],"p":21,"s":17,"z":4,"š":14},13],"č":[{"l":18},16],"ň":16,"ř":[{"e":[{"j":10,"z":18,"š":18}]},0],"š":[{"k":[{"a":8},18],"t":18},26],"ú":[{"č":4,"ž":4},62],"ů":[{"s":4}]},24],"á":[{"b":[{"l":0,"r":[{"y":8}],"ř":[{".":1}]},15],"c":[{"h":[{"o":18}],"t":[{"i":63}]}],"d":[{"l":0,"o":[{"s":[{"t":[{"i":7}]},6]}],"ř":13},15],"h":[{"a":15,"e":18,"l":[{".":18},13],"n":4,"o":15,"r":15,"á":15}],"j":[{"m":[{"u":1,"ů":8}]},15],"k":[{"l":[{"i":1}],"n":[{"i":8}]}],"l":[{"a":15,"e":15,"o":15,"u":15,"y":15,"é":18,"í":15}],"m":[{"y":18,"é":18,"ě":15,"í":18,"ý":18}],"n":[{"e":[{"v":6}]}],"r":[{"a":15,"e":15,"m":5,"o":15,"u":15,"ů":18}],"s":[{"c":0,"k":[{".":8,"l":8,"n":8},58],"l":[{"a":0,"y":8}],"m":0,"p":[{"o":8}],"t":0},15],"t":[{"k":4,"r":13,"u":15,"y":15,"í":15,"ý":18}],"v":[{"s":[{"i":8,"í":8}]}],"z":[{"k":4,"n":[{"i":[{"c":7},4]}],"v":[{"i":8}]}],"ň":0,"ř":[{"k":[{"e":8,"ů":8}]},15],"š":[{"e":18,"í":18},0]}],"č":[{".":16,"a":[{"b":[{"r":8}]},24],"b":16,"c":22,"e":[{".":21,"c":13,"s":[{"k":2}]},24],"i":24,"k":[{"a":[{".":18}],"o":18,"u":18,"y":18},16],"m":22,"n":[{"e":0},16],"o":24,"p":0,"s":[{"k":15,"l":[{"a":8}],"s":[{"r":8}]},16],"t":[{"e":[{"n":[{"é":[{".":1}],"ý":1}]}],"l":[{"a":8}],"o":[{"v":[{"ý":[{".":1}]}]}],"v":21,"ě":[{"n":27}],"í":18},43],"u":24,"á":24,"í":[{"s":[{"l":2}]},24],"ů":24}],"ď":[{".":16,"a":24,"o":24,"s":[{"t":[{"e":8}]}],"t":22,"u":[{"j":21}]}],"é":[{"d":[{"i":18,"o":18},0],"f":[{"o":18,"r":13},0],"k":[{"l":0}],"l":0,"m":[{"a":18,"e":18,"i":18,"o":18,"u":18,"ů":18},0],"r":[{"e":[{".":27}]}],"s":0,"t":[{"a":18,"o":18,"á":18},0],"š":0,"ž":0},15],"ě":[{"c":15,"d":[{"r":4}],"h":[{"a":18,"e":18,"l":[{".":18,"o":4}],"n":4,"o":15,"u":18,"ů":18}],"j":[{"a":18,"e":15,"o":15,"ů":18}],"k":[{"l":[{"é":1}],"t":40}],"l":15,"r":[{"a":[{"d":2},15],"e":15,"o":15,"s":[{"t":6},4],"u":15,"y":15,"ů":15}],"s":[{"k":4,"n":4}],"t":[{"a":[{"c":8},64],"l":13,"r":[{"a":[{"j":1},4]},15],"v":4,"í":15,"ř":[{"í":4}]}],"v":[{"a":18,"e":18,"l":18,"o":18,"u":18,"á":18,"č":4},0],"z":[{"e":18,"i":18,"n":4,"o":18,"í":18},0],"ř":15,"š":[{"e":18,"i":18,"o":18,"u":18,"á":18,"í":18,"ť":[{"s":8},4]},0],"ť":[{"o":18},0],"ž":[{"e":18,"i":18,"o":18,"u":18,"í":18},0]}],"í":[{"b":[{"ř":4},15],"c":[{"h":[{"o":18,"t":6}]}],"d":[{"l":13}],"h":[{"l":0,"n":4},15],"j":[{"e":[{"d":7}],"m":[{"ů":8}]},15],"k":[{"r":0}],"l":15,"m":[{"á":15,"é":18,"ě":15}],"r":15,"s":[{"a":15,"k":[{"l":8,"n":8},58],"l":[{".":8,"e":4,"n":8}],"á":[{"h":35}]}],"t":[{"k":4,"ř":[{"e":19}]},15],"z":[{"d":[{"a":4,"e":4}],"k":4,"n":[{"a":18,"i":19,"ě":[{"n":18}]}]}],"ň":0,"ř":15,"š":[{"e":18,"i":18,"o":18,"í":18},0]}],"ň":[{".":16,"a":[{"d":4},16],"k":16,"m":16,"o":[{"v":21}],"s":15,"t":22},24],"ó":[{"z":[{"a":18,"i":18,"o":18,"y":18},0]},15],"ř":[{".":16,"a":[{"p":[{"l":8}],"ď":[{"m":8}]}],"b":43,"c":16,"d":16,"e":[{"c":[{"h":4}],"d":[{"o":[{"b":8}]}],"h":13,"j":[{"d":4}],"k":[{"l":4,"v":4,"ř":[{"í":8}]}],"o":[{"r":6}],"p":[{".":8,"k":8,"č":8},17],"r":[{"v":6}],"s":[{"k":[{"a":4,"o":4}],"p":[{"o":2},5],"r":8,"t":[{"a":4,"u":4,"á":4,"ř":4}]},16],"t":[{"l":4,"ř":6}],"z":[{"d":4,"k":4,"l":27}],"č":[{"t":4}]}],"i":[{"a":2,"h":[{".":8,"n":8},4],"j":[{"ď":8}],"l":[{".":8,"b":8,"n":14}],"n":[{"e":27}],"s":14,"t":[{".":65}],"v":[{".":8,"k":8,"n":8}],"z":4,"č":[{"t":6}],"ř":4,"š":[{".":8}]},13],"k":[{"l":[{"a":8,"i":8,"y":8},0],"n":[{"o":8}]},16],"l":22,"m":22,"n":16,"o":[{"u":16},24],"p":43,"s":[{"t":[{"o":8}]},22],"t":22,"v":0,"z":16,"á":[{"p":[{"l":8}],"s":[{"l":5}]}],"č":22,"í":[{"d":16,"k":[{"ř":8}],"s":13}],"š":[{"t":[{"i":8},18]},16]}],"š":[{".":16,"a":[{"b":2,"v":[{"l":8}]}],"c":22,"e":[{"j":[{"d":6}],"p":[{"t":2}]}],"i":[{"m":[{"r":8}]}],"k":[{"a":18,"e":18,"l":[{"i":19}],"o":[{"u":42,"v":27}],"r":[{"o":8},21],"u":[{".":18}],"y":18},43],"l":[{"a":0,"i":[{"v":18},0],"o":0,"á":14,"é":0,"ý":0},16],"m":[{"i":[{"d":6}]},22],"n":16,"p":0,"s":22,"t":[{"i":[{"p":1}],"k":[{"a":8,"l":8}],"ě":[{"k":1,"s":0,"v":1}],"í":[{"p":1}]},16],"v":0,"í":[{"d":4}],"ň":0,"š":[{"í":18}],"ť":[{"o":18,"u":18,"á":18},43]},24],"ť":[{".":16,"a":[{"l":21}],"k":16,"m":16,"t":16,"á":[{"č":[{"k":6}]}]},24],"ú":[{"c":34,"d":0,"j":[{"m":[{"a":8}]}],"k":0,"l":0,"n":0,"p":0,"t":[{"k":[{"o":8}]},0],"v":0,"z":[{"k":4},0],"č":[{"e":21},0],"ř":[{"e":[{"z":6}]}],"š":[{"t":[{"i":8}]}],"ž":0},24],"ů":[{"b":15,"c":15,"h":[{"l":15}],"j":[{"d":18,"m":[{"o":[{"v":[{"ý":1}]}]}]}],"l":[{"e":15}],"m":[{"y":15,"ě":15}],"r":[{"a":15,"v":[{"a":8,"y":8}]}],"s":[{"t":[{"e":4,"á":[{"n":4}]},0]},46],"t":[{"k":[{"l":18}]},5],"v":[{"a":18,"o":18,"ě":18},0],"z":[{"o":18},0],"ž":[{"e":18,"i":18,"o":18},0]}],"ý":[{"b":15,"c":[{"h":[{"o":18}]}],"d":[{"l":[{"a":8}]},15],"h":15,"j":15,"l":15,"m":[{"l":15,"ě":15}],"n":[{"o":18},0],"p":[{"o":[{"č":57}]}],"r":15,"s":[{"k":0},46],"t":[{"k":[{"u":8,"y":8}]},15],"u":15,"v":[{"l":[{"i":1}]}],"z":[{"k":18,"n":18,"v":[{"u":1}]}],"č":[{"n":[{"ě":8}]}],"ř":15,"š":[{"l":4}]}],"ž":[{".":16,"a":[{"d":4,"t":[{"v":8}],"č":21}],"b":22,"c":22,"d":22,"e":[{"b":23,"h":[{"n":2}],"m":[{"l":8}],"z":[{"g":8}]}],"i":[{"d":[{"l":8}],"j":[{"m":8}],"l":21,"v":[{"l":5}]}],"k":[{"n":[{"i":8}]},16],"l":[{"i":[{"c":1}],"o":21},16],"m":22,"n":16,"o":[{"n":14}],"s":25,"t":22,"v":0,"á":[{"b":[{"r":8}],"n":[{"r":8}]}],"ď":16,"í":[{"z":[{"n":8}]}],"ň":16,"š":[{"t":[{"i":8,"ě":8}]},16]},24]}',["koe-fi-ci-ent","koe-fi-ci-en-ty","pro-jek-ční","úhlo-příč-ka","úhlo-příč-ky"]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/3369.adapter.js b/public/tools/cloud_sheets/vendor/univer/3369.adapter.js new file mode 100644 index 0000000..663c430 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/3369.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[3369],{3369(e,r,s){s.r(r),s.d(r,{De1996:()=>a});const a=["001,003,0002,0032,0003,004,002,005,0000065,00034,00004,00021,0004,0001,0043,000006,0034,000003,0056,000004,0065,0021,00002,0023,006,00003,0006,00043,000656,0000006,00008,008,0012,00006,00000078,0005,00202,00032,0025,004304,007,0041,004004,00302,0033,00007,00065,0052,00001,00404,000808,00008708,0008,0000005,000005,00005,008008,00304,000065,00045,0060006,0000087,000000008,000007,0000008,0000808,00000008,00087,008007,0000506,000087,01,012,02,22,1,23,2,3,032,202,000202,03,00102,4,12,023,303,32,04,105,1032,101,21,02014,0403,2003,02002,4003,00041,00012,4001,0000004,43223,021,000002,43,203,2002,2021,00402,211,32021,0212,041,014,0078,02102,00232,00036,0014,00303,0434,0054,034,00212,00204,201,043,02104,343,0214,000001,004305,234,00441,00052,2001,000212,402,05,054,121,3032,40002,3214,103,34,20004,0000034,00214,0105,212,223,20002,20032,02004,02003,2004,000034,000041,232,00023,000021,06,04003,0600006,0232,00203,0503,324,0303,405,2032,002121,000008,00412,00434,2043,00074,2025,4032,00342,0234,00014,000074,00403,3002,321,41,252,0000043,1004,323,5,00054,02032,000304,0045,000434,3202,254,030004,250004,452,214,024,24,0000304,65,00343,0301,00605,006005,45,302,00323,0102,022,2012,403,6,4014,2034,4024,4004,0024,102,401,40304,304,205,0022,122,0402,00042,14,0204,0103,000078,0044,01002,00022,432,2302,21003,414,0000003,412,0000007,4304,00124,54,216,00234,25,03002,0302,2121,2103,004003,020002,03052,0007,000201,0605,000032,0008708,40323,4002,1023,00024,0421,006006,000506,0304,06506,000043,04004,00000005,300004,04143,10004,04002,0404,0121,0104,0324,00044,0202,08,000301,2404,00121,000412,016,0412,00000007,00101,03021,2105,2125,00201,305,301,6006,000323,000044,50003,434,1402,0101,00000006,2123,0000303,00432,00306,454,000045,0004303,20043,2102,00006006,421,056,0006506,3003,00056,03032,0506,000023,000205,06304,02001,0432,0122,06006,03023,065,02163,002102,0004004,0321,03212,04304,0306,0203,1202,0221,03214,03004,0006006,02142,000343,02302,033,0036,03003,040034,20421,087,00025,004321,000404,00063,00321,00078,000402,000124,21004,20232,2023,204,00000065,0414,000076,56,000203,3004,00506,000056,21002,04103,0323,4023,1022,0004304,000042,2124,0042,2144,30034,000234,00301,322,00000056,02324,002002,404,43002,03201,200002,52032,52,20034,4102,41002,30303,004002,632,004021,04104,025,052,32004,060506,0000000008,00104,00103,01003,23001,004005,000102,00632,002032,04102,222,1223,06005,00542,1002,1054,30002,004001,3034,10052,02103,0000404,3001,00221,20001,000054,74,341,143,3014,34052,0201,02321,01004,00061,61,07,000214,01034,400305,3402,5403,541,3204,243,042,7,40021,3404,306,4432,3023,3043,32032,2104,3005,30004,63,72,26,3012,436,0004003,00341,30102,124,02123,4104,00401,000432,063,000101,0502,030002,01054,0343,002303,20214,000232,000504,10023,104,000024,1041,1232,422,4344,02101",'{".":[{"a":[{"b":[{"a":0,"l":1,"o":[{"l":1,"r":0},2],"s":3,"u":1}],"d":[{"e":[{"n":4}]}],"e":1,"f":[{"t":2}],"g":[{"r":5,"u":6}],"i":[{"s":6}],"k":[{"t":[{"a":2}]}],"l":[{"e":6,"k":1,"l":[{"e":[{"i":1,"n":7}],"i":1}],"s":[{"e":1}],"t":[{"e":[{"i":5,"l":5,"r":[{"s":8}]}],"s":9,"u":5}]}],"m":[{"p":[{"e":10}],"t":[{"s":[{"c":12},11]}]}],"n":[{"a":[{"c":13,"t":14}],"d":[{"e":[{"n":[{"k":15}]}]},3],"e":[{"r":0}],"g":[{"l":[{"i":16}],"o":1,"s":[{"t":17},10]},2],"i":[{"s":2}],"k":16,"n":[{"a":1}],"s":[{"i":[{".":5}]},3],"t":[{"a":[{"r":5}]}],"z":3}],"p":[{"p":[{"l":[{"e":[{".":18}]}]}]}],"r":[{"i":[{"e":13}],"k":[{"a":3}],"m":[{"a":[{"c":14}],"u":[{"n":5}]}],"s":[{"c":6}],"t":[{"a":[{"n":5}],"e":[{"i":14,"r":[{"h":20},19]}],"r":21}],"z":2}],"s":[{"b":[{"e":22}],"t":[{"a":5,"r":1}]}],"t":[{"a":13,"h":6,"r":5}],"u":[{"d":1,"f":14,"s":23,"ß":2}],"x":6}],"ä":[{"m":1,"r":[{"s":[{"c":[{"h":[{"l":24}]}]}]}],"t":[{"h":6,"s":6}]}],"b":[{"a":[{"h":[{"n":[{"e":[{"r":26}]},25]}],"l":[{"t":4}],"u":[{"s":10}]}],"e":[{"e":[{"r":[{"b":1}]}],"i":[{"g":[{"e":19}]}],"l":[{"a":2}],"r":[{"a":3,"e":2,"g":[{"a":27,"e":[{"b":28}],"r":27}],"t":[{"r":12}]}]}],"i":[{"o":[{"s":5}],"t":[{"a":13},6]}],"l":[{"a":[{"u":25}]}],"o":[{"g":[{"e":[{"n":[{"s":29},17]},22]}],"s":[{"k":14}]}],"u":[{"s":[{"e":[{"r":5}]}],"t":[{"a":1}]}],"y":[{"t":5}]}],"c":[{"a":[{"s":[{"t":23}]}],"e":[{"r":[{"a":6}]}],"h":[{"a":[{"r":[{"m":[{"e":[{"s":30}]}]}]}],"i":[{"e":[{"r":4}]}]},24]}],"d":[{"a":[{"b":12,"r":[{"i":[{"n":4}],"m":11},21],"t":[{"e":[{".":5,"s":5}]}]}],"e":[{"a":[{"l":6}],"i":[{"n":22},0],"l":[{"o":1}],"m":[{"e":[{"n":[{"t":[{"s":31}]}]}]}],"n":[{"a":1,"k":[{"a":12,"l":12,"o":12}]}],"o":32,"r":[{"e":[{"n":16}]}],"s":[{"k":1,"t":2},0]}],"i":[{"e":[{"l":1,"n":[{"e":10,"s":[{"t":[{"a":[{"d":34}]},33]}]},5]}]}],"o":[{"b":1,"m":[{"o":6}],"p":[{"e":0}],"r":[{"f":11}],"t":[{"r":6}]}],"y":[{"s":23}]}],"e":[{"b":[{"e":[{"r":11}]}],"g":[{"o":6}],"h":[{"e":[{"i":13,"n":35},6]}],"i":[{"e":3,"f":[{"e":3}],"k":1,"n":[{"a":5,"d":4,"e":[{"b":4,"r":[{"l":26}]},36],"s":[{"p":4}]}],"s":[{"e":10,"p":6,"s":37,"t":38}],"t":[{"r":5}]}],"k":[{"e":2,"l":[{"i":1}]}],"l":[{"a":6,"b":[{"i":6,"l":6,"s":4}],"f":[{"e":[{"i":5}],"l":6}]}],"m":[{"m":3}],"n":[{"d":[{"a":5,"e":[{"r":39}],"r":23,"s":4,"ü":5}],"g":[{"a":1,"l":6}],"k":2,"n":[{"s":25},2],"t":[{"a":6,"e":[{"i":5}],"h":[{"a":[{"l":[{"p":40}]}]}],"i":[{"o":5}],"r":[{"o":[{"p":7}]},41],"s":10},4]},0],"r":[{"b":[{"e":[{"i":5}],"r":[{"e":[{"c":[{"h":[{"t":31}]}]}]}],"u":6}],"d":[{"a":[{"n":5}],"e":[{"n":[{"k":15}],"r":14}]}],"e":[{"c":4,"m":6},0],"f":12,"i":0,"s":[{"t":[{"e":[{"i":[{"n":31}],"r":29}],"r":[{"i":[{"t":[{"t":[{".":31,"e":[{"n":[{".":31}]}]}]}]}]}]}]},2],"z":[{"e":[{"l":14,"n":42}]}]}],"s":[{"p":1,"t":[{"a":43,"e":26,"h":1,"r":44}]}],"t":[{"s":6}],"u":[{"g":12,"r":12},1],"x":[{"t":12}]}],"f":[{"e":[{"l":[{"a":1}],"r":[{"n":[{"o":12}]}]}],"i":[{"d":1,"e":[{"s":[{"t":1}]}],"l":[{"e":[{".":5,"n":5}]}],"s":6}],"l":[{"u":[{"g":11}]}],"s":5,"u":[{"s":[{"c":6}]}]}],"g":[{"a":[{"m":[{"e":6}],"n":[{"g":[{"a":12}]}],"s":[{"e":4,"p":5},21],"t":5}],"d":6,"e":[{"b":[{"e":[{"a":10}],"l":2}],"e":12,"l":[{"b":[{"r":27}],"d":11,"u":1}],"m":1,"n":[{"a":[{"r":7}],"e":[{"c":[{"k":[{"e":45}]}]},16],"o":3}],"r":[{"a":16,"e":2,"o":1,"s":12}],"s":[{"a":1}]}],"l":[{"a":[{"n":[{"z":17},22]}]}],"o":[{"l":[{"d":[{"e":[{"r":26}]}]}]}],"s":5,"u":[{"s":2}]}],"h":[{"a":[{"l":[{"t":[{"e":10}]}],"u":[{"t":11}]}],"e":[{"b":[{"e":[{"i":5}]}],"f":[{"e":1}],"l":[{"e":1}],"r":[{"a":[{"n":14,"t":1}],"b":[{"r":[{"a":46}]}],"e":[{"r":1}],"i":[{"n":[{"n":20}]},1]}]},6],"i":[{"n":[{"u":4}],"p":[{"s":10}],"s":5}],"o":[{"f":[{"e":[{"n":5}]},13],"m":[{"e":[{"t":5}]}]}]}],"i":[{"a":5,"m":[{"a":[{"g":[{"e":12}]},6],"m":47}],"n":[{"d":2,"g":[{"l":1}],"k":2,"n":[{"e":3}],"s":[{"k":1}],"t":3,"u":13},0],"o":[{"d":5,"n":[{"i":48}]}],"r":[{"e":4}],"s":[{"a":6,"t":[{"a":1}]}],"t":[{"h":6}],"v":6}],"j":[{"o":[{"n":[{"i":48}]}]}],"k":[{"a":[{"b":[{"l":23}],"i":6,"l":[{"a":2,"e":1}],"t":[{"a":3,"i":[{"o":49},4]}]}],"i":[{"e":5}],"l":[{"a":[{"n":[{"g":17}]}]}],"o":[{"b":1,"p":[{"f":48}],"r":[{"d":[{"a":12}]}]}],"r":[{"a":[{"f":22}]}],"s":5,"u":[{"s":2}]}],"l":[{"a":[{"b":[{"e":1}],"n":[{"d":[{"e":[{"m":[{"i":50}]}]}]}]}],"e":[{"a":[{"r":5}],"g":[{"a":[{"s":5}]}],"n":[{"i":3}]}],"i":[{"c":[{"h":[{"t":[{"e":[{"r":[{"s":51}]}]}]}]}],"f":6,"v":[{"e":[{".":5}]}]}],"o":[{"g":[{"i":[{"n":14}]}],"s":[{"c":6,"s":9}],"t":[{"r":6}],"v":[{"e":[{"r":1}]}]}],"u":[{"s":[{"t":[{"e":[{"r":29}],"r":12}]}],"t":[{"h":2}]}],"y":[{"s":23}]}],"m":[{"a":[{"d":1,"g":[{"e":1}],"l":[{"e":12}],"s":[{"t":6}],"t":[{"c":12,"r":7,"u":25}]}],"d":6,"e":[{"l":[{"a":2}],"n":[{"e":1,"o":1,"s":[{"c":[{"h":[{"l":52,"w":52}]}]}]}],"s":[{"s":[{"p":12}]}]}],"i":[{"f":6,"k":12,"l":[{"z":11}],"s":6,"t":41}],"m":6,"u":[{"t":[{"t":[{"e":[{"r":53}]}]}]}]}],"n":[{"a":[{"n":[{"o":1}],"t":1}],"ä":[{"s":[{"c":13}]}],"e":[{"b":[{"e":[{"n":10}]}],"r":[{"f":2,"o":0}],"s":6}],"i":[{"c":[{"h":[{"t":[{"e":54}]},22]}],"e":5,"k":[{"l":16}]}],"o":[{"t":[{"h":6}]}],"u":[{"l":2,"s":2}]}],"o":[{"a":1,"b":[{"a":0,"e":[{"r":[{"e":[{"i":55}]}]},2],"i":[{"t":16}]}],"c":[{"h":4}],"f":[{"e":6}],"p":[{"e":[{"r":10}]}],"r":[{"a":6,"d":[{"e":12}],"g":1,"k":3,"t":[{"s":[{"e":25}]},2]}],"s":[{"s":1,"t":[{"a":49,"e":[{"n":[{"d":[{"e":56},35]}],"r":[{"e":33,"w":[{"e":31}]}],"s":5},22],"i":[{"g":5},23],"r":14,"u":5}]}],"t":[{"a":0}],"u":[{"t":[{"e":5},6]}],"z":[{"o":12}]}],"ö":[{"d":6,"l":[{"l":1}]}],"p":[{"a":[{"b":12,"r":[{"t":[{"h":10}]}]}],"e":[{"c":6,"l":[{"a":1,"e":1}],"n":[{"a":1}]}],"f":5,"h":5,"o":[{"k":[{"a":22}],"s":[{"t":[{"e":[{"i":29}]},5]}]}],"r":[{"o":13}],"s":6}],"r":[{"a":[{"b":[{"e":10}],"c":[{"h":[{"e":57}]}],"m":[{"e":1}],"u":[{"m":2,"s":[{"c":[{"h":[{"l":52}]}]}]}]}],"ä":[{"u":[{"s":[{"c":4}]}]}],"e":[{"a":[{"l":[{"e":1}]}],"b":[{"s":37}],"c":[{"h":[{"a":1}]}],"i":[{"n":[{"s":[{"z":7}]}],"s":[{"e":[{"i":58}],"t":59}]}],"l":[{"i":48}],"s":[{"t":[{"r":26}]}]}],"i":[{"a":[{"s":5}],"c":[{"h":[{"t":[{"e":15}]}]}]}],"o":[{"a":5,"b":[{"e":1}],"e":6,"h":6,"m":[{"a":12},1],"s":[{"t":6}],"t":[{"r":23}]}],"ö":[{"s":6}],"u":[{"f":[{"s":4}],"h":[{"r":11}],"n":[{"d":[{"e":[{"r":29}]}]}]}],"ü":[{"b":0,"c":[{"k":[{"e":[{"r":60}]}]}]}]}],"s":[{"a":[{"b":[{"r":1}],"l":[{"i":[{"e":25}]}],"m":[{"i":48}],"u":[{"c":13,"e":[{"r":[{".":35},12]}]}]}],"c":[{"h":[{"a":[{"f":[{"t":[{"e":[{"n":[{"d":61}]}]}]}]}],"e":[{"i":[{"n":[{"e":[{"r":62}]}]}]}]},12]}],"e":[{"c":[{"k":1}],"e":[{"i":[{"n":19}]},6],"h":[{"a":6}],"n":[{"f":12,"s":35}],"r":[{"e":1,"o":0}],"t":21}],"h":[{"a":2}],"i":[{"e":[{"n":5}],"g":[{"n":1}],"t":[{"e":5}]}],"k":[{"i":[{"e":13,"s":22}]}],"o":[{"u":[{"r":22}]}],"p":[{"a":[{"n":[{"i":[{"e":[{"r":[{".":63}]}]}]}]}],"i":[{"e":[{"g":[{"e":[{"l":[{"e":[{"i":64}]}]}]}]}]}]}],"t":[{"a":[{"u":[{"b":[{"e":[{"c":[{"k":[{"e":[{"n":[{".":65}]}]}]}]}]}]}]}],"e":[{"i":[{"n":[{"e":[{"r":[{"k":66}]}]}]},2]}],"o":[{"r":[{"e":12}]}],"r":[{"o":[{"m":[{"a":33}]}]}]},5],"u":[{"c":[{"h":[{"e":[{"r":29}]}]}]}]}],"t":[{"a":[{"g":[{"e":[{"s":10}]}],"m":[{"i":1}],"n":[{"k":[{"a":27,"l":27}]}],"r":[{"a":1,"t":37}],"t":[{"h":21,"o":[{"r":5},6],"u":21}]}],"e":[{"e":6,"f":6,"h":[{"e":25}],"i":[{"l":[{"e":[{"r":[{"s":[{"c":67},64]}]}]}]}],"l":[{"e":1}],"n":[{"o":1}],"r":[{"a":0}],"s":[{"t":[{"r":25},5]},6]}],"h":5,"i":[{"a":6,"e":6,"m":[{"e":[{"s":5},6]}],"r":1,"s":[{"c":[{"h":[{"e":[{"n":[{"d":68},66]}]}]}]},6],"t":[{"e":10}]}],"o":[{"d":[{"e":[{"r":5,"s":17},10]}],"n":[{"a":[{"t":5}],"i":[{"n":5},4],"s":22},6],"p":[{"l":5,"r":6}],"w":6}],"r":[{"i":[{"e":[{"s":4}]}],"o":[{"s":2}]}],"s":[{"e":4},5],"u":[{"r":[{"a":1,"i":1,"m":[{"a":12},48]}]}]}],"u":[{"b":6,"f":[{"e":[{"r":25},2]}],"l":[{"b":23}],"m":[{"a":2,"e":2,"o":2},1],"n":[{"a":3,"d":1,"g":3,"i":[{"t":12}],"s":[{"t":12},1]}],"r":[{"a":[{"d":3,"n":[{"f":[{"a":33}]}]}],"c":0,"e":0,"i":[{"n":[{"f":5}]}],"o":[{"m":16,"p":32}],"s":3}],"t":[{"a":6,"r":1}]}],"v":[{"e":[{"n":[{"e":47}]}],"o":[{"l":[{"l":48}],"r":5}]}],"w":[{"a":[{"h":[{"l":12}],"s":6}],"e":[{"g":[{"s":35}],"i":[{"n":[{"e":19}],"t":[{"a":12}]}],"l":[{"t":[{"e":[{"r":[{"e":64,"k":64}]}]}]}],"r":[{"k":[{"e":[{"r":26}],"r":12}],"t":[{"r":12}]}],"t":[{"t":[{"e":[{"r":[{"e":[{"r":62}]}]}]}]}]}],"i":[{"e":5}],"o":[{"r":[{"t":[{"e":[{"n":[{"d":52},69]}],"u":12}]},2]}],"u":[{"r":[{"f":11}]}]}],"x":[{"e":1}],"y":[{"a":[{"l":5}]}],"z":[{"e":[{"l":[{"l":[{"a":12,"e":[{"b":26},19]}]}],"u":[{"g":[{"i":10}]}]}],"i":[{"e":[{"l":[{"u":27}]},6],"n":[{"k":[{"a":12}],"s":[{"c":27,"t":12}]}]}],"u":[{"c":[{"h":22}],"g":[{"l":4,"r":[{"a":5}]}],"p":[{"f":6}]}],"w":[{"e":[{"i":[{"g":[{"e":[{"n":[{"d":70},66]}]}]}]},2]}]}]}],"a":[{"a":[{"b":[{"e":6},71],"c":[{"e":72},0],"g":[{"r":6}],"k":[{"t":71}],"l":[{"s":[{"t":22}]}],"n":[{"s":73},72],"q":71,"r":[{"a":23,"b":4,"d":4,"e":[{"a":1,"i":6}],"f":10,"g":37,"k":9,"t":10},74],"s":[{"t":35},75],"t":[{"a":22,"h":6,"r":14,"s":27}],"u":76}],"ä":71,"b":[{"a":[{"d":78,"i":[{"s":19}],"l":[{"t":0}],"m":79,"n":[{"t":6}],"u":0},77],"ä":[{"r":6,"u":6},0],"b":[{"a":[{"t":77}],"i":[{"n":77}]}],"d":75,"e":[{".":76,"c":76,"e":77,"i":[{"c":0,"d":9,"l":0,"n":0}],"l":[{"a":81},80],"n":[{".":76,"t":75}],"r":[{"d":73,"e":82,"i":82,"k":83,"r":83,"z":83},77],"s":[{"e":11,"s":[{"e":1}]},84],"t":77,"w":77}],"f":75,"g":[{"a":78},75],"h":75,"i":[{"l":84,"n":[{"s":0}],"r":0,"s":[{"t":4}],"t":[{"u":[{"r":12}]},0]},77],"k":75,"l":[{"a":[{"t":82},85],"ä":85,"e":[{"d":86,"i":87,"m":82,"t":77}],"i":[{"n":73,"t":5},1],"o":77,"ö":85,"u":73},0],"n":75,"o":[{".":88,"f":6,"n":88,"t":84},77],"ö":77,"r":[{"ä":89,"e":73,"o":[{"s":5}],"ö":77},1],"s":[{"c":90,"p":91,"t":[{"a":78,"u":75},22],"z":1},89],"t":[{"e":[{"i":75,"s":22}],"r":78}],"u":[{"g":9,"m":73,"r":0},77],"ü":77,"w":75,"y":[{"t":12},77],"z":78},71],"c":[{".":77,"a":76,"c":[{"i":77},92],"e":[{"m":71,"n":71,"o":73}],"h":[{"a":[{"l":71,"r":[{"i":82}],"s":4,"u":4},13],"b":77,"e":[{"c":94,"i":[{".":12},13],"p":73,"r":[{"f":[{"a":35},89],"h":95,"l":95,"ö":89,"w":95}]},93],"f":77,"i":[{"m":73},93],"l":4,"m":96,"n":4,"o":[{".":82,"r":97},71],"ö":[{"f":4}],"r":98,"s":[{"c":77,"e":[{"l":10}],"i":37,"k":[{"r":4}],"o":[{"r":10}],"u":4}],"t":[{"a":[{"k":12}],"e":[{"r":[{"f":26,"s":[{"p":52}],"w":46}]}],"o":99,"r":[{"a":[{"t":55,"u":[{"m":52}]}],"ä":[{"u":[{"m":[{"e":[{".":52,"n":[{".":52}]}]}]}]}],"i":[{"t":26}]}],"s":[{"a":[{"l":58}]}],"u":[{"m":12}]},89],"u":[{"f":100},71],"ü":4,"v":77,"w":101,"y":73}],"i":71,"k":[{"a":[{"r":71}],"e":[{"l":82}],"i":[{"n":73}],"s":[{"p":2,"t":[{"a":102}]}]}],"l":93,"o":[{"n":[{"n":10}]}],"u":77}],"ç":71,"d":[{".":77,"a":[{".":77,"b":[{"r":6},84],"g":6,"n":0,"p":78,"r":103,"s":77,"t":77,"u":[{".":82},104]}],"ä":85,"c":0,"d":75,"e":[{".":77,"a":[{"l":2}],"c":82,"e":82,"f":[{"i":105}],"g":77,"l":[{"l":82}],"n":[{"a":[{"t":12},48]},106],"o":22,"r":[{"a":13,"k":104}],"s":[{"p":37,"s":10},101]}],"f":77,"h":84,"i":[{"e":[{"n":4,"r":[{".":4}],"s":[{"c":10}]}],"s":[{"t":12}]},84],"j":78,"l":[{"i":77}],"m":[{"i":78,"u":84}],"o":[{"b":6,"n":[{"a":12},2],"p":73,"s":6}],"p":77,"q":77,"r":[{"e":[{"c":107,"i":1},73],"u":[{"n":1}]}],"s":[{"t":1,"z":1},108],"t":[{"e":110},109],"v":75,"y":76},71],"e":[{"b":6,"c":[{"k":6},73],"d":6,"i":6,"k":73,"l":[{".":82,"a":89,"e":89,"i":89,"s":82},73],"m":6,"o":[{"p":22},23],"p":6,"r":[{".":82,"o":112}],"s":[{"a":2,"c":6,"t":35}],"w":73,"x":6},111],"f":[{"a":[{"b":0,"n":113,"r":82,"u":104},77],"ä":[{"n":104},77],"e":[{"c":104,"n":[{"t":[{"l":89}]}],"p":114},77],"f":[{"a":12,"l":23,"s":2,"t":[{"h":12}]}],"i":[{"k":[{"a":[{"n":[{"z":26}],"t":12}]}],"t":2},77],"l":[{"a":0,"u":115},107],"o":[{"c":86,"r":[{"d":73,"t":104}],"s":13},77],"r":[{"a":[{"u":1},77],"ä":1,"e":1,"o":77,"ö":1,"ü":5}],"s":[{"a":3,"h":3,"i":6,"p":6,"t":12}],"t":[{"a":[{"t":1},21],"e":[{"i":6,"l":36,"r":[{"k":12}]}],"o":21,"ö":6,"r":[{"a":6,"e":[{"i":35}]},4],"s":[{"t":[{"ä":12}]}],"u":[{"r":6}]}],"u":[{"r":86}],"ü":[{"r":25},77]}],"g":[{".":77,"a":[{"b":32,"d":32,"r":0,"u":104},77],"d":[{"e":[{"l":6}],"r":6,"u":6}],"e":[{".":84,"l":[{"e":[{"i":27,"r":12}]}],"n":[{".":106,"e":[{"b":12}],"t":73}],"s":[{"a":[{"m":12}],"i":[{"n":27}],"p":25,"s":[{"e":[{"n":33}]}],"t":[{"i":25}]},77]}],"g":[{"r":78}],"i":[{"d":104,"m":73}],"l":[{"a":[{"n":5,"s":5}],"e":1,"ö":89},74],"m":77,"n":[{"a":[{"t":5}],"ä":89,"e":[{".":5}],"u":5},6],"o":[{"b":4}],"r":[{"a":[{"t":1}],"e":86,"i":[{"e":1,"n":1},73]}],"s":[{"a":[{"h":3,"m":5}],"e":[{"i":[{"d":16}]}],"p":[{"o":[{"r":[{"t":[{"a":116}]}]}]}],"t":[{"e":0,"ö":1},22]},77],"t":[{"h":6},77],"u":[{"n":[{"d":73}]},77]},71],"h":[{".":77,"a":[{"n":6,"t":5},93],"ä":71,"e":[{"i":[{"n":13}],"r":[{"h":117}],"s":13,"u":4},93],"i":[{"n":25},72],"l":[{"a":118,"ä":21,"e":[{"i":21,"l":6,"n":[{"a":10}],"r":[{"d":14,"h":14}]}],"o":100,"ö":6,"s":[{"z":4}]}],"m":[{"e":[{"i":48,"s":25}],"u":1}],"n":[{"a":14,"e":[{"e":1,"f":6,"l":4,"r":[{"d":5,"e":19,"l":[{"e":15}],"n":19}]}],"i":[{"n":6}],"o":6}],"o":[{"r":85,"s":0}],"ö":[{"s":1}],"r":[{"a":13,"e":[{"n":[{"s":[{"c":15}]}],"s":10},3],"t":[{"a":[{"g":[{"e":26}]}],"e":[{"n":[{"g":26}]}],"i":2,"r":[{"o":12}],"u":[{"n":12}]}]},84],"t":[{"a":6,"e":[{"l":36,"x":21}],"r":14,"s":119}],"u":71,"w":0,"y":71}],"i":[{".":77,"a":[{".":71},120],"b":[{"l":6},77],"d":[{"s":2}],"e":[{"n":121},120],"f":[{"r":0},12],"g":122,"k":[{".":82,"e":1}],"l":[{"a":[{"r":6}],"d":9,"e":[{"i":6}],"g":4,"o":6}],"n":[{"a":2,"d":71,"e":123,"s":[{"p":22},4]},84],"r":[{"b":78}],"s":[{"a":6,"c":[{"h":[{".":82,"w":7}]}],"e":3,"s":[{"e":[{".":12}]}]}],"t":12,"v":[{".":82,"l":82,"s":82}]}],"j":[{"a":[{"t":73}],"e":[{"k":[{"t":[{"o":19}]}]},2]},71],"k":[{".":77,"a":[{".":77,"b":[{"r":10},96],"d":73,"l":77,"m":76,"n":77,"r":77,"t":[{"a":[{"k":12},48]},5],"z":75}],"ä":84,"b":77,"c":77,"d":77,"e":[{"f":73,"m":104,"n":[{"t":73}],"s":73,"t":6,"u":73},93],"i":[{"n":[{"s":0}],"s":13},93],"k":[{"u":75}],"l":[{"a":115,"i":5,"ö":78},107],"n":[{"a":71}],"o":77,"r":[{"a":84,"e":[{"s":1}],"i":124,"o":78,"ü":1},93],"s":[{"h":1},77],"t":[{"a":[{"b":125}],"b":77,"e":[{"l":6,"r":2}],"g":77,"i":[{"k":77,"s":77}],"m":77,"o":[{"b":126}],"ö":6,"r":[{"i":123},23],"s":[{"i":77,"p":77,"t":77}],"w":77}],"u":[{"n":77,"p":73,"r":77,"s":2},71],"ü":84,"z":[{"e":78},75]}],"l":[{"a":[{".":77,"b":[{"o":77}],"f":0,"g":[{"e":0}],"i":77,"k":[{"r":0}],"m":0,"n":[{"a":0,"d":77,"g":73,"z":0}],"p":[{"p":0}],"r":[{".":82,"c":1,"e":82,"r":127,"t":73}],"s":[{"i":0,"s":0},2],"t":[{".":82,"m":5,"z":25}],"u":[{"g":1},0]},71],"ä":[{"m":104,"n":0,"r":[{"m":0}],"u":0},71],"b":[{"a":[{"t":78}],"ä":[{"r":6}],"e":[{"r":[{"e":19,"h":5,"w":39}]}],"l":21,"o":[{"h":6,"n":6}],"r":[{"u":4}],"s":[{"t":4}]}],"d":[{"a":[{"n":5}],"ä":6,"e":[{"r":[{"l":14,"n":14}],"s":22}],"i":[{"n":[{"n":4}]}],"r":[{"a":6,"ä":6}],"s":22}],"e":[{".":106,"a":[{"r":12}],"b":113,"c":[{"k":0}],"f":114,"i":[{"c":79,"n":89},104],"l":104,"m":[{"a":88,"i":113}],"n":[{".":106,"d":[{"e":102,"r":1,"s":128}],"g":73,"n":6}],"p":[{"o":0},2],"r":[{".":84,"b":104,"e":22,"f":104,"h":117,"k":[{"l":10}],"l":86,"m":[{"i":10},0],"r":129,"s":6,"t":104,"w":[{"ä":130}]}],"s":[{"k":131,"s":73},84],"t":[{"h":89}],"u":104},77],"f":[{"r":12}],"g":[{"i":78,"l":[{"i":6,"o":1}],"o":[{"r":78},75],"r":12}],"i":[{"m":[{"b":6,"m":0}],"n":[{"a":[{"l":12}],"d":0,"g":[{"e":10}],"q":117,"s":0}]},77],"k":[{"e":[{"n":132}],"l":[{"ö":6}],"n":[{"e":6}],"o":[{"f":6,"h":75}],"s":[{"t":10},37]}],"l":[{"a":[{"b":6,"d":1,"n":21,"r":125}],"e":[{".":1,"c":5,"e":78,"n":[{"d":1}],"r":[{"k":4,"z":19}],"s":1}],"i":[{"d":6,"e":[{"r":[{".":55,"s":[{".":45}]}]}]}],"o":[{"b":6,"p":6}],"ö":[{"f":6}]}],"m":[{"a":[{"p":6,"s":[{"t":14}]}],"o":[{"d":[{"e":[{".":33}]}]}]}],"o":[{".":77,"b":104,"e":88,"f":104,"g":[{"a":2,"r":2},84],"n":[{"t":0}],"r":[{"t":0}],"s":77}],"ö":[{"s":6},104],"p":[{".":78,"e":[{".":78}],"h":[{"o":6},75]}],"r":[{"a":[{"t":19}]}],"s":[{"a":[{"k":1}],"c":[{"h":[{"e":[{"i":24}],"s":17}]}],"k":[{"a":1}],"t":[{"e":[{"r":[{"b":18}]}],"u":6}],"u":[{"m":6}]}],"t":[{"a":[{"k":21,"l":[{"g":4}],"m":1,"n":6,"t":6,"u":6}],"ä":75,"e":[{"i":[{"s":4}],"l":[{"t":4}],"m":[{"u":5}],"r":[{"f":133}],"u":6}],"i":[{"d":6,"n":6}],"o":[{"p":13}],"ö":6,"r":[{"a":[{"t":14}],"e":6,"i":14,"o":23}],"s":[{"t":[{"ü":12}]}]}],"u":[{"b":9,"f":23,"g":4,"k":32,"m":[{"b":0},73],"r":104,"s":82},71],"y":84,"z":[{"a":[{"r":6,"u":6}],"e":[{"n":1,"r":[{"k":12}]}],"w":6}]}],"m":[{".":77,"a":[{"b":[{"a":2}],"d":37,"g":4,"l":[{"g":73}],"n":134,"z":85},6],"ä":77,"e":[{".":84,"b":73,"l":77,"n":[{"s":[{"p":[{"r":33}]}]},135],"r":[{"a":[{"u":17},37],"f":104,"i":85,"u":136}],"s":[{"h":89},137],"t":76}],"f":77,"i":[{".":82,"e":82,"k":2,"n":[{"g":5}],"r":76,"s":76,"t":77}],"k":77,"l":77,"m":[{".":77,"a":[{"b":6,"c":21,"l":77,"n":[{"t":5}],"r":6}],"e":[{"i":6,"s":17}],"i":[{"d":6,"e":22,"n":6}],"o":[{"r":6}],"ö":21,"u":22}],"n":[{"i":48}],"ö":73,"p":[{"e":[{".":77,"n":77}],"f":[{"a":138},5],"l":[{"e":80}],"o":77,"r":1,"s":37}],"s":[{"a":1,"c":[{"h":[{"l":5}]},84],"e":78,"h":3,"o":1,"p":1,"u":1},80],"t":[{".":75,"a":[{"u":5},125],"ä":21,"e":[{"i":[{"g":4},6],"l":5,"m":6,"r":[{"h":5,"n":14},19],"x":21}],"i":[{"s":6,"t":6}],"o":[{"u":24},6],"ö":6,"r":[{"e":5,"i":5},23],"u":21,"v":77}],"u":[{"l":88},77]}],"n":[{"a":[{".":77,"b":77,"c":4,"d":[{"i":132},139],"g":6,"k":76,"l":[{"g":0,"i":[{"n":12}]}],"m":[{"a":23},77],"n":[{"d":5},77],"s":137,"t":[{".":140,"h":12,"m":141,"o":73,"r":12,"s":140}],"u":[{"g":1}]}],"ä":[{"s":142}],"b":[{"a":[{"s":77}],"ö":77,"u":77},75],"c":[{"h":1}],"d":[{".":77,"a":[{"c":143,"r":[{"m":4}]}],"e":[{"i":4,"n":[{"g":[{"a":15}],"t":14}],"r":[{"o":[{"b":35}]}],"s":[{"c":10}],"x":21}],"s":[{"a":[{"s":12}],"e":[{"h":12}],"o":2,"p":[{"a":[{"r":26,"s":26}]}],"u":2}],"u":[{"r":21},144],"y":48}],"e":[{"c":3,"e":82,"i":[{".":6,"f":1,"g":78,"s":89}],"k":145,"l":2,"m":[{"i":32,"o":73}],"r":[{"f":[{"a":10}],"g":82,"h":6,"k":[{"e":89}],"n":84,"z":[{".":89,"e":5}]}],"t":[{"h":0}],"x":78},77],"f":[{".":77,"a":[{"b":77}],"ä":78,"e":1,"i":77,"j":5,"l":[{"e":4}],"o":[{"r":[{"s":84}]}],"r":[{"a":[{"u":35}]}],"s":77,"u":3},75],"g":[{".":84,"a":[{".":77,"r":21,"s":77},75],"e":[{".":77,"b":75,"i":21,"r":[{"f":14,"h":39,"w":39,"z":14}]}],"h":77,"i":[{"e":77}],"l":[{"a":6},13],"n":35,"r":[{"a":4,"i":146},13],"s":[{".":77,"t":[{"o":12}]}],"t":22}],"h":75,"i":[{"d":23,"e":[{"l":[{"s":4}],"r":[{"s":[{".":35}]}]}],"g":22,"k":[{"e":4}],"m":147,"n":[{"d":89}],"o":[{"n":16},2],"s":[{"o":89}]},76],"j":77,"k":[{".":77,"a":[{"b":6,"k":21,"n":6}],"e":[{"i":6,"n":107,"r":[{"f":[{"a":35}]}],"s":1}],"i":[{"d":6},77],"l":[{"ö":6,"u":6}],"n":[{"o":4}],"o":[{"p":[{"f":14}],"r":6}],"r":[{"a":[{"s":5},4],"ä":4,"o":6},13],"s":[{"e":4,"p":22},77],"t":148}],"l":[{"a":[{"d":77,"g":78}]},75],"m":[{"o":77,"u":75}],"n":[{".":77,"a":[{"h":75,"r":6}],"e":[{"f":5,"i":5,"n":[{"e":5,"s":149}],"r":2},1],"s":[{"p":27},77],"t":77}],"o":[{".":77,"d":92,"f":77,"g":77,"l":[{"a":2},76],"m":[{".":82},85],"o":77,"r":[{"i":2},104],"s":76}],"ö":93,"p":[{"u":77}],"r":[{"ö":77},75],"s":[{"a":[{"m":[{"e":5}],"r":1}],"ä":91,"c":[{"h":[{"r":78}]}],"k":[{"r":1}],"p":[{"a":13,"o":[{"n":4}],"r":75}],"t":75,"z":3}],"t":[{".":77,"a":[{"r":[{"e":10},4]}],"ä":3,"á":75,"e":[{"i":78}],"h":[{"a":1}],"i":[{"e":77,"s":[{"e":78}]}],"o":[{"n":105}],"r":[{"i":[{"n":4}]},75],"w":75}],"u":[{"r":4,"s":13},77],"ü":71,"w":[{"i":77},75],"z":[{"ä":6,"b":77,"d":77,"e":[{"i":75,"l":[{"f":4}],"n":22,"s":77}],"g":77,"h":77,"i":[{"d":22,"n":150}],"k":77,"m":77,"r":77,"s":77,"t":77,"ü":[{"n":78},75],"v":77,"w":[{"i":6},77],"y":77}]}],"o":[{"f":12,"i":1,"p":[{"f":10},71],"r":71,"s":[{"t":22},151],"t":[{".":82,"s":16}]},77],"ö":152,"p":[{".":84,"a":[{"b":4},5],"e":[{".":73,"l":82}],"é":73,"f":[{"a":6,"e":[{"l":75,"s":77}],"l":82},73],"h":[{"t":73}],"i":77,"l":[{"a":5,"ä":82,"e":1,"i":1},77],"n":6,"o":[{"s":88,"t":73}],"p":[{"u":1}],"r":77,"s":[{"o":6,"t":[{"e":[{"r":12}]}]}],"t":47,"u":76},71],"r":[{".":77,"a":[{".":82,"b":[{"b":107,"f":1,"t":1},6],"d":[{"r":1},37],"g":[{"e":4}],"l":[{"e":124,"i":82,"o":82},153],"n":[{"g":104,"z":104},77],"p":[{"p":128},77],"r":74,"s":[{"t":2,"y":6}],"t":84,"u":104},71],"ä":[{"s":0},71],"b":[{".":77,"a":[{"k":6,"t":23,"u":6},77],"e":[{"f":84,"i":[{"n":14}],"k":77,"n":77,"r":[{"l":4},77]}],"i":84,"l":80,"o":77,"r":137,"s":[{"k":4,"o":4},154],"t":155,"u":77},75],"c":[{"h":[{"l":77,"r":77}]},92],"d":[{"a":[{"u":6}],"e":[{"i":10}],"o":[{"p":6}],"r":23,"u":6}],"e":[{"a":[{"l":[{"e":[{"r":35}]}]},73],"b":156,"e":22,"f":[{"f":0}],"h":[{"r":0},73],"i":[{".":82,"d":0,"e":82,"h":82,"m":17,"n":[{"b":19,"s":19,"t":19},73]},77],"l":[{"e":73}],"m":84,"n":[{".":84,"s":[{"e":[{"m":33}]}]}],"r":[{"a":37,"e":[{"i":128},22],"g":73,"h":157,"i":73,"k":73,"l":73,"t":73,"w":6}],"s":77,"t":6,"u":4,"v":73}],"f":[{"r":[{"a":4},13],"s":[{"p":2}]}],"g":[{".":84,"a":[{"n":1}],"l":6,"n":5,"o":158,"r":16,"s":12}],"h":77,"i":[{"a":6,"d":73,"e":[{"n":37,"r":[{"d":4,"g":4}]}],"n":[{"i":[{"t":25}],"s":159,"t":0}],"o":124,"r":6,"s":[{"u":2},5],"u":82},77],"k":[{"a":[{"l":6,"r":21,"u":[{"e":4}]}],"e":[{"r":105}],"i":[{"l":6}],"l":[{"a":[{"g":5}],"e":6,"o":6,"ö":12},96],"o":[{"a":6,"r":6}],"s":[{"a":9,"e":2,"h":[{"e":4}]}],"t":[{"r":[{"e":12}]}]}],"l":[{"e":[{"s":6}]}],"m":[{"a":[{"d":1,"u":13}],"ä":3,"e":[{"g":21,"i":21}],"o":[{"r":2}],"u":[{"m":6}],"ü":84}],"n":[{"a":[{"n":6}],"e":[{"l":2}],"i":1},84],"o":[{"b":22,"c":[{"k":[{"e":[{"n":[{"g":52}]}]}]},84],"d":32,"f":[{"e":2},0],"l":76,"m":4,"p":104,"r":73,"s":[{"t":12},25],"u":85},71],"ö":131,"p":77,"r":[{"a":[{"c":13,"d":21,"s":21}],"e":[{"n":160}],"h":6,"i":77,"o":[{"r":23}]}],"s":[{"e":1,"h":3,"i":3,"k":[{"a":[{"t":12},4]}],"t":[{"a":1}]}],"t":[{"a":[{"u":6}],"b":77,"e":[{"i":77,"x":77},3],"i":3,"o":77,"r":[{"e":[{"s":12}],"i":6},4],"s":[{"k":[{"e":4}],"p":2},77],"u":[{"c":77}],"y":77}],"u":[{"h":104,"m":[{"m":82},0]},77],"ü":73,"v":77,"w":[{"a":22}],"y":161,"z":[{"a":[{"u":6},77],"ä":6,"e":77,"i":77,"ö":6,"t":[{"e":[{"i":12,"m":12}],"i":12,"r":162},75],"u":77,"w":21}]}],"s":[{"a":[{"a":128,"f":86,"g":82,"l":[{"t":163},79],"m":0,"r":[{"t":1}],"s":2,"t":1,"u":[{"f":10,"g":128}]},77],"ä":[{"t":1},73],"b":[{"e":[{"s":105}]}],"c":[{"a":164,"h":[{"e":[{"c":89,"f":89,"i":165,"r":[{"g":166}]}],"i":124,"m":73,"t":77,"u":[{"m":89},82]}]}],"d":77,"e":[{"b":73,"c":73,"f":104,"i":[{"e":0}],"m":[{"i":0}],"n":[{".":82,"a":12,"o":27,"s":[{"e":[{"m":33}]}]}],"r":[{"d":5,"e":2,"g":[{"e":[{"b":33}]}],"k":[{"e":128}]},6],"s":5,"t":12,"x":73},84],"f":77,"g":[{"e":[{"s":19}]}],"h":[{"i":[{"r":1},79]},77],"i":[{"g":77,"k":167,"m":77,"n":[{"g":22,"n":0}],"s":77}],"k":[{"a":[{"s":25}],"u":1}],"o":[{"b":1,"f":0,"l":82,"m":82,"p":32,"r":0,"z":89},77],"ö":73,"p":[{"e":[{"k":[{"t":[{"o":15}]}]}],"h":6,"i":[{"k":1,"o":1,"r":89},79],"r":[{"a":6},77]},104],"s":[{"a":[{"b":162,"u":[{"s":[{".":26}]}]},107],"e":[{"i":[{"n":4}],"l":[{"e":25}]},2],"i":2,"k":[{"i":1}],"o":1,"p":[{"o":6,"r":6}],"t":[{"a":1,"e":[{"i":1}],"i":1,"r":1,"u":1},6]}],"t":[{"a":[{"d":82,"s":71,"t":1},77],"ä":82,"e":[{"l":2,"r":2,"s":[{"e":14}],"x":5},1],"h":6,"i":[{"d":2,"e":1,"l":1}],"o":[{"f":5,"r":[{"c":4}]},1],"r":[{"e":[{"n":16},4],"i":[{"t":[{"t":20}]}],"o":[{"l":[{"l":35}]}]},71],"u":[{"b":1}]}],"u":[{"r":6,"s":27},77],"ü":73,"w":[{"a":[{"s":22}]}],"y":[{"l":78,"s":77},75]}],"ß":[{"e":[{"n":168},12]},71],"t":[{"a":[{"b":[{"e":0,"r":0}],"f":21,"g":[{"o":6},169],"l":[{"a":4}],"m":82,"p":[{"f":0}],"s":[{"t":6}],"t":[{"t":1}],"u":104},84],"ä":[{"n":0}],"b":84,"c":6,"e":[{"b":73,"c":82,"i":[{"e":[{"n":[{"d":29}]}],"g":0}],"l":[{"i":88}],"m":[{"g":88}],"n":[{"a":12,"s":[{"e":159}]},6],"p":73,"r":[{"a":[{"l":9,"n":4}],"e":5,"n":105,"s":[{"t":25}],"u":2},84],"s":[{"s":[{"a":10}]},84],"t":82,"u":6,"w":73}],"h":[{"a":[{"g":1,"l":1},84],"e":[{"b":79}],"i":[{"n":[{".":4}]}],"l":78,"r":89,"u":6,"ü":1}],"i":[{"k":[{"a":[{"b":12}],"e":[{"r":[{"w":46}]}]}],"n":[{"f":89}],"s":[{"a":2,"e":2,"o":89,"s":25},6],"v":[{"e":[{"r":[{"f":46}]}]}]},106],"l":[{"a":78,"i":84}],"m":[{"a":84,"ä":84,"u":[{"s":84}]},78],"o":[{"b":104,"m":[{"e":48,"o":2},170],"p":0,"r":[{"t":0}],"s":171}],"r":[{"a":[{"t":10,"u":86}],"ä":86,"e":1,"i":[{"n":1}],"o":[{"m":1,"n":5,"t":1}],"ü":1}],"s":[{"a":6,"c":[{"h":[{"n":5}]}],"e":[{"h":100},6],"i":[{"n":13},6],"o":21,"p":21,"t":[{"ä":[{"t":4}]}],"u":6}],"t":[{"a":[{"c":78,"d":5,"k":41,"l":[{"e":5,"s":5},22],"n":[{"g":5}],"r":5,"u":5},1],"ä":6,"e":[{".":84,"c":23,"i":6,"l":3,"r":172}],"h":[{"ä":1}],"i":1,"o":[{"b":6},84],"r":[{"ä":23}],"s":37,"u":3}],"u":[{"b":82,"n":2},84],"ü":82,"z":[{"e":[{"l":[{"a":4,"t":4},10],"m":6,"r":[{"e":82},21]}],"i":[{"n":21}],"t":37,"w":21}]},93],"u":[{".":77,"a":173,"b":[{"a":[{"b":6,"n":6,"u":21}],"e":[{"n":10,"u":6}],"l":[{"ä":6,"i":6,"o":6,"u":6}],"s":[{"i":2}]},77],"c":77,"d":[{"r":6}],"e":[{"b":2,"r":[{"e":[{"i":4},6],"ö":25,"s":[{"t":[{".":7}]}],"t":1}],"s":2},77],"f":[{"a":[{"k":13,"n":13},6],"e":[{".":77,"h":77,"n":[{".":84,"t":78}],"r":[{"k":42},13],"u":6}],"f":10,"i":[{"n":[{"d":4}]}],"l":[{"a":75}],"n":75,"o":77,"s":[{"k":[{"i":4}]}],"t":[{".":77},37]}],"g":[{"a":[{"r":3},6],"e":[{"b":84,"h":84,"l":84,"r":2}],"l":84,"r":84,"u":1},77],"h":1,"i":[{"s":6},127],"j":84,"k":[{"t":4}],"l":[{"e":[{"s":22}],"l":[{"e":[{"s":12}]}],"ü":1}],"m":[{"a":[{"l":6}],"e":[{"n":[{"t":14},10],"r":[{"i":4},174]}],"i":[{"d":21,"l":5,"t":5}],"o":[{"r":22},21],"p":37,"s":119,"u":[{"n":5}]},84],"n":[{"a":3,"e":[{"i":14},2],"i":[{"o":6}],"o":6,"u":1,"z":89},84],"p":108,"r":[{"h":0,"ü":25},108],"s":[{"a":[{"h":21,"n":[{"n":[{"e":[{".":175}]}]}],"s":6,"u":6}],"c":[{"h":[{"m":[{"i":24}]}]},77],"d":75,"e":[{".":77,"h":41,"n":77,"r":[{"b":14,"f":5,"k":14,"p":4,"w":5}]}],"g":75,"i":[{"n":6,"s":6}],"l":75,"o":[{"r":13},6],"p":[{"r":6}],"r":75,"s":[{"a":[{"g":78}],"e":[{".":12}],"t":4},22],"t":[{"a":22,"e":[{"i":[{"n":7}]},77],"o":22,"r":[{"i":35}]}],"ü":78,"w":75,"z":75}],"ß":[{"e":22}],"t":[{".":77,"a":[{"b":6}],"ä":[{"u":21}],"b":77,"e":[{"l":176,"n":[{"g":42}],"r":[{"h":14,"o":35}]},77],"g":77,"h":[{"y":6}],"o":75,"r":[{"ö":5}],"s":77}],"u":77,"v":[{"e":10},77],"w":77,"x":77,"z":[{"w":2},77]},73],"ü":93,"v":[{"a":[{"n":[{"g":82}],"s":10,"t":37},6],"e":[{"n":[{"e":[{"r":102}]}]}],"i":77,"r":86},71],"w":[{"i":[{"e":4}],"r":73},93],"x":[{"a":[{"m":6,"n":[{"s":73}]}],"e":79,"i":[{"d":82,"o":73,"s":48}]},71],"y":[{"a":93,"e":[{"u":71}],"m":[{"a":10}],"o":[{"f":0}],"s":[{"i":48},2],"t":1}],"z":[{"a":[{"d":171,"l":78},5],"i":79,"o":6,"u":79,"z":[{"e":[{"n":6}],"w":6}]},71]}],"ä":[{"a":71,"ä":75,"b":[{"l":86,"s":6,"t":[{"e":48}]},93],"c":[{"e":71,"h":[{"e":[{"e":48,"n":10},71],"i":71,"l":4,"r":73,"s":[{"a":12,"o":11,"p":2,"t":2}],"t":[{"e":10}],"u":71}],"k":71}],"d":[{"a":73,"e":[{"s":100}],"i":[{"a":104}],"r":86,"s":6,"t":[{"e":1}]},71],"e":[{"k":5,"u":82,"x":6},93],"f":[{"e":[{"n":12}],"f":[{"l":6}],"i":[{"g":25}],"l":1,"r":[{"o":5},1],"s":6,"t":[{"e":3,"s":27}]}],"g":[{"a":104,"ä":85,"d":2,"e":[{"n":[{"e":10}],"r":[{"a":162}],"s":4}],"l":86,"n":6,"r":[{"a":5},86],"s":[{"t":[{"a":1,"r":1},22]}],"y":85},71],"h":[{"a":0,"e":[{"i":114,"r":[{"g":[{"e":[{"b":[{"n":30}]}]}],"t":55}]},76],"i":[{"n":0},71],"l":[{"a":13,"e":[{"b":[{"e":177}],"r":7},3]}],"m":77,"n":[{"a":1,"e":1,"l":75}],"r":[{"e":[{"l":6}],"i":1},77],"s":77,"t":77,"u":71,"w":0}],"i":[{"m":71,"s":[{".":82,"c":[{"h":[{".":82}]}],"k":82},73]},77],"j":71,"k":[{"a":[{"l":[{"a":2}]}],"l":[{"e":73,"i":5},1],"r":86},71],"l":[{"a":71,"b":[{"e":22,"l":5}],"k":[{"s":10},4],"l":[{"a":21}],"p":23,"s":[{"c":[{"h":[{"l":5}]}],"t":6}],"t":[{"e":[{"i":48},2]}],"u":71}],"m":[{"a":178,"e":[{"r":[{"s":22}]},82],"i":[{"e":[{"n":4}]}],"l":77,"o":[{"n":[{"i":[{"e":17}]}]}],"p":[{"f":[{"e":179}]},77],"s":6,"t":[{"e":[{"r":17},2]}]}],"n":[{".":77,"d":[{"r":6}],"e":[{"n":11,"s":13},80],"f":[{"t":22},180],"g":[{"e":[{"r":[{"a":10}]},181],"l":[{"e":4},80],"r":6,"s":[{"e":4}]}],"i":76,"k":[{"e":3,"l":23,"r":6,"s":2}],"n":[{"e":182},77],"s":[{"a":41,"c":21,"e":2},77],"z":77}],"o":[{"n":71,"s":3}],"p":[{"a":71,"f":[{"e":[{"l":75}]}],"p":[{"l":6,"r":6}],"s":[{"c":21,"t":5}]}],"q":75,"r":[{"a":[{"f":5},183],"ä":0,"b":[{"l":[{"e":23}]}],"c":0,"d":[{"e":[{"s":10}]},77],"e":[{"i":104,"l":113,"m":[{"i":0},2],"n":[{"e":73},2],"r":[{"h":73}],"s":6},77],"f":[{"s":2}],"g":[{"e":1,"s":12}],"i":[{"n":[{"d":104,"t":0}]}],"k":[{"e":1,"s":2}],"m":[{"a":[{"r":[{"m":4}],"t":4}],"e":[{"e":48,"n":[{"t":4}]}],"s":2}],"o":[{"b":0,"f":0}],"ö":71,"r":[{"e":1}],"s":[{"e":[{"b":6,"h":5,"r":13},22],"i":6,"p":[{"u":1}],"t":[{"r":1},6]}],"t":[{"e":12,"h":6,"s":162},77],"ü":73,"z":[{"u":6,"w":6},75]}],"s":[{"e":[{"g":4,"i":184,"r":[{"e":[{"f":35,"i":10,"n":12}],"i":22}]},161],"k":[{"r":79}],"p":104,"s":[{"c":109,"e":[{"r":[{"k":[{"r":35}],"s":[{"a":35}],"w":4}]},2],"p":6,"t":23}],"t":[{"e":12,"h":75,"r":5},128],"u":82}],"ß":[{"e":[{"r":[{"k":0,"s":0}]}]},71],"t":[{"a":167,"e":[{"a":4,"e":13,"i":13,"l":37,"n":2,"o":22,"r":[{"b":[{"l":10}]}],"t":6},76],"i":[{"d":0}],"o":[{"b":0}],"r":86,"s":[{"a":14,"ä":6,"c":[{"h":[{"l":5,"r":5}]}],"i":125,"l":4,"o":[{"r":13}],"p":21,"t":23,"u":6}],"t":[{"e":[{"i":6,"n":10}],"r":5}],"z":[{"e":[{"l":25}],"w":6}]}],"u":[{"b":[{"l":23,"r":6},77],"c":0,"d":[{"e":[{"r":105},25]},1],"f":74,"g":[{"l":4},75],"l":77,"m":[{"a":6,"p":[{"f":19},4],"s":59},77],"n":[{"e":2,"u":1},74],"r":[{"e":48},173],"s":[{".":76,"c":[{"h":[{"i":5,"m":5}]},77],"e":[{"i":48},3],"g":82,"k":82,"n":82,"p":21,"s":[{"c":11}]}],"ß":75,"t":[{"e":2,"r":6}]}],"v":[{"i":73},71],"x":75,"z":[{"e":82},71]}],"â":[{"t":71}],"á":[{"n":71}],"b":[{"a":[{".":78,"a":73,"b":[{"a":79,"f":77,"g":77,"l":6,"r":6,"s":93}],"c":[{"h":[{"t":[{"e":185}]}],"k":[{"e":[{"r":186}],"s":159}]}],"d":[{"e":[{"i":48,"l":93},3],"l":93,"m":93,"r":72,"u":6}],"f":93,"h":[{"n":[{"e":[{"n":[{"e":26}]}]}]},78],"i":[{"d":4,"s":22}],"k":[{"a":6,"e":[{"r":21}],"i":21,"l":38,"r":23},73],"l":[{"a":[{"b":6,"k":21,"l":1,"u":6}],"e":[{"r":[{"k":14},105]}],"k":[{"a":10,"e":19}],"l":[{"e":[{"h":27,"i":27,"r":[{"g":26,"k":33}]}]}]}],"m":[{"a":86,"e":6,"t":84},93],"n":[{"a":2,"d":[{"a":[{"l":12,"n":12,"r":12},48],"e":[{"n":[{"g":26}]}],"r":2},88],"e":3,"f":77,"g":[{"l":4},71],"k":[{"a":99,"e":[{"r":102}],"l":2,"n":2,"r":2,"u":2}],"l":77,"n":[{"a":71}],"o":2,"s":93,"t":71,"w":77,"z":71}],"r":[{"a":[{"b":23,"d":6,"s":[{"t":4}],"t":6}],"d":[{"e":4}],"e":[{"i":6,"n":3,"r":[{"e":[{"i":54}],"t":19}]}],"f":10,"s":[{"c":4},187],"z":[{"w":4},71]}],"s":[{"a":1,"c":6,"i":2,"s":[{"a":12,"t":12}],"t":6},88],"t":[{"e":[{"n":[{"t":14}]}],"o":2}],"u":[{".":78,"b":4,"e":[{"r":[{"l":19,"s":19,"w":19}]}],"f":[{"l":13,"r":13}],"g":37,"k":73,"r":4,"s":[{"k":37,"t":10},13]}],"x":72,"y":[{"o":0}]}],"ä":[{"c":188,"d":88,"h":93,"l":73,"r":[{"z":77}],"s":73,"u":[{"g":77}]}],"b":[{"e":[{"n":[{"s":105},27],"p":12},82],"l":[{"e":[{".":1}],"ö":6}],"r":[{"e":[{"c":82}],"u":[{"c":22},82]}],"s":6,"u":13},189],"c":189,"d":[{"ä":[{"n":25},12],"e":[{"s":13}],"o":[{"m":[{"e":19}]}]},190],"e":[{".":75,"a":[{"b":1,"n":1,"t":[{"m":22}],"u":[{".":5},1]},78],"b":[{"b":71},78],"c":[{"h":[{"t":77}]},92],"d":[{"e":[{"l":152}],"i":10}],"e":[{"h":32,"l":[{"a":1},2],"r":[{"e":[{"i":12}],"h":0,"l":0,"t":0}],"t":[{"a":0}]}],"f":[{"f":93},12],"g":16,"h":[{"e":[{".":6}],"r":[{"i":35}]}],"i":[{"b":4,"e":[{"r":93}],"f":184,"g":[{"e":[{".":12,"l":19,"p":19}]}],"k":9,"l":[{"a":37}],"m":[{"e":93}],"n":[{"d":0,"h":[{"a":[{"l":33}],"i":10},0]}],"s":[{"c":4,"e":22,"t":184}],"t":[{"e":10,"s":[{"k":10,"p":17},22]}]}],"k":78,"l":[{"a":[{"g":1,"s":1}],"d":4,"e":[{"c":1,"k":139,"n":21,"r":[{"e":4}],"t":6}],"f":4,"i":[{"e":10}],"l":[{"a":4,"e":[{"n":191}],"i":4}],"o":[{"m":4}],"ö":[{"f":6}],"s":[{"z":4}],"t":22,"u":[{"n":12}]},78],"m":[{".":88,"a":193,"p":93,"u":[{"l":77}]},192],"n":[{"a":[{"b":[{"e":7}],"r":4,"s":5,"t":5}],"ä":6,"e":[{"i":1,"n":[{"d":14}],"r":[{"s":5}],"u":2},73],"g":78,"i":[{"d":6,"s":5}],"n":4,"p":194,"s":[{"p":[{"a":27,"r":12}],"t":19,"z":78},73],"t":[{"b":93,"d":77,"e":[{"u":84}],"f":77,"h":[{"e":[{"i":26}]},4],"r":195,"s":93,"w":76}],"u":[{"n":4}],"z":196},75],"o":0,"p":[{"i":93,"o":[{"c":77}]}],"r":[{"a":[{"k":6,"m":23,"n":6,"s":22},0],"b":[{"l":[{"a":102}]},22],"d":4,"e":[{"b":125,"c":[{"k":5}],"i":[{"w":14}],"m":22,"n":[{"e":5}],"r":[{"g":12,"w":12}],"s":[{"c":10}],"t":10}],"f":10,"g":[{"a":[{"f":27,"l":12}],"l":[{"i":12}]}],"h":[{"a":[{"b":12}]}],"i":[{"d":22,"n":[{".":12,"n":[{"e":18}],"s":19}],"o":126,"s":[{"s":4}]}],"k":[{"o":4,"r":4}],"n":[{"a":37,"e":22,"t":71}],"ö":6,"s":[{".":78,"e":35,"t":[{"a":197}]}],"t":[{"a":22,"e":22,"i":22}],"z":[{"e":4,"ö":2},22]}],"s":[{"a":[{"b":[{"b":12}],"m":2,"n":2,"p":5,"r":5,"u":2},1],"e":[{"p":6,"r":21}],"i":[{"d":21}],"p":[{"o":2}],"s":[{"a":4,"e":10,"t":[{".":82}],"z":4}],"t":[{"a":[{"b":5}],"e":[{"i":[{"n":24}],"r":[{"h":26},102]},105],"o":[{"l":198,"r":199,"s":4}],"r":[{"ä":14},10],"u":[{"r":14}]}],"u":[{"r":6}],"z":[{"e":16}]},188],"t":[{"a":[{"m":1}],"h":[{"a":1,"i":1}],"s":[{"p":2}]},78],"u":[{"n":0,"r":0}],"v":78,"w":200,"x":161,"z":88}],"f":[{"a":[{"l":[{"t":25},22]}]},201],"g":[{"a":140,"e":[{"l":[{"e":22}],"n":35,"s":10},4]},152],"h":[{"ä":140},152],"i":[{"a":[{"k":0,"r":6}],"b":[{"e":[{"r":132},22]},187],"c":6,"d":[{"o":1}],"e":[{"n":[{"s":25}],"r":[{"e":[{"s":102}]}],"s":2,"t":[{"s":22,"u":78}]}],"g":[{"a":48}],"k":[{"a":2,"e":[{".":6,"s":6}],"r":[{"e":6}]}],"l":[{"a":[{"n":[{"s":4},2]}],"d":[{"e":[{"b":12}]}],"e":[{"i":6}],"l":[{"u":84}],"u":6},78],"m":[{"p":77}],"n":[{"b":93,"e":[{"n":10},2],"f":[{"o":12},71],"g":[{"a":162}],"h":93,"o":[{"k":23,"l":12}],"t":93,"v":93}],"o":[{"i":22},23],"r":[{"i":48}],"s":[{"i":1,"o":71,"p":6,"s":[{"c":11}],"t":[{"a":1,"r":120},6]},78],"t":[{".":73,"a":73,"e":73,"i":73,"r":12,"u":6}],"z":3},75],"j":[{"e":[{"k":[{"t":[{"o":10}]}]}]},189],"k":201,"l":[{".":77,"a":[{"b":9,"c":93,"d":82,"n":[{"c":73}],"s":[{"e":[{"r":25}]}],"t":[{"t":73}],"u":[{".":73,"s":202}],"w":76}],"ä":[{"n":93,"s":[{"e":73}],"t":78}],"e":[{"a":187,"b":82,"c":78,"g":82,"h":84,"i":[{".":89,"d":76,"h":77,"n":82,"s":[{"c":25}],"t":77}],"l":4,"n":[{"k":82},2],"s":[{"e":82,"u":77,"z":9}],"t":78,"u":82},73],"i":[{"c":[{"h":77,"k":78}],"e":[{"f":77},73],"g":84,"n":[{"d":73,"g":203}],"s":[{".":77},73],"t":[{"e":82},73]}],"o":[{".":89,"c":147,"i":89,"s":82},73],"u":[{"m":147,"n":77,"s":73,"t":[{"e":[{"m":12}],"o":48},78]}],"ü":78},5],"m":93,"n":[{"a":[{"s":10}],"i":[{"s":48},2]},204],"o":[{"a":[{"s":7},5],"b":[{"e":[{"n":1}],"r":4},72],"c":[{"h":43},6],"d":3,"e":[{"i":23},13],"f":[{"e":1},93],"h":[{"e":1,"r":[{"a":2,"e":[{"r":4}]}],"u":2}],"i":[{"s":0}],"l":[{"a":[{"n":6,"u":6}],"l":[{"e":35}]}],"n":[{".":78,"a":3,"d":[{"a":2,"e":11}],"e":6,"s":78}],"o":[{"l":12,"t":[{"i":2}]}],"p":71,"r":[{".":78,"a":[{"n":2,"s":23,"u":6},0],"ä":5,"d":[{"a":2,"r":162}],"e":[{"i":6}],"i":[{"g":5}],"m":4,"s":2,"t":[{"e":[{"r":12}],"r":[{"a":[{"t":46}]}]},71],"u":[{"h":5}]}],"s":[{"c":6,"e":1,"p":14,"t":4}],"t":[{"e":[{"n":[{"e":159}]}],"h":1,"s":[{"t":2}],"t":35},78],"x":[{"o":6}],"z":71}],"ö":[{"b":23,"f":77,"l":[{"k":25},93]}],"p":[{"a":[{"g":2}]},205],"q":93,"r":[{".":77,"a":[{".":89,"d":76,"h":207,"k":95,"s":[{"t":19}],"t":[{".":76,"e":[{"r":[{"g":26},208]}],"g":76}]}],"ä":[{"d":84,"u":12},78],"e":[{".":77,"c":[{"h":[{"t":[{"e":209}]}]}],"d":76,"f":76,"g":77,"i":[{"f":82}],"k":77,"l":[{"i":132}],"m":89,"n":[{".":89,"t":76}],"o":77,"p":76,"r":89,"s":[{".":89,"t":82}],"t":[{"t":[{"e":[{"n":58}]}]},89],"z":89}],"i":[{"d":[{"a":2}],"e":[{"f":[{"a":10}],"m":76,"n":89,"r":2,"s":82}],"g":[{"k":77}],"n":[{"a":89,"d":76}],"o":89,"s":[{"c":89}],"t":[{"t":82}]}],"o":[{"b":22,"h":76,"l":76,"m":[{"a":2}],"n":89,"s":[{"t":76}],"t":[{"r":12,"t":159}],"u":76}],"ö":147,"u":[{"c":89,"f":77,"m":89,"n":[{"d":76}],"s":[{"t":17},10],"t":[{"h":2}]}],"ü":[{"b":106},78]},206],"s":[{"a":[{"d":104,"m":[{"b":1,"t":128},6],"u":[{"r":22}]}],"ä":[{"r":128,"u":79}],"c":[{"h":[{"a":[{"n":89}],"e":[{"f":164}],"i":6},22],"o":89,"u":6},82],"e":[{"b":2,"l":[{".":82}],"n":[{".":82,"t":104},11],"r":[{"f":0,"g":0,"i":[{"n":210}],"k":0,"s":0}],"s":79}],"i":[{"m":73,"t":12}],"k":[{"i":89,"u":6}],"o":[{"f":104,"h":79,"l":82,"p":89,"r":2}],"ö":73,"p":[{"i":79,"l":6,"u":6}],"s":2,"t":[{"a":[{"b":100,"k":13,"n":[{"k":4}],"s":41}],"ä":[{"t":1},82],"e":[{"m":[{"i":4}],"r":13}],"h":13,"i":[{"n":[{"k":4}],"p":73}],"o":[{"b":89,"d":89,"l":5,"r":89},82],"ö":82,"r":[{"a":[{"c":89}],"ä":86,"e":[{"u":128}],"i":5,"o":4}],"ü":[{"b":89},82]},6],"u":[{"n":104}],"z":[{"e":[{"p":6}],"i":6}]},93],"t":[{"a":[{"s":[{"t":[{"r":17}]},2]},79],"e":140,"h":104,"i":[{"s":2},6],"r":[{"a":[{"n":105}]},5],"s":2,"ü":211},189],"u":[{"c":[{"h":[{"e":[{"c":5,"r":[{"s":212},102]},19],"i":6,"s":[{"p":159}]}]}],"e":23,"f":6,"g":[{"r":6},4],"l":[{"l":[{"a":162}]}],"m":[{"f":77,"k":76,"l":77,"r":76}],"n":[{"a":12,"d":[{"e":[{"r":27,"s":19}]}],"e":71,"g":[{"n":171},10],"h":93}],"r":[{"c":13,"e":73,"g":[{"a":[{"n":12,"r":12},48],"i":[{"n":12}],"r":2},73],"i":3,"n":77,"s":[{"a":82}],"t":[{"s":17}]}],"s":[{"a":6,"c":[{"h":[{"a":4,"e":[{"i":24,"l":213},1],"w":17}]},6],"h":[{"i":1}],"i":[{"n":6}],"p":21,"t":[{"e":[{"r":102}]}],"u":6}],"t":[{"a":2,"o":[{"r":[{"e":25}]}]}]}],"ü":[{"b":77,"c":0,"g":[{"e":[{"l":[{"e":17}]}]}]}],"v":93,"w":214,"y":[{"a":2,"o":2,"p":3,"s":12},188],"z":[{"e":[{"i":[{"t":132}]},140]},205]}],"c":[{"a":[{"b":[{"l":1},12],"c":215,"e":23,"g":3,"h":0,"l":[{"a":[{"b":25},2],"f":162,"t":4}],"m":78,"n":[{"a":25},77],"p":[{"e":6}],"r":[{"n":136,"r":[{"i":132}],"s":2}],"s":[{"a":216,"t":[{"o":35}]}],"t":[{"h":3}],"y":32},85],"ä":[{"s":2},1],"b":71,"c":[{"e":71,"h":217},77],"d":[{"o":82},218],"e":[{"c":77,"d":[{"r":6},75],"f":77,"i":[{"n":1},0],"k":77,"l":[{"s":78}],"n":[{"a":4,"u":[{"n":4},1]}],"o":2,"r":[{"a":4,"e":[{"u":25},48],"i":[{"s":5},3],"o":0},75],"s":[{"h":16}],"t":[{"a":[{"m":13},22]},75],"u":0}],"é":75,"f":71,"g":115,"h":[{".":84,"a":[{"b":[{"i":216},77],"c":[{"k":2}],"f":77,"g":219,"k":127,"l":[{"l":[{"e":[{"i":58}]}]}],"n":[{"a":10,"c":78,"f":25,"g":0,"l":84,"z":84}],"o":78,"r":[{".":84,"a":78,"d":78,"t":[{"a":78}]}],"s":[{"c":2,"i":132}],"t":[{"o":75,"t":77}],"u":[{"s":[{"t":[{"r":7}]}],"t":25}]}],"ä":[{"h":0,"r":[{"m":0}],"s":0}],"â":75,"b":77,"c":77,"d":77,"e":[{"b":[{"e":[{"n":16}]},9],"c":[{"h":[{"t":1}]}],"d":[{"i":0}],"e":[{"l":2}],"f":[{".":78,"e":[{"r":12}],"s":78},75],"h":77,"i":[{"m":0},77],"l":[{"e":[{"m":84,"r":12}]}],"m":[{"i":78,"p":77}],"n":[{"e":[{"b":12}],"i":[{"d":12}],"o":2,"t":[{"s":84,"w":84}]}],"r":[{"a":162,"b":[{"s":220}],"g":[{"e":[{"b":221}]}],"k":[{"e":84}],"z":[{"i":[{"e":33}]}]}],"s":[{"s":57,"t":55}],"t":[{"a":222}],"x":223}],"é":75,"f":77,"g":77,"h":77,"i":[{"a":75,"n":[{"a":4,"d":84,"e":[{"s":78}],"f":77,"h":77,"s":127,"t":127,"v":127}],"p":[{".":75}],"r":[{"u":75}],"s":[{"o":77}]}],"j":77,"k":77,"l":[{"e":[{"i":[{"n":1},22],"n":5},6],"i":84,"u":6},158],"m":224,"n":[{"e":[{"r":[{"e":[{"i":[{".":175}]}]}]}]},225],"o":[{"b":77,"f":[{"f":0,"s":10},2],"h":0,"l":[{"a":37}],"r":[{"c":0,"e":[{"i":12}],"i":0}],"s":6}],"ö":[{"l":1,"r":78}],"p":77,"r":[{"a":[{"d":1},77],"e":77,"h":1,"i":[{"t":84}],"o":[{"m":[{"o":78}],"n":78,"s":7}]},226],"s":[{"p":[{"o":6}],"t":[{"a":[{"l":5}]}]},84],"t":[{"r":[{"u":6}]},77],"u":[{"f":77,"h":77,"m":77,"n":[{"f":127,"m":77,"t":77}],"r":[{"s":0},77],"t":[{"t":10},77]}],"ü":84,"v":77,"w":84,"y":75,"z":77},73],"i":[{"c":0,"e":[{"s":0}],"n":[{"d":71,"s":22,"t":71}],"s":21,"t":91}],"j":71,"k":[{".":84,"a":[{".":75,"b":108,"c":108,"d":6,"g":227,"l":77,"m":2,"n":77,"p":77,"r":99,"t":75},114],"ä":0,"b":77,"c":77,"d":77,"e":[{"c":108,"f":[{"f":84},127],"h":127,"i":228,"m":[{"p":77}],"n":[{"a":12,"s":[{"e":[{"m":221}]}],"t":[{"f":84,"w":84}]}],"r":[{"a":2,"e":6,"g":[{"e":[{"b":221}]}],"h":[{"ö":229}],"k":19,"l":[{"a":[{"u":33}]}],"n":6,"o":108,"r":0,"z":[{"e":[{"u":221}]}]}],"s":[{"e":84}],"t":6,"x":84},75],"f":77,"g":77,"h":77,"i":[{"d":219,"n":[{"t":84},0],"s":230},75],"k":77,"l":107,"m":77,"n":231,"o":[{"s":[{"t":33}]},173],"ö":3,"p":77,"r":107,"s":[{"a":[{"l":2}],"p":[{"e":[{"n":5}]}]},84],"t":[{"e":1,"i":3},77],"u":[{"h":127,"m":0,"n":[{"t":77}],"p":127},75],"ü":77,"v":77,"w":77,"y":75,"z":77},73],"l":[{"e":[{"a":12,"t":10}],"i":[{"n":[{"g":22}],"p":[{"a":25},11]}],"o":[{"c":[{"k":2},13],"f":4}],"u":[{"b":12},75]},218],"m":[{"e":82,"u":82},218],"o":[{"c":[{"h":1},6],"d":[{"i":1},232],"f":[{"f":37}],"i":[{"t":0},12],"k":[{"e":6}],"l":[{"a":121,"e":[{"u":6}],"o":3}],"m":[{"t":[{"e":[{".":12,"s":102}]}]}],"n":[{"n":[{"e":2}]}],"o":[{"p":13},6],"p":0,"r":[{"a":0,"d":[{"a":2}],"e":5,"t":4}],"s":[{"t":4}],"t":[{"e":5}],"u":[{"s":[{"i":4}]}]},85],"ô":5,"p":77,"q":93,"r":[{"ä":82,"e":[{"m":[{"e":[{"s":12}]}],"w":78},234],"i":77,"o":[{"s":10}],"y":77},233],"s":[{"a":6,"f":5,"i":89,"t":[{"i":72,"r":115},2]},77],"t":[{"i":[{"o":[{"n":17},235]},2],"u":[{"r":33}],"z":164},214],"u":[{"a":77,"e":6,"p":[{"e":13},23],"s":[{"s":[{"i":19}]}]},236],"w":71,"x":77,"y":75,"z":71}],"d":[{"a":[{".":78,"a":0,"b":[{"a":[{"k":79}],"ä":73,"e":[{"n":79},73],"i":79,"l":[{"u":1}],"o":79,"r":[{"a":12,"i":[{"e":1},6],"ü":237}]},93],"c":[{"h":[{"a":25,"o":6,"s":[{"e":106}]}]},71],"d":[{"e":6,"o":6,"r":226},93],"f":[{"f":77,"l":120,"o":[{"n":10}]},71],"g":[{"i":10,"o":2},71],"h":[{"l":4},0],"i":[{"l":55,"n":0,"r":93,"s":0}],"k":[{"r":[{"o":6}]}],"l":[{"a":[{"r":152},2],"b":37,"l":189,"o":[{"p":6}],"ö":1,"p":93,"t":[{"e":77},238],"ü":0}],"m":[{"e":[{"i":6}],"m":[{"a":71,"ä":189}],"o":25,"p":[{"f":[{"e":[{"r":[{"f":239}]}]}]},73],"t":189},78],"n":[{".":88,"a":[{"n":6,"t":240},71],"b":77,"c":[{"e":[{".":12}]}],"d":[{"a":77,"y":73},241],"e":[{"i":106},78],"f":77,"g":71,"h":77,"k":[{"l":2,"o":11,"r":2}],"l":77,"n":[{"a":77},71],"o":72,"s":93,"t":[{"w":77}],"w":77,"z":[{".":73,"i":77,"ü":77},71]}],"p":[{"a":73,"h":73,"o":[{"s":1},6],"p":84,"t":[{"e":82}]},93],"q":84,"r":[{"a":41,"b":154,"c":76,"d":[{"e":11}],"e":[{"n":132},22],"g":4,"k":[{"a":22}],"l":78,"m":[{"a":11,"i":11,"u":12}],"o":23,"s":78,"t":[{"h":2,"r":2},93],"u":6,"z":71}],"s":[{"h":1,"p":238,"s":4,"t":12},32],"t":[{"e":[{"i":1,"l":243,"n":10},242],"h":6,"l":76,"m":84,"o":82,"s":[{"t":2}],"t":[{"a":76}]}],"u":[{"b":78,"d":77,"e":[{"r":[{"e":[{"i":33},17]}]},37],"f":244,"g":76,"k":77,"n":[{"t":1}],"s":245,"ß":2}],"w":78,"x":71}],"ä":[{"c":78,"g":93,"h":93,"m":[{"t":93}],"n":[{"a":4,"d":93}],"p":93,"q":77,"r":[{"z":77}],"u":[{"s":1},152],"x":77}],"b":[{"a":[{"u":[{"c":[{"h":247},22]}]}],"e":[{"e":2}],"u":[{"c":2}]},246],"c":[{"h":82},77],"d":[{"a":82,"ä":82,"e":82,"h":82},248],"e":[{"a":[{"d":2,"r":1,"t":3}],"b":[{"ü":78},12],"c":[{"a":[{".":5}],"k":[{"a":6}]},0],"d":[{"e":[{"l":6}],"i":[{"t":6}]}],"e":223,"f":[{"a":[{".":6},12],"f":93,"l":12}],"g":[{"e":[{"n":[{"e":249}]}],"l":1},2],"h":[{"a":2,"e":22,"n":78,"o":1,"r":93}],"i":[{"c":88,"d":[{"e":[{"n":16}]}],"l":1,"m":[{"e":84},88],"n":[{"d":22,"s":[{"e":1,"t":[{"a":33,"i":33},1]}],"w":106}],"o":1,"s":[{"e":77,"m":114,"p":2}]},71],"k":[{"z":77}],"l":[{"a":[{"c":21,"d":[{"e":12}],"k":1,"u":[{"g":14}]}],"ä":[{"n":[{"d":4}]}],"b":37,"d":4,"e":[{"c":13,"g":87,"i":[{"g":19}],"k":77,"m":77,"n":6,"r":[{"r":19},105]}],"f":[{".":77,"m":77}],"i":[{"k":78}],"l":[{"a":[{"u":25},2],"ä":11,"e":[{"b":27,"i":12,"r":27},105]}],"o":[{"b":21,"p":6}],"s":[{"e":2,"o":2,"p":11}],"t":9}],"m":[{"a":[{"r":2}],"b":93,"e":[{"n":[{"t":[{"g":24,"s":35},102]}]}],"i":[{"n":1}],"o":[{"t":93}],"p":93,"u":73}],"n":[{".":89,"a":[{"m":2}],"d":22,"e":[{"d":125,"n":[{"d":14}],"p":6,"r":[{"g":84}],"s":3}],"g":[{"e":[{".":250}]}],"i":6,"k":[{"l":[{"i":25}]}],"s":[{"a":[{"m":10}],"c":[{"h":[{"o":26}]}],"e":[{"m":225,"r":[{"e":26}]},105],"t":[{"a":[{"u":46}]}]}],"t":[{"d":77,"f":77,"g":77,"h":4,"n":77,"w":77,"z":77}],"z":[{"e":[{"r":[{"s":26}]}]}]}],"o":[{"b":6,"l":77}],"p":[{"l":12,"o":[{"c":77}]}],"r":[{".":89,"a":[{"f":4,"k":6,"n":[{"d":1},22],"p":23,"s":[{"i":14},251]}],"b":[{"l":2,"s":189}],"d":[{"b":77}],"e":[{"b":125,"c":[{"k":5}],"i":[{"s":39}],"m":252,"n":[{"d":14},89],"r":[{"f":12,"n":17,"o":4,"t":19,"z":[{"e":15}]},252],"s":252,"u":23}],"f":[{"l":89},10],"h":[{"e":[{"b":82}],"ü":73}],"i":[{"d":23,"n":[{"f":19,"n":[{"u":24}],"t":[{"e":[{"g":175}]}]}]}],"k":[{"l":[{"ä":84}]},37],"m":73,"o":0,"ö":22,"r":4,"s":[{"t":[{"a":4},105]}],"t":[{"e":[{"n":[{"d":[{"e":[{".":45}]}]}],"r":[{"e":29}]}],"r":[{"a":[{"g":[{"e":52},221]},10]}]}],"u":[{"h":5,"m":5},87],"z":[{".":93,"v":93}]}],"s":[{".":73,"a":[{"h":13,"m":5},6],"ä":[{"n":21}],"e":[{"b":6,"h":110,"i":[{"l":5},6],"l":[{"t":4},93],"m":1,"n":[{"d":16,"e":17}],"t":6}],"i":[{"n":6}],"o":[{"r":6},13],"p":[{"e":1,"u":1},21],"s":[{"t":10},22],"t":[{"a":[{"l":[{"t":55}]}],"e":[{"m":[{"p":26}],"r":[{"n":7}],"x":12}],"o":0,"r":[{"a":[{"t":55}],"i":1}],"u":[{"m":12}]}],"u":[{"n":13},6],"w":78}],"t":[{"a":1,"e":[{"n":[{"t":19}]}],"h":152,"w":93},2],"u":[{"l":93,"n":0,"r":[{"l":0}],"s":1}],"v":[{"i":[{"d":152,"l":105}]}],"x":[{"a":32,"e":[{"r":6}],"i":[{"s":6}],"p":[{"e":77,"o":77}]}]},75],"f":253,"g":[{"a":[{"s":[{"t":[{"r":25}]}]}],"e":[{".":73,"r":22,"s":[{"h":73},4],"t":[{"a":162,"e":99}]}]},152],"h":[{"a":[{"s":184}],"o":84,"u":82},152],"i":[{"a":[{"p":5,"s":254,"t":[{"h":5},10]}],"c":[{"e":0,"h":[{"l":1,"t":[{"e":[{"r":15}]}]}],"k":[{"e":[{"l":186}]}],"o":243},78],"d":[{"a":78,"e":[{"e":77,"n":6},71],"y":77}],"e":[{"d":16,"n":[{"b":1,"e":[{"b":12,"r":[{"l":29}]}],"i":3,"s":[{"t":[{"r":53}]}]}],"p":2,"r":[{"s":[{".":1}]}],"s":[{"c":48}],"t":[{"h":16}]},6],"f":78,"g":[{"e":[{"s":22}],"n":12},78],"k":[{"a":2}],"l":[{"s":162}],"m":[{"b":93,"p":77}],"n":[{"a":12,"d":93,"e":3,"f":93,"g":78,"h":93,"i":1,"j":93,"k":93,"s":93,"t":76,"v":93}],"o":[{"b":23,"n":[{"i":[{"n":25}],"s":159}],"r":[{"a":1}],"s":[{"k":6},22]}],"p":[{"t":1},32],"r":[{"a":72,"e":[{".":5,"n":6}],"i":[{"n":6,"s":6}],"l":93,"r":93}],"s":[{"a":125,"o":93,"p":[{"e":[{"r":16}]},6],"r":93,"t":[{"a":120,"e":23,"r":[{"a":5}]},22],"z":5}],"t":[{"a":6,"e":[{"c":48,"r":[{"l":14,"m":14,"s":14}]}],"h":[{"e":0}],"i":[{"n":6}],"o":[{"b":6}],"r":14,"s":4,"u":21}],"v":47,"z":3},75],"j":[{"a":[{"r":73}]},93],"k":205,"l":[{"a":[{"g":4,"p":10},82],"e":[{"r":[{"a":2}]},82],"i":[{"f":12}],"m":1,"s":1},248],"m":161,"n":[{"i":[{"s":48},2]},243],"o":[{"a":[{"t":7}],"b":[{"a":88,"s":2},93],"f":[{"e":6},71],"h":[{"a":1},93],"l":[{"e":10,"l":[{"a":4},22],"y":79}],"m":[{"a":[{"l":6,"r":6}],"e":[{"n":132}],"i":[{"n":[{"g":5}]}],"n":84,"u":6},78],"n":[{"a":[{"n":1},2],"i":[{"e":48}],"y":84}],"p":[{"e":77,"f":93}],"r":[{"a":120,"c":93,"d":93,"f":[{"a":11,"ä":2,"i":11,"l":2,"o":2,"r":2,"u":162}],"g":93,"n":73,"t":[{"e":[{"r":12}],"r":12},77]}],"s":[{".":73,"m":76,"s":4,"t":[{"a":25,"e":[{"n":102}],"u":5},99]},217],"t":[{"a":1,"o":[{"f":6}]}],"u":[{"n":1}],"w":[{"s":2}],"x":167}],"ö":[{"d":6,"f":6,"l":[{"l":22},13],"n":73,"r":88,"s":[{"c":21}]},71],"p":[{"a":[{"s":[{"s":17}]}],"o":[{"l":[{"n":10}],"s":[{"t":132}]}]},243],"q":93,"r":[{"a":[{".":147,"b":147,"d":106,"h":[{"m":77}],"k":76,"l":147,"m":[{"p":82}],"n":[{"d":82,"k":25}],"s":[{"t":76}],"t":[{"i":[{"n":12}]}],"u":[{"b":77,"c":76,"f":89,"m":77,"p":77}]}],"ä":[{"d":77,"h":89,"t":76,"u":76}],"e":[{".":84,"a":[{".":89,"s":89},76],"c":[{"k":147}],"f":76,"g":84,"h":[{"a":2},147],"i":[{"c":76,"e":147,"v":89}],"j":89,"l":[{"i":132}],"m":84,"n":106,"o":89,"p":106,"r":106,"s":[{".":84,"c":89,"s":[{"e":[{"i":33,"l":33}]}]}],"w":89,"z":77}],"h":76,"i":[{"a":89,"c":106,"e":[{"g":82}],"f":[{"f":106,"t":89},78],"n":[{"d":106}],"p":76,"s":[{"i":76,"s":77}],"t":[{"u":76}]}],"o":[{"b":76,"d":82,"g":[{"g":77}],"h":[{"r":77,"u":147}],"l":[{"l":76}],"s":[{"e":76,"s":89,"t":76}],"t":76,"u":76,"v":76,"w":82}],"ö":[{"s":[{"c":2}]}],"u":[{"b":140,"c":147,"d":76,"h":76,"t":255}],"ü":[{"b":13,"c":[{"k":[{"e":35}]}],"s":147}]},206],"s":[{".":84,"a":[{"b":1,"d":104,"l":[{"k":73,"l":73},0],"m":[{"t":114}],"n":[{"e":1},73],"s":[{"s":[{"i":1}]}],"u":[{"t":73},22]},84],"ä":[{"n":0,"u":6}],"b":84,"c":[{"h":[{"e":[{"f":89}],"i":[{"n":89}]}],"o":124,"r":73}],"e":[{"b":113,"e":2,"f":104,"h":[{"r":0}],"i":[{"g":[{"n":5}],"n":73}],"m":[{"b":104}],"n":[{"e":[{"r":25}],"g":104,"t":104}],"r":[{"f":104,"h":73,"k":104,"l":104,"r":0,"s":104,"t":104,"z":73}],"t":[{"a":104},12],"v":104,"x":73}],"h":[{"a":[{"k":6,"l":89},256],"o":[{"r":89},82]}],"i":[{"d":73,"m":104,"n":[{"f":79}]},84],"k":[{"a":[{"l":6}],"e":[{"l":79}],"o":89}],"l":[{"i":89},84],"o":[{"h":82,"p":73,"r":[{"i":0},2]}],"ö":73,"p":[{"a":[{"s":0,"t":104}],"ä":73,"e":[{"c":104,"n":6,"r":[{"i":89}]}],"h":86,"i":79,"o":[{"r":[{"t":[{"o":164}]},6]}],"r":[{"i":82,"o":73}],"u":6}],"s":12,"t":[{"a":[{"g":89,"s":73,"u":[{"f":1}]}],"ä":[{"t":[{"i":128}]}],"e":[{"c":82,"i":[{"l":89},82],"l":[{"l":140}],"m":89,"n":89,"r":[{"n":124}]},73],"i":[{"l":5},6],"o":[{"c":[{"h":89}],"l":5}],"r":[{"e":[{"i":140}],"o":124}],"u":[{"r":6}]},2],"u":[{"m":2,"n":73,"r":[{"l":0}]}],"z":[{"e":[{"n":6}]}]},93],"t":[{"a":[{"b":[{"e":2}],"c":[{"h":17},79],"d":2,"g":6,"n":[{"e":1},2],"s":79,"x":6}],"e":[{"a":140,"m":[{"o":4}],"t":6}],"h":[{"e":[{"i":89}]},73],"o":[{"b":89,"p":6},257],"ö":82,"r":[{"a":[{"n":105}]},1],"s":[{"a":1,"t":7}],"t":12,"u":[{"n":6,"r":79}],"ü":82,"y":82},93],"u":[{"a":[{"l":[{"v":0}],"r":0}],"b":[{"l":[{"i":23}]}],"c":[{"e":0}],"e":[{"l":[{"l":[{"a":25}]}]}],"f":[{"e":93,"t":[{"e":[{"r":12}],"o":12,"r":2}]},6],"h":93,"i":[{"n":6},0],"k":[{"r":6}],"l":[{"a":[{"r":[{"t":4}]}]}],"m":[{"b":93,"d":77,"e":258,"f":77,"g":77,"k":106,"l":77,"p":73,"r":77,"s":[{".":73},93],"v":93}],"n":[{"d":76,"f":93,"g":[{"l":77},10],"i":93,"k":[{"e":4,"l":2}],"r":77,"s":[{"i":77,"t":[{"r":17}]},2],"t":77,"w":77,"z":76},6],"o":[{"s":0}],"p":12,"r":[{"a":[{"u":4}],"c":[{"h":17}],"k":93,"l":93,"n":93,"s":[{"a":93}],"t":259},2],"s":[{"c":[{"h":[{"n":5,"r":5,"w":260}]}]}]},75],"ü":[{"b":[{"e":[{"r":82}]},77]},75],"v":152,"w":[{"a":[{"r":12},2],"e":[{"r":[{"t":[{"e":25}]}],"s":[{"t":132},22]}]},93],"y":[{"l":21,"m":4,"n":78,"s":[{"c":21,"p":6}]},75],"z":243}],"e":[{"a":[{"b":[{"e":6,"l":23,"r":5}],"c":6,"d":[{"l":[{"i":19}],"r":79}],"g":[{"a":57,"l":16},6],"k":[{"t":[{"a":73,"o":82},22]}],"l":[{"a":6,"e":[{"i":82,"m":89,"n":[{"t":14,"z":19}],"r":[{"g":124},105],"x":82}],"i":[{"n":79}],"o":[{"n":6,"p":6},13],"t":[{"i":261,"r":4}],"u":118}],"m":[{"e":237,"o":13,"t":22},4],"n":[{"a":[{"r":37},5],"f":82,"o":73}],"r":[{".":82,"a":[{"t":1},6],"e":[{".":89,"i":21,"n":[{"e":5}],"r":89,"s":89},73],"o":6,"z":82}],"s":[{"c":79,"f":82,"i":[{"n":19}],"p":5,"s":4}],"t":[{"e":[{"r":132},22],"m":[{"e":[{"s":12}],"u":[{"n":12},2]}],"r":7,"s":37,"t":262,"u":22}],"u":[{"e":82,"f":[{"e":2,"l":12,"o":89},82],"n":4}],"v":73,"z":73},93],"ä":79,"b":[{"a":[{"k":82,"p":2},77],"ä":[{"n":82}],"e":[{"c":77,"e":[{"r":13}],"i":[{"n":[{"h":63}]}],"l":[{"e":[{"r":12}],"o":2,"s":[{"t":[{"e":55},19]}]},6],"n":[{"e":[{"n":247}]}],"r":[{"a":[{"s":12}],"t":19}],"s":[{"e":[{"h":27},105],"o":2}],"t":[{"s":10},77]}],"h":77,"i":77,"l":[{"ä":82,"e":[{".":1,"r":1,"u":5}],"i":[{"e":82}],"o":1,"ö":6},77],"o":[{"b":73,"t":22},77],"ö":[{"s":2}],"r":[{"a":[{"u":140}],"e":[{"a":5}]},77],"s":[{"c":[{"h":[{"e":5}]}],"e":22,"p":[{"a":[{"n":[{"n":[{"e":263}]}]}]}],"t":[{"a":[{"u":4}],"ä":[{"t":5}],"e":[{"m":4}],"h":37,"i":4,"r":1}]},21],"u":[{"n":[{"t":73}],"t":162},77],"y":[{"t":12}]},71],"c":[{"a":76,"e":76,"h":[{"a":[{"m":13}],"ä":13,"e":[{"i":13,"n":264,"r":[{"z":[{"i":265}]}]},93],"i":71,"l":4,"m":4,"n":4,"o":[{".":73}],"ö":37,"r":[{"i":12},4],"s":[{"e":[{"r":10}],"t":[{"r":[{"e":54}]}]}],"t":[{"a":[{"b":4}],"e":[{"i":9,"r":[{"h":[{"a":64},26]}]}]}],"u":71,"w":13,"z":77}],"i":[{"a":2},71],"k":[{"e":[{"n":160,"r":[{"r":89}]}],"s":[{"e":[{"r":4}],"t":[{"a":12}]}],"t":[{"y":78},77]},5],"l":93,"o":77,"r":76,"s":0,"t":77}],"d":[{"a":6,"d":[{"r":6}],"e":[{"a":[{"l":2}],"n":[{"e":[{"r":9}],"s":[{"a":10,"e":10,"p":10},132]}],"o":22,"r":[{"a":[{"t":4},25],"t":266},2],"s":[{"t":22}]},5],"i":[{".":82,"p":77,"t":[{"e":[{"n":[{"g":26}]}]}]},6],"o":79,"ö":6,"r":[{"e":[{"i":82}],"ö":5}],"s":[{"a":[{"l":6}],"e":[{"h":5,"s":21}],"i":6,"o":21,"p":21,"t":[{"o":6,"r":23}],"u":21}],"u":[{"n":[{"d":105},25]}],"y":[{"s":10},171]},71],"e":[{"a":16,"b":[{"l":2}],"c":[{"e":5,"h":[{"o":6}],"k":72},0],"d":[{"e":[{"s":48},25],"s":37}],"e":32,"f":[{"f":71,"l":12}],"g":12,"i":[{"e":23,"n":[{"s":[{"e":10}]}],"s":[{"c":12,"s":25}]},71],"l":[{"a":73,"e":[{"k":79,"n":10},2],"ö":2}],"m":[{"a":167,"b":71,"i":[{"n":1}],"p":71}],"n":[{"a":[{"g":22}],"ä":73,"c":73,"e":13,"g":82,"i":1,"k":82,"l":82,"o":156,"s":4,"z":2},71],"o":1,"p":[{"o":1},73],"r":[{"a":[{"t":12}],"b":[{"t":71}],"d":71,"e":[{"i":13,"n":[{"g":39}],"s":242,"t":[{"i":4},22]},1],"m":[{"ä":71}],"o":0,"ö":[{"f":71,"s":2},0],"u":[{"n":3}],"z":71}],"s":[{"h":1,"k":4,"p":1,"t":16},32],"t":[{".":73,"a":[{"t":5},3],"h":6,"i":2,"r":16,"u":6}],"u":32,"w":[{"a":[{"r":10}]}],"x":72},77],"f":[{"a":[{"d":104,"h":82,"n":[{"a":0}],"r":[{"c":73,"m":1},0],"t":73}],"ä":[{"l":6,"u":73},77],"e":[{"b":113,"f":82,"l":[{"e":[{"i":27}]}],"m":[{"i":73},0],"n":[{"e":188,"t":73},11],"r":[{"f":55,"i":[{"n":[{"d":29}]}]}],"u":[{"i":[{"l":102}]}]},77],"f":[{"e":[{"k":78}],"i":75,"l":[{"u":1},6]}],"i":[{"d":0,"n":[{"s":104}],"s":2},77],"l":[{"e":5,"u":124,"ü":82},77],"o":161,"r":[{"e":[{"i":[{"h":5}]}],"o":[{"l":1,"m":1}],"u":5,"ü":5},77],"s":[{"c":12,"o":1,"p":1},2],"t":[{"a":[{"n":6}],"e":[{"i":6}],"r":[{"o":6}]}],"u":[{"m":73},77]},71],"g":[{"a":[{"m":2,"n":[{"z":79}]}],"d":12,"e":[{"i":[{"n":17}],"l":[{"a":[{"n":12,"u":27}],"e":[{"i":[{"e":[{"r":267}]}],"r":12}],"o":2}],"n":[{"a":99,"e":[{"r":[{"o":26}]}]},6],"r":[{"a":2}],"s":[{"t":[{"a":[{"l":35}],"r":27}]}],"u":13},82],"i":77,"l":[{"o":73,"u":73},77],"n":[{"ä":1,"i":1},73],"o":[{"p":13}],"s":[{"a":[{"l":5,"u":[{"g":17}]}],"e":[{"i":5,"l":25},1],"i":1,"k":5,"t":[{"o":5},22]}],"t":[{"h":6}],"u":[{"n":[{"g":19}],"s":25}]},71],"h":[{"a":[{"c":[{"h":0}],"d":[{"e":6},0],"h":79,"l":[{"t":[{"s":19}]},6],"n":[{"d":82}],"r":[{"z":73}],"u":[{"t":82}]},93],"ä":71,"e":[{"f":[{"f":0}],"i":[{"n":0}],"l":[{"t":0}],"n":[{"s":[{"e":89}],"t":[{"e":128,"r":33}]}],"o":4,"p":85,"r":[{"a":13,"f":117,"l":117},77],"s":[{"t":[{"r":4}]}]},71],"i":[{"m":1},93],"l":[{"a":[{"m":0,"u":23}],"ä":0,"e":[{"i":[{"n":4}],"n":[{"t":5}],"r":47}],"o":[{"r":13},22],"ö":6,"s":[{"e":2,"t":22}]}],"m":[{"a":[{"b":6,"n":[{"t":5}]}],"u":1},77],"n":[{"a":1,"o":1}],"o":[{"f":2,"l":[{"y":1},2]},93],"ö":[{"r":[{"e":[{"r":12}]}]},76],"r":[{"a":125,"ä":13,"e":[{"c":100,"i":6,"l":6,"r":[{"l":[{"e":26}],"n":12}],"s":25}],"i":[{"n":5}],"o":[{"c":0,"f":13}],"ö":0}],"s":[{"h":1,"t":[{"e":0}]},2],"t":[{"h":4,"r":12},173],"u":[{"m":73,"n":[{"f":0,"i":73}],"r":82},93],"ü":[{"b":1},71],"w":0,"y":71}],"i":[{"a":[{"t":12},173],"b":[{"a":[{"r":6}],"l":[{"i":6,"u":5}],"u":[{"t":[{"e":14},10]}]}],"c":[{"e":0,"h":[{"o":6}]},89],"d":[{"a":21,"e":[{"i":[{"s":5}],"r":[{"r":[{"e":35}]}]},1],"n":77,"o":1,"r":1},73],"e":[{"b":2,"d":2,"l":3,"m":2,"n":[{"g":[{"e":102}]},268],"s":1,"t":2},0],"f":[{".":84,"l":[{"o":0}],"r":75,"t":4}],"g":[{".":77,"a":[{"r":2},77],"ä":77,"e":[{".":77,"b":77,"h":77,"n":[{"o":84,"s":[{"c":194}]}],"r":269,"s":77,"w":77}],"i":77,"n":270,"o":6,"r":[{"a":[{"t":14}],"e":77,"ö":77,"u":77,"ü":77}],"s":77,"t":77,"u":77}],"h":[{"u":[{"m":6}]},84],"k":[{"a":[{"b":6,"k":6,"m":12,"r":2}],"i":2,"l":[{"a":16,"ä":1},2],"o":2}],"l":[{".":84,"a":[{"b":14,"m":6,"n":[{"e":14,"g":5,"z":5},22],"r":6}],"b":77,"d":9,"e":[{"i":[{"n":5}],"n":163,"t":6}],"f":9,"m":22,"o":[{"b":6}],"ö":2},73],"m":[{".":77,"a":[{"b":6,"g":21,"l":[{"l":4,"p":4}]}],"o":[{"r":21}],"ö":77,"p":[{"l":271},77],"s":[{"a":4}],"u":[{"r":6}]}],"n":[{"a":[{"d":110,"e":5,"n":14,"s":49,"t":14},272],"ä":23,"d":[{"e":[{"r":[{"k":26}]},37],"u":71}],"e":[{"b":77,"n":[{"e":19,"g":39,"s":[{"e":273}]}],"r":[{"b":[{"e":35}],"f":5,"k":5,"l":[{"a":274}],"s":[{"c":15}]}],"u":6}],"f":[{"i":[{"z":12}],"o":[{".":12,"s":12},77]}],"g":[{"e":[{"r":78}],"r":73},37],"h":[{"ä":73}],"i":[{"e":6,"t":71}],"k":[{"a":[{"r":[{"n":26}]}],"ä":78},9],"l":73,"n":[{"a":78},37],"o":125,"r":[{"i":75}],"s":[{"a":[{"t":78},164],"c":[{"h":[{"ä":194}]},73],"t":[{"a":[{"l":26}]}]}],"t":[{"e":[{"r":[{"v":26}]}],"ö":78}],"u":75}],"o":[{"p":2,"s":12},1],"p":[{"f":2},0],"r":[{"c":2,"e":1,"r":71},77],"s":[{".":89,"a":[{"s":1},6],"c":[{"h":[{"w":[{"u":24}]}]}],"e":[{"r":[{"g":42,"l":39,"s":[{"t":20}],"w":14}]},89],"h":[{"o":75}],"k":[{"y":3}],"o":6,"p":[{"e":2}],"s":[{"e":[{"r":[{"s":29}]}]},73],"t":[{"o":228}],"u":[{"m":6,"r":6}],"w":[{"o":75}]}],"t":[{"a":[{"b":125,"l":6,"n":21,"p":6,"r":6,"t":5}],"ä":[{"n":6},77],"e":[{"r":[{"a":10}],"s":[{"s":5}]}],"h":21,"i":[{"n":6}],"o":22,"r":[{"a":[{"u":5}],"o":5}],"s":[{"a":[{"g":19}]}],"t":9,"u":[{"m":41,"r":21},84],"z":37},73],"v":[{"e":10},2],"z":[{"a":[{"r":6}],"i":[{"n":13}]}]}],"j":76,"k":[{".":77,"a":161,"d":75,"e":[{".":82,"n":275,"s":82,"y":82},6],"l":[{"o":5},79],"n":5,"o":[{"r":[{"d":[{"a":10}]}]},79],"r":76,"s":[{"p":41}],"t":[{"a":[{"n":[{"t":[{"e":18}]},6],"t":4}],"ä":21,"e":[{"l":36,"r":[{"f":4,"k":4,"z":39}]}],"o":[{"b":254},2],"r":[{"i":7}]},84],"u":[{"r":[{"a":22}]},76],"w":79,"z":75},71],"l":[{"a":[{"b":[{"t":6,"u":1}],"c":[{"k":2}],"d":[{"e":[{"r":1}]}],"f":0,"h":12,"k":104,"m":[{"i":23,"p":82},113],"n":[{"a":0,"d":[{"a":89}],"m":73,"s":114,"t":104,"w":89,"z":0}],"o":77,"p":104,"r":[{"i":3},104],"s":[{"i":120,"p":0,"u":4},2],"u":[{"f":[{"w":1}]}]},71],"ä":93,"b":[{"i":[{"l":77}],"r":77}],"d":[{"a":[{"r":[{"i":4,"m":12},22]}],"e":[{"r":[{"f":14,"p":19,"s":[{"t":35},19]}],"s":1}],"s":22},77],"e":[{".":106,"a":[{"r":22},76],"b":76,"c":[{"h":0},269],"f":[{"a":75}],"g":[{"s":25}],"h":[{"e":[{".":1}]},84],"i":[{"e":[{"r":[{"n":276}]}],"n":[{"e":82},104],"t":140},77],"k":[{"o":77},75],"l":104,"m":[{".":76,"a":82,"i":2,"m":82,"p":127},85],"n":[{".":76,"k":[{"l":277}],"s":[{"e":89}],"t":104}],"p":82,"r":[{".":82,"a":22,"d":0,"e":[{"i":[{"g":164}]}],"f":[{"a":278,"i":89},0],"g":73,"h":0,"k":0,"l":104,"n":[{"ä":128}],"ö":22,"r":104,"u":1,"w":0},77],"s":[{"s":104}],"t":[{"a":131,"i":2,"t":[{"a":10}]}],"x":[{".":82},127]}],"f":[{".":75,"e":[{"r":2}],"m":75,"r":12,"t":75}],"g":[{"i":[{"e":[{"r":[{".":55,"s":55}]}]}],"l":3,"r":12}],"i":[{"d":104,"e":[{"f":[{".":4}]},76],"g":77,"m":73,"n":[{"a":25,"o":4,"s":0}]}],"k":77,"l":[{"a":[{"r":[{"b":5,"t":19}]}],"ä":[{"r":1}],"e":[{".":7,"i":[{"n":4,"s":4},2],"l":5,"n":[{"d":7,"e":[{"n":279}]}],"r":[{"f":[{"a":[{"s":175}]}],"g":63,"h":4},2],"s":1}],"i":[{"m":6,"p":75}],"o":[{"r":6}],"ö":2,"s":[{"p":4}]}],"m":[{"a":1,"e":[{"i":[{"n":4}]},2]}],"n":[{"a":1},77],"o":[{"a":86,"f":73,"l":73,"m":73,"n":[{"k":73}],"p":[{"f":0}],"r":[{"e":82,"i":2},104],"t":82,"v":79},77],"ö":[{"s":2},77],"p":16,"s":[{"e":[{"i":[{"n":198}],"n":1}],"t":[{"r":[{"i":12}]}],"u":[{"m":6}]}],"t":[{"a":[{"n":[{"s":5}]}],"e":[{"m":10,"n":[{".":7,"t":14}],"r":[{"b":19,"f":19,"h":4,"l":[{"e":15}],"n":280,"o":35,"s":[{"c":15}]}],"s":[{"c":5},22],"t":[{"h":4}]}],"h":[{"e":1}],"r":[{"i":7}],"s":[{"p":[{"a":25}]}]}],"u":[{"f":0,"m":104,"r":167,"s":[{"e":1},2],"t":[{"o":1},2]},93],"ü":71,"y":[{"a":73},77],"z":[{"a":[{"c":3,"r":6}],"e":[{"n":[{"e":5}]}],"i":[{"n":13}],"w":[{"a":6}],"y":77}]}],"m":[{"a":[{"b":167,"l":[{"k":104}],"n":[{"f":1,"o":104,"s":0,"z":75}],"s":[{"p":281}],"u":0}],"ä":[{"h":6},76],"b":[{"a":75,"o":75,"r":[{"y":75}]}],"d":[{"ä":6,"r":[{"a":6},13]}],"e":[{"b":113,"f":73,"i":2,"l":[{"e":73}],"n":[{"g":[{"e":[{"l":33}]}],"t":[{"h":277}]},6],"r":[{"i":37,"l":117,"w":0}],"s":[{"u":89}],"t":[{"i":88}]},77],"i":[{"d":113,"e":[{"i":2}],"g":73,"k":22,"m":0,"n":[{"a":37,"d":82,"t":0},77],"r":85,"s":[{"c":82}],"t":[{"r":4}]}],"m":[{"a":[{"u":25}],"e":[{"i":21}]}],"o":[{"a":73,"l":82,"s":4}],"p":[{"f":[{"l":1},282],"o":[{"s":48},1]}],"s":[{"a":6,"c":[{"h":[{"a":5}]}],"e":[{"i":5}],"i":[{"m":6}],"p":[{"r":6}],"t":[{"r":[{"o":4},35]},6]}],"t":3,"u":[{"l":[{"s":78},85],"n":[{"e":63}],"r":82}],"ü":77},71],"n":[{"a":[{".":84,"b":[{"a":1,"o":1},234],"c":[{"h":[{"e":1}],"k":128},269],"d":[{"i":19}],"f":89,"h":84,"k":1,"l":[{"a":22,"b":89,"e":82,"g":6,"i":37,"k":89,"m":89,"o":89,"p":25},0],"m":228,"n":[{"d":89,"e":1,"t":89,"z":89},12],"p":[{"a":2},0],"r":[{"e":1,"k":1,"o":1}],"s":[{"c":2,"t":89},0],"t":[{"i":214,"l":89,"s":10,"t":128,"u":84},77],"u":[{"f":283,"g":1,"r":128,"s":[{"t":[{"a":164}]}],"t":89}],"x":32,"z":120},73],"ä":[{"b":1,"i":82,"r":73,"s":[{"t":1},23]},0],"c":[{"e":[{".":6}]}],"d":[{"a":[{"c":2,"l":6,"n":[{"g":5}]}],"e":[{"l":[{"ä":10},77],"s":[{"s":39}],"x":6}],"i":[{"d":6}],"o":[{"r":[{"t":16}]}],"s":[{"a":[{"u":9}],"l":37,"p":37,"z":4}],"u":[{"m":3}],"ü":3}],"e":[{".":77,"b":[{"e":[{"n":16}]}],"c":32,"f":[{"f":73}],"h":2,"i":[{"d":6,"e":[{"n":82}],"g":[{"e":89,"u":84}],"n":89,"s":89}],"l":[{"e":12},104],"m":[{"i":104},108],"n":[{"s":[{"e":89}],"t":[{"r":5},114],"v":[{"i":1}]},77],"p":0,"r":[{".":106,"a":6,"d":104,"e":[{"i":1}],"f":[{"r":5},73],"g":75,"h":73,"k":73,"l":104,"m":[{"i":89,"o":128}],"n":[{"e":128},84],"o":2,"r":104,"s":[{".":84},0],"t":[{".":5},104],"u":86,"w":104}],"s":[{".":82,"c":113,"k":104,"s":104},77],"t":[{"a":0,"h":104}],"u":[{"l":0}],"v":113,"x":234}],"f":[{"u":2},1],"g":[{"a":[{"d":75,"g":75,"l":3}],"e":[{"r":[{"a":159}]}],"i":3,"n":1,"o":3,"p":75,"r":[{"a":12}],"s":[{"e":4}]}],"i":[{".":82,"c":82,"e":[{"r":[{".":4,"p":4,"s":[{".":35}]}]},106],"k":[{"o":3}],"l":[{"l":1}],"m":[{"a":0,"i":0},12],"n":104,"o":82,"ö":2,"r":73,"s":[{"a":12,"o":128}],"t":256,"v":82},77],"k":[{"a":[{"u":[{"s":4}]}],"e":[{"l":[{"i":78}],"r":[{"g":4,"k":14}]}],"ü":3}],"n":[{"e":[{"f":6,"l":6,"r":[{"f":42,"g":4,"l":14}]}],"i":[{"g":[{"e":[{"r":33}]}],"v":77},2],"s":[{"t":[{"e":4}]},22]}],"o":[{"a":86,"b":[{"e":[{"l":82}],"r":2},104],"f":73,"l":[{"m":1}],"m":[{"a":2}],"n":12,"p":104,"r":[{"a":6,"i":12,"m":84},113],"s":[{"t":104}],"t":106,"w":2}],"ö":[{"d":32},93],"s":[{"a":[{"b":[{"b":1}],"n":6}],"c":[{"h":[{"e":7}]}],"e":[{"b":6,"m":75,"n":[{"e":17}],"r":[{"e":4}]}],"p":[{"o":[{"r":12},1]}],"t":[{"a":[{"l":[{"t":55}]}],"ä":[{"t":14}],"e":[{"l":12,"m":[{"p":26}]}],"h":2,"o":77,"ü":22}]}],"t":[{"a":[{"g":47,"n":[{"m":5,"w":5}],"r":[{"k":16}]}],"d":75,"e":[{"l":3,"n":22,"r":[{"a":78,"b":5}]}],"f":[{"o":77},75],"g":[{"e":[{"g":78}]},75],"h":[{"i":6,"u":75,"ü":75}],"i":[{"d":41}],"l":[{"a":78}],"n":75,"o":[{"b":6,"p":[{"f":247}],"s":21}],"ö":77,"r":[{"o":[{"l":14}]}],"s":[{"c":75,"o":75,"t":[{"o":12}]}],"w":[{"e":[{"t":84}],"i":[{"c":78}]},75],"z":75}],"u":[{".":82,"r":284,"t":[{"o":89},158]},104],"ü":[{"s":[{"t":13}]},71],"w":[{"ü":84}],"y":93,"z":[{"a":[{"r":[{"e":1}]}],"ä":[{"p":2}],"e":[{"p":75,"r":[{"g":4,"k":14,"l":5,"m":14,"s":[{"c":35}]}]}],"i":[{"d":22}],"l":[{"a":[{"n":102}]}],"o":[{"l":22}],"y":75}]}],"ñ":71,"o":[{"b":[{"e":[{"n":1}],"l":1,"o":1,"r":1},285],"c":[{"h":22},0],"d":[{"r":1}],"f":71,"g":3,"h":71,"l":[{"a":1,"y":79}],"n":[{"a":[{"t":79}]},71],"o":0,"p":[{"f":71,"r":12}],"r":[{".":82,"a":0,"b":82,"g":[{"i":132}],"s":82,"t":22,"w":82},71],"s":[{".":82,"e":1,"t":[{"e":71}]},32],"u":[{"l":0},286]},84],"ö":115,"p":[{"a":[{"g":2,"s":[{"s":[{"e":[{"r":33}]}]}]},80],"e":[{"r":77}],"f":[{"i":140},287],"i":[{"d":85,"g":73,"k":73,"l":[{"e":85}],"o":82,"s":[{"t":77},75],"t":85}],"l":[{"e":1}],"o":[{"c":75,"r":[{"t":19}],"s":[{".":85}]}],"p":[{"a":21,"e":[{"l":25}],"l":6,"r":6}],"r":77,"s":[{"h":1}],"t":[{"a":[{"l":6,"n":2,"u":6}]}],"u":[{"s":2},76]},71],"q":106,"r":[{"a":[{".":82,"b":[{"e":2}],"c":[{"h":167}],"d":[{".":82,"i":82,"j":73,"m":[{"i":89},73],"r":128}],"f":[{"a":10}],"g":2,"h":71,"i":[{"c":1},71],"k":[{"e":82}],"l":[{"d":71,"e":[{"b":10}],"k":[{"e":1}],"l":86}],"n":[{".":6,"a":288,"d":[{".":82},25],"g":[{"r":89}],"h":73,"o":73}],"p":[{"a":1,"f":1},71],"r":[{"e":1,"i":82},73],"s":[{".":82,"i":2,"t":71}],"ß":2,"t":[{"e":[{"l":89}],"l":73}],"u":[{"b":71,"c":71,"e":1,"f":22,"g":1}],"v":289,"w":71,"x":86,"z":71},0],"ä":[{"f":0,"h":0,"m":32,"p":0,"s":104,"t":[{"z":0}]},71],"b":[{"a":[{"r":[{"m":78}],"u":2}],"e":2,"r":[{"u":77}],"s":[{"p":2}]}],"c":[{"h":[{"l":1,"o":22}]},0],"d":[{"a":[{"m":[{"e":25},2]}],"b":75,"e":[{"c":77,"l":77,"n":[{"g":39}],"r":[{"w":4}],"s":[{"t":19}],"u":105}],"g":75,"s":[{"t":4}],"y":77}],"e":[{".":84,"b":[{"e":[{"n":16}]}],"c":[{"h":[{"s":1},79],"k":32}],"d":[{"i":[{"t":12},0]}],"f":[{"f":0}],"h":113,"i":[{".":106,"b":82,"g":0,"h":84,"m":[{"e":128}],"n":[{"k":89}],"s":[{".":1,"a":[{"r":7}],"b":1,"f":1,"r":1,"t":[{"r":55}]}]},12],"k":89,"l":[{"e":[{"v":4},73],"i":132},32],"m":[{".":84,"i":[{"s":12},0],"p":73},77],"n":[{".":106,"a":82,"e":48,"s":[{"e":89}],"t":[{"n":89,"s":89}],"z":[{"e":[{"n":[{"d":51}]}]},82]},77],"p":[{"e":0}],"r":[{".":84,"b":77,"f":[{"a":25,"o":128}],"h":73,"k":73,"l":[{"a":[{"u":55}]},97],"n":[{".":84,"e":89}],"o":97,"r":[{"i":10}],"s":[{".":84,"c":[{"h":[{"e":290}]}]},0],"t":73,"v":77,"w":77}],"s":[{".":84,"p":2,"s":[{"k":25},0]},77],"t":[{"a":0}],"u":0,"v":[{"i":[{"d":12}]}]}],"f":[{"e":2,"o":[{"r":[{"m":84}]}],"r":12,"ü":[{"r":84}]}],"g":[{"a":[{"r":[{"e":14}]}],"e":[{"b":[{"i":84,"n":78,"ü":84}],"h":[{"a":84,"ä":84}],"l":[{"s":[{"t":35},191]}],"n":[{"i":84}]}],"n":77,"o":[{"p":6}],"r":[{"e":[{"m":84}]}],"s":[{"o":37,"p":22,"t":10},13]}],"h":[{"a":[{"b":75,"g":1,"i":77,"l":[{"s":84}],"m":77,"n":77,"s":77}],"e":[{"i":1,"r":77}],"u":1},89],"i":[{"a":[{"t":73}],"b":82,"c":[{"o":128},106],"d":0,"e":[{"n":291},106],"k":[{"l":10},171],"n":[{".":106,"d":104,"i":104,"k":0,"l":0,"t":0,"z":0}],"o":[{"n":289}],"s":[{"o":73,"r":73},84],"t":[{"a":0,"r":78}],"v":82},77],"k":[{".":77,"a":[{"j":77}],"e":[{"r":1}],"l":[{"ä":75}],"m":77,"r":[{"e":77}],"t":195,"u":[{"m":6}]}],"l":[{".":77,"a":[{"g":77}],"e":[{"b":[{"n":78}],"h":84}],"n":77}],"m":[{"e":[{"n":[{"s":19}],"r":[{"s":14}]}]},3],"n":[{"a":[{"l":[{"t":14}]}],"e":[{"n":[{"e":5}],"r":[{"f":5,"k":5}],"u":[{"e":78}]},1],"o":[{"b":6,"r":22,"s":13}]}],"o":[{".":93,"a":71,"b":[{"l":2,"r":2},0],"f":113,"g":71,"h":71,"k":71,"l":[{"y":1},71],"m":[{"b":1},71],"n":76,"o":104,"p":0,"r":[{"a":22},292],"s":[{"i":[{"t":82},75]},71],"u":71,"w":71,"x":32,"z":0}],"ö":[{"d":2,"h":77,"l":12,"s":[{"c":2},0]}],"p":1,"r":[{"ä":1,"e":[{"n":77}],"o":1,"ü":77}],"s":[{"a":[{"n":[{"a":12}]},3],"c":[{"h":[{"n":7},19]}],"e":[{"i":84,"l":2,"n":1}],"i":47,"k":1,"t":[{"e":[{"d":84,"l":1,"r":[{"s":55}]}],"i":[{"l":84}],"o":[{"d":12}],"r":26}],"w":[{"i":1}],"z":1}],"t":[{"a":[{"b":13,"t":1}],"e":[{"r":[{"f":14,"g":39,"h":42,"k":42,"s":5}]}],"h":[{"o":6},13],"ö":84,"r":[{"i":7,"u":84}],"s":[{"e":22,"p":22}]}],"u":[{"f":[{"s":277}],"h":[{"r":128}],"m":293,"n":[{"d":[{"u":89},0],"g":19}],"p":[{".":0}],"r":1,"s":[{"e":1}],"z":86},77],"ü":[{"b":12}],"w":[{"e":[{"c":[{"k":78}]}]}],"z":[{"e":[{"r":[{"k":5,"s":14}]}]}]}],"s":[{"a":[{"b":[{"e":89},1],"d":113,"f":82,"k":1,"l":[{"l":128}],"m":[{"i":0,"p":[{"l":1}]}],"n":[{"k":6,"m":6,"r":6,"z":1}],"p":[{"a":6},82],"r":[{"a":2}],"s":[{"t":6},257],"v":2,"x":0}],"b":[{"i":[{"e":[{"r":[{".":55}]}]}]},77],"c":[{"e":79,"h":[{"i":5},22]}],"e":[{"c":86,"h":[{"r":0}],"i":[{"n":[{"s":19}]}],"l":6,"n":[{"a":[{"l":12}],"e":[{"u":12}],"o":25,"s":[{"k":25},6],"t":[{"h":25}]}],"r":[{"a":[{"t":10}],"u":294}],"s":[{"k":22}],"x":167}],"f":77,"h":[{"a":[{"r":6}],"e":1},77],"i":[{"e":[{"r":13}],"k":167,"l":104,"s":[{"t":2}]},77],"k":[{"a":[{"t":6}],"e":128,"l":128,"u":1,"y":128}],"l":1,"m":77,"o":[{"a":86,"b":128,"d":104,"h":6,"r":[{"a":0,"e":4,"t":6},2],"t":82}],"ö":79,"p":[{"a":[{"l":82,"r":[{"k":5}]}],"e":[{"k":6,"r":[{"s":89}]}],"h":73,"i":79,"o":[{"r":79}]},84],"r":77,"s":[{".":77,"a":[{"g":21,"l":[{"i":247}],"u":[{"s":19}],"y":75}],"ä":77,"c":107,"e":[{"r":[{"e":26,"f":12,"g":4,"l":[{"a":274}]}]}],"k":77,"o":[{"f":6},77],"p":[{"a":21,"u":6},77],"t":[{"a":[{"b":5}],"i":[{"e":4}],"u":1}]}],"t":[{"a":[{"b":[{"b":19}],"g":[{"e":25}],"k":13,"n":[{"b":5,"g":5,"t":89}],"p":286,"r":[{"b":89},71],"s":94,"t":[{".":89},71],"u":[{"m":89,"s":89}]}],"e":[{"c":6,"i":[{"n":[{"g":35,"k":35,"l":35}]},10],"l":241,"m":[{"i":14}],"n":[{"g":14,"t":[{"r":35}]},89],"r":[{"h":[{"a":35}],"ö":42,"z":14}],"s":[{"s":14}]}],"h":6,"i":[{"d":6,"g":89,"l":71,"p":73,"s":6}],"m":[{"o":[{"d":[{"e":15}]}]}],"n":75,"o":[{"m":73}],"r":[{"e":[{"c":82}],"i":5,"ö":71}],"u":[{"m":[{"s":4}],"r":6},71],"ü":295,"y":82}],"u":[{"h":82,"m":[{"s":1},104],"n":[{"t":1}],"r":0,"s":12}],"w":107,"y":82,"z":[{"e":[{"n":[{"e":5}]}]},1]}],"ß":[{"e":[{"l":104,"n":[{"t":73}],"r":[{"e":4,"g":117,"l":104}]}],"t":1},93],"t":[{"a":[{"b":10,"c":2,"f":76,"l":77,"m":[{"i":0}],"n":[{".":5}],"t":[{"r":25},5]}],"ä":[{"h":0}],"e":[{"e":2,"f":114,"i":[{"n":114}],"k":[{"e":4}],"n":[{"d":266}],"o":2,"r":[{"h":[{"ö":10}],"o":13,"t":[{"r":10}]}],"s":2},76],"h":[{".":77,"a":[{"l":128},6],"e":82,"i":[{"k":89},6],"n":78,"u":6}],"i":[{"d":296,"m":2,"n":[{"i":0},48],"t":[{"a":2,"h":2},6]}],"l":1,"o":[{"b":73,"f":296,"n":[{"a":[{"l":27}],"s":19},5],"r":[{"g":89}],"s":2},76],"r":[{"a":[{"d":1,"u":[{"m":89}]}],"e":[{"c":1,"s":86}],"o":[{"s":5}]},77],"s":[{"c":[{"h":[{"e":[{"r":[{"e":297}]}],"w":17}]},2],"p":[{"e":6},13],"t":[{"e":6}]}],"t":[{"a":[{"b":36,"d":6,"k":6,"n":[{"s":5}],"s":2,"u":6},13],"e":[{"i":6,"n":160,"r":12}],"h":21,"r":23,"u":[{"m":21}]}],"u":[{"i":88,"r":82}],"ü":82,"w":[{"a":[{"r":10}]}],"y":[{"m":85}],"z":[{"w":6},77]},71],"u":[{"a":32,"b":16,"c":[{"h":[{"t":[{"a":10}]}]},77],"d":[{"e":[{"s":48}],"i":[{"e":10}]},77],"e":[{"b":6,"r":[{"e":[{"i":[{"f":46,"s":26}],"r":[{"s":29,"t":29}]}],"i":1,"k":1,"r":1}],"s":[{"c":6}]},77],"f":[{"e":[{"r":6}]},84],"g":[{"a":21,"e":[{"m":[{"i":10}],"n":[{"s":[{"e":24}]}],"r":3}],"i":[{"n":[{"f":19,"g":42},105]}],"r":[{"e":6,"i":6}],"s":[{"p":4},10]}],"h":1,"i":[{"d":0,"n":298}],"k":[{"a":[{"l":75}],"ä":6},89],"l":[{"a":[{"n":[{"d":247},105]}],"e":3,"i":2}],"m":[{".":82,"a":16,"b":82,"f":82,"l":82,"s":[{"t":35},299],"w":82},93],"n":[{"a":6,"e":[{"i":5},2],"g":257,"i":[{"o":6,"s":5}],"k":[{"a":4},22]},77],"o":32,"p":[{".":71,"f":3,"g":82},0],"r":[{"a":[{"n":41,"s":[{"t":14}],"t":25,"u":6}],"c":13,"e":[{"n":[{"s":5},105],"r":12},73],"f":9,"o":75}],"s":[{"a":[{"r":82}],"c":[{"h":[{"o":19}]}],"i":2,"k":5,"p":1,"t":[{"a":0,"o":0,"r":120},10]},77],"t":[{"e":2,"h":[{"a":87},2],"i":2,"o":47,"s":[{"c":[{"h":[{"a":26,"n":26,"r":26}]}]}]},77],"x":77,"z":[{"a":6,"o":6,"w":21}]}],"ü":82,"v":[{"a":[{"k":73,"r":82,"s":27}],"e":[{"r":[{"i":35}]},80],"i":[{"e":[{"l":[{"e":25}]}]}],"o":[{"r":76}]},71],"w":[{"ä":[{"s":2}],"e":[{".":73,"i":[{"s":[{"c":10}]}],"r":[{"t":[{"e":25},19]}]}],"i":[{"r":82,"s":2,"t":82}]},71],"x":[{".":77,"a":[{"m":75,"t":1}],"c":77,"d":77,"e":[{"l":73,"r":0,"s":77}],"i":[{"k":77,"l":73,"n":104,"o":82,"s":75},71],"l":1,"p":[{"u":77},75],"s":77,"t":[{".":77,"a":80,"i":[{"n":6}],"r":75,"u":77,"v":77}],"u":[{"m":73},77],"y":93}],"y":[{"l":2,"n":[{"o":1},6],"s":12},127],"z":[{"a":79,"ä":6,"e":[{"n":[{"n":104}]}],"i":[{"s":2},82],"o":79,"w":6,"z":3},71]}],"é":[{"b":71,"c":71,"g":[{"i":2},71],"h":71,"l":[{"u":2},72],"m":72,"n":71,"o":71,"p":71,"r":72,"s":[{"i":[{"s":2}]},71],"t":71,"u":72,"v":71,"z":72}],"è":[{"c":71,"m":71,"n":[{"e":[{"s":10},13]}],"r":71}],"ë":[{"n":75,"t":71}],"ê":[{"p":71,"t":89}],"f":[{"a":[{"b":[{"b":300,"e":[{"n":6}],"f":77,"g":77,"l":301,"n":77,"r":88,"s":300,"w":77},12],"c":[{"h":[{"e":[{"b":5,"l":5}],"i":302,"o":6,"s":[{"p":159}]}]}],"d":[{"a":[{"n":6}],"e":[{"l":6,"r":71}],"i":6,"r":6}],"e":1,"h":[{"l":[{"e":[{"n":[{"t":46}]}]}],"r":[{"e":78,"t":194}]}],"i":[{"b":4}],"k":[{"a":72,"e":6,"t":[{"i":[{"o":82}],"o":89}],"u":88}],"l":[{"a":1,"e":1,"k":[{"l":2}],"l":[{"a":11,"e":[{"i":27,"n":[{"t":55}],"r":[{"k":26,"s":29}]}]}],"s":[{"c":[{"h":[{"a":26,"l":26,"m":26}]}]}],"t":[{"r":2}]}],"m":[{"e":[{"i":6}],"p":71,"t":71}],"n":[{".":88,"a":[{"r":6}],"d":[{"a":22}],"f":73,"g":[{"a":2,"r":2}],"k":259,"l":77,"n":84,"p":71,"r":77,"w":77,"z":259}],"p":152,"r":[{"b":[{"a":11,"e":[{"l":12,"r":27}],"i":[{"n":12}],"l":48,"o":2,"r":162,"u":162}],"c":82,"i":303,"r":[{"a":11,"s":25}],"t":76,"z":76},73],"s":[{"a":16,"h":1,"t":[{"r":93},6]}],"ß":6,"t":[{".":89,"o":6,"s":89},82],"u":[{"f":93,"g":82,"s":[{"b":71,"t":[{"r":277}]},2]}],"v":147,"x":[{"a":6}]},75],"ä":[{"c":304,"h":[{"r":[{"i":[{"n":12}],"u":2}]}],"l":[{"t":[{"e":71}]}],"q":77,"r":[{"b":78,"m":93,"z":77}],"s":[{"s":[{"e":[{"r":[{"k":26,"w":26},102]}]}]}],"ß":[{"e":[{"r":6}]}],"t":[{"z":93}],"u":[{"g":77}],"x":77},75],"b":[{"a":[{"u":48}],"e":[{"r":22}]},246],"c":[{"h":82},93],"d":[{"i":[{"e":[{"n":105}]}]},134],"e":[{".":78,"a":[{"t":[{"u":19}]}],"c":[{"h":[{"e":1},73]},6],"d":[{"e":[{"l":6}],"r":6}],"e":[{"i":[{"n":54},21],"m":0}],"h":[{"e":152,"l":[{"e":[{"i":12},105]}]}],"i":[{"e":73,"n":[{"d":73,"g":93,"i":1,"s":[{".":1}],"u":12,"w":93}],"s":71}],"k":[{"t":[{"i":[{"n":12}]}]}],"l":[{"a":118,"ä":21,"d":[{"a":2,"e":[{"m":19,"r":[{"h":33}]}],"r":2}],"e":[{"k":80,"m":77,"r":21,"s":6}],"o":21,"s":[{"o":[{"h":27}],"t":22}],"t":[{"e":[{"r":[{"n":305}]}]},10]}],"m":[{".":73,"b":77,"m":12,"p":77}],"n":[{"a":4,"ä":6,"d":22,"e":[{"r":[{"g":84}]}],"i":6,"o":6,"s":[{"a":37,"c":136,"t":105}],"t":[{"a":37,"f":76,"i":73,"l":[{"a":84}],"o":73,"w":76,"z":106},71]}],"p":[{"i":6},78],"r":[{".":73,"a":[{"b":6,"d":37,"l":6,"n":[{"g":5,"t":12,"z":5}],"u":6},0],"ä":21,"d":[{".":77,"a":4,"e":306}],"e":[{"b":125,"c":6,"i":[{"g":106,"s":4},187],"l":[{"l":4},89],"r":[{"g":42}]},73],"f":[{"a":[{"h":12}],"o":[{"l":12}]}],"g":[{"r":89},10],"i":[{"d":22,"e":[{"n":191}],"o":[{"n":10}]}],"l":[{"e":[{"b":225}]}],"n":[{".":73,"e":[{"i":12}]}],"ö":6,"p":[{"a":89,"f":89,"l":89}],"r":[{"a":89,"e":[{"g":12}],"i":105}],"s":[{".":73}],"t":[{"r":10},73],"z":73}],"s":[{"s":[{"e":22}],"t":[{"a":[{"b":159,"n":25}],"e":[{"i":25,"l":12}],"o":99,"r":27},6]}],"t":[{"a":[{"g":5},152],"e":78,"h":6,"t":[{"a":27,"i":[{"s":17}]}]}],"u":[{".":77,"e":[{"r":[{"ö":17}]}]}],"w":78,"x":93,"y":32,"z":78},75],"é":75,"f":[{"a":[{"b":[{"s":33}],"d":32,"k":79,"r":1,"s":82,"t":2,"u":0}],"e":[{"b":113,"e":2,"f":104,"i":[{"n":[{".":4}]},104],"k":140,"m":[{"i":73},32],"n":6,"r":[{"l":[{"e":1}]}]}],"f":12,"i":[{"k":4,"m":73,"n":[{"s":25}]}],"l":[{"a":[{"g":0}],"e":1,"i":1,"ü":82}],"o":[{"r":2,"x":0}],"r":[{"ä":124,"o":1}],"s":[{"a":[{"m":2}],"p":21,"t":[{"i":[{"e":4}],"u":[{"t":4}],"ü":1}]}],"t":3,"u":[{"s":[{"s":25}]}],"y":73},189],"g":[{"e":[{"b":22,"s":4}],"l":[{"i":[{"m":105}]}]},243],"h":243,"i":[{".":78,"a":[{"k":5,"r":6,"t":1}],"d":[{"o":6},12],"e":[{"i":21,"n":25,"r":[{"f":83}]},73],"g":[{"r":6}],"k":[{"a":[{"s":21}],"e":[{"l":6}],"i":[{"n":6}],"n":6,"o":150,"r":14}],"l":[{"a":[{"n":21}],"d":4,"e":[{"s":6,"t":2}],"g":10,"i":[{"n":5,"p":2},1],"m":[{"a":2,"ä":2,"e":[{"d":12,"i":12}]}],"o":6},73],"m":[{"p":77}],"n":[{"a":200,"e":2,"f":93,"g":[{"s":307},22],"i":1,"k":73,"s":[{"c":4,"t":[{"i":4}]},2],"t":93}],"o":[{"l":1},6],"r":[{"a":1,"e":5,"m":[{"e":4}]},6],"s":[{"a":3,"c":[{"h":[{"a":260,"e":[{"i":24}],"o":17,"r":5,"w":260}]}],"h":3,"o":93,"p":2,"t":23}],"t":[{"e":22,"i":[{"n":6}],"o":[{"r":5},100]}],"v":[{"e":10}],"x":[{"e":[{"l":6}]}],"z":[{"a":6}]},75],"j":[{"o":88},93],"k":[{"a":[{"t":27}]},246],"l":[{".":77,"a":[{"d":82,"n":[{"d":140,"s":89}],"p":82,"s":[{"c":89}],"t":[{"s":82}],"u":[{"m":[{"a":102}]}]}],"ä":[{"c":147,"d":84,"h":77,"n":76,"r":77,"u":76},75],"e":[{".":140,"b":76,"e":89,"i":[{"n":255}],"k":[{"t":105},25],"r":82,"x":89}],"i":[{".":82,"m":147,"n":[{"d":82,"e":12,"g":82,"s":76}]}],"o":[{"n":255,"p":236,"ß":75,"t":236,"w":2}],"ö":[{"f":84,"g":89},82],"u":[{"c":147,"f":82,"g":236,"s":[{"s":236}],"t":[{"o":48},89]}],"ü":[{"m":140},89],"y":13},218],"m":[{"a":[{"c":[{"h":[{"e":35}]}],"d":2}]},243],"n":[{"i":[{"s":2}]},243],"o":[{"b":[{"e":[{"r":77},6],"l":2},71],"f":152,"l":[{"i":308}],"n":[{"a":[{"n":5,"u":4},6],"d":[{"r":4}],"i":[{"n":14}],"o":[{"p":6}],"s":10,"u":6}],"p":93,"r":[{"g":106,"m":[{"a":[{"g":199,"s":12}],"e":[{"i":27}],"i":[{"n":12}]},78],"n":[{"i":[{"e":[{"r":[{".":63}]}]}]}],"s":[{"c":[{"h":[{"l":26}]}],"t":12}],"t":[{"e":[{"i":27,"r":12}],"h":11,"r":162,"s":266,"u":4}],"u":2}],"t":[{"r":12}]},75],"ö":[{"f":80,"k":93,"l":189,"r":[{"s":59}]},75],"p":309,"q":93,"r":[{"a":[{".":82,"c":[{"h":[{"t":[{"r":15}]}]}],"d":76,"h":76,"m":12,"n":[{"d":82}],"p":140,"s":[{"t":[{"a":25}]}],"t":82,"u":[{".":75,"c":82}]}],"ä":[{"d":77,"n":236}],"e":[{".":77,"c":82,"d":82,"f":77,"i":[{".":89,"c":82,"e":89,"f":48,"g":89,"k":266,"n":77}],"k":77,"p":76,"s":[{"t":77}],"u":147}],"i":[{"c":[{"h":[{"t":[{"e":29}]}]},76],"d":4,"e":2,"g":77,"k":95,"p":82,"s":[{"c":89,"t":89},75]}],"o":[{"c":76,"l":77,"n":[{"a":99},310],"p":89,"s":2,"t":82}],"ö":[{"s":22}],"u":[{"c":89},82],"ü":82},206],"s":[{"a":[{"l":104,"n":[{"e":1},289],"r":128,"s":113,"t":[{"e":1},2],"u":[{"t":73}]}],"ä":[{"n":6}],"c":[{"a":89,"e":89,"h":[{"a":[{"n":89}],"e":[{"f":89}],"r":[{"o":89}]}],"r":89},82],"e":[{"b":113,"e":[{"i":2}],"h":[{"r":114}],"n":[{"e":298,"t":104},2],"r":104,"t":[{"a":104},12]}],"i":[{"d":131}],"k":[{"y":79}],"o":[{"h":82,"l":82},113],"p":[{"a":[{"n":[{"n":82}],"s":104}],"h":73,"l":79,"o":[{"r":79}],"r":[{"e":73,"o":73}],"u":[{"l":6}]}],"s":16,"t":[{"a":[{"k":1,"s":73,"t":82},2],"ä":[{"t":[{"i":89},1]}],"e":[{"l":82,"r":[{"n":82}]}],"h":1,"i":[{"p":73}],"o":[{"l":5,"r":5}],"r":[{"e":[{"s":128}],"ü":1},12],"ü":[{"t":[{"e":89}]}]},6],"u":[{"n":104}],"y":82},189],"t":[{"a":[{".":89,"b":[{"e":32,"l":0}],"f":0,"g":6,"l":[{"a":0}],"n":0,"p":104,"r":32,"t":[{"t":1}]}],"ä":[{"u":104}],"e":[{"c":[{"k":0},2],"d":[{"i":0}],"h":[{"e":2},0],"i":[{"g":0,"n":0,"s":0}],"l":[{"i":0}],"m":[{"a":4,"i":0}],"n":[{"t":114}],"r":[{"f":[{"ü":1}],"k":0,"l":104,"z":104}],"t":[{"i":113}],"x":104}],"h":[{"e":[{"i":128}]},104],"i":[{"d":104,"k":82,"m":73,"n":[{"g":6},104]}],"o":[{"f":104,"t":86},2],"r":[{"a":[{"n":124}],"e":[{"s":86,"u":82}],"i":[{"t":5}],"o":1,"u":[{"h":1}]}],"s":[{"a":[{"m":5}],"c":[{"h":[{"e":5}]},3],"e":[{"h":5,"n":132},22],"t":[{"a":[{"f":5}],"ä":[{"t":4}],"e":[{"i":5,"m":5}],"i":[{"e":[{"r":24}]}],"r":[{"e":[{"u":20}],"o":102,"u":5}]},1]},21],"u":[{"m":73,"r":[{"k":0,"l":0}]}],"ü":82,"w":[{"a":[{"r":33},10]}],"z":[{"e":[{"d":25}]},3]},189],"u":[{"c":78,"g":78,"h":73,"k":[{"u":25}],"l":[{"b":10}],"m":[{"e":[{"i":6}],"m":73},311],"n":[{"d":[{"e":[{"r":[{"g":26,"h":26},25]}]}],"f":93,"g":[{"l":77},10],"i":152,"k":[{"l":2,"o":2,"r":162,"u":2}],"m":93,"r":77,"t":77}],"r":[{"c":[{"h":105}],"e":[{".":5}],"l":76},73],"s":[{"s":[{"a":2,"p":11,"t":2}]}],"ß":[{"e":[{"r":21}]}],"t":78},75],"ü":[{"b":77,"h":[{"l":[{"s":[{"c":10}]}]}],"n":2,"r":6},75],"v":93,"w":189,"y":71,"z":[{"a":6,"e":[{"i":[{"t":[{"e":[{"n":[{"d":70},312]}]}]}]}],"ö":6,"u":[{"g":[{"a":2}]}],"w":6},189]}],"g":[{"a":[{".":78,"b":[{"f":77,"g":77,"l":313,"o":2,"r":[{"i":12},71],"s":[{"c":77}],"t":[{".":73,"r":77}],"u":1,"w":77,"z":77}],"c":0,"d":[{"e":[{"r":22}],"i":[{"e":10},3],"r":6}],"e":2,"f":[{"l":0}],"g":[{".":194}],"k":[{"a":6,"u":6},0],"l":[{"a":[{"f":1,"r":6,"u":93},2],"b":93,"g":93,"l":[{"o":4}],"p":93,"t":[{"a":93,"d":93}],"u":72}],"m":[{"e":[{"c":6,"l":1}],"m":[{"a":4}],"o":252,"t":93}],"n":[{"a":[{"l":77},72],"d":9,"f":77,"g":[{"a":77,"e":[{"b":84}],"r":2,"s":[{"p":10}],"u":11}],"k":93,"l":77,"m":[{"u":77}],"o":[{"b":6},88],"r":77,"s":[{".":73,"i":93,"t":77},22],"w":77,"y":0,"z":93}],"p":[{"e":1,"p":93}],"q":0,"r":[{".":78,"a":73,"c":77,"d":88,"e":[{"t":1}],"i":3,"m":76,"o":3,"s":2,"t":[{"i":93}],"u":1,"z":93}],"s":[{".":73,"a":[{"l":14,"m":5},6],"c":[{"h":[{"e":102}]}],"e":[{"i":6,"l":6,"m":126},22],"i":6,"o":[{"r":6}],"s":[{"e":[{".":252,"s":[{"s":221},82]}]},37],"t":[{"e":[{"l":27},5],"r":[{"ä":25},5]},6]}],"t":[{"a":3,"m":77,"r":12}],"u":[{"c":13,"f":93,"g":76,"k":73,"n":[{"e":35}],"s":93,"t":93}],"z":1}],"ä":[{"p":93,"r":[{"t":[{"h":4}],"z":77}],"u":5}],"b":[{"e":[{"r":22}],"i":2,"y":[{"t":12}]},201],"c":93,"d":[{"a":[{"d":[{"e":4},79],"k":104,"n":104,"r":104,"u":104},71],"ä":311,"e":[{"i":156,"l":[{"s":0}],"n":[{"t":73}],"r":104,"t":104}],"i":[{"n":104}],"o":[{"p":73},71],"ö":71,"r":[{"e":1,"u":1},71],"s":3,"t":12},77],"e":[{"a":[{"t":[{"e":5}]},3],"b":[{"a":2,"l":[{"e":1,"i":[{"n":12}],"o":12}],"o":[{"t":19}],"ü":78}],"c":[{"k":1},0],"e":[{"c":1,"s":[{"t":17},6]},32],"f":[{"a":7,"ä":78,"f":189,"l":12,"r":12,"u":1}],"g":[{"e":[{"n":[{"e":102,"s":149},163]}],"l":3,"r":12},89],"h":[{"e":[{"r":[{"l":17}]}],"o":1}],"i":[{"d":93,"e":110,"g":5,"l":73,"n":[{"f":6,"h":10,"r":93,"s":22,"v":22},298],"r":0,"s":[{"e":93,"h":4,"s":[{"c":277}],"t":[{"r":17},2]}]}],"k":[{".":77}],"l":[{"a":[{"n":[{"z":5}]}],"b":[{"r":[{"a":27},48],"s":25}],"d":[{"e":[{"n":12,"r":[{"h":26,"s":26},102]}]}],"e":[{"c":[{"k":[{"e":55}]},1],"f":6,"k":80,"m":77,"n":[{"e":5},132],"r":[{"e":4,"k":5,"ö":17,"s":14}],"v":21}],"f":4,"i":[{"m":184}],"l":[{"a":4,"i":22}],"ö":2,"s":[{"a":4,"p":22,"t":[{"e":4},22],"z":4}],"t":[{"a":4,"r":10}],"z":37}],"m":[{"a":[{".":5}],"e":26,"p":189,"u":1},2],"n":[{".":89,"a":[{"c":41,"d":5,"k":5,"l":14,"m":5,"p":5,"r":5,"t":5,"u":[{"g":12}]},1],"d":[{"a":[{".":84}],"i":[{"n":314}],"m":[{"o":106}],"r":162}],"e":[{"i":[{"d":4}],"r":[{"f":19,"g":84,"n":14,"w":[{"e":26}],"z":19}]}],"i":[{"m":6}],"k":9,"n":4,"o":[{"c":6}],"s":[{"a":[{"m":12}],"e":[{"m":[{"b":26}]}],"k":4,"z":4}],"t":[{"ä":4,"f":77,"h":37,"r":35,"w":77}],"z":[{"w":4}]}],"o":[{"o":0,"r":[{"i":2}]}],"p":[{"l":1,"o":1},237],"r":[{"a":[{"b":6,"k":6,"l":23,"n":[{"n":1,"t":5}],"r":315,"s":2},0],"d":[{"g":77}],"e":[{"m":1,"n":[{"e":5,"g":5,"s":42,"t":14}],"r":2}],"i":[{"n":[{"d":19,"f":19,"n":12,"t":19}]}],"k":[{"l":[{"ä":225}]}],"l":[{"a":[{"s":82}]}],"m":[{"e":35}],"n":[{"o":4,"t":93}],"o":[{"b":6},0],"ö":32,"s":[{"a":[{"t":12}],"e":[{"h":250}]}],"u":3}],"s":[{".":89,"a":[{"u":[{"f":4}]}],"c":[{"h":[{"e":[{".":24}]},19]},87],"e":[{"b":23,"l":[{".":309,"t":4}],"r":23}],"h":[{"a":1}],"i":1,"o":1,"p":[{"a":1,"i":12}],"s":[{"e":4,"t":9}],"t":[{"a":[{"k":1,"n":12},10],"e":[{"r":14},316],"h":4,"i":[{"e":[{"r":26}]}],"u":[{"r":14}]},22]},32],"t":[{"a":[{"n":[{"g":5,"t":5}],"p":71},3],"h":[{"i":6}],"r":[{"e":[{"i":7}],"i":7}],"u":123}],"u":[{"l":111,"n":[{"k":1}],"r":[{"t":0}],"t":16}],"x":248}],"f":[{"i":[{"l":2}]},201],"g":[{"a":[{"t":12}],"e":[{"n":[{"e":2}]},140],"l":[{"a":82,"o":82},6],"n":86,"r":5,"s":2},93],"h":[{".":84,"a":[{"l":[{"e":78}]},6],"e":[{"t":88},6],"i":[{"e":88}],"l":0,"r":215,"s":[{"c":1},12],"u":73,"w":0},93],"i":[{"a":[{"l":[{"o":1}]}],"c":[{"h":[{"t":132},22]}],"e":[{"g":4,"i":21,"l":[{"a":22},23],"n":[{"e":136,"o":5}],"r":[{"e":[{"s":4}]}],"s":[{"t":13}]}],"f":[{"t":[{"s":55}]}],"g":[{"u":6}],"k":[{"e":[{"l":6}]}],"l":[{"l":93}],"m":[{"e":[{".":6,"s":5,"t":6}],"p":77}],"n":[{"d":108,"e":1,"f":93,"h":158,"s":[{"a":2},93],"t":76,"v":108}],"o":[{"b":6,"k":77}],"s":[{"e":[{"l":76}]}],"t":[{"a":2,"t":[{"e":10}],"u":1}],"u":[{"s":5}]}],"j":93,"k":317,"l":[{".":84,"a":[{"b":189,"c":93,"d":[{"u":77}],"g":93,"m":93,"n":[{"d":77}],"s":[{"c":11,"t":159}],"u":[{"b":88,"f":93}]}],"ä":[{"n":[{"d":77}],"u":[{"f":77}]}],"b":1,"e":[{".":76,"a":78,"b":76,"c":82,"d":106,"e":82,"g":76,"h":77,"i":[{"c":89,"n":106,"t":[{"e":[{"r":[{"s":66}]}],"r":318}]}],"n":[{"k":84},82],"r":[{"e":[{"i":102}]},106],"s":[{".":78,"e":82},77]},206],"i":[{"a":73,"b":77,"d":88,"e":[{"b":106},88],"f":77,"k":73,"l":84,"m":73,"n":77,"o":73,"s":77,"t":[{"e":82},73],"z":[{"e":82},73]}],"o":[{"a":73,"b":73,"c":[{"h":76},73],"k":73,"m":73,"p":73,"r":[{"b":77}],"s":77,"t":73}],"ö":[{"c":[{"h":77}],"s":77,"w":77}],"s":77,"u":[{"f":76,"k":77,"n":76,"t":73},71],"ü":[{"g":82},88],"w":77,"y":88},6],"m":[{"e":[{"n":[{"t":[{"r":10}]}]}],"i":[{"s":2}]},152],"n":[{".":77,"a":[{".":89,"c":77,"d":89,"h":255,"l":[{"e":[{"r":319}]},5],"n":[{"l":77}]},218],"ä":88,"b":77,"c":77,"d":77,"e":[{"h":82,"n":[{"t":107}],"t":[{"r":2}],"u":48},6],"f":77,"g":77,"h":77,"i":[{"e":73,"f":73,"n":[{"t":77},89],"s":[{"e":105},320]}],"k":77,"l":77,"m":77,"o":[{"n":147,"r":13,"t":82},73],"p":77,"r":77,"s":77,"t":77,"u":[{"m":[{".":88}]},77],"ü":73,"v":77,"w":77,"y":73,"z":77},71],"o":[{"a":[{"l":[{"i":4}]},5],"b":[{"e":[{"l":25}],"j":77,"l":289,"s":2},71],"f":152,"g":77,"h":[{"r":[{"e":[{"n":4}]}]},321],"i":0,"l":[{"a":2,"d":[{"a":2}],"f":[{"r":2}]}],"n":[{".":78,"a":[{"t":5}],"e":2,"s":78}],"p":[{"a":88,"f":10,"o":[{"s":6}],"t":77}],"r":[{"a":2,"d":93,"g":93}],"s":[{"i":6,"p":23,"t":[{"e":0}],"z":93}],"t":[{"h":3,"t":[{"e":[{"r":[{"b":26,"g":46}],"s":19}]}]}],"u":78,"y":0}],"ö":[{"f":6,"l":71,"t":78}],"p":134,"q":93,"r":[{"a":[{"b":[{"a":2,"i":2,"l":12},89],"d":[{"l":76}],"h":76,"k":76,"m":[{"m":[{"e":[{"n":[{"d":70},312],"r":33}]}]},48],"n":[{"d":[{".":82}]}],"r":[{"e":48},108],"s":[{"a":27,"h":12,"p":12,"t":2}],"u":[{"b":76,"f":25,"m":77,"s":[{"k":25}]}]}],"ä":[{"d":77,"s":[{"c":48}],"u":82}],"e":[{".":255,"b":89,"c":76,"d":[{"e":82}],"e":234,"f":[{"r":2},76],"g":[{"e":77}],"i":[{"c":76,"f":[{"r":10}],"h":76,"n":82,"t":82}],"m":147,"n":[{"n":106,"o":4,"z":[{"e":[{"i":58}],"w":17}]},78],"r":89,"s":[{"e":77,"s":[{"e":[{"r":322}]}]}],"t":82,"v":82}],"i":[{"c":76,"e":[{"m":76,"s":[{"e":82}]},2],"g":77,"l":[{"l":[{"a":10}]}],"n":[{"g":106,"n":106}]}],"o":[{"b":[{"a":162,"e":[{"r":4}],"l":2,"r":162}],"c":77,"h":77,"l":76,"s":[{"e":76,"s":[{"e":[{"l":33}]},89]}],"t":89}],"ö":[{"h":77}],"u":[{"f":[{".":77,"t":89}],"h":76,"i":82,"m":76,"n":[{"g":22}],"p":78,"s":78,"ß":78,"t":76}],"ü":[{"c":76}]},206],"s":[{"a":[{"b":3,"c":[{"k":140},89],"d":2,"k":3,"l":[{"b":128,"l":89,"m":89,"t":89},82],"m":[{"a":128,"b":1,"p":128},6],"p":16,"r":3,"t":82,"u":[{"g":22,"r":10}],"v":2}],"ä":[{"u":82}],"c":[{"a":89,"e":128,"h":[{"e":[{"f":89}],"i":5},10],"o":89},79],"e":[{"h":23,"i":[{"l":5}],"k":[{"l":12}],"l":[{".":82,"a":89,"n":82}],"m":1,"n":[{"t":128},48],"r":[{"e":82,"i":48},128],"s":284,"t":12,"u":89},2],"f":[{"i":[{"l":22}]}],"g":[{"e":[{"n":[{"e":102}]}]}],"h":[{"a":1}],"i":[{"d":2,"k":3,"l":82,"o":1,"t":[{"a":128}]}],"k":[{"i":[{"e":302}],"r":1}],"o":[{"b":122,"l":82,"n":5,"p":128,"r":[{"g":[{"e":141}]}]},2],"p":[{"a":[{"n":[{"t":5}],"s":128}],"e":[{"i":82,"k":79}],"i":[{"e":324},79],"l":128,"o":[{"r":[{"t":[{".":324}]}]}],"r":[{"u":128}]}],"r":[{"a":[{"t":19}],"ü":[{"c":22}]}],"s":16,"t":[{"a":[{"d":124,"g":89,"n":[{"z":89},124],"r":82,"t":[{"i":5}]},1],"ä":1,"e":[{"h":82,"i":[{"n":124}],"l":[{"l":5},257],"r":[{"r":4},22],"u":71}],"h":[{"y":6}],"i":[{"f":82,"l":82,"m":82,"r":82}],"o":[{"c":[{"h":89}],"d":89,"r":89},82],"ö":[{"r":5},1],"r":[{"a":[{"s":5,"t":5},12],"e":[{"i":[{"t":35}],"s":12,"u":89}],"i":[{"t":4}],"o":[{"s":4}]},1],"u":[{"n":82}],"ü":1}],"u":[{"n":1}],"y":82},323],"t":[{"e":[{"i":[{"s":25}]},82],"h":[{"y":6},0],"i":[{"m":2},6],"o":82,"r":5,"s":5,"ü":82},93],"u":[{"a":[{"l":[{"e":5}],"m":1,"n":[{".":0,"t":0}],"s":0}],"c":0,"d":[{"r":14}],"e":[{"d":77,"t":10},6],"f":152,"h":93,"i":[{"n":[{"s":1}],"s":0}],"m":[{"e":2,"m":[{"i":132},78]}],"n":[{"e":2,"f":93,"g":[{"e":[{"w":84},105],"l":77}],"i":152,"k":76,"r":77,"s":2,"t":77}],"r":[{"e":10,"l":189,"t":[{"h":162,"r":2,"s":25}],"u":48},78],"s":[{"a":14,"c":[{"h":[{"i":53}]},1],"e":1,"s":[{"o":48,"p":2,"t":2}],"t":[{"a":[{"b":159}],"e":[{"n":[{"d":325}],"r":[{"l":26}]},4],"r":12},5]},6],"t":[{"a":13,"e":[{"r":[{"h":197}]}],"h":13,"s":[{"p":162}]},6]}],"ü":[{"b":77,"r":326,"s":23}],"v":93,"w":93,"y":[{"n":[{"a":5},1]}],"z":[{"e":[{"u":[{"g":[{"i":10}]}]}]},161]}],"h":[{"a":[{".":77,"b":[{"a":2,"e":2,"f":82,"i":2,"l":[{"u":71}],"n":77,"r":72,"s":71,"w":77}],"c":[{"h":[{"e":[{"n":186}],"o":6}],"k":[{"s":19}]}],"d":[{"a":77,"e":[{"l":6,"n":22}],"l":[{"e":71}],"r":[{"i":1},72]}],"e":[{"l":1},77],"f":[{"a":[{"r":5}],"e":2,"f":[{"ä":71,"l":9}],"t":[{"o":12,"r":[{"e":12},2],"s":[{"p":277}]},73]}],"g":[{"a":2,"g":73}],"h":[{"a":1,"s":73},71],"i":[{".":78},73],"j":73,"k":[{"a":77,"l":0}],"l":[{".":74,"a":[{"l":3,"n":[{"c":19}],"r":72,"u":6}],"b":[{"a":2,"e":[{"l":12}],"i":[{"n":12}],"r":162,"u":2}],"e":77,"h":77,"i":2,"l":[{"a":11,"e":[{"r":[{"e":26,"f":29,"g":26}]}]}],"o":1,"p":84,"s":[{"k":12,"p":2}],"t":[{"a":[{"l":12}],"e":[{"i":12}],"r":162}]}],"m":[{"o":[{"t":19}],"t":93}],"n":[{".":73,"a":[{"l":6,"n":6,"u":2},77],"b":[{"e":73},77],"d":[{"a":2,"e":[{"r":27}],"r":162,"s":25},73],"e":[{"m":6}],"f":11,"g":[{"e":[{"n":[{"d":46}]}],"r":[{"o":12}]}],"k":11,"l":77,"o":77,"r":77,"s":[{"c":71}],"z":77}],"p":[{"e":88,"l":6,"o":6,"r":6},93],"r":[{"a":[{"b":5},86],"b":77,"c":77,"d":73,"f":[{"r":2}],"m":[{".":71,"a":4,"e":[{".":12},73]}],"n":[{"e":12}],"o":[{"m":6}],"s":77,"t":[{"e":10,"h":2,"i":71,"r":12}],"z":[{"a":2}]}],"s":[{".":77,"a":107,"c":12,"h":162,"s":[{"a":12,"e":[{"r":102}],"t":27}],"t":[{"r":6}]},73],"ß":72,"t":[{"a":6,"i":2,"l":82,"r":23,"s":77,"t":[{"r":82},136]}],"u":[{"d":[{"i":71}],"f":[{"b":71,"l":[{"i":[{"e":327}],"o":9}],"m":93,"s":71}],"g":328,"k":[{"t":71}],"s":[{"a":[{"n":12},2],"c":11,"e":[{"l":12,"n":[{"t":46}]},73],"p":[{"a":12,"e":12}],"s":[{"e":[{"n":312}]}],"u":[{"r":12}]}],"t":[{"a":11,"r":27}]}],"v":[{"e":[{".":6}]}]}],"ä":[{"d":[{"e":22}],"f":[{"f":71}],"i":77,"k":[{"l":6}],"r":[{"z":77}],"s":[{"c":[{"h":[{"e":[{"n":20}]}]}],"t":93}],"u":[{"g":77,"s":[{"c":11,"p":1}]}]}],"b":[{"a":[{"r":[{"a":[{"s":12}]}]}],"e":[{"r":[{"e":22}]}]},134],"c":93,"d":[{"a":[{"n":22}]},161],"e":[{"a":[{"d":6},77],"b":[{"e":[{"i":[{"s":4}]},1],"l":23,"r":1,"u":1}],"c":[{"h":[{"e":43,"i":1,"o":0,"s":82}],"k":[{"e":1}]}],"d":[{"g":2,"i":[{"t":6}]}],"e":[{"m":120,"n":2,"s":2,"t":32}],"f":[{".":73,"a":[{"n":6,"u":6}],"e":[{"i":21,"m":3,"r":[{"m":4}]}],"f":77,"i":[{"d":6,"n":[{"g":39}]}],"l":[{"e":38}],"r":[{"a":12,"e":6},77],"t":78,"u":6}],"g":[{"u":1}],"h":[{"e":[{"l":6}]}],"i":[{"a":12,"b":89,"e":71,"f":71,"g":71,"m":[{"a":[{"l":12,"n":12,"r":12}],"e":[{"i":12}],"p":25,"u":12},6],"n":[{"a":12,"e":[{"b":27,"n":[{"e":26}],"r":27},105],"t":[{"r":82}]},77],"o":77,"s":[{"m":127,"t":0}],"t":[{"s":277},73],"w":71}],"k":[{"t":[{"a":25}]}],"l":[{"a":[{"g":1,"n":13,"u":4},6],"e":[{"c":13,"k":6,"m":82,"n":6}],"f":73,"i":1,"l":[{"a":[{"u":27},22]}],"m":[{"e":[{"i":12}]}],"o":[{"f":5,"r":2},1],"ö":6,"t":84}],"m":[{".":89,"a":77,"b":2,"d":75,"e":154,"i":[{"a":5,"s":[{"s":124}]},167],"m":75,"p":76}],"n":[{".":73,"a":315,"ä":6,"e":[{"b":[{"e":4}],"n":[{"d":4,"e":5,"s":5},132],"r":[{"g":4,"m":5}],"t":150}],"g":[{"a":[{"g":12},77]}],"k":[{"a":[{"n":12,"u":12}]}],"o":[{"t":25},77],"s":[{"e":[{"m":12}],"t":[{"r":4},105]}],"t":[{"a":22,"e":[{"r":12},4],"r":[{"i":12},35],"s":71,"w":76,"z":82}],"u":14,"z":37}],"o":[{"n":1,"p":1},80],"p":[{"a":1,"h":1,"i":72,"t":22}],"r":[{".":73,"a":[{"b":37,"d":6,"p":77,"r":315,"u":105}],"b":22,"e":[{"b":125,"c":[{"k":5}],"i":[{"f":12,"g":220,"s":[{".":24,"e":[{"s":263}]}]}],"l":6,"n":[{"e":5}],"r":[{"s":[{"c":24}],"w":5}]}],"f":[{"o":[{"l":12},71]}],"g":[{"e":[{"b":[{"n":221}]}]}],"i":[{"f":77,"n":[{"d":19,"f":19,"n":[{"u":273}],"s":19}]}],"k":[{"e":71,"l":[{"ä":12}],"r":[{"a":[{"n":329}]}]}],"l":[{"a":[{"d":164}]}],"m":77,"o":[{"b":315,"f":5,"p":5,"t":5},1],"ö":[{"r":71}],"t":[{"h":4},10],"u":[{"m":4}],"z":[{"a":[{"p":12}],"e":[{"n":[{"g":26}],"u":82}],"w":11}]}],"s":[{"a":16,"e":77,"i":1,"p":3,"t":[{"ä":26}]}],"t":[{"a":[{"p":6}],"ä":1,"e":[{"r":105}],"h":1,"i":2,"s":16}],"u":[{"g":4,"n":[{"t":1}],"s":[{"c":78}]},6],"x":[{"a":32,"p":77},1],"y":[{"e":0},2]}],"è":75,"f":[{"a":[{"l":[{"l":[{"e":[{"r":312}]}]}],"n":22}],"e":[{"l":[{"l":330}]}],"i":[{"s":2}],"l":[{"e":[{"i":105}]}]},134],"g":[{"a":[{"s":11}]},134],"h":[{"o":[{"h":22}]},152],"i":[{".":84,"a":[{"r":6,"t":71},77],"c":[{"e":0,"h":[{"t":[{"e":[{"r":58}],"s":[{"p":15}]}]}]},77],"d":[{"e":12,"i":[{"o":5}],"o":77},1],"e":[{"n":[{"s":1}],"r":[{"e":[{"i":12}],"i":[{"n":12},25],"s":105}]},6],"f":[{"f":[{"r":9}]}],"k":[{"r":23}],"l":[{"a":254,"e":[{"n":266}],"f":[{"r":2}]}],"m":[{"a":77,"i":[{"t":124}],"m":89,"p":[{"e":82}]},73],"n":[{"a":[{"k":1,"m":1,"p":1,"s":47}],"d":[{"e":73}],"e":[{"i":22,"l":1,"n":331}],"f":71,"h":71,"i":173,"n":37,"o":3,"s":37,"t":[{"a":11}]},6],"o":[{"b":1,"n":5},77],"p":[{"l":5,"s":22,"u":5},23],"r":[{"a":1,"e":107,"i":1,"m":[{"a":11,"i":2}],"n":[{"e":[{"r":12}]},48],"s":2,"t":75},6],"s":[{".":77,"a":2,"e":5,"o":72}],"t":[{"a":[{"c":1,"n":6}],"e":[{"l":6}],"h":0,"i":3,"r":[{"o":6},13],"z":[{"e":37}]}],"v":[{"o":21}]}],"j":93,"k":[{"a":[{"m":[{"p":105}]}],"e":[{"u":73}],"i":[{"n":11}],"ö":82},205],"l":[{"a":[{"f":89,"g":[{"r":2},6],"n":[{"d":[{"a":277}],"s":0,"z":0}],"s":71,"t":71,"u":[{"t":71}],"y":71}],"ä":[{"c":[{"h":[{"e":82}]}],"s":71,"u":71}],"b":12,"d":16,"e":[{".":82,"a":4,"b":82,"d":82,"e":4,"i":[{"s":[{"t":82},73]}],"l":0,"n":[{".":140,"a":[{"s":12}],"e":[{"n":247}],"n":6,"t":[{"r":128,"s":89}],"z":6}],"r":[{"a":162,"e":5,"g":73,"h":[{"ö":10}],"k":6,"n":[{"ä":332}],"u":[{"n":4}],"w":0,"z":89},82],"s":[{"i":89},82],"u":[{"d":89}]}],"f":12,"g":12,"i":[{"e":[{"d":82},73],"f":73,"m":73,"n":[{"d":0,"g":[{"s":191}]}],"p":73,"s":73,"t":333}],"l":3,"m":3,"o":[{"b":0,"c":82,"f":32,"g":82,"r":[{"a":2},89],"s":[{".":82,"i":82,"s":[{"t":10},89]}]},73],"ö":[{"s":73}],"s":[{"a":[{"r":5}],"e":[{"r":6}],"k":[{"a":1}],"l":[{"o":3}],"t":[{"e":[{"r":[{"n":18}]}],"i":[{"e":4}],"r":7}],"u":6}],"t":3,"u":[{"f":82,"k":82,"m":[{"p":[{"e":82}]}]}],"ü":[{"f":71}],"z":2},77],"m":[{"a":[{"b":[{"l":1}],"d":82,"g":82,"k":82,"n":[{"t":73},82],"r":[{"c":128},82]},6],"ä":[{"c":89,"h":89,"l":89},82],"e":[{".":82,"d":82,"e":[{"r":[{"s":19}]},184],"i":[{"n":82}],"l":[{"d":82,"e":4}],"n":[{"s":22},82],"r":[{"a":[{"n":12}],"e":[{"i":12}]}],"s":[{"t":100}],"x":82},6],"i":[{"e":2,"n":[{"d":82,"i":82,"z":82}],"r":[{"r":82}]}],"o":[{"p":82,"t":82},73],"ö":[{"l":89},79],"p":3,"s":[{"a":1,"p":13},6],"u":[{"l":82,"t":[{"s":10}]},73]},93],"n":[{"a":[{"c":2,"g":82,"m":82,"r":89,"t":[{"e":3,"t":89}],"u":[{".":82}]},73],"ä":[{"h":0,"s":82},73],"d":16,"e":[{"b":4,"e":162,"f":[{"f":1}],"i":[{"g":1,"n":1}],"l":73,"n":[{"g":5},12],"p":[{"f":12}],"r":[{"d":[{"e":10}],"e":[{"i":25}],"o":334,"s":[{"a":128}]},82],"x":1},6],"f":[{"l":[{"e":[{"i":102}]}]},16],"h":[{"o":[{"f":[{"s":[{"t":[{"r":[{"a":[{"s":175}]}]}]}]}]}]}],"i":[{"c":73,"d":73,"e":73,"m":0,"n":0,"p":73,"s":[{"a":12}]}],"k":12,"n":[{"o":22}],"o":[{"r":289}],"r":[{"a":22}],"s":[{"a":1,"p":3,"t":[{"o":12},22],"u":[{"c":[{"h":102}]}]}],"t":[{"s":22}],"u":[{"l":73,"n":[{"f":104}]}],"z":3},77],"o":[{"a":[{"r":5}],"b":[{"e":[{"r":[{"n":1}]}],"l":23}],"c":[{"h":[{"a":5,"e":105},168],"k":[{"a":6,"e":[{"r":[{"l":24}]}],"t":25}]}],"d":77,"e":[{"n":4,"r":1},80],"f":[{"a":125,"ä":6,"e":[{"d":6,"u":6}],"f":[{"a":9}],"l":23,"o":21,"r":23,"u":6}],"i":77,"l":[{"a":[{"r":4},125],"e":[{"i":21,"m":6},75],"g":9,"k":4,"l":10,"s":4,"y":[{"m":82},77],"z":[{"e":[{"n":[{"e":26}]}]},75]}],"m":[{"e":[{".":6,"c":6,"d":6},2]}],"n":[{"e":[{"r":2}]},73],"o":[{"n":0,"r":2}],"p":77,"r":[{"a":[{"n":335,"u":6},0],"d":238,"e":[{"n":[{"s":5}],"t":1},77],"g":93,"t":[{"a":4,"e":[{"r":12}],"u":71}]}],"s":[{".":73,"e":[{"i":6},22],"l":[{"a":5},1],"p":[{"r":1},6]}],"ß":[{"e":[{"n":[{"e":5}]}]}],"t":[{".":77,"h":1,"r":77,"s":155}],"u":[{"s":12},75],"w":109,"x":71,"y":32}],"ö":[{".":77,"c":[{"k":1},6],"h":[{"e":194}],"s":[{"t":82},109]},85],"p":134,"q":71,"r":[{"a":[{"b":2,"c":3,"d":1,"g":32,"h":115,"i":71,"n":[{"e":71}],"p":1}],"ä":[{"u":82}],"b":12,"c":0,"d":1,"e":[{"c":[{"h":79},73],"d":82,"f":[{"f":1},82],"h":104,"i":[{".":89,"b":[{"a":10,"r":10}],"c":82,"f":82,"g":128,"n":[{"i":5,"l":89}],"t":[{"h":25}]}],"l":[{"i":132}],"p":82,"r":[{"g":[{"e":[{"b":33}]}],"h":6,"k":6,"l":[{"a":89,"e":[{"b":336}]}],"m":6,"s":[{"a":10},25],"w":6,"z":6}],"s":[{"s":105,"t":105},337],"t":[{"a":104},2],"u":104,"v":73}],"g":2,"i":[{"c":[{"k":89},82],"e":[{"s":[{"l":82}]},12],"n":[{"d":114,"t":0},82],"s":[{"t":89}],"t":[{"t":[{"e":[{"r":140}]}]}]},73],"l":1,"m":3,"o":[{"g":82,"h":82,"l":217,"m":[{"a":[{"t":89}],"e":89,"i":89,"o":89}],"n":89,"p":[{"a":71}],"r":12,"u":82}],"ö":[{"s":257}],"r":12,"s":[{"a":[{"c":41,"n":[{"d":14}]}],"c":[{"h":[{"l":1}]}],"e":[{"m":21,"n":6,"r":21,"t":6}],"h":5,"i":[{"n":6}],"k":4,"l":4,"o":[{"f":41}],"t":22,"u":6}],"t":[{"a":[{"b":6,"n":6}],"e":[{"l":36}],"h":6,"o":[{"p":6}],"r":[{"i":[{"c":4}]}],"s":2}],"u":[{"h":82,"m":[{"s":0}],"t":82}],"ü":[{"b":89},82],"y":89,"z":2},77],"s":[{"a":[{"c":[{"h":[{"t":128}]}],"d":113,"l":[{"k":104,"l":73}],"m":[{"t":89}],"n":[{"d":1},73],"s":104,"t":[{"h":73,"o":73}],"u":[{"d":73,"r":128,"t":73}]}],"ä":[{"h":73,"u":[{"g":73}]}],"c":[{"h":[{"a":[{"n":89}]}],"r":6}],"e":[{"c":86,"e":12,"h":[{"r":114}],"i":[{"e":104,"n":[{"d":89,"s":[{"t":164}]}]}],"l":[{"e":82,"i":[{"n":12}]}],"m":[{"i":0}],"n":[{"d":[{"w":89}],"e":[{"r":[{"g":55}]}],"t":104}],"r":[{"f":104,"g":0,"h":73,"k":[{"l":89}],"l":104,"n":[{"ä":89,"e":5},0],"ö":73,"w":104,"z":73}],"x":[{"t":79},73]}],"h":[{"a":[{"k":22}]}],"i":[{"d":113,"m":6,"n":[{"g":104,"n":[{"i":124}]}],"t":[{"a":128}]}],"k":[{"a":[{"l":6,"n":[{"d":82}]}]}],"o":[{"f":0,"p":73,"r":[{"g":0}]}],"p":[{"a":[{"c":73,"n":[{"i":128}],"r":104,"t":104}],"e":[{"c":82,"i":82,"r":[{"b":82}]}],"h":73,"o":[{"i":82}],"r":[{"ä":73,"o":73}]}],"s":12,"t":[{"a":[{"b":[{"l":1}],"d":82,"f":73,"l":[{"t":4}],"n":82,"r":[{"b":4}],"u":86},217],"ä":[{"u":86}],"e":[{"c":71,"i":71,"l":[{"e":89},71],"r":[{"b":124,"n":124}]}],"i":[{"t":73},72],"o":[{"l":73,"r":73},71],"r":[{"e":[{"u":128}],"o":105},71],"u":[{"m":1,"n":71}],"ü":71}],"u":[{"n":[{"g":6}]},104]},84],"t":[{"a":[{"b":[{"l":2},73],"d":289,"g":6,"k":[{"t":[{".":5,"e":5}]}],"l":[{"l":73,"o":89,"p":73,"t":73}],"m":234,"n":[{"e":1,"k":6},289],"p":73,"r":289,"s":[{"i":86,"y":73},232],"t":[{".":82,"e":82},86],"u":[{"m":82},73],"x":89},0],"ä":[{"r":73},0],"e":[{"b":[{"e":[{"r":16}]}],"c":[{"h":[{"a":4}]},32],"d":113,"f":[{"f":0}],"h":[{"e":32}],"i":[{"f":73,"g":104,"l":[{"z":128}],"m":104,"n":0,"s":104}],"k":[{"e":104}],"l":[{"a":[{"s":128}],"e":[{"i":[{".":46}],"k":89}],"f":[{"e":128}],"i":[{"t":128}]}],"m":[{"i":104,"p":73},12],"n":[{"g":[{"a":89,"l":128}],"t":[{"a":128,"f":89,"s":89}]}],"r":[{"d":[{"e":[{".":33}]}],"e":[{"r":[{"s":29}]}],"f":[{"o":1,"ü":[{"l":164},1]}],"g":[{"e":[{"b":164}],"r":[{"i":33},1]}],"h":[{"ä":[{"l":33}],"ö":[{"h":[{"u":30}]}]},0],"l":[{"e":[{"b":164,"u":338}]}],"n":[{"e":[{"u":164}]}],"s":[{"p":[{"a":[{"r":30},7]}],"t":[{"a":164},1]}],"t":[{"r":[{"a":33}]}],"w":[{"ä":1}],"z":[{"e":1}]}],"s":[{"e":296,"s":114}],"t":[{"a":73,"h":12}],"u":104,"x":[{"t":[{"r":89}]}]}],"h":[{"e":[{"i":89,"r":[{"a":82}],"s":82}],"o":89},104],"i":[{"d":113,"m":104,"n":[{"e":1},339],"s":104,"t":136}],"n":[{"i":22}],"o":[{"b":104,"d":99,"f":113,"l":[{"y":128}],"p":[{"e":73}],"r":[{"d":89}]}],"r":[{"a":[{"k":1,"n":[{"d":1},82],"s":128,"t":[{"e":[{"s":24}]}],"u":[{"b":89,"m":[{"e":24}]},1]}],"e":[{"c":[{"k":140},1],"i":1,"s":86}],"i":[{"c":1,"e":[{"g":128}],"n":128}],"o":[{"l":86,"s":86}],"ö":[{"m":1}],"u":1,"ü":86}],"s":[{"a":[{"h":6,"l":6,"n":177}],"c":[{"r":6}],"e":[{"i":[{"n":5}],"l":6,"n":[{"d":14,"g":5}],"r":[{"i":14},163]}],"h":[{"a":[{"k":16},105]}],"k":[{"r":4}],"o":21,"p":[{"a":[{"r":4}]},6],"t":[{"ä":[{"t":4}],"i":[{"e":12}],"r":[{"a":[{"u":35}]}],"u":[{"r":14}],"ü":[{"r":14}]}],"u":6},89],"t":[{"i":22},12],"u":[{"b":82,"e":2,"r":[{"s":104}]}],"ü":82,"z":3},189],"u":[{"b":[{"a":21,"e":[{"i":21,"l":5,"n":340}],"i":6,"l":23,"r":198,"u":6}],"c":0,"f":[{"a":6}],"h":[{"a":23,"i":21,"r":71,"u":71}],"k":[{"ä":6,"i":[{"n":21}],"o":48,"t":9}],"l":[{"a":[{"b":5},118],"ä":6,"e":[{"b":21,"i":21,"m":6,"n":[{"g":14,"t":5}],"r":21,"t":6},22],"i":[{"d":6,"n":21}],"l":37,"o":6,"ö":6,"s":37}],"m":[{"a":3,"h":71,"s":71}],"n":[{"a":71,"d":[{"e":[{"i":17,"s":17},37]}],"e":2,"f":77,"g":[{"e":4,"s":[{"a":102},10]},22],"i":71,"m":71,"t":77},6],"p":[{"s":71}],"r":[{"g":37,"t":[{"h":162}]},77],"s":[{"a":1,"o":6,"s":[{"a":162,"e":[{"r":341},4],"o":11,"p":2,"t":2}]}],"t":[{"a":[{"b":6}],"i":6,"o":21,"r":23,"t":[{"e":4},2],"z":[{"e":[{"n":12,"r":27}],"u":2}]}]}],"ü":[{"b":[{"e":[{"r":82}],"s":89,"u":82}],"f":[{"t":48},2],"h":[{"n":[{"e":19}]}],"s":4},73],"v":[{"i":[{"l":22}]},93],"w":[{"a":[{"l":[{"l":73}]}],"e":[{"c":13,"i":[{"b":71,"h":71,"n":[{"s":[{"a":15},247]}]}]}],"i":[{"r":[{"r":73}]}]},80],"y":[{"d":[{"r":1},192],"l":[{"o":[{"r":6}]}],"m":[{"n":75}],"o":[{"s":1},71],"p":[{"e":[{".":6}]},75],"t":80}],"z":[{"a":6,"o":79,"u":[{"g":10}],"w":79},93]}],"i":[{"a":[{"d":[{".":82,"a":2,"n":71,"o":1}],"f":[{"l":12}],"g":[{"o":73}],"h":32,"i":71,"k":[{".":82,"e":[{"i":6},82],"r":6,"t":71}],"l":[{"a":[{"r":4,"s":4},125],"ä":6,"b":9,"d":9,"e":[{"b":82,"f":82,"i":82,"k":1,"l":82,"n":[{"g":82,"t":82}],"r":[{"b":82,"f":202,"h":82,"m":124}],"t":342,"x":82}],"i":[{"a":79,"m":82,"n":79}],"l":[{"e":[{"r":12}],"i":22},171],"o":[{"n":6,"p":6,"r":125},73],"p":4,"t":37,"u":254,"z":37},71],"m":[{".":82,"a":1,"p":[{"e":19}],"s":71}],"n":[{".":71,"a":[{"l":[{"t":4},6],"u":6},217],"c":71,"d":256,"e":[{"b":343,"r":2}],"n":71,"s":[{"p":11},71],"t":82,"z":[{"a":19},82]}],"o":[{"p":6},0],"p":1,"q":0,"r":[{".":82,"a":6,"e":73,"r":4},71],"s":[{".":82,"h":1,"i":73,"p":3,"s":4,"t":10},71],"t":[{".":82,"h":[{"e":89},257],"r":75,"s":82}],"u":[{"n":1},82],"z":73}],"ä":[{"m":72,"p":71,"r":[{".":71,"m":4,"s":71,"z":4},2],"t":[{"e":[{"m":124}],"i":6,"r":5,"s":195},71],"v":71},77],"b":[{"a":[{"r":[{"t":0}],"u":[{"f":104,"s":104,"t":73}]}],"b":[{"l":[{"i":6}]}],"e":[{"i":[{"g":104,"s":104}],"n":99,"r":[{"g":[{"e":[{"b":336}]}],"l":[{"a":344}],"o":13}]}],"i":[{"m":73,"n":104}],"l":[{"a":[{"d":73}],"e":[{"u":73}],"u":82}],"o":79,"ö":73,"r":[{"a":[{"u":86}],"i":[{"c":1}],"o":[{"c":86}]}],"s":[{"e":[{"r":6}],"t":[{"e":5}]}],"u":[{"n":[{"k":86,"t":86},6],"s":[{"c":48}]}]},189],"c":[{"a":82,"c":0,"e":13,"h":[{"a":[{"r":[{"t":[{".":26}]}]},100],"ä":13,"e":[{"i":13,"r":[{"i":[{"n":279}]},2]},71],"i":71,"l":[{"e":4,"i":4,"o":345},13],"m":35,"n":4,"o":[{"r":[{"t":4}]},71],"r":346,"s":[{"e":[{"l":[{"e":26}]}],"i":11,"p":[{"e":12}],"t":[{"i":[{"e":26}]}]}],"t":[{"r":2}],"u":71,"w":13}],"i":71,"k":[{"e":82,"t":22}],"l":[{"a":1},71],"r":[{"a":1}],"u":82},77],"d":[{"a":[{"b":6,"c":79,"l":5,"n":[{"s":79},32],"t":124,"u":0,"x":6},77],"ä":13,"e":[{".":76,"a":73,"e":75,"i":[{"s":1}],"l":[{"ä":10},77],"m":[{"u":[{"l":89}]}],"n":[{".":106,"o":99,"s":[{"e":10}]}],"r":[{"a":[{"n":4}],"i":[{"n":[{"n":[{"u":64}]}]}],"ö":13,"r":[{"e":[{"g":33}]}]}],"s":[{"a":35,"o":4,"p":22},76]},6],"i":[{"o":[{"n":12,"t":89},347]}],"k":77,"n":[{"i":25}],"o":[{"l":73,"o":77},6],"ö":73,"r":[{"ä":5,"i":[{"t":5}],"o":5,"u":5},86],"s":[{"p":21}],"t":12,"y":85},71],"e":[{"a":3,"b":[{"ä":6,"l":6,"r":[{"e":4,"i":6,"ü":14}],"s":[{"t":[{"o":12}]}]}],"c":[{"h":[{"o":6,"t":25}],"k":6},0],"d":[{"a":[{"n":23}],"e":1,"r":6}],"e":32,"f":[{"a":[{"k":[{"t":4}],"n":21,"r":6,"u":6}],"ä":[{"h":6}],"e":[{"m":22}],"f":9,"i":2,"l":23,"o":[{"n":[{"k":5}]}],"r":[{"o":6},13]}],"g":[{"l":[{"i":35},6],"n":16,"r":[{"e":23}],"s":[{"c":59,"e":12,"i":12,"t":12}]}],"h":[{"e":[{"r":1}],"i":[{"n":21}],"r":37}],"i":[{"n":[{"d":0}]},71],"l":[{"a":[{"r":22},348],"ä":[{"s":6}],"d":9,"e":[{"b":176,"c":13,"i":[{"d":4}],"k":6,"n":[{"e":5,"g":5},89],"r":[{"e":19,"f":[{"i":15}],"g":[{"e":[{"b":175}]}],"k":[{"e":15}],"l":[{"a":15,"e":[{"b":[{"n":175}]}]}],"w":12}],"s":105},73],"i":[{"d":22},73],"l":241,"o":[{"b":36,"p":6,"r":24}],"s":[{"z":4},97],"t":22}],"m":[{"e":2,"i":[{"s":105}]}],"n":[{".":82,"a":[{"g":13,"m":12,"s":5},82],"ä":82,"d":82,"e":[{"b":13,"c":82,"k":349,"r":[{"f":[{"o":15}],"g":197,"l":[{"a":15}]}],"x":82},73],"f":82,"g":[{"e":[{"f":19,"z":19}]},350],"h":82,"i":[{"d":6,"m":6,"n":14}],"j":82,"k":82,"l":[{"a":82,"e":82}],"m":82,"n":82,"o":79,"ö":82,"p":82,"r":82,"s":[{".":82,"a":82,"c":171,"e":328,"i":4,"k":37,"p":328,"t":[{"e":[{"r":58}],"r":[{"ä":54}]}],"z":171},2],"t":[{"a":[{"r":27}],"h":82,"r":4,"y":82}],"u":[{"m":5},1],"v":82,"w":82,"z":82},71],"o":120,"r":[{"a":[{"d":36,"p":6},4],"b":[{"u":[{"n":82}]},10],"d":4,"e":[{"c":[{"k":5}],"i":[{"n":[{"s":55}],"s":14}],"r":[{"k":17,"z":14},3]},73],"f":10,"g":[{"i":71},10],"i":89,"k":22,"n":[{".":82,"a":22,"i":73},71],"ö":6,"r":[{"e":[{".":12}]}],"s":[{"e":[{"h":27,"i":4}],"t":[{"a":4,"e":4},22]}],"t":[{"e":4,"i":22}],"z":37}],"s":[{"a":[{"n":6}],"c":73,"e":[{"n":[{"s":149}]},73],"p":[{"a":16,"e":2,"u":6}],"s":[{"e":[{"r":[{"g":351,"l":26}]}],"t":2}],"t":[{"e":33,"i":[{"n":5}],"r":0}],"u":1},77],"t":[{"a":[{"g":41,"k":21,"n":6,"p":21,"t":6,"u":6}],"e":[{"n":[{"t":5}],"r":[{"h":14,"t":14}]}],"h":[{"e":[{"r":4},89],"o":21,"y":6}],"o":[{"b":5}],"ö":[{"s":150}],"r":[{"i":23,"u":23}],"s":[{"e":2}],"t":71,"z":[{"w":4}]}],"u":[{"e":2,"n":0}],"w":[{"u":23}],"x":72}],"f":[{"a":[{"n":[{"g":[{"e":1}]}],"r":[{"m":86},0],"t":5,"u":104}],"ä":[{"n":0}],"e":[{"c":73,"f":104,"i":[{"n":0},12],"n":226,"r":[{"g":104,"h":0}]}],"f":[{"a":[{"r":6}],"l":23,"r":[{"o":6}],"s":[{"t":[{"e":12}]},2]}],"l":[{"a":[{"c":0}],"ä":5,"o":[{"s":5},10],"ü":71},1],"r":[{"e":[{"g":73,"v":5},71]},1],"s":[{"a":1,"e":1,"p":1,"t":[{"a":1}]},6],"t":[{"a":23,"e":[{"d":6,"f":23,"i":41,"l":36,"p":6,"r":[{"k":5}],"s":[{"c":14},22]}],"h":5,"o":[{"p":21}],"r":[{"i":14},21],"s":[{"p":4,"t":22,"z":4}],"u":[{"r":6}]}],"y":71},77],"g":[{"a":[{"n":[{"b":73}],"r":[{"b":73,"t":0}],"s":13,"t":[{"t":86}]}],"d":2,"e":[{"b":[{"r":[{"a":[{"u":164}]}]}],"f":[{"a":[{"r":89}],"ü":[{"g":12}]}],"l":[{".":88,"a":[{"u":35}],"n":73}],"m":[{"e":12,"i":[{"s":12}]}],"n":[{"a":12,"e":[{"n":[{"e":26}]}],"i":[{"d":12}]}],"o":2,"p":[{"a":2}],"r":[{"a":2,"w":[{"e":[{"r":7}]}],"z":[{"e":10},0]}],"s":[{"e":[{"l":12}],"s":104}],"t":[{"r":[{"a":12,"e":12}]}],"w":[{"o":[{"h":12}]}]}],"i":[{"m":73}],"l":[{"a":[{"u":0}],"ä":82,"e":82,"i":[{"m":1}]},73],"n":[{"a":5,"ä":89,"e":[{"u":124}],"o":5}],"o":[{"p":13}],"r":[{"a":[{"d":1}],"e":[{"n":5},86],"o":[{"u":73}]}],"s":[{"a":[{"g":3,"l":5}],"ä":1,"c":[{"h":[{"r":5}]}],"o":3,"p":[{"a":5},1],"t":[{"e":[{"i":1}],"i":5,"o":14,"r":[{"a":[{"s":24}]},1],"ü":16}]}],"u":[{"n":[{"g":19}]}]},93],"h":[{"a":[{"r":73}],"e":[{"e":13,"l":[{"t":0}],"n":12,"u":4},82],"m":1,"n":1,"r":3,"s":2,"u":[{"m":[{".":0}]}],"w":0},93],"i":[{"a":16,"e":71,"g":82,"m":71,"n":82,"s":[{".":73},115],"t":[{".":71},1]},6],"j":[{"s":85},71],"k":[{"a":[{"g":[{"e":2}],"k":[{"a":0,"e":[{"n":247}],"t":104}],"m":[{"t":1}],"n":[{"g":104,"t":[{"e":[{"i":164,"n":[{"n":66}]}]}]}],"r":[{"t":0}],"t":[{"t":1}],"u":104,"z":82}],"ä":[{"h":0,"r":73}],"e":[{"b":[{"e":0},73],"c":2,"d":104,"f":104,"i":104,"l":99,"n":[{"s":83,"t":0},11],"r":[{"a":2,"e":352,"f":[{"a":[{"m":140}]},117],"h":117,"l":97,"o":73,"u":346}],"t":[{"a":104}]},84],"i":[{".":82,"d":32,"e":82,"n":[{"s":73},0],"s":13},84],"l":[{"ä":[{"n":5}],"e":[{"r":[{"i":124}],"t":124}],"i":[{"m":5}],"u":82},86],"n":[{"e":73,"u":1}],"o":[{"b":[{"e":4}],"f":[{"f":104}],"p":100,"r":[{"i":2},0],"s":13}],"ö":[{"l":73}],"r":[{"ä":1,"e":[{"s":73},1],"i":[{"s":5}],"o":82,"ö":73}],"s":[{"a":1,"t":[{"e":1}],"z":1},2],"t":[{"e":[{"r":[{"k":4}],"s":[{"k":14}]}],"r":[{"e":23}],"u":2}],"u":[{"h":104,"p":73,"s":82}],"ü":73},93],"l":[{"a":[{"b":73,"c":104,"k":104,"m":[{"a":32}],"n":[{"g":0,"m":104,"o":73,"s":0,"z":[{"e":[{"r":33}]}]}],"r":[{"b":73}],"s":[{"p":0}],"u":[{"b":82,"f":[{"b":124}]},104]},71],"ä":[{"r":73},311],"b":[{"l":12},77],"c":[{"h":[{"e":[{"n":7}]}]},6],"d":[{"a":6,"ä":6,"e":[{"b":[{"e":4}],"n":[{"t":39}],"r":[{"p":12},1],"s":22}],"i":22,"o":[{"r":6},13],"r":6}],"e":[{"c":32,"i":[{"n":0}],"l":0,"m":[{"b":73,"i":113}],"n":[{"t":[{"l":89,"s":89},0]}],"r":[{"d":104,"e":[{"i":[{"g":164},10]}],"f":[{"o":10},0],"g":97,"h":117,"k":[{"l":278}],"r":[{"i":89},0],"z":79}],"t":[{"h":12}],"x":0},84],"f":[{"e":[{"s":25}],"l":23,"r":[{"e":23}],"s":27},2],"g":[{"l":6}],"h":77,"i":[{"e":[{"n":353}],"g":[{"a":[{"b":27},105]}],"k":10,"n":[{"d":104,"i":[{"t":128}],"s":0}],"p":[{"f":13},104]},77],"l":[{"a":[{"n":2},1],"e":[{"n":[{"n":5}],"r":3}],"u":75}],"m":[{"a":[{"k":6,"p":21,"u":21}],"e":[{"i":13}],"i":[{"n":6}],"o":[{"r":6}]}],"o":[{"b":0,"h":6,"p":6,"r":113,"u":82,"v":82,"x":0},77],"s":[{"e":[{"n":[{"t":4}]}],"t":[{"o":12}]}],"t":[{"h":1},2],"u":[{"m":73,"n":[{"g":19}],"r":104,"s":82},71],"ü":12,"v":158,"z":[{"a":[{"r":6,"u":6}],"e":[{"r":[{"k":4}]}],"w":[{"a":6}]}]}],"m":[{"a":[{"d":22,"i":13,"l":6,"n":[{"h":86,"s":0}],"r":[{"c":73,"e":[{"n":1}],"m":104,"t":104}],"s":6,"t":[{"r":2,"s":[{"c":55}],"u":[{"r":12}]},5],"u":[{"s":0,"t":73}]}],"b":[{"i":75},1],"e":[{"g":73,"i":[{"n":0}],"j":73,"k":73,"l":[{"e":73,"f":73}],"n":6,"r":[{"f":117,"l":117,"z":117}],"s":[{"h":95,"s":25}],"t":[{"i":73}],"w":73}],"h":[{"a":[{"u":105}]}],"i":[{"d":[{"e":32},73],"m":73,"n":[{"d":104,"f":73,"s":104}]}],"m":[{"ä":6,"e":[{"i":6,"n":[{"t":[{"h":24},4]},132]}],"o":[{"r":6},75]}],"o":[{"b":104,"p":289,"r":[{"e":4}]},77],"ö":73,"p":[{"f":[{"a":2,"o":43}],"s":[{"e":1},2]},75],"s":[{"e":[{"t":5}],"p":[{"h":1}]}],"t":[{"e":2,"i":3,"s":37,"u":22},77],"u":[{"m":6,"r":[{"k":0}]},84]}],"n":[{".":77,"a":[{"b":[{"e":2,"u":1}],"c":[{"k":89},32],"d":0,"l":[{"d":82,"e":[{"r":[{"e":26},102]}],"p":6}],"m":104,"n":[{".":1,"a":1,"n":1},6],"r":[{"b":73}],"t":[{"t":1}],"u":354}],"ä":[{"h":104,"r":6,"s":0},77],"d":[{".":77,"a":[{"c":2,"l":6,"n":6},22],"ä":77,"e":[{".":77,"n":77,"r":[{"k":[{"e":35}],"t":17}],"s":[{"p":25}],"x":75}],"i":[{"k":75},2],"ö":1,"r":77,"s":[{"e":4}],"u":[{"s":75}],"ü":3}],"e":[{"c":32,"e":82,"f":[{"f":73}],"l":[{"e":[{"n":5}]}],"n":[{"ä":4,"z":[{"y":278}]},11],"r":[{".":140,"b":[{"i":128}],"h":[{"a":5,"e":278}],"k":82,"l":[{"e":[{"b":336},355],"ö":10}],"t":[{"r":344}]}],"s":[{"k":89},82],"t":6,"u":[{"n":4},0]},77],"f":[{"e":[{"k":75}],"i":[{"z":75}],"o":75},16],"g":[{"a":[{"f":21,"g":21,"l":21,"m":6,"r":13},77],"ä":77,"e":[{"n":[{"i":78}],"r":[{"w":39},3],"s":19}],"l":[{"a":1,"ä":1},80],"s":[{"a":[{"m":27}],"p":[{"o":[{"r":33}]}]}]}],"h":[{"a":[{"b":75,"r":77,"u":77}],"e":77}],"i":[{".":77,"d":[{"e":4},6],"e":77,"g":[{"a":22},77],"k":[{"r":9}],"s":[{"e":4},77],"t":[{"z":82},22]}],"k":[{"a":[{"r":[{"n":78}],"s":75}],"e":[{"l":[{"s":[{"t":29}]}],"n":[{"t":14}],"r":12}],"r":[{"o":6}],"ü":3}],"m":[{"a":[{"l":[{"e":10}]}]}],"n":[{".":77,"e":[{"n":10,"r":[{"m":42}]}],"l":77,"o":[{"r":6}],"t":[{"a":75}]}],"o":[{"d":0,"e":9,"l":[{"s":1}],"r":0,"s":13,"t":171,"u":104},77],"ö":[{"d":32},71],"r":77,"s":[{".":77,"a":[{"m":[{"t":[{".":24}]},2]}],"c":[{"h":105}],"e":[{".":77,"b":6,"d":77,"n":77}],"k":77,"o":[{"f":1}],"t":[{"a":[{"l":78}],"ä":[{"t":14}],"e":144,"i":[{"p":16,"t":78}],"o":12,"r":[{"a":84,"ü":5}]}],"u":[{"f":75,"m":[{"z":4}],"r":6}],"z":1}],"t":[{"a":77,"e":[{".":77,"g":75,"i":1,"p":77}],"h":[{"i":132},108],"o":2,"ö":77,"r":[{"ä":84,"i":[{"g":78},7]},223],"s":4}],"u":[{"h":89,"n":[{"z":1}]},104],"v":[{"e":[{"r":[{"m":84}]}],"i":[{"l":105}]}],"y":217,"z":[{"e":[{"l":[{"l":[{"e":[{"r":175}]}]}]},3],"i":3,"s":[{"c":3}],"u":2,"w":1}]}],"ñ":71,"o":[{"b":[{"l":2}],"c":0,"d":[{"a":1},6],"e":16,"f":[{"l":12},73],"h":73,"i":0,"k":[{"r":356}],"l":[{".":82,"s":82}],"m":[{".":82,"e":1,"s":82}],"n":[{".":82,"a":[{"n":4,"u":23}],"d":37,"e":[{"e":5}],"o":[{"r":6},82],"s":[{"a":12,"e":[{"n":12}]},357],"y":73},2],"o":73,"p":[{"f":124,"t":82},104],"r":[{".":82,"c":82,"e":[{"n":10},2],"h":32,"p":82,"s":82,"t":82},73],"s":[{".":82,"h":1,"p":2,"t":104,"u":2,"z":86},84],"t":[{".":82,"e":[{"l":25}],"r":12,"s":82},1],"u":73,"v":73,"x":82,"z":[{".":82},73]},93],"ö":[{"k":72,"n":71,"s":[{".":71,"t":71}]}],"p":[{"a":[{"n":6},71],"e":[{"d":82,"r":82},71],"f":[{"a":[{"n":82}],"e":22},108],"h":2,"i":[{"a":4,"e":[{"l":4,"n":4}]},93],"l":[{"u":5}],"p":[{"a":[{"n":6}],"e":1,"f":13,"l":5,"u":1}],"r":71,"s":[{"a":6,"e":[{"i":6}],"p":6,"t":[{"a":5,"ü":5},4]}],"t":[{"a":2,"i":2,"u":2}],"u":77}],"q":93,"r":[{"a":[{".":82,"d":76,"s":82,"t":10},115],"ä":[{"h":0},71],"b":[{"l":23}],"c":[{"h":[{"o":302}]},0],"e":[{"e":82,"k":77,"n":[{"a":12}]},5],"é":82,"g":12,"h":[{"e":6}],"i":[{"g":255},6],"k":[{"e":[{"n":[{"e":5},10]}],"l":23,"s":[{"c":27}],"u":3},77],"l":[{"i":[{"n":10}]}],"m":[{"a":[{"g":21,"k":6,"u":13}],"ä":6,"e":[{"i":21,"n":160}],"o":125,"t":[{"h":12}],"u":[{"m":6,"n":[{"t":5}]}]}],"n":[{"a":[{"t":5},23],"o":6},77],"o":82,"ö":71,"p":[{"l":[{"a":105}]}],"r":[{"e":[{"l":10}],"h":6}],"s":[{"c":[{"h":[{"e":1,"l":5,"m":5,"r":260,"w":260}]}],"e":121,"h":3,"t":6}],"t":[{"s":[{"t":162}]}],"u":[{"m":32,"s":11},77],"ü":79}],"s":[{"a":[{"c":73,"m":[{"p":89,"t":114},162],"p":6,"r":[{"e":1},2],"t":[{"t":1},82],"u":[{"f":1,"g":22},73]}],"ä":[{"h":73,"n":104}],"b":77,"c":[{"a":73,"h":[{"a":[{"r":89}],"e":[{"f":89,"h":358,"i":25,"m":[{"i":164},19],"r":[{"z":166}]},79],"i":[{"n":[{"g":140},89]}],"l":157,"m":[{"a":25},73],"n":[{"a":89}],"r":[{"e":165,"u":25}],"u":82,"ü":[{"b":89}],"w":[{"a":89,"i":[{"r":164}],"o":89,"u":25,"ü":89}]}],"r":73}],"e":[{"a":4,"e":13,"h":[{"a":22,"i":4}],"i":[{"n":[{"d":5}]}],"l":[{"i":5,"t":[{"e":[{"r":336}]}]}],"n":[{"a":12,"d":6,"h":[{"o":89}],"s":25},11],"r":[{"e":[{"i":27}],"g":0,"h":[{"e":10},73],"m":104}],"s":[{"s":129}],"t":[{"a":[{"t":128}]},79],"u":79},77],"f":77,"h":84,"i":[{"a":2,"d":[{"e":12},113],"k":22,"m":73,"n":[{"g":159}],"s":13},77],"k":[{"i":89,"u":89}],"l":[{"a":[{"m":78},1]}],"m":[{"a":77,"i":77,"u":22}],"o":[{"f":0,"h":82,"l":85,"n":[{"e":[{"n":[{"d":26},102]}],"o":105},359],"p":73,"r":[{"t":0}],"t":78,"u":104}],"p":[{"a":[{"r":73,"t":6},0],"e":0,"i":[{"c":0}],"o":[{"r":6}],"r":[{"o":73}]},77],"s":[{"a":[{"c":41,"u":5},1],"c":[{"h":[{"e":[{"n":20}]}]}],"e":[{"r":[{"f":19}]}],"p":[{"o":2}],"t":[{"a":1,"o":1,"r":[{"ä":1},4],"u":1},6],"u":[{"m":6}]}],"t":[{"a":[{"b":5,"c":37,"n":[{"g":1},2],"t":71}],"ä":[{"u":1}],"e":[{"l":71,"n":10,"s":17,"u":71},12],"i":[{"l":71,"n":[{"f":19}]}],"o":[{"c":5},356],"ö":[{"r":1}],"r":[{"a":12,"o":5,"u":5},1],"ü":71}],"u":[{"f":82,"m":[{"p":25},2]}],"ü":73,"y":77}],"ß":[{"e":[{"r":[{"s":[{"c":1},22]}]}]},71],"t":[{"a":[{"b":[{".":0,"s":0}],"l":[{"a":48,"t":0}],"m":0,"n":[{"e":4,"r":1}],"p":[{"p":0}],"r":[{"e":32,"t":0}],"t":82,"u":[{"c":82,"t":73},0]}],"ä":[{"n":[{"d":0}],"s":104,"t":22},84],"e":[{"f":[{"f":0}],"i":[{"c":6},104],"l":[{"a":99,"e":[{"k":89}]},77],"m":[{"i":104,"p":73}],"n":[{"s":266,"t":[{"s":89}]},2],"p":[{"o":73}],"r":[{"e":[{"i":[{"g":164}]}],"f":[{"o":344}],"i":[{"n":[{"d":29}]}],"k":[{"l":[{"ä":33}]}],"ö":6,"s":[{"c":[{"h":[{"e":360}]}]}]}],"s":[{"k":114}],"x":[{"t":82},104]}],"h":[{"r":140,"y":73}],"i":[{"c":140,"d":104,"g":140,"i":75,"n":298,"s":[{"o":89,"p":4},82],"v":[{"a":361}]}],"l":[{"e":7}],"m":[{"e":[{"n":105}]}],"o":[{"b":0,"c":140,"d":4,"f":104,"p":2,"s":6},84],"r":[{"a":[{"d":[{"i":82},86],"f":1,"s":1,"u":1}],"ä":[{"u":1}],"e":[{"n":89,"t":5},1],"o":[{"b":1,"m":1}],"u":[{"n":86,"t":1}]},84],"s":[{"a":[{"g":13},6],"e":[{"h":110,"r":362},21],"h":5,"o":[{"r":13}],"t":[{"r":[{"a":[{"s":24}]}]}],"u":[{"r":6}]},77],"t":[{"a":[{"n":6}],"e":[{"b":6}],"h":[{"ä":4}],"o":[{"b":6,"p":6}],"r":[{"i":[{"c":4},5]}],"s":[{"c":[{"h":[{"i":26}]}],"e":[{"h":363,"i":12}],"o":[{"r":12}],"p":2,"t":[{"i":12}]}]},77],"u":[{"h":0,"m":[{"s":0}],"n":[{"g":6,"s":73}],"r":[{"a":[{"n":102}],"g":0}],"t":10}],"ü":82,"y":[{"l":22},101],"z":[{"e":[{"c":36,"r":[{"g":[{"r":24},4],"l":14},2]}],"ö":6,"w":21}]}],"u":[{"l":128,"m":[{"a":22,"s":[{"e":12,"t":[{"e":12}]}]},14],"n":2,"p":89,"r":5,"s":[{"t":4}]},161],"ü":115,"v":[{"a":[{"d":104,"k":104,"m":104,"n":0}],"ä":104,"e":[{"b":73,"f":104,"i":0,"l":[{"t":0}],"n":[{"e":0,"t":104},12],"p":104,"r":[{"e":4,"h":0,"k":[{"l":10}],"l":0,"s":25}],"s":4,"x":104}],"i":[{"m":104,"n":[{"d":104,"t":0}]}],"o":[{"l":82,"r":[{"e":4}]}],"r":104,"u":[{"n":73,"r":104}],"ü":73},93],"w":93,"x":[{"a":73,"e":[{"m":6}],"i":82,"t":2},93],"y":71,"z":[{"a":[{"c":6,"g":73,"n":73,"p":73,"s":79,"u":73},0],"ä":73,"e":[{"i":[{"c":25,"t":[{"s":102}]},6],"l":[{"e":73}],"n":[{"e":[{"r":89}],"t":[{"z":89}]},2],"r":[{"l":114}]},82],"i":[{"d":25,"r":0}],"o":[{"f":2}],"ö":73,"u":[{"n":[{"a":73}]}],"w":[{"i":79},104]},189]}],"í":[{"l":71}],"j":[{"a":[{"b":12,"c":0,"h":[{"r":[{"e":[{"i":27}],"s":22}]}],"l":[{"a":2},1],"n":[{"e":1,"i":[{"t":159},48]}],"r":[{"u":7}],"s":[{"o":2,"t":0}],"t":2},73],"d":[{"a":4},205],"e":[{"a":[{"n":[{"s":22}]},6],"g":6,"k":[{"t":[{"a":12,"e":[{"r":12}],"i":[{"n":12}],"o":[{"r":102},266],"r":364}]}],"n":[{"a":1}],"p":6,"r":[{"e":2},1],"s":[{"t":4}],"t":[{"a":21,"h":14,"i":[{"n":6}],"o":[{"r":5}],"r":23,"s":37,"t":4,"u":125}],"v":1,"w":[{"o":1}]}],"i":[{"v":6}],"m":93,"o":[{"a":4,"b":[{"r":4},21],"d":[{"a":6}],"i":6,"l":[{"a":2}],"n":[{"g":22}],"p":23,"r":[{"a":32,"d":37}],"s":[{"c":6,"t":22},120],"u":[{"l":2},78]}],"t":[{"y":13},93],"u":[{"b":[{"l":23}],"g":[{"e":[{"n":[{"d":247},15]}]}],"i":0,"k":6,"l":[{"i":2}],"n":[{"g":[{"s":159}],"i":1}],"r":[{"a":12,"o":2},1],"s":[{"t":4}],"t":[{"e":365}]},73],"v":93}],"k":[{"a":[{".":78,"a":[{"r":1}],"b":[{"b":[{"l":2},93],"d":77,"e":[{"n":152}],"f":77,"g":77,"h":77,"n":77,"o":161,"s":93,"t":93,"w":77,"z":77}],"c":0,"d":[{"e":[{"r":22}],"m":93,"r":161,"u":78,"v":77}],"f":[{"l":120,"r":0,"t":37}],"g":[{"a":25,"e":93},2],"h":[{"o":0},78],"i":[{"n":0}],"k":[{"e":[{"n":105}],"l":0,"t":[{".":93}]}],"l":[{"a":[{".":77,"b":25,"d":125,"n":6}],"d":4,"e":[{"h":41,"n":[{"s":5}],"r":[{"i":4}]}],"k":[{"a":[{"n":12},11],"l":162},88],"l":[{"i":22,"t":93}],"o":[{"p":6,"s":21}],"t":[{"e":[{"x":12}],"h":12}],"u":6}],"m":[{"t":73}],"n":[{"a":[{"l":12,"s":176,"u":6}],"b":77,"d":[{"a":77,"ä":77},37],"e":2,"f":77,"i":[{"m":77}],"k":10,"l":77,"o":[{"m":77,"r":93}],"s":[{".":73},93],"t":[{"a":[{"r":12}],"e":[{"n":[{"n":209}]}],"h":93}],"u":[{"m":2},1],"w":77,"z":[{"u":93,"ü":77}]}],"o":21,"p":[{"e":78,"o":1}],"r":[{"a":78,"b":[{"e":77}],"c":77,"d":[{"a":37},73],"e":[{"a":71}],"g":73,"i":[{"e":[{"s":25}]},3],"k":73,"m":93,"p":[{"f":2}],"s":73,"t":[{"a":346,"i":[{"k":84},71]}],"u":22,"w":73}],"s":[{"c":88,"e":[{"i":48},2],"i":48,"o":2,"p":5,"t":[{".":93,"e":5,"r":[{"a":[{"s":26}]}]},23],"u":78,"z":1}],"t":[{"a":[{"n":6}],"e":[{"g":78,"l":82}],"h":3,"r":14,"t":148}],"u":[{"f":[{"e":[{"r":12}],"o":11,"s":[{"a":[{"g":58}],"p":10,"t":[{"e":[{"m":63}],"i":33}]}]}],"s":[{".":73,"s":93,"t":2,"w":77}],"t":[{"o":77},37]}],"v":[{"e":1}],"z":77},75],"ä":[{"l":4,"m":[{"i":71}],"n":[{"d":93}],"r":[{"g":93},2],"s":[{"c":21,"e":25}]},75],"b":[{"o":[{"n":12}],"u":[{"s":2}],"y":12},309],"c":76,"d":134,"e":[{"b":[{"e":[{"n":6}]}],"c":111,"d":[{"i":6}],"f":[{"f":93,"i":22}],"g":[{"e":22,"l":6}],"h":[{"e":[{".":6,"n":6}],"r":[{"e":[{"r":102}],"s":[{"o":277},22]}]}],"i":[{"c":93,"g":93,"l":[{"i":2}],"m":6,"n":[{"d":[{"u":10}],"e":10},93],"s":[{"e":77},311],"t":[{"s":132},22]}],"l":[{"a":[{"g":3,"m":14},21],"ä":6,"b":10,"d":10,"e":[{"i":[{"s":4}],"k":80,"n":21,"r":21}],"l":[{"e":179,"i":22}],"o":125,"ö":6,"s":[{"k":4,"t":[{"e":[{"r":[{"n":366}]}]}]}],"t":[{"e":10},89]}],"m":[{"i":152,"p":93}],"n":[{".":73,"a":[{"u":4},13],"ä":6,"d":[{"r":4},10],"e":[{"b":125,"n":[{"e":5,"s":5},132],"r":[{"n":19}],"t":10}],"g":[{"a":[{"g":225}],"e":[{"l":[{".":329}]}]}],"i":[{"m":6,"n":4}],"l":[{"a":[{"d":84}],"ä":[{"d":84}]}],"n":[{"a":22,"e":22}],"o":6,"s":[{"a":73,"e":[{"m":225}],"i":4,"k":37,"t":[{"e":[{"i":327}]}],"z":4}],"t":[{"e":[{".":275,"n":[{".":26}]}],"f":77,"g":77,"h":4,"l":77,"s":93,"w":77,"z":77}],"y":1,"z":196}],"o":219,"p":[{"l":6},77],"r":[{".":73,"a":[{"n":6,"u":6},0],"ä":21,"b":[{"l":[{"e":12}]}],"c":73,"d":77,"e":[{"b":125,"c":6,"i":[{"g":1,"n":4}]}],"f":[{"a":[{"h":84,"m":89}],"o":2}],"g":[{"e":[{"b":82}],"u":77}],"i":[{"n":[{"n":[{"u":273}],"s":[{"t":15}],"t":19}]}],"k":[{"e":[{"n":82}],"o":73}],"l":[{"a":[{"u":82}],"e":[{"b":[{"e":164},275]}]}],"n":[{"a":2,"e":[{"i":12,"u":[{"r":55},250]}]}],"o":[{"d":104,"s":77},71],"r":[{"e":[{"g":12}]}],"s":[{".":73,"a":77}],"t":22,"w":[{"e":[{"r":[{"b":26}]}]}],"z":[{".":71,"e":[{"u":12}],"i":321},22]}],"s":[{".":73,"a":6,"c":73,"e":[{"l":6},71],"s":[{"a":2}]}],"t":[{"a":[{"g":2},41],"e":[{"b":41,"l":5},10],"h":[{"a":4},152],"u":6}],"u":[{"s":[{"c":[{"h":[{"l":26}]}]}]}],"v":[{"a":152}],"x":152}],"f":309,"g":[{"a":[{"s":11}],"e":[{"s":4}]},161],"h":[{"e":82,"o":[{"m":4}],"u":82},205],"i":[{"a":[{"d":6,"g":6,"k":1,"r":3},0],"c":0,"d":[{"r":16,"s":73,"y":77}],"e":[{"l":[{"e":[{"i":12}],"o":25},6],"r":[{"n":77,"s":[{"t":10},22]}],"z":12}],"f":[{"l":120,"r":120}],"k":16,"l":[{"a":173,"ä":77}],"m":77,"n":[{".":78,"ä":6,"d":[{"e":[{"x":84}],"i":93,"u":93}],"f":93,"g":[{"a":2,"s":25},73],"h":77,"i":[{"k":105},157],"n":73,"o":[{"s":105},210],"s":[{"e":93,"t":71},4],"t":93}],"o":[{"r":1,"s":12}],"r":78,"s":[{"o":152,"p":2,"s":4,"t":[{"o":12},22]}],"v":[{"e":10},2],"z":77}],"j":76,"k":[{"a":[{"b":10}]},205],"l":[{".":84,"a":[{".":84,"c":93,"n":[{"d":[{"u":25},77]},22],"r":89,"s":[{"t":71}],"u":[{"f":71,"g":82}]}],"ä":[{"d":77,"r":73}],"e":[{".":106,"b":[{"r":2}],"g":82,"h":77,"i":[{"e":22,"t":82}],"m":[{".":82}],"o":2,"r":[{"a":2},76],"u":[{"s":4},76]},73],"i":[{"c":77,"e":[{"n":73}],"f":73,"g":77,"m":88,"n":[{".":82,"a":147,"k":89},73],"p":73,"r":73,"s":[{"c":73,"t":77}],"t":[{"s":22}],"z":76}],"o":[{"c":76,"k":77,"p":147,"r":82,"s":[{"t":15}]}],"ö":[{"c":77,"f":77,"s":[{"t":73}],"t":89}],"u":[{"b":12,"d":73,"g":73,"m":73,"n":[{"g":19}],"x":77},71],"ü":[{"c":93}],"y":77},5],"m":[{"a":[{"l":[{"a":2}]},84]},93],"n":[{"a":[{"c":[{"h":255},89],"d":76,"h":77,"m":76}],"ä":[{"p":76}],"e":[{"c":89,"e":13,"s":77,"t":[{"z":77}],"u":255,"y":84},82],"i":[{"v":76}],"o":[{"b":[{"l":162}],"l":89,"r":[{"m":77}],"v":77}],"u":[{"m":76}]},218],"o":[{"a":[{"d":7,"l":6}],"b":[{"a":[{"l":105}],"j":77,"s":12}],"f":[{"f":[{"e":[{"i":17}]},37]}],"h":[{"l":[{"e":[{"i":17},22],"u":4}]}],"k":[{"a":25}],"l":[{"a":3,"e":1,"k":162}],"m":[{"e":[{"r":17}],"n":84,"u":5},78],"n":[{"e":[{"m":6},22],"s":9,"t":[{"e":33}],"u":6},73],"o":[{"n":1}],"p":[{".":77,"e":[{"r":77},0],"f":[{"a":105,"e":[{"n":12,"r":[{"r":46}]}]}],"s":4,"t":[{"e":1}]}],"r":[{"a":3,"b":[{"a":2,"l":2,"r":2}],"c":93,"d":[{"e":[{"r":[{"g":26},102]}]}],"e":[{"l":6}],"g":93,"k":[{"a":11}],"m":4,"n":[{"a":[{"c":12}],"ä":162,"o":367}],"p":[{"i":77}]}],"s":[{".":89,"k":5,"p":6,"t":[{"ü":6},147]},73],"t":[{"e":[{"r":5}],"i":1,"r":12,"s":37,"t":[{"a":[{"k":12}]}]}],"u":[{"n":1},71],"w":[{"e":6},78],"x":93},75],"ö":[{"d":[{"e":22}],"f":73,"l":71},75],"p":152,"q":76,"r":[{"a":[{"d":76,"h":76,"l":89,"t":[{"s":82}],"u":[{"m":77}],"w":89,"z":89}],"ä":[{"c":89,"d":77,"n":89,"u":[{"m":76}]}],"e":[{".":255,"a":[{"k":76,"l":76}],"b":89,"c":76,"d":[{".":77,"e":76,"n":77,"u":77}],"f":76,"g":77,"i":[{"c":76,"e":[{"r":102},368],"f":82,"h":76,"m":77,"s":[{"e":[{"i":33}],"t":10}]}],"l":[{"i":132}],"n":82,"s":[{"u":77}]}],"h":76,"i":[{"b":77,"c":76,"e":[{"s":76}],"p":77,"s":[{"i":82}]}],"o":[{"b":10,"c":[{"h":89}],"h":106,"k":89,"n":89,"p":89,"t":[{"h":78},77],"u":82}],"ö":[{"h":77}],"u":[{"f":77,"n":76}]},218],"s":[{"a":[{"b":3,"k":2,"m":[{"t":114}],"n":73,"r":3,"s":2,"u":[{"f":22},73],"v":73}],"ä":[{"h":73}],"c":[{"h":10},79],"e":[{"b":113,"c":104,"d":79,"i":[{"d":6,"f":6,"n":[{"d":89}]},0],"l":[{"e":2}],"n":[{"g":104,"t":104}],"r":[{"e":6,"f":73,"g":73,"k":73,"l":73,"s":73,"w":73},0],"v":113,"x":73}],"h":[{"a":1}],"i":[{"d":296,"m":6,"n":104,"s":104}],"k":[{"e":79,"l":1}],"o":[{"n":5,"p":73,"r":289},0],"ö":73,"p":[{"a":[{"l":73,"t":79},0],"ä":73,"e":[{"l":6,"n":6},82],"h":73,"o":[{"r":6}],"u":[{"l":6}]}],"s":16,"t":[{"a":[{"l":73,"n":[{"z":128}],"t":202}],"ä":[{"l":82}],"e":[{"l":5,"p":6}],"i":[{"e":[{"r":89}],"t":73}],"o":[{"l":5,"r":73}],"r":[{"o":[{"p":89}]}],"u":[{"c":73,"m":73,"r":73}],"ü":[{"t":73}]},2],"u":[{"l":82},104],"z":[{"e":[{"n":6}]}]},189],"t":[{"a":[{"b":[{"r":0,"s":0}],"d":104,"k":[{"t":0}],"l":82,"m":0,"n":[{"d":6},0],"r":[{"e":12,"i":4},113],"u":[{"g":1},104]}],"ä":[{"s":4}],"e":[{"i":[{"n":0}],"k":73,"l":[{"a":114}],"n":[{"s":266,"t":[{"f":89,"s":89},73],"z":25},99],"r":[{"a":[{"n":4},2],"e":5,"f":[{"o":128}],"g":0,"h":104,"ö":73,"u":4}],"x":73}],"h":104,"i":[{"d":113,"m":[{"e":2}],"n":[{"d":1,"g":0,"i":0,"n":1,"t":73}],"s":[{"e":11,"o":73}],"t":[{"e":[{"r":12}]}]}],"o":[{"b":4,"f":104,"r":[{"e":[{"n":[{".":35}]}]}]}],"r":[{"a":[{"n":124,"s":1,"u":86}],"e":[{"f":89}],"o":[{"s":48}],"u":[{"n":1}],"ü":1}],"s":[{"a":16,"ä":1,"e":[{"l":2,"n":132},1],"i":1,"o":[{"r":6},13],"z":3}],"t":2,"u":[{"b":82,"m":[{"s":0}],"n":[{"s":73}]}],"ü":82,"z":3},189],"u":[{"a":[{"l":6}],"c":0,"d":[{"r":12}],"g":78,"h":[{"r":93},6],"l":[{"a":1,"e":3,"i":3,"p":84,"t":[{"o":12,"r":2}]}],"m":[{".":73,"e":237,"g":77,"l":77,"s":[{"a":2,"p":2}]}],"n":[{"a":167,"d":[{"a":4,"e":[{"n":247},22]}],"g":10,"s":[{"t":17},288],"t":77,"w":77}],"p":[{".":189}],"r":[{"b":[{"l":2}],"e":[{"i":6}],"i":[{"e":[{"r":10},22]}],"k":93,"o":6,"s":[{"c":48,"p":2,"t":2}],"t":[{"s":[{"c":4}]},369]}],"s":[{"a":[{"r":37}],"c":[{"h":[{"l":5}]}],"p":6,"t":370,"u":6}],"t":[{".":77,"a":2,"o":25}]}],"ü":[{"c":0,"n":[{"e":78}],"r":[{"s":12},78]},75],"v":76,"w":[{"a":82},93],"z":[{"e":[{"l":4}]},161]}],"l":[{"a":[{".":78,"a":[{"r":1}],"b":[{".":88,"a":[{"d":6},2],"ä":73,"b":[{"r":2},77],"d":77,"e":[{"n":139},2],"f":84,"g":77,"h":77,"i":[{"t":79},78],"l":371,"n":77,"o":[{".":84},187],"r":[{"a":16,"e":[{"s":12}],"i":6}],"s":77,"u":[{"s":6}],"w":77,"z":77},71],"c":[{"e":[{".":6},0],"h":[{"e":128,"t":[{"e":[{"r":[{"f":66}]}]}]}],"k":[{"s":105}]}],"d":[{"a":321,"d":77,"e":[{"n":78}],"i":3,"j":77,"l":93,"m":77,"r":152,"u":88},75],"f":[{"a":6,"e":[{"i":21,"r":21}],"r":13,"s":4,"t":9,"u":6},77],"g":[{"a":21,"d":4,"e":[{"r":[{"i":[{"n":279}]},73]}],"g":84,"i":[{"o":6}],"l":4,"n":14,"o":[{"b":6},10],"s":[{"t":[{"r":4}]}]}],"h":[{"o":107}],"i":78,"k":[{"e":22,"i":[{"n":6}],"k":73,"l":120,"r":[{"o":6}],"t":37}],"l":[{"a":[{".":78},6],"i":78,"t":84},93],"m":[{"i":[{"t":25}],"m":[{"a":11,"f":75}],"o":[{"r":6}],"p":73,"t":[{"s":10},93],"u":[{"n":5}]}],"n":[{"a":[{"n":1,"t":240,"u":5},6],"ä":80,"d":[{".":89,"a":[{"m":12,"u":25},2],"e":[{"r":[{"h":26,"w":46,"z":46}]},89],"i":[{"n":[{"n":46}]}],"r":[{"i":4,"ü":25},234]},88],"e":[{"r":[{"d":4,"f":19}]}],"f":77,"g":[{"a":[{"n":12}],"e":[{"s":[{"c":46}]}],"s":159}],"h":[{"a":77,"e":73}],"i":187,"l":84,"n":93,"o":[{"f":6},71],"p":93,"s":[{"i":71},154],"t":[{"r":77,"w":77}],"w":77,"z":[{"w":11}]}],"o":78,"p":[{"f":93,"h":6,"o":152,"p":[{"l":2}]}],"r":[{"a":[{"n":21}],"c":77,"e":[{"b":100,"i":21,"l":6,"n":[{"e":5}]}],"f":10,"g":4,"i":[{"n":[{"i":4}]}],"o":[{"m":248}],"t":[{".":77,"h":22,"i":82,"r":10},71],"u":78}],"s":[{".":73,"a":[{"m":5},6],"ä":5,"c":[{"h":[{"e":102}]}],"d":84,"e":[{"b":1,"i":6,"l":125}],"h":77,"i":[{"n":6,"s":6}],"o":6,"p":372,"s":[{"e":[{"r":78}]}],"t":[{"a":[{"n":27}],"e":5,"r":[{"i":25}],"u":5},218]}],"t":[{"e":[{"l":134},3],"i":47,"l":76,"m":77,"o":2,"ö":6,"r":[{"a":23,"i":12}],"s":[{"t":4},2],"t":[{"a":[{"n":12},108],"e":[{"x":12}],"i":[{"n":27}],"r":162}],"z":[{"e":[{"r":102}]}]}],"u":[{"b":[{".":75,"e":[{"n":[{"s":373}]}],"r":162,"s":[{"e":10}]}],"f":[{"i":[{"n":12}],"n":77,"o":2,"r":[{"i":12}]}],"g":[{"l":4},75],"n":[{".":77}],"s":[{".":88,"b":93,"c":[{"h":[{"a":26}]}],"d":77,"f":93,"g":77,"l":77,"r":77,"s":93,"t":2,"w":77,"z":77},5],"t":[{"o":77,"r":2}]}],"v":[{"a":1,"e":[{"n":10}]}],"w":[{"a":10},75],"x":[{"e":[{"l":5}]},85],"y":[{"s":13},73]}],"ä":[{"c":0,"d":78,"f":84,"h":[{"n":93}],"m":[{"t":77}],"n":[{"d":75}],"p":[{"f":93}],"q":77,"r":[{"m":[{"a":2,"e":71}],"z":77}],"s":[{"c":21}],"t":77,"u":[{"b":77,"c":77,"e":77,"f":75,"g":77}],"x":77}],"à":75,"b":[{"a":[{"c":82,"n":[{"t":73}],"r":[{"i":3}],"u":[{"c":48}]}],"ä":[{"r":[{"m":0}]}],"b":[{"y":10},12],"e":[{"i":[{"n":[{"k":128}],"s":[{"e":128}]},6],"r":[{"a":[{"l":12}],"i":[{"n":53}]}],"s":263,"t":[{"a":374}]}],"i":[{"d":104,"n":[{"s":104}]}],"l":[{"a":[{"d":5,"t":79}],"ä":82,"e":[{"d":73},1],"i":[{"c":73}],"o":82,"ö":79,"u":79}],"o":[{"r":[{"a":113}]}],"r":[{"e":[{"a":1}]}],"s":[{"a":1,"e":1,"i":1,"p":1,"t":[{"a":[{"c":25}],"e":[{"i":25}],"u":48},12]},6],"u":[{"f":104,"m":82,"n":12}],"z":[{"e":[{"i":105}]}]},93],"c":[{"a":82,"h":[{"e":[{"i":89,"n":[{"t":89}]},82],"i":82,"l":[{"e":4,"i":4,"o":82}],"n":4,"r":4,"s":37,"ü":4,"w":13}],"k":73,"l":82,"o":82},93],"d":[{"a":[{"b":365,"c":[{"k":3},6],"f":73,"g":2,"h":104,"i":2,"k":104,"l":104,"n":183,"r":[{"m":0}],"s":[{"s":0}],"u":[{"s":1},104]}],"ä":[{"m":82,"r":0,"s":0,"t":0}],"e":[{".":82,"b":[{"e":[{"n":12}]}],"i":[{"n":63},73],"l":[{"f":104}],"m":[{"i":113,"s":104}],"n":[{"a":12,"e":[{"r":[{"g":55}]}],"t":[{"l":89}]}],"r":[{".":82,"f":[{"a":344}],"g":[{"e":[{"b":336}]}],"h":[{"e":278},0],"l":[{"a":[{"s":338}]},79],"n":79,"p":117,"t":[{"r":10}]}],"s":[{"a":4,"s":117}],"x":73}],"i":[{"d":104,"m":[{"i":120}],"o":[{"n":86}]}],"o":[{"b":2,"n":6,"p":73,"r":[{"i":104},2],"s":[{"t":55},6]}],"ö":232,"r":[{"a":[{"m":5,"n":73}],"e":73,"i":[{"s":124}],"u":5,"ü":[{"c":73}]},1],"s":[{"a":[{"n":12},1],"k":[{"a":1}],"t":1}],"t":[{"h":1,"s":35,"u":1},12],"u":[{"l":104,"m":104}],"w":[{"e":[{"s":19}]}],"y":2},189],"e":[{"a":[{"d":6,"r":1,"s":6}],"b":[{"a":78,"e":[{"n":[{"s":191}]}],"l":6,"r":[{"e":23},78],"s":22}],"c":[{"h":[{"a":48,"i":6,"t":[{"e":375}]}]},77],"d":[{"r":6}],"e":[{"r":[{"e":[{"t":12}]},6]}],"f":[{"a":3,"f":93,"o":12}],"g":[{"a":[{"b":21,"s":13}],"ä":6,"l":6,"r":12,"s":10}],"h":[{"e":[{".":84}],"r":[{"e":37}],"s":84,"t":84},78],"i":[{"b":[{"l":[{"e":12}]}],"d":73,"e":[{"r":[{"e":4}]}],"f":[{"a":[{"n":12}],"e":[{"i":12,"r":[{"g":29}]}],"s":25}],"g":[{"l":4},93],"h":[{"a":[{"u":12}]},78],"l":37,"m":[{"p":25}],"n":[{".":88,"d":[{"u":10},73],"e":[{"r":[{"b":26}]},89],"f":6,"i":6,"k":77,"s":[{"a":106}],"t":77,"u":73}],"s":[{"c":[{"h":[{"a":53,"e":[{"i":52}],"o":26}]}],"e":[{"r":[{"n":26}]}],"f":71,"s":[{"e":[{"r":58}]}],"t":[{"r":12},89]},6],"ß":[{"e":[{"r":12}]}],"t":[{"a":2,"o":12,"r":[{"i":35}],"s":[{"t":19},266]},73]}],"k":[{"o":78,"t":[{"r":77}],"z":77}],"l":[{"a":88,"e":[{"i":1,"k":77,"m":[{"e":84}],"n":1,"r":[{"s":19},105],"s":1},6],"f":[{".":77,"e":93}],"i":73}],"m":[{".":73,"a":[{"l":1,"u":6}],"e":[{"i":21,"s":78,"t":78}],"o":[{"r":6},100],"p":77,"s":4,"u":[{"n":5},6]}],"n":[{".":89,"a":[{"b":4,"d":110,"n":14,"t":177},13],"ä":6,"d":[{"e":[{"t":84}],"p":71,"u":[{"n":84}]}],"e":[{"d":21,"r":[{"g":84}],"u":[{"r":5,"v":84}]}],"g":[{"a":[{"g":12}]}],"k":[{"a":[{"u":12}],"l":[{"o":27,"u":12}]}],"n":[{"i":71}],"s":[{"e":[{"i":[{"n":26}],"m":225}],"k":[{"a":4}],"z":4}],"t":[{"g":77,"k":93,"l":[{"a":84}],"n":77,"r":[{"o":250}],"w":[{"ä":10,"e":[{"t":194}]},106],"z":77}],"z":[{"y":77}]}],"o":[{"f":2,"s":32}],"p":[{"f":78,"i":248,"o":[{"c":84}],"r":78},77],"r":[{".":73,"a":[{"g":6,"p":23,"s":36,"u":6},104],"ä":21,"e":[{"b":125,"c":162,"i":[{"g":82,"m":39,"s":14}],"l":6,"n":[{"g":5}],"r":[{"g":5,"s":5}],"t":126}],"f":[{"a":[{"s":106}],"o":93,"r":73,"ü":73}],"g":[{"a":73,"e":[{"f":89,"h":78,"n":[{".":221}],"r":89,"s":89,"w":147}],"i":77,"l":73,"r":73},71],"h":[{"e":[{"b":225}],"o":[{"l":84}]}],"i":[{"n":[{"s":19}]}],"k":[{"a":73,"e":77,"l":[{"ä":84,"e":89},71],"o":73,"r":4},22],"l":[{"e":[{"b":[{"e":376}],"i":147}]},4],"m":[{"ä":77}],"n":[{"a":[{"l":12,"r":12}],"e":[{"i":12},147]}],"ö":93,"r":[{"a":88,"i":[{"c":12}]}],"s":[{".":89,"a":71,"t":[{"o":12},22]}],"t":[{"r":[{"ä":12}]},22],"u":[{"p":6}],"w":[{"a":89,"e":[{"r":12}],"o":108}],"z":[{"ä":2,"e":[{"u":82}],"o":2},93]}],"s":[{".":89,"a":[{"m":2}],"e":[{"i":48,"l":93},2],"h":16,"i":48,"k":[{"i":12},3],"o":1,"p":[{"o":6}],"t":[{"a":0,"e":[{"r":[{"i":29}]},377],"o":0,"r":0},33],"u":78,"w":84,"y":77}],"t":[{"a":[{"b":6,"p":80,"t":80}],"h":[{"a":1,"i":77},72],"i":2,"s":[{"c":[{"h":[{"e":312}]}]}],"t":[{"o":[{"p":12}],"r":48,"s":105}]}],"u":[{"e":84,"f":143,"l":93,"n":[{"t":1}],"r":[{"o":77}],"t":78},6],"v":[{"o":[{"l":72}]}],"x":[{"d":78,"i":[{"k":78,"s":6}]},77]},75],"é":75,"f":[{"a":[{"h":82,"t":5}],"e":[{"c":104,"e":13,"i":[{"n":[{"h":1}],"s":73}],"n":6,"r":[{"e":[{"i":89,"l":12}],"l":0}]}],"i":82,"l":[{"ä":124,"e":[{"d":1}],"ö":5,"u":124}],"r":[{"a":[{"m":1}],"e":[{"s":1}],"u":5,"ü":5}],"s":[{"p":[{"e":6}],"t":[{"i":6}],"u":6}],"u":[{"n":22,"r":48}]},93],"g":[{"a":[{"s":82,"t":4}],"e":[{"n":[{"a":22,"e":105}],"r":[{"ä":[{"u":247}]}],"t":[{"i":73}]}],"i":79,"l":[{"ö":6}],"o":82,"p":5,"r":[{"a":82,"e":1,"o":82}],"u":[{"n":[{"g":19}]}]},93],"h":[{"e":84,"i":[{".":78}],"u":84},161],"i":[{"a":[{"b":2,"d":6,"m":[{".":5}],"n":[{"g":22}],"s":[{"t":6}]},0],"b":[{"i":48},378],"c":[{"h":[{"t":[{"a":10,"o":10}]}],"k":[{"a":6},84],"l":6},0],"d":[{"a":3,"o":71,"y":73}],"e":[{".":78,"b":[{"e":[{"s":191}],"r":2}],"f":[{"a":0,"e":[{"r":78}],"k":0,"l":1}],"n":[{"a":294,"e":1,"s":25,"t":25}],"r":[{"e":[{"i":12}],"s":[{"p":10}]}],"s":[{"c":11}]}],"g":[{"a":[{"s":25}],"e":[{"r":[{"s":14}]}],"l":5,"n":12},78],"k":[{"e":[{"r":1}],"o":[{"p":19},2],"s":[{"p":2}],"t":[{"e":[{"r":12}],"i":2,"o":294}],"u":2}],"l":[{"a":2},1],"m":[{"a":[{"s":19,"t":159},365],"m":77,"o":78,"p":77}],"n":[{"a":[{"r":1},2],"d":[{"i":77,"u":93}],"e":[{"f":6,"h":6,"p":6,"s":6}],"f":93,"h":93,"i":[{"e":7,"t":13}],"j":93,"k":[{"a":[{"n":12,"r":12}],"s":22}],"o":[{"l":6}],"s":[{"a":73,"e":[{"l":84}],"p":77,"t":77,"u":77,"z":77}],"t":93,"u":3,"v":93,"z":77}],"o":[{"m":5,"s":[{"t":3}]},6],"p":[{"f":78,"t":78}],"s":[{".":78,"a":3,"c":[{"h":[{"m":1,"u":5}]}],"h":[{"i":1},2],"k":78,"l":93,"o":152,"p":6,"s":10,"t":78}],"t":[{"a":[{"l":72},12],"ä":3,"e":[{"r":78},167],"r":14,"s":[{"e":4,"z":4},100],"u":[{"n":24,"r":5},1],"z":[{"e":[{"r":10}]}]}],"u":78,"v":[{"e":[{"a":6,"s":6},2],"i":[{"e":25}],"r":1}],"x":[{"i":77}],"z":[{"ä":14,"e":[{"i":17}]}]},75],"j":76,"k":[{"a":[{"l":[{"e":82,"p":0}],"n":79,"p":82,"r":[{".":82}]}],"e":[{"r":[{"d":0,"e":37}]}],"l":[{"a":[{"d":1,"s":124}],"i":[{"c":1}],"u":124},6],"m":[{"e":[{"n":6}]}],"n":[{"e":[{"r":7},5]}],"o":[{"f":[{"e":0},2],"r":[{"b":163}]}],"r":[{"o":[{"c":1}]}],"s":[{"ä":[{"n":1}],"i":1,"p":[{"e":5}],"t":4},21],"t":2,"ü":6},93],"l":[{"a":[{"b":[{"k":73,"t":73,"u":82}],"g":[{"e":82,"l":4}],"m":[{"a":2,"e":82,"i":6},104],"n":[{"b":6,"e":[{"r":12}],"i":89,"s":[{".":82}],"w":[{"a":5}],"z":0}],"p":[{"p":[{"l":128}]}],"r":[{"m":0}],"t":[{"m":89,"t":1}],"u":[{"f":[{"g":1}],"s":0}]}],"ä":[{"m":0,"r":73}],"b":12,"c":[{"h":10}],"d":16,"e":[{"b":[{"e":[{"n":[{"e":7}]}]}],"c":[{"h":0},82],"e":[{"r":4}],"f":104,"i":[{"c":0,"m":0,"s":[{"e":89},6]}],"l":[{"a":2}],"m":[{"i":104},2],"n":[{".":82,"a":12,"d":[{"r":25,"u":[{"n":379}]}],"t":[{"f":89,"s":89}]}],"p":82,"r":[{".":82,"a":2,"e":[{"i":[{"g":336}]},6],"f":[{"o":10}],"g":[{"e":[{"b":33,"n":[{"e":290}]}],"o":89}],"h":[{"o":1}],"m":[{"i":128}],"n":[{"t":128}],"t":[{"r":1}]}],"s":6,"t":[{"h":12}],"x":[{"e":0}]}],"g":12,"i":[{"g":[{"a":[{"n":12}]}],"m":[{"b":73}],"n":[{"d":104,"f":89,"s":0}]}],"k":16,"l":3,"m":47,"n":3,"o":[{"b":[{"e":73},0],"f":113,"l":1,"p":[{"e":73,"f":0}],"r":[{"b":164,"g":22,"i":289},0],"u":104,"w":82,"x":0}],"s":[{"ä":[{"u":6}],"e":[{"s":21}],"k":[{"a":1}],"p":[{"r":6}]}],"t":[{"e":2,"i":[{"m":22},2],"r":123,"s":22},1],"u":[{"r":0,"s":[{"t":380}]}],"y":82,"z":3},189],"m":[{"a":[{"b":167,"d":104,"g":[{"e":32}],"k":[{"a":0}],"m":113,"n":[{"a":82}],"p":[{"f":0}],"r":[{"t":0}],"t":[{"t":1}]}],"ä":[{"s":[{"t":0}]}],"b":[{"u":22}],"c":0,"d":2,"e":[{"d":[{"i":[{"t":16}]}],"f":104,"n":[{"t":73}],"p":113,"r":[{"f":104,"l":104,"z":104},22],"s":[{"s":[{"a":89}]}]}],"i":[{"d":113,"n":[{"d":0,"s":0}]}],"o":[{"f":73,"r":[{"c":0}]}],"p":[{"f":10},3],"s":[{"k":3,"t":[{"e":1},2],"z":3}],"t":16,"u":[{"m":73,"n":[{"t":89}]}]},93],"n":[{"a":[{"b":6,"r":[{"e":1},2]}],"d":2,"e":[{"s":[{"s":22}]},79],"i":[{"n":104}],"u":[{"s":22}],"ü":71,"y":71},77],"o":[{"a":[{"k":5}],"b":[{".":78,"a":73,"b":78,"e":[{"s":22}],"j":77,"l":72,"r":[{"i":12},73]}],"c":[{"h":[{"e":[{"l":5}]}]}],"f":[{"e":[{"n":6},71]}],"g":[{"h":5,"l":6,"o":[{"r":6}],"r":[{"e":6}]}],"h":[{"a":1,"e":2,"r":189}],"i":[{"r":12}],"k":[{"k":106,"r":23,"s":194},78],"l":[{"e":89,"y":161}],"m":[{"ä":25,"i":[{"n":6}]}],"n":[{"e":[{"r":6}],"i":[{"n":5}],"o":21}],"o":6,"p":[{"f":77,"p":[{"a":11}],"t":77}],"r":[{"a":[{"m":4,"n":2}],"ä":5,"b":194,"c":93,"d":93,"e":[{"n":3}],"g":381,"i":[{"d":[{"i":10}]}],"t":154}],"s":[{".":73,"a":5,"e":78,"k":[{"e":5}],"p":[{"e":6,"r":6}],"t":[{"e":5,"r":126},4]}],"ß":84,"t":[{"a":6,"h":[{"a":1}],"i":[{"o":10}]}],"v":[{"e":6},93],"x":77},75],"ö":[{"b":23,"c":[{"k":77}],"d":77,"f":[{"e":76},6],"h":[{"r":93}],"k":77,"l":259,"p":77,"s":[{"c":78,"u":78}],"ß":84,"z":84},75],"p":[{"a":[{"r":[{"k":163},6]}],"ä":[{"r":114}],"f":6,"h":[{"ä":82,"i":[{"r":73}],"o":0,"r":82},12],"t":12,"u":82},93],"q":93,"r":[{"a":[{"u":[{"s":22}]}],"e":[{"b":[{"s":105}]}],"o":[{"h":2}],"ö":2},161],"s":[{"a":[{"b":3,"d":113,"l":6,"m":[{"b":114,"p":89,"t":6}],"n":[{"e":1},73],"r":[{"e":82,"i":3,"k":82}],"u":[{"m":10,"r":10},22]}],"ä":[{"m":79,"u":[{"g":6,"s":0}]}],"c":[{"h":[{"i":[{"n":89}],"m":[{"ü":89}],"s":105}]},6],"e":[{"b":113,"l":[{"e":6,"i":0}],"n":[{"t":73}],"r":[{"f":73,"g":73,"h":73,"k":73,"l":73,"s":73,"w":73},0],"t":[{"a":0},2],"x":[{"t":6}]}],"h":[{"a":1}],"i":[{"d":104,"m":[{"p":73}]}],"k":[{"a":[{"l":6}],"e":[{"l":[{"e":124}]}],"y":6}],"o":[{"b":12,"p":73,"r":[{"t":[{".":128}]}]}],"ö":[{"l":79}],"p":[{"a":[{"c":73}],"e":6,"h":86,"i":[{"r":104,"t":79}],"o":6,"r":[{"i":82}],"u":[{"l":82},6]}],"s":16,"t":[{"a":[{"b":[{"l":1},15],"f":5,"h":[{"l":247}],"s":73,"t":[{".":89,"e":89}]},2],"ä":[{"t":[{"i":128}]}],"e":[{"a":82,"c":82,"h":82,"i":[{"l":89},82],"l":82,"m":[{"p":82}],"n":89,"r":[{"k":14,"n":[{"e":324,"s":324}]}]},73],"i":[{"e":6,"t":73}],"o":[{"c":[{"h":89}],"i":5,"l":5}],"r":[{"u":5,"ü":86}],"u":6,"ü":[{"m":5}]}],"u":[{"f":82,"m":0,"n":[{"d":6,"k":1},104]}]},189],"t":[{"a":[{"b":[{"s":0},73],"g":10,"m":[{"e":89,"p":[{"e":102}]},0],"n":[{".":82,"d":25}],"p":104,"r":[{"a":0,"b":[{"e":[{"i":[{"t":[{"n":30}]}]}]}],"k":82,"t":[{"i":[{"k":33}],"u":82},0]}],"u":[{"f":89,"t":1},0]}],"ä":[{"h":0}],"b":[{"a":[{"u":132}]}],"e":[{"c":2,"h":[{"u":82},0],"i":[{"g":0,"n":0}],"m":[{"i":4}],"n":[{"g":[{"e":[{"l":33}]}],"s":[{"p":10}],"t":[{"s":1}]},6],"r":[{"a":[{"l":12}],"f":[{"a":10}],"g":79,"h":[{"e":89}],"k":[{"e":[{"n":33}],"u":10}],"n":[{"ä":10}],"o":2,"ö":6,"s":[{"e":10}]}],"s":[{"k":382,"t":[{"r":4},6]}],"t":6}],"h":[{"a":[{"g":1,"s":82}],"e":[{"i":128}],"o":[{"l":105}],"u":79},104],"i":[{"d":[{"e":0}],"m":[{"o":19}],"n":[{"e":82}],"s":[{"o":73}],"t":383}],"o":[{"b":104,"f":113,"r":[{"d":89,"g":89,"i":296}],"w":2}],"ö":[{"l":0,"s":0,"t":114}],"r":[{"a":[{"l":25}],"ä":[{"u":1}],"e":[{"c":1,"i":1}],"i":[{"s":1}],"o":[{"l":1}],"ö":86,"u":[{"s":86}]}],"s":[{"e":[{"l":36}],"o":[{"r":[{"t":14}]}],"p":[{"e":21,"h":3}],"t":[{"i":6}]},89],"t":1,"u":[{"b":82,"h":0,"m":104,"r":[{"a":[{"n":102}],"e":[{"n":102}],"i":2}]}],"ü":82},189],"u":[{"a":[{"n":0}],"b":[{"a":22,"s":22},384],"d":[{"r":6}],"e":[{"c":6,"s":6,"t":6}],"f":[{"e":93,"f":77,"o":1,"t":[{"a":48,"e":[{"i":12},25],"r":25}]},385],"g":[{"a":21,"e":[{"b":125,"i":6,"n":132}],"i":6,"l":4,"o":6,"r":23,"s":[{"p":4}],"u":6}],"h":93,"i":[{"d":[{".":0}],"g":5,"s":[{".":0}]}],"l":[{"ö":2}],"m":[{"d":77,"e":10,"f":77,"g":77,"h":93,"k":77,"l":77,"p":[{"e":75,"h":2},73],"r":77,"s":93,"u":1,"w":93,"z":77}],"n":[{"a":93,"d":10,"f":93,"g":[{"s":[{"c":10}]}],"i":93,"r":77,"s":93,"t":77,"w":77},227],"o":84,"r":[{"a":[{"n":21,"t":6},73],"e":[{"i":6}],"g":77,"i":[{"s":6},73],"n":71,"o":6,"s":77,"t":71,"u":5}],"s":[{"a":[{"k":1}],"e":77,"i":1,"p":6,"s":[{"a":27,"c":11,"e":[{"l":12,"r":386}],"o":11,"p":99,"t":[{"ä":12,"r":55},162]}],"t":[{"e":[{"r":[{"l":26}]}],"o":294,"r":[{"e":25}]},227],"u":21}],"t":[{"a":[{"s":5,"u":14},150],"ä":6,"e":[{"g":150,"l":6,"r":[{"g":14,"s":[{"a":20},19]},105]}],"h":[{"y":6}],"o":[{"b":6,"f":125,"p":6,"r":41},77],"r":14,"s":[{"c":[{"h":[{"l":35}]}]}]}]}],"ü":[{"b":[{"d":78},77],"c":[{"k":[{"e":[{"r":247},387]}]}],"d":194,"f":[{"t":[{"e":4}]}],"h":[{"e":[{"l":6}],"l":13}]}],"v":[{"a":4,"l":82,"r":1},152],"w":309,"x":77,"y":[{"a":32,"c":1,"e":[{"s":1}],"l":0,"m":[{"p":77}],"n":[{"o":1},78],"o":0,"t":1,"u":0},75],"z":[{"a":[{"c":104,"g":104,"n":73,"p":104,"t":73,"u":[{"s":0}]}],"ä":[{"p":73,"r":73}],"e":[{"l":[{"e":73},2],"n":[{"t":[{"h":128}]}],"p":104,"r":[{"h":117,"z":73}]}],"i":[{"d":104,"m":[{"i":0},12]}],"l":1,"o":[{"f":2}],"ö":73,"t":3,"u":[{"f":[{"e":131}]}],"v":[{"o":[{"l":105}]}],"w":[{"e":[{"c":6}],"u":73},0]},93]}],"m":[{"a":[{".":78,"a":2,"b":[{"a":[{"r":79}],"ä":73,"b":76,"e":73,"f":76,"g":77,"h":77,"k":77,"l":[{"i":73}],"m":77,"r":[{"a":183},6],"s":77,"t":77,"z":77},71],"c":[{"h":[{"a":[{"n":1}],"e":22,"t":[{"e":[{"r":[{"h":30,"s":70}]}],"r":10}]}],"i":6,"k":[{"s":22}],"t":93}],"d":[{"a":[{"m":22}],"ä":73,"e":[{"l":6}],"j":1,"m":93,"r":388,"s":389}],"e":12,"f":120,"g":[{"a":2,"e":[{".":6,"b":6,"f":6,"g":6,"k":6,"p":6,"s":[{".":5}],"t":6,"v":6,"w":6}],"g":93,"i":[{"e":[{"r":[{".":55,"s":55}]}]}],"l":1,"n":16,"o":93}],"h":[{"a":1,"l":[{"s":[{"t":10}]}],"o":0}],"i":[{"s":[{"e":27}]}],"k":[{"e":[{".":6}],"t":93}],"l":[{"a":[{"g":2,"k":[{"t":5},13],"n":6,"u":6}],"ä":[{"r":6}],"d":[{"e":108,"i":73}],"e":[{"b":5,"r":2,"x":5},1],"i":[{"e":48}],"l":[{"o":4,"t":77}],"o":[{"n":6,"p":6}],"p":73,"t":4,"u":[{"t":23},10],"v":78}],"m":[{"i":[{"d":6}],"m":4}],"n":[{"a":[{"l":152,"r":6,"t":390,"u":6}],"ä":93,"b":77,"c":[{"e":2}],"d":391,"e":[{"t":6}],"f":73,"g":[{"a":96,"e":[{"l":89}],"r":93},22],"h":73,"i":[{"p":78}],"l":[{"e":73},77],"n":88,"o":[{"d":77}],"s":[{"a":93,"ä":77}],"t":[{"h":11,"r":77}],"u":[{"t":41},25],"w":77,"z":[{"a":71},77]}],"o":[{"r":6}],"p":[{"h":[{"r":6}],"o":6}],"q":0,"r":[{"a":[{"g":84,"n":2},73],"b":77,"g":37,"h":304,"i":3,"k":[{"r":2},73],"o":[{"d":25},269],"r":84,"s":[{"c":[{"h":[{"l":26,"m":26,"r":26}]}],"p":2,"u":2}],"t":[{"i":93}],"u":3,"z":71}],"s":[{"a":16,"e":2,"p":3,"s":[{"e":[{"n":191}]}],"t":[{"a":12,"e":[{"l":12}],"i":2,"o":12,"r":12}],"z":14},78],"ß":78,"t":[{"a":[{"b":36,"n":6}],"ä":6,"e":[{"l":79,"r":[{"d":14,"z":14}]}],"m":[{"e":89,"o":77}],"o":[{"r":[{"t":5}]},6],"s":[{"e":4,"p":4}],"t":[{"r":10}],"u":[{"r":[{"l":4}]}]}],"u":[{"f":321,"l":78,"n":1,"r":4,"s":77,"t":[{"a":2}]}],"y":[{"o":0},89]},75],"ä":[{"h":[{"n":93,"r":13}],"n":[{"d":189}],"o":77,"p":93,"q":77,"r":[{"k":[{"l":2}],"z":11},13],"t":[{"r":16}],"u":[{"s":[{"c":11}]}]},75],"b":[{"e":[{"e":2,"r":[{"e":22,"i":4,"t":19}]}],"i":[{"e":[{"r":[{".":4}]}]}],"l":[{"e":[{"i":48}]},5],"r":5,"u":[{"s":[{"c":4}]}],"y":[{"t":12}]},152],"c":[{"h":82},77],"d":[{"a":[{"n":73,"s":113}],"ä":[{"r":0}],"e":[{"a":2,"i":73,"m":[{"i":104},2],"n":[{"t":104}],"r":[{"l":104},22]}],"ö":6,"r":[{"a":[{"s":1}]}],"s":[{"e":3}],"t":12,"u":[{"m":104}]},189],"e":[{"a":[{"n":1,"t":1}],"b":[{"e":[{"n":6}],"r":78},12],"c":0,"d":[{"i":[{"e":159}]}],"e":[{"m":32,"n":2,"r":[{"e":[{"i":27}]}]}],"f":[{"f":93}],"g":[{"a":25,"e":[{"l":5}]}],"h":[{"l":[{"e":[{"r":364}]}],"r":[{"e":[{"r":102}]}]},78],"i":[{"f":93,"g":93,"l":196,"n":[{"d":[{"a":10,"e":247}],"e":[{"r":[{"k":29,"l":26}]}],"u":88}],"s":[{"t":88}]}],"l":[{"a":[{"m":1,"n":[{"t":16}],"u":21}],"b":22,"d":[{"e":[{"i":17}]},37],"e":[{"k":6,"m":77,"r":6,"t":19}],"f":[{".":77}],"k":[{"e":[{"i":27}]},78],"l":22,"o":[{"b":6},78],"s":[{"e":2}],"t":[{"e":[{"r":[{"n":305}]}]},195]}],"m":[{"i":[{"s":152}],"p":93,"u":152}],"n":[{".":73,"a":[{"b":4,"g":[{"e":1}],"n":14,"r":4,"s":5,"u":4}],"d":[{"l":93}],"e":[{"n":132}],"g":[{"a":[{"g":225}],"e":4}],"i":[{"m":6}],"k":9,"o":[{"n":2}],"s":[{"e":[{".":12,"m":[{"b":221},12],"n":12,"r":12,"s":12}],"i":[{"d":19}],"o":2,"t":19}],"t":[{"a":[{"k":27},89],"e":[{"i":[{"g":55},89],"r":[{"s":46}]}],"n":77,"s":[{"p":10}]}]}],"o":[{"u":77},0],"ö":77,"p":[{"a":77,"i":152}],"r":[{".":147,"a":[{"l":25,"s":392},0],"e":[{"b":125,"n":[{"s":5}],"r":[{"r":12,"w":12}]}],"g":[{"ä":[{"n":250}]}],"i":[{"n":[{"d":19,"t":19}]}],"k":[{"l":[{"ä":225}]}],"n":[{"s":266}],"s":[{"h":89,"m":35,"t":[{"e":[{"l":26}],"o":12}]}],"t":[{"r":10}],"z":[{"e":[{"n":[{"g":33}]}]}]}],"s":[{"a":[{"l":6}],"ä":5,"e":[{"r":84}],"p":[{"o":2,"r":13}],"s":[{"a":[{"n":25},158],"e":[{"r":[{"g":351}]}],"o":99,"p":2,"t":2}],"t":[{"a":4,"o":0}],"u":1,"z":[{"e":1}]},78],"t":[{"a":[{"s":48},1],"h":1,"o":48,"ö":6,"r":[{"i":[{"g":5}]}],"t":[{"e":[{"n":[{"d":325}]}]}],"u":1}],"u":13,"x":[{"e":6},93]},75],"é":75,"f":[{"i":[{"l":[{"e":2}]}]},205],"g":[{"a":[{"n":[{"g":19}]}],"l":[{"i":[{"m":105}]}]},248],"h":248,"i":[{"a":[{"b":2,"m":6,"t":93},0],"ä":0,"b":[{"i":48}],"c":[{"e":13,"h":0,"i":6}],"d":[{"a":1,"i":[{".":6}],"r":1,"y":77}],"e":[{"d":[{"r":4}],"l":[{"e":1}],"n":[{"o":14,"s":25}],"r":[{"e":[{"r":102}]}],"s":13,"t":[{"i":2,"o":12,"r":2}]}],"f":120,"g":[{"e":78}],"h":1,"k":[{"a":[{"n":13}],"e":[{"l":5,"n":[{"s":5}]},1],"l":16,"u":6}],"l":[{"a":3,"c":[{"h":[{"e":12},132]}],"d":[{"s":10}],"i":3,"u":3,"z":84},78],"m":[{"a":289,"m":93,"p":77}],"n":[{"a":[{"c":2,"k":1,"n":[{"z":[{"e":35}]}]}],"d":[{"e":[{"s":19},73],"u":93}],"e":[{"f":6,"r":[{"i":177},132],"u":2}],"f":[{"o":77}],"g":[{"a":2,"s":25}],"h":77,"i":[{"k":159},1],"o":[{"d":1,"f":6}],"s":[{"e":93,"t":71}],"u":1}],"o":[{"n":[{"i":132}]}],"p":0,"r":[{".":78,"i":78,"s":78,"w":78,"z":78}],"s":[{".":78,"a":6,"c":[{"h":[{"a":5,"w":17}]}],"e":393,"o":152,"p":[{"a":2,"e":6}],"s":[{"a":[{"r":35}],"e":[{"r":12}],"t":12}],"t":[{"e":4,"o":0,"r":120}],"u":78}],"t":[{"a":6,"h":21,"o":6,"r":6,"s":[{"a":35},37],"t":[{"a":4,"e":[{"s":17},37]}],"u":21,"z":84},78],"v":3},75],"j":93,"k":[{"n":82},246],"l":[{"c":1,"e":82,"f":1,"k":1,"o":82,"p":1,"s":1},248],"m":[{"a":[{"a":4,"k":104,"l":104,"n":[{"s":104,"z":0}],"p":104,"r":[{"t":0}],"s":[{"t":13}],"u":[{"s":0}]}],"ä":[{"u":0}],"d":2,"e":[{"b":113,"f":104,"i":[{"n":0}],"l":[{"a":138,"i":[{"n":12}]}],"n":[{"e":6,"t":[{"e":[{".":33,"n":33}],"l":89,"s":89,"w":89}]}],"r":[{"a":162,"e":[{"c":12}],"g":[{"e":[{"b":33}]}]}],"s":[{"c":4,"z":12},2],"u":104}],"i":[{"e":[{"l":4}],"n":[{"b":0,"h":0,"s":104,"t":0}],"s":[{"c":[{"h":102},4],"t":184},6],"t":[{"w":35}]}],"m":3,"p":[{"f":10},3],"s":[{"a":1,"i":3,"o":1,"p":3,"t":[{"a":1,"i":1}]},6],"t":[{"e":1}],"u":[{"m":73,"n":6,"r":4}],"ü":[{"l":[{"l":132},22]}]},189],"n":[{"e":[{"s":[{"i":89}]}]},161],"o":[{"b":[{"e":152,"i":78,"j":77}],"d":[{"e":[{"s":48},1],"r":6},88],"f":[{"e":6},71],"g":[{".":77,"a":[{"l":21}]},78],"h":[{"a":2},88],"i":[{"r":4}],"k":[{"l":21}],"l":[{"d":4}],"m":[{"e":2},78],"n":[{"a":[{"n":6}],"ä":6,"d":[{"a":[{"c":12}],"e":[{"l":12}],"o":2,"r":25}],"e":[{"r":6}],"s":[{"a":4,"e":10,"u":9},162],"t":[{"a":22,"h":4}],"y":0},88],"o":394,"p":[{"e":[{"r":6},127],"f":93,"t":77}],"r":[{"a":[{"n":2},0],"d":[{"a":162,"r":2}],"e":[{"i":6}],"g":[{"e":[{"n":[{"s":395}]}]},4],"t":37}],"s":[{"k":[{"a":5}],"s":4,"t":[{"e":[{"r":102}],"i":2}]},78],"t":[{"h":3,"o":7,"r":12}],"u":[{"s":10}],"x":93,"y":0},75],"ö":[{"b":[{"e":22}],"c":6,"f":80,"k":84,"l":93},75],"p":[{"a":[{"n":[{"e":4}]}],"e":[{"l":[{"a":2,"i":[{"n":12}]}],"n":[{"e":104},2]}],"f":[{"e":[{"f":13,"r":[{"f":14,"g":[{"e":273},4],"p":[{"r":24},4],"r":14,"z":39}]}],"l":23,"o":[{"r":13}],"r":6},73],"h":[{"a":[{"f":0}],"o":[{"s":0}]}],"i":[{"n":22}],"l":[{"ä":82,"e":[{"i":1,"m":[{".":128}],"n":86,"s":86}],"i":[{"s":5}]}],"o":[{"n":82,"r":[{"t":[{"a":[{"g":33}],"e":[{"r":322}]}]}]}],"s":[{"h":1,"t":[{"r":1}]}],"u":82},189],"q":93,"r":134,"s":[{"a":[{"m":73,"n":73,"p":89,"s":0,"t":82,"u":[{"e":25},73]}],"ä":[{"n":114},82],"c":[{"h":22,"o":89},82],"e":[{"d":296,"f":114,"i":[{"g":89,"n":89}],"l":[{"e":234}],"n":[{"e":114,"t":89},2],"r":[{"f":0,"h":6}],"t":2,"u":114,"x":89},82],"o":[{"d":113,"r":[{"i":0},2]}],"p":[{"ä":73,"e":[{"d":73}],"l":89,"o":[{"t":73},6],"r":[{"o":73}],"u":6}],"s":16,"t":[{"a":[{"g":164}],"ä":82,"e":[{"h":82,"i":82,"l":82}],"i":[{"t":73},6],"o":124,"r":[{"ä":7},124],"u":79,"ü":5},2],"ü":73,"w":89,"y":82,"z":[{"i":89}]},189],"t":[{"a":[{"b":0,"k":0,"m":2,"r":0,"u":[{"g":1}]}],"e":[{"d":113,"i":[{"n":0,"s":0}],"l":[{"t":0}],"m":[{"i":0}],"n":[{"g":[{"a":89,"l":128}],"t":[{"f":89,"g":89,"r":344,"s":89}]}],"r":[{"b":104,"e":[{"i":128}],"f":104,"g":104,"h":0,"i":396,"k":104,"l":104,"n":10,"s":104,"t":104},22],"t":[{"a":73}],"u":104,"v":104}],"h":[{"o":1},104],"i":[{"d":113,"m":73,"n":104,"r":113,"s":2}],"m":[{"e":[{"n":105}]}],"o":[{"b":0,"p":0}],"ö":[{"l":104,"s":0}],"r":[{"o":86,"ö":73}],"s":[{"a":6,"c":[{"o":1}],"e":[{"n":[{"d":1}]},21],"k":[{"a":3,"e":[{"l":16}]}],"t":[{"ä":[{"t":4}],"u":1}]},89],"t":12,"u":[{"m":0,"r":[{"e":4}]}],"ü":82,"z":1},189],"u":[{"a":0,"c":[{"k":[{"e":[{"l":5},1]}]}],"h":93,"l":[{"a":1,"d":78,"l":[{"a":[{"u":12}]}],"t":78}],"m":[{"i":78,"s":[{"p":11},71]}],"n":[{"d":[{"a":[{"n":102}],"e":[{"r":[{"f":26}]}]}],"e":[{"r":397}],"f":189,"g":[{"e":[{"b":106}]}],"i":[{"n":5,"v":398},1],"w":84,"z":84},78],"r":[{"u":[{"f":176}]}],"s":[{"a":41,"o":21,"p":6,"t":[{".":84,"e":10},118],"u":6},147],"t":[{"a":[{"u":13}],"s":[{"t":2}]}]},75],"ü":[{"b":77,"h":[{"e":[{"r":6}],"l":[{"a":48}]},78],"l":[{"l":[{"e":[{"n":12}]}]}],"n":78,"t":[{"t":[{"e":[{"r":247}]}]},78]},75],"v":[{"o":[{"l":[{"l":132}]}]},93],"w":[{"a":[{"r":12},2],"e":[{"g":[{"s":10}],"l":[{"t":17},10]}],"u":13},152],"y":[{"a":[{"l":0}],"s":23},78],"z":[{"u":[{"g":10}]},152]}],"n":[{"a":[{".":78,"b":[{"a":78,"ä":6,"e":[{"n":[{"s":149}]}],"h":82,"i":78,"k":82,"l":23,"o":[{"r":6}],"r":[{"ü":12},6],"s":399,"u":[{"s":6}]},93],"c":[{".":89,"h":[{"e":[{"n":[{".":7},29]}],"s":[{"e":82,"p":25}],"t":[{"e":[{"r":[{"s":[{"c":70}]}]}],"r":[{"a":[{"u":[{"m":175}]}]}]}]},302]},78],"d":[{"a":[{"b":1},71],"e":[{".":1,"l":132,"r":6},78],"l":189,"m":106,"r":72}],"e":[{"l":1},78],"f":[{"r":[{"a":0}]},93],"g":[{"a":2,"e":[{".":1,"m":6}],"g":189,"i":[{"n":1},72],"r":16}],"h":[{"a":21,"m":89,"n":106,"o":106},88],"i":[{"e":2,"g":71,"r":[{"e":12},106],"s":73},78],"k":[{"ä":78,"o":78,"r":[{"o":6}],"t":84},93],"l":[{".":73,"a":[{"m":4,"r":5},125],"ä":6,"b":[{"k":93}],"d":[{"a":4},73],"e":[{"i":4,"n":[{"t":14}],"r":[{"e":[{"i":24}],"g":42,"m":5,"w":14}],"s":105,"t":13,"x":13}],"g":22,"i":[{"d":6}],"o":[{"p":6}],"p":[{"h":2}],"s":[{".":73}],"t":[{"a":22,"r":35,"y":73},4],"u":6,"y":77}],"m":[{"a":[{"t":6}],"e":[{".":1,"i":139,"n":[{"s":247},128],"r":248},78],"i":[{"d":6,"n":6}],"n":16,"o":88,"p":71,"s":[{"p":12}],"t":[{"s":10},93],"y":5}],"n":[{"a":[{"t":5},224],"ä":79,"b":106,"d":256,"e":[{"u":13}],"f":106,"g":106,"h":84,"i":77,"k":106,"l":106,"n":[{"a":106},88],"o":[{"b":162},84],"p":106,"r":77,"s":106,"t":[{"r":77}],"w":77,"z":[{".":73,"e":[{"n":[{"e":26,"g":26},102],"r":102}]}]},71],"o":[{"t":1}],"p":[{"e":[{"r":6}],"f":[{"e":[{"l":84},71]}],"r":79}],"q":71,"r":[{".":194,"a":21,"c":77,"d":73,"e":[{".":89},73],"i":78,"k":73,"l":[{"e":73}],"m":77,"o":[{"m":6},73],"r":73,"s":73,"t":[{"a":73,"h":73},77],"u":3},71],"s":[{".":89,"ä":1,"c":[{"h":[{"w":5}]}],"p":246,"s":[{"c":11,"i":189}],"t":[{"a":12,"r":6}],"y":[{"l":105},139]},78],"t":[{".":89,"a":[{"u":14}],"e":[{"i":13,"m":6}],"h":232,"m":84,"o":[{"m":84,"r":194},2],"r":13,"s":[{"a":12,"e":48}],"u":1},78],"u":[{"f":[{"f":[{"r":10}],"r":2}],"i":194,"l":88,"s":[{"b":84,"d":84,"f":84,"g":84,"l":84,"o":73,"r":84,"s":106,"w":84,"z":84}]},71],"v":[{"e":10,"i":[{"e":[{"r":[{".":55,"s":55}]}]}]},78]},75],"ä":[{"b":77,"c":147,"e":78,"f":93,"g":78,"h":[{"i":6,"m":78,"n":93,"u":6}],"m":152,"n":93,"p":[{"f":[{"e":[{"l":84}]}]}],"q":77,"r":[{"s":[{"t":59}]}],"s":[{"c":6,"s":73}],"u":[{"m":304},77]},75],"b":[{"a":[{"i":[{"s":19}]}],"e":[{"i":[{"n":2}],"r":[{"e":22}],"s":10}],"y":12},134],"c":[{"a":[{"b":86,"n":82}],"e":[{"n":275,"s":[{".":82}]}],"h":[{"l":82,"m":4}],"k":73,"o":[{"r":22}],"r":82,"u":82},93],"d":[{"a":[{"f":13,"g":6,"i":82,"k":104,"n":[{"a":73,"i":73,"z":73}],"r":[{"r":0}],"t":[{"t":1},82],"u":[{"t":73},0],"x":73}],"ä":[{"n":[{"g":0}]}],"c":0,"e":[{"a":[{"l":[{".":12}]}],"d":[{"e":104}],"e":82,"i":73,"l":[{"f":[{"e":1}],"l":25,"s":[{"a":277,"e":[{"n":58}],"t":[{"e":[{"r":45}]}]}]}],"m":[{"o":[{"t":12}]}],"n":[{"s":[{"k":25}],"t":[{"l":89,"s":89}]}],"o":37,"r":[{".":140,"e":[{"n":140}],"h":6,"i":140,"l":[{"ä":[{"s":33}]}],"o":[{"b":12,"s":284}],"s":[{"a":[{"t":336}],"t":[{"e":55}]}]}],"s":[{"e":2,"s":25},400]}],"i":[{"a":162,"m":[{"m":0}]}],"o":[{"c":13,"f":73,"n":[{"a":162}],"p":[{"t":73}],"r":[{"i":289},0],"s":[{"t":13},6],"t":[{"t":86}]}],"ö":[{"s":6},73],"r":[{"a":[{"m":5,"t":86,"u":1}],"e":86,"i":[{"f":73}],"o":[{"c":86,"d":73}],"ö":86,"u":[{"i":73,"n":86}]}],"s":[{"e":[{"n":[{"e":5}]}],"p":[{"r":6}]}],"t":[{"h":1,"r":12}],"u":[{"n":[{"s":73}]}],"w":[{"a":[{"r":[{"e":55}]}]}],"y":4},189],"e":[{".":78,"a":[{"p":6,"s":78,"t":1,"u":1}],"b":[{"e":[{"n":[{"e":106}]}],"l":6,"n":93,"r":12}],"c":[{"a":78,"e":78,"h":6,"k":[{"a":22},0]},77],"d":[{"i":[{"t":6}]}],"e":[{"i":[{"n":1,"s":1},22],"n":22,"r":[{"e":22},13]},77],"f":[{".":73,"a":167,"r":77},71],"g":[{"g":93,"l":12,"o":72,"r":12}],"h":[{"e":[{".":80,"m":77,"n":401,"r":22},71],"m":78,"r":106}],"i":[{"a":78,"c":84,"d":[{"e":[{"i":12}],"r":12}],"e":[{"r":84}],"g":[{"t":78,"u":78}],"l":[{"a":12}],"n":[{"g":84,"h":84,"k":84,"l":84,"z":84}],"p":84,"s":[{"s":19}]},93],"k":[{"e":6,"s":93,"t":37,"z":77}],"l":[{"a":6,"b":4,"e":[{"k":84,"m":84,"n":1,"x":1},72],"i":[{"d":1,"t":6},2],"k":78,"l":[{"a":11,"e":[{"i":12,"r":[{"f":29}]}]},73],"o":143,"u":78}],"m":[{".":88,"b":189,"p":106,"s":93,"u":84}],"n":[{".":89,"a":[{"m":12,"n":5},346],"ä":6,"b":73,"c":73,"d":[{"a":[{"r":12}],"b":189,"d":189,"f":189,"g":71,"h":189,"k":189,"l":71,"p":189,"t":189,"w":189}],"e":[{"b":22,"i":4,"m":10,"n":[{"e":5},132],"r":[{"b":4}],"u":23}],"f":73,"g":[{"b":189,"e":[{"n":12}],"s":189,"t":189,"u":71}],"h":73,"i":14,"j":73,"k":97,"m":73,"n":[{"a":[{"r":12}]}],"o":126,"s":[{"e":9,"k":4,"p":37}],"t":[{"a":402,"b":189,"d":84,"f":84,"i":403,"l":189,"n":84,"r":194,"s":189,"w":106,"z":84}],"u":14,"v":73,"w":73,"z":[{"e":[{"r":10}]}]},78],"o":[{"b":23,"h":6,"r":6,"s":10}],"p":[{"e":[{"n":6}],"f":77,"i":80,"o":[{"s":6},77],"t":10}],"r":[{".":89,"a":[{"b":6,"c":6,"f":23,"g":6,"l":16,"m":6,"n":6,"p":23,"t":[{"i":[{"o":24}],"o":1},73],"u":6},0],"b":[{"a":97,"e":[{".":106,"n":106}]}],"d":[{"b":77,"i":[{"g":12}]}],"e":[{"b":21,"c":6},22],"f":[{"a":[{"s":84}],"r":78,"ü":77},71],"g":[{"r":78},404],"h":[{"ö":106},71],"i":78,"j":73,"k":[{"a":194,"ö":73},71],"l":[{"i":73,"ö":93}],"m":[{"i":71}],"n":[{"ä":93,"e":[{"u":106}],"t":93}],"o":[{"s":71}],"ö":[{"f":71,"s":0}],"s":[{".":73,"a":93,"e":78,"k":12,"t":[{"s":106}]}],"t":[{".":78},10],"u":[{"p":6}],"v":88,"w":[{"a":[{"r":84}]}],"z":93}],"s":[{".":73,"a":[{"l":6,"n":2}],"e":[{"i":6,"v":21},89],"h":107,"i":1,"k":[{"a":1}],"o":[{"f":21,"r":21}],"p":[{"a":21}],"s":[{"i":[{"g":12},405]}],"t":[{"a":0,"e":6,"i":4,"r":245}],"y":[{"n":84}]}],"ß":78,"t":[{"a":[{"b":6,"g":372,"k":13,"n":21,"p":80,"t":80}],"e":[{"l":110}],"h":[{"a":4},6],"i":[{"n":5},1],"o":[{"b":5}],"t":[{"a":4,"e":4,"r":4},73],"u":152,"z":[{"e":[{"r":12}],"i":11}]}],"u":[{"c":13,"e":[{"r":[{"e":12,"f":19,"k":19,"r":19,"s":19,"w":19}]}],"g":9,"p":93,"r":[{"a":2},22],"t":4},6],"v":[{"i":88}],"w":[{"a":1},73],"x":[{"i":6},93],"y":194,"z":78},75],"é":78,"f":[{"a":[{"l":[{"t":19},79],"n":[{"g":79}],"r":5}],"ä":79,"e":[{"i":2,"n":79,"r":79,"s":6,"x":89}],"f":12,"i":[{"l":[{"e":[{".":12}]}]},82],"l":[{"e":5}],"o":[{"s":13},6],"r":5,"s":3,"t":[{"a":[{"n":6}],"r":23,"s":[{"t":[{"r":25},12]}],"u":1}],"u":104},93],"g":[{"a":[{"b":[{"e":82,"t":0}],"c":113,"d":104,"k":104,"m":[{"e":32}],"n":[{"d":[{"a":1}],"h":73,"l":89,"s":0,"t":0}],"r":[{"e":0,"s":79}],"v":113}],"ä":[{"l":104}],"d":1,"e":[{"i":[{"f":104,"n":104}],"l":[{"b":19,"e":[{"i":9}],"t":105}],"n":[{"e":[{"r":[{"w":35}]},140],"s":[{"a":25}]},124],"r":[{"a":[{"m":12}],"g":104,"z":[{"ä":10}]}],"s":[{"a":4},124],"t":35}],"g":[{"s":4}],"h":[{"u":1}],"i":[{"d":104}],"l":[{"a":[{"d":6}],"ä":[{"s":6}],"i":[{"c":73}],"o":[{"k":5,"t":82}]}],"n":[{"e":1,"i":128,"o":[{"m":5}],"u":6},73],"o":[{"b":6,"p":104,"r":[{"i":2},104]}],"ö":73,"r":[{"a":[{"i":86,"n":5,"t":86}],"o":[{"c":1,"s":[{"t":1}]}]}],"s":[{"a":[{"u":14}],"c":[{"r":5}],"e":[{"h":177,"k":5,"n":[{"s":5}]}],"p":[{"a":[{"r":5}]}],"t":[{"a":[{"n":35}],"e":[{"u":12}]}]}],"t":[{"s":1},89],"u":[{"m":73,"n":[{"g":19}]}],"z":[{"e":[{"i":[{"t":19}]}]}]},189],"h":[{"e":[{"r":2}]},243],"i":[{"a":[{"l":[{"o":1}],"r":6},88],"b":[{"b":10}],"c":[{"e":0},12],"d":[{".":88,"a":1,"e":[{"a":77},6],"r":16,"y":76},71],"e":[{"b":4,"l":[{"a":37},0],"n":[{"e":1,"i":1},27],"r":[{"e":[{"i":12}],"n":[{"a":5}]}],"s":[{"a":2}],"u":6},73],"f":[{"e":[{"s":277}],"l":0}],"g":[{"a":[{"b":21,"m":21,"n":21},22],"e":[{"l":243,"n":89,"t":77}],"l":[{"i":4},5],"n":6,"s":[{"p":12}]}],"h":[{"i":25}],"k":[{"a":[{"r":6}],"e":[{"l":6,"r":[{"h":1}]},78],"i":[{"n":[{"g":4}]},6],"o":[{"r":6}],"r":23,"t":9}],"l":[{"a":3,"i":3},88],"m":[{"p":84}],"n":[{".":78,"a":[{"c":2,"l":6},88],"b":88,"d":93,"f":77,"g":[{"s":10},88],"h":93,"k":406,"o":[{"r":6},78],"p":88,"s":[{"e":84,"u":84},93],"t":189,"u":1,"v":189,"w":88},13],"o":[{"b":6,"k":1,"r":[{"a":1}]}],"p":73,"r":[{"o":[{"n":5}],"r":71}],"s":[{"a":[{"m":5,"n":6}],"ä":6,"c":[{"h":[{"a":4,"w":5}]}],"e":21,"o":[{"l":106,"m":6,"t":84}],"p":[{"i":1},6],"s":9,"t":[{"h":[{"a":4}]}],"u":21},88],"t":[{"a":78,"i":[{"a":398},6],"o":2,"r":78,"s":4,"t":[{"e":[{"r":[{"g":351,"k":325}]}],"r":[{"a":12}],"s":[{"a":10}]}]},77],"u":78,"v":3,"x":78},75],"j":93,"k":[{"a":[{"b":[{"r":0}],"c":104,"g":[{"e":2}],"l":[{"g":89},82],"n":[{"g":0}],"p":[{"f":0}],"r":[{"t":[{".":1}]}],"s":[{"c":4}],"t":[{"m":73,"o":73}],"u":[{"s":0,"t":73}]}],"ä":[{"h":104,"p":104}],"e":[{"c":2,"i":[{"l":6},0],"l":[{"e":[{"i":12,"m":89}]}],"n":[{"a":12,"t":[{"e":10}]}],"r":[{"l":[{"e":128}],"o":[{"s":12}],"s":[{"a":1}]}],"s":[{"c":82}],"t":[{"i":0,"u":73},2]}],"i":[{"d":[{"e":73},32],"n":[{"h":0,"s":104}]}],"l":[{"a":[{"d":[{"e":89}],"g":82}],"e":[{"i":[{"s":1}],"n":86,"s":1}],"i":[{"n":82}],"o":6}],"n":[{"e":[{"b":5}],"i":[{"s":73,"t":73}],"u":73}],"o":[{"b":[{"e":131}],"p":[{"t":73}],"r":[{"d":105,"i":0,"t":104},2]}],"ö":[{"l":73}],"r":[{"a":[{"b":5}],"ä":[{"t":1}],"e":[{".":89,"l":86,"n":73,"p":1,"z":73}],"o":[{"l":73},1]}],"s":[{"a":[{"l":6}],"e":[{"n":1},6],"o":6,"t":[{"i":2}],"z":3}],"t":[{"a":[{"k":6,"n":6,"u":5}],"e":[{"n":[{"t":5}],"r":[{"g":5,"n":14}],"s":[{"k":25}],"t":2}],"i":[{"n":6,"t":13}],"o":[{"p":6}],"r":[{"i":[{"c":4}],"o":6,"u":6},13],"s":[{"e":[{"n":12}]}]}],"u":[{"m":104,"n":2,"r":[{"h":0}]}],"ü":[{"b":73}]},189],"l":[{"a":[{"g":[{"e":4}]}],"e":[{"g":[{"a":2}]}]},161],"m":[{"a":82,"ä":82,"e":[{"n":[{"s":22}]}],"i":140},152],"n":[{"a":[{"d":[{"a":73}],"g":2,"l":[{"g":73,"l":104}],"m":4,"n":73,"s":[{"t":4}],"u":73}],"e":[{"c":82,"i":[{".":6}],"l":[{"b":82,"e":12}],"n":[{"a":12,"s":6}],"r":[{"e":[{"i":[{"g":338},10]}],"f":[{"ü":10}],"g":[{"e":[{"b":33}],"r":5}],"h":6,"k":6,"l":[{"a":10}],"o":6,"ö":2,"w":[{"a":[{"r":33},1]}],"z":22}],"s":[{"e":99}],"u":6,"x":6}],"f":1,"g":12,"i":82,"k":2,"o":[{"b":[{"l":1,"s":1},23],"f":73,"p":73,"r":[{"i":0},2]}],"s":[{"a":[{"m":5}],"e":[{"r":1}],"p":3,"t":[{"o":[{"c":5}],"ö":6},10]}],"t":[{"a":47,"h":6}],"u":[{"f":104,"n":[{"f":104}],"r":0}],"v":[{"o":[{"l":[{"l":[{"e":54},102]}]}]}]},189],"o":[{".":78,"a":[{"t":7}],"b":[{"a":88,"e":[{"l":73}],"j":77,"l":[{"a":6,"e":73,"o":78,"ö":78}],"s":321,"u":[{"t":17},22],"y":78}],"c":[{"h":[{"e":19,"r":10}]},0],"d":[{"e":6},77],"e":[{"d":6}],"f":[{"e":6,"f":77},71],"h":[{"e":88},93],"k":[{"e":[{"l":6}],"k":76,"r":1}],"l":[{"e":[{"u":6},82],"i":[{"g":5,"v":6}],"y":161}],"m":[{"e":407,"i":1,"p":78}],"n":[{"e":2,"k":71,"s":10,"t":71,"y":77}],"o":6,"p":[{"a":88,"ä":78,"e":[{"r":6}],"i":152,"s":93,"t":[{"e":3}]}],"r":[{".":78,"a":[{"d":6,"k":86,"l":1,"r":1},2],"c":77,"d":[{"a":12,"b":78,"e":[{"s":12}],"r":162}],"e":3,"g":93,"h":78,"l":88,"m":[{"a":[{"l":4},22]},78],"ö":78,"s":78,"t":93}],"s":[{".":88,"e":11,"h":1,"k":47,"p":23,"t":[{"i":80,"r":48,"v":77}],"u":2}],"t":[{"a":[{"n":6,"r":[{"t":1}]}],"ä":6,"e":[{"i":176,"n":[{"t":[{"r":20}]}],"r":[{"b":247},408],"x":5}],"h":[{"o":6},13],"i":[{"n":23}],"o":[{"p":23}],"r":23}],"v":78,"x":152,"z":78},75],"ö":[{"d":77,"f":139,"k":189,"l":189,"r":73,"t":85}],"p":[{"a":[{"g":[{"e":2}],"s":2}],"f":12,"r":[{"o":48}],"s":[{"y":25}]},309],"q":93,"r":[{"a":[{"n":22,"u":[{"m":[{"a":10}]}]}],"ä":[{"u":[{"s":25}]}],"e":[{"b":[{"e":105}],"l":[{"i":132}],"s":[{"z":9}]}],"o":[{"h":2}],"ö":[{"s":2}],"ü":[{"c":[{"k":[{"e":[{"r":312}]}]}]}]},409],"s":[{"a":[{"b":[{"o":82}],"d":113,"g":[{"i":113}],"k":[{"r":2}],"l":[{"l":73,"p":5,"t":73}],"n":[{"a":[{"t":5}],"e":1,"m":73}],"r":[{"g":6,"k":82},2],"s":2,"t":[{"h":5}],"u":[{"r":10,"s":22,"t":73}],"v":6,"x":6}],"ä":[{"n":104,"u":[{"g":6,"s":104}]}],"c":[{"h":[{"e":[{".":82,"f":89,"u":[{"l":55}]}],"l":[{".":89}],"o":22,"t":19,"u":82,"w":[{"e":[{"r":[{"d":45}]}]}]}],"r":6}],"e":[{"b":0,"e":[{"i":[{"n":12}]}],"h":[{"a":81,"e":[{"r":[{"e":55}]}]},6],"i":[{"n":[{"f":89}]}],"l":[{"e":[{"m":1},6]}],"m":[{".":73}],"n":[{"e":73,"s":[{"p":10}]}],"p":[{"o":73}],"r":[{"f":104,"g":104,"h":73,"k":[{"o":5},104],"l":[{"e":89},0],"n":[{"e":128}],"ö":73,"s":[{"c":89},0],"t":[{"r":1}],"w":104,"z":73}],"t":[{"y":73}],"u":104,"x":[{"t":6}]}],"f":[{"i":[{"l":22}]}],"i":[{"d":[{"e":[{"n":1}]}],"m":[{"p":89},82],"n":[{"f":6,"i":73,"n":[{"s":247},105]}],"s":[{"o":89},82],"t":[{"e":12,"r":2}]}],"k":[{"a":[{"l":79}],"e":[{"l":79}],"i":[{"s":6}],"l":[{"e":82}],"y":79}],"m":[{"a":[{"r":[{"a":140}]}]}],"o":[{"d":113,"f":[{"f":89},0],"m":5,"n":[{"t":128}],"p":104,"r":[{"t":[{".":128}]}]}],"p":[{"a":[{"c":6,"g":22}],"e":[{"k":5,"l":6,"n":141,"r":[{"i":89}]}],"h":73,"i":[{"e":5,"r":5},79],"o":73,"r":[{"ä":73,"i":[{"e":128}],"o":73}],"u":[{"t":73}]}],"r":[{"ü":22}],"s":16,"t":[{"a":[{"b":[{"l":1}],"d":82,"g":[{"e":[{"n":[{"t":31}]}]}],"k":13,"l":[{"e":89}],"n":[{"d":82,"e":4},410],"r":124,"s":73,"t":[{".":89,"e":[{"n":164}],"i":5,"s":89}]}],"ä":[{"m":82,"n":124}],"e":[{"i":[{"f":[{"e":35}],"n":[{"h":[{"e":263}]}]}],"n":[{"t":5}],"p":6,"r":[{"g":[{"e":35}],"n":[{"e":324,"s":324}]}],"u":5}],"i":[{"c":124,"f":82,"l":[{"g":89}],"m":82},6],"o":[{"b":73,"p":[{"f":[{"e":35}]}],"r":5}],"r":[{"i":[{"e":89,"k":89,"p":5}],"u":[{"n":5}]}],"u":[{"t":9},6],"ü":[{"m":5}]}],"u":[{"f":82,"m":6,"n":[{"g":6,"k":5,"w":6,"z":5},0],"r":[{"s":0}],"t":104}],"y":82,"z":[{"e":[{"n":[{"e":5}]}]}]},189],"t":[{"a":[{"c":383,"k":[{"t":[{"a":10}]}],"l":[{"a":48,"i":[{"n":12}],"l":114,"o":2,"p":6}],"m":171,"n":[{"b":79,"e":4,"s":[{"p":89}],"t":0,"z":[{"a":89}]}],"r":[{"b":79,"k":0,"m":79,"t":[{"i":[{"k":33}],"u":1},0]}],"s":[{"s":104}],"t":[{"h":73,"l":82}]}],"ä":[{"m":0,"u":104}],"e":[{"a":[{"u":4}],"e":13,"g":119,"h":[{"e":82},0],"i":[{"g":73,"n":0,"s":104}],"l":[{"i":[{"n":12}]}],"m":[{"o":104}],"n":[{"a":12,"t":[{"e":[{".":33}]}]},5],"r":[{"a":105,"e":[{"i":[{"s":46}]}],"h":5,"k":5,"m":5,"n":[{"e":19},5],"s":5,"t":5}],"s":[{"a":4,"s":411,"t":[{"r":[{"i":164}]},2]}],"t":[{"a":237}],"u":[{"e":[{"r":[{"i":33}]}]},25],"v":4}],"h":[{"e":[{"l":0}],"i":[{"e":0}],"o":[{"t":73}],"r":82,"u":[{"m":412},5],"y":5}],"i":[{"c":4,"m":[{"p":25}],"n":[{"d":128,"f":128,"h":128,"i":132}]},79],"l":[{"e":[{"m":413}]}],"m":[{"e":[{"n":105}],"o":10}],"n":[{"i":[{"s":132},22]}],"o":[{"r":[{"e":4,"g":89,"i":[{"e":122}]}]}],"ö":[{"l":104}],"r":[{"a":[{"l":5,"u":[{"m":5},0]}],"e":[{"a":1,"c":1,"e":141,"i":[{"f":1}],"p":[{"r":5},140]}],"i":[{"c":[{"h":1}],"e":[{"g":128}]}],"o":[{"h":73,"p":[{"i":89},82]}],"ü":86}],"s":[{"a":[{"h":2}],"p":[{"a":[{"r":4}],"e":7},3],"t":2,"u":[{"r":6}]},89],"t":2,"u":[{"b":82,"r":[{"e":[{".":12}]}],"s":13}],"ü":82,"z":1},93],"u":[{"a":[{"l":[{"e":5}],"r":216},304],"b":[{"i":48}],"c":127,"d":[{"e":22},78],"e":[{"s":6},78],"f":[{"e":6}],"g":78,"h":[{"i":78},93],"i":78,"k":[{"l":1,"r":79},237],"l":[{"l":[{"a":48,"e":[{"b":25},105]}]}],"m":[{".":73,"b":76,"e":73,"f":77,"g":84,"l":77,"m":88,"r":84,"s":93,"v":93,"z":76}],"n":[{"a":84,"e":93,"g":[{"l":106},414],"i":189,"k":82,"r":77,"s":4,"t":84,"v":84,"z":78},5],"o":78,"p":77,"r":[{"i":2,"s":4,"z":2},80],"s":[{"c":1,"e":1,"p":[{"o":1},13],"s":[{"e":[{"r":[{"l":26},208]}]}]},215],"t":[{"a":21,"o":[{"p":5},82],"r":14},78],"u":78,"x":78,"z":78},75],"ü":[{".":78,"b":372,"r":[{"c":13}],"s":78,"t":75}],"v":[{"e":[{"r":82}],"l":82,"o":[{"r":[{"a":[{"n":102}]}]}]},152],"w":76,"y":[{".":75,"a":[{".":73},93],"h":75,"o":71,"r":75,"s":75,"w":75}],"z":[{"a":[{"c":73,"g":113,"k":167,"n":[{"e":16,"i":82},73],"r":73,"s":2,"t":73,"u":104}],"ä":[{"n":73,"r":73}],"e":[{"l":[{"a":12,"l":[{"i":[{"g":33}]}]}],"n":[{"e":[{"r":[{"g":164}]}],"i":82,"s":[{"e":89}],"t":[{"l":89,"s":89}]}],"r":[{"e":[{"m":1}],"h":104,"l":[{"ö":10},0],"r":141,"s":[{"t":[{"e":7}]}],"t":[{"r":[{"a":33}]}]}],"s":[{"k":4},124],"t":[{"a":0},2],"u":[{"t":9}]}],"i":[{"d":104,"g":[{"a":2}],"n":[{"h":73,"i":104,"t":0,"v":0}]}],"l":[{"e":1}],"o":[{"p":104}],"ö":[{"l":73}],"s":[{"t":1}],"t":[{"r":12}],"w":[{"a":104,"ä":104,"e":[{"t":73}],"i":[{"r":73}],"ö":73,"u":104}]},189]}],"ñ":[{"o":[{"r":2},0]}],"o":[{"a":[{"b":[{"i":128}],"c":[{"h":[{"e":1,"i":1}]},89],"d":[{"e":1,"s":[{"t":12}]},89],"i":[{"n":1}],"k":[{"e":128,"l":198}],"l":[{"a":128}],"m":[{"i":128}],"n":[{"a":12},5],"q":128,"r":206,"s":[{"e":87,"s":140},73],"t":[{"r":5},89],"u":140},161],"ä":93,"b":[{".":77,"a":[{"l":79,"m":6,"r":6,"u":[{"f":0}]}],"ä":161,"b":77,"e":[{".":77,"a":77,"c":76,"f":77,"i":[{"n":86}],"n":[{"a":12,"d":159},77],"r":[{".":76,"e":[{"i":[{"s":55}]}],"i":[{"n":[{"g":29},25],"s":12}]},85],"v":77,"z":77},6],"i":161,"j":78,"l":[{"a":0,"e":[{"i":1}],"i":146,"o":154,"ö":80,"u":6}],"o":[{"r":0},77],"ö":77,"r":[{"e":[{"i":1}],"ü":77}],"s":[{"h":3,"k":1,"p":2,"z":1},89],"u":[{"n":[{"t":89}],"s":2},76],"ü":[{"b":89},76],"y":[{"t":12},77]},71],"c":[{"a":82,"c":[{"l":78},0],"e":71,"h":[{"a":[{"b":22,"r":22},13],"e":[{"b":10,"c":94,"h":13,"i":13,"l":22,"r":[{"k":19}]},71],"i":[{"d":10}],"l":4,"m":4,"o":13,"ö":[{"f":22}],"r":4,"s":13,"t":10,"u":[{"f":22,"t":9},71],"w":13}],"i":71,"k":[{"a":[{"r":73,"u":73}],"e":[{"r":[{"s":[{"c":415}]}]},82],"i":82,"s":[{"z":4}],"t":[{"a":4}]},115],"l":71,"u":82},77],"ç":71,"d":[{"a":[{"k":1},80],"d":[{"r":6}],"e":[{"c":82,"i":[{"n":17},383],"l":[{"a":[{"g":27}]}],"m":[{"a":[{"n":12}]}],"n":11,"r":82,"s":[{"e":11,"p":4}],"t":6,"x":82}],"i":[{"a":76,"c":96,"f":77,"r":76},6],"n":77,"o":[{"n":73,"p":86,"s":12},6],"ö":6,"r":[{"e":73},77],"t":12,"u":76,"y":[{"m":2},82]},71],"e":[{"d":[{"i":1}],"m":5,"n":[{"e":13}],"r":[{"i":1}],"s":[{"c":5},86],"t":[{".":82,"s":82},167]},152],"f":[{"a":[{"c":2,"d":32,"g":32,"n":6,"u":0},77],"ä":77,"e":[{"b":113,"c":104,"e":77,"i":104,"m":77,"n":[{"t":73}],"r":[{"b":89},76],"s":161,"t":113,"u":[{"n":1},77]}],"f":[{"a":21,"e":[{"r":[{"z":4}]}],"i":[{"n":21,"z":75}],"l":23,"o":21,"r":23,"s":[{"h":4,"i":4,"p":4},22],"u":6}],"i":[{"e":[{"i":37}],"k":[{"l":9}],"s":9},77],"l":[{"e":1,"i":1,"ö":5},93],"o":77,"ö":77,"r":[{"ä":1,"ü":5},93],"s":[{"a":[{"m":5}],"ä":1,"c":[{"h":2}],"e":[{"n":5}],"t":[{"a":[{"f":5},1],"r":1}]},21],"t":[{"a":2,"e":[{"i":6}],"h":1,"r":12},77],"u":[{"r":1},77]}],"g":[{"a":[{"b":104,"c":104,"d":4,"n":[{"g":0,"s":0}]}],"e":[{"i":113,"l":[{"i":2}],"n":[{"e":[{"r":102}]}],"r":[{"ä":[{"t":[{"e":[{"i":[{"n":416}]}]}]}]}],"t":[{"h":104}]}],"g":[{"l":6}],"h":82,"i":[{"e":[{"r":2}],"n":[{"i":104,"s":1},48]}],"l":[{"e":1,"o":6},0],"n":124,"o":[{"r":[{"i":32}]}],"s":[{"p":1,"t":[{"e":0,"i":1}]},2]},93],"h":[{"a":[{"l":[{"k":0}]},93],"ä":71,"e":[{".":82,"i":[{"s":0}],"m":82,"n":[{".":82,"s":25}],"r":[{".":82,"e":82,"t":417,"z":83}],"s":82},71],"i":93,"l":[{"a":[{"d":36},13],"ä":6,"e":[{"c":1,"i":13,"p":1,"r":[{"g":5,"h":14,"w":5},105]}],"o":[{"r":100},1],"s":[{"e":22}],"u":6},77],"m":[{"i":75}],"n":[{"a":[{"c":5},13],"e":[{"e":1}],"i":6,"m":75,"o":21,"s":[{"k":4}]}],"o":[{"l":[{"e":11,"o":48}],"p":32},93],"ö":[{"l":1},77],"r":[{"a":4,"e":[{"l":6,"m":6,"n":[{"s":17}],"r":[{"g":5},105]}],"i":[{"n":5},1],"o":[{"l":6}],"t":[{"r":195}]}],"s":[{"a":1},0],"t":1,"u":71,"w":0,"y":93}],"i":[{"d":[{".":71,"a":79,"s":71}],"e":82,"m":72,"n":[{"e":89},71],"r":6,"s":[{"c":[{"h":[{".":82,"e":89}]}],"m":71,"s":22}],"t":[{"h":0,"u":115}]},77],"j":[{"e":[{"k":[{"t":[{"o":[{"r":[{"i":30}]}]}]}]}]},93],"k":[{"a":[{"b":37,"c":86,"i":4,"l":[{"a":2,"e":[{"r":[{"e":26}]},105]}],"s":[{"t":10}]},6],"e":6,"i":[{"o":12}],"l":[{"a":[{"u":1},6],"ä":0,"i":6}],"o":[{"p":[{"t":12}]},6],"s":[{"o":6,"p":21}],"t":47,"w":78},93],"l":[{"a":[{"b":[{"u":1}],"f":10,"m":113,"n":[{"t":0}],"r":[{"s":266},6],"s":[{"t":19},79],"v":32},71],"ä":[{"t":0},189],"c":[{"h":[{"r":6}]}],"d":[{"a":[{"m":41}],"ä":6,"e":[{"d":21,"n":[{"g":14}],"r":[{"s":[{"a":35}]}],"s":22,"u":6}],"i":[{"m":6}],"o":23,"r":6}],"e":[{".":106,"f":104,"i":[{"e":0,"s":104}],"m":[{"b":0}],"r":[{"k":0,"t":418},22],"s":[{"s":0,"t":[{"i":12},2]},4],"u":37,"x":[{"z":0}]}],"f":[{"a":6,"e":[{"m":6,"r":[{"e":4}]}],"l":23,"r":[{"a":23},13],"t":10}],"g":[{"e":[{"g":[{"e":247}],"n":[{"e":10}]}],"l":6,"r":6}],"i":[{"e":[{"n":160,"r":2}],"k":9,"t":[{"u":35}],"v":78},6],"k":[{"e":1,"l":6,"r":[{"e":23,"o":6}],"s":[{"c":12,"i":12},25]}],"l":[{"a":[{"c":21,"d":21,"k":21,"m":4,"n":[{"g":5}],"u":21}],"e":[{"b":125,"c":176,"i":21,"l":6,"r":[{"h":14,"k":42,"l":4,"w":14}],"s":[{"s":14}]}],"o":[{"p":6}],"s":[{"a":37,"p":4}]}],"o":[{"f":6,"p":13,"r":[{"t":0}],"v":6},84],"s":[{"k":3,"t":[{"e":[{"r":5}]}]}],"t":[{"h":3}],"u":[{"t":[{"h":2}]},71],"y":[{"s":106},6],"z":[{"a":[{"n":1},125],"e":[{"r":[{"n":14}]}],"i":[{"m":6}],"o":6,"w":6,"y":6}]},77],"m":[{"a":[{"b":[{"l":2},73],"g":[{"e":113}],"l":[{"g":0,"l":0}],"n":[{"e":[{"r":27}],"g":104,"r":6,"s":[{"c":1}],"t":[{"e":89}]}],"p":104,"r":[{"s":129,"t":[{"e":10},104]}],"s":[{"y":234}],"t":[{"i":22,"o":[{"m":89}]}],"u":104}],"e":[{"b":[{"e":0},73],"f":104,"i":104,"l":[{"d":82},73],"n":[{"t":[{"a":[{"n":380}]}]}],"p":89,"r":[{"h":0,"u":73,"z":0},22]}],"i":[{"c":162,"e":[{"t":132}],"g":82,"n":[{"d":0,"g":0,"s":0,"t":104}]}],"m":[{"a":1,"e":2}],"n":147,"o":[{"a":86,"r":[{"g":104,"i":32}]},84],"p":[{"f":1}],"s":[{"k":1},2],"t":3,"u":[{"m":73,"n":[{"t":89}]}]},77],"n":[{"a":[{"b":3,"c":6,"g":4,"l":82,"n":[{"n":1,"z":[{"e":[{"i":58}]}]}],"p":104,"r":[{"b":86}],"t":[{"h":4,"o":[{"l":84}],"s":22,"t":344}],"u":6},77],"ä":[{"h":0},77],"c":77,"d":[{"a":[{"n":6}],"e":[{"r":[{"e":[{"r":[{"s":30,"t":297}]}]}]}],"r":[{"a":6,"i":[{"n":5}]},13],"s":[{"k":4}]}],"e":[{"c":[{"k":2},0],"e":82,"f":73,"i":[{"g":82,"n":1}],"m":[{"a":0}],"n":[{"d":[{"s":128}],"g":6,"s":266},11],"p":0,"r":[{".":82,"b":0,"d":104,"f":[{"a":10}],"h":73,"k":[{"a":5}],"s":0}],"s":82,"t":[{"t":82}],"u":6},77],"f":3,"g":[{"l":[{"e":12},1],"r":12,"s":37,"u":[{"e":6}]}],"i":[{"d":23,"e":[{"g":25}],"g":[{"a":2}],"k":[{"r":89},5],"m":89,"n":[{"d":89,"h":89,"s":89}]},106],"k":[{"e":78},16],"l":[{"i":10,"o":[{"c":22}]}],"n":[{"a":[{"n":3},22],"e":3}],"o":[{"d":82,"f":73,"i":2,"k":[{"e":86}],"m":82,"r":[{"c":0,"d":1}],"s":4,"t":37},137],"r":[{"a":[{"d":17}]}],"s":[{"a":[{"m":5},13],"e":[{"b":6,"n":132,"t":10}],"i":[{"d":22,"n":[{"g":4}]}],"l":4,"p":[{"i":[{"n":5}]},13],"t":[{"a":22,"r":[{"i":35},10]}]}],"t":[{"a":1,"e":[{"b":21,"l":36,"n":[{"d":35}],"r":[{"l":14}]}],"h":6,"r":[{"a":[{"t":14}]}]}],"u":[{"k":77,"r":82,"t":77}],"v":1,"y":[{".":82},75],"z":[{"e":[{"i":[{"n":25}]}]},3]}],"ñ":71,"o":[{"c":[{"h":22},0],"g":[{"l":6}],"k":[{"l":23,"n":6}],"m":[{"o":6}],"n":[{"e":6}],"p":[{"s":2},71],"r":[{"d":4},71],"s":[{"k":5,"s":9,"u":6}],"t":[{"a":21,"e":[{"i":41}],"h":21,"r":6,"s":[{"t":2}],"t":4,"u":[{"r":6}]}]}],"ö":152,"p":[{".":77,"a":[{"d":[{"r":1}],"k":[{"t":0}],"l":[{"e":2}],"n":[{"g":0}],"s":[{"t":9},35]},71],"ä":77,"e":[{"c":71,"d":93,"f":0,"i":93,"k":71,"l":77,"n":77,"p":77,"r":[{"a":73,"h":0}],"s":71},75],"f":[{".":77,"a":[{"h":1},23],"ä":6,"e":[{"m":6},73],"i":[{"n":6}],"l":[{"a":4,"ü":0}],"o":6}],"h":[{"e":82},269],"i":[{"a":195,"e":[{"r":[{".":4,"s":[{".":35}],"u":277}]}],"n":22},71],"l":[{"a":[{"g":1}],"e":412},77],"n":79,"o":[{"l":[{"a":2}]},77],"p":[{"a":[{"n":6}],"l":5,"o":75,"r":23,"t":77}],"r":93,"s":[{"i":147,"z":1}],"t":[{"e":77,"h":1},192],"u":[{"m":73}],"y":77}],"q":93,"r":[{".":77,"a":[{".":77,"a":71,"b":[{"b":73},173],"d":[{"d":86,"r":1}],"g":72,"k":[{"e":75},73],"l":[{"m":128,"t":5},71],"m":[{"i":3},6],"n":[{"d":419,"e":5,"f":22,"m":22,"z":[{"e":10}]}],"p":1,"r":77,"s":72,"t":[{"t":73}],"u":[{"s":[{"w":[{"a":15}]}]},148],"v":6,"w":93,"y":71},0],"ä":[{"n":[{"d":0}],"t":0},82],"b":[{"l":2}],"c":[{"a":77,"e":6},0],"d":[{".":77,"a":[{"m":13,"r":6,"u":6},84],"b":77,"e":[{"n":[{"g":4}],"s":10,"u":6}],"i":[{"n":[{"g":14}],"r":21,"t":6}],"n":75,"o":36,"r":77,"s":[{"t":37}],"t":4,"u":77,"w":77}],"e":[{"a":2,"b":113,"c":[{"k":113}],"d":[{"i":2}],"e":140,"f":[{"f":0},82],"h":2,"i":[{".":82,"e":82,"f":79,"s":79},0],"l":[{"i":132}],"m":[{"s":105}],"n":[{"n":82}],"p":82,"r":[{"e":79,"o":79},104],"t":[{"h":12}],"u":104},77],"f":[{"a":[{"c":6,"r":6}]},77],"g":[{"a":12,"e":[{"t":77},2],"h":[{"i":1}],"i":[{"a":77}],"l":[{"a":1,"e":1},6],"n":[{"e":1},6],"r":77}],"h":77,"i":[{"a":76,"d":[{"i":25},161],"e":[{".":106,"n":[{".":82,"t":[{"i":164}]}],"r":82}],"l":82,"m":[{"a":0,"i":12}],"n":[{"d":114,"s":89},420],"o":372,"s":[{"o":73}],"t":77}],"k":[{"r":12,"s":[{"h":4},2]},77],"m":[{"a":[{"m":6,"n":[{"g":5,"s":5}],"s":[{"p":4}]}],"e":[{"b":21,"r":[{"f":14,"g":39}]}],"o":[{"r":[{"d":4},6]}],"u":[{"m":6,"n":[{"i":5,"t":5},10]}],"w":[{"a":54}]},77],"n":[{"a":[{"c":125,"l":6,"n":6,"r":6}],"e":[{".":7}],"i":[{"n":5},1],"o":393}],"o":[{"b":104,"l":[{"y":1}],"n":[{"a":37}],"p":[{"f":0}],"r":289,"u":82,"x":0},93],"ö":93,"p":77,"q":77,"r":[{"a":12,"e":3},77],"s":[{"a":16,"h":1,"i":1,"k":1,"t":[{"i":[{"n":12}]}],"z":1},108],"t":[{"a":[{"k":21,"n":21,"r":22}],"e":[{"f":6,"n":[{"g":421},10],"r":[{"b":4,"e":14,"f":4,"g":4,"k":5,"l":14,"s":[{"c":15}]}],"v":118}],"h":[{"e":6}],"i":[{"n":6}],"o":[{"f":[{"f":14}],"r":176}],"ö":6,"r":[{"a":[{"d":4,"u":5}],"ä":[{"u":14}],"e":4}],"u":[{"m":21}]}],"u":[{"f":6,"h":0,"m":[{"s":10}],"n":128,"r":2,"s":140},76],"ü":73,"z":[{"e":[{"l":54},3],"w":6}]}],"s":[{"a":[{"d":1,"l":22,"m":[{"i":128}],"s":13},161],"c":[{"a":128,"h":[{"a":[{"r":25}],"e":82,"l":[{"e":25}]}],"o":5},77],"e":[{"e":13,"i":[{"n":422}],"l":6,"n":2,"r":[{"k":117}],"x":6},77],"h":[{"i":79,"o":6,"u":5},77],"i":[{"t":5},77],"k":[{"a":[{"l":6}],"i":89,"l":80,"o":80,"r":89,"y":89},82],"m":[{"o":[{"g":5}]},75],"o":[{"l":48},77],"ö":73,"p":[{"a":[{"c":6}],"e":[{"c":1,"r":[{"o":1}]},6],"h":[{"ä":82}],"o":[{"t":5},79],"r":[{"a":6}]},127],"s":[{"a":[{"c":423,"g":1,"l":[{"a":4}],"n":[{"d":4}]},6],"ä":5,"e":[{"i":6,"n":[{"k":[{"e":35}],"z":14}],"p":21,"r":[{"b":39,"e":19,"f":42}]}],"i":[{"k":5,"m":5}],"o":[{"n":5},125],"p":[{"a":13},6],"t":23},77],"t":[{"a":[{"n":[{"g":4}],"r":[{"r":7,"t":12}],"t":5,"u":[{"t":4}]},13],"ä":5,"e":[{"c":22,"n":22,"r":[{"e":17,"w":[{"e":[{"i":175},35]}]}],"s":[{"s":54}],"u":[{"r":4},5]}],"h":21,"i":[{"d":6,"l":1,"m":5,"n":[{"a":1},6],"t":6}],"o":[{"c":1,"r":5}],"r":[{"a":[{"n":4}],"ä":4,"e":4,"o":[{"t":4}]}],"u":[{"f":4,"g":6}],"ü":[{"c":5}]}],"u":[{"m":0},158],"y":76,"z":[{"e":124}]}],"ß":[{"e":[{"l":104,"n":[{"t":104,"z":117}],"r":[{"b":104,"e":104,"f":104},22]}],"i":[{"s":0}]},77],"t":[{"a":[{"b":[{"e":82,"i":86}],"h":104,"k":104,"l":82,"m":82,"n":[{"t":0}],"r":[{"k":82,"z":73}],"s":[{"t":0},2],"u":[{".":82},104]}],"ä":0,"e":[{"b":89,"i":[{"b":114,"c":114,"n":10,"s":114},13],"l":[{"a":99,"i":[{"n":12}],"s":266},6],"m":[{"i":114,"p":424}],"n":[{"a":12,"t":[{"b":89}]}],"r":[{"b":0,"l":425,"w":114}],"s":232},82],"h":[{"a":[{"r":6}],"e":[{"m":73}],"i":104,"r":73}],"i":[{"l":73,"m":113,"n":[{"h":1},6]},84],"l":[{"i":10}],"o":[{"b":9,"f":[{"f":1}],"p":[{"h":2}]},6],"ö":104,"r":[{"a":[{"c":25,"n":124,"t":1,"u":5}],"e":1,"i":[{"c":1,"g":5,"n":1}],"u":[{"s":1}]}],"s":[{"a":[{"t":23}],"c":[{"h":1}],"e":[{"n":2}],"o":13,"p":[{"e":2,"r":6},13],"t":[{"a":[{"u":4}],"i":1,"r":[{"a":1}]}],"u":6}],"t":[{"a":[{"n":5,"s":110},13],"e":[{"b":6,"r":[{"h":5,"k":42}],"s":22}],"h":21,"i":[{"m":6}],"o":2,"r":[{"a":16,"i":5,"u":16},23]}],"u":[{"r":[{"l":0}]}],"ü":82},93],"u":[{"f":[{"f":33,"l":120}],"g":[{"e":5,"l":1},2],"h":71,"i":[{"s":[{".":0}]}],"l":[{"e":[{".":6,"s":6}],"i":5},77],"m":93,"n":[{"g":[{"e":[{".":12}]}]},426],"r":[{"e":[{"t":6},22],"i":[{"e":19},10],"m":[{"e":19}],"n":[{"e":[{".":12}]}]},84],"s":[{"a":1,"i":2}],"t":[{"i":1,"p":78,"s":37,"u":57}]}],"ü":93,"v":[{"a":6,"e":[{"l":77,"n":82,"s":4}],"i":[{"s":[{"o":17}]}],"o":77},71],"w":[{"a":[{"l":86}],"e":[{"c":82}],"h":73,"i":82,"u":73},93],"x":[{".":77,"a":72,"e":[{"l":104},77],"k":77,"l":1,"o":71,"u":104,"y":85}],"y":[{"o":71,"s":32}],"z":[{"a":82,"e":[{"a":75,"n":[{"t":[{"a":10}]},76],"s":[{"s":[{"c":10}]}]}],"i":[{"r":25},106],"o":[{"n":[{"a":48}]}],"y":77,"z":1},72]}],"ó":[{"r":[{"d":2},1]}],"ö":[{"b":[{"a":124,"l":[{"e":86},6],"r":86,"s":23},71],"c":[{"h":[{"l":13,"r":73,"s":[{"t":[{"e":[{"i":54},12],"r":17,"u":10}]},2]}],"k":[{"e":82}]},71],"d":[{"e":[{"l":[{"l":25}],"r":13}],"i":[{"e":[{"n":17}]},4],"s":[{"t":6}],"u":75},71],"e":71,"f":[{"f":[{"l":6}],"l":1},75],"g":[{"e":[{"l":[{"e":4}],"n":[{"s":163}]}],"l":86,"r":86},71],"h":[{"e":[{"n":99},71],"l":[{"e":271}],"r":[{"e":10,"i":1}],"u":71}],"i":[{"g":[{".":82}],"s":[{"c":[{"h":[{".":82}]}]}]}],"k":[{"e":71,"o":427,"r":1,"s":6}],"l":[{".":78,"a":32,"e":[{"i":0,"m":0,"n":5}],"f":[{"e":[{"i":21,"r":2}]}],"i":[{"n":0}],"k":[{"e":12,"l":23,"s":10}],"l":[{"a":13,"e":1}],"m":78,"n":[{"a":[{"r":6}]}],"o":32,"s":[{"a":1,"z":1},2],"t":[{"u":1}],"u":75,"z":[{"w":2}]},73],"m":[{"s":6},71],"n":[{"e":6,"i":[{"z":[{"i":132}]},82],"n":[{"e":2}],"s":[{"c":1,"p":1},6]}],"o":[{"t":[{"a":6,"i":48}]},0],"p":[{"e":71,"f":[{"l":4}],"s":[{"t":14}]},77],"r":[{"a":3,"b":[{"l":23}],"c":0,"d":[{"r":[{"a":1},6]}],"e":[{"c":104,"i":104,"l":113,"m":113,"n":[{"e":104,"t":73},2],"r":[{"b":79,"e":117,"f":97,"g":97,"h":6,"l":97,"r":6,"w":6,"z":79}],"s":[{"s":0}]}],"f":[{"l":23}],"g":[{"l":6}],"i":[{"m":73}],"k":[{"l":6}],"n":[{"e":[{"r":[{"v":19}]},2]}],"o":0,"p":[{"e":22}],"s":[{"e":2,"k":1}],"t":[{"e":2,"r":[{"i":7}]}],"u":[{"n":[{"e":104}]},12]}],"s":[{"a":73,"c":[{"h":[{"a":157,"e":[{"i":165,"r":[{"f":428,"i":428},102]},105],"i":73,"l":333,"m":157,"n":73,"w":73}]},77],"e":[{"i":[{"n":73},0],"s":[{"t":[{"r":4}]}],"t":82}],"l":77,"p":73,"s":[{"c":21,"t":6}],"t":[{"a":100,"e":1,"h":6,"r":1},73],"u":82}],"ß":[{"e":[{"n":25}],"t":[{"i":6}]},71],"t":[{"a":128,"e":[{"n":99}],"r":86,"s":[{"c":6},2],"t":[{"r":6}]},71],"v":72,"w":71,"z":[{"e":[{"s":10},4]},71]}],"p":[{"a":[{".":75,"a":75,"b":[{"e":73,"l":2,"r":[{"ü":12}],"w":77},71],"c":75,"d":85,"e":[{"l":1,"s":6},2],"f":[{"r":0}],"g":[{"h":1},192],"h":[{"o":0}],"k":[{"e":1,"l":0,"t":[{"o":12}]},75],"l":[{"a":[{"t":25},78],"ä":78,"e":187,"i":3,"m":[{"a":2,"ä":2,"o":11},75],"t":[{"a":11,"e":[{"i":12}],"r":2},77]}],"m":[{"a":23}],"n":[{"a":[{"r":6,"t":14}],"d":[{"a":22,"s":12},4],"e":[{"u":6}],"f":10,"g":10,"i":[{"s":[{"l":5}]}],"k":10,"l":77,"n":[{"e":[{"b":27},105],"u":84},77],"o":227,"s":[{"l":4}],"t":[{"h":37,"o":75,"r":77}],"z":[{"e":4},22]}],"p":[{"i":[{"e":[{"r":[{"e":[{"n":[{"d":61},62]}]}]}]},22],"p":[{"r":2}],"s":[{"t":132},12]},75],"q":0,"r":[{"a":[{"f":[{"f":14}],"k":[{"t":4}],"n":[{"t":5}],"p":1},75],"ä":6,"b":77,"c":85,"d":4,"e":[{"r":[{"g":[{"e":[{"b":175}]}]}]}],"f":[{"ö":77},75],"g":[{"e":[{"l":[{"d":29}]}]}],"k":[{".":75,"a":[{"m":25,"u":12}],"r":12,"s":75}],"m":37,"n":[{"e":4}],"o":227,"p":77,"r":77,"t":[{"a":84,"e":[{"i":78}],"i":75,"n":75,"y":78}],"z":4}],"s":[{"e":2,"p":[{"e":5},1],"s":[{"e":[{"r":[{"g":26},102]}],"p":11}],"t":5}],"ß":77,"t":[{"a":13,"c":12,"e":[{"l":77},429],"h":430,"i":75,"r":431}],"u":[{"f":93,"n":[{"i":1}],"s":[{"z":77}]},75],"v":75}],"ä":[{"c":[{"k":[{"e":[{"r":186},1]}]},215],"d":[{"e":[{"r":21},22]},78],"r":78,"s":78,"t":[{"e":[{"h":176,"n":[{"t":5}],"p":5,"r":[{"b":14}]}],"h":21,"o":6,"r":5,"s":9}]},75],"b":93,"c":76,"d":[{"a":12},152],"e":[{".":75,"a":[{"r":12},232],"b":72,"c":[{"h":48}],"d":[{"a":75}],"e":[{"l":75,"n":6}],"f":[{"f":189},77],"g":[{"e":[{"l":22}]},75],"i":[{"c":84,"l":75,"m":73,"s":77,"t":75},13],"k":[{"t":[{"i":22}]}],"l":[{".":78,"a":[{"b":14,"i":5,"u":21,"x":23}],"ä":21,"b":22,"d":9,"e":[{"h":176,"r":21,"t":6,"u":6},78],"i":[{"d":22,"n":[{"k":14,"n":4,"s":12},10]}],"k":4,"l":[{"a":37,"e":10,"i":22}],"o":[{"b":6}],"s":[{"p":4},432],"t":[{"a":37}],"z":[{"i":[{"n":12}]}]},236],"m":75,"n":[{"a":[{"r":22,"s":5}],"ä":6,"d":[{"a":37}],"e":[{"n":433}],"i":[{"t":110}],"o":21,"s":[{"a":22,"i":326,"o":306,"p":22,"z":4}],"t":[{"a":22,"w":77,"y":105}],"u":22,"z":4},75],"p":[{"i":1},75],"r":[{"a":[{"k":6,"m":2,"u":6},0],"ä":21,"e":[{"b":100,"r":[{"z":17},105]}],"i":[{"d":3,"o":434}],"l":[{"e":75,"h":75}],"r":[{"a":[{"n":27}]}],"s":[{"e":77,"i":77,"o":78,"p":78},75],"u":[{"n":1},22],"ü":75,"w":[{"a":[{"r":19}]}]}],"s":[{"a":3,"e":[{"n":22}],"s":435,"t":[{"e":[{"r":12}],"o":48},6]}],"t":[{"r":12},78]}],"é":75,"f":[{".":84,"a":[{"b":104,"d":73,"f":73,"i":0,"k":104,"m":0,"n":[{"s":0}],"r":[{"e":1},289],"u":104}],"ä":[{"r":73,"u":104},75],"e":[{".":84,"f":73,"i":[{"m":0,"n":0},73],"m":32,"n":[{".":82,"e":[{"r":89}],"s":82,"t":82}],"p":114,"r":[{"a":55,"d":[{"e":89}],"p":[{"r":[{"o":33}]}]}],"s":5,"t":104}],"f":12,"i":[{"d":113,"n":[{"n":0,"s":436}],"s":2}],"l":[{"a":[{"m":0,"n":5}],"e":[{"g":5,"i":1}],"o":1}],"o":[{"b":73,"m":73,"r":[{"i":0},73]},2],"r":[{"a":0,"ü":5},1],"s":[{"a":1,"e":1,"l":1,"t":[{"i":12}],"z":1},108],"t":[{"r":12},173],"u":[{"m":73}]}],"g":[{"r":[{"a":22}]},161],"h":[{".":84,"a":[{"l":[{"t":[{"e":437}]}],"n":[{"d":71}],"s":438,"u":71},6],"ä":[{"n":78,"r":84},13],"b":84,"d":77,"e":[{"i":93,"n":[{"d":266,"e":99,"s":266}],"r":[{"s":127}]}],"f":84,"g":84,"i":[{"d":73,"k":[{"a":[{"n":12},48]}]}],"k":77,"l":6,"m":84,"n":77,"o":[{".":73,"b":73}],"ö":77,"r":6,"s":84,"t":[{"h":[{"e":77}]},3],"u":[{"s":12,"t":4}],"ü":93,"y":88,"z":84},75],"i":[{"a":[{"b":10,"k":4,"l":[{"i":5}],"n":4,"p":22},348],"c":[{"e":0}],"d":2,"e":[{"i":21,"l":[{"a":25},6],"r":[{"a":2,"e":[{"b":12,"i":12}]},78]}],"g":[{"l":1}],"l":[{"e":1,"o":78,"z":[{"e":[{"r":12}],"w":2}]},75],"m":73,"n":[{".":78,"a":[{"d":6}],"g":[{"e":[{"n":102}],"s":25},78],"s":[{".":78,"e":78,"p":37}]}],"o":[{"i":[{"d":[{"e":1}]}],"n":[{"u":1}],"s":1},6],"p":[{"e":6},75],"r":[{"a":[{"t":[{"e":78}]}],"i":[{"n":78},1]}],"s":[{"o":77},75],"t":[{"a":2,"h":3,"s":2,"z":[{"e":37}]}],"z":[{"i":[{"n":21}]}]}],"j":93,"k":[{"u":2},152],"l":[{".":77,"a":[{"d":106,"h":71,"n":[{"a":4}],"u":89,"y":11},78],"e":[{".":76,"c":13,"e":2,"g":89,"n":37,"r":76,"u":89}],"i":[{"g":77,"k":147,"z":89}],"o":[{"n":4}],"u":[{"s":2},76]},233],"m":161,"n":152,"o":[{"b":2,"c":[{"k":78},127],"d":78,"e":[{"l":6},78],"h":77,"i":[{"d":[{".":1,"s":1}],"n":78},6],"l":[{"a":[{"n":6,"u":21}],"d":[{"e":22}],"i":1,"o":[{"p":121}],"z":37},78],"m":[{"p":[{"h":2}]}],"n":[{"d":77,"t":22}],"o":[{"b":0}],"p":[{"a":[{"k":21,"r":21}],"l":23,"t":3}],"r":[{"a":[{"u":0}],"f":10,"s":4,"t":[{"a":[{"l":78}],"h":11,"i":[{"o":78}],"o":[{".":78,"s":78}],"r":[{"e":12},78]}]}],"s":[{"i":78,"s":22,"t":[{"a":[{"g":12},6],"ä":6,"e":[{"i":25,"l":4,"m":12}],"r":[{"a":25},12]}]}],"t":[{"a":[{"r":13},6],"ä":78,"e":78,"h":2,"i":[{"n":23}],"t":[{"r":48}],"u":21}],"u":[{"n":1}],"w":[{"e":22},6],"x":1},85],"ö":[{"b":[{"l":6}],"c":6}],"p":[{"a":[{"b":73,"n":[{"s":0}],"t":73,"u":0}],"e":[{"e":4,"i":104,"l":[{"a":11,"i":[{"n":[{"e":54}]}],"s":25}],"n":439,"r":[{"z":104}]}],"f":[{"r":0},237],"h":[{"e":1},104],"l":[{"a":[{"c":114,"n":89}],"ä":104,"e":73},1],"o":[{"h":1}],"ö":131,"p":16,"r":[{"a":86,"ä":412,"i":73,"o":[{"l":1,"t":1}],"u":86}],"s":[{"a":16,"p":2,"y":1},89],"t":12,"u":[{"m":114}],"y":[{"l":22}]},189],"r":[{"a":[{"k":75,"x":75}],"ä":[{"d":75,"f":75,"g":75,"l":75,"m":78,"p":75,"s":78,"v":75},89],"e":[{".":77,"c":77,"d":78,"e":[{"i":2},440],"g":77,"i":[{"s":[{"c":277,"e":[{"i":33}],"t":318},78],"z":77},75],"m":75,"n":[{"g":[{"a":10}]}],"r":76,"s":[{"a":4,"s":[{"e":19}]},75]}],"i":[{"e":12,"g":77,"l":11,"n":[{"g":[{"s":102},77],"z":75}],"t":[{"e":[{"r":102}],"t":441,"z":77},11],"v":75}],"o":[{"b":[{"e":4},78],"c":77,"d":442,"g":147,"j":78,"s":[{"s":84,"t":13}],"t":[{"e":22,"o":78,"t":77}],"x":4},75],"ö":77,"ü":[{"f":75,"g":75,"h":77,"n":77}]},206],"s":[{".":84,"a":[{"d":0}],"h":[{"i":6}],"o":[{"d":0}],"ö":73,"p":[{"i":5}],"s":12,"t":[{"a":[{"u":13},82],"ä":82,"e":[{"a":82,"l":82}],"h":6,"i":79,"o":5,"ö":82,"u":6,"ü":82},73],"y":[{"s":84},88],"z":[{"e":6}]},93],"t":[{"a":[{"b":6,"g":2,"t":183},0],"e":[{"b":113,"c":1,"f":0,"i":0,"m":[{"i":0}],"n":[{"g":425,"t":114},84],"p":0,"r":[{"e":[{"i":1}],"w":0,"z":0}],"t":[{"a":89,"i":296},82]}],"h":104,"i":[{"d":[{"e":2},0],"n":298}],"o":[{"m":[{"o":2}],"n":[{"a":12}],"p":2,"w":2}],"r":[{"o":73},1],"s":[{"l":5,"t":12},3],"u":[{"h":0,"m":0,"r":[{"s":0}]}],"ü":12,"y":88,"z":3},93],"u":[{"a":0,"b":12,"c":77,"d":[{"r":6}],"h":93,"k":[{"l":6,"o":21},77],"l":[{"i":[{"n":6}],"s":[{"p":2,"t":2}],"w":77}],"m":[{"p":[{"l":2}]}],"n":[{"d":84,"e":2,"s":2,"t":84},78],"r":[{"a":6,"e":[{"i":6}]},77],"s":[{"h":[{"e":1},2],"t":23}],"t":[{"e":47,"s":187,"z":78}],"z":[{"i":25}]},75],"ü":[{"f":75,"l":[{"l":37},77]}],"v":93,"w":[{"a":[{"r":12}]},93],"y":[{"s":1,"t":1},443],"z":152}],"q":[{"u":[{"e":[{"r":[{"e":[{"l":4}],"n":55}],"t":[{"e":[{".":12}]}],"u":75}]},5]}],"r":[{"a":[{".":75,"a":[{"b":6,"c":77,"l":77,"r":1,"s":104},71],"b":[{"a":[{"r":21}],"ä":73,"b":[{"i":75,"l":162}],"d":[{"r":[{"u":102}]},77],"e":[{"i":6,"r":[{"d":4},2]}],"f":77,"g":77,"h":77,"i":75,"k":77,"l":[{"e":73,"i":6,"o":198}],"r":80,"s":148,"t":77,"w":76,"y":75,"z":77},71],"c":[{"e":[{"t":93},6],"h":[{"e":[{"b":5}],"o":6,"s":77,"t":[{"r":[{"ä":58}]}],"u":6}],"k":73}],"d":[{".":89,"a":[{"c":6,"m":41,"n":6,"p":77,"r":78},22],"e":[{"i":126}],"f":78,"h":78,"i":[{"o":78,"t":84}],"o":78,"p":78,"r":[{"i":4},41],"t":195},85],"f":[{"a":[{"h":[{"n":4}],"r":4}],"e":[{"r":21},22],"r":4,"t":[{"s":55}]},73],"g":[{"a":2,"e":[{"i":[{"n":102}],"s":19}],"g":77,"l":[{"e":16}],"m":84,"n":6,"o":73}],"h":[{"l":[{"e":[{"n":19}]}],"m":252,"n":71,"o":127,"t":84}],"i":[{"c":77,"l":[{"l":22}],"r":76},73],"k":[{"a":25,"e":444,"k":77,"l":445,"r":[{"e":6,"o":6}],"t":[{"i":77}],"ü":75,"z":77}],"l":[{".":89,"a":[{"b":14,"k":13,"s":10},36],"ä":6,"b":9,"d":147,"e":[{"n":[{"d":14,"t":5}],"r":[{"n":198}],"x":1}],"i":[{"d":6,"e":[{"r":25}],"n":[{"d":42,"g":14,"s":[{"p":15}],"t":19}]},89],"k":[{".":76}],"m":[{".":76}],"p":[{".":77,"e":84}],"s":[{"k":4,"u":4},89],"t":[{"h":446},82],"u":23,"y":78},73],"m":[{"a":[{"s":25}],"e":[{"i":6,"r":6}],"i":73,"m":[{"a":[{"n":12}],"e":[{"n":[{"s":26}],"r":[{"s":46}]}],"u":27},73],"n":77,"s":[{"c":78}],"t":[{"s":10},93],"u":77}],"n":[{"a":[{"d":[{"e":4},13],"l":72,"n":6,"r":6,"u":6},77],"b":[{"e":73},77],"d":[{"a":89,"e":[{"p":12,"r":27},89],"i":88,"s":25}],"e":[{"r":75}],"f":77,"g":[{"a":77,"e":[{"b":[{"e":28}]}],"i":78,"l":73,"s":[{"p":25,"t":[{"e":55}]},105]}],"i":[{"e":25,"l":124}],"k":[{"a":4,"r":2,"ü":2}],"l":84,"m":[{"i":73,"u":73},93],"n":[{"a":77,"e":35}],"p":93,"r":77,"s":[{".":73,"c":71,"p":[{"a":12}]},77],"t":[{"e":[{"i":214}],"h":71,"o":73,"r":77}],"u":75,"w":77,"z":[{".":73}]}],"p":[{"a":[{"r":6},77],"f":77,"o":[{"k":6},77],"p":[{"r":2}],"r":[{"i":161}]},73],"q":93,"r":[{"a":447,"b":77,"e":[{"i":147,"n":132,"t":4,"v":100},73],"f":156,"i":[{"e":1,"n":4,"s":[{"t":124},1],"t":106}],"k":73,"o":[{"m":6},22],"t":77,"z":[{"w":4},77]},71],"s":[{".":89,"a":[{"n":1},2],"c":[{"h":[{"l":5}]}],"m":73,"p":[{"r":1}],"t":[{"a":6,"e":[{"i":27}],"h":82,"o":12},73],"y":[{"l":77}]}],"ß":77,"t":[{".":89,"a":[{"n":21}],"e":[{"i":21,"l":79}],"i":[{"d":5}],"m":77,"o":[{"m":77,"r":7},2],"r":12,"t":[{"a":77,"r":77},82],"z":[{"e":4},84]},75],"u":[{".":84,"b":[{".":78}],"e":[{"n":9}],"f":[{"ä":4},77],"g":155,"m":[{"a":[{"g":27}],"e":[{"s":35}],"i":2},78],"p":78,"r":84,"s":[{"b":77,"c":432,"d":77,"e":4,"f":77,"g":[{"e":[{"w":[{"ä":30}]}]},77],"h":77,"l":77,"p":2,"s":[{"c":[{"h":[{"e":30}]}],"e":55},77],"v":77,"w":77}],"ß":[{"e":4}],"t":[{"o":77,"r":[{"a":12,"o":12},48],"s":55}]}],"ü":75,"x":[{"i":22,"t":82},73],"y":[{"o":13},73],"z":73}],"ä":[{"c":[{"h":[{"s":22}]}],"d":88,"f":[{"r":0},84],"g":84,"h":77,"m":84,"n":[{".":78,"i":78,"s":78}],"p":77,"q":77,"r":[{".":73,"a":1,"o":0},93],"s":[{"c":6,"e":22}],"t":[{"e":[{"s":48}],"s":[{"e":78}],"z":84}],"u":[{"e":84,"s":[{"c":[{"h":[{"e":[{"n":[{".":263}]}]}]},10],"s":77},2],"ß":77,"t":84},6],"x":77}],"b":[{"a":[{"b":448,"c":82,"d":[{"e":[{"l":12}]}],"l":6,"m":82,"n":[{"g":73,"t":73}],"r":[{"t":0,"z":73}],"u":[{"f":0}]}],"b":2,"e":[{"c":[{"h":0}],"e":[{"r":[{"f":4}]}],"i":[{"d":266,"n":[{"f":4,"h":1,"t":4}]}],"l":[{"ä":89,"o":22}],"n":[{".":82}],"r":[{"e":37,"g":[{"i":[{"n":33}]}],"u":[{"m":4}]}],"s":[{"l":4}]}],"i":[{"m":73,"n":[{"f":73}],"t":[{"a":22,"u":4},82]}],"l":[{"a":[{"d":110,"n":73,"s":[{"s":[{"e":[{"r":290}]}],"t":128}],"t":82,"u":82}],"e":[{".":86,"n":82,"r":1,"u":73}],"i":[{"n":6}],"ö":6}],"o":[{"b":6,"n":[{"k":73}]}],"r":[{"a":[{"s":1}],"e":[{"a":1,"c":[{"h":[{"t":[{"s":360}]}]}]}]}],"s":[{"a":[{"m":5}],"e":[{"i":6,"r":6}],"o":21,"t":[{"ä":5}],"u":6}],"u":6,"ü":[{"b":12}],"y":[{"t":12}]},189],"c":[{"e":71,"h":[{"e":[{".":71,"n":71}],"i":217,"l":[{"o":82},4],"m":4,"r":[{"o":12},4],"s":[{"p":4},184],"t":[{"a":37,"e":[{"r":[{"r":29}]}]}],"w":13}],"i":71,"k":73,"l":71},77],"ç":71,"d":[{"a":[{"c":6,"f":73,"k":104,"l":113,"m":[{"m":6}],"n":[{"i":132,"n":73,"t":0}],"r":[{"a":0,"k":0,"z":73}]}],"ä":[{"r":22}],"e":[{".":82,"e":82,"i":[{".":6},73],"l":[{"b":104,"e":289,"f":73}],"m":33,"n":[{"d":25,"g":[{"l":89}],"t":[{"s":89}]}],"o":[{"b":4,"n":[{"o":4}]}],"r":[{"e":[{"r":9}],"i":[{"n":[{"s":29}]}],"n":[{"t":128}]}],"s":[{"p":4},82],"x":113}],"i":[{"n":[{"n":104}],"r":[{"i":0}],"t":[{"a":0}]}],"o":[{"f":73,"n":82,"s":[{"s":1,"t":12}],"z":104}],"ö":73,"r":[{"a":[{"t":1,"u":73}],"i":[{"s":1}],"ö":5,"ü":124}],"s":[{"ä":[{"n":6}],"k":3,"z":3}],"t":[{"a":3,"h":1,"s":2},12],"u":[{"k":104}],"w":[{"a":[{"r":33}]}]},189],"e":[{".":78,"a":[{"d":2,"l":[{"e":[{"r":[{"w":46}]}]}],"m":139,"t":[{".":1,"s":1,"u":17}]}],"ä":77,"b":[{"a":21,"l":21,"r":[{"a":4},13],"s":[{"o":4}]}],"c":[{"h":[{"a":[{"r":25}],"s":84}],"k":[{".":77,"i":77}]}],"d":[{".":78,"a":1,"d":84,"i":[{"k":6},77],"n":78,"u":78}],"e":[{"b":[{"e":0}],"l":0,"m":[{"i":12},0],"r":0}],"f":[{"e":78,"f":[{".":73},84],"l":78,"o":78}],"g":[{"e":[{"l":[{"ä":277}],"n":[{"e":[{"r":[{"a":249}]}]}]}],"g":189,"i":1},78],"h":[{"a":[{"c":6,"r":21}],"e":[{"n":[{"e":42,"t":14}]}],"i":6,"l":184,"o":[{"l":1},21],"ö":78,"t":[{"h":12}],"ü":6}],"i":[{".":73,"b":[{"e":[{"l":12}],"l":[{"e":12}]},73],"c":73,"d":77,"e":[{"r":[{".":84}]},73],"f":[{"e":[{"i":12,"l":84}]}],"g":[{"ä":78,"e":[{"h":78,"l":89,"n":[{"s":221}]}],"i":78,"n":84,"r":[{"u":78}]},77],"l":[{"a":37,"i":37,"t":93}],"m":[{"p":22},78],"n":[{"a":[{"l":4},154],"b":77,"d":[{"u":10}],"e":[{"c":353,"n":53}],"f":[{"e":10,"o":5},77],"g":77,"h":77,"n":84,"r":106,"s":[{"a":84,"e":[{"l":33}],"t":[{"r":[{"e":70}]}],"z":10},77],"t":[{"e":[{"g":33}]},77],"v":83,"w":77,"z":77},71],"s":[{"a":[{"r":84}],"b":84,"e":[{"s":102}],"f":77,"h":77,"r":77,"t":[{"e":[{"r":312}]}],"u":84,"w":77}],"t":[{"s":266}]}],"k":[{"e":139,"k":84,"n":194,"z":77},78],"l":[{".":73,"a":[{"t":1},73],"b":77,"e":[{"a":19,"i":7,"k":6,"m":84,"v":73},2],"f":77,"i":[{"t":77,"x":77}],"l":[{"a":[{"r":12}],"e":[{"i":12}]},73],"o":1,"s":73,"t":77,"u":22}],"m":[{".":88,"b":93,"d":[{"a":2}],"e":[{"i":21,"n":1}],"i":[{"g":1},77],"p":[{"f":77}],"s":[{"c":48,"t":[{"r":12}]}],"u":108}],"n":[{".":73,"a":[{".":77,"c":5,"d":1,"l":1,"n":14},73],"ä":6,"d":[{"g":93,"i":78,"r":4}],"e":[{"r":[{"g":84}]}],"g":[{"a":[{"g":84,"n":12}],"p":77}],"h":78,"i":6,"m":78,"n":[{"a":[{"r":12}],"e":[{"n":[{"e":26}]}]}],"r":[{"ü":105}],"s":[{"e":[{"i":[{"n":26}]}],"p":22}],"t":[{"d":77,"e":[{"r":[{"a":221}]}],"f":[{"o":78},77],"g":77,"h":[{"ä":82}],"l":93,"s":93,"w":76,"z":77}],"z":[{"e":[{"r":[{"f":325,"l":29,"s":325,"w":29}]}],"i":[{"n":27}],"w":2},73]}],"o":[{"b":6,"r":1}],"p":[{"e":[{"n":139},78],"i":[{"s":6},77],"o":[{"c":77,"s":152}],"p":84,"u":78}],"r":[{".":88,"a":22,"b":[{"e":[{"r":147}],"i":2},93],"d":93,"e":[{"i":[{"g":106}],"k":71,"p":21,"r":73},22],"f":[{"a":[{"h":84},82],"i":77,"o":77,"r":73,"ü":2},71],"g":[{"e":[{"b":[{"ü":194},106],"n":89,"s":147}],"o":108,"r":[{"u":89},2]},71],"h":[{"ö":2},71],"k":[{"a":[{"n":12}],"e":[{"n":106},2],"i":88,"o":88},71],"l":[{"a":[{"g":252},244],"e":[{"b":82}],"i":73,"ö":77},71],"m":93,"n":[{"ä":93,"e":71,"i":93,"s":106,"t":189},2],"o":[{"b":6,"s":[{"i":5}]},0],"ö":321,"r":[{"e":[{"g":12,"i":12},71],"i":71}],"s":[{".":403,"a":93,"c":[{"h":[{"i":164}]},4],"e":73,"p":77,"t":[{"a":[{"d":164}]},2],"u":158}],"t":[{"e":73,"r":77},449],"w":[{"a":[{"c":12},77],"e":[{"c":12,"s":89}]},71],"z":[{"ä":2,"y":88},93]}],"s":[{".":88,"a":[{"m":5},6],"c":[{"h":[{"e":102,"w":5}]}],"e":[{"h":110},78],"o":[{"f":21,"l":78,"n":78}],"p":[{"a":6,"o":2}],"s":[{"e":[{"i":4,"r":[{"w":46}]},84],"u":84},77],"t":[{"a":[{"s":12},0],"e":[{"n":[{"t":26}],"x":12}],"u":158}],"u":78}],"t":[{"a":[{"k":21,"p":80,"u":6}],"e":2,"h":152,"r":[{"a":6,"o":[{"l":5}]}]}],"u":[{"e":[{"r":[{"i":12}]}],"g":37,"l":77,"n":[{"i":1}],"r":77,"u":84},6],"ü":77,"v":[{"a":106,"i":[{"d":93}]}],"w":[{"a":[{"r":10}],"i":6,"o":77}],"x":258,"z":[{"i":77},78]},75],"é":75,"f":[{"a":[{"c":[{"k":32}],"m":82}],"e":[{"i":2,"n":[{"t":73}],"s":79}],"f":[{"e":1},2],"i":[{"l":[{"e":[{".":12}]}]}],"l":[{"a":[{"n":[{"d":89}]}],"ä":124,"i":[{"c":1}],"ö":5,"ü":82}],"o":[{"b":289,"l":[{"g":[{"s":19}]}]}],"r":[{"a":[{"u":[{"c":89}]}],"u":5,"ü":5}],"s":[{"a":[{"m":5},6],"ä":21,"u":6}],"t":[{"a":6,"r":12}],"u":6,"z":[{"u":25}]},189],"g":[{"a":[{"d":113,"h":104,"k":104,"n":[{"e":[{"r":12}]}],"p":104,"r":[{"b":73,"t":[{".":1}]}],"s":[{"k":104}]}],"d":2,"e":[{"a":[{"n":12}],"b":[{"l":2}],"c":113,"l":[{"e":[{"f":89,"r":27}]},82],"n":[{"z":[{"w":277}]}],"t":[{"a":[{"p":284}],"o":73}]}],"i":[{"s":[{"e":[{"l":12}]}]}],"l":[{"a":[{"n":[{"z":82},73]}],"e":[{".":7,"u":73}],"i":[{"g":73,"t":86}],"o":[{"g":6}],"u":6}],"n":[{"a":86,"e":73,"i":86,"o":86}],"o":[{"a":86,"b":73,"g":82,"p":1,"r":104}],"ö":[{"d":104},2],"r":[{"a":[{"l":86,"u":5}],"e":[{"g":73,"s":86,"t":73}],"i":[{"n":1}],"u":[{"n":82}],"ü":[{"s":1}]}],"s":[{"ä":1,"e":[{"i":2,"l":5},1],"i":3,"p":[{"e":2,"o":2},1],"t":[{"r":12,"u":2},1],"u":1}]},93],"h":[{".":77,"a":[{"g":73,"h":77,"k":77,"l":[{"t":[{"b":89}]}],"n":82,"u":77}],"ä":76,"e":[{".":88,"a":82,"b":77,"f":77}],"i":77,"o":[{"l":77,"p":82,"t":77}],"ö":[{"l":77}],"s":77,"u":[{"s":2}],"ü":77},115],"i":[{"a":[{"m":[{"s":1}],"n":[{"o":6},0],"s":[{"t":6},13]}],"b":[{"b":[{"l":2}]}],"c":[{"e":0,"h":[{"a":0,"l":1,"t":[{"s":[{"p":[{"o":175}]}],"u":78}]}],"o":[{"n":6}]}],"d":[{"a":[{"u":6}],"e":[{"l":118,"n":[{"t":5}]},77],"i":86,"o":[{"l":77}],"y":77}],"e":[{"f":[{"m":84,"r":162}],"g":[{"s":277}],"i":[{"n":132},21],"l":[{"a":37,"s":1},0],"n":[{"ä":5,"e":105,"i":1,"s":25,"u":12}],"r":[{".":0,"e":[{"n":19},37],"s":[{".":1}]}],"s":[{"a":4}],"u":0},73],"f":[{"a":21,"ä":6,"e":[{"i":6,"r":6}],"f":[{"e":[{"n":[{"d":46}],"r":12}]}],"o":21,"r":6,"s":4,"t":[{"e":[{"r":12}]}]}],"g":[{"a":84,"e":[{"l":243,"n":[{"e":5}]}],"g":84,"j":194,"l":[{"ä":5},13],"o":216,"r":84},78],"j":84,"k":[{"a":[{"r":6}],"ä":6,"i":[{"n":6}],"n":6,"o":[{"n":[{"e":5}],"p":2,"r":6}]}],"m":[{"a":[{"g":6},77],"e":[{".":6}],"m":77,"p":84,"s":[{"c":12,"t":12},2]}],"n":[{"a":1,"b":[{"e":71}],"c":2,"d":[{"u":93}],"e":[{"i":48},3],"f":[{"o":2,"r":88},93],"g":[{"a":2,"l":[{"e":25}],"r":2,"s":[{"p":25}]},73],"h":93,"i":[{"t":77}],"j":84,"k":[{"l":2,"o":2,"r":2},84],"l":77,"n":[{"e":[{"n":[{"m":209}],"r":106}],"r":93,"u":71}],"q":321,"s":[{"i":12,"o":2,"p":[{"i":89}],"y":88},93],"t":[{"e":[{"n":[{"t":26}]},84],"r":[{"e":59}]},77],"v":[{"a":2},93],"z":77}],"o":[{"b":6,"n":82,"s":[{"t":3}]}],"p":[{"l":6,"o":1}],"r":189,"s":[{"a":[{"n":1},2],"c":[{"h":[{"o":260,"w":5}]}],"i":[{"k":78}],"k":[{"o":3}],"o":82,"p":14,"r":82,"s":78,"t":[{"e":[{"r":[{"s":46}]}],"h":12,"r":25},14]},73],"t":[{"a":[{"l":79,"n":[{"t":4}]}],"i":2,"r":223,"t":[{"a":[{"u":12},25],"e":[{"r":[{"f":351}]}],"o":12,"r":162}],"u":[{"m":115},2]},73],"x":13},75],"í":75,"j":93,"k":[{"a":[{"b":[{"l":162}],"h":0,"k":104,"l":[{"l":0}],"m":6,"r":[{"e":0}],"s":[{"p":0}],"u":[{"f":[{"s":19}]}]}],"ä":[{"h":104}],"e":[{"l":[{"e":[{"m":89}]},82],"n":[{"e":[{"r":10}],"s":[{"t":159}]},11],"r":[{"l":117,"s":[{"t":[{"a":7}]}],"w":129}],"s":79,"t":82}],"i":[{"m":0}],"l":[{"a":[{"s":5,"u":5}],"i":[{"m":5,"s":73}],"o":6,"u":6}],"n":[{"e":5}],"o":[{"b":73,"l":82,"n":82,"p":6,"r":[{"i":32}],"u":73}],"ö":6,"r":[{"ä":[{"u":1}],"i":[{"n":1},82],"o":[{"m":86,"u":73}]}],"s":[{"a":[{"l":6}],"e":[{"i":6,"l":6,"r":6}],"o":6,"p":6,"t":[{"a":[{"t":[{"i":312}]}],"e":[{"c":5}],"o":[{"c":5}]}]}],"t":[{"a":6,"e":[{"l":6,"n":[{"g":14,"t":5}],"r":[{"f":14,"g":5,"l":14,"s":[{"c":24},4],"w":14,"z":14}],"t":[{"a":5}]}],"i":[{"n":23},2],"o":[{"b":10},176],"r":[{"i":5},23],"u":[{"m":6}]}],"u":[{"m":[{"s":0}],"n":2,"p":82,"r":[{"s":25}],"s":[{"a":2},82]}],"ü":[{"b":73}]},93],"l":[{"a":[{"b":6,"g":82,"n":[{"d":[{"i":277},140]}],"r":104,"s":[{"c":113}],"u":[{"g":86}]}],"e":[{"a":2,"c":82,"i":[{".":140}],"p":82,"t":6,"x":82}],"g":12,"i":[{"n":[{"e":[{".":12}]}],"s":2},79],"o":[{"u":48},79],"ö":[{"s":[{"s":25}]},6],"s":[{"a":2,"p":[{"r":6}],"t":[{"e":1,"o":38}]}],"t":1,"u":79,"y":82,"z":2},93],"m":[{"a":[{"b":73,"d":104,"l":[{"a":2,"d":0}],"m":[{"i":0}],"n":[{"k":104,"z":0}],"p":[{"h":128}],"r":[{"c":73,"z":73}],"s":[{"p":[{"e":27}],"s":[{"e":25}]}],"t":[{"o":22}]}],"ä":[{"r":6}],"d":3,"e":[{"f":0,"i":[{"n":[{"h":128}]}],"n":[{"a":12,"e":6,"t":73}],"o":73,"r":[{"f":[{"o":10}],"h":104,"l":104,"p":104,"w":104}],"s":[{"t":13,"z":10},6],"t":[{"a":105}]}],"i":[{"d":[{"e":73}],"n":[{"a":[{"n":[{"z":26}]}],"e":[{"n":[{"g":26},102]}]}]}],"n":89,"o":[{"b":104,"n":[{"s":159}],"r":[{"i":32}],"s":13}],"p":3,"s":[{"a":1,"k":3}],"t":[{"a":2},1],"u":[{"n":[{"a":89,"i":73},2]}]},189],"n":[{"a":[{"b":2,"d":[{"e":5},82],"g":[{"e":82}],"l":[{"l":104}],"n":[{"d":5,"i":1,"z":73},12],"r":[{"e":1,"i":128},2],"s":[{"t":114}],"t":[{"t":128}],"u":[{"g":1},73]}],"d":[{"e":1,"r":1},12],"e":[{"f":89,"i":[{"d":6,"f":89,"s":89}],"m":[{"a":0}],"n":[{"e":104,"g":6},2],"p":296,"r":[{"g":114,"h":[{"i":5}],"k":[{"e":10,"u":10}],"l":114,"t":114,"w":114,"z":89}],"s":140,"t":[{"e":[{"m":12,"r":12},48],"o":12},232],"u":[{"f":4},6],"x":89}],"f":1,"g":[{"e":[{"n":[{"e":102}]}]},3],"i":[{"d":73,"n":[{"f":89},104],"t":82}],"k":2,"n":2,"o":[{"d":82,"h":6,"p":104,"r":104}],"ö":[{"d":2},0],"s":[{"a":1,"ä":3,"e":[{"h":[{"a":10}]}],"p":16,"u":2,"z":3}],"t":[{"a":3,"e":3}],"u":[{"r":0}],"ü":71,"y":71,"z":2},84],"o":[{"b":[{"a":73,"j":77,"o":[{"r":36},75],"r":[{"e":6},77],"s":77}],"c":[{"h":[{"a":22}],"k":[{".":78}]},0],"d":[{"e":86,"r":12}],"e":12,"f":[{"f":77,"l":1}],"g":[{".":84,"a":3,"g":78}],"h":[{"i":[{"n":21}],"l":100,"n":84,"ö":6,"r":78}],"i":[{"n":1,"r":0},75],"k":[{"l":2}],"l":[{"e":1,"i":[{"v":6}],"l":[{"a":[{"n":12}],"e":[{"r":[{"g":26}]},19],"s":105}],"s":4,"y":77}],"m":[{".":84,"a":[{"d":6,"l":6,"n":[{".":78}]}],"b":77,"e":[{"n":[{"e":17}],"r":21}],"m":84,"n":77,"s":4,"t":84}],"n":[{"a":[{"b":16,"n":6}],"d":78,"e":[{"r":[{"b":5}]}],"k":84,"n":78,"s":22,"t":[{"a":[{"n":12}],"e":[{"n":[{"d":26}]}],"r":27,"u":11}],"y":0},73],"o":[{"f":32}],"p":[{"a":2,"e":77,"f":77,"l":75,"t":77}],"r":[{"a":[{"l":23,"t":6}],"c":77,"e":[{"l":6}],"o":6,"t":[{"h":4,"s":22}],"ü":2},71],"s":[{"h":1,"i":47,"k":[{"o":12}],"s":[{"a":[{"l":12,"n":12}],"c":11,"e":[{"n":[{"k":26}]}],"t":12}],"t":[{"a":0,"r":450}],"u":[{"m":6}],"z":106}],"ß":[{"e":[{"n":[{"k":5},105]}],"i":6},84],"t":[{"a":[{"n":6,"s":5,"u":14}],"ä":6,"e":[{"i":168}],"h":[{"o":21}],"r":[{"u":6}],"s":[{"o":22},4],"t":[{"a":2}],"u":1}],"u":[{"l":78,"n":[{"t":1}],"t":78}],"x":127,"y":84}],"ö":[{"b":[{"l":23}],"d":[{"u":6}],"f":80,"h":78,"k":93,"l":[{".":77,"e":1,"l":2,"p":71},75],"m":[{"i":78}],"r":71,"s":[{".":73,"c":13,"e":73,"l":75}],"t":[{"u":78}]}],"p":[{"a":82,"e":[{"r":[{"i":[{"n":25}]}]},82],"f":12,"l":[{"i":73,"u":5}],"o":82,"r":[{"o":48}],"s":[{"e":1,"t":4}],"t":128,"u":82},152],"q":93,"r":[{"a":[{"b":6,"t":[{"s":22},5],"u":[{"f":0}]}],"ä":[{"m":0}],"b":2,"c":0,"e":[{"g":[{"a":140,"i":140}],"i":6,"l":[{"e":2}],"p":[{"a":2}],"r":[{"h":73,"l":73,"s":10},22],"s":82,"v":[{"e":2}],"z":[{"i":89}]}],"h":[{"e":[{"n":79}],"o":[{"s":6}]}],"i":[{"k":37},124],"m":2,"n":[{"a":[{"u":4}]}],"o":[{"b":[{"s":1}],"m":4,"r":[{"e":2}]},6],"r":2,"s":[{"t":[{"r":1,"u":1},6]}],"t":[{"h":6}],"u":79,"ü":79,"z":2},189],"s":[{"a":[{"b":[{"o":82}],"d":113,"l":6,"m":[{"p":89,"t":114}],"n":[{"f":89,"g":86,"m":1,"p":89,"t":1,"z":1},6],"r":[{"k":5,"m":89},1]}],"c":[{"h":[{"e":[{"b":358,"r":[{"l":164}]}],"u":82}]}],"e":[{"b":[{"e":104}],"e":2,"f":104,"i":[{"n":73}],"n":[{"d":6,"e":12},2],"p":[{"i":73}],"r":[{"e":0,"h":73,"s":0,"z":73}],"t":[{"a":0},2],"x":[{"t":6}]}],"h":[{"a":[{"v":79}],"i":[{"r":82}],"o":[{"r":6},82],"u":89}],"i":[{"l":6}],"k":[{"a":6,"e":[{"l":6}],"i":[{"r":89},6],"l":6,"o":[{"r":89}],"r":[{"i":124}],"y":89}],"m":[{"o":[{"g":5}]}],"n":[{"o":124}],"o":[{"b":89,"m":5,"p":114,"r":[{"i":[{"e":89}],"t":[{".":128}]}],"s":[{"t":0},2]},82],"p":[{"a":[{"n":82}],"e":82,"h":86,"i":82,"l":82,"o":[{"r":5}],"u":[{"t":73}]},6],"s":3,"t":[{"a":[{"b":[{"l":4}],"d":82,"l":[{"a":4,"e":89}],"n":[{"s":89,"t":89}],"s":73,"t":[{"i":452,"u":452}]}],"ä":82,"e":[{"i":[{"n":[{"g":35,"t":265}]}],"m":[{"i":4,"p":5}],"r":[{"b":240,"l":4,"n":124,"w":4},105],"v":6}],"h":21,"i":[{"e":124,"n":[{"g":4,"k":82},73],"p":73,"t":73},6],"o":[{"b":5,"l":5,"r":5,"t":89},82],"r":[{"a":[{"n":[{"g":164}]},82],"e":[{"n":7}]},5],"u":[{"c":5},6],"ü":124}],"u":[{"c":[{"h":[{"s":19}]}],"f":82,"m":[{"s":6}]}],"y":82},451],"ß":71,"t":[{"a":[{"b":[{"o":73,"s":0}],"c":[{"k":2}],"d":113,"e":86,"k":[{"r":0}],"l":[{"b":[{"e":128}],"e":37,"l":104,"s":[{"e":277}]}],"m":[{"e":6},0],"n":[{"n":0,"t":0,"w":73}],"r":104,"t":[{"t":1}],"u":[{"t":73}]}],"ä":[{"h":1,"n":[{"d":0}],"r":[{"m":0}]}],"e":[{"e":100,"h":82,"i":[{"n":[{"d":5,"h":128},0],"s":453}],"l":[{"f":73,"s":[{"t":19}]}],"m":[{"o":73}],"n":[{"a":12,"s":159,"t":[{"s":128}],"z":25},11],"o":22,"r":[{"e":[{"i":[{"g":164},1]}],"f":[{"a":278,"o":278}],"h":0,"k":0,"l":[{"a":344}],"m":[{"i":[{"t":33}]}],"n":[{"ä":128}],"ö":97,"r":[{"e":10}],"s":[{"p":5},0],"z":0}],"s":[{"k":4}]}],"h":[{"e":[{"l":73},0],"i":104,"u":[{"m":6}]}],"i":[{"d":104,"k":22,"m":[{"a":104}],"n":[{"f":128}],"s":6,"t":6}],"l":1,"m":1,"o":[{"b":104,"p":[{"f":13}],"r":[{"c":0,"g":89}]}],"r":[{"a":[{"k":89,"m":[{"s":1}],"n":[{"d":1}],"t":[{"i":1}]}],"e":[{"c":1,"s":48}],"i":[{"s":128}],"o":[{"l":1,"m":[{"a":1}],"p":82,"u":73}],"ü":[{"c":22}]}],"s":[{"c":1,"e":[{"h":41,"l":2,"x":1}],"i":[{"n":[{"g":4}]}],"o":13,"p":[{"a":13}],"t":[{"a":[{"n":14}],"i":[{"e":12}]}],"u":6}],"t":16,"u":[{"m":[{"b":0}],"n":[{"a":23}],"r":[{"t":104}],"t":[{"e":86},12]}],"ü":82,"y":13,"z":3},189],"u":[{"a":[{"l":[{"e":5}],"r":216},0],"b":[{"e":[{"n":[{"s":102},17]},10],"i":2}],"c":[{"h":[{"t":[{"s":149}]}],"k":[{"e":[{"r":[{"l":24}]}],"u":6}]}],"d":[{"e":[{"a":22}],"r":6}],"e":[{"t":6}],"f":[{"a":21,"f":10,"s":2,"t":[{"e":[{"r":12}]}]},78],"g":[{"r":23}],"h":[{"m":78,"r":93}],"i":[{"n":[{"s":1},78],"s":0}],"m":[{"a":22,"d":106,"f":106,"g":106,"i":6,"l":106,"s":[{"a":106}],"w":106,"z":84},77],"n":[{"a":93,"d":[{"a":99,"e":[{"n":[{"e":53}],"r":27}]},77],"e":[{"i":105},2],"f":189,"g":[{"a":2,"l":77}],"i":[{"o":82,"s":[{".":5}]},248],"k":[{"r":2}],"l":189,"m":93,"n":84,"r":84,"s":[{"e":71}],"t":106,"w":84}],"p":[{"d":77,"r":1}],"r":[{"a":6,"e":21,"o":194},189],"s":[{".":89,"i":6,"p":2,"s":[{"p":11,"t":12}],"t":6}],"t":[{"a":[{"b":6}],"e":[{"i":5,"l":41,"r":21},10],"o":176,"r":23,"s":[{"c":[{"h":[{"a":26}]}]}]}],"z":[{"w":21},84]},75],"ü":[{"b":[{"u":84},77],"c":[{"h":0,"k":[{"e":[{"l":5}]}]}],"h":[{"e":[{"l":6,"r":105}],"l":13}],"m":[{"m":84}],"n":[{"z":4}]},75],"v":[{"e":[{"l":6,"n":[{"e":[{"n":102},99],"t":[{"z":89}]}],"s":4},82],"o":79},93],"w":[{"e":[{"g":[{"e":[{"l":12}]}],"i":82,"l":[{"t":[{"s":19}]}],"r":[{"k":140,"t":140}]}],"o":[{".":73,"h":82,"r":[{"t":82}]}],"u":[{"n":[{"s":25}]}]},93],"x":189,"y":[{"a":93,"c":6,"g":[{"i":25}],"l":[{"a":0,"e":6}],"o":[{"s":0}],"s":[{"t":[{"h":1,"i":132}]}]},75],"z":[{"a":[{"n":[{"t":1},6],"r":73,"t":73}],"ä":[{"n":6}],"e":[{"n":[{"e":140,"g":0,"t":[{"s":89}]}],"p":2,"r":[{"a":2,"d":104,"f":104,"g":104,"k":0,"l":104,"w":104}],"s":[{"s":104}]}],"i":[{"d":0,"n":[{"t":0}],"r":25}],"o":[{"f":79,"t":86}],"t":[{"a":[{"n":6}],"e":1,"h":6}],"u":[{"g":[{"l":27}]}],"w":[{"ä":73,"e":[{"c":79}],"i":[{"r":73}]}]},93]}],"s":[{"a":[{".":78,"a":88,"b":[{"ä":2,"d":84,"e":[{"t":78},6],"i":[{"t":6}],"l":6,"m":84,"o":[{"r":6}],"r":6,"s":106},93],"c":[{"c":84,"h":[{"e":194,"o":6,"s":105,"t":25}],"k":73},78],"d":[{"a":93,"e":[{"r":6}],"m":71,"r":152}],"f":[{"a":78,"e":5,"f":106,"r":120,"t":[{"r":12},88]}],"g":[{"a":78,"e":[{".":194,"n":[{".":194,"t":106}]},2],"g":93,"i":[{"o":6}],"n":12,"r":72}],"h":[{"s":73}],"i":[{"k":365,"l":22,"r":12},88],"k":[{"a":6,"e":2,"i":78,"k":84,"o":78,"t":84},93],"l":[{".":88,"a":[{"n":23,"r":6,"t":1},200],"b":[{"l":4},88],"d":88,"e":[{"r":[{"k":5}]}],"i":[{"d":21},78],"l":[{"a":4,"e":[{".":12}]},71],"o":[{"r":4},187],"s":[{"e":2}],"t":[{"h":196},71],"z":78}],"m":[{"a":[{"t":248}],"e":[{"i":248,"n":73}],"i":[{"n":6}],"m":[{"a":451},194],"n":189,"p":[{"h":84},454],"t":[{"a":12,"o":12,"s":[{"t":25}]}]},78],"n":[{".":73,"a":[{"t":12},161],"ä":6,"b":76,"c":289,"d":[{".":89,"a":[{"n":12}],"r":[{"i":27}],"s":25},88],"e":[{"r":6}],"g":[{".":78,"a":84}],"h":76,"i":78,"k":[{"e":[{"n":78}]}],"l":76,"o":80,"p":76,"s":[{"e":89,"k":12,"p":4},76],"t":[{"e":[{"i":84}],"r":106}],"w":106,"z":77},71],"p":[{"e":6,"h":73,"p":4,"r":78},93],"q":93,"r":[{".":147,"a":78,"b":106,"d":88,"e":[{"a":82},73],"g":[{"a":2},78],"i":[{"n":1}],"k":73,"o":[{"m":6}],"s":73,"t":84,"u":176},93],"s":[{".":78,"a":2,"c":71,"i":115,"p":205,"t":[{"u":2}],"y":139}],"t":[{"a":[{"n":[{"t":14},19]},2],"e":[{"i":13,"m":134}],"h":82,"i":187,"l":106,"m":84,"o":[{"l":5},2],"r":6,"s":1,"t":[{"a":82,"r":106}],"z":[{"a":194,"e":[{"l":12,"n":27}]},78]}],"u":[{".":78,"c":78,"e":187,"f":[{"b":106},77],"g":[{"l":[{"e":25}],"r":2},78],"m":78,"r":[{"i":132},78],"s":[{".":78,"b":106,"f":106,"g":84,"p":2,"s":84,"t":[{"e":78}],"w":106},77],"ß":77},71],"v":[{"e":6},71],"x":[{"i":6}],"y":21},75],"ä":[{"b":78,"c":88,"g":88,"h":[{"n":106},71],"l":[{"t":189},78],"m":93,"n":[{"d":106}],"p":106,"q":77,"r":[{"g":88},93],"t":88,"u":[{"l":78,"ß":84}]},75],"b":[{"a":[{"n":[{"e":12}],"u":[{"m":[{"e":[{"n":33}]}]}]}],"e":[{"r":[{"e":22}]}]},309],"c":[{".":77,"a":[{"b":77,"c":77,"l":77,"m":77,"r":77,"t":77}],"e":[{"i":106},93],"h":[{".":84,"a":[{"l":147,"n":[{"a":4,"c":84,"g":84}],"o":84,"r":[{"a":84,"m":455}]}],"ä":[{"q":77},73],"b":84,"c":84,"d":77,"e":[{"c":[{"h":84}],"f":[{".":221,"i":221,"s":221},22],"i":[{".":98,"n":[{".":26}]},89],"m":[{"a":89,"p":84}],"r":[{"f":[{"ü":35}],"l":[{"a":35}]}],"s":[{"s":84},78],"x":84},2],"f":77,"g":77,"h":77,"i":[{"d":10,"e":10,"r":[{"u":84}],"s":78}],"k":77,"l":[{"a":[{"c":12,"g":12}],"e":[{".":84,"i":[{"n":221}]}],"o":[{"c":84}],"ö":[{"c":84}]},89],"m":[{"a":[{"s":84}],"e":[{"d":84}],"ö":77,"ü":[{"h":84}],"y":77}],"n":[{".":77,"e":[{"b":84}]}],"o":[{"b":[{"j":84}],"r":[{"c":84}]}],"ö":[{"r":84}],"p":84,"q":77,"r":[{"a":[{"d":84}],"e":[{".":84}],"i":[{"n":84,"s":106}],"o":[{"m":4,"n":84,"u":84}]}],"s":[{"e":22,"k":37,"t":[{"i":10}]},84],"t":[{"a":22,"i":22},98],"u":[{"n":[{"t":84}]},89],"v":77,"w":[{"e":[{"b":12,"g":84,"r":[{"k":221}],"t":84}],"i":[{"d":84}],"u":78}],"z":77}],"j":77,"l":106,"o":[{"a":84,"p":456},76],"r":[{"e":[{"m":10}]}],"s":77,"u":77,"y":77},75],"d":[{"a":[{"m":[{"e":4}]}],"e":[{"s":100}],"i":[{"e":[{"n":[{"e":19}]}],"s":[{"t":13}]}]},243],"e":[{".":78,"a":[{"t":[{".":1}]}],"b":[{"ä":78,"e":[{"n":152}]},2],"c":[{"h":[{"o":93,"s":[{"t":10}],"t":93}],"k":152}],"d":[{"i":[{"k":6}]}],"e":[{"i":[{"g":4},100],"l":[{"e":[{"n":4}]},6],"n":[{".":1,"e":37,"p":1}],"r":[{".":1,"a":13,"e":22,"f":0,"i":365,"k":0,"s":0}],"s":9},78],"f":[{"f":76,"l":12}],"g":[{"a":[{"l":243}],"l":6,"r":12},88],"h":[{"a":[{"g":6,"k":6},13],"e":[{"l":6,"r":[{"e":19,"k":5}]}],"i":[{"n":21}],"l":4,"ö":14,"r":[{"a":4,"e":4,"i":136}],"s":13,"ü":[{"b":6}]},78],"i":[{".":77,"c":93,"d":[{".":93,"a":4}],"f":[{"e":[{"r":106}]}],"g":93,"l":78,"m":73,"n":[{".":252,"b":77,"d":[{"u":10}],"e":[{"i":17},155],"f":[{"l":84,"o":10}],"g":77,"h":76,"i":77,"k":77,"l":77,"n":[{"e":10},77],"r":76,"s":[{".":89,"c":84,"p":84,"t":[{"i":[{"t":30}],"r":33}]}],"t":[{"o":10,"r":84},77],"w":77,"z":76},71],"s":[{"m":88},93],"t":[{"s":22},88]}],"k":[{"e":[{"l":248}],"z":84},78],"l":[{".":73,"a":21,"b":88,"d":9,"e":[{"c":13,"f":6,"g":161,"k":[{"t":[{"r":221}]}],"m":77,"r":[{"s":4},6]}],"f":[{".":77}],"i":[{"n":[{"s":19}],"t":79,"x":93}],"l":73,"o":[{"b":6}],"s":[{"z":4},73],"t":[{"e":22}],"z":22}],"m":[{"e":2,"i":[{"s":152}],"p":76}],"n":[{".":89,"a":[{"d":5,"l":1,"s":5,"u":4},78],"ä":6,"b":73,"d":[{"l":189,"r":9,"w":71}],"e":[{"n":132,"r":[{"g":84,"s":5}]}],"f":73,"i":[{"d":6,"m":21},147],"k":[{"e":[{"l":[{"i":26}]}]},88],"o":[{"t":[{"t":5}],"z":5},6],"s":[{"a":73,"e":[{"h":199,"m":84}],"i":[{"d":363},89],"t":[{"u":[{"r":[{"m":67}]}]},105]},78],"t":[{"a":22,"ä":4,"d":77,"f":84,"g":77,"l":[{"a":84}],"n":77,"o":73,"r":4,"s":189,"w":[{"u":84,"ü":84},77],"z":84}],"u":315,"z":[{"a":4,"e":[{"r":12}],"w":4}]}],"o":[{"r":2}],"p":[{"e":[{"n":6}]}],"q":78,"r":[{".":89,"a":[{"d":118,"l":4,"n":[{"d":1}]}],"ä":[{"u":[{"s":4}]}],"b":[{"e":[{".":82}]},22],"d":22,"e":[{"b":125,"i":[{"e":1,"g":[{"n":221}],"m":14,"n":5}],"m":22,"n":[{"k":14},252]}],"f":[{"e":89,"o":71,"r":73,"ü":[{"l":84},82]}],"g":[{"a":4,"l":4,"r":73},22],"h":[{"ö":77},71],"i":[{"e":194},78],"k":10,"m":[{"i":[{"t":106}]}],"n":[{".":73,"e":[{"u":82}],"t":76}],"o":[{"b":10,"s":152,"t":71}],"ö":[{"f":77},71],"s":[{".":73,"a":77,"e":[{"h":[{"n":26},84],"t":225}]}],"u":[{"h":5,"m":2,"p":124},1],"v":457,"z":71}],"s":[{".":147,"a":16,"e":[{"l":6}],"k":1,"s":[{"a":93}],"t":[{"a":0,"e":[{"c":1,"i":1,"m":[{"p":7}]}],"r":[{"i":25}]}],"u":1}],"t":[{"a":[{"p":309,"t":6}],"h":152,"i":[{"k":248},2],"z":78}],"u":[{"c":78,"l":93,"m":10,"n":32}],"x":[{".":78,"a":77,"e":[{"n":4},6],"i":73,"o":73,"p":84,"t":[{"r":9}],"z":77},71]},75],"é":75,"f":[{"a":[{"l":[{"l":[{"e":[{"r":58}]}]}]}]},309],"g":[{"a":[{"n":[{"g":19}]}],"e":[{"s":[{"a":4}],"t":35}]},309],"h":[{".":84,"a":[{".":78,"l":[{"l":[{"i":10}],"t":[{"s":19},105]}],"n":84},6],"ä":82,"e":6,"i":[{".":78,"p":73,"r":12},6],"n":1,"o":[{"c":106,"f":106,"m":84,"p":78,"r":[{"e":12}],"w":147}],"ö":106,"r":389,"s":84,"u":82},93],"i":[{".":78,"a":[{"c":[{"h":[{".":1}]}],"t":77}],"c":[{"h":[{"a":6}]},458],"d":[{"e":[{"a":93,"e":77,"o":93,"r":1}],"o":86,"y":77}],"e":[{"b":[{"u":2}],"g":[{"e":[{"s":19}]}],"n":[{"e":1},25],"r":[{"r":0}]},147],"f":120,"g":[{"a":125,"e":[{"i":21}],"n":12,"r":23,"s":[{"t":12}]},147],"k":[{"a":[{"b":21,"k":6,"r":6}],"ä":21,"e":[{"l":21,"n":[{"s":5}],"r":[{"l":4}]}],"i":[{"n":132},23],"n":23,"r":23,"s":4,"t":37,"u":6}],"l":[{"b":[{"r":2},78],"e":2,"i":78,"l":71,"o":78}],"m":[{"m":93,"s":[{"t":12}],"u":78}],"n":[{"a":16,"d":93,"f":[{"e":106,"o":[{"r":82}]},93],"g":[{"a":48,"l":[{"e":9}],"r":162,"s":[{"a":25,"o":25},105]}],"h":93,"i":[{"e":48},311],"k":73,"n":[{"e":[{"r":102}],"o":93}],"q":189,"s":[{"o":84,"t":84},93],"t":93,"v":189}],"o":[{"n":10}],"r":[{"n":10,"r":77,"u":78}],"s":[{"a":[{"m":5},6],"c":[{"h":[{"u":5}]},73],"e":125,"i":6,"o":[{"r":13},72],"p":23,"s":9,"t":147,"u":6}],"t":[{"a":[{"l":6,"u":6}],"r":[{"a":6}],"u":2},88],"v":[{"a":6,"e":[{"r":[{"f":14},105]},25],"i":[{"n":6}],"o":[{"r":6},184]}],"z":2},75],"í":75,"j":106,"k":[{".":84,"a":[{"b":106,"d":82,"l":[{"k":84,"t":82}],"m":106,"n":[{"a":84,"ä":84,"d":[{"a":78}],"n":84}],"p":84,"r":106,"s":106,"t":[{"e":[{".":12,"g":84,"s":12}],"o":12}],"u":84},5],"ä":106,"b":84,"e":[{"l":[{"i":2}],"n":84,"p":78,"r":84,"t":106}],"h":82,"i":[{".":88,"f":88,"k":88,"m":82,"n":82,"s":[{".":73},13],"z":78}],"l":[{"a":[{"s":106,"v":88}],"u":106},5],"n":398,"o":[{"h":84,"l":84,"m":84,"n":106,"p":[{".":78,"r":2}],"s":84,"w":84}],"ö":106,"r":[{"a":106,"e":82,"o":106},5],"s":84,"t":[{"o":22},181],"u":[{"l":[{"p":78}],"n":84,"s":11}],"ü":84,"v":84},152],"l":[{"a":[{"b":82,"l":78,"m":[{"a":2}],"v":[{"e":2}],"w":73},5],"ä":82,"b":1,"e":[{"r":[{"s":25}]},106],"i":[{"p":147},82],"o":[{"b":[{"e":4}],"c":82,"g":[{"a":89}],"w":88}],"y":82},152],"m":[{"a":[{"b":9,"s":[{"c":4}]}],"e":[{"n":[{"a":4}]}],"i":[{"t":162}]},309],"n":[{"a":[{"b":10}],"i":[{"a":12,"e":[{"r":[{".":4,"s":4}]}]}],"o":[{"t":214}]},161],"o":[{".":78,"a":[{"s":76}],"b":[{"a":193,"j":84,"o":106},152],"c":0,"d":[{"i":6,"o":6}],"e":[{"t":1}],"f":[{"e":152,"f":[{"i":77}],"t":78}],"g":[{"l":12},78],"h":[{"e":72,"l":[{"e":105},78],"n":[{"g":76}],"r":93}],"i":[{"d":1},187],"k":76,"l":[{".":78,"a":[{"u":5},1],"d":78,"e":[{"i":21},78],"i":1,"l":[{"a":2,"e":[{"r":12}]}],"o":3,"y":243}],"m":[{"m":78}],"n":[{"a":[{"u":4},2],"e":22,"g":[{"l":12}],"s":[{"ä":4,"o":11}]},88],"o":1,"p":[{"e":77,"f":93,"r":78,"s":4}],"r":[{"d":106,"e":[{"i":6,"l":6},22],"g":[{"a":189}],"h":0,"i":[{"e":152}],"o":6,"p":78,"t":[{"i":88}],"u":5}],"s":[{".":73,"k":398,"m":84,"t":228,"z":189},78],"ß":87,"t":[{"h":3,"t":78},77],"u":[{"n":[{"d":[{"s":1},132],"t":1},22],"t":93}],"v":78,"w":78,"x":152,"z":[{"e":71},78]},75],"ö":[{"c":6,"d":152,"f":80,"k":93,"l":93,"s":93},75],"p":[{".":77,"a":[{"a":84,"c":[{"e":73,"k":77}],"g":77,"k":77,"l":[{"a":77,"ä":77,"t":78}],"m":2,"n":[{".":73,"n":[{"u":78}],"s":73,"t":78,"z":77}],"p":77,"r":[{"a":76,"o":77,"t":[{"e":[{"n":376}],"n":84,"y":84}]}],"ß":78,"t":[{".":78,"i":77,"r":84}],"u":77,"z":88}],"ä":[{"d":77,"h":78,"r":77,"s":77},73],"e":[{".":76,"g":77,"i":[{"n":84}],"n":[{"s":[{"i":84}]}],"p":9,"r":[{"a":73,"g":88,"i":71,"l":[{"e":84}],"o":77,"r":73,"s":77,"ü":77}],"t":84,"z":147}],"f":250,"h":[{"a":77,"ä":[{"r":78},73],"e":82,"i":[{"n":89}]}],"i":[{"e":[{"r":[{"r":19},84]},459],"k":2,"l":106,"o":78,"p":106,"s":106}],"l":[{"a":84,"ä":106,"e":[{".":7},84],"i":88,"u":106},372],"n":76,"o":[{"d":77,"e":84,"g":77,"i":73,"k":106,"l":84,"n":[{"s":73}],"o":84,"p":77,"r":[{"e":73,"n":88,"t":[{"a":[{"g":33}]}]}],"s":106,"t":[{"e":84}]}],"r":[{".":84,"a":[{"c":88,"k":77,"x":77}],"ä":[{"m":77,"s":84}],"e":[{"c":147,"d":84,"i":[{"s":84}],"n":403,"s":76}],"i":[{"c":73,"n":[{"g":78,"z":84}]}],"o":[{"b":77,"g":77,"j":84,"p":84,"s":[{"s":78}],"t":77,"z":77}],"ö":78,"u":88,"ü":[{"c":78,"f":77,"n":78}]}],"s":106,"t":460,"u":[{"b":77,"d":77,"k":78,"l":[{"e":88}],"n":77,"p":77,"r":[{"e":[{"r":12}]},147]}],"y":77},227],"q":93,"r":[{"a":[{"t":[{"s":22}]}],"e":[{"c":[{"h":[{"a":4}]}],"l":[{"i":132}]}],"o":[{"h":2}],"ö":[{"s":2}],"ü":[{"c":[{"k":[{"e":[{"r":312}]}]}]}]},309],"s":[{"a":[{"b":[{"i":1,"o":4}],"c":[{"k":140}],"g":[{"i":5}],"j":0,"l":[{"b":[{"a":1}],"l":89},82],"m":[{"t":89}],"n":[{"f":73,"g":89,"o":89,"s":89,"t":6,"z":89}],"r":[{"a":6,"g":6,"s":82}],"s":13,"t":[{"t":86}],"u":[{"e":25,"r":10}]}],"ä":79,"c":[{"e":89,"h":[{"a":[{"n":[{"k":[{"e":[{"r":416}]}]}]}],"w":82},22],"o":89,"r":73}],"e":[{"a":4,"c":0,"e":[{"c":13}],"h":[{"a":22}],"i":[{"n":[{"d":5,"t":4},73]}],"l":[{"ö":2}],"n":[{"k":[{"e":[{"l":33}]}],"s":[{"e":[{"m":33}]}]},82],"p":[{"e":0}],"r":[{"a":[{"t":[{"t":26}]}],"e":[{"i":[{"g":7}]}],"g":[{"r":5}],"h":[{"ö":10}],"m":[{"i":[{"t":33}]}],"ö":[{"f":10}],"s":[{"e":1}],"u":5,"w":[{"e":[{"i":33}]}]}],"s":[{"s":[{"a":10}],"t":[{"r":128}]}],"t":[{"a":4},82]}],"i":[{"k":[{"o":3}],"l":[{"l":89}],"m":[{"p":89}],"n":[{"d":89,"f":89,"g":[{"s":17}],"t":89}],"s":[{"r":114}]},82],"k":[{"a":[{"l":[{"a":82}]}]}],"l":1,"m":[{"u":[{"t":19}]}],"o":[{"f":[{"f":0}],"i":10,"l":82,"p":89}],"p":[{"e":[{"n":6}],"h":[{"i":6}],"i":82,"r":[{"ä":82,"i":82,"o":73}]}],"q":[{"u":[{"e":[{"t":102}]}]}],"s":[{"a":[{"u":19}]},16],"t":[{"a":[{"d":82,"g":89,"k":1},2],"ä":82,"e":[{"l":82,"p":79,"r":[{"n":124}],"u":5},2],"i":[{"e":6,"n":23},2],"o":[{"f":82,"p":82}],"ö":[{"r":5}],"r":[{"a":[{"n":82,"s":5,"t":124}],"e":[{"c":82}],"o":[{"m":82}],"ö":82}],"u":[{"r":6}],"ü":82}],"u":[{"m":[{"g":73,"r":73}],"r":6}],"y":82},451],"t":[{".":84,"a":[{".":77,"a":78,"b":[{".":78,"b":77,"e":[{"l":84}],"i":[{"t":84}],"l":77,"t":84}],"c":6,"d":[{"t":75}],"f":[{"f":75}],"g":[{"l":78,"r":147},77],"h":147,"k":[{"s":78},77],"l":[{"a":[{"k":4},77],"b":77,"i":328,"k":77,"p":0,"r":0}],"m":[{"i":0,"m":75}],"n":[{"b":77,"d":164,"f":77,"g":6,"l":77,"m":89,"n":228,"o":89,"s":[{"p":1}],"w":77},75],"p":[{"o":[{"s":102},291],"p":0}],"r":[{".":89,"e":[{"n":[{"s":26}]}],"i":84,"k":89,"s":461,"t":89}],"s":[{"i":[{"e":12}],"t":19}],"t":[{".":82,"b":77,"i":[{"s":89},78],"t":[{"h":462}]}],"u":[{".":89,"f":77,"r":147,"s":[{"b":84,"g":84,"r":84,"s":84}],"t":89}],"v":[{"e":296}],"x":84},73],"ä":[{"b":78,"d":78,"g":84,"p":84,"r":252,"t":[{"t":78}],"u":[{"s":76}]},85],"b":77,"c":107,"d":77,"e":[{".":214,"a":[{"m":84}],"c":[{"h":[{"n":84}]}],"d":[{"i":0},289],"e":77,"g":[{"r":162},88],"h":75,"i":[{".":5,"c":84,"d":0,"g":[{"r":10},78],"l":77,"n":[{"a":10,"g":[{"a":221}],"s":[{"p":15},89]}]},73],"l":[{".":77,"b":0,"e":82,"f":82,"l":[{"ä":[{"n":58}]},6],"n":77,"s":77},73],"m":[{"a":[{"r":12}],"e":[{"n":[{"t":26}]}],"m":78},77],"n":[{".":140,"a":12,"d":[{"s":128}],"s":413,"t":[{"f":89,"s":89}]},77],"p":[{"o":32}],"r":[{".":214,"a":162,"b":[{"e":[{"n":164}],"o":78}],"e":[{"n":82,"o":78}],"f":[{"ü":1}],"i":[{"l":78}],"m":84,"n":[{"b":147}],"z":[{"o":10}]},77],"s":[{"c":4,"s":[{"e":10}],"t":[{"n":89}]},463],"t":[{"a":[{"b":12,"g":12}],"i":88,"t":147},77],"u":[{"e":75,"f":84,"n":1},88],"v":0,"w":73,"x":[{"a":73},84]}],"f":77,"g":77,"h":[{"e":[{"n":6}],"i":104,"o":1,"u":73,"y":0},77],"i":[{"a":77,"b":77,"c":[{"h":75},73],"d":32,"e":[{".":77,"f":[{".":84,"l":84}],"n":77}],"f":85,"g":[{"e":[{"l":12}],"m":147},77],"k":76,"l":218,"m":[{"m":[{"a":84},78],"p":77},85],"n":[{"b":0,"f":207,"n":82,"s":73,"t":74}],"o":77,"p":[{".":77,"p":77}],"r":[{"a":0,"i":0,"o":0},289],"s":84,"t":[{"e":77,"u":75}],"v":77}],"j":77,"k":77,"l":[{"e":1},84],"m":77,"n":77,"o":[{".":77,"b":[{"l":2}],"c":[{"h":[{"t":84}]}],"d":[{".":84},77],"f":[{"f":89},75],"k":77,"l":[{"e":84,"l":89}],"m":[{"i":4}],"n":[{"a":84,"e":464,"l":84},76],"o":84,"p":[{"o":77}],"r":[{".":84,"b":89,"e":77,"f":77,"g":207,"i":77,"p":77,"s":77,"t":77}],"s":[{"t":22}],"ß":75,"t":[{"e":84,"r":77}],"u":84,"w":77,"z":77},73],"ö":[{"c":[{"h":84}],"l":76,"n":77,"r":78,"t":77},85],"p":77,"q":77,"r":[{"a":[{"c":77,"d":[{"e":5},106],"f":[{"a":10}],"g":106,"h":[{"i":84},78],"i":84,"k":84,"l":255,"n":[{"k":82,"s":84}],"p":75,"s":78,"ß":78,"u":[{"m":84}]}],"ä":[{"c":84,"g":214,"n":[{"e":84}]}],"e":[{".":77,"a":89,"f":84,"i":[{"b":84,"f":465}],"p":77,"t":77,"u":[{"h":84}]}],"i":[{"b":77,"e":[{"s":149}],"g":207,"k":236,"s":255}],"o":[{"c":82,"g":82,"h":147,"m":[{"e":89}],"p":[{"f":84}],"s":[{"s":5},77]},75],"ö":[{"p":77}],"u":[{"a":77,"b":77,"d":89,"k":78,"n":77,"p":84,"t":77},75],"ü":75},73],"s":[{"i":[{"d":10}],"t":12},466],"t":223,"u":[{"b":75,"c":[{"h":84}],"d":147,"e":77,"f":78,"g":[{"a":1},77],"h":78,"k":86,"m":[{"o":77,"s":[{"c":10},154],"t":77}],"n":[{".":77,"a":1,"d":194,"e":77,"g":77,"i":86,"n":84,"s":77,"t":77}],"ö":77,"r":[{"a":4,"e":35,"l":107,"n":84,"t":107,"z":88}],"s":77,"t":85},6],"ü":[{"c":[{"h":84,"k":147},75],"h":78,"r":[{".":84,"e":84,"z":78}],"t":[{"c":77},75]}],"v":77,"w":[{"o":[{"r":105}]},77],"y":[{".":84,"l":85,"p":84,"s":84},77],"z":173},71],"u":[{"a":[{"n":0}],"b":[{"a":5,"i":84,"r":5},467],"c":[{"h":[{"a":6,"o":6}]},304],"d":78,"e":[{"b":6}],"f":[{"i":1},152],"h":93,"i":[{"s":0,"t":[{".":0}]}],"k":6,"l":[{"i":3,"t":[{"a":78}]}],"m":[{"a":[{"n":6,"r":6},13],"e":[{"i":6,"l":6,"n":[{"t":[{"s":24},102]}],"t":21},88],"f":76,"i":[{"d":21,"n":6}],"m":88,"o":[{"r":6},100],"p":73,"s":[{"a":82,"e":77,"p":73,"t":76},71],"w":[{"a":76}]}],"n":[{".":78,"a":93,"d":[{"e":[{"r":[{"h":46},102]}]}],"e":5,"f":93,"g":[{"e":[{"n":[{"a":221}]}],"l":77,"s":10}],"i":189,"m":93,"s":[{".":89,"t":89},93],"t":77,"w":[{"a":89},77]},6],"p":[{"d":84,"p":9},78],"r":[{"a":6,"e":[{"i":6,"r":6},10],"f":78,"k":93,"o":21,"s":77,"t":71}],"s":[{"a":3,"e":13,"i":4},6],"t":[{"e":5,"r":1},79],"v":78,"z":2},75],"ü":[{"b":372,"c":78,"d":[{"e":[{"n":19}]},21],"f":78,"n":78,"s":88,"ß":78},75],"v":[{"o":[{"r":[{"a":[{"n":102}]}]}]},243],"w":[{"e":[{"g":[{"e":[{"r":[{"s":26}]}]}],"h":22},106],"i":[{"e":84,"l":84,"n":[{"k":84}],"s":84,"t":84}],"ü":82},93],"y":[{"l":[{"o":6,"u":6},137],"m":4,"n":[{"d":78,"o":5},23],"s":468},236],"z":[{"a":106,"ä":84,"e":[{"i":106,"l":84,"n":[{"a":88,"e":469,"t":84}],"r":84,"s":73,"t":84,"u":84,"w":88}],"i":[{"e":106}],"o":106,"s":82,"u":106,"ü":106,"w":84},152]}],"ß":[{"a":134,"ä":93,"b":205,"c":93,"d":152,"e":[{"b":152,"c":93,"f":93,"g":152,"i":93,"k":93,"l":[{"a":6,"e":[{"k":77},6]}],"m":[{"p":93}],"n":[{"a":315,"e":[{"r":[{"g":84}]}],"i":6,"k":[{"e":71}],"o":6,"t":[{"e":88,"z":77}]}],"p":152,"r":[{"b":4,"e":[{"i":2}],"l":[{"a":2}],"s":[{"e":470}],"t":4,"w":71}],"s":[{"s":321,"t":[{"r":245}]}],"x":93},75],"f":205,"g":[{"e":[{"b":[{"l":2}]}]},161],"h":93,"i":[{"g":[{"a":125,"s":12}],"k":161,"l":93,"m":93,"n":93},75],"j":93,"k":134,"l":[{"e":[{"r":[{"s":25}]}]},93],"m":[{"u":[{"t":10}]},93],"n":161,"o":[{"s":2},161],"ö":152,"p":152,"q":71,"r":[{"ö":2},161],"s":[{"a":[{"u":10}],"c":[{"h":22}],"t":2},134],"t":[{"i":[{"n":0}],"ü":82},93],"u":[{"m":93,"n":[{"f":71,"t":77}]}],"ü":205,"v":93,"w":93,"z":161}],"t":[{"a":[{".":78,"a":[{"n":194},84],"b":[{".":84,"a":[{"n":23},78],"b":93,"d":84,"e":[{"l":78,"n":77}],"f":77,"g":77,"h":77,"i":[{"t":161}],"k":77,"l":[{"a":77}],"m":84,"n":76,"r":372,"s":[{"t":71},84],"t":76,"u":78,"w":84,"z":84}],"c":[{"h":[{"s":84}],"u":78},93],"d":[{"a":71,"d":77,"e":[{"r":6}],"i":[{"o":441},25],"m":71,"o":[{"l":6}],"r":152,"s":3,"t":[{"r":12},84]}],"e":[{"r":6}],"f":[{".":78,"e":[{"t":84},78],"f":84,"g":71,"r":71}],"g":[{"a":6,"e":[{"i":125,"n":[{"t":82}],"s":22}],"g":189,"l":220,"o":248,"s":[{"a":[{"n":12}],"c":25,"t":12}]},78],"h":[{"l":[{"s":[{"t":19}]}]},2],"i":[{"k":3,"l":11,"n":[{"s":0}],"r":[{".":0},12],"s":32}],"k":[{"a":152,"e":[{"s":1}],"k":93,"r":[{"o":6}],"t":[{"o":294,"u":73}],"z":77}],"l":[{".":88,"a":[{"d":1,"g":1,"u":4},6],"b":[{"r":78}],"d":10,"e":[{"n":[{"d":14,"g":4,"s":14},2],"r":[{"g":260},105],"t":6},78],"g":[{"a":2}],"i":[{"e":[{"n":[{"e":33}]}]}],"l":[{"a":[{"c":27}],"e":[{"i":25}],"ö":453,"s":266}],"m":[{".":93}],"o":[{"p":6,"r":125},78],"t":[{"a":71,"h":4,"r":10}],"u":6}],"m":[{".":78,"e":[{"n":73,"r":72},78],"i":6,"m":[{"a":48,"e":[{"r":27}]}],"p":[{"l":71}],"s":78,"t":189},77],"n":[{"a":[{"b":4,"l":84,"t":5},72],"ä":152,"b":77,"c":78,"d":[{"a":[{"r":9}],"r":162,"s":[{"t":10}]}],"e":[{"r":[{"f":5}]}],"f":84,"g":[{".":78,"e":[{"h":82}],"o":73,"r":[{"a":12}]},93],"h":[{"o":73},77],"i":89,"j":78,"k":[{"l":2,"r":84},78],"l":106,"m":71,"n":[{"a":93,"e":88}],"o":[{"m":77},71],"p":77,"s":[{".":73,"i":84},71],"t":[{"a":[{"n":12}],"e":[{".":89,"i":84}],"r":77}],"w":[{"a":77,"ä":77}],"z":[{".":73,"a":71,"e":[{"i":84}],"k":78,"r":78,"u":93,"ü":77,"w":11}]}],"o":[{"r":1},2],"p":[{"e":[{"s":6},89],"f":77,"l":6,"o":[{"k":[{"a":5}]}],"p":[{"e":73}]}],"r":[{"a":[{"b":[{"b":78},77],"k":1,"l":471,"m":77,"p":4,"s":1,"u":73},6],"b":[{"a":78,"e":[{"k":78,"r":78}],"i":78,"l":326},77],"c":[{"h":[{"l":78,"r":78}]},77],"d":88,"e":[{"l":6,"r":21}],"g":4,"h":32,"i":78,"k":[{"l":472,"o":88},77],"l":73,"m":[{"ä":73},93],"o":[{"m":6,"t":77}],"t":[{"a":88,"e":[{"i":78,"r":[{"e":351}],"x":78}],"h":88,"i":[{"s":147},71],"o":12,"r":2,"y":78},77],"u":6,"z":[{"t":77},71]}],"s":[{".":88,"a":3,"c":78,"p":189,"s":[{"i":76}],"t":[{"e":[{"m":12}],"o":12},78],"y":73}],"t":[{".":89,"a":[{"b":36,"n":6}],"b":78,"e":[{"i":13,"l":413,"m":6,"n":78,"r":21},89],"l":76,"o":[{"m":77}],"r":80,"s":[{"a":78}],"t":77}],"u":[{"b":[{"a":11,"h":78,"l":2,"r":162}],"c":[{"h":[{"s":[{"p":54},102]}]}],"d":84,"f":[{"e":[{".":78}],"k":84,"l":[{"i":9},106],"m":84,"o":299,"p":84,"s":105,"w":84},93],"g":[{"e":106},78],"k":71,"m":[{"e":78}],"s":[{"b":189,"c":[{"h":[{"a":26,"m":26,"r":26,"w":26}]},78],"d":77,"e":97,"f":189,"g":106,"k":71,"l":84,"r":77,"s":106,"ü":77,"w":255,"z":106}],"u":84}],"v":[{"a":[{"n":6},84]},78],"x":[{"t":189},78],"z":78},75],"ä":[{"ä":77,"b":84,"c":0,"d":84,"f":73,"g":[{"ä":84,"y":84},78],"h":77,"l":[{"l":84,"t":93}],"m":[{"t":71},139],"n":[{"g":[{"s":71}],"z":78}],"p":189,"q":77,"r":[{"e":[{"n":[{"g":5}]}],"u":6,"z":77}],"s":6,"t":[{"i":[{"g":[{"k":78}]}],"t":84},73],"u":[{"g":77,"ß":77}],"x":77},75],"à":75,"b":[{"a":[{"u":[{"e":[{"r":102}]}]}],"e":[{"r":[{"e":22}]}],"l":[{"o":[{"c":[{"k":[{"e":[{"n":62}]}]}]}]}],"y":[{"t":12}]},309],"c":[{"h":[{"a":82,"e":82,"i":2,"l":4,"r":82,"u":447,"w":13}],"k":89,"l":82,"o":[{"r":22}],"r":82},189],"d":[{"a":[{"r":[{"m":163}]}],"u":[{"n":22}]},243],"e":[{".":78,"a":[{"b":1,"c":4,"g":1,"k":77,"l":1,"m":78,"n":1,"r":1,"s":12},232],"b":[{"a":78,"b":89,"e":[{"n":152}]}],"c":[{"h":[{"d":77,"e":77,"k":77,"m":77,"n":78,"t":77,"u":6},73],"k":[{"e":[{"r":1}],"i":6},77],"u":93}],"d":[{"i":[{"t":6}]}],"e":[{"m":0,"n":48,"r":[{".":6,"w":0}],"s":6}],"f":[{"a":78,"f":77}],"g":[{"g":93}],"h":[{"a":[{"c":6},78],"ä":78,"i":[{"m":6},78],"ö":78,"r":71,"u":1},77],"i":[{".":78,"c":78,"f":[{"l":13}],"g":[{"n":77}],"k":10,"l":[{"e":[{"n":[{"t":26}]}]},88],"m":22,"n":[{"e":[{"n":[{"s":26},102]}],"h":[{"a":[{"b":33}]}],"k":[{"ü":82}]},77],"s":[{".":93,"b":71,"c":[{"h":[{".":7}]}]}],"t":10,"w":71,"z":4}],"k":[{"e":[{"l":6}],"o":78,"t":10}],"l":[{".":78,"a":[{"b":4,"c":13,"n":[{"t":5},1],"u":13},215],"ä":6,"b":[{"r":78},10],"d":391,"e":[{"c":13,"h":[{"r":4}],"m":77,"n":[{"g":4}],"r":6,"s":25,"u":6}],"f":[{".":106}],"g":78,"h":78,"i":[{"n":13,"t":6}],"k":78,"l":[{"e":[{"i":[{"n":26}]},4],"i":4,"u":84}],"n":78,"o":[{"b":6,"m":1,"s":[{"t":5}]}],"ö":21,"p":78,"s":[{"k":37},78],"t":[{"a":4},472],"w":78}],"m":[{".":78,"a":[{"n":6,"p":21,"u":6},88],"b":[{"o":108}],"e":[{"i":21,"r":21}],"i":[{"m":37,"n":[{"g":4}]},6],"m":77,"o":[{"r":100},6],"p":[{"e":[{"r":78}],"f":[{"i":84},77]}],"s":119,"u":[{"n":5},6]}],"n":[{".":164,"a":[{"d":5,"n":14,"r":4,"s":5,"t":5,"u":4},100],"ä":23,"d":[{"a":[{"l":106,"n":10,"p":84},4],"f":214,"l":189,"o":164,"p":214,"r":9}],"e":[{"b":125,"f":6,"h":6,"i":[{".":16,"d":19},4],"m":10,"n":[{"d":14,"e":5,"g":5,"s":5},132],"r":[{"g":106,"n":14}]}],"f":10,"g":[{".":189,"a":[{"g":12},22],"l":[{"a":106}]}],"i":[{"l":5,"m":13,"n":14},6],"k":10,"n":37,"o":[{"l":6,"s":6}],"ö":1,"s":[{"e":[{"m":473}],"p":22,"t":[{"h":25}]}],"t":[{"b":71,"d":84,"l":106,"n":106,"s":71,"w":214,"z":84}],"z":[{"e":[{"r":27}]},73]},78],"o":[{"f":2}],"p":[{".":77,"i":152,"p":[{"u":77}],"t":22}],"r":[{".":147,"a":[{"c":37,"d":6,"l":[{"g":4},0],"n":[{"e":16}],"p":23,"s":10},89],"b":[{"o":[{"s":84}],"s":93,"t":93}],"c":78,"d":[{"e":[{".":106}],"s":37}],"e":[{".":78,"b":125,"c":6,"i":[{"g":82}],"k":7,"m":[{"a":5},432],"n":[{"d":14,"e":5,"g":5,"t":[{"h":54},14]}],"o":77,"r":[{"k":[{"u":15},17],"l":17,"p":14,"s":5,"w":5},78],"s":78}],"f":[{"r":89}],"g":[{"a":4,"e":[{"b":[{"n":221}],"m":164,"s":164,"w":164}],"l":4,"r":[{"e":[{"i":221}],"u":89}]},22],"h":[{"a":[{"l":[{"l":164}],"u":164}],"ä":[{"u":89}],"e":[{"i":89}],"i":474,"o":73,"ö":[{"h":[{"u":221}]}],"u":73}],"i":[{"a":1,"i":84,"k":[{"o":4}],"l":77,"o":10,"t":[{"a":10},23]}],"k":[{"l":[{"ä":84}]}],"l":[{"ä":89,"i":89,"ö":[{"s":12}]}],"m":78,"n":[{".":73,"a":[{"r":12}],"c":475}],"o":[{"b":[{"e":12},0],"s":77},89],"ö":285,"p":89,"r":[{"a":89,"e":[{".":12}],"o":89}],"s":[{".":89,"e":73,"t":[{".":89,"a":[{"d":164,"t":26}],"ä":89,"i":89,"r":89,"u":89,"ü":89}]}],"t":[{"a":4,"r":[{"ä":12}]},22],"u":[{"f":41,"n":[{"g":1}]},283],"v":89,"w":[{"ä":[{"h":106}]}],"z":[{"a":37,"b":93,"e":[{"i":89,"u":84}],"w":4}]}],"s":[{".":73,"a":[{"k":22}],"c":2,"k":[{"a":2}],"p":[{"e":[{"n":12}],"r":6}],"s":[{"a":93}],"t":[{"a":[{"n":4}],"e":[{"i":1,"l":12,"r":[{"g":26,"h":46,"k":26},102]}],"n":77,"o":17,"r":[{"i":357}]}],"u":6},78],"t":[{".":78,"a":[{"b":[{"l":5}],"p":80,"t":80},71],"e":[{"n":17},78],"h":[{"o":1},152],"l":84,"t":[{"i":4}]},2],"u":[{"f":78,"m":78,"n":[{"u":84},476],"p":93,"r":[{".":78}]}],"v":[{"a":6,"i":6}],"w":[{"a":[{"s":22}],"o":78}],"x":[{"a":[{"m":77}],"e":152,"i":152,"p":84,"t":[{"a":12}],"z":93}]},75],"è":6,"f":477,"g":[{"a":[{"s":[{"e":[{"r":27}],"u":2}]}],"e":[{"n":[{"e":[{"n":478}]}],"r":[{"a":22,"i":22}]},82],"r":5},248],"h":[{".":84,"a":[{".":78,"g":88,"k":84,"l":[{".":78,"h":78,"i":89,"s":73}],"n":[{".":73,"d":82}],"p":82,"u":106},152],"ä":[{"i":78,"l":84},93],"b":77,"e":[{".":75,"a":147,"b":93,"f":93,"i":[{"n":13,"t":84},93],"k":73,"m":[{"a":78,"d":77,"m":77}],"n":[{"n":71},75],"o":78,"r":[{"d":71,"o":132,"r":71,"z":93}],"s":[{"s":189}],"u":73},6],"f":77,"i":[{".":78,"c":[{"k":159}],"e":[{"r":[{".":4}]}],"l":93,"m":93,"n":[{"u":4},93],"r":93},227],"k":77,"l":107,"m":[{"u":22},220],"n":173,"o":[{"b":93,"c":[{"h":[{"r":4}]}],"f":71,"h":93,"l":[{"t":71,"z":77}],"n":73,"p":[{"s":84}],"s":[{"e":71},13],"t":[{"e":84},71],"u":77,"v":71},75],"ö":84,"p":77,"r":385,"s":77,"t":108,"u":[{"b":77,"h":77,"n":106,"t":77},71],"ü":93,"v":77}],"i":[{"a":[{"c":1,"g":0,"l":[{"l":22,"o":1}],"m":32},89],"b":78,"c":[{"c":78,"e":0,"k":[{"e":[{"t":78}]}]}],"d":[{".":73,"e":[{"e":77,"n":[{"d":39}]}],"y":1}],"e":[{"f":[{".":78,"e":[{"l":84}],"l":78,"r":2}],"g":148,"h":77,"i":21,"l":[{".":6,"a":25},0],"n":[{"s":25},479],"r":[{"e":[{"i":12,"u":12}],"n":6},78],"s":[{"t":37}],"ß":77,"u":0}],"f":[{".":78,"e":1,"r":120,"t":[{"e":[{"r":[{"k":29}]}]}]}],"g":[{"e":[{"r":[{"z":5}]}],"i":[{"t":6}],"s":[{"t":[{"r":10}]}]},78],"h":2,"j":78,"k":[{"a":[{"m":6,"r":6}],"e":[{"n":[{"t":5},105],"r":[{"e":16,"l":1}]}],"i":[{"n":6}],"l":[{"u":5}],"n":6,"o":[{"p":6}],"r":[{"a":6,"ä":6,"e":[{"i":5}]},13],"t":35}],"l":[{"a":[{"r":6}],"d":4,"e":[{"i":6,"l":6}],"g":78,"l":[{"u":77}],"ö":6,"t":10,"u":6}],"m":[{"a":[{"g":36}],"m":[{"a":[{"n":12,"t":82}],"e":[{"r":[{"g":26},102]}]}],"o":78,"p":77,"s":2}],"n":[{".":78,"a":[{"f":1,"k":1,"n":23},89],"d":71,"e":[{"i":48},47],"f":93,"g":[{"a":2,"l":25,"s":25},78],"h":93,"i":[{"s":78,"t":311}],"k":[{"a":71,"l":11,"n":2,"r":2,"u":71}],"n":73,"o":[{"r":6}],"s":[{".":78,"a":82,"ä":73,"e":106,"p":[{"a":12}],"u":[{"m":12}]},71],"t":[{"e":[{".":78}]},71],"u":[{"m":2},1],"v":189}],"o":[{"s":[{"k":6}],"x":[{"i":17}]},78],"p":[{".":78,"e":77,"l":16,"p":78,"s":78}],"q":[{"u":[{"e":[{".":5}]}]}],"r":[{"a":[{"d":78}],"h":0,"o":[{"n":5}]}],"s":[{"c":[{"h":[{"e":[{"i":24}],"u":5,"w":17}]},88],"e":[{"i":6,"l":2}],"k":1,"l":93,"o":71,"p":6,"r":71,"s":10,"t":[{"h":3,"i":4,"r":120}],"u":21}],"t":[{"a":[{"l":6},217],"e":87,"h":0,"i":78,"u":107}],"u":[{"m":[{"s":10}]},78],"v":[{"a":[{"n":6}],"e":[{"l":6,"n":[{"e":5}],"r":[{"h":5,"k":5,"l":5},105]}],"o":21,"r":14},78],"z":[{"a":6,"i":[{"r":6}]}]},75],"j":93,"k":309,"l":[{"a":[{"n":[{"g":22}]}],"e":[{"f":73,"i":[{"d":[{"e":[{"r":33}]}]}],"r":[{"a":2}]},5],"i":[{"n":[{"g":[{"s":53}]}],"t":48},473],"o":82,"ö":140,"u":[{"n":[{"g":19}]}]},248],"m":[{"a":[{"l":22,"s":[{"t":2}]}],"e":[{"n":[{"s":[{"c":[{"h":[{"l":30}]}]}],"t":[{"s":102},58]}]}],"o":[{"d":[{"e":[{"s":12}]}]},82]},246],"n":[{"a":140,"e":[{"s":22}]},309],"o":[{".":78,"a":[{"s":5,"t":7}],"b":[{"a":73,"j":84,"l":2,"s":71,"t":78}],"c":[{"h":[{"s":82,"t":78}],"k":[{"e":[{"n":[{"t":212}]}]}]},0],"d":[{"e":[{"r":422}],"u":[{"n":5}]},147],"f":[{"f":[{"a":12,"e":[{"n":[{"t":46}],"r":27}],"i":77,"s":25}]}],"g":78,"h":[{"r":76}],"i":[{".":84,"r":12,"z":84},78],"j":194,"k":378,"l":[{"e":1,"p":84,"z":84},78],"m":[{"a":[{"r":[{"b":19}]}],"e":[{"n":[{"e":5}]}],"i":[{"n":6},78],"o":78,"u":[{"n":5},21]}],"n":[{"a":[{"n":6,"u":4}],"d":22,"e":[{"h":232,"r":[{"k":[{"e":15}]}]}],"o":[{"b":6}],"y":77}],"o":78,"p":[{".":78,"a":[{"d":6,"k":6,"n":6,"s":1,"t":6}],"h":[{"i":13}],"o":78,"t":372}],"r":[{".":89,"a":[{"g":22}],"ä":[{"n":5}],"c":84,"d":[{"i":73,"n":106},71],"e":[{"i":6,"l":6,"m":6,"n":[{"n":[{"a":24}]}]},89],"f":[{"a":[{"n":12}]}],"g":[{"a":84},238],"i":[{"e":[{"n":[{"t":140}]}],"n":[{"s":19,"t":4}]}],"k":194,"ö":6,"s":89,"t":[{".":189,"a":37,"h":71,"n":84,"s":144}],"u":5,"ü":[{"b":5},1],"y":84},78],"s":[{"c":1,"e":3,"h":3,"k":[{"a":5}],"p":3,"s":84,"t":480}],"ß":[{"u":0},84],"t":[{"ä":6,"e":78,"h":[{"o":6}],"r":78,"s":22}],"u":[{"i":[{"l":105}],"n":1},403],"w":78,"x":0,"z":78},75],"ö":[{"c":[{"h":78,"k":84}],"d":152,"f":80,"k":189,"l":[{".":77}],"n":78,"r":73,"s":[{"t":71}],"t":78},75],"p":[{"f":12,"i":[{"n":2}]},134],"q":93,"r":[{".":77,"a":[{".":194,"c":[{"h":[{"a":4,"l":4}]},78],"d":[{".":76,"e":[{"m":12},77],"i":[{"e":106}]}],"f":[{"a":[{"h":12,"r":12}]}],"g":89,"h":[{"i":78,"l":84,"m":77}],"i":252,"k":[{"e":106,"t":89},78],"l":[{"l":25},78],"n":[{".":147,"d":84,"g":84,"n":82,"s":252}],"s":[{"t":2}],"ß":84,"u":[{"b":[{".":84}],"c":84,"e":89,"f":89,"p":77,"ß":84}]}],"ä":[{"c":194,"d":77,"g":78,"n":[{"e":78,"g":84}],"s":84,"ß":84,"u":[{"c":77,"s":84,"ß":84}]}],"e":[{".":214,"a":[{"k":82},77],"b":[{"r":2},84],"c":[{"h":82,"k":[{".":194,"e":35},89]},84],"d":76,"f":[{"e":84,"f":194,"l":84,"o":84},78],"g":84,"h":82,"i":[{".":89,"b":147,"c":84,"f":84,"g":76,"h":76,"m":77,"n":106,"s":[{"c":[{"h":[{".":263}]}]},76],"t":84,"z":82}],"k":77,"l":106,"m":89,"n":[{".":89,"d":[{"i":84},78],"n":[{"u":78}],"t":82}],"p":[{"e":77,"o":76,"p":78,"r":82}],"r":89,"s":[{".":252}],"t":[{"a":2,"e":89,"r":25,"t":76}],"u":[{"h":78}],"v":106,"x":89,"z":84}],"é":252,"h":76,"i":[{"b":89,"c":[{"k":89},84],"d":283,"e":[{"b":194,"f":[{"r":25}],"n":[{"a":12}],"r":[{"s":12},2],"s":48}],"g":[{".":84,"g":194,"l":4}],"k":[{"e":[{".":12,"s":12}],"o":194},89],"n":[{"d":106,"g":84,"i":4,"n":106}],"p":[{"t":84},89],"v":106,"x":2,"z":[{"i":132}]},78],"o":[{".":194,"b":9,"c":[{"k":[{".":84}]}],"e":78,"k":[{"e":[{"s":12}]}],"l":[{"l":[{"a":10}]}],"m":[{".":221,"e":[{"n":12}],"i":2,"k":84,"s":84,"v":84}],"n":[{"a":4},78],"p":[{"e":13,"f":78},89],"s":[{".":194,"m":35,"t":78}],"t":[{".":71}],"u":[{"t":77}],"y":78}],"ö":[{"c":106,"h":77,"m":221,"p":78,"s":[{"s":106},78],"t":78}],"u":[{"a":78,"b":78,"c":76,"f":84,"k":84,"m":[{"ä":82,"s":132},22],"n":[{"d":82,"k":78}],"p":252,"s":[{"s":82}],"t":[{"h":2},440],"w":84}],"ü":[{"b":[{"e":13,"u":13}],"c":[{"k":[{"e":[{"r":312}]}]},76],"g":89,"m":[{"m":78}]}],"y":13},481],"s":[{".":84,"a":[{"b":1,"c":[{"h":[{"s":89}]}],"d":113,"h":[{"n":0}],"l":[{"l":73,"t":73}],"m":[{"p":89,"t":114}],"n":[{"e":1},73],"r":[{"e":1,"i":1},2],"s":482,"u":73,"v":6}],"ä":[{"h":73,"n":0,"u":[{"s":0}]}],"c":[{"h":[{"a":[{"m":89,"r":[{"t":164}]}],"e":[{"f":89},82],"l":[{"i":10},82],"r":[{"o":89}],"ü":82}],"o":[{"r":5}]}],"e":[{"b":113,"e":2,"f":73,"h":[{"e":[{".":12}]}],"i":[{"l":6}],"m":[{"e":82}],"n":[{"g":0,"s":6,"t":104}],"p":104,"r":104,"s":[{"s":[{"e":[{"n":338}]}]}],"t":[{"a":0,"i":104},2],"v":113,"x":[{"i":82},73]}],"h":[{"e":1}],"i":[{"d":113,"k":167,"m":73,"n":[{"g":19,"i":73}],"r":0}],"k":[{"a":[{"l":82}],"e":[{"l":[{"e":5}]}],"i":22,"o":128},84],"l":[{"a":[{"l":71}]}],"o":[{"f":[{"f":0}],"p":104,"r":[{"c":0,"i":104,"t":[{".":1}]},2]}],"ö":73,"p":[{"a":[{"c":73,"l":73,"s":0,"t":[{"e":1},73]}],"ä":73,"e":[{"d":82,"i":82,"k":79,"n":[{"d":5}]}],"h":73,"i":[{"c":128,"n":[{"s":89}]},79],"l":[{"e":1}],"o":[{"n":79,"r":79},73],"r":[{"o":73}],"u":[{"l":6,"t":6}]}],"s":16,"t":[{"a":[{"b":[{"e":89}],"f":73,"g":89,"k":1,"l":[{"e":89}],"n":[{"z":128}],"s":89,"t":[{".":89}]}],"ä":[{"t":[{"i":128}]}],"e":[{"a":73,"i":[{"n":82}],"r":[{"b":5,"n":124,"o":124}]}],"h":89,"i":[{"f":82,"m":82,"t":89}],"o":[{"c":[{"h":89}],"i":89,"l":5,"n":89}],"r":[{"e":[{"c":82,"n":89}],"i":[{"e":89}]}],"u":[{"b":140},6],"ü":[{"m":5}],"y":89},483],"u":[{".":73,"b":[{"i":194}],"m":[{"g":73,"s":73,"v":73,"z":73}],"n":86},0],"w":[{"a":[{"s":22}]}],"y":82},77],"t":[{"a":[{"b":0,"c":[{"h":[{"s":1}]},6],"d":0,"g":[{"e":[{"s":[{"s":46}]}]},6],"h":114,"k":[{"e":2}],"l":6,"n":[{"a":278,"m":73,"t":6}],"p":114,"r":[{"t":0}],"t":[{"r":1}]}],"ä":[{"h":0}],"e":[{"b":[{"e":0}],"i":[{"f":0,"n":0,"s":104}],"l":[{"a":294,"e":[{"b":199,"n":12}],"i":[{"n":12}],"o":48,"s":[{"t":[{"e":55},19]}]}],"m":[{"u":73}],"n":[{"a":12,"s":[{"e":[{"m":33}]}],"t":[{"b":89,"e":25,"f":89,"s":89}],"z":25}],"o":73,"r":[{"e":5,"f":[{"o":1}],"i":[{"k":12}],"o":2,"ö":6}],"s":[{"a":485,"ä":485,"o":2,"t":[{"r":19}]},484]}],"h":[{"ä":[{"u":6}],"i":0,"o":104}],"i":[{"d":237,"g":[{"i":128}],"n":[{"s":73,"t":6}],"s":[{"o":73}]}],"l":[{"a":486}],"o":[{"r":[{"g":89}]}],"r":[{"o":[{"u":73}],"ü":1}],"s":[{"c":[{"h":[{"i":102}]}],"e":[{"h":13,"n":6}],"p":[{"e":6,"r":6},13],"t":[{"ä":[{"t":14}]}],"u":[{"m":6}],"z":3}],"t":47,"u":[{"f":32}],"ü":82,"z":3},189],"u":[{"a":[{"l":[{"e":5,"m":0,"v":0}],"n":[{"t":1}]},78],"b":[{"a":[{"b":25}]},108],"c":[{"h":[{"i":6,"o":0}]},78],"d":[{"i":[{"e":[{"n":191}]}]},77],"e":[{"r":[{"e":6}]},78],"f":[{"e":[{"n":1,"r":79},2],"f":78},77],"g":[{"a":[{"n":6}]}],"h":[{"l":[{"e":[{"r":12}]}]},84],"i":[{"s":[{"t":0}]}],"k":[{"r":6}],"l":[{"i":2}],"m":[{".":78,"b":[{"l":361}],"e":78,"f":106,"g":76,"h":93,"k":76,"l":77,"o":88,"r":76,"s":[{"a":[{"t":106}],"c":93,"i":2,"o":2,"t":[{"r":59}]}],"t":76,"w":93,"z":76}],"n":[{".":78,"a":93,"d":[{"e":22},93],"e":[{"n":2}],"f":76,"g":[{"a":82,"s":318},78],"i":[{"f":77,"o":80,"v":77}],"m":93,"n":78,"o":72,"s":[{".":78},82],"t":106,"v":93}],"p":[{".":93,"g":71}],"r":[{"a":[{"g":21,"n":[{"l":19},6],"s":6,"u":6}],"ä":6,"c":13,"e":[{"b":125,"i":[{"s":4},6],"n":[{"e":5}],"r":21,"s":5,"t":126,"v":118}],"f":9,"g":37,"i":[{"n":487}],"m":[{"u":[{"n":12}]}],"n":78,"o":23,"u":5}],"s":[{"a":6,"c":[{"h":[{"l":5}]}],"e":6,"o":6},78],"t":[{"a":3,"o":[{"r":[{"e":25}]},55]}]},75],"ü":[{"b":[{"e":[{"r":[{".":1}]}]},84],"c":[{"h":78,"k":[{"s":22}]}],"f":78,"h":84,"m":78,"r":[{".":78,"c":13,"e":78,"g":78,"s":326,"w":78,"z":84}],"t":[{"c":78,"e":78,"z":84}]},77],"v":[{"o":[{"r":[{"a":[{"n":102}]}]},82]},248],"w":[{"a":488,"i":[{"e":12,"s":[{"t":89}]}]},309],"y":[{"a":93,"p":[{"a":21},78],"s":32},75],"z":[{"a":[{"g":0,"r":1,"u":0},289],"ä":[{"h":82},104],"e":[{"c":0,"d":113,"h":[{"r":0}],"i":[{"e":104,"s":114}],"m":[{"i":0},2],"n":[{"e":6,"s":[{"t":441}],"t":[{"a":25,"g":89,"l":89,"s":89}]},99],"r":[{"e":[{"b":12}],"g":[{"r":[{"e":33}]}],"w":0,"z":[{"i":1},168]}],"s":162,"t":32}],"i":[{"d":113,"m":[{"i":0},12],"n":[{"t":0,"v":0}]}],"o":[{"m":86,"p":73}],"t":[{"h":6,"i":[{"n":5}]}],"u":[{"g":[{"u":2}],"n":[{"i":73}]}],"w":[{"a":[{"n":[{"d":191}]}],"ä":0,"i":[{"e":82},0],"u":0}]},93]}],"u":[{"a":[{"b":79,"c":79,"d":[{"a":[{"n":6}],"r":12}],"g":6,"l":[{".":71,"a":285,"ä":285,"b":71,"d":71,"e":[{"b":82,"n":[{"t":124}],"r":[{"g":5,"k":4},489],"t":79}],"f":71,"g":71,"h":71,"i":[{"d":79}],"n":71,"o":125,"p":71,"r":71,"s":71,"t":490,"u":6,"w":71,"z":71}],"m":71,"n":[{"a":2,"s":71}],"r":[{".":82,"a":[{"b":22}],"s":71,"t":[{"a":[{"n":27}]}]}],"s":[{"a":1,"i":48}],"t":[{"h":6,"i":2,"o":2}],"u":82,"y":71},77],"ä":[{"m":71,"s":6,"u":71}],"b":[{"a":[{"r":[{"b":73}]}],"b":[{"l":12}],"e":[{"b":[{"e":2}],"e":2,"h":[{"e":104}],"i":[{"n":[{"s":128}]}],"m":113,"n":[{"a":99,"o":25}],"r":[{"d":[{"e":128}],"t":19},6],"s":5,"u":[{"l":0}]}],"i":[{"t":82}],"l":[{"ä":[{"u":1}],"i":[{"c":1}],"u":[{"t":5},1]},6],"o":[{"b":73,"p":73,"z":73}],"r":[{"i":[{"t":86}],"ü":5}],"s":[{"a":[{"n":6,"u":105}],"c":[{"h":[{"e":14}]}],"o":21,"p":6,"t":22}],"t":[{"h":3}]},93],"c":[{"c":0,"h":[{"a":[{".":71},13],"ä":13,"e":[{"c":13,"d":73,"i":13,"r":[{"i":[{"n":[{"t":66}]}]}],"s":82},71],"i":[{"m":4,"n":13},71],"l":4,"m":4,"n":4,"o":[{"p":13}],"r":346,"s":[{"e":[{"l":12}],"o":2,"p":2}],"t":[{"a":[{"n":4},2],"e":[{"r":[{"f":46,"t":46}]}]}],"u":71,"ü":4,"w":13}],"i":71,"k":[{"e":[{"l":[{"f":4}],"m":73,"n":[{"t":89}],"r":[{"g":[{"e":[{"b":175}]}]},2]}],"i":346,"s":[{"t":[{"i":12}]}]}],"l":71},84],"d":[{"a":[{"d":4},124],"e":[{"i":[{"n":63},9],"n":[{"e":25,"s":266},11],"r":[{"t":19}],"s":22},6],"i":[{"e":[{"n":4}],"t":[{"i":19}]}],"o":[{"b":82,"n":86},6],"r":[{"a":1,"u":82}]},93],"e":[{"b":[{"l":12}],"c":[{"h":0,"k":6}],"d":73,"e":[{"n":126}],"g":73,"h":73,"k":[{"e":6}],"l":[{"a":89,"e":[{"k":6}],"i":10,"l":[{"a":2}],"n":82}],"m":[{"i":6}],"n":[{".":82,"a":315,"ä":6,"d":82,"e":[{"b":6,"r":6},22],"g":[{"a":[{"g":12}],"e":[{"m":19,"n":[{"e":297}],"s":19},105],"l":2}],"i":79,"k":10,"o":6,"z":[{"e":[{"n":[{"e":26}]}],"u":2}]},13],"p":73,"r":[{"a":[{"t":10},118],"ä":21,"b":[{"a":[{"u":[{"t":26}]}]},22],"d":37,"e":[{"c":6,"i":[{"n":[{"n":140}],"s":4}],"l":[{"a":4}],"m":[{"p":82}],"n":[{"t":491}],"r":[{"b":16,"f":82,"g":42,"h":19,"k":19,"m":19,"s":[{"c":24,"p":15,"t":24}]}],"s":[{"k":4}],"t":126,"x":82},22],"g":[{"e":[{"b":12}]},37],"h":82,"i":[{"d":22,"m":150,"n":[{"t":202}]}],"l":[{".":82}],"n":[{"a":[{"n":12,"r":12}],"e":12,"s":[{"t":159}]},82],"o":254,"ö":2,"r":[{"ü":82}],"s":[{"c":4,"t":15}],"t":37,"u":[{"h":82,"m":82,"n":[{"f":82,"t":82}]}],"z":37}],"t":[{"a":6,"e":[{"k":5}],"i":[{"k":6}],"y":22}],"v":73,"x":21},189],"f":[{"a":[{"b":0,"c":[{"k":2},82],"h":82,"l":[{"l":19},82],"m":82,"n":[{"e":1},2],"r":167,"s":82,"ß":0,"t":2,"u":0}],"ä":[{"n":104,"s":104,"ß":113}],"e":[{"i":104,"l":[{"s":[{"a":277}]}],"m":104,"n":[{".":82,"t":73},84],"r":[{"f":73,"h":104,"l":[{"a":89,"e":89}],"n":[{"e":89}]}],"t":104}],"f":[{"e":1,"l":12,"r":[{"o":6}]},77],"i":[{"d":104,"m":73,"n":[{"s":104}]}],"l":1,"o":[{"b":73,"r":[{"i":0},2]}],"r":1,"s":[{"ä":7,"p":[{"o":6}],"t":[{"a":[{"b":5}]}]}],"t":[{"a":[{"b":22}],"e":[{"b":13,"r":[{"d":4,"g":197,"l":19}]}],"s":9},77],"u":[{"m":73}]}],"g":[{"a":[{"b":[{"e":6,"t":[{"e":89}]}],"d":32,"k":0,"n":[{"a":73,"b":73,"i":73,"s":104,"t":73}],"p":0,"r":104,"s":2,"u":0}],"d":3,"e":[{".":82,"c":104,"i":[{"g":73,"n":73},32],"l":[{"o":[{"b":12}]}],"m":[{"i":0}],"n":[{"e":105,"s":266}],"r":[{"f":104,"l":104,"r":73,"v":73}],"s":[{".":82,"k":104}],"t":6}],"g":[{"e":[{"s":[{"t":10}]}],"l":6,"t":12},2],"h":[{"u":1}],"i":[{"d":113,"m":73,"n":0}],"l":[{"ä":89,"e":[{"i":[{"t":[{"b":164,"u":164}]}]}],"i":[{"c":89,"s":89,"z":1}],"o":128,"u":89},104],"n":128,"o":[{"b":237,"c":1,"n":82,"p":12,"r":120,"s":82},4],"ö":73,"r":[{"ä":86,"e":[{"g":73,"i":[{"s":128}],"s":73}],"i":[{"e":86}],"o":[{"u":73},1],"ü":[{"s":1}]}],"s":[{"p":[{"a":[{"n":1}],"e":5,"o":[{"r":12}],"r":5,"u":5}],"t":[{"a":1,"ä":1,"o":12,"r":16,"u":[{"r":5},1],"ü":16},22]}],"u":[{"m":73,"t":[{"e":4}]}],"ü":73},93],"h":[{"a":6,"e":[{"a":37,"e":100,"s":13},76],"i":77,"l":[{"a":[{"r":6},0],"ä":0,"e":[{"n":[{"t":14}],"r":[{"b":4}]}],"i":6,"ö":2},77],"m":[{"e":22},77],"r":[{"a":13,"e":[{"i":[{"s":19}],"r":492}],"i":[{"n":5},107],"o":23,"u":6,"ü":5}],"s":12,"t":3,"u":73,"ü":77,"w":0},71],"i":[{"a":6,"c":[{"h":[{"e":6},0],"k":[{"e":[{"r":5}]}]}],"d":[{"d":71}],"e":[{"m":0},71],"g":[{"e":89},82],"l":[{"l":[{"e":[{"s":12}]}]}],"m":71,"n":[{".":82}],"s":[{"c":[{"h":[{".":82,"s":82}]}],"e":2,"i":[{"n":10}],"t":4}],"t":[{"s":4}]},77],"j":[{"i":4},71],"k":[{"a":6,"ä":[{"h":0,"u":82},2],"e":[{"n":11},72],"i":71,"l":[{"e":48},72],"n":5,"o":[{"b":104,"m":[{"a":25},11]}],"ö":6,"r":115,"t":[{"a":6,"e":[{"l":21,"n":[{"t":5}],"r":21}],"i":[{"n":6}],"o":[{"r":[{"i":177}]}],"r":14,"u":[{"m":6}]}],"u":[{"s":2},71],"ü":6}],"l":[{"a":[{"m":0,"n":[{"e":22}],"r":6,"s":2}],"ä":[{"m":0}],"b":[{"l":12}],"d":[{"a":[{"n":5}],"r":6,"s":[{"e":2}]}],"e":[{"l":104,"m":[{"b":0}],"n":12,"r":[{"h":83}],"s":[{"t":25}],"t":[{"a":0},2]},77],"f":223,"g":12,"i":[{"d":0,"k":2,"n":[{"s":0}],"p":13},77],"k":[{"a":1,"n":6}],"l":[{"a":[{"u":13}],"e":[{"n":1}],"i":3,"o":6,"s":37}],"m":[{"e":2}],"n":[{"i":22}],"o":[{"i":2,"p":73,"r":104}],"p":[{"h":[{"a":6},13]}],"s":[{"a":[{"m":5},6],"e":[{"c":21,"i":6,"r":6}],"t":[{"h":2}],"u":[{"m":6}]}],"t":[{"a":[{"n":1,"r":4,"u":6},269],"e":[{"r":[{"m":19}]}],"i":1,"r":[{"i":5}],"s":4}],"ü":73,"v":[{"r":6}],"z":[{"w":2}]},71],"m":[{"a":[{".":77,"a":157,"b":73,"d":104,"k":113,"l":[{"l":0}],"n":[{"g":0,"z":0}],"p":104,"r":[{"c":73,"m":73,"t":73},0],"t":[{"l":73,"m":73}],"u":[{"s":0,"t":73}]}],"ä":[{"h":104}],"d":430,"e":[{".":82,"f":104,"i":[{"n":104}],"n":[{"e":11,"g":[{"e":[{"l":7}]}]}],"r":[{"a":22,"f":104,"g":0,"k":82,"l":104,"w":0}],"s":[{"t":22}]}],"f":[{"i":84},75],"g":75,"i":[{"n":[{"d":0,"h":0}],"r":0,"t":[{"e":0},2]}],"k":75,"l":75,"m":[{"e":[{"i":6},77],"i":1}],"o":[{"b":0,"l":82,"t":1}],"p":[{"f":[{"a":2,"i":[{"n":12}],"l":[{"i":10}]}],"h":[{"o":6}]}],"r":75,"s":[{"a":[{"n":14,"t":75}],"e":[{"r":41}],"i":[{"m":6}],"k":5,"p":[{"e":21}],"u":[{"m":6}]}],"t":3,"u":[{"m":73,"r":113}],"z":75}],"n":[{".":84,"a":[{".":77,"b":[{"r":23},75],"g":6,"l":6,"m":79,"n":86,"p":73,"r":[{"b":73}],"s":493,"t":1}],"ä":[{"r":6}],"d":[{".":77,"a":[{"b":22},6],"ä":[{"n":6}],"d":75,"e":[{".":1,"r":[{"e":[{"r":312}],"f":4,"ö":4,"t":[{"e":[{"n":[{"d":175},62]}]}],"z":4}],"x":6},77],"f":75,"g":77,"i":[{"d":6,"m":6}],"n":75,"o":[{"b":22,"p":6,"r":6}],"r":384,"s":[{".":84,"c":77},4],"u":[{"m":21}],"ü":10,"v":75,"z":75}],"e":[{"i":[{"d":1,"n":1}],"m":[{"i":6}],"n":[{"t":22},99],"r":[{"e":4,"i":4,"k":89,"z":[{".":128}]}],"s":126},257],"f":[{"a":1,"t":[{"s":10}]},2],"g":[{"a":[{"b":6,"m":6,"t":6}],"e":[{"n":[{"a":78}],"r":[{"e":19}],"t":75,"w":75}],"h":35,"l":[{"u":6},75],"o":6,"r":[{"i":4},6],"s":[{"a":12,"t":[{"r":55}]},25]}],"i":[{"c":82,"d":[{"e":1},6],"e":84,"f":88,"k":9,"m":6,"o":75,"r":[{"o":1},6],"s":[{"l":1}],"t":79,"v":85}],"k":[{"a":125,"e":[{"r":1,"s":21,"t":6}],"n":[{"e":6}],"o":[{"p":36}],"r":[{"o":6}],"s":37,"t":[{"i":[{"t":12}],"r":2}]},77],"l":[{"ö":22}],"n":[{"a":[{"d":41},22],"e":[{"n":10},2]}],"o":[{"b":73,"r":12,"s":6}],"r":75,"s":[{".":77,"c":[{"h":[{"e":[{"l":54}]}]}],"e":1,"i":146,"k":[{"i":5},1],"p":1,"t":[{"a":[{"g":19}],"e":[{"c":19}],"r":99}],"y":84,"z":84},2],"t":[{"a":1,"e":[{"r":[{"i":10}]},1],"i":84,"r":1,"s":4,"u":77,"y":78},75],"u":[{"c":82},74],"v":[{"o":[{"l":[{"l":247},105]}]}],"w":[{"ä":84,"e":78},75],"y":73,"z":[{"a":3,"e":2},77]},0],"o":[{"b":72,"f":82,"r":[{".":82,"a":23,"c":4,"e":[{"t":82}],"i":[{"s":6}],"s":82,"t":35},71],"s":[{".":71},2],"t":[{"e":22}],"x":71},77],"ö":[{"d":6,"k":71}],"p":[{"a":71,"d":78,"e":[{"r":[{"e":[{"r":102}]},48]},217],"f":[{"a":6,"e":97,"i":73,"u":6}],"i":124,"l":[{"u":5}],"o":82,"p":[{"l":6},77],"r":[{"a":[{"s":86},25]},71],"t":[{"a":315,"e":[{"n":[{"e":5},132],"r":[{"f":4,"g":4,"k":4,"s":4}]}],"i":[{"n":5}],"o":41,"r":5}]}],"q":71,"r":[{".":84,"a":[{"b":[{"a":82,"e":2},73],"k":[{"t":104}],"l":[{"t":156}],"m":104,"n":[{"a":12,"d":82,"f":[{"ä":[{"n":33}]}],"g":[{"e":10},0],"h":6,"s":55,"z":0}],"p":1,"r":[{"i":12},86],"s":[{"c":82,"p":0,"t":[{"r":12}]}],"t":[{"e":5,"t":104}],"u":0},71],"ä":[{"l":0,"m":32,"n":0},93],"b":[{"a":3}],"c":[{"h":[{"t":[{"e":17}]},48]},77],"d":[{"a":1,"i":1},2],"e":[{"e":13,"f":[{"f":0}],"i":[{"g":0}],"l":[{"e":73}],"n":[{"a":12,"s":[{"e":278}],"t":[{"n":89}]},2],"p":104,"r":[{"h":25,"k":25,"t":6,"w":73}],"t":[{"a":0,"h":23}],"u":4}],"f":[{"l":23,"r":[{"o":6}],"s":[{"p":[{"r":12}]}],"t":4},77],"g":[{"e":[{"n":[{"s":[{"e":24}]}]}],"i":[{"n":[{"n":4}]}],"l":[{"a":6},13],"r":[{"i":6,"o":[{"s":102}]}],"s":184}],"i":[{"c":2,"d":[{"e":0}],"e":[{"n":4}],"n":[{"d":104,"s":[{"e":[{"k":33}],"t":[{"i":[{"n":30}]}]}]}],"s":[{"o":289}]}],"k":[{"u":1}],"l":1,"m":[{"a":[{"t":[{"t":5}],"u":21}],"e":[{"i":2,"r":[{"n":5}],"t":132}],"u":[{"m":6,"n":6}]}],"n":[{"e":3}],"o":[{"b":[{"l":22}],"f":[{"f":0}],"h":22,"s":[{"t":105},184]},93],"ö":93,"p":16,"r":[{"e":1,"h":6},77],"s":[{"a":[{"c":78,"n":6,"u":19}],"e":[{"r":21}],"o":[{"f":41}],"p":[{"a":6}],"z":[{"e":1}]}],"t":[{"a":[{"i":6},77],"e":[{"i":[{"n":4}]}],"r":[{"o":6}],"s":[{"c":22}]},2],"u":[{"f":10},82],"ü":2,"z":[{"a":125,"ä":6,"e":[{"c":21,"p":6}],"i":6,"o":[{"p":21}],"t":10,"w":21}]}],"s":[{"a":[{"b":3,"g":[{"i":2}],"m":[{"b":114,"t":89}],"n":[{"g":73,"n":6}],"r":[{"k":1}],"s":[{"t":0},162]}],"ä":[{"h":73,"s":104}],"c":[{"h":[{"a":[{"b":89,"k":89}],"e":[{".":82,"f":89,"i":[{"c":55}],"u":165}],"i":82,"m":[{"ü":25}],"u":82,"w":[{"e":[{"r":55}]}]}]}],"e":[{"b":383,"c":104,"e":[{"i":2}],"i":104,"n":[{"s":[{"e":278}],"t":[{"l":89}]}],"p":82,"r":[{"e":[{"c":12}],"l":104,"p":73,"w":0}],"s":[{"e":104}],"x":73}],"i":[{"d":73,"e":[{"r":[{".":4,"s":[{".":35}]}]}],"k":[{"a":[{"t":12}]},82],"n":[{"n":0}]}],"k":[{"l":1}],"o":[{"c":1,"h":0,"l":82,"p":73,"r":[{"c":0}],"u":0}],"p":[{"a":[{"c":73,"r":[{"t":1}],"s":104}],"e":[{"c":82,"k":82}],"h":73,"i":[{"c":0,"t":82,"z":124}],"o":[{"r":6},73],"u":73}],"r":[{"i":[{"c":[{"h":249}]}]}],"s":[{"a":[{"d":21}],"e":[{"b":23,"g":10,"n":10,"p":6,"r":[{".":7,"f":4,"z":19}],"s":[{"p":5}],"z":6}],"k":4,"o":[{"f":6}],"u":[{"m":6}]}],"t":[{"a":[{"d":71,"l":71,"u":1}],"e":[{"i":[{"n":5}],"l":71,"r":[{"l":4}]}],"h":[{"e":[{"r":1}]},6],"i":[{"n":1}],"r":[{"a":[{"s":5}],"i":[{"s":24}]},1],"u":[{"n":73,"r":73},71]}],"u":[{"m":[{"d":73,"g":73,"z":73}],"r":82,"s":78}],"ü":73},77],"ß":[{"u":0},77],"t":[{".":84,"a":[{"f":82,"l":[{"t":104}],"m":296,"n":[{"s":6}],"p":104,"r":104,"s":2,"u":[{"t":73}]}],"ä":[{"h":0,"r":73}],"c":1,"e":[{"d":32,"h":82,"i":[{".":0,"e":0,"n":0}],"k":82,"l":[{"a":0}],"m":82,"n":[{"a":22,"t":[{"f":89},73]},11],"r":[{"a":[{"l":12},105],"e":[{"r":195}],"i":[{"n":[{"g":26}]}],"k":25,"o":[{"s":12}]}],"s":6,"t":6,"v":218,"x":104}],"f":[{"i":22}],"h":[{"a":[{"l":1}],"e":[{"i":1,"l":0}],"i":104,"o":104,"u":73}],"i":[{"d":104,"g":[{"e":[{"l":89}]}],"v":[{"i":2}]}],"l":[{"i":[{"n":10}]}],"o":[{"c":4,"m":169,"p":[{"a":4,"s":73},13],"r":[{"a":22,"d":89,"e":2,"i":[{"n":12}]}],"s":37,"u":84}],"ö":[{"l":73}],"r":[{"e":[{"a":1}],"o":[{"u":73}],"ü":1},84],"s":[{"a":[{"u":105}],"ä":[{"u":6}],"c":[{"h":[{"l":5,"m":5,"o":5,"ö":5}]}],"e":[{"r":1}],"k":3,"p":2,"t":[{"a":1}]},84],"t":[{"e":[{"r":12}],"l":47,"s":22}],"u":[{"b":2,"m":73,"n":[{"e":104},12],"r":[{"e":12,"o":4,"u":35}]}],"ü":82,"z":[{"e":[{"h":6,"n":[{"g":4}],"r":2,"t":6}],"i":[{"n":21,"s":6}],"ö":6,"w":21},164]},93],"u":[{"f":[{"e":22}],"m":[{"a":10,"e":22},13]},205],"ü":72,"v":[{"e":[{".":73,"r":[{"ä":4}]}]},205],"w":71,"x":[{"e":6,"o":[{"e":1},6],"t":16},93],"y":[{"o":73},71],"z":[{"e":[{"c":104,"n":[{"e":104}],"r":6},2],"o":[{"f":2,"t":1}],"w":[{"e":0}],"z":3},93]}],"ü":[{"b":[{"ä":0,"c":77,"d":77,"e":[{"c":4,"l":[{"e":4}],"n":[{"a":12,"e":4}],"r":48,"t":89},2],"l":1,"r":7,"s":[{"t":23}]},75],"c":[{"h":[{"e":71,"l":4,"s":[{"c":11}],"t":[{"e":10}]}],"k":[{"e":[{"n":350,"r":[{"i":4,"k":[{"e":15}],"s":89},13]}],"i":[{"n":73}],"u":[{"m":73}]}]},77],"d":[{"a":122,"e":[{"c":2,"l":2,"n":[{".":82,"g":22,"s":79}]}],"o":16,"r":1,"s":3,"t":16,"u":2}],"e":[{"b":4,"i":71},6],"f":[{"a":104,"ä":104,"e":[{"i":104,"n":[{"t":73}],"r":[{"g":104},22]}],"f":[{"l":6}],"i":104,"l":1,"o":73,"u":[{"m":73}]},77],"g":[{"e":[{"l":[{"a":138,"ä":2,"e":[{"c":12,"i":[{"s":351}]}],"o":2}],"n":[{"s":25}]},6],"l":86,"n":73,"s":[{"t":14},3]},71],"h":[{"a":3,"e":[{"i":104,"m":[{".":82},183],"n":[{"g":104,"t":104}],"r":[{"f":104,"k":117,"z":117}],"x":73},71],"i":120,"l":[{"a":22,"ä":0,"e":[{"l":6,"r":2}],"ö":6,"s":[{"k":12,"t":[{"a":12,"i":12}]}]}],"m":[{"o":1}],"n":[{"e":1,"s":2}],"o":32,"r":[{"e":[{"i":[{".":4}],"n":[{"s":149},163]},3],"o":0,"t":[{"a":4}]}],"s":[{"p":2},0],"t":[{"a":2,"r":12},1],"u":71,"w":0}],"k":72,"l":[{"a":0,"c":6,"e":[{"f":128,"r":[{"a":494}]},79],"l":[{"a":125,"e":[{"i":21,"r":2}],"i":[{"d":6}],"o":6,"ö":6,"s":22}],"ö":73,"u":71}],"m":[{"a":73,"e":[{"n":[{"t":73}],"r":[{"a":2}]}],"i":[{"d":104,"n":104}],"u":104}],"n":[{"a":334,"d":[{"a":6,"r":6,"s":4}],"e":[{"r":[{"d":104}]}],"f":[{"l":[{"i":4}]},13],"g":[{"l":23}],"s":[{"c":1,"e":1,"p":1,"t":[{"a":1,"e":[{"r":247}],"r":1}]},6],"z":[{"a":6,"i":21,"u":[{"n":6},22],"w":6}]},77],"p":[{"e":71,"f":[{"l":4}],"i":71,"p":[{"l":6}]}],"r":[{"a":0,"e":[{"i":104,"l":113}],"f":[{"e":[{"r":21}],"l":6,"r":6}],"g":[{"e":[{"n":[{"g":39}],"r":[{"a":10}]}]}],"k":[{"e":2}],"o":[{"m":22,"r":22},383],"r":2,"s":[{"c":1,"e":1,"i":1,"p":1,"t":[{"a":1}]},6],"t":[{"e":[{"l":330}],"h":2}],"z":[{"i":[{"n":21}],"ö":6,"w":21}]},77],"s":[{"a":6,"c":[{"h":[{"l":73}]}],"e":[{"e":100,"l":37,"n":12,"r":9,"s":13},79],"s":[{"a":14,"c":21,"e":2,"o":14,"t":6}],"t":[{"a":4,"e":[{"n":22}]}]}],"ß":93,"t":[{"a":[{"l":104}],"e":[{"m":4,"n":[{"s":25,"t":19,"z":266},12],"r":[{"a":2,"e":11,"i":[{"c":[{"h":312}]}],"n":25}]}],"h":104,"r":86,"s":[{"e":6,"t":6}],"t":[{"e":[{"n":10}],"r":6}],"z":[{"e":[{"n":1}],"w":6}]},77],"v":71,"z":71}],"v":[{"a":[{".":78,"b":[{"r":12},93],"c":0,"f":120,"g":[{"a":2,"h":5},1],"l":[{"a":6,"u":77}],"n":[{".":73,"b":77,"g":77,"s":73}],"r":[{"b":77,"m":71}],"s":[{"s":93,"t":0},2],"t":[{"a":[{"g":24,"n":5},150],"e":[{"i":6,"n":[{"g":14}],"s":[{"s":5}]}],"h":23,"i":[{"d":5,"k":266,"m":5,"n":41,"o":[{"n":[{"s":[{".":30}]}]}]}],"o":[{"r":[{"d":5}]}],"r":14,"s":9,"u":21},89],"u":93}],"b":93,"c":93,"d":152,"e":[{"a":[{"n":1,"r":1,"u":[{"s":48},25]}],"b":16,"d":1,"f":[{"a":1}],"g":1,"h":3,"i":[{"g":77,"l":73,"n":77,"t":[{"s":17},22]}],"l":[{"a":[{"n":77,"r":2,"u":41},1],"e":[{"i":1},71],"i":3,"o":[{"p":11},1]}],"m":[{"a":1,"e":1,"p":93,"u":77}],"n":[{"a":[{"l":1,"s":5}],"c":2,"e":1,"i":[{"n":5},1],"ö":1,"t":[{"a":[{"g":364}],"s":[{"k":10}]}]}],"o":[{"f":1},77],"p":[{"i":5}],"r":[{"a":[{"d":1,"l":77,"n":[{"d":1,"e":16}],"s":10},4],"b":[{"a":[{"r":[{"t":26}]}],"l":37}],"d":37,"e":22,"f":10,"g":9,"i":[{"n":5},1],"k":4,"n":22,"s":[{"e":[{"p":12}]}],"t":[{"e":35},10],"u":[{"s":1},9]},13],"s":[{"a":1,"c":173,"e":173,"t":[{"i":4}]},13],"t":[{"a":1,"e":[{"r":25},48],"i":1,"r":1,"s":3}],"ü":77,"v":1,"w":1},227],"f":205,"g":93,"h":93,"i":[{"a":[{"n":0,"r":1,"t":14}],"ä":6,"c":6,"d":[{"e":1,"s":[{"t":37}]}],"e":[{"h":[{"a":11}],"l":[{"a":105,"e":105},6],"r":[{"e":[{"c":12}]},6],"w":11},78],"g":2,"i":77,"l":[{"a":21,"ä":6,"e":[{"h":176,"i":6,"r":[{"s":5},19]}],"i":[{"n":21}]},73],"m":[{"a":36}],"n":[{"a":5,"d":4,"g":[{"s":19},25],"s":71}],"s":[{"a":1,"e":10,"i":3,"o":3,"p":6,"u":2}],"v":2,"z":[{"e":55},2]}],"k":93,"l":[{"e":82,"i":[{"e":73}]},205],"m":[{"e":6},93],"n":152,"o":[{"b":[{"e":6,"l":12},93],"g":[{"e":[{"l":330}],"u":6}],"l":[{"a":2,"l":[{"a":99,"e":[{"n":[{"d":26},29],"r":[{"t":351}]}],"i":2}]}],"p":93,"r":[{"a":[{"n":[{"s":[{"c":[{"h":[{"l":175}]}]}]}]},14],"g":4,"i":[{"e":5,"g":7},1],"m":[{"e":[{"n":102}]},22],"o":4,"t":10},21],"t":[{"a":2}],"y":13},75],"ö":[{"c":6}],"p":93,"r":[{"a":71,"e":[{"e":73}],"i":88},6],"s":[{"c":6,"e":6,"p":6,"t":[{"a":71,"e":[{"u":71}]}],"z":79},77],"t":93,"u":[{"e":[{"n":[{"u":6}],"t":6},4],"m":[{"f":77,"g":77,"k":77}]}],"ü":71,"v":93,"w":93,"z":93}],"w":[{"a":[{"a":75,"b":[{"b":[{"l":2}]}],"c":[{"h":[{"e":1,"s":[{"t":[{"u":[{"b":30}]}]}],"t":[{"r":307}]}],"k":75}],"f":[{"f":[{"e":[{"l":247},105]}]}],"g":[{"e":[{"n":472},7],"n":23,"o":1},75],"h":[{"l":[{"e":[{"n":[{"t":55}],"r":12}],"i":11}]},75],"l":[{"a":[{"r":6}],"b":77,"d":[{"a":27,"i":[{"n":12}],"r":2}],"e":[{"s":6}],"i":1,"m":11,"s":22,"t":[{"a":48,"e":[{"r":[{"e":26,"l":26}]}],"o":12,"u":[{"r":12}]}],"z":78},75],"n":[{"a":1,"d":[{"a":138,"e":[{"l":[{"s":312}]}],"r":2}],"f":82,"g":[{"e":37,"s":10},77],"n":75,"z":[{"e":[{"n":[{"d":325}],"r":12}]}]}],"p":6,"r":[{"e":[{"i":48,"n":7},430],"n":[{"i":12},75],"t":[{"e":10,"h":2}],"z":[{"a":2}]}],"s":[{"a":1,"c":[{"h":[{"a":5,"e":1,"l":260,"w":5}]},2],"e":1,"h":1,"s":[{"e":387},4],"u":1},75]},73],"ä":[{"h":75,"l":75,"n":[{"g":77}],"s":[{"c":2,"s":[{"e":10}]},75],"u":76},73],"b":[{"u":2},152],"c":93,"d":93,"e":[{"a":6,"b":[{"a":21,"e":[{"i":48}],"l":23,"o":6,"r":23,"s":[{"c":22}]}],"c":[{"k":[{"e":[{".":1,"n":[{".":7}],"s":1}]}]}],"e":[{"d":25},232],"f":[{"l":6}],"g":[{"a":21,"e":[{"i":41,"r":[{"s":[{"c":35}]}]}],"l":14,"n":5,"o":125,"r":14,"s":[{"t":10},37]},75],"h":[{"r":[{"e":[{"r":386}]}]},75],"i":[{"b":[{"l":2,"r":10}],"e":77,"f":[{"e":[{"l":[{"d":29}]}],"r":[{"e":12}]}],"g":[{"r":2,"s":19}],"k":9,"l":78,"n":[{"s":[{"a":[{"u":312}]}]}],"s":[{"c":4,"s":[{"e":[{"l":33}],"p":[{"i":33}]}]}],"t":[{"r":11}],"z":[{"e":35}]}],"l":[{"l":[{"e":495}],"s":[{"c":[{"h":[{"l":26,"r":26}]}]}],"t":[{"a":485,"e":[{"n":[{"d":325}]},19],"h":12,"i":25,"o":12,"r":364},11]}],"n":[{"a":37,"d":[{"e":[{"s":102}]}],"g":[{"l":2}],"i":3,"k":[{"a":2,"l":[{"a":12}],"r":[{"i":27}]}]}],"r":[{"a":118,"b":[{"e":[{"i":17},35],"l":2,"s":22,"u":75}],"d":[{"e":[{"n":[{"s":194}]}],"u":75},37],"e":[{"r":105}],"f":[{"l":2}],"g":[{"a":2,"e":[{"l":[{"s":26}]}],"o":162,"r":2},77],"i":[{"n":[{"s":1},105],"o":126}],"k":[{".":75,"a":11,"e":75,"i":2,"l":162,"n":2,"o":162,"r":[{"e":27}],"u":2}],"ö":6,"s":[{"p":4},2],"t":[{"a":11,"ä":2,"e":[{"i":[{"g":26},25],"r":[{"m":46}]}],"h":2,"i":[{"n":12}],"o":294,"r":[{"e":12,"i":364}],"u":[{"m":12}]}]}],"s":[{"e":430,"p":6,"t":[{"a":99,"e":[{"i":25,"n":[{"d":351}],"x":12},105],"i":2,"o":294,"r":27,"u":12},5]}],"t":[{"s":77,"t":[{"s":25}]},75],"y":76}],"f":93,"g":93,"h":[{"i":12,"o":82}],"i":[{"c":[{"h":[{"t":[{"s":19}]}],"k":[{"a":0}]}],"d":75,"e":[{"b":77,"d":75,"l":4,"n":[{"e":37}]},6],"k":2,"l":[{"d":75}],"m":[{"m":[{"a":2,"e":[{"n":[{"t":26}]}],"u":27}]}],"n":[{"a":2,"d":[{"e":[{"c":199,"l":4,"r":[{"z":46}]}],"r":496}],"g":[{"r":162},77],"k":[{"l":2}],"n":[{"e":[{"r":[{"s":[{"c":267}]}]}],"o":2}],"s":4,"t":22}],"r":[{"e":25},497],"s":[{"e":47,"p":6,"s":[{"z":10},75]}],"t":[{"h":1,"z":[{".":75,"l":75}]}],"z":2},73],"k":93,"l":93,"m":93,"n":[{"s":[{"a":2,"h":1}]},77],"o":[{"c":[{"h":[{"a":6,"e":498}]},92],"h":[{"l":[{"e":[{"i":12}]}],"n":[{"a":12}]},75],"l":[{"f":[{"s":330},75],"l":[{"a":2,"e":[{"r":12}]}]}],"r":[{"a":4,"d":4,"i":14,"n":22,"t":[{"a":48,"e":[{"l":12,"r":[{"h":26}]}],"r":27,"s":266}],"u":14,"ü":4}],"s":78,"t":2}],"ö":[{"c":75,"l":[{"f":[{"o":2}]}],"r":[{"t":[{"h":22}]}]}],"p":93,"r":[{"e":82,"o":82},73],"s":[{"e":6,"h":79,"k":79,"t":6,"u":114},93],"t":[{"i":2},93],"u":[{"c":[{"h":[{"s":[{"c":10,"t":10}]}]},75],"f":79,"l":[{"s":[{"e":4}]},2],"n":[{"d":[{"e":10}],"g":[{"r":25,"s":19}],"s":[{"c":[{"h":[{"l":53}]}]},2]}],"r":[{".":84,"f":[{"a":2,"o":11,"r":2}],"s":[{"t":75},2]}],"s":[{"t":[{"e":4}]},2],"t":499},73],"ü":[{"h":75,"l":2,"n":4,"r":[{"f":75,"s":[{"t":75}]}]}],"w":93,"z":93}],"x":[{"a":[{".":75,"b":80,"c":85,"d":85,"e":75,"f":[{"l":0}],"g":500,"l":[{"l":2},77],"m":6,"n":[{"e":75,"i":75,"t":196,"z":73}],"r":6,"s":85,"z":6},71],"b":205,"c":[{"e":71,"h":71,"l":71}],"d":[{"a":12,"y":2},189],"e":[{".":78,"g":205,"k":77,"l":[{".":78,"e":[{"i":1},71]},6],"m":[{".":88,"p":77,"s":73},71],"n":[{".":78,"s":37},73],"r":[{".":88,"e":73,"l":[{"a":2},93],"n":73,"s":[{".":73},22]}],"s":78,"u":93,"x":93},75],"f":93,"g":93,"h":93,"i":[{"c":[{"h":22},0],"d":[{"a":[{"n":6}],"e":[{"i":6,"m":23},22],"o":72},77],"e":[{"l":4},88],"g":1,"l":[{"e":[{"r":6}],"i":[{"a":25}],"o":6,"u":21}],"m":2,"n":[{"s":37}],"s":[{"a":6,"e":21,"p":6,"s":37,"t":[{"ä":12},4],"u":6},73],"t":[{"e":1,"u":115},78],"v":[{"e":10}]}],"j":71,"k":[{"a":[{"l":22}]},248],"l":[{"ä":82,"e":82},501],"m":93,"n":93,"o":[{"d":77,"e":158,"r":72,"s":2}],"ö":152,"p":[{"o":[{"r":[{"t":[{"e":[{"r":33}],"r":277}]}]}]},189],"q":71,"r":71,"s":161,"t":[{"a":[{"b":162,"n":[{"t":6},82],"s":82},0],"ä":[{"t":82},104],"b":[{"l":[{"o":[{"c":[{"k":279}]},19]}]}],"e":[{"d":113,"i":[{"n":0}],"l":104,"n":[{"t":89}],"r":[{"f":117}],"v":104}],"f":[{"i":22}],"h":104,"i":[{"d":104,"l":[{"a":2,"l":97}]}],"o":[{"r":89},131],"r":[{"a":[{"b":159,"n":86,"u":73}],"e":[{"c":1}]}],"s":3,"u":[{"m":104,"n":104}]},189],"u":[{"a":0,"n":[{"t":77},6],"s":[{"a":22,"s":10},23]},75],"v":77,"w":93,"y":[{".":78}],"z":71}],"y":[{"a":[{"b":93,"c":[{"h":73},227],"h":0,"l":[{".":71}],"n":[{"g":2,"k":71}],"q":0,"r":[{"a":1}],"s":[{"t":4},2]}],"ä":[{"t":71}],"b":[{"e":[{"r":2}]},71],"c":[{"h":[{"i":[{"s":82},73],"n":4}]},71],"d":[{"o":6,"r":[{"i":[{"d":17},22],"o":25}]},71],"e":[{"c":73,"d":6,"f":73,"l":289,"n":[{"n":12}],"r":[{"a":22,"e":73,"n":11}],"s":[{".":89,"p":2},73],"t":[{"h":6}]},71],"f":72,"g":[{"i":[{"e":25},2],"l":6},71],"h":[{"o":82,"r":2},71],"i":205,"j":71,"k":[{"e":[{"n":4}],"l":5,"s":3},72],"l":[{"a":[{"g":23,"k":72,"l":12,"m":73,"n":[{"e":1,"t":[{"e":5,"i":5},71]}],"s":6,"u":22},32],"c":1,"e":[{".":73,"m":0,"s":436,"t":131},2],"i":[{"n":12}],"o":[{"i":[{"d":17},100],"n":[{"i":132}],"p":6,"r":[{"a":0}]}],"s":3,"t":7}],"m":[{"a":[{"n":5,"r":5,"s":5},6],"e":5,"p":[{"h":[{"a":6}],"i":[{"e":48}]},12]}],"n":[{"ä":[{"r":12}],"e":[{"u":6}],"k":2,"o":[{"t":12,"z":6},113],"t":3}],"o":[{"b":2,"d":73,"g":[{"a":25}],"m":2,"n":[{"a":2,"t":71}],"p":[{"e":6}],"s":[{"t":73},0],"u":71}],"p":[{"a":[{"b":162,"n":2}],"e":[{"r":[{"o":485}]},232],"f":73,"i":[{"d":113,"n":104}],"l":[{"o":73}],"o":171,"s":128,"t":[{"h":1}],"u":[{"m":104},2]},93],"q":71,"r":[{"e":79,"i":[{"e":[{"n":4},13]},82],"o":[{"s":[{"t":25}]},82],"r":2},71],"s":[{"a":[{"n":6}],"c":[{"h":10}],"e":[{"i":[{"n":105}]},21],"l":128,"m":[{"e":25}],"p":[{"o":6,"r":0}],"t":[{"e":2,"h":[{"e":6},2],"o":1,"r":[{"a":5,"o":89},1],"y":79}],"u":[{"r":104},2],"z":79},77],"t":[{"e":[{".":73,"s":73}],"h":[{"e":48},6],"o":[{"s":22},211],"r":128},71],"u":[{"r":[{"e":162},6]}],"v":71,"w":71,"y":71,"z":[{"e":[{"r":[{"i":37}]}]},72]}],"z":[{"a":[{"b":[{"l":4},152],"c":[{"h":[{"s":22},93]},0],"d":152,"f":93,"g":[{"r":1}],"h":[{"l":[{"e":[{"n":4}]}],"n":[{"e":[{"r":341}]}]},88],"k":[{"k":106},71],"l":[{"d":106,"i":78},93],"m":152,"n":[{"a":502,"b":76,"e":1,"f":76,"g":[{"s":76}],"k":[{"a":2},88],"l":82,"r":76,"t":[{"i":132}]},72],"p":[{"f":5}],"q":71,"r":[{".":78,"b":77,"e":1,"m":77,"o":88,"r":73,"t":[{"r":11}]},71],"s":[{"c":6,"t":10},93],"t":[{"e":2,"o":6},82],"u":[{"b":78,"f":321,"g":76,"n":78,"r":82,"t":93}]}],"ä":[{"c":93,"h":[{"i":1,"n":78},73],"m":93,"n":71,"p":71,"r":71,"u":[{"s":93,"ß":77}]},6],"b":[{"e":[{"r":[{"e":22}]}],"ü":[{"b":[{"e":17},13]}]},309],"c":76,"d":[{"a":[{"n":22}],"ä":13,"i":[{"s":[{"t":13}]}]},161],"e":[{".":78,"a":77,"b":[{"e":[{"n":152}]}],"c":[{"h":[{"o":152}]},0],"e":[{"u":25},32],"f":[{"f":93}],"g":[{"a":72}],"h":[{"e":[{"n":132},10],"l":2,"o":1}],"i":[{"f":184,"k":10,"l":[{"a":4,"e":19},22],"n":[{".":1,"d":104,"e":12,"h":106,"s":[{"e":1}]},93],"s":[{"k":4},150],"t":[{"a":11,"e":[{"r":27}],"o":12,"r":[{"i":25},2]},78]}],"k":12,"l":[{"a":[{"d":22,"n":37},21],"ä":21,"d":9,"e":[{"k":139,"m":84,"n":6,"r":21}],"i":[{"n":21,"t":152}],"l":[{"a":[{"b":12,"c":27,"r":12},4],"e":[{"i":[{"n":26}],"r":[{"t":351,"z":29}]}],"s":266}],"m":10,"o":21,"s":[{"a":4,"z":4},22],"t":[{"i":2}]}],"m":[{"b":[{"e":105}],"p":93}],"n":[{".":194,"a":[{"c":41,"s":5,"u":4}],"ä":6,"e":[{"m":3,"n":132}],"g":[{"e":[{".":84}],"l":89,"p":77}],"i":[{"d":6},77],"k":22,"n":4,"o":[{"t":5},23],"s":[{"e":[{"m":225,"r":12}],"p":22}],"t":[{"n":73,"s":71,"w":77,"z":77}],"z":[{"e":[{"r":27}],"w":2}]}],"o":[{"r":12}],"r":[{".":88,"a":[{"d":6,"l":0,"t":6}],"e":[{"k":7,"m":2},73],"f":[{"e":73,"ü":[{"l":82}]}],"g":[{"ä":93,"e":[{"b":106,"s":89}],"l":89,"o":[{"n":12}],"u":189}],"h":[{"e":88,"ö":76}],"i":[{"n":[{"t":[{"e":15}]}]}],"k":[{"o":73}],"l":[{".":78,"a":[{"u":12}],"e":[{".":12,"b":84,"n":12}],"ö":77}],"n":[{"a":[{"n":12}],"e":[{"b":199,"i":12}]},88],"ö":[{"f":2},93],"q":93,"r":[{"e":[{"g":106}]}],"s":[{".":73,"a":470},22],"t":[{"a":[{"g":27,"n":10},105],"e":[{"n":[{"g":26}],"r":[{"e":26,"l":26}]}],"i":[{"n":12}],"o":2,"r":[{"a":[{"g":209,"u":26}]}]}],"w":[{"e":[{"i":84},71]}],"z":[{"e":2},71]}],"s":[{".":88,"ä":6,"c":[{"h":1}],"e":13,"p":[{"o":5},6],"s":[{"a":2,"e":[{"n":[{"d":46,"t":26},102],"r":341}],"p":2,"t":2}],"t":[{"a":[{"u":1},0],"r":0}]}],"t":[{".":73,"a":77,"h":80,"r":6,"t":[{"s":77}]}],"u":[{"g":[{"e":[{"m":12}],"r":162}],"l":93,"r":0}],"x":258}],"f":[{"e":[{"u":[{"e":105}]}]},309],"g":[{"e":[{"r":[{"a":22,"s":277}]}]},134],"h":[{"e":[{"n":73}],"i":[{"r":25}]},152],"i":[{"a":[{"l":[{"o":1}],"r":6}],"c":[{"h":[{"o":22}]}],"d":[{"e":[{"i":6}]}],"e":[{"l":[{"e":[{"r":12}],"i":11}],"n":[{"s":25}],"r":[{"h":0}],"s":[{"s":1},0]}],"g":[{"s":12}],"l":[{"e":2},73],"m":[{"p":77,"t":27}],"n":[{"d":93,"e":[{"i":4},2],"f":93,"h":71,"i":[{"n":14,"t":13}],"j":93,"n":[{"a":12}],"o":12,"s":[{"a":2,"e":[{"r":12}],"u":[{"f":84}]}],"t":77}],"o":23,"r":[{"k":[{"s":33},22]}],"s":[{"o":71,"p":6,"s":[{"e":19}],"z":3}],"t":[{"h":[{"e":105},0],"o":176,"u":2}],"v":2}],"j":93,"k":246,"l":[{"e":[{"i":[{"t":[{"i":25}]}],"s":13}],"y":82},152],"m":[{"e":[{"e":2}]},161],"n":161,"o":[{"a":[{"s":82}],"b":93,"f":93,"g":[{"l":6,"s":27}],"h":93,"l":[{"l":[{"a":2,"e":[{"r":[{"l":26,"t":26},102]}]}]}],"n":[{"a":[{"l":105,"u":4}],"s":195,"t":[{"e":[{"r":27}]}]}],"o":6,"p":[{"e":77}],"r":[{"e":1,"n":[{"e":12},88]},152],"s":[{"z":93}],"u":93,"z":152}],"ö":[{"f":80,"k":93,"l":[{".":77,"l":88,"s":77},71],"n":77}],"p":309,"q":93,"r":243,"s":[{"a":[{"u":22},82],"h":82,"k":82,"p":[{"o":[{"r":105}]}],"t":269,"z":82},205],"t":[{"a":[{"n":[{"e":1},2],"u":104}],"e":[{"h":[{"e":89}],"i":[{"n":[{"s":1},132]}],"l":6,"m":[{"a":4}],"n":[{"t":114}],"r":[{"z":114}],"s":[{"t":[{"r":4}]}],"t":6}],"h":[{"e":[{"m":82,"r":79},0],"i":0,"o":1,"r":82,"y":82}],"i":82,"r":[{"e":[{"c":1}],"i":[{"c":1}]}],"s":3,"ü":82},93],"u":[{"a":1,"b":12,"c":[{"h":[{"e":22,"t":[{"r":17}]}]},78],"d":[{"i":10},12],"e":[{"l":6,"r":365,"t":2}],"f":16,"g":[{"e":[{"m":2,"n":[{"t":5}]}],"i":2,"l":[{"a":5,"ö":5},1],"o":6}],"h":[{"r":93,"u":1}],"i":2,"k":1,"l":2,"m":[{".":93,"a":2,"b":93,"e":[{"n":105}],"f":77,"g":77,"i":2,"k":77,"l":77,"r":77,"s":93,"u":2}],"n":[{"a":[{"b":77}],"e":[{"m":93},2],"f":10,"g":[{"e":[{"t":84}],"l":77},10],"i":[{"o":80,"v":77},71],"r":77,"s":93,"t":77}],"o":2,"p":[{"f":[{"i":2}],"l":1}],"r":[{"a":3,"k":93,"l":93,"n":93,"s":93,"t":93}],"s":[{"c":[{"h":19}]},16],"t":[{"r":12,"u":12,"z":4},47],"z":2},0],"ü":[{"b":372,"c":78,"r":[{"c":13}]}],"v":93,"w":[{"a":[{"c":71,"g":77,"h":84,"p":84,"r":71,"s":108}],"ä":[{"s":77}],"e":[{"d":93,"g":77,"h":77,"i":[{"g":73,"l":77,"t":[{"e":[{"r":312}]}]}],"l":93,"n":93,"r":93,"s":93}],"i":[{"c":73,"e":12,"n":[{"g":78}],"r":[{"t":77}],"s":[{"c":73,"s":77}],"t":73}],"o":93,"ö":[{"r":71}],"u":[{"r":71}],"ü":93},6],"y":[{"a":[{"n":[{".":0}]}],"l":[{"e":6}]}],"z":[{"a":[{"b":9,"l":128,"t":5},79],"i":[{"d":104,"n":503,"s":184}],"ö":6,"u":[{"g":[{"s":10}]}]},93]}]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/34.adapter.js b/public/tools/cloud_sheets/vendor/univer/34.adapter.js new file mode 100644 index 0000000..61ed29a --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/34.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[34],{34(k,o,t){t.r(o),t.d(o,{Sk:()=>n});const n=["01,02,21,212,004403,00003,02103,221,2212,012,021,023,323,0232,032,0344,322,3232,3223,02234,0223,0234,03,3444,343,004320344,344,0423,332,00054,32,3243,3443,0322,3434,34443,0443,34434,3234,0243,30443,32243,322443,0343,0434,34423,000434,004343,4454,000343,32434,03443,02434,344443,0003443,33443,344434,043,02321,5443,034,434,4434,04434,0454,54434,04322,04344,04544,022,022032,000032,00000322,00032,000054,004,00000054,0032,00023,0000023,00005,0005,000005,0000004,0025,00004,0000024,0000054,00025,000000005,0000000054,044,000000054,00504,0054,0004,00542,00052,000234,0052,00544,005,00000005,00000544,0000544,00000052,000004,0000005,000052,0065,005032,005054,000544,054,0544,065,05605,0564,0000504,0003,0064544,006054,0045,0000000005,0005054,00065,00454,00654,340005,3400054,004005,044405,000025,5,54,50030432,500304323,50034,5000045,54002,54000045,522,543,564,56,500000045,54000043,00034,5402,06,52,542,544,52054,5400054,50054,500454,5000054,500054,5005,50045,500004,5444454,540045,50544,504,006,0066,00066,0006,007,0007,0074,444,84,4404,4,54054,5444,00000032,00000003,0023,02032",'{"a":[{"í":9,"o":9,"u":[{"t":[{"o":[{"r":[{"k":85,"s":85}]}]}]},10],"i":10,"t":[{"r":[{"n":27}]}],"l":[{"k":[{"o":[{"h":[{"o":[{"l":133}]}]}]}]}],"k":[{"c":[{"i":[{"a":71}]}],"v":[{"á":[{"r":[{"i":[{"u":[{"m":179}]}]}]}]}]}]},0],"á":0,"ä":0,"e":[{"á":9,"í":9,"o":9,"ó":9,"u":[{"r":[{"ó":[{"p":141}]}]},9]},0],"é":0,"i":[{"a":1,"á":1,"e":1,"u":1,"o":9},0],"í":0,"o":[{"u":1,"a":9,"e":9,"i":9,"o":9,"s":[{"e":[{"m":[{"s":[{"t":[{"o":158}]}]}]}]}]},0],"ó":0,"ô":[{"s":[{"t":[{"k":[{"á":[{"r":[{"s":[{"t":[{"v":25}]}]}]}]}]}]}]},0],"u":[{"a":9,"á":9,"i":9,"í":9,"o":9,"u":9,"h":[{"o":[{"l":[{"n":[{"í":[{"k":133}]}]}],"ľ":[{"n":133}]}]}]},0],"ú":0,"y":[{"a":9,"e":9,"ó":9,"u":9},0],"ý":0,"c":[{"h":[{"b":7,"c":[{"h":8},7],"č":7,"d":[{"z":8,"ž":8},7],"ď":7,"f":7,"g":7,"h":7,"j":7,"k":7,"l":[{"p":18,"a":[{"p":143}],"e":[{"b":143}]},7],"ľ":[{"p":[{"k":40}]},7],"m":7,"n":7,"ň":7,"p":7,"r":[{"b":[{"t":41},18],"č":18,"c":[{"h":[{"l":42,"ľ":42},19]}],"l":18,"t":18,"s":[{"t":[{"n":53},35]}],"a":[{"n":144}],"á":[{"n":143,"ň":143}]},7],"s":7,"š":7,"t":[{".":175},7],"ť":7,"v":[{"á":[{"l":143,"t":143}],"a":[{"t":143}],"o":[{"s":[{"t":143}]}]},7],"w":7,"ž":7,".":174},1],"b":2,"c":[{"h":3},2],"č":2,"d":[{"z":3,"ž":3},2],"ď":2,"f":2,"g":2,"j":2,"k":[{"t":14},2],"l":2,"ľ":2,"m":[{"u":[{"k":134}]},2],"n":[{"i":[{"e":134}]},2],"ň":2,"p":2,"r":[{"č":12,"k":[{"n":32},12]},2],"s":2,"š":2,"t":[{"v":14},2],"ť":2,"v":[{"r":[{"č":[{"k":35},32],"k":32,"l":32,"n":[{"k":35,"g":[{"n":56}]}]}],"ŕ":[{"k":32}],"a":[{"k":134}],"i":[{"č":134,"k":134}]},2],"w":2,"x":2,"z":2,"ž":2,"ŕ":[{"č":[{"k":32},12],"k":12}]}],"d":[{"z":[{"k":7,"n":7,"r":7,"s":7,"ŕ":7,"ľ":7,".":174},1],"ž":[{"š":7,"ľ":7,".":174},1],"b":2,"c":[{"h":[{"n":15},3]},2],"č":2,"d":[{"z":3,"ž":3},2],"ď":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":[{"b":[{"n":32},12],"h":12,"n":11,"ž":[{"n":36},12]},2],"ľ":[{"ž":[{"k":36,"n":36},12]},2],"m":2,"n":2,"ň":[{"o":[{"v":134}]},2],"p":2,"r":[{"d":12,"g":[{"ľ":32,"n":32},12],"l":11,"k":12,"m":12,"n":[{"č":32,"k":32},11],"v":12,"z":12,"ž":[{"b":32,"k":32,"g":[{"r":37}]},12],"c":[{"n":32}],"h":[{"n":32}],"s":[{"n":32}],"a":[{"m":[{"a":[{"t":134}]}],"ť":134}]},2],"s":[{"v":14,"t":[{"v":15},14],"k":60},2],"š":2,"t":2,"ť":2,"v":[{"r":14,"a":[{"n":[{"á":[{"s":[{"ť":140}]}]}]}],"i":[{"h":134,"ž":134}],"o":[{"j":134,"r":134}],"e":[{"s":[{"t":[{"o":153}]}]}]},2],"ŕ":[{"ž":12}],"e":[{"v":[{"ä":[{"ť":[{"s":[{"t":[{"o":157}]}]}]}]}]}]}],"b":[{"b":2,"c":[{"h":3},2],"č":2,"d":[{"z":3,"ž":3,"ľ":[{"ž":[{"n":51}]}]},2],"ď":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":[{"b":11,"č":[{"n":31},12],"c":[{"h":13}],"k":12,"ň":12,"š":[{"k":39},11],"n":[{"k":31}],"a":[{"h":134}],"e":[{"d":[{"n":134}],"s":[{"k":134}]}],"o":[{"k":134}],"ú":[{"d":134}],"y":[{"s":[{"k":134,"n":134}]}]},2],"ľ":[{"k":[{"n":17},12],"š":11,"č":[{"k":31}]},2],"m":2,"n":2,"ň":2,"p":2,"r":[{"b":[{"l":31,"t":31},12],"d":[{"c":31},11],"k":12,"l":12,"n":[{"č":32,"k":[{"n":37},32]},12],"ň":12,"v":[{"n":32},12],"z":[{"d":32,"l":32,"n":32},11],"č":[{"k":31}],"h":[{"l":17}],"m":[{"b":32}],"š":[{"l":32}],"t":[{"l":32,"n":32}],"a":[{"ť":134}],"á":[{"z":[{"d":134}]}],"e":[{"c":[{"h":139}]}],"o":[{"n":[{"z":134}]}],"u":[{"č":134}],"ú":[{"s":134}],"ý":[{"z":[{"g":134}]}]},2],"s":[{"c":14,"t":[{"r":33,"v":15},14],"k":60,"ť":[{".":173}]},2],"š":2,"t":2,"ť":2,"v":2,"w":2,"x":2,"z":2,"ž":2,"ŕ":[{"k":[{"n":32},12],"ľ":12,"d":[{"n":31}]},2],"o":[{"h":[{"v":[{"i":[{"e":[{"a":[{"k":135}],"o":[{"d":[{"k":136}]}]}]}]}],"z":137}],"l":[{"e":[{"s":[{"t":[{"n":138}]}]}]}]}]}],"č":[{"b":2,"c":[{"h":3},2],"č":2,"d":[{"z":3,"ž":3},2],"ď":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":[{"n":[{"k":32},12],"e":[{"n":134}],"á":[{"n":[{"k":134,"o":[{"k":134}]}]}],"o":[{"v":134}]},2],"ľ":2,"m":2,"n":2,"ň":2,"p":2,"r":[{"č":[{"r":34},12],"p":[{"k":32,"n":32},11],"t":[{"n":32,"t":[{"n":35}]},12],"v":12,"c":[{"h":[{"n":35}]}]},2],"s":[{"t":[{"v":15}]},2],"š":2,"t":2,"ť":2,"v":[{"r":[{"k":[{"n":35},32],"l":32}]},2],"w":2,"x":2,"z":2,"ž":2,"e":[{"r":[{"s":[{"t":[{"v":46}]}]}]}],"ŕ":[{"s":[{"t":[{"v":37}]}]}],"í":[{"s":[{"l":[{"o":[{"v":109}]}]}]}]}],"ď":[{"b":2,"c":[{"h":3},2],"č":2,"d":[{"z":3,"ž":3},2],"ď":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":2,"ľ":2,"m":2,"n":2,"ň":2,"p":2,"r":2,"s":[{"t":[{"v":15}]},2],"š":2,"t":2,"ť":2,"v":2,"z":2,"ž":2}],".":[{"a":[{"s":[{"t":[{"r":[{"o":4}]}],"k":[{"l":[{"e":[{"p":77}]}]}]}],"t":[{"m":[{"o":5}]}],"u":[{"t":[{"o":6}],"s":[{"t":[{"r":[{"o":[{"s":76}]}]}]}]}],"e":[{"r":[{"o":[{"d":[{"r":70}],"g":[{"r":71}],"k":[{"l":70}],"p":[{"l":71}],"s":[{"k":71,"t":71}],"t":[{"r":71}]},69]}]}],"k":[{"c":[{"i":[{"e":[{"s":[{"c":[{"h":72}]}]}]}]}]}],"n":[{"e":[{"s":[{"t":[{"e":[{"t":[{"i":73}]}],"é":[{"z":73}]}]}]}],"t":[{"i":[{"k":[{"l":74,"r":74}]}]}]}],"p":[{"o":[{"p":[{"l":[{"e":29}]}]}],"r":[{"i":[{"o":75,"ó":75}]}]}],"r":[{"c":[{"i":[{"k":74}]}],"i":[{"s":[{"t":[{"o":[{"k":76}]}]}]}]}]}],"b":[{"a":[{"c":[{"k":[{"h":[{"a":[{"n":[{"d":78}]}]}]}]}],"l":[{"n":[{"e":[{"o":79}]}]}]}],"e":[{"l":[{"o":[{"h":74},80]}],"z":[{"b":29,"d":29,"h":29,"k":29,"m":29,"p":29,"s":29,"t":29,"v":29,"z":29},81]}],"i":[{"e":[{"l":[{"o":[{"b":83,"h":83,"v":83},82]}]}],"o":[{"k":85,"p":85,"s":85},84]}],"l":[{"a":[{"h":[{"o":[{"p":83,"s":83},82]}]}],"e":[{"d":[{"o":82}]}]}],"o":[{"h":[{"a":[{"p":74}],"o":[{"s":74}]}],"ž":[{"e":[{"d":74,"c":[{"h":86}]},80]}]}],"r":[{"a":[{"t":[{"o":[{"v":[{"r":87}]}]}]}]}],"z":[{"d":69}]}],"c":[{"á":[{"r":[{"o":[{"v":[{"r":[{"a":74}]}]}]}]}],"e":[{"l":[{"o":[{"d":74,"k":74,"p":74,"s":74,"u":74}]}],"n":[{"o":[{"t":74}]}],"s":[{"t":[{"m":[{"a":[{"j":88}]}]}]}]}],"i":[{"r":[{"k":[{"e":[{"v":[{"n":[{"o":[{"p":90},89]}]}]}]}]}]}],"t":[{"n":91}],"u":[{"d":[{"z":[{"o":[{"k":87,"o":87,"s":87,"t":87,"v":87}]}]}]}],"y":[{"t":[{"o":[{"p":74}]}]}],"h":[{"o":[{"r":[{"o":[{"b":[{"o":[{"p":92}]}]}]}]}]},166],"v":166}],"č":[{"a":[{"r":[{"o":[{"k":74,"s":74,"v":74,"z":74}]}]}],"e":[{"r":[{"n":[{"o":[{"b":87,"h":87,"k":87,"o":87}]}],"v":[{"e":[{"n":[{"o":[{"a":92,"b":92,"h":92,"k":92,"o":92,"p":92}]}]}]}]}]}],"i":[{"e":[{"r":[{"n":[{"o":[{"b":76,"h":76,"o":76}]}]}]}]}],"o":[{"c":[{"h":93}],"s":94}],"u":[{"d":[{"o":[{"t":74}]}]}]}],"d":[{"a":[{"k":[{"d":77}]}],"e":[{"f":94,"g":94,"k":[{"l":95}],"s":[{"a":[{"ť":82}]}],"š":[{"t":96}],"z":[{"i":97,"o":97}]}],"i":[{"s":[{"k":[{"d":98}]}],"v":[{"o":[{"t":74}]}]}],"l":[{"h":[{"o":[{"h":74,"p":74}]}]}],"o":[{"b":[{"r":[{"o":[{"d":87,"p":87,"s":87}]}]}],"č":[{"m":99}],"d":94,"f":94,"h":94,"c":[{"h":100}],"i":94,"k":94,"o":101,"p":94,"s":94,"š":[{"p":94,"t":[{"i":[{"e":94}],"í":94}]}],"t":[{"l":94,"m":94,"r":94,"v":94}],"u":101,"v":94,"z":94,"ž":94}],"r":[{"e":[{"v":[{"o":[{"p":87,"o":82,"v":87}]}]}],"o":[{"b":[{"n":[{"o":[{"z":76}]}]}]}],"u":[{"h":[{"o":[{"s":87}]}]}]}],"v":[{"o":[{"j":[{"a":[{"l":80}],"č":74,"d":74,"h":74,"i":74,"k":74,"p":74,"s":74,"t":74,"u":80,"v":74,"z":74}]}]}]}],"ď":[{"a":[{"t":[{"e":[{"l":[{"i":[{"n":[{"o":[{"t":90}]}]}]}]}]}]}]}],"e":[{"l":[{"e":[{"k":[{"t":[{"r":[{"o":102}]}]}]}]}],"x":[{"k":94}]}],"f":[{"o":[{"l":[{"k":88}],"t":[{"o":80}]}]}],"g":[{"a":[{"l":[{"a":[{"p":74}]}],"m":[{"a":[{"g":74}]}]}],"e":[{"o":75}]}],"h":[{"n":[{"e":[{"d":[{"o":[{"o":82,"u":82}]}]}]}],"o":[{"l":[{"o":[{"b":74,"h":74,"k":74}]}],"r":[{"e":[{"z":74}],"n":[{"o":[{"u":87}]}]}]}],"r":[{"ô":[{"z":[{"o":[{"s":[{"t":103}],"v":87}],"y":[{"p":87}]}]}],"u":[{"b":[{"o":[{"s":87}]}]}]}],"y":[{"d":[{"r":[{"o":82}]}]}]}],"j":[{"a":[{"s":[{"n":[{"o":[{"o":82,"z":87}]}]}]}],"e":[{"d":[{"n":[{"o":[{"h":87,"i":87,"p":87,"s":87,"u":87,"z":87}]}]}]}],"u":[{"h":[{"o":[{"a":80,"s":74}]}],"ž":[{"n":[{"o":[{"s":87}]}]}]}]}],"k":[{"a":[{"t":[{"a":[{"k":74,"s":[{"t":104}]}]}]}],"m":[{"e":[{"ň":[{"o":[{"t":87}]}]}]}],"o":[{"s":[{"o":[{"d":74,"š":74,"u":80}]}]}],"r":[{"i":[{"v":[{"o":[{"p":87}]}]}],"u":[{"t":[{"o":[{"v":87}]}]}],"v":[{"i":[{"p":74,"s":74,"t":74}]}]}],"t":[{"o":[{"v":[{"i":[{"e":[{"a":105}]}]}]}]}]}],"l":[{"á":[{"s":[{"k":[{"y":[{"p":87}]}]}]}],"e":[{"s":[{"o":[{"s":106}]}]}]}],"ľ":[{"s":[{"t":91}],"u":[{"d":[{"o":[{"v":[{"o":[{"u":107}]}]}]}]}]}],"m":[{"a":[{"k":[{"r":[{"o":[{"k":87,"o":87,"s":87}]}]}],"l":[{"o":[{"o":80}]}]}],"á":[{"l":[{"o":[{"k":74,"v":74}]}],"r":[{"n":[{"o":[{"t":87}]}]}]}],"e":[{"d":[{"z":[{"i":[{"h":87,"i":87,"p":87,"š":87,"t":87}]}]}],"l":[{"o":[{"d":74}]}],"r":[{"u":[{"ô":108}]}]}],"i":[{"e":[{"s":[{"t":[{"o":[{"d":76,"p":76}]}]}]}],"k":[{"r":[{"o":[{"e":87,"k":87,"o":82,"p":87}]}]}],"m":[{"o":[{"š":74,"ú":80,"v":74}]}]}],"n":[{"o":[{"h":[{"o":[{"s":87,"t":87,"u":82,"v":82,"z":82}]}]}]}],"o":[{"d":[{"r":[{"o":[{"o":82}]}]}]}],"r":[{"a":[{"k":[{"o":[{"d":87}]}],"v":[{"o":[{"u":82}]}]}]}],"u":[{"c":[{"h":[{"o":[{"t":87}]}]}]}],"z":[{"d":91}]}],"n":[{"a":[{"a":94,"b":94,"c":94,"d":[{"h":29,"n":[{"e":[{"s":[{".":94}]}]}],"p":[{".":100},29],"ŕ":[{".":100}],"r":[{"o":[{"b":[{"n":[{"o":[{".":94}]}]}]}]}]}],"h":94,"i":94,"k":94,"m":94,"o":94,"p":94,"s":[{"t":93},94],"š":[{"k":93,"s":[{"k":109}]},94],"t":94,"u":94,"ú":94,"v":[{"l":94,"n":[{"a":94}],"r":100,"z":100}],"z":[{"r":94,"v":[{"y":[{"š":109}]},94]}],"ž":94}],"á":[{"p":94,"r":[{"o":[{"d":[{"n":[{"o":[{"o":102}]}]}]}]}],"s":[{"t":93},94],"u":94,"ú":94,"v":[{"r":100}],"z":[{"v":29}]}],"e":[{"a":94,"d":[{"o":[{"u":[{"k":110}]}]}],"e":94,"i":94,"m":94,"n":[{"a":[{"h":111,"i":111,"k":111,"m":111,"p":111,"s":111,"t":111}]}],"p":94,"s":[{"t":[{"o":[{"r":109}]}]},94],"š":94,"t":[{"t":109},94],"u":99,"ú":99,"v":94,"z":[{"d":[{"r":100,"v":100}],"l":94,"m":94,"n":94,"r":94,"v":94}]}],"i":[{"e":[{"k":29}],"k":[{"t":[{"o":[{"š":109}]}]},94]}],"í":[{"z":[{"k":[{"o":[{"k":87}]}]}]}],"o":[{"v":[{"o":[{"u":108,"z":108}]}]}]}],"o":[{"b":[{"i":[{"d":29}],"k":94,"o":[{"s":29,"z":29}],"s":94,"t":94,"z":94}],"d":[{"b":94,"c":[{"h":100},94],"d":94,"f":94,"h":94,"i":[{"ó":109},94],"í":94,"k":94,"o":[{"b":29,"h":29,"k":29,"m":[{"k":112}],"p":29,"s":29}],"p":94,"s":94,"š":94,"t":94,"v":94,"z":94}],"h":[{"l":113,"ľ":113,"n":[{"a":113,"ú":113}],"r":113}],"c":[{"h":114}],"k":[{"l":113,"ľ":113,"o":[{"l":[{"o":[{"i":82,"s":87}]}]}],"r":[{"a":113,"á":113,"e":[{"s":[{"a":[{"ť":113}],"á":[{"v":[{"a":[{"ť":113}]}]}]}]}],"i":113,"í":113,"u":113,"ú":113}]}],"m":[{"l":113,"n":113,"r":113}],"p":[{"l":[{"a":[{"n":115}]}],"r":[{"a":[{"t":115}]}]},113],"s":[{"l":[{"a":[{"b":113,"d":113,"v":113}],"á":[{"v":113}],"e":[{"p":113}],"o":113}],"p":114,"t":[{"a":[{"r":113,"ť":113,"n":113,"ň":113,"t":[{"n":115,"o":[{"k":113}],"k":113}]}],"á":[{"v":113}],"o":116,"r":[{"a":[{"p":117}],"o":[{"u":82}]}]}],"v":[{"e":[{"d":113,"t":[{"l":113}]}],"i":[{"e":[{"t":113,"ž":113}],"t":113}],"o":[{"j":113}]}]}],"š":[{"k":114,"ľ":114,"m":114,"p":114,"v":114}],"t":[{"r":[{"a":[{"s":113,"v":113}],"á":[{"v":113}],"e":[{"p":113}],"i":[{"a":113}]}]}],"v":[{"d":[{"o":[{"v":113}]}],"l":[{"á":[{"d":113}],"a":[{"ž":113}]}],"p":114,"r":113}],"z":[{"l":114,"n":113,"r":[{"e":113}],"v":[{"l":114}]}]}],"t":[{"v":[{"r":[{"d":[{"o":131}]},91]}],"r":[{"o":[{"j":80}]}],"k":166}],"p":[{"ä":[{"ť":[{"i":[{"z":[{"b":[{"o":81}]}]}]}]}],"l":[{"n":[{"o":[{"a":80,"p":74,"š":74,"k":[{"r":118}]}]}],"o":[{"c":[{"h":[{"o":[{"d":76}]}]}]}]}],"o":[{"b":94,"č":94,"d":[{"a":[{"k":74}],"b":[{"r":29}],"h":29,"c":[{"h":29}],"k":29,"p":29,"r":[{"á":[{"ž":94}],"e":[{"p":94},81],"h":94,"i":[{"e":94}],"m":94,"v":94,"ž":100}],"s":[{"k":[{"o":[{"č":29}]}]}],"v":29,"z":[{"e":[{"m":119}],"o":[{"l":119}]}],"ž":[{"a":119,"u":119}]}],"h":[{"r":[{"e":[{"b":109}]}]},94],"c":[{"h":100}],"i":94,"k":94,"l":[{"d":29,"i":[{"z":29}],"o":[{"a":80,"b":[{"l":[{"ú":29}]},74],"d":74,"h":[{"l":74}],"i":80,"k":74,"m":74,"o":74,"p":74,"s":74,"t":74,"u":74,"ú":74,"v":74,"z":74}],"s":[{"t":29}]}],"m":[{"n":[{"í":[{"k":109}]}]},94],"o":[{"b":[{"h":93,"l":93}]},94],"s":[{"t":[{"s":[{"k":[{"r":[{"i":[{"p":120}]}]}]}],"u":[{"l":109}],"g":[{"r":121}],"i":109}]},94],"š":[{"t":[{"a":109,"o":[{"v":109}]}],"v":109},94],"t":[{"k":[{"n":100}],"ľ":94,"r":94},94],"r":[{"o":[{"z":[{"p":87,"s":87,"v":87}]}]}],"u":101,"v":[{"r":[{"a":122}],"y":[{"h":74,"k":74,"p":74,"s":74,"v":74,"z":74}],"z":[{"b":100}]},94],"z":94}],"r":[{"a":[{"o":29,"p":29,"v":[{"i":[{"c":[{"o":[{"v":[{"o":[{"o":123}]}]}]}]}],"l":29,"n":[{"u":29,"ú":29}],"o":[{"s":124}]}]}],"á":[{"v":[{"o":[{"p":124}]}]}],"e":[{"b":29,"c":[{"h":112},29],"d":[{"c":[{"h":118},74],"h":74,"i":80,"k":74,"m":74,"o":[{"h":87,"p":80,"s":[{"t":[{"a":[{"t":[{"n":80}]}]}]}]}],"p":74,"r":[{"a":[{"h":29,"p":29,"ť":29,"ž":29}],"i":29,"ž":29}],"s":74,"v":74,"z":74}],"č":29,"e":97,"f":97,"h":29,"i":29,"k":[{"v":[{"a":[{"p":125}]}]},29],"m":29,"o":29,"p":29,"s":[{"n":125},29],"š":29,"t":29,"v":29,"z":29,"ž":29}],"i":[{"b":29,"č":29,"d":29,"h":29,"c":[{"h":112}],"k":29,"m":29,"p":29,"s":[{"p":[{"ô":29},125]},29],"š":[{"l":[{"a":[{".":125}],"i":[{".":125}],"o":[{".":125}]}]},29],"t":29,"v":29,"z":29,"ž":29}],"í":[{"k":29,"s":[{"p":125},29]}]}]}],"r":[{"e":[{"g":94,"k":[{"v":109},94],"p":[{"n":109},94],"š":94,"t":94}],"o":[{"z":[{"i":126,"í":127,"o":[{"b":74,"d":74,"c":[{"h":104}],"m":74,"p":74,"r":74,"s":74,"š":74,"z":74,"ž":74}],"u":127,"v":127}]}]}],"š":[{"i":[{"k":[{"m":[{"o":[{"o":82}]}]}],"r":[{"o":[{"k":[{"o":[{"p":76},107]}]}]}]}],"t":[{"á":[{"t":[{"o":82}]}],"v":[{"o":[{"r":130}]}]},166],"k":166,"p":166}],"s":[{"u":[{"b":[{"s":126}]}],"ú":[{"h":94,"k":[{"r":94}],"m":[{"r":94}],"s":94,"v":94,"z":94}],"p":166,"t":166}],"v":[{"i":[{"a":[{"c":[{"k":74,"v":74}]}],"d":[{"e":[{"o":132}]}]}],"n":[{"ú":[{"t":[{"r":[{"o":[{"s":76,"š":76}]}]}]}]}],"o":[{"p":[{"c":[{"h":94}],"r":94}],"s":[{"p":94}],"t":94,"v":94}],"y":[{"b":94,"c":[{"h":100},94],"č":94,"d":94,"h":[{"ň":109,"n":[{"e":109}]},94],"k":94,"m":94,"p":94,"s":94,"š":[{"š":109},94],"t":94,"v":94,"z":94},101],"ý":[{"c":94,"č":94,"d":94,"h":94,"k":94,"p":94,"s":94,"š":[{"k":109}],"t":94,"z":94},101],"d":166,"h":166,"k":166,"p":166,"s":166,"š":166,"t":166,"z":[{"h":169,"k":169,"l":169,"p":169},166],"ž":166}],"z":[{"a":[{"b":94,"c":[{"h":100},94],"č":94,"d":94,"h":94,"k":94,"m":94,"p":94,"r":94,"s":94,"š":94,"t":94,"v":94,"z":94,"ž":94}],"á":[{"b":94,"k":94,"z":94}],"o":[{"b":94,"d":[{"p":109,"r":94,"v":94}],"h":94,"m":[{"l":94,"r":94}],"s":94,"š":94,"t":94,"v":94,"z":94,"ž":94}],"b":166,"d":[{"n":166,"r":166,"v":166}],"g":166,"h":166,"m":166,"r":166,"v":166}],"u":[{"h":166,"c":[{"h":167}],"k":166,"m":166,"p":166,"s":[{"c":[{"h":168}],"k":169,"m":169,"t":[{"l":169,"r":[{"i":[{"c":172}]},169]}]},166],"t":166,"v":166,"z":166}],"ú":[{"s":[{"c":[{"h":169}],"l":169,"m":169,"t":[{"a":[{".":170,"m":[{"i":[{".":170}]}]}],"o":[{"č":170}],"i":170,"n":[{"y":171}],"r":[{"e":[{"t":170}]},167]}]},166],"š":166}]}],"f":[{"b":2,"c":[{"h":3},2],"č":2,"d":[{"z":3,"ž":3},2],"ď":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":[{"i":[{"a":[{"s":134}]}]},2],"ľ":[{"a":[{"k":134}]},2],"m":2,"n":2,"ň":2,"p":2,"r":[{"č":[{"k":32},12],"f":[{"l":32},12],"k":[{"n":32},12],"m":12,"n":[{"d":[{"ž":37},32],"g":[{"n":35},32],"k":32},12],"c":[{"k":32,"n":32}],"a":[{"n":[{"c":[{"ú":134}]}]}],"e":[{"k":[{"v":[{"e":[{"n":134}]}]}]}],"á":[{"z":134}]},2],"s":2,"š":2,"t":2,"ť":2,"v":2,"z":2,"ž":2,"ŕ":[{"k":12}]}],"g":[{"b":2,"c":[{"h":3},2],"č":2,"d":[{"z":3,"ž":3},2],"ď":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":[{"g":[{"n":32},12]},2],"ľ":2,"m":2,"n":2,"ň":2,"p":2,"r":[{"c":[{"k":31},12],"g":12,"a":[{"f":134,"m":134}],"é":[{"č":134}],"o":[{"b":134}]},2],"s":2,"š":2,"t":2,"ť":2,"v":[{"a":[{"r":[{"d":[{"e":[{"j":134}]}]}]}]},2],"z":2,"ž":2,"y":[{"m":[{"n":[{"á":[{"z":[{"i":[{"u":[{"m":180}]}]}]}]}]}]}]}],"h":[{"b":2,"c":[{"h":3},2],"č":2,"d":[{"z":3,"ž":3},2],"ď":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":[{"b":12,"t":[{"n":38},12],"a":[{"d":134,"s":134,"v":134}],"i":[{"a":[{"d":134}]}],"u":[{"c":[{"h":134}]}]},2],"ľ":[{"b":[{"k":31},12],"a":[{"d":134}]},2],"m":[{"l":16,"a":[{"t":134}],"o":[{"t":134}]},2],"n":[{"a":[{"ť":134}],"e":[{"d":134,"v":134}],"i":[{"e":[{"z":[{"d":134}]}]}],"o":[{"j":134}],"u":[{"t":134}],"ú":[{"ť":134,"t":134}]},2],"ň":2,"p":2,"r":[{"b":[{"č":31},12],"č":[{"k":31},12],"d":[{"z":17,"l":39},12],"k":[{"ľ":31,"n":31},12],"m":[{"o":[{"t":142}]},12],"n":[{"č":31},12],"ň":12,"t":12,"v":12,"g":[{"ľ":31}],"s":[{"t":31,"ť":31}],"a":[{"b":134,"n":134,"ť":134}],"o":[{"b":134,"m":134,"z":134}],"u":[{"b":134}],"y":[{"z":134}]},2],"s":2,"š":2,"t":2,"ť":2,"v":[{"i":[{"e":[{"z":[{"d":134}]}]}]},2],"z":2,"ž":2,"ŕ":[{"b":12,"k":[{"n":31}],"s":[{"t":[{"k":52}]}]}]}],"j":[{"b":2,"c":[{"h":[{"n":20},3]},2],"č":2,"d":[{"z":3,"ž":3},2],"ď":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":2,"ľ":2,"m":2,"n":2,"ň":2,"p":2,"r":2,"s":[{"t":[{"r":15,"v":15},14],"k":60,"ť":[{".":173}]},2],"š":[{"l":[{"e":14}]},2],"t":[{"m":14,"r":14},2],"ť":2,"v":2,"w":2,"x":2,"z":2,"ž":2,"e":[{"d":[{"e":[{"n":[{"á":[{"s":[{"t":[{"k":145}],"ť":145}]}]}]}]}]}]}],"k":[{"b":2,"c":[{"h":3},2],"č":[{"n":[{"ý":[{".":57,"m":[{".":57,"i":[{".":57}]}],"c":[{"h":[{".":57}]}]}],"é":[{"h":[{"o":[{".":57}]}],"m":[{"u":[{".":57}]}],".":57}],"o":[{"m":[{".":57}],"u":[{".":57}]}],"á":[{".":57}],"e":[{"j":[{".":57}]}],"ú":[{".":57}],"í":[{".":57}]}]},2],"d":[{"z":3,"ž":3},2],"ď":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":[{"b":[{"č":32,"k":32},12],"č":12,"z":[{"k":32,"n":32},12],"a":[{"d":134,"ď":134,"m":134}],"á":[{"s":[{"ť":134}]}],"i":[{"a":[{"t":134,"ť":134}],"e":[{"n":[{"t":73}]}]}],"e":[{"p":134,"s":134}]},2],"ľ":[{"b":12,"z":12,"a":[{"k":134}],"ú":[{"č":134}]},2],"m":2,"n":2,"ň":2,"p":2,"r":[{"b":11,"č":[{"m":32,"n":32},12],"k":[{"v":32},12],"p":[{"č":32},12],"s":[{"t":[{"n":35,"ň":35},32]},12],"t":[{"k":32},12],"v":[{"n":32},12],"m":[{"n":32}],"š":[{"t":32}],"e":[{"s":[{"b":134,"ť":134}]}],"i":[{"t":[{"i":[{"c":134}]}]}],"í":[{"d":[{"l":134}]}],"ô":[{"c":[{"h":134}]}],"u":[{"h":134}],"ú":[{"ž":134}],"y":[{"t":134}],"á":[{"t":[{".":134}]}]},2],"s":[{"ľ":14,"n":11},2],"š":2,"t":[{"r":14,"n":[{"ý":[{".":57,"m":[{".":57,"i":[{".":57}]}],"c":[{"h":[{".":57}]}]}],"é":[{"h":[{"o":[{".":57}]}],"m":[{"u":[{".":57}]}],".":57}],"o":[{"m":[{".":57}],"u":[{".":57}]}],"á":[{".":57}],"e":[{"j":[{".":57}]}],"ú":[{".":57}],"í":[{".":57}]}]},2],"ť":2,"v":[{"a":[{"l":[{"i":[{"f":134,"t":134}]}],"d":[{"r":134}]}],"e":[{"t":134}]},2],"w":2,"x":2,"z":2,"ž":2,"ŕ":[{"č":12,"d":12,"k":12,"m":[{"n":32},12]}],"o":[{"s":[{"t":[{"r":[{"č":47}]}]}]}]}],"l":[{"b":2,"c":[{"h":3},2],"č":2,"d":[{"z":3,"ž":3,"r":14},2],"ď":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":2,"ľ":2,"m":2,"n":2,"ň":2,"p":[{"s":[{"k":44}]},2],"r":2,"s":[{"k":60},2],"š":2,"t":[{"r":14,"k":[{"a":[{".":13,"m":[{"i":[{".":58}]}]}],"y":[{".":13}],"e":[{".":13}],"u":[{".":13}],"o":[{"u":[{".":13}]}],"á":[{"m":[{".":13}],"c":[{"h":[{".":13}]}]}]}],"s":[{"k":44}],".":176},2],"ť":2,"v":2,"z":2,"ž":2,"e":[{"u":[{"k":[{"é":[{"m":[{"i":[{"a":181}]}]}]}]}]}]}],"ľ":[{"b":2,"c":[{"h":3},2],"č":2,"d":[{"z":3,"ž":3},2],"ď":2,"f":2,"g":2,"h":2,"j":2,"k":[{"n":14},2],"l":2,"ľ":2,"m":2,"n":2,"ň":2,"p":2,"r":2,"s":[{"k":60,"t":[{"v":15}]},2],"š":2,"t":2,"ť":2,"v":2,"z":2,"ž":2}],"m":[{"b":[{"l":14,"ľ":14,"r":14},2],"c":[{"h":3},2],"č":2,"d":[{"z":3,"ž":3},2],"ď":2,"f":[{"l":14,"r":14},2],"g":2,"h":2,"j":2,"k":[{"n":14},2],"l":[{"č":[{"k":31},12],"k":12,"s":[{"n":31}],"a":[{"d":[{"i":[{"s":[{"t":[{"v":146}]}]}]}]}]},2],"ľ":[{"k":[{"n":31,"v":31}]},2],"m":2,"n":[{"o":[{"ž":134}]},2],"ň":2,"p":[{"l":14,"ľ":14,"r":[{"p":43,"v":43,".":173},14],"s":[{"k":62,".":173},14]},2],"r":[{"h":12,"c":[{"h":21}],"k":[{"n":32,"v":32},12],"l":11,"š":11,"t":11,"v":12,"z":[{"l":32,"k":32,"n":32},12],"m":[{"l":32}],"n":[{"č":32,"k":32}],"a":[{"v":134}],"á":[{"z":134}]},2],"s":[{"t":[{"v":15},14],"k":61},2],"š":[{"t":[{".":173},14]},2],"t":2,"ť":2,"v":2,"z":2,"ž":2,"ŕ":[{"z":12,"š":[{"t":32}],"t":[{"v":32}]}],"a":[{"š":[{"k":[{"r":[{"t":[{"n":54},49]}]}]}]}]}],"n":[{"b":2,"c":[{"h":3},2],"č":[{"n":[{"ý":[{".":57,"m":[{".":57,"i":[{".":57}]}],"c":[{"h":[{".":57}]}]}],"é":[{"h":[{"o":[{".":57}]}],"m":[{"u":[{".":57}]}],".":57}],"o":[{"m":[{".":57}],"u":[{".":57}]}],"á":[{".":57}],"e":[{"j":[{".":57}]}],"ú":[{".":57}],"í":[{".":57}]}]},2],"d":[{"z":3,"ž":3,"ľ":[{"a":22}],"r":14,"s":[{"k":44}],"č":11},2],"ď":2,"f":[{"l":14,"r":14},2],"g":[{"h":14,"l":14,"ľ":14,"n":11,"r":14,"v":14,"s":[{"t":44}]},2],"h":2,"j":2,"k":[{"c":14,"h":14,"n":14,"r":14,"v":14,"č":[{"n":36}],"t":[{"k":20,"s":[{"k":63}],".":173}]},2],"l":2,"ľ":2,"m":2,"n":2,"ň":2,"p":2,"r":2,"s":[{"c":14,"k":60,"t":[{"v":15}]},2],"š":[{"p":14,"t":[{"r":15},14]},2],"t":[{"g":14,"l":[{"m":43},14],"n":[{"ý":[{".":57,"m":[{".":57,"i":[{".":57}]}],"c":[{"h":[{".":57}]}]}],"é":[{"h":[{"o":[{".":57}]}],"m":[{"u":[{".":57}]}],".":57}],"o":[{"m":[{".":57}],"u":[{".":57}]}],"á":[{".":57}],"e":[{"j":[{".":57}]}],"ú":[{".":57}],"í":[{".":57}]},14],"r":14,"k":[{"a":[{".":13,"m":[{"i":[{".":58}]}]}],"y":[{".":13}],"e":[{".":13}],"u":[{".":13}],"o":[{"u":[{".":13}]}],"á":[{"m":[{".":13}],"c":[{"h":[{".":13}]}]}]}],"s":[{"k":44,"t":[{"v":67}]}]},2],"ť":2,"v":2,"w":2,"x":2,"z":2,"ž":[{"m":11},2],"o":[{"z":[{"d":[{"r":29}]}]}],"a":[{"d":[{"ž":[{"g":[{"a":100,"á":100}]}]}],"v":[{"š":[{"t":[{"e":[{"v":147}],"í":[{"v":147}]}]}]}]}],"á":[{"v":[{"š":[{"t":[{"e":[{"v":147}]}]}]}]}]}],"ň":[{"b":2,"c":[{"h":3},2],"č":2,"d":[{"z":3,"ž":3},2],"ď":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":2,"ľ":2,"m":2,"n":2,"ň":2,"p":2,"r":2,"s":2,"š":2,"t":2,"ť":2,"v":2,"z":2,"ž":2}],"p":[{"b":2,"c":[{"h":3},2],"č":2,"d":[{"z":3,"ž":3},2],"ď":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":[{"n":12,"ň":12,"z":[{"l":31},12],"á":[{"n":134}],"a":[{"s":[{"t":[{"i":[{"k":134}]}]}],"t":134,"v":134}],"e":[{"t":[{"a":134,"i":[{"e":134}],"ú":134}]}],"i":[{"e":[{"s":[{"ť":134}]}]}]},2],"ľ":[{"ň":12,"z":[{"n":31},12],"ž":12},2],"m":2,"n":[{"e":[{"u":[{"m":[{"a":[{"t":148}]}]}]}]},2],"ň":2,"p":2,"r":[{"č":[{"k":31},12],"d":[{"n":32},12],"s":[{"k":32,"t":59},12],"š":12,"t":[{"k":32}],"o":[{"g":[{"r":[{"a":[{"m":125}]}]}],"d":[{"u":[{"k":134}]}]}],"á":[{"v":134}],"i":[{"a":[{"m":134}],"r":[{"o":[{"d":134}]}],"s":[{"á":[{"m":150}]}]}],"v":[{".":173}]},2],"s":[{"k":60,"t":[{"v":15}]},2],"š":[{"ť":14},2],"t":[{"r":14,"k":[{"a":[{".":13,"m":[{"i":[{".":58}]}]}],"y":[{".":13}],"e":[{".":13}],"u":[{".":13}],"o":[{"u":[{".":13}]}],"á":[{"m":[{".":13}],"c":[{"h":[{".":13}]}]}]}],"s":[{"k":44}]},2],"ť":2,"v":2,"w":2,"x":2,"z":2,"ž":2,"ŕ":[{"c":[{"n":39,"h":[{"n":45}]},12]}],"ä":[{"ť":[{"s":[{"t":[{"o":155}]}]},159]}]}],"r":[{"b":[{"n":11},2],"c":[{"h":3},2],"č":2,"d":[{"z":3,"ž":3,"n":[{"ý":[{".":57,"m":[{".":57,"i":[{".":57}]}],"c":[{"h":[{".":57}]}]}],"é":[{"h":[{"o":[{".":57}]}],"m":[{"u":[{".":57}]}],".":57}],"o":[{"m":[{".":57}],"u":[{".":57}]}],"á":[{".":57}],"e":[{"j":[{".":57}]}],"ú":[{".":57}],"í":[{".":57}]}],".":176},2],"ď":2,"f":2,"g":[{"ľ":14,"r":14,"s":14},2],"h":2,"j":2,"k":[{"d":14,"n":11,"t":14,"v":14},2],"l":2,"ľ":2,"m":[{"n":[{"ý":[{".":57,"m":[{".":57,"i":[{".":57}]}],"c":[{"h":[{".":57}]}]}],"é":[{"h":[{"o":[{".":57}]}],"m":[{"u":[{".":57}]}],".":57}],"o":[{"m":[{".":57}],"u":[{".":57}]}],"á":[{".":57}],"e":[{"j":[{".":57}]}],"ú":[{".":57}],"í":[{".":57}]}]},2],"n":2,"ň":2,"p":[{"c":14,"č":[{"n":36},14],"r":14,"t":[{".":91}]},2],"r":2,"s":[{"p":14,"k":[{"d":21,"t":21},60],"t":[{"v":15}]},2],"š":[{"č":[{".":91},14],"l":14,"r":14},2],"t":[{"m":11,"n":[{"ý":[{".":57,"m":[{".":57,"i":[{".":57}]}],"c":[{"h":[{".":57}]}]}],"é":[{"h":[{"o":[{".":57}]}],"m":[{"u":[{".":57}]}],".":57}],"o":[{"m":[{".":57}],"u":[{".":57}]}],"á":[{".":57}],"e":[{"j":[{".":57}]}],"ú":[{".":57}],"í":[{".":57}]},14],"ň":11,"r":14,"v":14,"s":[{"k":44}],"z":[{".":91}]},2],"ť":2,"v":[{"s":[{"t":[{"v":68}]}]},2],"w":2,"x":2,"z":[{"s":[{"k":64}],"š":[{"t":66}]},2],"ž":2}],"s":[{"b":2,"c":[{"h":[{"n":23,"o":[{"p":[{"n":151}]}]},3]},2],"č":2,"d":[{"z":3,"ž":3},2],"ď":2,"f":[{"é":[{"r":134}]},2],"g":2,"h":2,"j":2,"k":[{"l":[{"a":[{"d":152}],"o":[{"n":152}]},11],"m":11,"n":11,"r":[{"z":32,"o":[{"m":[{"n":[{"e":152}]}],"t":152}],"ú":[{"c":152}],"u":[{"t":[{"k":152}]}],"ý":[{"v":152}]},14],"v":[{"ú":[{"c":152}]},14],"o":[{"č":134,"k":134,"p":134,"r":134}],"ô":[{"r":134}],"ú":[{"s":[{"e":[{"n":134}]}]}],"u":[{"t":[{"o":[{"č":134}]}]}]},2],"l":[{"n":[{"k":32},12],"ň":12,"z":12,"a":[{"d":[{"k":134}],"v":134}],"á":[{"v":134}],"e":[{"d":134,"p":134}],"o":[{"v":[{"n":134,"e":134,"a":134,"k":134}]}],"u":[{"h":134}],"ú":[{"ž":134}]},2],"ľ":[{"u":[{"b":134}]},2],"m":[{"r":[{"c":32,"č":32,"d":32,"k":32,"t":[{"k":35},32],"š":[{"ť":35}]}],"a":[{"ž":134}],"e":[{"l":134,"r":134}]},2],"n":2,"ň":2,"p":[{"r":[{"c":[{"h":37}],"á":[{"v":[{"n":152},149]}],"a":[{"v":[{"o":[{"d":152},152],"e":[{"d":152}]}]}]},14],"o":[{"l":[{"u":[{"h":129,"p":129,"v":129},128]}],"r":134,"t":[{"r":[{"e":[{"b":134}]}]}]}],"i":[{"e":[{"v":134}]}],"e":[{"v":134}]},2],"r":[{"d":[{"c":32},12],"š":24,"k":[{"n":32}],"s":[{"t":32}],"b":[{"s":[{"k":65}]}]},2],"s":2,"š":2,"t":[{"k":[{"a":[{".":13,"m":[{"i":[{".":58}]}]}],"y":[{".":13}],"e":[{".":13}],"u":[{".":13}],"o":[{"u":[{".":13}]}],"á":[{"m":[{".":13}],"c":[{"h":[{".":13}]}]}]},14],"l":[{"a":152},11],"m":14,"n":[{"ý":[{".":57,"m":[{".":57,"i":[{".":57}]}],"c":[{"h":[{".":57}]}]}],"é":[{"h":[{"o":[{".":57}]}],"m":[{"u":[{".":57}]}],".":57}],"o":[{"m":[{".":57}],"u":[{".":57}]}],"á":[{".":57}],"e":[{"j":[{".":57}]}],"ú":[{".":57}],"í":[{".":57}]},11],"r":[{"b":43,"č":32,"k":32,"v":36,"n":[{"k":51}],"a":[{"c":[{"h":152}],"n":152,"š":152,"t":151}],"á":[{"n":152,"d":[{"a":152}]}],"e":[{"d":151,"k":151,"l":152,"ľ":152}],"i":[{"e":[{"l":152,"ľ":152}],"h":152,"ž":152}],"o":[{"m":152}],"ú":[{"h":152}],"u":[{"n":152,"ž":152}]},14],"v":14,"ľ":[{"k":32}],"ŕ":[{"h":32}],"a":[{"r":[{"o":[{"s":[{"t":134}]}]}],"t":[{"i":[{"c":134},134]}],"v":134}],"u":[{"p":134}],".":176,"o":[{"k":[{"r":[{"á":[{"t":[{".":177}]}]}]}]}]},2],"ť":[{"h":11,"m":11,"p":11,"k":[{"r":[{"á":[{"t":48}]}]}],".":176},2],"v":[{"e":[{"d":134}]},2],"z":2,"ž":2,"ŕ":[{"k":24}],"e":[{"d":[{"e":[{"m":[{"s":[{"t":[{"o":157}]}]}]}]}]}]}],"š":[{"b":2,"c":[{"h":3},2],"č":2,"d":[{"z":3,"ž":3},2],"ď":2,"f":2,"g":2,"h":2,"j":2,"k":[{"l":[{"b":[{"n":35},32]},14],"r":[{"k":32,"t":[{"n":35},32],"a":[{"b":152}],"i":[{"e":152}]},14],"ŕ":[{"k":32}],"v":[{"r":[{"č":35,"k":[{"n":53},35],"n":35}],"ŕ":[{"k":[{"n":53},35]}]}],"o":[{"l":[{"a":134}]}]},2],"l":[{"i":[{"a":[{"p":134}]}]},2],"ľ":[{"a":[{"h":134}]},2],"m":[{"r":[{"d":[{"k":35}],"n":[{"c":35}]}]},2],"n":2,"ň":2,"p":[{"l":[{"h":[{"n":35},32],"i":[{"e":[{"c":[{"h":152}]}]}]}],"i":[{"n":134}],"r":[{"i":[{"n":[{"t":134}]}]}]},2],"r":2,"s":[{"k":60,"t":[{"v":15}]},2],"š":2,"t":[{"r":[{"b":32,"n":[{"g":55},36],"k":[{"n":35}],"u":[{"k":[{"t":[{"ú":[{"r":152}]}]}]}]},14],"v":[{"r":[{"t":35,"ť":[{"k":162,"l":162,"r":162,"s":162},35]}],"e":[{"r":[{"a":152}]}],"o":[{"r":[{"e":[{"c":152}]}]}]},26],"y":[{"r":[{"i":[{"s":[{"t":[{"o":154}]}]}]}],"l":[{"i":134}]}],"a":[{"r":[{"t":134}]}],"á":[{"t":134}],"e":[{"p":134}],"í":[{"t":134}],"u":[{"d":[{"e":134,"o":134}]}],"i":[{"e":[{"p":161}]}]},2],"ť":[{"a":[{"s":[{"t":134}]}]},2],"v":2,"w":2,"x":2,"z":2,"ž":2,"e":[{"s":[{"ť":[{"s":[{"t":[{"o":156}]}]},160]}]}]}],"t":[{"b":2,"c":[{"h":3},2],"č":2,"d":[{"z":3,"ž":3},2],"ď":2,"f":2,"g":2,"h":[{"l":14},2],"j":2,"k":[{"l":14,"n":14},2],"l":[{"č":12,"k":12,"a":[{"č":134,"k":134}]},2],"ľ":[{"c":[{"ť":[{".":178},31]}]},2],"m":2,"n":2,"ň":2,"p":2,"r":[{"č":[{"k":39},24],"h":[{"l":31,"n":31},24],"l":12,"k":[{"n":31,"v":31},12],"m":[{"n":31},12],"n":12,"p":24,"v":[{"a":[{"j":152,"l":152,"n":152}]},12],"b":[{"l":31}],"d":[{"l":31}],"ž":[{"k":31,"n":31}],"i":[{"s":[{"t":[{"o":153}]}],"e":[{"d":134}],"u":[{"m":[{"f":182}]}]}],"a":[{"n":[{"s":163}],"s":134}],"e":[{"s":[{"k":134}],"t":[{"i":[{"n":134}]}]}],"u":[{"b":134}]},2],"s":[{"k":60,"t":[{"v":15}]},2],"š":2,"t":2,"ť":2,"v":[{"r":[{"d":[{"z":50,"n":35},31]}],"ŕ":[{"d":[{"z":50}]}]},2],"w":2,"x":2,"z":2,"ž":2,"ŕ":[{"n":12,"ň":12,"ž":12,"p":[{"n":32}]}]}],"ť":[{"b":2,"c":[{"h":3},2],"č":2,"d":[{"z":3,"ž":3},2],"ď":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":2,"ľ":2,"m":2,"n":2,"ň":2,"p":2,"r":2,"s":2,"š":2,"t":2,"ť":2,"v":2,"w":2,"x":2,"z":2,"ž":2}],"v":[{"b":2,"c":[{"h":3},2],"č":[{"e":[{"r":[{"a":134}]}]},2],"d":[{"z":3,"ž":3},2],"ď":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":[{"č":12,"h":[{"č":31,"k":31,"n":31},12],"k":12,"n":[{"k":31,"n":31},12],"á":[{"d":134}],"a":[{"s":134}]},2],"ľ":[{"č":12},2],"m":2,"n":2,"ň":2,"p":2,"r":[{"h":[{"n":32},12],"c":[{"h":17}],"l":12,"z":[{"g":[{"n":37},32],"n":32},12],"k":[{"n":32}],"ž":[{"l":32}],"s":[{"t":[{"v":37}]}],"á":[{"s":134,"t":134}],"a":[{"v":134,"t":134}]},2],"s":[{"k":60,"t":[{"v":15}]},2],"š":[{"i":[{"m":[{"n":134}]}]},2],"t":[{"á":[{"k":134}],"i":[{"p":134}]},2],"ť":2,"v":2,"w":2,"x":2,"z":[{"d":[{"u":152},26],"h":26,"n":26,"ť":[{"a":[{"h":152,"ž":152}]},28]},2],"ž":2,"ŕ":[{"š":12,"t":12,"z":[{"g":32},12]}],"i":[{"a":[{"c":[{"h":158}]}]}],"y":[{"s":[{"t":[{"r":[{"á":[{"j":[{"a":164}]}]}]}]}]}]}],"z":[{"b":2,"c":[{"h":3},2],"č":2,"d":[{"z":3,"ž":3,"n":[{"y":[{".":57,"m":[{".":57,"i":[{".":57}]}],"c":[{"h":[{".":57}]}]}],"e":[{"h":[{"o":[{".":57}]}],"m":[{"u":[{".":57}]}],".":57,"j":[{".":57}]}],"o":[{"m":[{".":57}],"u":[{".":57}]}],"a":[{".":57}],"u":[{".":57}],"i":[{".":57}],"ý":[{".":57,"m":[{".":57,"i":[{".":57}]}],"c":[{"h":[{".":57}]}]}],"é":[{"h":[{"o":[{".":57}]}],"m":[{"u":[{".":57}]}],".":57}],"á":[{".":57}],"ú":[{".":57}],"í":[{".":57}]},14],"r":26,"v":26},2],"ď":2,"f":2,"g":[{"n":14},2],"h":[{"r":26,"ŕ":[{"ň":32}]},2],"j":2,"k":2,"l":[{"o":[{"m":134}],"u":[{"č":134}]},2],"ľ":2,"m":[{"y":[{"s":[{"e":[{"l":134}],"l":134}]}]},2],"n":[{"a":[{"k":134}],"á":[{"m":134,"š":[{"a":134}]}]},2],"ň":2,"p":2,"r":[{"k":12,"n":[{"n":32},12],"a":[{"k":134}]},2],"s":[{"k":60},2],"š":[{"t":33},2],"t":2,"ť":2,"v":[{"l":26,"ä":[{"z":134}],"e":[{"s":[{"t":134,"ť":165}]}],"o":[{"d":134}],"u":[{"k":134,"č":134}]},2],"z":2,"ž":2}],"ž":[{"b":2,"c":[{"h":3},2],"č":2,"d":[{"z":3,"ž":3,"n":11},2],"ď":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":[{"č":[{"n":32},12],"t":[{"n":32},12]},2],"ľ":[{"t":30},2],"m":2,"n":2,"ň":2,"p":2,"r":[{"ď":12,"d":[{"k":32}],"á":[{"č":134}],"a":[{"n":[{"e":134}]}],"e":[{"b":134}],"ú":[{"t":134}]},2],"s":[{"t":[{"v":15},14],"k":60},2],"š":2,"t":2,"ť":2,"v":2,"z":2,"ž":2}],"x":[{"t":[{"r":14},2],"n":2,"p":[{"l":14,"r":14}]}],"ŕ":[{"b":2,"d":[{"z":3,"ž":3}]}]}',["dosť","me-tó-da","me-tó-dy","ne-do-stat-ka-mi","sep-tem-bra"]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/3509.adapter.js b/public/tools/cloud_sheets/vendor/univer/3509.adapter.js new file mode 100644 index 0000000..de5f1ef --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/3509.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[3509],{3509(s,t,b){b.r(t),b.d(t,{ZhLatnPinyin:()=>c});const c=["01,1",'{"a":[{"b":0,"c":0,"d":0,"f":0,"g":0,"h":0,"j":0,"k":0,"l":0,"m":0,"p":0,"q":0,"r":0,"s":0,"t":0,"w":0,"x":0,"y":0,"z":0}],"e":[{"b":0,"c":0,"d":0,"f":0,"g":0,"h":0,"j":0,"k":0,"l":0,"m":0,"p":0,"q":0,"s":0,"t":0,"w":0,"x":0,"y":0,"z":0}],"g":[{"a":1,"b":0,"c":0,"d":0,"e":1,"f":0,"g":0,"h":0,"j":0,"k":0,"l":0,"m":0,"n":0,"o":1,"p":0,"q":0,"r":0,"s":0,"t":0,"u":1,"w":0,"x":0,"y":0,"z":0}],"i":[{"b":0,"c":0,"d":0,"f":0,"g":0,"h":0,"j":0,"k":0,"l":0,"m":0,"p":0,"q":0,"r":0,"s":0,"t":0,"w":0,"x":0,"y":0,"z":0}],"n":[{"a":1,"b":0,"c":0,"d":0,"e":1,"f":0,"h":0,"i":1,"j":0,"k":0,"l":0,"m":0,"n":0,"o":1,"p":0,"q":0,"r":0,"s":0,"t":0,"u":1,"ü":1,"w":0,"x":0,"y":0,"z":0}],"o":[{"b":0,"c":0,"d":0,"f":0,"g":0,"h":0,"j":0,"k":0,"l":0,"m":0,"p":0,"q":0,"r":0,"s":0,"t":0,"w":0,"x":0,"y":0,"z":0}],"r":[{"a":1,"b":0,"c":0,"d":0,"e":1,"f":0,"g":0,"h":0,"i":1,"j":0,"k":0,"l":0,"m":0,"n":0,"o":1,"p":0,"q":0,"r":0,"s":0,"t":0,"u":1,"w":0,"x":0,"y":0,"z":0}],"u":[{"b":0,"c":0,"d":0,"f":0,"g":0,"h":0,"j":0,"k":0,"l":0,"m":0,"p":0,"q":0,"r":0,"s":0,"t":0,"w":0,"x":0,"y":0,"z":0}],"ü":[{"b":0,"c":0,"d":0,"f":0,"g":0,"h":0,"j":0,"k":0,"l":0,"m":0,"n":0,"p":0,"q":0,"r":0,"s":0,"t":0,"w":0,"x":0,"y":0,"z":0}],"\'":[{"a":0,"e":0,"o":0}]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/3629.adapter.js b/public/tools/cloud_sheets/vendor/univer/3629.adapter.js new file mode 100644 index 0000000..19cb708 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/3629.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[3629],{3629(s,o,n){n.r(o),n.d(o,{Bn:()=>e});const e=["22,11,01,1,21",'{"‍":0,"‌":1,"অ":2,"আ":2,"ই":2,"ঈ":2,"উ":2,"ঊ":2,"ঋ":2,"ৠ":2,"ঌ":2,"ৡ":2,"এ":2,"ঐ":2,"ও":2,"ঔ":2,"া":2,"ি":2,"ী":2,"ু":2,"ূ":2,"ৃ":2,"ৄ":2,"ৢ":2,"ৣ":2,"ে":2,"ৈ":2,"ো":2,"ৌ":2,"়":0,"ৗ":2,"ক":3,"খ":3,"গ":3,"ঘ":3,"ঙ":3,"চ":3,"ছ":3,"জ":3,"ঝ":3,"ঞ":3,"ট":3,"ঠ":3,"ড":3,"ড়":3,"ঢ":3,"ঢ়":3,"ণ":3,"ত":3,"থ":3,"দ":3,"ধ":3,"ন":3,"প":3,"ফ":3,"ব":3,"ভ":3,"ম":3,"য":3,"য়":3,"র":3,"ল":3,"শ":3,"ষ":3,"স":3,"হ":3,"ৎ":2,"ঃ":4,"ং":4,"ঁ":4,"ঽ":4,"্":0}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/3742.adapter.js b/public/tools/cloud_sheets/vendor/univer/3742.adapter.js new file mode 100644 index 0000000..a6f3e99 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/3742.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[3742],{3742(e,a,s){s.r(a),s.d(a,{Nb:()=>r});const r=["04,004,007,0065,006,00004,008,002,0012,0054,0058,06,003,0063,000005,005,00007,00005,00003,00056,0056,0067,0005,0004,0003,0044,0045,00066,0002,0016,00047,0006,0008,000009,0034,009,00006,0024,05,0009,0076,00043,00054,000043,00000346,00000984,00008,00065,000808,00009,0000076,00000007,0036,00045,0001,00634,00745,0096,000007,0083,0074,0007,00078,000505,00087,00034,000078,0032,00505,001,0066,00104,006005,000565,00805,00036,0000565,00076,000054,00605,000056,00000009,00032,00656,0098,0043,00085,000605,02,034,03,000008,036,08,0078,058,067,065,000878,00403,0000058,00565,000305,000004,00041,000087,000545,0023,000876,0087,000807,0068,00058,0064,00263,00304,000065,000365,0047,0048,000006,0046,0052,0000006,000034,000058,00807,00067,000076,0021,0022,00096,000544,004004,00074,0004565,000456,00000098,0000056,0000005,086,0000078,006565,00098,00063,0000065,00038,0000656,00089,056,012,032,07,01,016,09,022,0030065,00454,00000008,00046,064,4,00406,3,0509,5,8,6,045,0000007,0504,1,2,212,87,00001,00014,34,00052,00012,43,0014,00002,12,03005,0000009,41,21,201,0000004,7,098,043,04505,0405,0403,50005,0454,008908,61,0254,000067,000003,607,004056,087,0049,000089,802,0204,00000089,000000076,00106,000404,6006,101,0212,303,0089,038,046,81,00405,202,0414,604,0205,0203,054,025,00000076,0061,0025,4001,0301,405,00232,033,00708,88,46,0000008,5002,10076,00254,34005,02032,45,36,0000094,0676,076,14,005007,00023,000063,04006,081,021,000098,00021,00103,000405,0412,403,000676,25,407,605,003834,000045,214,000085,65,2036,5001,041,207,4006,4004,401,056654,0026,0607,203,205,00203,00306,004054,000409,00105,30004,00025,26,00543,104,44,0041,7605,47,9,60006,404,76,0305,67,2004,665,707,2056,000504,634,6506,8706,000438,000656,507,6056,0402,0708,00006076,0000025,003045,656,252,414,8098,000856,6706,061,6076,278,16,56,0908,32,54,58,0450043,089,0612,5806,49,000436,00504,085,0361,0506,02002,078,28,0094,0038,062,00456,606,00214,503,0667,04504,23,04054,003063,0102,0404,0434,063,0234,00108,0018,00676,00404,00000005,027,023,0101,047,000096,0507,03047,0706,04056,4054,50047,0704,004034,05003,0104,094,06506,04507,007009,074,044,565,000047,232,014,02004,7005,98,2014,2032,00083,00609,2006,0232,00401,00000006,0004008,256,00854,049,00804,000454,00000087,4005,00666,2012,2002,70004,30045,00434,2098,5005,2078,06006,0605,0029,000010034,36045,236,0000034,63,0407,801,096,000000007,05004,454,005005,00606,004504,00022,000407,000434,00566,00201,00568,0905,0806,00072,0408,02012,40202,0307,0802,0201,0302,20004,00204,0085,3034,4036,603,005045,08908,0088,000036,02234,088,00706,00506,05006,,2054,402,066,50404,06085,00069,8005,006087,1076,008008,4014,614,2018,000088,6054,6504,40005,0000043,8008,504,452,38,0492,00547,0216,0106,74,12002,52,0000878,407009,1003,008878,10043,0000067,7804,0656,0000098,1008,78,0103,00208,000000006,18,612,0608,89,4098,006098,85,40006,0401,06056,0432,0072,00658,20074,003076,254,878,03004,072,3056,00044,6708,0109,0609,509,3004,08078,566,602,2058,0000063,40545,4034,00000078,409,7403,050056,0500085,506,5007,06058,274,0209,501,434,0027,006066,216,301,00305,00509,00000056,412,0502,07004,0545,02052,004043,00989,00050007,50445,6002,6305,4002,00409,608,08008,0207,0878,056005,7032,000508,04014,0406,0214,632,04004,04034,0505,0124,00027,545,505643,0129,008887,0000707,0202,0787,04038,000000009,00908,1034,0000504,002054,000000008,006047,00094,50008,00016,703,0004056,702,45005,06054,00064,2001,204,02054,0007607,306065,306076,0128,60007,300003,4058,69,0409,2105,876,218,07656,00767,22,4076,4305,609,601,2052,0000069,306,0000000008,40004,0000404,04506,05009,0696,3058,2007,0011,5606,07006,00865,0306,0000045,0069,06503,00049,676,00443,000458,834,60043,343,505,103,50023,125,436,45008,4056,5656,894,66,896,50403,4278,308,3005,5003,8705,96,2026,696,05005,7064,302,304,0000454,8509,0636,27,54008,0854,03043,5080005,400006,5600043,3000054,2034,4007,060063,83,8007,94,1204,5404,107,1005,00000656,0000089,362,6004,245,24,024,0006065,0805,060006,265,685,04003,00000408,346,50003,645,102,3006,672,0084,2141,856,0000054,670002,0304,76504,000636,00068,5045,804,0000087,600004,3003,0906,2802,3002,40007,40068,432,636,1043,3607,21009,500005,06005,5405,21001,0508,005407,00436,00836,06008,02014,02016,1014,1004,00678,3085,1001,000304,005067,00236,5065,0006067,208,005004,0122,042,0445,008506,0436,07007,0276,006006,908,00508,0876,018",'{".":[{"a":[{"a":1,"b":[{"b":[{"a":1,"e":2}],"s":[{"t":3}]}],"c":[{"t":[{"i":[{"n":4}]}]}],"d":[{"e":[{"l":[{"s":5}]}],"l":[{"a":[{".":6}],"e":[{".":4}]}],"r":7,"s":8}],"f":[{"f":[{"u":10},2],"t":9}],"g":[{"n":[{"a":[{".":4}],"e":[{".":4}]}],"r":1}],"i":7,"k":[{"k":[{"a":[{".":4}],"e":[{".":4}],"l":12,"r":12}],"n":[{"e":[{".":4}]}],"r":4,"s":[{"a":[{".":6}],"e":[{".":1}],"t":13}],"t":[{"a":4,"e":[{".":1,"r":[{"e":14},5]}],"r":15}],"v":[{"a":16}]},11],"l":[{"b":[{"u":[{"e":[{"n":17}]}]}],"f":[{"a":18}],"g":[{"e":[{".":1}],"i":15}],"k":[{"a":[{".":4}],"e":[{".":1}],"o":[{"m":1}]}],"l":[{"a":[{".":1}],"e":[{".":1,"g":15}],"o":15,"s":19}],"m":[{"a":[{".":1}],"e":[{".":6}],"i":[{"n":20}]}],"n":[{"a":1}],"p":[{"e":17}],"s":[{"k":21,"o":22}],"t":[{"a":[{".":1,"r":15},23],"e":[{".":1}],"o":24}],"v":[{"e":[{".":4}]}]},11],"m":[{"b":2,"e":11,"m":[{"a":[{".":4}],"e":[{".":1}]}],"s":25,"t":[{"a":4}]}],"n":[{"a":[{"b":24}],"d":[{"a":[{".":1}],"e":[{".":1}],"r":[{"a":9}],"ø":[{"v":27},26]}],"e":[{"r":12,"s":17}],"g":[{"a":[{".":1}],"e":[{".":1,"s":5},12]}],"j":[{"a":[{".":1}]}],"k":[{"a":[{".":1}],"e":[{".":1}]}],"l":[{"a":[{".":1}]}],"n":[{"a":[{".":1,"l":2}],"e":[{".":1},23]},12],"s":[{"a":[{".":1}],"e":[{".":1}]},10],"t":[{"a":[{".":1}],"e":[{".":1,"m":15,"p":15}],"i":[{".":1,"n":4,"s":1,"v":1}]},28]},11],"p":[{"l":[{"a":[{"n":6}]}],"p":29,"t":6}],"r":[{"b":[{"i":17}],"d":[{"e":[{".":4}]}],"e":[{"o":30}],"g":[{"e":[{".":1,"s":15}]}],"i":[{"a":31,"e":[{"n":[{"e":17}]},32]}],"k":[{"a":[{".":6},15]}],"l":[{"a":[{"n":33}]}],"m":[{"e":[{".":1,"a":2}]}],"n":[{"a":[{".":1}],"e":[{".":1,"s":15},12]}],"r":[{"a":[{".":4}],"u":21}],"t":[{"a":[{".":4}],"e":[{".":1}],"h":34,"i":35}],"v":[{"a":[{".":4}],"e":[{".":1,"d":1,"r":1}],"i":36}]}],"s":[{"k":[{"a":6,"e":[{".":1,"s":[{"e":15}]}]}],"l":[{"e":[{".":1}]}],"p":[{"a":[{".":4}]}],"s":15,"t":[{"r":[{"u":22}]}]},11],"t":[{"h":1,"k":[{"i":1}],"l":[{"e":[{".":1}]}],"n":[{"a":[{".":1}]}],"o":37,"s":12,"t":[{"e":5,"r":31}],"y":38}],"u":[{"d":[{"e":6}],"e":4,"g":[{"a":6,"e":1}],"k":[{"a":[{".":1}]}],"l":[{"e":[{".":6}]}],"r":1,"s":[{"a":[{".":4}],"e":[{".":4}],"k":39,"p":1}]}],"v":[{"i":[{"d":40,"n":[{"d":[{"e":2}]}]},28],"l":[{"a":[{".":1}],"e":[{".":1}]}],"s":40}]},0],"b":[{"a":[{"b":[{"y":4}],"l":[{"a":[{".":4}],"e":[{".":1}]}],"n":[{"e":[{".":1}],"k":[{"l":41}]}],"r":[{"e":[{".":1}],"i":[{".":1}]}],"t":[{"e":[{".":6}]}]}],"e":[{"d":[{"e":[{".":1,"n":[{"e":3},5],"t":26}],"i":[{".":6}]}],"e":[{"d":34}],"k":[{"e":[{".":4}]}],"l":[{"a":[{".":1}]}],"n":[{"a":[{"r":35}],"e":[{".":1}]}],"r":[{"a":[{".":4}],"e":[{".":4,"s":1,"t":[{"t":31}]}],"i":[{".":6}]}],"s":[{"k":[{"a":2}],"t":[{"e":[{"n":4}]}]}],"t":[{"a":[{".":1}],"e":[{".":4}],"v":9}]}],"i":[{"d":[{"e":[{".":4}]}],"e":[{"n":4}],"l":[{"e":[{".":1,"t":14}]}],"t":[{"r":13}]}],"l":[{"a":[{"d":23}],"e":[{"k":[{"e":42,"k":[{"f":43,"s":[{"t":44,"v":45}]}]},41]}],"i":[{"n":[{"g":14}]}]},1],"o":[{"d":[{"a":6,"e":[{".":6}]}],"g":[{"s":46}],"k":[{"e":[{"n":[{".":25}]}]},22],"l":[{"a":6}],"n":[{"a":[{".":1}]},28],"r":[{"t":[{"e":36,"i":48,"r":49},47]}]}],"r":[{"u":[{"d":[{"d":[{"s":[{"å":51},50]}]}]}]}],"u":[{"d":[{"a":[{".":4}],"r":52}],"e":[{"t":1}],"l":[{"k":53}],"s":[{"s":[{"y":31}]}]}],"y":[{"d":[{"e":[{".":4}]}],"t":[{"a":[{".":6}]}]}],"æ":7,"ø":[{"k":[{"a":3}],"n":[{"e":[{"n":6,"r":6}]}]}]},11],"c":[{"a":[{"e":[{"n":[{".":1}]}],"r":[{"s":53}],"s":[{"e":4}]}],"e":[{"b":4}],"o":[{"s":[{"t":1},54]}]},0],"d":[{"a":[{"g":[{"e":[{".":1}],"s":[{"e":36}]}],"l":[{"e":[{".":1}]}],"m":7,"n":[{"e":[{".":1}]}],"t":[{"a":1}],"u":[{"s":24}]}],"e":[{"k":[{"a":[{"r":49}],"o":[{"d":16}]}],"l":[{"e":[{".":1,"i":26}],"s":19}],"m":[{"i":[{".":1}],"o":[{"e":16}]}],"n":[{"s":[{"l":22}]}],"r":[{"e":[{".":1,"t":26}],"i":[{".":1,"v":56},55],"o":[{"m":26}],"u":6}],"s":[{"m":3,"o":1,"t":[{"o":1}]}],"u":1,"v":[{"i":[{"s":17}]}]}],"i":[{"a":7,"e":[{"l":9,"r":4,"t":[{".":1}]}],"f":[{"t":57}],"n":[{"e":[{".":1}],"g":[{"s":[{"a":58}]}]}],"s":[{"k":1,"t":59}]}],"o":[{"e":[{"n":1,"r":1,"t":6}],"m":[{"e":17}],"r":[{"a":1,"e":[{".":4}]}]}],"r":[{"a":[{"u":[{"m":5}]}]}],"s":1,"u":[{"a":1,"e":[{"n":[{".":1}],"r":1}],"f":[{"t":18}],"g":[{"e":[{".":1}]}],"k":[{"n":24}],"s":[{"e":[{".":1}],"t":1}]}],"y":[{"r":[{"e":[{".":1}]}]}],"ø":[{"l":[{"a":[{".":4}]}],"r":[{"a":60,"e":60},13],"v":[{"e":[{".":1}]}]}],"å":[{"r":[{"e":[{"n":15,"t":2}]}]}]},11],"e":[{"b":[{"b":[{"a":1}]}],"c":[{"u":31}],"d":[{"d":[{"a":1}],"l":[{"e":[{".":1}]}]}],"f":[{"o":61,"t":[{"a":[{"s":17},1],"e":[{"r":4}]}]}],"g":[{"d":[{"e":[{".":6}]}],"e":[{"l":22},28],"g":[{"a":[{".":4}],"e":[{".":1,"l":1}]}],"l":[{"a":[{".":6}],"e":[{".":1}]}],"n":[{"a":[{".":4}],"e":[{".":1}]}],"o":[{"t":62}],"s":[{"e":[{".":6}],"i":15},23]}],"i":[{"d":[{"a":22,"e":[{"n":15}]}],"g":[{"a":[{".":1}],"e":[{"r":2}]}],"k":[{"a":22,"e":[{".":1}]}],"l":12,"m":[{"a":[{".":6}],"e":[{".":6}]},12],"n":[{"a":[{"s":61}],"i":12,"o":[{"g":63}],"s":[{"t":[{"a":19,"o":64}]}]}],"r":[{"a":[{"r":35}],"e":[{"s":15}],"u":39}],"t":[{"e":15,"r":39}]},7],"k":[{"k":[{"o":23}],"l":[{"e":[{".":1}],"i":12}],"n":[{"e":[{".":4}]}],"r":1,"s":[{"a":[{".":6}],"e":[{".":6},12],"p":[{"i":31},1],"t":[{"a":9},65]}],"t":[{"a":6,"e":[{".":1}],"o":2}]}],"l":[{"d":[{"a":[{".":6}],"e":[{".":1}]}],"g":[{"r":26}],"i":[{"n":[{"e":22}]}],"k":12,"l":15,"s":[{"a":31,"k":[{"l":23}],"t":31},4],"t":[{"a":[{".":4}],"e":[{".":4}]}],"v":[{"e":[{"l":66,"g":4}]}]}],"m":[{"b":67,"f":[{"a":49}],"m":[{"a":[{".":1}],"e":[{".":6}]}],"n":[{"a":[{".":4}]}],"p":15}],"n":[{"a":15,"d":[{"a":[{".":1}],"e":[{".":1}],"r":22}],"g":[{"a":[{".":1,"v":4}],"e":[{".":1},12],"r":3,"s":36}],"k":[{"a":4,"e":[{".":1}]}],"o":[{"g":68}],"s":[{"a":4,"e":[{".":1}],"o":15,"p":12}],"t":[{"e":[{".":4}],"r":[{"a":3,"e":32},23]},15],"ø":34}],"p":[{"t":4}],"r":[{"a":6,"e":1,"g":[{"r":26}],"k":[{"e":1}],"l":[{"a":[{".":1}],"e":[{".":1}]}],"m":[{"a":[{".":4}],"e":[{".":1,"k":1}]}],"n":[{"a":[{".":1}]}],"t":[{"a":[{".":4}],"e":[{".":1}]}]}],"s":[{"a":[{"s":[{"t":35}]}],"k":[{"a":[{".":6},12],"e":[{".":1}]},69],"l":[{"a":[{".":6}],"e":[{".":6}]},15],"p":[{"a":[{".":4}]},12],"r":4,"s":[{"a":[{".":6}],"e":[{".":1}],"o":1}],"t":[{"a":15,"e":[{".":4,"t":2},12],"i":15,"r":70,"u":2}]}],"t":[{"l":[{"a":[{".":6}],"e":[{".":6}]}],"n":[{"a":1,"e":[{".":1}]}],"s":[{"a":[{".":6}],"e":[{".":4},9],"i":23},1],"t":[{"e":[{"r":72},71],"i":4}]}],"u":[{"r":[{"o":17}]}],"v":[{"j":[{"a":6,"e":[{".":1}]}],"n":[{"e":[{".":1}]}]}],"x":1},11],"f":[{"a":[{"e":7,"g":[{"s":65}],"n":[{"e":[{".":1}],"t":[{"o":65}]}]}],"e":[{"e":1,"i":[{"e":32,"l":[{"i":17}]}],"l":[{"a":49,"l":22,"t":[{"a":23}]},7],"m":[{"a":1,"e":6,"o":[{"g":73}],"t":22}],"r":[{"r":[{"o":32}],"s":31}],"s":[{"l":6,"t":[{"e":75},74]}],"t":[{"t":[{"a":17}]}]}],"i":[{"b":26,"a":4,"l":[{"e":[{".":1}]}],"r":[{"e":[{"o":[{"g":76}]}]}],"s":[{"k":31}]}],"j":[{"e":[{"l":5}],"o":[{"r":[{"d":43}]}]}],"l":[{"a":[{"t":[{"o":53}]}]}],"o":[{"b":[{"i":[{".":1}]}],"l":28,"r":[{"d":[{"r":[{"i":75,"a":77}]}],"e":[{"n":[{".":22}]}],"m":[{"s":17}],"s":[{"o":77}]},7]}],"r":[{"e":[{"e":31}],"i":[{"e":[{"r":[{"e":19}]}]}]}],"u":[{"g":[{"e":[{".":4}]},28],"l":28,"s":[{"e":[{".":6}]}]}],"y":[{"s":[{"e":6}]}],"ø":[{"r":[{"e":[{"l":6}]}]}]},0],"g":[{"a":[{"f":61,"l":[{"e":[{".":1}],"i":[{".":6}]}],"m":[{"e":1}],"n":[{"e":[{".":1}],"g":[{"s":78}]}],"s":[{"t":[{"a":22}]},23],"t":7,"v":[{"e":[{".":1,"e":35}]}]}],"e":[{"a":7,"l":[{"e":23}],"n":[{"e":12,"i":79,"s":22}],"o":1,"s":[{"t":[{"a":[{"p":20}]},1],"v":35}]}],"h":[{"a":22}],"i":[{"f":[{"t":[{"s":17}]}],"n":1,"s":[{"p":61},1],"v":[{"a":59}]}],"j":[{"e":[{"n":64}]}],"l":[{"o":[{"i":31,"v":39}],"y":[{"s":22}],"ø":[{"s":[{"e":39}]}]},4],"n":[{"å":[{"l":[{"a":61}]}]}],"o":[{"d":[{"e":[{"s":15}]}],"s":61}],"r":[{"a":[{"v":[{"e":[{"n":[{"d":41}]}]}]}],"e":[{"i":[{"e":5}]}],"u":[{"n":[{"n":[{"s":14}]}],"s":[{"s":17}]}]}],"u":[{"d":[{"e":[{".":1}],"v":65}],"l":[{"a":[{"t":1}]}],"s":54,"t":[{"u":[{".":1}]}]}],"ø":7,"å":[{"s":[{"e":53}],"v":1}]},11],"h":[{"a":[{"i":[{"s":19}],"k":[{"a":[{".":4}]}],"m":[{"a":[{".":6}]}],"n":[{"d":[{"s":[{"l":[{"a":81},80]}]}]}],"v":[{"a":[{"k":3}],"i":4}]}],"e":[{"e":[{"r":[{".":1}]}],"i":[{"e":22}],"l":[{"u":24}],"n":[{"i":82},7],"r":[{"i":83,"o":[{"e":57,"i":40,"l":40,"s":84},83],"u":6}],"s":[{"s":53}],"t":[{"s":[{"e":77},47],"e":20},26]}],"i":[{"l":[{"l":23}],"n":1,"r":[{"e":[{".":4}]}]}],"o":[{"d":7,"e":7,"r":[{"e":[{".":1,"n":15,"t":2}]}],"t":[{"a":[{".":6}]}],"v":[{"a":[{".":6}]}]}],"u":[{"d":[{"i":1}],"l":[{"l":[{"s":16}]}],"s":[{"e":[{"n":85}],"v":[{"a":[{"l":31}]}]}]}],"v":[{"i":[{"t":[{"e":65},18]}],"o":[{"r":86}]}],"y":[{"r":[{"a":[{".":4}],"e":[{".":1}]}]}],"ø":[{"i":22,"r":[{"e":1}],"v":[{"a":1,"e":[{".":1}]}],"y":[{"s":[{"t":[{"æ":87}]}]}]}],"å":[{"e":[{"n":[{".":6}],"r":6}],"n":[{"d":[{"s":[{"l":80}]}]}]}]},0],"i":[{"a":89,"b":[{"l":90}],"d":[{"a":0}],"f":[{"ø":[{"r":[{"e":22}]}]}],"g":[{"l":[{"a":[{".":6}],"e":[{".":1}]}]}],"h":[{"e":[{"r":0}]}],"k":[{"k":[{"e":[{"s":91},17]},4],"l":92,"t":[{"e":[{".":6}]},15],"v":38},7],"l":[{"a":[{".":0,"n":[{"d":[{"e":93}]}]},90],"b":[{"o":[{"d":[{"a":46}]}]}],"d":[{"r":13,"e":[{".":4}]}],"e":[{"g":90,"s":11}],"j":[{"a":1,"e":[{".":4}]}],"k":[{"e":[{".":4}]}],"l":[{"e":[{".":1}]}],"s":[{"k":4}],"t":[{"e":[{".":1}]}]}],"m":[{"e":11,"ø":[{"t":[{"e":[{".":22}]}]}]}],"n":[{"a":[{"d":15}],"d":[{"e":15}],"g":[{"a":[{".":6}],"e":[{".":1}],"r":[{"i":4},12]}],"k":[{"a":[{".":4}]},20],"n":[{"e":[{".":1,"k":[{"s":21}],"t":[{"s":21,"t":21}]},20],"i":85},85],"s":15,"t":[{"e":[{"s":2}]}]}],"o":[{"n":[{"a":1,"o":[{"m":1}]}]}],"r":[{"e":[{"r":0}],"k":94,"r":[{"a":[{".":6}],"e":[{".":4}]}]}],"s":[{"a":11,"c":90,"e":11,"k":40,"l":[{"a":[{"g":[{"a":46}],"m":4}],"e":[{".":1,"t":1}]}],"m":[{"e":[{".":1}]}],"n":[{"a":[{".":6}],"e":[{".":6}]}],"p":[{"a":15,"e":95}],"s":[{"a":[{".":4}],"e":[{".":1}],"k":15},34],"t":[{"e":[{".":6,"d":38,"m":38}],"i":2,"j":96,"r":96},31],"u":[{"t":[{".":6}]}],"ø":97}],"t":[{"i":38}],"v":[{"a":[{"n":0,"r":[{".":0}]},90],"e":[{"l":0,"n":11,"r":[{".":0,"e":0}]},90],"r":[{"a":[{".":6}],"e":[{".":4}]}]}],"ø":90},88],"j":[{"a":[{"d":[{"e":[{".":1}]}],"e":4,"n":[{"e":1}],"s":[{"e":[{".":6}]}],"v":[{"a":[{".":1}]}]}],"e":[{"a":7,"l":7,"m":7,"r":[{"e":15,"n":[{"s":78}]}],"t":[{"a":1}]}],"i":1,"o":[{"e":[{"n":[{".":6}]}],"r":[{"d":[{"r":64,"s":98,"u":64}]}],"s":[{"e":[{".":1}]}]}],"u":[{"a":4,"l":[{"a":4,"e":18,"i":99}]}],"ø":[{"d":[{"e":[{"p":1}]}]}]},0],"k":[{"a":[{"f":28,"l":[{"a":[{".":4}],"i":[{".":4}],"t":62,"v":[{"e":[{"l":100}]}]}],"m":[{"e":15}],"n":[{"a":12,"e":[{".":1}]}],"p":[{"r":85}],"r":[{"a":[{".":1,"v":101}],"e":[{".":4}],"i":[{"n":15}],"t":[{"r":64}]}],"t":[{"e":[{".":1}],"h":20}],"u":[{"k":39}],"v":[{"a":[{".":4}],"e":[{".":1}]}]}],"e":[{"e":4,"l":24}],"i":[{"e":[{"r":18}],"n":[{"a":1,"i":2,"o":18}],"r":28,"s":[{"e":[{".":1}]}],"v":[{"a":[{".":6}],"e":[{".":4}]}]}],"j":[{"e":[{"d":[{"e":102}],"k":[{"l":16},23]}],"ø":[{"n":[{"n":103}]}]}],"l":[{"e":[{"s":23}],"i":[{"n":[{"e":22}]}],"o":[{"v":[{"a":39}]}],"y":[{"s":[{"a":61}]}],"ø":[{"s":62}]}],"n":[{"a":[{"s":[{"e":61}]}],"e":[{"p":[{"r":41}],"r":62}]}],"o":[{"d":[{"a":[{".":4}]}],"g":[{"r":2}],"l":[{"a":1,"e":[{".":6},12],"j":22}],"p":[{"e":[{".":4},12]}],"r":[{"s":[{"e":[{"d":47}]}]}],"s":[{"e":[{".":1}]}],"t":[{"a":[{".":4}],"e":[{".":1}]}],"v":[{"e":[{".":4}]}]}],"r":[{"i":[{"n":[{"g":[{"s":14}]}]}],"u":[{"s":[{"t":41}]}]}],"s":4,"u":[{"f":[{"l":9}],"l":[{"e":1}],"r":[{"a":[{".":6}],"e":[{".":1}]}],"t":[{"a":[{".":6}],"e":[{".":6}]}]}],"v":[{"a":[{"r":[{"a":104}]}],"e":[{"k":[{"a":39,"e":22}]}]}],"y":[{"l":[{"a":[{".":6}],"e":[{".":1}]}],"t":[{"e":[{".":4}]}]}],"ø":[{"s":12}],"å":[{"p":[{"a":4}]}]},11],"l":[{"a":[{"d":[{"a":[{".":1}],"e":[{".":1}]}],"g":[{"a":1,"e":[{".":1,"r":15}]}],"m":[{"a":[{".":1}]}],"p":[{"p":[{"e":105}],"s":[{"e":106}]}],"t":[{"a":[{".":4}],"e":[{".":1}],"r":12}],"v":[{"a":1,"e":[{".":1},12],"æ":3}]}],"e":[{"a":[{"r":6}],"d":[{"a":[{".":1}],"e":[{".":1}]}],"e":[{"r":1,"t":4}],"f":[{"l":24},7],"g":[{"a":[{"t":[{"a":17}]}],"e":[{".":1,"l":1}],"i":[{".":6}]}],"i":[{"e":[{"r":[{".":61}]},32],"v":[{"e":23}]}],"k":[{"e":[{".":1}],"r":26}],"m":[{"u":49}],"n":[{"e":[{".":1}]}],"o":21,"s":[{"a":40,"e":[{".":1,"k":1,"s":1}],"p":26}],"t":[{"a":2,"t":[{"a":[{"n":31}]}]},7],"u":107,"v":[{"a":[{".":1},12],"e":[{".":1,"s":1}]}]}],"i":[{"a":6,"d":[{"e":[{".":1}]}],"e":[{"n":[{"e":15}]},25],"g":[{"a":18},7],"k":[{"k":19,"o":24,"s":65},7],"m":[{"a":1}],"n":[{"k":36}],"r":[{"a":4,"e":[{".":1}]}],"s":[{"a":1,"e":[{".":1}]}],"t":[{"a":[{".":1}],"e":[{".":1}],"i":15}],"v":[{"e":[{".":1,"n":26}],"s":[{"u":108,"v":53}]}]}],"o":[{"e":20,"g":[{"e":[{".":4}],"i":[{".":6}],"r":3}],"i":1,"n":[{"a":4}],"o":6,"r":[{"i":4}],"s":[{"a":[{".":6}],"e":[{".":1}]}],"t":[{"e":4}],"v":[{"a":1,"e":[{".":1},12]}]}],"u":[{"d":1,"e":7,"n":[{"a":1}],"p":[{"a":4,"e":[{".":1}]}],"r":[{"a":[{".":4}],"e":[{".":1}]}],"s":[{"e":[{".":4}]}],"t":[{"a":[{".":1,"s":35}]}]}],"y":[{"d":[{"e":[{".":1}],"s":24}],"e":6,"g":[{"e":6}],"s":[{"e":[{".":1},20],"k":1,"s":19,"t":[{"r":6}]}],"t":[{"e":[{".":1}]}],"v":[{"e":[{".":1}]}]}],"ø":[{"d":[{"e":[{".":6}]}],"e":[{"n":[{".":4}]}],"n":[{"e":[{".":6}]}],"p":[{"a":[{".":4}],"e":[{".":1}]}],"s":[{"a":109,"i":109,"m":109,"p":109}],"v":[{"i":22}],"y":[{"e":[{"n":[{"e":17}]}]}]}],"å":[{"m":[{"a":6}],"r":[{"e":[{".":4},15]}],"t":[{"e":[{".":1}]}]}]},11],"m":[{"a":[{"g":[{"e":[{".":1}],"r":39}],"h":31,"k":[{"a":12,"e":[{".":1}],"t":[{"a":[{"t":47}],"s":17}]}],"l":[{"e":[{".":1}],"i":[{".":1}]}],"n":[{"a":[{".":1}],"d":[{"e":[{"l":91}]}],"e":[{".":1}],"i":[{".":1}]}],"r":[{"a":[{".":1}],"e":[{".":1}],"i":[{".":1}],"s":[{"j":[{"ø":110}]}]}],"s":[{"a":[{".":1}],"i":1,"t":4}],"t":[{"a":6,"h":111,"t":[{"o":112}]}],"v":1}],"e":[{"d":[{"e":[{"i":3}],"i":[{"n":21},113],"r":3},85],"i":[{"e":[{"r":[{".":22}],"t":22}]}],"k":[{"l":22}],"l":[{"a":[{".":4}],"l":[{"o":75}],"ø":26}],"n":[{"e":[{".":1}]}],"r":[{"i":12}],"s":[{"a":[{"l":109}],"k":1,"t":[{"i":22}]}],"t":[{"a":[{"l":[{"l":115}]},114],"r":[{"i":1}]}]}],"i":[{"k":[{"j":4}],"l":[{"e":[{".":1}]}],"m":[{"e":[{".":1}]}],"n":[{"i":[{".":1,"k":1}],"k":[{"e":42},41]}],"s":[{"t":55}]}],"n":[{"e":31}],"o":[{"d":[{"e":15}],"e":[{"r":4}],"n":[{"a":[{".":1}],"e":[{".":6}],"s":[{"t":[{"r":116},23]}]}],"r":[{"d":[{"e":19}],"e":[{".":1}],"t":[{"a":117}]}],"s":[{"e":[{".":1}]}],"t":[{"a":1,"e":[{"k":1,"r":1}],"r":1}],"v":15}],"u":[{"g":[{"a":6,"e":[{".":6}]}],"l":[{"e":[{".":4,"s":22}]}],"r":[{"e":10},61]}],"y":[{"k":[{"a":6,"e":[{".":1}]}]}],"ø":[{"r":[{"e":[{".":1,"s":15}]}],"t":7}],"å":[{"l":[{"a":[{".":4}],"o":24}]}]},93],"n":[{"a":[{"b":[{"o":18}],"g":[{"e":[{".":4}]}],"k":[{"e":[{".":6}]},28],"n":[{"s":22}],"r":1,"s":[{"a":[{".":1}]}],"t":[{"r":12,"t":[{"r":31}]},28]}],"e":[{"d":[{"e":[{".":1,"n":1}],"i":26,"r":85,"s":65}],"f":[{"r":26}],"g":118,"i":[{"e":22}],"k":[{"r":70}],"o":[{"n":119},118],"p":[{"a":[{".":6}],"e":[{".":4}]}],"s":7,"t":1}],"i":[{"a":[{"r":6}],"e":[{"r":4}],"g":[{"l":23}],"n":[{"a":[{".":1}]}],"o":[{"g":101}],"p":[{"a":[{".":1}],"e":[{".":4}]}],"s":[{"a":6,"e":[{".":4}]}],"t":[{"a":49,"o":1}],"v":[{"a":1}]}],"o":[{"d":[{"e":[{".":4}]}],"e":4,"k":[{"a":6}],"m":[{"e":[{".":1}],"i":[{".":6}]}],"r":1,"s":[{"e":6,"i":[{".":6}]}],"v":[{"a":[{".":1}]}]}],"u":[{"e":1}],"y":[{"a":15,"o":12,"s":[{"a":[{".":6}],"e":[{".":4}]}],"t":[{"e":[{".":1}]}]}],"æ":[{"r":[{"a":[{"s":[{"t":[{".":39}]}]}],"e":[{".":1}]}]}],"ø":[{"d":[{"d":23}],"r":[{"e":[{".":1}]}]}],"å":[{"d":[{"e":[{".":1}]}],"l":[{"e":[{".":4}]}]}]},93],"o":[{"b":[{"o":[{"e":22}]}],"d":[{"d":[{"a":[{".":1}],"e":[{".":1}]}],"e":[{"l":[{"s":105}]}],"l":[{"a":[{".":6}],"e":[{".":6}]}]}],"f":[{"f":[{"s":[{"i":120}]}],"t":[{"e":[{".":1,"b":15}]}]}],"g":1,"k":[{"k":[{"a":[{".":6}],"e":6},69],"s":[{"e":[{".":1}]}]}],"l":[{"d":[{"s":24}],"g":[{"a":[{".":1}]}],"i":[{"v":19},22],"l":[{"a":6,"e":[{".":6}]}],"m":4}],"m":[{"a":[{"r":[{".":1}]}],"b":[{"o":[{".":4}]}],"e":[{"n":121}],"g":[{"å":[{".":1}]}],"m":[{"e":1}],"s":122},69],"n":[{"d":[{"e":[{".":1,"s":15}],"s":24}],"k":[{"l":4}],"n":[{"a":4,"e":[{".":6}]}]}],"p":[{"a":[{"r":15}],"p":[{"a":1,"e":[{"l":61},1],"i":1,"l":[{"a":[{"t":[{"e":[{".":91}]}]}]},24],"s":19}],"r":2,"t":31}],"r":[{"d":[{"a":1,"e":[{".":1,"l":1}],"r":1,"s":42}],"g":[{"a":15}],"k":[{"a":[{".":4}],"e":[{".":1}]}],"m":[{"e":[{".":4}]}],"r":[{"e":[{".":1}]}],"t":31,"v":[{"a":4}]}],"s":[{"a":22,"e":[{"l":12}],"k":1,"s":1,"t":[{"e":[{".":1}]}]}],"t":[{"r":15,"t":[{"a":[{".":1},94],"e":[{".":1,"s":1}],"o":[{".":1},12]}]}],"v":[{"e":[{"r":[{"e":[{"n":[{"d":123}]}],"i":124,"k":125},18]},31],"r":[{"e":6}],"u":[{"l":4},15]}]},11],"p":[{"a":[{"l":[{"a":[{".":6}],"e":[{".":1}],"i":31}],"n":[{"a":109,"e":[{"u":21},20],"i":20}],"r":[{"e":[{".":4}]}]}],"e":[{"d":[{"o":12}],"k":[{"e":[{".":1}],"t":22}],"l":[{"s":[{"j":23}]}],"n":[{"e":[{".":1}]}],"p":[{"r":24},7],"r":[{"i":126,"m":127}],"s":[{"a":[{".":6}],"e":[{"t":17}],"t":1}]}],"h":7,"i":[{"l":[{"e":[{".":4}]}],"p":4,"r":[{"a":35}],"s":7}],"l":[{"e":[{"n":[{"g":80}]}],"u":[{"s":[{"s":[{"e":128},116]}]}],"ø":[{"s":[{"e":61}]}]}],"o":[{"e":[{"t":1}],"l":[{"a":[{".":6},12],"e":[{".":1}],"o":[{"g":1}]}],"p":[{"e":130,"p":24,"u":67},129],"r":[{"a":6,"e":[{".":4,"s":1}]}],"s":[{"t":4}],"t":[{"a":[{".":6}],"e":[{"k":4}]}]}],"r":[{"o":[{"k":62}]}],"s":7,"ø":[{"n":[{"s":131},24]}],"å":[{"d":20}]},11],"r":[{"a":[{"d":[{"a":[{".":4}]}],"e":[{"t":4}],"g":[{"a":[{".":1}],"e":[{".":1}]}],"j":[{"a":[{".":1}]}],"k":[{"a":1,"s":16}],"m":7,"n":[{"a":1,"e":[{".":1}],"s":[{"a":77}]}],"p":[{"a":[{".":4}],"e":[{".":4}],"s":[{"e":42,"o":132},23]}],"r":[{"e":[{".":1}]}],"s":[{"a":[{".":4}]}],"t":[{"i":2}],"v":[{"a":[{".":4}],"e":[{".":1}]}]}],"e":[{"a":[{"l":1}],"d":[{"a":[{".":4}],"e":[{".":1}]}],"e":[{"l":31}],"g":[{"e":[{"l":5}],"i":[{".":1}]}],"i":[{"d":[{"e":61}],"e":[{"r":[{".":22}]}],"n":[{"s":1}]},28],"k":[{"a":[{".":4}],"e":[{".":1}],"l":[{"a":[{"r":6}],"e":6,"i":1}],"n":4}],"l":[{"e":[{".":6}]}],"m":[{"a":[{".":1}]}],"n":[{"a":[{".":1}],"e":[{".":1}],"s":[{"k":31}],"t":23}],"p":[{"s":22}],"s":[{"s":39,"t":[{"a":[{"n":20}]}]}],"t":[{"t":[{"s":[{"k":[{"r":[{"i":66}]}]}]}]}],"v":[{"e":[{".":1,"s":1}],"n":39}]}],"i":[{"d":7,"e":[{"n":[{"e":22}]},6],"k":[{"a":[{".":4}]}],"m":[{"a":4,"e":[{".":1}]}],"p":[{"a":[{".":1}],"e":[{".":1}],"o":26}],"s":[{"a":[{".":1}],"e":[{".":1}],"k":[{"o":22}],"ø":85}],"t":[{"a":[{".":1}],"e":[{".":4}]}],"v":[{"a":[{".":4}],"e":[{".":1}]}]}],"o":[{"a":[{"n":1}],"d":[{"e":[{".":1}],"i":6}],"e":1,"k":[{"e":[{".":6}]}],"m":[{"a":[{".":1}],"i":1}],"p":[{"a":[{"r":35},4],"e":[{".":1},12]}],"s":[{"a":[{"r":35},1],"e":[{".":1,"d":1}]}],"t":[{"a":[{".":1}],"e":[{".":1,"k":133}]}],"v":[{"a":6,"e":[{".":6},12]}]}],"u":[{"g":[{"a":[{".":6}],"e":[{".":1}],"l":[{"e":39}]}],"k":[{"a":6}],"n":[{"a":[{".":1}],"e":[{".":1,"s":120}],"g":61}],"s":[{"e":[{".":1}],"k":1}],"v":[{"a":[{".":6}],"e":[{".":1}]}]}],"y":[{"e":[{"n":[{"e":61}]},7],"k":[{"e":[{".":4}]}]}],"ø":[{"d":[{"s":134},28],"l":[{"e":[{".":6}]}],"r":[{"e":[{".":1}]}],"v":[{"a":[{".":6}],"e":[{".":1}]},69],"y":[{"e":61}]}],"å":[{"d":[{"a":[{".":6}],"e":[{".":1}]}],"e":[{"n":1,"r":[{".":6}]}],"g":32,"k":[{"a":[{".":4}],"e":[{".":1}],"l":34}],"n":[{"a":[{".":4}]}],"s":[{"a":[{".":6}]}]}]},11],"s":[{"a":[{"g":[{"e":[{".":1}],"n":31}],"l":[{"a":[{".":1}],"e":[{".":1}]}],"m":[{"e":[{".":1,"r":1}]}],"n":[{"d":[{"e":62,"i":62},127],"s":[{"k":[{"u":64}]}]}],"u":[{"e":31}]}],"c":[{"h":31}],"e":[{"b":7,"e":7,"i":1,"k":[{"l":26,"s":[{"o":[{"g":135}]}]}],"l":[{"v":[{"i":136},53]}],"n":[{"a":[{".":4}],"e":[{".":1}],"s":61}],"r":[{"a":[{".":1}],"v":[{"e":[{"l":61}]}]}],"t":[{"e":[{".":1}]}]}],"h":[{"a":[{"k":[{"e":[{".":39}]}]}]}],"i":[{"d":7,"e":[{"r":4}],"g":[{"a":[{".":4}],"e":[{".":1}]}],"k":[{"k":[{"e":19}]}],"l":[{"a":[{".":6}],"e":[{".":1}]}],"n":[{"e":[{".":1}],"n":[{"s":116}]}],"r":[{"a":[{".":1}]}],"s":[{"t":[{"r":15}]}],"v":[{"a":1,"e":[{".":1}]}]}],"j":[{"e":[{"i":23}],"u":[{"o":[{"g":73}]}]}],"k":[{"a":[{"k":[{"a":61,"e":22}],"t":5}],"e":[{"i":[{"d":17}]}],"i":[{"n":[{"n":[{"s":123}]},31]}],"o":[{"d":[{"e":[{".":61}]}],"g":[{"u":17}]}],"r":[{"i":[{"t":[{"t":[{"s":137}]}]}]}],"u":[{"d":[{"d":[{"s":[{"å":51},138]}]}],"m":47}],"y":[{"f":[{"l":[{"a":127}]}]}],"å":[{"r":[{"a":22}]}]},4],"l":[{"e":[{"s":[{"v":47}]}],"i":[{"b":[{"r":127}],"m":17}],"o":[{"t":[{"t":[{"s":139}]}]}],"u":[{"k":[{"a":39,"e":[{".":22}]}]}],"ø":[{"s":[{"e":22}]}]}],"m":[{"a":[{"s":[{"k":17},23]}],"i":[{"g":[{"r":127}]}],"o":[{"g":39}],"å":[{"k":77,"l":39,"t":[{"t":17},42]},24]}],"n":[{"e":[{"k":23},24],"i":[{"t":[{"t":[{"s":138}]}]}],"ø":[{"k":24}]},1],"o":[{"a":32,"d":[{"e":6}],"m":[{"m":[{"a":103}]}],"n":[{"a":31}],"p":[{"p":[{"a":23}]}],"r":[{"t":53}],"t":[{"a":[{".":1}]}]}],"p":[{"a":[{"r":[{"a":22}]}],"e":[{"e":31}],"i":[{"l":[{"a":39}]}],"r":[{"i":[{"s":80}]}]},140],"t":[{"a":[{"k":[{"a":39}],"l":[{"i":22}],"t":[{"s":5}]}],"e":[{"d":[{"s":5}],"i":[{"n":[{"a":141,"s":141}]},23],"m":[{"m":5}],"v":[{"n":[{"a":49}]}]}],"i":[{"m":[{"e":61}]}],"o":[{"n":[{"e":22}],"r":[{"a":31}]}],"r":[{"e":[{"k":[{"s":138}]}]}],"u":[{"a":32,"v":[{"a":39}]}],"å":[{"l":[{"l":80}]}]},4],"u":[{"n":[{"d":[{"s":80}]}],"r":[{"i":1}],"t":[{"e":15}]}],"v":[{"a":[{"l":[{"a":22}],"r":[{"a":[{".":22}],"e":22,"s":17}]}],"e":[{"r":[{"n":46}]}]},6],"y":[{"d":[{"a":52,"e":20},22],"n":[{"a":[{".":4}],"e":[{".":1}]}],"t":[{"e":[{"r":15}],"i":12}],"v":[{"o":[{"g":142}]},3]}],"z":4,"æ":[{"r":[{"e":[{"g":65}]},54]},7],"ø":[{"k":[{"a":6,"e":[{".":1}]}],"l":[{"v":47}],"r":[{"a":24}],"y":[{"e":[{"n":31},17]}]}],"å":[{"p":[{"e":[{"n":15}]}],"r":[{"e":12}]}]},11],"t":[{"a":[{"k":[{"e":[{".":6}],"r":39,"s":[{"k":22,"p":143}]}],"l":[{"a":[{".":1}],"e":[{".":1,"s":1}],"l":[{"i":23}]}],"m":[{"m":22}],"n":[{"d":[{"e":22}]}],"p":[{"r":26}],"r":[{"a":[{".":1}],"e":[{".":1}]}],"s":7}],"e":[{"e":1,"i":[{"e":[{"r":39}]},4],"k":[{"e":[{".":6}]}],"m":[{"a":[{".":1}]}],"o":4,"n":[{"e":[{".":6}]}],"s":[{"e":[{".":1}],"i":2,"t":[{"a":1,"r":1}]}]}],"h":7,"i":[{"a":6,"d":[{"r":22,"s":144,"e":[{".":1}]}],"e":1,"g":[{"r":85}],"k":[{"i":1}],"l":[{"i":36},26],"m":[{"e":[{"d":1}]}],"n":[{"a":[{".":1}],"e":[{".":1}]}],"p":[{"l":26}],"s":1}],"o":[{"a":[{"r":[{"m":15}]}],"e":[{"n":[{".":4}],"r":[{".":1}],"t":[{".":4}]}],"k":[{"k":46}],"l":[{"e":[{".":4}]}],"n":[{"a":[{".":4}]}],"o":[{"g":101}],"r":[{"a":[{".":1}],"e":[{".":1,"b":4}],"g":[{"a":47}],"o":12,"s":[{"k":[{"e":145}],"v":53}],"y":[{"e":15}]}],"s":[{"t":[{"r":1}]}],"t":[{"a":[{"l":[{"a":[{".":49}]}]}],"e":[{".":6}]},10],"v":[{"a":4,"e":[{".":1}]}]}],"r":[{"a":[{"c":61}],"e":[{"b":24,"p":61,"o":[{"g":73}],"s":[{"k":[{"j":[{"a":31}],"o":146}],"l":61,"p":24,"t":19}]}]},4],"s":[{"j":28},7],"u":[{"e":[{"n":[{".":1}]}],"n":[{"a":4,"e":[{".":1}]}],"r":[{"a":[{".":4}],"e":[{".":1}]}],"v":[{"e":[{".":6}]}]}],"v":[{"e":[{"n":31,"r":[{"r":[{"a":147}]}]}],"å":[{"g":61}]}],"y":[{"d":[{"a":[{".":4}],"e":[{".":1}]}],"e":[{"t":6}],"r":[{"e":[{".":6}],"s":148}],"t":[{"e":[{"r":15}],"i":15}]}],"æ":[{"r":[{"e":[{".":1}]}]}],"ø":[{"v":[{"d":39,"e":[{".":4,"r":35,"t":15}]}]}],"å":[{"k":[{"e":[{"r":15}]}],"l":[{"e":[{".":1}]}],"p":[{"n":39}],"r":[{"e":[{"n":15,"t":2}]}]}]},93],"u":[{"a":149,"b":[{"e":[{"r":[{"g":11}]}]},150],"d":[{"e":152},151],"e":[{"r":[{".":0,"a":11,"e":0}]},92],"f":[{"f":1,"s":[{"a":6}]}],"g":[{"a":0,"i":38,"l":[{"a":[{".":4}]}],"n":6}],"i":[{"m":4},153],"k":[{"a":[{".":0}],"e":11,"n":152},154],"l":[{"e":[{".":0,"k":32,"n":[{"d":[{"e":11},5],"e":93}],"t":11},90],"i":[{"n":0}],"k":[{"a":4,"e":[{".":1}]}],"l":[{"a":[{".":1}],"e":[{".":6}]}],"m":[{"a":[{".":6}],"e":[{".":1}]}],"n":[{"e":[{".":1}]}],"t":[{"e":4},15],"u":153,"v":[{"i":26}],"y":153,"å":90}],"m":[{"a":38,"u":61}],"n":[{"d":[{"e":[{"r":[{"i":36}]}],"r":22}],"e":[{"k":38,"t":155},32],"g":[{"e":[{".":1}]}],"n":[{"s":24},7],"o":90,"s":[{"e":[{".":1}]}],"t":1,"u":38},88],"o":153,"p":[{"i":0,"l":7,"p":85},153],"r":[{"a":[{"f":38,"n":[{"e":11},4]},88],"d":1,"e":[{"n":23,"t":[{".":0,"s":11}]}],"i":156,"k":[{"e":1}],"n":[{"a":4,"e":[{".":1}]}],"o":153,"s":69,"t":[{"a":6,"e":[{".":1,"m":125,"t":4}]}],"u":[{"t":38}],"y":90,"å":38}],"s":[{"a":[{".":0,"s":0}],"e":38,"k":[{"a":90}],"n":38,"p":152,"s":[{"e":12}],"t":[{"e":[{"k":152,"l":38}]},113],"y":[{"r":22}]},150],"t":[{"a":[{"g":[{"e":15},23],"k":90}],"e":[{"n":[{".":0}],"s":[{"k":[{"o":21},15]}]}],"i":[{".":0}],"k":[{"a":[{"n":[{"t":157}]}]}],"n":[{"e":[{".":1}]}],"o":[{"l":38,"v":52}],"r":[{"e":[{"r":4}],"o":[{"v":4}],"ø":90}],"s":[{"e":[{".":4}],"i":[{".":1}]}],"t":34,"u":90},88]}],"v":[{"a":[{"d":[{"a":[{".":1}],"e":[{".":1}]}],"i":23,"k":[{"e":[{".":1}]}],"l":[{"e":[{"s":4}],"g":[{"s":17}]}],"n":[{"e":[{".":1}],"n":[{"s":78},53]}],"r":[{"e":[{"t":[{"a":4}]}],"i":[{"e":5}],"s":[{"k":22}]}]}],"e":[{"e":[{"n":[{".":6}]}],"g":[{"a":[{".":1}],"e":[{".":4}],"i":85,"s":65}],"i":[{"g":65,"s":24,"t":[{"a":23}]}],"l":[{"a":[{"r":[{"t":3},9]}],"d":22,"e":85,"l":22,"o":[{"s":9,"v":26}],"y":1,"æ":6},85],"n":[{"e":[{".":1,"t":1}]}],"r":[{"a":[{".":1,"s":1}],"e":[{".":4}],"m":[{"o":33}],"s":[{"t":[{"e":22},5]}]}],"s":[{"l":1,"t":1}],"t":[{"e":[{".":6},17]}],"v":[{"e":[{".":1}]}]}],"i":[{"d":[{"a":[{".":1}],"e":[{".":4},5],"å":158}],"e":7,"k":[{"a":[{".":1}]}],"l":[{"l":[{"a":[{"t":73}]}]}],"m":[{"a":[{".":4}],"e":[{".":6}]}],"n":[{"g":[{"s":16}],"n":22}],"s":[{"a":[{".":1}],"e":[{".":1,"r":[{"i":4}]}]}],"t":[{"a":[{".":1}],"e":[{".":1}],"r":15}]}],"o":[{"k":[{"s":[{"e":19},41]}],"r":4,"t":[{"a":[{".":4}]}]}],"y":[{"e":[{"n":[{"e":22}]}]},1],"æ":[{"r":[{"a":1,"e":[{".":1}]}]}],"å":[{"d":1,"r":[{"s":36},85]}]},11],"w":[{"a":[{"r":1}],"e":[{"g":1}],"i":[{"e":4}]}],"x":[{"e":7}],"y":[{"e":1,"n":[{"d":[{"a":[{".":6}],"e":[{".":1}]}],"g":[{"e":[{".":4}]}],"k":[{"a":[{".":6}],"e":[{".":4}],"v":1}],"s":28}],"p":[{"p":[{"a":[{".":6}],"e":[{".":1}]}]}],"r":[{"j":[{"a":[{".":6}],"e":[{".":6}]}],"k":[{"a":6,"e":[{".":1,"s":14}]}],"t":4}],"s":[{"t":[{"e":[{"r":[{"i":[{"e":159}]}]}]}]},1],"t":[{"r":[{"e":[{"n":35}]}],"t":[{"e":[{".":4}]},15]}],"v":4},11],"z":[{"j":6},0],"æ":[{"r":[{"e":[{"s":[{"a":53,"t":23}]}]}],"t":[{"t":[{"e":[{".":1}]}]}]},93],"ø":[{"g":[{"l":[{"a":6,"e":[{".":1}]}]}],"i":[{"e":4},15],"k":[{"o":22,"t":[{"a":4,"e":[{".":1}]}]}],"l":[{"e":[{"d":12}],"s":52,"v":52}],"m":[{"m":[{"e":[{".":1}]}]}],"r":[{"e":[{"s":[{"t":46}]}],"j":[{"e":1}],"k":15,"n":[{"a":[{".":6}],"e":[{".":1}]}],"s":[{"k":[{"i":4}],"m":35,"t":12}],"t":[{"a":[{"n":39},6],"e":[{".":6}]}]}],"s":[{"t":1},7],"v":[{"d":1,"e":[{"r":[{"s":160},53]}],"r":[{"e":[{".":1}]}]}],"y":[{"d":[{"e":[{".":4}]}],"e":[{"l":[{"e":[{"g":[{"e":[{".":91}]}]}]}],"n":[{"e":15}]},7],"n":[{"a":4},1],"r":[{"a":4,"e":[{"r":6},1]}],"s":[{"t":[{"r":1}]}]}]},11],"å":[{"e":11,"f":11,"g":11,"k":161,"l":[{"t":4,"u":[{"t":[{".":6}]}]},93],"m":93,"n":[{"d":[{"a":[{".":6}],"e":[{".":1}],"s":47}]}],"p":[{"n":[{"a":4}]}],"r":[{"s":[{"k":24}]}],"s":[{"e":11,"k":12,"l":2,"m":12,"t":[{"e":90}],"v":15}],"t":[{"t":[{"e":[{".":1,"o":[{"g":76}]}]}]},0],"v":11},88]}],"a":[{"a":[{"d":153,"f":[{"t":90},162],"g":1,"k":[{"s":153,"v":22}],"l":[{"a":12}],"m":7,"n":[{".":11,"s":[{"t":49}],"t":[{"r":152}]},150],"p":153,"r":[{"i":[{"e":[{"n":[{"e":33}]}]},163],"n":22}],"s":[{"e":164},7],"t":[{"h":20}],"v":153}],"b":[{"a":[{"b":11,"v":2}],"b":[{"l":84,"u":[{"t":1}]}],"e":[{"l":[{"e":[{"i":23}],"t":78}],"n":[{"a":[{".":39}]}],"s":[{"k":[{"a":49}]}],"v":162}],"h":38,"i":[{"e":[{"r":39},36],"l":[{"a":39}],"s":[{"t":0}]}],"l":[{"a":[{"r":[{"a":35}]}],"o":[{"k":1}],"u":61},69],"o":[{"a":165,"b":24,"e":[{"r":90},24],"k":[{"l":24}],"r":[{"d":90,"t":[{"e":166}]}]}],"r":[{"e":6},69],"s":[{"l":7}],"u":[{"e":[{"l":0},22],"f":0,"s":[{"k":11}],"t":[{"e":0}]}],"y":[{".":0,"b":0,"k":0,"r":24}]}],"c":[{"a":[{".":11},22],"h":[{"e":[{"a":18}]}],"k":24,"o":153},167],"d":[{"a":[{"l":38,"n":[{"t":15}],"r":[{"t":0}]},168],"d":[{"a":35}],"e":[{"b":88,"i":[{"s":19}],"k":88,"l":[{"v":169},0],"n":[{"d":38,"e":90}],"o":88,"p":88,"r":[{".":38,"l":[{"e":170}]}],"s":[{"e":[{"r":171}],"l":90},88],"t":[{".":90,"s":90}]}],"f":[{"e":[{"r":164}]}],"g":[{"e":6},172],"i":[{"e":[{"n":[{"e":23}]}]}],"j":[{"u":172},69],"l":173,"m":172,"n":15,"o":[{"a":61,"b":0,"p":[{"p":2}],"r":[{"a":152},162]}],"r":[{"a":[{"f":15,"n":2}],"e":[{"l":2,"p":15,"t":12},88],"i":[{"d":12}],"o":69,"ø":152}],"s":[{"a":[{"m":[{"t":26}]}],"i":1,"l":[{"e":[{"g":[{"e":[{".":120}]}],"t":9}]}],"t":[{"e":[{"k":20},22],"r":12}]}],"u":[{"n":15}],"v":[{"a":[{"r":[{"e":17}]}],"e":173},172],"y":[{".":0}],"ø":[{"y":169}]}],"e":[{"a":162,"d":[{"e":175,"r":61},0],"k":[{"t":22}],"l":[{".":0,"a":15,"i":12,"o":22}],"n":[{"t":22}],"p":90,"s":[{"k":[{"e":[{".":32}]}],"t":23}]},174],"f":[{"a":168,"c":168,"e":[{".":0,"i":17}],"f":[{"a":[{"n":1}],"e":[{"i":1,"s":18}],"i":[{".":2,"d":18}],"u":9}],"i":[{"a":[{"n":22},176],"b":88,"n":[{"n":97}],"r":[{"e":61}],"t":[{"i":0}]},1],"j":[{"o":38}],"l":[{"a":[{".":35,"r":35}],"e":12,"i":15}],"r":[{"i":[{"k":0},172],"a":[{"s":17}]}],"o":[{"r":[{"a":[{".":61}],"e":[{"n":[{"e":14}]},62]}]},168],"s":[{"l":54}],"t":[{"e":[{"i":22,"l":158}],"o":3,"s":177}],"y":[{"r":15}],"ø":[{"r":[{"i":22},23]}]}],"g":[{"a":[{"a":88,"e":38,"n":[{"f":0,"g":[{"s":141}]}],"r":[{"t":0}],"s":[{".":38}],"v":[{"e":[{".":31}]}]},162],"d":[{"e":15}],"e":[{"l":[{"e":[{"n":152}]}],"m":88,"n":[{"t":178}],"r":[{"a":41,"e":[{"k":31}],"i":[{"s":[{"k":22}]}],"s":152,"u":38}],"s":179,"t":[{"a":0}]}],"é":0,"g":[{"a":[{"r":15,"s":1}],"e":15,"s":180,"u":[{"t":4},61]}],"i":[{".":0,"d":15,"s":31}],"l":[{"a":69,"e":[{"m":1,"s":[{"a":4}]}],"å":15}],"m":[{"o":[{"e":46}]}],"n":[{"o":[{"m":22}]}],"o":[{"d":112,"r":69,"s":38,"t":90,"v":15},162],"r":[{"a":[{"s":2}],"e":69,"i":69,"u":181,"å":69}],"s":[{"a":[{"m":[{"b":1}],"n":[{"g":23}]}],"e":[{"i":34,"l":1,"m":12}],"i":[{"n":[{"g":20}]}],"j":[{"u":4}],"k":[{"a":1,"u":[{"l":23}]}],"l":7,"m":[{"å":[{"l":[{"a":120}]}]}],"t":[{"r":24,"v":82}],"y":7}],"u":[{".":11,"a":[{"y":24}]}],"å":[{"v":[{"a":32,"e":[{".":32}]}]}]}],"h":[{"i":38,"n":26,"v":1},153],"i":[{"a":182,"e":[{"r":[{".":12}]},67],"i":[{"s":1}],"k":[{"e":[{".":15}],"o":15,"v":35}],"n":[{"e":15,"g":90,"n":153,"o":158,"s":[{"m":32}]}],"r":[{"o":69}],"s":[{"e":23,"k":[{"h":183},85],"m":6,"o":[{"m":31}],"s":22,"v":9}],"v":[{"e":15}],"ø":15}],"j":[{"a":[{"d":39}],"e":[{".":93,"s":16},152],"é":0,"i":0,"l":11},153],"k":[{".":168,"a":[{".":162,"d":184,"f":168,"k":[{"s":12}],"n":168,"o":53,"r":[{"b":4},162],"t":[{"r":53}],"u":1},153],"d":173,"e":[{"c":155,"h":88,"i":185,"k":11,"l":[{"e":[{"i":[{"e":[{"r":186}]}]},46],"i":42}],"r":[{"e":[{"k":23}],"ø":0}],"s":[{"m":22,"p":36}],"t":[{"e":93}]},173],"h":[{"e":[{"n":36}]}],"i":[{"d":11,"k":11,"n":[{"d":2}],"s":176},187],"j":188,"k":[{"a":[{"n":[{"d":31}]}],"e":[{".":15,"n":12,"r":[{"s":[{"t":22}]}],"s":1}],"i":[{"m":15,"s":26},5],"j":4,"o":[{"l":24},69],"r":[{"i":3}],"u":[{"l":1},69],"v":26}],"l":[{"e":[{"v":12}],"i":[{"k":4}],"u":[{"s":4}]},189],"n":[{"e":15,"o":38},168],"o":[{"m":[{".":15}],"n":38,"s":152,"v":8},188],"p":[{"e":163}],"r":[{"a":[{"s":[{"a":46}]}],"e":[{"g":[{"i":190},15],"s":12}],"o":[{".":12,"e":12}],"u":69}],"s":[{"a":[{"n":[{"d":26}]}],"e":[{"k":1,"l":[{"o":124,"v":26}],"s":1}],"i":[{"d":40}],"j":[{"e":164}],"k":[{"u":2},129],"l":4,"o":162,"r":162,"t":[{"i":22,"o":[{"l":15}],"r":[{"e":[{"n":16}]},23]}],"u":162}],"t":[{"a":[{"b":1,"i":1,"k":1,"l":[{"e":[{".":36}],"l":22}],"m":4,"n":[{"s":4}],"p":1,"s":1,"v":1}],"e":[{"g":1,"k":1,"m":[{"e":15}]}],"h":162,"i":[{"g":191,"t":15}],"l":[{"e":[{"g":[{"e":[{".":120}]}]}]}],"r":[{"e":4,"å":24},7],"s":[{"l":[{"a":42}]}],"u":[{"e":166}],"æ":109}],"u":[{"t":183}],"v":[{"a":[{"l":12}]},173],"ø":[{"l":15}],"å":38}],"l":[{"a":[{".":167,"d":[{"r":2}],"g":[{"a":39,"m":38,"r":[{"a":46}]},23],"h":38,"i":153,"l":[{"l":12}],"m":[{"e":34}],"n":[{"a":12,"d":[{"e":[{".":38}]},90],"e":38,"g":[{"r":17}],"l":12,"v":12}],"o":23,"p":[{"r":22}],"r":[{".":38,"a":90,"e":[{"n":38}],"k":12,"l":152,"m":178,"r":15,"s":38,"t":12,"v":152}],"s":[{"i":34}],"t":[{"r":61},173],"u":[{"k":15},162],"v":[{"a":23},69]}],"b":[{"a":[{".":1}],"o":[{"g":5}],"u":[{"e":[{"r":[{".":16}]}],"m":166}]}],"d":[{"e":[{"r":2},12],"o":162,"r":[{"e":24}]}],"e":[{"f":88,"g":[{".":155},88],"i":[{"e":[{"n":120}],"k":192}],"k":[{"e":38,"s":0}],"l":[{"i":0}],"m":[{"u":9},88],"n":[{".":6,"h":193,"t":[{"r":194}]}],"p":[{"o":[{"s":23}],"t":152}],"r":[{"e":[{"d":[{"e":[{".":120}]},0]}],"o":195,"u":0}],"s":[{"e":61,"k":[{"r":47},0],"l":0,"u":11},180],"t":[{"a":0,"e":196}],"u":88,"v":[{"a":0,"i":0},22]},173],"f":[{"a":[{"b":164}]}],"g":[{".":173,"e":[{"b":12}],"u":7,"å":[{"r":1}]}],"i":[{"l":[{"l":12}],"m":88,"n":[{".":155,"a":[{".":22}],"d":193,"s":193,"t":12}]}],"j":[{"a":[{".":35}],"e":[{".":12,"n":[{"d":22}],"r":12}],"o":[{"r":1},69],"u":129,"ø":[{"v":19},69]}],"k":[{"e":[{"r":[{"a":35}]}],"s":77}],"l":[{"a":[{"g":[{"a":5,"e":[{".":36}]}],"p":1,"r":[{"t":22}]}],"e":[{"a":15,"g":[{"e":[{".":36}]}],"k":1,"n":[{".":15}],"r":[{"s":[{"t":22}]}],"s":[{"t":1},124],"t":15}],"i":[{"a":164,"d":1,"e":197,"n":[{"e":49}],"s":[{"t":[{".":4}]}]}],"o":[{"m":99}],"s":[{"e":[{"n":23}],"t":[{"i":23}]}],"u":[{"l":4}],"ø":[{"s":[{".":4,"e":1,"t":6}]}],"å":4}],"m":[{"a":[{"l":167}],"e":[{"k":4,"t":1}]}],"n":162,"o":[{".":38,"b":182,"i":38,"m":69,"n":153,"p":[{"e":12}],"r":[{"d":2,"i":[{"t":31},14]}],"v":[{"e":12}],"w":16}],"p":[{"s":12},28],"s":[{"e":[{"d":2}],"k":[{"a":[{"p":35,"r":[{"e":2}]}]}],"l":[{"ø":22},54],"n":7,"p":[{"u":4}],"t":[{"e":[{"r":31},23]}],"u":168},173],"t":[{"a":[{"k":31,"l":[{"e":[{".":46}]}]}],"e":[{"d":12,"m":[{"a":2}],"r":[{"n":[{"a":166}]}],"t":[{"a":26,"e":26},5]}],"o":[{"p":85}]}],"u":[{"k":198,"l":[{"l":[{"a":46}]}],"n":[{"d":15}],"r":[{"e":[{".":32}]}]}],"v":[{"a":[{".":15,"k":[{"s":[{"e":[{".":91}]},22]}]}],"e":[{"d":1,"r":[{"m":199},20],"s":[{".":35},17]}],"i":[{"s":[{"e":46}]}],"o":69,"s":24}],"y":[{"t":[{"e":201}]},200],"ø":[{"s":[{"e":22}],"v":12}],"å":[{"t":40},153]}],"m":[{"a":[{"h":0,"i":[{"s":22}],"k":[{"i":38,"s":12},88],"l":[{"d":15},88],"n":90,"r":[{".":90,"a":38}],"s":[{".":152,"o":58}],"t":[{"ø":178}]}],"b":[{"a":[{"r":1,"s":164,"t":1}],"e":15}],"e":[{"i":[{"e":12,"s":90},88],"k":[{"s":12},88],"n":[{"d":[{"e":[{".":46}]}],"s":43,"t":[{"a":[{"r":[{"v":202}]}]}]}],"r":[{"a":[{"m":23}],"e":[{"t":0}],"i":[{"n":162},178]}],"u":22}],"h":[{"u":16}],"i":[{"n":[{"a":61,"e":61}],"s":[{"k":[{"u":5},203]}]},173],"l":[{"e":[{"s":[{"e":1,"t":4}]}]}],"m":[{"a":[{"d":1}]}],"n":[{".":168,"e":[{"d":1}]}],"o":[{"e":22,"p":69,"r":69,"v":[{"e":31}]},88],"p":[{"a":[{"p":1,"r":[{"e":1}]}],"e":[{"i":22,"r":[{"i":[{"a":6,"e":4}]}],"s":120}],"i":[{"n":[{"n":61}]}],"l":[{"e":[{"t":9}]},107],"r":[{"e":25}],"u":[{"n":1}],"å":7}],"r":[{"u":5,"å":15}],"s":[{"k":[{"u":40}],"l":23,"t":[{"r":85},36],"u":[{"t":39}],"v":[{"e":26},28],"ø":7},69],"t":[{"i":[{"d":[{"a":17}]},12],"m":166,"v":2}],"u":[{"l":4}],"y":[{"r":15}],"ø":[{"y":15}]}],"n":[{"a":[{".":168,"k":[{"t":[{"e":[{".":46}]}]}],"l":[{"a":24,"f":5,"y":164}],"n":[{"e":90,"g":38,"t":91},167],"r":[{"b":11,"t":15},162],"t":[{"o":24}],"u":[{"s":58},204],"v":[{".":35}]}],"b":[{"e":[{"f":164}]}],"d":[{".":162,"a":[{"m":205,"t":[{"a":17}]}],"e":[{"k":1,"n":15,"r":[{"l":[{"e":51}]}],"t":35}],"o":[{"s":1},168],"s":[{"e":[{"l":23,"n":[{"d":32}]}],"l":[{"e":[{"t":61}]}],"t":[{"r":[{"e":19}]}]},162]}],"e":[{"d":88,"g":[{"g":15}],"l":[{"v":169,"u":64}],"m":88,"n":173,"r":[{"m":[{"e":206}],"u":24},173],"s":[{".":38,"t":0,"v":22}],"t":[{"i":[{"k":[{"a":20,"e":38,"k":20}],"s":9}]}],"v":88}],"f":[{"a":[{"l":164}],"ø":[{"r":[{"e":[{".":17}]}]}]}],"g":[{"e":[{"d":1,"n":[{"h":26}],"r":[{"m":[{"e":22}]}],"s":[{"t":[{"e":6}]}]},23],"i":[{".":1,"v":166}],"o":[{"f":22,"s":15}],"r":[{"a":207,"e":[{".":1,"s":4,"t":1}],"y":85}],"s":[{"m":23,"t":[{"r":[{"o":36,"å":208}],"y":14}],"v":[{"a":22}],"ø":[{"y":31}]}],"t":[{"r":[{"e":53}],"v":[{"e":19}]}],"u":[{"n":1}],"å":[{".":1}]}],"i":[{"a":16,"b":11,"s":[{"j":0}],"v":162}],"k":[{"a":[{"n":[{"a":1}]}],"i":162,"j":162,"o":[{"b":1,"p":1,"s":1}],"r":[{"a":[{"n":[{"a":[{".":91}]}]}],"e":24},129],"u":[{"t":24}],"v":209,"ø":1,"å":83}],"l":[{"a":[{"n":[{"d":123}]},173],"ø":[{"p":[{"a":49}]}]}],"n":[{"a":[{"n":[{"s":22}]}],"e":[{"m":[{"e":4}],"n":15,"r":15}],"i":[{"d":15,"n":[{"n":1}]}],"o":[{"m":1,"n":166,"v":1}],"s":[{"e":[{"i":23}],"i":[{"d":23}],"k":[{"å":127}],"l":31,"t":[{"a":22},24],"u":41}],"y":1,"ø":7}],"o":[{".":90,"a":[{".":155}],"d":[{"e":[{"b":31}]}],"g":173,"r":[{"m":152}],"t":11,"v":[{"a":22,"e":12},210]}],"r":[{"i":[{"k":[{"e":16}]}]}],"s":[{"a":[{"f":[{"t":22}],"k":[{"a":16}],"n":162,"t":164}],"e":[{"k":1,"n":[{"t":1}],"r":[{"i":[{"e":[{"n":[{"e":211}]}]}]}],"s":1}],"i":[{"k":164,"n":[{"d":22,"s":22}]}],"k":[{"i":1,"j":12,"l":41,"u":[{"n":31}],"ø":15}],"l":[{"ø":4}],"n":1,"o":[{"r":22}],"p":[{"i":85,"o":[{"r":[{"t":[{"s":212}]}]}]}],"t":[{"a":[{"r":168}],"e":214,"u":109,"i":215},213],"u":[{"n":[{"d":[{"a":166},57]}]},173],"v":[{"e":162},216],"y":168,"å":1}],"t":[{"a":[{"l":[{"a":46}],"n":[{"d":20,"s":1}]}],"e":[{"d":12,"m":[{"i":22}],"n":[{"n":166}],"s":[{"l":1}]}],"i":[{"k":[{"l":16}],"m":1}],"o":[{"i":15,"r":[{"d":22}]}],"r":[{"a":[{"b":22}],"o":[{"m":61}],"y":[{"g":22}]}],"s":19,"u":[{"l":1,"s":[{"t":103}]}]}],"u":[{"s":[{"a":16}],"t":15},173],"v":[{"e":[{"n":164}],"i":[{"n":168}]}],"y":[{"a":0},168],"æ":[{"r":46},217],"ø":[{"k":88},173],"å":2}],"o":[{"a":35,"g":39,"i":88,"k":70,"n":[{"d":[{"e":[{".":32}]}]}],"p":7,"r":1},153],"p":[{"e":[{"a":38}],"é":152,"i":[{"a":88,"d":69,"k":11,"n":[{"s":11}],"o":88,"r":[{"e":77},47],"s":[{"e":61}]},153],"j":69,"l":[{"a":[{"s":149},153],"i":12,"o":35,"y":7}],"o":[{"l":162,"n":0,"o":0,"p":24,"s":[{"t":[{"i":42}]}],"t":88}],"p":[{"a":[{"r":[{".":162,"e":168},218]}],"e":[{"s":[{"k":61}]}],"l":[{"a":[{"s":15}],"e":1,"i":15}],"r":[{"i":4}]}],"r":[{"a":12,"e":[{"n":15,"t":15}],"i":[{"n":12}]}],"s":[{"a":5,"e":[{"l":12,"s":5}],"l":219,"y":90,"ø":26},129],"u":[{"t":97},167],"y":153,"ø":[{"l":[{"s":220}]},2],"å":[{".":38}]}],"r":[{"a":[{"b":[{"i":39}],"k":[{"s":15,"t":17}],"l":[{"t":12}],"m":[{"i":0}],"n":[{"o":[{"r":0}],"s":0,"v":0},173],"r":173,"s":[{"s":169}],"t":[{"e":[{".":22}]}],"u":[{"g":15,"k":[{"e":[{"n":49}]},2]}],"v":[{"h":2}]},153],"b":[{"a":[{"n":[{"e":[{".":46}]}]},173],"e":[{"h":168,"n":162,"t":168}],"i":173,"j":162,"l":168,"o":[{"d":[{"a":46}]},173],"r":173,"u":173,"y":173,"ø":173,"å":162},172],"d":[{"e":[{"b":2,"l":[{"i":4}]}],"f":[{"ø":[{"r":[{"e":14}]}]}],"r":[{"e":24}],"s":[{"t":[{"a":22}]}]}],"e":[{"a":[{"r":162},184],"b":[{"a":[{"r":103}]},0],"d":88,"f":88,"i":[{"n":24},88],"k":[{"t":97},88],"l":[{"a":0,"e":[{"k":2}],"i":221}],"m":[{"n":2,"o":[{".":38}]}],"n":[{"a":164,"g":97,"i":0,"t":[{"e":[{"s":17}]}]}],"o":88,"p":88,"r":[{"e":[{"l":11}],"f":[{"a":169}],"k":11,"o":0,"ø":11}],"s":[{".":38,"k":[{"a":46}]}],"t":[{"a":[{".":152}]},1],"v":[{"a":40,"n":[{"e":[{".":36}]},12]},0]},153],"é":222,"f":168,"g":[{"h":40,"i":20,"j":168,"l":23,"o":2,"s":[{"t":[{"j":22}]}]}],"i":[{"a":[{"n":[{"e":16}]}],"b":[{"a":33},90],"d":[{"r":15}],"m":0,"n":[{"n":12,"s":[{"k":33},12],"t":12}],"s":[{"e":[{"a":103},24],"t":[{"o":0}]}],"v":88},188],"k":[{"a":[{"u":1}],"e":[{"s":223},12],"h":[{"a":15}],"i":[{"t":164,"v":164}],"l":[{"e":1,"ø":[{"f":26}]}],"o":[{"d":4}],"s":[{"t":[{"e":31,"r":23}]}],"v":[{"e":[{"g":61}]}],"ø":[{"y":1}]}],"l":[{"a":[{"g":[{"a":5}]}]}],"m":[{"a":[{"p":1}],"b":[{"å":166}],"e":[{"d":[{"i":1}],"t":[{"r":4},16]}],"i":[{"n":[{"f":1}]}],"l":[{"e":[{"n":[{"e":[{".":120}]}]}]}],"å":[{"l":[{"a":36}]}]}],"n":[{"a":[{"d":1,"l":1}],"e":[{"v":[{"a":[{"l":[{"a":170}]}]}]}],"i":12,"o":12,"u":12,"å":12},224],"o":[{".":153,"d":[{"e":[{".":32}]}],"k":38,"n":153,"p":[{"a":31},69],"r":225,"s":[{"t":2},153],"t":153,"v":[{"e":12}]}],"p":[{"e":[{"d":4}],"o":35,"r":[{"e":[{"t":22}]}]}],"r":[{"a":172,"e":[{"e":15,"s":[{"k":2}]}],"i":[{"e":105}],"å":[{"d":[{"a":36}]}]}],"s":[{"a":[{"k":[{"a":36}],"n":[{"s":22}]}],"e":[{"l":12,"r":[{"s":3}]}],"i":[{"n":1}],"k":[{"a":[{"m":22,"r":15}],"e":[{"s":22}],"r":[{"e":61}]}],"p":[{"r":1}],"t":[{"r":31}],"v":[{"e":[{"i":23}]}],"æ":61},173],"t":[{"a":[{"l":[{"a":5,"e":[{".":36}]}]}],"e":[{"l":[{"e":2}],"t":[{"s":167}]},12],"h":[{"a":[{".":23,"s":23}]}],"i":[{"k":[{"a":1}],"m":226}],"n":162,"o":[{"p":1},162],"r":[{"a":39,"i":[{"n":4}]},168],"s":[{"t":47,"ø":17}],"u":168,"y":[{"v":1},167]}],"u":[{"l":69,"n":69,"r":20,"s":153,"t":[{"b":15,"n":15}]}],"v":[{"e":[{"s":18,"t":[{"e":4}]}],"i":[{"s":[{"a":46,"e":[{".":46}]}]}]}],"y":153,"æ":40,"ø":[{"v":[{"e":[{".":32}]}],"y":69}],"å":[{"d":[{"e":[{".":32}]}],"p":2,"t":97},153]}],"s":[{".":168,"a":[{"b":5,"k":5,"l":[{"o":0}],"n":4,"u":[{"g":2}]},187],"b":[{"e":183}],"c":153,"e":[{".":88,"a":5,"d":88,"g":88,"k":88,"l":[{"e":22},1],"m":88,"n":[{"e":[{"t":11}],"k":0}],"o":[{"l":152}],"s":[{"t":11},227],"t":[{"e":0}],"u":228}],"h":[{"u":15},7],"i":[{"b":0,"p":88,"r":88,"s":[{".":152,"t":17}],"v":88}],"j":[{"a":1,"e":[{"t":[{"t":11}]}],"o":[{"r":15}]}],"k":[{"a":[{"r":12}],"e":[{"t":[{"i":15},31]}],"i":[{"s":15},28],"j":38,"o":[{".":15,"e":15,"p":[{"i":169}],"r":12,"t":12}],"r":[{"a":2},153],"u":[{"l":[{"a":149,"e":4},12],"t":143}],"v":1,"ø":[{"y":22}]}],"l":[{"a":[{"g":[{"a":46},229]}],"e":[{"v":1}],"i":[{"t":1}]},69],"o":[{".":0,"m":230,"v":15},153],"p":[{"a":[{"n":1}],"e":12,"i":[{"s":2}],"l":15}],"s":[{"a":[{".":35,"b":1,"l":[{"d":22,"t":22},1],"m":1}],"e":[{".":15,"d":1,"k":1,"r":[{"i":[{"e":231}],"v":1}],"s":1}],"i":[{"f":[{"r":4}],"n":[{"g":15}],"s":18,"t":1}],"j":7,"k":[{"u":[{"l":[{"e":[{".":120}]}]}]},232],"n":107,"o":[{".":15,"a":49,"s":[{".":2}]}],"p":232,"t":[{"a":[{"n":1}],"r":[{"u":22},1]},107],"v":129,"y":[{"s":1}],"ø":[{"k":1}],"å":233}],"t":[{"a":[{"b":4,"n":[{"d":[{"e":11}]}],"t":[{"u":0}]},69],"e":[{".":15,"d":12,"g":1,"k":1,"n":[{"h":26}]}],"j":153,"o":[{"f":155,"k":38,"s":20,"v":22}],"r":[{"e":[{"n":22}],"o":1}],"u":[{"a":35,"v":[{"e":[{".":46}]}]}],"ø":[{"v":42}]}],"u":[{"n":24,"s":[{"a":39}]},153],"v":[{"a":69}],"y":[{"m":11,"n":[{"d":16}]}],"ø":[{"y":[{"e":2}]}],"å":15}],"t":[{".":162,"a":[{"e":[{"n":[{"e":38}]}],"f":4,"k":[{"a":[{".":32}]}],"l":[{"a":[{".":32}]}],"n":[{"g":0}],"r":[{"a":[{"r":39}],"v":96}],"s":[{".":38},5],"t":46,"u":88,"v":[{"h":15}]},234],"c":[{"h":17}],"e":[{"a":88,"c":88,"d":[{"d":2}],"e":88,"i":[{"d":15,"g":12,"n":24},0],"k":[{"a":0,"e":[{"t":[{"a":58}]},112],"t":[{"e":97}]}],"l":[{"e":61}],"m":[{"b":12}],"n":[{"e":[{".":38}],"i":0,"u":0},162],"o":88,"r":[{".":38,"a":[{"t":11}],"e":[{"k":93}],"i":[{"l":0}]},162],"s":88,"t":[{"t":193}],"u":3}],"é":0,"f":[{"e":[{"r":164}]}],"h":[{"a":[{".":1,"s":6}]}],"i":[{"k":[{"k":[{"a":36}]}],"l":[{"i":14}],"n":[{"e":[{"a":22}]}],"r":[{"e":[{"p":23}]}],"s":[{"t":[{"a":32}]}]},162],"j":[{"o":12}],"l":[{"a":[{"n":[{"t":166}]}],"ø":[{"y":39}]}],"m":[{"o":[{"s":164}]}],"n":[{"e":[{"l":1}]}],"o":[{"a":22,"g":[{"r":22}],"i":69,"m":88,"p":[{"p":[{"r":97}]}],"r":153,"s":[{"e":38}],"v":235}],"r":[{"a":153,"e":[{"g":15,"n":12,"r":12}],"i":[{"f":0,"n":12}],"o":[{"t":15}],"u":155,"ø":[{"s":15,"y":15}]}],"s":[{"e":[{"r":12}],"j":[{"e":2}],"k":[{"a":[{"t":40}],"j":2,"u":[{"l":31}]}],"ø":107},173],"t":[{".":162,"a":[{"t":4}],"e":[{".":236,"n":[{"s":15}]}],"f":[{"ø":[{"r":[{"e":58}]}]}],"i":[{"d":1,"s":[{"e":22},5],"t":12}],"o":[{"p":77,"v":36},54],"r":[{"a":[{"f":1}],"e":85,"i":[{"n":4}]},69],"s":[{"k":75,"l":112,"p":24,"v":24}],"y":[{"s":4}],"ø":237}],"u":[{"e":42,"t":88},153],"v":[{"i":[{"e":[{"r":[{".":17}]}]}]},15],"w":238,"y":[{"r":[{"k":[{"e":[{".":46}]}]}],"v":149},153],"ø":[{"r":[{"s":18}],"s":[{"e":39}],"y":169},153],"å":[{".":90,"a":152,"e":153,"r":15,"s":[{"e":9}],"t":239}]}],"u":[{".":162,"a":[{"r":[{".":35}]},240],"b":[{"a":[{"n":[{"e":[{".":36}]}]}]},236],"c":12,"d":[{"a":[{".":15}],"e":[{"t":35}],"i":[{".":1}]}],"e":[{"n":2,"r":[{"e":22},2],"s":[{"t":12}],"t":[{"a":3,"e":[{".":20}]}]},241],"g":[{"a":[{"l":1,"s":1}],"e":[{"l":[{"e":[{"g":[{"e":[{".":242}]}]}]},1]}],"n":243,"u":164}],"i":15,"k":[{"e":[{"l":[{"i":15}],"t":15}],"l":[{"a":22}],"s":244,"v":[{"e":15}]}],"l":[{"a":[{"s":4,"t":1}],"l":[{"a":32},22],"u":15}],"m":[{"e":[{"n":35}],"o":4,"s":[{"k":19,"t":134}]}],"n":[{"d":38}],"r":[{"a":[{"e":15}],"e":[{"s":17,"t":15}],"i":15,"s":19,"u":[{"e":5},69]}],"s":[{"a":69,"k":[{"j":39,"r":4}],"o":69,"s":22,"t":[{"a":[{"s":111}],"e":[{"t":[{"t":32}]}],"i":[{"s":[{"e":127},120]}],"o":[{"n":31}],"r":[{"a":4,"i":4},15]}],"u":[{"n":1},69],"ø":245}],"t":[{"a":[{".":12,"r":2},31],"e":15,"o":[{"v":17},172],"r":[{"e":34}],"y":1}],"x":173}],"v":[{"a":[{"b":15,"e":38,"g":61,"l":[{"v":12},168],"n":[{"d":193,"g":12,"l":169,"s":246}],"r":[{".":155,"t":[{"a":[{".":36}]},12]}],"s":162,"t":[{"a":36}]},153],"b":[{"i":166}],"d":[{"e":[{"l":164}]},172],"e":[{"d":[{"e":[{".":38}]},247],"i":[{"l":152,"n":24}],"k":88,"l":[{"a":0,"e":[{"g":38},0]}],"n":[{"s":103}],"r":[{".":38,"a":[{"s":61}],"d":17,"e":[{"i":11}]}],"s":88,"v":88},188],"f":[{"a":172}],"g":172,"i":[{"a":[{"r":23}],"g":248,"k":[{"e":39},153],"n":[{"t":169},153],"r":173,"s":[{"a":[{".":22},166],"e":249,"i":[{"n":[{"g":15}]}],"t":18}],"t":38}],"l":[{"u":[{"t":49}],"ø":[{"s":[{"e":17}]}]}],"n":[{"a":2,"e":[{"s":1}]},168],"o":[{"k":0,"r":24,"v":23},153],"r":[{"e":[{"s":1}],"i":15},69],"s":[{"a":69,"e":[{"g":15}],"i":28,"k":[{"o":[{"g":58}]}],"n":[{"i":164}],"p":[{"e":[{"g":250}]},8],"t":[{"e":23}],"u":15,"v":8}],"t":[{"a":[{"k":[{"a":49}]}]},172],"u":173,"v":[{"i":172}],"ø":[{"l":12}],"å":[{"l":251},187]}],"w":[{"a":[{"t":5},153],"e":[{"n":[{"e":39}]},38],"i":153}],"y":[{"a":[{"n":[{"e":[{".":2}]}],"r":15},7],"s":[{"t":84}],"t":229}],"z":[{"u":38,"z":[{"o":24}]}],"ø":153,"å":252}],"b":[{"a":[{"a":12,"b":[{"y":[{"s":1},17]}],"c":[{"l":15}],"d":[{"a":[{".":1,"n":2}],"d":38,"e":[{".":6,"b":1,"n":[{".":15,"s":2}]}],"i":12,"s":54},7],"f":162,"k":[{"a":[{"n":254,"r":[{"s":170},12]}],"e":[{"n":[{"d":[{"e":[{".":120}]},26]},12],"r":12,"s":18,"t":[{".":35,"t":39}]}],"i":[{".":6},12],"k":[{"e":[{"r":[{"s":31}]}],"o":31,"r":22}],"r":[{"e":23,"i":15,"o":24},162],"s":[{"m":24,"p":22,"t":[{"i":19,"r":22}]}],"t":77,"v":54},7],"l":[{"a":[{"k":61},12],"e":[{"s":1}],"i":[{".":1}],"j":24,"l":[{"a":[{"g":23,"n":23}],"e":[{"d":23,"g":23,"i":23,"v":23}],"i":[{"g":23}],"o":[{"v":31}],"s":80,"æ":31}],"o":69,"t":22,"u":69}],"n":[{"a":[{".":1,"n":15,"r":15},23],"d":[{"a":39}],"e":[{"l":1,"s":1}],"k":[{"a":[{"p":31}],"o":[{"r":23}],"u":255}],"t":[{"u":14}]}],"r":[{"e":[{"t":[{"t":14}]},12],"i":[{"e":[{"n":202}]},12],"k":[{"s":17}],"s":[{"k":[{"r":22}]}],"t":[{"r":22}],"u":15}],"s":[{"e":[{"n":15,"r":[{"u":1}],"t":1}],"i":12,"k":129,"s":[{"a":[{"k":31,"n":23}],"i":[{"s":139},103],"o":23,"t":[{"r":36},23]}],"t":7,"u":94}],"t":[{"a":69,"r":189,"t":[{"i":31}]}],"u":[{"l":[{"a":39}]}],"v":168,"z":15},253],"b":[{"a":[{"k":11,"r":[{"b":169}],"s":[{"e":11}]},90],"e":[{".":90,"b":0,"d":[{"a":0}],"f":88,"g":0,"h":11,"i":[{"e":12,"g":15},88],"k":88,"l":[{"o":11,"t":[{"e":190},256]}],"m":0,"n":[{"e":[{".":155}]}],"o":88,"r":[{"f":169},90],"s":[{"k":[{"a":152}]},257],"t":[{"a":11,"e":[{"n":11}],"i":0,"o":11,"r":11}],"v":88}],"h":258,"i":[{"e":143,"n":[{"n":169}]},90],"l":[{"e":[{"n":2}]},259],"o":[{"p":15}],"r":[{"e":[{"k":15}]}],"u":[{"r":[{"a":39}],"t":[{".":15,"e":15}]}],"y":[{"e":24,"k":54},227],"ø":0,"å":11},188],"c":173,"d":[{"e":[{"k":88,"n":152,"p":0}]},188],"e":[{"a":[{"u":7}],"b":[{"o":[{".":1,"e":[{"r":[{".":17}]}],"k":49}]}],"d":[{"a":[{".":1,"r":35}],"e":[{"r":12}],"i":[{"e":260}],"r":[{"e":[{"d":22},1]}],"s":261,"y":[{"r":[{"a":49}]}],"å":262}],"e":[{"d":15,"f":4},173],"f":[{"a":[{"r":[{"e":17}]}]},0],"g":[{"a":[{".":1},16],"i":[{".":1}],"n":1,"o":15,"r":[{"e":[{".":26,"n":[{"e":[{".":26}]}]}]}],"å":[{".":1}]},12],"h":[{"a":[{".":4,"g":16}],"e":[{"r":[{"s":170}]}],"u":162,"å":[{"r":5}]}],"i":4,"k":[{"e":15,"i":107,"k":[{"e":[{"l":31,"r":14,"s":23}]}],"l":31,"s":162}],"l":[{"a":[{"b":85,"g":[{"a":49}]}],"e":[{"i":[{"e":22,"g":22,"n":22}],"k":1}],"i":[{"n":[{"a":49}],"v":49}],"l":[{"e":[{"s":[{"a":14}],"t":22}],"æ":22}],"o":129,"s":[{"p":42,"t":134}],"t":[{"a":[{"g":23}],"e":[{"s":263}],"ø":41}],"u":24,"v":22,"æ":[{"r":[{"e":17}]}],"å":[{"n":[{"e":16}]}]}],"n":[{"a":[{"t":15},1],"e":[{"d":162,"s":[{"t":1}]},12],"g":22,"i":15,"s":[{"i":42,"k":[{"j":22}],"p":22}],"t":[{"e":22}]}],"p":173,"r":[{"a":[{"i":162,"s":2}],"d":22,"e":[{"p":1,"s":[{"t":167}],"t":[{"e":17}]}],"g":[{"a":23,"e":[{"n":[{"d":[{"e":53}]}],"s":22}],"j":18,"l":18,"o":18,"å":41}],"i":[{"b":15,"k":[{"e":17}],"s":2}],"k":[{"l":31}],"n":[{"a":22,"e":22}],"o":[{".":1,"a":49},69],"r":[{"i":120}],"t":[{"e":22,"i":22}],"u":[{"s":[{"a":49}]},69],"ø":[{"v":17}]},0],"s":[{".":166,"e":[{".":1}],"i":[{"k":162},9],"j":168,"k":[{"e":22,"n":47}],"n":[{"e":61},12],"o":[{"v":49},265],"p":15,"s":[{"a":266,"e":[{"l":31}],"i":61},24],"t":[{"e":[{"n":[{"s":61}],"s":[{".":15},31]}]}],"å":4},264],"t":[{".":166,"a":[{"b":1}],"e":[{"i":162,"s":2},12],"o":[{"n":[{"e":17}]}],"r":[{"a":[{"r":4}],"e":[{".":4}],"i":85}],"u":162,"y":[{".":1}]},178],"v":[{"a":[{"r":[{"e":17}]}],"e":[{".":4}],"i":[{"s":[{"e":[{".":17}]}]}],"o":35,"r":39}],"å":[{"n":49},168]},172],"é":191,"f":267,"g":168,"h":[{"u":54},173],"i":[{"a":[{"k":15}],"b":[{"l":[{"a":4}]}],"c":[{"e":15}],"d":[{"e":[{"e":15}],"é":6,"r":31,"u":46},69],"e":[{"l":[{"e":4},15],"r":[{"v":15}]}],"f":[{"a":162}],"g":15,"k":[{"a":12,"k":[{"i":31},54],"l":9,"r":268}],"l":[{"a":[{".":4,"p":26,"s":1,"u":1}],"e":[{"t":[{"r":14},12]}],"i":[{"n":1}],"j":24,"l":[{"a":[{"g":[{"a":91}]},22],"e":[{"g":22}]}],"m":19,"o":54}],"m":269,"n":[{"a":[{"n":[{"s":1}]}],"g":[{"o":[{"l":23},14]}],"o":2,"t":248}],"o":[{"m":[{"s":270}]},61],"p":162,"r":[{"i":[{"s":[{".":2}]},223],"k":[{"e":[{"n":23}]}],"o":69}],"s":[{"a":28,"e":12,"h":[{"i":31},38],"k":[{"e":61}],"l":[{"a":9}],"n":167,"p":[{"i":53},1],"s":[{"e":22}],"t":[{"a":20,"i":[{"l":23}],"r":[{"u":22}]},69],"v":34}],"t":[{"a":[{".":4}],"e":[{".":1,"s":15}],"i":[{".":6}],"r":[{"e":1,"i":4}]}]},253],"j":[{"a":[{"r":18}],"e":[{"k":[{"t":[{"o":271}]}]}],"ø":[{"r":31}]}],"k":[{"h":38},272],"l":[{"a":[{"d":[{"a":18},184],"f":144,"g":[{"a":32}],"k":[{"r":17}],"m":[{"e":22}],"n":[{"d":[{"a":49}],"k":[{"e":17},0],"t":0}],"r":[{"a":[{"r":93}]},153],"t":90,"u":23}],"e":[{"f":0,"i":[{"e":[{"r":17},273]}],"k":[{"a":41,"e":[{"s":22}]},0],"m":[{"o":23}],"r":[{"a":77},90],"s":[{"a":11,"s":[{"e":[{"n":[{"e":186}]}]}],"t":0}],"t":173}],"i":[{"k":[{"e":39}],"m":[{"a":22,"e":22}],"n":[{"g":[{"s":[{"i":123}]}]}],"s":[{"s":18}]}],"j":[{"a":5},38],"o":[{"d":[{"r":31}],"k":172,"m":[{"m":17}]}],"u":[{"e":[{"s":203}],"s":[{"a":39}]},11],"y":[{"g":[{"l":61}]}],"æ":[{"r":[{"e":[{".":22}]}]}],"å":[{"n":22,"r":24,"s":[{"a":61,"e":[{".":22}]}]}]},7],"m":274,"n":[{"e":[{".":90,"r":90,"s":[{".":152}]}],"i":152},168],"o":[{"a":[{"s":42}],"b":[{"b":[{"a":[{"n":[{"e":[{".":120}]}]}],"y":[{".":22,"e":39}]}],"l":[{"a":61},7],"s":5}],"d":[{"e":12,"i":[{"n":4}],"r":21,"ø":7}],"e":[{"f":162,"n":172,"r":7,"t":[{".":1}]}],"f":275,"g":[{"e":[{"l":1}],"n":16,"s":54}],"h":173,"j":173,"k":[{".":164,"a":7,"e":[{"l":4,"t":85}],"i":54,"k":54,"o":[{"p":4}],"r":[{"i":3}],"s":[{"i":[{"d":[{"a":91}]}],"p":5},276],"u":7,"v":[{"e":24}]}],"l":[{"e":[{"i":[{"e":22}]}],"i":[{"n":16},2],"o":[{".":2,"i":15,"r":158}],"s":[{"p":42,"t":120}]},0],"m":[{"b":[{"e":[{"l":23}]},172],"m":22,"o":4,"s":177}],"n":[{"a":[{"p":15,"t":[{"o":22}]}],"n":[{"e":22},162],"s":5,"u":[{"s":15}]}],"o":[{"m":176},31],"p":182,"r":[{"a":[{".":1},69],"e":[{".":4,"l":2,"n":12,"t":[{"e":1},12]}],"i":[{".":4}],"o":12,"t":[{"e":[{"f":127,"i":31,"s":23,"t":127}],"i":23,"s":80}]}],"s":[{"e":[{"t":[{"e":[{".":46}]}]}],"k":[{"a":164}],"l":7,"s":[{"e":22}],"t":[{"o":1}]},277],"t":[{"a":[{".":1,"k":1,"l":1}],"e":[{".":4}],"o":278,"r":279,"v":280},172],"u":[{"c":24}],"v":281,"w":[{"e":23}],"y":4},88],"p":[{"l":152},162],"r":[{"a":[{"k":[{"a":22,"s":17}],"s":[{"e":22}]},253],"e":[{"d":[{"s":[{"p":17}]}],"i":[{"e":17,"s":18}],"t":[{"t":[{"e":16}]}],"v":[{"i":[{"e":[{"r":[{".":33}]}],"n":23}]},11]}],"i":[{"a":22,"o":0}],"o":[{"a":[{"r":39}],"s":177},88],"u":[{"k":[{"e":22,"s":43}],"n":[{"a":[{".":61},23],"e":[{"s":22}]}],"p":[{"l":22}],"r":[{"e":[{"n":61}]}],"s":[{"a":22,"l":5}]},178],"y":[{"n":[{"s":5}]},172],"ø":[{"d":[{"e":22}]},178],"å":[{"e":36,"n":[{"e":39}],"t":[{"e":[{".":22}]}]}]},6],"s":[{"e":[{"a":[{"m":282}],"l":169},1],"i":149,"k":23,"l":[{"i":0}],"m":88,"o":[{"f":259}],"t":[{"f":284},283],"v":252,"å":22},200],"t":[{"s":252},274],"u":[{"a":[{"r":1}],"b":162,"d":[{"a":12,"d":[{"h":19}],"e":12}],"e":[{"m":265,"n":[{".":1,"e":35}],"r":[{".":1}],"s":22}],"i":[{"s":4},69],"k":[{"i":168,"l":24}],"l":[{"a":15,"e":[{".":1}],"l":[{"e":24}]}],"n":[{"d":[{"e":61,"s":43}],"g":[{"e":[{".":32}]}],"k":[{"r":18}],"n":[{"l":[{"a":[{"g":[{"a":242}]}]}],"s":18}]}],"o":285,"p":69,"r":[{"a":[{".":4}],"e":[{".":1}],"o":265,"u":12}],"s":[{"e":[{".":1},31],"h":[{"e":53}],"k":[{"ø":16}],"s":[{"e":[{"k":31,"l":23,"n":[{"t":31}],"t":[{"e":[{".":120}]},31]}],"j":31,"n":23,"p":23,"t":23,"v":18}],"t":[{"r":162},69],"y":162}],"t":[{"a":[{"l":1},69],"e":[{"m":2}],"g":38,"s":[{"t":162}],"u":7,"ø":69}],"v":162,"ø":168},184],"v":188,"w":248,"y":[{"a":[{"l":15,"r":[{"e":35}]},28],"d":[{"e":[{"p":2}]}],"e":[{"n":[{".":1,"e":2,"s":15}],"r":[{"s":12},7]}],"g":[{"e":[{".":1}],"l":24}],"i":164,"l":[{"o":69,"ø":162}],"n":15,"r":[{"e":[{".":4},69]}],"s":[{".":166,"e":162,"i":168,"p":168,"t":[{"e":1},5],"v":162},69],"t":[{"a":[{"r":15}],"e":[{".":1}],"r":69}],"v":286},172],"æ":[{"r":[{"a":[{"r":[{".":4},15]}],"e":[{".":1,"n":15,"r":[{".":15,"e":15}],"s":[{".":15}],"t":[{".":15}]}],"i":[{"s":26},12],"u":12}]}],"ø":[{"e":[{"n":[{"s":2}]},1],"f":24,"k":[{"e":[{"s":1}]}],"l":[{"a":[{".":4}],"e":[{".":4}]}],"n":[{"e":17,"n":[{"e":[{"s":31}]}],"o":61},7],"r":[{"e":[{".":4}],"s":[{"k":53,"p":23,"t":[{"a":[{".":46}]},18],"v":18}]}],"t":[{"a":15}],"v":69,"y":[{"a":[{"r":61}],"e":[{"n":[{"e":23}],"s":23,"t":23},17]}]},253],"å":[{"d":[{"e":[{"s":35},1]}],"e":[{"n":[{"e":2}]},4],"l":[{"a":1}],"r":[{"e":[{"g":4,"p":1},69]}],"s":[{"t":[{"e":85,"i":21}]}],"t":[{"j":3,"o":4,"r":22}]},253]}],"c":[{"a":[{"b":23,"e":1,"l":[{"e":15}],"m":[{"e":15,"o":15}],"p":[{"e":[{".":1}],"r":[{"i":[{"s":4}]},54]}],"r":[{"a":12,"n":22,"o":15,"t":[{"e":[{".":23}]}]}],"s":[{"a":287,"e":[{"t":4}],"h":17,"t":[{"i":[{"l":9}],"o":22}]}],"t":[{"h":[{"r":288},17],"o":[{".":1}]},69]},253],"b":168,"c":[{"i":153},162],"d":[{"e":31},88],"e":[{"b":[{"o":49}],"d":12,"i":69,"l":[{"e":15,"l":[{"e":[{"s":23,"v":23}]}]},172],"n":[{".":164,"e":[{"d":1,"e":1,"m":1,"s":[{".":15},289],"t":1,"v":1}],"s":166,"t":[{"i":[{"m":290}],"o":31}]}],"o":9,"r":[{"b":[{"a":[{"n":[{"e":[{".":120}]}]}]}],"e":12,"o":291,"t":24,"u":168},172],"s":[{"t":[{"o":18}]}]}],"h":[{".":173,"a":[{"l":[{"e":22}],"m":292,"n":[{"e":61}],"t":22}],"b":173,"e":[{"i":162,"l":[{"s":17}],"t":[{"e":61}]}],"i":[{"l":[{"i":23}]}],"h":265,"m":269,"n":[{"e":15},162],"o":[{"m":5,"s":19}],"p":173,"s":167,"t":168,"v":69}],"i":[{"c":69,"d":164,"e":[{"n":32,"s":293},7],"l":[{"l":22}],"n":[{"e":12}],"t":[{"a":15}]}],"k":[{"a":[{"r":[{".":15,"t":15}]}],"e":[{"n":69,"r":[{".":12,"e":1}],"t":[{".":15},295],"y":86}],"i":69,"k":69,"o":8,"r":2,"s":122,"u":[{"p":18,"t":35},31]},294],"l":[{"a":[{"i":[{"r":271}]}],"y":23},88],"m":[{"i":[{"n":[{"i":103}]}]},153],"o":[{"a":[{"t":17},31],"b":[{"i":[{"d":4}]}],"c":296,"d":173,"f":168,"g":168,"l":[{"a":[{".":1,"b":1,"k":1,"r":223}]}],"m":[{"a":15,"t":22},7],"n":[{"o":[{"s":3}],"s":22,"t":61}],"o":7,"p":[{"a":2}],"r":[{"a":52,"e":69},173],"s":[{"o":1,"t":162}],"v":[{"e":[{"r":1}]}]}],"p":[{"r":153}],"r":[{"a":[{"s":[{"h":5}],"c":[{"k":103}]}],"e":[{"e":[{"n":58},28]}],"o":[{"s":183}],"u":166},6],"s":297,"t":[{"a":11,"y":22},187],"u":[{".":162,"l":[{"a":15,"e":15,"u":15}],"p":[{"l":54,"o":4,"r":54,"s":61,"å":1}],"r":[{"e":[{"s":103}]},173],"t":4},172],"y":[{"a":7,"p":21,"s":24}],"z":11,"æ":15}],"d":[{"a":[{"a":162,"b":[{"e":[{"r":162}],"o":167,"s":38}],"d":[{"e":[{"l":274}],"g":0,"ø":[{"r":14},5]}],"e":[{"f":162}],"f":173,"g":[{"b":166,"e":[{"v":1}],"j":162,"l":61,"o":[{".":4}],"r":298,"u":[{"n":4}],"å":162}],"h":[{"e":162,"l":166}],"i":69,"k":[{"a":173,"o":162,"r":162,"s":[{"e":[{".":23}]}],"t":[{"i":[{"g":162}]}],"v":15}],"l":[{"j":299,"a":[{".":6,"s":1,"u":168},69],"b":[{"u":[{"e":[{"r":91}]}]}],"d":248,"e":[{"s":1}],"s":[{"o":31}],"u":69}],"m":[{"a":[{".":1,"n":1,"s":12}],"e":[{".":1,"n":12,"r":[{"i":300}],"s":18,"t":80}],"o":12,"p":[{"e":61}]}],"n":[{".":166,"a":[{"l":168}],"e":93,"i":301,"l":188,"n":[{"e":[{"b":22}],"o":162},164],"o":191,"s":[{".":0,"a":24,"e":[{"l":23}],"k":[{"a":[{"n":143}]}],"v":162}],"t":[{".":301,"i":301}],"y":167}],"o":285,"p":[{"e":12,"p":90},173],"r":[{".":164,"a":166,"b":173,"d":[{"s":124}],"e":[{"a":162,"s":1}],"n":38,"o":[{"s":[{".":22}]},7],"s":19,"t":[{"a":[{".":23}]}],"v":[{"a":[{".":31}],"e":[{".":32}]}]}],"s":[{"e":[{"i":162}],"h":173,"i":168,"j":[{"e":[{"f":162}]}],"k":[{"o":35},1],"t":[{"r":302}],"u":168}],"t":[{"a":[{"l":[{"e":[{".":36}],"i":[{"n":[{"a":242}]}]},303]},17],"e":[{"k":1}],"o":[{"a":12},304],"r":236,"s":[{"j":36}]}],"u":[{"d":[{"s":66},11],"g":[{"o":22}],"t":173}],"v":[{"b":38,"i":[{"s":38}],"l":153,"s":305},173],"ø":162},172],"b":[{"a":[{"l":[{"e":[{".":32}]}],"n":[{"e":[{".":23}]}]}],"e":[{"s":[{"t":19}],"t":[{"a":[{".":32}],"e":[{".":31}]}]}],"l":[{"i":[{"n":[{"g":170}]}]}],"o":[{"e":[{"n":[{".":31}]}]}],"y":[{"f":11}]},174],"c":187,"d":[{"a":[{"d":88,"g":5,"k":0,"r":[{"m":169}]}],"e":[{"i":[{"e":12}],"k":88,"l":[{"a":[{"p":23}],"o":53,"s":[{"v":17}]}],"m":[{"i":0}],"r":[{"s":17}],"s":[{"u":0}]}],"i":[{"e":46}],"o":[{"m":152,"r":[{"m":206}]}],"r":[{"e":277,"u":[{"n":15}]}],"s":[{"a":[{"l":[{"a":1}]},5],"k":[{"a":[{"p":1}]}],"t":[{"a":[{"b":22}],"e":34,"r":22}]}],"y":[{"b":88}],"ø":[{"r":18,"y":169},28],"å":[{"r":69}]},200],"e":[{"a":[{"k":18,"l":7},173],"b":[{"a":[{"r":168,"s":162,"t":164}],"e":173,"l":162,"o":[{"n":[{".":166}]},173],"r":173,"u":[{"t":164}],"y":173,"ø":162},2],"c":69,"d":[{".":166,"a":173,"d":306,"e":[{".":191,"k":162,"l":162}],"i":[{"a":162}],"r":307,"y":173}],"e":[{".":166,"r":2},173],"f":[{"f":38,"t":38},173],"g":[{"e":308,"g":166,"l":12},173],"h":[{"a":[{"v":[{"s":166}]}]},173],"i":[{"d":23,"e":[{"n":[{"e":23}]}],"g":[{".":164,"e":[{".":32,"n":166}],"r":53}],"k":166,"n":259,"r":164,"s":[{".":15,"t":12}],"t":309},173],"j":173,"k":[{"a":167,"e":173,"i":173,"j":173,"k":[{"a":[{"n":23},18],"e":[{"l":23}],"s":[{"t":128},46],"v":70},166],"l":[{"y":168},28],"n":[{"i":166}],"o":[{"d":162,"n":162,"s":162},15],"r":310,"s":[{"t":[{"i":16,"r":36},31]}],"t":166,"u":173,"v":162,"ø":162,"å":162}],"l":[{".":0,"a":[{"d":168,"g":[{"e":168}],"n":[{"s":4}],"u":162}],"e":[{"d":162,"f":1,"i":[{"d":311,"e":22},162],"k":303,"l":[{"e":15}],"m":248,"s":[{"t":1}],"v":312}],"i":[{"d":162,"n":[{"j":168,"t":22}],"s":162,"v":162}],"l":[{"a":[{"p":23}],"e":[{"i":31,"k":23,"r":[{"f":31}]}],"i":[{"g":31}]}],"s":[{"a":[{"t":53}],"e":[{"s":170},24],"i":23,"p":[{"o":23}]},0],"t":[{"a":[{"l":[{"a":31}]}],"e":24,"r":61},0],"u":[{"k":168,"r":109}],"v":[{"e":22}],"y":162,"æ":162,"ø":[{"p":[{"a":[{".":36}]}],"y":168},173],"å":173}],"m":[{"a":286,"b":90,"e":173,"i":[{"e":103}],"j":162,"n":[{"a":[{".":32}]}],"o":[{".":1,"g":1,"k":166,"l":162,"n":[{"o":17}],"s":166}],"p":[{"e":22}],"r":164,"s":166,"u":162,"ø":173,"å":173}],"n":[{".":88,"a":[{"k":2},162],"d":[{"e":[{"n":[{".":313,"e":314}],"r":[{".":313}]}]}],"e":[{"b":15,"d":162,"l":168,"m":162,"t":162,"v":162}],"g":[{"e":[{"n":[{".":274}]}]}],"i":162,"o":[{"m":1},162],"s":[{"i":[{"n":23}],"t":315},88],"t":[{"a":[{"n":[{"t":47}]}],"i":[{"f":162,"t":162}],"o":18,"r":23,"s":125,"u":316,"å":31}],"u":162,"æ":173,"ø":173}],"o":[{"b":7,"g":1,"l":173,"p":[{"p":162}],"r":265,"v":[{"e":1}]}],"p":[{"a":[{"k":162,"p":162}],"e":173,"i":162,"l":162,"u":168}],"r":[{"a":[{"m":32,"n":[{"t":4}],"r":[{"e":1,"k":1}],"s":[{"t":317}],"t":[{"e":17}],"v":24}],"d":22,"e":[{"a":162,"d":[{"d":26},162],"f":1,"g":162,"p":162,"s":[{"i":168,"t":[{".":167,"e":168},22]}],"t":[{"t":162}]}],"i":[{"f":1,"l":1,"n":[{"æ":1},166]}],"k":22,"n":[{"e":22}],"o":[{"b":15,"g":162,"s":[{"e":[{".":46},15]},162],"t":204,"v":5}],"s":[{"n":19,"p":23}],"t":24,"u":[{"n":22,"p":15,"s":168}],"v":24,"ø":[{"r":162}],"å":173},88],"s":[{".":249,"a":173,"c":162,"e":[{"g":15,"r":[{"s":22}]},173],"h":[{"o":[{"p":219},162]}],"i":[{"s":[{"t":271}]}],"j":173,"k":[{".":301,"e":166},173],"l":[{"e":280}],"o":173,"p":[{"l":191,"r":318},173],"t":[{".":166,"e":[{".":166,"m":31}],"i":15,"j":162,"o":162,"r":[{"å":162}],"u":162,"y":168,"å":85},319],"u":[{"p":168}],"v":31,"y":173,"å":16},69],"t":[{".":88,"a":[{"k":[{"a":[{".":46}]}]},173],"e":[{"a":162,"g":168,"k":[{"k":168}],"l":162,"n":162,"p":162,"s":58},12],"i":173,"j":173,"o":162,"r":279,"u":173,"y":162,"ø":162,"å":168}],"u":[{"r":153,"s":166},173],"v":[{"a":[{"n":[{"e":[{".":46}]}]}],"i":[{"e":[{"r":[{".":49}]}],"k":164}],"n":320,"u":15},173],"y":173,"ø":162,"å":173},172],"f":[{"ø":[{"r":[{"a":[{"r":[{"a":[{"r":31}]}]}]}]}]},188],"g":[{"e":[{"l":0}],"i":[{"n":31},38],"j":[{"ø":[{"r":[{"e":[{"n":[{"h":321}]}]}]}]}],"o":90},272],"h":[{"a":[{"v":[{"s":5}]}],"e":[{"i":[{"m":[{"s":322}]}]}],"u":[{"g":[{"a":39}]}],"ø":[{"r":23}]},188],"i":[{"a":[{"k":4,"l":[{"g":15,"i":22}],"r":[{"e":24},69],"s":[{"p":61,"t":36},54],"t":[{"s":103}],"v":173}],"b":173,"d":[{"r":[{"i":22}]}],"e":[{"l":[{"l":2}],"n":[{".":15,"d":236}],"r":69,"s":5}],"f":[{"f":[{"e":14},164],"u":[{"l":164}],"ø":162}],"g":[{"a":[{"n":[{"d":219}],"t":1}],"e":[{"s":323}],"g":61,"j":173,"l":[{"a":[{".":32}],"e":[{".":31}]}],"r":[{"e":[{"n":162,"t":22}],"u":162}],"u":7}],"h":162,"i":162,"j":173,"k":[{"a":[{".":6},15],"e":[{"m":15}],"j":173,"n":168,"o":173,"r":189,"v":61}],"l":[{"i":173,"l":[{"e":[{"s":23}]}]}],"m":[{"a":15,"e":[{"d":168,"l":324,"s":162,"t":162}],"o":173,"p":248,"å":162}],"n":[{"a":15,"d":188,"e":[{"n":2}],"g":[{"k":248,"r":24,"s":[{"e":[{"n":273,"r":116}]}],"å":148}],"i":[{".":1},5],"n":187,"o":173,"v":173,"ø":162}],"o":[{"g":164,"l":191,"n":[{"a":24,"o":23}],"r":[{"i":12}],"t":[{"r":22}]}],"p":[{"l":164,"p":[{"e":58}]},173],"r":[{"e":[{"d":162,"g":162}],"s":248}],"s":[{".":166,"c":4,"e":[{"d":4}],"i":[{"e":[{"n":[{"e":14}]}]},23],"k":[{"a":[{"m":31}],"j":1,"l":127,"o":[{".":22,"e":61},163],"u":61},11],"s":22,"t":[{"i":[{"k":61}]},54],"v":[{"i":23},15],"y":173}],"t":[{"a":[{"l":1}],"e":[{"k":162},2],"t":[{"e":[{"t":23}],"r":18}]}],"u":[{"s":[{".":35}]}],"v":[{"a":[{".":1,"l":162,"n":2}],"e":[{"k":162}],"i":31,"u":173}],"ø":[{"k":173}]},172],"j":[{"a":153,"e":[{".":153,"n":153,"r":[{"v":[{"e":17}]}],"s":[{".":152}],"v":[{"e":39}]}],"i":[{"n":[{"g":[{"a":[{"n":11,"r":11}]}]}]}],"o":153,"u":[{"l":[{"a":[{".":32}]}],"p":[{"a":[{"r":168}]},166]}],"ø":[{".":0}]}],"k":[{"a":[{"r":[{"a":[{".":32}]}]}],"i":31,"j":38,"o":[{"r":28}],"u":[{"l":[{"e":[{".":23}]}]}]},325],"o":[{"u":[{"t":175}],"a":[{"v":173}],"b":[{"a":162,"e":12,"l":[{"a":[{"n":327}]}],"å":173},107],"d":[{"a":1,"ø":[{"r":14},5]}],"e":[{"u":162}],"f":[{"f":90,"r":38},173],"g":[{"m":[{"e":[{"d":31,"s":263}]}],"r":173}],"i":269,"k":[{"i":[{"n":[{"e":162}]},12],"k":[{"a":[{"n":31}]}],"n":162}],"l":[{"e":[{"d":162},15],"i":[{"n":[{"e":[{".":46}],"j":162}],"s":168}],"j":162,"l":42}],"m":[{"e":[{"s":162}],"i":[{"s":15}],"l":162,"o":1,"p":61,"r":173,"s":[{"a":32,"e":328,"i":47,"k":41,"l":[{"a":[{"g":[{"a":123}]}]},18],"o":23}],"u":1}],"n":[{"a":[{".":1}],"g":22,"k":[{"e":162,"l":329}],"s":[{"t":22}],"t":42}],"p":[{"a":[{".":1}],"e":[{".":1}],"i":164},173],"r":[{"a":[{"n":15},330],"d":[{"a":23},188],"e":69,"g":[{"e":[{"s":[{"t":31}]}]}],"i":[{"e":38}],"m":46,"o":12,"p":166,"r":164,"s":[{"k":[{"e":16}]},36],"u":69,"y":[{"e":2}]}],"s":[{".":166,"e":[{".":1,"t":1}],"k":69,"l":331,"o":173,"p":162,"t":[{"r":12},173]}],"t":[{"r":162}],"v":[{"a":15,"e":[{"n":15,"r":1}],"n":39},173],"ø":162},172],"l":[{"a":[{"g":[{"a":23}],"n":[{"d":[{"a":[{"s":58}]}]}],"t":[{"e":[{".":31}]}],"v":23},90],"e":[{"d":[{"i":0}],"f":88,"g":[{"a":[{"r":152},0],"e":24}],"i":[{"e":[{"r":[{".":16}]}]}],"k":[{"a":38}],"l":88,"m":[{"s":[{"t":5}]}],"n":[{"e":[{"t":0}]}],"r":[{"u":0}],"v":[{"a":[{"n":[{"e":[{".":91}]}]}]}]}],"i":[{"f":23,"k":[{"e":22}]},38],"o":38,"y":[{"s":[{"e":[{".":32}]}]}],"ø":[{"p":[{"a":[{".":32}]}]}],"å":[{"r":[{"e":39}]},38]},326],"m":[{"e":[{"l":[{"a":[{".":31}]}]}],"o":[{"e":23,"r":[{"s":120}],"s":32}],"ø":[{"r":[{"e":[{".":23}]}]}],"å":[{"l":[{"a":[{".":31}]}]}]},188],"t":[{".":168,"a":[{"l":[{"a":[{".":31}],"e":[{".":23}]}],"s":23},89],"e":[{"m":[{"a":[{".":23}]},90],"n":[{"g":1}],"r":[{"l":[{"e":170}]}],"s":[{"e":[{".":23}]}],"t":229}],"g":0,"i":90,"j":4,"o":152,"r":[{"a":[{"g":229}],"o":[{"c":11}],"ø":229}],"s":341,"v":[{"a":151}],"ø":[{"k":4,"r":[{"s":203}]},32],"å":23},187],"n":[{"a":4,"o":[{"d":[{"e":[{".":32}]}]}]},222],"p":332,"q":166,"r":[{"a":[{".":153,"a":38,"d":[{".":155,"e":38}],"g":[{"e":[{"n":22}]},333],"k":[{"e":[{"s":31}],"t":164}],"m":172,"n":[{"g":334}],"p":[{".":164,"a":166,"e":164,"p":90}],"r":[{"a":[{"r":11}],"b":90,"e":[{"t":31}],"m":38,"r":38},153],"s":[{"a":335}],"t":[{"t":301}],"u":[{"m":[{"a":16}]}]}],"e":[{".":173,"a":[{"s":[{"s":166}]}],"d":[{"e":[{".":38,"r":38}],"r":77,"s":38},173],"g":[{".":301,"e":[{".":301}],"j":90}],"i":[{"e":[{"n":17,"r":[{".":17,"n":16}]},164]}],"j":38,"k":[{"a":11,"k":152,"t":164}],"l":[{"i":[{"g":152}]},162],"m":162,"n":153,"r":162,"t":[{".":90,"n":90,"r":11,"s":90,"t":[{"s":139},103]}],"v":[{"e":[{"t":166}],"n":164}]}],"i":[{"a":162,"f":336,"g":188,"k":[{".":90,"a":[{".":32}],"e":90,"k":164,"s":128,"t":155},88],"l":337,"n":[{"g":120},188],"t":[{"t":[{"r":16}],"u":[{"n":[{"g":[{"e":[{".":242}]}]}]},17]}],"v":184}],"o":[{"n":[{"n":164}],"p":[{"a":[{".":31}],"s":17}],"r":188,"s":178,"t":[{"a":[{".":32}]}],"v":[{"a":22,"e":24},188]}],"u":[{"k":164,"l":153,"m":153,"p":90,"t":274,"n":306},173],"y":[{"k":[{"k":103},173],"s":88}],"ø":[{"m":0,"r":[{"e":[{".":31}]}],"t":152,"v":[{"e":24}],"y":[{"e":338}]}],"å":[{"d":[{"e":[{".":23}]},153],"p":164}]},1],"s":[{"a":[{".":38,"b":[{"l":90}],"d":[{"e":[{"l":52}]},69],"g":[{"a":39},153],"k":[{"s":[{"e":[{".":36}]}]}],"l":[{"a":[{".":32}],"f":193,"l":11},153],"m":[{"e":155}],"n":[{"e":15},29],"r":8,"s":88,"t":[{"f":0}]}],"b":[{"ø":[{"n":36}]}],"e":[{".":38,"d":23,"f":69,"i":259,"k":[{"s":2}],"l":[{"a":12,"s":[{"a":271}]}],"m":[{"i":12},28],"n":[{"d":[{"a":96,"e":[{".":46}]}],"g":193,"s":38}],"p":67,"r":[{".":152,"f":11,"k":15}],"s":[{"k":198,"t":9}],"t":[{"a":12,"e":[{".":23}],"j":38}],"v":69}],"i":[{"d":[{"a":152,"e":[{"n":[{"t":15}],"o":339}],"r":12},151],"l":152,"n":[{"d":15}],"r":90,"s":34,"v":[{"e":23}]},259],"j":[{"e":[{"n":193}],"o":[{"r":2},88],"u":4}],"k":[{"a":[{"b":15,"n":193,"r":12,"t":0}],"j":[{"e":[{"n":15}],"ø":[{"t":97}]},153],"o":[{"t":38},69],"r":[{"o":12}],"v":277}],"l":[{"a":[{".":15,"n":15}],"e":[{"m":4}],"i":[{"k":36}],"o":[{".":4,"t":[{"t":[{".":155}]}]}],"u":[{"k":1}]},69],"m":[{"a":12,"o":11,"å":[{"l":[{"a":36}]}]}],"n":[{"e":12,"o":15}],"o":[{"m":[{"s":[{"t":152}]}],"s":169,"t":152},8],"p":[{"e":[{"k":90,"l":90}],"i":7,"y":192},69],"s":[{"t":32},9],"t":[{"a":[{"k":12,"l":193,"r":220,"t":229,"u":4}],"e":[{".":340,"i":[{"k":35}],"m":[{"a":[{".":36}],"p":97}],"o":15}],"i":[{"g":89,"k":89,"l":[{"l":[{"i":38}]}]}],"j":69,"o":[{"r":90}],"r":[{"i":90}],"u":[{"n":[{"a":46,"d":38}]}],"v":12,"y":[{"e":46,"v":12}]},23],"u":[{"r":[{"e":120}],"s":[{"k":96},149]},8],"v":[{"a":[{"n":[{"e":[{".":46}]}]}],"e":[{"t":89}],"i":[{"k":[{"a":[{".":36}]}]}]},69],"y":[{"k":38,"n":[{"a":31},90],"t":69}],"ø":[{"r":11},259],"å":29},167],"u":[{"b":[{"b":22,"l":22}],"c":69,"e":[{"n":[{"e":35,"s":35}],"s":22}],"f":[{"o":162}],"g":[{"u":162},164],"i":[{"t":36}],"k":[{"a":[{".":4}]}],"l":[{"l":22,"y":162}],"m":[{"s":183}],"n":[{"a":[{".":1}],"d":[{"e":61}],"i":248,"s":[{"t":[{"a":61}]},19]}],"o":191,"p":[{"k":90,"p":[{"e":116}]}],"r":[{"a":[{".":4}],"e":[{".":4,"i":4}],"t":[{"a":32}]},164],"s":[{"a":9,"e":[{"m":35}],"i":122,"k":7,"l":7,"p":7,"s":5,"t":5,"v":7},69],"t":[{"t":11},188],"v":[{"a":[{".":4}],"e":[{".":1}]}]},172],"v":[{"a":[{"l":[{"e":342}],"n":[{"e":[{".":23}]}]}],"e":[{"s":31,"v":[{"a":31,"e":[{".":32}]}]}],"o":[{"r":32},152]},188],"w":188,"y":[{"a":35,"b":[{"a":173}],"f":173,"k":[{"e":[{".":15}],"l":162,"ø":162}],"l":173,"n":[{"a":[{".":1}],"e":[{".":1}],"k":[{"s":116},162]}],"p":[{"e":[{"s":12}],"r":107}],"r":[{"a":[{".":1}],"e":[{"b":[{"a":15}]}],"l":[{"e":[{"g":[{"e":[{".":91}]}]}]}],"s":42,"u":233,"ø":22}],"s":[{".":191,"a":6,"e":[{".":4},162],"s":61,"t":[{"r":16}]}],"t":7},172],"z":[{".":167},38],"æ":[{"r":[{"s":5}]},172],"ø":[{".":162,"d":[{"s":261}],"g":[{"r":12}],"k":[{"n":38},173],"m":[{"a":1}],"p":[{"e":[{".":1,"n":1}]}],"r":[{"i":24},88],"s":[{".":11,"t":287},173],"t":24,"v":[{"a":35,"e":[{"l":12}],"i":69,"l":[{"e":[{".":32}]},168]}],"y":[{".":173,"a":46,"g":32,"s":343}]},172],"å":[{"d":[{"s":47},172],"n":[{"a":[{".":6}]}],"p":172,"r":[{"a":[{".":6}],"i":15}],"s":[{".":90,"a":[{".":6}],"e":[{"m":2},93]}],"t":[{".":152}]}]}],"e":[{"a":[{"b":150,"d":[{"i":129,"l":[{"i":14}]},153],"f":153,"g":[{"u":7}],"k":[{"r":0,"t":168,"s":[{"e":[{".":31}]}]},150],"l":[{".":153,"l":[{"e":[{".":32},38]}],"o":[{"v":1}],"t":[{"e":90}],"ø":7}],"m":[{"a":[{"n":90}],"n":38},298],"n":[{".":88,"e":[{".":1,"t":97}],"i":0,"n":61,"o":[{"r":1}],"s":[{".":11,"l":24}]},153],"p":[{"e":1},153],"r":[{"e":[{"r":15,"t":15},7],"i":9,"k":[{"a":[{".":31}]}],"m":[{"a":[{".":32}]}],"t":[{"a":[{".":23}]}]},153],"s":[{"i":129,"p":90,"s":153}],"t":[{"a":2,"e":[{"l":229,"r":[{"e":[{"n":36}]}],"t":85}],"h":32,"l":[{"e":31}],"o":93,"r":[{"i":15}],"t":153}],"u":[{"g":[{"a":31,"e":[{".":31}]}],"r":[{"a":[{".":32}],"e":31}],"s":[{"a":32,"e":[{".":32}]},22]},153],"v":[{"l":[{"a":32,"e":[{".":32}]}]},153]},173],"b":[{"a":[{"d":24,"n":[{"e":[{".":23}]}]}],"b":[{"e":[{".":1},12]}],"e":[{"d":[{"e":344}],"i":[{"e":[{"r":[{".":16}]}]}],"n":[{"s":[{"k":116}]}],"r":[{"s":120}],"s":[{"k":[{"u":139}]}],"t":[{"s":17}]}],"h":12,"l":[{"o":149,"æ":17}],"o":[{"b":18,"d":[{"a":23}],"e":[{"r":[{"s":[{".":22}]}]}],"k":[{"r":31}],"l":[{"a":31}]}],"s":15,"u":[{"e":[{"r":[{"e":53,"n":22}],"t":31}]}],"y":[{"t":[{"a":23}]}],"ø":[{"n":31}]},174],"c":[{"a":0,"c":1,"e":153,"h":[{"a":38}],"o":[{"m":90}]},173],"d":[{"a":[{"d":[{".":15},88],"g":[{"s":271},229],"r":[{"k":12,"v":12},88]}],"d":[{"e":[{"l":[{"a":2}]}],"y":[{"r":1}]}],"e":[{".":90,"g":[{"e":20,"n":345}],"i":[{"e":12}],"k":[{"s":0}],"l":[{"e":[{".":32}]}],"n":[{"f":0,"g":346,"t":17}],"p":[{"r":11}],"r":[{"a":23,"ø":0}],"s":[{"k":0,"l":23,"m":23,"n":0,"p":53}],"t":[{"a":23,"t":97}]}],"é":93,"i":[{"a":[{"n":[{"e":47}]},149],"e":[{"n":[{"e":23}]}],"g":[{"j":31}],"s":[{"i":24,"k":53},1],"t":178,"v":152}],"l":[{"e":[{"g":[{"e":[{".":36}]}]}]}],"o":[{"b":6,"k":[{"s":[{"e":[{".":46}]}]}],"l":0,"p":69,"v":69}],"r":[{"a":7,"e":[{"g":12,"v":[{".":38}]}],"o":[{"m":12}],"y":[{"g":97}]},153],"s":[{"k":[{"i":2,"r":12}],"l":[{"a":34}],"m":7}],"t":[{"a":15,"e":12,"r":31}],"u":[{"a":32}],"v":[{"a":2,"i":[{"s":36}]}],"y":[{"k":90,"n":[{"k":15}],"r":[{"k":[{"e":[{".":36}]}]}]}],"æ":23,"ø":[{"r":347}]}],"e":[{"a":61,"b":12,"d":[{"i":12},88],"g":[{"g":[{"a":23}],"n":31,"å":15}],"i":[{"d":23,"n":[{"i":61}]}],"k":[{"e":54,"t":[{"e":23}]}],"l":[{"a":12,"i":229}],"m":[{"n":[{"a":31}]}],"n":[{"b":38,"i":[{"n":24}],"k":348,"t":22},1],"p":[{"l":90}],"r":[{"a":6,"e":[{"n":24}],"i":12,"l":196,"m":[{"e":[{".":23}]}]}],"s":[{"h":97,"k":[{"a":32,"e":[{".":31}]}]}],"t":92,"v":[{"n":[{"e":[{".":23}]}]}]},151],"f":[{"a":[{"l":[{"s":202}],"n":[{"a":0,"k":12}],"r":[{"k":0,"s":116}]},162],"e":[{"a":2,"f":15}],"f":[{"e":[{"k":164},12],"o":12}],"i":[{"d":193,"g":38,"l":[{"m":229}],"r":[{"e":[{"n":61}]}],"s":[{"k":[{"e":[{"n":159}]}]}]},162],"j":181,"l":[{"e":[{"g":[{"e":[{".":36}]}]}],"å":18},173],"n":88,"o":[{"b":[{"i":[{".":32}]}],"n":[{"o":23}]}],"r":167,"s":[{"j":7,"k":7,"p":7,"t":[{"r":4}]}],"t":[{"a":[{"r":17},7],"e":[{"i":22,"r":15}],"l":[{"e":[{"g":[{"e":[{".":91}]}]}]}],"s":177},93],"u":168,"y":[{"r":[{"s":14}]}],"æ":90,"ø":[{"l":[{"e":22}],"y":49},162]},153],"g":[{"a":[{"f":90,"l":[{"a":11}],"m":152,"v":[{"e":[{".":23}]}]},173],"d":[{"e":[{"l":46,"s":2}]}],"e":[{"d":[{"o":38}],"i":[{"e":49}],"l":[{"e":[{"t":23}]}],"m":[{"e":90},88],"n":[{"s":[{"k":178},17]}],"o":[{"m":152}],"s":[{"p":22},349]}],"g":[{"e":[{"n":35}],"l":24,"u":[{"t":219}]}],"i":[{"a":[{"n":24}],"e":183,"k":[{"o":0}],"s":[{"p":5}]}],"l":[{"a":[{"d":92}],"e":[{"d":89,"s":[{"a":2}]}],"i":[{"t":229}],"y":2,"ø":149}],"m":168,"n":[{"a":[{"g":192}],"e":[{"m":1}],"o":4,"å":152}],"o":[{".":0,"i":191},162],"r":[{"a":[{"n":[{"s":139}]}],"ø":350},7],"s":[{"a":[{"m":23}],"k":[{"i":23}],"t":[{"a":23}]}],"ø":[{"y":[{"e":[{"n":[{"e":116}]}]}]},153],"å":[{"v":[{"a":23,"e":[{".":23}]}]},162]}],"h":[{"e":[{"a":5,"i":[{"e":49}],"r":[{".":15,"e":169,"n":2,"s":5}]}],"o":[{"g":17,"v":183}],"y":[{"r":[{"e":[{".":31}]}]}],"ø":[{"v":[{"a":32}]}],"å":[{".":11}]},153],"i":[{"a":[{"k":[{"t":155}],"n":352,"r":[{".":2}]},351],"c":1,"d":[{".":93,"a":[{"r":353}],"e":[{"a":90,"o":90,"r":35,"t":15}],"f":166,"g":166,"o":354,"r":153,"u":34}],"e":[{"d":22,"g":6,"n":[{".":35},28],"r":[{"a":18,"t":1}],"s":4},206],"f":[{"l":69}],"g":[{".":167,"a":12,"e":[{"v":4},31],"i":15,"r":[{"a":4}],"u":4}],"i":162,"k":[{"a":[{"a":15}],"e":[{".":12,"e":4,"h":4,"l":1,"r":[{"i":4}],"t":1}],"r":69,"s":[{"a":18,"e":31,"o":23}]}],"l":[{"e":[{"d":35,"g":[{"g":22}]}],"l":[{"u":90}],"o":[{".":12,"a":35,"p":22,"s":15}],"s":19},162],"m":[{"a":[{".":2,"g":38,"l":355}],"e":[{"d":1,"i":4,"n":2,"s":223,"t":[{"t":39},1]}],"o":4,"p":222},162],"n":[{"a":[{"l":85,"n":[{"s":1,"t":22}],"r":[{"e":2}]}],"d":[{"u":181},54],"e":[{"d":15,"l":2}],"f":39,"g":[{"a":120,"r":24}],"i":[{"t":356},0],"k":[{"a":[{"r":38}]},65],"n":187,"o":[{"m":1,"v":1}],"s":[{"i":[{"d":33}],"l":41,"o":36,"p":[{"i":0}],"t":[{"o":61}]}],"u":[{"m":12},357],"v":168,"ø":107}],"o":[{"r":15}],"p":[{"a":35,"e":12,"s":22},0],"r":[{"a":[{"k":39}],"e":[{"n":2}],"i":12,"s":22},173],"s":[{"a":[{"r":15}],"e":[{".":12,"i":17,"n":12,"r":[{"i":[{"e":137}]}]},0],"h":[{"a":34}],"i":[{"l":1}],"k":[{".":90,"e":90,"j":13,"o":24}],"p":[{"e":34,"i":1}]},173],"t":[{"e":[{"k":1,"r":[{"a":1,"e":1}]}],"o":7,"t":[{"a":61}],"u":[{"t":21}],"v":[{"e":12}],"ø":21}],"v":[{"a":[{"k":1,"r":49}],"e":[{"n":35}],"i":12,"s":42}]}],"j":[{"o":[{"e":[{"n":[{".":32}]}]}],"u":[{"l":[{"a":31}]}]},153],"k":[{"a":[{"l":[{"i":[{"e":123},58]}],"m":[{"s":116}],"r":[{"a":[{".":31}]}],"v":[{"r":38}]},187],"e":[{"i":[{"e":12}],"r":[{"o":0}],"s":0,"t":[{"a":9}],"y":11}],"h":[{"o":[{"v":149}]}],"i":[{".":0},153],"j":187,"k":[{"e":[{"l":[{"e":16}]}],"i":[{"s":[{"t":39}]}],"j":[{"ø":1},69],"l":24,"o":[{"k":15,"v":17}],"u":4,"y":1},173],"l":[{"a":[{"n":[{"e":93}]}],"e":[{"g":4,"n":11,"t":15}],"u":90,"æ":38,"ø":7},153],"n":[{"a":[{".":35}],"e":[{"k":90,"s":16}],"i":[{"p":16}],"o":[{"k":89},12],"u":153,"ø":38},162],"o":[{".":0,"l":[{"e":61}],"r":[{"d":[{"s":242}]}],"t":[{"e":[{".":31}]}],"v":0},150],"r":[{"a":151,"e":[{"d":89,"f":152,"n":90,"t":[{".":169,"s":38}],"v":229}],"i":151,"o":90,"y":1,"å":[{"d":15},89]},188],"s":[{"a":[{"k":34,"l":1,"m":164}],"e":[{"l":12,"m":164}],"i":[{"g":1}],"k":[{"a":1},54],"n":6,"p":[{"e":22},172],"t":[{"a":1,"e":[{"l":40}],"i":[{"l":1},12],"o":17,"å":18}],"æ":1}],"t":[{"a":[{"r":[{"m":21}],"v":24}],"e":[{"f":12,"p":358,"s":[{"t":4},15]}],"i":[{"d":1,"m":17,"v":15}],"o":[{"r":[{"i":[{"a":123}]}]},162],"r":[{"a":85,"o":359}]}],"u":[{"l":[{"e":[{".":23}]}]},153],"v":[{"a":[{"l":1,"r":[{".":4}]}],"e":[{"d":360},168],"i":[{"k":169,"n":1,"s":4,"v":164}]},150],"w":274,"y":[{"t":[{"e":[{".":31}]}]},38],"æ":90,"ø":153,"å":[{"p":[{"a":31}]},153]}],"l":[{"a":[{"g":[{"a":23,"g":12}],"k":[{"e":38,"s":[{"e":[{".":46}]}],"t":2},259],"l":69,"m":[{"e":93}],"n":[{"l":12}],"r":[{"g":97,"r":0,"t":[{"i":2}]}],"s":[{".":38,"e":38}],"t":[{"e":[{".":23}],"o":15}],"v":[{"l":15,"s":12}]},188],"b":[{"o":[{"d":[{"a":46}]}]}],"c":[{"h":1}],"d":[{"o":15,"r":[{"e":[{"r":23}]}],"s":[{"l":[{"e":22}]}]}],"e":[{"d":[{"i":0,"r":0},162],"e":90,"g":[{"d":17,"e":[{"r":61}],"n":[{"a":46}]}],"i":[{"r":152,"s":152}],"k":[{"e":38}],"l":88,"m":[{".":38,"a":[{"t":38}],"e":[{"n":166,"t":38}],"m":90,"p":90},88],"n":[{"a":39,"h":169,"s":203,"t":[{"u":0}]},162],"p":[{"a":38}],"r":[{"a":[{".":32}],"e":[{"t":152}],"g":96},361],"s":[{"k":[{"u":11},24]}],"t":[{"a":0,"e":0}],"v":[{".":338,"a":[{"k":23}],"n":274}]}],"f":[{"i":15}],"g":[{"a":[{".":35}],"e":[{"l":[{"e":15}]}],"i":15,"s":146}],"i":[{"e":[{"r":[{"e":[{"r":19}]}]},155],"f":0,"g":[{"r":362}],"n":[{"d":193,"e":[{"s":17}],"s":[{"p":0}]}],"o":[{"s":47}],"t":[{"a":[{".":32}],"e":[{"t":23}],"t":274}],"v":[{"e":[{"n":127}]}]},173],"j":69,"k":[{"a":[{"l":3}],"e":[{"s":223,"t":[{"e":1}]}],"n":12},28],"l":[{"a":[{".":15,"r":20}],"e":[{"d":1,"g":1,"i":[{"e":22}],"r":15,"s":115,"t":[{"e":4}]}],"i":[{"g":[{"a":[{".":16}]}],"s":[{"j":1}]}],"s":[{"a":61,"k":22,"l":42,"p":22,"v":22}],"u":[{"r":9}],"æ":1}],"m":[{"o":9,"u":15}],"n":15,"o":[{"k":[{"a":[{".":31}]}],"m":[{"m":90,"n":12,"s":12},88],"p":69,"r":[{"t":90},259],"s":[{"t":12}],"t":1,"v":[{"e":[{"r":[{"s":[{".":61}]}]}],"n":169}]},188],"p":[{"e":[{"t":1}],"h":15}],"r":[{"o":[{"s":5}]}],"s":[{"e":[{"i":[{"e":22},1],"n":12,"s":363}],"i":12,"j":[{"e":1}],"k":[{"a":[{"l":1,"n":[{"d":191}],"r":[{"e":22}]}]}],"l":54,"n":[{"o":4}],"p":[{"e":1,"r":12}],"t":[{"e":[{"n":23}],"i":1,"j":1}],"ø":[{"k":22},7],"å":[{"p":[{"e":20}]}]}],"t":[{"a":[{"l":[{"e":[{".":46}]}]}],"e":[{".":15,"g":4,"r":[{"o":1}],"t":[{"t":26}]}],"o":[{"p":85}],"r":[{"o":[{"p":22},1]}],"u":7}],"u":[{"a":90,"e":364,"h":[{"e":365}],"k":90,"m":152,"n":[{"g":[{"e":[{".":36}]},12]}],"p":[{"e":[{".":32}]},152],"r":153,"s":152,"t":[{"r":12}]}],"v":[{"a":[{"n":24}],"e":[{"d":99,"i":1,"r":[{"e":4}]}],"r":54,"s":[{".":166}],"æ":[{"r":[{"e":[{".":36}]}]}]}],"y":[{"e":[{"t":[{".":32}]}],"n":[{"d":15}]},187],"æ":[{"r":[{"e":[{"s":22}],"v":35}],"t":97},173],"ø":[{"r":366,"y":[{".":12,"a":15,"d":15,"n":367}]},173],"å":[{"r":69,"t":38},188]}],"m":[{".":162,"a":[{"d":88,"f":[{"o":14}],"g":[{"e":[{".":23}],"r":0}],"h":88,"k":[{"e":[{".":23}],"o":0,"t":[{"i":15}],"u":0}],"l":[{"e":[{".":31}],"j":337}],"m":0,"n":[{"a":0,"i":[{".":23}],"u":11}],"r":[{"e":0,"m":239}],"s":[{"i":0,"k":[{"u":11}]}],"t":[{"a":0}],"u":[{"k":24}],"v":[{"e":22}]}],"b":[{"a":[{"l":[{"l":166}]}],"e":[{"d":164,"r":116,"t":164}]}],"d":168,"e":[{"i":[{"e":49}],"l":[{"i":23}],"n":[{"d":0}],"t":[{"r":[{"i":[{"s":[{"k":31}]},22]}]}],"v":9},167],"i":[{"b":0,"e":[{"r":[{"t":22}]}],"g":0,"n":[{"i":[{"s":[{"t":120}]},22],"o":[{"r":0}]},162],"r":11,"s":[{"a":39}]}],"j":[{"e":2,"u":38}],"l":[{"e":[{"s":36},15]}],"m":[{"e":[{".":15,"n":15}],"i":[{".":6}]}],"n":[{"d":167,"e":[{".":1,"d":1,"m":1}],"i":168}],"o":[{"n":[{"o":[{"l":22}]}],"p":69,"v":368}],"p":[{"e":[{"d":1,"r":[{"i":4}]}],"l":[{"a":[{"n":[{"e":[{".":39}]}]}],"i":4},107],"o":[{"l":1,"s":1},18]}],"s":[{"e":[{"s":1,"t":[{"e":[{".":46}]}]}],"j":[{"u":26}],"l":298,"n":7,"o":[{"r":1}],"t":[{"e":23},369],"u":24}],"t":[{"a":[{"l":[{"a":46}]}],"i":[{"l":1}]}],"u":[{"g":90,"k":88}],"y":[{"k":23},38],"ø":[{"r":32,"y":38},168],"å":[{"l":[{"a":[{"n":39},23],"s":5}],"r":370}]}],"n":[{"a":[{"k":69,"l":[{"d":12,"i":22,"l":12}],"n":[{"d":15,"e":38,"g":96,"t":193}],"r":[{".":38,"e":6,"r":0}],"s":[{"s":12}],"t":[{"s":[{"p":116}]}],"v":[{"i":12},28]},173],"b":[{"e":[{"n":[{"a":49}]}]},162],"d":[{"a":[{"n":[{"d":26}]}],"e":[{"k":1,"l":[{"ø":[{"s":[{"e":170}]}]},12],"m":[{"i":15}],"r":12,"s":[{"l":1}]}],"l":22,"r":[{"o":85},172],"s":[{"t":24}],"ø":[{"r":[{"e":14},5]},2]}],"e":[{"g":[{"g":[{"a":46},15]}],"i":[{"e":12}],"k":[{"s":15,"t":90}],"m":162,"n":[{"g":15},173],"r":[{"g":164}],"s":[{"k":0}],"v":[{"e":[{"n":61}]},162]}],"g":[{"a":[{"r":2},31],"e":[{"m":1,"r":[{"i":1,"u":116}]}],"l":[{"e":[{"s":23},1]}],"r":23,"s":[{"e":65,"o":22,"p":22,"t":[{"i":5}]}],"u":[{"t":1}],"å":26}],"h":[{"j":162}],"i":[{".":0,"e":[{"r":[{"k":0}]}],"f":88,"r":38}],"k":[{"e":[{"r":[{"a":1,"i":1}]}]}],"n":[{"a":[{"l":35},173],"e":[{"m":1,"s":[{"t":120,"v":271}]},173],"i":28,"o":28,"s":[{"j":23,"t":[{"a":22}]}],"ø":61}],"o":[{"k":12,"g":12,"l":[{"d":206}],"m":[{".":12}],"p":69,"r":[{"d":97}]},173],"p":[{"å":[{"s":1}]},173],"r":[{"e":[{"m":1}]}],"s":[{"a":[{"b":15,"f":22,"k":[{"e":[{"r":371}]}]}],"e":[{"k":1,"l":[{"i":1}],"m":[{"b":166}],"s":133,"u":18}],"i":[{"d":[{"e":[{".":46}]}],"e":[{"r":[{"t":17}]}],"m":1},12],"l":[{"e":[{"g":58,"v":31}]}],"o":[{"p":[{"t":40}]}],"t":[{"a":[{"l":21}],"e":[{"r":23}],"i":23},69],"u":[{"n":[{"d":61}]}],"v":[{"e":23,"i":120}],"ø":[{"k":24},7],"å":61}],"t":[{"a":[{".":15,"p":1}],"e":[{".":15,"c":1,"g":1,"l":1}],"i":[{"e":15,"g":15,"k":15,"m":[{"a":35,"e":[{"n":2}]}]},12],"o":[{"r":[{"i":22},372]}],"r":[{"a":[{"b":22}],"e":[{"n":22},1],"o":[{"l":26,"p":[{"i":373}]}],"å":85}],"u":[{"l":4,"n":[{"g":[{"e":[{".":120}]}]}],"s":164}]}],"u":[{"l":374,"r":169},173],"v":285,"w":162,"y":[{".":0,"b":88,"r":11,"s":88,"t":[{"a":0}]}],"æ":[{"m":32},300],"ø":[{"k":23,"v":375,"y":[{"d":15}]}],"å":[{"s":[{".":4},69]},162]}],"o":[{"a":12,"b":[{"e":11,"l":7}],"d":[{"d":[{"e":[{".":32}]}]},15],"g":[{"r":2},376],"i":259,"k":[{"s":90},88],"l":[{"o":377},88],"m":[{"s":177}],"n":[{"d":[{"e":[{".":32}]}],"e":15,"k":[{"l":23},152],"t":90}],"p":[{"a":12,"l":15,"o":18,"p":[{"r":17}],"r":12},7],"r":[{"d":[{"a":23}],"e":35,"i":[{"d":1,"e":80,"k":1,"s":1},88],"o":69}],"s":[{"l":31},69],"u":259},92],"p":[{"a":[{"t":24}],"e":[{"n":[{"o":11}],"p":31,"r":[{"r":17}],"s":[{"t":23},90],"t":[{"a":0}],"u":11}],"i":[{"d":164,"k":[{"a":[{".":31}],"r":61}],"n":175,"s":[{"o":164}]}],"l":[{"e":[{"n":[{"e":15},93],"r":15,"s":378,"t":164}]},7],"o":[{"e":[{"t":31}],"k":[{"e":164}]}],"p":[{"s":28}],"s":[{"e":[{"m":4,"s":133}],"l":[{"u":3}],"t":54,"u":7,"y":151}],"t":[{"i":[{"n":4}],"r":31}]},188],"r":[{"a":[{"b":[{"b":193}],"d":[{"a":[{".":32}]}],"e":[{"l":0}],"f":[{"t":12},88],"g":365,"k":[{"e":90,"l":22},259],"l":[{"u":18}],"m":[{"a":0}],"n":[{"a":[{".":31}],"d":[{"e":[{".":38}]}],"e":379,"l":[{"i":2}],"o":23}],"p":[{"e":[{".":15,"r":15}],"i":[{"n":9}],"o":12,"p":[{"e":15}]}],"r":[{".":38,"g":0}],"s":[{"a":[{"n":[{"e":38}],"r":38}],"j":[{"e":0}],"k":0,"o":11,"s":193,"t":4}],"t":[{"e":[{"k":0}],"o":[{"r":61}],"r":0,"t":15}],"u":[{"k":[{"e":[{"n":49}]},15],"s":46},88],"v":[{".":12,"h":12,"l":15,"n":90,"r":12,"s":12}]},188],"b":[{"i":[{"t":[{"i":49}]}],"o":[{"d":[{"a":46,"e":[{".":46}]}]}],"y":[{"l":6}]},162],"d":[{"e":[{"d":1,"n":[{"s":91}]},28],"i":[{"s":1}],"r":[{"a":23,"e":32},69],"s":[{"k":[{"j":23}],"t":[{"o":[{"g":[{"a":242}]},23]},18]}],"v":34}],"e":[{"f":[{"f":12,"t":12}],"g":[{"e":[{"n":9}]}],"i":[{"d":12,"e":12}],"k":[{"a":31,"e":[{".":31}],"s":193,"t":[{"e":97}]}],"l":[{"e":366,"i":[{"t":23}],"l":[{"i":11}],"s":193}],"m":[{".":155,"m":38,"n":12}],"n":[{"d":[{"e":[{"n":15}]}],"g":193,"h":169}],"o":380,"r":[{".":6,"f":193,"i":38}],"s":[{"s":12}],"t":[{".":38,"a":193,"h":36,"o":22,"s":152,"t":[{"s":139},168]},23],"v":[{"a":366,"e":198,"n":[{"e":[{".":36}]},193]}]},153],"é":93,"f":[{"a":[{"r":[{"i":166}]}],"i":168,"r":162}],"g":[{"e":[{"l":[{"v":22}]}],"i":[{"f":18}],"l":[{"i":4}],"o":[{".":1}],"r":[{"e":[{"t":22}]}],"s":[{"k":[{"o":22}],"p":22}]},173],"h":[{"ø":[{"r":[{"e":[{".":36}]}]}]},173],"i":[{"a":[{"d":0,"k":0}],"b":[{"b":18,"l":24}],"c":[{"e":0}],"d":[{".":38,"n":38},88],"k":[{"a":[{"t":23}],"n":11}],"l":162,"m":[{"a":[{".":381}]}],"n":[{"d":12,"g":[{"a":[{"r":168}],"s":[{"i":120}]},90],"n":12,"s":12,"t":12}],"o":[{"r":[{"i":38}]}],"s":[{".":38,"a":0,"e":24,"o":0,"p":11,"t":[{".":38,"a":152,"e":38,"i":[{"l":22}],"o":382}],"ø":22}],"t":[{"e":0,"o":0}],"v":[{"o":2}]},153],"j":[{"e":[{"s":[{".":2}]}]}],"k":[{"a":162,"e":[{"r":[{"i":[{"e":123}]}],"s":[{"a":1,"e":1}],"t":[{"e":1,"t":3}]},167],"l":[{"æ":164}],"n":168,"o":383,"r":162}],"l":[{"a":[{"n":[{"d":[{"a":[{"s":170}]}]}]}],"e":[{"g":[{"e":[{".":36}]}],"s":[{"t":66}]}]}],"m":[{"e":12,"o":[{"d":[{"e":[{".":46}]}]}],"s":54,"å":[{"l":[{"a":[{".":36}]}]}]}],"n":[{"a":[{"d":1}],"e":[{"d":[{"e":15},1],"e":4,"r":[{"o":1}],"s":[{"t":1}]}],"o":[{"b":12},7]},173],"o":[{"a":90,"b":[{"l":12,"r":384}],"e":153,"f":[{"f":12}],"g":153,"k":[{"s":15}],"l":[{"y":12},153],"m":[{"k":15,"o":22},153],"n":[{"d":15,"o":14},153],"p":[{".":38,"a":381,"e":[{"n":38}]},69],"r":[{".":38,"e":90},8],"s":[{"a":385,"j":164,"l":12}],"t":[{"a":23}],"v":69},173],"p":173,"r":[{"a":[{"e":1},12],"e":[{"l":1}],"i":[{"e":[{"n":33}]}]},173],"s":[{"a":[{"k":[{"a":46}],"l":31},168],"e":[{"p":12}],"j":168,"k":[{"a":[{".":23,"r":[{"a":[{"n":6,"r":57}]}]},12],"o":[{"r":22}]},69],"l":[{"a":23,"e":[{"d":31}]},69],"m":[{"i":23}],"n":[{"e":15}],"p":168,"t":[{"e":[{"n":[{"s":22}],"r":22,"v":2}]}],"u":69,"v":[{"a":1,"e":23},162],"å":[{"r":26},69]}],"t":[{"a":[{"r":[{"e":1}]},173],"e":[{"s":386}],"i":[{"a":15,"b":12,"e":5,"l":15,"m":[{"o":5}]}],"o":[{"p":1}],"r":[{"o":[{"l":22}]}],"s":[{"a":24},162],"y":[{"e":36}],"å":[{"r":[{"e":[{"n":16}]}]}]}],"u":[{"a":153,"d":387,"i":153,"k":8,"m":90,"n":[{"g":193,"i":12}],"p":[{".":90}],"r":[{"e":91},370],"s":153,"t":[{".":15,"a":38,"e":90,"n":15,"o":35,"s":0}],"v":40},173],"v":[{"e":[{"l":[{"e":242}]}],"i":168,"s":18,"æ":[{"r":[{"e":[{".":36}]}]}]}],"y":[{"a":375,"e":[{"n":[{"e":16}]}],"r":69,"s":18},388],"æ":[{"r":[{"e":389}]},153],"ø":[{"k":[{"n":15,"o":0}],"l":182,"n":[{"n":149},169],"r":[{"a":32,"s":390}],"y":[{"a":12,"e":391,"n":5,"s":[{".":169,"k":2}]}]},188],"å":[{".":155,"d":[{"a":23,"e":[{".":32}]}],"e":31,"k":[{"e":15},23],"l":34,"n":259,"p":34,"s":[{"e":34}],"t":[{"a":392},31],"v":11},188]}],"s":[{".":173,"a":[{"a":15,"d":88,"g":36,"l":[{"a":[{".":31}]},1],"m":[{"e":[{"t":39}]}],"n":[{"t":193}],"r":[{"a":[{"b":15}],"v":15}]},153],"b":[{"i":[{"e":49}]}],"c":[{"e":6}],"e":[{"g":[{"e":15}],"i":[{"d":115,"e":[{".":15}],"g":[{"e":[{".":46}]},12]}],"k":[{"u":0},90],"l":[{"s":78}],"n":151,"r":[{".":38,"e":38,"i":38,"k":193}],"s":[{"t":90,"v":0},179],"t":[{"a":[{"s":22}],"e":[{".":23}],"j":38,"s":155}],"u":0},173],"h":[{"a":[{"r":[{".":39},4]},0],"e":[{"r":26}],"i":0,"o":[{"p":350},153]}],"i":[{"a":[{"r":31}],"e":[{"r":[{"t":22}]}],"l":[{"i":38,"l":12},0],"n":[{"s":193}],"v":31,"s":[{"t":24}]}],"j":[{"o":[{"r":12}]}],"k":[{"a":[{"b":38}],"e":[{"d":4,"e":1,"r":1}],"i":[{"l":167,"n":[{"g":0,"n":[{"s":373}]}]}],"j":[{"e":[{"r":[{".":340}]}],"æ":1,"ø":[{"n":11}]},153],"n":9,"o":[{".":38,"a":2,"t":90}],"r":153,"u":[{"e":[{"t":17}]},153],"v":[{"i":12}],"y":[{"r":11},38],"ø":153,"å":[{"r":16},152]}],"l":[{"a":153,"e":[{"k":1,"t":[{".":2,"s":2},1]}],"i":[{"t":1}],"o":[{"k":169}],"ø":[{"k":1,"v":1}]}],"m":[{"a":[{"k":[{"e":1}]}],"e":[{"t":[{"t":393}]}]}],"n":[{"a":[{".":35}],"e":[{"r":1}],"o":7,"u":1,"y":7,"æ":[{"r":[{"e":17}]}]}],"o":[{"b":23,"d":375,"f":259,"k":[{"s":12}],"m":[{"m":90},88],"r":[{"i":193}]},187],"p":[{"a":[{"r":[{"a":49}],"s":12}],"e":[{".":15,"d":394,"r":[{"m":15}]}],"l":[{"e":26},12],"o":[{"l":12,"r":90}],"u":[{"n":12}]},150],"s":[{"e":[{"d":1,"e":1,"g":1,"i":16,"n":[{"d":[{"i":4}],"k":26}],"s":1,"t":[{"e":1}],"v":[{"a":42}]}],"j":[{"a":85,"e":1}],"k":[{"r":1}],"l":[{"e":[{"t":23}]}],"o":[{"m":24,"s":1}],"p":[{"a":1}],"t":[{"i":[{"l":[{"t":22}]}],"o":[{"l":1,"r":22}],"u":[{"a":39,"e":[{"n":[{".":91}]},22]}]}],"u":162,"v":129,"å":3}],"t":[{"a":[{"d":152,"e":15,"k":[{"t":2}],"l":[{"a":35}],"n":[{"e":93,"s":38,"t":15}],"p":12,"r":[{"t":38}],"t":[{"o":15},90],"u":193,"v":[{".":152,"s":22}]}],"e":[{".":97,"g":1,"i":[{"e":22,"g":22}],"k":1,"l":[{"l":38,"s":15},1],"m":[{"a":0,"e":11,"o":0,"p":15}],"n":[{"g":152,"k":15},168],"r":[{".":206,"k":149,"n":[{"e":159}]}],"s":[{"t":1},124]}],"i":[{"e":[{"n":1}],"f":90,"g":1,"k":[{"k":1},90],"m":[{"a":395}],"s":1,"v":0}],"j":153,"o":[{"n":[{"e":4},52],"g":0,"k":90,"l":89,"r":[{"d":22,"i":22}]}],"r":[{"a":[{"k":15}],"e":[{"n":[{"e":22}],"r":22}],"é":39,"i":[{"b":15}],"y":[{"k":38}],"å":90}],"u":[{"d":38,"s":15},153],"å":[{"r":[{"e":[{"n":17}]}],"s":[{"e":61},36]},167]}],"u":[{"t":15},153],"v":[{"a":[{"r":[{"e":17}]}],"e":[{"k":229}],"i":[{"g":15,"k":[{"t":38}],"s":12}]}],"y":[{"n":[{"a":23}],"t":169},361],"ø":[{"v":[{"i":15}],"y":[{"e":2}]}]}],"t":[{"a":[{".":162,"e":0,"f":[{"o":58},88],"k":[{"o":11},90],"l":[{"a":[{".":23},24],"d":15,"e":22,"l":[{"i":[{"s":[{"t":36}]}],"s":138},248],"s":396},90],"n":[{"k":175,"d":11,"e":[{"n":23}]}],"m":[{"b":12}],"p":[{"a":155,"e":38,"p":[{"e":164}]},1],"r":[{".":6,"e":6,"t":15}],"s":[{"j":[{"e":[{"s":334}]}]}],"t":[{"i":248,"o":38,"t":90},184],"u":[{"n":15}],"x":93},153],"c":69,"e":[{"i":[{"e":0}],"k":[{"a":0}],"m":[{"a":[{".":23}]}],"r":[{"a":[{"n":38}],"u":22}],"s":[{"i":17,"l":0}],"t":[{".":38,"s":152},6]},173],"é":162,"h":[{"e":[{"r":4}]},162],"i":[{"t":90},173],"j":[{"e":[{"r":152}],"ø":12},188],"l":168,"m":15,"n":[{"e":[{"v":4}],"i":[{"n":[{"g":[{"s":51},190]}]}]},173],"o":[{"e":[{"r":23}],"p":[{"p":[{"d":15}]}],"r":[{"d":12}],"t":0},188],"r":[{"a":[{"d":229,"k":252}],"e":[{"e":38,"f":38},167],"i":[{"s":193}],"u":[{".":155,"m":15}]},188],"s":[{"a":[{"r":[{".":35}]}],"k":[{"u":[{"l":[{"e":[{".":91}]}]},1]}],"l":[{"a":[{"g":[{"a":91}]}]},61],"n":[{"æ":103}],"ø":7},54],"t":[{"a":[{"k":1,"l":[{"e":[{".":36}],"t":22},1],"n":[{"k":1}],"p":6}],"e":[{".":15,"i":4,"l":[{"t":4}],"n":[{"k":1,"n":1}],"r":[{"a":[{"t":14},190],"f":20,"k":166,"r":166}],"s":[{"k":22}]}],"i":[{"a":[{"n":242},4],"l":1},173],"j":7,"o":[{"a":17}],"r":[{"e":24},1],"s":[{"k":[{"i":23}],"t":[{"i":23}]}],"u":[{"g":12,"r":1}],"v":[{"i":[{"s":[{"e":14}]}]}],"y":7}],"u":[{"i":334,"n":[{"a":31,"i":12}]},188],"v":[{"a":[{"n":[{"g":149}]},193]},397],"y":188,"z":162,"æ":[{"r":[{"a":24}]},162],"ø":153,"å":[{"r":[{"e":22}]},153]}],"u":[{"a":1,"f":93,"g":[{"l":[{"a":32}]}],"h":1,"k":[{"a":[{".":1}],"e":[{"m":15},7],"r":2}],"l":7,"m":28,"n":[{"g":[{"e":[{".":23}]}],"u":15},151],"p":[{"a":195,"k":11}],"r":[{"a":[{"t":4}],"e":5,"i":173,"n":[{"a":32,"e":[{".":31}]},90],"o":[{"p":164},176],"t":90},88],"s":[{"i":1},88],"t":[{"a":69,"s":90,"t":61}],"z":193},153],"v":[{"a":[{"d":[{"r":36}],"k":[{"t":[{"i":15}]}],"l":[{"a":23}],"n":[{"n":[{"s":103}],"t":[{"a":169}]}],"r":[{"a":[{"r":0}],"b":0,"k":169}],"t":[{"f":11}]}],"e":[{"d":[{"a":19,"e":[{"l":22}]},168],"g":[{"g":38},168],"i":[{"s":116}],"n":[{"n":168,"s":17,"t":[{"y":166}],"y":0}],"r":[{".":155}],"s":[{".":38}],"t":[{"a":38}],"v":[{".":38}]}],"i":[{"e":[{"r":[{"e":22,"t":22}]},23],"n":[{"s":5}],"s":[{"e":[{".":23}],"t":18}]}],"j":88,"n":[{"a":[{"k":42},7],"u":2}],"o":[{"m":[{"s":2}]}],"r":[{"e":0,"i":[{".":152}],"å":35}],"s":[{"v":32},69],"t":[{"a":[{"l":[{"a":46}]}],"i":5}],"u":[{"n":375}],"y":[{"r":[{"k":38}]}],"ø":88},153],"w":[{"a":12}],"y":[{"b":[{"a":[{"l":103}]}],"d":150,"k":15,"n":[{"g":153}],"r":[{"k":[{"a":31,"e":[{".":23}]}]},153],"t":[{"i":152,"r":12},150]},69],"z":[{"i":90,"u":153}],"æ":[{"r":24},150],"ø":[{"r":[{"n":[{"a":[{".":31}]}]}],"y":[{"a":[{"n":39}],"e":[{"n":61}]},23]},398],"å":[{"k":23,"n":[{"d":[{"a":32}]}],"t":[{"t":32}]},154]}],"é":[{"a":153,"b":153,"d":[{"ø":[{"r":53}]},153],"e":95,"f":153,"g":153,"h":153,"i":153,"k":153,"l":153,"m":153,"n":[{"e":[{"t":149},169]}],"o":38,"p":153,"r":[{"j":88},153],"s":[{"e":28},153],"t":153,"v":[{"a":[{"l":[{"a":32}]}],"o":[{"r":[{"e":[{".":32}]}]}]},153],"å":38}],"è":[{"r":[{"e":[{"d":88,"f":88,"k":399,"n":[{"e":[{"r":0}]}],"p":88,"s":[{"t":0},82],"v":88}]},153],"v":[{"e":[{"s":11}]}]}],"ê":[{"l":[{"a":[{"n":93}]}],"r":[{"a":11,"e":153,"o":2,"s":[{"l":35}]}]}],"f":[{"a":[{"b":[{"o":162}],"c":[{"i":69},32],"d":[{"e":[{".":4},12],"m":168}],"f":1,"g":[{"a":129,"e":[{"r":15,"t":[{"i":22},5]}],"i":7,"o":7,"r":[{"o":274},7],"s":[{"k":24}],"u":129}],"i":22,"k":[{"r":173,"s":[{"e":[{"t":33}]}],"t":[{"a":203}],"u":69}],"l":[{"a":69,"k":[{"e":[{"s":31}],"l":41}],"l":[{"e":[{"r":[{"s":31}]}]}],"m":22,"o":1,"s":[{"k":23}]},166],"m":[{"o":236}],"n":[{"a":[{".":1}],"d":400,"e":166,"f":[{"a":14}],"g":[{"s":[{"t":[{"e":[{"v":170}]}]},5]}],"k":162,"l":361,"s":19,"t":[{"e":[{"s":[{"k":61}]}],"i":22,"o":24,"r":[{"y":23}]}],"u":168}],"p":173,"r":[{".":401,"a":[{".":1},12],"e":[{".":1,"s":1}],"g":[{"e":[{"l":23,"s":23}]}],"i":[{"t":1}],"n":22,"s":[{"k":[{"j":31}]}],"t":183,"v":[{"e":[{"l":23}]}],"y":162},164],"s":[{"a":2,"e":[{"l":1,"r":[{"u":1}]}],"l":173,"t":[{"r":18}]}],"t":[{"a":[{"l":12}],"e":[{".":1,"r":[{"s":21}]}],"o":69,"r":[{"e":52},28]}],"v":[{"n":[{"e":22}],"ø":69}]},172],"b":[{"a":[{"n":[{"e":[{".":23}]}]}]},188],"d":188,"e":[{".":164,"a":[{".":166,"l":20},402],"c":173,"d":[{"a":1,"e":164,"r":[{"a":12,"i":34},7]}],"e":[{"n":[{"e":2}]}],"f":173,"g":285,"h":[{"j":173}],"i":[{"e":[{"n":39,"r":39}],"g":[{"d":[{"e":5}],"e":22}],"l":[{"e":[{"s":17}],"i":23}],"n":[{".":301,"e":191}],"t":[{"e":[{"r":61}]}]}],"j":167,"k":[{"a":307,"l":162,"o":173,"r":162,"t":[{"e":[{"s":31,"v":17}]}]}],"l":[{"a":[{"g":15}],"e":[{"n":15}],"i":[{"e":128,"k":168},15],"l":[{"e":[{"s":139}],"æ":61}],"o":[{"k":22},173],"t":[{"a":[{".":39}],"e":[{"k":23}],"i":23,"r":[{"a":23}]}]}],"m":[{"a":[{"k":22}],"b":39,"n":[{"e":39}],"o":1,"s":22,"t":[{"i":[{"d":23}]}],"ø":129}],"n":[{".":166,"a":162,"d":[{"r":49}],"i":162,"s":166,"t":[{"l":[{"e":[{"g":373}]}]}]}],"o":173,"p":403,"r":[{".":166,"a":[{"l":4,"m":162,"s":15,"t":31}],"d":[{"a":[{"m":23}],"e":22}],"e":[{"a":162,"g":162,"k":1,"n":31,"r":[{".":2,"s":22}]}],"i":[{"e":[{"n":[{"e":273}]},36]}],"n":191,"r":28,"s":[{"k":[{"a":[{"r":49}],"e":16}]}],"u":189}],"s":[{".":164,"i":173,"k":189,"t":[{"i":131,"r":404,"u":[{"m":39}],"ø":405},7],"y":162}],"t":[{"a":[{".":4,"p":162}],"e":[{".":1,"a":162}],"i":[{"l":162},15],"r":406,"t":[{"j":17,"s":128}],"y":303}],"u":173,"v":[{"e":[{"n":1}]},173],"ø":[{"y":[{".":4}]},173],"å":173},172],"é":[{"r":172}],"f":[{"a":[{".":152,"b":0,"g":407,"k":193,"l":61,"n":[{"n":11}],"r":[{"b":0,"d":36,"e":61}],"s":155,"t":11,"u":340,"v":375}],"e":[{"b":88,"d":228,"e":88,"h":11,"l":[{"t":66}],"m":88,"r":[{"d":[{"i":11}],"e":[{"r":23}]}],"s":88,"t":[{"i":0,"o":0}],"v":[{"e":15}]}],"i":[{"b":88,"c":[{"e":0}],"d":88,"e":[{"n":155}],"n":[{"n":0,"t":15}],"p":88,"s":42}],"j":88,"l":[{"a":[{"g":[{"a":46}]},12],"e":[{"g":35,"k":15}],"i":12}],"o":[{"l":1},88],"r":[{"e":375,"o":69}],"s":[{"l":15}],"t":9,"u":[{"r":31,"t":96}],"æ":90,"ø":0},173],"g":397,"h":188,"i":[{"a":[{"l":61,"n":23,"p":162,"s":408}],"b":[{"i":[{"e":[{"n":36}]}]}],"c":[{"e":[{"n":35}],"i":16}],"d":[{"i":2}],"e":[{"r":[{"e":40},69]},28],"f":[{"i":15,"o":15,"l":2},1],"g":[{"h":[{"t":49}],"r":40},11],"h":162,"k":[{"a":[{"l":[{"i":[{"e":409},170]}]},35],"e":[{"n":2}],"k":[{"a":31,"n":47}],"o":15,"s":[{"a":61}],"u":162}],"l":[{"a":[{".":1}],"i":12,"l":[{"e":[{"l":31,"r":[{"i":31}],"s":23,"t":[{"i":61}]}]}],"m":[{"a":[{"t":64}]}],"o":69,"t":[{"r":[{"e":[{"s":61},36],"i":23}]}],"æ":162}],"n":[{"a":[{"r":[{"t":22}]}],"d":22,"e":[{".":1,"r":15}],"g":[{"r":18}],"j":168,"n":[{"e":[{"i":17}],"s":[{"a":168}]}],"o":[{"r":35},85],"s":[{"l":[{"e":[{"g":31}]}]},173],"t":[{"e":[{"s":87}]}],"u":7}],"o":400,"r":[{"a":[{".":4},12],"e":[{"n":[{"e":35}],"s":[{".":15}]}],"i":12},7],"s":[{"a":9,"c":162,"e":[{".":4,"r":[{"s":120}]}],"i":[{".":6}],"k":[{"a":[{"d":80,"l":61,"n":[{"d":17}],"r":[{"t":31}]},4],"e":[{"n":[{"d":47}]}],"l":41,"o":[{"l":168}],"u":168},7],"t":[{"i":22,"u":168}]}],"t":[{"i":[{"m":[{"e":[{".":36}]}]}],"r":162,"t":[{"s":17}],"y":2}],"v":[{"e":[{".":1}]}]},172],"j":[{"e":[{"g":153,"l":[{"l":[{"e":[{"n":[{"d":36}]}]}]}],"n":38,"r":[{"n":[{"e":17}]}],"s":[{"k":23}],"t":255}],"u":38,"æ":[{"r":[{"e":[{"s":410},14]}]}]},172],"k":411,"l":[{"a":[{"g":[{".":38,"g":11}],"k":[{"e":61}],"s":0}],"e":[{"g":173,"i":31,"k":0,"l":11,"r":[{"u":316}],"s":[{"l":23}],"t":[{"t":0}],"v":90}],"i":[{"n":[{"e":61}],"s":[{"t":16}],"t":[{"t":260}]}],"o":[{"g":[{"a":39}],"k":[{"s":49}],"m":255,"r":[{"o":47}],"s":[{"k":[{"l":36}]}]},172],"u":[{"e":[{"s":18}],"s":46,"t":15},11],"y":[{"s":65},164],"ø":[{"n":90,"s":22}],"å":[{"s":[{"a":39,"e":61}]},172]},156],"m":188,"n":4,"o":[{".":173,"a":[{"r":35}],"b":[{"s":168}],"e":173,"f":162,"i":[{"l":[{"a":61}]}],"k":[{"e":[{".":6}]}],"l":[{"a":[{".":4}],"d":[{"r":23}],"e":[{".":1,"d":15}],"k":[{"v":47,"e":[{"s":138}]}],"l":[{"e":[{"r":39,"s":[{"e":22}]}],"i":22}],"u":1}],"n":[{"a":1,"d":183,"e":15,"i":[{"d":34,"n":1}],"s":180},164],"p":153,"r":[{"a":54,"d":[{"r":[{"e":[{"v":39}],"o":61}],"u":19}],"e":[{".":4,"i":39,"n":[{"t":22},77],"s":[{"s":22}],"t":[{"e":[{".":143,"n":143}]},23]}],"g":131,"h":36,"i":[{"n":207}],"k":46,"l":[{"o":[{"v":58}],"ø":[{"p":[{"a":33}],"s":[{"e":33}]}]}],"m":[{"o":[{"r":33}]}],"n":24,"o":36,"p":42,"s":[{"e":24,"i":[{"d":[{"a":33,"e":[{".":58}]}]}],"m":65,"t":[{"e":39},46],"v":5}],"t":[{"a":[{"l":[{"e":[{".":91}]}]}],"e":[{"i":[{"e":186}]},19],"i":[{"d":[{"a":14}]},77],"v":65}],"u":[{"l":65}],"v":[{"a":[{"r":[{"e":33}]}]},77],"æ":412,"ø":42,"å":39}],"s":[{"e":35,"f":[{"o":[{"r":[{"e":14}]}]}],"j":162}],"t":[{"a":1,"e":[{".":4}],"o":[{"k":1,"m":1,"p":4,"r":1},17],"s":[{"v":36},24],"t":24}],"v":187},172],"ô":164,"p":[{"o":[{"e":31}]},397],"r":[{"a":[{"l":22,"m":[{"e":53,"i":31,"m":[{"a":[{"n":[{"e":[{".":242}]}]}]}]}],"n":[{"k":[{"o":139}],"s":[{"e":16}]}],"r":62,"s":[{"e":[{".":22,"p":61}],"i":[{"e":91}],"k":61,"p":36},54],"v":[{"r":77},61]},172],"e":[{".":88,"d":[{"s":[{"e":[{"l":46}],"t":14}]}],"e":41,"g":167,"k":0,"m":[{"m":[{"a":[{"n":[{"e":[{".":242}]}]}]}],"s":103},53],"n":[{"e":61}],"s":[{"k":[{"o":[{".":16,"e":17}]},31],"v":148}]}],"i":[{"a":[{"r":[{"e":19}]}],"d":[{"i":274}],"e":[{"r":[{"f":23}]}],"n":153,"s":[{"k":[{"a":36}],"p":42,"t":[{"i":[{"l":19}]}]}],"t":[{"e":[{"r":[{"e":[{".":91}]}]}],"i":[{"m":[{"e":[{".":91}]}]}]}]}],"o":[{"c":168,"f":61,"n":[{"t":[{"a":[{"l":[{"e":186}]}]}]}],"s":[{"t":32}]}],"u":[{"s":176,"t":[{"a":[{"l":[{"e":[{".":120}]}]}]}]}],"y":[{"t":153}],"ø":[{"b":22,"k":[{"o":61},0]}],"å":[{"r":39,"v":[{"e":103}]}]},7],"s":[{"h":[{"o":36},7],"i":28,"j":[{"u":[{"k":38}]}],"l":[{"e":[{"g":[{"e":[{".":36}]}]}]},88],"m":0,"n":[{"e":239},88],"o":[{"v":15}],"t":[{"a":[{"b":375,"n":97}]},7],"v":413},188],"t":[{"a":[{".":90,"f":61,"k":69,"l":[{"a":[{".":32}],"g":12}],"m":259,"n":[{"a":0,"e":152,"l":12}],"r":[{".":38}],"s":414,"v":330},153],"e":[{"a":88,"d":90,"e":0,"g":88,"i":88,"k":88,"m":11,"n":[{"a":23,"d":18,"h":193,"s":[{"v":80}]}],"o":88,"r":[{"a":415,"i":[{"n":0}],"s":17}],"s":[{"t":0}],"t":[{"a":0,"t":169}]}],"i":[{"d":206,"n":[{"d":12}],"s":201}],"l":15,"n":2,"o":[{"g":38,"n":164},217],"r":12,"s":[{"a":[{"l":[{"t":22}]}],"e":[{"i":24,"r":[{"s":22,"v":22}]}],"i":129,"k":[{"a":[{"f":7}]},54],"l":[{"a":[{"g":[{"a":120}],"n":9}],"e":[{"g":[{"e":[{".":120}]}]}]}],"t":[{"o":[{"p":3},12],"r":[{"i":20}],"ø":15}],"u":54,"ø":357}],"t":[{"a":[{"k":[{"a":46}]}]},9],"u":69},173],"u":[{"g":[{"a":[{".":6}],"l":[{"e":[{".":39,"g":127}]}]}],"l":[{"e":4,"l":[{"a":[{"r":39}],"e":[{".":39,"n":[{"d":[{"e":[{".":242}]}]},23],"r":23,"s":61},120],"f":[{"ø":[{"r":[{"e":170}]}]}]},18]}],"n":[{"n":[{"s":[{"l":[{"a":[{"g":[{"a":159}]}]}]},203]},183]}],"r":[{"a":[{".":4}],"e":[{".":4,"t":35}],"o":2,"u":176}],"s":[{"e":[{"l":2}],"k":4,"o":127,"t":26}],"t":[{"h":23,"u":176}]},172],"v":[{"a":[{"l":[{"a":32}]}]},187],"y":[{"l":[{"a":15}],"r":[{"a":[{".":6,"b":158}],"e":[{".":1},69],"k":[{"e":[{".":32}]},61],"t":22},28],"s":[{"a":[{".":6},16]},12]},172],"æ":189,"ø":[{"d":[{"a":[{".":1}],"e":[{"k":1,"n":15,"s":[{".":15},1]}],"s":[{"e":[{"l":[{"s":416}]}]}]}],"f":69,"k":173,"l":[{"e":[{".":1}]}],"r":[{"a":[{"r":15},31],"e":[{".":1,"s":[{"v":2},1],"t":[{"e":6}]}],"t":[{"i":[{"n":31}]}]},93]},172],"å":[{"r":[{"e":[{"n":2,"t":2}],"i":15,"u":61}],"v":[{"a":2}]},162]}],"g":[{"a":[{"b":[{"a":162,"o":69,"ø":168}],"d":[{"a":12,"e":[{"d":1}],"g":162,"m":173,"r":248}],"e":[{"k":26}],"f":[{"f":[{"e":[{"l":139}]}],"l":[{"o":168}],"t":90}],"h":168,"k":[{"s":153,"t":[{"a":[{".":32}],"e":32}],"v":12},168],"l":[{"a":[{".":1},69],"e":[{"i":14,"n":2}],"l":[{"e":[{"s":23}],"i":162}],"o":317}],"m":[{"a":[{".":1}],"b":162,"e":[{"r":15}],"m":[{"e":[{"l":145}]}]}],"n":[{"d":[{".":168,"e":[{"n":168}]}],"e":301,"g":[{"e":[{"n":19}],"j":53}],"k":417,"l":188,"n":162,"s":[{"a":162,"v":162}],"t":[{"r":[{"e":248}]}]}],"p":[{"a":[{".":4}],"e":[{".":1}],"l":26,"s":82,"u":21}],"r":[{".":301,"a":[{"f":4,"k":3}],"b":[{"r":166,"y":166},173],"d":[{"e":[{"k":23}]}],"e":[{".":191,"a":162,"s":[{"k":[{"e":[{".":120}]}]},22]}],"i":28,"k":[{"i":162}],"n":[{"e":24}],"t":[{"a":[{".":31}],"e":[{".":32},38],"i":90,"s":[{"l":[{"a":80}]}]}],"u":[{"n":23}],"y":[{"l":1}]}],"s":[{"c":1,"i":122,"k":[{"a":[{".":32}],"e":[{".":32}],"i":4}],"p":162,"s":[{"e":[{"l":31,"n":22,"r":61,"t":[{"t":17}]}],"l":18}],"t":[{"e":22,"o":15,"r":418},166]}],"t":[{"e":[{".":1,"n":[{"s":15}],"s":17}],"i":12,"o":69,"r":12,"t":[{"a":[{"p":31}]}]},88],"u":[{"l":[{"a":[{".":22}]}]}],"v":[{".":301,"d":173,"e":[{"i":226,"r":[{"i":1}]}],"g":162,"k":38,"s":188,"t":173,"v":162}],"w":173,"ø":162},172],"b":[{"a":[{"n":[{"e":[{".":23}]}]}],"y":[{"k":11}]},188],"c":188,"d":[{"a":[{"l":[{"t":15}],"u":97}],"e":[{"a":24,"b":[{"a":90},88],"d":[{"i":0}],"l":[{"o":22}],"m":88,"n":[{"d":0}],"o":227,"r":[{"a":0,"e":195,"o":11}],"s":88,"t":[{".":90},88],"v":[{"i":[{"s":[{"a":91}]}]}]}],"o":[{"p":15,"r":69}],"y":[{"d":23}],"ø":[{"y":330}]},222],"e":[{"a":[{"k":[{"t":[{"a":46,"e":[{".":36}]}]}],"r":[{"e":[{"n":61}],"k":1}]},189],"b":[{"a":168,"e":236,"r":[{"i":164,"å":162}],"y":[{"r":164}]},173],"d":[{"a":[{"n":162}],"e":[{"l":168}],"i":[{"a":14}],"o":[{"m":[{".":301,"a":191,"e":301,"m":[{"e":191}],"s":168}],"s":162}],"r":173,"y":173,"ø":173},23],"e":[{"n":[{"d":[{"e":[{".":46}]}]}]},173],"f":[{"t":38,"æ":164},173],"g":[{"g":38,"n":151},419],"h":[{"ø":[{"v":[{"e":[{".":46}]}]}]},173],"i":[{"e":153,"n":277,"r":[{"e":39},41],"s":[{"p":64,"t":87}],"t":[{"a":18,"o":18,"r":41},164]},173],"j":173,"k":[{"l":35,"n":12,"s":153,"t":168},420],"l":[{".":166,"a":[{"r":1,"u":162}],"e":[{".":4,"a":2,"d":162,"i":[{"e":[{"r":14}]},162],"k":162,"m":181,"n":[{".":15,"s":15}],"t":[{"t":22},166]}],"i":[{"d":162,"g":[{"g":168}],"t":162,"v":168},164],"o":[{"v":15},173],"s":[{"e":24,"i":22,"k":[{"l":58}]},421],"t":42,"u":[{"n":15},162],"v":[{"e":61}],"y":162,"æ":173,"ø":173,"å":173}],"m":[{".":166,"a":[{".":301},173],"i":173,"l":164,"n":[{"a":31},248],"o":173,"r":301,"s":[{"t":422},164],"u":12,"y":173,"ø":173,"å":173}],"n":[{".":164,"a":[{"m":40},129],"d":[{"s":[{"t":120}]}],"e":[{"a":12,"m":162,"r":[{"f":22}],"s":15,"t":[{"i":22},5],"v":[{"e":[{".":17}]},162]}],"g":[{"a":[{".":32}],"r":22}],"i":[{"n":163,"v":168}],"k":22,"l":[{"e":[{"g":[{"e":[{".":120}]}]}]}],"n":24,"s":[{"l":17,"u":[{"n":31}]}],"t":[{"r":22}],"u":[{"m":162}],"y":162,"æ":162,"ø":162},88],"o":[{"g":166,"l":164,"m":[{"e":[{"t":190},14]}],"n":15,"p":[{"e":35},168]},173],"p":173,"r":[{".":164,"a":[{".":15,"l":4,"n":[{"t":26}],"s":35}],"d":[{"i":22}],"e":[{"d":162,"f":162,"g":162,"k":162,"n":[{"e":4}],"p":162,"s":[{"e":168}],"t":[{"t":162}]}],"i":[{"d":53,"k":[{"a":46,"e":168},162],"m":1,"s":1,"t":1,"v":1}],"l":[{"e":[{"g":33}]}],"m":[{"a":[{".":335}]}],"n":[{"e":120},24],"o":[{"a":162,"m":[{".":162,"m":162}],"p":[{".":168,"e":162}]}],"p":22,"s":[{"a":[{"f":53}]}],"u":[{"d":166,"p":15}],"v":22,"ø":[{"r":[{"e":[{".":36}]}],"v":423}],"å":162},88],"s":[{".":166,"a":173,"e":[{"n":[{".":166,"s":166}]},173],"i":162,"j":[{"a":236,"e":162}],"k":189,"l":[{"u":58,"ø":23},69],"o":162,"p":[{"e":162,"r":[{"a":15},1]}],"t":[{".":164,"a":[{"b":[{"l":50}]}],"e":[{".":166,"k":[{"k":31}]}],"i":[{".":32}],"r":[{"i":[{"d":[{"e":[{".":242}]},17]}]}],"å":168},189],"u":424,"v":[{"i":[{"k":[{".":22}]}]}],"y":173,"æ":168,"ø":173,"å":[{"r":[{"e":17}]},189]},11],"t":[{".":166,"a":[{"k":15,"l":[{"e":[{".":36}]}],"t":[{".":168,"e":168}]}],"e":[{".":166},265],"i":173,"j":173,"o":173,"r":173,"s":425,"u":173,"y":[{"e":46},173],"ø":173}],"u":173,"v":[{"a":426,"e":173,"i":[{"r":162,"s":[{"a":36}]}],"n":[{"e":[{".":31}]},248],"o":236,"å":166},88],"y":173,"æ":162,"ø":173,"å":173},172],"é":172,"f":[{"e":[{"l":28}]},188],"g":[{"a":[{"l":97,"s":[{"k":15}],"v":259}],"e":[{"d":[{"i":0}],"i":69,"l":[{"a":0,"e":0}],"m":88,"n":[{"u":0}],"r":[{"e":[{"i":11}],"i":[{"n":23}],"ø":0}],"s":[{"b":36,"l":17,"m":0,"o":11,"p":0,"t":[{"i":[{"o":427}]}],"v":428}],"v":88}],"i":[{"e":36,"f":0,"m":198}],"j":[{"e":[{"s":17},1]}],"l":[{"u":152},88],"n":0,"o":[{".":90,"s":38},217],"r":[{"a":[{"d":[{"a":36},12],"t":15}],"e":[{".":6,"d":12,"k":2}]}],"s":[{"p":[{"a":[{"r":9}]}],"s":61,"t":[{"o":12}],"y":1,"ø":12}],"u":[{"d":350,"r":198}]},187],"h":[{"e":[{"n":32}],"t":[{"e":[{"n":[{"e":22}]}],"o":1}],"æ":32},188],"i":[{".":164,"a":[{"k":162,"r":[{"b":162},69],"v":168}],"b":173,"c":6,"d":[{"e":12},173],"e":[{"k":162,"n":[{"d":35},164],"r":166},69],"f":[{"a":162,"o":173,"r":162,"u":162}],"g":[{"a":[{".":4}],"r":173}],"h":173,"i":173,"k":[{"a":166,"e":164,"i":162,"k":164,"r":9,"u":162}],"l":[{"e":15}],"m":[{"e":[{"s":[{"s":162}],"t":[{"r":1}]}],"i":162,"ø":162}],"n":[{"d":188,"g":[{"e":[{"n":[{"i":168}]}]}],"i":[{"n":1}],"n":[{"u":22},188],"o":162,"s":187,"t":187,"v":173}],"o":[{"m":236,"p":189,"r":23}],"p":[{"s":[{"i":22}]},173],"r":[{"a":168,"e":[{".":1},12],"o":[{"b":4},18]}],"s":[{".":166,"a":173,"e":[{"l":162,"n":162},12],"k":[{"a":168},166],"l":[{"u":32,"ø":23}],"o":162,"p":[{"a":34,"r":9},162],"t":[{"e":[{"r":[{"u":120}]}],"i":22,"r":[{"a":17,"é":15,"e":[{"r":79}]}],"u":162,"y":168}]}],"t":[{"a":15,"e":[{"s":5},236],"r":429,"t":[{"e":22}]}],"u":173,"v":[{"a":[{"l":162},2],"o":162,"u":162}]},172],"j":[{"a":[{"g":167,"k":188,"r":[{"n":38}],"z":173}],"e":[{"f":22,"g":181,"l":[{"s":103}],"n":[{"n":66,"o":[{"p":[{"p":[{"s":430}]}]}],"s":125,"t":168},28],"r":164,"s":[{"k":61,"p":41}],"v":[{"a":[{"k":148}]}]}],"o":[{"b":173}],"u":[{"t":304},188],"ø":[{"d":[{"e":39}]}]},172],"k":[{"l":[{"y":49}]},397],"l":[{"a":[{".":168,"d":[{"e":24}],"g":[{"a":23,"e":[{".":32}]},162],"n":[{"d":90}],"r":[{"t":15,"v":16},153],"s":[{"e":191,"k":127,"s":11,"t":[{".":38},168]},184],"t":164,"u":38},7],"e":[{"d":[{"e":[{"r":[{"o":31}]}]}],"f":181,"g":[{"e":24,"g":[{"a":46}]}],"i":[{"e":[{"r":[{".":16}]}]},168],"k":[{".":152,"e":38},88],"l":88,"m":[{"t":164}],"n":[{".":155,"e":[{".":155,"s":155}],"s":155},162],"p":[{"l":39}],"r":[{"a":23,"e":[{"d":[{"e":[{".":91}]}]}]},162],"s":[{".":155,"e":[{".":31}],"k":195,"m":284}],"t":162,"v":88},4],"i":[{"d":[{"e":[{"l":23}]},184],"e":[{"n":77,"r":32}],"g":176,"m":[{"e":39},336],"o":162,"t":[{"t":103}],"v":306}],"j":[{"a":2},162],"l":15,"o":[{".":0,"a":88,"b":166,"m":[{"e":334}],"r":[{"i":[{"a":[{"n":120},170],"e":[{"n":[{"e":170}]}]}]},253],"s":[{"t":[{"e":22}]},0],"v":168}],"s":23,"u":[{"g":166,"k":38,"n":[{"g":[{"e":[{".":46}]},15]},168],"t":15},167],"y":[{"d":38,"f":164,"s":[{"e":[{".":23}]}]}],"ø":[{"g":88,"p":[{"a":32}],"s":173,"y":[{".":2,"m":166}]}]}],"m":[{"e":[{"t":[{"e":0,"r":0}]}],"é":38,"i":[{"n":[{"i":120}]}],"o":[{"e":23}],"u":[{"l":[{"e":[{".":32}]}]},90],"å":[{"l":[{"a":31}]}]},188],"n":[{"a":[{"k":69,"l":[{"e":[{"m":22}],"o":23}],"v":88}],"d":[{"ø":[{"r":14},36]},69],"e":[{"e":88,"l":[{"o":0}],"r":[{"o":11,"ø":11}],"s":[{"e":[{".":32}],"k":0,"t":0},177],"t":[{"r":11},38],"v":88},1],"i":[{"b":0,"d":0,"k":334,"n":[{"g":[{"s":139},103]}],"s":[{"k":428,"t":[{"r":33},31]},23]}],"k":9,"o":[{"m":88,"p":20,"v":40}],"r":15,"s":[{"k":[{"r":1}],"m":4,"o":[{"m":1}],"p":[{"r":23}],"t":[{"i":1}],"v":129},69],"t":9,"u":[{"r":[{"e":22}]}],"æ":[{"r":[{"e":31}]}],"å":88},153],"o":[{"a":[{"n":191,"r":[{".":191},69]}],"b":[{"e":17},173],"d":[{"a":[{"l":15,"r":22},1],"d":173,"e":[{".":1}],"s":[{"t":49}]}],"f":173,"g":[{"a":35,"e":[{".":15}],"r":84}],"i":168,"k":[{"s":[{"e":[{".":23}]}]},173],"l":[{"e":12,"f":[{"a":31}],"o":15,"v":[{"a":[{"r":31},23]}],"å":1}],"m":[{"a":252,"e":[{"t":[{"r":[{"i":[{"s":168}]}]}]}],"m":191},173],"n":[{"a":[{"n":[{"d":26}]}],"e":[{".":35}],"i":2,"o":[{"k":15}],"s":39}],"p":188,"r":[{"a":[{".":15,"e":2,"s":2},431],"d":[{"a":31},173],"e":[{"a":105},69],"g":173,"i":[{"e":80},0],"v":[{"a":32},38],"ø":15}],"s":[{"p":24,"t":175}],"t":[{"o":168,"r":31}],"v":[{"e":[{".":6}],"i":[{".":6}]},162]},172],"p":432,"r":[{".":167,"a":[{"b":162,"c":[{"e":22},168],"d":[{"s":301}],"f":[{"f":17,"t":80}],"m":53,"n":[{"d":[{"s":433}],"t":[{"o":17,"r":103}]}],"s":[{"e":[{".":39,"t":39}],"k":31,"t":18}],"t":[{"e":[{".":32}],"i":[{"s":103}]},22],"u":23,"v":[{"a":[{"k":41}],"i":[{"s":61}],"t":[{"a":242}]}]}],"e":[{"a":173,"d":[{"s":248}],"e":[{"n":23}],"f":[{"e":152},173],"g":[{"a":0}],"i":[{"e":[{"n":[{"e":36},14]}],"s":434}],"k":162,"l":267,"n":[{"t":38}],"p":[{"i":162,"s":43}],"s":[{"e":152,"s":[{"a":[{"k":36}],"e":[{"n":[{"t":36}]}]}],"t":274}],"t":[{"t":162}]}],"i":[{".":248,"b":18,"d":162,"f":162,"g":187,"p":304,"s":[{"o":53,"ø":53,"e":[{"t":[{"e":22}]}]}],"t":162}],"o":[{"a":[{"r":39}],"i":435,"m":[{"m":17}],"n":0,"s":[{"k":22}],"v":[{"e":24,"i":[{"n":47}]}]}],"u":[{"i":248,"l":181,"n":[{"g":16}],"p":337,"s":[{"a":61,"t":17}],"t":188}],"y":[{"d":173,"g":248,"t":[{"m":274}]}],"ø":[{"d":[{"e":[{".":22}]}],"r":274,"v":[{"e":22},248],"y":[{".":2},162]}],"å":[{"d":[{"a":31},168],"k":5,"n":61,"t":[{"e":[{".":22}]}]}]},296],"s":[{"a":[{"k":[{"e":[{"r":[{"s":15}]}]}],"l":[{".":152,"e":152,"g":[{".":38,"e":38}]}],"m":[{"b":12,"n":2},18],"n":[{"g":350,"k":92}],"r":[{"d":38}],"s":[{"t":152},88]},28],"b":[{"ø":[{"n":36}]}],"c":[{"e":7}],"e":[{"f":15,"g":88,"i":88,"k":[{"r":38,"v":152},88],"l":[{"a":[{".":39}],"s":[{"a":271,"t":5}]}],"m":88,"n":[{"d":[{"e":[{".":4}]}],"k":[{"e":[{".":36}]}],"s":38,"t":90}],"r":[{".":38,"i":90},88],"s":[{"t":23}],"t":[{"e":90,"i":12,"s":155,"t":1},23],"v":28}],"f":[{"ø":183}],"i":[{"d":[{"e":[{"r":38}]}],"s":15,"v":28},88],"j":[{"a":[{"r":1}],"e":[{"f":90}],"i":38,"o":88,"å":38}],"k":[{"a":[{".":1,"d":38,"l":[{"l":38},1],"m":11,"n":0,"p":[{"a":0,"e":38,"i":0}],"v":2}],"i":[{"l":[{"t":38}]}],"j":[{"æ":252},393],"o":[{"t":90}],"r":[{"e":[{"n":38}]}],"u":[{"g":152}],"v":11}],"l":[{"a":[{"g":[{"a":36}]}],"e":[{"g":[{"e":[{".":36}]}],"r":[{"i":4}]}],"u":[{"k":0,"n":1,"t":[{".":39}]}],"y":[{"n":38}]}],"m":[{"e":[{"d":15,"r":[{"t":437}]}]}],"n":[{"e":[{"l":152}]}],"o":[{"g":38,"p":[{"e":35,"p":[{"e":350},350]}]}],"p":[{"a":[{"l":38}],"e":[{"l":90}],"i":[{"k":15,"l":[{"e":15},90]},7],"o":[{"r":[{"s":97}]}],"u":[{"r":90}]}],"s":[{"e":[{"e":5}]},34],"t":[{"a":[{"k":15,"n":[{"d":192,"g":38}],"s":[{"j":1}],"t":[{"s":[{"r":[{"å":438}]}]},393]}],"e":[{".":15,"e":439,"l":[{"l":1}],"m":[{"a":[{".":36},15],"t":152}],"r":[{"e":1,"f":229,"k":229,"n":229,"s":229,"v":229}],"v":[{"n":[{"e":[{"n":61}]}]}]},31],"i":[{".":229,"e":89,"f":90,"g":89,"å":15}],"o":[{".":38,"l":[{".":38,"a":152,"e":38,"l":15},1]}],"r":[{"a":[{"p":1,"u":38}],"e":[{"a":22,"d":[{"e":38}],"i":22,"k":[{"e":38}],"t":4}],"i":[{"d":[{"e":[{".":91}]}]}],"o":[{"f":229}],"ø":90,"å":149}],"u":[{"e":38,"t":22}],"y":[{"r":[{"k":[{"a":91}]}]}],"ø":[{"r":1}],"å":229}],"u":[{"g":22},28],"v":[{"a":[{"n":[{"e":1}]}],"i":[{"k":15}],"æ":2}],"y":[{"d":28,"m":152,"n":[{"a":31}],"t":31}],"ø":[{"k":[{"i":31}],"t":4},88],"å":23},436],"t":[{"a":[{"k":[{"a":[{".":32}],"e":[{".":32}]}],"l":[{"a":[{".":31}],"e":[{".":23}]}]},90],"e":[{"k":[{"e":[{".":31}]}],"m":[{"a":[{".":31}]}]},437],"i":[{"d":[{"e":[{".":32}]}],"f":169},90],"r":[{"e":[{".":4}],"å":[{"d":[{"s":138}]}]}],"s":[{"v":2}],"t":15,"u":[{"e":[{"n":[{".":32}]}]}],"v":[{"e":[{"k":91}]}],"y":[{"e":32,"t":35}]},188],"u":[{"b":[{"å":440}],"d":[{"i":7,"s":[{"t":18}]}],"e":[{"l":1}],"g":[{"l":348},168],"i":[{"d":[{"a":[{"r":17}]},23]}],"l":[{"e":[{".":1}],"k":[{"e":[{".":32}]},248],"l":[{"a":23}],"o":22,"ø":61}],"m":191,"n":[{"g":23}],"r":[{"g":28,"i":1,"n":[{"a":32,"e":[{".":31}]}],"u":[{"a":15,"e":12}]}],"s":[{"t":1}],"t":[{"a":69,"b":173,"d":162,"e":[{".":38}],"g":168,"l":152,"n":162,"s":173,"t":[{"a":[{"k":23}],"e":[{"s":23}],"r":162}]}]},172],"v":[{"a":[{"k":[{"e":[{".":23}]}],"l":[{"a":32}]}],"e":[{"d":[{"l":[{"i":123}]}]}],"i":[{"t":[{"a":32}]}]},188],"w":200,"y":[{"a":192,"d":[{"a":[{".":1}]}],"m":191,"n":[{"e":12}],"r":31,"s":[{"a":[{".":6}],"e":[{".":4}]}],"t":[{"e":[{".":1}]}],"v":[{"e":[{".":1}]}]},172],"æ":[{"t":38}],"ø":[{"k":248,"r":[{"s":24}],"v":361,"y":[{"a":39,"e":[{"r":36}],"n":22}]}],"å":[{"a":[{"s":4}],"e":[{"n":[{".":4}],"r":[{".":1}]}],"k":440,"m":162,"n":[{"d":[{"a":32}]},181],"p":272,"r":[{"e":361}],"s":[{"t":12},7],"v":[{"e":[{"n":35,"t":1}]}]},172]}],"h":[{"a":[{"a":1,"b":[{"a":49}],"e":[{"l":7},162],"f":[{"i":162}],"g":[{"a":[{".":1},12],"e":[{"n":12}]},7],"i":[{"s":[{"m":2}]},54],"k":[{"a":15,"e":[{".":1,"n":15,"r":[{"a":2}],"s":223}]}],"l":[{"a":[{".":4},69],"d":[{"s":396}],"e":[{".":1,"v":1}],"l":[{"e":[{"i":31}],"ø":31}],"s":[{"k":41,"o":23,"t":41}],"u":15,"v":[{"a":[{"r":19}],"o":19},53]}],"m":[{"a":15,"e":[{".":6}],"n":[{"e":[{"s":[{"t":31}]}]}],"o":15,"s":[{"t":[{"r":396},23]}]}],"n":[{"a":15,"d":[{"r":47,"s":[{"k":[{"r":16}]}],"ø":17}],"e":[{".":1}],"i":[{"s":103},176],"n":[{"e":[{"l":31,"n":22,"s":42},23],"o":106},255],"s":[{"e":24,"k":23}]}],"p":[{"e":1}],"r":[{"e":[{".":1,"i":15,"l":1,"m":12,"s":1}],"k":22,"o":[{"v":15}],"s":[{"e":61}],"t":[{"r":[{"e":22,"i":23}]}]}],"s":[{"j":[{"e":17},1],"l":7,"p":[{"l":127}],"v":22}],"t":[{"a":[{"r":12}],"e":[{".":1}],"l":[{"e":31}]}],"u":[{"k":[{"e":[{".":22}]}],"s":[{"t":31}],"t":[{"r":53}]},0],"v":[{"a":[{".":1,"n":441},23],"e":[{".":1,"g":1,"i":1,"s":18,"r":[{"t":109}]}],"i":69,"o":1,"s":[{"l":23}],"u":442,"ø":54,"å":162}]},88],"b":[{"a":[{"n":[{"e":[{".":23}]}]}]},188],"c":162,"e":[{".":173,"a":[{"n":[{"s":2}],"t":[{"r":5}]},7],"b":[{"n":22}],"d":[{"e":[{".":1,"r":[{"s":145}]}],"r":429}],"f":[{"t":[{"a":39,"e":[{"s":61}]}]}],"g":[{"e":[{".":1},12],"r":107}],"i":[{"a":18,"e":[{"n":22}],"m":164,"n":[{"s":12}],"s":[{"k":23}],"t":[{"s":5}]},7],"k":[{"s":[{"e":[{"k":23,"r":[{"i":[{"n":31}]}]}]}]},7],"l":[{"a":[{".":1},54],"e":[{".":1,"i":443}],"l":[{"e":[{"s":[{"u":31}]}]}],"o":24,"s":[{"a":24,"e":[{"s":190},445],"k":24,"p":22,"t":[{"e":22}],"v":24},444],"t":[{"e":[{"s":23}]}],"v":[{"e":39}]}],"m":[{"a":[{"k":1}],"n":[{"e":22}],"s":[{"k":146}]}],"n":[{"f":[{"ø":[{"r":[{"e":14}]}]}],"o":19,"s":[{"e":22},180]}],"r":[{"a":[{"d":[{"a":49}]}],"e":[{"t":15}],"i":[{".":1}],"j":22,"l":[{"e":[{"g":[{"e":33}]}],"i":[{"g":[{"a":33}]}]}],"n":417,"o":[{".":1,"a":49},69],"p":61,"r":[{"e":[{"i":31,"s":[{"i":31}],"t":31}]}],"s":[{"k":[{"a":[{".":31,"r":[{"e":64}]}]}],"v":31}],"u":[{"n":311}],"ø":107}],"s":[{"e":[{".":1}],"p":[{"a":61,"e":[{"l":22,"n":22,"r":39}]},7],"t":[{"e":[{"r":[{"i":14}],"s":23}],"ø":4}]}],"t":[{"e":[{".":1}],"i":20,"s":[{"a":446,"p":53}],"t":24},28],"v":[{"a":[{".":4,"r":[{"m":21}]}],"e":[{".":1}],"n":[{"a":[{".":39}]}]}]}],"f":173,"h":[{"u":38},173],"i":[{"a":[{"o":15}],"b":[{"a":[{"k":1}]}],"e":[{"n":23,"t":7}],"f":[{"f":183,"r":39},298],"g":[{"e":[{".":4}]}],"k":[{"e":61}],"m":[{"m":[{"e":[{"l":[{"o":145}]}]}]}],"n":[{"a":[{"n":21}],"n":[{"e":[{"s":23}]}],"s":[{"k":[{"e":49}]},5]}],"p":[{"l":1,"p":24}],"r":[{"o":69}],"s":[{"e":[{".":35,"n":12}],"i":9,"k":162},129],"t":[{"o":61,"r":26,"t":[{"i":22}]}],"v":[{"a":[{".":6}],"e":[{".":1}],"s":54}]}],"j":[{"a":[{"r":5}],"e":[{"m":[{"e":16}]},23],"o":[{"r":[{"t":[{"e":139}]}]}],"u":[{"l":[{"e":62},127]}]}],"l":[{"a":[{"n":38}]},173],"m":[{"a":[{"n":32}]},188],"n":[{"a":88,"e":[{"n":31}],"s":69},173],"o":[{"a":[{"r":[{".":15}]}],"b":31,"d":[{"a":4,"e":[{".":1,"n":15,"r":[{".":15},18]}],"y":15}],"f":[{"f":[{"a":446,"e":[{"r":19},446],"i":23},41]}],"g":[{"s":[{"t":[{"r":[{"a":61},31]}]},36]}],"i":22,"l":[{"a":[{"g":15,"n":15},7],"e":[{".":1}],"i":[{"n":1}],"l":22,"o":[{"m":1}],"s":5,"u":[{"t":61},1]}],"m":[{"e":[{".":1}],"o":[{".":1,"d":1,"s":1}]}],"n":[{"o":20}],"o":1,"p":[{"a":[{".":6}],"e":[{".":1}],"i":[{".":6}]}],"r":[{"a":[{".":4},15],"e":261,"o":69,"t":173}],"s":[{"a":22,"e":[{"n":15,"r":15}],"i":68},1],"u":28,"v":[{"e":[{"r":[{"e":17}]}],"é":1},69],"w":173},0],"p":153,"r":[{"a":153,"e":153,"i":[{"n":[{"e":22}],"s":255}]},173],"s":[{"e":229},200],"t":[{"e":[{"r":[{"e":103},38]}],"r":153,"t":15},162],"u":[{"d":[{"a":1,"s":[{"å":[{"r":[{"e":33}]}]},19]},85],"e":[{"r":1,"t":[{".":4}]}],"g":[{"a":1,"e":[{".":1}]}],"j":[{"a":[{".":6}]}],"k":[{"a":[{".":4}],"r":[{"a":32}]}],"l":[{"a":1,"e":[{".":1,"g":1,"s":15,"v":1}],"v":22}],"m":[{"a":15}],"n":[{"d":[{"e":[{"s":31}]}],"n":255}],"r":[{"u":71}],"s":[{"a":[{".":6,"r":[{"r":21,"e":66},447]},54],"e":[{".":1,"d":85}],"i":129,"j":233,"k":129,"m":61,"s":42,"t":[{"r":[{"a":[{"n":49}],"e":23},6],"y":4},54],"u":83,"ø":7}],"v":[{"a":1,"e":[{".":1,"s":1}]}]}],"v":[{"a":[{"l":[{"e":22}],"s":17}],"e":[{"r":[{"a":18},28]}],"i":[{"l":[{"i":19}],"r":394,"t":[{"s":103}]}],"o":[{"r":[{"i":80},17]},28]},1],"y":[{"a":24,"b":[{"l":7}],"d":23,"e":[{"n":[{"e":[{".":22,"s":39}]}]},7],"g":[{"g":[{"e":[{"l":22}]}]}],"l":[{"a":[{".":4}],"d":[{"e":[{"s":170}]}],"e":[{".":1}]}],"r":[{"d":[{"e":[{"s":23}]}]}],"s":[{"a":6,"e":[{".":1}],"j":129,"t":22},24]},11],"æ":[{"g":15,"r":[{"f":[{"ø":33}],"s":75}]}],"ø":[{"e":1,"f":22,"g":[{"r":[{"i":24,"ø":61}]},7],"k":31,"l":[{"e":[{".":4}]}],"n":[{"a":1,"e":[{".":1}]}],"r":[{"a":[{"r":15}],"e":[{"n":15,"r":15,"s":1}],"s":[{"p":31}]}],"s":[{"t":[{"a":16,"ø":17}]},7],"v":[{"a":69,"e":69,"i":69}],"y":[{"a":19,"k":22,"n":61,"r":[{"a":[{"r":61}]}],"s":[{"e":[{"t":[{"e":[{".":120}]}]}]},5]}]}],"å":[{"a":2,"l":[{"e":6}],"n":[{"a":[{".":4}],"d":[{"r":32,"s":[{"k":[{"r":17}]}]}],"e":[{"l":15}]}],"p":[{"a":[{".":4}],"e":[{".":1}],"l":26}],"r":[{"e":69,"i":69,"s":24,"u":61}],"v":[{"a":[{".":6}],"e":[{".":1}]}]},11]}],"i":[{"a":[{"a":[{"l":35}],"b":[{"l":153,"o":69}],"d":[{"e":375,"j":153,"r":10}],"g":[{"e":7},8],"i":[{"n":69}],"k":[{"r":69,"s":[{"e":[{".":32}]},153],"u":15}],"l":[{".":153,"a":54,"e":[{"i":[{"n":22}],"t":[{"i":22,"t":26},5]}],"f":88,"g":24,"i":[{"n":1}],"k":0,"o":[{"p":24,"v":4}],"s":[{".":38,"t":5}],"t":[{".":90}],"u":54,"ø":7}],"n":[{".":153,"a":[{"l":[{"d":22},1],"r":15},88],"d":[{"r":152}],"e":[{".":229,"s":6,"t":2}],"k":38,"m":153,"o":448,"s":[{"a":24,"l":24},153],"t":153,"ø":2}],"p":[{"a":7,"p":90}],"r":[{".":153,"d":[{"o":23,"s":78,"u":23}],"e":[{"a":38,"l":449},88],"n":[{".":38,"s":155}],"s":[{"k":[{"a":152}]}]}],"s":[{"i":11,"m":153,"p":1,"s":[{"i":90},75],"t":[{".":152},153]}],"t":[{"e":15,"r":31,"y":[{"r":[{"a":36}]}],"t":153},69],"u":[{"k":152}],"v":153}],"b":[{"a":[{"n":[{"e":[{".":23}]}]}],"b":[{"o":15,"u":12}],"e":[{"r":[{"e":90,"o":23}]}],"i":[{"e":[{"r":[{".":22}]}]}],"l":[{"a":[{"r":2}],"e":[{"g":1,"s":223},375]}],"o":[{"e":23,"n":61},38],"r":1,"s":[{"t":12}],"t":6,"y":[{"a":[{"r":[{".":39}]},16]}]},150],"c":[{"a":[{"n":[{"a":[{"r":[{"a":[{"r":167}]}]}]}]}],"e":[{"n":[{"e":22}]}],"i":153,"k":[{"e":[{"t":[{"e":61}]}]},54],"o":153,"y":38}],"d":[{"a":[{"l":38,"s":90,"v":69},173],"d":[{"e":[{"l":[{"u":14},12],"p":4}]}],"e":[{".":173,"a":[{"l":164}],"b":88,"f":11,"g":[{"e":9}],"k":[{"i":152}],"l":[{".":155,"v":12}],"n":[{"d":38,"s":[{"v":17}],"t":[{"i":[{"f":166,"t":166}]}]},173],"o":[{"v":18}],"r":[{"a":[{"p":11}],"e":[{".":450,"n":152,"s":155}],"l":[{"a":[{"g":[{"a":242}]}],"e":[{"g":170}]}],"n":152,"s":38}],"s":[{"m":11}]}],"g":[{"e":[{"m":4,"s":1}]}],"i":[{"e":[{"n":23}],"o":184}],"j":[{"e":[{"r":2}]},93],"n":[{"a":35}],"o":[{"l":253}],"r":[{"a":[{"n":35}],"e":[{"g":15,"v":181}],"i":173}],"s":[{"a":[{"m":15}],"e":[{"l":4},5],"i":[{"m":15}],"l":[{"a":[{"g":[{"a":120}]}]},22],"t":[{"u":26},24]},129],"t":129,"u":[{"n":259}],"y":[{"l":164,"r":90},88],"ø":[{"y":96},90],"å":2}],"e":[{"a":8,"d":88,"f":[{"f":153}],"g":[{"e":1,"o":5}],"i":[{"d":31,"e":153,"g":90,"n":[{"i":38}]},69],"k":[{"l":32,"s":153}],"l":[{"a":20,"e":[{"m":38,"v":1},88],"i":[{"m":252}],"s":153,"t":155,"ø":[{"p":[{"a":46}]}]}],"m":[{"a":340,"b":62,"e":12}],"n":[{"a":2,"d":[{"e":[{"l":[{"a":31}]}]},88],"é":6,"i":230,"n":61,"o":15,"s":[{"k":23,"v":53},38],"t":[{"r":41}],"u":15,"y":11},153],"r":[{"a":[{"n":1}],"d":0,"e":[{".":4,"g":15,"n":[{"g":26}],"t":11}],"i":[{"l":1,"s":1,"v":1},88],"l":88,"o":[{".":2},11],"r":[{"a":23}],"s":[{"p":23,"v":18}],"t":22,"u":[{"n":12}],"v":22}],"s":[{".":11,"c":23,"e":12,"s":22,"t":[{"i":23}],"v":451},259],"t":[{"a":[{"b":[{"l":229}],"t":90},88],"e":35,"é":15,"r":[{"e":23}]},153],"u":28,"v":[{"e":[{"d":2}]}]},173],"f":[{"e":[{"s":104}],"f":[{"a":7}],"i":[{"e":31}],"j":[{"ø":46}],"l":[{"e":[{"s":1},12]}],"o":[{"r":[{"m":103}]}],"r":[{"e":69}],"t":[{"a":[{"l":1}],"e":[{"r":[{"e":1}],"s":17}],"s":28},93],"ø":90},173],"g":[{"a":[{"e":88,"n":[{"n":12}],"r":[{"k":152,"t":1,"u":24}],"t":[{"e":61,"t":12}],"v":88}],"d":12,"e":[{"b":11,"d":[{"i":11,"o":[{"m":[{"m":11,"s":373}]}]}],"m":88,"n":[{"o":31},90],"r":[{"s":38,"ø":0}],"s":[{"p":0}],"t":[{"a":34,"t":15}]}],"g":[{"e":[{"d":1,"s":103}],"r":[{"a":1}],"s":452}],"h":11,"i":[{"a":259,"b":38,"m":0,"o":[{"n":103}]}],"j":[{"e":[{"v":[{"a":49}]}]}],"l":[{"d":31,"i":[{"s":[{"e":[{".":36}]}]}],"o":[{"a":15}]},69],"n":[{"e":[{"u":15}],"o":15}],"o":[{"f":[{"r":22},36],"m":69,"n":[{"o":23}]}],"r":[{"a":7,"e":7,"ø":259,"å":[{"d":12,"t":17}]}],"s":[{"a":[{"l":23}],"e":[{"l":15}],"j":28,"k":[{"a":9,"r":34}],"m":[{"u":23}],"p":[{"a":34}],"t":[{"a":23,"e":[{"k":15,"l":2,"m":15},1],"r":[{"a":23}]},5],"v":[{"a":9}]}],"u":[{"n":69,"t":35}]},173],"h":[{"e":[{"n":18}],"o":[{"l":[{"e":[{".":61}]}]}],"u":[{"k":0,"l":[{"a":39,"e":[{".":22}]}]}]},90],"i":[{"n":38,"s":[{".":152,"e":453}],"t":[{"a":11}]},153],"j":153,"k":[{"a":[{"b":[{"e":[{"l":38}]},88],"f":88,"k":88,"n":[{"d":49}],"o":88,"p":[{"o":0}],"r":[{".":38,"a":38,"e":[{"i":0},22]}],"s":[{"a":11,"p":24}]},150],"e":[{".":88,"d":88,"i":6,"l":[{"e":[{"g":155}],"i":38,"u":22}],"n":[{".":38,"a":0,"e":38,"s":155}],"r":[{".":90,"a":0,"e":[{".":38}],"i":22,"o":53}],"s":[{"i":24,"k":11,"o":38,"u":22},454],"t":[{".":38,"s":38}]}],"i":[{"n":[{"e":39,"n":15}],"s":[{"t":22}]},153],"j":153,"k":[{"a":[{"f":1,"n":[{"a":4}],"p":1,"r":[{"v":22}],"s":1,"t":[{"t":22},1]}],"e":[{"n":[{"t":21}],"r":[{"u":1}],"s":[{"k":6,"t":1}]}],"j":[{"ø":[{"p":1},12]}],"l":[{"a":[{"g":22}]},1],"o":[{"r":[{"d":22}]},7],"r":[{"e":24},1],"s":[{"v":22}],"u":[{"n":[{"d":22}]},455],"v":7,"y":4}],"l":[{"æ":38},69],"o":[{"a":[{"r":155},88],"b":88,"d":[{"e":22},0],"f":228,"g":0,"h":0,"k":88,"n":[{"a":[{".":22}]}],"o":88,"r":[{"d":149,"e":0}],"v":88},153],"r":[{"a":[{"k":1}],"e":[{"m":15}],"o":[{"b":[{"e":15}],"s":12}],"y":7},69],"s":[{"a":7,"e":[{"k":1}],"m":[{"å":[{"l":[{"a":91}]}]}],"o":[{"t":2}],"p":[{"e":[{"l":15}]}],"t":[{"i":22,"o":22,"u":6}]}],"t":[{"a":[{"v":1}],"e":[{"g":1}],"r":129,"s":[{"l":[{"a":[{"g":[{"a":242}]}]}]}]}],"u":[{"l":[{"e":[{".":31}]}],"t":251},153],"v":[{"i":[{"n":1}]},69],"y":153,"ø":90,"å":[{"p":[{"a":32}]},90]},173],"l":[{"a":[{"d":[{"r":15}],"f":2,"k":375,"l":12,"n":[{"a":0,"d":4}],"r":[{"k":0,"t":12}],"s":[{"s":15,"t":80}],"t":22,"v":15},153],"d":[{"a":[{"k":1}],"e":[{"k":[{"o":1}],"t":[{"e":1}]}],"j":2,"r":[{"e":24}],"s":[{"f":[{"a":[{"r":[{"e":186}]}]}],"t":65}]}],"e":[{"a":[{"r":[{"e":32},49]}],"e":456,"f":88,"g":[{"e":[{".":23}],"n":193}],"i":[{"g":11},259],"k":88,"l":88,"n":[{"o":0}],"r":[{"o":0}],"s":[{"e":0,"k":195,"t":0},54],"t":[{"r":[{"i":31}],"t":[{"e":17}],"u":23}]}],"é":153,"f":[{"ø":[{"r":[{"e":17}]}]}],"g":[{"e":15,"l":69}],"i":[{"d":0,"e":[{"r":[{"s":22}]}],"g":[{"a":39}],"k":38,"m":259,"n":[{"d":193,"e":152,"s":0}],"r":366,"s":[{"t":[{"i":[{"k":19}]}]}]}],"j":[{"a":[{".":12}],"e":[{"s":[{"e":15}]},69],"o":69,"u":69}],"k":[{"e":[{"r":15,"s":1},18],"o":[{"s":160}],"u":15}],"l":[{"a":[{"b":1,"m":4,"n":[{"d":[{"a":91}]}],"p":4,"u":35}],"e":[{"e":1,"i":[{"e":33}],"n":[{"d":[{"e":[{"r":21}]}]}],"s":[{"k":4}],"v":1}],"i":[{"g":[{"a":49}]}],"o":[{"m":223}],"s":[{"k":[{"å":17}]},82],"æ":[{"r":[{"e":[{".":49}]}]},5]}],"m":[{"e":[{"s":[{"t":26}],"v":42}],"i":1,"s":22}],"o":[{"e":153,"l":[{"o":155}],"m":[{"v":15},0],"n":38,"p":[{"p":12}],"r":225,"s":[{"o":38}],"t":[{"u":18}],"v":[{"e":0}],"w":54}],"r":[{"e":[{"t":103}]}],"s":[{"e":[{"t":[{"j":[{"e":91}]}]}],"l":[{"a":58,"e":[{"g":[{"e":58}]}],"i":21},12],"m":[{"u":23}],"p":28,"t":[{"r":15},28],"u":2,"v":[{"a":[{"r":[{"a":33,"e":14}]}]},67]}],"t":[{"a":[{"l":[{"a":49}]}],"r":[{"e":[{"t":[{"t":22}]}]}],"å":21}],"u":[{"h":23,"k":38,"l":239,"n":12,"r":38,"s":155,"t":69}],"v":[{"e":[{"d":46,"r":5}]},20],"y":153,"å":[{"r":36},370]}],"m":[{".":167,"a":[{"d":88,"e":[{"n":0}],"g":88,"k":[{"k":97,"o":0}],"l":[{"n":46}],"m":88,"n":155,"p":88,"r":[{".":38}],"s":22,"t":[{"r":0}]},162],"b":457,"e":[{"e":0,"g":458,"k":88,"l":[{"u":11}],"n":[{"h":15}],"t":[{".":155,"a":0,"i":0},6],"y":11}],"é":93,"i":[{"l":[{"a":39}],"n":[{"i":120}]}],"j":152,"l":[{"e":[{"v":1}],"u":219}],"m":15,"o":[{"g":11,"l":39,"r":[{"d":[{"a":46},15]}],"v":40}],"p":[{"e":[{"r":[{"i":166}]}],"l":23,"o":172,"s":[{"e":91},39],"u":172},28],"r":[{"e":[{"f":1,"k":1,"s":1}]}],"s":[{"e":35,"k":[{"l":53,"r":24}],"m":[{"e":9}],"t":[{"i":4},182]}],"t":[{"a":[{"l":[{"a":46}]}]}],"u":162,"ø":459}],"n":[{".":173,"a":[{"g":[{"g":15},0],"k":[{"k":38}],"l":[{"e":[{"t":23}]}],"m":[{"e":12},319],"n":[{"e":155,"n":15},7],"p":[{"p":15},88],"r":[{".":38,"s":38}],"s":[{"k":0,"p":0,"s":169}],"t":[{"a":[{"k":53}],"r":62}],"u":[{"k":2},11],"v":[{"l":15,"r":15}]},168],"c":[{"e":183}],"d":[{"e":[{"r":2}],"i":[{"g":168}],"o":[{"g":1}],"r":[{"a":39,"u":12,"ø":17}],"s":[{"k":22,"p":24,"t":42}],"u":[{"s":[{"t":[{"r":166}]}]}],"å":61}],"e":[{"a":[{"r":[{"e":32}]}],"d":[{"y":120},88],"g":[{"g":15}],"i":[{"d":15,"e":12}],"l":[{"e":11,"i":23}],"n":[{"g":2}],"p":[{"a":32,"e":[{".":32}]}],"r":[{"e":[{".":152,"n":38,"s":155}],"i":[{"k":23}],"n":152,"t":38}],"s":[{".":38,"k":[{"a":46,"e":[{".":46}]},0],"s":[{"t":5}],"t":[{"i":42}],"ø":0}],"v":88},162],"é":167,"f":[{"e":[{"k":164}],"o":[{"s":1,"t":1}],"u":49,"y":162}],"g":[{"a":[{"l":[{"d":26}],"v":1}],"e":[{"b":[{"j":15}],"m":4,"n":[{"i":166}],"r":[{"i":15,"u":1}],"v":12}],"j":[{"e":[{"n":22}]}],"o":[{"a":1,"s":1}],"r":[{"e":[{"p":22}],"i":[{"s":61}]},7],"s":[{"o":[{"m":17}],"t":91,"v":17},28],"u":[{"n":26},168],"ø":233}],"i":[{"a":[{"r":[{".":39}]},152],"b":88,"e":38,"f":0,"g":88,"l":0,"m":61,"n":[{"n":0}],"p":88,"s":[{"a":0,"e":[{"s":0},24]}],"t":[{"i":[{"a":166}],"o":0}]}],"j":[{"e":[{"k":166}]}],"k":[{"e":[{"l":15,"r":[{"o":1}]}],"l":[{"a":85}],"o":[{"k":1}]},173],"l":[{"a":[{"g":[{"a":46}]}]},15],"n":[{".":173,"a":[{"l":1}],"e":[{"m":1,"r":[{"ø":1}],"s":[{"i":1,"t":120}],"t":[{"t":[{"e":21}]},162]}],"f":[{"a":[{"s":33}]}],"g":172,"h":[{"a":[{"l":166}],"o":164}],"i":[{".":1},460],"o":[{"m":26,"v":[{"a":20}]}],"s":[{".":168,"a":164,"e":[{"n":39},22],"t":[{"e":39}],"v":[{"e":61}]},177],"t":172,"u":158,"æ":162,"ø":461}],"o":[{"a":[{"r":38},22],"d":0,"k":[{"s":2},36],"r":[{"g":2}]},173],"s":[{".":162,"a":[{".":35,"l":2,"r":15},167],"e":[{".":15,"k":1,"n":12,"r":[{"i":[{"e":[{"n":[{"e":211}]}]}]}]}],"i":[{"s":14},12],"j":[{"a":1,"e":12},168],"k":[{"a":[{"s":84,"t":15}],"e":[{"t":103}],"i":23,"j":[{"ø":[{"t":22}]},12],"o":[{"r":31}],"v":41,"ø":31},162],"l":[{"e":[{"g":[{"a":32},58]}],"o":12,"ø":67}],"m":[{"a":9}],"o":[{"p":12}],"p":[{"a":1,"l":9,"o":23},172],"t":[{"a":[{"l":166}],"e":[{".":462,"n":[{".":22,"s":39}]}],"i":[{"n":1},463],"o":464,"r":[{"a":15,"e":[{"l":17}],"u":166}],"å":4}],"u":[{"l":2}],"v":7,"y":465},69],"t":[{".":167,"a":[{"l":[{"a":46}]},285],"e":[{".":162,"g":[{"e":109},317],"r":15,"s":[{"s":22}],"t":466}],"i":[{"m":[{"e":17}]},236],"r":[{"a":[{"n":190}],"e":[{"r":23,"s":15}]},28]}],"u":[{"i":31,"l":467,"t":[{".":2,"e":84}]},168],"v":[{"e":[{"v":168}]},172],"y":[{"i":23,"t":23}],"ø":[{"k":2,"t":152,"v":12},168]}],"o":[{"a":182,"b":88,"d":[{"e":[{"r":[{"e":1}]}]},468],"f":[{"f":153}],"g":[{"n":15}],"i":69,"k":[{"s":153}],"l":[{"e":12,"j":[{"e":[{"n":61}]}]},23],"m":[{"u":12}],"n":[{"a":[{"n":[{"s":1}],"r":[{"r":1}]}],"e":[{"r":[{"s":[{"t":3}]}]}],"g":65,"i":[{"n":1}],"u":1}],"p":[{"l":69,"p":153}],"r":[{"a":[{".":15}],"d":[{"a":32}],"e":69,"i":[{"e":1,"n":26}],"l":[{"a":[{"g":[{"a":91}]}]}]}],"s":[{"k":[{"v":18}],"t":69}],"t":[{"a":[{"l":[{"e":[{".":36}]}]}],"e":34,"r":[{"a":1}]}]},162],"p":[{"a":[{"p":38,"t":[{"i":[{".":23}]}]}],"e":[{"e":0,"l":[{"a":33}],"p":381}],"i":[{"e":54,"n":[{"e":39,"g":[{"s":169}]}]},153],"l":[{"e":88},153],"p":[{"e":[{"l":[{"i":1,"s":50}]}],"l":[{"a":[{"n":31}],"æ":[{"r":[{"e":[{".":91}]}]}]}],"r":7,"s":[{"t":41,"y":[{"n":[{"a":91}]}],"ø":23}],"u":[{"n":2}]}],"r":[{"a":11,"u":[{"t":[{"e":[{".":46}]}]},15]},153],"s":[{"a":54,"e":[{"l":5}],"f":[{"ø":14}],"i":7,"k":129,"l":[{"e":[{"g":[{"e":[{".":120}]}]}]}],"t":54}],"t":[{"a":[{"r":4}]}],"y":379,"ø":90}],"r":[{"a":[{"n":[{"d":437}],"r":[{"k":15}],"s":[{"t":155}],"t":[{"r":31}]},153],"d":[{"e":15,"s":22}],"e":[{"i":[{"e":12}],"k":4,"p":[{"o":90}],"r":[{"a":47},90],"s":[{"t":61}],"t":[{"o":93},90]},153],"g":2,"i":[{"a":23,"k":[{"a":[{".":32}]}],"n":[{"d":12,"n":12,"s":[{"t":15}]}],"t":39},153],"k":[{"a":[{".":15,"t":1}],"e":[{"r":[{".":15}],"s":[{"t":1},469]}],"l":[{"e":1}],"v":15,"ø":22}],"m":[{"a":[{"g":1,"l":1,"s":[{"t":1}]}],"é":35}],"o":[{"a":38,"e":153,"i":0,"l":153,"p":[{"p":15}],"s":54}],"r":[{"e":12}],"s":[{"k":[{"o":2}],"p":28,"t":34}],"t":[{"a":12,"i":[{"g":[{"r":116}]}]},31],"u":[{"k":9,"m":32,"s":[{"a":[{".":61}]}]},153],"ø":153,"å":[{"l":40},153]},173],"s":[{"a":[{"k":[{"s":0}],"n":[{"b":0,"g":193,"n":12,"s":193,"t":12}],"s":152,"u":[{"d":15}]},153],"b":[{"r":[{"y":164}]}],"c":[{"e":[{"n":4}],"h":17,"o":12,"r":38}],"e":[{"d":88,"e":[{"l":0,"n":0,"r":[{"n":22}]}],"g":470,"i":[{"e":12,"g":15,"s":22},88],"k":[{"t":[{"e":0},90]},88],"l":[{"d":96,"i":26}],"m":88,"n":[{"e":22,"o":0,"s":[{"i":123}]}],"r":[{".":38,"s":38}],"s":[{"s":15},88],"t":[{"e":0,"j":[{"e":46}]}],"u":88}],"é":167,"h":[{"a":[{"n":[{"e":16}],"v":164}],"i":[{"n":26}],"ø":[{"v":[{"e":49}]}]}],"i":[{"e":[{"n":[{"e":31}]}],"l":[{"d":15}],"n":[{"d":193}],"s":[{"t":17}]}],"j":[{"u":[{"n":2}]}],"k":[{"a":[{".":35,"l":12,"r":[{"t":[{".":39,"e":22}]},12]}],"e":[{".":15,"e":6,"l":[{"s":22},1],"s":78},93],"j":[{"e":12,"o":90}],"l":[{"a":[{"g":[{"a":91}]}],"e":3,"o":24}],"o":[{"g":[{"r":2},17],"p":12,"t":12}],"r":[{"i":[{"n":3}]},69],"u":[{"l":[{"a":38},1]},69],"v":[{"i":1},69]}],"l":[{"u":[{"t":61},11],"ø":[{"y":[{".":39}]}]},69],"m":[{"a":[{"k":38}],"e":[{"d":1}],"o":[{"e":17}],"u":[{"s":11}]}],"n":[{"e":15,"u":15}],"o":[{"l":[{"d":168},172],"m":[{"o":166,"r":15}],"p":[{"a":24,"e":22,"r":61}],"t":164,"v":69}],"p":[{"a":[{"n":[{"e":[{".":15}]},1]}],"i":[{"s":4}],"r":[{"u":2}]},69],"s":[{"e":[{"s":1}],"i":[{"s":14},15],"k":[{"j":21,"o":1,"r":2,"y":15,"å":1}],"o":[{"k":15}],"t":[{"o":2}],"v":[{"e":4,"o":15}],"æ":[{"r":352}],"ø":[{"k":1}]}],"t":[{"a":[{"b":38,"l":[{"e":49}],"n":[{"e":15}],"p":15,"r":169,"v":[{"b":22,"i":61}]}],"e":[{".":15,"k":[{"t":22},1],"l":[{"l":14}],"m":[{"a":[{".":36}]}],"n":[{".":15,"e":15},31],"r":[{".":15,"n":15,"ø":4}]},88],"é":4,"i":[{"k":1,"l":[{"b":15}],"s":15}],"o":[{"k":12,"l":12}],"r":[{"e":[{".":471,"n":195,"r":[{".":11},38],"s":0,"t":11}],"y":12},88],"u":[{"s":12}]}],"u":[{"f":15,"l":15,"n":69},168],"v":[{"a":[{"k":1}]},69],"w":2,"y":[{"n":[{"a":32}],"r":22,"s":350,"t":15}],"ø":[{"k":259,"y":0}],"å":[{"k":2,"r":12}]}],"t":[{"a":[{"l":[{"a":41,"e":[{"r":[{"s":47}]}],"o":23,"y":23}],"n":[{"g":11,"s":[{"v":128}]}],"u":5,"v":0},153],"e":[{"c":0,"g":88,"k":[{"e":[{".":32}],"y":152}],"l":[{"g":96}],"n":[{"i":0}],"o":88,"r":[{"e":24,"o":0,"s":116,"u":195}],"s":[{"e":[{".":31}]},458],"t":[{"s":116}]}],"é":153,"i":[{"e":[{"r":[{".":31}],"s":0}],"f":88,"k":[{"a":[{"m":0}],"v":196}],"m":[{"e":22}],"o":88,"p":88,"r":24,"s":[{"a":0,"e":[{"n":0}],"i":0,"j":0,"k":[{"o":0}],"p":196,"t":[{"r":22},0]}],"u":88,"v":[{"s":14},5]},7],"j":[{"a":[{"r":[{"a":[{"n":2}]}]}],"e":[{"r":2}],"i":2}],"m":[{"a":[{"l":[{"e":[{".":36}]}]}]}],"n":[{"e":[{"s":[{"s":103}]}]}],"o":[{"a":39,"m":0,"r":[{"d":15}],"s":[{"t":[{"r":[{"a":409}]}]},23],"v":32},153],"r":[{"a":[{".":0,"e":11}],"e":[{"l":12,"n":12}],"i":[{"m":[{"a":46},15],"n":12,"s":38}],"o":[{"s":472}]},153],"s":[{"a":69,"e":[{"i":85,"r":12,"s":4}],"k":[{"u":15}],"l":[{"a":[{"g":[{"a":91}]}]}],"n":69,"t":[{"i":4}],"u":[{"n":12}]}],"t":[{"a":[{"g":1,"k":4,"l":[{"a":49},1],"n":[{"n":4}],"p":4,"t":26}],"e":[{"d":15,"l":[{"o":271}],"n":[{"k":1}],"s":78,"t":[{"t":22}]}],"i":[{"d":1,"l":1}],"j":1,"o":[{"f":4,"n":2},54],"r":1,"s":[{"k":[{"r":22}],"ø":23}],"y":[{"s":2},1]}],"u":[{"e":22},153],"æ":[{"r":176}],"ø":153,"å":165}],"u":[{"a":4,"b":7,"l":149,"m":[{".":38,"f":[{"a":[{"r":53}]}],"i":129,"m":22,"o":1,"s":[{"e":11,"t":362,"u":0}]}],"n":7,"p":6,"r":88,"s":[{"e":15}]},153],"v":[{"a":[{"d":0,"j":11,"k":[{"s":193}],"l":[{"a":[{".":31}]},38],"n":[{"a":0,"k":169}],"r":[{"b":0,"s":80}],"s":[{"s":169}],"t":[{"t":18}]},187],"e":[{"g":[{"e":31,"n":473},88],"i":[{"g":2},0],"k":88,"r":[{"a":[{"s":22},23],"d":17,"e":[{"t":11}]}],"s":[{"k":0,"t":[{"i":0}],"v":11}],"t":[{"ø":11}],"v":88},153],"é":153,"i":[{"n":[{"s":15}],"s":[{".":15,"b":15}]},153],"l":[{"e":[{"g":[{"e":[{".":36}]}]}]}],"n":12,"o":[{"m":2},153],"r":12,"s":[{"a":[{"l":1}],"i":7,"k":7,"l":7,"n":7,"o":1,"v":22}],"u":[{"n":375}],"y":[{"r":[{"k":[{"e":[{".":46}]}]}]},149],"æ":155,"å":[{"p":[{"n":2}]}]}],"w":[{"a":153,"i":[{"e":474},22]}],"y":[{"r":[{"k":[{"e":[{".":32}]}]}]},38],"z":[{"a":[{".":38,"s":152}],"e":0,"o":153}],"ø":[{"k":398,"r":[{".":153,"i":22,"s":22}],"s":[{"e":12},0],"y":153},153],"å":[{"r":[{"s":[{"l":16}]}],"t":[{"t":[{"e":[{".":23}]}]}]},398]}],"j":[{"a":[{"a":[{"k":69,"r":35}],"d":[{"a":1}],"e":[{"n":2},172],"g":[{".":166,"a":[{".":1,"r":2}],"e":[{".":1}],"r":31}],"h":[{"a":1,"v":1}],"j":1,"k":[{"k":[{"e":[{"l":[{"e":61},23]}],"o":23,"s":78}],"o":[{"k":109}],"r":[{"e":6},370],"t":[{"e":[{"l":475}],"s":91}],"u":2}],"l":[{"o":12,"u":69}],"m":[{"b":[{"i":168},61],"h":[{"ø":[{"v":[{"e":[{".":91}]}]}]}],"m":166,"s":183}],"n":[{"g":[{"r":23}],"l":38}],"r":[{"a":[{".":4,"p":3}],"e":[{"k":35}],"n":[{"s":124}],"t":[{"a":22,"e":[{".":22,"t":[{".":22}]}],"i":61}],"ø":168,"å":4}],"s":[{"e":2,"k":[{"i":6}],"t":[{"i":15}]}],"t":[{"a":15}],"u":[{"e":[{"r":[{"e":23}]}]}],"v":[{"i":35}],"z":172}],"b":153,"d":173,"e":[{"a":[{"k":15},419],"b":[{"b":39},173],"d":[{"e":[{"b":1,"k":226}],"r":162}],"e":[{"p":408,"v":168}],"f":[{"e":[{"t":85}],"j":7,"l":[{"a":[{"g":22}]}],"r":[{"e":85}],"s":[{"a":23,"i":47}],"t":[{"r":65}]},173],"g":[{"e":15,"g":[{"e":22}],"l":[{"e":[{"s":31}]},168],"o":162,"r":162,"y":162}],"h":173,"i":[{"s":10},69],"j":162,"k":[{"a":173,"k":[{"e":[{"r":[{"u":31}]}]}],"l":[{"i":1},162],"o":173,"t":[{"a":[{"n":23},18],"e":[{"s":31,"v":17}],"i":[{"n":53}],"r":41,"s":[{"t":103}]}],"ø":162}],"l":[{"e":[{"g":[{"r":4}],"i":[{"e":[{"r":58}]}],"l":[{"e":2}],"s":1}],"g":[{"e":61}],"l":[{"a":[{"g":31,"n":[{"g":17}]}],"e":[{"n":22}],"o":23}],"t":[{"r":23},18],"u":[{"t":39}],"v":[{"a":[{".":61}]}]},173],"m":[{"i":[{"a":1,"t":1}],"p":[{"l":22},36],"s":[{"e":22,"t":[{"i":23}]}]},173],"n":[{"a":278,"d":[{"i":[{"s":139}],"r":162},54],"e":[{".":12,"s":239,"t":162}],"g":[{"e":[{"d":22}],"l":[{"a":62}],"s":78}],"i":173,"k":24,"l":162,"o":162,"u":162,"y":357,"æ":162}],"o":476,"p":173,"r":[{"a":[{"f":12,"n":[{"t":26}]}],"d":[{"e":[{"p":23}],"s":36}],"e":[{"d":162,"g":168,"i":168,"n":[{"n":168}]},52],"i":[{"k":15,"m":4,"n":[{"æ":4}]}],"k":[{"e":[{"s":23}],"l":47,"v":23}],"l":[{"e":58}],"m":[{"u":31}],"n":[{"a":[{"s":47}],"s":[{"l":17}]}],"o":[{"n":4}],"s":[{"p":23}],"t":[{"s":17}],"u":281,"å":168}],"s":[{"f":166,"h":166,"k":[{"i":[{"l":23}]}],"p":285,"t":[{"e":[{"a":23}],"i":[{"m":4}],"r":12}],"u":[{"t":166}],"v":[{"e":15}]}],"t":[{"a":[{"g":85,"k":[{"a":36}],"r":[{".":35,"a":2,"e":35}]}],"r":[{"u":85}],"s":183,"t":[{"a":[{"n":53}],"e":[{"r":[{"m":31}]}],"o":18,"s":80}],"v":85,"y":[{"e":46}]}],"u":406,"v":[{"a":[{"r":[{"k":2}],"s":4},279],"e":162,"i":[{"s":5}],"n":[{"a":[{".":61}],"e":61}]}],"ø":168},88],"f":153,"g":162,"h":153,"i":[{".":162,"b":[{"b":22}],"e":40,"k":168,"n":[{"f":361}],"r":[{"o":2}],"s":[{"j":4}],"ø":162}],"k":[{"a":[{"p":0}]},188],"l":200,"m":200,"n":[{".":168,"i":38},200],"o":[{"b":172,"c":166,"d":[{"a":[{".":1,"t":4}],"i":[{"s":4}]}],"f":[{"l":1}],"j":[{"o":17}],"k":[{"k":[{"e":[{"r":39}],"o":260}]}],"l":[{"t":19}],"m":[{"r":90}],"n":[{"e":15,"n":61,"s":[{"a":17,"e":103,"p":18,"t":[{"i":31,"r":23},17],"u":103},176]},28],"p":162,"r":[{"a":15,"d":[{"e":[{"k":31,"r":[{"v":127}]}],"i":[{"s":[{".":127}]}],"o":41,"r":18,"s":[{"l":103},17],"u":31}],"e":69,"i":[{"e":1}],"t":[{"a":36,"e":[{"t":22}]}],"u":34}],"s":[{"e":[{"s":1},12],"t":[{"e":[{"i":15}]}]},173],"u":[{"r":17},172]},88],"p":153,"r":187,"s":397,"t":153,"u":[{"a":[{"r":[{"e":6}]}],"b":[{"i":18,"o":35},172],"d":[{"a":[{"s":105}],"e":12,"o":[{"e":2},7]}],"e":[{"n":[{"i":61}],"r":[{"e":26}],"s":39}],"g":[{"l":[{"e":39}],"o":166}],"k":[{"a":12,"e":[{".":12,"n":12}],"s":[{"a":[{"r":39}]}]},477],"l":[{"a":[{".":12,"r":15,"s":15}],"e":[{"i":219}],"i":[{".":1,"d":4,"k":1,"n":[{"n":61}]}],"l":36},7],"n":[{"g":[{"e":61},172],"i":478}],"p":[{"s":61,"å":83},167],"r":[{"a":[{"s":2},1],"i":[{"s":164}],"o":35,"u":12,"y":166}],"s":[{"o":68},172],"t":[{"a":69,"o":22}],"v":[{"a":[{".":4,"k":4}]}],"å":69}],"v":38,"y":[{"d":[{"e":[{".":6}]}],"p":107},69],"æ":[{"l":[{"e":[{".":15}]}],"r":[{"a":[{".":12,"n":35}],"e":[{"s":[{".":35}]}]}],"t":[{"e":[{".":2}]}]}],"ø":[{".":172,"a":[{".":172}],"b":9,"e":[{"f":173,"g":162,"i":168,"k":173,"n":[{"d":162,"g":162}],"t":[{"a":162}]},172],"f":69,"g":[{"r":12}],"k":[{"j":35}],"l":[{"e":[{"s":1}],"v":[{"e":[{"r":31}]}]},162],"m":[{"e":15}],"n":[{"n":[{"e":22}]}],"p":[{"a":15}],"r":[{"k":[{"e":[{"l":23}]}],"s":[{"p":23,"v":17}],"t":[{"e":[{"l":23}]}],"u":[{"t":61},12],"ø":69}],"s":[{"e":[{"s":1}],"t":183}],"t":[{"a":[{"v":21},15],"e":[{".":12,"t":[{"a":22},5]}],"r":69,"t":[{"e":103}]}],"v":[{"e":[{"l":1}]},281]},88],"å":[{"a":[{"r":[{".":15}]}],"g":[{"e":[{".":35}]}],"l":[{"a":[{".":4}],"e":[{".":1,"s":2,"t":15}]}]},173]}],"k":[{"a":[{".":172,"a":[{".":166,"n":479,"s":90,"t":12},173],"b":[{"e":[{"s":168}],"o":2,"r":281,"y":162}],"d":[{"a":[{"l":[{"e":168}]},12],"e":[{"l":[{".":4},15],"r":[{"i":1}]}],"g":162,"i":[{"e":16}],"r":173,"u":166,"y":162}],"e":[{"n":164}],"f":[{"e":12,"f":[{"e":[{"r":[{"e":22}]}]}],"o":173,"r":35,"t":[{"a":22},173],"ø":168}],"g":[{"i":229,"r":28},173],"h":173,"i":[{"s":[{"k":15,"m":15}]}],"j":[{"o":168}],"k":[{"a":[{".":1}],"e":[{".":1,"d":1,"l":1,"s":1}],"i":[{".":1,"s":1}],"s":[{"j":274}],"t":162,"u":12}],"l":[{"a":[{"m":12,"n":[{"t":4},12],"s":12}],"d":[{"s":17,"t":166}],"e":[{"n":164,"v":15},28],"i":[{"s":166}],"k":[{"e":77,"y":166},480],"l":[{"a":61,"e":[{"r":[{"o":31}]}],"s":5}],"o":69,"p":24,"s":[{"v":77}],"v":[{"e":[{"s":23}]}]}],"m":[{"a":[{".":4}],"e":[{".":6,"r":[{"i":162}]}],"m":[{"e":[{"l":162}]}],"p":[{"i":41,"r":23}],"u":191},172],"n":[{"a":[{".":6},172],"d":[{"a":[{".":31},162],"e":[{".":334}]}],"e":[{"r":15},172],"i":[{"n":15},23],"l":188,"m":187,"n":[{"o":90}],"o":[{".":1,"m":6},166],"s":[{"a":162,"i":168,"l":164}],"t":[{"e":[{"n":[{"d":127}]}],"r":481},172]}],"p":[{".":173,"a":[{"d":166,"k":1,"s":164}],"e":[{"l":[{"l":166}],"n":162},15],"i":[{"t":164}],"p":172,"r":[{"e":24}],"s":[{"t":41}]}],"r":[{".":172,"a":[{"b":162,"m":162,"n":14,"v":12},172],"b":[{"e":[{"i":162}]},172],"e":[{"a":162,"k":4,"l":15}],"f":172,"g":166,"i":[{".":1,"d":4}],"k":[{"i":434,"t":274}],"m":172,"n":24,"o":[{"l":12,"m":24}],"p":[{"e":[{"s":22}],"s":18}],"r":[{"i":164}],"s":[{"j":191,"t":5}],"t":[{"i":22},172],"u":166,"å":162}],"s":[{".":191,"e":[{"i":345,"k":12,"v":22}],"j":[{"u":28,"ø":168}],"k":[{"a":24,"o":14},1],"p":[{"i":1},168],"s":[{"a":[{"d":31,"k":23}],"i":181,"o":23},36],"t":[{"o":482,"r":255},1],"u":[{"s":483}]},172],"t":[{"a":[{"k":485},484],"e":[{"d":12,"g":164,"t":12}],"o":[{"p":26},69],"r":486,"s":61,"t":[{"a":[{"k":31},22],"e":[{"l":23,"r":[{"m":31}],"s":14}],"i":[{"l":23}],"r":[{"i":23}]}],"y":26}],"u":[{"r":385}],"v":[{"e":[{"s":2}],"i":[{"s":155}],"l":[{"u":148}]},173],"y":301}],"b":487,"c":[{"e":[{"n":5},38]},173],"d":[{"v":149},188],"e":[{"a":[{"l":35},488],"b":[{"r":162,"u":[{"k":162}]},173],"c":162,"d":[{"a":[{"g":162,"l":162,"n":[{".":166,"t":301}]},15],"e":[{"i":168,"m":162,"s":[{".":191},162]},15],"i":173,"r":286,"s":[{"k":32}],"u":36,"y":162,"ø":173},23],"e":[{"g":173,"k":173,"l":173,"p":1,"r":[{"n":2}],"v":173}],"f":[{"f":90,"t":38},162],"g":[{"g":[{"a":32},90],"l":[{"a":[{"d":[{"h":166}]}]}]},189],"h":[{"e":[{"t":164}],"j":162},15],"i":[{"d":459,"g":153,"l":15,"m":69,"n":330,"s":183},173],"j":173,"k":[{"l":28,"n":12,"s":153,"t":171},173],"l":[{".":11,"a":[{"k":34,"l":166,"n":[{"s":4}],"t":4},173],"e":[{"i":[{"e":[{"r":22}],"g":22,"k":[{"e":[{".":91}]},61],"s":168}],"l":65,"m":248,"n":[{"g":162}],"p":236,"s":162,"t":304,"v":162}],"i":[{"e":[{"n":49},489],"g":[{"n":162},164],"n":[{"j":162,"t":22}],"s":[{"e":1},162],"t":166,"v":162}],"l":22,"o":[{"f":162,"v":[{".":168,"e":162}]}],"s":[{"k":[{"a":[{"r":16}]}],"l":22,"p":22,"t":22,"v":[{"a":186},24]},5],"t":[{"e":18},28],"u":[{"a":168,"e":162,"k":[{"a":39,"e":22}],"r":85,"v":168}],"v":22,"y":173,"æ":173,"ø":[{"p":[{"a":[{".":46}]}]},173],"å":[{"r":[{"e":16}]},490]}],"m":[{"i":[{"t":1}]},173],"n":[{"a":[{".":166,"m":168,"p":31,"s":1,"t":[{"t":[{"s":166}]}]}],"d":[{"e":[{"n":313,"r":491},22],"r":492}],"e":[{"b":162,"k":162,"l":162,"m":162,"t":[{"t":168}],"v":162},12],"f":164,"i":[{"v":236},1],"h":334,"k":24,"n":[{"e":[{"l":493}]},61],"o":[{"m":1}],"s":[{"e":248,"t":36},180],"t":[{"e":61,"r":19,"u":181}],"y":465,"ø":168}],"o":[{"f":2,"n":12},173],"p":[{"i":[{".":166,"a":301,"e":191}],"l":168},162],"r":[{"a":[{"l":16,"m":162,"n":[{"t":22},1],"u":168}],"e":[{"d":162,"g":162,"i":[{"d":103,"r":162,"s":168}],"k":162,"m":236,"n":[{"e":168,"g":3,"n":162},36],"p":162,"r":[{"t":26}],"s":[{"s":162,"t":162,"u":162},12],"t":[{".":166,"a":166,"s":191},162]}],"i":[{"f":1,"k":[{".":168,"e":162,"t":168}],"m":1,"n":[{"e":1,"g":[{"i":168,"j":168}],"æ":1}],"s":[{"t":[{".":167,"a":167,"e":168}]},1]},164],"m":164,"o":[{"p":191,"r":166,"s":[{"e":[{".":36}]},265],"t":12}],"t":[{"o":22,"v":65},0],"u":[{"n":24,"s":[{"e":[{".":36}]},162]}],"ø":[{"r":[{"e":[{".":36}]}],"y":[{"a":494,"e":215}]}],"å":173}],"s":[{".":166,"a":[{"m":[{".":301},162]}],"d":[{"a":[{"l":[{"e":191}]}]}],"e":[{".":166,"l":38}],"i":[{"l":15,"t":162}],"j":173,"k":[{"a":[{".":335}],"e":[{".":32},248],"i":162,"j":162,"å":168}],"l":[{"e":[{"g":[{"e":[{".":120}]}]}]}],"p":[{"e":[{"d":22}],"o":[{"t":166}],"u":495}],"t":[{".":166,"a":265,"e":[{".":166,"d":236,"i":236,"m":31,"n":383}],"o":12,"r":[{"i":162,"u":236}],"u":162,"ø":162}],"u":[{"n":26}],"v":54,"y":173,"å":54}],"t":[{"a":[{"k":[{"a":36}],"l":[{"e":[{".":36}],"s":166}],"r":11},173],"e":[{".":166,"k":162},12],"h":191,"i":173,"j":173,"o":173,"r":420,"s":183,"t":[{"e":[{"n":[{"h":127}],"s":32}]}],"u":173,"y":[{"e":36},173],"æ":162,"ø":[{"y":[{"s":145}]}],"å":173}],"u":[{"r":15},420],"v":[{"a":[{"n":[{"e":[{".":46}]}],"s":166},28],"e":[{"l":164}],"i":[{"s":[{"a":[{".":36}]}]}],"j":[{"a":31,"e":[{".":23}]},153],"n":[{"e":[{".":31}]},90],"r":12,"æ":[{"r":[{"a":46}]}]},173],"y":[{"t":7}],"æ":168,"ø":173,"å":173},172],"é":[{"t":22},296],"f":[{"i":38},188],"g":[{"e":90,"h":38,"u":23},496],"h":[{"a":[{"k":15,"r":0}],"e":[{"o":23}],"j":[{"u":[{"l":[{"s":91}]}]}],"m":4},187],"i":[{"a":[{"r":67}],"d":[{"e":[{"o":90}],"o":[{"l":162}],"r":12}],"e":[{"r":[{"e":22,".":12}],"l":4},319],"f":173,"g":9,"k":[{"a":[{".":4}],"k":[{"s":208}],"l":370,"r":67,"s":23}],"l":[{"a":[{".":6}],"d":[{"e":164,"r":168}],"e":[{".":1}],"i":15,"j":[{"a":39},162],"l":[{"e":[{"s":[{"t":87}]}]}],"o":[{"a":2,"g":1,"s":12,"v":1}],"t":173,"å":2}],"m":[{"a":[{".":6}],"e":[{".":1}],"o":[{"l":1},197],"p":188}],"n":[{"a":[{"n":[{"d":39}],"r":[{"k":1}],"s":[{".":15}]}],"d":168,"e":[{".":4},15],"f":173,"g":[{"a":[{"n":[{"d":17}]}],"e":24},172],"i":[{"n":[{"g":22}]}],"n":[{"s":[{"i":[{"d":[{"a":242,"e":[{".":242}]}]}],"p":5}]},173],"o":[{"v":22},7],"s":[{"i":[{"d":[{"e":[{".":120}]}]}]},173],"t":[{"i":[{"m":[{"e":[{".":91}]}]}]},173],"u":4,"v":173}],"o":[{"l":162,"s":191},23],"p":[{"e":15,"l":26,"p":[{"e":22}],"s":255},173],"r":[{"e":15,"i":15,"s":162},172],"s":[{"e":12,"k":[{"o":15}],"m":[{"u":12}],"p":8,"t":[{"a":[{"v":15}],"r":15}]}],"t":[{"e":[{"n":4}],"i":2,"o":[{"n":1},166]}],"u":162,"v":[{"e":[{"k":1,"n":[{"h":26}]}],"i":[{".":4}],"s":24},11]}],"j":[{"a":[{"n":497,"p":[{"p":[{"e":17}]}],"r":[{"n":306}]}],"e":[{"f":[{"j":61,"r":77}],"g":[{"g":162}],"l":[{"d":164,"l":[{"e":[{"g":16}]}]}],"m":[{"a":[{"s":166}],"p":164}],"n":[{"k":168,"y":39}],"s":54,"t":[{"r":47,"t":17}]}],"o":[{"r":168}],"u":[{"k":93,"l":[{"e":[{".":22,"n":22}]}],"r":39}],"æ":[{"r":[{"l":164}]}],"ø":[{"d":[{"i":38}],"p":172,"r":[{"i":164}],"t":[{"r":23}]}]},7],"k":[{"a":[{"b":88,"f":[{"t":12}],"k":259,"l":375,"m":88,"n":[{"b":0,"d":[{".":93,"e":[{"n":11}]},15],"g":169,"n":0}],"o":0,"r":[{"b":0,"g":11,"t":[{"a":[{".":36}]},377]}],"s":[{"t":38,"u":11}],"t":[{"t":11}],"u":259,"v":69},153],"e":[{"d":[{"o":11,"u":0}],"e":88,"h":88,"i":69,"l":[{".":38,"e":[{"i":31,"v":9}],"t":124,"u":[{"k":23,"n":17},103]}],"n":[{"a":[{"n":31}]}],"r":[{".":38,"e":[{"i":0,"l":0,"n":[{"t":11}]}],"i":[{"g":0,"t":0}],"u":[{"n":[{"d":19}]}]}],"s":[{"a":[{"u":38},0],"e":0,"i":0,"l":65,"p":0,"t":[{"a":[{"d":11}]}]}],"t":[{"e":[{"t":38},0],"ø":0}]}],"g":498,"i":[{"n":[{"d":12,"f":12,"n":35,"s":12,"t":12}],"r":88},153],"j":[{"a":153,"e":[{"k":91,"n":[{"t":15}],"r":[{"n":169}],"t":16}],"u":15}],"k":15,"l":[{"a":[{"g":5,"n":12,"r":6,"u":2}],"o":69,"y":69,"æ":12}],"n":[{"e":15,"y":15},0],"s":[{"v":[{"a":109},3],"a":[{"l":31,"r":1}],"e":[{"d":15,"i":34}],"i":[{"n":1}],"k":[{"j":23},69],"l":[{"a":12,"e":2,"i":15},23],"p":[{"e":12}],"t":[{"a":[{"k":22}],"e":[{"p":61}],"r":5},8],"å":499},206],"o":[{"d":153,"e":153,"f":277,"l":[{"i":[{"g":31}]}],"m":[{"l":15,"s":2,"t":35}],"o":11,"p":69,"s":[{"i":0,"k":11,"t":0},61],"v":[{"e":12}]}],"p":15,"r":[{"a":[{"m":15,"p":12},0],"e":[{"a":12,"i":15,"n":12,"s":12}],"i":[{"k":36}],"o":[{"e":46,"s":5},12],"u":[{"s":1},12],"ø":2,"å":2}],"t":94,"u":[{"k":15,"n":[{"i":0}],"t":500}],"v":[{"o":88},69],"y":[{"l":5,"r":15,"t":2},501],"ø":[{"l":93,"r":31,"y":36},259],"å":8},167],"l":[{".":168,"a":[{".":162,"g":[{"t":248}],"k":[{"e":[{".":39}]},173],"m":[{"e":[{"l":23}]}],"s":336,"t":[{"i":152,"r":23}]}],"e":[{"b":[{"y":[{"t":58}]}],"d":[{"d":178,"e":[{"b":23,"s":23}]}],"g":173,"i":[{"e":49,"k":152,"v":0}],"m":[{".":334},88],"n":[{"o":502}],"r":[{"i":[{"k":11}]}],"s":[{"j":16,"n":[{"o":22}],"p":23,"t":[{"i":22}],"s":66}],"t":173}],"i":[{"a":167,"e":[{".":162}],"g":162,"m":503,"n":[{"i":178,"j":38}],"p":172,"t":162}],"o":[{"n":[{"a":[{"l":66}]}],"s":172,"v":173}],"u":[{"k":[{"t":90}],"n":[{"t":17},162]}],"y":[{"d":38,"f":306,"n":[{"g":178}],"s":[{"e":[{"t":[{"e":58}]}]}]}],"æ":[{"r":[{"e":[{"s":22}]}]},88],"ø":[{"n":[{"a":61}],"r":11,"s":168,"v":[{"a":39,"e":22}]}],"å":[{"n":200,"r":[{"e":22}]}]},1],"m":[{"a":[{"n":[{"n":120}]}],"å":[{"l":183}]},361],"n":[{"a":[{"p":336,"t":[{"r":[{"e":42}]}],"s":[{"t":[{"a":505}]}]}],"e":[{"b":[{"l":41}],"d":[{"i":0}],"e":504,"s":[{"e":[{".":32}],"t":0}]}],"f":15,"i":[{"p":[{"p":[{"e":123}]},178],"t":255,"v":304}],"o":[{"g":61,"k":[{"l":31}],"p":166,"t":[{"a":39,"e":22}]}],"u":[{"m":181},336],"y":[{"s":23},336],"ø":[{"l":[{"e":39}],"y":12},88]},174],"o":[{"a":[{".":301,"k":281,"n":[{"e":301}],"r":2}],"b":[{"o":12,"r":265},107],"d":[{"a":15,"d":162,"e":[{".":1,"k":164,"n":166}],"ø":173}],"e":[{"f":164,"k":162,"l":162,"s":162,"v":162},12],"g":[{"e":[{"n":[{"g":26}]}],"g":[{"e":[{"r":39}]}],"l":24,"r":[{"e":1}],"s":[{"t":120}],"u":1,"å":4}],"i":[{"e":[{"n":[{"e":53}]}],"k":40,"n":69},173],"j":[{"a":[{".":6}]},173],"k":[{"a":[{".":1,"b":1}],"e":[{".":1,"l":4}],"i":69,"k":[{"o":36,"u":90}],"l":280,"o":162,"u":173}],"l":[{"b":[{"a":14}],"d":[{"a":64}],"e":[{"g":1,"i":1,"l":4,"t":1,"u":1},173],"l":[{"e":164}],"o":[{".":15}],"p":22,"y":162,"å":173}],"m":[{"a":[{".":1,"f":162}],"e":[{".":1}],"g":168,"i":[{".":1,"l":162,"s":[{"b":162,"e":1}]}],"r":173,"s":[{"e":162,"l":24,"o":22,"t":23}],"t":417,"u":162,"å":162},172],"n":[{"a":[{".":1}],"d":[{"r":31},24],"e":[{"l":[{"å":80}]}],"i":[{"v":162}],"s":[{"v":127},82],"t":[{"o":[{"n":31}]}],"u":1},11],"o":[{"m":162},216],"p":[{"a":15,"e":[{"r":[{"s":15}],"t":162}],"i":[{".":1,"p":1}],"l":207,"o":162,"p":[{"e":[{"r":22}]}],"r":173}],"r":[{"a":[{".":1},69],"d":[{"a":[{".":31}],"o":41,"s":[{"ø":78}],"u":23}],"e":[{"f":168,"i":506,"m":15,"t":2},29],"i":[{"k":4},12],"m":162,"o":[{"l":15}],"p":[{"a":168,"e":168}],"r":507,"s":[{"a":[{"l":23}],"i":[{"n":[{"n":47}]}],"l":53,"t":[{"r":31}],"v":23}],"t":[{"e":[{"s":22}],"o":[{"p":31}],"r":53,"s":78}],"u":[{"m":[{"e":4}]},15]}],"s":[{"a":[{".":4},173],"e":[{"d":1,"k":1,"l":[{"e":166}],"n":15,"s":1}],"i":[{"d":49},35],"k":7,"l":69,"m":[{"u":162}],"o":173,"p":419,"t":[{"a":[{"s":16},4],"e":[{"r":[{"s":47}]}],"j":17,"ø":508}],"ø":162},172],"t":[{"e":[{"s":58}],"i":[{"l":162},9],"r":[{"e":4},162],"s":[{"t":[{"r":17}]},28],"t":[{"i":23,"s":[{"t":14},5]}],"y":162}],"u":[{"t":[{"a":61},18]},307],"v":[{"a":69,"e":[{"r":[{"e":58}]}],"r":162,"s":509}],"ø":162,"å":162}],"p":200,"r":[{"a":[{"d":90,"f":253,"g":166,"k":[{"k":164}],"n":[{"i":[{"e":[{"n":510}]}],"k":168,"s":164}],"p":162,"s":[{"e":39,"j":511,"s":17}],"t":[{"o":23}],"u":23,"v":172}],"e":[{"d":[{".":162,"i":164}],"g":[{"i":203},187],"i":[{"e":49,"s":17},162],"k":[{"l":[{"i":23}]},168],"l":[{"a":38},173],"m":[{"o":64}],"n":[{"n":181,"t":162}],"o":168,"p":[{"r":38,"s":166}],"s":[{"j":166,"s":181}],"t":[{"a":33,"n":306,"s":0,"t":90}]}],"i":[{"b":173,"f":162,"g":[{"s":116,"a":39},304],"k":[{"e":22,"j":23,"k":[{"a":36}]},162],"m":[{"e":23},172],"n":[{"s":[{"t":202},249]}],"p":28,"s":[{"e":[{"n":[{"e":191}]}]},184],"t":[{"e":164},88],"v":168}],"o":[{"b":42,"d":[{"e":22}],"f":[{"o":[{"r":0},90]}],"k":[{"k":16}],"n":[{"i":11,"l":38,"o":[{"m":23}]}],"p":[{"n":49,"p":103},0],"s":[{"t":0}],"t":[{"e":[{"n":186},143]}],"v":24},88],"u":[{"i":65,"m":18,"s":[{"a":22}],"t":[{"t":[{"i":14}],"r":24}]}],"y":[{"g":267,"p":[{"a":61,"e":22,"i":23}],"s":164}],"ø":[{"k":[{"e":22}],"r":274,"v":24}],"å":[{"d":[{"a":32},162],"e":36,"k":166,"l":[{"e":22}],"m":39,"n":[{"e":61}]}]},4],"s":[{"a":[{".":90,"d":375,"l":[{"t":12}],"m":[{"e":22}],"n":[{"e":90,"s":0,"t":193}],"r":[{".":90,"a":152,"k":367}],"s":152},153],"c":153,"e":[{"d":88,"e":88,"g":[{"e":31}],"i":259,"k":[{"t":38}],"l":[{"a":38,"e":[{"v":22}]}],"n":[{"t":[{"o":17}]}],"r":[{"f":0,"k":12,"o":[{"l":38}]}],"s":[{"a":0,"k":257,"m":196,"o":38,"p":5,"s":[{"e":[{"l":36,"r":[{"i":[{"e":46}]}]}],"p":5,"t":5},38]}],"t":[{"e":[{".":31}]}]}],"f":[{"ø":5}],"i":[{"a":38,"f":88,"k":[{"o":22}],"n":[{"d":12,"g":90,"i":61,"n":12,"s":193}],"o":152,"s":[{"t":24}],"t":[{"i":0}]}],"j":168,"k":[{"a":[{"b":35,"l":367}],"i":[{"o":11}],"j":69,"l":15,"o":[{"n":[{"a":16,"e":17}]}],"r":69,"u":[{".":35,"a":2,"t":6},32],"v":29}],"l":[{"a":[{"g":[{"a":[{".":46}]}]}],"o":15,"u":[{"g":206},252],"ø":[{"s":346,"v":[{"a":46,"e":[{".":46}]}]}]},69],"m":[{"a":[{"k":229}],"e":[{"l":1}],"i":[{"d":93}],"å":475}],"n":[{"o":229,"ø":350}],"o":[{"a":96,"d":512,"g":0,"m":[{"b":0}],"r":259,"t":88,"v":69},153],"p":[{"a":[{"l":90}],"e":[{"k":12}],"i":[{"o":15,"r":12}],"o":[{"r":[{"t":[{"r":145}],"s":308}]}],"r":69,"y":90}],"r":93,"s":[{"m":12},206],"t":[{"a":[{"d":38,"k":0,"l":12,"n":[{"t":15}],"v":4}],"e":[{"d":[{"a":5}],"g":1,"i":90,"k":0,"v":[{"n":[{"e":[{".":120}]}]},24]}],"i":[{"l":1,"n":0}],"j":69,"r":[{"a":[{"n":31}],"e":[{"k":26,"n":11,"r":11}],"i":1,"o":1},69],"u":[{"m":35,"s":38}],"y":[{"v":12}],"å":88}],"v":[{"a":[{"k":[{"e":192},350],"n":[{"e":[{".":46}]}]}],"e":[{"g":15,"r":[{"t":252}]}],"i":[{"n":229,"s":93}]},69],"u":[{"n":[{"i":93},11]},153],"w":15,"y":[{"n":[{"a":32}],"s":[{"m":64}]}],"æ":[{"r":15}],"ø":[{"k":[{"e":[{".":23}]}],"l":367}],"å":[{".":90,"p":0,"r":5,"t":5},69]}],"t":[{"a":[{".":38,"f":77,"g":0,"k":[{"a":31,"s":193,"t":0}],"l":[{"a":[{".":31}]}],"n":[{"a":[{".":39},193],"l":12,"n":193,"v":0}],"p":[{"p":12}],"r":[{".":155,"r":193,"t":193}],"s":[{"s":11,"t":38}],"t":[{"l":96}],"v":[{"h":15,"k":15,"l":367}]}],"e":[{"d":[{"a":0},90],"e":11,"f":[{"ø":0}],"g":[{"e":9}],"i":227,"k":[{"a":11}],"l":[{"e":22,"s":[{"k":97}],"i":[{"t":9}]}],"m":[{"n":2},46],"n":[{"h":193}],"r":[{".":155,"i":[{"e":[{"n":[{"s":170},139]}]}],"s":80}],"s":[{".":152,"a":11,"e":11,"k":[{"e":[{".":36},15]}],"t":[{"i":15}]}],"t":[{"a":198,"e":0}],"v":[{"n":[{"e":[{".":36}]},15]}]}],"i":[{"b":38,"l":90,"n":[{"s":193}],"r":38,"s":[{"t":17}],"t":[{"e":40}],"v":[{"e":[{"n":[{"d":127}]}]}]}],"j":[{"a":88,"u":2}],"o":[{"a":39,"f":[{"f":15}],"g":[{"r":[{"a":[{"m":11}]}]}],"l":[{"i":0}],"m":[{"f":15},88],"p":259,"r":[{".":155,"a":152,"d":[{".":15}],"e":38,"i":[{"e":513}],"s":16}],"v":69}],"r":[{"a":[{"l":12}],"e":259,"o":[{"s":17},7],"u":259}],"s":[{"a":[{"m":[{"b":26}],"r":22}],"e":[{"k":15,"m":2,"r":26}],"i":[{"n":4}],"k":[{"r":[{"a":22}],"u":15,"v":23}],"l":[{"e":[{"g":[{"e":[{".":120}]}]}]}],"o":[{"k":4}],"p":[{"a":1,"r":[{"e":15}]}],"t":[{"a":1,"o":[{"n":31,"p":22}],"å":1}]}],"t":353,"u":[{"e":[{"r":[{".":39}]}],"k":0,"n":[{"d":2}],"t":259}],"y":[{"o":6,"r":[{"k":[{"e":[{".":46}]},2]}]}],"ø":[{"r":[{"e":46},16],"s":97,"v":69}],"å":[{"r":375}]},200],"u":[{"a":[{"n":35},7],"b":[{"e":[{".":1}],"j":12}],"d":[{"a":[{"l":1}]},173],"e":[{"r":[{".":1,"a":53}],"t":1}],"f":[{"l":85},168],"g":[{"r":229},168],"i":[{"s":2,"t":36}],"k":[{"l":94}],"l":[{"d":[{"i":168,"r":18}],"e":[{"d":1,"g":1,"i":4,"m":1,"n":15,"t":1,"v":1}],"i":[{".":4},15],"l":164,"t":172}],"m":[{"a":[{"n":1}],"e":[{"n":[{"t":[{"a":[{"l":120}]}]}]}],"i":4,"s":28,"u":164}],"n":[{"d":[{"s":[{"l":80}]}],"g":[{"e":[{".":23}]},188],"n":11},172],"o":1,"p":[{"e":[{".":1}],"p":[{"l":23}]},172],"r":[{"a":2,"e":[{"k":1}],"o":[{"p":[{"a":46},40]},109],"s":[{"k":31,"p":23,"t":41,"v":18},172],"t":24,"u":[{"k":[{"e":[{"n":49,"r":16}]}]},473],"v":[{"i":41},172]}],"s":[{".":166,"a":[{".":2,"k":19,"r":22}],"e":[{"l":26},166],"k":[{"a":1}],"p":[{"e":40}],"t":24},172],"t":[{".":200,"a":69,"e":[{".":236}],"o":15,"r":21,"s":173}],"u":514,"ø":[{"y":36}]}],"v":[{"a":[{"k":[{"e":32}],"l":[{"i":0}],"r":[{"d":11,"i":[{"e":[{"n":145}]}],"t":334}],"s":[{"e":39}]}],"e":[{"d":82,"e":61,"g":[{"r":64}],"i":[{"k":0,"l":11,"n":515,"s":[{"e":49}]}],"l":[{"a":22},253],"r":[{"d":181,"n":[{"s":242},166]}],"s":[{"t":17},173]}],"i":[{"a":304,"d":162,"e":[{"n":[{"e":23}],"r":22},178],"l":[{"a":61}],"n":[{"n":164}],"s":[{"e":22,"t":191}],"v":173}],"o":[{"g":153,"k":168,"t":0},172],"u":88,"æ":181,"å":153},7],"w":[{"e":152,"u":38}],"y":[{"a":15,"e":[{"l":4}],"f":[{"l":[{"e":22}]},162],"g":173,"l":[{"e":[{"g":1}]}],"n":[{"s":[{"k":[{"j":[{"e":[{"r":31}]}]}]},361]}],"p":[{"r":26},129],"r":[{"i":[{"e":[{"n":[{"e":14}]}]}],"k":[{"e":[{".":32}]}]},172],"s":[{"a":6,"e":[{".":4,"t":[{"e":[{".":46}]}]},162],"k":[{"r":12}],"s":[{"k":31}],"t":[{"a":18,"e":[{"l":23}]},296]}],"t":[{"a":[{".":4}],"e":[{"s":18}]},173]}],"æ":[{"t":516}],"ø":[{".":172,"a":[{"r":7}],"e":[{"n":[{".":1}],"r":7},172],"k":200,"l":[{"e":1}],"n":[{"s":[{"k":[{"j":[{"e":[{"r":31}]}]}]}]},153],"r":[{"r":90}],"s":[{"e":15},23],"y":[{"a":[{"r":[{".":61}]}],"d":152,"e":[{"n":[{"e":53}]}],"r":333}]}],"å":[{"k":[{"e":162}],"l":[{"e":12}],"n":[{"d":[{"a":32}],"e":15}],"p":[{"e":[{".":1,"n":2}]}],"r":[{"a":[{"s":35}],"e":69,"i":69}],"t":[{"t":348},233]}]}],"l":[{"a":[{".":172,"a":173,"b":[{"a":162,"l":4,"o":[{"n":361},172],"y":162},69],"d":[{".":162,"e":[{"m":1},11],"g":162,"i":[{"e":260}],"m":173,"r":173,"s":65}],"e":[{"i":173,"n":[{"t":162}],"p":162},172],"f":[{"l":12},173],"g":[{"g":162,"i":5,"n":[{"e":168}],"o":[{"m":22},517],"r":129,"s":[{"a":[{"n":22}],"j":23}]}],"h":[{"a":173}],"i":[{"n":189}],"k":[{"a":15,"e":[{".":1}],"j":162,"k":88,"r":7,"s":[{"e":[{"l":175}],"j":152,"l":38}],"t":[{"e":[{"r":[{"i":[{"e":518}]}]}]},162],"ø":15}],"l":[{"k":153},173],"m":[{"a":[{"b":15}],"b":162,"e":[{"s":1,"t":1}],"o":12,"u":471}],"n":[{"a":[{"l":181}],"c":28,"d":[{"a":[{"s":31}],"e":[{"b":31}],"r":18}],"e":[{".":164,"t":162},367],"g":[{"e":[{"l":31,"m":23,"r":[{"m":31}]}],"r":23,"s":[{"e":271},124],"ø":316}],"l":162,"n":[{"o":90},162],"o":[{"r":1}],"s":[{"i":274,"p":64}],"t":[{"i":22}],"v":[{"i":90},162]}],"o":173,"p":[{"a":[{"l":4}],"i":2,"l":6,"p":[{"r":98,"s":66}],"s":[{"a":22,"e":[{"n":22}],"i":42}]}],"r":[{".":519,"a":[{"b":306}],"b":173,"e":[{".":93,"a":300,"d":35,"m":15,"n":[{".":11,"a":162}],"t":[{"a":21},36]}],"f":166,"i":[{"a":[{"r":475},2],"e":[{"n":202}]}],"k":[{"i":181}],"m":88,"n":24,"r":306,"t":[{"a":[{".":31}]},162],"v":[{"e":[{"t":61}]}]}],"s":[{"c":4,"e":15,"i":[{"e":49}],"k":[{"j":191},7],"m":[{"i":15},162],"p":303,"s":[{"a":[{"k":31,"m":31,"t":31}],"e":[{"l":31}]}],"t":[{"r":162},11],"v":24}],"t":[{"a":[{"n":[{"g":22}],"u":168},69],"e":[{"g":1,"k":31,"n":[{"o":1}],"s":78}],"i":[{".":4},15],"m":162,"o":69,"r":[{"a":[{".":61,"n":39,"r":22}]}],"t":[{"i":[{"s":53}],"r":[{"a":23}],"u":36}]}],"u":[{"a":61,"d":173,"e":36,"n":162,"r":162,"s":[{"e":61,"t":31}],"t":173}],"v":[{"a":[{"l":26}],"e":[{"l":1}],"h":38,"i":[{"n":[{"n":22}]}],"s":168,"å":191},173],"w":172,"y":3}],"b":[{"a":[{"d":[{"e":24}],"k":[{"e":[{".":22}]},23],"n":[{"e":[{".":23}]}]}],"e":[{"n":[{"a":39}],"r":[{"e":[{".":32}]}]},38],"o":[{"a":0}],"u":[{"h":11}],"y":[{"e":23}],"å":38},520],"c":[{"e":[{".":0}]},188],"d":[{"a":[{".":152,"k":[{"s":15,"t":15}],"n":[{"d":155}],"t":[{"o":47,"y":47}]}],"e":[{"b":88,"n":38,"o":227,"p":88,"r":[{".":152,"a":16,"e":[{"k":0}],"i":[{"k":11}],"k":[{"l":[{"æ":11}]}],"l":[{"e":[{"g":186}]}],"s":[{"t":[{"e":80,"i":116}]}]},90],"s":[{"h":0,"t":[{"r":11}]}]}],"é":155,"i":[{"s":[{"k":16}]}],"o":[{"a":39,"k":[{"s":346}],"l":88,"r":[{"e":0}],"v":[{"n":15}]}],"r":[{"a":[{"k":90,"n":12,"s":15}],"e":[{".":11,"g":[{"n":2}],"r":[{".":15}],"s":[{".":93}]}],"i":69,"y":152,"ø":69}],"s":[{"e":[{"k":1,"l":1,"s":1},46],"k":[{"a":1,"j":23},54],"l":[{"a":[{"g":[{"a":91}]}],"e":[{"g":31,"t":23}]}],"m":207,"o":[{"m":9}],"t":[{"r":24}]}],"t":[{"u":[{"s":4}]}],"ø":[{"d":22,"l":22,"y":2},28]},168],"e":[{"a":[{"g":2,"k":12,"l":[{"a":22},69],"s":164,"t":15},173],"b":[{"e":[{"m":1}],"o":[{"s":[{"t":[{"a":4}]}]}],"æ":[{"k":166}]},173],"c":23,"d":[{"a":[{"r":166},173],"d":[{"ø":23}],"e":[{"b":162,"m":1,"p":168,"r":15,"s":12}],"o":[{"p":164,"v":166},173],"r":[{"o":1,"y":15}],"s":180,"u":168,"y":162,"ø":173,"å":265}],"e":[{"i":168},173],"f":[{"a":[{"n":[{"e":[{".":36}]}]},168],"f":187,"i":173,"l":162,"o":[{"r":162,"t":162}],"r":173,"t":153,"y":168,"ø":162}],"g":[{"a":[{"p":168,"s":166}],"e":[{"d":1,"n":35,"r":[{"a":[{"n":35,"s":35},1],"o":1}],"t":[{"a":1}],"v":1},164],"g":[{"i":191}],"i":[{"f":168},12],"j":162,"l":419,"o":[{"l":1}],"r":[{"e":162}],"s":65,"u":173,"å":173}],"h":[{"a":[{"l":168,"m":[{"r":168}],"n":168,"u":168,"v":[{"e":168}]}]},173],"i":[{"d":[{"o":12}],"e":[{".":11,"n":[{"d":[{"e":22}],"e":53}],"r":39,"t":521},32],"g":[{"d":36,"e":[{"r":[{".":61},23],"t":23}],"h":271,"n":[{"a":36,"e":46}]}],"n":[{"t":12},173],"r":[{"u":127}],"s":[{"t":16}],"t":11}],"j":173,"k":[{"a":[{".":1,"n":168},173],"e":31,"i":12,"j":173,"k":[{"s":16}],"l":420,"n":[{"a":23},173],"o":173,"r":173,"s":[{"o":181,"p":162}],"t":[{"o":[{"r":[{"d":17}]}],"s":[{"t":271}]}],"u":173,"v":173,"ø":162,"å":162}],"l":[{"a":285,"d":522,"e":[{"m":90},173],"g":248,"i":[{"g":166}],"o":173,"s":[{"k":181},164],"u":[{"k":162},69],"v":38,"y":173,"æ":162,"ø":[{"p":[{"a":36}]},173]}],"m":[{"a":162,"e":[{".":6,"t":[{"r":[{"i":[{"s":[{"k":167}]}]}]},162]},12],"n":[{"a":32},522],"o":173,"p":[{"e":[{"d":39,"s":22}]}],"r":164,"s":[{"i":23,"ø":53}],"t":[{"i":22},173],"u":173,"y":168,"ø":162,"å":173}],"n":[{"a":[{".":1,"l":1,"v":162}],"d":[{"a":[{"n":39},46],"e":[{"n":168}],"r":[{"e":11,"i":162}]}],"e":[{"d":162,"m":162,"v":162}],"g":[{"d":0,"r":53,"u":49}],"i":[{"v":162},15],"s":[{"a":[{"k":53},103],"e":[{"m":162,"s":22}],"t":[{"a":23}]}],"t":[{"a":[{"m":23}],"r":[{"a":148},23]}],"ø":173,"å":162}],"o":[{"l":166},173],"p":[{"a":15,"e":[{"l":1,"n":[{"d":[{"e":[{"n":219}]}]}]}],"j":107,"l":[{"a":[{".":6}],"e":1}],"o":162},173],"r":[{"a":[{"b":[{"a":162}],"m":[{"b":107},162]}],"d":22,"e":[{".":35,"a":168,"f":162,"g":162,"i":523,"k":162,"s":[{"o":162,"u":162},15],"t":162,"v":162},93],"i":[{".":301,"e":[{"i":4},191],"n":[{"a":2}],"v":1}],"n":[{"æ":248}],"o":[{".":15,"m":162,"p":[{"e":168}],"s":12,"t":265}],"s":[{".":191,"p":5}],"t":[{"e":61}],"u":[{"s":[{"e":[{".":46}]},162]},69],"y":[{"r":166},173],"ø":173,"å":173}],"s":[{".":334,"a":[{"b":1,"m":162,"r":191,"u":162}],"c":173,"e":[{"d":15,"g":1,"k":162,"n":15,"r":12,"t":162}],"h":[{"o":162}],"i":[{".":4,"g":162,"n":[{"g":2,"n":22}],"t":162}],"j":[{"u":162}],"k":[{"a":[{"p":2}],"j":85,"o":[{"l":168}],"u":[{"t":524}]}],"l":[{"a":162}],"p":[{"a":[{"l":168}]},173],"s":[{"e":[{"n":[{"e":[{".":120}]}]}]},75],"t":[{"a":[{".":301,"l":191},162],"e":[{"d":15,"g":15,"l":15}],"i":[{"m":1}],"o":12,"r":[{"ø":162}],"y":[{"r":162}],"ø":162,"å":162}],"u":[{"g":162}],"v":[{"i":20},54],"y":236,"ø":[{"y":166},162]}],"t":[{".":164,"a":[{"b":1,"k":[{"a":46},168],"l":[{"e":[{".":46}]}],"s":229}],"e":[{".":166,"a":168,"g":162,"k":162,"n":[{"k":168},15],"p":204,"r":[{".":15}],"s":162}],"i":[{"k":229},285],"j":173,"o":173,"r":[{"e":2,"i":9},420],"s":[{"j":31,"k":46},164],"t":[{"e":[{"a":31}],"r":31,"s":124}],"u":173,"v":1,"y":[{"e":46},173],"ø":162,"å":167}],"u":[{"l":162,"n":173,"r":153,"t":[{"e":1},173]}],"v":[{".":173,"a":[{"d":4,"l":[{"u":4}]}],"e":[{"d":1,"g":162,"i":162,"k":162,"r":[{"n":168}],"v":303}],"i":[{"d":36}],"n":22,"o":173,"r":54,"s":162,"æ":162}],"x":54,"ø":162,"å":173},172],"é":[{"e":166,"r":172,"t":[{".":191}]}],"è":191,"ê":166,"f":[{"a":[{".":0,"n":[{"t":15}],"r":38}],"e":38,"f":12,"i":[{"g":38,"n":149}],"j":[{"a":15,"e":152}],"n":[{"u":[{"l":367}]}],"o":[{"m":0}],"u":[{"t":0}]},187],"g":[{"a":[{"f":11,"l":[{"e":[{".":32}],"t":169}],"n":[{"a":193}],"t":22,"v":[{"e":[{".":23}]}]}],"e":[{"d":88,"l":[{"a":0,"e":0}],"m":88,"n":[{"a":24}],"r":[{"a":[{"n":53,"p":23}],"i":22,"u":[{"n":17}],"y":0}],"s":[{"l":0,"p":284}]}],"g":15,"i":[{"e":[{"n":46}]}],"l":[{"o":69,"y":15}],"n":15,"o":[{"b":12,"d":28,"k":69,"m":69,"v":15}],"r":[{"e":[{"f":12}],"ø":[{"y":39}]}],"s":[{"e":67,"k":[{"r":[{"e":9}]},7],"l":[{"e":[{"g":33}]}],"t":[{"r":9}]}],"u":[{"l":23,"n":12,"r":12}],"æ":153,"ø":15,"å":[{".":11,"r":[{".":15}],"v":[{"a":32,"e":[{".":32}]}]}]},173],"h":[{"a":[{"k":[{"a":[{".":32}]}],"v":[{"s":116}]}],"j":38},222],"i":[{"a":[{"l":[{"a":1}],"m":7,"n":[{"s":15}],"s":1},69],"b":[{"a":17,"e":[{"r":[{"o":17}]}],"i":[{"e":120},17],"y":[{"e":17}]}],"d":[{"a":[{"k":1}],"e":[{"d":1}],"o":[{".":1}],"r":188,"t":24}],"e":[{"n":[{"e":1}],"r":[{".":12,"s":[{".":15}]}],"s":22}],"f":[{"a":[{"t":162}],"f":22},164],"g":[{"a":[{".":1,"n":85,"r":[{"t":39},1],"s":[{".":6}]}],"e":[{"n":[{"h":26}],"t":1}],"n":166,"r":[{"e":85}],"s":[{"e":24,"i":65,"l":24,"p":65,"t":[{"i":42,"r":22}]}],"u":7},164],"h":162,"k":[{"a":[{"n":15,"r":35,"s":2}],"e":[{"e":15,"n":12,"s":[{"å":15}]}],"i":35,"k":[{"o":18}],"l":8,"n":301,"s":[{"t":5}],"u":15}],"l":[{"a":168,"d":525,"e":12,"l":[{"e":[{"b":[{"e":22}],"t":22}]}]}],"m":[{"a":[{"r":1,"s":1,"t":[{"e":4}]}],"e":[{".":1},11],"h":162,"p":[{"r":18}],"r":61,"u":39}],"n":[{"a":[{".":1,"l":526}],"c":[{"h":14},31],"d":[{"r":337,"u":[{"s":38},162],"s":124}],"e":[{".":1,"a":288,"m":4}],"f":188,"g":[{"j":41,"l":17,"s":[{"e":[{"n":[{".":16}]}]}],"v":166}],"j":[{"u":248}],"k":[{"e":[{"s":22}],"l":[{"e":22}],"v":23}],"n":[{"e":[{"t":22}],"i":164,"s":168,"t":[{"r":274}]},188],"o":[{"r":1}],"s":[{"e":0,"k":166,"t":181}],"t":162,"v":173,"ø":83}],"o":[{"n":[{"o":23,"s":[{"p":17,"v":17}]}],"s":20}],"p":[{"e":[{"s":103}],"p":[{"s":43}]},173],"r":[{"a":[{"r":35}],"e":[{"k":1}]}],"s":[{"a":[{"k":162}],"e":[{"t":15}],"k":[{"l":23}],"o":173,"p":162,"s":[{"p":31}],"t":[{"a":[{"n":61}],"e":[{"r":[{"k":31}]}],"i":[{"l":279},22],"o":18,"r":[{"ø":16},111],"u":446,"y":[{"r":[{"k":[{"e":[{".":242}]}]}]},223]}]}],"t":[{"e":[{"e":1,"k":1}],"i":[{"a":99,"d":1,"g":1,"l":1,"m":1,"s":[{"t":17}],"v":1}],"j":22,"n":168,"o":15,"r":[{"e":[{"r":22}]},129],"t":[{"e":[{"l":[{"e":31}],"r":[{"k":31,"m":31}]}],"s":80}],"y":15}],"u":191,"v":[{"a":[{".":4,"k":85}],"e":[{"g":22}],"i":[{"e":17}],"s":255}]},172],"j":[{"a":[{"n":153,"r":[{"b":0,"s":80},153],"s":5}],"e":[{"d":0,"e":11,"i":88,"k":88,"l":[{"v":35},24],"n":153,"r":[{".":90}],"s":[{".":38,"t":5},527],"t":[{".":38,"e":[{".":38},0],"r":528}],"v":88}],"é":38,"i":153,"o":[{"d":336,"e":32,"m":0,"r":[{"i":15}],"s":164}],"u":[{"n":15,"r":152,"t":2}],"ø":[{"s":[{".":38}]},24]},173],"k":[{"a":[{"l":[{"i":[{"e":513}]},348],"n":1},90],"b":97,"e":[{".":90,"d":[{"a":[{"l":38}],"e":90},88],"e":[{"i":103}],"h":11,"l":[{"e":[{"g":38}],"s":206}],"n":90,"r":[{".":152,"a":0,"i":0,"s":169,"u":196}],"s":[{"t":[{"a":[{"d":38}]}]}],"t":[{".":38,"s":38}]},1],"l":[{"e":[{"m":350}],"i":1,"u":229},7],"n":[{"i":[{"n":97}]}],"o":[{".":11,"m":[{"a":39}],"s":[{"a":39}],"t":88}],"r":[{"a":[{"s":14}],"i":[{"k":473}]}],"s":[{"e":[{"r":1}],"h":529,"t":182}],"u":[{"l":[{"e":[{".":23}]}],"t":[{"e":35},32]}],"v":[{"e":[{"g":11}]}],"å":54},200],"l":[{"a":[{"a":348,"f":3,"k":88,"l":69,"m":[{"i":0}],"n":[{"e":38,"l":12,"o":169,"s":[{"k":15},103]}],"p":[{"a":2,"s":18}],"s":[{"p":15},1],"u":[{"r":[{"e":36},15]}],"v":[{"l":2,"r":15}]}],"d":67,"e":[{"a":[{"k":38},22],"d":[{"a":[{".":32}],"r":41}],"e":90,"f":88,"g":[{"e":[{"v":22}],"r":22}],"h":[{"a":38,"o":38,"å":38}],"i":[{"g":169}],"k":[{"i":0,"s":[{"t":97}]}],"l":[{"i":0}],"m":88,"n":[{"d":[{"a":[{".":36}],"e":[{"n":15}],"r":0,"t":11}],"k":0,"s":95,"t":[{"u":0}],"u":0}],"p":[{"l":[{"e":15}]}],"r":[{"i":[{"k":512}],"o":[{"b":0}]}],"s":[{"o":23,"p":[{"r":17}],"t":[{"ø":22}]},4],"t":[{".":38,"a":0,"s":38,"t":[{"e":[{"l":[{"e":36}]}]}],"æ":93}],"u":88,"v":[{"e":[{"n":15,"v":61}],"å":38}],"y":31}],"é":[{".":88}],"g":530,"i":[{"e":[{"n":42},54],"g":155,"m":88,"n":[{"d":193,"s":0,"t":[{".":155},12]}],"p":90,"r":0,"s":[{"e":[{"n":31}]}],"v":0}],"j":69,"k":530,"m":[{"u":[{"e":[{"n":[{"e":33,"s":16}],"r":49}]}]},15],"o":[{".":38,"b":17,"d":88,"f":[{"f":193}],"i":[{"d":22}],"k":[{"s":15}],"m":[{"s":80},261],"p":[{"p":15},12],"r":259,"s":[{"o":0}],"t":[{"e":11}]}],"p":15,"r":[{"a":[{"n":16}]}],"s":[{"a":[{"k":1,"m":[{"e":[{".":36}]}]}],"e":[{"m":1,"n":[{"d":22}]}],"k":[{"a":[{"r":31}],"v":22,"å":15},5],"l":[{"a":[{"g":22}]}],"m":[{"y":12}],"n":[{"o":23}],"t":[{"e":23,"i":[{"g":31}]}],"ø":[{"k":61}],"v":[{"i":[{"n":[{"t":4}]}]}]}],"t":[{"o":[{"e":5}]},34],"u":[{"a":93,"e":365,"f":0,"g":2,"k":[{"a":206,"e":193,"s":11},23],"m":38,"n":[{"g":[{"e":[{".":36}]}]},277],"p":[{"i":23}],"r":259,"s":90,"t":259}],"v":[{"a":[{"n":46}]},182],"y":[{"s":[{"e":[{".":23}]}]}],"ø":[{"k":[{"s":15},0],"p":[{"a":[{".":31}]}],"v":[{"e":0}],"y":[{".":2,"a":15,"e":[{"r":36},12],"n":473}]}],"å":[{"r":370,"s":67}]},200],"m":[{"a":[{".":38,"n":[{"m":12}],"p":0,"r":[{"k":[{"i":0}]}],"v":12}],"b":2,"e":[{"l":[{"s":193,"u":0}],"p":[{"o":9}],"r":[{"f":169,"i":61}],"s":[{"t":[{"i":61}]}],"t":[{"r":42}]}],"i":[{"l":[{"e":[{".":32}]},38],"n":[{"d":12,"g":38,"i":120,"n":[{"e":16}],"s":12,"t":15}],"s":152}],"l":15,"m":15,"o":[{"p":69}],"s":[{"j":31,"p":122},69],"t":12,"u":[{"l":[{"e":[{".":23}]}],"t":12}],"y":[{"r":[{"k":[{"e":[{".":46}]}]}]}],"ø":[{".":0,"s":97,"y":[{"a":33},473]}],"å":[{"l":[{"a":[{".":31}]}],"r":9,"s":169}]},188],"n":[{"a":[{"b":88}],"e":90,"i":[{"u":23}],"y":152},188],"o":[{"a":[{"l":69,"n":[{"e":191}],"r":[{".":166},182]}],"b":[{"b":[{"y":[{".":22,"a":[{"n":39,"r":[{".":39}]}],"e":22}]}],"l":7},173],"d":[{"a":107,"e":12,"r":[{"i":85}],"s":[{"m":65,"t":[{"e":61}],"v":77}],"u":3}],"e":[{"n":[{"g":168}]}],"f":[{"j":168,"t":164}],"g":[{"e":[{"v":531},15],"i":[{"r":1}],"o":[{"p":12},28],"r":[{"e":[{"s":32}],"o":3}],"s":[{"a":22}]},172],"h":162,"i":[{"d":[{".":15,"e":12}],"n":69}],"j":[{"a":164}],"k":[{"i":69,"k":[{"o":23,"u":[{"l":31}]}],"l":402,"o":[{"n":162}],"s":[{"e":[{".":32}]},532],"v":182}],"l":[{"e":[{"g":[{"e":[{".":36}]}]}],"j":173,"o":49}],"m":[{"d":[{"r":38}],"i":[{"n":26}],"m":[{"e":[{"l":23}]}],"s":[{"t":[{"r":33}]}]}],"n":[{"a":[{"l":1}],"d":168,"e":15,"g":[{"r":41}],"i":[{"t":1}],"s":[{"k":[{"j":61}]}]}],"p":[{"a":12,"e":[{"a":1}],"p":[{"a":22}],"t":337},173],"r":[{"a":69,"d":[{"a":[{".":31}]},173],"e":69,"g":[{"l":53},187],"i":[{"e":120}],"m":168,"o":69,"ø":[{"d":2}]}],"s":[{"a":2,"e":[{"k":4,"s":1,"v":15}],"k":[{"l":[{"e":23}]}],"l":69,"p":2,"t":173}],"t":[{"e":[{"s":35}],"i":[{".":6}],"o":12,"t":[{"e":[{"t":162}]}]}],"u":[{"n":69}],"v":[{"a":[{"l":[{"d":61}],"n":[{"d":35,"e":2},12],"r":12}],"e":[{"d":533,"r":[{".":11,"e":17,"n":38,"s":274,"t":274}]}],"o":191,"s":[{"a":24}]},172]}],"p":[{"a":[{"r":[{"e":22}],"s":17},152],"e":[{"d":[{"o":0}],"e":0,"i":88,"l":[{"e":[{"g":38}],"i":[{"n":0},90]},88],"s":[{"m":90}],"t":[{"i":0}],"u":88}],"h":7,"i":[{"n":[{"e":[{".":22},18]}]},7],"l":7,"o":[{"e":[{"t":31}]}],"u":[{"t":0}]},188],"q":38,"r":[{"a":[{"d":[{"a":32,"i":[{"u":103}]}],"n":[{"e":[{".":31}]}]}],"e":[{"d":[{"e":23}],"i":23,"k":[{"a":32,"e":[{".":32}]}],"v":[{"a":32}]}],"i":[{"m":[{"a":32}],"v":[{"e":[{".":23}]}]}],"o":[{"d":[{"e":[{".":32}]}],"p":[{"a":[{".":31}]}],"s":[{"a":[{".":32}],"e":[{".":23}]}],"t":[{"s":17}]}],"ø":[{"r":[{"e":[{".":31}]}],"v":22}],"å":[{"d":[{"a":[{".":32}],"e":[{".":23}]}]}]},534],"s":[{"a":[{"d":88,"g":36,"l":[{"d":15}],"m":1,"n":[{"a":152,"k":[{"e":[{".":36}]}],"o":169,"s":193}],"r":[{"k":15}],"t":[{".":0}]}],"c":[{"u":0}],"e":[{".":90,"d":88,"e":88,"i":[{"d":12,"g":15}],"l":[{"e":193,"v":193}],"m":[{"b":15},88],"n":[{"o":0}],"r":[{".":152}],"s":[{"k":[{"u":17}],"l":18,"p":[{"a":17}],"s":17,"t":[{"r":86}]},28],"t":[{"e":[{".":23}]}],"u":88,"v":11}],"f":0,"h":88,"i":[{"g":38,"k":38,"l":[{"l":97}],"m":[{"u":38},0],"n":[{"n":193}]}],"j":[{"a":[{"k":[{"k":15}]}],"e":[{"f":38,"g":12,"n":12}]}],"k":[{".":167,"a":[{"b":[{"i":15}],"n":169,"r":[{"i":15,"t":22}]}],"e":97,"i":[{"f":14,"l":[{"d":375}],"n":[{"n":[{"s":373},123]}]}],"j":[{"e":[{"d":69}],"o":12}],"l":[{"æ":24},11],"o":[{"a":12,"r":15,"v":12}],"r":[{"a":0}],"s":6,"u":[{"n":22}],"v":[{"a":2,"i":12}],"å":[{"p":[{"a":36},12]},0]}],"l":[{"a":[{"g":[{"a":5,"n":152}]}],"e":[{"g":[{"e":[{".":36}]}]}],"o":15,"u":[{"k":229}],"ø":[{"s":97}]},88],"m":[{"ø":[{"r":38}],"å":[{"l":[{"a":36}]}]},88],"n":[{"u":88}],"o":[{"k":18,"n":[{"d":[{"e":[{".":36}]},15]}],"r":259,"s":[{"e":40}],"t":38,"v":69}],"p":[{"a":88,"e":[{"g":155,"i":38,"l":155}],"i":38,"r":[{"e":[{"d":38}],"i":12},0]}],"s":206,"t":[{"a":[{"k":193,"l":193,"n":[{"k":11}],"t":535}],"e":[{".":11,"d":1,"g":0,"i":536,"l":1,"r":[{"r":15}]}],"i":[{".":4,"e":1}],"o":[{"n":4}],"r":[{"e":[{"n":15}],"i":155}]}],"u":[{"b":38,"k":90,"n":69},88],"v":[{"e":[{"a":2,"e":[{"n":[{".":46}]},15],"k":97,"r":[{"e":16}]}],"i":[{"k":0,"n":[{"d":4}]}]},259],"ø":[{"r":0,"y":259}],"å":259},222],"t":[{"a":[{"a":0,"f":0,"k":[{"t":12}],"l":[{"a":[{".":23}],"b":193,"e":[{"v":31}]},90],"n":[{"l":12,"o":31}],"r":[{"t":12}],"s":[{"t":23}],"t":[{"e":[{"s":32}],"o":41,"r":18}],"v":[{"k":12,"æ":38}]}],"b":35,"e":[{"d":[{"e":90}],"k":[{"a":0}],"m":[{"a":[{".":31}]}],"n":[{".":1,"h":169}],"p":[{"i":12},6],"r":[{"a":[{"s":0}],"s":[{"t":169}]}],"s":[{"a":[{"m":[{"e":[{".":91}]}]}]}]}],"i":[{"d":[{"s":36}],"e":[{"t":0}],"f":88,"g":47,"k":88,"n":[{"a":0,"d":12,"n":35,"s":12}],"v":[{"i":0}]}],"j":[{"a":259}],"l":[{"e":[{"g":[{"e":[{".":46}]}]}]}],"n":35,"o":[{"a":[{"r":39}],"g":90,"s":[{"t":12},23]}],"r":[{"a":90,"e":[{"g":12,"i":12,"k":[{"o":11}],"l":97,"m":96,"n":[{"s":0}],"s":[{"t":229},12],"v":38}],"i":[{"t":169}],"o":[{"l":12,"m":12,"p":[{"a":46}],"s":38}],"ø":[{"d":169}],"å":38},7],"s":[{"a":[{"m":[{"e":[{".":46}]}]}],"i":9,"t":40,"v":[{"i":23},107]},8],"t":94,"u":[{"n":[{"d":12}],"r":[{"a":23,"e":[{"n":19,"r":19},80],"s":80,"å":80}],"t":88}],"v":[{".":38,"a":[{"l":[{"a":46}]}],"s":90}],"w":169,"y":[{"d":32},90],"ø":[{"l":2,"v":12}]},188],"u":[{"a":[{"r":32}],"b":[{"b":[{"a":[{"n":[{"d":31}]}]}],"r":[{"i":4}]},173],"c":15,"e":[{"r":[{"e":2}]}],"f":172,"g":[{"a":[{"r":164}],"o":2}],"i":[{"d":[{"e":[{"r":36}]}]},31],"j":172,"k":[{".":162,"a":[{".":1}],"e":[{"t":162}],"k":[{"e":[{"r":[{"i":31}]}]}],"r":12,"t":334}],"l":[{"y":162}],"m":[{"e":[{"l":4}],"o":7,"s":[{"k":31}],"ø":1},0],"n":[{"d":[{"r":42}],"e":[{".":1}],"g":[{"e":[{"l":23}]}],"i":537,"n":[{"e":22}],"s":[{"j":164}],"t":162}],"o":4,"p":[{"s":23,"u":107}],"r":[{"e":[{"i":168,"n":15},28],"i":15,"n":[{"a":32,"e":[{".":32}]},274],"t":[{"a":32}]}],"s":[{".":172,"a":[{"k":2},17],"e":[{"l":4}],"h":[{"e":16}],"k":233,"o":53,"s":[{"i":[{"d":23}],"t":41}],"t":[{"r":255},54]}],"t":[{"a":[{".":12},18],"e":[{"t":2}],"f":168,"g":162,"h":[{"e":538},475],"l":[{"a":33}],"m":31,"o":69,"r":26,"s":173,"t":[{"a":[{"l":23,"p":23,"t":53}]}],"v":168}],"v":[{"a":1,"e":[{".":1,"n":35,"r":35}]},172]}],"v":[{"a":[{".":0,"k":[{"t":[{"i":0}]},31],"l":[{"a":31}],"m":365,"n":[{"a":0,"d":6}],"p":94,"r":[{".":152}],"s":[{"a":2,"s":169}]},153],"e":[{"d":[{"a":65}],"i":[{"s":19}],"l":[{"a":0,"e":0}],"n":[{"e":39},1],"r":[{".":155,"a":[{"u":39}],"u":0}],"s":[{"k":0,"l":22,"t":[{"r":22}]}],"t":[{".":252}]}],"é":155,"i":[{"e":[{"n":[{"e":32}],"r":39}],"k":[{"a":[{".":31}]}],"m":35,"n":[{"g":[{"r":80}]}],"r":[{"o":12}]},153],"j":69,"l":[{"y":[{"s":[{"e":[{".":46}]}]}]}],"n":367,"o":[{"f":69,"k":[{"s":120}],"p":35,"r":[{"e":[{".":32}],"s":5}],"v":9}],"p":97,"r":[{"a":[{"r":46}],"i":35}],"s":[{"e":15,"k":40,"l":31},8],"t":[{"a":35}],"å":[{"g":90,"p":539,"r":31},69]},167],"w":38,"y":[{"a":69,"b":173,"d":[{"r":118}],"e":[{"s":18},15],"g":[{"e":[{"l":1}],"l":20}],"i":[{"s":6}],"k":[{"j":173,"k":[{"e":[{"r":[{"i":31}]}]}],"u":15,"v":2,"ø":168}],"l":15,"m":[{"e":15,"p":173}],"n":[{"a":107,"e":[{".":1}],"i":[{"l":26}],"s":82}],"o":[{"k":15},173],"p":[{"e":12}],"r":[{"a":[{".":6}],"e":[{".":4}],"k":306},370],"s":[{"a":[{".":1,"k":158}],"e":[{"t":[{"e":[{".":36}]}]}],"k":[{"j":24,"l":39},5],"l":129,"p":162,"t":[{"r":[{"a":49}]}],"y":168}],"t":[{"a":[{".":6}],"e":[{"k":162,"r":[{"i":1}],"s":17}],"i":[{"n":229}],"r":69}],"v":[{"a":[{"k":15}],"e":12}]}],"z":[{"b":97},90],"æ":[{"d":168,"r":[{"a":[{".":4,"r":[{"m":23},15]}],"e":[{".":1,"i":18,"r":12,"s":[{".":15},99]}],"s":[{"v":31}]}],"t":[{"a":4}]},216],"ø":[{"d":[{"e":[{".":12,"l":1,"m":15}]}],"e":[{"r":1}],"k":[{"k":[{"j":22}],"n":187,"o":173,"r":26}],"l":149,"m":[{"e":35}],"n":[{"a":7,"s":[{"t":17}]}],"p":[{"s":47}],"r":[{"d":337,"k":19,"n":22,"r":248}],"s":[{".":166,"a":[{"n":15},7],"e":[{"r":15}],"k":24,"s":24}],"t":[{"a":[{".":35}],"e":[{".":12,"g":1}]},173],"v":[{"a":[{"r":49}],"d":540,"e":[{".":1,"r":12,"s":15}]}],"y":[{".":168,"a":162,"d":173,"e":[{"d":32,"l":22},162],"f":173,"g":[{"e":17},23],"m":162,"s":[{".":274}],"t":[{"e":[{"r":22}]}]}]},172],"å":[{"g":[{"a":[{"l":4}],"r":[{"e":4}],"s":5,"å":1}],"i":173,"k":[{"e":[{".":4}]},182],"m":[{"e":35,"o":233}],"n":[{"d":274,"s":261},7],"p":[{"n":541},173],"r":[{"a":[{".":6,"r":35,"s":15}],"i":[{"n":12}],"u":69},173],"s":[{"a":[{".":4}],"k":[{"o":4},69],"l":26,"t":[{"e":[{"n":61,"r":22},1]}],"u":15}],"t":[{"e":[{".":12,"g":1,"k":1}],"i":[{".":6}],"t":162}],"v":[{"e":[{".":1}]}]}]}],"m":[{"a":[{"a":[{".":164,"r":12},173],"b":[{"r":15},173],"c":[{"h":[{"e":12}]}],"d":[{"a":[{"m":[{"e":17}]}],"e":[{"l":1}],"r":[{"a":12}],"s":542}],"e":[{"f":162,"k":162,"n":[{"e":191}]}],"f":[{"i":[{"a":164}],"r":[{"å":168},164]},189],"g":[{"a":[{".":6}],"e":[{"d":1,"l":1,"s":1}],"n":164,"r":7}],"h":[{"e":173}],"i":[{"s":1}],"j":[{"a":1}],"k":[{".":173,"a":[{"b":15,"d":162}],"e":[{"s":1}],"k":[{"e":61}],"l":[{"e":31},162],"o":[{"t":1}],"r":[{"e":12,"o":[{"n":22}]},28],"t":[{"a":[{"l":23}],"i":181,"o":23,"s":[{"t":103}]}],"u":69,"v":189}],"l":[{"a":69,"e":[{"b":2,"n":[{"g":4}],"t":1}],"i":[{"e":[{"n":260}]}],"l":22,"o":[{"v":1}],"s":5,"t":[{"e":[{"k":53}]}],"u":24,"å":24}],"m":[{"e":[{"r":162}],"o":12}],"n":[{".":0,"a":[{"k":12,"l":90,"m":168,"v":162}],"c":[{"e":32}],"d":[{"o":[{"m":23,"n":23}]}],"e":12,"f":0,"g":[{"a":42,"e":11,"r":162}],"i":[{"a":91}],"l":[{"e":90},173],"m":162,"n":[{"e":[{"m":23}],"s":[{"l":14}]},337],"o":1}],"o":173,"p":[{"a":162,"r":173}],"r":[{"b":162,"d":19,"e":[{".":191,"g":168,"i":12,"l":2,"n":543,"s":15}],"i":[{"e":[{"n":[{"e":208}]}],"n":12},544],"k":[{"a":0,"i":[{"t":162}],"v":23}],"m":[{"o":[{"r":[{"a":[{".":33}]}]}]},22],"n":61,"o":[{"p":163},69],"s":[{"h":65,"l":61}],"t":[{"e":22}],"y":[{".":1}],"å":4}],"s":[{"e":[{"l":162,"t":15}],"h":18,"i":[{"a":1,"k":1,"s":1}],"j":[{"u":168}],"k":[{"i":23,"o":162}],"p":162,"s":[{"e":[{"e":23,"t":31}],"ø":33}],"t":[{".":191,"e":[{"m":15}],"o":162,"r":236}],"y":173}],"t":[{"a":[{"d":15},69],"e":[{".":1,"d":4,"l":1,"n":191,"r":[{".":191,"a":168}],"t":191},12],"f":[{"e":306}],"i":[{"l":[{".":191},162]}],"o":69,"r":[{"a":[{"s":26},162],"e":85,"o":[{"m":21}]},69],"s":[{"l":46},82],"t":[{"a":22,"r":545}]},11],"u":[{"k":23,"l":61,"n":69,"r":166,"s":[{"u":61}]},173],"v":[{"e":[{"n":15},546],"h":152,"k":38},173],"z":[{"e":1,"o":12}]},172],"b":[{"a":[{"o":0,"r":[{"d":18}]}],"e":[{"a":88,"b":0,"d":[{"a":39,"ø":0}],"f":88,"k":88,"l":[{"i":0}],"m":88,"n":[{"a":0}],"o":0,"r":[{"e":[{"g":0}],"o":0}],"t":183}],"i":[{"a":[{"r":31}],"b":88}],"l":89,"o":[{"e":[{"n":[{"d":23}],"r":[{".":22,"e":22}]},183],"i":[{"d":22}],"n":22,"p":0,"r":[{"e":22}],"t":39}],"u":[{"a":[{"r":[{".":61}]}],"e":[{"r":[{"e":16}]},23],"s":17}]},188],"c":[{"o":11},153],"d":[{"e":90,"o":[{"m":2}]},174],"e":[{"a":[{"l":15,"m":22},420],"b":173,"c":[{"k":5},173],"d":[{"a":[{"t":162}],"b":173,"e":[{".":166,"d":1,"i":22,"n":2,"t":2}],"f":162,"i":[{"k":162,"r":162},12],"m":173,"o":[{"k":4,"m":162}],"r":[{"e":[{"t":4}]},173],"s":177,"u":[{"n":4,"s":9},162],"v":[{"e":191},22],"y":173,"å":162}],"e":[{"f":173,"k":168,"l":173,"s":162,"v":162},2],"f":[{"f":90},173],"g":[{"a":[{"l":2},547],"r":173,"u":173}],"h":162,"i":[{"e":[{"n":17},28],"g":153,"l":[{"d":12}],"n":[{"d":12,"i":22}],"s":[{"k":2,"o":162}]}],"j":173,"k":[{"i":162,"j":162,"k":173,"l":129,"n":12,"o":162,"r":548,"s":162,"t":[{"e":168},22]}],"l":[{"a":[{"k":[{"s":9}],"n":[{"e":166}],"r":166},162],"e":[{".":1,"d":162,"i":162,"k":162,"m":324,"n":[{"g":26}]},12],"i":[{"k":162,"s":162,"t":162,"v":162}],"l":[{"e":22,"o":[{"m":549}]}],"o":[{"k":162,"v":162}],"s":[{"i":23,"j":255,"k":103,"t":42}],"t":[{"r":61}],"u":69,"v":[{"i":120},22],"y":173,"æ":173,"ø":162,"å":550},88],"m":[{"o":[{".":4}]},173],"n":[{"e":[{"d":83,"r":[{"s":3}]}],"g":[{"a":248}],"k":22,"l":[{"e":[{"g":[{"e":[{".":120}]}]}]}],"n":[{"y":23},11],"o":[{"m":1,"r":1}],"s":[{"i":23,"m":24,"p":[{"l":22}]}],"t":[{"e":[{"k":31},22],"o":[{"m":23}],"r":22}],"y":[{"t":1}]}],"o":[{"s":4},285],"p":173,"r":[{".":166,"a":[{"b":4,"d":162,"l":223,"n":[{"t":26}]}],"d":[{"i":22}],"e":[{"d":162,"g":162,"i":162,"k":162,"l":162,"n":[{"s":[{"e":4}]}],"s":[{"s":162},12],"t":36}],"i":[{"b":236,"k":[{"e":17}],"n":166},0],"l":[{"e":[{"g":58}]}],"n":39,"o":[{"s":22}],"s":[{"k":22},166],"u":[{"n":[{"d":22},12],"s":162}],"y":173,"ø":107,"å":[{"k":1},173]}],"s":[{".":166,"a":286,"h":383,"j":173,"k":[{"e":22},189],"l":[{"e":31},189],"o":551,"p":173,"s":[{"e":[{"s":141}]},166],"t":[{".":191,"a":162,"e":[{".":166}],"i":23,"o":204,"r":[{"o":15,"ø":168,"å":162},18],"u":162}],"u":162,"y":173,"ø":173}],"t":[{"a":[{"b":162,"l":[{"l":[{"s":552}]}],"p":553,"r":1}],"e":[{"g":162,"i":162,"k":162,"l":162,"p":162},12],"i":[{"l":162}],"j":173,"o":[{"n":162}],"r":[{"a":85,"e":[{"n":22,"r":61,"s":22},1],"i":[{"k":22}],"u":1,"æ":162}],"u":173,"v":162,"y":173,"ø":173,"å":162}],"u":[{"s":554},307],"v":[{"a":[{"n":46}]},173],"ø":173,"å":173},172],"é":173,"f":[{"a":[{"r":[{"a":39,"t":[{"a":46}]}],"v":17}],"e":[{"k":88,"s":[{"s":367}]}],"i":[{".":0,"b":[{"r":0}],"t":88}],"r":[{"u":[{"s":555}]}],"u":[{"n":[{"n":[{"s":556}]}],"s":[{"e":[{".":31}]}]}]},188],"g":[{"a":[{".":0}],"i":[{".":0}],"å":[{"v":[{"a":32,"e":[{".":32}]}]}]},411],"h":[{"e":[{"a":5}],"u":[{".":0}]},188],"i":[{"a":[{"l":557,"n":[{"e":301},28],"r":[{".":191}],"v":173},69],"c":[{"h":[{"e":[{"l":120}]}]},4],"d":[{"é":522,"i":173,"j":22,"s":65,"t":23}],"e":[{"l":[{"e":265}],"r":[{".":12}],"s":143}],"f":286,"g":[{"r":[{"a":[{"f":166}]}]}],"h":173,"i":173,"j":162,"k":[{"h":31,"j":162,"o":173,"r":[{"o":[{".":22,"n":22}]}],"s":[{"a":22}],"u":168}],"l":[{"a":[{".":1}],"e":[{"t":[{"i":61},36],"v":1}],"i":[{"n":162},2],"s":[{"v":47}],"æ":162}],"m":[{"a":[{".":6}],"o":166,"p":152},173],"n":[{"a":[{".":1,"r":15}],"e":[{".":1,"r":[{"s":26}]}],"n":[{"h":181,"s":181,"t":168}],"s":[{"p":24,"t":5},28],"u":12,"v":0,"y":26}],"o":[{"v":2}],"p":173,"s":[{"a":[{"n":1},162],"e":[{"k":162,"l":162},12],"é":301,"h":[{"a":[{"g":[{"e":33}]}]}],"i":268,"k":[{"o":23},7],"l":[{"a":34,"e":39}],"m":191,"s":[{"k":53,"p":30}],"t":[{"a":[{"k":33}],"e":558,"r":[{"a":23}],"u":162}],"y":173,"å":162}],"t":[{"a":168,"e":12,"j":162,"o":162,"r":406,"t":[{"s":18}]}],"u":[{"r":15}],"v":[{"å":15},173]},172],"j":[{"a":[{".":11,"n":11,"r":[{".":38,"n":152}]}],"e":[{".":152},173],"i":[{"n":[{"g":[{"a":[{"n":93,"r":93}]}]}]},153],"o":167,"u":[{"k":[{"e":61}]}],"ø":[{"s":[{"t":17}]},172]}],"k":[{"o":[{".":0}],"r":[{"o":17}],"u":[{"l":[{"e":[{".":31}]}]}],"å":[{"p":[{"a":32}]}]},397],"l":[{"a":[{"g":[{"a":31}]},152],"e":[{"f":88,"i":[{"e":[{"r":[{".":17}]}]}],"k":88,"l":88,"m":88,"r":[{"a":0}],"s":[{"e":[{".":31}],"k":0,"v":559}],"t":[{"a":0}],"v":[{"e":[{".":23}]}]}],"i":4,"j":[{"a":15}],"y":[{"s":[{"e":[{".":31}]}]}],"ø":[{"p":[{"e":[{".":31}]}],"y":18}]},181],"m":[{"a":[{"i":11,"k":[{"l":22}],"l":[{"e":[{".":32}]},17],"m":0,"n":[{"d":[{"o":[{"l":36},139]}]}],"r":[{"i":[{"n":16}],"o":16},38],"t":[{"i":[{"k":[{"k":[{"a":170}]}]}]}]}],"e":[{"d":[{"ø":0}],"g":88,"i":88,"k":247,"l":[{"u":0}],"n":[{"i":11,"u":0}],"r":[{"t":17,"u":[{"n":23}]}],"s":[{"t":120},458],"t":[{".":38,"a":0,"i":0,"r":[{"a":0,"e":19}]}],"u":24}],"é":90,"i":[{"a":[{"n":152},0],"b":88,"d":0,"e":[{"n":36}],"k":88,"s":[{"k":22,"o":22,"t":24}]}],"n":15,"u":90,"ø":28,"å":[{"l":[{"a":[{".":32}]}]}]},560],"n":[{"e":[{"e":88,"i":[{"d":2}],"l":561,"r":[{"a":23}],"s":[{"e":38,"k":0,"t":[{"a":0,"i":[{"e":49}]}]}],"t":[{".":155,"e":0}],"v":88}],"i":[{"p":11}],"s":[{"k":2}]},188],"o":[{"a":[{"r":7},164],"b":[{"a":162}],"d":[{"e":[{"m":12},166],"i":[{".":4},15],"y":173}],"e":[{"n":[{".":1}]},164],"f":[{"f":153,"o":[{"b":[{"i":[{".":36}]}]}]}],"g":[{"i":4,"l":166,"o":15,"s":38}],"h":162,"k":[{"a":[{".":6},173],"e":6,"i":69}],"l":[{"a":[{".":4}],"e":[{".":1,"s":472},12],"t":162,"y":12}],"m":[{".":38,"f":162,"r":173,"s":[{"ø":53}]}],"n":[{"e":15,"i":[{"s":[{"a":1}]}],"o":7,"s":[{"t":[{"e":23}]},54],"t":19}],"p":173,"r":[{"a":[{".":1,"r":[{".":2},1]},562],"d":[{"e":19,"l":162,"r":47}],"e":[{"s":58},12],"i":[{".":1,"d":4,"e":563},88],"k":[{"l":23}],"l":[{"a":[{"g":[{"a":91}]}]}],"o":[{"k":15,"m":1}],"s":[{"i":23,"k":[{"j":23,"y":61}],"p":23}],"ø":69}],"s":[{"e":[{"n":35}],"k":564,"o":23,"t":[{"a":[{"b":168}]}]}],"t":[{"a":[{"p":162}],"e":[{".":1,"g":[{"e":565}],"i":1,"k":[{"l":16}],"r":[{".":15}],"s":1}],"o":15,"r":[{"e":61},162],"s":[{"a":[{"g":[{"d":168}]}],"v":[{"a":139}]},180],"t":61}],"u":[{"r":17}],"v":[{"a":218}],"w":15},172],"p":[{"a":[{"n":[{"a":0,"t":[{"a":169}]}]}],"e":[{"e":0,"l":[{"o":[{"t":0}]}],"n":[{"a":11}],"p":11,"r":[{"a":[{"t":[{"e":[{".":91}]}]}],"e":[{"s":[{"s":11},22]}],"f":[{"a":169}],"i":[{"e":[{"n":510}]}]}],"s":[{"t":[{"e":36,"i":23}]},183],"t":[{"t":38}],"u":227}],"i":[{"d":12,"n":[{"j":[{"e":0}]}]}],"l":[{"a":[{".":93,"n":89}],"e":[{".":15}],"i":[{"n":97}]}],"n":97,"o":[{"b":97,"e":[{"t":[{"a":0}]},5],"g":0,"k":11,"p":[{"p":12},88]}],"p":370,"r":[{"a":[{"d":12}],"e":[{"t":15}],"o":[{"p":[{"a":46},12]}]}],"s":[{"e":[{"k":12}],"p":23,"t":20},69],"u":[{"n":[{"g":[{"e":[{".":36}]}]}],"r":155,"t":[{".":15}]}],"y":[{"s":15}],"ø":22,"å":[{".":155}]},222],"q":90,"r":[{"o":[{"s":[{"a":[{".":32}],"e":[{".":31}]}]}],"u":[{"t":[{"e":[{".":61}]}]}],"ø":[{"d":[{"e":39}]}],"å":[{"r":155}]},566],"s":[{"a":[{".":38,"k":69,"n":[{"t":15}]}],"c":153,"e":[{"l":[{"u":22}],"i":437,"m":0,"n":[{"g":193}],"p":[{"l":9}],"r":[{"v":0}],"s":22,"t":[{"n":149,"j":[{"a":[{"r":[{"e":127}],"s":148}]}]}]}],"i":[{"e":31,"n":[{"g":1,"n":12}]}],"j":[{"a":169}],"k":[{"a":[{"b":15,"k":49}],"i":[{"n":[{"g":22},4]}],"n":34,"o":[{"r":12}],"r":[{"e":[{"n":15}]}],"u":32}],"l":[{"a":[{"n":12}],"e":[{"g":[{"a":4}]}],"u":[{"a":35,"e":12}],"y":1}],"m":88,"n":[{"e":35,"o":15,"æ":12},150],"o":[{"m":[{"s":0}],"r":[{"i":12}],"v":69},153],"s":67,"t":[{"a":[{"l":193,"v":6}],"e":[{".":206,"a":2}],"i":[{"l":[{"b":15}],"m":12},7],"o":[{"p":[{"p":149},169],"r":[{"d":22}]},153],"r":[{"a":[{"n":[{"d":93,"e":38}]}],"e":[{"d":22,"f":15,"n":22}],"i":[{"k":15}],"u":1}]}],"u":[{"n":[{"n":12}],"t":[{"a":39,"e":[{"n":61}]}]}],"v":[{"a":[{"r":[{"a":49,"e":17}]}],"e":[{"t":89}]},69],"y":[{"n":[{"d":12}]}],"ø":[{"k":[{"e":[{".":23}]}],"r":169,"y":69}],"å":69},168],"t":[{"a":90,"b":[{"e":36},1],"e":[{"e":88,"g":88,"k":[{"s":58,"v":284}],"l":0,"s":[{"t":[{"u":11}]}]}],"i":[{"a":39,"d":[{"a":155}],"e":[{"n":[{".":11}]},22],"f":11,"k":88,"n":[{"i":11}],"ø":[{"r":120},0]}],"o":38,"r":1,"v":[{"e":4,"i":[{"n":1}]}],"å":22},188],"u":[{"a":4,"b":150,"e":[{"l":12,"r":61,"s":176},7],"g":[{"l":22},173],"h":[{"e":1}],"k":[{"a":522,"e":187},7],"l":[{"a":15,"e":[{"g":1,"s":36}],"l":[{"s":202},183],"t":[{"i":[{"v":31}]}],"y":162}],"m":[{"i":12,"s":28},191],"n":[{"c":28,"e":[{"s":120}],"g":[{"e":[{".":31}]},162],"i":[{"v":274}],"k":24,"n":[{"s":80}],"t":[{"r":41}]}],"r":[{"a":[{".":4}],"e":[{".":1}],"n":173,"s":5,"t":168}],"s":[{"e":[{".":1,"s":133}],"é":1,"k":[{"e":[{"l":[{"a":145}]}]},107],"t":[{"a":[{"n":22}]},5]},88],"t":[{"a":[{".":6},567],"s":[{"a":[{"l":[{"a":91}]}]}],"t":[{"r":77}]},173]},172],"v":[{"a":[{"k":[{"t":17}],"l":[{"a":31}],"r":[{"i":120}]}],"e":[{"g":[{"s":78}]}],"i":[{"e":77,"s":[{"e":[{".":31}]}]}]},188],"w":173,"y":[{"a":15,"g":[{"g":[{"a":23}]}],"k":[{"e":12,"k":[{"e":[{"s":23}]}],"l":24,"r":6}],"r":[{"a":[{"n":35,"r":35},7],"e":[{".":1},69],"k":[{"e":38},162],"u":26}],"s":[{"a":4,"e":[{".":1}],"o":1},24],"t":[{"e":[{".":1}],"t":[{"s":116}]}]},172],"æ":[{"l":[{"a":[{".":4}]}]},166],"ø":[{"b":[{"l":24}],"d":[{"e":[{"s":2}]}],"e":[{"n":[{"s":35}]},4],"k":[{"k":[{"a":36}],"n":90,"o":173}],"n":[{"a":4,"e":[{".":1,"s":[{"t":6},49]}],"s":[{"k":274}]}],"o":7,"r":[{"k":[{"e":164,"r":53}],"s":[{"m":22}],"ø":24}],"s":[{"e":15}],"t":[{"a":[{"s":35}],"e":[{"r":[{"e":1}]}],"t":39},191],"y":[{"a":[{"r":39}],"s":[{".":38}]},173]},172],"å":[{".":173,"a":15,"e":[{"n":[{"h":168}]}],"g":530,"k":[{"a":[{".":1}],"e":[{".":1,"s":1}]},69],"l":[{"a":[{"r":15}],"e":[{".":1,"d":4,"i":18}],"ø":[{"p":[{"e":[{".":36}]}]}]},11],"n":[{"e":[{"s":[{"e":35},205]}]}],"p":[{"a":[{".":6}],"e":[{".":1}],"l":2}],"r":[{"a":[{"r":36}],"e":69,"o":69,"u":69},173],"s":182,"t":[{"a":[{"k":4}],"f":168,"r":15,"ø":12}]},172]}],"n":[{"a":[{"a":[{"n":[{"s":4}]}],"b":[{"o":[{"r":[{"t":[{"r":309}]}],"t":4},173],"y":162}],"d":[{"e":[{"d":1,"m":6}],"i":5,"o":[{"p":90}],"s":261,"v":162}],"f":[{"f":153,"o":[{"r":16}],"r":12,"t":61},167],"g":[{"a":[{".":6}],"e":[{"n":162},12],"s":[{"å":14},65],"ø":2}],"h":168,"i":[{"r":162}],"k":[{"k":[{"a":61,"o":31},11],"l":166,"r":69,"s":[{"a":32,"e":[{".":32}]},153],"t":[{"a":[{".":31}],"i":274},222],"v":2},173],"l":[{"a":[{"g":35,"r":[{"e":4,"v":168}]}],"e":[{"g":2,"i":85,"k":1,"p":[{"o":22}],"s":1,"t":[{"t":26}],"v":1}],"g":[{"e":[{".":31}]},22],"i":[{"l":1}],"l":[{"a":[{"g":31}],"ø":[{"p":23}]}],"o":[{"p":24}],"s":179,"t":24,"u":[{"r":12}],"y":173,"ø":233,"å":[{"r":568},162]}],"m":[{".":166,"e":[{"r":[{"e":2}],"s":15}],"o":569,"s":166,"ø":173}],"n":[{".":301,"a":[{"l":90},162],"e":11,"f":[{"ø":91}],"g":[{"r":248}],"k":[{"e":[{".":31}]},22],"l":[{"e":274},181],"n":[{"e":23}],"o":26,"s":[{"i":[{"n":23}],"k":[{"j":23}],"t":53}],"y":162}],"o":2,"p":[{"e":[{"s":5},15],"s":65},94],"r":[{".":0,"a":[{"p":1}],"b":173,"d":[{"r":22}],"e":[{"a":162,"i":61,"k":236}],"i":[{"e":[{"n":271}],"k":[{"s":[{"k":191}]}]}],"k":[{"i":[{"v":162}]}],"m":[{"é":274,"e":274,"a":[{".":32}]},175],"s":[{"t":[{"e":32}]},22],"t":[{"a":[{".":31}],"i":22},173],"v":61,"ø":22}],"s":[{"a":[{"r":18,"s":1}],"h":61,"i":[{"k":167}],"k":[{"i":1}],"t":[{"a":14},245],"u":167}],"t":[{"a":69,"e":[{"k":46,"m":2}],"l":162,"o":[{"m":162,"r":[{"i":[{"e":570}]}]}],"r":[{"a":32}],"s":[{"p":24}],"t":[{"a":[{"k":31}],"e":[{"a":31}]}],"y":17}],"u":[{"k":173,"s":[{"p":36}]}],"v":[{"a":[{".":4}],"d":162,"f":168,"g":173,"h":361,"i":69,"k":248,"l":[{"e":[{"s":23}]},162],"n":164,"o":168,"r":162,"s":153,"t":162}]},172],"n":[{"a":[{"n":[{"s":169,"a":15,"e":155,"i":32,"k":169,"l":38,"t":[{"a":96}]},1],"b":1,"d":[{".":15},88],"f":[{"t":35}],"i":[{"r":15}],"k":330,"l":[{"a":0,"g":15}],"m":[{"e":0}],"r":[{".":155,"i":0}],"s":[{"i":11,"k":0}],"t":88,"v":[{"l":12},88]}],"b":[{"o":[{"e":49}],"u":[{"e":49}]}],"d":[{"ø":[{"r":203},5]},122],"e":[{"a":[{".":38,"p":38}],"b":[{"a":[{"r":38}],"e":[{"r":91}],"u":38}],"d":[{"i":0}],"e":88,"f":11,"i":69,"k":[{"e":90}],"l":[{"o":0}],"n":[{"a":[{"t":31}],"o":41},89],"r":[{".":155,"e":[{"l":0}],"o":0}],"s":[{".":152,"j":11,"l":[{"a":439}],"t":196,"ø":0}],"t":[{".":149,"e":0}],"v":88,"y":88}],"g":94,"h":[{"ø":[{"r":[{"e":[{".":46}]}]}]}],"i":[{"d":[{"e":12},0],"e":24,"m":88,"n":[{"f":2}],"s":[{"j":23,"t":344},38]}],"k":530,"l":[{"e":[{"g":[{"e":[{".":36}]}]}],"ø":[{"p":[{"e":[{".":36}]}]}]}],"o":[{".":0,"f":15,"m":[{"s":[{"y":[{"n":[{"a":242}]}]},4]},261],"p":69,"r":[{"d":2},593],"v":[{"e":366}]}],"r":35,"s":[{"a":[{"k":[{"a":49}],"m":[{"b":26}],"n":[{"d":22}],"r":24}],"e":[{"g":15,"i":[{"g":91}],"m":85,"n":[{"k":3}],"s":85,"t":[{"e":[{".":36}]}]}],"i":[{"d":[{"a":16}],"n":85,"s":355}],"j":[{"a":[{"k":3}]}],"k":[{"a":[{"n":22}],"l":[{"i":9}]}],"o":[{"p":22,"r":24}],"t":[{"a":[{"b":3,"l":22}],"e":[{"l":[{"t":22}],"n":23,"p":22}],"i":[{"n":61}],"o":[{"p":22}],"r":[{"e":3,"o":22}],"v":24},36],"u":[{"l":26}],"v":[{"a":24,"o":3}],"y":[{"n":[{"a":46}]}],"ø":[{"k":24},7],"å":[{"r":568}]}],"t":[{"e":[{"s":[{"e":[{".":36}]}]}],"o":[{"g":[{"a":49}]}]},60],"u":[{"i":54,"n":[{"g":4}],"t":69}],"v":[{"i":[{"s":5}]}],"y":[{"n":69,"t":23}],"ø":[{"k":2,"v":69}],"å":69},162],"b":[{"a":[{"d":24,"s":[{"e":[{"r":39}]}]},572],"e":[{"n":[{"s":5}]}],"o":[{"e":[{"t":22}]}],"u":[{"f":11,"t":[{"r":11}]}],"y":[{"r":17}],"ø":[{"l":[{"e":39}],"n":31}]},571],"c":[{"a":38,"e":[{"l":17}],"h":[{"e":[{"i":24},90]}],"o":[{"t":11}],"y":458},153],"d":[{"a":[{"a":[{".":152}],"b":[{"i":11}],"d":0,"f":22,"g":[{"s":14},573],"k":[{"s":0}],"l":[{"f":0,"l":169,"s":203},90],"r":[{"k":0,"t":367}],"s":[{"k":93}],"t":[{"a":[{"l":22}]}]}],"d":9,"e":[{".":90,"a":22,"b":88,"d":88,"f":[{"i":38}],"i":[{"n":1},69],"k":[{"l":0,"o":0},4],"l":[{"e":[{".":23}],"i":[{"k":0}],"s":[{"k":5,"t":5}],"t":31},574],"m":[{".":38,"o":22},88],"n":[{".":38,"e":[{"r":11}],"s":38}],"o":575,"p":88,"r":[{"a":[{"b":0,"s":0}],"e":[{"i":0}],"i":[{"m":0}],"k":4,"l":[{"a":[{"g":[{"a":123}]}]}]}],"s":[{"i":0,"t":0,"u":0}]}],"é":153,"i":[{"e":[{"n":23}],"n":[{"t":193}],"s":[{"k":31}],"t":[{"o":[{"r":[{"i":[{"e":518},373]}]}],"t":[{"a":271}]}]}],"j":[{"e":[{"r":12}],"u":69}],"k":15,"l":[{"e":[{"m":1,"s":[{"e":1,"t":1}],"v":1}]}],"m":206,"o":[{"a":39,"b":11,"k":[{"k":97}],"m":[{"s":576}],"o":88,"p":69,"r":[{"g":12,"m":15},88],"t":[{"e":11}]}],"r":[{"a":[{"e":15,"m":193,"n":12}],"e":[{"k":4,"r":[{"a":5}],"s":[{"e":[{"n":15}]}],"t":[{"t":15}]}],"i":69,"o":153}],"s":[{"a":[{"g":1,"k":24,"m":[{"b":26}]}],"e":[{"l":[{"v":22}],"n":[{"d":[{"e":22}]}],"r":1}],"j":[{"e":1}],"k":[{"j":1,"u":[{"l":61}]}],"l":[{"a":[{"g":[{"a":120}]}],"e":[{"t":[{"t":31}]}]}],"p":[{"u":2}],"t":[{"e":[{"g":39},34],"r":[{"e":[{"k":22}],"y":15}]}]}],"t":[{"a":[{"k":[{"a":[{".":36}]}]}]}],"u":[{"f":11,"i":[{"s":24}],"n":[{"g":[{"e":[{".":36}]},12]},0],"p":88,"s":[{"i":31,"k":16}]}],"v":2,"y":[{"g":88,"k":54,"s":[{"p":22},88]}],"ø":[{"l":22,"y":259}]},167],"e":[{"a":[{"e":166,"g":23,"l":[{"e":40,"p":15,"s":15}],"m":131,"r":[{"a":[{"n":577}],"e":[{"n":39}]}],"s":69,"v":204},173],"b":[{"b":164,"e":162,"l":[{"e":1}]},173],"c":[{"k":17}],"d":[{"a":[{"l":164},173],"d":[{"i":[{"k":274}]},24],"e":[{"b":162,"g":162,"l":162}],"g":166,"i":[{".":1,"s":5}],"o":[{"v":[{"e":[{"r":578}]}]},173],"r":[{"e":4},54],"s":[{"t":24},166],"u":168,"ø":162,"å":[{"r":15}]}],"e":[{"g":162,"i":162,"k":173,"r":579}],"f":[{"f":153,"t":38},173],"g":[{"a":[{"t":[{"i":166}]}],"l":[{"a":12,"e":[{"s":[{"p":22}]}]}],"r":[{"u":168},32]},173],"h":168,"i":[{"d":[{"a":[{"n":32}]},88],"g":38,"n":[{"i":90},259],"r":166,"s":[{"k":334}]},173],"j":173,"k":[{"a":[{".":1}],"l":580,"n":12,"r":[{"i":[{"n":22}]},28],"s":[{"e":[{"r":152}]}],"t":22},173],"l":[{"a":162,"d":[{"e":24}],"e":[{"d":162,"g":[{"g":[{"j":191},168]}],"i":[{"e":[{"r":14}]},162],"m":181}],"ê":168,"i":[{"d":162,"g":[{"a":162}],"s":162,"t":162,"v":162}],"l":[{"o":[{"v":23}]}],"s":61,"u":189,"y":162,"æ":173,"ø":[{"p":[{"a":46}]},173],"å":[{"s":162}]}],"m":[{"a":173,"b":181,"e":[{"l":162,"r":162,"s":168}],"i":[{"e":91},173],"j":168,"k":31,"n":[{"e":[{".":22,"l":61}]},166],"o":173,"u":173,"y":173,"ø":173,"å":173}],"n":[{"a":[{"t":[{".":22}]},162],"d":[{"e":[{"n":313}],"r":168}],"e":[{"d":162,"m":162,"s":[{"l":162},12],"t":[{"a":22},162],"v":162},5],"g":[{"a":[{".":23}]}],"h":[{"e":[{"t":168},181]}],"i":162,"s":[{"e":22}],"t":[{"e":[{"i":17}],"r":581}],"u":162,"y":162,"æ":162},164],"o":[{".":166,"r":9,"s":191},173],"p":[{"e":15},173],"r":[{".":178,"a":[{"d":162,"p":168}],"b":164,"e":[{"a":162,"d":[{"e":[{".":36}]},162],"f":162,"g":162,"k":162,"n":[{"t":162}],"p":162,"s":[{"s":162,"u":162},15],"t":162,"v":162}],"f":[{"a":[{"r":162}]}],"g":[{"a":24,"e":24},582],"i":[{"b":265,"k":162,"t":162,"v":583}],"l":[{"a":[{"g":[{"a":91}]}]},166],"o":[{"b":90,"c":168,"f":2,"k":15,"m":162,"t":15,"v":182}],"s":[{".":11,"e":61,"i":42,"p":5,"t":[{"e":[{"n":46}]}]}],"u":[{"l":265,"n":22}],"y":[{"r":164},173],"ø":[{"r":162}],"å":173}],"s":[{"a":[{".":1,"r":166},173],"c":162,"e":[{"k":168,"r":31,"t":[{"s":166}],"v":[{"a":22}]},162],"i":[{"n":[{"d":22}],"t":162},12],"j":286,"k":[{"a":[{"m":15,"r":236}],"e":5,"i":[{"n":[{"s":166}]},162],"j":162,"o":236,"r":162,"u":168}],"l":[{"i":12,"ø":2},173],"m":[{"i":31}],"n":[{"ø":2},168],"o":[{"t":164},173],"p":173,"s":[{"a":[{"m":31}],"t":[{"u":23}]}],"t":[{".":166,"a":[{"s":162}],"e":[{".":39}],"o":[{"r":22},162],"r":265,"u":162,"ø":162}],"u":173,"v":[{"a":32},189],"y":168,"æ":162,"ø":[{"y":166}],"å":[{"r":[{"e":17}]},236]}],"t":[{".":164,"a":[{"k":[{"s":162}],"s":350,"l":[{"e":[{".":36}]}]},173],"e":[{".":166},12],"i":[{"d":168},265],"j":173,"o":[{"m":168},286],"r":307,"s":[{"p":42},164],"t":[{"a":124,"e":[{"l":31}]}],"u":173,"v":1,"y":162,"å":[{"k":[{"e":[{"r":17}]}]},162]}],"u":[{"r":54,"s":15},173],"v":[{"a":[{".":4}],"e":[{".":1,"n":[{"t":584}]}],"i":[{"k":166,"s":[{"a":46}]}],"n":164,"r":54}],"y":[{"t":26}],"ø":173,"å":162},172],"é":[{"b":162,"d":162,"f":173,"h":168,"l":173,"m":162,"o":168,"p":173,"r":166,"v":162,"å":162},172],"f":[{"a":[{"l":[{"l":[{"s":139},103]}],"n":[{"t":17}]}],"o":[{"a":11,"b":0,"l":[{"e":0}],"m":0,"r":[{"a":0,"e":[{"n":[{".":49}]}]}],"s":5}],"ø":[{"d":[{"e":[{"s":22}]}],"y":[{"e":[{"d":46}]}]}]},187],"g":[{"a":[{"d":471,"f":0,"g":11,"k":69,"n":[{"d":[{".":15,"a":585}],"k":12}],"r":[{"m":169,"t":[{".":15,"a":38},0],"u":17}],"t":[{"o":15},88],"v":[{"e":[{".":23}],"i":2}]}],"d":[{"e":[{"d":1,"l":1,"p":1}],"r":12},23],"e":[{"d":[{"a":0}],"l":[{"a":0}],"n":[{"a":0,"e":152,"g":193,"o":11,"u":0},90],"r":[{"e":[{"t":0}],"u":[{"n":22}]},90],"s":[{"l":24},88],"t":[{"a":0}],"v":586}],"f":[{"ø":5}],"g":122,"i":[{"d":15}],"j":[{"e":[{"n":[{"g":14}]}]}],"l":[{"e":[{"m":38}],"u":1},69],"n":2,"o":[{"d":[{"d":15},23],"e":152,"k":89,"m":[{"e":35},587],"n":[{"d":15}],"p":[{"e":40}],"r":[{"d":15,"k":12},88],"s":[{"p":36}],"t":88}],"r":[{"a":[{".":12,"d":[{".":38}],"n":[{"d":15}]}],"e":[{"a":2,"g":12,"n":[{"d":0},12],"r":0,"s":[{"t":15}],"t":12,"v":12}],"i":[{"d":12,"n":12}],"o":[{".":2,"a":35,"e":2,"s":588}],"å":[{"d":12}]}],"s":[{"a":[{".":6}],"e":[{"l":[{"v":22}],"m":1,"s":1}],"j":7,"k":[{"j":4},7],"l":[{"e":[{"g":61}],"ø":[{"y":15}]}],"m":[{"å":[{"l":[{"a":[{".":120}]}]}]}],"n":[{"e":24}],"t":[{"e":[{"p":61}],"r":[{"i":[{"d":17}]}],"y":[{"r":[{"k":[{"e":[{".":242}]}]}]}],"ø":[{"r":39}]}]}],"u":[{"n":[{"d":12}],"r":[{"u":[{".":22}]}]}],"v":[{"i":[{"s":5}]}],"y":[{"e":15}],"ø":[{"y":259},153],"å":[{"v":[{"a":32,"e":[{".":32}]}]}]},167],"h":[{"a":[{"t":17}],"e":[{"t":[{"s":5}]}]},571],"i":[{"a":[{"k":69,"n":[{"d":[{"e":[{"p":17}]}]},8]}],"b":[{"l":7,"y":162,"å":162}],"c":[{"r":162}],"d":[{"a":93,"e":[{"l":[{"e":2},1]}],"é":38,"o":4,"r":61,"s":[{"t":22},5]}],"e":[{"g":162,"l":69,"n":589,"r":[{".":12,"i":22,"s":2,"t":15}]}],"f":[{"r":563}],"g":[{"l":[{"a":15,"o":35}]}],"h":173,"j":167,"k":[{"e":12,"j":173,"o":236,"r":173,"v":162}],"l":[{"i":9,"u":166}],"m":[{"a":[{"r":162,"s":162}],"o":162,"p":173}],"n":[{"a":[{"l":21}],"d":188,"f":162,"g":[{"o":18,"r":22,"s":[{"e":190,"t":[{"e":14}]},116]}],"j":188,"n":[{"b":162,"h":162,"s":162,"t":162},153],"s":188,"t":188,"v":173}],"o":[{".":166,"n":[{"s":203},183],"p":162,"s":191,"v":236}],"p":[{"e":[{"t":[{".":35,"s":35},1]}],"l":[{"i":24},7],"s":[{"i":22}]}],"r":[{"k":[{"e":[{"l":61}]}]},162],"s":[{"e":[{"m":162,"t":15}],"i":[{"m":22}],"k":[{"j":265,"o":41}],"o":[{"l":35,"n":[{"e":17}]}],"s":5,"t":[{"a":[{"s":162,"t":168}],"i":[{"k":22,"l":162}],"r":12,"y":162,"ø":162}],"u":168,"y":168}],"t":[{"e":[{"d":12}],"j":168,"o":[{"g":1,"s":1}],"t":[{"r":5,"s":[{"k":36},43]}],"u":162,"y":12,"z":22,"æ":[{"r":[{"e":120}]}]},0],"u":[{"b":173,"m":[{"f":1}],"t":173}],"v":[{"a":162,"e":[{"g":109,"i":590},173],"o":248,"s":82}],"å":168},172],"j":[{"a":[{"h":11,"v":49}],"e":[{"d":[{"e":[{".":38}]},88],"e":0,"i":11,"s":[{".":90},458],"t":[{".":90,"r":36,"t":38},88]}]},187],"k":[{"a":[{"k":[{"s":12},88],"l":[{"l":17}],"u":88},153],"e":[{"d":[{"o":0}],"e":[{"r":0}],"h":0,"i":[{"e":15}],"l":[{"s":17,"t":203}],"n":[{"h":169,"o":93}],"r":[{"f":[{"a":169}],"s":[{"t":5}]}],"s":591,"t":[{"ø":11}]}],"i":[{"d":0,"e":[{"r":12},0],"n":[{"d":15,"f":2,"n":12,"t":2}]},153],"j":38,"k":182,"l":[{"a":[{"n":[{"g":149}]},153],"i":[{"s":393}],"o":[{"k":12}],"u":153,"y":12,"æ":90,"å":69}],"n":[{"u":153,"y":153}],"o":[{"f":[{"i":91},0],"k":[{"s":15}],"l":[{"e":22,"l":[{"a":5}]}],"t":11,"v":11},90],"r":[{"a":[{"v":90}],"y":350,"e":[{"a":350}]},153],"s":8,"t":[{"a":[{"k":1,"l":4}],"i":[{"n":1}],"s":[{"k":24}]}],"u":[{"l":[{"e":[{".":23}]}],"r":[{"i":[{"e":242},33]}],"t":[{"e":35},592]},153],"v":[{"e":12,"i":[{"t":152}],"o":11},153],"y":155,"ø":153,"å":[{"p":[{"a":31}]},153]},173],"l":[{"a":[{"n":[{"d":[{"a":33,"s":[{"e":120}]}]}]}],"e":[{"i":[{"e":[{"r":[{".":16}]}]}],"m":[{"a":[{".":32}]}]},38],"i":[{"e":[{"n":[{".":23}]}]}],"j":90,"u":[{"e":23}],"y":[{"d":[{"e":[{".":31}],"i":31}],"s":[{"e":[{".":23}]}]}],"ø":[{"p":[{"a":[{".":31}]}]}],"å":152},187],"m":[{"a":[{"l":[{"e":[{".":23}]}]}],"i":[{"k":18,"l":32,"n":[{"i":120}]}],"o":[{"s":[{"e":[{".":31}]}]}],"u":[{"s":[{"i":[{"k":[{"k":170}]}]}]}],"å":[{"l":[{"a":[{".":31}]}]}]},181],"o":[{"a":[{"g":23,"k":69,"n":[{"e":166}],"r":[{".":2}]}],"b":[{"e":[{"l":5}],"l":[{"e":22},1],"r":34},173],"c":[{"o":15}],"d":[{"i":[{"e":[{"n":271}]}]}],"e":[{"f":162,"i":162,"k":162,"n":[{"t":162}]},164],"f":[{"f":153,"t":218},173],"g":[{"r":[{"a":11}]}],"i":[{"d":15,"n":12}],"k":[{"i":69,"r":32,"s":[{"e":[{".":31}],"i":90}]},173],"l":[{"e":35,"j":173}],"m":[{"i":[{"d":4,"k":4,"l":1}],"j":162,"m":39,"s":452,"y":166}],"n":[{"s":177,"t":22}],"o":173,"p":[{"p":[{"s":66},153]},173],"r":[{"a":[{"n":15,"r":15,"s":15},182],"d":[{"a":23,"e":[{"n":[{"d":47}]}],"n":162,"r":53,"s":124,"ø":23}],"e":[{"e":35,"k":12,"n":12,"t":2}],"g":[{"e":[{"s":139},164]},22],"i":[{"e":89,"t":191}],"k":[{"l":[{"a":31,"e":31}]},162],"m":[{"l":[{"ø":[{"s":[{"e":170}]}]}]},0],"s":[{"k":[{"a":[{".":36}]}]},28],"æ":12}],"s":[{"e":[{"l":1,"s":1,"t":[{"e":[{".":46}]}]}],"p":162,"t":[{"j":12,"r":[{"a":190}]}],"y":173}],"t":[{"a":[{".":1}],"e":[{".":1,"i":17,"k":166,"l":1,"s":1}],"s":24,"y":162}],"u":162,"v":[{"e":12,"i":236,"n":248},69]},172],"ó":191,"p":[{"e":38,"o":[{"t":[{"a":32}]}],"å":[{"k":0}]},594],"q":90,"r":[{"a":[{"n":[{"a":32}],"s":[{"a":32}]},155],"e":[{"b":0,"i":[{"e":16}],"n":[{"e":[{"m":11}]}],"o":11},90],"i":[{".":11}],"o":[{"d":[{"e":[{".":31}]}],"t":31}],"y":31,"å":[{"d":[{"a":32}]}]},174],"s":[{"a":[{".":153,"d":182,"g":38,"k":[{"k":38,"r":171,"s":[{"e":[{".":36}]},12],"v":15}],"l":[{"a":90,"d":12,"p":97}],"n":[{"e":38,"f":0,"n":149,"s":[{"e":38,"i":15}],"t":15}],"r":[{"e":[{"n":[{".":38}]}],"m":4,"t":11}],"t":[{"i":0}]}],"c":[{"h":153,"o":90}],"e":[{"a":[{"l":143}],"d":[{"d":15,"e":6},88],"e":[{"i":22,"r":31},88],"f":11,"g":[{"e":15},88],"i":[{"d":36,"e":[{".":15}],"g":35}],"k":[{"s":0}],"l":[{"v":193}],"m":88,"n":[{".":38,"e":[{".":38,"r":0,"s":155,"t":0}],"i":0,"s":152}],"r":[{".":90,"a":0,"i":[{"e":50}]}],"s":[{"a":0,"i":0,"k":196,"l":24,"p":595,"t":0,"u":11,"v":596}],"t":[{"e":0,"s":155}],"u":88}],"f":[{"r":15}],"h":[{"a":12,"e":2,"i":15},88],"i":[{"d":[{"e":[{".":22}]}],"e":[{"n":[{"t":23}],"r":[{".":31}]}],"n":[{"d":17,"g":89,"n":12,"t":[{"e":0}]}],"r":[{"a":32}],"s":[{"k":16}]}],"j":[{"a":[{"k":12,"v":0}],"e":[{"f":38}],"o":[{"r":[{"d":97}]}]}],"k":[{"a":[{"n":0,"u":[{"k":97}]}],"e":[{"l":[{"e":2}],"t":[{"e":1}]}],"i":[{"m":155,"r":15,"s":38}],"j":[{"a":11,"e":[{"l":[{"e":11}],"n":15}],"æ":90}],"å":[{"p":206}],"o":[{"g":[{"s":120}],"l":[{"l":[{"i":1}]}],"r":15}],"r":[{"o":12}],"u":[{"e":[{"t":49}],"g":0,"l":[{"i":15}],"m":38}],"v":69,"y":[{".":149,"e":229,"s":[{"s":38}]}]}],"l":[{"a":[{"n":[{"g":38}],"r":[{"a":[{"r":152}]}],"s":15}],"e":[{"g":[{"e":[{".":36}]}],"k":[{"t":89}],"r":[{"i":4}]}],"i":[{"d":15}],"y":[{"n":38}],"å":153}],"m":[{"i":12,"a":[{"l":0}],"o":169,"u":[{"r":0,"s":0}],"å":[{"l":[{"a":[{".":36}]}]}]}],"n":[{"a":[{"r":229}],"e":[{"s":15}]}],"o":[{"d":23,"f":69,"k":151,"l":153,"n":[{"d":[{"e":[{".":36}]},0]}],"r":[{"i":[{"s":22}]}],"v":[{"n":90},69]}],"p":[{"a":[{"r":[{"a":49}]}],"e":[{"l":[{"s":15}],"t":38}],"r":[{"o":[{"s":11}]},69],"u":[{"r":152}]}],"s":[{"e":[{"e":5}],"å":17},40],"t":[{"a":[{".":1,"k":[{"e":15},0],"g":0,"m":90,"n":[{"k":0}],"r":[{"t":[{"a":[{".":91}]},22]}],"u":1}],"e":[{"d":92,"i":89,"l":1,"m":[{"a":[{".":36}]}],"n":[{"k":15}],"p":11}],"i":[{"k":229,"l":[{"d":15,"f":2,"s":169}],"n":1,"s":423}],"j":69,"o":[{".":38}],"r":[{"u":90,"ø":[{"y":2}]}],"u":[{"e":90,"k":11,"r":15,"t":24}]}],"u":[{"k":69,"n":[{"g":0}],"p":38},153],"v":[{"a":[{"n":[{"g":15}],"r":[{"a":49}]}],"e":[{"g":35,"r":[{"d":15,"n":15}]},375],"i":[{"l":[{"l":229}],"n":[{"d":1}],"s":35},69],"u":0,"æ":89}],"y":[{"d":23,"t":69}],"ø":[{"n":38,"v":277,"y":[{"a":15}]}],"å":[{"p":[{"e":[{"n":61},38]}],"s":[{".":2}]}]},168],"t":[{"a":[{"b":38,"g":[{"r":0}],"l":[{"a":[{"n":23}],"l":103}],"n":[{"a":[{".":22}],"d":169,"l":12,"v":1}],"p":[{"p":12}],"r":[{"t":152,"v":[{"i":97}]}],"s":[{"i":[{"a":22}]},4],"t":1,"v":[{"i":12,"r":15,"s":2}]}],"e":[{"a":[{"t":38},88],"e":88,"f":0,"g":[{"e":0,"i":0,"n":152}],"i":[{"n":[{"i":15,"s":22}],"s":38},88],"k":[{"a":0,"n":152,"s":[{"e":0}]}],"l":[{"e":[{"g":155}],"i":[{"g":38}],"l":38,"s":0,"t":155}],"m":[{"a":[{".":23}],"b":12,"i":[{"s":23}]}],"n":[{".":38,"a":435,"e":[{".":38}],"h":193,"s":38}],"o":[{"r":[{"i":38}]},88],"p":[{"p":38}],"r":[{".":38,"e":[{"k":152,"s":[{"t":11}]}],"i":[{"s":[{"k":31}],"ø":[{"r":[{"a":[{".":170}]}]}]}],"s":38},1],"s":[{".":152,"e":[{"l":0}]}],"t":[{"a":0,"e":0}],"u":85,"v":[{"a":9}]}],"g":35,"i":[{"a":[{"t":0},54],"d":0,"e":[{"m":38}],"g":0,"k":[{"a":[{"p":0}],"i":38,"l":[{"i":22},0]}],"l":[{"e":38,"o":24}],"m":[{"e":[{".":155,"s":152}]}],"n":[{"d":193,"e":[{"t":31}],"i":11}],"o":88,"p":88,"s":[{"a":0,"t":[{"i":195}]}]}],"l":15,"n":15,"o":[{"a":24,"b":88,"m":[{"f":15,"n":15,"s":12}],"p":259,"r":[{".":38,"e":597,"g":11}],"u":88,"v":69}],"r":[{"a":[{"n":4}],"e":[{"p":0,"r":38,"s":[{"i":15,"k":[{"j":[{"a":[{"r":[{"e":33}]}]}]}]}]}],"i":[{"n":193}],"o":[{"l":[{"l":[{"i":120}]}],"m":11}],"u":[{"l":11}],"ø":[{"y":103}]}],"s":[{"k":[{"j":15}],"l":[{"a":20}],"t":28}],"t":34,"u":[{"b":96,"e":39,"l":23,"n":217,"r":[{"o":169}],"t":259}],"v":[{"a":[{"l":[{"a":46}]}]}],"y":[{"e":31,"r":[{"s":18}]}],"å":[{"r":[{".":2}]}]},200],"u":[{".":162,"a":[{"n":12,"v":1}],"f":[{"t":[{"s":14},5]}],"g":[{"l":[{"a":31}]},173],"h":303,"i":[{"t":[{"e":46}]}],"k":22,"l":[{"t":143,"u":162,"y":168}],"m":[{"e":35}],"n":[{"g":[{"e":[{".":23}]}]},188],"o":28,"p":[{"l":12},168],"r":[{"e":1}],"s":[{"a":[{".":15}],"e":[{"n":15,"r":2}],"k":[{"l":53}],"l":61,"s":5,"t":[{"a":24},4]}],"t":[{"a":2,"e":[{".":12,"r":[{"i":22},36]}],"l":152},173],"u":[{"m":[{"e":4}]}]},172],"v":[{"a":[{"l":[{"a":31}],"n":[{"d":14}]}],"e":[{"r":[{"l":[{"e":186}]}],"s":176}],"i":[{"e":[{"t":23}],"k":[{"a":[{".":23}],"e":22}]},38],"u":90,"æ":[{"r":[{"a":32}]}]},200],"w":90,"y":[{"a":[{"r":[{".":15}],"s":[{"t":35}]}],"d":[{"e":[{".":1}]},173],"e":[{"f":162}],"g":[{"e":15},162],"h":[{"e":334}],"k":[{"e":12,"l":[{"e":34}],"o":162}],"l":[{"o":69}],"n":[{"d":[{"a":[{".":32}],"e":[{".":23}]}]},173],"o":162,"p":[{"a":6},162],"r":[{"a":[{".":4}],"e":[{".":1,"v":2}],"u":1}],"s":[{"e":15,"k":57,"t":[{"u":103},5]},69],"t":[{"e":12,"r":12}],"v":[{"a":[{".":6,"k":15}],"e":[{".":6}]},173],"ø":162},172],"z":153,"æ":[{"r":[{"a":[{".":6,"n":[{"d":39}],"s":[{"t":[{".":6}]}]}]}]},216],"ø":[{"d":[{"a":7,"d":[{"e":14},162],"s":[{"k":24,"t":[{"o":22}]}],"u":[{"n":35}]}],"e":173,"f":[{"l":69,"r":69},162],"g":[{"r":2}],"k":[{"o":162,"s":162}],"l":[{"e":[{".":1}]}],"m":[{"o":35,"u":15}],"p":34,"r":[{"a":2,"e":[{"d":4}],"y":69}],"s":[{"e":12,"k":69,"l":23}],"t":[{"e":2,"r":2,"t":[{"r":36},11]}],"v":[{"d":23,"e":[{"r":12}]}],"y":[{".":188,"a":[{"n":148}],"h":152,"s":[{".":90},162]},54]},172],"å":[{"a":[{"s":4}],"d":[{"e":[{"d":15}]},172],"e":[{"n":6,"t":4}],"j":6,"k":598,"l":[{"a":7,"e":[{"v":15}]},172],"m":[{"a":6}],"n":[{"d":[{"e":[{".":31}]}]}],"p":[{"n":[{"a":32}]},398],"r":154,"s":[{"a":15,"e":5},7]}]}],"o":[{"a":[{"c":15,"f":153,"k":[{"k":[{"a":[{"n":[{"a":31}]}],"u":23}]},1],"l":[{"l":153,"t":90}],"m":150,"n":[{"d":155},92],"p":154,"r":[{"d":[{"e":127,"i":[{"n":53}]}],"e":[{"g":158,"n":[{"h":26}]}],"é":4,"i":26,"m":22}],"t":[{"é":35}],"u":153,"v":398},173],"b":[{"a":[{"k":[{"k":[{"s":91}]}]},361],"b":[{"l":23,"o":1,"r":26,"u":85}],"e":[{"a":0,"r":[{"e":[{"t":17}],"s":[{"t":[{"a":14,"e":14}]},5]}],"s":90},1],"i":[{"e":19},361],"j":216,"l":[{"a":[{".":15}],"e":[{".":12,"n":12}],"i":[{"g":164},230],"o":1},150],"o":[{"a":39},398],"r":[{"a":[{"r":15}],"e":69,"i":69},173],"s":[{"e":[{"r":164}],"t":15}],"u":361,"y":[{"l":17},173],"ø":38,"å":90}],"c":[{"k":[{"e":[{"r":[{"s":22}]}]}],"y":38},162],"d":[{"a":[{"b":11,"f":23,"t":[{"t":2}]}],"d":[{"e":[{"i":22,"l":1,"s":[{"t":1}]}],"o":35}],"e":[{"b":88,"i":97,"k":[{"o":0,"u":38}],"p":88,"r":[{"l":[{"e":170}]}],"s":88,"t":[{".":38,"s":38}]},1],"i":[{"e":[{"n":5}],"g":[{"l":193}]}],"j":0,"k":[{"o":17}],"o":[{"m":[{"l":12}],"v":12}],"r":[{"e":230,"ø":193}],"s":[{"k":[{"a":23},12],"p":[{"o":34}],"t":[{"o":[{"l":9}]},32]}],"u":[{"s":61}],"y":[{".":0,"b":0}],"ø":[{"k":15,"s":38,"y":15}],"å":500},188],"e":[{"f":4,"i":[{"n":0}],"k":[{"s":31}],"l":7,"m":[{"u":1}],"n":[{"a":22,"e":152,"g":[{"d":17,"r":599,"s":18,"u":18}],"s":[{".":152},439],"t":22},7],"r":[{"e":[{"r":11},89],"m":[{"a":32}],"s":[{"k":90}]}],"s":[{"i":[{"p":4,"t":4}],"k":[{"a":32,"e":[{".":32}]}]},88],"t":[{"a":[{"n":0}],"h":28,"i":15}],"v":[{"n":[{"e":[{".":31}]}]}]},200],"f":[{"a":[{".":88,"g":[{"a":36}],"r":[{"a":0}],"s":[{"e":23}],"v":88},173],"e":[{"b":88,"i":0,"r":[{"a":0}],"s":[{"t":196}]}],"é":153,"f":[{"a":[{"n":[{"d":39}]}],"e":[{"k":1,"s":15}],"i":[{"a":4,"d":22}],"r":4,"u":7,"y":4}],"i":[{"p":0},173],"l":[{"e":15},153],"o":173,"r":[{"a":[{".":11,"s":35}],"e":69,"i":274}],"s":[{"a":6,"e":[{".":6}]}],"t":[{"e":[{"l":1}],"s":255},168],"y":173}],"g":[{"a":[{".":88,"n":[{"k":2}],"r":[{"e":0}],"v":374}],"e":[{".":88,"d":0,"i":69,"n":[{"a":[{".":61}]}],"t":90},162],"g":[{"e":[{"r":[{"a":1}]}],"j":26,"s":65,"u":21}],"i":[{"a":65,"e":[{"v":0},183],"f":88,"g":11,"k":[{"o":0}],"l":88,"m":88,"n":[{"g":90},88],"o":458,"s":[{"t":[{"a":11,"r":284}]}],"v":88}],"j":[{"e":[{"r":15}]}],"l":[{"a":2,"y":16}],"n":[{"e":[{"d":1,"l":4}],"i":600,"o":[{"s":149}]}],"o":[{".":88}],"r":[{"a":4,"e":[{".":1,"g":193,"i":193,"r":1,"t":[{"t":2}]}],"i":193,"y":[{"d":12}],"ø":169,"å":15}],"s":[{"a":[{"n":31},23],"e":67,"k":[{"j":23},69],"l":[{"e":23},15],"p":[{"a":22},182],"t":[{"e":15,"i":12,"j":26,"o":23,"r":[{"a":19,"e":15},23]}],"y":[{"v":601},15]},34],"t":[{"r":31}],"å":[{"t":600,"s":2}],"u":[{"n":69}],"ø":15},173],"h":[{"e":[{"t":[{"e":22}]}],"m":[{"a":39}],"o":[{".":0}],"ø":23},566],"i":[{"a":23,"d":[{"i":602,"r":153,"t":22}],"e":[{"n":23,"r":15,"s":4}],"k":15,"l":[{"a":1}],"m":153,"n":[{".":90,"g":153,"o":357,"s":[{"p":0}]}],"r":4,"s":[{".":88,"a":11,"e":88,"i":0},153]}],"j":[{"e":[{".":93}],"o":[{".":0}]},187],"k":[{"a":[{"f":[{"t":2}],"k":69,"n":[{"i":136}],"r":[{"k":15},7],"s":90},153],"e":[{"f":69,"l":[{"s":441,"v":15}],"n":149,"s":[{"k":0}],"v":11}],"j":153,"k":[{"a":[{"n":[{"d":1}]}],"e":[{"r":[{"a":4}],"s":223},162],"j":[{"e":12}],"o":[{".":12,"l":15}],"s":[{"m":64}],"u":[{"n":1}]}],"l":[{"a":[{".":6,"m":17}],"e":[{".":6}],"u":[{"t":2},153],"å":17},162],"n":[{"a":[{"s":[{"a":46}]}]},173],"o":[{".":93,"l":6,"m":[{"s":193,"t":12}],"p":[{"e":22,"p":15}],"r":[{"m":12}],"s":[{"e":39},23],"v":11},90],"r":[{"e":[{"o":15,"t":11}],"u":169},153],"s":[{"a":[{"l":23}],"e":[{"k":[{"r":17},1],"m":1,"n":2,"r":[{"i":[{"n":4}]}],"s":1,"t":[{"e":49}]},23],"i":[{"d":[{"a":16}]},9],"t":[{"i":31,"r":31},183],"v":[{"i":3}]}],"t":[{"a":[{"n":164,"v":603},15],"i":12,"o":[{"r":[{"i":271}]},15],"r":31}],"u":[{"k":9,"l":[{"e":[{".":32}]}],"t":[{"e":2},31]},153],"v":[{"a":[{"k":11},38],"i":90}],"ø":[{"y":15}],"å":90}],"l":[{".":167,"a":[{"d":[{"e":[{"d":31}]}],"g":[{"a":32}],"n":[{"l":15,"t":12}],"r":[{".":155,"b":[{"e":11}]}],"t":22},187],"b":[{"e":[{"r":103}],"o":[{"e":16,"g":[{"e":[{".":16}]}],"l":1}],"u":16}],"d":[{"a":[{"n":2}],"e":[{".":15,"m":1,"s":[{"t":1}],"t":15}],"o":[{"v":[{"e":604}]},12],"r":[{"e":[{"v":15}],"i":12}],"s":[{"k":[{"r":65}]}]},173],"e":[{"a":[{"k":[{"s":38}]}],"b":11,"d":88,"f":88,"i":[{"g":15,"n":22}],"k":[{"i":152},88],"l":[{"e":[{"g":[{"e":[{".":120}]}]}]},88],"m":[{".":38,"s":38},88],"n":[{"e":[{".":152,"s":155,"t":0}],"i":0,"o":0}],"r":[{"e":[{"d":11}],"u":0}],"s":[{"t":[{"a":22,"r":22}]},88],"t":[{".":155}],"v":88},173],"é":153,"f":[{"i":26,"j":1}],"g":[{"e":34,"l":182}],"i":[{"b":[{"a":0}],"e":[{"n":131,"r":[{"t":61}]}],"n":[{"e":22}]},173],"j":249,"k":[{"e":[{"s":[{"e":1,"k":1,"t":1},124]}],"l":107,"o":35,"u":4,"v":15}],"l":[{"a":[{".":15,"k":24,"m":1}],"e":[{".":2,"d":1,"l":1,"n":2,"s":1}],"i":[{"n":[{"j":4}]}],"o":[{"g":1,"m":1,"s":15,"v":[{"e":[{"r":22}]},1]}],"s":[{"t":5,"v":22}],"u":7,"ø":[{"p":1,"s":4,"y":4}],"å":7}],"m":[{"e":[{"s":[{"t":1},17]}],"å":1}],"n":35,"o":[{".":0,"a":[{"n":38}],"e":90,"f":0,"i":24,"k":[{"s":15}],"m":[{"s":12}],"p":12,"s":[{".":96,"e":251,"f":97}],"v":[{"e":22,"n":206}]},188],"p":[{"e":[{"d":1}]}],"s":[{"o":2,"t":32,"v":[{"a":15,"i":[{"k":22}]}]}],"t":[{"e":[{"d":12,"p":15}],"r":[{"a":21,"e":[{".":22,"r":22,"t":22}]},7]}],"u":[{"l":22,"n":[{"g":[{"e":[{".":46}]},193]}],"r":169},153],"v":[{"a":15,"o":69}],"y":[{"d":61},153],"ø":[{"r":15}],"å":153}],"m":[{".":173,"a":[{"l":[{"d":12}],"m":605,"n":[{"g":15,"i":[{"f":23}],"n":103,"t":17}],"r":[{"s":12,"ø":66}],"s":1,"v":69},173],"b":[{"e":[{"t":1}],"i":[{"s":1}],"l":12,"o":[{"d":166}],"u":172},31],"e":[{"k":[{"a":38},259],"n":[{"e":[{"s":152}]}],"r":[{"s":36}],"s":[{"e":11}],"t":[{"a":[{"k":23,"r":61}]},38],"u":69},173],"f":[{"a":[{"n":164}]}],"g":[{"r":[{"e":164}]}],"h":167,"i":[{"a":88,"b":88,"e":[{"k":0},65],"g":88,"k":[{"k":152}],"n":[{"e":152,"n":2,"s":568}],"o":0,"r":88,"s":[{"j":0,"t":0}],"u":88}],"j":69,"m":[{"a":[{"t":4}],"e":[{"d":1,"t":[{"r":1}]}],"ø":164},173],"o":[{"f":[{"o":0}],"p":69,"v":54},173],"p":[{"a":[{"t":18}]},28],"r":[{"e":173,"o":173,"u":173},172],"s":[{".":168,"a":[{"l":24}],"e":[{"k":1,"t":164}],"k":[{"o":[{"d":33}],"u":[{"l":[{"a":33}]}]}],"o":[{"m":1}],"u":[{"n":24}],"ø":23}],"t":[{"a":[{"l":164}],"e":[{"s":1}],"i":12,"v":12},28],"u":[{"s":90},259],"v":[{"æ":[{"r":[{"e":[{".":46}]}]}]}],"y":[{"r":[{"k":[{"e":[{".":46}]}]}]},168],"ø":[{"k":88,"r":23,"y":473}],"å":38}],"n":[{"a":[{"b":[{"o":12}],"c":0,"k":11,"n":[{"g":193}],"p":[{"p":12},0],"r":[{"b":11,"g":193,"v":193}],"s":[{"j":606}],"t":[{"r":17}],"v":593}],"b":15,"d":[{"a":[{"r":1}],"e":[{"r":[{"e":120}]}],"r":[{"e":24,"i":26}],"s":[{"i":5}]}],"e":[{".":0,"i":[{"e":15}],"l":[{"e":0,"l":152}],"m":88,"r":[{"u":0},90],"s":[{"i":120,"k":0,"t":607}],"t":[{"e":0}],"v":88}],"f":2,"g":[{"a":[{".":2}],"d":24,"e":[{".":15,"d":4,"s":103}],"i":15,"o":[{".":15}],"r":[{"o":[{"s":39},6]},28],"s":[{"j":5}],"u":7,"y":1,"ø":26}],"i":[{".":155,"d":407,"e":54,"l":[{"d":15},88],"m":[{"i":31},88],"n":[{"f":12,"n":96}],"o":458,"p":195,"s":[{"o":11}]}],"j":12,"k":[{"a":20,"e":[{"l":164}],"i":20,"l":[{"e":1}],"u":15},69],"l":[{"e":[{"g":36}]}],"n":[{"a":[{"d":15}],"i":12,"y":15}],"o":[{".":0,"r":[{".":38}],"v":[{"e":12},365]}],"s":[{"h":1,"i":[{"s":18,"v":5},54],"k":[{"e":61},177],"l":[{"a":[{"g":[{"a":120}]}]},54],"t":[{"i":[{"t":[{"u":[{"e":[{"r":[{"a":608,"e":608}]}]}]}]}],"r":[{"u":[{"m":17}]}]}],"u":[{"n":[{"d":22}]}],"v":[{"e":1},54],"å":54}],"t":[{"a":31,"e":[{"d":1,"n":15},12],"i":15,"o":[{"k":1,"r":15}],"r":28}],"u":[{"l":239,"r":15,"s":[{"k":23}]}],"ø":[{"y":[{".":4}]},198],"å":40},173],"o":[{"d":[{"s":54}],"f":[{"f":153}],"k":[{"a":10,"e":[{"s":22}]},129],"l":[{"a":61}],"m":[{"i":26,"o":4}],"p":[{"a":[{"n":39},46],"e":[{"n":22,"t":22},1],"i":11},150],"r":[{"d":[{"a":31}]},398],"s":[{"p":4},15],"v":398},173],"p":[{".":173,"a":[{"b":0,"k":88,"n":[{"d":49}],"r":[{"e":[{"n":152},196]}],"s":[{"j":0}],"u":0},173],"e":[{"a":90,"i":54,"l":[{"l":[{"ø":36}]}],"n":[{"a":0,"d":155,"e":[{"t":0}],"t":152},173],"r":[{".":434,"a":[{"r":31},164],"o":152,"t":38},88],"t":[{"a":0},173]}],"h":162,"i":[{"e":[{"k":0}],"n":[{"g":[{"s":33}]}],"r":0},153],"l":[{"a":[{"n":[{"d":169}]},153],"i":12,"u":35},173],"n":[{"a":[{".":1}],"e":1}],"o":361,"p":[{".":173,"a":[{"r":[{"t":26}],"s":1},162],"e":162,"g":172,"i":[{".":1,"a":4,"s":1}],"l":[{"i":24,"y":164}],"o":[{"e":4}],"r":[{"o":[{"p":22}]},4],"u":[{"n":[{"d":22}]}],"å":180}],"r":[{"e":4,"u":2,"å":2},188],"s":[{"a":[{".":4}],"i":471}],"t":[{"r":129}]}],"q":0,"r":[{".":162,"a":[{"d":[{"d":96,"r":12}],"g":88,"k":69,"l":[{"d":15,"g":169,"s":[{"t":5}],"t":[{".":4}]},173],"m":89,"n":[{"a":0,"e":90,"g":0,"s":0}],"p":4,"t":[{"t":12}],"u":[{"k":24},0],"v":182}],"b":[{"i":[{"t":14}],"y":2},162],"c":162,"d":[{"a":[{"t":[{"a":49}]}],"e":[{"a":12,"l":168,"p":[{"l":77}]}],"i":[{"k":2,"s":[{"e":26},5],"t":24}],"n":172,"r":[{"e":[{"g":[{"i":[{".":91}]}]}],"ø":40}],"s":[{"a":[{"m":[{"e":[{".":120}]}]}],"e":36,"t":24}],"y":[{"r":[{"a":49}]}]}],"e":[{"a":[{"r":[{"a":91,"e":91}]}],"b":[{"r":[{"a":38}]}],"d":[{"i":93}],"i":69,"l":[{"a":0,"d":11},69],"n":[{"a":[{".":31}],"e":[{"d":23,"t":23}],"k":12,"s":18}],"o":[{"g":316}],"r":[{"f":11,"o":0}],"s":[{"c":38,"t":[{"e":36}]},180],"t":[{"a":0,"n":609,"v":11}],"v":88},167],"f":[{"a":[{"r":[{"e":[{".":36}]}]}],"i":[{"n":[{"e":16}]}],"ø":[{"r":[{"e":[{".":49}]}]}]},173],"g":[{"a":[{".":162},610],"e":[{"r":15,"s":5},12],"i":[{"e":[{"n":[{"e":116}]}]}],"s":[{"k":23}]}],"h":[{"a":[{"g":49,"l":[{"e":49}]}]}],"i":[{"a":90,"b":42,"e":[{"n":[{"e":53,"t":166}],"t":152}],"g":88,"k":[{"a":61}],"m":11,"n":[{"d":12,"k":12,"n":12,"s":12}],"r":[{"o":91}],"s":[{"a":5},168],"t":[{"i":[{"m":[{"e":[{".":120}]}]},0]},168]},153],"k":[{"a":15,"e":[{"s":164}],"o":[{"s":[{"e":[{".":36}]}]},15],"s":452}],"l":[{"a":[{"t":[{"e":16}]}],"e":15},168],"m":[{"a":[{"l":[{"t":87}],"n":[{"g":22}],"p":4}],"e":[{"l":15}],"u":[{"n":85}],"æ":49}],"n":[{"a":[{"r":1}],"e":[{"d":[{"r":36},14],"t":15}],"o":[{"l":1}],"t":24}],"o":[{"a":90,"e":90,"f":[{"f":12}],"g":38,"i":22,"n":153,"p":69,"r":[{"d":[{"a":49}]},277],"s":[{"a":38}],"t":38,"v":[{"e":12,"n":15}]},162],"p":[{"e":[{"s":36}]}],"r":162,"s":[{"a":[{"l":[{"t":22}]}],"e":[{"n":15,"r":[{"k":1}],"t":[{"a":49,"e":[{".":16}]}]}],"i":12,"k":[{"a":[{"r":22}],"e":[{"i":611}],"l":148,"u":23}],"l":182,"m":[{"å":[{"l":[{"a":91}]}]}],"n":69,"o":[{"n":[{"a":49,"e":49}],"v":49},67],"p":[{"a":23}],"t":[{"e":[{"n":23}]}],"u":69,"v":[{"a":[{"r":[{"e":33}]}]}],"y":12,"ø":35},173],"t":[{"a":[{"k":85,"l":[{"a":[{".":46}]}],"n":[{"d":26}],"p":[{"e":49}],"v":26}],"e":[{"i":[{"g":80}],"k":1,"m":12,"r":[{"f":3,"m":109}]}],"i":[{"i":15,"l":2,"s":15}],"o":[{"d":164,"k":4,"n":[{"e":49}],"r":[{"i":22},5],"u":1}],"r":[{"e":[{"s":22}],"å":[{"d":22}]}],"å":[{"r":85},5]},173],"u":[{"d":[{"e":35},32],"h":23,"m":38,"t":[{"a":103,"f":1},53]},69],"v":[{"a":[{"r":[{"a":49}]}],"e":[{"g":15}],"s":24}],"y":[{"a":152,"n":69},162],"ø":[{"k":[{"t":46},84],"r":15,"v":[{"d":46},34],"y":69},173],"å":[{"s":15}]}],"s":[{"a":[{"b":195,"d":11,"f":88,"k":[{"u":0}],"u":274},153],"b":[{"i":16}],"e":[{"f":[{"i":14}],"g":88,"l":[{"e":[{"i":38}]}],"m":88,"n":[{"a":11},7],"s":[{"l":22,"m":22,"s":[{"k":5,"p":36,"t":5}]}],"u":0}],"f":[{"a":[{"t":[{"a":49}]}]}],"h":[{"i":[{"s":2},7]}],"i":[{"e":[{"n":[{"e":127}],"r":[{"e":22,"t":22}]}],"n":[{"g":259}]}],"k":[{"e":[{"i":[{"e":120},24]}],"i":[{"l":0}],"l":[{"a":[{"r":39}],"e":[{"n":22}]}],"o":[{"p":17},153],"r":[{"i":90}],"v":59}],"l":[{"e":12,"o":[{"d":612},176],"u":15,"ø":15},7],"m":[{"a":35,"e":15,"o":12}],"n":88,"o":[{"v":[{"e":2}]},90],"p":[{"a":[{".":4}],"e":[{".":4}],"i":[{"l":1}],"o":[{"r":1}]}],"s":[{"e":[{"k":1,"m":12,"n":[{"s":15}],"r":[{"i":[{"e":231}]}],"v":17}],"i":[{"s":[{"t":[{"e":14}]}]}],"k":[{"i":4,"j":24,"o":26}],"l":39,"p":[{"a":4}],"t":[{"r":[{"o":61}],"y":2}],"v":6}],"t":[{"a":[{"d":[{"r":22}],"l":[{"e":17},15]}],"e":[{".":93,"g":[{"g":22},1],"k":1,"l":31,"o":15}],"i":[{".":0,"a":93,"e":0,"n":0,"s":15}],"o":[{"n":[{"s":4}]},54],"r":[{"a":[{"d":4,"n":22}],"e":24,"o":90,"u":[{"p":22}],"å":61}],"ø":38}],"v":69,"ø":[{"y":15}],"å":[{"r":2}]},173],"t":[{"a":[{"d":38,"l":[{"a":53,"d":15,"e":[{"v":16}],"o":[{"v":23}]}],"n":[{"e":155}],"r":[{".":155,"g":12,"m":340}],"s":38},153],"e":[{"d":61,"i":[{"n":[{"t":22}]},4],"k":[{"i":17,"l":[{"a":[{"g":[{"a":242}]},127],"e":23}]}],"l":[{"e":[{"m":15,"v":22}],"l":[{"a":[{"n":36}],"e":[{"k":36}],"i":5,"ø":46}]}],"n":[{"a":0,"d":[{"e":[{".":46},169]}],"s":[{"p":271}]}],"o":88,"r":[{"a":[{"m":0}],"e":[{"t":0,"v":11}],"o":0,"s":17,"u":112,"å":0}],"s":[{"t":[{"e":[{"r":36}],"é":22}]}],"t":[{"a":17,"o":17,"s":469}]}],"f":[{"ø":5}],"i":[{"e":[{"r":[{"t":61}]}],"k":[{"a":203,"o":40},28]}],"j":[{"a":11,"e":[{"r":15}]},153],"n":[{"e":[{"r":[{"o":4}]}],"o":[{"t":[{"e":[{".":16}]}]}],"å":4}],"o":[{".":88,"a":[{".":38},196],"b":88,"e":[{"n":[{".":31}]}],"f":[{"f":12},11],"g":[{"a":11,"r":[{"a":[{"m":11}]}]}],"i":0,"l":88,"n":[{"e":22}],"r":[{"a":[{"l":23}],"d":17}],"t":88,"u":88},153],"r":[{"e":[{"d":2,"r":15,"v":15}],"i":96,"o":[{"m":97}],"ø":97},153],"s":[{"e":[{"l":22}],"h":[{"u":[{"s":[{"v":[{"æ":613}]}]}]},4],"k":[{"i":85}],"o":[{"p":[{"p":123},31]}],"p":[{"r":22}],"t":[{"a":[{"b":22}],"e":2}],"å":31}],"t":[{"a":[{"n":[{"k":4}],"s":15}],"e":[{"g":[{"n":15}],"n":[{"k":4}],"s":[{"e":15}]}],"i":[{"n":15}],"o":[{"a":15}],"s":[{"k":41,"p":[{"o":17}],"t":[{"i":5}]}],"u":[{"g":2}],"y":[{"p":1}]}],"u":[{"t":97},153],"y":[{"e":32,"t":69},153],"ø":153,"å":2},173],"u":[{"b":32,"l":[{"l":22}],"n":[{"g":[{"e":[{".":31}]}]}],"r":[{"i":2,"o":15},1],"s":[{"a":35}],"t":[{"a":32}],"v":[{"e":5}]}],"v":[{"a":[{"e":38,"k":153,"n":[{"f":[{"ø":242}],"o":49,"v":12}],"r":[{".":152,"b":11,"e":39,"t":15,"v":2}]}],"e":[{"d":18,"i":153,"l":[{"a":23},153],"n":[{"d":[{"e":38},0],"y":[{"a":31}]},162],"r":[{"a":[{".":61,"s":39},18],"d":[{"r":11}],"e":[{"s":86},120],"f":249,"g":164,"k":[{"s":38}],"r":166,"s":[{"i":[{"k":166}],"p":103}],"v":49},28],"t":153}],"h":168,"i":[{"s":[{"o":203}]},188],"j":173,"n":[{"a":168,"e":[{"s":1}],"i":173}],"o":[{".":38,"m":152,"r":69,"t":38,"v":8},162],"s":[{"a":[{"l":15}],"e":[{"k":1,"n":1}],"k":[{"e":35}],"l":[{"e":1}],"p":54,"t":[{"e":22,"i":1}],"u":[{"n":2}],"y":[{"k":17}]}],"t":[{"a":[{"l":[{"e":[{".":36}]}]}]}],"v":[{"e":[{"g":[{"i":58}]}]}]}],"w":[{"a":[{"s":152,"t":183},32],"h":15},69],"x":12,"y":[{"a":[{"r":35}],"s":[{"l":22}],"t":150}],"z":[{"a":153,"y":90}],"ø":153,"å":153}],"ô":[{"r":[{"a":11,"e":[{"i":15},88],"i":153}],"t":0}],"ó":[{"s":[{"a":155}],"t":152,"v":93}],"ò":[{"r":[{"e":155}]}],"p":[{"a":[{"a":162,"c":[{"e":[{"n":6}]},173],"d":[{".":38,"e":[{"b":12}],"g":0,"s":5}],"j":173,"k":[{".":168,"a":168,"e":162,"k":[{"a":[{"s":23}],"e":[{"s":[{"l":16},103]}]}],"t":[{"i":162}],"v":12}],"l":[{"a":567,"e":[{"o":614},12],"i":[{"m":2,"n":22}],"j":54,"l":[{"ø":22}],"m":166,"ø":162}],"m":[{"e":15},173],"n":[{"a":[{"l":90,"p":1}],"d":[{"e":39}],"e":15,"g":[{"s":80}],"k":[{"a":24}],"n":[{"e":[{".":301}]}],"s":[{"e":22,"l":22}],"t":[{"r":46}],"v":162,"y":1}],"p":[{"a":[{".":6},173],"e":12,"o":162,"p":[{"r":23}],"r":[{"i":24},162]}],"r":[{"a":[{".":1,"d":166}],"b":173,"e":[{"k":162,"n":[{"a":162}],"s":[{"s":22}]}],"g":22,"i":[{".":1,"s":12},173],"k":[{"i":162,"l":127,"v":23}],"m":146,"o":69,"r":[{"a":[{".":32}]},162],"s":615,"t":[{"i":[{"d":31,"g":23,"n":23}]}],"u":22,"v":[{"i":120},61],"ø":168,"å":162}],"s":[{"a":17,"e":[{"r":116},35],"p":162,"s":[{"a":[{"b":22}]},164],"t":[{"a":[{"r":23}],"i":22},85],"v":39},11],"t":[{"e":12,"i":[{"s":[{"t":1}]}],"r":[{"e":4}],"t":[{"a":[{"k":31},93]}],"u":173,"v":451},69],"u":[{"k":61}],"v":[{"e":[{".":1}],"i":567},173]},172],"b":[{"a":[{"n":[{"e":[{".":23}]}]}],"o":[{"d":[{"a":31}]}]},566],"c":[{"e":31}],"d":[{"e":[{"l":[{"e":[{".":23}]}]}],"ø":[{"d":39},28]},272],"e":[{"a":[{"k":18,"r":[{"e":85}]},173],"b":162,"c":24,"d":[{"a":[{"s":166},40],"d":162,"e":12,"f":[{"ø":33}],"i":[{"e":260}],"o":[{"a":4,"n":4}],"r":[{"o":1},162],"u":162,"y":526,"ø":173,"å":2}],"e":[{"r":12},31],"f":[{"t":38},173],"g":[{"g":[{"e":[{".":32}]},38],"o":5},173],"h":173,"i":[{"l":[{"e":[{"g":23}]},1],"n":189,"s":[{"m":4}]}],"j":173,"k":[{"a":[{".":6}],"l":23,"t":[{"r":[{"o":[{"s":16},23]}]}],"u":167},173],"l":[{"a":[{"k":[{"s":9}],"l":166,"r":15},162],"d":39,"e":[{"d":162,"f":1,"i":162,"p":4,"r":162,"v":4}],"i":[{"v":168}],"j":168,"l":[{"o":23}],"o":[{"v":162}],"s":[{"e":19,"i":42,"t":61}],"u":[{"n":15},162],"y":173,"ø":173,"å":168},11],"m":[{"b":153},173],"n":[{"a":[{"n":1,"r":85}],"d":[{"e":[{"n":[{".":274}]},24]}],"e":[{"r":162,"t":12}],"g":[{"e":[{"l":23}],"l":61},616],"i":[{"n":5,"v":162}],"l":[{"y":103}],"s":[{"a":[{"k":58,"l":[{"a":91}]},62],"k":22,"l":53,"m":75,"o":19,"t":[{"a":39,"e":61},5]}],"t":[{"a":[{"g":61}],"r":22}],"y":168,"å":173}],"o":[{"s":40},173],"p":[{"a":[{"r":[{".":22}]}],"p":61},173],"r":[{"a":[{"a":18,"b":303,"d":162,"i":1,"l":1,"p":162,"t":[{"e":162},17]}],"c":334,"e":[{"d":162,"i":162,"k":162,"s":[{"p":162,"t":162,"u":162}],"t":162,"v":1}],"i":[{"e":[{"n":[{"s":91}]}],"k":236,"s":124,"t":162},164],"k":62,"l":[{"e":[{"s":31}]}],"m":[{"u":22}],"n":22,"o":[{"s":[{"e":[{".":36}]},12]},162],"r":[{"e":[{"g":[{"j":31}],"i":31}],"o":166}],"s":[{"m":36}],"t":[{"r":[{"o":23,"å":53}]}],"v":[{"i":[{"k":120}]}],"y":173,"ø":168,"å":268}],"s":[{".":164,"e":[{".":4},12],"i":2,"k":[{"a":[{".":32}],"e":[{".":23},90]}],"l":168,"n":23,"s":166,"t":[{".":164,"e":[{".":166}],"i":[{"l":22}]}]},189],"t":[{"a":[{"b":162,"k":[{"a":36}],"l":162,"s":162,"u":162}],"e":[{".":166,"d":162,"i":168,"k":168,"l":162,"m":162},12],"i":[{"d":162,"l":162,"m":1},12],"j":173,"o":173,"r":[{"u":26},307],"s":617,"t":162,"u":173,"ø":162,"å":162},94],"u":7,"v":[{"a":[{"n":[{"e":[{".":46}]}]}],"i":15,"n":[{"e":[{".":31}]},38]},173],"ø":162,"å":162},172],"é":[{"r":164}],"f":[{"e":[{"n":[{"n":249}]}],"o":90,"r":[{"i":5},38],"ø":[{"r":[{"e":22}]}]},188],"g":[{"j":[{"e":[{"r":103}]}]},174],"h":[{"a":[{"v":[{"a":39,"s":14},183]}],"e":[{"r":178,"t":[{"e":39}],"v":[{"a":61,"e":22}]}],"i":[{"l":[{"i":22}]}]},188],"i":[{"a":[{"n":[{"e":618}],"r":191,"s":[{"e":191},1],"v":162}],"b":162,"c":[{"a":[{".":4}]}],"d":[{"s":82},173],"e":[{"n":[{"d":168},28],"r":[{".":12,"s":35}]}],"f":[{"r":35},173],"g":[{"g":[{"e":22,"u":481}],"j":252}],"h":173,"i":168,"k":[{"e":[{"h":1,"l":4,"r":[{"o":80}]}],"é":1,"k":[{"o":24},167],"l":162,"u":17}],"l":[{"a":[{".":4},15],"e":[{"p":12}],"l":[{"a":[{"g":23}],"b":[{"a":123}],"e":[{"d":31,"g":[{"a":409},23],"r":[{"a":120}],"s":619}]}],"o":69}],"m":173,"n":[{"a":[{".":1}],"e":[{".":1,"d":35,"l":1,"v":5}],"g":[{"o":31,"r":18,"s":[{"k":17}]},164],"n":[{"s":168}],"s":[{"l":23}],"ø":7}],"o":[{"n":[{"a":[{"n":47}],"s":17}]}],"p":[{"i":1,"l":[{"a":39}]},620],"r":[{"a":[{"r":1}],"e":[{"s":1}],"u":[{"t":1}]}],"s":[{"i":[{"e":49}],"k":[{"i":1}],"o":173,"s":[{"l":5,"p":23,"t":23}],"t":[{"r":[{"a":[{".":143}]},53]},54]}],"t":[{"a":[{"l":[{"a":[{".":16}]}]},35],"é":15,"i":173,"j":162,"r":162,"t":22},172],"u":173,"v":286,"ø":162}],"p":[{"i":[{"p":93,"d":69,"l":259,"m":15,"n":[{"f":12,"n":169}],"r":[{"r":[{"e":[{".":46}]}]},2],"s":[{"t":0}]},153],"a":[{"d":88,"k":[{"t":12},88],"l":368,"n":[{"e":155,"g":[{"r":15}],"k":15,"l":193}],"p":88,"r":[{".":155,"r":15}],"s":[{"t":152}],"t":377}],"e":[{"e":0,"i":626,"l":[{"s":80}],"n":[{"a":0,"d":[{"e":[{"r":340}],"r":0}],"e":[{"s":39}],"ø":0}],"p":112,"r":[{"a":22,"e":[{".":152}],"k":[{"l":0}]}],"s":[{"e":[{"n":40}],"n":35,"t":[{"i":46}]}],"t":[{"a":[{"s":9},0],"e":0,"t":15}],"u":88}],"h":32,"j":69,"k":12,"l":[{"a":[{"s":[{"t":15}]}],"e":[{"d":12,"i":15,"v":35}]},69],"n":15,"o":[{"f":69,"l":[{"d":12},399],"m":15,"p":259,"r":[{"k":12}],"v":69}],"p":15,"r":[{"e":[{"i":15}],"i":[{"n":15,"s":[{"s":2},1],"v":35}],"o":[{".":35,"p":[{"r":[{"i":409}]}],"t":2}]},69],"s":[{"e":[{"t":[{"e":[{".":36}]}]}],"k":[{"a":[{"k":33},12]}],"p":[{"e":35,"l":12},28],"t":[{"o":2},28]},69],"t":530,"u":[{"k":69,"t":15},88],"ø":[{"s":46},34],"å":11},173],"k":[{"a":[{"v":[{"a":32},22]}]},440],"l":[{".":167,"a":[{"d":[{"e":[{".":32}]},173],"k":0,"n":[{".":0,"d":[{"e":16}],"e":[{".":162}],"g":621,"s":17}],"p":18,"r":187,"s":[{"t":23},88],"t":[{"i":[{"n":[{"a":373}]}]},88]}],"e":[{".":173,"d":173,"g":[{"i":93}],"i":[{"s":162}],"k":88,"n":[{"u":622,"a":42}],"r":[{"u":47}],"s":[{"e":[{".":32}]}],"v":162}],"i":[{"t":162,"v":[{"a":61},90]},88],"o":[{"g":[{"j":23}],"i":453,"k":153,"v":248}],"u":[{"e":23,"k":0,"n":[{"d":[{"r":[{"i":202}]}]},18]}],"y":[{"d":112},153],"æ":[{"r":[{"e":22}]}],"ø":[{"p":[{"a":31}]}],"å":153},4],"m":361,"n":[{"e":[{"r":152,"s":[{"e":[{".":31}]}]}]},272],"o":[{"a":35,"d":[{"a":[{".":4}],"e":[{".":1}]},32],"e":[{"m":4}],"f":[{"r":21},173],"g":31,"h":162,"i":[{"d":15}],"k":[{"e":173}],"l":[{"a":[{"n":4}],"e":[{"k":1},12],"j":168,"l":[{"i":22}],"o":[{"m":4}],"s":[{"k":[{"a":623}]}],"u":7}],"m":[{"p":[{"u":481}],"s":22},173],"n":[{".":162,"d":22,"g":[{"r":23,"s":120}],"s":[{"a":22,"v":23},624]}],"p":[{"a":129,"e":[{".":4}],"n":38,"s":54}],"r":[{".":173,"a":69,"d":267,"e":[{"f":1,"g":4},182],"é":6,"g":188,"i":173,"k":173,"s":[{"v":127}],"t":[{"o":[{"r":23}],"r":[{"o":53,"å":23}]}],"v":173,"æ":69,"ø":69}],"s":[{"e":[{".":1,"s":1}],"j":162,"t":[{"a":[{"s":22,"t":15},1],"e":24},7],"v":280}],"t":[{".":166,"a":[{"k":33},191],"e":[{".":1,"k":[{"l":14}]},12],"h":[{"a":20}],"i":164,"r":162}],"u":162,"v":[{"e":[{"r":[{"n":120}]},36]},625],"w":23},172],"r":[{".":162,"a":[{"d":162,"k":[{"s":164}],"l":[{"i":61}],"n":[{"s":18},173],"t":[{".":166,"e":[{".":22},166]}],"y":162}],"e":[{"f":166,"i":[{"e":[{"r":[{".":16}]}],"i":162}],"l":[{"e":[{"m":15}]}],"m":172,"n":[{"s":5}],"s":[{".":168,"s":[{"a":[{"k":36}]}],"t":[{"a":[{"s":11}]}]},172],"t":[{"e":[{"n":627}],"t":162}]}],"i":[{"f":90,"k":[{"e":22}],"l":[{"e":41}],"n":[{"g":162,"o":166,"s":[{"e":629,"i":629},628]}],"s":[{"k":47,"t":18},172],"t":173,"v":[{"e":39}]}],"o":[{".":167,"c":306,"f":164,"g":[{".":162,"e":162,"l":162}],"i":181,"p":[{".":38}],"s":[{"e":191},164]},184],"u":[{"n":[{"g":[{"e":16}]}],"t":[{"a":22,"e":22}]},168],"ø":[{"r":[{"s":[{"t":14}]},168],"s":42,"v":[{"e":[{"l":[{"s":22}]}]},166],"y":173}],"å":[{"d":[{"a":32}],"k":[{"i":18,"o":23,"k":80}]},162]},4],"s":[{"a":[{".":153,"n":20}],"c":153,"e":[{".":90,"i":[{"g":[{"e":46}]}],"k":88,"l":[{"y":9},259],"n":[{".":90,"s":38}],"r":[{".":152}],"t":[{"e":38,"s":38}]}],"h":88,"i":[{"b":11,"n":[{"s":15}],"s":152}],"j":[{"o":89}],"k":[{"i":[{"l":193}],"j":[{"e":[{"n":2}]}],"o":[{".":252,"d":90,"e":229},259]}],"l":[{"e":88,"o":[{".":192}],"ø":[{"v":[{"a":46,"e":[{".":36}]}]}],"å":89}],"m":[{"å":[{"l":[{"a":[{".":46}]}]}]},88],"n":[{"o":1},88],"o":[{"d":90},69],"p":[{"i":[{"l":[{"a":49}]}],"l":[{"e":15}],"r":[{"e":89,"o":169}],"u":15}],"s":67,"t":[{"a":[{"l":2}],"e":[{"m":169}],"v":12,"å":149},28],"u":[{"r":23,"s":89}],"v":[{"a":88,"e":88,"i":[{"n":[{"g":1}]}],"æ":0},69],"w":15,"y":[{"k":[{"e":24,"o":164}],"s":162}],"ø":[{"k":[{"e":[{".":23}]},151],"y":[{"e":[{"n":[{"e":49}]}]},46]},259],"å":69},173],"t":[{"a":[{"l":[{"a":[{".":32}],"e":[{".":23}]}],"r":[{"k":2}]}],"e":[{"k":31,"m":[{"a":[{".":23}]}],"r":[{"e":61}]},90],"i":38,"o":[{"g":61,"u":0}],"u":[{"s":[{"t":17}],"t":0}]},188],"u":[{"b":[{"r":1}],"c":166,"d":[{"y":356}],"g":[{"l":38}],"k":7,"l":[{"a":2,"e":[{".":6}],"l":36}],"m":[{"a":[{".":1}]},166],"n":[{"k":[{"t":[{"e":80},271]}],"n":173}],"r":[{"e":[{".":1,"a":6}],"i":164,"k":164,"u":22,"v":24},173],"s":[{"a":2,"h":23,"l":[{"u":16}]}],"t":[{"a":[{".":1,"s":15},69],"e":[{"r":15,"v":15}],"g":162,"s":173,"t":[{"r":31,"u":23}],"v":173,"ø":168}]},172],"v":[{"e":[{"r":16}],"i":[{"s":[{"e":[{".":23}]}]}]},188],"y":[{"d":[{"r":1}],"o":6,"r":[{"a":164,"e":69,"o":69}],"s":[{"a":[{".":4}],"e":[{".":1}],"t":31},168]}],"z":248,"æ":[{"r":[{"e":[{".":1}]}]},172],"ø":[{"k":[{"j":69}],"r":[{"r":[{"e":[{"t":23}]}]}],"s":[{"a":[{".":6}]}],"t":[{"a":35,"e":35}],"v":630}],"å":[{"b":[{"y":[{".":1}]},166],"k":8,"l":[{"a":[{".":1}],"e":[{".":1}]},172],"n":38,"p":[{"e":12,"l":69,"n":153}],"r":69,"s":[{"k":[{"o":2}],"m":15},172],"t":[{"å":631},67],"v":172}]}],"q":[{"a":15,"u":[{"a":[{"r":[{".":35}]}],"e":[{"r":61},172]},7]}],"r":[{"a":[{"a":[{"m":162,"r":162}],"b":[{"i":[{"s":162}],"o":71,"r":162,"y":173}],"c":[{"e":[{"t":12}],"h":12,"i":166}],"d":[{"a":67,"f":162,"i":[{"o":632,"r":162}],"j":162,"m":173,"r":[{"e":90},189],"s":255,"v":[{"i":103}]}],"e":[{"d":[{"e":15}],"l":5,"r":[{"k":162}]}],"f":[{"f":[{"e":[{"r":23}]}],"i":[{"u":1}],"j":7,"o":[{".":15,"s":1},173],"r":[{"e":15},173],"t":168,"u":1,"y":4}],"g":[{"e":[{"a":2,"e":15}],"l":173}],"h":406,"i":[{"d":191,"n":[{"t":15}],"s":[{"k":12}]}],"k":[{"a":[{"d":274,"r":35}],"e":[{"l":2}],"h":[{"a":20}],"k":[{"e":[{"l":23}]},88],"r":[{"o":15},11],"s":[{"a":31,"e":[{".":31},65],"t":120},173],"t":[{"i":162,"r":18}],"u":169,"v":162}],"l":[{"a":[{"n":[{"s":22}]}],"b":[{"u":[{"m":168}]}],"d":[{"s":166}],"e":[{"d":162,"o":15}],"g":[{"e":248,"o":248},24],"i":[{"e":[{"n":80}],"n":1}],"j":54,"l":[{"e":22}],"m":61,"o":[{"i":36,"p":24}],"y":15,"ø":162,"å":633}],"m":[{"a":[{"g":1,"s":1}],"b":[{"i":634,"u":[{"e":[{"n":[{"s":33}]}]}]},24],"e":[{"d":168,"r":303,"t":[{".":32}]}],"i":[{"l":162}],"o":54,"p":[{"e":[{"r":[{"i":159}]}],"u":144}],"s":[{"e":[{"t":[{"e":[{".":91}]}]}]}],"t":[{"a":[{"l":[{"a":[{".":91}],"e":[{".":120}]}]}]}],"u":162,"y":168}],"n":[{".":0,"a":[{"a":1,"l":434,"r":15}],"c":[{"s":39}],"d":[{"e":[{".":635,"l":38}],"r":18,"s":[{"a":80}]}],"e":0,"f":[{"a":162}],"g":[{"e":22,"i":168,"s":[{"t":17}]}],"i":[{"a":91,"n":4}],"k":[{"v":24}],"l":[{"i":11},267],"m":188,"n":[{"e":[{"t":[{"t":47}]}],"i":[{"n":53}],"s":124},0],"s":[{"k":[{"a":[{"r":16}]}],"v":162}],"t":[{"i":[{"k":23}]}],"u":[{"t":31},15],"ø":162}],"o":173,"p":[{"a":162,"e":[{"l":1}],"i":[{"n":162,"r":1,"s":1,"t":4}],"l":69,"o":[{"s":1},162],"p":[{"a":162,"l":248,"o":164}],"r":189,"s":162,"u":162}],"r":[{".":253,"b":[{"e":[{"h":191}]},173],"e":[{"a":162,"g":162,"l":19,"p":265,"t":[{"a":61}]}],"g":[{"u":168},153],"i":[{"n":[{"n":[{"a":167,"e":168}]}]}],"k":[{"a":[{".":32}]}],"m":[{"a":[{".":32}]},187],"n":168,"r":[{"e":24},162],"s":22,"t":[{"a":[{".":31}]},636],"ø":12}],"s":[{"a":162,"c":173,"e":[{"a":12,"l":162}],"h":24,"k":[{"a":[{"r":[{"a":91}]}],"e":24,"i":1,"o":40}],"l":4,"s":[{"l":5,"t":61}],"t":[{"i":[{"l":9},162],"j":162,"r":[{"e":17}],"y":168}],"v":61}],"t":[{"a":[{"k":33},69],"e":[{".":1,"g":269,"l":[{"i":637}]},11],"f":[{"e":162}],"o":69,"r":[{"o":26,"ø":[{"y":20},1]},182],"t":[{"e":[{"l":22,"s":103}]}],"u":[{"b":162,"t":22}],"y":168}],"u":[{"d":[{"s":18},191],"g":[{"a":31,"e":[{".":31}]},168],"k":280,"s":[{"s":36}]}],"v":[{"d":168,"e":[{"s":78}],"g":162,"i":[{"s":89},69],"l":[{"u":[{"t":148}],"ø":[{"p":[{"a":91}],"s":91}]},162],"r":31,"t":162,"y":15,"ø":[{"r":12}]},173],"w":162,"z":[{"z":19}],"ø":[{"y":5},173]}],"b":[{"a":[{"d":24}],"e":[{"d":[{"e":[{"n":17,"t":17},103],"r":[{"a":49}]},28]}],"i":[{"e":[{"r":39},46],"g":88,"k":88,"s":[{"t":[{"r":17},120]}]}],"o":[{"d":[{"i":[{".":32}]}],"n":[{"i":23,"s":16}],"r":[{"e":22}]}],"r":[{"a":[{"s":17}],"e":[{"i":120}]}],"u":[{"e":[{"n":22}]}],"ø":38},638],"c":153,"d":[{"a":[{"b":0,"g":[{"s":271},38],"h":38,"k":169,"l":[{"a":0,"e":[{".":23}],"s":14},5],"m":[{"e":[{"s":23}]}],"n":[{"o":148,"t":[{"a":15},0]}],"r":[{"m":193,"t":193}],"t":[{"l":15,"m":0}],"u":193}],"d":67,"e":[{"d":[{"i":11}],"e":[{"n":23}],"f":[{"i":90}],"g":[{"e":9}],"i":69,"k":[{"a":155,"l":0,"s":0}],"l":[{"o":11}],"m":[{"i":11}],"n":[{"a":152,"g":96,"h":96,"s":[{"e":190},43],"t":[{"a":[{"l":[{"e":[{".":242}]}]}]}]}],"o":0,"p":[{"o":11}],"r":[{"i":[{"k":0}],"s":[{"t":169}]}],"s":[{"m":31}],"t":[{"a":34,"t":96}]}],"é":93,"f":[{"e":[{"s":14}]}],"i":[{"a":[{"n":[{"a":0,"s":0},24],"u":11}],"d":0,"e":82,"f":88,"g":[{"r":[{"e":[{"s":31}]}],"s":124}],"k":[{"a":0,"l":0,"u":0}],"l":88,"m":[{"i":11}],"o":[{"v":24},88],"s":[{"h":0}],"t":88,"u":88}],"j":[{"e":15,"u":153}],"m":206,"n":[{"æ":5},12],"o":[{"b":155,"d":198,"l":0,"n":[{"n":[{"a":[{".":46}]}]}],"p":69,"r":11,"s":[{"t":12}],"v":[{"e":[{"r":139}]},182]}],"r":[{"a":[{"d":155,"k":90,"n":15,"r":[{"a":2}],"s":12}],"e":[{"i":90,"t":12,"v":[{".":38}]}],"i":69,"o":[{"t":12}]}],"s":[{"e":[{"i":12}],"k":[{"e":6,"v":23}],"t":[{"a":[{"n":22}],"o":[{"g":14},12],"r":[{"e":61}],"u":61}],"v":[{"a":[{"r":33}]}]}],"t":[{"a":[{"k":[{"a":46}]}],"r":15,"ø":2},15],"u":[{"n":[{"d":12}]}],"v":[{"e":15,"i":[{"k":[{"a":[{".":46}]}]}]}],"y":[{"g":0,"p":[{"e":22}],"r":[{"e":24}],"t":96}],"æ":[{"r":[{"e":639},252]},97],"ø":[{"s":213,"v":[{"e":[{".":23}]}]}],"å":[{"r":12,"s":40}]},162],"e":[{".":172,"a":[{"n":173,"r":[{"a":[{"n":640}],"e":17}],"v":162}],"b":173,"d":[{"a":[{"k":164,"m":168}],"e":[{"f":12,"n":15,"s":12}],"i":[{"g":164},12],"l":153,"o":173,"r":[{"i":26},173],"s":[{"k":[{"u":22}],"l":[{"a":17,"e":[{"d":77}]},23]}],"u":[{"k":164}],"y":168,"ø":173}],"e":[{"l":[{".":1}],"r":12},173],"f":[{"a":167,"f":162,"i":162,"j":173,"o":[{"s":168}],"r":168,"t":162,"ø":173}],"g":[{"a":[{"r":162,"t":[{"a":16}]}],"e":[{"b":162,"l":15,"n":162,"r":162},12],"g":162,"i":[{"a":1,"l":1},172],"l":54,"r":173,"u":[{"b":162,"d":162}],"å":173}],"h":173,"i":[{"d":173,"e":173,"g":[{"a":[{".":32}],"e":[{".":32}]},188],"k":162,"l":39,"n":[{"a":[{".":22,"s":61}],"d":[{"e":15}],"e":[{".":22,"s":61}],"s":[{"k":[{"j":36}]}],"v":[{"a":1}]}],"r":[{"a":39}],"s":[{"a":22,"i":24,"k":[{"a":61}],"l":[{"e":[{"d":36}]}],"m":2}],"v":[{"a":134,"e":22}]}],"j":173,"k":[{".":168,"a":[{".":15,"v":15}],"e":[{"n":2}],"j":162,"k":[{"a":[{"n":36}],"v":53}],"l":[{"a":[{"m":166}],"e":[{"d":23}],"i":[{"r":20}]}],"o":[{"b":162,"m":162,"n":162,"s":168},2],"r":[{"a":162,"u":164}],"s":[{"a":90,"p":168}],"t":[{"e":[{"r":23}]}],"u":162}],"l":[{".":93,"a":[{"g":162,"n":[{"d":[{"s":[{"k":[{".":301,"e":301}]}]}]}]},35],"e":[{"g":[{"e":[{".":46}]}],"i":169,"k":168,"n":[{"e":191},2]},641],"g":168,"i":[{"t":90}],"j":265,"l":[{"a":[{"g":23,"n":[{"d":31}]}],"e":[{"d":22,"v":23}]},88],"m":337,"s":[{"e":[{"s":22}],"k":23}],"u":281,"v":162,"y":286,"æ":173,"ø":173,"å":[{"r":16},642]}],"m":[{"a":[{"n":[{"n":123}]}],"b":153,"i":[{"e":[{"n":[{"e":36}]}],"l":36,"s":2}],"j":[{"i":39}],"m":[{"e":[{"d":139}]}],"n":[{"a":32},168],"p":42,"s":54,"t":[{"i":[{"d":[{"a":33}]}]}],"u":162,"y":167,"å":162},173],"n":[{"a":285,"d":[{"e":[{"l":23}],"r":162}],"e":[{"d":167,"g":15,"i":2,"k":162,"l":89,"s":[{"t":162}],"t":168}],"g":[{"d":168,"l":17,"n":162,"s":[{"t":17}]}],"i":15,"k":[{"l":31},173],"l":90,"n":[{"e":[{"s":[{"l":[{"a":186},48]}]}]}],"o":15,"s":[{"a":22,"s":90}],"t":[{"i":[{"t":306}],"r":643,"u":168}],"u":162,"z":166,"æ":168,"ø":162}],"o":[{"g":15,"p":173,"r":67,"u":166}],"p":[{"e":[{"n":167}],"i":324,"u":[{"s":168},172]}],"r":[{"a":[{"d":168,"n":[{"g":644}],"t":279}],"e":[{".":15,"d":162,"f":162,"g":162,"i":162,"k":1,"n":[{"t":162}],"p":162,"s":[{"e":162,"u":162}],"t":162}],"f":[{"a":168}],"i":[{"g":162,"k":162}],"n":[{"æ":181}],"o":[{"l":162,"m":162,"s":[{"e":[{".":36}]},12],"t":15}],"s":[{"p":5},164],"u":[{"t":[{"e":162}]}],"ø":[{"y":21}],"å":173},172],"s":[{".":172,"a":173,"c":107,"e":[{"l":162,"m":1,"t":162},12],"i":[{"e":[{"r":[{"e":16}]}],"n":162}],"j":173,"k":[{"e":22,"j":[{"e":[{".":21}]}],"l":31,"o":[{"d":61}],"y":4},173],"l":[{"u":1},645],"m":[{"o":15},172],"o":[{"v":12}],"p":[{"e":35,"i":162,"r":162}],"s":[{"a":[{"l":23}],"e":[{"k":23}],"i":[{"t":23}],"j":23,"k":31,"o":[{"r":[{"t":31}]}],"p":23,"t":23,"y":23},173],"t":[{"a":[{"n":[{"e":39}],"u":166}],"e":[{"r":[{"v":47}],"s":23}],"é":24,"i":[{"l":23},265],"r":[{"e":162},12],"v":191,"y":236,"å":162}],"u":[{"k":168,"n":162},172],"v":[{"e":34,"i":12}],"y":173,"ø":173}],"t":[{"a":[{"k":[{"i":162}],"l":162,"p":1}],"e":[{"a":162,"k":[{".":167,"e":168,"n":162}],"l":168,"m":269,"n":15}],"i":236,"j":162,"o":[{"a":162}],"r":646,"s":[{"i":5,"t":23}],"t":[{"e":[{"d":61,"r":22}],"o":46,"s":[{"e":[{"t":36}]}]}],"u":236,"y":173,"ø":[{"y":[{"a":[{".":166}],"e":[{"t":[{"s":191}]}]}]},173],"å":268}],"u":[{"r":31},173],"v":[{"a":[{"k":162,"n":15,"r":[{"e":[{".":17}]}]}],"e":[{"g":168,"i":162,"l":162,"n":[{"h":21}],"r":15,"s":17}],"i":[{"g":89,"n":[{"n":26}]}],"o":[{"m":2}],"y":172,"å":[{"p":26}]}],"w":164,"å":173}],"f":[{"a":[{"r":[{"e":22}],"t":17}],"e":[{"e":[{"n":[{".":32}],"r":32,"t":[{".":23}]}],"i":[{"l":[{"i":17}]}],"m":[{"ø":19}]}],"i":[{"k":0}],"l":[{"å":18}],"t":28,"u":[{"s":[{"e":32}]}],"y":[{"r":5}],"æ":155,"ø":[{"r":[{"a":[{"r":[{"a":[{"r":32}]}]}]}]}]},188],"g":[{"a":[{".":38,"l":[{"e":[{".":32}],"i":32}],"n":[{"d":15,"n":152,"v":169}],"r":[{"i":24,"t":12}],"v":[{"e":[{".":23}]}]}],"e":[{"d":[{"i":11}],"f":0,"m":88,"n":[{"t":103}],"o":90,"r":[{"e":[{"i":0,"t":0}],"u":196}],"s":[{"j":0,"l":0,"t":[{"a":0}]}]}],"i":[{"a":54,"e":[{"n":5}],"k":88,"l":88,"m":88,"o":88,"r":[{"i":34},88],"s":[{"l":61}],"ø":88}],"l":[{"e":[{".":15,"m":14,"n":12,"r":12},7]}],"n":88,"o":[{"g":0,"m":90,"t":88}],"r":[{"a":[{"b":15}],"e":[{"a":12,"l":12,"p":[{"s":15}]}],"i":97,"u":90}],"s":[{"c":15,"k":[{"o":[{"r":31}]}],"l":[{"e":9}],"n":69,"t":[{"i":[{"l":[{"l":20}]}],"o":15,"u":35}],"y":7}],"u":[{"d":61,"t":4}],"å":[{"a":[{"s":39}],"v":[{"a":31,"e":[{".":31}]}]}]},188],"h":[{"a":[{"v":[{"s":203},183]}],"j":[{"u":[{"l":[{"s":91}]}]}],"o":[{"d":24}],"u":152,"ø":[{"r":[{"e":22}]}],"å":[{"n":[{"d":[{"s":647}],"e":39}]}]},188],"i":[{"a":[{"n":[{"f":162,"l":162,"s":[{"v":168}]},69],"r":[{"b":162,"r":162},69],"u":168,"v":[{"a":1,"o":648},173]}],"b":[{"l":107},173],"c":[{"a":[{".":6}],"o":[{".":1}]}],"d":[{"a":[{"l":[{"e":162}]},15],"e":[{"r":15}],"i":15,"r":188,"t":24}],"e":[{"i":[{"e":162,"g":162}],"k":[{"s":162}],"l":[{"d":168,"e":[{"m":162}],"i":[{"m":168}],"l":[{"a":5}]},69],"n":[{"d":12,"h":162,"t":[{"r":78},162]},23],"r":[{"a":22,"i":22},69],"t":[{"a":[{"t":162}]}],"v":[{"e":[{"n":15}]}]}],"f":[{"a":173,"e":[{"r":[{"i":[{"e":137}]}]}],"f":[{"i":23}],"i":[{"s":[{"e":[{"r":[{"b":[{"a":649}]}]}]}]}],"j":168,"l":[{"a":22},172],"o":173,"u":173,"ø":650}],"g":[{"a":[{".":1}],"g":[{"r":23}],"i":12,"j":162,"r":[{"e":162}],"s":[{"t":127},28]}],"h":173,"i":173,"j":[{".":166},173],"k":[{"a":[{"l":[{"i":1}],"n":15}],"d":166,"e":[{"s":12}],"i":2,"k":[{"e":[{"n":61}],"j":17}],"l":[{"a":219},162],"o":[{"n":168},278],"r":419,"s":[{"k":23,"u":53}],"t":[{"s":203},36],"u":[{"m":36}],"v":34,"å":162}],"l":[{"a":173,"d":[{"e":274}],"e":[{"d":168,"i":15}],"l":[{"e":[{"s":[{"t":31}]}]}],"o":286,"s":[{"n":23}],"ø":173}],"m":[{"a":[{"b":35,"r":35},162],"e":[{"s":168,"t":15}],"i":[{".":1,"s":191},173],"l":61,"m":162,"o":[{"r":1},162],"p":187,"u":[{"t":39},162],"y":162}],"n":[{"a":[{"l":17,"m":20,"s":162}],"c":248,"d":[{"u":90},162],"e":[{"e":1,"s":1}],"f":188,"g":[{"o":[{"m":61}],"r":18,"s":[{"a":[{"k":14},651],"p":[{"a":46}]}]}],"j":361,"k":173,"n":[{"e":[{"s":39}]},162],"o":[{"r":162}],"s":[{"k":36,"m":31},173],"t":[{"j":53,"r":23},173],"v":173,"ø":4}],"o":[{"f":189,"m":465,"p":189,"r":173,"s":42,"t":[{"r":18}]}],"p":[{"e":162,"o":[{"s":43}]},173],"r":281,"s":[{"a":[{"u":162}],"e":[{"d":162,"i":17,"k":168,"l":[{"i":1},162]}],"h":162,"i":[{"k":[{"o":166}]}],"j":[{"u":4},173],"k":[{"a":162,"i":1,"u":168,"y":162}],"t":[{"a":[{"d":168}],"e":[{"d":236}],"i":[{"k":22,"l":162}],"o":[{"f":22},1],"u":[{"n":15}],"ø":168,"å":4}],"v":162,"y":162,"ø":162}],"t":[{"e":[{"o":168},12],"i":[{"d":[{"a":49}],"l":162},2],"j":162,"o":20,"r":15,"s":617,"u":[{"n":4}],"y":162}],"u":[{"n":173,"r":23,"t":173}],"v":[{"a":[{"r":162}],"e":[{"d":4,"g":[{"e":49}],"i":15,"r":[{"k":162}]}],"i":[{"s":[{"e":22},372]},173],"o":168}],"ø":[{"k":162,"r":[{"a":41}],"y":[{"a":167}]}],"å":162}],"j":[{"a":[{"m":[{"b":[{"i":2}]}]}],"e":[{"r":[{"e":0}],"s":88,"t":[{"i":0,"r":0,"u":0}]}],"u":[{"l":[{"a":31}]}]},153],"k":[{"a":[{"k":[{"t":12}],"n":[{"f":11}],"o":0,"p":[{"r":0}],"t":[{"r":11}]}],"e":[{".":90,"h":88,"i":[{"k":[{"a":46},15]}],"k":11,"l":[{"o":0,"u":196}],"n":[{".":90,"a":[{"v":0}],"e":90,"i":0,"s":38}],"r":[{"i":[{"s":0},22],"o":0,"s":38,"u":196,"ø":0}],"s":[{"e":23,"l":[{"ø":[{"s":[{"e":170}]}]}]}],"t":[{".":155}]}],"h":[{"a":[{"n":1}]}],"i":[{"d":24,"e":24,"v":[{"i":23}]},90],"j":[{"e":[{"k":91}],"o":[{"r":15}]}],"k":8,"l":[{"e":[{"d":95}],"i":7,"u":[{"n":15,"t":35}],"æ":[{"r":[{"e":17}]}],"ø":7,"å":[{"r":[{"a":49}]}]}],"n":[{"e":[{"k":90,"p":38,"s":2}],"o":90}],"o":[{"b":[{"r":47},88],"f":[{"o":11}],"h":88,"l":[{"a":0,"i":0}],"p":[{"e":0}],"r":[{"a":0,"u":0}],"s":[{"e":[{"l":[{"e":31},0]}],"j":0}]}],"r":[{"a":[{"s":96}],"e":[{"i":15,"m":149}]}],"s":[{"a":[{"r":1}],"e":[{"g":478}],"i":129,"k":[{"a":1}],"t":[{"a":[{"l":4}],"e":[{"n":1}],"i":26,"j":1,"o":1},69],"v":[{"i":3}]},93],"t":[{"i":[{"s":5},15],"o":15}],"u":[{"l":[{"e":[{".":23}]}],"t":251}],"v":[{"e":[{"d":652,"i":15,"l":38,"r":0,"s":12}],"i":[{"k":15}]}],"ø":[{"l":169,"y":[{"s":35},375]}],"å":[{"k":[{"e":15},23],"p":[{"a":31}],"s":9}]},222],"l":[{"a":[{"t":[{"e":[{".":23}]}]}],"e":[{"a":23,"f":88,"p":90,"r":[{"i":198}],"s":[{"l":284,"t":23,"u":0}],"u":0}],"i":[{"k":[{"e":39}],"n":[{"g":[{"s":433}]}],"t":[{"a":32,"e":[{".":23}]}]},89],"j":90,"o":[{"g":183,"v":[{"e":22}]},4],"s":[{"k":1}],"u":[{"e":23}],"y":[{"s":[{"k":16}]},90],"z":97,"ø":[{"p":[{"a":[{".":32}]}],"y":653}]},188],"m":[{"a":[{"g":[{"e":[{".":31}]}],"k":[{"l":42}],"l":[{"t":[{"e":169}]}],"n":[{"l":12,"s":1,"v":11}],"r":[{"e":0,"r":0}],"v":15}],"b":12,"e":[{"g":586,"k":88,"l":[{"a":[{"p":31}]}],"n":[{"e":[{"t":0},22]}],"r":[{"e":[{"v":11}]}],"s":[{"e":0}],"t":[{"a":[{"r":39}]}],"y":0}],"i":[{"d":[{"e":169}],"e":[{"n":[{"e":31}]}],"n":[{"i":120,"s":[{"k":[{"i":17}],"t":97}]}],"v":9}],"j":[{"e":69}],"l":[{"ø":[{"p":[{"a":46}]}]}],"o":[{"e":23,"f":88,"p":69,"s":[{"t":61}]}],"p":2,"s":[{"k":[{"o":20}],"l":69,"n":31,"t":[{"i":[{"l":22}]},69],"u":69}],"t":[{"a":[{"l":[{"a":46}]}],"e":12}],"u":[{"a":[{"n":61}],"e":[{"n":[{"e":17}]},5],"l":[{"a":[{".":32}],"e":[{".":31}]}]}],"ø":[{"y":[{".":15}]}],"å":[{".":155,"l":5,"p":97,"r":155,"t":[{"a":96}]}]},188],"n":[{"a":[{"k":277,"l":[{"d":193}],"p":[{"p":[{"a":[{"r":97}]}]}],"r":[{"b":0,"t":193}],"t":[{"r":16,"v":0}],"v":[{"i":[{"s":654}],"l":12}]},90],"d":[{"ø":[{"r":14},5]},12],"e":[{".":90,"a":179,"b":[{"o":[{"e":38}]}],"c":88,"f":0,"l":[{"e":[{"g":[{"e":[{".":120}]}]}],"l":90,"s":90},88],"n":[{"g":193,"h":0}],"p":61,"r":[{"e":[{"i":0}],"i":[{"s":11}],"o":24}],"s":[{".":38,"e":[{".":31}],"i":93,"k":196,"m":0,"o":24},180],"t":[{"a":[{"b":9}],"e":0}],"v":[{"r":22},88]}],"é":[{"s":88}],"g":20,"i":[{"n":[{"n":0}]}],"k":9,"n":12,"o":[{".":38,"a":0,"b":22,"d":0,"i":0,"k":11,"m":[{"n":15,"s":12},88],"p":277,"r":[{"k":12}],"s":88,"v":225}],"s":[{"e":2,"i":[{"n":85}],"k":[{"e":15,"r":12}],"l":[{"a":15,"e":[{"g":[{"e":58}]}]}],"m":[{"i":40}],"o":[{"v":[{"n":13}]}],"p":[{"o":[{"n":15}],"r":34}],"t":[{"i":1},69]}],"t":[{"e":12,"i":15,"r":[{"e":103},2],"v":23}],"u":[{"g":15,"t":367},23],"ø":[{"t":152,"v":169}],"å":[{"l":[{"e":[{".":32}]}],"s":12}]},162],"o":[{"a":[{"k":69,"s":[{"i":15},23]}],"b":[{"a":[{"n":301,"r":301}],"e":[{"d":1,"f":1,"n":166,"s":1},172],"ø":[{"l":[{"g":[{"j":166}]}]}]}],"c":172,"d":[{"d":[{"s":90}],"o":191}],"e":[{"n":[{"d":15,"s":2}]}],"f":[{"a":2,"e":[{"l":1,"m":1}],"f":[{"r":[{"i":17}]}]}],"g":[{"a":[{".":2,"t":[{"a":49}]}],"e":[{".":2}],"r":[{"e":[{"t":22}],"y":4}],"s":177,"u":7}],"i":172,"k":[{"e":[{"l":1}],"i":15,"k":[{"a":[{"t":31}],"e":[{"r":[{"i":31}]}],"l":22,"o":[{"m":23}]}],"l":40,"n":22,"s":[{"e":[{".":32}]},61],"v":22}],"l":[{"i":[{"g":[{"a":16}]}],"j":162,"l":[{"a":[{"b":23,"p":23}],"e":[{"g":[{"e":[{".":91}]},23],"s":[{"e":[{".":91}]}]}],"i":[{"s":23}],"y":31}],"o":[{"v":49}],"y":173}],"m":[{"a":[{"k":4,"l":1,"n":655,"t":[{"e":1}]}],"b":656,"e":[{"d":17},265],"k":162,"n":181,"o":[{"r":1}],"r":173,"s":[{"l":[{"a":22}],"y":152,"ø":203}],"t":24}],"n":[{"e":[{".":15}],"i":[{"m":2,"s":[{"m":168,"t":[{"a":168,"e":167,"i":168}]}]}],"n":[{"a":23},162],"o":[{"s":17}],"s":177,"t":[{"a":[{"l":[{"e":[{".":120}]}]}]}]}],"p":[{"a":[{"d":1}],"e":[{"t":166}],"i":[{"a":1}],"l":[{"a":[{".":6}]}],"p":173,"y":35}],"r":[{"a":24,"d":[{"a":[{".":31}]}],"e":12,"u":69}],"s":[{"a":[{"t":1}],"e":[{"l":15,"n":12}],"l":[{"a":24},162],"m":1,"o":[{"v":4}],"p":657,"s":[{"t":23,"y":23}],"t":[{"a":[{"s":61}],"i":12,"r":[{"ø":16},12]}]}],"t":[{"e":[{"k":[{"t":[{"e":22}]}],"s":[{"t":[{"e":[{"r":16}]}]},15]}],"i":[{"k":[{"a":16}]}],"o":[{"r":[{"d":22}]}],"u":15,"y":168}],"u":[{"n":[{"d":203},183],"t":15}],"v":[{"a":[{".":15,"r":[{"e":35}],"s":2}],"e":[{"k":15,"n":2,"r":[{"e":17}]}],"s":[{"m":22}],"v":[{"e":120}]}]}],"ò":[{"t":[{"e":[{".":4}]}]}],"p":[{"a":[{"r":[{"b":11}]},38],"e":[{"f":[{"o":38}],"n":[{"o":0,"ø":11}],"s":[{"k":38}],"t":38}],"j":4,"l":[{"a":[{"d":12}]},7],"n":265,"r":[{"ø":[{"v":[{"e":17}]}]}],"u":[{"n":[{"g":16}],"t":[{".":97}]},90],"ø":[{"y":97}],"å":[{"k":88}]},222],"r":[{"a":[{"a":93,"g":88,"r":[{"o":0},24]}],"d":12,"e":[{"b":[{"a":[{"r":[{"t":[{".":152}]}]}]},0],"f":88,"i":[{"n":[{"t":61}]}],"k":[{"l":0}],"l":[{"a":[{"t":38}]}],"o":0,"p":[{"l":0}],"r":[{"u":196}],"s":[{"k":22,"m":0,"o":0,"p":[{"e":0}],"s":90,"t":[{"a":17,"i":61,"r":22},23]}],"t":[{"s":116}],"u":22},4],"i":[{"k":[{"a":[{".":31}]}],"p":11,"v":22},90],"m":[{"å":[{"l":[{"a":46}]}]},34],"o":[{"e":31,"m":38,"s":[{"a":32,"e":[{".":32}]}],"t":[{"a":32}]}],"s":122,"u":[{"n":375}],"v":15,"å":[{"d":[{"e":22}]}]},222],"s":[{".":168,"a":[{"b":12,"d":374,"k":[{"a":22,"t":11},90],"l":[{"a":[{".":31}],"d":340,"l":12}],"m":38,"r":[{"r":0,"v":12}]},153],"c":153,"e":[{"d":[{"i":93}],"g":127,"k":[{"u":0}],"l":[{"a":1,"d":2,"i":0,"v":193}],"r":[{"i":[{"k":9}]}],"s":[{"i":0,"u":11},90],"t":[{"e":[{".":23}],"t":[{"o":91},4]}]}],"i":[{"m":[{"p":58},659],"n":[{"g":229,"s":0},69],"s":[{"t":17}]}],"j":[{"a":152,"h":0,"o":[{"r":24}]}],"k":[{"a":[{"d":90,"f":96,"m":1,"p":90,"r":[{".":0}],"s":0}],"i":[{"l":38,"n":[{"n":[{"s":61}]}]},0],"j":[{"e":[{"n":[{"s":15}]}]},153],"l":[{"a":[{"g":91,"r":22}],"e":26,"æ":85},11],"o":[{".":38,"e":38,"p":24,"r":0,"t":90}],"r":[{"a":193,"i":[{"v":38}],"o":193},153],"u":[{".":38,"e":[{"t":16},38],"n":[{"d":22}]},153],"v":[{"a":[{"r":22}]}],"y":[{"s":15}],"ø":22}],"l":[{"e":[{"f":1,"i":0,"k":1,"s":1}],"i":[{"t":149}],"o":[{"k":12}],"u":[{"n":0}]}],"m":[{"a":[{"k":[{"e":1}]}],"o":[{".":1}],"å":[{"l":103}]}],"n":[{"e":[{"v":4}]}],"o":[{"a":39,"m":[{"l":15}],"n":[{"a":[{"l":77}],"e":112,"i":19,"s":103},660],"r":[{"d":15,"i":[{"s":61}]},259],"v":69},153],"p":[{"a":[{"n":1,"t":4}],"e":[{"l":38,"r":0,"s":152}],"i":38,"o":[{"r":1}],"r":[{"e":[{"d":38}]}],"å":0},153],"s":52,"t":[{"a":[{"b":[{"b":169}],"n":[{"k":15}],"p":12}],"b":284,"e":[{"d":1,"m":1,"n":[{"d":15,"s":120}],"r":[{".":15}],"v":[{"n":[{"a":33}]}]}],"i":[{"l":[{"f":169,"h":169,"s":169,"v":169},90],"s":38,"t":0}],"k":428,"r":[{"e":[{".":35,"e":2}],"i":[{"n":0}],"o":169,"ø":38},23],"u":[{"t":61,"v":[{"a":49}]}],"y":[{"g":58}],"ø":661,"å":152},150],"u":[{"k":[{"l":15}],"r":39,"s":[{"a":61,"i":15}]}],"v":[{"a":[{"k":6,"r":[{"a":49,"s":662}]}],"e":[{"k":89},69],"i":[{"t":15}]},153],"y":[{"n":[{"a":23}],"t":24}],"z":153,"ø":[{"k":[{"s":203}],"y":[{"e":35}]}]},162],"t":[{"a":[{"d":15,"f":169,"k":[{"a":[{".":23}]}],"n":[{"a":0,"l":12}],"p":[{"a":39}],"r":[{"r":0,"t":12}],"v":[{"s":12}]}],"e":[{"c":0,"d":[{"a":0,"e":90}],"e":88,"g":[{"o":0,"r":0}],"i":[{"e":0,"n":196}],"k":[{"a":0,"e":[{".":31}],"i":0,"u":0}],"l":[{"i":[{"t":9}]}],"m":[{"a":[{".":31}],"p":90}],"n":[{"s":[{"k":271}],"t":[{"l":[{"e":159}]}]}],"o":88,"r":[{"d":38,"e":[{"s":38}],"i":[{"s":0}],"k":38,"å":0},252],"s":[{"e":0,"k":11,"t":[{"i":11}]}],"t":[{"a":0,"e":0}],"u":[{"s":91}],"v":0}],"h":0,"i":[{"a":[{"n":[{"d":91,"s":0}],"r":[{".":32},0]}],"e":[{"n":22}],"g":[{"r":[{"a":31}]}],"k":[{"v":196}],"l":[{"a":0,"i":0,"o":0}],"n":[{"a":435}],"o":88,"p":88,"s":[{"a":61,"k":[{"a":11,"i":0}],"o":663,"p":0,"s":18,"t":[{"r":195}]}],"t":[{"u":90}],"v":88}],"m":[{"a":[{"l":[{"e":[{".":36}]}]}]}],"o":[{".":38,"f":[{"f":12,"o":155}],"k":[{".":155}],"m":[{"k":12}],"p":[{"p":[{".":4},193]}],"r":[{"d":12}],"s":251,"v":182}],"r":[{"a":6,"e":[{".":155,"d":4,"g":12,"i":12,"k":[{"o":169}],"l":15,"p":15}],"i":[{"b":152,"s":193}],"o":[{"s":169}],"u":[{"t":12}],"å":[{"l":149}]},7],"s":[{"a":[{"r":24}],"e":[{"g":1,"n":[{"g":22}]}],"i":7,"j":[{"a":26}],"k":[{"e":15,"j":12}],"n":[{"o":9}],"p":[{"e":34}],"t":[{"i":1,"r":[{"e":[{"k":40}]}],"ø":[{"y":26}]}],"u":[{"n":[{"d":[{"e":22}]}]}]}],"t":34,"u":[{"e":[{"n":[{".":31}]}],"g":152,"n":[{"d":12}],"t":259,"v":[{"e":[{".":32}]}]}],"y":[{"d":[{"a":[{".":32}],"e":[{".":32}]}],"r":[{"s":17,"a":31}],"t":15}],"æ":[{"r":[{"a":39}]}],"ø":[{"l":15}],"å":[{"s":664}]},200],"u":[{"a":[{"n":[{"d":12}],"v":[{"h":4},168]}],"b":[{"a":31,"l":6,"o":15}],"d":[{"i":[{".":1}],"r":23,"s":[{"l":5}]}],"e":[{"l":[{"e":1}],"r":23,"s":65}],"g":[{"a":[{"l":46,"t":17}]}],"i":[{"d":75}],"k":[{"s":[{"u":23}],"t":[{"s":18}]},162],"l":[{"a":35,"i":162,"k":[{"e":[{".":32}]},306],"l":88,"v":152,"y":152}],"m":[{"a":[{"l":24}],"p":[{"l":665}]},0],"n":[{"d":[{"e":[{"l":22,"r":[{".":502,"s":38},434]},504],"r":18,"s":124}],"g":[{"e":[{".":31}]}],"i":477,"k":[{"r":22}],"ø":[{"y":1}]}],"r":[{"a":[{"n":6,"r":6},15],"e":[{"r":35}],"t":[{"a":32}]},7],"s":[{"h":255,"i":[{"k":666}],"j":22,"l":[{"u":61}],"o":182,"s":[{"e":[{"l":22}],"t":23}],"t":[{"r":667}]},0],"t":[{"a":[{"l":[{"a":[{".":46}]},12],"n":[{".":152}]},0],"b":[{"e":0}],"d":162,"e":[{"i":18,"l":1,"n":[{"e":[{".":35}]}],"r":35},32],"g":173,"k":153,"o":39,"r":[{"e":23,"ø":4},168],"t":[{"o":14}],"v":173,"ø":22}],"v":[{"a":15,"e":[{"d":1,"g":1,"i":1,"l":1,"r":[{"e":1}],"s":1}],"i":[{"s":21},46]}]}],"v":[{"a":[{"k":[{"a":61}],"l":[{"a":31}],"r":[{"b":206}]},1],"e":[{"d":[{"e":[{"n":23},24],"r":195}],"g":[{"a":0,"i":0,"r":0}],"i":[{"m":0,"s":[{"e":50}]}],"k":[{"l":22}],"l":[{"a":0,"l":[{"e":49}]}],"n":[{"g":169}],"r":[{".":38,"e":22}],"s":88,"v":88}],"i":[{"l":[{"l":[{"e":[{"d":186}]},49]}]}],"j":7,"o":[{"s":0,"v":0}],"r":90,"s":129,"u":[{"n":[{"g":15}]}],"å":[{"r":61}]},188],"w":187,"x":69,"y":[{"a":182,"d":[{"r":7}],"f":[{"e":2,"l":15}],"k":[{"e":[{".":15}],"l":189}],"l":[{"e":2,"l":[{"i":[{"s":668}]}]}],"n":[{"d":[{"l":248}],"e":[{"s":[{".":15},1]}]}],"p":[{"a":[{".":1}]}],"r":[{"e":6,"k":[{"e":[{".":23}]},153],"o":35,"ø":15},173],"s":[{"s":[{"a":[{"l":31}]}]}],"t":[{"a":15,"e":[{"k":1}],"m":172,"r":90}]}],"z":0,"æ":[{"l":[{"e":2}],"r":[{"e":[{"n":669},669],"i":[{"n":22}],"t":32}],"v":6}],"ø":[{".":173,"a":[{"r":6}],"b":[{"e":[{".":1}]},168],"d":[{"e":[{"k":1}],"s":54}],"e":[{"p":162}],"f":[{"l":22}],"k":[{"e":[{".":1,"r":[{"o":1}]}],"l":24,"n":162,"s":42,"t":61,"v":54}],"l":173,"m":[{"a":54},4],"n":[{"n":[{"e":[{"s":22}],"s":[{"a":78,"k":17}]}],"s":[{"k":[{"o":22}]}],"t":[{"g":334}]}],"p":[{"e":[{".":1}],"l":39}],"r":[{"d":19,"e":[{"n":[{"d":[{"e":[{".":11}]}]}],"t":2}],"l":166,"o":107,"s":[{"p":23}]},172],"s":[{".":93,"e":12,"l":[{"a":15}],"v":22}],"t":[{"a":[{"s":39},6]}],"v":[{"a":69,"e":[{"d":[{"e":15}],"r":[{"s":35}]}],"i":69,"æ":169}],"y":[{".":188,"a":[{"r":39},162],"e":[{"d":31,"n":[{"e":31}],"s":22,"t":23}],"k":334,"r":[{"e":22},164],"s":[{"e":[{"n":[{"e":[{"s":32}]}]}],"k":670,"t":23}]}]}],"å":[{".":173,"a":[{"g":162},2],"b":162,"d":[{"e":[{"t":164}],"y":[{"r":[{"a":49}]}]}],"e":[{"n":[{"e":35}]}],"f":173,"g":383,"k":[{"j":173,"r":[{"e":24}],"u":107,"v":54}],"l":[{"e":[{"s":66,"t":[{".":15},1]}],"u":15},162],"n":[{"d":[{"a":31},38]}],"p":173,"r":[{"s":[{"k":17}],"u":15},188],"s":[{"b":162,"e":173,"i":15,"j":173,"t":23},69],"t":[{"a":[{"k":[{"a":[{".":46}]}]},168],"r":15,"u":15}]}]}],"s":[{"c":[{"h":[{"l":[{".":167},658],".":681,"m":32}],"a":[{"n":337},162],"e":[{"l":173,"n":[{"e":0}],"r":90},172],"l":306,"o":[{".":162,"c":168,"s":162}],"u":[{"s":0}]}],"a":[{"a":[{".":166},173],"b":[{"a":[{".":1}],"e":11,"l":93,"o":[{"k":15,"n":90}],"y":15}],"c":[{"e":12}],"d":[{"a":[{"g":1,"m":162}],"e":[{"r":[{"e":1}]}],"m":162,"o":1,"v":173}],"e":[{"d":22,"n":164,"r":191}],"f":[{"a":166,"e":172,"f":[{"æ":181}]}],"g":[{"a":[{".":1,"s":1,"t":1},166],"e":[{"n":[{"t":168}]}],"g":274,"i":324,"n":[{"a":32}],"o":[{".":4,"g":1}],"r":174,"s":65}],"i":[{"k":12,"r":15,"s":69}],"k":[{".":166,"a":[{".":164,"d":162,"i":15},7],"b":164,"d":164,"e":671,"f":166,"h":[{"e":17},172],"i":172,"j":1,"k":[{"r":22,"y":0}],"l":166,"m":166,"o":162,"p":164,"r":8,"s":[{".":337,"i":41,"j":181,"p":23,"r":166,"u":166}],"t":[{"a":[{".":31}],"o":337},188],"u":0,"ø":268}],"l":[{".":253,"a":[{"r":[{"m":248}],".":191,"t":672},69],"b":162,"e":[{"t":35},673],"g":[{"e":0,"o":248,"s":116},172],"i":11,"m":[{"e":[{"s":23}]}],"o":15,"s":[{"a":5},674],"t":[{"e":[{"r":162}]}],"u":69,"v":[{"e":[{"d":22}]},164],"y":173}],"m":[{".":166,"a":[{".":15,"n":445,"s":15},7],"e":[{"i":22,"l":1,"t":1}],"l":[{"e":[{"v":23}]},166],"m":[{"e":[{"n":139}]},166],"y":1},184],"n":[{"a":[{".":35,"r":2,"t":12},571],"d":[{"a":[{".":31,"l":62}],"e":[{".":334}],"r":17,"s":[{"l":[{"o":80}],"t":17}],"ø":53}],"e":[{"k":676},675],"g":[{".":166,"e":164,"r":181,"s":[{"t":175}]}],"k":[{"e":[{"n":152}]}],"l":188,"m":38,"n":[{"e":22,"o":168}],"o":[{"r":248,"s":22},7],"s":[{".":337,"a":162,"e":[{"n":337}],"k":77,"l":677,"v":168},54],"t":[{".":93,"e":39,"r":168,"y":162}],"v":187}],"p":[{"o":7},188],"r":[{".":184,"a":[{"b":168},172],"b":173,"d":0,"e":[{".":401,"a":[{"l":162}],"g":162,"v":15}],"i":[{".":1},164],"k":[{"a":[{".":31}],"i":181}],"m":[{"e":[{".":32},22]},188],"r":153,"t":[{"a":[{".":23}]},188],"u":1,"v":162,"y":0}],"s":[{"j":[{"u":167}],"p":272,"s":187,"t":[{"y":162},11],"u":173,"y":162},172],"t":[{"a":69,"e":[{"n":15}],"i":12,"l":188,"m":[{"o":[{"s":181}]}],"o":69,"r":678,"s":[{"k":38}],"t":[{".":166,"a":181,"e":[{"n":274,"s":103}]}]},172],"u":[{".":166,"d":[{"i":[{".":22}]},23],"e":166,"g":[{"a":31,"e":[{".":31},90]},162],"k":188,"m":166,"s":164,"t":162}],"v":[{"a":88,"e":[{".":1}],"i":[{"n":679}],"n":22,"u":164},188]}],"b":[{"a":[{"n":[{"e":[{".":23}]}]}],"i":[{"e":31}],"o":[{"d":[{"a":23}]}],"u":[{"e":[{"t":31}],"g":11,"l":18}],"y":[{"t":[{"a":32}]}]},680],"d":[{"a":[{"g":[{"s":271}],"m":[{"p":49}]}],"e":[{"l":[{"e":[{".":31}]}]}],"u":[{"e":[{"n":[{".":32}],"r":32}]}],"ø":[{"v":32}]},682],"e":[{"a":[{".":164,"g":23,"n":[{"d":568,"s":[{"a":2}]}],"r":[{"e":39}],"u":[{"s":[{"k":683}]}]},189],"b":173,"c":162,"d":[{"a":[{"g":162}],"d":22,"e":[{".":166},12],"l":166,"o":162,"r":173,"u":173,"v":[{"a":[{"n":[{"l":[{"e":168}]}]}]}],"ø":173}],"e":[{".":166,"d":24,"f":173,"g":173,"i":13,"l":34,"n":15,"r":176,"s":166,"v":173}],"f":[{"f":153,"t":187},173],"g":[{"a":[{"l":36},168],"e":[{"s":4,"v":12},7],"g":[{"a":[{".":32}]}],"l":[{".":301,"e":[{"t":191}]}],"m":164,"r":684}],"h":173,"i":[{"d":[{"a":[{"n":32}],"e":[{"n":39}]},173],"e":[{"n":[{"e":[{"s":148}]}],"t":171}],"g":[{"a":[{".":31}],"e":22},173],"k":22,"l":685,"m":168,"n":[{"d":12,"i":90,"k":4,"s":12,"t":12},173],"r":22,"s":164}],"j":[{".":166},173],"k":[{"a":286,"e":164,"i":162,"j":173,"k":[{"e":[{"s":23}]},166],"l":307,"n":265,"o":173,"r":[{"a":162,"i":162,"o":162},129],"s":[{"j":178,"p":162,"t":23}],"t":[{"a":[{"n":255}],"e":[{".":31,"r":[{"a":33}]}],"o":686}],"y":162,"å":162}],"l":[{"a":[{".":4,"k":164,"n":[{"e":166}],"r":[{"t":22},166],"s":89,"t":3},173],"d":54,"e":[{".":1,"d":236,"g":[{"a":168}],"i":162,"m":181,"n":[{"g":162}],"s":162,"v":563}],"g":334,"i":[{"k":162,"l":162,"s":162,"t":563}],"l":[{"ø":[{"p":31}]}],"o":[{"l":191,"m":12},173],"s":[{"i":[{"n":23}],"k":[{"e":525}],"l":[{"a":[{"g":143}]}],"p":[{"o":23}]},164],"t":19,"u":[{"r":371},173],"v":[{"a":[{"k":53,"n":23}],"e":[{".":23,"i":190,"r":23},124],"i":[{"n":32}]}],"y":173,"æ":173,"ø":[{"p":[{"a":[{".":46}]}]},173],"å":168},88],"m":[{"a":285,"b":164,"d":191,"e":15,"i":[{".":1,"n":[{"i":123}]}],"n":[{"a":23,"d":301},188],"o":173,"p":[{"e":22}],"å":173}],"n":[{".":88,"a":[{"k":15,"u":168}],"d":[{"a":143,"e":[{"l":[{"a":31}],"n":168}],"r":162}],"e":[{"d":162,"g":12,"m":162,"s":[{"a":167,"e":[{".":46},168]}]},88],"g":[{"a":[{"s":38}]}],"h":188,"i":[{"n":4}],"k":[{"j":90}],"n":687,"s":[{"e":[{"m":248,"n":[{"d":47}]}],"j":23,"o":24},88],"t":[{"e":[{"r":22}],"r":[{"e":[{"p":688}]}]},304],"u":[{"m":162}],"y":162,"æ":173,"ø":168}],"o":[{"d":191,"r":12},420],"p":[{"e":[{"r":[{"s":[{"o":373}]}]},12],"t":164},173],"r":[{".":88,"a":[{"m":162,"n":166,"p":162,"s":166,"u":168},12],"d":22,"e":[{".":166,"a":162,"d":162,"f":162,"g":162,"i":162,"k":162,"l":162,"n":[{"n":162,"t":162}],"p":162,"s":[{"o":162,"s":162,"t":162,"u":162}],"t":162,"v":162},201],"f":153,"i":[{"e":[{"n":[{"e":116}]}],"k":162},88],"k":[{"j":[{"e":162}],"r":166}],"n":[{"e":[{"v":61}]},166],"o":[{"p":1,"r":1,"s":1},189],"t":[{"a":[{"k":23,"t":31}],"r":23},689],"u":[{"l":162,"n":85},69],"v":[{"e":[{"d":23,"l":23}]}],"y":173,"ø":310,"å":173}],"s":[{".":166,"a":[{"l":[{"d":22,"s":166,"t":22}]}],"c":162,"e":[{"n":[{"e":1}]},173],"i":[{"n":22}],"j":[{"e":162,"u":[{"k":162}]},12],"k":[{"a":[{"l":22,"r":22}],"v":22}],"l":[{"i":[{"t":22}]}],"n":[{"a":12}],"o":166,"p":[{"r":24}],"s":[{"i":[{"n":53}]}],"t":[{".":166,"e":[{".":166}],"o":162},69],"u":[{"n":22}],"v":54,"y":173,"ø":162,"å":24}],"t":[{".":336,"a":[{".":164,"e":15,"k":[{"a":46}],"r":15},690],"e":[{"a":168,"g":162,"i":162,"k":162,"l":2,"r":[{"a":1,"o":15}],"s":162}],"i":[{".":6,"k":89,"s":89},285],"j":[{"a":109,"e":[{".":166},162]}],"l":191,"n":166,"o":173,"r":406,"s":0,"t":[{"e":[{"r":[{"s":38}]}]}],"u":173,"v":173,"y":173,"ø":168}],"u":[{"m":164,"n":162,"r":[{"e":[{"n":[{"e":33}]}]}],"t":28}],"v":[{"a":[{"n":[{"e":[{".":36}]}],"r":346}],"d":23,"i":[{"s":[{"a":5}]}],"n":[{"e":[{".":23}]},153],"r":12,"å":[{"g":164}]},173],"y":[{"n":173}],"ø":173,"å":173},172],"é":[{"a":173,"b":168,"e":162,"f":162,"j":162,"k":162,"l":173,"o":162,"p":168,"r":301,"s":162,"v":173},172],"f":[{"a":[{"n":[{"e":[{".":23}]}]}],"e":[{"e":[{"t":[{".":31}]}],"s":17},168],"i":[{"s":[{"k":[{"e":[{"n":159}]}]}]}],"l":[{"å":18}],"o":[{"r":[{"a":32,"l":[{"ø":186}]}]},38],"r":[{"a":[{"s":17}],"i":[{"e":[{"r":[{"e":80}]}]}]}],"y":[{"r":[{"s":14}]}],"æ":337,"ø":[{"r":[{"e":[{"n":39,"r":22}],"i":22}]}]},181],"g":[{"a":[{"l":23,"v":[{"a":32,"e":[{".":23}]}]}],"e":[{"n":[{"s":49}],"s":[{"t":23}]}],"å":[{"v":[{"a":23,"e":[{".":23}]}]}]},691],"h":[{".":162,"a":[{"k":28,"t":152,"u":90}],"e":[{"a":5,"i":692,"r":[{"i":[{"f":693}]}],"t":[{"t":525}]},168],"i":[{".":0,"p":11,"s":[{"k":15}]}],"j":162,"o":[{"p":[{"p":306}],"r":[{"t":164}],"w":166}],"s":168,"u":173,"y":248,"ø":[{"l":32,"v":[{"a":31,"e":[{".":31}]}]},149],"å":152},153],"i":[{"a":[{"l":[{"v":80}],"m":417,"n":[{"s":2}],"p":162,"v":162}],"b":[{"l":7}],"d":[{"a":694,"e":[{".":695,"n":218,"o":223,"r":[{".":15},0],"t":[{"e":1}]}],"o":224,"r":[{"a":32},187],"y":162}],"e":[{"g":162,"l":69,"n":23,"r":[{".":15,"e":[{"n":4}]}],"s":[{"t":12},23]}],"f":[{"e":168,"l":12,"o":173,"r":85,"u":173,"ø":162}],"g":[{"e":[{"r":[{"s":103}]}],"i":162,"l":[{"o":181}],"r":15},164],"h":162,"k":[{"a":12,"e":[{".":15}],"h":599,"k":[{"a":[{"r":[{"t":[{"e":[{"t":46}]}]}]},23],"e":[{"l":53}],"o":23}],"o":[{"m":1,"p":1,"s":1,"t":1},18],"t":[{"s":43}]},164],"l":[{".":166,"d":[{"e":[{"l":23,"r":23,"s":23}]},164],"j":22,"k":28,"l":[{"e":[{"s":23}]}],"ø":173},88],"m":[{"e":[{"l":4,"t":162}],"p":173,"u":12}],"n":[{"d":[{"e":162,"u":181}],"e":[{"k":12}],"f":188,"g":[{"s":[{"a":696}],"u":191}],"i":1,"j":162,"n":[{".":178,"a":502,"e":[{".":11,"t":166}],"h":90,"k":38,"l":90,"t":162},173],"o":[{"b":15}],"s":[{"k":[{"e":14}]}],"t":188,"v":162,"ø":4}],"o":[{"v":236}],"p":[{"a":[{".":1}],"e":[{".":6}]}],"r":[{"e":[{".":4,"n":2}],"i":[{".":1}],"k":[{"l":32}]}],"s":[{"e":[{"l":15,"r":[{"f":1}],"v":42}],"i":[{"n":4}],"j":[{"u":168}],"k":[{"e":22},1],"n":1,"t":[{"e":26,"i":1,"o":24}],"y":162},88],"t":[{"a":15,"j":[{"i":32}],"r":[{"a":21,"e":26,"i":1}],"s":[{"v":[{"a":186}]},65],"t":[{"e":[{"r":[{"m":31}],"s":23}]}]},336],"u":[{"m":[{"f":1}],"t":162}],"v":[{"a":[{"n":35},166],"e":[{"k":4}],"i":[{".":6}],"å":[{"t":35}]}]},172],"j":[{".":173,"a":[{".":88,"g":697,"k":[{"k":[{".":515}]}],"m":162,"n":[{"l":162},0],"r":[{"n":152}],"v":285,"z":306}],"b":173,"d":168,"e":[{".":337,"f":[{"i":41,"l":[{"a":23}],"t":17}],"g":24,"k":[{"t":[{"o":271}]}],"l":[{"e":[{"v":23}]},164],"n":[{".":336,"e":504,"t":181}],"r":[{".":337}],"s":626,"t":[{".":337,"t":[{"i":5}]}]}],"f":173,"g":173,"i":[{"m":11}],"k":173,"l":173,"m":173,"n":173,"o":[{"b":173,"k":166,"m":162,"n":[{"s":58},301],"r":173,"u":173}],"p":173,"r":173,"s":173,"t":[{"s":[{"j":698}]},294],"u":[{"a":54,"b":168,"g":306,"k":[{"s":248}],"l":[{"a":32}],"n":162,"r":162,"s":699}],"ø":[{"k":75,"p":54,"r":[{"ø":39}],"s":180,"t":146},504]},172],"k":[{".":167,"a":[{".":173,"b":[{"e":203},162],"d":88,"e":167,"g":241,"k":173,"l":[{"a":[{"r":22},700]}],"m":[{"l":0,"p":175},173],"n":[{"a":248,"d":[{"e":162}],"e":162,"o":162,"t":168}],"p":[{".":334,"a":[{".":401,"s":162}],"e":[{"n":[{".":166}]}],"i":[{"t":168}],"p":162}],"r":[{"a":[{"b":15}],"b":[{"e":2}],"d":166,"k":248,"p":334,"s":168,"t":162,"v":497},224],"s":173,"t":[{"e":162}],"y":167},172],"b":162,"d":168,"e":[{"d":[{"a":0,"o":11}],"h":88,"i":[{"e":[{"r":[{".":17}]}]},11],"l":[{"e":[{"v":701}],"i":[{"k":11}],"t":18,"u":0}],"n":[{".":90,"a":[{"v":11},0],"o":0,"s":38}],"p":[{"t":166}],"r":[{".":38,"o":0,"s":38}],"s":[{"i":24,"m":5,"n":22},458],"t":[{"e":[{"t":0}],"j":702}],"v":11,"y":88},173],"f":173,"h":173,"i":[{".":334,"a":191,"d":162,"e":166,"f":166,"k":337,"l":[{"l":11,"t":337}],"n":[{"e":[{"t":31}],"i":[{"n":23}],"n":[{"s":703}],"o":704}],"o":[{"l":166}],"p":166,"r":[{"e":0,"k":274,"s":15},173],"s":[{".":11,"s":191,"t":248}],"v":504},172],"j":[{"e":[{".":11,"m":[{"a":[{"s":168},166]}],"r":[{"m":[{"e":706},705],"s":191}]}],"o":[{"r":164}],"æ":[{"r":[{"l":248}]}],"ø":[{"n":166,"p":168,"r":[{"e":[{"s":17}]}]}]}],"k":402,"l":[{"a":[{"k":15,"n":97,"s":38},168],"e":[{"g":35,"i":11,"k":12,"r":[{"o":515}]}],"i":[{"n":[{"g":15}],"t":15}],"u":[{"f":169}],"y":[{"d":88}]},174],"m":173,"n":[{"u":153},173],"o":[{"a":162,"d":[{"d":191}],"f":162,"g":336,"i":361,"l":[{"a":502,"e":164,"l":181},172],"m":[{"a":11,"e":149},162],"n":200,"o":162,"r":[{"d":15,"p":[{"i":11}],"s":[{"t":93},152],"t":162}],"s":173,"t":[{"t":164},88]}],"r":[{"a":[{".":413,"l":337,"t":0},6],"e":[{".":374,"f":181,"g":168,"k":338,"t":181,"v":[{"n":166}]}],"i":[{"b":164,"f":164,"g":162,"k":164,"p":164,"t":[{"e":162}],"v":164}],"o":[{"g":337,"n":90,"p":181}],"u":[{"d":4,"s":469}],"y":[{"s":[{"s":168}]}],"å":184}],"s":419,"t":707,"u":[{"d":166,"e":[{"n":[{"d":23}],"r":[{"e":17},23]},253],"f":172,"l":[{"a":[{"n":166,"r":166}],"e":164,"i":[{"s":274}],"l":162,"p":0,"t":162}],"m":[{"s":18}],"n":[{"d":[{"e":[{"r":[{"v":97}]}]}]},173],"p":162,"r":[{"s":525,"v":167}]}],"v":[{"a":[{".":15,"d":164,"s":12}],"e":[{"n":11,"r":12}],"i":[{"t":15}],"u":164},173],"y":[{"a":11,"e":11,"r":[{"e":24},162],"s":[{"s":681,"k":334},162],"t":164},172],"æ":168,"ø":[{".":168,"a":274,"e":162}],"å":[{"r":[{"e":22}],"t":168},172]}],"l":[{"a":[{"d":[{"a":32,"e":90}],"g":[{"e":[{".":32},22]}],"k":[{"e":22,"s":38,"t":164}],"l":164,"n":[{"d":181,"g":[{"s":248}]}],"p":[{"p":[{"e":17}]}],"r":[{"a":[{"n":38}],"e":38}],"s":[{"t":248}],"t":[{"e":[{".":23}]},153],"u":[{"s":525},187],"v":[{"e":164,"i":[{"n":23}]},54]}],"e":[{".":173,"d":[{"a":93}],"g":[{"a":162,"i":0,"n":0,"r":11}],"i":[{"e":[{"r":[{".":17}]}],"v":0},168],"k":[{"e":525,"k":38}],"l":88,"m":[{"e":0}],"n":[{"e":[{"r":11},708],"t":709}],"r":173,"s":[{"j":11,"o":0,"t":11},525],"t":[{"a":0}],"v":[{"a":0},38],"y":162}],"i":[{"a":38,"d":173,"e":[{"n":[{".":23}]}],"g":168,"k":[{"e":22,"k":0}],"n":[{"j":710,"t":116},173],"p":164,"t":[{".":337,"e":178}],"v":248}],"o":[{"b":[{"b":17}],"t":[{"t":[{".":11,"e":[{"t":191}]},103]}]}],"u":[{"a":711,"e":[{"s":22},420],"f":168,"g":162,"k":[{"s":469}],"m":[{"p":[{"e":80},271]}],"n":[{"d":90,"s":38}],"p":11,"s":[{"a":61}],"t":0},172],"y":[{"e":[{"t":[{".":32}]}],"n":253,"s":248,"t":32},153],"æ":[{"r":[{"a":[{"r":[{"i":31}]}]},306]}],"ø":[{"n":173,"p":[{"a":[{".":23}]},525],"r":11,"s":[{"a":86,"i":178},173],"v":[{"a":22,"e":22,"i":22}],"y":[{"d":166,"e":58}]}],"å":[{".":712,"e":0,"n":[{"e":[{"r":22}]},153],"t":172}]},1],"m":[{"a":[{"d":31,"k":[{".":164,"e":[{"n":337}]}],"l":[{"e":[{"t":39}]}],"n":167}],"e":[{"d":[{".":0,"e":0,"i":274,"k":0}],"g":17,"i":162,"k":[{"l":16,"t":0}],"l":[{"d":525,"l":178,"t":337}],"n":267,"r":[{"t":178}],"s":[{"i":11},168]}],"i":[{"a":11,"e":[{"n":[{"e":23}]},0],"g":0,"l":[{".":11,"a":61,"e":11}],"n":[{"i":120}],"t":88}],"o":[{"a":61,"d":[{"e":[{".":32}]}],"k":88,"t":168}],"u":[{"g":[{"g":274},164],"l":[{"a":11,"d":0,"e":11},183],"r":[{"t":166}]}],"y":[{"k":713}],"ø":[{"n":168,"r":[{"s":18},184],"t":162}],"å":[{".":166,"r":22,"t":[{"t":93}]}]},153],"n":[{"a":[{".":167,"b":0,"k":191,"s":181,"t":434,"v":162}],"e":[{".":162,"b":162,"d":[{"d":338},162],"e":11,"g":0,"i":[{"e":[{"r":17}]},164],"k":[{"r":[{"i":23}],"t":152}],"l":0,"m":173,"r":162,"s":[{"a":39,"v":49},168],"t":162}],"i":[{"f":11,"g":[{"l":31}],"k":[{"k":[{"o":17}]},88],"l":336,"n":434,"p":336,"r":5,"t":504,"v":361}],"o":[{".":93,"e":11,"r":[{"d":38}],"t":306}],"u":[{"d":334,"m":90,"r":0,"t":191}],"y":[{"h":167}],"æ":[{"r":[{"e":[{".":23}]}]},173],"ø":[{".":334,"d":[{"r":42}],"e":166,"r":184,"s":54,"v":[{"i":22}]}]},153],"o":[{"a":[{"l":12,"r":6,"v":162}],"b":[{"l":7},188],"d":[{"a":[{".":1}]},172],"e":166,"f":[{"a":[{"g":1,"s":1},176],"f":274,"r":[{"e":274}],"t":176}],"g":[{"a":7,"i":6,"l":2,"n":[{"e":[{"m":31}]}]}],"h":168,"i":[{"d":15},714],"k":[{"n":166,"s":[{"e":[{".":23}]},162]}],"l":[{".":191,"a":[{".":1,"v":22}],"d":172,"e":[{".":1,"i":[{"e":[{"r":14}]}],"n":[{"e":1}]}],"f":19,"i":715,"j":175,"o":[{".":6},7],"s":82,"t":42,"u":[{"m":1}],"ø":1}],"m":[{".":164,"e":[{"n":[{"d":4}]}],"f":[{"a":181},90],"g":187,"h":166,"k":188,"l":162,"m":[{"a":[{"r":[{"a":139}]}],"e":[{"r":[{"e":717}]},249]},716],"r":[{"e":[{"n":191,"r":166}],"å":434},173],"s":[{"l":22,"t":[{"i":22},0],"y":162},153],"t":[{".":166,"a":168},184]}],"n":[{"a":[{".":1}],"d":[{"a":61}],"e":[{"a":6},304],"g":[{"s":124}],"o":85,"s":[{"k":5,"t":22}],"u":7,"y":[{".":1}]},164],"p":[{"a":[{"k":2,"r":35}],"e":[{"t":2}],"p":[{".":164,"a":166,"e":164,"i":23,"l":[{"e":167}]}],"r":12},174],"r":[{".":172,"a":[{"n":12},191],"b":166,"d":[{"a":23},187],"e":[{"k":1},216],"g":[{"a":[{".":191}],"l":23}],"i":[{"e":181,"s":191,"u":15},7],"k":[{"e":162}],"n":22,"s":686,"t":515}],"s":[{"c":248,"e":[{".":6}],"f":168,"j":162,"l":1},172],"t":[{"e":[{".":6},15],"r":[{"a":1}],"s":5,"t":[{"e":22,"i":23}]}],"u":162,"v":[{"a":12,"e":[{".":1,"n":15,"r":[{"e":14}],"s":124,"t":166}],"j":164},173]}],"p":[{".":162,"a":[{"g":[{"h":19}],"k":[{".":191,"a":191,"e":166,"k":167}],"l":[{"l":90,"t":166},88],"n":[{"n":178}],"r":[{"i":164}],"s":[{"e":[{"r":334}]},162]}],"e":[{".":162,"a":23,"d":[{"a":167,"é":39}],"e":0,"i":184,"l":[{"e":[{"g":23,"s":23,"t":166}]},88],"n":[{"g":175,"n":178,"t":0}],"p":38,"r":[{"a":[{"n":[{"d":53}]}],"i":168,"l":162,"r":0,"s":90}],"s":[{"i":164,"t":0}],"t":[{".":155}]}],"i":[{"l":[{"o":274}],"n":[{"g":162}],"o":88,"p":173,"r":[{"e":[{"s":61}],"i":61,"o":61}],"s":[{"s":334}],"z":361},172],"l":[{"a":[{"n":[{"t":522}],"r":35}],"e":162,"i":[{"n":0,"t":164}]},188],"o":[{"e":[{"t":31},173],"l":[{"e":334,"i":306},173],"r":[{"a":0,"e":0,"s":337,"t":[{"s":145}],"v":164}],"s":267,"t":[{"e":90},162],"v":22},4],"r":[{"a":[{"g":301,"n":166}],"e":[{"g":434,"i":[{"k":175},166],"k":[{"e":17},0],"m":90,"n":337,"s":274,"t":337}],"i":[{"n":[{"t":11,"s":[{"i":167}]}],"o":38,"s":710}],"o":[{"b":274,"d":90,"f":162,"g":[{"n":306,"r":306},334],"s":[{"s":334}]}],"u":172,"y":0,"ø":[{"y":164}],"å":166}],"s":361,"u":[{"b":167,"l":173}],"y":[{"d":336}],"ø":[{"l":434,"y":15},504],"å":[{".":301,"d":166}]},7],"r":[{"e":[{"k":[{"a":32,"e":[{".":32}]}]}],"i":[{"e":148,"k":[{"a":32}],"m":[{"a":32}],"v":[{"e":[{".":23}]}]}],"o":[{"e":23,"p":[{"a":31}],"s":[{"a":31,"e":[{".":31}]}],"t":[{"e":39,"o":17},28]},38],"ø":[{"v":54}],"å":[{"d":[{"a":[{".":23}],"e":[{"r":[{"s":31},33]}]}],"m":[{"a":32}]}]},522],"s":[{"a":[{"b":[{"e":[{"l":152}],"l":152}],"e":11,"j":0,"k":[{"e":[{".":32}]}],"l":[{"a":[{".":31}],"l":15}],"m":[{"e":[{".":23}],"p":15}],"n":[{"e":38}],"r":[{".":350,"i":[{"e":[{"n":718}]}],"m":252,"r":0,"v":[{"e":[{".":46}]}]}],"s":4,"u":[{"s":[{"a":46,"e":[{".":36}]}]}]}],"e":[{"e":[{"t":11}],"g":[{"e":22,"g":15},88],"l":[{"i":22,"s":17,"v":[{".":35,"å":80}]},1],"m":88,"n":[{".":38,"a":[{".":32}],"d":[{"e":[{"n":15}]}],"e":38,"i":0,"k":[{"e":[{".":36}]}],"u":0,"å":11}],"r":[{".":38,"a":[{"b":11,"t":11}]}],"s":[{"k":[{"i":0},61],"t":0}],"t":[{".":152,"s":155}],"u":88,"y":0}],"h":88,"i":[{"a":23,"e":[{"r":[{"e":[{"r":77}]}]}],"f":[{"f":0}],"l":[{"o":11}],"m":[{"e":340}],"n":[{"d":367,"i":[{"t":15}],"j":12,"n":12,"s":193}],"s":[{"m":17},439],"v":[{"e":[{"n":[{"d":127}]}]}]}],"j":[{"a":[{"r":[{"g":149}]}]}],"k":[{"a":[{"p":[{"e":1}],"r":[{"a":46},12]}],"n":12,"o":[{"f":12,"g":152,"r":0}],"y":[{".":4,"e":1}],"å":[{"l":15,"p":152},1]}],"l":[{"i":[{"p":93}],"o":69,"y":15},88],"m":88,"n":[{"a":[{"r":4}],"o":7,"ø":[{"d":169,"k":15},1]}],"o":[{"f":88,"k":257,"l":[{"o":22}],"m":[{"a":1},88],"r":[{"a":24,"g":[{"a":0}]}],"v":[{"e":12}]}],"p":[{"i":[{"l":4}],"o":[{"r":1}]}],"r":[{"i":35}],"t":[{"a":[{"d":38}],"e":[{"d":1,"k":12,"l":[{"l":[{"i":120}]}],"p":15}],"i":[{"l":[{"p":2}],"p":152}],"r":[{"e":[{"n":15}],"å":1},31],"u":[{"s":12}],"v":34},7],"u":[{"l":375,"r":90}],"v":[{"a":[{"r":[{"a":16}]}],"e":[{"k":6},69]}],"y":[{"n":[{"a":31}],"r":22}],"ø":[{"y":[{"e":2}]}],"å":11},187],"t":[{".":168,"a":[{".":188,"b":[{"s":203}],"d":[{"a":18,"o":144},719],"f":[{"a":38,"e":164,"l":22,"t":12}],"g":[{"e":61}],"h":162,"k":[{"a":[{".":31}],"k":166,"l":162}],"l":[{".":168,"a":[{"k":22},720],"d":15,"e":[{".":23},162],"i":334,"t":166}],"m":[{"e":90,"m":164}],"n":[{"a":[{".":22}],"d":[{"e":[{".":168}]},178],"e":6,"f":0,"g":[{"s":138},0],"l":12,"o":148,"t":[{"r":97}],"v":12}],"o":162,"p":[{"a":152,"p":0,"å":93},173],"r":[{"i":90}],"s":[{"j":497,"t":248},172],"t":[{"o":[{"p":22},162],"u":24},172],"v":[{"e":164}]}],"b":721,"c":2,"d":173,"e":[{".":361,"a":173,"b":173,"d":[{".":164,"a":0,"t":166}],"e":[{"n":23},88],"f":722,"g":[{".":249,"a":[{"l":120}],"e":0,"h":164,"n":248,"r":0,"s":[{"p":[{"l":166},162]}]}],"h":[{"e":[{"r":23}]}],"i":[{"e":[{"r":17}],"k":[{"n":162}],"n":[{"s":724}]},723],"k":[{".":178,"a":297,"e":[{"t":23},11],"i":0,"n":248,"o":162,"t":0,"v":725}],"l":[{"a":162,"e":[{".":22,"g":38,"v":22}],"i":[{"g":38}]}],"m":[{"d":166,"m":178,"n":166,"ø":162}],"n":[{"a":[{"r":23},17],"e":[{"n":337,"r":0,"s":417}],"g":249,"i":0,"k":168,"o":162,"s":[{"l":14}]}],"o":[{"l":38},162],"p":[{"p":[{"e":[{"r":16}]}]},173],"r":[{".":6,"a":[{"m":0},525],"e":[{"s":[{"t":11}],"v":0}],"f":252,"i":[{"d":0,"s":61,"v":726}],"m":181,"r":168,"u":[{"n":22}],"ø":46}],"s":[{"e":0,"l":[{"e":61}]},173],"t":[{"a":0,"r":77,"ø":11},162],"v":[{"e":162,"i":162,"l":168,"n":166}],"å":168}],"f":721,"g":[{"a":[{"v":[{"e":[{".":36}]}]}],"å":[{"v":[{"a":46,"e":[{".":46}]}]}]},173],"h":[{"e":15},727],"i":[{"a":361,"b":[{"e":38,"l":155},162],"c":[{"k":11},164],"d":[{"e":[{"l":11}]},306],"e":[{"n":22}],"f":[{"t":164},88],"g":[{"e":[{"n":0}],"i":304,"j":84,"n":164}],"j":38,"k":[{"a":274,"e":248,"l":0}],"l":[{".":249,"a":[{"g":23},337],"d":162,"e":[{"g":[{"e":33}]},164],"k":11,"n":168,"o":0,"s":274,"t":[{".":337,"a":274,"e":166}]}],"m":[{"e":[{"r":61},162],"é":168,"u":249}],"n":[{"d":367,"i":11,"n":241,"s":[{"t":11}],"t":11}],"p":[{"p":181,"s":168},184],"r":166,"s":[{"k":306},173],"t":[{"t":162}],"å":162}],"j":[{"a":0,"e":[{"l":166,"n":[{"e":175,"t":97}],"r":164}],"u":162}],"k":173,"l":173,"m":173,"n":646,"o":[{".":88,"f":172,"g":361,"k":[{"s":162,"t":168}],"l":[{"i":164,"j":162,"l":38}],"m":[{"m":155,"s":12,"t":274},162],"n":[{"i":162}],"p":[{"e":12,"p":[{"l":15}]}],"r":[{"d":728,"e":[{"t":23,".":334}],"m":11,"o":18,"s":162}],"s":9,"t":[{"r":53},153],"u":15,"v":[{"a":166}]}],"p":173,"r":[{".":167,"a":[{".":12,"d":248,"f":[{"f":93,"i":168}],"i":[{"l":168}],"l":12,"n":[{"a":[{".":46}],"d":166,"e":162,"s":168},1],"p":168,"r":162,"s":[{".":2,"t":[{".":2}]}],"u":[{"m":337}]}],"e":[{"a":729,"d":0,"i":[{"k":304,"s":15}],"k":[{".":191,"l":15,"s":[{"a":730}]}],"n":[{"i":168}],"r":[{".":15,"s":168}]}],"h":168,"i":[{"a":301,"d":401,"e":166,"g":[{"e":15}],"n":12,"p":731,"s":732}],"o":[{"e":168,"g":229,"k":337,"l":12,"m":733,"n":12,"p":[{".":2,"a":472,"e":11}]}],"u":[{"g":96,"k":689,"m":[{".":15}]}],"y":[{"g":168,"k":[{"t":152}],"t":15},173],"æ":181,"ø":[{"b":274,"k":[{"k":38}],"m":4,"r":162,"s":[{"e":15,"t":38},162],"y":162},184],"å":[{"d":168}]}],"s":[{"a":[{"m":[{"e":[{".":36}]}]}],"y":[{"n":[{"a":46}]}]},310],"t":[{"a":[{"l":[{"e":[{".":36}]}]}],"r":34},642],"u":[{"a":0,"b":184,"d":178,"e":[{"l":23,"r":[{"e":17},23]},88],"m":178,"n":[{"g":434,"n":168,"t":497}],"r":274,"t":722}],"v":[{"e":[{"d":89}]},173],"y":[{"a":173,"d":173,"k":178,"l":31,"n":267,"p":699,"r":[{"s":203},178],"s":[{"k":168}],"v":[{"e":22},162]},172],"ø":[{"k":173,"l":166,"m":168,"p":166,"r":[{"k":168}],"t":166,"v":[{"a":[{".":61,"r":22}],"e":24,"i":22}],"y":6},172],"å":[{"e":337,"k":22},172]}],"u":[{".":162,"a":[{"l":94},296],"b":[{"l":61,"o":24,"s":166,"å":90},734],"e":[{"r":6},172],"f":7,"g":[{"a":[{".":4}],"e":[{".":1}],"g":24},504],"h":7,"i":[{"s":568,"t":[{"a":17}]},735],"k":[{"e":187,"k":686,"r":24,"s":716},7],"l":[{"e":[{".":1}],"f":178,"i":[{"k":1}],"t":[{"r":53}],"u":153,"y":173,"æ":17}],"m":[{"i":[{"d":181}],"o":7,"s":36},336],"n":[{"d":[{".":166,"e":[{"r":525,"t":166}],"i":337,"r":127,"s":301}],"g":[{"e":[{".":23}]}],"i":736}],"o":1,"p":[{"e":[{".":1,"r":203}],"i":49,"r":[{"e":6},737]},336],"r":[{"d":22,"e":[{".":1,"i":563}],"f":172,"i":[{"e":1,"u":1}],"s":[{"k":17,"p":23,"t":[{"i":23}]}]}],"s":[{"a":[{"n":12}],"e":[{".":1,"s":3}],"i":[{"k":1},162],"p":24,"s":24,"y":7},172],"t":[{"r":[{"a":[{".":31}],"e":[{"g":32}]}]},738],"v":[{"i":739},191]}],"v":[{".":168,"a":[{"a":22,"i":17,"k":[{".":166,"e":164,"s":168}],"l":[{"a":23,"e":[{"s":23,"t":168}],"i":334}],"m":304,"r":[{".":0,"e":[{"t":0}],"m":90,"t":178}],"s":200}],"e":[{"g":[{"i":127},200],"i":[{"e":38,"s":178}],"k":[{"a":38,"s":274}],"n":[{"s":337}],"r":[{"d":[{"s":740}],"e":[{"s":32},23],"g":178,"j":337,"k":[{"i":5},38],"m":0,"v":306}],"v":502}],"i":[{"e":[{"l":144},0],"f":[{"t":167}],"g":162,"k":[{"e":[{".":22}],"g":168,"s":[{".":162}],"t":[{"i":248},164]}],"l":162,"n":[{"d":[{"e":[{"l":11}]}],"e":[{"s":23}],"g":[{"s":740}],"k":175}],"r":[{"k":741},162],"s":[{"a":[{".":23}],"e":[{"n":22,"r":22},23]},173],"v":[{"e":39},93]}],"o":[{"l":162,"r":[{"t":16},504]}],"r":90,"u":[{"l":[{"m":334},164]}],"y":[{"e":[{"n":[{"e":16}]}]},742],"ø":184,"æ":[{"s":162}],"å":699},7],"y":[{"c":1,"d":[{"e":[{".":1,"n":15}]}],"e":[{"r":7},166],"k":[{"a":6,"e":[{"r":[{"e":15},1]}],"o":[{"g":4},173]}],"m":[{"e":2},502],"n":[{"d":[{"l":248}],"k":5,"o":83,"s":[{"k":31}],"t":[{"e":24}]},88],"r":[{"a":[{"r":15},1],"e":[{".":1},11],"k":[{"a":23,"e":[{".":23}]},188]}],"s":[{"e":1,"l":7,"t":[{"r":23},21]},567],"t":[{"e":[{"n":15}],"h":20,"t":301},224],"v":[{"å":7}]},172],"z":[{"c":[{"z":34}],"t":[{".":168}]},0],"æ":[{"l":7,"r":[{"e":[{"n":669},669],"i":298,"l":[{"e":33}],"s":112}],"t":[{"e":743,"t":162}]},172],"ø":[{".":162,"d":[{"e":153},7],"f":162,"g":23,"j":162,"k":[{".":301,"e":249,"j":166,"k":[{"j":61},166],"n":[{"a":249}],"o":173,"s":[{"k":23,"e":744,"m":334}],"t":[{"a":23}]}],"l":[{"a":[{".":1}],"e":[{".":1,"t":15}]},178],"m":[{"å":4},336],"n":[{"n":164,"s":153}],"p":0,"r":[{"a":[{"s":1}],"e":[{".":1,"n":[{"d":[{"e":[{".":120}]},26]}],"t":[{"t":39},6]}],"l":191,"s":24,"ø":22}],"s":[{".":162,"a":6},336],"t":[{"a":[{"s":[{"t":2}]}],"e":[{"l":2,"s":15}]},191],"v":[{"e":153,"n":164},173],"y":[{".":267,"a":181,"d":[{"e":[{".":32}]},274],"e":167,"l":164,"n":491,"r":28,"s":699}]},172],"å":[{"g":166,"k":[{"e":151}],"l":[{"e":[{".":1}]},337],"n":[{"d":[{"a":23,"e":[{".":31}]}]},200],"p":[{"a":301,"e":[{"t":15}],"n":200,"u":39},7],"r":[{"a":[{"s":[{"t":[{".":39}]}]},4],"e":[{".":1}],"s":[{"k":24}],"ø":61},7],"s":[{"a":152,"b":0,"e":38,"k":22,"t":22},7],"v":[{"a":16},301]}]}],"v":[{"s":[{"t":[{"e":[{"k":[{"s":[{"t":169}]}],"m":[{"a":[{".":36}]}]}],"i":[{"l":12}]},784],"a":[{".":11,"l":[{"i":152}]}],"e":[{".":11,"g":[{"g":12},0],"l":[{"i":198},89],"n":[{".":38,"g":169,"s":229},23],"r":88}],"i":[{".":11,"n":69}],"k":[{"e":6,"u":[{"m":97}],"v":69},153],"l":[{"a":[{"n":12}],"e":[{"t":4}],"i":[{"k":11}]},153],"m":[{"å":[{"l":[{"a":46}]}]}],"n":[{"a":96,"e":12,"y":12,"æ":12,"ø":193},150],"o":[{"d":15,"m":[{"s":783},17],"n":152,"r":69}],"p":[{"e":7}],"r":[{"e":[{"d":[{"e":[{".":36}]}]}]}],"s":[{"t":40,"å":26}],"v":[{"a":96},69],"ø":[{"k":[{"e":[{".":31}]}],"l":17,"y":[{"e":[{"r":5}]},230]}],"å":[{".":93,"r":[{"e":61}]}]},167],"a":[{"a":[{"m":12,"n":6}],"b":162,"d":[{"j":168,"r":54}],"f":[{"r":31},24],"i":[{"r":22,"s":22}],"k":[{"a":[{".":4,"n":2}],"e":[{"r":15}],"h":168,"i":[{".":6}],"o":162,"r":24,"s":[{"i":304,"j":181,"t":19}],"t":[{"r":17},172],"u":69,"v":24}],"l":[{"a":[{"n":12}],"e":[{"d":1,"k":[{"s":39}],"l":162}],"g":[{"r":41}],"i":[{"e":260}],"l":[{"a":24}],"m":[{"e":[{"s":31}]}],"o":232,"u":[{"n":1},69],"v":162,"ø":[{"y":1}],"å":61}],"m":[{"p":[{"u":32}]}],"n":[{"a":[{"l":181}],"d":[{"s":17}],"e":[{"s":17,"t":1},0],"g":[{"r":23,"s":396},173],"i":[{".":6}],"n":[{"a":[{"n":23}],"i":[{"v":23}],"s":[{"t":[{"i":36}]}]},253],"o":[{"m":1}],"s":[{"e":[{"m":22}],"k":[{"i":19},166],"m":24},0],"t":[{"i":24,"r":39}],"y":1}],"p":[{"o":15},173],"r":[{"a":[{".":1,"k":4,"l":1,"m":1,"p":1}],"e":[{".":1,"g":1,"m":4,"s":1}],"k":[{"a":32}],"m":[{"a":22,"e":[{"e":23}]}],"s":[{"a":23,"k":23,"t":[{"i":53}],"v":23}],"t":[{"a":[{"l":[{"a":33}]}],"e":[{"m":31}],"i":[{"s":415}]}]}],"s":[{"a":[{".":1},162],"e":[{"t":35}],"i":[{"d":168,"e":4,"f":1,"k":1,"l":1,"s":4}],"k":7,"s":[{"a":[{"u":23},17],"e":[{"l":23}],"ø":127}],"t":[{"a":162}]}],"t":[{"a":[{".":12},22],"e":[{"l":774,"r":[{"f":7}]}],"l":[{"e":[{"g":[{"e":[{".":120}]}]}]}],"n":166,"o":69,"r":[{"a":61},4],"s":54}],"u":162,"v":188,"z":1}],"b":[{"a":[{"n":[{"e":[{".":23}]}]}],"e":[{"r":[{"g":17}]}],"o":[{"d":[{"a":31}]}]},174],"d":[{"e":[{"v":152}],"i":[{"n":[{"g":[{"s":740}]}]}],"o":[{"i":152,"n":152}],"r":4,"u":[{"e":[{"n":[{".":31}],"r":31}]}],"ø":152},200],"e":[{".":172,"a":[{"g":4,"r":[{".":4}]},419],"b":173,"c":173,"d":[{"o":[{"b":35,"m":14}],"s":[{"k":42},183],"t":775,"ø":5,"å":36},129],"e":[{"r":1},173],"f":173,"g":[{"a":[{"v":3}],"e":15,"g":[{"s":103},164],"j":173,"l":[{"e":12,"ø":[{"d":20}]},162],"n":22,"o":173,"r":[{"e":[{"t":[{"t":22}]},168],"u":162}],"u":[{"t":1}],"å":26}],"h":173,"i":[{"e":[{"b":32,"n":24},776],"l":[{"l":162}],"t":168}],"j":173,"k":[{"a":[{".":495},162],"e":[{".":1,"d":1,"e":162}],"i":173,"j":162,"l":[{"a":32,"e":32,"i":1},173],"o":173,"r":173,"s":[{"t":[{"r":271},23]},164],"t":[{"a":[{"n":53}],"o":22,"r":53},172],"å":173}],"l":[{".":166,"a":[{"s":26,"t":[{".":166,"p":166}]}],"d":[{".":168,"e":[{"l":23}],"s":167}],"e":[{"d":162,"i":168,"t":191}],"i":[{"s":162,"t":162,"v":168}],"o":[{"c":166},173],"s":[{"e":[{"s":139},24],"m":24,"p":22,"t":22},183],"u":[{"g":162,"n":22}],"v":22,"y":173,"æ":173,"ø":[{"p":[{"a":46}]},173]}],"m":[{"a":15},173],"n":[{"a":[{".":6}],"e":[{"m":162,"t":[{"e":4},15],"v":162}],"i":[{"n":1}],"n":[{"i":47,"l":[{"e":170}]}],"o":7,"s":[{"t":[{"i":31,"r":31}]}],"t":[{"a":36,"r":19,"s":5,"y":162}],"u":[{"s":1},173],"y":[{".":15,"a":162,"m":1}]},172],"o":707,"p":173,"r":[{".":519,"a":[{"k":22,"l":24,"u":167}],"d":[{"e":[{"s":31}],"i":[{"n":31,"r":31}],"v":16}],"e":[{".":12,"d":162,"g":162,"i":[{"g":166}],"k":162,"l":1,"n":[{"g":21,"n":162}],"p":162,"r":15,"s":[{".":15}],"t":[{"t":162,"u":162}]}],"f":[{"ø":[{"r":[{"e":14}]}]}],"i":[{".":35,"a":[{"l":1},18],"e":2,"k":162,"l":24}],"k":[{"n":166}],"m":19,"n":[{"a":[{"l":31}],"s":116}],"o":[{".":35,"m":12}],"s":[{"k":[{"a":[{".":32}],"i":22}],"p":[{"o":61}]}],"t":[{"a":[{"l":[{"a":[{".":91}],"e":[{".":120}]}]}]}],"u":[{"m":[{".":166}]},69],"y":168,"ø":[{"s":777},36],"å":162}],"s":[{".":164,"a":[{"n":15},307],"e":[{"t":162}],"h":162,"i":162,"j":162,"k":[{"i":162}],"l":[{"i":35},173],"m":8,"o":465,"p":[{"e":[{"r":13}]},162],"t":[{"e":[{"d":15,"n":[{"d":47}]}],"o":[{"v":78}],"r":162,"u":162,"ø":162}],"v":[{"a":58},12],"y":[{"n":[{"d":[{"s":166}]}]}],"ø":173,"å":[{"r":[{"e":17}]},69]},0],"t":[{".":172,"a":[{"k":[{"a":167}]},173],"e":[{"g":162,"k":162,"s":778,"v":168}],"i":278,"j":162,"o":[{".":1,"e":16,"k":[{"e":301,"s":[{".":301}]}],"r":1},173],"r":173,"s":172,"t":[{"s":[{"k":17}]}],"v":168,"y":[{"e":46},162]},0],"u":[{"m":6},173],"v":[{"a":[{"k":4,"n":15,"r":35},173],"i":[{"s":[{"a":46}]},173],"s":[{"m":23,"p":23}]}],"ø":173,"å":173}],"ê":172,"f":[{"a":[{"l":[{"l":103}]}],"ø":[{"r":[{"e":[{".":61}]}]}]},188],"g":[{"a":[{".":0,"l":[{"e":[{".":23}],"i":31}],"v":[{"e":[{".":32}]}]}],"e":155,"i":[{".":0}],"j":[{"e":[{"r":[{"s":510}]}]}],"o":23,"å":[{".":0}]},174],"h":[{"ø":[{"r":[{"e":[{".":23}]}]}]},188],"i":[{"a":[{"n":69},172],"b":[{"l":4}],"c":[{"e":[{"s":17}]}],"d":[{"e":[{"o":396},15],"o":158,"r":24,"s":65},172],"e":[{"l":69,"n":[{"d":15}]}],"g":[{"m":23,"u":1,"ø":15}],"k":[{"a":[{"t":1}],"b":166,"e":[{"d":15}],"g":191,"k":[{"e":22}],"n":22,"o":779,"s":[{".":164,"a":22,"l":19}],"t":[{"i":166},162],"ø":158}],"l":[{"a":[{".":15},129],"e":[{"s":133}],"i":[{"n":85}],"j":172,"l":[{"a":[{"n":53}],"e":[{"d":[{"e":[{".":120}]},23],"i":23,"p":49}],"u":274}],"m":22,"o":54,"s":[{"t":[{"i":23}]}],"t":[{"o":16,"r":[{"e":[{"t":31}],"i":23}]}],"ø":7}],"m":[{"p":61,"u":61},162],"n":[{"d":[{"a":[{"u":47}],"l":162,"u":166}],"e":[{"s":[{"t":17}]}],"g":[{"n":162,"o":[{"m":[{".":22}]}],"r":18,"u":148},11],"n":[{"a":24,"e":[{"d":23}],"h":168,"l":248,"s":248,"t":162}],"o":[{"v":[{"e":[{"r":83}]}]}],"s":[{"j":[{"a":61}]},605],"t":[{"e":[{"s":23}],"r":[{"e":22}]}]}],"p":[{"a":[{".":6}],"e":[{".":4}],"s":22}],"r":[{"o":162,"u":191},172],"s":[{"a":[{"b":24,"k":24,"n":[{"d":22}]}],"e":[{"e":1,"n":[{"g":4},12]}],"k":[{"r":[{"e":36}]},129],"m":22,"o":[{"m":24},69],"p":[{"a":39},1],"s":[{"p":5}],"t":[{"i":22}]}],"t":[{"a":[{"k":1}],"e":[{"s":[{"e":15}]}],"j":780,"o":85,"r":[{"a":61,"e":22},1],"s":[{"k":[{"r":22}]}],"t":[{"e":[{"s":781}]}],"u":[{"n":[{"g":[{"e":[{".":120}]}]},26]}],"ø":[{"y":443}]}],"v":[{"a":[{".":1}],"e":[{"s":4}],"i":18}]}],"j":[{"a":153,"e":[{"t":[{"a":53,"e":19,"r":53,"t":18,"u":23}]},153],"i":153,"o":248,"u":[{"t":24}]}],"k":[{"l":[{"e":[{"r":1},1]}],"u":[{"l":[{"e":[{".":23}]}]}]},757],"l":[{"a":[{"b":11,"g":[{"a":31}]}],"e":[{"d":155,"g":155,"i":[{"e":49}],"l":4,"s":[{"e":[{".":23}],"n":38,"t":[{"r":22}],"v":11}]}],"i":[{"v":61}],"s":39,"u":[{"s":[{"a":39}]}]},520],"m":[{"a":[{"l":[{"e":[{".":32}]}]}],"o":[{"d":[{"e":[{".":32}]}],"r":[{"d":103}]}],"å":[{"l":[{"a":32}]}]},188],"n":[{"a":[{"d":90,"k":[{"e":[{".":32}]}],"l":15,"r":155}],"d":[{"y":15}],"e":[{"b":61,"d":[{"e":61},88],"l":[{"e":0,"i":0,"o":0}],"m":88,"r":[{"e":19,"o":0}],"s":[{"t":[{"a":0,"e":11}]},54],"v":88}],"o":[{"r":[{"s":[{"k":[{"a":[{"s":260}]}]}]}]}],"s":[{"p":[{"a":26}],"t":182}],"t":9,"æ":[{"r":[{"e":[{".":23}]}]}],"ø":[{"r":15}]},188],"o":[{"a":[{"l":69,"r":7}],"b":168,"f":[{"f":[{"a":[{"n":32}]}]},173],"g":[{"u":1}],"i":54,"k":[{"o":162,"s":[{"k":18},47]},172],"l":[{"i":[{"t":[{"u":1}]},16],"t":[{"e":[{"s":23}]}]},172],"m":173,"n":[{"a":[{"l":35,"r":35},1],"d":[{"e":22}],"s":[{"h":22},36]}],"p":566,"r":[{"d":[{"a":[{".":32}]},173],"e":[{"n":35},69],"g":188,"o":162,"s":[{"k":16}]}],"s":[{"j":162,"s":[{"e":23}]},172],"t":[{"e":[{"g":1,"l":1}],"r":168}],"v":[{"e":[{".":1}],"i":[{".":4}]},69]}],"p":272,"r":[{"a":[{"k":249,"r":152}],"e":[{"g":[{"i":203}],"n":[{"g":[{"e":168,"i":162,"j":11,"t":11}]}],"t":[{"t":[{"s":103}]}]},153],"i":[{".":11,"d":164,"e":191,"g":[{"a":[{"s":11}]}],"m":[{"a":[{".":31}],"e":[{".":32}]}],"n":[{"g":90,"s":17}],"v":[{"e":[{".":31}]}]}],"o":[{"b":0,"f":0,"k":0,"p":0,"t":[{"e":[{".":32}]}]},153],"u":153,"y":152,"ø":[{"v":[{"e":24}]}],"å":[{"d":[{"a":[{".":32}]}]},153]},782],"t":[{"a":[{".":0,"k":[{"a":[{".":32}]}],"l":[{"e":[{"d":31,"n":39,"v":23}]}],"s":31},54],"e":[{"p":[{"p":38}]}],"i":[{"n":[{"a":32,"e":[{".":32}]}]},229],"r":229,"s":2,"v":151,"y":[{"e":32}]},188],"u":[{"d":[{"d":22,"e":[{"n":[{"t":14}]}],"s":5},129],"é":167,"k":6,"l":173,"n":[{"g":[{"e":[{".":23}]},173]}],"o":356,"t":188},172],"v":[{"a":[{"l":[{"a":32}]}],"e":[{"g":[{"i":[{"n":[{"g":[{".":148,"a":127}]}]}]}],"n":[{"n":[{"i":128}]}]}],"i":[{"k":[{"e":22,"l":127}],"s":[{"a":[{"n":148}],"e":[{".":23}]}]}]},188],"y":[{"a":23,"e":[{"n":[{"s":2}]}]},189],"æ":[{"r":[{"a":69,"e":[{"t":35}]}],"t":[{"a":[{".":6}]}]},172],"ø":[{"d":89,"k":[{"s":175}],"l":[{"i":2},1],"m":[{"m":[{"e":[{"t":23}]}]}],"r":[{"e":[{".":4},164],"k":[{"e":90}],"n":[{"a":[{".":32}]}]}],"s":[{"e":[{".":12}]}],"v":38,"y":[{"e":[{"n":[{"e":[{".":61,"s":39}]}]},31]},187]}],"å":[{"a":172,"e":[{"n":[{"d":162}]},172],"k":[{"a":[{".":6}],"e":[{".":1,"n":[{"e":[{".":35},1]}]}]},0],"l":[{"e":[{".":1}]}],"n":[{"e":15,"u":162},172],"r":[{"e":[{"n":12}]}],"s":[{"a":[{".":6}]}],"t":[{"e":[{"s":15}],"f":168,"å":61}]}]}],"t":[{"a":[{"a":69,"b":[{"o":162,"r":28,"s":28,"u":[{".":1}],"ø":162}],"c":69,"d":[{"a":7,"e":[{"i":59,"t":55}],"s":[{"p":[{"a":22}],"v":77}],"u":4},162],"e":[{"i":168,"k":162,"l":162,"n":[{"d":162,"h":162},172],"s":4},93],"f":[{"e":286,"f":77,"i":[{"s":166}],"l":162}],"g":[{"e":172,"j":162}],"h":167,"i":[{"s":2}],"k":[{".":172,"a":[{".":1,"u":162}],"e":[{"n":2,"r":15}],"k":[{"e":[{"l":61}],"l":42}],"l":[{"a":219}],"r":173,"s":[{"a":[{"l":23}],"e":[{".":31}],"i":23,"j":181,"t":166}],"t":[{"a":[{"l":23}],"i":[{"g":162}],"o":23,"ø":38}],"u":69,"v":24}],"l":[{".":172,"a":[{"m":35,"n":[{"g":22},12],"s":2}],"e":[{"i":[{"e":22},1],"k":1,"r":[{".":15}],"s":128},164],"g":[{"e":[{".":31}]},172],"j":[{"e":[{"s":17}]},191],"l":[{"e":[{"d":23,"g":23,"r":[{"g":175}],"s":16}],"i":[{"g":[{"n":32}]}],"s":[{"a":202}],"y":23}],"o":[{"p":24}],"t":[{"e":[{"r":[{"n":38},168]}]}],"u":663,"å":4}],"m":[{"b":[{"a":[{"n":[{"e":[{".":120}]}]}],"i":90},173],"e":[{"t":162},0],"i":23,"o":707,"v":22}],"n":[{".":11,"a":[{"b":22,"l":181,"r":12,"s":15,"t":15},7],"d":[{"a":[{"k":38}],"e":[{".":334,"l":[{".":152,"e":38}]}],"r":17,"ø":[{"r":[{"e":139}]},103]}],"e":[{"l":1,"m":15,"t":[{"t":162}]},172],"f":[{"a":90,"ø":120}],"g":[{"f":168,"r":434}],"k":172,"l":[{"e":90},173],"m":188,"n":[{"l":164,"o":38,"s":103}],"s":[{"k":[{"a":17},31],"l":597,"t":[{"r":248}],"v":162}],"t":[{"i":[{"l":167}],"r":[{"a":23,"e":306}]}],"v":[{"e":90}]}],"o":707,"p":[{".":166,"a":[{".":1}],"e":[{".":1},172],"i":164,"l":162,"p":[{"a":162,"i":166}]}],"r":[{".":253,"a":[{"k":85,"m":162,"r":[{"e":4}]},11],"b":[{"o":164,"ø":166},173],"e":[{"n":[{"a":343}]}],"k":[{".":306,"a":[{".":32}],"e":248,"i":181}],"r":[{"a":162}],"s":[{"i":39,"p":61,"v":36}],"t":[{"e":[{"s":[{"t":16}]}],"i":[{"k":38,"t":61}],"r":41},162],"å":[{"k":531}]}],"s":[{"a":162,"e":12,"f":634,"i":[{"a":89,"e":18,"f":1,"l":1,"s":289}],"p":23,"s":42,"t":[{"a":[{"s":32}],"o":204,"r":2}],"u":162}],"t":[{"a":69,"e":[{"s":[{"e":[{".":46}]},2],"v":42}],"i":176,"o":[{"p":24}],"s":261,"t":[{"e":24,"r":90}]}],"u":[{".":301,"e":191,"g":248,"k":272,"n":[{"e":[{".":23}]},162],"s":[{"k":23}],"t":173},172],"v":[{"i":[{"n":168}],"l":[{"i":162},164]},173],"x":[{"y":35}]}],"b":[{"a":[{"d":24,"n":28}],"e":[{".":11,"t":[{"e":[{".":31}],"r":[{"a":745},127]}]}],"o":[{"d":[{"a":31}]}],"u":[{"d":[{"a":32}]}],"y":[{"k":24,"s":23,"t":[{"e":61}]}]},520],"c":[{"e":[{"n":5},153],"h":[{"e":22}],"o":38},173],"d":[{"y":[{"p":[{"e":22}]}]},361],"e":[{"a":[{"d":162,"g":265,"k":173,"l":424,"m":31,"n":420,"p":173,"r":[{"b":15},173],"s":23,"t":[{"r":164,"t":162}],"u":173,"v":173}],"b":[{"b":38,"u":[{"d":[{"a":46}]}]},162],"c":[{"e":[{"l":162}],"o":69}],"d":[{"d":[{"i":274}],"e":[{".":164,"b":162,"f":2,"k":162,"l":162,"m":162,"n":15}],"i":[{"l":166},162],"o":[{"e":[{"n":[{".":36}],"r":5,"t":[{".":46}]}],"r":1},162],"s":[{"k":23,"l":23}],"u":168,"y":[{"r":[{"k":33}]},162],"ø":162},173],"e":34,"f":[{"a":167,"i":162,"l":162,"o":[{"r":46},162],"t":[{"e":90}],"ø":164},173],"g":[{"a":[{"t":166},173],"d":181,"e":[{"a":2,"e":35}],"g":[{"a":[{".":32}]},162],"h":173,"i":[{"m":1}],"j":173,"l":[{"a":12,"i":84},173],"s":[{".":167,"p":[{"l":168}],"v":168}],"u":173,"v":[{"i":91}],"å":[{"s":166},173]}],"h":162,"i":[{".":166,"d":307,"e":90,"g":[{"a":[{".":31},90],"e":[{".":381}],"r":168}],"k":[{"n":164}],"l":[{"e":22}],"m":69,"n":[{"f":168,"n":[{"e":1}],"t":[{"e":15}]}],"s":[{"o":168},9]}],"j":173,"k":[{"e":[{"n":2,"r":15}],"i":[{"l":162}],"j":173,"k":276,"l":[{"a":9,"e":[{"d":[{"e":[{".":31}]}]}],"i":23},173],"n":[{"u":162}],"o":173,"r":[{"a":2,"u":3},173],"s":[{".":301,"a":181,"e":90,"p":162,"t":453}],"t":[{"r":148,"s":5,"y":31}],"u":173,"v":107,"y":162,"ø":173,"å":162}],"l":[{"a":[{"k":31,"r":746,"v":164},285],"e":[{".":747,"d":162,"i":162,"k":162,"m":[{"e":162}],"n":[{"e":1}],"r":168,"s":[{"k":15},1],"v":[{"a":4},303]}],"i":[{"d":162,"k":162,"l":162,"n":162,"r":1,"s":162,"t":162,"v":162}],"l":[{"e":[{"f":22,"i":23,"v":23}],"i":[{"g":[{"n":32}]}],"o":23}],"o":173,"s":[{"e":[{"s":139},24],"k":90,"v":77}],"t":[{"e":[{"t":166}]}],"u":[{"t":191},189],"y":173,"æ":168,"ø":[{"p":[{"a":[{".":46}]}]},173],"å":173}],"m":[{"a":[{"e":164,"n":[{"s":1},168]}],"b":[{"a":38}],"e":[{"n":[{"n":168}]}],"i":[{"k":166}],"m":[{"a":39}],"n":[{"e":[{".":22}]},168],"o":[{"r":[{"d":22}]}],"p":[{"e":[{"l":748},22],"o":164}],"s":24,"ø":162},173],"n":[{".":164,"a":[{"b":15,"l":26,"m":32,"n":1,"t":[{".":22},1]}],"c":306,"d":[{"e":[{"n":313}],"r":162}],"e":[{"d":162,"g":15,"m":168,"r":[{"g":168}],"s":166,"t":162}],"g":[{"o":[{"n":191}]},173],"i":[{"g":229,"k":191,"s":166,"v":162}],"n":[{"o":39}],"o":[{"m":1,"r":[{"m":168},15],"t":162,"v":4}],"ó":168,"s":[{"a":24,"k":[{"o":22}],"l":[{"u":31}],"o":24,"v":17}],"t":[{"i":[{"n":53}],"l":[{"e":[{"g":[{"e":[{".":242}]}]}]}]}],"u":[{"m":162}],"y":162,"æ":162,"ø":[{"k":[{"s":22}]},173]}],"o":[{"m":173,"n":166,"p":162,"r":[{"a":4,"i":4,"d":162}],"v":173}],"p":[{"a":[{"k":162,"r":[{"a":49}],"s":162},12],"e":[{"e":191},236],"é":301,"p":[{"e":[{"r":[{"e":31}]}]}],"l":[{"e":149}],"r":162},173],"r":[{"a":[{"c":162,"k":[{"k":2}],"m":[{"m":168}],"p":[{"a":61,"p":162}],"r":[{"e":1}],"s":[{"a":168,"e":162,"t":191}]}],"b":[{"a":[{"n":[{"e":[{".":120}]}]}]}],"d":428,"e":[{"d":162,"f":162,"g":162,"i":[{"s":162}],"l":1,"m":[{".":167,"m":168}],"n":[{"g":[{"a":120},26],"n":168}],"p":162,"r":[{"k":1}],"s":[{"t":[{"i":22}]}],"t":[{"t":162}],"v":[{"o":168}]}],"g":686,"h":164,"i":[{"g":1,"k":162,"s":[{"i":162}],"v":1}],"j":22,"k":[{".":162,"e":162,"h":162,"r":191,"s":749,"t":162}],"l":[{"a":[{"g":[{"a":120}]}],"e":[{"g":[{"e":58}],"v":[{"e":[{".":120}]}]}]}],"m":[{"a":[{".":32}]}],"n":[{"o":24,"s":17}],"o":[{".":15,"e":36,"f":12,"l":[{"l":162}],"m":[{"r":166},162],"s":265,"t":265,"v":36}],"r":22,"s":[{".":166,"j":[{"ø":[{"o":166}]}],"k":[{"l":5,"o":77}],"l":5,"h":5,"m":65,"n":[{"e":36}],"v":22,"ø":[{"k":[{"e":[{".":120}]}]}]}],"t":[{"o":39},750],"u":[{"l":39,"m":167}],"v":[{"i":[{"s":[{"e":120}]}]},61],"y":173,"ø":[{"r":22,"t":162,"v":85}],"å":[{"d":162,"s":85}]}],"s":[{".":166,"a":[{"r":166},173],"e":[{"n":2}],"h":189,"i":[{"d":162,"k":162,"n":465,"t":162}],"j":[{"e":[{"f":168}]},162],"k":[{"a":[{".":751}],"i":168,"o":15},281],"m":[{"å":[{"e":191}]},419],"n":189,"o":285,"p":168,"r":166,"s":164,"t":[{".":166,"a":[{"f":162,"s":22,"t":162}],"e":[{".":558,"i":236}],"i":[{"v":20,"d":166,"k":23,"l":383}],"o":265,"r":265,"y":162,"ø":162}],"u":173,"v":[{"æ":32},281],"y":173,"ø":285,"å":[{"r":[{"e":49},6]},2]},0],"t":[{".":164,"a":[{"k":[{"a":36}],"l":[{"e":[{".":36}]}],"p":1}],"e":[{".":166,"e":5,"g":162,"i":162,"k":162,"m":162},12],"i":[{"k":164,"s":164},173],"j":173,"o":173,"r":752,"s":753,"t":[{"i":22,"s":18}],"u":[{".":166},173],"v":173,"y":173,"å":107}],"u":[{"k":32,"r":153,"s":164},173],"v":[{"a":[{"l":[{"u":1}]},11],"l":164,"o":[{"r":36}],"r":12},173],"y":406,"ø":173,"å":173},172],"é":[{"a":162,"b":173,"f":173,"h":173,"i":173,"l":[{"e":162}],"m":173,"s":[{"e":173,"t":162}]}],"f":[{"e":[{"e":31,"l":23}],"l":[{"å":18}],"o":152},200],"g":[{"a":[{".":0}],"e":[{"a":23,"i":17}],"i":[{".":0,"r":[{"o":[{"s":22}]}]}],"r":[{"e":[{"i":[{"e":33}]}]}],"å":[{".":0}]},397],"h":[{"a":[{"p":0}],"e":[{"a":729,"i":[{"m":17}],"s":[{"i":11}]}],"o":[{"l":[{"i":61}],"r":[{"e":24}]}],"r":164,"u":[{"l":[{"e":22}],"s":31}],"y":[{"r":22}]},188],"i":[{"a":[{"d":173,"g":12,"k":189,"l":[{"l":265,"s":15}],"m":420,"p":189,"s":[{"p":12}],"u":162,"v":173}],"b":173,"c":[{"k":173}],"d":[{"a":[{"n":162},7],"d":61,"e":[{"e":434,"m":236}],"é":300,"i":[{"s":162}],"o":162,"r":162,"u":173,"v":[{"i":103}],"y":168,"ø":162},164],"e":[{"f":173,"i":173,"m":173,"n":[{"h":162}],"r":[{"a":22,"f":162,"k":162,"t":1}],"s":[{"k":12},18],"t":[{"a":162,"t":162},12]},8],"f":[{"a":[{"n":[{"e":[{".":46}]}]},173],"e":173,"l":162,"o":173,"r":[{"å":93},310],"t":[{"e":22},162],"u":173,"ø":162}],"g":[{"e":[{".":35}],"j":162,"n":[{"o":164},173],"u":[{"n":4}]}],"h":173,"i":173,"j":173,"k":[{"a":[{".":12,"r":[{"r":168}]}],"e":[{"t":162},15],"i":236,"j":168,"k":[{"j":23}],"o":285,"r":419,"u":[{"l":[{"a":[{"r":168}],"t":168}]},12],"y":168,"ø":162}],"l":[{"a":[{"g":[{"a":36}]}],"d":[{"e":164},177],"e":[{"i":12},173],"f":[{"e":164}],"g":164,"i":[{"d":24}],"k":[{"e":162,"n":164}],"l":[{"e":[{".":162}],"h":162,"i":[{"n":162}],"ø":58}],"m":162,"n":[{"æ":191}],"s":[{"t":164}],"t":[{"e":162},65],"u":173,"ø":173},0],"m":[{"a":[{"b":2,"t":166}],"e":[{".":1,"d":[{"i":[{"e":166}]}],"r":[{"a":1,"i":166}]}],"l":173,"o":[{"r":755},754],"p":188,"s":61,"u":173,"y":173,"ø":173}],"n":[{"a":[{"b":4,"r":[{"t":22}],"z":162}],"d":[{"u":90},173],"e":[{"m":1}],"f":187,"g":[{"e":[{"s":311}]}],"i":[{"t":226}],"j":274,"k":[{"s":191},173],"n":[{"e":274},187],"o":15,"s":[{"k":14,"p":162,"t":181}],"t":187,"v":[{"a":162},173],"y":162}],"o":[{"l":301,"m":204,"n":[{"s":378}],"p":162,"r":69,"v":69}],"p":[{"a":12,"l":[{"a":4}],"r":162,"s":164}],"r":[{"a":[{"t":5}],"e":[{"f":1}],"o":69},173],"s":[{"a":[{"k":168,"m":162,"n":20}],"e":[{"i":280,"k":162,"l":162,"m":162,"p":162,"r":[{"a":[{".":46}],"s":162}]},12],"i":[{"g":168,"o":162}],"j":[{"e":162,"u":162}],"k":[{"a":[{"n":162},23],"i":[{"l":162}],"o":[{"k":22}],"u":168}],"l":22,"n":162,"o":162,"p":[{"r":[{"å":168}]}],"t":[{"a":[{"t":162}],"i":[{".":23,"l":23}],"r":[{"e":15}],"y":162,"ø":[{"y":6},162]}],"y":173}],"t":[{"a":[{"r":6},2],"e":12,"j":69,"l":164,"r":23,"s":24,"t":164},173],"u":[{"b":162,"t":173}],"v":[{"a":[{"n":[{"d":26}],"r":[{"e":49,"t":26}]}],"i":[{"s":31}],"o":173,"s":[{"i":22,"k":22}]}],"y":162,"æ":[{"r":[{".":15,"e":2,"t":[{".":35}]}]}],"ø":370,"å":173},172],"j":[{"a":[{"g":434,"k":188,"r":[{"n":38}]}],"e":[{".":188,"g":188,"l":173,"n":[{"s":[{"t":36}]},172],"p":168,"r":173,"v":38}],"i":[{"n":[{"g":274}]},188],"o":[{"r":[{"d":38}]},173],"u":[{"b":173,"e":23,"n":173,"r":168,"v":497}],"æ":[{"r":[{"e":[{"s":23}]}]}],"ø":173,"å":162}],"k":[{"a":[{"g":11,"r":[{"a":[{".":32}]}]}],"l":[{"y":49}],"u":[{"l":[{"e":[{".":31}]}]}],"å":[{"p":[{"a":32}]}]},756],"l":[{"a":[{"g":[{"a":23}],"t":[{"e":[{".":32}]}]}],"e":[{"d":[{"a":[{".":31}],"r":0}],"f":11,"i":[{"e":[{"r":[{".":17}]}]}],"s":[{"e":[{".":32}]}],"t":[{"i":22}]}],"i":[{"g":[{"h":[{"t":139},120]}],"n":[{"e":[{"s":31}]}],"t":[{"e":[{".":23}]}]}],"u":[{"e":23,"t":96}],"ø":[{"p":[{"a":[{".":23}]}],"y":[{".":2}]}],"å":[{"n":[{"e":24}],"r":61}]},757],"m":[{"a":[{"d":24,"g":[{"e":[{".":32}]}],"k":[{"u":11}],"m":88}],"e":[{"g":399,"i":[{"n":24}],"k":88}],"i":[{"n":[{"i":120,"s":80}]}],"o":[{"s":88}],"å":[{"l":[{"a":[{".":23}]}]}]},188],"n":[{"a":90,"e":[{"e":11,"l":[{"i":[{"g":152},0]}],"r":[{"e":[{"k":23}],"ø":53}],"s":[{"e":[{".":32}],"k":0,"t":0}]}],"i":38,"o":[{".":93}],"s":[{"k":15}],"æ":[{"r":[{"e":31}]}]},222],"o":[{"a":[{"n":191,"r":[{".":191}],"t":31,"u":168,"v":173}],"b":[{"e":[{"r":36}],"l":151,"s":168}],"c":162,"d":[{"a":15,"e":[{".":35,"r":[{"a":1}]}],"o":164}],"e":[{"k":173,"l":168,"t":23},172],"f":[{"f":[{".":168}],"r":[{"e":90,"i":15}]},173],"g":[{"a":[{"t":107}],"e":[{"n":2}],"g":162,"l":4,"r":[{"a":[{"v":168}],"e":1}],"s":[{"t":24}],"u":7}],"h":173,"i":[{"l":18,"n":189}],"j":162,"k":[{"e":673,"i":12,"j":173,"k":[{"e":[{"n":[{"d":17}]}]},173],"l":12,"s":[{"i":166}],"t":166,"u":173},11],"l":[{"a":[{"r":[{"m":26}],"t":166}],"e":[{"l":[{"e":170},15],"r":[{"a":166}]}],"i":[{"n":[{"e":[{".":46}]}]}],"j":173,"k":[{"i":191},758],"l":[{"a":[{"b":23,"g":23}],"e":[{"g":31,"t":[{"t":31}]}]}],"o":164,"t":[{"r":22}],"å":162}],"m":[{"a":[{".":35}],"b":173,"e":[{"n":[{"e":[{".":15}]}]}],"f":173,"g":162,"i":[{"s":[{"e":15,"t":2}]},12],"k":162,"l":[{"ø":[{"p":[{"a":91}]}]}],"m":93,"r":173,"s":[{".":166},234]}],"n":[{"a":15,"e":[{"d":1,"l":1}],"g":[{"s":78}],"i":[{"b":6}],"o":173,"s":[{"a":24,"l":42,"p":22}],"u":173,"y":[{".":1}]},172],"o":285,"p":[{"l":281,"p":[{"d":162,"g":168,"l":[{"e":274,"æ":248}],"o":23,"t":162}],"r":162}],"r":[{"a":[{"k":1,"l":[{"t":22}],"n":[{"g":22,"t":26}],"s":85},69],"d":[{"a":[{".":32}]},162],"e":[{"g":168,"k":[{"s":61},1],"m":2,"n":[{"t":168}],"r":166,"t":[{"e":22},5]},69],"g":[{"a":162}],"i":[{"n":[{"t":22}]}],"k":[{"u":62}],"m":[{"e":61,"s":17}],"n":[{"a":22}],"s":[{"i":5}],"t":112,"v":[{"e":[{"i":139}]}],"ø":1,"å":162}],"s":[{"a":162,"e":265,"h":7,"j":168,"k":[{"e":22,"u":6}],"p":582,"y":173},69],"t":[{"a":162,"e":15,"i":[{".":6}],"o":[{".":15,"r":1}],"y":168}],"v":[{"a":69,"e":[{"g":2,"r":[{"d":15,"e":16,"s":38}]}]},173],"w":166,"ø":162}],"p":[{"a":152,"i":[{"n":[{"e":61}],"p":[{"i":61}]}],"o":[{"e":[{"t":23}]}],"å":[{"k":0}]},594],"r":[{".":167,"a":[{"b":[{"a":[{"t":634}]}],"f":[{"i":164}],"i":[{"n":61}],"k":[{"a":[{".":32}],"t":[{"o":16}]}],"m":[{"u":61}],"n":[{"e":38,"s":[{"k":[{"e":16}]},249]}],"p":[{"e":24,"o":22},166],"r":42,"s":[{"e":[{".":22,"s":22},166],"é":166}],"t":[{"e":[{".":38}]},88],"v":164}],"e":[{"a":[{"l":[{".":23}]}],"c":54,"d":[{"s":181}],"f":[{"u":90}],"g":[{"i":38},200],"i":[{"n":[{"t":22}]},162],"k":[{".":168,"e":162,"l":162,"o":[{"r":181}]}],"l":[{"a":162}],"n":[{"a":759,"e":22,"g":11,"i":249,"n":181,"s":[{"k":36}]}],"p":[{"e":152,"r":[{"e":[{"s":38}]}]}],"r":[{"o":0,"u":196},88],"s":[{"i":168,"k":[{"o":22}],"l":5,"n":164,"u":38},173],"t":[{"a":0,"o":11,"t":[{"e":[{"d":38,"l":334}]}]},153],"v":[{"a":39},162]}],"i":[{"b":11,"c":187,"d":297,"e":[{"i":61}],"g":[{".":38}],"k":[{"k":0}],"n":[{"a":93,"e":195,"g":248,"n":164}],"o":304,"s":[{"k":274,"t":0}],"t":[{"o":22}],"u":0,"v":[{"i":61},88],"x":166}],"o":[{".":178,"a":[{"r":39},166],"e":164,"f":0,"g":22,"i":[{"n":24},336],"k":0,"l":88,"m":[{".":181}],"n":[{"d":11,"g":337}],"p":[{"e":[{"r":22}]}],"s":[{"k":334,"l":18},88],"v":54}],"u":[{".":93,"a":[{".":191},93],"e":[{"d":166,"t":166}],"g":164,"i":54,"k":[{"n":166}],"l":[{"l":90}],"n":[{"d":90},760],"p":[{"e":162}],"s":[{"a":[{".":22}],"k":304}],"t":[{"a":38,"e":90,"i":90},173],"v":22}],"y":[{"d":[{"r":24}],"g":[{"g":[{"e":17}]},336],"k":[{"k":[{".":191,"e":166}]}],"p":[{"e":[{".":61}]}]}],"æ":11,"ø":[{"a":32,"d":[{".":38,"t":38}],"k":162,"m":162,"r":173,"t":166,"y":[{"a":166,"e":[{"t":49},761],"r":162,"s":168,"t":166}]}],"å":[{"d":[{"a":[{".":32}],"e":[{"t":162}],"r":23}],"k":[{"l":11}],"s":[{"t":90}]}]},1],"s":[{".":168,"a":[{".":38,"b":38,"g":28,"k":[{"s":[{"e":[{".":36}]}]}],"n":[{"g":1},69],"u":[{"r":36}]}],"c":[{"h":[{"a":11,"k":762}]},153],"e":[{".":38,"d":31,"e":[{"r":23}],"g":[{"e":15}],"i":[{"d":5,"g":12}],"m":7,"n":[{".":90,"d":[{"e":1,"i":38}],"k":[{"a":46,"e":[{".":36}]}],"s":38,"t":[{"u":0}]}],"r":[{".":38,"i":90,"k":193,"o":18,"s":[{".":149}]}],"s":[{"k":0,"t":20},1],"t":[{"a":12,"e":[{".":23}]}],"v":182}],"f":[{"æ":1},12],"h":[{"o":[{"p":350}]}],"i":[{"l":[{"l":2}],"n":[{"n":12,"s":193}],"r":38}],"j":[{"e":[{"g":15,"t":[{"s":[{"j":80}]}]}],"o":[{"r":15,"v":[{".":334}]}],"u":[{"k":152,"r":0}]}],"k":[{"a":[{"d":38,"n":0}],"i":[{"s":4}],"j":[{"e":[{"d":169}],"ø":4}],"o":[{"l":[{"l":11},38],"t":152}],"r":[{"e":[{"n":15}],"u":22,"ø":15}],"v":[{"i":35},29],"y":[{".":4,"n":96}]}],"l":[{"o":[{".":252,"t":89}],"u":7,"ø":15},69],"m":[{"i":[{"t":38}],"å":[{"l":[{"a":[{".":36}]}]}]}],"o":[{"d":198,"k":38,"m":[{"s":[{"t":38}]}]},69],"p":[{"e":[{"k":38,"l":90}],"i":[{"k":[{"e":375}]},7],"o":[{"r":89}]}],"s":9,"t":[{"a":[{"b":[{"b":375}],"d":38,"k":12,"l":193,"n":[{"d":38,"g":38}],"r":38,"t":38,"u":4}],"e":[{"d":90,"g":0,"k":0}],"i":[{"g":4,"k":1,"l":[{"k":0}],"n":0,"t":0}],"j":259,"o":[{"l":[{"k":93}],"n":15,"r":[{"s":15}]}],"r":[{"e":[{"e":15,"n":169}],"o":169,"y":12,"å":[{"l":4}]}],"u":38,"v":12},388],"u":[{"a":0,"g":[{"e":61}],"l":[{"i":12},23],"r":34,"s":[{"i":15}]}],"v":[{"i":[{"k":90}]},69],"w":69,"y":[{"k":38,"t":15}],"ø":[{"k":[{"a":32,"n":[{"i":15}]}],"v":15,"y":[{"e":[{"r":46}]}]}],"å":[{"t":46},69]},162],"t":[{"a":[{".":90,"b":[{"a":[{"n":[{"e":[{".":120}]}]}],"o":35},88],"d":[{"r":15}],"f":[{"r":39,"t":12},88],"l":[{"a":[{".":23}],"d":367,"e":[{"l":61}],"l":103}],"n":[{"a":193,"e":149,"g":193,"s":0,"v":0}],"p":[{"p":[{"e":15}]}],"r":[{".":350,"e":120,"r":0,"t":[{"a":4},68]}],"s":[{"e":0,"j":0}],"v":[{"i":12,"k":15,"r":15},0]},153],"e":[{".":90,"a":88,"d":[{"a":0,"e":[{".":38}],"r":93},90],"e":88,"f":[{"f":12},0],"g":88,"i":[{"d":2,"n":24},88],"k":[{"v":61},88],"l":[{"e":[{"v":2}],"i":[{"t":[{"e":[{".":120}]}]}]}],"m":[{"a":[{".":23}],"n":[{"a":46,"e":[{".":36}]},15]},0],"n":[{".":38,"a":0,"e":[{".":38}],"i":0,"s":[{".":155,"e":169},17]},90],"o":88,"r":[{".":38,"e":[{"i":0}],"u":[{"n":17}],"ø":53,"å":0}],"s":[{"e":0,"i":0,"k":[{"e":[{".":36}]}],"l":0}],"t":[{".":38,"a":0,"e":0}]}],"é":153,"h":[{"e":15},93],"i":[{"a":22,"d":[{"e":[{"l":0}]}],"e":24,"f":88,"g":[{"j":53},38],"n":[{"d":12,"e":38,"é":152,"g":38,"i":0,"s":193}],"s":[{"j":0,"t":[{"i":11}]}],"t":[{"e":152}]}],"l":[{"e":[{"d":[{"e":[{".":36}]}]}],"i":[{"n":14}]}],"o":[{".":153,"f":[{"r":38}],"m":[{".":15,"r":152}],"n":[{"n":[{"a":36}]},88],"p":[{"p":12}],"r":[{"a":38,"d":12,"e":22,"i":9,"m":12}],"u":22}],"p":[{"a":[{"r":103}],"å":[{"s":4}]}],"r":[{"a":[{"k":[{"a":35,"e":15}],"m":12,"p":12,"t":2}],"e":[{"p":193,"s":12,"v":12}],"o":[{"m":15,"p":38}],"y":38,"ø":259}],"s":[{"a":[{"f":2,"r":24}],"k":[{"a":[{"n":22}],"j":22}],"l":[{"a":[{"g":[{"a":120}]}]}],"o":[{"k":12}],"t":[{"i":[{"l":[{"l":15}]}],"o":[{"p":22}],"r":[{"a":22}],"ø":[{"y":22}]}]},11],"u":[{"g":[{"l":12}],"m":153,"n":[{"g":[{"e":[{".":36}]}]},69],"t":[{"e":6},69]}],"v":[{"a":[{"l":[{"a":46}]}],"e":15,"u":[{"n":4}]}],"w":38,"y":[{".":38,"e":32,"t":29}],"æ":31,"ø":[{"l":34,"r":153,"v":12,"y":[{"r":472}]}],"å":182},167],"u":[{"a":[{"l":166,"v":303}],"b":[{"a":18,"e":[{".":1}],"å":4}],"d":[{"e":[{"m":4}]}],"e":[{"l":166,"r":[{".":1}]}],"g":[{"l":[{"a":32}]}],"i":[{"n":69}],"k":[{"a":38,"e":153,"t":191},7],"l":[{"a":164,"e":172,"l":[{"e":[{"s":22}]}]}],"m":[{"m":22,"s":23}],"n":[{".":164,"d":162,"e":164,"g":[{"e":[{"s":[{"v":22}]}],"d":168,"s":49}],"i":[{"o":1},274],"n":763,"s":301}],"r":[{"a":[{"n":[{"t":61}],"s":1}],"e":[{"i":303,"k":1}],"i":[{"n":1},5],"o":54,"p":24,"s":42,"u":[{"k":24,"s":15}],"ø":54},336],"s":[{".":172,"a":69,"b":164,"f":164,"i":[{"n":1}],"m":1,"o":22,"s":[{"t":77}],"t":[{"r":36}],"u":22}],"t":[{"g":173,"j":38,"k":38,"r":153,"t":[{"r":[{"å":64}],"e":[{"n":[{"k":31}]}],"o":[{"r":22,"v":17}]}]}],"v":[{"a":[{".":6}]}]}],"v":[{"a":[{"k":32,"n":[{"e":[{".":31}],"g":164,"l":169}],"r":522},1],"e":[{"d":[{"e":[{"l":22}]}],"i":[{"t":164}],"r":[{"t":14},300],"t":[{".":164,"s":191},88]}],"i":[{"k":[{"a":[{".":32}],"l":[{"a":[{"s":93}]}]},38],"l":[{".":337,"a":22,"e":337,"i":362}],"n":[{"g":11}],"s":[{"a":[{".":23}],"e":[{".":23}]}]}],"o":306,"u":[{"n":[{"g":164}]}]},188],"w":[{"a":28},168],"y":[{"d":172,"g":[{"g":[{"e":[{"l":39,"s":22}]}]}],"h":168,"k":[{"k":[{"s":80}]}],"m":[{"e":[{"d":1}]}],"n":[{"e":[{".":1}]},172],"o":274,"p":[{"e":[{"r":[{"e":1}],"t":1},334]},172],"r":[{"a":[{"k":1,"n":[{"n":166}]}],"e":[{"g":168,"p":1,"s":[{"t":17}]}],"i":[{".":1,"e":49,"s":223}]}],"s":[{"k":164,"t":24},7],"t":[{"a":6,"e":[{"l":90,"n":15}]},224],"v":[{"e":[{".":1}]}]}],"z":[{"a":38,"e":[{"l":334}],"l":308},173],"æ":[{"l":15,"r":[{"e":[{"n":[{"e":31,"h":1}],"r":23,"t":23}],"s":42}]},172],"ø":[{"f":[{"l":24}],"k":[{"e":[{"t":35}],"t":[{"a":32}]},188],"l":[{"e":[{"t":393}]},162],"m":763,"n":[{"n":[{"e":[{"s":22}]}]}],"p":[{"s":[{"e":22}]},162],"r":[{"a":[{"s":85}],"i":[{"n":24}],"k":[{".":191,"a":301,"e":166},5],"n":[{"e":22}],"s":[{"t":[{"a":[{".":16}],"e":[{"r":16}],"i":[{"n":17}]}]}],"t":24},88],"s":[{"a":6},23],"t":[{"a":[{".":15},22],"e":12,"t":36},162],"v":[{"d":31,"e":[{"l":[{"e":2}]}]},173],"y":[{"a":22,"e":[{"m":155}],"r":22,"t":[{"e":22}]},0]}],"å":[{"e":[{"n":[{".":1}]}],"k":[{"e":[{"t":[{".":15}]}],"i":15,"r":31},7],"l":[{"a":[{".":35},107],"e":[{"g":1,"l":2}],"s":42}],"n":[{"d":[{"a":32,"e":[{".":31}]}],"e":12}],"p":[{"e":[{".":4}],"n":153},162],"r":[{"e":[{".":4,"p":1,"t":90}],"i":248,"n":497,"s":764}],"s":12,"t":[{"a":[{"k":90}],"e":[{"n":2}]},7]}]}],"u":[{"a":[{"g":2,"k":[{"s":24},153],"l":[{".":153,"a":2,"l":22,"o":24,"u":24}],"n":[{"e":[{".":89}],"l":38,"s":90}],"r":[{".":153,"d":22,"r":0,"s":[{".":38}]}],"s":[{"h":18}],"t":12,"u":765,"v":[{"h":172},153]}],"b":[{"a":[{".":0,"l":[{"t":2}],"n":[{"t":2}],"r":[{"k":15}]}],"b":[{"o":1,"r":7,"u":1}],"e":[{"l":[{"s":17}]}],"h":15,"i":[{"s":[{"t":16},31]}],"j":69,"l":[{"a":[{"n":[{"d":[{"e":[{".":2}]}]}]}],"e":[{"s":124}]}],"r":[{"i":[{"n":15}]},398],"s":173,"u":[{"e":32}],"å":0}],"c":[{"h":[{"e":[{"n":22,"r":22}]}],"i":153,"k":54,"u":22}],"d":[{"a":[{".":90,"s":[{".":152}]}],"d":[{"a":[{"g":1}],"r":7,"s":[{"e":53}],"å":7}],"e":[{"a":[{"r":[{"e":32}]},49],"b":88,"i":[{"e":[{"r":17},14]}],"k":88,"l":[{"u":24}],"p":88,"r":[{"o":11}],"s":88,"t":[{"t":97},151],"v":[{"o":38}]}],"i":[{"a":[{"n":24},183],"e":[{"n":23}],"o":17,"r":2}],"j":[{"i":2}],"l":[{"e":[{"g":[{"e":[{".":36}]},15]}]}],"o":[{"b":152,"e":11,"t":88,"v":[{"e":[{"r":170}]}]}],"r":69,"s":[{"e":5}],"t":12,"v":15,"y":[{"r":[{"a":39}]},178],"å":[{"s":9}]},173],"e":[{"a":10,"i":38,"l":153,"m":[{"n":[{"a":32}]}],"n":[{"d":[{"r":17}],"e":[{"t":206},152],"s":[{"a":[{"r":190}]}]},150],"o":2,"r":[{"a":[{"s":[{"t":149}]}],"e":[{".":1,"n":15,"r":1,"s":1}],"i":15,"l":[{"e":58}],"m":88},153],"s":[{"e":1,"i":7,"k":[{"j":1}],"n":31}],"t":[{"r":32},153],"u":[{"l":46}]}],"f":[{"e":[{".":0,"b":11,"e":31}],"f":[{"e":[{"r":[{"m":26}]}]},182],"i":[{"l":39,"n":[{"e":22}]}],"l":153,"o":[{"a":11,"r":[{"s":18}]}],"r":153,"t":[{"a":[{"n":1},24],"s":[{"l":[{"a":42}],"p":24}]}],"ø":31}],"g":[{"a":[{"g":38,"r":38,"v":97}],"b":[{"y":16}],"e":[{"m":88,"n":38,"r":[{"ø":0},90],"s":626,"t":[{".":155,"a":93}],"v":88}],"g":[{"s":65}],"i":[{"s":38}],"l":[{"a":[{"d":229,"r":[{".":35}]},69],"e":[{".":1,"r":[{".":35}],"s":16}],"y":15},0],"n":[{"a":2,"e":[{".":2}]}],"o":[{".":0},54],"r":[{"e":[{"i":[{"e":[{"r":33}]}]},1],"ø":0}],"s":[{"i":9,"k":23,"o":2,"p":[{"r":34}],"v":[{"a":766}]}],"u":[{"a":[{"y":[{"a":[{"n":[{"s":58}]}]}]}]}],"ø":[{"y":[{"n":15}]}]}],"h":[{"e":[{"l":164}]},153],"i":[{"a":6,"c":221,"d":[{"e":[{"l":22,"n":[{".":22,"s":22}],"r":22}],"i":[{"n":22}]},7],"e":52,"l":[{"l":22},0],"m":153,"n":[{"e":12,"g":153,"n":[{"s":[{"m":[{"i":[{"g":608},159]}]}]}]}],"s":[{"m":153,"t":[{"a":58}]}],"t":[{"e":[{"n":24,"r":22}],"t":153}]}],"j":[{"a":[{"s":0}],"e":[{".":93}],"å":152},153],"k":[{".":162,"a":[{"r":[{"e":120,"t":78},152],"t":38},150],"e":[{".":88,"d":0,"l":42,"m":162,"r":[{"a":[{"n":17}],"e":[{"k":23}],"i":17}]}],"h":[{"o":16}],"i":152,"j":153,"k":[{"a":31,"e":[{"s":[{"t":[{"a":[{"l":2}]}]}]}],"l":219,"n":61,"s":36},162],"l":[{"e":[{"m":38}],"u":[{"t":61},6]}],"n":[{"o":229}],"o":[{"g":169},153],"r":[{"a":88,"u":[{"s":12}]}],"s":[{"a":7,"e":[{"k":1,"l":1,"t":[{"e":16}]}],"i":7,"k":[{"i":2},129],"o":7,"t":22,"u":[{"n":85}],"ø":7},173],"t":[{"e":[{"s":[{"k":42,"l":[{"ø":[{"s":[{"e":81}]}]}]}]}],"i":[{"d":85}],"j":4,"o":[{"r":[{"i":26}]}],"r":564,"s":[{"l":36,"p":24,"v":131,"t":[{"i":23}]}],"u":[{"e":[{"r":[{"a":208,"e":14}]}]}]}],"u":[{"e":31,"l":[{"e":22}]},153],"v":[{"i":[{"k":15}]}],"y":[{"s":46}],"ø":34,"å":9}],"l":[{".":168,"a":[{".":0,"d":61,"f":330,"k":[{"s":206}],"r":[{"t":15}]},153],"d":[{"e":[{"t":1}]}],"e":[{"f":0,"k":88,"l":[{"e":[{"g":[{"e":[{".":91}]}]}]},88],"m":[{"a":22}],"n":[{".":90,"i":11,"s":90}],"r":[{".":38,"e":[{".":38}],"i":24,"l":375,"o":0}],"s":[{"t":[{".":38,"e":[{".":38}]},24]},88],"u":88}],"é":153,"f":[{"l":20,"o":1,"r":1}],"i":[{"e":[{"n":39},46],"k":[{"e":[{".":22}],"h":164}],"n":[{"a":[{".":39}],"e":22,"j":152}]},89],"j":69,"k":[{"a":15,"e":20,"v":85}],"l":[{"a":[{"g":1,"m":1,"r":[{"m":61}]}],"e":[{"g":[{"g":[{"a":91},22]},1],"n":[{"g":4}],"r":[{"e":35}],"s":386}],"i":[{".":6,"g":6,"n":[{"g":[{"s":170}]}],"v":42}],"o":[{"s":767,"t":6,"v":18}],"s":[{"l":[{"e":22}],"m":75,"t":5,"v":24}],"u":461,"y":4,"ø":7}],"m":[{"u":23}],"o":[{"i":31,"p":15,"v":[{"a":61}]},153],"s":[{"k":1,"p":[{"o":23}],"n":6,"s":46,"t":[{"r":768},7]}],"t":[{"e":[{"g":1,"k":1,"s":1}],"i":[{"l":1,"m":1}],"o":[{"r":2},1],"r":[{"e":85,"i":24}]},162],"u":[{"a":152,"e":90,"k":172,"p":38,"s":38,"t":[{".":35,"a":152,"e":155}]}],"v":[{"a":[{".":2,"n":15,"r":1}],"e":[{".":1,"g":1,"i":1,"s":1}],"t":24,"u":85}],"y":[{"k":[{"k":[{"e":[{"s":17}]}]}]},172],"æ":[{"r":[{"a":31,"e":22}]}],"ø":[{"s":[{"e":24}],"y":[{"e":36}]}],"å":[{"l":20}]}],"m":[{"a":[{"g":[{"e":[{".":32}]}],"r":[{"e":11}],"u":[{"k":[{"e":[{"n":16}]}]},15],"v":12},173],"b":[{"e":15},173],"c":162,"d":162,"e":[{"n":[{"d":0,"h":193,"t":[{"i":271}]}],"r":[{"a":22}]},173],"f":[{"o":173}],"h":173,"i":[{"d":[{"d":11}],"e":[{"n":36}],"n":[{"a":39,"t":0}]},173],"j":[{"a":35}],"k":173,"l":162,"m":[{"e":12,"i":[{"l":1,"s":1}]},162],"n":[{"a":46},12],"o":[{"g":31,"k":15},162],"p":[{"a":[{"n":2}],"l":[{"e":1}],"u":[{"t":118}]},173],"r":162,"s":[{"e":[{".":2}],"k":[{"u":[{"l":[{"e":[{".":91}]}]},1]}],"n":7,"o":[{"r":1}],"t":[{"ø":23},24]},54],"t":[{"a":[{"l":46}]},204],"u":[{"t":15}],"v":[{"e":162}],"ø":[{"r":[{"s":18}],"y":2}],"å":61}],"n":[{".":173,"a":[{"d":[{"a":31}],"l":[{"g":15}],"p":193,"r":155,"s":152,"t":90}],"d":[{".":173,"a":168,"e":[{".":168,"k":1,"l":1,"n":168,"r":[{"s":[{"k":166}],"v":166}],"t":162}],"i":[{"m":21}],"s":[{"i":42},162]}],"e":[{"d":88,"e":0,"i":[{".":155}],"l":[{"e":[{"g":[{"e":[{".":120}]}]}]},88],"n":[{"g":169,"o":0}],"s":[{".":90},454],"v":[{"n":17},88]}],"g":[{"d":172,"e":[{"l":[{"e":[{"g":[{"e":[{".":242}]}]}]}],"m":1}],"j":129,"l":26,"o":1,"r":[{"u":84},129],"s":[{"i":65}]}],"i":[{".":0,"d":88,"f":184,"m":0,"n":90,"o":[{"n":164}],"s":[{"t":23}]},4],"k":[{"l":26,"o":2,"r":1},162],"n":[{"a":[{"k":2}],"e":[{"r":[{"f":22,"s":26,"v":26}],"s":15}],"i":[{"v":1}],"o":7,"s":[{"t":[{"e":22}]}],"t":[{"a":[{"l":[{"a":91}]}]}],"y":85}],"o":[{".":0,"s":375,"t":61}],"s":[{"j":[{"i":79}],"k":[{"r":12,"v":20}],"n":15,"p":9,"t":[{"e":[{"k":12,"l":80,"n":[{"k":40}]}],"o":18}],"v":8},162],"t":[{"a":[{"l":1,"m":1,"s":1}],"r":[{"e":[{"p":22}],"i":1},67],"u":[{"n":[{"g":[{"e":[{".":91}]}]}]}]}],"u":[{"t":15},31],"y":90,"ø":[{"y":[{"d":473,"g":152}]},90],"å":90}],"o":[{"a":35,"b":153,"m":[{"s":61},153],"p":153,"r":[{"d":[{"a":32}],"e":69,"o":15}],"v":153}],"p":[{"a":[{"v":12}],"e":[{"a":536,"r":[{"a":18,"e":[{"n":31}]},38],"t":[{"a":0}]}],"f":168,"h":4,"i":[{".":93,"n":[{"s":12}]},90],"l":[{"i":12}],"n":[{"e":[{"v":4}]}],"o":[{"p":[{"e":39}]}],"p":[{"e":[{"d":1}],"l":[{"a":1}],"r":[{"e":4}],"s":22},8],"r":[{"a":90},162],"s":[{"e":[{"n":4}],"k":[{"e":23},107],"p":[{"r":22}]},168],"t":168,"u":168,"å":[{"v":[{"i":120}]},153]}],"r":[{"a":[{"d":88,"f":[{"t":12},88],"k":259,"l":[{"y":31}],"m":0,"n":[{"e":38,"s":90,"t":[{"r":[{"e":116}]}]}],"r":[{".":38,"l":96,"v":12}],"s":[{".":155,"p":15}],"t":[{"t":12}],"u":[{"k":[{"e":[{"n":49}]}]},2],"v":69},153],"b":[{"o":[{"d":1}]}],"c":1,"d":[{"i":12,"o":26},23],"e":[{"a":[{"l":32}],"e":[{"r":[{"e":120}]}],"g":[{"g":15,"i":[{"s":[{"t":373}]},120]}],"i":[{"n":164}],"l":[{"e":12,"i":0,"l":350,"t":350,"s":193},23],"n":[{"g":169}],"o":[{"m":152,"s":77}],"s":[{"u":0}],"t":[{"a":0,"e":0}],"v":26},153],"f":[{"e":[{"b":1,"d":4}]},173],"g":[{"e":12}],"i":[{".":0,"a":[{"n":[{"e":127}]}],"e":[{"n":[{".":39,"e":53}],"r":[{".":39}]}],"k":90,"m":90,"n":[{"e":22,"n":12,"s":12,"t":12}],"s":[{"p":31}]},153],"k":[{"e":[{"s":223}],"j":[{"a":21},40],"l":[{"a":6,"e":1}],"n":3,"s":22}],"l":[{"a":[{"g":[{"a":46}]}],"e":[{"g":[{"e":[{".":36}]}],"s":[{"e":[{".":46}]}]}]}],"m":[{"a":[{"g":16}]}],"n":[{"e":[{"a":12}],"s":180,"æ":[{"r":[{"e":36}]}]}],"o":[{".":0,"c":11,"e":166,"m":[{"s":17}],"p":[{"i":61,"p":12},88],"r":69,"s":[{"t":[{"a":23}]},65],"t":[{"a":32}]}],"p":[{"e":[{"l":1}],"i":2,"u":[{"t":663}]}],"r":[{"e":2}],"s":[{"a":[{"k":[{"a":46}],"l":1}],"e":[{"l":85}],"i":[{"n":1}],"k":[{"r":1}],"p":[{"e":1}],"t":[{"e":15,"i":[{"l":22}],"j":1}],"v":[{"a":24},7],"ø":129}],"t":[{"e":[{"o":12}],"i":15,"o":1,"r":[{"i":3}],"s":[{"t":5}]}],"u":[{"e":[{"r":[{"e":16}]}],"g":[{"l":2},769],"k":[{"e":23,"n":61},36],"l":4,"m":[{"o":58}],"n":[{"g":5,"k":152}],"v":61}],"v":[{"e":[{"l":1}],"s":24}],"y":[{"s":11}],"ø":[{"d":69,"y":69},28]}],"s":[{"a":[{"n":[{"e":155,"g":12}],"r":[{".":155,"b":206,"e":[{"n":152}],"k":96}],"u":2},162],"c":69,"e":[{"a":[{"l":[{".":23},38]}],"d":[{"v":[{"a":[{"n":[{"l":[{"e":2}]}]}]}]}],"i":259,"k":88,"l":[{"e":0}],"m":88,"n":[{"d":[{"i":97}]}],"r":[{"k":2,"m":169}],"s":[{"i":11}],"t":[{"j":[{"e":46}]}],"v":[{"a":12}]},173],"g":162,"h":[{"a":368,"o":368},88],"i":[{"d":1,"n":[{"d":12,"n":15}]}],"j":[{"a":[{"g":2}],"i":0}],"k":[{"a":[{"f":15,"n":193,"r":[{"a":46}],"t":2}],"e":[{"n":15}],"i":[{"s":97}],"l":[{"e":3,"o":15},23],"o":69,"r":[{"u":2},153],"u":[{"t":77}],"å":206,"y":1}],"l":[{"e":[{"g":[{"e":[{".":36}]}]}],"i":[{"n":15}],"u":0},69],"m":[{"ø":2}],"n":0,"o":[{"k":69,"l":[{"d":47},22],"r":[{"i":90},69],"v":[{"e":[{"r":[{"e":50}]}]}]}],"p":[{"i":[{"n":150}]},69],"s":[{"a":[{"r":15,"t":4}],"j":[{"å":1}],"k":[{"j":1,"o":[{"r":22}],"u":[{"r":1}]}],"l":54,"m":[{"i":2,"ø":61}],"t":[{"i":26,"r":1}],"v":7}],"t":[{"a":[{"n":[{"d":[{"e":11}]}],"t":0,"v":12}],"e":[{"d":12,"i":38,"n":2,"t":[{"t":[{"e":39}]}]},88],"i":[{"g":149},15],"j":69,"o":[{"f":22,"n":[{"n":61},91],"r":15,"v":19}],"r":[{"a":[{".":6,"n":6,"r":6}],"e":[{"n":22},11],"i":1,"o":12,"ø":[{"d":22}],"å":428}],"u":[{"t":61}],"å":0}],"u":[{"n":[{"g":12}],"r":88}],"v":[{"a":[{"l":[{"e":38,"t":252}],"n":46}],"i":[{"k":[{"a":[{".":46}]}]}]},69],"æ":[{"l":[{"e":39}]},168],"ø":[{"m":31,"y":69}]}],"t":[{"a":[{"e":153,"g":[{"g":152},88],"l":[{".":155,"b":12,"d":15,"l":90}],"n":[{"d":[{"e":38}],"o":61,"v":4}],"r":[{"m":12,"t":12}],"s":[{".":38,"a":512,"e":512},177],"u":770}],"b":[{"a":[{".":1}],"e":[{"d":46}],"i":162,"y":[{".":4}]},172],"c":[{"h":17}],"d":[{"a":[{"t":[{"a":[{".":16}]},162]}]},172],"e":[{".":88,"a":88,"e":0,"i":0,"k":[{"s":[{"t":38},12]},88],"m":[{"a":[{".":31}],"m":38,"t":155}],"n":[{"a":11,"k":90,"u":0},7],"o":88,"r":[{"ø":11},173],"s":771,"t":[{"a":0,"t":90}],"u":4,"v":[{"a":33}]}],"f":[{"a":[{"s":16}],"ø":[{"r":[{"e":17}]}]},172],"g":[{"å":[{"e":167}]},172],"i":[{"f":169,"k":[{"k":[{"u":120}],"u":33}],"l":[{"i":0}],"v":[{"e":[{"n":11}]}]},434],"j":[{"e":[{"n":38}],"u":4},69],"l":[{"e":[{"i":164}],"ø":[{"s":[{"e":17}]}],"å":[{"n":[{"a":16}]}]}],"m":[{"å":[{"l":[{"e":17}]}]}],"n":[{"i":93,"y":172}],"o":[{"m":[{"s":2}],"s":22,"v":23},173],"p":[{"r":164,"å":1}],"r":[{"a":[{"d":[{"i":229}]}],"e":[{"n":[{"g":38}]},12],"i":[{"v":90}],"o":[{"l":90,"s":90}],"u":[{"l":149},166],"ø":[{"d":35},1],"å":[{"k":350}]},69],"s":[{".":162,"e":[{"i":162,"t":[{"j":[{"a":208}]}]}],"j":173,"k":12,"t":166},772],"t":[{"a":[{"k":[{".":191,"e":166}]}],"e":[{"r":[{"k":1}],"v":[{"a":22}]}],"i":[{"d":1,"l":1}],"o":[{"r":[{"e":[{"a":15}]}]}],"r":[{"a":1,"y":164},69],"s":180,"å":[{"r":6}]}],"u":[{"e":22,"n":[{"g":[{"e":[{".":46}]}]},97],"t":230},153],"v":[{"i":[{"l":89,"s":[{"e":17}]}]},172],"y":[{"d":731,".":93},361],"z":167,"ø":[{"r":38,"s":[{"t":16},119],"v":773,"y":[{"a":15}]},69],"å":[{"k":2,"l":90,"n":69,"r":2}]}],"u":[{"m":[{"a":152,"e":38}],"t":152},153],"v":[{"e":[{"d":[{"i":22}],"i":[{"n":24}],"r":[{"i":[{"s":31}]}],"s":[{".":152},24],"t":[{"ø":17}],"v":11}],"i":[{"k":31},38],"r":[{"a":15}],"s":[{"a":35}],"u":38,"ø":[{"r":[{"e":39}]}]},153],"w":153,"x":[{"a":25},281],"y":[{"a":4,"n":152}],"æ":[{"r":[{"l":[{"e":[{"g":[{"e":33}]}]}]}]},153],"ø":[{"v":22},154],"å":[{"r":[{"a":155,"e":152}]}]}],"w":[{"a":[{"l":[{"d":166,"k":[{"o":78},23],"l":23},4],"p":173,"r":[{"d":[{"e":[{"r":127}]}]}],"s":[{"h":18}],"t":172,"z":12},88],"b":[{"o":[{"y":17}]},153],"e":[{"a":[{"t":[{"e":58}]}],"b":2,"g":12,"r":[{"e":15}],"s":[{"s":24,"t":[{"e":[{"r":[{"n":51},123]}]}]},28],"t":[{"t":5},22]},7],"i":[{"a":[{"r":[{".":35}]}],"c":[{"h":18,"z":164}],"d":12,"e":[{"n":557,"r":[{".":35}]}],"f":15,"n":[{"i":12}],"r":[{"a":15,"e":[{"n":12}]}],"t":[{"a":15}]},785],"k":[{"r":12}],"l":153,"m":153,"n":[{"s":15}],"o":[{"b":22,"u":[{"t":16},31]}],"s":[{"k":4},89],"u":[{"r":[{"s":36}]}],"y":[{"o":[{"r":[{"k":203},183]},153]},7],"z":153}],"x":[{"a":[{"n":[{"t":22}]}],"b":152,"f":90,"g":[{"a":31}],"h":152,"i":[{"c":153,"d":334,"e":9}],"k":38,"l":153,"p":154,"r":90,"s":150,"t":152,"u":11,"y":7}],"y":[{"a":[{"b":2,"c":172,"f":15,"h":1,"k":[{"t":[{"e":[{".":31}]}]},153],"l":7,"m":152,"n":[{".":11,"a":88,"e":[{".":1}],"k":61,"s":[{"l":61}]},153],"r":[{"k":153,"r":152}],"s":[{"i":15},23],"t":15,"v":153}],"b":[{"a":[{"n":[{"e":[{".":23}]}]}],"b":[{"e":[{"d":1}]}],"d":[{"e":18}],"o":28,"u":[{"e":[{"r":[{"e":16,"n":61},31]}]}],"y":[{"g":17}]},153],"c":[{"e":[{".":93}],"é":93,"o":228},153],"d":[{"a":[{"b":11,"v":15}],"d":[{"e":[{"l":[{"a":4}],"p":1}]},162],"e":[{"n":[{"h":96}],"o":0,"p":88,"r":[{"o":0}]}],"i":[{"s":259}],"j":[{"e":4,"i":69}],"o":[{"p":12,"v":15},23],"r":[{"a":[{"u":786}],"e":[{"m":15},69],"i":206,"o":[{"k":[{"s":786}]},0]},153],"s":[{"i":12,"v":23}],"u":[{"n":69},88],"ø":[{"m":0,"r":17,"s":69},23]}],"e":[{"d":[{"l":32,"r":[{"e":4}]}],"k":[{"s":38},88],"l":[{"e":[{"n":1,"t":4}],"s":[{"j":53,"k":23,"m":18,"t":47}]}],"m":88,"n":[{"e":[{"r":93},252],"h":88,"i":15,"k":88,"l":[{"e":[{"g":[{"e":[{".":120}]}]}]},88],"s":[{"e":0},5]},7],"r":[{"e":[{"l":1},92],"n":90,"s":[{"k":32,"t":0}]}],"s":[{"m":15},28],"t":[{"e":35,"y":15},7],"v":88},187],"f":[{"a":[{"n":49}],"j":[{"e":[{"l":[{"l":190}]}]}],"l":[{"e":[{".":15},0]}]},153],"g":[{"a":[{".":93,"v":[{"e":[{".":32}]}]}],"d":[{"a":[{"l":1}],"e":[{"k":1,"l":1,"p":1}],"o":7,"r":129,"y":129,"ø":7}],"e":[{"i":22,"n":[{"s":17}],"r":[{"e":[{"t":11}]}],"s":88,"v":0}],"g":[{"a":[{"m":4,"r":[{"t":61}]}],"e":[{"s":103}],"j":15,"l":22,"r":4,"s":82,"u":4,"å":3}],"i":28,"l":[{"o":38}],"m":2,"r":4}],"h":[{"e":[{"s":17}]},153],"i":[{"n":[{".":155}],"s":[{"t":61}]},153],"j":153,"k":[{"a":[{"p":18,"r":[{"a":11}]},153],"e":[{"l":[{".":152,"e":[{"n":38}],"i":90,"s":152}],"n":90,"r":[{"e":[{"l":0}],"o":0},90],"t":[{".":38,"s":155}]},88],"i":153,"j":[{"a":[{"r":[{"e":38},0]}],"e":[{"v":[{"a":[{"n":[{"e":[{".":242}]}]}]}]}]},153],"k":[{"a":[{"n":[{"a":1}]}],"e":[{"n":[{"h":26}],"s":[{"j":15,"t":[{"a":116}]}]}],"j":69,"n":[{"i":22}],"s":[{"k":86,"o":86,"s":86}],"v":[{"i":787}],"y":1}],"l":[{"a":69,"e":[{"s":[{"t":4}]}],"o":153,"u":[{"b":90,"s":12}],"æ":38}],"o":[{"a":88,"l":[{"i":11}],"m":[{"o":0}],"s":[{"a":38}],"t":[{"i":38},88]},153],"r":153,"s":69,"u":[{"l":[{"e":[{".":31}]}]}],"v":[{"a":[{"r":12}]}]},168],"l":[{"a":[{"g":[{"a":32}]},153],"d":[{"a":[{"n":1}],"e":[{"r":[{"k":1}],"s":5}],"r":54,"s":[{"k":19}]}],"e":[{"g":[{"e":[{".":31}]}],"s":152,"v":0}],"i":[{"g":[{"h":33}]}],"k":[{"e":[{"s":[{"l":[{"a":[{"g":[{"a":159}]}]}]},43]},183]},10],"l":[{"e":[{"v":1}],"i":[{"s":[{".":22}]}]}],"s":[{"t":[{"r":[{"e":16}]}]},52],"t":[{"e":[{"t":15}]}],"u":[{"s":[{"e":93}]}],"v":[{"e":[{"n":164}]}],"y":153,"æ":[{"r":[{"e":61}]}]}],"m":[{"e":[{"i":11,"t":[{"e":0}]}],"f":[{"e":[{"d":205}]}],"j":[{"a":[{"r":[{"a":15}]}]}],"o":[{".":0,"e":22}],"p":67,"s":[{"a":[{".":6}],"e":1,"l":6},69],"t":[{"a":[{".":4}],"e":[{".":4}]}],"å":[{"l":[{"a":31}]}]}],"n":[{"a":[{"n":[{"d":192}]}],"d":[{"e":[{"s":91,"t":15}]}],"e":[{"l":[{"d":2},88],"r":[{"g":18}],"s":[{"i":91},42],"v":11}],"g":[{"e":[{"l":15,"m":1}],"r":7,"ø":26}],"k":[{"o":18,"v":3}],"n":[{"a":15,"e":15,"s":65,"ø":23}],"o":[{".":0},90],"s":[{"a":[{"r":[{"e":31}]}],"e":[{"m":1,"t":35}],"i":7,"k":[{"e":[{"t":[{".":39}]}],"i":61,"j":[{"e":[{"l":[{"e":61}],"r":[{".":219}]}]},15]},7],"t":1,"u":7,"v":[{"e":[{"r":26}]}]},54],"t":[{"a":[{"p":1}],"e":[{"g":6,"i":22,"k":1,"t":[{"e":4}]}],"r":109}]}],"o":[{"g":[{"a":[{"t":1}],"i":[{".":4}]}],"m":153,"n":[{"n":[{"e":[{"n":22}]}],"u":4},23],"p":150,"r":[{"d":[{"a":31}],"e":15},150],"u":[{"t":17},23]}],"p":[{"e":[{".":88,"e":0,"n":[{"a":0,"e":[{"t":0}]}],"r":[{"e":[{"l":23}]}],"t":[{"a":11}]},6],"i":[{".":0,"n":[{"g":152,"n":[{"a":46},15]}]},153],"l":150,"o":38,"p":[{"a":40,"e":12}],"r":153,"s":10,"t":[{"o":[{"k":1}]}],"u":90}],"r":[{"a":[{"k":[{"a":32}],"l":788,"r":[{"b":152}],"u":169,"v":15},153],"d":[{"a":2,"ø":15}],"e":[{"a":[{"l":152}],"d":[{"d":206}],"i":[{"n":24,"s":38}],"k":[{"k":789},5],"l":[{"s":90}],"m":[{"s":38}],"n":[{"e":39},153],"o":0,"r":[{"e":[{"l":11}],"o":0}],"s":[{"c":22,"t":[{".":38,"e":[{".":38,"n":36},22]}]}],"t":[{"a":0,"e":0,"o":0,"ø":152},153]}],"g":[{"a":2}],"i":[{"n":[{"g":80,"n":12}],"e":[{"n":[{"e":[{".":31}]}]}],"f":0,"k":[{"a":[{".":32}]}],"s":[{"p":36}]},153],"k":[{"e":[{"e":1,"s":5}],"j":15}],"m":12,"o":[{"e":152,"m":[{"m":90}],"p":69,"s":[{"k":38}]}],"r":10,"s":[{"a":[{"n":1}],"e":[{"t":2}],"k":[{"j":4,"r":4},15],"p":7,"t":[{"a":[{"n":61,"r":22}],"e":[{"n":[{"e":61,"s":22}]}],"i":12}],"v":1}],"t":[{"e":[{"k":4},12],"r":[{"a":12},107],"y":46}],"u":[{"l":[{"l":[{"a":[{".":46}]}]}],"t":[{"r":68}]},153],"v":12,"y":153,"ø":[{"k":12,"y":5}],"å":[{"d":[{"a":32,"e":[{"r":[{"s":31},58]}],"i":0},183],"m":88,"s":[{"t":11}],"t":0,"v":0},376]}],"s":[{"a":[{"k":[{"e":[{"r":[{"s":21}]}]}],"l":206},153],"e":[{"b":[{"u":23}],"d":0,"e":[{"i":22},0],"g":88,"k":[{"t":[{"e":206}]},88],"m":88,"r":[{"a":0,"i":[{"d":61,"e":50}]}],"s":[{"j":0,"k":0,"l":382,"t":[{"e":38},0],"u":11}],"t":[{".":155}],"u":0},1],"i":[{"e":32},4],"j":[{"k":38}],"k":[{"a":[{"g":152,"r":[{"a":4,"e":2}],"u":39}],"l":107,"ø":[{"s":22}]}],"m":[{"i":1}],"n":[{"ø":1}],"o":[{"r":169},153],"p":[{"e":7,"i":[{"s":15}],"o":229}],"s":[{"a":[{"k":4,"m":4}],"e":[{"i":85,"k":85}],"i":[{"l":26}],"j":7,"k":[{"o":109,"u":1}],"o":7,"p":[{"e":22},7],"t":[{"a":[{"b":22},1],"i":26}],"u":1,"v":233}],"t":[{"a":[{"r":[{".":93}],"t":1},12],"e":[{"l":12,"n":12,"r":[{"i":[{"e":[{"n":51}]}]},193],"s":[{"l":2}]}],"i":375,"o":[{"p":24}],"r":[{"a":6,"y":20},24],"u":350,"y":4},7],"u":153,"v":[{"e":69}],"ø":[{"m":206}],"å":[{"r":15}]},173],"t":[{"a":[{"n":[{"a":193}]},153],"e":[{"e":88,"f":0,"g":[{"e":9},88],"i":[{"n":24}],"k":[{"a":0,"i":0}],"n":[{"a":0,"o":0}],"o":88,"r":[{"e":[{"t":0}],"o":31,"s":[{"k":[{"e":17}]},120],"ø":19}],"s":349,"t":88}],"h":[{"i":151}],"i":[{"l":274}],"j":[{"a":35,"e":[{"n":15,"r":35}]},11],"m":[{"e":[{"i":1,"s":1}]}],"o":90,"r":[{"a":6,"e":[{".":1,"r":15}],"i":[{"k":1},69],"å":38}],"s":[{"e":[{"n":85}],"k":12,"v":15}],"t":[{"a":20,"e":[{"r":[{"e":[{"n":[{"d":208}]}]}],"s":[{"t":1},120]},23],"i":[{"e":[{"n":[{".":6}]}]}],"s":[{"a":[{"m":[{"e":[{".":120}]}]}]}]},162],"u":361,"y":[{"s":1},153],"å":320}],"u":[{"a":11,"e":93,"g":6,"l":1},153],"v":[{"a":[{"k":0,"l":[{"a":32}]}],"e":[{"d":88,"r":[{"i":[{"a":23,"s":23}]}],"s":[{"e":0,"y":11}],"v":11}],"i":[{"s":[{"a":32,"e":[{".":31}]}]}],"å":[{"r":69,"t":[{"e":22}]}]},153],"w":153,"æ":38,"ø":38,"å":150}],"z":[{"a":[{"b":15,"e":[{"s":162},164],"g":26,"k":[{"h":20}],"n":[{"i":[{"a":14},5]}],"v":672}],"b":[{"u":23},398],"c":153,"d":153,"e":[{"a":54,"b":[{"u":49}],"l":[{"i":17}],"n":[{"s":[{"e":181},24],"t":181}]},172],"f":153,"g":222,"h":[{"a":166,"i":90,"u":38}],"i":[{"e":166,"f":[{"i":172}],"n":[{"g":166,"t":38}],"s":[{"t":[{"y":168}],"v":383,"y":173},172]}],"k":153,"l":187,"m":153,"o":[{".":166,"e":166,"f":8,"n":[{"o":1}],"r":[{"e":15}],"s":168}],"p":153,"r":38,"s":153,"t":187,"u":[{"e":12,"n":153}],"v":153,"z":[{"a":[{".":153}],"e":[{"l":375}]}]}],"æ":[{"b":[{"y":38,"ø":88}],"d":[{"e":38,"i":152}],"f":153,"g":4,"k":[{"e":90,"i":38,"j":[{"a":69,"e":[{".":2,"r":[{".":35}]}]},93],"k":[{"e":[{"l":120},16]}],"l":4},88],"l":[{"a":153,"e":[{".":0,"d":228,"n":[{"a":0}],"v":0}],"j":15,"s":[{"l":[{"e":33}]}]}],"r":[{"a":[{"k":277,"n":[{"e":90,"s":0}],"r":[{"b":[{"e":11},0],"t":[{"e":1}]}],"t":277}],"b":[{"u":[{"e":17}]}],"d":182,"e":[{"a":88,"d":0,"f":88,"g":88,"i":[{"e":36},206],"k":88,"l":[{"d":96}],"n":[{"e":[{".":22,"s":61}]}],"p":88,"r":[{"n":38}],"s":[{"a":[{"m":103}],"k":[{"r":31}],"l":23,"p":23}],"t":[{"a":0,"e":[{"k":0}],"s":155}],"v":88},153],"f":162,"g":[{"e":[{"n":14}]}],"h":[{"ø":46}],"i":[{"e":[{"n":[{"e":127}]}],"l":193,"n":[{"s":12}],"s":[{".":15},31]},153],"k":582,"l":[{"e":[{"g":[{"e":[{".":36}]}]}]}],"m":[{"å":[{"l":[{"a":46}]}]},162],"n":[{"e":345,"å":1},12],"o":[{"m":[{"s":103},17]},790],"r":15,"s":[{"e":[{"l":4}],"i":[{"l":26}],"k":69,"n":[{"o":40}],"p":7}],"u":[{"t":17},259],"v":12,"ø":[{"y":[{"e":16}]},593],"å":34}],"s":[{"e":[{".":93}],"j":88,"k":259}],"t":[{"a":38,"e":[{".":0},162],"h":[{"e":4}],"r":1,"t":[{"a":1}]}],"v":[{"a":[{"r":17},38],"e":[{"s":23}],"i":38}]}],"ø":[{"a":[{"r":[{"e":2}],"u":23},520],"b":[{"e":[{"l":[{"e":[{"v":31}],"i":23}]}],"l":[{"i":92,"u":39},88],"r":1},153],"d":[{"a":[{"g":12,"k":0}],"d":[{"e":[{".":35}]},12],"e":[{".":88,"d":[{"e":0}],"f":11,"l":[{"a":0}],"m":0,"o":0,"r":[{"i":0,"o":0}]}],"j":38,"r":[{"e":[{"d":1,"k":1,"p":1}]},69],"s":[{"c":7,"e":[{"k":3}],"k":[{"e":61,"o":23,"u":791}],"m":[{"u":23}]}],"t":[{"o":[{"m":462}],"r":31}],"u":[{"n":[{"d":12}],"r":169},88],"ø":97}],"e":[{"d":0,"n":[{"e":38}],"p":38,"r":[{"e":92}]},571],"f":[{"e":32,"f":[{"e":[{"l":[{"a":105}]},12]}],"j":4,"l":[{"a":[{".":6}],"e":[{".":6}]}],"n":38,"t":[{"e":[{"s":17}]}]}],"g":[{"a":[{"k":15,"l":15,"r":152,"s":38},7],"e":[{"r":90}],"g":[{"l":15,"å":6}],"j":393,"l":[{"o":[{"v":[{"e":46}]}]}],"n":[{"s":[{"p":127}]}],"r":[{"e":[{".":15,"s":[{".":15}]}]},156],"s":[{"t":[{"e":1,"r":1}]},28],"t":[{"a":17}],"u":303},69],"h":153,"i":[{"e":[{"r":[{".":15}],"n":[{"e":[{".":9}]}]},1],"n":[{"g":38}],"s":[{"k":38}],"t":0},0],"j":153,"k":[{".":168,"a":[{"v":[{"e":[{".":32}]},38]},200],"e":[{"h":11,"l":[{"o":0}],"r":[{"a":[{"d":[{"a":11}]}],"e":[{"l":11}],"u":195}],"s":[{"e":11,"l":93,"t":0},54],"t":[{"e":0}]}],"i":153,"j":[{"a":[{"r":[{"e":38}],"s":38}],"e":153},162],"k":[{"e":[{"l":15,"t":15}],"l":26,"r":22},173],"l":[{"a":[{"g":12,"n":12}]}],"n":[{"a":173}],"o":[{"p":[{"p":15}]},172],"r":[{"a":[{"r":93}]},153],"s":[{"a":[{".":6}],"e":[{".":4,"s":1}],"i":1,"o":7,"t":[{"i":22},617]}],"u":[{"r":[{".":15,"e":15},23]}],"v":[{"e":2}],"y":152}],"l":[{"a":[{"h":88,"m":11},153],"d":12,"e":[{"d":[{"i":0},475],"l":[{"u":11}],"r":[{"o":0}],"t":[{"a":11,"e":195}],"v":88}],"g":[{"e":[{"r":[{"a":1}],"s":[{"v":80}]}]}],"j":69,"k":[{"e":[{"s":16},7]}],"l":[{"e":[{"s":[{"e":1}],"t":[{"i":35}],"v":4}]}],"o":[{"p":2},153],"r":[{"å":5}],"s":[{"e":[{"l":4,"r":[{"e":1}],"s":99}],"t":623,"v":9}],"u":[{"k":38,"t":2}],"v":[{"a":[{"r":1},36],"e":[{"i":85,"k":4,"l":6,"r":[{"k":61}]}],"i":[{"n":85}],"o":22,"r":61}],"y":153}],"m":[{"e":[{".":0,"t":155}],"f":[{"i":172}],"i":[{"n":[{"i":120}]},38],"m":[{"e":[{"d":1,"r":[{"o":1}],"t":[{"r":1},120]}]}],"o":[{"p":12}],"p":[{"e":[{"l":1}]}],"s":[{"p":40,"t":69,"v":[{"i":15}]}],"u":259,"å":[{"l":[{"a":32}]}]}],"n":[{"a":[{"d":7,"l":97,"s":38}],"e":[{"m":88,"s":[{".":90,"e":155}]}],"h":[{"ø":[{"r":[{"e":[{".":46}]}]}]}],"k":[{"r":109}],"n":[{"a":[{"l":1}],"i":[{"t":26},5],"s":[{"a":[{"l":17}],"e":41,"i":[{"d":415}],"k":[{"j":[{"e":17}],"r":[{"e":17}],"u":17}],"l":18,"t":18}],"ø":7},162],"o":[{"m":11}],"s":[{"a":[{".":35,"k":15,"m":15}],"e":[{".":15,"r":12}],"k":[{"j":[{"e":[{"r":[{".":6}]}]},12]}],"t":[{"r":[{"a":49},18]}]},7],"t":[{"a":7,"o":7},54],"u":94}],"o":153,"p":[{"e":[{"d":[{"a":0}],"i":428,"n":[{"u":0}],"r":[{"o":38,"u":0}],"s":5,"t":[{"e":0,"i":0}]}],"i":153,"l":[{"i":12}],"p":[{"l":4},15],"r":153,"s":[{"a":5,"l":[{"a":[{"g":[{"a":91}]}],"e":[{"g":32}]}],"t":[{"e":15,"i":[{"k":94}]}],"ø":26},232]}],"r":[{"a":[{".":88,"f":259,"k":259,"m":217,"n":[{"s":0,"t":193}],"s":[{"a":32,"i":31}],"u":377},153],"d":[{"e":23}],"e":[{"a":88,"d":[{"d":2,"u":11}],"f":88,"g":88,"i":[{"n":11}],"k":[{"l":36,"s":12,"t":15},88],"l":[{"e":[{"s":[{"e":91}],"t":155}]}],"n":[{"g":169}],"o":626,"p":88,"r":[{"e":[{"t":11}],"u":0}],"s":[{".":38,"e":0,"i":11,"k":[{"r":[{"i":[{"v":[{"i":152}]}]}]}],"o":93,"t":0,"v":127},180],"t":[{"a":0},4],"u":69,"v":88},153],"f":[{"e":15}],"g":[{"e":[{"s":17}]}],"i":[{"m":32},153],"j":[{"e":[{"t":1}]}],"k":[{"e":[{"r":[{"i":1}],"s":1}],"l":[{"a":[{"g":219}]}],"n":3,"v":[{"e":1}],"å":1}],"l":[{"a":[{"g":[{"a":46}]}]}],"m":[{"u":[{"t":39}]}],"n":[{"e":[{"r":[{"e":1}],"s":133},23],"u":85,"ø":26}],"o":[{"k":149,"s":[{"t":193},153],"v":23},69],"r":[{"e":[{"k":1,"p":1}],"i":[{"s":26},5],"å":[{"t":1}]}],"s":[{"a":[{"k":[{"a":46},1],"m":[{"e":[{".":36}]}]}],"c":1,"e":[{"s":4}],"i":7,"k":[{"i":15,"r":1}],"l":[{"e":[{"v":31}]}],"o":[{"m":1}],"p":[{"e":1}],"t":[{"a":[{"r":39}],"e":[{"i":14,"n":[{"s":22}]}],"i":[{"g":22}],"o":12},7],"u":39,"v":7,"å":54}],"t":[{"a":[{"r":35}],"e":[{"k":1}],"i":[{"a":405,"d":[{"e":1}],"e":[{"n":[{".":6}]}],"f":4}],"o":12}],"u":[{"m":17,"t":11}],"v":15,"ø":[{"s":8,"v":54}],"å":[{"p":69}]}],"s":[{"a":[{"m":[{"e":[{".":31}]}],"r":[{"a":[{"r":93}]}]},153],"c":153,"e":[{".":88,"m":88,"n":[{"o":53}],"r":[{"i":[{"e":123},58]}]}],"j":[{"o":15}],"k":[{"a":[{"r":2}]}],"l":[{"a":[{"g":1}],"u":0},69],"m":[{"e":7}],"p":150,"s":[{"n":32}],"t":[{"a":[{"s":[{"t":39},6]}],"e":[{"g":4,"r":[{"s":[{"e":15}]}],"t":[{"t":39}]}],"o":[{"f":22,"v":22},183],"r":[{"e":24},54],"ø":5}],"ø":217}],"t":[{"a":[{"k":12,"r":155,"s":[{"a":15},23]}],"e":[{".":88,"a":88,"f":11,"g":[{"e":11}],"i":88,"k":[{"s":230},22],"l":[{"a":[{".":38}]},88],"n":[{"i":0},90],"r":[{".":90,"u":24}],"s":[{"n":61},458],"t":[{"a":0}]}],"r":[{"i":2}],"s":[{"a":69,"p":34,"å":[{"r":[{"e":49}]},40]}],"t":[{"e":[{"r":[{"o":1}],"s":[{"t":4}],"k":[{"s":22}],"t":[{"a":22,"e":22}]}],"a":[{"v":22}],"r":[{"a":22,"i":61}],"s":[{"å":[{"r":[{"e":58}]}]},180],"u":[{"r":1}],"y":1}],"u":153,"y":38},162],"u":[{"g":[{"l":[{"a":32}]}]},150],"v":[{"a":[{"a":15,"n":[{"s":15}]}],"e":[{"i":[{"n":22}],"k":0,"n":[{"o":22}],"r":[{"e":[{"n":242}]}],"s":[{"t":5},54],"t":[{"e":24}]}],"i":[{"k":38}],"l":[{"u":[{"t":21}]}],"n":[{"e":2,"ø":4}],"o":84,"r":[{"e":[{"b":15}]},69],"s":[{"a":35},69],"å":38}],"y":[{"a":[{"l":12,"n":[{".":191,"s":792},28]}],"d":[{"e":[{"k":1,"r":[{"e":1}]}],"i":32}],"e":[{"b":166,"d":[{"e":60}],"e":7,"l":[{"e":1}],"n":23,"p":1,"r":[{"f":1}]}],"g":[{"l":69}],"k":[{"e":[{".":12}],"s":5,"t":22}],"l":[{"e":[{"d":1,"g":1}]},173],"n":[{"a":15,"i":15}],"o":12,"p":[{"e":[{".":12,"l":1}]},168],"r":[{"a":[{".":1}],"e":[{"r":[{".":15}]}],"i":[{"v":36}],"ø":12}],"s":[{"a":[{"r":9}],"i":15,"l":28,"m":1,"p":[{"i":1}],"u":[{"n":[{"d":166}]}]},69],"t":[{"e":[{"i":1,"l":1,"r":[{"e":1}],"s":80}],"i":[{"d":[{"a":16}]}],"r":69,"s":22,"y":779,"ø":15}],"v":[{"e":[{"i":1}],"å":166}]}],"ø":150,"å":149}],"å":[{"a":[{"k":[{"t":[{"a":31}]}],"n":[{"k":[{"a":[{".":32}],"e":[{".":31}]}]},26],"r":[{"a":[{"n":38}]},88],"u":[{"r":[{"e":23}]}]},153],"b":[{"a":[{"n":[{"e":[{".":32}]}]}],"e":[{"r":183}],"o":[{"t":[{"a":39}]}]},398],"d":[{"a":[{"n":152,"r":155}],"e":[{"d":0,"k":0,"m":0,"o":0,"p":0,"r":[{"e":0,"i":0,"o":11}],"s":88}],"i":152,"r":[{"a":1,"e":6}],"s":[{"k":7,"l":[{"a":34,"o":2,"å":12}],"n":8,"p":[{"e":34,"u":2}],"t":[{"e":21},15]},54]},200],"e":[{"l":[{"e":88}],"m":[{"n":[{"a":32}]}],"n":[{"s":152},7],"r":[{"e":[{".":92}],"i":350},90]},187],"f":[{"e":31,"ø":[{"r":[{"e":22}]}]},153],"g":[{"a":[{".":0,"l":[{"d":2}]}],"e":[{".":0,"i":2,"s":88}],"n":[{"a":17,"e":15}],"r":[{"i":[{"n":15}]},1],"s":[{"k":31,"l":15,"p":2,"t":23}],"u":[{"l":23}],"ø":15,"å":[{".":0}]},173],"h":153,"i":153,"j":153,"k":[{"a":[{"n":90,"r":[{"b":0},90],"v":2},153],"e":[{"h":0,"n":[{"a":0,"h":193},90],"r":[{"e":0}],"s":[{"l":0},22],"v":[{"i":38}]}],"i":[{"d":11},153],"j":153,"k":[{"a":15,"l":31,"r":2},69],"l":[{"a":[{"u":2}],"i":[{"s":[{"t":170}]}],"æ":12}],"o":[{"p":[{"p":12}],"s":23},153],"r":[{"a":4,"ø":[{"k":15}],"å":12}],"s":[{"l":61},8],"t":34,"u":[{"l":95},32],"v":[{"a":[{"l":[{"a":[{".":46}]}]}]}],"ø":[{"y":[{"r":[{"a":[{"r":[{".":46}]}]}]}]}],"å":375}],"l":[{"a":[{"m":[{"p":149}],"r":[{"b":11}],"s":155,"u":793,"v":35},153],"d":12,"e":[{"f":88,"i":[{"n":[{"i":15}]}],"k":88,"m":88,"n":[{"h":169,"i":0}],"r":[{"i":[{"s":31}]}],"s":[{"u":[{"n":[{"d":131}]}]},454],"t":[{"e":0}],"v":88}],"g":[{"å":36},15],"i":[{"o":11}],"j":15,"l":[{"a":[{"g":[{"a":36}]}]}],"o":[{"r":12}],"s":[{"a":[{"n":1}],"e":[{"k":1,"r":1}],"i":61,"p":7,"t":[{"i":1}],"y":[{"n":[{"a":46}]}]}],"t":[{"i":[{"d":17},15]}],"u":[{"l":[{"l":[{"a":46}]}]},69],"y":153,"ø":[{"y":[{"e":5},259]}],"å":[{"k":20,"t":[{"e":[{".":32}]}]}]}],"m":[{"e":[{".":11}],"l":[{"i":[{".":1}]}],"o":[{"m":69}],"ø":[{"y":15}]},168],"n":[{"a":[{"r":90,"s":155},167],"d":[{"r":24,"s":[{"a":23,"e":23,"o":23}]}],"e":[{".":0,"d":[{"s":14},5],"i":19,"l":[{"y":120},88],"s":[{".":38}],"t":[{"r":0},90]}],"i":90,"o":15,"y":155}],"o":90,"p":[{"e":[{"n":[{"a":41,"i":53,"s":18}],"r":[{"o":11},38]},7],"i":153,"j":4,"l":[{"a":153}],"n":[{"e":[{".":1}]}],"p":2,"r":[{"a":17},153],"s":129,"t":[{"a":4}],"å":0}],"r":[{"a":[{"k":12,"n":155,"r":[{"a":152}]}],"d":[{"s":[{"t":[{"r":22}]}]}],"e":[{".":88,"i":38,"l":11,"s":[{"t":0},61]}],"f":[{"i":5}],"i":[{"v":152}],"k":67,"l":[{"e":[{".":1}]}],"n":[{"s":22},173],"o":[{"n":12,"p":12}],"p":[{"o":46}],"s":[{"a":[{"f":22}],"e":[{"l":24,"m":12}],"k":[{"o":24,"u":6}],"l":[{"a":[{"g":[{"a":91}]}]}],"o":[{"l":12}],"t":[{"a":24,"e":2,"i":24,"o":2,"u":15}],"u":54,"v":54,"y":15},7],"u":[{"k":9,"n":12}],"y":9,"ø":153,"å":95}],"s":[{"a":[{"u":2},153],"e":[{".":0,"e":0,"i":[{"d":15}],"k":0,"m":0,"r":[{"i":[{"e":50}]}],"s":[{"m":0,"o":0},82],"t":[{"a":22}]}],"h":12,"i":[{".":93}],"k":[{"a":[{".":15}],"e":[{"n":[{"e":35}]}],"i":6,"j":[{"ø":[{"r":375}]},153],"o":[{"p":2}],"r":153,"u":38}],"l":153,"n":[{"e":15,"i":12}],"o":38,"p":[{"l":2},153],"s":[{"a":15,"e":15,"i":12,"k":[{"å":794},24]}],"t":[{"e":[{"i":152}]},187],"u":[{"n":12,"t":2},23],"v":[{"æ":2}],"ø":[{"y":15}],"å":61},7],"t":[{"a":[{".":0,"k":[{"s":14}],"l":[{"a":39,"e":[{".":22,"n":22},203]},28],"n":[{"g":0}],"r":[{"k":0,"m":169}]},153],"e":[{".":88,"a":88,"e":0,"i":259,"k":[{"e":[{".":31}]}],"o":0,"r":155,"s":88}],"f":[{"e":[{"r":[{"d":166}]}]}],"i":[{"d":[{"a":61}]},38],"n":173,"o":[{"v":2},153],"p":168,"r":[{"e":69,"i":[{"p":[{"a":[{".":36}],"e":[{".":46}]}]}],"u":69}],"s":[{"k":15}],"t":[{"e":[{"d":1}],"i":1,"o":24,"r":[{"i":1}],"s":5,"æ":3},69],"u":[{"n":1},69],"v":[{"a":[{"r":[{"a":17,"e":16}]}],"e":15}],"y":38,"ø":[{"v":69}]}],"u":[{"n":[{"g":[{"e":[{".":32}]}]}]},90],"v":[{"a":1,"e":[{"d":586,"g":0,"l":22,"n":[{"i":0}],"r":[{".":155}],"v":88}],"s":40,"y":152,"æ":[{"r":[{"e":[{".":23}]}]}]},153],"ø":[{"y":23},795]}]}',"at-ten-de.be-tre.Ant-wer-pen.Arm-strong.Arm-strongs.Beo-grad.Beo-grads.Brynj-ulf.Brynj-ulfs.Brynj-ulv.Brynj-ulvs.Dansk-øya.Demo-sthe-nes.Gan-dhi.Gan-dhis.Helmut.Kam-tsjat-ka.Me-dina.Nielsen.Nielsens.Not-odden.Not-oddens.Sien-kie-wicz.Steinar.Steinars.Steins-land.Stendhal.Stendhals.Zara-thust-ra.Zara-thust-ras.atten-de.aust-røn.av-ise.aviser.betre.bil-skyss.bil-skyssen.bord-ende.bortan-for.bortre.båt-skyss.båt-skyssen.celle-ska-de.celle-ska-den.celle-ska-der.celle-ska-dene.cheese.dess-uak-tet.dit-over.elev-skys-sen.elev-skyss.et-steds.finger-spitzen-ge-fühl.finger-spitz-ge-fühl.fram-ifrå.før-enn.gi-vet-vis.her-etter.her-etter-dags.hes-te-skyss.hes-te-skyssen.hvor-over.inn-yver.høist-ære-de.kaste-sting.lands-øl.lands-ølet.lands-ølets.langt-ifra.maling-slitt.maling-slitte.midt-etter.midt-skys-sen.midt-skyss.ned-imot.ned-om.ned-yver.noens.næs-ten.nøye-reg-nen-de.opp-imot.oven-ikjø-pet.po-lar-is.po-lar-isen.polis.polisen.promp-te.sel-ves-te.skole-skys-sen.skole-skyss.skrov-is.skrov-isen.smal-enden.spleen.stokk-ende.svart-svidd.svart-svidde.syd-enden.sørpe-is.sørpe-isen.treskje.tvert-om.ukes-kor-tet.ukes-kort.ukes-kort-ene.upp-yver.ut-ørk.ut-ørken.velan.velet".split(".")]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/3932.adapter.js b/public/tools/cloud_sheets/vendor/univer/3932.adapter.js new file mode 100644 index 0000000..e6626a2 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/3932.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[3932],{3932(s,o,a){a.r(o),a.d(o,{Ka:()=>e});const e=["004,002,0002,01,003,0003,021,02,1,032,00004,001,2,00002,0032,21,212,102,03,3,022,222,00003,0004,12,32,202,012,00032,0021",'{".":[{"ა":[{"ვ":[{"რ":[{"წ":[{"ყ":[{"ა":0}]}]}]}],"ი":[{"ა":1}]}],"ე":[{"რ":[{"თ":[{"ხ":1}],"ტ":1}]}],"ი":[{"რ":[{"ტ":1}]}],"უ":[{"რ":[{"ტ":1}],"ფ":[{"რ":2}]}],"ფ":[{"რ":1}]}],"ა":[{"ა":3,"ბ":[{"ლ":[{"დ":4}],"ნ":[{"ვ":4}],"რ":[{"კ":4,"წ":5}],"ს":[{"კ":4,"ტ":4}]},3],"გ":[{"გ":[{"ვ":4,"ზ":4}],"ვ":[{"ბ":4,"დ":4,"თ":4,"კ":4,"ლ":4,"მ":4,"ნ":4,"რ":4,"ს":4,"ქ":4,"ყ":4,"შ":4,"ჩ":4,"ც":4,"ძ":4,"წ":4,"ჭ":4,"ხ":4}],"ზ":[{"ლ":4,"ნ":4}],"ლ":6,"მ":[{"ნ":4},6],"რ":[{"ჩ":4}],"ს":[{"ვ":4,"მ":4,"ხ":4}],"ყ":[{"ვ":4}],"შ":[{"ი":4},7],"ც":[{"დ":4}],"ძ":[{"ვ":4,"რ":4}],"ჭ":[{"რ":4}],"ხ":[{"ვ":4,"ს":4}]},3],"დ":[{"გ":[{"ნ":4}],"ზ":6,"ლ":[{"მ":4,"ფ":4}],"მ":[{"ყ":4}],"ნ":6},3],"ე":3,"ვ":[{"ბ":[{"ნ":4,"რ":4}],"გ":[{"ზ":4}],"დ":[{"გ":4}],"ზ":[{"ვ":4,"შ":4}],"თ":[{"ბ":4,"მ":4}],"კ":[{"მ":4,"რ":4}],"ლ":[{"დ":4,"ნ":4}],"მ":[{"დ":4,"ს":4,"შ":4,"ჯ":4}],"ნ":[{"დ":4,"ძ":4}],"რ":[{"ბ":4,"დ":4,"თ":4,"კ":4,"მ":4,"ჩ":4,"ც":4,"წ":4}],"ს":[{"დ":4,"ვ":4,"თ":4,"კ":4,"მ":4,"ტ":4,"ძ":4,"წ":4,"ხ":4,"ჯ":4}],"ტ":[{"ვ":4}],"ყ":[{"ვ":4,"რ":4}],"შ":[{"ვ":4,"ლ":4,"ნ":4,"რ":4,"ტ":4}],"ც":[{"დ":4,"ლ":4,"ნ":4}],"ძ":[{"ვ":4,"რ":4}],"წ":[{"ვ":4}],"ჭ":[{"რ":4}],"ხ":[{"დ":4,"ვ":4,"ს":4,"ტ":4}],"ჯ":[{"დ":4}]},3],"ზ":[{"რ":[{"დ":4,"ზ":4,"თ":4,"მ":4}],"ს":[{"კ":4}]},3],"თ":[{"ა":[{"ს":8}],"გ":[{"ვ":4,"რ":4}],"ვ":[{"ლ":4,"რ":4},6],"კ":[{"ვ":4}],"ლ":6,"მ":[{"ფ":4,"ყ":4}],"რ":[{"გ":4}],"ქ":[{"ო":9}]},3],"ი":3,"კ":[{"ა":[{"რ":[{"გ":[{"ს":[{".":10}]}]}]}],"ბ":[{"ე":4},7],"დ":11,"ვ":[{"დ":4,"თ":4,"ლ":4,"ნ":4,"რ":4}],"ლ":[{"დ":4,"თ":4}],"რ":[{"თ":4}]},3],"ლ":[{"გ":[{"ვ":4,"ზ":4}],"დ":[{"შ":4}],"თ":[{"მ":4}],"მ":[{"დ":4,"ხ":4}],"ს":[{"კ":4,"ტ":4}],"ტ":[{"ბ":4,"რ":4}],"ღ":[{"რ":4}],"ყ":[{"ზ":4}],"შ":[{"ვ":4}],"ც":[{"რ":4}],"წ":[{"ვ":4}],"ხ":[{"ზ":4,"თ":4,"ს":4,"შ":4}]},3],"მ":[{"ბ":[{"ა":[{"ვ":[{"ი":[{".":12}]}]}],"ლ":4,"ნ":4,"რ":4}],"გ":[{"ვ":4,"ზ":4,"რ":4}],"დ":[{"გ":4,"ვ":4}],"ვ":[{"ლ":4}],"ზ":[{"რ":4}],"თ":[{"რ":4,"ქ":4}],"კ":[{"ვ":4,"ლ":4,"რ":4}],"ლ":[{"ზ":4}],"ნ":[{"თ":4}],"პ":[{"ლ":4}],"რ":[{"გ":4,"თ":4,"ტ":4,"ღ":4,"ჩ":4,"ჯ":4}],"ს":[{"გ":4,"ვ":4,"ტ":4,"წ":4,"ჭ":4,"ხ":4,"ჯ":4}],"ტ":[{"ვ":4,"რ":4}],"ფ":[{"ლ":4,"ს":4}],"ღ":[{"ვ":4,"ლ":4}],"ყ":[{"ვ":4,"ნ":4,"რ":4}],"შ":[{"ვ":4,"ლ":4,"რ":4}],"ჩ":[{"ნ":4}],"ც":[{"დ":4,"ვ":4,"თ":4,"ნ":4}],"ძ":[{"ლ":4}],"წ":[{"ვ":4,"კ":4}],"ჭ":[{"რ":4}],"ხ":[{"დ":4,"ვ":4,"ნ":4,"რ":4,"ს":4}],"ჯ":[{"დ":4}]},3],"ნ":[{"გ":[{"ვ":4,"თ":4,"რ":4,"ჯ":4}],"დ":[{"გ":4,"ვ":4,"ლ":4,"მ":4,"რ":4,"ს":4,"შ":4}],"ვ":[{"თ":4,"ლ":4,"მ":4,"რ":4,"ს":4,"ც":4}],"ზ":[{"რ":4}],"თ":[{"რ":4,"ქ":4}],"კ":[{"მ":4,"შ":4}],"მ":[{"გ":4,"დ":4,"ზ":4,"რ":4,"ს":4,"ტ":4,"ხ":4,"ჯ":4}],"ს":[{"ვ":4,"მ":4,"პ":4,"შ":4,"ც":4,"წ":4,"ხ":4,"ჯ":4}],"ტ":[{"ვ":4,"თ":4,"მ":4}],"ღ":[{"ვ":4}],"ყ":[{"რ":4}],"შ":[{"ტ":4}],"ც":[{"დ":4,"ვ":4,"ლ":4,"მ":4}],"ძ":[{"ლ":4,"რ":4}],"ჭ":[{"ვ":4,"ნ":4}],"ხ":[{"ვ":4,"ლ":4,"რ":4}],"ჯ":[{"გ":4,"დ":4}]},3],"ო":3,"პ":3,"ჟ":[{"რ":[{"ჟ":4}],"ღ":7},3],"რ":[{"ა":[{"ხ":[{"ვ":13}]}],"ბ":[{"დ":4,"შ":4}],"გ":[{"ბ":4,"დ":4,"ვ":4,"ზ":4,"ნ":4,"ს":4,"ძ":4}],"დ":[{"გ":4,"ვ":4,"თ":4,"ლ":4,"მ":4,"შ":4}],"ე":[{"რ":6}],"ვ":[{"ლ":4,"ყ":4,"წ":4}],"ზ":[{"ნ":4}],"თ":[{"ზ":4,"თ":4,"მ":4,"ნ":4,"ქ":4,"შ":4}],"კ":[{"ვ":4,"ლ":4,"მ":4}],"მ":[{"თ":4,"ყ":4}],"ს":[{"დ":4,"კ":4,"ტ":4}],"ტ":[{"ვ":4,"მ":4,"რ":4}],"ფ":[{"ლ":4}],"ღ":[{"ვ":4,"ნ":4}],"ყ":[{"ვ":4}],"შ":[{"ვ":4,"რ":4}],"ჩ":[{"ნ":4}],"ც":[{"ვ":4,"თ":4,"მ":4}],"ძ":[{"ლ":4},6],"ხ":[{"ვ":4,"ნ":4}]},3],"ს":[{"ა":[{"ს":[{"ი":11}],"ხ":[{"ლ":[{"ს":[{".":10}]}]}]}],"გ":[{"ვ":4,"ზ":4}],"დ":[{"გ":4,"რ":4}],"ე":[{"ქ":11}],"ვ":[{"თ":4,"ლ":4,"რ":4}],"თ":[{"მ":4,"რ":4,"ქ":4}],"კ":[{"დ":4,"ვ":4,"ნ":4}],"მ":[{"ე":4}],"ნ":6,"პ":[{"შ":4}],"რ":[{"ვ":4,"შ":4}],"ს":[{"თ":4}],"ტ":[{"ზ":4,"რ":4}],"შ":[{"ტ":4}],"ც":[{"დ":4,"ლ":4,"ნ":4}],"ძ":[{"ლ":4,"რ":4}],"წ":[{"ვ":4}],"ჭ":[{"რ":4}],"ხ":[{"დ":4,"ვ":4,"ლ":4,"რ":4}]},3],"ტ":[{"ვ":[{"რ":4},11],"კ":[{"ნ":4,"რ":4},6],"რ":[{"ლ":4,"ფ":4,"შ":4},11],"ს":[{"კ":4}],"ფ":[{"ო":4},7],"შ":[{"ი":4},7]},3],"უ":3,"ფ":[{"თ":[{"რ":4}],"ლ":[{"წ":4}],"რ":[{"დ":4,"ქ":4}]},3],"ქ":[{"ვ":[{"დ":4,"ნ":4},11],"მ":[{"ნ":4}],"რ":[{"ნ":4}],"ტ":[{"ზ":4,"მ":4}]}],"ღ":[{"გ":[{"ზ":4}],"დ":[{"გ":4}],"ვ":[{"ლ":4,"ნ":4,"რ":4,"შ":4},11],"ზ":[{"რ":4}],"თ":[{"ქ":4}],"კ":[{"ვ":4}],"ლ":[{"დ":4,"თ":4,"მ":4}],"მ":[{"გ":4,"დ":4,"ზ":4,"კ":4,"რ":4,"ძ":4,"წ":4,"ხ":4}],"რ":[{"მ":4,"ღ":4}],"ს":[{"დ":4,"რ":4}],"ფ":[{"რ":4}],"ძ":[{"ვ":4,"რ":4}]},3],"ყ":[{"დ":[{"რ":4},11],"ვ":[{"ზ":4,"ლ":4}],"რ":[{"დ":4},11]},3],"შ":[{"ვ":[{"რ":4}],"ზ":7,"ლ":[{"ზ":4}],"ტ":[{"რ":4}],"ფ":[{"ა":4,"ო":4},7]},3],"ჩ":[{"ნ":[{"დ":4}],"რ":[{"დ":4}]},3],"ც":[{"ვ":[{"ლ":4}],"თ":[{"მ":4}],"მ":[{"ლ":4}],"ქ":[{"ე":4,"ვ":4},6]},3],"ძ":[{"ა":[{"რ":[{"ც":[{"ვ":[{".":10}]}]}]}],"ვ":[{"რ":4}],"რ":[{"წ":4}]},3],"წ":[{"ვ":[{"დ":4,"ნ":4,"რ":4}],"ლ":7,"მ":[{"ყ":4},7],"რ":[{"თ":4},6]},3],"ჭ":[{"ვ":[{"ზ":4,"რ":4}],"მ":[{"ლ":4}]},3],"ხ":[{"ვ":[{"დ":4,"რ":4},11],"ზ":11,"ლ":[{"დ":4,"თ":4,"კ":4,"მ":4,"ს":4,"შ":4}],"მ":6,"რ":[{"ჩ":4,"წ":4},11],"ს":[{"რ":4}],"ტ":[{"ზ":4,"ნ":4,"რ":4}],"შ":[{"თ":4,"მ":4}]},3],"ჯ":[{"ვ":6,"მ":7},3],"ჰ":[{"კ":[{"ვ":4,"რ":4}],"ყ":[{"ვ":4,"რ":4}],"ხ":[{"ვ":4,"ს":4}]}]}],"ბ":[{"ა":[{"თ":[{"ვ":14}]},8],"გ":15,"დ":15,"ე":8,"ვ":16,"ზ":16,"თ":16,"ი":8,"ლ":16,"მ":15,"ნ":16,"ო":[{"თ":[{"ქ":14}]},8],"ჟ":15,"რ":16,"ს":16,"უ":8,"ქ":15,"ღ":17,"შ":15,"ჩ":15,"ც":15,"ჭ":15,"ჯ":15}],"გ":[{"ბ":15,"გ":16,"დ":15,"ვ":[{"თ":[{"ა":18}]},16],"ზ":16,"თ":16,"ი":[{"ე":[{"რ":[{"თ":[{"ს":[{".":10}]}]}]}],"მ":[{"ო":1}]}],"კ":16,"ლ":[{"ე":[{"ჯ":[{"ვ":19}]},3]}],"მ":1,"ნ":15,"პ":15,"ჟ":15,"რ":16,"ს":16,"ტ":15,"უ":8,"ღ":15,"ყ":16,"შ":[{"რ":3},20],"ჩ":15,"ც":16,"ძ":16,"წ":15,"ჭ":16,"ხ":16,"ჯ":15}],"დ":[{"ბ":15,"გ":16,"დ":15,"ე":[{"რ":[{"ი":4}],"ღ":[{"რ":4},2]}],"ვ":15,"თ":16,"ი":[{"ღ":[{"ბ":[{"ა":[{"ლ":[{"მ":12}]}],"ლ":[{"ი":[{"ს":12}]}]}]}]}],"კ":15,"ლ":16,"მ":16,"ნ":[{"ა":3},8],"პ":15,"ჟ":15,"რ":[{"ს":[{"ა":18}]},16],"ს":21,"ფ":7,"ქ":15,"ღ":1,"ყ":15,"შ":16,"ჩ":15,"წ":15,"ხ":15,"ჯ":15,"ჰ":16}],"ე":[{"ა":[{"რ":[{"ა":22}]},3],"ბ":[{"ს":[{"ვ":4,"თ":4,"მ":4}]},3],"გ":[{"ვ":[{"კ":4,"პ":4,"რ":4,"შ":4,"წ":4,"ჭ":4,"ხ":4}],"ლ":7,"მ":[{"ვ":4},6],"რ":[{"ჩ":4}],"ყ":[{"ვ":4}],"შ":[{"ი":4,"რ":4},7],"ც":[{"დ":4}],"ძ":[{"ლ":4}],"ხ":[{"ვ":4}]},3],"დ":[{"ზ":6,"ნ":6,"რ":[{"დ":4,"კ":4}],"ს":[{"ა":4}]},3],"ე":[{"ტ":12},3],"ვ":[{"ბ":[{"რ":4}],"დ":[{"გ":4}],"თ":[{"მ":4}],"კ":[{"რ":4}],"ლ":[{"თ":4,"მ":4,"შ":4,"ჩ":4}],"მ":[{"ც":4}],"რ":[{"გ":4,"დ":4,"ზ":4,"კ":4,"მ":4,"ნ":4,"ს":4,"ჩ":4,"ც":4,"ჯ":4}],"ს":[{"კ":4,"რ":4,"წ":4,"ხ":4}],"ყ":[{"ვ":4}],"ც":[{"დ":4,"ვ":4}],"ძ":[{"ვ":4,"ლ":4}],"ხ":[{"ვ":4,"ტ":4}],"ჯ":[{"დ":4}]},3],"ზ":[{"რ":[{"ბ":4,"დ":4}]},3],"თ":[{"ვ":[{"ლ":4,"რ":4},6],"ლ":6,"რ":[{"გ":4,"ვ":4,"ს":4,"წ":4}],"ქ":[{"ლ":4}]},3],"ი":3,"კ":[{"დ":11,"ვ":[{"რ":4}],"რ":[{"თ":4}]},3],"ლ":[{"გ":[{"ვ":4}],"დ":[{"შ":4}],"ვ":[{"ყ":4}],"მ":[{"ყ":4,"ძ":4,"წ":4,"ხ":4}],"ყ":[{"ვ":4}],"წ":[{"ვ":4}]},3],"მ":[{"ა":[{"ს":[{"მ":[{"ე":[{"თ":23}]}]}]}],"ბ":[{"რ":4}],"გ":[{"ზ":4}],"დ":[{"გ":4,"რ":4}],"კ":[{"ვ":4,"რ":4}],"ლ":[{"დ":4,"მ":4}],"პ":[{"მ":4}],"რ":[{"ჩ":4,"ც":4}],"ს":[{"გ":4,"კ":4,"რ":4,"ყ":4,"წ":4,"ჯ":4}],"შ":[{"ვ":4,"ლ":4}],"ჩ":[{"ნ":4}],"ც":[{"ბ":4,"დ":4,"ვ":4}],"ძ":[{"ვ":4,"ლ":4}],"წ":[{"ვ":4}],"ჭ":[{"მ":4}],"ხ":[{"ვ":4,"რ":4}]},3],"ნ":[{"დ":[{"დ":4,"რ":4,"ს":4}],"თ":[{"ქ":4}],"ს":[{"კ":4,"მ":4}],"ტ":[{"თ":4,"მ":4,"რ":4}],"ჩ":[{"ვ":4}]},3],"ო":3,"პ":3,"რ":[{"ა":[{"რ":6}],"გ":[{"ზ":4}],"დ":[{"გ":4,"შ":4}],"ვ":[{"ლ":4}],"თ":[{"ბ":4,"გ":4,"დ":4,"ზ":4,"თ":4,"კ":4,"მ":4,"ნ":4,"ს":4,"ფ":4,"შ":4,"ხ":[{"ა":1}]}],"კ":[{"ვ":4}],"მ":[{"კ":4}],"ო":[{"ფ":11}],"პ":[{"ლ":4}],"ს":[{"ზ":4,"მ":4,"პ":4,"ტ":4}],"ტ":[{"ბ":4,"ზ":4,"მ":4}],"ფ":[{"ლ":4,"მ":4}],"ღ":[{"ვ":4}],"შ":[{"ლ":4}],"ჩ":[{"ხ":4}],"ც":[{"ვ":4}],"ძ":[{"ნ":4},6],"წ":[{"ვ":4,"კ":4}],"ხ":[{"დ":4,"ვ":4,"ზ":4,"თ":4,"ს":4}]},3],"ს":[{"დ":[{"გ":4}],"ვ":[{"გ":4,"ლ":4,"მ":4,"რ":4}],"თ":[{"ქ":4}],"კ":[{"ნ":4,"რ":4}],"ლ":[{"მ":4}],"ნ":7,"ტ":[{"მ":4,"ნ":4}],"ძ":[{"ლ":4,"რ":4}],"ხ":[{"დ":4,"ვ":4,"ზ":4}]},3],"ტ":[{"გ":[{"ვ":4}],"კ":6,"ლ":[{"თ":4,"მ":4,"შ":4}],"რ":[{"ფ":4},11],"შ":[{"ი":4},7],"ჩ":[{"ვ":4}],"ხ":[{"ნ":4}]},3],"უ":3,"ფ":3,"ქ":[{"ვ":[{"თ":4,"ს":4},11],"მ":[{"ნ":4}],"რ":[{"თ":4}],"ს":[{"კ":4,"პ":4,"ტ":4,"ც":4}],"ტ":[{"ზ":4,"მ":4}],"ც":[{"ნ":4}]}],"ღ":[{"ვ":11},3],"ყ":[{"ნ":[{"დ":4},11],"რ":[{"დ":4},11]},3],"შ":[{"ვ":[{"ნ":4}],"ტ":[{"რ":4}],"ფ":[{"ო":4},7]},3],"ჩ":3,"ც":[{"ვ":[{"ლ":4}],"ქ":[{"ე":4,"ი":4},7]},3],"ძ":[{"ვ":[{"რ":4}]},3],"წ":[{"ვ":[{"ზ":4}],"კ":[{"ვ":4}],"მ":7,"რ":6},3],"ჭ":[{"ვ":[{"დ":4,"მ":4}]}],"ხ":[{"დ":[{"გ":4}],"ვ":[{"დ":4,"ზ":4},11],"ზ":11,"მ":[{"ძ":4},6],"ტ":[{"ნ":4}],"ყ":11,"ჰ":11},3],"ჯ":[{"გ":[{"ვ":4},11],"ვ":6,"ნ":7},3],"ჰ":[{"კ":[{"რ":4}],"ყ":[{"ვ":4}]}]}],"ვ":[{"ბ":16,"გ":16,"დ":16,"ვ":16,"ზ":16,"თ":16,"ი":[{"რ":[{"უ":1}]}],"კ":[{"ა":[{"რ":[{"გ":[{"ს":[{".":10}]}]}]}]},16],"ლ":16,"მ":16,"ნ":16,"ო":[{"ხ":15}],"პ":15,"ჟ":1,"რ":[{"ს":[{"ა":18}]},16],"ს":[{"თ":[{"ხ":4}]},16],"ტ":16,"უ":8,"ფ":16,"ქ":16,"ღ":15,"ყ":16,"შ":16,"ჩ":15,"ც":16,"ძ":16,"წ":16,"ჭ":16,"ხ":16,"ჯ":16}],"ზ":[{"ბ":15,"გ":15,"დ":15,"ვ":16,"ზ":15,"თ":15,"ლ":16,"მ":16,"ნ":15,"რ":[{"ს":[{"ა":18}]},16],"ს":16,"ღ":1,"შ":15}],"თ":[{"ა":[{"ს":[{"ა":[{"თ":1}],"ე":1}]}],"ბ":15,"გ":16,"დ":16,"ვ":[{"ა":3,"ო":3,"რ":3},1],"ზ":15,"თ":[{"ხ":7},15],"ი":[{"ქ":15}],"კ":16,"ლ":[{"დ":3},1],"მ":16,"ნ":15,"ო":[{"ც":[{"დ":[{"ა":[{"ა":15}]}]}]}],"რ":16,"ს":16,"ფ":16,"ქ":16,"ღ":15,"შ":15,"ც":16,"ხ":[{".":12,"ს":[{"ა":19},12]},1],"ჯ":15}],"ი":[{"ა":[{"მ":[{"ზ":14}]},3],"ბ":[{"ვ":[{"ლ":4}],"რ":[{"ზ":4,"ტ":4,"ჭ":4,"ჯ":4}]},3],"გ":[{"ვ":[{"რ":4,"ყ":4}],"ლ":6,"მ":7,"რ":[{"გ":4}],"შ":[{"ი":4},7]},3],"დ":[{"გ":[{"ვ":4,"ნ":4}],"ზ":6,"მ":[{"ნ":4,"პ":4}],"ნ":6,"რ":[{"დ":4,"ვ":4,"ნ":4}],"ს":[{"ა":4}],"შ":[{"ვ":4}]},3],"ე":3,"ვ":[{"ბ":[{"რ":4}],"დ":[{"გ":4}],"თ":[{"თ":4}],"ლ":[{"დ":4}],"ჟ":7,"რ":[{"ბ":4,"დ":4,"ზ":4,"შ":4,"ც":4}],"ს":[{"ღ":4}],"ფ":[{"ს":4}],"ყ":[{"ვ":4}],"ძ":[{"ლ":4}],"წ":[{"ვ":4}],"ხ":[{"ვ":4}],"ჯ":[{"დ":4}]},3],"ზ":[{"ვ":[{"ნ":4}],"ლ":[{"დ":4}],"მ":[{"ზ":4,"თ":4,"მ":4,"რ":4,"შ":4}],"რ":[{"დ":4}]},3],"თ":[{"ვ":[{"ლ":4,"რ":4},6],"ლ":[{"დ":4},6],"მ":[{"კ":4,"მ":4,"პ":4}],"რ":[{"გ":4,"დ":4,"მ":4}],"ფ":[{"ლ":4}],"ც":[{"ნ":4}]},3],"ი":3,"კ":[{"ბ":[{"ი":4}],"დ":11,"ვ":[{"დ":4,"ლ":4,"ნ":4}]},3],"ლ":[{"მ":[{"ს":4}],"ტ":[{"ვ":4}],"ღ":[{"ვ":4}],"შ":[{"ვ":4}],"ხ":[{"ვ":4}]},3],"მ":[{"გ":[{"ზ":4}],"დ":[{"გ":4,"რ":4}],"კ":[{"ვ":4}],"ნ":[{"დ":4}],"რ":[{"ბ":4,"თ":4}],"ს":[{"ვ":4,"ხ":4,"ჯ":4}],"ტ":[{"ვ":4}],"ყ":[{"ნ":4,"რ":4}],"შ":[{"ვ":4,"ნ":4,"რ":4}],"ჩ":[{"ნ":4}],"ძ":[{"ლ":4}],"ხ":[{"დ":4,"ნ":4}]},3],"ნ":[{"გ":[{"რ":4}],"დ":[{"ბ":4,"დ":4,"ვ":4,"თ":4,"რ":4,"შ":4}],"თ":[{"ზ":4,"ქ":4}],"კ":[{"ვ":4,"ლ":4,"რ":4}],"ს":[{"კ":4,"პ":4,"ტ":4,"ც":4,"წ":4}],"ტ":[{"ლ":4,"რ":4}],"ქ":[{"ლ":4}],"ღ":[{"ლ":4}],"ც":[{"დ":4,"ლ":4}],"ძ":[{"ლ":4,"მ":4,"რ":4}],"წ":[{"ვ":4}],"ხ":[{"ვ":4}]},3],"ო":3,"პ":3,"ჟ":[{"ღ":7},3],"რ":[{"გ":[{"ვ":4}],"თ":[{"მ":4}],"კ":[{"ვ":4,"შ":4}],"მ":[{"შ":4}],"ს":[{"თ":4,"მ":4,"ს":4,"შ":4}],"უ":[{"ნ":11}],"ღ":[{"ვ":4}],"ყ":[{"ვ":4}],"ხ":[{"შ":4}]},3],"ს":[{"დ":[{"გ":4,"რ":4}],"ვ":[{"ლ":4,"მ":4,"რ":4}],"თ":[{"ქ":4}],"კ":[{"დ":4,"ვ":4,"ზ":4,"რ":4,"შ":4}],"მ":[{"გ":4,"ს":4,"ტ":4,"ქ":4,"ყ":4,"შ":4,"ც":4,"ძ":4}],"ნ":11,"ტ":[{"დ":4,"ვ":4,"თ":4,"მ":4,"რ":4}],"ფ":[{"რ":4}],"შ":[{"ვ":4}],"ც":[{"ვ":4}],"წ":[{"ვ":4}],"ხ":[{"დ":4,"ვ":4,"ლ":4}]}],"ტ":[{"ვ":[{"ლ":4},11],"კ":6,"მ":[{"შ":4}],"რ":11},3],"უ":3,"ფ":[{"რ":[{"დ":4,"ქ":4}],"შ":[{"ვ":4}]},3],"ქ":[{"ვ":[{"ნ":4},11],"მ":[{"ნ":4}],"ნ":[{"გ":4,"მ":4}],"რ":[{"დ":4,"თ":4,"მ":4,"ს":4,"შ":4}],"ც":[{"ვ":4,"ნ":4}]}],"ღ":[{"ბ":[{"ა":[{"ლ":[{"მ":8}]}],"ლ":[{"ი":[{"ს":8}]},4]}],"ვ":[{"რ":4,"წ":4},11],"რ":[{"მ":4,"ჭ":4}]},3],"ყ":[{"ვ":[{"დ":4,"ნ":4}]},3],"შ":[{"ვ":[{"ლ":4,"ნ":4}],"კ":[{"რ":4}],"ფ":[{"ო":4}],"ხ":[{"ლ":4}]}],"ჩ":[{"ლ":7,"ნ":[{"დ":4}],"რ":[{"დ":4}]},3],"ც":[{"ვ":[{"ლ":4,"ნ":4}],"ქ":[{"ე":4,"ნ":4},7]},3],"ძ":[{"გ":[{"ნ":4}],"ვ":[{"რ":4}],"ლ":[{"შ":4}],"რ":[{"ნ":4}]},3],"წ":[{"ვ":[{"დ":4,"ნ":4,"რ":4}],"კ":[{"ნ":4,"რ":4}],"მ":7,"რ":[{"თ":4},6]},3],"ჭ":[{"ვ":[{"რ":4}],"ზ":6},3],"ხ":[{"ვ":[{"დ":4,"ნ":4},11],"მ":6,"რ":[{"ჩ":4,"წ":4},11]},3],"ჯ":[{"ზ":6,"ნ":6},3],"ჰ":[{"გ":[{"ვ":4}],"კ":[{"რ":4}],"ყ":[{"ვ":4}]}]}],"კ":[{"ბ":24,"დ":[{"ი":3,"ო":3},12],"ე":8,"ვ":16,"ზ":15,"თ":15,"ლ":16,"მ":16,"ნ":15,"ო":[{"მ":[{"ს":14}]}],"პ":12,"რ":16,"ს":15,"ქ":15,"შ":15,"ჰ":15}],"ლ":[{"ა":[{"მ":[{"ჭ":14}]},8],"ბ":[{"რ":[{"ტ":5,"ჭ":5}]},15],"გ":16,"დ":[{"ს":[{"ა":18}]},16],"ე":[{"ხ":12,"ჯ":[{"ვ":12}]}],"ვ":16,"ზ":15,"თ":16,"ი":[{"თ":[{"ქ":14}]}],"კ":15,"ლ":15,"მ":16,"ნ":16,"ო":11,"პ":15,"ჟ":15,"რ":15,"ს":16,"ტ":16,"უ":8,"ფ":15,"ქ":16,"ღ":16,"ყ":16,"შ":16,"ჩ":16,"ც":16,"ძ":15,"წ":16,"ხ":16,"ჯ":15,"ჰ":16}],"მ":[{"ა":[{"ს":[{"მ":14}],"ყ":[{"ლ":14}],"ხ":[{"ვ":5}]},8],"ბ":16,"გ":16,"დ":[{"ღ":7},16],"ვ":16,"ზ":16,"თ":16,"ი":[{"ს":[{"ტ":[{"რ":[{"ს":[{".":23}]}]}]}]},8],"კ":16,"ლ":16,"მ":15,"ნ":16,"ო":[{"თ":[{"ხ":[{"ს":15}]}]}],"პ":16,"ჟ":15,"რ":16,"ს":16,"ტ":16,"უ":[{"ს":[{"ო":4}]}],"ფ":16,"ქ":16,"ღ":16,"ყ":16,"შ":16,"ჩ":16,"ც":16,"ძ":16,"წ":16,"ჭ":16,"ხ":16,"ჯ":16}],"ნ":[{"ბ":15,"გ":16,"დ":[{"ე":[{"რ":2}]},16],"ვ":16,"ზ":16,"თ":16,"ი":[{"ა":[{"შ":[{"ტ":5}]}],"თ":[{"ქ":14}],"ს":[{"ტ":[{"რ":[{"ს":[{".":23}]}]}]}]},8],"კ":16,"ლ":15,"მ":16,"ნ":15,"პ":15,"ჟ":15,"რ":15,"ს":16,"ტ":[{"ს":[{"ა":18,"ტ":18}]},16],"უ":8,"ფ":16,"ქ":16,"ღ":16,"ყ":16,"შ":16,"ჩ":16,"ც":16,"ძ":16,"წ":16,"ჭ":16,"ხ":16,"ჯ":16}],"ო":[{"ა":3,"ბ":[{"თ":[{"მ":4}],"ლ":[{"დ":4}],"რ":[{"დ":4,"მ":4,"შ":4,"ჭ":4}]},3],"გ":[{"ვ":[{"ბ":4,"გ":4,"დ":4,"ვ":4,"თ":[{"ხ":5}],"კ":4,"ლ":4,"მ":4,"ნ":4,"რ":4,"ს":4,"ყ":4,"შ":4,"ც":4,"ძ":4,"წ":4,"ხ":4}],"კ":[{"ლ":4,"რ":4}],"ლ":6,"მ":7,"ს":[{"ვ":4}],"ყ":[{"ვ":4}],"შ":[{"ი":4},7],"წ":[{"ვ":4}],"ხ":[{"ვ":4}]},3],"დ":[{"გ":[{"ნ":4}],"ზ":6,"ნ":6},3],"ე":3,"ვ":[{"ბ":[{"რ":4}],"დ":[{"გ":4}],"ზ":[{"ს":4,"შ":4}],"თ":[{"ქ":4}],"კ":[{"ვ":4,"ლ":4}],"ლ":[{"ბ":4,"ზ":4}],"მ":[{"ც":4}],"ნ":[{"დ":4}],"რ":[{"დ":4,"თ":4,"ჩ":4}],"ს":[{"ვ":4,"კ":4,"პ":4,"ხ":4}],"ყ":[{"ვ":4}],"შ":[{"ვ":4}],"ჩ":[{"ნ":4}],"ც":[{"დ":4,"ვ":4,"ნ":4}],"ძ":[{"ვ":4}],"წ":[{"ვ":4}],"ჭ":[{"რ":4}],"ხ":[{"ვ":4,"ტ":4}],"ჯ":[{"დ":4}]},3],"ზ":[{"ვ":[{"რ":4}],"რ":[{"დ":4}]},3],"თ":[{"ვ":[{"ლ":4,"რ":4},7],"ლ":[{"შ":4},6]},3],"ი":3,"კ":[{"დ":11,"ვ":[{"დ":4,"ლ":4,"ნ":4,"რ":4}],"ლ":[{"დ":4}]},3],"ლ":[{"დ":[{"შ":4}],"ს":[{"კ":4}],"შ":[{"ვ":4}]},3],"მ":[{"ბ":[{"რ":4}],"გ":[{"დ":4,"ვ":4,"ზ":4,"რ":4}],"დ":[{"გ":4}],"ვ":[{"ლ":4}],"კ":[{"ვ":4,"ლ":4,"რ":4}],"პ":[{"ლ":4,"რ":4}],"რ":[{"თ":4,"ჩ":4}],"ს":[{"ვ":4,"კ":4,"პ":4,"ხ":4}],"ტ":[{"რ":4}],"ღ":[{"ვ":4}],"ყ":[{"ვ":4}],"შ":[{"ვ":4}],"ც":[{"დ":4,"ვ":4}],"ძ":[{"ვ":4}],"წ":[{"ვ":4}],"ხ":[{"დ":4,"ვ":4,"რ":4}],"ჯ":[{"დ":4}]},3],"ნ":[{"გ":[{"რ":4}],"დ":[{"რ":4}],"კ":[{"რ":4}],"მ":[{"დ":4}],"ს":[{"კ":4,"პ":4,"ტ":4}],"ტ":[{"რ":4}],"ფ":[{"ლ":4}],"ხ":[{"ლ":4}]},3],"ო":3,"პ":3,"რ":[{"ბ":[{"ლ":4}],"თ":[{"მ":4,"ქ":4}],"კ":[{"ვ":4}],"მ":[{"ხ":4}],"ს":[{"მ":4}],"ტ":[{"მ":4,"რ":4,"ს":4}],"ჩ":[{"ნ":4}],"ც":[{"დ":4,"ვ":4,"ზ":4,"მ":4,"ნ":4,"შ":4}],"ძ":6},3],"ს":[{"დ":[{"გ":4}],"ვ":[{"ლ":4,"რ":4}],"თ":[{"ქ":4}],"კ":[{"დ":4}],"ნ":6,"ტ":[{"ლ":4,"რ":4}],"ფ":[{"რ":4}],"ც":[{"დ":4,"ვ":4,"რ":4}],"ძ":[{"ვ":4}],"წ":[{"ვ":4}],"ჭ":[{"რ":4}],"ხ":[{"დ":4}]},3],"ტ":[{"კ":6,"რ":[{"დ":4},11],"შ":[{"ი":4},7]},3],"უ":3,"ფ":[{"ლ":[{"მ":4}]},3],"ქ":[{"ვ":6,"მ":[{"ზ":4,"ნ":4,"შ":4}],"რ":[{"თ":4}],"ს":[{"თ":4}],"ტ":[{"რ":4}]}],"ღ":[{"ვ":[{"რ":4},11],"ლ":8},3],"ყ":[{"ა":3,"ე":3,"ვ":[{"ნ":4}],"ო":3,"რ":11,"უ":3}],"შ":[{"კ":[{"ზ":4}]},3],"ჩ":[{"ნ":[{"დ":4}]},3],"ც":[{"ვ":[{"ლ":4}],"ქ":[{"რ":4},7]},3],"ძ":[{"ვ":[{"რ":4}]},3],"წ":[{"ვ":[{"დ":4,"ნ":4,"რ":4}],"მ":[{"დ":4},7],"რ":7},3],"ჭ":[{"ლ":11}],"ხ":[{"ვ":[{"დ":4,"ნ":4},11],"მ":7,"რ":[{"ჩ":4},11],"ტ":[{"ნ":4}]},3],"ჯ":3,"ჰ":[{"გ":[{"ვ":4}],"კ":[{"ვ":4,"ლ":4,"რ":4}],"ყ":[{"ვ":4}],"ხ":[{"ვ":4}]}]}],"პ":[{"დ":15,"ვ":15,"ზ":15,"კ":3,"ლ":16,"მ":15,"ნ":15,"რ":16,"ს":12,"ტ":15,"ყ":1,"შ":15,"ჩ":15,"წ":16}],"ჟ":[{"ბ":15,"დ":15,"ვ":15,"ზ":15,"თ":15,"ი":8,"კ":15,"ლ":[{"ე":[{"ტ":[{"ა":25}]}]},15],"მ":15,"ო":8,"რ":16,"ს":12,"ღ":[{"ე":3}],"შ":15}],"რ":[{"ა":[{"მ":[{"ბ":[{"ა":[{"ვ":[{"ი":[{".":19}]}]}]},15]}],"ჩ":[{"ა":15}]}],"ბ":16,"გ":[{"ს":[{"ა":18}]},16],"დ":[{"ს":[{"ა":18}]},16],"ე":[{"კ":[{"ო":15}],"ფ":[{"ე":3}]}],"ვ":16,"ზ":16,"თ":[{"ე":[{"რ":[{"თ":[{"ს":[{".":10}]}]}]}],"ს":[{"ა":18}],"ხ":[{"მ":18}]},16],"ი":[{"ბ":[{"ღ":1}],"მ":[{"ღ":4}]},8],"კ":16,"ლ":15,"მ":[{"თ":1,"ყ":1},15],"ნ":15,"ო":[{"ფ":12},11],"პ":16,"ჟ":15,"ს":16,"ტ":16,"უ":[{"ს":[{"ო":4}]},8],"ფ":16,"ქ":16,"ღ":16,"ყ":16,"შ":16,"ჩ":[{"ხ":[{"ე":18},7]},16],"ც":16,"ძ":[{"ლ":3},1],"წ":16,"ჭ":15,"ხ":16,"ჯ":16,"ჰ":16}],"ს":[{"ა":8,"ბ":15,"გ":16,"დ":16,"ე":8,"ვ":16,"ზ":15,"თ":16,"ი":[{"რ":[{"ვ":14}]},8],"კ":16,"ლ":16,"მ":16,"ნ":[{"ო":3}],"ო":[{"რ":[{"ა":15}],"ღ":3},8],"პ":16,"რ":16,"ს":15,"ტ":16,"უ":8,"ფ":16,"ქ":3,"ღ":15,"ყ":15,"შ":16,"ჩ":15,"ც":16,"ძ":16,"წ":16,"ჭ":16,"ხ":16,"ჯ":15}],"ტ":[{"ა":[{"ჯ":[{"გ":4}]}],"ბ":15,"გ":16,"დ":15,"ე":[{"ქ":[{"ს":[{"ტ":[{"ს":[{".":23}]}]}]}]}],"ვ":[{"ა":3},26],"ზ":15,"თ":15,"კ":[{"უ":3},1],"ლ":16,"მ":16,"ნ":15,"პ":15,"რ":[{"ო":3,"ფ":3},26],"ს":16,"ტ":15,"ფ":7,"ყ":1,"შ":7,"ჩ":16,"ც":15,"წ":15,"ხ":16,"ჯ":15}],"უ":[{"ა":[{"ა":7},3],"ბ":[{"ლ":[{"ზ":4,"შ":4}],"რ":[{"კ":4,"ყ":4}]}],"გ":[{"მ":7,"რ":[{"ნ":4}]},3],"დ":[{"გ":[{"ნ":4,"რ":4}],"ზ":6,"რ":[{"ტ":4}],"ს":[{"ა":4}]},3],"ე":3,"ვ":3,"ზ":[{"რ":[{"დ":4}]},3],"თ":[{"ე":[{"ქ":6}],"ვ":[{"ლ":4,"ნ":4},6],"ს":[{"ვ":4}]},3],"ი":[{"ა":1},3],"კ":[{"ვ":[{"დ":4}],"ლ":[{"დ":4}]},3],"ლ":[{"ა":[{"ფ":6}],"გ":[{"რ":4}],"დ":[{"გ":4}],"ე":[{"კ":6}],"თ":[{"ბ":4,"ნ":4}],"მ":[{"კ":4,"ხ":4}],"ნ":[{"დ":4}],"ღ":[{"ვ":4}],"ჩ":[{"ვ":4}]},3],"მ":[{"დ":[{"გ":4}],"კ":[{"ვ":4}],"ს":[{"გ":4,"ხ":4}],"ტ":[{"ყ":1}],"ღ":[{"ვ":4}],"შ":[{"ვ":4}],"ჩ":[{"ნ":4}],"ც":[{"რ":4}]},3],"ნ":[{"გ":[{"დ":4,"რ":4}],"დ":[{"გ":4,"მ":4,"რ":4}],"თ":[{"ქ":4}],"კ":[{"ლ":4}],"ტ":[{"რ":4}],"ღ":[{"რ":4}],"ძ":[{"ზ":4,"მ":4,"რ":4}],"ხ":[{"რ":4}]},3],"ო":3,"პ":[{"რ":[{"შ":4}]},3],"ჟ":3,"რ":[{"ბ":[{"ლ":4,"ნ":4}],"გ":[{"ზ":4}],"დ":[{"თ":4,"ს":4}],"ვ":[{"ლ":4}],"თ":[{"ბ":4,"მ":4}],"კ":[{"ვ":4,"ლ":4,"რ":4}],"ს":[{"ზ":4,"მ":4,"შ":4}],"ტ":[{"ლ":4}],"ფ":[{"ს":4}],"ღ":[{"ვ":4}],"ჩ":[{"ქ":4}],"ც":[{"ლ":4}],"ჯ":[{"დ":4}]},3],"ს":[{"ვ":[{"ლ":4,"მ":4,"რ":4}],"კ":[{"დ":4,"რ":4}],"ო":7,"რ":[{"ვ":4,"ნ":4}],"ტ":[{"დ":4,"ვ":4,"მ":4}],"ხ":[{"დ":4,"ვ":4}]}],"ტ":[{"კ":6,"რ":11},3],"უ":3,"ფ":[{"ლ":[{"დ":4}],"ჯ":[{"გ":4}]}],"ქ":[{"ვ":11,"თ":11,"მ":[{"დ":4,"ნ":4,"რ":4}],"ს":[{"ვ":4}]}],"ღ":[{"რ":[{"მ":4}]},3],"ყ":[{"დ":11},3],"შ":[{"ვ":[{"რ":4}],"ტ":[{"მ":4,"რ":4}]},3],"ჩ":[{"ნ":[{"დ":4}]},3],"ც":[{"ვ":[{"ლ":4}],"ქ":[{"დ":4,"ი":4,"უ":4},7]},3],"ძ":[{"ა":3,"ე":3,"ვ":[{"ლ":4,"რ":4}]}],"წ":[{"ვ":[{"დ":4,"რ":4}],"შ":7},3],"ჭ":[{"ვ":[{"რ":4}],"კ":[{"ვ":4}],"შ":7},3],"ხ":[{"ვ":[{"დ":4},11],"ლ":[{"ზ":4,"მ":4,"შ":4}],"მ":6,"რ":[{"ჩ":4},11],"ტ":[{"ვ":4}]},3],"ჯ":[{"ლ":7,"რ":[{"ა":4,"ი":4}]},3],"ჰ":3}],"ფ":[{"ა":8,"ბ":15,"დ":15,"ე":8,"ვ":15,"ზ":15,"თ":16,"ი":[{"ა":[{"რ":15}]},8],"კ":15,"ლ":16,"მ":15,"ნ":15,"ო":8,"რ":[{"დ":1,"ქ":1},15],"ს":16,"ტ":15,"უ":8,"ქ":15,"შ":16,"ჩ":15,"ც":15,"ხ":1,"ჯ":27}],"ქ":[{"ა":8,"გ":3,"დ":3,"ე":8,"ვ":[{"დ":3,"თ":[{"ო":18}],"ს":[{"მ":18,"ო":18}]},1],"ზ":3,"ი":8,"ლ":[{"ე":3,"ო":3},26],"მ":27,"ნ":27,"ო":8,"ჟ":3,"რ":27,"ს":27,"ტ":27,"უ":8,"ქ":3,"ღ":3,"შ":3,"ც":27}],"ღ":[{"ა":[{"ტ":8}],"ბ":16,"გ":3,"დ":16,"ვ":[{"ი":3,"შ":3},26],"ზ":15,"თ":16,"კ":27,"ლ":16,"მ":16,"ნ":15,"რ":16,"ს":16,"ტ":[{"ყ":7},3],"ფ":[{"რ":2},3],"ქ":27,"შ":15,"ძ":27,"წ":15,"ჭ":3}],"ყ":[{"ბ":15,"დ":26,"ვ":16,"ზ":15,"თ":15,"ლ":26,"მ":16,"ნ":[{"ე":3,"ო":3},26],"რ":[{"ე":3},26],"ს":12,"შ":15}],"შ":[{"ა":[{"ხ":[{"ვ":4}]},8],"გ":3,"დ":15,"ე":8,"ვ":16,"ზ":3,"თ":15,"ი":[{"ა":[{"თ":28}]},8],"კ":16,"ლ":16,"მ":15,"ნ":15,"ო":8,"პ":15,"რ":15,"ს":15,"ტ":[{"ე":[{"რ":[{"ი":7,"ო":7}]}]},16],"უ":8,"ფ":7,"ქ":16,"შ":15,"ჩ":15,"ხ":16,"ჯ":15}],"ჩ":[{"ბ":15,"დ":15,"ვ":16,"ზ":15,"თ":15,"მ":15,"ნ":16,"ო":11,"რ":16,"ს":12,"ქ":16,"შ":15,"ხ":1}],"ც":[{"ბ":15,"დ":15,"ვ":16,"ზ":15,"თ":16,"კ":15,"ლ":15,"მ":16,"ნ":15,"რ":15,"ს":15,"ქ":[{"დ":3,"ნ":3,"რ":3},20],"ღ":15,"შ":15,"ხ":1}],"ძ":[{"ა":[{"რ":[{"ც":[{"ვ":[{"ს":[{".":23}]}]}]}]}],"გ":16,"ვ":16,"ზ":15,"თ":12,"ი":8,"ლ":16,"მ":15,"ნ":[{"ე":3},12],"რ":16,"ს":12,"უ":8,"ღ":17,"ჭ":7}],"წ":[{"ა":[{"გ":[{"ლ":4}]}],"ბ":15,"გ":15,"ვ":16,"კ":16,"ლ":[{"ი":3}],"მ":[{"დ":3,"ე":3,"ო":3,"ყ":3},1],"ნ":15,"რ":[{"თ":3},1],"ყ":1}],"ჭ":[{"ა":8,"დ":15,"ე":8,"ვ":16,"ი":8,"კ":27,"ლ":[{"ო":3}],"მ":16,"ნ":15,"ო":8,"რ":15,"უ":8,"ყ":1}],"ხ":[{"ა":[{"ლ":[{"ა":[{"ხ":29}]}]}],"ბ":15,"გ":1,"დ":16,"ვ":[{"ე":3,"ი":3,"რ":3},26],"ზ":26,"თ":15,"ლ":16,"მ":1,"ნ":15,"პ":15,"რ":26,"ს":16,"ტ":16,"ქ":15,"ყ":12,"შ":16,"ჩ":15,"ც":15,"წ":15,"ხ":15,"ჰ":26}],"ჯ":[{"გ":26,"დ":15,"ვ":1,"თ":15,"ო":[{"რ":[{"ი":4},29]}],"რ":[{"ა":3},7],"ს":15,"შ":7}],"ჰ":[{"ა":8,"გ":27,"ე":8,"ი":8,"კ":27,"მ":3,"პ":3,"რ":3,"ს":3,"ფ":3,"ქ":3,"ღ":3,"ყ":27,"ხ":27}]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/3970.adapter.js b/public/tools/cloud_sheets/vendor/univer/3970.adapter.js new file mode 100644 index 0000000..af82887 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/3970.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[3970],{3970(s,o,a){a.r(o),a.d(o,{Pa:()=>e});const e=["22,11,01,1,21",'{"‍":0,"‌":1,"ਅ":2,"ਆ":2,"ਇ":2,"ਈ":2,"ਉ":2,"ਊ":2,"ਏ":2,"ਐ":2,"ਓ":2,"ਔ":2,"ਾ":2,"ਿ":2,"ੀ":2,"ੁ":2,"ੂ":2,"ੇ":2,"ੈ":2,"ੋ":2,"ੌ":2,"ਕ":3,"ਖ":3,"ਗ":3,"ਘ":3,"ਙ":3,"ਚ":3,"ਛ":3,"ਜ":3,"ਝ":3,"ਞ":3,"ਟ":3,"ਠ":3,"ਡ":3,"ਢ":3,"ਣ":3,"ਤ":3,"ਥ":3,"ਦ":3,"ਧ":3,"ਨ":3,"ਪ":3,"ਫ":3,"ਬ":3,"ਭ":3,"ਮ":3,"ਯ":3,"ਰ":3,"ਲ":3,"ਲ਼":3,"ਵ":3,"ਸ਼":3,"ਸ":3,"ਹ":3,"ਁ":4,"ਂ":4,"ਃ":4,"੍":0,"ੰ":0,"ੱ":0}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/3982.adapter.js b/public/tools/cloud_sheets/vendor/univer/3982.adapter.js new file mode 100644 index 0000000..077e30e --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/3982.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[3982],{3982(e,r,s){s.r(r),s.d(r,{De1901:()=>a});const a=["001,003,0002,0032,0003,002,004,005,0000065,0001,00004,0004,0043,000006,00042,000003,0034,0056,000004,0065,0021,006,00002,00003,0006,00043,000656,00008,00021,008,0012,0000006,00402,00000078,0005,00202,00032,0041,004304,0023,007,004004,00087,00065,0052,00001,00404,000808,00008708,0008,000005,00005,000008,00006,00304,000065,0054,0000087,000000008,000078,000007,00054,0000008,00000008,008007,00034,00000000008,0000506,000404,000087,01,012,02,22,1,00041,23,2,3,032,202,03,00102,4,12,023,303,32,04,1032,00022,101,02012,0403,21,2003,02002,4003,00012,4001,0000003,0000004,43223,021,000002,03001,40002,203,2002,2021,211,0024,3402,0202,0212,041,014,0078,02102,00232,000043,0014,00301,0434,034,30003,00212,00204,201,43,52,043,02104,343,0214,000001,00303,00007,004305,234,00241,00052,000212,05,054,121,3032,3214,103,34,20002,20004,000032,00214,0103,212,223,0303,2001,20032,02004,02003,2004,000041,00000606,232,00023,000021,04003,0600006,0232,042,00000006,0402,0203,06,03043,00203,324,405,2012,5,002121,00000005,00434,2043,00074,2023,4032,00342,0234,00014,2041,0044,2032,000074,0025,0243,41,254,402,0000043,1004,323,02032,000304,004034,3202,3002,000202,250004,03002,452,000034,214,024,24,0000304,65,00343,000403,00605,006005,45,321,302,00323,0102,022,6,403,00302,4012,2034,4024,42,3022,122,14,0204,01032,01002,30004,432,2302,414,412,0000007,4304,4004,54,00412,216,0000005,000052,000401,25,001043,0302,2121,004003,020002,03034,0007,000201,0605,000241,0008708,0022,40321,4002,1023,00024,0421,006006,000506,0304,00234,06506,04004,0045,300004,0432,10004,401,0404,04002,0121,0324,00044,08,000301,2404,0000034,00121,03012,000412,040004,0000606,0412,00000007,00101,2014,2105,2125,00201,2103,305,301,0060004,6006,000323,00403,00078,000434,0004005,434,1402,0101,2123,00414,00600005,2104,0000303,00432,000045,0004303,20023,0201,2102,00006006,031,052,056,0060506,3003,00056,03032,00005006,000302,0506,000023,000205,06304,02001,0000080008,0122,20012,204,06006,03021,065,02163,002102,0004004,030004,0321,03212,04304,0306,1202,00063,00061,0221,03214,03004,000605,0060006,02142,000343,02302,033,0036,03041,040034,030034,20421,0030003,087,00025,000321,00321,000402,000124,00322,21004,04023,00000065,000076,3004,56,000014,001021,02024,21002,0323,4023,1022,102,0000306,002012,4021,000042,2124,0042,000303,2144,30034,3012,0006006,3023,0006506,322,02324,002002,404,43002,0263,200002,52032,20034,4102,21203,41002,000204,30303,632,004021,00036,025,0000000008,00103,000056,010034,23001,004005,05003,000102,0063,002032,04102,222,000044,1223,06005,1002,3043,004001,3034,10052,00221,20001,1001,7,341,3014,34032,30002,02321,2006,01034,000000087,00045,3021,0414,61,00104,00405,63,400305,60004,6003,3403,634,501,30032,01011,2304,4034,443,4434,72,3204,506,32032,3203,21003,000054,3005,000606,03003,236,0004003,40004,23043,10001,045,000101,0502,030002,0343,0216,002305,0503,000232,1003,2303,0004304,00401,002014,10025,104,000024,1021,1232,422,000432,4344,02101",'{".":[{"a":[{"b":[{"a":0,"l":1,"o":[{"l":1,"r":0},2],"s":3,"u":1}],"d":[{"e":[{"n":4}]}],"e":1,"f":[{"t":2}],"g":[{"a":5,"r":6,"u":5}],"i":[{"s":5}],"k":[{"t":[{"a":2}]}],"l":[{"e":5,"k":1,"l":[{"e":[{"i":1,"n":7}]}],"s":[{"e":1}],"t":[{"e":[{"i":6,"l":6,"r":[{"s":8}]}],"s":9,"u":5}]}],"m":[{"p":[{"e":10}],"t":[{"s":[{"c":11},2]}]}],"n":[{"a":[{"c":9,"t":12}],"d":[{"e":[{"n":[{"k":13}]}],"r":[{"i":11}]},3],"e":[{"r":0}],"g":[{"l":[{"i":1}],"o":1,"s":[{"t":15},14]},2],"i":[{"s":2}],"k":16,"n":[{"a":1}],"s":[{"i":[{".":6}]},3],"t":[{"a":[{"r":6}]}],"z":3}],"o":[{"s":11}],"p":[{"p":[{"l":[{"e":[{".":17}]}]}]}],"r":[{"i":[{"e":9}],"k":[{"a":3}],"m":[{"a":[{"c":12}],"u":[{"n":6}]}],"s":[{"c":5}],"t":[{"a":[{"n":6}],"e":[{"i":12,"r":[{"h":19},18]}],"r":20}],"z":2}],"s":[{"s":[{"e":[{"s":[{"t":21}]}]}],"t":5}],"t":[{"a":9,"h":5,"r":6}],"u":[{"d":1,"f":[{"s":22},12],"s":[{"t":[{"e":[{"s":21}]}]},20],"ß":2}],"x":5}],"ä":[{"m":1,"r":[{"s":[{"c":[{"h":[{"l":21}]}]}]}],"t":[{"h":5,"s":5}],"u":1}],"b":[{"a":[{"h":[{"n":[{"e":[{"r":24}]},23]}],"l":[{"t":4}],"u":[{"s":10}]}],"e":[{"e":[{"r":[{"b":1}]}],"i":[{"g":[{"e":18}]}],"l":[{"a":2}],"r":[{"a":3,"e":2,"g":[{"a":[{"s":13},25],"e":[{"b":26}],"r":25}],"t":[{"r":11}]}]}],"i":[{"o":[{"s":6}],"t":[{"a":9},5]}],"o":[{"g":[{"e":22}],"s":[{"k":12}]}],"u":[{"s":[{"e":[{"r":6}],"s":[{"e":4,"y":18}]}],"t":[{"a":1}]}]}],"c":[{"e":[{"r":[{"a":5}]}],"h":[{"a":[{"r":[{"m":[{"e":[{"s":27}]}]}]}],"i":[{"e":[{"r":4}]}]},21]}],"d":[{"a":[{"b":11,"r":[{"i":[{"n":4}],"m":28},20],"t":[{"e":[{".":6,"s":6}]}]}],"e":[{"a":[{"l":5}],"i":[{"n":22},0],"m":[{"e":[{"n":[{"t":[{"s":29}]}]}]}],"n":[{"a":1,"k":[{"a":11,"l":11,"o":11}]}],"o":30,"r":[{"e":[{"n":16}],"m":[{"a":[{"s":31},15]}]}],"s":[{"k":1}]}],"i":[{"e":[{"l":1,"n":[{"s":[{"t":[{"a":[{"d":33}]}]}]},32]}]}],"o":[{"b":1,"m":[{"o":5}],"p":[{"e":0}],"r":[{"f":28}],"t":[{"r":5}]}],"y":[{"s":4}]}],"e":[{"b":[{"e":[{"r":28}]}],"h":[{"e":[{"i":9,"n":34},5]}],"i":[{"e":3,"f":[{"e":3}],"k":1,"n":[{"a":6,"b":[{"u":[{"s":31}]}],"d":4,"e":[{"b":4,"r":[{"l":24}]},35],"s":[{"p":4},22]}],"s":[{"e":10,"p":5,"s":36,"t":37}],"t":[{"r":5}]}],"k":[{"e":2,"l":[{"i":1}]}],"l":[{"b":[{"i":5,"l":5}],"f":[{"e":[{"i":6}],"l":5}]}],"m":[{"m":3}],"n":[{"d":[{"a":6,"e":[{"r":38}],"r":39,"ü":6}],"g":[{"a":1,"l":5}],"k":2,"n":2,"t":[{"a":5,"e":[{"i":6}],"h":[{"a":[{"l":[{"p":40}]}]}],"i":[{"o":6}],"r":20,"s":22},4]},0],"p":[{"i":9,"p":1}],"r":[{"b":[{"e":[{"i":6}],"r":[{"e":[{"c":[{"h":[{"t":29}]}]}]}],"u":5}],"d":[{"a":[{"n":6}],"e":[{"n":[{"k":13}],"r":12}]}],"e":[{"c":4,"m":5},0],"f":11,"i":0,"s":[{"t":[{"e":[{"i":[{"n":29}],"r":[{"b":29},31]}],"r":[{"i":[{"t":[{"t":[{".":29,"e":[{"n":[{".":29}]}]}]}]}]}]}]},2],"t":2,"z":[{"e":[{"l":12,"n":41}]}]}],"s":[{"p":1,"s":[{"t":5}],"t":[{"a":22,"e":24,"r":4},5]}],"t":[{"s":5}],"u":[{"g":11,"r":11},1],"x":[{"t":11}]}],"f":[{"ä":[{"s":[{"s":[{"e":4}]}]}],"e":[{"l":[{"a":1}],"r":[{"n":[{"o":11}]}]}],"i":[{"d":16,"l":[{"e":[{".":6,"n":6}]}],"s":5}],"l":[{"ö":[{"s":[{"s":[{"e":[{".":42,"n":[{".":42}],"s":42}]}]}]}],"u":[{"g":28}]}],"s":6,"u":[{"s":[{"c":5}]}]}],"g":[{"a":[{"m":[{"e":5}],"n":[{"g":[{"a":11,"s":18}]}],"s":[{"e":12,"t":[{"e":[{"n":21}]}],"u":6}],"t":5}],"d":5,"e":[{"b":[{"e":[{"a":10}],"l":2}],"l":[{"b":[{"r":25}],"d":28,"u":1}],"m":1,"n":[{"a":[{"r":7}],"e":16,"o":3,"t":[{"e":18}]}],"r":[{"a":16,"e":2,"o":1}],"s":3}],"l":[{"a":[{"n":[{"z":15},22],"s":[{"t":25}]}]}],"o":[{"l":[{"d":[{"e":[{"r":24}]}]}]}],"r":[{"i":[{"f":[{"f":[{"e":[{"s":27}]}]}]}]}],"u":[{"s":2}]}],"h":[{"a":[{"f":[{"t":[{"s":23}]}],"l":[{"l":[{"e":34}],"t":[{"e":10}]}],"u":[{"t":28}]}],"e":[{"b":[{"e":[{"i":6}]}],"f":[{"e":1}],"l":[{"e":1}],"r":[{"a":[{"n":12,"t":1}],"b":[{"r":[{"a":43}]}],"e":[{"r":1}],"i":[{"n":[{"n":19}]},1]}]},5],"i":[{"n":[{"u":4}]}],"o":[{"f":[{"e":[{"n":6}]},9],"m":[{"e":[{"t":6}]}]}],"ö":[{"c":[{"h":22}]}]}],"i":[{"a":5,"l":1,"m":[{"a":[{"g":[{"e":11}]},5],"m":44}],"n":[{"d":2,"g":[{"l":1}],"k":2,"n":[{"e":3}],"s":[{"k":1}],"t":3,"u":9},0],"o":[{"d":6,"n":[{"i":45}]}],"r":[{"e":4}],"s":[{"a":5}],"t":[{"h":5}],"v":5}],"j":[{"o":[{"n":[{"i":45}]}]}],"k":[{"a":[{"b":[{"l":39}],"i":5,"l":[{"a":2,"e":1}],"t":[{"a":3,"i":[{"o":46},4]}]}],"e":[{"n":[{"n":[{"u":[{"m":24}]}]}],"r":[{"s":4}]}],"i":[{"e":6}],"l":[{"a":[{"n":[{"g":15}]}]}],"o":[{"b":1,"p":[{"f":45}],"r":[{"d":[{"a":11}]}]}],"r":[{"a":[{"f":22}]}],"s":6,"u":[{"s":2}]}],"l":[{"a":[{"b":[{"e":1}],"n":[{"d":[{"e":[{"m":[{"i":47}]}]}]}]}],"e":[{"a":[{"r":6}],"g":[{"a":[{"s":6}]}],"n":[{"i":3}]}],"i":[{"c":[{"h":[{"t":[{"e":[{"r":[{"s":48}]}]}]}]}],"f":5,"p":[{"o":1}],"v":[{"e":[{".":6}]}]}],"o":[{"g":[{"i":[{"n":12}]}],"s":[{"c":5,"s":36}],"t":[{"r":5}],"v":[{"e":[{"r":1}]}]}],"ö":[{"s":[{"s":6}]}],"u":[{"s":[{"t":[{"e":[{"r":31}],"r":6}]},2],"t":[{"h":2}]}],"y":[{"s":39}]}],"m":[{"a":[{"d":1,"g":[{"e":1}],"l":[{"e":11}],"s":[{"s":[{"e":[{"n":[{".":49}]}]}],"t":[{"r":6}]}],"t":[{"c":11,"u":23}]}],"d":5,"e":[{"l":[{"a":2}],"n":[{"e":1,"o":1,"s":[{"c":[{"h":[{"l":49,"w":49}]}]}]}],"s":[{"s":[{"p":11}]}]}],"i":[{"f":5,"k":11,"l":[{"z":28}],"t":20}],"m":5}],"n":[{"a":[{"n":[{"o":1}],"t":1}],"ä":[{"s":[{"c":34}]}],"e":[{"b":[{"e":[{"n":10}]}],"r":[{"f":2,"o":0}]}],"i":[{"c":[{"h":[{"t":[{"e":50}]},22]}],"e":5,"k":[{"l":16}]}],"o":[{"c":5,"s":5,"t":[{"h":5}]}],"u":[{"l":2,"s":2}]}],"o":[{"a":[{"s":7}],"b":[{"a":0,"e":[{"r":[{"e":[{"i":51}]}]},2],"i":[{"t":3}]}],"c":[{"h":4}],"f":[{"e":5}],"h":[{"r":[{"s":34}]}],"p":[{"e":[{"r":10}]}],"r":[{"a":5,"d":[{"e":11}],"g":1,"k":3,"t":[{"s":[{"e":23}]},2]}],"s":[{"s":1,"t":[{"a":10,"e":[{"n":[{"d":[{"e":52},34]}],"r":[{"e":53}]},22],"i":4,"r":4}]}],"t":[{"a":0}],"u":[{"t":5}],"z":[{"o":11}]}],"ö":[{"l":[{"l":1}]}],"p":[{"a":[{"b":11,"r":[{"t":[{"h":10}]}]}],"e":[{"c":5,"l":[{"a":1,"e":1}],"n":[{"a":1}],"s":[{"t":[{"e":6}]}]}],"f":6,"h":6,"o":[{"k":[{"a":22}],"s":[{"t":[{"e":[{"i":[{"g":29},31]}],"o":6,"r":6}]}]}],"s":5}],"r":[{"a":[{"b":[{"e":10}],"c":[{"h":[{"e":54}]}],"m":[{"e":1}],"s":[{"p":6,"s":12}],"u":[{"m":2,"s":[{"c":[{"h":[{"l":49}]}]}]}]}],"ä":[{"u":[{"s":[{"c":4}]}]}],"e":[{"a":[{"l":[{"e":1}]}],"b":[{"s":22}],"c":[{"h":[{"a":1}]}],"i":[{"n":[{"s":[{"z":7}]}],"s":[{"e":[{"i":55}],"t":[{"r":24}]}]}],"s":[{"t":[{"u":6},2]}]}],"i":[{"a":[{"s":6}],"c":[{"h":[{"t":[{"e":13}]}]}],"f":6}],"o":[{"a":6,"b":[{"e":1}],"e":5,"h":[{"a":5}],"m":[{"a":11},1],"t":[{"r":39,"u":1}]}],"ö":[{"s":[{"c":5,"s":[{"e":4},6]}]}],"u":[{"f":[{"s":4}],"h":[{"r":28}],"n":[{"d":[{"e":[{"r":31}]}]}],"s":[{"s":[{"e":[{"s":17}]}]}]}],"ü":[{"b":0,"c":[{"k":[{"e":[{"r":31}]}]}],"s":[{"s":6}]}]}],"s":[{"a":[{"b":[{"r":1}],"l":[{"i":[{"e":23},45]}],"m":[{"i":45}],"s":[{"s":[{"e":7}]},2],"u":[{"c":9,"e":[{"r":[{".":34},11]}]}]}],"ä":[{"s":56}],"c":[{"h":[{"a":[{"f":[{"t":[{"e":[{"n":[{"d":57}]}]}]}]}],"e":[{"i":[{"n":[{"e":[{"r":58}]}]}]}],"o":[{"s":[{"s":[{"e":[{".":59,"s":[{".":59}]}]}]}]}]},11]}],"e":[{"e":[{"i":[{"n":18}]},5],"h":[{"a":5}],"i":[{"n":22}],"n":[{"f":11,"s":4}],"r":[{"e":1,"o":0}],"t":20}],"h":[{"a":2}],"i":[{"e":[{"n":6}],"g":[{"n":1}],"n":[{"i":23}],"t":[{"e":5}]}],"k":[{"i":[{"e":9}]}],"o":[{"u":[{"r":22}]}],"p":[{"a":[{"n":[{"i":[{"e":[{"r":[{".":60}]}]}]}]}],"ä":[{"s":61}],"i":[{"e":[{"g":[{"e":[{"l":[{"e":[{"i":62}]}]}]}]}]}]}],"t":[{"a":[{"u":[{"b":[{"e":[{"c":[{"k":[{"e":[{"n":[{".":27}]}]}]}]}]}]}]}],"e":[{"i":[{"n":[{"e":[{"r":[{"k":63}]}]}]},2]}],"o":[{"r":[{"e":11}]}],"r":[{"a":[{"s":18}],"o":[{"m":[{"a":53}]}]}]},6],"u":[{"c":[{"h":[{"e":[{"r":31}]}]}]}],"y":[{"s":7}]}],"t":[{"a":[{"g":[{"e":[{"s":10}]}],"m":[{"i":1}],"n":[{"k":[{"a":25,"l":25}]}],"r":[{"a":1,"t":36}],"t":[{"h":20,"o":[{"r":6},5],"u":20}]}],"e":[{"e":5,"f":5,"h":[{"e":23}],"i":[{"l":[{"e":[{"r":[{"s":[{"c":42},62]}]}]}]}],"l":[{"e":1}],"n":[{"o":1}],"r":[{"a":0}],"s":[{"t":[{"e":[{"i":21,"l":21}],"r":23},11]}]}],"h":6,"i":[{"a":5,"e":5,"m":[{"e":[{"s":6},5]}],"r":1,"s":[{"c":[{"h":[{"e":[{"n":[{"d":64},63]}]}]}]},5],"t":[{"e":10}]}],"o":[{"d":[{"e":[{"r":6,"s":15},22]}],"n":[{"a":[{"t":6}],"e":[{"s":1}],"i":[{"n":6},4],"s":22},5],"p":[{"l":6,"r":5}],"w":5}],"r":[{"a":[{"s":[{"s":11},23]}],"i":[{"e":[{"s":65}]}],"o":[{"c":[{"k":[{"e":[{"n":[{"m":[{"a":[{"s":66}]}]}]}]}]}]}]}],"s":[{"e":4},6],"u":[{"r":[{"a":1,"i":1,"m":[{"a":11},45]}]}]}],"u":[{"b":5,"f":[{"e":[{"r":23},2]}],"l":[{"b":39}],"m":[{"e":2,"o":2,"s":2},1],"n":[{"a":3,"d":1,"e":11,"g":3,"i":[{"t":2}]}],"r":[{"a":[{"d":3,"l":10,"n":[{"f":[{"a":53}]}]}],"c":0,"e":0,"i":[{"n":[{"f":6}]}],"o":[{"m":16,"p":30}],"s":3}],"t":[{"a":5,"r":1}]}],"v":[{"e":[{"n":[{"e":44}]}],"o":[{"l":2,"r":6}]}],"w":[{"a":[{"h":[{"l":11}],"s":5}],"e":[{"g":[{"s":34}],"i":[{"n":[{"e":18}],"t":[{"a":11}]}],"l":[{"t":[{"e":[{"r":[{"e":62,"k":62}]}]}]}],"r":[{"k":[{"e":[{"r":24}],"r":11}],"t":[{"r":11}]}],"t":[{"t":[{"e":[{"r":[{"e":[{"r":58}]}]}]}]}]}],"i":[{"e":6}],"o":[{"r":[{"t":[{"e":[{"n":67}]}]},2]}],"u":[{"r":[{"f":28}]}]}],"x":[{"e":1}],"y":[{"a":[{"l":6}]}],"z":[{"e":[{"i":[{"t":[{"s":23}]}],"l":[{"l":[{"a":68,"e":[{"i":24},18],"i":11}]}],"u":[{"g":[{"i":10}]}]}],"i":[{"e":[{"l":[{"u":25}]},5],"n":[{"k":[{"a":11}],"s":[{"c":25,"t":11}]}]}],"o":[{"l":2}],"u":[{"c":[{"h":22}],"g":[{"l":4,"r":[{"a":6}]}],"p":[{"f":5}]}],"w":[{"e":[{"i":[{"g":[{"e":[{"n":[{"d":69},63]}]}]}]}]}]}]}],"a":[{"a":[{"b":[{"e":5},70],"c":[{"e":71},0],"g":[{"r":5}],"k":[{"t":70}],"n":[{"s":72},71],"q":70,"r":[{"a":39,"b":4,"d":4,"e":[{"a":1,"i":5}],"f":10,"g":36,"k":65,"t":10},73],"s":[{"t":9},74],"t":[{"h":5,"r":39,"s":75}],"u":76}],"ä":70,"b":[{"a":[{"d":78,"l":[{"t":0}],"m":79,"n":[{"t":5}],"u":[{"t":5},0]},77],"ä":[{"r":5,"u":5},0],"b":[{"a":[{"t":77}],"i":[{"n":77}]}],"d":74,"e":[{".":76,"c":76,"e":77,"i":[{"c":0,"d":65,"l":0,"n":0}],"l":[{"a":[{"d":18},2],"e":2},80],"n":[{".":77,"t":74}],"r":[{"d":72,"i":81,"k":82,"r":82,"z":82},77],"s":[{"e":28,"s":[{"e":1}],"t":22},83],"ß":0,"t":77,"w":77}],"f":74,"g":[{"a":78},74],"h":74,"i":[{"l":83,"n":[{"s":0}],"r":0,"t":0},77],"k":74,"l":[{"a":[{"t":81},84],"ä":84,"e":[{"d":85,"i":86,"m":81,"t":77}],"i":[{"n":72,"t":6},1],"o":77,"ö":84,"u":72},0],"m":[{"a":[{"s":23}]}],"n":74,"o":[{".":87,"f":5,"n":87,"t":83},77],"ö":77,"r":[{"ä":88,"e":72,"o":[{"s":6}],"ö":77},1],"s":[{"c":74,"p":89,"t":[{"u":74},90]},88],"t":[{"e":[{"i":74}],"r":78}],"u":[{"g":65,"m":72,"r":0},77],"ü":77,"w":74,"y":77,"z":78},70],"c":[{".":77,"a":76,"c":[{"i":77},91],"e":[{"m":70,"n":70,"t":70},9],"h":[{"a":[{"l":70,"r":[{"i":81}],"s":4,"u":4},9],"b":77,"e":[{"c":92,"i":[{".":11},9],"p":72,"r":[{"f":[{"a":34},88],"h":93,"l":93,"ö":88,"w":93}]},70],"f":77,"i":[{"m":72},94],"l":4,"m":95,"n":4,"o":[{".":81,"r":96},70],"ö":[{"f":4}],"r":97,"s":[{"c":77,"e":[{"l":10}],"i":36,"k":[{"r":4}],"o":[{"r":10}],"u":4}],"t":[{"a":[{"k":11}],"e":[{"r":[{"f":24,"s":[{"p":49}],"w":43}]}],"o":28,"r":[{"a":[{"t":51,"u":[{"m":49}]}],"ä":[{"u":[{"m":[{"e":[{".":49,"n":[{".":49}]}]}]}]}],"i":[{"t":24}]}],"s":[{"a":[{"l":55}]}],"u":[{"m":11}]},88],"u":[{"f":98},70],"ü":4,"v":77,"w":99,"y":72}],"i":70,"k":[{"m":[{"u":[{"s":100},18]}],"s":[{"p":2,"t":[{"a":101}]}]}],"l":94,"o":[{"n":[{"n":10}]},81],"u":77}],"ç":70,"d":[{".":77,"a":[{".":77,"b":[{"r":5},83],"g":5,"i":10,"n":0,"p":78,"r":102,"s":77,"t":77,"u":[{".":81},103]}],"ä":84,"c":0,"d":74,"e":[{".":77,"a":[{"l":2}],"c":81,"e":81,"f":[{"i":104}],"g":77,"l":[{"l":81}],"n":[{"a":[{"t":11},105]},83],"o":22,"r":[{"a":9,"k":103}],"s":[{"p":4,"s":10},106]}],"f":77,"h":83,"i":[{"e":[{"n":4,"r":[{".":4}],"s":[{"c":10}]}]},83],"j":78,"l":[{"i":77}],"m":[{"u":83}],"o":[{"b":5,"n":[{"a":11},2],"p":72}],"p":77,"q":77,"r":[{"e":[{"c":107,"i":1},72],"u":[{"n":1}]}],"s":[{"z":1},108],"t":[{"e":22,"o":[{"r":6}]},109],"v":74,"y":76},70],"e":[{"b":5,"c":72,"d":111,"i":5,"k":72,"l":[{".":81,"a":88,"e":88,"i":88,"s":81},72],"m":5,"o":[{"p":22},39],"p":5,"r":[{"o":112}],"s":[{"c":5},113],"t":[{"a":5}],"w":72,"x":5},110],"f":[{"a":[{"b":0,"n":114,"r":81,"u":103},77],"ä":[{"n":103},77],"e":[{"c":103,"n":[{"t":[{"l":88}]}],"p":115},77],"f":[{"a":11,"l":39,"t":[{"h":11}]}],"i":[{"k":[{"a":[{"n":[{"z":24}],"t":11}]}],"t":2},77],"l":[{"a":0,"u":116},107],"o":[{"c":85,"r":[{"d":72,"t":103}]},77],"r":[{"a":[{"u":1},77],"ä":1,"e":1,"o":77,"ö":1,"ü":6}],"s":[{"a":3,"h":1,"i":5,"p":5}],"t":[{"a":[{"t":1},20],"e":[{"i":5,"l":35,"r":[{"k":11}]}],"o":20,"ö":5,"r":[{"a":5,"e":[{"i":34}]},4],"u":[{"r":5}]}],"u":[{"r":85}],"ü":77}],"g":[{".":77,"a":[{"b":30,"d":30,"m":0,"r":0,"u":103},77],"d":[{"e":[{"l":5}],"r":5,"u":5}],"e":[{".":83,"l":[{"e":[{"i":25,"r":11}]}],"n":[{".":77,"e":[{"b":11}],"t":72}],"s":[{"a":[{"m":11}],"i":[{"n":25}],"o":11,"p":23,"s":[{"e":[{"n":53}]},51],"t":[{"i":25}]},77]}],"g":[{"r":78}],"i":[{"d":103,"m":72}],"l":[{"a":[{"n":6,"s":6}],"e":1,"ö":88},73],"m":77,"n":[{"a":[{"t":6}],"ä":88,"e":[{".":6}],"u":6},5],"o":[{"b":4}],"r":[{"a":[{"t":1}],"e":85,"i":[{"e":1,"n":1},72]}],"s":[{"a":[{"h":1,"m":6}],"e":[{"i":[{"d":16}]}],"p":[{"o":[{"r":[{"t":[{"a":117}]}]}]},5],"t":[{"r":20}]},77],"t":[{"h":5},77],"u":[{"n":[{"d":72}]},77]},70],"h":[{".":77,"a":[{"n":5,"t":6},94],"ä":70,"e":[{"i":[{"n":9}],"r":[{"h":118}],"u":4},94],"i":[{"n":23},71],"l":[{"a":119,"ä":20,"e":[{"i":20,"l":5,"n":[{"a":10}],"r":[{"d":12,"h":12}]}],"o":98,"ö":5,"s":[{"z":4}]}],"m":[{"e":[{"i":45}],"u":1}],"n":[{"a":12,"ä":5,"e":[{"e":1,"f":5,"l":4,"r":[{"d":6,"e":18,"l":[{"e":13}],"n":18}]}],"i":[{"n":5}],"o":5}],"o":[{"r":84,"s":0}],"ö":[{"s":1}],"r":[{"a":9,"e":[{"n":[{"s":[{"c":13}]}],"s":120},3],"t":[{"i":2,"r":[{"i":11,"o":11}],"u":[{"n":11}]}]},83],"t":[{"a":5,"e":[{"l":35,"x":20}],"r":39,"s":9}],"u":70,"w":0,"y":70}],"i":[{".":77,"a":[{".":70},121],"b":[{"l":5},77],"d":[{"s":[{"t":45},11]}],"e":[{"n":122},121],"f":[{"r":0},11],"g":123,"k":[{".":81,"e":1}],"l":[{"a":[{"r":5}],"d":65,"e":[{"i":5}],"g":4,"o":5}],"n":[{"a":2,"d":70,"e":56,"s":[{"p":22},4]},83],"r":[{"b":78}],"s":[{"a":5,"c":[{"h":[{".":81,"w":7}]}],"e":3,"s":[{"e":[{"n":4}],"t":34}],"t":[{"i":5}]}],"t":11,"v":[{".":81,"l":81,"s":81}]}],"j":[{"a":[{"t":72}],"e":[{"k":[{"t":[{"o":18}]}]}]},70],"k":[{".":77,"a":[{".":77,"b":[{"r":10},95],"d":72,"l":77,"m":76,"n":77,"r":77,"t":[{"a":[{"k":11},45]},6],"z":74}],"ä":83,"b":77,"c":77,"d":77,"e":[{"f":72,"m":103,"n":[{"t":72}],"s":72,"t":5,"u":72},94],"i":[{"n":[{"s":0}]},94],"k":[{"u":74}],"l":[{"a":116,"i":6,"ö":78},107],"n":[{"a":70}],"o":77,"r":[{"e":[{"s":1}],"i":124,"o":125,"ü":1},94],"s":[{"h":1},77],"t":[{"a":[{"b":126,"g":6,"n":1}],"b":77,"e":[{"l":5,"n":1,"r":2}],"g":77,"i":[{"k":77,"s":77}],"m":77,"o":[{"b":127}],"ö":5,"r":[{"i":16},39],"s":[{"i":77,"p":77,"t":77}],"w":77}],"u":[{"n":77,"p":72,"r":77},70],"ü":77,"z":[{"e":78},74]}],"l":[{"a":[{".":77,"b":[{"o":77}],"f":0,"g":[{"e":0}],"i":77,"k":[{"r":0}],"m":0,"n":[{"a":0,"d":77,"g":72,"z":0}],"p":[{"p":0}],"r":[{".":81,"c":1,"e":81,"r":128,"t":72}],"s":[{"i":0,"s":0},2],"t":[{".":81,"m":6,"t":51,"z":23}],"u":[{"g":1},0]},70],"ä":[{"m":103,"n":0,"r":[{"m":0}],"u":0},70],"b":[{"a":[{"t":78}],"ä":[{"r":5}],"e":[{"r":[{"e":18,"h":6,"w":38}]}],"l":20,"o":[{"h":5,"n":5}],"r":[{"u":4}],"s":[{"t":34}]}],"d":[{"a":[{"n":6}],"ä":5,"e":[{"r":[{"l":12,"n":12}],"s":22}],"i":[{"n":[{"n":4}]}],"r":[{"a":5,"ä":5}],"s":22}],"e":[{".":129,"a":[{"r":11}],"b":114,"c":[{"k":0}],"f":115,"i":[{"c":79,"n":88},103],"l":103,"m":[{"a":130,"i":114}],"n":[{".":129,"d":[{"e":101,"r":1,"s":131}],"g":72,"n":5}],"p":[{"o":0},2],"r":[{".":83,"b":103,"e":22,"f":103,"h":118,"k":[{"l":10}],"l":85,"m":[{"i":10},0],"r":132,"s":5,"t":103,"w":[{"ä":133}]}],"s":[{"k":134,"s":72},83],"t":[{"h":88}],"u":103},77],"f":[{"r":11}],"g":[{"i":78,"l":[{"i":5,"o":1}],"o":[{"r":78},74],"r":11}],"i":[{"m":[{"b":5,"m":0}],"n":[{"a":[{"l":11}],"d":0,"g":[{"e":10}],"q":118,"s":0}]},77],"k":[{"e":[{"n":135}],"l":[{"ö":5}],"n":[{"e":5}],"o":[{"f":5,"h":74}],"s":36}],"l":[{"a":[{"b":5,"d":136,"m":[{"e":10}],"n":5,"r":126,"t":[{"e":[{"r":21}]}]}],"ä":[{"u":1},5],"e":[{".":1,"c":6,"e":78,"g":[{"i":10}],"h":6,"n":[{"d":1}],"r":[{"k":4,"z":18}],"s":[{"e":23},1],"u":5}],"i":[{"d":5,"e":[{"r":[{".":51,"s":[{".":137}]}]}]}],"o":[{"b":5,"c":35,"p":5,"s":35}],"ö":[{"s":[{"e":4}]},35],"u":[{"f":5,"s":10}],"ü":[{"s":127}]}],"m":[{"a":[{"p":5,"s":[{"t":12},1]}],"o":[{"d":[{"e":[{".":53}]}]}]}],"o":[{".":77,"b":103,"e":87,"f":103,"g":[{"a":2,"r":2},83],"n":[{"t":0}],"r":[{"t":0}],"s":77}],"ö":[{"s":5},103],"p":[{".":78,"e":[{".":78}],"h":[{"o":5},74]}],"r":[{"a":[{"t":18}]}],"s":[{"a":[{"k":1}],"c":[{"h":[{"e":[{"i":21}]}]}],"h":6,"k":[{"l":1}],"t":[{"u":5}],"u":[{"m":5}]}],"t":[{"a":[{"k":20,"l":[{"g":4}],"n":20,"t":5,"u":5}],"ä":74,"e":[{"i":[{"s":4}],"l":[{"t":4}],"m":[{"u":6}],"r":[{"f":138}],"u":5}],"i":[{"d":5,"n":5}],"o":[{"p":9}],"ö":5,"r":[{"a":[{"t":12}],"e":5,"i":39,"o":39}],"s":[{"t":[{"ü":11}]}]}],"u":[{"b":65,"f":39,"g":4,"k":30,"m":[{"b":0},72],"r":103,"s":81},70],"y":83,"z":[{"a":[{"r":5,"u":5}],"e":[{"n":1,"r":[{"k":11}]}],"w":5}]}],"m":[{"a":[{"b":[{"a":2}],"d":36,"g":4,"h":77,"l":[{"g":72}],"n":139,"r":77,"s":[{"t":[{"a":11}]}],"z":84},5],"ä":77,"e":[{".":83,"b":72,"l":77,"n":[{"s":[{"p":[{"r":55}]}]},140],"r":[{"a":[{"u":15},36],"f":103,"i":87,"u":141}],"s":[{"h":88},77],"t":76}],"f":77,"i":[{".":81,"e":81,"k":2,"r":76,"s":76,"t":77}],"k":77,"l":77,"m":[{".":77,"a":[{"b":5,"c":35,"l":77,"n":22,"r":5,"s":[{"c":10},5],"ß":5,"t":[{"e":46}]}],"e":[{"n":[{"g":[{"e":[{".":52}]}]}],"s":15}],"i":[{"d":5,"e":22,"n":5,"t":5}],"o":[{"d":32}],"ö":20,"u":[{"n":[{"t":4}],"s":6},22],"ü":6}],"n":[{"i":45}],"ö":72,"p":[{"e":[{".":77,"n":77}],"f":[{"a":142}],"l":[{"e":80}],"o":77,"r":1}],"s":[{"c":[{"h":[{"l":6}]},83],"e":74,"h":1}],"t":[{".":74,"a":126,"ä":20,"e":[{"i":[{"g":4},5],"l":5,"m":77,"r":[{"h":6,"n":12}],"x":20}],"i":[{"s":5,"t":5}],"o":[{"u":6},5],"ö":5,"r":39,"u":20,"v":77}],"u":[{"l":87},77]}],"n":[{"a":[{".":77,"b":77,"c":4,"d":[{"i":135},5],"g":5,"k":76,"l":[{"g":0,"i":[{"n":11}]}],"m":[{"a":39},77],"n":[{"d":6},77],"s":77,"t":[{".":143,"h":11,"m":144,"o":72,"r":2,"s":143}],"u":[{"g":1}]}],"ä":[{"s":145}],"b":[{"a":[{"s":77}],"ö":77,"u":77},74],"c":[{"h":1}],"d":[{".":77,"a":[{"c":146,"r":[{"m":4}]}],"e":[{"i":4,"n":[{"g":[{"a":13}],"t":12}],"r":[{"o":[{"b":34}]}],"s":22,"x":20}],"s":[{"a":[{"s":11}],"e":[{"h":11}],"o":2,"p":[{"a":[{"r":24,"s":24,"ß":43}]}],"u":2}],"u":[{"r":20},106]}],"e":[{"c":1,"e":81,"i":[{".":5,"f":1,"g":78,"s":88}],"k":147,"l":2,"m":[{"i":30,"o":72}],"r":[{"f":[{"a":10}],"g":81,"h":5,"k":[{"e":88}],"n":83,"z":[{".":88,"e":6}]}],"t":[{"h":0}],"x":78},77],"f":[{".":77,"a":[{"b":77}],"ä":78,"e":1,"i":77,"j":6,"l":[{"e":4}],"o":[{"r":[{"s":83}]}],"r":[{"a":[{"u":34}]}],"s":77,"u":3},74],"g":[{".":83,"a":[{".":77,"r":20,"s":77},74],"e":[{".":77,"b":74,"h":74,"i":20,"r":[{"f":12,"h":38,"w":38,"z":12}]}],"h":77,"i":[{"e":77}],"l":[{"a":5},9],"n":34,"r":[{"a":4,"i":148},9],"s":[{".":83,"t":[{"o":11}]}],"t":22}],"h":74,"i":[{"d":39,"e":[{"l":[{"s":4}],"r":[{"s":[{".":34}]}]},83],"g":22,"k":[{"e":4}],"m":149,"n":[{"d":88}],"o":[{"n":16},2],"s":[{"o":88,"t":22}]},76],"j":77,"k":[{".":77,"a":[{"b":5,"k":20,"n":5}],"e":[{"i":5,"n":107,"r":[{"f":[{"a":34}]}],"s":1}],"i":[{"d":5},77],"l":[{"ö":5,"u":5}],"n":[{"o":4}],"o":[{"p":[{"f":12}],"r":5}],"r":[{"a":[{"s":6},4],"ä":4,"o":5},9],"s":[{"e":4},150],"t":151,"ü":78}],"l":[{"a":[{"d":77,"g":78}]},74],"m":[{"a":[{"s":152}],"o":77,"u":74}],"n":[{".":77,"a":[{"h":74,"r":5}],"e":[{"f":6,"i":6,"n":[{"e":6}],"r":2},1],"s":[{"p":25},77],"t":77}],"o":[{".":77,"d":91,"f":77,"g":77,"l":[{"a":2},76],"m":[{".":81},84],"o":77,"r":[{"i":2},103],"s":76}],"ö":94,"p":[{"u":77}],"r":[{"ö":77},74],"s":[{"a":[{"m":[{"e":6}],"r":16}],"ä":89,"c":74,"k":[{"r":1}],"p":[{"a":9,"o":[{"n":4}],"r":74}],"t":74,"z":3}],"t":[{".":77,"a":[{"r":[{"e":10},4]}],"ä":3,"á":74,"e":[{"i":78}],"h":[{"a":1}],"i":[{"e":77,"s":[{"e":78}]}],"o":[{"n":104}],"r":[{"i":[{"n":4}]},78],"w":74}],"u":[{"r":4,"s":[{"s":23},4]},77],"ü":70,"w":[{"i":77},74],"z":[{"ä":5,"b":77,"d":77,"e":[{"i":74,"l":[{"f":4}],"n":22,"s":77}],"g":77,"h":77,"i":[{"d":22,"n":153}],"k":77,"m":77,"r":77,"s":77,"t":77,"ü":[{"n":78},74],"v":77,"w":[{"i":5},77],"y":77}]}],"o":[{"f":11,"i":16,"p":[{"f":10},70],"r":70,"s":[{"t":22},154],"t":[{".":81,"s":3}]},77],"ö":155,"p":[{".":83,"a":[{"b":4},6],"e":[{".":72,"l":81}],"é":72,"f":[{"a":5,"e":[{"l":74,"s":77}],"l":81},72],"h":[{"t":72}],"i":77,"l":[{"a":6,"ä":81,"e":1,"i":1},77],"n":5,"o":[{"s":87,"t":72}],"p":[{"r":[{"o":74}]}],"r":77,"s":[{"o":5,"t":[{"e":[{"r":6}]}]}],"t":3,"u":76},70],"r":[{".":77,"a":[{".":81,"b":[{"b":107,"f":1,"t":1},5],"d":[{"r":1},36],"g":[{"e":4}],"l":[{"e":81,"i":157,"o":81},156],"n":[{"g":103,"z":103},77],"p":[{"p":131},77],"r":73,"s":[{"y":5}],"t":83,"u":103},70],"ä":[{"s":0},70],"b":[{".":77,"a":[{"k":5,"t":39,"u":5},77],"e":[{"f":83,"i":[{"n":12}],"k":77,"n":77,"r":77}],"i":83,"l":80,"o":77,"r":158,"s":[{"e":4,"k":4,"o":4},150],"t":159,"u":77},74],"c":[{"h":[{"l":77,"r":77}]},91],"d":[{"a":[{"u":5}],"e":[{"i":10}],"o":[{"p":5}],"r":39,"u":5}],"e":[{".":77,"a":[{"l":[{"e":[{"r":34}]}]},72],"b":160,"e":22,"f":[{"f":0}],"h":[{"r":0},72],"i":[{".":81,"d":0,"e":81,"h":81,"m":15,"n":[{"b":18,"s":18,"t":18},72]},77],"l":[{"e":72}],"m":83,"n":[{".":83,"s":[{"e":[{"m":53}]}]}],"r":[{"a":36,"e":[{"i":131},22],"g":72,"h":161,"i":72,"k":72,"l":72,"t":72,"w":5}],"s":77,"t":5,"u":4,"v":72}],"f":[{"r":[{"a":4},9],"s":[{"p":2}]}],"g":[{".":83,"a":[{"n":1}],"l":5,"n":6,"o":162,"r":16}],"h":77,"i":[{"a":5,"d":72,"e":[{"n":36,"r":[{"d":4,"g":4}]}],"n":[{"i":[{"t":23}],"t":0}],"o":124,"r":5,"s":[{"u":2},6],"u":81},77],"k":[{"a":[{"l":5,"r":20,"u":[{"e":4}]}],"e":[{"r":104}],"i":[{"l":5}],"l":[{"a":[{"g":6}],"e":5,"o":5,"ö":11},95],"o":[{"a":5,"r":5}],"s":[{"a":36,"e":2,"h":[{"e":4}]}],"u":22}],"l":[{"e":[{"s":5}]}],"m":[{"a":[{"d":1,"u":9}],"ä":3,"e":[{"g":20,"i":20}],"o":[{"r":2}],"u":[{"m":5}],"ü":83}],"n":[{"a":[{"n":5}],"e":[{"l":2}],"i":1},83],"o":[{"b":22,"c":83,"d":30,"f":[{"e":2},0],"l":76,"m":4,"p":103,"r":72,"u":84},70],"ö":134,"p":77,"r":[{"a":[{"c":9,"d":39,"s":20}],"e":[{"k":6,"n":163}],"h":5,"i":77,"o":[{"r":39}]}],"s":[{"h":3,"i":3,"s":[{"e":1}]}],"t":[{"a":[{"u":5}],"b":77,"e":[{"i":77,"l":[{"l":[{"i":164}]}],"x":77},3],"i":2,"o":77,"r":[{"e":[{"s":11}],"i":5},4],"s":[{"k":[{"e":4}]},77],"u":[{"c":77}],"y":77}],"u":[{"h":103,"m":[{"m":81},0]},77],"ü":72,"v":77,"w":[{"a":22}],"y":165,"z":[{"a":[{"u":5},77],"ä":5,"e":77,"i":77,"ö":5,"t":[{"r":166},74],"u":77,"w":20}]}],"s":[{"a":[{"a":131,"d":5,"f":131,"l":[{"t":167},79],"m":0,"r":[{"t":1}],"s":[{"s":[{"e":4}]},90],"t":1,"u":[{"f":10,"g":131,"s":167}]},77],"ä":[{"t":1}],"c":[{"a":72,"h":[{"e":[{"c":88,"f":88,"i":168,"r":[{"g":169}]}],"i":6,"m":72,"t":77,"u":[{"m":88},81]}]}],"d":77,"e":[{"b":88,"c":88,"f":115,"i":[{"e":0}],"n":[{".":143,"a":11,"o":25,"s":[{"e":[{"m":53}]},104],"t":0}],"r":[{"d":6,"e":2,"g":[{"e":[{"b":53}]}],"k":[{"e":131}]},5],"s":6,"t":[{"a":0},2],"x":88},129],"f":77,"h":[{"a":131,"i":[{"r":1},5]},77],"i":[{"g":77,"k":170,"m":77,"n":[{"g":22,"n":0}],"s":77}],"k":[{"u":1}],"l":131,"n":88,"o":[{"b":1,"f":0,"l":81,"m":81,"p":2,"r":0,"z":88},94],"p":[{"e":[{"k":[{"t":[{"o":13}]}],"l":88},1],"h":171,"i":[{"k":1,"n":6,"o":1,"r":88},5],"l":88,"r":[{"a":5},77]},0],"s":[{"a":[{"b":166,"u":[{"s":[{".":24}]}]},1],"e":[{"i":[{"n":4}],"l":[{"e":23},1],"r":[{"m":[{"a":172}]},1]},2],"i":[{"n":1},173],"k":[{"i":1}],"o":1,"p":[{"o":5,"r":5}],"t":[{"a":7,"e":[{"i":7}],"r":7,"u":7},6]}],"t":[{"a":[{"b":88},77],"ä":81,"e":[{"c":115,"e":5,"l":2,"m":[{"p":88}],"p":131,"r":2,"s":[{"e":93}],"x":5}],"h":171,"i":[{"d":2}],"o":[{"c":72,"r":[{"c":4}]},5],"r":[{"a":[{"u":6}],"e":[{"n":11},174],"i":[{"t":[{"t":175}]}],"o":[{"l":[{"l":34},88]},81]}],"u":[{"b":115,"f":88,"m":72}]}],"u":[{"r":5,"s":176},94],"w":[{"a":[{"s":22}]},88],"y":[{"l":149,"s":77},74],"z":1}],"ß":[{"e":[{"n":177,"r":103},11],"t":[{"h":5}]}],"t":[{"a":[{"b":[{"e":0,"r":0}],"f":20,"g":[{"o":5},157],"h":81,"l":[{"a":4}],"m":81,"n":[{"g":0,"k":1}],"p":[{"f":0}],"s":[{"t":5}],"t":[{"t":1}],"u":103},83],"ä":[{"n":0}],"b":83,"c":5,"e":[{"b":72,"i":[{"e":[{"n":[{"d":31}]}],"g":0}],"l":[{"i":87,"l":81}],"m":[{"g":78}],"n":[{"a":11,"s":18},5],"p":72,"r":[{"a":[{"l":65,"n":4}],"e":6,"n":104,"u":2},83],"u":5,"w":72}],"h":[{"a":[{"g":1,"l":1},83],"e":[{"b":79}],"i":[{"n":[{".":4}]}],"l":78,"r":88,"u":5,"ü":1}],"i":[{"k":[{"a":[{"b":11}],"e":[{"r":[{"w":43}]}]}],"n":[{"f":88}],"s":[{"a":2,"e":2,"o":88,"s":23},5],"v":[{"e":[{"r":[{"f":43}]}]}]},129],"l":[{"a":78,"i":83}],"m":[{"a":83,"ä":83,"u":[{"s":83},1]},78],"o":[{"b":103,"d":81,"g":81,"l":81,"m":[{"e":45,"o":2},178],"p":0,"r":[{"t":0},81],"s":81}],"r":[{"a":[{".":81,"t":22,"u":85}],"ä":85,"e":1,"i":[{"n":1}],"o":[{"m":1,"n":124,"t":1}],"ü":1}],"s":[{"a":5,"c":[{"h":[{"n":6}]}],"e":[{"h":98},5],"i":[{"n":9},5],"o":20,"p":9,"t":[{"ä":[{"t":4}]}]}],"t":[{"a":[{"c":78,"d":6,"g":35,"k":37,"l":35,"n":[{"g":6}],"r":6,"u":6},1],"ä":5,"e":[{".":83,"c":5,"i":5,"l":3,"m":[{"p":6}],"r":179,"s":104}],"h":[{"ä":1}],"o":[{"b":5},83],"r":[{"ä":39}],"s":36,"u":3,"y":[{"p":6},35]}],"u":[{"n":2},83],"z":[{"e":[{"l":[{"a":4,"t":4},10],"m":5,"r":[{"e":81},20]}],"i":20,"t":36,"w":20}]},94],"u":[{".":77,"a":180,"b":[{"a":[{"b":5,"n":5,"u":20}],"e":[{"i":5,"n":10,"u":5}],"l":[{"ä":5,"i":5,"o":5,"u":5}],"s":[{"i":2}],"u":[{"s":10}]},77],"c":77,"d":[{"r":5}],"e":[{"b":2,"r":[{"e":[{"i":4},5],"ö":23,"s":[{"t":[{".":7}]}],"t":1}]},77],"f":[{"a":[{"k":9,"n":9,"s":104},5],"b":[{"e":[{"r":78}]}],"e":[{".":77,"h":77,"n":[{".":83,"t":78}],"r":[{"k":41},9],"u":5}],"f":10,"i":[{"n":[{"d":4}]}],"l":[{"a":74}],"n":74,"o":77,"s":[{"k":[{"i":4}]}],"t":[{".":77},36],"z":[{"e":[{"i":[{"c":181}]}],"u":[{"g":78}],"ü":74}]}],"g":[{"a":[{"r":3},5],"e":[{"b":83,"h":83,"l":83,"r":2}],"l":83,"r":83,"u":1},77],"h":[{"a":1,"u":9},77],"i":[{"s":5},128],"j":83,"k":[{"t":4}],"l":[{"e":[{"s":22}],"l":[{"e":[{"s":11}]}],"ü":1}],"m":[{"a":[{"l":5}],"e":[{"n":[{"t":12},10],"r":[{"i":4},182]}],"i":[{"d":20,"l":6,"t":6}],"o":[{"r":22},20],"p":36,"s":36,"u":[{"n":6}]},77],"n":[{"a":3,"e":[{"i":12},2],"i":[{"o":5}],"o":5,"u":1,"z":88},83],"p":108,"r":[{"h":0},108],"s":[{"a":[{"g":6,"h":20,"n":[{"n":[{"e":[{".":52}]}]}],"s":5,"u":5}],"c":[{"h":[{"m":[{"i":21}]}]},77],"d":74,"e":[{".":77,"h":37,"n":107,"r":[{"b":12,"f":6,"k":12,"p":4,"w":6}]}],"g":74,"i":[{"n":5,"s":6}],"l":74,"o":[{"r":9},5],"p":[{"r":5}],"r":74,"s":[{"a":[{"g":78}],"e":[{".":11,"n":[{"d":[{"e":29}]}],"r":11,"s":11},1]},22],"t":[{"a":[{"u":4},35],"e":[{"c":6},77],"i":[{"e":4}],"o":22,"ö":5,"r":[{"i":4}]}],"ü":78,"w":74,"z":74}],"ß":[{"e":22}],"t":[{"a":[{"b":5}],"ä":[{"u":20}],"b":77,"e":[{"l":126,"n":[{".":1,"g":18}],"r":[{"h":12,"o":34}],"t":1}],"g":77,"h":[{"y":5}],"o":74,"r":[{"ö":5}],"s":77},88],"u":77,"v":[{"e":10},77],"w":77,"x":77,"z":[{"w":2},77]},72],"ü":94,"v":[{"a":[{"n":[{"g":81}],"t":36},5],"e":[{"n":[{"e":[{"r":101}]}]}],"i":77,"r":85,"s":5},70],"w":[{"i":[{"e":4}],"r":72},94],"x":[{"a":[{"m":5,"n":[{"s":72}]}],"e":79,"i":[{"d":81,"o":72,"s":28}]},70],"y":[{"a":94,"e":[{"u":70}],"m":[{"a":22}],"o":[{"f":0}],"s":[{"i":45}],"t":1}],"z":[{"a":[{"d":157,"l":78},6],"i":79,"o":5,"u":79,"z":[{"e":[{"n":5}],"w":5}]},70]}],"ä":[{"a":70,"ä":74,"b":[{"l":85,"s":5,"t":[{"e":23}]},94],"c":[{"e":70,"h":[{"e":[{"e":45,"n":[{"m":[{"a":[{"s":58},183]}]},10]},70],"i":70,"l":4,"r":72,"s":[{"a":11,"o":28,"p":2}],"t":[{"e":10}],"u":70}]}],"d":[{"a":72,"i":[{"a":103}],"r":72,"s":5,"t":[{"e":1}]},70],"e":[{"k":6,"u":81,"x":5},94],"f":[{"e":[{"n":11}],"f":[{"l":5}],"l":1,"r":[{"o":6},1],"s":5,"t":[{"s":11},2]}],"g":[{"a":103,"ä":84,"d":2,"e":[{"n":[{"e":10}],"r":[{"a":166}]},143],"l":85,"n":5,"r":[{"a":6},85],"s":[{"t":[{"a":1,"r":1}]},5],"y":84},70],"h":[{"a":0,"e":[{"i":[{"n":0}],"r":[{"g":[{"e":[{"b":[{"n":27}]}]}],"t":23}]},94],"i":[{"n":0},70],"l":[{"a":9,"e":[{"b":[{"e":184}],"r":7},3]}],"m":83,"n":[{"a":1,"e":1,"l":74}],"r":[{"e":[{"l":5}],"i":1},77],"s":80,"t":77,"u":70,"w":0}],"i":[{"m":70,"s":[{".":81,"c":[{"h":[{".":81}]}],"k":81},72]},77],"j":70,"k":[{"a":[{"l":[{"a":2}]}],"l":[{"e":72,"i":6},1],"r":85},70],"l":[{"a":70,"b":[{"e":22,"l":6}],"k":[{"s":22},4],"l":[{"a":20}],"p":39,"s":[{"c":[{"h":[{"l":6}]}]}],"t":[{"e":[{"i":45},2]}],"u":70}],"m":[{"a":185,"e":[{"r":[{"s":22}]}],"i":[{"e":[{"n":4}]}],"l":77,"m":[{"a":[{"s":104},127]}],"o":[{"n":[{"i":[{"e":15}]}]}],"p":[{"f":[{"e":186}]},77],"s":5,"t":[{"e":[{"r":15},2]}]}],"n":[{".":77,"d":[{"r":5}],"e":[{"n":28},80],"f":[{"t":22},187],"g":[{"e":[{"r":[{"a":10}]},188],"l":[{"e":4},80],"r":5,"s":[{"e":4},22]}],"i":76,"k":[{"e":3,"l":39,"r":5}],"n":[{"e":189},77],"s":[{"a":37,"c":20,"e":2},77],"z":77}],"o":[{"n":70,"s":3}],"p":[{"a":70,"f":[{"e":[{"l":74}]}],"p":[{"l":5,"r":5}],"s":[{"c":20}]}],"q":74,"r":[{"a":[{"f":6},190],"ä":0,"b":[{"l":[{"e":39}]}],"c":0,"d":[{"e":[{"s":10}]},77],"e":[{"i":103,"l":114,"m":[{"i":0},2],"n":[{"e":72},2],"r":[{"h":72}],"s":5},77],"g":[{"e":1}],"i":[{"n":[{"d":103,"t":0}]}],"k":[{"e":1}],"m":[{"a":[{"r":[{"m":4}],"t":4}],"e":[{"e":45,"n":[{"t":4}]}]}],"n":[{"o":22}],"o":[{"b":0,"f":0,"p":0}],"ö":70,"r":[{"e":1}],"s":[{"e":[{"b":5,"h":6,"r":9},22],"i":5,"p":[{"u":1}]}],"t":[{"e":11,"h":5,"s":75},77],"ü":72,"z":[{"t":[{"e":4}],"u":5,"w":5},74]}],"s":[{"c":6,"e":[{"g":4,"i":191,"r":[{"e":[{"f":34,"i":10,"n":11}],"i":22}]},165],"i":143,"k":[{"r":79}],"p":103,"s":[{"c":192,"e":[{"r":[{"k":[{"r":34}],"n":1,"s":[{"a":34}],"w":4}],"s":143},2],"h":6,"t":37},79],"t":[{"e":193,"h":74,"r":72}]},70],"ß":[{"c":77,"e":[{"r":[{"k":0,"s":0}]}]},70],"t":[{"a":170,"e":[{"a":4,"e":9,"i":9,"l":36,"n":2,"o":22,"r":[{"b":[{"l":10}]}],"s":[{"e":4}],"t":5},76],"h":72,"i":[{"d":0},70],"o":[{"b":0},70],"r":1,"s":[{"a":[{"u":4},6],"ä":5,"c":[{"h":[{"l":6,"r":6}]}],"i":126,"l":4,"o":[{"r":9}],"p":9,"t":[{"e":4},37]}],"t":[{"e":[{"i":5,"n":10}],"r":5}],"u":70,"z":[{"e":[{"l":23}],"w":5}]}],"u":[{"b":[{"l":39,"r":5}],"c":0,"d":[{"e":[{"r":104},23]},1],"f":73,"g":[{"l":12},74],"l":77,"m":[{"a":5,"p":[{"f":18},4],"s":28},77],"n":[{"e":2,"u":1},73],"r":[{"e":45},194],"s":[{".":76,"c":[{"h":[{"i":6,"m":6,"ü":21}]},77],"e":[{"i":45},3],"g":81,"k":81,"n":81,"p":20,"s":[{"c":45},3]},0],"ß":74,"t":[{"e":2,"r":5}]}],"v":[{"i":72},70],"x":74,"z":[{"e":81},70]}],"â":[{"t":70}],"á":[{"n":70}],"b":[{"a":[{".":181,"a":72,"b":[{"a":79,"f":77,"g":77,"l":5,"r":5,"s":94}],"c":[{"h":[{"t":[{"e":195}]}],"k":[{"e":[{"r":23}],"s":152}]}],"d":[{"e":[{"i":45,"l":94},3],"l":94,"m":94,"r":71,"u":5}],"f":94,"h":[{"n":[{"e":[{"n":[{"e":24}]}]}]},78],"i":[{"d":4,"s":22}],"k":[{"a":5,"e":[{"r":20}],"i":20,"l":196,"r":39},72],"l":[{"a":[{"b":5,"k":20,"l":1,"u":5}],"e":[{"r":[{"k":12},104]}],"k":[{"a":10,"e":18}],"l":[{"a":[{"n":11}],"e":[{"b":18,"i":25,"r":[{"g":24,"k":53}]}],"i":[{"g":68}],"o":[{"k":68}],"ö":[{"s":15}]}]}],"m":[{"a":85,"e":5,"t":83},94],"n":[{"a":2,"d":[{"a":[{"l":11,"n":11,"r":11},45],"e":[{"n":[{"g":24}]}],"r":2},87],"e":3,"f":77,"g":[{"l":4},70],"k":[{"a":75,"e":[{"r":101}],"l":2,"n":2,"r":2,"u":2}],"l":77,"n":[{"a":70}],"o":2,"s":94,"t":70,"w":77,"z":70}],"r":[{"a":[{"b":39,"d":5,"s":[{"t":4}],"t":5}],"d":[{"e":4}],"e":[{"i":5,"n":3,"r":[{"e":[{"i":50}],"t":18}]}],"f":10,"s":78,"z":[{"w":4},70]}],"s":[{"a":3,"c":5,"i":2,"s":[{"a":11,"t":24}],"t":[{"r":5},11]},87],"ß":20,"t":[{"e":[{"n":[{"t":12}]}],"o":2}],"u":[{".":78,"b":4,"e":[{"r":[{"l":18,"s":18,"w":18}]}],"f":[{"a":4,"l":9,"r":9}],"g":36,"k":72,"r":4,"s":[{"k":36,"t":[{"a":4}]}]}],"x":71,"y":[{"o":0}]}],"ä":[{"c":[{"h":0},87],"d":87,"h":94,"l":72,"r":[{"z":77}],"s":197,"u":[{"g":77}]}],"b":[{"e":[{"n":11,"p":11,"s":[{"e":173}]}],"l":[{"e":[{".":1}],"ö":5}],"r":[{"e":[{"c":81}],"u":[{"c":22},81]}],"s":5,"u":9},198],"c":198,"d":[{"ä":[{"n":23},11],"o":[{"m":[{"e":18}]}]},199],"e":[{".":74,"a":[{"b":1,"n":1,"t":[{"m":22}],"u":[{".":6},1]},78],"b":[{"b":70},78],"c":[{"h":[{"t":77},0]},74],"d":[{"e":[{"l":155}],"i":10}],"e":[{"h":30,"l":[{"a":1},2],"r":[{"e":[{"i":11}],"h":0,"l":0,"t":0}],"t":[{"a":0}]}],"f":[{"f":94},11],"g":16,"h":[{"e":[{".":5}],"r":[{"i":34}]}],"i":[{"b":4,"e":[{"r":94}],"f":191,"g":[{"e":[{".":11,"l":18,"p":18}]}],"k":65,"l":[{"a":36}],"m":[{"e":94}],"n":[{"d":0,"h":[{"a":[{"l":53}],"i":10},0]}],"s":[{"t":34},36],"t":[{"e":10,"s":[{"k":10,"p":10},22]}]}],"k":78,"l":[{"a":[{"g":1,"s":1}],"d":4,"e":[{"c":1,"k":200,"n":20,"r":[{"e":4}],"t":5}],"f":4,"l":[{"a":4,"e":[{"n":201}],"i":4}],"o":[{"m":4,"r":5}],"ö":[{"f":5}],"s":[{"z":4}],"t":22,"u":[{"n":11}]},78],"m":[{".":87,"a":203,"p":94,"u":[{"l":77}]},202],"n":[{".":78,"a":[{"b":[{"e":7}],"r":4,"s":6,"t":6}],"ä":127,"d":[{"s":152}],"e":[{"i":1,"n":[{"d":12}],"r":[{"s":6}],"u":2},72],"g":78,"i":[{"d":5,"s":6}],"n":4,"p":181,"s":[{"p":[{"a":25,"r":11}],"t":18,"v":78,"z":78},72],"t":[{"b":94,"d":77,"e":[{"u":83}],"f":77,"h":[{"e":[{"i":24}]},4],"r":10,"s":94,"w":76}],"u":[{"n":4},5],"z":204},74],"o":0,"p":[{"i":94,"o":[{"c":77}]}],"r":[{"a":[{"k":5,"m":39,"n":5,"s":10},0],"b":[{"l":[{"a":101}]},22],"d":4,"e":[{"b":126,"c":[{"k":6}],"i":[{"w":12}],"m":22,"n":[{"e":6}],"r":[{"g":11,"w":11}],"s":[{"c":10}],"t":22}],"f":10,"g":[{"a":[{"f":25,"l":11}],"l":[{"i":11}]}],"h":[{"a":[{"b":11}]}],"i":[{"d":22,"n":[{".":11,"n":[{"e":17}],"s":18}],"o":127,"s":[{"s":4}]}],"k":[{"o":4,"r":4}],"m":[{"a":[{"s":[{"s":[{"e":60}]},101]}]}],"n":[{"a":36,"e":22,"t":70}],"ö":127,"s":[{".":78,"e":34,"t":[{"a":205}]}],"t":[{"a":36,"e":22,"i":22}],"z":[{"e":4,"ö":2},22]}],"s":[{"a":[{"b":[{"b":11}],"m":2,"p":6,"r":6,"u":2},1],"e":[{"p":5,"r":20}],"i":[{"d":20}],"p":[{"o":2}],"s":[{"a":4,"e":10,"t":[{".":81}],"z":4}],"t":[{"e":[{"i":[{"n":21}],"r":[{"h":21},101]},104],"o":[{"l":12,"r":206}],"r":[{"ä":6},10],"u":[{"r":12}]}],"u":[{"r":5}],"z":[{"e":3}]},87],"t":[{"a":[{"m":1}],"h":[{"a":1,"i":1}],"t":[{"o":2}]},78],"u":[{"n":0,"r":0}],"v":78,"w":207,"x":165,"z":87}],"f":[{"a":[{"l":22}],"l":[{"ö":[{"s":15},10]}]},199],"g":[{"a":[{"s":[{"t":11,"u":11},45]},143],"e":[{"l":[{"e":22}],"n":34,"s":22},4]},155],"h":[{"ä":143},155],"i":[{"a":[{"k":0,"r":5}],"b":[{"e":[{"r":135},22]},208],"c":5,"d":[{"o":1}],"e":[{"r":[{"e":[{"s":101}]}],"s":[{"t":[{"r":11}]}],"t":[{"s":10,"u":78}]}],"g":[{"a":45}],"k":[{"a":2,"e":[{".":5,"s":5}],"r":[{"e":5}]}],"l":[{"d":[{"e":[{"b":11}]}],"e":[{"i":5}],"l":[{"u":83}],"u":5},78],"m":[{"p":77}],"n":[{"b":94,"e":[{"n":10},2],"f":[{"o":11},70],"g":[{"a":166}],"h":94,"o":[{"k":39,"l":11}],"t":94,"v":94}],"o":[{"i":22},39],"r":[{"i":45}],"s":[{"a":2,"i":1,"o":70,"p":5,"s":[{"c":75}],"t":[{"a":1,"o":20,"r":1,"u":5,"ü":5}]},78],"t":[{".":72,"a":72,"e":72,"i":72,"r":11,"t":[{"a":209}],"u":[{"m":1},5]}],"z":3},74],"j":[{"e":[{"k":[{"t":[{"o":10}]}]}]},94],"k":199,"l":[{".":77,"a":[{"b":65,"c":76,"d":81,"n":[{"c":72}],"s":[{"e":[{"r":23}]}],"t":[{"t":72}],"u":[{".":72,"s":81}],"w":76}],"ä":[{"n":94,"s":[{"e":72}],"t":78}],"e":[{"a":208,"b":81,"c":78,"g":81,"h":83,"i":[{".":88,"d":76,"h":77,"n":81,"s":23,"t":77}],"l":4,"n":[{"k":81},2],"s":[{"e":81,"u":77,"z":4}],"t":78,"u":81},72],"i":[{"c":[{"h":77,"k":78}],"e":[{"f":77},72],"g":83,"n":[{"d":72,"g":210}],"s":[{".":77},72],"t":[{"e":81},72]}],"o":[{".":88,"c":149,"i":88,"s":[{"s":[{"e":4}]},211]},72],"u":[{"m":149,"n":77,"s":72,"t":[{"o":45},78]}],"ü":78},6],"m":[{"a":[{"s":22}]},94],"n":[{"a":[{"s":10}],"i":[{"s":45},2]},212],"o":[{"a":[{"s":7},6],"b":[{"e":[{"n":1}],"r":4},71],"c":[{"h":82}],"d":3,"e":[{"i":39},9],"f":[{"e":1},94],"h":[{"e":1,"r":[{"a":2,"e":[{"r":4}]}],"u":2}],"i":[{"s":0}],"l":[{"a":[{"n":5,"u":5}],"l":[{"e":4}]}],"n":[{".":78,"a":3,"d":[{"a":2,"e":28}],"e":5,"s":78}],"o":[{"l":11,"t":[{"i":2}]}],"p":70,"r":[{".":78,"a":[{"n":2,"s":39},0],"ä":6,"d":[{"a":2,"r":166}],"e":[{"i":5}],"i":[{"g":6}],"m":4,"t":[{"e":[{"r":11}],"r":[{"a":[{"t":43}]}]},70],"u":[{"h":6}]}],"s":[{"c":5,"e":1,"p":12}],"t":[{"e":[{"n":[{"e":213}]}],"h":1,"s":[{"o":2,"t":2}],"t":4},78],"x":[{"o":5}],"z":70}],"ö":[{"b":39,"f":77,"l":94}],"p":[{"a":[{"g":2}]},214],"q":94,"r":[{".":77,"a":[{".":88,"d":76,"h":216,"k":93,"s":[{"s":11,"t":18}],"t":[{".":76,"e":[{"r":[{"g":24},217]}],"g":76}]}],"ä":[{"d":83,"u":11},78],"e":[{".":77,"c":[{"h":[{"t":[{"e":218}]}]}],"d":76,"f":76,"g":77,"i":[{"f":81}],"k":77,"m":88,"n":[{".":88,"t":76}],"o":77,"p":76,"r":88,"s":[{".":88,"t":81}],"t":[{"t":[{"e":[{"n":55}]}]},88],"z":88}],"i":[{"d":[{"a":2}],"e":[{"f":[{"a":10}],"m":76,"n":88,"r":2,"s":81}],"g":[{"k":77}],"n":[{"a":88,"d":76}],"o":88,"s":[{"c":88}],"ß":77,"t":[{"t":81}]}],"o":[{"b":22,"h":76,"l":76,"m":[{"a":2}],"n":88,"s":[{"t":76}],"t":[{"r":2,"t":213}],"u":76}],"ö":149,"u":[{"c":88,"f":77,"m":88,"n":[{"d":76}],"s":[{"t":15},11],"t":[{"h":2}]}],"ü":[{"b":129,"s":[{"s":11}]},78]},215],"s":[{"a":[{"d":72,"m":[{"b":0,"t":88}],"s":[{"s":[{"e":4}]},22],"u":[{"r":22}]}],"ä":[{"r":131,"u":81}],"c":[{"h":[{"a":[{"n":175},22],"e":[{"f":175}]}],"o":175},143],"e":[{".":81,"b":30,"l":[{".":81}],"n":[{".":81,"t":103},28],"r":[{"i":[{"n":219}]},0],"s":81}],"i":[{"m":72,"t":2}],"k":[{"i":131,"r":1}],"o":[{"f":103,"h":79,"l":81,"p":88,"r":2}],"ö":72,"p":[{"i":79,"l":5,"u":5}],"s":2,"t":[{"a":[{"b":98,"k":20,"n":[{"k":4}],"s":153,"u":5}],"ä":[{"t":0},81],"e":[{"m":[{"i":4}],"r":[{"n":88},9]}],"h":20,"i":[{"n":[{"k":4}],"p":72}],"o":[{"b":88,"d":88,"r":88},81],"ö":81,"r":[{"a":81,"ä":85,"e":[{"u":131}],"o":4},5],"u":5,"ü":[{"b":88},81]}],"u":[{"n":103}],"z":[{"e":[{"p":5}],"i":5},81]},94],"t":[{"a":[{"s":[{"t":[{"r":220}]}]},81],"e":143,"h":103,"i":[{"s":2},5],"r":[{"a":[{"n":104}]},6],"s":2,"ü":9},198],"u":[{"c":[{"h":[{"e":[{"c":6,"r":[{"s":221},101],"s":1}],"i":5,"s":[{"p":213}]}]}],"e":39,"f":5,"g":[{"r":5},4],"l":[{"l":[{"a":23}]}],"m":[{"f":77,"k":76,"l":77,"r":76}],"n":[{"a":11,"d":[{"e":[{"r":25,"s":18}]}],"e":70,"g":[{"n":157}],"h":94}],"r":[{"c":9,"e":72,"g":[{"a":[{"n":11,"r":11},45],"i":[{"n":11}],"r":2},72],"i":3,"n":77,"s":[{"a":81}],"t":[{"s":10}]}],"s":[{"a":5,"c":[{"h":[{"a":4,"e":[{"i":21,"l":222},1],"w":15}]},5],"h":[{"i":1}],"i":5,"p":20,"s":[{"e":[{"s":6}],"y":104}],"t":[{"e":[{"r":[{"m":19},101]}],"r":20}],"u":5}],"t":[{"a":2,"o":[{"r":[{"e":23}]}]}]}],"ü":[{"b":77,"c":0,"g":[{"e":[{"l":[{"e":15}]}]}],"s":16}],"v":94,"w":223,"y":[{"a":11,"o":2,"p":3,"s":2},224],"z":[{"e":[{"i":[{"t":135}]},143],"u":9},214]}],"c":[{"a":[{"b":[{"l":1},11],"c":225,"e":39,"g":3,"h":0,"l":[{"a":[{"b":23},2],"f":166,"t":36}],"n":[{"a":23},77],"p":[{"e":5}],"r":[{"n":36,"r":[{"i":135}],"t":[{"r":4}]}],"s":[{"a":226}],"t":[{"h":3}],"y":30},84],"ä":[{"s":2},1],"b":70,"c":[{"e":70,"h":227},77],"d":[{"o":81},228],"e":[{"c":77,"d":[{"r":5},74],"e":0,"f":77,"i":[{"n":1},0],"k":77,"l":[{"s":78}],"n":[{"a":4,"u":[{"n":4},1]}],"o":2,"r":[{"a":4,"e":[{"u":23},45],"i":[{"s":6},3],"o":0},74],"s":[{"h":16}],"t":[{"a":[{"m":9}]}],"u":0}],"é":74,"f":70,"g":116,"h":[{".":83,"a":[{"b":[{"i":226},77],"c":77,"g":180,"h":0,"k":128,"n":[{"a":10,"c":78,"f":23,"g":0,"l":83,"z":77}],"o":74,"r":[{".":77,"a":74,"d":78,"t":[{"a":78}]}],"s":[{"c":2,"i":135}],"t":[{"o":74,"t":77,"u":77}],"u":[{"s":[{"t":[{"r":7}]}],"t":23}]}],"ä":[{"h":0,"r":[{"m":0}],"s":0}],"â":74,"b":77,"c":229,"d":77,"e":[{"b":[{"e":[{"n":16}]},65],"c":[{"h":[{"t":1}]}],"d":[{"i":0}],"e":[{"l":2}],"f":[{".":78,"e":[{"r":11}],"s":78},74],"i":[{"m":0},77],"l":[{"e":[{"m":83,"r":11}]}],"m":[{"i":[{"k":78},74],"p":77}],"n":[{"e":[{"b":11}],"i":[{"d":11}],"o":2,"t":[{"s":83,"w":83}]}],"r":[{"a":166,"b":[{"s":230}],"g":[{"e":[{"b":229}]}],"k":[{"e":83}],"z":[{"i":[{"e":53}]}]}],"s":[{"s":231}],"t":[{"a":232}],"x":233}],"é":74,"f":77,"g":77,"h":77,"i":[{"a":74,"n":[{"a":4,"d":83,"e":[{"s":78}],"f":77,"h":77,"s":128,"t":128,"v":128}],"p":[{".":74}],"r":[{"u":74}],"s":[{"o":77}]}],"j":77,"k":77,"l":[{"e":[{"i":[{"n":1},22]},5],"i":83,"u":5},162],"m":234,"n":[{"e":[{"r":[{"e":[{"i":[{".":52}]}]}],"u":5}]},162],"o":[{"b":77,"f":[{"f":0,"s":22},2],"h":0,"l":[{"a":36}],"r":[{"c":0,"e":[{"i":11}],"i":0}],"s":5}],"ö":[{"l":1,"n":77,"r":78}],"p":77,"r":[{"a":[{"d":1,"g":23},77],"e":[{"s":23},77],"h":1,"i":[{"t":77}],"o":[{"m":[{"o":78}],"n":78,"s":7}]},111],"s":[{"t":[{"a":[{"l":6}]}]},83],"t":[{"r":[{"u":5}]},77],"u":[{"f":77,"h":77,"n":[{"f":128,"m":77,"t":77}],"r":[{"s":0},77],"t":77}],"ü":77,"v":77,"w":77,"y":74,"z":77},72],"i":[{"c":0,"e":[{"s":0}],"n":[{"d":70,"s":22,"t":70}],"s":20,"t":89}],"j":70,"k":[{"a":[{"b":2,"d":5,"g":5,"m":2,"r":75},115],"ä":0,"e":[{"f":0,"h":0,"i":0,"n":[{"a":11}],"r":[{"a":2,"e":5,"h":[{"ö":54}],"k":18,"l":[{"a":[{"u":53}]}],"n":5,"o":2,"r":0}],"t":[{"t":22},5]}],"i":[{"d":30,"n":0,"s":6}],"l":1,"n":7,"o":16,"ö":3,"r":1,"s":[{"a":[{"l":2}],"p":[{"e":[{"n":6}]}]}],"t":[{"e":1,"i":3}],"u":[{"h":0,"m":0,"p":0}]},235],"l":[{"e":[{"a":11,"t":22}],"i":[{"n":[{"g":22}],"p":[{"a":23},28]}],"o":[{"c":9,"f":4}],"u":[{"b":11},74]},228],"m":[{"e":81,"u":81},228],"o":[{"c":[{"h":0}],"d":[{"e":[{".":6}],"i":1},236],"f":[{"f":36}],"i":[{"t":0},11],"k":[{"e":5}],"l":[{"a":122,"e":[{"u":5}],"o":3}],"m":[{"t":[{"e":[{".":11,"s":101}]}]}],"n":[{"n":[{"e":2}]}],"o":[{"p":9},5],"p":0,"r":[{"a":0,"d":[{"a":2}],"e":6,"t":4}],"s":11,"t":[{"e":5}],"u":[{"s":[{"i":4}]}]},74],"p":77,"q":70,"r":[{"a":[{"s":11}],"ä":81,"e":[{"e":77,"m":[{"e":11}]},173],"i":77,"o":[{"s":10}],"y":77},237],"s":[{"f":6,"i":88,"t":2},155],"t":[{"i":[{"o":[{"n":50},14]},2],"u":[{"r":53}]},198],"u":[{"a":77,"e":5,"p":[{"e":9},39],"s":[{"s":[{"i":18}]}]},238],"w":70,"x":77,"y":78,"z":70}],"d":[{"a":[{".":78,"a":0,"b":[{"a":[{"k":79}],"ä":72,"e":[{"n":79},72],"i":79,"l":[{"u":1}],"o":79,"r":[{"a":11,"i":[{"e":1},5],"ü":239}]},94],"c":[{"h":[{"a":23,"o":5,"s":[{"e":129}]}]},70],"d":[{"e":5,"o":5,"r":111},94],"f":[{"f":77,"l":121,"o":[{"n":10}]},70],"g":[{"i":[{"o":10}],"o":2},70],"h":[{"l":4},0],"i":[{"l":51,"n":0,"r":94,"s":0}],"k":[{"r":[{"o":5}]}],"l":[{"a":[{"r":155},2],"b":36,"l":198,"o":[{"p":5}],"ö":1,"p":94,"t":[{"e":77},240],"ü":0}],"m":[{"e":[{"i":5}],"m":[{"a":70,"ä":198}],"o":23,"p":[{"f":[{"e":[{"r":[{"f":59}]}]}]},72],"t":198},78],"n":[{".":87,"a":[{"n":5,"t":193},70],"b":77,"c":[{"e":[{".":11}]}],"d":[{"a":77,"y":72},241],"e":[{"i":129},78],"f":77,"g":70,"h":77,"k":[{"l":2,"o":28,"r":2}],"l":77,"n":[{"a":77},70],"o":71,"s":94,"t":[{"w":77}],"w":77,"z":[{".":72,"i":77,"ü":77},70]}],"p":[{"a":72,"h":72,"o":[{"s":1},5],"p":83,"t":[{"e":81}]},94],"q":77,"r":[{"a":[{"s":10},37],"b":150,"c":76,"d":[{"e":28}],"e":[{"n":135},22],"g":4,"k":[{"a":22}],"l":78,"m":[{"a":28,"i":28,"u":11}],"o":39,"s":242,"t":[{"h":2,"r":2},94],"u":5,"z":70}],"s":[{"h":1,"p":70,"s":4},2],"t":[{"e":[{"i":1,"l":243,"n":10},90],"h":5,"l":76,"m":83,"o":81,"s":[{"t":2}],"t":[{"a":76}]}],"u":[{"b":78,"d":77,"e":[{"r":[{"e":[{"i":53},15]}]},36],"f":244,"g":76,"k":77,"n":[{"t":1}],"s":[{"s":11},94],"ß":2}],"w":78,"x":70}],"ä":[{"c":78,"g":94,"h":94,"m":[{"t":94}],"n":[{"a":4,"d":94}],"p":94,"q":77,"r":[{"z":77}],"u":[{"s":1},155],"x":77}],"b":[{"a":[{"u":[{"c":[{"h":100},22]}]}],"e":[{"e":2}],"u":[{"c":2,"s":4}]},245],"c":[{"h":81},77],"d":[{"a":81,"ä":81,"e":81,"h":81,"o":143},246],"e":[{"a":[{"d":2,"r":1,"t":3}],"b":[{"ü":78},11],"c":[{"h":0,"o":23}],"d":[{"e":[{"l":5}],"i":[{"t":5}]}],"e":233,"f":[{"a":[{".":5},11],"f":94,"l":11}],"g":[{"e":[{"n":[{"e":247}]}],"l":1},2],"h":[{"a":2,"e":22,"n":78,"o":1,"r":94}],"i":[{"c":87,"d":[{"e":[{"n":16}]}],"l":1,"m":[{"e":83},87],"n":[{"d":22,"s":[{"e":1,"t":[{"a":53,"i":53},1]}],"w":129}],"o":1,"s":[{"e":77,"m":115,"p":2}]},70],"k":[{"z":77}],"l":[{"a":[{"c":20,"d":[{"e":11}],"k":1,"u":[{"g":12}]}],"ä":[{"n":[{"d":4}]}],"b":36,"d":4,"e":[{"c":9,"g":86,"i":[{"g":18}],"k":77,"m":77,"n":5,"r":[{"r":18},104]}],"f":[{".":77,"m":77}],"i":[{"k":78}],"l":[{"a":[{"d":15,"n":11,"r":11,"u":23}],"ä":28,"e":[{"b":23,"i":11,"r":11}],"ö":209}],"o":[{"b":20,"p":5}],"s":[{"e":2,"o":2,"p":28}],"t":4}],"m":[{"a":[{"r":2}],"b":94,"e":[{"n":[{"t":[{"g":21,"s":34},101]}]}],"i":[{"n":1}],"o":[{"t":94}],"p":94,"u":72}],"n":[{".":88,"a":[{"m":2}],"e":[{"d":126,"n":[{"d":12}],"p":5,"r":[{"g":83}],"s":3}],"g":[{"e":[{".":248}]}],"i":5,"k":[{"l":[{"i":23}]}],"o":[{"s":[{"t":10},22]}],"s":[{"a":[{"m":10}],"c":[{"h":[{"o":43}]}],"e":[{"m":249,"r":[{"e":24}]},104],"t":[{"a":[{"u":43}]}]}],"t":[{"d":77,"e":4,"f":77,"g":77,"h":4,"n":77,"w":77,"z":77}],"z":[{"e":[{"r":[{"s":24}]}]}]}],"o":[{"b":5,"l":77}],"p":[{"l":11,"o":[{"c":77}]}],"r":[{".":88,"a":[{"f":4,"k":5,"n":[{"d":1},22],"p":39,"s":[{"i":12},30]}],"b":[{"l":2,"s":198}],"d":[{"b":77}],"e":[{"b":126,"c":[{"k":6}],"i":[{"e":1,"s":38}],"m":250,"n":[{"d":12},88],"r":[{"f":11,"n":15,"o":4,"t":18},250],"s":250,"u":39}],"f":[{"l":88},10],"h":[{"e":[{"b":81}],"ü":72}],"i":[{"d":39,"n":[{"f":18,"n":[{"u":21}],"t":[{"e":[{"g":52}]}]}]}],"k":[{"l":[{"ä":83}]},36],"l":[{"a":[{"n":88}]}],"m":72,"o":0,"ö":10,"r":4,"s":[{"t":[{"a":4},104]}],"t":[{"e":[{"n":[{"d":[{"e":[{".":137}]}]}],"r":[{"e":31}]}],"r":[{"a":[{"g":[{"e":49},229]},10]}]}],"u":[{"h":6,"m":6},86],"z":[{".":94,"v":94}]}],"s":[{".":72,"a":[{"g":37,"h":9,"m":37,"n":4},5],"ä":[{"n":20}],"e":[{"b":5,"h":251,"i":[{"l":12},5],"l":[{"t":4},94],"m":1,"n":[{"d":16,"e":15,"s":1}],"r":[{"m":4}],"t":20}],"i":[{"n":20}],"k":78,"o":[{"r":5},9],"p":[{"e":1},20],"s":[{"e":4,"t":34},22],"t":[{"a":[{"l":[{"t":221}],"n":[{"t":21}]}],"e":[{"i":[{"g":[{"e":29}],"n":[{"s":29}]}],"x":11}],"i":[{"t":6}],"r":[{"a":[{"t":221}],"e":6}]}],"u":[{"n":9},5],"w":78}],"t":[{"a":1,"e":[{"n":[{"t":18}]}],"h":155,"w":94}],"u":[{"l":94,"m":23,"n":0,"r":[{"l":0}],"s":1}],"v":[{"i":[{"d":155,"l":104}]}],"x":[{"a":30,"e":[{"r":5}],"i":[{"s":5}],"p":[{"e":77,"o":77}]}]},74],"f":252,"g":[{"a":[{"s":[{"t":[{"r":25}]}]}],"e":[{".":72,"r":22,"s":[{"h":72},4],"t":[{"a":166,"e":75}]}]},155],"h":[{"o":83,"u":81},155],"i":[{"a":[{"p":6,"s":39,"t":[{"h":6},10]}],"c":[{"e":0,"h":[{"l":1,"t":[{"e":[{"r":13}]}]}],"k":[{"e":[{"l":23}]}],"o":243},78],"d":[{"a":78,"e":[{"e":77,"n":5},70],"y":77}],"e":[{"d":16,"n":[{"b":1,"d":1,"e":[{"b":11,"r":[{"l":31}]}],"i":3,"s":[{"t":[{"r":253}]}]}],"p":2,"r":[{"s":[{".":1}]}],"s":[{"c":23}],"t":[{"h":16}]},5],"f":78,"g":[{"n":11},78],"k":[{"a":2}],"l":[{"s":28}],"m":[{"b":94,"p":77}],"n":[{"a":11,"d":94,"e":3,"f":94,"g":78,"h":94,"i":1,"j":94,"k":94,"s":94,"t":76,"v":94}],"o":[{"b":39,"n":[{"i":[{"n":23}],"s":254}],"r":[{"a":1}],"s":[{"k":5},22]}],"p":[{"t":1},30],"r":[{"a":71,"e":[{".":6,"n":5}],"i":[{"n":5,"s":5}],"l":94,"r":94}],"s":[{"a":251,"o":94,"p":[{"e":[{"r":16}]},5],"r":94,"t":[{"o":20,"r":[{"a":12}]},22],"z":6}],"t":[{"a":5,"e":[{"c":45,"r":[{"l":12,"m":12,"s":12}]}],"i":[{"n":5}],"o":[{"b":5}],"r":39,"s":4,"u":20}],"v":44,"z":2},74],"j":[{"a":[{"r":72}]},94],"k":214,"l":[{"a":[{"g":4,"p":10}],"e":[{"r":[{"a":2}]},81],"i":[{"f":11}],"m":1,"s":1},246],"m":165,"n":[{"i":[{"s":45,"v":4},2]},243],"o":[{"a":[{"t":7}],"b":[{"a":87},94],"c":[{"h":[{"i":0}]}],"f":[{"e":5},70],"h":[{"a":1},94],"l":[{"l":[{"a":4},22],"y":81}],"m":[{"a":[{"l":5,"r":5}],"e":[{"n":135}],"i":[{"n":[{"g":6}]},1],"n":83,"u":5},78],"n":[{"a":[{"n":7},3],"i":45,"y":83}],"p":[{"e":94,"f":94}],"r":[{"a":121,"c":94,"d":94,"f":[{"a":28,"ä":2,"i":28,"l":2,"o":2,"r":2,"u":166}],"g":94,"n":72,"t":[{"e":[{"r":11}],"r":2},77]}],"s":[{".":72,"e":1,"k":2,"m":77,"t":[{"a":23,"e":[{"n":101}]},45]}],"t":[{"a":1,"o":[{"f":5}]}],"u":[{"n":1}],"w":[{"s":2}],"x":170}],"ö":[{"d":5,"f":5,"l":[{"l":[{"a":15}]},4],"n":72,"r":87,"s":[{"c":20}]},70],"p":[{"a":[{"s":[{"s":15}]}],"o":[{"l":[{"n":10}],"s":[{"t":255}]}]},165],"q":94,"r":[{"a":[{".":149,"b":149,"d":129,"h":[{"m":77}],"k":76,"l":149,"m":[{"p":81}],"n":[{"d":81,"k":23}],"s":[{"s":25,"t":76}],"t":[{"i":[{"n":11}]}],"u":[{"b":77,"c":76,"f":88,"m":77,"p":77}]}],"ä":[{"d":77,"h":88,"t":76,"u":76}],"e":[{".":83,"a":[{".":88,"s":88},76],"c":[{"k":149}],"f":76,"g":83,"h":[{"a":2},149],"i":[{"c":76,"e":149,"s":23,"v":88}],"j":88,"m":83,"n":129,"o":88,"p":129,"r":129,"s":[{".":83,"c":88,"s":[{"e":[{"i":53,"l":53}]}]}],"w":88,"z":77}],"h":76,"i":[{".":149,"a":88,"b":88,"c":223,"d":88,"e":[{"g":143},88],"f":[{"f":83,"t":88},78],"k":88,"l":88,"n":[{".":88,"d":223}],"p":77,"s":[{"c":88,"i":77,"s":77}],"ß":77,"t":[{"u":256},88],"x":88},81],"o":[{"b":76,"d":81,"g":[{"g":77}],"h":[{"r":77,"u":149}],"l":[{"l":76}],"s":[{"e":76,"s":88,"t":76}],"t":76,"u":76,"v":76,"w":81}],"ö":[{"s":[{"c":2}]}],"u":[{"b":143,"c":149,"d":76,"h":76,"t":256}],"ü":[{"b":9,"s":149}]},215],"s":[{".":83,"a":[{"b":1,"d":72,"l":[{"k":72,"l":72},0],"m":[{"t":115}],"n":[{"e":1},72],"s":[{"s":[{"i":1}]}],"u":[{"t":72},22]}],"ä":[{"n":0,"u":5}],"b":83,"c":[{"h":[{"e":[{"f":88}],"i":[{"n":88}]}],"o":79,"r":72}],"e":[{"b":114,"e":2,"f":103,"h":[{"r":0}],"i":[{"g":[{"n":6}],"n":72}],"m":[{"b":103}],"n":[{"e":[{"r":23}],"g":103,"t":103}],"r":[{"f":103,"h":72,"k":103,"l":103,"r":0,"s":103,"t":103,"z":72}],"t":[{"a":103},2],"v":103,"x":72}],"h":[{"a":[{"k":5,"l":88},211],"o":[{"r":88},81]}],"i":[{"d":72,"m":103,"n":[{"f":79}]}],"k":[{"a":[{"l":79}],"e":[{"l":79}]}],"l":[{"i":88},83],"o":[{"h":81,"p":72,"r":[{"i":0},2]}],"ö":72,"p":[{"a":[{"s":257,"t":103}],"ä":72,"e":[{"c":103,"n":5,"r":[{"i":88}]}],"h":85,"i":79,"o":[{"r":[{"t":[{"o":175}]},5]}],"r":[{"i":81,"o":72}],"u":5}],"s":2,"t":[{"a":[{"b":[{"e":88}],"s":72,"u":[{"f":1}]}],"ä":[{"t":[{"i":131}]}],"e":[{"a":88,"l":[{"e":88}]}],"i":[{"l":5,"s":103}],"o":[{"c":[{"h":88}],"d":72}],"r":[{"a":[{"s":101}],"e":[{"n":88}],"o":79}]},2],"u":[{"m":2,"n":72}],"z":[{"e":[{"n":5}]}]},94],"t":[{"a":[{"b":[{"e":2}],"c":[{"h":15},79],"d":2,"g":79,"n":[{"e":1},2],"s":79,"x":5}],"e":[{"a":81,"m":[{"o":4}],"t":5}],"h":[{"e":[{"i":88}]},72],"o":[{"b":88,"p":5},258],"ö":81,"r":[{"a":[{"n":104}]},1],"s":[{"a":1,"t":7},0],"t":11,"u":[{"n":5,"r":79}],"y":81},94],"u":[{"a":[{"l":[{"v":0}],"r":0}],"b":[{"l":[{"i":39}]}],"c":[{"e":0}],"e":[{"l":[{"l":[{"a":23}]}]}],"f":[{"e":94,"t":[{"e":[{"r":11}],"o":2,"r":2}]},5],"h":94,"i":[{"n":5},0],"k":[{"r":5}],"l":[{"a":[{"r":[{"t":4}]}]}],"m":[{"b":94,"d":77,"e":259,"f":77,"g":77,"k":129,"l":77,"p":72,"r":77,"s":[{".":72},94],"v":94}],"n":[{"d":76,"f":94,"g":[{"l":77}],"i":94,"k":[{"e":4,"l":2}],"r":77,"s":[{"i":77,"t":[{"r":220}]}],"t":77,"w":77,"z":76},5],"o":[{"s":0}],"p":11,"r":[{"c":[{"h":15},2],"k":94,"l":94,"n":94,"s":[{"a":94}],"t":94}],"s":[{"c":[{"h":[{"n":6,"r":6,"w":260}]}],"t":2}]},74],"ü":[{"b":[{"e":[{"r":81}]},77]},74],"v":155,"w":[{"a":[{"r":11},2],"e":[{"r":[{"t":[{"e":23}]}],"s":[{"t":255},2]}]},94],"y":[{"l":20,"m":4,"n":78,"s":20},74],"z":243}],"e":[{"a":[{"b":[{"e":5,"l":39,"r":6}],"d":[{"l":[{"i":18}],"r":79}],"g":[{"a":231,"l":16},5],"k":[{"t":[{"a":72,"o":81},22]}],"l":[{"a":5,"e":[{"i":81,"m":88,"n":[{"t":12,"z":18}],"r":[{"g":124},104],"x":81}],"i":[{"n":79}],"l":[{"e":34,"ö":[{"s":15},4]}],"o":[{"n":5,"p":5},9],"t":[{"i":261,"r":4}],"u":119}],"m":[{"a":4,"e":72,"o":9,"s":22,"t":36}],"n":[{"a":[{"r":36},6],"f":81,"o":72}],"r":[{".":81,"a":[{"t":1},5],"e":[{".":88,"i":20,"n":[{"e":6}],"r":88,"s":88},72],"o":5,"z":81}],"s":[{"c":79,"f":81,"i":[{"n":18}],"p":5,"s":34}],"t":[{"e":[{".":1,"n":1,"r":135},22],"m":[{"e":[{"s":11}],"u":[{"n":11},2]}],"s":4,"t":262,"u":22}],"u":[{"e":81,"f":[{"e":2,"l":11,"o":88},81],"n":4,"s":[{"s":23}]}],"v":72,"z":72},94],"ä":124,"b":[{"a":[{"k":81,"p":2},77],"ä":[{"n":81}],"e":[{"c":77,"e":[{"r":9}],"i":[{"n":[{"h":60}]}],"l":[{"e":[{"r":11}],"o":2},5],"n":[{"e":[{"n":100}]}],"r":[{"a":[{"s":11}],"t":18},81],"s":[{"e":[{"h":25},104],"o":2}],"t":[{"s":10},77]}],"h":77,"i":77,"l":[{"a":[{"ß":5}],"ä":81,"e":[{".":1,"r":1,"u":6}],"i":[{"e":81}],"o":1,"ö":5},77],"o":[{"b":72},77],"ö":[{"s":2}],"r":[{"a":[{"u":143}],"e":[{"a":6}]},77],"s":[{"c":[{"h":[{"e":21}]}],"e":22,"i":[{"n":9}],"o":9,"p":[{"a":[{"n":[{"n":[{"e":263}]}]}]},9],"t":[{"a":[{"u":4}],"ä":[{"t":6}],"h":36,"i":9,"o":[{"t":6}],"r":1}],"z":6},5],"u":[{"n":[{"t":72}],"s":[{"s":23}],"t":166},77]},70],"c":[{"a":77,"e":94,"h":[{"a":[{"m":9}],"ä":9,"e":[{"i":9,"n":264,"r":[{"z":[{"i":265}]}]},94],"i":70,"l":4,"m":4,"n":4,"o":[{".":72}],"ö":36,"r":[{"i":11},4],"s":[{"e":[{"r":10}],"t":[{"r":[{"e":50}]}]}],"t":[{"a":[{"b":4}],"e":[{"i":65,"r":[{"h":[{"a":62},24]}]}]}],"u":70,"w":9,"z":77}],"i":[{"a":2},70],"k":[{"e":[{"n":163}],"s":[{"e":[{"r":4}],"t":[{"a":11}]}],"t":[{"y":78},77]},6],"l":94,"o":77,"r":76,"t":77}],"d":[{"a":5,"d":[{"r":5}],"e":[{"a":[{"l":2}],"n":[{"e":[{"r":65}],"s":[{"a":10,"e":120,"p":120}]}],"o":22,"r":[{"a":[{"t":4},23],"e":[{"r":101}],"t":104},2]},6],"i":[{".":81,"p":77},5],"m":[{"a":[{"s":104},23]}],"o":79,"ö":5,"r":[{"e":[{"i":81}]}],"s":[{"a":[{"l":5}],"e":[{"h":6,"s":20}],"i":5,"o":20,"p":20,"t":[{"o":5,"r":20}],"u":20}],"u":[{"n":[{"d":104},23]}],"y":[{"s":22},157]},70],"e":[{"a":16,"b":[{"l":2}],"c":[{"e":5,"h":[{"o":5}],"k":70},0],"d":[{"s":36}],"e":30,"f":[{"f":70,"l":11}],"g":11,"i":[{"e":39,"n":[{"s":[{"e":10}]}],"s":[{"c":11,"e":4,"s":23}]},70],"l":[{"a":72,"e":[{"k":79,"n":10},2],"ö":2}],"m":[{"a":[{"s":[{"s":15}]},170],"b":70,"i":[{"n":1}],"p":70}],"n":[{"a":[{"g":22}],"ä":72,"c":72,"e":9,"g":81,"i":1,"k":81,"l":81,"o":72,"s":4,"z":2},70],"o":1,"p":[{"o":1},72],"r":[{"a":[{"t":11}],"b":[{"t":70}],"d":70,"e":[{"i":9,"n":[{"g":38}],"s":266,"t":[{"i":4}]},231],"m":[{"ä":70}],"o":0,"ö":[{"f":70,"s":2},0],"u":[{"n":3}],"z":70}],"s":[{"h":1,"p":1,"t":2}],"t":[{".":72,"a":[{"t":6},3],"h":5,"i":2,"r":16,"u":5}],"u":30,"w":[{"a":[{"r":10}],"e":[{"i":[{"s":101}]}]}],"x":71},77],"f":[{"a":[{"d":103,"h":81,"n":[{"a":0}],"r":[{"c":72,"m":1},0],"t":72}],"ä":[{"l":5,"s":[{"s":[{"e":34}]}],"u":72},77],"e":[{"b":114,"f":81,"l":[{"e":[{"i":25}]}],"m":[{"i":72},0],"n":[{"e":224,"t":72},28],"r":[{"f":51,"i":[{"n":[{"d":31}]}],"r":51}],"u":[{"i":[{"l":101}]}]},77],"f":[{"ä":35,"e":[{"k":78}],"i":74,"l":[{"u":1},5]}],"i":[{"d":0,"n":[{"s":103}],"s":2},77],"l":[{"e":6,"u":124,"ü":81},77],"o":165,"r":[{"e":[{"i":[{"h":6}]}],"o":[{"l":1,"m":1}],"u":6,"ü":6},77],"s":[{"c":1,"o":1,"p":1},2],"t":[{"a":[{"n":5}],"e":[{"i":5}],"r":[{"o":5}]}],"u":[{"m":72},77]},70],"g":[{"a":[{"m":2,"n":[{"z":79}]}],"d":11,"e":[{"i":[{"n":15}],"l":[{"a":[{"n":11,"u":25}],"e":[{"i":[{"e":[{"r":267}]}],"r":11}],"o":2}],"n":[{"a":75,"e":[{"r":[{"o":24}]}]},5],"r":[{"a":2}],"s":[{"t":[{"a":[{"l":34}],"o":25,"r":25}]}],"u":9},81],"i":[{"o":81},77],"l":[{"o":72,"u":72},77],"n":[{"ä":1,"i":1},72],"o":[{"p":9}],"r":[{"o":[{"s":[{"s":[{"e":51}]}]}]}],"s":[{"a":[{"l":6,"u":[{"g":15}]}],"e":[{"i":6,"l":166},1],"i":1,"o":[{"f":2}],"p":[{"e":2}],"t":[{"o":6},22]}],"t":[{"h":5}]},70],"h":[{"a":[{"c":[{"h":0}],"d":[{"e":5},0],"h":79,"l":[{"t":[{"s":18}]},5],"n":[{"d":81}],"r":[{"z":72}],"u":[{"t":81}]},94],"ä":[{"s":23},70],"e":[{"f":[{"f":0}],"i":[{"n":0}],"l":[{"t":0}],"n":[{"s":[{"e":88}],"t":[{"e":131,"r":10}]}],"o":4,"p":84,"r":[{"a":9,"f":118,"l":118},77]},70],"i":[{"m":1,"s":10},94],"l":[{"a":[{"m":0,"u":39},9],"ä":0,"e":[{"i":[{"n":4}],"n":[{"t":6}],"r":44}],"o":[{"r":9},22],"ö":5,"s":[{"e":2}]}],"m":[{"a":[{"b":5,"n":[{"t":6}]}],"u":1},77],"n":[{"a":1,"o":1}],"o":[{"f":2,"l":[{"y":1},2]},94],"ö":[{"r":[{"e":[{"r":11}]}]},76],"r":[{"a":153,"ä":9,"e":[{"c":9,"i":5,"l":5,"r":[{"l":[{"e":24}],"n":11}],"s":23}],"i":[{"n":6}],"o":[{"c":0,"f":9}],"ö":0}],"s":[{"a":1,"e":1,"h":1,"i":1,"o":1,"p":1,"t":[{"a":1,"o":1,"r":1},22]},268],"t":[{"h":4,"r":11},194],"u":[{"m":72,"n":[{"f":0,"i":72}],"r":81},94],"ü":[{"b":1},70],"w":0,"y":70}],"i":[{"a":[{"t":11},194],"b":[{"a":[{"r":5}],"l":[{"i":5,"u":6}],"u":[{"t":[{"e":12},22]}]}],"c":[{"e":0,"h":[{"o":5}]},88],"d":[{"a":20,"e":[{"i":[{"s":6}],"r":[{"r":[{"e":34}]}]},1],"n":77,"o":1,"r":1},72],"e":[{"b":2,"d":2,"l":3,"m":2,"n":[{"g":[{"e":101}]},269],"s":16,"t":2},0],"f":[{".":83,"l":[{"o":0}],"r":74,"t":4}],"g":[{".":77,"a":[{"r":2},77],"ä":77,"e":[{".":77,"b":77,"h":77,"n":[{"o":83,"s":[{"c":181}]}],"r":270,"s":77,"w":77}],"i":77,"n":271,"o":5,"r":[{"a":[{"t":12}],"e":77,"ö":77,"u":77,"ü":77}],"s":77,"t":77,"u":77}],"h":[{"u":[{"m":5}]},83],"k":[{"a":[{"b":5,"k":5,"m":11,"r":2}],"i":2,"l":[{"a":16,"ä":1},2],"o":2}],"l":[{".":77,"a":[{"b":12,"m":5,"n":[{"e":12,"g":6,"z":12},22],"r":5}],"b":77,"d":65,"e":[{"i":[{"n":6}],"n":167,"t":5}],"f":65,"m":22,"o":[{"b":5}],"ö":2},72],"m":[{".":77,"a":[{"b":5,"g":20,"l":[{"l":4,"p":4}],"t":[{"o":10}]}],"o":[{"r":20}],"ö":77,"p":[{"l":272},77],"s":[{"a":4}],"u":[{"r":5}]}],"n":[{"a":[{"d":32,"e":6,"n":12,"s":46,"t":12},273],"ä":39,"d":[{"e":[{"r":[{"k":24}]},36],"u":70}],"e":[{"b":77,"n":[{"e":18,"g":38,"s":[{"e":274}]}],"r":[{"b":[{"e":34}],"f":6,"k":6,"l":[{"a":275}],"s":[{"c":13}]}],"u":5}],"f":[{"i":[{"z":11}],"l":[{"u":[{"s":181,"ß":181}]}],"o":[{".":11,"s":11},77]}],"g":[{"e":[{"r":78}],"r":72},36],"h":[{"ä":72}],"i":[{"e":5,"t":70}],"k":[{"a":[{"r":[{"n":24}]}],"ä":78},65],"l":72,"n":36,"o":153,"r":[{"i":74}],"s":[{"a":[{"s":[{"s":[{"e":60},31]}],"t":78},175],"c":[{"h":[{"ä":181}]},72],"t":[{"a":[{"l":24}]}]}],"t":[{"e":[{"r":[{"v":24}]}],"ö":78,"r":[{"ä":78}]}],"u":74}],"o":[{"p":2,"s":2},1],"p":[{"f":2},0],"r":[{"c":2,"e":1,"r":70},77],"s":[{".":88,"a":[{"s":1},5],"c":[{"h":[{"w":[{"u":21}]}]}],"e":[{"r":[{"g":41,"l":38,"s":[{"t":19}],"w":12}]},88],"h":[{"o":74}],"k":[{"y":3}],"o":5,"p":[{"e":2}],"s":[{"e":[{"r":[{"s":31}]}]},170],"t":[{"o":83,"r":[{"a":[{"s":31}]}]}],"u":[{"m":5,"r":5}],"w":[{"o":74}]}],"t":[{"a":[{"b":126,"l":5,"n":20,"p":5,"r":5,"t":6}],"ä":[{"n":5},77],"e":[{"i":1,"r":[{"a":10}]}],"h":20,"i":[{"n":5}],"o":22,"r":[{"a":[{"u":6}],"o":5}],"s":[{"a":[{"g":68}]}],"t":65,"u":[{"m":20,"r":20}],"z":36},72],"v":[{"e":10},2],"z":[{"a":[{"r":5}],"i":[{"n":20}]}]}],"j":76,"k":[{".":77,"a":165,"d":74,"e":[{".":81,"n":276,"s":81,"y":81},5],"l":[{"o":6},79],"n":6,"o":[{"r":[{"d":[{"a":10}]}]},79],"r":81,"s":[{"p":37}],"t":[{"a":[{"n":[{"t":[{"e":17}]}],"t":4}],"ä":20,"e":[{"l":35,"r":[{"f":4,"k":4,"z":38}]}],"o":[{"b":277},2]},77],"u":[{"r":[{"a":22}]},76],"w":79,"z":74},70],"l":[{"a":[{"b":[{"t":5,"u":1}],"d":[{"e":[{"r":1}]}],"f":0,"h":11,"k":103,"m":[{"i":39,"p":81},114],"n":[{"a":0,"d":[{"a":88}],"m":72,"s":88,"t":103,"w":88,"z":0}],"o":77,"p":103,"r":[{"i":3},103],"s":[{"i":121,"p":0}],"u":[{"f":[{"w":1}]}]},70],"ä":[{"d":81},94],"b":[{"i":[{"l":77}],"r":77}],"d":[{"a":[{"r":[{"i":4,"m":11},22]}],"e":[{"r":[{"f":12,"l":4,"p":18,"s":[{"t":34},18]}],"s":1}],"s":22},77],"e":[{".":129,"a":[{"r":22},76],"b":76,"c":[{"h":0},270],"f":[{"a":74}],"h":[{"e":[{".":1}]},83],"i":[{"e":[{"r":[{"n":278}]}],"n":[{"e":81},103],"t":143},77],"k":[{"o":77},74],"l":103,"m":[{".":76,"a":81,"i":2,"m":81,"p":128},84],"n":[{".":76,"k":[{"l":120}],"s":[{"e":88}],"t":103}],"p":81,"r":[{".":81,"a":22,"d":0,"e":[{"i":[{"g":175}]}],"f":[{"a":279,"i":88},0],"g":72,"h":0,"k":0,"l":103,"n":[{"ä":131}],"ö":22,"r":103,"u":1,"w":0},77],"s":[{"s":103}],"t":[{"a":114,"i":2,"t":[{"a":10}]}],"x":[{".":81},128]}],"f":[{".":74,"e":[{"r":2}],"m":74,"r":11,"t":74}],"g":[{"i":[{"e":[{"r":[{".":51,"s":51}]}]}],"l":3,"r":11}],"i":[{"d":103,"e":76,"f":23,"g":77,"m":72,"n":[{"a":23,"o":4,"s":0}]}],"k":[{"s":22},77],"l":[{"a":[{"d":[{"e":[{"n":51}]}],"p":5,"r":[{"b":6,"t":18}],"s":22}],"e":[{".":1,"i":[{"n":4},2],"l":6,"n":[{"e":[{"n":183}]}],"r":[{"f":[{"a":[{"s":52}]}],"g":60,"h":4},2]}],"i":[{"e":1,"l":5,"p":74}],"o":[{"g":35,"r":5,"t":5}],"ö":2,"s":[{"p":4}],"u":[{"m":22}],"ü":5}],"m":[{"a":3,"e":[{"i":[{"n":4}]},2]}],"n":[{"a":1},77],"o":[{"a":85,"f":72,"l":72,"m":72,"n":[{"k":72}],"p":[{"f":0}],"r":[{"i":2},0],"t":81,"v":79},77],"ö":77,"p":16,"s":[{"e":[{"i":[{"n":280}],"n":[{"t":1}]}],"u":[{"m":5}]}],"t":[{"a":[{"n":[{"s":6}]}],"e":[{".":1,"m":10,"n":[{".":7,"t":12}],"r":[{"b":18,"f":18,"h":4,"l":[{"e":13}],"n":281,"o":34,"s":[{"c":13}]}],"t":[{"h":4}]}],"h":[{"e":1}],"r":9,"s":[{"e":4}]}],"u":[{"f":0,"m":103,"r":170,"s":[{"e":1}],"t":[{"o":1},2]},94],"ü":70,"y":[{"a":72},77],"z":[{"a":[{"c":3,"r":5}],"e":[{"n":[{"e":6}]}],"i":[{"n":9}],"w":[{"a":5}],"y":77}]}],"m":[{"a":[{"b":170,"l":[{"k":103}],"n":[{"f":1,"o":103,"s":103,"z":74}],"s":[{"p":282,"s":[{"e":4},22]}],"ß":81,"u":0}],"ä":[{"h":5},76],"b":[{"a":74,"o":74,"r":[{"y":74}]}],"d":[{"ä":5,"r":[{"a":5},9]}],"e":[{"b":114,"f":72,"i":2,"l":[{"e":72}],"n":[{"g":[{"e":[{"l":53}]}],"t":[{"h":120}]},5],"r":[{"i":36,"l":118,"w":0}],"t":[{"i":87}]},77],"i":[{"d":114,"e":[{"i":2}],"g":72,"k":22,"m":0,"n":[{"a":36,"d":81,"t":0},77],"r":84,"s":[{"c":81}]}],"m":[{"a":[{"u":23}],"e":[{"c":5}]}],"o":[{"a":72,"l":81,"s":4}],"p":[{"f":[{"l":1},283],"o":1}],"s":[{"a":5,"c":[{"h":[{"a":6}]}],"i":[{"m":5}],"p":[{"r":5}],"t":[{"r":9}]}],"t":3,"u":[{"l":[{"s":78},84],"n":[{"e":60}],"r":81,"s":81}],"ü":[{"s":36},77]},70],"n":[{"a":[{".":83,"b":[{"a":1,"o":1},173],"c":[{"k":131},83],"d":[{"i":18}],"f":88,"h":83,"k":1,"l":[{"a":22,"b":88,"e":81,"g":5,"i":36,"k":88,"m":88,"o":88,"p":23},0],"m":284,"n":[{"d":88,"e":1,"t":88,"z":88},11],"p":[{"a":2},0],"r":[{"e":1,"k":1,"o":1}],"s":[{"c":2,"t":285},0],"t":[{"i":223,"l":88,"s":10,"t":131,"u":83},77],"u":[{"f":286,"g":1,"r":131,"s":[{"t":[{"a":175}]}],"t":88}],"x":30,"z":121},72],"ä":[{"b":1,"i":81,"r":72,"s":[{"t":1},39]},0],"b":[{"u":[{"s":120}]}],"c":[{"e":[{".":5}]}],"d":[{"a":[{"c":2,"l":5,"n":[{"g":6}]}],"e":[{"l":[{"ä":10},77],"r":[{"m":[{"a":[{"s":58}]}]}],"s":[{"s":38}],"x":5}],"i":[{"d":5}],"o":[{"r":[{"t":16}]}],"r":[{"o":[{"m":4}]}],"s":[{"l":36,"p":36,"z":4}],"u":[{"m":3}],"ü":3}],"e":[{".":77,"b":[{"e":[{"n":16}]}],"c":0,"f":[{"f":72}],"h":2,"i":[{"d":5,"e":[{"n":81}],"g":[{"e":88,"u":83}],"n":88,"s":88}],"l":[{"e":11},103],"m":[{"i":103},108],"n":[{"s":[{"e":88}],"t":[{"r":6},115],"v":[{"i":1}]},77],"p":0,"r":[{".":129,"a":5,"d":103,"e":[{"i":1}],"f":[{"r":6},72],"g":74,"h":72,"k":72,"l":103,"m":[{"i":88,"o":131}],"n":[{"e":131},83],"o":2,"r":103,"s":[{".":83},0],"t":[{".":6},103],"u":85,"w":103}],"s":[{".":81,"c":114,"k":103,"s":103},77],"t":[{"a":0,"h":103}],"u":[{"l":0}],"v":114,"x":173}],"f":[{"t":22,"u":2},1],"g":[{"a":[{"d":74,"g":74,"l":3}],"e":[{"r":[{"a":213}]}],"i":3,"n":1,"o":3,"p":74,"r":[{"a":11}],"s":[{"e":4},98]}],"i":[{".":81,"c":81,"e":[{"r":[{".":4,"p":4,"s":[{".":34}]}]},129],"k":[{"o":3}],"l":[{"l":1}],"m":[{"a":0,"i":0},11],"n":103,"o":81,"ö":2,"r":72,"s":[{"a":11,"o":131}],"t":211,"v":81},77],"k":[{"a":[{"u":[{"s":4}]}],"e":[{"l":[{"i":78}],"r":[{"g":4,"k":12}]}],"ü":3}],"n":[{"e":[{"f":5,"l":5,"r":[{"f":41,"g":4,"l":12}]}],"i":[{"g":[{"e":[{"r":53}]}],"v":77},2]}],"o":[{"a":85,"b":[{"e":[{"l":81}],"r":2},103],"f":72,"l":[{"i":1,"m":1}],"m":[{"a":2}],"n":11,"p":103,"r":[{"a":5,"i":11,"m":83},114],"s":[{"t":103}],"t":129,"w":2}],"ö":[{"d":30},94],"s":[{"a":[{"b":[{"b":1}],"n":5,"s":[{"s":[{"e":51},18]}]}],"c":[{"h":[{"e":7}]}],"e":[{"b":5,"m":74,"n":[{"e":260}],"r":[{"e":4}]}],"p":[{"o":[{"r":11},1]}],"t":[{"a":[{"k":11,"l":[{"t":51}]}],"ä":[{"t":12}],"e":[{"l":[{"e":21},11],"s":[{"t":19}]}],"o":77,"ü":22}],"u":[{"n":5}]}],"t":[{"a":[{"g":3,"n":[{"m":6,"w":6},77],"r":[{"k":16}]}],"d":74,"e":[{"l":3,"n":22,"r":[{"a":78,"b":6}],"s":1}],"f":[{"o":77},74],"g":[{"e":[{"g":78}]},74],"h":[{"i":5,"u":74,"ü":74}],"i":[{"d":20}],"l":[{"a":78}],"n":74,"o":[{"b":5,"p":[{"f":100}],"s":20}],"ö":77,"r":[{"o":[{"l":12}]}],"s":[{"c":74,"o":74,"t":[{"o":11}]}],"w":[{"e":[{"t":83}],"i":[{"c":78}]},74],"z":74}],"u":[{"f":72,"m":72,"r":11,"t":[{"o":88},108]},0],"ü":70,"w":[{"ü":83}],"y":94,"z":[{"a":[{"r":[{"e":1}]}],"ä":[{"p":2}],"e":[{"p":74,"r":[{"g":4,"k":12,"l":6,"m":12,"s":[{"c":34}]}]}],"i":[{"d":22}],"l":[{"a":[{"n":101}]}],"o":[{"l":22}],"y":74}]}],"ñ":70,"o":[{"b":[{"e":[{"n":1}],"l":1,"o":1,"r":1},287],"c":[{"h":22},0],"d":[{"r":1}],"f":70,"g":3,"h":70,"l":[{"a":1,"y":79}],"n":[{"a":[{"t":79}]},70],"o":0,"p":[{"e":70,"f":70,"r":11}],"r":[{".":81,"a":0,"b":81,"g":[{"i":135}],"s":81,"t":10,"w":81},70],"s":[{".":81,"e":1,"t":[{"e":116}]},2],"u":[{"l":0},227]},83],"ö":71,"p":[{"a":[{"g":2,"s":[{"s":[{"e":[{"r":53}]}]}]},80],"e":[{"r":77}],"f":[{"i":143},288],"h":2,"i":[{"d":84,"g":72,"k":72,"l":[{"e":84}],"o":81,"s":[{"t":77},74],"t":84}],"l":[{"e":1}],"o":[{"c":74,"r":[{"t":18}],"s":[{".":84}]}],"p":[{"a":5,"e":[{"l":23}],"i":[{"n":5}],"l":5,"r":5}],"r":77,"s":[{"h":1}],"t":[{"a":[{"l":5,"n":2,"u":5}]}],"u":[{"s":2},76]},70],"q":76,"r":[{"a":[{".":81,"b":[{"e":[{"r":4},2]}],"c":[{"h":72},2],"d":[{".":81,"i":81,"j":72,"m":[{"i":88},85],"r":131}],"f":[{"a":10}],"g":2,"h":70,"i":[{"c":1},70],"k":[{"e":81}],"l":[{"d":70,"e":[{"b":10}],"k":[{"e":1}],"l":85}],"m":[{"a":[{"t":11}]}],"n":[{".":5,"a":289,"d":[{".":81},213],"g":[{"r":88}],"h":72,"o":72}],"p":[{"a":1,"f":1},70],"r":[{"e":1,"i":81},72],"s":[{".":81,"i":[{"e":11},2],"p":2,"s":25,"t":70}],"ß":2,"t":[{"e":[{"l":88}]}],"u":[{"b":70,"c":70,"e":1,"f":22,"g":1}],"v":113,"w":70,"x":85,"z":70},0],"ä":[{"f":0,"h":0,"m":30,"p":0,"s":134,"t":[{"z":0}]},70],"b":[{"a":[{"r":[{"m":78}],"u":2}],"e":2,"r":[{"u":77}],"s":[{"p":2}]}],"c":[{"h":[{"l":1,"o":22}]},0],"d":[{"a":[{"m":[{"e":23},11]}],"b":74,"e":[{"c":77,"l":77,"n":[{"g":38}],"r":[{"w":4}],"u":104}],"g":74,"y":77}],"e":[{".":83,"b":[{"e":[{"n":16}]}],"c":[{"h":[{"s":1},79],"k":0}],"d":[{"i":[{"t":11},0]}],"f":[{"f":0}],"h":114,"i":[{".":129,"b":81,"g":0,"h":83,"k":81,"m":[{"e":131}],"n":[{"k":88}],"s":[{".":1,"a":[{"r":7}],"b":1,"f":1,"r":1,"t":[{"r":51}]}]},11],"k":88,"l":[{"e":[{"v":4},72]},30],"m":[{".":83,"i":[{"s":11},0],"p":72},77],"n":[{".":129,"a":81,"e":45,"s":[{"e":88}],"t":[{"n":88,"s":88}],"z":[{"e":[{"n":[{"d":48}]}]},81]},77],"p":[{"e":0}],"r":[{".":83,"b":77,"f":[{"o":131}],"h":72,"k":72,"l":[{"a":[{"u":51}]},96],"n":[{".":83,"e":88}],"o":96,"r":[{"i":10}],"s":[{".":83,"c":[{"h":[{"e":290}]}]},0],"t":72,"v":77,"w":77}],"s":[{".":83,"s":[{"k":23},0]},77],"ß":0,"t":[{"a":0}],"u":0,"v":[{"i":[{"d":11}]}]}],"f":[{"e":2,"o":[{"r":[{"m":83}]}],"r":11,"ü":[{"r":83}]}],"g":[{"a":[{"r":[{"e":12}]}],"e":[{"b":[{"i":83,"n":78,"ü":83}],"h":[{"a":83,"ä":83}],"l":[{"s":[{"t":34}]}],"n":[{"i":83}]}],"n":77,"o":[{"p":5}],"r":[{"e":[{"m":83}]}],"s":[{"o":98,"p":22}]}],"h":[{"a":[{"b":74,"g":1,"i":77,"l":[{"s":83}],"m":77,"n":77,"s":77}],"e":[{"i":1,"r":77}],"u":1},88],"i":[{"a":[{"t":72}],"b":81,"c":[{"o":131},129],"d":0,"e":[{"n":[{"s":60},291]},129],"k":[{"l":10},157],"n":[{".":129,"d":103,"i":103,"k":0,"l":0,"t":0,"z":0}],"o":[{"n":113}],"s":[{"o":72,"r":72},83],"t":[{"a":0,"r":78}],"v":81},77],"k":[{".":77,"a":[{"j":77}],"e":[{"r":1}],"l":[{"ä":74}],"m":77,"r":[{"e":77}],"t":65,"u":[{"m":5}]}],"l":[{".":77,"a":[{"g":77}],"e":[{"b":[{"n":78}],"h":83}],"n":77}],"m":[{"e":[{"n":[{"s":18}],"r":[{"s":12}]}]},3],"n":[{"a":[{"l":[{"t":12}]}],"e":[{"n":[{"e":6}],"r":[{"f":6,"k":6}],"u":[{"e":78}]},1],"o":[{"b":5,"r":22,"s":9}]}],"o":[{".":94,"a":70,"b":[{"l":2,"r":2},0],"f":114,"g":70,"h":70,"k":70,"l":[{"y":1},70],"m":[{"b":1},70],"n":76,"o":103,"p":0,"r":[{"a":22},292],"s":[{"i":[{"t":81},74]},70],"u":70,"w":70,"x":30,"z":0}],"ö":[{"d":2,"h":77,"l":11,"s":30}],"p":1,"r":[{"a":[{"d":[{"e":6}]}],"ä":1,"e":[{"n":77}],"o":1,"ü":77}],"s":[{"a":[{"n":[{"a":11}]},3],"c":[{"h":[{"n":7},18]}],"e":[{"i":83,"l":2}],"i":44,"k":1,"m":[{"a":[{"s":293}]}],"t":[{"e":[{"d":83,"r":[{"s":221}]}],"i":[{"l":83}]}],"w":[{"i":1}],"z":1}],"t":[{"a":[{"b":20,"t":1}],"e":[{"r":[{"f":12,"g":38,"h":41,"k":41,"s":6}]}],"h":[{"o":5},9],"ö":83,"r":[{"u":83}],"s":[{"e":36,"p":98}]}],"u":[{"f":[{"s":10}],"h":[{"r":131}],"m":294,"n":[{"d":[{"u":88},0]}],"p":[{".":0}],"r":1,"s":[{"e":1}],"z":85},77],"ü":[{"b":11}],"w":[{"e":[{"c":[{"k":78}]}]}],"z":[{"e":[{"r":[{"k":6,"s":12}]}]}]}],"s":[{"a":[{"b":[{"b":5,"e":88},1],"c":81,"d":2,"f":81,"l":[{"l":88}],"m":[{"i":0}],"n":[{"d":6,"f":1,"t":1},5],"r":[{"a":2}],"s":[{"s":[{"e":34},4]},295],"v":2,"x":0}],"ä":[{"s":10,"u":5}],"b":[{"i":[{"e":[{"r":[{".":51}]}]}]},77],"c":[{"e":79,"h":[{"i":5,"l":22,"n":22}],"o":88}],"e":[{".":81,"b":[{"e":0}],"c":103,"h":[{"r":0}],"i":[{"n":[{"s":18}]}],"l":5,"n":[{"a":[{"l":11}],"e":[{"u":11}],"k":81,"o":23,"s":[{"k":23}],"t":[{"h":23}]}],"r":[{"a":[{"t":10}],"u":296}],"s":[{"k":22}],"x":3}],"f":77,"h":[{"a":[{"m":6,"r":6},1],"e":1},77],"i":[{"e":[{"r":9}],"k":282,"l":103,"n":[{"s":131}],"s":[{"o":88}]},77],"k":[{"a":[{"t":5}],"e":131,"l":131,"y":131}],"l":131,"m":77,"n":88,"o":[{"a":85,"b":88,"d":103,"h":5,"p":[{"a":5}],"r":[{"a":0,"e":4,"t":5},2],"t":81}],"ö":79,"p":[{"a":[{"l":81,"r":[{"k":6}]}],"e":[{"k":5,"r":[{"s":88}]}],"h":88,"i":79,"o":[{"r":79}],"u":79},83],"r":77,"s":[{".":77,"a":[{"g":37,"l":[{"i":100}],"u":[{"s":18}],"y":74}],"ä":77,"c":77,"e":[{"l":88,"n":[{"t":88}],"r":[{"e":24,"f":11,"g":93,"h":6,"l":[{"a":275},88]}]}],"k":77,"o":[{"f":5},77],"p":[{"a":20,"u":5},77],"t":[{"a":[{"b":6}],"e":6}]}],"t":[{"a":[{"b":[{"b":18,"s":88}],"g":[{"e":23}],"k":9,"n":5,"p":11,"r":[{"b":88}],"s":153,"t":81,"u":[{"m":88},5]}],"e":[{".":5,"c":22,"i":[{"n":[{"g":34,"k":265,"l":265}]},10],"l":[{"e":88},22],"m":[{"i":93}],"n":[{"g":93,"t":[{"r":34}]}],"r":[{"h":[{"a":34}],"ö":297,"z":93}],"s":[{"s":93},104]}],"i":[{"d":88,"p":88},81],"m":[{"o":[{"d":[{"e":13}]}]}],"n":74,"o":[{"d":72}],"r":[{"a":[{"d":88,"k":1}],"e":[{"c":143}],"i":[{"c":[{"k":143}]}]}],"u":[{"m":[{"s":4}]},5],"ü":79,"y":79}],"u":[{"h":81,"m":103,"r":0,"s":11}],"w":216,"y":81},70],"ß":[{"e":[{"l":103,"n":[{"t":72}],"r":[{"e":4,"g":103,"l":103}]}]}],"t":[{"a":[{".":81,"b":10,"c":268,"f":76,"l":[{"l":[{"a":[{"g":53},101],"i":[{"n":298}]}]},77],"m":[{"i":0}],"n":[{".":124}],"t":[{"r":23},6]}],"ä":[{"h":0}],"e":[{"e":2,"f":115,"i":[{"n":115}],"k":[{"e":4}],"n":[{"d":152}],"o":2,"r":[{"h":[{"ö":10}],"o":9,"t":[{"r":10}]}],"s":[{"p":11}]},76],"h":[{".":77,"a":[{"l":131},5],"e":81,"i":[{"k":88},5],"n":78,"u":5}],"i":[{"d":299,"m":2,"n":[{"i":0},45],"t":[{"a":2,"h":2},5]}],"o":[{"b":72,"f":299,"n":[{"a":[{"l":25}],"s":18},6],"r":[{"g":88}]},76],"r":[{"a":[{"d":1,"u":[{"m":88}]}],"e":[{"c":1,"s":85}],"o":[{"s":6}]},77],"s":[{"c":[{"h":[{"e":[{"r":[{"e":300}]}],"w":15}]},2],"p":9,"u":0}],"t":[{"a":[{"b":35,"d":5,"k":5,"s":2,"u":5},9],"ä":5,"e":[{"i":5,"n":163}],"h":6,"ö":127,"r":39,"u":[{"m":20,"r":5}],"ü":127}],"u":[{"i":87,"r":81}],"w":[{"a":[{"r":10}]}],"y":[{"m":84}],"z":[{"e":[{"s":10}],"w":5},77]},70],"u":[{"a":30,"b":16,"c":[{"h":[{"t":[{"a":10}]}]},77],"d":[{"i":[{"e":10}]},77],"e":[{"b":5,"r":[{"e":[{"i":[{"f":43,"s":24}],"n":101,"r":[{"s":31,"t":31}]}],"i":1,"k":1,"r":1}],"s":[{"c":196},4]},77],"f":[{"e":[{"r":5}]},83],"g":[{"a":20,"e":[{"m":[{"i":10}],"n":[{"s":[{"e":21}]}],"r":3}],"i":[{"n":[{"f":18,"g":41},104]}],"r":[{"e":5,"i":5}],"s":98}],"h":1,"i":[{"d":0,"n":301}],"k":[{"a":[{"l":74}],"ä":5},88],"l":[{"a":[{"n":[{"d":100},104]}],"e":3,"i":2}],"m":[{".":81,"a":[{"s":152},16],"b":81,"f":81,"l":81,"s":[{"p":45,"t":4},258],"w":81},94],"n":[{"a":5,"e":[{"i":6},2],"g":258,"i":[{"o":5,"s":6}],"k":[{"a":4},22]},77],"o":30,"p":[{".":70,"f":2,"g":81},0],"r":[{"a":[{"n":37,"s":[{"t":12}],"t":23,"u":5}],"c":9,"e":[{"n":[{"s":6},104],"r":11},72],"f":65,"o":74}],"s":[{"a":[{"r":81}],"c":[{"h":[{"o":18}]}],"k":280,"p":1,"s":1,"t":10},302],"t":[{"e":[{"d":7},2],"h":[{"a":86},2],"i":2,"o":3,"s":[{"c":[{"h":[{"a":24,"n":24,"r":24}]}]}]},77],"x":77,"z":[{"a":5,"o":5,"w":20}]}],"ü":81,"v":[{"a":[{"k":72,"r":81}],"e":[{"r":[{"i":34}]},80],"i":[{"e":[{"l":[{"e":23}]}]}],"o":[{"r":76}],"s":5},70],"w":[{"ä":[{"s":24},11],"e":[{".":72,"i":[{"s":[{"c":10}]}],"r":[{"t":[{"e":23},18]}]}],"i":[{"r":81,"s":2,"t":81}]},70],"x":[{".":77,"a":[{"m":74,"t":1}],"c":77,"d":77,"e":[{"l":72,"r":0,"s":77}],"i":[{"k":77,"l":72,"n":103,"o":81,"s":74},70],"l":1,"p":[{"u":77},74],"s":77,"t":[{".":77,"a":80,"i":[{"n":5}],"r":74,"u":77,"v":77}],"u":[{"m":72},77],"y":94}],"y":[{"l":30,"n":[{"o":1},5],"s":2}],"z":[{"a":79,"ä":5,"e":[{"n":[{"n":103}]}],"i":[{"s":2},81],"o":79,"w":5,"z":3},70]}],"é":[{"b":70,"c":70,"g":[{"i":2},70],"h":70,"l":[{"u":2},71],"m":71,"n":70,"o":70,"p":70,"r":71,"s":70,"t":70,"u":71,"v":70,"z":71}],"è":[{"c":70,"m":70,"r":70}],"ë":[{"n":74,"t":70}],"ê":[{"p":70}],"f":[{"a":[{"b":[{"b":303,"e":[{"n":5}],"f":77,"g":77,"l":304,"n":77,"r":72,"s":303,"w":77},11],"c":[{"h":[{"e":[{"b":6,"l":6}],"i":305,"o":5,"s":[{"p":23},104]}],"i":5}],"d":[{"a":[{"n":5}],"e":[{"l":5,"r":70}],"i":5,"r":5}],"e":1,"h":[{"l":[{"e":[{"n":[{"t":43}]}]}]}],"i":[{"b":4}],"k":[{"a":71,"e":5,"t":[{"i":[{"o":81}],"o":88}],"u":87}],"l":[{"a":1,"e":1,"k":[{"l":2}],"l":[{"a":[{"g":18}],"e":[{"i":11,"n":[{"k":24,"t":51}],"r":[{"k":24,"s":31}]}],"i":[{"n":[{"i":24}],"s":11},18]}],"s":[{"c":[{"h":[{"a":24,"l":24,"m":24}]}]}],"t":[{"e":[{"i":11},4],"r":2}]}],"m":[{"e":[{"i":5}],"p":70,"t":70},78],"n":[{".":87,"a":[{"r":5}],"d":[{"a":22}],"f":72,"g":[{"a":2,"r":2}],"k":306,"l":77,"n":83,"p":70,"r":77,"w":77,"z":306}],"p":155,"r":[{"b":[{"a":28,"e":[{"l":11,"r":25}],"i":[{"n":11}],"l":23,"o":2,"r":166,"u":166}],"c":81,"i":307,"r":[{"a":28,"e":[{"c":11,"g":11},104]}],"t":76,"z":76},72],"s":[{".":78,"a":16,"h":1,"s":[{"i":70}],"t":[{"r":214},2]}],"ß":[{"e":70},5],"t":[{".":88,"o":5,"s":88},81],"u":[{"f":94,"g":81,"s":[{"b":70,"t":[{"r":15}]},2]}],"v":149,"x":[{"a":5}]},74],"ä":[{"c":308,"h":[{"r":[{"i":[{"n":11}],"u":2}]}],"l":[{"t":[{"e":70}]}],"q":77,"r":[{"b":78,"m":94,"z":77}],"s":[{"s":[{"e":[{"r":309}]}]},6],"ß":[{"c":78,"e":[{"r":5}]}],"t":[{"z":94}],"u":[{"g":77}],"x":77},74],"b":[{"a":[{"u":45}],"e":[{"r":22}]},245],"c":[{"h":81},94],"d":[{"i":[{"e":[{"n":[{"e":18}]}]}]},139],"e":[{".":78,"a":[{"t":[{"u":18}]}],"c":[{"h":72}],"d":[{"e":[{"l":5}],"r":5}],"e":[{"i":[{"n":50},20],"m":0}],"h":[{"e":155,"l":[{"e":[{"i":11},104]}]}],"i":[{"e":72,"n":[{"d":72,"g":94,"i":1,"s":[{".":1}],"w":94}],"s":70}],"k":[{"t":[{"i":[{"n":11}]}]}],"l":[{"a":119,"ä":20,"d":[{"a":2,"e":[{"m":18,"r":[{"h":53}]}],"r":[{"i":51},2]}],"e":[{"k":80,"m":77,"r":20,"s":5}],"l":[{"a":[{"n":11},4],"ä":2}],"o":20,"s":[{"o":[{"h":25}]}],"t":[{"e":[{"r":[{"n":310}]}],"r":10,"u":4}]}],"m":[{".":72,"b":77,"m":11,"p":77}],"n":[{"a":4,"ä":5,"d":[{"a":22}],"e":[{"r":[{"g":83}]}],"i":5,"o":5,"s":[{"a":36,"c":141,"t":[{"r":[{"i":24}]},104]}],"t":[{"a":36,"f":76,"i":72,"l":[{"a":83}],"o":72,"w":76,"z":129},70],"u":5}],"p":[{"i":5},78],"r":[{".":72,"a":[{"b":5,"d":36,"l":5,"n":[{"g":6,"t":11,"z":6}],"u":5},0],"ä":20,"d":[{".":77,"a":4,"e":311}],"e":[{"b":126,"c":5,"i":[{"g":129,"s":4},208],"l":[{"l":4},88],"r":[{"g":41}]},72],"f":[{"a":[{"h":11}],"o":[{"l":11}]}],"g":[{"r":88},10],"i":[{"d":22,"e":[{"n":201}],"o":[{"n":10}]}],"l":[{"e":[{"b":249}]}],"n":[{".":72,"e":[{"i":11}]}],"ö":5,"p":[{"a":88,"f":88,"l":88}],"r":[{"a":88,"e":[{"g":11}],"i":104}],"s":[{".":72}],"t":[{"r":10},72],"z":72}],"s":[{"s":[{"e":22}],"t":[{"a":[{"b":213,"n":23},5],"e":[{"i":312}],"i":[{"n":6}],"o":305,"r":177},11]}],"t":[{"a":155,"e":78,"h":5,"t":[{"a":25,"i":[{"s":15}]}]}],"u":[{".":77,"e":[{"r":[{"ö":15}]}]}],"w":78,"x":94,"y":30,"z":78},74],"é":74,"f":[{"a":[{".":81,"b":2,"c":[{"e":2}],"d":30,"k":81,"l":[{"t":0},81],"n":[{"s":0}],"r":[{"b":6},1],"s":11,"t":2,"u":0,"z":11}],"e":[{"b":114,"e":2,"f":103,"i":[{"n":[{".":4}]},103],"k":143,"l":[{"l":23}],"m":[{"i":72},30],"n":5,"r":[{"l":[{"e":1}]}],"t":[{"z":72}]}],"f":11,"i":[{"k":4,"l":72,"m":72,"x":[{"i":11}]}],"l":[{"a":[{"g":0}],"e":1,"i":1,"ü":81}],"o":[{"r":[{"i":0}],"x":0},2],"ö":72,"r":[{"ä":124,"o":1}],"s":[{"a":[{"m":2}],"c":[{"h":1}],"p":20,"t":[{"a":[{"u":11}],"i":[{"e":4}],"u":[{"t":4}],"ü":1}]}],"t":3,"u":[{"s":[{"s":23}]}],"y":72},198],"g":[{"e":[{"b":22,"s":36}],"l":[{"i":[{"m":104}]}]},243],"h":243,"i":[{".":78,"a":[{"k":6,"r":5,"t":1}],"d":[{"e":[{"n":104}],"o":5}],"e":[{"i":20,"r":[{"f":82}]},72],"g":[{"r":5}],"k":[{"a":[{"s":20}],"e":[{"l":5}],"i":[{"n":5}],"n":5,"o":153,"r":12}],"l":[{"a":[{"n":39}],"d":4,"e":[{"s":5,"t":2}],"g":10,"i":[{"n":6,"p":2},1],"m":[{"a":2,"ä":2,"e":[{"d":11,"i":11}]}],"o":5},72],"m":[{"p":77}],"n":[{"a":207,"e":2,"f":94,"g":[{"s":104},22],"i":1,"k":72,"s":[{"p":2}],"t":94}],"o":[{"l":1},5],"r":[{"a":1,"e":6,"m":[{"e":4}]},5],"s":[{"a":16,"c":[{"h":[{"a":260,"e":[{"i":21}],"l":15,"o":15,"r":6,"w":260}]}],"h":3,"o":94,"p":2}],"t":[{"e":22,"i":[{"n":5}],"o":[{"r":5},98]}],"v":[{"e":10}],"x":[{"e":[{"l":5}]}],"z":[{"a":5}]},74],"j":[{"o":87},94],"k":[{"a":[{"t":25}]},245],"l":[{".":77,"a":[{"d":81,"n":[{"d":143,"s":88}],"p":81,"s":[{"c":88}],"t":[{"s":81}],"u":[{"m":[{"a":101}]}]}],"ä":[{"c":149,"d":129,"h":77,"n":76,"r":77,"ß":77,"u":76},74],"e":[{".":143,"b":76,"e":88,"i":[{"n":256}],"k":[{"t":104},23],"r":81,"x":88}],"i":[{".":81,"m":149,"n":[{"d":81,"e":11,"g":81,"s":76}]}],"o":[{"n":256,"p":238,"s":[{"s":[{"e":[{"s":[{".":313}]}]}]}],"ß":238,"t":238,"w":2}],"ö":[{"f":83},81],"u":[{"c":149,"f":81,"g":238,"s":[{"s":238}],"ß":74,"t":[{"o":45},88]}],"ü":[{"d":143,"m":143},88]},228],"m":[{"a":[{"c":[{"h":[{"e":34}]}],"d":2,"s":[{"s":[{"e":4},22]}]}]},243],"n":[{"i":[{"s":2}]},243],"o":[{"b":[{"e":[{"r":77},5],"l":2},70],"f":155,"l":[{"i":23}],"n":[{"a":[{"n":6,"u":4},5],"d":[{"r":4}],"i":[{"n":12}],"o":[{"p":5}],"s":22,"u":5}],"p":94,"r":[{"g":129,"m":[{"a":[{"g":314,"s":11}],"e":[{"i":25}],"i":[{"n":11}]}],"n":[{"i":[{"e":[{"r":[{".":60}]}]}]}],"s":[{"c":[{"h":[{"l":24}]}],"t":[{"a":11,"i":11}]}],"t":[{"e":[{"i":25,"r":315}],"h":28,"r":166,"s":152,"u":4}],"u":2}],"t":[{"r":11}]},74],"ö":[{"f":80,"k":94,"l":198},74],"p":316,"q":94,"r":[{"a":[{".":81,"c":[{"h":[{"t":[{"r":13}]}]}],"d":76,"h":76,"m":11,"n":[{"d":81}],"p":143,"t":81,"u":[{".":74,"c":81}]}],"ä":[{"d":77,"n":238}],"e":[{".":77,"c":81,"d":81,"f":77,"i":[{".":88,"c":81,"e":88,"f":45,"g":88,"k":152,"n":77}],"k":77,"p":76,"s":[{"t":77}],"u":149}],"i":[{"c":[{"h":[{"t":[{"e":31}]}]},76],"d":4,"e":2,"g":77,"k":93,"p":81,"s":[{"c":88,"t":[{"e":[{"r":24}]},88]},74]}],"o":[{"c":76,"l":77,"n":[{"a":75},317],"p":88,"s":[{"c":2}],"t":81}],"ö":[{"s":22}],"u":[{"c":88},81],"ü":81},215],"s":[{"a":[{"c":81,"l":103,"n":[{"e":1},113],"r":131,"s":134,"t":[{"e":1},2],"u":[{"t":72}]}],"ä":[{"n":5}],"c":[{"a":72,"e":88,"h":[{"a":[{"n":88}],"e":[{"f":88}],"r":[{"o":88}]}],"r":72}],"e":[{"b":114,"e":[{"i":2}],"h":[{"r":88}],"n":[{"e":301,"t":103},2],"r":103,"t":[{"a":103},2]}],"i":[{"d":134}],"k":[{"y":79}],"o":[{"h":81,"l":81},114],"p":[{"a":[{"n":[{"n":81}],"s":103}],"h":72,"i":[{"e":5}],"l":79,"o":[{"r":79}],"r":[{"e":72,"o":72}],"u":[{"l":5}]},11],"s":3,"t":[{"a":[{"l":5,"s":72,"t":79}],"ä":[{"t":[{"i":131}]}],"i":[{"p":72,"s":103}],"r":[{"e":[{"s":131}],"ü":0},11],"ü":[{"t":[{"e":88}]}]}],"u":[{"n":103}],"y":81},198],"t":[{"a":[{".":72,"b":[{"e":30,"l":0}],"f":0,"g":79,"l":[{"a":0}],"n":0,"p":103,"r":30,"t":[{"t":1}]}],"ä":[{"u":103}],"e":[{".":81,"c":[{"k":0}],"d":[{"i":0}],"h":[{"e":2},0],"i":[{"g":0,"n":0,"s":0}],"l":[{"i":0}],"m":[{"a":4,"i":0}],"n":[{"t":103}],"r":[{"f":[{"ü":1}],"k":0,"l":103,"z":103}],"t":[{"i":114}],"x":103}],"h":[{"e":[{"i":131}]},103],"i":[{"d":103,"m":88,"n":[{"g":79},103]}],"o":[{"f":103,"n":45,"p":0,"r":[{".":81}],"t":85},2],"r":[{"a":[{"n":124}],"e":[{"s":85,"u":81}],"i":[{"t":6}],"o":1,"u":[{"h":1}]}],"s":[{"a":[{"g":6,"m":6},35],"ä":[{"n":5}],"c":[{"h":[{"e":6}]},2],"e":[{"h":6,"n":135},35],"i":5,"o":5,"t":[{"e":[{"i":4,"m":6,"r":6,"s":6}],"i":[{"e":[{"r":21},1]}],"r":[{"i":1}]}]},9],"t":[{"r":[{"a":18}]}],"u":[{"m":72,"r":[{"k":0,"l":0}]}],"w":[{"a":[{"r":53},10]}],"z":[{"e":[{"d":23}]},3]},198],"u":[{"c":78,"g":78,"h":72,"k":[{"u":23}],"l":[{"b":10}],"m":[{"e":[{"i":5}],"m":72},318],"n":[{"d":[{"e":[{"r":[{"g":24,"h":24},23]}]}],"f":94,"g":[{"l":77}],"i":155,"k":[{"l":2,"o":2,"r":166,"u":2}],"m":94,"r":77,"t":77}],"r":[{"c":[{"h":104}],"e":[{".":6}],"l":76},72],"s":[{"s":[{"e":[{"n":24,"r":6},1],"p":45,"t":[{"e":11},45]}]},2],"ß":[{"e":[{"r":20}]}],"t":78},74],"ü":[{"b":77,"h":[{"l":[{"s":[{"c":10}]}]}],"n":2,"r":5,"s":3},74],"v":94,"w":198,"y":70,"z":[{"a":5,"e":[{"i":[{"t":[{"e":[{"n":[{"d":69},172]}]}]}]}],"ö":5,"u":[{"g":[{"a":2}]}],"w":5},198]}],"g":[{"a":[{".":78,"b":[{"f":77,"g":77,"l":319,"o":2,"r":[{"i":11},70],"s":[{"c":77}],"t":[{".":72,"r":77}],"u":1,"w":77,"z":77}],"d":[{"e":[{"r":22}],"i":[{"e":10},3],"r":5}],"e":2,"f":[{"l":0}],"g":[{".":181}],"k":[{"a":5,"u":5},0],"l":[{"a":[{"f":1,"r":5,"u":94},2],"b":94,"g":94,"l":[{"e":10,"o":4}],"p":94,"t":[{"a":94,"d":94}],"u":71}],"m":[{"e":[{"c":5,"l":1}],"m":[{"a":4}],"o":250,"t":94}],"n":[{"a":[{"l":77},71],"d":65,"f":77,"g":[{"a":77,"e":[{"b":83}],"r":2,"s":[{"p":10}],"u":28}],"k":94,"l":77,"m":[{"u":77}],"o":[{"b":5},87],"r":77,"s":[{"i":94,"t":77},22],"w":77,"y":0,"z":94}],"p":[{"e":1,"p":94}],"q":0,"r":[{".":78,"a":72,"c":77,"d":87,"e":[{"t":1}],"i":3,"m":76,"o":3,"t":[{"i":94}],"u":1,"z":94}],"s":[{".":72,"a":[{"l":12,"m":6}],"c":[{"h":[{"e":101}]}],"e":[{".":7,"i":6,"l":6,"m":320,"s":7,"t":6},22],"s":[{"e":[{".":250,"s":[{"s":229,"t":7},81]}]},141],"t":[{"e":[{"l":312}],"i":[{"n":6},1],"r":[{"a":[{"s":321},101],"ä":25,"i":1,"o":[{"m":21}]}],"u":9}],"u":[{"n":1}]},5],"t":[{"a":3,"m":77,"r":11}],"u":[{"c":9,"f":94,"g":76,"k":72,"n":[{"e":34}],"s":322,"t":94}],"z":1}],"ä":[{"p":94,"r":[{"t":[{"h":4}],"z":77}],"s":[{"t":7},3],"u":6}],"b":[{"a":[{"u":[{"s":51}]}],"e":[{"r":22}],"i":2},139],"c":94,"d":[{"a":[{"d":[{"e":4},79],"k":103,"n":103,"r":103,"u":103},70],"ä":318,"e":[{"i":160,"l":[{"s":0}],"n":[{"t":72}],"r":103,"t":103}],"i":[{"n":103}],"o":[{"p":72},70],"ö":70,"r":[{"e":1,"u":1},70],"s":3,"t":11},77],"e":[{"a":[{"t":[{"e":6}]},3],"b":[{"a":2,"l":[{"e":1,"i":[{"n":11}],"o":11}],"o":[{"t":104}],"ü":78}],"c":[{"h":0}],"d":11,"e":[{"c":1,"s":[{"t":15},5]},30],"f":[{"a":7,"ä":78,"f":198,"l":11,"r":11,"u":1}],"g":[{"e":[{"n":[{"e":101},167]}],"l":3,"r":11},88],"h":[{"e":[{"r":[{"l":15}]}],"o":1}],"i":[{"d":94,"e":32,"g":6,"l":72,"n":[{"f":5,"h":10,"r":94,"s":22,"v":22},301],"r":0,"s":[{"e":94,"h":4,"s":[{"c":15}],"t":[{"a":11,"r":15}]},10]}],"k":[{".":77}],"l":[{"a":[{"n":[{"z":6}]}],"b":[{"r":[{"a":25},45],"s":51}],"d":[{"e":[{"n":11,"r":[{"h":24,"s":24},101]}]}],"e":[{"c":1,"f":5,"k":80,"m":77,"n":[{"e":6},135],"r":[{"e":4,"k":6,"ö":15,"s":12}],"v":20}],"f":4,"i":[{"m":191}],"l":[{"a":36,"e":4,"i":22}],"ö":2,"s":[{"a":36,"p":22,"z":4}],"t":[{"a":4,"r":10}],"z":36}],"m":[{"a":[{".":6}],"e":24,"p":198,"s":4,"u":1},2],"n":[{"a":[{"c":37,"d":6,"k":6,"l":12,"m":6,"p":6,"r":6,"t":6,"u":[{"g":11}]},1],"d":[{"a":[{".":83}],"i":[{"n":323}],"m":[{"o":129}],"r":2}],"e":[{"i":[{"d":4}],"r":[{"f":18,"g":83,"n":12,"w":[{"e":24}],"z":18}]}],"i":[{"m":5}],"k":65,"m":[{"a":[{"s":[{"s":[{"e":[{".":60}]}]}]}]}],"n":4,"o":[{"c":5}],"s":[{"e":[{"m":[{"b":24}]}],"k":4,"z":4}],"t":[{"ä":4,"f":77,"h":36,"r":4,"w":77}],"u":[{"n":5}],"z":[{"m":[{"a":[{"s":172},100]}],"w":4}]}],"o":[{"o":0,"r":[{"i":2}]}],"p":[{"l":1,"o":1},239],"r":[{"a":[{"b":5,"k":5,"l":39,"n":[{"n":1,"t":6}],"r":324,"s":2},0],"d":[{"g":77}],"e":[{"m":1,"n":[{"e":6,"g":6,"s":41,"t":12}],"r":2}],"i":[{"n":[{"d":18,"f":18,"n":11,"t":18}]}],"k":[{"l":[{"ä":249}]}],"l":[{"a":[{"s":81}]}],"m":[{"a":[{"s":[{"s":31}]}],"e":34}],"n":[{"o":4,"t":94}],"o":[{"b":5},0],"ö":30,"s":[{"a":[{"t":11}],"e":[{"h":248}]}],"u":3}],"s":[{".":175,"c":[{"h":[{"e":[{".":21}]}]},146],"e":[{"b":5,"l":[{".":316,"t":4}],"r":20}],"h":[{"a":1}],"i":3,"o":1,"p":[{"a":1,"i":11},2],"s":[{"t":22}],"t":[{"a":10,"e":53,"u":[{"r":12}]},22]}],"t":[{"a":[{"p":70},2],"h":[{"i":5}],"r":[{"e":[{"i":7}]}],"s":9,"u":16}],"u":[{"l":110,"n":[{"k":1}],"r":[{"t":0}],"t":3}],"x":246},74],"f":[{"i":[{"l":2}]},139],"g":[{"a":[{"t":2}],"e":[{"n":[{"e":2}]},143],"l":[{"a":81,"o":81},5],"n":85,"r":6},94],"h":[{".":83,"a":[{"l":[{"e":78}]},5],"e":[{"t":87},5],"i":[{"e":87}],"l":0,"r":225,"s":2,"u":72,"w":0},94],"i":[{"a":[{"l":[{"o":1}],"s":2}],"c":[{"h":[{"t":135},22]}],"e":[{"g":4,"i":20,"l":[{"a":22},39],"n":[{"e":141,"o":6}],"r":[{"e":[{"s":4}]}],"s":10}],"f":[{"t":[{"s":51}]}],"g":[{"u":5}],"k":[{"e":[{"l":5}]}],"l":[{"l":94}],"m":[{"e":[{".":5,"s":6,"t":5},78],"p":77}],"n":[{"d":108,"e":1,"f":94,"h":162,"s":[{"a":2},94],"t":76,"v":108}],"o":[{"b":5,"k":77}],"s":[{"e":[{"l":76}]}],"t":[{"a":2,"t":[{"e":53}]}],"u":[{"s":6}]}],"j":94,"k":316,"l":[{".":83,"a":[{"b":198,"c":94,"d":[{"u":77}],"g":94,"m":94,"n":[{"d":77}],"s":[{"c":28,"t":[{"r":11,"u":11},18]}],"u":[{"b":87,"f":94}]}],"ä":[{"d":70,"n":[{"d":77}],"s":78,"ß":70,"u":[{"f":77}]}],"b":1,"e":[{".":76,"a":78,"b":76,"c":81,"d":129,"e":81,"g":76,"h":77,"i":[{"c":88,"n":129,"t":[{"e":[{"r":[{"s":63}]}],"r":325}]}],"n":[{"k":83},81],"r":[{"e":[{"i":101}]},129],"s":[{".":78,"e":81},77]},215],"i":[{"a":72,"b":77,"d":87,"e":[{"b":129},87],"f":77,"k":72,"l":83,"m":72,"n":77,"o":72,"s":77,"t":[{"e":81},72],"z":[{"e":81},72]}],"o":[{"a":72,"b":72,"c":[{"h":76},72],"k":72,"m":72,"p":72,"r":[{"b":77}],"s":77,"t":72}],"ö":[{"c":[{"h":77}],"s":77,"w":77}],"s":77,"u":[{"f":76,"k":77,"n":76,"t":72},70],"ü":[{"g":81},87],"w":77,"y":87},5],"m":[{"e":[{"n":[{"t":[{"r":10}]}]}],"i":[{"s":2}]},155],"n":[{".":77,"a":[{".":88,"c":77,"d":88,"h":256,"l":[{"e":[{"r":326}]},6],"n":[{"l":77}]},228],"ä":87,"b":77,"c":77,"d":77,"e":[{"h":81,"n":[{"t":107}],"t":[{"r":2}]},5],"f":77,"g":77,"h":77,"i":[{"e":72,"f":72,"n":[{"t":77},88],"s":[{"e":104},327]}],"k":77,"l":77,"m":77,"o":[{"n":149,"t":81},328],"p":77,"r":77,"s":77,"t":77,"u":[{"m":[{".":87}]},77],"ü":72,"v":77,"w":77,"y":72,"z":77},70],"o":[{"a":[{"l":[{"i":4}]},6],"b":[{"e":[{"l":23}],"j":77,"l":113},70],"f":155,"g":77,"h":[{"r":[{"e":[{"n":4}]}]},329],"i":30,"l":[{"a":2,"d":[{"a":2}],"f":[{"r":2}]}],"n":[{".":78,"a":[{"t":6}],"e":2,"s":78}],"p":[{"a":87,"f":10,"o":[{"s":5}],"t":77}],"r":[{"a":2,"d":94,"g":94}],"s":[{"i":5,"l":1,"p":5,"z":94}],"ß":78,"t":[{"h":3,"t":[{"e":[{"r":[{"b":24,"g":43}]}]}]}],"u":78,"y":0}],"ö":[{"f":5,"l":70,"t":78}],"p":139,"q":94,"r":[{"a":[{"b":[{"a":2,"i":2,"l":11},88],"d":[{"l":76}],"h":76,"k":76,"m":[{"m":[{"e":[{"n":[{"d":69},172],"r":53}]}]},45],"n":[{"d":[{".":81}]}],"r":[{"e":45},108],"s":[{"a":25,"h":11,"p":11,"t":[{"r":11}]}],"u":[{"b":76,"f":23,"m":77,"s":[{"k":23}]}]}],"ä":[{"d":77,"s":[{"c":51}],"u":81}],"e":[{".":256,"b":88,"c":76,"d":[{"e":81}],"e":173,"f":[{"r":2},76],"g":[{"e":77}],"i":[{"c":76,"f":[{"r":10}],"h":76,"n":81,"t":81}],"m":149,"n":[{"n":129,"o":4,"z":[{"e":[{"i":55}],"w":15}]},78],"r":88,"s":[{"e":77,"s":[{"e":[{"r":330}]}]}],"t":81,"v":81}],"i":[{"c":76,"e":[{"m":76,"s":[{"e":81}]},2],"g":77,"l":[{"l":[{"a":10}]}],"n":[{"g":129,"n":129}]}],"o":[{"b":[{"a":166,"e":[{"r":4}],"l":2,"r":166}],"c":77,"h":77,"l":76,"s":[{"e":76,"s":[{"e":[{".":34,"n":[{".":263}],"r":[{".":263}],"s":[{".":263}]}]},88]},10],"ß":88,"t":88}],"ö":[{"h":77}],"u":[{"f":[{".":77,"t":88}],"h":76,"i":81,"m":76,"n":[{"g":22}],"p":78,"s":[{"s":[{"e":4},22]},78],"ß":78,"t":76}],"ü":[{"c":76,"s":22}]},215],"s":[{"a":[{"b":3,"c":[{"h":1,"k":81}],"d":2,"k":3,"l":[{"b":131,"l":88,"m":88,"t":88},331],"m":[{"a":88,"b":0,"p":88}],"n":[{"e":1}],"p":16,"r":3,"s":0,"t":[{"o":1},81],"u":[{"g":22,"r":10}],"v":2},72],"ä":0,"c":[{"a":88,"e":88,"h":[{"e":[{"f":88}],"i":332,"n":143},10],"o":88},81],"d":1,"e":[{"h":39,"i":[{"l":332}],"k":[{"l":11}],"l":[{".":81,"a":131,"n":81}],"m":1,"n":[{"k":5,"t":88},45],"r":[{"e":81,"i":122},88],"s":285,"u":88},114],"f":[{"i":[{"l":22}]}],"g":[{"e":[{"n":[{"e":101}]}]}],"h":[{"a":1}],"i":[{"d":2,"g":81,"k":3,"l":81,"o":131,"s":88,"t":[{"a":88}]},103],"k":[{"i":[{"e":305}]}],"m":[{"a":[{"s":[{"s":[{"e":[{"n":52}]}]}]}]}],"o":[{"b":11,"n":143,"p":85,"r":[{"g":[{"e":144}]}],"z":143},30],"p":[{"a":[{"c":5,"n":[{"t":6}]}],"e":[{"i":143,"k":79}],"i":[{"e":143},79],"l":1,"o":[{"r":[{"t":[{".":333}]}]}],"r":[{"u":131}]},121],"r":[{"a":[{"t":18}]}],"s":16,"t":[{"a":[{"b":103,"d":81,"f":72}],"ä":[{"t":103}],"e":[{".":5,"i":[{"n":143}],"l":[{"l":143},2],"m":[{".":6,"p":88}],"n":[{".":6}],"r":[{".":6,"e":[{"i":175},6],"m":88,"r":4},22],"s":[{".":6,"t":88}],"u":143}],"h":[{"y":5}],"i":[{"e":1,"s":1},79],"o":[{"c":[{"h":88}],"d":88,"r":88,"t":0},81],"r":[{"a":11,"e":[{"i":[{"t":34}],"s":11,"u":131}],"i":[{"t":4}],"o":[{"s":4}],"u":72,"ü":0}],"u":[{"r":0}]}],"u":[{"n":1},0],"ü":[{"s":4}],"y":81},83],"t":[{"e":81,"h":[{"y":5},0],"i":[{"m":2},5],"o":81,"r":6,"s":[{"e":5}]},198],"u":[{"a":[{"l":[{"e":6}],"n":[{".":0,"t":0}],"s":0}],"d":[{"r":12}],"e":[{"d":77,"t":22},5],"f":155,"h":94,"i":[{"n":[{"s":1}],"s":121}],"m":[{"e":2,"m":[{"i":135},78]}],"n":[{"e":2,"f":94,"g":[{"e":[{"w":83},104],"l":77}],"i":155,"k":76,"r":77,"t":77}],"r":[{"e":10,"l":198,"t":[{"h":166,"r":2,"s":23}]},78],"s":[{"a":12,"ä":5,"c":[{"h":[{"i":253}]}],"s":[{"e":[{".":4,"s":4}],"o":45,"p":2,"t":11}],"t":[{"a":[{"b":213,"p":6}],"e":[{"i":[{"n":21}],"n":[{"d":334}]}],"i":1,"r":5}]}],"ß":[{"t":22},20],"t":[{"a":9,"e":[{"r":[{"h":38}]},1],"h":9,"s":[{"p":166}]},5]},74],"ü":[{"b":77,"r":335,"s":[{"t":1}]}],"v":76,"w":94,"y":[{"n":[{"a":6},1]}],"z":[{"e":[{"u":[{"g":[{"i":10}]}]}]},165]}],"h":[{"a":[{".":77,"b":[{"a":2,"e":2,"i":2,"l":[{"u":70}],"n":77,"r":71,"s":70,"w":77}],"c":[{"h":[{"e":[{"n":312}],"o":5}]}],"d":[{"a":77,"e":[{"l":5,"n":22}],"l":[{"e":70}],"r":[{"i":1},71]}],"e":[{"l":1},77],"f":[{"a":[{"r":6}],"e":2,"f":[{"ä":70,"l":65}],"t":[{"r":2,"s":[{"p":15},22]},72]}],"g":[{"a":2,"g":72}],"h":[{"a":1,"s":72}],"i":[{".":78},72],"j":72,"k":[{"a":77,"l":0}],"l":[{".":73,"a":[{"l":3,"n":[{"c":18}],"r":71,"u":5}],"b":[{"a":2,"e":[{"l":11}],"i":[{"n":11}],"r":166,"u":2}],"e":77,"h":77,"i":2,"k":77,"l":[{"e":[{"i":11,"r":[{"e":24,"f":31,"g":24}],"u":11}],"o":[{"k":68}]}],"o":1,"p":83,"s":[{"p":2}],"t":[{"a":[{"l":11}],"e":[{"i":11}],"r":166}]}],"m":[{"o":[{"t":104}],"t":[{"e":4},94]}],"n":[{".":72,"a":[{"l":5,"n":5,"u":2},77],"b":[{"e":72},77],"d":[{"a":2,"e":[{"r":25}],"r":166},72],"e":[{"m":5}],"f":28,"g":[{"e":[{"n":[{"d":43}]}],"r":[{"o":11}],"s":23}],"k":28,"l":77,"o":77,"r":77,"z":77}],"o":[{"s":2}],"p":[{"e":87,"l":5,"o":5,"r":5},94],"r":[{"a":[{"b":6},85],"b":77,"c":77,"d":72,"f":[{"r":2}],"m":[{".":70,"a":4,"e":[{".":11},72]}],"n":[{"e":11}],"o":[{"m":5}],"s":77,"t":[{"e":10,"h":2,"i":70}],"z":[{"a":2}]}],"s":[{".":77,"a":107,"c":2,"h":25,"s":[{"a":11,"e":[{"r":101}],"t":45}],"t":[{"r":6}]},72],"ß":[{"e":70},20],"t":[{"a":5,"i":2,"l":81,"r":39,"s":77,"t":[{"r":81},22]}],"u":[{"d":[{"i":70}],"f":[{"b":70,"l":[{"i":[{"e":336}],"o":65}],"m":94,"s":70}],"g":337,"k":[{"t":70}],"s":[{"a":[{"n":11},2],"c":28,"e":[{"l":11,"n":[{"t":43}]},72],"p":[{"a":11,"e":11}],"s":[{"e":[{"n":338}]},11],"t":[{"i":25,"o":11}],"u":[{"r":11}]}],"t":[{".":72,"a":28,"r":166}]}],"v":[{"e":[{".":5}]}]}],"ä":[{"d":[{"e":22}],"f":[{"f":70}],"i":77,"k":[{"l":5}],"r":[{"z":77}],"s":[{"c":[{"h":[{"e":[{"n":19}]}]},7],"t":94},6],"u":[{"g":77,"s":[{"c":28,"p":1}]}]}],"b":[{"a":[{"r":[{"a":[{"s":11}]}]}],"e":[{"r":[{"e":22}]}]},214],"c":94,"d":[{"a":[{"n":22}]},139],"e":[{"a":[{"d":5},77],"b":[{"e":[{"i":[{"s":4}]},1],"l":39,"r":1,"u":1}],"c":[{"h":[{"e":231,"i":1,"o":0,"s":81}]}],"d":[{"g":2,"i":[{"t":5}]}],"e":[{"m":121,"n":2,"s":2,"t":30}],"f":[{".":72,"a":[{"b":1,"n":5,"u":5}],"e":[{"i":20,"m":3,"r":[{"m":4}]}],"f":77,"i":[{"d":5,"n":[{"g":38}]}],"l":[{"e":196}],"r":[{"a":11,"e":5},77],"t":78,"u":5}],"g":[{"u":1}],"h":[{"e":[{"l":5}]}],"i":[{"a":11,"b":88,"e":70,"f":70,"g":70,"m":[{"a":[{"l":11,"r":11}],"e":[{"i":11}],"p":23,"u":11},5],"n":[{"a":11,"e":[{"b":25,"n":[{"e":24}],"r":25},104],"t":[{"r":81}]},77],"o":77,"s":[{"m":128,"s":10,"t":121}],"t":[{"s":163},72],"w":70}],"k":[{"t":[{"a":23}]}],"l":[{"a":[{"g":1,"n":9,"u":4},5],"e":[{"c":9,"k":5,"m":81,"n":5}],"f":72,"i":1,"l":[{"a":[{"u":23},22],"i":[{"c":11}]}],"m":[{"e":[{"i":11}]}],"o":[{"r":3}],"ö":5,"t":83}],"m":[{".":88,"a":[{"s":120},77],"b":2,"d":74,"e":150,"i":[{"a":6,"s":[{"s":124}]},170],"m":74,"p":76}],"n":[{".":72,"a":324,"ä":5,"e":[{"b":[{"e":4}],"n":[{"d":4,"e":6,"s":6},135],"r":[{"g":4,"m":6}],"t":153}],"g":[{"a":[{"g":11},77]}],"k":[{"a":[{"n":11,"u":11}]}],"o":[{"t":23},77],"s":[{"e":[{"m":11}],"t":339}],"t":[{"a":22,"e":[{"r":11},4],"r":4,"s":70,"w":76,"z":81}],"u":12,"z":36}],"o":[{"n":1,"p":1},80],"p":[{"a":1,"h":1,"i":71,"t":22}],"r":[{".":72,"a":[{"b":36,"d":5,"p":77,"r":324,"u":104}],"b":22,"e":[{"b":126,"c":[{"k":6}],"i":[{"f":11,"g":230,"s":[{".":21,"e":[{"s":263}]}]}],"l":5,"n":[{"e":6}],"r":[{"s":[{"c":21}],"w":6}]}],"f":[{"o":[{"l":11},70]}],"g":[{"e":[{"b":[{"n":229}]}]}],"i":[{"f":77,"n":[{"d":18,"f":18,"n":[{"u":274}],"s":18}]}],"k":[{"e":70,"l":[{"ä":11}],"r":[{"a":[{"n":340}]}]}],"l":[{"a":[{"d":175}]}],"m":[{"a":[{"s":15}]},77],"o":[{"b":184,"f":6,"p":6,"t":6},1],"ö":[{"r":70}],"s":[{"t":[{"a":4}]}],"t":[{"h":4},10],"u":[{"m":4}],"z":[{"a":[{"p":11}],"e":[{"n":[{"g":24}],"u":129}],"w":28}]}],"s":[{"a":1,"e":77,"i":1,"p":3,"t":2}],"t":[{"a":[{"p":5}],"ä":1,"e":[{"r":104}],"h":1,"i":2,"s":16}],"u":[{"g":4,"n":[{"t":1}],"s":[{"c":78}]},5],"x":[{"a":30,"p":77},1],"y":[{"e":0},2]}],"è":74,"f":[{"a":[{"l":[{"l":[{"e":[{"r":172}]}]}],"n":22}],"e":[{"l":[{"l":341}]}],"i":[{"s":2}],"l":[{"e":[{"i":104}]}]},245],"g":[{"a":[{"s":[{"e":[{"n":11}]},45]}]},139],"h":[{"o":[{"h":22}]},155],"i":[{".":83,"a":[{"r":5,"t":70},77],"c":[{"e":0,"h":[{"t":[{"e":[{"r":55}],"s":[{"p":13}]}]}]},77],"d":[{"e":11,"i":[{"o":6}],"o":77},1],"e":[{"n":[{"s":1}],"r":[{"e":[{"i":11}],"i":[{"n":11},23],"s":104}]},5],"f":[{"f":[{"r":65}]}],"k":[{"r":39}],"l":[{"a":277,"e":[{"n":152}],"f":[{"r":2}]}],"m":[{"a":77,"b":70,"i":[{"t":124}],"m":88,"p":[{"e":81}]},72],"n":[{"a":[{"k":1,"m":1,"p":1,"s":44}],"d":[{"e":72}],"e":[{"i":22,"l":1,"n":342}],"f":70,"h":70,"i":194,"n":36,"o":226,"t":[{"a":28}]},5],"o":[{"b":1,"n":6},77],"p":[{"l":6},39],"r":[{"a":1,"e":1,"i":1,"m":[{"a":28,"i":2}],"n":[{"e":[{"r":11}]},45],"s":2,"t":74},5],"s":[{".":77,"a":2,"e":5,"o":71,"p":[{"a":5}]}],"t":[{"a":[{"c":1,"n":5}],"e":[{"l":5}],"i":3,"r":[{"o":5},9],"z":[{"e":36}]}],"v":[{"o":20}]}],"j":94,"k":[{"a":[{"m":[{"p":104}]}],"e":[{"u":72}],"i":[{"n":28}],"l":[{"o":[{"s":23}]}]},214],"l":[{"a":[{"g":[{"r":2},5],"m":[{"m":[{"e":[{"n":[{"g":27}]}]}]}],"n":[{"d":[{"a":120}]}],"s":70,"t":70,"u":[{"t":70}],"y":70}],"ä":[{"c":[{"h":[{"e":81}]}],"d":81,"s":70,"ß":70,"u":70}],"b":11,"d":16,"e":[{".":81,"a":4,"b":81,"d":81,"e":4,"i":[{"s":[{"t":81},72]}],"l":0,"n":[{".":143,"a":[{"s":11}],"e":[{"n":100}],"n":5,"t":[{"r":131,"s":88}],"z":5}],"r":[{"a":166,"e":6,"g":72,"h":[{"ö":10}],"k":5,"n":[{"ä":343}],"u":[{"n":4}],"w":0,"z":88},81],"s":[{"i":88},81]}],"f":11,"g":11,"i":[{"e":[{"d":81},72],"f":72,"m":72,"n":[{"d":0,"g":[{"s":201}]}],"p":72,"s":[{"t":81},72],"t":344}],"l":[{"e":[{"b":23}]},3],"m":[{"a":[{"s":152}]},3],"o":[{"b":0,"c":81,"f":30,"g":81,"p":0,"r":[{"a":2},88],"s":[{".":81,"i":81,"s":[{"t":10}]}],"ß":28},72],"ö":[{"s":[{"s":11},161]}],"s":[{"a":[{"r":6}],"e":[{"r":5}],"k":[{"a":1}],"l":[{"o":3}],"t":[{"i":[{"e":4}],"r":1}],"u":5}],"t":3,"u":[{"f":81,"k":81,"m":[{"p":[{"e":81}]}]}],"ü":[{"f":70}],"z":2},77],"m":[{"a":[{"d":81,"g":81,"k":81,"n":[{"t":72},81],"r":[{"c":88},81],"s":[{"s":[{"e":4}]},81],"ß":81}],"ä":[{"c":88,"h":88,"l":88},81],"e":[{".":81,"d":81,"e":[{"r":[{"s":18}]},191],"i":[{"n":81,"s":[{"t":81}]}],"l":[{"d":81,"e":4}],"n":[{"s":22},81],"r":[{"a":[{"n":11}],"e":[{"i":11}]}],"x":81},5],"i":[{"e":2,"n":[{"d":81,"i":81,"z":81}],"r":[{"r":81}]}],"o":[{"p":81,"t":81},72],"ö":[{"l":88},79],"p":3,"s":[{"p":20}],"u":[{"l":81,"s":[{"i":81}],"t":[{"s":10}]},72]},94],"n":[{"a":[{"g":81,"m":81,"r":88,"t":[{"e":3,"t":88}],"u":[{".":81}]},72],"ä":[{"h":0}],"d":16,"e":[{"b":4,"e":166,"f":[{"f":1}],"i":[{"g":1,"n":1}],"l":72,"n":[{"g":6},11],"p":[{"f":11}],"r":[{"d":[{"e":10}],"e":[{"i":23}],"o":282,"s":[{"a":131}]},81],"x":1},5],"f":[{"l":[{"e":[{"i":101}]}]},16],"h":[{"o":[{"f":[{"s":[{"t":[{"r":[{"a":[{"s":345}]}]}]}]}]}]}],"i":[{"c":72,"d":72,"e":72,"m":0,"n":0,"p":72,"s":[{"a":11}]}],"k":11,"n":[{"o":22}],"o":[{"r":113}],"r":[{"a":22}],"s":[{"a":1,"p":3,"t":2,"u":[{"c":[{"h":101}]}]}],"t":[{"r":[{"a":18}],"s":22}],"u":[{"l":72,"n":[{"f":103}]}],"z":3},77],"o":[{"a":[{"r":6}],"b":[{"e":[{"r":[{"n":1}]}],"l":39}],"c":[{"h":[{"e":104},23],"k":[{"t":23}]},5],"d":77,"e":[{"n":4,"r":1},80],"f":[{"a":320,"ä":5,"e":[{"d":5,"u":5}],"f":[{"a":65}],"l":39,"o":20,"r":39,"u":5}],"i":77,"l":[{"a":[{"r":4},20],"e":[{"i":20,"m":5},74],"g":65,"k":4,"l":10,"y":[{"m":81},77],"z":[{"e":[{"n":[{"e":24}]}]},74]}],"m":[{"e":[{".":5,"c":5,"d":5},2]}],"n":[{"d":10,"e":[{"r":2}]},72],"o":[{"n":0,"r":2}],"p":[{"e":70},77],"r":[{"a":[{"n":346,"u":5},0],"d":154,"e":[{"n":[{"s":6}],"t":1},77],"g":94,"t":[{"a":4,"e":[{"r":11}],"s":23,"u":70}]}],"s":[{".":72,"e":[{"i":6},231],"l":[{"a":6},1],"t":[{"r":5}]}],"ß":[{"e":[{"n":[{"e":6}]}]}],"t":[{".":77,"h":1,"r":77,"s":347}],"u":[{"s":11},74],"w":109,"x":70,"y":30}],"ô":0,"ö":[{".":77,"c":5,"h":[{"e":181}],"s":[{"c":9,"s":[{"e":4}],"t":81},348]},84],"p":165,"q":70,"r":[{"a":[{"b":2,"c":1,"d":1,"g":30,"h":116,"i":70,"n":[{"e":70}],"p":1,"s":[{"s":23}]}],"ä":[{"u":81}],"b":11,"c":0,"d":1,"e":[{"c":[{"h":79},72],"d":81,"f":[{"f":1},81],"h":103,"i":[{".":88,"b":[{"a":10,"r":10}],"c":81,"f":81,"g":131,"n":[{"i":6,"l":88}],"t":[{"h":23}]}],"p":81,"r":[{"g":[{"e":[{"b":53}]}],"h":5,"k":5,"l":[{"a":88,"e":[{"b":349}]}],"m":5,"s":[{"a":10,"t":51}],"w":5,"z":5}],"s":[{"s":254,"t":104},350],"t":[{"a":103},2],"u":103,"v":72}],"g":[{"a":10,"u":10},2],"i":[{"c":[{"k":88},81],"e":[{"s":[{"l":81}]},11],"n":[{"d":115,"t":0},81],"s":[{"t":88}]},72],"l":1,"m":3,"o":[{"g":81,"h":81,"l":227,"m":[{"a":[{"t":88}],"e":88,"i":88,"o":88}],"n":88,"p":[{"a":70}],"r":11,"u":81}],"ö":[{"s":258}],"s":[{"a":[{"c":20,"n":[{"d":12}]}],"c":[{"h":1}],"e":[{"m":20,"n":[{"a":1},5],"r":20,"t":5}],"h":6,"i":[{"n":5}],"k":4,"l":4,"o":[{"f":20}],"t":[{"e":[{"c":6,"l":[{"e":21}]}]},22],"u":5}],"t":[{"a":[{"b":5,"n":5}],"e":[{"l":35}],"h":5,"o":[{"p":5}],"r":[{"i":[{"c":4}]}],"s":[{"t":[{"e":11}]},2]}],"u":[{"h":81,"m":[{"s":0}],"t":81}],"ü":[{"b":88},81],"y":88,"z":2},77],"s":[{"a":[{"c":[{"h":[{"t":131}]}],"d":113,"l":[{"k":103,"l":72}],"m":[{"t":88}],"n":[{"d":1},72],"s":103,"t":[{"h":72,"o":72}],"u":[{"d":72,"r":131,"t":72}]}],"ä":[{"h":72,"u":[{"g":72}]}],"c":[{"h":[{"a":[{"n":88}]}],"r":5},81],"e":[{".":81,"c":85,"e":11,"h":[{"r":115}],"i":[{"e":103,"n":[{"d":88,"s":[{"t":175}]}]}],"l":[{"e":81,"i":[{"n":11}]}],"m":[{"i":0}],"n":[{"e":[{"r":[{"g":51}]}],"t":103}],"r":[{"f":103,"g":0,"h":72,"k":[{"l":88}],"l":103,"n":[{"e":6},0],"ö":72,"w":103,"z":72}],"x":[{"t":79},72]}],"h":[{"a":[{"k":22}]}],"i":[{"d":114,"m":5,"n":[{"g":103,"n":[{"i":124}]}],"t":[{"a":115}]}],"k":[{"a":[{"l":5,"n":[{"d":81}]}]}],"o":[{"f":[{"e":72},0],"p":72,"r":[{"g":0}]}],"p":[{"a":[{"c":72,"n":[{"i":131}],"r":103,"t":103}],"e":[{"c":81,"i":81,"r":72}],"h":72,"o":[{"i":81},72],"r":[{"ä":72,"o":72}]}],"s":2,"t":[{"a":[{"f":72,"l":[{"t":4}],"n":2,"u":72}],"ä":[{"l":72,"u":72}],"e":[{"a":88,"l":[{"e":88}],"r":[{"m":88}]}],"i":[{"e":[{"r":1}],"n":72,"t":72}],"o":[{"l":103,"r":103}],"ö":81,"r":[{"e":[{"u":131}],"o":104}],"u":[{"n":81},72],"ü":81}],"u":[{"n":[{"g":5}]},103],"y":81},198],"t":[{"a":[{"b":[{"l":2},72],"d":113,"g":5,"k":[{"t":[{".":6,"e":6}]}],"l":[{"l":72,"o":72,"p":72,"t":72}],"m":2,"n":[{"e":1,"k":81},113],"p":72,"r":113,"s":[{"i":85,"y":72},5],"t":[{".":81,"e":81},85],"u":[{"g":81},72],"x":88},0],"ä":[{"r":72},0],"e":[{".":81,"b":[{"e":[{"r":16}]}],"c":[{"h":[{"a":4}]},0],"d":114,"f":[{"f":0}],"h":[{"e":30}],"i":[{"f":72,"g":103,"l":[{"z":131}],"m":103,"n":0,"s":103}],"k":[{"e":103}],"l":[{"a":[{"s":1}],"e":[{"i":[{".":43}],"k":88}],"f":[{"e":131}],"i":[{"t":131}]}],"m":[{"i":0,"p":72},11],"n":[{".":81,"g":[{"l":1}],"t":[{"a":1,"f":88}]}],"r":[{"d":[{"e":[{".":53}]}],"e":[{"r":[{"s":31}]}],"f":[{"o":1,"ü":[{"l":175},1]}],"g":[{"e":[{"b":175}],"r":[{"i":53},1]}],"h":[{"ä":[{"l":53}],"ö":[{"h":[{"u":27}]}]},0],"l":[{"e":[{"b":175,"u":351}]}],"n":[{"e":[{"u":175}]}],"s":[{"p":[{"a":[{"r":27},7]}],"t":[{"a":175},1]}],"t":[{"r":[{"a":53}]}],"w":[{"ä":1}],"z":[{"e":1}]}],"s":[{"e":103,"s":103}],"t":[{"a":72,"h":11}],"u":[{"m":81,"n":81},103],"x":[{"t":[{"r":88}]}]}],"h":[{"e":[{"i":88,"r":[{"a":81}],"s":81}],"o":88},103],"i":[{"d":114,"g":81,"m":103,"n":[{"e":1},352],"s":[{"c":81},103],"t":65}],"n":[{"i":22}],"o":[{"b":103,"d":28,"f":114,"l":[{"y":85}],"p":[{"e":72}],"r":[{"d":72}]}],"r":[{"a":[{"k":1,"n":[{"d":1},81],"s":131,"t":[{"e":[{"s":21}]}],"u":[{"b":88,"m":[{"e":21}]},1]}],"e":[{"c":[{"k":81},1],"i":1,"s":85}],"i":[{"c":1,"e":[{"g":131}],"n":85,"t":81}],"o":[{"l":85,"s":85,"ß":85}],"ö":[{"m":1}],"u":1,"ü":85}],"s":[{"a":[{"h":5,"l":5,"n":184}],"c":[{"r":5}],"e":[{"i":[{"n":6}],"l":5,"n":[{"d":12,"g":6}],"r":[{"i":4},167]}],"h":[{"a":[{"k":16},104]}],"k":[{"r":4}],"o":20,"p":[{"a":[{"r":4}]}],"t":[{"ä":[{"t":4}],"e":[{"m":12}],"i":[{"e":11,"p":6}],"u":[{"r":12}],"ü":[{"r":12}]}]},88],"t":[{"i":22},11],"u":[{"e":2,"r":[{"s":103}]}],"z":3},198],"u":[{"a":5,"b":[{"a":20,"e":[{"i":5,"l":6,"n":353}],"i":5,"l":39,"r":280,"u":5}],"f":[{"a":5}],"h":[{"a":39,"i":20,"r":70,"u":70}],"k":[{"ä":5,"i":[{"n":20}],"t":65}],"l":[{"a":[{"b":6},119],"ä":5,"e":[{"b":20,"i":20,"m":5,"n":[{"g":12,"t":6}],"r":20,"t":5},22],"i":[{"d":5,"n":20}],"l":36,"o":5,"ö":5,"s":4}],"m":[{"a":3,"h":70,"s":70}],"n":[{"a":70,"d":[{"e":[{"i":15},36]},72],"e":2,"f":77,"g":[{"e":4,"s":[{"a":101}]},22],"i":70,"m":70,"t":77},5],"p":[{"s":70}],"r":[{"g":36,"t":[{"h":166}]},77],"s":[{"a":3,"h":4,"o":5,"s":[{"a":166,"e":[{"r":354},4],"o":28,"p":2,"t":11}]}],"ß":20,"t":[{"a":[{"b":5}],"i":5,"o":20,"r":39,"t":2,"z":[{"e":[{"n":11,"r":25}],"u":2}]}]}],"ü":[{"b":[{"e":[{"r":81}],"s":88,"u":81}],"f":[{"t":45},2],"h":[{"n":[{"e":18}]}]},72],"v":[{"i":[{"l":22}]},94],"w":[{"a":[{"l":[{"l":72}]}],"e":[{"c":9,"i":[{"b":70,"h":70,"n":[{"s":[{"a":13},100]}],"s":[{"s":18}]}]}],"i":[{"r":[{"r":72}]}]},80],"y":[{"d":[{"r":1},74],"l":[{"o":[{"r":5}]}],"m":[{"n":74}],"o":[{"s":1},70],"p":[{"e":[{".":5}]},74],"t":80}],"z":[{"a":5,"o":79,"u":[{"g":10}],"w":79},94]}],"i":[{"a":[{"d":[{".":81,"a":2,"n":70,"o":1}],"f":[{"l":11}],"g":[{"o":72}],"h":30,"i":70,"k":[{".":81,"e":[{"i":5},81],"r":5,"t":70}],"l":[{"a":[{"r":4,"s":4},126],"ä":5,"b":65,"d":65,"e":[{"b":81,"f":81,"i":81,"k":1,"l":81,"n":[{"g":81,"t":81}],"r":[{"b":81,"f":355,"h":81,"m":124}],"t":356,"x":81}],"i":[{"a":79,"m":81,"n":79}],"l":[{"e":[{"r":11}],"i":22},157],"o":[{"n":5,"p":5,"r":126},72],"p":4,"s":4,"t":36,"u":119,"z":36},70],"m":[{".":70,"a":1,"p":[{"e":18}],"s":70}],"n":[{".":70,"a":[{"l":[{"t":4},5],"u":5},227],"c":70,"d":211,"e":[{"b":357,"r":2}],"n":70,"s":[{"p":28},70],"t":81,"z":[{"a":18},81]}],"o":[{"p":5},0],"p":1,"q":0,"r":[{".":81,"a":5,"e":72,"r":4},70],"s":[{".":81,"h":1,"i":72,"p":30,"s":34,"t":10},70],"t":[{".":81,"h":[{"e":88},258],"r":74,"s":81}],"u":[{"n":1,"s":28},81],"z":72}],"ä":[{"m":71,"p":70,"r":[{".":70,"s":70}],"t":[{"e":[{"m":124}],"i":5,"s":141},70],"v":70},77],"b":[{"a":[{"r":[{"t":0}],"u":[{"f":103,"s":103,"t":72}]}],"b":[{"e":1,"l":[{"i":5}]}],"e":[{"i":[{"g":103,"s":103}],"n":75,"r":[{"g":[{"e":[{"b":349}]}],"l":[{"a":358}],"o":9}]}],"i":[{"m":72,"n":103}],"l":[{"a":[{"d":72}],"e":[{"u":72}],"u":81}],"o":79,"ö":72,"r":[{"a":[{"u":85}],"i":[{"c":1}],"o":[{"c":85}]}],"s":[{"e":[{"r":5}],"t":[{"e":6}]}],"u":[{"n":[{"k":85,"t":85},5],"s":[{"c":45},23]}]},198],"c":[{"a":81,"c":0,"h":[{"a":[{"r":[{"t":[{".":24}]}]},98],"ä":9,"e":[{"i":9,"r":[{"i":[{"n":183}],"m":[{"a":[{"s":58}]}]},2]},70],"g":[{"r":[{"o":100}]}],"i":70,"l":[{"e":4,"i":4,"o":359},9],"m":[{"a":[{"s":101}]},34],"n":4,"o":[{"r":[{"t":4}]},70],"r":174,"s":[{"e":[{"l":[{"e":24}]}],"i":28,"t":[{"i":[{"e":24}]}]}],"t":[{"r":2}],"u":70,"w":9}],"i":70,"k":[{"t":22}],"l":[{"a":1},70],"r":[{"a":1}],"u":81},77],"d":[{"a":[{"b":5,"c":79,"l":6,"m":5,"n":[{"s":79},30],"t":124,"u":0,"x":5},77],"ä":9,"b":[{"u":10}],"e":[{".":76,"a":72,"e":74,"i":[{"s":1}],"l":[{"ä":10},77],"m":[{"u":[{"l":88}]}],"n":[{".":129,"o":75,"s":[{"e":10}]}],"r":[{"a":[{"n":4}],"i":[{"n":[{"n":[{"u":62}]}]}],"ö":9,"r":[{"e":[{"g":53}]}]}],"s":[{"a":34,"o":4,"p":22},76]},5],"i":[{"o":[{"n":11,"t":88},360]}],"k":77,"n":[{"i":23}],"o":[{"l":72,"o":77},5],"ö":72,"r":[{"o":6},72],"s":[{"p":20}],"t":11,"y":84},70],"e":[{"a":3,"b":[{"ä":5,"l":5,"r":[{"e":4,"i":5,"ü":12}],"s":[{"t":[{"o":11}]}]}],"c":[{"h":[{"o":5,"t":23}]},0],"d":[{"a":[{"n":39}],"e":1,"r":5}],"e":30,"f":[{"a":[{"k":[{"t":4}],"n":20,"r":5,"u":5}],"ä":[{"h":5}],"e":[{"m":22}],"f":65,"i":2,"l":39,"o":[{"n":[{"k":6}]}],"r":[{"o":5},9]}],"g":[{"l":[{"i":34},5],"n":16,"r":[{"e":39}],"s":[{"c":361,"e":11,"i":11,"t":362},2]}],"h":[{"e":[{"r":1}],"i":[{"n":20}],"r":36}],"i":[{"n":[{"d":0}]},70],"l":[{"a":[{"r":22},363],"ä":[{"s":5}],"d":65,"e":[{"b":251,"c":9,"i":[{"d":4}],"k":5,"n":[{"e":6,"g":6},88],"r":[{"e":18,"f":[{"i":13}],"g":[{"e":[{"b":52}]}],"k":[{"e":13}],"l":[{"a":13,"e":[{"b":[{"n":52}]}]}],"w":11}],"s":104},72],"i":[{"d":22},72],"l":70,"o":[{"b":127,"p":5,"r":21}],"s":[{"z":4},96],"t":22}],"m":[{"e":2,"i":[{"s":104}]}],"n":[{".":81,"a":[{"g":9,"m":2,"s":6},81],"ä":81,"e":[{"b":9,"c":81,"k":364,"r":[{"f":[{"o":13}],"g":205,"l":[{"a":13}]}],"x":81},72],"f":81,"g":[{"e":[{"f":18,"z":18}]},365],"h":81,"i":[{"d":5,"m":5,"n":12}],"j":81,"k":81,"l":[{"a":81,"e":81}],"m":[{"a":[{"s":293}]},81],"n":81,"o":79,"ö":81,"p":81,"r":81,"s":[{".":81,"a":81,"c":81,"e":211,"k":36,"p":211,"t":[{"e":[{"r":366}],"o":[{"p":24}],"r":[{"ä":50},10]}],"z":157}],"t":[{"a":[{"r":25}],"e":4,"h":81,"r":4,"y":81}],"v":81,"w":81,"z":81},70],"o":121,"r":[{"a":[{"d":119,"l":4,"n":4,"p":39}],"b":[{"u":[{"n":81}]},10],"d":4,"e":[{"c":[{"k":6}],"i":[{"n":[{"s":51}],"s":12}],"r":[{"k":15,"z":12},3]},72],"f":10,"g":[{"i":70},10],"i":88,"k":[{"e":[{"n":101}]},10],"m":[{"a":[{"s":[{"s":13}]}]}],"n":[{".":81,"a":22,"i":72},70],"ö":5,"r":[{"e":[{".":11}]}],"s":[{"e":[{"h":25,"i":4}],"t":[{"a":4}]}],"t":[{"e":4,"i":22}],"z":36}],"s":[{"a":[{"n":6}],"c":72,"e":72,"h":6,"k":12,"o":[{"f":6},4],"p":[{"u":6}],"s":[{"e":[{"r":[{"g":31}],"t":7}],"t":[{"i":23}]}],"t":[{"e":53,"i":[{"n":6}]}]},194],"ß":[{"e":[{"r":[{"g":18}]}]}],"t":[{"a":[{"g":20,"k":20,"n":5,"p":20,"t":5,"u":5}],"e":[{"n":[{"t":6}],"r":[{"h":12,"t":12}]}],"h":[{"e":[{"r":4},88],"o":20,"y":5}],"o":[{"b":6}],"ö":[{"s":126}],"r":[{"i":39,"u":39}],"s":[{"e":2}],"t":70,"z":[{"w":4}]}],"u":[{"e":2,"n":0}],"w":[{"u":39}],"x":71}],"f":[{"a":[{"b":0,"n":[{"g":[{"e":1}]}],"r":[{"m":85},0],"t":6,"u":103}],"ä":[{"n":0}],"e":[{"c":72,"f":103,"i":[{"n":0},11],"n":111,"r":[{"g":103,"h":0}]}],"f":[{"a":5,"e":[{"s":[{"t":[{"e":21}]},10]}],"l":39,"o":[{"r":[{"m":6}]}],"r":[{"o":5}],"s":[{"t":[{"e":11}]},2]}],"l":[{"a":[{"c":0}],"ä":6,"o":[{"s":6},10],"ü":70},1],"r":[{"e":[{"g":72,"v":6},70],"ü":10},1],"s":[{"a":1}],"t":[{"a":39,"e":[{"d":5,"f":39,"i":20,"l":35,"p":5,"r":[{"k":6}],"s":[{"c":12},10]}],"h":6,"o":[{"p":5}],"r":[{"i":4},20],"s":[{"p":9,"t":22,"z":4}],"u":[{"r":5}]}],"y":70},77],"g":[{"a":[{"n":[{"b":72}],"r":[{"b":72,"t":0}],"s":4,"t":[{"t":85}]}],"d":2,"e":[{"b":[{"r":[{"a":[{"u":175}]}]}],"f":[{"a":[{"r":88}],"ü":[{"g":11}]}],"l":[{".":87,"a":[{"u":34}],"n":72}],"m":[{"e":11,"i":[{"s":11}]}],"n":[{"a":11,"e":[{"n":[{"e":24}]}],"i":[{"d":11}],"s":51}],"o":2,"p":[{"a":2}],"r":[{"a":2,"m":[{"a":100}],"w":[{"e":[{"r":7}]}],"z":[{"e":10},0]}],"s":[{"e":[{"l":11}],"s":103}],"t":[{"r":[{"a":11,"e":11}]}],"w":[{"o":[{"h":11}]}]}],"i":[{"m":72}],"l":[{"a":[{"u":0}],"e":81,"i":[{"m":1}]},72],"n":[{"a":6,"ä":88,"e":[{"u":124}],"o":6}],"o":[{"p":9}],"r":[{"a":[{"d":1}],"e":[{"n":6},85],"o":[{"u":72},23]}],"s":[{"a":[{"l":6}],"ä":1,"c":[{"h":[{"r":6}]}],"o":30,"p":[{"a":5},0],"t":[{"i":6,"o":37,"ö":5,"r":[{"a":[{"s":367}]}],"u":[{"r":6}]}]}]},94],"h":[{"a":[{"r":72}],"e":[{"e":9,"l":[{"t":0}],"n":11,"u":4},81],"m":1,"n":1,"r":3,"s":[{"p":1,"t":[{"i":1}]},5],"u":[{"m":[{".":0}]}],"w":0},94],"i":[{"a":16,"e":70,"g":81,"m":70,"n":81,"s":[{".":72},116],"t":[{".":70},1]},5],"j":[{"s":84},70],"k":[{"a":[{"g":[{"e":2}],"k":[{"a":0,"e":[{"n":100}],"t":103}],"m":[{"t":1}],"n":[{"g":103,"t":[{"e":[{"i":175,"n":[{"n":63}]}]}]}],"r":[{"t":0}],"t":[{"t":1}],"u":103,"z":81}],"ä":[{"h":0,"n":103,"r":72}],"e":[{"b":[{"e":0},72],"d":103,"f":103,"i":103,"l":75,"n":[{"s":82,"t":0},28],"r":[{"a":2,"e":368,"f":[{"a":[{"m":143}]},118],"h":118,"l":96,"o":72,"u":174}],"t":[{"a":103}]},83],"i":[{".":81,"d":30,"e":81,"n":[{"s":72},0]},83],"l":[{"ä":[{"n":6}],"e":[{"r":[{"i":124}],"t":124}],"i":[{"m":6}],"u":81},85],"n":[{"e":72,"u":1}],"o":[{"b":[{"e":4}],"f":[{"f":103}],"p":98,"r":[{"i":2},0],"t":[{"t":23}]}],"ö":[{"l":72}],"r":[{"ä":1,"e":[{"s":72},1],"i":[{"s":6}],"o":[{"s":23},81],"ö":72}],"s":[{"a":1,"z":3}],"t":[{"a":1,"e":[{"r":[{"k":4}],"s":[{"k":12}]}],"r":[{"e":39}],"u":2}],"u":[{"h":103,"p":72,"s":81}],"ü":72},94],"l":[{"a":[{"b":72,"c":103,"k":103,"m":[{"a":30}],"n":[{"g":0,"m":103,"o":72,"z":[{"e":[{"r":53}]},5]}],"r":[{"b":72}],"s":[{"p":0}],"u":[{"b":81,"f":[{"b":124}],"s":167},103]},70],"ä":[{"r":72},318],"b":[{"l":11},77],"c":[{"h":[{"e":[{"n":7}]}]},5],"d":[{"a":5,"ä":5,"e":[{"b":[{"e":4}],"n":[{"t":38}],"r":[{"p":11},1]}],"i":22,"o":[{"r":5},9],"r":5}],"e":[{"c":0,"i":[{"d":18,"n":0}],"l":0,"m":[{"b":72,"i":114}],"n":[{"t":[{"l":88,"s":88},0]}],"r":[{"d":103,"e":[{"i":[{"g":175},10]}],"f":[{"o":10},0],"g":96,"h":118,"k":[{"l":279}],"r":[{"i":88},0],"z":79}],"t":[{"h":11}],"x":0},83],"f":[{"l":39,"r":[{"e":39}],"s":75},2],"g":[{"l":5}],"h":77,"i":[{"e":[{"n":369}],"g":[{"a":[{"b":25},104]}],"k":10,"n":[{"d":103,"i":[{"t":131}],"s":0}],"p":[{"f":9},103]},77],"l":[{"a":[{"d":6,"n":[{"t":11},2]},1],"ä":35,"e":[{"g":[{"e":10},5],"n":[{"n":6}],"r":3}],"u":74}],"m":[{"a":[{"k":5,"p":20,"u":20}],"e":[{"i":9}],"i":[{"n":5}],"o":[{"r":5}]}],"o":[{"b":0,"h":5,"n":6,"p":5,"r":114,"u":81,"v":81,"x":0},77],"s":[{"e":[{"n":[{"t":4}]}],"t":[{"o":2}]}],"t":[{"h":1},2],"u":[{"f":10,"m":72,"r":103,"s":81},70],"ü":11,"v":162,"z":[{"a":[{"r":5,"u":5}],"e":[{"r":[{"k":4}]}],"w":[{"a":5}]}]}],"m":[{"a":[{"d":22,"i":9,"l":5,"n":[{"h":85,"s":72}],"r":[{"c":72,"e":[{"n":1}],"m":103,"t":103}],"t":[{"r":2,"s":[{"c":51}],"u":[{"r":11}]},6],"u":[{"s":0,"t":72}]}],"b":1,"e":[{"g":72,"i":[{"n":0}],"j":72,"k":72,"l":[{"e":72,"f":72}],"n":5,"r":[{"f":118,"l":118,"z":118}],"s":[{"h":93,"s":23}],"t":[{"i":72}],"w":72}],"h":[{"a":[{"u":104}]}],"i":[{"d":[{"e":30},72],"m":72,"n":[{"d":103,"f":72,"s":103}]}],"m":[{"a":[{"t":[{"r":78}]}],"e":[{"n":[{"t":[{"h":21},4]},135]}],"i":[{"t":5}],"o":[{"d":32},74],"ö":5}],"n":[{"i":22}],"o":[{"b":103,"p":114,"r":[{"e":4}]},77],"ö":72,"p":[{"f":[{"a":2,"o":231}],"s":[{"e":1},2]},74],"t":[{"e":2,"i":3,"u":22},77],"u":[{"m":5,"r":[{"k":0}]},77]}],"n":[{".":77,"a":[{"b":[{"e":2,"u":1}],"c":[{"k":88},0],"d":0,"l":[{"d":81,"e":[{"r":[{"e":24},101]}],"p":5}],"m":103,"n":[{".":1,"a":1,"n":1},5],"r":[{"b":72}],"t":[{"t":1}],"u":[{"s":135},370]}],"ä":[{"h":103,"r":5,"s":0},77],"d":[{".":77,"a":[{"c":2,"l":5,"n":5},22],"ä":77,"e":[{".":77,"n":77,"r":[{"k":[{"e":34}]}],"s":[{"p":23,"t":18}],"x":74}],"i":[{"k":74},2],"ö":1,"r":[{"i":11},77],"s":[{"e":4}],"u":[{"s":74}],"ü":3}],"e":[{"c":0,"e":81,"f":[{"f":72}],"l":[{"e":[{"n":6}]}],"n":[{"ä":4,"z":[{"y":279}]},28],"r":[{".":143,"b":[{"i":131}],"h":[{"a":6,"e":279}],"k":81,"l":[{"e":[{"b":349},371],"ö":10}],"t":[{"r":358}]}],"s":81,"t":5,"u":[{"n":4},0]},77],"f":[{"e":[{"k":74}],"i":[{"z":74}],"o":74},16],"g":[{"a":[{"f":20,"g":20,"l":20,"m":5,"r":9},77],"ä":77,"e":[{"n":[{"i":78}],"r":[{"w":38},3]}],"l":[{"a":1},80],"m":[{"a":[{"s":101}]}],"s":[{"a":[{"m":11}],"p":[{"o":[{"r":53}]}]}]}],"h":[{"a":[{"b":74,"r":77,"u":77}],"e":77}],"i":[{".":77,"d":[{"e":4},5],"e":77,"g":[{"a":22},77],"k":[{"r":65}],"s":[{"e":4},77],"t":[{"z":81},22]}],"k":[{"a":[{"r":[{"n":78}],"s":74}],"e":[{"n":[{"t":12}],"r":11}],"r":[{"o":5}],"s":[{"t":[{"e":11},45]}],"ü":3}],"m":[{"a":[{"l":[{"e":10}]}]}],"n":[{".":77,"e":[{"n":10,"r":[{"m":41}],"u":5}],"i":[{"v":32}],"l":77,"o":[{"r":5}],"t":[{"a":74}]}],"o":[{"d":0,"e":65,"l":[{"s":1}],"r":0,"t":157,"u":103},77],"ö":[{"d":30},70],"r":77,"s":[{".":77,"a":[{"m":[{"t":[{".":21}]},2]}],"c":[{"h":104}],"e":[{".":77,"b":5,"d":77,"n":77}],"k":77,"t":[{"a":[{"l":78}],"ä":[{"t":12}],"e":106,"i":[{"t":78}],"r":[{"a":83,"ü":6}]}],"u":[{"f":74,"m":[{"z":4}],"r":5}],"z":1}],"t":[{"a":77,"e":[{".":77,"g":74,"i":1,"p":77}],"h":[{"i":135},108],"i":1,"o":2,"ö":77,"r":[{"ä":83,"i":[{"g":78}]},233],"s":4}],"u":[{"h":88,"n":[{"z":1}],"t":4},103],"v":[{"e":[{"r":[{"m":83}]}],"i":[{"l":104}]}],"y":227,"z":[{"e":[{"l":[{"l":[{"e":[{"r":52}]}]}]},3],"i":3,"s":[{"c":3}],"u":2,"w":1}]}],"ñ":70,"o":[{"a":11,"b":[{"l":2}],"c":0,"d":[{"a":1,"u":1},5],"e":16,"f":[{"l":11},72],"h":72,"i":0,"k":[{"r":372}],"l":[{".":81,"s":81}],"m":[{".":81,"e":1,"s":81}],"n":[{".":81,"a":[{"n":4,"u":39}],"d":36,"e":[{"e":6}],"o":[{"r":5},81],"s":[{"a":23,"e":[{"l":23}]},373],"y":72},2],"o":72,"p":[{"f":124,"t":81},103],"r":[{".":81,"c":81,"e":[{"n":10},2],"h":30,"p":81,"s":81,"t":81},72],"s":[{".":81,"h":1,"t":72,"u":2,"z":85},83],"t":[{".":81,"e":[{"l":23}],"r":11,"s":81},1],"u":72,"v":72,"x":81,"z":[{".":81},72]},94],"ö":[{"k":71,"n":70,"s":[{".":70,"t":116}]}],"p":[{"a":[{"n":5},70],"e":[{"d":81,"r":81},70],"f":[{"a":[{"m":7,"n":81}],"e":22},108],"h":2,"i":[{"a":4,"e":[{"l":4,"n":4}]},94],"l":[{"u":6}],"o":[{"i":72}],"p":[{"a":[{"n":5}],"e":1,"f":9,"l":6}],"r":70,"s":[{"a":5,"e":[{"i":5}],"p":5,"t":[{"a":5,"ü":6}]}],"t":[{"a":2,"i":2,"u":2}],"u":77}],"q":94,"r":[{"a":[{".":81,"d":76,"s":81,"t":10},116],"ä":[{"h":0},70],"b":[{"l":39}],"c":[{"h":[{"o":305}]},0],"e":[{"e":81,"k":77,"n":[{"a":11}]},6],"é":81,"g":[{"s":11},2],"h":[{"e":5}],"i":[{"g":256},5],"k":[{"e":[{"n":[{"e":6},10]}],"l":39,"s":[{"c":25}],"u":3},77],"l":[{"i":[{"n":10}]}],"m":[{"a":[{"g":20,"k":5,"u":9}],"ä":5,"e":[{"i":20,"n":163}],"o":126,"t":[{"h":11}],"u":[{"m":5,"n":[{"t":6}]}]}],"n":[{"a":[{"t":6},39],"o":5},77],"o":81,"ö":70,"p":[{"l":[{"a":104}]}],"r":[{"e":[{"i":5,"l":[{"i":6},10]}],"h":5}],"s":[{"c":[{"h":[{"e":1,"l":6,"m":6,"r":260,"w":260}]}],"e":136,"h":1},2],"t":[{"s":[{"t":28}]}],"u":[{"m":30,"s":28,"t":[{"e":4}]},77],"ü":79}],"s":[{"a":[{"c":81,"m":[{"p":88,"t":115},166],"p":5,"r":2,"t":[{"t":1},81],"u":[{"f":1,"g":22},72]}],"ä":[{"h":72,"n":103}],"b":77,"c":[{"a":72,"e":72,"h":[{"a":[{"r":88}],"e":[{"f":88,"h":374,"i":23,"m":[{"i":175},18],"r":[{"z":169}]},79],"i":[{"n":[{"g":143},88]}],"l":72,"m":[{"a":23},72],"n":[{"a":88}],"r":[{"e":168,"u":23}],"ü":[{"b":175}],"w":[{"a":88,"i":[{"r":175}],"o":88,"u":23,"ü":88}]}],"r":72}],"e":[{"a":4,"e":9,"h":[{"a":22,"i":4}],"i":[{"n":[{"d":6}]}],"l":[{"a":[{"d":4}],"t":[{"e":[{"r":349}]}]},5],"n":[{"a":11,"d":5,"h":[{"o":88}],"s":23},28],"r":[{"e":[{"i":25}],"g":0,"h":[{"e":10},72],"m":103}],"s":[{"s":118}],"t":[{"a":[{"t":131}]},79],"u":79},77],"f":77,"h":83,"i":[{"a":2,"d":[{"e":11},114],"k":22,"m":72,"n":[{"g":375}]},77],"k":[{"i":88,"u":88}],"l":[{"a":[{"m":78},1]}],"m":[{"a":77,"i":77,"u":22}],"o":[{"f":0,"h":81,"l":84,"n":[{"e":[{"n":[{"d":24},101]}],"o":104},376],"p":72,"r":[{"t":0}],"t":78,"u":103}],"p":[{"a":[{"r":72,"t":5},0],"e":0,"i":[{"c":0}],"o":[{"r":5}],"r":[{"o":72}]},77],"s":[{"a":[{"c":37,"u":6},1],"c":[{"h":[{"e":[{"n":34}]}]},1],"e":[{"n":[{"k":1}],"r":[{"f":18,"m":[{"a":[{"s":58}]}]}]}],"o":1,"p":[{"o":2},1],"t":[{"a":1,"e":6,"o":1,"r":[{"ä":1},9],"u":1},5],"u":5}],"t":[{"a":[{"b":72,"c":4,"l":6,"m":88,"n":[{"g":131},2]}],"e":[{"a":88,"c":115,"n":10},11],"i":[{"n":[{"f":18}]}],"o":24,"r":[{"a":[{"s":377},11],"ä":72,"e":72,"o":[{"m":[{"m":7}]}]}],"u":[{"r":72}],"ü":[{"m":0}]}],"u":[{"f":81,"m":[{"p":23},2]}],"ü":72,"y":77},70],"ß":[{"e":[{"r":[{"s":[{"c":1},10]}]}]},70],"t":[{"a":[{"b":[{".":0,"s":0}],"g":79,"l":[{"a":45,"l":51,"t":0}],"m":0,"n":[{"e":4,"g":0,"r":1}],"p":[{"p":0}],"r":[{"e":30,"t":0}],"t":81,"u":[{"c":81,"f":72,"t":72},0]},70],"ä":[{"n":[{"d":0}],"s":103,"t":22},198],"e":[{"f":[{"f":0}],"i":[{"c":5,"g":88,"n":88,"s":88},103],"l":[{"a":75,"e":[{"k":88}]},77],"m":[{"i":0,"p":72}],"n":[{".":81,"t":[{"s":88}]},2],"p":[{"o":72}],"r":[{"e":[{"i":[{"g":175}]}],"f":[{"o":358}],"i":[{"n":[{"d":31}]}],"k":[{"l":[{"ä":53}]}],"ö":5,"s":[{"c":[{"h":[{"e":378}]}]}]}],"s":[{"k":118}],"x":[{"t":81},103]},70],"h":[{"r":81}],"i":[{"c":81,"d":103,"g":81,"i":74,"n":301,"s":[{"o":88,"p":4,"s":88},81],"v":[{"a":379},81]},70],"l":[{"e":7}],"m":[{"e":[{"n":104}]}],"o":[{".":81,"b":0,"c":81,"d":4,"f":103,"p":2,"s":5},198],"ö":70,"r":[{"a":[{"d":[{"i":81},85],"f":1,"s":1,"u":1}],"ä":[{"u":1}],"e":[{"t":6},1],"i":[{"e":81}],"o":[{"b":1,"m":1}],"u":[{"n":85,"t":85}]},198],"s":[{"a":[{"g":9},5],"e":[{"h":32,"r":380},20],"h":6,"o":[{"r":9}],"p":[{"e":[{"n":1}]}],"t":[{"e":[{"c":6,"m":12,"n":6,"s":12}],"r":[{"a":[{"s":367}]}]}]},77],"t":[{"e":[{"b":5,"m":[{"p":6}],"r":[{"f":[{"o":34}]},1]}],"h":[{"ä":4}],"o":[{"b":5,"p":5}],"r":[{"i":[{"c":4},5]}],"s":[{"c":[{"h":[{"i":24}]}],"e":[{"h":68,"i":11}],"o":[{"r":11}],"t":[{"i":11}]}]},77],"u":[{"h":0,"m":[{"s":0}],"n":[{"g":5,"s":72}],"r":[{"a":[{"n":101}],"g":0}],"s":81,"t":10},70],"ü":70,"y":[{"l":22},99],"z":[{"e":[{"c":5,"r":[{"g":[{"r":21},4],"l":12},2]}],"ö":5,"w":20},77]}],"u":[{"l":131,"m":[{"a":22,"s":[{"e":11}]},4],"n":[{"g":[{"s":15}]},2],"p":88,"r":6,"s":[{"t":9}]},165],"ü":116,"v":[{"a":[{"d":103,"k":103,"m":103,"n":0}],"ä":103,"e":[{"b":72,"f":103,"i":0,"l":[{"t":0}],"n":[{"e":0,"t":103},11],"p":103,"r":[{"e":4,"h":0,"k":[{"l":10}],"l":0,"s":23}],"x":103}],"i":[{"l":[{"l":23}],"m":103,"n":[{"d":103,"t":0}]}],"o":[{"l":81,"r":[{"e":4}]}],"r":103,"u":[{"n":72,"r":103}],"ü":72},94],"w":94,"x":[{"a":72,"e":[{"m":5}],"t":2},94],"y":70,"z":[{"a":[{"c":5,"g":72,"n":72,"p":72,"s":79,"u":72},0],"ä":72,"e":[{"i":[{"c":23,"t":[{"s":293}]},5],"l":[{"e":72}],"n":[{"e":[{"r":88}],"t":[{"z":88}]},2],"r":[{"g":0,"l":115}]},81],"i":[{"d":23,"r":0}],"o":[{"f":2}],"ö":72,"u":[{"n":[{"a":72}]}],"w":[{"i":79},103]},198]}],"í":[{"l":70}],"j":[{"a":[{"b":11,"h":[{"r":[{"e":[{"i":25}],"s":10}]}],"l":[{"a":2},1],"n":[{"e":1,"i":[{"t":213},45]}],"r":[{"u":7}],"s":[{"o":2}],"t":2},72],"d":[{"a":4},214],"e":[{"a":[{"n":[{"s":22}]},5],"g":5,"k":[{"t":[{"a":166,"e":[{"r":11}],"i":[{"n":11}],"o":[{"r":101},152],"r":166}]}],"n":[{"a":1}],"p":5,"r":[{"e":2},1],"t":[{"a":20,"h":12,"i":[{"n":5}],"o":[{"r":6}],"r":39,"t":4,"u":126}]}],"i":[{"v":5}],"m":94,"o":[{"a":4,"b":[{"r":4},20],"d":[{"a":5}],"i":5,"l":[{"a":2}],"n":[{"g":22}],"p":39,"r":[{"a":30,"d":36}],"s":[{"c":5,"t":22}],"u":[{"l":2},78]}],"t":[{"y":9},94],"u":[{"b":[{"l":39}],"d":[{"e":22}],"g":[{"e":[{"n":[{"d":100},13]}]}],"i":0,"k":5,"l":[{"i":2}],"n":[{"g":[{"s":254}],"i":1}],"r":[{"a":11,"o":2},1],"t":[{"e":381}]},72],"v":94}],"k":[{"a":[{".":78,"a":[{"r":1}],"b":[{"b":[{"l":2},94],"d":77,"e":[{"n":155}],"f":77,"g":77,"h":77,"n":77,"o":165,"s":94,"t":94,"w":77,"z":77}],"c":0,"d":[{"e":[{"r":22}],"m":94,"r":165,"u":78,"v":77}],"e":1,"f":[{"l":121,"r":0,"t":36}],"g":[{"e":94},2],"h":[{"o":0},78],"i":[{"n":0}],"k":[{"e":[{"n":104}],"l":0,"t":[{".":94}]}],"l":[{"a":[{".":77,"b":23,"d":126,"n":5}],"d":4,"e":[{"h":37,"n":[{"s":6}],"r":[{"i":4}]}],"k":[{"a":[{"n":11},28],"l":166},87],"l":[{"i":22,"ö":15,"t":94},4],"o":[{"p":5,"s":20}],"s":22,"t":[{"e":[{"x":11}],"h":11}],"u":5}],"m":[{"t":72}],"n":[{"a":[{"l":11,"s":251,"u":5},78],"b":77,"d":[{"a":77,"ä":77},36],"e":2,"f":77,"i":[{"m":77}],"k":10,"l":77,"o":[{"m":77,"r":94}],"s":[{".":72},94],"t":[{"a":[{"r":11}],"e":[{"n":[{"n":218}]}],"h":94}],"u":[{"m":2},1],"w":77,"z":[{"u":94,"ü":77}]}],"o":20,"p":[{"e":78,"o":1}],"r":[{"a":78,"b":[{"e":77}],"c":77,"d":[{"a":36},72],"e":[{"a":70}],"g":72,"i":[{"e":[{"s":23}]},3],"k":72,"m":94,"p":[{"f":2}],"s":72,"t":[{"a":174,"i":[{"k":83},70]}],"u":22,"w":72}],"s":[{"c":87,"e":[{"i":45},2],"i":45,"o":2,"p":5,"t":[{".":94,"a":1,"e":[{"r":6}]},2],"u":78,"z":1}],"t":[{"a":[{"n":5}],"e":[{"g":78,"l":81}],"h":3,"r":39,"s":[{"e":4}],"t":151}],"u":[{"f":[{"e":[{"r":11}],"o":28,"s":[{"a":[{"g":55}],"p":10,"t":[{"e":[{"m":69}],"i":53}]}]}],"s":[{".":72,"s":94,"w":77}],"t":[{"o":77},36]}],"v":[{"e":1}],"z":77},74],"ä":[{"l":4,"m":[{"i":71}],"r":[{"g":94},2],"s":[{"c":196,"e":23}],"t":[{"h":1}]},74],"b":[{"e":9,"o":[{"n":11}],"y":2},316],"c":76,"d":139,"e":[{"b":[{"e":[{"n":5}]}],"c":94,"d":[{"i":5}],"f":[{"f":94,"i":22}],"g":[{"e":22,"l":5}],"h":[{"e":[{".":5,"n":5}],"r":[{"e":[{"r":101}],"s":[{"o":15},22]}]}],"i":[{"c":94,"g":94,"l":[{"i":2}],"n":[{"d":[{"u":10}],"e":10},94],"s":[{"e":77},70],"t":22}],"l":[{"a":[{"d":[{"e":1}],"g":3,"m":12},20],"ä":5,"b":10,"d":10,"e":[{"i":[{"s":4}],"k":80,"n":20,"r":20}],"l":[{"a":4,"e":186,"i":22}],"o":126,"ö":5,"s":[{"k":4}],"t":[{"e":10},88]}],"m":[{"i":155,"p":94}],"n":[{".":72,"a":[{"u":4},9],"ä":5,"d":[{"r":4}],"e":[{"b":126,"n":[{"e":6,"s":6},135],"r":[{"n":18}],"t":10}],"g":[{"a":[{"g":249}],"e":[{"l":[{".":340}]}]}],"i":[{"m":5,"n":4}],"l":[{"a":[{"d":83}],"ä":[{"d":83}]}],"n":[{"a":22,"e":22}],"o":5,"s":[{"a":72,"e":[{"m":249}],"i":36,"k":36,"t":[{"e":61}],"z":4}],"t":[{"e":[{".":276,"n":[{".":24}]}],"f":83,"g":77,"h":4,"l":77,"s":94,"w":77,"z":77}],"y":1,"z":204}],"o":180,"p":[{"l":5},77],"r":[{".":72,"a":[{"n":5,"u":5},0],"ä":20,"b":[{"l":[{"e":11}]}],"c":72,"d":83,"e":[{"b":126,"c":5,"i":[{"g":1,"n":4}]}],"f":[{"a":[{"h":83,"m":88}],"o":2}],"g":[{"e":[{"b":81}],"u":77}],"i":[{"n":[{"n":[{"u":274}],"s":[{"t":13}],"t":18}]}],"k":[{"e":[{"n":81}],"o":72}],"l":[{"a":[{"u":81}],"e":[{"b":[{"e":175},276]}]}],"n":[{"a":2,"e":[{"i":11,"u":[{"r":51},248]}]}],"o":[{"d":103,"s":77},70],"r":[{"e":[{"g":11}]}],"s":[{".":72,"a":77}],"t":[{"i":22}],"w":[{"e":[{"r":[{"b":24}]}]}],"z":[{".":70,"e":[{"u":11}],"i":329},22]}],"s":[{".":72,"a":39,"c":72,"e":[{"l":5},70],"s":[{"a":2}]}],"t":[{"a":[{"g":2},20],"e":[{"b":37,"l":6},10],"h":[{"a":4},155],"s":4,"t":[{"a":[{"s":18}],"h":45}],"u":5}],"u":[{"s":[{"c":[{"h":[{"l":24}]}]}]}],"v":[{"a":155}],"x":155}],"f":316,"g":[{"a":[{"s":75}],"e":[{"s":36}]},165],"h":[{"e":81,"o":[{"m":4}],"u":81},214],"i":[{"a":[{"d":5,"g":5,"k":1,"r":3},0],"c":[{"h":0}],"d":[{"r":1,"s":72,"y":77}],"e":[{"l":[{"e":[{"i":11}],"o":23},5],"r":[{"n":77,"s":22}],"s":[{"a":11}],"z":11}],"f":[{"l":121,"r":121}],"k":16,"l":[{"a":194,"ä":77}],"m":77,"n":[{".":78,"ä":5,"d":[{"e":[{"x":83}],"i":94,"u":94}],"f":94,"g":[{"a":2,"s":23},72],"h":77,"i":[{"k":104},161],"n":72,"o":16,"s":[{"e":94,"t":70},4],"t":94}],"o":[{"r":1,"s":11}],"r":78,"s":[{"o":155,"p":2,"s":34,"t":22}],"v":[{"e":10},2],"z":77}],"j":76,"k":[{"a":[{"b":10}]},214],"l":[{".":83,"a":[{".":83,"c":94,"n":[{"d":[{"u":23},77]},22],"r":88,"s":[{"t":70}],"u":[{"f":70,"g":81}]}],"ä":[{"d":94,"r":72}],"e":[{".":129,"b":[{"r":2}],"g":81,"h":77,"i":[{"e":22,"t":81}],"m":[{".":81}],"o":2,"r":[{"a":2},76],"u":[{"s":4},76]},72],"i":[{"c":77,"e":[{"n":72}],"f":72,"g":77,"m":87,"n":[{".":81,"a":149,"k":88},72],"p":72,"r":72,"s":[{"c":72,"t":77}],"t":[{"s":22}],"z":76}],"o":[{"c":76,"k":77,"p":149,"r":81,"s":[{"s":[{"e":4}],"t":13},22]}],"ö":[{"c":77,"f":77,"s":[{"t":72}],"t":88}],"u":[{"b":11,"d":72,"g":72,"m":72,"x":77},70],"ü":[{"c":94}],"y":77},6],"m":[{"a":[{"l":[{"a":2}],"s":[{"s":[{"e":4}]},22]},83]},155],"n":[{"a":[{"c":[{"h":256},88],"d":76,"h":77,"m":76}],"ä":[{"p":76}],"e":[{"c":88,"e":9,"s":77,"t":[{"u":4,"z":77}],"u":256,"y":83},81],"i":[{"e":11,"v":76}],"o":[{"b":[{"l":166}],"l":88,"r":[{"m":77}],"v":77}],"u":[{"m":76}]},228],"o":[{"a":[{"d":7,"l":5}],"b":[{"a":[{"l":104}],"j":77,"s":11}],"f":[{"f":[{"e":[{"i":15}]},36]}],"h":[{"l":[{"e":[{"i":15},22],"u":4}]}],"l":[{"a":3,"e":1,"k":166}],"m":[{"e":[{"r":15}],"n":83,"u":6},78],"n":[{"e":[{"m":5},22],"s":65,"t":[{"e":53}],"u":5},72],"o":[{"n":1}],"p":[{".":77,"e":[{"r":77},0],"f":[{"a":104,"e":[{"n":11,"r":[{"r":43}]}]}],"t":[{"e":1}]}],"r":[{"a":3,"b":[{"a":2,"l":2,"r":2}],"c":94,"d":[{"e":[{"r":[{"g":24},101]}]}],"e":[{"l":5}],"g":94,"k":[{"a":28}],"m":4,"n":[{"a":[{"c":11}],"ä":166,"o":382}],"p":[{"i":77}]}],"s":[{".":88,"k":6,"p":20,"t":149},72],"t":[{"e":[{"r":5}],"i":1,"r":11,"s":98,"t":[{"a":[{"k":11}]}]}],"u":[{"n":1},70],"w":[{"e":5},78],"x":94},74],"ö":[{"d":[{"e":22}],"f":72,"l":70},74],"p":155,"q":76,"r":[{"a":[{"d":76,"h":76,"l":88,"s":[{"s":11},23],"t":[{"s":81}],"u":[{"m":77}],"w":88,"z":88}],"ä":[{"c":88,"d":77,"n":88,"u":[{"m":76}]}],"e":[{".":256,"a":[{"k":76,"l":76}],"b":88,"c":76,"d":[{".":77,"e":76,"n":77,"u":77}],"f":76,"g":77,"i":[{"c":76,"e":[{"r":101},383],"f":81,"h":76,"m":77,"s":[{"e":[{"i":53}]}]}],"n":81,"s":[{"u":77}]}],"h":76,"i":[{"b":77,"c":76,"e":[{"s":76}],"p":77,"s":[{"i":81}]}],"o":[{"b":10,"c":[{"h":88}],"h":129,"k":88,"n":88,"p":88,"s":[{"s":11}],"t":[{"h":78},77],"u":81}],"ö":[{"h":77}],"u":[{"f":77,"n":76}]},228],"s":[{"a":[{"b":3,"c":81,"k":2,"m":[{"t":115}],"n":72,"r":3,"s":11,"u":[{"f":22},72],"v":72}],"ä":[{"h":72}],"c":[{"h":10},79],"e":[{"b":114,"c":103,"d":79,"i":[{"d":5,"f":5,"n":[{"d":88}]},0],"l":[{"e":2}],"n":[{"g":103,"t":103}],"r":[{"e":5,"f":72,"g":72,"k":72,"l":72,"s":72,"w":72},0],"v":114,"x":72}],"i":[{"d":299,"m":5,"n":103,"s":115}],"k":[{"e":79,"l":1}],"o":[{"n":6,"p":72,"r":103},2],"ö":72,"p":[{"a":[{"l":72,"t":79},0],"ä":72,"e":[{"l":5,"n":5},81],"h":72,"o":[{"r":5}],"u":[{"l":5}]}],"s":44,"t":[{"a":[{"l":72,"n":[{"z":131}],"t":[{".":1},18]}],"ä":[{"l":81}],"e":[{"l":6}],"i":[{"e":[{"r":88},0],"s":103,"t":72}],"o":[{"r":103}],"r":[{"o":[{"p":88}]}],"u":[{"c":72,"m":72,"r":103}],"ü":[{"t":72}]},2],"u":[{"l":81},103],"z":[{"e":[{"n":5}]}]},198],"t":[{"a":[{"b":[{"r":0,"s":0}],"d":103,"g":81,"k":[{"t":0}],"l":81,"m":0,"n":[{"d":5},103],"r":[{"e":16,"i":4},114],"u":[{"g":1,"s":22},103]}],"ä":[{"s":4}],"e":[{"i":[{"n":0}],"k":72,"l":[{"a":103,"i":4}],"n":[{"t":[{"l":88},103],"z":23},75],"r":[{"a":[{"n":4},2],"e":6,"f":[{"o":131}],"g":0,"h":103,"ö":72,"u":4}],"s":22,"x":72}],"h":103,"i":[{"d":114,"m":[{"e":2}],"n":[{"d":1,"g":0,"i":0,"n":1,"t":72}],"s":[{"e":28,"o":72,"t":2}],"t":[{"e":[{"r":11}]}]}],"o":[{"b":4,"f":103,"r":[{"e":[{"n":[{".":34}]}]}]}],"r":[{"a":[{"n":124,"s":1,"u":85}],"o":[{"m":[{"e":23}]}],"u":[{"n":1}],"ü":1}],"s":[{"a":16,"ä":1,"e":[{"l":2,"n":135},1],"i":1,"o":[{"r":5},9],"z":3},0],"t":2,"u":[{"m":[{"s":0}],"n":[{"s":72}]}],"z":3},198],"u":[{"a":[{"l":5}],"c":0,"d":[{"r":11}],"g":78,"h":[{"r":94,"s":4},5],"l":[{"a":1,"e":384,"i":3,"p":77,"t":[{"o":2,"r":2}]}],"m":[{".":72,"e":239,"g":77,"l":77,"s":[{"p":2}]}],"n":[{"a":170,"d":[{"a":4,"e":22}],"s":[{"t":15},11],"t":77,"w":77}],"p":[{".":198}],"r":[{"b":[{"l":2}],"e":[{"i":5}],"i":[{"e":[{"r":10},22]}],"k":94,"o":5,"s":[{"c":45,"p":2,"t":[{"e":11},2]}],"t":[{"s":[{"c":4}]},385]}],"s":[{"a":[{"r":22}],"c":[{"h":[{"l":6}]}],"p":5,"s":[{"e":[{"s":4}]}],"t":[{"a":4},77],"u":5}],"ß":5,"t":[{".":77,"a":2,"o":23}]}],"ü":[{"c":0,"n":[{"e":78,"f":23}],"r":[{"s":2},78]},74],"v":76,"w":[{"a":81},94],"z":[{"e":[{"l":4}]},165]}],"l":[{"a":[{".":78,"a":[{"r":1}],"b":[{".":87,"a":[{"d":5},2],"ä":72,"b":[{"r":2},77],"d":77,"e":[{"n":200},2],"f":83,"g":77,"h":77,"i":[{"t":79},78],"l":187,"n":77,"o":[{".":83},208],"r":[{"a":16,"e":[{"s":11}],"i":5}],"s":77,"u":[{"s":5}],"w":77,"z":77},70],"c":[{"e":[{"b":0}],"h":[{"e":131,"t":[{"e":[{"r":[{"f":63}]}]}]}],"k":[{"s":104}]}],"d":[{"a":329,"d":77,"e":[{".":1}],"i":3,"j":77,"l":94,"m":77,"o":[{"p":70}],"r":155,"u":87},74],"f":[{"a":5,"e":[{"i":20,"r":20}],"r":9,"t":65,"u":5},77],"g":[{"a":5,"d":4,"e":[{"r":[{"i":[{"n":183}]},72]}],"g":83,"i":[{"o":5}],"l":4,"n":12,"o":[{"b":5},10],"s":[{"t":[{"r":4}]}]}],"h":[{"o":107}],"i":[{"s":[{"t":75}]},78],"k":[{"e":22,"i":[{"n":5}],"k":72,"l":121,"r":[{"o":5}],"t":36}],"l":[{"a":[{".":78},5],"i":78,"t":83},94],"m":[{".":72,"i":[{"t":23}],"m":[{"a":28,"e":[{"n":[{"g":[{"e":62}]}]}],"f":74}],"o":[{"r":5}],"p":[{"u":81},72],"t":[{"s":10},94],"u":[{"n":6}]}],"n":[{"a":[{"l":70,"n":1,"t":193,"u":6},5],"ä":80,"d":[{".":88,"a":[{"m":11,"u":23},2],"e":[{"r":[{"h":24,"w":43,"z":43}]},88],"i":[{"n":[{"n":43}]}],"r":[{"i":4},386]},87],"e":[{"r":[{"d":4,"f":18}]}],"f":77,"g":[{"a":[{"n":11}],"e":[{"s":[{"c":43}]}],"s":152}],"h":[{"a":77,"e":72}],"i":208,"l":83,"n":94,"o":[{"f":5},70],"p":94,"s":[{"i":70},150],"t":[{"r":77,"w":77}],"w":77,"z":[{"w":28}]}],"o":78,"p":[{"f":94,"h":5,"o":155,"p":[{"l":2}]}],"r":[{"a":[{"n":20}],"c":77,"e":[{"b":98,"i":20,"l":5,"n":[{"e":6}]}],"f":10,"g":4,"i":[{"n":[{"i":4}]}],"o":[{"m":246}],"t":[{".":77,"h":22,"i":81,"r":10},70],"u":78}],"s":[{".":72,"a":[{"m":6},5],"ä":6,"c":[{"h":[{"e":101}]}],"d":83,"e":[{"b":7,"i":6,"l":251}],"h":77,"i":[{"n":5,"s":6}],"o":5,"p":80,"s":[{"e":[{"r":78}]}],"t":[{"a":[{"n":23},6],"e":[{"u":6}],"r":[{"i":23,"o":4},5],"u":[{"r":4}],"ü":5},72]}],"ß":271,"t":[{"e":[{"l":139},3],"i":44,"l":76,"m":77,"o":2,"ö":5,"r":[{"a":39,"i":11}],"s":[{"t":4},2],"t":[{"a":162,"e":[{"x":11}],"i":[{"n":25}],"r":166}],"z":[{"e":[{"r":101}]}]}],"u":[{"b":[{".":74,"e":[{"n":[{"s":387}]}],"r":166,"s":[{"e":10,"t":10}]}],"f":[{"i":[{"n":11}],"n":77,"o":2,"r":[{"i":11}]}],"g":[{"l":4},74],"n":[{".":83},78],"s":[{".":87,"b":94,"c":[{"h":[{"a":24}]}],"d":77,"f":94,"g":77,"l":77,"r":77,"s":94,"z":77},6],"t":[{"o":77,"r":2}]}],"v":[{"a":1,"e":[{"n":10}]}],"w":[{"a":10},74],"x":[{"e":[{"l":6}]},84],"y":72}],"ä":[{"c":0,"h":[{"n":94}],"n":[{"d":74}],"p":[{"f":70}],"q":77,"r":[{"m":[{"a":2,"e":70}],"z":77}],"s":[{"c":196,"s":12}],"t":77,"u":[{"b":77,"c":77,"e":77,"f":74,"g":77}],"x":77}],"à":74,"b":[{"a":[{"c":81,"n":[{"t":72}],"r":[{"i":3}],"u":[{"c":45}]}],"ä":[{"r":[{"m":0}]}],"b":11,"e":[{"i":[{"n":[{"k":131}],"s":[{"e":131}]},5],"r":[{"a":[{"l":11}],"i":[{"n":253}]}],"s":263,"t":[{"a":299}]}],"i":[{"d":103,"n":[{"s":103}]}],"l":[{"a":[{"d":6,"t":79}],"ä":81,"e":[{"d":72},1],"i":[{"c":72}],"o":81,"ö":79,"u":79}],"o":[{"r":[{"a":114}]}],"r":[{"e":[{"a":1}]}],"s":[{"a":1,"e":1,"i":1,"p":1,"t":[{"a":[{"c":23}],"e":[{"i":23},6],"u":45},2]},5],"u":[{"f":103,"m":81,"n":11,"s":[{"s":23}]}],"z":[{"e":[{"i":104}]}]},198],"c":[{"a":81,"h":[{"e":[{"i":88,"n":[{"t":88}],"r":[{"m":[{"a":[{"s":58}]}]}]},81],"i":81,"l":[{"e":4,"i":4,"o":81}],"n":4,"r":4,"s":36,"ü":4,"w":9}],"l":81,"o":81},94],"d":[{"a":[{"b":381,"c":[{"k":1},5],"f":72,"g":2,"h":103,"i":2,"k":103,"l":103,"n":190,"r":[{"m":0}],"s":[{"s":0}],"u":[{"s":54},103]}],"ä":[{"m":81,"r":0,"s":0,"t":0}],"b":[{"u":[{"s":104}]}],"e":[{".":81,"b":[{"e":[{"n":11}]}],"i":[{"n":60},72],"l":[{"f":103}],"m":[{"i":114,"s":103}],"n":[{"a":11,"e":[{"r":[{"g":51}]}],"t":[{"l":88}]}],"r":[{".":81,"f":[{"a":358}],"g":[{"e":[{"b":349}]}],"h":[{"e":279},0],"l":[{"a":[{"s":175,"ß":175}]},79],"n":79,"p":118,"t":[{"r":10}]}],"s":[{"a":4,"e":[{"l":11}],"s":118}],"x":72}],"i":[{"c":2,"d":103,"m":[{"i":121}],"o":[{"n":85}]}],"o":[{"b":2,"n":5,"p":72,"r":[{"i":103},2],"s":5}],"ö":268,"r":[{"a":[{"m":6,"n":72}],"e":72,"i":[{"e":7,"s":124}],"u":6,"ü":[{"c":72}]},1],"s":[{"a":1,"k":[{"a":1}]}],"t":[{"h":1,"s":34,"u":1},11],"u":[{"l":103,"m":103}]},198],"e":[{"a":[{"d":5,"r":1,"s":5}],"b":[{"a":86,"e":[{"n":[{"s":201}]}],"l":5,"r":[{"e":39},78]}],"c":[{"h":[{"a":45,"i":5,"t":[{"e":388}]}]},77],"d":[{"r":5}],"e":[{"r":[{"e":[{"t":11}]},5]}],"f":[{"a":3,"f":94,"o":11}],"g":[{"a":[{"b":20,"s":9}],"ä":5,"l":5,"r":389}],"h":[{"e":[{".":83}],"r":[{"e":36}],"s":83,"t":83},78],"i":[{"b":[{"l":[{"e":11}]}],"d":72,"e":[{"r":[{"e":4}]}],"f":[{"a":[{"n":11}],"e":[{"i":11,"r":[{"g":31}]}]}],"g":[{"l":4},94],"h":[{"a":[{"u":11}]},78],"l":36,"m":[{"p":23}],"n":[{".":87,"b":[{"u":[{"s":183},101]}],"d":[{"u":10},87],"e":[{"r":[{"b":24}]},88],"f":5,"i":5,"k":77,"n":70,"s":[{"a":81}],"t":77,"u":72}],"s":[{"c":[{"h":[{"a":253,"e":[{"i":49}],"o":24}]}],"e":[{"r":[{"n":24}]}],"f":70,"s":[{"e":[{"r":366}],"t":23}],"t":[{"r":11}]},5],"ß":[{"e":[{"r":11}]}],"t":[{"a":2,"o":2,"s":152},72]}],"k":[{"o":78,"t":[{"r":77}],"z":77}],"l":[{"a":87,"e":[{"i":1,"k":77,"m":[{"e":229}],"n":1,"r":[{"s":18},104],"s":1},5],"f":[{".":77,"e":94}],"i":72,"s":4}],"m":[{".":72,"a":[{"l":1,"u":5}],"e":[{"i":20,"s":78,"t":78}],"o":[{"r":5},98],"p":77,"u":[{"n":6},5]}],"n":[{".":88,"a":[{"b":4,"d":32,"n":12,"t":184},9],"ä":5,"d":[{"p":70,"u":[{"n":83,"r":88}]}],"e":[{"d":20,"r":[{"g":83}],"u":[{"r":6,"v":83}]}],"g":[{"a":[{"g":11}]}],"k":[{"a":[{"u":11}],"l":[{"o":25,"u":11}]}],"n":[{"i":70}],"s":[{"e":[{"i":[{"n":24}],"m":249,"r":[{"k":24}]}],"k":[{"a":4}],"z":4}],"t":[{"g":77,"k":94,"l":[{"a":83}],"n":77,"r":[{"o":248}],"w":[{"ä":10,"e":[{"t":181}]},129],"z":77}],"z":[{"y":77}]}],"o":[{"f":2,"s":121}],"p":[{"a":78,"f":78,"i":246,"o":[{"c":83}],"p":[{"i":11}],"r":78},77],"r":[{".":72,"a":[{"g":5,"p":39,"s":127,"u":5},103],"ä":20,"e":[{"b":126,"c":2,"i":[{"g":81,"m":38,"s":12}],"l":5,"n":[{"g":6}],"r":[{"g":6,"s":6}],"t":35}],"f":[{"a":[{"s":129}],"o":94,"r":72,"ü":72}],"g":[{"a":72,"e":[{"f":88,"h":78,"n":[{".":229}],"r":88,"s":88,"w":149}],"i":77,"l":72,"r":[{"o":100},72]},70],"h":[{"e":[{"b":249}],"o":[{"l":83}]}],"i":[{"n":[{"s":18}]}],"k":[{"a":72,"e":77,"l":[{"ä":83,"e":88},70],"o":72,"r":4},22],"l":[{"e":[{"b":[{"e":390}],"i":149}]},4],"m":[{"ä":77}],"n":[{"a":[{"l":11,"r":11},78],"e":[{"i":11},149]}],"ö":94,"r":[{"a":87,"i":[{"c":11}]}],"s":[{".":88,"a":70,"t":[{"o":11}]}],"t":22,"u":[{"p":5}],"w":[{"a":88,"e":[{"r":11}],"o":108}],"z":[{"ä":2,"e":[{"u":81}],"o":2},94]}],"s":[{".":88,"a":[{"m":2}],"e":[{"b":1,"i":45,"l":94},2],"h":56,"i":45,"k":[{"i":11},3],"o":1,"p":[{"o":5}],"t":[{"e":[{"r":[{"i":31}]},15]},53],"u":78,"w":83,"y":77}],"t":[{"a":[{"b":5,"p":80,"t":80}],"h":[{"a":1,"i":77},71],"i":2,"s":[{"c":[{"h":[{"e":172}]}]}],"t":[{"o":209,"r":45,"s":391}]}],"u":[{"e":83,"f":146,"l":94,"n":[{"t":1}],"t":78},5],"v":[{"o":[{"l":71}]}],"x":[{"d":78,"i":[{"k":78,"s":5}]},77],"y":78},74],"é":74,"f":[{"a":[{"h":81,"t":6}],"ä":[{"s":23}],"e":[{"c":103,"e":9,"i":[{"n":[{"h":1}],"s":72}],"n":5,"r":[{"e":[{"i":88,"l":11}],"l":0}]}],"i":81,"l":[{"ä":124,"e":[{"d":1}],"o":[{"s":[{"s":[{"e":[{"s":137}]}]}]}],"ö":6,"u":124}],"r":[{"a":[{"m":1}],"e":[{"s":1}],"u":6,"ü":6}],"s":[{"p":[{"e":5}],"t":[{"i":20}],"u":5}],"u":[{"n":22,"r":45}]},94],"g":[{"a":[{"s":81,"t":4}],"e":[{"n":[{"a":22,"e":104}],"r":[{"ä":[{"u":100}]}],"t":[{"i":72}]}],"i":79,"l":[{"ö":5}],"o":[{"a":23},81],"p":6,"r":[{"a":81,"e":1,"o":[{"s":23},81]}],"s":[{"t":12},5]},94],"h":[{"i":[{".":181}]},243],"i":[{"a":[{"b":2,"d":5,"m":[{".":5,"s":5}],"n":[{"g":22}],"s":[{"t":5}]},115],"b":[{"i":23},389],"c":[{"h":[{"t":[{"a":10,"o":10}]}],"k":83,"l":5},0],"d":[{"a":3,"o":70,"y":72}],"e":[{"b":[{"e":[{"s":201}],"r":2}],"f":[{"e":[{"r":78}],"l":1}],"n":[{"a":296,"e":1,"t":23}],"r":[{"e":[{"i":11}],"n":1},5],"s":[{"c":25,"t":[{"a":11}]}]}],"f":[{"f":[{"e":[{"s":11}],"o":2}],"t":[{"i":4}]}],"g":[{"e":[{"r":[{"s":12}]}],"n":11,"s":22},78],"k":[{"e":[{"r":1}],"o":3,"s":[{"p":2}],"t":[{"a":[{"u":11}],"e":[{"r":11}],"i":2,"o":142}],"u":2}],"l":[{"a":2},1],"m":[{"a":[{"c":45,"t":213},3],"b":94,"m":77,"o":78,"p":77}],"n":[{"a":[{"r":1},2],"d":[{"i":77,"u":94}],"e":[{"f":5,"h":5,"p":5,"r":7,"s":5}],"f":94,"h":94,"i":[{"t":9}],"j":94,"k":[{"a":[{"n":11,"r":11}],"s":22}],"o":[{"l":5}],"s":[{"a":72,"e":[{"l":83}],"p":77,"t":77,"u":77,"z":77}],"t":94,"u":3,"v":94,"z":77}],"o":[{"m":6,"n":[{"s":51}],"s":[{"t":3}]},5],"p":[{"f":78,"t":78}],"s":[{".":78,"a":3,"c":[{"h":[{"m":1,"u":6}]}],"h":[{"i":1},2],"k":78,"l":94,"o":[{"n":78},155],"p":5,"s":10}],"ß":77,"t":[{"a":[{"l":71},11],"ä":3,"e":[{"r":78},170],"h":0,"r":39,"s":[{"e":4,"z":4},98],"u":[{"n":6,"r":5}],"z":[{"e":[{"r":10}]}]}],"u":78,"v":[{"e":[{"a":5,"s":5},2],"i":[{"e":23}],"r":1}],"x":[{"i":77}],"z":[{"ä":12,"e":[{"i":15}]}]},74],"j":129,"k":[{"a":[{"l":[{"e":81,"p":0}],"n":79,"p":81,"r":[{".":81}]}],"e":[{"r":[{"d":0,"e":36}]},81],"l":[{"a":[{"d":1,"s":124}],"i":[{"c":1}],"u":124},5],"m":[{"e":[{"n":5}]}],"n":[{"e":[{"r":7},6],"u":1}],"o":[{"f":[{"e":0},2],"r":[{"b":22}]}],"r":[{"o":[{"c":1}]}],"s":[{"ä":[{"n":1}],"e":[{"t":6}],"i":1,"p":[{"e":6}]},20],"t":2,"ü":5},94],"l":[{"a":[{"b":[{"e":2,"k":72,"t":72,"u":81}],"c":[{"h":[{"t":1}]}],"d":[{"e":2}],"f":[{"f":0}],"g":[{"l":4}],"m":[{"a":2,"i":5},103],"n":[{"b":5,"e":[{"r":11}],"i":88,"s":[{".":81}],"w":[{"a":6}],"z":0}],"p":[{"p":[{"l":131}]}],"r":[{"m":0}],"t":[{"e":[{"r":[{"n":24}]}],"h":72,"m":88,"t":85}],"u":[{"f":[{"g":1,"k":1}],"s":[{"f":88},392]},72],"w":113}],"ä":[{"m":103,"s":81,"u":72}],"b":11,"c":[{"h":10}],"d":16,"e":[{"b":[{"e":[{"n":[{"e":7}]}]},113],"c":[{"h":0},81],"e":[{"r":4}],"f":103,"g":[{"u":2}],"h":[{"e":2}],"i":[{"b":72,"c":0,"m":0,"s":[{"e":131}]}],"l":[{"a":2}],"m":[{"i":103},2],"n":[{".":81,"a":11,"d":[{"l":1,"r":23,"u":[{"n":53},1]}],"t":[{"f":88,"s":88}]}],"p":81,"r":[{".":81,"a":2,"e":[{"i":[{"g":349}]},81],"f":[{"o":10}],"g":[{"e":[{"b":53,"n":[{"e":290}]}],"o":88}],"h":[{"o":1}],"m":[{"i":131}],"n":[{"t":131}],"t":[{"r":1}],"w":[{"e":[{"i":21}]}]}],"s":[{".":81,"e":113},5],"t":[{"h":11}],"u":[{"c":72,"r":[{".":81}]}],"x":[{"e":0}]}],"g":11,"i":[{"e":[{"b":72,"g":72}],"g":[{"a":[{"n":11}]}],"k":81,"l":[{"a":11}],"n":[{"d":103,"f":88,"s":[{"e":[{"n":53}]},0]}],"p":[{"o":72}]}],"k":16,"m":44,"n":3,"o":[{"b":[{"e":72},0],"d":393,"f":114,"g":[{"e":2}],"l":1,"p":[{"e":72,"f":0}],"r":[{"b":175,"g":22,"i":113},0],"t":[{"e":2}],"u":103,"w":81,"x":0}],"ö":[{"g":2,"h":81}],"s":[{"ä":[{"u":5}],"e":[{"s":20}],"k":[{"a":1}],"p":[{"r":5}],"t":[{"o":[{"r":6}]}]}],"t":[{"e":2,"i":[{"m":22},2],"r":11,"s":22},1],"u":[{"d":2,"m":[{"e":113}],"n":[{"g":81}],"p":113,"r":0,"s":[{"t":13}],"t":81}],"ü":[{"c":72,"d":2,"g":113}],"y":81,"z":3},198],"m":[{"a":[{"b":170,"d":103,"g":[{"e":30}],"k":[{"a":0}],"m":114,"n":[{"a":81}],"p":[{"f":0}],"r":[{"t":0}],"t":[{"t":1}]}],"ä":[{"s":[{"t":121},2]}],"c":0,"d":2,"e":[{"d":[{"i":[{"t":16}]}],"f":103,"n":[{"t":72}],"p":114,"r":[{"f":103,"l":103,"z":103},22],"s":[{"s":[{"a":88}]}]}],"i":[{"d":114,"n":[{"d":0,"s":0}]}],"m":1,"o":[{"f":72,"r":[{"c":0}]}],"p":[{"f":10},3],"s":[{"k":3,"t":[{"r":1},2],"z":3}],"t":16,"u":[{"m":72,"n":[{"t":88}]}]},198],"n":[{"a":[{"b":5,"r":[{"e":1},2]}],"e":[{"s":22},79],"i":[{"n":103}],"u":[{"s":22}],"ü":70,"y":70},83],"o":[{"a":[{"k":6}],"b":[{".":78,"a":72,"b":78,"e":[{"s":10}],"j":77,"l":71,"r":[{"i":11},72]}],"c":[{"h":[{"e":[{"l":6}]}]}],"d":[{"r":[{"i":1},78]}],"f":[{"e":[{"n":5},70]}],"g":[{"h":6,"l":5,"o":[{"r":5}],"r":[{"e":5}]}],"h":[{"a":1,"e":3,"r":198}],"i":[{"r":11}],"k":[{"k":129,"r":39,"s":181},78],"l":[{"e":88,"y":165}],"m":[{"ä":23,"i":[{"n":5}]}],"n":[{"e":[{"r":5}],"i":[{"n":6}],"o":20}],"o":5,"p":[{"e":70,"f":77,"p":[{"a":28,"r":2}],"t":77}],"r":[{"a":[{"m":4,"n":2}],"ä":6,"b":181,"c":94,"d":94,"e":[{"n":3}],"g":394,"i":[{"d":[{"i":10}]}],"t":151}],"s":[{".":72,"a":6,"e":78,"k":[{"e":6}],"p":[{"e":5,"r":20}],"t":[{"a":4,"e":[{"l":6,"u":6}],"o":39,"r":277}]}],"ß":[{"u":5}],"t":[{"a":20,"h":[{"a":1}],"i":[{"o":10}],"s":22}],"v":[{"e":5},94],"x":77},74],"ö":[{"b":39,"c":[{"k":77}],"d":77,"f":[{"e":76},5],"g":83,"h":[{"r":94}],"k":77,"l":94,"p":77,"s":[{"c":78}],"ß":83,"z":83},74],"p":[{"a":[{"r":[{"k":167},5]}],"ä":[{"r":115}],"f":5,"h":[{"ä":81,"i":[{"r":72}],"o":0,"r":81},11],"t":11,"u":81},94],"q":94,"r":[{"a":[{"s":[{"s":11}],"u":[{"s":22}]}],"e":[{"b":[{"s":104}]}],"o":[{"h":2}],"ö":[{"s":23},11]},165],"s":[{"a":[{"b":3,"c":81,"d":113,"l":5,"m":[{"b":115,"p":88}],"n":[{"e":1},72],"r":[{"e":81,"i":3,"k":81}],"u":[{"m":10,"r":10},22]}],"ä":[{"m":79,"s":24,"u":[{"g":5,"s":0}]}],"c":[{"h":[{"i":[{"n":88}],"m":[{"ü":88}]}]},5],"e":[{"b":114,"l":[{"e":5,"i":0}],"n":[{"t":72}],"r":[{"f":72,"g":72,"h":72,"k":72,"l":72,"s":72,"w":72},0],"t":[{"a":0},2]}],"h":[{"a":1}],"i":[{"d":103,"m":[{"p":72}]}],"k":[{"a":[{"l":5}],"e":[{"l":[{"e":124}]}],"l":[{"a":88}],"o":88,"y":5}],"o":[{"b":11,"p":72,"r":[{"t":[{".":131}]}],"s":81}],"ö":[{"l":79}],"p":[{"a":[{"c":72}],"e":5,"h":85,"i":[{"r":103}],"o":5,"r":[{"i":81}],"u":[{"l":81,"n":72},5]}],"s":282,"t":[{"a":[{"b":13,"f":5,"s":72,"t":[{".":131,"e":88}],"u":81},2],"ä":[{"t":[{"i":131}]}],"e":[{"r":[{"k":93,"r":131}]}],"i":[{"s":103,"t":72}],"o":[{"c":[{"h":88}],"r":[{".":88,"e":88,"s":88},0]}],"r":[{"ü":103}]}],"u":[{"f":81,"m":0,"n":[{"d":5,"k":1},103]}]},198],"t":[{"a":[{".":81,"b":[{"s":0},72],"g":10,"m":[{"i":81,"p":[{"e":101}]},0],"n":[{".":79,"d":23}],"p":103,"r":[{"a":0,"b":[{"e":[{"i":[{"t":[{"n":27}]}]}]}],"k":81,"t":[{"i":[{"k":53}],"u":81},0]}],"u":[{"f":88,"t":1},0]}],"ä":[{"h":0}],"b":[{"a":[{"u":135}]}],"e":[{"h":0,"i":[{"g":0,"n":0}],"m":[{"i":4}],"n":[{"g":[{"e":[{"l":53}]}],"s":[{"p":10}],"t":[{"l":88,"s":1}]},79],"r":[{"a":[{"l":11}],"f":[{"a":10}],"g":79,"h":[{"e":88}],"k":[{"e":[{"n":53}],"u":10}],"n":[{"ä":10}],"o":2,"ö":5,"s":[{"e":10}]}],"s":[{"k":103,"t":[{"a":4},79]}],"t":[{".":81},5]}],"h":[{"a":[{"g":1,"s":81}],"e":[{"i":131}],"o":[{"l":104}],"u":79},103],"i":[{"d":[{"e":0}],"m":[{"o":18}],"n":[{".":81,"e":81}],"s":[{"o":72}],"t":395}],"o":[{"b":103,"f":114,"r":[{"d":72,"g":72,"i":114}],"w":2}],"ö":[{"l":0,"n":81,"s":0,"t":0}],"r":[{"a":[{"l":23}],"ä":[{"u":1}],"e":[{"c":1,"i":1}],"i":[{"s":1}],"o":[{"c":0,"l":1}],"ö":85,"u":[{"s":85}]}],"s":[{"e":[{"l":35}],"o":[{"r":[{"t":12}]}],"p":[{"e":9,"h":30}],"t":[{"e":[{"c":6}],"i":5}]},88],"t":1,"u":[{"h":0,"m":[{".":5},103],"r":[{"a":[{"n":101}],"e":[{"n":101}],"i":2}]}]},198],"u":[{"a":[{"n":0}],"b":[{"a":22,"s":141},396],"d":[{"r":5}],"e":[{"c":5,"s":5,"t":5}],"f":[{"e":94,"f":77,"o":1,"t":[{"a":45,"e":23,"r":23}]},397],"g":[{"a":20,"e":[{"b":126,"i":5,"n":135}],"i":5,"l":4,"o":5,"r":39,"s":[{"e":4}],"u":5}],"h":94,"i":[{"d":[{".":0}],"g":6,"s":[{".":0}]}],"l":[{"ö":2}],"m":[{"e":10,"f":77,"g":77,"h":70,"k":77,"l":77,"p":[{"e":74,"h":2},72],"r":77,"s":94,"u":1,"w":94,"z":77}],"n":[{"a":94,"d":10,"f":94,"i":94,"r":77,"s":94,"t":77,"w":77},398],"o":83,"p":[{"f":5}],"r":[{"a":[{"n":20,"t":5},72],"e":[{"i":5}],"g":77,"i":[{"s":5},72],"n":70,"o":5,"s":77,"t":70,"u":6}],"s":[{"a":[{"k":1,"n":5}],"e":77,"p":5,"s":[{"a":25,"c":28,"e":[{"l":11,"n":4,"r":399}],"o":28,"p":28,"t":75}],"t":[{"a":5,"ä":5,"e":[{"r":[{"l":21}]}],"o":400,"r":[{"e":23},1]},74],"u":20}],"ß":401,"t":[{"a":[{"u":4},153],"ä":5,"e":[{"g":153,"l":5,"r":[{"g":4,"s":[{"a":19},18]},104]}],"h":[{"y":5}],"o":[{"b":5,"f":126,"p":5,"r":20},77],"r":39,"s":[{"c":[{"h":[{"l":34}]}]}]}]}],"ü":[{"b":[{"d":78},77],"c":[{"k":[{"e":[{"r":100},402]}]}],"d":77,"f":[{"t":[{"e":4}]}],"h":[{"e":[{"l":5}],"l":9}]}],"v":[{"a":4,"l":81,"o":81,"r":1},155],"w":[{"e":[{"i":[{"s":[{"s":18}]}]}]},316],"x":77,"y":[{"a":30,"c":1,"e":[{"s":1}],"l":0,"m":[{"p":77}],"n":[{"o":1},78],"o":0,"s":2,"t":1,"u":0},74],"z":[{"a":[{"c":103,"g":103,"n":72,"p":103,"t":72,"u":[{"s":0}]},2],"ä":[{"p":72,"r":72}],"e":[{"l":[{"e":72},2],"n":[{"t":[{"h":131}]}],"p":103,"r":[{"h":118,"z":72}]}],"i":[{"d":103,"m":[{"i":0},11]}],"l":1,"o":[{"f":2}],"ö":72,"t":3,"u":[{"f":[{"e":134}],"g":[{"s":10}]}],"v":[{"o":[{"l":104}]}],"w":[{"e":[{"c":5}],"u":72},0]},94]}],"m":[{"a":[{".":78,"a":2,"b":[{"a":[{"r":79}],"ä":72,"b":77,"e":72,"f":76,"g":77,"h":77,"k":77,"l":[{"i":72}],"m":77,"r":[{"a":190},5],"s":77,"t":77,"z":77},70],"c":[{"h":[{"a":[{"n":1}],"e":22,"t":[{"e":[{"r":[{"h":27,"s":69}]}],"r":10}]}],"i":5,"k":[{"s":22}],"t":94}],"d":[{"a":[{"m":22}],"ä":72,"e":[{"l":5}],"j":1,"m":94,"r":403,"s":404}],"f":121,"g":[{"a":2,"e":[{".":5,"b":5,"f":5,"g":5,"k":5,"p":5,"s":[{".":6}],"t":5,"v":5,"w":5}],"g":94,"i":[{"e":[{"r":[{".":51,"s":51}]}]}],"l":1,"m":77,"n":16,"o":94}],"h":[{"a":1,"l":[{"s":22}],"o":0}],"i":[{"s":[{"e":25}]}],"k":[{"e":[{".":5}],"t":94}],"l":[{"a":[{"g":2,"k":[{"t":6},9],"n":5,"u":5}],"ä":[{"r":5}],"d":[{"e":108,"i":72}],"e":[{"b":6,"r":2,"x":6},1],"i":[{"e":23},45],"l":[{"o":4,"ö":405,"t":77}],"o":[{"n":5,"p":5}],"p":72,"t":4,"u":[{"t":39},22],"v":78}],"m":[{"i":[{"d":5}],"m":4}],"n":[{"a":[{"l":155,"r":5,"t":406,"u":5}],"ä":94,"b":77,"c":[{"e":2}],"d":407,"e":[{"t":5}],"f":72,"g":[{"a":95,"e":[{"l":88}],"r":94},22],"h":72,"i":[{"p":78}],"l":[{"e":72},77],"n":78,"o":[{"d":77}],"s":[{"a":94,"ä":77,"h":11},4],"t":[{"h":28,"r":77}],"u":[{"t":37}],"w":77,"z":[{"a":70},77]}],"o":[{"r":5}],"p":[{"h":[{"r":5}],"o":5}],"q":0,"r":[{"a":[{"g":83,"n":2},72],"b":76,"g":36,"h":308,"i":3,"k":[{"r":2},72],"o":[{"d":23},270],"r":83,"s":[{"c":[{"h":[{"l":24,"m":24,"r":24}]}],"p":2,"u":2}],"t":[{"i":94}],"u":3,"z":70}],"s":[{"a":16,"e":2,"p":408,"s":[{"e":[{"n":18,"s":[{".":24,"t":24},1],"t":7}],"t":45,"u":3}],"t":[{"i":5},208],"z":6},72],"t":[{"a":[{"b":35,"n":5}],"ä":5,"e":[{"l":79,"r":[{"d":12,"z":12}]}],"m":[{"e":88,"o":77}],"o":[{"r":[{"t":6}]},5],"s":[{"e":4,"p":9}],"t":[{"a":[{"g":15}],"r":10}],"u":[{"r":[{"l":4}]}]}],"u":[{"f":329,"l":78,"n":1,"r":4,"s":77,"t":[{"a":2}]}],"y":[{"o":0},88]},74],"ä":[{"c":78,"h":[{"e":1,"n":94,"r":9}],"n":[{"d":198},78],"o":77,"p":94,"r":[{"k":[{"l":2}],"z":28},9],"t":[{"r":121}],"u":[{"s":[{"c":28}]}]},74],"b":[{"e":[{"e":2,"r":[{"e":22,"i":4,"t":18}]}],"i":[{"e":[{"r":[{".":4}]}]}],"l":[{"e":[{"i":45}]},6],"r":6,"u":[{"s":[{"c":4}]}]},155],"c":[{"h":81},77],"d":[{"a":[{"n":72,"s":114}],"ä":[{"r":0}],"e":[{"a":2,"i":72,"m":[{"i":103},2],"n":[{"t":103}],"r":[{"l":103},22]}],"ö":5,"r":[{"a":[{"s":1}]}],"s":[{"e":3}],"t":11,"u":[{"m":103}]},198],"e":[{"a":[{"n":1,"t":1,"u":22}],"b":[{"e":[{"n":5}],"r":78},11],"c":0,"d":[{"i":[{"e":213}]}],"e":[{"m":30,"n":2,"r":[{"e":[{"i":25}]}]}],"f":[{"f":94}],"g":[{"a":23,"e":[{"l":6}]}],"h":[{"l":[{"e":[{"r":361}]}],"r":[{"e":[{"r":101}]}]},78],"i":[{"f":94,"g":94,"l":204,"n":[{"d":[{"a":10}],"e":[{"r":[{"k":31,"l":24}]}],"u":87}],"s":[{"t":72}]}],"l":[{"a":[{"m":1,"n":[{"t":16}],"u":20}],"b":22,"d":[{"e":[{"i":15}]},36],"e":[{"k":5,"m":77,"r":5,"t":104}],"f":[{".":77}],"k":[{"e":[{"i":25}]},78],"l":[{"i":22}],"o":[{"b":5},78],"s":[{"e":2}],"t":[{"e":[{"r":[{"n":310}]}]},10]}],"m":[{"i":[{"s":155}],"p":94,"u":155}],"n":[{".":72,"a":[{"b":4,"g":[{"e":1}],"n":12,"r":4,"s":6,"u":4}],"d":[{"l":94}],"e":[{"n":135}],"g":[{"a":[{"g":249}],"e":4}],"i":[{"m":5}],"k":65,"o":[{"n":2}],"s":[{"e":[{".":11,"m":[{"b":229},11],"n":11,"r":11,"s":11}],"i":[{"d":18}],"o":2,"t":18}],"t":[{"a":[{"k":25},88],"e":[{"i":[{"g":51},88],"r":[{"s":43}]}],"n":77,"s":[{"p":10}]}]}],"o":[{"u":77},0],"ö":77,"p":[{"a":77,"i":155}],"r":[{".":87,"a":[{"l":23,"s":2},0],"e":[{"b":126,"n":[{"s":6}],"r":[{"r":11,"w":11}]}],"g":[{"ä":[{"n":248}]}],"i":[{"n":[{"d":18,"t":18}]}],"k":[{"l":[{"ä":249}]}],"s":[{"h":88,"m":34,"t":[{"e":[{"l":24}]}]}],"t":[{"r":10}],"z":[{"e":[{"n":[{"g":53}]}]}]}],"s":[{"a":[{"l":5}],"ä":5,"e":[{"r":83},2],"p":[{"o":2}],"s":[{"a":[{"n":23},108],"e":[{"r":[{"g":409}]}],"o":75,"p":2,"t":28}],"t":[{"a":9,"r":5}],"u":1,"z":[{"e":1}]},78],"ß":410,"t":[{"a":1,"h":1,"o":45,"ö":5,"r":[{"i":[{"g":6}]}],"t":[{"e":[{"n":[{"d":411}]}]}]}],"u":9,"x":[{"e":5},94]},74],"é":74,"f":[{"i":[{"l":[{"e":2}]}]},214],"g":[{"a":[{"n":[{"g":18}]}],"l":[{"i":[{"m":104}]}]},246],"h":246,"i":[{"a":[{"b":2,"m":5,"t":94},0],"ä":0,"b":[{"i":45}],"c":[{"e":9,"h":0,"i":5}],"d":[{"a":1,"i":[{".":5}],"r":1,"y":77}],"e":[{"d":[{"r":4}],"l":[{"e":1}],"n":[{"o":12}],"r":[{"e":[{"r":101}]}],"t":[{"i":2,"o":11,"r":2}]}],"f":121,"g":[{"e":78}],"h":1,"k":[{"a":[{"n":9}],"e":[{"l":6,"n":[{"s":6}]},1],"l":16,"u":5}],"l":[{"a":1,"c":[{"h":[{"e":11},135]}],"i":3,"l":[{"e":4}],"u":3,"z":83},78],"m":[{"a":113,"m":94,"p":77}],"n":[{"a":[{"c":2,"k":1,"n":[{"z":[{"e":34}]}]}],"d":[{"e":72,"u":94}],"e":[{"f":5,"r":[{"i":184},135],"u":2}],"f":[{"o":77}],"g":[{"a":2,"s":104}],"h":77,"i":[{"k":213},1],"o":[{"d":1,"f":5}],"s":[{"e":94,"t":70}],"u":1}],"o":[{"n":[{"i":135}]}],"p":0,"r":[{".":78,"i":78,"s":78,"w":78,"z":78}],"s":[{".":78,"a":5,"c":[{"h":[{"a":6,"r":6,"w":260}]}],"e":45,"o":155,"p":[{"a":2,"e":5}],"s":[{"a":[{"r":34}],"e":[{"r":11}],"t":11}],"t":[{"a":5,"r":1}],"u":78}],"ß":20,"t":[{"a":20,"h":20,"o":5,"r":[{"a":1},5],"s":[{"a":34},36],"t":[{"a":4,"e":[{"s":15},36]}],"u":20,"z":83},78],"v":3},74],"j":94,"k":[{"n":81},245],"l":[{"c":1,"e":81,"f":1,"k":1,"o":81,"p":1,"s":1},246],"m":[{"a":[{"a":4,"c":[{"h":[{"s":1}]}],"k":103,"l":103,"n":[{"s":72,"z":0}],"p":[{"p":5},103],"r":[{"t":0}],"s":[{"p":10}],"ß":2,"u":[{"s":0}]}],"ä":[{"u":0},239],"d":2,"e":[{"b":114,"c":2,"f":103,"h":88,"i":[{"n":0,"s":[{"e":1}]},72],"l":[{"a":142,"i":[{"n":11}]}],"n":[{"e":5,"t":[{"e":[{".":53,"n":53}],"l":88,"s":88,"w":88}],"ü":113}],"r":[{"a":166,"e":[{"c":11}],"g":[{"e":[{"b":53}]}]}],"s":[{"a":23,"c":4,"z":11},28],"t":[{"e":239}],"u":103}],"g":[{"a":[{"s":10}]}],"i":[{"e":[{"l":4}],"m":4,"n":[{"b":0,"h":0,"s":103,"t":0}],"s":[{"c":4},5],"t":[{"a":88,"w":34}]}],"o":[{"l":113,"r":72}],"p":[{"f":10},3],"s":[{"a":1,"i":1},2],"t":[{"e":1}],"u":[{"m":72,"n":5,"r":4,"s":72}],"ü":[{"l":22}]},198],"n":[{"e":[{"s":[{"i":88}]}]},165],"o":[{"b":[{"e":155,"i":78,"j":77}],"d":[{"e":1,"r":5},87],"f":[{"e":5},70],"g":[{".":77,"a":[{"l":20}]},78],"h":[{"a":2},87],"i":[{"r":4}],"k":[{"l":20}],"l":[{".":77,"d":4}],"m":[{"e":2},78],"n":[{"a":[{"n":5}],"ä":5,"d":[{"a":[{"c":11}],"e":[{"l":11}],"o":2}],"e":[{"r":5}],"s":36,"t":[{"a":22,"h":4}],"y":0},87],"o":412,"p":[{"e":[{"r":5},110],"f":94,"t":77}],"r":[{"a":[{"n":2},0],"d":[{"a":166,"r":2}],"e":[{"i":5}],"g":4,"t":36}],"s":[{"k":[{"a":6}],"t":[{"e":[{"r":101}],"o":5}]},78],"t":[{"h":3,"r":11}],"u":[{"s":22}],"x":94,"y":0},74],"ö":[{"b":[{"e":22}],"c":5,"f":80,"k":83,"l":94},74],"p":[{"a":[{"n":[{"e":4}]}],"e":[{"l":[{"a":2,"i":[{"n":11}]}],"n":[{"e":103},2]}],"f":[{"e":[{"f":9,"r":[{"f":12,"g":[{"e":274},4],"p":[{"r":21},4],"r":12,"z":38}]}],"l":39,"o":[{"r":9}],"r":5},72],"h":[{"a":[{"f":0}],"o":[{"s":0}]}],"i":[{"n":22}],"l":[{"ä":81,"e":[{"i":1,"m":[{".":131}],"n":85,"s":85}]}],"o":[{"n":81,"r":[{"t":[{"e":[{"r":53}]}]}],"t":22}],"s":[{"h":1},2],"u":81},198],"q":94,"r":139,"s":[{"a":[{"n":72,"s":0,"t":81,"u":[{"e":23}]}],"ä":[{"n":103}],"c":[{"h":22}],"e":[{".":81,"d":114,"f":103,"i":[{"n":72}],"l":[{"e":113}],"n":[{"e":103,"t":72},2],"r":[{"f":0,"h":5}],"t":[{"i":0},2],"u":103,"x":72}],"o":[{"d":114,"r":[{"c":0,"i":0},2]}],"p":[{"ä":72,"e":[{"d":72}],"l":88,"o":[{"r":5,"t":72}],"r":[{"o":72}],"u":5}],"s":123,"t":[{"a":[{"g":88,"l":72}],"i":[{"t":72}]}],"ü":72,"w":88,"z":[{"i":88}]},198],"t":[{"a":[{"b":0,"k":0,"m":2,"r":0,"u":[{"g":1}]}],"e":[{"d":114,"i":[{".":81,"n":0,"s":0}],"l":[{"t":0}],"m":[{"i":0}],"n":[{"g":[{"a":88,"l":131}],"t":[{"f":88,"g":88,"r":358,"s":88}]}],"r":[{"b":103,"e":[{"i":131}],"f":103,"g":103,"h":0,"i":413,"k":103,"l":103,"n":10,"s":103,"t":103},22],"t":[{"a":72}],"u":103,"v":103}],"h":[{"o":1},103],"i":[{"d":114,"m":72,"n":103,"r":114,"s":2}],"m":[{"e":[{"n":104}]}],"o":[{"b":0,"p":0}],"ö":[{"l":103,"s":0}],"r":[{"a":[{"s":120}],"o":85,"ö":72}],"s":[{"a":5,"c":[{"h":[{"i":4}],"o":1}],"e":[{"n":[{"d":1}]},20],"k":[{"a":3,"e":[{"l":16}]}],"t":[{"ä":[{"t":4}]}]},88],"t":11,"u":[{"m":0,"r":[{"e":4}]}],"z":1},198],"u":[{"a":0,"h":94,"l":[{"a":1,"d":78,"t":78}],"m":[{"i":78,"s":[{"p":28},70]}],"n":[{"d":[{"a":[{"n":101}],"e":[{"r":[{"f":24}]}]}],"e":[{"r":414}],"f":198,"g":[{"e":[{"b":129}]}],"i":[{"n":6,"v":415},1],"w":83,"z":83},78],"r":[{"u":[{"f":251}]}],"s":[{".":78,"a":37,"c":78,"o":20,"p":5,"s":[{"e":[{".":16,"s":16}],"t":[{"e":11}]}],"t":[{"e":10,"o":20,"r":5}],"u":5}],"ß":[{"e":23}],"t":[{"a":[{"u":9}],"s":[{"t":2}]}]},74],"ü":[{"b":77,"h":[{"e":[{"r":5}],"l":[{"a":45}]},78],"l":[{"l":[{"e":[{"n":11}]}]}],"n":78,"s":[{"s":[{"i":3}]}],"t":78},74],"v":[{"o":[{"l":[{"l":135}]}]},94],"w":[{"a":[{"r":11},2],"e":[{"g":22,"l":[{"t":120}]}],"u":9},155],"y":[{"a":[{"l":0}]},78],"z":[{"e":[{"l":[{"l":[{"i":10}]}]}],"u":[{"g":10},9]},155]}],"n":[{"a":[{".":78,"b":[{"a":78,"ä":5,"h":81,"i":78,"k":81,"l":39,"o":[{"r":5}],"r":[{"ü":11},5],"s":416,"u":[{"s":5}]},94],"c":[{".":88,"h":[{"e":[{"n":[{".":7},101]}],"s":[{"e":81,"p":23}],"t":[{"e":[{"r":[{"s":[{"c":69}]}]}],"r":[{"a":[{"u":[{"m":52}]}]}]}]},45]},225],"d":[{"a":[{"b":1},70],"e":[{".":1,"l":135,"n":1,"r":5},78],"l":198,"m":129,"r":71}],"e":86,"f":[{"r":[{"a":0}]},94],"g":[{"a":2,"e":[{".":1,"m":5}],"g":198,"i":[{"n":1},71],"r":16}],"h":[{"a":20,"m":88,"n":129,"o":416},87],"i":[{"e":2,"g":70,"r":[{"e":11},129],"s":72},78],"k":[{"ä":78,"o":78,"r":[{"o":5}],"t":83},94],"l":[{".":72,"a":[{"m":4,"r":6},126],"ä":5,"b":[{"k":94}],"d":[{"a":4},72],"e":[{"i":4,"n":[{"t":12}],"r":[{"e":[{"i":21}],"g":41,"m":6,"w":12}],"s":104,"t":9,"x":9}],"g":22,"i":[{"d":5}],"l":[{"a":4}],"o":[{"p":5}],"p":[{"h":2}],"s":[{".":72},4],"t":[{"y":72},36],"u":5,"y":77}],"m":[{".":72,"a":[{"t":5}],"e":[{".":1,"i":200,"n":131,"r":246},78],"i":[{"d":5,"n":5}],"n":16,"o":87,"p":70,"s":[{"p":2}],"t":[{"s":10},94],"y":6}],"n":[{"a":[{"t":6},234],"ä":79,"b":129,"d":211,"e":[{"u":9}],"f":129,"g":129,"h":83,"i":77,"k":129,"l":129,"n":[{"a":129},87],"o":[{"b":166},83],"p":129,"r":77,"s":129,"t":[{"r":77}],"w":77,"z":[{".":72,"e":[{"n":[{"e":24,"g":24},101],"r":101}]}]},70],"o":[{"t":1}],"p":[{"e":[{"r":5}],"f":[{"e":[{"l":83},70]}],"r":79}],"q":70,"r":[{".":181,"a":20,"c":77,"d":72,"e":[{".":88},72],"i":78,"k":72,"l":[{"e":72}],"m":77,"o":[{"m":5},72],"r":72,"s":72,"t":[{"a":72,"h":72},77],"u":3},70],"s":[{".":88,"c":[{"h":[{"w":6}]}],"p":246,"s":[{"c":28,"i":198}],"t":[{"r":5}],"y":[{"l":104},200]},78],"ß":78,"t":[{".":88,"a":[{"u":4}],"e":[{"i":9,"n":1}],"h":268,"m":83,"o":[{"m":83,"r":181},2],"r":9,"s":[{"a":11,"e":45}],"u":1},78],"u":[{"f":[{"f":[{"r":10}],"r":2}],"i":181,"l":87,"s":[{"b":83,"d":83,"f":83,"g":83,"l":83,"o":72,"r":83,"s":129,"w":83,"z":83}],"t":[{"e":4}]},70],"v":[{"e":10,"i":[{"e":[{"r":[{".":51,"s":51}]}]}]},78]},74],"ä":[{"b":77,"c":149,"e":78,"f":94,"g":78,"h":[{"i":5,"m":78,"n":94,"u":5}],"m":155,"n":94,"p":77,"q":77,"s":[{"c":5,"s":417}],"u":[{"m":308},77]},74],"b":[{"e":[{"i":[{"n":2}],"r":[{"e":22}]}],"u":[{"s":4}],"y":2},139],"c":[{"a":[{"b":85,"n":81}],"e":[{"n":276,"s":[{".":81}]}],"h":[{"l":81,"m":4}],"o":[{"r":22}],"r":81,"u":81},94],"d":[{"a":[{"f":9,"g":5,"i":81,"k":103,"n":[{"a":72,"i":72,"z":72}],"r":[{"r":0}],"t":[{"t":1},81],"u":[{"t":72},0],"x":72}],"ä":[{"n":[{"g":0}]}],"c":0,"e":[{"a":[{"l":[{".":11}]}],"d":[{"e":103}],"e":81,"i":72,"l":[{"f":[{"e":1}],"l":23,"s":[{"a":10,"e":[{"n":50}]}]}],"m":[{"o":[{"t":11}]}],"n":[{"s":[{"k":23}],"t":[{"l":88,"s":88}]}],"o":36,"r":[{".":143,"e":[{"n":143}],"h":5,"i":143,"l":[{"ä":[{"s":53}]}],"o":[{"b":11,"s":285}],"s":[{"a":[{"t":349}]}]}],"s":[{"e":2,"s":23},79]}],"i":[{"a":166,"m":[{"m":0}]}],"o":[{"f":72,"n":[{"a":25}],"p":[{"t":72}],"r":[{"i":113},0],"t":[{"t":85}]}],"ö":[{"s":5},72],"r":[{"a":[{"m":6,"t":85,"u":1}],"e":85,"i":[{"f":72}],"o":[{"c":85,"d":72}],"ö":85,"u":[{"i":72,"n":85}]}],"s":[{"e":[{"n":[{"e":6}]}],"p":[{"r":5}]}],"t":[{"h":1,"r":11}],"u":[{"n":[{"s":72}]}],"w":[{"a":[{"r":[{"e":51}]}]}],"y":[{"s":[{"p":22}]},4]},94],"e":[{".":78,"a":[{"p":5,"s":389,"t":1,"u":1}],"b":[{"e":[{"n":[{"e":129}]}],"l":5,"n":94,"r":11}],"c":[{"a":78,"e":78,"h":5,"k":[{"a":22}]},77],"d":[{"i":[{"t":5}]}],"e":[{"i":[{"n":1,"s":1},22],"m":[{"a":18}],"n":22,"r":[{"e":22},9]},77],"f":[{".":72,"a":170,"r":77},70],"g":[{"g":94,"l":11,"o":71,"r":11}],"h":[{"e":[{".":80,"m":77,"n":418,"r":22},70],"m":78,"r":129}],"i":[{"a":78,"c":83,"d":[{"e":[{"i":11}],"r":11}],"e":[{"r":83}],"g":[{"t":78,"u":78}],"l":[{"a":11}],"n":[{"g":83,"h":83,"k":83,"l":83,"z":83}],"p":83,"s":[{"s":18}]},94],"k":[{"e":5,"s":94,"t":36,"z":77}],"l":[{"a":5,"b":4,"e":[{"k":83,"m":83,"n":1,"x":1},71],"i":[{"d":1,"t":5},2],"k":78,"l":[{"a":68,"e":[{"i":11,"r":[{"f":31}]}],"i":[{"f":11}]},72],"o":208,"u":78}],"m":[{".":87,"a":[{"s":1}],"b":198,"p":129,"s":94,"u":83}],"n":[{".":88,"a":[{"m":11,"n":6},174],"ä":5,"b":72,"c":72,"d":[{"a":[{"r":11}],"b":198,"d":198,"f":198,"g":70,"h":198,"k":198,"l":70,"p":198,"t":198,"w":198}],"e":[{"b":22,"i":4,"m":10,"n":[{"e":6},135],"r":[{"b":4}],"u":39}],"f":72,"g":[{"b":198,"e":[{"n":11}],"s":198,"t":198,"u":[{"n":11},70]}],"h":72,"i":12,"j":72,"k":96,"m":72,"n":[{"a":[{"r":11}]}],"o":127,"s":[{"e":65,"k":4,"p":36}],"t":[{"a":419,"b":198,"d":83,"f":83,"i":130,"l":198,"n":83,"o":4,"r":181,"s":198,"w":129,"z":83}],"u":12,"v":72,"w":72,"z":[{"e":[{"r":10}]}]},78],"o":[{"b":39,"h":5,"r":5}],"p":[{"e":[{"n":5}],"f":77,"i":80,"o":[{"s":5},77],"t":10}],"r":[{".":88,"a":[{"b":5,"c":5,"f":39,"g":5,"l":16,"m":5,"n":5,"p":39,"t":[{"i":[{"o":21}],"o":1},72],"u":5},0],"b":[{"a":96,"e":[{".":129,"n":129}]}],"d":[{"b":77,"i":[{"g":11}]}],"e":[{"b":126,"c":5}],"f":[{"a":[{"s":83}],"r":78,"ü":77},70],"g":[{"r":78},420],"h":[{"ö":129},70],"i":78,"j":72,"k":[{"a":181,"ö":72},70],"l":[{"i":72,"ö":94}],"m":[{"a":[{"s":101},15],"i":70}],"n":[{"ä":94,"e":[{"u":129}],"t":94}],"o":[{"s":70}],"ö":[{"f":70,"s":0}],"s":[{".":72,"a":94,"e":78,"k":11,"t":[{"s":129}]}],"t":[{".":78},10],"u":[{"p":5}],"v":87,"w":[{"a":[{"r":83}]}],"z":94}],"s":[{".":72,"a":[{"l":5}],"e":[{"i":5,"v":20}],"h":107,"k":[{"a":1}],"o":[{"f":20,"r":20}],"p":[{"a":20}],"s":[{"i":421}],"t":[{"r":422}],"y":[{"n":83}]}],"ß":87,"t":[{"a":[{"b":5,"g":80,"k":9,"n":20,"p":80,"t":80,"u":5}],"e":[{"l":32}],"h":[{"a":4},5],"i":[{"n":6},1],"o":[{"b":6}],"s":98,"t":[{"a":4,"e":4,"r":4},72],"u":155,"z":[{"e":[{"r":11}],"i":28}]}],"u":[{"c":9,"e":[{"r":[{"e":11,"f":18,"k":18,"r":18,"s":18,"w":18}]}],"g":65,"p":94,"r":[{"a":2},22],"t":4},5],"v":[{"i":87}],"w":[{"a":1},72],"x":[{"i":5},94],"y":181,"z":78},74],"é":78,"f":[{"a":[{"l":[{"t":104},79],"n":[{"g":79}],"r":6}],"ä":[{"s":23},79],"e":[{"i":2,"n":79,"r":79,"s":5,"x":88}],"f":11,"i":[{"l":[{"e":[{".":11}]}]},81],"l":[{"e":6}],"o":5,"r":6,"s":3,"t":[{"a":[{"n":5}],"e":[{"i":1}],"r":39,"s":[{"t":[{"e":11},2]}]}],"u":103},94],"g":[{"a":[{"b":[{"e":81,"t":0}],"c":103,"d":103,"k":103,"m":[{"e":30}],"n":[{"d":[{"a":1}],"g":[{"s":[{"t":13}]}],"h":72,"l":88,"t":0}],"r":[{"e":0,"s":79}],"v":114}],"ä":[{"l":103}],"d":16,"e":[{"i":[{"f":103,"n":103}],"l":[{"b":18,"e":[{"i":65}]}],"n":[{"e":[{"r":[{"w":34}]},143],"m":[{"a":[{"s":172}]}],"s":152},124],"r":[{"a":[{"m":11}],"g":103,"z":[{"ä":10}]}],"s":[{"a":36},124]}],"h":[{"u":1}],"i":[{"d":103}],"l":[{"a":[{"d":5}],"ä":[{"s":5}],"i":[{"c":72}],"o":[{"k":6,"t":81}]}],"m":[{"a":[{"s":[{"s":[{"e":[{".":137}]}]}]}]}],"n":[{"e":1,"i":131,"o":[{"m":6}],"u":5},72],"o":[{"b":5,"p":103,"r":[{"i":2},103]}],"ö":72,"r":[{"a":[{"i":85,"n":6,"t":85}],"o":[{"c":1,"s":[{"t":1},23]}]}],"s":[{"a":[{"n":4,"u":12}],"c":[{"h":[{"r":7}]}],"e":[{"h":184}],"p":[{"a":[{"r":6},4]}],"t":[{"e":[{"c":6}]}]},20],"t":[{"s":1}],"u":[{"m":72}],"z":[{"e":[{"i":[{"t":18}]}]}]},198],"h":[{"e":[{"r":2}]},243],"i":[{"a":[{"l":[{"o":1}],"r":5},87],"b":[{"b":10}],"c":[{"e":0},11],"d":[{".":87,"a":1,"e":[{"a":77},5],"r":1,"y":76},70],"e":[{"b":4,"l":[{"a":36},0],"n":[{"e":1,"i":1},11],"r":[{"e":[{"i":11}],"n":[{"a":6}]}],"s":[{"a":11,"s":[{"e":34}]}],"u":5},72],"f":[{"l":0}],"g":[{"a":[{"b":20,"m":20,"n":20},22],"e":[{"l":243,"n":88,"t":77}],"l":[{"i":4},6],"n":5,"s":[{"p":11}]}],"h":[{"i":23}],"k":[{"a":[{"r":5}],"e":[{"l":5,"r":[{"h":1}]},78],"i":[{"n":[{"g":4}]},5],"o":[{"r":5}],"r":39,"t":65}],"l":[{"a":3,"i":3,"l":4},87],"m":[{"p":83}],"n":[{".":78,"a":[{"c":2,"l":5},87],"b":87,"d":94,"f":77,"g":[{"s":10},87],"h":94,"k":423,"o":[{"r":5},78],"p":87,"s":[{"e":83,"u":83},94],"t":198,"u":1,"v":198,"w":87},9],"o":[{"b":5,"k":1,"r":[{"a":1}]}],"p":72,"r":[{"o":[{"n":6}],"r":70}],"s":[{"a":[{"m":6,"n":5}],"ä":5,"c":[{"h":[{"a":4,"w":6}]}],"e":[{".":1,"l":4},20],"o":[{"l":129,"m":5,"t":83}],"p":[{"i":1},5],"s":61,"t":[{"h":[{"a":4}],"u":[{"n":1},5]}],"u":20},87],"t":[{"a":78,"h":0,"i":[{"a":415},5],"o":2,"r":78,"s":4,"t":[{"e":[{"c":11,"l":[{"l":24}],"r":[{"g":409,"k":411}]}],"i":[{"e":11}],"r":[{"a":11}],"s":[{"a":10}]}]},77],"u":78,"v":2,"x":78},74],"j":94,"k":[{"a":[{"b":[{"r":0}],"c":103,"g":[{"e":2}],"l":[{"g":88},81],"n":[{"g":0}],"p":[{"f":0}],"r":[{"t":[{".":1}]}],"s":[{"c":4}],"t":[{"m":72,"o":72}],"u":[{"s":0,"t":72}]}],"ä":[{"h":103,"p":103}],"e":[{"i":[{"l":5},0],"l":[{"e":[{"i":11,"m":88}],"m":[{"a":[{"s":172},100]}]}],"n":[{"a":11,"t":[{"e":10}]}],"r":[{"l":[{"e":131}],"o":[{"s":11}],"s":[{"a":1}]}],"s":[{"c":81}],"t":[{"i":0,"u":72},2]}],"i":[{"d":[{"e":72},30],"n":[{"h":0,"s":103}]}],"l":[{"a":[{"d":[{"e":88}],"g":81}],"e":[{"i":[{"s":1}],"n":85,"s":1}],"i":[{"n":81}],"o":5}],"n":[{"e":[{"b":6}],"i":[{"s":72,"t":72}],"u":72}],"o":[{"b":[{"e":134}],"p":[{"e":0,"t":72}],"r":[{"d":104,"i":0,"t":103},2]}],"ö":[{"l":72}],"r":[{"a":[{"b":6}],"ä":[{"t":1}],"e":[{".":88,"l":85,"n":72,"p":1,"z":72}],"o":[{"l":72},1]}],"s":[{"a":[{"l":5}],"e":[{"n":1},5],"o":5,"t":[{"i":2}],"z":3}],"t":[{"a":[{"k":5}],"e":[{"r":[{"g":6,"n":12}],"s":[{"k":23}],"t":2}],"i":[{"n":5,"t":9}],"o":[{"p":5}],"r":[{"i":[{"c":4}],"o":5,"u":5},9],"s":[{"e":[{"n":11}]}]}],"u":[{"m":103,"n":2,"r":[{"h":0}]}],"ü":[{"b":72}]},198],"l":[{"a":[{"g":[{"e":4}]}],"e":[{"g":[{"a":2}]}],"i":[{"n":[{"e":11}]}]},165],"m":[{"a":81,"ä":81,"e":[{"n":[{"s":22}]}],"i":143},155],"n":[{"a":[{"d":[{"a":72}],"g":2,"l":[{"g":72,"l":103}],"m":4,"n":72,"s":[{"t":4}],"u":72}],"ä":81,"e":[{"c":81,"i":[{".":5}],"l":[{"b":81,"e":11}],"n":[{"a":11,"s":5}],"r":[{"e":[{"i":[{"g":351},10]}],"f":[{"ü":10}],"g":[{"e":[{"b":53}],"r":6}],"h":5,"k":5,"l":[{"a":10}],"o":5,"ö":424,"w":[{"a":[{"r":53},1]}],"z":22}],"s":[{"e":75,"s":72}],"u":5,"x":5}],"f":1,"g":11,"i":81,"k":2,"o":[{"b":[{"l":1,"s":1},39],"f":72,"p":103,"r":[{"i":0},2]}],"s":[{"a":[{"m":6}],"e":[{"r":1}],"p":3,"t":[{"a":[{"t":4}],"o":[{"c":6}],"ö":5},10]}],"t":[{"a":3,"h":5}],"u":[{"f":103,"n":[{"f":103}],"r":0}]},198],"o":[{".":78,"a":[{"t":7}],"b":[{"a":87,"e":[{"l":72}],"j":77,"l":[{"a":5,"e":72,"o":78,"ö":78}],"s":94,"u":[{"t":15},22],"y":78}],"c":[{"h":[{"e":18,"r":10}]},0],"d":[{"e":5},77],"e":[{"d":5}],"f":[{"e":5,"f":77},70],"h":[{"e":87},94],"k":[{"e":[{"l":5}],"k":76,"r":1}],"l":[{"e":[{"u":5},81],"i":[{"g":6,"v":5}],"y":165}],"m":[{"e":425,"i":1,"p":78}],"n":[{"e":2,"k":70,"t":70,"y":77}],"o":5,"p":[{"a":87,"ä":78,"e":[{"r":5}],"i":155,"s":94,"t":[{"e":3}]}],"r":[{".":78,"a":[{"d":5,"k":85,"l":1,"r":1},2],"c":77,"d":[{"a":11,"b":78,"e":[{"s":11}],"r":379}],"e":3,"g":94,"h":78,"l":87,"m":[{"a":[{"l":4},22]},78],"ö":78,"s":78,"t":94}],"s":[{".":87,"e":28,"h":1,"k":44,"p":5,"t":[{"i":77,"r":45,"v":77}],"u":2}],"t":[{"a":[{"n":5,"r":[{"t":1}]}],"ä":5,"e":[{"i":98,"n":[{"t":[{"r":19}]}],"r":[{"b":100},414],"x":5}],"h":[{"o":5},9],"i":[{"n":39}],"o":[{"p":39}],"r":39,"t":[{"r":4}]}],"v":78,"x":155,"z":78},74],"ö":[{"d":77,"f":200,"k":198,"l":198,"r":72,"s":[{"s":12}],"t":84}],"p":[{"a":[{"g":[{"e":2}]}],"f":11,"s":[{"y":23}]},316],"q":94,"r":[{"a":[{"n":22,"s":[{"s":25}],"u":[{"m":[{"a":10}]}]}],"ä":[{"u":[{"s":23}]}],"e":[{"b":[{"e":104}],"s":[{"z":4}]}],"o":[{"h":2}],"ö":[{"s":2}],"ü":[{"c":[{"k":[{"e":[{"r":172}]}]}]}]},426],"s":[{"a":[{"b":[{"o":81}],"d":113,"g":[{"i":299}],"l":[{"l":72,"t":72}],"n":[{"e":1}],"r":[{"g":5,"i":1,"k":81},2],"s":11,"t":[{"h":6}],"u":[{"r":10,"s":[{"e":10}],"t":72}],"v":5,"x":5}],"ä":[{"n":103,"u":[{"g":5,"s":103}]}],"c":[{"h":[{"e":[{".":81,"f":88,"u":[{"l":51}]}],"l":[{".":88}],"o":22,"t":18,"u":81,"w":[{"e":[{"r":[{"d":137}]}]}]}],"r":5}],"e":[{"b":0,"e":[{"i":[{"n":11}]}],"h":[{"a":209,"e":[{"r":[{"e":51}]}]},5],"i":[{"n":[{"f":88}]}],"l":[{"e":[{"m":1},5]}],"m":[{".":72}],"n":[{"s":[{"p":10}]}],"p":[{"o":72}],"r":[{"f":103,"g":103,"h":72,"i":81,"k":0,"l":[{"e":88},0],"n":[{"e":131}],"ö":72,"s":[{"c":88},0],"t":[{"r":1}],"w":103,"z":72}],"t":[{"y":88}],"u":103}],"f":[{"i":[{"l":22}]}],"h":[{"o":[{"r":1}]}],"i":[{"d":[{"e":[{"n":1}]}],"m":[{"p":175},143],"n":[{"i":72,"n":104}],"t":[{"e":2,"r":2}]}],"k":[{"a":[{"l":79}],"e":[{"l":79}],"i":[{"s":5}],"l":[{"e":81}],"y":79}],"m":[{"a":[{"r":[{"a":143}]}]}],"o":[{"d":114,"f":[{"f":72},0],"m":6,"n":[{"t":131}],"p":72,"r":[{"t":[{".":131}]}]}],"p":[{"a":[{"c":5}],"e":[{"k":5,"l":5,"n":144,"r":[{"i":88}]}],"h":72,"i":[{"e":143},5],"o":72,"r":[{"ä":72,"i":[{"e":131}],"o":72}],"u":[{"t":72}]},11],"s":3,"t":[{"a":[{"k":9,"l":[{"e":88}],"n":[{"e":4},427],"r":6,"s":72,"t":[{".":131,"e":[{"n":175}],"s":88}],"u":5}],"e":[{".":332,"i":[{"f":[{"e":34},88],"n":[{"h":[{"e":263}]}]}],"m":[{".":6}],"n":[{".":6,"t":88}],"r":[{".":6,"g":[{"e":34}]}],"s":[{".":6}],"u":143}],"i":[{"c":332,"l":[{"g":88}]}],"o":[{"b":72,"l":[{"e":88}],"p":[{"f":[{"e":34}]}],"r":5}],"r":[{"a":[{"c":88,"d":88}],"i":[{"e":[{"b":175}],"k":88}],"u":[{"n":6}]}],"u":[{"m":5,"t":36}]}],"u":[{"f":81,"m":5,"n":[{"g":5},0],"r":[{"s":103}],"t":72}],"y":81,"z":[{"i":[{"n":5}]}]},198],"t":[{"a":[{"c":395,"k":[{"t":[{"a":10}]}],"l":[{"a":45,"i":[{"n":11}],"l":115,"o":2,"p":5}],"m":157,"n":[{"b":5,"e":4,"g":0,"s":[{"p":88}],"t":0,"z":[{"a":88}]}],"r":[{"b":79,"k":0,"m":79,"t":[{"i":[{"k":53}],"u":1},0]}],"s":[{"s":103}],"t":[{"h":72,"l":81}],"u":[{"f":72}]}],"ä":[{"m":0,"u":103}],"e":[{"a":[{"u":4}],"e":9,"g":428,"h":[{"e":81},103],"i":[{"g":72,"n":0,"s":103}],"m":[{"o":0}],"n":[{"a":11,"t":[{"e":[{".":53}]}]},6],"r":[{"a":18,"e":[{"i":[{"s":43}]}],"h":6,"k":6,"m":6,"n":[{"e":18},6],"s":6,"t":6}],"s":[{"a":4,"s":103,"t":[{"r":[{"i":175}]}]},22],"t":[{"a":113}],"u":[{"e":[{"r":[{"i":53}]}]},23],"v":4}],"h":[{"e":[{"l":0}],"i":[{"e":0}],"o":[{"t":72}],"r":81,"u":[{"m":429},6],"y":6}],"i":[{"m":[{"p":23}],"n":[{"d":85,"f":1,"h":1,"i":135}]},5],"l":[{"e":[{"m":124}]}],"m":[{"e":[{"n":104}],"o":10}],"n":[{"i":[{"s":135},22]}],"o":[{"r":[{"e":4,"g":72,"i":[{"e":123}]}]}],"ö":[{"l":103}],"r":[{"a":[{"l":6,"s":[{"s":15}],"u":[{"m":6},0]}],"e":[{"a":1,"c":1,"e":124,"i":[{"f":1}],"p":[{"r":6},81]}],"i":[{"c":[{"h":1}],"e":[{"g":131}]}],"o":[{"h":72,"p":81}],"ü":85}],"s":[{"a":[{"h":2}],"p":[{"a":[{"r":4}],"e":7},2],"t":[{"i":2}],"u":[{"r":5}]},115],"t":[{"ü":23},2],"u":[{"r":[{"e":[{".":11}]}]}],"z":1},94],"u":[{"a":[{"r":226},308],"b":[{"i":45}],"c":77,"d":[{"e":22}],"e":[{"s":5},78],"f":[{"e":5}],"h":[{"i":78},94],"i":78,"k":[{"l":1,"r":79},239],"l":[{"l":[{"e":[{"b":23}],"i":[{"n":11}]}]}],"m":[{".":72,"b":76,"e":72,"f":77,"g":77,"l":77,"m":87,"r":83,"s":94,"v":94,"z":76}],"n":[{"a":77,"e":94,"g":[{"l":129},87],"i":198,"k":81,"r":77,"t":77,"v":77,"w":77},6],"o":78,"p":77,"r":[{"i":2,"s":22,"z":2},80],"s":[{"c":1,"e":1,"i":6,"p":9,"s":[{"e":[{"r":217}]},6],"t":37},225],"ß":20,"t":[{"a":20,"o":[{"p":5},81],"r":39},78],"u":78,"x":78,"z":78},74],"ü":[{"b":348,"r":[{"c":9}],"t":74}],"v":[{"e":[{"r":81}],"l":81,"o":[{"r":[{"a":[{"n":101}]}]}]},155],"w":[{"e":[{"i":[{"s":[{"t":10}]}]}]},76],"y":[{".":74,"a":[{".":72},94],"h":74,"o":70,"r":74,"s":74,"w":74}],"z":[{"a":[{"c":72,"g":114,"k":170,"n":[{"e":16,"i":81},72],"r":72,"s":11,"t":72,"u":103}],"ä":[{"n":72,"r":72}],"e":[{"l":[{"a":11,"l":[{"i":[{"g":53}]},23]}],"n":[{"e":[{"r":[{"g":175}]}],"i":81,"s":[{"e":88}],"t":[{"l":88,"s":88}]}],"r":[{"e":[{"m":1}],"h":103,"l":[{"ö":10},0],"r":144,"s":[{"t":[{"e":7}]}],"t":[{"r":[{"a":53}]}]}],"s":[{"k":4},124],"t":[{"a":0},2],"u":[{"t":36}]}],"i":[{"d":103,"g":[{"a":2}],"n":[{"h":72,"i":103,"t":0,"v":0}]}],"l":[{"e":[{"i":15},1]}],"o":[{"p":103}],"ö":[{"l":72}],"t":[{"r":11}],"u":[{"g":[{"s":22}]}],"w":[{"a":103,"ä":103,"e":[{"t":72}],"i":[{"r":72}],"ö":72,"u":103}]},198]}],"ñ":[{"o":[{"r":2},0]}],"o":[{"a":[{"b":[{"i":131}],"c":[{"h":[{"e":1,"i":1}]},88],"d":[{"e":1},88],"i":[{"n":1}],"k":[{"e":131,"l":34}],"l":[{"a":131}],"m":[{"i":131}],"n":[{"a":11},6],"q":131,"r":215,"s":[{"e":78,"i":6,"p":6,"s":143},85],"t":[{"e":1},88],"u":143},165],"ä":155,"b":[{".":77,"a":[{"l":[{"l":23},79],"m":5,"r":5,"u":[{"f":0}]}],"ä":165,"b":77,"e":[{".":77,"a":77,"c":76,"f":77,"i":[{"n":85}],"n":[{"a":11,"d":213},77],"r":[{".":76,"e":[{"i":[{"s":51}]}],"i":[{"n":[{"g":31},23],"s":11}]},84],"v":77,"z":77},5],"i":165,"j":78,"l":[{"a":0,"e":[{"i":1}],"i":148,"o":77,"ö":80,"u":5}],"o":[{"r":0},77],"ö":77,"r":[{"e":[{"i":1}],"ü":77}],"s":[{"h":1,"k":1},173],"u":[{"n":[{"t":88}],"s":[{"s":23}]},76],"ü":[{"b":88},76],"y":77},70],"c":[{"a":81,"c":[{"l":78},0],"e":70,"h":[{"a":[{"b":22,"r":22},9],"e":[{"b":10,"c":328,"h":9,"i":9,"l":22,"r":[{"k":18}]},70],"i":[{"d":10}],"l":4,"m":4,"o":9,"ö":[{"f":22}],"r":4,"t":10,"u":[{"f":22,"t":36},70],"w":9}],"i":81,"k":[{"e":[{"r":[{"s":[{"c":275}]}]}],"s":[{"z":4}],"t":[{"a":4}]},6],"l":70,"o":81},77],"ç":70,"d":[{"a":[{"k":1},80],"d":[{"r":5}],"e":[{"c":258,"i":[{"n":15},395],"l":[{"a":[{"g":25}]}],"n":28,"s":[{"e":28,"p":4}],"t":5,"x":81}],"i":[{"a":76,"c":95,"f":77,"r":76},5],"n":77,"o":[{"n":72,"p":103,"s":11}],"ö":5,"r":[{"e":72},77],"t":11,"u":77,"y":[{"m":2},81]},70],"e":[{"b":6,"d":[{"i":1}],"m":6,"n":[{"e":9}],"r":[{"i":1}],"s":[{"c":6},85],"t":[{".":81,"s":81},170]},155],"f":[{"a":[{"d":30,"g":30,"n":5,"u":0},77],"ä":77,"e":[{"b":114,"c":103,"e":77,"i":103,"m":77,"n":[{"t":72}],"r":[{"b":88},76],"s":165,"t":114,"u":[{"n":1},77]}],"f":[{"a":[{"l":6,"m":6},127],"e":[{"r":[{"z":4}]}],"i":[{"n":20,"r":5,"x":5,"z":74}],"l":39,"o":5,"r":39,"s":[{"h":4,"i":4,"p":4},22],"u":5,"ü":5}],"i":[{"e":[{"i":36}],"k":[{"l":65}]},77],"l":[{"e":1,"i":1,"ö":6},94],"o":77,"ö":77,"r":[{"ä":1,"ü":6},94],"s":[{"a":[{"m":6},5],"c":[{"h":2}],"e":5,"i":5,"p":5,"t":[{"a":[{"f":6}],"o":5,"r":[{"a":[{"s":[{"s":[{"e":[{"n":62}]}]}]}]},2]}],"u":5},9],"t":[{"a":2,"e":[{"i":5}],"h":1,"r":11},77],"u":[{"r":1},77]}],"g":[{"a":[{"b":103,"c":103,"d":4,"n":[{"g":0}]}],"e":[{"i":114,"l":[{"d":[{"r":23}],"i":2}],"n":[{"e":[{"r":101}],"m":[{"a":[{"s":172}]}]}],"r":[{"ä":[{"t":[{"e":[{"i":[{"n":430}]}]}]}]}],"t":[{"h":103}]}],"g":[{"l":5}],"h":81,"i":[{"e":[{"r":2}],"n":[{"i":103,"s":1},45]}],"l":[{"e":1,"o":5},0],"n":124,"o":[{"i":23,"r":[{"i":30}]}],"s":[{"i":1,"p":3,"t":9},5]},94],"h":[{"a":[{"l":[{"k":0}]},94],"ä":70,"e":[{"i":[{"s":103}],"r":[{"t":118,"z":82}]},70],"i":94,"l":[{"a":[{"d":35},9],"ä":5,"e":[{"c":1,"i":9,"p":1,"r":[{"g":6,"h":12,"w":6},104]}],"o":[{"r":9},231],"s":22,"u":5},77],"m":[{"a":2,"i":74,"u":1}],"n":[{"a":[{"c":6},9],"e":[{"e":1}],"i":5,"m":74,"o":20,"s":[{"k":4}]}],"o":[{"l":[{"e":28,"o":45}],"p":30},94],"ö":[{"l":1},77],"r":[{"a":4,"e":[{"l":5,"m":5,"n":[{"s":15}],"r":[{"g":6},104]}],"i":[{"n":6},1],"o":[{"l":5},9],"t":[{"r":10}]}],"s":[{"a":1},2],"t":1,"u":70,"w":0,"y":94}],"i":[{"d":[{".":70,"a":79,"s":70}],"e":81,"m":71,"n":[{"e":88},70],"r":5,"s":[{"c":[{"h":[{".":81,"e":88}]}],"e":1,"m":70,"s":22,"t":6}],"t":[{"u":116}]},77],"j":94,"k":[{"a":[{"b":36,"c":85,"i":4,"l":[{"a":2,"e":[{"r":[{"e":24}]},104]}]},5],"e":5,"i":[{"o":11}],"l":[{"a":[{"u":1},5],"ä":0,"i":5}],"o":[{"p":[{"t":11}]},5],"s":[{"o":5,"p":20}],"t":3,"u":81,"w":78},94],"l":[{"a":[{"b":[{"u":1}],"f":10,"m":114,"n":[{"t":0}],"r":5,"s":[{"t":18},395],"v":30},70],"ä":[{"t":0},198],"c":[{"h":[{"r":5}]}],"d":[{"a":[{"m":37}],"ä":5,"e":[{"d":20,"n":[{"g":12}],"r":[{"s":[{"a":34}]}],"u":5}],"i":[{"m":5}],"o":39,"r":5}],"e":[{".":129,"f":103,"i":[{"e":0,"s":103}],"m":[{"b":0}],"r":[{"k":0,"t":431},22],"s":[{"s":0}],"u":36,"x":[{"z":0}]}],"f":[{"a":5,"e":[{"m":5,"r":[{"e":4}]}],"l":39,"r":[{"a":39},9],"t":10}],"g":[{"e":[{"g":[{"e":100}],"n":[{"e":10}]}],"l":5,"r":5}],"i":[{"e":[{"n":163,"r":11}],"k":65,"t":[{"u":4}],"v":78},5],"k":[{"l":5,"r":[{"e":4,"o":5}],"s":[{"c":11,"i":11},23]}],"l":[{"a":[{"c":9,"d":46,"k":20,"n":[{"g":6}],"u":6}],"ä":[{"d":5},22],"e":[{".":1,"b":9,"c":37,"i":[{"n":4},5],"m":1,"r":[{"h":4,"k":18,"l":4,"w":4}],"s":[{"s":4}]}],"i":[{"c":5,"s":[{"t":46}]}],"o":[{"c":35,"g":35,"p":5}],"ö":35,"s":[{"a":4,"p":4},22],"u":[{"s":1},5]}],"o":[{"f":5,"p":9,"r":[{"t":0}],"s":[{"t":4}],"v":5},83],"s":[{"k":3}],"t":[{"e":1,"h":3,"i":1}],"u":[{"t":[{"h":2}]},70],"y":[{"s":129},5],"z":[{"a":[{"n":1},20],"e":[{"r":[{"n":12}]}],"i":[{"m":5}],"o":5,"w":5,"y":5}]},77],"m":[{"a":[{"b":[{"l":2},72],"g":[{"e":114}],"l":[{"g":0,"l":0}],"n":[{"e":[{"r":25}],"g":103,"r":5,"t":[{"e":88}]}],"p":103,"r":[{"s":118,"t":[{"e":10},103]}],"s":[{"y":170}],"t":[{"i":22,"o":[{"m":88}]}],"u":103}],"ä":81,"e":[{"b":[{"e":0},72],"f":103,"i":103,"l":[{"d":81},72],"n":[{"t":[{"a":[{"n":432}]}]}],"p":88,"r":[{"h":0,"u":72,"z":0},22]}],"i":[{"c":166,"e":[{"t":135}],"g":81,"n":[{"d":0,"g":0,"s":0,"t":103}]}],"m":[{"a":1,"ä":1,"e":3,"u":1}],"n":78,"o":[{"a":85,"r":[{"g":103,"i":30}]},83],"p":[{"f":1}],"s":[{"k":1},2],"t":3,"u":[{"m":72,"n":[{"t":88}],"s":81}]},77],"n":[{"a":[{"b":3,"c":5,"g":4,"l":81,"n":[{"n":1,"z":[{"e":[{"i":55}]}]}],"p":103,"r":[{"b":85}],"t":[{"h":4,"o":[{"l":83}],"s":22,"t":358}],"u":5},77],"ä":[{"h":0},77],"c":77,"d":[{"a":[{"n":5}],"e":[{"r":[{"e":[{"r":[{"s":27,"t":300}]}]}]}],"r":[{"a":5,"i":[{"n":6}]},9],"s":[{"k":4}]}],"e":[{"c":0,"e":81,"f":72,"i":[{"g":81,"n":1}],"m":[{"a":0}],"n":[{"d":[{"s":131}],"g":5},28],"p":0,"r":[{".":81,"b":0,"d":103,"f":[{"a":10}],"h":72,"k":[{"a":6}],"s":0}],"t":[{"t":81}],"u":5},77],"f":3,"g":[{"l":[{"e":11},1],"r":11,"s":4,"u":[{"e":5}]}],"i":[{"d":39,"e":[{"g":23}],"g":[{"a":2}],"k":[{"r":88},6],"m":88,"n":[{"d":88,"h":88,"s":88}]},129],"k":[{"e":78},16],"l":[{"i":[{"n":53},22],"o":[{"c":22}]}],"n":[{"a":[{"g":23,"n":3},22],"e":3}],"o":[{"d":81,"f":72,"i":2,"k":[{"e":85}],"m":81,"p":[{"e":0}],"r":[{"c":0,"d":1}],"s":4,"t":36},158],"r":[{"a":[{"d":15}]}],"s":[{"a":98,"e":[{"b":5,"n":135,"t":22}],"h":[{"o":6}],"i":[{"d":22,"n":[{"g":4}]}],"l":4,"p":9,"t":[{"a":22,"i":[{"e":4}],"r":10}]}],"t":[{"a":1,"e":[{"b":20,"l":35,"n":[{"d":34}],"r":[{"l":12}]}],"h":5,"r":[{"a":[{"t":12}]}]}],"u":[{"k":77,"r":81,"t":77}],"v":1,"y":[{".":81},74],"z":[{"e":[{"i":[{"n":23}]}]},3]}],"ñ":70,"o":[{"c":[{"h":22},0],"f":[{"s":22}],"g":[{"l":5}],"k":[{"l":39,"n":5}],"m":[{"o":5}],"n":[{"e":5}],"p":[{"s":2},70],"r":[{"d":4},70],"s":[{"k":6,"u":5}],"t":[{"a":20,"e":[{"i":9}],"h":20,"r":5,"s":[{"t":28}],"t":4,"u":[{"r":5}]}]}],"ö":155,"p":[{".":77,"a":[{"d":[{"r":1}],"k":[{"t":0}],"l":[{"e":2}],"n":[{"g":0}],"x":77},70],"ä":77,"e":[{"c":70,"d":70,"f":0,"i":70,"k":70,"n":77,"r":[{"a":72,"h":0}],"s":70}],"f":[{".":77,"a":[{"h":1},39],"ä":5,"e":[{"m":5},72],"i":[{"n":5}],"l":[{"a":4,"ü":0}],"o":[{"r":1},5]}],"h":[{"e":81},270],"i":[{"a":141,"e":[{"r":[{".":4,"s":[{".":34}],"u":120}]}],"n":22},70],"l":[{"a":[{"g":1}],"e":429},77],"n":79,"o":[{"l":[{"a":2}]},77],"p":[{"a":[{"n":5}],"l":6,"o":74,"t":77}],"r":94,"s":[{"i":149,"z":1}],"t":[{"e":77,"h":1},202],"u":[{"m":72}],"y":77}],"q":94,"r":[{".":77,"a":[{".":77,"a":70,"b":[{"b":72},194],"d":[{"d":85,"r":1}],"g":71,"k":[{"e":74},72],"l":[{"l":51,"m":131,"t":6},70],"m":[{"i":3},5],"n":[{"d":433,"e":6,"f":22,"m":22,"z":[{"e":10}]}],"p":1,"r":77,"s":71,"t":[{"t":72}],"u":[{"s":[{"w":[{"a":13}]},22]},151],"v":5,"w":94,"y":70},0],"ä":[{"n":[{"d":0}],"t":0},81],"b":[{"l":2}],"c":[{"a":77,"e":5},0],"d":[{".":77,"a":[{"m":9,"r":5,"u":5},77],"b":77,"e":[{"n":[{"g":4}],"s":10,"u":5}],"i":[{"n":[{"g":12}],"r":20,"t":5}],"n":74,"o":127,"r":77,"t":4,"u":77,"w":77}],"e":[{"a":2,"b":114,"c":[{"k":103}],"d":[{"i":2}],"e":143,"f":[{"f":0},81],"h":2,"i":[{".":81,"e":81,"f":79,"s":79},0],"m":[{"s":104}],"n":[{"n":81}],"p":81,"r":[{"e":79,"o":79},103],"t":[{"h":11}],"u":103},77],"f":[{"a":[{"c":5,"r":5}]},77],"g":[{"a":11,"e":[{"t":77},2],"h":[{"i":1}],"i":[{"a":77}],"l":[{"a":1,"e":1},5],"n":[{"e":1},5],"r":77}],"h":77,"i":[{"a":76,"d":[{"i":23},165],"e":[{".":129,"n":[{".":81,"t":[{"i":175}]}],"r":81}],"l":81,"m":[{"a":0,"i":11}],"n":[{"d":115,"s":88},434],"o":348,"s":[{"o":72}],"t":77}],"k":[{"r":11,"s":4},77],"m":[{"a":[{"m":5,"n":[{"g":6,"s":6}],"s":[{"p":4}]}],"e":[{"b":20,"r":[{"f":12,"g":38}]}],"o":[{"r":[{"d":4},5]}],"u":[{"m":5,"n":[{"i":6,"t":6},10]}],"v":[{"o":[{"l":101}]}],"w":[{"a":50}]},77],"n":[{"a":[{"c":20,"l":5,"n":5,"r":5}],"e":[{".":7}],"i":[{"n":6},1],"o":1}],"o":[{"b":103,"l":[{"y":1}],"n":[{"a":36}],"p":[{"e":0,"f":0}],"r":113,"u":81,"x":0},94],"ö":94,"p":77,"q":77,"r":[{"a":11,"e":3},77],"s":[{"a":16,"h":1,"i":1,"k":1,"z":1},108],"t":[{"a":[{"k":20,"n":5,"r":22,"u":20}],"e":[{"f":5,"n":[{"g":435},10],"r":[{"b":4,"e":12,"f":4,"g":4,"k":6,"l":12}],"v":119}],"h":[{"e":5}],"i":[{"n":5}],"o":[{"f":[{"f":12}],"r":126}],"ö":5,"r":[{"a":[{"d":4,"u":6}],"ä":[{"u":12}],"e":4}],"u":[{"m":20}]}],"u":[{"f":5,"h":0,"m":[{"s":10}],"n":131,"r":2,"s":436},76],"ü":72,"z":[{"e":[{"l":50},3],"w":5}]}],"s":[{"a":[{"d":1,"l":22,"m":[{"i":131}]},165],"c":[{"a":131,"h":[{"a":[{"r":23}],"e":81,"l":[{"e":23}]}]},77],"e":[{"e":9,"i":[{"n":437}],"l":5,"n":2,"r":[{"k":118}],"x":5},77],"h":[{"i":79,"u":6},77],"i":[{"m":5},77],"k":[{"a":[{"l":5}],"i":88,"l":80,"o":80,"r":88,"y":88},81],"m":[{"o":[{"g":6}]},74],"o":[{"l":45},80],"ö":72,"p":[{"e":[{"c":0,"r":[{"o":1}]}],"o":79},77],"s":[{"a":[{"c":438,"l":[{"a":4}],"n":[{"d":4}]}],"ä":6,"e":[{"l":175,"m":[{".":81}],"n":[{"k":[{"e":34}],"t":81,"z":4}],"p":9,"r":[{"b":205,"e":18,"f":18}]}],"i":88,"o":126,"p":[{"a":9},5],"t":20,"u":5},77],"t":[{"a":[{"l":[{".":81}],"r":[{"t":11}],"u":[{"t":4}]},9],"e":[{"n":22,"p":131,"r":[{"d":88,"e":15,"w":[{"e":[{"i":52},34]}]}],"u":[{"r":4}]}],"h":9,"i":[{"d":72,"n":72}],"o":[{"n":1,"s":10}],"r":[{"a":[{"n":4}],"ä":174,"e":4,"o":[{"t":4}],"u":6}],"u":[{"f":4}]},5],"u":[{"m":0},162],"y":76,"z":[{"e":124}]},70],"ß":[{"e":[{"l":103,"n":[{"t":103,"z":118}],"r":[{"b":103,"e":103,"f":103},22]}],"i":[{"s":0}],"u":0},77],"t":[{"a":[{"b":[{"i":85}],"h":0,"k":103,"l":81,"m":81,"n":[{"t":0}],"r":[{"k":81,"z":72}],"s":[{"t":0},11],"u":[{".":81},103],"x":5}],"ä":0,"e":[{"b":72,"i":[{"b":115,"c":115,"n":10,"s":115},9],"l":[{"a":75},5],"m":[{"i":115,"p":439},81],"n":[{"a":11,"t":[{"b":88}]}],"r":[{"b":0,"l":440,"w":115}],"s":5}],"h":[{"a":[{"r":5}],"e":[{"m":72}],"i":103,"r":72}],"i":[{"l":72,"m":114,"n":[{"h":1},5]},83],"l":[{"i":10},88],"o":[{"b":65,"f":[{"f":1}],"p":[{"h":2}]},5],"ö":103,"r":[{"a":[{"c":23,"n":124,"s":120,"t":1,"u":6}],"e":1,"i":[{"c":1,"g":6,"n":1}],"u":[{"s":1}]}],"s":[{"a":[{"t":39}],"o":9,"p":[{"e":2},9],"t":[{"r":[{"a":16}]}]}],"t":[{"a":[{"k":[{"t":4}],"n":4,"s":126,"u":5}],"e":[{"b":5,"r":[{"h":6,"k":41}]}],"h":20,"i":[{"m":5}],"o":2,"r":[{"a":16,"u":16},39]}],"u":[{"r":[{"l":0}]}]},94],"u":[{"f":[{"f":53,"l":121}],"g":[{"e":6,"l":1},2],"h":70,"i":[{"s":[{".":0}]}],"l":[{"e":[{".":5,"s":5}],"i":6},77],"m":94,"n":[{"g":[{"e":[{".":11}],"s":104},51]},441],"p":88,"r":[{"e":[{"t":5},22],"i":[{"e":442}],"m":[{"e":18}],"n":[{"e":[{".":11}]}]},83],"s":[{"a":1,"i":2,"t":268}],"t":[{"i":1,"p":78,"s":36,"u":10},88]}],"ü":94,"v":[{"a":5,"e":[{"l":77,"n":81}],"i":[{"s":[{"o":15}]}],"o":77},70],"w":[{"a":[{"l":85}],"e":[{"c":81}],"h":72,"i":143,"u":72},94],"x":[{".":77,"a":71,"e":[{"l":103},77],"k":77,"l":1,"o":70,"u":103,"y":84}],"y":[{"o":70}],"z":[{"a":81,"e":[{"a":74,"n":[{"t":[{"a":10}]},76],"s":[{"s":[{"c":10}]}]}],"i":[{"r":23},76],"o":[{"n":[{"a":45}]}],"y":77,"z":1},71]}],"ó":[{"r":[{"d":2},1]}],"ö":[{"b":[{"a":124,"l":[{"e":85},5],"r":85},70],"c":[{"h":[{"l":4,"r":72,"s":[{"t":[{"e":[{"i":366}],"r":15},22]}]},70]}],"d":[{"e":[{"r":9}],"i":4,"u":74},70],"e":70,"f":[{"f":[{"a":5,"l":5}],"l":1},74],"g":[{"e":[{"l":[{"e":4}],"n":[{"s":163}]}],"l":1,"r":1,"s":5}],"h":[{"e":[{"n":75},70],"l":[{"e":272}],"r":[{"e":10,"i":1}],"s":5,"u":70}],"i":[{"g":[{".":81}],"s":[{"c":[{"h":[{".":81}]}]}]}],"k":[{"e":70,"o":443,"r":1,"s":5}],"l":[{".":78,"a":30,"e":[{"i":0,"m":0}],"f":[{"e":[{"i":20,"r":2}]}],"i":[{"n":0}],"k":[{"e":11,"l":39}],"l":[{"a":[{"n":9},35]}],"m":78,"n":[{"a":[{"r":5}]}],"o":30,"s":[{"a":1,"z":1},2],"t":[{"u":1}],"u":74,"z":[{"w":2}]},72],"m":[{"s":5},70],"n":[{"e":5,"i":[{"z":[{"i":135}]},81],"n":[{"e":2}]}],"o":[{"t":[{"a":5,"i":45}]},0],"p":[{"e":70,"f":[{"l":4}]},77],"r":[{"a":3,"b":[{"e":2,"l":39}],"c":0,"d":[{"r":[{"a":1},5]}],"e":[{"c":103,"i":103,"l":114,"m":114,"n":[{"e":103,"t":72},2],"r":[{"b":79,"e":118,"f":96,"g":96,"h":5,"l":96,"r":5,"w":5,"z":79}],"s":[{"s":0}]}],"f":[{"l":39}],"g":[{"l":5}],"i":[{"m":72}],"k":[{"l":5}],"n":[{"e":[{"r":[{"v":18}]},2]}],"o":0,"p":[{"e":22}],"s":[{"e":2,"k":1}],"t":[{"e":2}],"u":[{"n":[{"e":103}]},11]}],"s":[{"a":72,"c":[{"h":[{"a":161,"e":[{"i":168,"r":[{"f":444,"i":444},101]},104],"i":72,"l":344,"m":161,"n":72,"w":72}]},77],"e":[{"i":[{"n":72},0],"n":6,"s":6}],"l":77,"o":5,"p":72,"s":[{"c":37,"e":[{"t":1}],"t":6},79],"t":[{"a":92},6],"u":6},70],"ß":[{"e":[{"n":23}],"t":[{"i":5}]},70],"t":[{"a":85,"e":[{"n":75}],"r":85,"s":[{"c":5}],"t":[{"r":5}]},70],"v":71,"w":70,"z":[{"e":[{"s":10},4]},70]}],"p":[{"a":[{".":74,"a":74,"b":[{"e":72,"l":2,"r":[{"ü":11}],"w":77},70],"c":74,"d":84,"e":[{"l":1}],"f":[{"r":0}],"g":[{"h":1},202],"h":[{"o":0}],"k":[{"e":1,"l":0,"t":[{"o":2}]},74],"l":[{"a":[{"t":23},78],"ä":78,"e":208,"i":3,"m":[{"a":2,"ä":2,"o":28},74],"t":[{"a":28,"e":[{"i":11}],"r":2},77]}],"m":[{"a":39}],"n":[{"a":[{"r":5,"t":12}],"d":[{"a":22,"s":11},4],"e":[{"u":5}],"f":10,"g":10,"i":[{"s":[{"l":6}]}],"k":10,"l":77,"n":[{"e":[{"b":25},104],"u":83},77],"o":398,"s":[{"l":4}],"t":[{"h":36,"o":74,"r":77}],"z":[{"e":4},22]}],"p":[{"i":[{"e":[{"r":[{"e":[{"n":[{"d":57},58]}]}]}]},22],"p":[{"r":2}],"s":[{"t":135},2]},74],"q":0,"r":[{"a":[{"f":[{"f":12}],"k":[{"t":4}],"n":[{"t":6}],"p":1},74],"ä":5,"b":77,"c":84,"d":4,"e":[{"r":[{"g":[{"e":[{"b":52}]}]}]}],"f":[{"ö":77},74],"g":[{"e":[{"l":[{"d":31}]}]}],"k":[{".":74,"a":[{"m":23,"u":11}],"r":11,"s":74}],"m":36,"n":[{"e":4}],"o":398,"p":77,"r":77,"t":[{"a":83,"e":[{"i":78}],"i":74,"n":74,"y":78}],"z":4}],"s":[{"p":[{"e":5},0],"s":[{"e":[{"r":[{"g":24},101]}],"p":28}],"t":2}],"ß":[{"u":5}],"t":[{"a":9,"c":11,"e":[{"l":77},189],"h":445,"i":74,"r":202}],"u":[{"f":94,"n":[{"i":1}],"s":[{"z":77}]},74],"v":74}],"ä":[{"c":[{"k":[{"e":[{"r":23}]}]},78],"d":[{"e":[{"r":20},22]},78],"r":78,"s":446,"t":[{"e":[{"h":251,"n":[{"t":6}],"p":6,"r":[{"b":12}]}],"h":9,"o":5,"r":5,"s":34}]},74],"b":[{"e":9},94],"c":76,"d":[{"a":2},155],"e":[{".":74,"a":[{"r":11,"s":11},268],"b":71,"c":[{"h":45}],"d":[{"a":74}],"e":[{"l":74,"n":5}],"f":[{"f":198},77],"g":[{"e":[{"l":22}]},74],"i":[{"c":77,"l":74,"m":72,"s":77,"t":74},9],"k":[{"t":[{"i":22}]}],"l":[{".":78,"a":[{"b":12,"i":6,"u":20,"x":39}],"ä":20,"b":22,"d":65,"e":[{"h":251,"r":20,"t":5,"u":5},78],"i":[{"d":22,"n":[{"k":12,"n":4,"s":11},10]}],"k":4,"l":[{"a":36,"ä":4,"e":65,"i":22}],"o":[{"b":5}],"s":[{"p":4},242],"t":[{"a":4}],"z":[{"i":[{"n":11}]}]},238],"m":74,"n":[{"a":[{"s":6},22],"ä":5,"d":[{"a":36}],"e":[{"n":447}],"i":[{"t":32}],"o":126,"s":[{"i":335,"o":405,"z":4},22],"t":[{"a":22,"w":77,"y":104}],"u":35,"z":4},74],"p":[{"i":1},74],"r":[{"a":[{"k":5,"m":2},0],"ä":20,"e":[{"b":98,"r":[{"f":18}]}],"i":[{"d":3,"o":448}],"l":[{"e":74,"h":74}],"r":[{"a":[{"n":25},104],"ä":382,"i":[{"c":11,"e":[{"g":24}]}]}],"s":[{"e":77,"i":77,"o":78,"p":78},74],"u":[{"n":1},22],"ü":74,"w":[{"a":[{"r":18}]}]}],"s":[{"a":3,"e":[{"n":22}],"s":449,"t":[{"o":[{"p":6},45]},2]}],"t":[{"r":11},78]}],"é":74,"f":[{".":83,"a":[{"b":103,"d":72,"f":72,"i":0,"k":103,"m":115,"n":[{"s":0}],"r":[{"e":1},113],"u":103}],"ä":[{"r":72,"u":103},74],"e":[{".":83,"f":72,"i":[{"m":0,"n":0},72],"m":30,"n":[{".":81,"e":[{"r":88}],"s":81,"t":81}],"p":115,"r":[{"a":51,"d":[{"e":88}],"p":[{"r":[{"o":53}]}]}],"s":6,"t":103}],"f":[{"a":23},11],"i":[{"d":114,"n":[{"n":0,"s":103}]}],"l":[{"a":[{"m":0,"n":6}],"e":[{"g":6,"i":1}],"o":1}],"o":[{"b":72,"m":72,"r":[{"i":0},113]}],"r":[{"a":0,"ü":6},1],"s":[{"a":1,"e":1,"l":1,"z":1},2],"t":[{"r":11},3],"u":[{"m":72}]}],"g":[{"r":[{"a":22}]},165],"h":[{".":83,"a":[{"l":[{"t":[{"e":10}]}],"n":[{"d":70}],"s":78,"u":70}],"ä":[{"n":78},9],"b":83,"d":77,"e":[{"i":94,"n":[{"d":152,"e":75,"s":23}],"r":[{"s":128}]}],"f":83,"g":83,"i":[{"d":72,"k":[{"a":[{"n":11},45]}]}],"k":77,"l":5,"m":83,"n":77,"o":[{".":72,"b":72,"s":2}],"ö":77,"r":5,"s":83,"t":[{"h":[{"e":77}]},3],"u":[{"s":11,"t":4}],"ü":94,"y":87,"z":83},74],"i":[{"a":[{"b":10,"k":4,"l":[{"i":6}],"n":4,"p":22,"s":4},363],"c":[{"e":0}],"e":[{"i":20,"l":[{"a":23},5],"r":[{"a":2,"e":[{"b":11,"i":11}]},74],"s":10}],"g":[{"l":1},74],"l":[{"e":1,"o":78,"z":[{"e":[{"r":11}],"w":2}]},74],"m":72,"n":[{".":78,"a":[{"d":5}],"g":[{"e":[{"n":101}],"s":23},78],"s":[{".":78,"e":78,"p":36}]}],"o":[{"i":[{"d":[{"e":1}]}],"n":[{"u":1}],"s":1},5],"p":[{"e":5},74],"r":[{"a":[{"t":[{"e":78}]}],"i":[{"n":78},1]}],"s":[{"o":77,"t":[{"o":1},2]},74],"t":[{"a":2,"h":3,"s":2,"z":[{"e":36}]}],"z":[{"i":[{"n":20}]}]}],"j":94,"k":[{"u":2},155],"l":[{".":77,"a":[{"d":129,"h":70,"n":[{"a":4}],"u":88,"y":28},78],"e":[{".":76,"c":9,"e":2,"g":88,"n":36,"r":76,"u":88}],"i":[{"g":77,"k":149,"z":88}],"o":[{"n":4}],"u":76},237],"m":165,"n":155,"o":[{"b":2,"c":[{"k":78},128],"d":78,"e":[{"l":5},78],"h":77,"i":[{"d":[{".":1,"s":1}],"n":78},5],"l":[{"a":[{"n":5,"u":20}],"d":[{"e":22}],"i":1,"l":[{"o":4}],"o":[{"p":136}],"z":36},78],"m":[{"p":[{"h":2}]}],"n":[{"d":77,"t":22}],"o":[{"b":0}],"p":[{"a":[{"k":20,"r":20}],"l":39,"t":3}],"r":[{"a":[{"u":0}],"f":10,"t":[{"a":[{"l":78}],"h":28,"i":[{"o":78}],"o":[{".":78,"s":78}],"r":[{"e":11,"i":[{"c":24}]},78]}]}],"s":[{"i":78,"s":36,"t":[{"a":5,"ä":5,"e":[{"i":[{"n":21},23],"m":6}],"r":[{"a":23}]},11]}],"t":[{"a":[{"r":9},5],"ä":78,"e":78,"h":2,"i":[{"n":39}],"t":[{"r":45}],"u":20}],"u":[{"n":1}],"w":[{"e":22},5],"x":1},84],"ö":[{"b":[{"l":5}],"c":5}],"p":[{"a":[{"b":72,"n":[{"g":0,"s":0}],"p":2,"t":72,"u":0}],"e":[{"e":4,"i":103,"l":[{"a":28,"i":[{"n":[{"e":50}]}]}],"n":450,"r":[{"z":103}]}],"f":[{"r":0},239],"h":[{"e":1},103],"l":[{"a":[{"c":115,"n":88}],"ä":103,"e":72},1],"o":[{"h":1}],"ö":114,"p":16,"r":[{"a":85,"ä":429,"e":[{"n":1}],"i":72,"o":[{"l":1,"t":1}],"u":85}],"s":[{"a":1,"y":1},173],"t":11,"u":[{"c":81,"l":72,"m":103,"n":[{"k":72}],"r":81}],"y":[{"l":22}]},198],"r":[{"a":[{"k":74,"s":[{"p":34},25],"x":74}],"ä":[{"d":74,"f":74,"g":74,"l":74,"m":78,"p":74,"s":78,"v":74},88],"e":[{".":77,"c":77,"d":78,"e":[{"i":2},451],"g":77,"i":[{"s":[{"c":120,"e":[{"i":53}],"s":10,"t":120},78],"z":77},74],"m":74,"n":[{"g":[{"a":10}]}],"r":76,"s":[{"a":4,"s":[{"e":18}]},74],"ß":74}],"i":[{"e":11,"g":77,"l":28,"n":[{"g":[{"s":101},77],"z":74}],"t":[{"e":[{"r":101}],"t":213},28],"v":74}],"o":[{"b":[{"e":4},78],"c":77,"d":453,"g":78,"j":78,"s":[{"s":77}],"ß":77,"t":[{"e":22,"o":78,"t":77}],"x":4},452],"ö":77,"ü":[{"f":74,"g":74,"h":77,"n":77}]},215],"s":[{".":83,"k":1,"o":[{"d":0}],"ö":72,"p":[{"i":6}],"s":2,"t":[{"a":[{"u":9}],"u":72}],"y":[{"s":83},87],"z":[{"e":5}]},94],"t":[{"a":[{"b":5,"g":2,"t":190},0],"e":[{".":81,"b":114,"c":1,"f":0,"i":0,"m":[{"i":0}],"n":[{"g":440,"t":115},129],"p":0,"r":[{"e":[{"i":1}],"w":0,"z":0}],"s":81,"t":[{"a":88,"i":299},81]}],"h":103,"i":[{"d":[{"e":2},0],"n":301}],"o":[{"m":[{"o":2}],"n":[{"a":11}],"p":2,"w":2}],"p":[{"o":10}],"r":[{"o":72},1],"s":[{"i":1,"t":11},30],"u":[{"h":0,"m":0,"n":[{"g":81}],"r":[{"s":0}]}],"ü":239,"y":87,"z":3},94],"u":[{"a":0,"b":11,"c":77,"d":[{"r":5}],"h":94,"k":[{"l":5,"o":20},77],"l":[{"i":[{"n":5}],"s":[{"p":2,"t":28}],"v":78,"w":77}],"m":[{"p":[{"l":2}]}],"n":[{"d":83,"e":2,"s":2,"t":77}],"p":78,"r":[{"a":5,"e":[{"i":5}]},77],"s":[{"h":[{"e":1},2]}],"t":[{"e":44,"s":208,"z":78}],"z":[{"i":23}]},74],"ü":[{"f":74,"l":[{"l":4}]}],"v":94,"w":[{"a":[{"r":11}]},94],"y":[{"s":1,"t":1},454],"z":155}],"q":[{"u":[{"e":[{"l":[{"l":[{"a":10}]}],"r":[{"e":[{"l":4}],"n":51}],"t":[{"e":[{".":11}]}],"u":74}]},6]}],"r":[{"a":[{".":74,"a":[{"b":5,"c":77,"l":77,"r":1,"s":103},70],"b":[{"a":[{"r":20}],"ä":72,"b":[{"i":74,"l":166}],"d":77,"e":[{"i":5,"r":[{"d":4},2]}],"f":77,"g":77,"h":77,"i":74,"k":77,"l":[{"e":72,"i":5,"o":280}],"r":80,"s":150,"t":77,"w":76,"y":74,"z":77},70],"c":[{"e":[{"t":94},5],"h":[{"e":[{"b":6}],"o":5,"s":77,"t":[{"r":[{"ä":55}]}],"u":5}],"k":72}],"d":[{".":88,"a":[{"c":5,"m":37,"n":5,"p":77,"r":78},22],"e":[{"i":127,"s":51}],"f":78,"h":78,"i":[{"o":78,"t":83}],"o":78,"p":78,"r":[{"i":34},37],"t":65},84],"f":[{"a":[{"h":[{"n":4}],"r":4}],"e":[{"r":20},22],"r":4},72],"g":[{"a":2,"e":[{"i":[{"n":101}],"s":18}],"g":77,"l":[{"e":16}],"m":83,"n":5,"o":72}],"h":[{"l":[{"e":[{"n":18}]}],"m":130,"n":70,"o":128,"t":83}],"i":[{"c":77,"l":[{"l":22}],"r":76},72],"k":[{"a":23,"e":148,"k":77,"l":455,"r":[{"e":5,"o":5}],"t":[{"i":77}],"ü":74,"z":77}],"l":[{".":88,"a":[{"b":12,"k":9,"s":10},35],"ä":5,"b":65,"d":149,"e":[{"n":[{"d":12,"t":6}],"r":[{"n":280}],"x":1},88],"i":[{"d":5,"e":[{"r":23}],"n":[{"d":41,"g":12,"s":[{"p":13}],"t":18}]},88],"k":[{".":76}],"m":[{".":76}],"p":[{".":77,"e":83}],"s":[{"u":4},88],"t":[{"h":456},81],"u":39,"y":78},72],"m":[{"e":[{"i":5,"r":5}],"i":72,"m":[{"a":[{"n":11}],"e":[{"n":[{"s":24}],"r":[{"s":43}]}],"i":[{"t":11}],"u":11},72],"n":77,"s":[{"c":78}],"t":[{"s":10},94],"u":77}],"n":[{"a":[{"d":[{"e":4},9],"l":71,"n":5,"r":5,"u":5},77],"b":[{"e":72},77],"d":[{"a":88,"e":[{"p":11,"r":25},88],"i":87,"s":23}],"e":[{"r":74}],"f":77,"g":[{"a":77,"e":[{"b":[{"e":26}]}],"i":78,"l":72,"s":[{"p":23},104]}],"i":[{"e":23,"l":124}],"k":[{"a":4,"r":2,"ü":2}],"l":83,"m":[{"i":72,"u":72},94],"n":[{"a":77,"e":34}],"p":94,"r":77,"s":[{".":72,"p":[{"a":11}]},77],"t":[{"e":[{"i":223}],"h":70,"o":72,"r":77}],"u":74,"w":77,"z":[{".":72}]}],"p":[{"a":[{"r":5},77],"f":77,"o":[{"k":5},77],"p":[{"r":2}],"r":[{"i":165}]},72],"q":94,"r":[{"a":328,"b":77,"e":[{"i":149,"n":135,"t":4,"v":98},72],"f":160,"i":[{"e":1,"n":4,"s":[{"t":124},1],"t":129}],"k":72,"o":[{"m":5},22],"t":77,"z":[{"w":4},77]},70],"s":[{".":88,"c":[{"h":[{"l":6}]}],"k":6,"m":72,"s":[{"i":4,"p":4}],"t":[{"e":[{"i":312}],"h":81,"o":6,"r":[{"i":4}]},72],"y":[{"l":77}]},3],"ß":77,"t":[{"a":[{"n":20}],"e":[{"i":20,"l":79}],"i":[{"d":6}],"l":[{"a":77}],"m":77,"o":[{"m":77},2],"r":11,"t":[{"a":77,"r":77},81],"z":[{"e":4},83]},74],"u":[{".":83,"b":[{".":78}],"e":[{"n":65},83],"f":[{"ä":4},77],"g":159,"m":[{"a":[{"g":25}],"e":[{"s":34}],"i":2},78],"p":78,"r":83,"s":[{"b":77,"c":457,"d":77,"e":4,"f":77,"g":[{"e":[{"w":[{"ä":27}]}]},77],"h":77,"l":77,"p":2,"s":[{"c":[{"h":[{"e":27}]}]},77],"t":[{"r":23}],"v":77,"w":77}],"ß":[{"e":4}],"t":[{"r":[{"a":11,"o":11},45],"s":51},77]}],"ü":74,"x":[{"i":[{"s":10}],"t":81},72],"y":[{"o":9},72],"z":72}],"ä":[{"c":[{"h":[{"s":10}]}],"d":87,"f":[{"r":0},83],"g":83,"h":77,"m":83,"n":[{".":78,"i":78,"s":78}],"p":77,"q":77,"r":[{".":72,"a":1,"o":0},94],"s":[{"c":5,"e":22,"s":[{"e":7}],"t":5}],"t":[{"s":[{"e":78}],"z":83}],"u":[{"e":83,"s":[{"c":[{"h":[{"e":[{"n":[{".":263}]}]}]},22],"s":77},2],"ß":77,"t":83},5],"x":77}],"b":[{"a":[{"b":458,"c":81,"d":[{"e":[{"l":11}]}],"l":5,"m":81,"n":[{"g":72,"t":72}],"r":[{"t":0,"z":72}],"u":[{"f":0}]}],"b":2,"e":[{"c":[{"h":0}],"e":[{"r":[{"f":4}]}],"i":[{"d":152,"n":[{"f":4,"h":1,"t":4}]}],"l":[{"ä":88,"o":22}],"r":[{"e":36,"g":[{"i":[{"n":53}]}],"l":0,"u":[{"m":4}]}],"s":[{"l":34}]}],"i":[{"m":72,"n":[{"f":72}],"t":[{"a":22,"u":4},81]}],"l":[{"a":[{"d":32,"n":72,"s":[{"s":[{"e":[{"r":290}]}],"t":131}],"t":81,"u":81},5],"e":[{".":85,"n":81,"r":1,"u":72}],"i":[{"n":5}],"ö":[{"s":1},5]}],"m":[{"a":[{"s":15}]}],"o":[{"b":5,"n":[{"k":72}]}],"r":[{"a":[{"s":1}],"e":[{"a":1,"c":[{"h":[{"t":[{"s":378}]}]}]}]}],"s":[{"a":[{"m":6}],"e":[{"i":5,"r":5}],"o":20,"t":[{"ä":6,"r":[{"i":4}]}],"u":5,"z":6}],"u":5,"ü":[{"b":11}]},198],"c":[{"e":70,"h":[{"e":[{".":70,"n":70}],"i":227,"l":[{"o":81},4],"m":4,"r":[{"o":11},4],"s":[{"p":4},10],"t":[{"a":36,"e":[{"r":[{"r":31}]}]}],"w":9}],"i":70,"l":70},77],"ç":70,"d":[{"a":[{"c":5,"f":72,"k":103,"l":114,"m":[{"m":5}],"n":[{"i":135,"n":72,"t":0}],"r":[{"a":0,"k":0,"z":72}]}],"ä":[{"r":22}],"e":[{".":81,"e":81,"i":[{".":5},72],"l":[{"b":103,"e":113,"f":72,"s":104}],"m":53,"n":[{"d":152,"g":[{"l":88}],"t":[{"s":88}]}],"o":[{"b":4,"n":[{"o":4}]}],"r":[{"e":[{"r":65}],"i":[{"n":[{"s":31}]}],"n":[{"t":131}]}],"s":[{"p":4},81],"x":114}],"i":[{"n":[{"n":103}],"r":[{"i":0}],"t":[{"a":0}]}],"o":[{"f":72,"n":81,"s":[{"s":1},0],"z":103},2],"ö":72,"r":[{"a":[{"t":1,"u":72}],"i":[{"s":7},6],"ö":6,"ü":124}],"s":[{"ä":[{"n":5}],"k":3,"z":3}],"t":[{"a":1,"h":1,"s":2},11],"u":[{"k":103}],"w":[{"a":[{"r":53}]}]},94],"e":[{".":78,"a":[{"d":2,"l":[{"e":[{"r":[{"w":43}]}]}],"m":200,"t":[{".":1,"s":1,"u":15}]}],"ä":77,"b":[{"a":20,"l":20,"r":[{"a":4},9],"s":[{"o":4}]}],"c":[{"h":[{"a":[{"r":23}],"s":83}],"k":[{".":77,"i":77}]}],"d":[{".":78,"d":83,"i":[{"k":5},77],"n":78,"u":78}],"e":[{"b":[{"e":0}],"l":0,"m":[{"i":11},0],"r":0}],"f":[{"e":78,"f":[{".":72},83],"l":78,"o":78}],"g":[{"e":[{"l":[{"ä":120}],"n":[{"e":[{"r":[{"a":247}]}]}]}],"g":198},78],"h":[{"a":[{"c":5,"r":20}],"e":[{"n":[{"e":41,"t":12}]}],"i":5,"l":191,"o":[{"l":1},20],"ö":78,"t":[{"h":11}],"ü":5}],"i":[{".":72,"b":[{"e":[{"l":11}],"l":[{"e":11}]},72],"c":72,"d":77,"e":[{"r":[{".":83}]},72],"f":[{"e":[{"i":11,"l":83}]}],"g":[{"ä":78,"e":[{"h":78,"l":88,"n":[{"s":229}]}],"i":78,"n":83,"r":[{"u":78}]},77],"l":[{"a":36,"i":36,"t":94}],"m":[{"p":22},78],"n":[{"a":[{"l":4},150],"b":77,"d":[{"u":10}],"e":[{"c":65,"n":253}],"f":[{"e":10,"o":6},77],"g":77,"h":77,"n":83,"r":129,"s":[{"a":83,"e":[{"l":53}],"t":[{"r":[{"e":69}]}],"z":10},77],"t":[{"e":[{"g":53}]},77],"v":82,"w":77,"z":77},70],"s":[{"a":[{"r":83}],"b":83,"f":77,"h":77,"r":77,"t":[{"e":[{"r":172}]}],"u":83,"w":77}],"t":[{"s":152}]}],"k":[{"e":200,"k":83,"n":181,"z":77},78],"l":[{".":72,"a":[{"t":1},72],"b":77,"e":[{"a":18,"i":7,"k":5,"m":83,"v":72},2],"f":77,"i":[{"t":77,"x":77},45],"l":[{"a":[{"r":11}],"e":[{"i":11}]},72],"o":1,"s":72,"t":77,"u":22}],"m":[{".":87,"b":94,"d":[{"a":2}],"e":[{"i":20,"n":7}],"i":[{"g":1},77],"p":[{"f":77}],"s":[{"c":45,"t":[{"r":11}]}],"u":108}],"n":[{".":72,"a":[{".":77,"c":6,"d":1,"l":1,"n":12},72],"ä":5,"d":[{"g":70,"i":78,"r":4}],"e":[{"r":[{"g":83}]}],"g":[{"a":[{"g":83,"n":11}],"p":77}],"h":78,"i":5,"m":78,"n":[{"a":[{"r":11}],"e":[{"n":[{"e":24}]}]}],"s":[{"e":[{"i":[{"n":24}]}],"p":22}],"t":[{"d":77,"e":[{"r":[{"a":229}]}],"f":[{"o":78},77],"g":77,"h":[{"ä":81}],"l":94,"s":94,"w":76,"z":77}],"z":[{"e":[{"r":[{"f":411,"l":31,"s":411,"w":31}]}],"i":[{"n":25}],"w":2},72]}],"o":[{"b":5,"r":1}],"p":[{"e":[{"n":200},78],"i":[{"s":5},77],"o":[{"c":77,"s":155}],"p":83,"u":78}],"r":[{".":87,"a":22,"b":[{"e":[{"r":149}],"i":2},94],"d":94,"e":[{"i":[{"g":129}],"k":70,"p":20,"r":72},22],"f":[{"a":[{"h":83},81],"i":77,"o":77,"r":72,"ü":2},70],"g":[{"e":[{"b":[{"ü":181},129],"n":88,"s":149}],"o":108,"r":[{"u":88},2]},70],"h":[{"ö":2},70],"i":[{"d":6},1],"k":[{"a":[{"n":11}],"e":[{"n":129},2],"i":87,"o":87},70],"l":[{"a":[{"g":250},244],"e":[{"b":81}],"i":72,"ö":77},70],"m":94,"n":[{"ä":94,"e":70,"i":94,"s":129,"t":198},2],"o":[{"b":5,"s":[{"i":6}]},0],"ö":329,"r":[{"e":[{"g":11,"i":11},70],"i":70}],"s":[{".":130,"a":94,"c":[{"h":[{"i":175}]}],"e":72,"p":77,"t":[{"a":[{"d":175},11]}],"u":459}],"t":[{"e":72,"r":77},460],"w":[{"a":[{"c":11}],"e":[{"c":11,"s":88}]},70],"z":[{"ä":2,"y":87},94]}],"s":[{".":87,"a":[{"m":6},5],"c":[{"h":[{"e":101,"w":6}]}],"e":[{"h":32},78],"o":[{"f":9,"l":78,"n":78}],"p":[{"o":2}],"s":[{"e":[{"i":4,"r":[{"w":43}]},83],"t":[{"o":11}],"u":83},77],"t":[{"e":[{"n":[{"t":21},101]}],"r":[{"a":6}],"u":77}],"u":78}],"ß":109,"t":[{"a":[{"k":20,"p":80,"u":5}],"e":2,"h":155,"r":[{"a":5,"o":[{"l":6}]}]}],"u":[{"e":[{"r":[{"i":11}]}],"g":36,"l":77,"n":[{"i":1}],"r":77,"u":83},5],"ü":77,"v":[{"a":129,"i":[{"d":94}]}],"w":[{"a":[{"r":10}],"i":5,"o":77}],"x":259,"z":[{"i":77},78]},74],"é":74,"f":[{"a":[{"c":[{"k":0}],"h":[{"r":[{"e":81,"t":143}]}],"l":[{"l":[{"s":18}]}]}],"ä":[{"s":23}],"e":[{"i":2,"n":[{"t":72}],"s":79}],"f":[{"a":23,"e":1},2],"i":[{"l":[{"e":[{".":11}]}]}],"l":[{"a":[{"n":[{"d":88}]}],"ä":124,"i":[{"c":1}],"ö":6,"ü":81}],"o":[{"b":113,"l":[{"g":[{"s":18}],"i":143}]}],"r":[{"a":[{"u":[{"c":88}]}],"u":6,"ü":6}],"s":[{"a":[{"m":6},5],"ä":20,"u":5}],"t":[{"a":5,"r":11}],"u":5,"z":[{"u":23}]},198],"g":[{"a":[{"d":114,"h":103,"k":103,"n":[{"e":[{"r":11}]}],"p":103,"r":[{"b":72,"t":[{".":1}]}],"s":[{"k":103,"t":[{"e":[{"s":34}]},22]}]}],"d":2,"e":[{"a":[{"n":11}],"b":[{"l":2}],"c":114,"l":[{"e":[{"f":88,"r":25}]},81],"n":[{"z":[{"w":120}]}],"t":[{"a":[{"p":285}],"o":72}]}],"i":[{"s":[{"e":[{"l":11}]}]}],"l":[{"a":[{"d":5,"n":[{"z":81},72]}],"e":[{"i":[{"c":[{"h":[{"s":461}]}]}],"u":72}],"i":[{"g":72,"t":85}],"o":[{"g":5}],"u":5}],"n":[{"a":85,"e":72,"i":85,"o":85}],"o":[{"a":85,"b":72,"g":81,"p":1,"r":103}],"ö":[{"d":103},2],"r":[{"a":[{"l":85,"u":6}],"e":[{"g":72,"s":85,"t":72}],"i":[{"n":1}],"o":[{"s":[{"s":[{"e":51}]}]}],"u":[{"n":81}],"ü":[{"s":1}]}],"s":[{"e":[{"i":2,"l":6},1],"i":3,"p":[{"e":2,"o":2},0],"t":[{"i":11,"u":2}],"u":0}]},94],"h":[{".":77,"a":[{"g":72,"h":77,"k":77,"l":[{"t":[{"b":88}]}],"n":81,"u":77}],"ä":76,"e":[{".":87,"a":81,"b":77,"f":77}],"i":77,"o":[{"l":77,"p":81,"t":77}],"ö":[{"l":77}],"s":77,"ü":77},116],"i":[{"a":[{"n":[{"o":5},0],"s":[{"t":5}]}],"b":[{"b":[{"l":2}]}],"c":[{"e":0,"h":[{"a":0,"l":1,"t":[{"s":[{"p":[{"o":52}]}],"u":78}]}],"o":[{"n":5}]}],"d":[{"a":[{"u":5}],"e":[{"l":119,"n":[{"t":6}]},77],"i":85,"o":[{"l":77}],"r":4,"y":77}],"e":[{"b":[{"s":[{"t":[{"e":53}]}]}],"f":[{"m":83,"r":166}],"g":[{"s":120}],"i":[{"n":135},20],"l":[{"a":36,"s":1},0],"n":[{"ä":6,"e":104,"i":1,"u":2}],"r":[{".":0,"e":[{"n":18},36],"s":[{".":1}]}],"u":0},72],"f":[{"a":20,"ä":5,"e":[{"i":5,"r":5}],"f":[{"e":[{"n":[{"d":43}],"r":11}]}],"o":20,"r":5,"t":[{"e":[{"r":11}]}]}],"g":[{"a":83,"e":[{"l":243,"n":[{"e":6}]}],"g":83,"j":181,"l":[{"ä":6},9],"o":226,"r":83},78],"j":83,"k":[{"a":[{"r":5}],"ä":5,"i":[{"n":5}],"n":5,"o":[{"n":[{"e":6}],"r":5}]}],"m":[{"a":[{"g":5},77],"e":[{".":5}],"m":77,"p":83,"s":2}],"n":[{"a":1,"b":[{"e":70}],"c":2,"d":[{"u":94}],"e":[{"i":45},3],"f":[{"o":2,"r":87},94],"g":[{"a":2,"l":[{"e":23}],"r":2,"s":[{"p":23}]},72],"h":94,"i":[{"t":77}],"j":83,"k":[{"l":2,"o":2,"r":2},83],"l":77,"n":[{"e":[{"n":[{"m":218}],"r":129}],"r":94,"u":70}],"q":421,"s":[{"i":2,"o":2,"p":[{"i":88}],"y":87},94],"t":[{"e":[{"n":[{"t":24}]},83],"r":[{"e":462}]},77],"v":[{"a":2},94],"z":77}],"o":[{"b":5,"n":81,"s":[{"t":3}]}],"p":[{"l":5,"o":1}],"r":198,"s":[{"a":[{"n":16},2],"c":[{"h":[{"o":260,"w":6}]}],"i":[{"k":78}],"k":[{"o":3}],"o":81,"p":12,"r":81,"s":78,"t":[{"e":[{"r":[{"s":51}],"s":101}],"r":177},2]},72],"ß":463,"t":[{"a":[{"l":79,"n":[{"t":4}]}],"i":2,"r":233,"s":9,"t":[{"a":[{"u":25}],"e":[{"i":11,"r":[{"f":409},78]}],"o":2,"r":166}],"u":[{"m":71},2]},72],"x":[{"i":1},9]},74],"í":74,"j":94,"k":[{"a":[{"b":[{"l":166}],"h":0,"k":103,"l":[{"l":0}],"m":5,"r":[{"e":0}],"s":[{"p":0}],"u":[{"f":[{"s":18}]}]}],"ä":[{"h":103}],"e":[{"l":[{"e":[{"m":88}]},81],"n":[{"e":[{"r":10}]},28],"r":[{"l":118,"s":[{"t":[{"a":7}]}],"w":132}],"s":79,"t":81}],"i":[{"m":0}],"l":[{"a":[{"s":6,"u":6}],"i":[{"m":6,"s":72}],"o":5,"u":5}],"n":[{"e":6}],"o":[{"b":72,"l":81,"n":81,"p":5,"r":[{"i":30}],"u":72}],"ö":5,"r":[{"ä":[{"u":1}],"i":[{"n":1},81],"o":[{"m":85,"u":72}]}],"s":[{"a":[{"l":5}],"e":[{"i":5,"l":5,"r":5}],"o":5,"p":[{"i":1},5],"t":[{"a":[{"t":[{"i":172}]}],"e":[{"c":6}],"o":[{"c":6}]}]}],"t":[{"a":5,"e":[{"l":5,"n":[{"g":12}],"r":[{"f":12,"g":6,"l":12,"s":[{"c":21},4],"w":12,"z":12}],"t":[{"a":6}]}],"i":[{"n":39},2],"o":[{"b":10},126],"r":39,"u":[{"m":5}]}],"u":[{"m":[{"s":0}],"n":2,"p":81,"s":[{"a":2,"s":23,"t":28},81]}],"ü":[{"b":72}]},198],"l":[{"a":[{"b":5,"g":81,"n":[{"d":[{"i":120},143]}],"r":103,"s":[{"c":114,"t":22}],"u":[{"g":85}]}],"e":[{"a":2,"c":81,"i":[{".":143}],"p":81,"t":5,"x":81}],"g":11,"i":[{"n":[{"e":[{".":11}]}]},79],"o":[{"u":45},79],"ö":[{"s":[{"s":51}]},5],"s":[{"a":2,"p":[{"r":5}],"t":[{"o":5}]}],"t":1,"u":[{"s":[{"t":[{"e":[{"r":24}],"r":11},22]}]},79],"y":81,"z":2},94],"m":[{"a":[{"b":72,"d":103,"l":[{"a":2,"d":0}],"m":[{"i":0}],"n":[{"k":103,"z":0}],"p":[{"h":131}],"r":[{"c":72,"z":72}],"s":[{"p":[{"e":11}],"s":[{"e":[{"n":[{"s":27},34]},23]}]},81],"t":[{"o":22}]}],"ä":[{"r":5}],"d":3,"e":[{"i":[{"n":[{"h":131}]}],"n":[{"a":11,"e":5,"t":72}],"o":72,"r":[{"f":[{"o":10}],"h":103,"l":103,"p":103,"w":103}],"s":[{"a":4,"t":4},5],"t":[{"a":104}]}],"i":[{"d":[{"e":72}],"n":[{"a":[{"n":[{"z":24}]}],"e":[{"n":[{"g":24},101]}]}]}],"m":1,"n":88,"o":[{"b":103,"r":[{"i":30}]}],"p":3,"s":[{"a":1,"k":1,"t":[{"a":1}]},2],"t":[{"a":2},1],"u":[{"n":[{"a":88,"i":72},2]}]},198],"n":[{"a":[{"b":2,"d":[{"e":6},81],"g":[{"e":81}],"l":[{"l":103}],"n":[{"d":6,"i":1,"z":72},11],"r":[{"e":1,"i":131},2],"s":[{"t":464}],"t":[{"t":131}],"u":[{"g":1},72]}],"d":[{"e":1,"r":16}],"e":[{"f":88,"i":[{"d":5,"f":88,"s":88}],"m":[{"a":0}],"n":[{"e":103,"g":5},2],"p":299,"r":[{"g":115,"h":[{"i":6}],"k":[{"e":10,"u":10}],"l":115,"t":115,"w":115,"z":88}],"s":143,"t":[{"e":[{"m":11,"r":11},45],"o":11},268],"u":[{"f":4},5],"x":88}],"f":1,"g":[{"e":[{"n":[{"e":101}]}]},3],"i":[{"d":72,"n":[{"f":88},103],"t":81}],"k":2,"n":2,"o":[{"d":81,"h":5,"p":103,"r":103}],"ö":[{"d":2},0],"s":[{"a":1,"ä":3,"e":[{"h":[{"a":10}]}],"p":16,"u":2,"z":3}],"t":[{"a":3,"e":3}],"u":[{"r":0}],"ü":70,"y":70,"z":2},77],"o":[{"b":[{"a":72,"j":77,"o":[{"r":35},74],"r":[{"e":5},77],"s":77}],"c":[{"h":[{"a":22},0],"k":[{".":78}]}],"d":[{"e":85,"r":11}],"e":11,"f":[{"f":77,"l":1}],"g":[{".":83,"a":3,"g":78}],"h":[{"i":[{"n":20}],"l":98,"n":83,"ö":5,"r":78}],"i":[{"n":1},74],"k":[{"l":2}],"l":[{"e":1,"i":[{"v":5}],"l":[{"a":[{"n":11}],"e":[{"n":10,"r":[{"g":24,"w":24}]},18],"i":[{"n":[{"i":24},18]}]}],"y":77}],"m":[{".":83,"a":[{"d":5,"l":5,"n":[{".":78}]}],"b":77,"e":[{"n":[{"e":15}],"r":20}],"m":83,"n":77,"t":83}],"n":[{"a":[{"b":16,"n":5}],"d":78,"e":[{"r":[{"b":6}]}],"k":83,"n":78,"s":22,"t":[{"a":[{"n":11}],"e":[{"n":[{"d":24}]}],"r":166,"u":28}],"y":0},72],"o":[{"f":30}],"p":[{"a":2,"e":77,"f":80,"l":74,"t":77}],"r":[{"a":[{"l":39,"t":5}],"c":77,"e":[{"l":5}],"o":5,"t":[{"h":4,"s":10}],"ü":2},70],"s":[{"h":1,"i":3,"p":2,"s":[{"c":45,"t":11}],"t":[{"a":1,"e":[{"l":4}],"r":305}],"u":[{"m":5}],"z":129}],"ß":[{"e":[{"n":[{"k":6},104]}],"i":5,"u":5}],"t":[{"a":[{"n":5,"u":4}],"ä":5,"e":[{"i":177},1],"h":[{"o":20}],"r":[{"u":5}],"s":[{"o":22},9]}],"u":[{"l":78,"n":[{"t":1}],"t":78}],"x":128,"y":83}],"ö":[{"b":[{"l":39}],"d":[{"u":5}],"f":80,"h":78,"k":94,"l":[{".":77,"e":1,"p":70},74],"m":[{"i":78}],"r":70,"s":[{".":72,"c":9,"e":85,"l":74}],"t":[{"u":78}]}],"p":[{"a":81,"e":[{"r":[{"e":[{"r":253}],"i":[{"n":23}]}]},81],"f":11,"l":[{"i":72,"u":6}],"o":[{"s":[{"t":[{"r":11}]}]},81],"s":[{"e":1,"t":9}],"t":131,"u":81},155],"q":94,"r":[{"a":[{"b":5,"s":[{"s":25}],"t":[{"s":22},6],"u":[{"f":0}]}],"ä":[{"m":0}],"b":2,"c":0,"e":[{"g":[{"a":143}],"i":5,"l":[{"e":2}],"p":[{"a":2}],"r":[{"h":72,"l":72},22],"s":[{"t":22},81],"v":[{"e":2}],"z":[{"i":88}]}],"h":[{"e":[{"n":79}],"o":[{"s":5}]}],"i":[{"k":36},6],"m":2,"n":[{"a":[{"u":4}]}],"o":[{"b":[{"s":1}],"m":4,"r":[{"e":2}]},5],"t":[{"h":5}],"u":79,"ü":79,"z":2},198],"s":[{"a":[{"b":[{"o":81}],"d":113,"l":5,"m":[{"p":88,"t":115}],"n":[{"a":1,"f":88,"g":85,"m":1,"p":88},5],"r":[{"k":6,"m":88},1]}],"c":[{"h":[{"e":[{"b":374,"r":[{"l":175}]}],"u":143,"w":[{"u":143,"ü":143}]}]}],"e":[{"b":[{"e":103}],"e":2,"f":103,"i":[{"n":72}],"n":[{"d":5,"e":11},2],"p":[{"i":72}],"r":[{"e":0,"h":72,"s":0,"z":72}],"t":[{"a":0},2],"x":[{"t":5}]}],"h":[{"a":[{"v":79}],"i":[{"r":81}],"o":[{"r":5},81],"u":88}],"i":[{"l":5}],"k":[{"a":5,"e":[{"l":5}],"i":[{"r":88},5],"l":5,"o":[{"r":88}],"r":[{"i":124}],"y":88}],"m":[{"o":[{"g":6}]}],"n":[{"o":124}],"o":[{"m":6,"p":72,"r":[{"t":[{".":131}]}],"s":[{"t":0},11]}],"p":[{"a":[{"n":81,"s":23}],"h":85,"i":81,"l":81,"o":[{"r":6}],"u":[{"n":72,"t":72}]},111],"s":3,"t":[{"a":[{"b":[{"l":4}],"d":143,"l":[{"a":4,"e":88}],"n":[{"s":88,"t":88}],"s":72,"t":81,"u":5}],"e":[{"a":5,"e":5,"i":[{"n":[{"g":34,"t":265}]}],"m":[{"i":93}],"r":[{"b":[{"t":175},11],"l":93,"ö":88,"w":93},104]}],"h":20,"i":[{"n":[{"g":4}],"p":72,"t":72}],"o":[{"b":5,"t":103}],"r":[{"a":[{"n":[{"g":175}]}],"i":[{"s":88}]}],"u":5}],"u":[{"c":[{"h":[{"s":18}]}],"f":81,"m":[{"s":5}]}],"ü":[{"s":4}],"y":81,"z":[{"i":[{"n":5}]}]},465],"ß":70,"t":[{"a":[{"b":[{"s":0}],"d":114,"e":85,"k":[{"r":0}],"l":[{"b":[{"e":131}],"e":36,"l":103,"s":[{"e":120}]}],"m":[{"e":79},0],"n":[{"w":72},0],"r":103,"t":[{"t":1}],"u":[{"f":[{"t":88}]}]}],"ä":[{"h":1,"n":[{"d":0}],"r":[{"m":0}]}],"e":[{".":81,"e":98,"i":[{"n":[{"d":6,"h":131},0],"s":2}],"l":[{"f":72,"i":4,"l":[{"e":[{"i":53}]}]}],"n":[{".":81,"a":11,"s":152,"t":[{"s":131}],"z":23},28],"o":22,"r":[{"e":[{"i":[{"g":175},1]}],"f":[{"a":279,"o":279}],"h":0,"k":0,"l":[{"a":358}],"m":[{"i":[{"t":53}]}],"n":[{"ä":131}],"ö":96,"r":[{"e":10}],"s":[{"p":467},466],"z":0}],"s":[{"k":4},211]}],"h":[{"e":[{"l":72},0],"i":103,"u":[{"m":5}]}],"i":[{"d":103,"k":22,"m":[{"a":103}],"n":[{"f":1}],"s":5,"t":5}],"m":1,"o":[{"b":103,"p":[{".":81,"f":9}],"r":[{"c":0,"g":72,"k":81}]}],"r":[{"a":[{"m":[{"s":1}],"n":[{"d":1}],"s":120,"t":[{"i":1}]}],"e":[{"c":1}],"i":[{"s":1}],"o":[{"l":1,"m":[{"a":1}],"p":81,"u":72}]}],"s":[{"c":1,"e":[{"h":37,"l":2,"x":1}],"i":[{"n":[{"g":4}]}],"o":9,"p":[{"a":9,"e":0}],"t":[{"a":[{"n":12}],"i":[{"e":11}]}]}],"t":16,"u":[{"m":[{"b":0}],"n":[{"a":39,"t":88}],"r":[{"t":103}],"t":[{"e":85},2]}],"y":9,"z":3},198],"u":[{"a":[{"l":[{"e":6}],"r":226},0],"b":[{"e":10,"i":2}],"c":[{"h":[{"e":[{"s":1}],"t":[{"s":293}]}]}],"d":[{"e":[{"a":22}],"r":5}],"e":[{"t":5}],"f":[{"a":20,"f":10,"s":28,"t":[{"e":[{"r":11}]}]},78],"g":[{"r":39}],"h":[{"m":78,"r":94}],"i":[{"n":[{"s":1},78],"s":0}],"m":[{"a":22,"d":129,"f":129,"g":129,"i":5,"l":129,"s":[{"a":129}],"w":129,"z":83},77],"n":[{"a":94,"d":[{"a":75,"e":[{"n":[{"e":253}],"r":25}]},77],"e":[{"i":104},2],"f":198,"g":[{"a":2,"l":77}],"i":[{"o":81,"s":[{".":6}]},246],"k":[{"r":2}],"l":198,"m":94,"n":83,"r":83,"s":[{"e":70}],"t":129,"w":83}],"p":[{"d":77,"r":1}],"r":[{"a":5,"e":20,"o":181},198],"s":[{".":88,"i":5,"p":2,"s":[{"e":[{"n":4}],"p":28,"t":24}],"t":2}],"t":[{"a":[{"b":5}],"e":[{"i":5,"l":20,"r":20},10],"o":126,"r":39,"s":[{"c":[{"h":[{"a":24}]}]}]}],"z":[{"w":20},83]},74],"ü":[{"b":[{"u":83},77],"c":[{"h":0,"k":[{"s":[{"t":[{"a":51}]},104]}]}],"h":[{"e":[{"l":5,"r":104}],"l":9}],"m":[{"m":83}],"n":[{"z":4}],"s":[{"s":[{"i":6},1]}]},74],"v":[{"e":[{"l":5,"n":[{"e":[{"n":101},75],"t":[{"z":88}]}],"s":34},81],"o":79,"s":5},94],"w":[{"e":[{"g":[{"e":[{"l":11}]}],"i":81,"l":[{"t":[{"s":18}]}],"r":[{"k":143,"t":143}]}],"o":[{".":72,"h":81,"r":[{"t":81}]}],"u":[{"n":[{"s":23}]}]},94],"x":198,"y":[{"a":94,"c":5,"g":[{"i":23}],"l":[{"a":0,"e":5}],"o":[{"s":0}],"s":[{"t":[{"i":135},3]}]},74],"z":[{"a":[{"n":[{"t":1},5],"r":72,"t":72}],"ä":[{"n":5}],"e":[{"l":[{"l":[{"a":18}]}],"n":[{"e":143,"g":0,"t":[{"s":88}]}],"p":2,"r":[{"a":2,"d":103,"f":103,"g":103,"k":0,"l":103,"w":103}],"s":[{"s":103},22]}],"i":[{"d":0,"n":[{"t":0}],"r":23}],"o":[{"f":79,"t":85}],"t":[{"a":[{"n":5}],"h":5}],"u":[{"g":[{"l":25}]}],"w":[{"ä":72,"e":[{"c":79}],"i":[{"r":72}]}]},94]}],"s":[{"a":[{".":78,"a":87,"b":[{"ä":2,"d":83,"e":[{"t":78},5],"i":[{"t":5}],"l":5,"m":83,"r":5,"s":129},94],"c":[{"c":83,"h":[{"e":130,"o":5,"s":104,"t":23}],"k":72}],"d":[{"a":76,"e":[{"r":5}],"m":76,"r":165},70],"f":[{"e":6,"f":129,"r":121,"t":[{"r":2},78]}],"g":[{"e":[{".":181,"n":[{".":181,"t":129}]},2],"g":198,"n":11,"r":246},78],"h":[{"s":78}],"i":[{"k":381,"l":10,"r":11},87],"k":[{"a":5,"e":2,"i":78,"k":83,"o":78,"t":83},94],"l":[{".":87,"a":[{"n":39,"r":5,"t":1},113],"b":[{"l":4},87],"d":87,"e":[{"r":[{"k":6}]}],"i":[{"d":20},78],"l":[{"a":4,"e":[{".":11}],"o":15},70],"o":[{"r":4},208],"s":[{"e":2}],"t":[{"h":204},70],"z":78}],"m":[{".":72,"a":[{"t":200},70],"e":[{"i":243,"n":1},72],"i":[{"n":5}],"m":[{"a":468},130],"n":198,"p":[{"h":83},460],"s":72},78],"n":[{".":72,"a":[{"t":11},80],"ä":5,"b":76,"c":113,"d":[{"a":[{"n":11}],"r":[{"i":11}],"s":23},87],"e":[{"r":5}],"g":[{".":78,"a":83}],"h":76,"i":78,"k":[{"e":[{"n":78}]}],"l":76,"m":77,"o":80,"p":76,"s":[{"e":88,"k":11,"p":4},76],"t":[{"e":[{"i":83}],"r":83}],"w":129,"z":[{".":88,"t":88},76]},70],"p":[{"e":5,"h":72,"p":4,"r":78},94],"q":94,"r":[{".":149,"a":78,"b":129,"d":87,"g":[{"a":2},78],"i":[{"n":1}],"k":72,"o":[{"m":5}],"s":72,"t":83,"u":251},94],"s":[{"c":70,"i":214,"p":155,"y":200}],"ß":78,"t":[{"a":[{"n":[{"t":12},104]},2],"e":[{"i":9,"m":165}],"h":81,"i":208,"l":129,"m":83,"o":[{"l":6},2],"r":5,"s":1,"t":[{"a":81,"r":129}],"z":[{"a":181,"e":[{"l":11,"n":25}]},78]}],"u":[{".":78,"c":78,"e":208,"f":[{"b":129},77],"g":[{"l":[{"e":23}],"r":2},78],"h":4,"m":78,"r":[{"i":135},78],"s":[{".":78,"b":129,"f":83,"g":83,"p":2,"s":83,"t":[{"e":78}],"w":129},77],"ß":77},70],"v":[{"e":5},70],"x":[{"i":5,"o":1}],"y":20},74],"ä":[{"b":74,"c":87,"g":87,"h":[{"n":129},70],"l":[{"t":94}],"m":94,"n":[{"d":129}],"p":129,"q":77,"r":[{"g":87},94],"s":[{"s":[{"e":7}]},12],"t":87,"u":[{"ß":77},74]}],"b":[{"a":[{"n":[{"e":11}],"u":[{"m":[{"e":[{"n":53}]}]}]}],"e":[{"r":[{"e":22}]}],"u":[{"s":23}]},316],"c":[{".":77,"a":[{"b":77,"c":77,"f":77,"l":77,"m":77,"r":77,"t":77}],"e":[{"i":129},70],"h":[{".":229,"a":[{"f":181,"l":130,"n":[{"a":4,"c":83,"g":83,"z":181}],"o":83,"r":[{"a":129,"m":469}]}],"ä":[{"q":77},72],"b":77,"c":77,"d":77,"e":[{"c":[{"h":83}],"f":[{".":229,"i":229,"s":229},22],"i":[{".":97,"n":[{".":24}]}],"m":[{"p":83}],"r":[{"f":[{"ü":34}],"l":[{"a":34}]}],"s":[{"s":83},78],"x":83},2],"f":77,"g":77,"h":77,"i":[{"d":10,"e":10,"r":[{"u":83}],"s":78}],"k":77,"l":[{"a":[{"c":11}],"e":[{".":83,"i":[{"n":229}]}],"o":[{"c":83}],"ö":[{"c":83}]}],"m":[{"a":[{"s":83}],"e":[{"d":83}],"ö":77,"ü":[{"h":83}],"y":77}],"n":[{".":77,"e":[{"b":83}],"u":[{"t":83}]}],"o":[{"b":[{"j":83}],"r":[{"c":83}],"x":77}],"ö":[{"r":83}],"p":83,"q":77,"r":[{"a":[{"d":83}],"e":[{".":83}],"i":[{"n":83,"s":81}],"o":[{"m":4,"n":83,"u":83}]}],"s":[{"k":4},470],"t":[{"a":22,"i":22,"s":45},471],"u":[{"n":[{"t":83}]},88],"ü":181,"v":77,"w":[{"e":[{"b":11,"g":83,"r":[{"k":229}],"t":83}],"i":[{"d":83}],"ü":78}],"y":143,"z":77}],"j":77,"l":465,"o":[{"a":83,"p":207},77],"s":77,"u":77,"y":77},74],"d":[{"a":[{"m":[{"e":4}]},6],"e":[{"s":10}],"i":[{"e":[{"n":[{"e":18}]}]}],"o":81,"r":6},246],"e":[{"a":[{"t":[{".":1}],"u":10}],"b":[{"ä":181,"e":[{"n":155}]},2],"c":[{"h":[{"o":94,"s":[{"t":[{"r":53}]}],"t":94}],"k":94}],"d":[{"i":[{"k":5}]}],"e":[{"i":[{"g":4},98],"l":[{"e":[{"n":4}]},5],"n":[{".":1,"e":36,"p":1}],"r":[{".":1,"a":9,"e":22,"f":0,"i":381,"k":0,"s":0}],"s":141},78],"f":[{"f":76,"l":11}],"g":[{"a":[{"l":79}],"l":5,"r":11},87],"h":[{"a":[{"g":5,"k":5},9],"e":[{"l":5,"r":[{"e":18,"k":6}]}],"i":[{"n":20}],"l":4,"ö":12,"r":[{"a":4,"e":4,"i":141}],"s":4,"ü":[{"b":5}]},78],"i":[{".":77,"c":94,"d":[{".":94,"a":4}],"f":[{"e":[{"r":129}]}],"g":94,"l":78,"m":72,"n":[{".":130,"b":[{"u":[{"s":172}]},77],"d":[{"u":10}],"e":[{"i":15},95],"f":[{"l":83,"o":10}],"g":77,"h":76,"i":77,"k":77,"l":77,"n":[{"e":10},77],"r":77,"s":[{".":88,"c":83,"p":83,"t":[{"i":[{"t":27}],"r":53}]}],"t":[{"r":83},77],"w":77,"z":76},70],"s":[{"m":87},94],"t":[{"s":135},130]}],"k":[{"e":[{"l":246}],"z":83},78],"l":[{".":72,"a":20,"b":87,"d":65,"e":[{"c":9,"f":5,"g":165,"k":[{"t":[{"r":229}]}],"m":77,"r":[{"s":4},5]}],"f":[{".":77}],"i":[{"n":[{"s":18}],"t":71,"x":94}],"l":[{"e":4},72],"o":[{"b":5}],"s":[{"z":4},72],"t":[{"e":22}],"z":22}],"m":[{"e":2,"i":[{"s":155}],"p":76}],"n":[{".":88,"a":[{"d":6,"l":1,"s":6,"u":4}],"ä":5,"b":72,"d":[{"e":[{"t":78}],"l":198,"r":65,"w":94}],"e":[{"n":135,"r":[{"g":83,"s":6}]}],"f":72,"i":[{"d":5,"m":20},181],"k":[{"e":[{"l":[{"i":24}]}],"u":78}],"o":[{"t":[{"t":6}],"z":6},5],"s":[{"a":72,"e":[{"h":314,"m":83}],"i":[{"d":68}],"o":72,"t":[{"u":[{"r":[{"m":42}]}]},104]}],"t":[{"a":[{"n":4},22],"ä":4,"d":77,"f":77,"g":83,"n":83,"o":72,"r":4,"s":94,"w":77,"z":77}],"u":324,"v":[{"a":78}],"z":[{"a":4,"e":[{"r":11}],"w":4}]}],"o":[{"r":2},181],"p":[{"e":[{"n":5}]}],"q":181,"r":[{".":88,"a":[{"d":119,"l":4,"n":[{"d":1}]}],"ä":[{"u":[{"s":4}]}],"b":[{"e":[{".":81}]},22],"d":22,"e":[{"b":126,"i":[{"e":1,"m":12,"n":6}],"m":22,"n":[{"k":12},88]}],"f":[{"e":88,"o":70,"r":72,"ü":[{"l":83},81]}],"g":[{"a":36,"ä":70,"l":4,"r":72}],"h":70,"i":[{"e":181}],"k":10,"l":[{".":78}],"m":[{"i":[{"t":129}]}],"n":[{".":72,"ä":94,"e":[{"u":81}],"t":129}],"o":[{"b":10,"s":71,"t":70}],"ö":70,"s":[{".":72,"a":77,"e":[{"h":[{"n":24}],"t":249}]}],"u":[{"h":6,"m":2,"p":124},1],"v":472,"z":70}],"s":[{".":88,"a":3,"e":[{"l":5}],"h":77,"k":1,"s":[{"a":70}],"t":[{"r":[{"i":23}]}],"u":1}],"t":[{"a":[{"p":214,"t":5}],"h":155,"i":[{"k":155},2],"s":9,"u":[{"n":1}],"y":78,"z":78}],"u":[{"c":78,"l":129,"n":30}],"x":[{".":181,"a":77,"e":[{"n":4},5],"i":72,"o":72,"p":83,"t":[{"r":65}],"z":77},70]},74],"f":[{"a":[{"l":[{"l":[{"e":[{"r":55}]}]}]}]},473],"g":[{"a":[{"n":[{"g":18}]}],"e":[{"s":36}],"r":[{"o":23}]},316],"h":[{".":83,"a":[{".":78,"l":[{"l":[{"i":10}],"t":[{"s":18},104]}],"n":83},5],"c":83,"e":[{"n":74},5],"f":83,"i":[{".":78,"d":74,"g":88,"p":72,"r":239},5],"k":83,"n":1,"o":[{"c":83,"f":83,"m":83,"p":78,"r":[{"e":11}],"w":181}],"ö":129,"r":404,"s":83,"t":83,"u":81,"ü":129},94],"i":[{".":78,"a":[{"c":[{"h":[{".":1}]}],"l":[{"l":51}],"s":11,"t":77}],"c":[{"h":[{"a":5}]},474],"d":[{"e":[{"a":94,"e":77,"o":94,"r":1}],"o":85,"y":77}],"e":[{"b":[{"u":2}],"g":[{"e":[{"s":18}]}],"n":[{"e":1}],"r":[{"r":0}]},149],"f":121,"g":[{"a":20,"e":[{"i":20}],"n":11,"r":39,"s":22}],"k":[{"a":[{"b":20,"k":5,"r":5}],"ä":20,"e":[{"l":20,"n":[{"s":6}],"r":[{"l":4}]}],"i":[{"n":135},39],"n":39,"r":39,"s":36,"t":475,"u":5}],"l":[{"b":[{"r":2}],"e":2,"i":78,"l":70,"o":78}],"m":[{"m":94,"s":[{"t":2}],"u":78}],"n":[{"a":16,"d":94,"f":[{"e":83},94],"g":[{"a":45,"l":[{"e":65}],"r":166,"s":152}],"h":94,"i":476,"k":72,"n":[{"e":[{"r":101}],"o":94}],"q":94,"s":94,"t":94,"v":94}],"o":78,"r":[{"n":10,"r":77,"u":78}],"s":[{"a":[{"m":6},5],"c":[{"h":[{"u":6}]}],"e":126,"i":[{"s":6},5],"o":[{"r":9},71],"p":39,"s":36,"t":[{"a":[{"r":6}],"o":1,"u":5},130],"u":5},78],"t":[{"a":[{"l":5,"u":5}],"r":[{"a":5}],"u":113},78],"u":78,"v":[{"a":5,"e":[{"r":[{"f":12},104]},23],"i":[{"n":5}],"o":[{"r":5},191]}],"z":2},74],"í":74,"j":129,"k":[{".":83,"a":[{"b":129,"d":81,"l":[{"a":74,"k":83,"t":81}],"m":129,"n":[{"a":83,"ä":129,"d":[{"a":78}],"n":83}],"p":83,"r":129,"s":129,"t":[{"e":[{".":11,"g":83,"s":11}],"o":11}],"u":83},6],"ä":129,"b":83,"e":[{"l":[{"i":2}],"n":83,"p":78,"r":83,"t":129}],"h":81,"i":[{".":87,"f":87,"k":87,"m":81,"n":81,"s":[{".":72}],"z":78}],"l":[{"a":[{"s":129,"v":87}],"u":129},6],"n":415,"o":[{"h":83,"l":83,"m":83,"n":83,"p":[{".":78,"r":2}],"s":83,"w":83}],"ö":129,"r":[{"a":129,"o":83},6],"s":83,"t":[{"o":22},188],"u":[{"l":[{"p":78}],"n":83,"s":166}],"ü":83,"v":83},155],"l":[{".":83,"a":[{"b":81,"l":78,"m":[{"a":2}],"r":83,"v":[{"e":2}],"w":72}],"b":1,"e":223,"i":[{"p":149},81],"n":83,"o":[{"b":[{"e":4}],"c":81,"g":[{"a":88}],"w":87}],"u":81,"y":81},155],"m":[{"a":[{"b":65,"s":[{"c":4,"p":10}]}],"e":[{"n":[{"a":4}]}],"i":[{"t":166}]},316],"n":[{"a":[{"b":10}],"i":[{"a":11,"e":[{"r":[{".":4,"s":4}]}]}],"o":[{"t":223}],"y":143},165],"o":[{".":78,"a":[{"s":76}],"b":[{"a":203,"j":83,"o":129},155],"c":[{"h":0}],"d":[{"i":5,"o":5}],"e":[{"t":1}],"f":[{"e":71,"t":78}],"g":[{"l":11},78],"h":[{"e":71,"l":[{"e":104},78],"n":[{"g":76}],"r":94}],"i":[{"d":1},208],"k":76,"l":[{".":78,"a":[{"u":6},1],"d":78,"e":[{"i":20},78],"i":1,"l":[{"a":209,"e":[{"r":11}]}],"o":3,"y":243},74],"m":[{"m":74}],"n":[{"a":[{"u":4},2],"e":22,"g":[{"l":11}],"s":[{"ä":4,"o":28}]},87],"o":1,"p":[{"e":77,"f":77,"r":78},70],"r":[{"d":94,"e":[{"i":5,"l":5},22],"g":[{"a":94,"e":74}],"h":0,"i":[{"e":155}],"o":5,"p":78,"t":[{"i":87}],"u":6}],"s":[{".":87,"c":78,"k":6,"m":77,"t":[{"h":6},77],"z":116},89],"ß":86,"t":[{"h":3,"t":78},77],"u":[{"n":[{"d":[{"s":1},135],"t":1},22],"t":94}],"v":78,"w":78,"x":155,"z":[{"e":70},78]}],"ö":[{"d":155,"f":80,"k":94,"l":94,"s":214}],"p":[{".":77,"a":[{"a":77,"c":[{"e":72,"k":77}],"g":[{"e":2},77],"k":77,"l":[{"a":77,"ä":77,"t":78}],"m":2,"n":[{".":72,"n":[{"u":78}],"o":77,"s":72,"t":78,"z":77},74],"p":83,"r":[{"a":76,"e":74,"o":77,"r":74,"t":[{"e":[{"n":390}],"n":83}]}],"s":[{"s":[{"e":4,"i":34}]},22],"t":[{".":74,"i":77,"r":77}],"u":77,"z":87}],"ä":[{"d":77,"h":78,"r":77,"s":77},72],"e":[{".":77,"g":77,"i":[{"n":83},74],"n":[{"s":[{"i":83}]}],"p":65,"r":[{"a":72,"b":78,"g":87,"i":70,"l":[{"e":83}],"o":77,"r":[{"a":10},72],"s":77}],"t":83,"z":149}],"f":477,"h":[{"a":83,"ä":[{"r":78},72],"e":81}],"i":[{"e":[{"r":[{"r":18},129]},389],"k":2,"l":129,"p":76,"s":129,"t":87,"z":87},74],"l":[{"a":83,"ä":129,"i":87,"u":316},77],"n":81,"o":[{"d":77,"e":83,"i":72,"k":76,"l":83,"n":[{"s":72},74],"o":83,"p":77,"r":[{"e":72,"n":87},74],"s":129,"t":[{"e":83}]}],"r":[{".":83,"a":[{"c":87,"k":77,"n":72,"x":77}],"ä":[{"m":77,"n":72,"s":77}],"e":[{"c":78,"d":77,"n":130,"s":76}],"i":[{"n":[{"g":78,"z":83}],"t":72}],"o":[{"b":83,"d":83,"g":77,"j":83,"p":77,"s":[{"s":181}],"t":77,"z":77}],"ö":78,"u":87,"ü":[{"c":78,"f":77,"n":74}]}],"s":76,"t":107,"u":[{"b":77,"d":77,"k":74,"l":[{"e":87}],"n":81,"p":83,"r":[{"e":[{"r":11}]},78]}],"ü":74,"y":77},5],"q":94,"r":[{"a":[{"s":[{"s":25}],"t":[{"s":22}]}],"e":[{"c":[{"h":[{"a":4}]}]}],"o":[{"h":2,"t":[{"u":4}]}],"ö":[{"s":2}],"ü":[{"c":[{"k":[{"e":[{"r":172}]}]}]}]},316],"s":[{".":229,"a":[{"b":[{"a":81,"i":1,"o":4}],"c":[{"k":143}],"d":5,"g":[{"i":6}],"j":103,"l":[{"b":[{"a":1}],"l":72}],"m":[{"t":88}],"n":[{"f":72,"g":88,"o":88,"s":88,"t":5,"z":88}],"r":[{"a":5,"g":5,"s":81}],"t":[{"t":85}],"u":[{"e":23,"r":10}]},83],"ä":243,"b":83,"c":[{"e":72,"h":[{"a":[{"n":[{"k":[{"e":[{"r":430}]}]}]}]},22],"r":72},229],"d":83,"e":[{"a":4,"c":284,"e":[{"c":9},83],"f":83,"g":83,"h":[{"a":22},83],"i":[{"n":[{"d":6,"t":4},72]},83],"k":83,"l":[{"e":[{"k":83}],"ö":2}],"m":[{"p":83}],"n":[{"d":[{"e":[{"t":229}],"u":129}],"e":[{"r":[{"g":229}]}],"k":[{"e":[{"l":53}]}],"m":[{"a":[{"s":172}]}],"s":[{"e":[{"m":53}]}],"t":[{"l":83,"s":83,"z":83}]}],"p":[{"e":0}],"r":[{"a":[{"t":[{"t":24}]}],"e":[{"i":[{"g":7}]}],"g":[{"r":6}],"h":[{"ö":10}],"m":[{"i":[{"t":53}]}],"ö":[{"f":10},72],"s":[{"e":230}],"u":6,"w":[{"e":[{"i":53}]}]}],"s":[{"c":83,"h":78,"s":[{"a":10}],"t":[{"r":478}]}],"t":[{"a":4,"h":81},83],"z":83}],"f":83,"g":83,"h":[{"i":1},83],"i":[{"c":83,"k":[{"o":3}],"m":[{"p":72}],"o":229,"s":[{"r":0}],"t":83}],"j":83,"k":[{"a":[{"l":[{"a":81}]}]},83],"l":479,"m":[{"u":[{"t":104}]},83],"n":83,"o":[{"f":[{"f":0}],"i":10,"l":81,"p":88},83],"ö":83,"p":[{"e":[{"n":5}],"h":[{"i":5}],"r":[{"ä":81,"i":81}]},83],"q":[{"u":[{"e":[{"t":101}]}]}],"r":83,"s":[{"a":[{"u":18}]},480],"t":[{"a":[{"d":143,"g":175},2],"ä":81,"e":[{".":88,"l":143,"p":332,"r":[{"n":143}],"s":88,"t":88,"u":143},30],"i":[{"n":4,"s":0},2],"o":[{"p":143,"r":0}],"r":[{"a":[{"t":124}],"ö":81}],"ü":81},83],"u":[{"m":[{"g":72,"r":72},83],"n":[{"t":83}],"p":83,"r":5,"s":81}],"ü":83,"v":83,"w":83,"y":129,"z":83},94],"t":[{".":229,"a":[{".":149,"a":181,"b":[{".":181,"b":77,"e":[{"l":83}],"g":77,"h":77,"i":[{"t":83}],"l":77,"n":77,"t":77,"z":77}],"c":5,"d":[{"a":77},72],"f":[{"f":78}],"g":[{"r":87},77],"h":78,"k":77,"l":[{"a":[{"k":4},77],"b":77,"g":77,"i":475,"k":77,"p":0,"r":0}],"m":[{"i":0,"m":[{"a":10}],"p":[{"l":83}],"t":83},78],"n":[{"b":77,"d":87,"f":83,"g":[{"e":[{"h":229}]}],"h":83,"l":83,"n":284,"s":[{"p":1,"t":83}],"t":[{"r":83},78],"w":77,"z":[{"a":83}]}],"p":[{"o":4,"p":128}],"r":[{".":72,"e":[{"n":[{"s":24}]}],"s":228,"t":88}],"s":[{"c":77,"i":[{"e":11}],"t":18}],"t":[{"b":77,"i":481,"t":[{"h":453}],"u":453}],"u":[{"f":77,"r":181,"s":77}],"v":[{"e":30}],"x":77}],"ä":[{"b":78,"d":78,"g":77,"l":[{"t":77}],"m":[{"t":77}],"n":[{"d":78}],"p":83,"r":130,"t":[{"t":78}],"u":[{"s":77}]}],"b":83,"c":107,"d":83,"e":[{"a":[{"m":83,"n":72}],"c":[{"h":[{"n":83}]}],"d":[{"i":0},2],"g":[{"r":166}],"h":[{"r":83},72],"i":[{".":6,"c":83,"d":284,"g":[{"r":10},250],"l":[{"c":81},83],"n":[{"a":10,"g":[{"a":229}],"h":[{"e":229}],"s":[{"p":13}]}]}],"l":[{"b":0,"e":81,"l":[{"ä":[{"n":55}]},5]},72],"m":[{"a":[{"r":11}],"e":[{"n":[{"t":24}]}],"p":[{"e":[{"r":229}],"f":83}]}],"n":[{"a":11,"d":[{"s":230}],"s":5,"t":[{"f":83,"l":83,"s":83,"w":83}]}],"p":[{"i":83,"o":30}],"r":[{"a":166,"b":[{"s":83},72],"e":[{"i":[{"g":229}]}],"f":[{"ü":1},72],"g":5,"h":72,"j":72,"k":72,"m":[{"a":[{"s":[{"s":[{"e":247}]}]}]}],"n":72,"r":[{"a":[{"s":229}]}],"s":72,"z":[{"o":10}]}],"s":[{"e":75,"t":[{"a":23,"b":83,"n":83,"s":83}]}],"t":[{"a":[{"b":11,"g":11},83]}],"u":[{"f":83,"n":1},72],"v":0,"x":[{"a":72},83]},78],"f":83,"g":77,"h":[{"e":[{"n":5}],"i":0,"o":1,"y":0},77],"i":[{"d":30,"e":[{"f":[{".":83,"l":83}],"l":250}],"f":181,"g":[{"e":[{"l":11}]}],"l":5,"m":[{"m":[{"a":83},78],"p":77}],"n":[{"b":128,"f":83,"g":78,"h":83,"s":77,"t":83}],"o":88,"p":[{".":77,"p":[{"s":83}]}],"r":[{"a":0,"i":0,"o":0},2],"t":[{"e":77}]}],"j":77,"k":77,"l":83,"m":[{"a":[{"s":152}]},83],"n":77,"o":[{"b":[{"l":2}],"c":[{"h":[{"t":83}]}],"d":[{"e":72}],"f":[{"f":[{"e":[{"n":[{"s":27},172]}],"i":[{"z":229}]}]},87],"m":[{"i":4,"n":77}],"n":[{"a":83,"e":482,"l":83},77],"p":[{"e":77,"o":77}],"r":[{"d":77,"f":77,"g":77,"y":72}],"u":83}],"ö":[{"c":[{"h":83}],"l":77,"r":130,"s":[{"t":77}],"t":77}],"p":83,"q":77,"r":[{"a":[{"d":[{"e":6}],"f":[{"a":10}],"g":77,"h":72,"i":77,"l":87,"n":[{"s":83}],"s":87,"ß":78,"u":[{"m":83}]}],"ä":[{"c":77,"g":76,"n":[{"e":83}]}],"e":[{".":77,"c":[{"h":83}],"f":77,"g":77,"i":[{"b":83,"f":483}],"p":77,"t":77,"v":77}],"i":[{"a":149,"b":77,"g":83,"s":[{"i":83}]}],"o":[{"c":83,"f":87,"h":87,"k":87,"p":[{"f":83,"o":149}],"s":[{"s":6,"t":83}],"y":78}],"ö":[{"p":77}],"u":[{"b":77,"k":78,"m":72,"n":77,"p":77,"t":77}]}],"s":[{"a":[{"s":104}],"i":[{"d":10}],"p":11},188],"t":233,"u":[{"b":78,"c":[{"h":83}],"d":78,"e":77,"f":78,"g":[{"a":1},77],"h":78,"k":77,"m":[{"o":77,"r":77,"s":[{"c":81},150],"t":77,"z":77}],"n":[{".":77,"a":107,"e":77,"f":77,"i":107,"s":77,"t":77}],"ö":78,"r":[{"a":4,"e":34,"l":107,"n":76,"t":107,"z":87}]},5],"ü":[{"c":[{"h":83,"k":87}],"h":78,"r":[{".":77,"e":77,"g":77,"s":77,"w":77}],"t":[{"c":77}]}],"v":77,"w":[{"o":[{"r":104}]},77],"y":[{".":83,"p":83,"s":83},77],"z":194},74],"u":[{"a":[{"n":0}],"b":[{"a":6,"i":83,"r":6,"s":10},410],"c":[{"h":[{"a":5,"o":5}]},474],"d":78,"e":[{"b":5}],"f":[{"i":1},155],"h":94,"i":[{"s":0,"t":[{".":0}]},74],"k":5,"l":[{"i":3}],"m":[{"a":[{"n":5,"r":5},9],"e":[{"i":5,"l":5,"n":[{"t":[{"s":21},101]}],"t":20},87],"f":76,"i":[{"d":20,"n":5}],"m":87,"o":[{"r":5},98],"p":72,"s":[{"a":81,"e":77,"p":72,"t":76},70],"w":[{"a":76}]}],"n":[{"a":94,"d":[{"e":[{"r":[{"h":43},101]}]}],"e":6,"f":198,"g":[{"e":[{"n":[{"a":229}]}],"l":76}],"i":198,"m":94,"s":70,"t":77},5],"p":[{"d":83,"p":65},78],"r":[{"a":5,"e":[{"i":5,"r":5},10],"f":78,"k":94,"l":70,"o":20,"t":70}],"s":[{"a":3,"e":9,"i":4},5],"t":[{"r":1},79],"z":2}],"ü":[{"b":348,"c":78,"d":[{"e":[{"n":[{".":1},18]}]},20],"f":74,"n":78,"s":[{"s":[{"e":1,"i":1}]},202],"ß":74}],"v":[{"o":[{"r":[{"a":[{"n":101}]}]}]},243],"w":[{"e":[{"g":[{"e":[{"r":[{"s":24}]}]}],"h":22,"s":34}],"i":[{"e":83,"l":83,"n":[{"k":83}],"s":83,"t":83}]},76],"y":[{"l":[{"o":5,"u":5},158],"m":4,"n":[{"d":78,"o":6},39],"s":78},84],"z":[{"a":129,"ä":83,"e":[{"i":129,"l":83,"n":[{"a":87,"e":484,"t":83}],"r":83,"s":72,"ß":72,"w":88}],"i":[{"e":129,"n":[{"s":81}]}],"o":129,"s":81,"t":[{"a":1}],"u":129,"ü":83,"w":83,"y":83},155]}],"ß":[{"a":[{"n":9,"t":4},139],"ä":94,"b":[{"u":[{"s":23}]},214],"c":94,"d":214,"e":[{"b":155,"c":94,"f":94,"g":155,"i":94,"k":94,"l":[{"e":[{"k":77}],"u":1},5],"m":[{"p":94}],"n":[{"a":184,"e":[{"r":[{"g":83}]}],"i":5,"k":[{"e":70}],"o":5,"t":[{"e":485,"z":77}],"u":5}],"p":155,"r":[{".":87,"b":4,"e":[{"i":2}],"l":[{"a":2}],"o":5,"s":[{"e":94}],"t":4,"w":70}],"s":[{"s":329,"t":[{"r":486}]},5],"t":5,"x":94},74],"f":214,"g":[{"e":[{"b":[{"l":2}]}]},165],"h":94,"i":[{"g":[{"a":20}],"k":165,"l":94,"m":94,"n":94},74],"j":70,"k":139,"l":155,"m":[{"u":[{"t":22}]},155],"n":165,"o":139,"ö":116,"p":155,"q":[{"u":[{"e":[{"t":104}]}]},94],"r":[{"ö":2,"u":[{"s":23}]},243],"s":[{"a":[{"u":10}],"c":[{"h":22}]},139],"t":[{"h":0,"i":[{"n":0}],"s":2},94],"u":[{"f":70,"h":94,"m":94,"n":[{"g":72,"i":70,"t":77}]},398],"ü":116,"v":94,"w":94,"z":165}],"t":[{"a":[{"a":77,"b":[{".":77,"a":[{"n":39},78],"b":94,"d":83,"e":[{"l":74}],"f":77,"g":77,"h":77,"i":[{"t":165}],"k":77,"l":[{"a":77,"e":74}],"m":83,"n":76,"r":348,"s":[{"t":70},83],"t":76,"u":78,"w":83,"z":83}],"c":[{"h":[{"e":72}],"u":78},94],"d":[{"a":70,"d":77,"e":[{"r":5}],"i":[{"o":487,"s":10},23],"m":70,"o":[{"l":5}],"r":155,"s":3}],"e":[{"r":5}],"f":[{"e":[{"t":77},74],"g":70,"r":70}],"g":[{"a":5,"e":[{"i":126,"n":[{"t":129}],"s":22}],"g":94,"l":1,"o":155,"s":[{"a":[{"n":11}],"t":11},28]},74],"h":108,"i":[{"k":3,"l":28,"n":[{"s":0}],"r":[{".":0},11],"s":30},78],"k":[{"a":155,"e":[{"s":1}],"k":94,"r":[{"o":5}],"s":77,"t":[{"o":142,"u":72}],"z":77},74],"l":[{".":87,"a":[{"d":1,"g":1,"u":4},5],"b":[{"r":74,"u":74}],"d":10,"e":[{"n":[{"d":12,"g":4,"s":12},2],"r":[{"g":260},104],"t":5},74],"g":[{"a":2}],"i":[{"e":[{"n":[{"e":53}]}]}],"l":[{"a":[{"c":25}],"e":[{"g":11,"i":11,"t":11,"u":[{"t":24}]}],"i":[{"n":[{"s":409}]}],"o":[{"s":11}],"ö":22,"s":23,"u":[{"s":11}]}],"m":[{".":94}],"o":[{"p":5,"r":126}],"t":[{"a":154,"h":4,"r":10}],"u":5}],"m":[{".":87,"e":[{"n":72,"r":71}],"i":5,"m":[{"a":209,"e":[{"r":25}],"i":11,"u":[{"t":11}]}],"p":[{"l":70}],"s":87,"t":198},77],"n":[{"a":[{"b":4,"l":83,"t":6},71],"ä":155,"d":[{"a":[{"r":65}],"r":2}],"e":[{"r":[{"f":6}]}],"f":83,"g":[{"r":[{"a":11}]},77],"h":[{"o":72},77],"i":88,"j":78,"k":[{"l":2},84],"l":129,"m":70,"n":[{"a":94,"e":87}],"o":[{"m":77},70],"s":[{".":72,"i":83},70],"t":[{"a":[{"n":11}],"e":[{".":88,"i":83}],"r":77}],"u":10,"w":[{"a":77,"ä":77}],"z":[{".":72,"a":70,"e":[{"i":83}],"k":78,"r":78,"u":70,"w":28}]}],"o":[{"r":1},2],"p":[{"e":[{"s":5},88],"f":77,"l":5,"o":[{"k":[{"a":6}]}],"p":[{"e":72}]}],"r":[{"a":[{"b":[{"b":78},77],"k":1,"l":488,"m":77,"p":4,"s":1,"u":72},5],"b":[{"a":78,"e":[{"k":78,"r":78}],"i":78,"l":335},77],"c":[{"h":[{"l":78,"r":78}]},77],"d":72,"e":[{"l":5,"r":20}],"g":4,"h":30,"i":78,"k":[{"l":242,"o":87},77],"l":72,"m":[{"ä":72},94],"o":[{"m":5,"t":77}],"t":[{"a":87,"e":[{"i":78,"r":[{"e":409}],"x":78}],"h":87,"i":[{"s":149},70],"o":2,"r":2,"y":78},77],"u":5,"z":[{"t":77},70]}],"s":[{".":72,"a":3,"c":74,"p":198,"s":[{"i":76}],"t":[{"e":[{"m":6}],"o":5,"r":1},74],"y":72}],"t":[{".":88,"a":[{"b":35,"n":5}],"b":78,"e":[{"i":9,"l":332,"m":5,"n":74,"r":20},88],"l":76,"o":[{"m":77}],"r":80,"s":[{"a":74}],"t":77}],"u":[{"b":[{"a":28,"h":74,"l":2,"r":166}],"c":[{"h":[{"s":[{"p":50},101]}]}],"d":77,"f":[{"e":[{".":78}],"l":[{"i":65}],"m":83,"n":77,"o":350,"p":83,"s":104,"w":83},70],"g":[{"e":129},74],"k":70,"m":[{"a":83,"e":74},78],"s":[{"b":198,"c":[{"h":[{"a":24,"m":24,"r":24,"w":24}]}],"d":77,"e":96,"f":94,"g":81,"k":70,"l":77,"r":77,"s":76,"w":256,"z":77},74]}],"v":[{"a":[{"n":5}]}],"x":[{"i":[{"s":23}],"t":198},78]}],"ä":[{"ä":77,"b":77,"c":0,"d":77,"f":72,"g":[{"y":77},74],"h":77,"l":[{"e":78,"l":77,"t":94}],"m":[{"t":70},80],"n":[{"g":[{"s":70}],"z":74}],"p":94,"q":77,"r":[{"e":[{"n":[{"g":6}]}],"u":5,"z":77}],"s":5,"t":[{"i":[{"g":[{"k":78}]}],"t":83},72],"u":[{"g":77,"s":74,"ß":77}],"x":77}],"à":74,"b":[{"a":[{"u":[{"e":[{"r":101}]}]}],"e":[{"r":[{"e":22}]}],"l":[{"o":[{"c":[{"k":[{"e":[{"n":58}]}]}]}]}],"u":[{"s":23}]},316],"c":[{"h":[{"a":81,"e":81,"i":2,"l":4,"r":81,"u":328,"w":9}],"l":81,"o":[{"r":22}],"r":81},94],"d":[{"a":[{"r":[{"m":167}]}],"u":[{"n":22}]},316],"e":[{"a":[{"b":1,"c":4,"g":1,"k":77,"l":1,"m":[{"m":[{"a":100}]}],"n":1,"r":1,"s":11},397],"b":[{"a":78,"b":88,"e":[{"n":155}]}],"c":[{"h":[{"n":74,"u":5},72],"k":77,"u":70}],"d":[{"i":[{"t":5}]}],"e":[{"m":0,"n":45,"r":[{".":5,"w":0}],"s":5},74],"f":[{"a":78,"f":77}],"g":[{"g":94}],"h":[{"a":[{"c":5}],"e":77,"i":[{"m":5}],"r":94,"u":1}],"i":[{"c":74,"f":[{"l":9}],"g":[{"n":77}],"k":10,"l":[{"e":[{"n":[{"t":24}]}]},84],"m":22,"n":[{"b":[{"u":[{"s":172}]}],"e":[{"n":[{"s":24},101]}],"h":[{"a":[{"b":53}]}],"k":[{"ü":81}]},77],"s":[{".":94,"b":70,"c":[{"h":[{".":7}]},4]}],"t":10,"w":70,"z":4}],"k":[{"e":[{"l":5}],"o":78,"t":65}],"l":[{"a":[{"b":4,"c":9,"n":[{"t":6},1],"u":9},5],"ä":5,"b":10,"d":65,"e":[{"c":9,"f":74,"g":74,"h":[{"r":4}],"m":77,"n":[{"g":4}],"r":5,"u":5}],"f":[{".":129}],"i":[{"m":6,"n":20,"t":5}],"l":[{"e":[{"i":[{"n":24}]},4],"i":[{"s":[{"t":489}]},4]}],"o":[{"b":5,"m":1,"s":[{"t":6}]}],"ö":20,"s":[{"k":36}],"t":[{"a":4,"r":10}]}],"m":[{"a":[{"n":5,"p":20,"u":5},72],"b":[{"o":108}],"e":[{"i":20,"r":20}],"g":77,"i":[{"m":36,"n":[{"g":4}]},80],"l":77,"n":77,"o":[{"r":98},80],"p":[{"e":[{"r":78}],"f":77,"o":74}],"s":22,"u":[{"n":6},5]}],"n":[{".":175,"a":[{"d":6,"n":12,"r":4,"s":6,"t":6,"u":4},98],"ä":277,"d":[{"a":[{"l":81,"n":10,"p":83},4],"f":256,"l":94,"o":175,"p":256,"r":65}],"e":[{"b":126,"f":5,"h":5,"i":[{".":16,"d":18},4],"m":10,"n":[{"d":12,"e":6,"g":6,"s":6},135],"r":[{"g":129,"n":12}]}],"f":10,"g":[{".":70,"a":[{"g":249},22],"l":[{"a":81}]}],"i":[{"l":6,"m":9,"n":12},5],"k":10,"n":36,"o":[{"l":5,"s":5}],"ö":1,"s":[{"e":[{"m":129}],"o":74,"p":22}],"t":[{"a":72,"b":70,"d":77,"l":76,"n":76,"r":[{"i":[{"c":24}]}],"s":70,"w":223,"z":77}],"u":5,"z":[{"e":[{"r":25}]},72]}],"o":[{"f":2}],"p":[{"i":155,"t":22}],"r":[{".":88,"a":[{"c":4,"d":5,"l":[{"g":4},0],"n":[{"e":16}],"p":39},88],"b":[{"s":94,"t":94}],"d":[{"e":[{".":129}],"s":36}],"e":[{"b":126,"c":5,"i":[{"g":81}],"k":7,"m":[{"a":6},22],"n":[{"d":12,"e":6,"g":6,"t":[{"h":50},12]}],"r":[{"k":[{"u":13},15],"l":15,"p":12,"s":6,"w":6}]}],"f":[{"r":88}],"g":[{"a":4,"e":[{"b":[{"n":229}],"m":175,"s":175,"w":175}],"l":4,"r":[{"e":[{"i":229}],"u":88}],"u":94,"ü":77},22],"h":[{"a":[{"l":[{"l":175}],"u":175}],"ä":[{"u":88}],"e":[{"i":88}],"i":72,"o":72,"ö":[{"h":[{"u":229}]}],"u":72}],"i":[{"a":1,"i":83,"k":[{"o":4}],"o":10,"t":[{"a":10},39]}],"k":[{"l":[{"ä":83}]}],"l":[{"ä":88,"i":88,"ö":[{"s":11}]}],"m":[{"a":[{"s":101}],"i":74}],"n":[{".":72,"a":[{"r":11}],"c":175}],"o":[{"b":[{"e":11},0],"s":77},88],"ö":287,"p":88,"r":[{"a":[{"s":78},88],"e":[{".":11}],"o":88}],"s":[{".":88,"e":72,"t":[{".":88,"a":[{"d":175,"t":24}],"ä":88,"i":88,"r":88,"u":88,"ü":88}]}],"t":[{"a":65,"r":[{"ä":11}]}],"u":[{"f":37,"n":[{"g":1}]},286],"v":88,"w":[{"ä":[{"h":129}]}],"z":[{"a":36,"b":94,"e":[{"i":88,"u":83}],"w":4}]}],"s":[{".":72,"a":[{"k":22}],"ä":1,"c":1,"e":[{"l":[{"i":4}],"r":1}],"i":1,"o":1,"p":[{"e":[{"r":6},9],"r":6},1],"s":[{"a":94,"i":4}],"t":[{"ä":[{"t":4}],"b":74,"e":[{"r":[{"g":21,"h":221,"k":21},101]}],"o":1,"r":[{"a":4,"i":490}],"s":74},2]},5],"t":[{"a":[{"b":[{"l":6}],"p":80,"t":5},70],"e":[{"n":15}],"h":[{"o":1},155],"l":83}],"u":[{"f":78,"n":30,"p":94}],"v":[{"a":5,"i":5}],"w":[{"a":[{"s":22}],"o":78}],"x":[{"a":[{"m":77}],"e":155,"i":155,"p":83,"t":[{"a":11}],"z":94},74]}],"è":5,"f":[{"ä":[{"s":23}]},491],"g":[{"a":[{"s":[{"e":[{"r":25}],"u":11}]}],"e":[{"n":[{"e":[{"n":492}]}],"r":[{"a":22,"i":22}]},81],"r":[{"o":23},6]},246],"h":[{".":83,"a":[{".":78,"g":87,"k":83,"l":[{".":78,"h":78,"i":88,"s":84}],"n":[{".":72,"d":81}],"p":81,"u":129},155],"ä":[{"i":78,"l":83},94],"b":77,"c":83,"e":[{"a":149,"b":94,"f":94,"i":[{"n":9,"t":83},94],"k":72,"m":[{"d":77,"m":77}],"n":[{"n":70}],"o":78,"r":[{"d":70,"o":135,"r":94,"z":94}],"s":[{"s":198}],"u":72},398],"f":77,"i":[{".":78,"c":[{"k":213}],"e":[{"r":[{".":4}]}],"l":94,"m":94,"n":[{"u":4},94],"r":94},5],"k":77,"l":107,"m":[{"u":22},188],"n":194,"o":[{"b":94,"c":[{"h":[{"r":4}]}],"f":70,"h":94,"l":[{"t":70,"z":77}],"n":72,"p":[{"s":83}],"s":[{"e":70}],"t":[{"e":83},70],"u":77,"v":70}],"ö":77,"p":77,"r":397,"s":77,"t":108,"u":[{"b":77,"h":77,"n":129,"t":77},70],"ü":94,"v":77}],"i":[{"a":[{"c":1,"g":0,"l":[{"l":22,"o":1}],"m":30},88],"c":[{"e":0,"h":[{"r":1}],"k":[{"e":[{"t":78}]}]}],"d":[{".":72,"e":[{"e":77,"n":[{"d":38}]}],"y":1}],"e":[{"f":[{".":74,"e":[{"l":83}],"l":74,"r":2}],"g":10,"i":20,"l":[{".":5,"a":23},0],"n":381,"r":[{"e":[{"i":11,"u":11}],"m":[{"a":[{"s":172}]}],"n":5,"r":74}],"s":[{"s":[{"e":34}]}],"u":0}],"f":[{"e":1,"f":4,"r":121,"t":[{"e":[{"r":[{"k":31}]}]}]}],"g":[{"e":[{"r":[{"z":6}]}],"i":[{"t":5}]}],"h":[{"i":10},2],"k":[{"a":[{"m":5,"r":5}],"e":[{"n":[{"t":6},104],"r":[{"e":16,"l":1}]}],"i":[{"n":5}],"l":[{"u":6}],"n":5,"o":[{"p":20}],"r":[{"a":5,"ä":5,"e":[{"i":6}]},9],"s":22}],"l":[{"a":[{"r":5}],"d":4,"e":[{"i":5,"l":5}],"g":[{"u":78},74],"l":[{"e":[{"b":18}],"u":77}],"ö":5,"t":10,"u":5}],"m":[{"a":[{"g":35}],"m":[{"a":[{"n":11,"t":[{"e":489}]}],"e":[{"r":[{"g":24},101]}],"i":[{"t":11}]}],"p":77}],"n":[{"a":[{"f":1,"k":1,"n":39},88],"d":70,"e":[{"i":45},44],"f":94,"g":[{"a":2,"l":23,"s":152}],"h":94,"i":[{"s":78,"t":318}],"k":[{"a":70,"l":28,"n":2,"r":2,"u":70}],"n":72,"o":[{"r":5}],"s":[{"a":81,"ä":72,"e":129,"p":[{"a":11}],"u":[{"m":11}]},70],"t":[{"e":[{".":78}]},70],"u":[{"m":2},1],"v":198}],"o":[{"s":[{"k":5}],"x":[{"i":15}]},78],"p":[{".":74,"l":16,"p":74,"s":78}],"q":[{"u":[{"e":[{".":6}]}]}],"r":[{"a":[{"d":74}],"h":0,"o":[{"n":6}]}],"s":[{"c":[{"h":[{"e":[{"i":21}],"l":15,"w":15}]},72],"e":[{"i":5}],"k":1,"l":70,"o":70,"p":5,"r":70,"t":[{"h":3,"i":[{"c":12}]}],"u":5}],"ß":94,"t":[{"a":[{"l":5},227],"e":86}],"u":[{"m":[{"s":10}]},78],"v":[{"a":[{"n":5}],"e":[{"l":5,"n":[{"e":6}],"r":[{"h":6,"k":6,"l":6},104]}],"o":20,"r":12}],"z":[{"a":5,"i":[{"r":5}]}]}],"j":94,"k":316,"l":[{"a":[{"n":[{"g":22}]}],"e":[{"i":[{"d":[{"e":[{"r":53}]}]}],"p":88,"r":[{"a":2}]},6],"i":[{"n":[{"g":[{"s":100}],"i":34}],"t":45},223],"ö":143},165],"m":[{"a":[{"l":22}],"e":[{"n":[{"s":[{"c":[{"h":[{"l":27}]}]}],"t":[{"s":101},325]}]}],"o":[{"d":[{"e":[{"s":11}]}]}]},246],"n":[{"a":143,"e":[{"s":10}],"i":[{"v":4}]},139],"o":[{"a":[{"s":6,"t":56}],"b":[{"a":72,"j":83,"l":2,"s":70,"t":74}],"c":[{"h":[{"s":76,"t":74},0],"k":[{"e":[{"n":[{"t":51}]}]},77]}],"d":[{".":78,"e":[{"r":437}],"u":[{"n":5}]},238],"f":[{"f":[{"e":[{"n":[{"t":43}],"r":25}],"i":77}]}],"h":[{"r":76}],"i":[{"r":11}],"k":11,"l":[{"e":[{"r":74},1]}],"m":[{"a":[{"r":[{"b":18}]}],"e":[{"n":[{"e":6}]}],"i":[{"n":5},78],"o":74,"u":[{"n":6},20]}],"n":[{"a":[{"n":5,"u":4}],"d":22,"e":[{"h":268,"r":[{"k":[{"e":13}]}]}],"o":[{"b":5}],"y":77},74],"o":78,"p":[{"a":[{"d":5,"k":5,"n":5,"s":1,"t":5}],"e":70,"h":[{"i":9}],"o":74,"t":348}],"r":[{".":88,"a":[{"g":22}],"ä":[{"n":6}],"d":[{"i":72,"n":76},70],"e":[{"i":5,"l":5,"m":5,"n":[{"n":[{"a":21}]}]},88],"f":[{"a":[{"n":11}]},74],"g":[{"a":77},154],"i":[{"e":[{"n":[{"t":218}]}],"n":[{"s":18,"t":4}]}],"ö":5,"p":74,"s":88,"t":[{".":94,"a":36,"h":70,"n":83,"s":493},74],"u":6,"ü":[{"b":6},1]}],"s":[{"k":[{"a":12}],"t":22},3],"t":[{"ä":5,"e":[{"n":74}],"h":[{"o":5}]}],"u":[{"i":[{"l":104}],"n":1},87],"x":0}],"ö":[{"c":[{"h":74,"k":77},5],"d":155,"f":80,"k":198,"l":[{".":77},74],"n":74,"r":72,"s":[{"t":116}],"t":74}],"p":[{"f":11,"i":[{"n":2}]},139],"q":94,"r":[{".":77,"a":[{"c":[{"h":[{"a":4,"l":4}]},74],"d":[{".":76,"e":[{"m":11},77],"i":[{"e":81},74]}],"f":[{"a":[{"h":11,"r":11}],"f":77}],"g":[{"e":[{"n":34}]},238],"h":[{"m":77}],"i":149,"k":[{"e":76,"t":88}],"l":[{"l":23}],"m":74,"n":[{".":149,"d":83,"g":77,"k":74,"n":81,"s":250}],"p":[{"p":74}],"s":[{"t":[{"a":11,"r":11}]}],"ß":77,"u":[{"b":[{".":83},70],"c":83,"f":88,"m":74,"p":77,"s":104}]}],"ä":[{"c":74,"d":77,"g":74,"n":[{"e":74,"g":77}],"u":[{"c":77,"m":74}]}],"e":[{".":223,"a":[{"k":81},77],"b":[{"r":2},77],"c":[{"h":81,"k":[{".":78},88]},77],"d":76,"f":[{"e":77,"l":77,"o":77},74],"g":77,"h":81,"i":[{".":88,"b":238,"f":77,"g":76,"h":76,"m":77,"n":76,"s":[{"c":[{"h":[{".":263}]}]},76],"t":77,"z":81}],"k":77,"l":76,"m":88,"n":[{".":88,"d":74,"n":74,"t":81}],"p":[{"e":77,"o":76,"p":74,"r":81}],"r":88,"s":[{".":88}],"t":[{"a":2,"e":88,"r":[{"i":11},23],"t":76},74],"v":76,"x":88,"z":77}],"é":149,"h":76,"i":[{"b":149,"c":[{"k":88}],"d":286,"e":[{"b":74,"f":[{"r":23}],"n":[{"a":11}],"r":[{"s":11},2]}],"g":[{".":77,"l":4}],"k":[{"e":[{".":11,"s":11}],"o":74},88],"l":74,"n":[{"d":81,"g":77,"i":4,"n":81},74],"o":78,"p":88,"ß":77,"u":74,"v":76,"x":2,"z":[{"i":135}]}],"o":[{"b":65,"c":[{"k":[{".":83}]},74],"k":[{"e":[{"s":11}]}],"l":[{"l":[{"a":10}]}],"m":[{".":77,"e":[{"n":11}],"i":2,"k":77}],"n":[{"a":4}],"p":[{"e":9,"f":78},88],"s":[{"m":34,"t":74}],"t":[{".":70}],"u":[{"t":77}]}],"ö":[{"c":129,"h":77,"m":77,"p":74,"s":[{"s":494}],"t":74}],"u":[{"b":74,"c":76,"f":83,"g":74,"k":77,"m":[{"ä":81,"s":135},22],"n":[{"d":81,"k":74}],"p":149,"s":[{"s":81}],"ß":76,"t":[{"h":2},495]}],"ü":[{"b":[{"e":9,"u":9}],"c":[{"k":[{"e":[{"r":172}]}]},76],"g":88,"m":[{"m":78}]}],"y":9},215],"s":[{".":83,"a":[{"b":1,"c":[{"h":[{"e":4,"s":88}]},81],"d":113,"h":[{"n":0}],"l":[{"l":72,"t":72}],"m":[{"p":88,"t":115}],"n":[{"e":1},72],"r":[{"i":1},2],"s":[{"s":[{"e":[{"n":34}]}]},134],"u":72,"v":5}],"ä":[{"h":72,"n":0,"u":[{"s":0}]},70],"c":[{"e":72,"h":[{"a":[{"m":88,"r":[{"t":175}]}],"e":[{"f":88},81],"l":[{"i":10},81],"r":[{"a":81,"o":88}],"ü":81}],"o":[{"r":5}]}],"e":[{"b":114,"e":2,"f":72,"h":[{"e":[{".":11}]}],"i":[{"l":5}],"m":[{"e":81}],"n":[{"g":0,"s":79,"t":103}],"p":103,"r":103,"s":[{"s":[{"e":[{"n":351}]}]}],"t":[{"a":0,"i":103},2],"v":114,"x":[{"i":81},72]}],"h":[{"e":1}],"i":[{"d":114,"k":170,"m":72,"n":[{"g":18,"i":72}],"r":0}],"k":[{"a":[{"l":81}],"e":[{"l":[{"e":6}]}],"i":22,"o":131},83],"m":[{"a":[{"s":[{"s":[{"e":51},18]}]}]}],"o":[{"f":[{"f":0}],"p":72,"r":[{"c":0,"i":103,"t":[{".":1}]},2],"s":81},70],"p":[{"a":[{"r":[{"t":1}],"s":0,"t":[{"e":1}]}],"e":[{"d":70,"k":71,"n":[{"d":6}]}],"i":[{"c":85,"n":[{"s":88}]},5],"l":[{"e":1}],"o":[{"n":5,"r":5}],"u":[{"t":5}]}],"s":56,"t":[{"a":[{"b":[{"e":88}],"f":72,"l":[{"e":88}],"n":[{"z":131}],"s":72,"t":[{".":131}]}],"ä":[{"t":[{"i":131}]}],"e":[{"e":88,"p":115,"r":[{"m":88,"r":131}]}],"i":[{"e":0,"l":79,"m":81,"s":103,"t":72}],"o":[{"c":[{"h":88}],"i":72,"r":72}],"r":[{"a":[{"c":88,"d":88,"f":124}],"e":[{"c":81,"n":88}],"i":[{"c":6,"e":88}],"o":414}],"u":[{"b":5}],"ü":[{"m":5}]},249],"u":[{"b":[{"i":78}],"m":[{"z":72}],"n":1},0],"ü":[{"s":4},70],"w":[{"a":[{"s":22}]}]},77],"t":[{"a":[{"b":0,"c":[{"h":[{"s":1}]},5],"d":0,"g":[{"e":[{"s":[{"s":43}]}]},5],"h":115,"k":[{"e":2}],"l":5,"n":[{"a":10,"k":[{"e":6}],"t":79},72],"p":115,"r":[{"t":0}],"t":[{"r":1}]}],"ä":[{"h":0,"n":72}],"e":[{"b":[{"e":0}],"c":[{"h":[{"s":1}]}],"i":[{"f":0,"n":0,"s":103}],"l":[{"a":296,"e":[{"b":314,"g":285,"n":11}],"l":23,"o":45}],"m":[{"u":72}],"n":[{"a":11,"s":[{"e":[{"m":53}]},104],"t":[{"b":88,"e":23,"f":88,"s":88}],"z":23}],"o":72,"r":[{"e":124,"g":5,"i":[{"k":11}],"m":[{"a":[{"s":[{"s":300}]}]}],"n":[{"ä":23}],"o":2,"ö":5}],"s":[{"a":25,"ä":25,"o":75,"s":81,"t":[{"r":18}]},6],"u":[{"f":88}]}],"h":[{"ä":[{"u":5}],"i":0,"o":103}],"i":[{"d":239,"g":[{"i":85}],"n":[{"s":72,"t":5}],"s":[{"o":72}]}],"l":[{"a":496}],"o":[{".":81,"r":[{"g":72}],"s":81}],"r":[{"a":[{"s":[{"s":15}]}],"o":[{"u":72}],"ü":122}],"s":[{"c":[{"h":[{"i":101}]}],"e":[{"h":9,"n":5}],"p":9,"t":[{"ä":[{"t":12}],"e":[{"m":12,"r":6}]}],"z":3}],"u":[{"b":4,"c":72,"f":0,"n":[{"t":88}],"s":239},2],"ü":2,"z":3},198],"u":[{"a":[{"l":[{"e":6,"m":0,"v":0}],"n":[{"t":1}]},78],"b":[{"a":[{"b":23}]},2],"c":[{"h":[{"i":5,"o":0}]},74],"d":[{"i":[{"e":[{"n":201}]}]}],"e":[{"n":1,"r":[{"e":5}]},78],"f":[{"e":[{"n":1,"r":79},2],"f":[{"e":[{"l":11}]},78]},77],"g":[{"a":[{"n":5}],"e":78}],"h":[{"l":[{"e":[{"r":11}]}]},77],"i":[{"s":[{"t":0}]}],"k":[{"r":79}],"l":[{"i":2}],"m":[{"b":[{"l":379}],"f":129,"g":76,"h":94,"k":76,"l":77,"o":87,"p":77,"r":76,"s":[{"a":[{"t":129}],"c":94,"i":2,"o":2}],"t":76,"w":94,"z":81},74],"n":[{".":74,"a":94,"d":[{"e":22},94],"e":[{"n":2},74],"f":76,"g":[{"a":81}],"i":[{"f":77,"o":80,"v":77}],"m":94,"n":78,"o":71,"s":[{".":74},81],"t":76,"v":94}],"p":[{".":94,"g":70}],"r":[{"a":[{"g":20,"n":[{"l":18},5],"s":5,"u":5}],"ä":5,"c":9,"e":[{"b":126,"i":[{"s":4},5],"n":[{"e":6}],"r":20,"s":6,"t":35,"v":119}],"f":65,"g":36,"i":[{"n":497}],"m":[{"u":[{"n":11}]}],"n":74,"o":39,"s":36,"u":6}],"s":[{"a":5,"c":[{"h":[{"l":6}]}],"e":5,"o":5}],"t":[{"a":3,"o":[{"r":[{"e":23}]},51]}]}],"ü":[{"b":[{"e":[{"r":[{".":1}]}]},77],"c":[{"h":74,"k":[{"s":22}]}],"f":74,"h":77,"r":[{".":74,"c":9,"e":74,"g":74,"s":74,"w":74,"z":77}],"t":[{"c":74,"e":74,"z":77}]}],"v":[{"o":[{"r":[{"a":[{"n":101}]}]},81]},246],"w":[{"a":498,"ä":11,"e":[{"g":[{"s":104}]}],"i":[{"e":11,"s":[{"t":88}]}]},316],"y":[{".":78,"a":94,"p":[{"a":20},78],"s":78},74],"z":[{"a":[{"g":0,"r":1,"u":0},113],"ä":[{"h":81},103],"e":[{"c":0,"d":114,"h":[{"r":0}],"i":[{"e":103,"s":115}],"m":[{"i":0},2],"n":[{"e":5,"t":[{"a":23,"g":88,"l":88,"s":88}]},75],"r":[{"g":[{"r":[{"e":53}]}],"w":0,"z":[{"i":1},177]}],"s":45,"t":30}],"i":[{"d":30,"m":[{"i":0},11],"n":[{"t":0,"v":0}]}],"o":[{"m":85,"p":72}],"t":[{"h":5,"i":[{"n":5}]}],"u":[{"g":[{"u":2}],"n":[{"i":72}]}],"w":[{"a":[{"n":[{"d":201}]}],"ä":0,"i":[{"e":81},0],"u":0}]},94]}],"u":[{"a":[{"b":79,"c":71,"d":[{"a":[{"n":5}],"r":11}],"g":71,"h":70,"l":[{".":70,"a":287,"ä":287,"b":70,"d":70,"e":[{"b":81,"n":[{"t":124}],"r":[{"g":6,"k":4},499],"t":79}],"f":70,"g":70,"h":70,"i":[{"d":79}],"l":[{"e":104},4],"n":70,"o":126,"p":70,"r":70,"s":70,"t":460,"u":5,"w":70,"z":70}],"m":70,"n":[{"a":2,"s":70}],"r":[{".":81,"a":[{"b":22}],"s":70,"t":[{"a":[{"n":25}]}]}],"s":[{"a":3}],"t":[{"h":5,"i":2,"o":2}],"u":[{"s":2},81],"y":70},77],"ä":[{"m":70,"n":70,"s":11,"u":70}],"b":[{"a":[{"r":[{"b":72}]}],"b":[{"l":11}],"e":[{"b":[{"e":2}],"e":2,"h":[{"e":103}],"i":[{"n":0}],"m":114,"n":[{"a":75,"o":23}],"r":[{"d":[{"e":131}],"t":18},5],"s":6,"u":[{"l":0}]}],"i":[{"t":81}],"l":[{"ä":[{"u":1}],"i":[{"c":1}],"u":[{"t":6},1]},5],"o":[{"b":72,"p":72,"z":72}],"r":[{"i":[{"t":85}],"ü":6}],"s":[{"a":[{"n":5,"u":104}],"c":[{"h":[{"e":438}]}],"o":20,"p":5,"t":22,"z":6}],"t":[{"h":3}],"u":[{"s":4}]},94],"c":[{"c":0,"h":[{"a":[{".":70},9],"ä":9,"e":[{"c":9,"d":72,"i":9,"r":[{"i":[{"n":[{"t":63}]}],"m":[{"a":[{"s":63}]}]}]},70],"i":[{"m":4,"n":9},70],"l":4,"m":[{"a":[{"s":[{"s":13}]}]},4],"n":4,"o":[{"p":9}],"r":174,"s":[{"e":[{"l":11}],"o":2,"p":2,"t":104}],"t":[{"a":[{"n":4},2],"e":[{"r":[{"f":43,"t":43}]}]}],"u":[{"m":72},70],"ü":4,"w":9}],"i":70,"k":[{"e":[{"l":[{"f":4}],"r":[{"g":[{"e":[{"b":52}]}]},2]}],"i":4,"s":[{"t":[{"i":11}]}],"t":4}],"l":70},77],"d":[{"a":[{"d":4},124],"e":[{"i":[{"n":60},65],"l":[{"s":[{"e":23}]}],"n":[{"e":23},45],"r":[{"t":18}]},5],"i":[{"e":[{"n":4}],"t":[{"i":18}]}],"o":[{"b":79,"n":72}],"r":[{"a":1,"u":81}]},94],"e":[{"b":[{"l":11}],"c":[{"h":0}],"d":72,"e":[{"n":127}],"g":72,"h":72,"k":[{"e":5}],"l":[{"a":72,"e":[{"k":5}],"i":10,"l":[{"a":2,"ä":2}],"n":81}],"m":[{"i":5}],"n":[{".":81,"a":324,"ä":5,"d":81,"e":[{"b":5,"r":5},22],"g":[{"a":[{"g":11}],"e":[{"m":18,"n":[{"e":300}],"s":18},104],"l":2}],"i":79,"k":10,"o":5,"u":5,"z":[{"e":[{"n":[{"e":24}]}],"u":2}]},9],"p":72,"r":[{"a":119,"ä":20,"b":[{"a":[{"u":[{"t":24}]}]},22],"d":36,"e":[{"c":5,"i":[{"n":[{"n":143}],"s":4}],"l":[{"a":4}],"m":[{"p":81}],"n":[{"t":500}],"r":[{"b":16,"f":81,"g":41,"h":18,"k":18,"m":18,"s":[{"c":21,"p":13,"t":21}]}],"s":[{"k":4}],"t":5,"x":81},22],"g":[{"e":[{"b":11}]},36],"h":81,"i":[{"d":22,"m":153,"n":[{"t":355}]}],"l":[{".":81}],"m":[{"a":[{"s":13}]}],"n":[{"a":[{"n":11,"r":11}],"e":11},81],"o":277,"ö":2,"r":[{"ü":81},4],"s":[{"c":4,"t":13}],"t":36,"u":[{"h":81,"m":81,"n":[{"f":81,"t":81}]}],"z":36}],"s":[{"e":7,"p":7},6],"t":[{"a":5,"e":[{"k":6}],"i":[{"k":5}],"y":22}],"v":72,"x":20},198],"f":[{"a":[{"b":0,"c":81,"h":81,"l":[{"l":18},81],"n":[{"e":1},2],"r":170,"t":2,"u":0}],"ä":[{"n":103,"s":501,"ß":114}],"e":[{"i":103,"l":[{"s":[{"a":120}]}],"m":103,"n":[{".":81,"t":72},83],"r":[{"f":72,"h":103,"l":[{"a":88,"e":88}],"n":[{"e":88}]}],"ß":103,"t":103}],"f":[{"e":[{"l":104},1],"l":11,"r":[{"o":5}]},77],"i":[{"d":103,"m":72,"n":[{"s":103}]}],"l":1,"o":[{"b":72,"r":[{"i":0},2]}],"r":1,"s":[{"ä":7,"c":1,"p":[{"o":5}],"t":[{"a":[{"b":6}],"e":[{"r":6}]}]}],"t":[{"a":[{"b":22}],"e":[{"b":9,"n":1,"r":[{"d":4,"g":205,"l":18}]}],"i":[{"n":6},1],"s":36},77],"u":[{"m":72}]}],"g":[{"a":[{"b":[{"e":5,"t":[{"e":88}]}],"d":30,"k":0,"n":[{"a":72,"b":72,"g":18,"i":72,"s":72,"t":72}],"p":0,"r":103,"u":0}],"d":3,"e":[{".":81,"c":103,"i":[{"g":72,"n":72},30],"l":[{"o":[{"b":11}]}],"m":[{"i":0}],"n":[{"e":104,"m":[{"a":[{"s":172},100]}]}],"r":[{"f":103,"l":103,"r":72,"v":72}],"s":[{".":81,"k":103},22],"t":5}],"g":[{"l":5,"t":56},2],"h":[{"u":1}],"i":[{"d":114,"m":72,"n":0}],"l":[{"ä":88,"e":[{"i":[{"t":[{"b":175,"u":175}]}]}],"i":[{"c":88,"s":88,"z":1}],"o":131,"u":88},103],"n":131,"o":[{"b":72,"c":1,"n":81,"p":0,"r":30,"s":81}],"ö":72,"r":[{"ä":85,"e":[{"g":72,"i":[{"s":131}],"s":72}],"i":[{"e":85}],"o":[{"s":23,"u":72},1],"ü":[{"s":1}]}],"s":[{"m":[{"a":[{"s":101},15]}],"p":[{"e":21,"o":[{"r":11}]}],"t":[{"ä":1,"e":9,"u":[{"r":6}]}]}],"u":[{"m":72,"s":[{"t":[{"e":[{"r":24}]}]}]}],"ü":72},94],"h":[{"a":5,"e":[{"a":4,"e":98},76],"i":77,"l":[{"a":[{"r":5},0],"ä":0,"e":[{"n":[{"t":12}],"r":[{"b":4}]}],"i":5,"ö":2},77],"m":[{"e":10},77],"r":[{"a":9,"e":[{"i":[{"s":18}],"r":502}],"i":[{"n":6},107],"o":39,"u":5,"ü":6}],"s":11,"t":3,"u":72,"ü":77,"w":0},70],"i":[{"a":5,"c":[{"h":[{"e":5},0]}],"d":[{"d":70}],"e":[{"m":0},70],"g":[{"e":88},81],"l":[{"l":[{"e":[{"s":11}]}]}],"m":70,"n":[{".":81,"n":4}],"s":[{"c":[{"h":[{".":81,"s":81}]}],"e":2,"i":[{"n":10}],"t":[{"a":1},5]}],"t":[{"s":4}]},77],"j":[{"i":4},70],"k":[{"a":5,"ä":[{"h":0,"u":81}],"e":[{"n":28},71],"i":70,"l":[{"e":45},71],"n":116,"o":[{"b":103,"m":[{"a":23},28]}],"ö":5,"r":116,"t":[{"a":5,"e":[{"l":20,"r":20}],"i":[{"n":5}],"o":[{"r":[{"i":184}]}],"r":39,"s":10,"u":[{"m":5}]}],"u":[{"s":2},70],"ü":5}],"l":[{"a":[{"m":0,"n":[{"e":22}],"r":5,"s":[{"c":2}]}],"ä":[{"m":0}],"b":[{"l":11}],"d":[{"a":[{"n":6}],"r":5,"s":[{"e":2}]}],"e":[{"l":103,"m":[{"b":0}],"n":11,"r":[{"h":82}],"s":[{"t":75}],"t":[{"a":0},2]},77],"f":162,"g":11,"i":[{"d":0,"k":2,"n":[{"s":0}],"p":9},77],"k":[{"a":1,"n":5}],"l":[{"a":[{"g":22,"u":9}],"ä":5,"e":[{"n":1}],"i":[{"n":22},3],"o":5,"ö":35,"s":36}],"m":[{"e":2}],"n":[{"i":22}],"o":[{"i":2,"p":103,"r":103}],"p":[{"h":[{"a":5},9]}],"s":[{"a":[{"m":6},5],"e":[{"c":20,"i":5,"r":5}],"u":[{"m":5}]}],"t":[{"a":[{"n":1,"r":4,"u":5},108],"e":[{"r":[{"m":18}]}],"r":[{"i":5}],"s":4}],"ü":72,"v":[{"r":5}],"z":[{"w":2}]},70],"m":[{"a":[{".":77,"a":72,"b":72,"d":103,"k":114,"l":[{"l":0}],"n":[{"g":0,"z":0}],"p":103,"r":[{"c":72,"m":72,"t":72},0],"t":[{"l":72,"m":72}],"u":[{"s":0,"t":72}]}],"ä":[{"h":103}],"d":445,"e":[{".":81,"f":103,"i":[{"n":103}],"n":[{"e":28,"g":[{"e":[{"l":7}]}]}],"r":[{"a":22,"f":103,"g":0,"k":81,"l":103,"w":0}],"s":11}],"f":[{"i":83},74],"g":74,"i":[{"n":[{"d":0,"h":0}],"r":0,"t":[{"e":0},2]}],"k":74,"l":74,"m":[{"a":11,"e":[{"s":[{"s":6}]},77],"i":1}],"o":[{"b":0,"l":81,"t":1}],"p":[{"f":[{"a":2,"i":[{"n":11}],"l":[{"i":10}]}],"h":[{"o":5}]}],"r":74,"s":[{"a":[{"m":6,"n":12,"t":74}],"e":[{"r":20}],"i":[{"m":5}],"k":6,"p":[{"e":20}],"t":[{"e":[{"m":6}]}],"u":[{"m":5}]}],"t":3,"u":[{"m":72,"r":114}],"z":74}],"n":[{".":77,"a":[{".":77,"b":[{"h":78,"r":39},74],"g":5,"l":5,"m":79,"n":85,"p":72,"r":[{"b":72}],"s":80,"t":1,"u":[{"s":22}]}],"ä":[{"r":5}],"d":[{".":77,"a":[{"b":22},5],"ä":[{"n":5}],"d":74,"e":[{".":1,"r":[{"e":[{"r":172}],"f":4,"ö":4,"t":[{"e":[{"n":[{"d":52},58]}]}],"z":4}],"x":5},77],"f":74,"g":77,"i":[{"d":5,"m":5}],"n":74,"o":[{"b":22,"p":5,"r":5}],"r":187,"s":[{".":83,"c":77,"p":4}],"u":[{"m":20}],"ü":10,"v":74,"z":74}],"e":[{"i":[{"d":1,"n":1}],"m":[{"i":5}],"n":[{"t":22},75],"r":[{"e":4,"i":4,"k":88,"z":[{".":131}]}],"s":35},258],"f":[{"a":1,"t":[{"s":22}]},2],"g":[{"a":[{"b":5,"m":5,"t":5}],"e":[{"n":[{"a":78}],"r":[{"e":18}],"t":74,"w":74}],"l":[{"u":5},74],"o":5,"r":[{"i":4},5],"s":[{"t":[{"r":[{"a":[{"s":461}]},23]}]},11]}],"i":[{"c":81,"d":[{"e":1},5],"e":83,"f":87,"k":65,"m":5,"o":74,"r":[{"o":1},5],"s":[{"l":1}],"t":79,"v":84}],"k":[{"a":126,"e":[{"r":1,"s":20,"t":5}],"n":[{"e":5}],"o":[{"p":35}],"r":[{"o":5}],"s":36,"t":[{"i":[{"t":11}],"r":2}]},77],"l":[{"ö":22}],"n":[{"a":[{"d":37}],"e":[{"n":10},2]}],"o":[{"b":72,"r":11,"s":5}],"r":74,"s":[{".":77,"c":[{"h":[{"e":[{"l":50}]}]}],"i":74,"k":[{"i":6},1],"p":1,"t":[{"a":[{"g":18}],"r":45},11],"y":77,"z":77},2],"t":[{"a":1,"e":[{"r":[{"i":10}]},1],"i":77,"r":1,"s":4,"u":77,"y":78},74],"u":[{"c":81},73],"ü":70,"v":[{"o":[{"l":[{"l":100},104]}]}],"w":[{"ä":77},74],"y":72,"z":[{"a":3,"e":2},77]},0],"o":[{"b":71,"f":81,"p":70,"r":[{".":81,"a":39,"c":4,"e":[{"t":81}],"i":[{"s":5}],"s":81},70],"s":[{".":70}],"t":[{"e":22}],"x":70},77],"ö":[{"d":71,"k":70}],"p":[{"a":70,"d":78,"e":[{"r":[{"e":[{"r":101}]},45]},227],"f":[{"a":5,"e":22,"l":70,"u":71}],"i":124,"l":[{"u":6}],"o":81,"p":[{"l":5},77],"r":[{"a":[{"s":85},23]},70],"t":[{"a":324,"e":[{"n":[{"e":6},135],"r":[{"f":4,"g":4,"k":4,"s":4}]}],"o":9}]}],"q":70,"r":[{".":83,"a":[{"b":[{"a":81,"e":2},72],"k":[{"t":103}],"l":[{"t":96}],"m":103,"n":[{"a":11,"d":81,"f":[{"ä":[{"n":53}]}],"g":[{"e":10},0],"h":5,"s":51,"z":0}],"p":1,"r":[{"i":11},85],"s":[{"c":81,"p":121,"t":[{"r":11}]}],"t":[{"e":12,"t":103}],"u":0},70],"ä":[{"l":0,"m":30,"n":0},94],"b":[{"a":3}],"c":[{"h":[{"a":[{"s":101}],"t":[{"e":15}]},45]},77],"d":[{"a":3,"i":3}],"e":[{"e":9,"f":[{"f":0}],"i":[{"g":0}],"l":[{"e":72}],"n":[{"a":11,"s":[{"e":279}],"t":[{"n":88}]},2],"p":103,"r":[{"h":23,"k":23,"t":5,"w":72}],"t":[{"a":0,"h":39}],"u":4}],"f":[{"l":39,"r":[{"o":5}],"s":[{"p":[{"r":11}]}],"t":4},77],"g":[{"e":[{"n":[{"s":[{"e":21}]}]}],"i":[{"n":[{"n":4}]}],"l":[{"a":5},9],"r":[{"i":5}]}],"i":[{"c":2,"d":[{"e":0}],"e":[{"n":4}],"n":[{"d":103,"s":[{"e":[{"k":53}],"t":[{"i":[{"n":27}]}]}]}],"s":[{"o":113}]}],"l":[{"i":77}],"m":[{"a":[{"t":[{"t":6}],"u":20}],"e":[{"i":2,"r":[{"n":6}],"t":135}],"u":[{"m":5,"n":5}]}],"n":[{"e":3}],"o":[{"b":[{"l":22}],"f":[{"f":0}],"h":22,"s":[{"t":104},10]},94],"ö":94,"p":16,"r":[{"e":1,"h":5},77],"s":[{"a":[{"c":78,"n":5,"u":18}],"e":[{"r":20}],"o":[{"f":20}],"p":[{"a":5}],"u":[{"n":5}]}],"t":[{"a":[{"i":6},77],"e":[{"i":[{"n":4}]}],"r":[{"o":5}],"s":[{"c":22,"t":45}]},2],"u":81,"z":[{"a":20,"ä":5,"e":[{"c":20,"p":5}],"i":5,"o":[{"p":20}],"t":10,"w":20}]}],"s":[{"a":[{"b":3,"g":[{"i":2}],"m":[{"b":115,"t":88}],"n":[{"g":72,"n":5}],"r":[{"k":1,"t":7}],"s":[{"t":0},11],"t":[{"e":1}]}],"ä":[{"h":72,"s":103},70],"c":[{"e":72,"h":[{"a":[{"b":88,"k":88}],"e":[{".":81,"f":88,"i":[{"c":51}],"u":168}],"i":81,"m":[{"ü":23}],"u":81,"w":[{"e":[{"r":51}]}]}]}],"e":[{".":81,"b":395,"c":103,"e":[{"i":2}],"i":103,"n":[{"s":[{"e":279}],"t":[{"l":88}]}],"p":81,"r":[{"e":[{"c":11}],"l":103,"p":72,"w":0}],"s":[{"e":103}],"x":72}],"i":[{"d":72,"e":[{"r":[{".":4,"s":[{".":34}]}]}],"g":81,"k":[{"a":[{"t":11}]}],"n":[{"n":0}]}],"k":[{"l":1,"o":88}],"m":[{"a":[{"s":[{"s":[{"e":51}]},104]}]}],"o":[{"c":1,"h":0,"l":81,"p":72,"r":[{"c":0}],"u":0},70],"ö":70,"p":[{"a":[{"c":72,"r":[{"t":1}],"s":103}],"e":[{"c":81,"k":81}],"h":72,"i":[{"c":0}],"o":[{"r":5},72],"u":72},70],"r":[{"i":[{"c":[{"h":247}]}]}],"s":[{"a":[{"d":39}],"e":[{"b":39,"g":10,"l":131,"n":[{"d":[{"e":7}],"i":21},127],"p":5,"r":[{".":1,"f":4,"z":18},5],"z":5}],"i":[{"g":79}],"k":4,"o":[{"f":5}],"u":[{"m":5}]}],"t":[{"a":[{"b":72,"d":81,"l":81}],"e":[{"n":5,"r":[{"l":4},6]}],"i":[{"s":81}],"o":[{"r":103}],"r":[{"ä":85,"i":[{"t":88}]}],"u":[{"m":5,"r":103}]}],"u":[{"m":[{"d":72,"g":72,"z":72}],"s":78},70]},77],"ß":[{"u":103},77],"t":[{".":83,"a":[{".":81,"f":81,"l":[{"t":103}],"m":30,"n":[{"s":5}],"p":103,"r":103,"u":[{"t":72}]}],"ä":[{"h":0,"r":72}],"c":1,"e":[{".":81,"d":299,"i":[{".":0,"e":0,"n":0}],"l":[{"a":0}],"n":[{"a":22,"t":72},28],"r":[{"a":[{"l":11}],"e":[{"r":61}],"i":[{"n":[{"g":24}]}],"k":23,"o":[{"s":11}]}],"s":79,"t":5,"v":228,"x":103}],"f":[{"i":22}],"h":[{"a":[{"l":1}],"e":[{"i":1,"l":0}],"i":103,"o":103,"u":72}],"i":[{"d":103,"g":[{"e":[{"l":88}]}],"v":[{"i":2}]}],"l":[{"i":[{"n":10}]}],"m":[{"a":[{"s":[{"s":[{"e":51}]},104]}]}],"o":[{".":81,"c":4,"m":503,"p":[{"a":4,"s":72},9],"r":[{"a":22,"d":72,"e":2,"i":[{"n":11}]}],"u":83}],"ö":[{"l":72}],"r":[{"e":[{"a":1}],"o":[{"u":72}],"ü":1},83],"s":[{"a":[{"u":104}],"ä":[{"u":5}],"c":[{"h":[{"l":6,"m":6,"o":6,"ö":6}]}],"e":[{"r":1}],"k":3,"p":30,"t":[{"a":1,"o":1}]}],"t":[{"a":[{"n":1}],"l":16,"s":98}],"u":[{"b":2,"m":72,"n":[{"e":103},11],"r":[{"e":11,"o":4,"u":34}]}],"z":[{"e":[{"h":5,"n":[{"g":4}],"r":2,"t":5},22],"i":[{"n":20,"s":5}],"ö":5,"w":20},88]},94],"u":[{"m":[{"a":36,"e":22},9],"n":[{"g":[{"s":[{"m":[{"a":[{"s":58},183]}]}]}]}]},214],"ü":116,"v":[{"e":[{".":72,"r":[{"ä":4}]}]},116],"w":70,"x":[{"e":5,"o":[{"e":1},5],"t":11},94],"y":[{"o":72},70],"z":[{"e":[{"c":103,"n":[{"e":103}],"r":5},2],"o":[{"f":2,"t":1}],"w":[{"e":0}],"z":3},94]}],"ü":[{"b":[{"ä":0,"c":77,"d":77,"e":[{"l":[{"e":4}],"n":[{"a":11,"e":4}],"r":[{"a":[{"s":101}]},45],"t":88},2],"l":1,"r":7},74],"c":[{"h":[{"e":70,"l":4,"s":[{"c":75}],"t":[{"e":10}]}],"k":[{"e":[{"n":10,"r":[{"i":4,"k":[{"e":13}]},9]}]}]},77],"d":[{"a":123,"e":[{"l":2,"n":[{"g":22,"s":79}]}],"o":16,"ö":11,"r":1,"s":3,"t":16,"u":2,"w":[{"e":10}]}],"e":[{"b":4,"i":70},5],"f":[{"a":115,"ä":103,"e":[{"i":103,"n":[{"t":72}],"r":[{"g":103},22]}],"f":[{"l":5}],"i":103,"l":1,"o":72,"t":[{"e":[{"n":1}]}],"u":[{"m":72}]}],"g":[{"e":[{"l":[{"a":142,"ä":2,"e":[{"c":11,"i":[{"s":409}]}],"o":2}],"n":[{"s":23}]},5],"l":85,"n":72,"s":1},70],"h":[{"a":3,"e":[{"i":103,"m":[{".":81},190],"n":[{"g":103,"t":103}],"r":[{"f":103,"k":118,"z":118}],"x":72},70],"i":121,"l":[{"ä":0,"e":[{"l":5,"r":2}],"ö":5,"s":[{"k":11,"t":[{"a":11,"i":11}]}]}],"m":[{"o":1}],"n":[{"e":1}],"o":30,"r":[{"e":[{"i":[{".":4}],"n":167},3],"o":0,"t":[{"a":4}]}],"s":[{"p":1,"t":[{"u":1}]},2],"t":[{"a":2,"r":11},1],"u":70,"w":0}],"k":71,"l":[{"a":0,"c":5,"e":[{"f":131,"r":[{"a":504}]},79],"l":[{"a":[{"d":9,"u":9},127],"e":[{"i":5,"r":2,"u":6}],"i":[{"c":5,"d":5,"n":35}],"o":5,"ö":5,"s":22}],"ö":72,"u":70}],"m":[{"a":72,"e":[{"n":[{"t":72}],"r":[{"a":2}]}],"i":[{"d":103,"n":103}],"u":103}],"n":[{"a":131,"d":[{"a":5,"r":5}],"e":[{"r":[{"d":103}]}],"f":[{"l":[{"i":4}]},9],"g":[{"l":39,"s":22}],"s":[{"t":[{"e":[{"r":100}]}]}],"z":[{"a":5,"i":20,"u":[{"n":5},22],"w":5}]},77],"p":[{"e":70,"f":[{"l":4}],"i":70,"p":[{"l":5}]}],"r":[{"a":0,"e":[{"i":103,"l":114}],"f":[{"e":[{"r":20}],"l":5,"r":5}],"g":[{"e":[{"n":[{"g":38}],"r":[{"a":10}]}]}],"k":[{"e":2}],"o":[{"m":22,"r":22},395],"s":[{"t":[{"e":[{"r":6}]}]}],"t":[{"e":[{"l":167}],"h":2}],"z":[{"i":[{"n":20}],"ö":5,"w":20}]},77],"s":[{"a":5,"c":[{"h":[{"l":72}]}],"e":[{"e":98,"l":36,"n":11,"r":65},79],"p":70,"s":[{"a":12,"c":20,"e":[{"l":131},2],"o":12,"t":6,"u":5}],"t":[{"a":174,"e":[{"i":88,"n":22}],"r":72},6],"u":70}],"ß":70,"t":[{"a":[{"l":103},70],"e":[{"m":4,"n":[{"s":23,"t":18,"z":152},11],"r":[{"a":2,"e":28,"i":[{"c":[{"h":172}]}],"n":23}]},70],"h":103,"i":70,"r":1,"s":[{"e":5,"t":20}],"t":[{"e":[{"n":10}],"r":5}],"u":70,"z":[{"e":[{"n":1}],"w":5}]},77],"v":70,"z":70}],"v":[{"a":[{".":78,"b":[{"r":11},94],"c":0,"f":121,"g":[{"a":2,"h":6},1],"l":[{"a":5,"u":77}],"n":[{".":72,"b":77,"g":77,"s":72}],"r":[{"b":77,"m":70}],"s":[{"s":94,"t":[{"o":39}]},2],"t":[{"a":[{"g":6},153],"e":[{"i":5,"n":[{"g":12}],"s":104}],"h":39,"i":[{"d":6,"k":152,"m":6,"n":37,"o":[{"n":[{"s":[{".":27}]}]}]}],"o":[{"r":[{"d":6,"g":6}]}],"r":39,"s":36,"u":20,"z":4},88],"u":94}],"ä":0,"b":94,"c":94,"d":155,"e":[{"a":[{"n":1,"r":1,"u":23}],"b":16,"c":1,"d":1,"f":[{"a":1}],"g":1,"h":1,"i":[{"g":77,"l":72,"n":77,"t":[{"s":135},22]}],"l":[{"a":[{"n":77,"r":2,"u":37},1],"e":[{"i":1},70],"i":3,"o":[{"p":28},1]}],"m":[{"a":1,"e":1,"p":94,"u":107}],"n":[{"a":[{"l":1,"s":6}],"c":2,"e":1,"i":[{"n":6},1],"ö":1,"s":[{"t":34}],"t":[{"a":[{"g":25}],"s":[{"k":10}]}],"ü":1}],"o":[{"f":1},77],"p":[{"i":6}],"r":[{"a":[{"d":1,"l":77,"n":[{"d":1,"e":16}],"s":10},4],"b":[{"a":[{"r":[{"t":24}]}],"l":36}],"d":36,"e":22,"f":10,"g":[{"a":[{"s":[{"s":[{"e":60}]},31]}]},65],"i":[{"n":6},1],"k":4,"m":[{"a":[{"s":[{"s":[{"e":[{"n":62}]}]}]}]}],"n":22,"s":[{"e":[{"p":11}],"t":[{"a":4}]}],"t":[{"e":34},10],"u":[{"s":1},65]},9],"s":[{"c":77,"e":77,"h":6,"p":37,"t":11},1],"t":[{"a":1,"e":[{"r":23},45],"i":1,"r":1,"s":3}],"ü":77,"v":1,"w":1},398],"f":214,"g":94,"h":94,"i":[{"a":[{"n":0,"r":1,"t":12}],"ä":5,"d":[{"e":1}],"e":[{"h":[{"a":28}],"l":[{"a":104,"e":104},5],"r":[{"e":[{"c":11}]},5],"w":28},78],"g":2,"i":77,"l":[{"a":20,"ä":5,"e":[{"h":251,"i":5,"r":[{"s":6},18]}],"i":[{"n":20}]},72],"m":[{"a":35}],"n":[{"a":6,"d":4,"g":[{"s":104},23],"s":70}],"s":[{"a":1,"e":10,"i":3,"o":3,"p":5,"u":2}],"v":2,"z":[{"e":51},2]}],"k":94,"l":[{"e":81,"i":[{"e":72}]},214],"m":[{"e":5},94],"n":155,"o":[{"b":[{"e":5,"l":11},94],"g":[{"e":[{"l":167}],"u":5}],"l":[{"a":2,"l":[{"a":[{"r":23,"u":[{"f":[{".":137}]}]},11],"e":[{"n":[{"d":51},31],"r":[{"t":31}]}]}]}],"p":94,"r":[{"a":[{"n":[{"s":[{"c":[{"h":[{"l":52}]}]}]}]},12],"g":4,"i":[{"e":6,"g":7},1],"m":[{"e":[{"n":101}]},22],"o":4,"ö":10,"t":10},20],"t":[{"a":2}],"y":9},74],"p":94,"r":[{"a":70,"e":[{"e":72}],"i":87},5],"s":[{"z":81},155],"t":94,"u":[{"e":[{"n":[{"u":5}],"t":5},4],"m":[{"f":77,"g":77,"k":77}]}],"ü":70,"v":94,"w":94,"z":94}],"w":[{"a":[{"a":74,"b":[{"b":[{"l":2}]}],"c":[{"h":[{"e":1,"s":[{"t":[{"u":[{"b":27}]}]}],"t":[{"r":442}]}],"k":74}],"f":[{"f":[{"e":[{"l":100},104]}]}],"g":[{"e":[{"n":10},7],"n":39,"o":1},74],"h":[{"l":[{"e":[{"n":[{"t":51}],"r":11}],"i":28}]},74],"l":[{"a":[{"r":5}],"b":77,"d":[{"a":25,"i":[{"n":11}],"r":2}],"e":[{"s":5}],"i":1,"l":[{"i":[{"n":68}]}],"m":28,"s":22,"t":[{"a":45,"e":[{"r":[{"e":24,"l":24}]}],"o":2,"u":[{"r":11}]}]},74],"n":[{"a":1,"d":[{"a":142,"r":2}],"f":81,"g":[{"e":36,"s":10},77],"n":74,"z":[{"e":[{"n":[{"d":411}],"r":11}]}]}],"p":5,"r":[{"e":[{"i":45,"n":7},445],"n":[{"i":11},74],"t":[{"e":10,"h":2}],"z":[{"a":2}]}],"s":[{"a":1,"c":[{"h":[{"a":6,"e":1,"i":1,"l":260,"w":6}]},2],"h":1,"s":[{"e":402}],"u":1},74]},72],"ä":[{"h":74,"l":74,"m":4,"n":[{"g":77}],"s":[{"c":7,"s":[{"e":10},6]},505],"u":506},72],"b":[{"u":2},155],"c":94,"d":94,"e":[{"a":5,"b":[{"a":20,"e":[{"i":45}],"l":39,"o":5,"r":39}],"e":[{"d":23},268],"f":[{"l":5}],"g":[{"a":20,"e":[{"i":37,"r":[{"s":[{"c":34}]}]}],"l":12,"n":6,"o":126,"r":12,"s":[{"a":36},9]},74],"h":[{"r":[{"e":[{"r":507}]}]},74],"i":[{"b":[{"l":2,"r":10}],"e":77,"f":[{"e":[{"l":[{"d":31}]}],"r":[{"e":11}]}],"g":[{"r":2}],"k":65,"l":74,"n":[{"s":[{"a":[{"u":172}]}]}],"s":[{"c":4}],"t":[{"r":28,"s":45}],"z":[{"e":34}]}],"l":[{"l":[{"e":18}],"s":[{"c":[{"h":[{"l":24,"r":24}]}]}],"t":[{"a":152,"e":[{"n":[{"d":411}]},18],"h":11,"i":23,"r":23},28]}],"m":[{"m":[{"a":209}]}],"n":[{"a":36,"g":[{"l":2}],"i":3,"k":[{"a":2,"l":[{"a":11}],"r":[{"i":25}]}]}],"r":[{"a":119,"b":[{"e":[{"i":15},34],"l":2,"s":22,"u":74}],"d":[{"e":[{"n":[{"s":181}]}],"u":74},36],"e":[{"r":104}],"f":[{"l":2}],"g":[{"a":2,"e":[{"l":[{"s":24}]}],"o":166,"r":2},77],"i":[{"n":[{"s":1},104],"o":127}],"k":[{".":74,"a":75,"e":74,"i":2,"l":166,"n":2,"o":166,"r":[{"e":25}],"u":2}],"ö":5,"s":[{"t":[{"a":11}]}],"t":[{"a":2,"ä":2,"e":[{"i":[{"g":24},23],"r":[{"m":43}]}],"h":2,"i":[{"n":11}],"o":142,"r":[{"e":11,"i":25}],"u":[{"m":11}]}]}],"s":[{"e":[{"n":[{"s":201}]},89],"p":5,"t":[{"a":508,"e":[{"i":312,"n":[{".":7,"d":367,"s":7}],"u":6}],"i":6,"o":509,"r":177,"u":6},11]}],"t":[{"s":77,"t":[{"s":23}]},74],"y":94}],"f":94,"g":94,"h":[{"i":2,"o":81}],"i":[{"c":[{"h":[{"t":[{"s":18}]}]}],"d":74,"e":[{"b":77,"d":74,"l":36,"n":[{"e":36}],"s":[{"t":11}]},5],"k":2,"l":[{"d":74}],"m":[{"m":[{"a":2,"e":[{"n":[{"t":24}]}],"u":25}]}],"n":[{"a":2,"d":[{"e":[{"c":25,"l":4,"r":[{"z":43}]}],"r":510}],"g":[{"r":166},83],"k":[{"l":2}],"n":[{"e":[{"r":[{"s":[{"c":267}]}]}],"o":2,"u":[{"m":11}]}],"s":4,"t":22}],"r":[{"e":23},511],"s":[{"c":[{"h":[{"l":15}]}],"e":3,"p":5,"s":[{"z":10},74],"t":1}],"t":[{"h":1,"z":[{".":74,"l":74}]}],"z":2},72],"k":94,"l":94,"m":94,"n":[{"s":[{"a":2,"h":1}]},77],"o":[{"c":[{"h":[{"a":5,"e":512}]},91],"h":[{"l":[{"e":[{"i":11}]}],"n":[{"a":11}]},74],"l":[{"f":[{"s":22},74],"l":[{"a":11,"ä":2,"e":[{"r":11}]}]}],"r":[{"a":4,"d":4,"i":12,"n":22,"t":[{"a":45,"e":[{"l":11,"r":[{"h":24}]}],"r":166,"s":104}],"u":12,"ü":4}],"t":2}],"ö":[{"c":74,"l":[{"f":[{"o":2}]}],"r":[{"t":[{"h":22}]}]}],"p":94,"r":[{"e":81,"o":81},72],"s":[{"e":5,"h":79,"k":79,"u":115},94],"t":[{"i":2},94],"u":[{"c":[{"h":[{"s":[{"c":10,"t":10}]}]},74],"f":79,"l":[{"s":[{"e":4},22]}],"n":[{"d":[{"e":10}],"g":[{"r":23,"s":254}],"s":[{"c":[{"h":[{"l":253}]}]},2]}],"r":[{".":83,"f":[{"a":2,"o":28,"r":2}],"s":[{"t":74},10]}],"s":11,"t":513},72],"ü":[{"h":74,"r":[{"f":74,"s":[{"t":74}]}],"s":11}],"w":94,"z":94}],"x":[{"a":[{".":74,"b":80,"c":84,"d":84,"e":74,"f":[{"l":0}],"g":514,"l":[{"l":2},77],"m":5,"n":[{"d":10,"e":74,"i":74,"t":204,"z":72}],"r":5,"s":84,"u":[{"s":22},4],"z":5},70],"b":214,"c":[{"e":70,"h":70,"l":70}],"d":[{"a":2},198],"e":[{".":78,"g":214,"k":77,"l":[{".":78,"e":[{"i":1},70]},5],"m":[{".":87,"p":77,"s":72},70],"n":[{".":78,"s":36},72],"r":[{".":87,"e":72,"l":[{"a":2},94],"n":72,"s":[{".":72},22]}],"s":78,"u":94,"x":94},74],"f":94,"g":94,"h":94,"i":[{"c":[{"h":22},0],"d":[{"a":[{"n":5}],"e":[{"i":5,"m":39},22],"o":71},77],"e":[{"l":4},87],"g":1,"l":[{"e":[{"r":5}],"i":[{"a":23}],"o":5,"u":20}],"m":2,"n":[{"s":36}],"s":[{"a":5,"e":20,"p":5,"s":141,"t":[{"ä":3}],"u":5},72],"t":[{"u":116},78],"v":[{"e":10}]}],"j":70,"k":[{"a":[{"l":22}]},246],"l":[{"ä":81,"e":81},515],"m":94,"n":94,"o":[{"d":77,"e":162,"r":71,"s":2}],"ö":155,"p":[{"o":[{"r":[{"t":[{"e":[{"r":53}],"r":120}]}]}]},198],"q":70,"r":70,"s":165,"t":[{"a":[{".":81,"b":166,"n":[{"t":5},81],"s":81},0],"ä":[{"t":81},103],"b":[{"l":[{"o":[{"c":[{"k":183}]}]}]}],"e":[{"d":114,"i":[{"n":0}],"l":103,"n":[{"t":72}],"r":[{"f":118}],"v":103}],"f":[{"i":22}],"h":103,"i":[{"d":103,"l":[{"a":2,"l":96}]}],"o":134,"r":[{"a":[{"b":213,"n":85,"u":72}],"e":[{"c":1}]}],"s":3,"u":[{"m":103,"n":103}]},198],"u":[{"a":0,"n":[{"t":77},5],"s":[{"a":22,"s":22},39]},74],"v":77,"w":94,"y":[{".":78}],"z":70}],"y":[{"a":[{"b":94,"c":[{"h":72},398],"h":0,"l":[{".":70}],"n":[{"g":2,"k":70}],"q":0,"r":[{"a":1}]}],"ä":[{"t":70}],"b":[{"e":[{"r":2}]},70],"c":[{"h":[{"i":[{"s":81},72],"n":4}]},70],"d":[{"r":[{"i":[{"d":15},22],"o":23},6]},70],"e":[{"c":72,"d":5,"f":72,"l":113,"n":[{"n":11}],"r":[{"a":22,"e":72,"n":28}],"s":[{".":88,"p":3,"t":6},228],"t":[{"h":5}]},70],"f":71,"g":[{"i":[{"e":23},2],"l":5},70],"h":[{"o":81,"r":2},70],"i":214,"j":70,"k":[{"e":[{"n":4}],"s":1},71],"l":[{"a":[{"g":39,"k":71,"l":11,"m":72,"n":[{"e":1,"t":[{"e":6,"i":6},70]}],"s":5,"u":22},30],"c":1,"e":[{".":72,"m":0,"s":103,"t":103},11],"i":[{"n":11}],"l":[{"o":[{"s":32}],"ö":35}],"o":[{"i":[{"d":15},98],"n":[{"i":135}],"p":5,"r":[{"a":0}]}]}],"m":[{"a":[{"n":6,"r":6,"s":6},5],"e":6,"p":[{"h":[{"a":5}],"i":[{"e":45}]},2]}],"n":[{"ä":[{"r":11}],"e":[{"u":5}],"k":2,"o":[{"z":5},114],"t":3}],"o":[{"b":2,"d":72,"g":[{"a":23}],"m":2,"n":[{"a":2,"t":70}],"p":[{"e":71}],"s":[{"t":72}],"u":70}],"p":[{"a":[{"b":166,"n":2}],"e":[{"r":[{"o":516}]},268],"f":72,"i":[{"d":114,"n":103}],"l":[{"o":72}],"o":157,"s":131,"t":[{"h":1}],"u":[{"m":103},2]},94],"q":70,"r":[{"e":79,"i":[{"e":[{"n":4},9]},81],"o":[{"s":[{"t":[{"e":11}]}]},81],"r":2},70],"s":[{"a":[{"n":5}],"c":[{"h":10}],"e":[{"i":[{"n":104}],"r":0},20],"l":131,"m":[{"e":23}],"o":5,"p":[{"i":5}],"t":[{"e":2,"h":2,"r":[{"a":5,"o":88}],"y":79}],"u":2,"z":79},94],"t":[{"e":[{".":72,"s":72}],"h":[{"e":45},5],"o":81,"r":131},70],"u":[{"r":[{"e":166},5]}],"v":70,"w":70,"y":70,"z":[{"e":[{"r":[{"i":22}]}]},71]}],"z":[{"a":[{"b":[{"l":4},155],"c":[{"h":[{"a":0,"ä":0,"s":22},94]}],"d":155,"f":94,"g":[{"r":1}],"h":[{"l":[{"e":[{"n":4}]}],"n":[{"e":[{"r":354}]}]},87],"k":[{"k":129},70],"l":[{"d":129,"i":78},94],"m":155,"n":[{"a":517,"b":76,"e":1,"f":76,"g":[{"s":76}],"k":[{"a":2},87],"l":81,"r":76,"t":[{"i":135}]},71],"p":[{"f":6}],"q":70,"r":[{".":78,"b":77,"e":1,"m":77,"o":87,"r":72,"t":[{"r":28}]},70],"s":[{"t":54},94],"ß":94,"t":[{"e":2,"o":5},81],"u":[{"b":78,"f":329,"g":76,"n":78,"r":81,"t":94}]}],"ä":[{"c":94,"h":[{"n":78},72],"m":94,"n":70,"p":70,"r":70,"u":[{"s":94,"ß":77}]}],"b":[{"e":[{"r":[{"e":22}]}],"ü":[{"b":[{"e":15},9]}]},316],"c":76,"d":[{"a":[{"n":22}],"ä":9},165],"e":[{".":78,"a":[{"u":[{"s":18},23]},77],"b":[{"e":[{"n":155}]}],"c":[{"h":[{"o":94}]}],"e":[{"u":23},30],"f":[{"f":94}],"g":[{"a":71}],"h":[{"e":[{"n":135},10],"l":2,"o":1}],"i":[{"f":191,"k":10,"l":[{"a":4,"e":18},22],"n":[{".":1,"b":[{"u":[{"s":172}]}],"d":103,"e":11,"h":129,"s":[{"e":1}]},94],"s":119,"t":[{"a":28,"e":[{"r":25}],"o":2,"r":[{"i":23},2]},78]}],"k":11,"l":[{"a":[{"d":22,"n":36,"u":104},20],"ä":20,"d":65,"e":[{"k":200,"m":83,"n":5,"r":20}],"i":[{"n":20,"t":155}],"l":[{"a":[{"b":11,"c":25,"r":11},4],"ä":2,"e":[{"h":11,"i":[{"n":24}],"r":[{"t":409,"z":31}]}],"i":[{"n":18}],"u":[{"m":11}]}],"m":10,"o":20,"s":[{"a":4,"z":4},22],"t":[{"i":2}],"u":22}],"m":[{"b":[{"e":104}],"p":94}],"n":[{".":181,"a":[{"c":37,"s":6,"u":4}],"ä":5,"e":[{"m":3,"n":135}],"g":[{"e":[{".":83}],"l":88,"p":77}],"i":[{"d":5},77],"k":22,"n":4,"o":[{"t":6},39],"s":[{"e":[{"m":249,"r":11}],"p":22}],"t":[{"n":72,"s":70,"w":77,"z":77}],"u":5,"z":[{"e":[{"r":25}],"w":2}]}],"o":[{"r":11}],"r":[{".":87,"a":[{"l":0,"t":5},4],"e":[{"k":7,"m":2},72],"f":[{"e":72,"ü":[{"l":81}]}],"g":[{"a":72,"ä":94,"e":[{"b":129,"s":88}],"l":88,"o":[{"n":11}],"u":83}],"h":[{"e":87,"ö":76}],"i":[{"n":[{"t":[{"e":13}]}]},1],"k":[{"o":72}],"l":[{".":78,"a":[{"u":11}],"e":[{".":11,"b":83,"n":11}],"ö":77}],"n":[{"a":[{"n":11}],"e":[{"b":314,"i":11}]},87],"ö":[{"f":2},94],"q":94,"r":[{"e":[{"g":129}]}],"s":[{".":72,"a":322}],"t":[{"a":[{"g":25,"n":10,"u":11},104],"e":[{"r":[{"e":24,"l":24}]}],"i":[{"n":11}],"o":2,"r":[{"a":[{"g":218,"u":24}]}]}],"w":[{"e":[{"i":83},70]}],"z":[{"e":2},70]}],"s":[{".":87,"c":1,"e":[{"r":4},9],"p":[{"o":12}],"s":[{"a":2,"e":[{"n":[{"d":43},101],"r":354}],"p":2}],"t":[{"a":1,"h":2,"r":1}]},5],"ß":20,"t":[{".":72,"a":77,"h":80,"r":5,"t":[{"s":77}]}],"u":[{"g":[{"e":[{"m":11}],"r":166}],"l":94,"r":0}],"x":259}],"f":[{"ä":[{"s":23}],"e":[{"u":[{"e":104}]}]},139],"g":[{"a":[{"n":[{"g":50}]}],"e":[{"r":[{"a":22,"s":167}]}]},139],"h":[{"e":[{"n":72}],"i":[{"r":23}]},155],"i":[{".":78,"a":[{"l":[{"l":51,"o":1}],"r":5}],"c":[{"h":[{"o":22}]}],"d":[{"e":[{"i":5}],"r":4}],"e":[{"l":[{"e":[{"r":11}],"i":28}],"r":[{"h":0}],"s":[{"s":1},0]}],"g":78,"l":[{"e":2},87],"m":[{"m":72,"p":77,"t":166}],"n":[{"d":94,"e":[{"i":4},2],"f":94,"h":70,"i":[{"n":12,"t":9}],"j":94,"n":[{"a":11}],"o":11,"s":[{"a":2,"e":[{"r":11}],"u":[{"f":83}]}]}],"o":39,"r":[{"k":[{"s":53},22]}],"s":[{"o":70,"p":5,"s":[{"e":18}],"t":[{"r":[{"a":[{"s":172}]}]},11],"z":3}],"t":[{"e":10,"h":[{"e":104}],"o":126,"u":2}],"v":2}],"j":94,"k":245,"l":[{"y":81},155],"m":[{"a":[{"s":[{"s":[{"e":[{"n":53}]}]}]}],"e":[{"e":2}]},165],"n":165,"o":[{"a":[{"s":81}],"b":94,"f":94,"g":[{"l":5,"s":11}],"h":94,"l":[{"l":[{"a":104,"e":[{"n":4,"r":101}],"i":209}]}],"n":[{"a":[{"l":104,"u":4}],"s":61,"t":[{"e":[{"r":25}]}]}],"o":5,"p":[{"e":94}],"r":[{"e":1,"n":[{"e":11},87]},155],"s":[{"z":94}],"u":94,"z":155}],"ö":[{"f":80,"k":94,"l":[{".":77,"l":87,"s":77},70],"n":77}],"p":139,"q":94,"r":165,"s":[{"a":[{"u":22},81],"h":81,"k":81,"p":[{"o":[{"r":104}]}],"t":[{"r":81},83],"z":81},155],"t":[{"a":[{"n":[{"e":1},2],"u":103}],"e":[{"i":[{"n":[{"s":1},135]}],"l":5,"m":[{"a":4}],"n":[{"t":103}],"r":[{"z":103}],"s":[{"t":[{"r":4}]},81],"t":5}],"h":[{"e":[{"m":81,"r":79},0],"i":0,"o":1,"r":81,"y":81}],"r":[{"e":[{"c":1}],"i":[{"c":1}]}],"s":1},94],"u":[{"a":1,"ä":30,"b":[{"u":[{"s":104}]},11],"c":[{"h":[{"e":22,"t":[{"r":15}]}]},78],"d":[{"i":10},11],"e":[{"l":5,"r":381,"t":2}],"f":16,"g":[{"e":[{"m":2,"n":[{"t":6}]}],"i":2,"l":[{"a":6,"ö":6},1],"o":5,"s":[{"t":[{"e":11}]}]}],"h":[{"r":94,"u":1}],"i":30,"k":1,"l":2,"m":[{".":94,"a":2,"b":94,"e":[{"n":104}],"f":77,"g":77,"i":2,"k":77,"l":77,"r":77,"s":94,"u":2}],"n":[{"a":[{"b":77}],"e":[{"m":94},2],"g":[{"e":[{"t":83}],"l":77}],"i":[{"o":80,"v":77},70],"r":77,"s":94,"t":77}],"o":2,"p":[{"f":[{"i":2}],"l":1}],"r":[{"a":3,"k":94,"l":94,"n":94,"s":94,"t":94}],"s":[{"c":[{"h":18}]},3],"t":[{"r":11,"u":11,"z":4},3],"z":2}],"ü":[{"b":348,"c":78,"r":[{"c":9}]}],"v":94,"w":[{"a":[{"c":70,"g":77,"h":83,"p":83,"r":70,"s":108}],"ä":[{"s":77}],"e":[{"d":94,"g":77,"h":77,"i":[{"g":72,"l":77,"t":[{"e":[{"r":172}]}]}],"l":94,"n":94,"r":94,"s":94}],"i":[{"c":72,"e":11,"n":[{"g":78}],"r":[{"t":77}],"s":[{"c":72,"s":77}],"t":72}],"o":94,"ö":[{"r":70}],"u":[{"r":70}],"ü":94},5],"y":[{"a":[{"n":[{".":0}]}],"l":[{"e":5}]}],"z":[{"a":[{"b":65,"l":131,"t":6},79],"e":[{"s":4}],"i":[{"d":103,"n":518}],"ö":5,"u":[{"g":[{"s":10}]}]},94]}]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/4290.adapter.js b/public/tools/cloud_sheets/vendor/univer/4290.adapter.js new file mode 100644 index 0000000..a71ccb3 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/4290.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[4290],{4290(s,r,t){t.r(r),t.d(r,{Sv:()=>a});const a=["04,005,003,03,054,05,004,0003,0004,025,001,002,0034,0005,00003,00001,034,023,02,00005,000003,0001,021,0002,0032,00004,0000002,000004,000005,014,01,00002,0000004,0000003,0045,00034,1,3,103,4,000002,00043,2,0025,043,21,43,12,23,25,5,14,41,32,0014,232,45,222,34,0000005,00000002,0021,00023,0504,032,52,0054,204,00504,024,00025,22,00000003,00052,000054,000001,0052,00032,0023,0043,000034,00045,234,254,500003,5003,000052,0024,00054,503,214,212,40034,201,00000005,4004,54,0044,0303,432,022,052,501,40043,045,203,0000023,2001,202,224,2034,40005,0403,505,000025,404,012,0041,000043,0103,0012",'{".":[{"a":[{"b":[{"i":1,"o":[{"l":1}],"r":2},0],"c":2,"d":[{"r":3,"s":2},0],"g":[{"r":[{"a":4,"e":5}]}],"k":[{"l":5}],"l":[{"e":5,"p":[{"r":6}],"u":3}],"m":[{"b":[{"r":6}],"p":[{"l":7}],"u":5}],"n":[{"d":[{"r":[{"a":[{"r":8}]}]}],"e":[{"s":9}],"g":[{"e":[{"r":8}],"o":1}],"s":1}],"p":[{"p":10}],"s":[{"k":[{"e":[{"t":3}]},11],"t":[{"e":[{"n":5}],"i":3},6]}],"t":[{"a":5,"t":2}],"u":[{"s":[{"t":2}]}],"v":[{"a":[{"l":0}],"s":12}]}],"b":[{"a":[{"k":[{"s":13}]}],"e":[{"n":[{"s":13}]}],"i":[{"l":[{"d":[{"s":14}]}]}],"o":[{"k":11,"r":[{"t":15}]}]},0],"c":[{"i":[{"s":8}],"y":[{"k":[{"l":[{"o":[{"p":1}]}]}]}]}],"d":[{"ä":[{"r":7}]},0],"e":[{"k":[{"v":10}],"l":[{"a":16,"i":[{"n":9}]}],"n":[{"s":[{"t":1}],"ä":0}],"r":[{"i":17}],"s":[{"k":[{"a":[{"d":5,"l":2,"p":1}]}],"t":[{"r":[{"a":[{"d":5}]}]},6]},18],"t":[{"r":3}],"v":[{"a":[{"n":19}]}],"x":2}],"f":[{"e":[{"b":[{"r":7}]}],"r":[{"a":[{"m":14}],"e":[{"s":19}]}],"å":[{"g":[{"e":[{"l":20}]}]}],"ö":[{"r":[{"a":21,"e":[{"n":21}]}]}]},0],"g":[{"u":[{"l":[{"ä":6}],"s":7}]},18],"h":[{"e":[{"m":11}],"u":[{"s":[{"a":1}]}]}],"i":[{"b":6,"k":6,"m":[{"p":2}],"n":[{"a":0,"d":2,"g":[{"e":[{"r":6}]}],"k":23,"s":24,"t":2},22],"s":[{"k":[{"a":1}],"o":3}]}],"k":[{"a":[{"n":[{"s":[{"k":25}]}]}],"o":[{"l":[{"i":1}],"r":[{"t":[{"s":19}]}]}],"r":[{"i":[{"n":[{"g":[{"s":26},20]}]}]}],"ö":[{"p":[{"s":13}]}]},0],"l":[{"a":[{"k":[{"r":13}]}],"e":[{"k":[{"t":[{"r":13}]}]}],"u":[{"s":[{"t":11}]}]},18],"m":[{"a":[{"s":[{"k":[{"e":[{"r":[{"i":1}]},23]}]}]}],"e":[{"r":[{"e":6}]}],"i":[{"n":[{"i":[{"s":27}]}]}],"j":[{"ö":[{"l":[{"k":[{"s":28}]}]}]}],"o":[{"n":[{"s":23}]}],"å":[{"n":[{"s":7}],"s":[{"t":6}]}],"ä":[{"n":[{"s":[{"k":[{"o":13}]}]}]}],"ö":[{"r":[{"k":[{"r":19}]}]}]},18],"n":[{"e":[{"r":21}],"o":[{"n":6}],"ö":[{"d":[{"r":13}]}]},0],"o":[{"c":[{"k":[{"u":10}]}],"k":[{"t":2,"v":3}],"m":[{"a":18,"o":18,"s":12,"u":3}],"n":[{"k":6}],"o":3,"r":[{"d":[{"s":7}]}],"s":[{"c":5,"k":29,"l":3,"t":[{"r":[{"a":3}]}],"v":3}],"t":[{"r":3}],"u":30}],"p":[{"a":[{"p":[{"p":[{"s":19}]}],"s":[{"t":[{"e":2,"i":1}]}]}],"i":[{"s":[{"t":[{"i":1}]}]}],"r":[{"e":[{"s":[{"s":31}]}]}],"u":[{"b":[{"l":[{"i":[{"k":[{"a":7}]}]}]}]}]},0],"r":[{"e":[{"g":[{"r":6}],"s":[{"t":[{"e":11}]}]}],"u":[{"n":[{"s":25}]}],"y":[{"m":[{"d":23}]}],"ö":[{"v":[{"e":19}]}]},18],"s":[{"a":[{"k":11}],"e":[{"g":[{"r":7}]}],"i":[{"o":1}],"j":[{"ö":21}],"k":[{"o":[{"t":[{"t":[{"s":20}]}]}]},6],"l":[{"u":[{"t":[{"s":14}]}]}],"t":[{"a":[{"m":23}],"e":[{"n":[{"s":14}]}],"r":[{"i":[{"n":[{"g":32}]}]}]},6],"u":[{"p":[{"p":7}]}]},0],"t":[{"a":[{"b":[{"l":2}],"k":[{"l":13},6]}],"e":[{"s":[{"t":[{"a":7}]}]}],"i":[{"g":[{"r":7}],"l":[{"l":8}],"o":2}],"o":[{"p":[{"p":[{"s":19}]}]}],"r":[{"e":[{"d":[{"s":31}],"s":7}],"ä":[{"k":13}]}]},0],"u":[{"k":3,"l":[{"t":[{"r":13}]}],"n":[{"g":[{"e":23}]}],"p":11,"r":[{"a":0,"s":2}],"t":[{"a":0,"r":[{"e":[{"r":5}]}],"s":1},22]}],"v":[{"a":[{"r":[{"t":8}],"t":[{"t":[{"e":[{"n":33}]}]}]}],"e":[{"d":[{"s":13}]}],"ä":[{"g":[{"s":7},11]}]},18],"x":18,"y":[{"a":18,"e":0}],"å":[{"n":[{"g":7}],"r":[{"s":34}],"s":[{"t":3}],"t":[{"e":[{"r":15}]}]}],"ä":[{"r":[{"o":3}]}],"ö":[{"r":[{"o":3}]}]}],"a":[{"b":[{"b":[{"u":6}],"e":[{"l":[{"s":25}],"s":23},5],"l":[{"a":2},10],"o":[{"r":[{"t":2}]}],"r":[{"i":[{"c":1,"o":2}]}],"s":[{"c":6,"k":6}],"u":5},18],"c":[{"k":[{"e":[{"s":6}],"i":[{"s":6}],"s":[{"k":7}],"u":[{"p":35}]}]}],"d":[{"a":[{"g":5}],"e":[{"k":5,"l":5,"p":1}],"j":2,"o":[{"p":2}],"r":[{"a":[{"n":5}],"e":[{"s":36},3],"i":[{"l":2}],"u":2}],"s":11}],"e":[{"d":5}],"f":[{"f":[{"o":6,"ä":37}],"r":[{"i":38}],"t":[{"o":[{"r":6}]}]}],"g":[{"a":[{"r":[{"a":8}]},30],"e":[{".":18},30],"g":[{"r":10}],"l":10,"o":[{"r":[{"d":1}]}],"r":[{"o":2}],"u":[{"r":0}]}],"h":[{"j":0}],"i":[{"b":8,"v":3}],"j":30,"k":[{"a":[{"r":[{"t":0}]},3],"e":5,"i":30,"n":2,"o":30,"r":[{"a":[{"m":1}],"i":[{"s":19}],"o":[{"b":2}]}],"s":[{"t":[{"a":6}]}],"t":[{"i":[{"g":36}],"r":[{"i":2}]}],"u":30,"v":[{"a":[{"r":[{"i":5}]}],"e":2}],"å":[{"r":5,"t":1}],"ö":39}],"l":[{"a":[{"d":[{"m":1}]},30],"i":[{"b":[{"r":23}],"n":[{".":5,"e":3,"s":2},18],"s":[{"t":[{"i":[{"k":13}]}]}]}],"j":0,"k":[{"a":[{"k":7}],"v":11,"ä":6}],"l":[{"s":[{"t":7}],"å":2}],"m":[{"s":[{"k":25}]}],"o":[{"r":[{"t":1}]},30],"s":[{"p":[{"a":13}]}],"t":[{"r":2,"u":6,"ä":6}],"u":[{"s":13},30],"v":[{"s":7}],"y":30}],"m":[{"a":[{"f":0}],"i":6,"p":[{"r":6}],"s":10,"å":[{"t":2}],"ö":3}],"n":[{"a":[{"b":[{"o":8}],"l":[{"f":2}],"r":[{"k":2}]}],"c":[{"i":19},2],"d":[{"a":[{"k":1}],"e":[{"l":[{"s":40}]}],"u":[{"n":6}],"ä":[{"n":6}]}],"e":[{"f":0}],"g":[{"e":[{"s":8}],"i":2,"r":10}],"i":[{"u":25}],"k":[{"r":7}],"o":[{"i":23,"k":0,"p":0}],"s":[{"c":[{"e":1}],"i":[{"s":[{"t":20}]}],"j":6,"k":[{"u":13}],"l":[{"i":7}],"p":[{"a":[{"r":7}]}],"t":[{"o":6,"y":6},10],"v":[{"a":[{"r":36}]}]}],"t":[{"j":6,"r":[{"e":6}]}],"u":30,"y":5,"ö":3}],"o":30,"p":[{"e":[{".":18,"n":41},30],"i":30,"l":[{"a":[{"n":6}]}],"o":[{"s":[{"t":[{"r":7}]}]}],"p":[{"a":[{"r":[{"a":36}]}],"s":[{"k":25}]}],"r":[{"i":[{"c":2,"f":2,"s":5}]}],"s":[{"e":2,"l":13,"p":7},11],"u":[{"s":13}],"y":5,"ä":5}],"r":[{"a":[{"n":[{"n":0}],"r":[{"v":0}]},42],"b":[{"i":39,"o":42,"r":39},36],"d":[{"r":2,"s":[{"t":13}]}],"e":[{"n":[{"d":0}]}],"g":[{"s":[{"i":13}]}],"h":42,"i":[{"g":[{"e":[{"n":0}]}]},30],"k":[{"a":2,"l":[{"a":[{"n":7}]}],"r":1}],"l":39,"n":[{".":39,"a":[{"l":6}]}],"o":[{"b":18},30],"p":39,"s":[{"a":11,"k":[{"a":[{"l":1}],"l":19}],"v":11}],"t":[{"r":[{"o":6}],"s":[{"p":19}],"u":[{"r":6}]}],"u":[{"r":0,"s":5},39],"v":[{"ä":[{"g":6}]}],"y":3,"ä":3}],"s":[{"a":42,"b":[{"e":25}],"c":30,"h":11,"i":[{"s":[{"t":19}]}],"k":[{"i":[{"s":2}],"o":18,"r":0,"u":2}],"l":1,"p":[{"a":2,"i":[{"g":2}]}],"s":[{"k":11,"o":[{"p":43}],"p":11,"t":11,"u":[{"p":13}]}],"t":[{"a":[{"r":[{"d":5}]},2],"e":[{"r":1}],"i":[{"k":[{"e":[{"r":1}]}],"o":19}],"o":2,"r":[{"a":[{"k":13,"l":5}],"o":[{"l":7}]},6],"ö":[{"r":1}]}],"u":[{"l":0,"n":[{"d":0}],"t":11},3],"v":2,"y":30,"å":9,"ö":18}],"t":[{"a":[{"r":[{"a":13}]}],"e":5,"i":[{"ö":13}],"j":0,"r":[{"a":[{"l":3,"r":39}],"e":44,"i":[{"a":2,"c":3,"e":2,"k":5,"s":3}],"o":[{".":0},16]},18],"s":[{"k":[{"a":6}]}],"t":[{"a":[{"c":36,"k":11}],"j":6,"o":[{"s":6}],"s":7}],"u":[{"n":[{"g":0}]}]},30],"u":[{"b":1,"t":[{"a":43,"o":[{"m":37}],"s":13}]},42],"v":[{"a":[{"r":[{"t":0}]},45],"g":36,"i":45,"r":2,"ä":46}],"å":5}],"b":[{"a":[{"d":[{"i":6,"o":6,"s":35}],"k":[{"l":13,"o":6,"u":6}],"n":[{"k":[{"l":19}]}],"s":[{"t":[{"a":8,"u":1}]}]},37],"b":[{"a":[{"k":0,"t":[{"t":0}]}],"b":8,"l":[{"e":[{"r":6}]},2],"r":44,"s":[{"o":6}]},39],"d":46,"e":[{"d":[{"r":12}],"e":1,"k":10,"l":[{"d":39,"u":1,"y":2,"å":2,"ö":1}],"n":[{"g":25,"å":2}],"r":[{"ö":10}],"s":[{"l":2,"s":13,"t":[{"a":6,"e":6}],"u":1},10],"t":[{"r":2,"v":2}],"u":2,"x":39},37],"f":48,"h":49,"i":[{"d":12,"n":[{"v":39}],"s":[{"k":[{"o":7,"v":1}]}]},37],"j":[{"e":3}],"k":3,"l":[{"a":[{"r":5,"t":5}],"e":[{"m":[{"o":8}],"n":5,"r":[{"a":50}],"s":37}],"i":[{"d":50,"k":[{"r":37,"s":37}]}]}],"m":46,"n":48,"o":[{"g":[{"r":6}],"k":[{"l":11}],"m":[{"u":10}],"n":50,"r":[{"s":[{"t":[{"e":19}]}],"t":[{"i":8,"r":14,"s":[{"l":14},40]}]}],"s":[{"c":6},10],"y":13},37],"p":46,"r":[{"a":[{"f":49,"r":39,"t":[{"i":49}]}],"i":[{"k":[{".":37,"a":3,"e":37,"s":37,"ö":5}]}],"u":[{"s":[{"t":8}]}],"y":37,"ö":37}],"s":[{"c":[{"e":5,"h":2}],"l":[{"a":[{"n":0}]}],"o":[{"f":0}],"p":0,"t":[{"j":0},8]},46],"t":46,"u":[{"n":[{"d":[{"s":25}]}],"s":[{"s":[{"t":23}]}]},37],"v":3,"y":[{"r":1},37],"å":[{"n":[{"g":14}],"t":[{"s":23}]},37],"ä":37,"ö":[{"r":[{"s":23}]},37]},47],"c":[{"a":[{"p":50}],"c":3,"e":[{"n":[{"s":[{"t":14}],"t":[{"r":37}]}],"u":[{"s":8}]},51],"h":[{".":39,"a":[{"u":37}],"e":[{"f":37}],"o":[{"c":50}],"t":39,"ä":[{"s":14}],"ö":[{"r":25}]}],"i":[{"l":[{"u":6}],"m":23,"p":[{"p":25}]},36],"k":[{"a":3,"e":3,"i":3,"j":1,"l":[{"i":[{"s":1}]},10],"n":2,"o":[{"r":[{"d":[{"n":0}],"g":2,"t":0}]},3],"r":[{"e":6},2],"s":[{"l":[{"a":2}]}],"u":[{"s":31}],"v":[{"a":2,"e":2,"ä":2}],"ä":1,"ö":2},39],"l":[{"e":[{"a":23}]}],"o":[{"a":11,"m":6}],"r":[{"o":[{"s":31}]},39],"s":39,"y":36},18],"d":[{"a":[{".":50,"d":[{"r":39}],"g":[{"s":14}],"k":[{"o":50},42],"l":[{"i":2}],"m":[{"å":2},50],"n":[{"d":[{".":39}]}],"p":52,"r":[{"b":39,"t":39}],"t":[{"r":6,"t":13}],"x":39},37],"b":42,"c":[{"e":[{"n":14}]},39],"d":[{"d":8,"i":[{"s":8}],"j":3,"o":[{"s":0}],"r":[{"a":2,"e":2,"i":2,"ä":3}],"s":[{"v":7},11]},42],"e":[{"k":[{"o":39},54],"l":[{"d":39,"s":[{"a":23,"t":[{"i":19}]}],"u":[{"t":1}]}],"n":[{"t":[{"i":[{"ö":28}],"o":23}]},0],"p":[{"r":2}],"r":[{"k":21,"o":[{"l":1},11],"s":[{"t":[{"i":13}]}],"u":6},50],"s":[{"e":2,"p":2,"t":[{"i":7}]},11],"t":[{"r":2},0],"x":39},53],"f":[{"ö":[{"r":[{"a":7}]}]},45],"g":[{"l":3},45],"h":49,"i":[{"a":[{"s":25}],"e":[{"l":1}],"g":[{"r":11}],"k":[{"a":2,"u":1}],"n":[{"f":39,"g":[{"o":35}],"r":39,"s":[{"p":42},39],"t":39}],"o":[{"d":6},10],"s":[{"c":2,"j":6,"k":[{"o":7,"r":21}],"p":21,"t":[{"o":13,"r":[{"a":7}]}]}],"t":[{"r":[{"e":6}]}]},37],"j":[{"o":[{"r":3}],"u":[{"p":[{"p":19}],"r":37}]},42],"k":55,"l":56,"m":45,"n":45,"o":[{"l":[{"o":1},18],"m":[{"r":39,"s":[{"k":23}]}],"n":50,"p":[{"a":[{"k":6}]}],"r":[{"d":56,"i":39,"t":39}],"s":[{"t":5}],"y":2},37],"p":45,"r":[{"a":[{"d":3,"g":58,"n":[{"d":3}],"r":[{"b":5}],"s":[{"s":[{"e":[{"r":[{"a":5}]}]}]}],"t":[{"u":5}]}],"e":[{"j":37,"n":3,"s":50,"t":3}],"i":[{"c":0,"f":37,"g":3,"k":56,"n":3,"v":58}],"o":[{"c":5,"p":[{"p":37}],"r":3,"t":[{"t":[{"s":33}]},39]}],"ä":[{"k":[{"n":3,"t":37}],"n":50,"t":3}],"ö":[{"d":5}]},57],"s":[{"a":[{"n":22}],"e":[{"n":[{"h":1}]},18],"f":0,"i":[{"n":[{"s":2}]},18],"j":18,"k":[{"e":[{"f":3,"n":6}],"i":3,"l":2,"n":1},23],"l":[{"o":[{"t":6}]},10],"m":[{"o":6,"å":0}],"n":[{"å":1}],"o":18,"p":[{"l":2}],"s":12,"t":[{"a":[{"l":2,"t":5}],"e":[{"a":25},6],"i":[{"g":5,"n":2}],"r":[{"o":1}]}],"u":18,"v":10,"ö":18},39],"t":48,"u":[{"b":[{"b":[{"l":[{"e":7}]}]}],"p":39,"s":[{"c":11,"t":[{"e":6}],"ö":1},10],"t":39,"v":[{"u":6}]},37],"v":[{"r":3},45],"w":48,"y":[{"k":[{"a":[{"n":6}]}],"r":[{"o":6}]},37],"z":39,"å":[{"g":50,"s":42,"t":39}],"ä":[{"g":39,"r":11}],"ö":[{"d":[{"s":15}],"g":39,"p":39,"s":[{"t":5}]},37],"é":6},36],"e":[{"a":[{"k":[{"e":18}],"m":0},30],"b":[{"r":[{"i":[{"l":2}]},18]},39],"c":[{"h":[{"i":[{"f":[{"f":59}]}]},3],"i":[{"s":25}],"o":3},39],"d":[{"a":[{"n":[{"s":0}]}],"d":[{"r":8}],"i":[{"u":8}],"j":2,"r":[{"a":[{"l":5}]}],"s":[{"k":[{"o":11},10],"l":24,"o":25}],"å":3},18],"e":[{"d":18,"i":0,"k":43,"n":[{".":0,"e":0}]},30],"f":[{"s":6,"t":[{"e":37}]},30],"g":[{"a":3,"e":[{"l":23},3],"l":[{"e":[{"r":[{"a":3,"i":5},11]}]},10],"r":[{"a":[{"n":0,"t":1}],"i":[{"n":2}],"u":5}],"s":7,"å":5},30],"i":[{"g":[{"n":1},23],"k":3,"n":30,"s":[{"h":1,"k":30}]}],"j":[{"o":30,"u":3,"ä":3,"ö":5}],"k":[{"a":3,"i":30,"l":[{"a":[{"t":2}],"e":6},30],"n":2,"o":[{"r":[{"d":[{"s":28}],"r":2}]},30],"r":[{"e":[{"t":[{".":6}]}],"o":1}],"u":30,"v":[{"e":30,"i":[{"s":1}]}],"y":30,"ä":30}],"l":[{"a":[{"k":[{"t":10}],"r":[{"b":6}]},30],"d":[{".":37}],"e":[{"b":[{"r":14}],"k":[{"t":[{"r":[{"i":20}]}]}]}],"f":[{"r":[{"a":6}]}],"i":[{"k":[{"u":13}]}],"k":12,"l":[{"i":2,"s":7,"ä":2}],"o":[{"b":0},30],"p":2,"s":[{"i":11}],"u":[{"g":1,"v":5}],"ä":45}],"m":[{"a":[{"t":5}],"i":[{"s":5}],"o":[{"n":[{"s":15}],"r":[{"t":1}]}],"p":[{"l":[{"e":13}]}]},30],"n":[{"a":[{"r":[{"t":1}],"v":18}],"c":[{"e":6}],"e":[{"d":0,"k":0,"r":[{"ö":7}]}],"j":42,"k":[{"l":[{"o":1}],"n":2,"r":1,"ä":1}],"n":[{"i":[{"n":[{"g":[{"s":60},59]}]}]}],"o":[{"m":23}],"s":[{"i":2,"k":[{"e":13}],"m":23,"p":11,"t":[{"e":8}],"v":[{"i":[{"n":8}]}],"å":6}],"t":[{"h":[{"a":8}],"r":[{"a":[{"t":[{".":8,"i":7}]}],"i":7,"u":13},61]}],"u":[{"s":5}],"y":42,"ä":45}],"o":[{"g":18,"i":6,"r":5},30],"p":[{"e":30,"i":30,"l":[{"a":3,"e":1}],"p":[{"s":[{"t":19},62]}],"r":30,"s":2,"t":[{"r":6}],"u":[{"b":7}],"å":3},42],"r":[{"a":[{"k":10,"s":39}],"d":12,"g":[{"l":8,"u":6,"å":[{"s":6}]}],"i":[{"b":5,"n":[{"f":0,"g":[{"s":33}]}],"s":[{"t":[{"i":[{"k":13}]}]}]},30],"k":[{"l":[{"i":[{"n":8}]}]}],"l":[{"ä":25}],"n":[{"a":1}],"o":[{"b":3,"m":18},30],"p":8,"r":[{"a":2}],"s":[{"c":1,"k":[{"e":[{"n":8}]}],"l":[{"e":8},2],"t":[{"a":6,"e":11,"r":2}],"v":2}],"u":[{"m":5},30],"y":3,"å":[{"d":5}],"ä":30}],"s":[{"a":[{"l":[{"l":1},18],"r":[{"m":2}]}],"c":30,"e":42,"h":[{"i":6}],"i":[{"u":8}],"k":[{"a":[{"n":0,"r":1}],"e":[{"n":44,"r":2}],"u":[{"l":1}]},11],"l":[{"a":[{"g":5}]},30],"m":[{"i":11}],"p":[{"l":2},30],"s":[{"k":11,"l":[{"ä":13}],"t":11}],"t":[{"a":[{"l":3}],"e":[{"n":[{".":1}]}],"i":[{"g":[{"e":31}],"n":2}],"o":[{"r":[{".":1}]}],"r":[{"e":[{"r":13}],"u":3,"ö":8},6],"å":3}],"u":11,"y":30}],"t":[{"a":[{"b":7}],"i":[{"ö":7},5],"o":30,"r":[{"i":[{".":5,"s":2}],"ä":5}],"s":[{"a":[{"d":23}],"k":[{"r":7}],"l":21,"m":7,"p":[{"a":13}],"v":6},11],"t":[{"r":7}],"u":[{"r":[{"i":8}]},30],"v":[{"a":6,"u":1}],"y":30,"z":42,"ä":[{"c":25},30]}],"u":[{"k":8,"m":[{".":5}],"p":63,"r":39,"s":[{"e":[{".":6}]}],"t":[{"r":[{"o":1}]}]}],"v":[{"a":[{"r":[{"m":0}]}],"j":0,"r":2},30],"x":[{"p":37,"t":[{"r":8}]}],"ä":39}],"f":[{"a":[{"c":[{"k":[{"e":13}]},8],"n":[{"s":39}],"r":[{"b":39}],"s":[{"h":2,"t":6}],"t":[{"ö":6}],"v":39},37],"b":46,"d":3,"e":[{"f":39,"l":11,"s":[{"t":[{"a":13,"o":2}]}],"x":39},37],"f":[{"f":8,"l":2,"n":2,"o":3,"r":2,"s":8,"ä":3,"ö":[{"r":[{"e":13}]}]},45],"g":64,"h":5,"i":[{"b":[{"r":[{"i":[{"g":13}]},11]}],"l":[{"i":2}],"n":[{"s":[{"m":13}]}],"s":[{"k":[{"a":[{"l":2}],"r":14}]}],"t":[{"i":11}]},37],"k":48,"l":[{"o":[{"d":[{"a":8}]}]},36],"m":[{"a":8},46],"o":[{"f":39,"l":[{"k":15},23],"m":49,"n":[{"a":11}],"r":[{"m":[{"o":8}]}],"s":[{"t":[{"r":14}]}]},36],"p":46,"r":[{"a":[{"m":[{"p":19},23]}],"e":[{"r":[{"i":50},0],"s":8}],"i":[{".":0,"s":[{"p":13}],"t":50}],"o":[{"s":[{"t":[{"a":19}]}]}],"u":[{"s":[{"t":[{"r":13}]}]}],"å":[{"n":19}]}],"s":[{"k":11,"l":0,"m":0,"n":0,"p":0,"t":0,"v":0},48],"t":[{"a":[{"f":0,"k":0,"p":0,"r":[{"m":0}]},3],"e":[{"r":8,"x":0}],"i":[{"n":0},3],"o":3,"r":44,"s":[{"a":11,"e":[{"t":6}],"i":43,"j":6,"t":8,"v":[{"ä":13}]}],"t":1,"v":10},42],"u":[{"r":[{"s":[{"t":[{"e":19}]}],"u":1}],"t":[{"u":2}]},37],"v":39,"y":[{"m":[{"a":6}]},50],"å":[{"t":[{"ö":2}]}],"ä":[{"s":[{"t":[{"i":13}]}]},36],"ö":[{"r":[{"a":11,"e":[{"n":11}],"i":11,"k":7,"s":[{"m":7,"u":7}],"t":25,"ö":21}]},37]},18],"g":[{"a":[{"b":[{"r":1}],"g":53,"k":[{"t":39}],"l":[{"l":[{"s":14}],"ä":1},53],"n":[{"o":6}],"r":[{"b":42,"m":39,"o":11,"t":39}],"s":[{"t":6,"u":6}],"t":[{"i":65}],"u":[{"s":25}],"v":[{"s":[{"n":5}]},0],"x":39}],"b":42,"d":[{"r":16},42],"e":[{"a":11,"b":66,"f":42,"j":67,"l":[{"i":[{"s":37},18],"s":[{"t":13}],"y":13,"ä":[{"n":13},37]}],"m":0,"n":[{"a":[{"p":6}],"g":13,"i":53,"j":37,"m":39,"o":[{"m":28}],"s":[{"a":8,"e":0}],"t":47,"v":39,"y":1,"ä":37}],"o":11,"r":[{"a":[{"r":[{"b":39}]},47],"i":53,"s":[{"n":19}]}],"s":[{"e":50}],"t":[{"o":6,"s":13,"t":65}]}],"f":45,"g":[{"a":[{"p":0},30],"e":30,"g":1,"l":10,"o":[{"s":0}],"s":[{"l":[{"a":8}],"m":8,"t":12,"v":12}],"u":0},42],"h":[{"t":[{"e":6}]},42],"i":[{"o":10,"s":[{"n":1,"t":[{"e":6,"r":[{"a":[{"l":1,"t":68}]},8]}]}],"v":37,"ö":11},47],"j":[{"o":[{"r":37},18],"ä":3}],"k":55,"l":[{"a":[{"n":[{"s":0}],"r":30,"s":[{"e":50,"k":19,"ö":50},18]}],"i":[{"d":0}],"j":39,"ö":[{"g":0,"m":50}]},42],"m":45,"n":[{"a":[{"g":0}],"o":18},45],"o":[{".":37,"l":37,"n":[{"s":35,"t":39}],"r":[{"d":42,"m":39,"t":39}],"s":[{"l":2}]},47],"p":45,"r":[{"a":[{"f":37,"l":50,"m":70,"n":[{"s":50}],"s":39}],"e":[{"c":50,"t":[{"t":50}]}],"i":[{"g":3,"k":56,"p":50,"s":37}],"o":[{"i":5,"v":23}],"u":[{"m":39,"s":[{"t":19}]}],"å":[{".":50},0],"ä":[{"n":[{"s":50},8]}]},69],"s":[{"a":[{"n":10,"t":[{"t":5}]}],"e":[{"l":3}],"f":0,"i":[{"d":8}],"j":[{"u":3}],"k":[{"a":[{"f":5}],"i":6,"n":2,"o":[{"t":6}],"y":3}],"l":10,"m":[{"e":0},10],"n":[{"i":6,"ö":6},2],"o":[{"r":10}],"p":[{"l":2,"o":[{"r":6},2],"r":[{"e":1}],"u":2}],"s":2,"t":[{"a":[{"k":2,"l":2,"r":[{"k":3}]}],"e":[{"n":6}],"i":[{"f":3,"l":[{"l":2}]}],"j":2,"o":[{"l":3}],"r":[{"a":2,"e":8}],"ä":[{"m":3}]}],"u":[{"g":0}],"v":[{"e":44,"i":2,"å":2},10],"y":[{"t":2}],"ä":10},71],"t":[{"r":3},45],"u":[{"g":39,"l":[{"d":[{"a":8},14],"ä":39}],"m":[{"a":11}],"p":39,"r":[{"u":1}],"s":[{"k":8}],"t":[{"b":3},42]},47],"v":45,"w":39,"y":[{"t":[{"t":[{"j":14}]}]},37],"å":[{"r":[{"d":[{"s":28}],"i":49}]},47],"ä":[{"l":0,"r":18,"s":6}],"ö":[{"g":39,"r":[{"o":1,"t":49}]},47]}],"h":[{"a":[{"b":[{"l":2}],"g":[{"e":1}],"l":[{"i":6,"s":[{"o":8}],"v":[{"å":14}]}],"m":[{"s":[{"t":8}]}],"n":[{"d":[{"e":[{"l":[{"s":72}]}],"s":[{"l":27}]}],"g":[{"a":73}]}],"r":[{"a":1}],"s":[{"c":6,"p":[{"l":19},6],"t":7}],"v":[{"s":14},23]}],"c":5,"d":39,"e":[{"a":[{"t":6}],"f":[{"r":6}],"l":[{"ä":6}],"t":[{"s":[{"t":14,"v":14},15]}]}],"g":3,"i":[{"r":39,"s":[{"s":[{"k":23}]}],"t":6},18],"j":[{"ä":[{"l":[{"s":14}]}]}],"k":30,"l":[{"e":0},42],"m":42,"n":[{"a":18,"i":[{"t":18}]},39],"o":[{"n":[{"u":1}],"p":[{"p":[{"l":[{"o":13}]}],"s":7}],"s":[{"p":7,"t":[{"i":13}]}],"w":39}],"p":3,"r":[{"u":5}],"s":30,"t":42,"u":[{"s":[{"t":[{"r":19}]},11]}],"y":[{"g":[{"r":13}],"s":[{"t":[{"a":13,"e":[{"r":2}]},8]}]}],"å":[{"r":[{"d":[{"s":74}]}]}],"ä":[{"l":[{"l":[{"s":75},31],"s":[{"o":20}]}],"r":[{"i":6}],"s":6,"v":[{"a":[{"r":6}]}]}],"ö":[{"g":[{"e":[{"n":1}],"r":13},11],"r":[{"n":[{"s":19}]}],"s":[{"t":[{"r":19}]},6]},18]},36],"i":[{"a":[{"f":[{"r":2}],"g":2,"l":[{"u":6}],"s":[{"k":6}],"t":[{"r":2}]},30],"b":[{"l":17,"r":[{"i":[{"l":5}]}]}],"c":[{"a":3,"e":[{".":0}],"h":[{"a":5}],"k":[{"o":[{"r":[{"d":6}]}],"u":35}],"o":5}],"d":[{"e":[{"n":[{"s":14}]}],"g":[{"e":6}],"o":[{"m":0}],"r":[{"o":2},10],"s":[{"v":7},11],"u":[{"n":0}],"å":3,"ö":0},18],"e":45,"f":[{"e":[{"s":25}],"n":5,"r":[{"å":[{"n":37}]},30]}],"g":[{"a":[{"n":39}],"e":[{"b":18,"j":1}],"l":10,"n":[{"o":2}]},30],"i":3,"k":[{"a":[{"r":[{"t":0}]}],"i":30,"l":[{"o":3,"ä":[{"n":1}]}],"n":2,"o":30,"r":[{"e":2,"o":[{"b":5,"f":1,"s":1}]}],"s":[{"h":76,"k":[{"o":[{"r":1}]}]}],"u":[{"l":3,"m":3,"t":66}],"v":10,"y":3,"å":3,"ö":3}],"l":[{"a":30,"d":[{"a":[{"n":6}]}],"i":[{"n":18}],"j":[{"ö":10}],"k":1,"l":[{"a":[{"k":1}],"i":[{"k":6}],"s":77,"u":37,"ä":[{"r":1}]}],"m":[{"i":[{"n":11}]}],"o":30,"t":[{"j":11}],"u":[{"f":[{"t":[{"s":59}]}],"p":0},3],"ä":5}],"m":[{"b":[{"r":78}],"s":[{"m":1,"o":6}],"u":30,"å":5,"ä":3,"ö":5}],"n":[{"a":[{"u":0}],"d":[{"s":[{"k":[{"ä":13}],"t":[{"i":13}]}],"u":36}],"g":[{"a":6,"e":[{".":6,"s":[{".":8}]}],"i":[{"s":13}],"l":[{"a":[{"s":1}]}],"s":[{"t":[{"e":19}]}]}],"i":[{"f":0},3],"j":1,"k":[{"v":[{"e":1}]}],"n":[{"e":[{"h":36}]}],"r":[{"e":50,"i":36,"ä":37}],"s":[{"e":[{"m":6}],"k":[{"r":[{"ä":2}]}],"l":2,"m":8,"n":2,"p":[{"e":[{"l":[{"n":50}]},36],"r":1}],"t":[{"i":[{"n":[{"k":37}]}],"r":[{"u":37}],"å":6}]}],"t":[{"e":1,"r":[{"a":6},36],"s":7}],"u":[{"n":0},30],"y":[{"m":2}],"ä":30}],"o":[{"c":5,"g":30,"k":[{"r":6},3],"l":[{"i":1},30],"m":5,"n":[{"o":3,"s":14},23],"p":30,"r":30,"s":30,"t":30}],"p":[{"e":30,"i":30,"o":[{"s":25}],"p":[{"i":1}]}],"r":[{"a":3,"e":[{"s":0}],"i":30,"k":[{"l":13}],"o":[{"p":7},30],"u":30}],"s":[{"c":[{"e":5}],"e":[{"l":25}],"h":11,"k":[{"e":[{"p":1}],"n":[{"a":13}],"o":[{"p":[{"a":2}]}],"u":[{"n":6},2],"y":2},18],"l":[{"a":[{"m":5}],"ä":[{"n":2}]}],"m":2,"n":2,"p":[{"r":[{"i":6}]},17],"s":[{"a":2,"e":2,"n":13,"t":[{"r":79,"ä":7}]}],"t":[{"a":[{"l":30,"n":[{"s":30}],"t":[{"t":13}]}],"e":[{"n":[{".":1,"t":30}],"s":6}],"i":[{"g":2,"n":[{"g":1}]}],"o":[{"r":[{".":1,"e":1}]}],"r":[{"o":13}],"å":25}],"v":1,"y":3,"å":0}],"t":[{"c":1,"e":[{"i":0,"x":0}],"j":0,"r":[{"a":[{"n":1}],"i":[{"n":5,"s":3}]}],"t":[{"o":[{"p":43}],"r":79,"u":6}],"å":9},30],"u":52,"v":[{"a":[{"k":18},30],"i":[{"n":0},30],"r":2,"s":11,"å":30}],"x":[{"t":[{"u":1},11]}],"ö":30}],"j":[{"a":[{"k":[{"t":[{".":37}]}],"r":[{"b":39}],"s":[{"p":13}]},36],"b":42,"d":[{"r":2,"s":[{"t":[{"y":6}]}],"u":0},42],"e":[{"a":11,"f":50,"s":[{"t":[{"a":1}]}]},36],"f":45,"g":46,"h":39,"i":[{"n":39},36],"k":[{"l":0,"o":3,"v":2},39],"l":45,"m":42,"n":45,"o":[{"b":37,"k":[{"r":6}],"l":[{"j":39,"ö":1}],"r":[{"d":[{"i":[{"n":8}],"s":80}]}],"u":37},18],"p":[{"l":5},39],"r":48,"s":[{"a":5,"k":0,"m":[{"e":6}],"t":[{"e":6}]},45],"t":[{"s":8},42],"u":[{"k":[{"o":[{"s":6}],"s":7}],"l":[{"k":7}],"r":39,"s":[{"k":[{"r":13}],"s":25,"t":[{"a":13},8]}],"t":[{"s":[{"t":[{"a":8}]}]}]},71],"ä":[{"l":[{"o":1,"p":[{"r":81}],"s":[{"a":8}]}],"r":[{"n":[{"s":[{"k":14}]}],"s":13}]}],"ö":[{"r":[{"s":23}],"s":[{"t":8}]}],"é":50}],"k":[{"a":[{".":37,"d":[{".":37,"e":[{".":37}],"r":6}],"f":[{"ä":50},42],"i":2,"j":[{"u":1}],"k":[{"t":[{"i":3}]},42],"l":[{"f":39,"g":39,"l":[{"o":8,"s":14}]}],"m":[{"p":37,"r":37}],"n":[{".":37,"d":[{".":39}],"o":50}],"p":[{"i":37,"l":[{"a":1}],"p":[{"r":8}],"s":[{"t":19}],"t":[{"e":[{"n":50}]}]},42],"r":[{".":37,"a":2,"b":[{"e":[{"t":5}]},39],"i":1,"k":39,"n":[{"a":37}],"p":[{"s":19},39],"t":[{".":39,"e":39}],"v":39}],"s":[{"k":6,"t":[{"i":7}]},37],"t":[{".":37,"s":[{".":37}]}],"u":39},47],"b":42,"c":39,"d":[{"o":[{"m":25}]},82],"e":[{".":37,"d":[{".":42,"a":42,"r":2,"s":8}],"e":[{"r":6}],"f":[{"u":42}],"l":[{"d":39,"s":25}],"n":[{"s":[{"e":39}],"å":1}],"p":42,"r":[{"n":37}],"s":[{"s":7},11],"x":39},47],"f":[{"ö":[{"r":[{"i":7}]},23]},45],"g":83,"h":67,"i":[{"d":[{"s":7}],"f":39,"g":36,"k":[{"s":8}],"l":[{"t":25}],"m":[{"å":50}],"n":[{"g":[{"r":14}],"n":[{"e":39}],"s":39,"t":42,"u":6}],"t":[{"r":6}],"v":[{"s":7}]}],"j":[{"o":[{"l":50}],"ä":3},39],"k":48,"l":[{"a":[{"g":36,"m":[{"a":18,"i":8}],"n":[{"g":[{".":37}]}],"s":[{"s":37}],"t":42,"v":50}],"e":[{"j":18},42],"i":[{"g":42,"m":18,"p":37,"s":[{"t":[{"r":84}]},18]}],"o":[{"c":[{"k":[{".":5,"a":50}]}],"s":37}],"u":[{"b":36,"k":39}],"ä":[{"d":36,"g":48}]},11],"m":45,"n":[{"a":[{"l":0,"p":58}],"i":[{"p":50,"v":58}],"u":58,"y":[{"k":5},0]},71],"o":[{"c":39,"d":[{"e":1,"l":5}],"g":[{"n":7,"r":6,"s":41}],"l":[{"a":39,"i":[{"n":11}],"j":39,"t":[{"r":13}],"v":[{".":50}]}],"m":[{"m":37,"p":50,"r":48,"s":8},36],"n":[{"f":37,"s":[{"t":37}],"t":37,"u":2},36],"r":[{"g":37,"i":2,"r":[{"e":[{"s":37}]},42],"t":[{"e":[{"r":[{"a":50}]}]}]},36],"s":[{"k":66,"l":2,"t":[{"r":6},37]}],"u":46},18],"p":45,"r":[{"a":[{"f":37,"g":[{"e":85}],"n":[{"g":39}]}],"e":[{"r":[{"a":50}],"t":[{"e":[{"n":0}]}]}],"i":[{"d":[{"s":86}],"g":[{"s":20},36],"n":[{"g":[{"s":[{"k":26}]}]}],"v":39}],"o":[{"p":[{"p":[{"s":59},37]}]}],"u":[{"s":[{"t":[{"a":[{"d":13}]}]}]}],"y":[{"g":3}],"å":[{"k":[{"s":19}],"p":[{"a":8}]}],"ä":[{"d":[{"d":[{".":5}]}],"k":[{"l":19}],"l":39,"t":3}]},69],"s":[{"a":[{"k":[{"s":28}],"s":9}],"c":[{"h":2}],"e":[{"r":0}],"k":[{"l":2,"r":[{"a":1}],"v":1,"ä":3,"ö":3},87],"l":[{"a":[{"g":[{".":5}]}],"i":11,"y":5}],"o":18,"p":[{"l":2}],"t":[{"a":[{"v":[{"s":33}]}],"i":[{"d":1}]},29],"u":18},42],"t":[{"e":[{"x":0}],"i":[{"g":[{"e":13}],"n":[{"n":0,"s":18}]}],"o":[{"d":18,"m":18}],"r":[{"e":2,"i":[{"n":2}],"o":[{"d":5,"g":1,"l":2}],"ä":[{"t":1}]},18],"s":[{"t":11}],"t":66,"u":[{"g":0,"t":18}],"ä":[{"l":0}]},52],"u":[{"g":[{"n":5},39],"l":[{"a":1,"d":39,"ö":37}],"m":[{"p":[{"l":13}]}],"n":[{"g":[{"s":28}],"n":50}],"p":[{"e":[{"n":6}]}],"r":[{"o":6,"s":37}],"s":[{"t":[{"a":14}]},37]}],"v":[{"a":[{"l":[{"i":37}],"r":[{"e":5,"n":37,"s":14,"t":37}],"t":[{"o":0}]}],"e":[{"n":[{"t":[{"e":42}]}]},18],"i":[{"n":[{"n":36}],"r":[{"e":50}]}],"o":0,"å":30,"ä":[{"l":[{"l":37}],"r":30}]},6],"y":[{"d":[{"d":[{"s":20}]}],"l":[{"i":[{"n":6}]}],"r":[{"k":37}]}],"ä":[{"l":[{"m":8}],"m":[{"p":50}],"n":[{"n":50,"s":37}],"r":[{"l":37}]}],"ö":[{"g":39,"k":[{"s":[{"t":19}]}],"p":[{".":50}],"r":[{"l":8,"s":[{"l":8}]}]}]}],"l":[{"a":[{".":37,"d":[{"e":[{".":36}],"m":42,"r":39}],"f":42,"g":[{"d":[{".":37}],"i":[{"n":6}],"m":50,"r":7}],"k":[{"a":[{"n":[{".":50}]}],"i":50,"t":[{"i":[{"s":37}]}]},42],"l":[{"o":1}],"n":[{"d":[{"e":[{".":37}],"i":8}]}],"p":[{"p":[{"a":[{"r":[{"a":42}]}]}]}],"r":[{"b":42,"n":36,"s":13,"t":39}],"s":[{"h":7,"k":39,"t":[{"e":[{".":50}]},6]}],"t":[{".":36,"r":1,"t":[{"i":[{"s":8}]}]}],"u":42,"v":[{"u":1},42]}],"b":67,"c":52,"d":[{"e":[{"r":[{"s":25}]}],"j":3,"r":[{"a":2,"y":5}],"s":[{"a":[{"n":8}]}]},71],"e":[{".":37,"g":[{"e":[{".":6}]}],"i":[{"g":1}],"k":[{"l":11,"v":6}],"m":[{"s":[{"ö":8}]}],"n":[{"l":49}],"r":[{".":37,"k":13,"n":37,"s":[{"t":[{"e":7}]}]}],"s":[{"l":76}],"t":[{"å":1}],"u":[{"m":2}],"v":[{"u":6}],"x":42},36],"f":45,"g":[{"j":18,"l":64,"s":[{"t":1},8]},45],"h":42,"i":[{"c":[{"h":1}],"f":37,"g":[{"o":6,"s":7},37],"k":[{"l":[{"i":1},23],"s":7}],"m":[{"e":[{"r":50}]}],"n":[{"d":42,"g":[{"a":[{".":42}],"o":19,"r":39,"s":[{"t":28}]}],"i":42,"j":50,"t":42}],"o":10,"p":42,"s":[{"c":7,"t":[{"a":6,"r":[{"ö":2}]}]}],"v":[{"o":6,"s":15}]},36],"j":[{"a":[{"k":18}],"o":52,"u":36,"å":5,"ä":30,"ö":[{"r":3}]}],"k":[{"e":3,"j":[{"u":5}],"l":[{"a":[{"g":1}],"ä":5},18],"r":[{"a":16},18],"t":2},45],"l":[{"a":30,"d":[{"r":2},8],"e":[{"b":13}],"k":2,"l":10,"o":[{"k":[{"v":19}]},30],"p":2,"s":[{"a":[{"n":6}],"e":11,"k":[{"a":2}],"o":11,"v":[{"a":6}]}],"t":[{"i":[{"g":6}],"r":2}],"u":[{"n":1,"s":[{"t":[{"r":[{"a":20}]}]}]},30],"v":1,"y":5,"ä":[{"g":[{"g":[{"s":59}]}]}],"ö":[{"d":5,"r":[{"t":1},25]}]}],"m":[{"o":[{"l":0}],"s":[{"t":2}]},52],"n":30,"o":[{"a":[{"f":11}],"c":[{"k":[{"u":8}]}],"d":[{"l":39,"o":6,"s":[{"t":7}]}],"g":[{"e":[{".":11}]}],"l":[{"j":42}],"m":42,"r":[{"d":39,"g":42,"s":8}],"v":[{"o":6}]}],"p":[{"a":[{"k":0}],"e":30,"i":30,"l":[{"a":5,"ö":1}],"s":[{"t":6}]}],"r":46,"s":[{"c":18,"j":[{"o":0,"ä":0}],"k":[{"e":[{"n":[{"s":[{"v":0}]}]}],"i":3,"n":7,"o":[{"t":5}],"r":[{"ä":3}],"y":3,"å":[{"p":25},3],"ä":3},18],"l":[{"u":3}],"m":[{"o":6},0],"n":[{"y":[{"t":1}]}],"p":[{"e":3,"l":2,"o":[{"l":2}]},18],"s":1,"t":[{"a":[{"k":0},3],"e":[{"r":1},6],"o":3,"y":[{"g":0},3],"å":3,"ä":3,"ö":5},18],"u":[{"r":5},18],"v":[{"i":[{"d":1},0]},18],"å":0},45],"t":[{"a":[{"t":[{"u":23}]}],"e":[{"f":0}],"i":[{"f":0,"h":0}],"o":[{"s":0}],"r":[{"a":[{"t":[{"i":1}]}],"e":[{"t":0}],"ö":0}],"s":[{"k":1}],"u":8},52],"u":[{"i":1,"k":[{"t":[{"o":8}]}],"l":[{"l":[{".":39}]}],"n":[{"g":14},42],"p":[{"p":42,"u":6}],"s":[{"s":[{"p":70}],"t":[{".":50}]}],"t":[{"b":39,"s":39}]}],"v":[{"a":[{"r":[{"m":0}]},30],"e":[{"r":[{"s":27}]}],"i":30,"o":[{"s":0}],"r":[{"i":2}],"s":[{"p":2}],"ä":[{"v":25},30]},42],"y":[{"c":[{"k":[{"s":[{"t":28}]}]}],"g":[{"a":[{"t":6}],"r":7,"s":77}],"s":[{"t":[{"e":37,"n":50,"r":6}]}]}],"å":[{".":42,"g":[{"s":7}],"n":[{"g":[{"s":14},36]}],"s":[{"k":6,"t":[{"e":13,"å":6}]}]}],"ä":[{"c":39,"g":[{"r":13}],"n":[{"d":[{"s":36}],"g":[{"d":[{"e":[{"r":50}]}]}]}],"s":[{"a":[{"n":6}],"p":6}],"t":[{"t":[{"s":14}]}]}],"ö":[{"l":39,"m":39,"n":37,"r":[{"e":[{"r":37}]}],"s":36,"v":[{"ä":6}]}],"é":37}],"m":[{"a":[{"f":[{"r":1}],"g":[{"n":13,"s":13}],"j":[{"u":1}],"k":[{"r":7}],"l":[{"i":2}],"n":[{"d":25,"g":[{"a":31,"o":88}],"i":[{"k":15},1]}],"r":[{"i":89}],"s":[{"h":19,"k":[{"o":7,"r":[{"o":14}],"ö":1}],"t":[{"i":7}],"v":8}]},36],"b":[{"s":[{"k":6}]},42],"c":42,"d":[{"a":[{"t":0}],"i":0,"o":0,"r":16},42],"e":[{"d":[{"s":42,"u":6}],"k":[{"l":6,"o":6}],"l":[{"d":39,"o":19,"u":1}],"n":[{"k":13,"u":1,"y":1}],"r":[{"s":[{"k":[{"o":23}]}]}],"s":[{"o":6,"t":[{"i":2},8]}],"t":[{"a":42,"r":[{"i":[{"n":1}],"o":7}]}],"u":8,"x":42},36],"f":[{"e":[{"s":0}],"n":0},45],"g":90,"h":42,"i":[{"d":[{"s":7}],"l":[{"u":6}],"n":[{"d":42,"g":[{"o":25}],"k":[{"r":8},39],"v":39,"ö":2}],"s":[{"f":1,"p":6,"s":[{"t":14}]},23],"t":[{"e":[{".":6}],"r":6,"t":[{"s":14}]}]},36],"k":45,"l":48,"m":[{"e":[{"d":13}],"s":12,"u":[{"l":0}]},91],"n":[{"a":[{"m":18,"s":[{"t":14}],"v":0}],"d":[{"r":1}],"g":12,"s":[{"t":1}],"t":[{"u":1}],"å":17},45],"o":[{"d":0,"i":6,"m":[{"r":42}],"n":[{"a":2}],"s":[{"k":7}],"t":[{"a":11,"i":[{"n":6}],"u":6,"v":7}]},36],"p":[{"a":[{"k":18,"r":[{"t":0}]}],"l":[{"a":[{"d":2,"n":[{"e":5}],"t":2}],"i":[{"n":2}]},18],"o":[{"s":25}],"p":66,"s":[{"k":8,"p":1}],"å":0},45],"r":45,"s":[{"a":[{"l":0}],"k":[{"e":0}],"l":[{"a":[{"g":3}],"ä":2}],"m":11,"t":[{"e":31,"o":30,"r":[{"i":[{"n":7}]},18]}],"ä":[{"p":1}]},39],"t":45,"u":[{"d":39,"l":[{"l":[{"s":20}],"t":[{"r":19}]}],"m":50,"n":[{"g":92,"k":[{"o":8}]}],"r":37,"s":[{"i":37,"t":[{"a":2}]}],"t":[{"s":[{"l":8}]}]}],"v":48,"y":[{"n":36,"s":[{"t":[{"e":8}]}]}],"å":[{"g":8,"l":[{".":36,"e":[{"t":[{".":50}]}]}],"n":[{".":50}],"r":39,"s":10}],"ä":[{"g":39,"k":7,"n":[{"s":25},36],"r":[{"k":37}],"s":[{"t":[{"a":13}]},36],"t":36}],"ö":[{"b":[{"l":6}],"g":[{"e":[{"n":[{".":6}]}]}],"j":37,"r":[{"k":[{"l":8}]}],"s":37,"v":39}]}],"n":[{"a":[{".":37,"d":[{"s":14},37],"f":42,"g":[{"r":1}],"k":[{"o":37,"r":[{"o":2},37],"t":30},42],"l":[{"f":[{"l":50},42],"g":39,"s":7,"u":11}],"m":[{"b":5,"n":50}],"n":[{"d":[{".":39}],"v":39}],"r":[{"a":[{"p":6}],"b":42,"k":42,"m":39,"t":42}],"s":[{"t":[{"r":14}]}]},36],"b":67,"c":[{"h":[{"a":3,"e":3,"i":3},18],"i":[{"s":25}],"y":[{"k":[{"l":14}]}]},45],"d":[{"a":[{"k":0,"v":0}],"d":12,"e":[{"s":7},5],"i":[{"l":0}],"r":[{"a":[{"k":1,"s":1,"t":2}],"i":[{"l":5},2],"o":[{"p":3,"s":1}]}],"s":[{"k":[{"a":[{"l":1}]}],"n":2,"o":[{"r":7}],"v":[{"ä":13}]}],"å":[{"s":1}]},42],"e":[{".":37,"d":[{"i":6,"l":50,"r":79,"s":7,"ö":6}],"g":[{"r":[{"e":[{"s":1}]},11]}],"k":[{".":39}],"l":[{"y":1}],"n":[{"l":39}],"r":[{"s":[{"m":13}]}],"s":[{"s":35,"t":[{"a":6,"i":66}]}],"t":[{"r":[{"e":2}]}],"u":[{"t":10}],"x":42},36],"f":[{"a":[{"l":[{"l":[{"s":59}]}]}],"i":[{"s":14}]},90],"g":[{"a":[{"r":0}],"e":[{"n":[{".":0,"d":0,"s":0,"t":[{"i":0}]}],"r":[{"m":0}],"t":0}],"i":[{"g":2,"s":8},18],"l":[{"y":6}],"o":[{"m":1,"r":2},18],"r":[{"a":[{"d":2}],"ö":0}],"s":[{"e":[{"r":6}],"k":21,"p":[{"a":7}],"t":[{"i":[{"m":13}]}],"v":[{"a":[{"l":7}]}]}],"ö":[{"d":0}]},93],"h":42,"i":[{"d":39,"e":[{"c":1}],"k":[{"i":6}],"l":[{"i":1}],"n":[{"g":[{"s":[{"k":20,"v":28},75]}]},37],"o":10,"p":[{"p":[{"r":8}]},39],"s":[{"t":[{"e":[{"r":[{"i":1}]}],"r":[{"a":14}]}]}],"t":[{"r":12}],"v":[{"s":[{"k":13,"t":13}]}]},47],"j":[{"a":[{"r":0}],"u":[{"n":3,"s":8}],"ä":3},45],"k":[{"a":[{"r":[{"t":0}]}],"i":[{"s":[{".":0}]},30],"n":[{"y":3}],"o":30,"r":[{"a":[{"f":[{"t":[{"s":94}]}]}],"i":2,"o":30,"u":[{"s":27}]}],"s":[{"l":1,"p":2}],"t":[{"i":[{"n":6}]}],"u":30,"ö":30},42],"l":45,"m":45,"n":[{"d":2,"e":3,"i":[{"s":25}],"k":2,"s":[{"t":12}]},45],"o":[{"d":[{"l":42}],"k":[{"l":6}],"l":[{"j":42}],"m":[{"r":42,"s":35}],"r":[{"d":42,"g":42}],"s":[{"a":1,"c":1}],"t":[{"u":6}]},36],"p":45,"r":45,"s":[{"i":[{"n":[{"t":0}],"s":[{".":0,"e":0}]},11],"k":[{"a":[{"n":2}],"i":30,"o":[{"r":2}]},11],"l":[{"a":[{"g":[{"s":59}],"s":1}]}],"m":[{"i":[{"t":1}]}],"o":[{"c":0}],"p":[{"i":30,"l":2,"o":2}],"s":12,"t":[{"a":[{"n":[{"s":3}],"p":3}],"e":[{"l":6}],"i":[{"f":3,"g":2}],"r":[{"a":6,"i":[{"k":18}]}],"u":[{"p":13}],"v":[{"i":[{"l":13}]}],"y":16}],"v":[{"a":30,"i":2,"ä":[{"r":2}]}]},39],"t":[{"a":[{"r":[{"k":0}]}],"e":[{"r":[{"s":74}]}],"i":[{"n":[{"f":0}]}],"o":[{"m":[{"b":9}]}],"r":[{"a":[{"d":2,"h":3,"k":3,"l":[{"a":5,"i":2}],"m":5}],"e":[{"p":2,"r":3}],"i":[{"a":2,"n":2,"s":2}],"o":[{"p":[{"i":[{"n":0}]}],"r":0}],"ö":0}],"s":[{"c":7,"e":6,"k":[{"o":[{"r":13}]}],"t":[{"r":6}]}],"u":[{"t":0}],"v":[{"å":3}]},45],"u":[{"f":[{"t":[{"s":27}]}],"g":[{"n":5},39],"i":37,"m":[{"s":19},37],"p":[{"p":3},42],"t":[{"b":42}]}],"v":45,"y":[{"g":[{"r":1}]}],"z":5,"å":[{"r":39}],"ä":[{".":39,"c":39,"m":37,"t":37}],"ö":[{"g":95,"j":[{"a":11},37],"k":[{"r":1}],"l":39,"s":[{"k":[{"e":13}]},8]}]}],"o":[{"a":[{"r":[{"d":18}]},30],"b":[{"j":96,"l":[{"i":0}],"y":8},18],"c":[{"k":[{"r":34,"s":[{"k":7}],"u":2}]}],"d":[{"e":[{"k":8}],"i":[{"a":8}],"l":[{"i":36}],"r":[{"a":[{"l":5}],"o":3}],"s":[{"k":8,"t":[{"i":8,"u":1},11]}],"ä":3},18],"e":30,"f":[{"f":[{"s":[{"t":19}]}],"l":0,"r":3,"ö":[{"r":[{"m":[{"å":32}]}]}]}],"g":[{"a":[{"v":0}],"g":[{"r":2}],"j":0,"l":[{"o":5,"y":5}],"n":[{"o":[{"s":[{"t":19},27]}]}],"r":[{"i":0,"ö":0}],"s":[{"e":2,"t":79}],"ä":0},30],"i":[{"l":0},30],"j":30,"k":[{"l":[{"i":0}],"n":2,"s":[{"l":2,"u":6}],"v":18},30],"l":[{"a":[{"k":5,"u":1},30],"f":[{"ö":25}],"j":36,"k":[{"a":2,"r":7,"u":6,"ä":6}],"l":[{"s":[{"i":8,"l":[{"ä":13}]}],"ä":2}],"m":[{"s":8}],"n":[{"s":7}],"o":[{"k":[{"v":13}]},30],"s":[{"a":6}],"t":[{"å":6}],"u":[{"g":0,"r":0},30],"y":30,"å":[{"r":1}],"ä":30}],"m":[{"b":[{"r":[{"ä":6}]}],"e":[{"n":3}],"o":[{"r":[{"d":0}]}],"p":[{"a":1,"l":2}],"r":[{"a":39},36],"s":[{"k":10,"t":[{"e":6}],"ä":[{"t":37}]}],"t":[{"r":6,"v":2}]}],"n":[{"c":2,"g":[{"i":1,"r":10,"s":[{"l":25}]}],"i":[{"n":[{"s":0}]}],"j":2,"k":54,"s":[{"c":7,"i":[{"s":14}],"m":7,"t":[{"e":[{"l":1,"r":8}]}]}],"t":[{"r":[{"a":[{"s":2}],"e":6}],"s":8}],"y":30,"å":1,"ä":30,"ö":3}],"o":[{"d":6,"m":[{"s":13}],"r":3}],"p":[{"e":30,"i":30,"l":[{"i":[{"n":[{"e":5}]}]}],"p":[{"l":[{"e":7},6],"r":6,"u":6}],"r":[{"i":3}],"s":[{"t":6}],"å":3}],"q":5,"r":[{"a":[{"k":3,"n":[{"g":80}],"p":18},39],"d":[{"n":36,"ä":34}],"e":[{"h":0}],"g":[{"a":[{"n":[{"i":50}]},36],"r":6,"å":6}],"i":[{"e":[{"n":[{"t":37}]}]},30],"k":39,"m":[{"ö":6}],"n":[{"u":6,"ä":6}],"o":30,"p":[{"l":6,"r":1}],"s":[{"p":[{"a":6}],"t":[{"i":[{"g":13}]}]}],"t":[{"e":1,"r":[{"e":7,"o":7},11]}],"u":30,"y":3,"ä":30,"ö":30}],"s":[{"f":[{"ä":64}],"k":[{"l":8,"o":[{"p":30}]}],"o":[{"m":3}],"p":[{"i":[{"g":1}]}],"s":[{"k":6,"t":97}],"t":[{"i":[{"g":2,"k":[{"e":[{"r":1}]}],"l":[{"l":5}]}],"r":[{"o":[{"n":13}],"ö":13},6],"u":[{"l":2}]}]}],"t":[{"a":[{"l":[{"a":[{"n":23}]}]}],"i":[{".":39,"e":39,"n":39}],"o":30,"r":[{"o":5,"u":[{"n":1}]}],"s":[{"v":2}],"t":[{"i":1,"r":[{"ä":6}],"s":23}],"u":[{"n":5},30],"v":[{"i":[{"n":27}]}],"y":30,"å":5,"ä":3}],"u":[{"n":8,"p":8,"r":[{"ö":2},39],"s":6,"t":[{"t":98}]}],"v":[{"a":[{"n":8},30],"i":30,"r":2,"s":[{"i":6,"l":2,"m":[{"e":8}]}],"ä":30}],"w":[{"e":3}],"x":1,"y":11,"å":3,"ä":[{"n":3}],"ö":3}],"p":[{"a":[{"f":39,"g":8,"k":[{"i":[{"s":27},14]}],"l":[{"a":1,"s":19,"ä":1}],"n":[{"d":[{".":39}],"t":[{"r":8}]}],"p":37,"r":[{"b":42,"m":39,"s":7}],"s":[{"k":[{"i":1},42],"t":11}],"t":[{"r":37}],"u":2},36],"b":67,"c":42,"d":82,"e":[{"k":[{"t":[{"r":[{"i":13,"o":14}]}]}],"l":[{"d":39,"s":[{"i":35}]}],"m":39,"n":[{"g":50,"n":37,"t":[{"r":19}]}],"r":[{"b":[{"l":8}],"i":[{"o":37}],"s":[{"l":8},37]}],"t":[{"r":[{"o":1}]}],"x":39}],"f":45,"g":46,"h":42,"i":[{"e":[{"l":6}],"g":36,"o":10,"p":37,"s":[{"o":1,"t":[{"a":1,"o":1}]}]}],"j":[{"ä":[{"s":37}]},18],"k":99,"l":[{"a":[{"c":0,"n":[{".":50,"e":0}],"r":[{"n":3}]}],"e":[{"v":3,"x":37}],"i":[{"c":37,"k":36,"t":39}],"j":3,"o":[{"m":36,"p":3}]},18],"m":45,"n":[{"i":3},52],"o":[{"a":50,"c":42,"f":42,"i":11,"l":[{"i":[{"t":37}],"j":39,"y":14}],"r":[{"g":42}],"s":[{"t":[{"e":[{"r":8}]}]},37],"v":[{"ä":6},39]},36],"p":[{"a":[{"r":[{"t":0}],"s":[{"k":1}],"x":0}],"e":3,"i":[{"n":[{"s":0}]},30],"j":2,"l":[{"a":2,"i":[{"n":2,"s":1}],"u":1,"y":2,"å":[{"n":2,"t":2}],"ä":2,"ö":2},10],"o":[{"c":1,"f":2}],"p":12,"r":[{"a":2,"i":2,"u":2,"y":2,"ä":2},10],"t":[{"r":2}],"u":18,"y":5,"å":2},42],"r":[{"a":[{"x":50},42],"e":[{"s":[{"t":[{"a":7,"o":19},25]},36]}],"i":[{"g":3,"k":3,"l":50,"n":[{"c":37,"g":20}],"o":[{"l":5}]}],"o":[{"g":7,"r":3},37],"å":39,"ä":[{"s":37}],"ö":[{"v":37}]},100],"s":[{"a":[{"l":[{"m":37},18]}],"h":[{"o":101}],"k":[{"e":[{"n":6}]}],"l":[{"i":11}],"n":[{"a":3}],"o":[{"d":3},39],"t":[{"a":[{"k":0}],"ä":[{"v":0}]},29],"ö":18},42],"t":[{"r":[{"i":3}]},45],"u":[{"g":39,"l":[{"l":[{"o":[{"v":70}]}],"t":[{"r":13}]}],"n":[{"g":50,"k":37}],"s":[{"t":7}]},36],"v":45,"å":[{"d":[{"r":2}]}],"ä":[{"l":37,"r":[{"o":1}]}],"ö":[{"r":39}],"é":37}],"q":[{"u":[{"e":37},6]}],"r":[{"a":[{".":37,"c":[{"i":[{"t":25}]}],"d":[{"e":[{".":37}],"r":39,"u":6}],"e":102,"f":[{"f":[{"ä":42}],"r":2}],"i":[{"s":1}],"k":42,"l":[{"o":11}],"n":[{"d":[{"e":[{".":37},0],"r":103,"s":14}],"s":[{"v":42}]}],"p":[{"l":2}],"r":[{".":0,"b":39,"e":0,"g":39,"k":0,"m":39,"n":0,"s":0,"t":[{"a":3},39],"ö":1},37],"s":[{"h":7,"t":[{"e":[{".":37}]},11]},0],"t":[{"i":[{"v":37}],"r":[{"i":2}]}],"v":42,"y":[{"o":1}]},36],"b":42,"c":45,"d":[{"a":[{"f":0,"g":[{"r":13}]}],"j":3,"o":[{"s":0}],"r":[{"a":[{"n":2,"t":2}]}],"u":[{"l":0}],"å":3,"ä":3,"ö":[{"s":0}]},71],"e":[{".":37,"a":[{"u":[{"s":39}]}],"b":2,"c":[{"o":50},39],"d":[{"r":12,"u":1}],"f":[{"t":39}],"g":[{"g":39,"n":[{".":37}]}],"k":[{"r":10,"t":[{"r":[{"i":13}]}]}],"l":[{"d":39,"u":2}],"m":[{"p":13,"s":37}],"n":[{".":0,"i":42,"k":42,"l":42,"ö":2}],"o":2,"r":[{".":37,"n":37}],"s":[{"o":37,"s":[{"k":19}],"t":[{"i":10}]}],"t":[{".":37,"e":[{"t":39}],"r":[{"o":7}],"y":39,"å":1}],"v":[{"i":[{"g":42}]}],"x":39},36],"f":[{"ö":[{"r":[{"i":7}]}]},45],"g":[{"g":24,"s":[{"t":[{"o":[{"p":13}]}]}]},45],"h":[{"a":[{"n":[{"d":[{"s":59}]}]}]},42],"i":[{"a":[{"l":37}],"b":39,"f":[{"i":37,"r":[{"å":3},42],"u":37}],"g":[{"t":37}],"k":[{"s":23,"t":[{"n":37}]}],"m":[{"o":6}],"n":[{"d":[{"s":14},42],"g":[{"e":[{"n":[{".":50}]}],"r":14}],"r":42,"s":42,"t":42}],"o":[{"t":37},10],"p":[{"l":[{"e":1}]}],"s":[{"t":[{"ä":11}]}],"t":[{"u":[{"t":6}]}],"v":[{"i":[{"s":6}],"s":7}]}],"j":[{"i":[{"s":0}],"o":3,"u":5,"ö":5},39],"k":[{"a":[{"k":[{"t":2}]}],"e":[{"k":0,"s":14}],"i":30,"l":[{"a":[{"s":3}],"e":11,"ö":0}],"n":[{"e":6},2],"o":[{"d":0},30],"t":[{"r":2}],"u":[{"p":0},30],"ä":30,"ö":[{"r":5}]},42],"l":[{"a":[{"k":[{"a":5}],"v":5}],"d":[{"s":14},23],"s":[{"p":1}]},45],"m":[{"a":[{"r":[{"b":0}]}],"i":[{"l":0}],"s":[{"j":43}],"t":[{"r":1}]},45],"n":[{"a":[{"l":25}],"g":12,"k":10,"o":[{"m":18}],"s":[{"k":8,"t":8}],"t":2},45],"o":[{"b":2,"g":[{"r":[{"o":6}]}],"k":[{"r":11}],"l":[{"j":42,"l":[{"i":8}]}],"m":[{"a":[{"n":50},8]}],"n":[{"a":[{"u":50}],"d":[{".":50}],"v":8}],"p":[{"l":2,"p":[{"s":31}]}],"r":[{"a":6,"d":42,"g":42,"i":[{"e":42}],"n":37}],"s":[{"i":[{"n":6}],"n":6,"v":7}],"t":[{"e":1}]}],"p":[{"l":[{"ö":0}],"ö":0},45],"r":[{"a":[{"n":8}],"d":8,"e":[{"l":[{"i":[{"g":[{"i":94}]}]}],"s":25}],"i":[{"b":5}],"k":66,"o":[{"b":0,"m":0}],"s":[{"k":23},10],"u":[{"r":0}]},52],"s":[{"e":[{"l":[{"d":0}],"x":0}],"i":[{"n":18}],"k":[{"i":[{"d":0},30],"n":[{"a":7}],"o":[{"l":[{"l":1}],"s":6,"t":[{"t":[{"s":72}]}]}],"u":18,"ö":3}],"l":[{"a":[{"g":[{"s":[{"v":32}]}]}],"e":0,"o":0,"ö":104}],"m":[{"o":6}],"n":[{"a":[{"t":1}],"ä":1}],"p":[{"l":18,"o":18},30],"s":12,"t":[{"a":[{"k":1}],"e":[{"k":5,"n":[{"d":1,"i":5}]},6],"i":[{"l":[{"l":1}]}],"o":[{"n":0},30],"r":[{"ö":3},8],"u":3}],"v":[{"a":[{"g":6}],"ä":18},30],"y":30},42],"t":[{"a":[{"f":18,"k":[{"t":[{"i":18}]}],"n":6}],"i":[{"n":[{"s":0}]}],"o":[{"m":0}],"r":[{"i":[{"t":5}],"ä":3}],"t":2,"u":[{"t":0}]},45],"u":[{"b":[{"b":[{"l":19}],"r":2}],"d":[{"a":[{"n":6}]}],"k":[{"s":[{"v":14},15]}],"l":[{"l":[{"e":[{"r":[{"a":50}]}]}]}],"m":[{".":37}],"n":[{"n":[{"s":28},31]}],"p":[{"p":39}],"s":[{"h":[{"a":1},23]}],"t":[{"i":[{"g":50}],"r":[{"a":8}]},42],"v":[{"i":6}],"ö":50}],"v":[{"s":[{"j":6,"k":[{"ä":43}]}]},45],"w":3,"y":[{"d":[{"d":[{"s":19}]}],"o":1}],"å":[{"g":[{"e":[{"l":19}]}],"l":39,"n":[{"g":[{"s":14}]}],"r":[{"a":1}],"s":[{"t":2}]}],"ä":[{"c":[{"k":[{"s":19}]}],"k":[{"t":39}],"m":39,"n":[{"g":[{"s":14}],"s":[{"t":19}]}],"s":[{"a":[{"n":6}],"s":7,"t":[{"i":1}]},39],"v":[{"s":13}]}],"ö":[{"d":[{"e":[{"l":13}],"r":13,"s":7}],"g":42,"i":3,"k":[{"s":7}],"n":[{"s":[{"t":25}]}],"p":39,"r":[{"s":8},37],"s":[{"t":[{"r":14},6]}],"v":[{"r":30}]}]}],"s":[{"a":[{".":37,"d":[{".":37,"e":37,"j":39,"r":105,"s":13}],"f":42,"i":2,"k":[{"r":[{"i":13}],"t":45}],"l":[{"o":1}],"m":[{"a":11,"m":[{"a":[{"n":33}]}],"o":[{"r":11}]},53],"n":[{"d":[{"s":14}],"g":39,"l":[{"ä":3},42],"s":[{"l":[{"a":7}]}]}],"p":42,"r":[{".":58,"b":42,"m":[{".":5},42],"n":37,"t":42,"v":39}],"s":[{"s":39}],"t":[{".":50,"u":6}],"u":[{"k":3},42],"v":45},36],"b":39,"c":[{"h":[{".":42,"a":[{"u":42},36],"b":39,"e":[{"n":36,"r":36,"t":36}],"i":36,"k":39,"m":39,"p":39,"y":37,"ö":37}],"i":[{"p":7}]},18],"d":46,"e":[{"a":[{"t":[{".":6}]}],"g":[{"g":48,"l":37,"r":[{"a":7}]},11],"k":[{"l":[{"e":13}],"r":7,"t":[{"r":13}]}],"l":[{".":37,"y":1}],"m":23,"n":[{".":37}],"r":[{"s":[{"ä":5}]}],"t":[{".":37}],"x":[{"p":42}]},36],"f":[{"ä":[{"r":[{".":0}]}],"ö":23},45],"g":99,"h":[{"a":[{"w":65}],"i":[{"s":21}],"ö":5},42],"i":[{"d":[{"s":13}],"e":[{"r":[{"i":6}],"s":[{"k":6}],"t":[{"t":11}]},50],"g":53,"k":[{"t":[{"s":20}]},37],"l":[{"l":[{".":50}],"v":[{"e":[{"r":33}],"r":14}]}],"n":[{"d":45,"f":45,"n":[{"e":[{"s":106}],"i":37}],"r":39,"s":[{"t":30},107],"t":[{".":50,"r":42}]}],"o":37,"s":[{"t":8}],"u":8},36],"j":[{"a":[{"k":[{"t":3},42]}],"n":39,"t":39,"u":[{"k":50,"r":39},0],"ä":[{"l":[{"s":20}]}],"ö":37},47],"k":[{".":39,"a":[{".":42,"d":[{"a":53,"o":18}],"f":[{"f":[{"n":37}],"t":36}],"g":0,"l":[{".":37},18],"p":[{".":50,"e":[{"t":50}],"i":39,"s":75},36],"r":[{"a":0,"v":50},39],"s":39,"t":18,"v":0}],"e":[{".":39,"d":[{".":37}],"n":[{"e":0}],"p":[{"p":37}]}],"h":39,"i":[{"f":37,"n":50,"s":[{".":39}],"v":50},6],"j":[{"o":[{"r":50}],"u":37}],"l":[{"a":[{"p":1,"s":3}]},39],"n":39,"o":[{".":58,"g":[{"s":[{"g":39}]},51],"l":[{"a":37,"o":0},36],"r":[{"p":0,"s":[{"t":15}]}],"t":36}],"r":[{"a":[{"n":[{".":5}],"t":37}],"e":[{"t":6,"v":37}],"i":[{"f":37,"g":3,"n":50,"p":37,"s":5,"v":37},36],"o":[{"n":5}],"u":[{"b":50,"v":37},0],"ä":[{"c":50}]}],"s":2,"t":42,"u":[{"l":[{"p":37}],"p":3}],"v":[{"e":0},42],"y":[{"n":0,"r":[{"k":42}]},47],"å":[{"l":0,"p":[{".":50}],"r":39},36],"ä":[{"n":[{"k":50}],"r":[{"v":37}]}]}],"l":[{"a":[{".":39,"d":[{".":5}],"n":[{"d":3,"g":53,"t":0}],"r":[{".":3}],"s":39,"t":30}],"e":[{"v":[{".":37},18]}],"i":[{"c":0,"n":[{"s":20}],"s":39,"t":18}],"o":[{"r":5,"t":[{"t":[{"s":33}]}]}],"u":[{"c":3,"f":3,"s":[{"t":3},39],"t":[{"o":8},37]},18],"å":[{".":37,"r":96}],"ä":[{"k":0,"m":5,"n":[{"n":5}],"p":58,"r":46,"t":18}],"ö":[{"j":53}]},108],"m":[{"a":[{"k":[{".":37,"t":3},18],"l":18}],"e":[{"t":[{".":18}]}],"i":[{"d":18,"t":[{"t":[{"a":37}]},18]}],"j":3,"u":[{"g":50}],"y":[{"g":50}],"å":[{"g":13,"k":7,"s":7}],"ä":[{"d":37,"l":37,"s":39}],"ö":[{"r":37}]},42],"n":[{"a":[{"b":37,"c":58,"m":3,"r":[{"e":5}],"s":[{"t":3}]}],"e":[{"r":5}],"i":[{"b":37,"l":37,"t":[{"t":36},37],"v":3}],"u":[{"t":37}],"å":[{"r":50},0],"ä":[{"c":50,"r":0}],"ö":[{".":37,"g":13,"r":37,"s":7}]},109],"o":[{"c":[{"k":50},37],"d":42,"i":50,"l":[{"j":42,"s":77}],"m":[{"m":50},42],"n":[{"s":[{"t":8}]},37],"p":[{"r":[{"a":1}],"u":6}],"r":[{".":37,"d":[{".":5},42],"g":42,"n":37}],"t":[{"t":39},37]},36],"p":[{"a":[{"n":[{"n":[{".":50}]}],"r":[{"k":0,"v":50}],"s":[{"s":3},39],"t":[{"r":13}]}],"e":[{"d":39,"k":58,"l":[{"s":[{"l":39}]},58],"n":42,"r":42,"t":[{"s":50}]},36],"i":[{"l":[{"l":37}],"r":37}],"l":[{"a":[{"n":3,"t":[{"s":3}]},30],"i":[{"n":0,"t":50},25],"ä":5},39],"r":[{"e":[{"s":3},39],"i":[{"s":46,"t":37}],"o":42,"y":3,"å":37,"ä":[{"n":50}]}],"s":3,"å":[{"n":37,"r":37},51],"ä":[{"n":50}],"ö":37},100],"r":52,"s":[{"a":[{"d":5}],"e":[{"l":[{"i":[{"n":8}]}]}],"i":[{"l":5}],"k":[{"l":1,"u":[{"n":2}]},11],"l":[{"a":[{"g":[{".":11}]}],"ä":11,"ö":11},10],"n":[{"a":2}],"s":8,"u":[{"n":[{"n":2}]}],"v":[{"i":2},18]},52],"t":[{".":42,"a":[{".":39,"c":50,"d":[{"i":37}],"f":0,"l":[{"g":[{"i":[{"s":50}]}],"l":[{"a":37,"i":42}]}],"m":[{".":50,"m":50}],"n":[{"t":36}],"r":[{"k":[{".":50}],"t":[{"a":[{"d":50}]}]}],"t":[{"e":36,"l":37}],"u":36}],"c":2,"e":[{".":49,"a":39,"g":[{".":50}],"k":[{".":0,"n":42,"t":50}],"l":[{"l":0}],"m":[{".":37,"e":37}],"n":[{"a":[{"r":50}],"e":58,"s":[{"e":37,"m":50}]}],"r":[{"a":36,"i":[{"n":[{"g":36}],"u":0}],"n":[{"e":37}]}],"t":[{"i":[{"s":50}]}]}],"i":[{"a":42,"b":42,"c":[{"k":37}],"d":42,"k":[{"e":[{"n":0}]}],"l":[{".":37},42],"n":[{"k":37}],"s":[{"c":37}],"t":36}],"j":[{"u":5,"ä":[{"l":37,"r":37}]},42],"m":42,"o":[{"c":50,"l":[{"k":39},36],"m":39,"r":[{"i":[{"e":[{"u":27}],"s":50}],"s":14}]}],"r":[{"a":[{"f":[{"f":37}],"t":[{"i":[{"v":39}],"o":37}]}],"e":[{"c":37,"j":37,"n":2,"r":36}],"i":[{"a":42,"d":[{"e":50},36],"e":[{"l":42}],"f":6,"k":[{"t":36}],"s":[{"k":1}]}],"u":[{"k":37,"m":[{"m":42}]},36],"y":[{"c":3,"k":50}],"å":[{"k":50,"l":37}],"ä":[{"c":37,"d":39,"n":[{"g":37}],"v":50}],"ö":[{"m":37}]}],"s":110,"t":2,"v":[{"i":[{"s":3}]},39],"y":[{"p":42},36],"å":[{"g":39,"l":50},36],"ä":[{"l":37},36],"ö":36},18],"u":[{"b":6,"g":37,"i":2,"m":37,"n":[{".":50,"d":[{"e":[{"r":30}]}],"e":50,"g":5},42],"p":[{"a":50,"u":11},42],"s":50,"t":[{"o":6,"r":6},45]},36],"v":[{"a":[{"g":[{".":50,"n":3}],"k":46,"m":50,"p":39,"r":[{"s":20,"t":37}],"s":39,"t":3}],"e":[{"c":39,"n":37,"p":50,"r":46,"s":5}],"i":[{"l":46,"n":[{"e":0}],"s":39,"t":[{"t":5}]}],"å":[{"d":5,"r":[{"i":37}]}],"ä":[{"n":[{"g":37}],"r":[{"m":[{".":50}]}],"s":3,"t":3}]},100],"y":[{"k":39,"l":50,"n":[{"k":7},37],"r":[{"k":3}],"s":[{"t":[{"e":[{"r":13}]},8]},37],"t":[{"h":1},23]}],"å":[{"g":50,"k":39,"l":[{"d":[{"e":42}]}],"n":[{"g":14}]},36],"ä":[{"d":0,"g":[{"g":49}],"l":0,"p":42,"s":50,"t":[{"a":39},37]},36],"ö":[{"d":39,"g":[{"a":5},42],"k":[{"o":6}],"l":39,"p":39,"r":[{"s":23,"t":48}]},36]}],"t":[{"a":[{".":37,"c":[{"h":10}],"d":[{"e":[{".":37}],"i":39,"s":111}],"f":[{"f":42}],"g":[{"a":37}],"k":[{".":50,"r":[{"e":1}],"t":[{"i":[{"g":42}],"o":8}]}],"l":[{"f":39,"l":[{"i":[{"s":[{"e":50}]}],"s":19}],"v":39}],"m":[{"e":37,"i":37}],"n":[{".":37,"a":[{"b":6}],"d":[{"e":[{".":37}]}],"f":[{"a":48}],"l":39}],"p":[{"l":112,"p":[{"a":[{"r":42}]}]}],"r":[{".":37,"b":39,"m":[{"i":8}],"n":37,"s":25,"t":[{"a":[{"v":[{"l":50}]}]},39],"v":39}],"s":[{"k":39,"t":[{"r":10},37]}],"t":[{"a":[{"n":6}],"s":14,"t":42},23],"v":[{"e":39,"l":[{"a":[{".":50,"n":37}],"o":37}],"s":23},42],"x":37},36],"b":67,"c":[{"h":[{"a":3,"e":3}]},42],"d":82,"e":[{"a":[{"s":6}],"b":12,"c":50,"g":[{"r":[{"e":2},61]},39],"i":[{"n":[{"t":6}]},2],"j":[{"s":23},39],"k":[{"l":6,"n":[{"i":[{"k":50,"s":50}]}]}],"l":[{"d":39,"ö":113}],"m":[{"a":50,"o":39,"u":6}],"n":[{"g":35,"s":[{"i":50}],"t":[{"r":7}],"ä":6,"ö":[{"r":1}]}],"r":[{".":50,"i":[{"ö":50}],"k":35,"m":50,"n":[{"a":50}],"s":50,"t":7,"u":6}],"s":[{".":50,"t":[{"e":8,"i":[{"k":1}],"u":1},50]}],"t":[{"i":[{"k":50}],"s":14}],"x":[{"a":39,"p":42}]},53],"f":90,"g":82,"h":[{"e":[{"n":0}]},42],"i":[{"a":[{"l":37}],"b":50,"c":[{"i":50}],"d":[{"e":50,"u":6,"ö":39},37],"e":[{"d":6}],"f":[{"t":[{"s":28}]}],"g":[{"e":[{"l":11}],"h":37,"o":6,"r":11,"t":37}],"k":[{"l":7,"s":37,"u":[{"l":50}]}],"l":[{"j":50,"l":[{"s":[{"t":37}],"v":37,"ä":37}]},18],"m":[{"e":50}],"n":[{"d":42,"r":42,"t":42}],"o":[{"d":6,"n":37,"s":11}],"s":[{"c":39,"k":50},37],"v":[{"a":[{"n":6},37],"i":[{"t":[{"e":50}]}]}],"ö":11},36],"j":[{"e":39,"o":[{"b":39,"u":42}],"ä":[{"l":39,"m":39,"n":37}]},18],"k":55,"l":48,"m":45,"n":[{"e":[{"r":8}]},83],"o":[{"d":[{"l":39}],"k":37,"l":[{".":39,"j":39}],"m":[{"r":42,"s":39}],"p":18,"r":[{"a":[{"p":50}],"d":[{".":5}],"i":[{"e":[{"t":[{"t":50}]}]}],"m":[{"s":14},39],"n":37,"s":[{"t":21}],"t":[{".":39}]}],"s":[{"k":8,"t":[{".":5}]}],"v":0}],"p":45,"r":[{"a":[{"f":[{"i":37},0],"l":[{".":58,"a":0,"e":58,"o":50,"s":37,"t":0}],"n":[{"s":[{"a":114},37]}],"r":39,"s":[{".":3}],"t":[{".":3,"o":0}]},42],"e":[{"g":39,"n":39,"r":[{".":39,"n":39}],"t":[{"s":[{".":3}]}]}],"i":[{"b":[{"u":37}],"c":[{"k":50}],"d":[{"s":20}],"e":[{"l":5}],"n":[{"g":[{".":3},30]}]},42],"o":[{"c":[{"k":3},42],"g":0,"n":[{"i":[{"k":5}],"o":3}],"p":[{"i":[{".":39}]}],"s":[{"s":50}],"t":[{"n":50}]}],"u":[{"m":[{"p":0}],"p":[{"p":37},0],"s":[{"t":[{"a":19}]}]}],"y":[{"c":[{"k":[{".":50}]},36],"g":[{"g":[{"h":50}]}]}],"å":[{"k":39}],"ä":[{".":50,"d":[{"s":27},37],"f":37,"g":37,"k":[{"n":3},39],"n":[{"i":50},0]}],"ö":[{"j":[{"a":50}],"t":0}],"é":50},69],"s":[{"a":[{"n":[{"d":4}],"r":[{"t":1}],"t":16}],"e":[{"g":0,"n":6,"x":0},3],"k":[{"a":[{"l":[{"l":5}],"t":[{"t":3}]}],"i":30,"l":2,"o":[{"t":[{"t":[{"s":94}]}]}]},11],"l":[{"o":[{"t":5}],"ä":[{"k":1}]}],"n":[{"ä":2,"ö":3}],"o":[{"r":[{"d":2}]},18],"p":[{"l":2}],"s":8,"t":[{"e":[{"r":1},6],"i":[{"l":[{"l":[{"f":1}]}]}],"j":2,"o":[{"l":3,"n":0}],"r":[{"a":18,"y":0}],"u":[{"r":0}],"y":[{"r":5}]},30],"u":[{"d":3},18],"y":5},42],"t":[{"a":[{"c":3,"u":0}],"e":[{"d":0,"g":88,"m":0,"n":23,"s":25,"x":0}],"i":[{"n":[{"s":0}],"p":0}],"j":[{"a":2}],"o":30,"r":[{"a":[{"d":2,"n":[{"d":2}],"t":2}],"e":2,"i":2,"y":6}],"s":[{"e":6,"i":11,"t":[{"a":6}]}],"u":[{"g":0},3],"v":[{"å":6},10],"y":3,"ä":3,"ö":[{"r":3}]},42],"u":[{"g":[{"n":56}],"n":[{"d":42,"g":[{"a":37,"s":14}],"n":50}],"p":[{"p":42}],"r":[{"e":1}],"t":[{"b":42,"v":3,"ö":3}],"v":[{"u":6}],"ö":50}],"v":[{"a":30,"e":39,"i":[{"g":3,"n":[{"g":37}],"t":3,"v":37}],"å":[{"g":3,"n":37}],"ä":[{"n":3,"r":[{"s":14}],"t":[{"t":37}]}]},42],"y":[{"d":[{"a":1}],"g":[{".":50}],"n":[{"g":[{"d":37}]}],"p":[{"i":2},37],"s":50}],"z":42,"å":[{"g":37,"s":8,"t":39}],"ä":[{"c":[{"k":[{"o":8}]}],"g":56,"m":39,"r":[{"m":39}],"v":[{"l":37}]}],"ö":[{"d":[{"e":1},115],"g":39,"p":[{"i":6},39],"r":[{"e":[{"r":37}],"s":[{"t":14}]}],"v":[{"a":[{"s":6}]}]}],"é":50}],"u":[{"a":30,"b":[{"a":[{"l":1}],"b":[{"l":[{"e":8}]}],"l":[{"i":[{"c":2}]}],"o":0},18],"c":[{"h":[{"a":3}],"l":5}],"d":[{"a":[{"k":0}],"e":5,"r":[{"e":[{"t":6}]},2],"s":[{"a":8}],"u":0,"y":0},18],"e":[{"s":18},30],"f":[{"f":[{"ä":6}],"t":[{"a":[{"n":6}],"o":6}]}],"g":[{"a":52,"e":30,"g":[{"s":7}],"n":[{"s":19},8],"s":12}],"i":[{"e":5,"n":30,"s":3,"t":[{"e":[{"t":3}]}]}],"j":3,"k":[{"e":[{"b":18}],"i":5,"l":[{"a":1},0],"n":2,"o":[{"s":25},30],"s":[{"k":[{"o":13}]},11],"t":[{"r":[{"i":[{"s":2}]}],"s":13,"ä":6}],"u":3,"v":2}],"l":[{"a":30,"d":[{"i":6,"s":[{"m":31}],"u":6,"ö":6}],"l":[{"s":[{"t":[{"e":7}]}],"ä":[{"n":7}]}],"o":30,"s":[{"t":[{"i":13}]}],"t":[{"r":11}],"u":3,"ä":30,"ö":30}],"m":[{"f":[{"ä":6}],"s":[{"o":6,"t":8}],"u":30,"ö":[{"r":3}]}],"n":[{"d":[{"e":[{"r":[{"l":50,"s":[{"ö":36}],"v":36}]}],"o":[{"m":6}],"r":7,"å":6}],"g":[{"e":[{"f":76,"r":[{"s":[{"k":2}]}]}],"i":[{"t":13}],"r":7,"s":[{"p":25}]}],"i":[{"f":37}],"k":[{"l":7,"n":7,"r":6}],"s":[{"k":10}],"t":[{"r":[{"a":[{"t":[{"i":1}]}]},6]}],"u":5}],"o":30,"p":[{"e":[{"r":[{"n":0}]},30],"i":30,"l":[{"e":[{"t":3}],"i":[{"k":2}]},18],"p":[{"f":[{"a":37}],"g":36,"i":[{"n":6}],"l":[{"a":36,"ä":50}],"r":79,"s":[{"p":13},7]}],"u":[{"t":1}]}],"r":[{"a":[{"k":1,"r":[{"v":1}]}],"e":3,"i":30,"o":[{"b":0,"m":0},30],"s":[{"t":[{"i":[{"n":13}],"ä":6}]}],"y":5}],"s":[{"a":[{"k":18,"n":[{"l":1}]}],"c":[{"h":[{"a":3}]}],"e":[{"n":14},3],"k":[{"a":2,"l":[{"a":6}],"r":6,"y":5,"å":6},22],"l":[{"ä":1}],"n":2,"p":[{"e":[{"n":2}]},18],"t":[{"a":[{"t":1}],"i":[{"g":2,"k":3,"n":1}],"r":[{"o":13}],"å":0,"ä":0}],"v":2,"å":0,"ä":0,"ö":18}],"t":[{"a":[{"k":0}],"b":36,"e":[{"f":0,"s":7}],"i":[{"k":31,"l":5,"ö":7}],"j":[{"ä":[{"m":37}]},2],"l":[{"a":[{"n":[{"d":[{"s":72}]}]}]}],"o":[{"p":3,"s":13},30],"r":[{"e":[{"r":6}],"o":[{"p":1},6],"u":36},2],"s":[{"i":[{"d":42}],"l":[{"ä":37},2]}],"t":[{"j":8},42],"v":[{"e":[{"c":37}]},10],"y":5,"ö":[{"v":2}]}],"u":5,"v":[{"a":[{"k":18}],"j":0,"ä":0},45],"å":5,"ö":3}],"v":[{"a":[{"d":[{"r":[{"o":1}]}],"g":[{"n":36}],"k":[{"t":[{"i":45}]}],"l":[{"k":7,"l":[{"i":8}],"s":[{"t":8}],"v":50}],"m":[{"a":50}],"n":[{"d":[{".":39}],"p":39,"s":[{"t":8}],"t":[{"r":13}]}],"p":50,"r":[{"b":42,"e":[{"s":6}],"i":[{".":6}],"k":39,"s":23,"t":[{"r":19}],"u":10}],"s":[{"t":[{"i":13}]}],"t":[{"t":[{"n":50}]}],"u":39,"v":[{"i":50},39]}],"b":67,"c":45,"d":82,"e":[{"c":50,"k":[{"e":2},11],"l":[{"d":39}],"n":[{"s":[{"k":[{"ä":20}]}],"t":[{"e":[{"r":[{"a":50}]}]}],"y":2,"ö":1}],"p":39,"r":[{"g":13,"k":37}],"s":[{"p":43,"t":10},8],"t":[{"a":37,"e":37,"s":[{"a":13}],"t":[{"s":19}]}]},36],"f":45,"g":45,"h":42,"i":[{"c":6,"d":[{"s":7}],"l":[{"d":[{"s":14}],"t":8}],"n":[{"d":[{".":37}],"g":[{"s":80}],"k":[{"l":37}],"o":11,"s":[{"t":[{".":50,"e":50}]}],"y":1}],"s":[{".":37,"a":1,"h":13,"k":[{"o":13}],"t":[{"a":7},6]}],"t":[{"r":11}],"v":[{"a":[{"r":6}]}]},0],"j":[{"o":39}],"k":55,"l":45,"m":[{"ö":[{"r":[{"k":27}]}]},45],"n":90,"o":[{"k":[{".":39}],"m":42,"r":[{"d":39,"g":42}],"s":8},36],"p":45,"r":[{"a":[{"k":50}],"e":[{"r":[{"a":37}]}],"u":3},71],"s":[{"c":0,"k":[{"r":[{"i":18}]},116],"m":[{"i":6}],"n":[{"i":3}],"o":18,"t":[{"e":6,"r":[{"å":1}],"y":[{"c":5}]},30],"v":[{"å":2}],"ö":18},42],"t":45,"u":[{"d":117,"n":[{"d":30}],"p":56,"t":39}],"v":45,"y":37,"å":[{"l":[{"d":50}],"n":[{"g":[{"s":20}]}],"r":[{"d":37,"i":39,"u":2}]}],"ä":[{"g":[{"g":[{"s":19}]},37],"l":[{"l":[{"s":118}]},6],"n":[{"l":37}],"r":[{"d":[{"e":37}],"i":[{"l":6}],"j":39,"k":50,"l":[{"d":37}]}],"t":42,"x":37}],"ö":[{"g":39,"p":39,"r":37}]}],"w":[{"a":36,"e":11,"h":[{"i":23},18],"i":[{"e":11}],"n":[{"a":0}]}],"x":[{"a":[{"n":[{"d":88}]}],"e":[{"m":[{"p":[{"l":[{"a":7}]}]}]}],"i":[{"s":8}],"k":11,"l":[{"i":8}],"s":6,"t":[{"i":23,"å":0}]},30],"y":[{"a":30,"b":[{"r":[{"i":[{"s":0}]}],"s":6}],"d":[{"a":[{"n":5},0],"o":0,"r":2,"s":8,"u":0,"ö":0},18],"e":30,"g":[{"a":30,"e":30,"g":[{"r":7,"å":6}],"s":[{"p":8}]}],"i":30,"k":[{"i":30,"l":[{"i":[{"s":[{"t":5}]}],"o":[{"n":1}]}],"n":2,"o":30}],"l":[{"a":30,"g":[{"j":6}],"i":3,"k":1,"l":[{"ä":1}],"o":30,"t":[{"r":6}]}],"m":[{"f":[{"l":11,"o":[{"r":6}]}],"å":3}],"n":[{"g":[{"r":7}],"k":[{"l":13}],"s":[{"a":6,"t":8}]}],"o":[{"r":3,"u":5}],"p":[{"e":30,"o":5,"r":[{"i":2}]}],"r":[{"e":[{"s":8}],"i":30,"k":[{"u":6,"v":13}],"o":30,"s":[{"k":8,"t":1}],"t":[{"u":1}],"å":119}],"s":[{"c":[{"h":[{"o":5}]}],"s":[{"t":11}],"t":[{"a":2,"i":[{"k":[{".":6}]},2],"r":[{"a":7}]}]}],"t":[{"a":[{"k":18}],"e":[{".":0,"a":0}],"o":30,"t":[{"r":7}],"v":1}],"v":[{"a":3,"i":3,"ä":3}],"w":5,"å":5},42],"z":[{"a":36,"e":[{"r":[{"o":6}]},36],"i":36,"o":[{"n":[{"a":[{"l":6}]}]},36],"p":39,"s":5,"u":37,"z":[{"i":[{"n":0}]}]}],"å":[{"a":30,"d":[{"j":3,"s":[{"l":8}]}],"e":30,"f":30,"g":[{"a":30,"e":[{"l":23},30],"l":2,"s":[{"k":12,"t":2}],"å":8}],"i":3,"k":[{"i":30,"l":[{"a":[{"g":50}]}],"s":[{"t":[{"r":[{"ä":6}]}]}]}],"l":[{"a":30,"d":[{"e":[{"r":36}]}],"i":[{"n":18}],"k":2,"l":[{"s":[{"p":8}]}],"s":[{"e":43,"t":2}],"ä":30}],"m":[{"a":[{"n":[{"s":25}]}]},30],"n":[{"d":[{"r":8,"u":6}],"s":[{"t":8,"v":8}]}],"o":3,"p":[{"l":[{"a":5},18],"ö":0},30],"r":[{"d":[{"o":6,"r":[{"a":8}],"s":[{"t":41},23]}],"e":[{"l":0}],"i":30,"o":[{"r":5}],"s":[{"a":[{"v":50}],"l":[{"i":76}],"v":11}],"ö":1}],"s":[{"k":[{"e":6}],"n":2,"s":[{"k":[{"r":6}]},8],"t":6}],"t":[{"e":23,"r":[{"i":2,"å":3}],"s":[{"j":11}],"t":[{"s":13}]}],"v":30}],"ä":[{"a":30,"b":18,"c":[{"k":[{"v":13}]},42],"d":[{"d":[{"s":7,"u":6}],"e":[{"s":8}],"r":2,"s":[{"e":1,"t":2}]},18],"e":3,"g":[{"a":30,"e":30,"g":[{"o":6}],"l":10,"r":[{"e":6},2],"s":[{"e":2}]}],"i":3,"j":[{"o":5}],"k":[{"i":30,"n":2,"r":2},39],"l":[{"a":30,"p":[{"a":[{"p":6}]}],"s":[{"e":[{"g":6}],"k":[{"o":[{"g":13}]}],"l":[{"u":6}]}],"t":[{"r":78,"u":11}],"v":[{"i":[{"n":6}]}]}],"m":[{"p":[{"l":7}]}],"n":[{"d":[{"l":[{"i":[{"g":[{"h":39}]}]}],"r":7,"s":[{"t":21}]}],"g":[{"r":13}],"n":[{"i":[{"s":14}],"s":7}],"o":0,"s":[{"l":21,"t":[{"e":13},6],"v":6}],"t":[{"r":78}]}],"p":[{"e":3,"p":[{"l":7}],"r":0,"s":[{"t":6}]}],"r":[{"a":[{"p":0}],"b":[{"r":[{"e":11}]}],"g":[{"l":13,"r":6}],"i":[{"b":25},30],"k":[{"ä":6}],"n":[{"i":[{"s":6}],"s":[{"t":7}],"å":11,"ö":6}],"o":[{"b":1,"l":5,"p":3,"r":5,"s":5}],"s":[{"i":11,"k":[{"o":6}],"o":11,"p":6,"v":11}],"t":[{"a":[{"n":[{"d":6}]}],"r":11,"s":7}]}],"s":[{"p":[{"a":2,"i":1}],"s":[{"k":6,"p":6}],"t":[{"a":2,"r":7,"ä":0}],"å":0},39],"t":[{"o":3,"r":[{"e":5}],"s":[{"k":79}],"t":[{"e":1,"o":[{"p":6}],"r":7,"u":6,"v":6}]},42],"v":[{"a":[{"k":18},30],"i":3,"u":5}]}],"ö":[{"a":30,"d":[{"a":[{"k":0,"l":0,"r":[{"v":0}]}],"e":[{"s":81}],"i":[{"s":0}],"r":[{"a":2}],"s":[{"e":2},11],"u":0,"ö":0},18],"e":30,"g":[{"a":[{"k":1,"r":5},30],"d":36,"e":[{"r":5},30],"g":8,"l":10,"n":[{"e":7},11],"o":36,"s":[{"i":2,"k":2}]}],"i":30,"j":[{"o":3,"s":[{"v":6}]}],"k":[{"a":[{"r":[{"m":0}]}],"i":30,"n":2,"s":[{"l":2},11]}],"l":[{"a":30,"k":[{"v":6,"ö":6}],"p":11,"ä":5}],"m":[{"a":[{"n":25}],"k":[{"l":11}]}],"n":[{"a":[{"l":0}],"o":[{"m":18}],"s":[{"k":[{"e":7}],"o":6,"t":[{"r":14}]}]}],"p":[{"e":[{"l":0},3],"i":3,"l":[{"i":1,"o":5}],"p":[{"n":36}],"r":0}],"r":[{"a":[{"n":[{"d":[{"e":3}]}],"s":[{"k":0},3]}],"b":8,"d":[{"r":12}],"e":[{"n":[{"i":10}],"s":[{"t":[{"r":0}]},3],"t":3,"v":[{"i":[{"g":1}]}]}],"g":2,"i":[{"g":5,"n":[{"g":3,"t":2}],"r":1,"v":1},30],"k":[{"a":[{"l":6}],"l":[{"i":1},120]}],"n":[{"i":[{"s":6}]}],"o":[{"l":2,"r":10}],"p":[{"l":[{"a":43}]}],"s":[{"k":120,"l":[{"ä":6},2]}],"t":[{"e":1,"s":13}],"u":10,"v":[{"r":2}],"y":2,"ä":10,"ö":[{"d":8}]}],"s":[{"a":[{"k":18}],"n":2,"s":[{"j":6,"k":11,"p":6}],"t":[{"a":2,"v":7}]}],"t":[{"a":[{"k":18}],"s":[{"k":[{"o":13}],"t":6}]}],"v":[{"e":[{"r":[{"e":50},15]},8],"j":18,"r":[{"a":2,"i":2}],"s":[{"k":6}]},30]}],"é":[{"e":3}]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/4314.adapter.js b/public/tools/cloud_sheets/vendor/univer/4314.adapter.js new file mode 100644 index 0000000..5e20c0d --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/4314.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[4314],{4314(s,o,n){n.r(o),n.d(o,{MnCyrlXLmc:()=>c});const c=["002,01,02,00003,032,1,0002,003,21,2,3,0000002,03,0003,001,0001,012,102",'{".":[{"а":[{"а":0}],"и":[{"н":0}],"о":[{"ё":0,"о":0}],"ө":[{"ө":0}],"у":[{"у":0}],"ү":[{"ү":0}],"э":[{"э":0}]}],"а":[{"а":[{"ж":0}],"д":[{"и":2},1],"й":[{"б":0}],"п":1,"с":[{"а":[{"а":3}]}],"т":1,"ф":1,"х":1,"ц":[{"д":4},1],"ч":1,"ш":1,"ю":1,"я":[{"а":[{"л":2}]}]}],"б":[{"а":[{"й":[{"д":[{"у":6}]}],"м":[{"и":7}]},5],"г":8,"и":5,"л":9,"р":8,"у":[{"ж":7}]}],"в":[{"а":5,"б":1,"г":8,"д":8,"е":[{"д":0},5],"ж":1,"з":1,"и":5,"л":8,"н":8,"о":5,"ө":5,"р":8,"с":1,"т":8,"у":5,"ү":5,"ц":1,"ш":8,"э":5,"я":5}],"г":[{"а":5,"б":1,"в":1,"г":8,"д":8,"ж":8,"и":5,"л":8,"м":8,"н":8,"о":[{"д":[{"и":0}]},5],"ө":5,"р":[{"а":[{"м":2}],"е":10},1],"с":9,"т":8,"у":[{"у":[{"л":[{"и":[{"у":11}]}]}]},5],"ү":5,"х":1,"ц":1,"ч":8,"ш":[{"и":12},8],"ы":5,"э":[{"н":[{"ү":0}]},5],"я":[{"л":13}]}],"д":[{"а":[{"в":[{"ы":14}]}],"б":1,"в":8,"г":8,"д":8,"е":[{"к":9}],"ж":8,"и":[{"а":15,"т":9}],"л":8,"м":8,"н":8,"р":8,"с":8,"т":8,"ү":[{"ү":[{".":10}]}],"х":8,"ц":8,"ч":8,"ъ":9,"ı":9}],"е":[{"б":1,"в":1,"г":16,"д":1,"з":1,"и":1,"л":1,"м":1,"о":14,"п":1,"р":[{"е":1}],"т":[{"р":[{"у":4}]}],"х":1,"ц":[{"и":15},1],"ш":1}],"ё":[{"д":1,"з":1,"о":[{"ч":0}],"х":0}],"ж":[{"а":5,"в":8,"г":8,"д":8,"ж":8,"и":[{"г":10,"н":10},5],"л":8,"м":8,"н":8,"ө":5,"р":8,"с":8,"т":8,"у":5,"ү":5,"ы":5,"э":5}],"з":[{"а":5,"в":8,"г":8,"д":8,"ж":8,"и":5,"л":8,"м":8,"н":8,"о":5,"ө":5,"р":8,"с":8,"т":8,"у":5,"ү":5,"х":1,"ц":1,"ч":1,"ш":8,"ы":5,"ı":9,"э":5}],"и":[{"г":[{"р":[{"а":0}]}],"д":[{"а":[{"л":12}],"ы":2},1],"ж":1,"з":1,"л":[{"д":[{"и":0}]}],"с":[{"п":7}],"т":1,"х":1,"ц":1,"ш":1}],"й":[{"б":1,"в":1,"г":[{"р":2},1],"д":1,"ж":1,"п":[{"л":2},1],"р":1,"с":1,"т":1,"х":1,"ц":1,"ч":1}],"к":[{"а":5,"е":5,"ж":1,"и":5,"к":1,"л":1,"н":1,"о":[{"о":14}],"с":[{"п":7}],"т":1,"у":5,"ц":8,"э":5}],"л":[{"а":5,"б":8,"в":1,"г":8,"д":8,"е":5,"ж":8,"з":8,"и":5,"л":[{"и":15},8],"м":8,"н":9,"о":[{"д":0},5],"ө":5,"р":8,"с":8,"т":8,"у":5,"ү":5,"х":8,"ц":8,"ч":9,"ш":9,"ъ":9,"ы":5,"ı":9,"э":5,"ю":1}],"м":[{"а":5,"б":1,"г":1,"д":1,"е":5,"и":[{"н":9},5],"к":16,"л":1,"н":1,"о":5,"ө":5,"п":8,"р":1,"у":5,"ү":5,"ф":1,"х":1,"ц":1,"ш":1,"ы":5,"э":5}],"н":[{"а":5,"б":1,"в":1,"г":[{"р":[{"е":0},2]},1],"д":1,"ё":[{"в":[{"р":[{"л":5}]}]}],"и":5,"к":1,"л":1,"м":1,"о":5,"ө":5,"п":1,"с":[{"д":4},1],"т":1,"у":5,"ү":5,"х":1,"ц":1,"ы":5,"э":5,"я":1}],"о":[{"а":1,"б":1,"г":[{"р":16}],"д":1,"е":1,"ж":1,"н":[{"е":1,"с":[{"т":7}],"т":7}],"п":[{"е":2},16],"с":[{"п":1}],"т":1,"ф":1,"х":1,"ц":1,"э":1}],"ө":[{"д":1,"ж":1,"р":[{"и":2}],"х":1,"ц":1,"ч":1}],"п":[{"д":8,"о":[{"с":7},14],"п":8,"р":[{"а":9,"о":2}],"т":8}],"р":[{"а":[{"б":9},5],"б":1,"в":1,"г":8,"д":8,"и":5,"л":8,"м":1,"н":8,"о":5,"ө":5,"п":1,"р":1,"с":8,"т":8,"у":[{"к":9},5],"ү":5,"х":8,"ц":1,"ч":9,"ш":8,"ы":5,"э":5}],"с":[{"а":5,"б":1,"в":8,"г":8,"д":8,"е":5,"ж":8,"з":1,"и":5,"к":[{"в":9},17],"л":8,"м":8,"н":8,"о":5,"ө":5,"п":[{"е":2,"и":2},1],"р":8,"с":8,"т":8,"у":5,"ү":5,"ф":1,"х":8,"ц":1,"ч":8,"ш":[{"т":4}],"ы":5,"э":5}],"т":[{"а":5,"б":8,"в":8,"г":8,"д":8,"ж":8,"з":8,"и":5,"л":8,"м":8,"н":8,"о":5,"ө":5,"р":[{"о":2,"у":5},8],"с":8,"т":8,"ү":5,"х":8,"ц":8,"ч":8,"ш":8,"ы":5,"э":5}],"у":[{"д":1,"ж":[{"и":2}],"з":1,"л":1,"т":1,"ф":1,"х":1,"ц":1,"ш":1}],"ү":[{"д":1,"з":[{"э":2},1],"л":1,"п":1,"с":[{"д":0}],"х":1,"ц":1,"ш":1}],"ф":[{"д":1,"м":1,"о":5}],"х":[{"а":[{"а":[{"д":[{"ы":6}]}],"ю":0},5],"б":8,"в":8,"г":8,"д":8,"ж":8,"з":8,"и":[{"д":[{"а":0}],"ı":9},5],"л":8,"м":8,"н":8,"о":5,"ө":5,"р":8,"с":8,"т":8,"у":[{"ж":7},5],"ү":5,"х":8,"ц":8,"ч":9,"ш":8,"ы":5,"ı":9,"э":5}],"ц":[{"а":5,"в":8,"г":8,"д":8,"ж":8,"л":8,"м":8,"н":8,"р":8,"с":8,"т":8,"х":8,"ч":8,"ъ":9}],"ч":[{"а":5,"в":1,"г":8,"д":8,"и":5,"л":8,"м":8,"н":8,"о":5,"р":8,"с":8,"т":8,"у":5,"ү":5,"х":8,"э":5}],"ш":[{"а":5,"б":1,"в":8,"г":8,"д":8,"ж":8,"и":5,"к":8,"л":8,"м":8,"н":8,"о":5,"ө":5,"р":8,"с":8,"т":8,"у":5,"ү":[{"ү":[{"л":[{"ı":13}]}]},5],"х":8,"ч":8,"э":5}],"ъ":[{"е":16,"ё":16,"я":16}],"ы":[{"г":1,"с":1,"х":1}],"ı":[{"б":1,"д":1,"к":1,"т":1,"х":1,"ц":1,"ч":1,"ш":1,"я":16}],"э":[{"д":1,"ж":1,"з":1,"н":[{"э":[{"х":[{"и":2}]}]}],"х":1,"ц":1}],"ю":[{"д":9}],"я":[{"а":5,"д":1,"н":[{"ш":[{"д":6}]}],"т":1,"х":1,"ш":1}]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/4721.adapter.js b/public/tools/cloud_sheets/vendor/univer/4721.adapter.js new file mode 100644 index 0000000..939bc15 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/4721.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[4721],{4721(s,o,l){l.r(o),l.d(o,{ShCyrl:()=>t});const t=["02,21,2,03,23,042,004,0032,00032,0002,032,000032,32,43,0023,0034,0004,023,034,003023,00023,00034,02323,0023023,0000023,0045,045,02342,000023,000034,00203",'{"т":[{"ј":[{".":2},0],"л":[{".":2},0],"љ":[{".":2},0],"р":[{".":2},0],"в":[{".":2,"ј":4,"л":4,"љ":4},0],"ж":1,"б":1,"ц":1,"д":1,"ф":1,"г":1,"х":1,"к":1,"м":[{"а":[{"с":[{"т":12}]}],"у":[{"л":12,"о":12,"љ":12,"р":12}]},1],"н":1,"п":1,"с":1,"т":1,"њ":1,"џ":1,"з":1,"ш":1,"ђ":1,"ћ":1,"ч":1}],"д":[{"ј":[{".":2},0],"л":[{".":2},0],"љ":[{".":2},0],"р":[{".":2},0],"в":[{".":2,"л":4,"љ":4,"р":4},0],"ж":1,"б":1,"ц":1,"д":1,"ф":1,"г":1,"х":1,"к":1,"м":1,"н":1,"п":1,"с":1,"т":1,"њ":1,"џ":1,"з":1,"ш":1,"ђ":1,"ћ":1,"ч":1}],"г":[{"ј":[{".":2},0],"л":[{".":2},0],"љ":[{".":2},0],"р":[{".":2},0],"в":[{".":2,"ј":4,"л":4,"љ":4,"р":4},0],"ж":1,"б":1,"ц":1,"д":[{"е":[{"г":[{"о":[{"д":[{".":12}]}]}],"к":[{"а":[{"к":12,"д":12}]}]}],"ј":[{"е":[{"г":[{"о":[{"д":[{".":12}]}]}],"к":[{"а":[{"к":12,"д":12}]}]}]}]},1],"ф":1,"г":1,"х":1,"к":1,"м":[{"и":[{"л":12,"љ":12,"з":12}]},1],"н":[{"о":[{"с":12,"з":12,"ј":12}],"а":[{"ј":12}],"е":[{"з":[{"д":12}],"ж":[{"ђ":12}],"в":12}],"и":[{"ј":[{"е":[{"з":[{"д":12}],"ж":[{"ђ":12}]}]}]}]},1],"п":1,"с":1,"т":1,"њ":[{"е":[{"в":12,"с":12,"т":12,"ч":12}],"а":[{"в":12}],"и":[{"л":12,"о":12,"љ":12,"т":12}],"у":[{"р":12}]},1],"џ":1,"з":1,"ш":1,"ђ":1,"ћ":1,"ч":1}],"х":[{"ј":[{".":2},0],"л":[{".":2},0],"љ":[{".":2},0],"р":[{".":2},0],"в":[{".":2,"б":2,"ц":2,"д":2,"ф":2,"г":2,"х":2,"к":2,"м":2,"н":2,"п":2,"с":2,"т":2,"њ":2,"џ":2,"з":2,"ш":2,"ђ":2,"ћ":2,"ч":2,"ж":2,"ј":4,"л":4,"љ":4,"р":4},0],"ж":1,"б":1,"ц":1,"д":1,"ф":1,"г":1,"х":1,"к":1,"м":1,"н":1,"п":1,"с":1,"т":[{"е":[{"т":[{"и":12}],"л":12,"в":12,"њ":12}],"ј":[{"е":[{"т":[{"и":12}],"л":12,"в":12,"њ":12}]}]},1],"њ":1,"џ":1,"з":1,"ш":1,"ђ":1,"ћ":1,"ч":1}],"к":[{"ј":[{".":2},0],"л":[{".":2},0],"љ":[{".":2},0],"р":[{".":2},0],"в":[{".":2,"ј":4,"л":4,"љ":4},0],"ж":1,"б":1,"ц":1,"д":1,"ф":1,"г":1,"х":1,"к":1,"м":1,"н":[{"е":[{"з":12,"ж":12}]},1],"п":1,"с":1,"т":1,"њ":[{"и":[{"ж":12,"г":12}]},1],"џ":1,"з":1,"ш":1,"ђ":1,"ћ":1,"ч":1}],"п":[{"ј":[{".":2},0],"л":[{".":2},0],"љ":[{".":2},0],"р":[{".":2},0],"ж":1,"б":1,"ц":1,"д":1,"ф":1,"г":1,"х":1,"к":1,"м":1,"н":1,"п":1,"с":[{"и":[{"к":12,"ч":12}],"о":[{"в":12}],"у":[{"ј":12}]},1],"т":1,"в":1,"њ":1,"џ":1,"з":1,"ш":1,"ђ":1,"ћ":1,"ч":1}],"в":[{"ј":[{".":2},0],"л":[{".":2},0],"љ":[{".":2},0],"р":[{".":2},0],"ж":1,"б":1,"ц":1,"д":1,"ф":1,"г":1,"х":1,"к":1,"м":1,"н":1,"п":1,"с":1,"т":1,"в":1,"њ":1,"џ":1,"з":1,"ш":1,"ђ":1,"ћ":1,"ч":1}],"б":[{"ј":[{".":2},0],"л":[{".":2},0],"љ":[{".":2},0],"р":[{".":2},0],"ж":1,"б":1,"ц":1,"д":[{"е":[{"т":12,"њ":12}],"ј":[{"е":[{"т":12,"њ":12}]}]},1],"ф":1,"г":1,"х":1,"к":1,"м":1,"н":1,"п":1,"с":1,"т":1,"в":1,"њ":1,"џ":1,"з":1,"ш":1,"ђ":1,"ћ":1,"ч":1}],"ф":[{"ј":[{".":2},0],"л":[{".":2},0],"љ":[{".":2},0],"р":[{".":2},0],"ж":1,"б":1,"ц":1,"д":1,"ф":1,"г":1,"х":1,"к":1,"м":1,"н":1,"п":1,"с":1,"т":1,"в":1,"њ":1,"џ":1,"з":1,"ш":1,"ђ":1,"ћ":1,"ч":1}],"м":[{"ј":[{".":2},0],"л":[{".":2},0],"љ":[{".":2},0],"р":[{".":2},0],"ж":1,"б":1,"ц":1,"д":1,"ф":1,"г":1,"х":1,"к":1,"м":1,"н":[{"о":[{"ж":12,"г":12}],"а":[{"ж":12}]},1],"п":1,"с":1,"т":1,"в":1,"њ":1,"џ":1,"з":1,"ш":1,"ђ":1,"ћ":1,"ч":1}],"с":[{"ц":[{".":2,"б":2,"ц":2,"д":2,"ф":2,"г":2,"х":2,"к":2,"л":2,"м":2,"н":2,"п":2,"љ":2,"р":2,"с":2,"т":2,"њ":2,"џ":2,"з":2,"ш":2,"ђ":2,"ћ":2,"ч":2,"ж":2},0],"ј":[{".":2},0],"к":[{".":2,"б":2,"ц":2,"д":2,"ф":2,"г":2,"х":2,"к":2,"м":2,"н":2,"п":2,"с":2,"т":2,"њ":2,"џ":2,"з":2,"ш":2,"ђ":2,"ћ":2,"ч":2,"ж":2,"ј":4,"љ":4},0],"л":[{".":2},0],"м":[{".":2,"б":2,"ц":2,"д":2,"ф":2,"г":2,"х":2,"к":2,"м":2,"н":2,"п":2,"с":2,"т":2,"в":2,"њ":2,"џ":2,"з":2,"ш":2,"ђ":2,"ћ":2,"ч":2,"ж":2},0],"н":[{".":2},0],"п":[{".":2,"б":2,"ц":2,"д":2,"ф":2,"г":2,"х":2,"к":2,"м":2,"н":2,"п":2,"с":2,"т":2,"в":2,"њ":2,"џ":2,"з":2,"ш":2,"ђ":2,"ћ":2,"ч":2,"ж":2},0],"љ":[{".":2},0],"р":[{".":2},0],"т":[{".":2,"б":2,"ц":2,"д":2,"ф":2,"г":2,"х":2,"к":2,"м":2,"н":2,"п":2,"с":2,"т":2,"њ":2,"џ":2,"з":2,"ш":2,"ђ":2,"ћ":2,"ч":2,"ж":2,"л":4},0],"в":[{".":2,"б":2,"ц":2,"д":2,"ф":2,"г":2,"х":2,"к":2,"м":2,"н":2,"п":2,"с":2,"т":2,"в":2,"њ":2,"џ":2,"з":2,"ш":2,"ђ":2,"ћ":2,"ч":2,"ж":2,"љ":4},0],"њ":[{".":2},0],"ж":1,"б":1,"д":1,"ф":[{"е":[{"р":12}]},1],"г":1,"х":1,"с":1,"џ":1,"з":1,"ш":1,"ђ":1,"ћ":1,"ч":1}],"з":[{"б":[{".":2,"б":2,"ц":2,"д":2,"ф":2,"г":2,"х":2,"к":2,"м":2,"н":2,"п":2,"с":2,"т":2,"в":2,"њ":2,"џ":2,"з":2,"ш":2,"ђ":2,"ћ":2,"ч":2,"ж":2,"љ":4},0],"д":[{".":2,"б":2,"ц":2,"д":2,"ф":2,"г":2,"х":2,"к":2,"м":2,"н":2,"п":2,"с":2,"т":2,"њ":2,"џ":2,"з":2,"ш":2,"ђ":2,"ћ":2,"ч":2,"ж":2,"л":4,"љ":4,"в":4},0],"г":[{".":2,"б":2,"ц":2,"д":2,"ф":2,"г":2,"х":2,"к":2,"м":2,"н":2,"п":2,"с":2,"т":2,"њ":2,"џ":2,"з":2,"ш":2,"ђ":2,"ћ":2,"ч":2,"ж":2,"ј":4,"љ":4},0],"ј":[{".":2},0],"л":[{".":2},0],"м":[{".":2,"б":2,"ц":2,"д":2,"ф":2,"г":2,"х":2,"к":2,"м":2,"н":2,"п":2,"с":2,"т":2,"в":2,"њ":2,"џ":2,"з":2,"ш":2,"ђ":2,"ћ":2,"ч":2,"ж":2,"л":4,"р":4},0],"н":[{".":2},0],"љ":[{".":2},0],"р":[{".":2},0],"в":[{".":2,"б":2,"ц":2,"д":2,"ф":2,"г":2,"х":2,"к":2,"м":2,"н":2,"п":2,"с":2,"т":2,"в":2,"њ":2,"џ":2,"з":2,"ш":2,"ђ":2,"ћ":2,"ч":2,"ж":2,"л":4,"љ":4},0],"њ":[{".":2},0],"ж":1,"ц":1,"ф":1,"х":1,"к":1,"п":1,"с":1,"т":1,"џ":1,"з":1,"ш":1,"ђ":1,"ћ":1,"ч":1}],"ш":[{"ц":[{".":2,"б":2,"ц":2,"д":2,"ф":2,"г":2,"х":2,"к":2,"л":2,"м":2,"н":2,"п":2,"љ":2,"р":2,"с":2,"т":2,"њ":2,"џ":2,"з":2,"ш":2,"ђ":2,"ћ":2,"ч":2,"ж":2,"ј":4,"в":4},0],"к":[{".":2,"б":2,"ц":2,"д":2,"ф":2,"г":2,"х":2,"к":2,"м":2,"н":2,"п":2,"с":2,"т":2,"њ":2,"џ":2,"з":2,"ш":2,"ђ":2,"ћ":2,"ч":2,"ж":2},0],"л":[{".":2},0],"м":[{".":2,"б":2,"ц":2,"д":2,"ф":2,"г":2,"х":2,"к":2,"м":2,"н":2,"п":2,"с":2,"т":2,"в":2,"њ":2,"џ":2,"з":2,"ш":2,"ђ":2,"ћ":2,"ч":2,"ж":2,"ј":4,"л":4,"љ":4},0],"н":[{".":2},0],"п":[{".":2,"б":2,"ц":2,"д":2,"ф":2,"г":2,"х":2,"к":2,"м":2,"н":2,"п":2,"с":2,"т":2,"в":2,"њ":2,"џ":2,"з":2,"ш":2,"ђ":2,"ћ":2,"ч":2,"ж":2,"ј":4,"л":4,"љ":4},0],"љ":[{".":2},0],"т":[{".":2,"б":2,"ц":2,"д":2,"ф":2,"г":2,"х":2,"к":2,"м":2,"н":2,"п":2,"с":2,"т":2,"њ":2,"џ":2,"з":2,"ш":2,"ђ":2,"ћ":2,"ч":2,"ж":2,"ј":4,"л":4,"љ":4},0],"в":[{".":2,"б":2,"ц":2,"д":2,"ф":2,"г":2,"х":2,"к":2,"м":2,"н":2,"п":2,"с":2,"т":2,"в":2,"њ":2,"џ":2,"з":2,"ш":2,"ђ":2,"ћ":2,"ч":2,"ж":2,"л":4,"љ":4},0],"њ":[{".":2},0],"ћ":[{".":2},0],"ч":[{".":2,"б":2,"ц":2,"д":2,"ф":2,"г":2,"х":2,"ј":2,"к":2,"л":2,"м":2,"н":2,"п":2,"љ":2,"р":2,"с":2,"т":2,"њ":2,"џ":2,"з":2,"ш":2,"ђ":2,"ћ":2,"ч":2,"ж":2,"в":4},0],"ж":1,"б":1,"д":1,"ф":1,"г":1,"х":1,"с":1,"џ":1,"з":1,"ш":1,"ђ":1,"ј":1,"р":1}],"ж":[{"б":[{".":2,"б":2,"ц":2,"д":2,"ф":2,"г":2,"х":2,"к":2,"м":2,"н":2,"п":2,"с":2,"т":2,"в":2,"њ":2,"џ":2,"з":2,"ш":2,"ђ":2,"ћ":2,"ч":2,"ж":2,"ј":4,"л":4,"љ":4,"р":4},0],"д":[{".":2,"б":2,"ц":2,"д":2,"ф":2,"г":2,"х":2,"к":2,"м":2,"н":2,"п":2,"с":2,"т":2,"њ":2,"џ":2,"з":2,"ш":2,"ђ":2,"ћ":2,"ч":2,"ж":2,"ј":4,"л":4,"љ":4,"в":4},0],"г":[{".":2,"б":2,"ц":2,"д":2,"ф":2,"г":2,"х":2,"к":2,"м":2,"н":2,"п":2,"с":2,"т":2,"њ":2,"џ":2,"з":2,"ш":2,"ђ":2,"ћ":2,"ч":2,"ж":2,"ј":4,"л":4,"љ":4,"р":4,"в":4},0],"л":[{".":2},0],"м":[{".":2,"б":2,"ц":2,"д":2,"ф":2,"г":2,"х":2,"к":2,"м":2,"н":2,"п":2,"с":2,"т":2,"в":2,"њ":2,"џ":2,"з":2,"ш":2,"ђ":2,"ћ":2,"ч":2,"ж":2,"ј":4,"л":4,"љ":4,"р":4},0],"н":[{".":2},0],"љ":[{".":2},0],"в":[{".":2,"б":2,"ц":2,"д":2,"ф":2,"г":2,"х":2,"к":2,"м":2,"н":2,"п":2,"с":2,"т":2,"в":2,"њ":2,"џ":2,"з":2,"ш":2,"ђ":2,"ћ":2,"ч":2,"ж":2,"л":4,"љ":4},0],"њ":[{".":2},0],"ђ":[{".":2},0],"ж":1,"ц":1,"ф":1,"х":1,"к":1,"п":1,"с":1,"т":1,"џ":1,"з":1,"ш":1,"ћ":1,"ч":1,"ј":1,"р":1}],"ц":[{"ј":[{".":2},0],"р":[{".":2},0],"в":[{".":2,"л":4,"љ":4},0],"ж":1,"б":1,"ц":1,"д":1,"ф":1,"г":1,"х":1,"к":1,"л":1,"м":[{"и":[{"з":12}],"а":[{"к":12,"ч":12}],"о":[{"к":12}]},1],"н":1,"п":1,"љ":1,"с":1,"т":1,"њ":1,"џ":1,"з":1,"ш":1,"ђ":1,"ћ":1,"ч":1}],"ч":[{"в":[{".":2,"л":4,"љ":4,"ј":4},0],"ж":1,"б":1,"ц":1,"д":1,"ф":1,"г":1,"х":1,"ј":1,"к":1,"л":[{"а":[{"н":12,"њ":12}]},1],"м":1,"н":1,"п":1,"љ":1,"р":1,"с":1,"т":1,"њ":1,"џ":1,"з":1,"ш":1,"ђ":1,"ћ":1,"ч":1}],"ј":[{"ж":1,"б":1,"ц":1,"д":1,"ф":1,"г":1,"х":1,"ј":1,"к":1,"л":1,"м":1,"н":1,"п":1,"љ":1,"р":1,"с":1,"т":1,"в":1,"њ":1,"џ":1,"з":1,"ш":1,"ђ":1,"ћ":1,"ч":1}],"л":[{"ж":1,"б":1,"ц":1,"д":1,"ф":1,"г":1,"х":1,"ј":1,"к":1,"л":1,"м":1,"н":1,"п":1,"љ":1,"р":1,"с":1,"т":1,"в":1,"њ":1,"џ":1,"з":1,"ш":1,"ђ":1,"ћ":1,"ч":1}],"н":[{"ж":1,"б":1,"ц":1,"д":1,"ф":1,"г":1,"х":1,"ј":1,"к":1,"л":1,"м":1,"н":1,"п":1,"љ":1,"р":1,"с":1,"т":1,"в":1,"њ":1,"џ":1,"з":1,"ш":1,"ђ":1,"ћ":1,"ч":1,"и":[{"г":[{"д":[{"е":[{".":7}],"ј":[{"е":[{".":7}]}]}]}]}],"е":[{"г":[{"д":[{"е":[{".":7}],"ј":[{"е":[{".":7}]}]}]}]}]}],"љ":[{"ж":1,"б":1,"ц":1,"д":1,"ф":1,"г":1,"х":1,"ј":1,"к":1,"л":1,"м":1,"н":1,"п":1,"љ":1,"р":1,"с":1,"т":1,"в":1,"њ":1,"џ":1,"з":1,"ш":1,"ђ":1,"ћ":1,"ч":1}],"р":[{"ж":1,"б":1,"ц":1,"д":1,"ф":1,"г":1,"х":1,"ј":[{"е":[{"м":13,".":13},12]},1],"к":1,"л":1,"м":1,"н":1,"п":1,"љ":1,"р":1,"с":1,"т":1,"в":1,"њ":1,"џ":1,"з":1,"ш":1,"ђ":[{"а":12},1],"ћ":1,"ч":1}],"њ":[{"ж":1,"б":1,"ц":1,"д":1,"ф":1,"г":1,"х":1,"ј":1,"к":1,"л":1,"м":1,"н":1,"п":1,"љ":1,"р":1,"с":1,"т":1,"в":1,"њ":1,"џ":1,"з":1,"ш":1,"ђ":1,"ћ":1,"ч":1}],"џ":[{"ж":1,"б":1,"ц":1,"д":1,"ф":1,"г":1,"х":1,"ј":1,"к":1,"л":1,"м":1,"н":1,"п":1,"љ":1,"р":1,"с":1,"т":1,"в":1,"њ":1,"џ":1,"з":1,"ш":1,"ђ":1,"ћ":1,"ч":1}],"ђ":[{"ж":1,"б":1,"ц":1,"д":1,"ф":1,"г":1,"х":1,"ј":1,"к":1,"л":1,"м":1,"н":1,"п":1,"љ":1,"р":1,"с":1,"т":1,"в":1,"њ":1,"џ":1,"з":1,"ш":1,"ђ":1,"ћ":1,"ч":1}],"ћ":[{"ж":1,"б":1,"ц":1,"д":1,"ф":1,"г":1,"х":1,"ј":1,"к":1,"л":1,"м":1,"н":1,"п":1,"љ":1,"р":1,"с":1,"т":1,"в":1,"њ":1,"џ":1,"з":1,"ш":1,"ђ":1,"ћ":1,"ч":1}],".":[{"х":0,"ј":[{"у":[{"р":[{"и":[{"с":[{"к":28,"п":28}]}]}]}]},0],"к":0,"л":0,"м":0,"н":[{"а":[{"г":[{"н":9,"њ":9}],"д":[{"н":[{"е":[{"в":7}],"и":[{"ч":7,"ц":7}]}],"л":[{"а":[{"н":15}],"е":[{"ш":15,"ж":15}]},14],"љ":14,"в":[{"а":[{"л":15}],"е":[{"с":[{"и":15,"т":15}]}],"и":[{"ј":15,"т":15}],"л":[{"а":15}],"о":[{"ј":[{"е":15}],"р":15}]},14],"и":[{"г":[{"р":14}],"н":[{"ж":14,"а":14}],"с":[{"к":14}]}],"ј":[{"а":[{"х":14,"ч":14}],"е":[{"к":14,"з":14,"ч":14}],"у":[{"н":14}]}],"о":[{"р":[{"а":14}],"с":[{"о":14,"е":14,"ј":[{"е":14}]}],"ф":[{"и":14}],"ч":14}],"р":[{"а":[{"н":14,"ч":14,"с":[{"т":14}],"ш":[{"ћ":14}]}],"е":[{"а":[{"л":14}],"п":14}],"у":[{"к":14,"ч":14,"г":14}]}],"у":[{"д":[{"а":[{"р":14}]}],"м":14,"ч":14}]}],"т":[{"к":[{"а":[{"х":7,"м":7,"с":[{"м":7,"т":7}]}]}]}],"ј":[{"а":[{"в":[{"и":15,"љ":15,"а":15,"е":15}],"д":[{"и":15,"а":15,"е":15}],"ж":[{"и":15}],"з":[{"и":15}],"к":[{"о":15,"а":15}],"л":[{"о":15}],"м":[{"и":15,"л":15,"н":15}],"р":[{"и":15,"м":15,"ц":15}],"т":[{"и":15}],"у":[{"к":15}],"х":15,"ш":15},14],"е":[{"д":[{"и":15,"н":15,"р":15,"а":15}],"ж":[{"и":15,"у":15,"е":15}],"з":[{"н":15,"д":15}],"с":[{"т":[{"и":15}]}],"т":[{"к":15}],"ц":15},14],"и":14,"о":14,"у":[{"р":[{"и":15,"е":[{"н":15}]}]},14]}]}],"у":[{"з":[{"б":[{"е":[{"л":14}],"и":[{"љ":14}]}],"љ":[{"у":[{"б":14}]}],"р":[{"е":14,"ј":[{"е":14}]}],"у":[{"ж":14}]}],"с":[{"п":[{"о":[{"с":14}],"р":[{"о":14}]}]}]}]},0],"п":[{"о":[{"г":[{"н":7}],"д":[{"н":[{"е":[{"в":7}]}],"а":[{"д":[{"м":14}]}],"в":[{"а":[{"р":[{"и":[{"ј":14}]}]}],"е":[{"з":14,"ч":14,"ж":14}],"и":[{"к":14,"л":14,"р":14,"њ":14}],"л":[{"а":[{"с":14,"ш":14}]}],"о":[{"з":14,"ђ":14,"ж":14,"д":14}],"р":[{"а":[{"т":14,"ћ":14}],"ћ":14,"ж":14,"г":14,"и":[{"с":14}],"с":14}],"у":[{"ћ":14}]}],"и":[{"г":[{"р":14}],"з":[{"в":14}]}],"ј":[{"е":[{"н":15,"ч":15}]},14],"л":[{"а":[{"к":[{"а":[{"т":14}],"т":14}]}],"е":[{"п":14,"т":14,"ћ":14,"ж":14,"г":14}],"и":[{"з":14,"ј":[{"е":[{"п":14,"т":14,"ћ":14,"ж":14,"г":14}]}],"с":[{"т":14}]}],"о":[{"к":14,"м":14}],"у":[{"п":14,"ч":14,"ж":14}]}],"љ":[{"у":[{"т":14}]}],"о":[{"к":[{"н":14}],"ш":14,"ч":14,"ф":14}],"р":[{"а":[{"в":[{"н":14,"њ":14}],"д":14,"з":[{"д":23,"р":14,"у":14}],"м":14,"н":14,"с":14,"њ":14}],"е":[{"п":14,"с":14,"з":14}],"и":[{"к":14,"т":14}],"о":[{"н":14,"в":14,"ж":14}],"у":[{"к":14,"б":14,"ч":[{"и":14,"н":14,"а":14}]}]}],"у":[{"п":[{"л":[{"а":14}]}],"с":[{"м":14,"н":14}]}]}],"м":[{"н":7,"њ":7}],"р":[{"в":7,"ђ":7}],"т":[{"к":[{"а":[{"х":7,"м":7,"т":7,"в":7}]}]}],"с":[{"т":[{"е":[{"г":[{"з":30}]}],"и":[{"н":[{"д":[{"у":30}]}]}],"л":[{"и":[{"м":30}]}],"о":[{"н":[{"к":30}],"п":[{"е":[{"р":30}]}]}]}]}]}],"р":[{"е":[{"д":[{"м":[{"н":11,"њ":11}],"ј":[{"е":[{"н":21}]},20],"в":[{"а":[{"ј":21,"р":21}],"е":[{"с":[{"т":21}]}],"о":[{"ј":[{"и":21,"а":21,"е":21}],"р":21,"с":21}]},20],"и":[{"г":[{"р":20}],"д":20,"з":[{"б":20}],"с":[{"п":[{"и":20}],"т":[{"о":20,"р":20}]}]}],"о":[{"б":[{"ј":20}],"д":[{"р":[{"е":20}]}],"к":[{"у":[{"с":20}]}],"с":[{"в":20,"е":20,"ј":[{"е":20}]}]}],"р":[{"а":[{"т":20,"ч":20,"д":20}],"у":[{"ч":20}]}],"у":[{"б":[{"е":[{"ђ":20}],"и":[{"ј":[{"е":[{"ђ":20}]}]}],"ј":[{"е":[{"ђ":20}]}]}],"в":[{"е":[{"р":20}],"ј":[{"е":[{"р":20,"т":20}]}]}],"г":[{"о":[{"в":20}]}],"д":[{"а":[{"р":20}]}],"п":[{"и":[{"с":20}]}],"с":[{"л":[{"о":20}]}]}]}],"т":[{"к":[{"а":[{"х":8,"м":8,"т":8}]}]}]}],"о":[{"г":[{"н":8}],"т":[{"к":[{"и":8,"а":8}],"и":[{"в":[{"а":[{"к":[{"ц":24}]}],"о":[{"т":[{"р":24}],"ф":24}],"р":24,"у":[{"с":24,"д":24}]}]}]}]}]}]},0],"љ":0,"р":[{"а":[{"з":[{"а":[{"г":[{"н":11}],"т":[{"к":[{"а":11}]}],"н":[{"а":[{"л":14}]}]}],"г":[{"н":8,"а":[{"ђ":15}],"р":[{"т":15}]},14],"д":[{"н":[{"и":8}]},14],"б":[{"а":[{"н":15,"р":15,"у":15,"д":15,"ш":[{"у":[{"р":15}]}]}],"о":[{"ј":15,"р":15}]},14],"е":[{"в":15},14],"и":[{"ј":15,"л":15,"н":15,"р":15,"т":15,"з":15,"ђ":15,"ћ":15,"д":15},14],"ј":14,"л":[{"а":[{"з":15,"г":15}],"и":[{"к":15,"ч":15}],"о":[{"з":15,"ж":15,"г":15}]},14],"м":[{"е":[{"т":15,"ћ":15}],"р":[{"с":[{"к":15}]}]},14],"н":[{"а":[{"т":15}]},14],"љ":14,"р":[{"е":[{"д":15}],"о":[{"к":15,"ч":15}]},14],"в":[{"а":[{"л":15}],"е":[{"д":[{"е":15}],"с":[{"т":15}]}],"и":[{"г":[{"о":15}],"ј":[{"у":15,"а":15,"е":15}],"т":15,"ћ":15}],"о":[{"ј":15,"н":15}],"р":[{"а":[{"т":15,"ћ":15}],"т":15,"ћ":15}]},14],"њ":14,"о":[{"б":[{"л":14,"р":14,"а":14}],"д":14,"р":[{"а":[{"т":14,"в":14}],"т":14,"у":14}],"т":14}],"у":[{"в":[{"е":14}],"д":[{"и":14,"а":14,"б":14}],"з":[{"и":14,"д":14,"е":14}],"л":[{"а":[{"р":14}]}],"м":[{"р":14}]}]}],"ж":[{"ђ":14}],"с":[{"ц":14,"к":[{"а":[{"к":15,"н":[{"д":15}]}],"и":[{"н":15}],"л":[{"а":[{"п":15,"њ":15,"д":15}],"о":[{"н":15,"п":[{"и":15,"љ":15,"а":15}]}]}],"о":[{"ш":15}],"р":[{"о":[{"п":15}]}]},14],"п":[{"а":[{"ј":15,"в":15}],"е":[{"т":[{"и":15,"о":15,"а":15,"е":15}]}],"и":[{"к":[{"у":15}],"њ":15}],"л":[{"и":[{"н":15,"њ":15}]}],"н":15,"о":[{"л":[{"о":[{"ж":15}]}],"н":15,"р":15}],"р":[{"а":[{"в":15}],"е":[{"м":15}]}]},14],"т":[{"а":[{"ј":15,"н":15,"т":15,"в":15}],"е":[{"њ":15}],"и":[{"л":15,"р":15,"с":15,"т":15,"њ":15}],"о":[{"ј":15}],"р":[{"е":[{"л":15,"т":15}],"о":[{"ј":15}],"т":15}],"у":[{"п":15,"р":[{"ч":25},15],"ћ":15}]},14],"р":[{"ђ":15,"д":15,"е":15}]}],"ш":[{"ћ":[{"е":[{"њ":15}]},14],"ч":[{"и":[{"ћ":15}]},14]}]}]},0],"с":[{"у":[{"б":[{"а":[{"ш":15},14],"л":14,"и":[{"н":[{"в":14}]}],"ј":[{"у":[{"н":[{"к":14}]}]}],"о":[{"к":[{"с":14}],"р":[{"д":14}]}],"р":[{"е":[{"п":14}],"о":[{"г":14}]}]}],"п":[{"е":[{"р":[{"и":[{"о":[{"р":29}]},28],"о":28,"у":28,"а":28,"е":28}]}]}]}]},0],"т":[{"р":[{"а":[{"н":[{"с":[{"а":28,"ц":28,"е":[{"п":29},28],"к":[{"р":[{"и":29}]},28],"л":28,"м":28,"н":28,"о":28,"п":28,"т":28,"у":[{"м":29,"д":29},28],"в":28,"њ":28}]}]}]}]},0],"в":[{"а":[{"н":[{"е":[{"в":[{"р":14}]}],"у":[{"с":[{"т":[{"а":[{"в":14}]}]}]}]}]}]},0],"њ":0,"џ":0,"з":[{"а":[{"г":[{"н":7}],"т":[{"к":[{"а":7}]}]}]},0],"ш":0,"ђ":0,"ћ":0,"ч":0,"ж":0,"б":[{"е":[{"о":6,"з":[{"ј":[{"а":[{"к":15,"ч":15}]},14],"л":[{"о":[{"б":[{"н":15,"а":15}]}]},14],"м":14,"н":[{"а":[{"ч":[{"а":[{"ј":15}]}]}]},14],"љ":14,"р":[{"а":[{"ч":[{"н":15,"а":15}]}]},14],"в":[{"у":[{"ч":[{"н":15,"а":15}]}]},14],"њ":14,"б":[{"е":[{"д":[{"н":15,"а":15}],"л":[{"и":15}]}],"ј":[{"е":[{"д":[{"н":15,"а":15}]}]}],"о":[{"л":15}]},14],"д":14,"г":14,"и":[{"с":[{"т":[{"а":[{"н":15}],"е":[{"н":15}]}]}]},14],"о":14,"у":[{"п":15,"б":15},14],"а":[{"л":[{"к":[{"о":[{"х":[{"о":[{"л":14}]}]}]}]}],"т":[{"о":[{"м":[{"с":[{"к":14}]}]}]}]}]}],"с":[{"ц":14,"к":[{"р":[{"у":[{"п":[{"у":[{"л":15}]}]}]}]},14],"п":[{"о":[{"к":[{"о":[{"ј":[{"н":15,"а":15}]}]}],"р":[{"н":15,"а":15}]}]},14],"т":[{"в":[{"а":[{"р":15}]}],"и":[{"д":15,"ј":[{"а":15}],"л":[{"у":15}],"љ":15}],"р":[{"а":[{"н":[{"а":15}],"с":15}]}],"с":[{"е":[{"л":[{"е":[{"р":16}]}]}]}]},14]}],"ш":[{"ћ":14,"ч":14}]}],"и":[{"о":6}]},0],"ц":0,"д":[{"и":[{"с":[{"а":[{"к":[{"о":[{"р":14}]}]}],"ј":[{"у":[{"н":[{"к":14}]}]}],"к":[{"в":[{"а":[{"л":14}]}],"о":[{"н":[{"т":14}],"р":[{"д":14}]}],"р":[{"е":14,"и":14}],"у":[{"р":14}]}],"л":[{"о":14}],"о":[{"р":[{"и":[{"ј":14}]}]}],"п":[{"а":[{"р":[{"и":[{"т":14}]}]}],"о":[{"з":14,"н":14}],"р":[{"о":[{"п":14}]}]}],"т":[{"о":[{"н":14}],"р":[{"а":[{"к":14}]}]}]}]}]},0],"ф":0,"г":[{"е":[{"о":6}]},0],"а":[{"е":[{"р":[{"о":5}]}],"б":[{"а":[{"л":[{"и":[{"ј":17}]}],"н":[{"а":[{"ц":17}]}]}],"е":[{"в":[{"а":[{"к":17}]}],"р":[{"а":[{"ц":17}],"и":[{"р":17}]}]}],"и":[{"р":[{"и":[{"т":17}]}]}],"ј":[{"у":17}],"л":[{"а":17,"е":[{"г":17,"п":17}],"о":[{"к":17}],"у":17}],"о":[{"р":[{"и":[{"г":17}]}]}],"р":[{"е":[{"а":[{"к":17}]}],"о":[{"г":17}]}],"у":[{"з":[{"у":[{"с":17}]}]}]}],"д":[{"е":[{"р":[{"а":[{"ц":17}]}]}],"в":[{"е":[{"р":[{"б":17}]}]}],"ј":17,"л":[{"а":[{"т":17}]}],"р":[{"е":[{"н":17}],"о":[{"г":17}]}]}],"г":[{"н":[{"о":[{"с":10,"з":10}]}]}],"н":[{"а":[{"б":[{"а":[{"п":0,"з":0,"т":0}],"и":[{"о":0}],"о":[{"л":0}]}],"г":[{"е":[{"н":0}],"н":[{"о":0}],"о":17,"р":[{"а":0}]}],"д":[{"е":[{"м":0}],"и":[{"п":[{"л":0}]}],"о":[{"з":0}]}],"е":[{"р":[{"о":27}]}],"к":[{"а":[{"л":0,"м":0,"т":0}],"е":[{"ф":0}],"л":[{"а":0,"и":0}],"о":[{"ј":0,"л":0}],"у":[{"з":17}],"р":[{"о":[{"н":0}],"у":0}]}],"л":[{"г":17,"д":17,"е":[{"п":0}],"и":[{"з":0,"с":0,"т":0}],"ф":[{"а":17}]}],"м":[{"е":[{"р":[{"т":17}]}],"н":[{"е":0}]}],"н":[{"д":[{"р":17}],"е":[{"о":0}],"т":17}],"п":[{"л":[{"а":0,"е":0}],"н":[{"е":0,"о":0}],"р":[{"о":0}],"т":[{"и":0,"о":17}]}],"р":[{"т":0,"х":17}],"с":[{"а":[{"р":0}],"е":[{"и":0}],"п":[{"а":[{"з":0}]}],"т":[{"а":0,"и":[{"г":0}],"о":[{"м":0}]}]}],"т":[{"и":[{"м":0}],"о":[{"м":0,"ц":0}],"р":[{"е":0,"и":0,"о":0}]}],"ф":[{"а":[{"з":0}],"и":[{"ј":17,"л":[{"а":0}]}],"о":[{"н":0,"р":0}],"р":[{"о":[{"д":17}]}]}],"х":[{"о":[{"р":0}],"р":[{"о":0}]}]}],"е":[{"г":[{"е":[{"р":17}]}],"к":[{"л":17,"у":[{"м":17}]}],"л":[{"е":[{"к":17}]}],"н":[{"е":[{"р":17}]}],"п":[{"и":17}],"о":[{"р":0}],"р":[{"г":17,"и":[{"т":17}]}],"с":[{"т":[{"е":17}]}]}],"и":[{"д":[{"р":17}],"з":[{"о":[{"г":17,"м":17}],"у":[{"р":17}]}],"р":[{"и":[{"д":17}]}]}],"о":[{"в":[{"а":[{"р":17}]}],"к":[{"с":17}],"п":[{"и":[{"с":17}]}],"р":[{"х":17,"г":17}],"ф":[{"т":17}]}]}]}],"и":[{"з":[{"а":[{"г":[{"н":8}],"т":[{"к":8}],"б":[{"а":17}],"к":[{"а":17}],"н":[{"а":[{"л":17}]}]}],"г":[{"н":7,"о":[{"м":[{"е":[{"т":18}]}]}],"р":[{"е":[{"д":18}],"н":18,"т":18}]},17],"д":[{"н":[{"о":9,"у":9,"а":9}],"а":[{"ј":17}],"р":[{"а":[{"в":18}]}]},17],"р":[{"к":9,"а":[{"е":[{"л":18}],"и":[{"љ":18}],"ч":[{"и":18}]}]},17],"б":[{"и":[{"ј":[{"а":17}],"в":[{"а":17}],"ч":[{"к":[{"а":[{"в":[{"а":18}]}]}]}]}],"а":[{"в":18}],"л":[{"е":[{"у":[{"ш":[{"а":[{"н":18}]}]}]}]}],"о":[{"ј":[{"а":[{"к":18}],"к":18}]}],"е":[{"з":[{"о":[{"б":[{"р":19}]}],"у":[{"м":19}]}]}]},17],"ј":[{"е":[{"ж":[{"љ":18}]}]},17],"л":[{"о":[{"з":18,"ж":18,"г":18,"п":[{"а":[{"ћ":18}]}]}]},17],"м":17,"н":[{"и":[{"м":18}],"о":[{"ј":18}]},17],"љ":17,"в":[{"е":[{"д":[{"и":17,"н":17,"б":17,"е":17}]}],"а":[{"л":[{"и":18,"у":18,"а":18,"е":18}],"љ":[{"и":18}],"н":[{"е":[{"в":[{"р":19}]}]}]}],"и":[{"ж":[{"д":18}],"и":[{"с":[{"к":[{"р":18}]}]}],"ј":[{"а":18,"е":[{"н":18}]}],"н":18,"р":18,"њ":18,"т":[{"о":[{"п":18}]}]}],"ј":[{"е":[{"д":18}]}],"о":[{"ј":[{"а":[{"ц":18}],"ц":18}],"р":18}]},17],"њ":17,"и":[{"ђ":18,"д":18,"м":[{"и":18}]},17],"о":[{"а":[{"н":[{"е":[{"м":6}],"о":[{"м":6}]}]}],"б":[{"а":[{"т":6}],"р":[{"о":[{"н":6}]}]}],"г":[{"а":[{"м":6}],"е":[{"о":6}],"л":[{"о":[{"с":6}]}],"о":[{"н":6}],"р":[{"а":[{"ф":6}]}]}],"д":[{"и":[{"м":6,"н":6}],"о":[{"з":6}]}],"к":[{"л":[{"и":[{"н":6}]}],"о":[{"л":[{"о":[{"н":6}]}]}]}],"л":[{"а":[{"т":18,"ц":18}],"и":[{"р":18}],"о":[{"в":18}],"е":[{"к":[{"с":6}]}],"у":[{"к":[{"с":6}]}]}],"м":[{"е":[{"р":6,"т":[{"р":6}]}],"о":[{"р":[{"ф":6}]}]}],"н":[{"е":[{"ф":6}],"о":[{"м":6}]}],"п":[{"а":[{"т":6}],"е":[{"р":6}],"л":[{"е":6}],"о":[{"л":6}],"с":[{"е":[{"ф":6}]}]}],"р":[{"а":[{"х":6}]}],"с":[{"е":[{"и":6}],"и":[{"н":[{"т":6}],"с":[{"т":6}]}],"к":[{"е":[{"л":6}],"о":[{"п":6}]}],"т":[{"а":[{"з":6}],"е":6}]}],"т":[{"а":[{"х":6,"л":6}],"е":[{"р":6}],"о":[{"н":6,"п":6}],"р":[{"о":6}]}],"ф":[{"о":[{"н":6,"т":6}]}],"х":[{"а":[{"л":6,"з":6}],"е":[{"л":6}],"и":[{"ј":6,"м":6,"т":6,"п":[{"с":6}]}],"о":[{"р":6}],"р":[{"о":6}]}]},17],"у":[{"н":18,"п":[{"ч":18}]},17]}],"с":[{"т":[{"к":9,"а":[{"в":[{"и":18,"љ":18}],"к":[{"н":18}],"м":18,"р":18,"с":18,"ћ":18}],"и":[{"н":18,"р":18,"ц":18,"ф":[{"а":[{"н":18}]}]}],"о":[{"к":18,"р":[{"и":18}],"ч":[{"н":18,"њ":18,"а":18}]}],"р":[{"а":[{"в":18,"д":18,"н":18}],"и":[{"ћ":18,"ж":18,"ц":18}],"у":[{"г":18}]}],"у":[{"п":18}]},17],"ц":17,"к":[{"а":[{"к":18,"т":18,"њ":18,"р":[{"и":[{"о":[{"т":18}]}]}]}],"в":[{"а":[{"с":18}],"р":[{"ч":18}]}],"и":[{"н":18,"т":[{"а":18}]}],"о":[{"н":[{"с":[{"к":18}]}],"ч":18}],"р":[{"а":[{"м":18,"т":18}],"и":[{"т":18,"ш":18,"ч":18,"ц":18}],"е":[{"н":18,"њ":18}],"о":[{"ј":18}],"с":[{"н":18,"а":18}]}],"у":[{"п":[{"љ":[{"а":18}]}]}]},17],"п":[{"а":[{"в":18,"љ":[{"и":[{"в":18}]}]}],"и":[{"р":[{"а":18}]}],"л":[{"и":[{"т":18,"ћ":18}]}],"о":[{"к":[{"о":[{"ј":18}]}],"л":[{"и":[{"н":18}]}],"н":18,"р":[{"а":[{"в":18}]}]}],"р":[{"а":[{"в":[{"и":18,"к":18,"н":18,"љ":18,"а":18}]}]}],"у":[{"п":[{"ч":18}],"р":18}]},17],"л":[{"а":[{"м":18,"б":18}],"е":[{"ђ":18,"д":18}],"и":[{"ј":[{"е":[{"ђ":18,"д":18}]}],"к":18,"н":18}],"о":[{"в":18}],"у":[{"ш":18,"ж":18}]}],"љ":[{"е":[{"ђ":18,"д":18}]}],"м":[{"е":18,"и":[{"ј":[{"е":18}]}],"ј":[{"е":18}]}],"р":[{"е":[{"д":18}],"к":18}],"у":[{"к":18,"с":18,"т":18,"ш":18}]}],"ж":[{"ђ":17}],"ш":[{"ћ":17,"ч":17}],"н":[{"а":[{"б":[{"р":[{"у":[{"п":17}]}]}],"д":[{"е":[{"к":17}]}],"к":[{"у":[{"р":17}],"ц":[{"е":17}]}],"м":[{"о":[{"р":17}]}],"н":[{"и":[{"ц":17}]}],"п":[{"л":[{"и":[{"к":17}]}],"с":[{"т":17}]}],"р":[{"т":17}],"у":[{"г":[{"у":[{"р":17}]}],"р":[{"а":17}]}],"ф":[{"е":[{"к":17}]}]}],"е":[{"в":[{"и":[{"д":17}]}],"г":17,"д":17,"к":[{"в":17,"с":17}],"л":[{"и":[{"г":17}]}],"п":[{"ц":17}],"ф":[{"е":[{"к":17}]}]}],"о":[{"б":[{"л":17}],"г":[{"е":[{"н":0}]}],"к":[{"о":[{"р":0}],"у":[{"п":17}]}],"п":[{"е":[{"р":17}],"о":[{"р":17}],"с":[{"е":17}]}],"ф":[{"и":[{"ц":17}]}]}],"у":[{"м":[{"б":[{"р":17}]}],"н":[{"д":[{"а":17}],"к":17}],"т":[{"и":[{"л":17}]}]}],"т":[{"е":[{"р":[{"и":[{"ј":[{"е":29}]},28],"о":[{"г":[{"а":[{"т":29}]}]},28],"у":28,"а":28,"е":[{"г":[{"н":29}],"с":[{"и":29,"н":29,"о":29,"у":29,"а":29,"е":29}],"ж":[{"џ":29}]},28],"ј":[{"е":28}]}]}]}]}]}],"о":[{"д":[{"а":[{"г":[{"н":8}],"д":[{"н":8}],"р":[{"г":17}]}],"г":[{"н":7}],"м":[{"н":7}],"ј":[{"е":[{"л":18,"н":18,"в":18,"ћ":18}]},17],"л":[{"а":[{"з":18,"ж":18,"г":18,"к":[{"а":18}]}],"у":[{"к":18,"ч":18}]},17],"љ":17,"р":[{"а":[{"н":[{"и":18,"о":18,"у":18,"а":18,"е":18}],"з":18,"ћ":18,"ж":18,"п":[{"и":18,"љ":18,"а":18}],"ч":[{"и":18}]}],"в":[{"е":[{"н":18,"њ":18,"ч":18}]}],"е":[{"м":18,"н":18,"т":18,"ђ":18,"д":18}],"л":18,"н":18,"п":18,"љ":18,"т":18,"ж":18,"и":[{"н":18,"њ":18,"ш":18,"ч":18,"б":18,"ц":18}],"о":[{"н":18,"њ":18}],"у":[{"ж":18,"г":18}]},17],"в":[{"а":[{"ј":18,"ж":18}],"е":[{"с":[{"н":18,"т":18,"а":18}]}],"и":[{"к":[{"а":[{"в":18}],"н":18}],"с":18,"ћ":18}],"о":[{"ј":18}]},17],"и":[{"г":[{"р":17}],"з":[{"в":22,"д":22}],"с":[{"к":17,"т":[{"и":17}]}]}],"о":[{"з":[{"д":17,"г":17}],"к":17,"н":[{"л":17,"о":17,"у":17,"д":17}]}],"у":[{"в":[{"и":17,"е":17}],"з":[{"и":17,"л":17,"д":17,"е":17}],"к":17,"л":17,"м":17,"ч":17}]}],"т":[{"к":[{"а":[{"х":10,"м":10,"с":[{"м":10,"т":10}]}]}]}],"б":[{"ј":[{"е":[{"к":18,"р":18,"с":[{"и":18}],"т":18,"ш":18}]},17],"љ":[{"а":[{"н":18}],"у":[{"т":18,"з":18}]},17],"р":[{"а":[{"ж":[{"е":18}],"з":[{"и":18,"н":18,"о":18,"у":18,"а":18,"д":18}],"м":[{"б":18}],"н":18,"њ":18,"т":18,"ћ":18,"ш":[{"н":18,"ч":18}]}],"в":18,"ђ":18,"е":[{"м":18,"с":18,"ђ":18,"ч":18,"ж":18,"ц":18,"д":18,"т":[{"и":18,"н":18}]}],"и":[{"ј":18,"с":18,"т":18,"в":18,"ч":18,"ц":18}],"к":18,"л":18,"н":18,"љ":18,"с":18,"т":18,"ш":18,"ч":18,"о":[{"к":18,"н":18,"њ":18,"ћ":18,"ч":18,"в":[{"а":18,"ц":18}]}],"у":[{"к":18,"н":18,"с":18,"њ":18,"ш":18,"ч":18}]},17],"е":[{"з":[{"б":20,"д":20,"г":20,"ј":20,"л":20,"м":20,"н":[{"а":[{"н":21,"њ":21,"ч":21}]},20],"о":20,"љ":20,"р":20,"у":[{"б":21},20],"в":[{"и":[{"ј":21}]},20]}],"с":[{"ц":20,"к":20,"п":20,"т":[{"а":[{"н":21}],"и":[{"ј":21}],"р":[{"а":[{"н":21}]}]},20]}],"ш":[{"ћ":20,"ч":20}]}],"и":[{"г":[{"р":17}],"с":[{"т":[{"и":[{"н":17,"њ":17}]}]}]}],"л":[{"а":[{"ј":17,"м":17,"к":[{"ш":17}],"с":[{"к":17}]}],"е":[{"п":17,"т":17,"ћ":17,"ж":17,"г":17,"д":[{"е":[{"н":17}]}]}],"и":[{"ј":[{"е":[{"п":17,"т":17,"ж":17,"г":17}]}],"в":17,"з":[{"а":[{"т":17,"в":17}],"и":17}],"с":[{"т":17}]}],"о":[{"к":[{"а":17}]}],"у":[{"к":17,"ч":17}]}],"о":[{"р":[{"у":17}]}],"у":[{"б":[{"о":[{"ж":17}]}],"з":17,"ж":17,"д":17,"м":[{"и":17,"ј":17,"р":17,"е":17}]}]}]}],"у":[{"г":[{"м":[{"и":10}],"н":10}],"з":[{"а":[{"т":[{"к":[{"а":8}]}]}],"б":[{"о":[{"р":18}]},17],"д":[{"и":[{"ц":18}]},17],"г":17,"и":[{"г":[{"р":17}],"н":[{"а":[{"т":17}]}],"с":[{"к":[{"р":17}]}]},17],"ј":17,"л":[{"а":[{"н":18,"т":18}],"и":[{"м":18,"т":18,"ћ":18,"ц":18}],"о":[{"в":18}],"у":[{"д":[{"о":[{"б":18}]}]}]},17],"м":17,"н":[{"а":[{"к":18,"ч":18}],"е":[{"в":[{"е":18,"ј":[{"е":18}]}]}],"и":[{"ч":18,"ц":18}],"о":[{"ј":18}]},17],"љ":17,"р":[{"е":[{"т":18,"в":18}],"и":[{"ј":[{"е":[{"т":18,"в":18}]}]}],"н":18,"њ":18,"о":[{"к":[{"о":18,"у":18,"а":18}],"ч":18}],"у":[{"ј":18}]},17],"в":[{"а":[{"н":18,"т":18}],"и":[{"ж":18,"ј":[{"о":18,"у":18,"а":18,"е":18}]}],"о":[{"ј":18}]},17],"њ":17,"о":[{"б":[{"е":[{"с":[{"т":17}]}],"и":[{"ј":[{"е":[{"с":[{"т":17}]}]}]}]}],"р":[{"а":[{"т":17,"в":17}]}],"х":[{"о":17}]}],"у":[{"г":[{"а":[{"р":17}]}]}]}],"с":[{"ц":17,"к":[{"а":[{"к":18}],"л":[{"а":[{"ђ":18,"д":18}]}],"о":[{"м":26,"в":26,"ш":26,"к":[{"о":26}],"л":[{"у":26,"е":26}],"п":[{"а":26}],"р":[{"а":26}],"с":[{"и":26}],"т":[{"р":26}]},18],"у":[{"п":18}]},17],"п":[{"а":[{"в":18,"л":[{"о":18}]}],"е":[{"х":18,"л":18,"м":18,"т":18,"в":18,"ш":18,"н":[{"т":18}]}],"ј":[{"е":[{"х":18,"л":18,"м":18,"т":18,"в":18,"ш":18}]}],"и":[{"ј":[{"а":18,"е":18,"у":[{"ш":18}]}],"к":[{"у":[{"ш":18}]}]}],"о":[{"н":18,"р":[{"и":18,"а":18,"е":[{"н":18,"њ":18,"ч":18}]}],"с":[{"о":[{"б":18}]}]}],"р":[{"е":[{"м":[{"и":18,"а":18}]}]}]},17],"р":[{"к":18,"н":18,"п":18,"љ":18,"т":18,"ђ":18,"ж":18,"а":18,"д":18,"е":18,"и":[{"ј":[{"е":[{"д":18}]}]}]}],"т":[{"а":[{"л":[{"а":[{"с":17}]}],"р":[{"а":17}]}],"в":[{"р":[{"ђ":17,"д":17}]}],"е":[{"р":17,"ћ":17,"г":17}],"о":[{"в":17}],"р":[{"а":[{"ј":17,"л":17}],"г":17,"е":[{"п":17,"с":17,"б":17}],"к":17,"н":17,"п":17,"ћ":17,"ч":17}],"у":[{"м":17,"р":17,"ћ":17}]}]}],"ш":[{"ћ":17,"ч":17}]}]}],"о":[{"а":3,"е":3,"и":3,"о":3,"у":3},1],"у":[{"а":3,"е":3,"и":3,"о":3,"у":3},1],"а":[{"а":3,"е":3,"и":3,"о":3,"у":3},1],"е":[{"а":3,"е":3,"и":3,"о":3,"у":3},1],"и":[{"а":3,"е":3,"и":3,"о":3,"у":3},1]}',"на-дно.на-тка.на-тка-ти.на-тка-ше.о-дно.о-тка.о-тка-ти.о-тка-ше.по-дно.по-дне.по-тки.по-тку.по-тка.по-тке.у-дно.и-где.и-гдје.сву-где.све-где.сву-гдје.све-гдје.по-не-где.по-не-гдје.и-зби.и-зба.и-збе.и-зби-ци.и-зби-ца.и-зби-це.и-звит.и-зим.изо-ба-ри.изо-ба-ру.изо-ба-ра.изо-ба-ре.и-скок.и-ско-ку.и-ско-ка.и-скон.и-ско-ни.и-ско-ну.и-ско-на.и-скри.и-скру.и-скра.и-скре.и-скрав.и-спод.и-спо-да.и-стри.и-стро.и-стру.и-стра.и-стре.на-ји.на-јо.на-ју.на-ја.на-је.на-јам.на-јест.о-браз.о-брет.о-дви-ка.о-дран.о-дра-ти.пре-двој.ра-зми.ра-змо.ра-зму.ра-зма.ра-зме.ра-зни.ра-зно.ра-зну.ра-зна.ра-зне.ра-склоп.ра-спе-ло.ра-спе-лу.ра-спе-ла.ра-спе-ћу.ра-спе-ћа.ра-спе-ће.ра-сти.ра-сту.ра-ста.ра-сте.ра-стом.ра-стер.ра-шћи.ра-шћо.ра-шћу.ра-шћа.ра-шће.у-зни.у-зно.у-зна.у-зник.у-зрок.у-ски.у-ско.у-ску.у-ска.у-ске.ус-кос.у-спио.у-спео.у-спор.у-шћу.у-шћа.у-шће.ин-те-рес.тран-су.тран-са.тран-сом".split(".")]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/4822.adapter.js b/public/tools/cloud_sheets/vendor/univer/4822.adapter.js new file mode 100644 index 0000000..576a4fb --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/4822.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[4822],{4822(a,e,o){o.r(e),o.d(e,{Ia:()=>s});const s=["002,004,001,01,021,034,04,1,00003,043,003,3,012,00004,21,03,0043,02,12,212,43,2,0032,0002,0003,00034,0034,4,101,011,0001,0004,00043,0334,403,32,0012,201",'{".":[{"c":[{"h":0}],"d":[{"e":[{"s":1}]}],"i":[{"n":2}],"s":[{"e":[{"i":1}]}]}],"a":[{"a":3,"b":[{"l":[{"o":5},4]},3],"c":[{"a":3,"e":3,"h":[{"r":6},3],"o":3,"r":3,"u":3}],"d":[{"m":7,"v":7},3],"e":[{"l":3,"r":[{"o":8}]},2],"g":[{"e":[{"d":9}],"g":7},3],"h":3,"i":[{"c":3,"s":3,"v":3}],"j":3,"k":3,"l":[{"a":3,"e":[{"i":10},3],"o":3,"u":3}],"m":3,"n":[{"i":[{"m":11}],"s":[{"p":1}]}],"o":3,"p":3,"q":3,"r":[{"a":3,"i":3,"o":3,"u":3,"y":3}],"s":[{"h":12,"t":[{"h":11}]}],"t":[{"y":[{"r":13}]},3],"v":3,"w":3,"z":3}],"b":[{"a":7,"b":[{"o":15},14],"c":3,"d":14,"e":7,"h":3,"i":[{"s":[{"a":16}]},7],"j":3,"l":[{"u":3,"y":17}],"m":3,"n":3,"o":7,"p":3,"r":18,"s":19,"t":3,"u":[{"e":2,"i":2},7],"v":3}],"c":[{"a":[{"i":2}],"c":14,"d":3,"e":[{"n":[{"n":20}]}],"h":[{"r":7,"s":21,"t":21,"u":7}],"i":7,"k":14,"l":18,"m":14,"o":[{"c":[{"l":1}],"p":22}],"q":3,"r":17,"s":12,"t":[{"r":[{"o":8}]},14],"u":[{"a":2,"e":2,"i":2}],"y":[{"n":[{"e":1}],"r":23},7],"z":3}],"d":[{"a":7,"d":14,"e":[{"r":[{"u":1}],"s":[{"e":24,"o":16,"u":1}]},7],"g":14,"h":[{"e":3}],"i":[{"a":[{"s":25}],"p":[{"t":26}],"s":[{"a":1,"e":16,"i":1,"o":1,"u":16}]}],"j":14,"m":14,"o":[{"l":[{"a":16}],"s":[{"m":20}]},7],"r":[{"o":[{"s":25}]},17],"u":[{"a":2,"e":2,"i":2}],"v":14,"y":[{"s":0}]}],"e":[{"a":[{"u":17},3],"b":3,"c":[{"a":3,"e":3,"h":[{"e":15,"i":15}],"o":3,"r":3,"u":3}],"d":3,"e":3,"f":[{"f":7},3],"g":3,"h":3,"i":3,"j":3,"k":3,"l":[{"a":3,"e":3,"o":[{"d":10,"m":9},3],"u":3}],"m":[{"a":[{"g":9}]},3],"n":[{"l":21,"o":[{"p":25}]}],"o":[{"g":22,"p":22},3],"q":3,"r":[{"a":3,"i":3,"o":[{"g":27,"p":25},3],"u":[{"r":10},3],"y":3}],"s":[{"e":[{"m":1}],"t":17,"u":[{"e":10}]}],"t":3,"u":[{"c":[{"e":1}],"n":3},2],"v":3,"w":3}],"f":[{"a":7,"f":14,"h":14,"i":7,"l":18,"o":7,"r":18,"t":3,"u":7}],"g":[{"a":7,"d":14,"e":[{"v":[{"i":20}]},7],"g":14,"i":[{"m":[{"a":20}]},7],"l":17,"m":14,"n":14,"o":7,"r":18,"s":19,"u":28,"y":[{"m":[{"n":8},23],"n":[{"a":1}],"r":[{"a":16}]}],"z":14}],"h":[{"e":[{"c":[{"t":8},23],"u":[{"r":10}]},17],"l":[{"o":[{"c":15}]}],"m":14,"n":3,"o":[{"g":22,"p":22,"r":[{"h":10}]}],"r":17,"s":3,"t":3}],"i":[{"a":[{"l":[{"a":16}]},3],"b":12,"c":3,"d":[{"o":[{"p":13},24]},3],"e":3,"f":3,"g":3,"h":3,"i":3,"k":3,"l":3,"m":[{"a":[{"d":6}],"b":7},3],"n":[{"f":7,"r":7,"s":23,"v":7}],"o":[{"g":22,"s":23,"x":0},29],"p":3,"q":3,"r":[{"a":3,"i":3,"o":[{"p":25},3],"u":[{"r":10}]}],"s":[{"a":[{"c":10,"s":10,"u":10}],"e":[{"q":10,"s":10}],"i":[{"l":10,"n":10}],"p":[{"h":5}]}],"t":3,"u":3,"v":3,"z":3}],"k":[{"a":[{"l":[{"e":1}]}],"e":2,"r":[{"a":30}]}],"l":[{"a":[{"l":[{"g":20}],"r":[{"c":20}]}],"b":3,"c":14,"d":14,"e":[{"c":[{"h":10}],"i":[{"d":1}]}],"f":14,"g":3,"h":14,"i":7,"k":14,"l":[{"u":[{"r":10}]},14],"m":[{"o":[{"d":9}]},14],"n":3,"o":[{"d":[{"o":15},21],"p":[{"i":27}]}],"p":14,"q":3,"s":19,"t":[{"u":[{"n":9}]},14],"u":[{"e":2,"i":2,"r":21}],"v":14,"y":[{"c":[{"h":10}]},7]}],"m":[{"a":7,"b":14,"c":3,"e":[{"c":[{"h":10}],"s":[{"e":16}]},7],"f":3,"i":[{"p":22,"s":[{"i":31}]},7],"j":3,"l":3,"m":[{"e":[{"n":32}]},14],"n":[{"a":[{"m":10,"s":10}],"o":[{"b":10,"p":10},30]},14],"o":[{"n":[{"y":20}],"p":22,"r":[{"r":10}],"s":[{"p":31,"t":26}]},7],"p":[{"s":15},14],"s":12,"u":7,"v":14,"y":[{"r":[{"r":1}]},7]}],"n":[{"a":[{"e":3,"l":[{"g":15}],"n":[{"i":15}],"p":12,"u":3},7],"b":3,"c":3,"d":14,"e":[{"q":3,"x":3},7],"f":3,"g":3,"h":3,"i":[{"q":3,"s":[{"p":10}],"t":17},7],"j":3,"l":3,"m":3,"n":12,"o":[{"b":[{"l":31}],"s":[{"p":33}],"x":3},7],"q":3,"r":3,"s":[{"i":[{"e":9,"r":6}],"l":17,"t":0},3],"t":[{"a":[{"h":9,"p":9}]},3],"u":[{"a":2,"e":2,"i":2},7],"v":3,"y":7,"z":3}],"o":[{"a":3,"b":[{"l":[{"o":10}],"s":7},3],"c":[{"l":[{"e":10}]},3],"d":3,"e":3,"f":3,"g":3,"h":3,"i":3,"j":3,"l":3,"m":[{"n":[{"a":1}]}],"n":[{"a":0,"o":[{"s":13},30],"s":23}],"o":3,"p":3,"q":3,"r":[{"a":3,"i":3,"o":3,"r":[{"h":1}],"u":3}],"s":[{"l":12,"p":[{"o":1}]}],"t":[{"a":[{"c":9}],"o":[{"s":25}]},3],"u":[{"g":3},2],"v":3,"y":2,"z":3}],"p":[{"a":[{"n":[{"s":24}]},7],"e":7,"h":7,"i":7,"l":[{"a":1,"o":[{"p":34}]},18],"n":[{"a":4,"e":17},3],"o":7,"p":[{"i":[{"a":9}]},14],"r":18,"s":[{"o":[{"d":9}],"y":35},14],"t":14,"u":[{"b":36,"e":37,"i":2},7],"y":[{"l":[{"o":1},30]}]}],"q":[{"u":[{"a":[{"n":31}]},0]}],"r":[{"a":[{"l":[{"g":20}],"q":21,"r":[{"c":20}]}],"b":3,"c":3,"d":14,"e":[{"c":[{"h":10}],"g":[{"i":8}],"n":[{"n":20}],"u":[{"t":10}]},7],"f":3,"g":14,"h":[{"i":7,"u":3,"y":[{"d":15}]}],"j":3,"l":3,"m":14,"n":3,"p":3,"q":3,"r":[{"a":[{"q":10}]},3],"s":12,"t":14,"u":[{"a":2,"e":2,"i":2}],"v":3,"w":3,"y":[{"s":[{"e":1}]}],"z":3}],"s":[{"a":[{"b":[{"u":15}],"c":[{"t":20}],"f":14,"g":[{"r":15}],"n":[{"n":15}],"p":14,"q":14,"r":[{"g":15,"m":15,"t":15}]},7],"b":14,"c":[{"l":[{"e":13}]},18],"d":3,"e":7,"f":14,"g":14,"h":3,"i":[{"g":[{"e":20}],"r":[{"o":15}]},7],"j":3,"k":7,"l":[{"a":[{"v":6}]},3],"m":14,"n":3,"o":[{"b":[{"e":15,"l":15},23],"c":[{"c":15}],"d":[{"o":15}],"r":[{"d":15,"g":15}],"s":[{"s":15}],"x":14},7],"p":[{"a":[{"i":31},21],"l":21,"o":21},3],"q":3,"r":3,"s":[{"a":15},19],"t":3,"u":[{"a":2,"b":[{"a":1,"r":1}],"e":2,"i":2,"n":14},7],"v":14,"y":7}],"t":[{"a":[{"l":[{"g":20}],"m":[{"b":20}],"r":[{"t":20}]}],"d":14,"e":[{"c":[{"o":20}]}],"f":14,"g":14,"h":[{"l":2,"m":21}],"i":[{"s":[{"p":26}]}],"l":3,"m":[{"o":30},14],"o":[{"s":[{"p":26}],"x":[{"y":20}]}],"p":14,"r":[{"o":[{"r":34}]},17],"s":14,"t":14,"u":[{"a":2,"e":2,"i":2,"s":[{"a":16}]}],"y":2,"z":14}],"u":[{"a":[{"n":[{"i":15}],"s":3,"v":3}],"b":[{"a":[{"l":10}],"l":2,"r":[{"o":10}]}],"c":[{"a":3,"e":[{"m":10},3],"h":3,"o":3,"r":3,"u":3}],"d":3,"e":[{"l":3}],"i":[{"b":3,"c":3}],"l":[{"a":3,"e":3,"o":3}],"o":29,"r":[{"a":3,"g":[{"o":11}],"i":3,"o":3,"u":3}],"s":[{"t":17}],"t":3,"u":3,"v":3}],"v":[{"a":[{"i":2}],"i":[{"r":[{"u":10}]}],"n":21,"r":17}],"w":[{"n":4}],"x":[{"a":3,"c":3,"e":3,"h":3,"i":3,"o":3,"p":3,"q":3,"s":12,"t":3,"u":[{"a":2},3],"y":[{"l":7},29]}],"y":[{"a":3,"b":3,"c":[{"a":2,"e":3,"h":30,"o":3,"t":[{"a":16}]}],"d":[{"r":30}],"e":3,"g":3,"h":3,"i":3,"l":[{"a":[{"c":15,"m":10}],"e":3,"o":3},21],"n":[{"a":[{"n":10}],"e":[{"g":10}]}],"o":3,"p":[{"o":[{"s":13},30]}],"r":[{"o":[{"s":13},30]},3],"s":[{"e":2}],"t":3,"u":3,"z":3}],"z":[{"e":2,"i":7,"u":28,"z":14}]}',["alc-un","alc-u-nis-si-me","alc-un-men-te","a-lic-un","a-lic-u-nis-si-me","a-lic-un-men-te","mos-lem","qualc-un","qualc-u-nis-si-me","qualc-un-men-te"]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/4859.adapter.js b/public/tools/cloud_sheets/vendor/univer/4859.adapter.js new file mode 100644 index 0000000..9d25b7a --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/4859.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[4859],{4859(z,r,c){c.r(r),c.d(r,{Pl:()=>s});const s=["008,08,0000023,00025,000002,000000032,0008,0223,023,004,005,003,000032,0000302,0032,0000000023,0023,0034,00002,000021,00008,00000032,000000302,000000203,000000000023,000023,000034,00000302,0000032,00343,0043,00542,00023,00034,000000000032,000000023,0232502,02121,021,0004,000000002,0000002,034,0452,00032,0000000002,000223,000304,0003043,0004052,000405,00003,0022,002,00302,00342,004322,00432,0045,00000005,00052,0005,000043,0003,000322,0003023,00000002,0000052,0000034,000022,000003,00043,000403,0000022,00000432,0000005,000000022,00000003002,0000000302,000000034,00000003402,00000003,00000003223,000000045,0000000452,00000004502,0000000032,00000000302,00000000002,022,03402,03,036,032,045,047,00322,00033,0002,0052,000302,00452,000202,000021002,00000023,003223,00403,0043423,004502,004032,0054,00030025,00041,00042,0000343,00003402,00003223,000045,0000452,0000454,00004502,00000034,0000030032,003432,004543,00022,00000021,0027,0000203,0000045,043,0432,0403,04,0043002,000002003,00323,00000004,00004,0043212,0000000203,0000403,01,02,12,21,2,201,32,3202,322,43,8,002302,0021,00232,00203,0023023,00021,000203,00001,00004003,025,00223,0025,000212,00201,00443,0001,0027000003,00402302,0023032,000201,002023,00221",'{".":[{"ć":[{"ć":0,"ł":0,"ń":0,"ś":0,"ź":0,"ż":0,"b":0,"c":0,"d":0,"f":0,"g":0,"h":0,"j":0,"k":0,"l":0,"m":0,"n":0,"p":0,"r":0,"s":0,"t":0,"v":0,"w":[{"i":[{"e":[{"r":[{"ć":2}]}]}]},0],"x":0,"z":0},1],"ł":[{"ć":0,"ł":0,"ń":0,"ś":0,"ź":0,"ż":0,"b":0,"c":0,"d":0,"f":0,"g":0,"h":0,"j":0,"k":0,"l":0,"m":0,"n":0,"p":0,"r":0,"s":0,"t":0,"v":0,"w":0,"x":0,"z":0},1],"ń":[{"ć":0,"ł":0,"ń":0,"ś":0,"ź":0,"ż":0,"b":0,"c":0,"d":0,"f":0,"g":0,"h":0,"j":0,"k":0,"l":0,"m":0,"n":0,"p":0,"r":0,"s":0,"t":0,"v":0,"w":0,"x":0,"z":0},1],"ś":[{"ć":0,"ł":0,"ń":0,"ś":0,"ź":0,"ż":0,"b":0,"c":0,"d":0,"f":0,"g":0,"h":0,"j":0,"k":0,"l":0,"m":0,"n":0,"p":0,"r":[{"ó":[{"d":[{"r":4},3]}]},0],"s":0,"t":0,"v":0,"w":[{"i":[{"a":[{"t":[{"ł":[{"o":[{"w":5}]}]}]}]}]},0],"x":0,"z":0},1],"ź":[{"ć":0,"ł":0,"ń":0,"ś":0,"ź":0,"ż":0,"b":0,"c":0,"d":[{"ź":6},0],"f":0,"g":0,"h":0,"j":0,"k":0,"l":0,"m":0,"n":0,"p":0,"r":0,"s":0,"t":0,"v":0,"w":0,"x":0,"z":0},1],"ż":[{"ć":0,"ł":0,"ń":0,"ś":0,"ź":0,"ż":0,"b":0,"c":0,"d":0,"f":0,"g":0,"h":0,"j":0,"k":0,"l":0,"m":0,"n":0,"p":0,"r":0,"s":0,"t":0,"v":0,"w":0,"x":0,"z":0},1],"a":[{"b":[{"s":[{"t":7}]}],"d":[{"a":[{"p":[{"t":10}]},9],"e":9,"i":[{"u":10},9],"o":[{"p":10,"r":10},9],"u":9,"y":9},8],"e":[{"r":[{"o":[{"a":4,"e":4,"i":4,"o":4,"u":4},11]}]}],"n":[{"t":[{"y":[{"a":4,"e":4,"i":4,"o":4,"u":4}]}]}],"r":[{"c":[{"y":[{"ł":12,"b":[{"z":13},12],"k":12,"m":12,"a":4,"e":4,"i":4,"o":4,"u":4}]}]}],"u":[{"g":14,"k":14,"t":[{"o":[{"c":[{"h":13}],"a":4,"e":4,"i":4,"o":4,"t":[{"r":[{"a":[{"n":[{"s":15}]}]}]}],"u":4}]},14]}]}],"b":[{"ć":0,"ł":0,"ń":0,"ś":0,"ź":0,"ż":0,"b":0,"c":0,"d":0,"e":[{"z":[{"a":[{"n":17}],"e":[{"c":17}],"i":[{"k":17}],"c":[{"h":4}],"m":18,"o":[{"b":[{"j":19}]},18],"w":18,"z":[{"w":4}]},16]}],"f":0,"g":0,"h":0,"j":0,"k":0,"l":0,"m":0,"n":0,"p":0,"r":[{"z":6},0],"s":0,"t":0,"v":0,"w":0,"x":0,"z":0},1],"c":[{"ć":0,"ł":0,"ń":0,"ś":0,"ź":0,"ż":0,"a":[{"ł":[{"o":[{"ś":12,"k":12}]}]}],"b":0,"c":0,"d":0,"f":0,"g":0,"h":[{"r":[{"z":20}]},0],"i":[{"e":[{"n":[{"k":[{"o":[{"w":21}]}]}],"p":[{"ł":[{"o":[{"k":[{"r":22}]}]}]}]}]}],"j":0,"k":0,"l":0,"m":0,"n":0,"p":0,"r":0,"s":0,"t":0,"v":0,"w":0,"x":0,"z":[{"a":[{"r":[{"n":[{"o":[{"k":21}]}]}]}],"k":6,"t":[{"e":[{"r":[{"e":[{"c":[{"h":[{"s":[{"e":[{"t":24}]}]},23]}]}],"o":[{"ś":21}]}]}]}],"w":[{"ó":[{"r":[{"ą":26,"ę":26,"a":26,"e":26,"o":26},25]}]}]},0]},1],"d":[{"ć":0,"ł":[{"u":[{"g":[{"o":[{"t":[{"r":27}],"w":28}]}]}]},0],"ń":0,"ś":0,"ź":0,"ż":0,"a":[{"l":[{"e":[{"k":[{"o":[{"w":21}]}]}]}]}],"b":0,"c":0,"d":0,"e":[{"z":[{"a":[{"b":[{"i":[{"l":29}]}],"w":[{"u":29}]},18],"e":[{"l":17,"r":17}],"y":17,"o":18},16]}],"f":0,"g":0,"h":0,"j":0,"k":0,"l":0,"m":0,"n":0,"o":[{"ć":14,"ł":[{"k":30},14],"ś":14,"ź":14,"ż":14,"b":[{"r":[{"z":4},18]},14],"c":[{"h":18,"z":18},14],"d":[{"ź":18,"ż":18,"z":18},14],"f":14,"g":[{"r":[{"z":4}]},14],"h":14,"k":[{"t":30},14],"l":[{"n":30},14],"m":[{"k":[{"n":31},30]},14],"p":[{"c":[{"h":4}],"r":[{"z":4}]},14],"r":[{"s":30,"ż":18,"z":18},14],"s":[{"c":[{"h":4}],"m":18,"z":18},14],"t":[{"k":18,"r":18},14],"w":[{"c":30},14],"z":14}],"p":0,"r":[{"o":[{"g":[{"o":[{"w":28}]}]}],"z":6},0],"s":0,"t":0,"v":0,"w":[{"ó":[{"j":[{"ą":33,"ę":33,"a":33,"e":33,"o":33},32]}]},0],"x":0,"y":[{"s":[{"e":17,"o":17,"t":[{"a":17}],"y":17,"z":11},16],"z":[{"e":17,"u":18},16]}],"z":[{"i":[{"e":[{"s":[{"i":[{"ę":[{"c":[{"i":[{"o":[{"ś":34}]}]}]}]}]}],"w":[{"i":[{"ę":[{"ć":[{"s":[{"e":[{"t":24}]}]},35],"c":[{"i":[{"o":[{"ś":34}]}]}]}]}]}]}]}]},0]},1],"e":[{"k":[{"s":[{"y":39},7]}],"m":[{"e":[{"s":[{"z":[{"e":[{"t":36}]}]}]}]}],"s":[{"e":[{"s":[{"m":[{"a":37}]}]}],"h":[{"a":38}],"t":38}],"g":[{"o":[{"a":18,"e":18,"i":18,"o":18,"u":18}]}],"l":[{"e":[{"k":[{"t":[{"r":[{"o":[{"a":40,"e":40,"i":40,"o":40,"u":40}]}]}]}]}]}]}],"f":[{"ć":0,"ł":0,"ń":0,"ś":0,"ź":0,"ż":0,"b":0,"c":0,"d":0,"f":0,"g":0,"h":0,"j":0,"k":0,"l":0,"m":0,"n":0,"p":0,"r":0,"s":0,"t":0,"v":0,"w":0,"x":0,"z":0},1],"g":[{"ć":0,"ł":0,"ń":0,"ś":0,"ź":0,"ż":0,"b":0,"c":0,"d":0,"e":[{"o":16}],"f":0,"g":0,"h":0,"j":0,"k":0,"l":0,"m":0,"n":0,"o":[{"u":16}],"p":0,"r":[{"u":[{"b":[{"o":[{"w":28}]}]}],"z":6},0],"s":0,"t":0,"v":0,"w":0,"x":0,"z":0},1],"h":[{"ć":0,"ł":0,"ń":0,"ś":0,"ź":0,"ż":0,"b":0,"c":0,"d":0,"f":0,"g":0,"h":0,"i":[{"p":[{"e":[{"r":[{"o":26,"a":41,"e":41},25]}]}]}],"j":0,"k":0,"l":0,"m":0,"n":0,"p":0,"r":0,"s":0,"t":0,"v":0,"w":0,"x":0,"z":0},1],"i":[{"n":[{"i":[{"c":42}],"o":[{"k":43,"w":44},42],"u":42,"f":[{"l":[{"a":[{"n":30}]}]}]},8],"s":[{"l":8}],"z":[{"o":[{"a":18,"e":18,"i":18,"o":18,"u":18}]}]}],"j":[{"ć":0,"ł":0,"ń":0,"ś":0,"ź":0,"ż":0,"a":[{"d":[{"ł":[{"o":[{"w":28}]}]}]}],"b":0,"c":0,"d":0,"f":0,"g":0,"h":0,"j":0,"k":0,"l":0,"m":0,"n":0,"p":0,"r":0,"s":0,"t":0,"v":0,"w":0,"x":0,"z":0},1],"k":[{"ć":0,"ł":0,"ń":0,"ś":0,"ź":0,"ż":0,"b":0,"c":0,"d":0,"f":0,"g":0,"h":0,"i":[{"l":[{"k":[{"u":[{"s":[{"e":[{"t":[{"o":45},35]}]}]}]}]}]}],"j":0,"k":0,"l":0,"m":0,"n":0,"o":[{"ł":[{"o":[{"w":12}]}],"n":[{"t":[{"r":[{"a":[{"g":[{"i":49}],"s":[{"e":49,"y":49}],"t":[{"a":49}],"d":[{"m":50}],"k":[{"c":50}],"l":[{"t":50}],"r":[{"g":50}]},47],"e":47,"o":[{"l":48,"w":48},41],"y":47,"u":41},46]}]}]}],"p":0,"r":[{"ó":[{"t":[{"k":[{"o":[{"t":[{"r":22}],"w":21}]}]}]}],"o":[{"ć":32}],"z":6},0],"s":0,"t":0,"v":0,"w":0,"x":0,"z":0},1],"l":[{"ć":0,"ł":0,"ń":0,"ś":0,"ź":0,"ż":0,"b":0,"c":0,"d":0,"f":0,"g":0,"h":0,"j":0,"k":0,"l":0,"m":0,"n":0,"p":0,"r":0,"s":0,"t":0,"u":[{"d":[{"o":[{"w":12}]}]}],"v":0,"w":0,"x":0,"z":0},1],"m":[{"ć":0,"ł":0,"ń":0,"ś":0,"ź":0,"ż":0,"b":0,"c":0,"d":0,"f":0,"g":0,"h":0,"i":[{"l":[{"i":[{"a":[{"m":[{"p":51}]}]}]}]}],"j":0,"k":0,"l":0,"m":0,"n":0,"o":[{"ż":[{"n":[{"o":[{"w":28}]}]}]}],"p":0,"r":0,"s":0,"t":0,"v":0,"w":0,"x":0,"z":0},1],"n":[{"ć":0,"ł":0,"ń":0,"ś":0,"ź":0,"ż":0,"a":[{"d":[{"ą":11,"ę":11,"ź":54,"ł":[{"u":[{"b":17}]},44],"i":[{"r":17},44],"m":[{"u":[{"c":[{"h":17}]}]},44],"r":[{"ę":[{"c":[{"z":17}]}],"w":55,"e":[{"p":[{"c":[{"z":17}],"t":17}]}],"u":[{"k":17}],"z":[{"ą":58,"ę":58,"e":[{"c":[{"z":58}]}],"y":58},17]},44],"w":[{"o":[{"r":[{"n":17}]}]},44],"a":[{"j":11}],"e":[{"t":[{"a":[{"t":44}]},12],"ć":12,"ł":12,"ś":12,"ź":12,"ż":12,"b":12,"c":[{"h":41,"z":41},12],"d":[{"ź":41,"ż":41,"z":41},12],"f":12,"g":12,"h":12,"k":12,"l":12,"m":12,"p":[{"c":62,"n":62,"t":62},12],"r":[{"ż":41,"z":41},12],"s":[{"z":41},12],"w":12,"z":12},11],"o":[{"b":[{"ł":56,"o":[{"j":[{"c":[{"z":57}]}],"w":[{"i":57}]}],"r":[{"o":[{"t":57}]}]}],"d":[{"r":[{"z":57}]}],"k":[{"i":[{"e":[{"n":57}]}]}],"l":[{"b":[{"r":[{"z":30}]}]}]},11],"y":11,"z":[{"i":[{"e":[{"m":58}]},11],"ó":61,"m":[{"y":[{"s":60}]}],"o":61,"w":[{"y":[{"c":[{"z":61}]}]}]},18],"ś":[{"r":[{"o":[{"d":[{"z":[{"i":[{"e":[{"m":59}]}]}]}]}]}]},44],"ć":44,"b":44,"c":[{"h":4,"z":4},44],"d":[{"ź":4},44],"f":44,"g":44,"h":44,"j":44,"k":44,"l":44,"n":44,"p":44,"s":[{"z":4},44],"t":[{"r":4},44],"u":44,"ż":60},52],"j":[{"ą":11,"ę":11,"a":[{"z":[{"d":11}],"k":[{"t":63}],"u":63}],"e":[{"f":57,"g":57,"k":[{"s":56,"o":57}],"n":57,"r":57,"s":57,"w":57,"m":[{"f":30}],"u":30},11],"ć":44,"ł":44,"ś":44,"ź":44,"ż":44,"b":[{"e":[{"z":[{"w":66},2]}]},44],"c":[{"h":4,"z":4},44],"d":[{"ź":4,"ż":4,"o":[{"ć":28,"ł":28,"ś":28,"ź":28,"ż":28,"b":28,"c":[{"h":66,"z":66},28],"d":[{"ź":66,"ż":66,"z":66},28],"f":28,"g":28,"h":28,"k":28,"l":28,"m":28,"p":28,"r":[{"z":66},28],"s":[{"z":66},28],"t":[{"k":66},28],"w":28,"z":28}],"z":4},44],"f":44,"g":44,"h":44,"i":44,"k":[{"r":4},44],"l":44,"m":44,"o":[{"ć":64,"ł":64,"ś":64,"ź":64,"ż":64,"b":[{"ć":28,"ł":28,"ś":28,"ź":28,"ż":28,"c":[{"h":66,"z":66},28],"d":[{"ź":66,"ż":66,"z":66},28],"f":28,"g":28,"h":28,"j":28,"k":28,"l":28,"m":28,"n":28,"p":28,"s":[{"z":66},28],"t":28,"w":28,"r":[{"z":66}]},64],"c":[{"h":41,"z":41},64],"d":[{"ź":41,"ć":28,"ś":28,"c":[{"h":66,"z":66},28],"d":[{"ź":66,"ż":66,"z":66},28],"f":28,"g":28,"h":28,"j":28,"k":28,"l":28,"m":28,"n":28,"p":28,"s":[{"z":66},28],"t":28,"w":28,"ż":67,"z":41},64],"f":64,"g":64,"h":64,"k":64,"l":64,"m":64,"p":64,"r":[{"z":41},64],"s":[{"z":41},64],"t":64,"w":64,"z":64},44],"p":44,"r":[{"o":[{"z":[{"u":68},65]}],"z":4},44],"s":[{"m":4,"z":4},44],"t":[{"k":4,"r":4},44],"u":[{"c":[{"z":41}]},44],"w":44,"z":[{"w":4},44]},53],"ć":14,"ł":14,"ś":14,"ź":14,"ż":14,"b":[{"r":[{"z":4}]},14],"c":[{"h":18,"z":18},14],"f":[{"c":30,"t":30},14],"g":[{"r":[{"z":4}]},14],"h":14,"k":[{"r":18},14],"l":14,"m":14,"p":[{"o":[{"d":[{"ź":41,"ż":41,"d":70},69],"ć":12,"ł":12,"ś":12,"ź":12,"ż":12,"b":12,"c":[{"h":41,"z":41},12],"f":12,"g":12,"h":12,"k":12,"l":12,"m":[{"p":62,"k":41},12],"p":12,"r":[{"z":41},12],"s":[{"z":41},12],"t":12,"w":12,"z":12}],"r":[{"z":4}]},14],"r":[{"c":30,"d":30,"k":30,"r":30,"t":30,"ż":18,"o":[{"z":25}],"z":18},14],"s":[{"m":18,"z":18},14],"t":[{"c":[{"h":4}],"k":18},14],"u":14,"w":14,"z":[{"m":44,"w":18},14]}],"b":0,"c":0,"d":0,"e":[{"o":16}],"f":0,"g":0,"h":0,"i":[{"e":[{"ć":44,"ł":44,"ś":44,"ź":44,"ż":44,"b":44,"c":[{"c":71,"k":71,"h":4,"z":4},44],"d":[{"ź":72,"ż":4,"o":[{"ć":28,"ł":28,"ś":28,"ź":28,"ż":28,"b":[{"r":[{"z":40}]},28],"c":[{"h":66,"z":66},28],"d":[{"ź":66,"ż":66,"z":66},28],"f":28,"g":28,"h":28,"k":[{"r":66},28],"l":28,"m":[{"k":66},28],"p":[{"c":[{"h":40}]},28],"r":[{"z":66},28],"s":[{"z":66},28],"t":[{"k":66},28],"w":28,"z":28}],"z":4},44],"f":44,"g":44,"h":44,"k":44,"l":44,"m":[{"c":71,"k":71},44],"p":[{"o":[{"d":[{"ź":27,"ł":[{"u":68},21],"m":[{"u":[{"c":[{"h":68}]}]},21],"r":[{"ę":[{"c":[{"z":68}]}],"a":[{"ż":68,"p":68}],"e":[{"p":[{"c":[{"z":68}],"t":68}]}]},21],"w":[{"a":[{"j":68}],"o":[{"j":68}]},21],"o":[{"c":[{"h":[{"o":[{"c":74}]}]}],"s":[{"t":[{"r":[{"z":74}]}]}]},70],"u":70,"z":27,"ć":21,"ś":21,"b":21,"c":[{"h":40,"z":40},21],"d":[{"ź":40,"ż":40},21],"f":21,"g":21,"h":21,"j":21,"k":21,"l":21,"n":21,"p":21,"s":[{"m":40,"z":40},21],"t":21,"ż":75},73],"ć":28,"ł":28,"ś":28,"ź":28,"ż":28,"b":28,"c":[{"h":66,"z":66},28],"f":28,"g":28,"h":28,"k":28,"l":28,"m":28,"p":28,"r":[{"z":66},28],"s":[{"m":66,"z":66},28],"t":28,"w":28,"z":28}],"r":[{"z":[{"e":[{"ł":[{"k":45},5],"d":[{"ź":78,"ł":[{"u":[{"ż":[{"y":[{"c":83}]},79]}]},86],"m":[{"u":[{"c":[{"h":79}]}]},86],"r":[{"a":[{"m":[{"a":[{"t":79}]}]}],"u":[{"k":79}],"y":[{"l":79}],"z":80},86],"u":[{"m":79},86],"y":81,"z":[{"a":84,"g":85,"i":[{"m":83}],"j":83,"l":83,"w":[{"r":85,"o":[{"j":83}]}]},78],"ż":84,"ć":86,"ś":86,"c":[{"h":88,"z":88},86],"d":[{"ź":88,"ż":88,"z":88},86],"f":86,"g":86,"h":86,"i":86,"j":86,"k":86,"l":86,"n":86,"p":86,"s":[{"z":87},86],"t":86,"w":86},76],"ć":5,"ś":5,"ź":5,"ż":5,"b":[{"r":[{"z":77}]},5],"c":[{"h":45,"z":45},5],"e":[{"k":[{"s":82}]}],"f":5,"g":[{"r":[{"z":88}]},5],"h":5,"k":[{"l":45,"r":45},5],"l":5,"m":5,"n":5,"p":[{"c":[{"h":88}]},5],"r":[{"ż":45,"z":45},5],"s":[{"c":[{"h":88}],"m":45,"z":45},5],"t":[{"k":45,"r":45},5],"w":5,"z":5}]}]}]},44],"r":[{"o":[{"z":[{"e":[{"r":5},68],"u":68,"ś":66,"b":[{"r":[{"z":45}]}],"m":66,"t":[{"r":40}]},2]}],"z":4},44],"s":[{"u":[{"b":[{"i":[{"e":68}]},2]}],"z":4},44],"t":[{"k":4,"r":4},44],"u":[{"c":[{"z":41}],"w":4},44],"w":[{"y":[{"ć":28,"ł":28,"ś":28,"ź":28,"ż":28,"b":[{"r":[{"z":40}]},28],"c":[{"h":66,"z":66},28],"d":[{"ź":66,"ż":66,"z":66},28],"f":28,"g":28,"h":28,"k":28,"l":28,"m":28,"p":28,"r":[{"z":66},28],"s":[{"z":66},28],"t":[{"k":66,"r":66},28],"w":28,"z":28}]},44],"z":[{"w":4},44],"o":[{"ć":4,"ł":4,"ś":4,"ź":4,"ż":4,"b":[{"ć":28,"ś":28,"ź":28,"ż":28,"c":[{"h":66,"z":66},28],"d":[{"ź":66,"ż":66,"z":66},28],"f":28,"g":28,"h":28,"j":28,"k":28,"m":28,"p":28,"s":[{"z":66},28],"w":28},4],"c":[{"h":41,"z":41},4],"d":[{"ź":41,"ć":28,"ł":28,"ś":28,"c":[{"h":66,"z":66},28],"d":[{"ź":66,"ż":66,"z":66},28],"f":28,"g":28,"h":28,"j":28,"k":28,"l":28,"n":28,"p":28,"s":[{"z":66},28],"t":28,"w":[{"r":70},41],"ż":67,"z":41},4],"f":4,"g":4,"h":4,"k":4,"l":4,"m":4,"p":4,"r":[{"z":41},4],"s":[{"z":41},4],"t":4,"w":4,"z":4},18]}]}],"j":0,"k":0,"l":0,"m":0,"n":0,"p":0,"r":0,"s":0,"t":0,"v":0,"w":0,"x":0,"z":0},1],"o":[{"ć":53,"ś":[{"m":[{"i":[{"o":[{"ś":28}]}]}]},53],"ź":53,"ż":53,"b":[{"ł":[{"ą":42,"ę":42,"o":[{"c":[{"z":94},42]}]},14],"l":[{"u":[{"z":[{"g":42}]}]},14],"r":[{"a":[{"ć":42,"s":[{"o":42}]}],"o":[{"ń":42,"n":42}],"y":[{"ź":42,"z":42}],"z":[{"ą":94,"ę":[{"d":94}],"e":[{"z":94}],"u":[{"c":94,"t":94}],"y":[{"n":94}]},90]},11],"e":[{"ć":44,"ł":44,"ś":44,"ź":44,"ż":44,"b":44,"c":[{"n":71,"h":4,"z":4},44],"d":[{"ź":4,"ż":4,"z":4},44],"f":44,"g":44,"h":44,"k":44,"l":44,"m":44,"p":44,"r":[{"t":97,"ż":4,"m":51,"z":4},44],"s":[{"c":[{"h":41}],"z":4},44],"t":[{"k":4},44],"w":44,"z":[{"w":71},44]},91],"i":[{"b":44},91],"ć":14,"ś":14,"ź":14,"ż":14,"c":[{"h":18,"z":18},14],"d":[{"ź":18,"ż":18,"z":18},14],"f":14,"g":14,"h":14,"j":14,"k":14,"m":14,"n":14,"o":[{"s":[{"t":[{"r":[{"z":14}]}]}]}],"p":14,"s":[{"z":18},14],"t":14,"u":[{"m":96}],"w":14},89],"d":[{"i":[{"u":42,"z":[{"o":14}]},14],"r":[{"ę":[{"t":42}],"a":[{"p":42}],"o":[{"b":[{"i":[{"n":42}]}]}],"u":[{"t":42}],"w":[{"i":42}],"z":[{"e":[{"ć":42}],"w":42},18]},14],"z":[{"i":[{"a":[{"r":95},92],"e":[{"m":95},92]}]},99],"e":[{"ć":44,"ł":44,"ś":44,"ź":44,"ż":44,"b":44,"c":[{"h":4,"z":4},44],"d":[{"ź":4,"ż":4,"z":4},44],"f":44,"g":44,"h":44,"k":44,"l":44,"m":[{"k":100},44],"p":[{"c":[{"h":41}]},44],"r":[{"ż":4,"z":4},44],"s":[{"z":4},44],"t":[{"c":[{"h":41}],"k":4},44],"w":44,"z":44},91],"ź":98,"ć":14,"ś":14,"a":[{"u":11}],"b":[{"e":[{"z":25}]},14],"c":[{"h":18,"z":18},14],"d":[{"ź":18,"ż":18,"z":18},14],"f":14,"g":14,"h":14,"j":14,"k":[{"r":[{"z":4}]},14],"l":14,"m":14,"n":14,"o":[{"s":14}],"p":14,"s":[{"z":18},14],"t":14,"u":[{"c":[{"z":14}],"m":96}],"w":14,"ż":99},89],"t":[{"c":[{"h":[{"ł":8}]}]},53],"l":[{"ś":[{"n":93}],"e":[{"o":32}]}],"a":[{"z":11}],"c":[{"h":[{"r":[{"z":4}]},98],"z":98},53],"f":53,"g":[{"ó":[{"l":[{"n":[{"o":[{"k":21}]}]}]}],"n":[{"i":[{"o":[{"t":[{"r":27}]}]}]}]},53],"h":53,"k":[{"a":[{"m":44}],"r":98},53],"m":53,"p":[{"c":[{"h":18}]},53],"r":[{"ż":52,"t":[{"ę":53}],"z":52}],"s":[{"i":[{"e":[{"m":[{"s":[{"e":[{"t":35}]}]},25]}]}],"z":98},53],"w":53,"z":53}],"p":[{"ć":0,"ł":[{"a":[{"s":[{"k":[{"o":[{"w":21}]}]}]}]},0],"ń":0,"ó":[{"ł":[{"k":[{"r":4},18],"m":18,"o":[{"b":[{"r":70}],"m":[{"d":4}]},18],"p":[{"r":[{"z":[{"y":[{"m":[{"k":5}]}]}]}]}],"ą":17,"ę":17,"e":[{"c":[{"z":17}]}],"y":17},16]}],"ś":0,"ź":0,"ż":0,"b":0,"c":[{"h":6},0],"d":0,"e":[{"ł":[{"n":[{"o":[{"k":[{"r":27}]}]}]}],"r":[{"e":17,"i":[{"n":101},17],"o":17,"u":17,"y":17},16],"c":[{"k":14}],"e":[{"s":[{"e":[{"l":102}]}]}],"p":[{"e":[{"e":[{"r":4,"s":4}]}]}],"z":[{"e":[{"t":[{"p":[{"e":[{"e":[{"r":103}]}]}]}]}]}]}],"f":0,"g":0,"h":0,"i":[{"ę":[{"ć":[{"s":[{"e":[{"t":104}]}]},32],"c":[{"i":[{"o":[{"ś":21}]}]}]}],"e":[{"r":[{"w":[{"o":[{"w":21}]}]}]}],"o":[{"n":[{"o":[{"w":28}]}]}]}],"j":0,"k":0,"l":0,"m":0,"n":0,"o":[{"ł":[{"k":18},14],"d":[{"ą":11,"ę":11,"ź":54,"ł":[{"u":17},44],"m":[{"u":[{"c":[{"h":17}]}]},44],"n":[{"a":[{"w":17}]},44],"r":[{"ę":[{"c":[{"z":[{"n":58},17]}],"t":[{"w":17}]}],"ó":[{"ż":17}],"w":[{"i":55}],"a":[{"ż":17,"p":17}],"e":[{"p":[{"c":[{"z":17}],"t":17}]}],"o":[{"ż":17,"b":[{"ó":17,"a":17,"o":17,"y":17}],"c":[{"z":17}],"z":2}],"u":[{"z":[{"g":17}]}],"y":[{"g":17}],"z":[{"e":17}]},44],"w":[{"ó":[{"j":[{"n":17}],"r":17}],"a":[{"j":17}],"o":[{"i":17,"j":17,"r":[{"z":17}]}]},44],"a":[{"l":[{"p":63}]},11],"e":[{"j":11,"k":[{"s":107},12],"ć":12,"ł":12,"ś":12,"ź":12,"ż":12,"b":12,"c":[{"h":41,"z":41},12],"d":[{"ź":41,"ż":41,"z":41},12],"f":12,"g":12,"h":12,"l":12,"m":12,"p":[{"c":[{"h":66}]},12],"r":[{"ż":41,"z":41},12],"s":[{"c":[{"h":66}],"z":41},12],"t":[{"k":13},12],"w":12,"z":12},11],"i":[{"u":11,"n":44}],"o":[{"b":[{"ó":[{"z":57}],"i":[{"a":[{"d":57}]}],"o":[{"j":[{"c":[{"z":57}]}]}],"r":[{"a":[{"z":57}]}],"s":[{"z":30}]}],"c":[{"h":[{"o":[{"c":57}]}]}],"d":[{"m":57,"d":30}],"f":57,"g":57,"k":[{"i":[{"e":[{"n":57}]}],"n":57,"r":[{"ę":[{"g":57}],"e":[{"s":57}]}]}],"p":[{"i":[{"e":[{"c":[{"z":57}]}]}]}],"r":[{"y":[{"w":57}]}],"s":[{"i":[{"n":[{"i":[{"a":[{"k":57}]}]}]}],"t":[{"r":[{"z":57}]}]}],"l":[{"b":[{"r":[{"z":30}]}]}]},11],"u":[{"c":[{"z":57}],"d":[{"z":57}],"p":[{"a":57}],"r":[{"a":[{"l":57}]}],"s":[{"t":[{"a":57}],"z":[{"c":[{"z":[{"y":[{"n":110}]},57]}]}]}]},11],"y":11,"z":[{"a":[{"k":[{"r":58}],"m":58,"s":[{"t":58}]}],"b":[{"i":58}],"e":58,"i":[{"e":[{"l":[{"e":[{"n":[{"i":[{"ą":58,"ć":58,"ę":58,"ł":58,"c":58,"e":[{"n":58}],"l":58,"m":58,"o":58,"s":58}]}]}]}],"m":58}],"o":[{"m":58}]}],"w":[{"r":108}]},54],"ó":[{"w":30}],"ć":44,"ś":[{"r":[{"ó":[{"d":111}]}]},44],"b":44,"c":[{"h":4,"z":4},44],"d":[{"ź":4,"ż":4},44],"f":44,"g":44,"h":44,"j":44,"k":44,"l":44,"p":44,"s":[{"m":4,"z":4},44],"t":44,"ż":60},52],"ć":14,"ś":14,"ź":14,"ż":14,"b":[{"r":[{"z":4},18]},14],"c":[{"z":[{"d":106,"t":106},18],"h":[{"r":[{"z":41}]},18]},14],"e":[{"k":[{"s":105}]}],"f":14,"g":[{"r":[{"z":4}]},14],"h":14,"k":[{"l":18,"r":18},14],"l":[{"s":30},14],"m":[{"p":[{"k":39},30],"k":18},14],"p":[{"c":[{"h":4}],"o":[{"w":12}],"r":[{"z":4}]},14],"r":[{"ż":11,"c":30,"f":30,"n":30,"t":[{"ę":110,"w":112,"f":39,"m":39},30],"o":[{"z":[{"u":26},25]}],"z":18},14],"s":[{"t":[{"d":106,"f":106,"g":106,"h":106,"i":109,"k":106,"l":106,"m":106,"p":106,"r":[{"o":[{"m":106}]}],"s":106}],"c":[{"h":4}],"m":18,"z":18},14],"t":[{"k":18,"r":18},14],"w":14,"z":[{"m":113,"a":[{"u":12}],"w":18},14],"ń":[{"c":30}],"n":[{"a":[{"d":[{"ź":13,"o":51,"ć":28,"ś":28,"c":[{"h":27,"z":27},28],"d":[{"ź":27}],"f":28,"g":28,"h":28,"j":28,"k":28,"l":28,"p":28,"s":28,"t":28,"z":41},69],"ć":12,"ł":12,"ś":12,"ź":12,"ż":12,"b":[{"r":[{"z":66}]},12],"c":[{"z":13,"h":41},12],"f":[{"t":62},12],"g":12,"h":12,"k":12,"l":12,"m":12,"p":12,"r":[{"z":41},12],"s":[{"m":41,"z":41},12],"t":12,"w":12,"z":[{"m":28,"w":41},12]}],"i":[{"e":[{"k":28,"w":28}]}]}]}],"p":0,"r":[{"a":[{"s":44,"w":[{"n":[{"u":44}],"z":44}],"p":[{"r":[{"a":[{"w":[{"n":[{"u":21}]}]}]}]}]}],"e":[{"d":[{"y":[{"s":[{"p":[{"o":2}]}]}]}]}],"z":[{"e":[{"ł":[{"k":41},12],"d":[{"ą":51,"ę":51,"ź":13,"ł":[{"u":[{"ż":[{"y":[{"c":117}]},26]}]},28],"m":[{"u":[{"c":[{"h":26}]}]},28],"o":[{"b":[{"r":114}],"s":[{"t":[{"a":[{"t":119}]},114]}],"z":[{"o":114}]},28],"r":[{"a":[{"m":[{"a":[{"t":26}]}]}],"u":[{"k":26}],"y":[{"l":26}],"z":115},28],"u":[{"m":26},28],"y":[{"s":[{"k":[{"u":104}]}]},51],"z":[{"a":117,"g":120,"i":[{"m":117}],"j":117,"l":117,"w":[{"r":120,"o":[{"j":117}]}]},13],"ż":118,"ć":28,"ś":28,"a":[{"g":[{"o":[{"n":28}]}],"k":[{"c":28}],"l":[{"p":70}]}],"b":28,"c":[{"h":66,"z":66},28],"d":[{"ź":66,"ż":66,"z":66},28],"e":[{"g":[{"z":28}],"m":[{"e":[{"r":28}]}]}],"f":28,"g":[{"r":[{"z":40}]},28],"h":28,"i":28,"j":28,"k":28,"l":28,"n":28,"p":28,"s":[{"i":[{"ę":[{"w":122}]}],"z":27},28],"t":28,"w":28},69],"ć":12,"ś":12,"ź":12,"ż":12,"b":[{"r":[{"z":66},41]},12],"c":[{"h":[{"r":[{"z":40}]},41],"i":[{"w":[{"i":[{"e":121}],"a":40,"w":40},104]}],"z":41},12],"e":[{"k":[{"s":116}]}],"f":12,"g":[{"r":[{"z":66}]},12],"h":12,"k":[{"l":41,"r":41},12],"l":12,"m":[{"k":41},12],"n":12,"p":[{"c":[{"h":66}]},12],"r":[{"ż":41,"z":41},12],"s":[{"c":[{"h":66}],"m":41,"z":41},12],"t":[{"k":41,"r":[{"a":[{"n":[{"s":15}]}]},41]},12],"u":12,"w":12,"z":12}],"y":[{"ć":12,"ł":12,"ś":12,"ź":12,"ż":12,"b":[{"r":41},12],"c":[{"h":41,"z":41},12],"d":[{"ź":41,"ż":41,"z":41},12],"f":12,"g":[{"r":[{"z":66}]},12],"h":12,"k":12,"l":12,"m":[{"k":41},12],"p":[{"c":[{"h":66}]},12],"r":[{"ż":41,"z":41},12],"s":[{"c":[{"h":66}],"z":41},12],"t":[{"k":41},12],"w":12,"z":12,"o":[{"z":41}]}]},6]},0],"s":0,"t":0,"v":0,"w":0,"x":0,"z":0},1],"r":[{"ć":0,"ł":0,"ń":0,"ś":0,"ź":0,"ż":0,"b":0,"c":0,"d":0,"e":[{"t":[{"r":[{"a":[{"n":[{"s":104}]}]}]}]}],"f":0,"g":0,"h":0,"j":0,"k":0,"l":0,"m":0,"n":0,"o":[{"z":[{"a":[{"g":[{"i":101}],"n":[{"i":[{"e":101}]}]},17],"e":[{"ć":123,"ł":123,"ś":123,"ź":123,"ż":123,"b":123,"c":[{"h":41,"z":41},123],"d":[{"ź":41,"ż":41,"z":41},123],"f":123,"g":[{"z":124},123],"h":123,"k":123,"l":123,"m":[{"o":101},123],"p":[{"c":[{"h":66}]},123],"r":[{"ż":41,"z":41},123],"s":[{"c":[{"h":66}],"z":41},123],"t":123,"w":123,"z":123,"j":17,"n":[{"t":124}]},17],"u":17,"ś":18,"b":[{"r":[{"z":41}]}],"d":18,"i":18,"m":18,"o":18,"p":[{"o":[{"w":28}]}],"t":[{"r":4},18],"w":18},16]}],"p":0,"r":0,"s":0,"t":0,"v":0,"w":0,"x":0,"z":0},1],"s":[{"ć":0,"ł":0,"ń":0,"ś":0,"ź":0,"ż":0,"a":[{"m":[{"o":[{"c":[{"h":13}],"k":12,"p":12,"w":12,"r":[{"o":[{"z":104}]}]}]}]}],"b":0,"c":[{"h":6},0],"d":0,"f":0,"g":0,"h":0,"i":[{"e":[{"d":[{"e":[{"m":[{"s":[{"e":[{"t":15}]}]},2]}],"m":[{"i":[{"o":[{"ś":5}]}]}]}]}]}],"j":0,"k":[{"ą":[{"d":[{"ż":[{"e":3}]}]}],"l":6,"r":6},0],"l":0,"m":0,"n":0,"o":[{"b":[{"o":[{"w":12}]}]}],"p":[{"ó":[{"ł":32}],"o":[{"d":[{"z":100,"ź":4,"ż":4,"d":51},125],"ć":44,"ł":44,"ś":44,"ź":44,"ż":44,"b":44,"c":[{"h":4,"z":4},44],"f":44,"g":44,"h":44,"k":44,"l":44,"m":44,"p":44,"r":[{"n":71,"t":71,"z":4},44],"s":[{"z":4},44],"t":44,"w":44,"z":44}]},0],"r":0,"s":0,"t":[{"e":[{"r":[{"e":[{"o":[{"a":66,"e":66,"i":66,"o":66,"u":66},2]}]}]}]},0],"u":[{"b":[{"i":[{"e":17}],"o":[{"t":[{"n":17}]}]},16],"p":[{"e":[{"r":[{"a":[{"t":[{"r":118},26]}],"i":[{"o":26}],"z":[{"b":67}],"e":41,"o":[{"d":[{"r":[{"z":[{"u":[{"t":126}]}]}]}]}]},25]}]}]}],"v":0,"w":0,"x":0,"z":[{"e":[{"ś":[{"ć":[{"s":[{"e":[{"t":35}]}]},46],"c":[{"i":[{"o":[{"ś":5}]}]}]}],"s":32}]},0]},1],"t":[{"ć":0,"ł":0,"ń":0,"ś":0,"ź":0,"ż":0,"a":[{"o":16,"r":[{"z":[{"a":[{"n":127}]}]}]}],"b":0,"c":[{"h":6},0],"d":0,"e":[{"o":16}],"f":0,"g":0,"h":0,"j":0,"k":0,"l":0,"m":0,"n":0,"o":[{"a":63}],"p":0,"r":[{"ó":[{"j":[{"ą":33,"ę":33,"e":[{"c":[{"z":33}]}]},32]}],"a":[{"n":[{"s":[{"e":[{"u":117},26],"i":[{"e":26}],"y":26,"z":51,"a":41,"o":41},25]}]}],"z":[{"e":[{"c":[{"h":[{"s":[{"e":[{"t":15}]}]},128]}]}]},6]},0],"s":0,"t":0,"v":0,"w":0,"x":0,"y":[{"s":[{"i":[{"ą":[{"c":[{"a":68,"e":68,"z":[{"ł":129},70]},2]}]}]}]}],"z":0},1],"u":[{"ć":53,"ś":53,"ł":93,"ź":93,"ż":93,"b":[{"e":[{"z":[{"w":4},32]}],"r":98},93],"c":[{"h":98,"z":98},93],"d":[{"k":130,"ź":98,"ż":98,"z":98},93],"f":[{"n":130},93],"g":93,"h":93,"k":[{"l":[{"e":[{"j":130}]}],"r":98},93],"l":[{"s":130,"t":130},93],"m":[{"b":[{"r":130}],"k":98},93],"n":[{"c":130,"d":130},93],"p":[{"p":[{"s":131}],"c":[{"h":18}],"o":[{"d":[{"a":63,"ź":4,"ż":4,"d":51},125],"ć":44,"ł":44,"ś":44,"ź":44,"ż":44,"b":44,"c":[{"h":4,"z":4},44],"f":44,"g":44,"h":44,"k":44,"l":44,"m":44,"p":44,"r":[{"z":4},44],"s":[{"z":4},44],"t":44,"w":44,"z":44}]},93],"r":[{"s":130,"ż":98,"o":[{"z":32}],"z":98},93],"s":[{"t":[{"n":132,"c":133,"k":133}],"c":[{"h":18}],"z":98},93],"t":[{"k":98,"r":98},93],"w":93,"z":[{"b":[{"e":130}],"e":[{"w":44}]},93]}],"v":[{"ć":0,"ł":0,"ń":0,"ś":0,"ź":0,"ż":0,"b":0,"c":0,"d":0,"f":0,"g":0,"h":0,"j":0,"k":0,"l":0,"m":0,"n":0,"p":0,"r":0,"s":0,"t":0,"v":0,"w":0,"x":0,"z":0},1],"w":[{"ć":0,"ł":0,"ń":0,"ś":0,"ź":0,"ż":0,"b":0,"c":0,"d":0,"e":[{"ć":14,"ł":[{"n":30},14],"ś":14,"ż":14,"b":14,"c":[{"h":18,"z":18},14],"d":[{"ź":18,"ż":18,"z":18},14],"f":14,"g":14,"h":14,"k":[{"t":30},14],"l":[{"w":30},14],"m":[{"k":18},14],"n":[{"d":30,"t":30},14],"p":[{"c":[{"h":4}]},14],"r":[{"b":30,"d":30,"n":30,"s":30,"t":30,"z":18},14],"s":[{"p":[{"r":[{"z":30}]}],"t":[{"c":[{"h":134}]}],"z":18},14],"t":[{"k":18},14],"w":[{"n":[{"ą":[{"t":[{"r":[{"z":135}]}]}]}]},14],"z":[{"b":[{"r":30}],"g":[{"ł":30}]},14]}],"f":0,"g":0,"h":0,"i":[{"e":[{"l":[{"o":[{"ś":28,"d":28,"k":28}],"u":[{"s":[{"e":[{"t":35}]}]}]}]}],"l":[{"c":[{"z":[{"o":[{"m":21}]}]}]}]}],"j":0,"k":0,"l":0,"m":0,"n":[{"i":[{"e":[{"b":[{"o":[{"w":21}]}]}]}]},0],"o":[{"d":[{"o":[{"w":12}]}]}],"p":0,"r":0,"s":[{"p":[{"ó":[{"ł":[{"i":41,"o":[{"b":[{"w":104}]}],"u":41,"w":41},25]}]}],"z":[{"e":[{"c":[{"h":[{"o":66,"w":66},128]}]}]}]},0],"t":0,"v":0,"w":0,"x":0,"y":[{"ć":14,"ł":14,"ś":14,"ź":14,"ż":[{"s":[{"z":30}]},14],"b":[{"r":[{"z":4},18]},14],"c":[{"z":[{"h":[{"a":106}]},18],"h":18},14],"d":[{"ź":18,"ż":18,"r":18,"z":18},14],"f":14,"g":[{"r":[{"z":4}]},14],"h":14,"k":[{"l":18,"r":[{"z":4},18]},14],"l":14,"m":[{"k":18},14],"o":[{"d":[{"r":136}]}],"p":[{"c":[{"h":4}],"r":[{"z":4}]},14],"r":[{"ż":18,"z":18},14],"s":[{"c":[{"h":4}],"m":18,"z":18},14],"t":[{"c":[{"h":4}],"k":18,"r":18},14],"w":14,"z":14,"e":[{"k":[{"s":46}]}],"i":[{"z":[{"o":98}]}]}],"z":0},1],"x":[{"ć":0,"ł":0,"ń":0,"ś":0,"ź":0,"ż":0,"b":0,"c":0,"d":0,"f":0,"g":0,"h":0,"j":0,"k":0,"l":0,"m":0,"n":0,"p":0,"r":0,"s":0,"t":0,"v":0,"w":0,"x":0,"z":0},1],"z":[{"ć":0,"ł":[{"o":[{"w":44}]},0],"ń":0,"ś":0,"ź":0,"ż":0,"a":[{"ć":14,"ł":14,"ś":14,"ź":14,"ż":14,"b":[{"r":[{"z":4},18]},14],"c":[{"h":18,"z":18},14],"d":[{"ź":18,"ż":18,"o":[{"ś":[{"ć":[{"u":137},128]}]}],"r":18,"y":[{"s":[{"p":[{"o":25}]}]}],"z":18},14],"f":14,"g":[{"r":[{"z":4}]},14],"h":14,"k":[{"t":30,"l":18,"r":[{"z":4},18]},14],"l":[{"g":30,"k":30,"t":30},14],"m":[{"k":[{"n":31},30]},14],"o":[{"b":[{"r":136,"s":136}]}],"p":14,"r":[{"c":[{"h":30}],"ż":18,"z":18},14],"s":[{"c":[{"h":4}],"m":18,"z":18},14],"t":[{"k":18,"r":18},14],"u":[{"t":[{"o":9}]},14],"w":14,"z":14,"i":[{"n":[{"i":[{"c":138}]},32],"z":[{"o":98}]}],"n":[{"i":[{"e":[{"d":28}]}]}]}],"b":0,"c":0,"d":[{"e":[{"z":[{"a":[{"w":[{"u":33}]}],"e":[{"l":33,"r":33}],"y":33},32]}],"y":[{"s":[{"k":[{"o":[{"n":[{"t":32}]}],"r":[{"e":[{"d":32}]}],"w":[{"a":[{"l":32}]}]}]}]}]},0],"e":[{"ć":14,"ł":14,"ś":14,"ź":14,"ż":14,"b":14,"c":[{"h":18,"z":18},14],"d":[{"ź":18,"ż":18,"z":18},14],"f":14,"g":14,"h":14,"k":[{"l":18},14],"l":14,"m":14,"p":[{"c":[{"h":4}]},14],"r":[{"k":30,"ż":18,"z":18},14],"s":[{"c":[{"h":4}],"m":138,"z":18},14],"t":[{"k":54,"e":[{"m":[{"e":[{"s":139}],"p":30}],"s":[{"e":[{"l":139}]}]}],"h":[{"a":[{"p":30}]}]},14],"w":14,"z":14}],"f":0,"g":0,"h":0,"i":[{"m":[{"n":[{"o":[{"k":[{"r":27}]}]}]}]}],"j":0,"k":0,"l":0,"m":[{"a":[{"r":[{"t":[{"w":[{"y":[{"c":[{"h":[{"w":88},140]}]}]}]}]}]}]},0],"n":[{"i":[{"e":[{"ć":12,"ł":12,"ń":12,"ś":12,"ź":12,"ż":12,"b":12,"c":[{"h":41,"z":41},12],"d":[{"ź":141,"ż":41,"z":41},12],"f":12,"g":12,"h":12,"k":12,"l":12,"m":[{"c":62},12],"n":12,"p":12,"r":[{"z":41},12],"s":[{"z":41},12],"t":12,"w":12,"z":12}]}]},0],"o":[{"o":16}],"p":0,"r":[{"o":[{"z":[{"u":33},32]}]},0],"s":0,"t":0,"v":0,"w":0,"x":0,"z":0},1]}],"ą":142,"ę":142,"ó":[{"w":[{"c":[{"z":130}]}]},142],"ś":[{"c":[{"i":144,".":152},142],"ć":[{"c":146,".":152}],"ś":[{".":152},145],"ź":[{".":152},145],"ż":[{".":152},145],"b":[{".":152},145],"d":[{".":152},145],"f":[{".":152},145],"g":[{".":152},145],"k":[{".":152},145],"p":[{".":152},145],"s":[{".":152},145],"t":[{".":152},145],"z":[{".":152},145],"l":[{"m":146,"n":146,".":152}],".":152,"ł":[{".":152}],"ń":[{".":152}],"h":[{".":152}],"j":[{".":152}],"m":[{".":152}],"n":[{".":152}],"r":[{".":152}],"v":[{".":152}],"w":[{".":152}],"x":[{".":152}]}],"ź":[{"d":[{"ź":143,".":152},145],"ć":[{".":152},145],"ś":[{".":152},145],"ż":[{".":152},145],"b":[{".":152},145],"c":[{".":152},145],"f":[{".":152},145],"g":[{".":152},145],"k":[{".":152},145],"l":[{".":152},145],"m":[{".":152},145],"n":[{".":152},145],"p":[{".":152},145],"s":[{".":152},145],"t":[{".":152},145],"w":[{".":152},145],"z":[{".":152},145],"ź":[{".":152},151],".":152,"ł":[{".":152}],"ń":[{".":152}],"h":[{".":152}],"j":[{".":152}],"r":[{".":152}],"v":[{".":152}],"x":[{".":152}]}],"ć":[{"ń":[{".":152},145],"ś":[{".":152},145],"ź":[{".":152},145],"ż":[{".":152},145],"b":[{".":152},145],"c":[{".":152},145],"d":[{".":152},145],"f":[{".":152},145],"g":[{".":152},145],"k":[{".":152},145],"m":[{".":152},145],"n":[{".":152},145],"p":[{".":152},145],"s":[{".":152},145],"t":[{".":152},145],"z":[{".":152},145],"ć":[{".":152},151],".":152,"ł":[{".":152}],"h":[{".":152}],"j":[{".":152}],"l":[{".":152}],"r":[{".":152}],"v":[{".":152}],"w":[{".":152}],"x":[{".":152}]}],"ł":[{"ć":[{".":152},145],"ń":[{".":152},145],"ś":[{".":152},145],"ź":[{".":152},145],"ż":[{".":152},145],"b":[{".":152},145],"c":[{".":152},145],"d":[{".":152},145],"f":[{".":152},145],"g":[{".":152},145],"h":[{".":152},145],"j":[{".":152},145],"k":[{".":152},145],"l":[{".":152},145],"m":[{".":152},145],"n":[{".":152},145],"p":[{".":152},145],"r":[{".":152},145],"s":[{".":152},145],"t":[{".":152},145],"w":[{".":152},145],"z":[{".":152},145],"ł":[{".":152},151],".":152,"v":[{".":152}],"x":[{".":152}]}],"ń":[{"ć":[{".":152},145],"ł":[{".":152},145],"ń":[{".":152},145],"ś":[{".":152},145],"ź":[{".":152},145],"ż":[{".":152},145],"b":[{".":152},145],"c":[{".":152},145],"d":[{".":152},145],"f":[{".":152},145],"g":[{".":152},145],"h":[{".":152},145],"j":[{".":152},145],"k":[{".":152},145],"l":[{".":152},145],"m":[{".":152},145],"n":[{".":152},145],"p":[{".":152},145],"r":[{".":152},145],"s":[{".":152},145],"t":[{".":152},145],"w":[{".":152},145],"z":[{".":152},145],".":152,"v":[{".":152}],"x":[{".":152}]}],"ż":[{"ć":[{".":152},145],"ł":[{".":152},145],"ń":[{".":152},145],"ś":[{".":152},145],"ź":[{".":152},145],"b":[{".":152},145],"c":[{".":152},145],"d":[{".":152},145],"f":[{".":152},145],"g":[{".":152},145],"j":[{".":152},145],"k":[{".":152},145],"l":[{".":152},145],"m":[{".":152},145],"n":[{".":152},145],"p":[{".":152},145],"r":[{".":152},145],"s":[{".":152},145],"t":[{".":152},145],"w":[{".":152},145],"z":[{".":152},145],"ż":[{".":152},151],".":152,"h":[{".":152}],"v":[{".":152}],"x":[{".":152}]}],"b":[{"ł":[{"k":146,".":152}],"ć":[{".":152},145],"ń":[{".":152},145],"ś":[{".":152},145],"ź":[{".":152},145],"ż":[{".":152},145],"c":[{".":152},145],"d":[{".":152},145],"f":[{".":152},145],"g":[{".":152},145],"k":[{".":152},145],"m":[{".":152},145],"n":[{".":152},145],"p":[{".":152},145],"s":[{".":152},145],"t":[{".":152},145],"z":[{".":152},145],"r":[{"n":146,".":152,"z":[{".":152}],"d":53,"o":[{"a":[{"d":[{"w":[{"a":[{"y":46}]}]}]}]}]}],"b":[{".":152},151],".":152,"h":[{".":152}],"j":[{".":152}],"l":[{".":152,"o":[{"k":[{"h":[{"a":[{"u":[{"z":158}]}]}]}]}]}],"v":[{".":152}],"w":[{".":152}],"x":[{".":152}],"e":[{"e":[{"t":[{"h":53}]}],"f":[{"s":[{"z":153}]}],"k":[{"h":[{"e":[{"n":[{"d":154}]}]}]}]}],"i":[{"n":[{"o":[{"k":[{"u":155}]}]}],"s":[{"z":[{"k":[{"o":[{"p":156}]}]}]}],"z":[{"n":[{"e":[{"s":[{"m":157},16]}]}]}],"r":[{"m":[{"i":[{"n":[{"g":[{"h":[{"a":[{"m":126}]}]}]}]}]}]}]}],"o":[{"s":[{"m":[{"a":16}]}]}],"u":[{"s":[{"z":[{"m":[{"e":156}]}],"i":[{"n":[{"e":[{"s":[{"s":[{"m":23},66]}]}]}]}]}],"k":[{"s":[{"z":[{"p":[{"a":[{"n":159}]}]}]}]}]}]}],"c":[{"ć":[{".":152},145],"ń":[{".":152},145],"ś":[{".":152},145],"ź":[{".":152},145],"ż":[{".":152},145],"b":[{".":152},145],"d":[{".":152},145],"f":[{".":152},145],"g":[{".":152},145],"k":[{".":152},145],"l":[{".":152},145],"m":[{".":152},145],"n":[{".":152},145],"p":[{".":152},145],"s":[{".":152},145],"t":[{".":152},145],"h":[{"ć":147,"ń":147,"ś":147,"ź":147,"ż":147,"b":147,"c":147,"d":147,"f":147,"g":147,"k":147,"m":147,"n":147,"p":147,"s":147,"t":147,"z":147,".":152,"ł":[{".":152},53],"r":[{"z":[{".":152}]},53],"w":[{".":152},53],"j":53,"l":53,"u":[{"s":[{"t":160}]}]},133],"z":[{"ć":147,"ń":147,"ś":147,"ź":147,"ż":147,"b":147,"c":147,"d":147,"f":147,"g":147,"k":147,"l":147,"m":147,"n":147,"p":147,"s":147,"t":[{".":152},147],"z":147,".":152},133],"c":[{".":152},151],".":152,"ł":[{".":152}],"j":[{".":152}],"r":[{".":152}],"v":[{".":152}],"w":[{".":152}],"x":[{".":152}],"a":[{"l":[{"d":[{"w":[{"e":[{"l":[{"l":158}]}]}]}]}]}],"u":[{"r":[{"z":[{"o":[{"n":127}]}]}]}]}],"d":[{"ł":[{"b":146,"s":[{"z":146}],".":152}],"ź":[{"ć":147,"ń":147,"ś":147,"ź":147,"ż":147,"b":147,"c":147,"d":147,"f":147,"g":147,"k":147,"m":147,"n":147,"p":147,"s":147,"t":147,"z":147,".":152},133],"ż":[{"ć":147,"ń":147,"ś":147,"ź":147,"ż":147,"b":147,"c":147,"d":147,"f":147,"g":147,"k":147,"m":147,"n":147,"p":147,"s":147,"t":147,"z":147,".":152,"ł":53,"j":53,"l":53,"r":53,"w":53,"e":[{"z":[{"b":71,"m":71}]}]},133],"ć":[{".":152},145],"ń":[{".":152},145],"ś":[{".":152},145],"b":[{".":152},145],"c":[{".":152},145],"f":[{".":152},145],"g":[{".":152},145],"k":[{".":152},145],"m":[{".":152},145],"n":[{"i":[{"o":[{"w":148}]}],".":152},145],"p":[{".":152},145],"s":[{".":152},145],"t":[{".":152},145],"r":[{"n":146,".":152,"z":[{".":152,"w":98}]}],"z":[{"ć":147,"ń":147,"ś":147,"ź":147,"ż":147,"b":147,"c":147,"d":147,"f":147,"g":147,"k":147,"l":147,"m":147,"n":147,"p":147,"s":147,"t":147,"z":147,".":152},133],"d":[{".":152},151],".":152,"h":[{".":152}],"j":[{".":152}],"l":[{".":152}],"v":[{".":152}],"w":[{".":152}],"x":[{".":152}],"e":[{"u":[{"t":[{"s":[{"c":[{"h":[{"l":[{"a":[{"n":[{"d":161}]}]}]}]}]}]}]}]}],"u":[{"s":[{"z":[{"p":[{"a":[{"s":[{"t":156}]}]}]}]}]}]}],"f":[{"c":[{".":152},145],"k":[{".":152},145],"m":[{".":152},145],"n":[{".":152},145],"f":[{".":152},151],".":152,"ć":[{".":152}],"ł":[{".":152}],"ń":[{".":152}],"ś":[{".":152}],"ź":[{".":152}],"ż":[{".":152}],"b":[{".":152}],"d":[{".":152}],"g":[{".":152}],"h":[{".":152}],"j":[{".":152}],"l":[{".":152}],"p":[{".":152}],"r":[{".":152}],"s":[{".":152}],"t":[{".":152}],"v":[{".":152}],"w":[{".":152}],"x":[{".":152}],"z":[{".":152}],"i":[{"s":[{"h":[{"a":[{"r":[{"m":16}]}]}],"z":[{"b":[{"i":[{"n":156}]}]}]}]}],"o":[{"k":[{"s":[{"t":163}]}],"r":[{"z":[{"a":[{"c":164}]}]}],"l":[{"k":[{"l":[{"o":[{"r":158}]}]}]}],"s":[{"f":[{"a":[{"z":[{"o":[{"t":165}]}]}]}]}]}]}],"g":[{"ł":[{"b":146,".":152}],"ć":[{".":152},145],"ń":[{".":152},145],"ś":[{".":152},145],"ź":[{".":152},145],"ż":[{".":152},145],"b":[{".":152},145],"c":[{".":152},145],"d":[{".":152},145],"f":[{".":152},145],"k":[{".":152},145],"m":[{".":152},145],"p":[{".":152},145],"s":[{".":152},145],"t":[{".":152},145],"z":[{".":152},145],"g":[{".":152},151],".":152,"h":[{".":152}],"j":[{".":152}],"l":[{".":152}],"n":[{".":152}],"r":[{".":152,"a":[{"n":[{"d":[{"i":[{"l":[{"o":19}]}]}]}]}],"o":[{"t":[{"r":71}]}]}],"v":[{".":152}],"w":[{".":152}],"x":[{".":152}],"a":[{"d":[{"g":[{"e":[{"t":14}]}],"o":[{"p":[{"t":[{"a":12}]}]}]}]}],"o":[{"l":[{"f":[{"s":[{"z":41},32]}]}]}]}],"h":[{"ć":[{".":152},145],"ł":[{".":152},145],"ń":[{".":152},145],"ś":[{".":152},145],"ź":[{".":152},145],"ż":[{".":152},145],"b":[{".":152},145],"c":[{".":152},145],"d":[{".":152},145],"f":[{".":152},145],"g":[{".":152},145],"j":[{".":152},145],"k":[{".":152},145],"l":[{".":152},145],"m":[{".":152},145],"n":[{".":152},145],"p":[{".":152},145],"r":[{".":152},145],"s":[{".":152},145],"t":[{".":152},145],"w":[{".":152},145],"z":[{".":152},145],"h":[{".":152},151],".":152,"v":[{".":152}],"x":[{".":152}],"i":[{"s":[{"z":[{"p":156}]}]}],"u":[{"c":[{"z":[{"w":166}]}],"x":[{"l":[{"e":[{"y":16}]}]}]}]}],"j":[{"ć":[{".":152},145],"ł":[{".":152},145],"ń":[{".":152},145],"ś":[{".":152},145],"ź":[{".":152},145],"ż":[{".":152},145],"b":[{".":152},145],"c":[{".":152},145],"d":[{".":152},145],"f":[{".":152},145],"g":[{".":152},145],"h":[{".":152},145],"k":[{".":152},145],"l":[{".":152},145],"m":[{".":152},145],"n":[{".":152},145],"p":[{".":152},145],"r":[{".":152},145],"s":[{".":152},145],"t":[{".":152,"ł":38,"r":38},145],"w":[{".":152},145],"z":[{".":152},145],"j":[{".":152},151],".":152,"v":[{".":152}],"x":[{".":152}],"a":[{"z":[{"z":[{"b":167,"m":167}]}]}]}],"k":[{"ł":[{"b":146,".":152}],"ć":[{".":152},145],"ń":[{".":152},145],"ś":[{".":152},145],"ź":[{".":152},145],"ż":[{".":152},145],"b":[{".":152},145],"c":[{".":152},145],"d":[{".":152},145],"f":[{".":152},145],"g":[{".":152},145],"m":[{".":152},145],"n":[{".":152},145],"p":[{".":152},145],"s":[{"z":[{"t":149},145],".":152,"t":[{".":152}]},145],"t":[{".":152},145],"z":[{".":152},145],"k":[{".":152},151],".":152,"h":[{".":152}],"j":[{".":152}],"l":[{".":152}],"r":[{".":152}],"v":[{".":152}],"w":[{".":152}],"x":[{".":152}],"a":[{"r":[{"l":[{"s":[{"k":[{"r":[{"o":[{"n":19}]}]}],"r":[{"u":[{"h":[{"e":19}]}]}]}]}]}]}],"i":[{"r":[{"c":[{"h":[{"h":[{"o":[{"f":[{"f":98}]}]}]}]}]}]}],"o":[{"n":[{"g":[{"r":[{"e":[{"s":[{"m":104}]}]}]}]}]}]}],"l":[{"ć":[{".":152},145],"ł":[{".":152},145],"ń":[{".":152},145],"ś":[{".":152},145],"ź":[{".":152},145],"ż":[{".":152},145],"b":[{".":152},145],"c":[{".":152},145],"d":[{".":152},145],"f":[{".":152},145],"g":[{".":152},145],"h":[{".":152},145],"j":[{".":152},145],"k":[{".":152},145],"m":[{".":152},145],"n":[{".":152},145],"p":[{".":152},145],"r":[{".":152},145],"s":[{".":152},145],"t":[{".":152},145],"w":[{".":152},145],"z":[{".":152},145],"l":[{".":152},151],".":152,"v":[{".":152}],"x":[{".":152}],"e":[{"d":[{"w":168}]}],"u":[{"f":[{"t":[{"w":[{"a":[{"f":[{"f":[{"e":156}]}]}]}]}]}],"k":[{"s":[{"f":[{"e":[{"r":166}]}]}]}]}],"y":[{"o":53}]}],"m":[{"ć":[{".":152},145],"ł":[{".":152},145],"ń":[{".":152},145],"ś":[{".":152},145],"ź":[{".":152},145],"ż":[{".":152},145],"b":[{".":152},145],"c":[{".":152},145],"d":[{".":152},145],"f":[{".":152},145],"g":[{".":152},145],"h":[{".":152},145],"j":[{".":152},145],"k":[{"n":150,".":152},145],"l":[{".":152},145],"n":[{"e":[{"s":[{"t":148}],"z":[{"j":148}]}],".":152},145],"p":[{".":152},145],"r":[{".":152},145],"s":[{"k":[{"n":149}],".":152,"t":[{".":152}]},145],"t":[{".":152},145],"w":[{".":152},145],"z":[{".":152},145],"m":[{".":152},151],".":152,"v":[{".":152}],"x":[{".":152}],"a":[{"r":[{"z":[{"ł":164,"l":164,"n":164}]}]}],"i":[{"s":[{"z":[{"m":[{"a":[{"s":[{"z":166}]}]}]}]}],"e":[{"r":[{"z":[{"ł":3,"i":3}]}]}]}],"o":[{"n":[{"t":[{"r":[{"e":[{"a":[{"l":32}]}]}]}]}],"z":[{"a":[{"i":[{"k":25}]}]}]}],"u":[{"r":[{"z":[{"a":[{"s":[{"i":[{"c":[{"h":[{"l":169}]}]}]}]}]}]}]}]}],"n":[{"ć":[{".":152},145],"ł":[{".":152},145],"ń":[{".":152},145],"ś":[{".":152},145],"ź":[{".":152},145],"ż":[{".":152},145],"b":[{".":152},145],"c":[{".":152},145],"d":[{".":152},145],"f":[{".":152},145],"g":[{".":152},145],"h":[{".":152},145],"j":[{".":152},145],"k":[{".":152},145],"l":[{".":152},145],"m":[{".":152},145],"p":[{".":152},145],"r":[{".":152},145],"s":[{".":152},145],"t":[{"n":146,".":152},145],"w":[{".":152},145],"z":[{".":152},145],"n":[{".":152},151],".":152,"v":[{".":152}],"x":[{".":152}],"a":[{"ł":[{"k":[{"o":[{"w":[{"s":30}]}]}]}],"r":[{"v":30}]}]}],"p":[{"ć":[{".":152},145],"ń":[{".":152},145],"ś":[{".":152},145],"ź":[{".":152},145],"ż":[{".":152},145],"b":[{".":152},145],"c":[{".":152},145],"d":[{".":152},145],"f":[{".":152},145],"g":[{".":152},145],"k":[{".":152},145],"m":[{".":152},145],"n":[{"e":[{"u":148}],".":152},145],"s":[{"z":145,".":152},145],"t":[{".":152},145],"z":[{".":152},145],"l":[{"n":146,".":152}],"p":[{".":152},151],".":152,"ł":[{".":152}],"h":[{".":152}],"j":[{".":152}],"r":[{".":152,"z":[{".":152}],"c":[{"h":[{"a":[{"l":53}]}]}],"e":[{"s":[{"z":[{"p":[{"a":159}]}]}]}]}],"v":[{".":152}],"w":[{".":152}],"x":[{".":152}],"a":[{"n":[{"a":[{"m":[{"e":[{"r":155}]}]}]}],"s":[{"c":[{"a":[{"l":16}],"h":16}]}]}],"o":[{"ł":[{"u":[{"d":[{"n":[{"i":12}]}]}]}],"d":[{"n":[{"i":[{"e":[{"p":[{"r":[{"z":17}]}]}]}]}]}],"m":[{"n":[{"ą":14,"ę":14,"i":14}]}],"r":[{"t":[{"s":[{"m":[{"o":[{"u":[{"t":[{"h":170}]}]}]}]}],"l":[{"a":[{"n":[{"d":106}]}]}]}]}],"l":[{"i":[{"e":[{"t":12}],"u":[{"r":[{"e":12}]}]}]}],"w":[{"s":[{"z":[{"e":[{"d":[{"n":[{"i":21}]}]}]}]}]}]}]}],"r":[{"ć":[{".":152},145],"ł":[{".":152},145],"ń":[{".":152},145],"ś":[{".":152},145],"ź":[{".":152},145],"ż":[{".":152},145],"b":[{".":152},145],"c":[{".":152},145],"d":[{".":152},145],"f":[{".":152},145],"g":[{".":152},145],"h":[{".":152},145],"j":[{".":152},145],"k":[{".":152},145],"l":[{".":152},145],"m":[{".":152},145],"n":[{".":152},145],"p":[{".":152},145],"s":[{".":152,"z":[{".":152}]},145],"t":[{".":152},145],"w":[{".":152},145],"z":[{"ć":147,"ł":[{".":152},147],"ń":147,"ś":147,"ź":147,"ż":147,"b":147,"c":147,"d":147,"f":147,"g":147,"h":147,"j":147,"k":147,"l":147,"m":147,"n":147,"p":147,"r":147,"s":147,"t":147,"w":147,".":152},133],"r":[{".":152},151],".":152,"v":[{".":152}],"x":[{".":152}],"o":[{"e":[{"n":[{"t":[{"g":[{"e":[{"n":153}]}]}]}]}],"k":[{"r":[{"o":[{"c":[{"z":16}]}]}]}],"s":[{"t":[{"o":[{"c":[{"k":171}]}]}]}]}]}],"s":[{"ł":[{"b":146,".":152}],"ź":[{".":152},145],"ż":[{".":152},145],"b":[{".":152},145],"d":[{".":152},145],"f":[{".":152},145],"g":[{".":152},145],"s":[{".":152},145],"n":[{"k":146,".":152}],"t":[{"k":146,"n":146,"s":[{"z":146}],".":152,"r":[{".":152,"z":[{".":152}]}],"w":[{".":152}]}],"z":[{"ć":147,"ś":147,"c":[{"z":[{".":152,"b":[{".":152}]}]},147],"f":147,"k":[{".":152},147],"l":[{"n":146},147],"m":147,"n":[{".":152},147],"p":147,"s":147,"t":[{".":152,"r":[{".":152}],"o":[{"k":[{"h":[{"o":[{"l":[{"m":19}]}]}]}]}]},147],"w":147,"z":147,".":152,"a":[{"s":[{"z":[{"ł":[{"y":172}]}]}]}],"e":[{"z":[{"l":[{"o":[{"n":[{"g":158}]}]}]}],"ś":[{"ć":39}]}],"y":[{"n":[{"k":[{"w":[{"a":[{"s":19}]}]}]}]}]},133],".":152,"ć":[{".":152}],"ń":[{".":152}],"ś":[{".":152}],"c":[{".":152,"h":[{".":152}]}],"h":[{".":152}],"j":[{".":152}],"k":[{".":152,"r":[{"z":[{".":152}]}],"o":[{"r":[{"z":[{"o":[{"n":[{"e":[{"r":3}]}]}]}]}]}]}],"l":[{".":152}],"m":[{".":152,"r":53}],"p":[{".":152}],"r":[{".":152}],"v":[{".":152}],"w":[{".":152}],"x":[{".":152}],"e":[{"t":[{"l":[{"e":16}]}]}],"o":[{"w":[{"i":[{"z":12}]}]}],"y":[{"n":[{"o":[{"p":[{"t":16}]}]}],"s":[{"t":[{"e":[{"m":154}]}]}]}]}],"t":[{"ć":[{".":152},145],"ń":[{".":152},145],"ś":[{".":152},145],"ź":[{".":152},145],"ż":[{".":152},145],"b":[{".":152},145],"c":[{".":152},145],"d":[{".":152},145],"f":[{".":152},145],"g":[{".":152},145],"k":[{".":152},145],"m":[{".":152},145],"n":[{".":152},145],"p":[{".":152},145],"s":[{".":152},145],"z":[{".":152},145],"l":[{"n":146,".":152}],"r":[{"k":146,"z":[{"n":146,".":152}],".":152}],"t":[{".":152},151],".":152,"ł":[{".":152}],"h":[{".":152}],"j":[{".":152}],"v":[{".":152}],"w":[{".":152}],"x":[{".":152}],"o":[{"y":[{"o":[{"t":136}]}]}],"u":[{"r":[{"b":[{"o":[{"o":[{"d":[{"r":[{"z":[{"u":[{"t":104}]}]}]}]}]}]}]}]}],"y":[{"g":[{"o":[{"d":[{"n":[{"i":12}]}]}]}]}]}],"w":[{"ć":[{".":152},145],"ł":[{"a":[{"d":148}],"o":[{"s":148}],".":152},145],"ń":[{".":152},145],"ś":[{".":152},145],"ź":[{".":152},145],"ż":[{".":152},145],"b":[{".":152},145],"c":[{"z":[{"a":[{"s":148}]}],".":152},145],"d":[{".":152},145],"f":[{".":152},145],"g":[{".":152},145],"j":[{".":152},145],"k":[{".":152},145],"l":[{".":152},145],"m":[{".":152},145],"n":[{".":152},145],"p":[{".":152},145],"r":[{".":152},145],"s":[{".":152},145],"t":[{".":152},145],"z":[{".":152},145],"w":[{".":152},151],".":152,"h":[{".":152}],"v":[{".":152}],"x":[{".":152}],"e":[{"e":[{"k":[{"e":[{"n":[{"d":174}]}]}]}],"s":[{"t":[{"f":106,"m":106}]}]}]}],"z":[{"ć":[{".":152},145],"ś":[{".":152},145],"c":[{".":152},145],"d":[{"k":146,"n":146,".":152,"r":[{".":152,"z":[{".":152}]}]},145],"f":[{".":152},145],"k":[{".":152},145],"p":[{".":152},145],"s":[{".":152},145],"t":[{".":152},145],"z":[{".":152},151],".":152,"ł":[{".":152}],"ń":[{".":152}],"ź":[{".":152}],"ż":[{".":152}],"b":[{".":152}],"g":[{".":152}],"h":[{".":152}],"j":[{".":152}],"l":[{".":152}],"m":[{".":152}],"n":[{".":152}],"r":[{".":152}],"v":[{".":152}],"w":[{".":152}],"x":[{".":152}],"e":[{"p":[{"p":30}]}]}],"v":[{".":152,"ć":[{".":152}],"ł":[{".":152}],"ń":[{".":152}],"ś":[{".":152}],"ź":[{".":152}],"ż":[{".":152}],"b":[{".":152}],"c":[{".":152}],"d":[{".":152}],"f":[{".":152}],"g":[{".":152}],"h":[{".":152}],"j":[{".":152}],"k":[{".":152}],"l":[{".":152}],"m":[{".":152}],"n":[{".":152}],"p":[{".":152}],"r":[{".":152}],"s":[{".":152}],"t":[{".":152}],"v":[{".":152}],"w":[{".":152}],"x":[{".":152}],"z":[{".":152}],"o":[{"l":[{"k":[{"s":173}]}]}]}],"x":[{".":152,"ć":[{".":152}],"ł":[{".":152}],"ń":[{".":152}],"ś":[{".":152}],"ź":[{".":152}],"ż":[{".":152}],"b":[{".":152}],"c":[{".":152}],"d":[{".":152}],"f":[{".":152}],"g":[{".":152}],"h":[{".":152}],"j":[{".":152}],"k":[{".":152}],"l":[{".":152}],"m":[{".":152}],"n":[{".":152}],"p":[{".":152}],"r":[{".":152}],"s":[{".":152}],"t":[{".":152}],"v":[{".":152}],"w":[{".":152}],"x":[{".":152}],"z":[{".":152}]}],"a":[{"u":143,"y":143,"a":53,"e":53,"i":53,"o":53},142],"e":[{"r":[{"z":[{"a":[{"c":162}]}]}],"u":[{"s":[{"z":93}]},143],"y":143,"a":53,"e":53,"i":53,"o":53},142],"i":[{"ą":143,"ę":143,"ó":143,"a":143,"e":143,"i":143,"o":143,"u":143,"y":143,"n":[{"n":[{"s":[{"b":[{"r":[{"u":[{"c":[{"k":9}]}]}]}]}]}],"s":[{"b":[{"r":[{"u":[{"c":9}]}]}]}]}]},142],"o":[{"y":143,"a":53,"c":[{"h":[{"m":[{"i":[{"s":[{"t":[{"r":[{"z":63}]}]}]}]}]}]}],"e":53,"f":[{"f":[{"s":[{"e":[{"t":16}]}]}]}],"i":53,"o":53,"u":53},142],"u":[{"y":143,"a":53,"e":53,"i":53,"o":53,"u":53},142],"y":[{"a":53,"e":53,"i":53,"o":53,"u":53},142]}',["be-zach","be-zami","by-naj-mniej","gdzie-nie-gdzie","ina-czej","na-dal","ni-gdy","ni-gdzie","niech-że","niech-by","ow-szem","pó-łach","pó-łami","pó-łek","pod-ów-czas","przy-naj-mniej","skąd-inąd","tró-jach","tró-jami","tró-jek"]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/4873.adapter.js b/public/tools/cloud_sheets/vendor/univer/4873.adapter.js new file mode 100644 index 0000000..d0d0798 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/4873.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[4873],{4873(o,e,u){u.r(e),u.d(e,{Eu:()=>a});const a=["1,12,0022",'{"b":[{"a":0,"e":0,"o":0,"i":0,"u":0,"l":[{"a":1,"e":1,"o":1,"i":1,"u":1}],"r":[{"a":1,"e":1,"o":1,"i":1,"u":1}]}],"c":[{"a":0,"e":0,"o":0,"i":0,"u":0}],"d":[{"a":0,"e":0,"o":0,"i":0,"u":0,"r":[{"a":1,"e":1,"o":1,"i":1,"u":1}]}],"f":[{"a":0,"e":0,"o":0,"i":0,"u":0,"l":[{"a":1,"e":1,"o":1,"i":1,"u":1}],"r":[{"a":1,"e":1,"o":1,"i":1,"u":1}]}],"g":[{"a":0,"e":0,"o":0,"i":0,"u":0,"l":[{"a":1,"e":1,"o":1,"i":1,"u":1}],"r":[{"a":1,"e":1,"o":1,"i":1,"u":1}]}],"j":[{"a":0,"e":0,"o":0,"i":0,"u":0}],"k":[{"a":0,"e":0,"o":0,"i":0,"u":0,"l":[{"a":1,"e":1,"o":1,"i":1,"u":1}],"r":[{"a":1,"e":1,"o":1,"i":1,"u":1}]}],"l":[{"a":0,"e":0,"o":0,"i":0,"u":0,"l":[{"a":1,"e":1,"o":1,"i":1,"u":1}]}],"m":[{"a":0,"e":0,"o":0,"i":0,"u":0}],"n":[{"a":0,"e":0,"o":0,"i":0,"u":0}],"ñ":[{"a":0,"e":0,"o":0,"i":0,"u":0}],"p":[{"a":0,"e":0,"o":0,"i":0,"u":0,"l":[{"a":1,"e":1,"o":1,"i":1,"u":1}],"r":[{"a":1,"e":1,"o":1,"i":1,"u":1}]}],"q":[{"a":0,"e":0,"o":0,"i":0,"u":0}],"r":[{"a":0,"e":0,"o":0,"i":0,"u":0,"r":[{"a":1,"e":1,"o":1,"i":1,"u":1}]}],"s":[{"a":0,"e":0,"o":0,"i":0,"u":[{"b":[{"r":2,"l":2}]},0]}],"t":[{"a":0,"e":0,"o":0,"i":0,"u":0,"s":[{"a":1,"e":1,"o":1,"i":1,"u":1}],"x":[{"a":1,"e":1,"o":1,"i":1,"u":1}],"z":[{"a":1,"e":1,"o":1,"i":1,"u":1}],"r":[{"a":1,"e":1,"o":1,"i":1,"u":1}]}],"v":[{"a":0,"e":0,"o":0,"i":0,"u":0}],"w":[{"a":0,"e":0,"o":0,"i":0,"u":0}],"x":[{"a":0,"e":0,"o":0,"i":0,"u":0}],"y":[{"a":0,"e":0,"o":0,"i":0,"u":0}],"z":[{"a":0,"e":0,"o":0,"i":0,"u":0}]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/4939.adapter.js b/public/tools/cloud_sheets/vendor/univer/4939.adapter.js new file mode 100644 index 0000000..5b493bc --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/4939.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[4939],{4939(e,a,t){t.r(a),t.d(a,{Nl:()=>s});const s=["04,0005,000005,005,00005,003,0004,004,0003,0032,0001,002,0002,00004,00045,00003,000004,0045,02,0034,0054,00000005,001,0043,00043,0041,00054,0023,000054,00034,4,044,00032,00052,00012,5,3,000045,2,03,21,41,01,0000005,23,05,00023,404,034,0014,032,023,0012,45,043,401,0052,1,423,0234,0434,00025,00434,000003,045,00204,0202,054,0021,52,0212,00001,403,00432,20003,14,414,34,00305,43,32,25,00234,00002,000454,000405,304,000034,025,2034,201,30054,2012,142,021,12,5003,02504,202,432,3003,434,00504,000434,232,5005,54,5034,104,2305,5404,0204,501,0024,042,00304,03005,0404,0000004,014,40004,4002,012,0232,04305,004004,041,0534,0454,0503,01004,0102,0432,0303,00505,1004,101,203,305,022,204,454,0214,000043,0403,301,234,3004,303,0044,3014,302,0414,00021,405,0025,000000005,2002,22,0412,04005,03004,0205,0104,00543,024,0042,031,035,055,1003,00202,02105,0305,00454,214,00044,124,505,00022,3443,04004,0022,342,52001,402,000404,00404,4305,3002,00554,412,00232,04123,5002,0402,545,3034,00014,325,052,103,30003,0502,345,00414,205,00405,00104,0013,3001,30014,000305,44,1043,0000054,3005,0035,0405,0252,452,343,3402,3405,252,4054,212,540003,45003,30543,21043,2103,20005,02004,241,4004,443,441,30004,4014,2052,24,5041,1005,503,5054,5004,00345,102,50034,50014,54004,3043,00402,0000045",'{".":[{"a":[{"a":[{"n":1,"r":[{"t":[{"s":2}]}],"t":1}],"b":[{"l":3}],"c":[{"h":[{"t":[{"e":[{"n":[{"d":4}]}]}]}],"r":[{"e":3}]}],"d":[{"i":1}],"f":[{"l":3,"s":3,"t":[{"u":[{"r":[{"e":4}]}]}]},5],"l":[{"e":[{"e":5}],"f":5,"k":[{"o":[{"v":4},3]},6],"m":[{"a":3}],"o":[{"m":5}],"s":[{"t":7}]}],"n":[{"a":[{"s":8}],"d":9,"e":[{"n":5}],"g":[{"l":5}],"t":[{"h":3}]}],"r":[{"d":3,"t":[{"r":3}]}],"s":[{"h":3,"l":3,"t":[{"r":[{"a":3}]},5],"u":5}],"t":[{"a":7}],"v":[{"e":[{"n":1}]}]},0],"b":[{"e":[{"l":[{"a":5}],"r":[{"a":3,"i":3}]}],"o":[{"s":10}]},0],"c":[{"o":[{"o":1,"r":[{"o":5}]}],"u":[{"s":1}]},0],"d":[{"a":[{"a":[{"r":4}],"g":[{"i":7,"r":1}],"k":11,"n":12}],"e":[{"b":[{"e":13}],"k":[{"l":1,"s":1},11],"n":[{"k":[{"r":14}]}],"o":[{"d":3}],"r":[{"o":5}],"s":[{"t":[{"a":3}]}]}],"i":[{"a":7,"e":[{"p":6}],"o":5}],"o":[{"e":[{"t":15}],"v":5}],"u":[{"w":7}]},0],"e":[{"d":[{"e":[{"l":[{"a":4}]},12],"w":5}],"e":[{"n":7,"r":[{"s":[{"t":[{"e":1}]}]}],"s":[{"t":[{"o":16},15]}],"t":8}],"i":[{"l":5,"s":[{"c":3,"p":5}],"t":3}],"l":[{"s":17}],"n":[{"s":3,"t":[{"h":3}]}],"p":[{"a":7}],"r":[{"e":[{"s":1}],"f":[{"l":8},11],"i":[{"n":5}],"t":[{"s":15},6]}],"s":[{"c":3,"p":[{"e":3}],"t":[{"r":3}]},5],"t":[{"e":[{"n":13}],"h":7,"s":[{"t":[{"e":[{".":1}]}]}]}],"u":[{"s":1},5]},0],"é":18,"f":[{"e":[{"l":[{"s":6}]}]},0],"g":[{"a":[{"a":[{"t":4}],"n":[{"g":[{"s":4}]}]}],"e":[{"a":[{"v":1}],"l":[{"a":19,"e":3,"o":[{"v":4}]}],"n":[{"a":[{"z":4},19],"e":3,"o":3}],"r":[{"a":5,"e":20,"o":20,"s":[{"t":[{"a":2}]}]}],"s":[{"k":3},5],"t":[{"a":3,"j":3,"o":3}]}],"i":[{"d":6}],"o":[{"m":7,"o":[{"t":15}]}]},0],"h":[{"a":[{"n":[{"d":[{"e":[{"l":[{"s":21}]}]}]}]}],"e":[{"r":[{"i":[{"n":1}]}]}],"i":[{"t":[{"s":[{"t":4}]}]}],"o":[{"l":[{"o":7}],"u":[{"d":[{"s":4}]}]}]},18],"i":[{"d":[{"e":[{"o":1}]}],"j":[{"s":[{"l":1,"p":8,"t":8},7]}],"k":5,"n":[{"d":20,"g":[{"r":3},19],"k":[{"r":3,"w":3},12],"s":[{"l":3,"t":3},19],"t":[{"a":3}]},22],"s":[{"c":3}]},0],"j":[{"o":[{"r":1}]},0],"k":[{"a":[{"d":5,"g":3,"t":[{"a":[{"a":7}]}]}],"e":[{"r":[{"k":[{"l":4,"r":4,"u":4}],"s":[{"t":[{"e":[{"n":1}]}]}]}],"s":7}],"o":[{"o":[{"t":4}],"p":[{"e":3,"l":1}],"v":5}],"u":[{"n":12}]},0],"l":[{"a":[{"a":[{"t":[{"s":[{"t":[{"e":4}]}]}]}]}],"e":[{"b":17,"g":[{"o":8,"r":23}],"i":[{"d":[{"s":[{"t":4}]}]}],"n":[{"s":24}],"r":20,"s":23,"t":[{"h":3}]}],"i":[{"n":[{"d":1}]}],"o":[{"f":1,"o":[{"t":15}],"s":25}],"u":[{"e":5,"i":[{"t":[{"j":26}]}],"s":7}]},0],"m":[{"a":[{"d":3,"ï":3}],"e":[{"e":[{"l":[{"d":4}]}],"l":[{"a":3}],"n":[{"i":3}],"r":[{"k":[{"l":4}]}],"s":[{"t":7},11],"t":[{"e":[{"e":1}]}]}],"i":[{"j":[{"n":[{"i":14}]}]}],"o":[{"o":[{"t":15}],"r":[{"s":[{"t":[{"e":[{"n":1}]}]}]}],"s":7}]},0],"n":[{"a":[{"a":[{"t":4}],"d":5,"n":5,"s":19}],"e":[{"e":[{"s":1}],"p":[{"a":8},11],"s":7,"t":[{"e":3,"j":23}],"u":[{"t":[{"j":14}]}]}],"i":[{"e":[{"t":[{"j":14}]}]}],"o":[{"o":[{"t":4}],"s":[{"t":1}],"v":3}]},0],"o":[{"e":[{"r":17,"s":17,"v":[{"e":13}]}],"l":[{"f":5}],"m":[{"m":[{"e":15}]},22],"n":[{"a":5,"d":[{"e":[{"r":13}]},5],"e":22,"g":3,"i":5,"k":3,"o":[{"v":1},22],"t":[{"e":[{"e":7,"r":7}],"s":1},27]}],"o":[{"i":[{"t":[{"j":1}]}],"t":[{"j":[{"e":[{"s":1}]}]}]}],"p":[{"e":[{"e":3}],"i":1,"l":3,"r":5,"s":3}],"r":[{"g":6}],"s":3,"v":[{"e":6}]},0],"p":[{"e":[{"e":[{"t":[{"j":1}]}],"r":[{"i":4,"s":[{"t":[{"e":[{".":4}]}]}]}]}],"i":[{"e":[{"t":[{"j":4}]}],"t":[{"s":[{"t":[{"e":[{".":4}]}]}]}]}],"o":[{"o":[{"r":[{"t":[{"j":2}]}]}],"s":[{"t":7}]}],"u":[{"i":[{"t":[{"j":1},13]}],"t":11}]},0],"r":[{"a":[{"a":[{"d":[{"s":[{"l":[{"e":2}]}]}]}],"n":[{"d":[{"a":4},6]}]}],"e":[{"m":[{"e":[{"n":7}]}],"n":[{"o":[{"v":4},6]}],"o":3}],"i":[{"e":[{"t":24}],"j":[{"s":[{"p":1}]}],"n":[{"g":[{"s":28}]}]}],"o":[{"e":[{"t":[{"j":1}]}],"l":7,"s":[{"t":7}],"t":[{"h":23}],"v":3}]},0],"s":[{"a":[{"p":8,"v":3}],"c":[{"i":8}],"e":[{"e":8,"k":[{"s":[{"t":[{"e":4}]}]}],"r":[{"e":3}],"t":8,"v":3}],"i":[{"d":[{"e":15}]}],"k":[{"i":[{"s":29}]}],"n":[{"e":[{"u":15}],"o":12}],"o":[{"k":27,"n":[{"g":4}]}],"p":[{"o":[{"o":[{"r":[{"t":[{"j":2}]}]}]}]}],"t":[{"e":[{"m":6}]},7]},0],"t":[{"a":[{"a":[{"r":[{"t":[{"j":2}]}]}],"n":[{"d":[{"a":6}]}]}],"e":[{"a":7,"f":7,"k":12,"l":[{"e":5}],"n":[{"a":[{"c":1}],"o":5,"t":[{"j":14}]}],"r":[{"a":5,"p":[{"a":14}],"s":1}],"s":7}],"i":[{"n":[{"a":8,"e":8},11]}],"o":[{"e":[{"p":[{"r":1}]}],"l":[{"o":7}],"p":7,"v":3}],"r":[{"i":[{"s":29}]}],"s":[{"a":8},7],"u":[{"i":[{"t":[{"j":4}]}]}],"y":[{"r":11}]},0],"u":[{"i":[{"s":3,"t":[{"j":[{"e":6}]},10]},11],"k":[{"e":1}],"r":[{"a":7}]},0],"v":[{"a":[{"a":[{"t":[{"j":4}]}]}],"e":[{"n":[{"t":[{"j":14}]}],"r":23,"s":[{"p":1}],"t":[{"j":8}]}],"i":[{"e":[{"r":6}]}],"o":[{"l":[{"s":1}]}]}],"w":[{"a":[{"l":[{"s":[{"t":[{"e":[{".":4}]}]}]}]}],"e":[{"e":[{"k":[{"o":6}],"t":24}],"l":23,"n":[{"s":[{"t":14}]}],"s":[{"t":[{"r":4}]}]}],"i":[{"n":[{"s":6}]}]},0],"x":[{"e":5}],"y":18,"z":[{"e":[{"s":1}],"i":[{"t":1}],"o":[{"o":[{"i":4}]}]},0]}],"a":[{".":30,"a":[{"d":[{"a":10,"o":10,"r":10,"s":[{"a":[{"p":1}]}]},30],"f":[{"a":1}],"g":[{"a":10,"e":8,"o":8,"r":1,"s":[{"a":8,"o":1,"p":8},13]},30],"i":[{"l":8}],"k":[{"a":10,"e":32,"o":10,"r":1,"s":[{"p":8}]}],"l":[{"a":33,"e":10,"f":[{"o":[{"l":2},26]}],"i":10,"k":1,"m":1,"o":34,"s":[{"l":8,"o":1,"p":[{"e":1}],"t":[{"e":1}]}],"u":10}],"m":[{"a":10,"o":8,"s":[{"t":[{"a":6,"e":6}]}]}],"n":[{"a":10,"d":[{"e":[{"e":35}],"r":13}],"e":34,"g":1,"i":1,"j":36,"k":26,"n":36,"o":8,"s":[{"p":[{"o":13},8]}],"t":[{"a":36},13],"v":36}],"p":[{"a":10,"i":8,"o":32,"r":8}],"r":[{"a":8,"d":[{"a":[{"s":14}]}],"e":29,"i":10,"n":30,"o":34,"s":[{"p":[{"e":[{"l":1}]}]}],"t":[{"o":[{"n":14}],"s":[{"l":2}]}],"u":8}],"s":[{"e":8,"i":8,"t":[{"r":1},30]}],"t":[{"a":8,"e":1,"h":8,"i":8,"o":10,"r":1}]},31],"b":[{"a":[{"k":[{"s":37}],"l":6,"t":[{"s":13}]}],"e":[{"u":[{"n":3}]}],"i":[{"j":[{"z":5}]}],"o":[{"n":18,"o":[{"t":[{"j":16}]}],"t":[{"j":13}]}],"r":[{"u":5},38]}],"c":[{".":30,"a":[{"l":39,"r":39}],"e":[{"s":[{"t":8}]},30],"h":[{".":30,"a":39,"e":40,"i":41,"l":8,"o":42,"r":39,"s":30,"t":[{"e":[{"c":1}]}],"u":[{"u":[{"t":43}]},42]}],"k":[{"l":5},30],"l":38,"o":44,"r":[{"e":[{"s":3}]},38],"t":[{"a":30}],"u":30}],"d":[{".":30,"a":[{".":45,"c":5,"d":12,"l":6,"r":46,"s":4}],"d":38,"e":[{".":45,"i":5,"r":[{"e":1}],"s":45,"t":[{"a":45,"e":19},39]}],"h":38,"i":[{"a":[{"l":8}],"o":[{"c":6,"d":6}]},47],"k":30,"l":38,"o":[{".":30,"o":39}],"p":38,"r":[{"e":[{"i":5}],"i":48,"o":[{"l":5}]}],"s":[{"e":3,"o":5,"t":[{"a":3},49]},38],"u":[{"i":5}],"w":5,"y":38}],"e":[{"g":[{"e":13}],"k":20,"p":50,"r":5,"s":[{"t":17},27],"u":39},30],"ë":[{"r":0},18],"f":[{"a":[{"a":5,"c":51,"s":7,"t":7},30],"d":[{"i":6,"r":12,"w":20}],"e":[{"e":13},30],"i":30,"l":5,"o":[{".":45,"e":18,"n":[{"d":13}],"p":5,"r":[{"g":3}]},30],"r":22,"s":[{"c":12,"e":3,"l":36,"p":36},19],"t":[{"a":6,"r":3}],"u":[{"i":5}],"y":38}],"g":[{".":30,"a":[{"d":52,"f":5,"m":9,"r":5}],"d":[{"i":5}],"e":[{".":45,"e":[{"t":4}],"n":[{".":53}],"r":[{"s":13}],"x":5}],"i":[{"l":0,"n":[{"d":5,"s":54}],"o":[{"t":1}]}],"l":55,"o":[{"f":5,"r":54,"v":23}],"r":[{"a":[{"p":3},7],"u":5},18],"s":[{"l":[{"e":7,"u":3},5],"p":[{"e":5,"i":5},12],"t":[{"a":5,"r":3},22]}],"t":38,"u":[{"a":1,"i":51,"r":19,"u":51}]}],"h":[{"a":41,"e":[{"r":[{"i":1}]},53],"i":42,"l":5,"o":39,"r":3,"t":56,"u":39,"y":39},38],"i":[{"a":56,"d":[{"r":7}],"e":22,"j":42,"k":3,"l":[{"m":8,"o":11}],"n":18,"o":[{"v":5},6],"s":[{"c":3,"l":17,"n":3,"o":22,"t":22},19],"t":[{"j":3,"r":5}],"u":6}],"ï":[{"n":[{"s":4},6],"s":[{"o":29}]}],"j":[{"a":[{"a":[{"r":[{"s":43}]}]}]},40],"k":[{"a":[{"f":5,"g":5,"r":54},12],"e":[{"d":54,"m":[{"i":5}],"t":12}],"i":[{"d":5,"n":[{"k":5}],"s":3}],"k":[{"o":57}],"l":58,"n":[{"e":3,"i":7},51],"o":[{"f":39,"n":5,"p":9}],"r":[{"u":3},18],"s":[{"o":7,"p":[{"e":3}],"t":22},38],"t":[{"o":3,"w":20}],"u":59,"w":[{"i":5},22]}],"l":[{"a":[{"c":[{"h":54}],"d":[{"r":5}],"g":48,"l":39,"p":[{"r":45}],"r":[{"t":5}]},42],"d":30,"e":[{".":45,"f":[{"f":5}],"g":38,"l":51,"r":[{"o":1}],"s":[{"t":[{"e":1}]}],"t":[{"j":6}]},42],"è":39,"f":[{"e":[{"n":7}],"l":8,"o":[{"n":3}],"u":13}],"g":[{"l":11}],"i":[{"e":39,"n":[{"t":5}]}],"k":[{"e":[{"i":1}],"l":[{"e":3}],"s":8,"u":[{"i":7}]}],"l":[{"e":3}],"m":[{"a":[{"c":7}],"e":3}],"o":[{"l":54,"n":12,"u":5,"v":60},42],"p":38,"s":[{"a":[{"g":19,"n":5}],"c":[{"r":5}],"j":1,"l":[{"i":1},11],"m":1,"n":7,"o":[{"o":23}],"t":[{"e":[{"m":7,"n":3}],"o":[{"u":1}]}]}],"t":[{"a":[{"a":[{"r":43}]}],"h":[{"a":5}],"r":[{"o":23}],"s":[{"t":6}]}],"u":[{"i":[{"t":5},18],"r":19,"s":61},42]}],"m":[{".":30,"a":[{"c":54,"d":[{"r":5}],"f":6,"g":30,"r":[{"t":5}]}],"b":[{"t":35}],"e":[{"n":[{"t":[{"j":16}]}],"r":[{"a":[{"n":6}]}],"t":[{"j":1}],"u":18}],"i":7,"m":30,"o":[{"l":[{"i":5}],"v":59}],"p":[{"è":36,"l":[{"e":7},11]}],"s":[{"m":7,"o":23,"p":[{"r":7}],"t":[{"e":[{".":1}]}]}],"u":[{"i":51}]}],"n":[{"a":[{"d":39,"l":[{"g":5}],"n":23,"r":[{"c":5}]}],"c":38,"d":[{"a":[{"d":13,"n":[{"k":1}]},30],"e":[{"d":62,"x":7}],"j":38,"o":[{"m":7}],"r":[{"i":20,"o":[{"o":1}]}],"s":[{"l":[{"o":4}]}],"u":[{"l":23}]}],"e":[{"m":0,"n":[{"i":15},39],"r":30,"s":[{"t":5}],"u":[{"s":8}]}],"g":[{".":30,"a":[{"n":7,"p":4}],"e":[{"s":[{"t":4}]}],"l":[{"e":1}],"r":11,"s":[{"n":[{"a":1}],"t":[{"e":13}]}]}],"i":[{"e":[{"t":63}],"j":13,"m":[{"a":36}],"o":[{"n":3}],"s":[{"l":64}],"t":1,"v":30}],"k":[{".":30,"a":[{"a":7,"n":13,"s":23}],"j":27,"l":[{"u":7}],"o":[{"f":8}],"r":27}],"o":[{"c":[{"h":5}],"o":[{"r":54}],"r":[{"k":5}],"s":8,"t":29,"u":54,"v":1},42],"s":[{"a":[{"n":5}],"c":[{"r":8}],"e":[{"g":7,"r":[{"v":7}]}],"i":[{"d":7}],"o":[{"r":1},65],"p":[{"i":[{"r":1},8]}],"t":[{"e":[{".":17}],"r":[{"u":3}]},22]},30],"t":[{"a":[{"c":7}],"e":[{"n":13}],"h":5,"i":38,"s":[{"l":1}],"w":8}],"u":[{"f":45,"i":5,"r":5,"u":5},41],"z":[{"e":[{"s":4}]}]}],"o":[{"g":7,"l":11,"m":0,"p":66,"r":[{"t":1}],"s":[{"p":8,"t":1},39]},40],"p":[{".":30,"a":[{"k":0,"s":[{".":5,"s":5},0]},42],"e":[{"t":[{"e":[{"n":3}]}]},42],"i":[{"j":[{"t":[{"j":37}],"z":5}]},41],"j":22,"l":[{"e":5,"i":5,"o":5,"u":42},38],"o":[{"n":4,"o":5,"p":8,"s":[{"t":[{"a":1}]}],"v":19}],"p":[{"a":57,"e":[{"n":30}]}],"r":[{"a":5,"e":[{"m":0},39],"i":[{"s":67}],"u":5},30],"s":[{"a":11,"i":7,"l":27,"n":5,"t":[{"e":[{".":7}]}]}],"t":[{"j":5},38],"u":38}],"q":18,"r":[{".":30,"a":[{"a":[{"t":[{"j":2}]}],"p":[{"p":54}],"s":29},42],"d":[{"a":[{"c":8,"k":8},11],"o":[{"m":23,"p":23,"v":23},13],"r":[{"a":7,"e":8},68],"u":7,"w":8}],"e":[{"a":69,"g":39,"m":39,"n":[{"o":6},7],"s":[{"p":8}],"v":39},42],"g":[{"h":5,"l":11}],"i":[{"e":[{"t":[{"j":13}]}],"j":[{"s":15}],"n":[{"s":5}]},42],"k":[{"a":[{"c":8}],"l":19},12],"m":[{"a":[{"p":7}],"u":8}],"o":[{"b":51,"g":[{"e":5}],"k":[{"o":6},39],"o":[{"g":5}],"p":70,"t":39},42],"p":[{"i":13}],"s":[{"c":[{"h":3,"r":5}],"e":[{"e":3},12],"i":5,"l":[{"a":7},8],"m":1,"n":[{"i":5}],"o":7,"p":[{"o":3},7],"t":[{"a":[{"l":1},8],"e":[{"k":17}],"r":7}],"u":7},11],"t":[{"a":[{"a":6,"k":23,"n":[{"k":1},7],"p":7,"r":5}],"e":[{"i":7},30],"h":11,"i":[{"j":3}],"j":[{"e":[{"s":[{"v":1}]}]},47],"o":[{"f":3,"g":[{"e":26}],"o":[{"g":1}],"v":62},30],"r":[{"o":7,"u":1},27],"s":[{"l":6,"t":[{"e":1}]}]}],"u":[{"i":5},39],"w":[{"e":[{"s":15}]},30],"y":42}],"s":[{"a":[{"d":5,"g":7,"k":5,"p":22},30],"c":[{"e":3},18],"e":[{"c":0,"g":54,"r":[{"a":4}],"t":[{"j":1}],"v":[{"e":16}]},38],"h":[{"a":3}],"i":[{"s":71}],"j":[{"a":3,"i":5},0],"k":[{"a":3,"i":3},5],"l":[{"u":7},5],"m":[{"i":3},5],"n":[{"e":7,"i":7},5],"o":[{"b":5,"l":12,"r":6},30],"p":[{"l":5},22],"q":64,"s":[{"a":3,"m":30,"u":36}],"t":[{"a":[{".":0,"g":3,"s":7,"t":7},72],"e":[{"k":39,"m":39,"n":3},5],"è":5,"i":[{"n":[{"g":[{"s":[{"p":43}]}]}]}],"o":[{"b":5,"p":8},22],"r":[{"e":[{"m":1}],"o":[{".":3}]},30],"u":7},18]}],"t":[{"a":[{"a":[{"r":[{"t":[{"j":43}]}]}],"c":22,"d":[{"e":5}],"f":[{".":5}],"n":[{"k":5}],"s":8}],"e":[{"k":38,"l":[{"l":45}],"n":[{"o":8,"t":[{"r":37}]},12],"r":[{"a":[{"d":4}],"s":[{"l":4}]}],"u":7}],"g":38,"h":[{"u":5}],"i":[{"n":[{"i":1}]}],"j":[{"e":[{"s":[{"b":3,"h":3,"m":3,"p":3},2]},7]},51],"m":38,"n":38,"o":[{"o":[{"g":5},18],"s":[{"f":4,"t":8}]}],"r":[{"a":[{"c":5}],"e":[{"i":5}],"i":[{"b":5}],"o":[{"e":7}],"u":3}],"s":[{"a":73,"e":[{"c":23}],"i":[{"d":23},13],"l":[{"o":7},27],"m":1,"n":[{"e":7},8],"p":[{"r":8}],"t":[{"a":[{"a":7,"k":17}],"e":[{".":7,"n":3}],"i":[{"j":3}],"o":[{"l":1,"p":[{".":1}]}],"r":[{"e":[{"k":1}]}]},11]}],"t":[{"u":62}],"u":[{"i":51}],"w":5},42],"u":[{"a":6,"c":[{"h":5,"o":5}],"d":[{"e":3,"j":6}],"g":57,"n":[{"a":5,"t":8}],"p":12,"r":[{"e":[{"u":15},3]},6],"s":[{"o":5,"p":17,"t":[{"o":5}]},30],"t":[{".":30,"o":[{"p":15},57],"s":74},19],"w":[{"a":8}],"z":30}],"ü":0,"v":[{"a":[{"s":[{"t":16}]}],"e":[{"c":8,"e":13,"n":[{"i":24,"s":[{"p":4}]}],"r":[{"a":15,"e":8,"u":29}]}],"i":30,"o":[{"n":75,"o":45,"r":45},18],"y":30}],"w":40,"x":[{"i":[{"s":13}]}],"y":[{"a":11}],"z":[{"i":[{"f":30}]}]}],"ä":[{"h":39,"m":[{"m":[{"e":15}]}],"r":39}],"b":[{".":30,"a":[{"a":[{"r":[{"s":[{"t":[{"e":4}]}],"t":[{"j":4}]}]}],"d":[{"a":[{"r":8},7],"r":23,"s":8}],"g":[{"h":19,"l":5}],"k":[{"o":62,"s":[{"p":6}]},69],"l":[{"a":[{"n":5,"r":7}],"d":[{"w":8}],"e":[{"v":8},13],"i":[{"ë":5}],"k":[{"l":6}],"o":5,"s":[{"f":8},13]}],"m":[{"e":7}],"n":[{"a":56,"k":[{"a":24,"l":6,"o":24,"r":6,"w":15}]}],"s":[{"a":5,"t":7}],"t":[{"r":[{"o":5},11]}]},36],"b":[{"e":[{"l":[{"a":[{"g":14}],"e":[{"e":14}]}],"n":[{"a":15},12]}]},30],"c":41,"d":[{"e":45,"i":[{"a":1}]},76],"e":[{"a":[{"s":5,"u":11},22],"c":[{"h":5}],"d":[{"w":[{"e":3,"i":3,"o":3}]}],"e":[{"t":71},6],"g":3,"i":[{"e":13,"s":8,"t":[{"j":1}]}],"k":[{"i":3,"l":19,"w":22}],"l":[{"a":[{"r":5,"s":20}],"d":[{"r":1}],"e":[{"c":23,"x":7},5],"f":1,"i":[{"n":[{"t":17}]},5],"k":8,"o":[{"v":78},6],"s":[{"c":8,"p":8}],"t":13}],"m":[{"e":[{"n":[{"s":16}]}]}],"n":[{"e":[{"p":5}],"o":20}],"o":[{"t":3}],"r":[{"a":22,"e":[{"s":28}],"g":[{"a":[{"f":14}],"e":[{"t":14}],"l":6,"r":6}],"i":6,"o":[{"v":4},49],"u":5,"y":5}],"s":[{"a":[{"c":1}],"h":7,"j":[{"e":7}],"o":5,"p":3,"s":1,"t":[{"e":[{".":1,"n":[{".":1}]}],"i":[{"e":3}]}]},49],"t":[{"h":19,"o":[{"n":3}],"r":[{"e":[{"n":1}]}],"w":[{"i":3},5]},12],"u":[{"n":[{"d":5}],"r":[{"s":13}]}]},77],"f":79,"g":40,"h":79,"i":[{"d":[{"s":8,"u":11}],"e":[{"l":[{"i":6}],"n":7,"t":[{"j":24}]}],"j":[{"d":1,"f":8,"g":29,"k":26,"p":10,"s":34}],"k":[{"a":6}],"l":[{"o":5,"s":32},35],"n":[{"d":[{"r":6}],"s":[{"t":6}],"t":[{"j":24}]}],"o":[{"b":3,"k":5,"m":3,"s":[{"o":5}],"w":3}],"r":8,"s":[{"t":[{"r":[{"o":[{"o":1}]}]},7]}],"t":[{"r":22,"s":[{"e":6,"p":24}]}]},80],"j":41,"k":41,"l":[{"a":[{"d":[{"i":[{"j":4}]}],"p":81}],"e":[{"d":45,"s":[{"p":[{"e":1}]},15],"t":46}],"i":[{"d":45,"j":[{"s":[{"t":[{"e":4}]},16]}],"k":12}],"o":[{"i":53,"k":[{"l":4}],"o":[{"t":[{"j":2}]}]}],"u":[{"s":12}]},77],"m":40,"n":41,"o":[{"d":[{"e":[{"c":23}],"y":15}],"e":[{"g":[{"a":24}],"k":[{"n":6,"o":6}],"s":[{"t":8},13],"t":[{"s":[{"t":4}]}]}],"f":[{"l":19}],"k":[{"a":[{"n":8}],"j":[{"e":2}],"s":[{"t":6}]},11],"l":[{"k":13}],"m":[{"a":82,"o":27}],"n":[{"a":3,"d":[{"s":37},83],"e":36,"o":5,"t":[{"j":24,"o":84}]}],"o":[{"t":[{"j":15,"s":[{"t":[{"e":[{".":2}]}]}]}]}],"p":9,"r":[{"s":[{"t":[{"a":6,"o":2,"r":85}]}]}],"s":[{"a":8,"c":[{"o":3}],"i":3,"o":3,"p":1,"t":[{"o":1}]},7],"t":[{"j":8,"o":7,"r":8,"s":[{"p":6,"t":6}],"u":11}],"u":[{"t":[{"a":1}],"w":[{"s":4}]}],"v":[{"e":13},5]},0],"p":41,"r":[{"a":[{"a":[{"d":[{"s":2}]}],"n":[{"d":[{"a":13}]}],"s":[{"t":[{"r":1}]}]}],"e":[{"i":[{"s":28}]}],"i":[{"e":[{"t":[{"j":[{"e":[{".":4}]}]},13]}],"l":6}],"o":[{"n":[{"o":87},12]}],"u":[{"l":12}]},86],"s":[{"a":88,"c":45,"i":[{"d":8},39],"j":[{"e":3}],"l":[{"a":88}],"m":88,"s":3,"t":[{"i":[{"j":0}]}]},76],"t":[{"a":39,"r":42,"s":1},47],"u":[{"i":[{"t":[{"j":13}]}],"l":[{"k":6,"u":7}],"n":[{"e":[{"t":4}]}],"r":[{"b":45,"i":3}],"s":[{"c":1,"o":8}],"t":[{"a":6,"j":8,"o":11,"s":[{"t":[{"e":4}]},6]}],"u":[{"r":[{"t":[{"j":13}]}]}]},77],"v":30,"w":44,"y":5,"z":30},57],"c":[{".":30,"a":[{".":36,"b":5,"c":[{"h":22}],"d":[{"a":35,"o":5,"r":5}],"e":8,"g":9,"l":[{"l":24,"o":5}],"m":[{"e":[{"r":4}]}],"n":[{"a":5,"t":13}],"o":[{"f":11}],"p":[{"r":[{"a":7,"i":3},22]}],"r":[{"a":5,"u":6}],"s":[{"e":3,"p":9,"t":[{"r":1},8]}],"t":[{"a":5,"e":[{"n":13}],"h":19}],"u":[{"s":[{"t":6}]},8],"v":5},57],"b":38,"c":[{"a":8,"e":[{"s":4}]},41],"d":[{"o":45},0],"e":[{"d":36,"e":[{"l":36},6],"l":[{"d":8,"e":[{"s":2}],"i":3,"k":1,"o":23},36],"n":[{"a":89,"e":38,"o":5,"t":[{"j":24},35]}],"o":6,"r":[{"a":5,"n":12,"o":3,"t":[{"r":24}]}],"s":[{"a":9,"c":3,"h":9,"t":[{"a":5,"i":19}],"u":[{"r":4}]},11],"t":[{"a":5,"j":23,"o":[{"g":8,"o":8},13]}]},57],"é":57,"g":39,"h":[{".":30,"a":[{"ï":36,"o":35,"s":36,"u":[{"f":35},57]}],"c":38,"e":[{"f":[{".":35,"s":35},57],"m":[{"i":35}],"q":35,"r":[{"i":1,"u":8}],"s":35,"u":[{"s":8}]}],"é":57,"i":[{"r":35}],"n":30,"p":38,"r":[{"o":[{"m":[{"o":35}]}]}],"t":30,"w":30,"y":57}],"i":[{"a":[{"b":3,"m":5}],"e":[{"k":8,"r":[{"s":37}],"u":22}],"j":35,"l":[{"e":3,"m":8},35],"n":[{"d":30}],"o":[{"m":3},5],"r":35,"t":[{"a":3},9]},36],"j":39,"k":[{"a":51,"e":[{"d":54,"f":5,"r":[{"e":1}],"t":67}],"i":[{"d":5}],"l":[{"e":7},51],"n":51,"o":59,"r":54,"s":[{"e":3,"o":5,"t":3}],"y":39}],"l":[{"a":[{"n":12}],"e":[{"u":8}],"u":35},75],"n":40,"o":[{"a":[{"d":5}],"d":5,"i":[{"n":4},7],"k":19,"l":[{"a":5}],"m":35,"n":[{"d":35,"g":10,"o":90,"s":35,"t":91}],"o":38,"p":[{"a":36,"i":30},92],"r":[{"d":[{"r":6}],"e":[{"l":7}],"i":3,"o":12,"r":35,"s":13,"u":5}],"s":[{"c":3,"e":3,"p":3}],"t":[{"h":5,"r":5}],"u":[{"n":35,"t":38}],"v":3},57],"p":48,"r":[{"a":[{"s":36}],"e":[{"d":1}],"i":[{"p":38,"s":36}],"o":[{"f":1,"k":1,"o":15,"v":1}],"u":[{"s":4}]},93],"s":[{"o":39,"p":39,"t":[{"e":39}]}],"t":[{"a":[{"c":[{"t":5}],"d":5}],"c":3,"e":[{"e":[{"t":4}],"n":46}],"h":94,"j":51,"o":[{"f":54,"l":39,"n":94,"r":7}],"r":[{"a":[{"p":5}],"e":54}],"s":[{"l":5,"p":5}]},40],"u":[{"d":20,"e":[{"n":5}],"é":[{"s":5}],"i":[{"s":1,"t":[{"e":4},12]}],"k":19,"l":[{"a":[{"p":4}]}],"r":[{"a":5,"s":96}],"s":[{"o":8}]},95],"w":39,"y":57}],"ç":[{"a":[{"o":7}]},57],"d":[{".":30,"a":[{".":36,"a":[{"g":36,"l":0,"p":39,"r":[{"e":4}],"t":35}],"b":[{"o":30}],"c":[{"c":44,"e":7}],"d":[{"e":[{"n":3}],"r":30}],"e":36,"f":40,"g":[{"a":82,"e":[{"d":23,"t":62},5],"o":[{"n":23}],"r":23,"s":[{"t":24}],"u":11},36],"i":36,"ï":5,"k":[{"e":[{"r":7},5],"k":38,"r":25}],"l":[{"a":[{"r":39},30],"c":39,"e":5,"f":30,"i":5,"m":38,"u":27}],"m":[{"a":[{"c":3,"t":48},6],"e":[{"s":63},97],"p":[{"l":6}]},0],"n":[{"a":[{"s":8},98],"k":[{"l":15}],"o":[{"o":[{"t":43}]}],"s":[{"i":6,"m":6,"p":24,"t":[{"a":4},6]}],"t":[{"w":79}]}],"p":[{"e":99,"u":35},40],"r":[{"a":27,"b":39,"e":36,"i":36,"m":[{"o":[{"n":4},6]}],"o":36,"s":[{"t":1},8]}],"s":[{"a":35,"t":[{"u":5}]},100],"t":[{"a":5,"j":1,"l":53,"m":53,"r":27},77],"u":[{"e":35,"t":41,"w":36}]},57],"b":[{"e":[{"i":4}],"o":[{"u":[{"w":[{"i":37}]}]}]},38],"c":81,"d":[{"a":[{"g":[{"s":[{"p":4},16]}]}],"e":[{"l":[{"e":[{"v":4}]}],"n":[{"a":4},12],"r":[{"a":[{"l":4},16],"e":[{"e":4,"p":4},16],"o":15}]}],"i":[{"a":8}],"l":[{"e":[{"s":45}]}],"o":[{"p":8},45]},101],"e":[{".":36,"a":[{"l":11}],"c":[{"h":22}],"d":[{"e":[{"n":64}],"i":[{"r":35,"t":7}]}],"e":[{"g":24,"l":[{"i":15},6],"n":79,"r":6}],"f":[{"f":79}],"g":[{".":53,"g":53,"y":81},5],"i":[{"e":39,"g":39,"l":39,"s":42,"w":39},38],"k":[{"e":5,"l":[{"u":8}],"w":8},35],"l":[{"a":[{"a":6}],"d":[{"a":1,"r":1}],"e":[{"e":[{"k":1}],"k":101,"m":30,"v":7}],"i":[{"t":101}],"k":8,"s":[{"e":24,"i":15,"o":6},12]}],"m":[{"a":[{"i":101}],"h":38,"i":35,"o":[{"n":[{"d":1}]}]}],"n":[{".":18,"a":[{"c":6,"t":[{"e":1}]}],"e":[{"i":8,"p":29,"v":8}],"g":[{"t":79}],"k":[{"o":[{"f":14}]}],"o":[{"c":7,"r":29}],"s":[{"h":8,"t":[{"r":1}]}],"u":5,"v":[{"l":35}]}],"o":[{"f":[{"o":3}],"l":[{"i":6},3],"v":8},7],"r":[{"a":[{"b":5,"d":23,"g":29,"k":5,"m":5,"n":5,"p":5,"s":[{".":17,"s":17},5]}],"e":[{"d":[{"e":1}],"g":[{"d":1}],"i":23,"m":23,"n":102,"p":7,"t":7},12],"i":[{"j":3,"m":23}],"k":29,"o":[{"n":8,"r":13,"s":79}],"s":[{"a":24,"o":[{"m":14}],"t":[{"e":1,"o":1,"r":[{"a":1}]}]}],"t":[{"h":1,"s":79,"w":1}],"u":[{"p":5},27]}],"s":[{"a":[{"v":5}],"m":8,"n":8,"p":[{"e":[{"l":3},5],"l":7},8],"s":[{"m":1}],"t":[{"a":[{"k":1,"l":3}],"e":23,"i":[{"c":3},7],"o":[{"p":1}]},5]},11],"t":[{"a":[{"p":101}],"w":3},19],"u":[{"r":[{"o":103}],"s":[{".":5}],"t":[{"j":6}]}],"v":[{"e":13}],"x":[{"a":41,"p":30},38]},57],"è":36,"f":40,"g":[{"a":[{"f":0}],"e":[{"l":[{"a":8}],"t":[{"o":[{"n":4,"v":4},16],"r":6},12]}],"l":7},44],"h":[{"e":[{"e":[{"r":16}]},45],"i":[{".":77}]},40],"i":[{"a":[{"e":3,"k":7,"n":[{"o":7}],"s":29,"t":[{"r":7}]},11],"c":[{"h":35}],"d":[{"o":7}],"e":[{"f":12,"r":[{"o":24}],"s":[{"r":5,"t":8}],"t":[{"r":15},12],"u":22}],"g":[{"a":[{"a":1},11],"e":[{"s":2}]},36],"j":[{"k":[{"r":15}],"o":5,"z":44}],"k":[{"o":82}],"l":35,"m":[{"p":44}],"n":[{"a":56,"d":44,"f":38,"g":[{".":77,"e":[{"l":53}]}],"j":79,"k":[{"o":79}],"r":81,"s":44,"t":[{"e":[{"l":43}]},79],"v":44,"w":44,"z":44}],"o":[{"f":[{"o":[{"n":3}]}],"l":7,"n":[{"e":7,"i":7}],"s":[{"c":1},10]},11],"r":[{"o":104,"r":44}],"s":[{"a":[{"g":1}],"e":3,"i":3,"k":[{"r":6}],"p":1,"t":[{"r":1},10]},86],"t":[{"h":5,"j":8,"r":8}],"v":35},57],"j":40,"k":104,"l":[{"e":[{".":45}],"i":[{"n":6}],"o":[{"t":[{"s":13}]}]},79],"m":40,"n":[{"e":45,"i":[{"s":8}]},104],"o":[{".":36,"a":5,"b":[{"j":38,"s":79}],"e":[{".":35,"d":1,"f":[{"e":45},30],"k":35,"n":35,"t":35,"v":53},77],"i":36,"l":[{"e":0,"i":[{"n":0},98],"k":[{"s":4}],"s":105}],"m":[{".":77,"i":35,"o":62,"r":39,"s":[{"n":6}],"u":35,"v":39,"z":30}],"n":[{".":35,"a":0,"e":35,"i":3,"n":106,"o":107,"u":5,"y":3,"z":35}],"p":[{"a":5,"b":39,"d":39,"e":[{"e":5}],"j":35,"l":41,"o":36,"s":39,"z":39},38],"r":[{"g":53,"i":[{"ë":7}],"k":39,"s":[{"m":4}]}],"s":[{"p":5,"t":[{"a":5}]}],"t":[{"j":8}],"u":35,"v":[{"e":[{"r":[{"s":2}]}],"l":36,"o":36},38]},57],"p":[{"r":[{"e":[{"n":16}]}]},44],"r":[{"a":[{".":35,"a":[{"m":39,"p":39}],"c":[{"e":45,"h":35},0],"d":[{".":39,"a":39}],"f":35,"g":106,"m":[{"a":0,"e":39}],"n":[{"d":79}],"p":30,"s":30,"z":79},36],"e":[{"c":[{"o":45},41],"d":42,"e":[{"k":79},18],"n":[{"d":30}],"s":[{"s":0}],"t":30,"v":[{"e":35},80]},38],"i":[{"c":39,"e":[{"s":16}],"f":69,"g":[{"a":1}],"j":[{"d":39,"k":39,"m":39,"s":39}],"n":106,"s":36,"t":79}],"o":[{"e":[{"i":79,"r":39}],"g":69,"k":79,"m":[{"a":39}],"n":[{"d":39}],"o":[{"g":36,"s":30}],"p":35,"u":38,"v":109,"z":38}],"u":[{"g":[{"s":13}],"i":[{"m":39,"t":39}],"k":110,"s":79}]},108],"s":[{"a":[{"a":0,"b":6,"l":39,"t":[{"e":7}]},70],"c":[{"h":[{"i":45},11]}],"e":[{"c":[{"o":5}],"d":54,"e":64,"f":0,"i":[{"s":5},0],"l":[{"f":5,"i":6}],"n":45,"s":54,"t":0},12],"h":[{"o":5},18],"i":[{"d":64,"g":[{"a":4}],"m":11,"n":[{"g":7}],"s":3},70],"j":[{"o":[{"n":3},7]},54],"l":[{"a":[{"s":3},42],"i":[{"c":3,"e":64,"m":3,"n":39}]},7],"m":[{"a":[{"k":7}],"i":[{"j":39}],"o":3},18],"n":[{"e":[{"u":3},7],"u":39},5],"o":[{"b":5,"m":5,"n":0,"o":11,"p":5},49],"p":[{"a":[{"n":45,"t":[{"i":3}]},0],"e":[{"c":45,"l":67,"t":54}],"i":42,"l":54,"o":[{"e":45,"k":45,"r":45}]}],"s":3,"t":[{"a":[{"a":[{"t":45}],"b":0,"k":5,"l":54,"n":7,"t":48,"v":45},42],"e":[{".":7,"e":45,"k":0,"r":[{"r":0},7],"v":0},39],"h":5,"i":[{"t":0},48],"o":42,"r":[{"a":[{"m":3}],"e":[{"k":[{"k":3}]}]}],"y":3},6],"u":[{"r":[{"e":5}],"u":5},111],"y":42},38],"t":[{"a":[{"a":[{"r":[{"t":[{"j":43}]}]}]},42],"h":42,"j":18,"o":42,"r":42,"u":42},38],"u":[{"c":[{"a":38}],"e":[{"n":5,"t":5},35],"i":[{"d":35,"f":35,"k":35,"l":39,"t":[{".":30,"d":39,"e":35,"g":30,"v":39},38],"v":35}],"n":[{"i":1},7],"o":[{"l":7},11],"r":[{"f":36,"v":36}],"s":112,"t":[{"j":8}],"w":[{"e":[{"n":3}]}]},57],"v":[{"a":[{"a":[{"t":2}]}],"e":[{"e":15,"n":[{"a":1}]}],"i":[{"e":[{"s":2}]}]},38],"w":[{"a":[{"c":39,"s":39,"t":39}],"e":[{"i":80,"k":39,"t":39,"z":39},42],"i":42,"o":[{"r":39},41],"r":39},38],"y":[{"o":79,"s":[{"p":7,"t":113}]},57],"z":38}],"e":[{".":30,"a":[{"a":39,"b":[{"o":5},42],"c":[{"a":7,"t":1},39],"d":[{"a":5,"e":[{"m":45}],"o":5,"s":[{"h":1},32]},42],"f":42,"g":42,"i":39,"k":[{"o":62}],"l":[{"a":5,"i":39,"s":0},42],"m":[{"i":3}],"n":[{".":0,"g":15,"s":6},39],"p":[{"r":5},45],"q":39,"r":[{"c":12},42],"s":[{"c":18,"e":[{"t":4},20],"o":5},42],"t":[{".":0,"s":8},42],"u":[{"s":[{"t":29}]}],"v":42},30],"b":[{"o":[{"t":[{"s":[{"t":[{"e":[{".":2}]}]}]}]},39],"r":45}],"c":[{"d":36,"e":39,"h":[{"e":42,"i":42,"t":[{"e":[{"c":4}],"s":[{"o":2}]}],"u":39}],"k":30,"l":[{"e":3}],"o":[{"r":30}],"t":[{"a":[{"a":7},5]},30],"z":36}],"d":[{"a":[{"g":7,"m":39,"n":48,"s":31}],"e":[{"a":8,"i":[{".":5}],"l":[{"e":1}],"m":13,"n":[{"a":[{"c":1}]}],"o":1,"r":[{"n":[{"s":64}],"o":[{"g":1}]},7]}],"i":[{"a":[{"l":8,"m":8}],"e":45,"r":30}],"o":[{"e":[{"t":[{"j":4}]}],"o":48,"p":[{"v":5}],"r":[{"s":[{"t":[{"e":2}]}]}],"v":5}],"r":[{"o":[{"d":5,"l":5}]},50],"s":[{"e":3,"l":11,"o":7,"p":3,"u":5},22],"u":[{"i":[{"t":5}]}],"w":[{"a":[{"n":45}]},114]},42],"e":[{"a":6,"b":3,"c":[{"a":3,"h":[{"e":3}]}],"d":[{"a":[{"c":6,"s":1},27],"e":3,"o":3,"r":[{"u":8}],"s":[{"i":8}],"w":8}],"f":[{"a":[{"c":8},5],"i":5,"l":8,"r":8},11],"g":[{"a":[{"p":7}],"l":8}],"i":5,"k":[{"a":[{"a":3,"k":8,"l":[{"l":1}]},5],"e":[{"t":3},10],"i":5,"l":[{"o":23},5],"n":8,"r":[{"e":8,"i":5,"o":8}],"s":[{"t":1}],"w":8},11],"l":[{"a":[{"d":5,"s":[{".":6}]},8],"d":[{"u":26}],"e":[{"e":6},5],"i":[{"j":3},5],"k":26,"o":[{"b":5,"g":[{"e":13},8]}],"u":[{"r":8,"u":8},115]},11],"m":[{"a":13},30],"n":[{"a":[{"r":13},8],"e":32,"g":1,"i":[{"e":1},5],"k":1},11],"o":56,"p":[{"a":[{"n":8},11],"l":5,"o":13,"r":[{"e":23,"u":8}]}],"r":[{"a":[{"a":8,"d":7,"l":13,"m":5,"n":5},10],"e":[{"e":7,"i":3},5],"i":[{"c":3},23],"k":1,"o":[{"g":8,"o":[{"m":1}],"t":5}],"s":[{"t":[{"o":[{"n":1}],"r":1}]}]},11],"s":[{"c":[{"h":3}],"e":[{"m":17,"t":1}],"j":5,"l":[{"o":1}],"n":5,"p":[{"l":1,"o":[{"t":1}]},19],"t":[{"e":[{"n":1}],"u":5}]},27],"t":[{"a":[{"a":1,"l":5,"n":5}],"e":3,"h":1,"j":5,"n":[{"a":16}],"o":[{"g":[{"e":13},8],"o":8,"r":13},5],"r":[{"o":[{"k":1},7]},5],"s":[{"p":8,"t":[{"e":1}]}]},11],"v":3,"z":3},0],"ë":[{"n":8,"r":45}],"f":[{"a":[{"d":5,"z":6}],"d":[{"e":[{"l":4}],"o":5}],"e":[{"i":5,"r":45}],"i":[{"e":[{"t":[{"j":2},13]}],"n":[{"s":5}],"s":116},30],"l":[{"i":5,"o":[{"o":5}],"u":39},42],"o":[{"m":5,"o":39,"p":5}],"r":[{"i":[{"j":5}],"o":[{"n":45}]},42],"s":[{"f":5}]}],"g":[{"a":[{"s":[{".":5,"k":1},13]}],"e":[{"b":[{"b":5}],"c":117,"i":[{"g":5}],"l":[{"e":[{"i":[{".":4}]}],"o":[{"v":14}]}],"n":[{"e":[{"t":6}],"o":[{"f":4}]}],"r":[{"a":6,"e":[{"n":[{"g":4}]}],"o":[{"n":4},6]}]}],"i":[{"j":[{"z":5}],"p":13,"s":[{"t":[{"e":118}]}]},48],"l":18,"o":[{".":0,"r":[{"g":5}],"s":18,"u":[{"d":5}]}],"r":[{"a":[{"f":45}]}],"s":[{"l":[{"e":3}],"o":3},19],"u":[{"r":59,"t":13,"u":54}]},41],"h":[{"a":45,"e":[{"i":[{"s":2}]}],"i":[{"t":13}]},119],"i":[{"a":3,"d":[{"o":5,"s":[{"c":6}]},30],"e":[{"n":[{"s":4},30],"r":[{"e":1}]},22],"f":19,"g":[{"l":5,"n":30}],"j":39,"k":[{"l":6,"n":5,"r":3,"s":13}],"l":[{".":30,"a":[{"n":[{"t":1}]}],"d":[{"r":1},120],"e":[{"v":7},30],"m":1,"o":27}],"n":[{"a":[{"b":23,"c":19}],"d":[{"o":[{"o":4},6],"r":24}],"g":[{"r":1}],"k":1,"o":11,"s":[{"l":1}]}],"o":5,"s":[{"a":11,"h":[{"a":3}],"l":[{"a":19,"o":5}],"p":6,"t":[{"a":19}]}],"t":[{"o":[{"o":7}],"s":[{"c":4,"n":4,"t":[{"e":[{".":4,"n":1}],"r":4}]},24]},121],"v":[{"e":13}],"z":30},18],"j":[{"e":39},122],"k":[{"a":[{"a":[{"n":5,"r":[{"t":[{"j":43}]}],"t":16}],"f":[{".":5}],"g":60,"l":[{".":5,"t":5}],"m":45,"n":[{"g":5}]}],"e":[{"e":7,"i":22,"m":39,"r":[{".":45,"s":45}],"s":[{"t":[{"r":4},13]},15],"t":[{"e":[{"r":3}]},39]}],"i":[{"c":45,"l":0,"s":45}],"l":[{"a":[{"m":[{"a":2},13]}],"e":[{"v":5}],"i":[{"m":45}],"o":[{"o":[{"s":3}]}]}],"n":[{"i":7}],"o":[{"b":54,"f":45,"l":[{"i":5}],"p":[{"z":5}],"r":45,"s":[{".":3,"s":3}]},39],"r":[{"a":[{"n":45}],"o":[{"z":5}]}],"s":[{"e":[{"r":[{"v":1}],"t":3},6],"t":[{"r":[{"a":1},7]}]}],"t":[{"e":20,"o":5}],"u":[{"i":[{"t":5}],"r":5,"u":22},6],"w":[{"e":[{"t":[{"s":[{"t":[{"e":2}]}]}]}],"i":[{"n":5}]}]}],"l":[{"a":[{"a":[{"n":[{"d":3},5]}],"c":22,"d":[{"e":7,"j":5,"m":5,"r":5,"v":5}],"f":49,"l":22,"n":[{"a":3},39],"p":[{".":45,"p":0},39],"r":[{"b":5,"c":5,"m":5,"t":5}],"s":[{".":54,"i":5,"p":54,"s":54}],"u":[{"t":0},22],"z":[{"i":3},39]},42],"d":[{"e":[{"c":7}],"r":7,"u":7}],"e":[{".":39,"e":[{"u":5}],"f":[{"f":3}],"i":[{"d":45,"e":[{"r":3}],"g":5,"s":78}],"l":0,"m":[{"p":5},80],"n":67,"r":[{"a":26,"s":13,"v":5},39],"s":[{"t":13},39],"t":[{"a":54,"r":6,"u":54}],"x":[{"c":5}]},42],"é":39,"f":[{"i":[{"d":13}],"l":22,"s":29}],"g":[{"u":5}],"i":[{"e":45,"g":45,"k":[{"w":1}],"m":[{"p":5}],"n":[{"d":54,"g":39,"k":[{"t":64}],"z":3}],"x":36},38],"k":[{"e":[{"e":7}],"s":8,"u":[{"r":62}],"w":7}],"o":[{"e":[{"p":45,"s":5}],"k":39,"l":5,"m":[{"s":5}],"n":[{"d":3,"t":3}],"o":[{"d":45,"s":45},39],"p":[{"s":5,"t":3,"v":3}],"r":[{"g":3},9],"t":[{"j":13}],"u":45,"v":[{"e":19}],"z":45},41],"p":[{"o":6,"s":7}],"s":[{"e":[{"m":17}],"k":23,"m":[{"e":[{"d":3}]}]}],"t":[{"w":[{"e":3}]}],"u":[{"i":[{"t":5}],"k":[{"s":2}]},41]}],"m":[{"a":[{"n":[{"a":0}],"s":[{"c":8}],"t":[{"o":1}]},38],"e":[{"e":[{"s":2}],"n":[{"s":[{"t":[{"e":2}]}]}],"r":[{"s":13}],"s":15}],"i":[{"e":[{"t":[{"j":13}]}]}],"o":[{"k":45,"l":[{"i":5}],"p":5,"r":[{"g":5,"s":[{"t":[{"e":[{"n":4}]}]}]}],"v":117}],"s":[{"a":5,"c":3,"l":[{"i":7}],"m":7,"t":22,"u":5}],"u":[{"i":[{"t":5}],"t":13}]}],"n":[{"a":[{"a":[{"p":5,"r":39,"s":54}],"c":[{"c":67},22],"f":3,"k":94,"l":[{".":5,"s":5},18],"m":[{"b":5,"e":7}],"n":[{"g":54},18],"p":52,"r":[{"i":45,"s":5}],"s":[{"p":15},123],"t":[{"e":[{"l":6}],"t":54},39],"v":22,"z":123}],"c":[{"i":13,"y":[{".":36}]}],"d":[{"a":[{"a":3,"m":[{"a":1}]},5],"e":[{"r":[{"t":[{"i":35}]}]}],"o":19,"r":[{"e":[{"k":3}]},5]}],"e":[{"c":123,"d":[{"e":16}],"e":[{"d":5,"t":4},39],"g":[{".":3,"g":3}],"l":[{"a":5,"f":5}],"m":[{"a":5}],"n":[{"t":124}],"p":[{"o":5},66],"r":[{"e":45,"g":35,"v":0}],"t":[{"a":5,"e":[{"n":6},5]}],"u":39}],"f":30,"g":[{"a":3,"l":[{"e":17},5],"r":[{"i":3},6],"s":[{"e":1,"m":8},13]}],"i":[{"e":39,"j":[{"d":45}],"m":51,"n":[{"g":[{"a":0}],"k":54}],"v":[{"o":60},39]}],"k":[{"a":9}],"o":[{"c":[{"h":54}],"f":[{"f":5}],"l":[{"i":54}],"n":94,"o":[{"r":54,"t":2}],"p":70,"r":[{".":39,"d":5}],"s":8,"u":5,"v":94}],"q":36,"s":[{"c":[{"e":3}],"e":[{"i":[{"n":1},7],"k":2,"m":36}],"f":[{"e":6}],"i":[{"n":7}],"l":[{"a":[{"k":3}]}],"o":[{"n":23}],"p":[{"o":[{"t":1}]},52],"t":[{"a":[{"n":3}],"e":[{"n":3}],"i":[{"j":[{"v":4}],"n":7}],"u":[{"r":125}]}],"u":5}],"t":[{"a":[{"c":7}],"e":[{"e":3,"i":3,"r":[{"e":4,"v":7}]}],"è":36,"h":52,"o":[{"m":3}],"r":[{"e":5,"o":[{"l":1}]},6],"s":[{"l":6,"m":15,"p":24}],"w":5}],"u":[{"i":126,"n":18,"r":5,"u":5},42],"v":[{"e":[{"l":[{"o":35}]}]}],"y":6}],"o":[{"d":[{"o":15},5],"e":[{"s":15},45],"f":[{"f":45,"r":5}],"k":60,"n":[{"i":3},45],"o":45,"p":[{"a":5,"e":5,"l":[{"a":6},5],"r":9,"s":45}],"r":[{"d":1,"g":45,"i":45,"o":5}],"s":[{"t":3},19],"t":[{"e":3,"h":127},0]},39],"p":[{"a":[{"a":[{"k":5},39],"c":5,"f":0,"k":[{"e":3},6],"l":39,"p":[{"p":54},39],"r":39,"s":[{"p":5}]},42],"e":[{".":45,"e":[{"n":3}],"r":[{"s":[{"t":[{"e":[{".":2}]}]}]},45]},42],"i":[{"d":36,"j":[{"s":5,"z":5}],"n":[{"g":[{"r":3}],"s":5}],"t":[{"s":[{"t":[{"e":2}]},13]}]},42],"j":22,"l":[{"e":[{"d":5}],"o":[{"d":54,"e":45}],"u":[{"s":5}]},42],"o":[{"g":[{"e":128}],"o":[{"r":[{"t":[{"j":43}]}],"t":[{"j":16}]}],"s":[{".":77}],"t":39,"u":13},42],"r":[{"a":7,"i":39,"o":[{"d":[{"e":3}],"t":16}]},42],"s":[{"e":[{"e":17,"r":7}],"l":8,"n":1,"p":8,"t":[{"a":[{"a":1,"l":1},8],"o":1,"r":[{"o":1},8]}]},11],"t":[{"a":[{"k":7}],"j":11,"r":[{"a":8,"o":3},7]}],"u":[{"i":[{"t":5}]}]}],"q":[{"u":[{"a":30}]}],"r":[{"a":[{".":39,"a":[{"d":45,"k":[{".":0}],"n":[{"p":3},5],"p":[{".":0}],"t":45},42],"c":[{".":45,"e":45,"o":45},126],"d":[{".":45,"o":5},39],"f":[{"f":39},5],"g":[{"e":[{"n":6}]}],"i":42,"l":[{"l":54}],"m":[{"a":5}],"n":[{"a":5,"d":[{"a":45}],"e":45}],"p":[{"l":129}],"r":[{"c":5,"e":39,"i":39}],"t":[{"r":19},130],"z":[{"i":5}]}],"d":[{"a":9,"i":19,"o":6,"r":9,"u":[{"i":[{"t":[{".":1}]}]}],"w":19}],"e":[{"a":[{"t":3}],"c":30,"d":[{"i":[{"t":[{"i":3}]}]}],"e":[{"n":5,"p":45,"r":[{"s":3}],"t":5}],"f":[{"f":3},5],"g":[{".":3,"d":5,"g":3,"t":3}],"i":[{"e":5,"g":5,"l":5,"n":[{"d":3}]}],"k":[{"l":8}],"l":[{"k":5}],"m":[{"m":54,"p":5}],"n":[{"d":[{"e":[{"l":45}]},39],"e":[{"g":4,"n":[{".":3}]},6],"m":39,"t":[{"h":3,"o":45,"w":4},39]}],"o":[{"g":6},12],"p":[{"i":5}],"q":9,"r":[{"i":5}],"s":[{".":39,"k":5,"s":39,"t":6}],"t":[{"j":24,"n":5,"s":54}],"x":64},42],"g":[{"l":12}],"i":[{"a":[{"b":1}],"f":45,"g":[{"a":4},45],"j":[{"l":5,"s":[{".":0},5],"v":5,"z":54}],"k":45,"n":[{"d":3,"i":54,"k":[{"t":3}],"s":5,"t":5}],"o":45,"s":45},39],"k":[{"e":[{"e":[{"r":[{"s":21}]}]}],"n":11}],"m":[{"i":19,"o":3}],"n":[{"u":3}],"o":[{".":42,"b":39,"c":5,"e":[{"d":54,"f":5,"p":45,"t":[{"j":4}],"v":5}],"f":5,"g":12,"k":39,"l":[{".":45,"i":5,"l":45},131],"m":5,"n":[{".":39,"e":39,"v":5},22],"o":[{"g":5,"r":5,"s":45}],"p":[{"a":15,"e":[{"n":1}]},54],"r":51,"v":22,"x":[{"i":5}],"z":39}],"ö":39,"p":[{"l":[{"u":7}]}],"r":[{"i":[{"e":[{"t":[{"j":2}]}]}]}],"s":[{"c":[{"r":5}],"j":5,"l":[{"a":[{"g":3}]}],"p":[{"a":[{"n":3}],"o":[{"t":6}]}],"t":[{"e":[{"m":3}]}]}],"t":[{"e":3,"h":9,"i":20,"o":20,"r":5,"s":[{"e":1,"l":4}],"u":19,"w":19}],"u":[{"b":39,"g":116,"i":[{"t":[{"j":28},5]},18],"n":[{"s":39},18],"r":54,"s":39,"u":3},42],"v":[{"a":[{"r":36}]}],"w":[{"t":36}]}],"s":[{"a":[{"f":0,"g":132,"m":39,"n":45,"p":5,"r":[{"r":5}],"s":133}],"c":[{"o":[{"p":39}],"r":50}],"e":[{"c":45,"e":[{"n":3}],"l":45,"n":[{"e":3,"g":64}],"x":3},7],"f":[{"e":11}],"h":[{"e":3,"i":0}],"i":[{"d":39,"e":39,"n":22,"r":0}],"j":[{"e":[{".":3,"s":3}],"o":[{"n":3},48]}],"k":[{"a":54,"r":3}],"l":[{"a":[{".":45,"g":45,"k":5,"t":3},7],"e":[{"g":3},7]},39],"m":[{"u":[{"i":[{"l":[{".":45}]},7]}]},11],"n":[{"e":48},42],"o":[{"l":39,"o":[{"r":[{".":3}]},7],"p":6,"r":[{"e":5}]},42],"p":[{"a":[{"s":3}],"e":[{"l":7}],"i":[{"t":[{"s":[{"t":[{"e":2}]}]}]}],"l":39,"r":[{"i":[{"e":[{"m":1},0]}]}]},42],"s":[{"m":7}],"t":[{"a":[{"k":39,"l":48,"p":39,"r":7,"t":[{"i":[{"e":3}]}]}],"e":[{".":54,"a":7,"e":[{"l":7}],"i":[{".":1}],"k":[{"a":[{"m":3},0]}],"m":[{"o":3},48],"n":[{".":0,"b":3},5],"r":[{"e":[{"o":43}]},5],"s":3,"t":7,"u":39}],"i":[{"c":7,"e":0}],"o":[{"t":39}],"r":[{"a":[{".":3,"c":3,"k":3,"l":45,"p":1}],"e":[{"i":3}]}],"s":[{"c":6}],"u":[{"r":7}],"y":39}],"u":[{"r":6},39],"y":39}],"t":[{"a":[{".":39,"a":[{"n":5}],"c":5,"d":5,"f":[{"z":5}],"g":80,"k":[{".":45},39],"n":[{"a":7,"d":45}],"p":[{"p":0},18],"t":45,"u":0,"v":18},42],"e":[{"a":45,"d":[{"i":5}],"k":45,"l":[{".":45,"f":64,"s":45},30],"m":[{"b":3,"m":3}],"n":[{"s":[{"u":2}],"t":[{"j":4}]}],"r":[{"a":26,"o":8,"s":[{"l":[{"a":2}],"m":4}]}],"s":45},39],"h":[{"a":5,"o":[{"r":5}],"u":3},42],"i":[{"d":128,"e":45,"n":[{"c":54}],"q":0,"s":45}],"j":[{"a":0}],"o":[{"c":45,"e":[{"v":45},39],"l":39,"p":[{"e":5,"l":5},6],"r":[{"k":54}],"s":[{"f":8}]},42],"r":[{"e":[{"c":5,"s":64}],"o":[{"e":39,"n":45,"o":45,"s":16}],"u":54},42],"s":[{"l":[{"a":[{"p":1}],"u":3},7],"n":8,"o":[{"o":23}],"p":[{"e":5,"r":8,"u":5}],"t":[{"e":[{"k":1,"n":3},7],"i":3}],"u":[{"r":134,"u":3},6]}],"u":[{"i":[{"t":[{"j":4}]}],"r":6},42],"w":[{"e":5,"i":11}]}],"u":[{"a":135,"c":57,"d":[{"i":[{"o":4}],"r":3}],"e":5,"g":[{"d":[{"r":15}],"r":9}],"l":[{"e":[{"r":7}],"i":7}],"m":[{".":39,"d":18},42],"n":[{"a":11,"t":8}],"o":136,"p":[{"o":11}],"r":[{"a":[{"d":7}],"e":[{"c":7,"n":5,"s":7}],"i":[{"j":7}],"k":1,"o":[{"v":4}],"s":[{"t":[{"a":[{"a":4},6],"e":[{".":4}],"r":14}],"u":6}]}],"s":[{"c":[{"h":3}],"p":[{"a":5},6],"t":[{"r":3},7]}],"t":[{"j":5,"r":22}],"u":39,"w":[{"a":7,"i":[{"n":3}],"s":[{"t":[{"r":6}]}]},38]}],"v":[{"a":[{"a":[{"r":[{"t":[{"j":2}]}]}],"l":[{"s":13}],"r":[{"i":2}]}],"e":[{"l":[{"o":[{"p":4},6]}],"n":[{"a":[{"a":26}]}],"r":[{"a":8},30]}]}],"w":[{"a":45,"e":[{"n":[{"s":[{"t":[{"e":[{".":2}]}]},13]}],"s":[{"t":[{"r":2}]}]},45],"h":11,"i":45,"o":[{"v":8}]},41],"x":[{".":30,"a":[{"a":137,"f":5}],"c":[{"o":30}],"e":[{"g":36,"m":36}],"i":[{"n":5},30],"o":[{"p":3}],"p":57}],"y":[{"o":48,"s":[{"t":5},6]}],"z":[{"a":45,"e":[{"e":39,"n":79,"r":[{"s":2}]}],"o":39,"z":6}]}],"é":[{"a":39,"d":[{"e":[{"e":13}],"i":8},42],"g":[{"e":[{"e":4}]},42],"h":39,"j":39,"n":39,"p":39,"r":39,"t":42}],"è":[{"c":30,"l":18,"s":18,"t":[{"a":1},45]},42],"ê":[{"p":[{"e":[{"r":39}]},18],"t":45},42],"ë":[{".":30,"b":18,"c":39,"d":39,"e":[{"n":8},11],"j":39,"l":42,"n":[{"c":[{"e":15}],"e":7,"s":[{"c":3},12],"t":[{"h":3,"w":3},12]},35],"p":39,"r":[{"a":42,"e":42,"i":42,"o":[{"g":34,"s":8},42]}],"s":[{"i":39,"t":5},18],"t":[{"s":[{"t":[{"e":8}]},7]},42],"v":[{"e":[{"n":13},1]}],"z":[{"u":30}]},36],"f":[{".":30,"a":[{"a":[{"n":[{"b":39}],"t":0}],"b":[{"o":11},36],"c":[{"c":39,"e":13,"h":42}],"d":38,"f":40,"g":5,"l":[{"s":8}],"m":5,"n":[{"g":39,"t":[{"j":24,"s":37},83]}],"p":104,"r":[{"m":0}],"s":[{"e":138}],"t":[{"o":11}],"v":5},57],"b":[{"e":[{"d":[{"w":1}]}]},30],"c":42,"d":[{"a":[{"g":6,"n":45,"r":22},39],"e":[{"k":[{"l":15},6],"s":[{"e":4,"l":4,"m":1,"t":4},24]}],"i":[{"n":51}],"o":[{"f":5,"r":[{"s":[{"t":[{"e":2}]}]}]}],"r":[{"a":7,"u":48}],"s":[{"e":3,"i":5,"o":5,"p":5}],"w":[{"o":5},114]},30],"e":[{"a":11,"c":[{"t":[{"r":6}]}],"d":[{"e":[{"l":7},15]}],"e":[{"n":39,"s":[{"t":[{"r":2}]},35]}],"l":[{"d":[{"r":1}],"e":[{"e":23}],"i":36,"o":[{"m":7,"p":23}],"s":[{"p":8}]}],"n":[{"o":5}],"r":[{"a":[{"b":5,"n":5}],"e":[{"t":23}],"o":[{"m":5,"n":5}]},0],"s":100,"t":[{"j":23,"u":[{"r":4}]}],"x":44},57],"é":57,"è":36,"ê":36,"f":[{"e":45,"i":45,"s":[{"h":5,"i":5},12],"u":39},41],"g":[{"e":[{"r":26,"t":1},8]},50],"h":53,"i":[{"a":[{"c":3,"l":7,"m":5,"p":[{"a":5,"o":5}],"s":6}],"b":36,"c":[{"h":22}],"e":35,"g":35,"j":[{"s":39,"z":40}],"k":[{"s":[{"t":6}]}],"l":[{"m":[{"a":24,"o":[{"n":4}]}],"o":5},80],"n":[{"d":30,"i":36,"j":39,"k":30,"r":38}],"o":5,"r":7,"s":[{"e":3,"o":45},7]},57],"j":[{"e":[{"s":4}]},42],"k":[{"e":39},76],"l":[{"a":[{"a":79,"f":42,"m":0}],"e":[{"i":39,"n":[{"s":[{"t":[{"e":[{".":2}]},13]}]}],"s":0,"t":[{"j":15},12],"v":30,"x":0,"z":39}],"i":[{"e":38,"j":38,"k":0,"p":0,"t":0}],"o":[{"k":39,"r":77}],"u":[{"t":24}]},139],"m":41,"n":42,"o":[{"b":36,"c":35,"e":[{"d":1,"t":[{"a":1}]}],"f":44,"k":35,"m":[{"s":38}],"n":[{"a":3,"d":[{"e":[{"n":4}],"s":[{"l":2}]}],"e":[{"n":[{"g":1}]}],"o":22,"t":[{"e":1},30]}],"o":[{"i":4,"m":39,"n":35},6],"p":[{"s":26},140],"r":[{"e":138,"i":3,"m":35,"t":[{"j":24}],"u":22},0],"t":5,"u":[{"d":44}],"v":41},57],"ö":36,"p":[{"e":[{"r":[{"s":[{"t":[{"e":[{".":2}]}]}]}]}],"i":[{"t":[{"s":[{"t":[{"e":[{".":2}]}]}]}]}]},141],"r":[{"a":[{"a":[{"k":[{".":0}],"m":2}],"c":35,"d":39,"s":18,"u":35}],"e":[{"c":42,"k":39,"q":35}],"i":[{"e":[{"s":13,"t":[{"j":2},13]}],"k":0}],"o":[{"d":0,"l":[{"o":0},79],"m":[{"a":39}]}],"u":[{"s":15}]},7],"s":[{"a":[{"d":5,"n":5,"r":5},111],"c":[{"h":45,"r":0},39],"e":[{"c":54,"e":64,"i":0,"t":[{"h":54}]},12],"f":[{"e":7}],"h":[{"e":3},18],"i":[{"e":39,"m":5,"n":22},18],"l":[{"a":[{"a":45,"c":45,"g":45,"p":5}]}],"m":[{"a":5,"i":7,"o":5,"u":5},11],"o":[{"b":5,"m":5,"o":7},142],"p":[{"r":[{"e":7}]},11],"t":[{"a":[{"s":8}],"e":[{"c":3,"l":[{"l":45}],"m":143,"r":[{"r":0}]},39],"i":[{"f":45},39],"o":[{"c":144,"n":0},39],"r":39,"u":39},7],"y":39},41],"t":[{"a":[{"c":22,"k":[{"l":6}],"p":6,"r":[{"t":5}]},42],"e":[{"r":[{"s":[{"h":4}]}]}],"h":5,"o":[{"n":[{"d":45,"t":0}]},42],"r":42,"s":[{"l":27,"m":7,"n":8,"o":7,"p":8}],"u":[{"r":6},42]},30],"u":[{"i":[{"t":38}],"m":[{"a":[{"c":8},7]}],"n":80,"r":[{"o":6}],"s":36,"u":38},57],"v":[{"a":[{"l":15},12]},30],"w":76,"y":145,"z":[{"e":[{"t":4}]},38]}],"g":[{".":30,"a":[{".":36,"a":[{"r":[{"t":[{"j":4}]}],"t":0}],"c":40,"d":[{"m":79}],"f":[{".":0,"d":39,"r":5,"s":79,"w":79}],"h":146,"l":[{".":30,"a":[{"p":23},5],"e":[{"r":3}],"s":8}],"m":[{"b":30,"i":54}],"n":[{"d":1,"e":35,"s":[{"t":14}]},36],"p":[{"l":5}],"r":[{".":36,"b":79,"e":5,"m":42,"s":36,"t":[{"j":1},44]}],"s":[{"c":1,"i":8,"l":[{"a":[{".":3}],"i":5,"o":3}],"o":8,"p":8,"t":[{"r":[{"a":1,"o":[{"l":4}]},8]}]},7],"t":[{"j":1,"s":8},36],"u":[{"t":30}],"v":[{"e":3,"o":42}]},57],"b":81,"c":40,"d":[{"a":[{"c":45,"g":45,"r":[{"t":5}],"t":[{"e":3},5]}],"e":[{"l":[{"f":54}],"r":[{".":45,"v":5}]},39],"i":[{"d":54,"m":5,"n":18}],"r":[{"u":45},39],"s":[{"a":5,"p":3}],"u":39},30],"e":[{".":36,"a":[{"d":[{"r":8}],"n":[{"a":1}],"q":8,"r":[{"i":7}],"u":3},5],"b":[{".":79,"b":38}],"c":5,"d":[{"i":[{"a":15,"t":7}],"r":3,"w":3},19],"e":[{"s":[{"t":[{"r":2}]}],"t":[{"a":15}]},147],"f":[{"f":44},19],"g":[{"e":[{"s":13}]},20],"i":[{"g":30,"k":44,"l":[{"a":14}],"t":[{"j":15},35]}],"k":[{"a":19,"e":5,"i":3,"l":20,"r":5,"s":[{"t":6}],"u":6,"w":19}],"l":[{"a":[{"u":5}],"d":[{"a":103}],"e":[{"m":47},19],"f":1,"k":1,"o":107,"s":[{"i":1,"l":8,"p":8,"t":[{"e":1}]}]}],"m":[{"a":3,"b":30,"f":79,"o":3,"p":44,"s":15,"u":19}],"n":[{".":0,"a":[{"k":5,"z":6}],"e":[{"d":23,"n":[{"d":7}]},148],"g":[{"t":79}],"i":36,"k":1,"o":[{"f":149,"g":7},22],"s":[{"f":[{"e":1}],"t":[{"o":[{"n":1}],"u":[{"r":43},1]}]}],"w":35}],"o":[{"m":3,"p":[{"e":1}],"r":[{"k":[{"e":43}]}],"s":3,"t":3}],"p":20,"r":[{"a":[{"a":[{"l":1,"p":[{".":1}]}],"l":62,"p":[{"e":1},13],"s":[{".":1}]},22],"e":[{"g":3,"m":5,"n":[{".":3}]}],"i":[{"n":[{"i":1}]},6],"o":[{"f":6,"l":3},52],"s":[{"l":[{"a":[{"n":1}],"i":[{"j":4},6]}],"p":6}],"t":[{"s":79}],"u":19}],"s":[{"a":5,"c":5,"e":3,"i":5,"k":72,"l":3,"n":5,"o":5,"p":[{"e":[{"n":[{"d":3}],"r":3}],"o":3}],"t":[{"a":[{"n":3}],"e":[{".":1,"n":[{".":1}]}],"r":5}],"w":3},150],"t":[{"a":[{"a":6,"m":3},5],"h":11,"i":20,"j":19,"o":6,"r":[{"a":3,"o":3,"u":3},5],"s":[{"j":3}],"u":3,"w":20}],"u":[{"i":5}],"v":106,"x":30,"z":106},57],"é":[{"d":[{"i":13}]},57],"è":36,"f":[{"i":[{"j":[{"n":[{"s":[{"t":[{"e":2}]}]}]}]}]},41],"g":[{"e":[{"l":[{"a":8}],"r":[{"o":[{"n":14}]}],"s":[{"t":[{"i":4}]}]},45],"h":64,"i":[{"n":[{"g":[{"s":43}]}]},45],"l":45},101],"h":[{"e":[{"t":18}],"t":[{"e":3},6],"u":[{"m":18}]},40],"i":[{"d":[{"s":[{"t":[{"e":4}]}]}],"e":[{"r":[{"a":1,"s":13}],"u":22}],"f":[{"r":1},11],"g":[{"a":5,"e":[{"r":[{"e":35}]}],"s":[{"t":[{"e":35}]}]}],"j":[{"s":39,"z":30},38],"m":11,"n":[{"a":5,"b":79,"f":[{"e":45,"r":45},79],"g":35,"h":44,"o":8,"r":38}],"o":[{"c":7,"d":11,"n":[{"e":[{"t":7}]}],"r":11}],"p":[{"s":[{"t":6}]}],"r":35,"s":36},57],"j":41,"k":41,"l":[{"a":[{"b":45,"i":36,"s":[{"e":15},135],"t":45,"z":77}],"e":[{".":36,"e":[{"r":45,"t":4}],"n":39,"p":81,"r":53,"s":39,"t":[{"j":15},147],"v":45}],"i":[{"c":[{"e":45,"h":45}],"ë":36,"f":18,"j":[{"s":45}],"m":18,"o":77}],"o":[{"b":18,"f":36,"g":45,"m":36,"n":79,"o":[{"n":39}],"p":39,"s":80,"z":45}],"y":80},7],"m":[{"a":[{"a":[{"t":[{"j":2}]}]}]},41],"n":[{"a":39,"e":[{"g":1,"m":1,"t":[{"j":24}]},7],"i":[{"e":[{"t":[{"j":13}]}]}],"u":30},40],"o":[{".":36,"a":151,"b":36,"c":[{"h":42},38],"d":[{"a":23,"s":[{"t":4},24]}],"e":[{"f":30,"r":10}],"f":[{"r":9},38],"g":0,"h":30,"k":11,"m":[{".":35,"a":11,"l":39,"z":30}],"n":[{"a":[{"z":23}],"g":44,"o":3,"t":40}],"o":[{"r":44,"t":36},18],"p":[{"a":5,"r":0},40],"r":[{"a":0,"e":[{".":3},47],"i":106,"s":12}],"s":10,"t":[{"r":5}],"u":[{"d":[{"e":[{"e":14}]}]}],"v":44},57],"p":[{"e":[{"s":15}]},81],"r":[{"a":[{".":35,"a":[{"t":[{"j":2}]}],"k":45,"m":[{".":0,"a":15,"p":39},12],"s":24,"v":35},36],"e":[{"c":44,"d":[{"i":35,"u":45},44],"e":[{"k":39,"l":39,"p":0}],"i":[{"s":39}],"k":79,"m":44,"n":[{"s":13}],"s":6,"u":0,"v":39}],"i":[{"a":35,"e":[{"t":[{"j":37}]}],"j":[{"d":45,"k":45,"m":45}],"n":[{"g":45}],"s":106,"t":[{"s":4}],"v":44}],"o":[{"e":[{"t":[{"j":2}]}],"f":4,"k":39,"o":[{"k":39,"m":39,"t":[{"j":2}]}],"u":38,"v":1}],"u":[{"g":44,"i":[{"m":39}],"p":39}]},108],"s":[{"a":[{"g":6,"l":[{"a":[{"r":3}],"t":5}]},52],"c":18,"e":[{"c":[{"o":5}],"d":54,"e":[{"n":3}],"i":5,"n":[{"e":3},5],"r":[{"v":5}],"t":5,"v":5},6],"h":[{"e":3}],"i":[{"e":39,"s":3},70],"j":22,"k":[{"e":[{".":48}]}],"l":[{"a":[{"a":[{"g":3}],"m":3,"s":3},7],"e":[{"p":39,"u":0},22],"i":[{"e":3,"n":[{"g":45},7]}],"o":[{"g":3,"k":3,"n":3},7],"u":7},5],"m":[{"a":64}],"n":[{"a":0,"i":[{"j":39}]},5],"o":[{"l":45,"m":[{".":45}],"n":[{"s":3}],"p":5},152],"p":[{"a":[{"n":[{"d":3}]}],"e":[{"c":39,"l":48,"t":48}],"i":[{"e":39,"l":39,"n":[{".":45,"n":45}],"r":3},7],"o":[{"l":3,"n":48}],"s":3},5],"q":3,"s":[{"c":3}],"t":[{"a":[{"a":[{"l":3,"n":[{"g":1}]}],"c":3,"d":45,"n":67,"p":144,"t":45},12],"e":[{".":67,"d":45,"e":45,"i":39,"k":5,"l":45,"n":39,"r":[{".":45,"r":3,"s":45},39]},42],"h":5,"i":[{"c":67,"g":48,"j":[{"g":3}]}],"o":[{"f":45,"p":45,"r":45,"v":29}],"r":[{"a":[{"d":3,"k":3,"m":1,"p":3,"t":45},54],"e":[{"s":1}],"o":[{"e":3,"n":3}],"u":[{"c":45},0]}],"u":39,"y":3}],"u":142,"v":[{"e":[{"r":63}]}],"w":3,"y":45},30],"t":[{"a":[{"p":51},42],"e":[{"r":[{"o":8}],"s":[{"t":8},13]},39],"o":42,"r":39,"u":42},30],"u":[{".":35,"e":[{"u":7},36],"i":[{"t":38}],"n":[{"i":7}],"s":27,"t":[{"s":[{"t":[{"e":[{".":4}]},6]}]}]},57],"v":[{"o":45},30],"w":[{"a":45},41],"y":[{"p":30},57],"z":38}],"h":[{".":30,"a":[{"a":[{"m":[{"s":[{"t":[{"a":2}]}]}],"r":[{"s":[{"l":4,"p":4,"t":[{"e":2}]}],"t":[{"j":4}]}],"t":[{"s":[{"t":[{"e":[{".":2}]}]}]}]}],"f":[{"d":39,"t":[{"u":24}]}],"g":[{"e":3},5],"l":[{"f":153,"s":[{"t":[{"o":6}]},35],"z":35}],"m":[{"p":38}],"n":[{".":30,"d":[{"r":6,"s":[{"l":4}]}],"g":[{"a":8,"l":4,"s":4}],"s":[{"l":24,"o":8,"t":6}]}],"p":[{"s":[{"e":6},12]}],"r":[{"t":[{"a":6,"e":[{"l":2}],"j":15,"o":103,"r":[{"e":1}],"s":[{"l":4}]}]}],"t":[{"j":1,"r":27,"s":8}],"v":[{"e":[{".":30}]},5]}],"b":30,"d":38,"e":[{"a":[{"r":11},38],"c":[{"h":36,"o":5}],"e":[{".":30,"g":29,"k":[{"a":15,"l":4},6],"l":[{"o":24}],"p":[{"s":[{"c":2},13]}],"r":[{"s":[{"t":[{"a":[{"k":2}]}]}]}],"s":[{"t":[{"o":1}]}],"t":[{"j":[{"e":[{"s":1}]}]}]}],"f":11,"i":[{"d":[{"s":[{"p":2}]}],"s":13,"t":[{"j":1}]},7],"k":[{"a":27,"l":11,"s":[{"t":[{"e":[{".":4,"n":1}]},6]}],"w":8}],"l":[{"e":[{"e":23},5],"i":5,"m":[{"a":24}],"o":13,"p":[{"a":24}],"s":[{"m":8}]}],"m":[{"o":3}],"n":[{"e":3,"k":[{"r":6}],"o":19}],"o":154,"p":[{"i":[{"j":7}],"l":27,"r":11}],"r":[{"a":[{"a":6,"d":23,"u":19},22],"i":23,"m":[{"e":[{"n":[{"g":4}]}]}],"o":[{"s":5,"v":4}],"p":[{"a":[{"a":14}]}],"s":[{"t":36}],"t":[{"s":[{"t":[{"e":2}]}]},13],"u":11}],"s":[{"e":3,"p":11,"t":155}],"t":[{"s":[{"t":[{"e":[{".":4}]}]}]}],"u":[{"l":[{"e":1}]}]},0],"f":44,"g":53,"h":39,"i":[{"d":3,"e":[{"f":24,"l":[{"s":[{"g":[{"e":[{"s":156}]}]}]}],"r":[{"e":[{"n":1}],"u":4},24],"t":[{"o":14,"r":6,"s":4}]}],"j":[{"s":[{"l":6}]}],"k":[{"s":14,"w":5}],"l":[{"m":8}],"m":[{"p":[{"l":6,"r":6}]}],"n":[{"d":1,"s":39,"t":[{"j":24}]}],"p":[{"l":155}],"r":157,"s":[{"p":1}],"t":[{"r":5,"s":[{"t":[{"e":[{".":4,"n":1}]},6]}]}]}],"j":39,"l":[{"a":[{"g":0},39],"e":[{"p":39}],"o":[{"c":39}]},38],"m":[{"a":39,"e":[{"r":0},39]},158],"n":[{"a":18,"o":8},42],"o":[{".":38,"a":[{"n":8},5],"b":[{"o":[{"o":[{"t":118}]}]}],"c":[{"h":5}],"e":[{"k":[{"e":[{"r":6}]}],"s":[{"l":4},6],"t":8}],"f":[{"d":1,"e":8},11],"g":9,"k":[{"a":11}],"m":[{"o":3}],"n":[{"d":[{"r":8,"s":13}],"g":8,"i":13,"o":22}],"o":[{"l":[{"e":15}],"m":30,"r":[{"t":[{"r":4},16]}],"t":38}],"p":[{"a":5,"e":22,"o":27,"r":8,"s":[{"t":[{"r":6}]}]}],"r":[{"d":[{"e":1}],"l":35,"o":5,"s":[{"t":[{"e":[{".":4,"n":1}]},6]}],"t":[{"j":24}],"u":5}],"s":[{"a":5}],"t":[{"j":8,"r":[{"e":23},5],"s":[{"t":[{"e":[{".":4}]},6]}]}],"v":5,"w":[{"o":8},140]}],"p":[{"i":6},40],"r":[{"a":[{"b":6}],"e":[{"a":45},0],"i":6,"o":[{"k":[{"o":15},12],"o":[{"t":63}]}]},38],"s":[{"a":39,"p":39,"t":39},30],"t":[{"a":[{"c":5,"l":[{"a":5},39],"n":[{"s":45}]},159],"e":[{".":39,"c":[{"o":7},54],"e":51,"f":51,"i":51,"m":3,"n":[{"t":[{"w":3},160]},39],"r":[{"a":15,"o":14}],"s":[{"k":54}],"v":[{"e":3,"o":45},0],"x":5}],"h":88,"i":[{"n":[{"t":54}]}],"j":94,"o":[{"e":[{"f":3}],"p":3},49],"r":[{"o":[{"o":3}]},126],"s":[{"a":[{"p":7}],"e":[{"r":7},13],"i":11,"l":[{"a":3,"o":[{"t":3}]},7],"m":[{"e":5,"i":[{"j":3}]}],"o":23,"p":[{"e":5,"l":8,"r":5}],"t":[{"a":[{"a":[{"l":1}],"k":17}],"e":[{"k":17}],"i":7,"o":[{"r":[{"e":1}]}],"r":[{"e":[{"k":[{"k":1}]}]}]}]}],"u":52,"w":5},38],"u":[{"b":[{"a":7}],"i":[{"z":36}],"l":[{"d":[{"e":[{"r":6}]}]}],"r":[{"t":14}],"t":[{"j":8,"s":[{"t":[{"e":[{".":4}]}]}]}],"u":[{"r":[{"s":4}]}]}],"w":41,"y":[{"l":[{"a":7}],"p":[{"o":71},36]}]}],"i":[{".":30,"a":[{"a":39,"b":[{"i":45},0],"c":0,"d":[{"y":39}],"e":[{".":45},39],"f":59,"g":[{"r":39},123],"i":39,"k":[{".":45,"e":[{"m":7},161],"l":5,"r":5}],"l":[{".":39,"a":54,"i":39}],"m":[{".":45,"i":39},18],"n":[{"o":6},39],"o":5,"p":[{"a":3,"i":45},142],"s":[{"c":5,"e":3,"o":5,"p":[{"o":17}],"t":[{"a":5}]}],"t":[{"h":9,"r":[{"i":45}]},39],"v":[{"e":13}]},42],"b":[{"l":[{"e":45}],"o":[{"o":[{"t":16}]}]}],"c":[{"e":[{"p":[{"a":106}]},39],"h":[{"a":42,"e":[{"e":[{"t":16}]},42],"i":42,"o":42,"r":39}],"k":[{"l":1}],"o":[{"s":13}],"t":[{"o":[{"p":23}],"s":[{"c":14}]}]},30],"d":[{"a":[{"m":39}],"d":[{"e":[{"r":[{"a":37}]}]}],"e":[{"a":8,"e":[{".":0}],"r":[{"s":[{"p":13,"t":13}]}],"s":13}],"i":[{"a":[{"b":1},8],"o":162}],"m":[{"a":[{"k":7}]}],"o":[{"k":39}],"r":[{"a":[{"n":5}],"u":5},18],"s":[{"a":23,"e":[{"r":7}],"i":1,"j":1,"l":1,"m":[{"a":1,"e":[{"e":20}]},7],"o":23,"t":[{"a":[{"k":1},8],"e":[{"k":1,"m":7}],"i":7,"r":1}]},68],"u":[{"r":19,"u":5,"w":8}],"w":5}],"e":[{"a":52,"d":[{"a":[{"c":23}],"e":5,"r":[{"o":7}],"w":8}],"e":163,"ë":12,"f":[{"i":5,"l":[{"e":5},11],"o":[{"n":5}],"r":7}],"g":[{"a":[{"s":7}],"e":5,"i":[{"n":[{"s":17}]}]}],"k":[{"e":[{"v":29}],"l":[{"i":8,"u":3},7],"n":11,"o":[{"n":[{"d":1}]}],"s":[{"n":14,"p":6}],"u":11,"w":[{"a":5}]},18],"l":[{"a":[{"n":3,"p":3}],"d":[{"o":1,"r":26}],"e":[{"i":[{".":1}]},6],"k":1,"s":[{"c":8}]}],"m":[{"a":5,"o":[{"v":8}]}],"n":[{"d":[{"r":6}],"i":[{"j":8}],"n":[{"e":[{".":45}]},39],"s":[{"m":29,"p":1,"t":[{"a":6,"o":85,"r":6,"u":[{"r":2}]}]}]}],"o":6,"p":[{"e":[{"n":3}],"i":[{"e":[{"t":43}]}],"o":[{"o":[{"g":1}],"u":2}],"r":[{"e":[{"l":1}],"o":[{"s":16}]}],"s":[{"t":1},29],"t":[{"r":1}],"u":[{"i":7}]},0],"r":[{"a":[{"d":20,"l":29,"m":5,"p":5,"s":8,"t":7}],"e":[{"l":[{".":1,"s":1}],"n":[{".":3}]}],"i":[{"n":[{"g":3}]}],"k":13,"o":[{"f":7},9],"s":[{"l":[{"u":1},6]}],"u":[{"i":6},5]}],"s":[{"f":5,"i":11,"l":[{"e":3,"i":8},7],"m":8,"n":27,"o":65,"p":[{"l":23}],"t":[{"a":5,"e":[{".":1,"l":3,"r":[{"e":1}]}],"o":5}]}],"t":[{"a":[{"a":7,"l":3,"n":[{"t":1}]}],"e":[{"n":3}],"j":5,"o":[{"g":23,"o":7,"p":7,"r":[{"e":4},7],"v":23},115],"r":[{"o":[{"e":3}]}],"s":[{"t":[{"e":[{".":4}]}]}],"u":[{"r":8,"u":8}],"w":[{"i":5}],"y":39}],"u":[{"k":8,"r":[{"e":26},42],"s":[{"p":8},42],"z":42},11],"v":5,"z":[{"e":[{"l":[{"a":2}]}]},5]},30],"é":[{"s":39,"t":42}],"è":42,"ë":[{"g":0,"v":[{"a":0}]}],"f":[{"a":[{"a":5,"d":5}],"l":5,"r":[{"a":7},5],"t":[{"a":[{"a":7,"r":7}],"r":[{"e":7}],"u":[{"r":4}]}],"u":[{"i":5}]},30],"g":[{"a":[{"a":5,"c":3,"l":45,"v":64},7],"e":[{"s":[{"k":5},12]},39],"i":[{"j":5,"n":[{"d":0}],"o":8}],"n":[{"o":3}],"o":[{"m":48,"p":7}],"s":[{"k":5,"l":5,"p":5,"t":[{"o":5}]},6],"u":[{"n":5}]}],"h":42,"i":[{"e":45,"n":11,"s":45},39],"j":[{".":30,"a":[{"d":6},3],"d":30,"e":[{"f":5,"i":5,"l":5,"n":164,"r":22},30],"i":5,"n":30,"o":[{"u":39},19],"s":[{"o":30,"p":30,"t":30}],"t":[{"e":3,"r":7}],"u":3,"v":[{"o":30}],"z":[{"o":30}]},18],"k":[{"a":[{"a":[{"r":5}],"m":0}],"e":[{"f":5,"r":[{"a":6}],"t":15},39],"i":[{"j":18}],"l":[{"a":5,"o":54,"u":54},39],"n":[{"a":64},165],"o":[{"g":56,"m":39,"o":18,"p":[{"e":5},12],"r":[{"d":5}]}],"r":[{"e":5,"i":5,"o":5},0],"s":[{"e":3,"i":3,"l":19,"n":[{"o":5},8],"p":[{"a":7},5],"t":[{"a":3,"e":[{".":1}]},22]}],"w":[{"a":[{"r":3}]},22]},30],"l":[{"a":[{".":39,"a":[{"n":3},7],"c":[{"t":7},5],"d":5,"f":5,"k":39,"l":5,"n":[{"d":45}]},42],"d":[{"a":11,"r":23,"s":13}],"e":[{"e":[{"n":5}],"l":8,"r":[{"v":54}],"t":[{"r":4},6],"u":8,"v":[{"e":19,"i":[{"n":118}]}],"z":132},79],"é":39,"f":3,"i":[{"e":[{"g":4,"t":4}],"n":[{"k":5}]},39],"k":[{"l":6,"s":32}],"l":[{"a":[{"s":15}],"u":57}],"m":[{"e":83,"i":[{"n":7}],"o":7},11],"o":[{"g":[{"e":6}],"n":[{"d":5}],"o":[{"n":45,"r":5},39],"r":[{"e":6},22],"v":[{"e":6}]},42],"s":[{"h":9,"j":1,"t":[{"i":7}]}],"t":[{"h":11}],"u":42}],"m":[{".":30,"a":[{"g":[{"o":0},18],"u":3}],"e":[{"e":[{"n":5},13],"m":54,"n":[{"c":5}],"x":5}],"f":30,"o":[{"f":51,"p":5,"r":[{"g":5}]}],"p":[{"a":3}],"s":[{"o":[{"o":23}],"t":22}],"u":39}],"n":[{"a":[{"c":22,"u":18}],"d":[{"a":[{"a":6}],"e":[{"n":[{"e":7}]}],"s":[{"c":8,"t":[{"e":1}]}],"u":57}],"e":[{"d":[{"e":19,"i":5}],"e":[{"d":5}],"k":13,"o":83,"t":[{"s":13}],"u":45}],"f":57,"g":[{"a":[{"a":8,"g":8,"l":8,"n":36},65],"l":[{"o":1}],"o":11,"r":7,"s":[{"t":6}]}],"i":[{".":30,"e":39,"o":[{"n":1}],"s":[{"l":1,"t":[{"a":1}]}]}],"k":[{"j":30,"n":11,"o":[{"m":36}],"r":[{"i":7}]}],"n":[{"o":36}],"o":[{"c":39,"d":39,"g":166,"n":22,"p":[{"e":1}],"s":[{"t":29}],"v":5},42],"r":[{"i":57}],"s":[{".":30,"c":[{"h":3}],"e":3,"l":5,"m":[{"i":5}],"o":5,"p":[{"o":3},22],"t":[{"e":[{"n":3}]}],"w":[{"i":3}]}],"t":[{"a":[{"p":23}],"e":[{"s":2},3],"h":5,"r":135}],"u":[{"u":[{"t":63}]},42]}],"o":[{"a":[{"s":4},3],"b":3,"c":167,"d":[{"e":39}],"e":[{"s":15}],"f":5,"g":9,"l":[{".":45,"e":[{"n":45}],"u":[{"s":45}]},39],"n":[{"e":[{"e":[{"l":118}]}],"g":45,"s":[{"c":4},24]},39],"o":45,"p":[{"a":5,"r":5,"t":39},111],"r":[{"a":5,"i":39,"u":5}],"s":[{".":39,"c":8,"e":168,"f":168,"h":3,"i":[{".":45},3],"o":3,"p":3,"t":20,"u":169,"y":39},7],"t":[{"h":[{"e":[{"k":45}]}],"i":39,"j":8,"o":[{"r":[{"e":[{"n":[{"s":45}]}]}]}],"r":5}],"v":51,"x":39,"z":18},41],"p":[{"a":[{"c":94,"f":5,"p":39},42],"e":[{"r":[{"w":0}],"t":[{"j":24}]},42],"i":42,"j":22,"l":[{"u":5},42],"o":[{"g":6},42],"r":[{"i":18,"u":5},42],"s":[{"e":13,"i":7,"l":[{"e":7}],"t":[{"e":[{".":1,"n":3}]}]},0]}],"r":[{"a":[{"k":8},39],"e":[{"s":[{"t":8},13]},122],"é":39,"i":42,"k":[{"s":6}],"o":[{"p":8,"v":1},42],"s":[{"c":7,"p":5,"t":[{"e":3}]},11],"t":[{"r":8}],"u":42}],"s":[{"a":[{"a":18,"d":54,"g":9,"p":5,"r":94,"s":51},42],"c":[{"h":[{"a":45,"r":45}],"o":[{"l":3,"o":45,"p":[{"e":45}]}]},0],"e":[{"d":12,"i":54,"l":[{"l":5}],"n":[{"g":3}],"r":[{"v":54}],"s":[{"t":8}],"t":[{"j":15}]}],"f":[{"e":[{"e":7,"r":7}]}],"h":[{"o":3},0],"i":[{"d":12,"j":18,"m":51}],"j":[{"a":5}],"k":[{"a":5,"e":5},0],"l":[{"a":[{"g":3,"s":3}],"e":3},5],"m":64,"n":[{"e":[{"d":3}],"i":[{"j":3}],"o":3},54],"o":[{"l":35,"o":[{"r":7},0],"s":8,"t":[{"t":5},18]}],"p":[{"a":[{"s":3}],"i":11,"l":3},5],"q":3,"s":[{"a":3,"o":3}],"t":[{"a":[{"k":39,"p":8,"s":64,"t":7},22],"e":[{"r":[{"d":3,"e":3}]}],"h":7,"o":[{"n":[{"g":1}]},22],"r":[{"i":3,"o":[{".":45}]},39],"y":39},51],"u":[{"m":12}],"y":45},30],"t":[{"a":[{"c":5,"d":1},42],"e":[{"e":[{"n":5}],"n":39,"r":[{"e":[{"i":1}]},39],"s":[{"t":8},13],"t":6}],"h":[{"i":[{"e":5}],"o":22,"u":22}],"i":[{"e":[{"s":[{"t":4}]}]},11],"j":0,"o":[{"e":[{"f":3}],"o":[{"g":5}],"u":50,"v":117},42],"p":[{"e":[{"r":[{"s":[{"t":2}]}]}]}],"r":[{"e":[{"d":5}],"u":22}],"s":[{"j":[{"e":5}],"l":[{"i":5}],"o":[{"p":5}],"p":22,"t":[{"e":[{".":7},6]}]}],"t":[{"o":[{"o":7}]}],"u":39,"w":5},30],"u":[{"m":[{"a":29,"e":8,"o":8},7],"r":5},99],"v":[{"e":[{"n":[{"s":4}],"r":[{"e":8}]},39]}],"w":[{"i":[{"e":83,"t":15},12]},45],"z":[{"e":[{"t":8},39]},30]}],"î":[{"t":7},39],"ï":[{".":38,"a":45,"c":42,"d":42,"e":[{"n":[{"e":[{"n":[{".":3}]}]},23]}],"n":[{"a":51,"s":[{"m":1,"p":5}],"u":[{"r":48},5]}],"o":39,"r":[{"i":39,"o":39}],"s":[{".":30,"a":5,"c":[{"h":[{"e":45}]},0],"l":5,"o":39,"t":5}],"t":42,"z":45},57],"j":[{".":30,"a":[{"a":[{"r":[{"t":[{"j":4}]},57]}],"b":5,"f":38,"g":[{"e":[{"r":[{"s":43}]}]},57],"k":[{"n":5}],"m":[{"i":5}],"n":[{"s":[{"l":24,"t":6}]}],"p":[{"l":5,"o":22}],"r":[{"e":13},57],"s":[{"p":1},170],"w":36,"z":6}],"b":[{"a":[{"l":6}],"e":[{"l":[{"i":24}]}]},39],"c":42,"d":[{"a":[{"a":51,"n":5,"r":54},12],"e":[{"e":51,"n":[{"e":24,"s":[{"p":2},13]}],"r":[{"v":54}],"s":[{"p":8,"t":1},13]}],"i":[{"a":8}],"o":[{"m":39,"n":3,"p":5},111],"r":[{"e":54,"i":126,"o":54,"u":54},39],"s":[{"e":[{"i":3}],"p":[{"o":5}],"t":22}],"u":51,"w":[{"a":[{"n":48}]},5]}],"e":[{"a":6,"b":[{"a":36}],"c":[{"h":5,"t":[{"a":6}]}],"e":40,"l":[{"a":5},6],"n":[{"a":171,"o":19},42],"p":[{"i":[{"e":[{"t":43}]}]},35],"r":[{"o":5,"s":[{"p":8},13]}],"s":[{"a":[{"l":35},36],"c":[{"h":3}],"k":[{"n":36}],"l":1,"m":1,"o":83,"p":[{"a":1,"r":6}],"r":36,"t":[{"r":1}],"v":[{"o":35}],"w":[{"a":36,"i":36}]},23],"t":[{"e":[{"r":8}],"o":[{"v":13}],"s":[{"t":1}]},11],"u":35,"v":[{"r":36}],"w":38,"x":39}],"f":[{"a":94,"e":[{"i":51,"n":172}],"i":[{"j":54,"n":[{"k":5}]}],"l":[{"a":[{"t":48}],"e":3},5],"o":59,"r":[{"a":48,"o":48},5],"s":[{"a":8,"c":7,"e":[{"r":23}],"f":1,"l":8,"m":1,"n":8,"p":[{"a":1},8],"t":[{"a":[{"k":1,"n":3},7],"e":[{"l":7}],"i":7,"o":17},5]},11],"t":[{"i":3,"w":3},12]}],"g":[{"e":[{"r":[{"s":[{"l":4}]}]},39],"l":51,"s":[{"e":17,"n":5,"t":[{"e":19},11]}]},42],"h":39,"i":[{"f":8,"g":39,"n":[{"g":8}],"t":[{"j":56}]}],"j":39,"k":[{"a":[{"a":[{"r":[{"d":3}]},0],"r":[{"b":5},0],"u":0,"v":0},39],"i":[{"j":18}],"l":[{"a":[{"a":39,"k":3,"p":3,"s":3}],"e":[{"d":45,"s":3},0],"i":3,"o":[{"n":39,"p":3}],"u":[{"c":3}]},165],"n":[{"a":18}],"o":[{"f":51,"l":60,"n":51,"p":[{"b":5,"e":5,"l":5,"s":39},111]}],"r":[{"a":[{"a":5,"n":45},0],"e":5,"o":5,"u":64},18],"s":[{"l":[{"o":5}],"p":[{"l":8}],"t":[{"a":[{"a":[{"k":1,"l":1}],"k":1,"n":3},7]}]}],"u":[{"i":51}],"w":[{"a":[{"s":48}]},5]},38],"l":[{"a":[{"a":39,"n":[{"a":3}]},42],"e":[{"f":51,"l":51},42],"f":3,"i":[{"n":[{"k":5}]}],"o":[{"e":18},42],"u":39}],"m":[{"a":[{"f":51,"r":67}],"i":39,"o":[{"p":5}],"s":5}],"n":[{"a":[{"a":0,"c":3,"g":173,"k":5,"m":[{"e":1},11],"n":48},142],"d":[{"r":56}],"e":[{"f":18,"n":6,"r":[{"k":54,"v":54}]}],"g":[{"l":5}],"i":[{"m":54,"n":[{"k":54}]}],"k":19,"o":142,"s":[{"i":7,"l":[{"a":[{"c":1}],"u":5},27],"o":[{"r":1}],"p":[{"l":8},11],"t":[{"e":[{".":7}]},22]}],"t":[{"r":5},6]}],"o":[{"e":[{"t":15}],"i":30,"l":[{"e":6,"i":[{"j":3}]}],"m":39,"n":[{"e":83},75],"p":[{"e":5},39],"r":[{"a":5,"u":5}],"u":[{"r":[{"e":1},57]},0],"y":8}],"p":[{"a":[{"c":54,"r":[{"m":5}]},39],"e":[{"m":51},42],"i":[{"j":5,"n":42,"o":39}],"j":22,"l":[{"a":42,"i":5}],"o":[{"r":51},42],"r":[{"e":0,"i":5,"o":[{"k":5}]}],"s":6}],"r":[{"a":[{"a":[{"d":[{"s":43}]}]}]},39],"s":[{"a":22,"e":[{"f":0,"l":[{"a":54,"i":45}],"m":64,"r":60}],"i":[{"n":3,"r":7},94],"l":[{"e":[{"e":5},7],"i":[{"e":3},5]}],"m":[{"e":[{"l":3,"t":3},7]}],"n":5,"o":[{"e":45,"l":5},152],"p":[{"a":[{"c":5,"r":5}],"e":39,"l":5,"o":[{"o":[{"r":[{"t":[{"j":21}]}]},5],"r":45},0]}],"t":[{"a":[{"r":0},42],"e":[{"e":39,"k":48,"l":48,"n":[{"g":67}]},51],"h":5,"i":[{"j":7}],"o":[{"n":[{"d":45}],"o":0,"u":5}],"r":[{"a":[{"n":1}],"o":[{"k":45}]}]}],"u":18,"y":39},38],"t":[{"a":[{"a":[{"l":39,"r":5}],"c":22,"g":42,"k":39,"n":39}],"e":[{".":39}],"h":22,"o":[{"e":39,"p":[{"t":5}]}],"r":[{"a":5,"e":[{"d":45,"e":45,"i":5,"k":45}],"i":5,"o":[{"k":45,"t":5}]},39],"s":22,"u":42}],"u":[{"d":5,"m":30,"s":8,"v":[{"e":4}]},75],"v":[{"e":[{"n":12,"r":[{"s":[{"p":2},13]}],"t":8}],"i":[{"e":[{"s":4}]}]},39],"w":42,"z":[{"e":[{"r":[{"o":14}]}]}]}],"k":[{".":30,"a":[{"a":[{"n":[{"b":39,"l":39}],"r":[{"t":[{"j":[{"e":[{"s":2}]}]},35]}],"t":[{"s":[{"t":[{"e":[{".":2}]}]}]}]}],"b":[{"e":83,"o":5}],"c":40,"d":[{"e":[{"t":37}],"m":79,"o":5,"v":39}],"f":[{"d":39,"f":0,"l":5,"t":77},38],"g":[{"a":7,"e":[{"n":48}]}],"h":39,"i":5,"l":[{"b":44,"e":5,"f":[{"s":37},35],"i":19,"k":[{"a":15},12],"t":30,"v":35}],"m":[{"b":30,"e":[{"n":16,"r":[{"e":13}]}],"p":[{"a":6,"l":6,"r":6}]},36],"n":[{"a":[{"a":3}],"d":1,"g":30,"s":[{"l":6,"t":6}],"t":[{"j":24}]}],"o":8,"p":[{".":35,"e":5,"l":8,"o":22,"p":[{"a":30}],"r":5,"s":8}],"r":[{"c":39,"o":54,"t":[{"i":79,"r":8},13]}],"s":[{"c":1,"i":79,"t":[{"o":87,"r":[{"a":4,"o":3},5]}],"u":[{"r":29}]},7],"t":[{"a":[{"a":[{"l":1}],"l":[{"e":174}],"n":7}],"i":[{"o":17},13],"j":1,"l":39,"o":[{"g":23},13],"r":3,"s":8}],"u":[{"t":40}],"v":[{"o":38}]},57],"b":44,"c":[{"a":39},40],"d":[{"i":[{"a":8}]},81],"e":[{"b":0,"c":44,"d":[{"i":7}],"e":[{"n":44,"p":[{"l":14}],"r":[{"s":[{"t":[{"o":2}]},13]},6]}],"f":[{"f":30},38],"i":[{".":0,"e":0,"l":18,"s":29,"t":1}],"l":[{"a":[{"p":7}],"d":[{"a":1,"r":1}],"e":[{"l":3,"m":30}],"f":1,"i":[{"n":[{"t":17}]}],"o":[{"m":7,"p":23}],"s":[{"p":8}]}],"m":[{"a":106,"m":38,"p":38}],"n":[{"a":[{"n":23,"u":7}],"e":[{"i":[{".":6}],"n":3}],"k":1,"o":68,"s":[{"p":[{"o":4}]}]}],"p":[{"i":[{"e":[{"t":2}]}]}],"q":101,"r":[{"a":[{"m":5}],"e":[{"n":[{"k":17}]}],"k":[{"l":[{"e":6},8],"n":6,"r":24,"u":6,"w":6}],"n":[{"a":24,"o":6}],"o":[{"s":5},29],"s":[{"m":6,"p":[{"e":1,"r":6}],"t":[{"a":6,"e":[{".":1}],"i":6}]}],"t":[{"s":79}],"v":[{"a":30}],"w":[{"t":30}]}],"s":[{"p":19,"t":[{"a":5,"e":[{"n":1}],"o":5,"r":[{"a":[{"a":3}]}]}]},11],"t":[{"e":[{"l":35}],"j":27,"o":5,"r":27,"s":[{"t":[{"e":[{".":4}]}]}],"t":[{"i":[{"n":[{"g":[{"s":21}]}]}]}],"u":99,"w":8},18],"u":80,"v":[{"i":[{"e":[{"t":43}]}],"l":7}],"x":41,"z":104},57],"f":40,"g":44,"h":[{"o":[{"u":[{"d":[{"s":2}]}]},39]},175],"i":[{"d":98,"e":[{"d":30,"s":[{"p":6,"t":[{"e":1},176]}],"t":[{"j":6}],"z":[{"e":16}]}],"ë":38,"j":[{"k":[{"l":4}],"s":39,"v":30,"z":41}],"l":[{"o":[{"v":4},5]}],"n":[{"a":5,"b":30,"d":[{"e":[{"l":53}],"s":[{"t":[{"e":[{".":2}]}]}],"u":30}],"e":[{"n":8}],"g":[{"s":[{"l":2}]},35],"h":44,"i":[{"e":16}],"k":[{"o":39}],"r":41,"s":40,"t":44,"v":79}],"o":5,"p":[{"l":27}],"s":[{"e":3,"p":19}],"t":[{"s":[{"t":[{"e":4}]},6]}]},57],"j":[{"a":44,"e":[{"w":39}],"o":39,"u":44},42],"k":[{"e":[{"n":[{"e":[{"i":1}]}],"r":[{"s":[{"t":[{"e":[{"n":2}]}]},13]}],"s":[{"t":8}]}]},141],"l":[{"a":[{"c":35,"d":[{"i":39}],"p":153,"s":[{".":35,"s":35,"t":39},0],"t":[{".":39,"t":39}],"v":77}],"e":[{"d":[{"i":35},77],"e":[{"d":35,"r":[{".":45}]}],"g":53,"m":35,"n":53,"r":[{".":39,"a":30,"s":39}],"s":39,"u":110}],"i":[{"c":45,"d":30,"g":39,"j":[{"s":30},44],"m":[{"e":6},0],"n":77}],"o":[{"b":45,"d":30,"k":[{".":35,"a":45,"e":39},36],"o":[{"d":39,"f":35}],"p":[{"e":39}],"s":35,"t":[{"s":[{"t":[{"e":[{".":2}]}]}]}],"z":81}],"u":[{"c":30,"i":[{"h":30}]}]},177],"m":[{"a":39},40],"n":[{"a":[{"m":30,"p":0,"r":77}],"e":[{"c":35,"m":45}],"i":[{"e":[{".":35}],"p":71,"v":53},12],"o":[{"l":36,"t":[{"e":39}]}],"u":[{"m":38}]},177],"o":[{"b":[{"l":7}],"c":[{"t":81},0],"e":[{"f":41,"k":[{"e":[{"t":6}]},35],"r":[{"s":[{"p":2}]}],"s":15,"t":[{"j":8,"s":[{"t":[{"e":[{".":2}]}]}]}]}],"g":[{"e":13,"r":178}],"k":[{"o":3},77],"l":[{"e":[{"n":63},179],"m":38,"o":35,"y":7}],"m":[{"a":27,"g":30,"p":1,"s":[{"l":39,"t":[{"r":6}]}],"z":30}],"n":[{"g":[{"e":16}],"i":0,"t":[{"b":39,"j":24,"r":24}]}],"o":[{"g":40,"i":[{"t":[{"j":4}]}],"t":[{"j":13},15]},6],"p":[{"a":5,"b":30,"d":79,"e":[{"n":[{".":3}]},22],"g":30,"i":138,"j":35,"l":11,"s":38,"z":30}],"r":[{"d":[{"o":1},38],"g":40,"k":44,"s":[{"t":[{"e":[{".":4}]}]}],"t":[{"a":6,"o":103,"r":6}],"u":5}],"s":[{".":79,"j":[{"e":[{"r":[{"e":3}]}]},6],"o":13,"s":30},180],"t":[{"s":[{"t":[{"e":[{".":4}]},6]}]}],"v":41,"x":79},57],"p":[{"i":[{"s":8}],"l":[{"a":[{"m":0}]}],"r":[{"e":[{"n":16}]}]},44],"r":[{"a":[{"a":[{"d":[{"s":43},45]}],"b":6,"d":53,"n":[{"d":45}]},36],"e":[{"a":40,"c":44,"d":[{"e":79}],"e":[{"p":45,"t":63},181],"f":39,"g":18,"l":44}],"i":[{"c":40,"j":[{"k":39,"p":39,"t":[{"j":2},13]}],"t":[{"m":45},0]}],"o":[{"e":[{"t":[{"j":2}]}],"l":38,"n":[{"t":15},0],"o":[{"n":35}],"p":[{"a":15}],"t":[{"o":6}],"u":38,"v":173}],"u":[{"b":45,"i":[{"s":35}],"l":[{"a":4},6]},77]},108],"s":[{"a":[{"l":[{"m":5},39],"n":5,"p":5,"r":22,"s":5}],"e":[{"c":45,"d":5,"i":[{".":3}],"p":5,"r":[{"v":0}],"t":5,"v":8},182],"g":[{"e":[{"s":[{"t":2}]}]}],"i":[{"l":45,"n":22,"s":45,"t":45},0],"j":22,"l":[{"a":[{"b":5,"n":0},42],"e":5,"i":5}],"m":[{"o":0}],"n":[{"a":5,"o":5,"u":5}],"o":[{"m":5,"n":[{"g":45}]},6],"p":[{"a":[{"n":[{"d":3}],"r":0},51],"e":42,"i":39,"o":[{"o":5,"r":45,"t":5}],"r":[{"u":5}],"u":39}],"s":3,"t":[{"a":[{"a":[{"n":45,"t":45}]},42],"e":[{"c":3,"d":144,"n":[{"t":3},39],"r":[{"a":2,"r":0},13]},42],"h":5,"i":39,"o":[{"n":3,"o":45,"p":0,"t":45},39],"r":[{"e":[{"k":3}],"i":5}],"u":[{"e":39,"i":[{"t":1}]}]},7],"y":42},38],"t":[{"a":[{"a":[{"n":5,"r":39,"t":2}],"c":5,"r":[{"t":5}]},42],"e":[{"c":[{"o":5},12],"x":0},39],"h":22,"i":[{"j":45,"m":5,"n":5,"t":45}],"j":5,"o":[{"m":5,"p":6,"r":[{"d":3,"g":3,"i":3},7],"v":19},42],"r":[{"e":[{"s":5}],"o":[{"l":[{"l":45}],"s":15}]},42],"u":39},30],"u":[{"b":[{"e":3}],"i":[{"f":12,"t":38}],"k":3,"m":[{"e":3}],"n":[{"i":53,"s":35},183],"r":[{"a":5,"e":5,"s":8},11],"s":151,"t":8},57],"û":38,"v":[{"e":[{"n":[{"t":143}]},39]},38],"w":[{"a":[{"a":[{"l":106}],"c":44,"d":18,"g":42,"l":69,"m":69,"r":[{"e":45},77],"t":30}],"e":[{"e":[{"r":39}],"g":38,"i":42,"l":35,"n":[{"s":[{"t":[{"e":[{".":2}]},13]}]}],"r":41,"s":[{"t":[{"r":4}]},184],"t":[{"s":35}]}],"i":[{"e":18,"j":[{"z":39}],"k":0,"l":38,"n":[{"d":39},38]}],"o":41}],"y":5,"z":38}],"l":[{".":30,"a":[{"a":[{"n":[{"d":30,"h":39},38],"r":[{"e":1,"t":[{"j":4}]}],"t":[{"s":[{"t":[{"a":4}]}]}]}],"b":[{"o":[{"n":39}]}],"c":[{"a":7,"h":[{".":35,"a":7,"e":35,"t":[{"e":4,"s":16}]}],"i":0},38],"d":[{"a":155,"e":[{"t":7}],"j":38,"m":30,"o":27,"r":185,"s":1,"u":11,"v":30}],"e":100,"f":[{"a":11,"l":5,"o":83,"s":79},38],"g":[{"a":27,"e":[{"n":[{"t":7}]}],"o":11,"r":8,"s":[{"a":1},13]}],"k":[{"a":27,"i":7,"r":5}],"l":[{"d":36,"o":6},38],"m":[{"p":[{"j":24,"l":14,"o":186}],"s":[{"p":24}]}],"n":[{"a":[{"c":8},185],"d":[{"a":[{"a":4},6],"o":[{"o":14}],"r":24,"s":[{"t":[{"e":[{".":2}]}]}]},36],"e":[{"c":23,"l":2}],"g":[{"e":[{".":35}],"l":4,"s":[{"p":4,"t":[{"a":4}]}]}],"k":[{"a":24,"l":24,"w":15}],"n":30,"o":[{"r":7}],"s":[{"l":15,"t":6},12],"t":[{"j":24}]},0],"p":[{"a":[{"c":8}],"i":5,"l":8,"o":29,"r":[{"e":3}],"u":27}],"q":5,"r":[{"d":[{"a":8}],"m":[{".":30},38],"s":[{"t":1}]}],"s":[{"a":29,"e":13,"i":11,"t":[{"o":8,"t":35}]}],"t":[{"e":5,"h":[{"e":23}],"j":1,"r":[{"o":23}],"s":[{"l":8},120]}],"u":[{"f":35,"s":[{"t":6}],"w":18},38],"v":[{"a":15,"o":7},5],"w":35,"z":[{"i":[{"j":7},30]},0]}],"b":[{"e":[{"r":[{"t":[{"j":2},13]}]}],"o":[{"o":[{"t":16}]}]},140],"c":[{"e":[{"l":14}]},40],"d":[{"a":[{"a":[{"t":2}],"c":51,"k":13,"l":[{"f":5}],"r":[{"c":5,"i":5,"t":5},117],"u":18}],"e":[{"c":[{"o":5}],"k":[{"s":2}],"z":60}],"i":[{"a":8}],"o":[{"e":[{"f":3}],"l":[{"i":5}],"m":51,"n":51,"o":[{"g":5}],"p":[{"i":5},117],"r":[{"d":5}],"v":22}],"r":[{"a":[{"d":[{"e":45}],"m":5,"n":[{"g":3}],"t":5}],"e":[{"e":45},22],"i":[{"j":5}],"o":[{"e":5,"l":5,"m":5}],"u":[{"i":5}]},39],"s":[{"a":5,"l":5,"m":[{"a":5}],"p":3,"t":[{"e":3}]}],"u":[{"i":[{"t":5}],"u":5},39],"w":22},30],"e":[{"a":[{"n":[{"e":7}],"t":5},11],"b":[{"a":[{"l":13}]}],"c":[{"h":[{"t":[{"s":[{"t":2}]}]}]}],"e":[{"g":[{"e":16,"i":4},15],"k":[{"h":30}],"l":1,"m":15,"n":36,"p":[{"o":15},30],"s":[{"e":4,"l":4,"p":[{"o":4}]}],"u":38},6],"f":[{"f":38}],"g":[{"a":[{"s":4}],"e":[{"c":8}],"l":8,"o":[{".":3},7],"s":1}],"i":[{"d":[{"i":36}],"e":[{"r":30}],"g":30,"t":[{"j":1,"s":4}]}],"k":[{"o":187,"s":[{"t":[{"r":1}]},30]}],"l":[{"d":35,"e":11,"i":35,"p":39}],"n":[{"a":[{"d":62,"k":29}],"e":[{"m":62},36],"k":[{"w":1}],"o":[{"p":8},11],"s":[{"f":8,"m":8}],"t":[{"h":188}]}],"o":3,"p":[{".":30}],"r":[{"a":[{"k":62},145],"e":[{"i":3,"v":62}],"g":26,"o":[{"n":7},19],"s":[{"l":6,"p":[{"o":1}]}],"t":[{"s":79}]}],"s":[{"a":7,"c":5,"e":[{"t":1}],"h":19,"m":8,"p":[{"e":5},7],"s":[{"a":79}],"t":[{"a":[{"a":1},6],"e":[{"l":20}],"r":5},8],"u":23},11],"t":[{"h":[{"a":5},149],"i":[{"n":3},6],"o":[{"p":7}],"r":[{"e":19},27],"s":[{"t":[{"e":[{".":4}]},6]}],"u":27}],"u":[{"k":[{"o":8}],"m":[{"a":15}],"r":[{"o":13}],"s":[{"t":[{"e":1}]},13],"z":35}],"v":[{"e":[{"n":[{"s":16}]}],"i":[{"n":[{"k":[{"j":43}]}]}]}],"x":[{"c":30,"p":30}]}],"f":[{"a":[{"c":18,"g":48,"s":8,"u":18}],"e":[{"n":[{"d":54,"e":5},6],"z":66}],"l":[{"i":5,"o":48,"u":5}],"o":[{"e":45,"l":19,"p":22,"r":[{"d":3,"g":3}],"u":45},0],"r":[{"a":42,"u":39}],"s":[{"e":[{"i":1}],"l":[{"e":8},7],"m":27,"o":7}],"t":[{"a":3,"w":3},6],"u":[{"u":5}]}],"g":[{"a":[{"a":[{"r":45}],"p":0}],"e":[{"n":[{"a":14}]}],"l":[{"a":39}],"o":[{"e":48,"g":39,"o":39}],"s":[{"e":4},19]},40],"h":41,"i":[{"a":[{"g":5,"m":5}],"c":[{"h":[{"t":[{"s":[{"t":2}]}]}]}],"d":[{".":35,"m":35,"s":29},36],"e":[{"g":[{"a":24,"r":6}],"k":[{"a":8}],"s":[{"p":6,"t":29}],"t":[{"o":6}],"u":5}],"è":36,"f":[{"t":36}],"g":[{"o":5},0],"j":[{"k":[{"a":15}],"m":[{"a":24,"v":30}],"n":35,"p":30,"s":[{"t":[{"a":2}]},189],"t":30,"z":79}],"k":[{"r":3,"s":[{"p":1}],"w":[{"i":5},7]}],"m":[{"a":6,"i":5,"p":[{"j":24},38]}],"n":[{"d":[{"a":6}],"f":30,"h":79,"i":3,"k":[{"a":24}],"n":[{"a":39},36],"r":38,"s":44,"t":[{"j":24}],"v":39,"z":30}],"o":[{"b":5,"m":3,"s":190,"t":5}],"p":[{"a":11,"i":5,"l":27}],"s":[{"e":[{"e":3}],"o":38,"w":45}],"t":[{"h":52,"r":8,"s":[{"a":6,"l":6,"t":[{"e":[{".":4,"n":1}]},6]}]}],"x":38},57],"j":191,"k":[{"a":[{"f":5,"n":[{"k":54}],"r":[{"m":5,"t":5}]}],"e":[{"i":54,"m":54,"n":[{"e":4,"s":13}],"p":54},39],"i":[{"n":[{"g":16}]},39],"l":[{"a":[{"a":5,"g":5,"s":45}],"e":[{"v":54}],"i":[{"m":45}]}],"o":[{"e":45,"n":[{"t":5}],"o":[{"i":2}],"p":[{"b":5}],"r":45,"u":45},39],"r":[{"a":45,"e":[{"p":5,"s":5},18],"i":[{"j":5}],"o":51}],"s":[{"e":7,"o":[{"n":5,"o":8},7],"t":[{"a":[{"a":1}],"e":[{"l":1},5],"r":1}]},11],"u":[{"u":54}],"w":[{"i":5},39],"y":39}],"l":[{"a":[{"d":8,"g":29,"t":[{"r":1}]},45],"e":[{"i":[{"g":5}],"k":8,"l":7,"o":13,"r":[{"o":[{"n":4}]}],"s":[{"m":29}],"t":[{"h":1}],"v":[{"i":[{"e":43}]}]}],"i":48,"o":[{"f":1,"n":45},39],"s":[{"h":5}]},40],"m":[{"a":[{"a":[{"t":2},39],"c":[{"a":19}],"f":5,"ï":1,"k":39,"r":[{"c":5,"t":5}],"s":32,"u":5}],"e":[{"d":[{"i":5},0],"p":54,"s":12,"t":[{"e":1}]},39],"i":39,"o":[{"g":45,"l":[{"i":5}],"r":5},39],"r":[{"o":[{"z":13}]}],"s":[{"c":3,"h":5,"u":5}]},38],"n":[{"i":[{"s":6}]},44],"o":[{"a":5,"b":[{"j":38,"o":[{"o":7}]}],"e":[{"d":[{"a":14,"r":15}],"g":[{"r":6},30],"n":[{"s":[{"t":[{"e":[{".":2}]},13]}]}],"s":30,"u":39,"v":35}],"f":[{"a":[{"a":7}],"d":33,"s":176}],"g":[{"l":1,"o":5,"r":35,"s":46},6],"k":[{"a":[{"r":23}],"o":192,"r":7,"u":11}],"l":[{"a":5},98],"m":[{"l":39,"p":[{"j":24,"l":24}],"t":39,"v":39,"z":30}],"n":[{".":36,"d":30,"g":[{"a":[{"a":6}],"o":24,"r":6},35],"o":8,"t":[{"j":24},38]}],"o":[{"k":36,"p":[{"i":1}],"s":[{"h":36}],"t":[{"e":15}]}],"p":[{"a":5,"b":30,"d":39,"e":22,"h":44,"l":[{"a":6},44],"n":38,"r":9,"t":30,"v":79,"w":79}],"r":[{".":77,"e":5,"g":41,"i":5,"o":193,"s":77,"u":5},38],"s":[{"p":[{"e":5}],"t":[{"o":1,"r":17},13],"u":56}],"t":[{"a":[{"l":29},11],"e":[{"t":7}],"h":27,"j":8,"o":[{"f":7}],"r":8}],"u":[{"s":8}],"v":[{"e":38},5],"z":138}],"p":[{"a":[{"a":[{"n":5},39],"g":19,"m":5,"r":39,"s":39},42],"e":[{"n":12,"x":18},42],"i":[{"n":[{"g":45,"s":5}]},39],"j":5,"l":[{"a":[{"m":0},48]},42],"o":[{"f":5,"m":39,"n":5,"p":[{"e":5}],"s":39,"t":39},42],"r":[{"a":[{"m":5}]},42]},30],"r":[{"a":[{"a":[{"d":[{"s":43}]}]}],"u":[{"s":4}]},79],"s":[{"a":[{"a":0,"d":52,"g":9,"m":42,"n":5,"p":39,"s":5,"t":18}],"c":[{"o":[{"r":7}],"u":7}],"e":[{"c":[{"o":5}],"d":132,"f":0,"n":45,"p":132}],"g":[{"e":[{"s":[{"t":13}]}]}],"h":[{"i":50}],"i":[{"m":54,"n":[{"j":5,"k":5,"t":5},0]},39],"j":[{"a":3},7],"k":[{"e":[{"l":48}],"i":50}],"l":[{"a":39,"e":[{"d":3,"e":3,"g":3,"n":3},165],"i":[{"n":7},51],"o":39},42],"m":[{"a":[{"a":[{"k":7}]}],"e":[{"d":7,"e":7}],"i":[{"d":39}]}],"n":[{"a":5,"e":39,"o":[{"r":5},39]}],"o":[{"c":39,"f":5,"l":39,"p":5,"r":19,"v":22}],"p":[{"a":[{"c":5,"n":39,"r":5},18],"e":7,"i":39,"l":[{"i":5}],"o":[{"o":[{"t":64},39],"r":39}],"r":[{"a":5},18]},42],"t":[{"a":[{"f":0,"k":[{".":3},0]},39],"e":[{"k":0,"v":0},39],"i":7,"o":39,"r":[{"a":[{"a":45,"k":3,"t":45}]}],"u":39,"y":3},42],"u":[{"r":39,"s":5},18],"y":39},30],"t":[{"a":[{"a":7,"c":22,"m":[{"e":45},0],"n":67}],"h":[{"a":[{"n":7}],"i":54,"o":51,"u":39}],"o":[{"l":[{"i":5},6],"v":59}],"r":[{"a":[{"s":15}],"u":[{"g":5}]},39],"s":[{"l":5,"p":5,"t":[{"e":[{".":1}]}]}],"u":39},41],"u":[{"b":[{"e":1,"l":1},25],"e":[{"n":22}],"i":[{".":36,"a":35,"d":[{"s":63},35],"e":[{".":35}],"t":38}],"k":[{"s":[{"t":15},12]}],"n":[{"a":5,"c":36,"i":104}],"s":[{"t":[{"a":5}]}],"t":[{"a":5,"j":8,"s":[{"t":[{"e":[{".":4}]},6]}]}],"w":[{"i":5}]}],"v":[{"e":[{"n":[{"s":4}],"r":[{"a":16}]}]}],"w":42,"y":[{"i":3,"s":[{"t":5}]},57],"z":[{"o":[{"o":[{"i":2}]}]},30]}],"m":[{".":30,"a":[{"a":[{"s":15,"t":[{"s":[{"t":4}]}]}],"c":[{"t":39}],"d":[{"v":44}],"e":[{"s":[{"t":[{"o":3}]}]}],"f":[{"l":39,"r":5,"s":44,"w":79}],"g":[{"l":5,"o":3,"r":5},0],"ï":6,"k":[{"a":3,"e":3,"r":107,"w":5}],"l":[{"a":[{"c":3},19],"e":[{"n":[{"t":17}]}],"s":[{"t":1}]}],"n":[{".":106,"a":[{"c":8,"l":39}],"d":[{"a":1,"o":1,"s":13}],"n":106,"o":3,"s":[{"e":[{"e":4},6],"o":6,"p":15,"t":[{"a":4},24]},194],"t":[{"h":6,"r":13}]}],"p":[{"a":3,"r":5}],"q":5,"r":[{"i":[{"e":[{"t":43}]},64],"k":106,"s":[{"h":8,"t":14}],"t":[{"i":1}]}],"s":[{"o":22,"p":[{"o":19}],"s":35,"t":[{"e":7,"r":5}]}],"t":[{"a":3,"e":[{"r":35}],"j":1,"o":[{"m":7}],"r":5,"s":[{"t":[{"e":[{".":4}]},6]}]}],"v":5},57],"b":[{"l":45,"o":[{"o":[{"t":[{"j":16}]}],"s":[{"t":1}]}],"r":7},30],"c":40,"d":[{"a":45,"i":[{"a":8,"s":4}],"o":[{"p":8},39],"r":39,"w":39},40],"e":[{"c":22,"d":[{"e":3,"i":[{"a":35,"u":35}]}],"e":[{"g":1,"k":[{"r":29}],"l":[{"a":[{"s":1}],"o":8}],"r":[{"e":1,"i":1}],"s":[{"t":[{"a":[{"l":2}],"o":[{"v":1}],"r":1}]},35]}],"g":[{".":45,"a":[{"s":4},9],"d":45,"g":45,"t":45}],"i":[{"n":12,"t":[{"j":1}]},7],"l":[{"a":[{"s":[{".":1},149]}],"d":[{"r":1}],"k":[{"o":6,"r":6}],"o":35,"s":[{"m":29}]},18],"m":[{"i":7}],"n":[{".":0,"a":[{"s":6},5],"g":[{"r":[{"a":4}]}],"k":1,"o":[{"r":3}],"q":30,"s":[{"u":[{"u":14}]}],"t":[{"j":24,"w":15}],"u":3},36],"p":[{"j":9}],"q":104,"r":[{"a":[{"a":[{"k":17}],"k":62,"m":149,"n":[{"t":[{"e":1}]}],"p":7,"u":5,"v":7},22],"e":[{"i":8}],"k":[{"l":6,"n":6,"w":6},35],"o":[{"c":1,"n":[{"g":3}],"o":5,"s":79,"t":5}],"s":[{"i":6,"l":6,"m":4,"t":[{"a":4}]}],"u":65}],"s":[{"h":19,"l":[{"i":1,"o":3},149],"m":8,"o":5,"p":[{"a":8,"e":3,"o":[{"t":3}]},7],"t":[{"e":[{"l":3}],"o":[{"v":4},16],"u":5}]},0],"t":[{"a":[{"n":134}],"h":19,"i":36,"r":3,"s":[{"t":[{"e":[{".":4}]}]}]}],"v":[{"e":[{"n":48},13]}],"x":38},57],"é":36,"è":36,"ê":36,"f":[{"a":[{"t":8}],"l":[{"i":[{"e":3},5]},7],"o":45},40],"g":[{"e":[{"r":13}]},81],"h":40,"i":[{"d":[{".":30,"d":35},36],"e":[{"k":[{"l":1}],"s":[{"t":8}]}],"j":[{"s":79,"z":79}],"k":[{"n":5}],"l":[{"i":35,"o":5}],"m":[{"i":[{"e":16}],"p":39}],"n":[{"a":[{"r":3}],"f":38,"g":35,"h":30,"r":81,"s":44,"u":3,"w":79}],"s":[{"f":1,"i":27,"l":[{"a":19}],"t":[{"r":[{"a":3,"o":1}]},7]},18],"t":[{"a":19,"r":22,"s":[{"t":[{"e":[{".":4,"n":1}]},6]}]}]},57],"j":40,"k":[{"a":[{"a":[{"r":[{"t":[{"j":43}]}]}]}]},104],"l":44,"m":40,"n":[{"a":45},40],"o":[{".":35,"a":5,"d":[{"a":35,"e":35}],"e":[{"d":[{"s":13}],"f":38,"i":35,"r":[{"s":[{"t":2}]}],"s":[{"p":15,"t":[{"e":13}]},12]}],"g":[{"e":[{"n":[{"s":16}]},35],"l":5},12],"k":30,"l":[{"e":35,"i":[{"e":7},38],"m":[{"a":24}],"t":30}],"m":[{"v":79},36],"n":[{"d":[{"r":15}],"o":3,"s":[{"o":6},35],"t":[{"a":1}]}],"o":[{"i":36}],"p":[{"a":5,"e":42,"p":0,"s":6},38],"r":[{"a":5,"e":19,"o":5,"s":[{"p":6,"t":[{"e":[{".":4}]},6]}]}],"s":[{"c":3,"l":17,"t":[{"a":5}]},35],"t":[{"h":9,"j":8,"o":[{"l":8}],"s":[{"t":[{"e":[{".":4}]},6]}]}],"u":[{"d":44,"w":[{"i":6},35]}],"v":5,"x":39},57],"p":[{"a":[{"c":[{"h":5}],"f":54,"n":45,"r":[{"m":5,"t":[{"s":3}]}]}],"e":[{"c":54,"n":45,"r":[{"v":54}]}],"i":[{"n":[{"s":5}]}],"l":[{"a":[{"m":5,"n":45}],"e":[{"g":5,"i":5,"v":5}],"i":[{"e":5}],"u":0},39],"o":[{"l":[{"i":[{"e":3}]}],"n":[{"g":13},45],"p":[{"e":5}]}],"r":[{"e":[{"c":5,"d":5,"s":45}]},11],"s":[{"c":3,"e":67,"h":5,"u":3},195]},40],"r":40,"s":[{"a":[{"m":39,"n":[{"a":5}],"p":5}],"c":[{"o":5,"u":5},11],"j":[{"e":39},11],"l":[{"e":[{"n":5},18],"i":[{"e":5}]},42],"m":[{"a":5},50],"n":[{"e":[{"e":5}]},42],"o":[{"l":39,"r":5},6],"p":50,"t":[{"a":39,"e":[{"c":3,"l":45,"n":45},42],"i":42,"o":[{"c":3,"n":64},42],"s":1},7],"y":39},38],"t":[{"a":42,"e":[{"r":[{"e":1}],"s":[{"t":[{"a":1}]},13]}],"h":42,"o":42,"r":39,"u":42},38],"u":[{"d":[{"a":3}],"e":6,"i":[{"l":[{"d":[{"e":[{".":35}]}]}],"t":38}],"k":38,"l":[{"p":8}],"m":27,"n":[{"o":5,"t":[{"j":15}]}],"s":[{"a":5,"t":[{"a":1}]}],"t":[{"j":8,"s":[{"t":[{"e":4}]},83]},35],"u":36,"z":35},57],"v":[{"a":[{"r":[{"i":2}]}],"e":[{"e":15,"r":[{"e":15}]},6]},38],"w":40,"y":[{"e":5},57],"z":[{"e":[{"t":4},6]},38]}],"n":[{".":30,"a":[{".":36,"a":[{"l":36,"m":106,"n":41,"p":38,"r":[{".":0,"d":79,"s":[{"t":[{"r":2}]},35],"t":[{"j":4}]}],"s":[{"t":35}],"t":35}],"b":[{"d":39,"e":35}],"c":[{"a":11,"e":[{"e":[{"t":2}]}],"i":18,"o":36,"t":79},38],"d":[{"a":20,"e":[{".":36,"n":196,"s":36},6],"i":36,"m":79,"r":[{"a":3}],"v":40}],"e":35,"ë":39,"f":[{"l":[{"u":19}]},41],"g":59,"h":22,"i":36,"ï":36,"k":[{"e":18,"l":19,"r":5}],"l":[{"b":39,"e":[{"n":35},77],"f":79,"m":39,"y":[{"s":30},38]}],"m":[{"b":30,"e":[{"s":[{"t":4}]}],"i":0,"p":39},36],"n":[{"a":50,"k":39,"t":[{".":35,"e":[{"n":[{"n":45}]},35],"j":24},36]}],"p":[{"a":[{"c":8}],"l":197,"r":19,"s":[{"t":1},8]},38],"r":[{"b":40,"e":[{"s":35}],"g":44,"i":[{"e":[{"t":2}]}],"m":40,"o":36,"s":[{"t":[{"e":[{".":4,"n":1}]},6]},30],"t":41}],"s":[{"a":148,"l":49,"p":22,"t":[{"a":5,"u":5}]},12],"t":[{".":0,"i":77,"j":1,"l":79,"o":5,"s":[{"p":8},13]}],"u":[{".":35,"s":35}],"v":[{"e":[{"n":35}],"i":36},137],"z":[{"i":[{"f":36,"j":7}]}]},57],"b":[{"e":[{"s":[{"t":1}],"t":1}],"o":[{"t":[{"s":[{"t":[{"e":[{".":2}]}]}]}]}]},38],"c":[{"e":[{"s":[{"t":13}]},39],"h":[{"e":39,"t":[{"r":1},83],"u":8}],"o":45},40],"d":[{"a":[{".":45,"a":[{"n":5,"s":3}],"b":[{"o":5}],"c":[{"t":5}],"d":[{"e":[{"l":3}],"r":5}],"g":[{"s":[{"p":2}]}],"l":[{"f":5,"m":5}],"n":[{"a":54}],"p":0,"r":[{"t":5},18],"s":[{"s":5,"t":8},0],"v":0,"z":60}],"e":[{"d":[{"i":54}],"i":126,"l":[{"a":[{"a":1}]}],"m":[{"m":54}],"n":[{".":45}],"r":[{"a":[{"a":[{"l":4}],"l":4,"n":14},16],"e":[{"c":128}],"i":[{"n":[{".":4}]}],"o":[{"g":4}]}],"t":[{"e":[{"n":6}]}]},39],"i":[{"a":8,"e":[{"t":[{"j":13}]}],"j":[{"s":[{".":3},0]}],"n":[{"k":54}],"o":8}],"j":[{"i":50}],"o":[{".":45,"c":45,"f":64,"l":[{"i":5}],"m":[{"d":5}],"n":[{"a":45,"d":3,"s":45,"t":5},0],"o":[{"g":5}],"p":[{"e":5,"p":5}],"v":5}],"r":[{"a":[{"p":3,"t":5}],"e":[{"k":7,"s":0},22],"o":[{"t":5}],"u":[{"g":5}]}],"s":[{"c":[{"u":19}],"e":[{"c":7,"t":3}],"i":19,"j":[{"o":5}],"m":7,"p":[{"o":7,"r":[{"a":7}]},5],"t":[{"a":[{"a":[{"l":1}]}]}],"u":5}],"u":[{"i":[{"t":5}],"r":[{"e":3},59],"u":54}],"w":22,"y":39},30],"e":[{".":36,"a":[{"c":3,"m":5}],"b":[{"e":[{"s":13}]}],"c":[{"k":36,"l":11}],"d":[{"i":[{"t":7}],"o":5,"u":39,"w":3}],"e":[{"d":30,"k":1,"l":[{"d":4,"o":15}],"m":36,"n":41,"r":[{"i":1}],"s":[{"e":1}],"t":[{"a":15,"o":4,"r":15,"s":4}]},6],"f":[{"f":41}],"g":[{"e":[{"l":7,"n":[{"e":[{"n":2}]}],"r":[{"e":13}]}]},9],"i":[{"e":[{"n":35,"r":45}],"g":[{"d":35},18],"t":105},41],"k":[{"r":23}],"l":[{"a":11,"e":[{"m":30}],"f":30}],"m":[{"b":79,"e":106,"i":[{"g":101}],"m":79,"p":79},36],"n":[{".":77,"b":35,"d":[{".":106,"o":1}],"e":[{"n":[{"k":17}]}],"i":[{"g":3},7],"k":26,"o":198,"p":35,"t":[{"a":26}]},11],"o":[{"c":3,"k":3,"m":3,"p":1,"s":3,"t":3}],"p":[{"a":[{"g":8}],"e":5,"i":[{"s":15}]}],"r":[{"a":[{"d":13},22],"e":199,"f":[{"e":39}],"g":38,"i":[{"d":23}],"o":[{"s":5}],"s":[{"l":6,"p":6,"t":[{"e":4},6]}],"u":8,"y":5}],"s":[{"s":[{"a":4,"t":4}],"t":[{"a":5,"e":[{"i":6,"k":20},8]}]},36],"t":[{"e":[{"r":7}],"o":[{"n":8}],"s":[{"i":6}]}],"u":[{"m":[{"s":5},30],"s":[{"t":[{"e":1}]}]},11],"x":38},57],"é":36,"f":44,"g":[{"a":[{"a":[{"t":[{"j":2}]}],"d":70,"f":5,"n":[{"a":5}],"p":117,"r":18,"s":[{"l":1}],"v":39}],"e":[{"a":[{"d":6}],"e":[{"n":54}],"l":[{"s":[{"t":[{"e":[{".":2}]}]}]}],"m":[{"b":5}],"n":45,"r":[{"a":[{"p":6,"s":6}]}]}],"i":[{"g":[{"e":[{"r":0}],"s":0}],"j":5,"n":[{"d":0,"k":5,"s":54}]}],"l":[{"a":[{"d":3,"m":3,"n":3}],"e":[{"d":3,"u":3}],"i":[{"n":3},11],"o":[{"p":3}]},7],"o":[{"e":39,"f":5,"ï":39,"n":94,"o":[{"r":3}],"p":3,"r":[{"e":5,"g":5}],"t":39}],"r":[{"a":[{"c":5,"d":5,"i":5,"s":[{"s":3},0]}],"e":[{"d":7}],"i":[{"e":3,"j":5},31],"o":[{"n":45}],"u":[{"i":5}]},39],"s":[{"e":7,"l":[{"o":[{"p":1}],"u":1}],"n":[{"e":17}],"t":[{"a":[{"k":[{".":1,"e":1}]}],"r":[{"e":[{"k":1}],"i":3}]}]},11],"u":[{"i":[{"t":5}]}]},38],"h":[{"e":[{"k":4}]},79],"i":[{"d":114,"e":[{"k":[{"l":[{"e":1}]}],"r":[{"i":5}],"s":[{"p":24}],"t":[{"r":6}],"u":36}],"g":[{"e":[{"e":23}],"r":[{"a":8}]}],"j":[{"f":8,"k":8,"z":44}],"k":[{"r":3,"s":[{"p":15},6]}],"l":36,"m":[{".":36,"f":35,"p":39}],"n":[{".":44,"b":39,"d":40,"f":38,"g":[{"r":15}],"h":44,"j":39,"r":38,"s":40,"t":40,"v":44}],"o":[{"n":[{".":7,"e":7}],"r":3,"s":190},5],"p":[{"l":8}],"s":[{"a":[{"u":7}],"e":[{"l":7,"v":23}],"f":[{"e":5}],"i":27,"l":7,"n":1,"o":[{"t":5}],"t":[{"e":[{"l":3}],"o":1}]},36],"t":[{"h":9,"r":22,"s":13}]},57],"j":[{"e":[{"s":[{"p":1,"t":1},13],"t":8},39]},119],"k":[{"a":[{"a":[{"n":5,"r":[{"d":3,"t":[{"j":43}]}]}],"f":5,"m":67,"r":[{"b":54,"s":4}],"s":[{"p":54}]}],"e":[{"f":[{"f":5},39],"m":[{"p":5}],"n":[{"e":13},39],"r":[{"k":[{"u":4}]}]}],"i":[{"d":5}],"j":11,"l":[{"a":[{"d":5}],"o":[{"d":5}],"u":[{"c":5,"s":5}]}],"n":[{"a":51,"e":39}],"o":[{"g":[{"e":5},117],"o":[{"t":2}]}],"r":[{"a":7,"i":[{"m":0}],"o":[{"l":5}]}],"s":[{"e":3,"i":3,"l":5,"m":19,"n":5,"o":17,"p":22,"t":22}],"w":[{"a":[{"a":5}],"e":[{"z":5}],"i":5},0]},41],"l":44,"m":146,"n":[{"e":[{"e":[{"t":4}],"n":[{"e":8}],"p":[{"o":[{"l":14},16]}],"t":[{"e":1,"j":13}]},200],"i":[{"n":[{"g":[{"r":2}]}]},7],"o":[{"o":[{"t":2}],"v":1}]},39],"o":[{".":36,"c":57,"d":201,"e":[{"f":38,"n":[{"s":4}],"s":15,"t":[{"s":4}]}],"f":[{"f":[{"i":45}]}],"g":[{"e":50,"i":45,"r":57}],"ï":36,"k":[{"l":5,"w":9}],"l":[{"i":11,"o":57}],"m":[{".":79,"a":18,"l":39,"s":42,"v":39,"w":44,"z":38},57],"n":[{".":80,"b":77,"c":36,"d":53,"i":64,"t":30}],"o":[{"d":36,"f":53,"g":41,"i":[{"t":[{"j":4}]}],"t":[{"j":13},202]}],"p":[{"a":[{"s":23},148],"b":79,"e":22,"g":42,"l":[{"e":[{"i":[{"d":[{"i":45}]}]}]}],"o":[{"o":7,"r":7}],"s":38,"z":44}],"r":[{"d":38,"e":5,"g":40,"m":57,"r":30,"s":36,"z":36}],"s":[{"f":5,"n":5,"p":5},57],"t":[{"a":[{"p":26},36],"i":35,"j":8,"r":8},57],"u":[{".":36}],"v":[{"a":36,"e":7},5],"x":36,"z":36}],"p":[{"e":[{"r":[{"s":[{"t":[{"e":[{".":2}]}]}]}]}],"i":[{"s":14}],"o":[{"o":[{"r":[{"t":[{"j":43}]},16]}]}],"s":39},40],"r":[{"a":[{"a":[{"d":[{"s":[{"l":43}]}]}]}],"e":45,"i":45},44],"s":[{"a":[{"d":19,"g":39,"l":[{"p":5},42],"m":42,"n":[{"c":39},5],"p":42}],"c":[{"a":[{"l":48}],"h":[{"o":45}],"i":7,"o":0}],"e":[{"e":[{"t":4}],"f":0,"g":[{"e":3},6],"i":[{"s":5}],"m":[{"p":3}]}],"i":[{"d":[{"i":5}],"n":[{"g":45,"j":5,"k":5,"t":5},18]},39],"j":[{"o":42}],"l":[{"a":[{".":45,"a":[{"g":3},48],"g":45,"p":[{".":3,"p":3}]}],"e":[{"p":45,"t":7,"u":45},0],"i":[{"b":45,"e":[{"p":67},5],"m":45,"p":45}],"o":[{"t":[{".":3}]}]},42],"m":[{"a":[{"c":3}],"e":48,"i":[{"j":39}],"o":[{"l":39}],"u":0},5],"n":[{"a":18,"e":45,"o":[{"d":5,"o":0,"t":0}]},42],"o":[{"b":51,"f":18,"l":39,"n":[{"g":5,"z":5},18],"p":[{"p":7}],"r":7,"u":51,"v":22},42],"p":[{"a":[{"a":54,"d":5}],"e":[{"e":45,"l":45,"r":5,"t":0},42],"i":7,"o":[{"l":5,"t":0},22],"r":42}],"q":3,"s":3,"t":[{"a":[{"a":[{"n":[{"g":1,"s":1}]}],"g":29,"l":39},42],"e":[{"c":3,"i":144,"k":[{"o":64,"s":3}],"n":[{".":45,"t":3}],"r":[{".":45}],"s":3},39],"h":[{"e":5}],"i":[{"g":39,"j":[{"v":0}]},42],"o":[{"e":[{"f":1}],"n":0,"r":39},42],"r":[{"a":[{"d":[{"e":1}]}],"e":[{"e":45,"k":[{"k":3}]}],"o":[{"e":3,"g":3,"o":[{"s":1}]}]}],"y":3},7],"u":[{"i":[{"l":5}]}],"y":39},38],"t":[{"a":[{"a":[{"l":45,"r":[{"d":64,"t":[{"j":2}]}]}],"b":45,"c":[{"h":5,"t":7}],"d":22,"g":[{"a":5}],"r":[{"t":54}],"s":7,"t":67},39],"e":[{"c":45,"i":54,"l":[{"o":6}],"m":45,"n":[{"a":[{"c":[{"h":1}]}],"e":[{"t":[{"e":[{"n":2}]}]}]},203],"r":[{"a":[{"d":1}],"o":[{"f":6}]}]},39],"è":39,"h":[{"a":5,"o":[{"l":45},0]}],"i":[{"g":45,"n":[{"w":5}]}],"j":[{"o":7}],"o":[{"g":7,"l":[{"i":64},7],"n":45,"o":[{"g":3},7],"p":[{"l":5,"m":5,"t":5},0]},39],"r":[{"e":[{"c":5,"i":5,"l":5,"s":13}],"i":[{"b":[{"b":3}],"j":3}],"o":[{"o":[{"s":45}],"u":7}],"u":[{"s":5}],"y":45},42],"s":[{"a":8,"l":[{"u":3}],"n":[{"o":7},22],"p":[{"r":[{"e":1},7]},22],"t":[{"e":3},22]}],"u":[{"i":[{"t":54}],"n":6},39],"w":[{"i":[{"j":[{"f":45}],"s":67}]}]},38],"u":[{".":36,"c":36,"e":[{"n":5,"t":5},36],"f":30,"i":[{"l":79},38],"l":[{"o":11}],"m":[{"a":27,"m":35},36],"n":[{"c":36,"i":39},11],"r":[{"i":204,"o":3},140],"s":[{"o":23},57],"t":[{"r":5,"s":[{"t":6}]}],"u":[{"t":35},30],"w":[{"a":1,"i":27}]}],"v":[{"e":[{"n":[{"a":1}]}]},38],"w":40,"x":[{"e":39,"o":6},5],"y":[{"i":79,"o":79},57],"z":[{"e":[{"t":[{"s":4}]}]},38]}],"ñ":36,"o":[{".":30,"a":[{"a":39,"d":18,"f":39,"g":42,"h":39,"i":39,"l":42,"m":11,"n":122,"t":[{"i":[{"e":[{"v":7}]}]}],"u":39,"v":39,"x":39},30],"b":[{".":30,"a":[{"l":[{"t":63},13]}],"j":36,"l":[{"i":75}],"o":[{"o":[{"r":3}],"r":128}],"r":30},44],"c":[{"a":[{"a":[{"t":2}]},30],"e":[{"a":69}],"h":[{"a":39,"e":42,"i":39,"o":39,"r":39}],"k":[{"e":13}],"o":[{"a":8,"s":29},79],"t":19}],"d":[{"a":[{"c":3,"g":8}],"e":[{"m":[{"a":[{"r":14}],"o":6}],"r":[{"e":1}],"s":13}],"i":[{"a":8}],"r":[{"u":45}],"s":[{"c":3,"e":[{"i":3}],"i":19,"l":[{"a":[{"m":1,"n":3}],"i":5},11],"m":[{"a":[{"k":3}]}],"o":23,"p":[{"o":5,"r":7}],"t":[{"a":3,"e":[{".":1,"k":3,"n":3},7]},6]}],"w":5}],"e":[{"a":[{"n":3,"s":5}],"d":[{"a":[{"d":13},27],"e":[{"n":13}],"o":192,"r":[{"e":8,"i":8,"o":8},7],"u":27,"w":8}],"e":[{"r":3},5],"f":[{"a":25,"e":57,"i":11,"l":[{"a":8,"e":1,"o":8},11],"o":174,"r":27}],"g":[{"e":[{"l":15}],"i":[{"j":1}],"l":10,"o":[{"u":7}]}],"i":[{"i":13,"n":8,"s":26,"t":[{"j":1,"r":8}]}],"k":[{"a":[{"a":7}],"e":[{"r":[{"k":1}],"t":13}],"l":27,"o":[{"p":23}],"r":23,"u":11,"w":10}],"l":[{"a":[{"p":7,"r":7}],"d":[{"r":1}],"e":[{"i":23,"m":5}],"f":1,"o":[{"e":3,"p":4},13],"s":[{"p":8}]}],"m":[{"a":[{"c":23}],"o":29}],"n":[{"a":[{"l":8}],"e":20,"g":[{"r":1}],"o":8,"s":[{"n":6}]}],"p":[{"i":[{"n":[{"d":1}]}],"l":[{"o":3},7],"r":[{"a":5},23],"s":[{"e":15},7],"u":27},38],"r":[{"a":[{"a":[{"l":1},7],"l":62},22],"e":[{"i":[{".":1,"e":1}]},6],"o":[{"e":5,"g":8,"m":1},83],"s":[{"l":6,"p":6,"t":[{"a":[{"k":4},6],"e":[{".":4}]}]}]},30],"s":[{".":30,"f":[{"e":5}],"i":5,"l":[{"i":7}],"o":62,"t":[{"a":6,"h":6,"o":5}]}],"t":[{"a":[{"a":7}],"h":27,"i":20,"j":11,"o":[{"e":3},62],"r":[{"a":23}],"s":[{"p":24}],"w":8}]},0],"ë":38,"f":[{"a":[{"r":5,"t":5,"v":0}],"d":[{"a":205,"e":[{"i":8}],"o":27,"r":27,"w":8}],"l":[{"i":0,"o":0},5],"o":[{"m":5,"o":39,"p":5,"r":39,"x":5},30],"r":[{"a":50},22],"s":[{"e":3,"l":[{"a":3,"e":8},7],"p":[{"e":5,"l":8,"o":5,"r":8},11],"t":[{"r":[{"a":1},8]}]}],"t":[{"u":[{"r":8,"u":8},7]},30],"u":[{"i":5}]}],"g":[{"a":[{"c":3,"l":[{".":5},6]}],"d":[{"e":3,"i":5}],"e":[{"d":6,"l":[{"a":[{"a":1}],"e":[{"i":4}]}],"m":38,"r":[{"o":[{"n":4},6]},39],"s":[{"t":24}]}],"h":206,"i":[{"g":57}],"l":22,"n":[{"e":3}],"o":[{"p":5}],"s":[{"p":5,"t":[{"a":5,"e":[{"i":207}],"o":[{"n":7},5],"r":[{"o":1},7]}]}],"u":[{"i":5}],"y":39}],"h":[{"m":36},40],"i":[{"d":[{"o":5}],"e":22,"j":5,"k":3,"n":[{"g":39}],"o":19,"s":[{"c":3,"p":12,"t":[{"j":1},83]},19]},30],"ï":39,"j":40,"k":[{"a":[{".":39,"a":[{"s":54},39],"b":5,"g":5,"l":39,"n":[{"k":5}],"z":60}],"e":[{"f":5}],"l":[{"e":[{"t":3}],"i":0,"u":3},165],"n":51,"o":[{"l":9,"p":[{".":5,"e":19}],"s":4,"u":51}],"r":[{"a":7},51],"s":[{"a":22,"l":19,"n":5,"p":[{"r":[{"i":3}]}],"t":[{"e":[{".":1,"n":3}],"r":17},208]}],"t":[{"e":[{"r":[{"s":16}]},3]}],"u":[{"r":5,"u":5},6],"w":[{"i":11},22]},38],"l":[{"a":[{"b":48,"c":5,"l":39,"p":9,"r":[{"m":5}],"s":[{"m":29}]},42],"d":[{"o":19,"w":9},30],"e":[{".":39,"g":1,"i":22,"k":[{"s":5}],"m":[{"m":5}],"n":39,"r":45,"u":[{"m":8},83],"x":[{"a":5}]},42],"f":[{"a":11,"l":8,"r":5,"s":[{"l":1}]}],"g":[{"l":11,"o":68,"r":[{"a":[{"p":1}],"e":7,"i":23}],"u":27}],"i":[{"a":39,"c":39,"d":45,"k":39,"n":[{"g":45,"t":5},39],"t":39}],"k":[{"a":[{"f":5}],"e":3,"r":11,"s":6,"v":12}],"l":[{"i":[{"e":16}]}],"o":[{"c":45,"k":8,"m":7,"p":[{".":5,"p":5},0],"s":[{"t":29}],"v":[{"e":6}]},39],"p":[{"r":[{"a":7}]}],"s":[{"e":3,"h":17,"i":3,"j":22,"l":19,"n":19,"o":5,"p":5,"t":[{"e":[{"r":3}]}]},30],"u":[{"i":[{"t":5}],"r":6},41]}],"m":[{"a":[{"a":11,"c":22,"f":22,"n":39},30],"e":[{"f":54,"l":[{"a":5}],"n":[{"s":[{"t":[{"e":[{".":4}]}]},13]}],"r":[{"e":[{"n":1}],"k":[{"l":4}]}],"s":[{"p":1}],"t":1},30],"i":[{"n":[{"t":54}]},11],"m":30,"o":[{"l":1,"s":8},30],"p":[{"e":[{"i":17}]}],"r":[{"o":35}],"s":[{"l":5,"t":[{"e":[{".":7}]}]}],"u":[{"i":5}],"z":36}],"n":[{"a":[{"c":22,"g":7,"m":54,"n":7,"p":5,"t":[{"h":8}]}],"c":38,"d":[{"a":[{"c":23,"s":20}],"e":[{"r":3,"t":[{"e":1}]}],"i":[{"d":23,"j":[{"s":1}]}],"o":[{"m":[{".":1}]}],"r":[{"e":8,"o":8},11],"s":[{"j":1,"l":[{"o":1}]}],"u":[{"r":7},19]}],"e":[{".":45,"b":39,"c":70,"i":5,"r":[{"f":5,"v":5}],"s":[{"t":8}],"t":[{".":30}],"v":209}],"g":[{"a":[{"a":[{"n":1,"p":1}],"p":8}],"e":[{"n":30}],"l":[{"e":1}],"r":12,"s":[{"e":1,"p":8,"t":8},13]}],"i":[{"d":3,"g":45}],"k":[{"a":[{"p":23}],"e":[{"l":[{"a":[{"p":4}]}]}],"i":9,"l":[{"o":23}],"n":5,"w":3}],"n":[{"e":[{"s":[{"t":4},16]}]}],"o":[{"f":54,"l":8,"n":22,"v":94}],"s":[{"c":5,"e":[{"i":3},6],"f":12,"m":19,"n":27,"o":[{"p":1,"r":5}],"p":[{"e":6,"l":5},52],"t":[{"e":[{"n":3}],"r":3},22]}],"t":[{".":30,"a":[{"a":7}],"h":210,"i":[{"d":7}],"s":[{"p":1},211],"v":36,"w":170}],"u":[{"i":22,"r":5}]}],"o":[{".":30,"c":5,"d":[{"a":10,"e":[{".":3},198],"o":10,"r":10,"s":[{"l":8,"p":8}]},47],"f":[{"i":5},30],"g":[{"a":10,"e":8,"i":3,"r":10,"s":[{"h":8,"l":8},13]},7],"k":[{"a":8,"e":5,"l":1,"s":[{"t":1},29],"w":17}],"l":[{"a":33,"e":[{"d":8},83],"f":1,"g":1,"i":[{"g":3,"j":8}],"k":8,"o":198,"u":10},7],"m":[{"a":26,"e":5,"i":8,"o":198,"s":[{"t":[{"e":[{".":4}]}]}]}],"n":[{"a":1,"d":[{"u":1}],"i":[{"n":212}],"k":26,"o":10,"t":[{"a":1}]},30],"p":[{"a":83,"e":[{"e":1}],"o":29,"r":8,"s":[{"p":6}]},25],"r":[{"a":8,"d":[{"a":[{"a":4}],"o":[{"p":1}]}],"e":198,"g":29,"i":1,"k":1,"m":1,"o":10,"s":[{"m":8,"t":[{"e":1,"o":1}]}],"t":[{"h":6},30]}],"s":[{"a":8,"e":3,"n":1},7],"t":[{"a":10,"e":[{"s":8}],"h":8,"o":1,"r":8,"s":[{"l":6}]},7]},114],"ö":42,"p":[{"a":[{"c":54,"d":5,"f":54,"k":54,"m":5,"n":[{"d":5},39],"t":[{".":5,"t":5}]},38],"b":[{"r":[{"e":36}]}],"d":[{"r":36}],"e":[{".":39,"e":[{"t":3},5],"i":5,"l":42,"n":[{".":39,"i":77}],"r":[{".":45,"a":0}],"t":[{"e":19}],"v":19}],"f":30,"i":[{"c":45,"d":9,"e":[{"t":4}],"j":[{"z":5}],"n":[{".":5,"a":45}],"s":45},42],"j":55,"l":[{"o":[{"s":3}]},5],"n":57,"o":[{"e":15,"f":22,"g":45,"i":45,"l":45,"n":[{"d":5,"i":45,"t":5}],"r":[{"d":5,"e":19}],"v":19},42],"r":[{"i":[{"c":5}],"u":0},22],"s":[{"c":56,"e":3,"i":3,"l":147,"m":[{"a":5},6],"n":5,"o":5,"p":5,"t":[{"a":5}],"u":5},0],"t":[{".":30,"r":3},38],"u":[{"i":5,"n":123}]}],"r":[{"a":[{"c":[{"h":5,"t":5}],"d":[{"m":5}],"f":22,"g":6,"l":[{"g":54}],"n":[{"a":5}],"t":[{"e":45}]},42],"d":[{"a":[{"a":7,"s":23}],"e":[{"n":[{"v":7}]}],"o":[{"n":[{"d":1}],"r":8,"v":29},7],"r":[{"a":[{"d":7}]},5],"w":8}],"e":[{"a":[{"d":1}],"c":30,"e":13,"n":[{"o":6}]},42],"g":[{"l":11}],"i":[{"a":45,"ë":36,"g":[{".":45,"e":[{"r":[{"e":45}]}]}],"n":[{"k":54,"s":5}]},42],"k":[{"a":12,"e":20,"l":5,"n":3,"w":5}],"m":[{"a":[{"c":23,"s":7}],"e":[{"i":23}]}],"n":[{"a":[{"c":23}],"i":5,"o":[{"s":87}]}],"o":[{"e":5,"l":39,"n":[{"t":5},22],"o":22,"p":52,"r":5,"s":39,"v":3}],"p":[{"a":[{"c":23}],"s":[{"c":14}]},30],"s":[{"a":[{"g":5}],"c":3,"e":3,"l":[{"i":5}],"m":[{"i":5}],"o":[{"n":7},5],"p":[{"a":20,"u":3},5]}],"t":[{"a":[{"k":23}],"e":[{"e":[{"n":1}]}],"i":[{"j":[{"l":17}]}],"o":[{"f":7,"o":23},11],"r":[{"e":[{"d":7}]}],"s":[{"p":1,"t":[{"e":1}]}]}],"u":22,"y":39,"z":[{"e":[{"t":2}]}]}],"s":[{"a":[{"c":0,"s":45,"u":39}],"c":[{"a":13,"i":0,"l":67,"u":5},99],"e":[{"d":45,"l":7,"r":45}],"f":[{"e":7},5],"h":[{"a":0,"i":39,"o":11}],"i":39,"j":[{"e":[{"r":[{".":3}]}]},0],"k":[{"o":3},0],"l":[{"i":102},5],"m":54,"n":[{"o":3},7],"o":50,"p":[{"a":5,"e":[{"r":5}],"i":[{"r":7},22],"r":0}],"s":[{"m":17}],"t":[{"a":[{"a":[{"l":3,"r":3}],"c":15,"g":29,"n":3,"r":3,"s":39,"t":39},7],"e":[{".":3,"m":7,"r":[{"o":[{"ï":45}]}]}],"h":7,"o":[{"l":[{"i":3}],"u":3,"v":29},7],"r":[{"a":[{".":3,"a":3}],"e":8,"i":8,"o":39,"u":[{"m":3}]}],"u":22,"y":39},51],"u":39,"y":45},38],"t":[{"a":[{"a":[{"r":5}],"c":22,"f":5,"g":39,"k":[{"t":5}],"p":[{"p":5}],"r":[{"t":5}],"s":13,"t":45},41],"e":[{"d":9,"e":[{".":45,"s":45}],"g":45,"i":5,"l":[{"a":[{"n":6}]}],"n":45,"r":[{"s":[{"p":4}]},45],"s":[{"t":6}],"t":[{"a":5},6]},39],"h":[{"o":94,"u":5},42],"j":[{"e":[{"s":[{"p":4}]}]},0],"l":[{"i":83}],"o":[{"f":[{"f":5}],"l":[{"v":5}],"m":45,"n":[{"t":5}],"p":[{"m":5,"o":1,"r":5}],"r":67,"s":8},42],"r":[{"o":119,"u":5},38],"s":[{"i":20,"l":[{"a":5,"i":8},11],"m":[{"o":5}],"n":5,"p":[{"a":23},5],"t":[{"e":[{".":7,"k":1,"n":3}],"u":7}]}],"u":[{"i":5,"l":39},42],"w":3}],"u":[{".":30,"a":3,"c":22,"d":[{"a":25,"e":[{"s":7}],"o":11}],"e":[{"t":46},22],"k":19,"r":[{"e":[{"n":[{".":3,"n":3},7]}],"o":192}],"s":[{"a":5,"c":1,"t":13},30],"t":[{"a":11,"h":8,"j":10,"o":27,"r":10,"s":[{"p":1,"t":[{"e":1}]}]}],"w":[{"a":8,"d":[{"o":1}],"i":[{"n":[{"s":1}]}]}]}],"v":[{"a":44,"e":[{".":45,"e":81,"r":[{"g":77,"s":[{"p":4,"t":[{"e":4}]}]}],"s":45}],"i":[{"s":[{"o":1}]},38],"l":30,"o":79,"r":30,"u":8},18],"w":[{"a":42,"e":[{"n":45},42],"h":5,"i":42,"n":11,"o":39,"r":5},30],"x":0,"y":[{"s":6}],"z":[{"e":[{"t":4}]}]}],"ö":[{"l":39,"p":[{"e":10},42],"r":0,"s":[{"t":3,"u":45},7]}],"p":[{".":30,"a":[{"a":[{"n":30,"r":[{"d":[{"u":4}],"t":[{"j":4}]}],"s":35}],"b":36,"c":[{"c":39,"h":[{"t":[{"s":2}]},38],"i":0,"u":35}],"d":[{".":36,"a":7,"v":30}],"e":5,"f":[{"d":79}],"g":[{"a":12,"e":[{"n":7}],"h":5,"i":64},57],"k":[{"a":27,"e":213,"i":7,"l":17},36],"l":[{"b":44,"e":36,"f":8,"i":[{"n":[{"g":[{"s":43}]}]},5],"l":[{"e":16}],"m":[{"a":[{"c":4}],"o":6}]}],"m":7,"n":[{"a":[{"d":62},5],"e":[{"e":35,"l":35}],"k":30,"s":[{"p":1}],"t":[{"r":6}]}],"p":[{"e":[{"t":187}],"i":35,"l":8,"o":5,"r":5},57],"r":[{".":30,"a":148,"b":39,"d":[{"a":8},13],"k":[{"a":6,"l":14},36],"l":36,"m":30,"o":3,"r":30,"t":[{"a":1,"i":36,"j":15,"n":36}],"u":[{"r":4},3]}],"s":[{"a":3,"c":1,"e":3,"o":3,"t":[{"h":6,"o":1,"r":1}]},214],"t":[{"e":3,"h":57,"l":39,"r":148,"s":[{"t":[{"e":[{".":4}]}]}]}],"u":[{"t":38,"z":35}],"v":[{"l":7}],"z":35}],"b":140,"c":40,"d":104,"e":[{"a":[{"l":7}],"c":[{"i":30,"o":50,"t":[{"u":36}]}],"d":[{"e":5,"o":5},57],"e":[{".":36,"ë":36,"l":[{"i":1}],"n":30,"s":35},117],"g":36,"i":[{"l":[{"a":24},75],"s":30}],"k":[{"e":[{"e":1}],"l":27,"n":27,"s":1}],"l":[{"a":[{"a":19,"k":23}],"d":[{"r":1}],"e":[{"e":23,"t":62},5],"i":19,"o":[{"r":19}],"s":[{"i":1,"o":8,"p":8}]},0],"m":[{"m":44}],"n":[{"a":[{"k":7,"p":7,"u":7,"z":7},5],"c":[{"y":39}],"d":[{"r":26}],"g":[{"e":2}],"k":1,"n":35,"s":[{"a":8,"l":1,"m":8,"p":1}],"t":[{"o":1},13]}],"p":[{"i":44,"o":8,"s":1}],"r":[{".":0,"a":[{"s":87,"t":6},22],"c":36,"e":[{"g":17,"q":3}],"i":[{"s":15},57],"o":[{"n":5,"s":3},10],"s":[{"m":6,"t":[{"i":1,"r":6}]},36],"t":18}],"s":[{"a":5},36],"t":[{".":36,"a":3,"e":[{"r":178}],"i":36,"r":[{"a":23}],"s":[{"t":[{"e":4}]}],"u":4}],"u":[{"k":36,"t":35}]}],"é":57,"ê":36,"f":40,"g":[{"e":[{"s":1}]},40],"h":[{"a":79,"e":[{"c":77}],"i":[{"s":0}],"o":30},175],"i":[{"a":[{"m":5,"n":3,"t":7}],"d":38,"e":[{"k":[{"l":[{"a":4}]}],"p":35,"r":[{"o":24}],"s":[{"p":24}],"t":[{"j":6}]}],"g":[{"a":155,"l":5}],"j":[{".":36,"k":[{"e":1},8],"l":[{"i":6}],"n":36,"p":[{"a":24},35],"z":38}],"k":[{"l":23}],"l":[{"o":[{"g":4}]}],"n":[{"a":[{"m":3}],"d":[{"a":36},38],"g":[{".":35,"a":6,"r":[{"i":1}]},77],"j":79,"k":[{"r":15,"s":4}],"r":30,"s":38,"t":[{"a":6}]}],"o":3,"s":[{"n":1,"t":[{"a":1}]}],"t":[{"h":5,"j":8,"r":8,"s":[{"p":6}]}]}],"j":[{"a":40,"e":[{"s":4}],"i":39,"o":42}],"k":[{"a":[{"a":[{"r":[{"t":[{"j":43}]}]}]}]},40],"l":[{"a":[{".":39,"a":[{"t":[{"j":2}]}],"d":[{"i":8},44],"m":[{"p":79}],"n":[{"g":79,"t":0}],"p":39,"s":75,"t":[{"r":24},77],"y":106}],"e":[{"c":0,"e":[{"t":[{"j":4}]}],"i":[{"d":39}],"n":77,"p":39,"u":[{"r":[{"o":4}]}],"x":0}],"i":[{"g":44,"j":30}],"o":[{"m":0,"n":[{"e":39}],"o":[{"d":45,"i":[{"t":[{"j":2}]}],"n":39}]}],"u":[{"i":[{"e":39}]}]},139],"m":[{"a":[{"n":[{"s":[{"t":2}]}]}]},40],"n":[{"a":39,"e":[{"u":[{"m":36}]}]},40],"o":[{".":36,"d":[{"a":4}],"e":[{"i":36,"s":[{"t":4},46],"t":[{"s":[{"t":[{"e":[{".":2}]}]}]}],"z":36}],"ë":36,"f":[{"a":18}],"g":[{"i":36,"r":3}],"k":[{"i":192,"o":[{"l":7}]}],"l":[{"o":[{"p":15},20],"s":[{"t":[{"e":[{".":4}]}]},6]},57],"m":[{"l":44},57],"n":[{"d":[{"s":36}],"s":[{"m":6,"t":[{"e":[{".":4}]},6]}],"t":[{"a":1}],"y":35}],"o":[{"d":[{"e":1},8],"g":[{".":30}],"l":[{"e":[{"n":1}]},36],"r":[{".":30,"t":[{"j":13}]}],"t":15}],"p":[{"a":23,"d":30,"e":38,"h":1}],"r":[{"g":44,"k":44,"o":5,"t":[{"e":[{"f":35}],"o":6,"r":[{"a":14}]},0],"u":5}],"s":[{"a":22,"f":5},57],"t":[{"a":[{"a":7,"s":23}],"e":[{"s":[{"t":2}]},3],"j":10,"r":8}],"u":[{"l":36}],"v":5}],"p":[{"a":45,"e":[{"l":[{"o":24}],"n":[{"i":1}],"r":[{"s":[{"t":[{"e":4}]}]}]},45],"i":[{"e":[{"k":4}],"j":[{"p":4}]}],"s":0},79],"r":[{"a":[{".":36,"a":[{"d":45,"t":[{"j":2}]}],"d":45,"k":[{"t":36}],"m":30,"n":[{"d":45}],"o":36,"p":79,"t":0,"x":0},18],"e":[{"e":[{"k":[{"u":30}]}],"m":[{"m":39},57],"n":[{"t":[{"j":37},36]}],"s":[{"o":39},36],"t":[{"j":24,"r":15},36]}],"i":[{"c":30,"e":[{"k":79,"t":[{"j":37},30]}],"j":57,"k":36,"n":[{"c":36,"g":[{"s":215}],"s":35}],"o":77,"u":77,"v":35}],"o":[{"b":106,"c":80,"d":95,"e":[{"d":39,"f":36,"t":[{"j":2}],"v":36}],"f":106,"g":69,"j":57,"l":[{"a":8}],"m":36,"o":[{"d":39,"i":2}],"p":[{"a":1}],"q":0,"s":[{"c":1,"t":14},36],"t":[{"a":29,"o":36}],"v":216,"y":30}],"u":[{"t":[{"o":87},12]}]},7],"s":[{"a":[{"b":39,"g":9,"k":39,"r":5,"s":[{"s":5}]}],"e":[{"r":[{"k":5}],"t":54},30],"i":[{"d":132,"n":0,"s":45},39],"l":[{"e":5},42],"m":[{"e":11,"i":3}],"n":[{"a":54,"e":[{"u":5}]}],"o":[{"f":0,"l":39,"p":[{"t":5}],"r":6}],"p":[{"l":[{"e":5},11]},42],"t":[{"a":[{"t":39}],"e":[{"n":[{"t":3}],"s":3},39],"h":3,"o":[{"r":5}],"r":[{"o":[{"n":3}]}],"u":39,"y":3},119],"y":[{"c":35,"s":39},36]},38],"t":[{"a":[{"d":5,"l":[{"b":5}]}],"e":39,"h":94,"i":45,"j":5,"o":[{"v":60}],"r":[{"i":[{"c":5}]},39]},41],"u":[{"b":36,"c":[{"h":5}],"e":5,"i":[{"l":[{"o":15}]}],"l":[{"s":[{"t":6}]}],"n":[{".":30,"t":[{"j":15}]},36],"t":[{".":36,"e":[{"r":[{"i":[{"n":2}]}]}],"j":10,"o":27,"r":8,"s":[{"t":[{"e":[{".":4}]},6]}]}]},95],"v":[{"a":[{"n":13,"r":[{"i":2}]}]},38],"w":40,"y":136,"z":81}],"q":[{"e":35,"u":[{"e":[{"s":6}],"o":35},7]},57],"r":[{".":30,"a":[{"a":[{"n":[{"d":30},38],"r":[{".":35,"d":79,"s":35,"t":[{"j":4}]},36]},18],"c":[{"a":7,"e":5,"l":35},38],"d":[{"a":6,"b":36,"e":[{"n":3}],"i":[{"a":35,"o":36},5],"m":30,"r":79,"s":100,"v":30}],"f":[{"d":38,"f":0,"o":[{"n":[{"d":1}]}],"r":[{"a":5}]}],"g":[{"e":[{"z":36}],"i":3,"n":9,"o":3,"s":6}],"i":[{"s":36}],"k":[{"e":[{"t":63}],"l":19,"r":1}],"l":[{"a":99,"e":[{"e":23}],"f":79,"i":[{"m":48}],"t":39}],"m":[{"a":[{"n":7}],"e":[{"u":45}],"i":5,"p":18}],"n":[{"a":30,"d":[{"r":6}],"g":[{"o":24,"r":6,"s":[{"t":[{".":45}]}]}],"i":[{"m":7}],"j":30,"k":[{"l":6,"w":15}],"s":[{"a":6,"t":6}],"t":[{"j":24,"w":39}]}],"o":5,"p":[{".":30,"o":5,"p":[{"a":30}],"r":[{"o":[{"e":1}]}]}],"q":5,"r":[{"b":44,"e":64,"i":[{"t":30}],"m":40,"r":79,"t":40}],"s":[{"e":[{"i":3}],"k":7,"l":7,"o":22,"p":[{"o":8},11],"t":[{"r":[{"i":4}]}]}],"t":[{"i":0,"j":1,"o":[{"m":7}],"r":[{"a":7,"i":3}],"s":[{"p":8,"t":[{"e":[{".":4}]},6]}],"u":19}],"u":[{"s":36,"t":42},38],"v":[{"r":35}],"z":[{"i":[{"j":7}]}]}],"b":[{"e":[{"t":[{"i":6}]}]}],"c":[{"e":[{"s":15},39],"h":[{"i":39}],"o":39},42],"d":[{"a":[{"c":[{"t":54}],"l":[{"k":5}],"m":[{"a":3},12],"n":39,"r":51}],"e":[{"i":5,"l":[{"a":[{"s":128}]}],"n":[{"d":[{"r":4}]}],"o":26,"r":[{"v":[{"a":0}]}],"s":[{"t":26}]}],"i":[{"a":8,"o":1}],"l":3,"o":[{"c":45,"l":[{"i":[{"e":3}]},54],"n":[{"t":5}],"o":[{"s":5}],"p":[{"e":8}],"v":8},39],"r":[{"a":[{"s":5}],"e":[{"s":5}],"o":[{"o":[{"s":3}]}],"u":11}],"s":[{"a":5,"c":19,"o":5,"p":22,"t":[{"a":3,"e":3},6],"u":5}],"u":39,"w":[{"i":11,"o":3}]},40],"e":[{".":36,"a":[{"c":57,"d":[{"e":7}],"k":30,"m":[{"b":5}],"t":154}],"c":[{"o":5,"r":36,"t":[{"a":1}]}],"d":[{"a":36,"d":36,"e":[{"s":143}],"i":[{"t":[{"i":47}]}],"u":36,"w":3}],"e":[{"k":6,"n":[{"e":29,"h":45},40],"p":[{"s":2},12],"r":[{"a":[{"d":26}],"s":[{"t":[{"e":4}]},30],"w":39}],"s":[{"h":1},6]}],"f":[{"b":30,"f":38,"l":36,"u":5},0],"g":[{".":30,"d":30,"e":[{"n":[{"e":4}],"s":13}],"g":30,"i":36,"l":5,"t":30},57],"i":[{"e":30,"l":30,"n":[{"d":30}],"t":[{"j":1}],"z":35}],"k":[{"a":[{"p":7}],"e":[{"n":[{"i":35}]}],"l":27,"n":155,"o":7,"r":[{"e":23}],"s":[{"p":8}],"u":7,"w":22}],"l":[{"d":[{"i":6,"o":24,"r":15}],"e":[{"i":23}],"k":1,"u":[{"r":187}]}],"m":[{".":36,"a":[{"i":7}],"i":[{"e":[{"t":[{"j":2}]}]}],"o":[{"v":134}],"p":38}],"n":[{".":77,"a":[{"a":[{"r":1},7],"d":[{"e":3}],"l":5,"n":23,"r":29},11],"d":[{"e":[{"e":35,"r":[{"t":45}]}]},0],"e":[{".":3,"l":7,"n":[{".":3,"k":1}],"p":29,"r":[{".":3,"f":1,"v":1}]}],"f":35,"i":40,"k":[{"l":106}],"n":0,"o":[{"c":7,"g":6,"p":[{"l":6}],"v":5}],"p":106,"q":30,"s":[{"l":6}],"t":[{"o":0,"w":39}],"v":[{"e":[{"e":[{"r":45}]}]}]}],"o":[{"f":7,"p":187}],"p":[{"a":3,"e":[{"t":36}],"i":[{"e":7}]}],"q":[{"u":[{"a":5}]},30],"r":[{"f":41,"g":40,"o":9,"s":6,"t":44,"v":53,"w":38}],"s":[{"a":5,"e":3,"l":[{"e":1},7],"m":8,"p":68,"t":8}],"t":[{"e":[{"m":7}],"h":19,"i":[{"k":7,"n":3},6],"n":38,"o":[{"g":62,"o":23}],"s":[{"t":[{"e":[{".":4}]}]}]}],"u":[{"r":[{"e":[{"s":4}]}],"s":[{"t":[{"e":1},13]}]},11],"v":[{"i":[{"s":36}],"o":36}],"x":44}],"f":[{"a":[{"a":54,"c":[{"t":5}],"g":59,"l":5,"s":39}],"e":[{"n":[{"g":54}]},39],"l":[{"a":[{"g":54}],"e":[{"v":5}],"i":51,"u":[{"s":5}]},42],"o":[{"p":54}],"r":[{"e":[{"a":45},54]},42],"s":[{"m":5,"p":5},182],"u":[{"r":60,"u":5}]}],"g":[{"a":[{"b":54,"m":[{"b":5}]}],"e":[{"e":[{"n":54}],"i":[{"s":7},5],"l":[{"d":[{"r":4}]}],"n":[{".":45}],"r":[{"a":[{"p":1},6]}]}],"i":[{"n":[{"s":54}]}],"l":[{"a":[{"s":45}],"o":39,"u":54}],"o":[{"v":23}],"r":[{"i":[{"j":45,"t":5}],"o":48}],"s":[{"m":11,"o":3,"p":[{"r":17}]},49]},42],"h":39,"i":[{"a":[{"b":[{"e":[{"l":3}]}],"g":7,"k":11,"n":3,"s":13,"v":7}],"b":[{"l":7}],"c":[{"e":30,"o":5}],"d":[{"d":[{"e":16}],"i":5,"o":[{"l":7,"o":7}]}],"e":[{"d":[{"r":1}],"k":[{"a":[{"p":14}],"l":1,"w":8}],"l":[{"a":[{"a":4},6],"e":[{"i":6}]}],"r":[{"o":6}],"t":[{"a":6,"o":15}],"u":22}],"f":[{"l":5,"r":5}],"g":[{"a":[{"a":7}],"l":5,"s":[{"t":[{"e":35}]}]},0],"j":[{"l":[{".":53,"d":45,"t":45},0],"o":1,"p":[{"l":8,"r":8}],"s":[{"p":8,"t":[{"e":[{"r":1}],"r":6}]}],"v":30}],"k":[{"l":17,"n":1,"o":19}],"l":[{"m":1}],"m":[{"a":5,"p":[{"r":6}]}],"n":[{"b":79,"d":30,"e":3,"f":53,"g":[{"a":[{"n":53}],"e":[{"n":[{"i":45}]}],"l":4},0],"h":79,"i":[{"t":7}],"k":[{"l":24,"o":39,"t":30}],"l":39,"n":[{"a":79}],"r":41,"s":[{"t":39},30],"t":30,"v":41}],"o":[{"n":3,"s":217}],"s":[{"a":[{"m":7}],"c":5,"o":[{"t":5}],"t":[{"o":1}]}],"t":[{"j":8,"o":[{"v":8}],"s":[{"t":[{"e":[{".":4,"n":1}]},6]}],"t":36}]}],"j":[{"a":[{"a":[{"r":[{"s":43}]}]}]},67],"k":[{"a":[{".":45,"a":[{"r":[{"t":[{"j":43}]}]}],"d":[{"r":5}],"f":5,"h":18,"n":[{"g":5}],"r":[{"t":54}]}],"e":[{"i":51,"n":[{"s":13},6],"r":[{"s":[{"l":13}],"v":54}],"s":[{"t":[{"r":[{"e":[{"e":1,"r":1}]}]}]},6]}],"i":[{"e":[{"p":3}],"j":[{"v":5}],"n":[{"b":5,"k":54}]}],"j":[{"e":[{"s":2}]}],"l":[{"a":[{"g":5,"t":54}],"e":[{"i":[{"d":3}]}],"o":[{"o":5},18],"u":[{"s":5}]}],"n":[{"e":0},39],"o":[{"b":18,"l":[{"m":5}],"m":[{"g":5}],"o":[{"t":2}],"p":[{"g":5}],"r":[{"d":5}],"s":[{".":3,"s":3}]}],"r":[{"a":[{"n":67}],"i":[{"s":45},7],"o":[{"n":45}]},11],"s":[{"f":19,"i":3,"p":6},22],"t":[{"e":[{"v":174}],"h":8,"i":7,"o":8,"r":10}],"u":[{"i":[{"t":5}]}],"w":[{"a":[{"a":5,"t":3},42],"e":[{"e":5}],"i":[{"n":5},42]}]}],"l":[{"a":[{"a":[{"t":[{"s":[{"t":[{"e":2}]}]}]}]}],"e":[{"g":[{"r":24}]}],"i":[{"n":[{"k":[{"s":[{"t":[{"e":43}]},16]}]}]}],"o":[{"f":[{"s":2}]}],"u":[{"i":[{"t":28}]}]},39],"m":[{"a":[{"f":[{"r":13}],"r":[{"t":54}]}],"e":[{"b":51,"g":88,"r":[{"a":103}],"s":15,"t":[{"j":24,"s":[{"t":4}]}]}],"i":[{"n":[{"h":5}],"s":12}],"o":[{"e":45,"p":[{"m":5},0],"r":[{"s":[{"t":[{"e":2}]}]}],"s":[{"f":4}]},39],"s":[{"a":19,"t":22}],"u":[{"i":[{"t":5}],"n":13}]},42],"n":[{"a":[{"m":67,"p":54,"r":[{"s":5}]},39],"e":[{"e":[{"t":4}],"n":[{"e":54}],"s":15,"t":[{"e":1,"j":24}]}],"i":[{"d":88,"n":18}],"o":[{"n":94,"o":[{"r":5,"t":45}],"p":[{"s":5}],"t":45,"v":[{"e":5}]}],"s":[{"m":5,"p":5,"t":[{"a":5},22]},6],"t":[{"h":5,"j":3,"o":3}],"u":[{"r":1},39]},40],"o":[{"a":[{"c":3},22],"c":[{"h":22},0],"d":[{"o":19}],"e":[{".":36,"f":30,"g":[{"r":24},30],"m":36,"n":[{"s":[{"m":4},16]}],"p":[{"l":15}],"r":[{"e":[{"i":6}]}],"t":[{"j":13}],"v":30}],"ë":36,"f":[{"f":[{"i":45}],"i":0,"l":5}],"g":[{"e":[{"s":2}]}],"ï":57,"k":[{"l":5,"m":36,"s":[{"p":8}]}],"l":[{".":0,"a":27,"e":[{"s":[{"t":4}]}],"g":32,"i":38,"o":[{"v":8}]}],"m":[{"a":3,"o":5,"z":30}],"n":[{".":18,"a":[{"d":29,"l":106}],"d":[{"a":6,"o":24,"r":24,"u":14}],"e":18,"i":18,"k":[{"a":6},18],"n":18,"o":94,"s":[{"t":[{"e":[{".":4},6]}]},18],"t":[{"j":15,"r":15},121],"u":5,"v":30}],"o":[{"f":36,"g":38,"n":30,"r":40,"t":[{"s":[{"t":[{"e":4}]}]}]}],"p":[{"a":[{"a":7,"n":7},5],"b":30,"e":[{"e":3},22],"i":[{"n":7}],"l":[{"a":19}],"n":30,"o":0,"r":[{"a":[{"k":1}]}],"s":[{"h":8}],"t":[{"e":0}],"u":7}],"r":[{"d":1,"o":5}],"s":[{"a":5,"e":3,"f":5,"h":5,"i":64,"p":5,"s":[{"t":14}],"t":[{"e":[{"l":3}],"r":[{"a":1}]}]}],"t":[{"e":3,"h":9,"j":8,"o":[{"n":3}],"r":5,"s":[{"t":[{"e":[{".":4},6]}]}]}],"u":[{"d":42,"t":91}],"v":[{"e":[{"r":[{"i":3}]},7]},5],"x":[{"i":30}],"y":36}],"p":[{"a":[{"a":[{"n":5}],"d":[{"v":5}],"n":[{"k":5}]},39],"e":[{"e":45,"i":[{"s":5}]}],"i":[{"s":8}],"j":51,"l":[{"o":[{"d":3},7]}],"o":[{"o":[{"r":[{"t":[{"j":43}]}]}],"v":60}],"r":[{"e":[{"c":54}],"i":[{"c":5}],"o":7}],"s":[{"a":39,"i":7,"l":[{"i":5},11],"p":[{"e":3}],"t":[{"o":17}]}]},42],"r":[{"e":[{"l":[{"u":24}],"n":[{"s":28}],"o":1,"u":83}],"i":[{"e":[{"r":[{".":1}],"t":13}]}],"o":[{"n":[{"k":4}],"t":[{"j":13}]}]},81],"s":[{"a":[{"d":9,"g":9,"l":[{"m":5},39],"m":[{"b":5}],"n":[{"a":5},39],"p":5,"r":5,"s":[{"s":[{"e":7}]},5],"t":[{"e":6}]}],"c":[{"h":[{"i":45}],"r":11}],"e":[{"i":[{"s":54}],"k":[{"s":[{"t":[{"e":4}]}]}],"t":7,"v":[{"e":63}],"z":51}],"f":[{"e":[{"r":7}]}],"h":[{"a":[{"l":7}],"i":50,"o":[{"c":48,"t":5}]}],"i":[{"n":[{"i":5,"t":5}]}],"j":[{"a":[{"c":45}],"o":[{"u":45}],"t":45},117],"k":[{"a":[{"t":48}]}],"l":[{"a":[{"n":0}],"e":[{"c":45,"p":45,"u":45}],"i":[{"b":45,"e":7,"n":[{"g":45}]}],"o":[{"b":5,"e":[{"p":3}],"o":54}],"u":[{"i":[{"s":45}]}]},42],"m":[{"a":[{"a":[{"k":45,"l":3}],"k":3}],"e":39,"i":[{"j":39,"s":3,"t":45}],"u":3},7],"n":[{"a":51,"e":[{"u":5}],"o":51},42],"o":[{"l":45,"n":[{"g":5}],"r":[{"k":[{"e":[{"s":21}]}]},18],"v":22},42],"p":[{"a":[{"a":39,"d":5,"r":[{"e":7},54]}],"e":[{"c":45,"e":45,"k":45,"n":[{"e":7}],"t":54},39],"i":[{"t":45}],"o":[{"e":45,"g":45,"n":45,"o":45,"t":5}],"r":[{"a":[{"a":45}]}],"u":[{"l":45,"t":5},0]},42],"t":[{"a":[{"a":[{"k":64,"n":[{"g":1}]}],"s":3,"t":45}],"e":[{".":54,"r":[{".":45,"k":45,"m":3,"s":45}],"s":[{"t":4},45],"v":[{"a":0}]},39],"i":[{"t":0},39],"o":[{"m":[{"a":3}],"n":0,"r":[{"a":1}]},39],"r":[{"a":[{"p":3}],"e":[{"d":218,"i":3,"n":45}],"o":[{"g":3,"z":1}]},39],"y":39},119],"u":[{"s":[{"a":5}]},39],"y":39},30],"t":[{"a":[{".":45,"a":[{"n":[{"d":3,"v":3},54]}],"c":126,"d":22,"f":[{".":5,"f":5}],"m":5,"n":[{"s":45}],"r":[{"t":5},18],"u":0,"v":18},42],"c":3,"e":[{"c":[{"o":45}],"i":[{"g":5,"l":5}],"l":[{"e":[{"i":6}]}],"m":[{"b":3}],"n":[{".":45,"a":[{"c":[{"h":1}]}],"o":8}],"r":[{"o":8}],"s":[{"t":[{"a":1}]},13],"v":219}],"h":[{"a":0,"e":[{"r":39},22],"i":5,"o":[{"l":5},42],"u":5,"y":5}],"i":[{"j":[{"k":15},7],"n":[{"i":54,"k":54}]}],"j":[{"e":[{"s":[{"c":3}]}]}],"o":[{"f":[{"f":5,"o":45}],"k":45,"m":[{".":5}],"n":[{"d":5}],"p":54,"r":[{"i":45}]},39],"r":[{"a":[{"p":7,"s":54},39],"e":[{"c":5,"d":[{"e":[{"n":[{".":45}]}]}],"k":48,"s":54}],"i":5,"o":[{"l":54}],"u":[{"k":3,"s":3},165]},42],"s":[{"e":[{"c":[{"o":17}],"i":3}],"l":[{"e":5,"i":1,"u":7},27],"m":1,"n":[{"o":1}],"o":[{"o":7}],"p":[{"r":23},22],"t":[{"e":[{"n":1}]}]}],"u":[{"i":[{"t":115}]},42],"w":[{"i":11},5]},30],"u":[{"b":[{"r":35}],"d":[{"e":[{"r":15}]}],"e":22,"f":30,"g":[{"r":7},11],"i":[{"t":[{"r":45}]}],"k":[{"e":72,"i":8},11],"l":[{"a":[{"a":8,"p":8}],"i":[{"j":23,"n":5},11],"s":1}],"m":[{"i":11},18],"n":[{".":36,"d":18,"e":[{"t":63}],"i":[{"v":5},220]}],"r":[{"a":3,"e":[{".":3,"s":3}]},7],"s":[{"e":8,"t":[{"r":1}]},165],"t":[{"j":8,"s":[{"t":[{"e":[{".":4}]},6]}]},30],"u":30,"w":[{"a":5}]}],"v":[{"a":[{"a":[{"t":2}],"l":[{"s":[{"t":[{"e":[{".":2}]},13]}]}]}],"e":[{"r":[{"s":[{"t":[{"e":[{".":2}]}]}]}],"s":[{"p":8},13]}],"l":[{"o":[{"o":[{"t":43}]}]}]}],"w":[{"e":[{"n":[{"s":[{"t":[{"e":[{".":2}]},13]}]}]}],"h":0,"t":[{"j":27}]},42],"x":39,"y":[{"u":39}],"z":[{"e":[{"t":[{"s":[{"t":4}]}]}]},30]}],"s":[{".":30,"a":[{".":35,"a":[{"g":57,"i":[{"s":13},69],"l":80,"t":77},42],"b":[{"o":5},57],"c":[{"a":11,"r":36},40],"d":[{"v":42}],"f":[{"e":36,"o":36,"r":5},40],"g":[{"g":45,"i":54,"n":36,"o":5}],"h":36,"i":36,"j":36,"k":[{"s":36,"t":42},38],"l":[{".":35,"a":148,"d":36,"h":35,"l":39,"m":[{"a":1},30],"n":39,"o":221},18],"m":[{"e":80,"m":35,"p":1}],"n":[{"a":[{"t":5},185],"c":0,"e":51,"t":[{"j":24},0]}],"p":[{".":36,"a":5,"e":44,"r":[{"o":3},7]},11],"r":[{"a":5,"b":42,"d":36,"e":11,"m":42,"o":[{"l":8},13],"s":0,"t":[{"s":[{"e":4}]},41]}],"s":[{".":30,"a":36,"c":5,"t":77}],"t":[{"e":148,"i":35,"l":44,"t":40},57],"u":[{"d":39,"r":57,"s":80,"t":42,"z":36}],"x":57}],"b":[{"a":45,"e":45,"o":45},79],"c":[{"a":38,"e":[{"n":[{"a":35}]},30],"è":35,"h":[{".":30,"a":[{"k":35,"p":35,"u":30},6],"e":[{".":35,"c":45,"f":30,"n":35,"q":30,"r":35,"v":35,"w":35}],"i":[{"r":30},18],"o":[{"l":35,"o":35,"t":35}],"t":[{"a":1}]},222],"i":38,"l":30,"o":[{"l":[{"a":77}],"o":36,"p":[{"e":36,"i":35}],"r":[{"e":223}],"u":[{"t":36}]},38],"r":[{"i":[{"s":30}]},38],"u":38,"y":38},57],"d":[{"e":45,"h":0,"i":[{"a":1,"s":4}],"o":39,"r":45,"w":39},41],"e":[{".":35,"a":[{"k":5,"l":5,"r":13,"u":5},11],"b":0,"c":[{"h":79,"r":5,"t":35,"z":30}],"e":[{"d":53,"i":35,"n":[{"h":45},41],"t":[{"s":1},6],"v":30},0],"f":[{"f":42}],"g":[{"e":5,"o":224,"r":12}],"i":[{".":79,"g":79,"n":[{".":35,"e":35},0],"s":[{"t":13},38],"t":[{"j":1}],"z":35}],"k":[{"s":[{"t":[{"e":[{"n":4}]},6]}],"w":22}],"l":[{".":106,"a":[{"d":8,"g":62,"k":7,"s":7}],"e":[{"k":101,"l":8,"m":47},5],"f":30,"i":[{"n":[{"g":3}],"t":79}],"k":1,"m":35,"o":13,"p":35,"s":[{"p":8},106],"t":35,"u":27},18],"m":[{"a":[{"c":23}],"m":45,"o":[{"o":8}]},0],"n":[{".":35,"a":[{"g":62,"n":3}],"e":[{"t":7}],"g":[{"r":35}],"h":35,"k":1,"o":23,"q":53,"t":[{"w":1}]},0],"r":[{".":106,"a":[{"u":1},49],"e":[{"e":7,"n":3},107],"g":[{"l":35,"o":45,"r":35},0],"i":[{"j":3},6],"n":79,"o":[{"p":3},5],"s":[{"p":15,"t":8},12],"t":[{"w":4}],"u":5}],"s":[{"c":3,"f":5,"k":81,"s":35},0],"t":[{"a":3,"e":79,"i":3,"j":5,"r":[{"a":20},8],"s":[{"t":1}],"u":53,"w":8},7],"u":[{"m":5}],"v":[{"e":[{"n":7}]}],"x":41,"z":[{"e":11},30]},36],"é":36,"è":36,"f":[{"e":[{"d":30,"i":45}],"i":30,"r":53,"u":[{"m":1},30]},40],"g":[{"u":[{"e":13}]},53],"h":[{"a":[{".":0,"g":6,"l":[{".":45}],"m":[{"p":36}]}],"e":[{"i":[{"d":[{"s":43},16]}]},30],"i":[{"e":45,"r":106}],"l":5,"m":30,"o":[{"e":39,"o":39,"p":77,"t":[{"e":39},18],"w":36}],"u":[{"l":45}]},42],"i":[{".":35,"a":[{"c":3,"m":5,"n":3},106],"c":[{"i":13,"o":5},35],"e":[{".":36,"ë":36,"f":[{"r":1}],"k":[{"l":1}],"p":13,"s":[{"l":1,"o":8,"t":8},13],"t":[{"a":1,"o":1}]}],"è":3,"f":49,"g":[{"o":134},69],"j":[{"v":39,"z":41}],"l":[{"e":35}],"m":[{"p":[{"e":[{"r":53}]}],"u":36}],"n":[{"a":35,"b":39,"c":79,"d":41,"f":38,"g":[{".":36,"a":39,"e":[{"n":[{"i":45}]}],"l":8,"r":173},13],"h":39,"i":185,"k":[{"o":79,"r":1}],"m":79,"n":0,"r":30,"s":40,"t":38,"v":53,"z":79}],"r":[{"o":35,"r":39},36],"s":[{"e":[{"e":1},29],"i":8,"t":[{"r":1}]},7],"t":[{"o":[{"v":4},3],"r":[{"u":7},5],"u":3},36],"u":36,"z":36},57],"j":[{".":30,"a":[{".":77,"b":35}],"d":72,"e":[{".":44,"b":45,"e":36,"i":80,"r":[{"i":6},57],"s":39,"w":36,"z":77},42],"k":225,"o":[{"f":35,"n":79}],"s":9,"t":6,"u":45},11],"k":[{"a":[{"a":[{"r":[{"t":[{"j":43}]}]}],"d":45}],"e":[{"l":[{"e":0}],"n":45,"s":80}],"i":[{".":80,"e":[{"d":36,"s":15}],"ë":36,"s":[{"c":1}]},7],"j":51,"o":39,"r":[{"e":45,"u":[{"i":[{"m":3}]}]}],"s":[{"t":[{"e":5}]}],"u":30,"w":48},226],"l":[{"a":[{".":77,"a":[{"n":106,"p":35,"r":53}],"b":30,"c":0,"d":79,"g":[{"m":35},77],"m":[{"e":6,"p":[{".":45,"e":45}]}],"n":[{"d":53,"g":36}],"p":[{"e":35,"l":8},36],"s":79,"t":44,"v":223,"w":30,"z":77}],"e":[{"d":39,"e":[{".":77,"p":35,"r":53,"t":[{"j":4},0]}],"g":79,"i":81,"n":[{"g":45,"i":39,"s":[{"t":[{"e":[{".":2}]},13]}],"t":36}],"p":0,"r":53,"s":45,"t":[{"j":24}],"u":[{"g":45,"s":45,"t":35},77],"v":81}],"i":[{".":39,"c":79,"d":30,"e":[{"d":45,"f":39,"r":77},38],"f":39,"g":45,"j":[{"f":79,"p":35,"s":53}],"k":117,"m":[{"a":4},12],"n":[{"i":45,"n":30}],"p":0,"t":79}],"o":[{"b":14,"c":44,"e":77,"f":36,"g":79,"l":39,"o":[{"d":39,"n":45,"s":45,"t":227}],"s":39,"t":[{"r":6},36],"u":79,"z":53}],"u":[{"c":53,"i":[{".":53,"d":30,"s":[{".":35,"t":[{"e":4},16]}],"t":35,"z":35},75],"n":30,"s":81}],"y":79},165],"m":[{"a":[{"a":[{"t":53}],"d":36,"k":[{".":36}],"l":36,"n":81,"p":45,"r":[{"t":0}],"t":53}],"e":[{"c":53,"d":[{"e":[{"n":35}]}],"e":[{"d":36,"t":106}],"i":53,"l":[{"o":30}],"n":53,"s":228}],"i":[{"d":[{".":35}],"e":[{"s":2},83],"j":0,"n":45}],"o":[{"k":35,"n":39}],"u":[{"i":[{"l":[{"d":[{"e":[{"n":35}]}],"e":45,"t":35}]}]}]},42],"n":[{"a":[{"m":45,"p":106,"r":0,"u":36,"v":77}],"e":[{"d":77,"e":[{"t":4},36],"g":45,"l":106,"s":81,"t":53,"u":[{"s":[{"t":4},16],"z":45}]}],"i":[{"e":39,"j":75,"m":45,"p":77,"v":53}],"o":[{"d":30,"e":77,"g":39,"o":38,"r":[{".":0,"m":39}],"v":1}],"u":[{"f":36,"i":0,"m":38}]},165],"o":[{".":36,"b":[{"l":7}],"c":[{"e":39},22],"d":221,"e":[{"f":38,"p":36,"s":15},57],"f":[{"f":40,"t":36}],"g":[{"a":148,"e":42,"l":5,"y":36},98],"i":35,"ï":36,"k":36,"l":[{".":35,"a":5,"e":5,"i":[{"s":5}],"o":[{"v":4},229],"s":35},18],"m":[{".":77,"m":35,"s":44,"v":39,"z":38},18],"n":[{".":106,"a":[{"r":3},36],"b":39,"d":40,"g":38,"n":36,"o":148,"s":0,"t":230,"v":79,"w":39}],"o":[{"g":53,"k":79,"r":[{".":79,"d":39,"l":79,"t":35}]},36],"p":[{".":77,"e":53,"h":[{"i":5}],"o":88,"r":[{"a":77,"e":6},5]},40],"r":[{"b":18,"d":39,"g":231,"k":53,"o":[{"r":5},6],"s":[{"t":6}],"t":80}],"s":[{"f":5},6],"t":0,"u":[{"d":39,"l":12,"t":8}],"v":[{"e":42},38],"z":138}],"p":[{".":30,"a":[{"a":[{"k":35,"l":39,"n":35,"t":35}],"d":38,"k":[{"e":35},38],"n":[{"n":36},0],"p":53,"r":[{".":35,"i":0,"r":35}],"s":232,"t":[{"t":35}],"u":39},7],"e":[{"a":106,"c":[{"t":[{"u":30}]}],"e":[{"t":63},77],"i":79,"k":0,"l":[{"l":35}],"n":[{".":45,"a":6},79],"p":45,"r":[{".":0,"i":45,"m":0,"r":106},30],"s":30,"z":39}],"i":[{"d":39,"e":[{"t":[{"j":4}]},75],"j":[{"n":30,"p":30}],"n":[{"g":45}],"o":69,"s":[{"t":[{"o":1}]},39]}],"l":[{"a":53,"e":[{"t":0}],"i":[{"n":35,"t":36},233],"o":39,"u":39},175],"o":[{"e":[{"s":39},18],"ë":30,"g":30,"l":30,"m":44,"n":[{".":0,"n":0}],"o":18,"p":39,"r":[{"e":106,"i":0}],"s":79,"t":[{"s":35}],"u":30},7],"r":[{"a":[{"k":[{"t":30}],"y":35}],"e":[{"d":45,"i":35,"k":0,"m":30,"s":30,"u":35}],"i":[{"e":[{"t":35}],"j":53,"k":30}],"o":[{"b":30,"c":30,"d":53,"f":30,"g":30,"n":106,"o":0,"s":30}]}],"s":79,"t":30,"u":[{"b":30,"i":106,"n":30,"r":0,"w":35},165]}],"q":0,"r":[{"a":[{"a":[{"d":[{"s":[{"l":43}]}]}]}],"o":[{"v":1}]},53],"s":[{"a":[{"s":34}],"c":[{"o":0,"u":64}],"e":[{"i":[{"s":15}],"o":13},45],"i":45,"l":45,"p":[{"a":[{"a":45,"s":3},0]}],"u":45,"y":45},101],"t":[{".":30,"a":[{"a":[{"f":35,"n":[{".":35,"g":30,"w":30}],"r":[{"t":[{"j":43}]}],"t":[{"j":2},0]}],"b":[{"o":5}],"c":234,"d":[{"s":35},36],"f":[{".":35,"o":6},38],"g":0,"k":[{"i":35,"k":30,"t":5},0],"l":[{"i":79}],"m":[{".":35,"m":35,"p":36}],"n":[{"d":77,"s":13}],"p":[{"o":30},0],"r":[{"c":54,"i":30}],"s":[{"i":[{"e":118}]},38],"t":[{"i":[{"o":35}]}],"u":[{"t":5},30],"v":[{"o":30},0],"x":53,"z":30}],"b":38,"c":206,"d":38,"e":[{"a":[{"k":35},30],"c":[{"h":45,"o":35},30],"d":[{"u":30},77],"e":[{"k":36,"n":[{"h":30},36],"r":45,"t":4}],"i":[{"n":35}],"k":[{"a":[{"r":35}],"k":35}],"l":[{"d":[{"h":35}],"e":[{"e":6,"m":3}],"l":36}],"m":[{".":35,"d":35,"m":35,"o":30}],"n":[{"t":30,"u":30}],"r":[{"a":[{"n":1}],"m":30,"o":[{"g":4,"s":20}],"r":[{"e":[{"n":35}]}],"u":45}],"s":235,"x":236,"z":132}],"f":38,"g":30,"h":[{"a":0,"e":[{"d":5,"e":[{"r":3}],"k":5,"m":45,"r":39}],"i":22,"o":126,"u":126,"y":54},30],"i":[{"a":38,"b":38,"c":[{"u":30}],"d":54,"e":[{"f":[{"e":35}],"v":45}],"j":[{"d":30,"g":77,"l":106,"s":5}],"l":[{"s":36}],"m":[{"p":5},0],"n":[{"i":1,"s":30,"t":53}],"t":[{"e":30}],"v":[{"o":5},38]}],"j":237,"k":38,"l":30,"m":38,"n":38,"o":[{"b":38,"c":38,"e":[{"f":30,"l":[{".":35,"e":35},36],"n":30,"r":30,"s":30,"z":30}],"f":77,"g":[{"e":19}],"k":106,"l":[{"i":1},0],"m":[{"a":30,"z":30}],"n":[{"g":0}],"o":[{"g":72,"t":[{"j":2}]},77],"p":[{"e":217,"t":[{"o":3}]},0],"r":[{"a":[{"t":6},30],"d":30,"i":1}],"s":53,"v":0}],"p":38,"r":[{"a":[{".":30,"a":[{"t":[{"j":43}]}],"d":47,"f":[{".":35},238],"g":45,"i":30}],"e":[{"c":72,"f":45,"g":30,"i":79,"l":35,"p":36}],"i":[{"f":5,"j":[{"p":3}],"s":45}],"o":[{"e":[{"p":45},79],"m":7,"o":[{"k":35,"m":35,"s":[{".":3},30]}],"u":53,"z":30}],"u":[{"i":[{".":30,"k":35}]},36]},75],"s":[{"c":5,"e":3,"f":5,"k":5,"l":5,"o":5,"p":3,"t":3},239],"t":240,"u":[{"b":30,"c":30,"d":106,"i":[{"n":30,"t":[{"j":4,"k":3}]}],"k":35,"n":[{"i":[{"e":6},5]},241],"s":30},57],"v":38,"w":137,"y":[{"l":57,"p":45},241],"z":38},18],"u":[{".":35,"a":35,"b":[{"a":13,"e":1,"l":3},242],"c":35,"d":35,"g":36,"i":[{"k":35,"t":[{".":35,"l":45,"s":[{".":35}]},41]},38],"k":35,"l":36,"m":35,"n":191,"p":35,"r":[{"v":35}],"s":[{"e":8},7],"u":[{"r":4}]},57],"v":[{"a":[{"a":[{"t":2}],"r":[{"i":2}]}],"e":[{"r":[{"i":1},6]}]},53],"w":[{"o":45},41],"y":[{".":36,"c":30,"n":[{"e":23},36],"s":243},0],"z":53}],"t":[{".":30,"a":[{"a":[{"k":[{".":36}],"l":0,"n":[{"d":[{"o":45}],"k":39,"s":[{"t":13}],"w":39}],"p":39,"r":[{"s":[{"p":4}]}],"s":79,"t":[{"s":[{"t":[{"a":2},13]}]}]}],"b":[{"e":36,"l":36}],"c":[{"a":11,"i":77},38],"d":[{"e":[{"r":39},7],"o":35,"r":39,"s":24,"v":[{"e":39}]},30],"f":[{".":38,"d":44,"e":244,"f":30,"h":[{"a":39}],"r":[{"o":5},0],"s":41,"w":44,"z":30}],"g":[{"a":[{"a":7}],"e":[{"e":35}],"l":245,"r":8}],"k":[{"a":35,"g":35,"k":[{"e":[{"n":35}]}],"l":5,"n":35,"p":35,"r":96,"s":35}],"l":[{"a":[{"a":5,"c":[{"t":3}]}],"b":30,"e":[{".":35,"n":[{"t":35}]}],"i":[{"g":35},5],"l":[{"i":[{"a":45}]}],"m":[{"a":15}],"t":30},18],"m":[{"a":[{"k":7}],"b":[{"a":39},30],"e":[{"n":[{"t":[{"j":43}]},35]}],"p":[{"u":39},30]}],"n":[{".":35,"a":[{"g":5,"t":5},99],"d":[{"r":24}],"k":[{"r":14}]}],"o":5,"p":[{"e":0,"i":35,"l":5,"o":35}],"q":5,"r":[{"a":5,"b":79,"i":35,"m":41,"o":65,"s":[{"p":1}],"t":[{"a":[{"a":1}],"i":39}],"w":36}],"s":[{"a":35,"j":35,"o":35,"p":9,"t":[{"a":5,"r":5}],"y":5},36],"t":[{"a":30,"i":[{"o":30}],"j":1,"l":79,"r":36}],"u":[{"t":30},36],"v":[{"o":40}],"x":36,"z":50}],"b":[{"a":[{"l":12}]},79],"c":[{"h":[{"a":45,"e":45,"i":45,"u":45},0]},79],"d":[{"o":[{"r":[{"s":[{"t":4}]}],"v":8}]},99],"e":[{"a":[{"k":[{"t":5}],"m":246},36],"c":[{"h":[{"t":79}],"o":30},36],"d":[{"i":[{"t":7}],"u":39}],"e":[{"d":[{"s":[{"t":[{"e":[{".":2}]}]}]}],"g":6,"k":[{"l":24},30],"m":71,"n":[{"h":[{"e":45}]},235],"r":[{"i":[{"n":1}]},36],"t":6,"u":79},12],"f":[{"f":45,"l":36},0],"h":36,"i":[{"e":[{"r":79}],"g":30,"l":[{"o":6}],"n":[{"d":45},0],"t":[{"j":1},35],"w":44}],"k":[{"e":[{"n":[{"e":35,"s":35}],"r":30}],"k":30,"o":[{"m":23},36],"s":36,"w":[{"i":23},5]}],"l":[{"a":[{"n":[{"t":1}],"p":7}],"d":[{"a":1}],"e":[{"c":[{"o":35,"t":45},30],"e":[{"n":1}],"f":35,"g":35,"i":[{".":1,"e":1,"t":1}],"l":3,"v":35,"x":178}],"f":8,"k":1,"o":[{"e":7,"g":62,"o":[{"g":1}],"p":23,"r":13}],"s":[{"e":30,"o":8,"u":1},13],"u":[{"u":23}]},0],"m":[{"b":38,"m":30,"o":[{"r":7,"v":8}],"p":[{"e":[{"r":35}],"o":35}]},0],"n":[{"a":[{"c":[{"h":6}],"g":29,"k":5,"r":[{"e":3}],"u":7}],"e":[{"d":8,"l":8,"t":13},83],"h":36,"k":26,"o":[{"r":[{"e":3}]}],"q":53,"s":[{"c":[{"r":1}],"n":8,"p":8,"u":[{"u":4},16]}],"t":[{"a":35,"e":[{"n":[{".":35}]}],"o":1,"w":39},36],"u":35},0],"r":[{"a":[{"a":[{"d":[{"s":21}],"k":17}],"b":29,"c":[{"a":4}],"d":[{"e":13},7],"f":17,"g":8,"l":5,"n":7,"p":8,"s":8}],"e":[{"c":35,"i":[{"k":1},7],"l":7,"m":7,"n":[{".":3,"k":17,"v":17}]}],"f":[{".":213,"d":30,"r":8,"t":213}],"i":[{"n":[{".":17}]}],"j":36,"k":[{".":30,"t":30,"w":29}],"m":[{".":35,"i":35},36],"o":[{"c":1,"d":5,"f":5,"g":5,"n":[{"s":3},35],"p":[{"e":4}],"r":13,"s":5}],"r":[{"e":[{"i":35,"u":35}],"o":[{"r":35}]}],"s":[{"p":[{"r":6}],"t":[{"e":[{".":1}],"o":[{"n":1}]}]}]},18],"s":[{"a":[{"p":19}],"m":8,"o":5,"t":[{"a":8,"e":[{"l":3,"n":1}],"o":[{"p":4}],"r":[{"i":4}],"u":15}]},36],"t":[{"a":5,"r":3}],"u":[{"v":79}],"v":[{"a":[{"n":67}],"e":[{"r":13}],"l":35,"r":36},0],"x":[{".":36,"e":79,"p":30},38]},57],"é":57,"è":5,"f":79,"g":[{"a":[{"a":[{"t":2}]}],"e":[{"l":[{"a":8}],"r":13},45]},99],"h":[{".":30,"a":[{"a":[{"n":0},39],"d":0,"k":39,"m":45,"n":[{"s":0}],"r":39,"v":39},40],"e":[{"a":35,"b":39,"e":[{".":35}],"i":79,"l":79,"n":80,"o":35,"r":[{"a":96,"e":79},95],"s":36,"t":36}],"i":[{"n":0}],"m":30,"o":[{"e":42,"g":18,"k":39,"o":[{"f":[{"d":[{"i":2}]}]},42],"u":[{"d":39,"s":35},41],"v":79}],"r":36,"u":[{"l":42,"m":30,"r":0},38]}],"i":[{".":35,"a":[{"b":3,"e":3,"p":5},35],"b":35,"c":[{"a":35,"e":35,"i":35,"u":35}],"d":19,"e":[{".":35,"d":26,"f":[{"s":35}],"k":[{"n":8,"o":[{"n":6}]}],"n":[{"c":5,"s":[{"t":4}]}],"p":35,"s":[{"l":26},35],"t":[{"a":1,"o":1,"w":1}],"u":22,"v":[{"e":[{"n":35}]}]}],"f":[{"e":5,"r":5}],"g":[{"a":[{"a":1},11],"m":30,"u":[{"r":8},187]}],"j":[{"d":35,"e":13,"k":[{"a":1,"l":6}],"n":35,"p":1,"s":[{".":39,"t":8}],"t":[{"r":1,"w":1},32],"z":41}],"k":[{"o":5,"r":3}],"l":[{"s":30},0],"m":[{"m":35,"o":35}],"n":[{"a":[{"d":13,"s":8}],"c":[{"u":79}],"d":41,"f":30,"g":[{"i":24,"s":[{"a":13}]}],"h":39,"i":[{"t":7}],"j":79,"k":[{"o":39}],"l":79,"q":39,"r":30,"s":79,"u":5,"v":79,"w":30}],"o":[{"m":3,"p":247}],"s":[{"a":3,"j":19,"l":5,"o":[{"n":7},5],"p":19,"t":[{"a":5}]},18],"t":[{"e":35,"h":5,"r":52}],"v":[{"i":35,"o":7}]},36],"j":[{"a":[{"a":45},40],"e":[{"e":45,"k":45,"n":39,"t":45,"u":30}],"o":[{"u":42},38],"u":38},248],"k":[{"a":[{"r":[{"s":63}]}]},99],"l":[{"e":[{".":45,"b":35,"s":45}],"i":[{"n":6}]},79],"m":[{"e":[{"n":[{"s":[{"t":[{"e":2},13]}]}]}],"o":[{"s":4}]},79],"n":[{"a":[{"m":[{"o":24}]}],"e":[{"r":6,"s":13}]},79],"o":[{".":35,"a":[{"c":5,"r":5},12],"b":[{"l":3}],"c":[{"h":57},36],"d":[{"a":5},36],"e":[{"d":26,"j":36,"k":1,"l":[{"a":249,"e":1,"i":[{"c":35}]}],"m":[{"a":[{"a":[{"t":21}]}]}],"n":[{"d":[{"e":3}]},35],"p":[{"l":1}],"r":[{"i":35,"n":35},36],"s":[{"t":1},250],"t":[{"j":8,"s":[{".":35,"e":35,"t":[{"e":[{".":2}]}]},36]}],"v":36,"z":35},0],"f":[{"a":[{"r":1}],"d":1,"r":7,"t":[{"h":8}]},11],"g":[{"n":36,"r":35}],"i":36,"k":[{"a":[{"n":7}],"s":8}],"l":[{"a":[{"a":35},5],"e":[{"t":35},3],"f":39,"i":[{"c":35,"e":7},38],"k":[{"s":4}],"o":35,"p":[{"r":15}],"y":39},18],"m":[{".":30,"a":[{"a":[{"t":43},35]}],"l":39,"o":5,"p":[{"j":24}],"s":188}],"n":[{".":35,"d":30,"e":[{"e":35,"n":178,"r":3},80],"g":[{".":35},77],"i":77,"n":106,"o":5,"s":[{"k":8},35]}],"o":[{"m":[{"e":15},6],"n":35}],"p":[{".":0,"a":[{"r":[{"t":1}],"s":8}],"e":[{"n":5,"t":5}],"i":5,"m":38,"o":[{"s":3},7],"p":0,"u":[{"s":3},7],"v":[{"a":39}]}],"r":[{".":35,"a":[{"g":23},5],"d":39,"e":[{"c":3,"n":[{"s":35}]}],"g":[{"a":45},41],"i":[{"a":36,"ë":7},0],"k":8,"m":[{"a":24}],"o":[{"l":[{"i":17}],"m":5},13],"r":35,"s":[{"t":[{"e":[{".":4}]}]},36],"u":9}],"s":[{"a":5,"l":22,"p":52,"t":[{"e":1}]},147],"t":[{"a":35,"r":5}],"u":[{"d":44,"r":[{"e":24},36]}],"v":[{"e":[{"n":[{"a":4,"s":7}],"r":[{"g":30}]}]},5],"w":19}],"p":[{"e":[{"t":24}],"i":[{"s":8}]},101],"r":[{"a":[{".":36,"a":[{"d":79}],"c":[{"é":35}],"f":[{"o":[{".":35}]}],"g":[{"e":[{"z":30}]},36],"i":[{"n":35},77],"k":[{"a":35,"e":39,"t":36}],"n":[{"s":[{"a":35},36]}],"p":[{".":35}],"u":35,"z":79}],"e":[{".":77,"a":30,"c":38,"d":[{".":35,"a":30,"e":[{"s":45}],"u":30}],"f":36,"g":53,"i":[{"s":79,"z":30}],"l":30,"s":[{"e":39,"u":39}],"t":46,"u":0}],"i":[{"b":[{".":39,"u":35}],"c":[{"o":35}],"e":[{"t":[{"a":4}]}],"g":83,"j":38,"l":106,"n":[{"i":1}],"o":251,"s":[{"i":39}],"t":[{".":39,"i":106}]}],"o":[{"d":[{"y":35}],"e":[{"d":39,"s":39}],"f":[{"y":35}],"g":36,"ï":0,"j":35,"l":[{".":30,"a":35,"o":35}],"m":[{"m":35}],"n":[{".":35,"a":35,"d":45,"e":36,"n":35,"o":35,"s":35,"t":[{"j":2}]}],"o":[{"d":39,"n":35,"s":0}],"p":[{"i":1}],"s":0,"t":[{"u":35}],"u":[{"t":53},36],"v":1}],"u":[{"c":[{".":35}],"f":35,"g":30,"i":[{".":35,"e":35,"m":39,"t":28}],"k":39,"m":0}]},7],"s":[{"a":[{"d":9,"g":6,"m":22,"p":39,"s":5}],"e":[{"d":6,"e":[{"n":3}],"i":[{"n":[{"d":3}]},54],"n":[{"e":64,"g":54}],"r":[{"g":[{"e":3},54]}],"v":132}],"i":[{"j":18,"n":[{"k":54,"t":5}]}],"j":[{"a":5,"e":[{"n":39}],"i":36},11],"l":[{"a":[{"a":7,"c":39,"g":[{".":45}],"m":5}],"e":51,"i":[{"b":45}],"o":[{"e":45}],"u":48},42],"m":[{"e":11,"o":[{"e":7}]}],"n":[{"e":[{"u":5}],"o":[{"r":3,"t":3},7],"u":5}],"o":[{"b":5,"l":[{"i":5},12],"m":5,"n":22,"p":[{"p":7}],"r":49,"v":22}],"p":[{"a":[{"d":5,"n":39}],"e":[{"c":45,"t":54}],"i":[{"l":54},39],"o":[{"e":39,"o":39,"r":67,"t":5}],"r":[{"o":0,"u":7}]}],"q":3,"s":3,"t":[{"a":[{"a":[{"k":0}],"n":[{"k":64,"t":3}],"r":0,"s":0},39],"e":[{"d":45,"e":45,"k":[{"o":3}],"l":[{"l":45,"s":45}],"m":45,"r":[{".":45,"r":0,"s":45}],"s":[{".":67}],"u":45},39],"h":5,"i":[{"j":[{"g":45},39],"l":45,"n":3},119],"j":20,"o":[{"e":[{"p":3}],"n":[{"g":3}],"r":[{"e":0}]},42],"r":[{"a":[{"d":3}],"e":[{"i":3}],"i":39,"o":[{"e":3}]}],"y":3}],"u":[{"r":5,"s":5,"u":5},117],"y":42},30],"t":[{"a":67,"e":[{"l":[{"o":[{"e":1,"p":26}]}],"n":[{"t":[{"j":37}]},12],"r":[{"i":1}]},45],"l":[{"e":[{"t":45}]}],"o":[{"o":[{"g":5}],"p":83}],"r":67,"u":[{"m":45,"u":5}]},79],"u":[{"a":36,"b":36,"c":[{"h":36}],"e":[{"u":35},148],"é":[{"s":5}],"i":[{"g":36,"n":35,"p":30,"t":[{"j":13},38]}],"k":[{"i":23},30],"l":[{"p":[{"i":1}]}],"m":0,"n":[{"e":35,"n":35}],"o":22,"r":[{"b":35,"i":5}],"s":252,"t":[{"j":8}],"u":[{"r":[{"s":[{"l":[{"a":2}]}]}]}],"w":[{"a":5}]}],"v":[{"a":[{"a":[{"t":2}]}],"e":39},30],"w":[{"i":[{"j":[{"f":77}],"n":18}]},41],"y":[{"p":36,"s":6},136],"z":[{"a":39,"i":39,"w":45},30]}],"u":[{"a":[{"c":39,"n":[{"e":3},39],"p":5,"r":[{".":45,"t":1}],"s":[{"a":5}],"t":6},42],"b":[{"a":[{"c":5}],"e":[{"l":[{"i":6}],"m":3}],"i":45,"o":[{"r":3},39]},158],"c":[{"h":[{"e":42,"t":[{"s":[{"l":4}]}]}],"k":[{"i":7}],"l":[{"e":15}],"t":[{"a":23,"i":[{"n":7}]}]},30],"d":[{"a":[{".":45,"m":3},12],"e":[{"i":5,"s":[{"s":5}],"z":[{"e":5},117]}],"i":[{"o":[{"l":[{"o":[{"g":[{"e":1}]}]}],"m":8},6]}],"o":[{"e":83,"n":[{"d":5}],"o":5,"v":5}],"r":126,"s":[{"l":[{"o":1}],"m":[{"a":1,"e":5,"i":5},6],"t":[{"a":[{"k":1},7],"i":7},22]}],"w":22},42],"e":[{"c":[{"o":11},39],"e":163,"f":39,"i":39,"l":42,"n":[{"e":0}],"r":[{"i":[{"l":8}]},42],"s":[{"t":5}],"u":[{"l":45},42],"z":39}],"è":39,"f":[{"a":[{"n":54}],"l":42,"r":119,"s":11}],"g":[{"a":45,"d":[{"a":253,"e":[{"r":7}],"o":11,"r":7}],"e":[{"l":[{"o":14}]}],"i":[{"j":5}],"l":22,"o":[{"r":5},18],"r":94,"s":[{"c":[{"e":3}],"e":[{"c":7}],"p":[{"a":1},6],"t":[{"r":[{"a":1}]},49]}]}],"h":42,"i":[{"a":[{"c":3}],"d":[{"a":27,"o":68,"s":[{"p":[{"r":[{"e":1}]},8],"t":[{"e":[{".":1}]}]},6],"u":8}],"e":[{"n":[{"t":13}]},5],"f":[{"a":11,"l":10,"r":1,"u":11}],"g":[{"a":[{"a":17}],"l":10,"o":27,"r":23,"u":7},30],"k":[{"a":27,"l":23,"o":11,"u":11},30],"l":[{"a":[{"a":1},11],"e":[{"m":23}],"m":1,"o":[{"g":23,"o":7,"v":8}]}],"m":[{"a":[{"g":5},27]},30],"n":[{"a":25,"g":1,"o":[{"g":1,"r":8},11],"s":[{"l":[{"o":14}]}],"t":[{"o":1}]}],"p":[{"l":27,"o":62,"r":27}],"s":[{"a":27,"c":1,"l":[{"u":3},7],"p":1,"t":7},30],"t":[{"a":[{"a":1,"l":1,"r":3},62],"g":57,"j":10,"l":36,"o":68,"r":243,"s":[{"l":8,"n":8,"p":1,"t":[{"e":[{".":4}]}]}],"w":36,"z":36}],"v":5},18],"j":79,"k":[{"a":[{"l":51,"s":5}],"k":[{"e":[{"r":[{"s":43}]}]}],"l":[{"a":[{"s":39}]},51],"n":51,"o":[{"c":39,"p":[{"l":23},12]},51],"r":54,"s":[{"m":9,"p":[{"a":5,"l":5}],"t":[{"i":7}]}],"w":22},38],"l":[{"a":[{"c":5,"m":13,"p":6},42],"d":[{"a":23,"e":[{"r":[{"k":1}]}],"o":[{"p":3}],"u":23}],"e":[{"s":[{"p":1}]},42],"f":[{"l":5,"o":3,"r":5}],"i":[{"n":[{".":5,"g":45,"n":5}]}],"k":[{"a":9,"e":3,"l":27}],"o":[{"p":9,"s":39},42],"p":[{"a":[{"c":8},11],"i":7,"l":27,"o":11,"r":23}],"s":[{"a":5,"o":5,"p":27,"t":[{"e":[{".":1,"l":1}]}]}],"u":39}],"m":[{"a":[{"f":5,"r":5}],"d":[{"a":36}],"e":[{"e":13,"s":[{"t":8},13]},38],"o":[{"m":5,"p":5}],"s":[{"o":5,"t":5}],"u":[{"i":51}]}],"n":[{"a":[{"c":5}],"c":[{"h":[{"r":15}]},11],"d":[{"r":[{"a":7}],"s":[{"t":[{"a":4,"e":1}]},6]}],"e":[{"t":6}],"g":5,"i":[{"v":57}],"k":[{"r":23}],"o":[{"g":8,"p":56},7],"s":[{"t":[{"a":15,"e":[{".":7}],"o":15,"r":207,"u":[{"i":4}]}]}],"t":[{"a":[{"g":7}],"e":[{"e":[{"n":1}]}],"j":11,"o":174,"s":[{"m":29}],"u":23}]}],"o":[{"l":39,"n":39,"o":39,"r":[{"u":5},42],"s":39,"t":[{"a":15}]}],"p":[{"a":42,"e":[{"k":8,"r":[{"o":6,"s":[{"t":4}]}]},42],"h":39,"i":39,"l":[{"e":[{"i":54}]},42],"o":[{"l":39,"m":5,"p":5},42],"r":42,"t":[{"r":7}]},30],"r":[{"a":[{"a":[{"n":5}],"c":22,"d":[{"a":5,"v":5}],"r":59,"s":15,"z":132},42],"d":[{"o":6}],"e":[{"c":[{"h":5}],"e":[{"n":5,"s":4}],"l":[{"u":[{"r":2},1]}],"m":[{"b":5},0],"n":6,"s":[{"s":5,"t":8},39],"t":[{"a":5}]},122],"f":[{"a":11},30],"g":[{"i":5}],"i":[{"g":[{"l":6}],"j":[{"z":5}],"n":[{"d":5,"t":5}]},42],"k":[{"e":[{"n":[{"s":2}]}],"i":[{"e":7}],"l":19,"s":[{"t":14}]},30],"o":[{"p":[{"b":3}],"r":5,"s":1},42],"p":[{"r":3}],"s":[{"e":[{"r":[{"v":7}],"v":23}],"f":[{"e":19}],"l":[{"a":[{"a":1}],"i":1},11],"m":17,"n":11,"p":[{"a":1,"e":[{"l":3}],"o":[{"r":3}]},7],"t":[{"a":[{"k":[{"e":1}]}],"h":1,"i":[{"k":1},7]}]}],"t":[{"a":5,"r":[{"o":[{"e":3},7]}]}],"u":[{"i":5},39],"v":30,"y":119}],"s":[{"a":[{"a":30,"d":5,"m":9,"p":22}],"c":[{"r":200},0],"e":[{"t":[{"j":1}]}],"i":[{"e":45}],"j":0,"l":64,"m":0,"n":88,"o":[{"ï":5,"s":5},12],"p":[{"i":3,"u":3},51],"t":[{"a":[{"g":3,"l":8},7],"e":[{"i":23},51],"i":0,"o":[{"o":8}],"r":[{"a":[{".":3}],"e":[{".":3}],"o":3,"u":3}],"u":[{"r":8,"u":8},13]}]}],"t":[{"a":[{"a":[{"n":5,"r":2}],"c":22,"f":5,"n":39,"s":29},42],"c":3,"e":[{"e":[{"s":54}],"k":[{"s":5},0],"m":[{"m":3},5],"r":[{"a":[{"n":4}]}],"x":5}],"h":[{"o":5},11],"j":18,"o":[{"f":1,"o":[{"g":5}],"p":[{"e":8,"l":13,"o":1,"r":13}],"s":1},42],"s":[{"a":[{"a":5}],"c":9,"e":[{"n":[{"g":1}]}],"m":12,"n":22,"p":[{"a":7,"o":7},5],"t":[{"a":[{"k":1}],"e":[{".":7,"n":3}],"r":5},11],"u":3}],"t":6,"u":42,"w":3}],"u":[{"r":[{"a":29,"e":29,"i":1,"k":8,"o":34,"s":[{"t":[{"e":1,"i":1}]}]}],"t":[{"a":8,"r":8},30]},31],"v":[{"e":[{"l":[{"s":13}],"n":[{"a":1}]}]}],"w":[{"a":[{"g":39,"r":[{"t":3},5]},22],"e":[{"c":5,"d":1,"e":[{"n":5}],"i":51,"n":[{"e":[{"n":6}]}],"s":13},42],"i":[{"j":[{"z":3},51],"n":[{"d":0,"g":39,"s":0,"z":5}]},42],"o":[{"e":39,"g":[{"e":6}]},22],"r":22,"u":5}],"x":[{"a":8}],"y":[{"a":39}],"z":[{"e":[{"t":29}],"i":[{"e":83}]},30]}],"û":[{"t":[{"s":19}]}],"ü":[{"b":0,"n":42,"r":[{"i":39}],"s":[{"l":5}]},57],"v":[{".":38,"a":[{"a":[{"r":[{"t":[{"a":13,"r":2}]}]}],"d":[{"e":5}],"g":19,"k":[{"i":11,"l":7,"o":11}],"l":[{"a":27,"m":1,"o":[{"e":7},5],"s":[{"i":1,"p":14,"t":[{"e":[{"k":4}]}]}],"u":4}],"n":[{"a":[{"c":8}],"d":13,"g":[{"a":15,"r":6}],"o":[{"c":7},5]},11],"p":22,"r":[{"e":5}],"s":[{"e":3,"o":19,"t":[{"r":15}],"u":5}],"t":[{"e":5,"h":27,"j":1}],"z":5}],"b":0,"c":79,"e":[{".":36,"b":35,"e":[{"l":[{"e":4},6],"p":29,"s":13}],"g":[{"h":19}],"i":[{"s":29,"t":[{"j":1}]}],"k":36,"l":[{"a":[{"g":62}],"d":[{"o":24}],"e":5,"k":8},35],"m":[{"a":6},35],"n":[{"a":[{"r":[{"e":3}]},7],"d":35,"k":1,"o":27,"r":38,"s":[{"e":24,"l":[{"a":[{"n":4}],"o":4},6],"p":6,"t":[{"a":[{"a":[{"k":4}],"k":[{"e":4}]}],"e":[{"k":4}]}],"u":103}]}],"r":[{"a":[{"a":[{"s":1}],"d":7,"g":13,"n":[{"d":7}]},10],"d":[{"o":1}],"e":[{"c":5,"d":8,"g":5,"i":[{"s":1},5],"n":[{".":3,"d":3}],"t":29}],"i":[{"j":[{"d":1,"l":1,"s":1}],"n":[{"g":3}]}],"k":26,"o":[{"m":5,"v":4},8],"p":1,"s":[{"p":[{"e":1}],"t":[{"a":1,"o":1}]}],"t":[{"w":1}],"u":10,"y":5},11],"s":[{"t":[{"i":1}]},27],"t":[{"j":11,"o":[{"g":8,"o":8,"r":5},65],"r":[{"o":[{"e":6}]},27],"s":[{"t":[{"e":1}]}]}],"z":178},0],"i":[{"c":[{"e":[{"p":[{"a":30}]}]}],"d":[{"s":[{"t":1}]}],"e":[{"r":[{"a":24}],"s":[{"n":4},24],"t":[{"j":6}],"u":5}],"j":[{"f":4}],"k":[{"s":6}],"l":[{"t":[{"j":24}]}],"n":[{"g":[{"s":63},13]}],"o":[{"m":3},5],"s":[{"a":[{"n":23}],"o":[{"t":1},22],"p":1,"t":[{"r":1},7]}],"t":[{"r":22}]},36],"j":[{"e":[{"t":71},6]},39],"l":[{"a":[{"r":39}],"e":[{"i":[{"s":87}]}],"i":[{"e":[{"s":37}]}],"o":[{"t":[{"s":4}],"v":39}]},36],"o":[{".":35,"e":[{"t":[{"a":24,"r":24,"s":[{"p":4}]}]},36],"g":[{"e":13},36],"i":36,"l":[{"e":11,"g":[{"a":24,"r":[{"a":6}]}],"i":[{"j":8},11],"p":1}],"n":[{"d":[{"e":[{"t":6}],"u":4}]}],"o":[{"d":1,"i":[{"t":4}],"r":[{"n":[{"a":4},16]}]},36],"r":[{"a":5,"m":[{"a":15}],"s":[{"t":[{"e":[{".":4,"n":1}]}]}]}],"s":8,"t":[{"j":8},36],"u":[{"s":4},36]}],"r":[{"e":[{"i":4}],"i":[{"e":[{"s":13}],"j":[{"k":28,"s":[{"t":[{"e":4}]},16]}]}]},183],"t":39,"u":[{"e":[{"s":13}],"l":[{"p":1},11],"u":[{"r":[{"s":4}]}]}],"y":5},95],"w":[{".":38,"a":[{"a":[{"d":15,"r":[{"e":4,"s":[{"t":[{"e":4}]}]},18]}],"b":[{"a":11,"l":3},23],"d":[{"r":5},18],"g":0,"l":[{"a":[{"n":5},11]}],"m":30,"n":[{"d":[{"r":14}],"g":[{"r":6,"s":[{"l":4}]}],"o":68,"s":29}],"p":36,"r":[{"c":45,"d":35,"s":[{"t":[{"e":4},6]}],"t":[{"j":15,"o":6}]},0],"s":[{"i":11,"l":17,"p":17,"t":[{"r":1}]}],"t":[{"e":57,"j":1,"r":5}],"y":36}],"b":38,"c":42,"d":[{"o":[{"o":[{"m":5},0]}]},40],"e":[{"a":11,"c":98,"d":[{"e":13,"i":27,"r":23},36],"e":[{"k":[{"i":6,"r":24}],"l":[{"o":8}],"s":[{"t":[{"e":1},29]}]}],"g":[{"a":25,"e":[{"r":[{"v":7}]}],"l":8,"o":27,"r":17},36],"i":[{"s":8,"t":[{"j":1}]}],"k":[{"r":23}],"l":[{"e":[{"m":30},253],"i":5,"o":11,"s":8}],"m":[{"a":8,"e":5},11],"n":[{"a":[{"d":8},13],"e":[{"m":7,"n":[{".":3,"k":1}]},115],"i":5,"k":[{"a":24}],"o":8,"t":[{"o":1}]},11],"r":[{"f":12,"g":30,"k":[{"a":6,"l":14,"n":6,"o":24,"r":[{"u":4},24],"u":103,"w":24}],"p":[{"a":24,"l":24,"r":6}],"s":[{"t":[{"e":1}]},6]}],"s":[{"p":[{"o":5}],"t":[{"o":14}]},27],"t":[{".":36,"h":11,"j":27,"s":[{"t":6}],"u":27}],"x":38,"z":[{"e":[{"n":[{"s":254}]}]}]}],"f":40,"g":42,"h":42,"i":[{"e":[{"l":[{"a":6}],"t":6}],"j":[{"d":36,"k":[{"a":6}],"s":[{"l":15,"p":15,"t":[{"a":4}]},6]},0],"k":7,"l":36,"n":[{"d":[{"a":15,"r":24}],"g":0,"r":38,"s":[{"t":[{"a":[{"a":2}],"r":2}]},12]}],"t":[{"h":23,"j":8,"o":82,"r":8}]}],"j":42,"k":40,"l":40,"m":41,"n":[{"a":[{"c":5}],"e":39,"i":39,"o":39},38],"o":[{"b":39,"e":[{"s":[{"t":[{"a":2}]},15]},18],"l":[{"a":8,"f":[{"s":37}]},7],"o":[{"n":[{"s":[{"f":4}]}],"r":[{"d":[{"r":37}]}]}],"r":[{"g":[{"e":24}]}]}],"p":42,"r":[{"e":[{"n":[{"s":[{"t":[{"e":[{".":2}]},13]}]}]}]}],"s":[{"a":9,"c":39,"l":[{"e":51},42],"o":[{"m":39}],"p":[{"l":11,"r":[{"a":45},0]},39],"t":[{"i":[{"j":0}]},119]},38],"t":[{"e":[{"s":15}],"j":[{"e":[{"s":[{"p":4}]}]}],"o":42,"r":42},38],"u":11,"v":[{"a":12}],"w":42}],"x":[{"a":[{"f":6,"g":5,"m":[{"e":[{"n":[{"t":2}]}]}],"n":[{"t":1},8]}],"c":42,"e":[{"n":[{"d":6}],"r":[{"o":5}]},0],"f":42,"h":42,"i":[{"e":[{"t":6}],"g":5,"o":3,"s":[{"t":[{"a":5,"o":5}]}],"t":[{"i":23}]}],"l":39,"m":42,"o":[{"n":[{"o":5}],"p":0,"s":19}],"p":[{"r":[{"e":[{"s":2},83]}]},42],"r":39,"s":[{"o":39,"p":39}],"t":[{"a":[{"k":18}],"i":[{"e":83}]},42],"w":39,"y":5}],"y":[{"a":[{"s":[{"p":17},19],"t":39},42],"b":[{"a":[{"l":46}],"e":[{"r":[{"t":143}]}]}],"c":[{"h":[{"o":15}],"o":39},42],"d":[{"i":[{"a":8}],"r":[{"o":15},45]},119],"e":[{"s":8},42],"é":[{"s":39}],"è":39,"f":42,"g":[{"u":12},42],"h":42,"i":[{"n":0,"s":45},42],"k":[{"s":[{"g":[{"e":16}]}]}],"l":[{"a":[{"l":5},39],"e":[{"t":54},39],"o":[{"l":8},39]}],"m":[{"f":[{"l":155}],"p":[{"a":3}]}],"n":[{"a":39,"e":[{"r":5}],"o":39,"t":22}],"o":[{"n":39,"s":39,"t":5},42],"p":[{"h":48,"o":[{"t":13},8],"s":[{"i":3},5]},42],"r":[{"e":48,"i":45},42],"s":[{"a":119,"c":48,"e":[{"t":1},67],"f":48,"h":48,"i":7,"o":48,"p":[{"l":3},48],"t":[{"a":7,"r":3}],"y":39},5],"t":[{"h":[{"u":5}],"o":[{"f":18,"p":13},8]},42],"u":[{"a":3,"i":39,"r":50}],"v":[{"a":[{"r":[{"i":2}]}]}],"w":119}],"z":[{".":30,"a":[{"a":[{"r":[{"t":4}]}],"f":9,"g":[{"s":[{"t":13}]}],"k":[{"a":27,"r":8}],"n":[{"d":[{"a":28,"i":8,"r":6},12],"g":[{"s":15}]}],"p":[{"o":5}],"s":19}],"b":30,"c":30,"d":30,"e":[{"e":[{"k":8,"l":[{"d":4}],"r":[{"o":[{"v":2},29],"s":4}],"s":29}],"g":[{"e":3,"s":[{"l":6}]}],"i":[{"s":[{"p":8}]}],"k":3,"l":[{"d":[{"r":1}],"e":[{"m":5}],"f":153,"s":[{"o":6}]}],"n":[{"d":[{"a":24}],"i":[{"n":7}],"k":1,"o":[{"g":6,"n":5},29]}],"r":[{"a":23,"o":5,"s":[{"e":14},12]}],"s":[{"c":[{"h":3}],"e":1,"l":1,"t":[{"e":3}]},23],"t":[{"a":27,"h":27,"i":7,"j":27,"r":27}],"v":[{"e":[{"n":63},83]}]},0],"f":30,"g":30,"h":44,"i":[{"e":[{"k":[{"l":15,"o":24,"w":15}],"l":[{"s":13}],"s":[{"l":1}]}],"f":36,"g":[{"a":155}],"j":[{"k":[{"l":1}],"p":[{"o":8}],"s":26}],"k":[{"w":12}],"n":[{"a":62,"g":[{"s":63}],"k":[{"l":24}],"s":[{"t":[{"a":4,"r":1},15]},6]}],"o":217,"p":[{"i":15}],"t":[{"e":8,"j":8,"u":29},7]},18],"k":79,"l":79,"m":30,"o":[{"d":[{"i":4}],"e":[{"t":[{"j":15,"s":[{"t":[{"e":4}]}]}]}],"f":9,"i":[{"e":3},6],"l":[{"a":5}],"m":[{"e":13}],"n":[{"a":11,"s":[{"f":8}],"t":[{"a":1}]}],"o":[{"i":[{"t":[{"j":4}]}]}],"p":22,"r":[{"g":[{"a":24,"l":6,"r":6}]}],"t":[{"h":8,"r":5},11],"v":5}],"p":79,"r":79,"s":38,"t":53,"u":[{"i":[{"d":[{"i":24,"r":6}]}],"s":8}],"v":38,"w":[{"e":[{"t":[{"s":[{"t":[{"e":[{".":2}]}]}]}]}]},0],"y":35,"z":[{"i":[{"n":5}],"o":[{"r":5}],"w":64},44]},57]}',"aan-dachts-trek-ker.aan-dachts-trek-kers.acht-en-der.acht-en-ders.acht-en-der-tig.acht-en-der-tig-ste.be-heers-ta-ken.be-scherm-en-gel.be-scherm-en-ge-len.be-stuurs-la-gen.be-stuurs-ta-ken.bij-stands-trek-ker.bij-stands-trek-kers.bui-ten-an-ten-ne.bui-ten-an-ten-nes.don-der-aal.han-dels-taal.her-e-nen.ket-ting-ste-ken.lands-taal.meest-al.mi-nis-ters-por-te-feuil-le.mi-nis-ters-por-te-feuil-les.ont-hoof-din-gen.pa-ling-ste-ken.rechts-taal.schil-ders-ta-lent.sou-ve-niertje.sou-ve-niertjes.spie-gel-ei.ver-en-gels-te.ver-hol-lands-te.ver-in-lands-te.ver-kinds-te.ver-ne-der-lands-te.ver-rechts-te.ver-steeds-te.wals-te.wa-ter-staats-in-ge-ni-eur.wa-ter-staats-in-ge-ni-eurs".split(".")]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/5162.adapter.js b/public/tools/cloud_sheets/vendor/univer/5162.adapter.js new file mode 100644 index 0000000..28ac627 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/5162.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[5162],{5162(s,o,e){e.r(o),e.d(o,{Gu:()=>n});const n=["22,11,01,1,21",'{"‍":0,"‌":1,"અ":2,"આ":2,"ઇ":2,"ઈ":2,"ઉ":2,"ઊ":2,"ઋ":2,"ૠ":2,"એ":2,"ઐ":2,"ઓ":2,"ઔ":2,"ા":2,"િ":2,"ી":2,"ુ":2,"ૂ":2,"ૃ":2,"ૄ":2,"ૢ":2,"ૣ":2,"ે":2,"ૈ":2,"ો":2,"ૌ":2,"ક":3,"ખ":3,"ગ":3,"ઘ":3,"ઙ":3,"ચ":3,"છ":3,"જ":3,"ઝ":3,"ઞ":3,"ટ":3,"ઠ":3,"ડ":3,"ઢ":3,"ણ":3,"ત":3,"થ":3,"દ":3,"ધ":3,"ન":3,"પ":3,"ફ":3,"બ":3,"ભ":3,"મ":3,"ય":3,"ર":3,"લ":3,"ળ":3,"વ":3,"શ":3,"ષ":3,"સ":3,"હ":3,"ઁ":4,"ઃ":4,"ઽ":4,"્":0,"ં":0}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/5469.adapter.js b/public/tools/cloud_sheets/vendor/univer/5469.adapter.js new file mode 100644 index 0000000..6a0f150 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/5469.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[5469],{5469(s,k,c){c.r(k),c.d(k,{Tr:()=>n});const n=["21,11,22,2,032,0044,014",'{"a":[{"a":4,"â":4,"e":4,"ı":4,"i":4,"î":4,"o":4,"ö":4,"u":4,"ü":4,"û":4},0],"â":[{"a":4,"â":4,"e":4,"ı":4,"i":4,"î":4,"o":4,"ö":4,"u":4,"ü":4,"û":4},0],"e":[{"c":[{"e":[{"k":[{".":2}]}]}],"a":4,"â":4,"e":4,"ı":4,"i":4,"î":4,"o":4,"ö":4,"u":4,"ü":4,"û":4},0],"ı":[{"a":4,"â":4,"e":4,"ı":4,"i":4,"î":4,"o":4,"ö":4,"u":4,"ü":4,"û":4},0],"i":[{"a":4,"â":4,"e":4,"ı":4,"i":4,"î":4,"o":4,"ö":4,"u":4,"ü":4,"û":4},0],"î":[{"a":4,"â":4,"e":4,"ı":4,"i":4,"î":4,"o":4,"ö":4,"u":4,"ü":4,"û":4},0],"o":[{"a":4,"â":4,"e":4,"ı":4,"i":4,"î":4,"o":4,"ö":4,"u":4,"ü":4,"û":4},0],"ö":[{"a":4,"â":4,"e":4,"ı":4,"i":4,"î":4,"o":4,"ö":4,"u":4,"ü":4,"û":4},0],"u":[{"a":4,"â":4,"e":4,"ı":4,"i":4,"î":4,"o":4,"ö":4,"u":4,"ü":4,"û":4},0],"ü":[{"a":4,"â":4,"e":4,"ı":4,"i":4,"î":4,"o":4,"ö":4,"u":4,"ü":4,"û":4},0],"û":[{"a":4,"â":4,"e":4,"ı":4,"i":4,"î":4,"o":4,"ö":4,"u":4,"ü":4,"û":4},0],"b":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"c":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"ç":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"d":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"f":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"g":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"ğ":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"h":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"j":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"k":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"l":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"m":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":[{"r":[{"a":[{"k":6}]}]},3],"v":3,"y":3,"z":3},1],"n":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"p":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"r":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"s":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"ş":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"t":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3,"u":[{"r":[{"k":5}]}]},1],"v":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"y":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"z":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/5510.adapter.js b/public/tools/cloud_sheets/vendor/univer/5510.adapter.js new file mode 100644 index 0000000..46ff708 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/5510.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[5510],{5510(s,o,l){l.r(o),l.d(o,{SrCyrl:()=>t});const t=["02,023,02342,032,042,0023,0034,004,0004,034,000023,000034,0002,003023,0032,00032,02323,00023,00034,0023023,00203,000032,0000023,0045,045,21,23,2,32,43,03",'{".":[{"ђ":0,"ћ":0,"ч":0,"ш":0,"ж":0,"а":[{"б":[{"а":[{"л":[{"и":[{"ј":1}]}],"н":[{"а":[{"ц":1}]}]}],"е":[{"р":[{"а":[{"ц":1}],"и":[{"р":1}]}],"в":[{"а":[{"к":1}]}]}],"и":[{"р":[{"и":[{"т":1}]}]}],"ј":[{"у":1}],"л":[{"а":1,"е":[{"г":1,"п":1}],"о":[{"к":1}],"у":1}],"о":[{"р":[{"и":[{"г":1}]}]}],"р":[{"е":[{"а":[{"к":1}]}],"о":[{"г":1}]}],"у":[{"з":[{"у":[{"с":1}]}]}]}],"д":[{"е":[{"р":[{"а":[{"ц":1}]}]}],"ј":1,"л":[{"а":[{"т":1}]}],"р":[{"е":[{"н":1}],"о":[{"г":1}]}],"в":[{"е":[{"р":[{"б":1}]}]}]}],"н":[{"а":[{"е":[{"р":[{"о":2}]}],"ф":[{"и":[{"ј":1,"л":[{"а":0}]}],"р":[{"о":[{"д":1}]}],"а":[{"з":0}],"о":[{"н":0,"р":0}]}],"г":[{"о":1,"е":[{"н":0}],"н":[{"о":0}],"р":[{"а":0}]}],"к":[{"у":[{"з":1}],"а":[{"л":0,"м":0,"т":0}],"е":[{"ф":0}],"л":[{"а":0,"и":0}],"о":[{"ј":0,"л":0}],"р":[{"о":[{"н":0}],"у":0}]}],"л":[{"д":1,"ф":[{"а":1}],"г":1,"е":[{"п":0}],"и":[{"с":0,"т":0,"з":0}]}],"м":[{"е":[{"р":[{"т":1}]}],"н":[{"е":0}]}],"н":[{"д":[{"р":1}],"т":1,"е":[{"о":0}]}],"п":[{"т":[{"о":1,"и":0}],"л":[{"а":0,"е":0}],"н":[{"е":0,"о":0}],"р":[{"о":0}]}],"р":[{"х":1,"т":0}],"б":[{"а":[{"п":0,"т":0,"з":0}],"и":[{"о":0}],"о":[{"л":0}]}],"д":[{"е":[{"м":0}],"и":[{"п":[{"л":0}]}],"о":[{"з":0}]}],"х":[{"о":[{"р":0}],"р":[{"о":0}]}],"с":[{"а":[{"р":0}],"е":[{"и":0}],"п":[{"а":[{"з":0}]}],"т":[{"а":0,"и":[{"г":0}],"о":[{"м":0}]}]}],"т":[{"и":[{"м":0}],"о":[{"ц":0,"м":0}],"р":[{"е":0,"и":0,"о":0}]}]}],"е":[{"г":[{"е":[{"р":1}]}],"к":[{"л":1,"у":[{"м":1}]}],"л":[{"е":[{"к":1}]}],"н":[{"е":[{"р":1}]}],"п":[{"и":1}],"р":[{"г":1,"и":[{"т":1}]}],"с":[{"т":[{"е":1}]}],"о":[{"р":0}]}],"и":[{"д":[{"р":1}],"р":[{"и":[{"д":1}]}],"з":[{"о":[{"г":1,"м":1}],"у":[{"р":1}]}]}],"ј":[{"о":[{"н":1}]}],"о":[{"ф":[{"т":1}],"к":[{"с":1}],"п":[{"и":[{"с":1}]}],"р":[{"г":1,"х":1}],"в":[{"а":[{"р":1}]}]}]}],"г":[{"н":[{"о":[{"с":3,"з":3}]}]}],"е":[{"р":[{"о":4}]}]}],"б":[{"е":[{"ш":[{"ћ":5,"ч":5}],"с":[{"ц":5,"к":[{"р":[{"у":[{"п":[{"у":[{"л":6}]}]}]}]},5],"п":[{"о":[{"к":[{"о":[{"ј":[{"а":6,"н":6}]}]}],"р":[{"а":6,"н":6}]}]},5],"т":[{"и":[{"д":6,"ј":[{"а":6}],"љ":6,"л":[{"у":6}]}],"р":[{"а":[{"н":[{"а":6}],"с":6}]}],"в":[{"а":[{"р":6}]}],"с":[{"е":[{"л":[{"е":[{"р":8}]}]}]}]},5]}],"з":[{"а":[{"л":[{"к":[{"о":[{"х":[{"о":[{"л":5}]}]}]}]}],"т":[{"о":[{"м":[{"с":[{"к":5}]}]}]}]}],"б":[{"е":[{"д":[{"а":6,"н":6}],"л":[{"и":6}]}],"ј":[{"е":[{"д":[{"а":6,"н":6}]}]}],"о":[{"л":6}]},5],"д":5,"г":5,"и":[{"с":[{"т":[{"а":[{"н":6}],"е":[{"н":6}]}]}]},5],"л":[{"о":[{"б":[{"а":6,"н":6}]}]},5],"љ":5,"м":5,"н":[{"а":[{"ч":[{"а":[{"ј":6}]}]}]},5],"њ":5,"о":5,"р":[{"а":[{"ч":[{"а":6,"н":6}]}]},5],"у":[{"б":6,"п":6},5],"в":[{"у":[{"ч":[{"а":6,"н":6}]}]},5],"ј":[{"а":[{"ч":6,"к":6}]}]}],"о":7}],"и":[{"о":7}]},0],"ц":0,"д":[{"и":[{"с":[{"а":[{"к":[{"о":[{"р":5}]}]}],"ј":[{"у":[{"н":[{"к":5}]}]}],"к":[{"о":[{"н":[{"т":5}],"р":[{"д":5}]}],"р":[{"е":5,"и":5}],"у":[{"р":5}],"в":[{"а":[{"л":5}]}]}],"л":[{"о":5}],"о":[{"р":[{"и":[{"ј":5}]}]}],"п":[{"а":[{"р":[{"и":[{"т":5}]}]}],"о":[{"н":5,"з":5}],"р":[{"о":[{"п":5}]}]}],"т":[{"о":[{"н":5}],"р":[{"а":[{"к":5}]}]}]}]}]},0],"џ":0,"ф":0,"г":[{"е":[{"о":7}]},0],"х":0,"и":[{"ш":[{"ћ":1,"ч":1}],"ж":[{"ђ":1}],"н":[{"а":[{"б":[{"р":[{"у":[{"п":1}]}]}],"д":[{"е":[{"к":1}]}],"ф":[{"е":[{"к":1}]}],"к":[{"ц":[{"е":1}],"у":[{"р":1}]}],"м":[{"о":[{"р":1}]}],"н":[{"и":[{"ц":1}]}],"п":[{"л":[{"и":[{"к":1}]}],"с":[{"т":1}]}],"р":[{"т":1}],"у":[{"г":[{"у":[{"р":1}]}],"р":[{"а":1}]}]}],"е":[{"д":1,"ф":[{"е":[{"к":1}]}],"г":1,"к":[{"с":1,"в":1}],"л":[{"и":[{"г":1}]}],"п":[{"ц":1}],"в":[{"и":[{"д":1}]}]}],"ј":[{"е":[{"к":1}],"у":[{"р":1,"с":[{"т":1}]}]}],"о":[{"б":[{"л":1}],"ф":[{"и":[{"ц":1}]}],"к":[{"у":[{"п":1}],"о":[{"р":0}]}],"п":[{"е":[{"р":1}],"о":[{"р":1}],"с":[{"е":1}]}],"г":[{"е":[{"н":0}]}]}],"у":[{"м":[{"б":[{"р":1}]}],"н":[{"д":[{"а":1}],"к":1}],"т":[{"и":[{"л":1}]}]}],"т":[{"е":[{"р":[{"а":10,"е":[{"ж":[{"џ":11}],"г":[{"н":11}],"с":[{"а":11,"е":11,"и":11,"н":11,"о":11,"у":11}]},10],"и":[{"ј":[{"е":11}]},10],"ј":[{"е":10}],"о":[{"г":[{"а":[{"т":11}]}]},10],"у":10}]}]}]}],"с":[{"ц":1,"к":[{"а":[{"к":9,"р":[{"и":[{"о":[{"т":9}]}]}],"т":9}],"и":[{"н":9,"т":[{"а":9}]}],"о":[{"ч":9,"н":[{"с":[{"к":9}]}]}],"р":[{"а":[{"м":9,"т":9}],"е":[{"н":9,"њ":9}],"и":[{"ч":9,"ш":9,"ц":9,"т":9}],"о":[{"ј":9}],"с":[{"а":9,"н":9}]}],"у":[{"п":[{"љ":[{"а":9}]}]}],"в":[{"а":[{"с":9}],"р":[{"ч":9}]}]},1],"п":[{"а":[{"љ":[{"и":[{"в":9}]}],"в":9}],"и":[{"р":[{"а":9}]}],"л":[{"и":[{"ћ":9,"т":9}]}],"о":[{"к":[{"о":[{"ј":9}]}],"л":[{"и":[{"н":9}]}],"н":9,"р":[{"а":[{"в":9}]}]}],"р":[{"а":[{"в":[{"а":9,"и":9,"к":9,"љ":9,"н":9}]}]}],"у":[{"п":[{"ч":9}],"р":9}]},1],"т":[{"а":[{"ћ":9,"к":[{"н":9}],"м":9,"р":9,"с":9,"в":[{"и":9,"љ":9}]}],"и":[{"ц":9,"ф":[{"а":[{"н":9}]}],"н":9,"р":9}],"о":[{"ч":[{"а":9,"н":9,"њ":9}],"к":9,"р":[{"и":9}]}],"р":[{"а":[{"д":9,"н":9,"в":9}],"и":[{"ћ":9,"ж":9,"ц":9}],"у":[{"г":9}]}],"у":[{"п":9}],"к":12},1],"л":[{"а":[{"б":9,"м":9}],"е":[{"ђ":9,"д":9}],"и":[{"ј":[{"е":[{"ђ":9,"д":9}]}],"к":9,"н":9}],"о":[{"в":9}],"у":[{"ш":9,"ж":9}]}],"љ":[{"е":[{"ђ":9,"д":9}]}],"м":[{"е":9,"и":[{"ј":[{"е":9}]}],"ј":[{"е":9}]}],"р":[{"е":[{"д":9}],"к":9}],"у":[{"ш":9,"к":9,"с":9,"т":9}]}],"з":[{"а":[{"б":[{"а":1}],"к":[{"а":1}],"н":[{"а":[{"л":1}]}],"г":[{"н":15}],"т":[{"к":15}]}],"б":[{"и":[{"ј":[{"а":1}],"в":[{"а":1}],"ч":[{"к":[{"а":[{"в":[{"а":9}]}]}]}]}],"а":[{"в":9}],"л":[{"е":[{"у":[{"ш":[{"а":[{"н":9}]}]}]}]}],"о":[{"ј":[{"а":[{"к":9}],"к":9}]}],"е":[{"з":[{"о":[{"б":[{"р":13}]}],"у":[{"м":13}]}]}]},1],"д":[{"а":[{"ј":1}],"р":[{"а":[{"в":9}]}],"н":[{"а":12,"о":12,"у":12}]},1],"г":[{"о":[{"м":[{"е":[{"т":9}]}]}],"р":[{"е":[{"д":9}],"н":9,"т":9}],"н":14},1],"и":[{"ђ":9,"д":9,"м":[{"и":9}]},1],"л":[{"о":[{"ж":9,"г":9,"п":[{"а":[{"ћ":9}]}],"з":9}]},1],"љ":1,"м":1,"н":[{"и":[{"м":9}],"о":[{"ј":9}]},1],"њ":1,"о":[{"л":[{"а":[{"ц":9,"т":9}],"и":[{"р":9}],"о":[{"в":9}],"е":[{"к":[{"с":7}]}],"у":[{"к":[{"с":7}]}]}],"а":[{"н":[{"е":[{"м":7}],"о":[{"м":7}]}]}],"б":[{"а":[{"т":7}],"р":[{"о":[{"н":7}]}]}],"д":[{"и":[{"м":7,"н":7}],"о":[{"з":7}]}],"ф":[{"о":[{"н":7,"т":7}]}],"г":[{"а":[{"м":7}],"е":[{"о":7}],"л":[{"о":[{"с":7}]}],"о":[{"н":7}],"р":[{"а":[{"ф":7}]}]}],"х":[{"а":[{"л":7,"з":7}],"е":[{"л":7}],"и":[{"ј":7,"м":7,"п":[{"с":7}],"т":7}],"о":[{"р":7}],"р":[{"о":7}]}],"к":[{"л":[{"и":[{"н":7}]}],"о":[{"л":[{"о":[{"н":7}]}]}]}],"м":[{"е":[{"р":7,"т":[{"р":7}]}],"о":[{"р":[{"ф":7}]}]}],"н":[{"е":[{"ф":7}],"о":[{"м":7}]}],"п":[{"а":[{"т":7}],"е":[{"р":7}],"л":[{"е":7}],"о":[{"л":7}],"с":[{"е":[{"ф":7}]}]}],"р":[{"а":[{"х":7}]}],"с":[{"е":[{"и":7}],"и":[{"н":[{"т":7}],"с":[{"т":7}]}],"к":[{"е":[{"л":7}],"о":[{"п":7}]}],"т":[{"а":[{"з":7}],"е":7}]}],"т":[{"а":[{"х":7,"л":7}],"е":[{"р":7}],"о":[{"н":7,"п":7}],"р":[{"о":7}]}]},1],"р":[{"а":[{"ч":[{"и":9}],"е":[{"л":9}],"и":[{"љ":9}]}],"к":12},1],"у":[{"н":9,"п":[{"ч":9}]},1],"в":[{"е":[{"д":[{"б":1,"е":1,"и":1,"н":1}]}],"а":[{"л":[{"а":9,"е":9,"и":9,"у":9}],"љ":[{"и":9}],"н":[{"е":[{"в":[{"р":13}]}]}]}],"и":[{"ж":[{"д":9}],"и":[{"с":[{"к":[{"р":9}]}]}],"ј":[{"а":9,"е":[{"н":9}]}],"н":9,"њ":9,"р":9,"т":[{"о":[{"п":9}]}]}],"ј":[{"е":[{"д":9}]}],"о":[{"ј":[{"а":[{"ц":9}],"ц":9}],"р":9}]},1],"ј":[{"е":[{"ж":[{"љ":9}]}]}]}]}],"ј":[{"у":[{"р":[{"и":[{"с":[{"к":10,"п":10}]}]}]}]}],"к":0,"љ":0,"м":0,"н":[{"а":[{"д":[{"ж":[{"а":[{"њ":5}],"д":[{"р":5}],"е":5,"и":[{"р":5,"в":5}],"њ":5,"у":[{"п":5}]}],"и":[{"г":[{"р":5}],"н":[{"ж":5,"а":5}],"с":[{"к":5}]}],"ј":[{"а":[{"ч":5,"х":5}],"е":[{"ч":5,"к":5,"з":5}],"у":[{"н":5}]}],"л":[{"а":[{"н":6}],"е":[{"ш":6,"ж":6}]},5],"љ":5,"о":[{"ч":5,"ф":[{"и":5}],"р":[{"а":5}],"с":[{"е":5,"ј":[{"е":5}],"о":5}]}],"р":[{"а":[{"ч":5,"ш":[{"ћ":5}],"н":5,"с":[{"т":5}]}],"е":[{"а":[{"л":5}],"п":5}],"у":[{"ч":5,"г":5,"к":5}]}],"у":[{"ч":5,"д":[{"а":[{"р":5}]}],"м":5}],"в":[{"а":[{"л":6}],"е":[{"с":[{"и":6,"т":6}]}],"и":[{"ј":6,"т":6}],"л":[{"а":6}],"о":[{"ј":[{"е":6}],"р":6}]},5],"н":[{"е":[{"в":14}],"и":[{"ч":14,"ц":14}]}]}],"ј":[{"а":[{"ш":6,"ж":[{"и":6}],"д":[{"а":6,"е":6,"и":6}],"х":6,"к":[{"а":6,"о":6}],"л":[{"о":6}],"м":[{"и":6,"л":6,"н":6}],"р":[{"ц":6,"и":6,"м":6}],"т":[{"и":6}],"у":[{"к":6}],"в":[{"а":6,"е":6,"и":6,"љ":6}],"з":[{"и":6}]},5],"е":[{"ж":[{"е":6,"и":6,"у":6}],"ц":6,"д":[{"а":6,"и":6,"н":6,"р":6}],"с":[{"т":[{"и":6}]}],"т":[{"к":6}],"з":[{"д":6,"н":6}]},5],"и":5,"о":5,"у":[{"р":[{"е":[{"н":6}],"и":6}]},5]}],"т":[{"к":[{"а":[{"х":14,"м":14,"с":[{"м":14,"т":14}]}]}]}],"г":[{"н":12,"њ":12}]}],"у":[{"с":[{"п":[{"о":[{"с":5}],"р":[{"о":5}]}]}],"з":[{"б":[{"е":[{"л":5}],"и":[{"љ":5}]}],"љ":[{"у":[{"б":5}]}],"р":[{"е":5,"ј":[{"е":5}]}],"у":[{"ж":5}]}]}]},0],"о":[{"б":[{"и":[{"г":[{"р":1}],"с":[{"т":[{"и":[{"н":1,"њ":1}]}]}]}],"ј":[{"е":[{"ш":9,"к":9,"р":9,"с":[{"и":9}],"т":9}]},1],"л":[{"а":[{"ј":1,"к":[{"ш":1}],"м":1,"с":[{"к":1}]}],"е":[{"ћ":1,"ж":1,"д":[{"е":[{"н":1}]}],"г":1,"п":1,"т":1}],"и":[{"ј":[{"е":[{"ж":1,"г":1,"п":1,"т":1}]}],"с":[{"т":1}],"в":1,"з":[{"а":[{"т":1,"в":1}],"и":1}]}],"о":[{"к":[{"а":1}]}],"у":[{"ч":1,"к":1}]}],"љ":[{"а":[{"н":9}],"у":[{"т":9,"з":9}]},1],"о":[{"р":[{"у":1}]}],"р":[{"ђ":9,"ч":9,"ш":9,"а":[{"ћ":9,"ш":[{"ч":9,"н":9}],"ж":[{"е":9}],"м":[{"б":9}],"н":9,"њ":9,"т":9,"з":[{"а":9,"д":9,"и":9,"н":9,"о":9,"у":9}]}],"е":[{"ђ":9,"ч":9,"ж":9,"ц":9,"д":9,"м":9,"с":9,"т":[{"и":9,"н":9}]}],"и":[{"ч":9,"ц":9,"ј":9,"с":9,"т":9,"в":9}],"к":9,"л":9,"љ":9,"н":9,"о":[{"ћ":9,"ч":9,"к":9,"н":9,"в":[{"а":9,"ц":9}]}],"с":9,"у":[{"ч":9,"ш":9,"к":9,"н":9,"с":9}]},1],"у":[{"ж":1,"б":[{"о":[{"ж":1}]}],"д":1,"м":[{"е":1,"и":1,"р":1}],"з":1}],"е":[{"ш":[{"ћ":17,"ч":17}],"с":[{"ц":17,"к":17,"п":17,"т":[{"а":[{"н":18}],"и":[{"ј":18}],"р":[{"а":[{"н":18}]}]},17]}],"з":[{"б":17,"д":17,"г":17,"ј":17,"л":17,"љ":17,"м":17,"н":[{"а":[{"ч":18,"н":18,"њ":18}]},17],"о":17,"р":17,"у":[{"б":18},17],"в":[{"и":[{"ј":18}]},17]}]}]}],"д":[{"ж":[{"а":[{"л":1,"љ":1}],"е":1,"и":1,"в":1}],"а":[{"р":[{"г":1}],"д":[{"н":15}],"г":[{"н":15}]}],"и":[{"з":[{"д":16,"в":16}],"г":[{"р":1}],"с":[{"к":1,"т":[{"и":1}]}]}],"ј":[{"е":[{"ћ":9,"н":9,"в":9}]},1],"л":[{"а":[{"ж":9,"г":9,"к":[{"а":9}],"з":9}],"у":[{"ч":9,"к":9}]},1],"љ":1,"о":[{"к":1,"н":[{"д":1,"л":1,"о":1,"у":1}],"з":[{"д":1,"г":1}]}],"р":[{"ж":9,"а":[{"ћ":9,"ч":[{"и":9}],"ж":9,"н":[{"а":9,"е":9,"и":9,"о":9,"у":9}],"п":[{"а":9,"и":9,"љ":9}],"з":9}],"е":[{"ђ":9,"д":9,"м":9,"н":9}],"и":[{"ч":9,"ш":9,"б":9,"ц":9,"н":9,"њ":9}],"л":9,"љ":9,"н":9,"о":[{"н":9,"њ":9}],"п":9,"т":9,"у":[{"ж":9,"г":9}],"в":[{"е":[{"ч":9,"н":9,"њ":9}]}]},1],"у":[{"ч":1,"к":1,"л":1,"м":1,"в":[{"е":1,"и":1}],"з":[{"д":1,"е":1,"и":1,"л":1}]}],"в":[{"а":[{"ж":9,"ј":9}],"е":[{"с":[{"а":9,"н":9,"т":9}]}],"и":[{"ћ":9,"к":[{"а":[{"в":9}],"н":9}],"с":9}],"о":[{"ј":9}]},1],"г":[{"н":14}],"м":[{"н":14}]}],"т":[{"к":[{"а":[{"х":3,"м":3,"с":[{"м":3,"т":3}]}]}]}]}],"п":[{"о":[{"д":[{"а":[{"д":[{"м":5}]}],"и":[{"г":[{"р":5}],"з":[{"в":5}]}],"ј":[{"е":[{"ч":6,"н":6}]},5],"л":[{"а":[{"к":[{"а":[{"т":5}],"т":5}]}],"е":[{"ћ":5,"ж":5,"г":5,"п":5,"т":5}],"и":[{"ј":[{"е":[{"ћ":5,"ж":5,"г":5,"п":5,"т":5}]}],"с":[{"т":5}],"з":5}],"о":[{"к":5,"м":5}],"у":[{"ч":5,"ж":5,"п":5}]}],"љ":[{"у":[{"т":5}]}],"о":[{"ч":5,"ш":5,"ф":5,"к":[{"н":5}]}],"р":[{"а":[{"з":[{"д":19,"р":5,"у":5}],"д":5,"м":5,"н":5,"њ":5,"с":5,"в":[{"н":5,"њ":5}]}],"е":[{"п":5,"с":5,"з":5}],"и":[{"к":5,"т":5}],"о":[{"ж":5,"н":5,"в":5}],"у":[{"ч":[{"а":5,"и":5,"н":5}],"б":5,"к":5}]}],"у":[{"п":[{"л":[{"а":5}]}],"с":[{"м":5,"н":5}]}],"в":[{"а":[{"р":[{"и":[{"ј":5}]}]}],"е":[{"ч":5,"ж":5,"з":5}],"и":[{"к":5,"л":5,"р":5}],"л":[{"а":[{"ш":5,"с":5}]}],"о":[{"ђ":5,"ж":5,"д":5,"з":5}],"р":[{"ћ":5,"ж":5,"а":[{"ћ":5,"т":5}],"г":5,"и":[{"с":5}],"с":5}],"у":[{"ћ":5}]}],"н":[{"е":[{"в":14}]}]}],"с":[{"т":[{"е":[{"г":[{"з":20}]}],"и":[{"н":[{"д":[{"у":20}]}]}],"л":[{"и":[{"м":20}]}],"о":[{"н":[{"к":20}],"п":[{"е":[{"р":20}]}]}]}]}],"г":[{"н":14}],"м":[{"н":14,"њ":14}],"р":[{"ђ":14}],"т":[{"к":[{"а":[{"х":14,"м":14,"т":14,"в":14}]}]}]}],"р":[{"е":[{"д":[{"ж":[{"е":17,"и":17}],"и":[{"д":17,"г":[{"р":17}],"с":[{"п":[{"и":17}],"т":[{"о":17,"р":17}]}],"з":[{"б":17}]}],"ј":[{"е":[{"н":18}]},17],"о":[{"б":[{"ј":17}],"д":[{"р":[{"е":17}]}],"к":[{"у":[{"с":17}]}],"с":[{"е":17,"ј":[{"е":17}],"в":17}]}],"р":[{"а":[{"ч":17,"д":17,"т":17}],"у":[{"ч":17}]}],"у":[{"б":[{"е":[{"ђ":17}],"и":[{"ј":[{"е":[{"ђ":17}]}]}],"ј":[{"е":[{"ђ":17}]}]}],"д":[{"а":[{"р":17}]}],"г":[{"о":[{"в":17}]}],"п":[{"и":[{"с":17}]}],"с":[{"л":[{"о":17}]}],"в":[{"е":[{"р":17}],"ј":[{"е":[{"р":17,"т":17}]}]}]}],"в":[{"а":[{"ј":18,"р":18}],"е":[{"с":[{"т":18}]}],"о":[{"ј":[{"а":18,"е":18,"и":18}],"р":18,"с":18}]},17],"м":[{"н":21,"њ":21}]}],"т":[{"к":[{"а":[{"х":15,"м":15,"т":15}]}]}]}],"о":[{"г":[{"н":15}],"т":[{"к":[{"а":15,"и":15}],"и":[{"в":[{"а":[{"к":[{"ц":22}]}],"о":[{"ф":22,"т":[{"р":22}]}],"р":22,"у":[{"д":22,"с":22}]}]}]}]}]}]}],"р":[{"а":[{"ш":[{"ћ":[{"е":[{"њ":6}]},5],"ч":[{"и":[{"ћ":6}]},5]}],"ж":[{"ђ":5}],"с":[{"ц":5,"к":[{"а":[{"к":6,"н":[{"д":6}]}],"и":[{"н":6}],"л":[{"а":[{"д":6,"њ":6,"п":6}],"о":[{"н":6,"п":[{"а":6,"и":6,"љ":6}]}]}],"о":[{"ш":6}],"р":[{"о":[{"п":6}]}]},5],"п":[{"а":[{"ј":6,"в":6}],"е":[{"т":[{"а":6,"е":6,"и":6,"о":6}]}],"и":[{"к":[{"у":6}],"њ":6}],"л":[{"и":[{"н":6,"њ":6}]}],"н":6,"о":[{"л":[{"о":[{"ж":6}]}],"н":6,"р":6}],"р":[{"а":[{"в":6}],"е":[{"м":6}]}]},5],"т":[{"а":[{"ј":6,"н":6,"т":6,"в":6}],"е":[{"њ":6}],"и":[{"л":6,"њ":6,"р":6,"с":6,"т":6}],"о":[{"ј":6}],"р":[{"е":[{"л":6,"т":6}],"о":[{"ј":6}],"т":6}],"у":[{"ћ":6,"п":6,"р":[{"ч":23},6]}]},5],"р":[{"ђ":6,"д":6,"е":6}]}],"з":[{"а":[{"н":[{"а":[{"л":5}]}],"г":[{"н":21}],"т":[{"к":[{"а":21}]}]}],"б":[{"а":[{"ш":[{"у":[{"р":6}]}],"д":6,"н":6,"р":6,"у":6}],"о":[{"ј":6,"р":6}]},5],"д":[{"н":[{"и":15}]},5],"е":[{"в":6},5],"г":[{"а":[{"ђ":6}],"р":[{"т":6}],"н":15},5],"и":[{"ђ":6,"ћ":6,"д":6,"ј":6,"н":6,"р":6,"з":6},5],"л":[{"а":[{"г":6,"з":6}],"и":[{"ч":6,"к":6}],"о":[{"ж":6,"г":6,"з":6}]},5],"љ":5,"м":[{"е":[{"ћ":6,"т":6}],"р":[{"с":[{"к":6}]}]},5],"н":[{"а":[{"т":6}]},5],"њ":5,"о":[{"б":[{"а":5,"л":5,"р":5}],"д":5,"р":[{"а":[{"т":5,"в":5}],"т":5,"у":5}],"т":5}],"р":[{"е":[{"д":6}],"о":[{"ч":6,"к":6}]},5],"у":[{"д":[{"а":5,"б":5,"и":5}],"л":[{"а":[{"р":5}]}],"м":[{"р":5}],"в":[{"е":5}],"з":[{"д":5,"е":5,"и":5}]}],"в":[{"а":[{"л":6}],"е":[{"д":[{"е":6}],"с":[{"т":6}]}],"и":[{"ћ":6,"г":[{"о":6}],"ј":[{"а":6,"е":6,"у":6}],"т":6}],"о":[{"ј":6,"н":6}],"р":[{"ћ":6,"а":[{"ћ":6,"т":6}],"т":6}]},5]}]}]},0],"с":[{"у":[{"б":[{"а":[{"ш":6},5],"и":[{"н":[{"в":5}]}],"ј":[{"у":[{"н":[{"к":5}]}]}],"л":5,"о":[{"к":[{"с":5}],"р":[{"д":5}]}],"р":[{"е":[{"п":5}],"о":[{"г":5}]}]}],"п":[{"е":[{"р":[{"а":10,"е":10,"и":[{"о":[{"р":11}]},10],"о":10,"у":10}]}]}]}]},0],"т":[{"р":[{"а":[{"н":[{"с":[{"а":10,"ц":10,"е":[{"п":11},10],"к":[{"р":[{"и":11}]},10],"л":10,"м":10,"н":10,"о":10,"п":10,"т":10,"у":[{"д":11,"м":11},10],"в":10}]}]}]}]}],"у":[{"ш":[{"ћ":1,"ч":1}],"с":[{"ц":1,"к":[{"а":[{"к":9}],"л":[{"а":[{"ђ":9,"д":9}]}],"о":[{"ш":24,"к":[{"о":24}],"л":[{"е":24,"у":24}],"м":24,"п":[{"а":24}],"р":[{"а":24}],"с":[{"и":24}],"т":[{"р":24}],"в":24},9],"у":[{"п":9}]},1],"п":[{"а":[{"л":[{"о":9}],"в":9}],"е":[{"ш":9,"х":9,"л":9,"м":9,"н":[{"т":9}],"т":9,"в":9}],"и":[{"ј":[{"а":9,"е":9,"у":[{"ш":9}]}],"к":[{"у":[{"ш":9}]}]}],"ј":[{"е":[{"ш":9,"х":9,"л":9,"м":9,"т":9,"в":9}]}],"о":[{"н":9,"р":[{"а":9,"е":[{"ч":9,"н":9,"њ":9}],"и":9}],"с":[{"о":[{"б":9}]}]}],"р":[{"е":[{"м":[{"а":9,"и":9}]}]}]},1],"т":[{"а":[{"л":[{"а":[{"с":1}]}],"р":[{"а":1}]}],"е":[{"ћ":1,"г":1,"р":1}],"о":[{"в":1}],"р":[{"ћ":1,"ч":1,"а":[{"ј":1,"л":1}],"е":[{"б":1,"п":1,"с":1}],"г":1,"к":1,"н":1,"п":1}],"у":[{"ћ":1,"м":1,"р":1}],"в":[{"р":[{"ђ":1,"д":1}]}]}],"р":[{"ђ":9,"ж":9,"а":9,"д":9,"е":9,"и":[{"ј":[{"е":[{"д":9}]}]}],"к":9,"љ":9,"н":9,"п":9}]}],"з":[{"б":[{"о":[{"р":9}]},1],"д":[{"и":[{"ц":9}]},1],"г":1,"и":[{"г":[{"р":1}],"н":[{"а":[{"т":1}]}],"с":[{"к":[{"р":1}]}]},1],"л":[{"а":[{"н":9,"т":9}],"и":[{"ћ":9,"ц":9,"м":9,"т":9}],"о":[{"в":9}],"у":[{"д":[{"о":[{"б":9}]}]}]},1],"љ":1,"м":1,"н":[{"а":[{"ч":9,"к":9}],"е":[{"в":[{"е":9,"ј":[{"е":9}]}]}],"и":[{"ч":9,"ц":9}],"о":[{"ј":9}]},1],"њ":1,"о":[{"б":[{"е":[{"с":[{"т":1}]}],"и":[{"ј":[{"е":[{"с":[{"т":1}]}]}]}]}],"х":[{"о":1}],"р":[{"а":[{"т":1,"в":1}]}]}],"р":[{"е":[{"т":9,"в":9}],"и":[{"ј":[{"е":[{"т":9,"в":9}]}]}],"н":9,"њ":9,"о":[{"ч":9,"к":[{"а":9,"о":9,"у":9}]}],"у":[{"ј":9}]},1],"у":[{"г":[{"а":[{"р":1}]}]}],"в":[{"а":[{"н":9,"т":9}],"и":[{"ж":9,"ј":[{"а":9,"е":9,"о":9,"у":9}]}],"о":[{"ј":9}]},1],"а":[{"т":[{"к":[{"а":15}]}]}]}],"г":[{"м":[{"и":3}],"н":3}]}],"в":[{"а":[{"н":[{"е":[{"в":[{"р":5}]}],"у":[{"с":[{"т":[{"а":[{"в":5}]}]}]}]}]}]}],"з":[{"а":[{"г":[{"н":14}],"т":[{"к":[{"а":14}]}]}]},0]}],"ђ":[{"ђ":25,"ћ":25,"ч":25,"ш":25,"ж":25,"б":25,"ц":25,"д":25,"џ":25,"ф":25,"г":25,"х":25,"к":25,"љ":25,"м":25,"н":25,"р":25,"с":25,"з":25}],"ћ":[{"ђ":25,"ћ":25,"ч":25,"ш":25,"ж":25,"б":25,"ц":25,"д":25,"џ":25,"ф":25,"г":25,"х":25,"к":25,"љ":25,"м":25,"н":25,"р":25,"с":25,"з":25}],"ч":[{"ђ":25,"ћ":25,"ч":25,"ш":25,"ж":25,"б":25,"ц":25,"д":25,"џ":25,"ф":25,"г":25,"х":25,"ј":25,"к":25,"љ":25,"м":25,"н":25,"р":25,"с":25,"т":25,"з":25,"в":[{"ј":26,"л":26,"љ":26,".":27},0],"л":[{"а":[{"н":28,"њ":28}]}]}],"ш":[{"ђ":25,"ш":25,"ж":25,"б":25,"д":25,"џ":25,"ф":25,"г":25,"х":25,"ј":25,"р":25,"с":25,"з":25,"ч":[{"в":26,".":27,"ћ":27,"ч":27,"ш":27,"ж":27,"б":27,"ц":27,"д":27,"џ":27,"ф":27,"г":27,"х":27,"ј":27,"к":27,"љ":27,"м":27,"н":27,"р":27,"с":27,"т":27,"з":27},0],"ц":[{"ј":26,"в":26,".":27,"ћ":27,"ч":27,"ш":27,"ж":27,"б":27,"ц":27,"д":27,"џ":27,"ф":27,"г":27,"х":27,"к":27,"љ":27,"м":27,"н":27,"р":27,"с":27,"т":27,"з":27}],"м":[{"ј":26,"л":26,"љ":26,".":27,"ђ":27,"ч":27,"ш":27,"ж":27,"б":27,"ц":27,"д":27,"џ":27,"ф":27,"г":27,"х":27,"к":27,"м":27,"н":27,"с":27,"т":27,"з":27},0],"п":[{"ј":26,"л":26,"љ":26,".":27,"ђ":27,"ч":27,"ш":27,"ж":27,"б":27,"ц":27,"д":27,"џ":27,"ф":27,"г":27,"х":27,"к":27,"м":27,"н":27,"с":27,"т":27,"з":27},0],"т":[{"ј":26,"л":26,"љ":26,".":27,"ђ":27,"ч":27,"ш":27,"ж":27,"б":27,"ц":27,"д":27,"џ":27,"ф":27,"г":27,"х":27,"к":27,"м":27,"н":27,"с":27,"т":27,"з":27},0],"в":[{"л":26,"љ":26,".":27,"ђ":27,"ч":27,"ш":27,"ж":27,"б":27,"ц":27,"д":27,"џ":27,"ф":27,"г":27,"х":27,"к":27,"м":27,"н":27,"с":27,"т":27,"з":27},0],"ћ":[{".":27}],"к":[{".":27,"ђ":27,"ћ":27,"ч":27,"ш":27,"ж":27,"б":27,"ц":27,"д":27,"џ":27,"ф":27,"г":27,"х":27,"к":27,"м":27,"н":27,"с":27,"т":27,"з":27}],"љ":[{".":27},0],"н":[{".":27},0],"л":0}],"ж":[{"ћ":25,"ч":25,"ш":25,"ж":25,"ц":25,"џ":25,"ф":25,"х":25,"ј":25,"к":25,"р":25,"с":25,"т":25,"з":25,"б":[{"ј":26,"л":26,"љ":26,"р":26,".":27,"ђ":27,"ч":27,"ш":27,"ж":27,"б":27,"ц":27,"д":27,"џ":27,"ф":27,"г":27,"х":27,"к":27,"м":27,"н":27,"с":27,"т":27,"з":27},0],"д":[{"ј":26,"л":26,"љ":26,"в":26,".":27,"ч":27,"ш":27,"б":27,"ц":27,"д":27,"џ":27,"ф":27,"г":27,"х":27,"к":27,"м":27,"н":27,"с":27,"т":27,"з":27},0],"г":[{"ј":26,"л":26,"љ":26,"р":26,"в":26,".":27,"ч":27,"ш":27,"ж":27,"б":27,"ц":27,"д":27,"џ":27,"ф":27,"г":27,"х":27,"к":27,"м":27,"н":27,"с":27,"т":27,"з":27},0],"м":[{"ј":26,"л":26,"љ":26,"р":26,".":27,"ђ":27,"ч":27,"ш":27,"ж":27,"б":27,"ц":27,"д":27,"џ":27,"ф":27,"г":27,"х":27,"к":27,"м":27,"н":27,"с":27,"т":27,"з":27},0],"в":[{"л":26,"љ":26,"ђ":27,"ч":27,"ш":27,"ж":27,"б":27,"ц":27,"д":27,"џ":27,"ф":27,"г":27,"х":27,"к":27,"м":27,"н":27,"с":27,"т":27,"з":27},0],"ђ":[{".":27},0],"л":[{".":27},0],"љ":[{".":27},0],"н":[{".":27},0],"њ":[{".":27}]}],"а":[{"а":30,"е":30,"и":30,"о":30,"у":30},25],"б":[{"ђ":25,"ћ":25,"ч":25,"ш":25,"ж":25,"б":25,"ц":25,"д":[{"е":[{"њ":28,"т":28}],"ј":[{"е":[{"њ":28,"т":28}]}]},25],"џ":25,"ф":25,"г":25,"х":25,"к":25,"м":25,"н":25,"с":25,"т":25,"з":25,"ј":[{".":27},0],"л":[{".":27},0],"љ":[{".":27},0],"р":[{".":27},0]}],"ц":[{"ђ":25,"ћ":25,"ч":25,"ш":25,"ж":25,"б":25,"ц":25,"д":25,"џ":25,"ф":25,"г":25,"х":25,"к":25,"љ":25,"м":[{"а":[{"ч":28,"к":28}],"и":[{"з":28}],"о":[{"к":28}]},25],"н":25,"с":25,"т":25,"з":25,"в":[{"л":26,"љ":26,".":27},0],"ј":[{".":27},0],"р":[{".":27},0]}],"д":[{"ђ":25,"ћ":25,"ч":25,"ш":25,"б":25,"ц":25,"д":25,"џ":25,"ф":25,"г":25,"х":25,"к":25,"м":25,"н":25,"с":25,"т":25,"з":25,"в":[{"л":26,"љ":26,"р":26,".":27},0],"ј":[{".":27},0],"л":[{".":27},0],"љ":[{".":27},0],"р":[{".":27},0],"ж":0}],"џ":[{"ђ":25,"ћ":25,"ч":25,"ш":25,"ж":25,"б":25,"ц":25,"д":25,"џ":25,"ф":25,"г":25,"х":25,"ј":25,"к":25,"љ":25,"м":25,"н":25,"р":25,"с":25,"т":25,"з":25,".":27}],"е":[{"а":30,"е":30,"и":30,"о":30,"у":30},25],"ф":[{"ђ":25,"ћ":25,"ч":25,"ш":25,"ж":25,"б":25,"ц":25,"д":25,"џ":25,"ф":25,"г":25,"х":25,"к":25,"м":25,"н":25,"с":25,"т":25,"з":25,"ј":[{".":27},0],"л":[{".":27},0],"љ":[{".":27},0],"р":[{".":27},0]}],"г":[{"ђ":25,"ћ":25,"ч":25,"ш":25,"ж":25,"б":25,"ц":25,"д":[{"е":[{"г":[{"о":[{"д":[{".":28}]}]}],"к":[{"а":[{"д":28,"к":28}]}]}],"ј":[{"е":[{"г":[{"о":[{"д":[{".":28}]}]}],"к":[{"а":[{"д":28,"к":28}]}]}]}]},25],"џ":25,"ф":25,"г":25,"х":25,"к":25,"м":[{"и":[{"л":28,"љ":28,"з":28}]},25],"н":[{"а":[{"ј":28}],"е":[{"ж":[{"ђ":28}],"в":28,"з":[{"д":28}]}],"и":[{"ј":[{"е":[{"ж":[{"ђ":28}],"з":[{"д":28}]}]}]}],"о":[{"ј":28,"с":28,"з":28}]},25],"с":25,"т":25,"з":25,"в":[{"ј":26,"л":26,"љ":26,"р":26,".":27},0],"ј":[{".":27}],"л":[{".":27},0],"љ":[{".":27},0],"р":[{".":27},0],"њ":[{"а":[{"в":28}],"е":[{"ч":28,"с":28,"т":28,"в":28}],"и":[{"л":28,"љ":28,"о":28,"т":28}],"у":[{"р":28}]}]}],"х":[{"ђ":25,"ћ":25,"ч":25,"ш":25,"ж":25,"б":25,"ц":25,"д":25,"џ":25,"ф":25,"г":25,"х":25,"к":25,"м":25,"н":25,"с":25,"т":[{"е":[{"л":28,"њ":28,"т":[{"и":28}],"в":28}],"ј":[{"е":[{"л":28,"њ":28,"т":[{"и":28}],"в":28}]}]},25],"з":25,"в":[{"ј":26,"л":26,"љ":26,"р":26,".":27,"ђ":27,"ч":27,"ш":27,"ж":27,"б":27,"ц":27,"д":27,"џ":27,"ф":27,"г":27,"х":27,"к":27,"м":27,"н":27,"с":27,"т":27,"з":27},0],"ј":[{".":27}],"л":[{".":27},0],"љ":[{".":27},0],"р":[{".":27},0]}],"и":[{"а":30,"е":30,"и":30,"о":30,"у":30},25],"ј":[{"ђ":25,"ћ":25,"ч":25,"ш":25,"ж":25,"б":25,"ц":25,"д":25,"џ":25,"ф":25,"г":25,"х":25,"ј":25,"к":25,"љ":25,"м":25,"н":25,"р":25,"с":25,"т":25,"з":25}],"к":[{"ђ":25,"ћ":25,"ч":25,"ш":25,"ж":25,"б":25,"ц":25,"д":25,"џ":25,"ф":25,"г":25,"х":25,"к":25,"м":25,"н":[{"е":[{"ж":28,"з":28}]},25],"с":25,"т":25,"з":25,"в":[{"ј":26,"л":26,"љ":26,".":27},0],"ј":[{".":27}],"л":[{".":27},0],"љ":[{".":27},0],"р":[{".":27},0],"њ":[{"и":[{"ж":28,"г":28}]}]}],"љ":[{"ђ":25,"ћ":25,"ч":25,"ш":25,"ж":25,"б":25,"ц":25,"д":25,"џ":25,"ф":25,"г":25,"х":25,"ј":25,"к":25,"љ":25,"м":25,"н":25,"р":25,"с":25,"т":25,"з":25}],"м":[{"ђ":25,"ћ":25,"ч":25,"ш":25,"ж":25,"б":25,"ц":25,"д":25,"џ":25,"ф":25,"г":25,"х":25,"к":25,"м":25,"н":[{"а":[{"ж":28}],"о":[{"ж":28,"г":28}]},25],"с":25,"т":25,"з":25,"ј":[{".":27}],"л":[{".":27},0],"љ":[{".":27},0],"р":[{".":27},0]}],"н":[{"ђ":25,"ћ":25,"ч":25,"ш":25,"ж":25,"б":25,"ц":25,"д":25,"џ":25,"ф":25,"г":25,"х":25,"к":25,"љ":25,"м":25,"н":25,"р":25,"с":25,"т":25,"з":25,"е":[{"г":[{"д":[{"е":[{".":14}],"ј":[{"е":[{".":14}]}]}]}]}],"и":[{"г":[{"д":[{"е":[{".":14}],"ј":[{"е":[{".":14}]}]}]}]}]}],"о":[{"а":30,"е":30,"и":30,"о":30,"у":30},25],"п":[{"ј":[{".":27},0],"л":[{".":27},0],"љ":[{".":27},0],"р":[{".":27},0],"с":[{"и":[{"ч":28,"к":28}],"о":[{"в":28}],"у":[{"ј":28}]}]}],"р":[{"ђ":[{"а":28},25],"ћ":25,"ч":25,"ш":25,"ж":25,"б":25,"ц":25,"д":25,"џ":25,"ф":25,"г":25,"х":25,"ј":[{"е":[{".":29,"м":29}]},25],"к":25,"љ":25,"м":25,"н":25,"р":25,"с":25,"т":25,"з":25}],"с":[{"ђ":25,"ћ":25,"ч":25,"ш":25,"ж":25,"б":25,"д":25,"џ":25,"ф":[{"е":[{"р":28}]},25],"г":25,"х":25,"с":25,"з":25,"к":[{"ј":26,"љ":26,".":27,"ђ":27,"ћ":27,"ч":27,"ш":27,"ж":27,"б":27,"ц":27,"д":27,"џ":27,"ф":27,"г":27,"х":27,"к":27,"м":27,"н":27,"с":27,"т":27,"з":27},0],"т":[{"л":26,".":27,"ђ":27,"ћ":27,"ч":27,"ш":27,"ж":27,"б":27,"ц":27,"д":27,"џ":27,"ф":27,"г":27,"х":27,"к":27,"м":27,"н":27,"п":27,"с":27,"т":27,"з":27}],"в":[{"љ":26,".":27,"ђ":27,"ћ":27,"ч":27,"ш":27,"ж":27,"б":27,"ц":27,"д":27,"џ":27,"ф":27,"г":27,"х":27,"к":27,"м":27,"н":27,"п":27,"с":27,"т":27,"в":27,"з":27},0],"ц":[{".":27,"ђ":27,"ћ":27,"ч":27,"ш":27,"ж":27,"б":27,"ц":27,"д":27,"џ":27,"ф":27,"г":27,"х":27,"к":27,"љ":27,"м":27,"н":27,"р":27,"с":27,"т":27,"з":27},0],"ј":[{".":27}],"л":[{".":27},0],"љ":[{".":27},0],"м":[{".":27,"ђ":27,"ћ":27,"ч":27,"ш":27,"ж":27,"б":27,"ц":27,"д":27,"џ":27,"ф":27,"г":27,"х":27,"к":27,"м":27,"н":27,"с":27,"т":27,"з":27},0],"н":[{".":27},0],"њ":[{".":27}],"п":[{".":27,"ђ":27,"ћ":27,"ч":27,"ш":27,"ж":27,"б":27,"ц":27,"д":27,"џ":27,"ф":27,"г":27,"х":27,"к":27,"м":27,"н":27,"п":27,"с":27,"т":27,"в":27,"з":27},0],"р":[{".":27},0]}],"т":[{"ђ":25,"ћ":25,"ч":25,"ш":25,"ж":25,"б":25,"ц":25,"д":25,"џ":25,"ф":25,"г":25,"х":25,"к":25,"м":[{"а":[{"с":[{"т":28}]}],"у":[{"л":28,"љ":28,"о":28,"р":28}]},25],"н":25,"п":25,"с":25,"т":25,"з":25,"в":[{"ј":26,"л":26,"љ":26,".":27},0],"ј":[{".":27},0],"л":[{".":27},0],"љ":[{".":27}],"р":[{".":27}]}],"у":[{"а":30,"е":30,"и":30,"о":30,"у":30},25],"в":[{"ђ":25,"ћ":25,"ч":25,"ш":25,"ж":25,"б":25,"ц":25,"д":25,"џ":25,"ф":25,"г":25,"х":25,"к":25,"м":25,"н":25,"п":25,"с":25,"т":25,"в":25,"з":25,"ј":[{".":27}],"л":[{".":27},0],"љ":[{".":27},0],"р":[{".":27},0]}],"з":[{"ђ":25,"ћ":25,"ч":25,"ш":25,"ж":25,"ц":25,"џ":25,"ф":25,"х":25,"к":25,"п":25,"с":25,"з":25,"б":[{"љ":26,".":27,"ђ":27,"ћ":27,"ч":27,"ш":27,"ж":27,"б":27,"ц":27,"д":27,"џ":27,"ф":27,"г":27,"х":27,"к":27,"м":27,"н":27,"п":27,"с":27,"в":27,"з":27},0],"д":[{"л":26,"љ":26,"в":26,".":27,"ђ":27,"ћ":27,"ч":27,"ш":27,"б":27,"ц":27,"д":27,"џ":27,"ф":27,"г":27,"х":27,"к":27,"м":27,"н":27,"п":27,"с":27,"з":27},0],"г":[{"ј":26,"љ":26,".":27,"ђ":27,"ћ":27,"ч":27,"ж":27,"б":27,"ц":27,"д":27,"џ":27,"ф":27,"г":27,"х":27,"к":27,"м":27,"н":27,"п":27,"с":27,"з":27},0],"м":[{"л":26,"р":26,".":27,"ђ":27,"ћ":27,"ч":27,"ш":27,"ж":27,"б":27,"ц":27,"д":27,"џ":27,"ф":27,"г":27,"х":27,"к":27,"м":27,"н":27,"п":27,"с":27,"в":27,"з":27},0],"в":[{"л":26,"љ":26,".":27,"ђ":27,"ћ":27,"ч":27,"ш":27,"ж":27,"б":27,"ц":27,"д":27,"џ":27,"ф":27,"г":27,"х":27,"к":27,"м":27,"н":27,"п":27,"с":27,"в":27,"з":27},0],"ј":[{".":27},0],"л":[{".":27},0],"љ":[{".":27},0],"н":[{".":27},0],"њ":[{".":27}],"р":[{".":27},0]}],"л":[{"ј":0}]}',"на-дно.на-тка.на-тка-ти.на-тка-ше.о-дно.о-тка.о-тка-ти.о-тка-ше.по-дно.по-дне.по-тку.по-тки.по-тке.по-тка.у-дно.и-где.и-гдје.сву-где.све-где.сву-гдје.све-гдје.по-не-где.по-не-гдје.и-зби.и-збе.и-зба.и-зби-ци.и-зби-це.и-зби-ца.и-звит.и-зим.изо-ба-ру.изо-ба-ри.изо-ба-ре.изо-ба-ра.и-скок.и-ско-ку.и-ско-ка.и-скон.и-ско-ну.и-ско-ни.и-ско-на.и-скру.и-скре.и-скри.и-скра.и-скрав.и-спод.и-спо-да.и-стру.и-стри.и-стро.и-стре.и-стра.на-ју.на-ји.на-јо.на-је.на-ја.на-јам.на-јест.о-браз.о-брет.о-дви-ка.о-дран.о-дра-ти.пре-двој.ра-зму.ра-зми.ра-змо.ра-зме.ра-зма.ра-зну.ра-зни.ра-зно.ра-зне.ра-зна.ра-склоп.ра-спе-лу.ра-спе-ло.ра-спе-ла.ра-спе-ћа.ра-спе-ћу.ра-спе-ће.ра-сту.ра-сти.ра-сте.ра-ста.ра-стом.ра-стер.ра-шћу.ра-шћи.ра-шћо.ра-шће.ра-шћа.у-зно.у-зна.у-зни.у-зник.у-зрок.у-ску.у-ски.у-ско.у-ске.у-ска.ус-кос.у-спио.у-спео.у-спор.у-шћу.у-шће.у-шћа.ин-те-рес.тран-су.тран-са.тран-сом.те-ле-ви-зор.те-ле-ви-зо-ру.те-ле-ви-зо-ром.те-ле-ви-зо-ра.те-ле-ви-зо-ри.при-ти-сак.при-ти-с-ком.при-ти-с-ку.при-ти-с-ка.по-ја-ви-ће.на-пу-шта.про-гра-ми-ра-ње.сни-ма-ња.сни-ма-ње".split(".")]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/5629.adapter.js b/public/tools/cloud_sheets/vendor/univer/5629.adapter.js new file mode 100644 index 0000000..3b1c29b --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/5629.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[5629],{5629(e,a,s){s.r(a),s.d(a,{Nn:()=>r});const r=["04,004,007,0065,006,00004,008,002,0012,0054,0058,06,003,0063,000005,005,00007,00005,00003,00056,0056,0067,0005,0004,0003,0044,0045,00066,0002,0016,00047,0006,0008,000009,0034,009,00006,0024,05,0009,0076,00043,00054,000043,00000346,00000984,00008,00065,000808,00009,0000076,00000007,0036,00045,0001,00634,00745,0096,000007,0083,0074,0007,00078,000505,00087,00034,000078,0032,00505,001,0066,00104,006005,000565,00805,00036,0000565,00076,000054,00605,000056,00000009,00032,00656,0098,0043,00085,000605,02,034,03,000008,036,08,0078,058,067,065,000878,00403,0000058,00565,000305,000004,00041,000087,000545,0023,000876,0087,000807,0068,00058,0064,00263,00304,000065,000365,0047,0048,000006,0046,0052,0000006,000034,000058,00807,00067,000076,0021,0022,00096,000544,004004,00074,0004565,000456,00000098,0000056,0000005,086,0000078,006565,00098,00063,0000065,00038,0000656,00089,056,012,032,07,01,016,09,022,0030065,00454,00000008,00046,064,4,00406,3,0509,5,8,6,045,0000007,0504,1,2,212,87,00001,00014,34,00052,00012,43,0014,00002,12,03005,0000009,41,21,201,0000004,7,098,043,04505,0405,0403,50005,0454,008908,61,0254,000067,000003,607,004056,087,0049,000089,802,0204,00000089,000000076,00106,000404,6006,101,0212,303,0089,038,046,81,00405,202,0414,604,0205,0203,054,025,00000076,0061,0025,4001,0301,405,00232,033,00708,88,46,0000008,5002,10076,00254,34005,02032,45,36,0000094,0676,076,14,005007,00023,000063,04006,081,021,000098,00021,00103,000405,0412,403,000676,25,407,605,003834,000045,214,000085,65,2036,5001,041,207,4006,4004,401,056654,0026,0607,203,205,00203,00306,004054,000409,00105,30004,00025,26,00543,104,44,0041,7605,47,9,60006,404,76,0305,67,2004,665,707,2056,000504,634,6506,8706,000438,000656,507,6056,0402,0708,00006076,0000025,003045,656,252,414,8098,000856,6706,061,6076,278,16,56,0908,32,54,58,0450043,089,0612,5806,49,000436,00504,085,0361,0506,02002,078,28,0094,0038,062,00456,606,00214,503,0667,04504,23,04054,003063,0102,0404,0434,063,0234,00108,0018,00676,00404,00000005,027,023,0101,047,000096,0507,03047,0706,04056,4054,50047,0704,004034,05003,0104,094,06506,04507,007009,074,044,565,000047,232,014,02004,7005,98,2014,2032,00083,00609,2006,0232,00401,00000006,0004008,256,00854,049,00804,000454,00000087,4005,00666,2012,2002,70004,30045,00434,2098,5005,2078,06006,0605,0029,000010034,36045,236,0000034,63,0407,801,096,000000007,05004,454,005005,00606,004504,00022,000407,000434,00566,00201,00568,0905,0806,00072,0408,02012,40202,0307,0802,0201,0302,20004,00204,0085,3034,4036,603,005045,08908,0088,000036,02234,088,00706,00506,05006,,2054,402,066,50404,06085,00069,8005,006087,1076,008008,4014,614,2018,000088,6054,6504,40005,0000043,8008,504,452,38,0492,00547,0216,0106,74,12002,52,0000878,407009,1003,008878,10043,0000067,7804,0656,0000098,1008,78,0103,00208,000000006,18,612,0608,89,4098,006098,85,40006,0401,06056,0432,0072,00658,20074,003076,254,878,03004,072,3056,00044,6708,0109,0609,509,3004,08078,566,602,2058,0000063,40545,4034,00000078,409,7403,050056,0500085,506,5007,06058,274,0209,501,434,0027,006066,216,301,00305,00509,00000056,412,0502,07004,0545,02052,004043,00989,00050007,50445,6002,6305,4002,00409,608,08008,0207,0878,056005,7032,000508,04014,0406,0214,632,04004,04034,0505,0124,00027,545,505643,0129,008887,0000707,0202,0787,04038,000000009,00908,1034,0000504,002054,000000008,006047,00094,50008,00016,703,0004056,702,45005,06054,00064,2001,204,02054,0007607,306065,306076,0128,60007,300003,4058,69,0409,2105,876,218,07656,00767,22,4076,4305,609,601,2052,0000069,306,0000000008,40004,0000404,04506,05009,0696,3058,2007,0011,5606,07006,00865,0306,0000045,0069,06503,00049,676,00443,000458,834,60043,343,505,103,50023,125,436,45008,4056,5656,894,66,896,50403,4278,308,3005,5003,8705,96,2026,696,05005,7064,302,304,0000454,8509,0636,27,54008,0854,03043,5080005,400006,5600043,3000054,2034,4007,060063,83,8007,94,1204,5404,107,1005,00000656,0000089,362,6004,245,24,024,0006065,0805,060006,265,685,04003,00000408,346,50003,645,102,3006,672,0084,2141,856,0000054,670002,0304,76504,000636,00068,5045,804,0000087,600004,3003,0906,2802,3002,40007,40068,432,636,1043,3607,21009,500005,06005,5405,21001,0508,005407,00436,00836,06008,02014,02016,1014,1004,00678,3085,1001,000304,005067,00236,5065,0006067,208,005004,0122,042,0445,008506,0436,07007,0276,006006,908,00508,0876,018",'{".":[{"a":[{"a":1,"b":[{"b":[{"a":1,"e":2}],"s":[{"t":3}]}],"c":[{"t":[{"i":[{"n":4}]}]}],"d":[{"e":[{"l":[{"s":5}]}],"l":[{"a":[{".":6}],"e":[{".":4}]}],"r":7,"s":8}],"f":[{"f":[{"u":10},2],"t":9}],"g":[{"n":[{"a":[{".":4}],"e":[{".":4}]}],"r":1}],"i":7,"k":[{"k":[{"a":[{".":4}],"e":[{".":4}],"l":12,"r":12}],"n":[{"e":[{".":4}]}],"r":4,"s":[{"a":[{".":6}],"e":[{".":1}],"t":13}],"t":[{"a":4,"e":[{".":1,"r":[{"e":14},5]}],"r":15}],"v":[{"a":16}]},11],"l":[{"b":[{"u":[{"e":[{"n":17}]}]}],"f":[{"a":18}],"g":[{"e":[{".":1}],"i":15}],"k":[{"a":[{".":4}],"e":[{".":1}],"o":[{"m":1}]}],"l":[{"a":[{".":1}],"e":[{".":1,"g":15}],"o":15,"s":19}],"m":[{"a":[{".":1}],"e":[{".":6}],"i":[{"n":20}]}],"n":[{"a":1}],"p":[{"e":17}],"s":[{"k":21,"o":22}],"t":[{"a":[{".":1,"r":15},23],"e":[{".":1}],"o":24}],"v":[{"e":[{".":4}]}]},11],"m":[{"b":2,"e":11,"m":[{"a":[{".":4}],"e":[{".":1}]}],"s":25,"t":[{"a":4}]}],"n":[{"a":[{"b":24}],"d":[{"a":[{".":1}],"e":[{".":1}],"r":[{"a":9}],"ø":[{"v":27},26]}],"e":[{"r":12,"s":17}],"g":[{"a":[{".":1}],"e":[{".":1,"s":5},12]}],"j":[{"a":[{".":1}]}],"k":[{"a":[{".":1}],"e":[{".":1}]}],"l":[{"a":[{".":1}]}],"n":[{"a":[{".":1,"l":2}],"e":[{".":1},23]},12],"s":[{"a":[{".":1}],"e":[{".":1}]},10],"t":[{"a":[{".":1}],"e":[{".":1,"m":15,"p":15}],"i":[{".":1,"n":4,"s":1,"v":1}]},28]},11],"p":[{"l":[{"a":[{"n":6}]}],"p":29,"t":6}],"r":[{"b":[{"i":17}],"d":[{"e":[{".":4}]}],"e":[{"o":30}],"g":[{"e":[{".":1,"s":15}]}],"i":[{"a":31,"e":[{"n":[{"e":17}]},32]}],"k":[{"a":[{".":6},15]}],"l":[{"a":[{"n":33}]}],"m":[{"e":[{".":1,"a":2}]}],"n":[{"a":[{".":1}],"e":[{".":1,"s":15},12]}],"r":[{"a":[{".":4}],"u":21}],"t":[{"a":[{".":4}],"e":[{".":1}],"h":34,"i":35}],"v":[{"a":[{".":4}],"e":[{".":1,"d":1,"r":1}],"i":36}]}],"s":[{"k":[{"a":6,"e":[{".":1,"s":[{"e":15}]}]}],"l":[{"e":[{".":1}]}],"p":[{"a":[{".":4}]}],"s":15,"t":[{"r":[{"u":22}]}]},11],"t":[{"h":1,"k":[{"i":1}],"l":[{"e":[{".":1}]}],"n":[{"a":[{".":1}]}],"o":37,"s":12,"t":[{"e":5,"r":31}],"y":38}],"u":[{"d":[{"e":6}],"e":4,"g":[{"a":6,"e":1}],"k":[{"a":[{".":1}]}],"l":[{"e":[{".":6}]}],"r":1,"s":[{"a":[{".":4}],"e":[{".":4}],"k":39,"p":1}]}],"v":[{"i":[{"d":40,"n":[{"d":[{"e":2}]}]},28],"l":[{"a":[{".":1}],"e":[{".":1}]}],"s":40}]},0],"b":[{"a":[{"b":[{"y":4}],"l":[{"a":[{".":4}],"e":[{".":1}]}],"n":[{"e":[{".":1}],"k":[{"l":41}]}],"r":[{"e":[{".":1}],"i":[{".":1}]}],"t":[{"e":[{".":6}]}]}],"e":[{"d":[{"e":[{".":1,"n":[{"e":3},5],"t":26}],"i":[{".":6}]}],"e":[{"d":34}],"k":[{"e":[{".":4}]}],"l":[{"a":[{".":1}]}],"n":[{"a":[{"r":35}],"e":[{".":1}]}],"r":[{"a":[{".":4}],"e":[{".":4,"s":1,"t":[{"t":31}]}],"i":[{".":6}]}],"s":[{"k":[{"a":2}],"t":[{"e":[{"n":4}]}]}],"t":[{"a":[{".":1}],"e":[{".":4}],"v":9}]}],"i":[{"d":[{"e":[{".":4}]}],"e":[{"n":4}],"l":[{"e":[{".":1,"t":14}]}],"t":[{"r":13}]}],"l":[{"a":[{"d":23}],"e":[{"k":[{"e":42,"k":[{"f":43,"s":[{"t":44,"v":45}]}]},41]}],"i":[{"n":[{"g":14}]}]},1],"o":[{"d":[{"a":6,"e":[{".":6}]}],"g":[{"s":46}],"k":[{"e":[{"n":[{".":25}]}]},22],"l":[{"a":6}],"n":[{"a":[{".":1}]},28],"r":[{"t":[{"e":36,"i":48,"r":49},47]}]}],"r":[{"u":[{"d":[{"d":[{"s":[{"å":51},50]}]}]}]}],"u":[{"d":[{"a":[{".":4}],"r":52}],"e":[{"t":1}],"l":[{"k":53}],"s":[{"s":[{"y":31}]}]}],"y":[{"d":[{"e":[{".":4}]}],"t":[{"a":[{".":6}]}]}],"æ":7,"ø":[{"k":[{"a":3}],"n":[{"e":[{"n":6,"r":6}]}]}]},11],"c":[{"a":[{"e":[{"n":[{".":1}]}],"r":[{"s":53}],"s":[{"e":4}]}],"e":[{"b":4}],"o":[{"s":[{"t":1},54]}]},0],"d":[{"a":[{"g":[{"e":[{".":1}],"s":[{"e":36}]}],"l":[{"e":[{".":1}]}],"m":7,"n":[{"e":[{".":1}]}],"t":[{"a":1}],"u":[{"s":24}]}],"e":[{"k":[{"a":[{"r":49}],"o":[{"d":16}]}],"l":[{"e":[{".":1,"i":26}],"s":19}],"m":[{"i":[{".":1}],"o":[{"e":16}]}],"n":[{"s":[{"l":22}]}],"r":[{"e":[{".":1,"t":26}],"i":[{".":1,"v":56},55],"o":[{"m":26}],"u":6}],"s":[{"m":3,"o":1,"t":[{"o":1}]}],"u":1,"v":[{"i":[{"s":17}]}]}],"i":[{"a":7,"e":[{"l":9,"r":4,"t":[{".":1}]}],"f":[{"t":57}],"n":[{"e":[{".":1}],"g":[{"s":[{"a":58}]}]}],"s":[{"k":1,"t":59}]}],"o":[{"e":[{"n":1,"r":1,"t":6}],"m":[{"e":17}],"r":[{"a":1,"e":[{".":4}]}]}],"r":[{"a":[{"u":[{"m":5}]}]}],"s":1,"u":[{"a":1,"e":[{"n":[{".":1}],"r":1}],"f":[{"t":18}],"g":[{"e":[{".":1}]}],"k":[{"n":24}],"s":[{"e":[{".":1}],"t":1}]}],"y":[{"r":[{"e":[{".":1}]}]}],"ø":[{"l":[{"a":[{".":4}]}],"r":[{"a":60,"e":60},13],"v":[{"e":[{".":1}]}]}],"å":[{"r":[{"e":[{"n":15,"t":2}]}]}]},11],"e":[{"b":[{"b":[{"a":1}]}],"c":[{"u":31}],"d":[{"d":[{"a":1}],"l":[{"e":[{".":1}]}]}],"f":[{"o":61,"t":[{"a":[{"s":17},1],"e":[{"r":4}]}]}],"g":[{"d":[{"e":[{".":6}]}],"e":[{"l":22},28],"g":[{"a":[{".":4}],"e":[{".":1,"l":1}]}],"l":[{"a":[{".":6}],"e":[{".":1}]}],"n":[{"a":[{".":4}],"e":[{".":1}]}],"o":[{"t":62}],"s":[{"e":[{".":6}],"i":15},23]}],"i":[{"d":[{"a":22,"e":[{"n":15}]}],"g":[{"a":[{".":1}],"e":[{"r":2}]}],"k":[{"a":22,"e":[{".":1}]}],"l":12,"m":[{"a":[{".":6}],"e":[{".":6}]},12],"n":[{"a":[{"s":61}],"i":12,"o":[{"g":63}],"s":[{"t":[{"a":19,"o":64}]}]}],"r":[{"a":[{"r":35}],"e":[{"s":15}],"u":39}],"t":[{"e":15,"r":39}]},7],"k":[{"k":[{"o":23}],"l":[{"e":[{".":1}],"i":12}],"n":[{"e":[{".":4}]}],"r":1,"s":[{"a":[{".":6}],"e":[{".":6},12],"p":[{"i":31},1],"t":[{"a":9},65]}],"t":[{"a":6,"e":[{".":1}],"o":2}]}],"l":[{"d":[{"a":[{".":6}],"e":[{".":1}]}],"g":[{"r":26}],"i":[{"n":[{"e":22}]}],"k":12,"l":15,"s":[{"a":31,"k":[{"l":23}],"t":31},4],"t":[{"a":[{".":4}],"e":[{".":4}]}],"v":[{"e":[{"l":66,"g":4}]}]}],"m":[{"b":67,"f":[{"a":49}],"m":[{"a":[{".":1}],"e":[{".":6}]}],"n":[{"a":[{".":4}]}],"p":15}],"n":[{"a":15,"d":[{"a":[{".":1}],"e":[{".":1}],"r":22}],"g":[{"a":[{".":1,"v":4}],"e":[{".":1},12],"r":3,"s":36}],"k":[{"a":4,"e":[{".":1}]}],"o":[{"g":68}],"s":[{"a":4,"e":[{".":1}],"o":15,"p":12}],"t":[{"e":[{".":4}],"r":[{"a":3,"e":32},23]},15],"ø":34}],"p":[{"t":4}],"r":[{"a":6,"e":1,"g":[{"r":26}],"k":[{"e":1}],"l":[{"a":[{".":1}],"e":[{".":1}]}],"m":[{"a":[{".":4}],"e":[{".":1,"k":1}]}],"n":[{"a":[{".":1}]}],"t":[{"a":[{".":4}],"e":[{".":1}]}]}],"s":[{"a":[{"s":[{"t":35}]}],"k":[{"a":[{".":6},12],"e":[{".":1}]},69],"l":[{"a":[{".":6}],"e":[{".":6}]},15],"p":[{"a":[{".":4}]},12],"r":4,"s":[{"a":[{".":6}],"e":[{".":1}],"o":1}],"t":[{"a":15,"e":[{".":4,"t":2},12],"i":15,"r":70,"u":2}]}],"t":[{"l":[{"a":[{".":6}],"e":[{".":6}]}],"n":[{"a":1,"e":[{".":1}]}],"s":[{"a":[{".":6}],"e":[{".":4},9],"i":23},1],"t":[{"e":[{"r":72},71],"i":4}]}],"u":[{"r":[{"o":17}]}],"v":[{"j":[{"a":6,"e":[{".":1}]}],"n":[{"e":[{".":1}]}]}],"x":1},11],"f":[{"a":[{"e":7,"g":[{"s":65}],"n":[{"e":[{".":1}],"t":[{"o":65}]}]}],"e":[{"e":1,"i":[{"e":32,"l":[{"i":17}]}],"l":[{"a":49,"l":22,"t":[{"a":23}]},7],"m":[{"a":1,"e":6,"o":[{"g":73}],"t":22}],"r":[{"r":[{"o":32}],"s":31}],"s":[{"l":6,"t":[{"e":75},74]}],"t":[{"t":[{"a":17}]}]}],"i":[{"b":26,"a":4,"l":[{"e":[{".":1}]}],"r":[{"e":[{"o":[{"g":76}]}]}],"s":[{"k":31}]}],"j":[{"e":[{"l":5}],"o":[{"r":[{"d":43}]}]}],"l":[{"a":[{"t":[{"o":53}]}]}],"o":[{"b":[{"i":[{".":1}]}],"l":28,"r":[{"d":[{"r":[{"i":75,"a":77}]}],"e":[{"n":[{".":22}]}],"m":[{"s":17}],"s":[{"o":77}]},7]}],"r":[{"e":[{"e":31}],"i":[{"e":[{"r":[{"e":19}]}]}]}],"u":[{"g":[{"e":[{".":4}]},28],"l":28,"s":[{"e":[{".":6}]}]}],"y":[{"s":[{"e":6}]}],"ø":[{"r":[{"e":[{"l":6}]}]}]},0],"g":[{"a":[{"f":61,"l":[{"e":[{".":1}],"i":[{".":6}]}],"m":[{"e":1}],"n":[{"e":[{".":1}],"g":[{"s":78}]}],"s":[{"t":[{"a":22}]},23],"t":7,"v":[{"e":[{".":1,"e":35}]}]}],"e":[{"a":7,"l":[{"e":23}],"n":[{"e":12,"i":79,"s":22}],"o":1,"s":[{"t":[{"a":[{"p":20}]},1],"v":35}]}],"h":[{"a":22}],"i":[{"f":[{"t":[{"s":17}]}],"n":1,"s":[{"p":61},1],"v":[{"a":59}]}],"j":[{"e":[{"n":64}]}],"l":[{"o":[{"i":31,"v":39}],"y":[{"s":22}],"ø":[{"s":[{"e":39}]}]},4],"n":[{"å":[{"l":[{"a":61}]}]}],"o":[{"d":[{"e":[{"s":15}]}],"s":61}],"r":[{"a":[{"v":[{"e":[{"n":[{"d":41}]}]}]}],"e":[{"i":[{"e":5}]}],"u":[{"n":[{"n":[{"s":14}]}],"s":[{"s":17}]}]}],"u":[{"d":[{"e":[{".":1}],"v":65}],"l":[{"a":[{"t":1}]}],"s":54,"t":[{"u":[{".":1}]}]}],"ø":7,"å":[{"s":[{"e":53}],"v":1}]},11],"h":[{"a":[{"i":[{"s":19}],"k":[{"a":[{".":4}]}],"m":[{"a":[{".":6}]}],"n":[{"d":[{"s":[{"l":[{"a":81},80]}]}]}],"v":[{"a":[{"k":3}],"i":4}]}],"e":[{"e":[{"r":[{".":1}]}],"i":[{"e":22}],"l":[{"u":24}],"n":[{"i":82},7],"r":[{"i":83,"o":[{"e":57,"i":40,"l":40,"s":84},83],"u":6}],"s":[{"s":53}],"t":[{"s":[{"e":77},47],"e":20},26]}],"i":[{"l":[{"l":23}],"n":1,"r":[{"e":[{".":4}]}]}],"o":[{"d":7,"e":7,"r":[{"e":[{".":1,"n":15,"t":2}]}],"t":[{"a":[{".":6}]}],"v":[{"a":[{".":6}]}]}],"u":[{"d":[{"i":1}],"l":[{"l":[{"s":16}]}],"s":[{"e":[{"n":85}],"v":[{"a":[{"l":31}]}]}]}],"v":[{"i":[{"t":[{"e":65},18]}],"o":[{"r":86}]}],"y":[{"r":[{"a":[{".":4}],"e":[{".":1}]}]}],"ø":[{"i":22,"r":[{"e":1}],"v":[{"a":1,"e":[{".":1}]}],"y":[{"s":[{"t":[{"æ":87}]}]}]}],"å":[{"e":[{"n":[{".":6}],"r":6}],"n":[{"d":[{"s":[{"l":80}]}]}]}]},0],"i":[{"a":89,"b":[{"l":90}],"d":[{"a":0}],"f":[{"ø":[{"r":[{"e":22}]}]}],"g":[{"l":[{"a":[{".":6}],"e":[{".":1}]}]}],"h":[{"e":[{"r":0}]}],"k":[{"k":[{"e":[{"s":91},17]},4],"l":92,"t":[{"e":[{".":6}]},15],"v":38},7],"l":[{"a":[{".":0,"n":[{"d":[{"e":93}]}]},90],"b":[{"o":[{"d":[{"a":46}]}]}],"d":[{"r":13,"e":[{".":4}]}],"e":[{"g":90,"s":11}],"j":[{"a":1,"e":[{".":4}]}],"k":[{"e":[{".":4}]}],"l":[{"e":[{".":1}]}],"s":[{"k":4}],"t":[{"e":[{".":1}]}]}],"m":[{"e":11,"ø":[{"t":[{"e":[{".":22}]}]}]}],"n":[{"a":[{"d":15}],"d":[{"e":15}],"g":[{"a":[{".":6}],"e":[{".":1}],"r":[{"i":4},12]}],"k":[{"a":[{".":4}]},20],"n":[{"e":[{".":1,"k":[{"s":21}],"t":[{"s":21,"t":21}]},20],"i":85},85],"s":15,"t":[{"e":[{"s":2}]}]}],"o":[{"n":[{"a":1,"o":[{"m":1}]}]}],"r":[{"e":[{"r":0}],"k":94,"r":[{"a":[{".":6}],"e":[{".":4}]}]}],"s":[{"a":11,"c":90,"e":11,"k":40,"l":[{"a":[{"g":[{"a":46}],"m":4}],"e":[{".":1,"t":1}]}],"m":[{"e":[{".":1}]}],"n":[{"a":[{".":6}],"e":[{".":6}]}],"p":[{"a":15,"e":95}],"s":[{"a":[{".":4}],"e":[{".":1}],"k":15},34],"t":[{"e":[{".":6,"d":38,"m":38}],"i":2,"j":96,"r":96},31],"u":[{"t":[{".":6}]}],"ø":97}],"t":[{"i":38}],"v":[{"a":[{"n":0,"r":[{".":0}]},90],"e":[{"l":0,"n":11,"r":[{".":0,"e":0}]},90],"r":[{"a":[{".":6}],"e":[{".":4}]}]}],"ø":90},88],"j":[{"a":[{"d":[{"e":[{".":1}]}],"e":4,"n":[{"e":1}],"s":[{"e":[{".":6}]}],"v":[{"a":[{".":1}]}]}],"e":[{"a":7,"l":7,"m":7,"r":[{"e":15,"n":[{"s":78}]}],"t":[{"a":1}]}],"i":1,"o":[{"e":[{"n":[{".":6}]}],"r":[{"d":[{"r":64,"s":98,"u":64}]}],"s":[{"e":[{".":1}]}]}],"u":[{"a":4,"l":[{"a":4,"e":18,"i":99}]}],"ø":[{"d":[{"e":[{"p":1}]}]}]},0],"k":[{"a":[{"f":28,"l":[{"a":[{".":4}],"i":[{".":4}],"t":62,"v":[{"e":[{"l":100}]}]}],"m":[{"e":15}],"n":[{"a":12,"e":[{".":1}]}],"p":[{"r":85}],"r":[{"a":[{".":1,"v":101}],"e":[{".":4}],"i":[{"n":15}],"t":[{"r":64}]}],"t":[{"e":[{".":1}],"h":20}],"u":[{"k":39}],"v":[{"a":[{".":4}],"e":[{".":1}]}]}],"e":[{"e":4,"l":24}],"i":[{"e":[{"r":18}],"n":[{"a":1,"i":2,"o":18}],"r":28,"s":[{"e":[{".":1}]}],"v":[{"a":[{".":6}],"e":[{".":4}]}]}],"j":[{"e":[{"d":[{"e":102}],"k":[{"l":16},23]}],"ø":[{"n":[{"n":103}]}]}],"l":[{"e":[{"s":23}],"i":[{"n":[{"e":22}]}],"o":[{"v":[{"a":39}]}],"y":[{"s":[{"a":61}]}],"ø":[{"s":62}]}],"n":[{"a":[{"s":[{"e":61}]}],"e":[{"p":[{"r":41}],"r":62}]}],"o":[{"d":[{"a":[{".":4}]}],"g":[{"r":2}],"l":[{"a":1,"e":[{".":6},12],"j":22}],"p":[{"e":[{".":4},12]}],"r":[{"s":[{"e":[{"d":47}]}]}],"s":[{"e":[{".":1}]}],"t":[{"a":[{".":4}],"e":[{".":1}]}],"v":[{"e":[{".":4}]}]}],"r":[{"i":[{"n":[{"g":[{"s":14}]}]}],"u":[{"s":[{"t":41}]}]}],"s":4,"u":[{"f":[{"l":9}],"l":[{"e":1}],"r":[{"a":[{".":6}],"e":[{".":1}]}],"t":[{"a":[{".":6}],"e":[{".":6}]}]}],"v":[{"a":[{"r":[{"a":104}]}],"e":[{"k":[{"a":39,"e":22}]}]}],"y":[{"l":[{"a":[{".":6}],"e":[{".":1}]}],"t":[{"e":[{".":4}]}]}],"ø":[{"s":12}],"å":[{"p":[{"a":4}]}]},11],"l":[{"a":[{"d":[{"a":[{".":1}],"e":[{".":1}]}],"g":[{"a":1,"e":[{".":1,"r":15}]}],"m":[{"a":[{".":1}]}],"p":[{"p":[{"e":105}],"s":[{"e":106}]}],"t":[{"a":[{".":4}],"e":[{".":1}],"r":12}],"v":[{"a":1,"e":[{".":1},12],"æ":3}]}],"e":[{"a":[{"r":6}],"d":[{"a":[{".":1}],"e":[{".":1}]}],"e":[{"r":1,"t":4}],"f":[{"l":24},7],"g":[{"a":[{"t":[{"a":17}]}],"e":[{".":1,"l":1}],"i":[{".":6}]}],"i":[{"e":[{"r":[{".":61}]},32],"v":[{"e":23}]}],"k":[{"e":[{".":1}],"r":26}],"m":[{"u":49}],"n":[{"e":[{".":1}]}],"o":21,"s":[{"a":40,"e":[{".":1,"k":1,"s":1}],"p":26}],"t":[{"a":2,"t":[{"a":[{"n":31}]}]},7],"u":107,"v":[{"a":[{".":1},12],"e":[{".":1,"s":1}]}]}],"i":[{"a":6,"d":[{"e":[{".":1}]}],"e":[{"n":[{"e":15}]},25],"g":[{"a":18},7],"k":[{"k":19,"o":24,"s":65},7],"m":[{"a":1}],"n":[{"k":36}],"r":[{"a":4,"e":[{".":1}]}],"s":[{"a":1,"e":[{".":1}]}],"t":[{"a":[{".":1}],"e":[{".":1}],"i":15}],"v":[{"e":[{".":1,"n":26}],"s":[{"u":108,"v":53}]}]}],"o":[{"e":20,"g":[{"e":[{".":4}],"i":[{".":6}],"r":3}],"i":1,"n":[{"a":4}],"o":6,"r":[{"i":4}],"s":[{"a":[{".":6}],"e":[{".":1}]}],"t":[{"e":4}],"v":[{"a":1,"e":[{".":1},12]}]}],"u":[{"d":1,"e":7,"n":[{"a":1}],"p":[{"a":4,"e":[{".":1}]}],"r":[{"a":[{".":4}],"e":[{".":1}]}],"s":[{"e":[{".":4}]}],"t":[{"a":[{".":1,"s":35}]}]}],"y":[{"d":[{"e":[{".":1}],"s":24}],"e":6,"g":[{"e":6}],"s":[{"e":[{".":1},20],"k":1,"s":19,"t":[{"r":6}]}],"t":[{"e":[{".":1}]}],"v":[{"e":[{".":1}]}]}],"ø":[{"d":[{"e":[{".":6}]}],"e":[{"n":[{".":4}]}],"n":[{"e":[{".":6}]}],"p":[{"a":[{".":4}],"e":[{".":1}]}],"s":[{"a":109,"i":109,"m":109,"p":109}],"v":[{"i":22}],"y":[{"e":[{"n":[{"e":17}]}]}]}],"å":[{"m":[{"a":6}],"r":[{"e":[{".":4},15]}],"t":[{"e":[{".":1}]}]}]},11],"m":[{"a":[{"g":[{"e":[{".":1}],"r":39}],"h":31,"k":[{"a":12,"e":[{".":1}],"t":[{"a":[{"t":47}],"s":17}]}],"l":[{"e":[{".":1}],"i":[{".":1}]}],"n":[{"a":[{".":1}],"d":[{"e":[{"l":91}]}],"e":[{".":1}],"i":[{".":1}]}],"r":[{"a":[{".":1}],"e":[{".":1}],"i":[{".":1}],"s":[{"j":[{"ø":110}]}]}],"s":[{"a":[{".":1}],"i":1,"t":4}],"t":[{"a":6,"h":111,"t":[{"o":112}]}],"v":1}],"e":[{"d":[{"e":[{"i":3}],"i":[{"n":21},113],"r":3},85],"i":[{"e":[{"r":[{".":22}],"t":22}]}],"k":[{"l":22}],"l":[{"a":[{".":4}],"l":[{"o":75}],"ø":26}],"n":[{"e":[{".":1}]}],"r":[{"i":12}],"s":[{"a":[{"l":109}],"k":1,"t":[{"i":22}]}],"t":[{"a":[{"l":[{"l":115}]},114],"r":[{"i":1}]}]}],"i":[{"k":[{"j":4}],"l":[{"e":[{".":1}]}],"m":[{"e":[{".":1}]}],"n":[{"i":[{".":1,"k":1}],"k":[{"e":42},41]}],"s":[{"t":55}]}],"n":[{"e":31}],"o":[{"d":[{"e":15}],"e":[{"r":4}],"n":[{"a":[{".":1}],"e":[{".":6}],"s":[{"t":[{"r":116},23]}]}],"r":[{"d":[{"e":19}],"e":[{".":1}],"t":[{"a":117}]}],"s":[{"e":[{".":1}]}],"t":[{"a":1,"e":[{"k":1,"r":1}],"r":1}],"v":15}],"u":[{"g":[{"a":6,"e":[{".":6}]}],"l":[{"e":[{".":4,"s":22}]}],"r":[{"e":10},61]}],"y":[{"k":[{"a":6,"e":[{".":1}]}]}],"ø":[{"r":[{"e":[{".":1,"s":15}]}],"t":7}],"å":[{"l":[{"a":[{".":4}],"o":24}]}]},93],"n":[{"a":[{"b":[{"o":18}],"g":[{"e":[{".":4}]}],"k":[{"e":[{".":6}]},28],"n":[{"s":22}],"r":1,"s":[{"a":[{".":1}]}],"t":[{"r":12,"t":[{"r":31}]},28]}],"e":[{"d":[{"e":[{".":1,"n":1}],"i":26,"r":85,"s":65}],"f":[{"r":26}],"g":118,"i":[{"e":22}],"k":[{"r":70}],"o":[{"n":119},118],"p":[{"a":[{".":6}],"e":[{".":4}]}],"s":7,"t":1}],"i":[{"a":[{"r":6}],"e":[{"r":4}],"g":[{"l":23}],"n":[{"a":[{".":1}]}],"o":[{"g":101}],"p":[{"a":[{".":1}],"e":[{".":4}]}],"s":[{"a":6,"e":[{".":4}]}],"t":[{"a":49,"o":1}],"v":[{"a":1}]}],"o":[{"d":[{"e":[{".":4}]}],"e":4,"k":[{"a":6}],"m":[{"e":[{".":1}],"i":[{".":6}]}],"r":1,"s":[{"e":6,"i":[{".":6}]}],"v":[{"a":[{".":1}]}]}],"u":[{"e":1}],"y":[{"a":15,"o":12,"s":[{"a":[{".":6}],"e":[{".":4}]}],"t":[{"e":[{".":1}]}]}],"æ":[{"r":[{"a":[{"s":[{"t":[{".":39}]}]}],"e":[{".":1}]}]}],"ø":[{"d":[{"d":23}],"r":[{"e":[{".":1}]}]}],"å":[{"d":[{"e":[{".":1}]}],"l":[{"e":[{".":4}]}]}]},93],"o":[{"b":[{"o":[{"e":22}]}],"d":[{"d":[{"a":[{".":1}],"e":[{".":1}]}],"e":[{"l":[{"s":105}]}],"l":[{"a":[{".":6}],"e":[{".":6}]}]}],"f":[{"f":[{"s":[{"i":120}]}],"t":[{"e":[{".":1,"b":15}]}]}],"g":1,"k":[{"k":[{"a":[{".":6}],"e":6},69],"s":[{"e":[{".":1}]}]}],"l":[{"d":[{"s":24}],"g":[{"a":[{".":1}]}],"i":[{"v":19},22],"l":[{"a":6,"e":[{".":6}]}],"m":4}],"m":[{"a":[{"r":[{".":1}]}],"b":[{"o":[{".":4}]}],"e":[{"n":121}],"g":[{"å":[{".":1}]}],"m":[{"e":1}],"s":122},69],"n":[{"d":[{"e":[{".":1,"s":15}],"s":24}],"k":[{"l":4}],"n":[{"a":4,"e":[{".":6}]}]}],"p":[{"a":[{"r":15}],"p":[{"a":1,"e":[{"l":61},1],"i":1,"l":[{"a":[{"t":[{"e":[{".":91}]}]}]},24],"s":19}],"r":2,"t":31}],"r":[{"d":[{"a":1,"e":[{".":1,"l":1}],"r":1,"s":42}],"g":[{"a":15}],"k":[{"a":[{".":4}],"e":[{".":1}]}],"m":[{"e":[{".":4}]}],"r":[{"e":[{".":1}]}],"t":31,"v":[{"a":4}]}],"s":[{"a":22,"e":[{"l":12}],"k":1,"s":1,"t":[{"e":[{".":1}]}]}],"t":[{"r":15,"t":[{"a":[{".":1},94],"e":[{".":1,"s":1}],"o":[{".":1},12]}]}],"v":[{"e":[{"r":[{"e":[{"n":[{"d":123}]}],"i":124,"k":125},18]},31],"r":[{"e":6}],"u":[{"l":4},15]}]},11],"p":[{"a":[{"l":[{"a":[{".":6}],"e":[{".":1}],"i":31}],"n":[{"a":109,"e":[{"u":21},20],"i":20}],"r":[{"e":[{".":4}]}]}],"e":[{"d":[{"o":12}],"k":[{"e":[{".":1}],"t":22}],"l":[{"s":[{"j":23}]}],"n":[{"e":[{".":1}]}],"p":[{"r":24},7],"r":[{"i":126,"m":127}],"s":[{"a":[{".":6}],"e":[{"t":17}],"t":1}]}],"h":7,"i":[{"l":[{"e":[{".":4}]}],"p":4,"r":[{"a":35}],"s":7}],"l":[{"e":[{"n":[{"g":80}]}],"u":[{"s":[{"s":[{"e":128},116]}]}],"ø":[{"s":[{"e":61}]}]}],"o":[{"e":[{"t":1}],"l":[{"a":[{".":6},12],"e":[{".":1}],"o":[{"g":1}]}],"p":[{"e":130,"p":24,"u":67},129],"r":[{"a":6,"e":[{".":4,"s":1}]}],"s":[{"t":4}],"t":[{"a":[{".":6}],"e":[{"k":4}]}]}],"r":[{"o":[{"k":62}]}],"s":7,"ø":[{"n":[{"s":131},24]}],"å":[{"d":20}]},11],"r":[{"a":[{"d":[{"a":[{".":4}]}],"e":[{"t":4}],"g":[{"a":[{".":1}],"e":[{".":1}]}],"j":[{"a":[{".":1}]}],"k":[{"a":1,"s":16}],"m":7,"n":[{"a":1,"e":[{".":1}],"s":[{"a":77}]}],"p":[{"a":[{".":4}],"e":[{".":4}],"s":[{"e":42,"o":132},23]}],"r":[{"e":[{".":1}]}],"s":[{"a":[{".":4}]}],"t":[{"i":2}],"v":[{"a":[{".":4}],"e":[{".":1}]}]}],"e":[{"a":[{"l":1}],"d":[{"a":[{".":4}],"e":[{".":1}]}],"e":[{"l":31}],"g":[{"e":[{"l":5}],"i":[{".":1}]}],"i":[{"d":[{"e":61}],"e":[{"r":[{".":22}]}],"n":[{"s":1}]},28],"k":[{"a":[{".":4}],"e":[{".":1}],"l":[{"a":[{"r":6}],"e":6,"i":1}],"n":4}],"l":[{"e":[{".":6}]}],"m":[{"a":[{".":1}]}],"n":[{"a":[{".":1}],"e":[{".":1}],"s":[{"k":31}],"t":23}],"p":[{"s":22}],"s":[{"s":39,"t":[{"a":[{"n":20}]}]}],"t":[{"t":[{"s":[{"k":[{"r":[{"i":66}]}]}]}]}],"v":[{"e":[{".":1,"s":1}],"n":39}]}],"i":[{"d":7,"e":[{"n":[{"e":22}]},6],"k":[{"a":[{".":4}]}],"m":[{"a":4,"e":[{".":1}]}],"p":[{"a":[{".":1}],"e":[{".":1}],"o":26}],"s":[{"a":[{".":1}],"e":[{".":1}],"k":[{"o":22}],"ø":85}],"t":[{"a":[{".":1}],"e":[{".":4}]}],"v":[{"a":[{".":4}],"e":[{".":1}]}]}],"o":[{"a":[{"n":1}],"d":[{"e":[{".":1}],"i":6}],"e":1,"k":[{"e":[{".":6}]}],"m":[{"a":[{".":1}],"i":1}],"p":[{"a":[{"r":35},4],"e":[{".":1},12]}],"s":[{"a":[{"r":35},1],"e":[{".":1,"d":1}]}],"t":[{"a":[{".":1}],"e":[{".":1,"k":133}]}],"v":[{"a":6,"e":[{".":6},12]}]}],"u":[{"g":[{"a":[{".":6}],"e":[{".":1}],"l":[{"e":39}]}],"k":[{"a":6}],"n":[{"a":[{".":1}],"e":[{".":1,"s":120}],"g":61}],"s":[{"e":[{".":1}],"k":1}],"v":[{"a":[{".":6}],"e":[{".":1}]}]}],"y":[{"e":[{"n":[{"e":61}]},7],"k":[{"e":[{".":4}]}]}],"ø":[{"d":[{"s":134},28],"l":[{"e":[{".":6}]}],"r":[{"e":[{".":1}]}],"v":[{"a":[{".":6}],"e":[{".":1}]},69],"y":[{"e":61}]}],"å":[{"d":[{"a":[{".":6}],"e":[{".":1}]}],"e":[{"n":1,"r":[{".":6}]}],"g":32,"k":[{"a":[{".":4}],"e":[{".":1}],"l":34}],"n":[{"a":[{".":4}]}],"s":[{"a":[{".":6}]}]}]},11],"s":[{"a":[{"g":[{"e":[{".":1}],"n":31}],"l":[{"a":[{".":1}],"e":[{".":1}]}],"m":[{"e":[{".":1,"r":1}]}],"n":[{"d":[{"e":62,"i":62},127],"s":[{"k":[{"u":64}]}]}],"u":[{"e":31}]}],"c":[{"h":31}],"e":[{"b":7,"e":7,"i":1,"k":[{"l":26,"s":[{"o":[{"g":135}]}]}],"l":[{"v":[{"i":136},53]}],"n":[{"a":[{".":4}],"e":[{".":1}],"s":61}],"r":[{"a":[{".":1}],"v":[{"e":[{"l":61}]}]}],"t":[{"e":[{".":1}]}]}],"h":[{"a":[{"k":[{"e":[{".":39}]}]}]}],"i":[{"d":7,"e":[{"r":4}],"g":[{"a":[{".":4}],"e":[{".":1}]}],"k":[{"k":[{"e":19}]}],"l":[{"a":[{".":6}],"e":[{".":1}]}],"n":[{"e":[{".":1}],"n":[{"s":116}]}],"r":[{"a":[{".":1}]}],"s":[{"t":[{"r":15}]}],"v":[{"a":1,"e":[{".":1}]}]}],"j":[{"e":[{"i":23}],"u":[{"o":[{"g":73}]}]}],"k":[{"a":[{"k":[{"a":61,"e":22}],"t":5}],"e":[{"i":[{"d":17}]}],"i":[{"n":[{"n":[{"s":123}]},31]}],"o":[{"d":[{"e":[{".":61}]}],"g":[{"u":17}]}],"r":[{"i":[{"t":[{"t":[{"s":137}]}]}]}],"u":[{"d":[{"d":[{"s":[{"å":51},138]}]}],"m":47}],"y":[{"f":[{"l":[{"a":127}]}]}],"å":[{"r":[{"a":22}]}]},4],"l":[{"e":[{"s":[{"v":47}]}],"i":[{"b":[{"r":127}],"m":17}],"o":[{"t":[{"t":[{"s":139}]}]}],"u":[{"k":[{"a":39,"e":[{".":22}]}]}],"ø":[{"s":[{"e":22}]}]}],"m":[{"a":[{"s":[{"k":17},23]}],"i":[{"g":[{"r":127}]}],"o":[{"g":39}],"å":[{"k":77,"l":39,"t":[{"t":17},42]},24]}],"n":[{"e":[{"k":23},24],"i":[{"t":[{"t":[{"s":138}]}]}],"ø":[{"k":24}]},1],"o":[{"a":32,"d":[{"e":6}],"m":[{"m":[{"a":103}]}],"n":[{"a":31}],"p":[{"p":[{"a":23}]}],"r":[{"t":53}],"t":[{"a":[{".":1}]}]}],"p":[{"a":[{"r":[{"a":22}]}],"e":[{"e":31}],"i":[{"l":[{"a":39}]}],"r":[{"i":[{"s":80}]}]},140],"t":[{"a":[{"k":[{"a":39}],"l":[{"i":22}],"t":[{"s":5}]}],"e":[{"d":[{"s":5}],"i":[{"n":[{"a":141,"s":141}]},23],"m":[{"m":5}],"v":[{"n":[{"a":49}]}]}],"i":[{"m":[{"e":61}]}],"o":[{"n":[{"e":22}],"r":[{"a":31}]}],"r":[{"e":[{"k":[{"s":138}]}]}],"u":[{"a":32,"v":[{"a":39}]}],"å":[{"l":[{"l":80}]}]},4],"u":[{"n":[{"d":[{"s":80}]}],"r":[{"i":1}],"t":[{"e":15}]}],"v":[{"a":[{"l":[{"a":22}],"r":[{"a":[{".":22}],"e":22,"s":17}]}],"e":[{"r":[{"n":46}]}]},6],"y":[{"d":[{"a":52,"e":20},22],"n":[{"a":[{".":4}],"e":[{".":1}]}],"t":[{"e":[{"r":15}],"i":12}],"v":[{"o":[{"g":142}]},3]}],"z":4,"æ":[{"r":[{"e":[{"g":65}]},54]},7],"ø":[{"k":[{"a":6,"e":[{".":1}]}],"l":[{"v":47}],"r":[{"a":24}],"y":[{"e":[{"n":31},17]}]}],"å":[{"p":[{"e":[{"n":15}]}],"r":[{"e":12}]}]},11],"t":[{"a":[{"k":[{"e":[{".":6}],"r":39,"s":[{"k":22,"p":143}]}],"l":[{"a":[{".":1}],"e":[{".":1,"s":1}],"l":[{"i":23}]}],"m":[{"m":22}],"n":[{"d":[{"e":22}]}],"p":[{"r":26}],"r":[{"a":[{".":1}],"e":[{".":1}]}],"s":7}],"e":[{"e":1,"i":[{"e":[{"r":39}]},4],"k":[{"e":[{".":6}]}],"m":[{"a":[{".":1}]}],"o":4,"n":[{"e":[{".":6}]}],"s":[{"e":[{".":1}],"i":2,"t":[{"a":1,"r":1}]}]}],"h":7,"i":[{"a":6,"d":[{"r":22,"s":144,"e":[{".":1}]}],"e":1,"g":[{"r":85}],"k":[{"i":1}],"l":[{"i":36},26],"m":[{"e":[{"d":1}]}],"n":[{"a":[{".":1}],"e":[{".":1}]}],"p":[{"l":26}],"s":1}],"o":[{"a":[{"r":[{"m":15}]}],"e":[{"n":[{".":4}],"r":[{".":1}],"t":[{".":4}]}],"k":[{"k":46}],"l":[{"e":[{".":4}]}],"n":[{"a":[{".":4}]}],"o":[{"g":101}],"r":[{"a":[{".":1}],"e":[{".":1,"b":4}],"g":[{"a":47}],"o":12,"s":[{"k":[{"e":145}],"v":53}],"y":[{"e":15}]}],"s":[{"t":[{"r":1}]}],"t":[{"a":[{"l":[{"a":[{".":49}]}]}],"e":[{".":6}]},10],"v":[{"a":4,"e":[{".":1}]}]}],"r":[{"a":[{"c":61}],"e":[{"b":24,"p":61,"o":[{"g":73}],"s":[{"k":[{"j":[{"a":31}],"o":146}],"l":61,"p":24,"t":19}]}]},4],"s":[{"j":28},7],"u":[{"e":[{"n":[{".":1}]}],"n":[{"a":4,"e":[{".":1}]}],"r":[{"a":[{".":4}],"e":[{".":1}]}],"v":[{"e":[{".":6}]}]}],"v":[{"e":[{"n":31,"r":[{"r":[{"a":147}]}]}],"å":[{"g":61}]}],"y":[{"d":[{"a":[{".":4}],"e":[{".":1}]}],"e":[{"t":6}],"r":[{"e":[{".":6}],"s":148}],"t":[{"e":[{"r":15}],"i":15}]}],"æ":[{"r":[{"e":[{".":1}]}]}],"ø":[{"v":[{"d":39,"e":[{".":4,"r":35,"t":15}]}]}],"å":[{"k":[{"e":[{"r":15}]}],"l":[{"e":[{".":1}]}],"p":[{"n":39}],"r":[{"e":[{"n":15,"t":2}]}]}]},93],"u":[{"a":149,"b":[{"e":[{"r":[{"g":11}]}]},150],"d":[{"e":152},151],"e":[{"r":[{".":0,"a":11,"e":0}]},92],"f":[{"f":1,"s":[{"a":6}]}],"g":[{"a":0,"i":38,"l":[{"a":[{".":4}]}],"n":6}],"i":[{"m":4},153],"k":[{"a":[{".":0}],"e":11,"n":152},154],"l":[{"e":[{".":0,"k":32,"n":[{"d":[{"e":11},5],"e":93}],"t":11},90],"i":[{"n":0}],"k":[{"a":4,"e":[{".":1}]}],"l":[{"a":[{".":1}],"e":[{".":6}]}],"m":[{"a":[{".":6}],"e":[{".":1}]}],"n":[{"e":[{".":1}]}],"t":[{"e":4},15],"u":153,"v":[{"i":26}],"y":153,"å":90}],"m":[{"a":38,"u":61}],"n":[{"d":[{"e":[{"r":[{"i":36}]}],"r":22}],"e":[{"k":38,"t":155},32],"g":[{"e":[{".":1}]}],"n":[{"s":24},7],"o":90,"s":[{"e":[{".":1}]}],"t":1,"u":38},88],"o":153,"p":[{"i":0,"l":7,"p":85},153],"r":[{"a":[{"f":38,"n":[{"e":11},4]},88],"d":1,"e":[{"n":23,"t":[{".":0,"s":11}]}],"i":156,"k":[{"e":1}],"n":[{"a":4,"e":[{".":1}]}],"o":153,"s":69,"t":[{"a":6,"e":[{".":1,"m":125,"t":4}]}],"u":[{"t":38}],"y":90,"å":38}],"s":[{"a":[{".":0,"s":0}],"e":38,"k":[{"a":90}],"n":38,"p":152,"s":[{"e":12}],"t":[{"e":[{"k":152,"l":38}]},113],"y":[{"r":22}]},150],"t":[{"a":[{"g":[{"e":15},23],"k":90}],"e":[{"n":[{".":0}],"s":[{"k":[{"o":21},15]}]}],"i":[{".":0}],"k":[{"a":[{"n":[{"t":157}]}]}],"n":[{"e":[{".":1}]}],"o":[{"l":38,"v":52}],"r":[{"e":[{"r":4}],"o":[{"v":4}],"ø":90}],"s":[{"e":[{".":4}],"i":[{".":1}]}],"t":34,"u":90},88]}],"v":[{"a":[{"d":[{"a":[{".":1}],"e":[{".":1}]}],"i":23,"k":[{"e":[{".":1}]}],"l":[{"e":[{"s":4}],"g":[{"s":17}]}],"n":[{"e":[{".":1}],"n":[{"s":78},53]}],"r":[{"e":[{"t":[{"a":4}]}],"i":[{"e":5}],"s":[{"k":22}]}]}],"e":[{"e":[{"n":[{".":6}]}],"g":[{"a":[{".":1}],"e":[{".":4}],"i":85,"s":65}],"i":[{"g":65,"s":24,"t":[{"a":23}]}],"l":[{"a":[{"r":[{"t":3},9]}],"d":22,"e":85,"l":22,"o":[{"s":9,"v":26}],"y":1,"æ":6},85],"n":[{"e":[{".":1,"t":1}]}],"r":[{"a":[{".":1,"s":1}],"e":[{".":4}],"m":[{"o":33}],"s":[{"t":[{"e":22},5]}]}],"s":[{"l":1,"t":1}],"t":[{"e":[{".":6},17]}],"v":[{"e":[{".":1}]}]}],"i":[{"d":[{"a":[{".":1}],"e":[{".":4},5],"å":158}],"e":7,"k":[{"a":[{".":1}]}],"l":[{"l":[{"a":[{"t":73}]}]}],"m":[{"a":[{".":4}],"e":[{".":6}]}],"n":[{"g":[{"s":16}],"n":22}],"s":[{"a":[{".":1}],"e":[{".":1,"r":[{"i":4}]}]}],"t":[{"a":[{".":1}],"e":[{".":1}],"r":15}]}],"o":[{"k":[{"s":[{"e":19},41]}],"r":4,"t":[{"a":[{".":4}]}]}],"y":[{"e":[{"n":[{"e":22}]}]},1],"æ":[{"r":[{"a":1,"e":[{".":1}]}]}],"å":[{"d":1,"r":[{"s":36},85]}]},11],"w":[{"a":[{"r":1}],"e":[{"g":1}],"i":[{"e":4}]}],"x":[{"e":7}],"y":[{"e":1,"n":[{"d":[{"a":[{".":6}],"e":[{".":1}]}],"g":[{"e":[{".":4}]}],"k":[{"a":[{".":6}],"e":[{".":4}],"v":1}],"s":28}],"p":[{"p":[{"a":[{".":6}],"e":[{".":1}]}]}],"r":[{"j":[{"a":[{".":6}],"e":[{".":6}]}],"k":[{"a":6,"e":[{".":1,"s":14}]}],"t":4}],"s":[{"t":[{"e":[{"r":[{"i":[{"e":159}]}]}]}]},1],"t":[{"r":[{"e":[{"n":35}]}],"t":[{"e":[{".":4}]},15]}],"v":4},11],"z":[{"j":6},0],"æ":[{"r":[{"e":[{"s":[{"a":53,"t":23}]}]}],"t":[{"t":[{"e":[{".":1}]}]}]},93],"ø":[{"g":[{"l":[{"a":6,"e":[{".":1}]}]}],"i":[{"e":4},15],"k":[{"o":22,"t":[{"a":4,"e":[{".":1}]}]}],"l":[{"e":[{"d":12}],"s":52,"v":52}],"m":[{"m":[{"e":[{".":1}]}]}],"r":[{"e":[{"s":[{"t":46}]}],"j":[{"e":1}],"k":15,"n":[{"a":[{".":6}],"e":[{".":1}]}],"s":[{"k":[{"i":4}],"m":35,"t":12}],"t":[{"a":[{"n":39},6],"e":[{".":6}]}]}],"s":[{"t":1},7],"v":[{"d":1,"e":[{"r":[{"s":160},53]}],"r":[{"e":[{".":1}]}]}],"y":[{"d":[{"e":[{".":4}]}],"e":[{"l":[{"e":[{"g":[{"e":[{".":91}]}]}]}],"n":[{"e":15}]},7],"n":[{"a":4},1],"r":[{"a":4,"e":[{"r":6},1]}],"s":[{"t":[{"r":1}]}]}]},11],"å":[{"e":11,"f":11,"g":11,"k":161,"l":[{"t":4,"u":[{"t":[{".":6}]}]},93],"m":93,"n":[{"d":[{"a":[{".":6}],"e":[{".":1}],"s":47}]}],"p":[{"n":[{"a":4}]}],"r":[{"s":[{"k":24}]}],"s":[{"e":11,"k":12,"l":2,"m":12,"t":[{"e":90}],"v":15}],"t":[{"t":[{"e":[{".":1,"o":[{"g":76}]}]}]},0],"v":11},88]}],"a":[{"a":[{"d":153,"f":[{"t":90},162],"g":1,"k":[{"s":153,"v":22}],"l":[{"a":12}],"m":7,"n":[{".":11,"s":[{"t":49}],"t":[{"r":152}]},150],"p":153,"r":[{"i":[{"e":[{"n":[{"e":33}]}]},163],"n":22}],"s":[{"e":164},7],"t":[{"h":20}],"v":153}],"b":[{"a":[{"b":11,"v":2}],"b":[{"l":84,"u":[{"t":1}]}],"e":[{"l":[{"e":[{"i":23}],"t":78}],"n":[{"a":[{".":39}]}],"s":[{"k":[{"a":49}]}],"v":162}],"h":38,"i":[{"e":[{"r":39},36],"l":[{"a":39}],"s":[{"t":0}]}],"l":[{"a":[{"r":[{"a":35}]}],"o":[{"k":1}],"u":61},69],"o":[{"a":165,"b":24,"e":[{"r":90},24],"k":[{"l":24}],"r":[{"d":90,"t":[{"e":166}]}]}],"r":[{"e":6},69],"s":[{"l":7}],"u":[{"e":[{"l":0},22],"f":0,"s":[{"k":11}],"t":[{"e":0}]}],"y":[{".":0,"b":0,"k":0,"r":24}]}],"c":[{"a":[{".":11},22],"h":[{"e":[{"a":18}]}],"k":24,"o":153},167],"d":[{"a":[{"l":38,"n":[{"t":15}],"r":[{"t":0}]},168],"d":[{"a":35}],"e":[{"b":88,"i":[{"s":19}],"k":88,"l":[{"v":169},0],"n":[{"d":38,"e":90}],"o":88,"p":88,"r":[{".":38,"l":[{"e":170}]}],"s":[{"e":[{"r":171}],"l":90},88],"t":[{".":90,"s":90}]}],"f":[{"e":[{"r":164}]}],"g":[{"e":6},172],"i":[{"e":[{"n":[{"e":23}]}]}],"j":[{"u":172},69],"l":173,"m":172,"n":15,"o":[{"a":61,"b":0,"p":[{"p":2}],"r":[{"a":152},162]}],"r":[{"a":[{"f":15,"n":2}],"e":[{"l":2,"p":15,"t":12},88],"i":[{"d":12}],"o":69,"ø":152}],"s":[{"a":[{"m":[{"t":26}]}],"i":1,"l":[{"e":[{"g":[{"e":[{".":120}]}],"t":9}]}],"t":[{"e":[{"k":20},22],"r":12}]}],"u":[{"n":15}],"v":[{"a":[{"r":[{"e":17}]}],"e":173},172],"y":[{".":0}],"ø":[{"y":169}]}],"e":[{"a":162,"d":[{"e":175,"r":61},0],"k":[{"t":22}],"l":[{".":0,"a":15,"i":12,"o":22}],"n":[{"t":22}],"p":90,"s":[{"k":[{"e":[{".":32}]}],"t":23}]},174],"f":[{"a":168,"c":168,"e":[{".":0,"i":17}],"f":[{"a":[{"n":1}],"e":[{"i":1,"s":18}],"i":[{".":2,"d":18}],"u":9}],"i":[{"a":[{"n":22},176],"b":88,"n":[{"n":97}],"r":[{"e":61}],"t":[{"i":0}]},1],"j":[{"o":38}],"l":[{"a":[{".":35,"r":35}],"e":12,"i":15}],"r":[{"i":[{"k":0},172],"a":[{"s":17}]}],"o":[{"r":[{"a":[{".":61}],"e":[{"n":[{"e":14}]},62]}]},168],"s":[{"l":54}],"t":[{"e":[{"i":22,"l":158}],"o":3,"s":177}],"y":[{"r":15}],"ø":[{"r":[{"i":22},23]}]}],"g":[{"a":[{"a":88,"e":38,"n":[{"f":0,"g":[{"s":141}]}],"r":[{"t":0}],"s":[{".":38}],"v":[{"e":[{".":31}]}]},162],"d":[{"e":15}],"e":[{"l":[{"e":[{"n":152}]}],"m":88,"n":[{"t":178}],"r":[{"a":41,"e":[{"k":31}],"i":[{"s":[{"k":22}]}],"s":152,"u":38}],"s":179,"t":[{"a":0}]}],"é":0,"g":[{"a":[{"r":15,"s":1}],"e":15,"s":180,"u":[{"t":4},61]}],"i":[{".":0,"d":15,"s":31}],"l":[{"a":69,"e":[{"m":1,"s":[{"a":4}]}],"å":15}],"m":[{"o":[{"e":46}]}],"n":[{"o":[{"m":22}]}],"o":[{"d":112,"r":69,"s":38,"t":90,"v":15},162],"r":[{"a":[{"s":2}],"e":69,"i":69,"u":181,"å":69}],"s":[{"a":[{"m":[{"b":1}],"n":[{"g":23}]}],"e":[{"i":34,"l":1,"m":12}],"i":[{"n":[{"g":20}]}],"j":[{"u":4}],"k":[{"a":1,"u":[{"l":23}]}],"l":7,"m":[{"å":[{"l":[{"a":120}]}]}],"t":[{"r":24,"v":82}],"y":7}],"u":[{".":11,"a":[{"y":24}]}],"å":[{"v":[{"a":32,"e":[{".":32}]}]}]}],"h":[{"i":38,"n":26,"v":1},153],"i":[{"a":182,"e":[{"r":[{".":12}]},67],"i":[{"s":1}],"k":[{"e":[{".":15}],"o":15,"v":35}],"n":[{"e":15,"g":90,"n":153,"o":158,"s":[{"m":32}]}],"r":[{"o":69}],"s":[{"e":23,"k":[{"h":183},85],"m":6,"o":[{"m":31}],"s":22,"v":9}],"v":[{"e":15}],"ø":15}],"j":[{"a":[{"d":39}],"e":[{".":93,"s":16},152],"é":0,"i":0,"l":11},153],"k":[{".":168,"a":[{".":162,"d":184,"f":168,"k":[{"s":12}],"n":168,"o":53,"r":[{"b":4},162],"t":[{"r":53}],"u":1},153],"d":173,"e":[{"c":155,"h":88,"i":185,"k":11,"l":[{"e":[{"i":[{"e":[{"r":186}]}]},46],"i":42}],"r":[{"e":[{"k":23}],"ø":0}],"s":[{"m":22,"p":36}],"t":[{"e":93}]},173],"h":[{"e":[{"n":36}]}],"i":[{"d":11,"k":11,"n":[{"d":2}],"s":176},187],"j":188,"k":[{"a":[{"n":[{"d":31}]}],"e":[{".":15,"n":12,"r":[{"s":[{"t":22}]}],"s":1}],"i":[{"m":15,"s":26},5],"j":4,"o":[{"l":24},69],"r":[{"i":3}],"u":[{"l":1},69],"v":26}],"l":[{"e":[{"v":12}],"i":[{"k":4}],"u":[{"s":4}]},189],"n":[{"e":15,"o":38},168],"o":[{"m":[{".":15}],"n":38,"s":152,"v":8},188],"p":[{"e":163}],"r":[{"a":[{"s":[{"a":46}]}],"e":[{"g":[{"i":190},15],"s":12}],"o":[{".":12,"e":12}],"u":69}],"s":[{"a":[{"n":[{"d":26}]}],"e":[{"k":1,"l":[{"o":124,"v":26}],"s":1}],"i":[{"d":40}],"j":[{"e":164}],"k":[{"u":2},129],"l":4,"o":162,"r":162,"t":[{"i":22,"o":[{"l":15}],"r":[{"e":[{"n":16}]},23]}],"u":162}],"t":[{"a":[{"b":1,"i":1,"k":1,"l":[{"e":[{".":36}],"l":22}],"m":4,"n":[{"s":4}],"p":1,"s":1,"v":1}],"e":[{"g":1,"k":1,"m":[{"e":15}]}],"h":162,"i":[{"g":191,"t":15}],"l":[{"e":[{"g":[{"e":[{".":120}]}]}]}],"r":[{"e":4,"å":24},7],"s":[{"l":[{"a":42}]}],"u":[{"e":166}],"æ":109}],"u":[{"t":183}],"v":[{"a":[{"l":12}]},173],"ø":[{"l":15}],"å":38}],"l":[{"a":[{".":167,"d":[{"r":2}],"g":[{"a":39,"m":38,"r":[{"a":46}]},23],"h":38,"i":153,"l":[{"l":12}],"m":[{"e":34}],"n":[{"a":12,"d":[{"e":[{".":38}]},90],"e":38,"g":[{"r":17}],"l":12,"v":12}],"o":23,"p":[{"r":22}],"r":[{".":38,"a":90,"e":[{"n":38}],"k":12,"l":152,"m":178,"r":15,"s":38,"t":12,"v":152}],"s":[{"i":34}],"t":[{"r":61},173],"u":[{"k":15},162],"v":[{"a":23},69]}],"b":[{"a":[{".":1}],"o":[{"g":5}],"u":[{"e":[{"r":[{".":16}]}],"m":166}]}],"d":[{"e":[{"r":2},12],"o":162,"r":[{"e":24}]}],"e":[{"f":88,"g":[{".":155},88],"i":[{"e":[{"n":120}],"k":192}],"k":[{"e":38,"s":0}],"l":[{"i":0}],"m":[{"u":9},88],"n":[{".":6,"h":193,"t":[{"r":194}]}],"p":[{"o":[{"s":23}],"t":152}],"r":[{"e":[{"d":[{"e":[{".":120}]},0]}],"o":195,"u":0}],"s":[{"e":61,"k":[{"r":47},0],"l":0,"u":11},180],"t":[{"a":0,"e":196}],"u":88,"v":[{"a":0,"i":0},22]},173],"f":[{"a":[{"b":164}]}],"g":[{".":173,"e":[{"b":12}],"u":7,"å":[{"r":1}]}],"i":[{"l":[{"l":12}],"m":88,"n":[{".":155,"a":[{".":22}],"d":193,"s":193,"t":12}]}],"j":[{"a":[{".":35}],"e":[{".":12,"n":[{"d":22}],"r":12}],"o":[{"r":1},69],"u":129,"ø":[{"v":19},69]}],"k":[{"e":[{"r":[{"a":35}]}],"s":77}],"l":[{"a":[{"g":[{"a":5,"e":[{".":36}]}],"p":1,"r":[{"t":22}]}],"e":[{"a":15,"g":[{"e":[{".":36}]}],"k":1,"n":[{".":15}],"r":[{"s":[{"t":22}]}],"s":[{"t":1},124],"t":15}],"i":[{"a":164,"d":1,"e":197,"n":[{"e":49}],"s":[{"t":[{".":4}]}]}],"o":[{"m":99}],"s":[{"e":[{"n":23}],"t":[{"i":23}]}],"u":[{"l":4}],"ø":[{"s":[{".":4,"e":1,"t":6}]}],"å":4}],"m":[{"a":[{"l":167}],"e":[{"k":4,"t":1}]}],"n":162,"o":[{".":38,"b":182,"i":38,"m":69,"n":153,"p":[{"e":12}],"r":[{"d":2,"i":[{"t":31},14]}],"v":[{"e":12}],"w":16}],"p":[{"s":12},28],"s":[{"e":[{"d":2}],"k":[{"a":[{"p":35,"r":[{"e":2}]}]}],"l":[{"ø":22},54],"n":7,"p":[{"u":4}],"t":[{"e":[{"r":31},23]}],"u":168},173],"t":[{"a":[{"k":31,"l":[{"e":[{".":46}]}]}],"e":[{"d":12,"m":[{"a":2}],"r":[{"n":[{"a":166}]}],"t":[{"a":26,"e":26},5]}],"o":[{"p":85}]}],"u":[{"k":198,"l":[{"l":[{"a":46}]}],"n":[{"d":15}],"r":[{"e":[{".":32}]}]}],"v":[{"a":[{".":15,"k":[{"s":[{"e":[{".":91}]},22]}]}],"e":[{"d":1,"r":[{"m":199},20],"s":[{".":35},17]}],"i":[{"s":[{"e":46}]}],"o":69,"s":24}],"y":[{"t":[{"e":201}]},200],"ø":[{"s":[{"e":22}],"v":12}],"å":[{"t":40},153]}],"m":[{"a":[{"h":0,"i":[{"s":22}],"k":[{"i":38,"s":12},88],"l":[{"d":15},88],"n":90,"r":[{".":90,"a":38}],"s":[{".":152,"o":58}],"t":[{"ø":178}]}],"b":[{"a":[{"r":1,"s":164,"t":1}],"e":15}],"e":[{"i":[{"e":12,"s":90},88],"k":[{"s":12},88],"n":[{"d":[{"e":[{".":46}]}],"s":43,"t":[{"a":[{"r":[{"v":202}]}]}]}],"r":[{"a":[{"m":23}],"e":[{"t":0}],"i":[{"n":162},178]}],"u":22}],"h":[{"u":16}],"i":[{"n":[{"a":61,"e":61}],"s":[{"k":[{"u":5},203]}]},173],"l":[{"e":[{"s":[{"e":1,"t":4}]}]}],"m":[{"a":[{"d":1}]}],"n":[{".":168,"e":[{"d":1}]}],"o":[{"e":22,"p":69,"r":69,"v":[{"e":31}]},88],"p":[{"a":[{"p":1,"r":[{"e":1}]}],"e":[{"i":22,"r":[{"i":[{"a":6,"e":4}]}],"s":120}],"i":[{"n":[{"n":61}]}],"l":[{"e":[{"t":9}]},107],"r":[{"e":25}],"u":[{"n":1}],"å":7}],"r":[{"u":5,"å":15}],"s":[{"k":[{"u":40}],"l":23,"t":[{"r":85},36],"u":[{"t":39}],"v":[{"e":26},28],"ø":7},69],"t":[{"i":[{"d":[{"a":17}]},12],"m":166,"v":2}],"u":[{"l":4}],"y":[{"r":15}],"ø":[{"y":15}]}],"n":[{"a":[{".":168,"k":[{"t":[{"e":[{".":46}]}]}],"l":[{"a":24,"f":5,"y":164}],"n":[{"e":90,"g":38,"t":91},167],"r":[{"b":11,"t":15},162],"t":[{"o":24}],"u":[{"s":58},204],"v":[{".":35}]}],"b":[{"e":[{"f":164}]}],"d":[{".":162,"a":[{"m":205,"t":[{"a":17}]}],"e":[{"k":1,"n":15,"r":[{"l":[{"e":51}]}],"t":35}],"o":[{"s":1},168],"s":[{"e":[{"l":23,"n":[{"d":32}]}],"l":[{"e":[{"t":61}]}],"t":[{"r":[{"e":19}]}]},162]}],"e":[{"d":88,"g":[{"g":15}],"l":[{"v":169,"u":64}],"m":88,"n":173,"r":[{"m":[{"e":206}],"u":24},173],"s":[{".":38,"t":0,"v":22}],"t":[{"i":[{"k":[{"a":20,"e":38,"k":20}],"s":9}]}],"v":88}],"f":[{"a":[{"l":164}],"ø":[{"r":[{"e":[{".":17}]}]}]}],"g":[{"e":[{"d":1,"n":[{"h":26}],"r":[{"m":[{"e":22}]}],"s":[{"t":[{"e":6}]}]},23],"i":[{".":1,"v":166}],"o":[{"f":22,"s":15}],"r":[{"a":207,"e":[{".":1,"s":4,"t":1}],"y":85}],"s":[{"m":23,"t":[{"r":[{"o":36,"å":208}],"y":14}],"v":[{"a":22}],"ø":[{"y":31}]}],"t":[{"r":[{"e":53}],"v":[{"e":19}]}],"u":[{"n":1}],"å":[{".":1}]}],"i":[{"a":16,"b":11,"s":[{"j":0}],"v":162}],"k":[{"a":[{"n":[{"a":1}]}],"i":162,"j":162,"o":[{"b":1,"p":1,"s":1}],"r":[{"a":[{"n":[{"a":[{".":91}]}]}],"e":24},129],"u":[{"t":24}],"v":209,"ø":1,"å":83}],"l":[{"a":[{"n":[{"d":123}]},173],"ø":[{"p":[{"a":49}]}]}],"n":[{"a":[{"n":[{"s":22}]}],"e":[{"m":[{"e":4}],"n":15,"r":15}],"i":[{"d":15,"n":[{"n":1}]}],"o":[{"m":1,"n":166,"v":1}],"s":[{"e":[{"i":23}],"i":[{"d":23}],"k":[{"å":127}],"l":31,"t":[{"a":22},24],"u":41}],"y":1,"ø":7}],"o":[{".":90,"a":[{".":155}],"d":[{"e":[{"b":31}]}],"g":173,"r":[{"m":152}],"t":11,"v":[{"a":22,"e":12},210]}],"r":[{"i":[{"k":[{"e":16}]}]}],"s":[{"a":[{"f":[{"t":22}],"k":[{"a":16}],"n":162,"t":164}],"e":[{"k":1,"n":[{"t":1}],"r":[{"i":[{"e":[{"n":[{"e":211}]}]}]}],"s":1}],"i":[{"k":164,"n":[{"d":22,"s":22}]}],"k":[{"i":1,"j":12,"l":41,"u":[{"n":31}],"ø":15}],"l":[{"ø":4}],"n":1,"o":[{"r":22}],"p":[{"i":85,"o":[{"r":[{"t":[{"s":212}]}]}]}],"t":[{"a":[{"r":168}],"e":214,"u":109,"i":215},213],"u":[{"n":[{"d":[{"a":166},57]}]},173],"v":[{"e":162},216],"y":168,"å":1}],"t":[{"a":[{"l":[{"a":46}],"n":[{"d":20,"s":1}]}],"e":[{"d":12,"m":[{"i":22}],"n":[{"n":166}],"s":[{"l":1}]}],"i":[{"k":[{"l":16}],"m":1}],"o":[{"i":15,"r":[{"d":22}]}],"r":[{"a":[{"b":22}],"o":[{"m":61}],"y":[{"g":22}]}],"s":19,"u":[{"l":1,"s":[{"t":103}]}]}],"u":[{"s":[{"a":16}],"t":15},173],"v":[{"e":[{"n":164}],"i":[{"n":168}]}],"y":[{"a":0},168],"æ":[{"r":46},217],"ø":[{"k":88},173],"å":2}],"o":[{"a":35,"g":39,"i":88,"k":70,"n":[{"d":[{"e":[{".":32}]}]}],"p":7,"r":1},153],"p":[{"e":[{"a":38}],"é":152,"i":[{"a":88,"d":69,"k":11,"n":[{"s":11}],"o":88,"r":[{"e":77},47],"s":[{"e":61}]},153],"j":69,"l":[{"a":[{"s":149},153],"i":12,"o":35,"y":7}],"o":[{"l":162,"n":0,"o":0,"p":24,"s":[{"t":[{"i":42}]}],"t":88}],"p":[{"a":[{"r":[{".":162,"e":168},218]}],"e":[{"s":[{"k":61}]}],"l":[{"a":[{"s":15}],"e":1,"i":15}],"r":[{"i":4}]}],"r":[{"a":12,"e":[{"n":15,"t":15}],"i":[{"n":12}]}],"s":[{"a":5,"e":[{"l":12,"s":5}],"l":219,"y":90,"ø":26},129],"u":[{"t":97},167],"y":153,"ø":[{"l":[{"s":220}]},2],"å":[{".":38}]}],"r":[{"a":[{"b":[{"i":39}],"k":[{"s":15,"t":17}],"l":[{"t":12}],"m":[{"i":0}],"n":[{"o":[{"r":0}],"s":0,"v":0},173],"r":173,"s":[{"s":169}],"t":[{"e":[{".":22}]}],"u":[{"g":15,"k":[{"e":[{"n":49}]},2]}],"v":[{"h":2}]},153],"b":[{"a":[{"n":[{"e":[{".":46}]}]},173],"e":[{"h":168,"n":162,"t":168}],"i":173,"j":162,"l":168,"o":[{"d":[{"a":46}]},173],"r":173,"u":173,"y":173,"ø":173,"å":162},172],"d":[{"e":[{"b":2,"l":[{"i":4}]}],"f":[{"ø":[{"r":[{"e":14}]}]}],"r":[{"e":24}],"s":[{"t":[{"a":22}]}]}],"e":[{"a":[{"r":162},184],"b":[{"a":[{"r":103}]},0],"d":88,"f":88,"i":[{"n":24},88],"k":[{"t":97},88],"l":[{"a":0,"e":[{"k":2}],"i":221}],"m":[{"n":2,"o":[{".":38}]}],"n":[{"a":164,"g":97,"i":0,"t":[{"e":[{"s":17}]}]}],"o":88,"p":88,"r":[{"e":[{"l":11}],"f":[{"a":169}],"k":11,"o":0,"ø":11}],"s":[{".":38,"k":[{"a":46}]}],"t":[{"a":[{".":152}]},1],"v":[{"a":40,"n":[{"e":[{".":36}]},12]},0]},153],"é":222,"f":168,"g":[{"h":40,"i":20,"j":168,"l":23,"o":2,"s":[{"t":[{"j":22}]}]}],"i":[{"a":[{"n":[{"e":16}]}],"b":[{"a":33},90],"d":[{"r":15}],"m":0,"n":[{"n":12,"s":[{"k":33},12],"t":12}],"s":[{"e":[{"a":103},24],"t":[{"o":0}]}],"v":88},188],"k":[{"a":[{"u":1}],"e":[{"s":223},12],"h":[{"a":15}],"i":[{"t":164,"v":164}],"l":[{"e":1,"ø":[{"f":26}]}],"o":[{"d":4}],"s":[{"t":[{"e":31,"r":23}]}],"v":[{"e":[{"g":61}]}],"ø":[{"y":1}]}],"l":[{"a":[{"g":[{"a":5}]}]}],"m":[{"a":[{"p":1}],"b":[{"å":166}],"e":[{"d":[{"i":1}],"t":[{"r":4},16]}],"i":[{"n":[{"f":1}]}],"l":[{"e":[{"n":[{"e":[{".":120}]}]}]}],"å":[{"l":[{"a":36}]}]}],"n":[{"a":[{"d":1,"l":1}],"e":[{"v":[{"a":[{"l":[{"a":170}]}]}]}],"i":12,"o":12,"u":12,"å":12},224],"o":[{".":153,"d":[{"e":[{".":32}]}],"k":38,"n":153,"p":[{"a":31},69],"r":225,"s":[{"t":2},153],"t":153,"v":[{"e":12}]}],"p":[{"e":[{"d":4}],"o":35,"r":[{"e":[{"t":22}]}]}],"r":[{"a":172,"e":[{"e":15,"s":[{"k":2}]}],"i":[{"e":105}],"å":[{"d":[{"a":36}]}]}],"s":[{"a":[{"k":[{"a":36}],"n":[{"s":22}]}],"e":[{"l":12,"r":[{"s":3}]}],"i":[{"n":1}],"k":[{"a":[{"m":22,"r":15}],"e":[{"s":22}],"r":[{"e":61}]}],"p":[{"r":1}],"t":[{"r":31}],"v":[{"e":[{"i":23}]}],"æ":61},173],"t":[{"a":[{"l":[{"a":5,"e":[{".":36}]}]}],"e":[{"l":[{"e":2}],"t":[{"s":167}]},12],"h":[{"a":[{".":23,"s":23}]}],"i":[{"k":[{"a":1}],"m":226}],"n":162,"o":[{"p":1},162],"r":[{"a":39,"i":[{"n":4}]},168],"s":[{"t":47,"ø":17}],"u":168,"y":[{"v":1},167]}],"u":[{"l":69,"n":69,"r":20,"s":153,"t":[{"b":15,"n":15}]}],"v":[{"e":[{"s":18,"t":[{"e":4}]}],"i":[{"s":[{"a":46,"e":[{".":46}]}]}]}],"y":153,"æ":40,"ø":[{"v":[{"e":[{".":32}]}],"y":69}],"å":[{"d":[{"e":[{".":32}]}],"p":2,"t":97},153]}],"s":[{".":168,"a":[{"b":5,"k":5,"l":[{"o":0}],"n":4,"u":[{"g":2}]},187],"b":[{"e":183}],"c":153,"e":[{".":88,"a":5,"d":88,"g":88,"k":88,"l":[{"e":22},1],"m":88,"n":[{"e":[{"t":11}],"k":0}],"o":[{"l":152}],"s":[{"t":11},227],"t":[{"e":0}],"u":228}],"h":[{"u":15},7],"i":[{"b":0,"p":88,"r":88,"s":[{".":152,"t":17}],"v":88}],"j":[{"a":1,"e":[{"t":[{"t":11}]}],"o":[{"r":15}]}],"k":[{"a":[{"r":12}],"e":[{"t":[{"i":15},31]}],"i":[{"s":15},28],"j":38,"o":[{".":15,"e":15,"p":[{"i":169}],"r":12,"t":12}],"r":[{"a":2},153],"u":[{"l":[{"a":149,"e":4},12],"t":143}],"v":1,"ø":[{"y":22}]}],"l":[{"a":[{"g":[{"a":46},229]}],"e":[{"v":1}],"i":[{"t":1}]},69],"o":[{".":0,"m":230,"v":15},153],"p":[{"a":[{"n":1}],"e":12,"i":[{"s":2}],"l":15}],"s":[{"a":[{".":35,"b":1,"l":[{"d":22,"t":22},1],"m":1}],"e":[{".":15,"d":1,"k":1,"r":[{"i":[{"e":231}],"v":1}],"s":1}],"i":[{"f":[{"r":4}],"n":[{"g":15}],"s":18,"t":1}],"j":7,"k":[{"u":[{"l":[{"e":[{".":120}]}]}]},232],"n":107,"o":[{".":15,"a":49,"s":[{".":2}]}],"p":232,"t":[{"a":[{"n":1}],"r":[{"u":22},1]},107],"v":129,"y":[{"s":1}],"ø":[{"k":1}],"å":233}],"t":[{"a":[{"b":4,"n":[{"d":[{"e":11}]}],"t":[{"u":0}]},69],"e":[{".":15,"d":12,"g":1,"k":1,"n":[{"h":26}]}],"j":153,"o":[{"f":155,"k":38,"s":20,"v":22}],"r":[{"e":[{"n":22}],"o":1}],"u":[{"a":35,"v":[{"e":[{".":46}]}]}],"ø":[{"v":42}]}],"u":[{"n":24,"s":[{"a":39}]},153],"v":[{"a":69}],"y":[{"m":11,"n":[{"d":16}]}],"ø":[{"y":[{"e":2}]}],"å":15}],"t":[{".":162,"a":[{"e":[{"n":[{"e":38}]}],"f":4,"k":[{"a":[{".":32}]}],"l":[{"a":[{".":32}]}],"n":[{"g":0}],"r":[{"a":[{"r":39}],"v":96}],"s":[{".":38},5],"t":46,"u":88,"v":[{"h":15}]},234],"c":[{"h":17}],"e":[{"a":88,"c":88,"d":[{"d":2}],"e":88,"i":[{"d":15,"g":12,"n":24},0],"k":[{"a":0,"e":[{"t":[{"a":58}]},112],"t":[{"e":97}]}],"l":[{"e":61}],"m":[{"b":12}],"n":[{"e":[{".":38}],"i":0,"u":0},162],"o":88,"r":[{".":38,"a":[{"t":11}],"e":[{"k":93}],"i":[{"l":0}]},162],"s":88,"t":[{"t":193}],"u":3}],"é":0,"f":[{"e":[{"r":164}]}],"h":[{"a":[{".":1,"s":6}]}],"i":[{"k":[{"k":[{"a":36}]}],"l":[{"i":14}],"n":[{"e":[{"a":22}]}],"r":[{"e":[{"p":23}]}],"s":[{"t":[{"a":32}]}]},162],"j":[{"o":12}],"l":[{"a":[{"n":[{"t":166}]}],"ø":[{"y":39}]}],"m":[{"o":[{"s":164}]}],"n":[{"e":[{"l":1}]}],"o":[{"a":22,"g":[{"r":22}],"i":69,"m":88,"p":[{"p":[{"r":97}]}],"r":153,"s":[{"e":38}],"v":235}],"r":[{"a":153,"e":[{"g":15,"n":12,"r":12}],"i":[{"f":0,"n":12}],"o":[{"t":15}],"u":155,"ø":[{"s":15,"y":15}]}],"s":[{"e":[{"r":12}],"j":[{"e":2}],"k":[{"a":[{"t":40}],"j":2,"u":[{"l":31}]}],"ø":107},173],"t":[{".":162,"a":[{"t":4}],"e":[{".":236,"n":[{"s":15}]}],"f":[{"ø":[{"r":[{"e":58}]}]}],"i":[{"d":1,"s":[{"e":22},5],"t":12}],"o":[{"p":77,"v":36},54],"r":[{"a":[{"f":1}],"e":85,"i":[{"n":4}]},69],"s":[{"k":75,"l":112,"p":24,"v":24}],"y":[{"s":4}],"ø":237}],"u":[{"e":42,"t":88},153],"v":[{"i":[{"e":[{"r":[{".":17}]}]}]},15],"w":238,"y":[{"r":[{"k":[{"e":[{".":46}]}]}],"v":149},153],"ø":[{"r":[{"s":18}],"s":[{"e":39}],"y":169},153],"å":[{".":90,"a":152,"e":153,"r":15,"s":[{"e":9}],"t":239}]}],"u":[{".":162,"a":[{"r":[{".":35}]},240],"b":[{"a":[{"n":[{"e":[{".":36}]}]}]},236],"c":12,"d":[{"a":[{".":15}],"e":[{"t":35}],"i":[{".":1}]}],"e":[{"n":2,"r":[{"e":22},2],"s":[{"t":12}],"t":[{"a":3,"e":[{".":20}]}]},241],"g":[{"a":[{"l":1,"s":1}],"e":[{"l":[{"e":[{"g":[{"e":[{".":242}]}]}]},1]}],"n":243,"u":164}],"i":15,"k":[{"e":[{"l":[{"i":15}],"t":15}],"l":[{"a":22}],"s":244,"v":[{"e":15}]}],"l":[{"a":[{"s":4,"t":1}],"l":[{"a":32},22],"u":15}],"m":[{"e":[{"n":35}],"o":4,"s":[{"k":19,"t":134}]}],"n":[{"d":38}],"r":[{"a":[{"e":15}],"e":[{"s":17,"t":15}],"i":15,"s":19,"u":[{"e":5},69]}],"s":[{"a":69,"k":[{"j":39,"r":4}],"o":69,"s":22,"t":[{"a":[{"s":111}],"e":[{"t":[{"t":32}]}],"i":[{"s":[{"e":127},120]}],"o":[{"n":31}],"r":[{"a":4,"i":4},15]}],"u":[{"n":1},69],"ø":245}],"t":[{"a":[{".":12,"r":2},31],"e":15,"o":[{"v":17},172],"r":[{"e":34}],"y":1}],"x":173}],"v":[{"a":[{"b":15,"e":38,"g":61,"l":[{"v":12},168],"n":[{"d":193,"g":12,"l":169,"s":246}],"r":[{".":155,"t":[{"a":[{".":36}]},12]}],"s":162,"t":[{"a":36}]},153],"b":[{"i":166}],"d":[{"e":[{"l":164}]},172],"e":[{"d":[{"e":[{".":38}]},247],"i":[{"l":152,"n":24}],"k":88,"l":[{"a":0,"e":[{"g":38},0]}],"n":[{"s":103}],"r":[{".":38,"a":[{"s":61}],"d":17,"e":[{"i":11}]}],"s":88,"v":88},188],"f":[{"a":172}],"g":172,"i":[{"a":[{"r":23}],"g":248,"k":[{"e":39},153],"n":[{"t":169},153],"r":173,"s":[{"a":[{".":22},166],"e":249,"i":[{"n":[{"g":15}]}],"t":18}],"t":38}],"l":[{"u":[{"t":49}],"ø":[{"s":[{"e":17}]}]}],"n":[{"a":2,"e":[{"s":1}]},168],"o":[{"k":0,"r":24,"v":23},153],"r":[{"e":[{"s":1}],"i":15},69],"s":[{"a":69,"e":[{"g":15}],"i":28,"k":[{"o":[{"g":58}]}],"n":[{"i":164}],"p":[{"e":[{"g":250}]},8],"t":[{"e":23}],"u":15,"v":8}],"t":[{"a":[{"k":[{"a":49}]}]},172],"u":173,"v":[{"i":172}],"ø":[{"l":12}],"å":[{"l":251},187]}],"w":[{"a":[{"t":5},153],"e":[{"n":[{"e":39}]},38],"i":153}],"y":[{"a":[{"n":[{"e":[{".":2}]}],"r":15},7],"s":[{"t":84}],"t":229}],"z":[{"u":38,"z":[{"o":24}]}],"ø":153,"å":252}],"b":[{"a":[{"a":12,"b":[{"y":[{"s":1},17]}],"c":[{"l":15}],"d":[{"a":[{".":1,"n":2}],"d":38,"e":[{".":6,"b":1,"n":[{".":15,"s":2}]}],"i":12,"s":54},7],"f":162,"k":[{"a":[{"n":254,"r":[{"s":170},12]}],"e":[{"n":[{"d":[{"e":[{".":120}]},26]},12],"r":12,"s":18,"t":[{".":35,"t":39}]}],"i":[{".":6},12],"k":[{"e":[{"r":[{"s":31}]}],"o":31,"r":22}],"r":[{"e":23,"i":15,"o":24},162],"s":[{"m":24,"p":22,"t":[{"i":19,"r":22}]}],"t":77,"v":54},7],"l":[{"a":[{"k":61},12],"e":[{"s":1}],"i":[{".":1}],"j":24,"l":[{"a":[{"g":23,"n":23}],"e":[{"d":23,"g":23,"i":23,"v":23}],"i":[{"g":23}],"o":[{"v":31}],"s":80,"æ":31}],"o":69,"t":22,"u":69}],"n":[{"a":[{".":1,"n":15,"r":15},23],"d":[{"a":39}],"e":[{"l":1,"s":1}],"k":[{"a":[{"p":31}],"o":[{"r":23}],"u":255}],"t":[{"u":14}]}],"r":[{"e":[{"t":[{"t":14}]},12],"i":[{"e":[{"n":202}]},12],"k":[{"s":17}],"s":[{"k":[{"r":22}]}],"t":[{"r":22}],"u":15}],"s":[{"e":[{"n":15,"r":[{"u":1}],"t":1}],"i":12,"k":129,"s":[{"a":[{"k":31,"n":23}],"i":[{"s":139},103],"o":23,"t":[{"r":36},23]}],"t":7,"u":94}],"t":[{"a":69,"r":189,"t":[{"i":31}]}],"u":[{"l":[{"a":39}]}],"v":168,"z":15},253],"b":[{"a":[{"k":11,"r":[{"b":169}],"s":[{"e":11}]},90],"e":[{".":90,"b":0,"d":[{"a":0}],"f":88,"g":0,"h":11,"i":[{"e":12,"g":15},88],"k":88,"l":[{"o":11,"t":[{"e":190},256]}],"m":0,"n":[{"e":[{".":155}]}],"o":88,"r":[{"f":169},90],"s":[{"k":[{"a":152}]},257],"t":[{"a":11,"e":[{"n":11}],"i":0,"o":11,"r":11}],"v":88}],"h":258,"i":[{"e":143,"n":[{"n":169}]},90],"l":[{"e":[{"n":2}]},259],"o":[{"p":15}],"r":[{"e":[{"k":15}]}],"u":[{"r":[{"a":39}],"t":[{".":15,"e":15}]}],"y":[{"e":24,"k":54},227],"ø":0,"å":11},188],"c":173,"d":[{"e":[{"k":88,"n":152,"p":0}]},188],"e":[{"a":[{"u":7}],"b":[{"o":[{".":1,"e":[{"r":[{".":17}]}],"k":49}]}],"d":[{"a":[{".":1,"r":35}],"e":[{"r":12}],"i":[{"e":260}],"r":[{"e":[{"d":22},1]}],"s":261,"y":[{"r":[{"a":49}]}],"å":262}],"e":[{"d":15,"f":4},173],"f":[{"a":[{"r":[{"e":17}]}]},0],"g":[{"a":[{".":1},16],"i":[{".":1}],"n":1,"o":15,"r":[{"e":[{".":26,"n":[{"e":[{".":26}]}]}]}],"å":[{".":1}]},12],"h":[{"a":[{".":4,"g":16}],"e":[{"r":[{"s":170}]}],"u":162,"å":[{"r":5}]}],"i":4,"k":[{"e":15,"i":107,"k":[{"e":[{"l":31,"r":14,"s":23}]}],"l":31,"s":162}],"l":[{"a":[{"b":85,"g":[{"a":49}]}],"e":[{"i":[{"e":22,"g":22,"n":22}],"k":1}],"i":[{"n":[{"a":49}],"v":49}],"l":[{"e":[{"s":[{"a":14}],"t":22}],"æ":22}],"o":129,"s":[{"p":42,"t":134}],"t":[{"a":[{"g":23}],"e":[{"s":263}],"ø":41}],"u":24,"v":22,"æ":[{"r":[{"e":17}]}],"å":[{"n":[{"e":16}]}]}],"n":[{"a":[{"t":15},1],"e":[{"d":162,"s":[{"t":1}]},12],"g":22,"i":15,"s":[{"i":42,"k":[{"j":22}],"p":22}],"t":[{"e":22}]}],"p":173,"r":[{"a":[{"i":162,"s":2}],"d":22,"e":[{"p":1,"s":[{"t":167}],"t":[{"e":17}]}],"g":[{"a":23,"e":[{"n":[{"d":[{"e":53}]}],"s":22}],"j":18,"l":18,"o":18,"å":41}],"i":[{"b":15,"k":[{"e":17}],"s":2}],"k":[{"l":31}],"n":[{"a":22,"e":22}],"o":[{".":1,"a":49},69],"r":[{"i":120}],"t":[{"e":22,"i":22}],"u":[{"s":[{"a":49}]},69],"ø":[{"v":17}]},0],"s":[{".":166,"e":[{".":1}],"i":[{"k":162},9],"j":168,"k":[{"e":22,"n":47}],"n":[{"e":61},12],"o":[{"v":49},265],"p":15,"s":[{"a":266,"e":[{"l":31}],"i":61},24],"t":[{"e":[{"n":[{"s":61}],"s":[{".":15},31]}]}],"å":4},264],"t":[{".":166,"a":[{"b":1}],"e":[{"i":162,"s":2},12],"o":[{"n":[{"e":17}]}],"r":[{"a":[{"r":4}],"e":[{".":4}],"i":85}],"u":162,"y":[{".":1}]},178],"v":[{"a":[{"r":[{"e":17}]}],"e":[{".":4}],"i":[{"s":[{"e":[{".":17}]}]}],"o":35,"r":39}],"å":[{"n":49},168]},172],"é":191,"f":267,"g":168,"h":[{"u":54},173],"i":[{"a":[{"k":15}],"b":[{"l":[{"a":4}]}],"c":[{"e":15}],"d":[{"e":[{"e":15}],"é":6,"r":31,"u":46},69],"e":[{"l":[{"e":4},15],"r":[{"v":15}]}],"f":[{"a":162}],"g":15,"k":[{"a":12,"k":[{"i":31},54],"l":9,"r":268}],"l":[{"a":[{".":4,"p":26,"s":1,"u":1}],"e":[{"t":[{"r":14},12]}],"i":[{"n":1}],"j":24,"l":[{"a":[{"g":[{"a":91}]},22],"e":[{"g":22}]}],"m":19,"o":54}],"m":269,"n":[{"a":[{"n":[{"s":1}]}],"g":[{"o":[{"l":23},14]}],"o":2,"t":248}],"o":[{"m":[{"s":270}]},61],"p":162,"r":[{"i":[{"s":[{".":2}]},223],"k":[{"e":[{"n":23}]}],"o":69}],"s":[{"a":28,"e":12,"h":[{"i":31},38],"k":[{"e":61}],"l":[{"a":9}],"n":167,"p":[{"i":53},1],"s":[{"e":22}],"t":[{"a":20,"i":[{"l":23}],"r":[{"u":22}]},69],"v":34}],"t":[{"a":[{".":4}],"e":[{".":1,"s":15}],"i":[{".":6}],"r":[{"e":1,"i":4}]}]},253],"j":[{"a":[{"r":18}],"e":[{"k":[{"t":[{"o":271}]}]}],"ø":[{"r":31}]}],"k":[{"h":38},272],"l":[{"a":[{"d":[{"a":18},184],"f":144,"g":[{"a":32}],"k":[{"r":17}],"m":[{"e":22}],"n":[{"d":[{"a":49}],"k":[{"e":17},0],"t":0}],"r":[{"a":[{"r":93}]},153],"t":90,"u":23}],"e":[{"f":0,"i":[{"e":[{"r":17},273]}],"k":[{"a":41,"e":[{"s":22}]},0],"m":[{"o":23}],"r":[{"a":77},90],"s":[{"a":11,"s":[{"e":[{"n":[{"e":186}]}]}],"t":0}],"t":173}],"i":[{"k":[{"e":39}],"m":[{"a":22,"e":22}],"n":[{"g":[{"s":[{"i":123}]}]}],"s":[{"s":18}]}],"j":[{"a":5},38],"o":[{"d":[{"r":31}],"k":172,"m":[{"m":17}]}],"u":[{"e":[{"s":203}],"s":[{"a":39}]},11],"y":[{"g":[{"l":61}]}],"æ":[{"r":[{"e":[{".":22}]}]}],"å":[{"n":22,"r":24,"s":[{"a":61,"e":[{".":22}]}]}]},7],"m":274,"n":[{"e":[{".":90,"r":90,"s":[{".":152}]}],"i":152},168],"o":[{"a":[{"s":42}],"b":[{"b":[{"a":[{"n":[{"e":[{".":120}]}]}],"y":[{".":22,"e":39}]}],"l":[{"a":61},7],"s":5}],"d":[{"e":12,"i":[{"n":4}],"r":21,"ø":7}],"e":[{"f":162,"n":172,"r":7,"t":[{".":1}]}],"f":275,"g":[{"e":[{"l":1}],"n":16,"s":54}],"h":173,"j":173,"k":[{".":164,"a":7,"e":[{"l":4,"t":85}],"i":54,"k":54,"o":[{"p":4}],"r":[{"i":3}],"s":[{"i":[{"d":[{"a":91}]}],"p":5},276],"u":7,"v":[{"e":24}]}],"l":[{"e":[{"i":[{"e":22}]}],"i":[{"n":16},2],"o":[{".":2,"i":15,"r":158}],"s":[{"p":42,"t":120}]},0],"m":[{"b":[{"e":[{"l":23}]},172],"m":22,"o":4,"s":177}],"n":[{"a":[{"p":15,"t":[{"o":22}]}],"n":[{"e":22},162],"s":5,"u":[{"s":15}]}],"o":[{"m":176},31],"p":182,"r":[{"a":[{".":1},69],"e":[{".":4,"l":2,"n":12,"t":[{"e":1},12]}],"i":[{".":4}],"o":12,"t":[{"e":[{"f":127,"i":31,"s":23,"t":127}],"i":23,"s":80}]}],"s":[{"e":[{"t":[{"e":[{".":46}]}]}],"k":[{"a":164}],"l":7,"s":[{"e":22}],"t":[{"o":1}]},277],"t":[{"a":[{".":1,"k":1,"l":1}],"e":[{".":4}],"o":278,"r":279,"v":280},172],"u":[{"c":24}],"v":281,"w":[{"e":23}],"y":4},88],"p":[{"l":152},162],"r":[{"a":[{"k":[{"a":22,"s":17}],"s":[{"e":22}]},253],"e":[{"d":[{"s":[{"p":17}]}],"i":[{"e":17,"s":18}],"t":[{"t":[{"e":16}]}],"v":[{"i":[{"e":[{"r":[{".":33}]}],"n":23}]},11]}],"i":[{"a":22,"o":0}],"o":[{"a":[{"r":39}],"s":177},88],"u":[{"k":[{"e":22,"s":43}],"n":[{"a":[{".":61},23],"e":[{"s":22}]}],"p":[{"l":22}],"r":[{"e":[{"n":61}]}],"s":[{"a":22,"l":5}]},178],"y":[{"n":[{"s":5}]},172],"ø":[{"d":[{"e":22}]},178],"å":[{"e":36,"n":[{"e":39}],"t":[{"e":[{".":22}]}]}]},6],"s":[{"e":[{"a":[{"m":282}],"l":169},1],"i":149,"k":23,"l":[{"i":0}],"m":88,"o":[{"f":259}],"t":[{"f":284},283],"v":252,"å":22},200],"t":[{"s":252},274],"u":[{"a":[{"r":1}],"b":162,"d":[{"a":12,"d":[{"h":19}],"e":12}],"e":[{"m":265,"n":[{".":1,"e":35}],"r":[{".":1}],"s":22}],"i":[{"s":4},69],"k":[{"i":168,"l":24}],"l":[{"a":15,"e":[{".":1}],"l":[{"e":24}]}],"n":[{"d":[{"e":61,"s":43}],"g":[{"e":[{".":32}]}],"k":[{"r":18}],"n":[{"l":[{"a":[{"g":[{"a":242}]}]}],"s":18}]}],"o":285,"p":69,"r":[{"a":[{".":4}],"e":[{".":1}],"o":265,"u":12}],"s":[{"e":[{".":1},31],"h":[{"e":53}],"k":[{"ø":16}],"s":[{"e":[{"k":31,"l":23,"n":[{"t":31}],"t":[{"e":[{".":120}]},31]}],"j":31,"n":23,"p":23,"t":23,"v":18}],"t":[{"r":162},69],"y":162}],"t":[{"a":[{"l":1},69],"e":[{"m":2}],"g":38,"s":[{"t":162}],"u":7,"ø":69}],"v":162,"ø":168},184],"v":188,"w":248,"y":[{"a":[{"l":15,"r":[{"e":35}]},28],"d":[{"e":[{"p":2}]}],"e":[{"n":[{".":1,"e":2,"s":15}],"r":[{"s":12},7]}],"g":[{"e":[{".":1}],"l":24}],"i":164,"l":[{"o":69,"ø":162}],"n":15,"r":[{"e":[{".":4},69]}],"s":[{".":166,"e":162,"i":168,"p":168,"t":[{"e":1},5],"v":162},69],"t":[{"a":[{"r":15}],"e":[{".":1}],"r":69}],"v":286},172],"æ":[{"r":[{"a":[{"r":[{".":4},15]}],"e":[{".":1,"n":15,"r":[{".":15,"e":15}],"s":[{".":15}],"t":[{".":15}]}],"i":[{"s":26},12],"u":12}]}],"ø":[{"e":[{"n":[{"s":2}]},1],"f":24,"k":[{"e":[{"s":1}]}],"l":[{"a":[{".":4}],"e":[{".":4}]}],"n":[{"e":17,"n":[{"e":[{"s":31}]}],"o":61},7],"r":[{"e":[{".":4}],"s":[{"k":53,"p":23,"t":[{"a":[{".":46}]},18],"v":18}]}],"t":[{"a":15}],"v":69,"y":[{"a":[{"r":61}],"e":[{"n":[{"e":23}],"s":23,"t":23},17]}]},253],"å":[{"d":[{"e":[{"s":35},1]}],"e":[{"n":[{"e":2}]},4],"l":[{"a":1}],"r":[{"e":[{"g":4,"p":1},69]}],"s":[{"t":[{"e":85,"i":21}]}],"t":[{"j":3,"o":4,"r":22}]},253]}],"c":[{"a":[{"b":23,"e":1,"l":[{"e":15}],"m":[{"e":15,"o":15}],"p":[{"e":[{".":1}],"r":[{"i":[{"s":4}]},54]}],"r":[{"a":12,"n":22,"o":15,"t":[{"e":[{".":23}]}]}],"s":[{"a":287,"e":[{"t":4}],"h":17,"t":[{"i":[{"l":9}],"o":22}]}],"t":[{"h":[{"r":288},17],"o":[{".":1}]},69]},253],"b":168,"c":[{"i":153},162],"d":[{"e":31},88],"e":[{"b":[{"o":49}],"d":12,"i":69,"l":[{"e":15,"l":[{"e":[{"s":23,"v":23}]}]},172],"n":[{".":164,"e":[{"d":1,"e":1,"m":1,"s":[{".":15},289],"t":1,"v":1}],"s":166,"t":[{"i":[{"m":290}],"o":31}]}],"o":9,"r":[{"b":[{"a":[{"n":[{"e":[{".":120}]}]}]}],"e":12,"o":291,"t":24,"u":168},172],"s":[{"t":[{"o":18}]}]}],"h":[{".":173,"a":[{"l":[{"e":22}],"m":292,"n":[{"e":61}],"t":22}],"b":173,"e":[{"i":162,"l":[{"s":17}],"t":[{"e":61}]}],"i":[{"l":[{"i":23}]}],"h":265,"m":269,"n":[{"e":15},162],"o":[{"m":5,"s":19}],"p":173,"s":167,"t":168,"v":69}],"i":[{"c":69,"d":164,"e":[{"n":32,"s":293},7],"l":[{"l":22}],"n":[{"e":12}],"t":[{"a":15}]}],"k":[{"a":[{"r":[{".":15,"t":15}]}],"e":[{"n":69,"r":[{".":12,"e":1}],"t":[{".":15},295],"y":86}],"i":69,"k":69,"o":8,"r":2,"s":122,"u":[{"p":18,"t":35},31]},294],"l":[{"a":[{"i":[{"r":271}]}],"y":23},88],"m":[{"i":[{"n":[{"i":103}]}]},153],"o":[{"a":[{"t":17},31],"b":[{"i":[{"d":4}]}],"c":296,"d":173,"f":168,"g":168,"l":[{"a":[{".":1,"b":1,"k":1,"r":223}]}],"m":[{"a":15,"t":22},7],"n":[{"o":[{"s":3}],"s":22,"t":61}],"o":7,"p":[{"a":2}],"r":[{"a":52,"e":69},173],"s":[{"o":1,"t":162}],"v":[{"e":[{"r":1}]}]}],"p":[{"r":153}],"r":[{"a":[{"s":[{"h":5}],"c":[{"k":103}]}],"e":[{"e":[{"n":58},28]}],"o":[{"s":183}],"u":166},6],"s":297,"t":[{"a":11,"y":22},187],"u":[{".":162,"l":[{"a":15,"e":15,"u":15}],"p":[{"l":54,"o":4,"r":54,"s":61,"å":1}],"r":[{"e":[{"s":103}]},173],"t":4},172],"y":[{"a":7,"p":21,"s":24}],"z":11,"æ":15}],"d":[{"a":[{"a":162,"b":[{"e":[{"r":162}],"o":167,"s":38}],"d":[{"e":[{"l":274}],"g":0,"ø":[{"r":14},5]}],"e":[{"f":162}],"f":173,"g":[{"b":166,"e":[{"v":1}],"j":162,"l":61,"o":[{".":4}],"r":298,"u":[{"n":4}],"å":162}],"h":[{"e":162,"l":166}],"i":69,"k":[{"a":173,"o":162,"r":162,"s":[{"e":[{".":23}]}],"t":[{"i":[{"g":162}]}],"v":15}],"l":[{"j":299,"a":[{".":6,"s":1,"u":168},69],"b":[{"u":[{"e":[{"r":91}]}]}],"d":248,"e":[{"s":1}],"s":[{"o":31}],"u":69}],"m":[{"a":[{".":1,"n":1,"s":12}],"e":[{".":1,"n":12,"r":[{"i":300}],"s":18,"t":80}],"o":12,"p":[{"e":61}]}],"n":[{".":166,"a":[{"l":168}],"e":93,"i":301,"l":188,"n":[{"e":[{"b":22}],"o":162},164],"o":191,"s":[{".":0,"a":24,"e":[{"l":23}],"k":[{"a":[{"n":143}]}],"v":162}],"t":[{".":301,"i":301}],"y":167}],"o":285,"p":[{"e":12,"p":90},173],"r":[{".":164,"a":166,"b":173,"d":[{"s":124}],"e":[{"a":162,"s":1}],"n":38,"o":[{"s":[{".":22}]},7],"s":19,"t":[{"a":[{".":23}]}],"v":[{"a":[{".":31}],"e":[{".":32}]}]}],"s":[{"e":[{"i":162}],"h":173,"i":168,"j":[{"e":[{"f":162}]}],"k":[{"o":35},1],"t":[{"r":302}],"u":168}],"t":[{"a":[{"l":[{"e":[{".":36}],"i":[{"n":[{"a":242}]}]},303]},17],"e":[{"k":1}],"o":[{"a":12},304],"r":236,"s":[{"j":36}]}],"u":[{"d":[{"s":66},11],"g":[{"o":22}],"t":173}],"v":[{"b":38,"i":[{"s":38}],"l":153,"s":305},173],"ø":162},172],"b":[{"a":[{"l":[{"e":[{".":32}]}],"n":[{"e":[{".":23}]}]}],"e":[{"s":[{"t":19}],"t":[{"a":[{".":32}],"e":[{".":31}]}]}],"l":[{"i":[{"n":[{"g":170}]}]}],"o":[{"e":[{"n":[{".":31}]}]}],"y":[{"f":11}]},174],"c":187,"d":[{"a":[{"d":88,"g":5,"k":0,"r":[{"m":169}]}],"e":[{"i":[{"e":12}],"k":88,"l":[{"a":[{"p":23}],"o":53,"s":[{"v":17}]}],"m":[{"i":0}],"r":[{"s":17}],"s":[{"u":0}]}],"i":[{"e":46}],"o":[{"m":152,"r":[{"m":206}]}],"r":[{"e":277,"u":[{"n":15}]}],"s":[{"a":[{"l":[{"a":1}]},5],"k":[{"a":[{"p":1}]}],"t":[{"a":[{"b":22}],"e":34,"r":22}]}],"y":[{"b":88}],"ø":[{"r":18,"y":169},28],"å":[{"r":69}]},200],"e":[{"a":[{"k":18,"l":7},173],"b":[{"a":[{"r":168,"s":162,"t":164}],"e":173,"l":162,"o":[{"n":[{".":166}]},173],"r":173,"u":[{"t":164}],"y":173,"ø":162},2],"c":69,"d":[{".":166,"a":173,"d":306,"e":[{".":191,"k":162,"l":162}],"i":[{"a":162}],"r":307,"y":173}],"e":[{".":166,"r":2},173],"f":[{"f":38,"t":38},173],"g":[{"e":308,"g":166,"l":12},173],"h":[{"a":[{"v":[{"s":166}]}]},173],"i":[{"d":23,"e":[{"n":[{"e":23}]}],"g":[{".":164,"e":[{".":32,"n":166}],"r":53}],"k":166,"n":259,"r":164,"s":[{".":15,"t":12}],"t":309},173],"j":173,"k":[{"a":167,"e":173,"i":173,"j":173,"k":[{"a":[{"n":23},18],"e":[{"l":23}],"s":[{"t":128},46],"v":70},166],"l":[{"y":168},28],"n":[{"i":166}],"o":[{"d":162,"n":162,"s":162},15],"r":310,"s":[{"t":[{"i":16,"r":36},31]}],"t":166,"u":173,"v":162,"ø":162,"å":162}],"l":[{".":0,"a":[{"d":168,"g":[{"e":168}],"n":[{"s":4}],"u":162}],"e":[{"d":162,"f":1,"i":[{"d":311,"e":22},162],"k":303,"l":[{"e":15}],"m":248,"s":[{"t":1}],"v":312}],"i":[{"d":162,"n":[{"j":168,"t":22}],"s":162,"v":162}],"l":[{"a":[{"p":23}],"e":[{"i":31,"k":23,"r":[{"f":31}]}],"i":[{"g":31}]}],"s":[{"a":[{"t":53}],"e":[{"s":170},24],"i":23,"p":[{"o":23}]},0],"t":[{"a":[{"l":[{"a":31}]}],"e":24,"r":61},0],"u":[{"k":168,"r":109}],"v":[{"e":22}],"y":162,"æ":162,"ø":[{"p":[{"a":[{".":36}]}],"y":168},173],"å":173}],"m":[{"a":286,"b":90,"e":173,"i":[{"e":103}],"j":162,"n":[{"a":[{".":32}]}],"o":[{".":1,"g":1,"k":166,"l":162,"n":[{"o":17}],"s":166}],"p":[{"e":22}],"r":164,"s":166,"u":162,"ø":173,"å":173}],"n":[{".":88,"a":[{"k":2},162],"d":[{"e":[{"n":[{".":313,"e":314}],"r":[{".":313}]}]}],"e":[{"b":15,"d":162,"l":168,"m":162,"t":162,"v":162}],"g":[{"e":[{"n":[{".":274}]}]}],"i":162,"o":[{"m":1},162],"s":[{"i":[{"n":23}],"t":315},88],"t":[{"a":[{"n":[{"t":47}]}],"i":[{"f":162,"t":162}],"o":18,"r":23,"s":125,"u":316,"å":31}],"u":162,"æ":173,"ø":173}],"o":[{"b":7,"g":1,"l":173,"p":[{"p":162}],"r":265,"v":[{"e":1}]}],"p":[{"a":[{"k":162,"p":162}],"e":173,"i":162,"l":162,"u":168}],"r":[{"a":[{"m":32,"n":[{"t":4}],"r":[{"e":1,"k":1}],"s":[{"t":317}],"t":[{"e":17}],"v":24}],"d":22,"e":[{"a":162,"d":[{"d":26},162],"f":1,"g":162,"p":162,"s":[{"i":168,"t":[{".":167,"e":168},22]}],"t":[{"t":162}]}],"i":[{"f":1,"l":1,"n":[{"æ":1},166]}],"k":22,"n":[{"e":22}],"o":[{"b":15,"g":162,"s":[{"e":[{".":46},15]},162],"t":204,"v":5}],"s":[{"n":19,"p":23}],"t":24,"u":[{"n":22,"p":15,"s":168}],"v":24,"ø":[{"r":162}],"å":173},88],"s":[{".":249,"a":173,"c":162,"e":[{"g":15,"r":[{"s":22}]},173],"h":[{"o":[{"p":219},162]}],"i":[{"s":[{"t":271}]}],"j":173,"k":[{".":301,"e":166},173],"l":[{"e":280}],"o":173,"p":[{"l":191,"r":318},173],"t":[{".":166,"e":[{".":166,"m":31}],"i":15,"j":162,"o":162,"r":[{"å":162}],"u":162,"y":168,"å":85},319],"u":[{"p":168}],"v":31,"y":173,"å":16},69],"t":[{".":88,"a":[{"k":[{"a":[{".":46}]}]},173],"e":[{"a":162,"g":168,"k":[{"k":168}],"l":162,"n":162,"p":162,"s":58},12],"i":173,"j":173,"o":162,"r":279,"u":173,"y":162,"ø":162,"å":168}],"u":[{"r":153,"s":166},173],"v":[{"a":[{"n":[{"e":[{".":46}]}]}],"i":[{"e":[{"r":[{".":49}]}],"k":164}],"n":320,"u":15},173],"y":173,"ø":162,"å":173},172],"f":[{"ø":[{"r":[{"a":[{"r":[{"a":[{"r":31}]}]}]}]}]},188],"g":[{"e":[{"l":0}],"i":[{"n":31},38],"j":[{"ø":[{"r":[{"e":[{"n":[{"h":321}]}]}]}]}],"o":90},272],"h":[{"a":[{"v":[{"s":5}]}],"e":[{"i":[{"m":[{"s":322}]}]}],"u":[{"g":[{"a":39}]}],"ø":[{"r":23}]},188],"i":[{"a":[{"k":4,"l":[{"g":15,"i":22}],"r":[{"e":24},69],"s":[{"p":61,"t":36},54],"t":[{"s":103}],"v":173}],"b":173,"d":[{"r":[{"i":22}]}],"e":[{"l":[{"l":2}],"n":[{".":15,"d":236}],"r":69,"s":5}],"f":[{"f":[{"e":14},164],"u":[{"l":164}],"ø":162}],"g":[{"a":[{"n":[{"d":219}],"t":1}],"e":[{"s":323}],"g":61,"j":173,"l":[{"a":[{".":32}],"e":[{".":31}]}],"r":[{"e":[{"n":162,"t":22}],"u":162}],"u":7}],"h":162,"i":162,"j":173,"k":[{"a":[{".":6},15],"e":[{"m":15}],"j":173,"n":168,"o":173,"r":189,"v":61}],"l":[{"i":173,"l":[{"e":[{"s":23}]}]}],"m":[{"a":15,"e":[{"d":168,"l":324,"s":162,"t":162}],"o":173,"p":248,"å":162}],"n":[{"a":15,"d":188,"e":[{"n":2}],"g":[{"k":248,"r":24,"s":[{"e":[{"n":273,"r":116}]}],"å":148}],"i":[{".":1},5],"n":187,"o":173,"v":173,"ø":162}],"o":[{"g":164,"l":191,"n":[{"a":24,"o":23}],"r":[{"i":12}],"t":[{"r":22}]}],"p":[{"l":164,"p":[{"e":58}]},173],"r":[{"e":[{"d":162,"g":162}],"s":248}],"s":[{".":166,"c":4,"e":[{"d":4}],"i":[{"e":[{"n":[{"e":14}]}]},23],"k":[{"a":[{"m":31}],"j":1,"l":127,"o":[{".":22,"e":61},163],"u":61},11],"s":22,"t":[{"i":[{"k":61}]},54],"v":[{"i":23},15],"y":173}],"t":[{"a":[{"l":1}],"e":[{"k":162},2],"t":[{"e":[{"t":23}],"r":18}]}],"u":[{"s":[{".":35}]}],"v":[{"a":[{".":1,"l":162,"n":2}],"e":[{"k":162}],"i":31,"u":173}],"ø":[{"k":173}]},172],"j":[{"a":153,"e":[{".":153,"n":153,"r":[{"v":[{"e":17}]}],"s":[{".":152}],"v":[{"e":39}]}],"i":[{"n":[{"g":[{"a":[{"n":11,"r":11}]}]}]}],"o":153,"u":[{"l":[{"a":[{".":32}]}],"p":[{"a":[{"r":168}]},166]}],"ø":[{".":0}]}],"k":[{"a":[{"r":[{"a":[{".":32}]}]}],"i":31,"j":38,"o":[{"r":28}],"u":[{"l":[{"e":[{".":23}]}]}]},325],"o":[{"u":[{"t":175}],"a":[{"v":173}],"b":[{"a":162,"e":12,"l":[{"a":[{"n":327}]}],"å":173},107],"d":[{"a":1,"ø":[{"r":14},5]}],"e":[{"u":162}],"f":[{"f":90,"r":38},173],"g":[{"m":[{"e":[{"d":31,"s":263}]}],"r":173}],"i":269,"k":[{"i":[{"n":[{"e":162}]},12],"k":[{"a":[{"n":31}]}],"n":162}],"l":[{"e":[{"d":162},15],"i":[{"n":[{"e":[{".":46}],"j":162}],"s":168}],"j":162,"l":42}],"m":[{"e":[{"s":162}],"i":[{"s":15}],"l":162,"o":1,"p":61,"r":173,"s":[{"a":32,"e":328,"i":47,"k":41,"l":[{"a":[{"g":[{"a":123}]}]},18],"o":23}],"u":1}],"n":[{"a":[{".":1}],"g":22,"k":[{"e":162,"l":329}],"s":[{"t":22}],"t":42}],"p":[{"a":[{".":1}],"e":[{".":1}],"i":164},173],"r":[{"a":[{"n":15},330],"d":[{"a":23},188],"e":69,"g":[{"e":[{"s":[{"t":31}]}]}],"i":[{"e":38}],"m":46,"o":12,"p":166,"r":164,"s":[{"k":[{"e":16}]},36],"u":69,"y":[{"e":2}]}],"s":[{".":166,"e":[{".":1,"t":1}],"k":69,"l":331,"o":173,"p":162,"t":[{"r":12},173]}],"t":[{"r":162}],"v":[{"a":15,"e":[{"n":15,"r":1}],"n":39},173],"ø":162},172],"l":[{"a":[{"g":[{"a":23}],"n":[{"d":[{"a":[{"s":58}]}]}],"t":[{"e":[{".":31}]}],"v":23},90],"e":[{"d":[{"i":0}],"f":88,"g":[{"a":[{"r":152},0],"e":24}],"i":[{"e":[{"r":[{".":16}]}]}],"k":[{"a":38}],"l":88,"m":[{"s":[{"t":5}]}],"n":[{"e":[{"t":0}]}],"r":[{"u":0}],"v":[{"a":[{"n":[{"e":[{".":91}]}]}]}]}],"i":[{"f":23,"k":[{"e":22}]},38],"o":38,"y":[{"s":[{"e":[{".":32}]}]}],"ø":[{"p":[{"a":[{".":32}]}]}],"å":[{"r":[{"e":39}]},38]},326],"m":[{"e":[{"l":[{"a":[{".":31}]}]}],"o":[{"e":23,"r":[{"s":120}],"s":32}],"ø":[{"r":[{"e":[{".":23}]}]}],"å":[{"l":[{"a":[{".":31}]}]}]},188],"t":[{".":168,"a":[{"l":[{"a":[{".":31}],"e":[{".":23}]}],"s":23},89],"e":[{"m":[{"a":[{".":23}]},90],"n":[{"g":1}],"r":[{"l":[{"e":170}]}],"s":[{"e":[{".":23}]}],"t":229}],"g":0,"i":90,"j":4,"o":152,"r":[{"a":[{"g":229}],"o":[{"c":11}],"ø":229}],"s":341,"v":[{"a":151}],"ø":[{"k":4,"r":[{"s":203}]},32],"å":23},187],"n":[{"a":4,"o":[{"d":[{"e":[{".":32}]}]}]},222],"p":332,"q":166,"r":[{"a":[{".":153,"a":38,"d":[{".":155,"e":38}],"g":[{"e":[{"n":22}]},333],"k":[{"e":[{"s":31}],"t":164}],"m":172,"n":[{"g":334}],"p":[{".":164,"a":166,"e":164,"p":90}],"r":[{"a":[{"r":11}],"b":90,"e":[{"t":31}],"m":38,"r":38},153],"s":[{"a":335}],"t":[{"t":301}],"u":[{"m":[{"a":16}]}]}],"e":[{".":173,"a":[{"s":[{"s":166}]}],"d":[{"e":[{".":38,"r":38}],"r":77,"s":38},173],"g":[{".":301,"e":[{".":301}],"j":90}],"i":[{"e":[{"n":17,"r":[{".":17,"n":16}]},164]}],"j":38,"k":[{"a":11,"k":152,"t":164}],"l":[{"i":[{"g":152}]},162],"m":162,"n":153,"r":162,"t":[{".":90,"n":90,"r":11,"s":90,"t":[{"s":139},103]}],"v":[{"e":[{"t":166}],"n":164}]}],"i":[{"a":162,"f":336,"g":188,"k":[{".":90,"a":[{".":32}],"e":90,"k":164,"s":128,"t":155},88],"l":337,"n":[{"g":120},188],"t":[{"t":[{"r":16}],"u":[{"n":[{"g":[{"e":[{".":242}]}]}]},17]}],"v":184}],"o":[{"n":[{"n":164}],"p":[{"a":[{".":31}],"s":17}],"r":188,"s":178,"t":[{"a":[{".":32}]}],"v":[{"a":22,"e":24},188]}],"u":[{"k":164,"l":153,"m":153,"p":90,"t":274,"n":306},173],"y":[{"k":[{"k":103},173],"s":88}],"ø":[{"m":0,"r":[{"e":[{".":31}]}],"t":152,"v":[{"e":24}],"y":[{"e":338}]}],"å":[{"d":[{"e":[{".":23}]},153],"p":164}]},1],"s":[{"a":[{".":38,"b":[{"l":90}],"d":[{"e":[{"l":52}]},69],"g":[{"a":39},153],"k":[{"s":[{"e":[{".":36}]}]}],"l":[{"a":[{".":32}],"f":193,"l":11},153],"m":[{"e":155}],"n":[{"e":15},29],"r":8,"s":88,"t":[{"f":0}]}],"b":[{"ø":[{"n":36}]}],"e":[{".":38,"d":23,"f":69,"i":259,"k":[{"s":2}],"l":[{"a":12,"s":[{"a":271}]}],"m":[{"i":12},28],"n":[{"d":[{"a":96,"e":[{".":46}]}],"g":193,"s":38}],"p":67,"r":[{".":152,"f":11,"k":15}],"s":[{"k":198,"t":9}],"t":[{"a":12,"e":[{".":23}],"j":38}],"v":69}],"i":[{"d":[{"a":152,"e":[{"n":[{"t":15}],"o":339}],"r":12},151],"l":152,"n":[{"d":15}],"r":90,"s":34,"v":[{"e":23}]},259],"j":[{"e":[{"n":193}],"o":[{"r":2},88],"u":4}],"k":[{"a":[{"b":15,"n":193,"r":12,"t":0}],"j":[{"e":[{"n":15}],"ø":[{"t":97}]},153],"o":[{"t":38},69],"r":[{"o":12}],"v":277}],"l":[{"a":[{".":15,"n":15}],"e":[{"m":4}],"i":[{"k":36}],"o":[{".":4,"t":[{"t":[{".":155}]}]}],"u":[{"k":1}]},69],"m":[{"a":12,"o":11,"å":[{"l":[{"a":36}]}]}],"n":[{"e":12,"o":15}],"o":[{"m":[{"s":[{"t":152}]}],"s":169,"t":152},8],"p":[{"e":[{"k":90,"l":90}],"i":7,"y":192},69],"s":[{"t":32},9],"t":[{"a":[{"k":12,"l":193,"r":220,"t":229,"u":4}],"e":[{".":340,"i":[{"k":35}],"m":[{"a":[{".":36}],"p":97}],"o":15}],"i":[{"g":89,"k":89,"l":[{"l":[{"i":38}]}]}],"j":69,"o":[{"r":90}],"r":[{"i":90}],"u":[{"n":[{"a":46,"d":38}]}],"v":12,"y":[{"e":46,"v":12}]},23],"u":[{"r":[{"e":120}],"s":[{"k":96},149]},8],"v":[{"a":[{"n":[{"e":[{".":46}]}]}],"e":[{"t":89}],"i":[{"k":[{"a":[{".":36}]}]}]},69],"y":[{"k":38,"n":[{"a":31},90],"t":69}],"ø":[{"r":11},259],"å":29},167],"u":[{"b":[{"b":22,"l":22}],"c":69,"e":[{"n":[{"e":35,"s":35}],"s":22}],"f":[{"o":162}],"g":[{"u":162},164],"i":[{"t":36}],"k":[{"a":[{".":4}]}],"l":[{"l":22,"y":162}],"m":[{"s":183}],"n":[{"a":[{".":1}],"d":[{"e":61}],"i":248,"s":[{"t":[{"a":61}]},19]}],"o":191,"p":[{"k":90,"p":[{"e":116}]}],"r":[{"a":[{".":4}],"e":[{".":4,"i":4}],"t":[{"a":32}]},164],"s":[{"a":9,"e":[{"m":35}],"i":122,"k":7,"l":7,"p":7,"s":5,"t":5,"v":7},69],"t":[{"t":11},188],"v":[{"a":[{".":4}],"e":[{".":1}]}]},172],"v":[{"a":[{"l":[{"e":342}],"n":[{"e":[{".":23}]}]}],"e":[{"s":31,"v":[{"a":31,"e":[{".":32}]}]}],"o":[{"r":32},152]},188],"w":188,"y":[{"a":35,"b":[{"a":173}],"f":173,"k":[{"e":[{".":15}],"l":162,"ø":162}],"l":173,"n":[{"a":[{".":1}],"e":[{".":1}],"k":[{"s":116},162]}],"p":[{"e":[{"s":12}],"r":107}],"r":[{"a":[{".":1}],"e":[{"b":[{"a":15}]}],"l":[{"e":[{"g":[{"e":[{".":91}]}]}]}],"s":42,"u":233,"ø":22}],"s":[{".":191,"a":6,"e":[{".":4},162],"s":61,"t":[{"r":16}]}],"t":7},172],"z":[{".":167},38],"æ":[{"r":[{"s":5}]},172],"ø":[{".":162,"d":[{"s":261}],"g":[{"r":12}],"k":[{"n":38},173],"m":[{"a":1}],"p":[{"e":[{".":1,"n":1}]}],"r":[{"i":24},88],"s":[{".":11,"t":287},173],"t":24,"v":[{"a":35,"e":[{"l":12}],"i":69,"l":[{"e":[{".":32}]},168]}],"y":[{".":173,"a":46,"g":32,"s":343}]},172],"å":[{"d":[{"s":47},172],"n":[{"a":[{".":6}]}],"p":172,"r":[{"a":[{".":6}],"i":15}],"s":[{".":90,"a":[{".":6}],"e":[{"m":2},93]}],"t":[{".":152}]}]}],"e":[{"a":[{"b":150,"d":[{"i":129,"l":[{"i":14}]},153],"f":153,"g":[{"u":7}],"k":[{"r":0,"t":168,"s":[{"e":[{".":31}]}]},150],"l":[{".":153,"l":[{"e":[{".":32},38]}],"o":[{"v":1}],"t":[{"e":90}],"ø":7}],"m":[{"a":[{"n":90}],"n":38},298],"n":[{".":88,"e":[{".":1,"t":97}],"i":0,"n":61,"o":[{"r":1}],"s":[{".":11,"l":24}]},153],"p":[{"e":1},153],"r":[{"e":[{"r":15,"t":15},7],"i":9,"k":[{"a":[{".":31}]}],"m":[{"a":[{".":32}]}],"t":[{"a":[{".":23}]}]},153],"s":[{"i":129,"p":90,"s":153}],"t":[{"a":2,"e":[{"l":229,"r":[{"e":[{"n":36}]}],"t":85}],"h":32,"l":[{"e":31}],"o":93,"r":[{"i":15}],"t":153}],"u":[{"g":[{"a":31,"e":[{".":31}]}],"r":[{"a":[{".":32}],"e":31}],"s":[{"a":32,"e":[{".":32}]},22]},153],"v":[{"l":[{"a":32,"e":[{".":32}]}]},153]},173],"b":[{"a":[{"d":24,"n":[{"e":[{".":23}]}]}],"b":[{"e":[{".":1},12]}],"e":[{"d":[{"e":344}],"i":[{"e":[{"r":[{".":16}]}]}],"n":[{"s":[{"k":116}]}],"r":[{"s":120}],"s":[{"k":[{"u":139}]}],"t":[{"s":17}]}],"h":12,"l":[{"o":149,"æ":17}],"o":[{"b":18,"d":[{"a":23}],"e":[{"r":[{"s":[{".":22}]}]}],"k":[{"r":31}],"l":[{"a":31}]}],"s":15,"u":[{"e":[{"r":[{"e":53,"n":22}],"t":31}]}],"y":[{"t":[{"a":23}]}],"ø":[{"n":31}]},174],"c":[{"a":0,"c":1,"e":153,"h":[{"a":38}],"o":[{"m":90}]},173],"d":[{"a":[{"d":[{".":15},88],"g":[{"s":271},229],"r":[{"k":12,"v":12},88]}],"d":[{"e":[{"l":[{"a":2}]}],"y":[{"r":1}]}],"e":[{".":90,"g":[{"e":20,"n":345}],"i":[{"e":12}],"k":[{"s":0}],"l":[{"e":[{".":32}]}],"n":[{"f":0,"g":346,"t":17}],"p":[{"r":11}],"r":[{"a":23,"ø":0}],"s":[{"k":0,"l":23,"m":23,"n":0,"p":53}],"t":[{"a":23,"t":97}]}],"é":93,"i":[{"a":[{"n":[{"e":47}]},149],"e":[{"n":[{"e":23}]}],"g":[{"j":31}],"s":[{"i":24,"k":53},1],"t":178,"v":152}],"l":[{"e":[{"g":[{"e":[{".":36}]}]}]}],"o":[{"b":6,"k":[{"s":[{"e":[{".":46}]}]}],"l":0,"p":69,"v":69}],"r":[{"a":7,"e":[{"g":12,"v":[{".":38}]}],"o":[{"m":12}],"y":[{"g":97}]},153],"s":[{"k":[{"i":2,"r":12}],"l":[{"a":34}],"m":7}],"t":[{"a":15,"e":12,"r":31}],"u":[{"a":32}],"v":[{"a":2,"i":[{"s":36}]}],"y":[{"k":90,"n":[{"k":15}],"r":[{"k":[{"e":[{".":36}]}]}]}],"æ":23,"ø":[{"r":347}]}],"e":[{"a":61,"b":12,"d":[{"i":12},88],"g":[{"g":[{"a":23}],"n":31,"å":15}],"i":[{"d":23,"n":[{"i":61}]}],"k":[{"e":54,"t":[{"e":23}]}],"l":[{"a":12,"i":229}],"m":[{"n":[{"a":31}]}],"n":[{"b":38,"i":[{"n":24}],"k":348,"t":22},1],"p":[{"l":90}],"r":[{"a":6,"e":[{"n":24}],"i":12,"l":196,"m":[{"e":[{".":23}]}]}],"s":[{"h":97,"k":[{"a":32,"e":[{".":31}]}]}],"t":92,"v":[{"n":[{"e":[{".":23}]}]}]},151],"f":[{"a":[{"l":[{"s":202}],"n":[{"a":0,"k":12}],"r":[{"k":0,"s":116}]},162],"e":[{"a":2,"f":15}],"f":[{"e":[{"k":164},12],"o":12}],"i":[{"d":193,"g":38,"l":[{"m":229}],"r":[{"e":[{"n":61}]}],"s":[{"k":[{"e":[{"n":159}]}]}]},162],"j":181,"l":[{"e":[{"g":[{"e":[{".":36}]}]}],"å":18},173],"n":88,"o":[{"b":[{"i":[{".":32}]}],"n":[{"o":23}]}],"r":167,"s":[{"j":7,"k":7,"p":7,"t":[{"r":4}]}],"t":[{"a":[{"r":17},7],"e":[{"i":22,"r":15}],"l":[{"e":[{"g":[{"e":[{".":91}]}]}]}],"s":177},93],"u":168,"y":[{"r":[{"s":14}]}],"æ":90,"ø":[{"l":[{"e":22}],"y":49},162]},153],"g":[{"a":[{"f":90,"l":[{"a":11}],"m":152,"v":[{"e":[{".":23}]}]},173],"d":[{"e":[{"l":46,"s":2}]}],"e":[{"d":[{"o":38}],"i":[{"e":49}],"l":[{"e":[{"t":23}]}],"m":[{"e":90},88],"n":[{"s":[{"k":178},17]}],"o":[{"m":152}],"s":[{"p":22},349]}],"g":[{"e":[{"n":35}],"l":24,"u":[{"t":219}]}],"i":[{"a":[{"n":24}],"e":183,"k":[{"o":0}],"s":[{"p":5}]}],"l":[{"a":[{"d":92}],"e":[{"d":89,"s":[{"a":2}]}],"i":[{"t":229}],"y":2,"ø":149}],"m":168,"n":[{"a":[{"g":192}],"e":[{"m":1}],"o":4,"å":152}],"o":[{".":0,"i":191},162],"r":[{"a":[{"n":[{"s":139}]}],"ø":350},7],"s":[{"a":[{"m":23}],"k":[{"i":23}],"t":[{"a":23}]}],"ø":[{"y":[{"e":[{"n":[{"e":116}]}]}]},153],"å":[{"v":[{"a":23,"e":[{".":23}]}]},162]}],"h":[{"e":[{"a":5,"i":[{"e":49}],"r":[{".":15,"e":169,"n":2,"s":5}]}],"o":[{"g":17,"v":183}],"y":[{"r":[{"e":[{".":31}]}]}],"ø":[{"v":[{"a":32}]}],"å":[{".":11}]},153],"i":[{"a":[{"k":[{"t":155}],"n":352,"r":[{".":2}]},351],"c":1,"d":[{".":93,"a":[{"r":353}],"e":[{"a":90,"o":90,"r":35,"t":15}],"f":166,"g":166,"o":354,"r":153,"u":34}],"e":[{"d":22,"g":6,"n":[{".":35},28],"r":[{"a":18,"t":1}],"s":4},206],"f":[{"l":69}],"g":[{".":167,"a":12,"e":[{"v":4},31],"i":15,"r":[{"a":4}],"u":4}],"i":162,"k":[{"a":[{"a":15}],"e":[{".":12,"e":4,"h":4,"l":1,"r":[{"i":4}],"t":1}],"r":69,"s":[{"a":18,"e":31,"o":23}]}],"l":[{"e":[{"d":35,"g":[{"g":22}]}],"l":[{"u":90}],"o":[{".":12,"a":35,"p":22,"s":15}],"s":19},162],"m":[{"a":[{".":2,"g":38,"l":355}],"e":[{"d":1,"i":4,"n":2,"s":223,"t":[{"t":39},1]}],"o":4,"p":222},162],"n":[{"a":[{"l":85,"n":[{"s":1,"t":22}],"r":[{"e":2}]}],"d":[{"u":181},54],"e":[{"d":15,"l":2}],"f":39,"g":[{"a":120,"r":24}],"i":[{"t":356},0],"k":[{"a":[{"r":38}]},65],"n":187,"o":[{"m":1,"v":1}],"s":[{"i":[{"d":33}],"l":41,"o":36,"p":[{"i":0}],"t":[{"o":61}]}],"u":[{"m":12},357],"v":168,"ø":107}],"o":[{"r":15}],"p":[{"a":35,"e":12,"s":22},0],"r":[{"a":[{"k":39}],"e":[{"n":2}],"i":12,"s":22},173],"s":[{"a":[{"r":15}],"e":[{".":12,"i":17,"n":12,"r":[{"i":[{"e":137}]}]},0],"h":[{"a":34}],"i":[{"l":1}],"k":[{".":90,"e":90,"j":13,"o":24}],"p":[{"e":34,"i":1}]},173],"t":[{"e":[{"k":1,"r":[{"a":1,"e":1}]}],"o":7,"t":[{"a":61}],"u":[{"t":21}],"v":[{"e":12}],"ø":21}],"v":[{"a":[{"k":1,"r":49}],"e":[{"n":35}],"i":12,"s":42}]}],"j":[{"o":[{"e":[{"n":[{".":32}]}]}],"u":[{"l":[{"a":31}]}]},153],"k":[{"a":[{"l":[{"i":[{"e":123},58]}],"m":[{"s":116}],"r":[{"a":[{".":31}]}],"v":[{"r":38}]},187],"e":[{"i":[{"e":12}],"r":[{"o":0}],"s":0,"t":[{"a":9}],"y":11}],"h":[{"o":[{"v":149}]}],"i":[{".":0},153],"j":187,"k":[{"e":[{"l":[{"e":16}]}],"i":[{"s":[{"t":39}]}],"j":[{"ø":1},69],"l":24,"o":[{"k":15,"v":17}],"u":4,"y":1},173],"l":[{"a":[{"n":[{"e":93}]}],"e":[{"g":4,"n":11,"t":15}],"u":90,"æ":38,"ø":7},153],"n":[{"a":[{".":35}],"e":[{"k":90,"s":16}],"i":[{"p":16}],"o":[{"k":89},12],"u":153,"ø":38},162],"o":[{".":0,"l":[{"e":61}],"r":[{"d":[{"s":242}]}],"t":[{"e":[{".":31}]}],"v":0},150],"r":[{"a":151,"e":[{"d":89,"f":152,"n":90,"t":[{".":169,"s":38}],"v":229}],"i":151,"o":90,"y":1,"å":[{"d":15},89]},188],"s":[{"a":[{"k":34,"l":1,"m":164}],"e":[{"l":12,"m":164}],"i":[{"g":1}],"k":[{"a":1},54],"n":6,"p":[{"e":22},172],"t":[{"a":1,"e":[{"l":40}],"i":[{"l":1},12],"o":17,"å":18}],"æ":1}],"t":[{"a":[{"r":[{"m":21}],"v":24}],"e":[{"f":12,"p":358,"s":[{"t":4},15]}],"i":[{"d":1,"m":17,"v":15}],"o":[{"r":[{"i":[{"a":123}]}]},162],"r":[{"a":85,"o":359}]}],"u":[{"l":[{"e":[{".":23}]}]},153],"v":[{"a":[{"l":1,"r":[{".":4}]}],"e":[{"d":360},168],"i":[{"k":169,"n":1,"s":4,"v":164}]},150],"w":274,"y":[{"t":[{"e":[{".":31}]}]},38],"æ":90,"ø":153,"å":[{"p":[{"a":31}]},153]}],"l":[{"a":[{"g":[{"a":23,"g":12}],"k":[{"e":38,"s":[{"e":[{".":46}]}],"t":2},259],"l":69,"m":[{"e":93}],"n":[{"l":12}],"r":[{"g":97,"r":0,"t":[{"i":2}]}],"s":[{".":38,"e":38}],"t":[{"e":[{".":23}],"o":15}],"v":[{"l":15,"s":12}]},188],"b":[{"o":[{"d":[{"a":46}]}]}],"c":[{"h":1}],"d":[{"o":15,"r":[{"e":[{"r":23}]}],"s":[{"l":[{"e":22}]}]}],"e":[{"d":[{"i":0,"r":0},162],"e":90,"g":[{"d":17,"e":[{"r":61}],"n":[{"a":46}]}],"i":[{"r":152,"s":152}],"k":[{"e":38}],"l":88,"m":[{".":38,"a":[{"t":38}],"e":[{"n":166,"t":38}],"m":90,"p":90},88],"n":[{"a":39,"h":169,"s":203,"t":[{"u":0}]},162],"p":[{"a":38}],"r":[{"a":[{".":32}],"e":[{"t":152}],"g":96},361],"s":[{"k":[{"u":11},24]}],"t":[{"a":0,"e":0}],"v":[{".":338,"a":[{"k":23}],"n":274}]}],"f":[{"i":15}],"g":[{"a":[{".":35}],"e":[{"l":[{"e":15}]}],"i":15,"s":146}],"i":[{"e":[{"r":[{"e":[{"r":19}]}]},155],"f":0,"g":[{"r":362}],"n":[{"d":193,"e":[{"s":17}],"s":[{"p":0}]}],"o":[{"s":47}],"t":[{"a":[{".":32}],"e":[{"t":23}],"t":274}],"v":[{"e":[{"n":127}]}]},173],"j":69,"k":[{"a":[{"l":3}],"e":[{"s":223,"t":[{"e":1}]}],"n":12},28],"l":[{"a":[{".":15,"r":20}],"e":[{"d":1,"g":1,"i":[{"e":22}],"r":15,"s":115,"t":[{"e":4}]}],"i":[{"g":[{"a":[{".":16}]}],"s":[{"j":1}]}],"s":[{"a":61,"k":22,"l":42,"p":22,"v":22}],"u":[{"r":9}],"æ":1}],"m":[{"o":9,"u":15}],"n":15,"o":[{"k":[{"a":[{".":31}]}],"m":[{"m":90,"n":12,"s":12},88],"p":69,"r":[{"t":90},259],"s":[{"t":12}],"t":1,"v":[{"e":[{"r":[{"s":[{".":61}]}]}],"n":169}]},188],"p":[{"e":[{"t":1}],"h":15}],"r":[{"o":[{"s":5}]}],"s":[{"e":[{"i":[{"e":22},1],"n":12,"s":363}],"i":12,"j":[{"e":1}],"k":[{"a":[{"l":1,"n":[{"d":191}],"r":[{"e":22}]}]}],"l":54,"n":[{"o":4}],"p":[{"e":1,"r":12}],"t":[{"e":[{"n":23}],"i":1,"j":1}],"ø":[{"k":22},7],"å":[{"p":[{"e":20}]}]}],"t":[{"a":[{"l":[{"e":[{".":46}]}]}],"e":[{".":15,"g":4,"r":[{"o":1}],"t":[{"t":26}]}],"o":[{"p":85}],"r":[{"o":[{"p":22},1]}],"u":7}],"u":[{"a":90,"e":364,"h":[{"e":365}],"k":90,"m":152,"n":[{"g":[{"e":[{".":36}]},12]}],"p":[{"e":[{".":32}]},152],"r":153,"s":152,"t":[{"r":12}]}],"v":[{"a":[{"n":24}],"e":[{"d":99,"i":1,"r":[{"e":4}]}],"r":54,"s":[{".":166}],"æ":[{"r":[{"e":[{".":36}]}]}]}],"y":[{"e":[{"t":[{".":32}]}],"n":[{"d":15}]},187],"æ":[{"r":[{"e":[{"s":22}],"v":35}],"t":97},173],"ø":[{"r":366,"y":[{".":12,"a":15,"d":15,"n":367}]},173],"å":[{"r":69,"t":38},188]}],"m":[{".":162,"a":[{"d":88,"f":[{"o":14}],"g":[{"e":[{".":23}],"r":0}],"h":88,"k":[{"e":[{".":23}],"o":0,"t":[{"i":15}],"u":0}],"l":[{"e":[{".":31}],"j":337}],"m":0,"n":[{"a":0,"i":[{".":23}],"u":11}],"r":[{"e":0,"m":239}],"s":[{"i":0,"k":[{"u":11}]}],"t":[{"a":0}],"u":[{"k":24}],"v":[{"e":22}]}],"b":[{"a":[{"l":[{"l":166}]}],"e":[{"d":164,"r":116,"t":164}]}],"d":168,"e":[{"i":[{"e":49}],"l":[{"i":23}],"n":[{"d":0}],"t":[{"r":[{"i":[{"s":[{"k":31}]},22]}]}],"v":9},167],"i":[{"b":0,"e":[{"r":[{"t":22}]}],"g":0,"n":[{"i":[{"s":[{"t":120}]},22],"o":[{"r":0}]},162],"r":11,"s":[{"a":39}]}],"j":[{"e":2,"u":38}],"l":[{"e":[{"s":36},15]}],"m":[{"e":[{".":15,"n":15}],"i":[{".":6}]}],"n":[{"d":167,"e":[{".":1,"d":1,"m":1}],"i":168}],"o":[{"n":[{"o":[{"l":22}]}],"p":69,"v":368}],"p":[{"e":[{"d":1,"r":[{"i":4}]}],"l":[{"a":[{"n":[{"e":[{".":39}]}]}],"i":4},107],"o":[{"l":1,"s":1},18]}],"s":[{"e":[{"s":1,"t":[{"e":[{".":46}]}]}],"j":[{"u":26}],"l":298,"n":7,"o":[{"r":1}],"t":[{"e":23},369],"u":24}],"t":[{"a":[{"l":[{"a":46}]}],"i":[{"l":1}]}],"u":[{"g":90,"k":88}],"y":[{"k":23},38],"ø":[{"r":32,"y":38},168],"å":[{"l":[{"a":[{"n":39},23],"s":5}],"r":370}]}],"n":[{"a":[{"k":69,"l":[{"d":12,"i":22,"l":12}],"n":[{"d":15,"e":38,"g":96,"t":193}],"r":[{".":38,"e":6,"r":0}],"s":[{"s":12}],"t":[{"s":[{"p":116}]}],"v":[{"i":12},28]},173],"b":[{"e":[{"n":[{"a":49}]}]},162],"d":[{"a":[{"n":[{"d":26}]}],"e":[{"k":1,"l":[{"ø":[{"s":[{"e":170}]}]},12],"m":[{"i":15}],"r":12,"s":[{"l":1}]}],"l":22,"r":[{"o":85},172],"s":[{"t":24}],"ø":[{"r":[{"e":14},5]},2]}],"e":[{"g":[{"g":[{"a":46},15]}],"i":[{"e":12}],"k":[{"s":15,"t":90}],"m":162,"n":[{"g":15},173],"r":[{"g":164}],"s":[{"k":0}],"v":[{"e":[{"n":61}]},162]}],"g":[{"a":[{"r":2},31],"e":[{"m":1,"r":[{"i":1,"u":116}]}],"l":[{"e":[{"s":23},1]}],"r":23,"s":[{"e":65,"o":22,"p":22,"t":[{"i":5}]}],"u":[{"t":1}],"å":26}],"h":[{"j":162}],"i":[{".":0,"e":[{"r":[{"k":0}]}],"f":88,"r":38}],"k":[{"e":[{"r":[{"a":1,"i":1}]}]}],"n":[{"a":[{"l":35},173],"e":[{"m":1,"s":[{"t":120,"v":271}]},173],"i":28,"o":28,"s":[{"j":23,"t":[{"a":22}]}],"ø":61}],"o":[{"k":12,"g":12,"l":[{"d":206}],"m":[{".":12}],"p":69,"r":[{"d":97}]},173],"p":[{"å":[{"s":1}]},173],"r":[{"e":[{"m":1}]}],"s":[{"a":[{"b":15,"f":22,"k":[{"e":[{"r":371}]}]}],"e":[{"k":1,"l":[{"i":1}],"m":[{"b":166}],"s":133,"u":18}],"i":[{"d":[{"e":[{".":46}]}],"e":[{"r":[{"t":17}]}],"m":1},12],"l":[{"e":[{"g":58,"v":31}]}],"o":[{"p":[{"t":40}]}],"t":[{"a":[{"l":21}],"e":[{"r":23}],"i":23},69],"u":[{"n":[{"d":61}]}],"v":[{"e":23,"i":120}],"ø":[{"k":24},7],"å":61}],"t":[{"a":[{".":15,"p":1}],"e":[{".":15,"c":1,"g":1,"l":1}],"i":[{"e":15,"g":15,"k":15,"m":[{"a":35,"e":[{"n":2}]}]},12],"o":[{"r":[{"i":22},372]}],"r":[{"a":[{"b":22}],"e":[{"n":22},1],"o":[{"l":26,"p":[{"i":373}]}],"å":85}],"u":[{"l":4,"n":[{"g":[{"e":[{".":120}]}]}],"s":164}]}],"u":[{"l":374,"r":169},173],"v":285,"w":162,"y":[{".":0,"b":88,"r":11,"s":88,"t":[{"a":0}]}],"æ":[{"m":32},300],"ø":[{"k":23,"v":375,"y":[{"d":15}]}],"å":[{"s":[{".":4},69]},162]}],"o":[{"a":12,"b":[{"e":11,"l":7}],"d":[{"d":[{"e":[{".":32}]}]},15],"g":[{"r":2},376],"i":259,"k":[{"s":90},88],"l":[{"o":377},88],"m":[{"s":177}],"n":[{"d":[{"e":[{".":32}]}],"e":15,"k":[{"l":23},152],"t":90}],"p":[{"a":12,"l":15,"o":18,"p":[{"r":17}],"r":12},7],"r":[{"d":[{"a":23}],"e":35,"i":[{"d":1,"e":80,"k":1,"s":1},88],"o":69}],"s":[{"l":31},69],"u":259},92],"p":[{"a":[{"t":24}],"e":[{"n":[{"o":11}],"p":31,"r":[{"r":17}],"s":[{"t":23},90],"t":[{"a":0}],"u":11}],"i":[{"d":164,"k":[{"a":[{".":31}],"r":61}],"n":175,"s":[{"o":164}]}],"l":[{"e":[{"n":[{"e":15},93],"r":15,"s":378,"t":164}]},7],"o":[{"e":[{"t":31}],"k":[{"e":164}]}],"p":[{"s":28}],"s":[{"e":[{"m":4,"s":133}],"l":[{"u":3}],"t":54,"u":7,"y":151}],"t":[{"i":[{"n":4}],"r":31}]},188],"r":[{"a":[{"b":[{"b":193}],"d":[{"a":[{".":32}]}],"e":[{"l":0}],"f":[{"t":12},88],"g":365,"k":[{"e":90,"l":22},259],"l":[{"u":18}],"m":[{"a":0}],"n":[{"a":[{".":31}],"d":[{"e":[{".":38}]}],"e":379,"l":[{"i":2}],"o":23}],"p":[{"e":[{".":15,"r":15}],"i":[{"n":9}],"o":12,"p":[{"e":15}]}],"r":[{".":38,"g":0}],"s":[{"a":[{"n":[{"e":38}],"r":38}],"j":[{"e":0}],"k":0,"o":11,"s":193,"t":4}],"t":[{"e":[{"k":0}],"o":[{"r":61}],"r":0,"t":15}],"u":[{"k":[{"e":[{"n":49}]},15],"s":46},88],"v":[{".":12,"h":12,"l":15,"n":90,"r":12,"s":12}]},188],"b":[{"i":[{"t":[{"i":49}]}],"o":[{"d":[{"a":46,"e":[{".":46}]}]}],"y":[{"l":6}]},162],"d":[{"e":[{"d":1,"n":[{"s":91}]},28],"i":[{"s":1}],"r":[{"a":23,"e":32},69],"s":[{"k":[{"j":23}],"t":[{"o":[{"g":[{"a":242}]},23]},18]}],"v":34}],"e":[{"f":[{"f":12,"t":12}],"g":[{"e":[{"n":9}]}],"i":[{"d":12,"e":12}],"k":[{"a":31,"e":[{".":31}],"s":193,"t":[{"e":97}]}],"l":[{"e":366,"i":[{"t":23}],"l":[{"i":11}],"s":193}],"m":[{".":155,"m":38,"n":12}],"n":[{"d":[{"e":[{"n":15}]}],"g":193,"h":169}],"o":380,"r":[{".":6,"f":193,"i":38}],"s":[{"s":12}],"t":[{".":38,"a":193,"h":36,"o":22,"s":152,"t":[{"s":139},168]},23],"v":[{"a":366,"e":198,"n":[{"e":[{".":36}]},193]}]},153],"é":93,"f":[{"a":[{"r":[{"i":166}]}],"i":168,"r":162}],"g":[{"e":[{"l":[{"v":22}]}],"i":[{"f":18}],"l":[{"i":4}],"o":[{".":1}],"r":[{"e":[{"t":22}]}],"s":[{"k":[{"o":22}],"p":22}]},173],"h":[{"ø":[{"r":[{"e":[{".":36}]}]}]},173],"i":[{"a":[{"d":0,"k":0}],"b":[{"b":18,"l":24}],"c":[{"e":0}],"d":[{".":38,"n":38},88],"k":[{"a":[{"t":23}],"n":11}],"l":162,"m":[{"a":[{".":381}]}],"n":[{"d":12,"g":[{"a":[{"r":168}],"s":[{"i":120}]},90],"n":12,"s":12,"t":12}],"o":[{"r":[{"i":38}]}],"s":[{".":38,"a":0,"e":24,"o":0,"p":11,"t":[{".":38,"a":152,"e":38,"i":[{"l":22}],"o":382}],"ø":22}],"t":[{"e":0,"o":0}],"v":[{"o":2}]},153],"j":[{"e":[{"s":[{".":2}]}]}],"k":[{"a":162,"e":[{"r":[{"i":[{"e":123}]}],"s":[{"a":1,"e":1}],"t":[{"e":1,"t":3}]},167],"l":[{"æ":164}],"n":168,"o":383,"r":162}],"l":[{"a":[{"n":[{"d":[{"a":[{"s":170}]}]}]}],"e":[{"g":[{"e":[{".":36}]}],"s":[{"t":66}]}]}],"m":[{"e":12,"o":[{"d":[{"e":[{".":46}]}]}],"s":54,"å":[{"l":[{"a":[{".":36}]}]}]}],"n":[{"a":[{"d":1}],"e":[{"d":[{"e":15},1],"e":4,"r":[{"o":1}],"s":[{"t":1}]}],"o":[{"b":12},7]},173],"o":[{"a":90,"b":[{"l":12,"r":384}],"e":153,"f":[{"f":12}],"g":153,"k":[{"s":15}],"l":[{"y":12},153],"m":[{"k":15,"o":22},153],"n":[{"d":15,"o":14},153],"p":[{".":38,"a":381,"e":[{"n":38}]},69],"r":[{".":38,"e":90},8],"s":[{"a":385,"j":164,"l":12}],"t":[{"a":23}],"v":69},173],"p":173,"r":[{"a":[{"e":1},12],"e":[{"l":1}],"i":[{"e":[{"n":33}]}]},173],"s":[{"a":[{"k":[{"a":46}],"l":31},168],"e":[{"p":12}],"j":168,"k":[{"a":[{".":23,"r":[{"a":[{"n":6,"r":57}]}]},12],"o":[{"r":22}]},69],"l":[{"a":23,"e":[{"d":31}]},69],"m":[{"i":23}],"n":[{"e":15}],"p":168,"t":[{"e":[{"n":[{"s":22}],"r":22,"v":2}]}],"u":69,"v":[{"a":1,"e":23},162],"å":[{"r":26},69]}],"t":[{"a":[{"r":[{"e":1}]},173],"e":[{"s":386}],"i":[{"a":15,"b":12,"e":5,"l":15,"m":[{"o":5}]}],"o":[{"p":1}],"r":[{"o":[{"l":22}]}],"s":[{"a":24},162],"y":[{"e":36}],"å":[{"r":[{"e":[{"n":16}]}]}]}],"u":[{"a":153,"d":387,"i":153,"k":8,"m":90,"n":[{"g":193,"i":12}],"p":[{".":90}],"r":[{"e":91},370],"s":153,"t":[{".":15,"a":38,"e":90,"n":15,"o":35,"s":0}],"v":40},173],"v":[{"e":[{"l":[{"e":242}]}],"i":168,"s":18,"æ":[{"r":[{"e":[{".":36}]}]}]}],"y":[{"a":375,"e":[{"n":[{"e":16}]}],"r":69,"s":18},388],"æ":[{"r":[{"e":389}]},153],"ø":[{"k":[{"n":15,"o":0}],"l":182,"n":[{"n":149},169],"r":[{"a":32,"s":390}],"y":[{"a":12,"e":391,"n":5,"s":[{".":169,"k":2}]}]},188],"å":[{".":155,"d":[{"a":23,"e":[{".":32}]}],"e":31,"k":[{"e":15},23],"l":34,"n":259,"p":34,"s":[{"e":34}],"t":[{"a":392},31],"v":11},188]}],"s":[{".":173,"a":[{"a":15,"d":88,"g":36,"l":[{"a":[{".":31}]},1],"m":[{"e":[{"t":39}]}],"n":[{"t":193}],"r":[{"a":[{"b":15}],"v":15}]},153],"b":[{"i":[{"e":49}]}],"c":[{"e":6}],"e":[{"g":[{"e":15}],"i":[{"d":115,"e":[{".":15}],"g":[{"e":[{".":46}]},12]}],"k":[{"u":0},90],"l":[{"s":78}],"n":151,"r":[{".":38,"e":38,"i":38,"k":193}],"s":[{"t":90,"v":0},179],"t":[{"a":[{"s":22}],"e":[{".":23}],"j":38,"s":155}],"u":0},173],"h":[{"a":[{"r":[{".":39},4]},0],"e":[{"r":26}],"i":0,"o":[{"p":350},153]}],"i":[{"a":[{"r":31}],"e":[{"r":[{"t":22}]}],"l":[{"i":38,"l":12},0],"n":[{"s":193}],"v":31,"s":[{"t":24}]}],"j":[{"o":[{"r":12}]}],"k":[{"a":[{"b":38}],"e":[{"d":4,"e":1,"r":1}],"i":[{"l":167,"n":[{"g":0,"n":[{"s":373}]}]}],"j":[{"e":[{"r":[{".":340}]}],"æ":1,"ø":[{"n":11}]},153],"n":9,"o":[{".":38,"a":2,"t":90}],"r":153,"u":[{"e":[{"t":17}]},153],"v":[{"i":12}],"y":[{"r":11},38],"ø":153,"å":[{"r":16},152]}],"l":[{"a":153,"e":[{"k":1,"t":[{".":2,"s":2},1]}],"i":[{"t":1}],"o":[{"k":169}],"ø":[{"k":1,"v":1}]}],"m":[{"a":[{"k":[{"e":1}]}],"e":[{"t":[{"t":393}]}]}],"n":[{"a":[{".":35}],"e":[{"r":1}],"o":7,"u":1,"y":7,"æ":[{"r":[{"e":17}]}]}],"o":[{"b":23,"d":375,"f":259,"k":[{"s":12}],"m":[{"m":90},88],"r":[{"i":193}]},187],"p":[{"a":[{"r":[{"a":49}],"s":12}],"e":[{".":15,"d":394,"r":[{"m":15}]}],"l":[{"e":26},12],"o":[{"l":12,"r":90}],"u":[{"n":12}]},150],"s":[{"e":[{"d":1,"e":1,"g":1,"i":16,"n":[{"d":[{"i":4}],"k":26}],"s":1,"t":[{"e":1}],"v":[{"a":42}]}],"j":[{"a":85,"e":1}],"k":[{"r":1}],"l":[{"e":[{"t":23}]}],"o":[{"m":24,"s":1}],"p":[{"a":1}],"t":[{"i":[{"l":[{"t":22}]}],"o":[{"l":1,"r":22}],"u":[{"a":39,"e":[{"n":[{".":91}]},22]}]}],"u":162,"v":129,"å":3}],"t":[{"a":[{"d":152,"e":15,"k":[{"t":2}],"l":[{"a":35}],"n":[{"e":93,"s":38,"t":15}],"p":12,"r":[{"t":38}],"t":[{"o":15},90],"u":193,"v":[{".":152,"s":22}]}],"e":[{".":97,"g":1,"i":[{"e":22,"g":22}],"k":1,"l":[{"l":38,"s":15},1],"m":[{"a":0,"e":11,"o":0,"p":15}],"n":[{"g":152,"k":15},168],"r":[{".":206,"k":149,"n":[{"e":159}]}],"s":[{"t":1},124]}],"i":[{"e":[{"n":1}],"f":90,"g":1,"k":[{"k":1},90],"m":[{"a":395}],"s":1,"v":0}],"j":153,"o":[{"n":[{"e":4},52],"g":0,"k":90,"l":89,"r":[{"d":22,"i":22}]}],"r":[{"a":[{"k":15}],"e":[{"n":[{"e":22}],"r":22}],"é":39,"i":[{"b":15}],"y":[{"k":38}],"å":90}],"u":[{"d":38,"s":15},153],"å":[{"r":[{"e":[{"n":17}]}],"s":[{"e":61},36]},167]}],"u":[{"t":15},153],"v":[{"a":[{"r":[{"e":17}]}],"e":[{"k":229}],"i":[{"g":15,"k":[{"t":38}],"s":12}]}],"y":[{"n":[{"a":23}],"t":169},361],"ø":[{"v":[{"i":15}],"y":[{"e":2}]}]}],"t":[{"a":[{".":162,"e":0,"f":[{"o":58},88],"k":[{"o":11},90],"l":[{"a":[{".":23},24],"d":15,"e":22,"l":[{"i":[{"s":[{"t":36}]}],"s":138},248],"s":396},90],"n":[{"k":175,"d":11,"e":[{"n":23}]}],"m":[{"b":12}],"p":[{"a":155,"e":38,"p":[{"e":164}]},1],"r":[{".":6,"e":6,"t":15}],"s":[{"j":[{"e":[{"s":334}]}]}],"t":[{"i":248,"o":38,"t":90},184],"u":[{"n":15}],"x":93},153],"c":69,"e":[{"i":[{"e":0}],"k":[{"a":0}],"m":[{"a":[{".":23}]}],"r":[{"a":[{"n":38}],"u":22}],"s":[{"i":17,"l":0}],"t":[{".":38,"s":152},6]},173],"é":162,"h":[{"e":[{"r":4}]},162],"i":[{"t":90},173],"j":[{"e":[{"r":152}],"ø":12},188],"l":168,"m":15,"n":[{"e":[{"v":4}],"i":[{"n":[{"g":[{"s":51},190]}]}]},173],"o":[{"e":[{"r":23}],"p":[{"p":[{"d":15}]}],"r":[{"d":12}],"t":0},188],"r":[{"a":[{"d":229,"k":252}],"e":[{"e":38,"f":38},167],"i":[{"s":193}],"u":[{".":155,"m":15}]},188],"s":[{"a":[{"r":[{".":35}]}],"k":[{"u":[{"l":[{"e":[{".":91}]}]},1]}],"l":[{"a":[{"g":[{"a":91}]}]},61],"n":[{"æ":103}],"ø":7},54],"t":[{"a":[{"k":1,"l":[{"e":[{".":36}],"t":22},1],"n":[{"k":1}],"p":6}],"e":[{".":15,"i":4,"l":[{"t":4}],"n":[{"k":1,"n":1}],"r":[{"a":[{"t":14},190],"f":20,"k":166,"r":166}],"s":[{"k":22}]}],"i":[{"a":[{"n":242},4],"l":1},173],"j":7,"o":[{"a":17}],"r":[{"e":24},1],"s":[{"k":[{"i":23}],"t":[{"i":23}]}],"u":[{"g":12,"r":1}],"v":[{"i":[{"s":[{"e":14}]}]}],"y":7}],"u":[{"i":334,"n":[{"a":31,"i":12}]},188],"v":[{"a":[{"n":[{"g":149}]},193]},397],"y":188,"z":162,"æ":[{"r":[{"a":24}]},162],"ø":153,"å":[{"r":[{"e":22}]},153]}],"u":[{"a":1,"f":93,"g":[{"l":[{"a":32}]}],"h":1,"k":[{"a":[{".":1}],"e":[{"m":15},7],"r":2}],"l":7,"m":28,"n":[{"g":[{"e":[{".":23}]}],"u":15},151],"p":[{"a":195,"k":11}],"r":[{"a":[{"t":4}],"e":5,"i":173,"n":[{"a":32,"e":[{".":31}]},90],"o":[{"p":164},176],"t":90},88],"s":[{"i":1},88],"t":[{"a":69,"s":90,"t":61}],"z":193},153],"v":[{"a":[{"d":[{"r":36}],"k":[{"t":[{"i":15}]}],"l":[{"a":23}],"n":[{"n":[{"s":103}],"t":[{"a":169}]}],"r":[{"a":[{"r":0}],"b":0,"k":169}],"t":[{"f":11}]}],"e":[{"d":[{"a":19,"e":[{"l":22}]},168],"g":[{"g":38},168],"i":[{"s":116}],"n":[{"n":168,"s":17,"t":[{"y":166}],"y":0}],"r":[{".":155}],"s":[{".":38}],"t":[{"a":38}],"v":[{".":38}]}],"i":[{"e":[{"r":[{"e":22,"t":22}]},23],"n":[{"s":5}],"s":[{"e":[{".":23}],"t":18}]}],"j":88,"n":[{"a":[{"k":42},7],"u":2}],"o":[{"m":[{"s":2}]}],"r":[{"e":0,"i":[{".":152}],"å":35}],"s":[{"v":32},69],"t":[{"a":[{"l":[{"a":46}]}],"i":5}],"u":[{"n":375}],"y":[{"r":[{"k":38}]}],"ø":88},153],"w":[{"a":12}],"y":[{"b":[{"a":[{"l":103}]}],"d":150,"k":15,"n":[{"g":153}],"r":[{"k":[{"a":31,"e":[{".":23}]}]},153],"t":[{"i":152,"r":12},150]},69],"z":[{"i":90,"u":153}],"æ":[{"r":24},150],"ø":[{"r":[{"n":[{"a":[{".":31}]}]}],"y":[{"a":[{"n":39}],"e":[{"n":61}]},23]},398],"å":[{"k":23,"n":[{"d":[{"a":32}]}],"t":[{"t":32}]},154]}],"é":[{"a":153,"b":153,"d":[{"ø":[{"r":53}]},153],"e":95,"f":153,"g":153,"h":153,"i":153,"k":153,"l":153,"m":153,"n":[{"e":[{"t":149},169]}],"o":38,"p":153,"r":[{"j":88},153],"s":[{"e":28},153],"t":153,"v":[{"a":[{"l":[{"a":32}]}],"o":[{"r":[{"e":[{".":32}]}]}]},153],"å":38}],"è":[{"r":[{"e":[{"d":88,"f":88,"k":399,"n":[{"e":[{"r":0}]}],"p":88,"s":[{"t":0},82],"v":88}]},153],"v":[{"e":[{"s":11}]}]}],"ê":[{"l":[{"a":[{"n":93}]}],"r":[{"a":11,"e":153,"o":2,"s":[{"l":35}]}]}],"f":[{"a":[{"b":[{"o":162}],"c":[{"i":69},32],"d":[{"e":[{".":4},12],"m":168}],"f":1,"g":[{"a":129,"e":[{"r":15,"t":[{"i":22},5]}],"i":7,"o":7,"r":[{"o":274},7],"s":[{"k":24}],"u":129}],"i":22,"k":[{"r":173,"s":[{"e":[{"t":33}]}],"t":[{"a":203}],"u":69}],"l":[{"a":69,"k":[{"e":[{"s":31}],"l":41}],"l":[{"e":[{"r":[{"s":31}]}]}],"m":22,"o":1,"s":[{"k":23}]},166],"m":[{"o":236}],"n":[{"a":[{".":1}],"d":400,"e":166,"f":[{"a":14}],"g":[{"s":[{"t":[{"e":[{"v":170}]}]},5]}],"k":162,"l":361,"s":19,"t":[{"e":[{"s":[{"k":61}]}],"i":22,"o":24,"r":[{"y":23}]}],"u":168}],"p":173,"r":[{".":401,"a":[{".":1},12],"e":[{".":1,"s":1}],"g":[{"e":[{"l":23,"s":23}]}],"i":[{"t":1}],"n":22,"s":[{"k":[{"j":31}]}],"t":183,"v":[{"e":[{"l":23}]}],"y":162},164],"s":[{"a":2,"e":[{"l":1,"r":[{"u":1}]}],"l":173,"t":[{"r":18}]}],"t":[{"a":[{"l":12}],"e":[{".":1,"r":[{"s":21}]}],"o":69,"r":[{"e":52},28]}],"v":[{"n":[{"e":22}],"ø":69}]},172],"b":[{"a":[{"n":[{"e":[{".":23}]}]}]},188],"d":188,"e":[{".":164,"a":[{".":166,"l":20},402],"c":173,"d":[{"a":1,"e":164,"r":[{"a":12,"i":34},7]}],"e":[{"n":[{"e":2}]}],"f":173,"g":285,"h":[{"j":173}],"i":[{"e":[{"n":39,"r":39}],"g":[{"d":[{"e":5}],"e":22}],"l":[{"e":[{"s":17}],"i":23}],"n":[{".":301,"e":191}],"t":[{"e":[{"r":61}]}]}],"j":167,"k":[{"a":307,"l":162,"o":173,"r":162,"t":[{"e":[{"s":31,"v":17}]}]}],"l":[{"a":[{"g":15}],"e":[{"n":15}],"i":[{"e":128,"k":168},15],"l":[{"e":[{"s":139}],"æ":61}],"o":[{"k":22},173],"t":[{"a":[{".":39}],"e":[{"k":23}],"i":23,"r":[{"a":23}]}]}],"m":[{"a":[{"k":22}],"b":39,"n":[{"e":39}],"o":1,"s":22,"t":[{"i":[{"d":23}]}],"ø":129}],"n":[{".":166,"a":162,"d":[{"r":49}],"i":162,"s":166,"t":[{"l":[{"e":[{"g":373}]}]}]}],"o":173,"p":403,"r":[{".":166,"a":[{"l":4,"m":162,"s":15,"t":31}],"d":[{"a":[{"m":23}],"e":22}],"e":[{"a":162,"g":162,"k":1,"n":31,"r":[{".":2,"s":22}]}],"i":[{"e":[{"n":[{"e":273}]},36]}],"n":191,"r":28,"s":[{"k":[{"a":[{"r":49}],"e":16}]}],"u":189}],"s":[{".":164,"i":173,"k":189,"t":[{"i":131,"r":404,"u":[{"m":39}],"ø":405},7],"y":162}],"t":[{"a":[{".":4,"p":162}],"e":[{".":1,"a":162}],"i":[{"l":162},15],"r":406,"t":[{"j":17,"s":128}],"y":303}],"u":173,"v":[{"e":[{"n":1}]},173],"ø":[{"y":[{".":4}]},173],"å":173},172],"é":[{"r":172}],"f":[{"a":[{".":152,"b":0,"g":407,"k":193,"l":61,"n":[{"n":11}],"r":[{"b":0,"d":36,"e":61}],"s":155,"t":11,"u":340,"v":375}],"e":[{"b":88,"d":228,"e":88,"h":11,"l":[{"t":66}],"m":88,"r":[{"d":[{"i":11}],"e":[{"r":23}]}],"s":88,"t":[{"i":0,"o":0}],"v":[{"e":15}]}],"i":[{"b":88,"c":[{"e":0}],"d":88,"e":[{"n":155}],"n":[{"n":0,"t":15}],"p":88,"s":42}],"j":88,"l":[{"a":[{"g":[{"a":46}]},12],"e":[{"g":35,"k":15}],"i":12}],"o":[{"l":1},88],"r":[{"e":375,"o":69}],"s":[{"l":15}],"t":9,"u":[{"r":31,"t":96}],"æ":90,"ø":0},173],"g":397,"h":188,"i":[{"a":[{"l":61,"n":23,"p":162,"s":408}],"b":[{"i":[{"e":[{"n":36}]}]}],"c":[{"e":[{"n":35}],"i":16}],"d":[{"i":2}],"e":[{"r":[{"e":40},69]},28],"f":[{"i":15,"o":15,"l":2},1],"g":[{"h":[{"t":49}],"r":40},11],"h":162,"k":[{"a":[{"l":[{"i":[{"e":409},170]}]},35],"e":[{"n":2}],"k":[{"a":31,"n":47}],"o":15,"s":[{"a":61}],"u":162}],"l":[{"a":[{".":1}],"i":12,"l":[{"e":[{"l":31,"r":[{"i":31}],"s":23,"t":[{"i":61}]}]}],"m":[{"a":[{"t":64}]}],"o":69,"t":[{"r":[{"e":[{"s":61},36],"i":23}]}],"æ":162}],"n":[{"a":[{"r":[{"t":22}]}],"d":22,"e":[{".":1,"r":15}],"g":[{"r":18}],"j":168,"n":[{"e":[{"i":17}],"s":[{"a":168}]}],"o":[{"r":35},85],"s":[{"l":[{"e":[{"g":31}]}]},173],"t":[{"e":[{"s":87}]}],"u":7}],"o":400,"r":[{"a":[{".":4},12],"e":[{"n":[{"e":35}],"s":[{".":15}]}],"i":12},7],"s":[{"a":9,"c":162,"e":[{".":4,"r":[{"s":120}]}],"i":[{".":6}],"k":[{"a":[{"d":80,"l":61,"n":[{"d":17}],"r":[{"t":31}]},4],"e":[{"n":[{"d":47}]}],"l":41,"o":[{"l":168}],"u":168},7],"t":[{"i":22,"u":168}]}],"t":[{"i":[{"m":[{"e":[{".":36}]}]}],"r":162,"t":[{"s":17}],"y":2}],"v":[{"e":[{".":1}]}]},172],"j":[{"e":[{"g":153,"l":[{"l":[{"e":[{"n":[{"d":36}]}]}]}],"n":38,"r":[{"n":[{"e":17}]}],"s":[{"k":23}],"t":255}],"u":38,"æ":[{"r":[{"e":[{"s":410},14]}]}]},172],"k":411,"l":[{"a":[{"g":[{".":38,"g":11}],"k":[{"e":61}],"s":0}],"e":[{"g":173,"i":31,"k":0,"l":11,"r":[{"u":316}],"s":[{"l":23}],"t":[{"t":0}],"v":90}],"i":[{"n":[{"e":61}],"s":[{"t":16}],"t":[{"t":260}]}],"o":[{"g":[{"a":39}],"k":[{"s":49}],"m":255,"r":[{"o":47}],"s":[{"k":[{"l":36}]}]},172],"u":[{"e":[{"s":18}],"s":46,"t":15},11],"y":[{"s":65},164],"ø":[{"n":90,"s":22}],"å":[{"s":[{"a":39,"e":61}]},172]},156],"m":188,"n":4,"o":[{".":173,"a":[{"r":35}],"b":[{"s":168}],"e":173,"f":162,"i":[{"l":[{"a":61}]}],"k":[{"e":[{".":6}]}],"l":[{"a":[{".":4}],"d":[{"r":23}],"e":[{".":1,"d":15}],"k":[{"v":47,"e":[{"s":138}]}],"l":[{"e":[{"r":39,"s":[{"e":22}]}],"i":22}],"u":1}],"n":[{"a":1,"d":183,"e":15,"i":[{"d":34,"n":1}],"s":180},164],"p":153,"r":[{"a":54,"d":[{"r":[{"e":[{"v":39}],"o":61}],"u":19}],"e":[{".":4,"i":39,"n":[{"t":22},77],"s":[{"s":22}],"t":[{"e":[{".":143,"n":143}]},23]}],"g":131,"h":36,"i":[{"n":207}],"k":46,"l":[{"o":[{"v":58}],"ø":[{"p":[{"a":33}],"s":[{"e":33}]}]}],"m":[{"o":[{"r":33}]}],"n":24,"o":36,"p":42,"s":[{"e":24,"i":[{"d":[{"a":33,"e":[{".":58}]}]}],"m":65,"t":[{"e":39},46],"v":5}],"t":[{"a":[{"l":[{"e":[{".":91}]}]}],"e":[{"i":[{"e":186}]},19],"i":[{"d":[{"a":14}]},77],"v":65}],"u":[{"l":65}],"v":[{"a":[{"r":[{"e":33}]}]},77],"æ":412,"ø":42,"å":39}],"s":[{"e":35,"f":[{"o":[{"r":[{"e":14}]}]}],"j":162}],"t":[{"a":1,"e":[{".":4}],"o":[{"k":1,"m":1,"p":4,"r":1},17],"s":[{"v":36},24],"t":24}],"v":187},172],"ô":164,"p":[{"o":[{"e":31}]},397],"r":[{"a":[{"l":22,"m":[{"e":53,"i":31,"m":[{"a":[{"n":[{"e":[{".":242}]}]}]}]}],"n":[{"k":[{"o":139}],"s":[{"e":16}]}],"r":62,"s":[{"e":[{".":22,"p":61}],"i":[{"e":91}],"k":61,"p":36},54],"v":[{"r":77},61]},172],"e":[{".":88,"d":[{"s":[{"e":[{"l":46}],"t":14}]}],"e":41,"g":167,"k":0,"m":[{"m":[{"a":[{"n":[{"e":[{".":242}]}]}]}],"s":103},53],"n":[{"e":61}],"s":[{"k":[{"o":[{".":16,"e":17}]},31],"v":148}]}],"i":[{"a":[{"r":[{"e":19}]}],"d":[{"i":274}],"e":[{"r":[{"f":23}]}],"n":153,"s":[{"k":[{"a":36}],"p":42,"t":[{"i":[{"l":19}]}]}],"t":[{"e":[{"r":[{"e":[{".":91}]}]}],"i":[{"m":[{"e":[{".":91}]}]}]}]}],"o":[{"c":168,"f":61,"n":[{"t":[{"a":[{"l":[{"e":186}]}]}]}],"s":[{"t":32}]}],"u":[{"s":176,"t":[{"a":[{"l":[{"e":[{".":120}]}]}]}]}],"y":[{"t":153}],"ø":[{"b":22,"k":[{"o":61},0]}],"å":[{"r":39,"v":[{"e":103}]}]},7],"s":[{"h":[{"o":36},7],"i":28,"j":[{"u":[{"k":38}]}],"l":[{"e":[{"g":[{"e":[{".":36}]}]}]},88],"m":0,"n":[{"e":239},88],"o":[{"v":15}],"t":[{"a":[{"b":375,"n":97}]},7],"v":413},188],"t":[{"a":[{".":90,"f":61,"k":69,"l":[{"a":[{".":32}],"g":12}],"m":259,"n":[{"a":0,"e":152,"l":12}],"r":[{".":38}],"s":414,"v":330},153],"e":[{"a":88,"d":90,"e":0,"g":88,"i":88,"k":88,"m":11,"n":[{"a":23,"d":18,"h":193,"s":[{"v":80}]}],"o":88,"r":[{"a":415,"i":[{"n":0}],"s":17}],"s":[{"t":0}],"t":[{"a":0,"t":169}]}],"i":[{"d":206,"n":[{"d":12}],"s":201}],"l":15,"n":2,"o":[{"g":38,"n":164},217],"r":12,"s":[{"a":[{"l":[{"t":22}]}],"e":[{"i":24,"r":[{"s":22,"v":22}]}],"i":129,"k":[{"a":[{"f":7}]},54],"l":[{"a":[{"g":[{"a":120}],"n":9}],"e":[{"g":[{"e":[{".":120}]}]}]}],"t":[{"o":[{"p":3},12],"r":[{"i":20}],"ø":15}],"u":54,"ø":357}],"t":[{"a":[{"k":[{"a":46}]}]},9],"u":69},173],"u":[{"g":[{"a":[{".":6}],"l":[{"e":[{".":39,"g":127}]}]}],"l":[{"e":4,"l":[{"a":[{"r":39}],"e":[{".":39,"n":[{"d":[{"e":[{".":242}]}]},23],"r":23,"s":61},120],"f":[{"ø":[{"r":[{"e":170}]}]}]},18]}],"n":[{"n":[{"s":[{"l":[{"a":[{"g":[{"a":159}]}]}]},203]},183]}],"r":[{"a":[{".":4}],"e":[{".":4,"t":35}],"o":2,"u":176}],"s":[{"e":[{"l":2}],"k":4,"o":127,"t":26}],"t":[{"h":23,"u":176}]},172],"v":[{"a":[{"l":[{"a":32}]}]},187],"y":[{"l":[{"a":15}],"r":[{"a":[{".":6,"b":158}],"e":[{".":1},69],"k":[{"e":[{".":32}]},61],"t":22},28],"s":[{"a":[{".":6},16]},12]},172],"æ":189,"ø":[{"d":[{"a":[{".":1}],"e":[{"k":1,"n":15,"s":[{".":15},1]}],"s":[{"e":[{"l":[{"s":416}]}]}]}],"f":69,"k":173,"l":[{"e":[{".":1}]}],"r":[{"a":[{"r":15},31],"e":[{".":1,"s":[{"v":2},1],"t":[{"e":6}]}],"t":[{"i":[{"n":31}]}]},93]},172],"å":[{"r":[{"e":[{"n":2,"t":2}],"i":15,"u":61}],"v":[{"a":2}]},162]}],"g":[{"a":[{"b":[{"a":162,"o":69,"ø":168}],"d":[{"a":12,"e":[{"d":1}],"g":162,"m":173,"r":248}],"e":[{"k":26}],"f":[{"f":[{"e":[{"l":139}]}],"l":[{"o":168}],"t":90}],"h":168,"k":[{"s":153,"t":[{"a":[{".":32}],"e":32}],"v":12},168],"l":[{"a":[{".":1},69],"e":[{"i":14,"n":2}],"l":[{"e":[{"s":23}],"i":162}],"o":317}],"m":[{"a":[{".":1}],"b":162,"e":[{"r":15}],"m":[{"e":[{"l":145}]}]}],"n":[{"d":[{".":168,"e":[{"n":168}]}],"e":301,"g":[{"e":[{"n":19}],"j":53}],"k":417,"l":188,"n":162,"s":[{"a":162,"v":162}],"t":[{"r":[{"e":248}]}]}],"p":[{"a":[{".":4}],"e":[{".":1}],"l":26,"s":82,"u":21}],"r":[{".":301,"a":[{"f":4,"k":3}],"b":[{"r":166,"y":166},173],"d":[{"e":[{"k":23}]}],"e":[{".":191,"a":162,"s":[{"k":[{"e":[{".":120}]}]},22]}],"i":28,"k":[{"i":162}],"n":[{"e":24}],"t":[{"a":[{".":31}],"e":[{".":32},38],"i":90,"s":[{"l":[{"a":80}]}]}],"u":[{"n":23}],"y":[{"l":1}]}],"s":[{"c":1,"i":122,"k":[{"a":[{".":32}],"e":[{".":32}],"i":4}],"p":162,"s":[{"e":[{"l":31,"n":22,"r":61,"t":[{"t":17}]}],"l":18}],"t":[{"e":22,"o":15,"r":418},166]}],"t":[{"e":[{".":1,"n":[{"s":15}],"s":17}],"i":12,"o":69,"r":12,"t":[{"a":[{"p":31}]}]},88],"u":[{"l":[{"a":[{".":22}]}]}],"v":[{".":301,"d":173,"e":[{"i":226,"r":[{"i":1}]}],"g":162,"k":38,"s":188,"t":173,"v":162}],"w":173,"ø":162},172],"b":[{"a":[{"n":[{"e":[{".":23}]}]}],"y":[{"k":11}]},188],"c":188,"d":[{"a":[{"l":[{"t":15}],"u":97}],"e":[{"a":24,"b":[{"a":90},88],"d":[{"i":0}],"l":[{"o":22}],"m":88,"n":[{"d":0}],"o":227,"r":[{"a":0,"e":195,"o":11}],"s":88,"t":[{".":90},88],"v":[{"i":[{"s":[{"a":91}]}]}]}],"o":[{"p":15,"r":69}],"y":[{"d":23}],"ø":[{"y":330}]},222],"e":[{"a":[{"k":[{"t":[{"a":46,"e":[{".":36}]}]}],"r":[{"e":[{"n":61}],"k":1}]},189],"b":[{"a":168,"e":236,"r":[{"i":164,"å":162}],"y":[{"r":164}]},173],"d":[{"a":[{"n":162}],"e":[{"l":168}],"i":[{"a":14}],"o":[{"m":[{".":301,"a":191,"e":301,"m":[{"e":191}],"s":168}],"s":162}],"r":173,"y":173,"ø":173},23],"e":[{"n":[{"d":[{"e":[{".":46}]}]}]},173],"f":[{"t":38,"æ":164},173],"g":[{"g":38,"n":151},419],"h":[{"ø":[{"v":[{"e":[{".":46}]}]}]},173],"i":[{"e":153,"n":277,"r":[{"e":39},41],"s":[{"p":64,"t":87}],"t":[{"a":18,"o":18,"r":41},164]},173],"j":173,"k":[{"l":35,"n":12,"s":153,"t":168},420],"l":[{".":166,"a":[{"r":1,"u":162}],"e":[{".":4,"a":2,"d":162,"i":[{"e":[{"r":14}]},162],"k":162,"m":181,"n":[{".":15,"s":15}],"t":[{"t":22},166]}],"i":[{"d":162,"g":[{"g":168}],"t":162,"v":168},164],"o":[{"v":15},173],"s":[{"e":24,"i":22,"k":[{"l":58}]},421],"t":42,"u":[{"n":15},162],"v":[{"e":61}],"y":162,"æ":173,"ø":173,"å":173}],"m":[{".":166,"a":[{".":301},173],"i":173,"l":164,"n":[{"a":31},248],"o":173,"r":301,"s":[{"t":422},164],"u":12,"y":173,"ø":173,"å":173}],"n":[{".":164,"a":[{"m":40},129],"d":[{"s":[{"t":120}]}],"e":[{"a":12,"m":162,"r":[{"f":22}],"s":15,"t":[{"i":22},5],"v":[{"e":[{".":17}]},162]}],"g":[{"a":[{".":32}],"r":22}],"i":[{"n":163,"v":168}],"k":22,"l":[{"e":[{"g":[{"e":[{".":120}]}]}]}],"n":24,"s":[{"l":17,"u":[{"n":31}]}],"t":[{"r":22}],"u":[{"m":162}],"y":162,"æ":162,"ø":162},88],"o":[{"g":166,"l":164,"m":[{"e":[{"t":190},14]}],"n":15,"p":[{"e":35},168]},173],"p":173,"r":[{".":164,"a":[{".":15,"l":4,"n":[{"t":26}],"s":35}],"d":[{"i":22}],"e":[{"d":162,"f":162,"g":162,"k":162,"n":[{"e":4}],"p":162,"s":[{"e":168}],"t":[{"t":162}]}],"i":[{"d":53,"k":[{"a":46,"e":168},162],"m":1,"s":1,"t":1,"v":1}],"l":[{"e":[{"g":33}]}],"m":[{"a":[{".":335}]}],"n":[{"e":120},24],"o":[{"a":162,"m":[{".":162,"m":162}],"p":[{".":168,"e":162}]}],"p":22,"s":[{"a":[{"f":53}]}],"u":[{"d":166,"p":15}],"v":22,"ø":[{"r":[{"e":[{".":36}]}],"v":423}],"å":162},88],"s":[{".":166,"a":173,"e":[{"n":[{".":166,"s":166}]},173],"i":162,"j":[{"a":236,"e":162}],"k":189,"l":[{"u":58,"ø":23},69],"o":162,"p":[{"e":162,"r":[{"a":15},1]}],"t":[{".":164,"a":[{"b":[{"l":50}]}],"e":[{".":166,"k":[{"k":31}]}],"i":[{".":32}],"r":[{"i":[{"d":[{"e":[{".":242}]},17]}]}],"å":168},189],"u":424,"v":[{"i":[{"k":[{".":22}]}]}],"y":173,"æ":168,"ø":173,"å":[{"r":[{"e":17}]},189]},11],"t":[{".":166,"a":[{"k":15,"l":[{"e":[{".":36}]}],"t":[{".":168,"e":168}]}],"e":[{".":166},265],"i":173,"j":173,"o":173,"r":173,"s":425,"u":173,"y":[{"e":46},173],"ø":173}],"u":173,"v":[{"a":426,"e":173,"i":[{"r":162,"s":[{"a":36}]}],"n":[{"e":[{".":31}]},248],"o":236,"å":166},88],"y":173,"æ":162,"ø":173,"å":173},172],"é":172,"f":[{"e":[{"l":28}]},188],"g":[{"a":[{"l":97,"s":[{"k":15}],"v":259}],"e":[{"d":[{"i":0}],"i":69,"l":[{"a":0,"e":0}],"m":88,"n":[{"u":0}],"r":[{"e":[{"i":11}],"i":[{"n":23}],"ø":0}],"s":[{"b":36,"l":17,"m":0,"o":11,"p":0,"t":[{"i":[{"o":427}]}],"v":428}],"v":88}],"i":[{"e":36,"f":0,"m":198}],"j":[{"e":[{"s":17},1]}],"l":[{"u":152},88],"n":0,"o":[{".":90,"s":38},217],"r":[{"a":[{"d":[{"a":36},12],"t":15}],"e":[{".":6,"d":12,"k":2}]}],"s":[{"p":[{"a":[{"r":9}]}],"s":61,"t":[{"o":12}],"y":1,"ø":12}],"u":[{"d":350,"r":198}]},187],"h":[{"e":[{"n":32}],"t":[{"e":[{"n":[{"e":22}]}],"o":1}],"æ":32},188],"i":[{".":164,"a":[{"k":162,"r":[{"b":162},69],"v":168}],"b":173,"c":6,"d":[{"e":12},173],"e":[{"k":162,"n":[{"d":35},164],"r":166},69],"f":[{"a":162,"o":173,"r":162,"u":162}],"g":[{"a":[{".":4}],"r":173}],"h":173,"i":173,"k":[{"a":166,"e":164,"i":162,"k":164,"r":9,"u":162}],"l":[{"e":15}],"m":[{"e":[{"s":[{"s":162}],"t":[{"r":1}]}],"i":162,"ø":162}],"n":[{"d":188,"g":[{"e":[{"n":[{"i":168}]}]}],"i":[{"n":1}],"n":[{"u":22},188],"o":162,"s":187,"t":187,"v":173}],"o":[{"m":236,"p":189,"r":23}],"p":[{"s":[{"i":22}]},173],"r":[{"a":168,"e":[{".":1},12],"o":[{"b":4},18]}],"s":[{".":166,"a":173,"e":[{"l":162,"n":162},12],"k":[{"a":168},166],"l":[{"u":32,"ø":23}],"o":162,"p":[{"a":34,"r":9},162],"t":[{"e":[{"r":[{"u":120}]}],"i":22,"r":[{"a":17,"é":15,"e":[{"r":79}]}],"u":162,"y":168}]}],"t":[{"a":15,"e":[{"s":5},236],"r":429,"t":[{"e":22}]}],"u":173,"v":[{"a":[{"l":162},2],"o":162,"u":162}]},172],"j":[{"a":[{"g":167,"k":188,"r":[{"n":38}],"z":173}],"e":[{"f":22,"g":181,"l":[{"s":103}],"n":[{"n":66,"o":[{"p":[{"p":[{"s":430}]}]}],"s":125,"t":168},28],"r":164,"s":[{"k":61,"p":41}],"v":[{"a":[{"k":148}]}]}],"o":[{"b":173}],"u":[{"t":304},188],"ø":[{"d":[{"e":39}]}]},172],"k":[{"l":[{"y":49}]},397],"l":[{"a":[{".":168,"d":[{"e":24}],"g":[{"a":23,"e":[{".":32}]},162],"n":[{"d":90}],"r":[{"t":15,"v":16},153],"s":[{"e":191,"k":127,"s":11,"t":[{".":38},168]},184],"t":164,"u":38},7],"e":[{"d":[{"e":[{"r":[{"o":31}]}]}],"f":181,"g":[{"e":24,"g":[{"a":46}]}],"i":[{"e":[{"r":[{".":16}]}]},168],"k":[{".":152,"e":38},88],"l":88,"m":[{"t":164}],"n":[{".":155,"e":[{".":155,"s":155}],"s":155},162],"p":[{"l":39}],"r":[{"a":23,"e":[{"d":[{"e":[{".":91}]}]}]},162],"s":[{".":155,"e":[{".":31}],"k":195,"m":284}],"t":162,"v":88},4],"i":[{"d":[{"e":[{"l":23}]},184],"e":[{"n":77,"r":32}],"g":176,"m":[{"e":39},336],"o":162,"t":[{"t":103}],"v":306}],"j":[{"a":2},162],"l":15,"o":[{".":0,"a":88,"b":166,"m":[{"e":334}],"r":[{"i":[{"a":[{"n":120},170],"e":[{"n":[{"e":170}]}]}]},253],"s":[{"t":[{"e":22}]},0],"v":168}],"s":23,"u":[{"g":166,"k":38,"n":[{"g":[{"e":[{".":46}]},15]},168],"t":15},167],"y":[{"d":38,"f":164,"s":[{"e":[{".":23}]}]}],"ø":[{"g":88,"p":[{"a":32}],"s":173,"y":[{".":2,"m":166}]}]}],"m":[{"e":[{"t":[{"e":0,"r":0}]}],"é":38,"i":[{"n":[{"i":120}]}],"o":[{"e":23}],"u":[{"l":[{"e":[{".":32}]}]},90],"å":[{"l":[{"a":31}]}]},188],"n":[{"a":[{"k":69,"l":[{"e":[{"m":22}],"o":23}],"v":88}],"d":[{"ø":[{"r":14},36]},69],"e":[{"e":88,"l":[{"o":0}],"r":[{"o":11,"ø":11}],"s":[{"e":[{".":32}],"k":0,"t":0},177],"t":[{"r":11},38],"v":88},1],"i":[{"b":0,"d":0,"k":334,"n":[{"g":[{"s":139},103]}],"s":[{"k":428,"t":[{"r":33},31]},23]}],"k":9,"o":[{"m":88,"p":20,"v":40}],"r":15,"s":[{"k":[{"r":1}],"m":4,"o":[{"m":1}],"p":[{"r":23}],"t":[{"i":1}],"v":129},69],"t":9,"u":[{"r":[{"e":22}]}],"æ":[{"r":[{"e":31}]}],"å":88},153],"o":[{"a":[{"n":191,"r":[{".":191},69]}],"b":[{"e":17},173],"d":[{"a":[{"l":15,"r":22},1],"d":173,"e":[{".":1}],"s":[{"t":49}]}],"f":173,"g":[{"a":35,"e":[{".":15}],"r":84}],"i":168,"k":[{"s":[{"e":[{".":23}]}]},173],"l":[{"e":12,"f":[{"a":31}],"o":15,"v":[{"a":[{"r":31},23]}],"å":1}],"m":[{"a":252,"e":[{"t":[{"r":[{"i":[{"s":168}]}]}]}],"m":191},173],"n":[{"a":[{"n":[{"d":26}]}],"e":[{".":35}],"i":2,"o":[{"k":15}],"s":39}],"p":188,"r":[{"a":[{".":15,"e":2,"s":2},431],"d":[{"a":31},173],"e":[{"a":105},69],"g":173,"i":[{"e":80},0],"v":[{"a":32},38],"ø":15}],"s":[{"p":24,"t":175}],"t":[{"o":168,"r":31}],"v":[{"e":[{".":6}],"i":[{".":6}]},162]},172],"p":432,"r":[{".":167,"a":[{"b":162,"c":[{"e":22},168],"d":[{"s":301}],"f":[{"f":17,"t":80}],"m":53,"n":[{"d":[{"s":433}],"t":[{"o":17,"r":103}]}],"s":[{"e":[{".":39,"t":39}],"k":31,"t":18}],"t":[{"e":[{".":32}],"i":[{"s":103}]},22],"u":23,"v":[{"a":[{"k":41}],"i":[{"s":61}],"t":[{"a":242}]}]}],"e":[{"a":173,"d":[{"s":248}],"e":[{"n":23}],"f":[{"e":152},173],"g":[{"a":0}],"i":[{"e":[{"n":[{"e":36},14]}],"s":434}],"k":162,"l":267,"n":[{"t":38}],"p":[{"i":162,"s":43}],"s":[{"e":152,"s":[{"a":[{"k":36}],"e":[{"n":[{"t":36}]}]}],"t":274}],"t":[{"t":162}]}],"i":[{".":248,"b":18,"d":162,"f":162,"g":187,"p":304,"s":[{"o":53,"ø":53,"e":[{"t":[{"e":22}]}]}],"t":162}],"o":[{"a":[{"r":39}],"i":435,"m":[{"m":17}],"n":0,"s":[{"k":22}],"v":[{"e":24,"i":[{"n":47}]}]}],"u":[{"i":248,"l":181,"n":[{"g":16}],"p":337,"s":[{"a":61,"t":17}],"t":188}],"y":[{"d":173,"g":248,"t":[{"m":274}]}],"ø":[{"d":[{"e":[{".":22}]}],"r":274,"v":[{"e":22},248],"y":[{".":2},162]}],"å":[{"d":[{"a":31},168],"k":5,"n":61,"t":[{"e":[{".":22}]}]}]},296],"s":[{"a":[{"k":[{"e":[{"r":[{"s":15}]}]}],"l":[{".":152,"e":152,"g":[{".":38,"e":38}]}],"m":[{"b":12,"n":2},18],"n":[{"g":350,"k":92}],"r":[{"d":38}],"s":[{"t":152},88]},28],"b":[{"ø":[{"n":36}]}],"c":[{"e":7}],"e":[{"f":15,"g":88,"i":88,"k":[{"r":38,"v":152},88],"l":[{"a":[{".":39}],"s":[{"a":271,"t":5}]}],"m":88,"n":[{"d":[{"e":[{".":4}]}],"k":[{"e":[{".":36}]}],"s":38,"t":90}],"r":[{".":38,"i":90},88],"s":[{"t":23}],"t":[{"e":90,"i":12,"s":155,"t":1},23],"v":28}],"f":[{"ø":183}],"i":[{"d":[{"e":[{"r":38}]}],"s":15,"v":28},88],"j":[{"a":[{"r":1}],"e":[{"f":90}],"i":38,"o":88,"å":38}],"k":[{"a":[{".":1,"d":38,"l":[{"l":38},1],"m":11,"n":0,"p":[{"a":0,"e":38,"i":0}],"v":2}],"i":[{"l":[{"t":38}]}],"j":[{"æ":252},393],"o":[{"t":90}],"r":[{"e":[{"n":38}]}],"u":[{"g":152}],"v":11}],"l":[{"a":[{"g":[{"a":36}]}],"e":[{"g":[{"e":[{".":36}]}],"r":[{"i":4}]}],"u":[{"k":0,"n":1,"t":[{".":39}]}],"y":[{"n":38}]}],"m":[{"e":[{"d":15,"r":[{"t":437}]}]}],"n":[{"e":[{"l":152}]}],"o":[{"g":38,"p":[{"e":35,"p":[{"e":350},350]}]}],"p":[{"a":[{"l":38}],"e":[{"l":90}],"i":[{"k":15,"l":[{"e":15},90]},7],"o":[{"r":[{"s":97}]}],"u":[{"r":90}]}],"s":[{"e":[{"e":5}]},34],"t":[{"a":[{"k":15,"n":[{"d":192,"g":38}],"s":[{"j":1}],"t":[{"s":[{"r":[{"å":438}]}]},393]}],"e":[{".":15,"e":439,"l":[{"l":1}],"m":[{"a":[{".":36},15],"t":152}],"r":[{"e":1,"f":229,"k":229,"n":229,"s":229,"v":229}],"v":[{"n":[{"e":[{"n":61}]}]}]},31],"i":[{".":229,"e":89,"f":90,"g":89,"å":15}],"o":[{".":38,"l":[{".":38,"a":152,"e":38,"l":15},1]}],"r":[{"a":[{"p":1,"u":38}],"e":[{"a":22,"d":[{"e":38}],"i":22,"k":[{"e":38}],"t":4}],"i":[{"d":[{"e":[{".":91}]}]}],"o":[{"f":229}],"ø":90,"å":149}],"u":[{"e":38,"t":22}],"y":[{"r":[{"k":[{"a":91}]}]}],"ø":[{"r":1}],"å":229}],"u":[{"g":22},28],"v":[{"a":[{"n":[{"e":1}]}],"i":[{"k":15}],"æ":2}],"y":[{"d":28,"m":152,"n":[{"a":31}],"t":31}],"ø":[{"k":[{"i":31}],"t":4},88],"å":23},436],"t":[{"a":[{"k":[{"a":[{".":32}],"e":[{".":32}]}],"l":[{"a":[{".":31}],"e":[{".":23}]}]},90],"e":[{"k":[{"e":[{".":31}]}],"m":[{"a":[{".":31}]}]},437],"i":[{"d":[{"e":[{".":32}]}],"f":169},90],"r":[{"e":[{".":4}],"å":[{"d":[{"s":138}]}]}],"s":[{"v":2}],"t":15,"u":[{"e":[{"n":[{".":32}]}]}],"v":[{"e":[{"k":91}]}],"y":[{"e":32,"t":35}]},188],"u":[{"b":[{"å":440}],"d":[{"i":7,"s":[{"t":18}]}],"e":[{"l":1}],"g":[{"l":348},168],"i":[{"d":[{"a":[{"r":17}]},23]}],"l":[{"e":[{".":1}],"k":[{"e":[{".":32}]},248],"l":[{"a":23}],"o":22,"ø":61}],"m":191,"n":[{"g":23}],"r":[{"g":28,"i":1,"n":[{"a":32,"e":[{".":31}]}],"u":[{"a":15,"e":12}]}],"s":[{"t":1}],"t":[{"a":69,"b":173,"d":162,"e":[{".":38}],"g":168,"l":152,"n":162,"s":173,"t":[{"a":[{"k":23}],"e":[{"s":23}],"r":162}]}]},172],"v":[{"a":[{"k":[{"e":[{".":23}]}],"l":[{"a":32}]}],"e":[{"d":[{"l":[{"i":123}]}]}],"i":[{"t":[{"a":32}]}]},188],"w":200,"y":[{"a":192,"d":[{"a":[{".":1}]}],"m":191,"n":[{"e":12}],"r":31,"s":[{"a":[{".":6}],"e":[{".":4}]}],"t":[{"e":[{".":1}]}],"v":[{"e":[{".":1}]}]},172],"æ":[{"t":38}],"ø":[{"k":248,"r":[{"s":24}],"v":361,"y":[{"a":39,"e":[{"r":36}],"n":22}]}],"å":[{"a":[{"s":4}],"e":[{"n":[{".":4}],"r":[{".":1}]}],"k":440,"m":162,"n":[{"d":[{"a":32}]},181],"p":272,"r":[{"e":361}],"s":[{"t":12},7],"v":[{"e":[{"n":35,"t":1}]}]},172]}],"h":[{"a":[{"a":1,"b":[{"a":49}],"e":[{"l":7},162],"f":[{"i":162}],"g":[{"a":[{".":1},12],"e":[{"n":12}]},7],"i":[{"s":[{"m":2}]},54],"k":[{"a":15,"e":[{".":1,"n":15,"r":[{"a":2}],"s":223}]}],"l":[{"a":[{".":4},69],"d":[{"s":396}],"e":[{".":1,"v":1}],"l":[{"e":[{"i":31}],"ø":31}],"s":[{"k":41,"o":23,"t":41}],"u":15,"v":[{"a":[{"r":19}],"o":19},53]}],"m":[{"a":15,"e":[{".":6}],"n":[{"e":[{"s":[{"t":31}]}]}],"o":15,"s":[{"t":[{"r":396},23]}]}],"n":[{"a":15,"d":[{"r":47,"s":[{"k":[{"r":16}]}],"ø":17}],"e":[{".":1}],"i":[{"s":103},176],"n":[{"e":[{"l":31,"n":22,"s":42},23],"o":106},255],"s":[{"e":24,"k":23}]}],"p":[{"e":1}],"r":[{"e":[{".":1,"i":15,"l":1,"m":12,"s":1}],"k":22,"o":[{"v":15}],"s":[{"e":61}],"t":[{"r":[{"e":22,"i":23}]}]}],"s":[{"j":[{"e":17},1],"l":7,"p":[{"l":127}],"v":22}],"t":[{"a":[{"r":12}],"e":[{".":1}],"l":[{"e":31}]}],"u":[{"k":[{"e":[{".":22}]}],"s":[{"t":31}],"t":[{"r":53}]},0],"v":[{"a":[{".":1,"n":441},23],"e":[{".":1,"g":1,"i":1,"s":18,"r":[{"t":109}]}],"i":69,"o":1,"s":[{"l":23}],"u":442,"ø":54,"å":162}]},88],"b":[{"a":[{"n":[{"e":[{".":23}]}]}]},188],"c":162,"e":[{".":173,"a":[{"n":[{"s":2}],"t":[{"r":5}]},7],"b":[{"n":22}],"d":[{"e":[{".":1,"r":[{"s":145}]}],"r":429}],"f":[{"t":[{"a":39,"e":[{"s":61}]}]}],"g":[{"e":[{".":1},12],"r":107}],"i":[{"a":18,"e":[{"n":22}],"m":164,"n":[{"s":12}],"s":[{"k":23}],"t":[{"s":5}]},7],"k":[{"s":[{"e":[{"k":23,"r":[{"i":[{"n":31}]}]}]}]},7],"l":[{"a":[{".":1},54],"e":[{".":1,"i":443}],"l":[{"e":[{"s":[{"u":31}]}]}],"o":24,"s":[{"a":24,"e":[{"s":190},445],"k":24,"p":22,"t":[{"e":22}],"v":24},444],"t":[{"e":[{"s":23}]}],"v":[{"e":39}]}],"m":[{"a":[{"k":1}],"n":[{"e":22}],"s":[{"k":146}]}],"n":[{"f":[{"ø":[{"r":[{"e":14}]}]}],"o":19,"s":[{"e":22},180]}],"r":[{"a":[{"d":[{"a":49}]}],"e":[{"t":15}],"i":[{".":1}],"j":22,"l":[{"e":[{"g":[{"e":33}]}],"i":[{"g":[{"a":33}]}]}],"n":417,"o":[{".":1,"a":49},69],"p":61,"r":[{"e":[{"i":31,"s":[{"i":31}],"t":31}]}],"s":[{"k":[{"a":[{".":31,"r":[{"e":64}]}]}],"v":31}],"u":[{"n":311}],"ø":107}],"s":[{"e":[{".":1}],"p":[{"a":61,"e":[{"l":22,"n":22,"r":39}]},7],"t":[{"e":[{"r":[{"i":14}],"s":23}],"ø":4}]}],"t":[{"e":[{".":1}],"i":20,"s":[{"a":446,"p":53}],"t":24},28],"v":[{"a":[{".":4,"r":[{"m":21}]}],"e":[{".":1}],"n":[{"a":[{".":39}]}]}]}],"f":173,"h":[{"u":38},173],"i":[{"a":[{"o":15}],"b":[{"a":[{"k":1}]}],"e":[{"n":23,"t":7}],"f":[{"f":183,"r":39},298],"g":[{"e":[{".":4}]}],"k":[{"e":61}],"m":[{"m":[{"e":[{"l":[{"o":145}]}]}]}],"n":[{"a":[{"n":21}],"n":[{"e":[{"s":23}]}],"s":[{"k":[{"e":49}]},5]}],"p":[{"l":1,"p":24}],"r":[{"o":69}],"s":[{"e":[{".":35,"n":12}],"i":9,"k":162},129],"t":[{"o":61,"r":26,"t":[{"i":22}]}],"v":[{"a":[{".":6}],"e":[{".":1}],"s":54}]}],"j":[{"a":[{"r":5}],"e":[{"m":[{"e":16}]},23],"o":[{"r":[{"t":[{"e":139}]}]}],"u":[{"l":[{"e":62},127]}]}],"l":[{"a":[{"n":38}]},173],"m":[{"a":[{"n":32}]},188],"n":[{"a":88,"e":[{"n":31}],"s":69},173],"o":[{"a":[{"r":[{".":15}]}],"b":31,"d":[{"a":4,"e":[{".":1,"n":15,"r":[{".":15},18]}],"y":15}],"f":[{"f":[{"a":446,"e":[{"r":19},446],"i":23},41]}],"g":[{"s":[{"t":[{"r":[{"a":61},31]}]},36]}],"i":22,"l":[{"a":[{"g":15,"n":15},7],"e":[{".":1}],"i":[{"n":1}],"l":22,"o":[{"m":1}],"s":5,"u":[{"t":61},1]}],"m":[{"e":[{".":1}],"o":[{".":1,"d":1,"s":1}]}],"n":[{"o":20}],"o":1,"p":[{"a":[{".":6}],"e":[{".":1}],"i":[{".":6}]}],"r":[{"a":[{".":4},15],"e":261,"o":69,"t":173}],"s":[{"a":22,"e":[{"n":15,"r":15}],"i":68},1],"u":28,"v":[{"e":[{"r":[{"e":17}]}],"é":1},69],"w":173},0],"p":153,"r":[{"a":153,"e":153,"i":[{"n":[{"e":22}],"s":255}]},173],"s":[{"e":229},200],"t":[{"e":[{"r":[{"e":103},38]}],"r":153,"t":15},162],"u":[{"d":[{"a":1,"s":[{"å":[{"r":[{"e":33}]}]},19]},85],"e":[{"r":1,"t":[{".":4}]}],"g":[{"a":1,"e":[{".":1}]}],"j":[{"a":[{".":6}]}],"k":[{"a":[{".":4}],"r":[{"a":32}]}],"l":[{"a":1,"e":[{".":1,"g":1,"s":15,"v":1}],"v":22}],"m":[{"a":15}],"n":[{"d":[{"e":[{"s":31}]}],"n":255}],"r":[{"u":71}],"s":[{"a":[{".":6,"r":[{"r":21,"e":66},447]},54],"e":[{".":1,"d":85}],"i":129,"j":233,"k":129,"m":61,"s":42,"t":[{"r":[{"a":[{"n":49}],"e":23},6],"y":4},54],"u":83,"ø":7}],"v":[{"a":1,"e":[{".":1,"s":1}]}]}],"v":[{"a":[{"l":[{"e":22}],"s":17}],"e":[{"r":[{"a":18},28]}],"i":[{"l":[{"i":19}],"r":394,"t":[{"s":103}]}],"o":[{"r":[{"i":80},17]},28]},1],"y":[{"a":24,"b":[{"l":7}],"d":23,"e":[{"n":[{"e":[{".":22,"s":39}]}]},7],"g":[{"g":[{"e":[{"l":22}]}]}],"l":[{"a":[{".":4}],"d":[{"e":[{"s":170}]}],"e":[{".":1}]}],"r":[{"d":[{"e":[{"s":23}]}]}],"s":[{"a":6,"e":[{".":1}],"j":129,"t":22},24]},11],"æ":[{"g":15,"r":[{"f":[{"ø":33}],"s":75}]}],"ø":[{"e":1,"f":22,"g":[{"r":[{"i":24,"ø":61}]},7],"k":31,"l":[{"e":[{".":4}]}],"n":[{"a":1,"e":[{".":1}]}],"r":[{"a":[{"r":15}],"e":[{"n":15,"r":15,"s":1}],"s":[{"p":31}]}],"s":[{"t":[{"a":16,"ø":17}]},7],"v":[{"a":69,"e":69,"i":69}],"y":[{"a":19,"k":22,"n":61,"r":[{"a":[{"r":61}]}],"s":[{"e":[{"t":[{"e":[{".":120}]}]}]},5]}]}],"å":[{"a":2,"l":[{"e":6}],"n":[{"a":[{".":4}],"d":[{"r":32,"s":[{"k":[{"r":17}]}]}],"e":[{"l":15}]}],"p":[{"a":[{".":4}],"e":[{".":1}],"l":26}],"r":[{"e":69,"i":69,"s":24,"u":61}],"v":[{"a":[{".":6}],"e":[{".":1}]}]},11]}],"i":[{"a":[{"a":[{"l":35}],"b":[{"l":153,"o":69}],"d":[{"e":375,"j":153,"r":10}],"g":[{"e":7},8],"i":[{"n":69}],"k":[{"r":69,"s":[{"e":[{".":32}]},153],"u":15}],"l":[{".":153,"a":54,"e":[{"i":[{"n":22}],"t":[{"i":22,"t":26},5]}],"f":88,"g":24,"i":[{"n":1}],"k":0,"o":[{"p":24,"v":4}],"s":[{".":38,"t":5}],"t":[{".":90}],"u":54,"ø":7}],"n":[{".":153,"a":[{"l":[{"d":22},1],"r":15},88],"d":[{"r":152}],"e":[{".":229,"s":6,"t":2}],"k":38,"m":153,"o":448,"s":[{"a":24,"l":24},153],"t":153,"ø":2}],"p":[{"a":7,"p":90}],"r":[{".":153,"d":[{"o":23,"s":78,"u":23}],"e":[{"a":38,"l":449},88],"n":[{".":38,"s":155}],"s":[{"k":[{"a":152}]}]}],"s":[{"i":11,"m":153,"p":1,"s":[{"i":90},75],"t":[{".":152},153]}],"t":[{"e":15,"r":31,"y":[{"r":[{"a":36}]}],"t":153},69],"u":[{"k":152}],"v":153}],"b":[{"a":[{"n":[{"e":[{".":23}]}]}],"b":[{"o":15,"u":12}],"e":[{"r":[{"e":90,"o":23}]}],"i":[{"e":[{"r":[{".":22}]}]}],"l":[{"a":[{"r":2}],"e":[{"g":1,"s":223},375]}],"o":[{"e":23,"n":61},38],"r":1,"s":[{"t":12}],"t":6,"y":[{"a":[{"r":[{".":39}]},16]}]},150],"c":[{"a":[{"n":[{"a":[{"r":[{"a":[{"r":167}]}]}]}]}],"e":[{"n":[{"e":22}]}],"i":153,"k":[{"e":[{"t":[{"e":61}]}]},54],"o":153,"y":38}],"d":[{"a":[{"l":38,"s":90,"v":69},173],"d":[{"e":[{"l":[{"u":14},12],"p":4}]}],"e":[{".":173,"a":[{"l":164}],"b":88,"f":11,"g":[{"e":9}],"k":[{"i":152}],"l":[{".":155,"v":12}],"n":[{"d":38,"s":[{"v":17}],"t":[{"i":[{"f":166,"t":166}]}]},173],"o":[{"v":18}],"r":[{"a":[{"p":11}],"e":[{".":450,"n":152,"s":155}],"l":[{"a":[{"g":[{"a":242}]}],"e":[{"g":170}]}],"n":152,"s":38}],"s":[{"m":11}]}],"g":[{"e":[{"m":4,"s":1}]}],"i":[{"e":[{"n":23}],"o":184}],"j":[{"e":[{"r":2}]},93],"n":[{"a":35}],"o":[{"l":253}],"r":[{"a":[{"n":35}],"e":[{"g":15,"v":181}],"i":173}],"s":[{"a":[{"m":15}],"e":[{"l":4},5],"i":[{"m":15}],"l":[{"a":[{"g":[{"a":120}]}]},22],"t":[{"u":26},24]},129],"t":129,"u":[{"n":259}],"y":[{"l":164,"r":90},88],"ø":[{"y":96},90],"å":2}],"e":[{"a":8,"d":88,"f":[{"f":153}],"g":[{"e":1,"o":5}],"i":[{"d":31,"e":153,"g":90,"n":[{"i":38}]},69],"k":[{"l":32,"s":153}],"l":[{"a":20,"e":[{"m":38,"v":1},88],"i":[{"m":252}],"s":153,"t":155,"ø":[{"p":[{"a":46}]}]}],"m":[{"a":340,"b":62,"e":12}],"n":[{"a":2,"d":[{"e":[{"l":[{"a":31}]}]},88],"é":6,"i":230,"n":61,"o":15,"s":[{"k":23,"v":53},38],"t":[{"r":41}],"u":15,"y":11},153],"r":[{"a":[{"n":1}],"d":0,"e":[{".":4,"g":15,"n":[{"g":26}],"t":11}],"i":[{"l":1,"s":1,"v":1},88],"l":88,"o":[{".":2},11],"r":[{"a":23}],"s":[{"p":23,"v":18}],"t":22,"u":[{"n":12}],"v":22}],"s":[{".":11,"c":23,"e":12,"s":22,"t":[{"i":23}],"v":451},259],"t":[{"a":[{"b":[{"l":229}],"t":90},88],"e":35,"é":15,"r":[{"e":23}]},153],"u":28,"v":[{"e":[{"d":2}]}]},173],"f":[{"e":[{"s":104}],"f":[{"a":7}],"i":[{"e":31}],"j":[{"ø":46}],"l":[{"e":[{"s":1},12]}],"o":[{"r":[{"m":103}]}],"r":[{"e":69}],"t":[{"a":[{"l":1}],"e":[{"r":[{"e":1}],"s":17}],"s":28},93],"ø":90},173],"g":[{"a":[{"e":88,"n":[{"n":12}],"r":[{"k":152,"t":1,"u":24}],"t":[{"e":61,"t":12}],"v":88}],"d":12,"e":[{"b":11,"d":[{"i":11,"o":[{"m":[{"m":11,"s":373}]}]}],"m":88,"n":[{"o":31},90],"r":[{"s":38,"ø":0}],"s":[{"p":0}],"t":[{"a":34,"t":15}]}],"g":[{"e":[{"d":1,"s":103}],"r":[{"a":1}],"s":452}],"h":11,"i":[{"a":259,"b":38,"m":0,"o":[{"n":103}]}],"j":[{"e":[{"v":[{"a":49}]}]}],"l":[{"d":31,"i":[{"s":[{"e":[{".":36}]}]}],"o":[{"a":15}]},69],"n":[{"e":[{"u":15}],"o":15}],"o":[{"f":[{"r":22},36],"m":69,"n":[{"o":23}]}],"r":[{"a":7,"e":7,"ø":259,"å":[{"d":12,"t":17}]}],"s":[{"a":[{"l":23}],"e":[{"l":15}],"j":28,"k":[{"a":9,"r":34}],"m":[{"u":23}],"p":[{"a":34}],"t":[{"a":23,"e":[{"k":15,"l":2,"m":15},1],"r":[{"a":23}]},5],"v":[{"a":9}]}],"u":[{"n":69,"t":35}]},173],"h":[{"e":[{"n":18}],"o":[{"l":[{"e":[{".":61}]}]}],"u":[{"k":0,"l":[{"a":39,"e":[{".":22}]}]}]},90],"i":[{"n":38,"s":[{".":152,"e":453}],"t":[{"a":11}]},153],"j":153,"k":[{"a":[{"b":[{"e":[{"l":38}]},88],"f":88,"k":88,"n":[{"d":49}],"o":88,"p":[{"o":0}],"r":[{".":38,"a":38,"e":[{"i":0},22]}],"s":[{"a":11,"p":24}]},150],"e":[{".":88,"d":88,"i":6,"l":[{"e":[{"g":155}],"i":38,"u":22}],"n":[{".":38,"a":0,"e":38,"s":155}],"r":[{".":90,"a":0,"e":[{".":38}],"i":22,"o":53}],"s":[{"i":24,"k":11,"o":38,"u":22},454],"t":[{".":38,"s":38}]}],"i":[{"n":[{"e":39,"n":15}],"s":[{"t":22}]},153],"j":153,"k":[{"a":[{"f":1,"n":[{"a":4}],"p":1,"r":[{"v":22}],"s":1,"t":[{"t":22},1]}],"e":[{"n":[{"t":21}],"r":[{"u":1}],"s":[{"k":6,"t":1}]}],"j":[{"ø":[{"p":1},12]}],"l":[{"a":[{"g":22}]},1],"o":[{"r":[{"d":22}]},7],"r":[{"e":24},1],"s":[{"v":22}],"u":[{"n":[{"d":22}]},455],"v":7,"y":4}],"l":[{"æ":38},69],"o":[{"a":[{"r":155},88],"b":88,"d":[{"e":22},0],"f":228,"g":0,"h":0,"k":88,"n":[{"a":[{".":22}]}],"o":88,"r":[{"d":149,"e":0}],"v":88},153],"r":[{"a":[{"k":1}],"e":[{"m":15}],"o":[{"b":[{"e":15}],"s":12}],"y":7},69],"s":[{"a":7,"e":[{"k":1}],"m":[{"å":[{"l":[{"a":91}]}]}],"o":[{"t":2}],"p":[{"e":[{"l":15}]}],"t":[{"i":22,"o":22,"u":6}]}],"t":[{"a":[{"v":1}],"e":[{"g":1}],"r":129,"s":[{"l":[{"a":[{"g":[{"a":242}]}]}]}]}],"u":[{"l":[{"e":[{".":31}]}],"t":251},153],"v":[{"i":[{"n":1}]},69],"y":153,"ø":90,"å":[{"p":[{"a":32}]},90]},173],"l":[{"a":[{"d":[{"r":15}],"f":2,"k":375,"l":12,"n":[{"a":0,"d":4}],"r":[{"k":0,"t":12}],"s":[{"s":15,"t":80}],"t":22,"v":15},153],"d":[{"a":[{"k":1}],"e":[{"k":[{"o":1}],"t":[{"e":1}]}],"j":2,"r":[{"e":24}],"s":[{"f":[{"a":[{"r":[{"e":186}]}]}],"t":65}]}],"e":[{"a":[{"r":[{"e":32},49]}],"e":456,"f":88,"g":[{"e":[{".":23}],"n":193}],"i":[{"g":11},259],"k":88,"l":88,"n":[{"o":0}],"r":[{"o":0}],"s":[{"e":0,"k":195,"t":0},54],"t":[{"r":[{"i":31}],"t":[{"e":17}],"u":23}]}],"é":153,"f":[{"ø":[{"r":[{"e":17}]}]}],"g":[{"e":15,"l":69}],"i":[{"d":0,"e":[{"r":[{"s":22}]}],"g":[{"a":39}],"k":38,"m":259,"n":[{"d":193,"e":152,"s":0}],"r":366,"s":[{"t":[{"i":[{"k":19}]}]}]}],"j":[{"a":[{".":12}],"e":[{"s":[{"e":15}]},69],"o":69,"u":69}],"k":[{"e":[{"r":15,"s":1},18],"o":[{"s":160}],"u":15}],"l":[{"a":[{"b":1,"m":4,"n":[{"d":[{"a":91}]}],"p":4,"u":35}],"e":[{"e":1,"i":[{"e":33}],"n":[{"d":[{"e":[{"r":21}]}]}],"s":[{"k":4}],"v":1}],"i":[{"g":[{"a":49}]}],"o":[{"m":223}],"s":[{"k":[{"å":17}]},82],"æ":[{"r":[{"e":[{".":49}]}]},5]}],"m":[{"e":[{"s":[{"t":26}],"v":42}],"i":1,"s":22}],"o":[{"e":153,"l":[{"o":155}],"m":[{"v":15},0],"n":38,"p":[{"p":12}],"r":225,"s":[{"o":38}],"t":[{"u":18}],"v":[{"e":0}],"w":54}],"r":[{"e":[{"t":103}]}],"s":[{"e":[{"t":[{"j":[{"e":91}]}]}],"l":[{"a":58,"e":[{"g":[{"e":58}]}],"i":21},12],"m":[{"u":23}],"p":28,"t":[{"r":15},28],"u":2,"v":[{"a":[{"r":[{"a":33,"e":14}]}]},67]}],"t":[{"a":[{"l":[{"a":49}]}],"r":[{"e":[{"t":[{"t":22}]}]}],"å":21}],"u":[{"h":23,"k":38,"l":239,"n":12,"r":38,"s":155,"t":69}],"v":[{"e":[{"d":46,"r":5}]},20],"y":153,"å":[{"r":36},370]}],"m":[{".":167,"a":[{"d":88,"e":[{"n":0}],"g":88,"k":[{"k":97,"o":0}],"l":[{"n":46}],"m":88,"n":155,"p":88,"r":[{".":38}],"s":22,"t":[{"r":0}]},162],"b":457,"e":[{"e":0,"g":458,"k":88,"l":[{"u":11}],"n":[{"h":15}],"t":[{".":155,"a":0,"i":0},6],"y":11}],"é":93,"i":[{"l":[{"a":39}],"n":[{"i":120}]}],"j":152,"l":[{"e":[{"v":1}],"u":219}],"m":15,"o":[{"g":11,"l":39,"r":[{"d":[{"a":46},15]}],"v":40}],"p":[{"e":[{"r":[{"i":166}]}],"l":23,"o":172,"s":[{"e":91},39],"u":172},28],"r":[{"e":[{"f":1,"k":1,"s":1}]}],"s":[{"e":35,"k":[{"l":53,"r":24}],"m":[{"e":9}],"t":[{"i":4},182]}],"t":[{"a":[{"l":[{"a":46}]}]}],"u":162,"ø":459}],"n":[{".":173,"a":[{"g":[{"g":15},0],"k":[{"k":38}],"l":[{"e":[{"t":23}]}],"m":[{"e":12},319],"n":[{"e":155,"n":15},7],"p":[{"p":15},88],"r":[{".":38,"s":38}],"s":[{"k":0,"p":0,"s":169}],"t":[{"a":[{"k":53}],"r":62}],"u":[{"k":2},11],"v":[{"l":15,"r":15}]},168],"c":[{"e":183}],"d":[{"e":[{"r":2}],"i":[{"g":168}],"o":[{"g":1}],"r":[{"a":39,"u":12,"ø":17}],"s":[{"k":22,"p":24,"t":42}],"u":[{"s":[{"t":[{"r":166}]}]}],"å":61}],"e":[{"a":[{"r":[{"e":32}]}],"d":[{"y":120},88],"g":[{"g":15}],"i":[{"d":15,"e":12}],"l":[{"e":11,"i":23}],"n":[{"g":2}],"p":[{"a":32,"e":[{".":32}]}],"r":[{"e":[{".":152,"n":38,"s":155}],"i":[{"k":23}],"n":152,"t":38}],"s":[{".":38,"k":[{"a":46,"e":[{".":46}]},0],"s":[{"t":5}],"t":[{"i":42}],"ø":0}],"v":88},162],"é":167,"f":[{"e":[{"k":164}],"o":[{"s":1,"t":1}],"u":49,"y":162}],"g":[{"a":[{"l":[{"d":26}],"v":1}],"e":[{"b":[{"j":15}],"m":4,"n":[{"i":166}],"r":[{"i":15,"u":1}],"v":12}],"j":[{"e":[{"n":22}]}],"o":[{"a":1,"s":1}],"r":[{"e":[{"p":22}],"i":[{"s":61}]},7],"s":[{"o":[{"m":17}],"t":91,"v":17},28],"u":[{"n":26},168],"ø":233}],"i":[{"a":[{"r":[{".":39}]},152],"b":88,"e":38,"f":0,"g":88,"l":0,"m":61,"n":[{"n":0}],"p":88,"s":[{"a":0,"e":[{"s":0},24]}],"t":[{"i":[{"a":166}],"o":0}]}],"j":[{"e":[{"k":166}]}],"k":[{"e":[{"l":15,"r":[{"o":1}]}],"l":[{"a":85}],"o":[{"k":1}]},173],"l":[{"a":[{"g":[{"a":46}]}]},15],"n":[{".":173,"a":[{"l":1}],"e":[{"m":1,"r":[{"ø":1}],"s":[{"i":1,"t":120}],"t":[{"t":[{"e":21}]},162]}],"f":[{"a":[{"s":33}]}],"g":172,"h":[{"a":[{"l":166}],"o":164}],"i":[{".":1},460],"o":[{"m":26,"v":[{"a":20}]}],"s":[{".":168,"a":164,"e":[{"n":39},22],"t":[{"e":39}],"v":[{"e":61}]},177],"t":172,"u":158,"æ":162,"ø":461}],"o":[{"a":[{"r":38},22],"d":0,"k":[{"s":2},36],"r":[{"g":2}]},173],"s":[{".":162,"a":[{".":35,"l":2,"r":15},167],"e":[{".":15,"k":1,"n":12,"r":[{"i":[{"e":[{"n":[{"e":211}]}]}]}]}],"i":[{"s":14},12],"j":[{"a":1,"e":12},168],"k":[{"a":[{"s":84,"t":15}],"e":[{"t":103}],"i":23,"j":[{"ø":[{"t":22}]},12],"o":[{"r":31}],"v":41,"ø":31},162],"l":[{"e":[{"g":[{"a":32},58]}],"o":12,"ø":67}],"m":[{"a":9}],"o":[{"p":12}],"p":[{"a":1,"l":9,"o":23},172],"t":[{"a":[{"l":166}],"e":[{".":462,"n":[{".":22,"s":39}]}],"i":[{"n":1},463],"o":464,"r":[{"a":15,"e":[{"l":17}],"u":166}],"å":4}],"u":[{"l":2}],"v":7,"y":465},69],"t":[{".":167,"a":[{"l":[{"a":46}]},285],"e":[{".":162,"g":[{"e":109},317],"r":15,"s":[{"s":22}],"t":466}],"i":[{"m":[{"e":17}]},236],"r":[{"a":[{"n":190}],"e":[{"r":23,"s":15}]},28]}],"u":[{"i":31,"l":467,"t":[{".":2,"e":84}]},168],"v":[{"e":[{"v":168}]},172],"y":[{"i":23,"t":23}],"ø":[{"k":2,"t":152,"v":12},168]}],"o":[{"a":182,"b":88,"d":[{"e":[{"r":[{"e":1}]}]},468],"f":[{"f":153}],"g":[{"n":15}],"i":69,"k":[{"s":153}],"l":[{"e":12,"j":[{"e":[{"n":61}]}]},23],"m":[{"u":12}],"n":[{"a":[{"n":[{"s":1}],"r":[{"r":1}]}],"e":[{"r":[{"s":[{"t":3}]}]}],"g":65,"i":[{"n":1}],"u":1}],"p":[{"l":69,"p":153}],"r":[{"a":[{".":15}],"d":[{"a":32}],"e":69,"i":[{"e":1,"n":26}],"l":[{"a":[{"g":[{"a":91}]}]}]}],"s":[{"k":[{"v":18}],"t":69}],"t":[{"a":[{"l":[{"e":[{".":36}]}]}],"e":34,"r":[{"a":1}]}]},162],"p":[{"a":[{"p":38,"t":[{"i":[{".":23}]}]}],"e":[{"e":0,"l":[{"a":33}],"p":381}],"i":[{"e":54,"n":[{"e":39,"g":[{"s":169}]}]},153],"l":[{"e":88},153],"p":[{"e":[{"l":[{"i":1,"s":50}]}],"l":[{"a":[{"n":31}],"æ":[{"r":[{"e":[{".":91}]}]}]}],"r":7,"s":[{"t":41,"y":[{"n":[{"a":91}]}],"ø":23}],"u":[{"n":2}]}],"r":[{"a":11,"u":[{"t":[{"e":[{".":46}]}]},15]},153],"s":[{"a":54,"e":[{"l":5}],"f":[{"ø":14}],"i":7,"k":129,"l":[{"e":[{"g":[{"e":[{".":120}]}]}]}],"t":54}],"t":[{"a":[{"r":4}]}],"y":379,"ø":90}],"r":[{"a":[{"n":[{"d":437}],"r":[{"k":15}],"s":[{"t":155}],"t":[{"r":31}]},153],"d":[{"e":15,"s":22}],"e":[{"i":[{"e":12}],"k":4,"p":[{"o":90}],"r":[{"a":47},90],"s":[{"t":61}],"t":[{"o":93},90]},153],"g":2,"i":[{"a":23,"k":[{"a":[{".":32}]}],"n":[{"d":12,"n":12,"s":[{"t":15}]}],"t":39},153],"k":[{"a":[{".":15,"t":1}],"e":[{"r":[{".":15}],"s":[{"t":1},469]}],"l":[{"e":1}],"v":15,"ø":22}],"m":[{"a":[{"g":1,"l":1,"s":[{"t":1}]}],"é":35}],"o":[{"a":38,"e":153,"i":0,"l":153,"p":[{"p":15}],"s":54}],"r":[{"e":12}],"s":[{"k":[{"o":2}],"p":28,"t":34}],"t":[{"a":12,"i":[{"g":[{"r":116}]}]},31],"u":[{"k":9,"m":32,"s":[{"a":[{".":61}]}]},153],"ø":153,"å":[{"l":40},153]},173],"s":[{"a":[{"k":[{"s":0}],"n":[{"b":0,"g":193,"n":12,"s":193,"t":12}],"s":152,"u":[{"d":15}]},153],"b":[{"r":[{"y":164}]}],"c":[{"e":[{"n":4}],"h":17,"o":12,"r":38}],"e":[{"d":88,"e":[{"l":0,"n":0,"r":[{"n":22}]}],"g":470,"i":[{"e":12,"g":15,"s":22},88],"k":[{"t":[{"e":0},90]},88],"l":[{"d":96,"i":26}],"m":88,"n":[{"e":22,"o":0,"s":[{"i":123}]}],"r":[{".":38,"s":38}],"s":[{"s":15},88],"t":[{"e":0,"j":[{"e":46}]}],"u":88}],"é":167,"h":[{"a":[{"n":[{"e":16}],"v":164}],"i":[{"n":26}],"ø":[{"v":[{"e":49}]}]}],"i":[{"e":[{"n":[{"e":31}]}],"l":[{"d":15}],"n":[{"d":193}],"s":[{"t":17}]}],"j":[{"u":[{"n":2}]}],"k":[{"a":[{".":35,"l":12,"r":[{"t":[{".":39,"e":22}]},12]}],"e":[{".":15,"e":6,"l":[{"s":22},1],"s":78},93],"j":[{"e":12,"o":90}],"l":[{"a":[{"g":[{"a":91}]}],"e":3,"o":24}],"o":[{"g":[{"r":2},17],"p":12,"t":12}],"r":[{"i":[{"n":3}]},69],"u":[{"l":[{"a":38},1]},69],"v":[{"i":1},69]}],"l":[{"u":[{"t":61},11],"ø":[{"y":[{".":39}]}]},69],"m":[{"a":[{"k":38}],"e":[{"d":1}],"o":[{"e":17}],"u":[{"s":11}]}],"n":[{"e":15,"u":15}],"o":[{"l":[{"d":168},172],"m":[{"o":166,"r":15}],"p":[{"a":24,"e":22,"r":61}],"t":164,"v":69}],"p":[{"a":[{"n":[{"e":[{".":15}]},1]}],"i":[{"s":4}],"r":[{"u":2}]},69],"s":[{"e":[{"s":1}],"i":[{"s":14},15],"k":[{"j":21,"o":1,"r":2,"y":15,"å":1}],"o":[{"k":15}],"t":[{"o":2}],"v":[{"e":4,"o":15}],"æ":[{"r":352}],"ø":[{"k":1}]}],"t":[{"a":[{"b":38,"l":[{"e":49}],"n":[{"e":15}],"p":15,"r":169,"v":[{"b":22,"i":61}]}],"e":[{".":15,"k":[{"t":22},1],"l":[{"l":14}],"m":[{"a":[{".":36}]}],"n":[{".":15,"e":15},31],"r":[{".":15,"n":15,"ø":4}]},88],"é":4,"i":[{"k":1,"l":[{"b":15}],"s":15}],"o":[{"k":12,"l":12}],"r":[{"e":[{".":471,"n":195,"r":[{".":11},38],"s":0,"t":11}],"y":12},88],"u":[{"s":12}]}],"u":[{"f":15,"l":15,"n":69},168],"v":[{"a":[{"k":1}]},69],"w":2,"y":[{"n":[{"a":32}],"r":22,"s":350,"t":15}],"ø":[{"k":259,"y":0}],"å":[{"k":2,"r":12}]}],"t":[{"a":[{"l":[{"a":41,"e":[{"r":[{"s":47}]}],"o":23,"y":23}],"n":[{"g":11,"s":[{"v":128}]}],"u":5,"v":0},153],"e":[{"c":0,"g":88,"k":[{"e":[{".":32}],"y":152}],"l":[{"g":96}],"n":[{"i":0}],"o":88,"r":[{"e":24,"o":0,"s":116,"u":195}],"s":[{"e":[{".":31}]},458],"t":[{"s":116}]}],"é":153,"i":[{"e":[{"r":[{".":31}],"s":0}],"f":88,"k":[{"a":[{"m":0}],"v":196}],"m":[{"e":22}],"o":88,"p":88,"r":24,"s":[{"a":0,"e":[{"n":0}],"i":0,"j":0,"k":[{"o":0}],"p":196,"t":[{"r":22},0]}],"u":88,"v":[{"s":14},5]},7],"j":[{"a":[{"r":[{"a":[{"n":2}]}]}],"e":[{"r":2}],"i":2}],"m":[{"a":[{"l":[{"e":[{".":36}]}]}]}],"n":[{"e":[{"s":[{"s":103}]}]}],"o":[{"a":39,"m":0,"r":[{"d":15}],"s":[{"t":[{"r":[{"a":409}]}]},23],"v":32},153],"r":[{"a":[{".":0,"e":11}],"e":[{"l":12,"n":12}],"i":[{"m":[{"a":46},15],"n":12,"s":38}],"o":[{"s":472}]},153],"s":[{"a":69,"e":[{"i":85,"r":12,"s":4}],"k":[{"u":15}],"l":[{"a":[{"g":[{"a":91}]}]}],"n":69,"t":[{"i":4}],"u":[{"n":12}]}],"t":[{"a":[{"g":1,"k":4,"l":[{"a":49},1],"n":[{"n":4}],"p":4,"t":26}],"e":[{"d":15,"l":[{"o":271}],"n":[{"k":1}],"s":78,"t":[{"t":22}]}],"i":[{"d":1,"l":1}],"j":1,"o":[{"f":4,"n":2},54],"r":1,"s":[{"k":[{"r":22}],"ø":23}],"y":[{"s":2},1]}],"u":[{"e":22},153],"æ":[{"r":176}],"ø":153,"å":165}],"u":[{"a":4,"b":7,"l":149,"m":[{".":38,"f":[{"a":[{"r":53}]}],"i":129,"m":22,"o":1,"s":[{"e":11,"t":362,"u":0}]}],"n":7,"p":6,"r":88,"s":[{"e":15}]},153],"v":[{"a":[{"d":0,"j":11,"k":[{"s":193}],"l":[{"a":[{".":31}]},38],"n":[{"a":0,"k":169}],"r":[{"b":0,"s":80}],"s":[{"s":169}],"t":[{"t":18}]},187],"e":[{"g":[{"e":31,"n":473},88],"i":[{"g":2},0],"k":88,"r":[{"a":[{"s":22},23],"d":17,"e":[{"t":11}]}],"s":[{"k":0,"t":[{"i":0}],"v":11}],"t":[{"ø":11}],"v":88},153],"é":153,"i":[{"n":[{"s":15}],"s":[{".":15,"b":15}]},153],"l":[{"e":[{"g":[{"e":[{".":36}]}]}]}],"n":12,"o":[{"m":2},153],"r":12,"s":[{"a":[{"l":1}],"i":7,"k":7,"l":7,"n":7,"o":1,"v":22}],"u":[{"n":375}],"y":[{"r":[{"k":[{"e":[{".":46}]}]}]},149],"æ":155,"å":[{"p":[{"n":2}]}]}],"w":[{"a":153,"i":[{"e":474},22]}],"y":[{"r":[{"k":[{"e":[{".":32}]}]}]},38],"z":[{"a":[{".":38,"s":152}],"e":0,"o":153}],"ø":[{"k":398,"r":[{".":153,"i":22,"s":22}],"s":[{"e":12},0],"y":153},153],"å":[{"r":[{"s":[{"l":16}]}],"t":[{"t":[{"e":[{".":23}]}]}]},398]}],"j":[{"a":[{"a":[{"k":69,"r":35}],"d":[{"a":1}],"e":[{"n":2},172],"g":[{".":166,"a":[{".":1,"r":2}],"e":[{".":1}],"r":31}],"h":[{"a":1,"v":1}],"j":1,"k":[{"k":[{"e":[{"l":[{"e":61},23]}],"o":23,"s":78}],"o":[{"k":109}],"r":[{"e":6},370],"t":[{"e":[{"l":475}],"s":91}],"u":2}],"l":[{"o":12,"u":69}],"m":[{"b":[{"i":168},61],"h":[{"ø":[{"v":[{"e":[{".":91}]}]}]}],"m":166,"s":183}],"n":[{"g":[{"r":23}],"l":38}],"r":[{"a":[{".":4,"p":3}],"e":[{"k":35}],"n":[{"s":124}],"t":[{"a":22,"e":[{".":22,"t":[{".":22}]}],"i":61}],"ø":168,"å":4}],"s":[{"e":2,"k":[{"i":6}],"t":[{"i":15}]}],"t":[{"a":15}],"u":[{"e":[{"r":[{"e":23}]}]}],"v":[{"i":35}],"z":172}],"b":153,"d":173,"e":[{"a":[{"k":15},419],"b":[{"b":39},173],"d":[{"e":[{"b":1,"k":226}],"r":162}],"e":[{"p":408,"v":168}],"f":[{"e":[{"t":85}],"j":7,"l":[{"a":[{"g":22}]}],"r":[{"e":85}],"s":[{"a":23,"i":47}],"t":[{"r":65}]},173],"g":[{"e":15,"g":[{"e":22}],"l":[{"e":[{"s":31}]},168],"o":162,"r":162,"y":162}],"h":173,"i":[{"s":10},69],"j":162,"k":[{"a":173,"k":[{"e":[{"r":[{"u":31}]}]}],"l":[{"i":1},162],"o":173,"t":[{"a":[{"n":23},18],"e":[{"s":31,"v":17}],"i":[{"n":53}],"r":41,"s":[{"t":103}]}],"ø":162}],"l":[{"e":[{"g":[{"r":4}],"i":[{"e":[{"r":58}]}],"l":[{"e":2}],"s":1}],"g":[{"e":61}],"l":[{"a":[{"g":31,"n":[{"g":17}]}],"e":[{"n":22}],"o":23}],"t":[{"r":23},18],"u":[{"t":39}],"v":[{"a":[{".":61}]}]},173],"m":[{"i":[{"a":1,"t":1}],"p":[{"l":22},36],"s":[{"e":22,"t":[{"i":23}]}]},173],"n":[{"a":278,"d":[{"i":[{"s":139}],"r":162},54],"e":[{".":12,"s":239,"t":162}],"g":[{"e":[{"d":22}],"l":[{"a":62}],"s":78}],"i":173,"k":24,"l":162,"o":162,"u":162,"y":357,"æ":162}],"o":476,"p":173,"r":[{"a":[{"f":12,"n":[{"t":26}]}],"d":[{"e":[{"p":23}],"s":36}],"e":[{"d":162,"g":168,"i":168,"n":[{"n":168}]},52],"i":[{"k":15,"m":4,"n":[{"æ":4}]}],"k":[{"e":[{"s":23}],"l":47,"v":23}],"l":[{"e":58}],"m":[{"u":31}],"n":[{"a":[{"s":47}],"s":[{"l":17}]}],"o":[{"n":4}],"s":[{"p":23}],"t":[{"s":17}],"u":281,"å":168}],"s":[{"f":166,"h":166,"k":[{"i":[{"l":23}]}],"p":285,"t":[{"e":[{"a":23}],"i":[{"m":4}],"r":12}],"u":[{"t":166}],"v":[{"e":15}]}],"t":[{"a":[{"g":85,"k":[{"a":36}],"r":[{".":35,"a":2,"e":35}]}],"r":[{"u":85}],"s":183,"t":[{"a":[{"n":53}],"e":[{"r":[{"m":31}]}],"o":18,"s":80}],"v":85,"y":[{"e":46}]}],"u":406,"v":[{"a":[{"r":[{"k":2}],"s":4},279],"e":162,"i":[{"s":5}],"n":[{"a":[{".":61}],"e":61}]}],"ø":168},88],"f":153,"g":162,"h":153,"i":[{".":162,"b":[{"b":22}],"e":40,"k":168,"n":[{"f":361}],"r":[{"o":2}],"s":[{"j":4}],"ø":162}],"k":[{"a":[{"p":0}]},188],"l":200,"m":200,"n":[{".":168,"i":38},200],"o":[{"b":172,"c":166,"d":[{"a":[{".":1,"t":4}],"i":[{"s":4}]}],"f":[{"l":1}],"j":[{"o":17}],"k":[{"k":[{"e":[{"r":39}],"o":260}]}],"l":[{"t":19}],"m":[{"r":90}],"n":[{"e":15,"n":61,"s":[{"a":17,"e":103,"p":18,"t":[{"i":31,"r":23},17],"u":103},176]},28],"p":162,"r":[{"a":15,"d":[{"e":[{"k":31,"r":[{"v":127}]}],"i":[{"s":[{".":127}]}],"o":41,"r":18,"s":[{"l":103},17],"u":31}],"e":69,"i":[{"e":1}],"t":[{"a":36,"e":[{"t":22}]}],"u":34}],"s":[{"e":[{"s":1},12],"t":[{"e":[{"i":15}]}]},173],"u":[{"r":17},172]},88],"p":153,"r":187,"s":397,"t":153,"u":[{"a":[{"r":[{"e":6}]}],"b":[{"i":18,"o":35},172],"d":[{"a":[{"s":105}],"e":12,"o":[{"e":2},7]}],"e":[{"n":[{"i":61}],"r":[{"e":26}],"s":39}],"g":[{"l":[{"e":39}],"o":166}],"k":[{"a":12,"e":[{".":12,"n":12}],"s":[{"a":[{"r":39}]}]},477],"l":[{"a":[{".":12,"r":15,"s":15}],"e":[{"i":219}],"i":[{".":1,"d":4,"k":1,"n":[{"n":61}]}],"l":36},7],"n":[{"g":[{"e":61},172],"i":478}],"p":[{"s":61,"å":83},167],"r":[{"a":[{"s":2},1],"i":[{"s":164}],"o":35,"u":12,"y":166}],"s":[{"o":68},172],"t":[{"a":69,"o":22}],"v":[{"a":[{".":4,"k":4}]}],"å":69}],"v":38,"y":[{"d":[{"e":[{".":6}]}],"p":107},69],"æ":[{"l":[{"e":[{".":15}]}],"r":[{"a":[{".":12,"n":35}],"e":[{"s":[{".":35}]}]}],"t":[{"e":[{".":2}]}]}],"ø":[{".":172,"a":[{".":172}],"b":9,"e":[{"f":173,"g":162,"i":168,"k":173,"n":[{"d":162,"g":162}],"t":[{"a":162}]},172],"f":69,"g":[{"r":12}],"k":[{"j":35}],"l":[{"e":[{"s":1}],"v":[{"e":[{"r":31}]}]},162],"m":[{"e":15}],"n":[{"n":[{"e":22}]}],"p":[{"a":15}],"r":[{"k":[{"e":[{"l":23}]}],"s":[{"p":23,"v":17}],"t":[{"e":[{"l":23}]}],"u":[{"t":61},12],"ø":69}],"s":[{"e":[{"s":1}],"t":183}],"t":[{"a":[{"v":21},15],"e":[{".":12,"t":[{"a":22},5]}],"r":69,"t":[{"e":103}]}],"v":[{"e":[{"l":1}]},281]},88],"å":[{"a":[{"r":[{".":15}]}],"g":[{"e":[{".":35}]}],"l":[{"a":[{".":4}],"e":[{".":1,"s":2,"t":15}]}]},173]}],"k":[{"a":[{".":172,"a":[{".":166,"n":479,"s":90,"t":12},173],"b":[{"e":[{"s":168}],"o":2,"r":281,"y":162}],"d":[{"a":[{"l":[{"e":168}]},12],"e":[{"l":[{".":4},15],"r":[{"i":1}]}],"g":162,"i":[{"e":16}],"r":173,"u":166,"y":162}],"e":[{"n":164}],"f":[{"e":12,"f":[{"e":[{"r":[{"e":22}]}]}],"o":173,"r":35,"t":[{"a":22},173],"ø":168}],"g":[{"i":229,"r":28},173],"h":173,"i":[{"s":[{"k":15,"m":15}]}],"j":[{"o":168}],"k":[{"a":[{".":1}],"e":[{".":1,"d":1,"l":1,"s":1}],"i":[{".":1,"s":1}],"s":[{"j":274}],"t":162,"u":12}],"l":[{"a":[{"m":12,"n":[{"t":4},12],"s":12}],"d":[{"s":17,"t":166}],"e":[{"n":164,"v":15},28],"i":[{"s":166}],"k":[{"e":77,"y":166},480],"l":[{"a":61,"e":[{"r":[{"o":31}]}],"s":5}],"o":69,"p":24,"s":[{"v":77}],"v":[{"e":[{"s":23}]}]}],"m":[{"a":[{".":4}],"e":[{".":6,"r":[{"i":162}]}],"m":[{"e":[{"l":162}]}],"p":[{"i":41,"r":23}],"u":191},172],"n":[{"a":[{".":6},172],"d":[{"a":[{".":31},162],"e":[{".":334}]}],"e":[{"r":15},172],"i":[{"n":15},23],"l":188,"m":187,"n":[{"o":90}],"o":[{".":1,"m":6},166],"s":[{"a":162,"i":168,"l":164}],"t":[{"e":[{"n":[{"d":127}]}],"r":481},172]}],"p":[{".":173,"a":[{"d":166,"k":1,"s":164}],"e":[{"l":[{"l":166}],"n":162},15],"i":[{"t":164}],"p":172,"r":[{"e":24}],"s":[{"t":41}]}],"r":[{".":172,"a":[{"b":162,"m":162,"n":14,"v":12},172],"b":[{"e":[{"i":162}]},172],"e":[{"a":162,"k":4,"l":15}],"f":172,"g":166,"i":[{".":1,"d":4}],"k":[{"i":434,"t":274}],"m":172,"n":24,"o":[{"l":12,"m":24}],"p":[{"e":[{"s":22}],"s":18}],"r":[{"i":164}],"s":[{"j":191,"t":5}],"t":[{"i":22},172],"u":166,"å":162}],"s":[{".":191,"e":[{"i":345,"k":12,"v":22}],"j":[{"u":28,"ø":168}],"k":[{"a":24,"o":14},1],"p":[{"i":1},168],"s":[{"a":[{"d":31,"k":23}],"i":181,"o":23},36],"t":[{"o":482,"r":255},1],"u":[{"s":483}]},172],"t":[{"a":[{"k":485},484],"e":[{"d":12,"g":164,"t":12}],"o":[{"p":26},69],"r":486,"s":61,"t":[{"a":[{"k":31},22],"e":[{"l":23,"r":[{"m":31}],"s":14}],"i":[{"l":23}],"r":[{"i":23}]}],"y":26}],"u":[{"r":385}],"v":[{"e":[{"s":2}],"i":[{"s":155}],"l":[{"u":148}]},173],"y":301}],"b":487,"c":[{"e":[{"n":5},38]},173],"d":[{"v":149},188],"e":[{"a":[{"l":35},488],"b":[{"r":162,"u":[{"k":162}]},173],"c":162,"d":[{"a":[{"g":162,"l":162,"n":[{".":166,"t":301}]},15],"e":[{"i":168,"m":162,"s":[{".":191},162]},15],"i":173,"r":286,"s":[{"k":32}],"u":36,"y":162,"ø":173},23],"e":[{"g":173,"k":173,"l":173,"p":1,"r":[{"n":2}],"v":173}],"f":[{"f":90,"t":38},162],"g":[{"g":[{"a":32},90],"l":[{"a":[{"d":[{"h":166}]}]}]},189],"h":[{"e":[{"t":164}],"j":162},15],"i":[{"d":459,"g":153,"l":15,"m":69,"n":330,"s":183},173],"j":173,"k":[{"l":28,"n":12,"s":153,"t":171},173],"l":[{".":11,"a":[{"k":34,"l":166,"n":[{"s":4}],"t":4},173],"e":[{"i":[{"e":[{"r":22}],"g":22,"k":[{"e":[{".":91}]},61],"s":168}],"l":65,"m":248,"n":[{"g":162}],"p":236,"s":162,"t":304,"v":162}],"i":[{"e":[{"n":49},489],"g":[{"n":162},164],"n":[{"j":162,"t":22}],"s":[{"e":1},162],"t":166,"v":162}],"l":22,"o":[{"f":162,"v":[{".":168,"e":162}]}],"s":[{"k":[{"a":[{"r":16}]}],"l":22,"p":22,"t":22,"v":[{"a":186},24]},5],"t":[{"e":18},28],"u":[{"a":168,"e":162,"k":[{"a":39,"e":22}],"r":85,"v":168}],"v":22,"y":173,"æ":173,"ø":[{"p":[{"a":[{".":46}]}]},173],"å":[{"r":[{"e":16}]},490]}],"m":[{"i":[{"t":1}]},173],"n":[{"a":[{".":166,"m":168,"p":31,"s":1,"t":[{"t":[{"s":166}]}]}],"d":[{"e":[{"n":313,"r":491},22],"r":492}],"e":[{"b":162,"k":162,"l":162,"m":162,"t":[{"t":168}],"v":162},12],"f":164,"i":[{"v":236},1],"h":334,"k":24,"n":[{"e":[{"l":493}]},61],"o":[{"m":1}],"s":[{"e":248,"t":36},180],"t":[{"e":61,"r":19,"u":181}],"y":465,"ø":168}],"o":[{"f":2,"n":12},173],"p":[{"i":[{".":166,"a":301,"e":191}],"l":168},162],"r":[{"a":[{"l":16,"m":162,"n":[{"t":22},1],"u":168}],"e":[{"d":162,"g":162,"i":[{"d":103,"r":162,"s":168}],"k":162,"m":236,"n":[{"e":168,"g":3,"n":162},36],"p":162,"r":[{"t":26}],"s":[{"s":162,"t":162,"u":162},12],"t":[{".":166,"a":166,"s":191},162]}],"i":[{"f":1,"k":[{".":168,"e":162,"t":168}],"m":1,"n":[{"e":1,"g":[{"i":168,"j":168}],"æ":1}],"s":[{"t":[{".":167,"a":167,"e":168}]},1]},164],"m":164,"o":[{"p":191,"r":166,"s":[{"e":[{".":36}]},265],"t":12}],"t":[{"o":22,"v":65},0],"u":[{"n":24,"s":[{"e":[{".":36}]},162]}],"ø":[{"r":[{"e":[{".":36}]}],"y":[{"a":494,"e":215}]}],"å":173}],"s":[{".":166,"a":[{"m":[{".":301},162]}],"d":[{"a":[{"l":[{"e":191}]}]}],"e":[{".":166,"l":38}],"i":[{"l":15,"t":162}],"j":173,"k":[{"a":[{".":335}],"e":[{".":32},248],"i":162,"j":162,"å":168}],"l":[{"e":[{"g":[{"e":[{".":120}]}]}]}],"p":[{"e":[{"d":22}],"o":[{"t":166}],"u":495}],"t":[{".":166,"a":265,"e":[{".":166,"d":236,"i":236,"m":31,"n":383}],"o":12,"r":[{"i":162,"u":236}],"u":162,"ø":162}],"u":[{"n":26}],"v":54,"y":173,"å":54}],"t":[{"a":[{"k":[{"a":36}],"l":[{"e":[{".":36}],"s":166}],"r":11},173],"e":[{".":166,"k":162},12],"h":191,"i":173,"j":173,"o":173,"r":420,"s":183,"t":[{"e":[{"n":[{"h":127}],"s":32}]}],"u":173,"y":[{"e":36},173],"æ":162,"ø":[{"y":[{"s":145}]}],"å":173}],"u":[{"r":15},420],"v":[{"a":[{"n":[{"e":[{".":46}]}],"s":166},28],"e":[{"l":164}],"i":[{"s":[{"a":[{".":36}]}]}],"j":[{"a":31,"e":[{".":23}]},153],"n":[{"e":[{".":31}]},90],"r":12,"æ":[{"r":[{"a":46}]}]},173],"y":[{"t":7}],"æ":168,"ø":173,"å":173},172],"é":[{"t":22},296],"f":[{"i":38},188],"g":[{"e":90,"h":38,"u":23},496],"h":[{"a":[{"k":15,"r":0}],"e":[{"o":23}],"j":[{"u":[{"l":[{"s":91}]}]}],"m":4},187],"i":[{"a":[{"r":67}],"d":[{"e":[{"o":90}],"o":[{"l":162}],"r":12}],"e":[{"r":[{"e":22,".":12}],"l":4},319],"f":173,"g":9,"k":[{"a":[{".":4}],"k":[{"s":208}],"l":370,"r":67,"s":23}],"l":[{"a":[{".":6}],"d":[{"e":164,"r":168}],"e":[{".":1}],"i":15,"j":[{"a":39},162],"l":[{"e":[{"s":[{"t":87}]}]}],"o":[{"a":2,"g":1,"s":12,"v":1}],"t":173,"å":2}],"m":[{"a":[{".":6}],"e":[{".":1}],"o":[{"l":1},197],"p":188}],"n":[{"a":[{"n":[{"d":39}],"r":[{"k":1}],"s":[{".":15}]}],"d":168,"e":[{".":4},15],"f":173,"g":[{"a":[{"n":[{"d":17}]}],"e":24},172],"i":[{"n":[{"g":22}]}],"n":[{"s":[{"i":[{"d":[{"a":242,"e":[{".":242}]}]}],"p":5}]},173],"o":[{"v":22},7],"s":[{"i":[{"d":[{"e":[{".":120}]}]}]},173],"t":[{"i":[{"m":[{"e":[{".":91}]}]}]},173],"u":4,"v":173}],"o":[{"l":162,"s":191},23],"p":[{"e":15,"l":26,"p":[{"e":22}],"s":255},173],"r":[{"e":15,"i":15,"s":162},172],"s":[{"e":12,"k":[{"o":15}],"m":[{"u":12}],"p":8,"t":[{"a":[{"v":15}],"r":15}]}],"t":[{"e":[{"n":4}],"i":2,"o":[{"n":1},166]}],"u":162,"v":[{"e":[{"k":1,"n":[{"h":26}]}],"i":[{".":4}],"s":24},11]}],"j":[{"a":[{"n":497,"p":[{"p":[{"e":17}]}],"r":[{"n":306}]}],"e":[{"f":[{"j":61,"r":77}],"g":[{"g":162}],"l":[{"d":164,"l":[{"e":[{"g":16}]}]}],"m":[{"a":[{"s":166}],"p":164}],"n":[{"k":168,"y":39}],"s":54,"t":[{"r":47,"t":17}]}],"o":[{"r":168}],"u":[{"k":93,"l":[{"e":[{".":22,"n":22}]}],"r":39}],"æ":[{"r":[{"l":164}]}],"ø":[{"d":[{"i":38}],"p":172,"r":[{"i":164}],"t":[{"r":23}]}]},7],"k":[{"a":[{"b":88,"f":[{"t":12}],"k":259,"l":375,"m":88,"n":[{"b":0,"d":[{".":93,"e":[{"n":11}]},15],"g":169,"n":0}],"o":0,"r":[{"b":0,"g":11,"t":[{"a":[{".":36}]},377]}],"s":[{"t":38,"u":11}],"t":[{"t":11}],"u":259,"v":69},153],"e":[{"d":[{"o":11,"u":0}],"e":88,"h":88,"i":69,"l":[{".":38,"e":[{"i":31,"v":9}],"t":124,"u":[{"k":23,"n":17},103]}],"n":[{"a":[{"n":31}]}],"r":[{".":38,"e":[{"i":0,"l":0,"n":[{"t":11}]}],"i":[{"g":0,"t":0}],"u":[{"n":[{"d":19}]}]}],"s":[{"a":[{"u":38},0],"e":0,"i":0,"l":65,"p":0,"t":[{"a":[{"d":11}]}]}],"t":[{"e":[{"t":38},0],"ø":0}]}],"g":498,"i":[{"n":[{"d":12,"f":12,"n":35,"s":12,"t":12}],"r":88},153],"j":[{"a":153,"e":[{"k":91,"n":[{"t":15}],"r":[{"n":169}],"t":16}],"u":15}],"k":15,"l":[{"a":[{"g":5,"n":12,"r":6,"u":2}],"o":69,"y":69,"æ":12}],"n":[{"e":15,"y":15},0],"s":[{"v":[{"a":109},3],"a":[{"l":31,"r":1}],"e":[{"d":15,"i":34}],"i":[{"n":1}],"k":[{"j":23},69],"l":[{"a":12,"e":2,"i":15},23],"p":[{"e":12}],"t":[{"a":[{"k":22}],"e":[{"p":61}],"r":5},8],"å":499},206],"o":[{"d":153,"e":153,"f":277,"l":[{"i":[{"g":31}]}],"m":[{"l":15,"s":2,"t":35}],"o":11,"p":69,"s":[{"i":0,"k":11,"t":0},61],"v":[{"e":12}]}],"p":15,"r":[{"a":[{"m":15,"p":12},0],"e":[{"a":12,"i":15,"n":12,"s":12}],"i":[{"k":36}],"o":[{"e":46,"s":5},12],"u":[{"s":1},12],"ø":2,"å":2}],"t":94,"u":[{"k":15,"n":[{"i":0}],"t":500}],"v":[{"o":88},69],"y":[{"l":5,"r":15,"t":2},501],"ø":[{"l":93,"r":31,"y":36},259],"å":8},167],"l":[{".":168,"a":[{".":162,"g":[{"t":248}],"k":[{"e":[{".":39}]},173],"m":[{"e":[{"l":23}]}],"s":336,"t":[{"i":152,"r":23}]}],"e":[{"b":[{"y":[{"t":58}]}],"d":[{"d":178,"e":[{"b":23,"s":23}]}],"g":173,"i":[{"e":49,"k":152,"v":0}],"m":[{".":334},88],"n":[{"o":502}],"r":[{"i":[{"k":11}]}],"s":[{"j":16,"n":[{"o":22}],"p":23,"t":[{"i":22}],"s":66}],"t":173}],"i":[{"a":167,"e":[{".":162}],"g":162,"m":503,"n":[{"i":178,"j":38}],"p":172,"t":162}],"o":[{"n":[{"a":[{"l":66}]}],"s":172,"v":173}],"u":[{"k":[{"t":90}],"n":[{"t":17},162]}],"y":[{"d":38,"f":306,"n":[{"g":178}],"s":[{"e":[{"t":[{"e":58}]}]}]}],"æ":[{"r":[{"e":[{"s":22}]}]},88],"ø":[{"n":[{"a":61}],"r":11,"s":168,"v":[{"a":39,"e":22}]}],"å":[{"n":200,"r":[{"e":22}]}]},1],"m":[{"a":[{"n":[{"n":120}]}],"å":[{"l":183}]},361],"n":[{"a":[{"p":336,"t":[{"r":[{"e":42}]}],"s":[{"t":[{"a":505}]}]}],"e":[{"b":[{"l":41}],"d":[{"i":0}],"e":504,"s":[{"e":[{".":32}],"t":0}]}],"f":15,"i":[{"p":[{"p":[{"e":123}]},178],"t":255,"v":304}],"o":[{"g":61,"k":[{"l":31}],"p":166,"t":[{"a":39,"e":22}]}],"u":[{"m":181},336],"y":[{"s":23},336],"ø":[{"l":[{"e":39}],"y":12},88]},174],"o":[{"a":[{".":301,"k":281,"n":[{"e":301}],"r":2}],"b":[{"o":12,"r":265},107],"d":[{"a":15,"d":162,"e":[{".":1,"k":164,"n":166}],"ø":173}],"e":[{"f":164,"k":162,"l":162,"s":162,"v":162},12],"g":[{"e":[{"n":[{"g":26}]}],"g":[{"e":[{"r":39}]}],"l":24,"r":[{"e":1}],"s":[{"t":120}],"u":1,"å":4}],"i":[{"e":[{"n":[{"e":53}]}],"k":40,"n":69},173],"j":[{"a":[{".":6}]},173],"k":[{"a":[{".":1,"b":1}],"e":[{".":1,"l":4}],"i":69,"k":[{"o":36,"u":90}],"l":280,"o":162,"u":173}],"l":[{"b":[{"a":14}],"d":[{"a":64}],"e":[{"g":1,"i":1,"l":4,"t":1,"u":1},173],"l":[{"e":164}],"o":[{".":15}],"p":22,"y":162,"å":173}],"m":[{"a":[{".":1,"f":162}],"e":[{".":1}],"g":168,"i":[{".":1,"l":162,"s":[{"b":162,"e":1}]}],"r":173,"s":[{"e":162,"l":24,"o":22,"t":23}],"t":417,"u":162,"å":162},172],"n":[{"a":[{".":1}],"d":[{"r":31},24],"e":[{"l":[{"å":80}]}],"i":[{"v":162}],"s":[{"v":127},82],"t":[{"o":[{"n":31}]}],"u":1},11],"o":[{"m":162},216],"p":[{"a":15,"e":[{"r":[{"s":15}],"t":162}],"i":[{".":1,"p":1}],"l":207,"o":162,"p":[{"e":[{"r":22}]}],"r":173}],"r":[{"a":[{".":1},69],"d":[{"a":[{".":31}],"o":41,"s":[{"ø":78}],"u":23}],"e":[{"f":168,"i":506,"m":15,"t":2},29],"i":[{"k":4},12],"m":162,"o":[{"l":15}],"p":[{"a":168,"e":168}],"r":507,"s":[{"a":[{"l":23}],"i":[{"n":[{"n":47}]}],"l":53,"t":[{"r":31}],"v":23}],"t":[{"e":[{"s":22}],"o":[{"p":31}],"r":53,"s":78}],"u":[{"m":[{"e":4}]},15]}],"s":[{"a":[{".":4},173],"e":[{"d":1,"k":1,"l":[{"e":166}],"n":15,"s":1}],"i":[{"d":49},35],"k":7,"l":69,"m":[{"u":162}],"o":173,"p":419,"t":[{"a":[{"s":16},4],"e":[{"r":[{"s":47}]}],"j":17,"ø":508}],"ø":162},172],"t":[{"e":[{"s":58}],"i":[{"l":162},9],"r":[{"e":4},162],"s":[{"t":[{"r":17}]},28],"t":[{"i":23,"s":[{"t":14},5]}],"y":162}],"u":[{"t":[{"a":61},18]},307],"v":[{"a":69,"e":[{"r":[{"e":58}]}],"r":162,"s":509}],"ø":162,"å":162}],"p":200,"r":[{"a":[{"d":90,"f":253,"g":166,"k":[{"k":164}],"n":[{"i":[{"e":[{"n":510}]}],"k":168,"s":164}],"p":162,"s":[{"e":39,"j":511,"s":17}],"t":[{"o":23}],"u":23,"v":172}],"e":[{"d":[{".":162,"i":164}],"g":[{"i":203},187],"i":[{"e":49,"s":17},162],"k":[{"l":[{"i":23}]},168],"l":[{"a":38},173],"m":[{"o":64}],"n":[{"n":181,"t":162}],"o":168,"p":[{"r":38,"s":166}],"s":[{"j":166,"s":181}],"t":[{"a":33,"n":306,"s":0,"t":90}]}],"i":[{"b":173,"f":162,"g":[{"s":116,"a":39},304],"k":[{"e":22,"j":23,"k":[{"a":36}]},162],"m":[{"e":23},172],"n":[{"s":[{"t":202},249]}],"p":28,"s":[{"e":[{"n":[{"e":191}]}]},184],"t":[{"e":164},88],"v":168}],"o":[{"b":42,"d":[{"e":22}],"f":[{"o":[{"r":0},90]}],"k":[{"k":16}],"n":[{"i":11,"l":38,"o":[{"m":23}]}],"p":[{"n":49,"p":103},0],"s":[{"t":0}],"t":[{"e":[{"n":186},143]}],"v":24},88],"u":[{"i":65,"m":18,"s":[{"a":22}],"t":[{"t":[{"i":14}],"r":24}]}],"y":[{"g":267,"p":[{"a":61,"e":22,"i":23}],"s":164}],"ø":[{"k":[{"e":22}],"r":274,"v":24}],"å":[{"d":[{"a":32},162],"e":36,"k":166,"l":[{"e":22}],"m":39,"n":[{"e":61}]}]},4],"s":[{"a":[{".":90,"d":375,"l":[{"t":12}],"m":[{"e":22}],"n":[{"e":90,"s":0,"t":193}],"r":[{".":90,"a":152,"k":367}],"s":152},153],"c":153,"e":[{"d":88,"e":88,"g":[{"e":31}],"i":259,"k":[{"t":38}],"l":[{"a":38,"e":[{"v":22}]}],"n":[{"t":[{"o":17}]}],"r":[{"f":0,"k":12,"o":[{"l":38}]}],"s":[{"a":0,"k":257,"m":196,"o":38,"p":5,"s":[{"e":[{"l":36,"r":[{"i":[{"e":46}]}]}],"p":5,"t":5},38]}],"t":[{"e":[{".":31}]}]}],"f":[{"ø":5}],"i":[{"a":38,"f":88,"k":[{"o":22}],"n":[{"d":12,"g":90,"i":61,"n":12,"s":193}],"o":152,"s":[{"t":24}],"t":[{"i":0}]}],"j":168,"k":[{"a":[{"b":35,"l":367}],"i":[{"o":11}],"j":69,"l":15,"o":[{"n":[{"a":16,"e":17}]}],"r":69,"u":[{".":35,"a":2,"t":6},32],"v":29}],"l":[{"a":[{"g":[{"a":[{".":46}]}]}],"o":15,"u":[{"g":206},252],"ø":[{"s":346,"v":[{"a":46,"e":[{".":46}]}]}]},69],"m":[{"a":[{"k":229}],"e":[{"l":1}],"i":[{"d":93}],"å":475}],"n":[{"o":229,"ø":350}],"o":[{"a":96,"d":512,"g":0,"m":[{"b":0}],"r":259,"t":88,"v":69},153],"p":[{"a":[{"l":90}],"e":[{"k":12}],"i":[{"o":15,"r":12}],"o":[{"r":[{"t":[{"r":145}],"s":308}]}],"r":69,"y":90}],"r":93,"s":[{"m":12},206],"t":[{"a":[{"d":38,"k":0,"l":12,"n":[{"t":15}],"v":4}],"e":[{"d":[{"a":5}],"g":1,"i":90,"k":0,"v":[{"n":[{"e":[{".":120}]}]},24]}],"i":[{"l":1,"n":0}],"j":69,"r":[{"a":[{"n":31}],"e":[{"k":26,"n":11,"r":11}],"i":1,"o":1},69],"u":[{"m":35,"s":38}],"y":[{"v":12}],"å":88}],"v":[{"a":[{"k":[{"e":192},350],"n":[{"e":[{".":46}]}]}],"e":[{"g":15,"r":[{"t":252}]}],"i":[{"n":229,"s":93}]},69],"u":[{"n":[{"i":93},11]},153],"w":15,"y":[{"n":[{"a":32}],"s":[{"m":64}]}],"æ":[{"r":15}],"ø":[{"k":[{"e":[{".":23}]}],"l":367}],"å":[{".":90,"p":0,"r":5,"t":5},69]}],"t":[{"a":[{".":38,"f":77,"g":0,"k":[{"a":31,"s":193,"t":0}],"l":[{"a":[{".":31}]}],"n":[{"a":[{".":39},193],"l":12,"n":193,"v":0}],"p":[{"p":12}],"r":[{".":155,"r":193,"t":193}],"s":[{"s":11,"t":38}],"t":[{"l":96}],"v":[{"h":15,"k":15,"l":367}]}],"e":[{"d":[{"a":0},90],"e":11,"f":[{"ø":0}],"g":[{"e":9}],"i":227,"k":[{"a":11}],"l":[{"e":22,"s":[{"k":97}],"i":[{"t":9}]}],"m":[{"n":2},46],"n":[{"h":193}],"r":[{".":155,"i":[{"e":[{"n":[{"s":170},139]}]}],"s":80}],"s":[{".":152,"a":11,"e":11,"k":[{"e":[{".":36},15]}],"t":[{"i":15}]}],"t":[{"a":198,"e":0}],"v":[{"n":[{"e":[{".":36}]},15]}]}],"i":[{"b":38,"l":90,"n":[{"s":193}],"r":38,"s":[{"t":17}],"t":[{"e":40}],"v":[{"e":[{"n":[{"d":127}]}]}]}],"j":[{"a":88,"u":2}],"o":[{"a":39,"f":[{"f":15}],"g":[{"r":[{"a":[{"m":11}]}]}],"l":[{"i":0}],"m":[{"f":15},88],"p":259,"r":[{".":155,"a":152,"d":[{".":15}],"e":38,"i":[{"e":513}],"s":16}],"v":69}],"r":[{"a":[{"l":12}],"e":259,"o":[{"s":17},7],"u":259}],"s":[{"a":[{"m":[{"b":26}],"r":22}],"e":[{"k":15,"m":2,"r":26}],"i":[{"n":4}],"k":[{"r":[{"a":22}],"u":15,"v":23}],"l":[{"e":[{"g":[{"e":[{".":120}]}]}]}],"o":[{"k":4}],"p":[{"a":1,"r":[{"e":15}]}],"t":[{"a":1,"o":[{"n":31,"p":22}],"å":1}]}],"t":353,"u":[{"e":[{"r":[{".":39}]}],"k":0,"n":[{"d":2}],"t":259}],"y":[{"o":6,"r":[{"k":[{"e":[{".":46}]},2]}]}],"ø":[{"r":[{"e":46},16],"s":97,"v":69}],"å":[{"r":375}]},200],"u":[{"a":[{"n":35},7],"b":[{"e":[{".":1}],"j":12}],"d":[{"a":[{"l":1}]},173],"e":[{"r":[{".":1,"a":53}],"t":1}],"f":[{"l":85},168],"g":[{"r":229},168],"i":[{"s":2,"t":36}],"k":[{"l":94}],"l":[{"d":[{"i":168,"r":18}],"e":[{"d":1,"g":1,"i":4,"m":1,"n":15,"t":1,"v":1}],"i":[{".":4},15],"l":164,"t":172}],"m":[{"a":[{"n":1}],"e":[{"n":[{"t":[{"a":[{"l":120}]}]}]}],"i":4,"s":28,"u":164}],"n":[{"d":[{"s":[{"l":80}]}],"g":[{"e":[{".":23}]},188],"n":11},172],"o":1,"p":[{"e":[{".":1}],"p":[{"l":23}]},172],"r":[{"a":2,"e":[{"k":1}],"o":[{"p":[{"a":46},40]},109],"s":[{"k":31,"p":23,"t":41,"v":18},172],"t":24,"u":[{"k":[{"e":[{"n":49,"r":16}]}]},473],"v":[{"i":41},172]}],"s":[{".":166,"a":[{".":2,"k":19,"r":22}],"e":[{"l":26},166],"k":[{"a":1}],"p":[{"e":40}],"t":24},172],"t":[{".":200,"a":69,"e":[{".":236}],"o":15,"r":21,"s":173}],"u":514,"ø":[{"y":36}]}],"v":[{"a":[{"k":[{"e":32}],"l":[{"i":0}],"r":[{"d":11,"i":[{"e":[{"n":145}]}],"t":334}],"s":[{"e":39}]}],"e":[{"d":82,"e":61,"g":[{"r":64}],"i":[{"k":0,"l":11,"n":515,"s":[{"e":49}]}],"l":[{"a":22},253],"r":[{"d":181,"n":[{"s":242},166]}],"s":[{"t":17},173]}],"i":[{"a":304,"d":162,"e":[{"n":[{"e":23}],"r":22},178],"l":[{"a":61}],"n":[{"n":164}],"s":[{"e":22,"t":191}],"v":173}],"o":[{"g":153,"k":168,"t":0},172],"u":88,"æ":181,"å":153},7],"w":[{"e":152,"u":38}],"y":[{"a":15,"e":[{"l":4}],"f":[{"l":[{"e":22}]},162],"g":173,"l":[{"e":[{"g":1}]}],"n":[{"s":[{"k":[{"j":[{"e":[{"r":31}]}]}]},361]}],"p":[{"r":26},129],"r":[{"i":[{"e":[{"n":[{"e":14}]}]}],"k":[{"e":[{".":32}]}]},172],"s":[{"a":6,"e":[{".":4,"t":[{"e":[{".":46}]}]},162],"k":[{"r":12}],"s":[{"k":31}],"t":[{"a":18,"e":[{"l":23}]},296]}],"t":[{"a":[{".":4}],"e":[{"s":18}]},173]}],"æ":[{"t":516}],"ø":[{".":172,"a":[{"r":7}],"e":[{"n":[{".":1}],"r":7},172],"k":200,"l":[{"e":1}],"n":[{"s":[{"k":[{"j":[{"e":[{"r":31}]}]}]}]},153],"r":[{"r":90}],"s":[{"e":15},23],"y":[{"a":[{"r":[{".":61}]}],"d":152,"e":[{"n":[{"e":53}]}],"r":333}]}],"å":[{"k":[{"e":162}],"l":[{"e":12}],"n":[{"d":[{"a":32}],"e":15}],"p":[{"e":[{".":1,"n":2}]}],"r":[{"a":[{"s":35}],"e":69,"i":69}],"t":[{"t":348},233]}]}],"l":[{"a":[{".":172,"a":173,"b":[{"a":162,"l":4,"o":[{"n":361},172],"y":162},69],"d":[{".":162,"e":[{"m":1},11],"g":162,"i":[{"e":260}],"m":173,"r":173,"s":65}],"e":[{"i":173,"n":[{"t":162}],"p":162},172],"f":[{"l":12},173],"g":[{"g":162,"i":5,"n":[{"e":168}],"o":[{"m":22},517],"r":129,"s":[{"a":[{"n":22}],"j":23}]}],"h":[{"a":173}],"i":[{"n":189}],"k":[{"a":15,"e":[{".":1}],"j":162,"k":88,"r":7,"s":[{"e":[{"l":175}],"j":152,"l":38}],"t":[{"e":[{"r":[{"i":[{"e":518}]}]}]},162],"ø":15}],"l":[{"k":153},173],"m":[{"a":[{"b":15}],"b":162,"e":[{"s":1,"t":1}],"o":12,"u":471}],"n":[{"a":[{"l":181}],"c":28,"d":[{"a":[{"s":31}],"e":[{"b":31}],"r":18}],"e":[{".":164,"t":162},367],"g":[{"e":[{"l":31,"m":23,"r":[{"m":31}]}],"r":23,"s":[{"e":271},124],"ø":316}],"l":162,"n":[{"o":90},162],"o":[{"r":1}],"s":[{"i":274,"p":64}],"t":[{"i":22}],"v":[{"i":90},162]}],"o":173,"p":[{"a":[{"l":4}],"i":2,"l":6,"p":[{"r":98,"s":66}],"s":[{"a":22,"e":[{"n":22}],"i":42}]}],"r":[{".":519,"a":[{"b":306}],"b":173,"e":[{".":93,"a":300,"d":35,"m":15,"n":[{".":11,"a":162}],"t":[{"a":21},36]}],"f":166,"i":[{"a":[{"r":475},2],"e":[{"n":202}]}],"k":[{"i":181}],"m":88,"n":24,"r":306,"t":[{"a":[{".":31}]},162],"v":[{"e":[{"t":61}]}]}],"s":[{"c":4,"e":15,"i":[{"e":49}],"k":[{"j":191},7],"m":[{"i":15},162],"p":303,"s":[{"a":[{"k":31,"m":31,"t":31}],"e":[{"l":31}]}],"t":[{"r":162},11],"v":24}],"t":[{"a":[{"n":[{"g":22}],"u":168},69],"e":[{"g":1,"k":31,"n":[{"o":1}],"s":78}],"i":[{".":4},15],"m":162,"o":69,"r":[{"a":[{".":61,"n":39,"r":22}]}],"t":[{"i":[{"s":53}],"r":[{"a":23}],"u":36}]}],"u":[{"a":61,"d":173,"e":36,"n":162,"r":162,"s":[{"e":61,"t":31}],"t":173}],"v":[{"a":[{"l":26}],"e":[{"l":1}],"h":38,"i":[{"n":[{"n":22}]}],"s":168,"å":191},173],"w":172,"y":3}],"b":[{"a":[{"d":[{"e":24}],"k":[{"e":[{".":22}]},23],"n":[{"e":[{".":23}]}]}],"e":[{"n":[{"a":39}],"r":[{"e":[{".":32}]}]},38],"o":[{"a":0}],"u":[{"h":11}],"y":[{"e":23}],"å":38},520],"c":[{"e":[{".":0}]},188],"d":[{"a":[{".":152,"k":[{"s":15,"t":15}],"n":[{"d":155}],"t":[{"o":47,"y":47}]}],"e":[{"b":88,"n":38,"o":227,"p":88,"r":[{".":152,"a":16,"e":[{"k":0}],"i":[{"k":11}],"k":[{"l":[{"æ":11}]}],"l":[{"e":[{"g":186}]}],"s":[{"t":[{"e":80,"i":116}]}]},90],"s":[{"h":0,"t":[{"r":11}]}]}],"é":155,"i":[{"s":[{"k":16}]}],"o":[{"a":39,"k":[{"s":346}],"l":88,"r":[{"e":0}],"v":[{"n":15}]}],"r":[{"a":[{"k":90,"n":12,"s":15}],"e":[{".":11,"g":[{"n":2}],"r":[{".":15}],"s":[{".":93}]}],"i":69,"y":152,"ø":69}],"s":[{"e":[{"k":1,"l":1,"s":1},46],"k":[{"a":1,"j":23},54],"l":[{"a":[{"g":[{"a":91}]}],"e":[{"g":31,"t":23}]}],"m":207,"o":[{"m":9}],"t":[{"r":24}]}],"t":[{"u":[{"s":4}]}],"ø":[{"d":22,"l":22,"y":2},28]},168],"e":[{"a":[{"g":2,"k":12,"l":[{"a":22},69],"s":164,"t":15},173],"b":[{"e":[{"m":1}],"o":[{"s":[{"t":[{"a":4}]}]}],"æ":[{"k":166}]},173],"c":23,"d":[{"a":[{"r":166},173],"d":[{"ø":23}],"e":[{"b":162,"m":1,"p":168,"r":15,"s":12}],"o":[{"p":164,"v":166},173],"r":[{"o":1,"y":15}],"s":180,"u":168,"y":162,"ø":173,"å":265}],"e":[{"i":168},173],"f":[{"a":[{"n":[{"e":[{".":36}]}]},168],"f":187,"i":173,"l":162,"o":[{"r":162,"t":162}],"r":173,"t":153,"y":168,"ø":162}],"g":[{"a":[{"p":168,"s":166}],"e":[{"d":1,"n":35,"r":[{"a":[{"n":35,"s":35},1],"o":1}],"t":[{"a":1}],"v":1},164],"g":[{"i":191}],"i":[{"f":168},12],"j":162,"l":419,"o":[{"l":1}],"r":[{"e":162}],"s":65,"u":173,"å":173}],"h":[{"a":[{"l":168,"m":[{"r":168}],"n":168,"u":168,"v":[{"e":168}]}]},173],"i":[{"d":[{"o":12}],"e":[{".":11,"n":[{"d":[{"e":22}],"e":53}],"r":39,"t":521},32],"g":[{"d":36,"e":[{"r":[{".":61},23],"t":23}],"h":271,"n":[{"a":36,"e":46}]}],"n":[{"t":12},173],"r":[{"u":127}],"s":[{"t":16}],"t":11}],"j":173,"k":[{"a":[{".":1,"n":168},173],"e":31,"i":12,"j":173,"k":[{"s":16}],"l":420,"n":[{"a":23},173],"o":173,"r":173,"s":[{"o":181,"p":162}],"t":[{"o":[{"r":[{"d":17}]}],"s":[{"t":271}]}],"u":173,"v":173,"ø":162,"å":162}],"l":[{"a":285,"d":522,"e":[{"m":90},173],"g":248,"i":[{"g":166}],"o":173,"s":[{"k":181},164],"u":[{"k":162},69],"v":38,"y":173,"æ":162,"ø":[{"p":[{"a":36}]},173]}],"m":[{"a":162,"e":[{".":6,"t":[{"r":[{"i":[{"s":[{"k":167}]}]}]},162]},12],"n":[{"a":32},522],"o":173,"p":[{"e":[{"d":39,"s":22}]}],"r":164,"s":[{"i":23,"ø":53}],"t":[{"i":22},173],"u":173,"y":168,"ø":162,"å":173}],"n":[{"a":[{".":1,"l":1,"v":162}],"d":[{"a":[{"n":39},46],"e":[{"n":168}],"r":[{"e":11,"i":162}]}],"e":[{"d":162,"m":162,"v":162}],"g":[{"d":0,"r":53,"u":49}],"i":[{"v":162},15],"s":[{"a":[{"k":53},103],"e":[{"m":162,"s":22}],"t":[{"a":23}]}],"t":[{"a":[{"m":23}],"r":[{"a":148},23]}],"ø":173,"å":162}],"o":[{"l":166},173],"p":[{"a":15,"e":[{"l":1,"n":[{"d":[{"e":[{"n":219}]}]}]}],"j":107,"l":[{"a":[{".":6}],"e":1}],"o":162},173],"r":[{"a":[{"b":[{"a":162}],"m":[{"b":107},162]}],"d":22,"e":[{".":35,"a":168,"f":162,"g":162,"i":523,"k":162,"s":[{"o":162,"u":162},15],"t":162,"v":162},93],"i":[{".":301,"e":[{"i":4},191],"n":[{"a":2}],"v":1}],"n":[{"æ":248}],"o":[{".":15,"m":162,"p":[{"e":168}],"s":12,"t":265}],"s":[{".":191,"p":5}],"t":[{"e":61}],"u":[{"s":[{"e":[{".":46}]},162]},69],"y":[{"r":166},173],"ø":173,"å":173}],"s":[{".":334,"a":[{"b":1,"m":162,"r":191,"u":162}],"c":173,"e":[{"d":15,"g":1,"k":162,"n":15,"r":12,"t":162}],"h":[{"o":162}],"i":[{".":4,"g":162,"n":[{"g":2,"n":22}],"t":162}],"j":[{"u":162}],"k":[{"a":[{"p":2}],"j":85,"o":[{"l":168}],"u":[{"t":524}]}],"l":[{"a":162}],"p":[{"a":[{"l":168}]},173],"s":[{"e":[{"n":[{"e":[{".":120}]}]}]},75],"t":[{"a":[{".":301,"l":191},162],"e":[{"d":15,"g":15,"l":15}],"i":[{"m":1}],"o":12,"r":[{"ø":162}],"y":[{"r":162}],"ø":162,"å":162}],"u":[{"g":162}],"v":[{"i":20},54],"y":236,"ø":[{"y":166},162]}],"t":[{".":164,"a":[{"b":1,"k":[{"a":46},168],"l":[{"e":[{".":46}]}],"s":229}],"e":[{".":166,"a":168,"g":162,"k":162,"n":[{"k":168},15],"p":204,"r":[{".":15}],"s":162}],"i":[{"k":229},285],"j":173,"o":173,"r":[{"e":2,"i":9},420],"s":[{"j":31,"k":46},164],"t":[{"e":[{"a":31}],"r":31,"s":124}],"u":173,"v":1,"y":[{"e":46},173],"ø":162,"å":167}],"u":[{"l":162,"n":173,"r":153,"t":[{"e":1},173]}],"v":[{".":173,"a":[{"d":4,"l":[{"u":4}]}],"e":[{"d":1,"g":162,"i":162,"k":162,"r":[{"n":168}],"v":303}],"i":[{"d":36}],"n":22,"o":173,"r":54,"s":162,"æ":162}],"x":54,"ø":162,"å":173},172],"é":[{"e":166,"r":172,"t":[{".":191}]}],"è":191,"ê":166,"f":[{"a":[{".":0,"n":[{"t":15}],"r":38}],"e":38,"f":12,"i":[{"g":38,"n":149}],"j":[{"a":15,"e":152}],"n":[{"u":[{"l":367}]}],"o":[{"m":0}],"u":[{"t":0}]},187],"g":[{"a":[{"f":11,"l":[{"e":[{".":32}],"t":169}],"n":[{"a":193}],"t":22,"v":[{"e":[{".":23}]}]}],"e":[{"d":88,"l":[{"a":0,"e":0}],"m":88,"n":[{"a":24}],"r":[{"a":[{"n":53,"p":23}],"i":22,"u":[{"n":17}],"y":0}],"s":[{"l":0,"p":284}]}],"g":15,"i":[{"e":[{"n":46}]}],"l":[{"o":69,"y":15}],"n":15,"o":[{"b":12,"d":28,"k":69,"m":69,"v":15}],"r":[{"e":[{"f":12}],"ø":[{"y":39}]}],"s":[{"e":67,"k":[{"r":[{"e":9}]},7],"l":[{"e":[{"g":33}]}],"t":[{"r":9}]}],"u":[{"l":23,"n":12,"r":12}],"æ":153,"ø":15,"å":[{".":11,"r":[{".":15}],"v":[{"a":32,"e":[{".":32}]}]}]},173],"h":[{"a":[{"k":[{"a":[{".":32}]}],"v":[{"s":116}]}],"j":38},222],"i":[{"a":[{"l":[{"a":1}],"m":7,"n":[{"s":15}],"s":1},69],"b":[{"a":17,"e":[{"r":[{"o":17}]}],"i":[{"e":120},17],"y":[{"e":17}]}],"d":[{"a":[{"k":1}],"e":[{"d":1}],"o":[{".":1}],"r":188,"t":24}],"e":[{"n":[{"e":1}],"r":[{".":12,"s":[{".":15}]}],"s":22}],"f":[{"a":[{"t":162}],"f":22},164],"g":[{"a":[{".":1,"n":85,"r":[{"t":39},1],"s":[{".":6}]}],"e":[{"n":[{"h":26}],"t":1}],"n":166,"r":[{"e":85}],"s":[{"e":24,"i":65,"l":24,"p":65,"t":[{"i":42,"r":22}]}],"u":7},164],"h":162,"k":[{"a":[{"n":15,"r":35,"s":2}],"e":[{"e":15,"n":12,"s":[{"å":15}]}],"i":35,"k":[{"o":18}],"l":8,"n":301,"s":[{"t":5}],"u":15}],"l":[{"a":168,"d":525,"e":12,"l":[{"e":[{"b":[{"e":22}],"t":22}]}]}],"m":[{"a":[{"r":1,"s":1,"t":[{"e":4}]}],"e":[{".":1},11],"h":162,"p":[{"r":18}],"r":61,"u":39}],"n":[{"a":[{".":1,"l":526}],"c":[{"h":14},31],"d":[{"r":337,"u":[{"s":38},162],"s":124}],"e":[{".":1,"a":288,"m":4}],"f":188,"g":[{"j":41,"l":17,"s":[{"e":[{"n":[{".":16}]}]}],"v":166}],"j":[{"u":248}],"k":[{"e":[{"s":22}],"l":[{"e":22}],"v":23}],"n":[{"e":[{"t":22}],"i":164,"s":168,"t":[{"r":274}]},188],"o":[{"r":1}],"s":[{"e":0,"k":166,"t":181}],"t":162,"v":173,"ø":83}],"o":[{"n":[{"o":23,"s":[{"p":17,"v":17}]}],"s":20}],"p":[{"e":[{"s":103}],"p":[{"s":43}]},173],"r":[{"a":[{"r":35}],"e":[{"k":1}]}],"s":[{"a":[{"k":162}],"e":[{"t":15}],"k":[{"l":23}],"o":173,"p":162,"s":[{"p":31}],"t":[{"a":[{"n":61}],"e":[{"r":[{"k":31}]}],"i":[{"l":279},22],"o":18,"r":[{"ø":16},111],"u":446,"y":[{"r":[{"k":[{"e":[{".":242}]}]}]},223]}]}],"t":[{"e":[{"e":1,"k":1}],"i":[{"a":99,"d":1,"g":1,"l":1,"m":1,"s":[{"t":17}],"v":1}],"j":22,"n":168,"o":15,"r":[{"e":[{"r":22}]},129],"t":[{"e":[{"l":[{"e":31}],"r":[{"k":31,"m":31}]}],"s":80}],"y":15}],"u":191,"v":[{"a":[{".":4,"k":85}],"e":[{"g":22}],"i":[{"e":17}],"s":255}]},172],"j":[{"a":[{"n":153,"r":[{"b":0,"s":80},153],"s":5}],"e":[{"d":0,"e":11,"i":88,"k":88,"l":[{"v":35},24],"n":153,"r":[{".":90}],"s":[{".":38,"t":5},527],"t":[{".":38,"e":[{".":38},0],"r":528}],"v":88}],"é":38,"i":153,"o":[{"d":336,"e":32,"m":0,"r":[{"i":15}],"s":164}],"u":[{"n":15,"r":152,"t":2}],"ø":[{"s":[{".":38}]},24]},173],"k":[{"a":[{"l":[{"i":[{"e":513}]},348],"n":1},90],"b":97,"e":[{".":90,"d":[{"a":[{"l":38}],"e":90},88],"e":[{"i":103}],"h":11,"l":[{"e":[{"g":38}],"s":206}],"n":90,"r":[{".":152,"a":0,"i":0,"s":169,"u":196}],"s":[{"t":[{"a":[{"d":38}]}]}],"t":[{".":38,"s":38}]},1],"l":[{"e":[{"m":350}],"i":1,"u":229},7],"n":[{"i":[{"n":97}]}],"o":[{".":11,"m":[{"a":39}],"s":[{"a":39}],"t":88}],"r":[{"a":[{"s":14}],"i":[{"k":473}]}],"s":[{"e":[{"r":1}],"h":529,"t":182}],"u":[{"l":[{"e":[{".":23}]}],"t":[{"e":35},32]}],"v":[{"e":[{"g":11}]}],"å":54},200],"l":[{"a":[{"a":348,"f":3,"k":88,"l":69,"m":[{"i":0}],"n":[{"e":38,"l":12,"o":169,"s":[{"k":15},103]}],"p":[{"a":2,"s":18}],"s":[{"p":15},1],"u":[{"r":[{"e":36},15]}],"v":[{"l":2,"r":15}]}],"d":67,"e":[{"a":[{"k":38},22],"d":[{"a":[{".":32}],"r":41}],"e":90,"f":88,"g":[{"e":[{"v":22}],"r":22}],"h":[{"a":38,"o":38,"å":38}],"i":[{"g":169}],"k":[{"i":0,"s":[{"t":97}]}],"l":[{"i":0}],"m":88,"n":[{"d":[{"a":[{".":36}],"e":[{"n":15}],"r":0,"t":11}],"k":0,"s":95,"t":[{"u":0}],"u":0}],"p":[{"l":[{"e":15}]}],"r":[{"i":[{"k":512}],"o":[{"b":0}]}],"s":[{"o":23,"p":[{"r":17}],"t":[{"ø":22}]},4],"t":[{".":38,"a":0,"s":38,"t":[{"e":[{"l":[{"e":36}]}]}],"æ":93}],"u":88,"v":[{"e":[{"n":15,"v":61}],"å":38}],"y":31}],"é":[{".":88}],"g":530,"i":[{"e":[{"n":42},54],"g":155,"m":88,"n":[{"d":193,"s":0,"t":[{".":155},12]}],"p":90,"r":0,"s":[{"e":[{"n":31}]}],"v":0}],"j":69,"k":530,"m":[{"u":[{"e":[{"n":[{"e":33,"s":16}],"r":49}]}]},15],"o":[{".":38,"b":17,"d":88,"f":[{"f":193}],"i":[{"d":22}],"k":[{"s":15}],"m":[{"s":80},261],"p":[{"p":15},12],"r":259,"s":[{"o":0}],"t":[{"e":11}]}],"p":15,"r":[{"a":[{"n":16}]}],"s":[{"a":[{"k":1,"m":[{"e":[{".":36}]}]}],"e":[{"m":1,"n":[{"d":22}]}],"k":[{"a":[{"r":31}],"v":22,"å":15},5],"l":[{"a":[{"g":22}]}],"m":[{"y":12}],"n":[{"o":23}],"t":[{"e":23,"i":[{"g":31}]}],"ø":[{"k":61}],"v":[{"i":[{"n":[{"t":4}]}]}]}],"t":[{"o":[{"e":5}]},34],"u":[{"a":93,"e":365,"f":0,"g":2,"k":[{"a":206,"e":193,"s":11},23],"m":38,"n":[{"g":[{"e":[{".":36}]}]},277],"p":[{"i":23}],"r":259,"s":90,"t":259}],"v":[{"a":[{"n":46}]},182],"y":[{"s":[{"e":[{".":23}]}]}],"ø":[{"k":[{"s":15},0],"p":[{"a":[{".":31}]}],"v":[{"e":0}],"y":[{".":2,"a":15,"e":[{"r":36},12],"n":473}]}],"å":[{"r":370,"s":67}]},200],"m":[{"a":[{".":38,"n":[{"m":12}],"p":0,"r":[{"k":[{"i":0}]}],"v":12}],"b":2,"e":[{"l":[{"s":193,"u":0}],"p":[{"o":9}],"r":[{"f":169,"i":61}],"s":[{"t":[{"i":61}]}],"t":[{"r":42}]}],"i":[{"l":[{"e":[{".":32}]},38],"n":[{"d":12,"g":38,"i":120,"n":[{"e":16}],"s":12,"t":15}],"s":152}],"l":15,"m":15,"o":[{"p":69}],"s":[{"j":31,"p":122},69],"t":12,"u":[{"l":[{"e":[{".":23}]}],"t":12}],"y":[{"r":[{"k":[{"e":[{".":46}]}]}]}],"ø":[{".":0,"s":97,"y":[{"a":33},473]}],"å":[{"l":[{"a":[{".":31}]}],"r":9,"s":169}]},188],"n":[{"a":[{"b":88}],"e":90,"i":[{"u":23}],"y":152},188],"o":[{"a":[{"l":69,"n":[{"e":191}],"r":[{".":166},182]}],"b":[{"b":[{"y":[{".":22,"a":[{"n":39,"r":[{".":39}]}],"e":22}]}],"l":7},173],"d":[{"a":107,"e":12,"r":[{"i":85}],"s":[{"m":65,"t":[{"e":61}],"v":77}],"u":3}],"e":[{"n":[{"g":168}]}],"f":[{"j":168,"t":164}],"g":[{"e":[{"v":531},15],"i":[{"r":1}],"o":[{"p":12},28],"r":[{"e":[{"s":32}],"o":3}],"s":[{"a":22}]},172],"h":162,"i":[{"d":[{".":15,"e":12}],"n":69}],"j":[{"a":164}],"k":[{"i":69,"k":[{"o":23,"u":[{"l":31}]}],"l":402,"o":[{"n":162}],"s":[{"e":[{".":32}]},532],"v":182}],"l":[{"e":[{"g":[{"e":[{".":36}]}]}],"j":173,"o":49}],"m":[{"d":[{"r":38}],"i":[{"n":26}],"m":[{"e":[{"l":23}]}],"s":[{"t":[{"r":33}]}]}],"n":[{"a":[{"l":1}],"d":168,"e":15,"g":[{"r":41}],"i":[{"t":1}],"s":[{"k":[{"j":61}]}]}],"p":[{"a":12,"e":[{"a":1}],"p":[{"a":22}],"t":337},173],"r":[{"a":69,"d":[{"a":[{".":31}]},173],"e":69,"g":[{"l":53},187],"i":[{"e":120}],"m":168,"o":69,"ø":[{"d":2}]}],"s":[{"a":2,"e":[{"k":4,"s":1,"v":15}],"k":[{"l":[{"e":23}]}],"l":69,"p":2,"t":173}],"t":[{"e":[{"s":35}],"i":[{".":6}],"o":12,"t":[{"e":[{"t":162}]}]}],"u":[{"n":69}],"v":[{"a":[{"l":[{"d":61}],"n":[{"d":35,"e":2},12],"r":12}],"e":[{"d":533,"r":[{".":11,"e":17,"n":38,"s":274,"t":274}]}],"o":191,"s":[{"a":24}]},172]}],"p":[{"a":[{"r":[{"e":22}],"s":17},152],"e":[{"d":[{"o":0}],"e":0,"i":88,"l":[{"e":[{"g":38}],"i":[{"n":0},90]},88],"s":[{"m":90}],"t":[{"i":0}],"u":88}],"h":7,"i":[{"n":[{"e":[{".":22},18]}]},7],"l":7,"o":[{"e":[{"t":31}]}],"u":[{"t":0}]},188],"q":38,"r":[{"a":[{"d":[{"a":32,"i":[{"u":103}]}],"n":[{"e":[{".":31}]}]}],"e":[{"d":[{"e":23}],"i":23,"k":[{"a":32,"e":[{".":32}]}],"v":[{"a":32}]}],"i":[{"m":[{"a":32}],"v":[{"e":[{".":23}]}]}],"o":[{"d":[{"e":[{".":32}]}],"p":[{"a":[{".":31}]}],"s":[{"a":[{".":32}],"e":[{".":23}]}],"t":[{"s":17}]}],"ø":[{"r":[{"e":[{".":31}]}],"v":22}],"å":[{"d":[{"a":[{".":32}],"e":[{".":23}]}]}]},534],"s":[{"a":[{"d":88,"g":36,"l":[{"d":15}],"m":1,"n":[{"a":152,"k":[{"e":[{".":36}]}],"o":169,"s":193}],"r":[{"k":15}],"t":[{".":0}]}],"c":[{"u":0}],"e":[{".":90,"d":88,"e":88,"i":[{"d":12,"g":15}],"l":[{"e":193,"v":193}],"m":[{"b":15},88],"n":[{"o":0}],"r":[{".":152}],"s":[{"k":[{"u":17}],"l":18,"p":[{"a":17}],"s":17,"t":[{"r":86}]},28],"t":[{"e":[{".":23}]}],"u":88,"v":11}],"f":0,"h":88,"i":[{"g":38,"k":38,"l":[{"l":97}],"m":[{"u":38},0],"n":[{"n":193}]}],"j":[{"a":[{"k":[{"k":15}]}],"e":[{"f":38,"g":12,"n":12}]}],"k":[{".":167,"a":[{"b":[{"i":15}],"n":169,"r":[{"i":15,"t":22}]}],"e":97,"i":[{"f":14,"l":[{"d":375}],"n":[{"n":[{"s":373},123]}]}],"j":[{"e":[{"d":69}],"o":12}],"l":[{"æ":24},11],"o":[{"a":12,"r":15,"v":12}],"r":[{"a":0}],"s":6,"u":[{"n":22}],"v":[{"a":2,"i":12}],"å":[{"p":[{"a":36},12]},0]}],"l":[{"a":[{"g":[{"a":5,"n":152}]}],"e":[{"g":[{"e":[{".":36}]}]}],"o":15,"u":[{"k":229}],"ø":[{"s":97}]},88],"m":[{"ø":[{"r":38}],"å":[{"l":[{"a":36}]}]},88],"n":[{"u":88}],"o":[{"k":18,"n":[{"d":[{"e":[{".":36}]},15]}],"r":259,"s":[{"e":40}],"t":38,"v":69}],"p":[{"a":88,"e":[{"g":155,"i":38,"l":155}],"i":38,"r":[{"e":[{"d":38}],"i":12},0]}],"s":206,"t":[{"a":[{"k":193,"l":193,"n":[{"k":11}],"t":535}],"e":[{".":11,"d":1,"g":0,"i":536,"l":1,"r":[{"r":15}]}],"i":[{".":4,"e":1}],"o":[{"n":4}],"r":[{"e":[{"n":15}],"i":155}]}],"u":[{"b":38,"k":90,"n":69},88],"v":[{"e":[{"a":2,"e":[{"n":[{".":46}]},15],"k":97,"r":[{"e":16}]}],"i":[{"k":0,"n":[{"d":4}]}]},259],"ø":[{"r":0,"y":259}],"å":259},222],"t":[{"a":[{"a":0,"f":0,"k":[{"t":12}],"l":[{"a":[{".":23}],"b":193,"e":[{"v":31}]},90],"n":[{"l":12,"o":31}],"r":[{"t":12}],"s":[{"t":23}],"t":[{"e":[{"s":32}],"o":41,"r":18}],"v":[{"k":12,"æ":38}]}],"b":35,"e":[{"d":[{"e":90}],"k":[{"a":0}],"m":[{"a":[{".":31}]}],"n":[{".":1,"h":169}],"p":[{"i":12},6],"r":[{"a":[{"s":0}],"s":[{"t":169}]}],"s":[{"a":[{"m":[{"e":[{".":91}]}]}]}]}],"i":[{"d":[{"s":36}],"e":[{"t":0}],"f":88,"g":47,"k":88,"n":[{"a":0,"d":12,"n":35,"s":12}],"v":[{"i":0}]}],"j":[{"a":259}],"l":[{"e":[{"g":[{"e":[{".":46}]}]}]}],"n":35,"o":[{"a":[{"r":39}],"g":90,"s":[{"t":12},23]}],"r":[{"a":90,"e":[{"g":12,"i":12,"k":[{"o":11}],"l":97,"m":96,"n":[{"s":0}],"s":[{"t":229},12],"v":38}],"i":[{"t":169}],"o":[{"l":12,"m":12,"p":[{"a":46}],"s":38}],"ø":[{"d":169}],"å":38},7],"s":[{"a":[{"m":[{"e":[{".":46}]}]}],"i":9,"t":40,"v":[{"i":23},107]},8],"t":94,"u":[{"n":[{"d":12}],"r":[{"a":23,"e":[{"n":19,"r":19},80],"s":80,"å":80}],"t":88}],"v":[{".":38,"a":[{"l":[{"a":46}]}],"s":90}],"w":169,"y":[{"d":32},90],"ø":[{"l":2,"v":12}]},188],"u":[{"a":[{"r":32}],"b":[{"b":[{"a":[{"n":[{"d":31}]}]}],"r":[{"i":4}]},173],"c":15,"e":[{"r":[{"e":2}]}],"f":172,"g":[{"a":[{"r":164}],"o":2}],"i":[{"d":[{"e":[{"r":36}]}]},31],"j":172,"k":[{".":162,"a":[{".":1}],"e":[{"t":162}],"k":[{"e":[{"r":[{"i":31}]}]}],"r":12,"t":334}],"l":[{"y":162}],"m":[{"e":[{"l":4}],"o":7,"s":[{"k":31}],"ø":1},0],"n":[{"d":[{"r":42}],"e":[{".":1}],"g":[{"e":[{"l":23}]}],"i":537,"n":[{"e":22}],"s":[{"j":164}],"t":162}],"o":4,"p":[{"s":23,"u":107}],"r":[{"e":[{"i":168,"n":15},28],"i":15,"n":[{"a":32,"e":[{".":32}]},274],"t":[{"a":32}]}],"s":[{".":172,"a":[{"k":2},17],"e":[{"l":4}],"h":[{"e":16}],"k":233,"o":53,"s":[{"i":[{"d":23}],"t":41}],"t":[{"r":255},54]}],"t":[{"a":[{".":12},18],"e":[{"t":2}],"f":168,"g":162,"h":[{"e":538},475],"l":[{"a":33}],"m":31,"o":69,"r":26,"s":173,"t":[{"a":[{"l":23,"p":23,"t":53}]}],"v":168}],"v":[{"a":1,"e":[{".":1,"n":35,"r":35}]},172]}],"v":[{"a":[{".":0,"k":[{"t":[{"i":0}]},31],"l":[{"a":31}],"m":365,"n":[{"a":0,"d":6}],"p":94,"r":[{".":152}],"s":[{"a":2,"s":169}]},153],"e":[{"d":[{"a":65}],"i":[{"s":19}],"l":[{"a":0,"e":0}],"n":[{"e":39},1],"r":[{".":155,"a":[{"u":39}],"u":0}],"s":[{"k":0,"l":22,"t":[{"r":22}]}],"t":[{".":252}]}],"é":155,"i":[{"e":[{"n":[{"e":32}],"r":39}],"k":[{"a":[{".":31}]}],"m":35,"n":[{"g":[{"r":80}]}],"r":[{"o":12}]},153],"j":69,"l":[{"y":[{"s":[{"e":[{".":46}]}]}]}],"n":367,"o":[{"f":69,"k":[{"s":120}],"p":35,"r":[{"e":[{".":32}],"s":5}],"v":9}],"p":97,"r":[{"a":[{"r":46}],"i":35}],"s":[{"e":15,"k":40,"l":31},8],"t":[{"a":35}],"å":[{"g":90,"p":539,"r":31},69]},167],"w":38,"y":[{"a":69,"b":173,"d":[{"r":118}],"e":[{"s":18},15],"g":[{"e":[{"l":1}],"l":20}],"i":[{"s":6}],"k":[{"j":173,"k":[{"e":[{"r":[{"i":31}]}]}],"u":15,"v":2,"ø":168}],"l":15,"m":[{"e":15,"p":173}],"n":[{"a":107,"e":[{".":1}],"i":[{"l":26}],"s":82}],"o":[{"k":15},173],"p":[{"e":12}],"r":[{"a":[{".":6}],"e":[{".":4}],"k":306},370],"s":[{"a":[{".":1,"k":158}],"e":[{"t":[{"e":[{".":36}]}]}],"k":[{"j":24,"l":39},5],"l":129,"p":162,"t":[{"r":[{"a":49}]}],"y":168}],"t":[{"a":[{".":6}],"e":[{"k":162,"r":[{"i":1}],"s":17}],"i":[{"n":229}],"r":69}],"v":[{"a":[{"k":15}],"e":12}]}],"z":[{"b":97},90],"æ":[{"d":168,"r":[{"a":[{".":4,"r":[{"m":23},15]}],"e":[{".":1,"i":18,"r":12,"s":[{".":15},99]}],"s":[{"v":31}]}],"t":[{"a":4}]},216],"ø":[{"d":[{"e":[{".":12,"l":1,"m":15}]}],"e":[{"r":1}],"k":[{"k":[{"j":22}],"n":187,"o":173,"r":26}],"l":149,"m":[{"e":35}],"n":[{"a":7,"s":[{"t":17}]}],"p":[{"s":47}],"r":[{"d":337,"k":19,"n":22,"r":248}],"s":[{".":166,"a":[{"n":15},7],"e":[{"r":15}],"k":24,"s":24}],"t":[{"a":[{".":35}],"e":[{".":12,"g":1}]},173],"v":[{"a":[{"r":49}],"d":540,"e":[{".":1,"r":12,"s":15}]}],"y":[{".":168,"a":162,"d":173,"e":[{"d":32,"l":22},162],"f":173,"g":[{"e":17},23],"m":162,"s":[{".":274}],"t":[{"e":[{"r":22}]}]}]},172],"å":[{"g":[{"a":[{"l":4}],"r":[{"e":4}],"s":5,"å":1}],"i":173,"k":[{"e":[{".":4}]},182],"m":[{"e":35,"o":233}],"n":[{"d":274,"s":261},7],"p":[{"n":541},173],"r":[{"a":[{".":6,"r":35,"s":15}],"i":[{"n":12}],"u":69},173],"s":[{"a":[{".":4}],"k":[{"o":4},69],"l":26,"t":[{"e":[{"n":61,"r":22},1]}],"u":15}],"t":[{"e":[{".":12,"g":1,"k":1}],"i":[{".":6}],"t":162}],"v":[{"e":[{".":1}]}]}]}],"m":[{"a":[{"a":[{".":164,"r":12},173],"b":[{"r":15},173],"c":[{"h":[{"e":12}]}],"d":[{"a":[{"m":[{"e":17}]}],"e":[{"l":1}],"r":[{"a":12}],"s":542}],"e":[{"f":162,"k":162,"n":[{"e":191}]}],"f":[{"i":[{"a":164}],"r":[{"å":168},164]},189],"g":[{"a":[{".":6}],"e":[{"d":1,"l":1,"s":1}],"n":164,"r":7}],"h":[{"e":173}],"i":[{"s":1}],"j":[{"a":1}],"k":[{".":173,"a":[{"b":15,"d":162}],"e":[{"s":1}],"k":[{"e":61}],"l":[{"e":31},162],"o":[{"t":1}],"r":[{"e":12,"o":[{"n":22}]},28],"t":[{"a":[{"l":23}],"i":181,"o":23,"s":[{"t":103}]}],"u":69,"v":189}],"l":[{"a":69,"e":[{"b":2,"n":[{"g":4}],"t":1}],"i":[{"e":[{"n":260}]}],"l":22,"o":[{"v":1}],"s":5,"t":[{"e":[{"k":53}]}],"u":24,"å":24}],"m":[{"e":[{"r":162}],"o":12}],"n":[{".":0,"a":[{"k":12,"l":90,"m":168,"v":162}],"c":[{"e":32}],"d":[{"o":[{"m":23,"n":23}]}],"e":12,"f":0,"g":[{"a":42,"e":11,"r":162}],"i":[{"a":91}],"l":[{"e":90},173],"m":162,"n":[{"e":[{"m":23}],"s":[{"l":14}]},337],"o":1}],"o":173,"p":[{"a":162,"r":173}],"r":[{"b":162,"d":19,"e":[{".":191,"g":168,"i":12,"l":2,"n":543,"s":15}],"i":[{"e":[{"n":[{"e":208}]}],"n":12},544],"k":[{"a":0,"i":[{"t":162}],"v":23}],"m":[{"o":[{"r":[{"a":[{".":33}]}]}]},22],"n":61,"o":[{"p":163},69],"s":[{"h":65,"l":61}],"t":[{"e":22}],"y":[{".":1}],"å":4}],"s":[{"e":[{"l":162,"t":15}],"h":18,"i":[{"a":1,"k":1,"s":1}],"j":[{"u":168}],"k":[{"i":23,"o":162}],"p":162,"s":[{"e":[{"e":23,"t":31}],"ø":33}],"t":[{".":191,"e":[{"m":15}],"o":162,"r":236}],"y":173}],"t":[{"a":[{"d":15},69],"e":[{".":1,"d":4,"l":1,"n":191,"r":[{".":191,"a":168}],"t":191},12],"f":[{"e":306}],"i":[{"l":[{".":191},162]}],"o":69,"r":[{"a":[{"s":26},162],"e":85,"o":[{"m":21}]},69],"s":[{"l":46},82],"t":[{"a":22,"r":545}]},11],"u":[{"k":23,"l":61,"n":69,"r":166,"s":[{"u":61}]},173],"v":[{"e":[{"n":15},546],"h":152,"k":38},173],"z":[{"e":1,"o":12}]},172],"b":[{"a":[{"o":0,"r":[{"d":18}]}],"e":[{"a":88,"b":0,"d":[{"a":39,"ø":0}],"f":88,"k":88,"l":[{"i":0}],"m":88,"n":[{"a":0}],"o":0,"r":[{"e":[{"g":0}],"o":0}],"t":183}],"i":[{"a":[{"r":31}],"b":88}],"l":89,"o":[{"e":[{"n":[{"d":23}],"r":[{".":22,"e":22}]},183],"i":[{"d":22}],"n":22,"p":0,"r":[{"e":22}],"t":39}],"u":[{"a":[{"r":[{".":61}]}],"e":[{"r":[{"e":16}]},23],"s":17}]},188],"c":[{"o":11},153],"d":[{"e":90,"o":[{"m":2}]},174],"e":[{"a":[{"l":15,"m":22},420],"b":173,"c":[{"k":5},173],"d":[{"a":[{"t":162}],"b":173,"e":[{".":166,"d":1,"i":22,"n":2,"t":2}],"f":162,"i":[{"k":162,"r":162},12],"m":173,"o":[{"k":4,"m":162}],"r":[{"e":[{"t":4}]},173],"s":177,"u":[{"n":4,"s":9},162],"v":[{"e":191},22],"y":173,"å":162}],"e":[{"f":173,"k":168,"l":173,"s":162,"v":162},2],"f":[{"f":90},173],"g":[{"a":[{"l":2},547],"r":173,"u":173}],"h":162,"i":[{"e":[{"n":17},28],"g":153,"l":[{"d":12}],"n":[{"d":12,"i":22}],"s":[{"k":2,"o":162}]}],"j":173,"k":[{"i":162,"j":162,"k":173,"l":129,"n":12,"o":162,"r":548,"s":162,"t":[{"e":168},22]}],"l":[{"a":[{"k":[{"s":9}],"n":[{"e":166}],"r":166},162],"e":[{".":1,"d":162,"i":162,"k":162,"m":324,"n":[{"g":26}]},12],"i":[{"k":162,"s":162,"t":162,"v":162}],"l":[{"e":22,"o":[{"m":549}]}],"o":[{"k":162,"v":162}],"s":[{"i":23,"j":255,"k":103,"t":42}],"t":[{"r":61}],"u":69,"v":[{"i":120},22],"y":173,"æ":173,"ø":162,"å":550},88],"m":[{"o":[{".":4}]},173],"n":[{"e":[{"d":83,"r":[{"s":3}]}],"g":[{"a":248}],"k":22,"l":[{"e":[{"g":[{"e":[{".":120}]}]}]}],"n":[{"y":23},11],"o":[{"m":1,"r":1}],"s":[{"i":23,"m":24,"p":[{"l":22}]}],"t":[{"e":[{"k":31},22],"o":[{"m":23}],"r":22}],"y":[{"t":1}]}],"o":[{"s":4},285],"p":173,"r":[{".":166,"a":[{"b":4,"d":162,"l":223,"n":[{"t":26}]}],"d":[{"i":22}],"e":[{"d":162,"g":162,"i":162,"k":162,"l":162,"n":[{"s":[{"e":4}]}],"s":[{"s":162},12],"t":36}],"i":[{"b":236,"k":[{"e":17}],"n":166},0],"l":[{"e":[{"g":58}]}],"n":39,"o":[{"s":22}],"s":[{"k":22},166],"u":[{"n":[{"d":22},12],"s":162}],"y":173,"ø":107,"å":[{"k":1},173]}],"s":[{".":166,"a":286,"h":383,"j":173,"k":[{"e":22},189],"l":[{"e":31},189],"o":551,"p":173,"s":[{"e":[{"s":141}]},166],"t":[{".":191,"a":162,"e":[{".":166}],"i":23,"o":204,"r":[{"o":15,"ø":168,"å":162},18],"u":162}],"u":162,"y":173,"ø":173}],"t":[{"a":[{"b":162,"l":[{"l":[{"s":552}]}],"p":553,"r":1}],"e":[{"g":162,"i":162,"k":162,"l":162,"p":162},12],"i":[{"l":162}],"j":173,"o":[{"n":162}],"r":[{"a":85,"e":[{"n":22,"r":61,"s":22},1],"i":[{"k":22}],"u":1,"æ":162}],"u":173,"v":162,"y":173,"ø":173,"å":162}],"u":[{"s":554},307],"v":[{"a":[{"n":46}]},173],"ø":173,"å":173},172],"é":173,"f":[{"a":[{"r":[{"a":39,"t":[{"a":46}]}],"v":17}],"e":[{"k":88,"s":[{"s":367}]}],"i":[{".":0,"b":[{"r":0}],"t":88}],"r":[{"u":[{"s":555}]}],"u":[{"n":[{"n":[{"s":556}]}],"s":[{"e":[{".":31}]}]}]},188],"g":[{"a":[{".":0}],"i":[{".":0}],"å":[{"v":[{"a":32,"e":[{".":32}]}]}]},411],"h":[{"e":[{"a":5}],"u":[{".":0}]},188],"i":[{"a":[{"l":557,"n":[{"e":301},28],"r":[{".":191}],"v":173},69],"c":[{"h":[{"e":[{"l":120}]}]},4],"d":[{"é":522,"i":173,"j":22,"s":65,"t":23}],"e":[{"l":[{"e":265}],"r":[{".":12}],"s":143}],"f":286,"g":[{"r":[{"a":[{"f":166}]}]}],"h":173,"i":173,"j":162,"k":[{"h":31,"j":162,"o":173,"r":[{"o":[{".":22,"n":22}]}],"s":[{"a":22}],"u":168}],"l":[{"a":[{".":1}],"e":[{"t":[{"i":61},36],"v":1}],"i":[{"n":162},2],"s":[{"v":47}],"æ":162}],"m":[{"a":[{".":6}],"o":166,"p":152},173],"n":[{"a":[{".":1,"r":15}],"e":[{".":1,"r":[{"s":26}]}],"n":[{"h":181,"s":181,"t":168}],"s":[{"p":24,"t":5},28],"u":12,"v":0,"y":26}],"o":[{"v":2}],"p":173,"s":[{"a":[{"n":1},162],"e":[{"k":162,"l":162},12],"é":301,"h":[{"a":[{"g":[{"e":33}]}]}],"i":268,"k":[{"o":23},7],"l":[{"a":34,"e":39}],"m":191,"s":[{"k":53,"p":30}],"t":[{"a":[{"k":33}],"e":558,"r":[{"a":23}],"u":162}],"y":173,"å":162}],"t":[{"a":168,"e":12,"j":162,"o":162,"r":406,"t":[{"s":18}]}],"u":[{"r":15}],"v":[{"å":15},173]},172],"j":[{"a":[{".":11,"n":11,"r":[{".":38,"n":152}]}],"e":[{".":152},173],"i":[{"n":[{"g":[{"a":[{"n":93,"r":93}]}]}]},153],"o":167,"u":[{"k":[{"e":61}]}],"ø":[{"s":[{"t":17}]},172]}],"k":[{"o":[{".":0}],"r":[{"o":17}],"u":[{"l":[{"e":[{".":31}]}]}],"å":[{"p":[{"a":32}]}]},397],"l":[{"a":[{"g":[{"a":31}]},152],"e":[{"f":88,"i":[{"e":[{"r":[{".":17}]}]}],"k":88,"l":88,"m":88,"r":[{"a":0}],"s":[{"e":[{".":31}],"k":0,"v":559}],"t":[{"a":0}],"v":[{"e":[{".":23}]}]}],"i":4,"j":[{"a":15}],"y":[{"s":[{"e":[{".":31}]}]}],"ø":[{"p":[{"e":[{".":31}]}],"y":18}]},181],"m":[{"a":[{"i":11,"k":[{"l":22}],"l":[{"e":[{".":32}]},17],"m":0,"n":[{"d":[{"o":[{"l":36},139]}]}],"r":[{"i":[{"n":16}],"o":16},38],"t":[{"i":[{"k":[{"k":[{"a":170}]}]}]}]}],"e":[{"d":[{"ø":0}],"g":88,"i":88,"k":247,"l":[{"u":0}],"n":[{"i":11,"u":0}],"r":[{"t":17,"u":[{"n":23}]}],"s":[{"t":120},458],"t":[{".":38,"a":0,"i":0,"r":[{"a":0,"e":19}]}],"u":24}],"é":90,"i":[{"a":[{"n":152},0],"b":88,"d":0,"e":[{"n":36}],"k":88,"s":[{"k":22,"o":22,"t":24}]}],"n":15,"u":90,"ø":28,"å":[{"l":[{"a":[{".":32}]}]}]},560],"n":[{"e":[{"e":88,"i":[{"d":2}],"l":561,"r":[{"a":23}],"s":[{"e":38,"k":0,"t":[{"a":0,"i":[{"e":49}]}]}],"t":[{".":155,"e":0}],"v":88}],"i":[{"p":11}],"s":[{"k":2}]},188],"o":[{"a":[{"r":7},164],"b":[{"a":162}],"d":[{"e":[{"m":12},166],"i":[{".":4},15],"y":173}],"e":[{"n":[{".":1}]},164],"f":[{"f":153,"o":[{"b":[{"i":[{".":36}]}]}]}],"g":[{"i":4,"l":166,"o":15,"s":38}],"h":162,"k":[{"a":[{".":6},173],"e":6,"i":69}],"l":[{"a":[{".":4}],"e":[{".":1,"s":472},12],"t":162,"y":12}],"m":[{".":38,"f":162,"r":173,"s":[{"ø":53}]}],"n":[{"e":15,"i":[{"s":[{"a":1}]}],"o":7,"s":[{"t":[{"e":23}]},54],"t":19}],"p":173,"r":[{"a":[{".":1,"r":[{".":2},1]},562],"d":[{"e":19,"l":162,"r":47}],"e":[{"s":58},12],"i":[{".":1,"d":4,"e":563},88],"k":[{"l":23}],"l":[{"a":[{"g":[{"a":91}]}]}],"o":[{"k":15,"m":1}],"s":[{"i":23,"k":[{"j":23,"y":61}],"p":23}],"ø":69}],"s":[{"e":[{"n":35}],"k":564,"o":23,"t":[{"a":[{"b":168}]}]}],"t":[{"a":[{"p":162}],"e":[{".":1,"g":[{"e":565}],"i":1,"k":[{"l":16}],"r":[{".":15}],"s":1}],"o":15,"r":[{"e":61},162],"s":[{"a":[{"g":[{"d":168}]}],"v":[{"a":139}]},180],"t":61}],"u":[{"r":17}],"v":[{"a":218}],"w":15},172],"p":[{"a":[{"n":[{"a":0,"t":[{"a":169}]}]}],"e":[{"e":0,"l":[{"o":[{"t":0}]}],"n":[{"a":11}],"p":11,"r":[{"a":[{"t":[{"e":[{".":91}]}]}],"e":[{"s":[{"s":11},22]}],"f":[{"a":169}],"i":[{"e":[{"n":510}]}]}],"s":[{"t":[{"e":36,"i":23}]},183],"t":[{"t":38}],"u":227}],"i":[{"d":12,"n":[{"j":[{"e":0}]}]}],"l":[{"a":[{".":93,"n":89}],"e":[{".":15}],"i":[{"n":97}]}],"n":97,"o":[{"b":97,"e":[{"t":[{"a":0}]},5],"g":0,"k":11,"p":[{"p":12},88]}],"p":370,"r":[{"a":[{"d":12}],"e":[{"t":15}],"o":[{"p":[{"a":46},12]}]}],"s":[{"e":[{"k":12}],"p":23,"t":20},69],"u":[{"n":[{"g":[{"e":[{".":36}]}]}],"r":155,"t":[{".":15}]}],"y":[{"s":15}],"ø":22,"å":[{".":155}]},222],"q":90,"r":[{"o":[{"s":[{"a":[{".":32}],"e":[{".":31}]}]}],"u":[{"t":[{"e":[{".":61}]}]}],"ø":[{"d":[{"e":39}]}],"å":[{"r":155}]},566],"s":[{"a":[{".":38,"k":69,"n":[{"t":15}]}],"c":153,"e":[{"l":[{"u":22}],"i":437,"m":0,"n":[{"g":193}],"p":[{"l":9}],"r":[{"v":0}],"s":22,"t":[{"n":149,"j":[{"a":[{"r":[{"e":127}],"s":148}]}]}]}],"i":[{"e":31,"n":[{"g":1,"n":12}]}],"j":[{"a":169}],"k":[{"a":[{"b":15,"k":49}],"i":[{"n":[{"g":22},4]}],"n":34,"o":[{"r":12}],"r":[{"e":[{"n":15}]}],"u":32}],"l":[{"a":[{"n":12}],"e":[{"g":[{"a":4}]}],"u":[{"a":35,"e":12}],"y":1}],"m":88,"n":[{"e":35,"o":15,"æ":12},150],"o":[{"m":[{"s":0}],"r":[{"i":12}],"v":69},153],"s":67,"t":[{"a":[{"l":193,"v":6}],"e":[{".":206,"a":2}],"i":[{"l":[{"b":15}],"m":12},7],"o":[{"p":[{"p":149},169],"r":[{"d":22}]},153],"r":[{"a":[{"n":[{"d":93,"e":38}]}],"e":[{"d":22,"f":15,"n":22}],"i":[{"k":15}],"u":1}]}],"u":[{"n":[{"n":12}],"t":[{"a":39,"e":[{"n":61}]}]}],"v":[{"a":[{"r":[{"a":49,"e":17}]}],"e":[{"t":89}]},69],"y":[{"n":[{"d":12}]}],"ø":[{"k":[{"e":[{".":23}]}],"r":169,"y":69}],"å":69},168],"t":[{"a":90,"b":[{"e":36},1],"e":[{"e":88,"g":88,"k":[{"s":58,"v":284}],"l":0,"s":[{"t":[{"u":11}]}]}],"i":[{"a":39,"d":[{"a":155}],"e":[{"n":[{".":11}]},22],"f":11,"k":88,"n":[{"i":11}],"ø":[{"r":120},0]}],"o":38,"r":1,"v":[{"e":4,"i":[{"n":1}]}],"å":22},188],"u":[{"a":4,"b":150,"e":[{"l":12,"r":61,"s":176},7],"g":[{"l":22},173],"h":[{"e":1}],"k":[{"a":522,"e":187},7],"l":[{"a":15,"e":[{"g":1,"s":36}],"l":[{"s":202},183],"t":[{"i":[{"v":31}]}],"y":162}],"m":[{"i":12,"s":28},191],"n":[{"c":28,"e":[{"s":120}],"g":[{"e":[{".":31}]},162],"i":[{"v":274}],"k":24,"n":[{"s":80}],"t":[{"r":41}]}],"r":[{"a":[{".":4}],"e":[{".":1}],"n":173,"s":5,"t":168}],"s":[{"e":[{".":1,"s":133}],"é":1,"k":[{"e":[{"l":[{"a":145}]}]},107],"t":[{"a":[{"n":22}]},5]},88],"t":[{"a":[{".":6},567],"s":[{"a":[{"l":[{"a":91}]}]}],"t":[{"r":77}]},173]},172],"v":[{"a":[{"k":[{"t":17}],"l":[{"a":31}],"r":[{"i":120}]}],"e":[{"g":[{"s":78}]}],"i":[{"e":77,"s":[{"e":[{".":31}]}]}]},188],"w":173,"y":[{"a":15,"g":[{"g":[{"a":23}]}],"k":[{"e":12,"k":[{"e":[{"s":23}]}],"l":24,"r":6}],"r":[{"a":[{"n":35,"r":35},7],"e":[{".":1},69],"k":[{"e":38},162],"u":26}],"s":[{"a":4,"e":[{".":1}],"o":1},24],"t":[{"e":[{".":1}],"t":[{"s":116}]}]},172],"æ":[{"l":[{"a":[{".":4}]}]},166],"ø":[{"b":[{"l":24}],"d":[{"e":[{"s":2}]}],"e":[{"n":[{"s":35}]},4],"k":[{"k":[{"a":36}],"n":90,"o":173}],"n":[{"a":4,"e":[{".":1,"s":[{"t":6},49]}],"s":[{"k":274}]}],"o":7,"r":[{"k":[{"e":164,"r":53}],"s":[{"m":22}],"ø":24}],"s":[{"e":15}],"t":[{"a":[{"s":35}],"e":[{"r":[{"e":1}]}],"t":39},191],"y":[{"a":[{"r":39}],"s":[{".":38}]},173]},172],"å":[{".":173,"a":15,"e":[{"n":[{"h":168}]}],"g":530,"k":[{"a":[{".":1}],"e":[{".":1,"s":1}]},69],"l":[{"a":[{"r":15}],"e":[{".":1,"d":4,"i":18}],"ø":[{"p":[{"e":[{".":36}]}]}]},11],"n":[{"e":[{"s":[{"e":35},205]}]}],"p":[{"a":[{".":6}],"e":[{".":1}],"l":2}],"r":[{"a":[{"r":36}],"e":69,"o":69,"u":69},173],"s":182,"t":[{"a":[{"k":4}],"f":168,"r":15,"ø":12}]},172]}],"n":[{"a":[{"a":[{"n":[{"s":4}]}],"b":[{"o":[{"r":[{"t":[{"r":309}]}],"t":4},173],"y":162}],"d":[{"e":[{"d":1,"m":6}],"i":5,"o":[{"p":90}],"s":261,"v":162}],"f":[{"f":153,"o":[{"r":16}],"r":12,"t":61},167],"g":[{"a":[{".":6}],"e":[{"n":162},12],"s":[{"å":14},65],"ø":2}],"h":168,"i":[{"r":162}],"k":[{"k":[{"a":61,"o":31},11],"l":166,"r":69,"s":[{"a":32,"e":[{".":32}]},153],"t":[{"a":[{".":31}],"i":274},222],"v":2},173],"l":[{"a":[{"g":35,"r":[{"e":4,"v":168}]}],"e":[{"g":2,"i":85,"k":1,"p":[{"o":22}],"s":1,"t":[{"t":26}],"v":1}],"g":[{"e":[{".":31}]},22],"i":[{"l":1}],"l":[{"a":[{"g":31}],"ø":[{"p":23}]}],"o":[{"p":24}],"s":179,"t":24,"u":[{"r":12}],"y":173,"ø":233,"å":[{"r":568},162]}],"m":[{".":166,"e":[{"r":[{"e":2}],"s":15}],"o":569,"s":166,"ø":173}],"n":[{".":301,"a":[{"l":90},162],"e":11,"f":[{"ø":91}],"g":[{"r":248}],"k":[{"e":[{".":31}]},22],"l":[{"e":274},181],"n":[{"e":23}],"o":26,"s":[{"i":[{"n":23}],"k":[{"j":23}],"t":53}],"y":162}],"o":2,"p":[{"e":[{"s":5},15],"s":65},94],"r":[{".":0,"a":[{"p":1}],"b":173,"d":[{"r":22}],"e":[{"a":162,"i":61,"k":236}],"i":[{"e":[{"n":271}],"k":[{"s":[{"k":191}]}]}],"k":[{"i":[{"v":162}]}],"m":[{"é":274,"e":274,"a":[{".":32}]},175],"s":[{"t":[{"e":32}]},22],"t":[{"a":[{".":31}],"i":22},173],"v":61,"ø":22}],"s":[{"a":[{"r":18,"s":1}],"h":61,"i":[{"k":167}],"k":[{"i":1}],"t":[{"a":14},245],"u":167}],"t":[{"a":69,"e":[{"k":46,"m":2}],"l":162,"o":[{"m":162,"r":[{"i":[{"e":570}]}]}],"r":[{"a":32}],"s":[{"p":24}],"t":[{"a":[{"k":31}],"e":[{"a":31}]}],"y":17}],"u":[{"k":173,"s":[{"p":36}]}],"v":[{"a":[{".":4}],"d":162,"f":168,"g":173,"h":361,"i":69,"k":248,"l":[{"e":[{"s":23}]},162],"n":164,"o":168,"r":162,"s":153,"t":162}]},172],"n":[{"a":[{"n":[{"s":169,"a":15,"e":155,"i":32,"k":169,"l":38,"t":[{"a":96}]},1],"b":1,"d":[{".":15},88],"f":[{"t":35}],"i":[{"r":15}],"k":330,"l":[{"a":0,"g":15}],"m":[{"e":0}],"r":[{".":155,"i":0}],"s":[{"i":11,"k":0}],"t":88,"v":[{"l":12},88]}],"b":[{"o":[{"e":49}],"u":[{"e":49}]}],"d":[{"ø":[{"r":203},5]},122],"e":[{"a":[{".":38,"p":38}],"b":[{"a":[{"r":38}],"e":[{"r":91}],"u":38}],"d":[{"i":0}],"e":88,"f":11,"i":69,"k":[{"e":90}],"l":[{"o":0}],"n":[{"a":[{"t":31}],"o":41},89],"r":[{".":155,"e":[{"l":0}],"o":0}],"s":[{".":152,"j":11,"l":[{"a":439}],"t":196,"ø":0}],"t":[{".":149,"e":0}],"v":88,"y":88}],"g":94,"h":[{"ø":[{"r":[{"e":[{".":46}]}]}]}],"i":[{"d":[{"e":12},0],"e":24,"m":88,"n":[{"f":2}],"s":[{"j":23,"t":344},38]}],"k":530,"l":[{"e":[{"g":[{"e":[{".":36}]}]}],"ø":[{"p":[{"e":[{".":36}]}]}]}],"o":[{".":0,"f":15,"m":[{"s":[{"y":[{"n":[{"a":242}]}]},4]},261],"p":69,"r":[{"d":2},593],"v":[{"e":366}]}],"r":35,"s":[{"a":[{"k":[{"a":49}],"m":[{"b":26}],"n":[{"d":22}],"r":24}],"e":[{"g":15,"i":[{"g":91}],"m":85,"n":[{"k":3}],"s":85,"t":[{"e":[{".":36}]}]}],"i":[{"d":[{"a":16}],"n":85,"s":355}],"j":[{"a":[{"k":3}]}],"k":[{"a":[{"n":22}],"l":[{"i":9}]}],"o":[{"p":22,"r":24}],"t":[{"a":[{"b":3,"l":22}],"e":[{"l":[{"t":22}],"n":23,"p":22}],"i":[{"n":61}],"o":[{"p":22}],"r":[{"e":3,"o":22}],"v":24},36],"u":[{"l":26}],"v":[{"a":24,"o":3}],"y":[{"n":[{"a":46}]}],"ø":[{"k":24},7],"å":[{"r":568}]}],"t":[{"e":[{"s":[{"e":[{".":36}]}]}],"o":[{"g":[{"a":49}]}]},60],"u":[{"i":54,"n":[{"g":4}],"t":69}],"v":[{"i":[{"s":5}]}],"y":[{"n":69,"t":23}],"ø":[{"k":2,"v":69}],"å":69},162],"b":[{"a":[{"d":24,"s":[{"e":[{"r":39}]}]},572],"e":[{"n":[{"s":5}]}],"o":[{"e":[{"t":22}]}],"u":[{"f":11,"t":[{"r":11}]}],"y":[{"r":17}],"ø":[{"l":[{"e":39}],"n":31}]},571],"c":[{"a":38,"e":[{"l":17}],"h":[{"e":[{"i":24},90]}],"o":[{"t":11}],"y":458},153],"d":[{"a":[{"a":[{".":152}],"b":[{"i":11}],"d":0,"f":22,"g":[{"s":14},573],"k":[{"s":0}],"l":[{"f":0,"l":169,"s":203},90],"r":[{"k":0,"t":367}],"s":[{"k":93}],"t":[{"a":[{"l":22}]}]}],"d":9,"e":[{".":90,"a":22,"b":88,"d":88,"f":[{"i":38}],"i":[{"n":1},69],"k":[{"l":0,"o":0},4],"l":[{"e":[{".":23}],"i":[{"k":0}],"s":[{"k":5,"t":5}],"t":31},574],"m":[{".":38,"o":22},88],"n":[{".":38,"e":[{"r":11}],"s":38}],"o":575,"p":88,"r":[{"a":[{"b":0,"s":0}],"e":[{"i":0}],"i":[{"m":0}],"k":4,"l":[{"a":[{"g":[{"a":123}]}]}]}],"s":[{"i":0,"t":0,"u":0}]}],"é":153,"i":[{"e":[{"n":23}],"n":[{"t":193}],"s":[{"k":31}],"t":[{"o":[{"r":[{"i":[{"e":518},373]}]}],"t":[{"a":271}]}]}],"j":[{"e":[{"r":12}],"u":69}],"k":15,"l":[{"e":[{"m":1,"s":[{"e":1,"t":1}],"v":1}]}],"m":206,"o":[{"a":39,"b":11,"k":[{"k":97}],"m":[{"s":576}],"o":88,"p":69,"r":[{"g":12,"m":15},88],"t":[{"e":11}]}],"r":[{"a":[{"e":15,"m":193,"n":12}],"e":[{"k":4,"r":[{"a":5}],"s":[{"e":[{"n":15}]}],"t":[{"t":15}]}],"i":69,"o":153}],"s":[{"a":[{"g":1,"k":24,"m":[{"b":26}]}],"e":[{"l":[{"v":22}],"n":[{"d":[{"e":22}]}],"r":1}],"j":[{"e":1}],"k":[{"j":1,"u":[{"l":61}]}],"l":[{"a":[{"g":[{"a":120}]}],"e":[{"t":[{"t":31}]}]}],"p":[{"u":2}],"t":[{"e":[{"g":39},34],"r":[{"e":[{"k":22}],"y":15}]}]}],"t":[{"a":[{"k":[{"a":[{".":36}]}]}]}],"u":[{"f":11,"i":[{"s":24}],"n":[{"g":[{"e":[{".":36}]},12]},0],"p":88,"s":[{"i":31,"k":16}]}],"v":2,"y":[{"g":88,"k":54,"s":[{"p":22},88]}],"ø":[{"l":22,"y":259}]},167],"e":[{"a":[{"e":166,"g":23,"l":[{"e":40,"p":15,"s":15}],"m":131,"r":[{"a":[{"n":577}],"e":[{"n":39}]}],"s":69,"v":204},173],"b":[{"b":164,"e":162,"l":[{"e":1}]},173],"c":[{"k":17}],"d":[{"a":[{"l":164},173],"d":[{"i":[{"k":274}]},24],"e":[{"b":162,"g":162,"l":162}],"g":166,"i":[{".":1,"s":5}],"o":[{"v":[{"e":[{"r":578}]}]},173],"r":[{"e":4},54],"s":[{"t":24},166],"u":168,"ø":162,"å":[{"r":15}]}],"e":[{"g":162,"i":162,"k":173,"r":579}],"f":[{"f":153,"t":38},173],"g":[{"a":[{"t":[{"i":166}]}],"l":[{"a":12,"e":[{"s":[{"p":22}]}]}],"r":[{"u":168},32]},173],"h":168,"i":[{"d":[{"a":[{"n":32}]},88],"g":38,"n":[{"i":90},259],"r":166,"s":[{"k":334}]},173],"j":173,"k":[{"a":[{".":1}],"l":580,"n":12,"r":[{"i":[{"n":22}]},28],"s":[{"e":[{"r":152}]}],"t":22},173],"l":[{"a":162,"d":[{"e":24}],"e":[{"d":162,"g":[{"g":[{"j":191},168]}],"i":[{"e":[{"r":14}]},162],"m":181}],"ê":168,"i":[{"d":162,"g":[{"a":162}],"s":162,"t":162,"v":162}],"l":[{"o":[{"v":23}]}],"s":61,"u":189,"y":162,"æ":173,"ø":[{"p":[{"a":46}]},173],"å":[{"s":162}]}],"m":[{"a":173,"b":181,"e":[{"l":162,"r":162,"s":168}],"i":[{"e":91},173],"j":168,"k":31,"n":[{"e":[{".":22,"l":61}]},166],"o":173,"u":173,"y":173,"ø":173,"å":173}],"n":[{"a":[{"t":[{".":22}]},162],"d":[{"e":[{"n":313}],"r":168}],"e":[{"d":162,"m":162,"s":[{"l":162},12],"t":[{"a":22},162],"v":162},5],"g":[{"a":[{".":23}]}],"h":[{"e":[{"t":168},181]}],"i":162,"s":[{"e":22}],"t":[{"e":[{"i":17}],"r":581}],"u":162,"y":162,"æ":162},164],"o":[{".":166,"r":9,"s":191},173],"p":[{"e":15},173],"r":[{".":178,"a":[{"d":162,"p":168}],"b":164,"e":[{"a":162,"d":[{"e":[{".":36}]},162],"f":162,"g":162,"k":162,"n":[{"t":162}],"p":162,"s":[{"s":162,"u":162},15],"t":162,"v":162}],"f":[{"a":[{"r":162}]}],"g":[{"a":24,"e":24},582],"i":[{"b":265,"k":162,"t":162,"v":583}],"l":[{"a":[{"g":[{"a":91}]}]},166],"o":[{"b":90,"c":168,"f":2,"k":15,"m":162,"t":15,"v":182}],"s":[{".":11,"e":61,"i":42,"p":5,"t":[{"e":[{"n":46}]}]}],"u":[{"l":265,"n":22}],"y":[{"r":164},173],"ø":[{"r":162}],"å":173}],"s":[{"a":[{".":1,"r":166},173],"c":162,"e":[{"k":168,"r":31,"t":[{"s":166}],"v":[{"a":22}]},162],"i":[{"n":[{"d":22}],"t":162},12],"j":286,"k":[{"a":[{"m":15,"r":236}],"e":5,"i":[{"n":[{"s":166}]},162],"j":162,"o":236,"r":162,"u":168}],"l":[{"i":12,"ø":2},173],"m":[{"i":31}],"n":[{"ø":2},168],"o":[{"t":164},173],"p":173,"s":[{"a":[{"m":31}],"t":[{"u":23}]}],"t":[{".":166,"a":[{"s":162}],"e":[{".":39}],"o":[{"r":22},162],"r":265,"u":162,"ø":162}],"u":173,"v":[{"a":32},189],"y":168,"æ":162,"ø":[{"y":166}],"å":[{"r":[{"e":17}]},236]}],"t":[{".":164,"a":[{"k":[{"s":162}],"s":350,"l":[{"e":[{".":36}]}]},173],"e":[{".":166},12],"i":[{"d":168},265],"j":173,"o":[{"m":168},286],"r":307,"s":[{"p":42},164],"t":[{"a":124,"e":[{"l":31}]}],"u":173,"v":1,"y":162,"å":[{"k":[{"e":[{"r":17}]}]},162]}],"u":[{"r":54,"s":15},173],"v":[{"a":[{".":4}],"e":[{".":1,"n":[{"t":584}]}],"i":[{"k":166,"s":[{"a":46}]}],"n":164,"r":54}],"y":[{"t":26}],"ø":173,"å":162},172],"é":[{"b":162,"d":162,"f":173,"h":168,"l":173,"m":162,"o":168,"p":173,"r":166,"v":162,"å":162},172],"f":[{"a":[{"l":[{"l":[{"s":139},103]}],"n":[{"t":17}]}],"o":[{"a":11,"b":0,"l":[{"e":0}],"m":0,"r":[{"a":0,"e":[{"n":[{".":49}]}]}],"s":5}],"ø":[{"d":[{"e":[{"s":22}]}],"y":[{"e":[{"d":46}]}]}]},187],"g":[{"a":[{"d":471,"f":0,"g":11,"k":69,"n":[{"d":[{".":15,"a":585}],"k":12}],"r":[{"m":169,"t":[{".":15,"a":38},0],"u":17}],"t":[{"o":15},88],"v":[{"e":[{".":23}],"i":2}]}],"d":[{"e":[{"d":1,"l":1,"p":1}],"r":12},23],"e":[{"d":[{"a":0}],"l":[{"a":0}],"n":[{"a":0,"e":152,"g":193,"o":11,"u":0},90],"r":[{"e":[{"t":0}],"u":[{"n":22}]},90],"s":[{"l":24},88],"t":[{"a":0}],"v":586}],"f":[{"ø":5}],"g":122,"i":[{"d":15}],"j":[{"e":[{"n":[{"g":14}]}]}],"l":[{"e":[{"m":38}],"u":1},69],"n":2,"o":[{"d":[{"d":15},23],"e":152,"k":89,"m":[{"e":35},587],"n":[{"d":15}],"p":[{"e":40}],"r":[{"d":15,"k":12},88],"s":[{"p":36}],"t":88}],"r":[{"a":[{".":12,"d":[{".":38}],"n":[{"d":15}]}],"e":[{"a":2,"g":12,"n":[{"d":0},12],"r":0,"s":[{"t":15}],"t":12,"v":12}],"i":[{"d":12,"n":12}],"o":[{".":2,"a":35,"e":2,"s":588}],"å":[{"d":12}]}],"s":[{"a":[{".":6}],"e":[{"l":[{"v":22}],"m":1,"s":1}],"j":7,"k":[{"j":4},7],"l":[{"e":[{"g":61}],"ø":[{"y":15}]}],"m":[{"å":[{"l":[{"a":[{".":120}]}]}]}],"n":[{"e":24}],"t":[{"e":[{"p":61}],"r":[{"i":[{"d":17}]}],"y":[{"r":[{"k":[{"e":[{".":242}]}]}]}],"ø":[{"r":39}]}]}],"u":[{"n":[{"d":12}],"r":[{"u":[{".":22}]}]}],"v":[{"i":[{"s":5}]}],"y":[{"e":15}],"ø":[{"y":259},153],"å":[{"v":[{"a":32,"e":[{".":32}]}]}]},167],"h":[{"a":[{"t":17}],"e":[{"t":[{"s":5}]}]},571],"i":[{"a":[{"k":69,"n":[{"d":[{"e":[{"p":17}]}]},8]}],"b":[{"l":7,"y":162,"å":162}],"c":[{"r":162}],"d":[{"a":93,"e":[{"l":[{"e":2},1]}],"é":38,"o":4,"r":61,"s":[{"t":22},5]}],"e":[{"g":162,"l":69,"n":589,"r":[{".":12,"i":22,"s":2,"t":15}]}],"f":[{"r":563}],"g":[{"l":[{"a":15,"o":35}]}],"h":173,"j":167,"k":[{"e":12,"j":173,"o":236,"r":173,"v":162}],"l":[{"i":9,"u":166}],"m":[{"a":[{"r":162,"s":162}],"o":162,"p":173}],"n":[{"a":[{"l":21}],"d":188,"f":162,"g":[{"o":18,"r":22,"s":[{"e":190,"t":[{"e":14}]},116]}],"j":188,"n":[{"b":162,"h":162,"s":162,"t":162},153],"s":188,"t":188,"v":173}],"o":[{".":166,"n":[{"s":203},183],"p":162,"s":191,"v":236}],"p":[{"e":[{"t":[{".":35,"s":35},1]}],"l":[{"i":24},7],"s":[{"i":22}]}],"r":[{"k":[{"e":[{"l":61}]}]},162],"s":[{"e":[{"m":162,"t":15}],"i":[{"m":22}],"k":[{"j":265,"o":41}],"o":[{"l":35,"n":[{"e":17}]}],"s":5,"t":[{"a":[{"s":162,"t":168}],"i":[{"k":22,"l":162}],"r":12,"y":162,"ø":162}],"u":168,"y":168}],"t":[{"e":[{"d":12}],"j":168,"o":[{"g":1,"s":1}],"t":[{"r":5,"s":[{"k":36},43]}],"u":162,"y":12,"z":22,"æ":[{"r":[{"e":120}]}]},0],"u":[{"b":173,"m":[{"f":1}],"t":173}],"v":[{"a":162,"e":[{"g":109,"i":590},173],"o":248,"s":82}],"å":168},172],"j":[{"a":[{"h":11,"v":49}],"e":[{"d":[{"e":[{".":38}]},88],"e":0,"i":11,"s":[{".":90},458],"t":[{".":90,"r":36,"t":38},88]}]},187],"k":[{"a":[{"k":[{"s":12},88],"l":[{"l":17}],"u":88},153],"e":[{"d":[{"o":0}],"e":[{"r":0}],"h":0,"i":[{"e":15}],"l":[{"s":17,"t":203}],"n":[{"h":169,"o":93}],"r":[{"f":[{"a":169}],"s":[{"t":5}]}],"s":591,"t":[{"ø":11}]}],"i":[{"d":0,"e":[{"r":12},0],"n":[{"d":15,"f":2,"n":12,"t":2}]},153],"j":38,"k":182,"l":[{"a":[{"n":[{"g":149}]},153],"i":[{"s":393}],"o":[{"k":12}],"u":153,"y":12,"æ":90,"å":69}],"n":[{"u":153,"y":153}],"o":[{"f":[{"i":91},0],"k":[{"s":15}],"l":[{"e":22,"l":[{"a":5}]}],"t":11,"v":11},90],"r":[{"a":[{"v":90}],"y":350,"e":[{"a":350}]},153],"s":8,"t":[{"a":[{"k":1,"l":4}],"i":[{"n":1}],"s":[{"k":24}]}],"u":[{"l":[{"e":[{".":23}]}],"r":[{"i":[{"e":242},33]}],"t":[{"e":35},592]},153],"v":[{"e":12,"i":[{"t":152}],"o":11},153],"y":155,"ø":153,"å":[{"p":[{"a":31}]},153]},173],"l":[{"a":[{"n":[{"d":[{"a":33,"s":[{"e":120}]}]}]}],"e":[{"i":[{"e":[{"r":[{".":16}]}]}],"m":[{"a":[{".":32}]}]},38],"i":[{"e":[{"n":[{".":23}]}]}],"j":90,"u":[{"e":23}],"y":[{"d":[{"e":[{".":31}],"i":31}],"s":[{"e":[{".":23}]}]}],"ø":[{"p":[{"a":[{".":31}]}]}],"å":152},187],"m":[{"a":[{"l":[{"e":[{".":23}]}]}],"i":[{"k":18,"l":32,"n":[{"i":120}]}],"o":[{"s":[{"e":[{".":31}]}]}],"u":[{"s":[{"i":[{"k":[{"k":170}]}]}]}],"å":[{"l":[{"a":[{".":31}]}]}]},181],"o":[{"a":[{"g":23,"k":69,"n":[{"e":166}],"r":[{".":2}]}],"b":[{"e":[{"l":5}],"l":[{"e":22},1],"r":34},173],"c":[{"o":15}],"d":[{"i":[{"e":[{"n":271}]}]}],"e":[{"f":162,"i":162,"k":162,"n":[{"t":162}]},164],"f":[{"f":153,"t":218},173],"g":[{"r":[{"a":11}]}],"i":[{"d":15,"n":12}],"k":[{"i":69,"r":32,"s":[{"e":[{".":31}],"i":90}]},173],"l":[{"e":35,"j":173}],"m":[{"i":[{"d":4,"k":4,"l":1}],"j":162,"m":39,"s":452,"y":166}],"n":[{"s":177,"t":22}],"o":173,"p":[{"p":[{"s":66},153]},173],"r":[{"a":[{"n":15,"r":15,"s":15},182],"d":[{"a":23,"e":[{"n":[{"d":47}]}],"n":162,"r":53,"s":124,"ø":23}],"e":[{"e":35,"k":12,"n":12,"t":2}],"g":[{"e":[{"s":139},164]},22],"i":[{"e":89,"t":191}],"k":[{"l":[{"a":31,"e":31}]},162],"m":[{"l":[{"ø":[{"s":[{"e":170}]}]}]},0],"s":[{"k":[{"a":[{".":36}]}]},28],"æ":12}],"s":[{"e":[{"l":1,"s":1,"t":[{"e":[{".":46}]}]}],"p":162,"t":[{"j":12,"r":[{"a":190}]}],"y":173}],"t":[{"a":[{".":1}],"e":[{".":1,"i":17,"k":166,"l":1,"s":1}],"s":24,"y":162}],"u":162,"v":[{"e":12,"i":236,"n":248},69]},172],"ó":191,"p":[{"e":38,"o":[{"t":[{"a":32}]}],"å":[{"k":0}]},594],"q":90,"r":[{"a":[{"n":[{"a":32}],"s":[{"a":32}]},155],"e":[{"b":0,"i":[{"e":16}],"n":[{"e":[{"m":11}]}],"o":11},90],"i":[{".":11}],"o":[{"d":[{"e":[{".":31}]}],"t":31}],"y":31,"å":[{"d":[{"a":32}]}]},174],"s":[{"a":[{".":153,"d":182,"g":38,"k":[{"k":38,"r":171,"s":[{"e":[{".":36}]},12],"v":15}],"l":[{"a":90,"d":12,"p":97}],"n":[{"e":38,"f":0,"n":149,"s":[{"e":38,"i":15}],"t":15}],"r":[{"e":[{"n":[{".":38}]}],"m":4,"t":11}],"t":[{"i":0}]}],"c":[{"h":153,"o":90}],"e":[{"a":[{"l":143}],"d":[{"d":15,"e":6},88],"e":[{"i":22,"r":31},88],"f":11,"g":[{"e":15},88],"i":[{"d":36,"e":[{".":15}],"g":35}],"k":[{"s":0}],"l":[{"v":193}],"m":88,"n":[{".":38,"e":[{".":38,"r":0,"s":155,"t":0}],"i":0,"s":152}],"r":[{".":90,"a":0,"i":[{"e":50}]}],"s":[{"a":0,"i":0,"k":196,"l":24,"p":595,"t":0,"u":11,"v":596}],"t":[{"e":0,"s":155}],"u":88}],"f":[{"r":15}],"h":[{"a":12,"e":2,"i":15},88],"i":[{"d":[{"e":[{".":22}]}],"e":[{"n":[{"t":23}],"r":[{".":31}]}],"n":[{"d":17,"g":89,"n":12,"t":[{"e":0}]}],"r":[{"a":32}],"s":[{"k":16}]}],"j":[{"a":[{"k":12,"v":0}],"e":[{"f":38}],"o":[{"r":[{"d":97}]}]}],"k":[{"a":[{"n":0,"u":[{"k":97}]}],"e":[{"l":[{"e":2}],"t":[{"e":1}]}],"i":[{"m":155,"r":15,"s":38}],"j":[{"a":11,"e":[{"l":[{"e":11}],"n":15}],"æ":90}],"å":[{"p":206}],"o":[{"g":[{"s":120}],"l":[{"l":[{"i":1}]}],"r":15}],"r":[{"o":12}],"u":[{"e":[{"t":49}],"g":0,"l":[{"i":15}],"m":38}],"v":69,"y":[{".":149,"e":229,"s":[{"s":38}]}]}],"l":[{"a":[{"n":[{"g":38}],"r":[{"a":[{"r":152}]}],"s":15}],"e":[{"g":[{"e":[{".":36}]}],"k":[{"t":89}],"r":[{"i":4}]}],"i":[{"d":15}],"y":[{"n":38}],"å":153}],"m":[{"i":12,"a":[{"l":0}],"o":169,"u":[{"r":0,"s":0}],"å":[{"l":[{"a":[{".":36}]}]}]}],"n":[{"a":[{"r":229}],"e":[{"s":15}]}],"o":[{"d":23,"f":69,"k":151,"l":153,"n":[{"d":[{"e":[{".":36}]},0]}],"r":[{"i":[{"s":22}]}],"v":[{"n":90},69]}],"p":[{"a":[{"r":[{"a":49}]}],"e":[{"l":[{"s":15}],"t":38}],"r":[{"o":[{"s":11}]},69],"u":[{"r":152}]}],"s":[{"e":[{"e":5}],"å":17},40],"t":[{"a":[{".":1,"k":[{"e":15},0],"g":0,"m":90,"n":[{"k":0}],"r":[{"t":[{"a":[{".":91}]},22]}],"u":1}],"e":[{"d":92,"i":89,"l":1,"m":[{"a":[{".":36}]}],"n":[{"k":15}],"p":11}],"i":[{"k":229,"l":[{"d":15,"f":2,"s":169}],"n":1,"s":423}],"j":69,"o":[{".":38}],"r":[{"u":90,"ø":[{"y":2}]}],"u":[{"e":90,"k":11,"r":15,"t":24}]}],"u":[{"k":69,"n":[{"g":0}],"p":38},153],"v":[{"a":[{"n":[{"g":15}],"r":[{"a":49}]}],"e":[{"g":35,"r":[{"d":15,"n":15}]},375],"i":[{"l":[{"l":229}],"n":[{"d":1}],"s":35},69],"u":0,"æ":89}],"y":[{"d":23,"t":69}],"ø":[{"n":38,"v":277,"y":[{"a":15}]}],"å":[{"p":[{"e":[{"n":61},38]}],"s":[{".":2}]}]},168],"t":[{"a":[{"b":38,"g":[{"r":0}],"l":[{"a":[{"n":23}],"l":103}],"n":[{"a":[{".":22}],"d":169,"l":12,"v":1}],"p":[{"p":12}],"r":[{"t":152,"v":[{"i":97}]}],"s":[{"i":[{"a":22}]},4],"t":1,"v":[{"i":12,"r":15,"s":2}]}],"e":[{"a":[{"t":38},88],"e":88,"f":0,"g":[{"e":0,"i":0,"n":152}],"i":[{"n":[{"i":15,"s":22}],"s":38},88],"k":[{"a":0,"n":152,"s":[{"e":0}]}],"l":[{"e":[{"g":155}],"i":[{"g":38}],"l":38,"s":0,"t":155}],"m":[{"a":[{".":23}],"b":12,"i":[{"s":23}]}],"n":[{".":38,"a":435,"e":[{".":38}],"h":193,"s":38}],"o":[{"r":[{"i":38}]},88],"p":[{"p":38}],"r":[{".":38,"e":[{"k":152,"s":[{"t":11}]}],"i":[{"s":[{"k":31}],"ø":[{"r":[{"a":[{".":170}]}]}]}],"s":38},1],"s":[{".":152,"e":[{"l":0}]}],"t":[{"a":0,"e":0}],"u":85,"v":[{"a":9}]}],"g":35,"i":[{"a":[{"t":0},54],"d":0,"e":[{"m":38}],"g":0,"k":[{"a":[{"p":0}],"i":38,"l":[{"i":22},0]}],"l":[{"e":38,"o":24}],"m":[{"e":[{".":155,"s":152}]}],"n":[{"d":193,"e":[{"t":31}],"i":11}],"o":88,"p":88,"s":[{"a":0,"t":[{"i":195}]}]}],"l":15,"n":15,"o":[{"a":24,"b":88,"m":[{"f":15,"n":15,"s":12}],"p":259,"r":[{".":38,"e":597,"g":11}],"u":88,"v":69}],"r":[{"a":[{"n":4}],"e":[{"p":0,"r":38,"s":[{"i":15,"k":[{"j":[{"a":[{"r":[{"e":33}]}]}]}]}]}],"i":[{"n":193}],"o":[{"l":[{"l":[{"i":120}]}],"m":11}],"u":[{"l":11}],"ø":[{"y":103}]}],"s":[{"k":[{"j":15}],"l":[{"a":20}],"t":28}],"t":34,"u":[{"b":96,"e":39,"l":23,"n":217,"r":[{"o":169}],"t":259}],"v":[{"a":[{"l":[{"a":46}]}]}],"y":[{"e":31,"r":[{"s":18}]}],"å":[{"r":[{".":2}]}]},200],"u":[{".":162,"a":[{"n":12,"v":1}],"f":[{"t":[{"s":14},5]}],"g":[{"l":[{"a":31}]},173],"h":303,"i":[{"t":[{"e":46}]}],"k":22,"l":[{"t":143,"u":162,"y":168}],"m":[{"e":35}],"n":[{"g":[{"e":[{".":23}]}]},188],"o":28,"p":[{"l":12},168],"r":[{"e":1}],"s":[{"a":[{".":15}],"e":[{"n":15,"r":2}],"k":[{"l":53}],"l":61,"s":5,"t":[{"a":24},4]}],"t":[{"a":2,"e":[{".":12,"r":[{"i":22},36]}],"l":152},173],"u":[{"m":[{"e":4}]}]},172],"v":[{"a":[{"l":[{"a":31}],"n":[{"d":14}]}],"e":[{"r":[{"l":[{"e":186}]}],"s":176}],"i":[{"e":[{"t":23}],"k":[{"a":[{".":23}],"e":22}]},38],"u":90,"æ":[{"r":[{"a":32}]}]},200],"w":90,"y":[{"a":[{"r":[{".":15}],"s":[{"t":35}]}],"d":[{"e":[{".":1}]},173],"e":[{"f":162}],"g":[{"e":15},162],"h":[{"e":334}],"k":[{"e":12,"l":[{"e":34}],"o":162}],"l":[{"o":69}],"n":[{"d":[{"a":[{".":32}],"e":[{".":23}]}]},173],"o":162,"p":[{"a":6},162],"r":[{"a":[{".":4}],"e":[{".":1,"v":2}],"u":1}],"s":[{"e":15,"k":57,"t":[{"u":103},5]},69],"t":[{"e":12,"r":12}],"v":[{"a":[{".":6,"k":15}],"e":[{".":6}]},173],"ø":162},172],"z":153,"æ":[{"r":[{"a":[{".":6,"n":[{"d":39}],"s":[{"t":[{".":6}]}]}]}]},216],"ø":[{"d":[{"a":7,"d":[{"e":14},162],"s":[{"k":24,"t":[{"o":22}]}],"u":[{"n":35}]}],"e":173,"f":[{"l":69,"r":69},162],"g":[{"r":2}],"k":[{"o":162,"s":162}],"l":[{"e":[{".":1}]}],"m":[{"o":35,"u":15}],"p":34,"r":[{"a":2,"e":[{"d":4}],"y":69}],"s":[{"e":12,"k":69,"l":23}],"t":[{"e":2,"r":2,"t":[{"r":36},11]}],"v":[{"d":23,"e":[{"r":12}]}],"y":[{".":188,"a":[{"n":148}],"h":152,"s":[{".":90},162]},54]},172],"å":[{"a":[{"s":4}],"d":[{"e":[{"d":15}]},172],"e":[{"n":6,"t":4}],"j":6,"k":598,"l":[{"a":7,"e":[{"v":15}]},172],"m":[{"a":6}],"n":[{"d":[{"e":[{".":31}]}]}],"p":[{"n":[{"a":32}]},398],"r":154,"s":[{"a":15,"e":5},7]}]}],"o":[{"a":[{"c":15,"f":153,"k":[{"k":[{"a":[{"n":[{"a":31}]}],"u":23}]},1],"l":[{"l":153,"t":90}],"m":150,"n":[{"d":155},92],"p":154,"r":[{"d":[{"e":127,"i":[{"n":53}]}],"e":[{"g":158,"n":[{"h":26}]}],"é":4,"i":26,"m":22}],"t":[{"é":35}],"u":153,"v":398},173],"b":[{"a":[{"k":[{"k":[{"s":91}]}]},361],"b":[{"l":23,"o":1,"r":26,"u":85}],"e":[{"a":0,"r":[{"e":[{"t":17}],"s":[{"t":[{"a":14,"e":14}]},5]}],"s":90},1],"i":[{"e":19},361],"j":216,"l":[{"a":[{".":15}],"e":[{".":12,"n":12}],"i":[{"g":164},230],"o":1},150],"o":[{"a":39},398],"r":[{"a":[{"r":15}],"e":69,"i":69},173],"s":[{"e":[{"r":164}],"t":15}],"u":361,"y":[{"l":17},173],"ø":38,"å":90}],"c":[{"k":[{"e":[{"r":[{"s":22}]}]}],"y":38},162],"d":[{"a":[{"b":11,"f":23,"t":[{"t":2}]}],"d":[{"e":[{"i":22,"l":1,"s":[{"t":1}]}],"o":35}],"e":[{"b":88,"i":97,"k":[{"o":0,"u":38}],"p":88,"r":[{"l":[{"e":170}]}],"s":88,"t":[{".":38,"s":38}]},1],"i":[{"e":[{"n":5}],"g":[{"l":193}]}],"j":0,"k":[{"o":17}],"o":[{"m":[{"l":12}],"v":12}],"r":[{"e":230,"ø":193}],"s":[{"k":[{"a":23},12],"p":[{"o":34}],"t":[{"o":[{"l":9}]},32]}],"u":[{"s":61}],"y":[{".":0,"b":0}],"ø":[{"k":15,"s":38,"y":15}],"å":500},188],"e":[{"f":4,"i":[{"n":0}],"k":[{"s":31}],"l":7,"m":[{"u":1}],"n":[{"a":22,"e":152,"g":[{"d":17,"r":599,"s":18,"u":18}],"s":[{".":152},439],"t":22},7],"r":[{"e":[{"r":11},89],"m":[{"a":32}],"s":[{"k":90}]}],"s":[{"i":[{"p":4,"t":4}],"k":[{"a":32,"e":[{".":32}]}]},88],"t":[{"a":[{"n":0}],"h":28,"i":15}],"v":[{"n":[{"e":[{".":31}]}]}]},200],"f":[{"a":[{".":88,"g":[{"a":36}],"r":[{"a":0}],"s":[{"e":23}],"v":88},173],"e":[{"b":88,"i":0,"r":[{"a":0}],"s":[{"t":196}]}],"é":153,"f":[{"a":[{"n":[{"d":39}]}],"e":[{"k":1,"s":15}],"i":[{"a":4,"d":22}],"r":4,"u":7,"y":4}],"i":[{"p":0},173],"l":[{"e":15},153],"o":173,"r":[{"a":[{".":11,"s":35}],"e":69,"i":274}],"s":[{"a":6,"e":[{".":6}]}],"t":[{"e":[{"l":1}],"s":255},168],"y":173}],"g":[{"a":[{".":88,"n":[{"k":2}],"r":[{"e":0}],"v":374}],"e":[{".":88,"d":0,"i":69,"n":[{"a":[{".":61}]}],"t":90},162],"g":[{"e":[{"r":[{"a":1}]}],"j":26,"s":65,"u":21}],"i":[{"a":65,"e":[{"v":0},183],"f":88,"g":11,"k":[{"o":0}],"l":88,"m":88,"n":[{"g":90},88],"o":458,"s":[{"t":[{"a":11,"r":284}]}],"v":88}],"j":[{"e":[{"r":15}]}],"l":[{"a":2,"y":16}],"n":[{"e":[{"d":1,"l":4}],"i":600,"o":[{"s":149}]}],"o":[{".":88}],"r":[{"a":4,"e":[{".":1,"g":193,"i":193,"r":1,"t":[{"t":2}]}],"i":193,"y":[{"d":12}],"ø":169,"å":15}],"s":[{"a":[{"n":31},23],"e":67,"k":[{"j":23},69],"l":[{"e":23},15],"p":[{"a":22},182],"t":[{"e":15,"i":12,"j":26,"o":23,"r":[{"a":19,"e":15},23]}],"y":[{"v":601},15]},34],"t":[{"r":31}],"å":[{"t":600,"s":2}],"u":[{"n":69}],"ø":15},173],"h":[{"e":[{"t":[{"e":22}]}],"m":[{"a":39}],"o":[{".":0}],"ø":23},566],"i":[{"a":23,"d":[{"i":602,"r":153,"t":22}],"e":[{"n":23,"r":15,"s":4}],"k":15,"l":[{"a":1}],"m":153,"n":[{".":90,"g":153,"o":357,"s":[{"p":0}]}],"r":4,"s":[{".":88,"a":11,"e":88,"i":0},153]}],"j":[{"e":[{".":93}],"o":[{".":0}]},187],"k":[{"a":[{"f":[{"t":2}],"k":69,"n":[{"i":136}],"r":[{"k":15},7],"s":90},153],"e":[{"f":69,"l":[{"s":441,"v":15}],"n":149,"s":[{"k":0}],"v":11}],"j":153,"k":[{"a":[{"n":[{"d":1}]}],"e":[{"r":[{"a":4}],"s":223},162],"j":[{"e":12}],"o":[{".":12,"l":15}],"s":[{"m":64}],"u":[{"n":1}]}],"l":[{"a":[{".":6,"m":17}],"e":[{".":6}],"u":[{"t":2},153],"å":17},162],"n":[{"a":[{"s":[{"a":46}]}]},173],"o":[{".":93,"l":6,"m":[{"s":193,"t":12}],"p":[{"e":22,"p":15}],"r":[{"m":12}],"s":[{"e":39},23],"v":11},90],"r":[{"e":[{"o":15,"t":11}],"u":169},153],"s":[{"a":[{"l":23}],"e":[{"k":[{"r":17},1],"m":1,"n":2,"r":[{"i":[{"n":4}]}],"s":1,"t":[{"e":49}]},23],"i":[{"d":[{"a":16}]},9],"t":[{"i":31,"r":31},183],"v":[{"i":3}]}],"t":[{"a":[{"n":164,"v":603},15],"i":12,"o":[{"r":[{"i":271}]},15],"r":31}],"u":[{"k":9,"l":[{"e":[{".":32}]}],"t":[{"e":2},31]},153],"v":[{"a":[{"k":11},38],"i":90}],"ø":[{"y":15}],"å":90}],"l":[{".":167,"a":[{"d":[{"e":[{"d":31}]}],"g":[{"a":32}],"n":[{"l":15,"t":12}],"r":[{".":155,"b":[{"e":11}]}],"t":22},187],"b":[{"e":[{"r":103}],"o":[{"e":16,"g":[{"e":[{".":16}]}],"l":1}],"u":16}],"d":[{"a":[{"n":2}],"e":[{".":15,"m":1,"s":[{"t":1}],"t":15}],"o":[{"v":[{"e":604}]},12],"r":[{"e":[{"v":15}],"i":12}],"s":[{"k":[{"r":65}]}]},173],"e":[{"a":[{"k":[{"s":38}]}],"b":11,"d":88,"f":88,"i":[{"g":15,"n":22}],"k":[{"i":152},88],"l":[{"e":[{"g":[{"e":[{".":120}]}]}]},88],"m":[{".":38,"s":38},88],"n":[{"e":[{".":152,"s":155,"t":0}],"i":0,"o":0}],"r":[{"e":[{"d":11}],"u":0}],"s":[{"t":[{"a":22,"r":22}]},88],"t":[{".":155}],"v":88},173],"é":153,"f":[{"i":26,"j":1}],"g":[{"e":34,"l":182}],"i":[{"b":[{"a":0}],"e":[{"n":131,"r":[{"t":61}]}],"n":[{"e":22}]},173],"j":249,"k":[{"e":[{"s":[{"e":1,"k":1,"t":1},124]}],"l":107,"o":35,"u":4,"v":15}],"l":[{"a":[{".":15,"k":24,"m":1}],"e":[{".":2,"d":1,"l":1,"n":2,"s":1}],"i":[{"n":[{"j":4}]}],"o":[{"g":1,"m":1,"s":15,"v":[{"e":[{"r":22}]},1]}],"s":[{"t":5,"v":22}],"u":7,"ø":[{"p":1,"s":4,"y":4}],"å":7}],"m":[{"e":[{"s":[{"t":1},17]}],"å":1}],"n":35,"o":[{".":0,"a":[{"n":38}],"e":90,"f":0,"i":24,"k":[{"s":15}],"m":[{"s":12}],"p":12,"s":[{".":96,"e":251,"f":97}],"v":[{"e":22,"n":206}]},188],"p":[{"e":[{"d":1}]}],"s":[{"o":2,"t":32,"v":[{"a":15,"i":[{"k":22}]}]}],"t":[{"e":[{"d":12,"p":15}],"r":[{"a":21,"e":[{".":22,"r":22,"t":22}]},7]}],"u":[{"l":22,"n":[{"g":[{"e":[{".":46}]},193]}],"r":169},153],"v":[{"a":15,"o":69}],"y":[{"d":61},153],"ø":[{"r":15}],"å":153}],"m":[{".":173,"a":[{"l":[{"d":12}],"m":605,"n":[{"g":15,"i":[{"f":23}],"n":103,"t":17}],"r":[{"s":12,"ø":66}],"s":1,"v":69},173],"b":[{"e":[{"t":1}],"i":[{"s":1}],"l":12,"o":[{"d":166}],"u":172},31],"e":[{"k":[{"a":38},259],"n":[{"e":[{"s":152}]}],"r":[{"s":36}],"s":[{"e":11}],"t":[{"a":[{"k":23,"r":61}]},38],"u":69},173],"f":[{"a":[{"n":164}]}],"g":[{"r":[{"e":164}]}],"h":167,"i":[{"a":88,"b":88,"e":[{"k":0},65],"g":88,"k":[{"k":152}],"n":[{"e":152,"n":2,"s":568}],"o":0,"r":88,"s":[{"j":0,"t":0}],"u":88}],"j":69,"m":[{"a":[{"t":4}],"e":[{"d":1,"t":[{"r":1}]}],"ø":164},173],"o":[{"f":[{"o":0}],"p":69,"v":54},173],"p":[{"a":[{"t":18}]},28],"r":[{"e":173,"o":173,"u":173},172],"s":[{".":168,"a":[{"l":24}],"e":[{"k":1,"t":164}],"k":[{"o":[{"d":33}],"u":[{"l":[{"a":33}]}]}],"o":[{"m":1}],"u":[{"n":24}],"ø":23}],"t":[{"a":[{"l":164}],"e":[{"s":1}],"i":12,"v":12},28],"u":[{"s":90},259],"v":[{"æ":[{"r":[{"e":[{".":46}]}]}]}],"y":[{"r":[{"k":[{"e":[{".":46}]}]}]},168],"ø":[{"k":88,"r":23,"y":473}],"å":38}],"n":[{"a":[{"b":[{"o":12}],"c":0,"k":11,"n":[{"g":193}],"p":[{"p":12},0],"r":[{"b":11,"g":193,"v":193}],"s":[{"j":606}],"t":[{"r":17}],"v":593}],"b":15,"d":[{"a":[{"r":1}],"e":[{"r":[{"e":120}]}],"r":[{"e":24,"i":26}],"s":[{"i":5}]}],"e":[{".":0,"i":[{"e":15}],"l":[{"e":0,"l":152}],"m":88,"r":[{"u":0},90],"s":[{"i":120,"k":0,"t":607}],"t":[{"e":0}],"v":88}],"f":2,"g":[{"a":[{".":2}],"d":24,"e":[{".":15,"d":4,"s":103}],"i":15,"o":[{".":15}],"r":[{"o":[{"s":39},6]},28],"s":[{"j":5}],"u":7,"y":1,"ø":26}],"i":[{".":155,"d":407,"e":54,"l":[{"d":15},88],"m":[{"i":31},88],"n":[{"f":12,"n":96}],"o":458,"p":195,"s":[{"o":11}]}],"j":12,"k":[{"a":20,"e":[{"l":164}],"i":20,"l":[{"e":1}],"u":15},69],"l":[{"e":[{"g":36}]}],"n":[{"a":[{"d":15}],"i":12,"y":15}],"o":[{".":0,"r":[{".":38}],"v":[{"e":12},365]}],"s":[{"h":1,"i":[{"s":18,"v":5},54],"k":[{"e":61},177],"l":[{"a":[{"g":[{"a":120}]}]},54],"t":[{"i":[{"t":[{"u":[{"e":[{"r":[{"a":608,"e":608}]}]}]}]}],"r":[{"u":[{"m":17}]}]}],"u":[{"n":[{"d":22}]}],"v":[{"e":1},54],"å":54}],"t":[{"a":31,"e":[{"d":1,"n":15},12],"i":15,"o":[{"k":1,"r":15}],"r":28}],"u":[{"l":239,"r":15,"s":[{"k":23}]}],"ø":[{"y":[{".":4}]},198],"å":40},173],"o":[{"d":[{"s":54}],"f":[{"f":153}],"k":[{"a":10,"e":[{"s":22}]},129],"l":[{"a":61}],"m":[{"i":26,"o":4}],"p":[{"a":[{"n":39},46],"e":[{"n":22,"t":22},1],"i":11},150],"r":[{"d":[{"a":31}]},398],"s":[{"p":4},15],"v":398},173],"p":[{".":173,"a":[{"b":0,"k":88,"n":[{"d":49}],"r":[{"e":[{"n":152},196]}],"s":[{"j":0}],"u":0},173],"e":[{"a":90,"i":54,"l":[{"l":[{"ø":36}]}],"n":[{"a":0,"d":155,"e":[{"t":0}],"t":152},173],"r":[{".":434,"a":[{"r":31},164],"o":152,"t":38},88],"t":[{"a":0},173]}],"h":162,"i":[{"e":[{"k":0}],"n":[{"g":[{"s":33}]}],"r":0},153],"l":[{"a":[{"n":[{"d":169}]},153],"i":12,"u":35},173],"n":[{"a":[{".":1}],"e":1}],"o":361,"p":[{".":173,"a":[{"r":[{"t":26}],"s":1},162],"e":162,"g":172,"i":[{".":1,"a":4,"s":1}],"l":[{"i":24,"y":164}],"o":[{"e":4}],"r":[{"o":[{"p":22}]},4],"u":[{"n":[{"d":22}]}],"å":180}],"r":[{"e":4,"u":2,"å":2},188],"s":[{"a":[{".":4}],"i":471}],"t":[{"r":129}]}],"q":0,"r":[{".":162,"a":[{"d":[{"d":96,"r":12}],"g":88,"k":69,"l":[{"d":15,"g":169,"s":[{"t":5}],"t":[{".":4}]},173],"m":89,"n":[{"a":0,"e":90,"g":0,"s":0}],"p":4,"t":[{"t":12}],"u":[{"k":24},0],"v":182}],"b":[{"i":[{"t":14}],"y":2},162],"c":162,"d":[{"a":[{"t":[{"a":49}]}],"e":[{"a":12,"l":168,"p":[{"l":77}]}],"i":[{"k":2,"s":[{"e":26},5],"t":24}],"n":172,"r":[{"e":[{"g":[{"i":[{".":91}]}]}],"ø":40}],"s":[{"a":[{"m":[{"e":[{".":120}]}]}],"e":36,"t":24}],"y":[{"r":[{"a":49}]}]}],"e":[{"a":[{"r":[{"a":91,"e":91}]}],"b":[{"r":[{"a":38}]}],"d":[{"i":93}],"i":69,"l":[{"a":0,"d":11},69],"n":[{"a":[{".":31}],"e":[{"d":23,"t":23}],"k":12,"s":18}],"o":[{"g":316}],"r":[{"f":11,"o":0}],"s":[{"c":38,"t":[{"e":36}]},180],"t":[{"a":0,"n":609,"v":11}],"v":88},167],"f":[{"a":[{"r":[{"e":[{".":36}]}]}],"i":[{"n":[{"e":16}]}],"ø":[{"r":[{"e":[{".":49}]}]}]},173],"g":[{"a":[{".":162},610],"e":[{"r":15,"s":5},12],"i":[{"e":[{"n":[{"e":116}]}]}],"s":[{"k":23}]}],"h":[{"a":[{"g":49,"l":[{"e":49}]}]}],"i":[{"a":90,"b":42,"e":[{"n":[{"e":53,"t":166}],"t":152}],"g":88,"k":[{"a":61}],"m":11,"n":[{"d":12,"k":12,"n":12,"s":12}],"r":[{"o":91}],"s":[{"a":5},168],"t":[{"i":[{"m":[{"e":[{".":120}]}]},0]},168]},153],"k":[{"a":15,"e":[{"s":164}],"o":[{"s":[{"e":[{".":36}]}]},15],"s":452}],"l":[{"a":[{"t":[{"e":16}]}],"e":15},168],"m":[{"a":[{"l":[{"t":87}],"n":[{"g":22}],"p":4}],"e":[{"l":15}],"u":[{"n":85}],"æ":49}],"n":[{"a":[{"r":1}],"e":[{"d":[{"r":36},14],"t":15}],"o":[{"l":1}],"t":24}],"o":[{"a":90,"e":90,"f":[{"f":12}],"g":38,"i":22,"n":153,"p":69,"r":[{"d":[{"a":49}]},277],"s":[{"a":38}],"t":38,"v":[{"e":12,"n":15}]},162],"p":[{"e":[{"s":36}]}],"r":162,"s":[{"a":[{"l":[{"t":22}]}],"e":[{"n":15,"r":[{"k":1}],"t":[{"a":49,"e":[{".":16}]}]}],"i":12,"k":[{"a":[{"r":22}],"e":[{"i":611}],"l":148,"u":23}],"l":182,"m":[{"å":[{"l":[{"a":91}]}]}],"n":69,"o":[{"n":[{"a":49,"e":49}],"v":49},67],"p":[{"a":23}],"t":[{"e":[{"n":23}]}],"u":69,"v":[{"a":[{"r":[{"e":33}]}]}],"y":12,"ø":35},173],"t":[{"a":[{"k":85,"l":[{"a":[{".":46}]}],"n":[{"d":26}],"p":[{"e":49}],"v":26}],"e":[{"i":[{"g":80}],"k":1,"m":12,"r":[{"f":3,"m":109}]}],"i":[{"i":15,"l":2,"s":15}],"o":[{"d":164,"k":4,"n":[{"e":49}],"r":[{"i":22},5],"u":1}],"r":[{"e":[{"s":22}],"å":[{"d":22}]}],"å":[{"r":85},5]},173],"u":[{"d":[{"e":35},32],"h":23,"m":38,"t":[{"a":103,"f":1},53]},69],"v":[{"a":[{"r":[{"a":49}]}],"e":[{"g":15}],"s":24}],"y":[{"a":152,"n":69},162],"ø":[{"k":[{"t":46},84],"r":15,"v":[{"d":46},34],"y":69},173],"å":[{"s":15}]}],"s":[{"a":[{"b":195,"d":11,"f":88,"k":[{"u":0}],"u":274},153],"b":[{"i":16}],"e":[{"f":[{"i":14}],"g":88,"l":[{"e":[{"i":38}]}],"m":88,"n":[{"a":11},7],"s":[{"l":22,"m":22,"s":[{"k":5,"p":36,"t":5}]}],"u":0}],"f":[{"a":[{"t":[{"a":49}]}]}],"h":[{"i":[{"s":2},7]}],"i":[{"e":[{"n":[{"e":127}],"r":[{"e":22,"t":22}]}],"n":[{"g":259}]}],"k":[{"e":[{"i":[{"e":120},24]}],"i":[{"l":0}],"l":[{"a":[{"r":39}],"e":[{"n":22}]}],"o":[{"p":17},153],"r":[{"i":90}],"v":59}],"l":[{"e":12,"o":[{"d":612},176],"u":15,"ø":15},7],"m":[{"a":35,"e":15,"o":12}],"n":88,"o":[{"v":[{"e":2}]},90],"p":[{"a":[{".":4}],"e":[{".":4}],"i":[{"l":1}],"o":[{"r":1}]}],"s":[{"e":[{"k":1,"m":12,"n":[{"s":15}],"r":[{"i":[{"e":231}]}],"v":17}],"i":[{"s":[{"t":[{"e":14}]}]}],"k":[{"i":4,"j":24,"o":26}],"l":39,"p":[{"a":4}],"t":[{"r":[{"o":61}],"y":2}],"v":6}],"t":[{"a":[{"d":[{"r":22}],"l":[{"e":17},15]}],"e":[{".":93,"g":[{"g":22},1],"k":1,"l":31,"o":15}],"i":[{".":0,"a":93,"e":0,"n":0,"s":15}],"o":[{"n":[{"s":4}]},54],"r":[{"a":[{"d":4,"n":22}],"e":24,"o":90,"u":[{"p":22}],"å":61}],"ø":38}],"v":69,"ø":[{"y":15}],"å":[{"r":2}]},173],"t":[{"a":[{"d":38,"l":[{"a":53,"d":15,"e":[{"v":16}],"o":[{"v":23}]}],"n":[{"e":155}],"r":[{".":155,"g":12,"m":340}],"s":38},153],"e":[{"d":61,"i":[{"n":[{"t":22}]},4],"k":[{"i":17,"l":[{"a":[{"g":[{"a":242}]},127],"e":23}]}],"l":[{"e":[{"m":15,"v":22}],"l":[{"a":[{"n":36}],"e":[{"k":36}],"i":5,"ø":46}]}],"n":[{"a":0,"d":[{"e":[{".":46},169]}],"s":[{"p":271}]}],"o":88,"r":[{"a":[{"m":0}],"e":[{"t":0,"v":11}],"o":0,"s":17,"u":112,"å":0}],"s":[{"t":[{"e":[{"r":36}],"é":22}]}],"t":[{"a":17,"o":17,"s":469}]}],"f":[{"ø":5}],"i":[{"e":[{"r":[{"t":61}]}],"k":[{"a":203,"o":40},28]}],"j":[{"a":11,"e":[{"r":15}]},153],"n":[{"e":[{"r":[{"o":4}]}],"o":[{"t":[{"e":[{".":16}]}]}],"å":4}],"o":[{".":88,"a":[{".":38},196],"b":88,"e":[{"n":[{".":31}]}],"f":[{"f":12},11],"g":[{"a":11,"r":[{"a":[{"m":11}]}]}],"i":0,"l":88,"n":[{"e":22}],"r":[{"a":[{"l":23}],"d":17}],"t":88,"u":88},153],"r":[{"e":[{"d":2,"r":15,"v":15}],"i":96,"o":[{"m":97}],"ø":97},153],"s":[{"e":[{"l":22}],"h":[{"u":[{"s":[{"v":[{"æ":613}]}]}]},4],"k":[{"i":85}],"o":[{"p":[{"p":123},31]}],"p":[{"r":22}],"t":[{"a":[{"b":22}],"e":2}],"å":31}],"t":[{"a":[{"n":[{"k":4}],"s":15}],"e":[{"g":[{"n":15}],"n":[{"k":4}],"s":[{"e":15}]}],"i":[{"n":15}],"o":[{"a":15}],"s":[{"k":41,"p":[{"o":17}],"t":[{"i":5}]}],"u":[{"g":2}],"y":[{"p":1}]}],"u":[{"t":97},153],"y":[{"e":32,"t":69},153],"ø":153,"å":2},173],"u":[{"b":32,"l":[{"l":22}],"n":[{"g":[{"e":[{".":31}]}]}],"r":[{"i":2,"o":15},1],"s":[{"a":35}],"t":[{"a":32}],"v":[{"e":5}]}],"v":[{"a":[{"e":38,"k":153,"n":[{"f":[{"ø":242}],"o":49,"v":12}],"r":[{".":152,"b":11,"e":39,"t":15,"v":2}]}],"e":[{"d":18,"i":153,"l":[{"a":23},153],"n":[{"d":[{"e":38},0],"y":[{"a":31}]},162],"r":[{"a":[{".":61,"s":39},18],"d":[{"r":11}],"e":[{"s":86},120],"f":249,"g":164,"k":[{"s":38}],"r":166,"s":[{"i":[{"k":166}],"p":103}],"v":49},28],"t":153}],"h":168,"i":[{"s":[{"o":203}]},188],"j":173,"n":[{"a":168,"e":[{"s":1}],"i":173}],"o":[{".":38,"m":152,"r":69,"t":38,"v":8},162],"s":[{"a":[{"l":15}],"e":[{"k":1,"n":1}],"k":[{"e":35}],"l":[{"e":1}],"p":54,"t":[{"e":22,"i":1}],"u":[{"n":2}],"y":[{"k":17}]}],"t":[{"a":[{"l":[{"e":[{".":36}]}]}]}],"v":[{"e":[{"g":[{"i":58}]}]}]}],"w":[{"a":[{"s":152,"t":183},32],"h":15},69],"x":12,"y":[{"a":[{"r":35}],"s":[{"l":22}],"t":150}],"z":[{"a":153,"y":90}],"ø":153,"å":153}],"ô":[{"r":[{"a":11,"e":[{"i":15},88],"i":153}],"t":0}],"ó":[{"s":[{"a":155}],"t":152,"v":93}],"ò":[{"r":[{"e":155}]}],"p":[{"a":[{"a":162,"c":[{"e":[{"n":6}]},173],"d":[{".":38,"e":[{"b":12}],"g":0,"s":5}],"j":173,"k":[{".":168,"a":168,"e":162,"k":[{"a":[{"s":23}],"e":[{"s":[{"l":16},103]}]}],"t":[{"i":162}],"v":12}],"l":[{"a":567,"e":[{"o":614},12],"i":[{"m":2,"n":22}],"j":54,"l":[{"ø":22}],"m":166,"ø":162}],"m":[{"e":15},173],"n":[{"a":[{"l":90,"p":1}],"d":[{"e":39}],"e":15,"g":[{"s":80}],"k":[{"a":24}],"n":[{"e":[{".":301}]}],"s":[{"e":22,"l":22}],"t":[{"r":46}],"v":162,"y":1}],"p":[{"a":[{".":6},173],"e":12,"o":162,"p":[{"r":23}],"r":[{"i":24},162]}],"r":[{"a":[{".":1,"d":166}],"b":173,"e":[{"k":162,"n":[{"a":162}],"s":[{"s":22}]}],"g":22,"i":[{".":1,"s":12},173],"k":[{"i":162,"l":127,"v":23}],"m":146,"o":69,"r":[{"a":[{".":32}]},162],"s":615,"t":[{"i":[{"d":31,"g":23,"n":23}]}],"u":22,"v":[{"i":120},61],"ø":168,"å":162}],"s":[{"a":17,"e":[{"r":116},35],"p":162,"s":[{"a":[{"b":22}]},164],"t":[{"a":[{"r":23}],"i":22},85],"v":39},11],"t":[{"e":12,"i":[{"s":[{"t":1}]}],"r":[{"e":4}],"t":[{"a":[{"k":31},93]}],"u":173,"v":451},69],"u":[{"k":61}],"v":[{"e":[{".":1}],"i":567},173]},172],"b":[{"a":[{"n":[{"e":[{".":23}]}]}],"o":[{"d":[{"a":31}]}]},566],"c":[{"e":31}],"d":[{"e":[{"l":[{"e":[{".":23}]}]}],"ø":[{"d":39},28]},272],"e":[{"a":[{"k":18,"r":[{"e":85}]},173],"b":162,"c":24,"d":[{"a":[{"s":166},40],"d":162,"e":12,"f":[{"ø":33}],"i":[{"e":260}],"o":[{"a":4,"n":4}],"r":[{"o":1},162],"u":162,"y":526,"ø":173,"å":2}],"e":[{"r":12},31],"f":[{"t":38},173],"g":[{"g":[{"e":[{".":32}]},38],"o":5},173],"h":173,"i":[{"l":[{"e":[{"g":23}]},1],"n":189,"s":[{"m":4}]}],"j":173,"k":[{"a":[{".":6}],"l":23,"t":[{"r":[{"o":[{"s":16},23]}]}],"u":167},173],"l":[{"a":[{"k":[{"s":9}],"l":166,"r":15},162],"d":39,"e":[{"d":162,"f":1,"i":162,"p":4,"r":162,"v":4}],"i":[{"v":168}],"j":168,"l":[{"o":23}],"o":[{"v":162}],"s":[{"e":19,"i":42,"t":61}],"u":[{"n":15},162],"y":173,"ø":173,"å":168},11],"m":[{"b":153},173],"n":[{"a":[{"n":1,"r":85}],"d":[{"e":[{"n":[{".":274}]},24]}],"e":[{"r":162,"t":12}],"g":[{"e":[{"l":23}],"l":61},616],"i":[{"n":5,"v":162}],"l":[{"y":103}],"s":[{"a":[{"k":58,"l":[{"a":91}]},62],"k":22,"l":53,"m":75,"o":19,"t":[{"a":39,"e":61},5]}],"t":[{"a":[{"g":61}],"r":22}],"y":168,"å":173}],"o":[{"s":40},173],"p":[{"a":[{"r":[{".":22}]}],"p":61},173],"r":[{"a":[{"a":18,"b":303,"d":162,"i":1,"l":1,"p":162,"t":[{"e":162},17]}],"c":334,"e":[{"d":162,"i":162,"k":162,"s":[{"p":162,"t":162,"u":162}],"t":162,"v":1}],"i":[{"e":[{"n":[{"s":91}]}],"k":236,"s":124,"t":162},164],"k":62,"l":[{"e":[{"s":31}]}],"m":[{"u":22}],"n":22,"o":[{"s":[{"e":[{".":36}]},12]},162],"r":[{"e":[{"g":[{"j":31}],"i":31}],"o":166}],"s":[{"m":36}],"t":[{"r":[{"o":23,"å":53}]}],"v":[{"i":[{"k":120}]}],"y":173,"ø":168,"å":268}],"s":[{".":164,"e":[{".":4},12],"i":2,"k":[{"a":[{".":32}],"e":[{".":23},90]}],"l":168,"n":23,"s":166,"t":[{".":164,"e":[{".":166}],"i":[{"l":22}]}]},189],"t":[{"a":[{"b":162,"k":[{"a":36}],"l":162,"s":162,"u":162}],"e":[{".":166,"d":162,"i":168,"k":168,"l":162,"m":162},12],"i":[{"d":162,"l":162,"m":1},12],"j":173,"o":173,"r":[{"u":26},307],"s":617,"t":162,"u":173,"ø":162,"å":162},94],"u":7,"v":[{"a":[{"n":[{"e":[{".":46}]}]}],"i":15,"n":[{"e":[{".":31}]},38]},173],"ø":162,"å":162},172],"é":[{"r":164}],"f":[{"e":[{"n":[{"n":249}]}],"o":90,"r":[{"i":5},38],"ø":[{"r":[{"e":22}]}]},188],"g":[{"j":[{"e":[{"r":103}]}]},174],"h":[{"a":[{"v":[{"a":39,"s":14},183]}],"e":[{"r":178,"t":[{"e":39}],"v":[{"a":61,"e":22}]}],"i":[{"l":[{"i":22}]}]},188],"i":[{"a":[{"n":[{"e":618}],"r":191,"s":[{"e":191},1],"v":162}],"b":162,"c":[{"a":[{".":4}]}],"d":[{"s":82},173],"e":[{"n":[{"d":168},28],"r":[{".":12,"s":35}]}],"f":[{"r":35},173],"g":[{"g":[{"e":22,"u":481}],"j":252}],"h":173,"i":168,"k":[{"e":[{"h":1,"l":4,"r":[{"o":80}]}],"é":1,"k":[{"o":24},167],"l":162,"u":17}],"l":[{"a":[{".":4},15],"e":[{"p":12}],"l":[{"a":[{"g":23}],"b":[{"a":123}],"e":[{"d":31,"g":[{"a":409},23],"r":[{"a":120}],"s":619}]}],"o":69}],"m":173,"n":[{"a":[{".":1}],"e":[{".":1,"d":35,"l":1,"v":5}],"g":[{"o":31,"r":18,"s":[{"k":17}]},164],"n":[{"s":168}],"s":[{"l":23}],"ø":7}],"o":[{"n":[{"a":[{"n":47}],"s":17}]}],"p":[{"i":1,"l":[{"a":39}]},620],"r":[{"a":[{"r":1}],"e":[{"s":1}],"u":[{"t":1}]}],"s":[{"i":[{"e":49}],"k":[{"i":1}],"o":173,"s":[{"l":5,"p":23,"t":23}],"t":[{"r":[{"a":[{".":143}]},53]},54]}],"t":[{"a":[{"l":[{"a":[{".":16}]}]},35],"é":15,"i":173,"j":162,"r":162,"t":22},172],"u":173,"v":286,"ø":162}],"p":[{"i":[{"p":93,"d":69,"l":259,"m":15,"n":[{"f":12,"n":169}],"r":[{"r":[{"e":[{".":46}]}]},2],"s":[{"t":0}]},153],"a":[{"d":88,"k":[{"t":12},88],"l":368,"n":[{"e":155,"g":[{"r":15}],"k":15,"l":193}],"p":88,"r":[{".":155,"r":15}],"s":[{"t":152}],"t":377}],"e":[{"e":0,"i":626,"l":[{"s":80}],"n":[{"a":0,"d":[{"e":[{"r":340}],"r":0}],"e":[{"s":39}],"ø":0}],"p":112,"r":[{"a":22,"e":[{".":152}],"k":[{"l":0}]}],"s":[{"e":[{"n":40}],"n":35,"t":[{"i":46}]}],"t":[{"a":[{"s":9},0],"e":0,"t":15}],"u":88}],"h":32,"j":69,"k":12,"l":[{"a":[{"s":[{"t":15}]}],"e":[{"d":12,"i":15,"v":35}]},69],"n":15,"o":[{"f":69,"l":[{"d":12},399],"m":15,"p":259,"r":[{"k":12}],"v":69}],"p":15,"r":[{"e":[{"i":15}],"i":[{"n":15,"s":[{"s":2},1],"v":35}],"o":[{".":35,"p":[{"r":[{"i":409}]}],"t":2}]},69],"s":[{"e":[{"t":[{"e":[{".":36}]}]}],"k":[{"a":[{"k":33},12]}],"p":[{"e":35,"l":12},28],"t":[{"o":2},28]},69],"t":530,"u":[{"k":69,"t":15},88],"ø":[{"s":46},34],"å":11},173],"k":[{"a":[{"v":[{"a":32},22]}]},440],"l":[{".":167,"a":[{"d":[{"e":[{".":32}]},173],"k":0,"n":[{".":0,"d":[{"e":16}],"e":[{".":162}],"g":621,"s":17}],"p":18,"r":187,"s":[{"t":23},88],"t":[{"i":[{"n":[{"a":373}]}]},88]}],"e":[{".":173,"d":173,"g":[{"i":93}],"i":[{"s":162}],"k":88,"n":[{"u":622,"a":42}],"r":[{"u":47}],"s":[{"e":[{".":32}]}],"v":162}],"i":[{"t":162,"v":[{"a":61},90]},88],"o":[{"g":[{"j":23}],"i":453,"k":153,"v":248}],"u":[{"e":23,"k":0,"n":[{"d":[{"r":[{"i":202}]}]},18]}],"y":[{"d":112},153],"æ":[{"r":[{"e":22}]}],"ø":[{"p":[{"a":31}]}],"å":153},4],"m":361,"n":[{"e":[{"r":152,"s":[{"e":[{".":31}]}]}]},272],"o":[{"a":35,"d":[{"a":[{".":4}],"e":[{".":1}]},32],"e":[{"m":4}],"f":[{"r":21},173],"g":31,"h":162,"i":[{"d":15}],"k":[{"e":173}],"l":[{"a":[{"n":4}],"e":[{"k":1},12],"j":168,"l":[{"i":22}],"o":[{"m":4}],"s":[{"k":[{"a":623}]}],"u":7}],"m":[{"p":[{"u":481}],"s":22},173],"n":[{".":162,"d":22,"g":[{"r":23,"s":120}],"s":[{"a":22,"v":23},624]}],"p":[{"a":129,"e":[{".":4}],"n":38,"s":54}],"r":[{".":173,"a":69,"d":267,"e":[{"f":1,"g":4},182],"é":6,"g":188,"i":173,"k":173,"s":[{"v":127}],"t":[{"o":[{"r":23}],"r":[{"o":53,"å":23}]}],"v":173,"æ":69,"ø":69}],"s":[{"e":[{".":1,"s":1}],"j":162,"t":[{"a":[{"s":22,"t":15},1],"e":24},7],"v":280}],"t":[{".":166,"a":[{"k":33},191],"e":[{".":1,"k":[{"l":14}]},12],"h":[{"a":20}],"i":164,"r":162}],"u":162,"v":[{"e":[{"r":[{"n":120}]},36]},625],"w":23},172],"r":[{".":162,"a":[{"d":162,"k":[{"s":164}],"l":[{"i":61}],"n":[{"s":18},173],"t":[{".":166,"e":[{".":22},166]}],"y":162}],"e":[{"f":166,"i":[{"e":[{"r":[{".":16}]}],"i":162}],"l":[{"e":[{"m":15}]}],"m":172,"n":[{"s":5}],"s":[{".":168,"s":[{"a":[{"k":36}]}],"t":[{"a":[{"s":11}]}]},172],"t":[{"e":[{"n":627}],"t":162}]}],"i":[{"f":90,"k":[{"e":22}],"l":[{"e":41}],"n":[{"g":162,"o":166,"s":[{"e":629,"i":629},628]}],"s":[{"k":47,"t":18},172],"t":173,"v":[{"e":39}]}],"o":[{".":167,"c":306,"f":164,"g":[{".":162,"e":162,"l":162}],"i":181,"p":[{".":38}],"s":[{"e":191},164]},184],"u":[{"n":[{"g":[{"e":16}]}],"t":[{"a":22,"e":22}]},168],"ø":[{"r":[{"s":[{"t":14}]},168],"s":42,"v":[{"e":[{"l":[{"s":22}]}]},166],"y":173}],"å":[{"d":[{"a":32}],"k":[{"i":18,"o":23,"k":80}]},162]},4],"s":[{"a":[{".":153,"n":20}],"c":153,"e":[{".":90,"i":[{"g":[{"e":46}]}],"k":88,"l":[{"y":9},259],"n":[{".":90,"s":38}],"r":[{".":152}],"t":[{"e":38,"s":38}]}],"h":88,"i":[{"b":11,"n":[{"s":15}],"s":152}],"j":[{"o":89}],"k":[{"i":[{"l":193}],"j":[{"e":[{"n":2}]}],"o":[{".":252,"d":90,"e":229},259]}],"l":[{"e":88,"o":[{".":192}],"ø":[{"v":[{"a":46,"e":[{".":36}]}]}],"å":89}],"m":[{"å":[{"l":[{"a":[{".":46}]}]}]},88],"n":[{"o":1},88],"o":[{"d":90},69],"p":[{"i":[{"l":[{"a":49}]}],"l":[{"e":15}],"r":[{"e":89,"o":169}],"u":15}],"s":67,"t":[{"a":[{"l":2}],"e":[{"m":169}],"v":12,"å":149},28],"u":[{"r":23,"s":89}],"v":[{"a":88,"e":88,"i":[{"n":[{"g":1}]}],"æ":0},69],"w":15,"y":[{"k":[{"e":24,"o":164}],"s":162}],"ø":[{"k":[{"e":[{".":23}]},151],"y":[{"e":[{"n":[{"e":49}]}]},46]},259],"å":69},173],"t":[{"a":[{"l":[{"a":[{".":32}],"e":[{".":23}]}],"r":[{"k":2}]}],"e":[{"k":31,"m":[{"a":[{".":23}]}],"r":[{"e":61}]},90],"i":38,"o":[{"g":61,"u":0}],"u":[{"s":[{"t":17}],"t":0}]},188],"u":[{"b":[{"r":1}],"c":166,"d":[{"y":356}],"g":[{"l":38}],"k":7,"l":[{"a":2,"e":[{".":6}],"l":36}],"m":[{"a":[{".":1}]},166],"n":[{"k":[{"t":[{"e":80},271]}],"n":173}],"r":[{"e":[{".":1,"a":6}],"i":164,"k":164,"u":22,"v":24},173],"s":[{"a":2,"h":23,"l":[{"u":16}]}],"t":[{"a":[{".":1,"s":15},69],"e":[{"r":15,"v":15}],"g":162,"s":173,"t":[{"r":31,"u":23}],"v":173,"ø":168}]},172],"v":[{"e":[{"r":16}],"i":[{"s":[{"e":[{".":23}]}]}]},188],"y":[{"d":[{"r":1}],"o":6,"r":[{"a":164,"e":69,"o":69}],"s":[{"a":[{".":4}],"e":[{".":1}],"t":31},168]}],"z":248,"æ":[{"r":[{"e":[{".":1}]}]},172],"ø":[{"k":[{"j":69}],"r":[{"r":[{"e":[{"t":23}]}]}],"s":[{"a":[{".":6}]}],"t":[{"a":35,"e":35}],"v":630}],"å":[{"b":[{"y":[{".":1}]},166],"k":8,"l":[{"a":[{".":1}],"e":[{".":1}]},172],"n":38,"p":[{"e":12,"l":69,"n":153}],"r":69,"s":[{"k":[{"o":2}],"m":15},172],"t":[{"å":631},67],"v":172}]}],"q":[{"a":15,"u":[{"a":[{"r":[{".":35}]}],"e":[{"r":61},172]},7]}],"r":[{"a":[{"a":[{"m":162,"r":162}],"b":[{"i":[{"s":162}],"o":71,"r":162,"y":173}],"c":[{"e":[{"t":12}],"h":12,"i":166}],"d":[{"a":67,"f":162,"i":[{"o":632,"r":162}],"j":162,"m":173,"r":[{"e":90},189],"s":255,"v":[{"i":103}]}],"e":[{"d":[{"e":15}],"l":5,"r":[{"k":162}]}],"f":[{"f":[{"e":[{"r":23}]}],"i":[{"u":1}],"j":7,"o":[{".":15,"s":1},173],"r":[{"e":15},173],"t":168,"u":1,"y":4}],"g":[{"e":[{"a":2,"e":15}],"l":173}],"h":406,"i":[{"d":191,"n":[{"t":15}],"s":[{"k":12}]}],"k":[{"a":[{"d":274,"r":35}],"e":[{"l":2}],"h":[{"a":20}],"k":[{"e":[{"l":23}]},88],"r":[{"o":15},11],"s":[{"a":31,"e":[{".":31},65],"t":120},173],"t":[{"i":162,"r":18}],"u":169,"v":162}],"l":[{"a":[{"n":[{"s":22}]}],"b":[{"u":[{"m":168}]}],"d":[{"s":166}],"e":[{"d":162,"o":15}],"g":[{"e":248,"o":248},24],"i":[{"e":[{"n":80}],"n":1}],"j":54,"l":[{"e":22}],"m":61,"o":[{"i":36,"p":24}],"y":15,"ø":162,"å":633}],"m":[{"a":[{"g":1,"s":1}],"b":[{"i":634,"u":[{"e":[{"n":[{"s":33}]}]}]},24],"e":[{"d":168,"r":303,"t":[{".":32}]}],"i":[{"l":162}],"o":54,"p":[{"e":[{"r":[{"i":159}]}],"u":144}],"s":[{"e":[{"t":[{"e":[{".":91}]}]}]}],"t":[{"a":[{"l":[{"a":[{".":91}],"e":[{".":120}]}]}]}],"u":162,"y":168}],"n":[{".":0,"a":[{"a":1,"l":434,"r":15}],"c":[{"s":39}],"d":[{"e":[{".":635,"l":38}],"r":18,"s":[{"a":80}]}],"e":0,"f":[{"a":162}],"g":[{"e":22,"i":168,"s":[{"t":17}]}],"i":[{"a":91,"n":4}],"k":[{"v":24}],"l":[{"i":11},267],"m":188,"n":[{"e":[{"t":[{"t":47}]}],"i":[{"n":53}],"s":124},0],"s":[{"k":[{"a":[{"r":16}]}],"v":162}],"t":[{"i":[{"k":23}]}],"u":[{"t":31},15],"ø":162}],"o":173,"p":[{"a":162,"e":[{"l":1}],"i":[{"n":162,"r":1,"s":1,"t":4}],"l":69,"o":[{"s":1},162],"p":[{"a":162,"l":248,"o":164}],"r":189,"s":162,"u":162}],"r":[{".":253,"b":[{"e":[{"h":191}]},173],"e":[{"a":162,"g":162,"l":19,"p":265,"t":[{"a":61}]}],"g":[{"u":168},153],"i":[{"n":[{"n":[{"a":167,"e":168}]}]}],"k":[{"a":[{".":32}]}],"m":[{"a":[{".":32}]},187],"n":168,"r":[{"e":24},162],"s":22,"t":[{"a":[{".":31}]},636],"ø":12}],"s":[{"a":162,"c":173,"e":[{"a":12,"l":162}],"h":24,"k":[{"a":[{"r":[{"a":91}]}],"e":24,"i":1,"o":40}],"l":4,"s":[{"l":5,"t":61}],"t":[{"i":[{"l":9},162],"j":162,"r":[{"e":17}],"y":168}],"v":61}],"t":[{"a":[{"k":33},69],"e":[{".":1,"g":269,"l":[{"i":637}]},11],"f":[{"e":162}],"o":69,"r":[{"o":26,"ø":[{"y":20},1]},182],"t":[{"e":[{"l":22,"s":103}]}],"u":[{"b":162,"t":22}],"y":168}],"u":[{"d":[{"s":18},191],"g":[{"a":31,"e":[{".":31}]},168],"k":280,"s":[{"s":36}]}],"v":[{"d":168,"e":[{"s":78}],"g":162,"i":[{"s":89},69],"l":[{"u":[{"t":148}],"ø":[{"p":[{"a":91}],"s":91}]},162],"r":31,"t":162,"y":15,"ø":[{"r":12}]},173],"w":162,"z":[{"z":19}],"ø":[{"y":5},173]}],"b":[{"a":[{"d":24}],"e":[{"d":[{"e":[{"n":17,"t":17},103],"r":[{"a":49}]},28]}],"i":[{"e":[{"r":39},46],"g":88,"k":88,"s":[{"t":[{"r":17},120]}]}],"o":[{"d":[{"i":[{".":32}]}],"n":[{"i":23,"s":16}],"r":[{"e":22}]}],"r":[{"a":[{"s":17}],"e":[{"i":120}]}],"u":[{"e":[{"n":22}]}],"ø":38},638],"c":153,"d":[{"a":[{"b":0,"g":[{"s":271},38],"h":38,"k":169,"l":[{"a":0,"e":[{".":23}],"s":14},5],"m":[{"e":[{"s":23}]}],"n":[{"o":148,"t":[{"a":15},0]}],"r":[{"m":193,"t":193}],"t":[{"l":15,"m":0}],"u":193}],"d":67,"e":[{"d":[{"i":11}],"e":[{"n":23}],"f":[{"i":90}],"g":[{"e":9}],"i":69,"k":[{"a":155,"l":0,"s":0}],"l":[{"o":11}],"m":[{"i":11}],"n":[{"a":152,"g":96,"h":96,"s":[{"e":190},43],"t":[{"a":[{"l":[{"e":[{".":242}]}]}]}]}],"o":0,"p":[{"o":11}],"r":[{"i":[{"k":0}],"s":[{"t":169}]}],"s":[{"m":31}],"t":[{"a":34,"t":96}]}],"é":93,"f":[{"e":[{"s":14}]}],"i":[{"a":[{"n":[{"a":0,"s":0},24],"u":11}],"d":0,"e":82,"f":88,"g":[{"r":[{"e":[{"s":31}]}],"s":124}],"k":[{"a":0,"l":0,"u":0}],"l":88,"m":[{"i":11}],"o":[{"v":24},88],"s":[{"h":0}],"t":88,"u":88}],"j":[{"e":15,"u":153}],"m":206,"n":[{"æ":5},12],"o":[{"b":155,"d":198,"l":0,"n":[{"n":[{"a":[{".":46}]}]}],"p":69,"r":11,"s":[{"t":12}],"v":[{"e":[{"r":139}]},182]}],"r":[{"a":[{"d":155,"k":90,"n":15,"r":[{"a":2}],"s":12}],"e":[{"i":90,"t":12,"v":[{".":38}]}],"i":69,"o":[{"t":12}]}],"s":[{"e":[{"i":12}],"k":[{"e":6,"v":23}],"t":[{"a":[{"n":22}],"o":[{"g":14},12],"r":[{"e":61}],"u":61}],"v":[{"a":[{"r":33}]}]}],"t":[{"a":[{"k":[{"a":46}]}],"r":15,"ø":2},15],"u":[{"n":[{"d":12}]}],"v":[{"e":15,"i":[{"k":[{"a":[{".":46}]}]}]}],"y":[{"g":0,"p":[{"e":22}],"r":[{"e":24}],"t":96}],"æ":[{"r":[{"e":639},252]},97],"ø":[{"s":213,"v":[{"e":[{".":23}]}]}],"å":[{"r":12,"s":40}]},162],"e":[{".":172,"a":[{"n":173,"r":[{"a":[{"n":640}],"e":17}],"v":162}],"b":173,"d":[{"a":[{"k":164,"m":168}],"e":[{"f":12,"n":15,"s":12}],"i":[{"g":164},12],"l":153,"o":173,"r":[{"i":26},173],"s":[{"k":[{"u":22}],"l":[{"a":17,"e":[{"d":77}]},23]}],"u":[{"k":164}],"y":168,"ø":173}],"e":[{"l":[{".":1}],"r":12},173],"f":[{"a":167,"f":162,"i":162,"j":173,"o":[{"s":168}],"r":168,"t":162,"ø":173}],"g":[{"a":[{"r":162,"t":[{"a":16}]}],"e":[{"b":162,"l":15,"n":162,"r":162},12],"g":162,"i":[{"a":1,"l":1},172],"l":54,"r":173,"u":[{"b":162,"d":162}],"å":173}],"h":173,"i":[{"d":173,"e":173,"g":[{"a":[{".":32}],"e":[{".":32}]},188],"k":162,"l":39,"n":[{"a":[{".":22,"s":61}],"d":[{"e":15}],"e":[{".":22,"s":61}],"s":[{"k":[{"j":36}]}],"v":[{"a":1}]}],"r":[{"a":39}],"s":[{"a":22,"i":24,"k":[{"a":61}],"l":[{"e":[{"d":36}]}],"m":2}],"v":[{"a":134,"e":22}]}],"j":173,"k":[{".":168,"a":[{".":15,"v":15}],"e":[{"n":2}],"j":162,"k":[{"a":[{"n":36}],"v":53}],"l":[{"a":[{"m":166}],"e":[{"d":23}],"i":[{"r":20}]}],"o":[{"b":162,"m":162,"n":162,"s":168},2],"r":[{"a":162,"u":164}],"s":[{"a":90,"p":168}],"t":[{"e":[{"r":23}]}],"u":162}],"l":[{".":93,"a":[{"g":162,"n":[{"d":[{"s":[{"k":[{".":301,"e":301}]}]}]}]},35],"e":[{"g":[{"e":[{".":46}]}],"i":169,"k":168,"n":[{"e":191},2]},641],"g":168,"i":[{"t":90}],"j":265,"l":[{"a":[{"g":23,"n":[{"d":31}]}],"e":[{"d":22,"v":23}]},88],"m":337,"s":[{"e":[{"s":22}],"k":23}],"u":281,"v":162,"y":286,"æ":173,"ø":173,"å":[{"r":16},642]}],"m":[{"a":[{"n":[{"n":123}]}],"b":153,"i":[{"e":[{"n":[{"e":36}]}],"l":36,"s":2}],"j":[{"i":39}],"m":[{"e":[{"d":139}]}],"n":[{"a":32},168],"p":42,"s":54,"t":[{"i":[{"d":[{"a":33}]}]}],"u":162,"y":167,"å":162},173],"n":[{"a":285,"d":[{"e":[{"l":23}],"r":162}],"e":[{"d":167,"g":15,"i":2,"k":162,"l":89,"s":[{"t":162}],"t":168}],"g":[{"d":168,"l":17,"n":162,"s":[{"t":17}]}],"i":15,"k":[{"l":31},173],"l":90,"n":[{"e":[{"s":[{"l":[{"a":186},48]}]}]}],"o":15,"s":[{"a":22,"s":90}],"t":[{"i":[{"t":306}],"r":643,"u":168}],"u":162,"z":166,"æ":168,"ø":162}],"o":[{"g":15,"p":173,"r":67,"u":166}],"p":[{"e":[{"n":167}],"i":324,"u":[{"s":168},172]}],"r":[{"a":[{"d":168,"n":[{"g":644}],"t":279}],"e":[{".":15,"d":162,"f":162,"g":162,"i":162,"k":1,"n":[{"t":162}],"p":162,"s":[{"e":162,"u":162}],"t":162}],"f":[{"a":168}],"i":[{"g":162,"k":162}],"n":[{"æ":181}],"o":[{"l":162,"m":162,"s":[{"e":[{".":36}]},12],"t":15}],"s":[{"p":5},164],"u":[{"t":[{"e":162}]}],"ø":[{"y":21}],"å":173},172],"s":[{".":172,"a":173,"c":107,"e":[{"l":162,"m":1,"t":162},12],"i":[{"e":[{"r":[{"e":16}]}],"n":162}],"j":173,"k":[{"e":22,"j":[{"e":[{".":21}]}],"l":31,"o":[{"d":61}],"y":4},173],"l":[{"u":1},645],"m":[{"o":15},172],"o":[{"v":12}],"p":[{"e":35,"i":162,"r":162}],"s":[{"a":[{"l":23}],"e":[{"k":23}],"i":[{"t":23}],"j":23,"k":31,"o":[{"r":[{"t":31}]}],"p":23,"t":23,"y":23},173],"t":[{"a":[{"n":[{"e":39}],"u":166}],"e":[{"r":[{"v":47}],"s":23}],"é":24,"i":[{"l":23},265],"r":[{"e":162},12],"v":191,"y":236,"å":162}],"u":[{"k":168,"n":162},172],"v":[{"e":34,"i":12}],"y":173,"ø":173}],"t":[{"a":[{"k":[{"i":162}],"l":162,"p":1}],"e":[{"a":162,"k":[{".":167,"e":168,"n":162}],"l":168,"m":269,"n":15}],"i":236,"j":162,"o":[{"a":162}],"r":646,"s":[{"i":5,"t":23}],"t":[{"e":[{"d":61,"r":22}],"o":46,"s":[{"e":[{"t":36}]}]}],"u":236,"y":173,"ø":[{"y":[{"a":[{".":166}],"e":[{"t":[{"s":191}]}]}]},173],"å":268}],"u":[{"r":31},173],"v":[{"a":[{"k":162,"n":15,"r":[{"e":[{".":17}]}]}],"e":[{"g":168,"i":162,"l":162,"n":[{"h":21}],"r":15,"s":17}],"i":[{"g":89,"n":[{"n":26}]}],"o":[{"m":2}],"y":172,"å":[{"p":26}]}],"w":164,"å":173}],"f":[{"a":[{"r":[{"e":22}],"t":17}],"e":[{"e":[{"n":[{".":32}],"r":32,"t":[{".":23}]}],"i":[{"l":[{"i":17}]}],"m":[{"ø":19}]}],"i":[{"k":0}],"l":[{"å":18}],"t":28,"u":[{"s":[{"e":32}]}],"y":[{"r":5}],"æ":155,"ø":[{"r":[{"a":[{"r":[{"a":[{"r":32}]}]}]}]}]},188],"g":[{"a":[{".":38,"l":[{"e":[{".":32}],"i":32}],"n":[{"d":15,"n":152,"v":169}],"r":[{"i":24,"t":12}],"v":[{"e":[{".":23}]}]}],"e":[{"d":[{"i":11}],"f":0,"m":88,"n":[{"t":103}],"o":90,"r":[{"e":[{"i":0,"t":0}],"u":196}],"s":[{"j":0,"l":0,"t":[{"a":0}]}]}],"i":[{"a":54,"e":[{"n":5}],"k":88,"l":88,"m":88,"o":88,"r":[{"i":34},88],"s":[{"l":61}],"ø":88}],"l":[{"e":[{".":15,"m":14,"n":12,"r":12},7]}],"n":88,"o":[{"g":0,"m":90,"t":88}],"r":[{"a":[{"b":15}],"e":[{"a":12,"l":12,"p":[{"s":15}]}],"i":97,"u":90}],"s":[{"c":15,"k":[{"o":[{"r":31}]}],"l":[{"e":9}],"n":69,"t":[{"i":[{"l":[{"l":20}]}],"o":15,"u":35}],"y":7}],"u":[{"d":61,"t":4}],"å":[{"a":[{"s":39}],"v":[{"a":31,"e":[{".":31}]}]}]},188],"h":[{"a":[{"v":[{"s":203},183]}],"j":[{"u":[{"l":[{"s":91}]}]}],"o":[{"d":24}],"u":152,"ø":[{"r":[{"e":22}]}],"å":[{"n":[{"d":[{"s":647}],"e":39}]}]},188],"i":[{"a":[{"n":[{"f":162,"l":162,"s":[{"v":168}]},69],"r":[{"b":162,"r":162},69],"u":168,"v":[{"a":1,"o":648},173]}],"b":[{"l":107},173],"c":[{"a":[{".":6}],"o":[{".":1}]}],"d":[{"a":[{"l":[{"e":162}]},15],"e":[{"r":15}],"i":15,"r":188,"t":24}],"e":[{"i":[{"e":162,"g":162}],"k":[{"s":162}],"l":[{"d":168,"e":[{"m":162}],"i":[{"m":168}],"l":[{"a":5}]},69],"n":[{"d":12,"h":162,"t":[{"r":78},162]},23],"r":[{"a":22,"i":22},69],"t":[{"a":[{"t":162}]}],"v":[{"e":[{"n":15}]}]}],"f":[{"a":173,"e":[{"r":[{"i":[{"e":137}]}]}],"f":[{"i":23}],"i":[{"s":[{"e":[{"r":[{"b":[{"a":649}]}]}]}]}],"j":168,"l":[{"a":22},172],"o":173,"u":173,"ø":650}],"g":[{"a":[{".":1}],"g":[{"r":23}],"i":12,"j":162,"r":[{"e":162}],"s":[{"t":127},28]}],"h":173,"i":173,"j":[{".":166},173],"k":[{"a":[{"l":[{"i":1}],"n":15}],"d":166,"e":[{"s":12}],"i":2,"k":[{"e":[{"n":61}],"j":17}],"l":[{"a":219},162],"o":[{"n":168},278],"r":419,"s":[{"k":23,"u":53}],"t":[{"s":203},36],"u":[{"m":36}],"v":34,"å":162}],"l":[{"a":173,"d":[{"e":274}],"e":[{"d":168,"i":15}],"l":[{"e":[{"s":[{"t":31}]}]}],"o":286,"s":[{"n":23}],"ø":173}],"m":[{"a":[{"b":35,"r":35},162],"e":[{"s":168,"t":15}],"i":[{".":1,"s":191},173],"l":61,"m":162,"o":[{"r":1},162],"p":187,"u":[{"t":39},162],"y":162}],"n":[{"a":[{"l":17,"m":20,"s":162}],"c":248,"d":[{"u":90},162],"e":[{"e":1,"s":1}],"f":188,"g":[{"o":[{"m":61}],"r":18,"s":[{"a":[{"k":14},651],"p":[{"a":46}]}]}],"j":361,"k":173,"n":[{"e":[{"s":39}]},162],"o":[{"r":162}],"s":[{"k":36,"m":31},173],"t":[{"j":53,"r":23},173],"v":173,"ø":4}],"o":[{"f":189,"m":465,"p":189,"r":173,"s":42,"t":[{"r":18}]}],"p":[{"e":162,"o":[{"s":43}]},173],"r":281,"s":[{"a":[{"u":162}],"e":[{"d":162,"i":17,"k":168,"l":[{"i":1},162]}],"h":162,"i":[{"k":[{"o":166}]}],"j":[{"u":4},173],"k":[{"a":162,"i":1,"u":168,"y":162}],"t":[{"a":[{"d":168}],"e":[{"d":236}],"i":[{"k":22,"l":162}],"o":[{"f":22},1],"u":[{"n":15}],"ø":168,"å":4}],"v":162,"y":162,"ø":162}],"t":[{"e":[{"o":168},12],"i":[{"d":[{"a":49}],"l":162},2],"j":162,"o":20,"r":15,"s":617,"u":[{"n":4}],"y":162}],"u":[{"n":173,"r":23,"t":173}],"v":[{"a":[{"r":162}],"e":[{"d":4,"g":[{"e":49}],"i":15,"r":[{"k":162}]}],"i":[{"s":[{"e":22},372]},173],"o":168}],"ø":[{"k":162,"r":[{"a":41}],"y":[{"a":167}]}],"å":162}],"j":[{"a":[{"m":[{"b":[{"i":2}]}]}],"e":[{"r":[{"e":0}],"s":88,"t":[{"i":0,"r":0,"u":0}]}],"u":[{"l":[{"a":31}]}]},153],"k":[{"a":[{"k":[{"t":12}],"n":[{"f":11}],"o":0,"p":[{"r":0}],"t":[{"r":11}]}],"e":[{".":90,"h":88,"i":[{"k":[{"a":46},15]}],"k":11,"l":[{"o":0,"u":196}],"n":[{".":90,"a":[{"v":0}],"e":90,"i":0,"s":38}],"r":[{"i":[{"s":0},22],"o":0,"s":38,"u":196,"ø":0}],"s":[{"e":23,"l":[{"ø":[{"s":[{"e":170}]}]}]}],"t":[{".":155}]}],"h":[{"a":[{"n":1}]}],"i":[{"d":24,"e":24,"v":[{"i":23}]},90],"j":[{"e":[{"k":91}],"o":[{"r":15}]}],"k":8,"l":[{"e":[{"d":95}],"i":7,"u":[{"n":15,"t":35}],"æ":[{"r":[{"e":17}]}],"ø":7,"å":[{"r":[{"a":49}]}]}],"n":[{"e":[{"k":90,"p":38,"s":2}],"o":90}],"o":[{"b":[{"r":47},88],"f":[{"o":11}],"h":88,"l":[{"a":0,"i":0}],"p":[{"e":0}],"r":[{"a":0,"u":0}],"s":[{"e":[{"l":[{"e":31},0]}],"j":0}]}],"r":[{"a":[{"s":96}],"e":[{"i":15,"m":149}]}],"s":[{"a":[{"r":1}],"e":[{"g":478}],"i":129,"k":[{"a":1}],"t":[{"a":[{"l":4}],"e":[{"n":1}],"i":26,"j":1,"o":1},69],"v":[{"i":3}]},93],"t":[{"i":[{"s":5},15],"o":15}],"u":[{"l":[{"e":[{".":23}]}],"t":251}],"v":[{"e":[{"d":652,"i":15,"l":38,"r":0,"s":12}],"i":[{"k":15}]}],"ø":[{"l":169,"y":[{"s":35},375]}],"å":[{"k":[{"e":15},23],"p":[{"a":31}],"s":9}]},222],"l":[{"a":[{"t":[{"e":[{".":23}]}]}],"e":[{"a":23,"f":88,"p":90,"r":[{"i":198}],"s":[{"l":284,"t":23,"u":0}],"u":0}],"i":[{"k":[{"e":39}],"n":[{"g":[{"s":433}]}],"t":[{"a":32,"e":[{".":23}]}]},89],"j":90,"o":[{"g":183,"v":[{"e":22}]},4],"s":[{"k":1}],"u":[{"e":23}],"y":[{"s":[{"k":16}]},90],"z":97,"ø":[{"p":[{"a":[{".":32}]}],"y":653}]},188],"m":[{"a":[{"g":[{"e":[{".":31}]}],"k":[{"l":42}],"l":[{"t":[{"e":169}]}],"n":[{"l":12,"s":1,"v":11}],"r":[{"e":0,"r":0}],"v":15}],"b":12,"e":[{"g":586,"k":88,"l":[{"a":[{"p":31}]}],"n":[{"e":[{"t":0},22]}],"r":[{"e":[{"v":11}]}],"s":[{"e":0}],"t":[{"a":[{"r":39}]}],"y":0}],"i":[{"d":[{"e":169}],"e":[{"n":[{"e":31}]}],"n":[{"i":120,"s":[{"k":[{"i":17}],"t":97}]}],"v":9}],"j":[{"e":69}],"l":[{"ø":[{"p":[{"a":46}]}]}],"o":[{"e":23,"f":88,"p":69,"s":[{"t":61}]}],"p":2,"s":[{"k":[{"o":20}],"l":69,"n":31,"t":[{"i":[{"l":22}]},69],"u":69}],"t":[{"a":[{"l":[{"a":46}]}],"e":12}],"u":[{"a":[{"n":61}],"e":[{"n":[{"e":17}]},5],"l":[{"a":[{".":32}],"e":[{".":31}]}]}],"ø":[{"y":[{".":15}]}],"å":[{".":155,"l":5,"p":97,"r":155,"t":[{"a":96}]}]},188],"n":[{"a":[{"k":277,"l":[{"d":193}],"p":[{"p":[{"a":[{"r":97}]}]}],"r":[{"b":0,"t":193}],"t":[{"r":16,"v":0}],"v":[{"i":[{"s":654}],"l":12}]},90],"d":[{"ø":[{"r":14},5]},12],"e":[{".":90,"a":179,"b":[{"o":[{"e":38}]}],"c":88,"f":0,"l":[{"e":[{"g":[{"e":[{".":120}]}]}],"l":90,"s":90},88],"n":[{"g":193,"h":0}],"p":61,"r":[{"e":[{"i":0}],"i":[{"s":11}],"o":24}],"s":[{".":38,"e":[{".":31}],"i":93,"k":196,"m":0,"o":24},180],"t":[{"a":[{"b":9}],"e":0}],"v":[{"r":22},88]}],"é":[{"s":88}],"g":20,"i":[{"n":[{"n":0}]}],"k":9,"n":12,"o":[{".":38,"a":0,"b":22,"d":0,"i":0,"k":11,"m":[{"n":15,"s":12},88],"p":277,"r":[{"k":12}],"s":88,"v":225}],"s":[{"e":2,"i":[{"n":85}],"k":[{"e":15,"r":12}],"l":[{"a":15,"e":[{"g":[{"e":58}]}]}],"m":[{"i":40}],"o":[{"v":[{"n":13}]}],"p":[{"o":[{"n":15}],"r":34}],"t":[{"i":1},69]}],"t":[{"e":12,"i":15,"r":[{"e":103},2],"v":23}],"u":[{"g":15,"t":367},23],"ø":[{"t":152,"v":169}],"å":[{"l":[{"e":[{".":32}]}],"s":12}]},162],"o":[{"a":[{"k":69,"s":[{"i":15},23]}],"b":[{"a":[{"n":301,"r":301}],"e":[{"d":1,"f":1,"n":166,"s":1},172],"ø":[{"l":[{"g":[{"j":166}]}]}]}],"c":172,"d":[{"d":[{"s":90}],"o":191}],"e":[{"n":[{"d":15,"s":2}]}],"f":[{"a":2,"e":[{"l":1,"m":1}],"f":[{"r":[{"i":17}]}]}],"g":[{"a":[{".":2,"t":[{"a":49}]}],"e":[{".":2}],"r":[{"e":[{"t":22}],"y":4}],"s":177,"u":7}],"i":172,"k":[{"e":[{"l":1}],"i":15,"k":[{"a":[{"t":31}],"e":[{"r":[{"i":31}]}],"l":22,"o":[{"m":23}]}],"l":40,"n":22,"s":[{"e":[{".":32}]},61],"v":22}],"l":[{"i":[{"g":[{"a":16}]}],"j":162,"l":[{"a":[{"b":23,"p":23}],"e":[{"g":[{"e":[{".":91}]},23],"s":[{"e":[{".":91}]}]}],"i":[{"s":23}],"y":31}],"o":[{"v":49}],"y":173}],"m":[{"a":[{"k":4,"l":1,"n":655,"t":[{"e":1}]}],"b":656,"e":[{"d":17},265],"k":162,"n":181,"o":[{"r":1}],"r":173,"s":[{"l":[{"a":22}],"y":152,"ø":203}],"t":24}],"n":[{"e":[{".":15}],"i":[{"m":2,"s":[{"m":168,"t":[{"a":168,"e":167,"i":168}]}]}],"n":[{"a":23},162],"o":[{"s":17}],"s":177,"t":[{"a":[{"l":[{"e":[{".":120}]}]}]}]}],"p":[{"a":[{"d":1}],"e":[{"t":166}],"i":[{"a":1}],"l":[{"a":[{".":6}]}],"p":173,"y":35}],"r":[{"a":24,"d":[{"a":[{".":31}]}],"e":12,"u":69}],"s":[{"a":[{"t":1}],"e":[{"l":15,"n":12}],"l":[{"a":24},162],"m":1,"o":[{"v":4}],"p":657,"s":[{"t":23,"y":23}],"t":[{"a":[{"s":61}],"i":12,"r":[{"ø":16},12]}]}],"t":[{"e":[{"k":[{"t":[{"e":22}]}],"s":[{"t":[{"e":[{"r":16}]}]},15]}],"i":[{"k":[{"a":16}]}],"o":[{"r":[{"d":22}]}],"u":15,"y":168}],"u":[{"n":[{"d":203},183],"t":15}],"v":[{"a":[{".":15,"r":[{"e":35}],"s":2}],"e":[{"k":15,"n":2,"r":[{"e":17}]}],"s":[{"m":22}],"v":[{"e":120}]}]}],"ò":[{"t":[{"e":[{".":4}]}]}],"p":[{"a":[{"r":[{"b":11}]},38],"e":[{"f":[{"o":38}],"n":[{"o":0,"ø":11}],"s":[{"k":38}],"t":38}],"j":4,"l":[{"a":[{"d":12}]},7],"n":265,"r":[{"ø":[{"v":[{"e":17}]}]}],"u":[{"n":[{"g":16}],"t":[{".":97}]},90],"ø":[{"y":97}],"å":[{"k":88}]},222],"r":[{"a":[{"a":93,"g":88,"r":[{"o":0},24]}],"d":12,"e":[{"b":[{"a":[{"r":[{"t":[{".":152}]}]}]},0],"f":88,"i":[{"n":[{"t":61}]}],"k":[{"l":0}],"l":[{"a":[{"t":38}]}],"o":0,"p":[{"l":0}],"r":[{"u":196}],"s":[{"k":22,"m":0,"o":0,"p":[{"e":0}],"s":90,"t":[{"a":17,"i":61,"r":22},23]}],"t":[{"s":116}],"u":22},4],"i":[{"k":[{"a":[{".":31}]}],"p":11,"v":22},90],"m":[{"å":[{"l":[{"a":46}]}]},34],"o":[{"e":31,"m":38,"s":[{"a":32,"e":[{".":32}]}],"t":[{"a":32}]}],"s":122,"u":[{"n":375}],"v":15,"å":[{"d":[{"e":22}]}]},222],"s":[{".":168,"a":[{"b":12,"d":374,"k":[{"a":22,"t":11},90],"l":[{"a":[{".":31}],"d":340,"l":12}],"m":38,"r":[{"r":0,"v":12}]},153],"c":153,"e":[{"d":[{"i":93}],"g":127,"k":[{"u":0}],"l":[{"a":1,"d":2,"i":0,"v":193}],"r":[{"i":[{"k":9}]}],"s":[{"i":0,"u":11},90],"t":[{"e":[{".":23}],"t":[{"o":91},4]}]}],"i":[{"m":[{"p":58},659],"n":[{"g":229,"s":0},69],"s":[{"t":17}]}],"j":[{"a":152,"h":0,"o":[{"r":24}]}],"k":[{"a":[{"d":90,"f":96,"m":1,"p":90,"r":[{".":0}],"s":0}],"i":[{"l":38,"n":[{"n":[{"s":61}]}]},0],"j":[{"e":[{"n":[{"s":15}]}]},153],"l":[{"a":[{"g":91,"r":22}],"e":26,"æ":85},11],"o":[{".":38,"e":38,"p":24,"r":0,"t":90}],"r":[{"a":193,"i":[{"v":38}],"o":193},153],"u":[{".":38,"e":[{"t":16},38],"n":[{"d":22}]},153],"v":[{"a":[{"r":22}]}],"y":[{"s":15}],"ø":22}],"l":[{"e":[{"f":1,"i":0,"k":1,"s":1}],"i":[{"t":149}],"o":[{"k":12}],"u":[{"n":0}]}],"m":[{"a":[{"k":[{"e":1}]}],"o":[{".":1}],"å":[{"l":103}]}],"n":[{"e":[{"v":4}]}],"o":[{"a":39,"m":[{"l":15}],"n":[{"a":[{"l":77}],"e":112,"i":19,"s":103},660],"r":[{"d":15,"i":[{"s":61}]},259],"v":69},153],"p":[{"a":[{"n":1,"t":4}],"e":[{"l":38,"r":0,"s":152}],"i":38,"o":[{"r":1}],"r":[{"e":[{"d":38}]}],"å":0},153],"s":52,"t":[{"a":[{"b":[{"b":169}],"n":[{"k":15}],"p":12}],"b":284,"e":[{"d":1,"m":1,"n":[{"d":15,"s":120}],"r":[{".":15}],"v":[{"n":[{"a":33}]}]}],"i":[{"l":[{"f":169,"h":169,"s":169,"v":169},90],"s":38,"t":0}],"k":428,"r":[{"e":[{".":35,"e":2}],"i":[{"n":0}],"o":169,"ø":38},23],"u":[{"t":61,"v":[{"a":49}]}],"y":[{"g":58}],"ø":661,"å":152},150],"u":[{"k":[{"l":15}],"r":39,"s":[{"a":61,"i":15}]}],"v":[{"a":[{"k":6,"r":[{"a":49,"s":662}]}],"e":[{"k":89},69],"i":[{"t":15}]},153],"y":[{"n":[{"a":23}],"t":24}],"z":153,"ø":[{"k":[{"s":203}],"y":[{"e":35}]}]},162],"t":[{"a":[{"d":15,"f":169,"k":[{"a":[{".":23}]}],"n":[{"a":0,"l":12}],"p":[{"a":39}],"r":[{"r":0,"t":12}],"v":[{"s":12}]}],"e":[{"c":0,"d":[{"a":0,"e":90}],"e":88,"g":[{"o":0,"r":0}],"i":[{"e":0,"n":196}],"k":[{"a":0,"e":[{".":31}],"i":0,"u":0}],"l":[{"i":[{"t":9}]}],"m":[{"a":[{".":31}],"p":90}],"n":[{"s":[{"k":271}],"t":[{"l":[{"e":159}]}]}],"o":88,"r":[{"d":38,"e":[{"s":38}],"i":[{"s":0}],"k":38,"å":0},252],"s":[{"e":0,"k":11,"t":[{"i":11}]}],"t":[{"a":0,"e":0}],"u":[{"s":91}],"v":0}],"h":0,"i":[{"a":[{"n":[{"d":91,"s":0}],"r":[{".":32},0]}],"e":[{"n":22}],"g":[{"r":[{"a":31}]}],"k":[{"v":196}],"l":[{"a":0,"i":0,"o":0}],"n":[{"a":435}],"o":88,"p":88,"s":[{"a":61,"k":[{"a":11,"i":0}],"o":663,"p":0,"s":18,"t":[{"r":195}]}],"t":[{"u":90}],"v":88}],"m":[{"a":[{"l":[{"e":[{".":36}]}]}]}],"o":[{".":38,"f":[{"f":12,"o":155}],"k":[{".":155}],"m":[{"k":12}],"p":[{"p":[{".":4},193]}],"r":[{"d":12}],"s":251,"v":182}],"r":[{"a":6,"e":[{".":155,"d":4,"g":12,"i":12,"k":[{"o":169}],"l":15,"p":15}],"i":[{"b":152,"s":193}],"o":[{"s":169}],"u":[{"t":12}],"å":[{"l":149}]},7],"s":[{"a":[{"r":24}],"e":[{"g":1,"n":[{"g":22}]}],"i":7,"j":[{"a":26}],"k":[{"e":15,"j":12}],"n":[{"o":9}],"p":[{"e":34}],"t":[{"i":1,"r":[{"e":[{"k":40}]}],"ø":[{"y":26}]}],"u":[{"n":[{"d":[{"e":22}]}]}]}],"t":34,"u":[{"e":[{"n":[{".":31}]}],"g":152,"n":[{"d":12}],"t":259,"v":[{"e":[{".":32}]}]}],"y":[{"d":[{"a":[{".":32}],"e":[{".":32}]}],"r":[{"s":17,"a":31}],"t":15}],"æ":[{"r":[{"a":39}]}],"ø":[{"l":15}],"å":[{"s":664}]},200],"u":[{"a":[{"n":[{"d":12}],"v":[{"h":4},168]}],"b":[{"a":31,"l":6,"o":15}],"d":[{"i":[{".":1}],"r":23,"s":[{"l":5}]}],"e":[{"l":[{"e":1}],"r":23,"s":65}],"g":[{"a":[{"l":46,"t":17}]}],"i":[{"d":75}],"k":[{"s":[{"u":23}],"t":[{"s":18}]},162],"l":[{"a":35,"i":162,"k":[{"e":[{".":32}]},306],"l":88,"v":152,"y":152}],"m":[{"a":[{"l":24}],"p":[{"l":665}]},0],"n":[{"d":[{"e":[{"l":22,"r":[{".":502,"s":38},434]},504],"r":18,"s":124}],"g":[{"e":[{".":31}]}],"i":477,"k":[{"r":22}],"ø":[{"y":1}]}],"r":[{"a":[{"n":6,"r":6},15],"e":[{"r":35}],"t":[{"a":32}]},7],"s":[{"h":255,"i":[{"k":666}],"j":22,"l":[{"u":61}],"o":182,"s":[{"e":[{"l":22}],"t":23}],"t":[{"r":667}]},0],"t":[{"a":[{"l":[{"a":[{".":46}]},12],"n":[{".":152}]},0],"b":[{"e":0}],"d":162,"e":[{"i":18,"l":1,"n":[{"e":[{".":35}]}],"r":35},32],"g":173,"k":153,"o":39,"r":[{"e":23,"ø":4},168],"t":[{"o":14}],"v":173,"ø":22}],"v":[{"a":15,"e":[{"d":1,"g":1,"i":1,"l":1,"r":[{"e":1}],"s":1}],"i":[{"s":21},46]}]}],"v":[{"a":[{"k":[{"a":61}],"l":[{"a":31}],"r":[{"b":206}]},1],"e":[{"d":[{"e":[{"n":23},24],"r":195}],"g":[{"a":0,"i":0,"r":0}],"i":[{"m":0,"s":[{"e":50}]}],"k":[{"l":22}],"l":[{"a":0,"l":[{"e":49}]}],"n":[{"g":169}],"r":[{".":38,"e":22}],"s":88,"v":88}],"i":[{"l":[{"l":[{"e":[{"d":186}]},49]}]}],"j":7,"o":[{"s":0,"v":0}],"r":90,"s":129,"u":[{"n":[{"g":15}]}],"å":[{"r":61}]},188],"w":187,"x":69,"y":[{"a":182,"d":[{"r":7}],"f":[{"e":2,"l":15}],"k":[{"e":[{".":15}],"l":189}],"l":[{"e":2,"l":[{"i":[{"s":668}]}]}],"n":[{"d":[{"l":248}],"e":[{"s":[{".":15},1]}]}],"p":[{"a":[{".":1}]}],"r":[{"e":6,"k":[{"e":[{".":23}]},153],"o":35,"ø":15},173],"s":[{"s":[{"a":[{"l":31}]}]}],"t":[{"a":15,"e":[{"k":1}],"m":172,"r":90}]}],"z":0,"æ":[{"l":[{"e":2}],"r":[{"e":[{"n":669},669],"i":[{"n":22}],"t":32}],"v":6}],"ø":[{".":173,"a":[{"r":6}],"b":[{"e":[{".":1}]},168],"d":[{"e":[{"k":1}],"s":54}],"e":[{"p":162}],"f":[{"l":22}],"k":[{"e":[{".":1,"r":[{"o":1}]}],"l":24,"n":162,"s":42,"t":61,"v":54}],"l":173,"m":[{"a":54},4],"n":[{"n":[{"e":[{"s":22}],"s":[{"a":78,"k":17}]}],"s":[{"k":[{"o":22}]}],"t":[{"g":334}]}],"p":[{"e":[{".":1}],"l":39}],"r":[{"d":19,"e":[{"n":[{"d":[{"e":[{".":11}]}]}],"t":2}],"l":166,"o":107,"s":[{"p":23}]},172],"s":[{".":93,"e":12,"l":[{"a":15}],"v":22}],"t":[{"a":[{"s":39},6]}],"v":[{"a":69,"e":[{"d":[{"e":15}],"r":[{"s":35}]}],"i":69,"æ":169}],"y":[{".":188,"a":[{"r":39},162],"e":[{"d":31,"n":[{"e":31}],"s":22,"t":23}],"k":334,"r":[{"e":22},164],"s":[{"e":[{"n":[{"e":[{"s":32}]}]}],"k":670,"t":23}]}]}],"å":[{".":173,"a":[{"g":162},2],"b":162,"d":[{"e":[{"t":164}],"y":[{"r":[{"a":49}]}]}],"e":[{"n":[{"e":35}]}],"f":173,"g":383,"k":[{"j":173,"r":[{"e":24}],"u":107,"v":54}],"l":[{"e":[{"s":66,"t":[{".":15},1]}],"u":15},162],"n":[{"d":[{"a":31},38]}],"p":173,"r":[{"s":[{"k":17}],"u":15},188],"s":[{"b":162,"e":173,"i":15,"j":173,"t":23},69],"t":[{"a":[{"k":[{"a":[{".":46}]}]},168],"r":15,"u":15}]}]}],"s":[{"c":[{"h":[{"l":[{".":167},658],".":681,"m":32}],"a":[{"n":337},162],"e":[{"l":173,"n":[{"e":0}],"r":90},172],"l":306,"o":[{".":162,"c":168,"s":162}],"u":[{"s":0}]}],"a":[{"a":[{".":166},173],"b":[{"a":[{".":1}],"e":11,"l":93,"o":[{"k":15,"n":90}],"y":15}],"c":[{"e":12}],"d":[{"a":[{"g":1,"m":162}],"e":[{"r":[{"e":1}]}],"m":162,"o":1,"v":173}],"e":[{"d":22,"n":164,"r":191}],"f":[{"a":166,"e":172,"f":[{"æ":181}]}],"g":[{"a":[{".":1,"s":1,"t":1},166],"e":[{"n":[{"t":168}]}],"g":274,"i":324,"n":[{"a":32}],"o":[{".":4,"g":1}],"r":174,"s":65}],"i":[{"k":12,"r":15,"s":69}],"k":[{".":166,"a":[{".":164,"d":162,"i":15},7],"b":164,"d":164,"e":671,"f":166,"h":[{"e":17},172],"i":172,"j":1,"k":[{"r":22,"y":0}],"l":166,"m":166,"o":162,"p":164,"r":8,"s":[{".":337,"i":41,"j":181,"p":23,"r":166,"u":166}],"t":[{"a":[{".":31}],"o":337},188],"u":0,"ø":268}],"l":[{".":253,"a":[{"r":[{"m":248}],".":191,"t":672},69],"b":162,"e":[{"t":35},673],"g":[{"e":0,"o":248,"s":116},172],"i":11,"m":[{"e":[{"s":23}]}],"o":15,"s":[{"a":5},674],"t":[{"e":[{"r":162}]}],"u":69,"v":[{"e":[{"d":22}]},164],"y":173}],"m":[{".":166,"a":[{".":15,"n":445,"s":15},7],"e":[{"i":22,"l":1,"t":1}],"l":[{"e":[{"v":23}]},166],"m":[{"e":[{"n":139}]},166],"y":1},184],"n":[{"a":[{".":35,"r":2,"t":12},571],"d":[{"a":[{".":31,"l":62}],"e":[{".":334}],"r":17,"s":[{"l":[{"o":80}],"t":17}],"ø":53}],"e":[{"k":676},675],"g":[{".":166,"e":164,"r":181,"s":[{"t":175}]}],"k":[{"e":[{"n":152}]}],"l":188,"m":38,"n":[{"e":22,"o":168}],"o":[{"r":248,"s":22},7],"s":[{".":337,"a":162,"e":[{"n":337}],"k":77,"l":677,"v":168},54],"t":[{".":93,"e":39,"r":168,"y":162}],"v":187}],"p":[{"o":7},188],"r":[{".":184,"a":[{"b":168},172],"b":173,"d":0,"e":[{".":401,"a":[{"l":162}],"g":162,"v":15}],"i":[{".":1},164],"k":[{"a":[{".":31}],"i":181}],"m":[{"e":[{".":32},22]},188],"r":153,"t":[{"a":[{".":23}]},188],"u":1,"v":162,"y":0}],"s":[{"j":[{"u":167}],"p":272,"s":187,"t":[{"y":162},11],"u":173,"y":162},172],"t":[{"a":69,"e":[{"n":15}],"i":12,"l":188,"m":[{"o":[{"s":181}]}],"o":69,"r":678,"s":[{"k":38}],"t":[{".":166,"a":181,"e":[{"n":274,"s":103}]}]},172],"u":[{".":166,"d":[{"i":[{".":22}]},23],"e":166,"g":[{"a":31,"e":[{".":31},90]},162],"k":188,"m":166,"s":164,"t":162}],"v":[{"a":88,"e":[{".":1}],"i":[{"n":679}],"n":22,"u":164},188]}],"b":[{"a":[{"n":[{"e":[{".":23}]}]}],"i":[{"e":31}],"o":[{"d":[{"a":23}]}],"u":[{"e":[{"t":31}],"g":11,"l":18}],"y":[{"t":[{"a":32}]}]},680],"d":[{"a":[{"g":[{"s":271}],"m":[{"p":49}]}],"e":[{"l":[{"e":[{".":31}]}]}],"u":[{"e":[{"n":[{".":32}],"r":32}]}],"ø":[{"v":32}]},682],"e":[{"a":[{".":164,"g":23,"n":[{"d":568,"s":[{"a":2}]}],"r":[{"e":39}],"u":[{"s":[{"k":683}]}]},189],"b":173,"c":162,"d":[{"a":[{"g":162}],"d":22,"e":[{".":166},12],"l":166,"o":162,"r":173,"u":173,"v":[{"a":[{"n":[{"l":[{"e":168}]}]}]}],"ø":173}],"e":[{".":166,"d":24,"f":173,"g":173,"i":13,"l":34,"n":15,"r":176,"s":166,"v":173}],"f":[{"f":153,"t":187},173],"g":[{"a":[{"l":36},168],"e":[{"s":4,"v":12},7],"g":[{"a":[{".":32}]}],"l":[{".":301,"e":[{"t":191}]}],"m":164,"r":684}],"h":173,"i":[{"d":[{"a":[{"n":32}],"e":[{"n":39}]},173],"e":[{"n":[{"e":[{"s":148}]}],"t":171}],"g":[{"a":[{".":31}],"e":22},173],"k":22,"l":685,"m":168,"n":[{"d":12,"i":90,"k":4,"s":12,"t":12},173],"r":22,"s":164}],"j":[{".":166},173],"k":[{"a":286,"e":164,"i":162,"j":173,"k":[{"e":[{"s":23}]},166],"l":307,"n":265,"o":173,"r":[{"a":162,"i":162,"o":162},129],"s":[{"j":178,"p":162,"t":23}],"t":[{"a":[{"n":255}],"e":[{".":31,"r":[{"a":33}]}],"o":686}],"y":162,"å":162}],"l":[{"a":[{".":4,"k":164,"n":[{"e":166}],"r":[{"t":22},166],"s":89,"t":3},173],"d":54,"e":[{".":1,"d":236,"g":[{"a":168}],"i":162,"m":181,"n":[{"g":162}],"s":162,"v":563}],"g":334,"i":[{"k":162,"l":162,"s":162,"t":563}],"l":[{"ø":[{"p":31}]}],"o":[{"l":191,"m":12},173],"s":[{"i":[{"n":23}],"k":[{"e":525}],"l":[{"a":[{"g":143}]}],"p":[{"o":23}]},164],"t":19,"u":[{"r":371},173],"v":[{"a":[{"k":53,"n":23}],"e":[{".":23,"i":190,"r":23},124],"i":[{"n":32}]}],"y":173,"æ":173,"ø":[{"p":[{"a":[{".":46}]}]},173],"å":168},88],"m":[{"a":285,"b":164,"d":191,"e":15,"i":[{".":1,"n":[{"i":123}]}],"n":[{"a":23,"d":301},188],"o":173,"p":[{"e":22}],"å":173}],"n":[{".":88,"a":[{"k":15,"u":168}],"d":[{"a":143,"e":[{"l":[{"a":31}],"n":168}],"r":162}],"e":[{"d":162,"g":12,"m":162,"s":[{"a":167,"e":[{".":46},168]}]},88],"g":[{"a":[{"s":38}]}],"h":188,"i":[{"n":4}],"k":[{"j":90}],"n":687,"s":[{"e":[{"m":248,"n":[{"d":47}]}],"j":23,"o":24},88],"t":[{"e":[{"r":22}],"r":[{"e":[{"p":688}]}]},304],"u":[{"m":162}],"y":162,"æ":173,"ø":168}],"o":[{"d":191,"r":12},420],"p":[{"e":[{"r":[{"s":[{"o":373}]}]},12],"t":164},173],"r":[{".":88,"a":[{"m":162,"n":166,"p":162,"s":166,"u":168},12],"d":22,"e":[{".":166,"a":162,"d":162,"f":162,"g":162,"i":162,"k":162,"l":162,"n":[{"n":162,"t":162}],"p":162,"s":[{"o":162,"s":162,"t":162,"u":162}],"t":162,"v":162},201],"f":153,"i":[{"e":[{"n":[{"e":116}]}],"k":162},88],"k":[{"j":[{"e":162}],"r":166}],"n":[{"e":[{"v":61}]},166],"o":[{"p":1,"r":1,"s":1},189],"t":[{"a":[{"k":23,"t":31}],"r":23},689],"u":[{"l":162,"n":85},69],"v":[{"e":[{"d":23,"l":23}]}],"y":173,"ø":310,"å":173}],"s":[{".":166,"a":[{"l":[{"d":22,"s":166,"t":22}]}],"c":162,"e":[{"n":[{"e":1}]},173],"i":[{"n":22}],"j":[{"e":162,"u":[{"k":162}]},12],"k":[{"a":[{"l":22,"r":22}],"v":22}],"l":[{"i":[{"t":22}]}],"n":[{"a":12}],"o":166,"p":[{"r":24}],"s":[{"i":[{"n":53}]}],"t":[{".":166,"e":[{".":166}],"o":162},69],"u":[{"n":22}],"v":54,"y":173,"ø":162,"å":24}],"t":[{".":336,"a":[{".":164,"e":15,"k":[{"a":46}],"r":15},690],"e":[{"a":168,"g":162,"i":162,"k":162,"l":2,"r":[{"a":1,"o":15}],"s":162}],"i":[{".":6,"k":89,"s":89},285],"j":[{"a":109,"e":[{".":166},162]}],"l":191,"n":166,"o":173,"r":406,"s":0,"t":[{"e":[{"r":[{"s":38}]}]}],"u":173,"v":173,"y":173,"ø":168}],"u":[{"m":164,"n":162,"r":[{"e":[{"n":[{"e":33}]}]}],"t":28}],"v":[{"a":[{"n":[{"e":[{".":36}]}],"r":346}],"d":23,"i":[{"s":[{"a":5}]}],"n":[{"e":[{".":23}]},153],"r":12,"å":[{"g":164}]},173],"y":[{"n":173}],"ø":173,"å":173},172],"é":[{"a":173,"b":168,"e":162,"f":162,"j":162,"k":162,"l":173,"o":162,"p":168,"r":301,"s":162,"v":173},172],"f":[{"a":[{"n":[{"e":[{".":23}]}]}],"e":[{"e":[{"t":[{".":31}]}],"s":17},168],"i":[{"s":[{"k":[{"e":[{"n":159}]}]}]}],"l":[{"å":18}],"o":[{"r":[{"a":32,"l":[{"ø":186}]}]},38],"r":[{"a":[{"s":17}],"i":[{"e":[{"r":[{"e":80}]}]}]}],"y":[{"r":[{"s":14}]}],"æ":337,"ø":[{"r":[{"e":[{"n":39,"r":22}],"i":22}]}]},181],"g":[{"a":[{"l":23,"v":[{"a":32,"e":[{".":23}]}]}],"e":[{"n":[{"s":49}],"s":[{"t":23}]}],"å":[{"v":[{"a":23,"e":[{".":23}]}]}]},691],"h":[{".":162,"a":[{"k":28,"t":152,"u":90}],"e":[{"a":5,"i":692,"r":[{"i":[{"f":693}]}],"t":[{"t":525}]},168],"i":[{".":0,"p":11,"s":[{"k":15}]}],"j":162,"o":[{"p":[{"p":306}],"r":[{"t":164}],"w":166}],"s":168,"u":173,"y":248,"ø":[{"l":32,"v":[{"a":31,"e":[{".":31}]}]},149],"å":152},153],"i":[{"a":[{"l":[{"v":80}],"m":417,"n":[{"s":2}],"p":162,"v":162}],"b":[{"l":7}],"d":[{"a":694,"e":[{".":695,"n":218,"o":223,"r":[{".":15},0],"t":[{"e":1}]}],"o":224,"r":[{"a":32},187],"y":162}],"e":[{"g":162,"l":69,"n":23,"r":[{".":15,"e":[{"n":4}]}],"s":[{"t":12},23]}],"f":[{"e":168,"l":12,"o":173,"r":85,"u":173,"ø":162}],"g":[{"e":[{"r":[{"s":103}]}],"i":162,"l":[{"o":181}],"r":15},164],"h":162,"k":[{"a":12,"e":[{".":15}],"h":599,"k":[{"a":[{"r":[{"t":[{"e":[{"t":46}]}]}]},23],"e":[{"l":53}],"o":23}],"o":[{"m":1,"p":1,"s":1,"t":1},18],"t":[{"s":43}]},164],"l":[{".":166,"d":[{"e":[{"l":23,"r":23,"s":23}]},164],"j":22,"k":28,"l":[{"e":[{"s":23}]}],"ø":173},88],"m":[{"e":[{"l":4,"t":162}],"p":173,"u":12}],"n":[{"d":[{"e":162,"u":181}],"e":[{"k":12}],"f":188,"g":[{"s":[{"a":696}],"u":191}],"i":1,"j":162,"n":[{".":178,"a":502,"e":[{".":11,"t":166}],"h":90,"k":38,"l":90,"t":162},173],"o":[{"b":15}],"s":[{"k":[{"e":14}]}],"t":188,"v":162,"ø":4}],"o":[{"v":236}],"p":[{"a":[{".":1}],"e":[{".":6}]}],"r":[{"e":[{".":4,"n":2}],"i":[{".":1}],"k":[{"l":32}]}],"s":[{"e":[{"l":15,"r":[{"f":1}],"v":42}],"i":[{"n":4}],"j":[{"u":168}],"k":[{"e":22},1],"n":1,"t":[{"e":26,"i":1,"o":24}],"y":162},88],"t":[{"a":15,"j":[{"i":32}],"r":[{"a":21,"e":26,"i":1}],"s":[{"v":[{"a":186}]},65],"t":[{"e":[{"r":[{"m":31}],"s":23}]}]},336],"u":[{"m":[{"f":1}],"t":162}],"v":[{"a":[{"n":35},166],"e":[{"k":4}],"i":[{".":6}],"å":[{"t":35}]}]},172],"j":[{".":173,"a":[{".":88,"g":697,"k":[{"k":[{".":515}]}],"m":162,"n":[{"l":162},0],"r":[{"n":152}],"v":285,"z":306}],"b":173,"d":168,"e":[{".":337,"f":[{"i":41,"l":[{"a":23}],"t":17}],"g":24,"k":[{"t":[{"o":271}]}],"l":[{"e":[{"v":23}]},164],"n":[{".":336,"e":504,"t":181}],"r":[{".":337}],"s":626,"t":[{".":337,"t":[{"i":5}]}]}],"f":173,"g":173,"i":[{"m":11}],"k":173,"l":173,"m":173,"n":173,"o":[{"b":173,"k":166,"m":162,"n":[{"s":58},301],"r":173,"u":173}],"p":173,"r":173,"s":173,"t":[{"s":[{"j":698}]},294],"u":[{"a":54,"b":168,"g":306,"k":[{"s":248}],"l":[{"a":32}],"n":162,"r":162,"s":699}],"ø":[{"k":75,"p":54,"r":[{"ø":39}],"s":180,"t":146},504]},172],"k":[{".":167,"a":[{".":173,"b":[{"e":203},162],"d":88,"e":167,"g":241,"k":173,"l":[{"a":[{"r":22},700]}],"m":[{"l":0,"p":175},173],"n":[{"a":248,"d":[{"e":162}],"e":162,"o":162,"t":168}],"p":[{".":334,"a":[{".":401,"s":162}],"e":[{"n":[{".":166}]}],"i":[{"t":168}],"p":162}],"r":[{"a":[{"b":15}],"b":[{"e":2}],"d":166,"k":248,"p":334,"s":168,"t":162,"v":497},224],"s":173,"t":[{"e":162}],"y":167},172],"b":162,"d":168,"e":[{"d":[{"a":0,"o":11}],"h":88,"i":[{"e":[{"r":[{".":17}]}]},11],"l":[{"e":[{"v":701}],"i":[{"k":11}],"t":18,"u":0}],"n":[{".":90,"a":[{"v":11},0],"o":0,"s":38}],"p":[{"t":166}],"r":[{".":38,"o":0,"s":38}],"s":[{"i":24,"m":5,"n":22},458],"t":[{"e":[{"t":0}],"j":702}],"v":11,"y":88},173],"f":173,"h":173,"i":[{".":334,"a":191,"d":162,"e":166,"f":166,"k":337,"l":[{"l":11,"t":337}],"n":[{"e":[{"t":31}],"i":[{"n":23}],"n":[{"s":703}],"o":704}],"o":[{"l":166}],"p":166,"r":[{"e":0,"k":274,"s":15},173],"s":[{".":11,"s":191,"t":248}],"v":504},172],"j":[{"e":[{".":11,"m":[{"a":[{"s":168},166]}],"r":[{"m":[{"e":706},705],"s":191}]}],"o":[{"r":164}],"æ":[{"r":[{"l":248}]}],"ø":[{"n":166,"p":168,"r":[{"e":[{"s":17}]}]}]}],"k":402,"l":[{"a":[{"k":15,"n":97,"s":38},168],"e":[{"g":35,"i":11,"k":12,"r":[{"o":515}]}],"i":[{"n":[{"g":15}],"t":15}],"u":[{"f":169}],"y":[{"d":88}]},174],"m":173,"n":[{"u":153},173],"o":[{"a":162,"d":[{"d":191}],"f":162,"g":336,"i":361,"l":[{"a":502,"e":164,"l":181},172],"m":[{"a":11,"e":149},162],"n":200,"o":162,"r":[{"d":15,"p":[{"i":11}],"s":[{"t":93},152],"t":162}],"s":173,"t":[{"t":164},88]}],"r":[{"a":[{".":413,"l":337,"t":0},6],"e":[{".":374,"f":181,"g":168,"k":338,"t":181,"v":[{"n":166}]}],"i":[{"b":164,"f":164,"g":162,"k":164,"p":164,"t":[{"e":162}],"v":164}],"o":[{"g":337,"n":90,"p":181}],"u":[{"d":4,"s":469}],"y":[{"s":[{"s":168}]}],"å":184}],"s":419,"t":707,"u":[{"d":166,"e":[{"n":[{"d":23}],"r":[{"e":17},23]},253],"f":172,"l":[{"a":[{"n":166,"r":166}],"e":164,"i":[{"s":274}],"l":162,"p":0,"t":162}],"m":[{"s":18}],"n":[{"d":[{"e":[{"r":[{"v":97}]}]}]},173],"p":162,"r":[{"s":525,"v":167}]}],"v":[{"a":[{".":15,"d":164,"s":12}],"e":[{"n":11,"r":12}],"i":[{"t":15}],"u":164},173],"y":[{"a":11,"e":11,"r":[{"e":24},162],"s":[{"s":681,"k":334},162],"t":164},172],"æ":168,"ø":[{".":168,"a":274,"e":162}],"å":[{"r":[{"e":22}],"t":168},172]}],"l":[{"a":[{"d":[{"a":32,"e":90}],"g":[{"e":[{".":32},22]}],"k":[{"e":22,"s":38,"t":164}],"l":164,"n":[{"d":181,"g":[{"s":248}]}],"p":[{"p":[{"e":17}]}],"r":[{"a":[{"n":38}],"e":38}],"s":[{"t":248}],"t":[{"e":[{".":23}]},153],"u":[{"s":525},187],"v":[{"e":164,"i":[{"n":23}]},54]}],"e":[{".":173,"d":[{"a":93}],"g":[{"a":162,"i":0,"n":0,"r":11}],"i":[{"e":[{"r":[{".":17}]}],"v":0},168],"k":[{"e":525,"k":38}],"l":88,"m":[{"e":0}],"n":[{"e":[{"r":11},708],"t":709}],"r":173,"s":[{"j":11,"o":0,"t":11},525],"t":[{"a":0}],"v":[{"a":0},38],"y":162}],"i":[{"a":38,"d":173,"e":[{"n":[{".":23}]}],"g":168,"k":[{"e":22,"k":0}],"n":[{"j":710,"t":116},173],"p":164,"t":[{".":337,"e":178}],"v":248}],"o":[{"b":[{"b":17}],"t":[{"t":[{".":11,"e":[{"t":191}]},103]}]}],"u":[{"a":711,"e":[{"s":22},420],"f":168,"g":162,"k":[{"s":469}],"m":[{"p":[{"e":80},271]}],"n":[{"d":90,"s":38}],"p":11,"s":[{"a":61}],"t":0},172],"y":[{"e":[{"t":[{".":32}]}],"n":253,"s":248,"t":32},153],"æ":[{"r":[{"a":[{"r":[{"i":31}]}]},306]}],"ø":[{"n":173,"p":[{"a":[{".":23}]},525],"r":11,"s":[{"a":86,"i":178},173],"v":[{"a":22,"e":22,"i":22}],"y":[{"d":166,"e":58}]}],"å":[{".":712,"e":0,"n":[{"e":[{"r":22}]},153],"t":172}]},1],"m":[{"a":[{"d":31,"k":[{".":164,"e":[{"n":337}]}],"l":[{"e":[{"t":39}]}],"n":167}],"e":[{"d":[{".":0,"e":0,"i":274,"k":0}],"g":17,"i":162,"k":[{"l":16,"t":0}],"l":[{"d":525,"l":178,"t":337}],"n":267,"r":[{"t":178}],"s":[{"i":11},168]}],"i":[{"a":11,"e":[{"n":[{"e":23}]},0],"g":0,"l":[{".":11,"a":61,"e":11}],"n":[{"i":120}],"t":88}],"o":[{"a":61,"d":[{"e":[{".":32}]}],"k":88,"t":168}],"u":[{"g":[{"g":274},164],"l":[{"a":11,"d":0,"e":11},183],"r":[{"t":166}]}],"y":[{"k":713}],"ø":[{"n":168,"r":[{"s":18},184],"t":162}],"å":[{".":166,"r":22,"t":[{"t":93}]}]},153],"n":[{"a":[{".":167,"b":0,"k":191,"s":181,"t":434,"v":162}],"e":[{".":162,"b":162,"d":[{"d":338},162],"e":11,"g":0,"i":[{"e":[{"r":17}]},164],"k":[{"r":[{"i":23}],"t":152}],"l":0,"m":173,"r":162,"s":[{"a":39,"v":49},168],"t":162}],"i":[{"f":11,"g":[{"l":31}],"k":[{"k":[{"o":17}]},88],"l":336,"n":434,"p":336,"r":5,"t":504,"v":361}],"o":[{".":93,"e":11,"r":[{"d":38}],"t":306}],"u":[{"d":334,"m":90,"r":0,"t":191}],"y":[{"h":167}],"æ":[{"r":[{"e":[{".":23}]}]},173],"ø":[{".":334,"d":[{"r":42}],"e":166,"r":184,"s":54,"v":[{"i":22}]}]},153],"o":[{"a":[{"l":12,"r":6,"v":162}],"b":[{"l":7},188],"d":[{"a":[{".":1}]},172],"e":166,"f":[{"a":[{"g":1,"s":1},176],"f":274,"r":[{"e":274}],"t":176}],"g":[{"a":7,"i":6,"l":2,"n":[{"e":[{"m":31}]}]}],"h":168,"i":[{"d":15},714],"k":[{"n":166,"s":[{"e":[{".":23}]},162]}],"l":[{".":191,"a":[{".":1,"v":22}],"d":172,"e":[{".":1,"i":[{"e":[{"r":14}]}],"n":[{"e":1}]}],"f":19,"i":715,"j":175,"o":[{".":6},7],"s":82,"t":42,"u":[{"m":1}],"ø":1}],"m":[{".":164,"e":[{"n":[{"d":4}]}],"f":[{"a":181},90],"g":187,"h":166,"k":188,"l":162,"m":[{"a":[{"r":[{"a":139}]}],"e":[{"r":[{"e":717}]},249]},716],"r":[{"e":[{"n":191,"r":166}],"å":434},173],"s":[{"l":22,"t":[{"i":22},0],"y":162},153],"t":[{".":166,"a":168},184]}],"n":[{"a":[{".":1}],"d":[{"a":61}],"e":[{"a":6},304],"g":[{"s":124}],"o":85,"s":[{"k":5,"t":22}],"u":7,"y":[{".":1}]},164],"p":[{"a":[{"k":2,"r":35}],"e":[{"t":2}],"p":[{".":164,"a":166,"e":164,"i":23,"l":[{"e":167}]}],"r":12},174],"r":[{".":172,"a":[{"n":12},191],"b":166,"d":[{"a":23},187],"e":[{"k":1},216],"g":[{"a":[{".":191}],"l":23}],"i":[{"e":181,"s":191,"u":15},7],"k":[{"e":162}],"n":22,"s":686,"t":515}],"s":[{"c":248,"e":[{".":6}],"f":168,"j":162,"l":1},172],"t":[{"e":[{".":6},15],"r":[{"a":1}],"s":5,"t":[{"e":22,"i":23}]}],"u":162,"v":[{"a":12,"e":[{".":1,"n":15,"r":[{"e":14}],"s":124,"t":166}],"j":164},173]}],"p":[{".":162,"a":[{"g":[{"h":19}],"k":[{".":191,"a":191,"e":166,"k":167}],"l":[{"l":90,"t":166},88],"n":[{"n":178}],"r":[{"i":164}],"s":[{"e":[{"r":334}]},162]}],"e":[{".":162,"a":23,"d":[{"a":167,"é":39}],"e":0,"i":184,"l":[{"e":[{"g":23,"s":23,"t":166}]},88],"n":[{"g":175,"n":178,"t":0}],"p":38,"r":[{"a":[{"n":[{"d":53}]}],"i":168,"l":162,"r":0,"s":90}],"s":[{"i":164,"t":0}],"t":[{".":155}]}],"i":[{"l":[{"o":274}],"n":[{"g":162}],"o":88,"p":173,"r":[{"e":[{"s":61}],"i":61,"o":61}],"s":[{"s":334}],"z":361},172],"l":[{"a":[{"n":[{"t":522}],"r":35}],"e":162,"i":[{"n":0,"t":164}]},188],"o":[{"e":[{"t":31},173],"l":[{"e":334,"i":306},173],"r":[{"a":0,"e":0,"s":337,"t":[{"s":145}],"v":164}],"s":267,"t":[{"e":90},162],"v":22},4],"r":[{"a":[{"g":301,"n":166}],"e":[{"g":434,"i":[{"k":175},166],"k":[{"e":17},0],"m":90,"n":337,"s":274,"t":337}],"i":[{"n":[{"t":11,"s":[{"i":167}]}],"o":38,"s":710}],"o":[{"b":274,"d":90,"f":162,"g":[{"n":306,"r":306},334],"s":[{"s":334}]}],"u":172,"y":0,"ø":[{"y":164}],"å":166}],"s":361,"u":[{"b":167,"l":173}],"y":[{"d":336}],"ø":[{"l":434,"y":15},504],"å":[{".":301,"d":166}]},7],"r":[{"e":[{"k":[{"a":32,"e":[{".":32}]}]}],"i":[{"e":148,"k":[{"a":32}],"m":[{"a":32}],"v":[{"e":[{".":23}]}]}],"o":[{"e":23,"p":[{"a":31}],"s":[{"a":31,"e":[{".":31}]}],"t":[{"e":39,"o":17},28]},38],"ø":[{"v":54}],"å":[{"d":[{"a":[{".":23}],"e":[{"r":[{"s":31},33]}]}],"m":[{"a":32}]}]},522],"s":[{"a":[{"b":[{"e":[{"l":152}],"l":152}],"e":11,"j":0,"k":[{"e":[{".":32}]}],"l":[{"a":[{".":31}],"l":15}],"m":[{"e":[{".":23}],"p":15}],"n":[{"e":38}],"r":[{".":350,"i":[{"e":[{"n":718}]}],"m":252,"r":0,"v":[{"e":[{".":46}]}]}],"s":4,"u":[{"s":[{"a":46,"e":[{".":36}]}]}]}],"e":[{"e":[{"t":11}],"g":[{"e":22,"g":15},88],"l":[{"i":22,"s":17,"v":[{".":35,"å":80}]},1],"m":88,"n":[{".":38,"a":[{".":32}],"d":[{"e":[{"n":15}]}],"e":38,"i":0,"k":[{"e":[{".":36}]}],"u":0,"å":11}],"r":[{".":38,"a":[{"b":11,"t":11}]}],"s":[{"k":[{"i":0},61],"t":0}],"t":[{".":152,"s":155}],"u":88,"y":0}],"h":88,"i":[{"a":23,"e":[{"r":[{"e":[{"r":77}]}]}],"f":[{"f":0}],"l":[{"o":11}],"m":[{"e":340}],"n":[{"d":367,"i":[{"t":15}],"j":12,"n":12,"s":193}],"s":[{"m":17},439],"v":[{"e":[{"n":[{"d":127}]}]}]}],"j":[{"a":[{"r":[{"g":149}]}]}],"k":[{"a":[{"p":[{"e":1}],"r":[{"a":46},12]}],"n":12,"o":[{"f":12,"g":152,"r":0}],"y":[{".":4,"e":1}],"å":[{"l":15,"p":152},1]}],"l":[{"i":[{"p":93}],"o":69,"y":15},88],"m":88,"n":[{"a":[{"r":4}],"o":7,"ø":[{"d":169,"k":15},1]}],"o":[{"f":88,"k":257,"l":[{"o":22}],"m":[{"a":1},88],"r":[{"a":24,"g":[{"a":0}]}],"v":[{"e":12}]}],"p":[{"i":[{"l":4}],"o":[{"r":1}]}],"r":[{"i":35}],"t":[{"a":[{"d":38}],"e":[{"d":1,"k":12,"l":[{"l":[{"i":120}]}],"p":15}],"i":[{"l":[{"p":2}],"p":152}],"r":[{"e":[{"n":15}],"å":1},31],"u":[{"s":12}],"v":34},7],"u":[{"l":375,"r":90}],"v":[{"a":[{"r":[{"a":16}]}],"e":[{"k":6},69]}],"y":[{"n":[{"a":31}],"r":22}],"ø":[{"y":[{"e":2}]}],"å":11},187],"t":[{".":168,"a":[{".":188,"b":[{"s":203}],"d":[{"a":18,"o":144},719],"f":[{"a":38,"e":164,"l":22,"t":12}],"g":[{"e":61}],"h":162,"k":[{"a":[{".":31}],"k":166,"l":162}],"l":[{".":168,"a":[{"k":22},720],"d":15,"e":[{".":23},162],"i":334,"t":166}],"m":[{"e":90,"m":164}],"n":[{"a":[{".":22}],"d":[{"e":[{".":168}]},178],"e":6,"f":0,"g":[{"s":138},0],"l":12,"o":148,"t":[{"r":97}],"v":12}],"o":162,"p":[{"a":152,"p":0,"å":93},173],"r":[{"i":90}],"s":[{"j":497,"t":248},172],"t":[{"o":[{"p":22},162],"u":24},172],"v":[{"e":164}]}],"b":721,"c":2,"d":173,"e":[{".":361,"a":173,"b":173,"d":[{".":164,"a":0,"t":166}],"e":[{"n":23},88],"f":722,"g":[{".":249,"a":[{"l":120}],"e":0,"h":164,"n":248,"r":0,"s":[{"p":[{"l":166},162]}]}],"h":[{"e":[{"r":23}]}],"i":[{"e":[{"r":17}],"k":[{"n":162}],"n":[{"s":724}]},723],"k":[{".":178,"a":297,"e":[{"t":23},11],"i":0,"n":248,"o":162,"t":0,"v":725}],"l":[{"a":162,"e":[{".":22,"g":38,"v":22}],"i":[{"g":38}]}],"m":[{"d":166,"m":178,"n":166,"ø":162}],"n":[{"a":[{"r":23},17],"e":[{"n":337,"r":0,"s":417}],"g":249,"i":0,"k":168,"o":162,"s":[{"l":14}]}],"o":[{"l":38},162],"p":[{"p":[{"e":[{"r":16}]}]},173],"r":[{".":6,"a":[{"m":0},525],"e":[{"s":[{"t":11}],"v":0}],"f":252,"i":[{"d":0,"s":61,"v":726}],"m":181,"r":168,"u":[{"n":22}],"ø":46}],"s":[{"e":0,"l":[{"e":61}]},173],"t":[{"a":0,"r":77,"ø":11},162],"v":[{"e":162,"i":162,"l":168,"n":166}],"å":168}],"f":721,"g":[{"a":[{"v":[{"e":[{".":36}]}]}],"å":[{"v":[{"a":46,"e":[{".":46}]}]}]},173],"h":[{"e":15},727],"i":[{"a":361,"b":[{"e":38,"l":155},162],"c":[{"k":11},164],"d":[{"e":[{"l":11}]},306],"e":[{"n":22}],"f":[{"t":164},88],"g":[{"e":[{"n":0}],"i":304,"j":84,"n":164}],"j":38,"k":[{"a":274,"e":248,"l":0}],"l":[{".":249,"a":[{"g":23},337],"d":162,"e":[{"g":[{"e":33}]},164],"k":11,"n":168,"o":0,"s":274,"t":[{".":337,"a":274,"e":166}]}],"m":[{"e":[{"r":61},162],"é":168,"u":249}],"n":[{"d":367,"i":11,"n":241,"s":[{"t":11}],"t":11}],"p":[{"p":181,"s":168},184],"r":166,"s":[{"k":306},173],"t":[{"t":162}],"å":162}],"j":[{"a":0,"e":[{"l":166,"n":[{"e":175,"t":97}],"r":164}],"u":162}],"k":173,"l":173,"m":173,"n":646,"o":[{".":88,"f":172,"g":361,"k":[{"s":162,"t":168}],"l":[{"i":164,"j":162,"l":38}],"m":[{"m":155,"s":12,"t":274},162],"n":[{"i":162}],"p":[{"e":12,"p":[{"l":15}]}],"r":[{"d":728,"e":[{"t":23,".":334}],"m":11,"o":18,"s":162}],"s":9,"t":[{"r":53},153],"u":15,"v":[{"a":166}]}],"p":173,"r":[{".":167,"a":[{".":12,"d":248,"f":[{"f":93,"i":168}],"i":[{"l":168}],"l":12,"n":[{"a":[{".":46}],"d":166,"e":162,"s":168},1],"p":168,"r":162,"s":[{".":2,"t":[{".":2}]}],"u":[{"m":337}]}],"e":[{"a":729,"d":0,"i":[{"k":304,"s":15}],"k":[{".":191,"l":15,"s":[{"a":730}]}],"n":[{"i":168}],"r":[{".":15,"s":168}]}],"h":168,"i":[{"a":301,"d":401,"e":166,"g":[{"e":15}],"n":12,"p":731,"s":732}],"o":[{"e":168,"g":229,"k":337,"l":12,"m":733,"n":12,"p":[{".":2,"a":472,"e":11}]}],"u":[{"g":96,"k":689,"m":[{".":15}]}],"y":[{"g":168,"k":[{"t":152}],"t":15},173],"æ":181,"ø":[{"b":274,"k":[{"k":38}],"m":4,"r":162,"s":[{"e":15,"t":38},162],"y":162},184],"å":[{"d":168}]}],"s":[{"a":[{"m":[{"e":[{".":36}]}]}],"y":[{"n":[{"a":46}]}]},310],"t":[{"a":[{"l":[{"e":[{".":36}]}]}],"r":34},642],"u":[{"a":0,"b":184,"d":178,"e":[{"l":23,"r":[{"e":17},23]},88],"m":178,"n":[{"g":434,"n":168,"t":497}],"r":274,"t":722}],"v":[{"e":[{"d":89}]},173],"y":[{"a":173,"d":173,"k":178,"l":31,"n":267,"p":699,"r":[{"s":203},178],"s":[{"k":168}],"v":[{"e":22},162]},172],"ø":[{"k":173,"l":166,"m":168,"p":166,"r":[{"k":168}],"t":166,"v":[{"a":[{".":61,"r":22}],"e":24,"i":22}],"y":6},172],"å":[{"e":337,"k":22},172]}],"u":[{".":162,"a":[{"l":94},296],"b":[{"l":61,"o":24,"s":166,"å":90},734],"e":[{"r":6},172],"f":7,"g":[{"a":[{".":4}],"e":[{".":1}],"g":24},504],"h":7,"i":[{"s":568,"t":[{"a":17}]},735],"k":[{"e":187,"k":686,"r":24,"s":716},7],"l":[{"e":[{".":1}],"f":178,"i":[{"k":1}],"t":[{"r":53}],"u":153,"y":173,"æ":17}],"m":[{"i":[{"d":181}],"o":7,"s":36},336],"n":[{"d":[{".":166,"e":[{"r":525,"t":166}],"i":337,"r":127,"s":301}],"g":[{"e":[{".":23}]}],"i":736}],"o":1,"p":[{"e":[{".":1,"r":203}],"i":49,"r":[{"e":6},737]},336],"r":[{"d":22,"e":[{".":1,"i":563}],"f":172,"i":[{"e":1,"u":1}],"s":[{"k":17,"p":23,"t":[{"i":23}]}]}],"s":[{"a":[{"n":12}],"e":[{".":1,"s":3}],"i":[{"k":1},162],"p":24,"s":24,"y":7},172],"t":[{"r":[{"a":[{".":31}],"e":[{"g":32}]}]},738],"v":[{"i":739},191]}],"v":[{".":168,"a":[{"a":22,"i":17,"k":[{".":166,"e":164,"s":168}],"l":[{"a":23,"e":[{"s":23,"t":168}],"i":334}],"m":304,"r":[{".":0,"e":[{"t":0}],"m":90,"t":178}],"s":200}],"e":[{"g":[{"i":127},200],"i":[{"e":38,"s":178}],"k":[{"a":38,"s":274}],"n":[{"s":337}],"r":[{"d":[{"s":740}],"e":[{"s":32},23],"g":178,"j":337,"k":[{"i":5},38],"m":0,"v":306}],"v":502}],"i":[{"e":[{"l":144},0],"f":[{"t":167}],"g":162,"k":[{"e":[{".":22}],"g":168,"s":[{".":162}],"t":[{"i":248},164]}],"l":162,"n":[{"d":[{"e":[{"l":11}]}],"e":[{"s":23}],"g":[{"s":740}],"k":175}],"r":[{"k":741},162],"s":[{"a":[{".":23}],"e":[{"n":22,"r":22},23]},173],"v":[{"e":39},93]}],"o":[{"l":162,"r":[{"t":16},504]}],"r":90,"u":[{"l":[{"m":334},164]}],"y":[{"e":[{"n":[{"e":16}]}]},742],"ø":184,"æ":[{"s":162}],"å":699},7],"y":[{"c":1,"d":[{"e":[{".":1,"n":15}]}],"e":[{"r":7},166],"k":[{"a":6,"e":[{"r":[{"e":15},1]}],"o":[{"g":4},173]}],"m":[{"e":2},502],"n":[{"d":[{"l":248}],"k":5,"o":83,"s":[{"k":31}],"t":[{"e":24}]},88],"r":[{"a":[{"r":15},1],"e":[{".":1},11],"k":[{"a":23,"e":[{".":23}]},188]}],"s":[{"e":1,"l":7,"t":[{"r":23},21]},567],"t":[{"e":[{"n":15}],"h":20,"t":301},224],"v":[{"å":7}]},172],"z":[{"c":[{"z":34}],"t":[{".":168}]},0],"æ":[{"l":7,"r":[{"e":[{"n":669},669],"i":298,"l":[{"e":33}],"s":112}],"t":[{"e":743,"t":162}]},172],"ø":[{".":162,"d":[{"e":153},7],"f":162,"g":23,"j":162,"k":[{".":301,"e":249,"j":166,"k":[{"j":61},166],"n":[{"a":249}],"o":173,"s":[{"k":23,"e":744,"m":334}],"t":[{"a":23}]}],"l":[{"a":[{".":1}],"e":[{".":1,"t":15}]},178],"m":[{"å":4},336],"n":[{"n":164,"s":153}],"p":0,"r":[{"a":[{"s":1}],"e":[{".":1,"n":[{"d":[{"e":[{".":120}]},26]}],"t":[{"t":39},6]}],"l":191,"s":24,"ø":22}],"s":[{".":162,"a":6},336],"t":[{"a":[{"s":[{"t":2}]}],"e":[{"l":2,"s":15}]},191],"v":[{"e":153,"n":164},173],"y":[{".":267,"a":181,"d":[{"e":[{".":32}]},274],"e":167,"l":164,"n":491,"r":28,"s":699}]},172],"å":[{"g":166,"k":[{"e":151}],"l":[{"e":[{".":1}]},337],"n":[{"d":[{"a":23,"e":[{".":31}]}]},200],"p":[{"a":301,"e":[{"t":15}],"n":200,"u":39},7],"r":[{"a":[{"s":[{"t":[{".":39}]}]},4],"e":[{".":1}],"s":[{"k":24}],"ø":61},7],"s":[{"a":152,"b":0,"e":38,"k":22,"t":22},7],"v":[{"a":16},301]}]}],"v":[{"s":[{"t":[{"e":[{"k":[{"s":[{"t":169}]}],"m":[{"a":[{".":36}]}]}],"i":[{"l":12}]},784],"a":[{".":11,"l":[{"i":152}]}],"e":[{".":11,"g":[{"g":12},0],"l":[{"i":198},89],"n":[{".":38,"g":169,"s":229},23],"r":88}],"i":[{".":11,"n":69}],"k":[{"e":6,"u":[{"m":97}],"v":69},153],"l":[{"a":[{"n":12}],"e":[{"t":4}],"i":[{"k":11}]},153],"m":[{"å":[{"l":[{"a":46}]}]}],"n":[{"a":96,"e":12,"y":12,"æ":12,"ø":193},150],"o":[{"d":15,"m":[{"s":783},17],"n":152,"r":69}],"p":[{"e":7}],"r":[{"e":[{"d":[{"e":[{".":36}]}]}]}],"s":[{"t":40,"å":26}],"v":[{"a":96},69],"ø":[{"k":[{"e":[{".":31}]}],"l":17,"y":[{"e":[{"r":5}]},230]}],"å":[{".":93,"r":[{"e":61}]}]},167],"a":[{"a":[{"m":12,"n":6}],"b":162,"d":[{"j":168,"r":54}],"f":[{"r":31},24],"i":[{"r":22,"s":22}],"k":[{"a":[{".":4,"n":2}],"e":[{"r":15}],"h":168,"i":[{".":6}],"o":162,"r":24,"s":[{"i":304,"j":181,"t":19}],"t":[{"r":17},172],"u":69,"v":24}],"l":[{"a":[{"n":12}],"e":[{"d":1,"k":[{"s":39}],"l":162}],"g":[{"r":41}],"i":[{"e":260}],"l":[{"a":24}],"m":[{"e":[{"s":31}]}],"o":232,"u":[{"n":1},69],"v":162,"ø":[{"y":1}],"å":61}],"m":[{"p":[{"u":32}]}],"n":[{"a":[{"l":181}],"d":[{"s":17}],"e":[{"s":17,"t":1},0],"g":[{"r":23,"s":396},173],"i":[{".":6}],"n":[{"a":[{"n":23}],"i":[{"v":23}],"s":[{"t":[{"i":36}]}]},253],"o":[{"m":1}],"s":[{"e":[{"m":22}],"k":[{"i":19},166],"m":24},0],"t":[{"i":24,"r":39}],"y":1}],"p":[{"o":15},173],"r":[{"a":[{".":1,"k":4,"l":1,"m":1,"p":1}],"e":[{".":1,"g":1,"m":4,"s":1}],"k":[{"a":32}],"m":[{"a":22,"e":[{"e":23}]}],"s":[{"a":23,"k":23,"t":[{"i":53}],"v":23}],"t":[{"a":[{"l":[{"a":33}]}],"e":[{"m":31}],"i":[{"s":415}]}]}],"s":[{"a":[{".":1},162],"e":[{"t":35}],"i":[{"d":168,"e":4,"f":1,"k":1,"l":1,"s":4}],"k":7,"s":[{"a":[{"u":23},17],"e":[{"l":23}],"ø":127}],"t":[{"a":162}]}],"t":[{"a":[{".":12},22],"e":[{"l":774,"r":[{"f":7}]}],"l":[{"e":[{"g":[{"e":[{".":120}]}]}]}],"n":166,"o":69,"r":[{"a":61},4],"s":54}],"u":162,"v":188,"z":1}],"b":[{"a":[{"n":[{"e":[{".":23}]}]}],"e":[{"r":[{"g":17}]}],"o":[{"d":[{"a":31}]}]},174],"d":[{"e":[{"v":152}],"i":[{"n":[{"g":[{"s":740}]}]}],"o":[{"i":152,"n":152}],"r":4,"u":[{"e":[{"n":[{".":31}],"r":31}]}],"ø":152},200],"e":[{".":172,"a":[{"g":4,"r":[{".":4}]},419],"b":173,"c":173,"d":[{"o":[{"b":35,"m":14}],"s":[{"k":42},183],"t":775,"ø":5,"å":36},129],"e":[{"r":1},173],"f":173,"g":[{"a":[{"v":3}],"e":15,"g":[{"s":103},164],"j":173,"l":[{"e":12,"ø":[{"d":20}]},162],"n":22,"o":173,"r":[{"e":[{"t":[{"t":22}]},168],"u":162}],"u":[{"t":1}],"å":26}],"h":173,"i":[{"e":[{"b":32,"n":24},776],"l":[{"l":162}],"t":168}],"j":173,"k":[{"a":[{".":495},162],"e":[{".":1,"d":1,"e":162}],"i":173,"j":162,"l":[{"a":32,"e":32,"i":1},173],"o":173,"r":173,"s":[{"t":[{"r":271},23]},164],"t":[{"a":[{"n":53}],"o":22,"r":53},172],"å":173}],"l":[{".":166,"a":[{"s":26,"t":[{".":166,"p":166}]}],"d":[{".":168,"e":[{"l":23}],"s":167}],"e":[{"d":162,"i":168,"t":191}],"i":[{"s":162,"t":162,"v":168}],"o":[{"c":166},173],"s":[{"e":[{"s":139},24],"m":24,"p":22,"t":22},183],"u":[{"g":162,"n":22}],"v":22,"y":173,"æ":173,"ø":[{"p":[{"a":46}]},173]}],"m":[{"a":15},173],"n":[{"a":[{".":6}],"e":[{"m":162,"t":[{"e":4},15],"v":162}],"i":[{"n":1}],"n":[{"i":47,"l":[{"e":170}]}],"o":7,"s":[{"t":[{"i":31,"r":31}]}],"t":[{"a":36,"r":19,"s":5,"y":162}],"u":[{"s":1},173],"y":[{".":15,"a":162,"m":1}]},172],"o":707,"p":173,"r":[{".":519,"a":[{"k":22,"l":24,"u":167}],"d":[{"e":[{"s":31}],"i":[{"n":31,"r":31}],"v":16}],"e":[{".":12,"d":162,"g":162,"i":[{"g":166}],"k":162,"l":1,"n":[{"g":21,"n":162}],"p":162,"r":15,"s":[{".":15}],"t":[{"t":162,"u":162}]}],"f":[{"ø":[{"r":[{"e":14}]}]}],"i":[{".":35,"a":[{"l":1},18],"e":2,"k":162,"l":24}],"k":[{"n":166}],"m":19,"n":[{"a":[{"l":31}],"s":116}],"o":[{".":35,"m":12}],"s":[{"k":[{"a":[{".":32}],"i":22}],"p":[{"o":61}]}],"t":[{"a":[{"l":[{"a":[{".":91}],"e":[{".":120}]}]}]}],"u":[{"m":[{".":166}]},69],"y":168,"ø":[{"s":777},36],"å":162}],"s":[{".":164,"a":[{"n":15},307],"e":[{"t":162}],"h":162,"i":162,"j":162,"k":[{"i":162}],"l":[{"i":35},173],"m":8,"o":465,"p":[{"e":[{"r":13}]},162],"t":[{"e":[{"d":15,"n":[{"d":47}]}],"o":[{"v":78}],"r":162,"u":162,"ø":162}],"v":[{"a":58},12],"y":[{"n":[{"d":[{"s":166}]}]}],"ø":173,"å":[{"r":[{"e":17}]},69]},0],"t":[{".":172,"a":[{"k":[{"a":167}]},173],"e":[{"g":162,"k":162,"s":778,"v":168}],"i":278,"j":162,"o":[{".":1,"e":16,"k":[{"e":301,"s":[{".":301}]}],"r":1},173],"r":173,"s":172,"t":[{"s":[{"k":17}]}],"v":168,"y":[{"e":46},162]},0],"u":[{"m":6},173],"v":[{"a":[{"k":4,"n":15,"r":35},173],"i":[{"s":[{"a":46}]},173],"s":[{"m":23,"p":23}]}],"ø":173,"å":173}],"ê":172,"f":[{"a":[{"l":[{"l":103}]}],"ø":[{"r":[{"e":[{".":61}]}]}]},188],"g":[{"a":[{".":0,"l":[{"e":[{".":23}],"i":31}],"v":[{"e":[{".":32}]}]}],"e":155,"i":[{".":0}],"j":[{"e":[{"r":[{"s":510}]}]}],"o":23,"å":[{".":0}]},174],"h":[{"ø":[{"r":[{"e":[{".":23}]}]}]},188],"i":[{"a":[{"n":69},172],"b":[{"l":4}],"c":[{"e":[{"s":17}]}],"d":[{"e":[{"o":396},15],"o":158,"r":24,"s":65},172],"e":[{"l":69,"n":[{"d":15}]}],"g":[{"m":23,"u":1,"ø":15}],"k":[{"a":[{"t":1}],"b":166,"e":[{"d":15}],"g":191,"k":[{"e":22}],"n":22,"o":779,"s":[{".":164,"a":22,"l":19}],"t":[{"i":166},162],"ø":158}],"l":[{"a":[{".":15},129],"e":[{"s":133}],"i":[{"n":85}],"j":172,"l":[{"a":[{"n":53}],"e":[{"d":[{"e":[{".":120}]},23],"i":23,"p":49}],"u":274}],"m":22,"o":54,"s":[{"t":[{"i":23}]}],"t":[{"o":16,"r":[{"e":[{"t":31}],"i":23}]}],"ø":7}],"m":[{"p":61,"u":61},162],"n":[{"d":[{"a":[{"u":47}],"l":162,"u":166}],"e":[{"s":[{"t":17}]}],"g":[{"n":162,"o":[{"m":[{".":22}]}],"r":18,"u":148},11],"n":[{"a":24,"e":[{"d":23}],"h":168,"l":248,"s":248,"t":162}],"o":[{"v":[{"e":[{"r":83}]}]}],"s":[{"j":[{"a":61}]},605],"t":[{"e":[{"s":23}],"r":[{"e":22}]}]}],"p":[{"a":[{".":6}],"e":[{".":4}],"s":22}],"r":[{"o":162,"u":191},172],"s":[{"a":[{"b":24,"k":24,"n":[{"d":22}]}],"e":[{"e":1,"n":[{"g":4},12]}],"k":[{"r":[{"e":36}]},129],"m":22,"o":[{"m":24},69],"p":[{"a":39},1],"s":[{"p":5}],"t":[{"i":22}]}],"t":[{"a":[{"k":1}],"e":[{"s":[{"e":15}]}],"j":780,"o":85,"r":[{"a":61,"e":22},1],"s":[{"k":[{"r":22}]}],"t":[{"e":[{"s":781}]}],"u":[{"n":[{"g":[{"e":[{".":120}]}]},26]}],"ø":[{"y":443}]}],"v":[{"a":[{".":1}],"e":[{"s":4}],"i":18}]}],"j":[{"a":153,"e":[{"t":[{"a":53,"e":19,"r":53,"t":18,"u":23}]},153],"i":153,"o":248,"u":[{"t":24}]}],"k":[{"l":[{"e":[{"r":1},1]}],"u":[{"l":[{"e":[{".":23}]}]}]},757],"l":[{"a":[{"b":11,"g":[{"a":31}]}],"e":[{"d":155,"g":155,"i":[{"e":49}],"l":4,"s":[{"e":[{".":23}],"n":38,"t":[{"r":22}],"v":11}]}],"i":[{"v":61}],"s":39,"u":[{"s":[{"a":39}]}]},520],"m":[{"a":[{"l":[{"e":[{".":32}]}]}],"o":[{"d":[{"e":[{".":32}]}],"r":[{"d":103}]}],"å":[{"l":[{"a":32}]}]},188],"n":[{"a":[{"d":90,"k":[{"e":[{".":32}]}],"l":15,"r":155}],"d":[{"y":15}],"e":[{"b":61,"d":[{"e":61},88],"l":[{"e":0,"i":0,"o":0}],"m":88,"r":[{"e":19,"o":0}],"s":[{"t":[{"a":0,"e":11}]},54],"v":88}],"o":[{"r":[{"s":[{"k":[{"a":[{"s":260}]}]}]}]}],"s":[{"p":[{"a":26}],"t":182}],"t":9,"æ":[{"r":[{"e":[{".":23}]}]}],"ø":[{"r":15}]},188],"o":[{"a":[{"l":69,"r":7}],"b":168,"f":[{"f":[{"a":[{"n":32}]}]},173],"g":[{"u":1}],"i":54,"k":[{"o":162,"s":[{"k":18},47]},172],"l":[{"i":[{"t":[{"u":1}]},16],"t":[{"e":[{"s":23}]}]},172],"m":173,"n":[{"a":[{"l":35,"r":35},1],"d":[{"e":22}],"s":[{"h":22},36]}],"p":566,"r":[{"d":[{"a":[{".":32}]},173],"e":[{"n":35},69],"g":188,"o":162,"s":[{"k":16}]}],"s":[{"j":162,"s":[{"e":23}]},172],"t":[{"e":[{"g":1,"l":1}],"r":168}],"v":[{"e":[{".":1}],"i":[{".":4}]},69]}],"p":272,"r":[{"a":[{"k":249,"r":152}],"e":[{"g":[{"i":203}],"n":[{"g":[{"e":168,"i":162,"j":11,"t":11}]}],"t":[{"t":[{"s":103}]}]},153],"i":[{".":11,"d":164,"e":191,"g":[{"a":[{"s":11}]}],"m":[{"a":[{".":31}],"e":[{".":32}]}],"n":[{"g":90,"s":17}],"v":[{"e":[{".":31}]}]}],"o":[{"b":0,"f":0,"k":0,"p":0,"t":[{"e":[{".":32}]}]},153],"u":153,"y":152,"ø":[{"v":[{"e":24}]}],"å":[{"d":[{"a":[{".":32}]}]},153]},782],"t":[{"a":[{".":0,"k":[{"a":[{".":32}]}],"l":[{"e":[{"d":31,"n":39,"v":23}]}],"s":31},54],"e":[{"p":[{"p":38}]}],"i":[{"n":[{"a":32,"e":[{".":32}]}]},229],"r":229,"s":2,"v":151,"y":[{"e":32}]},188],"u":[{"d":[{"d":22,"e":[{"n":[{"t":14}]}],"s":5},129],"é":167,"k":6,"l":173,"n":[{"g":[{"e":[{".":23}]},173]}],"o":356,"t":188},172],"v":[{"a":[{"l":[{"a":32}]}],"e":[{"g":[{"i":[{"n":[{"g":[{".":148,"a":127}]}]}]}],"n":[{"n":[{"i":128}]}]}],"i":[{"k":[{"e":22,"l":127}],"s":[{"a":[{"n":148}],"e":[{".":23}]}]}]},188],"y":[{"a":23,"e":[{"n":[{"s":2}]}]},189],"æ":[{"r":[{"a":69,"e":[{"t":35}]}],"t":[{"a":[{".":6}]}]},172],"ø":[{"d":89,"k":[{"s":175}],"l":[{"i":2},1],"m":[{"m":[{"e":[{"t":23}]}]}],"r":[{"e":[{".":4},164],"k":[{"e":90}],"n":[{"a":[{".":32}]}]}],"s":[{"e":[{".":12}]}],"v":38,"y":[{"e":[{"n":[{"e":[{".":61,"s":39}]}]},31]},187]}],"å":[{"a":172,"e":[{"n":[{"d":162}]},172],"k":[{"a":[{".":6}],"e":[{".":1,"n":[{"e":[{".":35},1]}]}]},0],"l":[{"e":[{".":1}]}],"n":[{"e":15,"u":162},172],"r":[{"e":[{"n":12}]}],"s":[{"a":[{".":6}]}],"t":[{"e":[{"s":15}],"f":168,"å":61}]}]}],"t":[{"a":[{"a":69,"b":[{"o":162,"r":28,"s":28,"u":[{".":1}],"ø":162}],"c":69,"d":[{"a":7,"e":[{"i":59,"t":55}],"s":[{"p":[{"a":22}],"v":77}],"u":4},162],"e":[{"i":168,"k":162,"l":162,"n":[{"d":162,"h":162},172],"s":4},93],"f":[{"e":286,"f":77,"i":[{"s":166}],"l":162}],"g":[{"e":172,"j":162}],"h":167,"i":[{"s":2}],"k":[{".":172,"a":[{".":1,"u":162}],"e":[{"n":2,"r":15}],"k":[{"e":[{"l":61}],"l":42}],"l":[{"a":219}],"r":173,"s":[{"a":[{"l":23}],"e":[{".":31}],"i":23,"j":181,"t":166}],"t":[{"a":[{"l":23}],"i":[{"g":162}],"o":23,"ø":38}],"u":69,"v":24}],"l":[{".":172,"a":[{"m":35,"n":[{"g":22},12],"s":2}],"e":[{"i":[{"e":22},1],"k":1,"r":[{".":15}],"s":128},164],"g":[{"e":[{".":31}]},172],"j":[{"e":[{"s":17}]},191],"l":[{"e":[{"d":23,"g":23,"r":[{"g":175}],"s":16}],"i":[{"g":[{"n":32}]}],"s":[{"a":202}],"y":23}],"o":[{"p":24}],"t":[{"e":[{"r":[{"n":38},168]}]}],"u":663,"å":4}],"m":[{"b":[{"a":[{"n":[{"e":[{".":120}]}]}],"i":90},173],"e":[{"t":162},0],"i":23,"o":707,"v":22}],"n":[{".":11,"a":[{"b":22,"l":181,"r":12,"s":15,"t":15},7],"d":[{"a":[{"k":38}],"e":[{".":334,"l":[{".":152,"e":38}]}],"r":17,"ø":[{"r":[{"e":139}]},103]}],"e":[{"l":1,"m":15,"t":[{"t":162}]},172],"f":[{"a":90,"ø":120}],"g":[{"f":168,"r":434}],"k":172,"l":[{"e":90},173],"m":188,"n":[{"l":164,"o":38,"s":103}],"s":[{"k":[{"a":17},31],"l":597,"t":[{"r":248}],"v":162}],"t":[{"i":[{"l":167}],"r":[{"a":23,"e":306}]}],"v":[{"e":90}]}],"o":707,"p":[{".":166,"a":[{".":1}],"e":[{".":1},172],"i":164,"l":162,"p":[{"a":162,"i":166}]}],"r":[{".":253,"a":[{"k":85,"m":162,"r":[{"e":4}]},11],"b":[{"o":164,"ø":166},173],"e":[{"n":[{"a":343}]}],"k":[{".":306,"a":[{".":32}],"e":248,"i":181}],"r":[{"a":162}],"s":[{"i":39,"p":61,"v":36}],"t":[{"e":[{"s":[{"t":16}]}],"i":[{"k":38,"t":61}],"r":41},162],"å":[{"k":531}]}],"s":[{"a":162,"e":12,"f":634,"i":[{"a":89,"e":18,"f":1,"l":1,"s":289}],"p":23,"s":42,"t":[{"a":[{"s":32}],"o":204,"r":2}],"u":162}],"t":[{"a":69,"e":[{"s":[{"e":[{".":46}]},2],"v":42}],"i":176,"o":[{"p":24}],"s":261,"t":[{"e":24,"r":90}]}],"u":[{".":301,"e":191,"g":248,"k":272,"n":[{"e":[{".":23}]},162],"s":[{"k":23}],"t":173},172],"v":[{"i":[{"n":168}],"l":[{"i":162},164]},173],"x":[{"y":35}]}],"b":[{"a":[{"d":24,"n":28}],"e":[{".":11,"t":[{"e":[{".":31}],"r":[{"a":745},127]}]}],"o":[{"d":[{"a":31}]}],"u":[{"d":[{"a":32}]}],"y":[{"k":24,"s":23,"t":[{"e":61}]}]},520],"c":[{"e":[{"n":5},153],"h":[{"e":22}],"o":38},173],"d":[{"y":[{"p":[{"e":22}]}]},361],"e":[{"a":[{"d":162,"g":265,"k":173,"l":424,"m":31,"n":420,"p":173,"r":[{"b":15},173],"s":23,"t":[{"r":164,"t":162}],"u":173,"v":173}],"b":[{"b":38,"u":[{"d":[{"a":46}]}]},162],"c":[{"e":[{"l":162}],"o":69}],"d":[{"d":[{"i":274}],"e":[{".":164,"b":162,"f":2,"k":162,"l":162,"m":162,"n":15}],"i":[{"l":166},162],"o":[{"e":[{"n":[{".":36}],"r":5,"t":[{".":46}]}],"r":1},162],"s":[{"k":23,"l":23}],"u":168,"y":[{"r":[{"k":33}]},162],"ø":162},173],"e":34,"f":[{"a":167,"i":162,"l":162,"o":[{"r":46},162],"t":[{"e":90}],"ø":164},173],"g":[{"a":[{"t":166},173],"d":181,"e":[{"a":2,"e":35}],"g":[{"a":[{".":32}]},162],"h":173,"i":[{"m":1}],"j":173,"l":[{"a":12,"i":84},173],"s":[{".":167,"p":[{"l":168}],"v":168}],"u":173,"v":[{"i":91}],"å":[{"s":166},173]}],"h":162,"i":[{".":166,"d":307,"e":90,"g":[{"a":[{".":31},90],"e":[{".":381}],"r":168}],"k":[{"n":164}],"l":[{"e":22}],"m":69,"n":[{"f":168,"n":[{"e":1}],"t":[{"e":15}]}],"s":[{"o":168},9]}],"j":173,"k":[{"e":[{"n":2,"r":15}],"i":[{"l":162}],"j":173,"k":276,"l":[{"a":9,"e":[{"d":[{"e":[{".":31}]}]}],"i":23},173],"n":[{"u":162}],"o":173,"r":[{"a":2,"u":3},173],"s":[{".":301,"a":181,"e":90,"p":162,"t":453}],"t":[{"r":148,"s":5,"y":31}],"u":173,"v":107,"y":162,"ø":173,"å":162}],"l":[{"a":[{"k":31,"r":746,"v":164},285],"e":[{".":747,"d":162,"i":162,"k":162,"m":[{"e":162}],"n":[{"e":1}],"r":168,"s":[{"k":15},1],"v":[{"a":4},303]}],"i":[{"d":162,"k":162,"l":162,"n":162,"r":1,"s":162,"t":162,"v":162}],"l":[{"e":[{"f":22,"i":23,"v":23}],"i":[{"g":[{"n":32}]}],"o":23}],"o":173,"s":[{"e":[{"s":139},24],"k":90,"v":77}],"t":[{"e":[{"t":166}]}],"u":[{"t":191},189],"y":173,"æ":168,"ø":[{"p":[{"a":[{".":46}]}]},173],"å":173}],"m":[{"a":[{"e":164,"n":[{"s":1},168]}],"b":[{"a":38}],"e":[{"n":[{"n":168}]}],"i":[{"k":166}],"m":[{"a":39}],"n":[{"e":[{".":22}]},168],"o":[{"r":[{"d":22}]}],"p":[{"e":[{"l":748},22],"o":164}],"s":24,"ø":162},173],"n":[{".":164,"a":[{"b":15,"l":26,"m":32,"n":1,"t":[{".":22},1]}],"c":306,"d":[{"e":[{"n":313}],"r":162}],"e":[{"d":162,"g":15,"m":168,"r":[{"g":168}],"s":166,"t":162}],"g":[{"o":[{"n":191}]},173],"i":[{"g":229,"k":191,"s":166,"v":162}],"n":[{"o":39}],"o":[{"m":1,"r":[{"m":168},15],"t":162,"v":4}],"ó":168,"s":[{"a":24,"k":[{"o":22}],"l":[{"u":31}],"o":24,"v":17}],"t":[{"i":[{"n":53}],"l":[{"e":[{"g":[{"e":[{".":242}]}]}]}]}],"u":[{"m":162}],"y":162,"æ":162,"ø":[{"k":[{"s":22}]},173]}],"o":[{"m":173,"n":166,"p":162,"r":[{"a":4,"i":4,"d":162}],"v":173}],"p":[{"a":[{"k":162,"r":[{"a":49}],"s":162},12],"e":[{"e":191},236],"é":301,"p":[{"e":[{"r":[{"e":31}]}]}],"l":[{"e":149}],"r":162},173],"r":[{"a":[{"c":162,"k":[{"k":2}],"m":[{"m":168}],"p":[{"a":61,"p":162}],"r":[{"e":1}],"s":[{"a":168,"e":162,"t":191}]}],"b":[{"a":[{"n":[{"e":[{".":120}]}]}]}],"d":428,"e":[{"d":162,"f":162,"g":162,"i":[{"s":162}],"l":1,"m":[{".":167,"m":168}],"n":[{"g":[{"a":120},26],"n":168}],"p":162,"r":[{"k":1}],"s":[{"t":[{"i":22}]}],"t":[{"t":162}],"v":[{"o":168}]}],"g":686,"h":164,"i":[{"g":1,"k":162,"s":[{"i":162}],"v":1}],"j":22,"k":[{".":162,"e":162,"h":162,"r":191,"s":749,"t":162}],"l":[{"a":[{"g":[{"a":120}]}],"e":[{"g":[{"e":58}],"v":[{"e":[{".":120}]}]}]}],"m":[{"a":[{".":32}]}],"n":[{"o":24,"s":17}],"o":[{".":15,"e":36,"f":12,"l":[{"l":162}],"m":[{"r":166},162],"s":265,"t":265,"v":36}],"r":22,"s":[{".":166,"j":[{"ø":[{"o":166}]}],"k":[{"l":5,"o":77}],"l":5,"h":5,"m":65,"n":[{"e":36}],"v":22,"ø":[{"k":[{"e":[{".":120}]}]}]}],"t":[{"o":39},750],"u":[{"l":39,"m":167}],"v":[{"i":[{"s":[{"e":120}]}]},61],"y":173,"ø":[{"r":22,"t":162,"v":85}],"å":[{"d":162,"s":85}]}],"s":[{".":166,"a":[{"r":166},173],"e":[{"n":2}],"h":189,"i":[{"d":162,"k":162,"n":465,"t":162}],"j":[{"e":[{"f":168}]},162],"k":[{"a":[{".":751}],"i":168,"o":15},281],"m":[{"å":[{"e":191}]},419],"n":189,"o":285,"p":168,"r":166,"s":164,"t":[{".":166,"a":[{"f":162,"s":22,"t":162}],"e":[{".":558,"i":236}],"i":[{"v":20,"d":166,"k":23,"l":383}],"o":265,"r":265,"y":162,"ø":162}],"u":173,"v":[{"æ":32},281],"y":173,"ø":285,"å":[{"r":[{"e":49},6]},2]},0],"t":[{".":164,"a":[{"k":[{"a":36}],"l":[{"e":[{".":36}]}],"p":1}],"e":[{".":166,"e":5,"g":162,"i":162,"k":162,"m":162},12],"i":[{"k":164,"s":164},173],"j":173,"o":173,"r":752,"s":753,"t":[{"i":22,"s":18}],"u":[{".":166},173],"v":173,"y":173,"å":107}],"u":[{"k":32,"r":153,"s":164},173],"v":[{"a":[{"l":[{"u":1}]},11],"l":164,"o":[{"r":36}],"r":12},173],"y":406,"ø":173,"å":173},172],"é":[{"a":162,"b":173,"f":173,"h":173,"i":173,"l":[{"e":162}],"m":173,"s":[{"e":173,"t":162}]}],"f":[{"e":[{"e":31,"l":23}],"l":[{"å":18}],"o":152},200],"g":[{"a":[{".":0}],"e":[{"a":23,"i":17}],"i":[{".":0,"r":[{"o":[{"s":22}]}]}],"r":[{"e":[{"i":[{"e":33}]}]}],"å":[{".":0}]},397],"h":[{"a":[{"p":0}],"e":[{"a":729,"i":[{"m":17}],"s":[{"i":11}]}],"o":[{"l":[{"i":61}],"r":[{"e":24}]}],"r":164,"u":[{"l":[{"e":22}],"s":31}],"y":[{"r":22}]},188],"i":[{"a":[{"d":173,"g":12,"k":189,"l":[{"l":265,"s":15}],"m":420,"p":189,"s":[{"p":12}],"u":162,"v":173}],"b":173,"c":[{"k":173}],"d":[{"a":[{"n":162},7],"d":61,"e":[{"e":434,"m":236}],"é":300,"i":[{"s":162}],"o":162,"r":162,"u":173,"v":[{"i":103}],"y":168,"ø":162},164],"e":[{"f":173,"i":173,"m":173,"n":[{"h":162}],"r":[{"a":22,"f":162,"k":162,"t":1}],"s":[{"k":12},18],"t":[{"a":162,"t":162},12]},8],"f":[{"a":[{"n":[{"e":[{".":46}]}]},173],"e":173,"l":162,"o":173,"r":[{"å":93},310],"t":[{"e":22},162],"u":173,"ø":162}],"g":[{"e":[{".":35}],"j":162,"n":[{"o":164},173],"u":[{"n":4}]}],"h":173,"i":173,"j":173,"k":[{"a":[{".":12,"r":[{"r":168}]}],"e":[{"t":162},15],"i":236,"j":168,"k":[{"j":23}],"o":285,"r":419,"u":[{"l":[{"a":[{"r":168}],"t":168}]},12],"y":168,"ø":162}],"l":[{"a":[{"g":[{"a":36}]}],"d":[{"e":164},177],"e":[{"i":12},173],"f":[{"e":164}],"g":164,"i":[{"d":24}],"k":[{"e":162,"n":164}],"l":[{"e":[{".":162}],"h":162,"i":[{"n":162}],"ø":58}],"m":162,"n":[{"æ":191}],"s":[{"t":164}],"t":[{"e":162},65],"u":173,"ø":173},0],"m":[{"a":[{"b":2,"t":166}],"e":[{".":1,"d":[{"i":[{"e":166}]}],"r":[{"a":1,"i":166}]}],"l":173,"o":[{"r":755},754],"p":188,"s":61,"u":173,"y":173,"ø":173}],"n":[{"a":[{"b":4,"r":[{"t":22}],"z":162}],"d":[{"u":90},173],"e":[{"m":1}],"f":187,"g":[{"e":[{"s":311}]}],"i":[{"t":226}],"j":274,"k":[{"s":191},173],"n":[{"e":274},187],"o":15,"s":[{"k":14,"p":162,"t":181}],"t":187,"v":[{"a":162},173],"y":162}],"o":[{"l":301,"m":204,"n":[{"s":378}],"p":162,"r":69,"v":69}],"p":[{"a":12,"l":[{"a":4}],"r":162,"s":164}],"r":[{"a":[{"t":5}],"e":[{"f":1}],"o":69},173],"s":[{"a":[{"k":168,"m":162,"n":20}],"e":[{"i":280,"k":162,"l":162,"m":162,"p":162,"r":[{"a":[{".":46}],"s":162}]},12],"i":[{"g":168,"o":162}],"j":[{"e":162,"u":162}],"k":[{"a":[{"n":162},23],"i":[{"l":162}],"o":[{"k":22}],"u":168}],"l":22,"n":162,"o":162,"p":[{"r":[{"å":168}]}],"t":[{"a":[{"t":162}],"i":[{".":23,"l":23}],"r":[{"e":15}],"y":162,"ø":[{"y":6},162]}],"y":173}],"t":[{"a":[{"r":6},2],"e":12,"j":69,"l":164,"r":23,"s":24,"t":164},173],"u":[{"b":162,"t":173}],"v":[{"a":[{"n":[{"d":26}],"r":[{"e":49,"t":26}]}],"i":[{"s":31}],"o":173,"s":[{"i":22,"k":22}]}],"y":162,"æ":[{"r":[{".":15,"e":2,"t":[{".":35}]}]}],"ø":370,"å":173},172],"j":[{"a":[{"g":434,"k":188,"r":[{"n":38}]}],"e":[{".":188,"g":188,"l":173,"n":[{"s":[{"t":36}]},172],"p":168,"r":173,"v":38}],"i":[{"n":[{"g":274}]},188],"o":[{"r":[{"d":38}]},173],"u":[{"b":173,"e":23,"n":173,"r":168,"v":497}],"æ":[{"r":[{"e":[{"s":23}]}]}],"ø":173,"å":162}],"k":[{"a":[{"g":11,"r":[{"a":[{".":32}]}]}],"l":[{"y":49}],"u":[{"l":[{"e":[{".":31}]}]}],"å":[{"p":[{"a":32}]}]},756],"l":[{"a":[{"g":[{"a":23}],"t":[{"e":[{".":32}]}]}],"e":[{"d":[{"a":[{".":31}],"r":0}],"f":11,"i":[{"e":[{"r":[{".":17}]}]}],"s":[{"e":[{".":32}]}],"t":[{"i":22}]}],"i":[{"g":[{"h":[{"t":139},120]}],"n":[{"e":[{"s":31}]}],"t":[{"e":[{".":23}]}]}],"u":[{"e":23,"t":96}],"ø":[{"p":[{"a":[{".":23}]}],"y":[{".":2}]}],"å":[{"n":[{"e":24}],"r":61}]},757],"m":[{"a":[{"d":24,"g":[{"e":[{".":32}]}],"k":[{"u":11}],"m":88}],"e":[{"g":399,"i":[{"n":24}],"k":88}],"i":[{"n":[{"i":120,"s":80}]}],"o":[{"s":88}],"å":[{"l":[{"a":[{".":23}]}]}]},188],"n":[{"a":90,"e":[{"e":11,"l":[{"i":[{"g":152},0]}],"r":[{"e":[{"k":23}],"ø":53}],"s":[{"e":[{".":32}],"k":0,"t":0}]}],"i":38,"o":[{".":93}],"s":[{"k":15}],"æ":[{"r":[{"e":31}]}]},222],"o":[{"a":[{"n":191,"r":[{".":191}],"t":31,"u":168,"v":173}],"b":[{"e":[{"r":36}],"l":151,"s":168}],"c":162,"d":[{"a":15,"e":[{".":35,"r":[{"a":1}]}],"o":164}],"e":[{"k":173,"l":168,"t":23},172],"f":[{"f":[{".":168}],"r":[{"e":90,"i":15}]},173],"g":[{"a":[{"t":107}],"e":[{"n":2}],"g":162,"l":4,"r":[{"a":[{"v":168}],"e":1}],"s":[{"t":24}],"u":7}],"h":173,"i":[{"l":18,"n":189}],"j":162,"k":[{"e":673,"i":12,"j":173,"k":[{"e":[{"n":[{"d":17}]}]},173],"l":12,"s":[{"i":166}],"t":166,"u":173},11],"l":[{"a":[{"r":[{"m":26}],"t":166}],"e":[{"l":[{"e":170},15],"r":[{"a":166}]}],"i":[{"n":[{"e":[{".":46}]}]}],"j":173,"k":[{"i":191},758],"l":[{"a":[{"b":23,"g":23}],"e":[{"g":31,"t":[{"t":31}]}]}],"o":164,"t":[{"r":22}],"å":162}],"m":[{"a":[{".":35}],"b":173,"e":[{"n":[{"e":[{".":15}]}]}],"f":173,"g":162,"i":[{"s":[{"e":15,"t":2}]},12],"k":162,"l":[{"ø":[{"p":[{"a":91}]}]}],"m":93,"r":173,"s":[{".":166},234]}],"n":[{"a":15,"e":[{"d":1,"l":1}],"g":[{"s":78}],"i":[{"b":6}],"o":173,"s":[{"a":24,"l":42,"p":22}],"u":173,"y":[{".":1}]},172],"o":285,"p":[{"l":281,"p":[{"d":162,"g":168,"l":[{"e":274,"æ":248}],"o":23,"t":162}],"r":162}],"r":[{"a":[{"k":1,"l":[{"t":22}],"n":[{"g":22,"t":26}],"s":85},69],"d":[{"a":[{".":32}]},162],"e":[{"g":168,"k":[{"s":61},1],"m":2,"n":[{"t":168}],"r":166,"t":[{"e":22},5]},69],"g":[{"a":162}],"i":[{"n":[{"t":22}]}],"k":[{"u":62}],"m":[{"e":61,"s":17}],"n":[{"a":22}],"s":[{"i":5}],"t":112,"v":[{"e":[{"i":139}]}],"ø":1,"å":162}],"s":[{"a":162,"e":265,"h":7,"j":168,"k":[{"e":22,"u":6}],"p":582,"y":173},69],"t":[{"a":162,"e":15,"i":[{".":6}],"o":[{".":15,"r":1}],"y":168}],"v":[{"a":69,"e":[{"g":2,"r":[{"d":15,"e":16,"s":38}]}]},173],"w":166,"ø":162}],"p":[{"a":152,"i":[{"n":[{"e":61}],"p":[{"i":61}]}],"o":[{"e":[{"t":23}]}],"å":[{"k":0}]},594],"r":[{".":167,"a":[{"b":[{"a":[{"t":634}]}],"f":[{"i":164}],"i":[{"n":61}],"k":[{"a":[{".":32}],"t":[{"o":16}]}],"m":[{"u":61}],"n":[{"e":38,"s":[{"k":[{"e":16}]},249]}],"p":[{"e":24,"o":22},166],"r":42,"s":[{"e":[{".":22,"s":22},166],"é":166}],"t":[{"e":[{".":38}]},88],"v":164}],"e":[{"a":[{"l":[{".":23}]}],"c":54,"d":[{"s":181}],"f":[{"u":90}],"g":[{"i":38},200],"i":[{"n":[{"t":22}]},162],"k":[{".":168,"e":162,"l":162,"o":[{"r":181}]}],"l":[{"a":162}],"n":[{"a":759,"e":22,"g":11,"i":249,"n":181,"s":[{"k":36}]}],"p":[{"e":152,"r":[{"e":[{"s":38}]}]}],"r":[{"o":0,"u":196},88],"s":[{"i":168,"k":[{"o":22}],"l":5,"n":164,"u":38},173],"t":[{"a":0,"o":11,"t":[{"e":[{"d":38,"l":334}]}]},153],"v":[{"a":39},162]}],"i":[{"b":11,"c":187,"d":297,"e":[{"i":61}],"g":[{".":38}],"k":[{"k":0}],"n":[{"a":93,"e":195,"g":248,"n":164}],"o":304,"s":[{"k":274,"t":0}],"t":[{"o":22}],"u":0,"v":[{"i":61},88],"x":166}],"o":[{".":178,"a":[{"r":39},166],"e":164,"f":0,"g":22,"i":[{"n":24},336],"k":0,"l":88,"m":[{".":181}],"n":[{"d":11,"g":337}],"p":[{"e":[{"r":22}]}],"s":[{"k":334,"l":18},88],"v":54}],"u":[{".":93,"a":[{".":191},93],"e":[{"d":166,"t":166}],"g":164,"i":54,"k":[{"n":166}],"l":[{"l":90}],"n":[{"d":90},760],"p":[{"e":162}],"s":[{"a":[{".":22}],"k":304}],"t":[{"a":38,"e":90,"i":90},173],"v":22}],"y":[{"d":[{"r":24}],"g":[{"g":[{"e":17}]},336],"k":[{"k":[{".":191,"e":166}]}],"p":[{"e":[{".":61}]}]}],"æ":11,"ø":[{"a":32,"d":[{".":38,"t":38}],"k":162,"m":162,"r":173,"t":166,"y":[{"a":166,"e":[{"t":49},761],"r":162,"s":168,"t":166}]}],"å":[{"d":[{"a":[{".":32}],"e":[{"t":162}],"r":23}],"k":[{"l":11}],"s":[{"t":90}]}]},1],"s":[{".":168,"a":[{".":38,"b":38,"g":28,"k":[{"s":[{"e":[{".":36}]}]}],"n":[{"g":1},69],"u":[{"r":36}]}],"c":[{"h":[{"a":11,"k":762}]},153],"e":[{".":38,"d":31,"e":[{"r":23}],"g":[{"e":15}],"i":[{"d":5,"g":12}],"m":7,"n":[{".":90,"d":[{"e":1,"i":38}],"k":[{"a":46,"e":[{".":36}]}],"s":38,"t":[{"u":0}]}],"r":[{".":38,"i":90,"k":193,"o":18,"s":[{".":149}]}],"s":[{"k":0,"t":20},1],"t":[{"a":12,"e":[{".":23}]}],"v":182}],"f":[{"æ":1},12],"h":[{"o":[{"p":350}]}],"i":[{"l":[{"l":2}],"n":[{"n":12,"s":193}],"r":38}],"j":[{"e":[{"g":15,"t":[{"s":[{"j":80}]}]}],"o":[{"r":15,"v":[{".":334}]}],"u":[{"k":152,"r":0}]}],"k":[{"a":[{"d":38,"n":0}],"i":[{"s":4}],"j":[{"e":[{"d":169}],"ø":4}],"o":[{"l":[{"l":11},38],"t":152}],"r":[{"e":[{"n":15}],"u":22,"ø":15}],"v":[{"i":35},29],"y":[{".":4,"n":96}]}],"l":[{"o":[{".":252,"t":89}],"u":7,"ø":15},69],"m":[{"i":[{"t":38}],"å":[{"l":[{"a":[{".":36}]}]}]}],"o":[{"d":198,"k":38,"m":[{"s":[{"t":38}]}]},69],"p":[{"e":[{"k":38,"l":90}],"i":[{"k":[{"e":375}]},7],"o":[{"r":89}]}],"s":9,"t":[{"a":[{"b":[{"b":375}],"d":38,"k":12,"l":193,"n":[{"d":38,"g":38}],"r":38,"t":38,"u":4}],"e":[{"d":90,"g":0,"k":0}],"i":[{"g":4,"k":1,"l":[{"k":0}],"n":0,"t":0}],"j":259,"o":[{"l":[{"k":93}],"n":15,"r":[{"s":15}]}],"r":[{"e":[{"e":15,"n":169}],"o":169,"y":12,"å":[{"l":4}]}],"u":38,"v":12},388],"u":[{"a":0,"g":[{"e":61}],"l":[{"i":12},23],"r":34,"s":[{"i":15}]}],"v":[{"i":[{"k":90}]},69],"w":69,"y":[{"k":38,"t":15}],"ø":[{"k":[{"a":32,"n":[{"i":15}]}],"v":15,"y":[{"e":[{"r":46}]}]}],"å":[{"t":46},69]},162],"t":[{"a":[{".":90,"b":[{"a":[{"n":[{"e":[{".":120}]}]}],"o":35},88],"d":[{"r":15}],"f":[{"r":39,"t":12},88],"l":[{"a":[{".":23}],"d":367,"e":[{"l":61}],"l":103}],"n":[{"a":193,"e":149,"g":193,"s":0,"v":0}],"p":[{"p":[{"e":15}]}],"r":[{".":350,"e":120,"r":0,"t":[{"a":4},68]}],"s":[{"e":0,"j":0}],"v":[{"i":12,"k":15,"r":15},0]},153],"e":[{".":90,"a":88,"d":[{"a":0,"e":[{".":38}],"r":93},90],"e":88,"f":[{"f":12},0],"g":88,"i":[{"d":2,"n":24},88],"k":[{"v":61},88],"l":[{"e":[{"v":2}],"i":[{"t":[{"e":[{".":120}]}]}]}],"m":[{"a":[{".":23}],"n":[{"a":46,"e":[{".":36}]},15]},0],"n":[{".":38,"a":0,"e":[{".":38}],"i":0,"s":[{".":155,"e":169},17]},90],"o":88,"r":[{".":38,"e":[{"i":0}],"u":[{"n":17}],"ø":53,"å":0}],"s":[{"e":0,"i":0,"k":[{"e":[{".":36}]}],"l":0}],"t":[{".":38,"a":0,"e":0}]}],"é":153,"h":[{"e":15},93],"i":[{"a":22,"d":[{"e":[{"l":0}]}],"e":24,"f":88,"g":[{"j":53},38],"n":[{"d":12,"e":38,"é":152,"g":38,"i":0,"s":193}],"s":[{"j":0,"t":[{"i":11}]}],"t":[{"e":152}]}],"l":[{"e":[{"d":[{"e":[{".":36}]}]}],"i":[{"n":14}]}],"o":[{".":153,"f":[{"r":38}],"m":[{".":15,"r":152}],"n":[{"n":[{"a":36}]},88],"p":[{"p":12}],"r":[{"a":38,"d":12,"e":22,"i":9,"m":12}],"u":22}],"p":[{"a":[{"r":103}],"å":[{"s":4}]}],"r":[{"a":[{"k":[{"a":35,"e":15}],"m":12,"p":12,"t":2}],"e":[{"p":193,"s":12,"v":12}],"o":[{"m":15,"p":38}],"y":38,"ø":259}],"s":[{"a":[{"f":2,"r":24}],"k":[{"a":[{"n":22}],"j":22}],"l":[{"a":[{"g":[{"a":120}]}]}],"o":[{"k":12}],"t":[{"i":[{"l":[{"l":15}]}],"o":[{"p":22}],"r":[{"a":22}],"ø":[{"y":22}]}]},11],"u":[{"g":[{"l":12}],"m":153,"n":[{"g":[{"e":[{".":36}]}]},69],"t":[{"e":6},69]}],"v":[{"a":[{"l":[{"a":46}]}],"e":15,"u":[{"n":4}]}],"w":38,"y":[{".":38,"e":32,"t":29}],"æ":31,"ø":[{"l":34,"r":153,"v":12,"y":[{"r":472}]}],"å":182},167],"u":[{"a":[{"l":166,"v":303}],"b":[{"a":18,"e":[{".":1}],"å":4}],"d":[{"e":[{"m":4}]}],"e":[{"l":166,"r":[{".":1}]}],"g":[{"l":[{"a":32}]}],"i":[{"n":69}],"k":[{"a":38,"e":153,"t":191},7],"l":[{"a":164,"e":172,"l":[{"e":[{"s":22}]}]}],"m":[{"m":22,"s":23}],"n":[{".":164,"d":162,"e":164,"g":[{"e":[{"s":[{"v":22}]}],"d":168,"s":49}],"i":[{"o":1},274],"n":763,"s":301}],"r":[{"a":[{"n":[{"t":61}],"s":1}],"e":[{"i":303,"k":1}],"i":[{"n":1},5],"o":54,"p":24,"s":42,"u":[{"k":24,"s":15}],"ø":54},336],"s":[{".":172,"a":69,"b":164,"f":164,"i":[{"n":1}],"m":1,"o":22,"s":[{"t":77}],"t":[{"r":36}],"u":22}],"t":[{"g":173,"j":38,"k":38,"r":153,"t":[{"r":[{"å":64}],"e":[{"n":[{"k":31}]}],"o":[{"r":22,"v":17}]}]}],"v":[{"a":[{".":6}]}]}],"v":[{"a":[{"k":32,"n":[{"e":[{".":31}],"g":164,"l":169}],"r":522},1],"e":[{"d":[{"e":[{"l":22}]}],"i":[{"t":164}],"r":[{"t":14},300],"t":[{".":164,"s":191},88]}],"i":[{"k":[{"a":[{".":32}],"l":[{"a":[{"s":93}]}]},38],"l":[{".":337,"a":22,"e":337,"i":362}],"n":[{"g":11}],"s":[{"a":[{".":23}],"e":[{".":23}]}]}],"o":306,"u":[{"n":[{"g":164}]}]},188],"w":[{"a":28},168],"y":[{"d":172,"g":[{"g":[{"e":[{"l":39,"s":22}]}]}],"h":168,"k":[{"k":[{"s":80}]}],"m":[{"e":[{"d":1}]}],"n":[{"e":[{".":1}]},172],"o":274,"p":[{"e":[{"r":[{"e":1}],"t":1},334]},172],"r":[{"a":[{"k":1,"n":[{"n":166}]}],"e":[{"g":168,"p":1,"s":[{"t":17}]}],"i":[{".":1,"e":49,"s":223}]}],"s":[{"k":164,"t":24},7],"t":[{"a":6,"e":[{"l":90,"n":15}]},224],"v":[{"e":[{".":1}]}]}],"z":[{"a":38,"e":[{"l":334}],"l":308},173],"æ":[{"l":15,"r":[{"e":[{"n":[{"e":31,"h":1}],"r":23,"t":23}],"s":42}]},172],"ø":[{"f":[{"l":24}],"k":[{"e":[{"t":35}],"t":[{"a":32}]},188],"l":[{"e":[{"t":393}]},162],"m":763,"n":[{"n":[{"e":[{"s":22}]}]}],"p":[{"s":[{"e":22}]},162],"r":[{"a":[{"s":85}],"i":[{"n":24}],"k":[{".":191,"a":301,"e":166},5],"n":[{"e":22}],"s":[{"t":[{"a":[{".":16}],"e":[{"r":16}],"i":[{"n":17}]}]}],"t":24},88],"s":[{"a":6},23],"t":[{"a":[{".":15},22],"e":12,"t":36},162],"v":[{"d":31,"e":[{"l":[{"e":2}]}]},173],"y":[{"a":22,"e":[{"m":155}],"r":22,"t":[{"e":22}]},0]}],"å":[{"e":[{"n":[{".":1}]}],"k":[{"e":[{"t":[{".":15}]}],"i":15,"r":31},7],"l":[{"a":[{".":35},107],"e":[{"g":1,"l":2}],"s":42}],"n":[{"d":[{"a":32,"e":[{".":31}]}],"e":12}],"p":[{"e":[{".":4}],"n":153},162],"r":[{"e":[{".":4,"p":1,"t":90}],"i":248,"n":497,"s":764}],"s":12,"t":[{"a":[{"k":90}],"e":[{"n":2}]},7]}]}],"u":[{"a":[{"g":2,"k":[{"s":24},153],"l":[{".":153,"a":2,"l":22,"o":24,"u":24}],"n":[{"e":[{".":89}],"l":38,"s":90}],"r":[{".":153,"d":22,"r":0,"s":[{".":38}]}],"s":[{"h":18}],"t":12,"u":765,"v":[{"h":172},153]}],"b":[{"a":[{".":0,"l":[{"t":2}],"n":[{"t":2}],"r":[{"k":15}]}],"b":[{"o":1,"r":7,"u":1}],"e":[{"l":[{"s":17}]}],"h":15,"i":[{"s":[{"t":16},31]}],"j":69,"l":[{"a":[{"n":[{"d":[{"e":[{".":2}]}]}]}],"e":[{"s":124}]}],"r":[{"i":[{"n":15}]},398],"s":173,"u":[{"e":32}],"å":0}],"c":[{"h":[{"e":[{"n":22,"r":22}]}],"i":153,"k":54,"u":22}],"d":[{"a":[{".":90,"s":[{".":152}]}],"d":[{"a":[{"g":1}],"r":7,"s":[{"e":53}],"å":7}],"e":[{"a":[{"r":[{"e":32}]},49],"b":88,"i":[{"e":[{"r":17},14]}],"k":88,"l":[{"u":24}],"p":88,"r":[{"o":11}],"s":88,"t":[{"t":97},151],"v":[{"o":38}]}],"i":[{"a":[{"n":24},183],"e":[{"n":23}],"o":17,"r":2}],"j":[{"i":2}],"l":[{"e":[{"g":[{"e":[{".":36}]},15]}]}],"o":[{"b":152,"e":11,"t":88,"v":[{"e":[{"r":170}]}]}],"r":69,"s":[{"e":5}],"t":12,"v":15,"y":[{"r":[{"a":39}]},178],"å":[{"s":9}]},173],"e":[{"a":10,"i":38,"l":153,"m":[{"n":[{"a":32}]}],"n":[{"d":[{"r":17}],"e":[{"t":206},152],"s":[{"a":[{"r":190}]}]},150],"o":2,"r":[{"a":[{"s":[{"t":149}]}],"e":[{".":1,"n":15,"r":1,"s":1}],"i":15,"l":[{"e":58}],"m":88},153],"s":[{"e":1,"i":7,"k":[{"j":1}],"n":31}],"t":[{"r":32},153],"u":[{"l":46}]}],"f":[{"e":[{".":0,"b":11,"e":31}],"f":[{"e":[{"r":[{"m":26}]}]},182],"i":[{"l":39,"n":[{"e":22}]}],"l":153,"o":[{"a":11,"r":[{"s":18}]}],"r":153,"t":[{"a":[{"n":1},24],"s":[{"l":[{"a":42}],"p":24}]}],"ø":31}],"g":[{"a":[{"g":38,"r":38,"v":97}],"b":[{"y":16}],"e":[{"m":88,"n":38,"r":[{"ø":0},90],"s":626,"t":[{".":155,"a":93}],"v":88}],"g":[{"s":65}],"i":[{"s":38}],"l":[{"a":[{"d":229,"r":[{".":35}]},69],"e":[{".":1,"r":[{".":35}],"s":16}],"y":15},0],"n":[{"a":2,"e":[{".":2}]}],"o":[{".":0},54],"r":[{"e":[{"i":[{"e":[{"r":33}]}]},1],"ø":0}],"s":[{"i":9,"k":23,"o":2,"p":[{"r":34}],"v":[{"a":766}]}],"u":[{"a":[{"y":[{"a":[{"n":[{"s":58}]}]}]}]}],"ø":[{"y":[{"n":15}]}]}],"h":[{"e":[{"l":164}]},153],"i":[{"a":6,"c":221,"d":[{"e":[{"l":22,"n":[{".":22,"s":22}],"r":22}],"i":[{"n":22}]},7],"e":52,"l":[{"l":22},0],"m":153,"n":[{"e":12,"g":153,"n":[{"s":[{"m":[{"i":[{"g":608},159]}]}]}]}],"s":[{"m":153,"t":[{"a":58}]}],"t":[{"e":[{"n":24,"r":22}],"t":153}]}],"j":[{"a":[{"s":0}],"e":[{".":93}],"å":152},153],"k":[{".":162,"a":[{"r":[{"e":120,"t":78},152],"t":38},150],"e":[{".":88,"d":0,"l":42,"m":162,"r":[{"a":[{"n":17}],"e":[{"k":23}],"i":17}]}],"h":[{"o":16}],"i":152,"j":153,"k":[{"a":31,"e":[{"s":[{"t":[{"a":[{"l":2}]}]}]}],"l":219,"n":61,"s":36},162],"l":[{"e":[{"m":38}],"u":[{"t":61},6]}],"n":[{"o":229}],"o":[{"g":169},153],"r":[{"a":88,"u":[{"s":12}]}],"s":[{"a":7,"e":[{"k":1,"l":1,"t":[{"e":16}]}],"i":7,"k":[{"i":2},129],"o":7,"t":22,"u":[{"n":85}],"ø":7},173],"t":[{"e":[{"s":[{"k":42,"l":[{"ø":[{"s":[{"e":81}]}]}]}]}],"i":[{"d":85}],"j":4,"o":[{"r":[{"i":26}]}],"r":564,"s":[{"l":36,"p":24,"v":131,"t":[{"i":23}]}],"u":[{"e":[{"r":[{"a":208,"e":14}]}]}]}],"u":[{"e":31,"l":[{"e":22}]},153],"v":[{"i":[{"k":15}]}],"y":[{"s":46}],"ø":34,"å":9}],"l":[{".":168,"a":[{".":0,"d":61,"f":330,"k":[{"s":206}],"r":[{"t":15}]},153],"d":[{"e":[{"t":1}]}],"e":[{"f":0,"k":88,"l":[{"e":[{"g":[{"e":[{".":91}]}]}]},88],"m":[{"a":22}],"n":[{".":90,"i":11,"s":90}],"r":[{".":38,"e":[{".":38}],"i":24,"l":375,"o":0}],"s":[{"t":[{".":38,"e":[{".":38}]},24]},88],"u":88}],"é":153,"f":[{"l":20,"o":1,"r":1}],"i":[{"e":[{"n":39},46],"k":[{"e":[{".":22}],"h":164}],"n":[{"a":[{".":39}],"e":22,"j":152}]},89],"j":69,"k":[{"a":15,"e":20,"v":85}],"l":[{"a":[{"g":1,"m":1,"r":[{"m":61}]}],"e":[{"g":[{"g":[{"a":91},22]},1],"n":[{"g":4}],"r":[{"e":35}],"s":386}],"i":[{".":6,"g":6,"n":[{"g":[{"s":170}]}],"v":42}],"o":[{"s":767,"t":6,"v":18}],"s":[{"l":[{"e":22}],"m":75,"t":5,"v":24}],"u":461,"y":4,"ø":7}],"m":[{"u":23}],"o":[{"i":31,"p":15,"v":[{"a":61}]},153],"s":[{"k":1,"p":[{"o":23}],"n":6,"s":46,"t":[{"r":768},7]}],"t":[{"e":[{"g":1,"k":1,"s":1}],"i":[{"l":1,"m":1}],"o":[{"r":2},1],"r":[{"e":85,"i":24}]},162],"u":[{"a":152,"e":90,"k":172,"p":38,"s":38,"t":[{".":35,"a":152,"e":155}]}],"v":[{"a":[{".":2,"n":15,"r":1}],"e":[{".":1,"g":1,"i":1,"s":1}],"t":24,"u":85}],"y":[{"k":[{"k":[{"e":[{"s":17}]}]}]},172],"æ":[{"r":[{"a":31,"e":22}]}],"ø":[{"s":[{"e":24}],"y":[{"e":36}]}],"å":[{"l":20}]}],"m":[{"a":[{"g":[{"e":[{".":32}]}],"r":[{"e":11}],"u":[{"k":[{"e":[{"n":16}]}]},15],"v":12},173],"b":[{"e":15},173],"c":162,"d":162,"e":[{"n":[{"d":0,"h":193,"t":[{"i":271}]}],"r":[{"a":22}]},173],"f":[{"o":173}],"h":173,"i":[{"d":[{"d":11}],"e":[{"n":36}],"n":[{"a":39,"t":0}]},173],"j":[{"a":35}],"k":173,"l":162,"m":[{"e":12,"i":[{"l":1,"s":1}]},162],"n":[{"a":46},12],"o":[{"g":31,"k":15},162],"p":[{"a":[{"n":2}],"l":[{"e":1}],"u":[{"t":118}]},173],"r":162,"s":[{"e":[{".":2}],"k":[{"u":[{"l":[{"e":[{".":91}]}]},1]}],"n":7,"o":[{"r":1}],"t":[{"ø":23},24]},54],"t":[{"a":[{"l":46}]},204],"u":[{"t":15}],"v":[{"e":162}],"ø":[{"r":[{"s":18}],"y":2}],"å":61}],"n":[{".":173,"a":[{"d":[{"a":31}],"l":[{"g":15}],"p":193,"r":155,"s":152,"t":90}],"d":[{".":173,"a":168,"e":[{".":168,"k":1,"l":1,"n":168,"r":[{"s":[{"k":166}],"v":166}],"t":162}],"i":[{"m":21}],"s":[{"i":42},162]}],"e":[{"d":88,"e":0,"i":[{".":155}],"l":[{"e":[{"g":[{"e":[{".":120}]}]}]},88],"n":[{"g":169,"o":0}],"s":[{".":90},454],"v":[{"n":17},88]}],"g":[{"d":172,"e":[{"l":[{"e":[{"g":[{"e":[{".":242}]}]}]}],"m":1}],"j":129,"l":26,"o":1,"r":[{"u":84},129],"s":[{"i":65}]}],"i":[{".":0,"d":88,"f":184,"m":0,"n":90,"o":[{"n":164}],"s":[{"t":23}]},4],"k":[{"l":26,"o":2,"r":1},162],"n":[{"a":[{"k":2}],"e":[{"r":[{"f":22,"s":26,"v":26}],"s":15}],"i":[{"v":1}],"o":7,"s":[{"t":[{"e":22}]}],"t":[{"a":[{"l":[{"a":91}]}]}],"y":85}],"o":[{".":0,"s":375,"t":61}],"s":[{"j":[{"i":79}],"k":[{"r":12,"v":20}],"n":15,"p":9,"t":[{"e":[{"k":12,"l":80,"n":[{"k":40}]}],"o":18}],"v":8},162],"t":[{"a":[{"l":1,"m":1,"s":1}],"r":[{"e":[{"p":22}],"i":1},67],"u":[{"n":[{"g":[{"e":[{".":91}]}]}]}]}],"u":[{"t":15},31],"y":90,"ø":[{"y":[{"d":473,"g":152}]},90],"å":90}],"o":[{"a":35,"b":153,"m":[{"s":61},153],"p":153,"r":[{"d":[{"a":32}],"e":69,"o":15}],"v":153}],"p":[{"a":[{"v":12}],"e":[{"a":536,"r":[{"a":18,"e":[{"n":31}]},38],"t":[{"a":0}]}],"f":168,"h":4,"i":[{".":93,"n":[{"s":12}]},90],"l":[{"i":12}],"n":[{"e":[{"v":4}]}],"o":[{"p":[{"e":39}]}],"p":[{"e":[{"d":1}],"l":[{"a":1}],"r":[{"e":4}],"s":22},8],"r":[{"a":90},162],"s":[{"e":[{"n":4}],"k":[{"e":23},107],"p":[{"r":22}]},168],"t":168,"u":168,"å":[{"v":[{"i":120}]},153]}],"r":[{"a":[{"d":88,"f":[{"t":12},88],"k":259,"l":[{"y":31}],"m":0,"n":[{"e":38,"s":90,"t":[{"r":[{"e":116}]}]}],"r":[{".":38,"l":96,"v":12}],"s":[{".":155,"p":15}],"t":[{"t":12}],"u":[{"k":[{"e":[{"n":49}]}]},2],"v":69},153],"b":[{"o":[{"d":1}]}],"c":1,"d":[{"i":12,"o":26},23],"e":[{"a":[{"l":32}],"e":[{"r":[{"e":120}]}],"g":[{"g":15,"i":[{"s":[{"t":373}]},120]}],"i":[{"n":164}],"l":[{"e":12,"i":0,"l":350,"t":350,"s":193},23],"n":[{"g":169}],"o":[{"m":152,"s":77}],"s":[{"u":0}],"t":[{"a":0,"e":0}],"v":26},153],"f":[{"e":[{"b":1,"d":4}]},173],"g":[{"e":12}],"i":[{".":0,"a":[{"n":[{"e":127}]}],"e":[{"n":[{".":39,"e":53}],"r":[{".":39}]}],"k":90,"m":90,"n":[{"e":22,"n":12,"s":12,"t":12}],"s":[{"p":31}]},153],"k":[{"e":[{"s":223}],"j":[{"a":21},40],"l":[{"a":6,"e":1}],"n":3,"s":22}],"l":[{"a":[{"g":[{"a":46}]}],"e":[{"g":[{"e":[{".":36}]}],"s":[{"e":[{".":46}]}]}]}],"m":[{"a":[{"g":16}]}],"n":[{"e":[{"a":12}],"s":180,"æ":[{"r":[{"e":36}]}]}],"o":[{".":0,"c":11,"e":166,"m":[{"s":17}],"p":[{"i":61,"p":12},88],"r":69,"s":[{"t":[{"a":23}]},65],"t":[{"a":32}]}],"p":[{"e":[{"l":1}],"i":2,"u":[{"t":663}]}],"r":[{"e":2}],"s":[{"a":[{"k":[{"a":46}],"l":1}],"e":[{"l":85}],"i":[{"n":1}],"k":[{"r":1}],"p":[{"e":1}],"t":[{"e":15,"i":[{"l":22}],"j":1}],"v":[{"a":24},7],"ø":129}],"t":[{"e":[{"o":12}],"i":15,"o":1,"r":[{"i":3}],"s":[{"t":5}]}],"u":[{"e":[{"r":[{"e":16}]}],"g":[{"l":2},769],"k":[{"e":23,"n":61},36],"l":4,"m":[{"o":58}],"n":[{"g":5,"k":152}],"v":61}],"v":[{"e":[{"l":1}],"s":24}],"y":[{"s":11}],"ø":[{"d":69,"y":69},28]}],"s":[{"a":[{"n":[{"e":155,"g":12}],"r":[{".":155,"b":206,"e":[{"n":152}],"k":96}],"u":2},162],"c":69,"e":[{"a":[{"l":[{".":23},38]}],"d":[{"v":[{"a":[{"n":[{"l":[{"e":2}]}]}]}]}],"i":259,"k":88,"l":[{"e":0}],"m":88,"n":[{"d":[{"i":97}]}],"r":[{"k":2,"m":169}],"s":[{"i":11}],"t":[{"j":[{"e":46}]}],"v":[{"a":12}]},173],"g":162,"h":[{"a":368,"o":368},88],"i":[{"d":1,"n":[{"d":12,"n":15}]}],"j":[{"a":[{"g":2}],"i":0}],"k":[{"a":[{"f":15,"n":193,"r":[{"a":46}],"t":2}],"e":[{"n":15}],"i":[{"s":97}],"l":[{"e":3,"o":15},23],"o":69,"r":[{"u":2},153],"u":[{"t":77}],"å":206,"y":1}],"l":[{"e":[{"g":[{"e":[{".":36}]}]}],"i":[{"n":15}],"u":0},69],"m":[{"ø":2}],"n":0,"o":[{"k":69,"l":[{"d":47},22],"r":[{"i":90},69],"v":[{"e":[{"r":[{"e":50}]}]}]}],"p":[{"i":[{"n":150}]},69],"s":[{"a":[{"r":15,"t":4}],"j":[{"å":1}],"k":[{"j":1,"o":[{"r":22}],"u":[{"r":1}]}],"l":54,"m":[{"i":2,"ø":61}],"t":[{"i":26,"r":1}],"v":7}],"t":[{"a":[{"n":[{"d":[{"e":11}]}],"t":0,"v":12}],"e":[{"d":12,"i":38,"n":2,"t":[{"t":[{"e":39}]}]},88],"i":[{"g":149},15],"j":69,"o":[{"f":22,"n":[{"n":61},91],"r":15,"v":19}],"r":[{"a":[{".":6,"n":6,"r":6}],"e":[{"n":22},11],"i":1,"o":12,"ø":[{"d":22}],"å":428}],"u":[{"t":61}],"å":0}],"u":[{"n":[{"g":12}],"r":88}],"v":[{"a":[{"l":[{"e":38,"t":252}],"n":46}],"i":[{"k":[{"a":[{".":46}]}]}]},69],"æ":[{"l":[{"e":39}]},168],"ø":[{"m":31,"y":69}]}],"t":[{"a":[{"e":153,"g":[{"g":152},88],"l":[{".":155,"b":12,"d":15,"l":90}],"n":[{"d":[{"e":38}],"o":61,"v":4}],"r":[{"m":12,"t":12}],"s":[{".":38,"a":512,"e":512},177],"u":770}],"b":[{"a":[{".":1}],"e":[{"d":46}],"i":162,"y":[{".":4}]},172],"c":[{"h":17}],"d":[{"a":[{"t":[{"a":[{".":16}]},162]}]},172],"e":[{".":88,"a":88,"e":0,"i":0,"k":[{"s":[{"t":38},12]},88],"m":[{"a":[{".":31}],"m":38,"t":155}],"n":[{"a":11,"k":90,"u":0},7],"o":88,"r":[{"ø":11},173],"s":771,"t":[{"a":0,"t":90}],"u":4,"v":[{"a":33}]}],"f":[{"a":[{"s":16}],"ø":[{"r":[{"e":17}]}]},172],"g":[{"å":[{"e":167}]},172],"i":[{"f":169,"k":[{"k":[{"u":120}],"u":33}],"l":[{"i":0}],"v":[{"e":[{"n":11}]}]},434],"j":[{"e":[{"n":38}],"u":4},69],"l":[{"e":[{"i":164}],"ø":[{"s":[{"e":17}]}],"å":[{"n":[{"a":16}]}]}],"m":[{"å":[{"l":[{"e":17}]}]}],"n":[{"i":93,"y":172}],"o":[{"m":[{"s":2}],"s":22,"v":23},173],"p":[{"r":164,"å":1}],"r":[{"a":[{"d":[{"i":229}]}],"e":[{"n":[{"g":38}]},12],"i":[{"v":90}],"o":[{"l":90,"s":90}],"u":[{"l":149},166],"ø":[{"d":35},1],"å":[{"k":350}]},69],"s":[{".":162,"e":[{"i":162,"t":[{"j":[{"a":208}]}]}],"j":173,"k":12,"t":166},772],"t":[{"a":[{"k":[{".":191,"e":166}]}],"e":[{"r":[{"k":1}],"v":[{"a":22}]}],"i":[{"d":1,"l":1}],"o":[{"r":[{"e":[{"a":15}]}]}],"r":[{"a":1,"y":164},69],"s":180,"å":[{"r":6}]}],"u":[{"e":22,"n":[{"g":[{"e":[{".":46}]}]},97],"t":230},153],"v":[{"i":[{"l":89,"s":[{"e":17}]}]},172],"y":[{"d":731,".":93},361],"z":167,"ø":[{"r":38,"s":[{"t":16},119],"v":773,"y":[{"a":15}]},69],"å":[{"k":2,"l":90,"n":69,"r":2}]}],"u":[{"m":[{"a":152,"e":38}],"t":152},153],"v":[{"e":[{"d":[{"i":22}],"i":[{"n":24}],"r":[{"i":[{"s":31}]}],"s":[{".":152},24],"t":[{"ø":17}],"v":11}],"i":[{"k":31},38],"r":[{"a":15}],"s":[{"a":35}],"u":38,"ø":[{"r":[{"e":39}]}]},153],"w":153,"x":[{"a":25},281],"y":[{"a":4,"n":152}],"æ":[{"r":[{"l":[{"e":[{"g":[{"e":33}]}]}]}]},153],"ø":[{"v":22},154],"å":[{"r":[{"a":155,"e":152}]}]}],"w":[{"a":[{"l":[{"d":166,"k":[{"o":78},23],"l":23},4],"p":173,"r":[{"d":[{"e":[{"r":127}]}]}],"s":[{"h":18}],"t":172,"z":12},88],"b":[{"o":[{"y":17}]},153],"e":[{"a":[{"t":[{"e":58}]}],"b":2,"g":12,"r":[{"e":15}],"s":[{"s":24,"t":[{"e":[{"r":[{"n":51},123]}]}]},28],"t":[{"t":5},22]},7],"i":[{"a":[{"r":[{".":35}]}],"c":[{"h":18,"z":164}],"d":12,"e":[{"n":557,"r":[{".":35}]}],"f":15,"n":[{"i":12}],"r":[{"a":15,"e":[{"n":12}]}],"t":[{"a":15}]},785],"k":[{"r":12}],"l":153,"m":153,"n":[{"s":15}],"o":[{"b":22,"u":[{"t":16},31]}],"s":[{"k":4},89],"u":[{"r":[{"s":36}]}],"y":[{"o":[{"r":[{"k":203},183]},153]},7],"z":153}],"x":[{"a":[{"n":[{"t":22}]}],"b":152,"f":90,"g":[{"a":31}],"h":152,"i":[{"c":153,"d":334,"e":9}],"k":38,"l":153,"p":154,"r":90,"s":150,"t":152,"u":11,"y":7}],"y":[{"a":[{"b":2,"c":172,"f":15,"h":1,"k":[{"t":[{"e":[{".":31}]}]},153],"l":7,"m":152,"n":[{".":11,"a":88,"e":[{".":1}],"k":61,"s":[{"l":61}]},153],"r":[{"k":153,"r":152}],"s":[{"i":15},23],"t":15,"v":153}],"b":[{"a":[{"n":[{"e":[{".":23}]}]}],"b":[{"e":[{"d":1}]}],"d":[{"e":18}],"o":28,"u":[{"e":[{"r":[{"e":16,"n":61},31]}]}],"y":[{"g":17}]},153],"c":[{"e":[{".":93}],"é":93,"o":228},153],"d":[{"a":[{"b":11,"v":15}],"d":[{"e":[{"l":[{"a":4}],"p":1}]},162],"e":[{"n":[{"h":96}],"o":0,"p":88,"r":[{"o":0}]}],"i":[{"s":259}],"j":[{"e":4,"i":69}],"o":[{"p":12,"v":15},23],"r":[{"a":[{"u":786}],"e":[{"m":15},69],"i":206,"o":[{"k":[{"s":786}]},0]},153],"s":[{"i":12,"v":23}],"u":[{"n":69},88],"ø":[{"m":0,"r":17,"s":69},23]}],"e":[{"d":[{"l":32,"r":[{"e":4}]}],"k":[{"s":38},88],"l":[{"e":[{"n":1,"t":4}],"s":[{"j":53,"k":23,"m":18,"t":47}]}],"m":88,"n":[{"e":[{"r":93},252],"h":88,"i":15,"k":88,"l":[{"e":[{"g":[{"e":[{".":120}]}]}]},88],"s":[{"e":0},5]},7],"r":[{"e":[{"l":1},92],"n":90,"s":[{"k":32,"t":0}]}],"s":[{"m":15},28],"t":[{"e":35,"y":15},7],"v":88},187],"f":[{"a":[{"n":49}],"j":[{"e":[{"l":[{"l":190}]}]}],"l":[{"e":[{".":15},0]}]},153],"g":[{"a":[{".":93,"v":[{"e":[{".":32}]}]}],"d":[{"a":[{"l":1}],"e":[{"k":1,"l":1,"p":1}],"o":7,"r":129,"y":129,"ø":7}],"e":[{"i":22,"n":[{"s":17}],"r":[{"e":[{"t":11}]}],"s":88,"v":0}],"g":[{"a":[{"m":4,"r":[{"t":61}]}],"e":[{"s":103}],"j":15,"l":22,"r":4,"s":82,"u":4,"å":3}],"i":28,"l":[{"o":38}],"m":2,"r":4}],"h":[{"e":[{"s":17}]},153],"i":[{"n":[{".":155}],"s":[{"t":61}]},153],"j":153,"k":[{"a":[{"p":18,"r":[{"a":11}]},153],"e":[{"l":[{".":152,"e":[{"n":38}],"i":90,"s":152}],"n":90,"r":[{"e":[{"l":0}],"o":0},90],"t":[{".":38,"s":155}]},88],"i":153,"j":[{"a":[{"r":[{"e":38},0]}],"e":[{"v":[{"a":[{"n":[{"e":[{".":242}]}]}]}]}]},153],"k":[{"a":[{"n":[{"a":1}]}],"e":[{"n":[{"h":26}],"s":[{"j":15,"t":[{"a":116}]}]}],"j":69,"n":[{"i":22}],"s":[{"k":86,"o":86,"s":86}],"v":[{"i":787}],"y":1}],"l":[{"a":69,"e":[{"s":[{"t":4}]}],"o":153,"u":[{"b":90,"s":12}],"æ":38}],"o":[{"a":88,"l":[{"i":11}],"m":[{"o":0}],"s":[{"a":38}],"t":[{"i":38},88]},153],"r":153,"s":69,"u":[{"l":[{"e":[{".":31}]}]}],"v":[{"a":[{"r":12}]}]},168],"l":[{"a":[{"g":[{"a":32}]},153],"d":[{"a":[{"n":1}],"e":[{"r":[{"k":1}],"s":5}],"r":54,"s":[{"k":19}]}],"e":[{"g":[{"e":[{".":31}]}],"s":152,"v":0}],"i":[{"g":[{"h":33}]}],"k":[{"e":[{"s":[{"l":[{"a":[{"g":[{"a":159}]}]}]},43]},183]},10],"l":[{"e":[{"v":1}],"i":[{"s":[{".":22}]}]}],"s":[{"t":[{"r":[{"e":16}]}]},52],"t":[{"e":[{"t":15}]}],"u":[{"s":[{"e":93}]}],"v":[{"e":[{"n":164}]}],"y":153,"æ":[{"r":[{"e":61}]}]}],"m":[{"e":[{"i":11,"t":[{"e":0}]}],"f":[{"e":[{"d":205}]}],"j":[{"a":[{"r":[{"a":15}]}]}],"o":[{".":0,"e":22}],"p":67,"s":[{"a":[{".":6}],"e":1,"l":6},69],"t":[{"a":[{".":4}],"e":[{".":4}]}],"å":[{"l":[{"a":31}]}]}],"n":[{"a":[{"n":[{"d":192}]}],"d":[{"e":[{"s":91,"t":15}]}],"e":[{"l":[{"d":2},88],"r":[{"g":18}],"s":[{"i":91},42],"v":11}],"g":[{"e":[{"l":15,"m":1}],"r":7,"ø":26}],"k":[{"o":18,"v":3}],"n":[{"a":15,"e":15,"s":65,"ø":23}],"o":[{".":0},90],"s":[{"a":[{"r":[{"e":31}]}],"e":[{"m":1,"t":35}],"i":7,"k":[{"e":[{"t":[{".":39}]}],"i":61,"j":[{"e":[{"l":[{"e":61}],"r":[{".":219}]}]},15]},7],"t":1,"u":7,"v":[{"e":[{"r":26}]}]},54],"t":[{"a":[{"p":1}],"e":[{"g":6,"i":22,"k":1,"t":[{"e":4}]}],"r":109}]}],"o":[{"g":[{"a":[{"t":1}],"i":[{".":4}]}],"m":153,"n":[{"n":[{"e":[{"n":22}]}],"u":4},23],"p":150,"r":[{"d":[{"a":31}],"e":15},150],"u":[{"t":17},23]}],"p":[{"e":[{".":88,"e":0,"n":[{"a":0,"e":[{"t":0}]}],"r":[{"e":[{"l":23}]}],"t":[{"a":11}]},6],"i":[{".":0,"n":[{"g":152,"n":[{"a":46},15]}]},153],"l":150,"o":38,"p":[{"a":40,"e":12}],"r":153,"s":10,"t":[{"o":[{"k":1}]}],"u":90}],"r":[{"a":[{"k":[{"a":32}],"l":788,"r":[{"b":152}],"u":169,"v":15},153],"d":[{"a":2,"ø":15}],"e":[{"a":[{"l":152}],"d":[{"d":206}],"i":[{"n":24,"s":38}],"k":[{"k":789},5],"l":[{"s":90}],"m":[{"s":38}],"n":[{"e":39},153],"o":0,"r":[{"e":[{"l":11}],"o":0}],"s":[{"c":22,"t":[{".":38,"e":[{".":38,"n":36},22]}]}],"t":[{"a":0,"e":0,"o":0,"ø":152},153]}],"g":[{"a":2}],"i":[{"n":[{"g":80,"n":12}],"e":[{"n":[{"e":[{".":31}]}]}],"f":0,"k":[{"a":[{".":32}]}],"s":[{"p":36}]},153],"k":[{"e":[{"e":1,"s":5}],"j":15}],"m":12,"o":[{"e":152,"m":[{"m":90}],"p":69,"s":[{"k":38}]}],"r":10,"s":[{"a":[{"n":1}],"e":[{"t":2}],"k":[{"j":4,"r":4},15],"p":7,"t":[{"a":[{"n":61,"r":22}],"e":[{"n":[{"e":61,"s":22}]}],"i":12}],"v":1}],"t":[{"e":[{"k":4},12],"r":[{"a":12},107],"y":46}],"u":[{"l":[{"l":[{"a":[{".":46}]}]}],"t":[{"r":68}]},153],"v":12,"y":153,"ø":[{"k":12,"y":5}],"å":[{"d":[{"a":32,"e":[{"r":[{"s":31},58]}],"i":0},183],"m":88,"s":[{"t":11}],"t":0,"v":0},376]}],"s":[{"a":[{"k":[{"e":[{"r":[{"s":21}]}]}],"l":206},153],"e":[{"b":[{"u":23}],"d":0,"e":[{"i":22},0],"g":88,"k":[{"t":[{"e":206}]},88],"m":88,"r":[{"a":0,"i":[{"d":61,"e":50}]}],"s":[{"j":0,"k":0,"l":382,"t":[{"e":38},0],"u":11}],"t":[{".":155}],"u":0},1],"i":[{"e":32},4],"j":[{"k":38}],"k":[{"a":[{"g":152,"r":[{"a":4,"e":2}],"u":39}],"l":107,"ø":[{"s":22}]}],"m":[{"i":1}],"n":[{"ø":1}],"o":[{"r":169},153],"p":[{"e":7,"i":[{"s":15}],"o":229}],"s":[{"a":[{"k":4,"m":4}],"e":[{"i":85,"k":85}],"i":[{"l":26}],"j":7,"k":[{"o":109,"u":1}],"o":7,"p":[{"e":22},7],"t":[{"a":[{"b":22},1],"i":26}],"u":1,"v":233}],"t":[{"a":[{"r":[{".":93}],"t":1},12],"e":[{"l":12,"n":12,"r":[{"i":[{"e":[{"n":51}]}]},193],"s":[{"l":2}]}],"i":375,"o":[{"p":24}],"r":[{"a":6,"y":20},24],"u":350,"y":4},7],"u":153,"v":[{"e":69}],"ø":[{"m":206}],"å":[{"r":15}]},173],"t":[{"a":[{"n":[{"a":193}]},153],"e":[{"e":88,"f":0,"g":[{"e":9},88],"i":[{"n":24}],"k":[{"a":0,"i":0}],"n":[{"a":0,"o":0}],"o":88,"r":[{"e":[{"t":0}],"o":31,"s":[{"k":[{"e":17}]},120],"ø":19}],"s":349,"t":88}],"h":[{"i":151}],"i":[{"l":274}],"j":[{"a":35,"e":[{"n":15,"r":35}]},11],"m":[{"e":[{"i":1,"s":1}]}],"o":90,"r":[{"a":6,"e":[{".":1,"r":15}],"i":[{"k":1},69],"å":38}],"s":[{"e":[{"n":85}],"k":12,"v":15}],"t":[{"a":20,"e":[{"r":[{"e":[{"n":[{"d":208}]}]}],"s":[{"t":1},120]},23],"i":[{"e":[{"n":[{".":6}]}]}],"s":[{"a":[{"m":[{"e":[{".":120}]}]}]}]},162],"u":361,"y":[{"s":1},153],"å":320}],"u":[{"a":11,"e":93,"g":6,"l":1},153],"v":[{"a":[{"k":0,"l":[{"a":32}]}],"e":[{"d":88,"r":[{"i":[{"a":23,"s":23}]}],"s":[{"e":0,"y":11}],"v":11}],"i":[{"s":[{"a":32,"e":[{".":31}]}]}],"å":[{"r":69,"t":[{"e":22}]}]},153],"w":153,"æ":38,"ø":38,"å":150}],"z":[{"a":[{"b":15,"e":[{"s":162},164],"g":26,"k":[{"h":20}],"n":[{"i":[{"a":14},5]}],"v":672}],"b":[{"u":23},398],"c":153,"d":153,"e":[{"a":54,"b":[{"u":49}],"l":[{"i":17}],"n":[{"s":[{"e":181},24],"t":181}]},172],"f":153,"g":222,"h":[{"a":166,"i":90,"u":38}],"i":[{"e":166,"f":[{"i":172}],"n":[{"g":166,"t":38}],"s":[{"t":[{"y":168}],"v":383,"y":173},172]}],"k":153,"l":187,"m":153,"o":[{".":166,"e":166,"f":8,"n":[{"o":1}],"r":[{"e":15}],"s":168}],"p":153,"r":38,"s":153,"t":187,"u":[{"e":12,"n":153}],"v":153,"z":[{"a":[{".":153}],"e":[{"l":375}]}]}],"æ":[{"b":[{"y":38,"ø":88}],"d":[{"e":38,"i":152}],"f":153,"g":4,"k":[{"e":90,"i":38,"j":[{"a":69,"e":[{".":2,"r":[{".":35}]}]},93],"k":[{"e":[{"l":120},16]}],"l":4},88],"l":[{"a":153,"e":[{".":0,"d":228,"n":[{"a":0}],"v":0}],"j":15,"s":[{"l":[{"e":33}]}]}],"r":[{"a":[{"k":277,"n":[{"e":90,"s":0}],"r":[{"b":[{"e":11},0],"t":[{"e":1}]}],"t":277}],"b":[{"u":[{"e":17}]}],"d":182,"e":[{"a":88,"d":0,"f":88,"g":88,"i":[{"e":36},206],"k":88,"l":[{"d":96}],"n":[{"e":[{".":22,"s":61}]}],"p":88,"r":[{"n":38}],"s":[{"a":[{"m":103}],"k":[{"r":31}],"l":23,"p":23}],"t":[{"a":0,"e":[{"k":0}],"s":155}],"v":88},153],"f":162,"g":[{"e":[{"n":14}]}],"h":[{"ø":46}],"i":[{"e":[{"n":[{"e":127}]}],"l":193,"n":[{"s":12}],"s":[{".":15},31]},153],"k":582,"l":[{"e":[{"g":[{"e":[{".":36}]}]}]}],"m":[{"å":[{"l":[{"a":46}]}]},162],"n":[{"e":345,"å":1},12],"o":[{"m":[{"s":103},17]},790],"r":15,"s":[{"e":[{"l":4}],"i":[{"l":26}],"k":69,"n":[{"o":40}],"p":7}],"u":[{"t":17},259],"v":12,"ø":[{"y":[{"e":16}]},593],"å":34}],"s":[{"e":[{".":93}],"j":88,"k":259}],"t":[{"a":38,"e":[{".":0},162],"h":[{"e":4}],"r":1,"t":[{"a":1}]}],"v":[{"a":[{"r":17},38],"e":[{"s":23}],"i":38}]}],"ø":[{"a":[{"r":[{"e":2}],"u":23},520],"b":[{"e":[{"l":[{"e":[{"v":31}],"i":23}]}],"l":[{"i":92,"u":39},88],"r":1},153],"d":[{"a":[{"g":12,"k":0}],"d":[{"e":[{".":35}]},12],"e":[{".":88,"d":[{"e":0}],"f":11,"l":[{"a":0}],"m":0,"o":0,"r":[{"i":0,"o":0}]}],"j":38,"r":[{"e":[{"d":1,"k":1,"p":1}]},69],"s":[{"c":7,"e":[{"k":3}],"k":[{"e":61,"o":23,"u":791}],"m":[{"u":23}]}],"t":[{"o":[{"m":462}],"r":31}],"u":[{"n":[{"d":12}],"r":169},88],"ø":97}],"e":[{"d":0,"n":[{"e":38}],"p":38,"r":[{"e":92}]},571],"f":[{"e":32,"f":[{"e":[{"l":[{"a":105}]},12]}],"j":4,"l":[{"a":[{".":6}],"e":[{".":6}]}],"n":38,"t":[{"e":[{"s":17}]}]}],"g":[{"a":[{"k":15,"l":15,"r":152,"s":38},7],"e":[{"r":90}],"g":[{"l":15,"å":6}],"j":393,"l":[{"o":[{"v":[{"e":46}]}]}],"n":[{"s":[{"p":127}]}],"r":[{"e":[{".":15,"s":[{".":15}]}]},156],"s":[{"t":[{"e":1,"r":1}]},28],"t":[{"a":17}],"u":303},69],"h":153,"i":[{"e":[{"r":[{".":15}],"n":[{"e":[{".":9}]}]},1],"n":[{"g":38}],"s":[{"k":38}],"t":0},0],"j":153,"k":[{".":168,"a":[{"v":[{"e":[{".":32}]},38]},200],"e":[{"h":11,"l":[{"o":0}],"r":[{"a":[{"d":[{"a":11}]}],"e":[{"l":11}],"u":195}],"s":[{"e":11,"l":93,"t":0},54],"t":[{"e":0}]}],"i":153,"j":[{"a":[{"r":[{"e":38}],"s":38}],"e":153},162],"k":[{"e":[{"l":15,"t":15}],"l":26,"r":22},173],"l":[{"a":[{"g":12,"n":12}]}],"n":[{"a":173}],"o":[{"p":[{"p":15}]},172],"r":[{"a":[{"r":93}]},153],"s":[{"a":[{".":6}],"e":[{".":4,"s":1}],"i":1,"o":7,"t":[{"i":22},617]}],"u":[{"r":[{".":15,"e":15},23]}],"v":[{"e":2}],"y":152}],"l":[{"a":[{"h":88,"m":11},153],"d":12,"e":[{"d":[{"i":0},475],"l":[{"u":11}],"r":[{"o":0}],"t":[{"a":11,"e":195}],"v":88}],"g":[{"e":[{"r":[{"a":1}],"s":[{"v":80}]}]}],"j":69,"k":[{"e":[{"s":16},7]}],"l":[{"e":[{"s":[{"e":1}],"t":[{"i":35}],"v":4}]}],"o":[{"p":2},153],"r":[{"å":5}],"s":[{"e":[{"l":4,"r":[{"e":1}],"s":99}],"t":623,"v":9}],"u":[{"k":38,"t":2}],"v":[{"a":[{"r":1},36],"e":[{"i":85,"k":4,"l":6,"r":[{"k":61}]}],"i":[{"n":85}],"o":22,"r":61}],"y":153}],"m":[{"e":[{".":0,"t":155}],"f":[{"i":172}],"i":[{"n":[{"i":120}]},38],"m":[{"e":[{"d":1,"r":[{"o":1}],"t":[{"r":1},120]}]}],"o":[{"p":12}],"p":[{"e":[{"l":1}]}],"s":[{"p":40,"t":69,"v":[{"i":15}]}],"u":259,"å":[{"l":[{"a":32}]}]}],"n":[{"a":[{"d":7,"l":97,"s":38}],"e":[{"m":88,"s":[{".":90,"e":155}]}],"h":[{"ø":[{"r":[{"e":[{".":46}]}]}]}],"k":[{"r":109}],"n":[{"a":[{"l":1}],"i":[{"t":26},5],"s":[{"a":[{"l":17}],"e":41,"i":[{"d":415}],"k":[{"j":[{"e":17}],"r":[{"e":17}],"u":17}],"l":18,"t":18}],"ø":7},162],"o":[{"m":11}],"s":[{"a":[{".":35,"k":15,"m":15}],"e":[{".":15,"r":12}],"k":[{"j":[{"e":[{"r":[{".":6}]}]},12]}],"t":[{"r":[{"a":49},18]}]},7],"t":[{"a":7,"o":7},54],"u":94}],"o":153,"p":[{"e":[{"d":[{"a":0}],"i":428,"n":[{"u":0}],"r":[{"o":38,"u":0}],"s":5,"t":[{"e":0,"i":0}]}],"i":153,"l":[{"i":12}],"p":[{"l":4},15],"r":153,"s":[{"a":5,"l":[{"a":[{"g":[{"a":91}]}],"e":[{"g":32}]}],"t":[{"e":15,"i":[{"k":94}]}],"ø":26},232]}],"r":[{"a":[{".":88,"f":259,"k":259,"m":217,"n":[{"s":0,"t":193}],"s":[{"a":32,"i":31}],"u":377},153],"d":[{"e":23}],"e":[{"a":88,"d":[{"d":2,"u":11}],"f":88,"g":88,"i":[{"n":11}],"k":[{"l":36,"s":12,"t":15},88],"l":[{"e":[{"s":[{"e":91}],"t":155}]}],"n":[{"g":169}],"o":626,"p":88,"r":[{"e":[{"t":11}],"u":0}],"s":[{".":38,"e":0,"i":11,"k":[{"r":[{"i":[{"v":[{"i":152}]}]}]}],"o":93,"t":0,"v":127},180],"t":[{"a":0},4],"u":69,"v":88},153],"f":[{"e":15}],"g":[{"e":[{"s":17}]}],"i":[{"m":32},153],"j":[{"e":[{"t":1}]}],"k":[{"e":[{"r":[{"i":1}],"s":1}],"l":[{"a":[{"g":219}]}],"n":3,"v":[{"e":1}],"å":1}],"l":[{"a":[{"g":[{"a":46}]}]}],"m":[{"u":[{"t":39}]}],"n":[{"e":[{"r":[{"e":1}],"s":133},23],"u":85,"ø":26}],"o":[{"k":149,"s":[{"t":193},153],"v":23},69],"r":[{"e":[{"k":1,"p":1}],"i":[{"s":26},5],"å":[{"t":1}]}],"s":[{"a":[{"k":[{"a":46},1],"m":[{"e":[{".":36}]}]}],"c":1,"e":[{"s":4}],"i":7,"k":[{"i":15,"r":1}],"l":[{"e":[{"v":31}]}],"o":[{"m":1}],"p":[{"e":1}],"t":[{"a":[{"r":39}],"e":[{"i":14,"n":[{"s":22}]}],"i":[{"g":22}],"o":12},7],"u":39,"v":7,"å":54}],"t":[{"a":[{"r":35}],"e":[{"k":1}],"i":[{"a":405,"d":[{"e":1}],"e":[{"n":[{".":6}]}],"f":4}],"o":12}],"u":[{"m":17,"t":11}],"v":15,"ø":[{"s":8,"v":54}],"å":[{"p":69}]}],"s":[{"a":[{"m":[{"e":[{".":31}]}],"r":[{"a":[{"r":93}]}]},153],"c":153,"e":[{".":88,"m":88,"n":[{"o":53}],"r":[{"i":[{"e":123},58]}]}],"j":[{"o":15}],"k":[{"a":[{"r":2}]}],"l":[{"a":[{"g":1}],"u":0},69],"m":[{"e":7}],"p":150,"s":[{"n":32}],"t":[{"a":[{"s":[{"t":39},6]}],"e":[{"g":4,"r":[{"s":[{"e":15}]}],"t":[{"t":39}]}],"o":[{"f":22,"v":22},183],"r":[{"e":24},54],"ø":5}],"ø":217}],"t":[{"a":[{"k":12,"r":155,"s":[{"a":15},23]}],"e":[{".":88,"a":88,"f":11,"g":[{"e":11}],"i":88,"k":[{"s":230},22],"l":[{"a":[{".":38}]},88],"n":[{"i":0},90],"r":[{".":90,"u":24}],"s":[{"n":61},458],"t":[{"a":0}]}],"r":[{"i":2}],"s":[{"a":69,"p":34,"å":[{"r":[{"e":49}]},40]}],"t":[{"e":[{"r":[{"o":1}],"s":[{"t":4}],"k":[{"s":22}],"t":[{"a":22,"e":22}]}],"a":[{"v":22}],"r":[{"a":22,"i":61}],"s":[{"å":[{"r":[{"e":58}]}]},180],"u":[{"r":1}],"y":1}],"u":153,"y":38},162],"u":[{"g":[{"l":[{"a":32}]}]},150],"v":[{"a":[{"a":15,"n":[{"s":15}]}],"e":[{"i":[{"n":22}],"k":0,"n":[{"o":22}],"r":[{"e":[{"n":242}]}],"s":[{"t":5},54],"t":[{"e":24}]}],"i":[{"k":38}],"l":[{"u":[{"t":21}]}],"n":[{"e":2,"ø":4}],"o":84,"r":[{"e":[{"b":15}]},69],"s":[{"a":35},69],"å":38}],"y":[{"a":[{"l":12,"n":[{".":191,"s":792},28]}],"d":[{"e":[{"k":1,"r":[{"e":1}]}],"i":32}],"e":[{"b":166,"d":[{"e":60}],"e":7,"l":[{"e":1}],"n":23,"p":1,"r":[{"f":1}]}],"g":[{"l":69}],"k":[{"e":[{".":12}],"s":5,"t":22}],"l":[{"e":[{"d":1,"g":1}]},173],"n":[{"a":15,"i":15}],"o":12,"p":[{"e":[{".":12,"l":1}]},168],"r":[{"a":[{".":1}],"e":[{"r":[{".":15}]}],"i":[{"v":36}],"ø":12}],"s":[{"a":[{"r":9}],"i":15,"l":28,"m":1,"p":[{"i":1}],"u":[{"n":[{"d":166}]}]},69],"t":[{"e":[{"i":1,"l":1,"r":[{"e":1}],"s":80}],"i":[{"d":[{"a":16}]}],"r":69,"s":22,"y":779,"ø":15}],"v":[{"e":[{"i":1}],"å":166}]}],"ø":150,"å":149}],"å":[{"a":[{"k":[{"t":[{"a":31}]}],"n":[{"k":[{"a":[{".":32}],"e":[{".":31}]}]},26],"r":[{"a":[{"n":38}]},88],"u":[{"r":[{"e":23}]}]},153],"b":[{"a":[{"n":[{"e":[{".":32}]}]}],"e":[{"r":183}],"o":[{"t":[{"a":39}]}]},398],"d":[{"a":[{"n":152,"r":155}],"e":[{"d":0,"k":0,"m":0,"o":0,"p":0,"r":[{"e":0,"i":0,"o":11}],"s":88}],"i":152,"r":[{"a":1,"e":6}],"s":[{"k":7,"l":[{"a":34,"o":2,"å":12}],"n":8,"p":[{"e":34,"u":2}],"t":[{"e":21},15]},54]},200],"e":[{"l":[{"e":88}],"m":[{"n":[{"a":32}]}],"n":[{"s":152},7],"r":[{"e":[{".":92}],"i":350},90]},187],"f":[{"e":31,"ø":[{"r":[{"e":22}]}]},153],"g":[{"a":[{".":0,"l":[{"d":2}]}],"e":[{".":0,"i":2,"s":88}],"n":[{"a":17,"e":15}],"r":[{"i":[{"n":15}]},1],"s":[{"k":31,"l":15,"p":2,"t":23}],"u":[{"l":23}],"ø":15,"å":[{".":0}]},173],"h":153,"i":153,"j":153,"k":[{"a":[{"n":90,"r":[{"b":0},90],"v":2},153],"e":[{"h":0,"n":[{"a":0,"h":193},90],"r":[{"e":0}],"s":[{"l":0},22],"v":[{"i":38}]}],"i":[{"d":11},153],"j":153,"k":[{"a":15,"l":31,"r":2},69],"l":[{"a":[{"u":2}],"i":[{"s":[{"t":170}]}],"æ":12}],"o":[{"p":[{"p":12}],"s":23},153],"r":[{"a":4,"ø":[{"k":15}],"å":12}],"s":[{"l":61},8],"t":34,"u":[{"l":95},32],"v":[{"a":[{"l":[{"a":[{".":46}]}]}]}],"ø":[{"y":[{"r":[{"a":[{"r":[{".":46}]}]}]}]}],"å":375}],"l":[{"a":[{"m":[{"p":149}],"r":[{"b":11}],"s":155,"u":793,"v":35},153],"d":12,"e":[{"f":88,"i":[{"n":[{"i":15}]}],"k":88,"m":88,"n":[{"h":169,"i":0}],"r":[{"i":[{"s":31}]}],"s":[{"u":[{"n":[{"d":131}]}]},454],"t":[{"e":0}],"v":88}],"g":[{"å":36},15],"i":[{"o":11}],"j":15,"l":[{"a":[{"g":[{"a":36}]}]}],"o":[{"r":12}],"s":[{"a":[{"n":1}],"e":[{"k":1,"r":1}],"i":61,"p":7,"t":[{"i":1}],"y":[{"n":[{"a":46}]}]}],"t":[{"i":[{"d":17},15]}],"u":[{"l":[{"l":[{"a":46}]}]},69],"y":153,"ø":[{"y":[{"e":5},259]}],"å":[{"k":20,"t":[{"e":[{".":32}]}]}]}],"m":[{"e":[{".":11}],"l":[{"i":[{".":1}]}],"o":[{"m":69}],"ø":[{"y":15}]},168],"n":[{"a":[{"r":90,"s":155},167],"d":[{"r":24,"s":[{"a":23,"e":23,"o":23}]}],"e":[{".":0,"d":[{"s":14},5],"i":19,"l":[{"y":120},88],"s":[{".":38}],"t":[{"r":0},90]}],"i":90,"o":15,"y":155}],"o":90,"p":[{"e":[{"n":[{"a":41,"i":53,"s":18}],"r":[{"o":11},38]},7],"i":153,"j":4,"l":[{"a":153}],"n":[{"e":[{".":1}]}],"p":2,"r":[{"a":17},153],"s":129,"t":[{"a":4}],"å":0}],"r":[{"a":[{"k":12,"n":155,"r":[{"a":152}]}],"d":[{"s":[{"t":[{"r":22}]}]}],"e":[{".":88,"i":38,"l":11,"s":[{"t":0},61]}],"f":[{"i":5}],"i":[{"v":152}],"k":67,"l":[{"e":[{".":1}]}],"n":[{"s":22},173],"o":[{"n":12,"p":12}],"p":[{"o":46}],"s":[{"a":[{"f":22}],"e":[{"l":24,"m":12}],"k":[{"o":24,"u":6}],"l":[{"a":[{"g":[{"a":91}]}]}],"o":[{"l":12}],"t":[{"a":24,"e":2,"i":24,"o":2,"u":15}],"u":54,"v":54,"y":15},7],"u":[{"k":9,"n":12}],"y":9,"ø":153,"å":95}],"s":[{"a":[{"u":2},153],"e":[{".":0,"e":0,"i":[{"d":15}],"k":0,"m":0,"r":[{"i":[{"e":50}]}],"s":[{"m":0,"o":0},82],"t":[{"a":22}]}],"h":12,"i":[{".":93}],"k":[{"a":[{".":15}],"e":[{"n":[{"e":35}]}],"i":6,"j":[{"ø":[{"r":375}]},153],"o":[{"p":2}],"r":153,"u":38}],"l":153,"n":[{"e":15,"i":12}],"o":38,"p":[{"l":2},153],"s":[{"a":15,"e":15,"i":12,"k":[{"å":794},24]}],"t":[{"e":[{"i":152}]},187],"u":[{"n":12,"t":2},23],"v":[{"æ":2}],"ø":[{"y":15}],"å":61},7],"t":[{"a":[{".":0,"k":[{"s":14}],"l":[{"a":39,"e":[{".":22,"n":22},203]},28],"n":[{"g":0}],"r":[{"k":0,"m":169}]},153],"e":[{".":88,"a":88,"e":0,"i":259,"k":[{"e":[{".":31}]}],"o":0,"r":155,"s":88}],"f":[{"e":[{"r":[{"d":166}]}]}],"i":[{"d":[{"a":61}]},38],"n":173,"o":[{"v":2},153],"p":168,"r":[{"e":69,"i":[{"p":[{"a":[{".":36}],"e":[{".":46}]}]}],"u":69}],"s":[{"k":15}],"t":[{"e":[{"d":1}],"i":1,"o":24,"r":[{"i":1}],"s":5,"æ":3},69],"u":[{"n":1},69],"v":[{"a":[{"r":[{"a":17,"e":16}]}],"e":15}],"y":38,"ø":[{"v":69}]}],"u":[{"n":[{"g":[{"e":[{".":32}]}]}]},90],"v":[{"a":1,"e":[{"d":586,"g":0,"l":22,"n":[{"i":0}],"r":[{".":155}],"v":88}],"s":40,"y":152,"æ":[{"r":[{"e":[{".":23}]}]}]},153],"ø":[{"y":23},795]}]}',"att-en-de.bet-re.Ant-wer-pen.Arm-strong.Arm-strongs.Beo-grad.Beo-grads.Brynj-ulf.Brynj-ulfs.Brynj-ulv.Brynj-ulvs.Dansk-øya.Demo-sthe-nes.Gan-dhi.Gan-dhis.Helmut.Kam-tsjat-ka.Me-dina.Nielsen.Nielsens.Not-odden.Not-oddens.Sien-kie-wicz.Steinar.Steinars.Steins-land.Stendhal.Stendhals.Zara-thust-ra.Zara-thust-ras.atten-de.aust-røn.av-ise.aviser.betre.bil-skyss.bil-skyssen.bord-ende.bortan-for.bortre.båt-skyss.båt-skyssen.celle-ska-de.celle-ska-den.celle-ska-der.celle-ska-dene.cheese.dess-uak-tet.dit-over.elev-skys-sen.elev-skyss.et-steds.finger-spitzen-ge-fühl.finger-spitz-ge-fühl.fram-ifrå.før-enn.gi-vet-vis.her-etter.her-etter-dags.hes-te-skyss.hes-te-skyssen.hvor-over.inn-yver.høist-ære-de.kaste-sting.lands-øl.lands-ølet.lands-ølets.langt-ifra.maling-slitt.maling-slitte.midt-etter.midt-skys-sen.midt-skyss.ned-imot.ned-om.ned-yver.noens.næs-ten.nøye-reg-nen-de.opp-imot.oven-ikjø-pet.po-lar-is.po-lar-isen.polis.polisen.promp-te.sel-ves-te.skole-skys-sen.skole-skyss.skrov-is.skrov-isen.smal-enden.spleen.stokk-ende.svart-svidd.svart-svidde.syd-enden.sørpe-is.sørpe-isen.treskje.tvert-om.ukes-kor-tet.ukes-kort.ukes-kort-ene.upp-yver.ut-ørk.ut-ørken.velan.velet".split(".")]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/5643.adapter.js b/public/tools/cloud_sheets/vendor/univer/5643.adapter.js new file mode 100644 index 0000000..157a5de --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/5643.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[5643],{5643(n,a,e){e.r(a),e.d(a,{Id:()=>r});const r=["01,21,201,232,0023,00203,2,021,02,10102,3,0202,00304",'{"a":[{"i":[{"r":8}],"n":[{".":10}]},0],"e":0,"i":[{"o":[{"n":7}]},0],"o":0,"u":0,"b":[{"d":1,"j":1,"k":1,"n":1,"s":1,"t":1,"a":[{"g":[{"a":[{"i":9}]}],"n":[{".":1}]}]}],"c":[{"k":1,"n":1,"a":[{"n":[{".":1}]}]}],"d":[{"k":1,"n":1,"p":1,"a":[{"n":[{".":1}]}]}],"f":[{"d":1,"k":1,"n":1,"t":1,"a":[{"n":[{".":1}]}]}],"g":[{"g":1,"k":1,"n":1,"a":[{"n":[{".":1}]}]}],"h":[{"k":1,"l":1,"m":1,"n":1,"w":1,"a":[{"n":[{".":1}]}]}],"j":[{"k":1,"n":1,"a":[{"n":[{".":1}]}]}],"k":[{"b":1,"k":1,"m":1,"n":1,"r":1,"s":1,"t":1,"a":[{"n":[{".":1}]}]}],"l":[{"b":1,"f":1,"g":1,"h":1,"k":1,"m":1,"n":1,"s":1,"t":1,"q":1,"a":[{"n":[{".":1}]}]}],"m":[{"b":1,"k":1,"l":1,"m":1,"n":1,"p":1,"r":1,"s":1,"a":[{"n":[{".":1}]}]}],"n":[{"c":1,"d":1,"f":1,"j":1,"k":1,"n":1,"p":1,"s":[{"t":3},1],"t":1,"v":1,"g":[{"g":2,"h":2,"k":2,"n":2,"s":2,".":6,"a":[{"n":[{".":2}]}]}],"y":[{".":6}],"a":[{"n":[{".":1}]}]}],"p":[{"k":1,"n":1,"p":1,"r":1,"t":1,"a":[{"n":[{".":1}]}]}],"r":[{"b":1,"c":1,"f":1,"g":1,"h":1,"j":1,"k":1,"l":1,"m":1,"n":1,"p":1,"r":1,"s":1,"t":1,"w":1,"y":1,"a":[{"n":[{".":1}]}]}],"s":[{"b":1,"k":1,"l":1,"m":1,"n":1,"p":1,"r":1,"s":1,"t":1,"w":1,"a":[{"n":[{".":1}]}]}],"t":[{"k":1,"l":1,"n":1,"t":1,"a":[{"n":[{".":1}]}]}],"w":[{"t":1}],".":[{"b":[{"e":[{"r":4}]}],"t":[{"e":[{"r":4}],"a":[{"n":[{"g":[{"a":[{"n":[{".":12}]}]}]}]}]}],"m":[{"e":[{"n":[{"g":5}]}],"a":[{"n":[{"g":[{"a":[{"n":[{".":12}]}]}]}]}]}],"p":[{"e":[{"r":4}],"a":[{"n":[{"g":[{"a":[{"n":[{".":12}]}]}]}]}]}],"a":[{"t":[{"a":[{"u":11}]}]}],"l":[{"e":[{"n":[{"g":[{"a":[{"n":[{".":12}]}]}]}]}]}],"j":[{"a":[{"n":[{"g":[{"a":[{"n":[{".":12}]}]}]}]}]}],"r":[{"i":[{"n":[{"g":[{"a":[{"n":[{".":12}]}]}]}]}]}],"d":[{"e":[{"n":[{"g":[{"a":[{"n":[{".":12}]}]}]}]}]}]}],"v":[{"a":[{"n":[{".":1}]}]}],"z":[{"a":[{"n":[{".":1}]}]}]}',"be-ra-be be-ra-hi be-rak be-ran-da be-ran-dal be-rang.be-ra-ngas-an.be-rang-sang.be-ra-ngus.be-ra-ni.be-ran-tak-an.be-ran-tam.be-ran-tas.be-ra-pa.be-ras.be-ren-deng.be-re-ngut.be-re-rot.be-res.be-re-wok.be-ri.be-ri-ngas.be-ri-sik.be-ri-ta.be-rok.be-ron-dong.be-ron-tak.be-ru-du.be-ruk.be-run-tun.peng-eks-por.peng-im-por.te-ra.te-rang.te-ras.te-ra-si.te-ra-tai.te-ra-wang.te-ra-weh.te-ri-ak.te-ri-gu.te-rik.te-ri-ma.te-ri-pang.te-ro-bos.te-ro-bos-an.te-ro-mol.te-rom-pah.te-rom-pet.te-ro-pong. te-ro-wong-an te-ru-buk te-ru-na te-rus te-ru-si".split(".")]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/5658.adapter.js b/public/tools/cloud_sheets/vendor/univer/5658.adapter.js new file mode 100644 index 0000000..7f44cf2 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/5658.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[5658],{5658(a,i,o){o.r(i),o.d(i,{Fi:()=>e});const e=["1,102,02,012,01,032,0012,001,003,00012,000001,00001,21,212,12,0000021,00021,000212,12000021,0003,002",'{"b":[{"a":0,"e":0,"i":[{"b":[{"l":[{"i":19}]}]},0],"o":0,"u":0,"y":0,"l":[{"o":14},2],"r":[{"i":14,"o":14,"u":14},2]}],"d":[{"a":0,"e":0,"i":0,"o":0,"u":0,"y":0,"ä":0,"ö":0,"r":[{"a":14},2]}],"f":[{"a":0,"e":0,"i":0,"o":0,"u":0,"y":0,"l":[{"a":14},2],"r":[{"a":14,"e":14},2]}],"g":[{"a":0,"e":0,"i":0,"o":0,"u":0,"y":0,"ä":0,"ö":0,"l":[{"o":14},2],"r":[{"a":14},2]}],"h":[{"a":0,"e":0,"i":0,"o":0,"u":0,"y":0,"ä":0,"ö":0}],"j":[{"a":0,"e":0,"i":0,"o":0,"u":0,"y":0,"ä":0,"ö":0}],"k":[{"a":0,"e":[{"u":[{"s":11}]},0],"i":0,"o":0,"u":0,"y":0,"ä":0,"ö":0,"l":2,"r":[{"a":14,"e":14,"i":14}],"v":[{"a":14},14]}],"l":[{"a":[{"s":2},0],"e":0,"i":0,"o":0,"u":0,"y":0,"ä":0,"ö":0}],"m":[{"a":0,"e":0,"i":0,"o":0,"u":0,"y":0,"ä":0,"ö":0}],"n":[{"a":[{"n":[{"t":[{"o":12}],"n":[{"o":12}]}],"j":[{"a":[{"n":13}],"o":13}],"i":[{"k":[{"a":12}]}],"l":[{"e":[{"n":13}]}]},0],"e":[{"d":[{"u":[{"s":13}]}]},0],"i":0,"o":[{"p":[{"e":[{"t":13}],"i":[{"s":[{"t":13}]}]}],"s":[{"a":13}],"t":[{"t":[{"o":12}],"o":[{"n":12}]}],"m":[{"a":[{"i":13}]}]},0],"u":0,"y":[{"l":[{"i":[{"t":13}]}]},0],"ä":0,"ö":0}],"p":[{"a":0,"e":[{"r":[{"u":[{"s":10}]}]},0],"i":0,"o":0,"u":0,"y":0,"ä":0,"ö":0,"l":2,"r":[{"o":14},2]}],"r":[{"a":[{"s":2},0],"e":0,"i":0,"o":0,"u":0,"y":0,"ä":0,"ö":0,"t":[{"a":[{"u":[{"s":10}]}]}]}],"s":[{"a":[{"s":[{"i":[{"a":13}],"e":12}],"l":[{"o":[{"i":13}],"e":[{"n":13}]}],"j":[{"a":[{"t":[{"u":12}]}],"o":13}],"p":[{"u":12}]},0],"e":[{"s":[{"i":[{"t":[{"y":13}]}]}]},0],"i":[{"d":[{"e":[{"a":[{".":13,"n":13}]}]}]},0],"o":[{"h":[{"j":[{"e":12}]}],"p":[{"i":[{"s":[{"k":13,"t":13}]}]}],"s":[{"a":13}]},0],"u":0,"y":[{"r":[{"i":[{"t":13}]}],"h":[{"t":[{"i":13}]}]},0],"ä":0,"ö":0,"t":[{"r":1}],"p":[{"l":[{"i":1}]}],"c":[{"h":20}]}],"t":[{"a":0,"e":0,"i":0,"o":0,"u":0,"y":0,"ä":0,"ö":0,"s":[{"h":20}]}],"v":[{"a":0,"e":0,"i":0,"o":0,"u":0,"y":0,"ä":0,"ö":0}],"ä":[{"y":2,"a":5,"o":5,"u":3,"ä":[{"i":7,"e":7,"y":8},2],"ö":2}],"y":[{"a":3,"o":3,"u":3,"ä":[{"ä":4}],"e":[{"i":4}],"l":[{"i":[{"o":[{"p":9}]}]}]}],"o":[{"y":4,"ä":4,"ö":4,"a":[{"a":4}],"u":[{"u":4,"i":4,"e":7,"o":7}],"i":[{"a":7,"e":7,"o":7,"u":7}]}],"ö":[{"y":2,"a":5,"o":5,"u":3,"ö":2,"ä":2,"e":3}],"u":[{"y":3,"ä":3,"ö":3,"u":[{"a":6,"e":6,"o":6,"i":6}],"a":[{"a":4}],"e":[{"e":4,"a":7}],"i":[{"e":7}],"o":[{"a":7,"u":7}],"s":2,"l":[{"o":[{"s":16}]}]}],"a":[{"ä":4,"ö":4,"a":[{"i":6,"e":6,"o":6,"u":6}],"u":[{"u":4,"a":7,"e":7}],"e":[{"i":4}],"o":[{"i":4}],"i":[{"a":7,"e":7,"o":7,"u":7}],"l":[{"i":[{"a":[{"v":9}]}],"o":[{"u":[{"s":10}]}],"k":[{"e":[{"i":[{"s":15}]}]}]}],"s":[{"i":[{"a":[{"n":14,"t":14,"k":[{"a":[{"s":18}]}]}],"o":[{"i":14}]}]}]}],"e":[{"e":[{"a":6,"i":6,"u":6,"y":6}],"a":[{"a":4,"i":4}],"u":[{"u":4,"a":7}],"ä":[{"ä":4}],"ö":3}],"i":[{"i":[{"a":6,"e":6,"o":6}],"a":[{"a":4,"u":4}],"u":[{"u":4,"a":7,"e":7,"o":7}],"ä":[{"ä":4}],"ö":[{"ö":4}],"e":[{"a":7,"o":7,"y":7}],"o":[{"a":6,"e":6}]}],".":[{"ä":2,"y":[{"d":[{"i":[{"n":16}]}]}],"s":[{"u":[{"u":[{"r":[{"a":17}]}]}]}]}],"c":[{"l":2,"h":[{"r":20}]}],"q":[{"v":[{"i":14},2]}]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/5707.adapter.js b/public/tools/cloud_sheets/vendor/univer/5707.adapter.js new file mode 100644 index 0000000..d091739 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/5707.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[5707],{5707(i,e,a){a.r(e),a.d(e,{EnGb:()=>t});const t=["004,003,0004,00003,005,0003,001,0005,002,0002,00303,0045,000004,0034,00045,0000005,000005,0054,00005,00004,0001,00505,0044,0042,0032,000505,00404,00034,04,1,2,2004,03,4,3,5,05,0025,02,42,401,012,00002,01,202,21,2104,22,054,0000004,000003,0022,00305,0505,00504,40002,43,0414,023,404,505,0041,212,0012,41,32,5004,00054,102,00304,454,412,055,0204,00343,3003,30003,014,1002,122,0202,303,00043,54,025,05005,032,12,4004,044,0104,3402,034,503,14,30004,101,25,301,45,1012,204,0043,0504,504,0502,0101,000000005,045,0021,44,043004,0404,043,045005,03005,4002,0304,003003,052,00405,0201,00023,0023,23,4003,2001,00000005,00021,0014,104,05004,214,0402,042,50004,01004,0303,0403,03004,00001,024,300003,03003,0545,00104,241,2002,0102,405,004005,0024,403,201,041,302,022,0305,3004,50505,5003,4005,20004,304,50002,34,3001,0000054,50021,300004,030004,00012,543,004004,0301,0302,000044,2003,4302,00102,00024,5005,5403,232,00401,00044,00032,24,0405,04104,0412,004403,000504,0052,414,04004,021,50054,50005,1004,0055,05002,203,52,02004,000054,500004,1001,005005,0434,55,44004,00052,000043,011,3002",'{".":[{"a":[{"b":[{"i":0,"o":[{"l":1}]}],"c":[{"e":[{"t":3},2],"h":2,"t":[{"i":[{"v":[{"a":4}]}]}]}],"d":[{"d":[{"i":[{"n":0}]}],"e":1,"o":1}],"e":[{"d":4,"r":[{"i":5}]}],"f":[{"f":1,"t":1}],"g":[{"a":0,"n":4}],"i":[{"r":5}],"l":[{"i":[{"m":4}],"k":6,"l":[{"e":1}]}],"m":[{"a":[{"r":4,"t":[{"e":7}]}],"i":8,"p":[{"e":1,"h":1}]}],"n":[{"a":[{"b":5,"s":5}],"d":[{"a":4},9],"e":[{"l":0,"n":0}],"g":[{"l":0}],"o":[{"n":[{".":0}]}],"s":1,"t":[{"a":5,"i":[{"c":2},10],"o":11}],"y":7},6],"p":[{"h":[{"o":[{"r":7}]}],"i":0}],"r":[{"a":[{"b":4,"p":4}],"c":[{"i":0}],"d":4,"e":0,"i":[{"s":[{"e":0,"i":0}]},2],"s":[{"e":[{"n":4}]}],"t":[{"i":[{"c":[{"l":7}]}]}]}],"s":[{"q":0,"s":[{"i":[{"b":4}]}]},6],"t":[{"a":[{"r":4}],"e":[{"l":[{"i":12}]}],"o":[{"m":[{"i":[{"s":[{"e":4}],"z":4}]}]}],"r":1,"t":1}],"u":[{"b":1,"g":[{"u":13}],"r":[{"e":14}],"s":7,"t":[{"h":[{"e":[{"n":15}]}]}]}],"v":[{"e":[{"r":[{"a":4}]}]},0]}],"b":[{"a":[{"p":[{"t":[{"i":[{"s":[{"m":7}]}]}]}],"r":[{"r":[{"i":[{"c":16}]}]}],"s":[{"i":[{"c":4},2]}]}],"e":[{"d":[{"i":1}],"l":[{"o":1}],"r":[{"a":17}],"s":[{"m":4}]}],"i":[{"e":[{"r":0}]}],"l":[{"a":[{"z":[{"o":18}]}]}],"o":[{"l":[{"o":1}],"s":[{"o":[{"m":7}]}],"u":[{"n":[{"d":19}]}],"v":2}],"r":[{"a":[{"c":[{"h":7}]}],"e":9}],"u":[{"r":[{"n":[{"i":18}]}]}]}],"c":[{"a":[{"d":[{"e":1}],"g":[{"i":[{"n":0}]}],"m":[{"i":7,"o":5}],"n":[{"t":[{"a":7}]},20],"p":[{"i":[{"t":[{"u":4}]}]}],"r":[{"i":2}],"s":[{"u":[{"a":[{"l":7}]}]}],"t":[{"i":0}]}],"e":[{"n":[{"s":[{"o":7}],"t":[{"e":[{"n":[{"a":7}]}],"r":[{"i":18}]}]}],"r":[{"i":2}]}],"h":0,"i":[{"t":[{"a":2}]}],"l":[{"e":[{"m":[{"e":18}]}],"i":[{"m":[{"a":[{"t":[{"o":16}]}]}]}]}],"o":[{"i":[{"t":4}],"p":[{"a":1,"r":[{"o":7}]}],"r":[{"u":1}],"s":[{"i":1}],"t":[{"e":[{"r":4}],"y":[{"l":[{"e":15}]}]}]}],"r":[{"i":[{"t":[{"i":[{"c":[{"i":7}]}]}]}]}],"u":[{"s":[{"t":[{"o":[{"m":15}]}]}]}]}],"d":[{"a":[{"v":7}],"e":[{"a":[{"c":[{"o":7}]}],"l":[{"e":[{"c":4,"g":7}],"i":[{"r":18},1]}],"m":6,"n":[{"i":[{"t":4}],"o":1}],"r":[{"a":1,"e":[{"s":4}],"i":1},9],"s":[{"c":[{"r":[{"i":[{"b":4}]}]}],"e":[{"r":[{"v":4}]}],"i":[{"g":[{"n":[{"e":4}]}],"r":4,"s":4}],"p":[{"o":[{"i":4}]}]}],"t":[{"e":[{"r":[{"m":[{"i":15}]}]}]}],"v":[{"e":1}],"w":0}],"i":[{"a":[{"l":[{".":0}],"s":5,"t":0}],"n":[{"a":2}],"o":[{"c":7}]}],"o":[{"e":0,"m":[{"e":[{"s":[{"t":15}]}]}]},8],"u":[{"a":[{"l":[{".":0}]}],"c":0}],"y":[{"s":5}]}],"e":[{"a":[{"s":[{"t":18}]}],"c":[{"h":[{"i":[{"n":16}]}],"o":5,"t":1}],"d":[{"e":[{"m":4}],"i":[{"t":[{".":0,"i":0}]}]}],"g":0,"i":[{"d":1,"r":4}],"l":[{"e":[{"v":10}],"i":8,"u":[{"s":7}]}],"m":[{"b":1,"i":[{"n":4}],"p":[{"y":4},2]}],"n":[{"c":4,"d":[{"e":[{"d":0}]}],"s":1,"t":[{"a":4},9]},6],"o":[{"s":7}],"p":[{"i":[{"d":5},20]}],"r":[{"a":8,"e":[{"m":21}],"i":22,"o":[{"s":19,"t":3},23],"r":[{"i":0}]}],"s":[{"c":[{"a":[{"l":16}]}],"p":1,"t":1},6],"t":[{"e":[{"r":[{"n":16}]}],"h":[{"e":5}]}],"u":[{"r":2},6],"v":[{"a":[{"l":3}],"o":[{"l":[{"u":[{"t":18}]}]}]}],"w":0,"x":[{"a":1},6],"y":[{"e":5}]}],"f":[{"a":[{"l":[{"l":[{"e":2}]}],"r":[{"i":2}]}],"e":[{"c":[{"u":[{"n":[{"d":[{"a":7}]}]}]}],"n":[{"d":2}],"o":[{"f":[{"f":16}]}]}],"i":[{"l":[{"i":[{"a":4}],"t":[{"r":7}]}],"n":[{"e":[{"s":[{"s":7}]}],"g":5,"i":[{"t":17}]}],"s":[{"c":14}]},8],"o":[{"c":1}],"r":[{"a":[{"n":[{"c":[{"h":18}]}]}]}],"u":[{"g":[{"a":4}]}]}],"g":[{"a":[{"m":[{"e":[{"t":7}]},0]}],"e":[{"n":[{"e":[{"t":[{"i":4},2]}],"i":[{"a":7}]}],"r":[{"o":1}]}],"l":[{"o":[{"r":[{"i":[{"o":18}]}]}]}],"n":[{"o":[{"s":[{"t":12}]}]}],"o":[{"n":[{"o":1}],"s":5}]}],"h":[{"a":[{"b":[{"i":[{"l":[{"i":4}]}]},9],"m":[{"a":18}],"n":[{"d":[{"e":2}]}],"s":[{"t":[{"i":18}]}]}],"e":[{"i":0,"m":[{"a":7}]}],"i":[{"b":1},8],"o":[{"l":8,"r":[{"o":[{"l":4}]}],"v":5}],"y":[{"l":[{"o":1}]}]}],"i":[{"c":[{"o":[{"s":5}]}],"d":[{"i":9}],"g":[{"n":6},1],"l":[{"i":0}],"m":[{"b":4}],"n":[{"d":1,"e":24,"i":8,"o":1,"t":1,"v":[{"e":[{"s":[{"t":[{"i":15}]}]}]}]},6],"r":[{"r":1}],"s":[{"c":0,"l":[{"i":0}],"o":[{"m":7},0]}]}],"k":[{"a":[{"r":[{"o":4}]}],"i":[{"e":0,"n":[{"e":5}]}]}],"l":[{"a":[{"b":[{"o":2}],"m":[{"e":[{"n":[{"t":[{"a":7}]}]},0]}],"n":[{"i":7}],"s":[{"h":[{"e":19}]}]}],"e":[{"m":0,"n":[{"t":[{"i":7}]}],"p":[{"r":7},8],"s":[{"s":[{"o":[{"n":7}]}]}],"v":[{"a":[{"n":4}]}]}],"i":[{"b":[{"r":[{"a":[{"r":15}]}]}],"g":[{"a":5}],"o":[{"n":[{"s":0}]},1],"p":0}],"o":[{"c":[{"a":5}],"g":[{"i":[{"a":0}]}],"p":[{"h":3},8],"u":[{"s":[{"i":18}]}],"v":[{"e":[{"r":7}]}]}],"u":[{"b":5}],"y":[{"o":5}]}],"m":[{"a":[{"c":[{"u":7}],"l":[{"a":[{"d":25}],"i":[{"n":4}]}],"r":[{"t":[{"i":7}]}],"t":[{"h":18}]}],"e":[{"l":[{"o":[{"d":[{"i":[{"o":4}]}]}]}],"n":[{"t":[{"a":7},19]}],"r":[{"i":[{"d":4,"n":4}]}],"t":[{"e":[{"r":2}]}]}],"i":[{"e":0,"g":[{"r":1}],"n":[{"u":[{"e":7}]}],"r":[{"k":19}],"s":20,"t":[{"o":4}]}],"o":[{"b":[{"i":1}],"l":[{"e":[{"c":4}]}],"n":[{"a":5}],"r":[{"t":[{"i":7}]}]}],"u":[{"n":[{"i":1}],"s":[{"i":[{"c":[{"o":18}]},1]}]}],"y":[{"t":[{"h":3}]}]}],"n":[{"a":[{"k":4,"r":[{"i":19}],"s":[{"t":[{"i":7},19]}]}],"e":[{"c":[{"t":5}]}],"i":[{"c":0,"t":[{"r":[{"o":4}]}]}],"o":[{"c":0,"m":[{"o":5}],"s":[{"t":5}],"t":[{"i":[{"c":4}]}]}],"u":[{"c":[{"l":[{"e":16}]}]}]}],"o":[{"b":[{"e":[{"d":18,"l":1}],"l":1}],"d":0,"e":[{"d":7,"s":[{"o":4}]}],"f":[{"t":4}],"i":0,"l":[{"d":0}],"m":[{"e":[{"l":4},9]}],"n":[{"c":[{"e":0}],"e":0}],"p":[{"i":8,"t":[{"a":7}]}],"r":[{"a":[{"t":[{"o":[{"r":[{"i":7}]}]},26]}],"c":[{"h":[{"e":4}]}],"d":1,"e":[{"o":1},2],"i":0,"n":[{"e":[{"r":12}]}],"o":8},6],"s":[{"i":2},6],"t":[{"h":7}],"u":[{"t":20}],"v":0}],"p":[{"a":[{"l":[{"i":7}],"r":[{"a":[{"d":[{"i":[{"s":18}]}],"f":7,"t":18}]}],"t":[{"a":4,"i":[{"o":0}]}]}],"e":[{"c":[{"t":27,"u":3}],"d":[{"e":5}],"n":[{"d":[{"e":7},19]}],"p":[{"t":5}],"r":[{"i":[{"n":18}],"s":[{"e":[{"c":16}]}]}],"t":[{"i":[{"t":[{"i":4}]}]}]}],"h":[{"e":[{"n":[{"o":[{"m":7}]}]}],"o":[{"n":[{"i":19}]}]},8],"i":[{"e":8,"l":[{"a":1}]}],"l":[{"a":[{"s":[{"t":12}]}],"i":[{"c":[{"a":12},19]}],"o":[{"s":19}]}],"o":[{"l":[{"a":1,"i":[{"t":[{"e":4}]}]}],"p":[{"l":7},8],"s":[{"i":[{"t":[{"i":[{"o":4}]}]}],"s":[{"i":7}]}]}],"r":[{"o":[{"b":[{"a":[{"t":7}]}]}]}],"u":[{"r":[{"r":2}],"t":[{"t":[{"e":2}]}]}]}],"r":[{"a":[{"c":[{"e":[{"m":4}]}],"n":[{"g":[{"i":7}]}]}],"e":[{"c":[{"a":1}],"f":[{"e":[{"r":[{"e":7}]}]}],"g":[{"a":[{"r":4}]}],"i":6,"l":[{"i":[{"n":4}]}],"m":6,"o":4,"s":[{"c":[{"i":7}],"e":[{"n":4}],"p":[{"o":4}],"t":[{"a":[{"t":4}],"o":[{"r":[{"e":4}]}],"r":4}]}],"t":[{"a":1}],"u":4,"w":1}],"i":[{"b":[{"a":7}],"n":2,"t":9}],"o":[{"l":[{"l":[{"a":2}]}],"s":[{"a":5}]}]}],"s":[{"a":[{"c":[{"r":7}],"l":[{"i":[{"n":4},2],"t":[{"e":[{"r":18}]}]}],"n":[{"c":18}],"p":[{"a":7}],"v":[{"o":1}]},8],"c":[{"i":[{"e":5}]}],"e":[{"a":[{"s":5}],"c":[{"t":[{"o":7},19]}],"g":[{"r":1}],"n":[{"t":5}],"q":6,"r":[{"i":[{"e":2}]}],"s":20,"v":[{"e":[{"r":[{"a":7}]}]}]}],"h":8,"i":[{"g":[{"n":[{"o":4}]}],"s":5}],"t":[{"a":[{"t":[{"o":19}]}],"r":[{"a":[{"t":[{"o":18}]}],"i":[{"n":[{"g":[{"i":15}]}]}]}]},0],"u":[{"d":[{"a":4}],"l":[{"p":[{"h":[{"a":16}]}],"t":5}]}]}],"t":[{"a":[{"c":[{"t":[{"i":[{"c":7},19]}]}],"m":[{"a":[{"r":16}]},0],"r":[{"o":7}]}],"e":[{"c":[{"t":19}],"l":[{"a":7,"l":[{"e":18}]}],"m":0,"r":[{"a":[{"t":21}],"p":2}]}],"h":[{"o":[{"l":19},2]},0],"i":[{"l":2,"n":[{"i":4}],"t":[{"i":[{"s":2}]}]},8],"o":[{"r":20}],"r":[{"a":[{"n":[{"c":19}]}],"i":[{"b":[{"a":[{"l":7}]}],"d":5,"n":[{"a":19}],"s":[{"t":[{"i":7}]}]}],"o":[{"p":[{"h":[{"o":16},2]}],"v":2}]}],"u":[{"l":[{"a":[{"r":16}]}],"r":[{"b":19,"i":19}],"t":[{"e":4,"o":1}]}]}],"u":[{"l":[{"l":0,"t":[{"i":[{"m":[{"a":[{"t":18}]}]}]}]}],"n":[{"c":[{"e":4,"h":4}],"d":[{"e":[{"r":16}]},24],"e":1,"g":1,"i":[{"c":5,"o":5}],"k":13,"s":4,"t":13,"u":4}],"p":[{"l":1},6],"r":[{"a":2,"e":[{"t":[{"h":4}]}],"o":0}]}],"v":[{"a":[{"l":[{"e":[{"d":4}]}]}],"e":[{"c":7,"l":[{"o":4}],"n":[{"t":[{"i":[{"l":18}]}]}],"r":[{"i":[{"e":2}],"n":5}]},8],"i":[{"c":[{"t":[{"o":7}]}],"s":[{"i":5,"o":4},8]}],"o":[{"c":6,"l":[{"u":[{"t":4}]}]}]}],"w":[{"i":[{"n":[{"e":[{"s":18}]}]}]}],"x":[{"y":[{"l":1}]}],"z":[{"a":[{"r":4}]}]}],"a":[{"a":28,"b":[{".":30,"a":[{"r":[{"e":4}],"y":19},30],"b":[{"e":[{"r":4}]},30],"e":[{"r":[{"d":1,"r":1}],"t":32},31],"i":[{"c":6,"e":32,"n":30,"o":[{"n":7},33],"t":[{"a":1,"u":0}]}],"l":[{"a":1,"i":19}],"o":[{"l":[{"i":[{"c":33}]}],"m":1,"t":[{"a":1}],"u":[{"t":34}]}],"r":6,"s":[{".":30}],"u":[{"l":[{"o":2},6],"s":[{"e":1,"i":1}]}],"y":30},29],"c":[{"a":[{"b":[{"l":4}],"l":1,"n":[{"t":[{"h":35}]}],"r":[{"d":4}],"t":36},8],"h":[{"a":[{"l":7}],"i":[{"n":[{"i":36}],"s":[{"m":7}]}],"r":[{"o":12}],"u":[{"r":7}]}],"i":[{"c":28,"e":[{"r":[{"s":2}]}],"f":19,"t":33},30],"k":[{"a":7}],"l":[{"i":1}],"o":[{".":33,"d":5,"n":[{"r":4}],"s":33,"u":33}],"r":[{"y":1},6],"t":[{"a":[{"t":[{"e":7}]}],"i":[{"l":[{"e":7}]}],"o":[{"r":[{"y":7}]},8],"r":37}],"u":[{"a":[{"t":4}]}]}],"d":[{"a":[{"i":36,"v":5}],"e":[{"e":33,"n":[{"i":4}]}],"h":[{"a":0}],"i":[{"c":[{"a":1}],"f":36,"l":33,"o":[{"p":2}],"p":2,"s":[{"i":19}],"t":[{"i":32}]}],"j":[{"u":34}],"m":[{"i":[{"t":35}]}],"o":[{"e":33,"i":33,"l":1,"s":32,"w":6},38],"r":[{"a":[{"m":12}]},6],"u":[{"l":[{"a":1}],"m":1},39],"y":33}],"e":[{"a":4,"c":[{"i":[{"t":0}],"o":3}],"d":[{"i":[{"s":7}]},33],"g":4,"o":[{"n":1}],"p":4,"r":[{"o":[{"d":[{"y":15}]}]}],"s":[{"i":4,"t":5},0],"t":[{"a":2,"h":19,"o":[{"r":[{".":2}]}]}],"v":[{"a":5}]}],"f":[{".":33,"e":33,"t":[{"a":4}],"u":28}],"g":[{"a":[{"r":[{"i":0}]}],"e":[{"r":[{"i":33}]}],"h":[{"e":36}],"i":[{"a":[{"s":2},36],"n":[{"o":33}]}],"l":[{"i":19},33],"n":40,"o":[{"n":[{"i":1}],"r":[{"a":19}],"t":4}],"r":[{"i":1,"u":18},38]}],"h":[{"a":[{"r":[{"a":7},42]},41],"e":43,"n":0,"o":[{"o":36}]},30],"i":[{".":33,"a":1,"c":43,"d":[{"a":2,"e":[{"r":7}]}],"g":[{"u":4},9],"l":[{"e":[{"r":5}],"o":5}],"m":[{"e":[{"r":7}]}],"n":[{"d":[{"e":[{"r":[{"s":7}]}]}],"e":[{"a":4}],"g":[{".":32}],"i":5,"o":7,"t":[{"e":[{"r":18}]}]}],"r":[{"a":7,"p":7,"s":5}],"s":[{"i":20,"m":36}]},44],"j":[{"u":28},45],"k":[{"e":[{"l":19}],"u":4},30],"l":[{"a":[{"b":[{"l":4}],"c":[{"t":12}],"e":43,"i":[{"s":4}],"m":[{"a":5}],"n":[{"c":[{"e":4}]}],"t":1,"v":36}],"c":[{"a":[{"t":5}],"h":1}],"d":[{"r":[{"i":7}]}],"e":[{"c":32,"g":19,"m":[{"a":7}],"n":[{"d":[{"e":4}]}],"o":43,"t":38},30],"i":[{"b":[{"r":1}],"c":[{"i":2,"s":4}],"d":6,"f":1,"g":35,"n":[{"i":36,"o":18},6],"p":[{"e":4,"o":[{"t":4}]}],"s":[{".":33}],"u":33}],"k":[{"i":[{"e":7}]},33],"l":[{"a":[{"b":0,"g":0}],"i":[{"a":[{"n":18}],"g":12,"s":[{"h":0}]}]}],"o":[{"e":36,"g":[{"r":1}],"m":32,"o":32,"r":[{"i":[{"m":0}]},6],"s":19,"u":[{"s":1},28],"w":36}],"p":[{"e":[{"n":4}],"h":1}],"t":[{"a":[{"t":[{"i":4}]}],"i":[{"e":1}]}],"u":[{"b":5,"e":[{"d":4,"s":1}],"m":[{"n":[{"i":[{"a":36}]}]}]}],"v":[{"a":6,"e":[{"r":4}],"u":7}],"y":[{"n":36},46]}],"m":[{"a":[{"d":36,"g":2,"n":[{"d":18}],"r":[{"i":[{"n":[{"e":36}]}]}],"s":[{".":32}],"t":[{"i":[{"c":48}],"u":4},6]}],"b":[{"i":[{"n":0}],"u":34}],"e":[{"l":[{"o":4}],"n":[{"d":19},32],"r":[{"a":1,"l":4}]}],"i":[{"c":[{"a":4,"r":18},9],"d":34,"l":[{"i":32,"y":4}],"n":[{"i":[{"f":12,"z":4}],"o":[{"s":49}]}],"s":[{".":36}],"u":[{"m":[{".":28}]}]},6],"o":[{"n":32,"r":[{"a":18,"t":50}],"s":[{"e":4}]}],"p":[{"e":[{"r":[{"i":4}]}],"h":[{"i":[{"g":16}]}],"l":[{"i":5}],"o":[{"l":18}]},8],"u":[{"l":1}],"y":[{"l":18}]},47],"n":[{"a":[{"d":[{"i":36}],"e":1,"g":[{"e":1}],"k":7,"l":[{"i":1}],"r":[{"c":1}],"s":[{"t":36}]},8],"c":[{"o":[{"n":0}]}],"d":[{"a":[{"t":13,"u":7}],"e":[{"e":[{"r":7}],"l":4}],"i":[{"f":4,"s":[{"t":7}],"t":4}],"o":[{"n":[{"i":0}]}]}],"e":[{"a":0,"e":[{"r":4}],"l":[{"l":[{"i":18},1]}],"u":1}],"g":[{"a":[{"n":1}],"o":[{"v":12}],"u":[{"r":0}]}],"h":33,"i":[{"c":1,"f":[{"o":4},5],"g":33,"o":[{"n":4}],"s":[{"t":[{"e":18}]}],"t":[{"y":33}],"u":33}],"n":[{"o":4,"y":33}],"o":[{"e":8,"m":[{"a":1}],"r":3,"s":8,"t":4},6],"s":[{"c":[{"o":0},1],"i":[{"l":5}],"u":[{"r":0}]},8],"t":[{"a":[{"b":[{"l":7}],"l":1,"m":4},51],"e":8,"h":[{"i":0,"r":34},29],"i":[{"c":33,"e":0,"n":[{"g":0}],"v":2}],"o":[{"n":[{"e":0}]}],"r":2,"u":[{"s":0}],"y":[{"m":4}]}],"u":[{"l":1,"m":[{".":1,"s":4}],"r":32,"t":36}],"y":[{"a":4,"i":36},8]},38],"o":[{"l":[{"i":5}],"w":35},30],"p":[{".":33,"a":[{"c":43,"l":1,"r":[{"o":4}]},33],"e":[{"l":[{"i":7}],"u":36}],"h":[{"e":[{"m":7}],"i":5,"o":[{"l":7}],"y":[{"l":50}]}],"i":[{"c":[{"u":4}],"n":[{"e":0},1],"r":36},6],"l":[{"a":[{"n":32}],"i":4}],"o":[{"s":[{"t":[{"r":7}]}],"t":[{"h":5}]}],"r":[{"o":[{"n":4}]},38],"s":33,"t":[{"a":[{"t":7}]}],"u":[{"l":[{"a":[{"r":7}]}],"n":36}]},30],"q":[{"u":[{"i":36}]},28],"r":[{"a":[{"b":[{"i":33,"o":7}],"c":[{"t":[{"i":12}]}],"g":[{"e":[{"d":0},1],"i":4,"o":1},9],"j":32,"l":[{"l":1}],"m":5,"n":[{"g":19,"t":[{"e":18}]}],"p":[{"a":4}],"t":6,"u":32,"v":5}],"b":[{"a":1,"e":[{"t":7}],"i":[{"d":0}],"l":[{"i":5},0],"u":[{"l":0}]}],"c":[{"h":[{"e":[{"t":4}],"o":18}]}],"d":[{"i":[{"n":[{"a":4}]}],"o":[{"n":[{"e":0}]}]}],"e":[{"n":[{"d":18},1],"t":[{"t":4}],"v":52}],"g":[{"h":4,"u":1}],"h":1,"i":[{"f":[{"f":4}],"l":[{"l":0}],"n":[{"e":[{"t":53}],"i":4}],"s":[{"h":[{"i":36}]}]},6],"m":[{"e":[{"r":5}],"i":[{"t":4}]}],"n":[{"a":[{"l":1}],"i":[{"s":1}]}],"o":[{"d":1,"i":[{"d":4}],"m":[{"a":[{"s":2}]}],"n":2,"t":[{"i":36}],"u":[{"c":36}],"x":1}],"p":[{"e":[{"r":[{"s":7}]}],"u":0}],"r":[{"h":8},30],"s":[{"a":[{"l":7}],"o":1},8],"t":[{"a":[{"t":7}],"h":[{"e":19,"r":3},8],"i":[{"z":4}]}],"u":[{"m":1,"n":54},30],"y":[{"o":32,"t":36}],"z":4},38],"s":[{"a":[{"f":0,"n":42},6],"c":[{"o":[{"n":4,"t":4}],"r":8},30],"e":[{"c":[{"t":1}],"d":33,"p":19},8],"h":[{"a":[{"y":7}],"i":[{"l":7}]}],"i":[{"l":[{"y":4}],"n":1,"o":36,"t":32,"v":4}],"k":[{"e":[{"r":7}],"i":19}],"l":[{"a":0,"o":0}],"o":[{"c":[{"h":4}],"n":[{"e":[{"d":28}]}],"r":4},30],"p":[{"h":1}],"s":[{"a":[{"g":[{"i":18}]}],"i":[{"b":[{"l":7}],"l":0,"t":16}]},9],"t":[{"a":[{"t":0},30],"i":[{"a":0,"s":1,"t":0}],"o":55,"r":[{"a":1,"i":0}]}],"u":[{"n":0,"r":4},6]}],"t":[{"a":[{"b":[{"i":33}],"l":[{"i":[{"s":36}]}],"m":19,"p":5,"r":[{"a":3}],"s":5,"t":27},47],"e":[{"a":[{"u":1}],"c":[{"h":1}],"e":[{"r":4}],"l":[{".":36,"e":7}],"n":[{"a":[{"t":4}],"t":1}],"r":[{"a":1,"n":[{"i":[{"s":4,"z":4}]}]},33],"s":[{"s":33}],"t":4}],"h":[{"a":5,"e":[{"n":32,"r":[{"i":[{"n":7}],"o":7}],"t":[{"e":7}]}],"i":5,"o":[{"d":5,"n":36}],"r":7},39],"i":[{"a":56,"c":[{"i":[{"s":4,"t":7,"z":4}]},9],"f":38,"l":57,"m":28,"n":[{"a":33,"g":4},58],"s":[{".":59}],"t":[{"u":[{"d":[{"i":15}]},3]},6],"u":33,"v":[{"i":[{"z":36},0]}]}],"o":[{"d":60,"g":33,"l":30,"n":33,"o":32,"p":[{"s":28}],"r":[{"i":[{"a":[{"n":36}]}],"y":28}],"s":19,"z":36},38],"r":[{"a":1,"e":[{"s":[{"s":60}]},28],"i":[{"c":[{"u":16}]},6],"o":[{"n":1,"u":4}]},47],"t":[{"a":[{"g":0}]}],"u":[{"l":6,"m":2,"r":[{"a":1,"g":1}]},47],"y":39}],"u":[{".":33,"b":[{"i":7}],"c":[{"e":[{"r":4}],"o":5},33],"d":[{"e":[{"r":7}],"i":[{"c":12}]}],"l":[{"i":5,"t":[{"e":[{"d":7,"r":18}],"i":18},2]}],"m":[{"a":1}],"n":[{"c":[{"h":[{"i":[{"e":7}]}]}],"d":[{"r":[{"e":2}]},5]},9],"r":[{"e":[{"o":4}],"o":[{"r":4},2]}],"s":[{".":33,"e":[{"r":7}],"p":7,"t":[{"e":[{"d":2}]}]}],"t":[{"a":[{"r":5}],"e":[{"r":5}],"h":1}]},44],"v":[{"a":[{"b":0,"g":[{"e":1},2],"l":[{"a":7,"r":4}],"n":[{"t":4}],"r":4,"s":3}],"e":[{"n":[{"d":1}],"r":[{"n":1}]}],"i":[{"g":1,"o":[{"l":12}],"s":6}]},30],"w":[{"e":[{"r":[{".":4,"s":4}]}],"i":6,"n":[{"i":[{"e":4}]}],"y":4}],"x":[{"i":[{"d":8}]},28],"y":[{"l":[{"a":4}],"m":1,"n":2,"s":[{"i":4,"t":[{"a":4}]},9],"t":[{"h":19}]},33],"z":[{"a":[{"r":1}],"e":[{"e":4},2],"y":[{"g":19}],"z":[{"l":2}]},44]}],"b":[{"a":[{".":30,"b":[{"i":[{"r":4}]}],"c":[{"k":34}],"e":[{"n":19}],"g":[{"a":2}],"h":35,"i":0,"l":[{"a":5,"m":[{"i":18}],"o":[{"n":4}],"u":7}],"m":[{"a":2}],"n":[{"a":[{"n":4},2],"e":28,"g":35,"i":[{"t":[{"i":28}]}],"s":28}],"p":61,"r":[{"b":35,"d":[{"i":12},2],"n":2,"o":[{"m":4,"n":5}],"s":35}],"s":[{"t":[{"e":2}]},29],"t":[{"h":26,"i":[{"c":34,"o":4}],"o":[{"n":7}],"t":[{"l":[{"e":15}]}]}]}],"b":[{"a":[{"t":[{"a":28}]}],"l":[{"i":32}],"o":[{"n":[{"e":28}]}]},62],"c":[{"o":[{"r":[{"d":12}]}]},41],"d":[{"e":[{"a":[{"c":16}],"b":2}],"i":[{"v":2}]},45],"e":[{".":33,"a":[{"s":33},34],"c":[{"a":1,"u":34}],"d":[{"a":1,"e":[{"l":7}],"i":9,"o":0,"r":[{"a":4}],"u":0},30],"e":35,"f":34,"g":[{"o":1,"r":4,"u":1}],"l":[{"a":1,"e":30,"i":[{"t":1}],"t":2},29],"m":1,"n":[{"d":[{"a":18,"e":[{"r":18}]},2],"e":6,"i":[{"g":4}],"u":4}],"o":33,"q":1,"r":[{"e":30,"g":[{"a":[{"m":16}]}],"l":19,"r":35,"s":7,"t":[{"i":[{"n":36}]}]}],"s":[{".":30,"l":1},63],"t":[{"r":1}],"w":1},38],"f":[{"a":2},45],"h":[{"a":28},64],"i":[{".":30,"a":29,"b":61,"c":[{"e":[{"n":16}]}],"d":[{"i":7},65],"e":[{"r":[{"s":0}]},28],"f":[{"i":[{"d":[{".":0}]}]},2],"g":[{"a":4,"u":3}],"l":[{"e":[{"s":35},38],"l":65},43],"m":[{"e":[{"t":16}]},33],"n":[{"a":35,"d":[{"e":3},66],"e":[{"t":7}],"i":67}],"o":[{"l":5,"m":7,"u":1},68],"p":2,"q":4,"r":[{"e":69,"u":[{"s":4}]},2],"s":[{"m":35,"o":2,"u":[{"l":16}]},38],"t":[{"u":[{"a":34}],"y":33}],"v":[{"e":4}]}],"j":43,"k":70,"l":[{"a":[{"c":35,"g":19,"n":32,"s":[{"t":35}],"t":[{"u":7}]}],"e":[{"m":[{"a":[{"t":18}]}],"r":34,"s":[{"p":35}]}],"i":[{"k":33,"m":[{"a":3}],"o":5,"q":9,"s":32}],"y":33},44],"m":[{"e":[{"n":[{"t":12}]}],"i":2},45],"n":64,"o":[{".":33,"a":[{"m":4},34],"b":35,"d":[{"i":7}],"h":4,"i":[{"d":30}],"k":[{"e":33}],"l":[{"e":[{"d":33},2],"i":5,"t":2}],"n":[{"c":2,"e":2,"i":[{"e":2,"f":19}],"s":[{"p":2}]},34],"o":29,"r":[{"a":[{"t":32}],"d":5,"e":[{"e":7,"t":7}],"i":[{"c":7,"o":7},34],"n":2}],"t":[{"a":[{"n":5}],"i":35}],"u":[{"n":[{"t":[{"i":18}]}],"r":34,"s":19}],"w":[{"s":5},9],"x":[{"y":33}],"y":35},8],"r":[{"a":[{"c":[{"h":34}],"l":33,"m":19,"n":[{"d":19},38]}],"e":[{".":33,"a":[{"s":28}],"s":39,"v":[{"e":[{"t":18}]}]}],"i":[{"d":38,"e":[{"f":35}],"n":[{"g":16}],"o":[{"s":2}],"s":[{"t":36}]}],"o":[{"a":28,"m":[{"a":2}],"s":19}],"u":[{"m":19}],"y":[{".":33}]},0],"s":[{"c":[{"o":[{"n":12}]},32],"e":[{"n":19,"r":[{"v":[{"a":[{"n":16}]}]}]}],"i":[{"n":19},36],"o":[{"l":[{"e":3,"u":5}]},9],"t":[{"a":[{"c":28}],"u":[{"p":[{"e":15}]}]}]},71],"t":[{"l":[{"e":[{"t":36}]}]},45],"u":[{".":33,"b":35,"f":[{"f":[{"e":[{"r":7}]}]}],"l":[{"i":28,"o":[{"s":28}]}],"n":[{"a":[{"t":72},2],"t":19},9],"r":[{"e":5,"r":[{"i":2}]}],"s":[{"i":[{"e":19}],"s":[{"i":7},42],"t":34}],"t":[{"a":[{"r":4}],"e":32,"i":[{"n":36,"o":34,"v":2}],"o":53}]}],"v":43,"w":56,"y":[{".":33,"i":34,"s":2,"t":35},30]}],"c":[{"a":[{".":30,"b":[{"i":[{"n":7}]}],"c":[{"e":28,"o":3}],"d":[{"r":2}],"f":35,"g":[{"o":1}],"i":35,"k":35,"l":[{"a":[{"m":[{"a":[{"n":4}]}],"r":7},28],"c":34,"e":[{"f":4}],"l":[{"i":[{"n":18}]}],"m":2,"y":1},43],"m":[{"a":1,"i":2}],"n":[{"a":[{"r":4}],"e":73,"o":[{"e":1},28],"t":[{"a":[{"r":7}],"e":[{"d":7}],"i":[{"c":2}],"r":2}]}],"o":35,"p":[{"i":[{"l":4}],"t":[{"i":5},19],"u":5},29],"r":[{"a":[{"c":52,"m":[{"e":7}]}],"e":[{"e":1}],"i":[{"c":74,"f":5}],"m":7,"n":[{"i":5}],"o":[{"l":5,"n":7,"o":7,"u":1}],"v":2},29],"s":[{"e":18,"h":[{"i":12}],"s":75,"t":[{"i":[{"g":7}]}],"u":76}],"t":[{".":28,"c":38,"o":[{"m":28}],"r":24,"s":28,"u":2},43],"u":[{"l":[{"k":[{"i":12}]}]},34],"v":[{"i":[{"l":5}]}],"y":34}],"c":[{"e":[{"n":[{"t":[{"r":16}]}],"s":[{"s":[{"a":19}]}]}],"h":32,"i":[{"d":27,"p":19}],"l":[{"e":3}]},77],"e":[{".":33,"a":[{"b":33,"n":3,"s":34}],"c":[{"i":0}],"d":[{"a":[{"r":1},35],"e":34,"i":34},30],"f":33,"g":4,"i":[{"v":34}],"l":[{"a":[{"i":5}],"i":[{"b":25}],"l":[{"i":[{"n":7}]},35],"o":[{"m":4},19],"y":33}],"m":[{"e":[{"t":0}],"i":34,"o":0},30],"n":[{"c":[{"i":7},35],"d":[{"e":[{"d":7,"n":18,"r":18}]}],"i":5,"n":30,"t":[{"a":19,"e":[{"d":7,"r":[{".":7,"s":7}],"s":7}]},34]},78],"p":[{"t":[{"a":3,"i":[{"c":7}]}]},29],"r":[{"a":34,"b":[{"i":2}],"d":34,"e":[{"m":1}],"n":35}],"s":[{"s":35,"t":[{"o":18,"r":7}]}],"t":8,"w":2}],"h":[{".":33,"a":[{"b":33,"e":34,"i":34,"m":[{"p":[{"e":[{"r":18}]}]}],"n":[{"g":[{"i":18}]}],"p":[{"a":5}]}],"e":[{"c":19,"d":33,"e":34,"m":34,"o":[{"l":5}],"r":[{"i":[{"n":35},0],"l":0},6],"s":33,"t":[{"e":34}],"u":4,"v":[{"a":7}],"w":34,"x":4}],"i":[{".":35,"a":34,"c":[{"o":34}],"l":[{"y":1}],"n":[{".":0,"n":1}],"o":34,"p":35,"z":[{"z":12}]}],"k":4,"l":[{"o":[{"r":35}]}],"m":33,"o":[{"a":5,"c":35,"i":[{"d":4},33],"r":[{"e":[{"d":33}],"o":[{"l":18}]},34],"s":[{"o":33}],"t":[{"i":33},34],"u":[{"s":4}],"w":18},29],"r":34,"u":[{"r":19,"t":34}],"y":[{"d":35,"l":34,"m":34}]},30],"i":[{".":33,"a":[{"c":33,"m":2}],"c":[{"a":1}],"d":[{"s":33}],"e":[{".":33,"r":1,"s":[{"t":1}],"t":4}],"f":[{"i":19},1],"g":[{"a":[{"r":16},1]},33],"l":[{"l":[{"i":[{"n":7}]}]},34],"m":[{"a":5,"e":[{"n":35},1]},30],"n":[{"a":[{"b":33}],"d":33,"e":[{"a":18,"m":[{"a":[{"t":18}]}],"s":[{"s":4}]}],"t":33}],"o":[{"l":1,"m":4}],"p":[{"o":0}],"s":[{"i":19}],"t":[{"r":5}]},79],"k":[{"a":[{"r":18,"t":7}],"e":28,"i":[{"f":4}],"s":[{"c":0}]},6],"l":[{"a":[{"r":[{"i":[{"f":7}]}],"s":34}],"e":[{".":30,"c":36,"m":[{"a":[{"t":49}]}],"v":3},80],"i":[{"m":20,"n":[{"g":32}],"q":9}],"o":[{"q":2,"t":[{"r":28}]}],"u":[{"e":19}],"y":[{"p":18,"s":35}]},8],"n":[{"i":32},8],"o":[{".":33,"a":34,"b":[{"a":4}],"c":[{"i":1,"u":4},34],"d":[{"i":[{"c":1,"f":1}],"y":33}],"e":[{"t":4},34],"g":[{"r":1}],"i":[{"d":56,"n":[{"c":1}]}],"l":[{".":33,"a":5,"o":[{"g":1,"u":35}],"y":4}],"m":[{"a":[{"s":4}],"e":0,"o":69,"p":19}],"n":[{"a":[{"t":[{"i":2}]}],"c":[{"h":2}],"d":[{"e":[{"r":18}]}],"e":[{"y":2}],"i":[{"e":2}],"s":5,"t":[{"a":[{"d":16}]},5]},20],"o":[{"p":19,"r":1},34],"p":[{"e":2,"h":1,"l":4,"o":1,"t":2}],"r":[{"a":30,"d":[{"e":[{"d":7,"r":18}]}],"e":[{"d":33,"l":1}],"n":34,"o":[{"l":4},33],"t":35}],"s":[{".":34,"t":[{"a":3,"e":[{"r":18}]}]}],"t":[{"a":4,"r":81,"y":35}],"u":[{"s":[{"t":18}]}],"v":[{"a":1},20],"w":[{"a":7}],"z":[{"i":4},2]},79],"q":43,"r":[{"a":[{"f":[{"t":[{"i":16}]},35],"n":[{"i":[{"u":7},35]},28],"s":[{"t":3}],"t":[{"e":2}]}],"e":[{"a":[{"n":33,"t":5}],"p":82,"t":[{"i":35,"o":[{"r":18},2]}]},38],"i":[{"l":5}],"o":[{"n":19,"s":[{"t":12}],"u":33}],"u":[{"s":83}],"y":[{"m":3,"o":3},9]},8],"s":[{"i":[{"m":18}]},70],"t":[{"a":[{"c":[{"u":18},32],"g":53,"n":[{"t":4},6],"r":[{"i":[{"a":36}]}],"t":[{"o":32}]},38],"e":[{"a":28,"e":84,"n":[{"t":28}],"r":[{"i":[{"a":19}]}],"s":4,"t":4},43],"i":[{"c":[{"i":[{"a":36}],"s":28},8],"f":[{"i":[{"e":12}]}],"m":32,"n":[{".":0,"a":0,"g":4,"i":32,"o":85}],"o":36,"s":86,"t":[{"u":28,"y":28},32],"v":[{"e":4,"i":[{"t":0}]}]}],"o":[{"l":[{"o":4}],"m":43,"n":32,"r":[{"i":[{"s":36,"z":36}]}]}],"r":[{"e":38,"o":[{"t":18}]},43],"u":[{"m":38},43],"y":43},30],"u":[{"b":[{"a":[{"t":5}]}],"f":28,"i":[{"t":[{"y":4}]}],"l":[{"a":[{"b":7}],"i":38,"l":[{"e":[{"r":18}],"i":[{"n":18}]}],"t":87}],"m":[{"i":0}],"n":[{"a":35,"e":2,"i":35}],"o":[{"l":35}],"p":[{"a":4,"i":1,"l":32}],"r":[{"e":[{"r":2}],"i":[{"a":[{"l":7}]}],"o":88},29],"s":[{"a":7},29],"t":[{"i":[{"v":32}],"r":32}],"u":35,"v":4}],"y":[{".":30,"b":[{"i":0}],"c":29,"l":5,"m":0,"n":[{"o":4}],"s":[{"t":[{"o":7}]},2],"t":0}],"z":8}],"d":[{"a":[{".":33,"b":[{"r":28}],"c":[{"h":[{"e":36},19],"t":34},87],"g":[{"i":89},43],"l":[{"e":28,"g":28,"l":[{"e":[{"r":7}]}]}],"m":[{"a":7,"e":34,"i":32,"u":4}],"n":[{"g":34,"t":90}],"p":32,"r":[{"d":32,"m":35}],"s":[{"t":[{"a":18}]},91],"t":[{"i":[{"v":12}],"u":2},43],"u":[{"g":[{"h":50}],"n":[{"t":[{"e":18}]}]}],"v":34}],"b":32,"c":92,"d":[{"e":[{"r":[{"e":28}]}],"i":32,"l":[{"e":[{"r":32}],"i":32}],"y":[{"i":32}]},77],"e":[{".":30,"a":[{"c":[{"t":3}],"w":4}],"b":[{"i":[{"t":7},0]}],"c":[{"a":[{"n":[{"t":4}]}],"i":[{"l":0}],"r":6,"t":33},34],"d":[{"i":5}],"f":[{"o":[{"r":[{"e":16}]}],"y":[{".":0}]}],"g":[{"u":0},1],"i":[{"o":1,"s":93}],"l":[{"a":[{"t":1}],"i":[{"e":19}],"l":[{"e":[{"r":7}],"i":7}],"o":4}],"m":[{"i":[{"e":33,"s":88}],"o":[{"n":[{"s":0},19],"r":1,"s":0}],"y":33},94],"n":[{"a":63,"d":2,"e":33,"h":32,"i":[{"e":19}],"s":[{"a":18,"e":[{"r":18}]}],"t":[{"i":[{"t":7}]}]}],"o":[{"d":1,"l":5,"n":[{"t":16},42]}],"p":[{"e":[{"n":12}],"o":[{"s":[{"i":49}]}],"u":8},6],"q":32,"r":[{"a":[{"c":12,"i":1}],"e":[{"d":33,"g":4,"r":34},28],"i":29,"k":5,"m":[{"i":[{"n":7},2]},34],"n":[{"e":35}],"o":[{"s":7},95],"s":5,"u":35}],"s":[{".":33,"a":1,"c":[{"a":[{"l":4},2]},35],"e":[{"c":1}],"i":[{"d":1,"g":[{"n":[{"a":7}]}]},2],"p":[{"o":[{"n":7}]},20],"q":1,"t":[{".":32,"i":5}]}],"t":[{"e":[{"s":1}],"h":4,"i":8},96],"v":[{"i":[{"l":5,"s":1,"t":1}],"o":[{"i":0,"l":[{"u":16}]}]}],"x":34}],"f":[{"o":[{"l":19}]},97],"g":[{"a":0,"e":[{"l":19,"n":28}],"r":32},38],"h":[{"o":[{"t":19}],"u":28},64],"i":[{".":33,"a":[{"d":8,"r":34,"t":[{"o":[{"m":18}]}]},29],"b":64,"c":[{".":43,"a":[{"m":7}],"e":0,"h":1,"l":36,"o":[{"l":7}],"t":[{"a":[{"t":7}],"e":2},29],"u":[{"l":35,"r":36}]}],"d":29,"e":[{"r":[{"s":0}],"v":81}],"f":[{"o":28}],"g":[{"a":[{"l":5,"m":1}]}],"l":[{"l":35,"o":19,"u":1},2],"m":[{"e":[{"r":4,"t":12}],"i":6}],"n":[{"e":2,"g":[{"i":7}],"o":[{"s":4}]},45],"o":[{"c":2,"l":[{"a":0}]},98],"p":[{"t":7}],"r":[{"e":34,"i":1,"o":99}],"s":[{"c":28,"e":[{"n":50}],"i":[{"a":34}],"s":34},61],"t":[{"a":[{"s":28}],"e":[{"r":28}],"h":[{"e":12}],"o":[{"r":50},32],"y":30}],"u":29,"v":[{"a":[{"l":0}],"i":[{"n":[{"e":4}]}]},100],"x":[{"i":2}]}],"j":43,"l":[{"a":43,"e":[{"f":35,"s":[{"t":35}],"w":34}],"i":[{"n":19}],"o":43,"u":36},101],"m":45,"n":71,"o":[{".":33,"b":28,"c":[{"u":102}],"g":[{"a":2}],"j":0,"l":[{".":28,"e":[{"n":5}],"i":[{"n":[{"e":4}],"t":7}],"o":[{"n":0}],"s":28}],"m":[{".":35,"a":[{"n":12}],"i":[{"n":[{"o":7},16],"t":7}],"o":4}],"n":[{"a":[{"t":2}],"y":33}],"o":34,"r":[{".":33,"m":2,"t":19},38],"s":[{"i":[{"m":4}],"s":[{"i":12}]},28],"t":[{"a":20,"t":[{"i":[{"n":2}]}]}],"u":[{"s":30}],"w":[{"n":28}],"x":34},29],"p":43,"r":[{"a":[{"i":[{"l":36}],"l":32,"m":34,"n":19,"s":[{"t":12},28]}],"e":[{"l":34,"s":[{"s":[{"o":16}]},19]}],"i":[{"e":2,"f":28,"g":82}],"o":[{"m":28,"p":[{"h":[{"o":49}]}]}],"u":[{"n":[{"k":50}]}]},8],"s":[{"l":36,"m":[{"i":0},1],"w":28},71],"t":[{"h":[{"o":4}]},0],"u":[{".":30,"a":[{"t":6}],"c":[{"h":18,"i":[{"a":[{"n":18}]}],"o":0},34],"e":[{"l":[{"i":4,"l":4}],"n":4,"t":[{"t":4}]}],"i":[{"n":4}],"l":[{"c":5,"e":32,"l":2}],"m":[{"b":[{"e":2}]}],"n":[{"a":2,"c":103}],"p":[{"l":1},8],"r":[{"o":35}],"s":[{"e":36,"t":[{"e":[{"r":18}]}]}],"u":1},29],"v":[{"e":[{"r":[{"t":50},42]}],"o":[{"c":[{"a":[{"t":18}]}]}]},43],"w":[{"e":[{"l":[{"l":50}]}]},45],"y":[{"a":[{"d":[{".":0}],"r":4}],"e":104,"k":35,"l":[{"l":3},9],"m":[{"i":35}],"n":34,"s":[{"p":5}]},47],"z":[{"o":32}]}],"e":[{"a":[{"b":33,"c":[{"t":[{"e":2},43],"u":4}],"d":[{"d":36,"e":[{"r":5}],"i":20,"l":[{"i":5}]}],"g":0,"k":20,"l":[{"a":5,"e":[{"r":5}],"o":[{"g":1}]}],"m":[{"b":[{"l":2}],"e":[{"r":5}]}],"n":[{"i":7}],"p":[{"e":[{"r":7}],"p":32},9],"r":[{"a":5,"e":[{"r":5}],"l":[{"i":2}],"r":105,"t":[{"e":2,"h":[{"i":16}]}]}],"s":[{"e":[{"r":7}],"o":[{"n":[{"i":0}]}],"s":[{"e":[{"m":49}]},106],"t":[{"i":18},2]}],"t":[{"e":[{"n":[{"i":7}],"r":5}],"i":[{"e":7,"f":32,"t":[{"u":2},12]}],"r":[{"i":32}],"u":28}],"u":5,"v":[{"i":[{"e":19},7],"o":[{"u":7}]}],"z":[{"i":7}]},8],"b":[{"a":[{"r":19}],"b":8,"e":[{"l":[{".":28,"s":28}],"n":38,"t":4},2],"i":[{"l":36,"n":28,"s":28},8],"l":28,"o":[{"s":28,"t":[{"o":3}]}],"r":[{"a":6},38],"t":8,"u":[{"c":28,"s":[{"i":18}]}]},43],"c":[{"a":[{"d":[{"e":[{"n":18},1]}],"l":[{"e":18}],"m":36,"p":[{"o":28}],"t":[{"h":4},1]},8],"e":[{"n":[{"t":[{"o":16}]}]},43],"h":[{"i":5}],"i":[{"b":28,"f":2,"p":[{"i":18}]}],"l":[{"i":[{"p":1}]},43],"o":[{"n":[{"s":[{"c":19,"t":[{"i":[{"t":107}]}]}]}],"r":[{"a":1,"o":4}]}],"r":[{"a":[{"t":1}],"e":[{"a":[{"n":4}],"m":28}],"o":6}],"t":[{"a":[{"t":[{"i":7}]}],"e":[{"r":0}],"i":[{"c":19,"t":0}],"u":[{"s":11}]}],"u":[{"l":[{"i":36},6]}]}],"d":[{"a":[{"n":[{"s":36}],"t":38}],"e":[{"d":28,"h":36,"l":[{"e":28}],"s":[{"t":3}],"t":[{"e":[{"r":15},5]}],"v":32,"w":36},9],"g":0,"i":[{"a":[{"l":[{"s":2}]}],"c":[{"a":[{"l":4}],"s":4}],"g":[{"e":[{"s":49}],"r":4}],"m":[{"e":1}],"t":6,"v":[{"i":[{"d":18}]},9]}],"l":[{"i":1}],"o":[{"r":19,"x":28}],"r":[{"o":6}],"u":[{"c":[{"e":[{"r":7}]}],"l":[{"o":1},38],"r":108}]},30],"e":[{"c":[{"e":0}],"d":[{"e":[{"r":5}],"o":0}],"f":8,"g":4,"i":6,"l":[{"i":109}],"m":[{"e":[{"r":7}],"i":5},8],"p":[{"a":0},20],"r":[{"i":[{"n":[{"e":2}]}]}],"s":[{"i":19}],"t":[{"o":1}]}],"f":[{"a":[{"c":[{"t":[{"o":16}]}],"l":19}],"e":[{"r":[{"e":[{"e":4}]}]}],"i":[{"n":[{"i":[{"t":[{"e":4}]}]}],"t":[{"e":28}]}],"l":0,"o":[{"r":[{"e":[{"s":[{"t":18}]}]}]}],"u":[{"g":28,"t":[{"a":18}]},30]},43],"g":[{"e":[{"l":3}],"i":[{"a":7,"b":28}],"l":[{"a":32,"e":1}],"m":[{"i":0}],"n":[{"a":[{"b":4}]}],"o":[{"n":48}],"r":38,"u":[{"r":36}]}],"h":[{"o":36,"s":4,"y":[{"d":[{"r":18}]},9]},41],"i":[{"d":[{"o":35},2],"f":33,"g":[{"n":[{"i":[{"t":36}]}]},9],"n":[{".":28,"c":32,"e":38,"g":43,"i":7,"s":[{".":28}]}],"p":22,"r":[{"o":5}],"s":[{"i":5},33],"t":[{"e":[{"r":7}],"h":19}],"v":[{"e":[{"r":5}]},38],"z":38}],"j":[{"u":[{"d":[{"i":[{"c":49}]}]}]},43],"k":[{"e":[{"n":1}],"i":[{"s":4}],"l":0}],"l":[{"a":[{"c":28,"d":36,"g":[{"e":4}],"m":19,"n":[{"c":4}],"s":[{"t":50}],"t":[{"e":[{"s":28}],"i":[{"v":[{"e":4}]}]}]}],"c":[{"h":[{"e":[{"r":18}]}]}],"d":[{"e":[{"r":5}]}],"e":[{"a":[{"g":18}],"d":110,"n":[{"i":4,"o":1}],"o":5,"p":[{"h":7}],"r":6,"s":[{"s":36,"t":[{"e":28}]},43],"t":[{"o":10}],"v":[{"a":3,"i":5}],"x":4},30],"i":[{"c":[{"a":111}],"e":[{"r":[{"s":2}]},43],"m":32,"n":[{"g":1}],"o":[{"n":5}],"s":112,"t":[{"t":19}],"v":32}],"l":[{"a":[{"b":0}],"i":[{"z":7}]}],"o":[{"a":32,"c":[{"a":7,"u":3},32],"d":[{"i":2}],"g":38,"m":[{"a":[{"t":[{"e":18}]}]}],"p":[{".":4,"s":4}]}],"p":[{"i":[{"n":7}]}],"s":[{"o":1}],"t":[{"i":[{"e":4}]}],"u":[{"m":2,"s":19},43],"v":2,"y":[{"i":36,"t":34}]}],"m":[{"a":[{"g":[{"o":1}],"n":[{"a":1}],"r":[{"c":[{"a":16}]},19],"t":[{"i":[{"z":4}],"o":[{"l":18}]}]}],"b":[{"i":4}],"e":[{"e":28,"l":28,"m":32,"r":[{"a":113,"o":4}],"t":[{"e":19}]},90],"i":[{"c":[{"i":[{"s":0}]}],"e":28,"g":[{"r":[{"a":18}]},38],"n":[{"a":1,"g":4}],"o":32,"s":[{"m":1}],"t":[{"a":28}],"u":28}],"m":[{"a":[{"e":0}]}],"n":[{"i":[{"t":33}]}],"o":[{"b":[{"i":5}],"d":[{"u":19}],"g":38,"i":28,"l":[{"o":1}],"m":4,"n":[{"i":32,"o":[{"l":18}]},33],"r":[{"i":[{"s":4}],"r":1},38],"t":[{"i":[{"c":28}]}],"z":36}],"p":[{"a":[{"r":[{"a":15},18]}],"e":[{"s":4}],"l":[{"i":[{".":33}]}],"r":[{"e":0}]}],"u":[{"m":1,"t":36}]}],"n":[{"a":[{"c":1,"l":28,"m":[{"o":10}],"n":[{"n":0}],"r":58,"s":[{".":1}],"t":[{"u":[{"r":[{"e":7}]}]}]}],"c":[{"e":[{"p":34}],"i":[{"l":[{"e":0}]}],"t":19}],"d":[{"a":[{"l":11}],"e":[{"d":[{"l":0}]}],"r":[{"i":[{"t":7}]}]},30],"e":[{"d":7,"e":1,"l":[{"l":[{"e":36}]}],"p":36,"r":[{"e":[{"o":36}],"v":18},38],"s":[{"i":4,"s":32}],"t":[{"t":0},6],"u":58,"w":32},33],"g":[{"i":1}],"i":[{"c":1,"e":[{"r":4}],"g":[{"r":10}],"n":4,"t":[{"u":18}]}],"k":1,"o":[{"i":1,"m":9,"t":[{"y":1}],"v":3},6],"s":[{"a":[{"l":7}],"p":1,"u":[{"m":0,"s":0}]},8],"t":[{"a":[{"r":5}],"e":[{"r":[{"s":0}]}],"i":[{"a":4,"f":[{"y":0}]}],"o":8,"r":[{"i":[{"n":7},0]}],"u":[{"p":7,"s":0}]}],"u":[{"a":1,"f":1,"r":1,"t":4},33],"w":[{"a":35}]}],"o":[{"b":1,"c":[{"h":28}],"d":[{"a":28}],"f":9,"l":[{"a":[{"r":[{".":7}],"t":7}],"o":[{"g":[{"i":49}]}],"u":36},8],"m":1,"n":[{"a":2,"t":32}],"p":[{"t":2}],"r":[{"d":[{"e":2}],"e":5,"o":7},106],"s":63,"t":[{"o":0}]}],"p":[{"a":[{"l":0,"r":[{"c":4}],"t":2},43],"e":[{"n":[{"d":[{"e":[{"n":16}]}]}],"r":[{"t":4}],"t":[{"e":28,"i":[{"t":[{"i":[{"o":7}]}]}]}],"x":4}],"h":[{"i":2},20],"i":[{"g":38}],"l":[{"a":36,"i":[{"c":1}]}],"o":[{"l":[{"a":3,"i":[{"t":15},3]}]}],"r":[{"e":[{"h":1,"s":[{"e":16}]}],"i":[{"m":4}],"o":[{"b":114}]}],"t":[{"o":[{"r":5}]}],"u":[{"r":115,"t":[{"a":28}]},77]}],"q":[{"u":[{"i":[{"n":[{"o":18},12]}]}]}],"r":[{"a":[{"c":[{"i":[{"e":2}]}],"d":[{"o":2}],"g":2,"l":2,"p":[{"h":1,"i":1,"y":1}],"t":[{"i":[{".":33,"m":33}],"u":4}]}],"b":[{"a":[{"t":1}],"e":1,"o":[{"s":7}]}],"c":[{"h":1,"l":1},30],"d":[{"a":[{"r":7}],"i":[{"e":19}]},30],"e":[{"a":[{"l":1}],"d":33,"g":[{"r":1}],"l":[{".":4,"l":4,"s":4}],"m":[{"e":28}],"n":[{"d":35,"e":19},1],"o":[{"l":7}],"q":32,"r":1,"s":[{"e":4,"i":1,"t":[{"e":4,"i":4,"r":18}]},2],"t":[{".":1,"s":1,"t":1},19],"v":2,"x":1},30],"g":[{"i":[{"v":3}],"l":1}],"i":[{"a":[{".":1,"n":0}],"c":[{"i":[{"d":2}],"k":60}],"d":8,"e":1,"f":[{"f":1}],"m":[{"e":[{"t":0}]}],"n":[{"a":2},1],"o":[{"n":2,"u":1}],"s":[{"c":0,"t":[{"a":7}]}],"t":116,"v":32,"z":4}],"j":33,"k":2,"m":[{"e":1,"o":[{"i":0}]}],"n":[{"a":[{"c":[{"l":35}],"l":[{"i":[{"s":4}]}]}],"e":[{"r":5}],"i":[{"s":5,"t":5}]}],"o":[{".":33,"i":[{"d":1,"s":7}],"s":[{"t":7}]}],"p":[{"e":[{"n":[{"t":[{"i":[{"n":15}]}]}]}]}],"r":[{"e":[{"l":[{"a":18}],"p":0}]}],"s":[{"i":[{"n":[{"e":4}]}]}],"t":[{"e":[{"d":4,"r":[{".":7,"s":7},0]}],"h":[{"i":0}],"i":[{"z":7}]}],"u":[{"b":2,"d":7,"n":[{"d":16}]},30],"v":[{"i":[{"l":0}]}],"w":[{"a":[{"u":35}]}],"y":[{"t":[{"h":50}]}],"z":30},6],"s":[{".":33,"a":[{"m":4,"n":4}],"c":[{"a":[{"n":4}],"h":[{"e":4}],"i":[{"e":18}],"u":[{"t":16}]},38],"e":[{"a":32,"c":[{"t":32}],"e":36,"g":85,"l":2,"n":[{"c":4}]}],"h":[{"a":117,"i":43,"u":36}],"i":[{"a":[{"n":2}],"c":[{".":4,"k":36}],"d":[{"e":[{"n":4}],"i":[{"u":7}]}],"e":[{"s":4}],"m":1,"n":1,"o":[{"n":36}],"t":[{".":0,"s":0},28]}],"k":[{"i":[{"n":32}]}],"m":[{"i":92}],"o":[{"d":0,"l":[{"a":1,"u":10}],"n":[{"a":1}],"p":5,"r":43}],"p":[{"e":[{"r":118}],"i":[{"r":[{"a":4}],"t":4}],"l":[{"e":[{"n":15}]},0],"o":[{"t":4}],"r":119}],"s":[{"a":[{"n":102,"r":16}],"e":[{"e":7}],"i":[{"l":0}],"o":8}],"t":[{"a":[{"b":19,"n":5,"r":36,"u":4}],"i":[{"f":[{"i":7}],"g":[{"a":[{"t":[{"i":7}]}]}]},38],"o":[{"c":32,"o":4}],"r":2,"u":[{"d":12}]}],"u":[{"l":58,"r":120},43]}],"t":[{"a":[{"l":[{".":1,"l":[{"i":[{"s":4}]}],"o":52}],"m":[{"e":7}],"p":5,"r":[{"i":1,"y":4}],"s":0,"t":[{"e":1,"i":1}],"y":4},8],"e":[{"e":[{"r":1}],"l":[{"l":[{"i":16}]}],"n":[{"d":[{"e":[{"r":16}]}],"i":4}],"r":[{"a":10,"i":[{"a":4}]},42],"x":19}],"h":[{"y":[{"l":50}]},121],"i":[{"a":30,"c":[{"u":32}],"g":[{"i":2}],"m":36,"n":[{"a":2},1],"r":32,"t":[{"i":[{"v":4}]}],"u":2}],"o":[{"l":[{"o":4}],"m":[{"e":[{"t":[{"e":36}]}]}],"n":[{"a":1},38],"r":[{"i":3}]}],"r":[{"a":[{"g":18,"l":110,"m":18,"n":0}],"e":[{"s":[{"s":4}]}],"i":[{"a":0,"b":[{"a":16}],"m":28},6],"o":6}],"t":[{"e":[{"r":1}]},8],"u":[{"d":[{"e":1},19],"m":28}],"w":[{"e":0}],"z":4}],"u":[{"d":[{"i":[{"o":16}]}],"e":2,"k":7,"m":33,"r":[{"g":32,"i":7}],"s":2,"t":[{"e":[{"n":4,"r":1}],"i":5}]}],"v":[{"a":[{"b":[{"i":0}],"l":[{"e":18}],"p":122,"s":[{"t":1}],"t":1}],"e":[{"l":[{"i":4}],"n":2,"r":[{"a":[{"t":4}],"e":[{"n":4,"r":19}],"i":28}],"s":28}],"i":[{"a":[{"b":28},43],"c":[{"t":[{"u":49}]},38],"d":3,"g":4,"l":[{"e":0}],"s":[{"h":4,"i":[{"n":18}],"o":18}],"u":28}],"o":[{"c":3,"l":[{"e":18,"u":[{"t":[{"e":18}]}]}]}],"u":2}],"w":[{"a":[{"g":28,"y":36},43],"e":[{"r":6}],"h":32,"i":[{"e":4,"n":6,"s":[{"h":4}],"t":32}],"r":43}],"x":[{"i":[{"c":4}],"o":[{"n":[{".":0}]}],"p":29}],"y":[{".":33,"a":[{"s":0}],"l":2,"s":24}],"z":[{"e":[{"r":[{".":4,"s":4}]}],"i":[{"e":4}]}]}],"f":[{"a":[{".":30,"b":[{"i":2}],"c":[{"e":[{"t":1}],"t":42,"u":123}],"g":124,"l":[{"l":[{"i":[{"n":18}]}],"o":[{"n":4},35],"s":[{"i":[{"f":[{"i":[{"e":18}]}]}]}]}],"n":[{"a":125,"t":[{"a":[{"s":[{"i":[{"z":7}]}]}],"i":3}]}],"r":[{"i":5},35],"w":35},87],"b":99,"d":97,"e":[{".":30,"a":[{"s":34,"t":[{"u":5}]}],"b":[{"r":7}],"c":34,"d":126,"i":35,"l":[{"i":6}],"m":[{"i":[{"n":16},5]}],"n":[{"d":[{"e":[{"r":18}]}],"i":36}],"r":[{"e":[{"d":33,"e":5}],"o":[{"c":4,"m":7},34],"r":34,"v":5}],"s":[{".":30,"s":[{"o":3}],"t":[{"a":3,"i":18}]}],"t":[{"a":[{"l":2}],"i":[{"n":2}],"o":2},0],"u":34,"v":[{"e":[{"r":[{"i":4}]}]}]}],"f":[{"e":[{"c":[{"t":[{"e":19}]}],"t":36},43],"i":[{"a":36,"c":32,"e":36,"l":3,"s":58},43],"l":[{"e":0,"i":[{"n":1}]}],"o":[{"c":3,"n":[{"i":12}],"r":[{"e":3}]}],"r":[{"a":[{"n":[{"c":[{"h":127}]}]}]},32]},30],"h":99,"i":[{"a":[{"n":[{"c":[{"e":4}]}]}],"b":[{"u":7}],"c":[{".":33,"a":[{"l":33}],"i":34,"s":33}],"d":[{"e":[{"l":4,"n":5}]}],"e":[{"l":19,"r":[{"c":19}]}],"g":[{"h":[{"t":16}]}],"l":68,"n":[{"a":[{"l":1},9],"d":3,"e":9,"g":43,"i":[{"n":35}],"n":[{"i":2}]},30],"r":[{"m":128}],"t":[{"a":32,"e":[{"e":36}]}]}],"l":[{"a":34,"e":[{"s":9}],"i":[{"c":[{"a":32}],"n":19}],"o":[{"r":[{"i":[{"c":7}]}]},34],"u":[{"m":[{"i":19}]},34]},8],"o":[{".":33,"c":34,"e":[{"t":[{"i":12}]},8],"l":[{"i":[{"e":0},129]}],"m":[{"e":[{"n":[{"t":49}]}]}],"n":[{"d":[{"e":2}]},8],"o":34,"r":[{"a":[{"m":4,"y":7}],"b":7,"d":[{"i":2}],"e":[{"t":3}],"m":[{"a":82},35],"t":[{"u":[{"n":[{"a":16}]}]}]}],"v":1},29],"r":[{"a":[{"g":[{"a":18}],"n":[{"t":12}],"r":19,"t":[{"c":[{"h":49}]}]}],"e":[{"s":2}],"o":[{"s":[{"t":[{"i":16}]}]}],"u":[{"c":19}]},68],"s":[{"p":0},124],"t":[{"e":[{"d":43,"r":[{".":28}],"s":4}],"i":[{"e":[{"t":2}],"n":[{"e":0}]}]},30],"u":[{".":33,"c":0,"e":[{"l":[{"l":[{"i":18}]}]}],"g":[{"a":2}],"m":[{"i":[{"n":0}]}],"n":[{"g":9}],"r":[{"e":[{"d":33}],"n":5}],"s":[{"i":[{"l":1}],"o":7}],"t":[{"i":[{"l":4}]}]},34]}],"g":[{"a":[{".":33,"c":[{"i":[{"e":0}]}],"d":[{"i":19,"o":[{"s":0}]}],"g":34,"i":34,"l":[{"e":[{"n":4},34],"i":[{"a":19}],"l":[{"e":[{"r":7}]}],"o":34}],"m":[{"b":[{"l":2}]}],"n":[{"a":[{"t":7}],"e":[{"d":33}],"g":[{"e":[{"r":18}]}],"t":[{".":36,"r":2,"s":36}]}],"r":[{"c":36,"e":[{"e":5},28],"i":[{"z":[{"a":12}]}],"o":[{"t":4}],"p":7,"r":35}],"s":[{"i":7,"o":[{"l":16},5],"s":[{"i":[{"n":18}]}],"t":[{"r":3}]},130],"t":[{".":28,"i":[{"v":7}],"o":[{".":28,"s":28}],"t":28,"u":7},43],"u":[{"d":18}],"z":[{"a":4}]}],"b":43,"d":48,"e":[{".":30,"a":[{"l":35,"n":34}],"d":[{"i":34,"n":35},101],"f":33,"l":[{"e":33,"i":[{"n":2},0],"l":[{"i":7}],"u":0,"y":30},29],"m":[{"i":5,"o":35}],"n":[{"d":[{"u":2}],"i":[{"t":7}],"o":5,"t":[{"i":7}]},34],"o":[{"l":[{"o":5}]},0],"r":[{"e":33,"m":95}],"s":[{".":30,"s":35,"t":[{"a":[{"t":18}]}]}],"t":[{"a":5},34]}],"f":45,"g":[{"a":0,"e":[{"d":[{"l":36}],"r":[{"e":[{"r":36}]},32]},38],"i":[{"a":14}],"l":[{"i":32,"u":3,"y":36}],"r":[{"a":[{"v":50}],"o":28}]},45],"h":[{"a":[{"i":36}],"e":[{"n":[{"i":4}]}],"o":[{"s":28},32],"t":8},30],"i":[{".":33,"a":[{"l":[{"l":0}],"t":0}],"b":34,"c":[{"o":4}],"g":[{"a":[{"n":4}]},0],"n":[{"g":[{"i":7}]}],"o":[{"r":0,"t":0},34],"p":[{"a":4},35],"s":[{".":35},89],"t":[{"u":35},109],"v":[{"e":[{"n":[{".":7}]}]}]},87],"l":[{"a":[{"r":32,"s":[{"s":[{".":35}]}]}],"e":[{"c":19,"r":34,"t":[{"o":28,"r":28}],"y":28}],"i":[{"o":[{"n":7}],"s":131}],"o":[{"d":99,"m":3,"p":33},34],"u":[{"t":[{"e":7,"i":7}]},34],"y":[{"p":34}]},44],"m":132,"n":[{"a":[{"b":28,"t":[{"e":36,"h":35,"i":36,"u":[{"r":7}]}]},43],"e":[{"d":[{"l":4}],"e":4,"r":1}],"i":[{"a":28,"n":[{".":0},58],"o":133},43],"o":[{"r":[{"i":35}],"s":2},38]},44],"o":[{".":30,"a":35,"c":34,"d":35,"e":[{"t":0},34],"g":[{"e":0,"r":[{"a":[{"m":33}]}]}],"i":[{"d":36,"s":1}],"m":[{"e":8}],"n":[{"n":35,"o":[{"m":4}]}],"o":34,"p":[{"h":19}],"r":[{".":33,"g":35,"s":33,"y":28}],"s":[{"t":2},34],"u":[{"r":[{"i":19}],"s":43},30],"v":20}],"p":32,"r":[{"a":[{"b":19,"m":[{"e":33},34],"p":9}],"e":28,"i":[{"l":19,"m":[{"a":3}]}],"o":[{"g":2,"n":36,"p":19},28],"u":[{"e":[{"n":5}],"i":7,"m":[{"b":19}]},34]},68],"s":[{"c":0,"t":[{"i":28},0]},45],"t":[{"h":[{"e":[{"n":[{"i":7}]}]}],"o":36}],"u":[{"a":[{"b":4,"n":35,"r":[{"d":34}],"t":36},134],"e":[{"u":35},30],"i":[{"t":[{"a":7},135]}],"m":[{"a":8,"i":0}],"n":34,"r":[{"a":[{"s":28}],"e":[{"d":28}],"n":2,"u":2,"y":33}],"s":[{"t":[{"a":18}]}]}],"w":45,"y":[{"b":8,"m":35,"n":[{"o":7},34]},30],"z":119}],"h":[{"a":[{".":33,"c":28,"d":[{"i":[{"e":19,"n":[{"e":2}]}]}],"e":[{"o":5}],"g":[{"e":[{"d":16}],"i":[{"o":3}],"u":7}],"i":[{"c":4,"s":19}],"k":[{"i":[{"n":[{"e":2}]}]}],"l":[{"a":[{"n":[{"t":7}]}]}],"m":[{"a":[{"n":7}]},0],"n":[{"c":[{"r":[{"o":2}]}],"g":9,"i":[{"z":36},136],"t":[{"a":3},2]}],"p":[{"e":0,"l":5}],"r":[{"a":20,"b":7,"d":[{"i":[{"e":7}]},2],"g":[{"e":12}],"i":[{"s":[{"m":4}]}],"o":5,"t":[{"e":[{"d":2}],"i":2}]}],"s":[{"t":[{"e":2}]}],"t":[{"o":7}],"u":[{"g":[{"h":[{"t":15}]}]}],"v":[{"e":[{"l":12,"r":[{"s":[{"i":7}]}]}],"o":7}]},8],"b":43,"c":43,"d":[{"e":[{"a":[{"c":16}]}],"u":2},43],"e":[{".":33,"a":[{"d":29,"r":[{"c":[{"h":49}]},34],"s":[{"t":16}],"v":[{"e":[{"n":18}]}]},38],"c":[{"t":27}],"d":[{"e":[{"l":4}],"o":1}],"e":[{"k":19}],"i":[{"s":1},28],"l":[{"a":[{"t":4}],"i":[{"n":36,"o":1,"u":4}],"l":[{"i":2}],"o":137}],"m":[{"a":20,"e":[{"n":1}],"i":[{"s":12}],"o":[{"p":4}],"p":2}],"n":[{"d":[{"e":16}]}],"o":[{"r":1}],"p":20,"r":[{".":43,"a":[{"s":2}],"b":[{"a":3,"i":3},9],"e":[{"a":3,"o":3,"t":[{"t":36}]}],"h":36,"i":[{"a":[{"l":7}],"n":[{"e":36}]}],"l":43,"o":[{"m":7,"n":28}],"s":43,"w":[{"a":36}]}],"s":[{"t":[{"r":5}]}],"t":[{"a":138,"i":5,"t":[{"e":[{"d":2}]}]},20],"u":[{"m":[{"a":[{"t":15}]},3]},9],"v":[{"i":7},22],"x":[{"o":7}]},8],"f":43,"h":36,"i":[{".":30,"a":[{"r":0}],"c":[{"a":[{"n":13}],"i":[{"n":0}],"l":28},43],"e":[{".":36,"r":[{"s":89},43],"s":43}],"f":[{"i":139,"y":32}],"g":[{"o":2}],"k":[{"a":4}],"l":0,"m":[{"a":54,"e":[{"r":4}],"o":[{"s":12}]}],"n":[{"d":2,"e":80,"i":[{"e":4,"z":36}],"o":[{"p":4}],"s":38},43],"o":[{"l":[{"o":7}],"r":28}],"p":[{"l":5},8],"r":[{"r":[{"i":18},2]},28],"t":[{"a":2}],"v":[{"a":7}]}],"l":[{"a":32,"e":[{"t":32},43],"i":[{"a":2},41]},33],"m":[{"a":[{"n":[{"i":[{"c":28}]}]}],"i":[{"c":[{"a":36}]}]},45],"n":[{"o":[{"c":[{"e":[{"n":15}]}]}]},62],"o":[{".":33,"a":[{"n":1}],"c":[{"o":0}],"d":[{"o":[{"n":1}],"u":4}],"e":[{"p":4}],"l":[{"a":[{"r":5}],"d":140,"i":[{"s":[{".":2}]}],"y":[{"s":4}]}],"m":[{"a":[{"g":0}],"i":[{"n":7}]}],"n":[{"e":[{"m":7,"u":4,"y":5}],"g":[{"i":3}],"i":[{"o":4}],"o":20},141],"o":[{"d":29,"r":7}],"p":[{"e":28,"r":37,"t":[{"e":112}]}],"r":[{"e":[{"t":7}],"n":[{"i":18},28],"o":[{"g":4}],"t":[{"h":18}]}],"s":[{"i":19}],"t":[{"o":[{"n":0}]}],"u":[{"s":[{"e":142}]},38]}],"p":64,"r":[{"a":[{"s":[{"e":[{"o":18}]}]}],"e":[{"m":[{"a":7}],"r":4,"s":19},2],"i":[{"l":[{"l":[{"i":[{"n":16}]}]}],"m":19,"t":36},2],"o":[{"d":32,"m":[{"i":19}]}],"y":[{"m":143},2]},30],"s":[{"i":2,"k":28},45],"t":[{"a":[{"g":4}],"e":[{"e":4,"n":[{".":1,"e":[{"r":4}],"i":1,"s":1}],"o":4,"s":4}],"f":[{"o":[{"o":0}]}],"h":43,"i":[{"n":[{"e":0}]}]}],"u":[{"g":0,"m":[{"a":[{"t":0}],"e":[{"r":4}],"i":[{"n":0}]}],"n":[{"c":2,"k":19,"t":2}],"r":[{"i":5}],"s":[{"i":[{"a":1}]}],"z":2}],"w":[{"a":[{"r":[{"t":28}]}]},43],"y":[{"l":[{"e":[{"n":7}]},8],"m":8,"n":2,"o":[{"l":[{"i":18}]},1],"p":[{"e":6,"h":1}],"r":2,"s":[{"t":[{"e":5}]}],"t":0},38]}],"i":[{"a":[{"b":[{"l":0,"o":[{"l":[{"i":[{"s":7,"z":7}]}]}]}],"c":[{"h":38,"o":5,"r":[{"i":4},80]}],"d":[{"e":[{"m":4}]}],"e":36,"f":2,"g":[{"n":1,"o":144,"r":1},73],"h":32,"i":36,"l":[{"e":[{"c":[{"t":49}]}],"i":[{"t":32}],"l":[{"i":7}],"n":33,"o":58,"y":4}],"m":[{"b":36,"e":1}],"n":[{"c":[{"h":16}],"t":32}],"p":[{"e":36,"h":1}],"r":[{"d":38,"i":[{"t":33}]}],"t":[{"h":[{"e":4}],"o":[{"m":36}],"u":[{"r":[{"a":12}]},2]},32],"u":32,"v":2},62],"b":[{"e":[{"r":[{"a":1}]}],"i":[{"o":[{"s":12},19]},6],"l":[{"i":4}],"o":[{"n":28,"r":19,"s":[{"e":28}],"u":36},33],"r":[{"i":6}],"u":[{"t":[{"a":1}]},33]}],"c":[{"a":[{"c":1,"d":[{"o":4}],"l":28,"n":6,"r":30}],"c":[{"u":19}],"e":[{"o":36},33],"h":[{"i":[{"n":[{"g":7}]},2],"o":[{"l":7}]},33],"i":[{"n":33,"o":36}],"k":30,"l":[{"o":0}],"o":[{"c":5,"l":[{"a":4}],"n":[{"o":3}],"p":36,"t":[{"y":[{"l":[{"e":127}]}]}]},47],"r":[{"i":28,"u":28,"y":28},45],"t":[{"e":[{"d":[{"l":0}],"r":0}],"i":[{"c":7}]}],"u":[{"l":[{"u":2}],"m":1,"n":131,"t":36},30],"y":45}],"d":[{"a":[{"y":36},6],"e":[{"m":2,"n":[{"c":1}],"r":[{"a":1,"m":16}]}],"i":[{"c":[{"u":32}],"f":1,"g":36,"l":36,"m":32,"n":[{"e":[{"s":0}]}],"o":[{"s":12}],"r":19,"s":[{"t":0},145],"t":146,"v":2}],"l":[{"i":1}],"o":[{"l":[{"a":3},1],"m":[{"i":33}],"w":1}],"r":[{"i":4},33],"u":[{"l":1}]},38],"e":[{"c":33,"g":[{"a":1},147],"i":4,"l":[{"l":36}],"m":33,"n":[{"d":9},45],"r":[{"e":[{"s":32}],"i":[{"n":19},38],"n":33,"o":9,"t":28},43],"s":[{"c":32,"e":[{"l":5}],"t":[{".":32},148]}],"t":[{".":28,"i":[{"e":5}]},45],"u":[{"t":[{"i":36}]},33],"v":[{"a":5,"e":[{"r":5}],"o":5}]},8],"f":[{"e":38,"f":[{"a":0,"l":[{"e":[{"r":7}]}]}],"i":[{"c":[{".":1,"a":[{"c":28}],"s":4}],"d":2,"n":2}],"l":39,"o":[{"c":18},32],"t":[{"e":[{"e":4}]}],"y":32},45],"g":[{"a":[{"d":32,"n":[{"d":1}],"r":34}],"e":[{"r":32},43],"h":[{"t":[{"e":[{"r":[{".":18,"s":18}]}]}]}],"i":33,"n":[{"i":[{"z":7}],"o":[{"m":18}]}],"o":[{"n":32,"r":6,"t":1}],"r":[{"e":[{"t":36}],"o":108}],"u":[{"i":[{"t":7}],"r":6}]},30],"h":[{"y":2},45],"i":[{"n":36},30],"j":[{"a":2,"u":33}],"k":[{"a":[{"n":4}],"e":[{"b":2}]},44],"l":[{"a":[{"g":2,"t":[{"e":[{"l":7,"r":36}]}],"x":0},58],"d":[{"r":4,"u":0}],"e":[{"n":32,"s":[{"i":12}]}],"f":1,"i":[{"a":[{".":1,"r":[{"l":2},1]}],"c":[{"i":32}],"e":[{"n":36,"r":2}],"f":[{"e":2,"i":[{"c":0}]}],"n":[{"e":[{".":4}]},6],"o":[{"u":33}],"p":[{"p":4}],"q":4,"t":[{"e":0,"u":18}]}],"m":[{"o":0}],"o":[{"n":36,"u":1}],"t":[{"h":19,"r":8}],"u":[{"l":4,"m":36,"r":[{"e":4}]},33],"v":1,"y":[{"m":33}]}],"m":[{"a":[{"c":2,"g":[{"e":1},8],"l":6,"m":4,"s":119,"t":[{"e":[{"d":28}],"i":[{"n":28}],"u":18}]}],"i":[{"e":86,"n":[{"e":0,"o":4}]},6],"m":[{"e":[{"s":4}]}],"o":[{"g":36,"n":32,"o":4,"s":[{".":32}]},38],"p":[{"a":[{"r":[{"a":[{"d":127},16]}]}],"i":[{"e":4}],"o":[{"t":16}],"r":4,"u":19}],"u":[{"l":6,"m":4}]}],"n":[{"a":[{"b":1,"c":[{"e":33}],"d":[{"o":0}],"g":[{"l":4}],"i":[{"r":1}],"l":[{"i":[{"t":33}]},2],"m":4,"n":1,"p":1,"r":[{"s":0}],"s":[{".":32}],"t":[{"a":33,"o":[{"r":15}]}],"u":1,"w":0}],"c":[{"t":[{"u":[{"a":2}]}]},30],"d":[{"a":[{"r":4}],"e":[{"p":18,"s":16,"t":[{"e":[{"r":[{"m":107}]}]},3]}],"r":[{"o":4}]},30],"e":[{"a":33,"d":33,"e":4,"g":[{"a":4}],"o":149,"s":[{"i":1},2],"t":[{"e":7}],"u":33,"v":18}],"f":[{"i":[{"l":[{"t":15}]}],"o":[{"l":12}],"u":33}],"g":[{"a":[{"l":4},33],"e":33,"h":[{"a":7}],"i":33,"l":[{"e":33,"i":33}],"o":33,"u":[{"m":5},33]}],"i":[{"a":[{".":4}],"c":[{"i":0},33],"o":[{"n":1}],"t":[{"u":[{"d":0}]}]},30],"k":[{"i":[{"n":[{"e":2}]}]},33],"l":33,"n":30,"o":[{".":33,"i":1,"l":[{"e":36}],"s":[{".":32,"e":4,"i":1},33]},30],"q":33,"s":[{"c":[{"h":150}],"e":[{"c":[{"t":15,"u":16}]},42],"i":1,"k":35,"o":[{"l":[{"v":15}]}]},9],"t":[{"e":[{"e":0,"s":[{"s":7}]}],"i":[{"l":1}],"r":[{"e":[{"s":7}]}],"u":[{"m":18}]}],"u":[{"l":4,"m":4,"n":1,"r":1},30],"v":[{"o":[{"l":[{"u":16}]}]}]}],"o":[{"a":[{"c":[{"t":12}]}],"d":[{"i":27,"o":7},43],"e":2,"g":[{"r":1}],"l":64,"m":[{"a":[{"n":[{"i":28}]},1],"o":1}],"p":[{"e":36,"h":1,"o":36,"s":2}],"r":[{"a":[{"m":19}],"e":33,"i":[{"t":33,"z":35}],"l":33,"n":2},43],"s":[{"c":1,"e":32,"i":32,"o":28,"t":[{"a":4}]}],"t":[{"a":2,"h":4,"i":[{"c":7}],"r":4,"y":28},32],"u":[{"r":[{".":28,"s":28}]}],"x":36},44],"p":[{"a":[{"l":1,"p":19,"r":[{"o":3,"t":[{"i":[{"t":[{"e":16}]}]}]}],"t":6}],"e":[{"n":[{"d":32}]}],"h":[{"e":[{"n":50,"r":[{"i":36}]},148],"i":19,"u":28}],"i":[{"d":1,"l":36,"n":[{"e":0},1],"r":19,"s":4,"t":[{"i":0},129]}],"l":[{"i":[{"n":1}],"o":1}],"o":[{"g":28,"l":[{"i":28}],"m":28,"n":3,"w":28},32],"p":[{"l":[{"i":1},8]}],"r":[{"e":0}],"t":[{"o":[{"r":[{"i":4}]}]}],"u":[{"l":6,"t":36}],"y":2},30],"q":[{"u":[{"a":32}]},30],"r":[{"a":[{"b":[{"i":0}],"c":2,"e":[{".":0}],"g":0,"l":[{"i":[{"n":0}],"l":[{"i":0}]}],"s":[{"o":36,"s":[{"i":49}]}],"y":19},6],"d":[{"i":5}],"e":[{"a":5,"c":1,"e":4,"l":[{"i":7},19],"s":[{"s":4},19]}],"i":[{"d":151,"m":0,"s":[{".":0}],"z":35},6],"l":[{"i":[{"n":[{"g":7}]}]}],"o":[{"c":[{"h":4}],"l":4,"m":1}],"q":0,"s":8,"t":[{"a":4,"e":[{"e":4}]}],"w":[{"o":[{"m":[{"e":19}]}]}]},30],"s":[{"a":[{"d":4,"g":[{"e":1}],"l":6,"m":1,"n":6,"r":1,"v":4},28],"b":33,"c":[{"h":[{"i":4}],"i":[{"c":18}]},58],"e":[{"c":[{"r":7},64],"l":[{"l":1}],"n":152,"r":[{"e":4},8],"t":58,"u":33}],"h":[{"a":[{"r":1}],"e":[{"e":7}],"i":[{"o":33}],"o":[{"p":5,"r":4}]}],"i":[{"a":30,"c":4,"e":1,"m":33,"n":[{"c":1}],"s":33}],"k":[{"e":0}],"l":[{"u":[{"n":12}]},6],"m":[{"a":30}],"o":[{"n":[{"e":[{"r":4}]},6],"p":7}],"p":[{"h":86,"r":35},6],"s":[{"a":[{"d":7,"l":0,"n":4}],"i":[{"v":2}],"o":2},153],"t":[{"a":[{"l":0},33],"e":[{"n":[{"c":7,"t":7}],"r":[{"e":[{"r":4}]}]}],"h":33,"i":[{"c":102}],"l":33,"o":[{"m":59},154],"r":[{"y":34},6],"y":33}],"u":[{"l":36,"r":1}],"y":30}],"t":[{"a":[{"b":4,"c":2,"i":33,"m":1,"n":[{"a":0}],"s":0,"t":1},6],"e":[{"c":[{"t":32}],"e":1,"n":[{"c":1,"t":1}],"r":[{"a":1}]}],"h":[{"a":[{"l":18}],"i":7,"o":[{"l":36}],"r":5,"y":18},30],"i":[{"a":30,"c":[{"o":2,"u":4}],"e":6,"g":1,"m":33,"n":[{".":0,"s":0}],"o":[{".":33,"n":[{"e":33}]}],"q":36,"t":99,"v":1}],"l":[{"i":0,"o":4}],"o":[{".":33,"l":4,"n":30,"u":6}],"r":[{"e":[{"s":[{"s":4}]}],"i":[{"c":28}]},30],"t":[{"i":[{"t":0}]},30],"u":[{"a":[{"l":[{"s":2}],"r":4}],"e":33,"l":6,"r":6,"s":1}]}],"u":[{"m":32,"r":[{"e":7}]},62],"v":[{"a":[{"n":[{"c":4}],"t":6},30],"e":[{"d":28,"l":[{".":4,"i":[{"n":[{"g":4}]}],"s":4}],"r":[{".":28,"i":1,"s":[{".":28,"a":[{"l":18}]}]}],"s":19,"t":1}],"i":[{"e":28,"f":1,"l":[{"i":[{"t":36}]}],"s":[{"t":[{".":35,"s":35}]}],"t":6}],"o":[{"c":3,"r":[{"e":36}]},38]}],"w":45,"x":[{"o":1},30],"y":[{"e":36}],"z":[{"a":[{"h":33}],"i":24,"o":[{"i":4},30],"z":30},29]}],"j":[{"a":[{".":30,"c":[{"o":37,"u":5},34],"g":[{"u":7}],"l":[{"o":4},2],"p":[{"a":[{"n":4}]}]},29],"e":[{"l":[{"l":[{"a":7}]}],"o":[{"p":3},9],"s":33,"u":2,"w":5}],"i":[{"g":34,"l":[{"l":18},2],"s":[{".":35}]},30],"o":[{".":33,"c":[{"o":7,"u":7}],"l":[{"e":2}]},155],"r":33,"s":33,"u":[{"d":[{"i":6}],"i":2,"l":4,"n":[{"i":1}],"s":[{"c":[{"u":12}]}],"t":[{"a":5}],"v":6}]}],"k":[{"a":[{"b":[{"i":28,"u":84}],"c":[{"h":19}],"g":92,"i":[{"s":18}],"l":[{"i":[{"m":4,"s":2}]},0],"n":28,"o":1,"p":2,"r":[{"i":2}],"s":[{".":29}],"u":[{"r":19}],"v":2}],"b":77,"c":[{"o":[{"m":19}]},43],"d":[{"o":[{"l":18},2]},119],"e":[{"d":[{"a":4,"e":36},33],"e":34,"g":0,"n":[{"d":2,"o":19}],"p":[{"t":7}],"r":[{"a":7,"e":[{"l":36},28],"j":2,"o":7}],"s":[{"i":2}],"t":[{"a":7}],"y":[{"w":[{"o":2}]}]}],"f":[{"u":[{"r":19}]},43],"h":[{"o":32}],"i":[{"h":35,"l":[{"o":3},8],"n":[{".":38,"d":34,"e":[{"m":[{"a":49}],"t":7}],"g":32,"i":2,"s":38},43],"r":[{"m":5,"r":2}],"s":[{".":34,"h":43},2],"t":[{"c":7}],"w":0}],"k":[{"e":[{"r":36}]},0],"l":[{"a":32,"e":[{"a":36,"r":32,"t":32}],"i":32,"o":32},156],"m":43,"n":[{"o":[{"w":29},38]},8],"o":[{"a":4,"l":2,"m":[{"i":4}],"p":[{"e":4}]}],"p":43,"r":[{"o":103,"u":32}],"s":[{"l":32,"m":[{"i":8}],"t":0},64],"t":43,"u":[{"r":7}],"v":36,"w":43,"y":[{"l":34}]}],"l":[{"a":[{".":33,"a":35,"b":[{"a":[{"r":7}],"e":[{"l":12}],"r":35}],"c":[{"a":8,"e":[{"o":4,"r":4}],"h":0,"o":[{"l":60,"n":7},8],"u":1},28],"d":[{"e":0,"m":36}],"e":28,"f":28,"g":[{"e":[{"r":1}],"i":[{"s":0}],"r":5}],"h":66,"i":[{"c":[{".":0}]}],"l":[{"e":33},28],"m":[{"a":[{"n":[{"d":[{"r":35}]}]}],"e":[{"l":[{"l":[{"i":4}]}]}],"i":[{"e":2}],"o":20,"u":36}],"n":[{"a":[{"t":5}],"d":[{".":34,"i":3,"s":34},9],"e":[{"r":2,"t":5}],"t":[{"i":[{"n":[{"e":7}]}],"r":2}]}],"p":[{"i":19},0],"r":[{"a":[{"n":7}],"d":[{"e":7}],"e":[{"d":33}]}],"s":28,"t":[{"a":[{"l":7}],"e":0,"i":[{"l":[{"i":[{"s":35,"z":35}]}],"n":[{"i":35}]}],"u":[{"s":7}]}],"u":[{"r":35},28],"v":[{"a":[{"t":7}]}],"w":28,"z":33},38],"b":[{"e":2,"i":[{"t":28}],"y":28},32],"c":[{"a":[{"t":38}],"e":[{"n":19,"r":[{"e":28}]},2],"h":[{"e":2}]},41],"d":[{"a":[{"r":32}],"e":[{"d":32,"h":32,"r":[{"a":36}],"s":[{"t":1}],"w":36}],"i":[{"e":32,"n":[{"e":[{"s":53},0]}],"s":[{"h":1}]},9],"l":[{"i":4}],"o":32}],"e":[{".":33,"a":[{"g":[{"u":34}],"t":[{"i":[{"o":4}]}],"v":[{"e":[{"r":18}]}]}],"b":[{"r":[{"a":157}]}],"c":[{"a":1,"h":[{"a":4}],"t":[{"i":[{"c":[{"a":18}]}]}]}],"d":[{"r":4},30],"g":[{"a":[{"n":32},20],"g":34,"i":[{"n":0}],"o":5,"r":[{"a":1}]}],"k":2,"l":[{"e":[{"d":33}],"o":7,"u":18}],"m":[{"e":[{"n":[{"c":7}]}],"i":[{"s":5,"z":36}],"m":35,"n":32,"o":[{"n":7},8]}],"n":[{"d":[{"a":[{"r":7},36],"e":19,"o":2}],"e":6,"i":[{"e":4}],"o":5,"t":[{"i":[{"o":33}]}],"u":7}],"o":[{"n":1,"s":2}],"q":4,"r":[{"e":[{"c":4}],"i":[{"a":83,"c":28,"g":4}],"o":[{"m":5,"s":12,"t":5}]},30],"s":[{".":33,"c":[{"o":1}],"s":158}],"t":[{"r":[{"a":4,"e":4}],"u":159},29],"u":[{"r":18}],"v":[{"a":32,"e":35,"i":[{"t":[{"a":7}]}]},30],"w":[{"i":0}],"x":[{"a":36}],"y":29}],"f":[{"i":[{"d":4}],"o":[{"n":1},38]}],"g":[{"a":[{"l":28}],"e":[{"m":28}],"i":[{"a":2,"d":28}],"o":[{"i":28}]},41],"h":32,"i":[{".":33,"a":[{"n":[{"i":0}],"s":19}],"b":[{"r":20}],"c":[{".":43,"h":35,"i":[{"e":0,"o":35}],"o":[{"n":137}],"t":[{"o":19}],"u":0}],"d":[{"a":[{"r":28},32],"i":[{"f":35}]}],"e":[{"u":34}],"f":[{"e":28,"o":28,"t":[{"e":[{"r":18}]}]}],"g":[{"e":[{"r":4}],"h":[{"t":[{"i":16}]}]},29],"h":35,"k":34,"l":[{"i":2},94],"m":[{"b":9,"e":[{"t":[{"e":12}]}],"p":2}],"n":[{"a":[{".":28,"s":28}],"d":2,"e":[{"a":160,"r":[{".":2,"s":2}]},28],"g":[{"e":[{"r":2}],"i":3,"t":35,"u":34}],"q":34,"t":[{"i":18}]}],"o":[{"g":34,"l":0,"m":5,"t":19,"u":1}],"p":[{"h":35,"t":18}],"q":6,"r":34,"s":[{"k":28,"s":[{"e":35}]},43],"t":[{".":38,"a":157,"e":[{"r":35}],"h":34,"i":[{"a":35}],"r":34,"u":2},43],"v":[{"a":[{"t":36}],"e":[{"r":5}],"i":[{"d":7}]},28]}],"k":[{"a":[{"l":[{"o":18}],"t":4}],"e":[{"r":[{".":1,"s":1}]}]}],"l":[{"a":[{"b":[{"a":2}],"c":[{"t":12}],"s":36,"w":28},43],"e":[{"b":36,"c":43,"g":43,"i":32,"l":43,"m":7,"n":43,"p":32,"u":32,"v":32}],"f":1,"i":[{"a":[{"m":7,"n":2}],"b":[{"e":19}],"c":[{"l":28,"o":7},19],"e":36,"g":[{"a":[{"t":49}]}],"n":[{".":36,"a":32,"e":32},38],"o":36,"v":7},43],"m":1,"o":[{"c":[{"a":3,"u":18}],"q":9,"v":28,"w":[{"e":[{"r":18}]}]},43],"p":1,"s":1,"t":4,"u":[{"n":19},43],"y":[{"a":36,"c":32,"g":32,"h":32,"i":32,"m":36}]},8],"m":[{"a":43,"e":[{"r":28},43],"i":[{"n":[{"g":1}],"p":36}],"o":[{"d":58}]},8],"n":[{"e":[{"o":19},32]},77],"o":[{".":30,"a":[{"d":35}],"b":[{"a":160}],"c":[{"a":[{"l":5}],"u":[{"l":7,"s":[{".":0}]}],"y":30},29],"d":[{"i":[{"s":32}],"r":81}],"g":[{"a":[{"n":4}]},29],"i":[{".":33}],"m":[{"i":4,"m":2}],"n":[{"a":[{"l":2}],"e":[{"l":36,"y":4},2],"g":[{"i":[{"n":18}]}],"i":[{"a":34,"e":19,"s":32,"z":32}]}],"o":[{"m":[{"e":[{"r":18}]}]}],"p":[{"e":[{"n":60},2],"m":32}],"q":96,"r":[{"e":[{"d":28}],"i":[{"a":[{"t":7}],"f":[{"e":2}]}],"o":[{"f":4,"s":12}]}],"s":[{".":28,"o":6,"s":[{"i":[{"e":7}]},19]}],"t":[{"a":[{"t":7}],"h":[{"i":[{"e":19}]}],"u":4}],"u":[{"p":35}]}],"p":[{"a":[{"t":6}],"e":[{"r":1}],"h":[{"e":36,"i":[{"n":32}],"o":38},9],"i":[{"e":32,"t":32}]}],"r":[{"i":32,"o":32,"u":36},0],"s":[{"a":[{"m":36,"n":4}],"i":[{"f":[{"i":[{"a":2}]}],"m":2,"s":0}],"k":36,"p":0,"t":41},33],"t":[{"a":[{"n":[{"e":3,"g":28,"t":4}],"r":36}],"e":[{"i":28,"r":[{"n":50}]},43],"h":[{"i":5}],"i":[{"c":[{"i":2}],"m":[{"a":19}],"n":19,"t":5,"v":92}],"o":[{"r":0}],"r":[{"a":[{"m":[{"o":[{"n":[{"t":107}]}]}]}]},43],"u":[{"s":28},43]}],"u":[{".":33,"a":6,"c":[{"h":19,"o":37,"r":[{"a":7}],"u":0}],"e":[{"n":6,"r":4},33],"i":[{"t":0},6],"m":[{"b":[{"r":[{"i":2}]}],"o":0,"p":35,"u":37}],"n":[{"c":[{"h":[{"e":[{"o":16}]}]}],"e":35,"t":[{"a":32}]}],"o":[{"r":[{"i":1}]}],"p":35,"r":[{"o":75}],"s":[{"k":18,"s":19}],"t":[{"a":[{"n":7,"r":161}],"i":[{"o":[{"n":[{"i":[{"z":35}]}]}]}],"o":[{"c":4}],"r":7}],"v":6}],"v":[{"a":[{"t":[{"e":4}]}],"e":[{"t":131}],"i":28,"o":[{"r":28}]}],"w":32,"x":0,"y":[{".":33,"c":[{"a":0,"l":2,"o":[{"s":7}]},6],"m":[{"p":[{"h":16}]},9],"p":[{"a":0,"t":[{"o":18}]},9],"r":34,"s":[{"e":[{"r":7}]}],"w":34,"z":34},30],"z":0}],"m":[{"a":[{".":33,"c":[{"a":[{"d":5},28],"h":[{"i":[{"n":[{"e":4}]}],"y":35}],"i":[{"s":0}],"t":19}],"d":[{".":33,"a":33,"s":33}],"g":[{"e":0,"n":35,"o":162}],"h":[{"o":4},30],"i":[{".":33,"d":3},163],"k":35,"l":[{"a":[{"p":5,"r":[{"i":7}]}],"e":[{"d":7,"f":5},164],"g":32,"i":[{"s":[{".":2},32]}],"l":[{"e":5,"i":2}]}],"m":[{"e":[{"n":[{"t":[{".":36},49]}]}]},30],"n":[{".":165,"a":5,"d":[{"a":[{"r":7}],"r":5}],"i":[{"c":[{"a":2},12],"l":4}],"s":28,"t":[{"e":[{"l":15}]}]},29],"p":[{"h":32},30],"r":[{"a":[{"n":35}],"o":[{"l":7,"n":4,"o":1}],"r":[{"i":7}],"s":[{"h":[{"i":2}]}],"v":5},29],"s":[{"o":[{"n":1}],"s":[{"i":[{"n":[{"g":18}]},12]}],"t":[{"e":[{"d":2}],"i":[{"c":19,"n":2}]},166]}],"t":[{".":28,"e":[{"n":28,"r":[{"n":167},1]}],"i":[{"t":[{"i":2},28],"z":[{"a":28}]}],"o":[{"g":1,"m":7,"p":1}],"s":28,"t":165,"u":[{"r":[{"e":4}]}]}],"v":2}],"b":[{"a":[{"t":[{"t":19}]}],"d":0,"e":[{"c":36,"r":[{"e":[{"r":36}],"y":28}],"s":28}],"i":[{"c":38,"l":85,"n":[{"g":113}],"s":[{"t":4},28],"v":[{"a":[{"l":15}]}]},8],"l":[{"e":[{"r":36}],"i":32}],"r":[{"u":19}],"u":[{"l":5,"r":19}]},45],"c":43,"d":36,"e":[{".":30,"a":[{"g":7,"n":[{"d":4}]}],"b":[{"a":0,"i":0}],"d":[{".":33,"i":[{"a":34,"c":[{"a":[{"t":7}]}],"e":[{"s":53},33],"t":34}],"o":0,"y":36},30],"g":[{"a":[{"t":18},168]},8],"l":[{"e":[{"e":7},33],"l":[{"e":[{"r":7}]}],"o":[{"n":5}],"t":[{"e":[{"r":18}]},2]}],"m":[{"e":99},8],"n":[{".":34,"a":[{"g":2},30],"d":[{"e":[{"r":18}],"o":18}],"e":6,"t":[{"o":[{"r":18}],"s":35}]},29],"o":[{"g":35}],"p":0,"r":[{"a":[{"n":36}],"e":33,"i":[{"a":2}]}],"s":[{"e":[{"n":7}],"i":[{"a":54}],"q":7,"t":[{"i":169}]},44],"t":[{"a":[{"t":3}],"e":[{"d":33},20],"h":[{"i":19}],"i":[{"c":[{"i":7},19]}],"o":5,"r":[{"i":5}]},68]},38],"f":43,"h":56,"i":[{".":33,"c":[{"i":[{"n":0}],"o":1,"r":[{"o":34}],"t":28,"u":[{"l":1,"s":0}]},43],"d":[{"i":[{"n":2},28],"o":[{"n":7}]}],"f":[{"i":4}],"g":[{"a":7,"h":[{"t":[{"i":18}]}],"r":8}],"j":33,"k":[{"a":4}],"l":[{"a":[{"d":2},32],"i":[{"e":[{"s":7},99]}],"l":34,"o":4,"t":2},38],"m":[{"i":7},65],"n":[{"d":[{"e":[{"r":18}]},66],"e":[{"r":[{".":2,"s":2}]}],"g":[{"l":[{"i":18}]}],"i":[{"e":7,"t":28}],"o":[{"l":5}],"t":[{"h":[{"o":16}]},94]}],"o":1,"p":1,"r":[{"a":[{"b":12,"c":[{"u":4}]}]}],"s":[{".":38,"c":28,"e":[{"m":33},0],"h":[{"a":5}],"s":[{"i":35}],"t":[{".":32,"i":[{"n":2}],"s":32}]}],"t":[{"a":[{"n":36}],"y":33},8],"u":34,"x":35}],"l":[{"o":[{"c":[{"u":[{"t":[{"i":7}]}]}]}],"u":[{"n":19}]},64],"m":[{"a":[{"n":[{"d":[{"e":[{"r":16}]},19]}]}],"e":[{"d":[{"i":32}],"l":[{"l":[{"i":18}]}],"t":[{"e":19}]}],"i":[{"g":3,"n":[{"u":3}],"s":3}],"o":[{"b":3,"c":36,"r":3}],"u":[{"t":[{"a":3}]}]},62],"n":[{"i":[{"f":19,"n":28,"o":7,"s":19}],"o":[{"l":7}]},71],"o":[{".":33,"c":30,"d":[{"i":[{"f":[{"i":[{"e":7}]}]}]},20],"g":[{"a":[{"s":[{"t":49}]}],"o":0,"r":[{"i":7}]}],"i":[{"r":36}],"k":[{"i":2}],"l":[{"a":5,"o":[{"g":[{".":33,"s":33,"u":33}]}],"y":1}],"m":[{"i":[{"s":0}]},6],"n":[{"a":19,"e":[{"d":33}],"g":20,"o":[{"l":[{"o":[{"g":[{"i":127}]},49]}]},0]},28],"p":[{"h":[{"i":[{"l":[{"i":15}]}]}],"t":2},28],"r":[{"a":[{"b":32,"t":[{"o":2},170]}],"d":36,"e":[{"l":4}],"i":[{"a":34,"z":36}],"o":[{"n":7}],"p":34,"s":[{"e":34}],"t":[{"a":[{"l":7}]}]}],"s":[{"p":1,"t":[{"a":1},35]}],"u":[{"s":45}]},29],"p":[{"a":[{"n":[{"c":28,"t":28}],"t":[{"h":50}]},32],"e":[{"l":[{"l":[{"i":18}]}],"r":[{"e":[{"r":36}],"i":3}],"t":[{"i":[{"t":18}]}]}],"h":[{"a":[{"l":[{"o":16}]}],"e":28,"l":28}],"i":[{"d":4,"g":36,"l":[{"y":1}],"n":6,"r":32,"s":1},38],"o":[{"l":[{"i":[{"t":18}]}],"t":9,"v":18},32],"t":[{"o":1,"r":4}],"u":32},43],"q":36,"r":[{"y":28},32],"s":[{"e":[{"l":[{"f":18}]}],"i":36,"o":[{"l":19}]},64],"t":[{"u":2}],"u":[{"c":[{"k":[{"e":19}]}],"f":[{"f":19}],"l":[{"t":171}],"n":[{"c":36,"i":[{"o":4,"s":5}]}],"s":[{"c":[{"o":7}],"e":0,"k":[{"e":7}]}],"t":[{"i":[{"l":1}]}]}],"v":43,"w":32,"y":[{"c":93,"d":0,"e":1,"i":34,"s":[{"t":135}],"t":34},30]}],"n":[{"a":[{".":30,"c":[{"h":19,"i":[{"o":[{"u":[{"s":[{".":4,"l":4}]}]}]}],"t":[{"e":2,"i":[{"v":[{"a":7}]}]}],"u":[{"l":[{"a":[{"r":[{"i":4}]}]}]}]},8],"d":[{"a":22,"i":19,"o":[{"p":2}]}],"e":[{".":38}],"f":[{"f":[{"i":[{"l":49}]}]}],"g":[{"a":2,"e":[{"n":28,"r":[{"i":60}]}],"i":0,"o":36,"r":172}],"h":35,"i":[{"l":35,"v":4}],"k":9,"l":[{"e":[{"d":33}],"g":36,"i":[{"a":28}],"y":1}],"m":[{"e":34,"n":2},29],"n":[{"a":[{"s":4}],"n":[{"o":[{"t":49}]}],"t":[{"a":2,"e":[{"d":7}],"o":2}]}],"o":4,"r":[{"d":110,"t":[{"i":[{"s":[{"t":[{"i":7}]}]}]}]}],"s":[{"i":7,"p":7,"s":5,"t":[{"e":7}]},38],"t":[{"a":[{"l":7,"t":4}],"e":[{"e":28}],"h":[{"e":1,"l":19}],"i":[{".":28,"c":7},19],"o":[{".":28,"m":1,"s":0}],"r":2,"u":[{"r":[{"i":4}]}]}],"u":[{"g":[{"h":[{"t":[{"i":16}]}]}],"s":3,"t":[{"i":3},34]}],"v":[{"e":[{"l":4}]},8]},43],"b":[{"a":[{"r":[{"r":[{"i":[{"c":127}]}]}]}],"e":[{"a":[{"u":12}],"n":[{"e":12},2],"t":19}],"i":[{"t":19}]},92],"c":[{"a":[{"l":[{".":28}],"r":[{"n":[{"a":[{"t":16}]}]}]},41],"e":[{"l":[{"i":19}],"n":[{"t":[{"r":[{"i":16}]}]}],"p":[{"t":[{".":28}]}],"r":[{"e":19},32],"s":[{".":28}],"t":36,"y":36}],"h":[{"a":32,"i":[{"e":2}],"o":[{"l":[{"o":7}]},32],"u":32}],"i":[{"c":28,"d":[{"e":[{"n":18}]}],"f":28,"p":[{"i":[{"e":18}]}]}],"l":[{"e":[{"s":28}]},41],"o":[{"c":19,"p":[{"a":[{"t":7}]}]}],"r":43,"t":[{"i":[{"n":0,"v":[{"i":2}]}],"o":9},6],"u":[{"l":[{"o":2}],"n":28,"r":[{"v":[{"i":28}]}],"s":[{"t":19}]},43]}],"d":[{"a":[{"c":117,"l":[{"e":28},32],"m":32,"n":[{"c":1}]},38],"e":[{"a":32,"c":[{"i":5}],"d":43,"l":[{"e":[{"g":49}]},2],"n":[{"c":1}],"p":[{"r":[{"e":49}]}],"r":[{"l":32}],"s":[{"c":[{"r":18}]},2],"z":36},9],"h":[{"i":0}],"i":[{"c":[{"u":18},43],"d":[{"a":18}],"e":32,"l":[{"y":4}],"n":[{"e":0}],"s":[{"e":1,"i":54,"m":[{".":4}]}],"t":[{"y":4}]}],"l":[{"e":[{"r":1}],"i":6}],"o":[{"c":36,"r":19,"u":[{"r":4},38]}],"r":[{"a":[{"g":16,"m":12}],"o":[{"n":36}]}],"u":[{"b":2,"c":[{"t":[{"i":[{"v":16}]}]}],"n":28}],"w":[{"e":8}],"y":[{"i":32}]},33],"e":[{".":30,"a":[{"l":[{"o":1}],"r":32}],"b":[{"u":123}],"c":[{"k":35,"l":0,"o":8,"t":[{"o":[{"m":36}]}]}],"d":[{"i":34,"u":26},30],"g":[{"a":5,"o":1,"u":35}],"i":[{"s":19}],"l":[{"e":30,"i":[{"a":4,"g":19}],"y":28}],"m":[{"o":8}],"n":[{"d":32},64],"o":[{"l":5,"n":19}],"p":8,"r":[{"e":[{"d":33}],"i":[{"n":[{"g":35}]}],"o":7,"r":14,"v":[{"i":[{"n":18}]},9]},43],"s":[{".":30,"c":43,"i":[{"a":1}],"s":29,"t":[{"r":5},43]}],"t":[{"a":5,"i":[{"c":5}],"o":[{"g":0}],"r":20}],"u":[{"m":[{"a":[{"t":[{"o":16}]}]}],"t":[{"r":18}]}],"v":[{"e":[{"r":7}]}],"w":[{"s":3},28],"y":[{"s":[{".":28}]}]}],"f":[{"o":[{"r":[{"m":[{"e":[{"r":16}]}],"t":[{"u":15}]}]},2],"r":[{"a":[{"n":50}]}]},32],"g":[{"a":[{"e":28},8],"e":[{"e":36,"r":[{"i":32,"o":36}]}],"h":2,"i":[{"c":36,"o":[{"g":19}]},38],"l":[{"e":[{"m":36}],"i":[{"e":32,"o":36}]}],"n":6,"o":43,"r":[{"y":28}],"u":[{"m":38},43]},33],"h":[{"a":[{"b":3}],"o":2,"y":[{"d":18},9]},41],"i":[{".":33,"a":[{"c":34}],"b":[{"a":1}],"c":[{"a":[{"b":28}],"e":[{"n":0}],"l":33,"t":[{"a":18}],"u":[{"l":173}]}],"d":[{"i":[{"o":0}]}],"e":[{"r":[{"s":0}]},38],"f":[{"f":2,"t":[{"i":7},19]}],"g":[{"h":[{"t":[{"i":16}]}],"m":32,"n":34},8],"k":[{"e":7}],"l":[{"a":2},38],"m":[{"e":[{"t":35},28]},174],"n":[{"e":[{"s":28}],"j":2,"n":35,"u":28}],"o":[{"l":35,"u":6}],"p":[{"u":34}],"q":35,"s":[{".":28,"k":28,"l":2,"o":2,"s":36,"t":[{"e":[{"r":[{".":7,"s":7}]}]}]}],"t":[{"c":[{"h":12}],"e":0,"h":[{"o":1}],"o":[{"s":28}],"r":[{"a":4,"e":[{"s":7}],"i":1}],"u":[{"r":2}]}],"v":[{"a":2,"o":[{"c":12},1]},38],"z":[{"e":[{"n":7}]}]},43],"j":[{"a":[{"m":42}],"u":[{"r":[{"i":18}]}]},43],"k":[{"a":[{"r":4}],"e":[{"r":[{"o":36}],"y":32}],"i":[{"f":4,"l":4}]},39],"l":[{"a":[{"n":[{"d":16}]}],"e":[{"t":19},32]},71],"m":[{"a":[{"t":[{"e":[{"r":49}]}]}],"o":[{"r":[{"t":[{"i":18}]}]}]},32],"n":[{"e":[{"l":[{"l":[{"i":18}]}],"r":[{"v":[{"a":16}]}]},2],"i":[{"k":[{"i":5}]},32],"o":[{"v":3}],"y":[{"i":36}]},77],"o":[{".":33,"b":[{"i":[{"l":4},36],"l":[{"e":[{"m":4}]},2],"s":[{"e":[{"r":49}]}]}],"c":[{"u":[{"l":[{"a":36}]}]}],"d":[{"i":0,"y":28}],"e":[{"c":2}],"f":[{"a":0}],"i":[{"s":[{"i":18}]}],"l":[{".":36,"a":1,"i":2}],"m":[{"a":[{"l":5}],"i":29,"o":8}],"n":[{"e":33,"i":[{"c":34}]}],"o":[{"d":35}],"p":[{"i":7}],"r":[{"a":[{"t":19}],"d":[{"i":7}],"i":[{"a":2,"s":2}],"m":[{"a":5}],"o":28,"t":2}],"s":[{".":28,"o":2,"p":1}],"t":[{"a":20,"e":34}],"u":[{"g":28,"n":34,"s":30,"v":7},43],"v":[{"a":[{"l":19}],"e":[{"l":[{"e":16},5]},42]}],"w":[{"e":[{"r":7}],"l":5},28]}],"p":[{"i":[{"l":19}],"l":[{"a":19}],"o":[{"i":[{"n":12}],"l":[{"a":7}],"s":19}],"r":[{"i":19}]},92],"q":[{"u":[{"e":[{"f":28}]}]},43],"r":[{"e":[{"i":2,"m":5,"s":[{"t":[{"r":18}]}]}]},43],"s":[{"c":[{"o":[{"t":1},38],"u":28},8],"e":[{"c":[{"t":[{"e":19}]},36],"s":38,"u":36}],"h":175,"i":[{"b":1,"c":[{"k":36},28],"d":32,"e":32,"f":[{"i":4}],"n":[{"g":1}],"o":32,"s":86,"t":9,"v":1},38],"o":[{"l":[{"u":12}],"n":36,"r":[{"e":28,"y":28}]}],"p":[{"i":[{"r":32}]}],"t":[{"a":19,"i":[{"l":12}]},86],"u":[{"r":[{"e":19}]},32],"w":[{"a":32}]},64],"t":[{"a":[{"b":[{"u":19}],"g":[{"e":1}],"l":6,"n":[{"c":113,"d":4,"e":[{"o":18}],"t":113}],"r":[{"i":[{"u":0}]}],"s":[{"i":[{"s":36}],"t":1}],"t":[{"h":4,"i":[{"v":4},1]},6],"u":36}],"e":[{"c":28,"e":[{".":28,"s":28}],"l":32,"n":[{"d":[{"e":[{"n":16}]}]}],"o":28,"r":[{".":28,"i":32,"n":[{"a":[{"l":16,"t":18}]},36]}]},43],"h":[{"e":[{"r":16},43],"i":[{"n":[{"e":7}]}]},9],"i":[{"b":0,"c":[{".":28,"i":[{"s":36,"z":36}],"s":28,"u":176}],"d":139,"e":43,"f":[{"y":[{".":28}]}],"g":32,"l":[{"a":[{"t":[{"i":4}]}],"l":36}],"n":[{"g":[{".":4},1]}],"p":[{"a":[{"r":28}]},5],"s":[{".":28,"m":1,"t":1}],"t":[{"i":[{"o":36}]}],"z":1},8],"j":38,"o":[{"m":32,"n":[{"i":12}],"p":36},41],"r":[{"a":[{"d":3,"l":1,"n":[{"t":28}],"t":32}],"e":[{"s":[{"s":4}]}],"i":[{"l":1}],"o":[{"l":[{"l":[{"e":[{"r":16}]}]}]}],"y":[{"m":36}]},43],"u":[{"a":32,"b":18,"p":[{"l":[{"i":18}]}],"r":36},43],"y":38}],"u":[{"a":6,"c":35,"d":[{"i":7},34],"e":[{"n":1}],"g":[{"a":2}],"i":[{"s":0},1],"k":35,"l":[{"o":28,"t":[{"i":[{"m":15}]},32]}],"m":[{"e":[{"n":[{"t":[{"a":35}]}],"r":35},6],"i":35}],"n":[{"c":34}],"t":[{"a":[{"t":1}],"i":[{"v":36}],"o":0,"r":6}]},38],"v":[{"e":[{"l":3,"n":[{"e":19,"o":18}],"r":[{"s":[{"a":[{"n":16}]}]}]},9],"i":[{"t":2}],"o":[{"c":[{"a":[{"t":18}]}]}]},86],"w":[{"i":[{"n":19}],"o":[{"m":19}]},36],"x":141,"y":[{"c":35,"m":[{"i":[{"t":7}]}],"t":[{"h":19}]},44],"z":[{"y":2},41]}],"o":[{"a":[{"c":[{"e":36,"t":32}],"d":[{"e":[{"r":7}],"i":7}],"g":32,"k":[{"e":[{"r":7}]}],"l":[{"e":[{"s":32}],"i":[{"n":7,"t":36},2]}],"n":[{"t":2}],"p":[{"i":7}],"r":[{"e":[{"r":7}],"s":[{"e":2}]}],"s":[{"t":[{"e":[{"r":18}]}]}],"t":[{"a":7,"e":[{"e":7,"r":7}]}]},44],"b":[{"a":33,"e":[{"l":2}],"i":[{"n":[{"g":1}],"o":177,"t":1},8],"l":[{"a":32,"i":6}],"o":[{"c":1,"l":36,"t":36},33],"r":[{"a":32,"o":[{"m":12}]}],"t":4,"u":[{"l":1,"s":32}]}],"c":[{"a":[{"b":28,"d":32,"g":4,"l":[{"l":[{"i":36}]}],"t":[{"i":[{"v":108}],"o":4}]},8],"e":[{"a":28,"n":[{"o":18}],"s":[{"s":[{"i":12}]}]},178],"h":[{"e":2,"i":[{"n":7}],"o":[{"n":32}],"r":[{"o":[{"n":12}]}],"u":36}],"i":[{"a":[{"b":5,"l":2}]}],"l":[{"e":38},43],"r":[{"e":3},43],"t":[{"e":8,"o":6},9],"u":[{"l":[{"u":2}],"m":19,"o":4,"s":[{"s":[{"i":18},12]}],"t":[{"r":18}]}],"y":[{"t":[{"o":18},36]},43]},30],"d":[{"a":[{"l":[{".":1}]}],"e":[{"c":2,"g":[{"a":2},36],"n":[{"d":36,"t":32}],"s":19}],"i":[{"c":[{"a":1}],"e":154,"g":[{"a":1}],"l":0,"s":[{"i":[{"a":18}]},179],"t":4,"z":35}],"l":[{"i":1}],"o":[{"l":[{"o":4}],"u":[{"s":4}]},38],"r":[{"o":32,"u":4}],"u":[{"c":[{"e":[{"r":7}],"t":[{".":28,"s":28}]}],"l":1},38],"y":[{"t":36}]}],"e":[{"a":1,"b":[{"i":0}],"c":[{"u":4}],"d":0,"e":36,"i":[{"c":4}],"l":[{"e":[{"c":32}],"l":[{"i":12}],"o":19}],"o":[{"p":13}],"p":7,"q":36,"r":32,"s":[{"t":5}],"t":[{".":28,"i":5,"r":2},43],"u":34,"v":32,"x":32}],"f":[{"l":[{"u":19}],"o":33,"u":[{"l":28,"n":19}]}],"g":[{"a":[{"m":32,"r":21,"s":32},38],"e":[{"n":140,"y":36}],"i":[{"o":28},32],"n":[{"a":8}],"o":[{"n":[{"i":12}],"t":28}],"r":[{"i":38,"o":28}],"s":[{"h":0}],"u":38,"y":[{"r":36}]},45],"h":[{"a":[{"b":3},32],"e":[{"r":[{"e":[{"r":19}]}]},32],"o":117,"y":2},41],"i":[{"c":[{".":32,"h":4},0],"d":[{"e":33},141],"g":2,"k":[{"i":21}],"l":[{"e":[{"r":5}],"i":7}],"n":[{"d":[{"e":5}],"g":32,"t":[{"e":[{"r":14}],"r":2}]}],"o":0,"s":[{"m":32},33],"t":[{"a":[{"l":2}],"h":19},0]},30],"j":43,"k":[{"i":[{"n":[{"e":0}]}],"l":1,"u":4}],"l":[{"a":[{"c":[{"k":28},2],"l":[{"i":36}],"n":[{"d":18},0],"s":[{"t":4}],"t":[{"e":[{"r":18}]}]}],"c":[{"h":4}],"e":[{"c":[{"i":4},180],"f":[{"i":4}],"o":[{"n":2},32],"p":32,"r":6,"s":[{"t":32}],"u":32}],"i":[{"a":43,"c":[{"a":1,"e":32,"i":[{"z":4}],"k":4,"s":1}],"d":[{".":4}],"e":[{"r":32,"s":[{".":4}]},9],"f":[{"e":82},36],"g":[{"o":7}],"n":[{"a":36,"g":1}],"o":[{"s":7}],"p":54,"s":19,"t":8}],"l":[{"e":42,"i":[{"m":50}],"o":[{"p":[{"e":0}]}],"y":[{"i":0}]}],"m":[{"i":1}],"o":[{"c":33,"i":[{"d":1}],"n":[{"a":28,"e":[{"l":18}]}],"r":6,"s":32,"u":6},43],"u":[{"b":40,"m":[{"i":32}],"n":[{"t":[{"e":36}]}],"s":[{".":1}]}],"y":[{"p":[{"h":5}],"t":33}]}],"m":[{"a":[{"b":28,"c":38,"l":38,"n":[{"e":28}],"s":[{"t":12}],"t":32},43],"b":[{"e":0}],"e":[{"d":2,"g":[{"a":18},2],"l":[{"i":5}],"n":[{"a":1,"t":19}],"r":[{"i":32}]}],"i":[{"a":32,"c":[{"r":18},9],"e":[{".":0}],"l":19,"n":[{"y":0}],"s":[{"s":12}],"t":8},6],"m":[{"e":19}],"n":[{"a":8,"i":3}],"o":[{"i":28,"l":[{"i":50}],"n":[{"y":4},73],"s":[{".":28}],"t":[{"i":[{"v":18}]}],"u":38}],"p":[{"i":[{"l":4}],"t":[{"e":[{"r":18}]}]}]},30],"n":[{"a":[{"d":2,"i":1,"s":[{".":36,"t":[{"i":16}]}],"t":[{"i":[{"v":4}]}],"u":33}],"c":[{"a":[{"t":50}],"h":[{"o":0}]},6],"d":[{"a":[{"r":181}],"e":[{"n":[{"t":7}],"r":1}],"r":1,"y":4}],"e":[{"a":33,"c":[{"r":19}],"d":33,"e":6,"l":[{"l":4}],"o":32,"s":[{"s":1}],"t":6},38],"g":[{"a":[{"t":5}],"u":0}],"h":33,"i":[{"a":[{"r":4},64],"c":[{"a":[{"l":49},18]},31],"d":0,"e":[{"s":1}],"f":1,"g":36,"o":43}],"k":[{"s":2}],"n":[{"e":[{"s":33}]}],"o":[{"d":[{"i":4}],"i":4,"m":[{"i":[{"c":99},2]}],"s":5,"t":[{"a":36}]}],"s":9,"t":[{"a":[{"n":[{"e":[{".":7}]}]}],"e":[{"r":0}],"i":[{"f":[{"i":18}]}],"o":[{"n":16}],"r":[{"e":0},2]},30],"u":[{"r":4,"s":36}],"v":[{"o":[{"l":[{"u":18}]}]}],"z":8}],"o":[{"f":[{"e":[{"r":5}]}],"i":6,"k":[{"e":[{"r":5}],"i":5}],"l":[{"e":0,"i":[{"e":7}]}],"m":0,"n":[{"i":5}],"p":[{"i":[{"e":2}],"t":32},8],"s":[{"e":0,"t":[{"e":[{"r":18}]}]}],"t":[{"e":[{"r":5}]},8],"z":[{"e":[{"r":7}]}]},30],"p":[{"a":[{"b":28,"l":[{"i":36}],"r":[{"a":7}],"t":[{"h":16}]},43],"e":[{"c":36,"n":[{"s":12}],"r":[{"a":[{"g":33},34]},6]}],"h":[{"a":43,"e":28,"i":[{"e":2,"l":36}],"o":[{"l":4}],"y":[{"l":[{"a":18}]},43]}],"i":[{"e":[{"s":1}],"n":[{"g":4}],"t":86},6],"l":[{"a":[{"s":[{"t":49}]}]},33],"o":[{"i":28,"l":[{"i":3}],"n":[{"y":4},19],"r":[{"i":4}],"u":[{"n":12}],"v":84}],"p":[{"l":[{"i":4},8]}],"r":[{"a":[{"c":12,"n":1}],"e":19,"o":[{"l":19,"p":4}]}],"s":[{"o":4}],"t":[{"a":8},96],"u":6}],"q":[{"u":[{"i":[{"a":[{"l":36}]}]}]}],"r":[{"a":[{"d":[{"o":4}],"g":2,"i":36,"l":[{"s":33},4],"m":19,"n":[{"e":3}],"t":[{"o":[{"r":15}]}]},6],"b":[{"i":[{"n":5}]}],"c":[{"h":[{"i":3},0]}],"d":[{"u":0}],"e":[{"a":[{"d":4,"r":7}],"c":[{"a":7}],"f":5,"g":5,"i":1,"o":[{"l":18}],"s":[{"c":1,"h":5,"s":1,"t":[{"a":[{"t":16}],"e":4}]}],"t":[{"t":4}],"v":2,"x":35},30],"f":[{"r":0}],"g":[{"n":4}],"i":[{".":33,"a":[{".":1,"n":33}],"c":[{"i":[{"d":7},2]}],"e":[{"n":12}],"f":1,"g":[{"a":7},35],"n":[{"o":2}],"o":[{".":33,"n":4,"s":33}]},6],"k":[{"a":7}],"m":[{"i":20},30],"n":[{"a":13,"i":[{"s":35,"t":1}]}],"o":[{"n":[{"e":1}],"o":36,"s":[{"e":4,"o":4}],"u":6}],"r":[{"e":[{"l":50,"s":50}]}],"s":[{"c":0,"e":[{"y":0}],"t":[{"i":0}]}],"t":[{"a":[{"n":5,"t":5}],"e":[{"r":5,"s":[{".":4}]}],"h":[{"i":1,"r":0}],"i":[{"t":0,"z":5}],"o":[{"r":0}],"r":[{"a":4,"e":5}]},30],"u":[{"n":0},40],"y":[{"p":7}]}],"s":[{"a":[{"i":7,"l":1,"r":18}],"c":[{"a":0,"e":0,"h":38,"i":28,"l":[{"e":[{"r":[{"o":[{"s":127}]}]}]}]},43],"e":[{"c":[{"u":3},32],"g":7,"n":[{"c":4,"s":12}],"o":4,"r":19,"t":38,"u":4}],"i":[{"a":[{"l":2,"n":2},32],"d":[{"e":4}],"e":[{"r":32}],"f":4,"n":6,"s":28}],"k":[{"e":36}],"o":[{"n":36,"p":[{"h":32,"o":1}]}],"p":[{"e":[{"c":32}],"i":6},33],"s":[{"a":[{"r":7},0],"i":[{"t":0}]}],"t":[{"a":[{"g":[{"e":7}],"r":0},33],"e":[{"e":4,"n":[{"t":16},4]}],"i":[{"c":[{"a":7}],"l":1}],"o":[{"m":[{"e":36}],"r":5}]}],"u":[{"r":6},33]}],"t":[{"a":[{"g":13,"l":[{"i":[{"t":36}]}],"m":1,"n":[{"i":[{"c":0}]}],"p":32,"t":[{"i":[{"o":0}]}],"v":53,"x":32}],"e":[{"d":28,"r":[{"m":19}],"s":[{"t":[{"a":4}]}]}],"h":[{"a":[{"l":[{"a":[{"m":127}]}]}],"e":[{"r":[{"i":[{"n":7}],"m":[{"a":15},36]}]}],"o":[{"r":36}]},33],"i":[{"a":36,"l":[{"l":36}],"n":[{"i":[{"z":60}]}],"v":[{"a":32,"i":36},0]}],"o":[{"n":[{"e":36}],"r":[{"n":28}],"u":28},41],"r":64,"u":[{"r":[{"i":12}]}],"y":[{"l":[{"e":5}]}]},30],"u":[{"a":93,"b":[{"r":4},9],"c":[{"a":4,"o":4}],"d":[{"i":7}],"e":[{"t":1},33],"g":[{"a":4,"h":[{"t":[{"i":16}]}],"i":4},2],"l":[{"t":[{"i":18},2]}],"m":1,"n":[{"d":[{"a":18,"e":[{"l":18}]},9],"g":[{"i":[{"n":7}]}],"t":[{"r":5}]},30],"p":[{"l":[{"i":7}]}],"r":[{"e":[{"r":5}]}],"s":[{"a":[{"n":4}],"e":30,"i":[{"a":35}],"s":19}],"t":[{"i":[{"s":[{"h":7}]}]}],"v":[{"a":7}]},134],"v":[{"a":[{"l":[{"e":5}],"r":36,"t":[{"i":33}]}],"e":[{"l":[{"i":[{"n":[{"g":4}]}]}],"r":[{".":28,"b":3,"s":3}],"t":[{"e":0}]}],"i":[{"d":[{"e":[{"n":18}]}],"s":[{"o":18},43]}],"o":[{"s":84}]}],"w":[{"a":[{"g":1,"n":1,"y":36}],"d":[{"i":2,"l":5}],"e":[{"l":[{"l":[{"i":18}]},6]}],"h":[{"a":4,"i":[{"t":[{"h":49}]}]}],"i":[{"n":[{"e":7},4]},6],"s":[{"h":4,"l":4},2],"y":4}],"x":[{"i":[{"c":[{"o":[{"l":18}]}]},1],"o":4},28],"y":[{"a":4,"s":2},30],"z":[{"o":[{"i":7},43],"y":[{"g":32}]},30]}],"p":[{"a":[{".":33,"c":[{"t":[{"e":2}]}],"d":[{"o":[{"u":4}],"r":2}],"e":[{"s":19}],"g":[{"a":[{"n":1,"t":[{"i":2},33]}]}],"i":[{"n":42,"r":[{"m":33}]}],"l":[{"a":[{"n":4}],"i":[{"n":5}],"o":1,"s":28}],"n":[{"a":[{"c":7}],"e":20,"i":5}],"p":[{"a":0,"e":1,"u":5,"y":1}],"r":[{"a":[{"s":18}],"l":5,"o":[{"c":1,"l":1,"n":7}]},29],"s":[{"s":[{"i":[{"v":[{"e":18}]}]}],"t":[{"i":[{"n":2}]},20]},94],"t":[{"e":[{"r":1}],"i":[{"n":19}],"o":36,"r":[{"i":[{"c":[{"i":[{"a":4}]},2]}]}]}],"u":[{"l":[{"e":18}],"p":5},35],"v":[{"i":[{"l":4}]}],"w":[{"k":[{"i":7},19]},35]}],"b":45,"c":77,"d":119,"e":[{".":30,"a":[{"r":[{"l":[{"i":16}]}]}],"c":[{"o":0,"t":[{"u":2}]}],"d":[{"a":160,"e":34,"i":[{"s":5},34],"s":34,"u":8},30],"e":28,"f":8,"l":[{"e":[{"o":4},33],"v":7}],"n":[{"a":[{"t":2}],"c":83,"d":[{"e":[{"r":18}],"r":7}],"i":[{"c":2}],"n":165,"s":[{"a":[{"t":[{"i":18}]}]}],"u":7}],"o":[{"n":4}],"r":[{"c":[{"e":[{"n":[{"t":127}]}]},35],"e":[{"m":[{"i":16}]},33],"i":28,"n":182,"o":[{"n":32,"s":[{".":2}]}],"t":[{"i":[{"n":7,"s":18}]}],"v":5,"y":28}],"s":[{"s":82,"t":[{"i":[{"l":7}]}]},30],"t":[{"a":[{"l":[{"l":7}]}],"e":[{"n":5}],"i":8,"r":5},34],"w":[{"a":0}],"x":33}],"f":43,"g":36,"h":[{".":30,"a":[{"e":33,"g":[{"e":[{"d":7}]}],"l":[{".":4}],"n":[{"t":[{"i":16}]},8]}],"e":[{"s":[{"i":4}],"t":1},2],"i":[{"b":34,"c":33,"l":29,"n":2,"s":6,"t":[{"h":7}]}],"l":8,"o":[{"b":[{"l":33}],"n":[{"e":[{"d":33}]}],"r":[{"i":[{"z":4}]},34],"s":[{"p":3}],"u":1},29],"r":[{"a":34}],"s":33,"u":[{"i":7},29],"y":[{".":30,"l":34}]}],"i":[{".":33,"a":[{"r":34}],"c":[{"a":[{"l":36},33],"o":1,"r":0,"t":19}],"e":[{"s":[{"t":28}],"t":[{"i":4}]},38],"f":[{"i":[{"e":36}]}],"g":[{"n":5}],"l":[{"e":34,"l":[{"i":[{"n":18}]}],"o":[{"t":1},35]},38],"m":9,"n":[{"e":[{"t":7},2],"g":[{"e":34}],"n":28,"s":83}],"o":98,"p":[{"a":2,"e":0}],"q":35,"r":[{"a":[{"c":7}],"t":2}],"s":[{".":28,"c":28,"s":[{"a":18},9],"t":[{"i":[{"l":7}],"r":2}]}],"t":[{"u":38}]}],"k":183,"l":[{"a":[{"n":[{"o":7,"t":[{"e":[{"r":16}]}]}],"s":[{"t":[{"i":[{"c":[{"i":18}]}]}]}],"t":[{"o":67}]},29],"e":[{".":33,"d":[{".":33}],"g":34,"n":34,"s":30}],"i":[{"s":[{"m":33,"t":33}]}],"u":[{"m":[{"b":[{"e":[{"r":16},19]}]},9]}],"y":28},156],"m":45,"n":[{"o":[{"s":19}]},30],"o":[{".":33,"c":[{"a":1}],"d":34,"f":33,"i":[{"d":97,"s":[{"i":18}]}],"l":[{"e":[{"m":[{"i":[{"c":4}]}]}],"y":[{"s":3},184]}],"m":[{"a":[{"n":16}],"e":2}],"n":[{"a":[{"c":2}],"c":[{"e":2}],"i":[{"e":185,"f":34}],"t":[{"a":7}],"y":30},134],"p":[{"a":0,"l":[{"e":4}]}],"r":[{"a":[{"t":[{"o":33}]}],"e":[{"a":5,"d":33}],"i":[{"f":19}],"p":5,"t":[{"i":[{"e":7}]},34]}],"s":[{"s":171},165],"t":[{"e":6}],"u":[{"l":[{"t":[{"e":16}]}],"n":[{"d":[{"e":[{"r":16}]}]}],"t":[{"e":[{"r":18}]}]}],"x":[{"i":36}],"y":35},29],"p":[{"a":[{"r":[{"a":[{"t":15}]},3]}],"e":[{"n":[{"e":28}],"t":3}],"h":2,"i":[{"c":2}],"l":[{"e":[{"d":28,"r":36,"t":36}]}],"r":[{"e":[{"s":[{"s":[{"o":15}]}]}],"o":[{"b":[{"a":16}]}]}]},71],"r":[{"a":[{"c":140,"d":7,"r":19}],"e":[{".":33,"b":3,"d":20,"f":[{"e":[{"r":[{"e":18}]}]}],"l":[{"a":[{"t":[{"e":18}]}]}],"m":[{"a":[{"t":7}]},34],"n":3,"s":[{"a":3,"c":[{"i":[{"n":7}]}],"e":32,"s":[{"i":35}]}]}],"i":[{"c":[{"i":35}],"e":[{"s":2}],"m":88,"n":[{"g":[{"e":[{"r":16}],"i":16}]}],"o":[{"l":36,"s":2},33],"s":[{"i":[{"n":18}]}],"v":[{"a":33},42]}],"o":[{".":33,"b":[{"o":5}],"c":[{"a":143,"h":2}],"l":20,"n":[{"a":19}],"p":[{"h":[{"e":16}],"y":[{"l":15}]}],"r":186,"s":[{"i":19,"t":[{"r":18}]}],"t":[{"h":5}]}],"y":33},68],"s":[{"a":[{"c":32,"l":[{"t":18}]}],"h":32,"i":[{"n":[{".":36}]},43],"o":[{"m":5}],"t":43,"u":[{"l":[{"i":3}]}],"y":[{"c":34}]},44],"t":[{"a":[{"b":1,"d":28,"n":28,"r":[{"c":4},38]}],"e":[{"d":43,"n":[{"a":36,"n":4}],"r":[{"y":35}],"t":36}],"i":[{"c":0,"e":36,"l":32,"n":[{"e":0},58],"s":[{"e":32,"i":36}]}],"o":[{"m":36}],"r":28,"u":43},44],"u":[{"b":[{"e":4},20],"c":[{"h":19},2],"d":[{"i":[{"c":19}]}],"e":[{"r":4}],"f":[{"f":[{"e":[{"r":18}]}]}],"l":[{"a":[{"r":[{".":4},0]}],"i":[{"s":4}]}],"m":[{"o":2},89],"n":[{"a":2,"c":34,"g":[{"i":7}],"i":5,"t":9},28],"p":[{"i":1}],"r":[{"b":7,"c":5}],"s":[{"h":[{"i":[{"e":19}]}]},28],"t":[{"a":[{"t":1}],"i":[{"s":72}],"r":1}]}],"w":64,"y":[{"e":1,"g":34,"l":34,"r":[{"e":5}],"t":4},187]}],"q":[{"f":33,"u":[{"a":[{"k":35,"r":33,"t":[{"i":[{"o":7}]}]}],"e":[{".":30,"r":[{"a":34,"e":33}],"s":[{".":33}],"t":29}],"i":[{"n":[{"a":35}],"r":35,"t":[{"o":34,"u":33}]}]},0]}],"r":[{"a":[{".":33,"b":[{"a":1,"e":35,"i":[{"n":81}],"o":[{"l":1},38]}],"c":[{"a":2,"u":[{"l":[{"a":7,"o":4}]},38]}],"d":[{"e":0,"i":[{"n":[{"e":2}]}]},38],"g":[{"o":[{"u":7}],"r":1}],"i":[{"l":[{"l":34}],"s":[{"t":4}]}],"l":[{"i":[{"a":33}],"y":1}],"m":[{"n":36,"u":1}],"n":[{"d":[{"i":[{"s":[{"h":7}]},28],"u":2}],"e":[{"e":4}],"g":[{"e":[{"n":2}]}],"i":[{"a":1}],"o":[{"i":1}],"t":[{"e":[{"d":7,"l":35}],"i":[{"n":18}],"o":18},9]}],"p":[{"o":[{"l":16}],"t":[{"o":7}]}],"r":[{"c":33,"e":[{"f":5},42],"i":[{"a":[{".":7}]}]}],"s":[{"c":5,"e":38,"k":28,"o":1,"s":[{"a":18,"i":[{"n":18}]}],"t":[{"e":188}]},9],"t":[{"a":[{"p":4,"t":4}],"e":[{"u":7}],"h":[{"e":19}],"i":[{"f":5,"n":[{".":2}]}],"o":[{"c":4,"l":60,"m":110,"s":0}],"u":[{"i":4,"m":7,"r":5}]}],"v":[{"a":[{"i":7}],"e":[{"l":[{"i":7}]}],"i":[{"t":5}]}],"w":[{"n":19}],"z":[{"i":[{"e":1}]}]}],"b":[{"a":[{"g":28,"l":[{"i":1}],"n":6,"r":3},38],"e":[{"c":7,"l":[{"o":18},32],"n":[{"t":1}],"s":28},38],"i":[{"c":[{"u":18},19],"n":[{"e":36},38],"t":140},8],"o":[{"s":38}],"u":[{"m":28,"t":67}]},43],"c":[{"a":[{"n":[{"t":16}],"s":2}],"e":[{"l":[{"e":28}],"n":[{"e":[{"r":18}],"t":[{"e":[{"n":[{"a":18}]}]}]}],"s":38}],"h":[{"a":[{"i":3,"l":5,"r":[{"d":7}],"t":[{"e":7}]}],"e":[{"o":32,"r":28}],"i":[{"e":[{"r":2}],"n":28,"s":5,"t":32}]}],"i":[{"l":19,"n":[{"o":[{"g":7}]}],"s":42,"z":[{"i":19}]}],"l":[{"e":28,"o":36},38],"o":[{"l":[{"o":12}]}],"r":[{"i":[{"t":[{"i":49},16]}]}],"t":[{"i":4},2]},41],"d":[{"a":[{"m":36,"n":[{".":0},189],"r":38}],"e":[{"l":103,"n":[{"s":32}],"s":[{"s":4},28]}],"i":[{"a":[{"n":4}],"e":28,"g":36,"n":[{"g":1},8],"o":5,"s":179}],"l":[{"e":[{"r":4}],"i":1}],"o":[{"l":28,"u":[{"s":4}]}]}],"e":[{".":33,"a":[{".":28,"c":[{"t":[{"i":[{"v":16}]}]}],"f":1,"g":1,"l":[{"t":4}],"m":[{"b":4}],"n":[{"i":1,"t":4}],"s":[{"c":4,"o":3}],"u":36,"v":34},2],"b":[{"r":[{"a":[{"t":[{"e":36}]}]}],"u":[{"c":7}]}],"c":[{"a":[{"l":1}],"c":[{"e":2}],"e":[{"d":[{"e":[{"n":16}]}]},1],"h":[{"a":1}],"i":[{"s":[{"i":18}]}],"r":190,"t":[{"r":82}],"u":1}],"d":[{"e":6,"i":[{"s":1}],"o":[{"l":0}],"r":6},187],"e":[{"d":[{"i":18}],"m":5,"r":34}],"f":[{"e":8,"i":[{"n":1}]}],"g":[{"a":[{"l":[{"i":4}]}],"r":[{"a":4,"e":1,"i":5,"o":1}],"u":[{"l":5}]}],"i":[{"f":1,"n":6,"s":1,"t":[{"i":19},3]},2],"l":[{"a":6,"e":[{"d":33},6],"i":[{"a":1,"c":5,"g":4,"q":19}],"l":[{"i":5}]}],"m":[{".":36,"a":[{"c":7,"n":[{"d":12}],"t":[{"o":7}]}],"p":32,"u":[{"l":7}]}],"n":[{"a":[{"t":7},19],"d":[{"i":28}],"e":[{"s":2},42],"i":[{"c":16,"t":2},28],"t":[{"e":[{"r":2}]}],"u":[{"m":4}]}],"o":[{"c":1,"g":34,"l":[{"a":4,"i":1}],"s":34}],"p":[{"e":[{"r":0},6],"h":4,"i":[{"d":7,"n":1}],"l":[{"e":1}],"r":[{"e":0}]}],"q":6,"r":[{"a":2,"e":[{"a":4},19],"u":24}],"s":[{".":30,"c":[{"r":1}],"e":[{"l":1,"m":1,"r":1}],"i":[{"s":[{"t":7}],"t":4}],"p":[{"e":1}],"q":32,"t":[{"a":[{"l":4}],"e":[{"r":18}],"u":4}]}],"t":[{"a":[{"r":34}],"e":[{"n":1,"r":[{"m":4},191]}],"o":[{"n":4},63],"r":[{"a":1,"e":1,"i":4}],"u":1}],"u":[{"n":1,"r":19}],"v":[{"e":[{"l":5}],"i":[{"t":19}]},6]},38],"f":[{"l":0,"u":[{"m":2}]},43],"g":[{"a":[{"g":28,"l":19}],"e":[{"e":36,"n":[{"e":28}],"o":32,"r":32},38],"l":[{"i":4}],"u":[{"f":7}]},41],"h":[{"e":[{"l":131,"o":[{"l":7}]}],"o":[{"s":19}],"y":65},8],"i":[{".":33,"a":[{"m":1,"p":4}],"b":[{"o":1},47],"c":[{"a":[{"t":[{"u":18}]}],"e":30,"h":[{"o":[{"m":18}]}],"k":[{"e":[{"n":19}]}],"l":[{"i":4},28],"o":[{"l":1,"r":4}],"r":[{"a":0}],"u":30}],"d":[{"a":[{"l":2}],"e":2}],"e":[{"l":4,"r":1,"s":8}],"f":[{"t":[{"e":[{"r":18}],"i":[{"e":7}]}],"u":[{"g":[{"a":35}]}]}],"g":[{"a":[{"m":4,"n":[{"t":7}]}]}],"l":[{"a":17,"e":28,"l":[{"e":[{"r":[{".":18}]}],"i":[{"n":[{"g":[{"s":18}]}]}]}]}],"m":[{".":33,"a":[{"g":19,"n":192,"t":5},8],"b":28,"e":[{"n":12}],"m":33,"s":33}],"n":[{"e":[{"t":28},2],"g":[{"i":[{"e":18}]}],"k":[{"e":[{"r":18}]}],"o":28,"s":[{"i":18},2],"t":[{"e":[{"r":14}]}]}],"o":[{"g":2,"n":[{"e":35}],"p":0,"r":4},1],"p":[{"a":193,"i":[{"e":4}],"l":[{"i":[{"c":[{"a":7}]}]}]}],"r":4,"s":[{"c":2,"i":[{"s":2}],"p":[{"a":2,"e":2},38],"t":[{"e":[{"r":7}],"i":33}]}],"t":[{"o":[{"n":1}],"r":53}],"v":[{"a":[{"l":[{"l":4},2]}],"e":[{"l":[{"i":7}],"n":5}],"i":[{"l":5}]},141],"z":[{"o":60}]}],"j":43,"k":[{"a":[{"s":36,"t":[{"i":4}]}],"e":[{"l":[{"l":36}],"n":[{"i":4}],"r":6,"t":32,"y":32}],"i":[{"e":[{"r":32,"s":[{"t":36}]}],"n":[{".":36,"s":36}]}],"s":[{"m":[{"e":2}]}]},38],"l":[{"a":[{"t":3},43],"e":43,"i":[{"c":92,"n":[{"e":32,"s":36}],"t":28}],"o":43}],"m":[{"a":[{"c":[{"e":7},32],"d":36,"l":38,"n":[{"c":28,"o":28}],"r":[{"i":28,"y":28}],"s":0,"t":[{"i":113,"o":[{"c":7,"l":53}]}]}],"e":[{"a":9}],"i":[{"c":[{"a":0},38],"d":119,"e":0,"g":36,"l":18,"n":[{"e":19,"g":[{".":28},1]}],"t":[{"e":[{".":28}]}]}],"o":[{"c":32,"l":19}],"u":[{"l":[{"i":5}]},43]}],"n":[{"a":[{"b":1,"c":32,"d":36,"r":4,"t":[{"e":1,"i":[{"n":4}]}]}],"e":[{"d":[{"l":4}],"l":32,"s":[{"s":32,"t":4}],"t":32,"y":32}],"i":[{"a":36,"b":4,"c":32,"n":[{"e":0},1],"s":[{"t":1},43],"v":7,"z":1}],"n":4,"o":[{"c":32,"g":36}],"t":2,"u":[{"c":19,"t":36}]},156],"o":[{".":33,"b":[{"e":0,"l":[{"e":5}],"r":4}],"c":[{"c":35,"u":1}],"d":[{"o":1,"y":[{"n":19}]},38],"f":[{"e":6}],"g":[{"n":1}],"i":[{"c":1,"d":3},33],"l":[{"a":1,"e":[{"d":28}],"i":[{"t":[{"e":7}]}],"y":1}],"m":[{"a":[{"n":[{"t":49}]}],"e":[{"l":4}],"i":[{"t":1}],"o":[{"l":[{"e":[{"c":127}]}]}],"p":2,"u":1}],"n":[{"a":[{"c":2,"l":33,"t":[{"e":4}]}],"c":[{"h":7}],"d":[{"o":2}],"g":[{"i":18}],"m":[{"e":36}],"o":6,"t":[{"o":[{"n":2}]}]}],"o":[{"m":29,"t":35},2],"p":[{".":33,"e":[{"l":1}],"i":[{"n":[{"e":2}]}],"r":28,"t":[{"e":36}]},38],"r":[{"d":7,"e":33}],"s":[{"a":28,"i":[{"a":19}],"o":[{"l":4}],"s":33,"t":[{"a":[{"t":4}],"i":[{"t":7},2]}]}],"t":[{"a":[{"t":1}],"e":[{"r":0},6],"u":1}],"u":[{"e":35,"l":3,"n":[{"d":[{"e":[{"r":16}]}]}],"s":[{"e":[{"l":7}],"s":33}],"t":28}],"w":[{"e":[{"r":5}]},28],"x":33}],"p":[{"a":[{"s":[{"s":[{"i":[{"n":16}]}]}],"t":1}],"e":[{"n":[{"t":32}],"r":[{".":4}]},9],"h":[{"e":7,"o":[{"l":32}]},38],"i":[{"n":[{"g":1}],"s":4}],"o":[{"l":[{"a":3}],"u":84}],"r":[{"e":[{"t":[{"e":[{"r":16}]}]},19]}],"u":32}],"q":43,"r":[{"a":[{"h":2,"n":[{"g":[{"i":18}]}],"p":19}],"e":[{"l":9,"o":195}],"h":[{"e":3}],"i":[{"c":[{"u":12},19],"f":[{"y":[{".":2}]}],"n":[{"g":[{"e":18}]}],"o":[{"s":2}]},32],"o":[{"b":3,"g":18,"t":2}],"u":36,"y":[{"i":32,"m":32},7]},194],"s":[{"a":[{"g":28,"l":[{"i":[{"s":36,"z":36}]},38],"n":38,"r":28}],"e":[{"a":32,"c":32,"l":[{"l":16},19],"r":[{".":1,"s":1}],"t":32},38],"h":[{"a":32,"i":[{"e":28},32]}],"i":[{"a":105,"b":1,"e":36,"l":28,"n":[{"g":1}],"o":32,"t":28,"v":1}],"l":[{"i":4}],"t":[{"o":[{"r":12}],"r":[{"a":[{"t":49}]}]}],"u":[{"s":28},32],"w":[{"e":[{"a":[{"r":49}]}]}]},62],"t":[{"a":[{"b":1,"g":[{"e":1},2],"r":[{"e":28},32]}],"c":1,"e":[{"d":[{"l":28},43],"l":139,"n":[{"d":36,"i":1}],"r":[{"e":[{"r":36}]}],"t":36,"u":36}],"h":[{"e":[{"n":[{"e":28}]}],"i":[{"n":[{"g":[{".":7}]}]},9],"r":[{"i":5}]}],"i":[{"c":[{"l":28},77],"e":[{"t":36}],"l":[{"a":36,"l":[{"e":18},36],"y":4}],"n":[{"a":32,"g":1},38],"t":[{"i":32,"u":7}],"v":1,"z":38}],"l":[{"e":[{"t":4}],"i":1}],"o":[{"l":7},77],"r":[{"i":[{"d":4}]}],"s":[{"i":4}],"u":[{"s":28},43],"w":[{"i":[{"s":12}]}]},8],"u":[{"a":1,"b":[{"e":28,"r":5}],"c":[{"e":0}],"d":38,"e":[{"l":2}],"f":28,"i":[{"n":1,"s":[{"i":18}]}],"l":8,"m":[{"e":28,"i":28,"o":[{"r":[{"e":0}]}]}],"n":[{"c":[{"l":2,"u":[{"l":15},12]}],"d":180,"e":[{"t":4},9],"g":2,"t":2}],"p":[{"l":[{"i":[{"c":7}]}],"u":1},8],"r":[{"i":2}],"s":[{"p":2,"t":[{"a":[{"t":18}],"e":[{"e":18}],"i":[{"c":7}],"u":14}]}],"t":[{"a":[{"l":1}],"i":1}]}],"v":[{"a":[{"n":[{"c":28}]}],"e":[{"l":[{"i":19}],"n":[{"e":19},32],"r":[{".":4,"s":[{".":4}]}],"s":[{"t":32}],"t":32,"y":32},38],"i":[{"t":2}]},41],"w":43,"y":[{"e":[{"r":4}],"g":[{"m":35,"o":0}],"m":[{"b":2}],"n":[{"g":[{"o":[{"l":33},34]}]}],"p":[{"a":7}],"t":[{"h":[{"i":19}]},8]},47],"z":38}],"s":[{"a":[{".":30,"b":[{"l":32},30],"c":[{"k":35,"q":2,"t":[{"e":2},32]}],"d":[{"i":7,"o":7}],"e":35,"g":0,"i":[{"n":[{"t":19}]},34],"k":35,"l":[{"a":[{"c":4}],"e":34,"i":[{"e":1}],"t":112,"u":1},8],"m":[{"i":[{"n":4}],"o":7,"p":19},0],"n":[{"a":5,"d":[{"e":[{"d":2}]}],"e":112,"g":[{"a":[{"r":7}]}],"i":[{"f":7}],"t":[{"r":[{"i":18}]},30]}],"p":[{"r":5},32],"r":[{"s":7}],"s":[{".":34,"s":[{"e":[{"m":49}]},5]}],"t":[{"e":8,"i":[{"v":36}],"o":[{"r":[{"y":36}]}],"u":20},196],"u":[{"c":[{"i":7}],"r":18},29],"v":[{"i":42,"o":[{"u":1}]}]}],"b":[{"e":[{"i":28,"s":2}],"y":5},56],"c":[{"a":[{"l":[{"e":[{"n":7}]}],"p":9,"r":[{"c":19}],"v":3},43],"e":[{"d":28,"i":33,"s":110},43],"h":9,"i":[{"d":18}],"o":[{"f":19,"i":28,"p":[{"e":165,"i":[{"c":35}]}]},38],"r":[{"i":[{"p":[{"t":[{"i":35}]}]}]}],"u":[{"r":[{"a":[{".":33,"s":33}]}]},45]},8],"d":62,"e":[{".":30,"a":[{"m":28,"s":19,"w":5},8],"c":[{"a":[{"n":7},2],"o":[{"n":12},8]}],"d":[{"a":0,"i":[{"t":2}]},30],"e":[{"d":34}],"i":[{"g":5},34],"l":[{"a":35,"e":[{"c":1,"n":16},33],"f":35}],"m":[{"e":187,"i":[{"d":18},9],"o":2}],"n":[{"g":7,"s":[{"a":[{"t":[{"i":7}]}],"o":[{"r":[{"i":7}]}]},34],"t":[{"e":[{"e":18}],"m":35}]}],"o":[{"l":[{"o":[{"g":7}]}]}],"p":[{"a":5,"s":[{"i":2}],"t":[{"i":5},34]},8],"r":[{"a":[{"n":2}],"e":[{"n":[{"e":4}]}],"t":[{"o":2}],"v":[{"o":33}]}],"s":[{".":33,"h":4,"t":[{"a":36}]},38],"t":29,"u":[{"m":35}],"v":[{"e":[{"n":5}]},34],"w":[{"o":19}],"x":[{"o":42},34],"y":34}],"f":[{"a":[{"c":[{"t":[{"o":16}]}]}],"i":2,"o":[{"r":[{"e":18}]}],"r":[{"a":[{"n":16}]}]},45],"g":132,"h":[{"a":[{"b":[{"i":0},33]}],"e":[{"r":6,"t":4}],"i":[{"l":[{"l":[{"i":18}]}],"n":[{"e":[{"s":[{"s":4}]}]}],"o":1,"p":35}],"o":[{"n":32}],"u":88,"y":[{"s":19}]},38],"i":[{"a":[{"l":[{"l":0}],"s":[{"t":16}]}],"b":64,"c":[{"a":[{"t":32}],"c":34,"l":97,"u":[{"l":4},0]}],"d":[{".":33,"e":[{"l":18,"n":5,"r":[{"i":7}]},0],"s":33,"u":[{"a":197}]},28],"e":[{"r":[{"s":0}]}],"f":[{"f":7},2],"g":0,"l":[{"i":29}],"m":[{"p":[{"l":[{"y":2}]}]}],"n":[{"e":[{"t":7},38],"g":[{"e":[{"r":198}]}],"i":5,"k":35,"o":[{"l":4}],"u":[{"s":1}]},30],"o":[{".":33,"s":200},199],"p":[{"r":0},34],"s":[{"h":33,"m":33,"t":[{"a":3,"o":3}]},148],"t":[{"e":0,"o":[{"m":7}]},43],"v":[{"a":35},64]}],"j":43,"k":[{".":33,"a":[{"r":36}],"e":[{"t":32,"y":36},9],"i":[{"e":[{"r":32,"s":[{"t":36}]}],"l":[{"y":4}],"n":[{"e":[{"s":4}]}]}],"s":33,"y":[{"l":5}]},156],"l":[{"a":[{"n":[{"g":[{"i":16}]}],"t":43,"u":34,"v":[{"e":[{"r":[{"i":18}]}]}]}],"e":[{"a":36,"t":32,"y":36},38],"i":[{"t":32}],"o":[{"c":5,"v":18}],"u":[{"c":36}]},101],"m":[{"a":[{"n":32,"s":19}],"e":[{"n":32}],"i":[{"g":5,"t":[{"h":34}]}],"o":[{"d":2}],"u":[{"t":[{"a":[{"t":[{"i":[{"o":7}]}]}]}]}]},132],"n":[{"a":38},41],"o":[{".":30,"d":[{"o":5,"y":19},124],"e":34,"i":[{"d":56}],"l":[{"a":[{"n":4},5],"e":[{"r":2}],"i":[{"c":1}],"v":[{"e":[{"r":18},34]}]},38],"m":[{"a":[{"t":[{"o":18}]}],"e":[{".":34,"t":[{"e":4}]}],"o":1},68],"n":[{"a":[{"t":7},38],"e":28,"o":[{"r":7}]}],"p":156,"r":[{"i":[{"e":125,"o":35,"t":2,"z":36}],"o":5,"y":32}],"s":[{"e":33},2],"t":[{"h":4}],"u":34,"v":[{"e":7,"i":1}]}],"p":[{"a":[{"s":[{"t":12}]}],"e":[{"n":[{"s":[{"a":16}]}],"o":33,"r":[{"m":34,"o":36,"s":[{"a":16}]}]}],"h":[{"a":32,"e":[{"r":34}]},9],"i":[{"c":[{"u":[{"l":18}]}],"d":[{".":4},38],"e":[{"r":36}],"l":[{"l":19}],"n":[{"g":1,"i":7},38],"t":[{"a":[{"l":15}]}]}],"l":[{"e":42,"y":28},43],"o":[{"m":35,"n":[{"g":[{"i":18}],"s":34}],"o":[{"n":34}]},38],"r":[{"u":[{"d":18}]}],"y":28}],"r":[{"e":[{"g":18,"p":[{"u":18}],"s":2},9]},43],"s":[{"a":[{"m":201},43],"e":[{"l":43,"n":[{"g":36,"t":[{"e":[{"r":16}]},32]}],"r":[{".":1,"i":36,"s":1}],"u":36,"v":3}],"i":[{"a":32,"c":43,"f":43,"n":[{".":0,"e":28},6],"s":[{".":0}],"t":86,"v":[{"i":0}]}],"l":[{"i":4}],"m":1,"n":28,"o":[{"l":[{"u":[{"b":12},3]}],"r":[{"e":28,"i":[{"a":[{"l":18}]}]}]},43],"p":[{"o":4}],"u":43,"w":1},33],"t":[{".":33,"a":[{"b":[{"i":5},42],"k":33,"l":[{"e":28}],"n":[{"t":[{"i":[{"v":16}]}]}],"s":[{".":32}],"t":[{"i":[{"c":35}]}]}],"c":1,"e":[{"a":[{"r":7,"t":7}],"b":28,"c":28,"d":[{"l":28,"n":28},64],"r":[{"e":33,"i":[{"a":19}],"n":[{".":28}],"o":32}],"s":[{"t":4}]},9],"h":[{"a":28,"u":28},43],"i":[{"a":137,"c":[{"k":34,"u":32}],"l":[{"l":[{"e":[{"r":18}]}],"y":28}],"n":[{"g":1}],"r":83,"z":36}],"l":[{"e":[{"r":1}],"i":1},33],"o":[{"e":28,"n":[{"e":50,"i":[{"e":19}]},34],"r":[{"a":[{"t":36}],"i":[{"a":[{"n":18}]}]}],"s":[{"e":28}],"u":38}],"r":[{"a":[{"y":28}],"e":[{"p":50},19],"u":[{"c":34,"d":18}]}],"s":202,"u":[{"d":28,"m":2,"r":[{"e":19}]},43],"w":33,"y":[{"l":29},28]},8],"u":[{".":33,"a":[{"n":4}],"b":[{"t":42},61],"c":[{"t":19}],"d":[{"a":2}],"e":[{"t":1}],"f":[{"f":5}],"g":5,"i":[{"c":7,"n":[{"g":4}]},34],"l":87,"m":[{"i":5},134],"n":[{"a":2}],"p":[{"e":4,"i":[{"n":1}],"r":[{"a":50}]}],"r":[{"a":[{"s":2}],"c":5,"g":28,"p":[{"l":5}]}],"s":[{"u":4}],"z":4}],"v":[{"e":[{"r":[{"s":[{"a":16}]}],"s":[{"t":[{"i":16}]},19]}]},124],"w":[{"e":[{"e":35,"l":[{"l":[{"i":16}]}],"r":[{"e":[{"d":33}]}]}],"o":30},8],"y":[{".":33,"b":[{"i":0}],"c":[{"e":0,"h":[{"r":0}]},6],"d":0,"l":29,"n":[{"e":7},34],"p":[{"h":[{"o":4}]}],"r":[{"i":7}]},38]}],"t":[{"a":[{".":30,"b":[{"l":[{"e":[{"m":4}],"i":34}],"o":[{"l":1,"u":0},38]},30],"c":[{"e":113,"h":[{"o":[{"m":4}],"y":1}],"i":[{"d":0}]}],"d":[{"e":36,"i":2,"j":203,"o":[{"r":4}],"r":9}],"e":[{"n":7}],"f":2,"g":[{"e":[{"o":18}],"o":[{"g":4}],"r":34}],"h":34,"i":[{"l":34,"r":30,"s":28},29],"k":29,"l":[{"c":9,"e":[{"n":[{"t":7}],"p":4}],"i":[{"a":28,"n":28}],"l":[{"a":82,"u":35}],"o":204,"y":1}],"m":[{"a":[{"r":[{"i":7}]}],"e":[{"t":93}],"o":[{"r":[{"p":[{"h":127}]}]}]}],"n":[{"a":[{"t":7}],"d":[{"e":[{"r":18}]}],"e":[{"l":35},28],"i":[{"e":7,"z":36}],"t":[{"a":[{"n":18}]}]}],"p":[{"a":0}],"r":[{"d":29,"i":[{"a":[{".":7}]}],"k":[{"i":18}],"n":5,"r":34}],"s":[{"i":5,"m":32,"s":35,"t":[{"a":1,"i":[{"c":205}]},2]}],"t":[{"e":[{"u":28}],"i":[{"s":34}],"o":[{".":28,"u":2}],"r":2,"u":[{"t":5}]}],"u":[{"t":[{"o":5}]}],"w":[{"a":36,"n":19}],"x":28}],"b":56,"c":[{"a":[{"s":19},43],"h":[{"e":[{"t":[{"t":7}]}],"u":7}]},44],"d":194,"e":[{".":33,"c":[{"h":[{"a":4,"n":35}],"r":1}],"d":[{"a":193,"d":33,"o":33},28],"e":[{"i":33}],"g":[{"i":[{"c":35}],"o":32,"r":20,"u":5},8],"i":2,"l":[{"e":[{"d":33}],"i":[{"z":7}],"l":29,"o":152,"s":34},8],"m":[{"a":5,"e":33,"o":[{"n":4}]}],"n":[{"a":[{"g":2,"r":33}],"e":33,"m":36,"n":[{"a":35}],"o":[{"g":4},33],"t":[{"a":19}]}],"o":[{"l":7},8],"p":[{"e":1,"i":7},30],"r":[{"a":[{"c":19,"g":28,"t":[{"o":28}]}],"b":75,"d":35,"e":[{"b":5,"c":7,"l":35,"o":1,"s":169},162],"i":[{"a":5,"d":7,"f":7,"n":28,"o":[{"r":[{"i":[{"t":7}]}]}],"t":5},29],"k":7,"n":[{"i":[{"t":35}],"o":7}],"r":34}],"s":[{".":33,"i":19,"q":32,"s":[{".":32,"e":[{"s":36}]}],"t":[{"a":3,"e":[{"r":18},35],"i":[{"n":18}],"o":[{"r":18}],"u":7},2]},47],"t":[{"i":19,"r":[{"o":18},20]}],"w":[{"a":[{"r":5}]}],"x":34}],"f":124,"g":32,"h":[{".":30,"a":[{"l":[{".":4,"m":3}]},2],"e":[{".":33,"a":[{"s":4},33],"d":33,"i":29,"o":[{"l":3},34],"r":[{"a":[{"p":35}],"c":4,"d":36,"e":[{"d":33}],"n":1,"y":1},28]}],"i":[{".":33,"l":[{"l":36}],"n":[{"k":34}],"o":104,"s":[{".":0}]}],"l":[{"o":4}],"m":[{"i":0},147],"o":[{"l":[{"i":1}],"o":99,"p":[{"t":33}],"r":[{"e":[{"s":33}]}],"t":34,"u":[{"g":35}]}],"r":68,"s":30,"u":[{"r":35}],"y":[{"m":35,"r":34,"s":19}]}],"i":[{".":33,"a":[{"b":1},68],"b":[{"u":60},124],"c":[{".":32,"a":[{"s":7}],"i":[{"a":[{"r":18}],"n":81,"t":[{"y":28}]},38],"o":[{"l":1}],"u":[{"l":[{"e":33}]},20]},43],"d":[{".":32,"a":28,"i":[{"e":1},34],"s":36}],"e":[{"n":155}],"f":[{"e":1,"f":33,"i":[{"c":[{".":33}]}]},78],"g":[{"i":[{"o":18},34],"m":33,"u":35}],"k":[{"a":0}],"l":[{"e":[{"t":0}],"i":[{"n":35}],"l":[{"a":[{"g":14}]},28],"t":28}],"m":[{"a":20,"e":[{"t":206}]},29],"n":[{"a":[{"d":60}],"e":[{"d":33,"t":5}],"g":[{"i":[{"n":[{"g":18}]}]}],"n":34,"s":33,"t":[{"e":[{"d":7,"r":18},2]},28],"u":[{"e":5}]},43],"o":[{"c":1,"l":[{"a":3}],"m":[{"o":4}],"n":[{"e":[{"m":33}]}]},29],"p":[{"l":[{"e":[{"x":4}],"i":1}]},29],"q":[{"u":[{"a":4}]},0],"r":[{"i":[{"s":32}]}],"s":[{"a":[{"n":34}],"c":2,"h":[{"i":18}],"s":34,"t":[{"e":83,"r":28},9]},45],"t":[{"a":[{"n":17}],"h":[{"e":19}],"i":[{"l":7,"s":32}],"l":34,"r":[{"a":1}]}],"u":34,"v":[{"a":[{"l":[{"l":7}]}],"e":32,"i":[{"s":5}]},45]}],"l":[{"a":[{"n":[{"t":12}]},43],"e":[{"b":35,"d":[{"r":35}],"f":34,"m":34,"n":35,"t":[{"r":35}],"w":35}],"i":[{"n":19},43]},30],"m":[{"e":[{"t":42}],"o":[{"t":14}]},56],"n":[{"e":[{"r":[{"e":28}]}]},183],"o":[{".":30,"a":[{"s":19}],"b":6,"c":[{"c":33}],"d":[{"e":[{"c":18}],"i":2,"o":4}],"e":34,"g":29,"i":[{"d":124}],"k":35,"l":[{"e":[{"d":33}],"l":2,"u":18,"y":4}],"m":[{"a":[{"c":5,"n":19,"t":[{"o":[{"l":16}]}]}],"b":2,"o":[{"g":0,"s":7}]}],"n":[{"e":[{"a":7},2],"n":34,"s":5}],"p":[{"e":2,"i":[{"a":4}],"o":[{"s":0}]}],"r":[{"a":[{"d":4}],"e":[{"r":7},33],"i":[{"a":[{"s":19}]}],"o":[{"i":7}],"p":7,"q":2},43],"s":[{".":34,"p":13,"t":[{"r":4},2]}],"t":[{"a":[{"l":[{"i":[{"s":4,"z":4}]}]}],"e":[{"m":1}],"u":7}],"u":[{"f":2,"r":35,"s":32}],"v":33,"w":[{"a":[{"r":1}]}]}],"p":32,"r":[{"a":[{"c":[{"o":2}],"d":[{"d":33}],"i":[{"s":[{"t":33}]}],"q":7,"r":[{"c":[{"h":49}]}],"v":[{"e":[{"n":7,"r":[{"s":7}],"s":[{"t":18}]}]}],"y":34}],"e":[{".":33,"d":33,"m":[{"o":2}],"n":[{"d":[{"i":16}]},19],"p":[{"r":7}],"s":[{"s":19}],"w":33}],"i":[{"c":[{"l":36,"u":34}],"e":38,"f":[{"l":[{"i":7}],"u":[{"g":[{"a":16}]}]}],"l":[{"i":5},30],"m":[{"e":5}],"t":38,"x":33}],"o":[{"d":28,"f":7,"o":[{"p":35}],"p":[{"h":[{"a":2}]}],"s":[{"p":5}],"t":[{"o":36},38],"v":20,"y":34}],"u":[{"c":28,"i":5}],"y":[{"s":19},187]},8],"s":[{"c":38,"h":0,"i":[{"l":28},8],"t":[{"a":[{"y":12}]}]},64],"t":[{"a":[{"b":32,"n":36,"s":36},2],"e":[{"d":32,"r":[{"e":[{"r":36},28]}],"s":[{"t":36}]}],"i":[{"t":[{"u":[{"d":[{"i":16},49]},5]}]},32],"l":[{"e":[{"r":32}],"i":32}],"o":[{"i":36,"r":36,"s":32}],"s":4,"u":[{"p":[{"e":28}]}],"y":38},132],"u":[{".":33,"a":[{"l":[{"l":[{"i":120}]}],"r":[{"i":12}]},6],"b":[{"i":[{"n":0}],"u":4}],"d":[{"e":[{"n":4}],"i":[{"e":7}]}],"e":[{"n":4}],"f":33,"i":[{"s":0},6],"m":[{".":30,"i":34,"s":33}],"n":[{"a":2,"e":0,"i":[{"t":7}]},34],"p":[{"l":[{"e":[{"t":7}],"i":[{"c":7}]}]}],"r":[{"a":[{"c":4,"n":28}],"b":[{"a":3}],"d":2,"f":[{"i":18}],"i":[{"t":35}],"n":2,"o":181}],"t":[{"i":[{"v":88}]},29]}],"w":[{"a":117,"i":[{"l":[{"i":7}],"t":32},38],"o":[{"n":19},32]},43],"y":[{".":33,"a":0,"c":[{"h":35}],"l":[{"e":[{"t":0}],"i":7}],"m":[{"i":4}],"p":[{"e":34},29],"r":207}],"z":[{"i":[{"a":36,"e":36}]},44]}],"u":[{"a":[{"c":[{"i":1}],"g":38,"h":4,"l":[{"u":4},43],"n":[{"o":2,"t":[{"i":[{"s":18,"t":18}]}]}],"r":[{"a":5,"d":9,"i":[{"n":19},5],"t":[{"e":[{"r":[{"s":7}]}],"i":14}]}],"t":[{"e":[{"r":[{"n":4}]}]}]},44],"b":[{"a":2,"b":[{"l":[{"y":4}]}],"i":[{"c":[{"u":28}]},41],"l":[{"i":[{"n":1}],"o":4}],"r":[{"a":1}]}],"c":[{"a":41,"c":[{"e":[{"n":16}]}],"e":[{"n":[{"d":28}]}],"h":[{"r":36},28],"l":1,"o":[{"m":28,"t":7}],"t":[{"r":8}],"u":[{"b":1,"l":4,"m":36}]},33],"d":[{"a":[{"c":36,"l":6}],"e":[{"p":4,"r":28,"v":19},0],"g":0,"i":[{"c":[{"i":[{"n":2}]}],"e":[{"d":1}],"n":[{"i":[{"s":36}]}],"o":5,"t":[{"i":[{"o":36}]}]}],"o":[{"i":36,"n":4,"r":36},38]}],"e":[{"b":2,"d":28,"n":[{"o":2,"t":[{"e":[{"r":2}]}]}],"r":[{"a":5}],"s":[{"s":2,"t":[{"r":[{"a":[{"t":18}],"i":7}]}]}],"t":0}],"f":[{"a":34,"l":32,"o":28,"t":2},8],"g":[{"a":[{"c":2}],"l":[{"i":[{"f":4}]}],"n":[{"i":8}],"o":28,"u":[{"l":1,"r":[{"a":1}]}]}],"h":[{"e":[{"m":3}]}],"i":[{"a":[{"l":1}],"c":[{"e":[{"n":[{"t":15}]}]},38],"d":[{"o":7}],"l":[{"a":2,"d":[{"e":[{"r":18}]}],"i":[{"b":1}],"t":2}],"n":[{"c":[{"u":18}],"s":2,"t":[{"a":2},19]}],"p":[{"r":4}],"s":[{"e":[{"r":5}],"t":[{"i":12},2]}],"t":[{"e":[{"r":7}]}],"v":[{"a":[{"l":208}],"o":1}],"z":38},44],"l":[{".":33,"a":[{"b":28,"c":33,"r":[{"d":4}],"t":36},43],"b":[{"o":0}],"c":[{"a":1,"h":[{"e":35,"r":[{"e":35}]},0]}],"e":[{"a":33,"e":36,"n":[{"c":[{"i":33}],"t":36},136],"t":19,"v":0}],"f":[{"a":8}],"i":[{"a":0,"n":[{"e":32,"g":1}],"s":[{"h":4}],"t":[{"i":36,"y":36}]},8],"l":[{"a":[{"t":0}],"i":[{"b":11,"s":0,"t":0}]},33],"m":1,"o":[{"m":36},43],"p":[{"h":[{"i":3,"o":3}],"i":[{"n":[{"g":7}]}],"o":0}],"s":[{"i":[{"f":1}]},30],"u":43,"v":129}],"m":[{"a":[{"m":1,"r":19,"s":36},43],"b":[{"a":[{"r":[{".":0}]}],"i":8}],"e":[{"n":[{"t":19}]}],"i":[{"c":28,"f":[{"y":2},84],"l":[{"i":[{"a":7}]}],"n":[{"a":[{"r":19}],"e":[{"d":28}],"g":113}]},43],"o":[{"r":[{"a":28}],"s":28}],"p":[{"a":0,"e":[{"r":5}],"l":[{"i":7}],"t":[{"e":7},19]},8],"u":[{"l":[{"o":2}]},43]}],"n":[{"a":[{"b":[{"u":12},4],"e":0,"s":[{".":0}]},209],"c":[{"e":8}],"d":[{"a":[{"l":0}],"e":[{"d":1,"t":[{"e":[{"r":[{"m":127}]}]},19]}],"i":[{"c":19,"e":0}],"o":1,"u":[{"s":0}]}],"e":[{"r":86}],"h":[{"o":[{"l":[{"i":18}]}]}],"i":[{"c":43,"e":0,"n":[{"e":0},1],"p":7,"s":[{"o":5,"t":1}],"v":20,"z":1},8],"k":[{"e":[{"r":[{"i":7}],"t":4}],"n":1}],"n":[{"a":[{"g":0}]},30],"o":4,"r":4,"s":[{"h":4},13],"t":[{"i":[{"l":12},8]}],"u":[{"s":1},2]},6],"o":[{"d":[{"e":[{"n":[{"t":49}]},1]}],"r":[{"o":[{"s":36}]}],"s":32,"t":[{"a":[{"t":[{"i":[{"o":4}]}]}]}],"u":43}],"p":[{"a":[{"t":43}],"e":[{"e":36,"r":3},43],"h":43,"i":[{"d":36,"n":[{"g":1}]}],"o":[{"l":36},28],"r":[{"e":19},38]},30],"q":[{"u":[{"e":[{"t":36}]}]}],"r":[{"a":[{".":33,"c":[{"i":2}],"e":33,"g":9,"n":[{"t":[{"i":33}]}],"s":18},6],"b":[{"i":[{"n":[{"g":7}]}]}],"c":[{"a":5},8],"d":[{"e":[{"n":[{".":4,"i":4}]}],"i":[{"e":4}],"u":0}],"e":[{"a":1,"e":4,"r":[{"s":1},6],"t":[{"t":1},63]}],"f":[{"a":1},8],"i":[{"c":[{"u":53}],"e":[{".":0}],"f":[{"i":[{"e":4}]}],"l":[{"i":0},19],"o":[{"n":4,"s":[{".":2}]}]},6],"l":[{"e":[{"r":7}],"i":[{"e":4,"n":[{"g":7}]}]}],"m":129,"n":[{"a":[{"l":5}],"e":[{"r":5}],"s":7}],"o":[{"d":2,"m":17,"t":[{"i":12},4]},6],"p":[{"e":[{"n":[{"t":16}]}],"h":19}],"s":[{"a":[{"l":7}],"e":[{"r":7}],"h":1,"o":[{"r":5}]},8],"t":[{"a":4,"e":[{"s":4},6],"h":[{"e":1},42],"i":19}],"u":6,"v":[{"a":0}]},28],"s":[{"a":[{"d":32,"g":1,"l":1,"p":0,"t":1}],"c":[{"a":[{"n":0}]},30],"h":[{"a":7}],"i":[{"a":[{"n":4}],"l":18,"n":154}],"k":[{"e":[{"r":7}]}],"p":[{"a":0},6],"s":[{"e":2}],"t":[{"a":[{"c":1,"n":4}],"i":[{"c":[{"i":4},2],"g":7,"l":5}],"o":145,"r":[{"e":0},6]},33],"u":[{"r":[{"e":19,"i":4}]}]}],"t":[{"a":[{"n":[{"e":32}]}],"c":[{"h":[{"e":19}]}],"e":[{"n":[{"i":4}],"o":36,"r":[{"e":28}]}],"i":[{"e":32,"n":[{"g":1,"i":36}],"o":32,"s":[{"m":4,"t":1}],"z":210},8],"l":[{"e":1,"i":19}],"o":[{"s":188},8],"r":[{"a":154}],"s":[{"m":4},9],"t":[{"o":[{"n":[{"e":0}]}]}],"u":[{"l":28},32]}],"u":0,"v":[{"a":28,"e":[{"n":3,"r":[{"i":4}]},9],"i":[{"n":36}]},8],"x":[{"o":8}],"y":[{"a":0,"e":[{"r":4}]}]}],"v":[{"a":[{".":33,"b":124,"c":[{"a":6,"e":[{"o":4}],"u":140},35],"d":28,"g":[{"a":75,"e":[{"d":33,"r":12},0],"r":7}],"l":[{".":43,"e":29,"i":[{"e":4,"s":[{"e":2}]},42],"u":35,"v":66}],"m":[{"i":2,"o":4}],"n":[{"n":35,"t":[{"a":12,"l":33}]}],"r":[{"i":[{"s":2}]}],"s":[{"e":[{"l":25},33],"o":48,"t":[{"a":3}]}],"t":[{".":28,"e":[{"e":35}],"i":[{"n":[{"a":2}]}],"u":33}]}],"e":[{".":30,"c":[{"t":19}],"g":1,"i":34,"l":[{"a":[{"t":5}],"e":[{"r":32},33],"i":[{"n":[{"e":4}]}],"l":[{"a":28,"e":[{"r":7}],"i":5},43],"o":[{"p":[{"i":7}]}]},30],"n":[{"a":[{"l":2}],"d":[{"o":2}],"e":6,"i":[{"a":4}],"t":[{"o":18,"r":2}],"u":[{"e":53},33]}],"o":93,"r":[{"b":35,"d":[{"e":[{"v":16}]}],"e":[{"a":7,"i":5},211],"i":[{"e":36}],"m":27,"n":[{"e":2}],"s":[{"e":35}]}],"s":[{".":33}]}],"i":[{".":33,"a":[{"l":[{"i":[{"t":35}]}],"t":[{"r":0}]}],"b":129,"c":[{"a":[{"r":[{"i":4}]},0],"e":[{"r":3}],"t":164,"u":35},9],"d":[{"e":[{"r":35}]}],"g":[{"n":3}],"l":[{"i":[{"a":95,"s":[{"e":36}],"z":[{"e":36}]},5],"l":[{"i":[{"n":7}]}]},0],"m":[{"e":35},2],"n":[{"a":[{"c":2}],"c":[{"i":34}],"e":9,"i":[{"t":35,"z":36}],"t":[{"a":7},19]},45],"o":[{"l":3,"m":4},98],"p":93,"r":[{"e":19,"i":[{"d":4}],"u":5}],"s":[{"e":[{"c":[{"t":[{"i":35}]}]}],"i":[{"o":35}],"m":32,"t":97}],"t":[{"a":[{"l":1},9],"e":[{"l":4}],"i":[{"e":36}],"r":20,"u":1,"y":32},8],"v":[{"a":[{"l":7}],"o":[{"r":7}]}],"z":[{"o":4}]}],"o":[{".":30,"l":[{"i":[{"t":[{"i":[{"o":4}]}]}],"u":[{"b":[{"i":2}]}],"v":19},8],"n":33,"r":[{"a":[{"c":4}],"c":34,"e":33,"o":34}],"t":[{"a":[{"r":1}]}],"w":30},29],"r":[{"a":103,"i":36,"o":[{"t":19},36]},0],"s":33,"u":[{"r":[{"e":32}]}],"v":[{"e":[{"r":36}],"i":36},44],"y":33}],"w":[{"a":[{"b":33,"g":[{"o":5}],"i":[{"s":19}],"l":[{".":32,"l":[{"e":[{"r":18}]}],"s":32}],"n":[{"g":[{"l":[{"i":7}]}],"k":[{"e":[{"r":18}]}]}],"r":[{"d":[{"e":[{"d":7,"r":18}],"r":18}],"f":2,"t":[{"e":2,"h":[{"i":7}]}]}],"s":[{"s":19,"t":2}],"t":[{"e":6}],"v":[{"i":[{"n":[{"e":2}]}]}]}],"b":[{"o":[{"n":28}]},77],"c":36,"d":[{"i":[{"e":36}],"r":32}],"e":[{"b":0,"d":28,"e":[{"d":34}],"i":[{"g":[{"h":[{"t":[{"i":15}]}]}],"r":19},35],"l":[{"i":[{"z":[{"i":2},12]},5],"l":[{"i":2}]}],"n":[{"t":19}],"s":[{"t":[{".":36},3]},2]}],"f":36,"h":[{"i":[{"d":36}]},8],"i":[{"d":[{"e":2}],"e":[{"r":4}],"l":[{"l":[{"i":[{"n":18}]}]}],"m":[{"p":9}],"n":[{"e":9,"g":[{"e":[{"r":18}]}],"t":[{"r":2}]}],"s":[{"e":165}],"t":[{"h":[{"e":[{"r":[{"i":18}]}]}]}]},8],"l":[{"a":32,"e":[{"r":6}],"i":[{"e":0},6]}],"m":43,"o":[{"l":[{"v":[{"e":[{"r":7}]}]},2],"m":34,"n":[{"t":9}],"r":[{"d":[{"i":18}]}],"t":[{"c":[{"h":12}]}],"u":[{"n":19}]},29],"p":[{"i":[{"n":4}]}],"r":[{"a":2}],"s":[{"i":[{"n":[{"g":4}]}],"t":[{"e":[{"r":36}]}]}],"t":[{"e":36,"o":32},0],"y":8,"z":0}],"x":[{"a":[{"c":[{"h":28}],"d":[{"e":28}],"g":[{"g":32},38],"m":[{"e":[{"t":4}],"i":32}],"n":[{"d":7,"o":19}],"s":[{"p":7},38]},43],"c":[{"a":[{"v":3}],"o":[{"r":18}]},92],"e":[{"c":[{"r":5,"u":[{"t":[{"i":[{"o":4}],"o":16}]}]},43],"d":[{"l":36,"n":36},8],"g":36,"m":43,"n":[{"o":[{"p":2}]},32],"r":[{"g":2,"o":5},32]},0],"h":[{"o":[{"r":[{"t":[{"a":12}]}]}]},43],"i":[{"a":[{".":32,"s":28}],"c":0,"g":[{"e":36}],"m":[{"a":5,"e":[{"t":12},28]}],"o":32,"p":0,"t":[{".":28,"s":28}]},43],"o":[{"d":[{"e":28}],"m":[{"a":[{"t":0}]},36],"n":0,"s":28,"t":[{"r":[{"o":[{"p":49}]}]}]},43],"p":[{"e":[{"l":19}],"o":[{"n":212,"u":[{"n":12}]}]},32],"s":41,"t":[{"e":[{"d":28,"n":[{"s":[{"o":16}]}],"r":[{"i":3,"m":213,"n":50}]}],"h":28,"i":2,"r":[{"a":[{"d":18,"v":3}],"e":19}]},41],"u":[{"o":0,"r":[{"b":2},43],"s":36}],"w":36,"x":0,"y":[{"s":2,"t":1}]}],"y":[{"a":[{"c":36,"r":[{"d":34},87],"s":[{"i":2}]},41],"b":[{"i":8},64],"c":[{"a":[{"m":7}],"h":[{"e":[{"d":[{"e":36}]}],"i":[{"s":7}],"o":[{"s":[{"e":28}]},32]}],"l":[{"a":[{"m":12}]},6],"o":[{"l":[{"i":28,"l":28}],"m":19,"s":38}]}],"d":[{"a":2,"e":[{"r":19}],"r":[{"o":[{"s":18,"u":28}]}]},77],"e":[{"e":32,"l":[{"o":7}],"n":32,"r":43,"s":[{"t":[{".":32,"e":7}]}],"t":[{"t":36}]}],"f":36,"g":[{"i":[{"a":7},9],"l":32,"o":[{"i":2}]},43],"h":43,"i":[{"n":32},43],"l":[{"e":9,"i":[{"n":[{"d":[{"e":18}]}]}],"l":[{"a":[{"b":[{"i":16}]}]}],"o":[{"s":1,"u":4}]}],"m":[{"e":[{"n":32,"t":36},90],"i":[{"a":36,"n":4}],"o":[{"t":19}],"p":[{"h":[{"a":0}]}]}],"n":[{"a":[{"g":[{"o":12}],"n":[{"d":16}],"p":54,"s":[{"t":4}]}],"c":[{"i":0}],"d":2,"e":[{"r":1},8],"g":[{"o":[{"l":0}]},2],"i":[{"c":2}],"y":0},6],"o":[{"d":1,"g":[{"i":[{"s":0}]}],"u":[{"n":[{"g":16},19]}]},41],"p":[{"a":[{"l":4}],"e":[{"r":[{"e":36,"i":28,"o":28},3],"t":28}],"h":[{"e":2,"i":5},38],"i":154,"n":6,"o":[{"x":28},20],"r":[{"i":4},38],"s":[{"i":0,"y":[{"f":4}]}],"t":[{"a":5}],"u":36},30],"r":[{"a":[{"g":32,"t":1}],"i":[{"c":1,"g":36,"s":1,"t":13}],"o":[{"l":[{"o":4}]}],"r":0,"s":0,"u":4}],"s":[{"a":[{"g":4,"t":4}],"c":86,"h":32,"i":[{"c":6,"n":1,"o":2}],"o":7,"s":[{"o":0}],"t":[{"o":0},6]},39],"u":32,"v":0,"w":32,"z":[{"e":[{"r":4}],"y":2}]}],"z":[{"a":[{".":30,"b":[{"i":0}],"i":8,"s":28,"t":[{"e":0}]},214],"d":0,"e":[{"b":2,"d":0,"n":[{"a":2,"g":36}],"r":[{"a":7}],"t":117}],"i":[{"b":7,"c":66,"e":38,"m":4,"n":[{"c":[{"i":82}],"g":[{"i":18},32]}],"s":28},43],"l":[{"e":[{"m":34,"r":32}],"i":32}],"o":[{".":33,"a":[{"n":1},35],"o":[{"l":1,"n":1,"p":4,"t":[{"i":4}]},215],"p":4,"t":9}],"s":36,"u":[{"m":35}],"y":[{".":33}],"z":[{"a":[{"r":32,"s":36}],"i":[{"e":32}],"o":[{"t":36},5]},8]}]}',[" ","uni-ver-sity","uni-ver-sit-ies","how-ever","ma-nu-script","ma-nu-scripts","re-ci-pro-city","through-out","some-thing"]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/6182.adapter.js b/public/tools/cloud_sheets/vendor/univer/6182.adapter.js new file mode 100644 index 0000000..f1acd12 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/6182.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[6182],{6182(e,r,s){s.r(r),s.d(r,{Da:()=>i});const i=["003,001,005,004,0003,0000005,000003,0045,0004,3,03,0005,5,01,541,04,05,4,1,33,0101,045,0014,41,104,43,014,404,54,00004,000005,043,00003,00001,0001,45,054,000001,055,000004,0043,000000005,00005,0000004,0065,0303,403,454,503,0054,00045,0405,414,34,101,63,55,053,301,000000004",'{".":[{"a":[{"e":0,"n":[{"k":0,"s":1}]}],"b":[{"e":[{"l":[{"a":2}],"t":1}],"i":[{"t":[{"r":3}]}]}],"d":[{"e":[{"r":[{"i":4}]}],"i":[{"a":[{"g":[{"n":[{"o":5}]}]}]}]}],"h":[{"e":[{"r":4}],"o":[{"v":[{"e":[{"d":6}]}]}]}],"n":[{"e":[{"t":7}]}],"o":[{"m":1,"v":[{"e":8}]}],"p":[{"o":1}],"t":[{"i":[{"l":4}]}],"y":[{"d":[{"r":2}]}],"s":[{"å":0}],"æ":[{"r":[{"i":2}]}],"ø":[{"v":[{"r":0}]}]}],"a":[{"b":[{"l":[{"e":2}],"s":[{"t":9}]}],"c":10,"d":[{"e":[{"l":[{"a":11}]}],"g":12}],"e":13,"f":[{"g":12,"l":14,"r":[{"i":3},0],"s":12}],"g":[{"e":[{"f":15}],"i":[{"n":2},15],"s":[{"i":2}],"t":[{"i":9}],"y":15}],"h":10,"i":[{"s":[{"t":11}]}],"j":10,"k":[{"a":16,"e":10,"r":16,"u":11}],"l":[{"a":10,"e":13,"i":13,"k":[{"v":17},0],"o":13,"s":[{"i":2}],"u":10,"y":13}],"m":[{"p":[{"a":3}]}],"n":[{"a":[{"l":[{"y":9}]}],"k":[{"r":7}],"u":10,"v":9}],"o":16,"p":[{"e":16,"i":10,"o":16}],"r":[{"a":[{"f":2},13],"b":18,"e":13,"g":12,"i":13,"o":10}],"s":[{"a":10,"c":10,"i":13,"k":10,"o":10,"p":19,"t":[{"e":10,"i":10}]}],"t":[{"a":20,"e":13,"i":[{"n":21},13],"o":[{"v":11},13],"r":16,"u":13,"ø":10}],"v":[{"a":16,"e":13,"æ":16}],"z":16}],"b":[{"a":[{"t":[{"i":3}]},18],"d":17,"e":[{"k":1,"r":[{"o":0,"u":2}],"s":22,"t":[{"r":1}]},18],"i":[{"s":[{"k":2}]},18],"j":13,"n":23,"o":[{"g":[{"r":3}],"r":[{"a":0,"e":2}]},18],"r":[{"ø":[{"d":32}]},24],"s":[{"k":2,"o":10,"t":13},17],"t":16,"u":[{"s":[{"t":[{"r":7}]}]},9],"w":16,"y":[{"s":2},18],"æ":12}],"c":[{"c":23,"e":[{"r":[{"o":2}]},18],"h":[{".":17},9],"i":[{"o":3}],"k":0,"y":12}],"d":[{"a":[{"f":25,"n":[{"t":[{"a":16}]}],"s":3},9],"b":13,"d":26,"e":[{"d":2,"l":[{"e":[{"m":27}]}],"r":[{"e":[{"r":[{"i":11}]}],"i":[{"g":3}]}],"s":[{"k":2}]},18],"f":13,"g":13,"h":10,"i":[{"e":1,"l":2},18],"j":10,"k":13,"l":13,"m":13,"n":23,"o":[{"p":17,"v":16},9],"p":13,"r":[{"e":[{"t":[{"t":17}],"v":[{"e":28}]}],"i":[{"f":9,"v":9}],"o":[{"s":16}],"u":16,"ø":[{"v":12}]}],"s":[{"a":[{"n":2}],"i":[{"n":2}],"k":[{"i":13}],"m":15,"u":[{"l":11},15],"v":[{"i":2}],"t":[{"å":29}]}],"t":[{"a":10,"e":13,"o":2,"r":16,"u":2}],"u":[{"b":11},18],"v":13,"y":9,"æ":9,"ø":9}],"e":[{"a":[{"d":16,"f":10,"g":16,"k":10,"l":[{"a":3},13],"n":10,"p":16,"t":10}],"b":[{"l":10,"s":4}],"c":[{"i":13}],"d":[{"a":[{"r":2}],"d":[{"e":[{"l":30},29]}],"o":15,"r":[{"a":2,"e":0,"i":[{"n":0}]}],"s":[{"t":[{"r":3}]}]}],"e":10,"f":[{"f":9,"r":10,"t":9}],"g":[{"u":10}],"h":13,"i":[{"n":10,"s":2}],"j":[{"e":[{"l":21},10]}],"k":[{"a":13,"e":10,"l":10,"o":23,"r":16,"s":[{"a":2,"e":[{"m":9}],"p":9}],"u":10,"v":13,"y":16}],"l":[{"a":[{"d":10,"k":0,"r":0,"s":13}],"e":[{"k":15,"m":9},10],"i":[{"m":12},13],"o":10,"s":[{"a":2}],"u":16,"y":10,"æ":10,"ø":10}],"m":[{"a":[{"d":15}],"p":[{"l":[{"e":7}]}],"s":1}],"n":[{"a":[{"k":2,"n":15}],"n":17,"o":15,"s":[{"o":0}],"u":16}],"o":[{"l":16,"p":10,"r":13,"v":10}],"p":[{"i":4,"r":13}],"r":[{"a":[{"f":0,"g":15,"k":15},10],"e":[{"f":15,"g":[{"e":2}]},13],"h":[{"v":12}],"i":[{"b":15},13],"k":1,"o":[{"d":11,"v":2}],"s":0,"t":[{"r":2}],"u":[{"m":10,"n":2}],"y":16,"ø":[{"n":2},10]}],"t":[{"a":13,"e":[{"k":[{"s":29}]},13],"i":13,"j":10,"o":13,"r":10,"u":10,"y":13,"æ":16,"ø":16}],"u":[{"m":10,"n":10,"r":9}],"v":[{"a":13,"e":[{"r":[{"f":31}]},10],"i":13,"æ":13}],"x":16,"æ":10,"å":16}],"f":[{"a":[{"c":[{"e":3}],"g":[{"s":32}]},18],"b":13,"d":13,"e":[{"j":[{"l":33},8]},18],"f":13,"g":13,"h":13,"i":18,"k":13,"l":9,"o":[{"r":[{"e":[{"n":34}],"i":3}]},18],"p":13,"s":26,"t":[{"a":10,"e":13,"i":13,"o":16,"v":[{"i":16}]},17],"u":18,"v":13,"y":9,"æ":9,"ø":[{"r":[{"e":[{"n":7}]}]},9]}],"g":[{"a":[{"r":[{"t":10}]},18],"b":13,"d":13,"e":[{"n":[{"d":[{"e":[{"n":35}]}]}],"r":[{"i":[{"n":4}]}],"s":0},18],"f":10,"g":13,"h":13,"i":[{"b":3,"s":[{"t":0}],"ø":8},18],"j":12,"k":10,"l":13,"m":13,"o":[{"m":35,"v":16},9],"p":10,"r":18,"s":[{"a":1,"d":[{"e":[{"l":[{"e":[{"n":29}]}]}]}],"e":15,"h":[{"a":29}],"l":[{"a":16}],"o":[{"r":0}],"p":1,"t":[{"i":[{"d":[{"e":36}]}],"r":15}],"v":1,"ø":15,"å":16}],"t":[{"a":10,"e":13,"i":13,"o":16,"r":10,"s":3}],"u":[{"d":10,"n":11}],"v":10,"y":[{"d":16},18],"æ":9,"ø":58,"å":9}],"h":[{"a":[{".":17}],"e":[{"d":[{"s":32}],"s":2,"t":17}],"i":[{"e":3,"n":7,"s":0}],"o":[{"k":[{"o":2}],"v":[{"e":2}]}],"t":25,"u":[{"n":[{"d":32},8]}],"v":[{"o":8}]}],"i":[{"a":13,"b":[{"l":[{"e":15}]},10],"c":13,"d":[{"r":10,"s":[{"k":11}]}],"e":[{"l":13,"n":13,"r":10,"t":[{".":10}]}],"f":[{"r":0}],"g":[{"u":10}],"h":10,"i":16,"j":16,"k":[{"a":13,"e":13,"l":1,"o":16,"r":[{"e":0,"i":2}],"s":[{"t":11}],"t":[{"u":3}],"u":10,"v":0}],"l":[{"a":[{"g":10}],"e":[{"g":0,"j":2,"l":2}],"i":[{"d":21},10],"k":0,"o":13,"u":2}],"m":[{"u":10}],"n":[{"d":[{"t":4}],"f":12,"g":[{"s":33}],"s":[{"v":3},0],"t":[{"e":[{"r":37}]}],"u":10}],"o":[{"d":10,"g":10,"k":16,"l":10,"n":[{"s":33},8],"r":38,"t":10}],"p":[{"i":16,"l":[{"i":10}],"r":16}],"r":[{"e":10,"i":10,"t":2}],"s":[{"c":10,"i":10,"m":15,"p":0,"t":[{"e":[{"r":13}],"i":10}],"u":[{"a":16}]}],"t":[{"a":13,"e":13,"i":13,"o":10,"r":[{"e":[{".":2}]},10],"u":13,"y":10,"æ":16}],"u":13,"v":[{"a":13,"e":13,"i":13}],"ø":10}],"j":[{"a":[{"g":10}],"d":[{"e":[{"r":[{"e":[{"r":8}]}]}],"s":34}],"e":[{"k":[{"t":[{"o":8}]}],"n":[{".":35}]}],"k":16,"l":[{"e":10,"i":10,"m":[{"e":[{"l":[{"d":[{"i":39},5]}]}]}]}],"r":[{"e":11},10],"u":[{"s":0}]}],"k":[{"a":[{"p":12,"u":16,"v":12}],"b":16,"e":[{"l":[{"s":11}],"s":[{"k":0,"t":2}],"t":[{"a":7}]}],"h":10,"i":[{"e":0,"s":[{"t":0}]}],"k":13,"l":[{"a":[{"k":16}],"e":13,"u":9}],"n":[{"y":15}],"o":[{"d":12,"n":18,"r":[{"a":0,"t":9}],"v":0}],"r":[{"a":18,"y":12}],"s":[{"a":[{"n":0}],"i":13,"k":0,"p":1,"t":[{"e":10,"u":16}],"v":2}],"t":[{"a":[{"r":15}],"e":[{"r":[{"h":15}]}],"i":[{"e":8}],"r":[{"e":2}],"s":2},13],"u":[{"r":9,"s":18,"t":9}],"v":[{"o":15,"u":15}],"ø":9,"å":9}],"l":[{"a":[{"b":12,"d":[{"r":4}],"g":[{"d":12,"r":40}],"m":12,"t":18}],"b":13,"d":[{"i":[{"a":[{"g":[{"n":[{"o":[{"s":41}]}]}]}]}],"r":10,"s":[{"t":0}]}],"e":[{".":18,"d":12,"l":[{"e":17}],"m":[{"o":3}],"n":9,"r":18,"s":18,"u":17}],"f":[{"i":[{"n":[{"d":30},29]}]},13],"g":[{"o":20}],"h":10,"i":[{"g":[{"a":3}],"n":[{"s":35,"t":25,"g":[{"e":[{"n":[{"i":[{"ø":59}]}]}]}]}],"o":2}],"j":10,"k":[{"e":13,"o":13,"y":10}],"l":13,"m":[{"u":16}],"o":[{"d":[{"u":3}],"p":10,"r":35,"v":9}],"p":[{"s":15},25],"r":10,"s":[{"e":[{"s":33}],"i":[{"n":2}],"j":16},17],"t":[{"a":[{"f":15},13],"e":[{"r":[{"f":21}]},13],"i":10,"o":0,"r":10,"u":10}],"u":[{"l":2}],"v":[{"e":10,"i":10,"æ":10}],"ø":[{"s":12}]}],"m":[{"a":18,"b":13,"d":10,"e":[{"j":35},18],"f":10,"g":13,"h":10,"i":[{"k":0,"n":[{"g":16}],"o":3,"s":[{"t":[{"y":2}]}]},18],"k":10,"l":13,"m":[{"e":[{"n":42}]},13],"n":13,"o":[{"d":[{"a":3}],"p":17,"v":35},9],"p":[{"e":13,"i":10,"l":10,"o":13,"r":10}],"r":13,"s":[{"e":[{"s":11}],"i":[{"n":2}],"k":16,"p":0,"t":[{"e":10}],"v":2}],"t":[{"a":10,"e":10,"i":10,"r":10,"å":16}],"u":[{"d":13,"l":[{"i":1},18]}],"y":9,"æ":18,"ø":9,"å":9}],"n":[{"a":[{"k":17,"l":18},9],"b":13,"c":13,"d":[{"r":10,"s":[{"i":2,"k":2,"p":2}]},17],"e":[{"a":2,"d":[{"a":3}],"m":[{"e":[{"n":[{"t":[{"e":5}]},39]}]}],"o":8,"r":[{"k":10,"l":16}],"s":[{"l":2,"t":2}]},18],"f":13,"g":[{"o":15}],"h":23,"i":[{"m":17,"o":2,"s":[{"t":0}]},18],"k":[{"e":13,"o":13,"r":10,"u":10,"v":16,"æ":10}],"l":23,"m":13,"n":13,"o":[{"r":[{"d":10}]},18],"p":16,"r":10,"s":[{"i":10,"k":[{"u":13}],"p":[{"o":0}],"t":[{"a":13,"i":16}]},17],"t":[{"a":[{"l":[{"e":8}]},13],"e":13,"i":[{"a":[{"l":[{"i":43}]}]},13],"o":10,"r":13,"s":[{"t":7,"u":3}],"u":10,"y":10,"æ":16}],"v":23,"y":9,"z":10,"æ":[{"b":35},9],"ø":12}],"o":[{"a":[{"s":15},10],"b":[{"l":[{"i":0}]}],"c":13,"d":[{"i":[{"n":15}],"r":[{"i":2}],"s":2,"u":[{"n":2}]}],"e":13,"f":[{"r":2}],"g":[{"e":[{"k":15,"l":15}],"o":21,"r":[{"e":2}],"s":[{"k":2}]}],"h":16,"i":[{"n":16,"s":[{"e":44}]}],"j":13,"k":[{"a":10,"e":13,"u":10}],"l":[{"a":10,"e":10,"i":13,"o":13,"u":10,"y":16,"æ":16}],"m":[{"r":18}],"n":[{"k":0}],"o":[{"k":11,"r":10,"v":16}],"p":[{"i":10,"l":0,"r":0,"s":0,"t":[{"a":9}]}],"r":[{".":17,"a":[{"n":1}],"d":[{"n":9,"s":11}],"e":[{".":10,"g":10,"k":10,"r":10,"s":45,"t":10}],"i":[{"e":[{"n":[{"t":9}]}],"m":2,"n":21},10],"k":0,"o":2,"s":[{"l":0,"t":0}],"ø":0}],"s":[{"i":10,"o":10}],"t":[{"e":13},10],"u":[{"n":16}],"v":[{"s":3}],"å":16}],"p":[{"a":[{"g":[{"h":2}],"n":[{"l":16}]},9],"d":10,"e":[{"c":17,"n":9,"r":[{"a":1},18],"s":2,"u":0}],"f":10,"h":35,"l":[{"a":[{"n":15},18],"e":[{".":17,"r":17,"s":17}]}],"m":10,"n":10,"o":[{"k":12,"r":[{"e":46}],"t":9}],"p":47,"r":[{"o":[{"c":18},15],"æ":12}],"s":[{"k":10,"o":16,"p":3,"t":10}],"t":13,"u":[{"b":2,"l":[{"e":16}]},18],"v":16,"y":48,"æ":[{"d":12}],"å":0}],"q":[{"u":3}],"r":[{"a":[{"f":17,"i":[{"s":2}],"r":[{"b":17}]}],"b":13,"d":[{"a":[{"r":21}],"r":10,"s":40}],"e":[{"k":[{"s":17}],"l":[{"a":2},18],"n":[{"s":[{"s":16}]}],"s":[{"e":12,"p":[{"o":2}],"s":17,"t":0,"u":49}],"t":[{"t":12}]}],"f":13,"g":[{"u":13}],"h":13,"i":[{"e":1,"l":[{"a":2}],"m":[{"o":17}],"n":[{"g":[{"s":[{"e":43,"o":[{"r":43}]}]},15],"p":17,"t":17}]}],"k":[{"a":10,"e":13,"i":13,"s":[{"o":0}],"u":10,"æ":16}],"l":13,"m":[{"o":8,"u":16}],"n":13,"o":[{"b":1,"p":0,"r":10}],"p":10,"r":[{"e":[{"s":11}],"o":[{"n":50}]},13],"s":[{"a":13,"i":13,"k":[{"r":16,"v":51}],"n":3,"p":10,"t":[{"u":16}],"u":16,"v":10}],"t":[{"a":[{"l":16}],"e":[{"l":[{"i":15}]},13],"i":13,"o":[{"r":21},10],"r":[{"a":[{"t":2}],"e":0,"i":16,"o":16}],"s":0,"y":16,"æ":16,"ø":16}],"u":[{"d":10,"n":[{"d":[{"a":8}]}],"t":12}],"v":[{"a":10,"e":13,"i":10,"æ":10}],"y":[{"s":3}],"æ":[{"l":16}],"ø":[{"n":17,"r":12}],"å":[{"d":9,"r":16}]}],"s":[{"a":[{"f":10,"m":[{"a":3},18],"p":10,"r":13,"t":18}],"b":23,"d":[{"y":8},13],"e":[{"d":15,"r":28,"s":[{"e":3}]},18],"f":13,"g":52,"h":25,"i":[{"b":[{"l":3}],"g":18,"n":[{"t":16}],"s":12,"t":12,"u":12}],"j":[{"u":16}],"k":[{".":17,"a":[{"b":18}],"e":18,"l":10,"s":49,"y":12,"å":15}],"l":[{"e":13,"i":13,"o":4,"u":12,"y":16,"å":9}],"m":[{"y":15},13],"n":[{"i":[{"n":17,"t":15}],"æ":15}],"o":[{"k":2,"l":12,"m":[{".":12,"m":9,"s":16,"t":12}],"n":9,"p":23}],"p":[{"e":[{"c":9,"r":17}],"i":53,"l":13,"r":[{"o":[{"g":[{".":9}]}]}]},3],"r":36,"s":26,"t":[{".":17,"a":[{"m":28,"n":18,"s":2,"t":9,"v":18}],"e":[{".":18,"d":18,"l":9,"m":[{"o":12}],"n":18,"p":12,"r":[{".":9}],"s":9,"t":12}],"j":12,"o":[{"m":2},9],"r":18,"ø":12,"å":18}],"u":[{"d":13,"l":9,"n":10,"r":9}],"v":[{"e":10}],"y":[{"s":54},53],"æ":[{"n":35},18],"ø":[{"k":16},18],"å":[{"r":7}]}],"t":[{"a":[{".":12,"g":18,"n":[{"d":[{"s":6}],"v":17}]}],"b":17,"e":[{"d":[{"e":[{"l":29}],"s":42}],"g":9,"k":[{"n":12}],"o":34,"r":[{"m":12,"o":2}]}],"f":23,"g":55,"h":13,"i":[{"a":[{"l":[{"i":[{"s":[{"t":5}]}]}]}],"d":9,"e":[{"n":3}],"s":[{"t":0}],"ø":3}],"k":25,"l":[{"i":[{"s":50}]},23],"m":13,"n":13,"o":[{"r":[{"a":2,"e":1,"i":1,"m":8}]}],"p":25,"r":[{"a":15,"e":[{"s":17}],"o":[{"v":11}],"y":18,"æ":[{"k":[{".":9}]}]}],"s":[{"i":10,"p":[{"a":3,"r":2}],"t":10,"u":[{"l":2}],"ø":15,"å":16},17],"t":23,"u":[{"d":[{"s":16}],"r":12}],"v":[{"e":16,"æ":10}],"y":[{"p":18}]}],"u":[{"a":13,"d":[{"l":12,"r":2,"s":0,"v":9}],"e":[{"t":7},13],"g":[{"e":[{"r":[{"i":8}]}],"s":4,"u":16}],"i":10,"k":[{"l":16,"t":[{"a":3,"r":3}]}],"l":[{"a":13,"e":13,"y":16,"æ":10}],"p":[{"e":16,"l":2}],"q":16,"r":[{"a":10,"e":[{"g":31,"r":13},10],"o":10}],"s":[{"a":2,"i":10,"k":[{"a":16}],"o":16,"v":2}],"t":[{"e":13,"i":13,"o":13,"r":2,"s":49}],"v":56}],"v":[{"a":[{"d":2,"r":[{"m":9}]}],"e":[{"d":18,"l":[{"e":7}],"r":[{"e":[{"g":3}]}],"s":0,"t":12}],"h":16,"i":[{"l":[{"i":[{"n":40}]}],"s":18}],"j":16,"k":16,"l":[{"e":10,"i":16,"s":34},3],"o":[{"m":35},18],"p":16,"r":[{"e":16}],"s":[{"t":10,"u":16}],"t":16,"u":9,"æ":[{"r":[{"d":9,"k":18}]}],"å":12}],"y":[{"a":10,"d":[{"r":16}],"e":10,"k":[{"e":10,"i":16,"l":[{"i":0}],"o":10,"s":7,"v":10}],"l":[{"i":16,"o":16}],"m":[{"u":16}],"n":[{"s":11}],"o":16,"p":[{"e":13,"i":10}],"r":[{"e":[{"k":0},10],"i":10}],"s":[{"i":10}],"t":[{"i":10,"r":57}],"v":[{"e":16,"æ":16}]}],"z":[{"i":[{"o":2}]}],"æ":[{"b":[{"l":0}],"c":10,"e":10,"g":[{"a":2,"e":[{"k":15}],"r":21,"s":11}],"i":16,"k":[{"v":16}],"l":[{"l":[{"e":29}]}],"n":[{"d":[{"r":1}]}],"o":16,"r":[{"e":13,"g":[{"r":7}],"i":10,"m":[{"a":3,"o":3}],"s":2}],"s":[{"i":16,"o":10,"t":[{"e":10}]}],"v":[{"e":10}]}],"ø":[{"d":[{"e":11}],"e":10,"j":[{"e":13}],"k":[{"e":10}],"l":[{"e":10}],"m":[{"s":11}],"n":[{"s":[{"t":0}],"t":40}],"r":[{"e":13,"i":10,"n":[{"e":32}],"o":2}],"v":[{"e":13}]}],"å":[{"d":13,"e":13,"h":16,"l":10,"r":[{"e":10,"s":[{"t":11}]}],"s":[{"k":16}],"t":10}]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/6309.adapter.js b/public/tools/cloud_sheets/vendor/univer/6309.adapter.js new file mode 100644 index 0000000..c95a866 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/6309.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[6309],{6309(a,i,e){e.r(i),e.d(i,{Lv:()=>o});const o=["04,02,0012,01,001,0001,00012,23,2303,23003,0032,00032,00301,003001,003,0000021,4501,00021,0021,000021,001021,1012,021,00002,1,0023,00223,00222,002,00221,000221,00212,00023,0045,003043,000023,000223",'{"d":[{"z":[{"e":[{"m":[{"e":16}]}]},0],"ž":0,"d":[{"a":[{"m":[{"s":[{".":7}],"a":[{".":8}],"i":[{"e":[{"s":[{".":8}]}]}],"ā":[{"s":[{".":8}]}]}]}]}],"g":[{"a":[{"n":[{"s":[{".":7}],"a":[{".":8}]}]}]}],"n":[{"i":[{"e":[{"k":[{"s":[{".":7}]}],"c":[{"e":[{".":9}]}]}]}],"ī":[{"c":[{"a":[{".":8}]}]}]}],"š":[{"a":[{"n":[{"a":[{".":8}],"ā":[{"s":[{".":8}]}]}]}]}],"t":[{"a":[{"l":[{"a":[{".":8}]}]}],"u":[{"v":[{"e":[{".":8}]}]}]}]}],"a":[{"i":1,"u":[{"g":[{"s":[{"t":36}]}]},1],"č":[{"a":3,"ā":3,"o":3,"u":3,"i":3,"ī":3,"ū":3,"g":[{"ā":4}]}],"n":[{"ā":3,"u":3,"ī":3,"a":3,"ē":3,"e":3,"o":3,"i":3,"r":[{"a":4,"ī":4}],"t":[{"ā":4,"ē":4,"a":4,"i":4,"e":4,"u":4,"o":4,"ī":4,"ū":4,"z":[{"i":4,"a":4}],"k":[{"ā":4,"u":4}],"r":[{"a":4,"o":4}],"m":[{"ē":4}],"n":[{"ī":4,"i":4}],"s":[{"b":[{"e":5}]}]}],"č":[{"e":4,"u":4,"k":[{"i":4,"a":4}]}],"g":[{"a":4,"ī":4,"ā":4,"o":4,"e":4,"i":4,"u":4,"l":[{"i":4}],"ļ":[{"u":4}],"r":[{"ē":4}],"v":[{"i":4}],"s":[{"t":[{"e":5}]}]}],"k":[{"u":4,"ū":4,"a":4,"e":4,"o":4,"i":4,"ā":4,"r":[{"e":4,"o":4,"ū":4}],"c":[{"i":4}],"v":[{"ē":4}],"t":[{"o":4}],"k":[{"u":4}],"n":[{"o":4}]}],"š":[{"o":4,"u":4,"e":4,"i":4}],"s":[{"i":4,"e":4,"a":4,"ē":4,"ī":4,"o":4,"m":[{"i":4}],"k":[{"o":4,"a":4,"ā":4,"u":4,"r":[{"i":5}]}],"l":[{"i":4,"ā":4}],"p":[{"a":4,"o":4,"l":[{"a":5}]}],"c":[{"ē":4,"e":4}],"f":[{"o":4}],"t":[{"e":4,"ē":4}],"j":[{"ē":4}],"v":[{"e":4}]}],"m":[{"a":4,"e":4}],"c":[{"ū":4,"o":4,"ē":4,"i":4,"e":4,"l":[{"e":4}],"k":[{"a":4}],"s":[{"p":[{"ē":5}]}]}],"z":[{"ī":4,"a":4,"ā":4,"e":4}],"ž":[{"u":4,"i":4,"a":4,"ā":4,"o":4,"ē":4,"s":[{"a":4}],"d":[{"z":[{"e":5}]}]}],"d":[{"i":4,"u":4,"e":4,"ū":4,"a":4,"ē":4,"ā":4,"o":4,"ī":4,"ž":[{"ū":4,"a":4}],"r":[{"ī":4,"a":4,"o":4,"i":4}],"c":[{"e":4}],"t":[{"ā":4}],"z":[{"e":4}],"p":[{"u":4}]}],"f":[{"a":4,"r":[{"a":4,"ē":4}],"l":[{"o":4}]}],"n":[{"i":4,"u":4,"o":4,"a":4,"ā":4}],"j":[{"o":4}],"h":[{"o":4,"i":4}],"b":[{"e":4,"ā":4,"u":4,"a":4,"r":[{"ū":4}]}],"v":[{"ī":4,"a":4,"ā":4}]}],"ņ":[{"o":3,"a":3,"ē":3,"i":3,"ā":3,"e":3,"u":3,"r":[{"a":4}],"ķ":[{"e":4,"ī":4,"i":4}],"k":[{"ā":4}],"v":[{"e":4}],"d":[{"a":4}],"p":[{"a":4}],"ģ":[{"i":4,"ē":4}]}],"ļ":[{"ī":3,"a":3,"o":3,"ē":3,"ā":3,"i":3,"u":3,"c":[{"e":4}],"ģ":[{"e":4}],"ķ":[{"o":4,"ī":4,"a":4,"i":4,"n":[{"e":4}],"š":[{"p":[{"a":5}]}]}],"m":[{"e":4}],"b":[{"u":4,"i":4,"a":4}],"d":[{"a":4,"ē":4}],"ļ":[{"i":4,"a":4}],"č":[{"ū":4}],"r":[{"ā":4,"a":4,"u":4}],"v":[{"a":4}],"s":[{"a":4,"i":4,"k":[{"a":4}],"t":[{"u":4}]}],"l":[{"a":4,"i":4}],"k":[{"o":4}],"f":[{"i":4}],"ņ":[{"i":4,"u":4}],"g":[{"a":4}],"n":[{"i":4}]}],"š":[{"ū":3,"o":3,"i":3,"ī":3,"e":3,"u":3,"ā":3,"a":3,"l":[{"e":4,"a":4,"i":4}],"ļ":[{"u":4,"i":4,"a":4}],"m":[{"a":4,"o":4,"i":4,"ā":4,"ē":4,"ī":4}],"v":[{"a":4,"i":4,"ī":4,"ā":4}],"r":[{"a":4,"e":4,"o":4}],"ķ":[{"e":4,"ī":4,"i":4,"a":4,"ē":4,"o":4,"ū":4}],"d":[{"i":4,"a":4}],"p":[{"u":4,"a":4,"ā":4,"o":4,"l":[{"ū":4}]}],"k":[{"o":4,"ī":4,"e":4,"r":[{"i":4}]}],"ņ":[{"a":4,"u":4,"ā":4,"o":4}],"n":[{"ā":4,"o":4,"i":4}],"t":[{"a":4}],"c":[{"i":4}],"g":[{"ā":4}],"h":[{"a":4}],"s":[{"a":4}]}],"d":[{"a":3,"e":3,"ā":3,"ī":3,"ē":3,"u":3,"ū":3,"o":3,"i":3,"m":[{"a":4,"i":4,"o":4}],"d":[{"a":4,"o":4}],"k":[{"a":4}],"v":[{"o":4,"e":4,"a":4,"i":4}],"r":[{"ē":4,"ū":4,"i":4,"e":4,"a":4,"ī":4,"o":4,"u":4,"ā":4}],"z":[{"e":3,"a":3,"ī":3,"o":3,"i":3,"ē":3,"u":3,"n":[{"i":5}]}],"j":[{"u":4,"e":4,"a":4}],"ž":[{"u":3,"ā":3,"o":3,"i":3,"a":3}],"p":[{"ē":4,"a":4}],"n":[{"e":4,"i":4}],"s":[{"i":4,"o":4,"k":[{"ā":4,"r":[{"ū":5}]}],"m":[{"i":4}]}],"c":[{"a":4}],"l":[{"i":4,"e":4}],"h":[{"ē":4}],"g":[{"r":[{"ā":4}]}]}],"p":[{"ī":3,"ē":3,"ū":3,"ā":3,"u":3,"a":[{"k":[{"š":35}],"u":4},3],"o":3,"i":3,"e":3,"d":[{"ū":4,"o":4,"ī":4,"a":4,"u":4,"i":4,"e":4,"ā":4,"ē":4,"r":[{"i":4,"u":4,"a":4,"o":4,"ī":4,"e":4}],"z":[{"ē":4,"i":4,"ī":4,"e":4,"a":4}],"v":[{"a":4}],"ž":[{"i":4}]}],"š":[{"a":4,"ā":4,"ū":4,"o":4,"u":4,"ķ":[{"ī":4,"e":4,"o":4,"ū":4,"i":4,"a":4,"ē":4}],"ļ":[{"a":4,"i":4,"ā":4,"u":4}],"v":[{"i":4,"ī":4}],"ņ":[{"a":4,"o":4,"u":4}],"p":[{"a":4}],"m":[{"ī":4,"a":4}],"t":[{"a":4}]}],"c":[{"u":4,"ē":4,"e":4,"a":4,"ī":4,"i":4}],"v":[{"e":4,"ī":4,"ā":4,"i":4,"a":4,"u":4,"o":4,"ē":4}],"s":[{"ū":4,"i":4,"ā":4,"u":4,"ē":4,"a":4,"ī":4,"e":4,"o":4,"l":[{"ā":4,"e":4,"ī":4,"i":4,"u":4,"o":4,"ē":4,"a":4}],"k":[{"u":4,"ū":4,"o":4,"ā":4,"i":4,"a":4,"r":[{"ē":5,"a":5,"ū":5}]}],"p":[{"o":4,"ē":4,"e":4,"a":4,"i":4,"ā":4,"u":4,"ī":4,"r":[{"e":5,"a":5,"o":5,"ā":5,"ū":5,"i":5}],"ļ":[{"a":5}]}],"t":[{"u":4,"ī":4,"ū":4,"e":4,"ā":4,"ē":4,"i":4,"o":4,"a":4,"r":[{"u":5,"ī":5,"i":5,"ā":5,"ē":5,"e":5}]}],"v":[{"ī":4,"a":4,"ē":4,"ā":4,"e":4,"i":4}],"m":[{"e":4,"ī":4,"ē":4,"a":4,"u":4,"i":4}],"n":[{"i":4,"a":4}]}],"ģ":[{"i":4,"ē":4,"e":4}],"t":[{"e":4,"a":4,"u":4,"o":4,"i":4,"ē":4,"ā":4,"ī":4,"ū":4,"r":[{"ī":4,"ā":4,"i":4,"o":4,"u":4,"a":4,"ū":4,"e":4}],"v":[{"a":4,"e":4,"ē":4}]}],"z":[{"a":4,"i":4,"ī":4,"ā":4,"e":4,"o":4,"u":4,"v":[{"a":4,"i":4,"ē":4}]}],"r":[{"ū":4,"o":4,"e":4,"ē":4,"ī":4,"u":4,"ā":4,"i":4,"a":4}],"l":[{"e":4,"i":4,"ā":4,"o":4,"a":4,"ū":4,"u":4,"ī":4,"ē":4}],"k":[{"u":4,"ā":4,"ū":4,"i":4,"o":4,"a":4,"r":[{"ā":4,"ē":4,"a":4,"ī":4,"i":4,"u":4,"e":4,"o":4}],"l":[{"ī":4,"a":4,"u":4,"ā":4,"e":4,"i":4}],"n":[{"a":4,"u":4,"ā":4,"i":4}],"ļ":[{"ū":4,"a":4}],"ņ":[{"u":4}],"v":[{"i":4,"e":4,"ē":4}]}],"n":[{"ī":4,"a":4,"u":4,"ē":4,"ā":4,"i":4,"o":4,"e":4}],"g":[{"o":4,"ū":4,"a":4,"u":4,"ā":4,"r":[{"o":4,"i":4,"ē":4,"ū":4,"e":4,"ā":4,"u":4,"a":4}],"v":[{"e":4}],"l":[{"a":4,"u":4,"ū":4,"e":4,"ā":4}]}],"f":[{"a":4,"o":4,"i":4,"r":[{"a":4,"ē":4,"i":4,"ā":4}],"l":[{"i":4}]}],"č":[{"u":4,"a":4,"ī":4,"o":4,"ū":4,"ā":4,"i":4}],"ņ":[{"o":4,"u":4,"ē":4,"i":4,"a":4}],"p":[{"ā":4,"ē":4,"a":4,"u":4,"i":4,"ū":4,"o":4,"e":4,"ī":4,"r":[{"o":4,"ā":4,"i":4,"e":4,"a":4}],"l":[{"a":4,"ī":4,"e":4,"o":4,"i":4,"ē":4,"u":4,"ū":4,"ā":4}],"ļ":[{"ā":4,"ē":4,"a":4}]}],"b":[{"o":4,"ē":4,"e":4,"ī":4,"u":4,"ā":4,"ū":4,"i":4,"a":4,"l":[{"ē":4,"o":4,"e":4,"ā":4,"i":4,"ī":4}],"r":[{"u":4,"o":4,"ī":4,"i":4,"ū":4,"ā":4,"a":4,"ē":4,"e":4}],"ļ":[{"ā":4,"a":4}]}],"ķ":[{"ī":4,"ē":4,"e":4,"i":4}],"j":[{"ā":4,"o":4,"ē":4,"a":4,"ū":4,"u":4,"i":4,"d":[{"r":[{"a":5}]}]}],"h":[{"e":4,"a":4,"u":4,"i":4,"o":4,"l":[{"o":4}],"r":[{"o":4}]}],"ž":[{"u":4,"ē":4,"o":4,"ā":4,"i":4,"v":[{"ī":4,"a":4}],"ņ":[{"a":4}]}],"m":[{"ā":4,"u":4,"a":4,"ī":4,"ū":4,"i":4,"e":4,"ē":4,"o":4}],"ļ":[{"u":4,"a":4,"ā":4,"ē":4,"o":4}]}],"f":[{"ī":3,"a":3,"i":3,"e":3,"ē":3,"o":3,"r":[{"ē":4,"ā":4,"o":4,"a":4,"i":4}],"t":[{"i":4,"a":4}],"l":[{"i":4}],"n":[{"i":4}]}],"b":[{"e":3,"ē":3,"o":3,"ū":3,"a":3,"i":3,"u":3,"ī":3,"ā":3,"l":[{"a":4,"i":4,"e":4,"ē":4,"o":4,"ī":4,"ā":4,"u":4}],"s":[{"e":4,"o":4,"u":4,"i":4,"a":4,"c":[{"e":4,"i":4}],"t":[{"u":4,"i":4,"a":4,"o":4,"r":[{"a":5}]}],"k":[{"a":4}]}],"t":[{"i":4,"u":4,"ā":4,"a":4,"o":4,"e":4}],"š":[{"a":4}],"r":[{"i":4,"o":4,"e":4,"u":4,"ū":4,"ī":4,"ē":4,"a":4,"ā":4,"k":[{"a":4}]}],"v":[{"e":4,"ē":4,"ī":4,"a":4}],"h":[{"ā":4}],"p":[{"a":4,"u":4,"i":4,"e":4,"r":[{"ā":4}]}],"d":[{"a":4,"i":4,"z":[{"i":4}]}],"k":[{"a":4,"l":[{"ā":4}]}],"ļ":[{"ā":4,"a":4}],"n":[{"a":4}],"m":[{"e":4}],"z":[{"i":4}]}],"c":[{"i":3,"e":3,"a":3,"ē":3,"o":3,"ī":3,"u":3,"ā":3,"t":[{"i":4}],"d":[{"a":4}],"g":[{"r":[{"ī":4}]}]}],"z":[{"ī":3,"ū":3,"o":3,"ā":3,"i":3,"e":3,"ē":3,"u":3,"a":3,"d":[{"ā":4,"a":4,"u":4,"ē":4,"ū":4,"e":4,"o":4,"r":[{"u":4}]}],"b":[{"ē":4,"e":4}],"v":[{"a":4,"ē":4,"i":4}],"t":[{"u":4,"i":4}],"g":[{"a":4,"u":4,"ā":4,"r":[{"u":4}]}],"z":[{"e":4}],"k":[{"a":4,"u":4,"o":4}],"m":[{"ē":4,"ā":4,"e":4,"a":4}],"j":[{"a":4,"ū":4}],"l":[{"ē":4,"i":4}],"p":[{"u":4,"a":4,"i":4,"r":[{"a":4,"o":4}]}],"r":[{"u":4,"a":4,"o":4}],"n":[{"o":4,"ī":4}],"s":[{"a":4,"v":[{"a":4}]}]}],"k":[{"e":3,"i":3,"ū":3,"a":3,"u":3,"ā":3,"o":3,"s":[{"o":4,"e":4,"ē":4,"ī":4,"a":4,"u":4,"ā":4,"i":4,"t":[{"i":4,"o":4,"ā":4,"ī":4,"ē":4,"a":4,"e":4,"u":4,"v":[{"e":5}],"n":[{"i":5}]}],"m":[{"ē":4}],"n":[{"ī":4}]}],"n":[{"a":4,"ē":4,"i":4,"ā":4,"u":4,"e":4}],"t":[{"i":4,"ā":4,"u":4,"ē":4,"ū":4,"ī":4,"e":4,"a":4,"o":4,"d":[{"a":4}],"n":[{"i":4}],"l":[{"i":4}],"r":[{"i":4}],"s":[{"p":[{"o":5,"u":5,"a":5}],"g":[{"u":5}],"v":[{"i":5}],"d":[{"e":5,"a":5}],"m":[{"ī":5,"i":5}],"s":[{"a":5}],"l":[{"o":5,"a":5}],"j":[{"a":5}]}]}],"š":[{"ē":4,"u":4,"a":4,"o":4,"ā":4,"ī":4,"ķ":[{"o":4,"ē":4,"i":4,"e":4,"a":4,"u":4}],"ņ":[{"o":4}],"ž":[{"o":4}],"p":[{"a":4,"u":4}],"z":[{"e":4}],"m":[{"a":4}],"v":[{"e":4}],"s":[{"v":[{"ā":5}]}]}],"l":[{"a":4,"e":4,"ī":4,"ā":4,"i":4,"ē":4,"o":4,"u":4}],"v":[{"a":4,"e":4,"i":4,"ā":4,"ē":4}],"m":[{"u":4,"a":4,"e":[{"ņ":34},4]}],"r":[{"i":4,"ē":4,"a":4,"e":4,"ā":4,"o":4,"ū":4,"u":4,"ī":4}],"ļ":[{"ū":4,"a":4,"ā":4}],"c":[{"e":4,"ī":4,"i":4}],"k":[{"ā":4}],"ņ":[{"ā":4,"u":4,"v":[{"e":4}],"k":[{"o":4}],"g":[{"r":[{"a":5}]}]}],"g":[{"a":4}],"d":[{"o":4}],"h":[{"a":4}]}],"r":[{"i":3,"ā":3,"ū":3,"o":3,"a":3,"ī":3,"u":3,"e":3,"ē":3,"k":[{"u":4,"ī":4,"a":4,"ū":4,"ā":4,"i":4,"e":4,"o":4,"r":[{"ē":4,"o":4}],"n":[{"ā":4}],"t":[{"o":4,"i":4,"u":4,"ā":4,"a":4}],"s":[{"i":4,"t":[{"a":5,"u":5,"o":5,"i":5}]}],"š":[{"u":4,"a":4,"o":4,"ķ":[{"o":5,"u":5,"ē":5,"i":5,"a":5}]}]}],"t":[{"o":4,"a":4,"u":4,"ē":4,"ī":4,"e":4,"ā":4,"i":4,"m":[{"ā":4}],"n":[{"e":4}]}],"s":[{"a":4,"u":4,"ē":4,"e":4,"ī":4,"o":4,"i":4,"ā":4,"m":[{"e":4}],"t":[{"i":4,"ā":4,"o":4,"a":4,"u":4,"ī":4,"d":[{"a":5}],"g":[{"a":5}],"v":[{"ī":5}],"p":[{"u":5}]}],"b":[{"u":4}],"k":[{"o":4,"a":4}],"p":[{"a":4}]}],"c":[{"i":4,"ē":4,"e":4,"ī":4}],"g":[{"i":4,"a":4,"o":4,"e":4,"ā":4,"u":4,"s":[{"ē":4}],"l":[{"ī":4}],"t":[{"o":4,"ē":4,"i":4}],"v":[{"a":4,"i":4}],"m":[{"a":4,"u":4}],"k":[{"a":4,"ā":4,"u":4,"r":[{"ā":5}]}],"c":[{"e":4}],"b":[{"ū":4}],"r":[{"e":4,"i":4}],"d":[{"a":4}],"p":[{"o":4}],"j":[{"o":4}]}],"ķ":[{"ī":4,"i":4,"ē":4}],"ž":[{"a":4,"o":4,"u":4,"ī":4}],"d":[{"o":4,"a":4,"i":4,"u":4,"e":4,"ī":4,"ē":4,"ā":4,"z":[{"i":4,"e":4,"ī":4,"ē":4}],"ž":[{"u":4}]}],"ģ":[{"e":4,"i":4}],"h":[{"ā":4,"a":4,"e":4,"ī":4,"i":4}],"m":[{"ē":4,"ī":4,"e":4,"o":4,"i":4,"ā":4,"a":4}],"p":[{"u":4,"e":4,"a":4,"ā":4,"ē":4,"ī":4,"ū":4,"i":4,"t":[{"a":4}],"l":[{"i":4}],"n":[{"a":4,"i":4}],"p":[{"a":4,"i":4,"r":[{"o":5}]}],"j":[{"u":4}],"z":[{"o":4}],"g":[{"a":4}],"s":[{"i":4}]}],"n":[{"e":4,"a":4,"u":4,"ī":4,"ē":4,"ā":4,"i":4,"d":[{"o":4}]}],"z":[{"o":4,"a":4,"v":[{"a":4}]}],"l":[{"o":4,"ī":4,"e":4,"ē":4,"a":4}],"b":[{"a":4,"e":4,"ā":4,"u":4,"ī":4,"ū":4,"o":4,"i":4,"n":[{"ī":4,"i":4}],"g":[{"a":4}],"l":[{"ā":4}],"d":[{"i":4}],"v":[{"e":4}],"m":[{"a":4,"ū":4}],"s":[{"p":[{"ē":5}]}]}],"r":[{"ī":4}],"v":[{"e":4,"a":4,"o":4,"i":4,"d":[{"e":4}]}],"f":[{"i":4,"a":4}],"š":[{"ē":4,"o":4,"a":4,"ī":4,"i":4,"u":4,"ļ":[{"a":4}],"v":[{"i":4}],"r":[{"u":4}]}],"j":[{"u":4,"e":4}]}],"m":[{"e":3,"i":3,"ū":3,"a":3,"ē":3,"o":3,"ā":3,"u":3,"ī":3,"p":[{"ū":4,"a":4,"ē":4,"o":4,"ā":4,"u":4,"i":4,"e":4,"ī":4,"l":[{"u":4,"a":4,"i":4,"ī":4}],"d":[{"a":4}],"š":[{"o":4,"a":4}],"j":[{"o":4,"a":4}],"s":[{"t":[{"u":5,"o":5,"i":5,"a":5}]}]}],"l":[{"ī":4,"e":4,"ū":4}],"d":[{"ī":4,"i":4,"ā":4,"o":4,"ē":4,"a":4,"u":4}],"b":[{"i":4,"u":4,"o":4,"ā":4,"ī":4,"ē":4,"a":4,"e":4,"ū":4,"r":[{"i":4,"a":4,"e":4}],"l":[{"i":4,"e":4}]}],"g":[{"a":4}],"k":[{"ā":4,"a":4,"r":[{"ē":4}]}],"z":[{"o":4,"e":4,"i":4,"ā":4,"a":4,"d":[{"a":4}]}],"s":[{"a":4,"t":[{"i":4,"u":4,"ī":4,"ā":4,"o":4,"a":4}],"k":[{"ā":4}],"v":[{"ē":4}]}],"t":[{"ī":4,"e":4,"a":4,"r":[{"a":4}]}],"n":[{"i":4,"e":4,"a":4}],"f":[{"ī":4,"i":4,"l":[{"e":4}]}],"v":[{"i":4,"a":4,"ī":4}],"m":[{"i":4,"ē":4,"u":4,"ā":4,"a":4}],"r":[{"e":4}],"ž":[{"u":4}],"š":[{"ā":4}]}],"j":[{"a":3,"ē":3,"ā":3,"e":3,"u":3,"i":3,"ū":3,"o":3,"ī":3,"c":[{"i":4}],"n":[{"i":4}],"m":[{"u":4}]}],"l":[{"o":3,"ā":3,"ī":3,"u":3,"ē":3,"a":3,"i":3,"e":3,"ū":3,"š":[{"a":4,"o":4,"u":4,"ķ":[{"ī":4,"i":4}]}],"m":[{"o":4,"a":4,"ā":4,"e":4,"i":4,"u":4}],"s":[{"u":4,"ā":4,"i":4,"o":4,"a":4,"e":4,"ī":4,"t":[{"i":4,"u":4,"ā":4,"a":4,"o":4,"e":4,"ī":4,"p":[{"u":5}],"n":[{"i":5}]}],"m":[{"a":4}],"n":[{"o":4,"a":4,"ā":4,"u":4,"ē":4,"i":4}],"s":[{"t":[{"i":5}]}]}],"c":[{"ī":4,"i":4,"e":4,"v":[{"i":4}],"t":[{"ī":4}]}],"k":[{"ū":4,"a":4,"i":4,"ā":4,"o":4,"u":4,"v":[{"a":4,"ī":4}],"t":[{"o":4,"a":4,"ā":4,"i":4,"u":4}],"c":[{"i":4}],"š":[{"u":4,"a":4,"o":4,"ķ":[{"i":5}],"ņ":[{"a":5}]}],"m":[{"e":4,"a":4}],"j":[{"ū":4}],"s":[{"i":4,"t":[{"ī":5,"o":5,"u":5,"a":5,"i":5}],"n":[{"ā":5,"e":5,"i":5}]}]}],"v":[{"a":4,"e":4,"ī":4,"ā":4,"o":4,"i":4,"u":4,"ē":4,"j":[{"a":4}],"t":[{"u":4}],"g":[{"a":4}],"n":[{"i":4}]}],"n":[{"e":4,"ē":4,"u":4,"ā":4,"a":4,"i":4,"r":[{"ū":4,"a":4}],"g":[{"a":4}],"z":[{"e":4}],"c":[{"i":4}]}],"ķ":[{"ī":4}],"ž":[{"u":4,"ī":4}],"d":[{"e":4,"u":4,"ē":4,"ī":4,"i":4,"ū":4,"ā":4,"a":4,"o":4,"z":[{"i":4,"ī":4}],"ķ":[{"i":4}],"g":[{"a":4}],"k":[{"a":4,"ā":4}],"n":[{"i":4,"e":4}],"s":[{"ē":4,"e":4,"k":[{"ā":5}]}],"d":[{"r":[{"ā":5}]}]}],"r":[{"e":4,"i":4}],"t":[{"ī":4,"i":4,"ē":4,"ā":4,"a":4,"e":4,"ū":4,"o":4,"u":4,"r":[{"u":4,"o":4,"a":4}],"g":[{"a":4,"v":[{"a":5}]}],"m":[{"e":4,"a":4}],"n":[{"a":4}],"d":[{"i":4}],"l":[{"a":4}],"v":[{"a":4,"ī":4}],"k":[{"v":[{"ē":5}],"r":[{"i":5}]}],"b":[{"r":[{"i":5}]}]}],"g":[{"ā":4,"u":4,"e":4,"i":4,"a":4,"o":4,"m":[{"e":4}]}],"l":[{"o":4,"ē":4,"a":4,"i":4,"ā":4,"e":4}],"p":[{"e":4,"o":4,"i":4,"ē":4,"a":4,"ī":4,"r":[{"e":4}]}],"b":[{"i":4,"e":4,"u":4,"o":4,"a":4,"ā":4,"ī":4,"r":[{"i":4}]}],"j":[{"ē":4,"a":4,"o":4}],"ģ":[{"i":4}],"z":[{"i":4,"a":4}],"f":[{"a":4,"r":[{"ī":4}]}]}],"ģ":[{"e":3,"u":3,"ī":3,"ā":3,"ē":3,"i":3}],"ž":[{"ā":3,"a":3,"ē":3,"o":3,"ī":3,"e":3,"ū":3,"i":3,"u":3,"v":[{"ī":4,"i":4,"a":4}],"k":[{"ā":4}],"n":[{"e":4}],"ņ":[{"a":4}],"d":[{"a":4,"i":4}],"r":[{"e":4}],"b":[{"r":[{"ī":4}]}],"s":[{"k":[{"ā":4}]}]}],"h":[{"u":3,"ē":3,"a":3,"ī":3,"e":3,"i":3,"ā":3,"o":3,"t":[{"i":4,"u":4,"ā":4,"a":4,"v":[{"e":4}],"k":[{"l":[{"u":5}]}]}],"l":[{"o":4}],"r":[{"o":4}],"v":[{"e":4}]}],"ķ":[{"i":3,"ī":3,"ā":3,"a":3,"u":3,"ē":3,"e":3}],"t":[{"ā":3,"ī":3,"ū":3,"ē":3,"u":3,"e":3,"i":3,"a":3,"o":3,"t":[{"u":4,"e":4,"a":4,"ā":4,"ē":4,"ū":4,"i":4,"o":4,"ī":4,"r":[{"ū":4,"ā":4,"u":4,"a":4,"e":4,"ī":4,"o":4,"i":4}],"v":[{"ē":4,"a":4,"e":4}]}],"n":[{"ā":4,"ē":4,"i":4,"u":4,"ī":4,"o":4,"a":4,"e":4}],"ģ":[{"ē":4,"i":4,"e":4}],"d":[{"e":4,"o":4,"u":4,"a":4,"ē":4,"i":4,"ā":4,"ī":4,"ū":4,"z":[{"ī":4,"ē":4,"i":4,"a":4,"e":4}],"r":[{"ū":4,"o":4,"e":4,"ī":4,"a":4,"u":4,"ā":4}],"ž":[{"i":4}],"v":[{"a":4}]}],"ņ":[{"i":4,"u":4,"ē":4,"a":4,"e":4}],"s":[{"ī":4,"ā":4,"i":4,"o":4,"u":4,"e":4,"ē":4,"a":4,"ū":4,"t":[{"u":4,"a":4,"ū":4,"o":4,"i":4,"ī":4,"ā":4,"e":4,"ē":4,"r":[{"ā":5,"e":5,"u":5,"i":5,"ī":5}]}],"m":[{"a":4,"e":4,"ē":4,"ī":4,"i":4}],"l":[{"a":4,"ī":4,"e":4,"u":4,"i":4,"o":4,"ā":4,"ē":4}],"p":[{"ā":4,"a":4,"u":4,"e":4,"o":4,"i":4,"ē":4,"ī":4,"r":[{"a":5,"ū":5,"e":5,"i":5,"ā":5,"o":5}],"ļ":[{"a":5}]}],"k":[{"a":4,"ū":4,"u":4,"i":4,"o":4,"ā":4,"r":[{"ē":5,"ū":5,"a":5}]}],"v":[{"e":4,"ē":4,"i":4,"a":4,"ī":4,"ā":4}],"n":[{"i":4,"a":4}]}],"j":[{"a":4,"o":4,"u":4,"ā":4,"ē":4,"ū":4}],"c":[{"ī":4,"ē":4,"ū":4,"a":4,"u":4,"i":4,"e":4}],"p":[{"ū":4,"ī":4,"o":4,"ē":4,"u":4,"a":4,"e":4,"ā":4,"i":4,"l":[{"ā":4,"ē":4,"a":4,"ū":4,"ī":4,"u":4,"i":4,"e":4,"o":4}],"r":[{"ā":4,"i":4,"o":4,"e":4,"a":4}],"ļ":[{"ē":4,"ā":4,"a":4}]}],"g":[{"o":4,"u":4,"a":4,"ā":4,"ū":4,"l":[{"a":4,"ā":4,"u":4,"e":4,"ū":4}],"r":[{"ū":4,"ā":4,"e":4,"u":4,"a":4,"ē":4,"o":4,"i":4}],"v":[{"e":4}]}],"ž":[{"ē":4,"u":4,"ā":4,"i":4,"o":4,"v":[{"ī":4,"a":4}],"ņ":[{"a":4}]}],"š":[{"o":4,"a":4,"i":4,"ā":4,"u":4,"ū":4,"m":[{"ī":4,"a":4}],"ķ":[{"ū":4,"o":4,"ī":4,"ē":4,"i":4,"a":4,"e":4}],"p":[{"a":4}],"ņ":[{"o":4,"a":4,"u":4}],"v":[{"ī":4,"i":4}],"ļ":[{"a":4,"u":4,"i":4}],"t":[{"a":4}]}],"k":[{"o":4,"u":4,"i":4,"a":4,"ū":4,"ā":4,"ļ":[{"a":4,"ū":4}],"v":[{"ē":4,"e":4,"i":4}],"l":[{"e":4,"u":4,"i":4,"ī":4,"ā":4,"a":4}],"r":[{"ī":4,"e":4,"i":4,"a":4,"o":4,"u":4,"ē":4,"ā":4}],"n":[{"ā":4,"u":4,"i":4,"a":4}],"ņ":[{"u":4}]}],"r":[{"ū":4,"o":4,"a":4,"i":4,"ā":4,"ī":4,"u":4,"ē":4,"e":4,"r":[{"e":4}],"p":[{"u":4}]}],"z":[{"u":4,"e":4,"o":4,"ī":4,"i":4,"ā":4,"a":4,"v":[{"i":4,"e":4,"a":4,"ē":4}]}],"l":[{"o":4,"a":4,"ī":4,"i":4,"ā":4,"u":4,"e":4,"ē":4,"ū":4}],"m":[{"ē":4,"ā":4,"o":4,"ī":4,"a":4,"e":4,"i":4,"u":4,"ū":4}],"h":[{"o":4,"a":4,"i":4,"u":4,"e":4,"l":[{"o":4}],"r":[{"o":4}]}],"b":[{"ī":4,"i":4,"a":4,"u":4,"ā":4,"o":4,"ē":4,"ū":4,"e":4,"l":[{"e":4,"o":4,"i":4,"ī":4,"ē":4,"ā":4}],"r":[{"i":4,"ā":4,"a":4,"u":4,"ē":4,"ī":4,"o":4,"ū":4,"e":4}],"ļ":[{"ā":4,"a":4}]}],"v":[{"u":4,"e":4,"ē":4,"o":4,"i":4,"ā":4,"ī":4,"a":4}],"f":[{"o":4,"i":4,"a":4,"r":[{"ē":4,"i":4,"a":4,"ā":4}],"l":[{"i":4}]}],"ļ":[{"ā":4,"a":4,"u":4}],"č":[{"o":4,"i":4,"ū":4,"u":4,"a":4,"ī":4,"ā":4}],"ķ":[{"e":4,"ī":4,"i":4,"ē":4}]}],"s":[{"i":3,"ē":3,"e":3,"u":3,"ī":3,"a":3,"ū":3,"o":3,"ā":3,"b":[{"u":4,"r":[{"a":4,"ā":4}]}],"p":[{"e":4,"o":4,"i":4,"a":4,"ē":4,"ā":4,"ī":4,"u":4,"r":[{"e":4,"a":4,"u":4,"ā":4,"i":4,"o":4,"ū":4}],"ļ":[{"a":4}]}],"l":[{"e":4,"ē":4,"o":4,"ā":4,"a":4,"u":4,"i":4,"ī":4}],"k":[{"a":4,"ā":4,"e":4,"ē":4,"u":4,"i":4,"o":4,"ū":4,"r":[{"ē":4,"ā":4,"a":4,"ū":4}],"v":[{"i":4}]}],"v":[{"e":4,"i":4,"ā":4,"ī":4,"a":4,"ē":4}],"n":[{"i":4,"o":4,"a":4}],"z":[{"o":4,"i":4,"a":4}],"m":[{"ā":4,"i":4,"a":4,"e":4,"ī":4,"ē":4}],"g":[{"ā":4,"a":4,"r":[{"ā":4}]}],"t":[{"i":4,"ū":4,"e":4,"ē":4,"a":4,"o":4,"ī":4,"u":4,"ā":4,"r":[{"u":4,"i":4,"ē":4,"ī":4,"ā":4,"o":4,"a":4,"e":4}],"m":[{"a":4,"ē":4,"e":4,"ā":4}],"n":[{"e":4,"i":4,"a":4}],"p":[{"a":4}],"t":[{"i":4}],"k":[{"a":4}],"v":[{"a":4}],"l":[{"a":4}],"s":[{"k":[{"o":5}]}]}],"c":[{"i":4}],"f":[{"a":4}],"r":[{"o":4}],"s":[{"a":4,"e":4,"k":[{"o":4,"a":4}],"m":[{"ē":4}]}],"j":[{"a":4}],"d":[{"ē":4,"z":[{"i":4}]}]}],"g":[{"i":3,"o":3,"ā":3,"ū":3,"ī":3,"a":3,"u":3,"r":[{"ē":4,"i":4,"u":4,"ī":4,"e":4,"ā":4,"ū":4,"a":4,"o":4}],"l":[{"i":4,"ī":4,"ā":4,"a":4,"u":4,"o":4,"e":4,"ū":4,"ē":4}],"d":[{"ā":4,"a":4}],"š":[{"a":4,"o":4,"u":4}],"n":[{"i":4,"e":4,"o":4,"ā":4,"ē":4}],"t":[{"ā":4,"o":4,"i":4,"u":4,"a":4}],"v":[{"i":4,"e":4}],"s":[{"i":4,"v":[{"a":4}]}],"m":[{"ā":4,"e":4,"ī":4,"a":4}],"ļ":[{"ē":4,"i":4,"u":4}]}],"v":[{"ā":3,"o":3,"ī":3,"a":3,"u":3,"ē":3,"i":3,"e":3,"ū":3,"r":[{"u":4,"o":4}],"k":[{"o":4}],"d":[{"a":4}],"n":[{"i":4}],"t":[{"ī":4}],"c":[{"i":4}],"ļ":[{"a":4,"u":4}],"m":[{"a":4}],"l":[{"a":4}],"v":[{"a":4,"e":4}],"s":[{"t":[{"a":4}]}],"g":[{"r":[{"ī":4}]}]}]}],"i":[{"e":1,"u":1,"t":[{"a":3,"i":3,"ē":3,"e":3,"ī":3,"ū":3,"u":3,"ā":3,"o":3,"d":[{"e":4,"a":4,"i":4}],"m":[{"a":4,"o":4,"i":4,"ē":4,"ā":4}],"t":[{"a":4,"ū":4,"i":4}],"ļ":[{"u":4,"a":4,"o":4,"i":4}],"g":[{"a":4}],"n":[{"i":4,"ī":4,"e":4,"a":4,"o":4}],"b":[{"i":4,"r":[{"i":4}]}],"l":[{"e":4,"ī":4,"i":4}],"p":[{"ā":4,"i":4,"ē":4,"u":4}],"k":[{"o":4,"ā":4,"a":4}],"r":[{"u":4,"a":4,"ē":4,"ā":4,"o":4,"i":4,"ī":4,"e":4}],"s":[{"e":4,"k":[{"o":4}]}],"v":[{"a":4,"e":4,"i":4}],"c":[{"ī":4}],"č":[{"e":4}]}],"r":[{"ē":3,"u":3,"ā":3,"i":3,"o":3,"a":3,"ī":3,"e":3,"m":[{"u":4,"ī":4,"o":4,"a":4,"ē":4,"i":4,"ā":4,"e":4,"b":[{"ā":4}],"m":[{"e":4,"ā":4}],"d":[{"ī":4,"i":4,"z":[{"i":5}]}],"r":[{"e":4,"i":4}],"p":[{"a":4,"i":4}],"k":[{"ā":4,"l":[{"a":5}]}],"s":[{"ā":4,"o":4,"k":[{"a":5}],"l":[{"e":5}]}],"t":[{"e":4,"i":4,"ē":4}],"c":[{"ē":4}],"v":[{"e":4,"a":4}],"g":[{"a":4}],"z":[{"i":4}],"n":[{"o":4}],"š":[{"ķ":[{"i":5}]}]}],"c":[{"a":4,"e":4,"i":4,"ē":4}],"n":[{"a":4,"ē":4,"ī":4,"e":4,"ā":4,"i":4,"u":4}],"z":[{"o":4,"e":4,"i":4,"a":4,"ī":4,"ā":4,"u":4,"g":[{"a":4}],"m":[{"a":4}],"t":[{"a":4}]}],"k":[{"u":4,"ī":4,"a":4,"o":4,"i":4,"ū":4,"ā":4,"t":[{"a":4,"i":4,"ā":4,"o":4,"u":4}],"ļ":[{"o":4,"a":4,"u":4},25],"š":[{"o":4,"a":4,"u":4,"ķ":[{"i":5}]}],"l":[{"ī":4,"i":4},25],"n":[{"ē":4,"i":4}],"ņ":[{"i":4,"o":4}],"s":[{"i":4,"n":[{"i":5}],"t":[{"i":5,"ī":5,"ē":5,"o":5,"a":5,"u":5,"e":5}]}]}],"š":[{"ā":4,"i":4,"ī":4,"a":4,"u":4,"o":4,"k":[{"r":[{"ā":5}]}]}],"d":[{"u":4,"e":4,"i":4,"ī":4,"ā":4,"o":4,"ē":4,"a":4,"z":[{"a":4,"o":4,"u":4,"ē":4,"ī":4,"i":4,"n":[{"i":5}]}],"n":[{"e":4}],"s":[{"a":4,"p":[{"u":5}],"m":[{"i":5,"ī":5}],"k":[{"a":5}],"l":[{"i":5,"ē":5}],"d":[{"e":5,"ā":5}]}]}],"l":[{"o":4,"a":4,"ī":4}],"g":[{"ū":4,"u":4,"i":4,"o":4,"ā":4,"ē":4,"ī":4,"a":4,"t":[{"i":4,"o":4,"a":4,"u":4,"ā":4}],"s":[{"i":4,"t":[{"o":5,"u":5,"i":5,"a":5}],"p":[{"ē":5}]}],"k":[{"a":4,"o":4}],"š":[{"a":4,"o":4,"u":4}],"z":[{"d":[{"a":5,"e":5,"ā":5}]}]}],"s":[{"u":4,"ā":4,"ī":4,"ū":4,"a":4,"i":4,"ē":4,"o":4,"e":4,"n":[{"o":4,"i":4,"ī":4}],"m":[{"o":4,"a":4}],"t":[{"ī":4,"i":4,"ā":4,"e":4,"u":4,"a":4,"o":4}],"d":[{"i":4,"r":[{"ē":5}]}],"r":[{"a":4}],"l":[{"i":4,"ē":4,"ī":4}],"p":[{"u":4,"a":4,"e":4,"l":[{"ā":5}]}],"s":[{"e":4,"t":[{"u":5}],"v":[{"ā":5}]}],"k":[{"a":4,"i":4,"r":[{"e":5}]}],"v":[{"a":4}]}],"t":[{"e":4,"a":4,"u":4,"i":4,"ē":4,"ā":4,"o":4,"ī":4,"n":[{"i":4,"e":4}],"s":[{"k":[{"u":5}]}]}],"ž":[{"a":4,"o":4,"u":4,"i":4}],"r":[{"e":4}],"ņ":[{"u":4}],"p":[{"ē":4,"u":4,"ā":4,"i":4,"o":4,"a":4,"t":[{"i":4,"a":4,"u":4,"o":4,"ā":4}],"š":[{"u":4,"o":4,"a":4}],"j":[{"i":4}],"s":[{"i":4,"t":[{"i":5,"a":5,"u":5,"o":5}]}]}],"b":[{"ē":4,"o":4,"ā":4,"i":4,"u":4,"a":4,"e":4,"j":[{"u":4}]}],"v":[{"i":4,"j":[{"a":4}]}],"ģ":[{"e":4}]}],"č":[{"o":3,"i":3,"u":3,"a":3}],"š":[{"o":3,"ī":3,"u":3,"a":3,"ā":3,"i":3,"e":3,"ē":3,"ķ":[{"ā":4,"ī":4,"ē":4,"a":4,"i":4,"o":4,"u":4}],"ļ":[{"o":4,"a":4}],"r":[{"e":4}],"s":[{"a":4}],"z":[{"i":4}],"m":[{"a":4}],"k":[{"o":4}],"l":[{"a":4}],"j":[{"ā":4}],"b":[{"r":[{"ū":4}]}]}],"k":[{"e":3,"i":3,"ū":3,"ī":3,"o":3,"ā":3,"a":3,"u":3,"ē":3,"r":[{"o":4,"a":4,"i":4,"e":4,"ī":4}],"t":[{"o":4,"a":4,"e":4,"ē":4,"ī":4,"ā":4,"i":4,"u":4,"n":[{"i":4}],"s":[{"t":[{"ē":5}],"p":[{"ē":5}]}]}],"s":[{"e":4,"ī":4,"ā":4,"a":4,"ē":4,"i":4,"m":[{"ē":4,"e":4,"ī":4,"a":4,"i":4}],"n":[{"u":4,"ā":4,"a":4,"ī":4,"i":4,"o":4}],"t":[{"ē":4,"i":4,"u":4,"ī":4,"a":4,"ū":4,"e":4,"o":4,"ā":4}],"p":[{"ā":4}]}],"n":[{"a":4,"o":4,"ā":4,"u":4,"e":4,"i":4}],"v":[{"i":4,"ī":4,"ā":4,"e":4,"a":4}],"g":[{"a":4}],"š":[{"u":4,"o":4,"a":4,"i":4,"ā":4,"ķ":[{"a":4,"i":4,"o":4,"u":4,"ē":4}]}],"c":[{"i":4,"e":4,"a":4}],"l":[{"u":4,"i":4,"o":4,"ā":4,"e":4,"ī":4,"a":4,"p":[{"a":4}],"v":[{"e":4}],"ķ":[{"e":4}]}],"m":[{"ē":4,"e":4}],"p":[{"o":4,"a":4}],"k":[{"o":4,"a":4}],"ļ":[{"a":4}],"d":[{"i":4,"a":4}]}],"z":[{"o":3,"i":3,"ī":3,"ā":3,"e":3,"ē":3,"u":3,"ū":3,"a":3,"h":[{"i":4,"u":4,"e":4,"o":4,"a":4,"l":[{"o":4}],"r":[{"o":4}]}],"c":[{"ī":4,"a":4,"ē":4,"i":4,"e":4,"u":4}],"t":[{"e":4,"a":4,"ī":4,"ā":4,"u":4,"i":4,"ē":4,"ū":4,"r":[{"i":4,"e":4,"o":4,"a":4,"u":4,"ī":4,"ū":4,"ā":4}],"v":[{"ē":4,"e":4,"a":4}]}],"č":[{"o":4,"u":4,"ā":4,"a":4,"i":4,"ī":4,"ū":4}],"d":[{"ē":4,"o":4,"a":4,"ī":4,"u":4,"e":4,"ū":4,"i":4,"ā":4,"r":[{"u":4,"e":4,"i":4,"o":4,"ī":4,"a":4}],"z":[{"a":4,"ī":4,"i":4,"ē":4,"e":4}],"ž":[{"i":4}],"v":[{"a":4,"e":4}]}],"m":[{"o":4,"e":4,"i":4,"ē":4,"ī":4,"ā":4,"ū":4,"u":4,"a":4}],"z":[{"u":4,"o":4,"a":4,"i":4,"ī":4,"ā":4,"e":4,"v":[{"i":4,"a":4,"ē":4}]}],"f":[{"i":4,"o":4,"a":4,"r":[{"ē":4,"a":4,"ā":4,"i":4}],"l":[{"i":4}]}],"g":[{"ū":4,"ā":4,"a":4,"u":4,"o":4,"r":[{"a":4,"e":4,"o":4,"u":4,"ā":4,"i":4,"ū":4,"ē":4}],"l":[{"ū":4,"ī":4,"u":4,"a":4,"e":4,"ā":4}],"v":[{"e":4}]}],"ķ":[{"e":4,"ē":4,"ī":4,"i":4}],"r":[{"ū":4,"ī":4,"ā":4,"u":4,"ē":4,"e":4,"i":4,"a":4,"o":4}],"b":[{"ē":4,"u":4,"ā":4,"ū":4,"ī":4,"o":4,"e":4,"a":4,"i":4,"l":[{"o":4,"e":4,"ē":4,"ī":4,"i":4,"ā":4}],"r":[{"ē":4,"i":4,"ū":4,"e":4,"o":4,"ā":4,"ī":4,"a":4,"u":4}],"ļ":[{"ā":4,"a":4}]}],"n":[{"ē":4,"ā":4,"e":4,"u":4,"ī":4,"i":4,"a":4,"o":4}],"p":[{"ū":4,"e":4,"ā":4,"ē":4,"u":4,"o":4,"a":4,"ī":4,"i":4,"r":[{"ā":4,"e":4,"a":4,"o":4,"i":4}],"l":[{"a":4,"ī":4,"ē":4,"e":4,"ā":4,"i":4,"ū":4,"o":4,"u":4}],"ļ":[{"ē":4,"a":4,"ā":4}]}],"s":[{"i":4,"ā":4,"o":4,"ū":4,"u":4,"e":4,"a":4,"ē":4,"ī":4,"m":[{"ē":4,"ī":4,"e":4,"i":4,"a":4}],"p":[{"u":4,"a":4,"i":4,"ā":4,"e":4,"ī":4,"o":4,"ē":4,"r":[{"ū":5,"a":5,"o":5,"e":5,"ā":5,"i":5}],"ļ":[{"a":5}]}],"n":[{"i":4,"a":4}],"v":[{"ā":4,"i":4,"ē":4,"ī":4,"e":4,"a":4}],"k":[{"ā":4,"ū":4,"a":4,"o":4,"i":4,"u":4,"r":[{"a":5,"i":5,"ē":5,"ū":5}]}],"t":[{"ū":4,"o":4,"a":4,"ē":4,"i":4,"e":4,"u":4,"ā":4,"ī":4,"r":[{"ī":5,"u":5,"ā":5,"e":5,"i":5}]}],"l":[{"ā":4,"ī":4,"u":4,"a":4,"e":4,"ē":4,"o":4,"i":4}]}],"š":[{"u":4,"a":4,"ū":4,"ā":4,"ķ":[{"o":4,"ē":4,"a":4,"e":4,"ū":4,"ī":4,"i":4}],"t":[{"a":4}],"m":[{"ī":4,"a":4}],"ļ":[{"u":4,"i":4,"a":4,"ā":4}],"p":[{"a":4}],"ņ":[{"u":4,"o":4,"a":4}],"v":[{"ī":4,"i":4}]}],"ž":[{"o":4,"ā":4,"i":4,"a":4,"u":4,"v":[{"a":4,"ī":4}],"ņ":[{"a":4}]}],"v":[{"i":4,"ē":4,"o":4,"e":4,"ā":4,"ī":4,"u":4,"a":4}],"l":[{"u":4,"e":4,"ū":4,"ī":4,"ē":4,"a":4,"i":4,"o":4,"ā":4}],"ņ":[{"u":4,"e":4,"ē":4,"i":4,"a":4}],"k":[{"o":4,"ū":4,"u":4,"ā":4,"i":4,"a":4,"n":[{"i":4,"ā":4,"a":4,"u":4}],"r":[{"i":4,"ē":4,"o":4,"a":4,"e":4,"u":4,"ī":4,"ā":4}],"v":[{"i":4,"e":4,"ē":4}],"l":[{"a":4,"e":4,"ā":4,"ī":4,"i":4,"u":4}],"ņ":[{"u":4,"ū":4}],"ļ":[{"a":4,"u":4,"ū":4}]}],"ģ":[{"i":4,"ī":4,"ē":4,"e":4}],"j":[{"ā":4,"ē":4,"a":4,"u":4,"o":4,"ū":4}],"ļ":[{"u":4}]}],"g":[{"i":3,"ū":3,"e":3,"u":3,"o":3,"a":3,"ā":3,"z":[{"a":4,"d":[{"a":4,"o":4}],"n":[{"ē":4,"ā":4,"e":4}]}],"l":[{"o":4,"i":4,"u":4,"a":4,"ā":4}],"m":[{"e":4,"a":4,"u":4,"ā":4}],"r":[{"ī":4,"o":4,"ē":4,"u":4,"a":4,"ā":4,"i":4}],"n":[{"o":4,"u":4,"i":4,"ī":4,"e":4,"ā":4,"ē":4,"a":4}],"t":[{"i":4,"o":4,"u":4,"ā":4,"ī":4,"a":4}],"š":[{"a":4,"u":4,"o":4}],"s":[{"i":4,"t":[{"a":4,"o":4,"u":4,"i":4}]}],"f":[{"r":[{"ī":4}]}],"ž":[{"ņ":[{"a":4,"o":4}]}]}],"f":[{"o":3,"i":3,"ū":3,"ē":3,"ā":3,"u":3,"a":3,"ī":3,"e":3,"r":[{"ē":4,"a":4,"ā":4}],"t":[{"e":4,"u":4,"o":4}],"l":[{"o":4}],"š":[{"t":[{"e":4}]}]}],"ķ":[{"i":3,"ē":3,"e":3,"ī":3,"a":3,"u":3,"o":3,"ā":3,"v":[{"e":4}],"s":[{"k":[{"ā":4}]}]}],"ž":[{"e":3,"i":3,"u":3,"ā":3,"o":3,"ē":3,"a":3,"m":[{"e":4,"a":4}],"ļ":[{"a":4,"u":4,"i":4}],"c":[{"i":4,"e":4}],"v":[{"ī":4}],"n":[{"i":4}],"r":[{"a":4}],"g":[{"a":4}],"k":[{"u":4,"n":[{"ā":4}]}],"s":[{"k":[{"ā":4}]}]}],"h":[{"a":3,"o":3,"ī":3,"i":3,"t":[{"i":4,"a":4}],"r":[{"e":4}],"n":[{"ī":4}],"s":[{"v":[{"ē":4}],"t":[{"ā":4}]}]}],"b":[{"e":3,"u":3,"ī":3,"i":3,"ū":3,"o":3,"ē":3,"ā":3,"a":3,"š":[{"o":4,"u":4,"a":4}],"r":[{"e":4,"ā":4,"i":4,"a":4,"ē":4,"ī":4}],"l":[{"i":4,"o":4,"a":4,"ā":4,"u":4,"ē":4}],"t":[{"a":4,"i":4,"ā":4,"o":4}],"k":[{"ā":4}],"s":[{"i":4,"t":[{"o":4,"ī":4,"a":4,"i":4,"ā":4,"u":4}],"n":[{"ī":4}]}]}],"n":[{"o":3,"ū":3,"ā":3,"a":3,"ī":3,"e":3,"u":3,"ē":3,"i":3,"d":[{"a":4,"e":4,"ī":4,"ā":4,"o":4,"u":4,"ē":4,"i":4,"z":[{"o":4,"e":4,"ē":4,"u":4,"i":4,"a":4}],"s":[{"ē":4,"t":[{"a":5}]}],"n":[{"i":4}],"r":[{"i":4,"v":[{"e":5}]}],"k":[{"o":4}]}],"t":[{"u":4,"e":4,"ē":4,"i":4,"o":4,"a":4,"ī":4,"ā":4,"ū":4,"r":[{"i":4,"a":4,"o":4}],"n":[{"ī":4,"i":4}]}],"f":[{"e":4,"a":4,"o":4,"u":4,"i":4,"r":[{"a":4}],"l":[{"ā":4}]}],"p":[{"ū":4}],"n":[{"a":4,"e":4}],"s":[{"i":4,"u":4,"e":4,"a":4,"s":[{"ū":4,"ē":4}],"t":[{"i":4,"a":4,"r":[{"u":5}]}],"d":[{"a":4,"e":4}],"k":[{"ā":4,"u":4}],"r":[{"i":4,"a":4}],"p":[{"i":4,"e":4}],"c":[{"i":4,"e":4}],"v":[{"a":4}],"g":[{"r":[{"ē":5,"u":5}]}]}],"k":[{"u":4,"a":4,"i":4,"ā":4,"o":4,"t":[{"ī":4,"ū":4}],"r":[{"u":4,"i":4}],"v":[{"i":4}],"l":[{"i":4}],"s":[{"a":4,"t":[{"ē":5,"u":5,"a":5,"i":5,"o":5}],"l":[{"i":5}]}],"š":[{"ķ":[{"i":5,"o":5,"ē":5,"a":5,"e":5,"u":5}]}]}],"c":[{"ē":4,"i":4,"e":4}],"h":[{"o":4,"a":4,"r":[{"o":4}]}],"g":[{"o":4,"i":4,"u":4,"a":4,"ā":4,"ī":4,"e":4,"r":[{"ā":4,"a":4,"ī":4,"o":4,"i":4,"u":4}],"t":[{"o":4,"i":4,"ā":4,"u":4,"ī":4,"a":4}],"v":[{"e":4,"i":4,"ī":4}],"š":[{"a":4}],"p":[{"o":4}],"s":[{"t":[{"o":5,"i":5,"a":5,"u":5}]}]}],"j":[{"i":4,"e":4,"o":4}],"š":[{"a":4,"i":4,"ķ":[{"i":4}]}],"v":[{"ā":4,"e":4,"a":4}],"č":[{"e":4,"a":4,"o":4}],"ž":[{"a":4,"e":4}]}],"v":[{"e":3,"ī":3,"ē":3,"u":3,"o":3,"ā":3,"i":3,"a":3,"ž":[{"u":4}],"d":[{"e":4,"a":4,"o":4}],"j":[{"ū":4,"i":4,"a":4,"u":4}],"p":[{"u":4,"a":4,"r":[{"o":4}],"l":[{"ā":4}]}],"c":[{"o":4,"ī":4}],"m":[{"a":4,"o":4}],"s":[{"i":4,"t":[{"ā":4,"o":4}],"k":[{"a":4}],"p":[{"ē":4}]}],"k":[{"a":4,"ā":4,"u":4,"o":4,"r":[{"ā":4}]}],"t":[{"ū":4,"i":4}],"n":[{"i":4}],"v":[{"a":4,"i":4,"ē":4}],"z":[{"i":4}],"r":[{"e":4,"i":4}],"b":[{"a":4}],"g":[{"a":4}],"l":[{"a":4}]}],"d":[{"ī":3,"ē":3,"u":3,"ū":3,"e":3,"a":3,"ā":3,"i":3,"o":3,"r":[{"ī":4,"u":4,"o":4,"ā":4,"a":4,"i":4}],"s":[{"ē":4,"p":[{"a":4}],"t":[{"a":4}],"l":[{"ā":4}],"m":[{"i":4}],"k":[{"r":[{"ē":5}]}]}],"k":[{"a":4,"o":4}],"ž":[{"ā":3,"a":3,"i":3}],"p":[{"ū":4,"u":4,"o":4,"l":[{"ē":4}]}],"n":[{"i":4,"ī":4,"e":4}],"z":[{"ī":3,"e":3,"u":3,"ē":3,"a":3,"o":3,"ā":3,"i":3}],"l":[{"a":4,"u":4}],"v":[{"ā":4}],"m":[{"a":4,"ē":4,"o":4}],"g":[{"u":4,"a":4}],"d":[{"a":4}]}],"p":[{"ā":3,"ē":3,"i":3,"u":3,"ī":3,"e":3,"o":3,"a":3,"s":[{"o":4,"ē":4,"i":4,"e":4,"n":[{"a":4}]}],"š":[{"o":4,"a":4}],"n":[{"i":4,"o":4,"u":4,"ī":4,"ā":4,"a":4}],"t":[{"ā":4,"i":4,"a":4,"u":4,"e":4,"o":4}],"r":[{"e":4,"o":4,"ī":4,"u":4,"ā":4,"a":4,"i":4}],"l":[{"i":4,"ī":4,"o":4}],"k":[{"a":4}],"c":[{"i":4}],"z":[{"ā":4}],"f":[{"r":[{"ū":4}]}]}],"ņ":[{"a":3,"o":3,"i":3,"ē":3,"ā":3,"u":3,"d":[{"i":4,"ē":4,"e":4}],"n":[{"e":4,"i":4}],"ķ":[{"e":4,"o":4,"i":4,"v":[{"e":4}]}],"c":[{"i":4}],"z":[{"i":4,"a":4,"v":[{"a":4}]}],"s":[{"i":4,"ē":4,"t":[{"i":4,"r":[{"ā":5}]}]}],"m":[{"a":4,"e":4}],"v":[{"e":4,"ī":4,"a":4}],"r":[{"o":4,"e":4,"u":4}],"t":[{"ū":4,"a":4,"i":4}],"ģ":[{"e":4,"i":4}],"š":[{"i":4}],"k":[{"a":4,"ā":4,"r":[{"ū":4,"ā":4,"e":4}]}],"p":[{"u":4,"a":4}],"ņ":[{"a":4}],"g":[{"a":4}]}],"l":[{"ī":3,"i":3,"ē":3,"ā":3,"ū":3,"o":3,"a":3,"u":3,"e":3,"k":[{"i":4,"o":4,"u":4,"a":4,"ā":4,"t":[{"i":[{"e":18},4],"o":4,"a":4,"ā":4,"u":4,"n":[{"i":5,"e":5,"ē":5}]}],"n":[{"i":4}],"š":[{"u":4,"o":4}],"r":[{"ū":4}],"s":[{"i":4,"t":[{"i":5,"u":5,"o":5,"ē":5,"a":5}],"n":[{"i":5}]}],"m":[{"e":4}]}],"p":[{"u":4,"o":4,"i":4,"a":4,"ā":4,"e":4,"ī":4,"š":[{"u":4,"o":4,"a":4}],"s":[{"i":4,"t":[{"u":5,"i":5,"o":5,"a":5}]}],"r":[{"a":4,"o":4}],"t":[{"o":4,"a":4,"u":4,"i":4,"ā":4}],"n":[{"e":4}],"j":[{"u":4,"o":4}]}],"c":[{"ē":4,"ī":4,"e":4,"i":4,"a":4}],"n":[{"u":4,"ā":4,"ē":4,"o":4,"ī":4,"i":4,"a":4,"s":[{"a":4,"k":[{"a":5}]}],"v":[{"ē":4,"a":4}],"t":[{"i":4}],"m":[{"i":4}],"g":[{"a":4}],"b":[{"ā":4,"r":[{"i":5}]}]}],"j":[{"a":4,"o":4}],"z":[{"u":4,"e":4,"a":4,"ī":4,"i":4,"k":[{"a":4}]}],"t":[{"ī":4,"u":4,"e":4,"ā":4,"i":4,"ē":4,"o":4,"a":4,"r":[{"ā":4,"ē":4,"a":4,"p":[{"a":5}]}],"n":[{"i":4}],"v":[{"ā":4}],"z":[{"e":4}],"s":[{"t":[{"ē":5}],"m":[{"ā":5}],"k":[{"o":5}]}]}],"m":[{"u":4,"a":4,"o":4,"ā":4,"e":4,"ē":4}],"d":[{"e":4,"o":4,"ī":4,"u":4,"ē":4,"a":4,"ā":4,"i":4,"n":[{"o":4,"ī":4,"i":4}],"v":[{"i":4,"a":4}],"b":[{"a":4}],"m":[{"a":4,"ē":4}],"d":[{"e":4,"a":4}],"l":[{"e":4}],"s":[{"a":4,"ē":4,"p":[{"a":5,"ē":5}]}],"ķ":[{"e":4}],"k":[{"o":4,"r":[{"ē":5}]}],"z":[{"i":4}],"r":[{"a":4}],"p":[{"l":[{"a":5}]}]}],"ž":[{"u":4,"a":4}],"v":[{"ī":4,"e":4,"ē":4,"i":4,"a":4}],"b":[{"o":4,"u":4,"i":4,"ā":4,"a":4,"ī":4,"s":[{"i":4,"t":[{"i":5,"o":5,"u":5,"a":5}]}],"š":[{"o":4,"a":4,"u":4}],"t":[{"a":4,"o":4,"ā":4,"u":4,"i":4}]}],"l":[{"ā":4,"e":4,"ē":4,"u":4,"a":4,"i":4}],"g":[{"ā":4,"i":4,"o":4,"a":4,"u":4,"t":[{"u":4,"i":4,"a":4,"o":4,"ā":4}],"š":[{"a":4,"o":4,"u":4}],"g":[{"a":4}],"s":[{"i":4,"t":[{"o":5,"a":5,"i":5,"u":5}],"p":[{"ē":5}]}],"l":[{"a":4}],"r":[{"u":4}]}],"s":[{"i":4,"o":4,"ē":4,"a":4,"t":[{"u":4,"a":4,"ā":4,"ī":4,"o":4,"i":4}],"p":[{"i":4}],"k":[{"u":4,"a":4,"ā":4}],"r":[{"u":4}],"b":[{"l":[{"ī":5}]}],"d":[{"r":[{"u":5}]}]}],"š":[{"a":4,"u":4,"ā":4,"o":4,"i":4,"k":[{"a":4}],"p":[{"a":4}],"m":[{"ā":4}]}],"h":[{"a":4,"e":4}],"r":[{"ū":4}],"f":[{"a":4}],"č":[{"a":4}]}],"c":[{"ē":3,"o":3,"e":3,"ī":3,"a":3,"u":3,"ā":3,"i":3,"s":[{"a":4}]}],"m":[{"ā":3,"o":3,"i":3,"e":3,"ū":3,"ī":3,"ē":3,"a":3,"u":3,"n":[{"ī":4,"a":4,"i":4,"ā":4}],"p":[{"o":4,"u":4,"ē":4,"ā":4,"e":4,"a":4,"i":4,"r":[{"o":4,"e":4}],"l":[{"i":4}],"t":[{"o":4}]}],"t":[{"ī":4,"e":4,"i":4,"o":4,"ā":4,"a":4,"u":4,"g":[{"a":4}],"n":[{"i":4}],"m":[{"u":4}],"c":[{"i":4}],"r":[{"e":4}],"k":[{"ā":4,"u":4}],"s":[{"a":4}],"t":[{"ū":4}],"d":[{"a":4}],"p":[{"r":[{"o":5}]}]}],"s":[{"i":4,"ē":4,"a":4,"t":[{"ī":4,"o":4,"i":4,"u":4,"ā":4,"a":4}],"l":[{"i":4}]}],"b":[{"i":4,"o":4,"a":4,"r":[{"a":4,"ī":4}]}],"d":[{"i":4,"e":4,"a":4,"o":4,"ā":4,"u":4,"ē":4}],"š":[{"o":4,"a":4,"u":4,"t":[{"e":4}],"ļ":[{"a":4}]}],"j":[{"u":4}],"f":[{"a":4,"o":4,"ā":4,"v":[{"a":4}]}]}],"s":[{"i":3,"ē":3,"ā":3,"o":3,"ū":3,"ī":3,"e":3,"u":3,"a":3,"s":[{"ī":4,"o":4,"a":4,"m":[{"i":4}],"t":[{"ū":4}],"l":[{"i":4}],"p":[{"ē":4,"r":[{"i":5}]}],"v":[{"ē":4}]}],"m":[{"u":4,"ē":4,"ī":4,"e":4,"i":4,"a":4,"ā":4,"o":4,"j":[{"u":4}],"m":[{"ī":4}]}],"p":[{"u":4,"o":4,"ē":4,"i":4,"a":4,"ā":4,"e":4,"r":[{"u":4,"ā":4,"i":4,"o":4}]}],"k":[{"a":4,"ē":4,"o":4,"ā":4,"u":4,"i":4,"v":[{"ī":4,"a":4}],"r":[{"i":4,"e":4,"ē":4}]}],"n":[{"u":4,"o":4,"e":4,"a":4,"ā":4,"i":4,"ī":4,"l":[{"e":4}],"g":[{"r":[{"i":5}]}],"s":[{"t":[{"ū":5}]}],"p":[{"r":[{"ā":5}]}]}],"t":[{"u":4,"ā":4,"i":4,"ē":4,"e":4,"o":4,"ī":4,"a":4,"r":[{"e":4,"o":4,"ē":4,"i":4,"ā":4,"u":4,"a":4}],"v":[{"i":4}],"z":[{"o":4}],"k":[{"a":4,"o":4}],"h":[{"r":[{"e":5}]}]}],"l":[{"ā":4,"a":4,"ī":4,"u":4,"o":4,"e":4,"i":4,"ē":4}],"h":[{"a":4,"u":4}],"ķ":[{"e":4,"ē":4,"i":4}],"z":[{"i":4,"a":4}],"ž":[{"ē":4}],"c":[{"ī":4,"a":4,"ē":4,"i":4,"e":4}],"d":[{"a":4,"i":4,"ā":4,"e":4,"z":[{"i":4}],"r":[{"a":4}]}],"v":[{"e":4,"i":4,"a":4}],"b":[{"i":4,"e":4,"a":4,"r":[{"i":4}]}],"j":[{"u":4,"a":4,"ē":4}],"f":[{"u":4,"ē":4}],"š":[{"a":4}],"g":[{"a":4,"l":[{"ī":4}],"r":[{"ū":4,"i":4}]}]}],"ļ":[{"i":3,"e":3,"u":3,"a":3,"o":3,"ā":3,"d":[{"o":4,"ā":4,"a":4}],"ņ":[{"a":4,"u":4,"i":4,"o":4,"v":[{"e":4}],"l":[{"a":4}]}],"ķ":[{"i":4,"u":4,"e":4}],"l":[{"a":4,"i":4,"e":4}],"j":[{"ū":4}],"p":[{"i":4,"r":[{"o":4}]}],"r":[{"u":4,"a":4}],"ļ":[{"a":4}],"b":[{"u":4}],"k":[{"r":[{"ā":4}]}],"s":[{"l":[{"i":4}],"k":[{"a":4}]}]}],"ģ":[{"e":3,"i":3,"ē":3}],"j":[{"ī":3,"a":3,"o":3,"ē":3,"u":3,"e":3,"ā":3,"i":3,"k":[{"u":4,"ā":4,"o":4,"a":4,"r":[{"ē":4}]}],"p":[{"a":4,"u":4}],"ž":[{"u":4}],"n":[{"i":4}],"v":[{"e":4,"a":4}],"r":[{"o":4}],"c":[{"i":4}],"m":[{"e":4}],"t":[{"i":4}],"j":[{"ū":4}],"d":[{"e":4,"r":[{"o":4}]}],"s":[{"k":[{"ā":4}],"p":[{"e":4}],"t":[{"ū":4}]}]}]}],"e":[{"i":1,"u":1,"č":[{"ū":3,"i":3,"ī":3,"u":3,"e":3,"o":3,"a":3,"ā":3,"t":[{"u":4}],"z":[{"i":4}]}],"l":[{"a":3,"u":3,"o":3,"ū":3,"ā":3,"ī":3,"i":3,"ē":3,"e":3,"z":[{"o":4,"u":4,"ā":4,"a":4,"e":4,"i":4,"ī":4,"t":[{"a":4,"o":4,"i":4,"u":4,"ā":4}],"c":[{"e":4}],"s":[{"z":[{"ā":5}]}]}],"l":[{"e":4,"a":4,"ē":4,"i":4,"u":4,"ī":4,"o":4}],"k":[{"o":4,"u":4,"a":4,"m":[{"e":4}],"ņ":[{"a":4}],"n":[{"e":4}],"s":[{"n":[{"i":5}]}]}],"v":[{"ā":4,"a":4,"e":4,"i":4,"ē":4}],"p":[{"e":4,"o":4,"ā":4,"i":4,"a":4,"u":4,"š":[{"u":4,"o":4}],"t":[{"ā":4,"a":4,"i":4,"o":4,"u":4}],"s":[{"i":4}],"v":[{"a":4}],"j":[{"o":4}]}],"t":[{"o":4,"ī":4,"a":4,"ē":4,"u":4,"i":4,"ā":4,"e":4,"r":[{"a":4}],"n":[{"i":4,"e":4}],"k":[{"a":4}],"g":[{"a":4}],"l":[{"i":4}],"t":[{"a":4}],"s":[{"p":[{"ē":5}]}]}],"d":[{"i":4,"e":4,"o":4,"u":4,"a":4,"ē":4,"z":[{"e":4,"ī":4,"o":4,"i":4,"ē":4}],"m":[{"ē":4,"a":4}],"k":[{"o":4}],"b":[{"a":4}],"c":[{"e":4}],"r":[{"ē":4,"a":4,"e":4,"ā":4}],"v":[{"i":4}],"š":[{"e":4}],"s":[{"e":4,"p":[{"ē":5}]}],"f":[{"ē":4}],"j":[{"o":4}],"p":[{"ū":4,"a":4,"l":[{"ē":5}]}],"t":[{"ī":4}]}],"m":[{"i":4,"u":4,"ū":4,"ē":4,"a":4,"e":4,"ā":4,"ī":4,"o":4,"l":[{"a":4}]}],"n":[{"ā":4,"o":4,"i":4,"ī":4,"u":4,"ē":4,"a":4,"r":[{"u":4,"a":4}],"z":[{"e":4}],"s":[{"i":4,"a":4,"v":[{"ā":5}]}],"b":[{"ā":4,"a":4}],"k":[{"o":4}],"m":[{"a":4}],"g":[{"a":4}],"p":[{"l":[{"a":5}]}]}],"b":[{"a":4,"u":4,"r":[{"i":4}]}],"s":[{"i":4,"a":4,"u":4,"ī":4,"o":4,"v":[{"i":4}],"k":[{"u":4}],"t":[{"u":4,"i":4,"o":4,"r":[{"a":5}]}],"m":[{"e":4}]}],"r":[{"ū":4}],"š":[{"u":4,"o":4,"a":4}],"g":[{"a":4,"t":[{"i":4,"o":4,"ā":4,"a":4,"u":4}],"š":[{"u":4,"o":4,"a":4}],"s":[{"i":4}],"r":[{"a":4,"u":4}]}],"c":[{"i":4,"e":4,"ē":4}],"ž":[{"a":4,"u":4,"o":4}],"f":[{"i":4,"ī":4}],"ņ":[{"a":4}],"j":[{"e":4,"ē":4}],"h":[{"i":4}]}],"h":[{"ā":3,"o":3,"ī":3,"i":3,"a":3,"u":3,"e":3,"n":[{"i":4,"o":4}],"l":[{"o":4}],"r":[{"o":4}]}],"b":[{"ū":3,"o":3,"ē":3,"i":3,"ī":3,"u":3,"ā":3,"e":3,"a":3,"l":[{"ā":4,"o":4,"ē":4,"ī":4,"a":4,"e":4,"i":4}],"t":[{"o":4,"u":4,"i":4,"a":4,"ā":4}],"r":[{"ā":4,"ū":4,"ī":4,"u":4,"ē":4,"o":4,"e":4,"a":4,"i":4}],"š":[{"a":4,"o":4,"u":4}],"ļ":[{"a":4,"ā":4}],"k":[{"ā":4,"a":4,"u":4}],"n":[{"e":4}],"s":[{"i":4}],"j":[{"o":4,"u":4}]}],"š":[{"e":3,"ā":3,"ē":3,"ū":3,"i":3,"o":3,"a":3,"ī":3,"u":3,"p":[{"a":4,"e":4}],"v":[{"i":4,"a":4,"ī":4,"ā":4}],"ņ":[{"u":4,"o":4,"a":4}],"d":[{"a":4,"i":4,"e":4}],"t":[{"a":4,"ū":4}],"ķ":[{"ū":4,"ē":4,"ī":4,"a":4,"o":4,"i":4,"e":4}],"ļ":[{"a":4,"ā":4,"i":4,"u":4}],"r":[{"e":4,"a":4}],"m":[{"a":4,"ī":4,"e":4}],"g":[{"a":4}],"k":[{"ā":4}],"s":[{"i":4,"t":[{"ū":4}]}],"n":[{"i":4}],"b":[{"ļ":[{"o":4}]}]}],"g":[{"ā":3,"ī":3,"a":3,"i":3,"ū":3,"e":3,"u":3,"o":3,"r":[{"ū":4,"u":4,"o":4,"e":4,"ā":4,"i":4,"ē":4,"a":4}],"t":[{"a":4,"ā":4,"o":4,"u":4,"ī":4,"i":4,"s":[{"p":[{"ē":5}]}]}],"š":[{"o":4,"u":4,"a":4}],"d":[{"a":4}],"l":[{"o":4,"u":4,"a":4,"ī":4,"ū":4,"e":4,"ā":4,"i":4,"p":[{"r":[{"ā":5}]}]}],"v":[{"ī":4,"i":4,"e":4}],"p":[{"u":4}],"m":[{"a":4,"ā":4,"e":4}],"n":[{"ē":4,"e":4}],"b":[{"i":4,"a":4,"u":4}],"z":[{"ī":4}],"k":[{"u":4}],"s":[{"i":4,"p":[{"a":4}],"m":[{"e":4,"i":4}],"l":[{"ā":4}]}],"ļ":[{"u":4}],"g":[{"ā":4}]}],"d":[{"i":3,"ē":3,"o":3,"ā":3,"ī":3,"a":3,"ū":3,"u":3,"e":3,"v":[{"i":4,"e":4,"a":4}],"z":[{"i":3,"ē":3,"ā":3,"a":3,"u":3,"ī":3,"e":3,"o":3,"n":[{"i":5}]}],"l":[{"o":4,"a":4,"i":4}],"p":[{"o":4,"u":4}],"s":[{"ē":4,"p":[{"i":4}],"v":[{"i":4}]}],"m":[{"a":4,"ā":4,"u":4}],"ž":[{"a":3,"ā":3,"u":3,"o":3,"i":3,"e":3,"l":[{"i":5}]}],"r":[{"i":4,"ā":4,"ū":4,"a":4,"u":4,"o":4,"ī":4,"e":4,"ē":4,"v":[{"i":4}]}],"f":[{"o":4}],"k":[{"o":4,"a":4,"ļ":[{"ū":4}],"r":[{"ā":4}]}],"j":[{"ū":4}],"ņ":[{"e":4}],"d":[{"a":4}],"n":[{"i":4,"a":4}],"g":[{"r":[{"i":4}]}]}],"t":[{"ē":3,"i":3,"ā":3,"ū":3,"a":3,"o":3,"ī":3,"u":3,"e":3,"v":[{"ī":4,"e":4,"i":4,"a":4,"ā":4,"ē":4}],"n":[{"ā":4,"i":4,"e":4,"o":4,"ī":4,"ē":4,"u":4,"a":4}],"m":[{"a":4,"e":4}],"k":[{"a":4,"o":4,"r":[{"e":4}]}],"t":[{"a":4}],"p":[{"i":4,"a":4,"r":[{"a":4}],"l":[{"ā":4}]}],"ņ":[{"u":4}],"s":[{"i":4,"a":4,"o":4,"t":[{"i":4,"a":4}],"k":[{"o":4}]}],"r":[{"ī":4,"i":4,"ū":4,"a":4,"ā":4,"o":4,"u":4,"e":4,"k":[{"a":4,"ā":4,"l":[{"a":5}]}],"d":[{"e":4}],"r":[{"o":4,"i":4,"e":4,"ā":4}],"p":[{"a":4}],"g":[{"a":4}],"v":[{"i":4}],"s":[{"i":4,"t":[{"ū":5}]}],"m":[{"o":4}],"t":[{"i":4,"ū":4}],"b":[{"a":4}],"j":[{"ū":4}]}],"d":[{"e":4}],"ķ":[{"ī":4}],"z":[{"e":4}],"b":[{"o":4}],"l":[{"a":4}]}],"r":[{"e":3,"i":3,"ū":3,"a":3,"o":3,"ī":3,"u":3,"ē":3,"ā":3,"d":[{"i":4,"e":4,"a":4,"z":[{"ī":4,"e":4,"i":4}],"l":[{"o":4}]}],"b":[{"a":4,"e":4,"ā":4,"i":4,"u":4,"o":4}],"g":[{"i":4,"a":4,"u":4,"o":4,"e":4,"t":[{"u":4}],"r":[{"a":4}]}],"m":[{"a":4,"ū":4,"ī":4,"i":4,"ē":4,"o":4,"ā":4,"e":4,"u":4}],"v":[{"ē":4,"ā":4,"ī":4,"i":4,"e":4,"o":4,"a":4,"u":4,"j":[{"e":4}]}],"r":[{"ī":4,"i":4,"u":4,"a":4,"o":4}],"t":[{"e":4,"a":4,"i":4,"ē":4,"ā":4,"ī":4,"o":4,"u":4,"r":[{"o":4,"ū":4,"a":4}],"c":[{"e":4}],"m":[{"e":4}],"n":[{"e":4}],"z":[{"ā":4}],"b":[{"r":[{"i":5}]}]}],"c":[{"ā":4,"e":4,"o":4,"i":4,"u":4,"s":[{"a":4,"k":[{"o":5}]}],"h":[{"e":4}],"b":[{"a":4}],"k":[{"o":4}],"l":[{"i":4}]}],"š":[{"u":4,"a":4,"o":4}],"k":[{"o":4,"a":4,"u":4,"e":4,"š":[{"ķ":[{"i":5}]}]}],"p":[{"e":4,"a":4,"o":4,"r":[{"e":4}],"l":[{"ē":4}]}],"n":[{"a":4,"ē":4,"i":4,"o":4,"ā":4,"e":4,"u":4,"ī":4,"h":[{"a":4}]}],"z":[{"ā":4,"e":4,"ē":4,"a":4,"ī":4,"i":4,"u":4,"o":4,"t":[{"o":4,"i":4,"ā":4,"u":4,"a":4}]}],"ņ":[{"a":4}],"f":[{"o":4,"e":4}],"s":[{"a":4,"i":4,"ī":4,"o":4,"ā":4,"u":4,"p":[{"ē":4,"e":4}],"t":[{"o":4,"i":4,"ī":4,"a":4,"u":4,"ā":4}],"m":[{"e":4,"a":4}]}],"j":[{"e":4}],"h":[{"a":4}],"l":[{"ī":4,"a":4,"ū":4,"o":4,"e":4}],"ģ":[{"i":4,"ē":4,"e":4}],"ž":[{"o":4,"a":4,"u":4}]}],"z":[{"u":3,"ē":3,"i":3,"ū":3,"ā":3,"a":3,"o":3,"e":3,"ī":3,"n":[{"ī":4,"i":4,"o":4,"a":4,"ā":4,"e":4,"u":4}],"m":[{"ē":4,"i":4,"a":4}],"ņ":[{"i":4}],"d":[{"a":4,"e":4,"i":4,"r":[{"ā":4}]}],"t":[{"u":4,"a":4,"i":4,"o":4,"ā":4,"n":[{"e":4}]}],"c":[{"e":4}],"b":[{"i":4,"ē":4,"e":4,"a":4}],"r":[{"a":4,"ē":4,"o":4}],"g":[{"o":4,"i":4,"ī":4,"a":4,"l":[{"a":4,"ā":4,"u":4,"o":4,"i":4,"v":[{"e":5}]}]}],"s":[{"a":4,"i":4,"e":4,"p":[{"ē":4}]}],"v":[{"e":4,"ē":4,"ā":4,"a":4,"i":4}],"p":[{"i":4,"u":4,"a":4,"r":[{"o":4,"ā":4}]}],"l":[{"o":4,"i":4}],"z":[{"o":4,"i":4}],"j":[{"ū":4,"ē":4}],"f":[{"o":4}],"k":[{"o":4,"a":4}]}],"n":[{"ī":3,"ē":3,"i":3,"e":3,"u":3,"ū":3,"a":3,"o":3,"ā":3,"k":[{"u":4,"o":4,"ā":4,"i":4,"s":[{"i":4}],"t":[{"o":4,"i":4,"a":4,"ā":4,"u":4}],"š":[{"o":4,"a":4,"u":4}],"r":[{"ā":4}],"l":[{"a":4}]}],"p":[{"a":4,"e":4,"ā":4,"o":4,"u":4,"r":[{"o":4,"ā":4}]}],"t":[{"o":4,"a":4,"ī":4,"ā":4,"ē":4,"e":4,"u":4,"i":4,"ū":4,"r":[{"a":4,"i":4,"ē":4,"o":4,"u":4,"ā":4,"t":[{"i":5}],"b":[{"ē":5}]}],"n":[{"i":4,"e":4}],"v":[{"i":4}],"g":[{"e":4}],"m":[{"ē":4}],"l":[{"m":[{"e":5}]}]}],"c":[{"e":4,"a":4,"ē":4,"ī":4,"i":4}],"n":[{"a":4,"ī":4,"i":4}],"š":[{"a":4,"o":4}],"j":[{"ū":4,"a":4,"o":4}],"h":[{"ī":4,"ā":4}],"z":[{"ā":4,"ū":4,"ē":4,"u":4,"o":4,"i":4,"a":4,"ī":4,"e":4,"d":[{"a":4}]}],"r":[{"e":4,"o":4,"i":4,"ī":4,"ā":4,"a":4}],"ģ":[{"e":4}],"m":[{"ē":4,"a":4,"u":4}],"d":[{"ē":4,"a":4,"ā":4,"u":4,"e":4,"i":4,"r":[{"o":4,"ā":4}],"ž":[{"o":4}]}],"v":[{"a":4,"ē":4,"ā":4,"e":4,"i":4}],"l":[{"a":4,"i":4,"e":4,"ī":4}],"s":[{"i":4,"ā":4,"a":4,"e":4,"o":4,"ī":4,"u":4,"ē":4,"n":[{"e":4}],"ž":[{"u":4}],"k":[{"ā":4,"a":4,"r":[{"ā":5,"ū":5,"i":5}]}],"z":[{"ī":4,"ā":4}],"p":[{"u":4,"o":4}],"l":[{"ī":4,"i":4}],"r":[{"o":4,"a":4}],"v":[{"e":4,"a":4,"ī":4,"i":4}],"c":[{"a":4}],"t":[{"i":4,"o":4,"r":[{"u":5}]}],"s":[{"t":[{"a":5}]}],"b":[{"l":[{"a":5,"u":5}]}],"d":[{"r":[{"o":5}],"z":[{"i":5}]}],"š":[{"ķ":[{"i":5}]}]}],"ž":[{"o":4}],"č":[{"u":4}],"g":[{"u":4,"e":4,"a":4,"ā":4,"r":[{"i":4,"u":4}]}],"b":[{"a":4}]}],"m":[{"ā":3,"a":3,"ī":3,"e":3,"u":3,"ū":3,"i":3,"o":3,"ē":3,"b":[{"a":4,"u":4,"e":4,"r":[{"ā":4,"i":4,"a":4}],"l":[{"ē":4}]}],"z":[{"e":4,"i":4,"ē":4,"o":4,"ā":4,"ī":4,"a":4,"u":4,"t":[{"u":4,"i":4,"o":4,"ā":4,"a":4}]}],"ž":[{"a":4,"ē":4,"o":4,"u":4}],"p":[{"u":4,"ā":4,"ī":4,"i":4,"o":4,"a":4,"e":4,"j":[{"o":4}],"l":[{"ā":4,"i":4}],"t":[{"a":4,"i":4,"o":4,"ā":4,"u":4}],"s":[{"i":4}],"š":[{"o":4,"u":4}]}],"t":[{"o":4,"a":4,"ā":4,"i":4,"u":4,"e":4}],"m":[{"a":4,"e":4,"ē":4,"v":[{"i":4}],"d":[{"z":[{"i":5}]}]}],"j":[{"a":4,"o":4,"u":4,"e":4}],"l":[{"i":4,"ī":4}],"n":[{"ī":4,"i":4}],"g":[{"a":4}],"d":[{"e":4,"ī":4,"i":4,"ē":4,"u":4,"v":[{"i":4}],"n":[{"i":4}]}],"v":[{"a":4}],"s":[{"i":4}],"k":[{"o":4}],"ļ":[{"a":4}],"š":[{"a":4,"u":4,"o":4}],"c":[{"i":4}]}],"j":[{"i":3,"ē":3,"ū":3,"e":3,"a":3,"u":3,"o":3,"ā":3,"d":[{"ē":4,"a":4}],"v":[{"e":4,"i":4,"a":4}],"g":[{"a":4}],"k":[{"a":4}],"n":[{"i":4,"ī":4}],"l":[{"a":4,"e":4}],"t":[{"e":4}],"b":[{"o":4,"u":4}],"m":[{"a":4}],"z":[{"a":4}],"p":[{"u":4}],"s":[{"e":4,"a":4}]}],"c":[{"e":3,"a":3,"i":3,"u":3,"ē":3,"o":3,"ā":3,"ū":3,"ī":3,"h":[{"e":4,"o":4}],"s":[{"i":4,"a":4,"k":[{"ā":4}],"t":[{"a":4,"ū":4}],"v":[{"i":4}],"l":[{"a":4}]}],"m":[{"ā":4,"e":4,"o":4}],"v":[{"e":4,"i":4,"ā":4}],"k":[{"a":4,"ā":4}],"l":[{"a":4}],"r":[{"e":4,"ī":4,"i":4}],"t":[{"i":4,"ū":4,"o":4,"ē":4}],"d":[{"e":4}],"g":[{"a":4}],"n":[{"i":4}],"p":[{"i":4,"a":4,"u":4}],"c":[{"ī":4}]}],"ķ":[{"o":3,"a":3,"ī":3,"ē":3,"i":3,"e":3,"t":[{"u":4}]}],"p":[{"ū":3,"o":3,"ā":3,"u":3,"i":3,"a":3,"ī":3,"e":3,"ē":3,"n":[{"u":4,"ā":4,"a":4,"o":4,"ī":4,"i":4}],"s":[{"i":4,"ē":4,"e":4,"ī":4,"a":4,"t":[{"i":4,"o":4,"a":4,"u":4,"ē":4}]}],"r":[{"a":4,"e":4,"o":4,"i":4,"ā":4}],"t":[{"a":4,"ī":4,"ū":4,"ē":4,"i":4,"o":4,"ā":4,"u":4,"e":4}],"l":[{"a":4,"ā":4,"ē":4,"ī":4,"i":4,"e":4,"o":4,"ū":4,"u":4}],"ļ":[{"a":4,"ē":4,"ā":4,"u":4}],"k":[{"a":4}],"c":[{"i":4}],"j":[{"o":4,"a":4,"u":4}],"p":[{"a":4}],"š":[{"a":4,"o":4,"u":4}],"d":[{"e":4}],"ž":[{"o":4}]}],"ļ":[{"ī":3,"e":3,"o":3,"ā":3,"a":3,"u":3,"i":3,"m":[{"ū":4,"a":4,"o":4,"ā":4}],"ķ":[{"ē":4,"i":4,"e":4,"ī":4}],"c":[{"e":4}],"z":[{"ī":4}],"ļ":[{"a":4,"o":4,"i":4}],"n":[{"i":4,"ī":4}],"p":[{"a":4,"o":4}],"ņ":[{"u":4,"ā":4,"i":4,"a":4}],"k":[{"o":4,"u":4,"r":[{"ū":4}]}],"l":[{"o":4}],"v":[{"e":4,"i":4}],"t":[{"ē":4,"e":4,"a":4,"r":[{"a":4}]}],"g":[{"a":4,"l":[{"e":4}]}],"d":[{"i":4,"e":4,"a":4,"ā":4,"r":[{"ā":4}]}],"b":[{"ū":4,"l":[{"ā":4}],"r":[{"i":4}]}],"r":[{"ī":4,"i":4}],"ģ":[{"i":4}],"j":[{"ū":4}],"s":[{"k":[{"a":4}]}]}],"s":[{"i":3,"o":3,"ī":3,"ā":3,"ū":3,"a":3,"u":3,"e":3,"ē":3,"k":[{"o":4,"u":4,"ū":4,"a":4,"ā":4,"i":4,"r":[{"ā":4,"a":4,"ū":4,"ē":4}]}],"m":[{"a":4,"i":4,"ē":4,"ī":4,"o":4,"u":4,"ā":4,"e":4}],"p":[{"u":4,"a":4,"o":4,"e":4,"ī":4,"i":4,"ē":4,"ā":4,"r":[{"ā":4,"e":4,"i":4,"o":4,"a":4,"ū":4}],"ļ":[{"a":4}]}],"v":[{"ā":4,"ī":4,"i":4,"ē":4,"e":4,"a":4}],"l":[{"u":4,"a":4,"o":4,"ē":4,"i":4,"ī":4,"ā":4,"e":4}],"t":[{"ī":4,"ā":4,"e":4,"a":4,"o":4,"ē":4,"u":4,"ū":4,"i":4,"r":[{"o":4,"ī":4,"a":4,"ē":4,"u":4,"e":4,"i":4,"ā":4}],"m":[{"a":4,"e":4}],"p":[{"a":4}],"d":[{"i":4}]}],"s":[{"a":4,"ū":4,"ē":4,"m":[{"ē":4}],"k":[{"r":[{"ā":5}]}]}],"b":[{"i":4,"r":[{"ā":4}]}],"n":[{"ī":4,"e":4,"u":4,"i":4,"a":4,"ā":4,"o":4,"v":[{"ē":4}]}],"r":[{"ē":4,"i":4}],"z":[{"i":4}],"g":[{"a":4,"r":[{"ā":4,"ī":4}]}],"d":[{"a":4}],"c":[{"ē":4}]}],"v":[{"ē":3,"u":3,"ī":3,"a":3,"e":3,"i":3,"ā":3,"o":3,"r":[{"ē":4,"i":4}],"n":[{"i":4,"a":4}],"z":[{"e":4}],"j":[{"u":4}],"k":[{"ā":4,"a":4}],"g":[{"a":4,"e":4}],"m":[{"ā":4,"a":4}],"b":[{"i":4}],"l":[{"ū":4}],"t":[{"i":4}],"s":[{"k":[{"i":4}]}]}],"f":[{"e":3,"u":3,"i":3,"ā":3,"ī":3,"a":3,"o":3,"r":[{"i":4,"ī":4,"a":4,"ā":4,"ē":4,"e":4,"o":4}],"k":[{"o":4}],"p":[{"a":4}],"l":[{"e":4,"i":4,"ā":4}]}],"ž":[{"i":3,"ū":3,"e":3,"ē":3,"a":3,"ā":3,"ī":3,"o":3,"u":3,"n":[{"ī":4,"i":4}],"p":[{"ā":4}],"z":[{"i":4,"ī":4}],"g":[{"a":4,"r":[{"a":4}]}],"ģ":[{"a":4,"ī":4,"i":4}],"s":[{"a":4,"t":[{"a":4,"r":[{"ā":5}]}],"k":[{"r":[{"ū":5}]}]}],"k":[{"u":4,"o":4}],"j":[{"o":4}],"l":[{"i":4,"ī":4}],"v":[{"ī":4,"ā":4,"a":4}],"c":[{"i":4}],"r":[{"ū":4,"o":4,"a":4}],"ņ":[{"a":4}],"m":[{"a":4}],"f":[{"r":[{"ē":4}]}]}],"k":[{"i":3,"ā":3,"o":3,"a":3,"u":3,"ē":3,"ū":3,"t":[{"i":4,"ē":4,"ī":4,"ā":4,"o":4,"a":4,"e":4,"ū":4,"u":4,"r":[{"ī":4,"o":4,"ā":4,"i":4}],"k":[{"ā":4}],"d":[{"a":4,"i":4}]}],"d":[{"o":4}],"p":[{"i":4}],"r":[{"a":4,"ū":4,"e":4,"o":4,"ī":4,"i":4,"ē":4,"u":4,"ā":4}],"ņ":[{"u":4,"a":4,"i":4}],"s":[{"i":4,"e":4,"ī":4,"u":4,"ā":4,"a":4,"ē":4,"o":4,"k":[{"u":4,"a":4,"l":[{"u":5}]}],"t":[{"a":4,"ē":4,"u":4,"i":4,"ā":4,"ī":4,"o":4,"e":4,"k":[{"o":5}],"r":[{"e":5,"ē":5,"ī":5,"o":5,"a":5}]}],"m":[{"ē":4,"e":4}],"č":[{"e":4}],"p":[{"e":4,"o":4,"a":4,"r":[{"e":5,"o":5}],"l":[{"o":5,"u":5}]}],"n":[{"e":4,"i":4}],"v":[{"e":4}],"c":[{"e":4}]}],"v":[{"a":4,"i":4,"ā":4,"o":4,"e":4,"ē":4}],"ļ":[{"ū":4,"ā":4,"o":4,"u":4,"a":4,"i":4,"v":[{"e":4}],"p":[{"a":4}],"s":[{"k":[{"ā":5}]}]}],"l":[{"i":4,"u":4,"ī":4,"o":4,"ā":4,"ē":4,"a":4,"e":4,"ū":4}],"m":[{"ē":4,"ī":4,"e":4}],"š":[{"i":4,"u":4,"a":4,"ē":4,"o":4,"ā":4,"p":[{"ē":4,"u":4}],"n":[{"e":4,"i":4,"o":4}],"g":[{"a":4,"ā":4}],"z":[{"o":4,"ī":4,"e":4}],"l":[{"i":4,"a":4}],"ķ":[{"ī":4,"o":4,"e":4,"u":4,"ē":4,"i":4,"a":4}],"t":[{"e":4}],"d":[{"a":4,"z":[{"i":5}]}],"v":[{"ē":4,"ā":4}],"m":[{"e":4}],"r":[{"o":4}],"s":[{"ē":4}],"k":[{"u":4,"a":4}],"ņ":[{"n":[{"ī":5}],"l":[{"a":5}]}]}],"n":[{"u":4,"a":4,"i":4,"ā":4,"ī":4,"e":4,"o":4}],"z":[{"ē":4}],"c":[{"i":4,"a":4}],"g":[{"a":4}]}],"ģ":[{"i":3,"o":3,"e":3,"ē":3}],"ņ":[{"ē":3,"a":3,"o":3,"u":3,"ā":3,"e":3,"i":3,"n":[{"o":4}],"ģ":[{"i":4,"e":4}],"k":[{"u":4,"o":4,"a":4,"r":[{"ū":4,"ā":4}]}],"l":[{"a":4}],"ķ":[{"ē":4,"ī":4,"a":4,"o":4,"u":4,"i":4,"m":[{"ē":4}]}],"m":[{"a":4,"e":4}],"c":[{"i":4,"a":4}],"r":[{"ā":4,"a":4}],"s":[{"ā":4,"k":[{"ā":4,"r":[{"ā":5}]}],"l":[{"a":4}]}],"z":[{"e":4}],"t":[{"u":4,"r":[{"a":4}]}],"b":[{"r":[{"a":4}]}],"p":[{"l":[{"e":4}]}]}]}],"u":[{"i":1,"n":[{"o":3,"u":3,"a":3,"ā":3,"e":3,"ī":3,"i":3,"ē":3,"v":[{"e":4,"ē":4,"a":4,"ā":4}],"č":[{"i":4}],"t":[{"ā":4,"i":4,"ē":4,"e":4,"a":4,"u":4,"n":[{"i":4}],"r":[{"a":4}],"s":[{"z":[{"i":5}],"n":[{"o":5}],"m":[{"a":5}],"g":[{"a":5}]}]}],"c":[{"i":4,"ē":4,"e":4}],"d":[{"e":4,"u":4,"i":4,"a":4,"ī":4,"ā":4,"ē":4,"z":[{"ā":4,"e":4,"i":4,"ē":4,"ī":4}],"r":[{"a":4,"ā":4,"o":4,"u":4,"i":4}],"ž":[{"a":4}]}],"k":[{"u":4,"o":4,"a":4,"ā":4,"t":[{"a":4,"o":4,"ī":4,"ā":4,"ū":4,"i":4,"u":4,"e":4,"s":[{"i":5}]}],"l":[{"a":4}],"n":[{"i":4}],"c":[{"i":4}],"š":[{"ķ":[{"i":5,"ē":5,"o":5,"a":5,"u":5}]}],"s":[{"t":[{"ē":5,"o":5,"i":5,"a":5,"u":5}]}]}],"z":[{"e":4,"ē":4}],"g":[{"a":4,"o":4,"i":4,"ā":4,"u":4}],"b":[{"ē":4,"a":4,"ū":4}],"l":[{"i":4,"a":4}],"m":[{"ā":4,"e":4,"ē":4}],"p":[{"i":4,"r":[{"ā":4}]}],"s":[{"u":4,"i":4,"a":4,"p":[{"u":4,"ū":4}],"s":[{"a":4}],"k":[{"a":4,"u":4}],"v":[{"i":4}],"l":[{"ī":4}],"b":[{"ī":4}],"n":[{"e":4}],"d":[{"r":[{"o":5}],"z":[{"ē":5}]}],"g":[{"r":[{"ē":5}]}]}],"r":[{"a":4,"o":4}],"j":[{"e":4}],"n":[{"e":4}],"f":[{"t":[{"e":4}]}]}],"t":[{"e":3,"o":3,"a":3,"ī":3,"i":3,"ū":3,"ē":3,"u":3,"ā":3,"r":[{"ē":4,"i":4,"ī":4,"ā":4,"o":4,"a":4,"u":4}],"ņ":[{"u":4}],"ķ":[{"e":4}],"s":[{"a":4,"k":[{"a":4,"ā":4,"o":4}],"v":[{"a":4}]}],"b":[{"o":4}],"m":[{"a":4}],"n":[{"ē":4,"a":4,"i":4,"e":4,"k":[{"o":4}]}]}],"z":[{"u":3,"e":3,"ē":3,"ī":3,"i":3,"ū":3,"o":3,"ā":3,"a":3,"g":[{"u":4,"ū":4,"a":4,"o":4,"ā":4,"l":[{"ā":4,"e":4,"u":4,"a":4,"ū":4}],"r":[{"u":4,"i":4,"o":4,"ē":4,"ā":4,"e":4,"a":4,"ū":4}],"v":[{"e":4}]}],"ļ":[{"o":4,"u":4}],"r":[{"u":4,"i":4,"a":4,"ī":4,"ē":4,"e":4,"o":4,"ā":4,"ū":4}],"n":[{"u":4,"i":4,"o":4,"ā":4,"a":4,"ī":4,"e":4,"ē":4}],"l":[{"i":4,"ū":4,"ā":4,"u":4,"e":4,"ī":4,"o":4,"ē":4,"a":4}],"š":[{"a":4,"u":4,"ā":4,"ū":4,"t":[{"a":4}],"ņ":[{"u":4,"o":4,"a":4}],"v":[{"i":4,"ī":4}],"ļ":[{"a":4,"u":4,"i":4}],"ķ":[{"o":4,"ū":4,"i":4,"a":4,"ē":4,"e":4,"ī":4}],"p":[{"a":4}],"m":[{"ī":4,"a":4}]}],"b":[{"e":4,"a":4,"ā":4,"ū":4,"ē":4,"ī":4,"u":4,"i":4,"o":4,"r":[{"ā":4,"ī":4,"i":4,"ē":4,"e":4,"a":4,"o":4,"u":4,"ū":4}],"l":[{"e":4,"i":4,"ī":4,"o":4,"ē":4,"ā":4}],"ļ":[{"ā":4,"a":4}]}],"s":[{"ī":4,"i":4,"ā":4,"ū":4,"a":4,"e":4,"ē":4,"u":4,"o":4,"m":[{"a":4,"ī":4,"e":4,"ē":4,"i":4}],"l":[{"i":4,"e":4,"ē":4,"ī":4,"ā":4,"a":4,"o":4,"u":4}],"t":[{"ī":4,"ū":4,"e":4,"i":4,"a":4,"u":4,"ā":4,"ē":4,"o":4,"r":[{"u":5,"e":5,"ā":5,"ī":5,"i":5}]}],"k":[{"a":4,"u":4,"ū":4,"ā":4,"i":4,"o":4,"r":[{"a":5,"ū":5,"ē":5}]}],"p":[{"ā":4,"o":4,"u":4,"e":4,"a":4,"ī":4,"i":4,"ē":4,"ļ":[{"a":5}],"r":[{"e":5,"ā":5,"o":5,"i":5,"a":5,"ū":5}]}],"v":[{"a":4,"ī":4,"ā":4,"i":4,"ē":4,"e":4}],"n":[{"a":4,"i":4}]}],"p":[{"ū":4,"ā":4,"ē":4,"i":4,"u":4,"e":4,"o":4,"a":4,"ī":4,"r":[{"e":4,"i":4,"o":4,"a":4,"ā":4}],"l":[{"ū":4,"i":4,"ī":4,"e":4,"ā":4,"a":4,"o":4,"ē":4,"u":4}],"ļ":[{"ē":4,"ā":4,"a":4}]}],"c":[{"e":4,"u":4,"ē":4,"i":4,"ī":4,"a":4}],"v":[{"a":4,"ī":4,"e":4,"ē":4,"u":4,"o":4,"ā":4,"i":4}],"ž":[{"o":4,"ā":4,"u":4,"a":4,"i":4,"ū":4,"ņ":[{"a":4}],"m":[{"i":4}],"v":[{"a":4,"ī":4}]}],"ģ":[{"ī":4,"i":4,"ē":4,"e":4}],"z":[{"ā":4,"u":4,"ū":4,"ī":4,"e":4,"a":4,"o":4,"i":4,"v":[{"i":4,"ē":4,"a":4}]}],"d":[{"i":4,"ē":4,"e":4,"a":4,"ū":4,"u":4,"ī":4,"o":4,"ā":4,"r":[{"i":4,"e":4,"u":4,"ī":4,"a":4,"o":4}],"z":[{"a":4,"e":4,"ī":4,"i":4,"ē":4}],"v":[{"a":4}],"ž":[{"i":4}]}],"č":[{"i":4,"u":4,"ī":4,"ā":4,"o":4,"a":4,"ū":4}],"m":[{"e":4,"ā":4,"ū":4,"u":4,"o":4,"a":4,"ē":4,"i":4,"ī":4}],"ņ":[{"a":4,"i":4,"e":4,"ē":4,"u":4}],"ķ":[{"ī":4,"i":4,"ē":4,"e":4}],"f":[{"o":4,"i":4,"a":4,"r":[{"a":4,"ē":4,"ā":4,"i":4}],"l":[{"i":4}]}],"t":[{"a":4,"ī":4,"u":4,"ā":4,"ū":4,"o":4,"ē":4,"e":4,"i":4,"r":[{"ī":4,"i":4,"ā":4,"u":4,"e":4,"ū":4,"a":4,"o":4}],"v":[{"ē":4,"e":4,"a":4}]}],"j":[{"ē":4,"ū":4,"u":4,"ā":4,"a":4,"o":4}],"h":[{"e":4,"u":4,"i":4,"o":4,"a":4,"l":[{"o":4}],"r":[{"o":4}]}],"k":[{"u":4,"ū":4,"a":4,"o":4,"ā":4,"i":4,"r":[{"u":4,"ē":4,"o":4,"ī":4,"a":4,"ā":4,"e":4,"i":4}],"l":[{"ā":4,"u":4,"a":4,"i":4,"ī":4,"e":4}],"ņ":[{"u":4}],"n":[{"a":4,"i":4,"ā":4,"u":4}],"ļ":[{"ū":4,"a":4}],"v":[{"i":4,"ē":4,"e":4}]}]}],"ņ":[{"ā":3,"i":3,"o":3,"a":3,"u":3,"ģ":[{"u":4,"a":4,"i":4,"ī":4}],"n":[{"e":4,"i":4}],"ķ":[{"a":4,"i":4}]}],"ģ":[{"i":3,"o":3,"ē":3,"e":3,"n":[{"i":4}]}],"g":[{"a":3,"o":3,"ā":3,"i":3,"ē":3,"e":3,"u":3,"ļ":[{"o":4,"u":4,"i":4,"ķ":[{"e":4}],"l":[{"a":4}],"k":[{"o":4}]}],"s":[{"i":4,"a":4,"t":[{"a":4,"ā":4,"ī":4,"o":4,"u":4,"i":4,"l":[{"ē":5}],"k":[{"a":5}],"r":[{"o":5,"a":5}],"v":[{"ē":5}],"s":[{"i":5}],"c":[{"e":5}]}],"n":[{"e":4,"ē":4,"i":4}],"m":[{"e":4}]}],"š":[{"ā":4,"a":4,"u":4,"ē":4,"i":4,"o":4,"d":[{"e":4,"a":4}],"p":[{"a":4,"ē":4,"u":4}],"n":[{"a":4}],"t":[{"e":4}],"g":[{"a":4}],"m":[{"a":4}],"ž":[{"o":4}],"ņ":[{"u":4}],"s":[{"t":[{"i":5,"ā":5}]}]}],"l":[{"e":4,"i":4,"ī":4}],"t":[{"i":4,"u":4,"ā":4,"o":4,"a":4}],"k":[{"o":4}],"m":[{"a":4}],"p":[{"r":[{"ā":4,"e":4}]}],"z":[{"n":[{"a":4}]}]}],"s":[{"ē":3,"ā":3,"o":3,"i":3,"ī":3,"e":3,"u":3,"a":3,"p":[{"ē":4,"a":4,"u":4,"o":4,"i":4,"ū":4,"l":[{"i":4}],"r":[{"o":4}]}],"m":[{"ū":4,"ē":4,"ā":4,"e":4,"a":4,"u":4,"i":4,"o":4,"ī":4}],"j":[{"ū":4,"o":4,"a":4,"ē":4}],"t":[{"ī":4,"i":4,"e":4,"a":4,"ā":4,"ē":4,"o":4,"u":4,"r":[{"ā":4,"u":4,"o":4,"e":4,"i":4,"a":4,"ē":4}],"p":[{"u":4}],"m":[{"ā":4,"e":4}],"d":[{"ē":4}],"t":[{"ē":4}],"n":[{"e":4}],"s":[{"ē":4,"p":[{"o":5}]}],"v":[{"e":4}],"k":[{"n":[{"ā":5}]}]}],"g":[{"a":4,"u":4,"r":[{"i":4,"a":4}],"l":[{"ā":4}]}],"c":[{"ū":4,"e":4,"i":4}],"l":[{"o":4,"e":4,"u":4,"ā":4,"i":4,"a":4,"ī":4}],"r":[{"a":4,"i":4,"u":4}],"d":[{"u":4,"i":4,"z":[{"ī":4}]}],"v":[{"i":4,"a":4,"ā":4,"e":4}],"b":[{"ā":4,"a":4,"r":[{"ā":4}]}],"n":[{"i":4,"a":4,"ē":4,"o":4,"e":4}],"k":[{"i":4,"e":4,"o":4,"a":4,"u":4,"r":[{"i":4,"e":4,"ē":4,"ū":4}]}],"s":[{"e":4,"o":4,"a":4,"m":[{"ē":4}],"k":[{"a":4,"ā":4,"o":4,"r":[{"i":5}]}],"l":[{"o":4}],"t":[{"u":4,"i":4}],"n":[{"a":4}]}],"z":[{"e":4,"ā":4,"v":[{"i":4}]}],"f":[{"i":4,"a":4}],"ķ":[{"i":4}],"č":[{"u":4}]}],"ķ":[{"e":3,"u":3,"a":3,"ī":3,"i":3,"ē":3,"k":[{"o":4}]}],"r":[{"ū":3,"i":3,"ē":3,"ī":3,"o":3,"a":3,"ā":3,"e":3,"u":3,"s":[{"o":4,"ī":4,"u":4,"ē":4,"a":4,"i":4,"l":[{"i":4}],"t":[{"i":4,"o":4,"e":4,"ī":4,"a":4,"u":4,"ā":4,"r":[{"ā":5}]}],"m":[{"e":4}],"k":[{"a":4,"r":[{"ū":5}]}],"p":[{"ī":4,"i":4}]}],"f":[{"a":4,"i":4}],"g":[{"u":4,"a":4,"o":4,"r":[{"a":4}],"š":[{"o":4,"u":4,"a":4}],"t":[{"i":4,"o":4,"u":4,"ā":4,"a":4}],"s":[{"i":4}]}],"k":[{"ā":4,"a":4,"u":4,"o":4,"s":[{"i":4,"t":[{"a":5,"i":5,"o":5,"u":5,"e":5,"ē":5}],"n":[{"i":5}]}],"š":[{"a":4,"o":4,"u":4,"ķ":[{"a":5,"i":5,"u":5,"o":5,"ē":5}]}],"n":[{"e":4,"ē":4,"i":4}],"r":[{"i":4}],"t":[{"o":4,"i":4,"ā":4,"a":4,"u":4}],"m":[{"ē":4}],"l":[{"i":4}],"ņ":[{"u":4}]}],"v":[{"ē":4,"i":4,"a":4,"ā":4,"e":4,"ī":4,"o":4,"u":4,"c":[{"i":4}],"m":[{"a":4}],"j":[{"u":4}]}],"p":[{"u":4,"ī":4,"e":4,"i":4,"ā":4,"a":4,"ū":4,"r":[{"e":4}],"m":[{"ā":4}],"n":[{"i":4}]}],"n":[{"a":4,"o":4,"ē":4,"i":4,"ī":4,"e":4,"u":4,"ā":4,"g":[{"a":4}]}],"š":[{"a":4,"u":4,"o":4}],"c":[{"u":4,"a":4,"ā":4,"ī":4,"i":4,"o":4}],"t":[{"i":4,"o":4,"ā":4,"ē":4,"e":4,"a":4,"u":4,"r":[{"a":4}],"n":[{"i":4,"ī":4}],"k":[{"ā":4}],"d":[{"i":4,"a":4}],"l":[{"i":4}]}],"z":[{"u":4,"ī":4,"e":4,"ā":4,"i":4,"a":4,"o":4,"m":[{"a":4,"i":4}],"v":[{"a":4}],"n":[{"i":4}]}],"r":[{"ā":4,"ū":4}],"l":[{"u":4,"e":4,"i":4,"ā":4,"a":4,"ī":4,"o":4,"m":[{"ē":4}]}],"ņ":[{"i":4}],"b":[{"i":4,"ē":4,"ī":4,"e":4,"o":4,"ā":4,"a":4,"u":4,"š":[{"u":4,"o":4,"a":4}],"t":[{"o":4,"a":4,"u":4,"i":4,"ā":4}],"s":[{"i":4,"t":[{"i":5,"u":5,"a":5,"o":5}]}],"r":[{"a":4}],"j":[{"o":4,"m":[{"a":5}]}]}],"m":[{"e":4,"a":4,"i":4,"ē":4,"j":[{"ā":4}]}],"d":[{"ē":4,"o":4,"u":4,"ā":4,"ī":4,"a":4,"i":4,"e":4,"z":[{"u":4,"a":4,"ē":4,"i":4,"e":4,"o":4}]}],"j":[{"e":4,"a":4}],"ķ":[{"ī":4,"u":4,"ē":4,"i":4}],"ģ":[{"i":4,"e":4}],"ž":[{"u":4}],"č":[{"ū":4}]}],"č":[{"i":3,"u":3,"o":3,"ē":3,"a":3,"k":[{"a":4}]}],"c":[{"u":3,"a":3,"o":3,"e":3,"i":3,"ā":3,"ī":3,"ē":3}],"k":[{"i":3,"u":3,"o":3,"a":3,"ā":3,"š":[{"o":4,"i":4,"a":4,"ā":4,"u":4,"ķ":[{"a":4,"e":4,"u":4,"i":4,"ī":4,"ē":4,"o":4}],"g":[{"a":4}],"p":[{"a":4}],"v":[{"ā":4}]}],"t":[{"u":4,"ī":4,"ē":4,"ū":4,"a":4,"ā":4,"e":4,"i":4,"o":4}],"n":[{"u":4,"a":4,"i":4,"ā":4,"o":4,"ī":4}],"s":[{"ē":4,"a":4,"u":4,"i":4,"e":4,"o":4,"k":[{"a":4}],"t":[{"ē":4,"i":4,"e":4,"o":4,"u":4,"a":4,"ī":4,"ā":4,"r":[{"ā":5}]}],"m":[{"i":4,"u":4,"a":4,"e":4}],"n":[{"e":4}]}],"l":[{"o":4,"ē":4,"i":4,"e":4,"ā":4,"a":4,"u":4,"v":[{"a":4}]}],"ļ":[{"u":4,"i":4}],"m":[{"a":4}],"d":[{"a":4}],"v":[{"i":4}],"ņ":[{"ī":4}],"r":[{"o":4,"a":4}],"č":[{"i":4}],"k":[{"o":4}],"c":[{"i":4}],"p":[{"l":[{"ē":4}]}]}],"m":[{"u":3,"ā":3,"a":3,"o":3,"i":3,"ī":3,"e":3,"ē":3,"c":[{"i":4}],"v":[{"i":4,"ā":4,"a":4}],"z":[{"ā":4,"ī":4,"e":4,"o":4,"i":4,"u":4,"a":4}],"d":[{"ī":4,"a":4,"u":4,"e":4,"i":4,"ā":4,"o":4,"z":[{"i":4,"ī":4}]}],"m":[{"ā":4,"u":4,"ē":4,"e":4,"a":4}],"p":[{"ā":4,"ē":4,"a":4,"o":4,"u":4,"i":4,"ī":4,"j":[{"a":4}],"r":[{"a":4,"o":4}]}],"l":[{"a":4}],"t":[{"i":4,"ā":4,"a":4,"o":4,"u":4,"ē":4,"e":4,"r":[{"a":4}],"n":[{"i":4}]}],"s":[{"ī":4,"ā":4,"u":4,"ū":4,"ē":4,"a":4,"i":4,"o":4,"p":[{"o":4,"ē":4}],"t":[{"a":4,"o":4,"u":4,"i":4}],"v":[{"e":4}],"k":[{"o":4}],"l":[{"a":4,"ē":4}]}],"b":[{"i":4,"ē":4,"e":4,"o":4,"u":4,"a":4,"r":[{"i":4,"u":4,"ā":4,"a":4}],"v":[{"e":4}]}],"j":[{"i":4,"a":4,"ī":4,"ā":4,"u":4,"o":4}],"š":[{"o":4,"i":4,"ā":4,"u":4,"a":4,"z":[{"i":4,"a":4}],"v":[{"i":4}],"m":[{"a":4}],"p":[{"e":4}],"s":[{"a":4}],"ķ":[{"i":4}],"b":[{"r":[{"ū":5}]}]}],"k":[{"o":4,"a":4,"r":[{"ū":4}]}],"n":[{"i":4,"o":4,"ī":4}],"g":[{"a":4}],"r":[{"a":4}]}],"ļ":[{"a":3,"ā":3,"ī":3,"u":3,"i":3,"o":3,"k":[{"u":4,"a":4,"r":[{"ē":4}]}],"m":[{"a":4,"u":4}],"p":[{"u":4,"a":4}],"t":[{"ī":4}],"ļ":[{"ā":4,"a":4}],"ķ":[{"ī":4,"i":4,"a":4,"e":4,"o":4}],"z":[{"i":4,"e":4}],"v":[{"a":4,"e":4,"ē":4,"i":4}],"ņ":[{"e":4,"ē":4}],"s":[{"o":4,"ū":4,"ē":4,"t":[{"i":4}],"k":[{"a":4}]}],"b":[{"ū":4,"a":4}],"d":[{"e":4,"z":[{"i":4}]}],"ģ":[{"i":4}],"ž":[{"o":4}],"n":[{"i":4}],"g":[{"l":[{"u":4}]}]}],"l":[{"u":3,"a":3,"e":3,"ā":3,"ī":3,"ē":3,"i":3,"o":3,"s":[{"ā":4,"a":4,"i":4,"u":4,"ī":4,"o":4,"n":[{"ē":4,"i":4,"ī":4}],"v":[{"a":4}],"t":[{"u":4,"ā":4,"i":4,"ī":4,"o":4,"a":4}],"l":[{"a":4}]}],"d":[{"e":4,"ā":4,"a":4,"ē":4,"i":4,"u":4,"o":4,"ī":4,"z":[{"o":4,"a":4,"i":4,"ē":4,"e":4,"u":4,"ī":4}]}],"g":[{"o":4,"i":4,"ā":4,"u":4,"a":4,"r":[{"i":4}],"t":[{"o":4,"u":4,"a":4,"ā":4,"i":4}],"š":[{"u":4,"o":4,"a":4}],"s":[{"i":4,"t":[{"o":5,"u":5,"i":5,"a":5}]}]}],"r":[{"i":4,"e":4}],"k":[{"a":4,"ā":4,"o":4,"u":4,"i":4,"v":[{"e":4}],"s":[{"t":[{"e":5}]}]}],"b":[{"o":4,"ā":4,"u":4,"i":4,"e":4,"ē":4,"a":4,"š":[{"a":4}],"s":[{"t":[{"o":5,"i":5,"u":5,"a":5}]}]}],"l":[{"e":4,"i":4,"ā":4,"ē":4,"ī":4,"a":4,"o":4,"u":4,"p":[{"u":4}],"c":[{"i":4}]}],"f":[{"ā":4,"ī":4}],"p":[{"e":4,"a":4,"u":4,"t":[{"o":4,"ū":4}]}],"j":[{"e":4,"o":4,"u":4}],"v":[{"e":4,"ā":4,"ē":4}],"c":[{"e":4,"i":4,"ē":4,"ī":4}],"t":[{"e":4,"i":4,"ā":4,"u":4,"o":4,"ū":4,"ē":4,"ī":4,"a":4,"n":[{"e":4,"i":4}],"s":[{"i":4,"p":[{"ū":5,"ē":5}],"v":[{"a":5}]}],"z":[{"o":4,"v":[{"a":5}]}],"r":[{"a":4}],"k":[{"v":[{"a":5}]}],"p":[{"l":[{"a":5}]}]}],"š":[{"u":4,"o":4,"ņ":[{"a":4,"i":4,"ā":4,"u":4}]}],"n":[{"i":4}],"m":[{"a":4,"i":4}],"z":[{"n":[{"a":4}]}]}],"v":[{"u":3,"e":3,"o":3,"ā":3,"a":3,"ē":3,"ī":3,"i":3,"s":[{"a":4}],"j":[{"u":4}],"v":[{"e":4}],"r":[{"e":4}],"c":[{"ī":4}],"m":[{"u":4}],"b":[{"r":[{"a":4}]}]}],"ž":[{"u":3,"i":3,"ī":3,"a":3,"o":3,"ā":3,"p":[{"u":4}]}],"š":[{"ā":3,"o":3,"u":3,"i":3,"e":3,"ē":3,"a":3,"ī":3,"ķ":[{"a":4,"o":4,"ē":4,"i":4,"u":4,"ī":4}],"k":[{"a":4,"i":4,"o":4,"u":4}],"p":[{"i":4,"a":4,"l":[{"ē":4}]}],"č":[{"o":4}],"ņ":[{"a":4}],"m":[{"i":4}]}],"j":[{"a":3,"u":3,"ā":3,"e":3,"i":3,"o":3,"m":[{"e":4,"a":4}],"b":[{"i":4}],"k":[{"o":4}],"l":[{"a":4}]}],"b":[{"ī":3,"i":3,"ē":3,"u":3,"a":3,"o":3,"e":3,"ā":3,"n":[{"a":4}],"s":[{"ī":4,"t":[{"a":4,"i":4,"r":[{"ā":5}]}]}],"l":[{"i":4,"e":4,"ē":4,"ā":4}],"r":[{"ā":4,"i":4}],"ļ":[{"u":4,"o":4,"a":4,"i":4}],"j":[{"e":4}],"v":[{"e":4}],"k":[{"r":[{"ē":4}]}]}],"p":[{"o":3,"a":3,"e":3,"u":3,"ā":3,"ī":3,"i":3,"ē":3,"j":[{"ī":4,"o":4,"ā":4,"u":4,"a":4,"i":4,"ē":4,"m":[{"a":4}],"g":[{"r":[{"a":5}]}]}],"r":[{"i":4,"ā":4,"a":4,"ī":4,"l":[{"a":4}]}],"l":[{"a":4,"e":4,"ā":4,"o":4,"u":4,"i":4}],"v":[{"e":4}],"m":[{"a":4,"ā":4}],"t":[{"u":4,"i":4,"ū":4,"o":4,"ā":4,"a":4}],"d":[{"a":4,"e":4}],"š":[{"a":4,"u":4,"o":4}],"c":[{"i":4}],"s":[{"i":4,"t":[{"o":4,"i":4,"ē":4,"ī":4,"u":4,"a":4}]}],"n":[{"i":4}]}],"f":[{"o":3,"a":3,"e":3,"i":3,"l":[{"i":4}],"r":[{"a":4}]}],"d":[{"ī":3,"i":3,"e":3,"ē":3,"u":3,"a":3,"o":3,"ā":3,"ž":[{"i":3,"ē":3,"e":3,"o":3,"u":3,"a":3}],"r":[{"ī":4,"ā":4,"i":4,"o":4,"a":4,"u":4,"s":[{"k":[{"ā":5}]}]}],"p":[{"u":4,"e":4}],"l":[{"ē":4,"i":4,"ī":4}],"k":[{"a":4,"o":4,"ā":4}],"z":[{"i":3,"ī":3,"ē":3,"ā":3,"e":3,"o":3,"a":3,"u":3,"b":[{"a":5}],"c":[{"ī":5}],"m":[{"a":5}],"s":[{"o":5,"i":5,"k":[{"a":5}],"t":[{"ū":5}]}],"d":[{"a":5,"i":5}],"k":[{"ā":5,"r":[{"ā":5}]}],"v":[{"ī":5,"i":5,"ā":5,"e":5,"ē":5}],"g":[{"a":5}],"r":[{"u":5,"e":5}],"p":[{"u":5,"l":[{"a":5}]}],"n":[{"o":5}],"š":[{"ķ":[{"a":5}]}]}],"m":[{"a":4,"u":4,"i":4}],"v":[{"i":4}],"c":[{"i":4}],"s":[{"a":4,"p":[{"i":4}]}],"b":[{"ā":4,"e":4}],"n":[{"i":4}]}],"h":[{"a":3,"t":[{"ā":4}]}]}],"o":[{"i":1,"u":1,"p":[{"ī":3,"ū":3,"u":3,"i":3,"ē":3,"ā":3,"e":3,"o":3,"a":3,"š":[{"a":4,"o":4}],"s":[{"o":4,"ē":4,"i":4,"u":4,"a":4,"k":[{"a":4}],"t":[{"a":4,"u":4}],"p":[{"ē":4}],"v":[{"a":4}]}],"r":[{"ā":4,"e":4,"a":4,"o":4,"i":4}],"k":[{"a":4,"o":4}],"b":[{"a":4,"u":4}],"m":[{"a":4,"ī":4,"ē":4}],"ļ":[{"ā":4,"ē":4,"a":4,"o":4}],"t":[{"a":4,"e":4,"o":4,"ā":4,"i":4,"u":4,"ē":4}],"v":[{"ē":4}],"l":[{"u":4,"e":4,"a":4,"ū":4,"o":4,"ā":4,"ē":4,"i":4,"ī":4}],"c":[{"i":4}],"j":[{"a":4,"u":4,"o":4}],"n":[{"e":4}],"g":[{"a":4}],"d":[{"a":4,"z":[{"ī":4}]}],"p":[{"l":[{"a":4}],"r":[{"o":4}]}]}],"m":[{"ī":3,"ā":3,"e":3,"i":3,"ē":3,"a":3,"u":3,"o":3,"ū":3,"n":[{"i":4,"a":4}],"b":[{"ī":4,"ē":4,"ū":4,"a":4,"o":4,"u":4,"i":4,"v":[{"e":4}]}],"p":[{"e":4,"ā":4,"i":4,"a":4,"o":4,"r":[{"e":4,"o":4}],"l":[{"e":4,"i":4}]}],"d":[{"a":4,"e":4,"z":[{"i":4}]}],"r":[{"a":4,"e":4}],"l":[{"e":4}],"j":[{"u":4,"a":4}],"f":[{"i":4,"o":4}],"s":[{"v":[{"a":4}],"k":[{"ā":4}],"t":[{"a":4}]}],"k":[{"r":[{"a":4}]}]}],"k":[{"ā":3,"u":3,"e":3,"ē":3,"a":3,"o":3,"ū":3,"i":3,"t":[{"ē":4,"e":4,"i":4,"ā":4,"a":4,"u":4,"o":4,"r":[{"i":4,"ī":4}]}],"r":[{"ē":4,"ī":4,"e":4,"i":4,"a":4,"ā":4,"ū":4,"o":4,"u":4}],"z":[{"ā":4,"v":[{"ē":4}]}],"b":[{"u":4,"e":4}],"ņ":[{"u":4}],"h":[{"o":4}],"s":[{"i":4,"e":4,"ā":4,"ī":4,"a":4,"o":4,"n":[{"ī":4,"e":4,"ē":4,"i":4}],"k":[{"o":4,"r":[{"ū":5}]}],"t":[{"e":4,"r":[{"o":5}]}]}],"l":[{"ī":4,"u":4,"e":4,"i":4,"ē":4,"ā":4,"a":4}],"n":[{"u":4,"a":4,"o":4,"i":4,"ā":4,"e":4}],"v":[{"i":4,"e":4,"a":4,"ē":4}],"ļ":[{"a":4,"u":4,"i":4,"o":4,"ū":4}],"p":[{"i":4,"e":4}],"m":[{"a":4,"ī":4,"ā":4}],"c":[{"e":4,"i":4}],"d":[{"a":4}],"g":[{"r":[{"i":4,"e":4}]}],"š":[{"ņ":[{"o":4,"a":4,"u":4}],"ķ":[{"i":4,"e":4}]}]}],"č":[{"i":3,"o":3,"ā":3,"a":3,"ī":3,"u":3,"ū":3}],"ļ":[{"ā":3,"u":3,"a":3,"o":3,"i":3,"e":3,"š":[{"e":4}],"k":[{"o":4}],"t":[{"i":4}],"v":[{"a":4}]}],"b":[{"i":3,"ē":3,"u":3,"ū":3,"o":3,"ī":3,"a":3,"ā":3,"e":3,"r":[{"ī":4,"ā":4,"ē":4,"u":4,"a":4,"o":4,"i":4,"ū":4,"e":4}],"t":[{"i":4,"ā":4,"o":4,"u":4,"a":4}],"l":[{"ē":4,"e":4,"ā":4,"o":4,"i":4,"ī":4,"a":4}],"j":[{"u":4,"ā":4,"e":4,"a":4,"o":4,"i":4}],"ļ":[{"a":4,"ā":4}],"g":[{"a":4}],"s":[{"e":4,"p":[{"i":4}],"k":[{"u":4}],"t":[{"r":[{"u":5}]}]}],"v":[{"e":4}],"š":[{"a":4,"o":4}]}],"s":[{"i":3,"ū":3,"ā":3,"ī":3,"o":3,"u":3,"a":3,"e":3,"ē":3,"v":[{"ī":4,"ā":4,"a":4,"i":4,"e":4,"ē":4}],"c":[{"i":4,"ē":4,"e":4}],"t":[{"u":4,"ū":4,"i":4,"e":4,"ā":4,"o":4,"ī":4,"a":4,"ē":4,"g":[{"a":4}],"r":[{"o":4,"ī":4,"e":4,"i":4,"ā":4,"u":4,"ē":4}],"n":[{"i":4}],"b":[{"i":4}],"m":[{"a":4}],"l":[{"a":4}]}],"m":[{"ē":4,"a":4,"i":4,"ā":4,"o":4,"e":4,"ī":4,"u":4,"v":[{"e":4}]}],"f":[{"ē":4,"o":4,"ā":4}],"n":[{"a":4,"i":4}],"p":[{"o":4,"ī":4,"u":4,"e":4,"a":4,"ā":4,"ē":4,"i":4,"r":[{"ū":4,"o":4,"i":4,"e":4,"ā":4,"a":4}],"ļ":[{"a":4}]}],"l":[{"a":4,"o":4,"ā":4,"ē":4,"e":4,"u":4,"i":4,"ī":4}],"k":[{"u":4,"ā":4,"ū":4,"o":4,"a":4,"ī":4,"i":4,"r":[{"ē":4,"ū":4,"a":4}],"v":[{"a":4}],"n":[{"i":4}],"l":[{"e":4}]}],"r":[{"i":4}]}],"r":[{"ē":3,"a":3,"u":3,"e":3,"i":3,"ā":3,"o":3,"ī":3,"ū":3,"b":[{"i":4,"ī":4,"ū":4,"ē":4,"e":4,"a":4,"u":4,"c":[{"i":4}]}],"k":[{"i":4,"u":4,"o":4,"a":4}],"t":[{"o":4,"u":4,"e":4,"a":4,"ī":4,"i":4,"ē":4,"ā":4,"ū":4,"l":[{"ī":4,"i":4,"a":4}],"r":[{"e":4}],"f":[{"e":4}],"m":[{"e":4}],"j":[{"e":4,"ē":4}],"v":[{"ī":4}],"k":[{"u":4}],"p":[{"r":[{"e":5}]}]}],"g":[{"a":4,"ā":4}],"ģ":[{"e":4,"i":4}],"h":[{"i":4}],"d":[{"a":4,"i":4,"o":4,"e":4,"d":[{"a":4}],"n":[{"i":4}],"z":[{"n":[{"i":5}]}]}],"v":[{"ē":4,"i":4,"e":4,"ā":4,"a":4}],"m":[{"ā":4,"ē":4,"u":4,"a":4,"i":4,"o":4,"ī":4,"e":4}],"n":[{"a":4,"o":4,"e":4,"ī":4,"i":4,"ē":4}],"p":[{"o":4,"i":4,"u":4,"a":4,"ē":4,"r":[{"o":4}]}],"ķ":[{"o":4,"i":4,"e":4,"a":4}],"f":[{"ī":4,"ē":4,"i":4,"o":4}],"c":[{"i":4,"e":4}],"l":[{"a":4,"o":4}],"ž":[{"e":4}],"č":[{"ē":4}],"s":[{"e":4,"ā":4,"ē":4,"k":[{"ā":4}]}],"z":[{"ā":4}],"ņ":[{"a":4}]}],"d":[{"ē":3,"u":3,"ī":3,"i":3,"ā":3,"e":3,"a":3,"o":3,"ū":3,"ž":[{"u":3,"i":3}],"k":[{"ā":4,"a":4,"o":4,"u":4}],"n":[{"i":4,"e":4}],"z":[{"ī":3,"e":3,"a":3,"ē":3,"i":3,"n":[{"i":5}]}],"l":[{"a":4,"e":4}],"b":[{"a":4,"i":4}],"d":[{"e":4}],"r":[{"a":4,"o":4,"u":4,"ā":4,"i":4,"e":4,"ī":4,"š":[{"u":4}],"p":[{"a":4}]}],"v":[{"e":4,"a":4}],"p":[{"i":4,"r":[{"a":4,"ā":4}]}],"j":[{"o":4}],"g":[{"r":[{"u":4}]}],"s":[{"l":[{"i":4}],"k":[{"o":4,"a":4}]}]}],"l":[{"ī":3,"ē":3,"o":3,"a":3,"ā":3,"e":3,"ū":3,"i":3,"u":3,"l":[{"e":4,"a":4,"o":4,"ī":4,"m":[{"ē":4}]}],"m":[{"u":4,"a":4,"e":4}],"f":[{"i":4,"e":4,"g":[{"a":4}],"r":[{"a":4}]}],"p":[{"o":4}],"n":[{"ī":4,"i":4}],"v":[{"i":4,"ē":4,"ī":4,"e":4,"ā":4,"a":4}],"š":[{"ū":4}],"t":[{"ē":4,"ā":4,"a":4,"i":4,"m":[{"e":4}]}],"d":[{"e":4,"i":4,"ē":4,"ā":4,"a":4,"l":[{"a":4}]}],"k":[{"ū":4,"a":4,"o":4,"l":[{"o":4}]}],"g":[{"u":4,"a":4}],"z":[{"ā":4,"a":4,"ī":4}],"b":[{"u":4,"e":4,"a":4}],"r":[{"ā":4}],"s":[{"i":4,"t":[{"e":4,"ī":4,"o":4}],"k":[{"ā":4,"a":4}]}],"j":[{"e":4}],"h":[{"o":4}]}],"f":[{"o":3,"a":3,"i":3,"ā":3,"ē":3,"ī":3,"u":3,"e":3,"r":[{"ē":4,"i":4,"ā":4,"a":4}],"s":[{"e":4}],"t":[{"o":4}],"l":[{"i":4}]}],"h":[{"u":3,"e":3,"ē":3,"i":3,"a":3,"o":3,"r":[{"o":4}],"l":[{"o":4}]}],"ģ":[{"ē":3,"ī":3,"i":3,"e":3}],"š":[{"a":3,"o":3,"ī":3,"ā":3,"i":3,"u":3,"ē":3,"e":3,"ū":3,"p":[{"a":4,"r":[{"ā":4}]}],"s":[{"i":4}],"ļ":[{"a":4,"i":4,"u":4,"ā":4}],"n":[{"i":4}],"b":[{"a":4}],"ķ":[{"e":4,"i":4,"ū":4,"o":4,"ē":4,"a":4,"ī":4}],"g":[{"a":4}],"k":[{"a":4,"ā":4}],"v":[{"ī":4,"i":4}],"ņ":[{"a":4,"u":4,"o":4,"ā":4}],"m":[{"a":4,"ī":4}],"d":[{"a":4}],"t":[{"a":4}],"r":[{"e":4}]}],"t":[{"o":3,"ū":3,"a":3,"ē":3,"ā":3,"e":3,"u":3,"i":3,"ī":3,"n":[{"ē":4,"i":4,"e":4}],"z":[{"i":4,"a":4}],"r":[{"e":4,"ī":4,"u":4,"ā":4,"a":4,"i":4,"ū":4,"ē":4,"o":4,"d":[{"i":4}],"p":[{"i":4,"u":4}],"r":[{"e":4},31],"t":[{"i":4,"o":4}],"k":[{"ā":4},31],"z":[{"i":4}],"g":[{"a":4}]}],"v":[{"e":4,"ē":4,"a":4}],"ņ":[{"u":4}],"b":[{"u":4}],"c":[{"e":4}],"k":[{"a":4}],"l":[{"e":4,"ī":4}],"m":[{"u":4,"ā":4,"a":4}],"f":[{"r":[{"ī":4}]}],"g":[{"r":[{"i":4}]}],"p":[{"l":[{"ā":4}]}],"s":[{"p":[{"ē":4}]}]}],"z":[{"o":3,"i":3,"a":3,"e":3,"ū":3,"ē":3,"ā":3,"ī":3,"u":3,"v":[{"i":4,"a":4,"ē":4,"e":4}],"m":[{"a":4}],"t":[{"a":4,"ā":4,"u":4,"i":4,"o":4}],"g":[{"a":4}],"n":[{"i":4}]}],"g":[{"ū":3,"ā":3,"i":3,"a":3,"o":3,"e":3,"ē":3,"u":3,"r":[{"ā":4,"ē":4,"a":4,"ū":4,"e":4,"i":4,"o":4,"u":4}],"g":[{"a":4}],"n":[{"o":4,"e":4,"i":4}],"ļ":[{"u":4,"ū":4,"a":4,"h":[{"i":4}],"r":[{"a":4,"ū":4}],"d":[{"e":4}],"s":[{"k":[{"ā":5}]}]}],"l":[{"e":4,"a":4,"ū":4,"u":4,"i":4,"ā":4,"ē":4,"o":4}],"p":[{"a":4,"u":4}],"v":[{"e":4}],"c":[{"a":4}],"m":[{"a":4}],"d":[{"e":4,"z":[{"i":4}]}]}],"ķ":[{"ī":3,"i":3,"ē":3,"u":3,"e":3,"v":[{"ā":4}]}],"ņ":[{"a":3,"o":3,"e":3,"ā":3,"u":3,"i":3,"ē":3,"k":[{"a":4,"o":4,"ā":4}],"l":[{"u":4}],"c":[{"ū":4}],"m":[{"e":4,"a":4,"ā":4}],"v":[{"e":4}],"s":[{"a":4,"ā":4,"i":4,"l":[{"i":4}],"t":[{"ū":4,"i":4}]}],"z":[{"ī":4}],"n":[{"ā":4,"i":4}],"d":[{"e":4,"a":4}],"p":[{"i":4,"a":4,"r":[{"i":4}],"l":[{"ū":4}]}],"r":[{"a":4,"e":4}],"g":[{"a":4}],"t":[{"e":4,"ū":4}]}],"j":[{"ā":3,"a":3,"o":3,"u":3,"i":3,"ū":3,"e":3,"ē":3,"n":[{"e":4}]}],"n":[{"ī":3,"u":3,"ā":3,"ē":3,"a":3,"o":3,"i":3,"e":3,"z":[{"ē":4,"a":4}],"g":[{"ā":4,"i":4,"a":4,"o":4,"r":[{"u":4,"e":4}],"l":[{"i":4,"o":4}]}],"n":[{"ā":4,"a":4,"u":4,"ī":4}],"d":[{"e":4,"ā":4,"u":4,"i":4,"ē":4,"ī":4,"a":4,"o":4,"r":[{"i":4}]}],"t":[{"i":4,"a":4,"ā":4,"u":4,"ē":4,"e":4,"o":4,"ī":4,"ū":4,"r":[{"i":4,"u":4,"a":4,"o":4,"r":[{"e":5}]}],"d":[{"a":4}]}],"j":[{"u":4,"o":4,"a":4}],"v":[{"u":4,"e":4,"o":4,"a":4}],"p":[{"a":4}],"r":[{"ā":4}],"h":[{"ī":4}],"s":[{"i":4,"u":4,"o":4,"e":4,"t":[{"e":4,"i":4,"a":4,"r":[{"ē":5,"ā":5,"u":5,"a":5}]}],"p":[{"e":4,"i":4}],"k":[{"ā":4,"r":[{"ē":5}]}]}],"f":[{"e":4,"u":4,"i":4,"l":[{"i":4}],"r":[{"o":4}]}],"m":[{"a":4,"ē":4,"e":4}],"l":[{"i":4}],"c":[{"ū":4,"e":4,"i":4}],"k":[{"u":4,"o":4,"a":4,"i":4,"r":[{"ē":4,"e":4}]}],"b":[{"ū":4}]}],"v":[{"a":3,"o":3,"ā":3,"e":3,"ē":3,"i":3,"u":3,"ī":3,"n":[{"u":4,"a":4}],"b":[{"o":4}],"k":[{"a":4}],"s":[{"m":[{"ē":4}],"k":[{"ā":4,"i":4,"a":4,"u":4}]}]}],"ž":[{"a":3,"u":3,"ē":3,"ū":3,"e":3,"ā":3,"i":3,"o":3,"v":[{"a":4,"ī":4}],"m":[{"a":4,"e":4}],"ņ":[{"ā":4,"a":4}]}],"c":[{"o":3,"ī":3,"u":3,"ē":3,"ā":3,"a":3,"i":3,"e":3}]}],".":[{"v":[{"i":[{"s":[{"a":[{".":2},11],"ā":[{".":2},11],"i":[{".":2,"e":[{"m":[{".":2}]}]},11],"o":[{"s":[{".":2}]},11],"u":[{".":2},11],"s":[{"p":[{"r":6,"ļ":6},6],"c":6,"t":[{"j":6,"r":6},6],"f":6,"v":6,"k":[{"v":6,"r":6,"l":6},6],"h":6,"n":6,"l":6,"m":6}],"t":[{"r":6,"v":6}],"g":[{"l":6,"ļ":6,"r":6,"n":6,"v":6}],"ž":[{"v":6,"ņ":6,"m":6}],"š":[{"ļ":6,"t":6,"r":6,"v":6,"k":6,"ķ":6,"l":6,"p":[{"r":6},6],"m":6,"ņ":6,"n":6}],"b":[{"r":6,"ļ":6,"l":6}],"p":[{"r":6,"s":6,"n":6,"l":6,"t":6,"j":6,"ļ":6}],"k":[{"l":6,"v":6,"s":6,"r":6,"c":6,"ņ":6,"ļ":6,"n":6,"b":6}],"d":[{"r":6,"v":6,"d":6,"ž":6,"z":6}],"z":[{"v":6,"n":6}],"f":[{"r":6,"j":6,"l":6}],"v":[{"j":6,"r":6}],"h":[{"r":6,"l":6}],"m":[{"n":6}],"e":11,"ē":11,"ī":11,"ū":11}],"e":[{"n":17}]}]}],"j":[{"ā":[{"s":[{"p":[{"r":2,"ļ":2},2],"c":2,"t":[{"j":2,"r":2},2],"f":2,"v":2,"k":[{"v":2,"r":2,"l":2},2],"h":2,"n":2,"l":2,"m":2}],"t":[{"r":2,"v":2}],"g":[{"l":2,"ļ":2,"r":2,"n":2,"v":2}],"ž":[{"v":2,"ņ":2,"m":2}],"š":[{"ļ":2,"t":2,"r":2,"v":2,"k":2,"ķ":2,"l":2,"p":[{"r":2},2],"m":2,"ņ":2,"n":2}],"b":[{"r":2,"ļ":2,"l":2}],"p":[{"r":2,"s":2,"n":2,"l":2,"t":2,"j":2,"ļ":2}],"k":[{"l":2,"v":2,"s":2,"r":2,"c":2,"ņ":2,"ļ":2,"n":2,"b":2}],"d":[{"r":2,"v":2,"d":2,"ž":2,"z":2}],"z":[{"v":2,"n":2}],"f":[{"r":2,"j":2,"l":2}],"v":[{"j":2,"r":2}],"h":[{"r":2,"l":2}],"m":[{"n":2}],"a":10,"ā":10,"e":10,"ē":10,"i":[{"e":12,"z":12},10],"ī":10,"o":10,"u":10,"ū":10,"n":[{"o":12}]}]}],"n":[{"e":[{"s":[{"p":[{"r":2,"ļ":2},2],"c":2,"t":[{"j":2,"r":2},2],"f":2,"v":2,"k":[{"v":2,"r":2,"l":2},2],"h":2,"n":2,"l":2,"m":2,"a":14}],"t":[{"r":2,"v":2}],"g":[{"l":2,"ļ":2,"r":2,"n":2,"v":2}],"ž":[{"v":2,"ņ":2,"m":2}],"š":[{"ļ":2,"t":2,"r":2,"v":2,"k":2,"ķ":2,"l":2,"p":[{"r":2},2],"m":2,"ņ":2,"n":2}],"b":[{"r":2,"ļ":2,"l":2}],"p":[{"r":2,"s":2,"n":2,"l":2,"t":2,"j":2,"ļ":2}],"k":[{"l":2,"v":2,"s":2,"r":2,"c":2,"ņ":2,"ļ":2,"n":2,"b":2}],"d":[{"r":2,"v":2,"d":2,"ž":2,"z":2}],"z":[{"v":2,"n":2}],"f":[{"r":2,"j":2,"l":2}],"v":[{"j":2,"r":2}],"h":[{"r":2,"l":2}],"m":[{"n":2}],"a":[{"i":[{"z":13}],"p":12,"t":12},10],"ā":10,"e":10,"ē":10,"i":[{"e":12,"n":12,"z":12},10],"ī":10,"o":10,"u":[{"z":12},10],"ū":10}],"o":[{"s":[{"p":[{"r":2,"ļ":2},2],"c":2,"t":[{"j":2,"r":2},2],"f":2,"v":2,"k":[{"v":2,"r":2,"l":2},2],"h":2,"n":2,"l":2,"m":2}],"t":[{"r":2,"v":2}],"g":[{"l":2,"ļ":2,"r":2,"n":2,"v":2}],"ž":[{"v":2,"ņ":2,"m":2}],"š":[{"ļ":2,"t":2,"r":2,"v":2,"k":2,"ķ":2,"l":2,"p":[{"r":2},2],"m":2,"ņ":2,"n":2}],"b":[{"r":2,"ļ":2,"l":2}],"p":[{"r":2,"s":2,"n":2,"l":2,"t":2,"j":2,"ļ":2}],"k":[{"l":2,"v":2,"s":2,"r":2,"c":2,"ņ":2,"ļ":2,"n":2,"b":2}],"d":[{"r":2,"v":2,"d":2,"ž":2,"z":2}],"z":[{"v":2,"n":2}],"f":[{"r":2,"j":2,"l":2}],"v":[{"j":2,"r":2}],"h":[{"r":2,"l":2}],"m":[{"n":2}],"a":10,"ā":10,"e":10,"ē":10,"i":10,"ī":10,"o":10,"u":10,"ū":10}]}],"i":[{"e":[{"s":[{"p":[{"r":2,"ļ":2},2],"c":2,"t":[{"j":2,"r":2},2],"f":2,"v":2,"k":[{"v":2,"r":2,"l":2},2],"h":2,"n":2,"l":2,"m":2}],"t":[{"r":2,"v":2}],"g":[{"l":2,"ļ":2,"r":2,"n":2,"v":2}],"ž":[{"v":2,"ņ":2,"m":2}],"š":[{"ļ":2,"t":2,"r":2,"v":2,"k":2,"ķ":2,"l":2,"p":[{"r":2},2],"m":2,"ņ":2,"n":2}],"b":[{"r":2,"ļ":2,"l":2}],"p":[{"r":2,"s":2,"n":2,"l":2,"t":2,"j":2,"ļ":2}],"k":[{"l":2,"v":2,"s":2,"r":2,"c":2,"ņ":2,"ļ":2,"n":2,"b":2}],"d":[{"r":2,"v":2,"d":2,"ž":2,"z":2}],"z":[{"v":2,"n":2}],"f":[{"r":2,"j":2,"l":2}],"v":[{"j":2,"r":2}],"h":[{"r":2,"l":2}],"m":[{"n":2}],"a":10,"ā":10,"e":10,"ē":10,"i":10,"ī":10,"o":10,"u":10,"ū":10}],"z":[{"s":[{"p":[{"r":2,"ļ":2},2],"c":2,"t":[{"j":2,"r":2},2],"f":2,"v":2,"k":[{"v":2,"r":2,"l":2},2],"h":2,"n":2,"l":2,"m":2}],"t":[{"r":2,"v":2}],"g":[{"l":2,"ļ":2,"r":2,"n":2,"v":2}],"ž":[{"v":2,"ņ":2,"m":2}],"š":[{"ļ":2,"t":2,"r":2,"v":2,"k":2,"ķ":2,"l":2,"p":[{"r":2},2],"m":2,"ņ":2,"n":2}],"b":[{"r":2,"ļ":2,"l":2}],"p":[{"r":2,"s":2,"n":2,"l":2,"t":2,"j":2,"ļ":2}],"k":[{"l":2,"v":2,"s":2,"r":2,"c":2,"ņ":2,"ļ":2,"n":2,"b":2}],"d":[{"r":2,"v":2,"d":2,"ž":2,"z":2}],"z":[{"v":2,"n":2}],"f":[{"r":2,"j":2,"l":2}],"v":[{"j":2,"r":2}],"h":[{"r":2,"l":2}],"m":[{"n":2}],"a":10,"ā":10,"e":10,"ē":10,"i":10,"ī":10,"o":10,"u":10,"ū":10}]}],"p":[{"a":[{"s":[{"p":[{"r":2,"ļ":2},2],"c":2,"t":[{"j":2,"r":2},2],"f":2,"v":2,"k":[{"v":2,"r":2,"l":2},2],"h":2,"n":2,"l":2,"m":2}],"t":[{"r":2,"v":2}],"g":[{"l":2,"ļ":2,"r":2,"n":2,"v":2}],"ž":[{"v":2,"ņ":2,"m":2}],"š":[{"ļ":2,"t":2,"r":2,"v":2,"k":2,"ķ":2,"l":2,"p":[{"r":2},2],"m":2,"ņ":2,"n":2}],"b":[{"r":2,"ļ":2,"l":2}],"p":[{"r":2,"s":2,"n":2,"l":2,"t":2,"j":2,"ļ":2}],"k":[{"l":2,"v":2,"s":2,"r":2,"c":2,"ņ":2,"ļ":2,"n":2,"b":2}],"d":[{"r":2,"v":2,"d":2,"ž":2,"z":2}],"z":[{"v":2,"n":2}],"f":[{"r":2,"j":2,"l":2}],"v":[{"j":2,"r":2}],"h":[{"r":2,"l":2}],"m":[{"n":2}],"a":10,"ā":10,"e":10,"ē":10,"i":10,"ī":10,"o":10,"u":10,"ū":10}],"i":[{"e":[{"s":[{"p":[{"r":6,"ļ":6},6],"c":6,"t":[{"j":6,"r":6},6],"f":6,"v":6,"k":[{"v":6,"r":6,"l":6},6],"h":6,"n":6,"l":6,"m":6}],"t":[{"r":6,"v":6}],"g":[{"l":6,"ļ":6,"r":6,"n":6,"v":6}],"ž":[{"v":6,"ņ":6,"m":6}],"š":[{"ļ":6,"t":6,"r":6,"v":6,"k":6,"ķ":6,"l":6,"p":[{"r":6},6],"m":6,"ņ":6,"n":6}],"b":[{"r":6,"ļ":6,"l":6}],"p":[{"r":6,"s":6,"n":6,"l":6,"t":6,"j":6,"ļ":6}],"k":[{"l":6,"v":6,"s":6,"r":6,"c":6,"ņ":6,"ļ":6,"n":6,"b":6}],"d":[{"r":6,"v":6,"d":6,"ž":6,"z":6}],"z":[{"v":6,"n":6}],"f":[{"r":6,"j":6,"l":6}],"v":[{"j":6,"r":6}],"h":[{"r":6,"l":6}],"m":[{"n":6}],"a":11,"ā":11,"e":11,"ē":11,"i":11,"ī":11,"o":11,"u":11,"ū":11}]}],"ā":[{"r":[{"s":[{"p":[{"r":6,"ļ":6},6],"c":6,"t":[{"j":6,"r":6},6],"f":6,"v":6,"k":[{"v":6,"r":6,"l":6},6],"h":6,"n":6,"l":6,"m":6}],"t":[{"r":6,"v":6}],"g":[{"l":6,"ļ":6,"r":6,"n":6,"v":6}],"ž":[{"v":6,"ņ":6,"m":6}],"š":[{"ļ":6,"t":6,"r":6,"v":6,"k":6,"ķ":6,"l":6,"p":[{"r":6},6],"m":6,"ņ":6,"n":6}],"b":[{"r":6,"ļ":6,"l":6}],"p":[{"r":6,"s":6,"n":6,"l":6,"t":6,"j":6,"ļ":6}],"k":[{"l":6,"v":6,"s":6,"r":6,"c":6,"ņ":6,"ļ":6,"n":6,"b":6}],"d":[{"r":6,"v":6,"d":6,"ž":6,"z":6}],"z":[{"v":6,"n":6}],"f":[{"r":6,"j":6,"l":6}],"v":[{"j":6,"r":6}],"h":[{"r":6,"l":6}],"m":[{"n":6}],"a":11,"ā":11,"e":11,"ē":11,"i":11,"ī":11,"o":11,"u":11,"ū":11}]}],"r":[{"i":[{"e":[{"k":[{"š":15}]}]}]}]}],"s":[{"a":[{"s":[{"p":[{"r":2,"ļ":2},2],"c":2,"t":[{"j":2,"r":2},2],"f":2,"v":2,"k":[{"v":2,"r":2,"l":2},2],"h":2,"n":2,"l":2,"m":2}],"t":[{"r":2,"v":2}],"g":[{"l":2,"ļ":2,"r":2,"n":2,"v":2}],"ž":[{"v":2,"ņ":2,"m":2}],"š":[{"ļ":2,"t":2,"r":2,"v":2,"k":2,"ķ":2,"l":2,"p":[{"r":2},2],"m":2,"ņ":2,"n":2}],"b":[{"r":2,"ļ":2,"l":2}],"p":[{"r":2,"s":2,"n":2,"l":2,"t":2,"j":2,"ļ":2}],"k":[{"l":2,"v":2,"s":2,"r":2,"c":2,"ņ":2,"ļ":2,"n":2,"b":2}],"d":[{"r":2,"v":2,"d":2,"ž":2,"z":2}],"z":[{"v":2,"n":2}],"f":[{"r":2,"j":2,"l":2}],"v":[{"j":2,"r":2}],"h":[{"r":2,"l":2}],"m":[{"n":2}],"a":10,"ā":10,"e":10,"ē":10,"i":10,"ī":10,"o":10,"u":10,"ū":10}],"p":[{"i":[{"l":[{"g":[{"t":19}]}]}]}]}],"u":[{"z":[{"s":[{"p":[{"r":2,"ļ":2},2],"c":2,"t":[{"j":2,"r":2},2],"f":2,"v":2,"k":[{"v":2,"r":2,"l":2},2],"h":2,"n":2,"l":2,"m":2}],"t":[{"r":2,"v":2}],"g":[{"l":2,"ļ":2,"r":2,"n":2,"v":2}],"ž":[{"v":2,"ņ":2,"m":2}],"š":[{"ļ":2,"t":2,"r":2,"v":2,"k":2,"ķ":2,"l":2,"p":[{"r":2},2],"m":2,"ņ":2,"n":2}],"b":[{"r":2,"ļ":2,"l":2}],"p":[{"r":2,"s":2,"n":2,"l":2,"t":2,"j":2,"ļ":2}],"k":[{"l":2,"v":2,"s":2,"r":2,"c":2,"ņ":2,"ļ":2,"n":2,"b":2}],"d":[{"r":2,"v":2,"d":2,"ž":2,"z":2}],"z":[{"v":2,"n":2}],"f":[{"r":2,"j":2,"l":2}],"v":[{"j":2,"r":2}],"h":[{"r":2,"l":2}],"m":[{"n":2}],"a":10,"ā":10,"e":10,"ē":10,"i":10,"ī":10,"o":10,"u":10,"ū":10}]}],"a":[{"i":[{"z":[{"s":[{"p":[{"r":6,"ļ":6},6],"c":6,"t":[{"j":6,"r":6},6],"f":6,"v":6,"k":[{"v":6,"r":6,"l":6},6],"h":6,"n":6,"l":6,"m":6}],"t":[{"r":6,"v":6}],"g":[{"l":6,"ļ":6,"r":6,"n":6,"v":6}],"ž":[{"v":6,"ņ":6,"m":6}],"š":[{"ļ":6,"t":6,"r":6,"v":6,"k":6,"ķ":6,"l":6,"p":[{"r":6},6],"m":6,"ņ":6,"n":6}],"b":[{"r":6,"ļ":6,"l":6}],"p":[{"r":6,"s":6,"n":6,"l":6,"t":6,"j":6,"ļ":6}],"k":[{"l":6,"v":6,"s":6,"r":6,"c":6,"ņ":6,"ļ":6,"n":6,"b":6}],"d":[{"r":6,"v":6,"d":6,"ž":6,"z":6}],"z":[{"v":6,"n":6}],"f":[{"r":6,"j":6,"l":6}],"v":[{"j":6,"r":6}],"h":[{"r":6,"l":6}],"m":[{"n":6}],"a":11,"ā":11,"e":11,"ē":11,"i":11,"ī":11,"o":11,"u":11,"ū":11},33]}],"p":[{"s":[{"p":[{"r":2,"ļ":2},2],"c":2,"t":[{"j":2,"r":2},2],"f":2,"v":2,"k":[{"v":2,"r":2,"l":2},2],"h":2,"n":2,"l":2,"m":2}],"t":[{"r":2,"v":2}],"g":[{"l":2,"ļ":2,"r":2,"n":2,"v":2}],"ž":[{"v":2,"ņ":2,"m":2}],"š":[{"ļ":2,"t":2,"r":2,"v":2,"k":2,"ķ":2,"l":2,"p":[{"r":2},2],"m":2,"ņ":2,"n":2}],"b":[{"r":2,"ļ":2,"l":2}],"p":[{"r":2,"s":2,"n":2,"l":2,"t":2,"j":2,"ļ":2}],"k":[{"l":2,"v":2,"s":2,"r":2,"c":2,"ņ":2,"ļ":2,"n":2,"b":2}],"d":[{"r":2,"v":2,"d":2,"ž":2,"z":2}],"z":[{"v":2,"n":2}],"f":[{"r":2,"j":2,"l":2}],"v":[{"j":2,"r":2}],"h":[{"r":2,"l":2}],"m":[{"n":2}],"a":10,"ā":10,"e":10,"ē":10,"i":10,"ī":10,"o":10,"u":10,"ū":10}],"t":[{"s":[{"p":[{"r":2,"ļ":2},2],"c":2,"t":[{"j":2,"r":2},2],"f":2,"v":2,"k":[{"v":2,"r":2,"l":2},2],"h":2,"n":2,"l":2,"m":2}],"t":[{"r":2,"v":2}],"g":[{"l":2,"ļ":2,"r":2,"n":2,"v":2}],"ž":[{"v":2,"ņ":2,"m":2}],"š":[{"ļ":2,"t":2,"r":2,"v":2,"k":2,"ķ":2,"l":2,"p":[{"r":2},2],"m":2,"ņ":2,"n":2}],"b":[{"r":2,"ļ":2,"l":2}],"p":[{"r":2,"s":2,"n":2,"l":2,"t":2,"j":2,"ļ":2}],"k":[{"l":2,"v":2,"s":2,"r":2,"c":2,"ņ":2,"ļ":2,"n":2,"b":2}],"d":[{"r":2,"v":2,"d":2,"ž":2,"z":2}],"z":[{"v":2,"n":2}],"f":[{"r":2,"j":2,"l":2}],"v":[{"j":2,"r":2}],"h":[{"r":2,"l":2}],"m":[{"n":2}],"a":10,"ā":10,"e":[{"j":10},10],"ē":10,"i":10,"ī":10,"o":10,"u":10,"ū":10}],"d":[{"ā":[{"m":32}]}]}],"b":[{"e":[{"z":[{"s":[{"p":[{"r":6,"ļ":6},6],"c":6,"t":[{"j":6,"r":6},6],"f":6,"v":6,"k":[{"v":6,"r":6,"l":6},6],"h":6,"n":6,"l":6,"m":6}],"t":[{"r":6,"v":6}],"g":[{"l":6,"ļ":6,"r":6,"n":6,"v":6}],"ž":[{"v":6,"ņ":6,"m":6}],"š":[{"ļ":6,"t":6,"r":6,"v":6,"k":6,"ķ":6,"l":6,"p":[{"r":6},6],"m":6,"ņ":6,"n":6}],"b":[{"r":6,"ļ":6,"l":6}],"p":[{"r":6,"s":6,"n":6,"l":6,"t":6,"j":6,"ļ":6}],"k":[{"l":6,"v":6,"s":6,"r":6,"c":6,"ņ":6,"ļ":6,"n":6,"b":6}],"d":[{"r":6,"v":6,"d":6,"ž":6,"z":6}],"z":[{"v":6,"n":6}],"f":[{"r":6,"j":6,"l":6}],"v":[{"j":6,"r":6}],"h":[{"r":6,"l":6}],"m":[{"n":6}],"a":11,"ā":11,"e":11,"ē":11,"i":11,"ī":11,"o":11,"u":11,"ū":11}]}]}],"e":[{"k":[{"s":[{"s":[{"p":[{"r":6,"ļ":6},6],"c":6,"t":[{"j":6,"r":6},6],"f":6,"v":6,"k":[{"v":6,"r":6,"l":6},6],"h":6,"n":6,"l":6,"m":6}],"t":[{"r":6,"v":6}],"g":[{"l":6,"ļ":6,"r":6,"n":6,"v":6}],"ž":[{"v":6,"ņ":6,"m":6}],"š":[{"ļ":6,"t":6,"r":6,"v":6,"k":6,"ķ":6,"l":6,"p":[{"r":6},6],"m":6,"ņ":6,"n":6}],"b":[{"r":6,"ļ":6,"l":6}],"p":[{"r":6,"s":6,"n":6,"l":6,"t":6,"j":6,"ļ":6}],"k":[{"l":6,"v":6,"s":6,"r":6,"c":6,"ņ":6,"ļ":6,"n":6,"b":6}],"d":[{"r":6,"v":6,"d":6,"ž":6,"z":6}],"z":[{"v":6,"n":6}],"f":[{"r":6,"j":6,"l":6}],"v":[{"j":6,"r":6}],"h":[{"r":6,"l":6}],"m":[{"n":6}],"a":11,"ā":11,"e":11,"ē":11,"i":11,"ī":11,"o":11,"u":11,"ū":11}]}]}],"t":[{"u":[{"r":[{"p":[{"m":17}]}]}]}]}],"ū":[{"r":[{"ē":3,"o":3,"a":3,"i":3,"ā":3,"e":3,"u":3,"ī":3,"k":[{"a":4}],"v":[{"ī":4,"i":4,"ē":4,"e":4}],"f":[{"o":4,"i":4}],"t":[{"e":4,"a":4}],"m":[{"u":4,"ā":4,"a":4}],"z":[{"i":4,"ā":4}],"l":[{"i":4}],"g":[{"a":4}],"n":[{"i":4}],"s":[{"t":[{"u":4,"a":4,"o":4,"i":4,"ē":4}],"k":[{"o":4}]}]}],"g":[{"a":3,"u":3,"ā":3,"i":3,"ē":3,"t":[{"a":4,"i":4,"e":4,"u":4,"ā":4,"o":4}],"š":[{"o":4,"u":4,"a":4}],"s":[{"i":4,"t":[{"o":4,"i":4,"u":4,"a":4}],"n":[{"a":4}]}],"d":[{"a":4}],"k":[{"r":[{"i":4}]}]}],"t":[{"o":3,"a":3,"i":3,"u":3,"ā":3,"ī":3,"e":3,"ē":3,"m":[{"a":4}],"d":[{"i":4}],"r":[{"ī":4,"o":4,"a":4,"u":4,"ā":4,"i":4}],"ņ":[{"u":4}],"s":[{"a":4,"i":4,"g":[{"a":4}],"m":[{"ē":4}]}],"n":[{"ī":4,"i":4,"e":4,"ē":4}],"p":[{"a":4}]}],"ķ":[{"e":3,"i":3,"ī":3}],"c":[{"a":3,"ā":3,"ē":3,"ī":3,"u":3,"i":3,"e":3}],"b":[{"ē":3,"a":3,"ī":3,"e":3,"i":3}],"n":[{"ē":3,"o":3,"i":3,"u":3,"ī":3,"ā":3,"e":3,"a":3,"g":[{"a":4}],"v":[{"e":4,"i":4}],"z":[{"e":4}]}],"m":[{"ā":3,"i":3,"u":3,"e":3,"o":3,"ī":3,"ē":3,"a":3,"v":[{"a":4,"e":4}],"d":[{"e":4}],"j":[{"u":4}],"t":[{"v":[{"e":4}]}]}],"p":[{"ā":3,"o":3,"ē":3,"e":3,"a":3,"ī":3,"u":3,"i":3,"n":[{"ī":4,"i":4}],"k":[{"o":4}],"l":[{"i":4}],"s":[{"t":[{"o":4,"ī":4,"i":4,"ā":4,"u":4,"a":4}]}]}],"š":[{"ī":3,"u":3,"a":3,"o":3,"ā":3,"d":[{"o":4}],"k":[{"a":4,"o":4}],"ļ":[{"o":4}],"t":[{"u":4}],"g":[{"a":4}]}],"d":[{"ī":3,"i":3,"a":3,"o":3,"e":3,"ē":3,"u":3,"ā":3,"z":[{"a":3,"e":3,"o":3,"u":3,"ī":3,"i":3,"ē":3}],"r":[{"ā":4,"a":4,"i":4}]}],"j":[{"o":3,"a":3,"ā":3,"u":3,"i":3}],"z":[{"u":3,"ē":3,"ā":3,"i":3,"ī":3,"e":3,"a":3,"m":[{"ā":4,"a":4,"ē":4}],"n":[{"a":4,"i":4,"e":4}],"d":[{"a":4}]}],"ž":[{"a":3,"i":3,"e":3,"u":3,"ī":3,"ā":3,"ņ":[{"a":4,"o":4}],"d":[{"i":4}],"z":[{"a":4}]}],"k":[{"u":3,"a":3,"o":3,"ā":3,"i":3,"l":[{"i":4,"a":4,"e":4}],"k":[{"o":4}],"t":[{"u":4,"o":4,"ā":4,"a":4,"i":4}],"p":[{"i":4}],"n":[{"i":4,"ē":4}],"š":[{"o":4,"u":4,"a":4,"ķ":[{"i":4,"u":4}]}],"ņ":[{"a":4}],"s":[{"i":4,"l":[{"i":4,"ā":4}],"t":[{"o":4,"u":4,"i":4,"e":4,"a":4}],"n":[{"a":4,"e":4,"ā":4,"i":4}]}],"g":[{"a":4}]}],"l":[{"u":3,"ē":3,"o":3,"e":3,"ī":3,"ā":3,"i":3,"a":3}],"ļ":[{"a":3,"ī":3}],"s":[{"a":3,"o":3,"ā":3,"ē":3,"u":3,"i":3,"k":[{"i":4,"a":4,"ā":4,"u":4}],"m":[{"o":4,"u":4,"ā":4,"ī":4,"a":4,"i":4}],"t":[{"ā":4,"o":4,"a":4,"i":4,"e":4,"ī":4,"u":4,"n":[{"i":4}]}],"n":[{"u":4,"ē":4,"ī":4,"o":4,"ā":4,"i":4,"a":4}],"l":[{"e":4,"i":4}],"d":[{"i":4}],"p":[{"u":4}],"g":[{"a":4}]}],"ņ":[{"a":3}],"v":[{"i":3,"e":3,"ē":3,"o":3,"n":[{"o":4,"i":4}],"v":[{"i":4}],"m":[{"e":4}],"s":[{"o":4}],"k":[{"a":4,"o":4}],"g":[{"a":4,"r":[{"i":4}]}],"b":[{"e":4,"r":[{"i":4}]}],"p":[{"r":[{"o":4}]}]}]}],"ē":[{"ž":[{"u":3,"a":3,"o":3,"v":[{"e":4}]}],"c":[{"ē":3,"ī":3,"e":3,"a":3,"i":3,"u":3,"ā":3,"t":[{"e":4}],"n":[{"ā":4,"a":4}],"k":[{"a":4}],"g":[{"a":4}],"p":[{"u":4}],"m":[{"ē":4}]}],"m":[{"a":3,"ā":3,"ī":3,"u":3,"e":3,"o":3,"ē":3,"i":3}],"t":[{"ā":3,"ī":3,"o":3,"i":3,"u":3,"e":3,"a":3,"k":[{"u":4,"o":4,"i":4}],"n":[{"i":4,"ī":4}],"s":[{"a":4,"v":[{"i":4}],"p":[{"ē":4}]}],"r":[{"a":4,"u":4,"ī":4,"i":4}],"d":[{"i":4}],"t":[{"i":4}],"l":[{"i":4,"a":4}],"m":[{"a":4}],"v":[{"a":4}],"h":[{"o":4}],"b":[{"i":4}],"c":[{"e":4}]}],"k":[{"ē":3,"ā":3,"a":3,"o":3,"u":3,"i":3,"š":[{"u":4,"a":4,"o":4,"ņ":[{"o":4,"ā":4,"u":4,"a":4,"i":4}],"ķ":[{"u":4,"a":4,"o":4,"ē":4,"i":4}]}],"t":[{"i":4,"a":4,"u":4,"o":4,"ā":4}],"b":[{"ē":4,"a":4,"r":[{"ū":4}]}],"l":[{"i":4,"o":4,"u":4,"a":4,"k":[{"o":4}],"v":[{"a":4}]}],"ļ":[{"u":4}],"m":[{"ī":4,"e":4,"j":[{"u":4}]}],"n":[{"e":4,"ī":4}],"d":[{"i":4,"a":4}],"v":[{"e":4}],"s":[{"ū":4,"i":4,"t":[{"u":4}],"n":[{"e":4}]}],"p":[{"i":4}]}],"b":[{"u":3,"ā":3,"i":3,"e":3,"ē":3,"o":3,"ī":3,"a":3,"t":[{"u":4,"ā":4,"o":4,"i":4,"a":4}],"š":[{"u":4,"o":4}],"j":[{"u":4}],"n":[{"i":4}],"s":[{"i":4}]}],"d":[{"o":3,"e":3,"a":3,"ē":3,"ā":3,"ī":3,"u":3,"i":3,"v":[{"i":4,"a":4}],"l":[{"a":4}],"m":[{"ē":4,"a":4}],"r":[{"a":4}],"z":[{"e":3,"o":3,"i":3,"ē":3,"ī":3,"ū":3,"ā":3,"a":3,"n":[{"i":5}]}],"n":[{"i":4,"e":4,"ī":4}],"d":[{"z":[{"i":4}]}]}],"ļ":[{"a":3,"u":3,"i":3,"ā":3,"o":3,"e":3,"k":[{"o":4}],"n":[{"i":4}]}],"z":[{"e":3,"a":3,"o":3,"ā":3,"i":3,"u":3,"ī":3,"ē":3,"t":[{"ā":4,"a":4,"i":4,"o":4,"u":4}],"k":[{"ū":4}],"m":[{"a":4}],"d":[{"o":4}]}],"v":[{"ē":3,"a":3,"o":3,"e":3,"u":3,"i":3,"ā":3,"r":[{"e":4}],"v":[{"ā":4}],"z":[{"e":4}]}],"ķ":[{"i":3,"ē":3}],"n":[{"e":3,"ī":3,"o":3,"ā":3,"u":3,"ē":3,"a":3,"i":3,"m":[{"ī":4,"ā":4}],"g":[{"a":4}],"p":[{"r":[{"ā":4}]}],"s":[{"k":[{"ā":4}]}]}],"s":[{"ī":3,"i":3,"ā":3,"ē":3,"e":3,"u":3,"a":3,"o":3,"t":[{"e":4,"ī":4,"u":4,"o":4,"i":4,"ā":4,"a":4,"n":[{"e":4,"i":4}],"g":[{"r":[{"i":5}]}]}],"l":[{"i":4,"u":4,"a":4,"o":4,"e":4}],"m":[{"a":4}]}],"j":[{"u":3,"i":3,"ā":3,"ē":3,"ī":3,"o":3,"a":3,"t":[{"ē":4,"i":4,"ā":4,"v":[{"e":4}]}],"l":[{"o":4,"u":4}],"d":[{"e":4,"a":4}],"n":[{"ī":4,"i":4}],"m":[{"u":4,"ā":4,"a":4}],"p":[{"u":4,"e":4,"l":[{"a":4}]}],"c":[{"e":4,"a":4}],"k":[{"a":4,"o":4}],"s":[{"ū":4,"a":4,"l":[{"ē":4}],"p":[{"ē":4}]}],"z":[{"o":4}],"r":[{"ā":4,"a":4}],"č":[{"ū":4}],"v":[{"i":4}],"g":[{"r":[{"ā":4}]}]}],"r":[{"o":3,"ē":3,"ā":3,"a":3,"e":3,"u":3,"ī":3,"i":3,"ū":3,"ķ":[{"e":4,"a":4,"ē":4,"ī":4,"u":4,"i":4,"t":[{"i":4}]}],"k":[{"u":4,"o":4,"a":4,"t":[{"a":4,"ā":4,"o":4,"u":4,"i":4}],"š":[{"a":4,"u":4,"o":4,"ķ":[{"a":5,"o":5,"i":5}]}],"s":[{"i":4,"t":[{"u":5,"a":5,"i":5,"e":5,"o":5}]}],"l":[{"i":4}]}],"z":[{"e":4,"a":4,"ē":4,"u":4,"ā":4,"i":4,"k":[{"a":4}],"g":[{"a":4}],"c":[{"i":4}],"l":[{"a":4}]}],"l":[{"a":4,"i":4,"e":4,"ī":4}],"s":[{"u":4,"ā":4,"a":4,"ī":4,"i":4,"ē":4,"o":4,"e":4,"t":[{"ā":4,"a":4,"i":4,"e":4,"u":4,"o":4,"ē":4}],"l":[{"ī":4,"o":4,"i":4}],"b":[{"a":4}],"r":[{"a":4}],"k":[{"ā":4,"o":4}],"s":[{"i":4,"v":[{"ī":5}]}],"z":[{"ā":4}],"n":[{"a":4}],"g":[{"r":[{"i":5}]}]}],"ļ":[{"u":4,"a":4,"v":[{"e":4}]}],"p":[{"ē":4,"a":4,"ā":4,"i":4,"u":4,"o":4,"e":4,"t":[{"u":4,"o":4,"a":4,"i":4,"ā":4}],"s":[{"i":4}],"š":[{"a":4,"o":4,"u":4}],"j":[{"u":4,"o":4}]}],"b":[{"u":4,"ē":4,"i":4,"o":4,"e":4,"a":4,"ā":4,"š":[{"o":4,"a":4,"u":4}],"t":[{"a":4,"u":4,"ā":4,"o":4,"i":4}],"j":[{"a":4,"o":4}],"k":[{"a":4}],"s":[{"i":4}]}],"n":[{"o":4,"i":4,"ē":4,"ā":4,"a":4,"u":4,"e":4,"ī":4,"v":[{"a":4}],"r":[{"u":4}],"z":[{"i":4}],"g":[{"a":4}],"p":[{"a":4}]}],"g":[{"ā":4,"u":4,"a":4,"l":[{"ē":4,"i":4}]}],"c":[{"i":4,"e":4,"ē":4,"ī":4,"o":4}],"š":[{"ā":4,"a":4,"o":4,"u":4,"ļ":[{"o":4,"u":4}]}],"m":[{"a":4,"u":4,"ā":4,"ī":4,"ū":4,"ē":4,"e":4,"i":4,"o":4,"j":[{"u":4}]}],"v":[{"i":4,"e":4}],"t":[{"e":4,"ā":4,"u":4,"ē":4,"o":4,"a":4,"ī":4,"i":4,"n":[{"ī":4,"i":4,"e":4}],"ņ":[{"u":4}],"s":[{"l":[{"i":5}],"s":[{"ū":5}],"v":[{"ē":5}]}]}],"d":[{"e":4,"ē":4,"a":4,"i":4,"ī":4,"z":[{"ī":4,"e":4}]}],"ģ":[{"e":4}]}],"p":[{"ī":3,"ē":3,"e":3,"i":3,"a":3,"o":3,"ā":3,"u":3,"t":[{"a":4,"o":4,"ā":4,"u":4,"i":4}],"n":[{"i":4,"e":4}],"š":[{"u":4,"o":4,"a":4}],"j":[{"a":4,"u":4,"o":4}],"s":[{"i":4,"t":[{"u":4,"i":4,"a":4,"o":4}]}]}],"g":[{"i":3,"o":3,"ā":3,"u":3,"a":3,"e":3,"n":[{"i":4,"ā":4,"a":4,"o":4,"u":4}],"s":[{"i":4,"t":[{"o":4,"u":4,"i":4,"a":4}]}],"t":[{"ā":4,"a":4,"o":4,"u":4,"i":4,"ī":4}],"v":[{"ā":4}],"l":[{"e":4,"i":4}],"d":[{"ē":4}],"š":[{"u":4,"o":4,"a":4}]}],"š":[{"u":3,"a":3,"o":3,"ļ":[{"a":4}],"l":[{"a":4}]}],"l":[{"ē":3,"ā":3,"u":3,"a":3,"i":3,"e":3,"o":3,"ī":3,"g":[{"u":4,"a":4,"ā":4}],"n":[{"i":4,"e":4}],"r":[{"e":4}],"s":[{"i":4,"p":[{"i":4,"u":4}],"l":[{"ē":4}]}],"z":[{"ī":4}],"c":[{"u":4}],"d":[{"i":4}],"k":[{"o":4}],"m":[{"e":4,"j":[{"u":4}]}]}],"ņ":[{"o":3,"d":[{"a":4}],"v":[{"e":4}]}],"ģ":[{"e":3,"i":3}]}],"ā":[{"n":[{"i":3,"ē":3,"ī":3,"u":3,"ā":3,"a":3,"e":3,"o":3,"k":[{"a":4,"ā":4,"o":4}],"v":[{"e":4,"a":4}],"z":[{"a":4}],"l":[{"ī":4}],"p":[{"ā":4,"r":[{"ā":4}]}],"g":[{"a":4}],"c":[{"e":4}],"r":[{"i":4}],"s":[{"a":4,"p":[{"ē":4}],"k":[{"ā":4,"a":4}],"v":[{"e":4}]}]}],"b":[{"u":3,"e":3,"o":3,"i":3,"ū":3,"ā":3,"a":3,"ē":3,"š":[{"a":4,"o":4,"u":4}],"t":[{"ā":4,"o":4,"ī":4,"a":4,"i":4,"u":4}],"r":[{"ī":4,"a":4}],"s":[{"i":4,"t":[{"i":4,"o":4,"u":4,"a":4,"ā":4,"ī":4}],"l":[{"e":4,"ī":4,"i":4,"ē":4}]}],"j":[{"u":4,"o":4}],"p":[{"u":4}],"m":[{"a":4}],"b":[{"a":4}]}],"l":[{"o":3,"a":3,"ī":3,"e":3,"u":3,"i":3,"ē":3,"ā":3,"ū":3,"t":[{"i":4,"e":4,"a":4}],"c":[{"e":4,"u":4,"i":4}],"s":[{"e":4,"a":4,"i":4,"ā":4,"t":[{"i":4,"r":[{"e":5,"a":5}]}],"k":[{"ā":4,"o":4,"a":4}],"m":[{"a":4}],"c":[{"i":4}],"p":[{"ē":4}],"z":[{"ā":4}],"v":[{"i":4}],"s":[{"t":[{"a":5,"e":5}],"k":[{"ā":5}]}]}],"k":[{"o":4,"a":4}],"v":[{"ē":4,"e":4,"i":4,"a":4}],"p":[{"u":4,"o":4,"a":4,"r":[{"o":4}],"l":[{"ā":4}]}],"r":[{"e":4,"u":4,"ū":4,"a":4}],"n":[{"o":4,"ī":4}],"l":[{"ī":4,"i":4,"ē":4,"e":4}],"b":[{"a":4,"e":4,"r":[{"a":4}]}],"d":[{"e":4,"a":4,"i":4,"z":[{"i":4}]}],"z":[{"ī":4,"e":4}],"g":[{"u":4,"a":4}],"m":[{"a":4,"ē":4}],"š":[{"ā":4,"t":[{"ā":4}],"ķ":[{"ē":4}]}]}],"r":[{"u":3,"i":3,"a":3,"ū":3,"o":3,"ē":3,"ā":3,"e":3,"ī":3,"b":[{"a":4,"ū":4,"u":4,"ā":4,"e":4,"o":4,"ē":4,"ī":4,"i":4,"r":[{"ā":4,"ī":4,"a":4,"i":4,"u":4,"o":4,"ū":4,"e":4,"ē":4}],"l":[{"o":4,"ī":4,"ā":4,"ē":4,"e":4,"i":4}],"ļ":[{"ā":4}]}],"h":[{"o":4,"e":4,"u":4,"a":4,"i":4,"l":[{"o":4}],"r":[{"o":4}]}],"s":[{"a":4,"u":4,"ū":4,"ē":4,"e":4,"o":4,"i":4,"ī":4,"ā":4,"v":[{"e":4,"ā":4,"a":4,"ē":4,"i":4,"ī":4}],"n":[{"i":4,"a":4}],"m":[{"i":4,"e":4,"a":4,"ē":4,"ī":4}],"k":[{"o":4,"u":4,"ā":4,"a":4,"i":4,"ū":4,"r":[{"a":5,"ū":5,"ē":5}]}],"t":[{"i":4,"ā":4,"ī":4,"u":4,"o":4,"e":4,"a":4,"ū":4,"ē":4,"r":[{"ī":5,"u":5,"e":5,"i":5,"ā":5}],"n":[{"i":5}]}],"p":[{"u":4,"ē":4,"o":4,"a":4,"e":4,"ā":4,"i":4,"ī":4,"r":[{"a":5,"o":5,"ā":5,"i":5,"e":5,"ū":5}],"ļ":[{"a":5}]}],"l":[{"o":4,"i":4,"a":4,"ē":4,"u":4,"e":4,"ī":4,"ā":4,"v":[{"e":5}]}]}],"v":[{"ī":4,"ē":4,"e":4,"i":4,"a":4,"o":4,"u":4,"ā":4}],"z":[{"o":4,"a":4,"e":4,"i":4,"ā":4,"u":4,"ī":4,"v":[{"ē":4,"a":4}],"d":[{"a":4}],"k":[{"o":4}],"n":[{"i":4}]}],"č":[{"o":4,"ā":4,"u":4,"ī":4,"ū":4,"i":4,"a":4}],"d":[{"o":4,"ē":4,"u":4,"ā":4,"e":4,"i":4,"ī":4,"a":4,"ū":4,"z":[{"i":4,"e":4,"ī":4,"a":4,"ē":4,"o":4}],"r":[{"o":4,"a":4,"ū":4,"e":4,"u":4,"ī":4,"ā":4,"i":4}],"n":[{"ī":4,"i":4}],"ž":[{"i":4}],"v":[{"a":4}],"k":[{"o":4}],"d":[{"z":[{"i":5}]}]}],"t":[{"ū":4,"a":4,"i":4,"o":4,"ā":4,"u":4,"ē":4,"ī":4,"e":4,"r":[{"e":4,"a":4,"u":4,"ā":4,"ī":4,"i":4,"ū":4,"o":4}],"ņ":[{"u":4}],"n":[{"a":4,"ī":4,"ā":4,"i":4,"e":4,"o":4,"u":4,"ē":4}],"s":[{"a":4,"t":[{"a":5}]}],"v":[{"e":4,"a":4,"ē":4}],"m":[{"ē":4}]}],"c":[{"ī":4,"u":4,"i":4,"ē":4,"e":4,"a":4}],"l":[{"ī":4,"ē":4,"ā":4,"u":4,"o":4,"a":4,"e":4,"i":4,"ū":4}],"n":[{"ī":4,"o":4,"e":4,"ē":4,"u":4,"a":4,"ā":4,"i":4}],"m":[{"i":4,"o":4,"a":4,"u":4,"e":4,"ē":4,"ā":4,"ū":4,"ī":4}],"š":[{"o":4,"u":4,"i":4,"a":4,"ī":4,"ū":4,"ā":4,"ļ":[{"a":4,"u":4,"i":4}],"m":[{"a":4,"ī":4}],"ņ":[{"o":4,"a":4,"u":4}],"v":[{"ī":4,"i":4}],"p":[{"a":4}],"r":[{"u":4,"o":4}],"ķ":[{"i":4,"ī":4,"ē":4,"e":4,"a":4,"o":4,"ū":4}],"t":[{"a":4}]}],"ž":[{"u":4,"i":4,"ā":4,"ē":4,"o":4,"v":[{"a":4,"ī":4}],"ņ":[{"a":4}]}],"g":[{"a":4,"ā":4,"i":4,"o":4,"ū":4,"u":4,"r":[{"ē":4,"ū":4,"e":4,"u":4,"a":4,"i":4,"ā":4,"o":4}],"t":[{"i":4,"ā":4,"u":4,"o":4,"a":4}],"v":[{"e":4}],"š":[{"o":4,"a":4,"u":4}],"l":[{"ū":4,"ā":4,"i":4,"a":4,"e":4,"u":4}],"s":[{"i":4,"t":[{"i":5,"u":5,"o":5,"a":5}]}],"d":[{"i":4}],"m":[{"e":4}]}],"ņ":[{"u":4,"a":4,"ē":4,"o":4,"i":4,"e":4}],"k":[{"ū":4,"u":4,"a":4,"i":4,"o":4,"ā":4,"n":[{"a":4,"ā":4,"i":4,"u":4}],"l":[{"ī":4,"e":4,"ā":4,"a":4,"i":4,"u":4}],"r":[{"ī":4,"e":4,"o":4,"a":4,"ā":4,"i":4,"ē":4,"u":4}],"v":[{"a":4,"i":4,"e":4,"ē":4}],"ļ":[{"ū":4}],"ņ":[{"u":4}],"s":[{"t":[{"i":5,"a":5}]}]}],"j":[{"ā":4,"ū":4,"u":4,"o":4,"a":4}],"p":[{"e":4,"a":4,"i":4,"ē":4,"o":4,"u":4,"ī":4,"ū":4,"ā":4,"l":[{"o":4,"e":4,"ā":4,"i":4,"ē":4,"ū":4,"ī":4,"a":4,"u":4}],"r":[{"ā":4,"o":4,"a":4,"e":4,"i":4}],"ļ":[{"ē":4,"ā":4,"a":4}],"s":[{"t":[{"a":5}]}]}],"r":[{"ū":4,"u":4,"ā":4,"ē":4,"i":4,"o":4,"ī":4,"a":4,"e":4}],"ģ":[{"e":4,"ē":4,"i":4}],"ķ":[{"i":4,"ē":4,"e":4,"ī":4}],"ļ":[{"u":4}],"f":[{"e":4,"i":4,"o":4,"a":4,"r":[{"a":4,"ē":4,"i":4,"ā":4}],"l":[{"i":4}]}]}],"č":[{"a":3,"u":3,"ā":3,"o":3,"s":[{"ū":4}],"p":[{"l":[{"ē":4}]}]}],"g":[{"e":3,"i":3,"u":3,"o":3,"a":3,"ā":3,"ū":3,"n":[{"e":4}],"t":[{"i":4,"u":4,"o":4,"ā":4,"a":4}],"l":[{"a":4}],"š":[{"o":4,"a":4,"u":4}],"r":[{"i":4}],"s":[{"i":4,"t":[{"i":4,"o":4,"u":4,"a":4,"v":[{"i":5}]}]}]}],"f":[{"i":3,"e":3,"u":3,"a":3,"r":[{"i":4}]}],"š":[{"a":3,"u":3,"o":3,"ķ":[{"i":4}],"ņ":[{"a":4,"ā":4,"i":4,"u":4,"o":4}],"k":[{"r":[{"u":4}]}]}],"t":[{"e":3,"o":3,"i":3,"u":3,"ā":3,"ē":3,"ī":3,"a":3,"v":[{"i":4,"ē":4,"e":4}],"k":[{"o":4,"i":4,"a":4,"ā":4,"r":[{"ū":4}]}],"m":[{"e":4,"ā":4}],"r":[{"ā":4,"e":4,"o":4,"ī":4,"a":4,"i":4,"u":4,"r":[{"a":4}],"d":[{"a":4}],"v":[{"i":4}],"š":[{"u":4,"ā":4}],"g":[{"ā":4,"r":[{"i":5}]}],"m":[{"o":4}],"s":[{"l":[{"i":5}],"p":[{"i":5,"ē":5}]}],"b":[{"r":[{"a":5}]}]}],"n":[{"e":4,"ā":4,"o":4,"a":4,"u":4,"ī":4,"i":4,"ē":4}],"s":[{"a":4,"e":4,"t":[{"ā":4}],"k":[{"o":4}],"p":[{"ē":4}],"m":[{"a":4}],"n":[{"a":4}]}],"ņ":[{"u":4}],"b":[{"ū":4}],"l":[{"i":4}],"t":[{"i":4}],"z":[{"ī":4,"e":4}],"p":[{"e":4}],"d":[{"o":4,"z":[{"ī":4}]}],"c":[{"e":4}]}],"p":[{"u":3,"a":3,"ā":3,"ē":3,"ī":3,"o":3,"i":3,"e":3,"n":[{"i":4,"e":4,"ē":4}],"r":[{"o":4,"a":4,"i":4}],"t":[{"u":4,"ā":4,"i":4,"o":4,"a":4}],"ņ":[{"u":4}],"j":[{"a":4,"i":4,"o":4,"u":4,"v":[{"e":4,"ī":4}]}],"š":[{"u":4,"o":4,"a":4}],"s":[{"i":4,"l":[{"i":4}],"t":[{"u":4,"i":4,"o":4,"a":4}]}]}],"m":[{"a":3,"o":3,"ā":3,"ī":3,"ē":3,"i":3,"u":3,"e":3,"d":[{"i":4}],"p":[{"i":4,"a":4,"u":4}],"r":[{"i":4}],"j":[{"a":4,"u":4}],"g":[{"a":4,"ā":4,"l":[{"ā":4}],"r":[{"ā":4}]}],"n":[{"i":4}],"m":[{"a":4}],"v":[{"i":4,"ā":4}],"b":[{"r":[{"a":4}]}]}],"j":[{"a":3,"o":3,"ē":3,"ī":3,"i":3,"e":3,"ā":3,"u":3,"t":[{"u":4}],"l":[{"o":4}],"r":[{"e":4,"ū":4,"a":4}],"k":[{"u":4,"a":4}],"m":[{"ā":4,"u":4}],"n":[{"i":4}],"v":[{"i":4}],"p":[{"e":4,"u":4,"r":[{"ā":4}]}],"b":[{"a":4,"u":4}],"g":[{"a":4,"l":[{"e":4}]}],"d":[{"o":4,"z":[{"ī":4,"i":4}]}],"s":[{"a":4,"t":[{"a":4,"r":[{"ā":5}]}],"l":[{"a":4}],"k":[{"o":4}]}]}],"ļ":[{"o":3,"a":3,"ā":3,"u":3,"i":3,"d":[{"z":[{"i":4}]}]}],"v":[{"ē":3,"a":3,"ī":3,"u":3,"ā":3,"e":3,"o":3,"i":3,"d":[{"a":4}],"j":[{"a":4,"i":4,"u":4}],"r":[{"a":4}],"c":[{"e":4}],"n":[{"i":4}],"m":[{"a":4}],"v":[{"a":4,"i":4}],"l":[{"a":4}],"s":[{"t":[{"i":4}]}],"z":[{"v":[{"a":4}]}],"g":[{"r":[{"ū":4}]}]}],"ž":[{"o":3,"i":3,"ā":3,"u":3,"a":3,"n":[{"i":4}],"r":[{"a":4}]}],"ņ":[{"o":3,"i":3,"e":3,"u":3,"a":3,"m":[{"u":4}],"t":[{"i":4}]}],"k":[{"ā":3,"a":3,"o":3,"u":3,"i":3,"t":[{"u":4,"ī":4,"a":4,"o":4,"ā":4,"i":4}],"k":[{"ā":4}],"d":[{"a":4}],"l":[{"u":4,"e":4,"i":4,"a":4}],"b":[{"a":4}],"ļ":[{"a":4,"i":4,"u":4,"o":4,"s":[{"t":[{"ā":5}]}]}],"š":[{"a":4,"o":4,"u":4,"ķ":[{"u":4,"i":4}]}],"r":[{"e":4}],"s":[{"i":4,"l":[{"a":4,"ī":4,"o":4,"i":4,"u":4}],"t":[{"e":4,"ī":4,"o":4}],"m":[{"e":4}],"n":[{"e":4,"i":4}]}],"z":[{"i":4}]}],"ķ":[{"i":3,"e":3,"u":3,"a":3,"ī":3,"ē":3,"v":[{"e":4}]}],"s":[{"a":3,"ū":3,"ā":3,"i":3,"ē":3,"e":3,"o":3,"u":3,"ī":3,"t":[{"ā":4,"u":4,"a":4,"o":4,"e":4,"ī":4,"i":4,"n":[{"i":4}],"r":[{"ā":4}]}],"m":[{"a":4,"e":4,"o":4}],"v":[{"i":4}],"n":[{"a":4,"e":4,"ī":4,"o":4,"ā":4,"i":4,"u":4,"k":[{"u":4}]}],"k":[{"a":4,"u":4}],"l":[{"a":4,"ē":4}]}],"d":[{"u":3,"i":3,"ā":3,"e":3,"o":3,"ē":3,"ī":3,"a":3,"ž":[{"ā":3,"i":3,"a":3,"u":3}],"z":[{"i":3,"e":3,"ē":3,"ī":3}],"m":[{"i":4}],"n":[{"ī":4,"e":4,"i":4}],"r":[{"e":4}],"v":[{"e":4}]}],"ģ":[{"ē":3,"i":3,"a":3,"v":[{"e":4}],"z":[{"o":4}]}],"c":[{"ā":3,"o":3,"i":3,"a":3,"ī":3,"ē":3,"u":3,"e":3}],"z":[{"ā":3,"ī":3,"i":3,"ē":3,"u":3,"e":3,"a":3,"o":3,"t":[{"u":4,"o":4,"i":4,"ā":4,"a":4}],"v":[{"ā":4,"e":4}],"m":[{"o":4,"a":4}],"n":[{"i":4,"e":4}],"b":[{"e":4}],"ģ":[{"e":4}]}]}],"ī":[{"z":[{"ē":3,"u":3,"a":3,"ā":3,"ī":3,"i":3,"e":3,"o":3,"d":[{"e":4,"a":4}]}],"m":[{"a":3,"o":3,"ā":3,"e":3,"ī":3,"u":3,"ē":3,"i":3,"r":[{"e":4}],"k":[{"a":4}],"j":[{"u":4,"a":4}]}],"g":[{"a":3,"ā":3,"o":3,"u":3,"i":3,"l":[{"i":4,"o":4,"ī":4,"e":4}],"m":[{"ā":4,"e":4}],"r":[{"u":4,"ā":4,"a":4,"i":4,"o":4}],"s":[{"a":4,"i":4,"k":[{"o":4}],"t":[{"u":4,"a":4,"i":4,"o":4,"r":[{"ā":5}]}],"n":[{"ē":4}]}],"n":[{"ā":4,"u":4,"a":4,"i":4,"o":4}],"t":[{"i":4,"ā":4,"u":4,"e":4,"a":4,"o":4,"ē":4,"s":[{"p":[{"ē":5}]}]}],"š":[{"u":4,"o":4,"a":4}],"ņ":[{"a":4,"ā":4}],"v":[{"a":4,"ā":4}],"c":[{"e":4}],"z":[{"n":[{"a":4}]}],"ļ":[{"l":[{"a":4}]}]}],"t":[{"e":3,"ī":3,"ē":3,"i":3,"u":3,"ā":3,"a":3,"o":3,"v":[{"ī":4,"a":4}],"r":[{"ī":4,"e":4,"a":4,"i":4,"u":4,"ā":4,"o":4}],"k":[{"a":4,"ā":4}],"ņ":[{"u":4,"m":[{"ē":4}],"g":[{"r":[{"i":5}]}]}],"c":[{"i":4}],"n":[{"ē":4,"i":4,"a":4,"e":4}],"p":[{"a":4,"r":[{"a":4}]}],"l":[{"ī":4}],"d":[{"i":4,"a":4}],"b":[{"i":4}],"s":[{"a":4,"k":[{"a":4}],"p":[{"ē":4}]}]}],"j":[{"a":3,"o":3,"ā":3,"u":3,"i":3}],"r":[{"e":3,"i":3,"u":3,"o":3,"ā":3,"ī":3,"a":3,"ē":3,"n":[{"i":4,"a":4}],"r":[{"ū":4,"a":4}],"f":[{"a":4}],"m":[{"a":4}],"k":[{"ū":4,"u":4}],"g":[{"a":4,"r":[{"o":4}]}],"s":[{"ē":4,"k":[{"a":4}],"v":[{"a":4}]}],"š":[{"ķ":[{"i":4}]}]}],"ž":[{"ī":3,"a":3,"o":3,"i":3,"u":3,"m":[{"e":4}],"n":[{"i":4}]}],"c":[{"i":3,"o":3,"a":3,"ē":3,"ā":3,"ī":3,"u":3,"e":3,"š":[{"e":4}],"k":[{"u":4}],"g":[{"a":4}],"n":[{"i":4}]}],"v":[{"ī":3,"e":3,"o":3,"ā":3,"i":3,"ē":3,"u":3,"a":3,"n":[{"i":4}],"g":[{"a":4,"r":[{"ā":4}]}],"s":[{"u":4,"i":4,"o":4,"t":[{"u":4}],"v":[{"a":4}]}],"m":[{"ā":4,"ū":4,"a":4}],"z":[{"e":4,"ā":4}],"l":[{"ī":4,"a":4}],"b":[{"i":4,"a":4,"ē":4}],"d":[{"o":4,"i":4,"r":[{"ē":4}]}],"c":[{"i":4}],"k":[{"u":4,"o":4,"l":[{"a":4}]}],"p":[{"i":4,"r":[{"ā":4}]}],"t":[{"i":4}],"j":[{"a":4}]}],"b":[{"ē":3,"i":3,"ā":3,"u":3,"e":3,"a":3,"o":3,"t":[{"u":4,"ā":4,"i":4,"a":4,"o":4}],"n":[{"i":4,"e":4}],"š":[{"u":4,"a":4,"o":4}],"s":[{"i":4,"t":[{"a":4,"i":4,"o":4,"u":4}],"p":[{"ē":4}]}]}],"l":[{"e":3,"a":3,"o":3,"u":3,"ē":3,"i":3,"ā":3,"ī":3,"z":[{"i":4}],"n":[{"i":4}]}],"n":[{"a":3,"o":3,"i":3,"u":3,"ē":3,"e":3,"ā":3,"ī":3,"t":[{"a":4,"e":4}],"v":[{"a":4,"i":4}],"b":[{"ū":4,"u":4}],"d":[{"a":4,"e":4,"ā":4}],"r":[{"a":4,"ū":4}],"s":[{"a":4,"k":[{"ā":4}],"t":[{"r":[{"ā":5}]}]}],"m":[{"ā":4,"e":4}],"p":[{"i":4}],"k":[{"o":4,"r":[{"ū":4}]}]}],"ļ":[{"a":3,"o":3,"u":3,"i":3,"ā":3,"ī":3,"b":[{"ā":4}],"s":[{"i":4}],"v":[{"e":4}],"k":[{"n":[{"ā":4}]}]}],"s":[{"ē":3,"u":3,"e":3,"o":3,"ā":3,"a":3,"ī":3,"i":3,"g":[{"a":4}],"l":[{"a":4,"e":4,"i":4,"ā":4,"o":4}],"ž":[{"u":4}],"z":[{"a":4}],"c":[{"ī":4,"a":4,"o":4}],"k":[{"a":4,"ā":4,"r":[{"ā":4}]}],"t":[{"u":4,"i":4,"ī":4,"ā":4,"a":4,"ē":4,"o":4,"ū":4,"e":4}],"r":[{"a":4,"i":4,"e":4}],"b":[{"a":4}],"s":[{"i":4,"a":4,"p":[{"a":4}],"t":[{"ū":4}]}],"v":[{"ē":4,"i":4,"a":4}],"f":[{"i":4}],"p":[{"a":4,"u":4,"r":[{"o":4}]}],"d":[{"e":4}],"š":[{"ķ":[{"i":4}]}]}],"k":[{"i":3,"u":3,"ā":3,"e":3,"o":3,"a":3,"l":[{"ī":4,"o":4,"i":4,"u":4,"a":4,"ā":4,"e":4}],"n":[{"ē":4,"a":4,"e":4}],"t":[{"i":4,"ā":4,"a":4,"u":4,"o":4}],"ļ":[{"u":4}],"d":[{"e":4,"a":4,"i":4}],"b":[{"u":4,"ū":4}],"š":[{"a":4,"u":4,"o":4,"ķ":[{"o":4,"i":4,"u":4,"ē":4,"a":4}],"ņ":[{"a":4}]}],"p":[{"i":4,"l":[{"a":4}]}],"z":[{"e":4}],"k":[{"ā":4,"o":4}],"m":[{"e":4,"u":4,"a":4}],"r":[{"ā":4,"ū":4,"a":4}],"s":[{"i":4,"a":4,"t":[{"u":4,"e":4,"ē":4,"ā":4,"i":4,"o":4,"a":4,"ī":4,"m":[{"ē":5}],"s":[{"i":5}],"p":[{"i":5}],"č":[{"a":5}]}],"m":[{"ī":4,"i":4,"o":4,"e":4,"ā":4,"ē":4,"u":4,"a":4}],"n":[{"a":4,"ā":4,"e":4}],"p":[{"r":[{"o":5}]}]}],"ņ":[{"ā":4}],"g":[{"r":[{"u":4,"a":4}]}]}],"d":[{"e":3,"ā":3,"i":3,"ī":3,"ē":3,"o":3,"u":3,"a":3,"z":[{"e":3,"ī":3,"ā":3,"o":3,"i":3,"u":3,"ē":3,"a":3,"j":[{"ū":5,"u":5}],"n":[{"i":5,"ā":5}],"š":[{"i":5}],"t":[{"e":5,"i":5}],"c":[{"i":5}],"k":[{"o":5}],"p":[{"r":[{"o":5}]}],"s":[{"k":[{"a":5}],"v":[{"a":5}]}]}],"l":[{"ī":4,"a":4}],"s":[{"e":4}],"n":[{"i":4}],"p":[{"a":4}],"v":[{"i":4}],"k":[{"o":4}],"m":[{"ē":4}]}],"š":[{"e":3,"i":3,"u":3,"o":3,"ā":3,"a":3,"ķ":[{"i":4}],"ļ":[{"a":4}]}],"ģ":[{"e":3,"i":3}],"p":[{"ā":3,"a":3,"ē":3,"i":3,"o":3,"u":3,"e":3,"ī":3,"r":[{"i":4}],"n":[{"e":4}],"s":[{"l":[{"a":4,"e":4}]}]}],"ķ":[{"u":3,"e":3,"a":3,"i":3,"s":[{"a":4}],"m":[{"a":4}]}],"č":[{"u":3,"o":3}],"ņ":[{"u":3,"ā":3,"a":3,"i":3,"n":[{"i":4}],"l":[{"a":4}]}],"f":[{"e":3}]}],"b":[{"d":[{"a":[{"m":[{"s":[{".":7}],"a":[{".":8}],"i":[{"e":[{"s":[{".":8}]}]}],"ā":[{"s":[{".":8}]}]}]}]}],"g":[{"a":[{"n":[{"s":[{".":7}],"a":[{".":8}]}]}]}],"n":[{"i":[{"e":[{"k":[{"s":[{".":7}]}],"c":[{"e":[{".":9}]}]}]}],"ī":[{"c":[{"a":[{".":8}]}]}]}],"š":[{"a":[{"n":[{"a":[{".":8}],"ā":[{"s":[{".":8}]}]}]}]}],"t":[{"a":[{"l":[{"a":[{".":8}]}]}],"u":[{"v":[{"e":[{".":8}]}]}]}],"a":[{"l":[{"t":[{"m":[{"a":32}]}]}]}]}],"c":[{"d":[{"a":[{"m":[{"s":[{".":7}],"a":[{".":8}],"i":[{"e":[{"s":[{".":8}]}]}],"ā":[{"s":[{".":8}]}]}]}]}],"g":[{"a":[{"n":[{"s":[{".":7}],"a":[{".":8}]}]}]}],"n":[{"i":[{"e":[{"k":[{"s":[{".":7}]}],"c":[{"e":[{".":9}]}]}]}],"ī":[{"c":[{"a":[{".":8}]}]}]}],"š":[{"a":[{"n":[{"a":[{".":8}],"ā":[{"s":[{".":8}]}]}]}]}],"t":[{"a":[{"l":[{"a":[{".":8}]}]}],"u":[{"v":[{"e":[{".":8}]}]}]}]}],"č":[{"d":[{"a":[{"m":[{"s":[{".":7}],"a":[{".":8}],"i":[{"e":[{"s":[{".":8}]}]}],"ā":[{"s":[{".":8}]}]}]}]}],"g":[{"a":[{"n":[{"s":[{".":7}],"a":[{".":8}]}]}]}],"n":[{"i":[{"e":[{"k":[{"s":[{".":7}]}],"c":[{"e":[{".":9}]}]}]}],"ī":[{"c":[{"a":[{".":8}]}]}]}],"š":[{"a":[{"n":[{"a":[{".":8}],"ā":[{"s":[{".":8}]}]}]}]}],"t":[{"a":[{"l":[{"a":[{".":8}]}]}],"u":[{"v":[{"e":[{".":8}]}]}]}]}],"f":[{"d":[{"a":[{"m":[{"s":[{".":7}],"a":[{".":8}],"i":[{"e":[{"s":[{".":8}]}]}],"ā":[{"s":[{".":8}]}]}]}]}],"g":[{"a":[{"n":[{"s":[{".":7}],"a":[{".":8}]}]}]}],"n":[{"i":[{"e":[{"k":[{"s":[{".":7}]}],"c":[{"e":[{".":9}]}]}]}],"ī":[{"c":[{"a":[{".":8}]}]}]}],"š":[{"a":[{"n":[{"a":[{".":8}],"ā":[{"s":[{".":8}]}]}]}]}],"t":[{"a":[{"l":[{"a":[{".":8}]}]}],"u":[{"v":[{"e":[{".":8}]}]}]}]}],"g":[{"d":[{"a":[{"m":[{"s":[{".":7}],"a":[{".":8}],"i":[{"e":[{"s":[{".":8}]}]}],"ā":[{"s":[{".":8}]}]}]}]}],"g":[{"a":[{"n":[{"s":[{".":7}],"a":[{".":8}]}]}]}],"n":[{"i":[{"e":[{"k":[{"s":[{".":7}]}],"c":[{"e":[{".":9}]}]}]}],"ī":[{"c":[{"a":[{".":8}]}]}]}],"š":[{"a":[{"n":[{"a":[{".":8}],"ā":[{"s":[{".":8}]}]}]}],"g":[{"a":[{"l":22}]}]}],"t":[{"a":[{"l":[{"a":[{".":8}]}]}],"u":[{"v":[{"e":[{".":8}]}]}]}]}],"ģ":[{"d":[{"a":[{"m":[{"s":[{".":7}],"a":[{".":8}],"i":[{"e":[{"s":[{".":8}]}]}],"ā":[{"s":[{".":8}]}]}]}]}],"g":[{"a":[{"n":[{"s":[{".":7}],"a":[{".":8}]}]}]}],"n":[{"i":[{"e":[{"k":[{"s":[{".":7}]}],"c":[{"e":[{".":9}]}]}]}],"ī":[{"c":[{"a":[{".":8}]}]}]}],"š":[{"a":[{"n":[{"a":[{".":8}],"ā":[{"s":[{".":8}]}]}]}]}],"t":[{"a":[{"l":[{"a":[{".":8}]}]}],"u":[{"v":[{"e":[{".":8}]}]}]}]}],"h":[{"d":[{"a":[{"m":[{"s":[{".":7}],"a":[{".":8}],"i":[{"e":[{"s":[{".":8}]}]}],"ā":[{"s":[{".":8}]}]}]}]}],"g":[{"a":[{"n":[{"s":[{".":7}],"a":[{".":8}]}]}]}],"n":[{"i":[{"e":[{"k":[{"s":[{".":7}]}],"c":[{"e":[{".":9}]}]}]}],"ī":[{"c":[{"a":[{".":8}]}]}]}],"š":[{"a":[{"n":[{"a":[{".":8}],"ā":[{"s":[{".":8}]}]}]}]}],"t":[{"a":[{"l":[{"a":[{".":8}]}]}],"u":[{"v":[{"e":[{".":8}]}]}]}]}],"j":[{"d":[{"a":[{"m":[{"s":[{".":7}],"a":[{".":8}],"i":[{"e":[{"s":[{".":8}]}]}],"ā":[{"s":[{".":8}]}]}]}]}],"g":[{"a":[{"n":[{"s":[{".":7}],"a":[{".":8}]}]}]}],"n":[{"i":[{"e":[{"k":[{"s":[{".":7}]}],"c":[{"e":[{".":9}]}]}]}],"ī":[{"c":[{"a":[{".":8}]}]}]}],"š":[{"a":[{"n":[{"a":[{".":8}],"ā":[{"s":[{".":8}]}]}]}]}],"t":[{"a":[{"l":[{"a":[{".":8}]}]}],"u":[{"v":[{"e":[{".":8}]}]}]}]}],"k":[{"d":[{"a":[{"m":[{"s":[{".":7}],"a":[{".":8}],"i":[{"e":[{"s":[{".":8}]}]}],"ā":[{"s":[{".":8}]}]}]}]}],"g":[{"a":[{"n":[{"s":[{".":7}],"a":[{".":8}]}]}]}],"n":[{"i":[{"e":[{"k":[{"s":[{".":7}]}],"c":[{"e":[{".":9}]}]}]}],"ī":[{"c":[{"a":[{".":8}]}]}]}],"š":[{"a":[{"n":[{"a":[{".":8}],"ā":[{"s":[{".":8}]}]}]}],"g":[{"a":[{"l":22}]}]}],"t":[{"a":[{"l":[{"a":[{".":8}]}]}],"u":[{"v":[{"e":[{".":8}]}]}]}],"ā":[{"r":[{"t":[{"n":32}]}]}]}],"ķ":[{"d":[{"a":[{"m":[{"s":[{".":7}],"a":[{".":8}],"i":[{"e":[{"s":[{".":8}]}]}],"ā":[{"s":[{".":8}]}]}]}]}],"g":[{"a":[{"n":[{"s":[{".":7}],"a":[{".":8}]}]}]}],"n":[{"i":[{"e":[{"k":[{"s":[{".":7}]}],"c":[{"e":[{".":9}]}]}]}],"ī":[{"c":[{"a":[{".":8}]}]}]}],"š":[{"a":[{"n":[{"a":[{".":8}],"ā":[{"s":[{".":8}]}]}]}]}],"t":[{"a":[{"l":[{"a":[{".":8}]}]}],"u":[{"v":[{"e":[{".":8}]}]}]}]}],"l":[{"d":[{"a":[{"m":[{"s":[{".":7}],"a":[{".":8}],"i":[{"e":[{"s":[{".":8}]}]}],"ā":[{"s":[{".":8}]}]}]}]}],"g":[{"a":[{"n":[{"s":[{".":7}],"a":[{".":8}]}]}]}],"n":[{"i":[{"e":[{"k":[{"s":[{".":7}]}],"c":[{"e":[{".":9}]}]}]}],"ī":[{"c":[{"a":[{".":8}]}]}]}],"š":[{"a":[{"n":[{"a":[{".":8}],"ā":[{"s":[{".":8}]}]}]}]}],"t":[{"a":[{"l":[{"a":[{".":8}]}]}],"u":[{"v":[{"e":[{".":8}]}]}]}]}],"ļ":[{"d":[{"a":[{"m":[{"s":[{".":7}],"a":[{".":8}],"i":[{"e":[{"s":[{".":8}]}]}],"ā":[{"s":[{".":8}]}]}]}]}],"g":[{"a":[{"n":[{"s":[{".":7}],"a":[{".":8}]}]}]}],"n":[{"i":[{"e":[{"k":[{"s":[{".":7}]}],"c":[{"e":[{".":9}]}]}]}],"ī":[{"c":[{"a":[{".":8}]}]}]}],"š":[{"a":[{"n":[{"a":[{".":8}],"ā":[{"s":[{".":8}]}]}]}]}],"t":[{"a":[{"l":[{"a":[{".":8}]}]}],"u":[{"v":[{"e":[{".":8}]}]}]}]}],"m":[{"d":[{"a":[{"m":[{"s":[{".":7}],"a":[{".":8}],"i":[{"e":[{"s":[{".":8}]}]}],"ā":[{"s":[{".":8}]}]}]}]}],"g":[{"a":[{"n":[{"s":[{".":7}],"a":[{".":8}]}]}]}],"n":[{"i":[{"e":[{"k":[{"s":[{".":7}]}],"c":[{"e":[{".":9}]}]}]}],"ī":[{"c":[{"a":[{".":8}]}]}]}],"š":[{"a":[{"n":[{"a":[{".":8}],"ā":[{"s":[{".":8}]}]}]}]}],"t":[{"a":[{"l":[{"a":[{".":8}]}]}],"u":[{"v":[{"e":[{".":8}]}]}]}],"ē":[{"n":[{"e":[{"š":20}]}]}]}],"n":[{"d":[{"a":[{"m":[{"s":[{".":7}],"a":[{".":8}],"i":[{"e":[{"s":[{".":8}]}]}],"ā":[{"s":[{".":8}]}]}]}]}],"g":[{"a":[{"n":[{"s":[{".":7}],"a":[{".":8}]}]}]}],"n":[{"i":[{"e":[{"k":[{"s":[{".":7}]}],"c":[{"e":[{".":9}]}]}]}],"ī":[{"c":[{"a":[{".":8}]}]}]}],"š":[{"a":[{"n":[{"a":[{".":8}],"ā":[{"s":[{".":8}]}]}]}]}],"t":[{"a":[{"l":[{"a":[{".":8}]}]}],"u":[{"v":[{"e":[{".":8}]}]}]}]}],"ņ":[{"d":[{"a":[{"m":[{"s":[{".":7}],"a":[{".":8}],"i":[{"e":[{"s":[{".":8}]}]}],"ā":[{"s":[{".":8}]}]}]}]}],"g":[{"a":[{"n":[{"s":[{".":7}],"a":[{".":8}]}]}]}],"n":[{"i":[{"e":[{"k":[{"s":[{".":7}]}],"c":[{"e":[{".":9}]}]}]}],"ī":[{"c":[{"a":[{".":8}]}]}]}],"š":[{"a":[{"n":[{"a":[{".":8}],"ā":[{"s":[{".":8}]}]}]}]}],"t":[{"a":[{"l":[{"a":[{".":8}]}]}],"u":[{"v":[{"e":[{".":8}]}]}]}]}],"p":[{"d":[{"a":[{"m":[{"s":[{".":7}],"a":[{".":8}],"i":[{"e":[{"s":[{".":8}]}]}],"ā":[{"s":[{".":8}]}]}]}]}],"g":[{"a":[{"n":[{"s":[{".":7}],"a":[{".":8}]}]}]}],"n":[{"i":[{"e":[{"k":[{"s":[{".":7}]}],"c":[{"e":[{".":9}]}]}]}],"ī":[{"c":[{"a":[{".":8}]}]}]}],"š":[{"a":[{"n":[{"a":[{".":8}],"ā":[{"s":[{".":8}]}]}]}]}],"t":[{"a":[{"l":[{"a":[{".":8}]}]}],"u":[{"v":[{"e":[{".":8}]}]}]}],"a":[{"d":[{"s":[{"m":[{"i":[{"t":21}]}]}]}],"t":[{"s":[{"t":[{"ā":25}]}]}],"s":[{"t":[{"k":26,"m":26,"s":[{".":27}]}]}],"r":[{"k":[{"s":[{".":27}],"e":[{"t":25}]}]}]}],"o":[{"r":[{"t":24}]}],"i":[{"r":[{"m":[{"r":17,"k":17,"s":30}]}]}]}],"r":[{"d":[{"a":[{"m":[{"s":[{".":7}],"a":[{".":8}],"i":[{"e":[{"s":[{".":8}]}]}],"ā":[{"s":[{".":8}]}]}]}]}],"g":[{"a":[{"n":[{"s":[{".":7}],"a":[{".":8}]}]}]}],"n":[{"i":[{"e":[{"k":[{"s":[{".":7}]}],"c":[{"e":[{".":9}]}]}]}],"ī":[{"c":[{"a":[{".":8}]}]}]}],"š":[{"a":[{"n":[{"a":[{".":8}],"ā":[{"s":[{".":8}]}]}]}]}],"t":[{"a":[{"l":[{"a":[{".":8}]}]}],"u":[{"v":[{"e":[{".":8}]}]}]}]}],"s":[{"d":[{"a":[{"m":[{"s":[{".":7}],"a":[{".":8}],"i":[{"e":[{"s":[{".":8}]}]}],"ā":[{"s":[{".":8}]}]}]}]}],"g":[{"a":[{"n":[{"s":[{".":7}],"a":[{".":8}]}]}]}],"n":[{"i":[{"e":[{"k":[{"s":[{".":7}]}],"c":[{"e":[{".":9}]}]}]}],"ī":[{"c":[{"a":[{".":8}]}]}]}],"š":[{"a":[{"n":[{"a":[{".":8}],"ā":[{"s":[{".":8}]}]}]}]}],"t":[{"a":[{"l":[{"a":[{".":8}]}]}],"u":[{"v":[{"e":[{".":8}]}]}]}],"a":[{"l":[{"s":[{".":28}],"d":[{"s":[{".":28}]},29]}]}]}],"š":[{"d":[{"a":[{"m":[{"s":[{".":7}],"a":[{".":8}],"i":[{"e":[{"s":[{".":8}]}]}],"ā":[{"s":[{".":8}]}]}]}]}],"g":[{"a":[{"n":[{"s":[{".":7}],"a":[{".":8}]}]}]}],"n":[{"i":[{"e":[{"k":[{"s":[{".":7}]}],"c":[{"e":[{".":9}]}]}]}],"ī":[{"c":[{"a":[{".":8}]}]}]}],"š":[{"a":[{"n":[{"a":[{".":8}],"ā":[{"s":[{".":8}]}]}]}]}],"t":[{"a":[{"l":[{"a":[{".":8}]}]}],"u":[{"v":[{"e":[{".":8}]}]}]}]}],"t":[{"d":[{"a":[{"m":[{"s":[{".":7}],"a":[{".":8}],"i":[{"e":[{"s":[{".":8}]}]}],"ā":[{"s":[{".":8}]}]}]}]}],"g":[{"a":[{"n":[{"s":[{".":7}],"a":[{".":8}]}]}]}],"n":[{"i":[{"e":[{"k":[{"s":[{".":7}]}],"c":[{"e":[{".":9}]}]}]}],"ī":[{"c":[{"a":[{".":8}]}]}]}],"š":[{"a":[{"n":[{"a":[{".":8}],"ā":[{"s":[{".":8}]}]}]}]}],"t":[{"a":[{"l":[{"a":[{".":8}]}]}],"u":[{"v":[{"e":[{".":8}]}]}]}],"r":[{"a":[{"n":[{"s":23}]}]}]}],"v":[{"d":[{"a":[{"m":[{"s":[{".":7}],"a":[{".":8}],"i":[{"e":[{"s":[{".":8}]}]}],"ā":[{"s":[{".":8}]}]}]}]}],"g":[{"a":[{"n":[{"s":[{".":7}],"a":[{".":8}]}]}]}],"n":[{"i":[{"e":[{"k":[{"s":[{".":7}]}],"c":[{"e":[{".":9}]}]}]}],"ī":[{"c":[{"a":[{".":8}]}]}]}],"š":[{"a":[{"n":[{"a":[{".":8}],"ā":[{"s":[{".":8}]}]}]}]}],"t":[{"a":[{"l":[{"a":[{".":8}]}]}],"u":[{"v":[{"e":[{".":8}]}]}]}],"ē":[{"s":[{"t":[{"n":17,"k":17}]}]}]}],"z":[{"d":[{"a":[{"m":[{"s":[{".":7}],"a":[{".":8}],"i":[{"e":[{"s":[{".":8}]}]}],"ā":[{"s":[{".":8}]}]}]}]}],"g":[{"a":[{"n":[{"s":[{".":7}],"a":[{".":8}]}]}]}],"n":[{"i":[{"e":[{"k":[{"s":[{".":7}]}],"c":[{"e":[{".":9}]}]}]}],"ī":[{"c":[{"a":[{".":8}]}]}]}],"š":[{"a":[{"n":[{"a":[{".":8}],"ā":[{"s":[{".":8}]}]}]}]}],"t":[{"a":[{"l":[{"a":[{".":8}]}]}],"u":[{"v":[{"e":[{".":8}]}]}]}]}],"ž":[{"d":[{"a":[{"m":[{"s":[{".":7}],"a":[{".":8}],"i":[{"e":[{"s":[{".":8}]}]}],"ā":[{"s":[{".":8}]}]}]}]}],"g":[{"a":[{"n":[{"s":[{".":7}],"a":[{".":8}]}]}]}],"n":[{"i":[{"e":[{"k":[{"s":[{".":7}]}],"c":[{"e":[{".":9}]}]}]}],"ī":[{"c":[{"a":[{".":8}]}]}]}],"š":[{"a":[{"n":[{"a":[{".":8}],"ā":[{"s":[{".":8}]}]}]}]}],"t":[{"a":[{"l":[{"a":[{".":8}]}]}],"u":[{"v":[{"e":[{".":8}]}]}]}]}]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/6557.adapter.js b/public/tools/cloud_sheets/vendor/univer/6557.adapter.js new file mode 100644 index 0000000..577ce57 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/6557.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[6557],{6557(s,o,e){e.r(o),e.d(o,{Cu:()=>n});const n=["08,008,0008,000007,0000007,000000078,00000078,0007,02,0001,002,001,0078,00001,000078,00008,00007,00078,007,0087,0000078,000087,000708,00000007,0000087,0002,00807,01,07,000008,8,0101,00101,01001,012,021,0212,0102,000001,01002,00002,00012,0012,0201,011,022,808,2,1,201,202,1021,0021,2001,21,212,221,0000001,10001,101,11,20001,8008,12,122,1001,2101,12001,1201,1202,10002,1002,22,2012,1012,00021,000807,2021,02001,102,00000087,2002,2102,10101,21001,121,80008,1101,1102,10021,100001,0202,0122,00087,1000001,112,88,001001,00102,00022,0011,0022,10102,20102,11001,800008",'{".":[{"а":[{"̀":1,"́":1,"̑":1,"҆":[{"̀":2,"́":2,"̈":2,"̑":2,"в":[{"е":[{"с":[{"с":[{"а":[{"л":[{"ѡ":[{"́":[{"м":3}]}]}]}]}]}]}]}],"к":[{"т":[{"а":[{"́":[{"ꙋ":4}]}]}]}],"р":[{"і":[{"̈":[{"а":[{"́":[{"д":[{"н":5}]}]}]}]}],"ї":[{"а":[{"́":[{"д":[{"н":6}]}]}]}]}],"с":[{"с":[{"ѵ":[{"̏":[{"р":7}]}],"ѷ":[{"р":7}]}]}]},1],"ⷠ":[{"҇":2},1],"ⷡ":[{"҇":2},1],"ⷢ":[{"҇":2},1],"ⷣ":[{"҇":2},1],"ⷤ":[{"҇":2},1],"ⷥ":[{"҇":2},1],"ⷦ":[{"҇":2},1],"ⷧ":[{"҇":2},1],"ⷨ":[{"҇":2},1],"ⷩ":[{"҇":2},1],"ⷪ":[{"҇":2},1],"ⷫ":[{"҇":2},1],"ⷬ":[{"҇":2},1],"ⷭ":[{"҇":2},1],"ⷮ":[{"҇":2},1],"ⷯ":[{"҇":2},1],"ⷰ":[{"҇":2},1],"ⷱ":[{"҇":2},1],"ⷲ":[{"҇":2},1],"ⷳ":[{"҇":2},1],"ⷴ":[{"҇":2},1],"ⷵ":[{"҇":2},1],"ⷶ":[{"҇":2},1],"ⷷ":[{"҇":2},1],"ⷸ":[{"҇":2},1],"ⷹ":[{"҇":2},1],"ⷺ":[{"҇":2},1],"ⷻ":[{"҇":2},1],"ⷼ":[{"҇":2},1],"ⷽ":[{"҇":2},1],"ⷾ":[{"҇":2},1],"ⷿ":[{"҇":2},1],"ꙴ":[{"҇":2},1],"ꙵ":[{"҇":2},1],"ꙶ":[{"҇":2},1],"ꙷ":[{"҇":2},1],"ꙸ":[{"҇":2},1],"ꙹ":[{"҇":2},1],"ꙺ":[{"҇":2},1],"ꙻ":[{"҇":2},1],"꙼":[{"҇":2},1],"꙽":[{"҇":2},1]},0],"б":[{"а":[{"́":9}],"и":[{"́":9,"ш":9},10],"л":[{"е":9}],"р":[{"о":9,"ѧ":9}],"ѧ":[{"́":9}]},8],"в":[{"а":[{"̑":9,"в":11,"л":11,"н":11,"х":11}],"д":[{"о":9}],"е":[{"д":11,"н":11}],"и":[{"́":9,"̑":9,"с":9,"т":11}],"л":[{"е":9}],"н":10,"о":[{"е":9,"с":[{"п":[{"р":[{"ѧ":[{"́":[{"н":12}],"н":12}]}],"ѣ":[{"́":[{"в":7}],"в":7}]}],"т":[{"р":[{"е":[{"́":[{"п":[{"е":[{"т":7}]}]}],"п":[{"е":[{"т":7}]}]}],"ꙋ":[{"́":[{"б":7}],"б":7}]}]}]}]}],"р":[{"і":[{"̈":13}],"ї":9}],"ч":[{"е":9}],"є":[{"́":9}],"і":[{"̈":[{"а":13},9]}],"ї":[{"а":9},11],"ѣ":[{"р":11,"т":11}],"ꙋ":11},8],"г":[{"е":[{"л":11}],"л":[{"ꙋ":9}],"р":[{"и":[{"́":[{"в":[{"н":[{"а":14,"ы":14}]}]}],"̑":[{"в":[{"н":[{"ы":14,"ѣ":14}]}]}]}],"ѧ":9}],"і":[{"̈":9}],"ї":11,"ꙋ":[{"б":11}]},8],"д":[{"а":[{"в":11,"л":11}],"и":[{"м":11,"с":11}],"о":[{"л":9,"с":11,"х":9}],"р":[{"о":9},10],"ы":[{"х":11}],"і":[{"̈":9}],"ї":11,"ѡ":[{"р":11}],"ѣ":[{"в":11,"л":11}],"ꙋ":[{"х":11}]},8],"е":[{"̀":1,"́":1,"̈":1,"̑":1,"҆":[{"̀":2,"́":2,"̈":2,"̑":2},1],"ⷠ":[{"҇":2},1],"ⷡ":[{"҇":2},1],"ⷢ":[{"҇":2},1],"ⷣ":[{"҇":2},1],"ⷤ":[{"҇":2},1],"ⷥ":[{"҇":2},1],"ⷦ":[{"҇":2},1],"ⷧ":[{"҇":2},1],"ⷨ":[{"҇":2},1],"ⷩ":[{"҇":2},1],"ⷪ":[{"҇":2},1],"ⷫ":[{"҇":2},1],"ⷬ":[{"҇":2},1],"ⷭ":[{"҇":2},1],"ⷮ":[{"҇":2},1],"ⷯ":[{"҇":2},1],"ⷰ":[{"҇":2},1],"ⷱ":[{"҇":2},1],"ⷲ":[{"҇":2},1],"ⷳ":[{"҇":2},1],"ⷴ":[{"҇":2},1],"ⷵ":[{"҇":2},1],"ⷶ":[{"҇":2},1],"ⷷ":[{"҇":2},1],"ⷸ":[{"҇":2},1],"ⷹ":[{"҇":2},1],"ⷺ":[{"҇":2},1],"ⷻ":[{"҇":2},1],"ⷼ":[{"҇":2},1],"ⷽ":[{"҇":2},1],"ⷾ":[{"҇":2},1],"ⷿ":[{"҇":2},1],"ꙴ":[{"҇":2},1],"ꙵ":[{"҇":2},1],"ꙶ":[{"҇":2},1],"ꙷ":[{"҇":2},1],"ꙸ":[{"҇":2},1],"ꙹ":[{"҇":2},1],"ꙺ":[{"҇":2},1],"ꙻ":[{"҇":2},1],"꙼":[{"҇":2},1],"꙽":[{"҇":2},1]},0],"ж":[{"е":[{"н":11,"с":11}],"и":[{"л":11,"т":11}],"є":[{"н":11}]},8],"з":[{"а":[{"н":11,"х":11}],"е":[{"́":[{"м":[{"л":[{"е":7,"ю":7}]}]}],"р":9}],"о":11,"ꙋ":11},8],"и":[{"̀":1,"́":1,"̆":[{"̀":2,"́":2,"̈":2,"̑":2,"҆":[{"̀":15,"́":15,"̈":15,"̑":15},2],"ⷠ":[{"҇":15},2],"ⷡ":[{"҇":15},2],"ⷢ":[{"҇":15},2],"ⷣ":[{"҇":15},2],"ⷤ":[{"҇":15},2],"ⷥ":[{"҇":15},2],"ⷦ":[{"҇":15},2],"ⷧ":[{"҇":15},2],"ⷨ":[{"҇":15},2],"ⷩ":[{"҇":15},2],"ⷪ":[{"҇":15},2],"ⷫ":[{"҇":15},2],"ⷬ":[{"҇":15},2],"ⷭ":[{"҇":15},2],"ⷮ":[{"҇":15},2],"ⷯ":[{"҇":15},2],"ⷰ":[{"҇":15},2],"ⷱ":[{"҇":15},2],"ⷲ":[{"҇":15},2],"ⷳ":[{"҇":15},2],"ⷴ":[{"҇":15},2],"ⷵ":[{"҇":15},2],"ⷶ":[{"҇":15},2],"ⷷ":[{"҇":15},2],"ⷸ":[{"҇":15},2],"ⷹ":[{"҇":15},2],"ⷺ":[{"҇":15},2],"ⷻ":[{"҇":15},2],"ⷼ":[{"҇":15},2],"ⷽ":[{"҇":15},2],"ⷾ":[{"҇":15},2],"ⷿ":[{"҇":15},2],"ꙴ":[{"҇":15},2],"ꙵ":[{"҇":15},2],"ꙶ":[{"҇":15},2],"ꙷ":[{"҇":15},2],"ꙸ":[{"҇":15},2],"ꙹ":[{"҇":15},2],"ꙺ":[{"҇":15},2],"ꙻ":[{"҇":15},2],"꙼":[{"҇":15},2],"꙽":[{"҇":15},2]},1],"̑":1,"҆":[{"̀":2,"́":2,"̈":2,"̑":2,"з":[{"б":[{"а":[{"́":[{"в":[{"л":[{"е":4,"ю":4}]}]}]}]}]}],"с":[{"а":[{"́":[{"і":[{"̈":[{"е":3,"ѧ":3}]}],"ї":[{"е":3,"ѧ":3}]}]}],"к":[{"а":[{"́":[{"п":[{"а":[{"в":7}]}]}]}],"о":[{"р":[{"е":[{"н":7}]}]}],"ꙋ":[{"́":[{"с":7}],"с":7}]}],"т":[{"е":[{"́":[{"к":7}],"к":7}],"о":[{"́":[{"т":[{"н":2}]}]}]}]}]},1],"ⷠ":[{"҇":2},1],"ⷡ":[{"҇":2},1],"ⷢ":[{"҇":2},1],"ⷣ":[{"҇":2},1],"ⷤ":[{"҇":2},1],"ⷥ":[{"҇":2},1],"ⷦ":[{"҇":2},1],"ⷧ":[{"҇":2},1],"ⷨ":[{"҇":2},1],"ⷩ":[{"҇":2},1],"ⷪ":[{"҇":2},1],"ⷫ":[{"҇":2},1],"ⷬ":[{"҇":2},1],"ⷭ":[{"҇":2},1],"ⷮ":[{"҇":2},1],"ⷯ":[{"҇":2},1],"ⷰ":[{"҇":2},1],"ⷱ":[{"҇":2},1],"ⷲ":[{"҇":2},1],"ⷳ":[{"҇":2},1],"ⷴ":[{"҇":2},1],"ⷵ":[{"҇":2},1],"ⷶ":[{"҇":2},1],"ⷷ":[{"҇":2},1],"ⷸ":[{"҇":2},1],"ⷹ":[{"҇":2},1],"ⷺ":[{"҇":2},1],"ⷻ":[{"҇":2},1],"ⷼ":[{"҇":2},1],"ⷽ":[{"҇":2},1],"ⷾ":[{"҇":2},1],"ⷿ":[{"҇":2},1],"ꙴ":[{"҇":2},1],"ꙵ":[{"҇":2},1],"ꙶ":[{"҇":2},1],"ꙷ":[{"҇":2},1],"ꙸ":[{"҇":2},1],"ꙹ":[{"҇":2},1],"ꙺ":[{"҇":2},1],"ꙻ":[{"҇":2},1],"꙼":[{"҇":2},1],"꙽":[{"҇":2},1]},0],"й":[{"̀":1,"́":1,"̈":1,"̑":1,"҆":[{"̀":2,"́":2,"̈":2,"̑":2},1],"ⷠ":[{"҇":2},1],"ⷡ":[{"҇":2},1],"ⷢ":[{"҇":2},1],"ⷣ":[{"҇":2},1],"ⷤ":[{"҇":2},1],"ⷥ":[{"҇":2},1],"ⷦ":[{"҇":2},1],"ⷧ":[{"҇":2},1],"ⷨ":[{"҇":2},1],"ⷩ":[{"҇":2},1],"ⷪ":[{"҇":2},1],"ⷫ":[{"҇":2},1],"ⷬ":[{"҇":2},1],"ⷭ":[{"҇":2},1],"ⷮ":[{"҇":2},1],"ⷯ":[{"҇":2},1],"ⷰ":[{"҇":2},1],"ⷱ":[{"҇":2},1],"ⷲ":[{"҇":2},1],"ⷳ":[{"҇":2},1],"ⷴ":[{"҇":2},1],"ⷵ":[{"҇":2},1],"ⷶ":[{"҇":2},1],"ⷷ":[{"҇":2},1],"ⷸ":[{"҇":2},1],"ⷹ":[{"҇":2},1],"ⷺ":[{"҇":2},1],"ⷻ":[{"҇":2},1],"ⷼ":[{"҇":2},1],"ⷽ":[{"҇":2},1],"ⷾ":[{"҇":2},1],"ⷿ":[{"҇":2},1],"ꙴ":[{"҇":2},1],"ꙵ":[{"҇":2},1],"ꙶ":[{"҇":2},1],"ꙷ":[{"҇":2},1],"ꙸ":[{"҇":2},1],"ꙹ":[{"҇":2},1],"ꙺ":[{"҇":2},1],"ꙻ":[{"҇":2},1],"꙼":[{"҇":2},1],"꙽":[{"҇":2},1]},0],"к":[{"а":[{"̑":9}],"и":10,"л":10,"о":[{"в":11,"е":9,"м":11}],"ѡ":[{"н":9}]},8],"л":[{"а":[{"в":11}],"и":[{"̑":9}],"ь":10,"і":[{"̈":9}],"ї":11,"ѵ":[{"̏":9}],"ѷ":11},8],"м":[{"а":[{"м":9,"н":11,"т":11}],"е":[{"л":[{"х":[{"і":[{"̈":[{"с":[{"е":[{"д":[{"е":[{"́":[{"к":7}]}]}]}]}]}]}],"ї":[{"с":[{"е":[{"д":[{"е":[{"́":[{"к":7}]}]}]}]}]}]}]}],"н":11,"р":9,"с":[{"с":[{"і":[{"́":7}]}]}],"т":[{"н":[{"е":[{"́":[{"н":12}]}]}]},11]}],"л":[{"е":9}],"о":[{"н":11,"р":9,"с":11,"щ":11}],"ы":[{"̑":9}],"ѧ":[{"т":11}]},8],"н":[{"а":[{"з":[{"а":[{"р":[{"е":[{"́":[{"т":16}]}]}]}]}],"м":11,"х":11}],"е":[{"ѡ":9},11],"и":[{"в":11,"к":11}],"ы":[{"́":9}],"ю":[{"́":9},10],"і":[{"̈":9}],"ї":11,"ѡ":[{"́":9}],"ѣ":[{"м":11}],"ѧ":[{"́":9}],"ꙋ":10},8],"о":[{"̀":1,"́":1,"̑":1,"҆":[{"̀":2,"́":2,"̈":2,"̑":2},1],"ⷠ":[{"҇":2},1],"ⷡ":[{"҇":2},1],"ⷢ":[{"҇":2},1],"ⷣ":[{"҇":2},1],"ⷤ":[{"҇":2},1],"ⷥ":[{"҇":2},1],"ⷦ":[{"҇":2},1],"ⷧ":[{"҇":2},1],"ⷨ":[{"҇":2},1],"ⷩ":[{"҇":2},1],"ⷪ":[{"҇":2},1],"ⷫ":[{"҇":2},1],"ⷬ":[{"҇":2},1],"ⷭ":[{"҇":2},1],"ⷮ":[{"҇":2},1],"ⷯ":[{"҇":2},1],"ⷰ":[{"҇":2},1],"ⷱ":[{"҇":2},1],"ⷲ":[{"҇":2},1],"ⷳ":[{"҇":2},1],"ⷴ":[{"҇":2},1],"ⷵ":[{"҇":2},1],"ⷶ":[{"҇":2},1],"ⷷ":[{"҇":2},1],"ⷸ":[{"҇":2},1],"ⷹ":[{"҇":2},1],"ⷺ":[{"҇":2},1],"ⷻ":[{"҇":2},1],"ⷼ":[{"҇":2},1],"ⷽ":[{"҇":2},1],"ⷾ":[{"҇":2},1],"ⷿ":[{"҇":2},1],"ꙴ":[{"҇":2},1],"ꙵ":[{"҇":2},1],"ꙶ":[{"҇":2},1],"ꙷ":[{"҇":2},1],"ꙸ":[{"҇":2},1],"ꙹ":[{"҇":2},1],"ꙺ":[{"҇":2},1],"ꙻ":[{"҇":2},1],"꙼":[{"҇":2},1],"꙽":[{"҇":2},1]},0],"п":[{"а":[{"д":11,"с":11}],"е":[{"л":11,"р":9,"т":11,"ц":11}],"и":[{"т":11}],"о":[{"́":[{"ж":[{"н":[{"е":[{"т":17}],"ꙋ":[{"т":17}]}]}],"м":[{"н":[{"и":[{"т":17}]}]}]}],"в":[{"с":[{"ю":[{"́":[{"д":18}]}]}]}],"д":[{"н":[{"о":[{"́":[{"г":19,"ж":19}]}]}]}],"з":[{"л":[{"а":[{"щ":18}]}]}],"л":[{"ꙋ":[{"́":[{"д":[{"н":[{"е":20,"и":20}]}]}]}]}],"т":[{"о":[{"п":[{"л":[{"е":[{"́":[{"н":21}]}],"ѧ":[{"́":21}]}]}]}]}],"ч":[{"н":[{"е":[{"́":[{"т":18}]}]}]}]}],"р":[{"е":[{"л":[{"ь":[{"с":[{"т":[{"и":[{"́":22}]}]}],"щ":[{"а":[{"́":22}]}]}]}]}],"и":[{"́":[{"т":[{"ч":[{"а":14,"е":14,"и":14}]}]}],"л":[{"ь":[{"п":7}]}]}],"о":[{"́":[{"с":[{"т":[{"р":[{"ꙋ":16}]}]}]}],"з":[{"в":[{"а":[{"̀":17}]}]}]}],"і":[{"̈":[{"е":[{"́":[{"м":[{"л":[{"е":23,"и":23,"ю":23,"ѣ":23,"ѧ":23}]}]}]}]}]}],"ї":[{"е":[{"́":[{"м":[{"л":[{"е":4,"и":4,"ю":4,"ѣ":4,"ѧ":4}]}]}]}]}]}],"і":[{"̈":9}],"ї":11,"ѣ":[{"́":[{"с":[{"н":[{"е":17,"и":17,"ю":17,"ѣ":17}]}]}],"в":9}]},8],"р":[{"а":[{"з":[{"ꙋ":[{"́":[{"м":7}],"м":7}]}],"с":[{"т":[{"л":[{"и":[{"̀":19}],"ѝ":19,"ѣ":[{"́":19}],"ѧ":19}],"о":[{"ч":19}]}]},9],"х":11}],"и":10,"о":[{"в":11,"з":9}],"ѡ":[{"м":11,"с":9}],"ѣ":[{"̑":9}],"ꙋ":[{"̑":9}]},8],"с":[{"е":[{"н":9}],"л":[{"а":[{"с":[{"т":[{"е":[{"́":7}]}]}]}],"ѧ":9}],"м":[{"а":9,"о":9}],"о":[{"з":[{"в":[{"а":[{"́":12}]}]}]}],"п":[{"о":[{"д":[{"о":[{"б":[{"л":[{"ѧ":[{"́":24}]}]}]}]}]},9]}],"т":[{"р":[{"а":[{"с":[{"т":[{"е":[{"́":16}]}]}]}]}],"ы":9,"ѡ":9},10],"є":11,"і":[{"̈":[{"м":9}]}],"ї":[{"м":11}],"ѣ":[{"̑":9,"н":9}],"ѧ":[{"́":9}]},8],"т":[{"а":[{"̑":9}],"е":[{"ц":11}],"и":[{"м":11}],"л":10,"о":[{"м":11,"р":9}],"р":[{"і":[{"̈":13}],"ї":9,"ѧ":9}],"ы":[{"́":9}],"ь":10,"і":[{"̈":9}],"ї":11,"ѵ":[{"́":9,"̏":25}],"ѷ":10},8],"у":[{"̀":1,"́":1,"̑":1,"҆":[{"̀":2,"́":2,"̈":2,"̑":2},1],"ⷠ":[{"҇":2},1],"ⷡ":[{"҇":2},1],"ⷢ":[{"҇":2},1],"ⷣ":[{"҇":2},1],"ⷤ":[{"҇":2},1],"ⷥ":[{"҇":2},1],"ⷦ":[{"҇":2},1],"ⷧ":[{"҇":2},1],"ⷨ":[{"҇":2},1],"ⷩ":[{"҇":2},1],"ⷪ":[{"҇":2},1],"ⷫ":[{"҇":2},1],"ⷬ":[{"҇":2},1],"ⷭ":[{"҇":2},1],"ⷮ":[{"҇":2},1],"ⷯ":[{"҇":2},1],"ⷰ":[{"҇":2},1],"ⷱ":[{"҇":2},1],"ⷲ":[{"҇":2},1],"ⷳ":[{"҇":2},1],"ⷴ":[{"҇":2},1],"ⷵ":[{"҇":2},1],"ⷶ":[{"҇":2},1],"ⷷ":[{"҇":2},1],"ⷸ":[{"҇":2},1],"ⷹ":[{"҇":2},1],"ⷺ":[{"҇":2},1],"ⷻ":[{"҇":2},1],"ⷼ":[{"҇":2},1],"ⷽ":[{"҇":2},1],"ⷾ":[{"҇":2},1],"ⷿ":[{"҇":2},1],"ꙴ":[{"҇":2},1],"ꙵ":[{"҇":2},1],"ꙶ":[{"҇":2},1],"ꙷ":[{"҇":2},1],"ꙸ":[{"҇":2},1],"ꙹ":[{"҇":2},1],"ꙺ":[{"҇":2},1],"ꙻ":[{"҇":2},1],"꙼":[{"҇":2},1],"꙽":[{"҇":2},1]},0],"ф":[{"о":[{"р":9},10],"і":[{"̈":9}],"ї":11,"ѡ":[{"́":9}]},8],"х":[{"а":[{"л":9}],"е":11,"ѡ":11},8],"ц":8,"ч":[{"е":[{"с":[{"т":[{"в":[{"о":[{"в":26}],"ꙋ":[{"́":26}]}]}]}],"т":11}],"є":[{"́":9}]},8],"ш":[{"а":11,"є":[{"́":9}]},8],"щ":[{"ꙋ":11}],"ы":[{"̀":1,"́":1,"̑":1,"҆":[{"̀":2,"́":2,"̈":2,"̑":2},1],"ⷠ":[{"҇":2},1],"ⷡ":[{"҇":2},1],"ⷢ":[{"҇":2},1],"ⷣ":[{"҇":2},1],"ⷤ":[{"҇":2},1],"ⷥ":[{"҇":2},1],"ⷦ":[{"҇":2},1],"ⷧ":[{"҇":2},1],"ⷨ":[{"҇":2},1],"ⷩ":[{"҇":2},1],"ⷪ":[{"҇":2},1],"ⷫ":[{"҇":2},1],"ⷬ":[{"҇":2},1],"ⷭ":[{"҇":2},1],"ⷮ":[{"҇":2},1],"ⷯ":[{"҇":2},1],"ⷰ":[{"҇":2},1],"ⷱ":[{"҇":2},1],"ⷲ":[{"҇":2},1],"ⷳ":[{"҇":2},1],"ⷴ":[{"҇":2},1],"ⷵ":[{"҇":2},1],"ⷶ":[{"҇":2},1],"ⷷ":[{"҇":2},1],"ⷸ":[{"҇":2},1],"ⷹ":[{"҇":2},1],"ⷺ":[{"҇":2},1],"ⷻ":[{"҇":2},1],"ⷼ":[{"҇":2},1],"ⷽ":[{"҇":2},1],"ⷾ":[{"҇":2},1],"ⷿ":[{"҇":2},1],"ꙴ":[{"҇":2},1],"ꙵ":[{"҇":2},1],"ꙶ":[{"҇":2},1],"ꙷ":[{"҇":2},1],"ꙸ":[{"҇":2},1],"ꙹ":[{"҇":2},1],"ꙺ":[{"҇":2},1],"ꙻ":[{"҇":2},1],"꙼":[{"҇":2},1],"꙽":[{"҇":2},1]},0],"э":[{"̀":1,"́":1,"̑":1,"҆":[{"̀":2,"́":2,"̈":2,"̑":2},1],"ⷠ":[{"҇":2},1],"ⷡ":[{"҇":2},1],"ⷢ":[{"҇":2},1],"ⷣ":[{"҇":2},1],"ⷤ":[{"҇":2},1],"ⷥ":[{"҇":2},1],"ⷦ":[{"҇":2},1],"ⷧ":[{"҇":2},1],"ⷨ":[{"҇":2},1],"ⷩ":[{"҇":2},1],"ⷪ":[{"҇":2},1],"ⷫ":[{"҇":2},1],"ⷬ":[{"҇":2},1],"ⷭ":[{"҇":2},1],"ⷮ":[{"҇":2},1],"ⷯ":[{"҇":2},1],"ⷰ":[{"҇":2},1],"ⷱ":[{"҇":2},1],"ⷲ":[{"҇":2},1],"ⷳ":[{"҇":2},1],"ⷴ":[{"҇":2},1],"ⷵ":[{"҇":2},1],"ⷶ":[{"҇":2},1],"ⷷ":[{"҇":2},1],"ⷸ":[{"҇":2},1],"ⷹ":[{"҇":2},1],"ⷺ":[{"҇":2},1],"ⷻ":[{"҇":2},1],"ⷼ":[{"҇":2},1],"ⷽ":[{"҇":2},1],"ⷾ":[{"҇":2},1],"ⷿ":[{"҇":2},1],"ꙴ":[{"҇":2},1],"ꙵ":[{"҇":2},1],"ꙶ":[{"҇":2},1],"ꙷ":[{"҇":2},1],"ꙸ":[{"҇":2},1],"ꙹ":[{"҇":2},1],"ꙺ":[{"҇":2},1],"ꙻ":[{"҇":2},1],"꙼":[{"҇":2},1],"꙽":[{"҇":2},1]},0],"ю":[{"̀":1,"́":1,"̈":1,"̑":1,"҆":[{"̀":2,"́":2,"̈":2,"̑":2},1],"ⷠ":[{"҇":2},1],"ⷡ":[{"҇":2},1],"ⷢ":[{"҇":2},1],"ⷣ":[{"҇":2},1],"ⷤ":[{"҇":2},1],"ⷥ":[{"҇":2},1],"ⷦ":[{"҇":2},1],"ⷧ":[{"҇":2},1],"ⷨ":[{"҇":2},1],"ⷩ":[{"҇":2},1],"ⷪ":[{"҇":2},1],"ⷫ":[{"҇":2},1],"ⷬ":[{"҇":2},1],"ⷭ":[{"҇":2},1],"ⷮ":[{"҇":2},1],"ⷯ":[{"҇":2},1],"ⷰ":[{"҇":2},1],"ⷱ":[{"҇":2},1],"ⷲ":[{"҇":2},1],"ⷳ":[{"҇":2},1],"ⷴ":[{"҇":2},1],"ⷵ":[{"҇":2},1],"ⷶ":[{"҇":2},1],"ⷷ":[{"҇":2},1],"ⷸ":[{"҇":2},1],"ⷹ":[{"҇":2},1],"ⷺ":[{"҇":2},1],"ⷻ":[{"҇":2},1],"ⷼ":[{"҇":2},1],"ⷽ":[{"҇":2},1],"ⷾ":[{"҇":2},1],"ⷿ":[{"҇":2},1],"ꙴ":[{"҇":2},1],"ꙵ":[{"҇":2},1],"ꙶ":[{"҇":2},1],"ꙷ":[{"҇":2},1],"ꙸ":[{"҇":2},1],"ꙹ":[{"҇":2},1],"ꙺ":[{"҇":2},1],"ꙻ":[{"҇":2},1],"꙼":[{"҇":2},1],"꙽":[{"҇":2},1]},0],"ѐ":0,"ё":0,"є":[{"̀":1,"́":1,"̈":1,"̑":1,"҆":[{"̀":2,"́":2,"̈":2,"̑":2},1],"ⷠ":[{"҇":2},1],"ⷡ":[{"҇":2},1],"ⷢ":[{"҇":2},1],"ⷣ":[{"҇":2},1],"ⷤ":[{"҇":2},1],"ⷥ":[{"҇":2},1],"ⷦ":[{"҇":2},1],"ⷧ":[{"҇":2},1],"ⷨ":[{"҇":2},1],"ⷩ":[{"҇":2},1],"ⷪ":[{"҇":2},1],"ⷫ":[{"҇":2},1],"ⷬ":[{"҇":2},1],"ⷭ":[{"҇":2},1],"ⷮ":[{"҇":2},1],"ⷯ":[{"҇":2},1],"ⷰ":[{"҇":2},1],"ⷱ":[{"҇":2},1],"ⷲ":[{"҇":2},1],"ⷳ":[{"҇":2},1],"ⷴ":[{"҇":2},1],"ⷵ":[{"҇":2},1],"ⷶ":[{"҇":2},1],"ⷷ":[{"҇":2},1],"ⷸ":[{"҇":2},1],"ⷹ":[{"҇":2},1],"ⷺ":[{"҇":2},1],"ⷻ":[{"҇":2},1],"ⷼ":[{"҇":2},1],"ⷽ":[{"҇":2},1],"ⷾ":[{"҇":2},1],"ⷿ":[{"҇":2},1],"ꙴ":[{"҇":2},1],"ꙵ":[{"҇":2},1],"ꙶ":[{"҇":2},1],"ꙷ":[{"҇":2},1],"ꙸ":[{"҇":2},1],"ꙹ":[{"҇":2},1],"ꙺ":[{"҇":2},1],"ꙻ":[{"҇":2},1],"꙼":[{"҇":2},1],"꙽":[{"҇":2},1]},0],"ѕ":8,"і":[{"̀":1,"́":1,"̈":1,"̑":1,"҆":[{"̀":2,"́":2,"̈":2,"̑":2,"е":[{"с":[{"с":[{"е":[{"́":16}]}]}]}]},1],"ⷠ":[{"҇":2},1],"ⷡ":[{"҇":2},1],"ⷢ":[{"҇":2},1],"ⷣ":[{"҇":2},1],"ⷤ":[{"҇":2},1],"ⷥ":[{"҇":2},1],"ⷦ":[{"҇":2},1],"ⷧ":[{"҇":2},1],"ⷨ":[{"҇":2},1],"ⷩ":[{"҇":2},1],"ⷪ":[{"҇":2},1],"ⷫ":[{"҇":2},1],"ⷬ":[{"҇":2},1],"ⷭ":[{"҇":2},1],"ⷮ":[{"҇":2},1],"ⷯ":[{"҇":2},1],"ⷰ":[{"҇":2},1],"ⷱ":[{"҇":2},1],"ⷲ":[{"҇":2},1],"ⷳ":[{"҇":2},1],"ⷴ":[{"҇":2},1],"ⷵ":[{"҇":2},1],"ⷶ":[{"҇":2},1],"ⷷ":[{"҇":2},1],"ⷸ":[{"҇":2},1],"ⷹ":[{"҇":2},1],"ⷺ":[{"҇":2},1],"ⷻ":[{"҇":2},1],"ⷼ":[{"҇":2},1],"ⷽ":[{"҇":2},1],"ⷾ":[{"҇":2},1],"ⷿ":[{"҇":2},1],"ꙴ":[{"҇":2},1],"ꙵ":[{"҇":2},1],"ꙶ":[{"҇":2},1],"ꙷ":[{"҇":2},1],"ꙸ":[{"҇":2},1],"ꙹ":[{"҇":2},1],"ꙺ":[{"҇":2},1],"ꙻ":[{"҇":2},1],"꙼":[{"҇":2},1],"꙽":[{"҇":2},1]},0],"ї":0,"ѝ":0,"ѡ":[{"б":[{"и":9}],"с":27,"҆":[{"б":[{"л":[{"е":[{"́":[{"к":7}],"щ":7}]}],"р":[{"а":[{"́":[{"д":[{"о":[{"в":19}]}],"з":18,"т":7,"щ":7}],"з":[{"ꙋ":[{"́":3}]}],"щ":7}],"ѣ":[{"́":[{"з":7,"л":18,"т":18}]}]}]}],"т":[{"в":[{"е":[{"́":[{"р":[{"г":19,"ж":19}]}]}]}],"р":[{"ы":[{"́":[{"г":[{"н":19}]}]}]}]}]}]}],"ѣ":[{"̀":1,"́":1,"̈":1,"̑":1,"҆":[{"̀":2,"́":2,"̈":2,"̑":2},1],"ⷠ":[{"҇":2},1],"ⷡ":[{"҇":2},1],"ⷢ":[{"҇":2},1],"ⷣ":[{"҇":2},1],"ⷤ":[{"҇":2},1],"ⷥ":[{"҇":2},1],"ⷦ":[{"҇":2},1],"ⷧ":[{"҇":2},1],"ⷨ":[{"҇":2},1],"ⷩ":[{"҇":2},1],"ⷪ":[{"҇":2},1],"ⷫ":[{"҇":2},1],"ⷬ":[{"҇":2},1],"ⷭ":[{"҇":2},1],"ⷮ":[{"҇":2},1],"ⷯ":[{"҇":2},1],"ⷰ":[{"҇":2},1],"ⷱ":[{"҇":2},1],"ⷲ":[{"҇":2},1],"ⷳ":[{"҇":2},1],"ⷴ":[{"҇":2},1],"ⷵ":[{"҇":2},1],"ⷶ":[{"҇":2},1],"ⷷ":[{"҇":2},1],"ⷸ":[{"҇":2},1],"ⷹ":[{"҇":2},1],"ⷺ":[{"҇":2},1],"ⷻ":[{"҇":2},1],"ⷼ":[{"҇":2},1],"ⷽ":[{"҇":2},1],"ⷾ":[{"҇":2},1],"ⷿ":[{"҇":2},1],"ꙴ":[{"҇":2},1],"ꙵ":[{"҇":2},1],"ꙶ":[{"҇":2},1],"ꙷ":[{"҇":2},1],"ꙸ":[{"҇":2},1],"ꙹ":[{"҇":2},1],"ꙺ":[{"҇":2},1],"ꙻ":[{"҇":2},1],"꙼":[{"҇":2},1],"꙽":[{"҇":2},1]},0],"ѧ":[{"̀":1,"́":1,"̈":1,"̑":1,"҆":[{"̀":2,"́":2,"̈":2,"̑":2},1],"ⷠ":[{"҇":2},1],"ⷡ":[{"҇":2},1],"ⷢ":[{"҇":2},1],"ⷣ":[{"҇":2},1],"ⷤ":[{"҇":2},1],"ⷥ":[{"҇":2},1],"ⷦ":[{"҇":2},1],"ⷧ":[{"҇":2},1],"ⷨ":[{"҇":2},1],"ⷩ":[{"҇":2},1],"ⷪ":[{"҇":2},1],"ⷫ":[{"҇":2},1],"ⷬ":[{"҇":2},1],"ⷭ":[{"҇":2},1],"ⷮ":[{"҇":2},1],"ⷯ":[{"҇":2},1],"ⷰ":[{"҇":2},1],"ⷱ":[{"҇":2},1],"ⷲ":[{"҇":2},1],"ⷳ":[{"҇":2},1],"ⷴ":[{"҇":2},1],"ⷵ":[{"҇":2},1],"ⷶ":[{"҇":2},1],"ⷷ":[{"҇":2},1],"ⷸ":[{"҇":2},1],"ⷹ":[{"҇":2},1],"ⷺ":[{"҇":2},1],"ⷻ":[{"҇":2},1],"ⷼ":[{"҇":2},1],"ⷽ":[{"҇":2},1],"ⷾ":[{"҇":2},1],"ⷿ":[{"҇":2},1],"ꙴ":[{"҇":2},1],"ꙵ":[{"҇":2},1],"ꙶ":[{"҇":2},1],"ꙷ":[{"҇":2},1],"ꙸ":[{"҇":2},1],"ꙹ":[{"҇":2},1],"ꙺ":[{"҇":2},1],"ꙻ":[{"҇":2},1],"꙼":[{"҇":2},1],"꙽":[{"҇":2},1]},0],"ѯ":[{"е":[{"́":9}]}],"ѳ":[{"е":[{"с":[{"с":[{"а":[{"л":[{"о":[{"н":7}]}]}]}]}]}],"і":[{"̈":9}],"ї":11},8],"ѵ":[{"̀":1,"́":1,"̈":1,"̑":1,"҆":[{"̀":2,"́":2,"̈":2,"̑":2,"с":[{"с":[{"ѡ":[{"́":[{"п":7}]}]}]}]},1],"ⷠ":[{"҇":2},1],"ⷡ":[{"҇":2},1],"ⷢ":[{"҇":2},1],"ⷣ":[{"҇":2},1],"ⷤ":[{"҇":2},1],"ⷥ":[{"҇":2},1],"ⷦ":[{"҇":2},1],"ⷧ":[{"҇":2},1],"ⷨ":[{"҇":2},1],"ⷩ":[{"҇":2},1],"ⷪ":[{"҇":2},1],"ⷫ":[{"҇":2},1],"ⷬ":[{"҇":2},1],"ⷭ":[{"҇":2},1],"ⷮ":[{"҇":2},1],"ⷯ":[{"҇":2},1],"ⷰ":[{"҇":2},1],"ⷱ":[{"҇":2},1],"ⷲ":[{"҇":2},1],"ⷳ":[{"҇":2},1],"ⷴ":[{"҇":2},1],"ⷵ":[{"҇":2},1],"ⷶ":[{"҇":2},1],"ⷷ":[{"҇":2},1],"ⷸ":[{"҇":2},1],"ⷹ":[{"҇":2},1],"ⷺ":[{"҇":2},1],"ⷻ":[{"҇":2},1],"ⷼ":[{"҇":2},1],"ⷽ":[{"҇":2},1],"ⷾ":[{"҇":2},1],"ⷿ":[{"҇":2},1],"ꙴ":[{"҇":2},1],"ꙵ":[{"҇":2},1],"ꙶ":[{"҇":2},1],"ꙷ":[{"҇":2},1],"ꙸ":[{"҇":2},1],"ꙹ":[{"҇":2},1],"ꙺ":[{"҇":2},1],"ꙻ":[{"҇":2},1],"꙼":[{"҇":2},1],"꙽":[{"҇":2},1]},0],"ѹ":[{"҆":[{"с":[{"т":[{"р":[{"е":[{"м":18}]}]}]}]}]}],"ѻ":[{"̀":1,"́":1,"̈":1,"̑":1,"҆":[{"̀":2,"́":[{"т":[{"р":[{"а":[{"с":[{"л":16}]}]}],"ч":[{"а":15,"е":15}]}]},2],"̈":2,"̑":2,"б":[{"р":[{"а":[{"́":[{"д":[{"о":[{"в":7}]}]}]}]}]}]},1],"ⷠ":[{"҇":2},1],"ⷡ":[{"҇":2},1],"ⷢ":[{"҇":2},1],"ⷣ":[{"҇":2},1],"ⷤ":[{"҇":2},1],"ⷥ":[{"҇":2},1],"ⷦ":[{"҇":2},1],"ⷧ":[{"҇":2},1],"ⷨ":[{"҇":2},1],"ⷩ":[{"҇":2},1],"ⷪ":[{"҇":2},1],"ⷫ":[{"҇":2},1],"ⷬ":[{"҇":2},1],"ⷭ":[{"҇":2},1],"ⷮ":[{"҇":2},1],"ⷯ":[{"҇":2},1],"ⷰ":[{"҇":2},1],"ⷱ":[{"҇":2},1],"ⷲ":[{"҇":2},1],"ⷳ":[{"҇":2},1],"ⷴ":[{"҇":2},1],"ⷵ":[{"҇":2},1],"ⷶ":[{"҇":2},1],"ⷷ":[{"҇":2},1],"ⷸ":[{"҇":2},1],"ⷹ":[{"҇":2},1],"ⷺ":[{"҇":2},1],"ⷻ":[{"҇":2},1],"ⷼ":[{"҇":2},1],"ⷽ":[{"҇":2},1],"ⷾ":[{"҇":2},1],"ⷿ":[{"҇":2},1],"ꙴ":[{"҇":2},1],"ꙵ":[{"҇":2},1],"ꙶ":[{"҇":2},1],"ꙷ":[{"҇":2},1],"ꙸ":[{"҇":2},1],"ꙹ":[{"҇":2},1],"ꙺ":[{"҇":2},1],"ꙻ":[{"҇":2},1],"꙼":[{"҇":2},1],"꙽":[{"҇":2},1]},0],"ѽ":[{"̀":1,"́":1,"̈":1,"̑":1,"҆":[{"̀":2,"́":2,"̈":2,"̑":2},1],"ⷠ":[{"҇":2},1],"ⷡ":[{"҇":2},1],"ⷢ":[{"҇":2},1],"ⷣ":[{"҇":2},1],"ⷤ":[{"҇":2},1],"ⷥ":[{"҇":2},1],"ⷦ":[{"҇":2},1],"ⷧ":[{"҇":2},1],"ⷨ":[{"҇":2},1],"ⷩ":[{"҇":2},1],"ⷪ":[{"҇":2},1],"ⷫ":[{"҇":2},1],"ⷬ":[{"҇":2},1],"ⷭ":[{"҇":2},1],"ⷮ":[{"҇":2},1],"ⷯ":[{"҇":2},1],"ⷰ":[{"҇":2},1],"ⷱ":[{"҇":2},1],"ⷲ":[{"҇":2},1],"ⷳ":[{"҇":2},1],"ⷴ":[{"҇":2},1],"ⷵ":[{"҇":2},1],"ⷶ":[{"҇":2},1],"ⷷ":[{"҇":2},1],"ⷸ":[{"҇":2},1],"ⷹ":[{"҇":2},1],"ⷺ":[{"҇":2},1],"ⷻ":[{"҇":2},1],"ⷼ":[{"҇":2},1],"ⷽ":[{"҇":2},1],"ⷾ":[{"҇":2},1],"ⷿ":[{"҇":2},1],"ꙴ":[{"҇":2},1],"ꙵ":[{"҇":2},1],"ꙶ":[{"҇":2},1],"ꙷ":[{"҇":2},1],"ꙸ":[{"҇":2},1],"ꙹ":[{"҇":2},1],"ꙺ":[{"҇":2},1],"ꙻ":[{"҇":2},1],"꙼":[{"҇":2},1],"꙽":[{"҇":2},1]},0],"ѿ":[{"в":[{"с":[{"ю":[{"́":[{"д":28}]}]}]}]},27],"ӓ":0,"ӥ":0,"ӧ":0,"ӭ":0,"ӱ":0,"ӹ":0,"ᲂ":[{"̀":1,"́":1,"̈":1,"̑":1,"у":[{"҆":[{"с":[{"т":[{"р":[{"е":[{"м":7}]}]}]}]}]}],"҆":[{"̀":2,"́":2,"̈":2,"̑":2},1],"ⷠ":[{"҇":2},1],"ⷡ":[{"҇":2},1],"ⷢ":[{"҇":2},1],"ⷣ":[{"҇":2},1],"ⷤ":[{"҇":2},1],"ⷥ":[{"҇":2},1],"ⷦ":[{"҇":2},1],"ⷧ":[{"҇":2},1],"ⷨ":[{"҇":2},1],"ⷩ":[{"҇":2},1],"ⷪ":[{"҇":2},1],"ⷫ":[{"҇":2},1],"ⷬ":[{"҇":2},1],"ⷭ":[{"҇":2},1],"ⷮ":[{"҇":2},1],"ⷯ":[{"҇":2},1],"ⷰ":[{"҇":2},1],"ⷱ":[{"҇":2},1],"ⷲ":[{"҇":2},1],"ⷳ":[{"҇":2},1],"ⷴ":[{"҇":2},1],"ⷵ":[{"҇":2},1],"ⷶ":[{"҇":2},1],"ⷷ":[{"҇":2},1],"ⷸ":[{"҇":2},1],"ⷹ":[{"҇":2},1],"ⷺ":[{"҇":2},1],"ⷻ":[{"҇":2},1],"ⷼ":[{"҇":2},1],"ⷽ":[{"҇":2},1],"ⷾ":[{"҇":2},1],"ⷿ":[{"҇":2},1],"ꙴ":[{"҇":2},1],"ꙵ":[{"҇":2},1],"ꙶ":[{"҇":2},1],"ꙷ":[{"҇":2},1],"ꙸ":[{"҇":2},1],"ꙹ":[{"҇":2},1],"ꙺ":[{"҇":2},1],"ꙻ":[{"҇":2},1],"꙼":[{"҇":2},1],"꙽":[{"҇":2},1]},0],"ꙋ":[{"̀":1,"́":1,"̈":1,"̑":1,"҆":[{"̀":2,"́":2,"̈":2,"̑":2},1],"ⷠ":[{"҇":2},1],"ⷡ":[{"҇":2},1],"ⷢ":[{"҇":2},1],"ⷣ":[{"҇":2},1],"ⷤ":[{"҇":2},1],"ⷥ":[{"҇":2},1],"ⷦ":[{"҇":2},1],"ⷧ":[{"҇":2},1],"ⷨ":[{"҇":2},1],"ⷩ":[{"҇":2},1],"ⷪ":[{"҇":2},1],"ⷫ":[{"҇":2},1],"ⷬ":[{"҇":2},1],"ⷭ":[{"҇":2},1],"ⷮ":[{"҇":2},1],"ⷯ":[{"҇":2},1],"ⷰ":[{"҇":2},1],"ⷱ":[{"҇":2},1],"ⷲ":[{"҇":2},1],"ⷳ":[{"҇":2},1],"ⷴ":[{"҇":2},1],"ⷵ":[{"҇":2},1],"ⷶ":[{"҇":2},1],"ⷷ":[{"҇":2},1],"ⷸ":[{"҇":2},1],"ⷹ":[{"҇":2},1],"ⷺ":[{"҇":2},1],"ⷻ":[{"҇":2},1],"ⷼ":[{"҇":2},1],"ⷽ":[{"҇":2},1],"ⷾ":[{"҇":2},1],"ⷿ":[{"҇":2},1],"ꙴ":[{"҇":2},1],"ꙵ":[{"҇":2},1],"ꙶ":[{"҇":2},1],"ꙷ":[{"҇":2},1],"ꙸ":[{"҇":2},1],"ꙹ":[{"҇":2},1],"ꙺ":[{"҇":2},1],"ꙻ":[{"҇":2},1],"꙼":[{"҇":2},1],"꙽":[{"҇":2},1]},0],"ꙍ":[{"̀":1,"́":1,"̈":1,"̑":1,"҆":[{"̀":2,"́":2,"̈":2,"̑":[{"̀":15,"́":15,"̈":15,"̑":15,"҆":[{"̀":29,"́":29,"̈":29,"̑":29},15],"ⷠ":[{"҇":29},15],"ⷡ":[{"҇":29},15],"ⷢ":[{"҇":29},15],"ⷣ":[{"҇":29},15],"ⷤ":[{"҇":29},15],"ⷥ":[{"҇":29},15],"ⷦ":[{"҇":29},15],"ⷧ":[{"҇":29},15],"ⷨ":[{"҇":29},15],"ⷩ":[{"҇":29},15],"ⷪ":[{"҇":29},15],"ⷫ":[{"҇":29},15],"ⷬ":[{"҇":29},15],"ⷭ":[{"҇":29},15],"ⷮ":[{"҇":29},15],"ⷯ":[{"҇":29},15],"ⷰ":[{"҇":29},15],"ⷱ":[{"҇":29},15],"ⷲ":[{"҇":29},15],"ⷳ":[{"҇":29},15],"ⷴ":[{"҇":29},15],"ⷵ":[{"҇":29},15],"ⷶ":[{"҇":29},15],"ⷷ":[{"҇":29},15],"ⷸ":[{"҇":29},15],"ⷹ":[{"҇":29},15],"ⷺ":[{"҇":29},15],"ⷻ":[{"҇":29},15],"ⷼ":[{"҇":29},15],"ⷽ":[{"҇":29},15],"ⷾ":[{"҇":29},15],"ⷿ":[{"҇":29},15],"ꙴ":[{"҇":29},15],"ꙵ":[{"҇":29},15],"ꙶ":[{"҇":29},15],"ꙷ":[{"҇":29},15],"ꙸ":[{"҇":29},15],"ꙹ":[{"҇":29},15],"ꙺ":[{"҇":29},15],"ꙻ":[{"҇":29},15],"꙼":[{"҇":29},15],"꙽":[{"҇":29},15]},2]},1],"ⷠ":[{"҇":2},1],"ⷡ":[{"҇":2},1],"ⷢ":[{"҇":2},1],"ⷣ":[{"҇":2},1],"ⷤ":[{"҇":2},1],"ⷥ":[{"҇":2},1],"ⷦ":[{"҇":2},1],"ⷧ":[{"҇":2},1],"ⷨ":[{"҇":2},1],"ⷩ":[{"҇":2},1],"ⷪ":[{"҇":2},1],"ⷫ":[{"҇":2},1],"ⷬ":[{"҇":2},1],"ⷭ":[{"҇":2},1],"ⷮ":[{"҇":2},1],"ⷯ":[{"҇":2},1],"ⷰ":[{"҇":2},1],"ⷱ":[{"҇":2},1],"ⷲ":[{"҇":2},1],"ⷳ":[{"҇":2},1],"ⷴ":[{"҇":2},1],"ⷵ":[{"҇":2},1],"ⷶ":[{"҇":2},1],"ⷷ":[{"҇":2},1],"ⷸ":[{"҇":2},1],"ⷹ":[{"҇":2},1],"ⷺ":[{"҇":2},1],"ⷻ":[{"҇":2},1],"ⷼ":[{"҇":2},1],"ⷽ":[{"҇":2},1],"ⷾ":[{"҇":2},1],"ⷿ":[{"҇":2},1],"ꙴ":[{"҇":2},1],"ꙵ":[{"҇":2},1],"ꙶ":[{"҇":2},1],"ꙷ":[{"҇":2},1],"ꙸ":[{"҇":2},1],"ꙹ":[{"҇":2},1],"ꙺ":[{"҇":2},1],"ꙻ":[{"҇":2},1],"꙼":[{"҇":2},1],"꙽":[{"҇":2},1]},0],"ꙗ":[{"̀":1,"́":1,"̈":1,"̑":1,"҆":[{"̀":2,"́":2,"̈":2,"̑":2},1],"ⷠ":[{"҇":2},1],"ⷡ":[{"҇":2},1],"ⷢ":[{"҇":2},1],"ⷣ":[{"҇":2},1],"ⷤ":[{"҇":2},1],"ⷥ":[{"҇":2},1],"ⷦ":[{"҇":2},1],"ⷧ":[{"҇":2},1],"ⷨ":[{"҇":2},1],"ⷩ":[{"҇":2},1],"ⷪ":[{"҇":2},1],"ⷫ":[{"҇":2},1],"ⷬ":[{"҇":2},1],"ⷭ":[{"҇":2},1],"ⷮ":[{"҇":2},1],"ⷯ":[{"҇":2},1],"ⷰ":[{"҇":2},1],"ⷱ":[{"҇":2},1],"ⷲ":[{"҇":2},1],"ⷳ":[{"҇":2},1],"ⷴ":[{"҇":2},1],"ⷵ":[{"҇":2},1],"ⷶ":[{"҇":2},1],"ⷷ":[{"҇":2},1],"ⷸ":[{"҇":2},1],"ⷹ":[{"҇":2},1],"ⷺ":[{"҇":2},1],"ⷻ":[{"҇":2},1],"ⷼ":[{"҇":2},1],"ⷽ":[{"҇":2},1],"ⷾ":[{"҇":2},1],"ⷿ":[{"҇":2},1],"ꙴ":[{"҇":2},1],"ꙵ":[{"҇":2},1],"ꙶ":[{"҇":2},1],"ꙷ":[{"҇":2},1],"ꙸ":[{"҇":2},1],"ꙹ":[{"҇":2},1],"ꙺ":[{"҇":2},1],"ꙻ":[{"҇":2},1],"꙼":[{"҇":2},1],"꙽":[{"҇":2},1]},0]}],"̀":[{"б":27,"ж":27,"м":[{"и":31}],"х":8},30],"́":[{"а":27,"б":[{"а":9,"л":[{"и":27,"ю":32,"ѧ":33}],"н":[{"о":13},11],"р":[{"а":27,"о":13,"ѣ":27,"ѧ":13,"ꙋ":33},10],"ц":11,"ч":11,"щ":[{"а":13}],"ы":9,"ѣ":9,"ꙋ":9}],"в":[{"а":[{"е":13,"с":9},27],"в":11,"д":[{"о":13},34],"е":[{"д":13},27],"и":27,"л":[{"ю":13,"є":11}],"н":[{"е":13,"ѧ":13,"ꙋ":13},35],"о":[{"с":9},27],"с":11,"ц":[{"а":11}],"ч":35,"ш":[{"е":13}],"ы":27,"є":27,"ї":27,"ѡ":27,"ѣ":27,"ѧ":27,"ꙋ":31}],"г":[{"а":27,"г":8,"и":27,"л":[{"о":11},25],"н":[{"и":13,"ꙋ":11}],"о":27,"р":[{"а":13}]}],"д":[{"а":27,"в":34,"е":27,"и":[{"в":9}],"м":8,"н":[{"о":13},36],"о":27,"р":[{"а":33,"е":27},10],"с":11,"ы":37,"і":[{"̈":27}],"ї":27,"ѡ":[{"в":9}],"ѣ":27,"ꙋ":27}],"е":[{"ж":25,"м":[{"а":13,"о":13,"ꙋ":13}],"с":10,"т":[{"е":13,"н":9}],"х":10},27],"ж":[{"е":27,"н":[{"ꙋ":13}],"є":31,"ꙋ":27}],"з":[{"в":[{"о":13,"ѣ":11}],"д":[{"а":27,"р":11,"ѣ":27},25],"е":[{"р":9},27],"и":27,"л":8,"н":[{"а":32,"и":13,"о":32,"ꙋ":11}],"р":[{"а":11,"и":27,"ѧ":27}],"ы":27,"ѣ":27,"ѧ":27,"ꙋ":[{"м":11}]}],"и":[{"̆":9,"в":11,"л":25,"ч":[{"е":13}],"ш":[{"а":13}]},27],"й":35,"к":[{"а":27,"и":27,"л":[{"ї":27}],"н":[{"и":13}],"о":27,"р":[{"ы":13,"ꙋ":13},27],"х":8,"і":[{"̈":27}],"ї":27,"ѡ":27,"ꙋ":31}],"л":[{"а":[{"с":9},27],"д":10,"е":27,"и":[{"н":9},27],"о":27,"х":10,"ы":27,"ю":27,"є":[{"м":9},27],"і":[{"̈":27}],"ї":27,"ѡ":27,"ѣ":27,"ѧ":27,"ꙋ":27}],"м":[{"а":27,"е":27,"и":31,"л":[{"и":11,"ѧ":11}],"н":[{"а":13,"о":13,"ꙋ":13},35],"о":27,"п":35,"т":8,"ы":27,"є":27,"і":27,"ї":27,"ѡ":[{"щ":9}],"ѣ":27,"ѧ":27}],"н":[{"а":27,"е":27,"и":27,"к":11,"м":[{"и":13}],"н":[{"і":[{"̈":38}],"ї":13}],"о":27,"ц":11,"ч":11,"ы":27,"ю":27,"ѣ":27,"ѧ":27,"ꙋ":[{"и":13},27]}],"о":[{"в":[{"о":13}],"м":10},27],"п":[{"а":27,"е":27,"и":37,"л":[{"а":13,"е":27,"о":13,"ю":27,"ѧ":33},10],"н":35,"о":27,"с":11,"ш":11,"ѡ":31,"ѣ":31,"ꙋ":27}],"р":[{"а":27,"в":[{"е":11}],"д":[{"а":13,"и":13,"ї":11}],"е":[{"д":9},27],"и":27,"м":[{"а":13}],"н":[{"а":13,"е":13}],"о":[{"в":9},27],"р":11,"т":[{"а":13}],"ц":35,"ш":[{"а":13,"е":13}],"ы":27,"ю":27,"є":31,"і":[{"̈":27}],"ї":27,"ѡ":27,"ѣ":37,"ѧ":27,"ѵ":[{"̏":39}],"ѷ":37,"ꙋ":[{"ю":13},27]}],"с":[{"а":[{"в":13},27],"е":27,"и":27,"к":10,"л":[{"и":13,"ѣ":13},10],"м":[{"о":13}],"н":[{"а":32,"и":13,"о":11,"ꙋ":11}],"о":27,"п":[{"е":27,"о":33,"ѧ":11}],"с":[{"а":11}],"т":[{"в":27,"е":27,"о":27,"ꙋ":13},10],"х":34,"ц":[{"ы":11}],"ш":[{"е":13},11],"ы":27,"ѣ":27}],"т":[{"а":[{"и":13},27],"в":[{"о":13,"є":27,"ѣ":27}],"е":27,"и":[{"м":9},27],"к":35,"л":[{"а":13,"и":13},35],"н":[{"а":13,"е":13,"ꙋ":13},11],"о":[{"р":9},27],"р":[{"е":27,"и":33,"о":27,"ы":27,"ѣ":27,"ꙋ":27}],"ц":[{"ы":13},35],"ч":[{"а":27}],"ы":27,"ь":9,"є":27,"і":[{"̈":27}],"ї":27,"ѡ":27,"ѣ":37,"ѧ":[{"н":9},27],"ꙋ":31}],"х":[{"а":27,"и":37,"м":34,"о":27,"і":[{"̈":40}],"ї":25,"ꙋ":9}],"ц":[{"а":27,"е":31,"ы":31,"ѣ":37,"ꙋ":27}],"ч":[{"а":[{"т":13}],"е":[{"в":9,"с":9}],"и":[{"с":9}],"н":11,"т":35,"є":9,"і":[{"̈":13}],"ї":9,"ꙋ":31}],"ш":[{"н":[{"е":13}],"ꙋ":9}],"щ":[{"а":31,"н":[{"а":13,"о":13}],"є":31,"ѧ":9}],"ю":27,"є":27,"і":[{"̈":[{"а":13,"и":13,"к":25,"л":41},27]}],"ї":[{"а":9,"и":9,"к":10,"л":42},27],"ѡ":27,"ѣ":27,"ѧ":[{"в":9,"т":[{"и":13},11]},27],"ѳ":[{"е":31,"о":25},10],"ѵ":[{"и":9,"к":10,"с":10}],"ѻ":27,"ꙋ":27},30],"̆":30,"̇":30,"̈":[{"е":27},30],"̏":30,"̑":[{"в":[{"а":31,"н":[{"и":32,"ѣ":27}],"с":11,"ы":27}],"г":[{"г":8,"и":27,"ꙋ":[{"б":13},25]}],"д":[{"а":[{"ю":13},31],"и":9,"н":[{"и":13,"ы":13,"і":[{"̈":38}],"ї":13},35],"о":31,"р":27,"ы":27,"і":[{"̈":33}],"ї":31,"ѣ":[{"н":13},37],"ꙋ":31}],"ж":[{"д":43,"н":[{"ы":13}],"і":[{"̈":13}],"ї":9}],"з":[{"а":[{"н":13},25],"н":[{"а":32,"и":27,"ы":13}],"ы":27}],"и":[{"̆":[{"ш":[{"и":38}]},9],"н":9},34],"й":[{"ш":[{"и":13}]},35],"к":[{"а":31,"и":27,"л":8,"і":[{"̈":33}],"ї":31}],"л":[{"а":27,"и":27,"л":[{"а":13}],"о":31,"ы":31,"і":[{"̈":33}],"ї":31}],"м":[{"а":31,"н":[{"ы":13},11],"ы":31}],"н":[{"и":31,"ы":27,"і":[{"̈":13}],"ї":9,"ѧ":27}],"п":[{"а":37,"и":31,"к":[{"і":[{"̈":38}],"ї":13}],"л":34,"н":[{"и":13,"ы":13},35],"і":[{"̈":13}],"ї":9}],"р":[{"а":27,"и":27,"н":[{"а":13}],"с":11,"ы":27}],"с":[{"а":27,"л":10,"м":27,"н":[{"а":32,"и":27}],"с":11,"т":10}],"т":[{"а":31,"в":27,"и":27,"н":[{"а":13,"ы":13},11],"ы":31,"і":[{"̈":33}],"ї":31}],"х":8,"ц":27,"ч":[{"е":9,"и":9,"н":[{"а":13},11],"і":[{"̈":13}],"ї":9}],"щ":[{"а":9},27],"ю":44,"ѧ":[{"н":9},34],"ѵ":11},30],"̾":[{"е":27,"и":[{"́":9,"м":11},27],"н":[{"е":9},27],"с":45,"ѡ":44,"ѧ":27,"ѻ":44,"ꙋ":[{"́":[{"м":13},25],"в":11,"г":[{"о":13}],"м":[{"ѣ":13}]},27]},30],"а":[{".":30,"̀":[{".":46},8],"́":[{".":46,"в":[{"а":13,"ц":9}],"г":[{"л":11},25],"д":[{"а":13}],"е":47,"ж":47,"з":[{"в":9,"р":11,"ꙋ":9},47],"к":[{"а":13,"л":11},25],"л":[{"а":13,"м":9,"ꙋ":13}],"м":[{"в":9,"л":9,"ь":48,"є":13,"ꙋ":13}],"н":[{"м":9,"т":9,"ю":48,"ѧ":13}],"п":[{"о":13},49],"р":[{"в":9,"г":9}],"с":[{"н":9,"п":9}],"т":[{"и":13},47],"х":47,"ц":11,"ч":[{"и":13}],"ш":[{"а":13},47],"щ":[{"ꙋ":13}],"ю":47,"і":[{"̈":47}],"ї":47,"ѣ":18,"ѧ":47,"ѯ":50,"ѳ":11,"ѵ":[{"р":9},47]}],"̑":[{".":46,"б":10,"в":[{"н":9}],"ж":25,"м":51,"н":[{"ѧ":48}],"п":42,"р":52,"с":[{"н":9}],"х":53,"ч":52},8],"а":[{"́":[{"н":9}],"̑":25},27],"б":[{"о":[{"л":9}],"ы":[{"̑":13}],"ѣ":25,"ꙋ":[{"́":13}]},34],"в":[{"а":27,"в":11,"д":35,"е":27,"и":27,"л":[{"є":11}],"н":35,"о":[{"́":13},31],"р":[{"і":[{"̈":38}],"ї":13}],"ш":[{"е":13}],"ы":27,"і":[{"̈":13}],"ї":31,"ѡ":27,"ѣ":27,"ѵ":[{"́":13,"̏":13},27],"ѷ":9,"ꙋ":[{"́":13},27]},47],"г":[{"г":35,"д":[{"а":13}],"е":48,"о":[{"́":13,"р":9},47],"р":[{"а":13,"ѧ":13}]},27],"д":[{"а":[{"̑":13},27],"е":54,"и":[{"̀":47,"в":9}],"н":[{"о":13},35],"о":[{"с":9},27],"ы":27,"ѐ":47,"і":[{"̈":13},27],"ї":31,"ѝ":47,"ѣ":54,"ѧ":47,"ꙋ":37}],"е":[{"́":[{"ш":9}],"д":[{"и":13},11],"к":52,"с":[{"ѣ":13},11]},54],"ж":55,"з":[{"а":[{"х":13},25],"в":11,"д":[{"и":13,"р":11,"ы":11,"ѣ":11},47],"е":27,"и":27,"л":49,"н":[{"а":27}],"о":[{"р":9}],"р":56,"ы":27,"ѡ":9,"ѣ":27,"ꙋ":47}],"и":[{"́":[{"т":9}],"̆":[{"ш":[{"і":[{"̈":57}],"ї":38}]},9],"̑":[{"н":13},25],"л":11,"м":[{"о":13},11]},54],"й":[{"ш":[{"і":[{"̈":38}],"ї":13}]},56],"к":[{"а":[{"́":13,"̑":13}],"е":9,"и":9,"л":25,"о":[{"в":9,"н":9,"р":9,"с":13}],"і":48,"ѡ":[{"в":9}]},27],"л":[{"а":[{"л":9,"м":9,"х":9},27],"д":11,"е":[{"н":58},27],"и":[{"̑":13,"н":9},27],"л":[{"е":48,"і":[{"̈":38}],"ї":13}],"м":11,"о":27,"ы":27,"ю":[{"́":13},27],"і":[{"̈":13},27],"ї":31,"ѝ":27,"ѡ":27,"ѣ":27,"ѧ":27,"ꙋ":37}],"м":[{"а":[{"р":9},27],"в":59,"е":[{"р":48},31],"и":27,"о":[{"в":9,"м":9},27],"п":35,"ч":35,"ъ":47,"ы":27,"і":[{"̈":13},27],"ї":31,"ѝ":27,"ѣ":27,"ꙋ":[{"́":13}]}],"н":[{"а":[{"с":13},54],"д":11,"е":37,"и":54,"н":[{"і":[{"̈":38},48],"ї":13}],"о":[{"́":13,"в":9},27],"ц":11,"ъ":47,"ы":27,"ю":37,"ѐ":27,"і":[{"́":13,"̈":61},60],"ї":53,"ѝ":27,"ѡ":[{"н":9}],"ѣ":27,"ѧ":27,"ꙋ":[{"́":13,"а":48},27]}],"п":[{"е":[{"́":13,"р":13,"т":9}],"и":[{"́":13}],"р":[{"е":13}],"і":[{"́":13,"̈":13}],"ї":9},55],"р":[{"а":[{"с":9},27],"в":11,"д":[{"о":13},11],"е":[{"м":9},54],"и":54,"к":[{"і":[{"̈":38}],"ї":13},11],"л":11,"м":11,"о":[{"в":9},27],"с":11,"т":[{"і":[{"̈":38}],"ї":13},11],"ы":27,"ь":47,"ю":27,"ѐ":27,"є":[{"м":9},27],"і":[{"́":13,"̈":[{"и":38},13]},27],"ї":[{"и":13},31],"ѝ":54,"ѡ":[{"̑":48},27],"ѣ":27,"ѧ":54,"ѵ":[{"̏":33}],"ѷ":31,"ꙋ":37}],"с":[{"а":27,"е":37,"и":27,"л":[{"о":11}],"н":35,"о":27,"п":[{"а":32,"е":11,"и":13,"ѧ":11}],"с":[{"і":[{"̈":38}],"ї":13},11],"т":[{"в":11,"л":11,"р":27,"ѝ":27},47],"ы":27,"ѐ":27,"є":[{"́":13},27],"і":[{"́":13}],"ѝ":27,"ѡ":27,"ѣ":27,"ѧ":53}],"т":[{"а":[{"́":13,"̑":13,"в":9,"н":9},27],"в":27,"е":[{"́":13},27],"и":[{"л":9},27],"л":34,"о":[{"́":13,"с":9},27],"р":[{"і":[{"̈":38}],"ї":13},27],"ч":34,"ы":[{"̑":13},27],"і":[{"́":13,"̈":13},27],"ї":31,"ѝ":27,"ѡ":27,"ѣ":27,"ѧ":27,"ꙋ":[{"́":13},27]},47],"ф":[{"а":25,"і":[{"̈":13}],"ї":9,"ѵ":[{"́":13}]},55],"х":[{"а":[{"́":13,"л":9},27],"и":27,"о":27,"т":34,"і":[{"́":13}],"ѡ":[{"́":13}],"ꙋ":9},47],"ц":[{"ѣ":25},27],"ч":[{"е":[{"р":13,"с":9}],"н":11,"ꙋ":25},27],"ш":[{"є":[{"́":13}],"ꙋ":[{"́":13},25]},27],"щ":[{"а":[{"́":13}],"ꙋ":25},34],"ю":[{"щ":[{"і":[{"̈":38}],"ї":13}]},54],"і":[{"́":9,"̈":[{"а":13},9]},27],"ї":[{"а":9},44],"ѡ":[{"н":11},54],"ѧ":[{"́":[{"т":9,"ю":13}]},54],"ѯ":[{"а":[{"́":13}]}],"ѳ":[{"а":25,"о":9,"і":[{"́":13}]},34],"ѵ":[{"́":31,"р":11,"с":11}],"҆":[{"̀":[{".":62}],"́":[{".":62,"б":9,"л":13,"м":9,"н":[{"г":[{"е":[{"л":[{"м":[{"и":[{".":23}]}]}]}]}]},13]}],"̈":[{".":62}],"̑":[{".":62}],"а":9,"д":[{"ѡ":13}],"з":42,"к":[{"ꙋ":13},25],"м":[{"е":13,"о":13}],"р":[{"а":13}],"с":[{"к":11,"т":11}],"ѵ":9}],"ⷠ":[{".":30,"҇":[{".":30}]}],"ⷡ":[{".":30,"҇":[{".":30}]},8],"ⷢ":[{".":30,"҇":[{".":30}]}],"ⷣ":[{".":30,"҇":[{".":30}]}],"ⷤ":[{".":30,"҇":[{".":30}]},8],"ⷥ":[{".":30,"҇":[{".":30}]}],"ⷦ":[{".":30,"҇":[{".":30}]}],"ⷧ":[{".":30,"҇":[{".":30}]}],"ⷨ":[{".":30,"҇":[{".":30}]}],"ⷩ":[{".":30,"҇":[{".":30}]},47],"ⷪ":[{".":30,"҇":[{".":30}]}],"ⷫ":[{".":30,"҇":[{".":30}]}],"ⷬ":[{".":30,"҇":[{".":30}]}],"ⷭ":[{".":30,"҇":[{".":30}]},8],"ⷮ":[{".":30,"҇":[{".":30}]}],"ⷯ":[{".":30,"҇":[{".":30}]}],"ⷰ":[{".":30,"҇":[{".":30}]}],"ⷱ":[{".":30,"҇":[{".":30}]},8],"ⷲ":[{".":30,"҇":[{".":30}]}],"ⷳ":[{".":30,"҇":[{".":30}]}],"ⷴ":[{".":30,"҇":[{".":30}]}],"ⷵ":[{".":30,"҇":[{".":30}]}],"ⷶ":[{".":30,"҇":[{".":30}]}],"ⷷ":[{".":30,"҇":[{".":30}]}],"ⷸ":[{".":30,"҇":[{".":30}]}],"ⷹ":[{".":30,"҇":[{".":30}]}],"ⷺ":[{".":30,"҇":[{".":30}]}],"ⷻ":[{".":30,"҇":[{".":30}]}],"ⷼ":[{".":30,"҇":[{".":30}]}],"ⷽ":[{".":30,"҇":[{".":30}]}],"ⷾ":[{".":30,"҇":[{".":30}]}],"ⷿ":[{".":30,"҇":[{".":30}]}],"ꙋ":[{"́":[{"т":9,"ч":9}]},27],"ꙴ":[{".":30,"҇":[{".":30}]}],"ꙵ":[{".":30,"҇":[{".":30}]}],"ꙶ":[{".":30,"҇":[{".":30}]}],"ꙷ":[{".":30,"҇":[{".":30}]}],"ꙸ":[{".":30,"҇":[{".":30}]}],"ꙹ":[{".":30,"҇":[{".":30}]}],"ꙺ":[{".":30,"҇":[{".":30}]}],"ꙻ":[{".":30,"҇":[{".":30}]}],"꙼":[{".":30,"҇":[{".":30}]}],"꙽":[{".":30,"҇":[{".":30}]}]}],"б":[{".":47,"̾":49,"а":[{"́":[{"н":9,"с":9,"т":9,"ч":9,"ш":9}],"̑":25,"в":42,"г":25,"н":11},48],"б":54,"в":[{"е":[{"̀":47,"́":13}],"и":[{"́":13},54],"ѐ":47,"ѝ":54}],"г":48,"д":[{"е":54,"и":[{"́":13},8],"ѣ":63}],"е":[{"з":52,"р":42,"с":11,"т":9,"х":10},63],"ж":48,"з":[{"а":[{"́":13},25],"ꙋ":[{"́":13}]},64],"и":[{"́":[{"д":9,"н":9,"с":9,"ц":9}],"̑":9,"л":[{"а":13}],"м":10,"н":25,"р":11,"с":42,"т":[{"и":13}],"ш":[{"а":13}]},63],"л":[{"а":[{"̀":27,"́":[{"з":[{"н":[{"е":[{"н":3}]}]}]}],"д":9},48],"е":[{"в":65,"г":58,"к":27,"м":9,"н":27,"с":65,"ц":31,"ч":27}],"и":[{"̀":63,"́":48,"ж":48,"м":48,"с":48}],"о":66,"ъ":47,"ь":47,"ю":[{"̀":27,"́":48,"д":65,"щ":27}],"є":[{"н":13},54],"і":[{"̈":67}],"ї":68,"ѝ":63,"ѧ":[{".":48,"̀":48,"́":33,"̑":48,"г":48}],"҃":48,"ꙋ":48},10],"м":54,"н":[{"а":9,"е":[{"м":27,"т":27},25],"и":27,"о":[{"в":27,"м":9}],"ы":[{".":27}],"і":[{"̈":13}],"ї":9,"ѣ":[{".":27,"м":27}],"ꙋ":27},50],"о":[{"́":[{"з":9,"к":9,"ц":9}],"е":25,"ж":25,"з":42,"л":[{"ѣ":[{"́":[{"з":[{"н":[{"е":3,"и":3}]}]}]}]}],"н":11,"р":[{"ц":9},11],"с":25,"щ":11,"ю":[{"́":13}],"ѧ":[{"́":[{"з":[{"н":[{"и":16}]}]}]}]},63],"р":[{"а":[{".":48,"̀":48,"̑":48,"г":48,"ж":48,"з":48,"н":48,"т":27,"ѧ":48}],"е":[{"м":9,"т":9},63],"и":63,"о":[{"н":9},63],"ъ":47,"ы":63,"ь":47,"є":65,"і":[{"̈":58}],"ї":65,"ѡ":69,"ѣ":[{".":48,"и":[{"̆":48}],"й":48,"с":48,"т":48}],"ѧ":[{"́":13},63],"ꙋ":[{"̀":48,"́":27,"г":27,"ю":48}]},10],"с":[{"к":[{"о":13}],"т":[{"о":13}]},55],"х":[{"о":[{"́":13}]},54],"ц":[{"а":27,"ы":27,"ꙋ":27},47],"ч":47,"ш":[{"а":9,"ꙋ":9},54],"щ":[{"а":[{"́":13},48],"е":[{"́":13},48],"и":48,"н":47,"і":[{"̈":70}],"ї":71},8],"ъ":72,"ы":[{"́":[{"в":[{"ы":7}],"д":9,"ш":9}],"̑":[{"н":9}],"м":11},48],"ь":49,"ѐ":48,"є":[{"́":[{"с":13},25]},48],"і":[{"́":25,"̈":9},48],"ї":59,"ѝ":48,"ѡ":[{"́":[{"г":9,"р":13}],"̑":9,"л":11},48],"ѣ":[{"́":[{"ж":9,"л":9,"м":9,"ш":9}],"д":[{"о":13},11],"л":11,"с":11,"т":[{"о":13},11]},48],"ѧ":[{"́":[{"х":9}],"т":10,"щ":[{"е":13}]},63],"҃":10,"ꙋ":[{"́":[{"д":9}],"̑":9,"з":52,"р":11},48]}],"в":[{"̾":10,"а":[{"́":[{"г":65,"д":9,"е":48,"ж":9,"и":[{"̆":48}],"й":48,"м":48,"т":9,"ш":9,"ю":48,"є":58,"ѧ":48}],"̑":[{"н":65,"р":48,"ш":9,"ю":48}],"в":48,"г":[{"ѡ":48}],"д":11,"е":48,"и":[{"̆":48}],"й":48,"к":71,"л":[{"ъ":48},25],"н":[{"и":48,"н":48,"і":[{"̈":48}],"ї":48}],"р":[{"и":[{"̀":48}],"с":48,"ъ":48,"ы":48,"ѝ":48,"ѡ":48,"ѧ":48}],"с":[{"т":11},48],"т":[{"и":13},59],"х":[{"о":48,"ꙋ":48},25],"ш":[{"а":13,"е":13},48],"ю":[{"т":13},48],"ѡ":48,"ѧ":48,"ⷤ":47},8],"в":[{"а":[{"́":13},27],"е":[{"д":9,"р":13,"с":9},8],"о":[{".":27,"́":13}],"ы":27,"ꙋ":27},47],"г":[{"о":9},54],"д":[{"а":[{".":48,"́":27,"̑":33}],"и":47,"о":63,"ы":63,"і":63,"ѡ":8,"ѣ":63,"ꙋ":63}],"е":[{"̀":48,"́":[{"а":48,"д":48,"и":48,"к":48,"м":48,"с":48,"т":[{"с":[{"ѣ":[{"м":[{"ъ":[{".":7}]}]}]}],"х":[{"о":[{"м":[{"ꙋ":4}]}]}]},48],"ц":48,"ч":9,"ш":65}],"в":11,"д":[{"д":48,"и":48,"н":65,"о":48,"ꙋ":48}],"з":52,"л":[{"е":13},59],"н":[{"а":48,"е":48,"и":48,"т":65,"ц":48,"і":[{"̈":38}],"ї":13}],"р":[{"а":48,"д":9,"з":48,"и":48,"о":13,"ш":48,"ъ":48,"ꙋ":48}],"с":[{"т":11},48],"т":59,"ц":[{"ъ":48}],"ч":59,"щ":48},8],"ж":[{"и":9},8],"з":[{"а":9,"и":9,"ы":[{"́":13}]},64],"и":[{"̀":9,"́":[{"д":48,"м":48,"н":48,"р":48,"ц":48,"ч":65,"ш":48}],"̑":[{"н":13},48],"в":48,"г":47,"ж":47,"з":73,"л":[{"а":13},48],"м":[{"а":13,"о":13},48],"н":59,"р":[{"і":[{"̈":48}],"ї":48},11],"с":[{"с":[{"а":[{"р":[{"і":[{"̈":[{"ѡ":[{"́":[{"н":7}]}]}]}],"ї":[{"ѡ":[{"́":[{"н":7}]}]}]}]}]}]},48],"т":[{"и":13},48],"ф":11,"х":48,"ц":[{"е":13}],"ч":[{"а":48,"ю":48,"ѣ":48,"ꙋ":48}],"ш":[{"а":13},48],"щ":48},8],"к":8,"л":[{"а":[{"д":9,"с":9},63],"е":[{"к":48,"ц":65,"ч":48,"щ":48}],"и":54,"о":43,"ъ":47,"ь":47,"ю":[{"̀":27,"́":33}],"є":[{"н":33}],"і":63,"ѣ":[{"́":13},63],"ѧ":[{".":27,"́":13}]},10],"м":[{"а":[{"́":13}],"ѣ":[{"́":13},9]},63],"н":[{"а":[{"̀":48},31],"е":[{"́":13,"г":48,"е":27,"м":9}],"и":[{".":27,"к":27,"х":27,"ц":27}],"о":[{"д":27,"м":27},9],"ш":47,"ъ":47,"ы":54,"ю":66,"і":[{"̈":47}],"ї":47,"ѡ":[{"́":48}],"ѣ":[{"̀":48}],"ѧ":[{"г":27},47],"ꙋ":[{"̀":48,"ю":27}]}],"о":[{"́":[{"з":13,"л":48,"н":48,"т":48,"ю":48}],"а":48,"в":[{"ѣ":48},11],"г":48,"д":[{"а":48,"и":48,"н":[{"а":[{"́":1}],"о":[{"́":1}],"ы":[{"́":1}]},9],"ы":48,"ѝ":48,"ѣ":48}],"е":[{".":48,"̀":47,"м":9}],"ж":[{"ꙋ":48},25],"з":[{"б":48,"в":48,"г":48,"д":[{"а":[{"́":[{"н":2}]}]}],"м":48,"н":48,"о":13,"с":48,"ш":48},9],"й":48,"к":48,"л":48,"м":[{"ꙋ":48}],"н":[{"а":13},48],"п":71,"р":[{"о":48,"ц":9},11],"с":[{"и":13,"о":13},48],"т":71,"ц":[{"а":13}],"ч":[{"е":13},48],"ш":52,"ѐ":47,"є":47,"ѝ":47,"ѡ":48,"ѧ":47}],"п":[{"а":[{"д":9}],"е":9},45],"р":[{"а":[{"̑":13,"з":9}],"е":[{"д":9,"м":9}],"о":[{"́":13},25],"ꙋ":9},64],"с":[{"а":8,"е":[{"н":9,"р":9,"х":9,"ц":9,"ѡ":13},8],"и":8,"к":[{"а":13,"і":[{"̈":38}],"ї":13}],"т":37,"ы":43,"ю":8,"ѐ":8,"ѝ":8,"ѣ":8,"ѧ":[{"́":13}],"ꙋ":[{"́":13},8]},50],"т":[{"о":[{"р":9}]},63],"х":45,"ц":[{"а":[{".":27,"́":48}],"ы":[{"̀":27}],"є":54},10],"ч":[{"а":63,"е":[{"́":48,"р":9}],"і":[{"̈":61}],"ї":53}],"ш":[{"а":[{"ѧ":13},9],"е":[{"м":9}],"ꙋ":9},55],"ъ":72,"ы":[{"́":[{"м":9,"н":9},48],"̑":48,"и":[{"̆":48}],"й":48,"к":48,"м":[{"а":48}],"с":11,"ш":74},8],"ь":49,"ѐ":48,"є":[{"́":[{"л":65,"н":58,"с":48,"т":9}],"д":48,"н":9}],"і":[{"́":[{"к":9}],"̈":[{"к":9,"л":75,"м":9,"н":9,"с":9},8]},48],"ї":[{"а":48,"и":[{"̆":48}],"й":48,"к":11,"л":52,"м":59,"н":11,"с":11},8],"ѝ":35,"ѡ":[{".":48,"́":[{"д":65,"л":48,"р":48,"т":48}],"в":48,"и":47,"м":48}],"ѣ":[{"́":[{"д":48,"е":48,"ж":48,"и":[{"̆":48}],"й":48,"м":48,"н":48,"с":[{"т":[{"в":[{"о":76}]}]}],"ц":48,"ш":9}],"̑":[{"д":48,"к":48,"с":48,"т":48,"ч":13}],"д":71,"е":48,"з":77,"и":[{"̆":48}],"й":48,"к":[{"о":13}],"л":49,"м":[{"ъ":48}],"р":[{"ѧ":48}],"с":[{"т":[{"в":[{"о":16,"ꙋ":[{"́":16}]}]}]},48],"т":[{"о":13},47],"х":48,"щ":[{"є":48}]},8],"ѧ":[{".":48,"̀":48,"́":[{"д":58,"с":65,"х":65,"ш":48,"щ":48}],"д":48,"з":[{"е":48},42],"т":[{"с":48,"ъ":48,"ь":48}],"х":59,"ч":[{"е":13},11],"ш":48,"щ":[{"и":48,"ы":48,"і":[{"̈":48}],"ї":48}]},8],"ѵ":[{"́":[{"л":65,"п":48,"т":9}],"̏":[{"с":75},63]}],"ѷ":[{"с":52},63],"҃":[{"и":[{"́":13}],"о":9,"ы":9},10],"ⷣ":50,"ꙋ":[{"́":[{".":48,"л":48,"р":58,"т":48,"щ":65}],"д":59,"е":[{"м":9}],"х":[{"о":13},59],"ю":[{".":48}]},8]}],"г":[{"а":[{"̀":48,"́":[{"в":48,"г":9,"е":48,"и":[{"̆":48}],"й":48,"л":48,"м":48,"н":48,"п":48,"т":48,"х":65,"ш":65,"ю":48,"ѳ":48}],"̑":[{"т":48},9],"а":[{"́":13}],"в":11,"г":48,"д":74,"е":48,"ж":48,"и":[{"̆":48}],"й":48,"л":11,"м":[{"а":13},11],"р":49,"с":59,"т":59,"ѧ":48,"ѳ":48},8],"в":63,"г":[{"і":63,"҃":47}],"д":[{"а":[{"́":13,"л":9},48],"о":[{"́":13},71],"ъ":47,"ѣ":[{"́":13},48]},8],"е":[{"́":[{"р":13}],"д":[{"е":13},11],"е":25,"н":52,"р":[{"м":9}],"ѡ":25},48],"и":[{".":48,"̀":48,"́":[{"б":48,"з":48,"н":9,"т":65}],"̑":[{"з":13},71],"б":48,"м":48,"с":59,"х":48},8],"к":[{"о":9,"ѵ":[{"́":13}]},55],"л":[{"а":[{"в":9,"с":9},48],"е":68,"и":63,"о":[{".":27,"́":13,"т":48}],"с":47,"ъ":47,"ы":72,"ь":47,"і":[{"̈":13},63],"ї":68,"ѡ":63,"ѣ":63,"ѧ":[{"́":13},63],"ѵ":[{"̏":78}],"ѷ":43,"ꙋ":72}],"м":[{"а":[{"́":13}]},63],"н":[{"а":69,"е":[{"́":48,"д":48,"з":48,"м":27,"н":48,"п":48,"р":48,"т":27,"ц":48,"ѡ":58}],"и":[{".":27,"̀":63,"́":58,"ц":48}],"о":63,"ц":49,"ч":49,"ъ":47,"ь":47,"ю":69,"і":[{"̈":40},63],"ї":69,"ѝ":63,"ѣ":63,"ѧ":63,"ꙋ":[{"т":31,"ш":48}]}],"о":[{".":48,"̀":48,"́":[{".":48,"д":48,"ж":65,"м":9,"н":65,"р":48,"с":65,"ф":58,"х":48,"ш":48,"ю":48}],"б":71,"в":[{"а":48,"и":48,"м":48},42],"г":[{"л":48,"р":48}],"д":[{"и":48,"о":48,"ꙋ":48}],"е":48,"ж":71,"з":74,"и":[{"з":13}],"к":48,"л":[{"ꙋ":13},11],"м":48,"н":[{"а":13},74],"п":[{"и":48,"л":48,"о":58,"ѣ":48},25],"р":[{"и":48,"о":48,"ч":48,"і":[{"̈":48}],"ї":48}],"с":[{"в":48,"ѧ":48,"ꙋ":13},42],"т":48,"х":71,"ц":48,"ч":[{"а":48,"є":13}],"ю":48,"ѡ":[{"ч":48}],"ѧ":[{"в":13},48],"ѹ":48,"ѻ":48,"ᲂ":[{"у":48}],"ꙋ":[{"в":48},9]},8],"р":[{"а":[{"̑":13,"н":9}],"е":[{"́":13,"м":9}],"о":[{"м":9}],"і":[{"́":13,"̈":40}],"ї":25,"ѵ":[{"̏":13}],"ѷ":9,"ꙋ":9},64],"с":[{"т":25},55],"т":63,"х":[{"а":[{"́":13}]},54],"ц":[{"а":63,"ѣ":54}],"ч":54,"ш":[{"а":9,"е":9,"і":[{"̈":13}],"ї":9},55],"ъ":56,"є":48,"і":[{"́":[{"а":48,"е":48,"и":48,"ю":48}],"̈":[{"г":9},63],"̑":65}],"ї":[{"г":11},63],"ѝ":48,"ѡ":[{"́":[{"д":13,"ж":9,"р":13}],"с":42},48],"ѣ":48,"ѵ":[{"́":9},48],"҃":[{"о":9},10],"ⷣ":50,"ⷭ":47,"ꙋ":[{"́":9,"̑":9,"б":[{"л":9}],"т":10,"ю":9},63]}],"д":[{"̾":[{"ѧ":[{"в":13}],"ꙋ":9},56],"а":[{"́":[{"г":9,"д":9,"и":[{"̆":48}],"й":48,"к":48,"м":48,"р":48,"ш":9,"є":13}],"̑":[{"р":48,"т":48}],"в":[{"л":9},48],"г":48,"д":59,"е":48,"и":[{"̆":[{"т":48}]}],"й":[{"т":48}],"к":[{"о":13},48],"л":[{"а":48,"е":48,"ъ":48,"і":[{"̈":48}],"ї":48}],"м":[{"а":48},11],"н":[{"ъ":48,"і":[{"̈":48}],"ї":48}],"р":[{"о":13},59],"с":74,"т":[{"и":13},59],"х":[{"ꙋ":48}],"ш":48,"ю":48,"ѧ":48},8],"б":[{"ѣ":25},54],"в":[{"а":[{"̀":48,"́":13,"н":9,"р":31}],"е":[{"р":9},8],"и":[{"́":[{"г":[{"л":[{"а":21}]}]}]},63],"о":[{"з":27,"р":48}],"є":[{"́":13},8],"ѣ":[{"м":9},47],"҃":48,"ꙋ":8},10],"г":[{"л":[{"а":13}],"р":[{"ѧ":13}]},55],"д":54,"е":[{"̀":48,"́":[{"а":48,"б":48,"ж":48,"и":48,"к":65,"р":48,"с":48,"т":48,"ц":48,"ч":58,"ш":65,"ю":48,"є":48,"ѡ":48}],"б":[{"е":13},48],"в":59,"ж":48,"и":[{"̆":48}],"й":48,"л":49,"м":48,"н":48,"р":65,"с":[{"а":48,"е":48,"и":[{"̀":48}],"н":48,"ы":48,"ѐ":48,"ѝ":48,"ѣ":48,"ѧ":48},11],"т":[{"а":48,"е":48}],"х":79,"ц":48,"ю":47,"ѡ":[{"́":48}]},8],"з":55,"и":[{"́":[{"с":9,"щ":9}],"̑":[{"в":13,"м":9}],"в":[{"л":9,"о":13}],"л":11,"м":[{"а":13,"о":13}],"н":[{"о":13},11],"р":11,"с":25,"ф":11},63],"к":[{"а":9,"л":[{"о":13}],"о":9},54],"л":[{"а":[{"̑":13,"г":27},47],"е":[{"ж":27,"н":58}],"о":66,"ѧ":8},10],"м":[{"а":[{"́":13},48],"е":65,"и":[{"́":13},48],"о":[{"́":13},71],"ы":48,"ь":47,"ѝ":48},8],"н":[{"а":[{"́":33,"с":27},9],"е":[{"̀":8,"́":48,"а":48,"в":[{"н":[{"ꙋ":[{"́":2}]}]},13],"м":27,"с":65,"є":48}],"и":[{".":27,"̀":54,"́":27,"х":27}],"о":[{"́":33,"в":65,"л":48,"м":31,"с":48,"є":27}],"с":47,"ы":[{".":48,"́":27,"м":27}],"ю":[{".":27},47],"ѐ":8,"і":[{"̈":47}],"ї":47,"ѝ":54,"ѡ":47,"ѣ":[{"м":27}],"ѧ":66,"ꙋ":[{"е":48,"и":48},9]}],"о":[{"̀":48,"́":[{"в":9,"г":9,"с":9},48],"б":[{"л":9,"о":13},48],"в":[{"е":48,"о":48,"ы":48},42],"д":48,"е":48,"ж":71,"и":[{"́":13},48],"к":48,"л":48,"м":[{"а":13,"н":9,"о":13},48],"н":59,"п":48,"р":11,"с":[{"т":[{"и":[{"́":[{"г":[{"л":[{"а":80}]}]}]}]}]},71],"т":71,"х":48,"ч":[{"е":13},48],"ю":47,"ѯ":48,"ꙋ":[{"м":48},9]},8],"п":[{"и":[{"́":13}],"о":9,"р":[{"о":13}],"ꙋ":9},55],"р":[{"а":[{".":48,"̀":48,"г":48,"ж":48,"з":27,"ѧ":48}],"е":[{".":48,"к":27,"м":9,"н":58,"ч":27}],"и":63,"о":[{"в":9,"м":9,"н":9},63],"с":49,"ъ":47,"ы":63,"і":[{"̈":13},63],"ї":68,"ѡ":[{"́":13},63],"ѣ":[{"́":[{"в":[{"л":[{"е":16}]}]},13]},69],"ꙋ":63}],"с":[{"к":[{"а":13,"о":13}],"о":37,"т":37},50],"т":[{"е":[{"́":13}]},54],"х":[{"о":[{"́":13},37]},50],"ц":55,"ч":54,"ш":[{"а":9,"е":[{"́":13,"м":9}],"ꙋ":9},55],"щ":[{"є":[{"́":13}]},8],"ъ":72,"ы":[{"́":[{"к":9,"н":9,"ш":9},48],"г":48,"и":[{"̆":48}],"й":48,"м":48,"р":79,"х":48,"ѧ":48},8],"ь":56,"ѐ":48,"є":[{"́":[{"ж":48,"и":48,"й":48,"ч":58}]}],"і":[{"́":[{"д":48,"е":58,"и":48,"м":48,"с":48,"т":65,"ѳ":48}],"̈":[{"а":48,"г":65,"е":[{"̀":48,"́":48}],"и":48,"й":48,"о":13,"ф":48,"ц":48,"ю":48,"ѐ":48,"ѝ":48,"ѡ":48,"ѧ":[{"̀":48,"́":48}]},8],"̑":48}],"ї":[{"а":48,"г":59,"е":[{"̀":48,"́":48}],"и":48,"й":48,"о":9,"ф":48,"ц":48,"ю":48,"ѐ":48,"ѝ":48,"ѡ":48,"ѧ":[{"̀":48,"́":48}]},8],"ѝ":63,"ѡ":[{"м":10,"н":[{"а":13},11]},63],"ѣ":[{"́":[{"ж":9,"с":9,"т":9,"ш":9},48],"̑":48,"в":48,"д":48,"л":48,"м":48,"н":48,"с":59,"т":[{"о":13},59],"х":48,"ш":48,"ѧ":48},8],"ѧ":[{"́":[{"х":9}],"з":25,"т":10,"х":11},63],"ѵ":[{"́":25},48],"ⷧ":47,"ꙋ":[{"́":[{"г":65,"е":48,"ж":58,"з":65,"л":9,"с":9,"х":48,"ш":48,"щ":65}],"̑":[{"ж":13},48],"б":11,"е":48,"ж":48,"и":[{"м":13},71],"й":48,"т":10,"х":48,"ш":71,"щ":[{"а":13}],"ю":48,"ѧ":48},8]}],"е":[{".":30,"̀":[{".":46}],"́":[{".":46,"а":47,"б":[{"е":13}],"в":[{"и":13,"л":9}],"г":[{"ц":9}],"д":[{"і":[{"̈":38}],"ї":13}],"е":[{"в":9},47],"ж":[{"а":13}],"з":[{"а":13,"д":9,"н":9,"о":13,"р":11,"ꙋ":11}],"к":[{"о":13}],"м":[{"в":9,"ы":48,"ь":48}],"н":[{"а":13,"м":9,"о":13,"і":[{"̈":38}],"ї":13,"ꙋ":13}],"п":25,"р":[{"б":9}],"с":[{"а":13,"н":9}],"т":[{"в":11,"е":13,"и":13}],"ц":50,"ч":47,"ш":[{"и":13}],"щ":[{"і":[{"̈":38}],"ї":13}],"ю":9,"є":81,"ѯ":11,"ѳ":49,"ѵ":[{"к":48},25]},8],"̈":[{".":46}],"̑":[{".":46,"н":9},45],"а":[{"́":[{"н":13}],"̑":9,"з":42,"м":11},27],"б":[{"е":[{"л":9}],"л":[{"е":11,"ю":11}],"о":[{"́":13}],"ѣ":25},27],"в":[{"а":[{"́":13,"̑":13,"с":9},27],"е":[{"д":9,"р":9,"с":9},54],"з":[{"ы":13}],"и":[{"̑":13},27],"л":[{"е":11,"ѧ":11}],"н":[{"и":27,"о":27}],"о":[{"л":13,"н":9,"с":13},27],"р":[{"а":13}],"с":[{"к":48},11],"ы":[{"м":9},27],"є":[{"́":13},27],"ѡ":27,"ѣ":[{"с":9},27],"ѧ":[{"́":13,"т":9},27],"ꙋ":27}],"г":[{"а":9,"и":[{"́":13}],"о":[{"́":13}],"р":[{"а":13,"е":13,"ѣ":13}],"ѡ":[{"́":13}],"ꙋ":[{"б":9}]},27],"д":[{"а":[{"̑":13},27],"в":[{"а":32,"о":11,"ѣ":11}],"е":27,"и":[{"̑":13,"н":48}],"л":[{"а":32}],"м":27,"н":[{"а":11,"е":33,"и":11,"о":32,"ы":11,"і":[{"̈":38}],"ї":13,"ѣ":11,"ꙋ":11}],"о":[{"м":9,"с":9,"х":13},27],"р":[{"а":11},25],"с":11,"х":11,"ы":27,"і":54,"ѣ":[{"л":9},27],"ꙋ":37}],"е":[{"́":[{"н":13}],"с":11},27],"ж":27,"з":[{"а":[{"х":9}],"в":35,"д":[{"ы":13},35],"е":[{"́":13,"к":48},27],"и":31,"н":[{"а":13,"е":13},35],"о":[{"́":13}],"п":[{"о":13}],"р":34,"ы":37,"ѧ":27,"ꙋ":11}],"и":[{"́":9,"̆":[{"ж":48},9],"з":9,"м":11,"с":[{"п":11}],"т":11},27],"й":[{"ж":48},35],"к":[{"а":[{"́":13},25],"к":48,"о":[{"н":9}],"і":[{"̈":13},47],"ї":53,"ꙋ":25},27],"л":[{"а":[{"̑":13},27],"е":27,"и":[{"̑":13},54],"о":[{"в":9},27],"п":47,"ъ":47,"ы":27,"ь":47,"ю":[{"́":13,"б":9},27],"є":[{"н":9},27],"і":[{"̈":33}],"ї":31,"ѝ":27,"ѡ":54,"ѣ":27,"ѧ":54,"ꙋ":31},10],"м":[{"а":[{"́":13,"ѧ":48},27],"е":[{"н":9},54],"ж":48,"и":[{".":48,"̀":47,"н":9},27],"л":55,"н":49,"о":[{"л":13,"м":65,"р":9,"щ":13,"ю":48},27],"п":56,"ы":[{"м":65},27],"ь":48,"і":[{"̈":13}],"ї":[{"и":48},31],"ѝ":54,"ѡ":[{"щ":13},47],"ѣ":54,"ѧ":[{"́":13},82],"ⷣ":47}],"н":[{"а":[{"д":9},27],"е":[{"с":9,"ѡ":13},27],"и":[{"х":9},27],"м":11,"о":[{"в":9,"м":9},27],"т":[{"і":[{"̈":38}],"ї":13}],"ц":11,"ы":27,"ю":31,"ѐ":27,"і":27,"ѝ":27,"ѣ":27,"ѧ":[{"́":13},27],"ꙋ":27},47],"о":[{"́":[{"г":9,"д":9,"н":13,"п":9,"ф":9}],"н":11},27],"п":[{"е":[{"т":9}],"и":9,"о":9,"р":[{"е":13,"о":13}],"і":[{"́":13},48],"ѣ":[{"́":13}],"ⷭ":48},34],"р":[{"а":[{"з":13},27],"б":11,"в":[{"о":13},11],"г":11,"е":27,"ж":42,"з":42,"и":37,"к":11,"н":[{"а":13},25],"о":[{"в":65,"м":65},27],"п":[{"л":9}],"с":11,"т":[{"в":11}],"х":11,"ц":35,"ъ":47,"ы":27,"ю":27,"є":31,"і":[{"́":13,"̈":[{"к":13,"н":38}]},27],"ї":[{"к":9,"н":13},27],"ѝ":27,"ѡ":[{"н":9},60],"ѣ":31,"ѧ":[{"́":13},27],"ⷭ":48,"ꙋ":[{"с":48},27]}],"с":[{"а":27,"е":54,"и":27,"к":[{"о":13,"ꙋ":13},54],"л":[{"ꙋ":13}],"н":27,"о":[{"ж":13,"м":9},27],"п":[{"а":13},27],"с":[{"а":13,"е":48}],"т":[{"в":27,"е":27,"о":27,"р":27}],"ы":27,"ѐ":27,"є":27,"і":[{"̈":13}],"ї":9,"ѝ":27,"ѡ":[{"́":13},27],"ѣ":27},10],"т":[{"а":[{"̑":13,"с":48},27],"в":54,"е":[{"̀":47,"р":13,"с":48},27],"и":54,"к":55,"л":55,"н":[{"а":83,"о":59,"ы":59}],"о":[{"́":13},82],"р":54,"ш":47,"ы":[{"́":13,"р":9},27],"ѐ":54,"є":54,"і":[{"̈":13},54],"ї":66,"ѝ":54,"ѡ":66,"ѣ":27,"ѧ":54,"ꙋ":[{"́":13},27]}],"ф":[{"а":25},34],"х":[{"и":31,"о":54},10],"ц":[{"а":27,"е":37,"ы":27,"ѣ":37,"ꙋ":27},47],"ч":[{"а":[{"т":9}],"е":[{"р":9}],"и":[{"с":9}],"н":[{"а":13},11],"ѐ":27,"ⷭ":27,"ꙋ":37}],"ш":[{"е":81,"и":9,"л":47},34],"щ":[{"е":[{"́":13}],"и":[{"́":13}]},27],"ю":27,"є":27,"ѕ":34,"ѡ":[{"́":[{"р":13}],"д":11,"р":11,"с":42},54],"ѧ":[{"́":9},27],"ѯ":[{"а":25},27],"ѱ":27,"ѳ":[{"о":25},34],"ѵ":[{"к":11,"р":11,"с":11}],"ѻ":[{"р":25},44],"ѿ":44,"҆":[{"̀":[{".":62}],"́":[{".":62}],"̈":[{".":62}],"̑":[{".":62}]},11],"ⷠ":[{".":30,"҇":[{".":30}]}],"ⷡ":[{".":30,"҇":[{".":30}]},8],"ⷢ":[{".":30,"҇":[{".":30}]}],"ⷣ":[{".":30,"҇":[{".":30}]},8],"ⷤ":[{".":30,"҇":[{".":30}]}],"ⷥ":[{".":30,"҇":[{".":30}]}],"ⷦ":[{".":30,"҇":[{".":30}]},8],"ⷧ":[{".":30,"҇":[{".":30}]}],"ⷨ":[{".":30,"҇":[{".":30}]},72],"ⷩ":[{".":30,"҇":[{".":30}]}],"ⷪ":[{".":30,"҇":[{".":30}]}],"ⷫ":[{".":30,"҇":[{".":30}]},8],"ⷬ":[{".":30,"҇":[{".":30}]}],"ⷭ":[{".":30,"҇":[{".":30}]}],"ⷮ":[{".":30,"҇":[{".":30}]}],"ⷯ":[{".":30,"҇":[{".":30}]}],"ⷰ":[{".":30,"҇":[{".":30}]}],"ⷱ":[{".":30,"҇":[{".":30}]}],"ⷲ":[{".":30,"҇":[{".":30}]}],"ⷳ":[{".":30,"҇":[{".":30}]}],"ⷴ":[{".":30,"҇":[{".":30}]}],"ⷵ":[{".":30,"҇":[{".":30}]}],"ⷶ":[{".":30,"҇":[{".":30}]}],"ⷷ":[{".":30,"҇":[{".":30}]}],"ⷸ":[{".":30,"҇":[{".":30}]}],"ⷹ":[{".":30,"҇":[{".":30}]}],"ⷺ":[{".":30,"҇":[{".":30}]}],"ⷻ":[{".":30,"҇":[{".":30}]}],"ⷼ":[{".":30,"҇":[{".":30}]}],"ⷽ":[{".":30,"҇":[{".":30}]}],"ⷾ":[{".":30,"҇":[{".":30}]}],"ⷿ":[{".":30,"҇":[{".":30}]}],"ꙋ":[{"в":[{"ѧ":13}],"г":[{"а":13,"о":48}]},44],"ꙴ":[{".":30,"҇":[{".":30}]}],"ꙵ":[{".":30,"҇":[{".":30}]}],"ꙶ":[{".":30,"҇":[{".":30}]}],"ꙷ":[{".":30,"҇":[{".":30}]}],"ꙸ":[{".":30,"҇":[{".":30}]}],"ꙹ":[{".":30,"҇":[{".":30}]}],"ꙺ":[{".":30,"҇":[{".":30}]}],"ꙻ":[{".":30,"҇":[{".":30}]}],"꙼":[{".":30,"҇":[{".":30}]}],"꙽":[{".":30,"҇":[{".":30}]}]}],"ж":[{"а":[{"́":[{"ж":9,"ш":9,"щ":9}],"̑":9,"м":11,"т":10,"х":10},63],"б":54,"г":54,"д":[{"а":[{"́":13,"н":9},48],"е":[{"ѡ":13},48],"и":[{"в":9},48],"н":49,"о":65,"с":49,"ш":[{"і":[{"̈":38}],"ї":13},47],"ъ":47,"ы":48,"ь":47,"є":[{"́":13},48],"ѝ":48,"ѣ":48,"ѧ":48,"ꙋ":48},8],"е":[{".":48,"́":[{"и":[{"̆":48}],"й":48,"с":48}],"з":52,"и":[{"̆":48}],"й":48,"л":59,"м":79,"н":[{"і":[{"̈":38}],"ї":13},48],"р":52,"с":48,"т":48,"ш":48,"ю":48},8],"ж":[{"е":[{"́":13}],"и":[{"́":13},63]}],"и":[{"́":[{"з":[{"н":[{"и":7}]}],"н":9,"с":9}],"̑":9,"в":[{"л":[{"е":[{"́":[{"н":19}]}]},9]},11],"з":42,"с":42,"т":[{"и":13}],"ц":[{"е":13}],"ш":[{"а":13}]},63],"к":[{"а":9,"о":9},54],"н":[{"а":9,"е":[{"м":9}],"о":9,"і":[{"̈":13}],"ї":9,"ѧ":9},55],"р":[{"о":[{"́":13},25],"ꙋ":25},63],"с":[{"к":[{"а":13,"о":13}]},55],"ц":54,"ш":[{"а":9,"е":9},54],"ъ":47,"ы":48,"ь":72,"є":[{"́":[{"м":48,"р":13,"с":65}],"н":48,"с":48}],"і":[{"̈":[{"ѧ":13},63]}],"ї":[{"ѧ":9},63],"ѧ":48,"҃":[{"е":[{"́":13}]}],"ⷭ":47,"ꙋ":[{".":48,"́":[{"с":48},9],"с":48,"т":65},8]}],"з":[{"̾":[{"и":9,"ѧ":[{"в":9}]},56],"а":[{"́":[{"м":9,"с":9,"ш":9,"ѧ":13}],"̑":[{"д":13,"н":9}],"в":11,"д":11,"и":47,"к":25,"л":11,"м":11,"н":[{"т":9}],"п":[{"е":13,"о":13}],"р":42,"с":11,"т":42,"х":[{"о":13}],"ꙋ":[{"́":13}]},63],"б":[{"е":9,"и":[{"́":13}],"л":[{"а":13,"е":13}],"о":[{"л":9}]},55],"в":[{"а":[{".":27,"̀":48,"́":48,"м":27,"н":48}],"е":[{"д":9,"р":13,"с":9},54],"и":[{"т":9},54],"л":[{"а":13},54],"о":[{"л":9},54],"р":47,"ъ":47,"ы":[{"́":13},54],"ѝ":54,"ѣ":[{".":27,"̑":27,"щ":27},47],"ꙋ":54},10],"г":[{"н":[{"ꙋ":13},25],"о":9,"р":[{"е":13}]},55],"д":[{"а":[{"̑":48,"л":31,"н":58}],"в":55,"е":54,"и":47,"н":[{"а":27,"е":33,"о":33,"ы":27,"ѣ":27,"ꙋ":27},47],"о":[{"́":13},47],"р":50,"ъ":47,"ы":[{"х":9}],"ь":47,"і":[{"̈":84}],"ї":66,"ѝ":47,"ѣ":[{".":48,"л":9}],"ꙋ":[{"́":27},81]}],"е":[{".":48,"̀":48,"́":[{"и":[{"̆":48}],"й":48,"н":48,"р":13,"ю":48}],"в":11,"к":48,"м":48,"н":48,"р":48,"с":59,"т":51,"ш":48},8],"ж":[{"е":[{"н":9}],"и":9},55],"з":[{"а":9,"о":9},55],"и":[{"̀":48,"́":[{"д":9,"ж":9,"с":9},48],"д":48,"м":49,"н":42,"р":11,"т":59},8],"к":[{"о":9},27],"л":[{"а":[{"̀":27,"́":13,"̑":13,"г":27,"т":48,"щ":48}],"е":[{"т":9},54],"и":[{"в":9},27],"о":54,"с":47,"ъ":47,"ю":54,"і":[{"̈":84}],"ї":66,"ѡ":54,"ѣ":27,"ꙋ":31}],"м":[{"а":[{"́":13}],"и":[{"́":13}],"о":[{"в":9}]},55],"н":[{"а":[{"̀":48,"́":48,"в":48}],"е":[{"́":27,"в":27,"г":27,"т":48,"х":48}],"и":[{"́":33,"к":31,"с":33}],"о":[{"в":9,"д":48,"м":31,"с":27}],"с":47,"ъ":47,"ы":[{"м":9},54],"ь":47,"і":[{"̈":67}],"ї":68,"ѡ":47,"ѣ":27,"ꙋ":[{"́":48,"т":27}]}],"о":[{"в":11,"и":9,"м":10,"с":25,"т":[{"о":13}],"ч":52},63],"п":[{"а":9,"и":25,"о":[{"́":13}],"р":[{"о":13}]},55],"р":[{"а":[{"с":27,"щ":27},47],"е":[{"́":58,"ч":27,"щ":27}],"и":[{".":48,"̀":63,"м":48,"н":27,"т":48,"ш":48}],"ю":63,"ѝ":63,"ѣ":[{"̀":48,"ш":27}],"ѧ":[{"̀":48,"т":48},25],"ꙋ":27},10],"с":[{"е":9,"к":[{"а":13,"о":13}],"л":[{"о":13}],"м":[{"о":13}],"т":[{"о":13}],"ы":9,"і":[{"̈":13}],"ї":9,"ѣ":[{"́":13}],"ꙋ":[{"́":13,"д":9}]},55],"х":[{"о":9},27],"ц":[{"ѣ":9},27],"ч":[{"е":[{"́":13}],"и":[{"́":13}]},27],"ш":[{"и":9,"ꙋ":9},55],"ъ":72,"ы":[{".":48,"̀":48,"́":[{"б":58,"д":9,"и":[{"̆":48}],"й":48,"к":48,"т":9,"ц":48,"ч":48}],"̑":48,"г":47,"д":[{"и":48}],"к":[{"о":13},59],"л":48,"с":49,"щ":47},8],"ь":47,"ю":63,"ѐ":63,"є":[{"́":25,"м":9},63],"і":[{"̈":9},63],"ї":85,"ѝ":63,"ѡ":[{"́":9,"р":11,"с":42},63],"ѣ":[{"̀":48,"̑":9,"м":48,"х":48},8],"ѧ":[{"̀":47,"́":[{"б":48,"м":48,"с":9,"щ":48}],"б":48},8],"ꙋ":[{".":48,"́":[{"е":48,"м":27,"ѧ":48}],"̑":[{"м":13},27],"б":35,"е":48,"м":[{"е":48,"и":48,"л":48,"ы":27,"ѝ":48}],"т":68,"ю":71}]}],"и":[{".":30,"̀":[{".":46,"д":[{"ѣ":13},11]}],"́":[{".":46,"б":[{"л":11,"о":13}],"в":[{"а":13,"о":13,"і":[{"̈":38}],"ї":13},47],"г":[{"н":9}],"ж":47,"з":[{"в":11,"о":13,"р":11,"ꙋ":11}],"к":[{"а":13,"н":9}],"л":[{"и":13,"і":[{"̈":38}],"ї":13}],"м":[{"а":13,"ш":48}],"н":[{"а":13,"и":13,"м":9,"і":[{"̈":38}],"ї":13}],"р":[{"і":[{"̈":38}],"ї":13}],"с":[{"и":13,"к":11,"н":11,"ѧ":13},25],"т":[{"а":13,"р":11,"ч":11,"і":[{"̈":38}],"ї":13}],"ф":11,"ц":47,"ч":[{"е":13},47],"ш":[{"а":13},11],"щ":[{"ꙋ":13}]},8],"̆":[{".":30,"̀":[{".":62}],"́":[{".":62}],"̈":[{".":62}],"̑":[{".":62}],"д":[{"е":40,"ꙋ":40},42],"ж":42,"м":42,"н":[{"е":13,"о":13,"ю":13,"і":[{"̈":38}],"ї":13,"ѧ":13,"ꙋ":13},42],"с":[{"к":[{"а":38,"о":38,"ꙋ":38}],"т":40},42],"т":[{"е":13},11],"ц":11,"ч":[{"е":13},11],"ш":[{"а":13,"ꙋ":13},42],"҆":[{"̀":[{".":86}],"́":[{".":86}],"̈":[{".":86}],"̑":[{".":86}]}],"ⷠ":[{".":30,"҇":[{".":30}]}],"ⷡ":[{".":30,"҇":[{".":30}]}],"ⷢ":[{".":30,"҇":[{".":30}]}],"ⷣ":[{".":30,"҇":[{".":30}]}],"ⷤ":[{".":30,"҇":[{".":30}]}],"ⷥ":[{".":30,"҇":[{".":30}]}],"ⷦ":[{".":30,"҇":[{".":30}]}],"ⷧ":[{".":30,"҇":[{".":30}]}],"ⷨ":[{".":30,"҇":[{".":30}]}],"ⷩ":[{".":30,"҇":[{".":30}]}],"ⷪ":[{".":30,"҇":[{".":30}]}],"ⷫ":[{".":30,"҇":[{".":30}]}],"ⷬ":[{".":30,"҇":[{".":30}]}],"ⷭ":[{".":30,"҇":[{".":30}]}],"ⷮ":[{".":30,"҇":[{".":30}]}],"ⷯ":[{".":30,"҇":[{".":30}]}],"ⷰ":[{".":30,"҇":[{".":30}]}],"ⷱ":[{".":30,"҇":[{".":30}]}],"ⷲ":[{".":30,"҇":[{".":30}]}],"ⷳ":[{".":30,"҇":[{".":30}]}],"ⷴ":[{".":30,"҇":[{".":30}]}],"ⷵ":[{".":30,"҇":[{".":30}]}],"ⷶ":[{".":30,"҇":[{".":30}]}],"ⷷ":[{".":30,"҇":[{".":30}]}],"ⷸ":[{".":30,"҇":[{".":30}]}],"ⷹ":[{".":30,"҇":[{".":30}]}],"ⷺ":[{".":30,"҇":[{".":30}]}],"ⷻ":[{".":30,"҇":[{".":30}]}],"ⷼ":[{".":30,"҇":[{".":30}]}],"ⷽ":[{".":30,"҇":[{".":30}]}],"ⷾ":[{".":30,"҇":[{".":30}]}],"ⷿ":[{".":30,"҇":[{".":30}]}],"ꙴ":[{".":30,"҇":[{".":30}]}],"ꙵ":[{".":30,"҇":[{".":30}]}],"ꙶ":[{".":30,"҇":[{".":30}]}],"ꙷ":[{".":30,"҇":[{".":30}]}],"ꙸ":[{".":30,"҇":[{".":30}]}],"ꙹ":[{".":30,"҇":[{".":30}]}],"ꙺ":[{".":30,"҇":[{".":30}]}],"ꙻ":[{".":30,"҇":[{".":30}]}],"꙼":[{".":30,"҇":[{".":30}]}],"꙽":[{".":30,"҇":[{".":30}]}]},47],"̑":[{".":46,"г":49,"д":11,"ж":52,"м":[{"ш":48}],"р":42,"с":42,"т":42},8],"б":[{"а":[{"́":13}],"о":[{"́":13},25]},34],"в":[{"а":[{"́":13},54],"е":[{"д":9,"с":9},27],"и":27,"л":[{"ю":11,"ѧ":11}],"н":35,"о":[{"м":9,"н":9,"с":9},27],"с":11,"ш":[{"ы":13}],"ы":27,"і":[{"̈":13}],"ї":31,"ѝ":27,"ѡ":27,"ѣ":31,"ѧ":37,"ꙋ":27}],"г":[{"а":[{"́":13}],"и":[{"́":13}],"л":[{"а":13}],"о":[{"р":9}]},55],"д":[{"а":[{"́":13},47],"и":[{"́":13},48],"о":25,"і":[{"̈":13}],"ї":9,"ѝ":48,"ѣ":[{"́":13}],"ꙋ":[{"́":13},71]},34],"ж":[{"є":[{"́":13}]},34],"з":[{"а":[{"̑":13},25],"б":48,"в":[{"а":27}],"г":48,"и":31,"л":[{"а":13,"о":13},11],"м":48,"н":[{"е":11,"и":59,"о":33}],"о":9,"р":[{"е":83,"и":11,"ѣ":27}],"с":48,"ы":[{"́":58},27],"ѣ":27}],"к":[{"а":[{"́":13},27],"и":27,"л":[{"о":13},27],"н":35,"о":27,"р":27,"т":27,"і":27,"ѝ":27,"ѡ":27,"ѣ":27,"ꙋ":37},47],"л":[{"а":[{"́":13,"с":9},27],"е":[{"в":48,"м":48},27],"и":[{"́":13,"̑":13},27],"о":[{"с":9},27],"ь":[{".":48,"т":48}],"ю":60,"є":87,"і":[{"̈":33}],"ї":31,"ѡ":27,"ѣ":27,"ѧ":[{".":48,"́":13},27],"ꙋ":[{"́":13},27]}],"м":[{"а":27,"е":[{"н":48},31],"и":[{"̀":48,"́":13},27],"о":[{"д":48},27],"т":35,"ы":27,"ѝ":60,"ѣ":[{"́":13},27],"ꙋ":[{"̀":48,"́":48}]}],"н":[{"а":37,"е":[{".":48},27],"и":[{".":48,"н":13},37],"н":[{"і":[{"̈":38}],"ї":13}],"о":[{"в":9,"м":9},27],"с":[{"т":48}],"ы":27,"і":[{"́":13},27],"ѝ":27,"ѡ":[{"в":48}],"ѣ":27,"ѧ":[{"́":13},27],"ꙋ":37}],"п":[{"а":[{"́":13,"д":9}],"і":[{"̈":[{"о":38},13]}],"ї":[{"о":13},9],"ѣ":[{"в":9}]},27],"р":[{"а":[{"́":13},27],"г":11,"е":[{"н":13},37],"и":37,"о":[{"н":9},27],"є":27,"і":[{"̈":13},27],"ї":31,"ѝ":27,"ѣ":27,"ѧ":[{"́":13},27]},47],"с":[{"а":[{"̑":13},27],"в":[{"о":13,"ѧ":13}],"е":88,"к":[{"ꙋ":58},34],"л":35,"н":34,"о":37,"п":[{"о":[{"л":[{"н":18}]}],"ѡ":48,"ѣ":27}],"с":[{"а":13},11],"т":[{"е":13},34],"х":[{"о":[{"́":[{"д":18}],"ж":[{"д":18}]}]},35],"ц":[{"ѣ":[{"́":[{"л":[{"ь":18}]}],"̑":[{"л":[{"ь":18}]}]}]},85],"ч":[{"е":[{"р":[{"п":18}]}]},48],"і":[{"́":13,"̈":13}],"ї":9}],"т":[{"а":27,"в":27,"е":[{"ц":9},27],"и":27,"о":37,"р":[{"о":13,"і":[{"̈":38}],"ї":13},27],"с":47,"ы":27,"ѐ":27,"є":27,"і":[{"̈":13},27],"ї":31,"ѝ":27,"ꙋ":31}],"ф":[{"а":25,"л":[{"е":13}]},10],"х":[{"а":[{".":48},27],"о":[{"́":13},27],"т":11,"ѣ":48,"ꙋ":25}],"ц":[{"а":[{"́":13},25],"е":[{"м":9}],"ъ":47,"є":9,"ѣ":25},34],"ч":[{"е":[{"́":13,"с":9}],"н":[{"ѡ":48},11],"є":[{"́":13}]},27],"ш":[{"е":25,"и":[{"н":9},47],"л":10,"ꙋ":25},27],"щ":[{"а":81,"е":[{"т":9}]},34],"ю":[{"́":9},27],"ѡ":44,"ѳ":[{"а":[{"́":13}]},34],"҃":50,"҆":[{"̀":[{".":62}],"́":[{".":62,"б":9,"г":9,"д":9,"ж":9,"з":13,"р":9,"с":9}],"̈":[{".":62}],"̑":[{".":62}],"г":25,"з":[{"д":9,"р":9}],"л":[{"і":[{"̈":38}],"ї":13},11],"м":11,"н":42,"с":[{"п":9}]}],"ⷠ":[{".":30,"҇":[{".":30}]}],"ⷡ":[{".":30,"҇":[{".":30}]}],"ⷢ":[{".":30,"҇":[{".":30}]}],"ⷣ":[{".":30,"҇":[{".":30}]}],"ⷤ":[{".":30,"҇":[{".":30}]},8],"ⷥ":[{".":30,"҇":[{".":30}]}],"ⷦ":[{".":30,"҇":[{".":30}]}],"ⷧ":[{".":30,"҇":[{".":30}]}],"ⷨ":[{".":30,"҇":[{".":30}]},8],"ⷩ":[{".":30,"҇":[{".":30}]}],"ⷪ":[{".":30,"҇":[{".":30}]}],"ⷫ":[{".":30,"҇":[{".":30}]}],"ⷬ":[{".":30,"҇":[{".":30}]}],"ⷭ":[{".":30,"҇":[{".":30}]}],"ⷮ":[{".":30,"҇":[{".":30}]}],"ⷯ":[{".":30,"҇":[{".":30}]},8],"ⷰ":[{".":30,"҇":[{".":30}]}],"ⷱ":[{".":30,"҇":[{".":30}]}],"ⷲ":[{".":30,"҇":[{".":30}]}],"ⷳ":[{".":30,"҇":[{".":30}]}],"ⷴ":[{".":30,"҇":[{".":30}]}],"ⷵ":[{".":30,"҇":[{".":30}]}],"ⷶ":[{".":30,"҇":[{".":30}]}],"ⷷ":[{".":30,"҇":[{".":30}]}],"ⷸ":[{".":30,"҇":[{".":30}]}],"ⷹ":[{".":30,"҇":[{".":30}]}],"ⷺ":[{".":30,"҇":[{".":30}]}],"ⷻ":[{".":30,"҇":[{".":30}]}],"ⷼ":[{".":30,"҇":[{".":30}]}],"ⷽ":[{".":30,"҇":[{".":30}]}],"ⷾ":[{".":30,"҇":[{".":30}]}],"ⷿ":[{".":30,"҇":[{".":30}]}],"ꙋ":[{"́":25},60],"ꙴ":[{".":30,"҇":[{".":30}]}],"ꙵ":[{".":30,"҇":[{".":30}]}],"ꙶ":[{".":30,"҇":[{".":30}]}],"ꙷ":[{".":30,"҇":[{".":30}]}],"ꙸ":[{".":30,"҇":[{".":30}]}],"ꙹ":[{".":30,"҇":[{".":30}]}],"ꙺ":[{".":30,"҇":[{".":30}]}],"ꙻ":[{".":30,"҇":[{".":30}]}],"꙼":[{".":30,"҇":[{".":30}]}],"꙽":[{".":30,"҇":[{".":30}]}]}],"й":[{".":30,"̀":[{".":46}],"́":[{".":46}],"̈":[{".":46}],"̑":[{".":46}],"д":[{"е":25,"ꙋ":25},34],"ж":34,"м":34,"н":[{"е":9,"о":9,"ю":9,"і":[{"̈":13}],"ї":9,"ѧ":9,"ꙋ":9},34],"с":[{"к":[{"а":13,"о":13,"ꙋ":13}],"т":25},34],"т":[{"е":9},27],"ц":27,"ч":[{"е":9},27],"ш":[{"а":9,"ꙋ":9},34],"҆":[{"̀":[{".":62}],"́":[{".":62}],"̈":[{".":62}],"̑":[{".":62}]}],"ⷠ":[{".":30,"҇":[{".":30}]}],"ⷡ":[{".":30,"҇":[{".":30}]}],"ⷢ":[{".":30,"҇":[{".":30}]}],"ⷣ":[{".":30,"҇":[{".":30}]}],"ⷤ":[{".":30,"҇":[{".":30}]}],"ⷥ":[{".":30,"҇":[{".":30}]}],"ⷦ":[{".":30,"҇":[{".":30}]}],"ⷧ":[{".":30,"҇":[{".":30}]}],"ⷨ":[{".":30,"҇":[{".":30}]}],"ⷩ":[{".":30,"҇":[{".":30}]}],"ⷪ":[{".":30,"҇":[{".":30}]}],"ⷫ":[{".":30,"҇":[{".":30}]}],"ⷬ":[{".":30,"҇":[{".":30}]}],"ⷭ":[{".":30,"҇":[{".":30}]}],"ⷮ":[{".":30,"҇":[{".":30}]}],"ⷯ":[{".":30,"҇":[{".":30}]}],"ⷰ":[{".":30,"҇":[{".":30}]}],"ⷱ":[{".":30,"҇":[{".":30}]}],"ⷲ":[{".":30,"҇":[{".":30}]}],"ⷳ":[{".":30,"҇":[{".":30}]}],"ⷴ":[{".":30,"҇":[{".":30}]}],"ⷵ":[{".":30,"҇":[{".":30}]}],"ⷶ":[{".":30,"҇":[{".":30}]}],"ⷷ":[{".":30,"҇":[{".":30}]}],"ⷸ":[{".":30,"҇":[{".":30}]}],"ⷹ":[{".":30,"҇":[{".":30}]}],"ⷺ":[{".":30,"҇":[{".":30}]}],"ⷻ":[{".":30,"҇":[{".":30}]}],"ⷼ":[{".":30,"҇":[{".":30}]}],"ⷽ":[{".":30,"҇":[{".":30}]}],"ⷾ":[{".":30,"҇":[{".":30}]}],"ⷿ":[{".":30,"҇":[{".":30}]}],"ꙴ":[{".":30,"҇":[{".":30}]}],"ꙵ":[{".":30,"҇":[{".":30}]}],"ꙶ":[{".":30,"҇":[{".":30}]}],"ꙷ":[{".":30,"҇":[{".":30}]}],"ꙸ":[{".":30,"҇":[{".":30}]}],"ꙹ":[{".":30,"҇":[{".":30}]}],"ꙺ":[{".":30,"҇":[{".":30}]}],"ꙻ":[{".":30,"҇":[{".":30}]}],"꙼":[{".":30,"҇":[{".":30}]}],"꙽":[{".":30,"҇":[{".":30}]}]},47],"к":[{"а":[{"́":[{"в":48,"г":9,"е":48,"ж":9,"з":48,"и":[{"̆":48}],"й":48,"к":65,"м":65,"п":48,"р":48,"ш":9,"ю":58,"ѳ":48}],"̑":[{"в":48,"з":65,"н":58}],"в":59,"г":[{"о":48}],"д":59,"ж":48,"з":42,"к":48,"л":[{"и":13},48],"м":48,"н":48,"р":48,"с":74,"т":[{"а":13},59],"х":48,"ш":48,"ѧ":[{"́":48}]},8],"в":[{"а":25,"е":[{"р":13}],"о":9,"і":[{"̈":70}],"ї":71},8],"д":[{"і":[{"́":13}]},63],"е":[{"́":[{"и":48,"к":48,"л":13,"м":58,"р":65,"с":48,"ѵ":9}],"а":48,"д":74,"л":10,"н":53,"р":9,"с":[{"а":13},11],"ѱ":48}],"и":[{"́":[{"р":65,"т":48,"ф":48}],"б":[{"ы":13},48],"н":11,"р":52,"т":42}],"к":[{"а":9,"л":[{"и":13}]},55],"л":[{"а":[{"н":9},48],"е":[{"в":9},48],"и":[{"́":48,"к":58,"с":48,"ц":48}],"о":48,"с":47,"ъ":47,"ь":47,"ю":65,"і":[{"̈":[{"п":13}]}],"ї":[{"и":[{"̆":48}],"й":48,"п":9}],"ѡ":48,"ѧ":[{"́":[{"т":[{"в":[{"а":3,"е":[{"н":3}],"о":3,"ы":3,"ѣ":3,"ꙋ":3}]}]}]},71]},8],"м":63,"н":[{"е":82,"и":[{"т":9}],"о":53,"ъ":47,"ѧ":8},10],"о":[{"̀":48,"́":[{"ж":9,"з":48,"и":48,"л":48,"н":48,"п":65,"с":48,"х":48,"ш":48,"ѧ":48}],"в":[{"а":[{"́":[{"р":[{"с":[{"т":[{"в":[{"о":[{".":4}]}]}]}]}]}]}],"н":9,"с":9},48],"г":48,"д":48,"е":[{"́":58,"г":48,"и":[{"̆":48}],"й":48,"м":48}],"ж":71,"з":52,"и":65,"й":48,"л":[{"о":[{"с":[{"с":[{"а":[{"́":3}]}]}]}],"є":13},59],"м":[{"ч":48}],"н":[{"а":48,"е":48,"о":48,"ъ":48,"ы":48,"є":48,"і":48,"ꙋ":48}],"п":[{"и":58,"ѣ":48}],"р":[{"е":58,"и":48,"м":48,"ѡ":13,"ꙋ":58}],"с":[{"н":[{"е":[{"́":[{"т":7}]}],"и":[{"́":[{"т":7}]}],"о":[{"в":7}],"ꙋ":[{"́":7}]},48],"т":59,"ы":48,"ѣ":48}],"т":[{"ь":48}],"ц":48,"ѝ":48,"ѧ":48,"ѻ":48,"ꙋ":65},8],"п":8,"р":[{"а":[{"е":13},48],"е":[{"н":13}],"о":[{"в":9,"м":9,"н":9},48],"ы":[{"в":48,"м":65}],"і":48,"ѡ":48,"ѣ":48,"҃":47,"ⷭ":47,"ꙋ":48},45],"с":55,"т":[{"а":[{"́":13},48],"е":[{"н":9},48],"о":[{"́":13,"м":9},48],"ъ":47,"ю":48,"є":65,"і":[{"̈":13},48],"ї":65,"ѡ":[{"́":13},48]},8],"х":[{"е":71,"ъ":47}],"ш":[{"а":9,"е":9},55],"ъ":47,"ы":11,"є":[{"́":[{"л":13},25]}],"і":[{"́":[{"а":48,"и":48,"м":48,"н":48,"с":58,"т":65}],"̈":[{"а":48,"е":48,"и":70,"л":89,"н":89}],"̑":[{"и":[{"̆":48}],"й":48}]}],"ї":[{"а":48,"е":48,"л":51,"н":51}],"ѡ":[{".":48,"́":[{"з":13,"н":48,"р":13,"с":9,"т":48}],"̑":65,"в":[{"а":48,"е":48,"л":48,"о":48,"ꙋ":48}],"л":11,"н":48,"р":11},8],"ѵ":[{"́":[{"л":9}],"̏":[{"м":75},8]},48],"ѷ":[{"м":52},63],"ⷮ":47,"ꙋ":[{"̀":48,"́":[{"е":48,"и":48,"й":48,"л":48,"м":48,"н":48,"р":65,"т":48,"ф":9,"щ":65}],"д":49,"з":51,"п":48,"с":[{"о":13,"т":48}],"т":59,"ш":[{"а":48}]},8]}],"л":[{"а":[{"́":[{".":48,"а":48,"е":48,"и":[{"̆":48}],"й":48,"р":48,"ш":9,"ю":48,"ѣ":48,"ѧ":48,"ѵ":13}],"̑":[{"в":13,"д":13,"с":9}],"а":48,"в":[{"л":9,"ш":48,"ъ":48}],"д":[{"о":13},47],"е":48,"ж":47,"и":[{"̆":48}],"й":48,"к":[{"т":48},25],"л":48,"м":[{"а":48,"и":48,"ъ":48},25],"н":[{"н":48,"т":9,"і":[{"̈":48}],"ї":48}],"р":48,"с":[{"ѧ":48},25],"т":[{"е":48,"и":58,"о":13},42],"х":48,"ч":47,"щ":[{"а":13},47],"ю":65,"ѧ":[{"и":[{"̆":48}],"й":48}],"ѵ":52},8],"в":[{"а":27,"е":27,"н":35,"с":11,"ы":27,"і":[{"̈":13}],"ї":31,"ѣ":27,"ꙋ":27},47],"г":[{"а":27,"и":27,"о":31},47],"д":[{"е":27,"є":[{"́":13},27]},47],"е":[{"̀":47,"́":[{"а":48,"б":58,"е":48,"ж":58,"и":48,"п":9,"р":65,"с":48,"т":13,"х":48,"ч":65,"щ":9}],"а":65,"б":48,"в":[{"е":13},25],"г":[{"л":48}],"е":81,"ж":[{"е":[{"̀":48}],"и":48,"ѐ":48}],"з":[{"в":48,"о":13}],"и":48,"м":[{"а":58,"о":58,"ѡ":48,"ꙋ":58}],"н":[{"т":65}],"о":47,"р":[{"і":[{"̈":38}],"ї":13},74],"с":[{"а":48,"е":[{"̀":48}],"и":[{"̀":48}],"н":48,"ы":48,"ѐ":48,"є":48,"ѝ":48,"ѣ":48}],"т":[{"е":48,"с":48,"ѣ":48,"ѧ":48}],"х":10,"ц":[{"е":48,"ъ":48}],"ч":11,"ю":48,"ѡ":71,"ѯ":48,"ѵ":48},8],"ж":[{"а":8,"е":37,"и":8,"ѝ":8,"ꙋ":8},47],"з":[{"н":[{"о":13}],"ш":[{"е":13}]},56],"и":[{"́":[{"б":65,"в":48,"л":48,"н":48,"р":9,"с":48,"х":48,"ц":48,"ч":48,"ш":48,"щ":65}],"̑":[{"к":65,"м":65,"т":48,"ч":48,"щ":48}],"б":48,"в":48,"д":48,"ж":47,"з":77,"к":[{"о":48},11],"л":48,"м":[{"о":13,"с":48,"т":48}],"н":[{"г":48,"и":48,"ы":48,"ѡ":48}],"п":47,"с":73,"т":48,"х":79,"ц":[{"е":48}],"ч":48,"ш":[{"и":48}],"щ":48},8],"к":[{"а":37,"и":27,"о":31,"і":27,"ѝ":27,"ѡ":27},47],"л":[{"е":[{"́":13}],"и":9,"і":[{"̈":[{"н":13}]}],"ї":[{"н":9}],"ѵ":[{"́":13}]},55],"м":[{"а":[{"т":9},27],"и":27,"ы":27,"і":[{"̈":33}],"ї":31,"ѣ":27},47],"н":[{"а":[{"́":13},37],"е":[{"ч":13},27],"и":[{"с":9},27],"о":[{"́":13},27],"ц":11,"ы":27,"є":[{"́":13}],"і":[{"̈":[{"и":38,"ѧ":38},13]}],"ї":[{"и":13,"ѧ":13},9],"ѧ":[{"́":13,"т":13},37],"ꙋ":[{"́":13},37]},47],"о":[{"́":[{".":48,"г":48,"ж":48,"м":48}],"б":[{"ы":48},25],"в":[{"а":48,"л":9,"с":48,"ъ":48,"ы":48,"і":48,"ѣ":48,"ꙋ":48}],"г":[{"и":13},48],"д":[{"ъ":48}],"ж":[{"а":48,"и":48,"ꙋ":48}],"з":42,"л":59,"м":[{"е":48,"ѡ":48},25],"н":11,"р":[{"о":48,"ꙋ":48},11],"с":71,"щ":11,"ѳ":48},8],"п":[{"а":37,"е":27,"и":[{"̀":27}],"н":[{"и":13},35],"о":37,"і":[{"̈":13},27],"ї":9,"ѝ":27,"ѡ":27,"ѣ":27,"ꙋ":37},47],"с":55,"т":54,"ф":[{"а":9,"е":25},54],"х":[{"і":[{"̈":13}],"ї":9},50],"ц":[{"ѣ":25},54],"ч":[{"е":[{"́":13},25],"и":[{"т":9}],"н":11,"є":[{"́":13}],"і":[{"̈":13}],"ї":9,"ꙋ":31},47],"ш":[{"ꙋ":9},54],"ъ":72,"ы":[{"́":[{"в":13,"ш":9}],"̑":[{".":48}],"х":48},8],"ь":56,"ю":[{"́":[{".":48,"б":48,"с":48}],"б":48,"д":47,"т":[{"с":48}],"ч":47,"щ":[{"а":48,"е":58,"и":48,"ы":48,"і":[{"̈":48}],"ї":48,"ꙋ":48}]},8],"ѐ":47,"є":[{"́":[{"з":48,"с":58}],"в":11,"м":48,"н":[{"ы":48}],"с":48,"ц":48},8],"і":[{"́":[{"в":9,"д":9,"м":48,"н":48,"п":48,"т":65}],"̈":[{"а":[{"̀":48,"н":48}],"е":[{"̀":48,"в":48}],"и":[{"̀":48,"́":48,"м":48,"н":48}],"к":[{"о":38},65],"л":65,"м":65,"н":48,"о":[{"́":38},48],"п":[{"п":48}],"с":[{"а":38},48],"т":48,"ч":48,"ю":[{"̀":48}],"ѐ":48,"ѝ":48,"ѡ":48,"ѧ":[{".":48,"̑":48}]},8],"̑":47}],"ї":[{"а":[{"̀":48,"н":48}],"е":[{"̀":48,"в":48}],"и":[{"̀":48,"́":48,"м":48,"н":48}],"к":[{"о":13},59],"л":59,"м":59,"н":48,"о":[{"́":13},48],"п":[{"п":48}],"с":[{"а":13},48],"т":48,"ч":48,"ю":[{"̀":48}],"ѐ":48,"ѝ":48,"ѡ":48,"ѧ":[{".":48,"̑":48}]},8],"ѡ":[{"̀":48,"́":[{"в":48,"г":48,"ж":13,"с":48}],"с":74,"т":[{"ь":48,"і":[{"̈":48}],"ї":48}]},8],"ѣ":[{"́":[{"ж":58,"з":48,"л":48,"с":9,"т":48,"х":48,"ш":65}],"̑":[{".":48,"д":13,"з":48}],"б":47,"в":59,"д":49,"е":48,"ж":[{"а":48,"е":48}],"и":[{"̆":48}],"й":48,"м":48,"н":49,"п":[{"и":48}],"х":10},8],"ѧ":[{"́":[{"д":9,"с":65,"щ":48}],"̑":47,"г":47,"и":[{"̆":48}],"й":48,"м":49,"н":59,"т":[{"с":48},10],"х":48,"ц":59,"ч":49,"щ":[{"е":13},48]},8],"ѵ":[{"́":[{"м":13,"п":9,"р":9}],"̏":[{"к":9,"м":75}]},63],"ѷ":[{"е":48,"к":[{"а":48},11],"м":51},8],"ѻ":[{"р":9},63],"҃":[{"к":[{"о":13}],"о":9},50],"ⷣ":50,"ꙋ":[{"́":[{"в":65,"е":48,"и":[{"̆":48}],"й":48,"н":65,"ф":48,"ч":58,"ш":9,"ю":48,"і":[{"̈":48}],"ї":48}],"̑":[{".":48,"ж":13,"ч":48}],"а":48,"б":11,"е":48,"и":[{"̆":48}],"й":48,"к":48,"м":48,"ч":48,"ѧ":48,"ⷩ":48},8]}],"м":[{"а":[{".":48,"́":[{".":48,"г":9,"ж":65,"з":65,"и":[{"̆":48}],"й":48,"м":9,"н":48,"р":48,"с":48,"т":9,"х":48,"ш":65,"ю":48,"ѧ":48}],"̑":65,"г":[{"а":13},71],"л":[{"а":13},59],"м":[{"ъ":48,"ы":48}],"н":[{"о":13},48],"р":[{"і":48,"ѧ":58}],"с":59,"т":[{"е":13},71],"х":50,"ш":48,"і":48,"ѧ":48,"ѯ":11,"ѵ":9},8],"в":[{"а":[{"́":13},27]},50],"г":45,"е":[{".":48,"́":[{"а":48,"в":48,"е":48,"з":58,"и":[{"̆":48}],"й":48,"л":65,"м":13,"н":48,"т":48,"ц":58}],"в":59,"д":74,"ж":25,"л":48,"м":79,"н":[{"о":13},48],"р":[{"т":9,"ш":48,"щ":48,"ъ":48,"і":[{"̈":90}],"ї":58}],"с":10,"т":48,"ч":[{"т":9}],"ш":48,"ѡ":71},8],"ж":55,"з":45,"и":[{".":48,"́":[{".":48,"в":48,"ж":9,"л":48,"м":9,"н":48,"с":65,"т":65,"х":48,"ц":9,"ш":48}],"̑":9,"ж":48,"л":[{"о":13},59],"м":[{"о":13},11],"н":48,"р":[{"а":48,"и":[{"̀":48}],"о":13,"ѝ":48},11],"с":74,"т":74,"щ":48},8],"л":[{"а":[{"́":13,"д":9},48],"е":[{".":27,"̀":48,"́":13,"м":27,"т":27,"ш":27}],"и":[{".":27,"̀":63,"́":58}],"ь":47,"ю":[{"̀":48,"т":27}],"ѐ":48,"є":[{"́":13},63],"ѝ":63,"ѧ":[{".":27,"̀":48}],"ⷭ":48},10],"м":[{"а":9,"ѡ":[{"́":13}]},54],"н":[{"а":[{"́":13},54],"е":[{"̀":8},66],"и":[{"к":27,"т":65}],"о":[{"́":13,"ж":48,"м":31}],"ъ":47,"ы":54,"ю":91,"ѐ":8,"і":[{"́":13,"̈":13},54],"ї":53,"ѡ":[{"́":13},47],"ѣ":[{".":27}],"ѧ":8,"ꙋ":[{"́":13},54]}],"о":[{".":48,"́":[{"г":48,"ж":48,"к":65,"л":48,"м":48,"р":9,"с":48,"щ":48}],"б":48,"в":[{"л":11},71],"г":[{"а":48,"е":48,"о":48,"ꙋ":48}],"д":48,"е":[{"м":9},48],"ж":48,"з":74,"и":48,"к":47,"л":[{"а":48,"и":[{"́":[{"т":[{"в":[{"а":3,"е":[{"н":3}],"о":3,"ы":3,"ѣ":3,"ꙋ":3}]}]}]},48],"ч":48,"ю":48,"ѝ":48}],"м":48,"н":48,"п":[{"о":13},48],"р":[{"е":58}],"с":[{"к":11},71],"т":[{"ы":48,"ꙋ":48},25],"ф":48,"щ":48,"ѳ":48}],"п":[{"а":82,"е":[{"р":9},63],"о":66,"і":[{"̈":47}],"ї":47},10],"р":[{"е":[{"́":13}],"о":[{"́":13},25],"є":[{"́":13}],"ꙋ":25},64],"с":[{"к":[{"а":13,"о":13}]},55],"т":[{"и":66,"ъ":47,"҃":48}],"ф":[{"а":9,"е":9,"і":[{"̈":13}],"ї":9},55],"ч":[{"а":47,"і":[{"̈":47}],"ї":47,"҃":48,"ⷭ":8}],"ш":[{"а":9,"е":9,"і":[{"̈":13}],"ї":9,"ꙋ":9},55],"щ":[{"е":[{"́":13}],"ꙋ":25},63],"ъ":72,"ы":[{"́":[{"н":58,"ш":13}],"̑":48,"в":48,"и":[{"̆":48}],"й":48,"м":48,"с":48,"х":48,"ш":65,"ѧ":48},8],"ь":56,"є":[{"́":[{"н":58},25],"н":48}],"і":[{"́":[{"а":48,"и":48,"н":65,"р":48,"ю":48,"є":13}],"̈":[{"а":48,"е":48,"и":[{".":48,"̀":48,"́":38,"̆":48}],"й":48,"л":[{"і":[{"̈":57}],"ї":38},65],"н":65,"р":48,"с":[{"а":38},65],"х":[{"а":38}],"ю":47,"ѝ":48,"ѡ":58,"ѧ":48},8],"̑":48}],"ї":[{"а":48,"е":48,"и":[{".":48,"̀":48,"́":13,"̆":48}],"й":48,"л":[{"і":[{"̈":38}],"ї":13},59],"н":59,"р":48,"с":[{"а":13},59],"х":[{"а":13}],"ю":47,"ѝ":48,"ѡ":65,"ѧ":48},8],"ѡ":[{"́":[{"ж":13,"л":13}],"̑":9,"и":9,"л":11,"р":52},63],"ѣ":[{"́":[{"т":9,"ш":9},48],"̑":[{"д":13,"н":9,"р":13},48],"в":59,"и":48,"й":48,"м":48,"н":[{"е":48,"и":[{"̀":48}],"ѝ":48},11],"с":49,"х":48,"ш":47,"щ":47,"ѧ":[{"́":13},47]}],"ѧ":[{".":48,"́":48,"н":59,"р":48,"т":[{"и":48,"н":48,"с":48,"ь":48,"і":[{"̈":48}],"ї":48}]},8],"ѱ":55,"ѵ":[{"́":[{"л":48}],"̏":[{"г":40},9]}],"ѷ":[{"г":25},11],"҃":47,"ⷣ":48,"ⷬ":47,"ꙋ":[{"́":[{"и":13,"ч":9,"ѳ":9}],"̑":9,"д":42,"с":[{"и":13}],"щ":47},63]}],"н":[{"а":[{".":48,"́":[{"д":48,"з":9,"и":48,"к":48,"р":48,"ч":13,"ш":9,"ѳ":48}],"̑":65,"а":[{"́":13},48],"б":47,"в":[{"и":48,"ꙋ":13},11],"г":48,"д":48,"е":9,"ж":48,"з":[{"и":13},42],"и":[{"́":13}],"к":48,"л":[{"ѧ":13},11],"м":48,"н":59,"п":[{"е":13}],"р":[{"и":13},42],"с":[{"а":13,"с":48,"т":48,"ѧ":48},11],"т":59,"х":[{"о":13}],"ч":[{"и":13},48],"і":48,"ѧ":48,"ѯ":59,"ѳ":48,"ѵ":42,"ꙋ":48},8],"б":47,"г":55,"д":[{"а":27,"е":27,"и":[{"́":13},25],"р":[{"а":27,"е":27,"о":13}],"ы":31,"і":[{"̈":13},27],"ї":31,"ѣ":27,"ꙋ":[{"́":13},37]},50],"е":[{".":48,"́":[{".":48,"а":48,"б":9,"г":9,"ж":65,"и":48,"л":65,"н":48,"р":9,"ц":48,"ч":58}],"̑":48,"а":53,"б":[{"ы":13},48],"в":[{"а":48,"е":13,"н":9,"ѣ":48},11],"г":[{"о":48,"ъ":48},25],"д":[{"и":48,"і":48,"ѣ":48},42],"ж":51,"з":[{"р":[{"а":[{"́":[{"ч":18}]}]}]},73],"и":48,"л":[{"и":13},11],"м":[{"о":48,"п":48,"с":48,"ꙋ":48}],"н":[{"а":58,"е":13,"и":48,"о":48,"ꙋ":48}],"о":9,"п":[{"о":48}],"р":[{"ꙋ":13},73],"с":[{"л":[{"а":[{"̀":[{".":19}]}],"о":[{"̀":[{".":19}]}]}],"т":[{"и":[{"̀":[{".":19}]}],"ѝ":[{".":19}]}],"ѣ":13},48],"т":[{"ѣ":13}],"х":10,"ц":10,"ш":48,"є":47,"ѡ":[{"́":48,"п":48}],"ѵ":59},8],"з":54,"и":[{"́":[{".":48,"д":9,"ж":13,"з":9,"м":48,"н":48,"р":48,"с":65,"х":48,"ч":48,"ш":48}],"̑":[{"в":58}],"в":[{"о":13},48],"д":47,"з":77,"к":[{"о":48,"ѣ":48},25],"л":48,"н":48,"р":59,"с":[{"п":65,"і":48,"ѧ":48}],"т":[{"и":58,"с":48,"ъ":48}],"х":[{"а":48,"о":48,"с":48,"ꙋ":48}],"ц":[{"е":13,"ꙋ":48}],"ч":48,"ш":[{"а":13},48],"щ":[{"е":13},48],"ⷯ":48},8],"к":[{"а":8,"и":[{"̀":8}],"о":37,"ѝ":8,"ѡ":8,"ꙋ":8},47],"м":[{"а":27,"е":27,"и":27,"ѝ":27,"ѣ":27},50],"н":[{"а":[{"́":13},9],"е":9,"и":[{"́":13,"н":9}],"о":9,"ю":9,"ѧ":9,"ꙋ":[{"ю":13},9]},55],"о":[{".":48,"́":[{"в":48,"д":65,"з":9,"к":9,"с":48,"ф":65,"щ":48,"і":[{"̈":48}],"ї":48}],"а":48,"б":47,"в":[{"и":48,"л":[{"е":[{"́":[{"н":7}]}]},48],"о":58,"ъ":48,"ы":48,"і":48,"ѝ":48,"ѡ":48,"ѧ":48,"ꙋ":48}],"г":[{"д":48,"р":48}],"д":[{"е":48,"ꙋ":48}],"е":71,"ж":[{"д":48,"и":13},25],"и":[{"̆":48}],"й":48,"к":48,"л":[{"ѣ":48},11],"м":[{"а":48,"е":48,"о":48,"ъ":48,"ы":48,"ꙋ":48}],"н":[{"а":13},59],"п":[{"и":48,"л":48,"о":58,"р":48},25],"р":59,"с":[{"и":48,"ѧ":48},42],"т":[{"а":48,"в":48,"е":13},25],"ф":48,"ч":[{"е":13},48],"ш":48,"щ":[{"е":13},48],"ю":48,"є":[{"ѵ":48}],"ѧ":[{"в":13},48]},8],"р":[{"е":[{"̀":27}],"ѐ":27},47],"с":[{"к":[{"а":13,"о":13,"ꙋ":13}],"т":25,"і":[{"̈":13}],"ї":9},55],"т":[{"а":[{"́":13},27],"е":31,"и":27,"о":37,"і":27,"ї":27,"ѡ":[{"́":13,"н":9},27],"ѣ":27},47],"ц":[{"а":[{"̀":27}],"е":[{"́":27,"м":27}],"ы":[{"̀":27}],"є":27,"ѣ":37,"ꙋ":[{"̀":27,"́":27}]},50],"ч":[{"е":25,"и":[{"́":13}],"н":11},47],"ш":[{"а":9,"е":9,"ꙋ":9},55],"ъ":72,"ы":[{"̀":48,"́":[{"н":65}],"̑":[{".":48,"м":48}],"и":[{"̆":48}],"й":48,"м":[{"а":48}],"х":48,"ѧ":48},8],"ь":56,"ю":[{"́":48,"е":48,"ю":48,"ѧ":48},8],"є":[{"́":[{"ч":13}]},63],"і":[{"́":[{"г":48,"и":48,"к":48,"л":48,"н":48,"с":48,"ч":48}],"̈":[{"г":75,"е":[{"в":13}],"к":[{"а":38},9],"м":[{"а":38},9],"н":[{"е":38},9],"о":13,"ѧ":[{"м":13}]},48]},8],"ї":[{"г":52,"е":[{"в":9}],"к":[{"а":13},11],"м":[{"а":13},11],"н":[{"е":13},11],"о":9,"ѧ":[{"м":9}]},63],"ѡ":[{"́":[{"г":9,"ж":9}]},63],"ѣ":[{"́":[{".":48,"к":9,"м":48,"т":9,"х":48,"ч":13,"ш":13}],"̑":9,"д":49,"е":48,"и":48,"й":48,"м":[{"и":48}],"х":48,"ш":51,"ꙋ":47},8],"ѧ":[{"́":[{"е":48,"ж":9,"и":[{"̆":48}],"й":48,"х":9,"ю":48,"ѧ":48}],"г":[{"о":48,"ѡ":48}],"е":48,"з":49,"н":59,"т":[{"и":13},48],"х":79,"ю":48,"ѧ":48},8],"ѳ":[{"и":[{"́":13},27],"і":[{"̈":40},27],"ї":25},47],"ѵ":[{"̏":9},63],"ѷ":11,"҃":50,"ⷣ":47,"ⷴ":47,"ꙋ":[{".":48,"́":[{".":48,"д":65,"е":48,"и":48,"с":65,"ф":65,"х":48,"ш":9,"ѧ":58}],"а":48,"в":48,"и":[{"ч":48}],"л":79,"р":59,"т":[{"и":48,"ъ":48}],"х":79,"ю":[{".":48}],"ѧ":48},8]}],"о":[{".":30,"̀":[{".":46},8],"́":[{".":46,"б":[{"о":13,"ѧ":13}],"в":[{"л":9,"ц":9}],"г":[{"а":13,"н":11}],"д":[{"р":11}],"з":[{"н":9,"р":9}],"к":[{"а":13},25],"л":[{"ч":13,"є":13,"ѣ":13}],"м":[{"а":13,"ꙋ":13},47],"н":[{"д":9}],"п":[{"ѣ":48}],"р":[{"а":13,"д":9,"ж":9,"и":13,"л":9,"м":13,"с":9,"ꙋ":13},47],"с":[{"н":9,"п":11,"ц":9},47],"т":[{"і":[{"̈":38}],"ї":13}],"ц":[{"к":9},47],"ш":[{"а":13},49],"щ":[{"і":[{"̈":38}],"ї":13}],"і":[{"̈":40}],"ї":25},8],"̑":[{".":46,"л":9},8],"а":[{"м":11},27],"б":[{"а":[{"́":13}],"и":9,"л":[{"ѧ":11}],"о":[{"с":9}],"р":10},27],"в":[{"а":[{"с":9},27],"е":[{"д":9,"р":13,"с":9},54],"и":[{"̀":47,"в":9},27],"л":[{"ю":11,"є":11,"ѧ":11}],"н":[{"е":33,"о":11,"ѣ":11,"ꙋ":11}],"о":[{"л":9,"с":9,"ю":48},27],"т":[{"о":13}],"ц":35,"ч":34,"ы":27,"є":27,"і":[{"́":13}],"ѝ":54,"ѡ":27,"ѣ":27,"ѧ":37,"ꙋ":54}],"г":[{"л":[{"о":13}],"н":[{"о":48,"і":48}],"о":[{"́":13},9],"р":[{"ѣ":13}]},34],"д":[{"̾":[{"и":13}],"а":[{"в":9}],"в":[{"о":13},10],"е":47,"л":35,"н":[{"а":11,"о":11,"ы":11},47],"о":[{"с":9,"х":13}],"р":[{"о":13,"ꙋ":13}],"с":11,"ы":[{"́":13}],"і":[{"̈":13}],"ї":9,"ѣ":[{"̑":13,"в":9},47],"ꙋ":[{"х":13},25]},27],"е":[{"́":[{"н":9,"ш":9}],"в":11,"д":[{"и":13},11],"с":11},54],"ж":[{"е":[{"н":9,"с":9}],"ж":35},54],"з":[{"в":[{"ѣ":13},35],"д":[{"о":32,"ы":32,"ѣ":11,"ꙋ":11},25],"ж":[{"е":13}],"и":[{"́":13},27],"л":36,"н":[{"а":27,"е":11,"и":11,"о":11},25],"о":[{"р":13}],"р":[{"а":11,"и":27,"ѣ":27,"ѧ":27}],"с":[{"о":13}],"ы":27,"ѣ":27,"ѧ":27}],"и":[{"́":[{"д":9,"с":9}],"̆":9,"̑":25,"з":[{"в":9,"н":9}],"м":11,"с":52,"т":11},54],"й":35,"к":[{"а":[{"р":9}],"л":[{"а":13}],"о":[{"в":9,"р":9}],"р":[{"и":13,"ꙋ":13}],"т":48,"ъ":47},34],"л":[{"а":27,"в":11,"г":11,"е":[{"с":9,"т":9},27],"и":[{"̑":13,"в":9},27],"к":11,"л":[{"і":[{"̈":38}],"ї":13}],"н":11,"о":[{"м":9},27],"п":11,"х":11,"ч":11,"ы":27,"ю":[{"б":9},27],"є":27,"і":[{"́":13,"̈":[{"н":38}]},27],"ї":[{"н":13},27],"ѝ":27,"ѡ":27,"ѣ":[{"̑":13},27],"ѧ":[{"́":13},27],"ѵ":[{"̏":13}],"ѷ":31,"ꙋ":27},47],"м":[{"а":[{"́":13},54],"е":27,"и":[{"н":9},27],"л":34,"н":[{"ѣ":27}],"о":[{"л":9,"н":9,"щ":9},54],"п":34,"р":[{"а":13}],"с":47,"т":27,"ч":27,"ы":[{"́":13,"с":9},27],"ѣ":27,"ѧ":31}],"н":[{"а":27,"д":11,"е":27,"и":27,"к":11,"м":11,"о":27,"р":11,"т":47,"ц":11,"ч":11,"ы":27,"ю":[{"́":13},37],"ѐ":27,"і":[{"̈":13},27],"ї":9,"ѝ":27,"ѧ":[{"́":13},27],"ѵ":[{"́":13},48],"ꙋ":27}],"о":[{"́":25},27],"п":[{"а":[{"д":9,"р":9}],"е":[{"́":48,"р":13}],"и":[{"т":9},47],"л":[{"ѧ":11}],"о":47,"р":[{"о":13}],"і":[{"̈":13},47],"ї":53,"ѝ":47,"ѣ":47},27],"р":[{"а":[{"с":13},27],"в":11,"д":[{"і":[{"̈":38}],"ї":13},11],"е":[{"н":9,"х":9},27],"ж":11,"и":37,"л":11,"м":42,"о":27,"с":11,"т":[{"о":13},11],"ц":[{"ы":27}],"ы":27,"ю":27,"є":[{"́":13},27],"і":[{"̈":13},27],"ї":31,"ѝ":27,"ѡ":[{"н":9},27],"ѣ":[{"́":13,"̑":13},27],"ѧ":27,"ѵ":[{"̏":33}],"ѷ":31,"ꙋ":27},47],"с":[{"а":[{"́":13},27],"е":37,"и":[{"̑":13},54],"к":[{"л":11}],"л":10,"м":27,"н":35,"о":27,"п":[{"е":32,"и":33,"л":11,"ꙋ":11}],"с":11,"т":[{"е":27,"л":27,"о":27,"ѝ":27},50],"х":35,"ц":34,"ы":27,"і":[{"́":13,"̈":13}],"ї":9,"ѝ":27,"ѣ":27,"ѧ":47,"ꙋ":[{"д":9}]}],"т":[{"е":[{"р":13}],"н":11,"о":[{"в":13},47],"ь":9,"ѣ":[{"̑":13}],"ꙋ":47},27],"у":0,"ф":[{"а":[{"́":13},25],"ѵ":48,"ѷ":48},27],"х":[{"е":25,"н":11,"і":[{"́":13},48],"ꙋ":9},27],"ц":[{"ѣ":[{"л":9}]},34],"ч":[{"е":[{"н":9,"с":9,"т":9}],"и":[{"т":9}],"н":[{"о":13}]},54],"ш":[{"а":[{"́":13},25],"е":[{"н":9}],"л":35,"є":[{"́":13}],"ꙋ":25},27],"щ":[{"а":27,"н":[{"и":13}],"є":27,"і":[{"̈":13}],"ї":9,"ѝ":27,"ꙋ":25}],"ю":[{"́":[{"д":9}]},54],"ѐ":27,"є":[{"́":9},27],"і":[{"́":25,"̈":9},27],"ї":44,"ѝ":27,"ѡ":44,"ѧ":[{"́":[{"в":13,"ж":9}],"в":[{"л":9}],"з":11},27],"ѯ":27,"ѱ":27,"ѳ":[{"е":25},27],"ѹ":[{"҆":9},27],"ѻ":44,"҆":[{"̀":[{".":62}],"́":[{".":62}],"̈":[{".":62}],"̑":[{".":62}]},11],"ᲂ":[{"у":[{"҆":13},27]}],"ⷠ":[{".":30,"҇":[{".":30}]}],"ⷡ":[{".":30,"҇":[{".":30}]}],"ⷢ":[{".":30,"҇":[{".":30}]}],"ⷣ":[{".":30,"҇":[{".":30}]},8],"ⷤ":[{".":30,"҇":[{".":30}]}],"ⷥ":[{".":30,"҇":[{".":30}]},8],"ⷦ":[{".":30,"҇":[{".":30}]},8],"ⷧ":[{".":30,"҇":[{".":30}]}],"ⷨ":[{".":30,"҇":[{".":30}]}],"ⷩ":[{".":30,"҇":[{".":30}]}],"ⷪ":[{".":30,"҇":[{".":30}]}],"ⷫ":[{".":30,"҇":[{".":30}]}],"ⷬ":[{".":30,"҇":[{".":30}]},8],"ⷭ":[{".":30,"҇":[{".":30}]}],"ⷮ":[{".":30,"҇":[{".":30}]}],"ⷯ":[{".":30,"҇":[{".":30}]}],"ⷰ":[{".":30,"҇":[{".":30}]}],"ⷱ":[{".":30,"҇":[{".":30}]}],"ⷲ":[{".":30,"҇":[{".":30}]}],"ⷳ":[{".":30,"҇":[{".":30}]}],"ⷴ":[{".":30,"҇":[{".":30}]}],"ⷵ":[{".":30,"҇":[{".":30}]}],"ⷶ":[{".":30,"҇":[{".":30}]}],"ⷷ":[{".":30,"҇":[{".":30}]}],"ⷸ":[{".":30,"҇":[{".":30}]}],"ⷹ":[{".":30,"҇":[{".":30}]}],"ⷺ":[{".":30,"҇":[{".":30}]}],"ⷻ":[{".":30,"҇":[{".":30}]}],"ⷼ":[{".":30,"҇":[{".":30}]}],"ⷽ":[{".":30,"҇":[{".":30}]}],"ⷾ":[{".":30,"҇":[{".":30}]}],"ⷿ":[{".":30,"҇":[{".":30}]}],"ꙋ":[{"б":11,"в":11,"м":[{"е":13}],"т":11,"х":11},27],"ꙴ":[{".":30,"҇":[{".":30}]}],"ꙵ":[{".":30,"҇":[{".":30}]}],"ꙶ":[{".":30,"҇":[{".":30}]}],"ꙷ":[{".":30,"҇":[{".":30}]}],"ꙸ":[{".":30,"҇":[{".":30}]}],"ꙹ":[{".":30,"҇":[{".":30}]}],"ꙺ":[{".":30,"҇":[{".":30}]}],"ꙻ":[{".":30,"҇":[{".":30}]}],"꙼":[{".":30,"҇":[{".":30}]}],"꙽":[{".":30,"҇":[{".":30}]}]}],"п":[{"а":[{"́":[{"г":65,"е":48,"ж":9,"к":9,"л":48,"м":48,"р":48,"т":48,"ч":65,"ю":58,"ѵ":48}],"̑":65,"в":59,"г":52,"д":[{"а":48,"е":[{"̀":48}],"и":[{"̀":48}],"н":48,"ъ":48,"ѐ":48,"ѝ":48,"ѣ":48,"ꙋ":48}],"к":[{"о":13},48],"л":59,"м":52,"н":52,"р":[{"а":13,"и":13},48],"с":[{"л":9,"і":[{"̈":90}],"ї":58}],"т":42,"ф":48,"х":11,"ѧ":[{"́":13},48]},8],"е":[{"̀":47,"́":[{"в":48,"з":65,"л":48,"м":48,"п":9,"р":48,"с":9,"щ":48}],"в":59,"л":[{"а":13,"є":13},48],"н":48,"р":[{"в":48,"е":48,"н":48,"ѧ":48}],"с":11,"т":48,"ц":48,"ч":59,"ѵ":77},8],"и":[{"́":[{"щ":9},48],"̑":65,"н":[{"о":48,"ы":48,"ѣ":48,"ꙋ":48},11],"р":59,"с":59,"т":[{"ъ":48},25],"ц":48,"ш":48,"щ":48,"ю":48},8],"к":[{"а":9,"и":25,"о":9,"ꙋ":9},54],"л":[{"а":[{"м":9},63],"е":[{".":48,"в":65,"м":65,"н":65,"т":48,"щ":48}],"и":63,"о":[{"м":9},63],"ъ":47,"ы":63,"ь":47,"ю":[{".":48,"̀":27,"т":48}],"є":54,"і":[{"̈":13},63],"ї":68,"ѡ":[{"т":13},69],"ѣ":63,"ѧ":[{".":48,"́":33,"м":48}],"ꙋ":68},10],"н":[{"а":66,"е":[{"т":13},69],"и":[{"̀":8},54],"о":66,"ы":[{"́":48,"м":27}],"і":[{"̈":61}],"ї":53,"ѝ":8,"ѡ":47,"ѣ":54,"ꙋ":66},10],"о":[{".":48,"́":[{"ж":9,"з":9,"и":[{"̆":48}],"й":48,"л":48,"м":48,"н":48,"п":9,"с":48,"т":9,"х":9,"ч":9}],"б":[{"ѣ":48}],"в":[{"е":13},74],"д":[{"е":13,"н":9,"і":48,"ѡ":48}],"е":71,"ж":[{"е":13,"р":48},25],"з":42,"и":48,"к":48,"л":[{"а":13,"і":[{"̈":38}],"ї":13},48],"м":74,"п":[{"а":13,"е":13,"и":13,"ꙋ":13},25],"р":[{"а":13,"е":13,"ꙋ":13},48],"с":[{"ы":13},74],"т":48,"х":25,"ч":[{"ꙋ":13},71],"щ":[{"а":13},11],"ю":48,"ѝ":48,"ѧ":48,"ꙋ":9},8],"п":[{"а":27,"е":27,"и":31},47],"р":[{"а":[{"́":[{"з":[{"д":[{"н":[{"и":[{"к":3,"ц":3}]}]}]}]}],"̑":13,"ѯ":9}],"е":[{"з":9,"м":9,"н":9,"т":9,"х":9}],"и":[{"́":13},9],"о":[{"в":9,"з":9,"м":9,"н":9}],"ь":47,"є":[{"н":13},47],"і":[{"̈":[{"ѡ":38},13]}],"ї":[{"ѡ":13},9],"ѣ":[{"́":13}],"ѧ":[{"́":13}],"ꙋ":[{"́":13},25]},64],"с":[{"и":[{"̀":8}],"т":37,"ѝ":8},47],"т":[{"а":[{"́":13},48],"е":48,"и":[{"̑":13}],"о":71,"р":47,"ѣ":48,"ѧ":48},8],"ф":[{"і":[{"́":13}]},63],"ц":[{"ы":9,"ѣ":25},54],"ч":54,"ш":[{"е":43},47],"щ":[{"е":9},63],"ъ":72,"ы":[{"́":25},63],"ѐ":47,"є":[{"́":[{"н":13,"р":13},25]},48],"і":[{"́":[{"и":48,"н":65,"с":48,"т":65}],"̈":[{"к":9,"л":9,"м":9,"о":[{"́":38}],"с":41},63]}],"ї":[{"к":11,"л":11,"м":11,"о":[{"́":13}],"с":42},63],"ѡ":[{"́":[{"в":48,"н":48,"т":9}],"̑":[{"н":13},71],"в":59}],"ѣ":[{".":48,"́":[{"т":9,"ѧ":13},48],"̑":9,"л":59,"с":11,"ш":[{"е":13},81],"ю":48},8],"ѧ":[{"́":[{"л":58,"с":65,"ш":48}],"т":48},8],"ѵ":[{"́":9,"̏":9},48],"ѷ":11,"҃":10,"ⷣ":10,"ⷬ":47,"ⷭ":47,"ꙋ":[{"̀":48,"́":48,"с":48,"т":42,"щ":48},8]}],"р":[{"а":[{"́":[{"р":48,"і":[{"̈":90}],"ї":58,"ѯ":48}],"̑":[{"в":9,"ж":9,"з":13,"л":9,"ш":13}],"б":48,"в":[{"л":9,"і":48}],"д":11,"е":[{"к":48}],"з":[{"л":48,"н":9,"р":48,"с":48}],"л":[{"а":48},11],"м":[{"о":13},11],"п":[{"о":48,"і":[{"̈":48}],"ї":48}],"с":[{"к":[{"а":[{"́":[{"е":[{"т":19}],"ѧ":[{"н":19}]}]}]},48],"л":48,"п":[{"а":[{"д":19,"л":19}],"р":[{"о":[{"с":[{"т":19}]}]}]}],"т":[{"а":[{"́":[{"ѧ":19}]}],"в":[{"о":[{"р":19}]}],"е":[{"р":[{"з":19}]}],"о":[{"́":[{"р":[{"г":19,"ж":19}]}]}]}],"ѡ":13}],"т":[{"о":13,"р":48},42],"ф":48,"х":48,"ѡ":48},8],"б":[{"е":25,"л":35,"н":11,"ѣ":[{"́":13},25],"ѧ":[{"́":13}]},47],"в":[{"а":[{"́":13},27],"е":[{"́":13,"н":27}],"л":[{"е":13},27],"о":[{"з":9},27],"ы":27,"і":[{"̈":13}],"ї":31,"ѣ":31,"ꙋ":31},50],"г":[{"а":27,"и":27,"л":8,"н":[{"ꙋ":13},35],"о":37,"і":[{"́":13},27]},47],"д":[{"а":[{"л":9},27],"е":27,"и":[{"с":9,"т":9}],"н":35,"о":27,"ы":[{"́":13},27],"є":27,"і":27,"ѣ":27,"ѧ":[{"́":13}],"ꙋ":31},47],"е":[{"́":[{"в":[{"н":[{"о":[{"с":[{"т":17}]}]}]}],"ж":9,"з":9,"к":48,"л":9,"п":9,"ч":9,"ѳ":48}],"в":[{"а":48,"н":48},42],"д":[{"в":9,"е":58,"л":9,"о":13,"р":9}],"е":9,"ж":25,"и":[{"̆":[{".":48}]},9],"й":[{".":48}],"к":[{"о":48,"і":48,"ꙋ":48},25],"л":[{"а":13,"ю":13},11],"м":[{"н":11,"і":[{"̈":48}],"ї":48},25],"н":[{"а":58,"е":13,"ъ":48,"ь":48,"і":[{"̈":90}],"ї":58}],"р":42,"с":[{"ь":48},11],"т":[{"і":48,"ї":48},25],"х":[{"ъ":48}],"ц":[{"ъ":48}],"ч":[{"е":[{"̀":48}],"ѐ":48,"є":48},42],"ш":47,"щ":[{"и":48}],"ю":48,"ѡ":9},8],"ж":[{"д":27,"е":[{"с":9,"т":13},27],"є":27,"ꙋ":27},47],"з":[{"а":25,"е":[{"́":13},27],"и":27,"л":45,"н":[{"о":13},92],"о":[{"́":13}],"ы":37,"ѡ":9,"ꙋ":34},47],"и":[{"́":[{"д":9,"ж":9,"н":48,"х":48,"ц":65,"ч":58,"щ":9}],"̑":[{".":48,"г":48,"м":48},9],"в":[{"л":11},25],"з":[{"ы":13},42],"к":[{"а":13},11],"л":[{"и":13},49],"м":[{"и":13},81],"н":[{"а":48},42],"с":42,"т":47,"х":11,"ц":48,"ш":81},8],"к":[{"а":27,"в":27,"о":37,"і":[{"̈":27}],"ї":27,"ѡ":27,"ѣ":27,"ѵ":[{"́":13}],"ꙋ":37},50],"л":[{"а":31,"и":[{"́":13,"н":13},27]},47],"м":[{"а":[{"́":13,"н":9},27],"е":27,"и":27,"л":34,"н":35,"о":[{"л":9},27],"ч":35,"і":[{"̈":33}],"ї":31,"ѝ":27,"ꙋ":[{"́":13}]},47],"н":[{"а":[{"́":13}],"е":[{"м":9}],"ш":[{"і":[{"̈":38}],"ї":13}],"ю":9,"ѧ":9,"ꙋ":9},54],"о":[{"́":[{"д":48,"е":48,"ж":48,"л":9,"н":9,"п":9,"х":9,"ц":65}],"б":[{"о":13}],"в":[{"н":65,"с":65,"ѣ":13}],"д":[{"е":48,"и":48,"н":48,"о":58,"ѝ":48,"ѧ":48},25],"е":[{"́":13},25],"ж":[{"д":48},25],"з":[{"р":11}],"и":[{"́":13}],"к":[{"а":13}],"л":[{"и":13,"і":[{"̈":38}],"ї":13},11],"м":[{"о":13}],"н":[{"а":13,"о":48,"т":9,"ѡ":48}],"п":[{"о":13,"ѣ":48,"ꙋ":48},25],"р":42,"с":[{"о":13},42],"т":[{"в":48,"ѣ":48,"ѧ":13,"ꙋ":48},25],"х":[{"и":48}],"ч":[{"е":13}],"щ":11,"ю":48,"ѧ":[{"́":13}],"ѳ":48},8],"п":[{"а":[{"́":13,"с":9},27],"е":27,"и":27,"л":[{"ю":11},8],"с":11,"і":[{"̈":40}],"ї":25,"ѝ":27,"ѣ":27,"ѧ":[{"́":13},27],"ⷣ":8},47],"р":[{"а":27},47],"с":[{"а":27,"е":[{"́":13},37],"и":27,"к":[{"ꙋ":27}],"о":31,"т":[{"о":27}],"ѣ":27},50],"т":[{"а":27,"в":[{"а":27,"е":27,"и":27,"о":27,"ы":27,"є":27,"і":[{"̈":27}],"ї":27,"ѣ":27,"ꙋ":27}],"е":27,"и":37,"к":35,"н":[{"а":13,"о":13,"ꙋ":13},11],"о":27,"ы":[{"м":9},27],"і":27,"ї":27,"ѵ":[{"́":13}],"ꙋ":31},47],"ф":[{"ѵ":[{"́":13}]},54],"х":[{"а":27,"и":27,"о":31,"і":[{"̈":13}],"ї":9,"ꙋ":25},47],"ц":[{"а":[{"́":13},54],"е":91,"ы":[{".":27}],"є":54,"ѣ":54,"ꙋ":54},10],"ч":[{"е":9,"и":[{"́":13}]},54],"ш":[{"а":[{"́":13}],"е":[{"м":9}],"ꙋ":9},55],"щ":35,"ъ":72,"ы":[{"́":[{"г":48,"с":9,"т":9,"ш":9,"ѧ":48}],"̑":9,"ѧ":47},8],"ь":[{"к":[{"о":13}]},56],"ю":[{".":48,"́":65,"т":48},8],"є":[{"́":[{"м":48,"н":48}],"и":[{"̀":48}],"м":48,"н":[{"и":13}],"с":48,"ѝ":48},8],"і":[{"́":[{"а":48,"е":58,"и":48,"к":9,"м":48,"х":9,"ю":48,"ѧ":48}],"̈":[{"д":48,"е":[{"в":58}],"и":[{"м":13,"н":48}],"к":[{"ъ":48}],"л":65,"н":48,"с":[{"е":48,"є":48},41],"т":[{"ѡ":48}],"ц":48}]},8],"ї":[{"д":48,"е":[{"в":65}],"и":[{"м":9,"н":48}],"к":[{"ъ":48}],"л":59,"н":48,"с":[{"е":48,"є":48},42],"т":[{"ѡ":48}],"ц":48},8],"ѝ":8,"ѡ":[{"́":[{"к":48,"с":9}],"̑":65,"д":48,"м":[{"а":48}],"н":48,"п":48,"с":79,"т":49,"і":48},8],"ѣ":[{"́":[{".":48,"е":48,"ж":9,"з":9,"и":[{"̆":48}],"й":48,"н":9,"с":9}],"̑":[{"и":[{"̆":48}],"й":48,"ч":65}],"з":42,"л":11,"с":11,"т":11,"ч":79},8],"ѧ":[{".":48,"́":[{"д":48,"з":13,"м":9,"х":9,"ю":13}],"д":47,"н":11,"с":47,"т":50,"ц":49},8],"ѳ":[{"е":[{"́":13},25],"о":9},54],"ѵ":[{"́":9,"̏":[{"к":71,"м":65,"н":48,"п":47,"с":53,"ѱ":48},8]}],"ѷ":[{"к":79,"м":59,"н":48,"п":47,"с":49,"ѱ":48},8],"҃":[{"і":[{"̈":13}],"ї":9},10],"ⷣ":10,"ⷭ":72,"ꙋ":[{"́":[{"з":9,"л":48,"п":9,"т":58,"х":48,"ч":58,"ш":48,"ю":48,"ѳ":48}],"̑":[{"п":9,"с":48}],"б":42,"в":59,"д":11,"е":[{"м":48,"т":48,"ш":48}],"з":11,"и":[{"̆":48}],"й":48,"к":48,"м":[{"ы":48}],"с":48,"т":50,"ц":[{"ѣ":13}],"ч":[{"е":48}],"ю":[{"щ":48}],"ѧ":[{".":48,"и":[{"̆":48}],"й":48}],"ⷯ":48},8]}],"с":[{"а":[{"́":[{".":48,"в":48,"н":48,"р":13,"с":65,"т":9,"ф":48,"х":48,"ш":9,"ю":48,"є":48,"і":[{"̈":90}],"ї":58,"ѵ":48}],"̑":[{"д":13,"н":65}],"а":48,"в":[{"а":13},48],"д":11,"ж":48,"и":[{"́":13},48],"л":[{"а":13,"о":13},74],"н":[{"ꙋ":13},48],"р":74,"с":74,"т":[{"а":13},11],"ф":48,"х":[{"а":13},11],"ш":[{"а":13},48],"ꙋ":25},8],"б":[{"ꙋ":[{"́":13}]},8],"в":[{"а":9,"и":[{"́":13}],"ы":[{"́":13}],"і":[{"́":13}],"ѧ":[{"т":9}],"ѵ":[{"́":13}]},64],"г":[{"а":9},8],"е":[{"́":[{"а":48,"в":9,"е":48,"и":48,"о":48,"р":48,"с":9,"ш":9,"є":48,"ѵ":65}],"б":[{"о":13}],"в":[{"а":13,"е":13},11],"г":[{"ꙋ":13},25],"д":42,"з":42,"и":[{"̆":48}],"й":48,"к":[{"о":13}],"л":[{"ѡ":48},11],"м":11,"н":[{"а":13,"е":13,"ъ":48}],"р":[{"а":58,"ъ":48}],"с":11,"х":[{"ъ":48}],"ц":[{"а":13,"ъ":48}],"ч":11,"ѡ":[{"́":48}]},8],"и":[{"́":[{"в":48,"л":48,"м":48,"р":9,"с":65,"т":9,"ц":9,"ш":48}],"̑":48,"б":48,"в":48,"к":59,"л":79,"м":48,"р":11,"с":74,"т":48,"ф":48,"х":59,"ц":[{"е":13},48],"ш":48},8],"к":[{"а":[{"̑":13},63],"в":48,"е":63,"и":63,"л":[{"і":[{"̈":90}],"ї":58}],"о":[{"н":13},63],"р":[{"и":13},63],"ъ":47,"і":[{"̑":13},63],"ї":48,"ѡ":8,"ѣ":63,"ꙋ":[{".":48,"д":48,"ш":27,"ю":48}]},10],"л":[{"а":[{"́":[{"в":[{"л":[{"е":[{"н":21}],"ю":21}]}]}]}],"е":[{"з":9,"н":13},8],"и":[{"м":9,"н":9},8],"о":[{"̀":27}],"с":47,"ъ":47,"ы":[{"́":13},8],"ь":47,"ю":8,"є":[{"н":13},8],"і":[{"̈":78}],"ї":43,"ѝ":8,"ѡ":8,"ѣ":8,"ѧ":8,"ꙋ":[{"̀":27}]},48],"м":[{"а":[{"́":13,"м":9,"р":9},48],"е":[{"р":13},48],"и":[{"̀":48},9],"о":[{"л":9},48],"ы":48,"ь":47,"ѝ":48,"ѣ":48,"ѧ":9,"ꙋ":65},45],"н":[{"а":[{"̀":48,"́":48}],"е":[{"и":[{"̆":48}],"й":48,"н":58,"т":27,"х":48,"ц":48},25],"и":[{"̀":63,"̑":58,"к":31,"с":13,"ц":48}],"о":[{"̀":27,"́":48,"б":48,"ж":48,"п":48,"с":48,"т":48},9],"ц":48,"ъ":47,"ы":[{"́":58}],"ь":47,"і":[{"̈":[{"ю":48},13]}],"ї":[{"ю":48},9],"ѝ":63,"ꙋ":[{"̀":27,"т":27,"ю":27}]},10],"о":[{".":48,"́":[{"п":13,"с":9,"ц":9},48],"б":71,"в":[{"е":48,"ѡ":48},11],"г":48,"д":48,"е":9,"ж":48,"з":[{"а":13,"ы":13},74],"и":[{"з":13},25],"к":48,"л":[{"о":13},11],"м":[{"н":59,"ꙋ":48},25],"н":[{"и":13},59],"п":[{"о":13},71],"р":48,"с":42,"т":71,"ч":[{"е":13,"и":13},71],"ѧ":[{"́":13},48],"ꙋ":25},8],"п":[{"а":[{"́":48,"д":31,"с":[{"л":[{"а":[{"̀":[{".":93}]}],"о":[{"̀":[{".":93}]}]}]},65]}],"е":[{".":48}],"и":[{"̀":63,"́":48,"т":65}],"л":47,"н":54,"о":[{"д":48,"ж":48,"л":13}],"р":[{"е":13,"о":13,"ѧ":13},47],"ы":53,"і":[{"̈":61}],"ї":53,"ѝ":63,"ѡ":63,"ѣ":[{"̀":48,"в":9,"ш":48}],"ѧ":81,"ꙋ":53},10],"р":[{"а":[{"в":13,"и":13,"с":9}],"е":[{"́":[{"д":[{"н":[{"е":14}]}]}],"д":9}],"и":[{"́":13},25],"о":25,"ѧ":[{"́":13}]},64],"с":[{"а":[{".":27,"́":13}],"е":37,"к":[{"а":13,"ꙋ":13},27],"о":[{"́":13},37],"т":37,"ѡ":[{"́":13},27],"ѣ":[{"́":13},8],"ѵ":[{"̏":13}],"ѷ":9},50],"т":[{"а":[{"́":[{"в":[{"л":[{"е":[{"н":21}],"ю":[{".":3}]}]}]}],"в":13,"н":13},63],"в":[{"а":48,"е":48,"и":48,"ъ":[{".":30}],"ы":48,"є":48,"і":[{"̈":48}],"ї":48,"ѣ":48}],"е":[{".":48,"̀":63,"и":[{"̆":48}],"й":48,"н":48,"р":13,"с":48,"х":48,"ц":9,"ч":27}],"и":[{"̑":13},63],"л":[{"а":48,"ѣ":27},10],"н":49,"о":[{".":48,"б":48,"в":48,"д":48,"е":48,"ж":48,"и":48,"к":48,"л":48,"м":48,"н":48,"с":65,"т":48,"ф":48,"х":48,"ш":48,"ю":48,"ѡ":48,"ѧ":48,"ѱ":48}],"р":[{"а":[{"ж":[{"б":[{"ы":[{"̑":[{".":3}]}]}]}]},48],"е":[{"̀":48}],"и":48,"о":48,"ы":48,"ѐ":48,"і":48,"ѝ":48,"ѣ":48,"ѵ":48}],"с":47,"ц":56,"ъ":47,"ы":63,"ь":53,"ѐ":63,"є":68,"і":[{"̈":13},63],"ї":68,"ѡ":63,"ѣ":63,"ѧ":63,"҃":48,"ꙋ":63}],"х":[{"а":63,"в":47,"и":[{".":48,"́":13}],"о":47,"ꙋ":63},10],"ц":[{"а":54,"е":68,"ы":[{".":27,"̀":48}],"ѣ":[{"л":9},54]}],"ч":[{"а":[{"̑":13}],"е":[{"р":13}],"и":9},54],"ш":[{"а":9,"е":[{"м":9}],"і":[{"̈":13}],"ї":9},50],"щ":48,"ъ":72,"ы":[{".":48,"̀":48,"́":[{".":48,"п":48,"т":65}],"л":48,"н":[{"о":[{"в":[{"л":[{"е":[{"́":[{"н":29}]}]}]}]}]},47],"п":48,"р":59,"щ":48}],"ь":56,"ю":[{"́":9}],"є":[{"́":[{"и":[{"̆":48}],"й":48,"н":65}]}],"і":[{"́":[{"л":9,"м":9,"н":9}],"̈":[{"к":9,"н":9,"о":13,"п":9,"с":9},8],"̑":25},48],"ї":[{"к":11,"н":11,"о":9,"п":11,"с":11},63],"ѡ":[{"̀":48,"́":[{"ж":9,"з":9,"к":9,"с":13},48],"в":49,"с":42,"т":59}],"ѣ":[{"́":[{"в":9,"д":48,"к":48,"ю":13}],"̑":[{"т":9},47],"д":59,"к":48,"м":47,"н":48,"т":59,"х":48,"ч":59,"щ":48}],"ѧ":[{"́":[{"д":9,"з":13}],"т":[{"о":13}],"ч":52,"щ":[{"а":13,"е":13}]},63],"ѳ":[{"е":25},63],"ѵ":48,"ѷ":48,"҃":47,"ꙋ":[{"́":[{"х":9,"ш":9,"ю":13}],"̑":9,"б":52,"е":9,"м":25,"р":11,"щ":[{"е":13}]},63]}],"т":[{"а":[{"́":[{"г":65,"д":9,"ж":9,"к":9,"п":48,"т":9,"ш":9}],"̑":[{"в":13,"н":9,"ѧ":48}],"в":[{"а":48,"л":9,"ш":48,"ъ":48}],"г":[{"о":48}],"д":11,"и":48,"й":48,"к":[{"ѡ":13}],"л":59,"м":48,"н":[{"а":48,"н":48,"т":9,"ꙋ":48}],"р":[{"е":48,"и":[{"̀":48}],"ю":48,"ѝ":48,"ѧ":48},11],"с":42,"т":59,"х":79,"ш":48,"ю":[{".":48,"т":48}],"ѧ":[{"́":13}],"ѵ":9},8],"в":[{"а":[{"г":48,"м":9,"р":48}],"е":[{"н":13,"р":48,"ц":65}],"и":[{".":48,"̀":48,"ч":13}],"о":[{"р":48,"с":48}],"ъ":47,"ы":[{"и":[{"̆":48}],"й":48,"м":48,"х":48,"ѧ":48}],"ь":47,"і":[{"̈":13}],"ї":9,"ѝ":48,"ѡ":9,"ѣ":[{"́":58}],"ꙋ":[{"́":13}]},8],"д":[{"е":9},54],"е":[{"́":[{"б":9,"ж":48,"л":9,"п":48,"ч":9}],"з":[{"о":13},73],"к":[{"ꙋ":48},25],"л":[{"и":13},48],"м":9,"н":[{"і":[{"̈":38}],"ї":13}],"п":47,"р":[{"а":48,"б":48,"г":48,"е":48,"з":48,"и":48,"м":65,"н":48,"о":58,"п":[{"л":[{"ю":[{"̀":93}],"ѧ":93}]}],"с":48,"ы":48,"ь":48,"і":48,"ї":48}],"с":[{"к":48},11],"т":74,"ф":47,"х":10,"ц":[{"ъ":48}],"ч":[{"е":[{"̀":48}],"ѐ":48},11],"ш":48},8],"и":[{"́":[{"д":65,"ж":9,"з":65,"н":9,"р":48,"с":9}],"̑":[{".":48,"л":48,"н":65}],"в":[{"а":13,"л":65,"о":58}],"г":47,"ж":47,"л":[{"а":48}],"м":[{"и":58}],"н":[{"о":13},47],"р":49,"с":74,"т":[{"и":13}],"х":[{"о":13},11],"ш":[{"а":13,"и":13},48],"щ":48},8],"к":[{"а":[{"̀":27,"́":13},81],"и":82,"н":63,"о":66,"і":[{"̈":54}],"ї":54,"ꙋ":82},10],"л":[{"а":[{"́":13,"г":27,"н":58,"ѧ":27}],"е":43,"и":[{".":27,"̀":63,"́":58,"в":9}],"о":54,"ш":47,"ы":54,"ю":8,"і":[{"̈":84}],"ї":66,"ѝ":63,"ѡ":54,"ѣ":[{".":27,"̑":48}],"ѧ":8,"ꙋ":66}],"м":[{"а":[{"́":13}],"о":[{"́":13,"р":9}]},8],"н":[{"е":[{"́":13,"е":27}],"и":27,"о":[{"́":13,"м":27}],"ы":[{"̑":13}],"ю":31,"і":[{"́":13,"̈":13},27],"ї":9,"ѣ":[{".":27,"̀":27}],"ꙋ":[{"́":13,"ю":27}]},47],"о":[{"́":[{"е":13,"ж":9,"з":65,"п":48,"т":13,"х":48,"ш":48,"ю":48,"ѧ":13}],"в":[{"а":48,"л":65,"н":9,"о":48,"с":9,"ъ":48,"ы":48,"ѣ":48}],"г":48,"д":[{"а":48,"н":48,"і":[{"̈":48}],"ї":48},25],"ж":[{"е":13}],"з":74,"л":[{"е":58,"и":[{"̀":48}],"ю":13,"ѝ":48,"ѧ":48,"ꙋ":48}],"м":25,"н":[{"а":58,"і":48},11],"п":[{"е":48,"и":48,"л":65,"о":13,"ѝ":48,"ѧ":48}],"р":[{"ж":48,"н":48,"ѣ":48}],"с":[{"о":58,"т":48},25],"т":[{"в":48},25],"х":25,"ч":[{"а":48,"и":48,"н":9,"є":48,"ѝ":48}],"щ":[{"а":48,"и":[{"̀":48}],"ѝ":48},11],"ѧ":47,"ꙋ":71},8],"р":[{"а":[{"г":13}],"е":[{".":48,"б":[{"л":[{"е":[{"́":[{"н":93}]}],"ю":[{"̀":[{".":93}]}],"ѧ":93}]},48],"з":13,"м":9,"н":48,"п":48,"ц":65}],"и":[{"в":9,"л":48}],"о":[{".":48,"к":48,"п":48,"с":48,"ф":48,"ц":48,"ч":48}],"ъ":47,"ы":[{".":48}],"ь":47,"є":[{"н":13},48],"і":[{"̈":48}],"ї":48,"ѡ":[{"́":13},48],"ѧ":48,"ꙋ":[{"б":48,"ж":48}]},45],"с":[{"т":25,"ѣ":8},55],"т":54,"х":[{"а":9,"о":9,"і":[{"̈":40}],"ї":25},63],"ц":[{"а":[{".":48}],"е":69,"ы":[{".":48,"̀":48}],"є":63,"ѣ":[{".":27,"̀":48},25],"ꙋ":63}],"ч":[{"а":[{".":48,"́":13,"х":48},25],"е":[{"̀":63,"е":48,"и":[{"̆":48}],"й":48,"ю":48}],"и":69,"ѐ":63,"ꙋ":63}],"ш":[{"а":25,"ы":9},55],"щ":[{"е":9},64],"ъ":72,"ы":[{"́":[{"д":13,"м":48,"с":9,"х":48,"ѧ":48}],"̑":[{".":48,"н":13,"ѧ":48}],"д":47,"ж":47,"м":[{"а":48}],"н":73,"х":10},8],"ь":[{"с":11},72],"ю":[{"́":9}],"є":[{"́":[{"и":[{"̆":48}],"й":48,"ц":48,"ч":65}],"з":47,"л":48,"н":73,"с":[{"к":48}],"ц":48}],"і":[{"́":[{"а":48,"г":9,"е":58,"м":9,"ч":48,"ю":48,"ѡ":48}],"̈":[{"а":[{".":48}],"е":[{"̀":48,"́":48,"ю":48}],"и":[{"̀":48,"̆":48,"х":48}],"й":48,"к":48,"л":[{"і":[{"̈":94}],"ї":90},9],"м":9,"н":[{"о":90,"і":[{"̈":57}],"ї":38},9],"о":48,"п":65,"ф":48,"ю":[{"̀":48}],"ѐ":48,"ѝ":48,"ѧ":[{"̀":48,"г":48,"м":48,"х":48}]},8],"̑":65}],"ї":[{"а":[{".":48}],"е":[{"̀":48,"́":48,"ю":48}],"и":[{"̀":48,"̆":48,"х":48}],"й":48,"к":48,"л":[{"і":[{"̈":90}],"ї":58},11],"м":11,"н":[{"о":58,"і":[{"̈":38}],"ї":13},11],"о":48,"п":59,"ф":48,"ю":[{"̀":48}],"ѐ":48,"ѝ":48,"ѧ":[{"̀":48,"г":48,"м":48,"х":48}]},8],"ѡ":[{"́":[{"и":13,"к":65,"н":48}],"в":48,"д":49,"л":[{"і":48}],"м":48,"н":48,"п":47,"р":50,"ѧ":47},8],"ѣ":[{"́":[{"в":48,"л":48,"м":48,"с":9,"т":65,"ш":65,"ю":58}],"̑":[{"н":9},48],"л":11,"м":47,"н":49,"р":79,"с":59,"ш":48},8],"ѧ":[{"̀":48,"́":[{"и":[{"̆":48}],"й":48,"х":65,"ш":48}],"̑":48,"ж":[{"е":48}],"з":59,"т":51},8],"ѳ":[{"е":25},63],"ѵ":[{"̏":[{"м":75}]},48],"ѷ":[{"м":52},48],"҃":[{"о":[{"м":9}]},10],"ⷭ":47,"ⷯ":10,"ꙋ":[{"́":[{"е":58,"н":9,"ч":9,"щ":9,"ю":58}],"̑":[{"д":13,"п":13},25],"д":11,"е":48,"к":47,"н":48,"р":51},8]}],"у":[{".":30,"̀":[{".":46}],"́":[{".":46}],"̑":[{".":46}],"҆":[{"̀":[{".":62}],"́":[{".":62}],"̈":[{".":62}],"̑":[{".":62}]}],"ⷠ":[{".":30,"҇":[{".":30}]}],"ⷡ":[{".":30,"҇":[{".":30}]}],"ⷢ":[{".":30,"҇":[{".":30}]}],"ⷣ":[{".":30,"҇":[{".":30}]}],"ⷤ":[{".":30,"҇":[{".":30}]}],"ⷥ":[{".":30,"҇":[{".":30}]}],"ⷦ":[{".":30,"҇":[{".":30}]}],"ⷧ":[{".":30,"҇":[{".":30}]}],"ⷨ":[{".":30,"҇":[{".":30}]}],"ⷩ":[{".":30,"҇":[{".":30}]}],"ⷪ":[{".":30,"҇":[{".":30}]}],"ⷫ":[{".":30,"҇":[{".":30}]}],"ⷬ":[{".":30,"҇":[{".":30}]}],"ⷭ":[{".":30,"҇":[{".":30}]}],"ⷮ":[{".":30,"҇":[{".":30}]}],"ⷯ":[{".":30,"҇":[{".":30}]}],"ⷰ":[{".":30,"҇":[{".":30}]}],"ⷱ":[{".":30,"҇":[{".":30}]}],"ⷲ":[{".":30,"҇":[{".":30}]}],"ⷳ":[{".":30,"҇":[{".":30}]}],"ⷴ":[{".":30,"҇":[{".":30}]}],"ⷵ":[{".":30,"҇":[{".":30}]}],"ⷶ":[{".":30,"҇":[{".":30}]}],"ⷷ":[{".":30,"҇":[{".":30}]}],"ⷸ":[{".":30,"҇":[{".":30}]}],"ⷹ":[{".":30,"҇":[{".":30}]}],"ⷺ":[{".":30,"҇":[{".":30}]}],"ⷻ":[{".":30,"҇":[{".":30}]}],"ⷼ":[{".":30,"҇":[{".":30}]}],"ⷽ":[{".":30,"҇":[{".":30}]}],"ⷾ":[{".":30,"҇":[{".":30}]}],"ⷿ":[{".":30,"҇":[{".":30}]}],"ꙴ":[{".":30,"҇":[{".":30}]}],"ꙵ":[{".":30,"҇":[{".":30}]}],"ꙶ":[{".":30,"҇":[{".":30}]}],"ꙷ":[{".":30,"҇":[{".":30}]}],"ꙸ":[{".":30,"҇":[{".":30}]}],"ꙹ":[{".":30,"҇":[{".":30}]}],"ꙺ":[{".":30,"҇":[{".":30}]}],"ꙻ":[{".":30,"҇":[{".":30}]}],"꙼":[{".":30,"҇":[{".":30}]}],"꙽":[{".":30,"҇":[{".":30}]}]}],"ф":[{"а":[{"́":[{"в":9}],"в":11,"л":42,"м":11,"н":11,"р":[{"а":13}]},63],"е":[{"́":[{"с":9}],"в":11,"л":11,"р":42,"с":11,"ѵ":52},48],"и":11,"л":[{"а":9,"е":[{"́":13}],"о":9},63],"н":[{"ꙋ":[{"́":13},25]},63],"о":[{"в":11,"м":10},48],"р":[{"а":[{"н":13},25],"е":25,"о":[{"́":13,"н":13}],"і":[{"̈":[{"к":13}]}],"ї":[{"к":9}],"ꙋ":9},64],"с":[{"к":[{"а":13}]},55],"ъ":47,"і":[{"́":[{"в":48,"и":48,"л":48,"м":48,"н":48,"р":13}],"̈":[{"л":[{"а":38},41]},48],"̑":48}],"ї":[{"л":[{"а":13},42]},48],"ѡ":[{"́":[{"к":9,"т":9}],"т":11},63],"ѳ":[{"о":25},54],"ѵ":[{"́":[{"р":9}],"̏":9},48],"ѷ":59,"ꙋ":[{"́":25,"̑":25,"л":52,"р":52},48]}],"х":[{"а":[{"̀":48,"́":[{"м":9,"р":9,"ю":13},48],"̑":[{"н":9},48],"а":48,"г":47,"и":48,"л":48,"н":[{"а":13},11],"р":[{"а":13},11],"ѧ":47}],"в":[{"а":[{"л":9}],"о":25},63],"е":[{"в":42,"р":[{"ꙋ":13},42]},8],"ж":54,"и":[{"̀":48,"́":[{"н":13,"р":9,"т":9,"щ":13},48],"̑":[{"н":13},48],"м":79,"т":74,"щ":48},8],"л":63,"м":[{"а":63,"и":[{"̀":54}],"ѝ":54}],"н":[{"е":91,"о":31},47],"о":[{".":48,"́":[{"в":58,"м":48,"щ":65}],"в":59,"д":[{"а":48,"в":48,"о":58},25],"е":48,"ж":25,"л":[{"ю":13},59],"м":48,"п":[{"а":13},48],"р":79,"с":59,"т":71,"щ":11,"ѻ":48},8],"р":[{"а":[{"н":9}],"е":9,"и":9,"о":9,"і":[{"̈":13}],"ї":9,"ѵ":[{"̏":13}],"ѷ":9},64],"с":[{"к":[{"а":13}],"т":[{"ѣ":13},25]},55],"т":[{"и":31,"і":[{"́":13},63]}],"ш":54,"ъ":72,"і":[{"̈":[{"к":25,"м":9,"с":[{"е":38},9]}]},48],"ї":[{"к":10,"м":11,"с":[{"е":13},11]},48],"ѝ":48,"ѡ":[{"́":[{"м":9}],"т":11},48],"ѣ":48,"ꙋ":[{"́":[{"д":9}],"д":11,"л":11},48]}],"ц":[{"а":[{"́":[{".":48,"е":48,"л":65,"р":[{"с":[{"т":[{"в":[{"а":16,"о":16,"і":[{"̈":16}],"ї":16,"ѣ":16,"ꙋ":16}]}]}]},48],"т":65,"х":48,"ш":65,"ю":58,"ѧ":48}],"м":48,"р":59,"х":79}],"в":[{"ѣ":[{"т":9}]},63],"е":[{"̀":48,"́":[{"в":48,"р":13,"т":65}],"в":59,"г":[{"о":13},48],"м":[{"ѣ":48}],"н":59,"п":47,"р":52,"с":[{"а":13},59],"ю":48},8],"к":[{"а":31,"и":27,"о":31,"і":[{"̈":27}],"ї":27},47],"р":48,"т":[{"о":25},54],"ъ":72,"ы":[{"́":9,"̑":48,"и":48}],"ѐ":48,"є":[{"́":[{"м":48},25],"в":[{"а":48}],"м":48},8],"і":[{"̈":[{"о":40},65]}],"ї":[{"о":25},59],"ѣ":[{"́":48,"̑":48,"в":42,"и":[{"̆":48}],"й":48,"л":48,"м":79,"х":79}],"҃":47,"ⷣ":[{"е":9}],"ꙋ":[{"́":[{"з":58},25],"̑":48}]}],"ч":[{"а":[{"́":[{"м":9,"н":9,"ш":9}],"̑":[{"т":9}],"в":11,"л":[{"о":13},11],"м":11,"с":[{"о":13},42],"х":50},63],"е":[{"́":[{"ж":9,"з":13,"ш":9}],"в":[{"о":13}],"з":42,"и":[{"̆":47}],"й":47,"л":[{"о":13},11],"м":10,"н":[{"о":13,"і":[{"̈":38}],"ї":13}],"р":[{"м":13,"т":9,"і":[{"̈":38}],"ї":13}],"с":[{"т":[{"и":[{"̀":[{".":12}]}],"ѝ":[{".":12}]}]}],"т":25},63],"и":[{"́":[{"с":9,"щ":13}],"̑":9,"в":11,"л":10,"н":[{"о":13},11],"с":[{"л":[{"е":7,"ѣ":7}]}],"т":[{"и":13}],"х":10,"ш":[{"а":13}]},63],"к":54,"л":[{"е":9},63],"н":[{"а":27,"е":[{"м":31,"т":27}],"и":[{"к":27,"ц":27}],"о":[{"а":13},27],"ы":27,"і":[{"̈":13}],"ї":9,"ѣ":27,"ꙋ":[{"ю":13},31]},50],"о":48,"р":48,"т":[{"а":[{"̑":13},54],"и":63,"о":[{".":27,"̀":48,"́":58},25],"є":[{"́":13},8],"ѝ":48,"҃":47,"ⷭ":48,"ꙋ":8}],"ц":8,"ш":[{"а":9,"е":9,"и":25},55],"ы":48,"ь":72,"ю":[{"д":[{"е":13}]},85],"є":[{"́":[{"в":13,"л":9,"р":13}],"н":42},48],"і":[{"́":9,"̈":8},48],"ї":63,"ѝ":63,"ѣ":59,"ѧ":48,"҃":[{"е":9,"і":[{"̈":40}],"ї":25},50],"ⷣ":47,"ⷭ":[{"҇":[{"т":48}]}],"ꙋ":[{"̀":48,"́":48,"̑":[{"д":13},25],"д":[{"о":13},59],"ж":48,"щ":48},8]}],"ш":[{"а":[{"́":[{"в":13,"л":13,"н":9,"ш":9,"є":13}],"г":[{"о":13,"ѡ":13}],"м":10,"н":11,"с":42},63],"е":[{"́":[{"в":13,"с":9}],"в":52,"е":9,"л":[{"о":13},11],"м":[{"о":13,"ꙋ":13}],"н":[{"і":[{"̈":38}],"ї":13}],"с":11,"т":25,"х":11},63],"и":[{"́":[{"п":9,"р":13,"с":9}],"в":11,"л":10,"р":[{"о":13},11],"с":42,"т":[{"и":13}],"х":10},63],"к":54,"л":[{"а":25,"и":54,"є":[{"́":13},27],"ѧ":27}],"н":[{"а":9,"о":9,"ю":9,"ѧ":9},55],"ц":[{"е":9},54],"ш":[{"а":9,"ы":[{"м":13}],"ꙋ":9},54],"ъ":47,"ы":[{"м":10},48],"ѐ":48,"є":[{"́":[{"в":13,"с":9}]},48],"і":[{"̈":[{"и":13},48]}],"ї":[{"и":9},48],"ѝ":48,"ѣ":48,"ѧ":85,"҃":47,"ꙋ":[{"́":[{"с":9,"ю":13}],"щ":[{"е":13}],"ю":9},63]}],"щ":[{"а":[{".":48,"̀":48,"́":[{"в":48,"д":58,"е":48,"м":65,"с":9,"х":65,"ш":9,"щ":9,"ю":48}],"в":59,"г":[{"о":13},48],"д":59,"м":59,"н":59,"с":74,"х":79,"ѧ":65}],"в":55,"е":[{"́":[{"с":9}],"б":[{"о":13}],"в":49,"д":42,"е":9,"м":[{"ꙋ":13}],"н":[{"і":[{"̈":38}],"ї":13}],"с":11,"х":10},63],"и":[{"́":[{"с":9}],"с":42,"т":11},63],"н":[{"а":[{"́":13}],"о":[{"́":13,"м":9}],"ꙋ":9},54],"с":[{"т":25},55],"ш":[{"а":[{"ѧ":13},9],"е":9},55],"ъ":47,"ы":[{"м":10},48],"ь":56,"є":[{"́":[{"н":58,"р":9,"т":13}],"м":48,"н":74,"с":48},8],"і":[{"̈":[{"и":13},63]}],"ї":[{"и":9},63],"ѡ":48,"ѣ":48,"ѧ":63,"ꙋ":[{"́":9,"т":10,"ю":9},63]}],"ъ":[{"д":34},30],"ы":[{".":30,"̀":[{".":46},8],"́":[{".":46,"б":[{"л":9}],"в":10,"г":52,"к":[{"н":11},25],"л":[{"і":[{"̈":38}],"ї":13}],"н":[{"і":[{"̈":38}],"ї":13}],"п":52,"с":25,"т":[{"е":13,"и":13,"ы":13,"і":[{"̈":38}],"ї":13}],"ц":11,"ч":[{"е":13,"и":13}],"ш":[{"е":13}],"щ":42},8],"̑":[{".":46,"б":11,"в":52,"м":10,"с":42,"ч":9,"ш":9},8],"в":[{"а":[{"́":13,"̑":13}]},27],"г":34,"д":[{"о":25,"ѣ":[{"́":13}]},27],"ж":34,"з":[{"а":[{"́":13},25],"ы":9},27],"и":[{"̆":9},27],"й":35,"к":[{"н":35,"о":[{"́":13,"в":9},27]}],"л":[{"а":[{"́":13},25]},34],"м":[{"а":27,"и":27}],"н":[{"е":31,"и":27,"м":11,"о":31,"ю":27,"ѣ":27}],"п":[{"а":[{"́":13},25]},27],"р":[{"е":[{"д":9,"н":9},27],"и":27,"м":11,"о":31,"ю":27,"є":27,"і":[{"̈":33}],"ї":31,"ѣ":27,"ѧ":27}],"с":[{"к":27,"о":27,"ѡ":[{"́":13},27]},10],"т":[{"і":[{"̈":13}],"ї":9,"ꙋ":[{"́":13}]},27],"х":[{"а":[{"̑":13},27]}],"ш":[{"а":[{"́":13},25],"е":[{"́":13},25],"л":11}],"щ":[{"а":[{"́":13}],"и":[{"́":13}],"ꙋ":25},27],"ѧ":44,"҆":[{"̀":[{".":62}],"́":[{".":62}],"̈":[{".":62}],"̑":[{".":62}]}],"ⷠ":[{".":30,"҇":[{".":30}]}],"ⷡ":[{".":30,"҇":[{".":30}]}],"ⷢ":[{".":30,"҇":[{".":30}]}],"ⷣ":[{".":30,"҇":[{".":30}]}],"ⷤ":[{".":30,"҇":[{".":30}]}],"ⷥ":[{".":30,"҇":[{".":30}]}],"ⷦ":[{".":30,"҇":[{".":30}]}],"ⷧ":[{".":30,"҇":[{".":30}]}],"ⷨ":[{".":30,"҇":[{".":30}]}],"ⷩ":[{".":30,"҇":[{".":30}]}],"ⷪ":[{".":30,"҇":[{".":30}]}],"ⷫ":[{".":30,"҇":[{".":30}]}],"ⷬ":[{".":30,"҇":[{".":30}]}],"ⷭ":[{".":30,"҇":[{".":30}]}],"ⷮ":[{".":30,"҇":[{".":30}]}],"ⷯ":[{".":30,"҇":[{".":30}]}],"ⷰ":[{".":30,"҇":[{".":30}]}],"ⷱ":[{".":30,"҇":[{".":30}]}],"ⷲ":[{".":30,"҇":[{".":30}]}],"ⷳ":[{".":30,"҇":[{".":30}]}],"ⷴ":[{".":30,"҇":[{".":30}]}],"ⷵ":[{".":30,"҇":[{".":30}]}],"ⷶ":[{".":30,"҇":[{".":30}]}],"ⷷ":[{".":30,"҇":[{".":30}]}],"ⷸ":[{".":30,"҇":[{".":30}]}],"ⷹ":[{".":30,"҇":[{".":30}]}],"ⷺ":[{".":30,"҇":[{".":30}]}],"ⷻ":[{".":30,"҇":[{".":30}]}],"ⷼ":[{".":30,"҇":[{".":30}]}],"ⷽ":[{".":30,"҇":[{".":30}]}],"ⷾ":[{".":30,"҇":[{".":30}]}],"ⷿ":[{".":30,"҇":[{".":30}]}],"ꙴ":[{".":30,"҇":[{".":30}]}],"ꙵ":[{".":30,"҇":[{".":30}]}],"ꙶ":[{".":30,"҇":[{".":30}]}],"ꙷ":[{".":30,"҇":[{".":30}]}],"ꙸ":[{".":30,"҇":[{".":30}]}],"ꙹ":[{".":30,"҇":[{".":30}]}],"ꙺ":[{".":30,"҇":[{".":30}]}],"ꙻ":[{".":30,"҇":[{".":30}]}],"꙼":[{".":30,"҇":[{".":30}]}],"꙽":[{".":30,"҇":[{".":30}]}]},47],"ь":[{"б":[{"о":[{"́":13}]},27],"в":[{"о":[{"́":13},25]},8],"г":27,"д":[{"е":9},27],"ж":27,"з":[{"ꙋ":9},34],"к":[{"а":9,"і":[{"̈":13}],"ї":9,"ꙋ":9},27],"м":[{"е":27,"и":27,"о":[{"́":13},91],"ы":8,"ѝ":27,"ѣ":8,"ꙋ":8}],"н":[{"а":9,"о":9,"і":[{"̈":13}],"ї":9,"ꙋ":9},27],"п":45,"с":[{"к":[{"а":13,"ꙋ":13},27],"т":[{"в":27},25]},10],"т":[{"е":9,"є":9,"ѧ":9},27],"ц":27,"ч":[{"е":9},27],"ш":[{"а":[{"ѧ":13},9],"ы":[{"м":13}],"ꙋ":9},34],"щ":8,"ꙋ":[{"́":9},27]},30],"э":[{".":30,"̀":[{".":46}],"́":[{".":46}],"̑":[{".":46}],"҆":[{"̀":[{".":62}],"́":[{".":62}],"̈":[{".":62}],"̑":[{".":62}]}],"ⷠ":[{".":30,"҇":[{".":30}]}],"ⷡ":[{".":30,"҇":[{".":30}]}],"ⷢ":[{".":30,"҇":[{".":30}]}],"ⷣ":[{".":30,"҇":[{".":30}]}],"ⷤ":[{".":30,"҇":[{".":30}]}],"ⷥ":[{".":30,"҇":[{".":30}]}],"ⷦ":[{".":30,"҇":[{".":30}]}],"ⷧ":[{".":30,"҇":[{".":30}]}],"ⷨ":[{".":30,"҇":[{".":30}]}],"ⷩ":[{".":30,"҇":[{".":30}]}],"ⷪ":[{".":30,"҇":[{".":30}]}],"ⷫ":[{".":30,"҇":[{".":30}]}],"ⷬ":[{".":30,"҇":[{".":30}]}],"ⷭ":[{".":30,"҇":[{".":30}]}],"ⷮ":[{".":30,"҇":[{".":30}]}],"ⷯ":[{".":30,"҇":[{".":30}]}],"ⷰ":[{".":30,"҇":[{".":30}]}],"ⷱ":[{".":30,"҇":[{".":30}]}],"ⷲ":[{".":30,"҇":[{".":30}]}],"ⷳ":[{".":30,"҇":[{".":30}]}],"ⷴ":[{".":30,"҇":[{".":30}]}],"ⷵ":[{".":30,"҇":[{".":30}]}],"ⷶ":[{".":30,"҇":[{".":30}]}],"ⷷ":[{".":30,"҇":[{".":30}]}],"ⷸ":[{".":30,"҇":[{".":30}]}],"ⷹ":[{".":30,"҇":[{".":30}]}],"ⷺ":[{".":30,"҇":[{".":30}]}],"ⷻ":[{".":30,"҇":[{".":30}]}],"ⷼ":[{".":30,"҇":[{".":30}]}],"ⷽ":[{".":30,"҇":[{".":30}]}],"ⷾ":[{".":30,"҇":[{".":30}]}],"ⷿ":[{".":30,"҇":[{".":30}]}],"ꙴ":[{".":30,"҇":[{".":30}]}],"ꙵ":[{".":30,"҇":[{".":30}]}],"ꙶ":[{".":30,"҇":[{".":30}]}],"ꙷ":[{".":30,"҇":[{".":30}]}],"ꙸ":[{".":30,"҇":[{".":30}]}],"ꙹ":[{".":30,"҇":[{".":30}]}],"ꙺ":[{".":30,"҇":[{".":30}]}],"ꙻ":[{".":30,"҇":[{".":30}]}],"꙼":[{".":30,"҇":[{".":30}]}],"꙽":[{".":30,"҇":[{".":30}]}]}],"ю":[{".":30,"̀":[{".":46},8],"́":[{".":46,"б":[{"л":9},47],"д":[{"і":[{"̈":38}],"ї":13,"ꙋ":13}],"ж":11,"з":48,"л":10,"с":42,"т":[{"а":13,"о":13,"с":48}],"щ":[{"а":48,"е":48,"и":48,"ѧ":48,"ꙋ":13},42],"ю":9},8],"̈":[{".":46}],"̑":[{".":46},11],"б":[{"в":35,"л":35,"о":[{"м":9}]}],"д":[{"а":27,"е":27,"и":[{"́":13}],"м":27,"о":[{"́":13},37],"с":11,"і":27}],"е":27,"ж":95,"с":[{"т":47},34],"т":[{"с":48},8],"ч":[{"е":[{"́":13},25]},27],"щ":[{"а":[{"с":48,"ѧ":48},9],"е":48,"и":[{"с":48,"х":48}],"ъ":48,"ы":[{"ѧ":48}],"ь":48,"і":[{"̈":[{"и":48,"ѧ":48}]}],"ї":[{"и":48,"ѧ":48}],"ѣ":47,"ѧ":48,"ꙋ":[{"с":48,"ю":48},9]},34],"ю":44,"ѧ":27,"҆":[{"̀":[{".":62}],"́":[{".":62,"ж":9,"н":9}],"̈":[{".":62}],"̑":[{".":62}],"р":11}],"ⷠ":[{".":30,"҇":[{".":30}]}],"ⷡ":[{".":30,"҇":[{".":30}]}],"ⷢ":[{".":30,"҇":[{".":30}]}],"ⷣ":[{".":30,"҇":[{".":30}]}],"ⷤ":[{".":30,"҇":[{".":30}]}],"ⷥ":[{".":30,"҇":[{".":30}]}],"ⷦ":[{".":30,"҇":[{".":30}]}],"ⷧ":[{".":30,"҇":[{".":30}]}],"ⷨ":[{".":30,"҇":[{".":30}]}],"ⷩ":[{".":30,"҇":[{".":30}]}],"ⷪ":[{".":30,"҇":[{".":30}]}],"ⷫ":[{".":30,"҇":[{".":30}]}],"ⷬ":[{".":30,"҇":[{".":30}]}],"ⷭ":[{".":30,"҇":[{".":30}]}],"ⷮ":[{".":30,"҇":[{".":30}]}],"ⷯ":[{".":30,"҇":[{".":30}]}],"ⷰ":[{".":30,"҇":[{".":30}]}],"ⷱ":[{".":30,"҇":[{".":30}]}],"ⷲ":[{".":30,"҇":[{".":30}]}],"ⷳ":[{".":30,"҇":[{".":30}]}],"ⷴ":[{".":30,"҇":[{".":30}]}],"ⷵ":[{".":30,"҇":[{".":30}]}],"ⷶ":[{".":30,"҇":[{".":30}]}],"ⷷ":[{".":30,"҇":[{".":30}]}],"ⷸ":[{".":30,"҇":[{".":30}]}],"ⷹ":[{".":30,"҇":[{".":30}]}],"ⷺ":[{".":30,"҇":[{".":30}]}],"ⷻ":[{".":30,"҇":[{".":30}]}],"ⷼ":[{".":30,"҇":[{".":30}]}],"ⷽ":[{".":30,"҇":[{".":30}]}],"ⷾ":[{".":30,"҇":[{".":30}]}],"ⷿ":[{".":30,"҇":[{".":30}]}],"ꙴ":[{".":30,"҇":[{".":30}]}],"ꙵ":[{".":30,"҇":[{".":30}]}],"ꙶ":[{".":30,"҇":[{".":30}]}],"ꙷ":[{".":30,"҇":[{".":30}]}],"ꙸ":[{".":30,"҇":[{".":30}]}],"ꙹ":[{".":30,"҇":[{".":30}]}],"ꙺ":[{".":30,"҇":[{".":30}]}],"ꙻ":[{".":30,"҇":[{".":30}]}],"꙼":[{".":30,"҇":[{".":30}]}],"꙽":[{".":30,"҇":[{".":30}]}]}],"ѐ":[{".":96}],"ё":[{".":96}],"є":[{".":30,"̀":[{".":46}],"́":[{".":46,"б":[{"и":13,"р":11}],"д":52,"ж":42,"з":52,"л":[{"ю":13,"і":[{"̈":38}],"ї":13}],"м":[{"ы":58}],"н":[{"і":[{"̈":38}],"ї":13,"ѣ":48}],"п":42,"р":[{"д":9,"с":9}],"с":[{"н":9}],"ц":10,"ч":[{"е":13},47],"ю":48},8],"̈":[{".":46}],"̑":[{".":46}],"в":[{"а":[{"́":13},27],"ы":27}],"д":[{"н":[{"и":13}]},11],"з":27,"и":[{"̀":54}],"л":[{"и":27}],"м":[{"а":[{".":48},31],"н":49,"ы":27,"і":[{"̈":84}],"ї":66}],"н":[{"и":27,"н":[{"и":13}],"ы":27,"і":[{"̈":13}],"ї":9},47],"с":[{"к":[{"а":13,"і":[{"̈":38}],"ї":13}],"т":25},34],"т":[{"н":[{"а":13},48]},11],"ц":8,"ч":[{"н":[{"ы":13}]},11],"ѝ":54,"ѵ":[{"р":[{"ѡ":13}]},59],"҆":[{"̀":[{".":62}],"́":[{".":62,"в":9,"ж":9,"л":13,"м":13}],"̈":[{".":62}],"̑":[{".":62}],"в":42,"г":25,"з":42,"к":[{"а":13}],"р":[{"е":13}],"с":42,"ф":11,"ѧ":[{"́":13}]}],"ⷠ":[{".":30,"҇":[{".":30}]}],"ⷡ":[{".":30,"҇":[{".":30}]}],"ⷢ":[{".":30,"҇":[{".":30}]}],"ⷣ":[{".":30,"҇":[{".":30}]}],"ⷤ":[{".":30,"҇":[{".":30}]}],"ⷥ":[{".":30,"҇":[{".":30}]}],"ⷦ":[{".":30,"҇":[{".":30}]}],"ⷧ":[{".":30,"҇":[{".":30}]}],"ⷨ":[{".":30,"҇":[{".":30}]}],"ⷩ":[{".":30,"҇":[{".":30}]}],"ⷪ":[{".":30,"҇":[{".":30}]}],"ⷫ":[{".":30,"҇":[{".":30}]}],"ⷬ":[{".":30,"҇":[{".":30}]}],"ⷭ":[{".":30,"҇":[{".":30}]}],"ⷮ":[{".":30,"҇":[{".":30}]}],"ⷯ":[{".":30,"҇":[{".":30}]}],"ⷰ":[{".":30,"҇":[{".":30}]}],"ⷱ":[{".":30,"҇":[{".":30}]}],"ⷲ":[{".":30,"҇":[{".":30}]}],"ⷳ":[{".":30,"҇":[{".":30}]}],"ⷴ":[{".":30,"҇":[{".":30}]}],"ⷵ":[{".":30,"҇":[{".":30}]}],"ⷶ":[{".":30,"҇":[{".":30}]}],"ⷷ":[{".":30,"҇":[{".":30}]}],"ⷸ":[{".":30,"҇":[{".":30}]}],"ⷹ":[{".":30,"҇":[{".":30}]}],"ⷺ":[{".":30,"҇":[{".":30}]}],"ⷻ":[{".":30,"҇":[{".":30}]}],"ⷼ":[{".":30,"҇":[{".":30}]}],"ⷽ":[{".":30,"҇":[{".":30}]}],"ⷾ":[{".":30,"҇":[{".":30}]}],"ⷿ":[{".":30,"҇":[{".":30}]}],"ꙴ":[{".":30,"҇":[{".":30}]}],"ꙵ":[{".":30,"҇":[{".":30}]}],"ꙶ":[{".":30,"҇":[{".":30}]}],"ꙷ":[{".":30,"҇":[{".":30}]}],"ꙸ":[{".":30,"҇":[{".":30}]}],"ꙹ":[{".":30,"҇":[{".":30}]}],"ꙺ":[{".":30,"҇":[{".":30}]}],"ꙻ":[{".":30,"҇":[{".":30}]}],"꙼":[{".":30,"҇":[{".":30}]}],"꙽":[{".":30,"҇":[{".":30}]}]}],"ѕ":[{"в":[{"ѣ":[{"̑":13}]}],"л":[{"а":[{"̑":13},25],"о":[{"в":9}]},48],"м":[{"і":[{"̈":13}],"ї":9}],"ѣ":[{"́":25,"л":11}]},8],"і":[{".":30,"̀":[{".":46}],"́":[{".":46,"а":47,"г":25,"и":9,"к":25,"л":47,"м":[{"в":48}],"н":[{"д":9,"и":13,"т":48,"ꙋ":13}],"п":10,"р":[{"м":9,"о":13}],"с":[{"м":11,"с":9}],"т":[{"о":13,"ѧ":13}],"ф":11,"ц":11,"ч":[{"е":13},11],"є":[{"в":9}],"ѯ":10,"ѳ":10}],"̈":[{".":46,"а":[{"́":[{"д":13},47],"д":9,"м":9,"н":9},11],"в":[{"е":[{"́":38}],"і":[{"̈":38}],"ї":13},42],"г":[{"а":11,"г":52,"и":[{"́":38},11]}],"д":[{"і":[{"̈":38}],"ї":13},42],"е":[{"́":[{"ш":13}],"м":25,"р":41},47],"и":[{"̀":47,"́":[{"д":13,"н":13}],"̆":13,"̑":[{"м":38},40],"м":47,"н":[{"а":48},9],"с":41,"т":9,"х":47},11],"й":52,"к":[{"а":[{"н":13},49],"е":11,"и":[{"́":38},49],"о":[{"́":38,"н":13},11],"т":[{"о":38},11],"і":[{"̈":38},11],"ї":32,"ѡ":11},25],"л":[{"а":[{"р":13},49],"в":41,"е":[{"́":38},11],"и":11,"л":[{"і":[{"̈":57}],"ї":38}],"о":32,"і":[{"̈":[{"п":57},47]},11],"ї":[{"п":38},49],"ѧ":59,"ꙋ":32}],"м":[{"а":[{"н":38},11],"е":32,"о":32,"і":[{"̈":97}],"ї":32},47],"н":[{"а":98,"б":53,"д":9,"е":[{"́":38},11],"о":[{".":48,"а":38},11],"т":[{"і":[{"̈":57}],"ї":38},9],"ъ":48,"ы":59}],"о":[{"́":[{"п":13}],"м":9,"н":9,"с":41},11],"п":[{"а":98,"п":9,"і":[{"̈":[{"о":57},38]}],"ї":[{"о":38},13]}],"р":[{"а":11,"е":11,"о":32,"с":9}],"с":[{"а":[{"в":13},11],"е":11,"о":32,"с":9,"т":[{"е":11,"о":11,"р":11},99],"є":11,"і":[{"́":38}],"ѡ":11},47],"т":[{"и":[{"̀":48}],"і":[{"́":38}],"ѝ":48,"ѵ":[{"̏":38}],"ѷ":13,"ꙋ":40},42],"ф":[{"а":[{"́":38}]},42],"х":[{"а":[{"́":38}],"и":[{"́":38,"̑":38}]},11],"ц":11,"ч":[{"а":[{"́":38}]},11],"ю":49,"ѐ":11,"є":[{"́":13},49],"ѝ":49,"ѡ":[{"н":9,"с":9},11],"ѧ":[{"́":[{"с":13}],"в":41},49],"ѯ":10,"ѳ":[{"а":48,"е":40},11],"ѵ":[{"̏":32}],"ѷ":100}],"̑":[{".":46,"к":10,"р":9,"с":42},47],"҆":[{"̀":[{".":62}],"́":[{".":62,"д":9,"н":13}],"̈":[{".":62}],"̑":[{".":62}],"а":[{"́":13}],"г":25,"д":[{"ѡ":13}],"з":52,"к":25,"м":42,"н":52,"с":[{"а":13},42]}],"ⷠ":[{".":30,"҇":[{".":30}]}],"ⷡ":[{".":30,"҇":[{".":30}]}],"ⷢ":[{".":30,"҇":[{".":30}]}],"ⷣ":[{".":30,"҇":[{".":30}]}],"ⷤ":[{".":30,"҇":[{".":30}]}],"ⷥ":[{".":30,"҇":[{".":30}]}],"ⷦ":[{".":30,"҇":[{".":30}]}],"ⷧ":[{".":30,"҇":[{".":30}]}],"ⷨ":[{".":30,"҇":[{".":30}]}],"ⷩ":[{".":30,"҇":[{".":30}]}],"ⷪ":[{".":30,"҇":[{".":30}]}],"ⷫ":[{".":30,"҇":[{".":30}]}],"ⷬ":[{".":30,"҇":[{".":30}]}],"ⷭ":[{".":30,"҇":[{".":30}]}],"ⷮ":[{".":30,"҇":[{".":30}]}],"ⷯ":[{".":30,"҇":[{".":30}]}],"ⷰ":[{".":30,"҇":[{".":30}]}],"ⷱ":[{".":30,"҇":[{".":30}]}],"ⷲ":[{".":30,"҇":[{".":30}]}],"ⷳ":[{".":30,"҇":[{".":30}]}],"ⷴ":[{".":30,"҇":[{".":30}]}],"ⷵ":[{".":30,"҇":[{".":30}]}],"ⷶ":[{".":30,"҇":[{".":30}]}],"ⷷ":[{".":30,"҇":[{".":30}]}],"ⷸ":[{".":30,"҇":[{".":30}]}],"ⷹ":[{".":30,"҇":[{".":30}]}],"ⷺ":[{".":30,"҇":[{".":30}]}],"ⷻ":[{".":30,"҇":[{".":30}]}],"ⷼ":[{".":30,"҇":[{".":30}]}],"ⷽ":[{".":30,"҇":[{".":30}]}],"ⷾ":[{".":30,"҇":[{".":30}]}],"ⷿ":[{".":30,"҇":[{".":30}]}],"ꙴ":[{".":30,"҇":[{".":30}]}],"ꙵ":[{".":30,"҇":[{".":30}]}],"ꙶ":[{".":30,"҇":[{".":30}]}],"ꙷ":[{".":30,"҇":[{".":30}]}],"ꙸ":[{".":30,"҇":[{".":30}]}],"ꙹ":[{".":30,"҇":[{".":30}]}],"ꙺ":[{".":30,"҇":[{".":30}]}],"ꙻ":[{".":30,"҇":[{".":30}]}],"꙼":[{".":30,"҇":[{".":30}]}],"꙽":[{".":30,"҇":[{".":30}]}]}],"ї":[{".":96,"а":[{"́":[{"д":9},47],"д":11,"м":11,"н":11},27],"в":[{"е":[{"́":13}],"і":[{"̈":13}],"ї":9},34],"г":[{"а":27,"г":35,"и":[{"́":13},27]}],"д":[{"і":[{"̈":13}],"ї":9},34],"е":[{"́":[{"ш":9}],"м":10,"р":42},54],"и":[{"̀":47,"́":[{"д":9,"н":9}],"̆":9,"̑":[{"м":13},25],"м":47,"н":[{"а":48},11],"с":42,"т":11,"х":47},27],"й":35,"к":[{"а":[{"н":9},54],"е":27,"и":[{"́":13},54],"о":[{"́":13,"н":9},27],"т":[{"о":13},27],"і":[{"̈":13},27],"ї":31,"ѡ":27},10],"л":[{"а":[{"р":9},54],"в":42,"е":[{"́":13},27],"и":27,"л":[{"і":[{"̈":38}],"ї":13}],"о":31,"і":[{"̈":[{"п":38},47]},27],"ї":[{"п":13},54],"ѧ":60,"ꙋ":31}],"м":[{"а":[{"н":13},27],"е":31,"о":31,"і":[{"̈":33}],"ї":31},47],"н":[{"а":37,"б":49,"д":11,"е":[{"́":13},27],"о":[{".":48,"а":13},27],"т":[{"і":[{"̈":38}],"ї":13},11],"ъ":48,"ы":60}],"о":[{"́":[{"п":9}],"м":11,"н":11,"с":42},27],"п":[{"а":37,"п":11,"і":[{"̈":[{"о":38},13]}],"ї":[{"о":13},9]}],"р":[{"а":27,"е":27,"о":31,"с":11}],"с":[{"а":[{"в":9},27],"е":27,"о":31,"с":11,"т":[{"е":27,"о":27,"р":27},101],"є":27,"і":[{"́":13}],"ѡ":27},47],"т":[{"и":[{"̀":48}],"і":[{"́":13}],"ѝ":48,"ѵ":[{"̏":13}],"ѷ":9,"ꙋ":25},34],"ф":[{"а":[{"́":13}]},34],"х":[{"а":[{"́":13}],"и":[{"́":13,"̑":13}]},27],"ц":27,"ч":[{"а":[{"́":13}]},27],"ю":54,"ѐ":27,"є":[{"́":9},54],"ѝ":54,"ѡ":[{"н":11,"с":11},27],"ѧ":[{"́":[{"с":9}],"в":42},54],"ѯ":8,"ѳ":[{"а":48,"е":25},27],"ѵ":[{"̏":31}],"ѷ":44}],"ѝ":[{".":96,"д":[{"ѣ":9},27]}],"ѡ":[{".":30,"̀":[{".":46}],"́":[{".":46,"б":[{"р":11}],"в":[{"а":13,"и":13},47],"г":[{"а":13,"і":[{"̈":38}],"ї":13}],"д":[{"ь":48}],"ж":[{"д":11,"е":13,"і":[{"̈":38}],"ї":13}],"з":[{"д":11,"н":9}],"и":[{"н":13,"х":9}],"к":[{"а":13}],"л":[{"г":9,"и":13,"н":9,"і":[{"̈":38}],"ї":13}],"м":[{"і":[{"̈":38}],"ї":13}],"п":11,"р":[{"б":9,"г":65,"д":9,"с":9}],"с":[{"н":9,"с":9}],"ч":[{"а":13},11],"ѳ":48},8],"̈":[{".":46}],"̑":[{".":46,"м":9,"т":11}],"а":[{"́":[{"д":48,"н":48,"с":48}],"к":48,"н":51,"с":59},27],"б":[{"и":[{"́":13,"т":9}],"л":[{"и":13}],"о":9,"р":[{"а":[{"з":[{"ꙋ":[{"́":16}]}]}],"ꙋ":13}],"ѣ":[{"́":13},25],"ꙋ":9},95],"в":[{"а":[{"́":13},27],"е":27,"л":[{"ю":11,"ѧ":11}],"о":37,"ы":27,"ѣ":31,"ꙋ":27}],"г":[{"о":[{"р":13},25]},60],"д":[{"а":27,"е":60,"і":[{"́":13,"̈":13},27],"ї":31}],"з":[{"о":25},27],"и":[{"́":[{"л":48},25],"с":11},27],"к":[{"р":48},27],"л":[{"и":[{"́":13},27],"о":31,"ы":27,"і":[{"́":13},27],"ѡ":27,"ѣ":[{"́":13},27]}],"м":[{"а":[{"́":13},54],"о":37,"ы":27,"ѣ":27,"ѵ":27}],"н":[{"а":[{"ѳ":48},27],"е":27,"и":27,"ы":27,"і":[{"́":13},27],"ѵ":47,"ꙋ":27}],"п":[{"а":48,"е":47,"и":[{"́":13},71],"р":[{"е":13},48],"ы":47},27],"р":[{"а":[{"́":48},27],"е":[{"́":13},82],"и":[{"́":13},37],"о":[{"в":13},27],"с":11,"ы":[{"́":13},27],"ꙋ":[{"́":48,"ж":48},27]}],"с":[{"а":87,"в":[{"ѧ":13}],"к":95,"л":48,"с":11,"т":[{"р":48},92],"щ":48,"і":[{"̈":13}],"ї":9,"ѣ":87,"ѧ":[{"́":48}],"ꙋ":65}],"т":[{"и":27,"о":31,"ы":27,"і":[{"̈":13},27],"ї":31}],"ф":27,"ч":[{"и":[{"́":13}]},60],"ш":27,"і":[{"́":9},27],"ѧ":[{"́":9},27],"ѵ":[{"̏":31}],"ѷ":44,"҆":[{"̀":[{".":62}],"́":[{".":62,"б":9}],"̈":[{".":62}],"̑":[{".":62}],"г":[{"ꙋ":13}],"д":[{"о":13,"ꙋ":13}],"з":[{"а":13},42],"к":[{"а":13},25],"м":[{"о":13},11],"п":[{"а":13},11],"р":[{"о":13},11],"с":[{"ѣ":13},42],"ч":11}],"ⷠ":[{".":30,"҇":[{".":30}]}],"ⷡ":[{".":30,"҇":[{".":30}]}],"ⷢ":[{".":30,"҇":[{".":30}]}],"ⷣ":[{".":30,"҇":[{".":30}]}],"ⷤ":[{".":30,"҇":[{".":30}]}],"ⷥ":[{".":30,"҇":[{".":30}]}],"ⷦ":[{".":30,"҇":[{".":30}]}],"ⷧ":[{".":30,"҇":[{".":30}]}],"ⷨ":[{".":30,"҇":[{".":30}]}],"ⷩ":[{".":30,"҇":[{".":30}]}],"ⷪ":[{".":30,"҇":[{".":30}]}],"ⷫ":[{".":30,"҇":[{".":30}]}],"ⷬ":[{".":30,"҇":[{".":30}]}],"ⷭ":[{".":30,"҇":[{".":30}]}],"ⷮ":[{".":30,"҇":[{".":30}]}],"ⷯ":[{".":30,"҇":[{".":30}]}],"ⷰ":[{".":30,"҇":[{".":30}]}],"ⷱ":[{".":30,"҇":[{".":30}]}],"ⷲ":[{".":30,"҇":[{".":30}]}],"ⷳ":[{".":30,"҇":[{".":30}]}],"ⷴ":[{".":30,"҇":[{".":30}]}],"ⷵ":[{".":30,"҇":[{".":30}]}],"ⷶ":[{".":30,"҇":[{".":30}]}],"ⷷ":[{".":30,"҇":[{".":30}]}],"ⷸ":[{".":30,"҇":[{".":30}]}],"ⷹ":[{".":30,"҇":[{".":30}]}],"ⷺ":[{".":30,"҇":[{".":30}]}],"ⷻ":[{".":30,"҇":[{".":30}]}],"ⷼ":[{".":30,"҇":[{".":30}]}],"ⷽ":[{".":30,"҇":[{".":30}]}],"ⷾ":[{".":30,"҇":[{".":30}]}],"ⷿ":[{".":30,"҇":[{".":30}]}],"ꙴ":[{".":30,"҇":[{".":30}]}],"ꙵ":[{".":30,"҇":[{".":30}]}],"ꙶ":[{".":30,"҇":[{".":30}]}],"ꙷ":[{".":30,"҇":[{".":30}]}],"ꙸ":[{".":30,"҇":[{".":30}]}],"ꙹ":[{".":30,"҇":[{".":30}]}],"ꙺ":[{".":30,"҇":[{".":30}]}],"ꙻ":[{".":30,"҇":[{".":30}]}],"꙼":[{".":30,"҇":[{".":30}]}],"꙽":[{".":30,"҇":[{".":30}]}]}],"ѣ":[{".":30,"̀":[{".":46},8],"́":[{".":46,"в":[{"и":13,"л":11,"ц":9}],"г":[{"д":11,"н":9}],"д":[{"о":13,"і":[{"̈":38}],"ї":13,"ꙋ":13}],"ж":[{"и":13}],"з":[{"а":13},25],"к":[{"а":13,"о":13,"т":11}],"л":[{"и":13}],"н":[{"м":9}],"п":[{"і":[{"̈":38}],"ї":13}],"р":[{"о":13,"с":9,"і":[{"̈":38}],"ї":13}],"с":[{"о":13},25],"т":[{"а":13}],"ц":11,"ч":[{"и":13}],"щ":[{"е":13}],"є":9},8],"̈":[{".":46}],"̑":[{".":46,"в":11,"п":52,"с":[{"н":11,"т":13},25],"ш":9},8],"б":[{"о":25},27],"в":[{"а":27,"и":[{"́":13},27],"н":34,"ц":35}],"г":[{"а":[{"́":13}],"о":25},34],"д":[{"а":27,"е":37,"н":[{"е":13,"ю":13},35],"о":[{"́":13},27],"ы":27,"і":[{"̈":39}],"ї":37,"ѡ":25,"ꙋ":37}],"е":27,"ж":[{"е":[{"́":13}]},34],"з":[{"д":35,"р":34}],"и":[{"̆":9},27],"й":35,"к":[{"а":25,"и":[{"́":13}],"н":35,"о":[{"́":13}],"ꙋ":25},27],"л":[{"а":[{"́":13},37],"е":[{"с":9},27],"и":27,"о":[{"́":13},31],"є":27,"ѝ":27,"ѡ":27,"ѣ":[{"́":13},27],"ѧ":[{"́":13},27],"ꙋ":37}],"м":[{"а":27,"е":27,"и":27}],"н":[{"а":37,"е":37,"и":27,"о":37,"ц":11,"ч":11,"і":[{"̈":13}],"ї":9,"ѝ":27,"ѣ":27,"ѧ":[{"́":13},27]}],"п":[{"а":[{"́":13},37],"и":37,"л":35,"о":37,"і":[{"́":13},27],"ѝ":27}],"р":[{"е":37,"о":31,"є":27,"ѧ":[{"́":13},27]}],"с":[{"и":27,"н":27,"о":37,"т":[{"е":27,"о":33,"ѝ":27}],"ѝ":27,"ѡ":27,"ѣ":27,"ѧ":9},10],"т":[{"а":[{"́":13},27],"е":27,"и":27,"л":35,"о":[{"в":9,"л":9,"р":9},27],"ѐ":27,"і":27,"ѝ":27,"ꙋ":27}],"х":[{"а":[{"́":13},27],"и":27,"м":35,"о":27,"ꙋ":25}],"ц":[{"ѣ":25},27],"ч":[{"е":25,"ѐ":27}],"ш":[{"а":25,"е":[{"м":9}],"є":[{"́":13}]},27],"щ":[{"е":[{"н":9}],"ꙋ":25},27],"ю":44,"ѧ":27,"҆":[{"̀":[{".":62}],"́":[{".":62}],"̈":[{".":62}],"̑":[{".":62}]}],"ⷠ":[{".":30,"҇":[{".":30}]}],"ⷡ":[{".":30,"҇":[{".":30}]}],"ⷢ":[{".":30,"҇":[{".":30}]}],"ⷣ":[{".":30,"҇":[{".":30}]}],"ⷤ":[{".":30,"҇":[{".":30}]}],"ⷥ":[{".":30,"҇":[{".":30}]}],"ⷦ":[{".":30,"҇":[{".":30}]}],"ⷧ":[{".":30,"҇":[{".":30}]}],"ⷨ":[{".":30,"҇":[{".":30}]}],"ⷩ":[{".":30,"҇":[{".":30}]}],"ⷪ":[{".":30,"҇":[{".":30}]}],"ⷫ":[{".":30,"҇":[{".":30}]}],"ⷬ":[{".":30,"҇":[{".":30}]}],"ⷭ":[{".":30,"҇":[{".":30}]}],"ⷮ":[{".":30,"҇":[{".":30}]}],"ⷯ":[{".":30,"҇":[{".":30}]}],"ⷰ":[{".":30,"҇":[{".":30}]}],"ⷱ":[{".":30,"҇":[{".":30}]}],"ⷲ":[{".":30,"҇":[{".":30}]}],"ⷳ":[{".":30,"҇":[{".":30}]}],"ⷴ":[{".":30,"҇":[{".":30}]}],"ⷵ":[{".":30,"҇":[{".":30}]}],"ⷶ":[{".":30,"҇":[{".":30}]}],"ⷷ":[{".":30,"҇":[{".":30}]}],"ⷸ":[{".":30,"҇":[{".":30}]}],"ⷹ":[{".":30,"҇":[{".":30}]}],"ⷺ":[{".":30,"҇":[{".":30}]}],"ⷻ":[{".":30,"҇":[{".":30}]}],"ⷼ":[{".":30,"҇":[{".":30}]}],"ⷽ":[{".":30,"҇":[{".":30}]}],"ⷾ":[{".":30,"҇":[{".":30}]}],"ⷿ":[{".":30,"҇":[{".":30}]}],"ꙋ":[{"́":9},27],"ꙴ":[{".":30,"҇":[{".":30}]}],"ꙵ":[{".":30,"҇":[{".":30}]}],"ꙶ":[{".":30,"҇":[{".":30}]}],"ꙷ":[{".":30,"҇":[{".":30}]}],"ꙸ":[{".":30,"҇":[{".":30}]}],"ꙹ":[{".":30,"҇":[{".":30}]}],"ꙺ":[{".":30,"҇":[{".":30}]}],"ꙻ":[{".":30,"҇":[{".":30}]}],"꙼":[{".":30,"҇":[{".":30}]}],"꙽":[{".":30,"҇":[{".":30}]}]},47],"ѧ":[{".":30,"̀":[{".":46},8],"́":[{".":46,"б":50,"в":48,"д":[{"а":13,"о":13}],"з":[{"в":65,"л":13}],"к":[{"а":13}],"л":[{"а":48,"и":48}],"н":[{"м":9},48],"р":79,"с":[{"а":48}],"т":[{"и":13,"о":13,"ч":9,"і":[{"̈":38}],"ї":13,"ѣ":48}],"х":[{"о":48}],"ц":11,"ч":[{"е":13},11],"ш":[{"а":13,"е":13,"и":48},11],"щ":11},8],"̈":[{".":46}],"̑":[{".":46,"ж":77,"з":47,"к":47,"н":48,"с":81,"т":48,"ю":48},35],"б":[{"а":[{"́":13}],"е":[{"́":13}],"л":35},47],"в":[{"а":[{"́":13},27],"и":[{"́":13},27],"л":[{"е":11}],"с":11},48],"г":[{"и":[{"́":13}],"о":9},27],"д":[{"а":[{"́":13}],"е":[{"̀":48}],"о":9,"ѐ":48,"ꙋ":[{"̑":13},25]},27],"е":[{"м":9},27],"ж":[{"д":48},34],"з":[{"а":81,"в":85,"е":54,"ы":88,"ь":47,"є":47,"ѧ":54,"ꙋ":[{"́":13},55]}],"и":[{"̆":9},60],"й":[{"с":48},35],"л":59,"м":[{"и":27,"ъ":48}],"н":[{"а":60,"е":37,"и":[{"́":13},27],"н":48,"ы":[{"́":13},27],"і":[{"̈":58}],"ї":65,"ѝ":27,"ꙋ":37}],"р":[{"е":25},27],"с":[{"а":[{".":48,"́":13}],"е":81,"н":48,"о":53,"ъ":48,"ѐ":47,"ꙋ":[{"́":13},48]},34],"т":[{"а":[{"́":13,"̑":13},27],"е":27,"и":[{"̑":13},27],"к":35,"н":[{"а":13},11],"о":27,"с":47,"ъ":47,"ы":27,"ь":9,"і":[{"́":13,"̈":13},27],"ї":31,"ѝ":27,"ѣ":27,"ꙋ":27}],"ц":[{"а":[{"́":13},27],"е":31,"ы":27}],"ч":[{"е":[{"́":13,"с":9}],"н":11}],"ш":[{"а":65},27],"щ":[{"а":[{"́":13}],"е":[{"н":13}],"і":[{"̈":13}],"ї":9,"ѧ":9},34],"ю":[{"щ":[{"е":13}]},44],"ѧ":27,"҆":[{"̀":[{".":62},9],"́":[{".":62}],"̈":[{".":62}],"̑":[{".":62}],"з":42}],"ⷠ":[{".":30,"҇":[{".":30}]}],"ⷡ":[{".":30,"҇":[{".":30}]}],"ⷢ":[{".":30,"҇":[{".":30}]}],"ⷣ":[{".":30,"҇":[{".":30}]}],"ⷤ":[{".":30,"҇":[{".":30}]}],"ⷥ":[{".":30,"҇":[{".":30}]}],"ⷦ":[{".":30,"҇":[{".":30}]}],"ⷧ":[{".":30,"҇":[{".":30}]}],"ⷨ":[{".":30,"҇":[{".":30}]}],"ⷩ":[{".":30,"҇":[{".":30}]}],"ⷪ":[{".":30,"҇":[{".":30}]}],"ⷫ":[{".":30,"҇":[{".":30}]}],"ⷬ":[{".":30,"҇":[{".":30}]}],"ⷭ":[{".":30,"҇":[{".":30}]}],"ⷮ":[{".":30,"҇":[{".":30}]}],"ⷯ":[{".":30,"҇":[{".":30}]}],"ⷰ":[{".":30,"҇":[{".":30}]}],"ⷱ":[{".":30,"҇":[{".":30}]}],"ⷲ":[{".":30,"҇":[{".":30}]}],"ⷳ":[{".":30,"҇":[{".":30}]}],"ⷴ":[{".":30,"҇":[{".":30}]}],"ⷵ":[{".":30,"҇":[{".":30}]}],"ⷶ":[{".":30,"҇":[{".":30}]}],"ⷷ":[{".":30,"҇":[{".":30}]}],"ⷸ":[{".":30,"҇":[{".":30}]}],"ⷹ":[{".":30,"҇":[{".":30}]}],"ⷺ":[{".":30,"҇":[{".":30}]}],"ⷻ":[{".":30,"҇":[{".":30}]}],"ⷼ":[{".":30,"҇":[{".":30}]}],"ⷽ":[{".":30,"҇":[{".":30}]}],"ⷾ":[{".":30,"҇":[{".":30}]}],"ⷿ":[{".":30,"҇":[{".":30}]}],"ꙴ":[{".":30,"҇":[{".":30}]}],"ꙵ":[{".":30,"҇":[{".":30}]}],"ꙶ":[{".":30,"҇":[{".":30}]}],"ꙷ":[{".":30,"҇":[{".":30}]}],"ꙸ":[{".":30,"҇":[{".":30}]}],"ꙹ":[{".":30,"҇":[{".":30}]}],"ꙺ":[{".":30,"҇":[{".":30}]}],"ꙻ":[{".":30,"҇":[{".":30}]}],"꙼":[{".":30,"҇":[{".":30}]}],"꙽":[{".":30,"҇":[{".":30}]}]}],"ѯ":[{"а":[{"́":[{"р":9}],"к":[{"ꙋ":13}],"н":52,"п":[{"о":13}]},48],"е":[{"н":[{"о":13},11]},48],"т":47,"ъ":47,"і":[{"̈":9},48],"ї":59}],"ѱ":[{"а":[{"́":[{"л":13},25]},48],"і":[{"́":25},48],"ѡ":48,"ѵ":[{"́":9},48]},8],"ѳ":[{"а":[{"в":11,"г":52,"д":52,"л":[{"а":13},11],"н":11,"ѵ":52},48],"е":[{"́":[{"ю":48}],"а":9,"м":59,"о":[{"́":13}],"р":[{"а":13},42],"ѡ":[{"́":13},25]}],"и":[{"́":[{"с":65}]}],"л":[{"е":9},48],"о":[{"́":9,"в":10,"л":[{"о":13},11],"н":11},48],"р":[{"а":25},48],"с":[{"і":[{"̈":13}],"ї":9},48],"ъ":47,"ы":48,"і":[{"́":[{"а":48,"м":48,"с":65}],"̈":[{"с":40,"ф":[{"а":38}]},48],"̑":65}],"ї":[{"с":25,"ф":[{"а":13}]},48],"ѡ":11,"ѧ":59,"ѵ":[{"́":[{"м":9}],"̏":9},48],"ѷ":11,"ꙋ":[{"́":9},48]},8],"ѵ":[{".":30,"̀":[{".":46}],"́":[{".":46,"м":47,"н":[{"і":[{"̈":38}],"ї":13}],"п":[{"т":11},25],"с":11,"т":[{"е":13}],"ф":11},8],"̈":[{".":46}],"̏":[{"г":[{"д":11,"н":42}],"е":[{"́":40,"л":9},11],"з":[{"а":[{"н":38},40]},11],"к":[{"а":[{"р":13},11],"е":[{"́":38},11],"т":[{"о":38},11]},25],"л":[{"а":40,"і":[{"́":38}]},42],"м":[{"в":9,"е":32,"п":[{"і":[{"̈":57}],"ї":38},52],"і":[{"̈":97}],"ї":32},47],"н":[{"а":13,"о":[{"́":38}]},11],"п":[{"о":58,"р":47,"і":[{"́":38},47]},42],"р":[{"и":40,"о":13,"і":[{"̈":38}],"ї":13},11],"с":[{"е":102,"о":[{"́":38},103],"с":53,"є":59}],"х":[{"і":[{"̈":38}],"ї":13},11],"ѱ":49}],"̑":[{".":46,"р":25},11],"а":[{"́":[{"н":13},25],"р":11},63],"г":[{"е":[{"́":13}]},54],"д":[{"и":9,"о":9,"і":[{"̈":13}],"ї":9},54],"е":64,"и":[{"н":11},63],"к":[{"а":37,"л":27,"т":8,"і":27},50],"л":[{"а":27,"е":27,"о":[{"́":13},37],"ꙋ":27},47],"м":[{"а":[{"́":13}],"е":[{"́":13}]},54],"н":[{"о":[{"́":13},25],"і":[{"̈":13}],"ї":9},54],"о":[{"́":25},63],"п":[{"р":[{"а":13}]},54],"р":[{"а":27,"е":37,"ы":27,"і":[{"́":13,"̈":13},27],"ї":31,"ѡ":[{"́":13},27],"ѣ":27},50],"с":[{"е":[{"́":13},27],"т":[{"р":27},25],"і":[{"̈":13}],"ї":9,"ѵ":[{"̏":13}],"ѷ":9},50],"т":[{"і":[{"́":13}],"ѵ":[{"̏":13}],"ѷ":9},54],"ф":[{"р":[{"о":13}]},54],"ъ":72,"ы":48,"і":[{"̈":43},48],"ї":85,"ѯ":27,"ѱ":54,"ѳ":[{"а":[{"́":13}],"ѵ":[{"́":13}]},54],"҆":[{"̀":[{".":62}],"́":[{".":62}],"̈":[{".":62}],"̑":[{".":62}],"а":9,"п":[{"е":13,"о":13},11],"с":52}],"ⷠ":[{".":30,"҇":[{".":30}]}],"ⷡ":[{".":30,"҇":[{".":30}]}],"ⷢ":[{".":30,"҇":[{".":30}]},72],"ⷣ":[{".":30,"҇":[{".":30}]}],"ⷤ":[{".":30,"҇":[{".":30}]}],"ⷥ":[{".":30,"҇":[{".":30}]}],"ⷦ":[{".":30,"҇":[{".":30}]}],"ⷧ":[{".":30,"҇":[{".":30}]}],"ⷨ":[{".":30,"҇":[{".":30}]}],"ⷩ":[{".":30,"҇":[{".":30}]}],"ⷪ":[{".":30,"҇":[{".":30}]}],"ⷫ":[{".":30,"҇":[{".":30}]}],"ⷬ":[{".":30,"҇":[{".":30}]}],"ⷭ":[{".":30,"҇":[{".":30}]}],"ⷮ":[{".":30,"҇":[{".":30}]}],"ⷯ":[{".":30,"҇":[{".":30}]}],"ⷰ":[{".":30,"҇":[{".":30}]}],"ⷱ":[{".":30,"҇":[{".":30}]}],"ⷲ":[{".":30,"҇":[{".":30}]}],"ⷳ":[{".":30,"҇":[{".":30}]}],"ⷴ":[{".":30,"҇":[{".":30}]}],"ⷵ":[{".":30,"҇":[{".":30}]}],"ⷶ":[{".":30,"҇":[{".":30}]}],"ⷷ":[{".":30,"҇":[{".":30}]}],"ⷸ":[{".":30,"҇":[{".":30}]}],"ⷹ":[{".":30,"҇":[{".":30}]}],"ⷺ":[{".":30,"҇":[{".":30}]}],"ⷻ":[{".":30,"҇":[{".":30}]}],"ⷼ":[{".":30,"҇":[{".":30}]}],"ⷽ":[{".":30,"҇":[{".":30}]}],"ⷾ":[{".":30,"҇":[{".":30}]}],"ⷿ":[{".":30,"҇":[{".":30}]}],"ꙋ":63,"ꙴ":[{".":30,"҇":[{".":30}]}],"ꙵ":[{".":30,"҇":[{".":30}]}],"ꙶ":[{".":30,"҇":[{".":30}]}],"ꙷ":[{".":30,"҇":[{".":30}]}],"ꙸ":[{".":30,"҇":[{".":30}]}],"ꙹ":[{".":30,"҇":[{".":30}]}],"ꙺ":[{".":30,"҇":[{".":30}]}],"ꙻ":[{".":30,"҇":[{".":30}]}],"꙼":[{".":30,"҇":[{".":30}]}],"꙽":[{".":30,"҇":[{".":30}]}]}],"ѷ":[{"г":[{"д":27,"н":34}],"е":[{"́":25,"л":11},27],"з":[{"а":[{"н":13},25]},27],"к":[{"а":[{"р":9},27],"е":[{"́":13},27],"т":[{"о":13},27]},10],"л":[{"а":25,"і":[{"́":13}]},34],"м":[{"в":11,"е":31,"п":[{"і":[{"̈":38}],"ї":13},35],"і":[{"̈":33}],"ї":31},47],"н":[{"а":9,"о":[{"́":13}]},27],"п":[{"о":65,"р":47,"і":[{"́":13},47]},34],"р":[{"и":25,"о":9,"і":[{"̈":13}],"ї":9},27],"с":[{"е":88,"о":[{"́":13},82],"с":49,"є":60}],"х":[{"і":[{"̈":13}],"ї":9},27],"ѱ":54}],"ѹ":[{".":30,"̀":[{".":46}],"́":[{".":46}],"̈":[{".":46}],"̑":[{".":46}],"х":60,"҆":[{"̀":[{".":62},9],"́":[{".":62,"б":9,"н":9,"х":9,"ч":9}],"̈":[{".":62}],"̑":[{".":62}],"б":42,"в":42,"г":[{"а":13},25],"з":42,"к":[{"о":13}],"л":11,"м":42,"н":[{"е":13,"и":13}],"п":[{"о":13},11],"с":[{"к":11,"п":11},25],"т":[{"а":13,"о":13},25]},48],"ⷠ":[{".":30,"҇":[{".":30}]}],"ⷡ":[{".":30,"҇":[{".":30}]}],"ⷢ":[{".":30,"҇":[{".":30}]}],"ⷣ":[{".":30,"҇":[{".":30}]}],"ⷤ":[{".":30,"҇":[{".":30}]}],"ⷥ":[{".":30,"҇":[{".":30}]}],"ⷦ":[{".":30,"҇":[{".":30}]}],"ⷧ":[{".":30,"҇":[{".":30}]}],"ⷨ":[{".":30,"҇":[{".":30}]}],"ⷩ":[{".":30,"҇":[{".":30}]}],"ⷪ":[{".":30,"҇":[{".":30}]}],"ⷫ":[{".":30,"҇":[{".":30}]}],"ⷬ":[{".":30,"҇":[{".":30}]}],"ⷭ":[{".":30,"҇":[{".":30}]}],"ⷮ":[{".":30,"҇":[{".":30}]}],"ⷯ":[{".":30,"҇":[{".":30}]}],"ⷰ":[{".":30,"҇":[{".":30}]}],"ⷱ":[{".":30,"҇":[{".":30}]}],"ⷲ":[{".":30,"҇":[{".":30}]}],"ⷳ":[{".":30,"҇":[{".":30}]}],"ⷴ":[{".":30,"҇":[{".":30}]}],"ⷵ":[{".":30,"҇":[{".":30}]}],"ⷶ":[{".":30,"҇":[{".":30}]}],"ⷷ":[{".":30,"҇":[{".":30}]}],"ⷸ":[{".":30,"҇":[{".":30}]}],"ⷹ":[{".":30,"҇":[{".":30}]}],"ⷺ":[{".":30,"҇":[{".":30}]}],"ⷻ":[{".":30,"҇":[{".":30}]}],"ⷼ":[{".":30,"҇":[{".":30}]}],"ⷽ":[{".":30,"҇":[{".":30}]}],"ⷾ":[{".":30,"҇":[{".":30}]}],"ⷿ":[{".":30,"҇":[{".":30}]}],"ꙴ":[{".":30,"҇":[{".":30}]}],"ꙵ":[{".":30,"҇":[{".":30}]}],"ꙶ":[{".":30,"҇":[{".":30}]}],"ꙷ":[{".":30,"҇":[{".":30}]}],"ꙸ":[{".":30,"҇":[{".":30}]}],"ꙹ":[{".":30,"҇":[{".":30}]}],"ꙺ":[{".":30,"҇":[{".":30}]}],"ꙻ":[{".":30,"҇":[{".":30}]}],"꙼":[{".":30,"҇":[{".":30}]}],"꙽":[{".":30,"҇":[{".":30}]}]}],"ѻ":[{".":30,"̀":[{".":46}],"́":[{".":46}],"̈":[{".":46}],"̑":[{".":46}],"б":[{"о":9},60],"г":[{"н":[{"е":13}]},95],"к":[{"е":9},60],"н":[{"ꙋ":[{"́":13},25]},60],"р":[{"д":42,"ꙋ":[{"́":13},88]}],"т":[{"е":25,"р":[{"о":13}]},95],"ц":63,"҆":[{"̀":[{".":62}],"́":[{".":62}],"̈":[{".":62}],"̑":[{".":62}],"б":[{"о":13,"р":9}],"в":42,"г":25,"д":[{"и":13}],"з":42,"к":[{"а":13},25],"н":11,"п":11,"с":42,"т":25}],"ⷠ":[{".":30,"҇":[{".":30}]}],"ⷡ":[{".":30,"҇":[{".":30}]}],"ⷢ":[{".":30,"҇":[{".":30}]}],"ⷣ":[{".":30,"҇":[{".":30}]}],"ⷤ":[{".":30,"҇":[{".":30}]}],"ⷥ":[{".":30,"҇":[{".":30}]}],"ⷦ":[{".":30,"҇":[{".":30}]}],"ⷧ":[{".":30,"҇":[{".":30}]}],"ⷨ":[{".":30,"҇":[{".":30}]}],"ⷩ":[{".":30,"҇":[{".":30}]}],"ⷪ":[{".":30,"҇":[{".":30}]}],"ⷫ":[{".":30,"҇":[{".":30}]}],"ⷬ":[{".":30,"҇":[{".":30}]}],"ⷭ":[{".":30,"҇":[{".":30}]}],"ⷮ":[{".":30,"҇":[{".":30}]}],"ⷯ":[{".":30,"҇":[{".":30}]}],"ⷰ":[{".":30,"҇":[{".":30}]}],"ⷱ":[{".":30,"҇":[{".":30}]}],"ⷲ":[{".":30,"҇":[{".":30}]}],"ⷳ":[{".":30,"҇":[{".":30}]}],"ⷴ":[{".":30,"҇":[{".":30}]}],"ⷵ":[{".":30,"҇":[{".":30}]}],"ⷶ":[{".":30,"҇":[{".":30}]}],"ⷷ":[{".":30,"҇":[{".":30}]}],"ⷸ":[{".":30,"҇":[{".":30}]}],"ⷹ":[{".":30,"҇":[{".":30}]}],"ⷺ":[{".":30,"҇":[{".":30}]}],"ⷻ":[{".":30,"҇":[{".":30}]}],"ⷼ":[{".":30,"҇":[{".":30}]}],"ⷽ":[{".":30,"҇":[{".":30}]}],"ⷾ":[{".":30,"҇":[{".":30}]}],"ⷿ":[{".":30,"҇":[{".":30}]}],"ꙴ":[{".":30,"҇":[{".":30}]}],"ꙵ":[{".":30,"҇":[{".":30}]}],"ꙶ":[{".":30,"҇":[{".":30}]}],"ꙷ":[{".":30,"҇":[{".":30}]}],"ꙸ":[{".":30,"҇":[{".":30}]}],"ꙹ":[{".":30,"҇":[{".":30}]}],"ꙺ":[{".":30,"҇":[{".":30}]}],"ꙻ":[{".":30,"҇":[{".":30}]}],"꙼":[{".":30,"҇":[{".":30}]}],"꙽":[{".":30,"҇":[{".":30}]}]}],"ѽ":[{".":96,"̀":[{".":46}],"́":[{".":46}],"̈":[{".":46}],"̑":[{".":46}],"л":27,"҆":[{"̀":[{".":62}],"́":[{".":62}],"̈":[{".":62}],"̑":[{".":62}]}],"ⷠ":[{".":30,"҇":[{".":30}]}],"ⷡ":[{".":30,"҇":[{".":30}]}],"ⷢ":[{".":30,"҇":[{".":30}]}],"ⷣ":[{".":30,"҇":[{".":30}]}],"ⷤ":[{".":30,"҇":[{".":30}]}],"ⷥ":[{".":30,"҇":[{".":30}]}],"ⷦ":[{".":30,"҇":[{".":30}]}],"ⷧ":[{".":30,"҇":[{".":30}]}],"ⷨ":[{".":30,"҇":[{".":30}]}],"ⷩ":[{".":30,"҇":[{".":30}]}],"ⷪ":[{".":30,"҇":[{".":30}]}],"ⷫ":[{".":30,"҇":[{".":30}]}],"ⷬ":[{".":30,"҇":[{".":30}]}],"ⷭ":[{".":30,"҇":[{".":30}]}],"ⷮ":[{".":30,"҇":[{".":30}]}],"ⷯ":[{".":30,"҇":[{".":30}]}],"ⷰ":[{".":30,"҇":[{".":30}]}],"ⷱ":[{".":30,"҇":[{".":30}]}],"ⷲ":[{".":30,"҇":[{".":30}]}],"ⷳ":[{".":30,"҇":[{".":30}]}],"ⷴ":[{".":30,"҇":[{".":30}]}],"ⷵ":[{".":30,"҇":[{".":30}]}],"ⷶ":[{".":30,"҇":[{".":30}]}],"ⷷ":[{".":30,"҇":[{".":30}]}],"ⷸ":[{".":30,"҇":[{".":30}]}],"ⷹ":[{".":30,"҇":[{".":30}]}],"ⷺ":[{".":30,"҇":[{".":30}]}],"ⷻ":[{".":30,"҇":[{".":30}]}],"ⷼ":[{".":30,"҇":[{".":30}]}],"ⷽ":[{".":30,"҇":[{".":30}]}],"ⷾ":[{".":30,"҇":[{".":30}]}],"ⷿ":[{".":30,"҇":[{".":30}]}],"ꙴ":[{".":30,"҇":[{".":30}]}],"ꙵ":[{".":30,"҇":[{".":30}]}],"ꙶ":[{".":30,"҇":[{".":30}]}],"ꙷ":[{".":30,"҇":[{".":30}]}],"ꙸ":[{".":30,"҇":[{".":30}]}],"ꙹ":[{".":30,"҇":[{".":30}]}],"ꙺ":[{".":30,"҇":[{".":30}]}],"ꙻ":[{".":30,"҇":[{".":30}]}],"꙼":[{".":30,"҇":[{".":30}]}],"꙽":[{".":30,"҇":[{".":30}]}]}],"ѿ":[{".":30,"̀":[{".":46}],"́":[{".":46}],"̈":[{".":46}],"̑":[{".":46}],"б":[{"ѣ":9},27],"в":[{"а":[{"л":9}],"е":[{"р":13}],"р":[{"а":13}]},34],"г":[{"о":[{"́":13}]},34],"д":27,"е":[{"́":[{"м":13},25]},60],"ж":[{"е":9},27],"и":[{"́":9,"м":11,"т":11},27],"к":[{"р":[{"о":13}],"ꙋ":[{"́":13},25]},27],"л":[{"ꙋ":9},34],"м":[{"е":9,"ы":9},34],"н":[{"е":[{"́":13},25],"ю":25},34],"п":[{"а":9},27],"р":[{"а":[{"́":13,"с":9}],"е":9,"и":[{"́":13},25]},27],"с":[{"е":[{"́":13},25],"т":[{"о":13}]},60],"т":[{"о":[{"́":13},25],"ꙋ":[{"́":13}]},34],"х":[{"о":[{"́":13}]},27],"ч":[{"а":[{"́":13,"̑":13}],"ꙋ":9},27],"ш":[{"е":25},27],"ѧ":27,"ѻ":44,"҆":[{"̀":[{".":62}],"́":[{".":62}],"̈":[{".":62}],"̑":[{".":62}]}],"ⷠ":[{".":30,"҇":[{".":30}]}],"ⷡ":[{".":30,"҇":[{".":30}]}],"ⷢ":[{".":30,"҇":[{".":30}]}],"ⷣ":[{".":30,"҇":[{".":30}]}],"ⷤ":[{".":30,"҇":[{".":30}]}],"ⷥ":[{".":30,"҇":[{".":30}]}],"ⷦ":[{".":30,"҇":[{".":30}]}],"ⷧ":[{".":30,"҇":[{".":30}]}],"ⷨ":[{".":30,"҇":[{".":30}]}],"ⷩ":[{".":30,"҇":[{".":30}]}],"ⷪ":[{".":30,"҇":[{".":30}]}],"ⷫ":[{".":30,"҇":[{".":30}]}],"ⷬ":[{".":30,"҇":[{".":30}]}],"ⷭ":[{".":30,"҇":[{".":30}]}],"ⷮ":[{".":30,"҇":[{".":30}]}],"ⷯ":[{".":30,"҇":[{".":30}]}],"ⷰ":[{".":30,"҇":[{".":30}]}],"ⷱ":[{".":30,"҇":[{".":30}]}],"ⷲ":[{".":30,"҇":[{".":30}]}],"ⷳ":[{".":30,"҇":[{".":30}]}],"ⷴ":[{".":30,"҇":[{".":30}]}],"ⷵ":[{".":30,"҇":[{".":30}]}],"ⷶ":[{".":30,"҇":[{".":30}]}],"ⷷ":[{".":30,"҇":[{".":30}]}],"ⷸ":[{".":30,"҇":[{".":30}]}],"ⷹ":[{".":30,"҇":[{".":30}]}],"ⷺ":[{".":30,"҇":[{".":30}]}],"ⷻ":[{".":30,"҇":[{".":30}]}],"ⷼ":[{".":30,"҇":[{".":30}]}],"ⷽ":[{".":30,"҇":[{".":30}]}],"ⷾ":[{".":30,"҇":[{".":30}]}],"ⷿ":[{".":30,"҇":[{".":30}]}],"ꙴ":[{".":30,"҇":[{".":30}]}],"ꙵ":[{".":30,"҇":[{".":30}]}],"ꙶ":[{".":30,"҇":[{".":30}]}],"ꙷ":[{".":30,"҇":[{".":30}]}],"ꙸ":[{".":30,"҇":[{".":30}]}],"ꙹ":[{".":30,"҇":[{".":30}]}],"ꙺ":[{".":30,"҇":[{".":30}]}],"ꙻ":[{".":30,"҇":[{".":30}]}],"꙼":[{".":30,"҇":[{".":30}]}],"꙽":[{".":30,"҇":[{".":30}]}]}],"҃":[{"а":[{"́":9,"̑":9,"в":11,"л":10,"т":11,"х":10}],"г":[{"а":[{"́":13}],"о":9}],"д":10,"е":[{"́":[{"с":9}],"н":9,"р":9,"с":11}],"з":10,"и":[{"́":[{"в":9,"с":9,"ц":9,"ч":9}]},10],"к":10,"л":[{"о":25,"є":9},10],"н":[{"е":[{"ч":13},25],"і":[{"̈":13}],"ї":9},10],"о":[{"́":[{"в":13}],"в":42,"з":42,"и":[{"з":13}],"л":[{"ю":13},11],"н":[{"а":13,"е":13},11],"р":11,"с":11,"ѧ":[{"в":13}],"ꙋ":9}],"р":[{"е":25,"н":[{"е":13,"и":13}],"і":[{"̈":13}],"ї":9},10],"с":[{"е":25,"т":25,"ѡ":9},10],"т":[{"в":[{"о":13}]},10],"ш":[{"е":[{"́":13},25]}],"щ":[{"а":[{"́":13}],"е":[{"́":13}]}],"ы":[{"́":[{"н":9}]}],"є":[{"́":[{"н":13},25]}],"і":[{"́":9}],"ѣ":[{"́":25}],"ꙋ":[{"́":9}]},30],"҆":[{"̀":8,"́":[{"б":[{"л":11,"р":11},25],"в":[{"а":13,"е":13,"о":13,"ц":11,"і":[{"̈":38}],"ї":13}],"г":[{"ц":11},25],"д":[{"і":[{"̈":38}],"ї":13}],"з":[{"д":9,"е":13,"н":9,"р":11}],"и":9,"к":11,"л":[{"ч":9},10],"м":[{"о":13,"ѧ":13}],"н":[{"а":13,"д":9,"и":13,"ѡ":13,"ꙋ":13}],"р":[{"т":9}],"с":[{"к":11,"н":11,"п":11},25],"т":11,"ц":52,"ш":11,"щ":42,"ю":9},8],"̑":8,"а":[{"́":[{"к":9}],"̑":9,"д":11,"м":52,"н":[{"ꙋ":13}],"р":42},27],"б":[{"а":[{"́":13}],"в":35,"д":35,"и":[{"т":9}],"л":[{"а":13,"и":13}],"н":[{"и":13},11],"о":[{"л":13}],"р":[{"е":13,"ꙋ":11}],"щ":27,"ѡ":[{"́":13}]}],"в":[{"в":[{"а":13},11],"д":34,"е":[{"н":9},27],"и":27,"л":35,"н":34,"о":31,"ц":34,"ч":34,"ы":27,"і":[{"̈":13}],"ї":31,"ѝ":27,"ѣ":[{"р":9},27],"ѧ":27,"ѵ":27,"ꙋ":31}],"г":[{"г":10,"л":[{"ѣ":13},10],"н":10,"о":[{"р":13}],"р":[{"о":13}]},27],"д":[{"а":[{"в":13,"л":9}],"о":[{"л":9}],"є":[{"́":13}],"і":[{"̈":13}],"ї":9,"ѡ":[{"л":9}],"ѣ":[{"́":13,"в":9}],"ꙋ":[{"́":13}]},34],"е":[{"з":[{"е":13},42],"р":[{"о":13,"ꙋ":13},25],"с":10},27],"ж":[{"и":[{"́":13}]},34],"з":[{"̾":[{"ꙋ":13}],"в":[{"и":13},11],"д":[{"а":32}],"е":31,"ж":[{"е":13}],"и":[{"́":13},27],"л":[{"и":13},11],"м":[{"о":13}],"н":[{"е":13,"ꙋ":13},42],"о":25,"р":[{"а":11,"е":32,"и":32,"ѧ":11}],"с":[{"ꙋ":13}],"ы":27,"і":[{"́":13}]}],"и":[{"с":44}],"к":[{"а":[{"л":9}],"е":9,"л":[{"е":13,"о":13}],"о":[{"в":9}],"р":[{"о":13,"ꙋ":13}],"т":[{"е":13}],"і":[{"̈":40}],"ї":25,"ѵ":[{"́":13,"̏":13}],"ѷ":9},27],"л":[{"а":[{"́":13,"р":9},27],"в":[{"е":13},42],"е":[{"з":13,"ѵ":13},27],"и":[{"́":13,"̑":13},27],"м":[{"а":13},11],"о":27,"п":11,"і":[{"̈":[{"и":38,"о":38}]},27],"ї":[{"и":13,"о":13},27],"ѝ":27,"ѵ":[{"̏":40}],"ѷ":37,"ꙋ":31}],"м":[{"а":27,"в":11,"е":[{"н":9},27],"и":27,"л":27,"н":34,"о":[{"в":9,"н":9},27],"п":[{"е":13},34],"р":[{"а":13}],"ы":27,"і":[{"̈":33}],"ї":31,"ѣ":[{"̑":13},27],"ѧ":[{"́":13},37],"ꙋ":[{"́":13}]}],"н":[{"а":[{"́":13},27],"д":11,"е":[{"м":13},27],"и":[{"́":13,"с":9},27],"о":27,"т":[{"і":[{"̈":38}],"ї":13},11],"ц":11,"ы":27,"і":[{"́":13,"̈":13},27],"ї":9,"ѝ":27,"ѣ":27,"ѳ":11,"ѵ":[{"́":13}],"ꙋ":[{"́":13},37]}],"п":[{"а":[{"с":9},27],"е":[{"р":9},27],"и":[{"́":13},37],"л":[{"е":13},27],"о":[{"́":13,"л":13,"р":9,"ѧ":13},27],"р":[{"о":13,"ѣ":13}],"і":[{"́":13,"̈":13},27],"ї":9,"ѡ":27,"ꙋ":31},10],"р":[{"а":[{"в":9,"з":9},27],"г":42,"д":[{"а":13},11],"е":[{"т":9},27],"и":27,"к":11,"м":42,"о":27,"п":[{"а":13},11],"с":11,"т":11,"х":11,"і":[{"̈":33}],"ї":31,"ѡ":31,"ѧ":[{"́":13},27],"ꙋ":37}],"с":[{"а":27,"в":[{"ѣ":13,"ѧ":13}],"е":37,"и":27,"к":[{"и":13,"л":27}],"л":10,"м":[{"о":13},27],"н":34,"о":37,"п":[{"а":27,"и":27,"о":11,"ѣ":33,"ꙋ":11}],"с":11,"т":[{"л":11,"о":11,"ꙋ":13}],"х":35,"ц":[{"ѣ":13},35],"ы":31,"і":[{"́":13,"̈":13}],"ї":9,"ѝ":27,"ѣ":[{"́":13,"к":13,"н":9},27],"ѵ":[{"̏":[{"г":38},40]}],"ѷ":[{"г":13},25],"ꙋ":[{"́":13,"д":9}]}],"т":[{"а":[{"́":13}],"и":[{"́":13}],"л":10,"о":[{"́":13,"л":9}],"ц":10,"ч":35,"ѣ":[{"́":13}]},27],"ф":[{"е":[{"́":13}],"р":[{"і":[{"̈":38}],"ї":13}],"і":27}],"х":[{"а":[{"́":13}],"і":[{"́":13}]},27],"ц":8,"ч":[{"а":[{"́":13}],"е":[{"н":9,"с":9}],"и":[{"с":9}],"р":[{"е":13}],"т":8,"є":[{"́":13}],"ꙋ":31},10],"ш":[{"е":9,"и":[{"́":13}],"ꙋ":[{"́":13},25]},27],"щ":[{"е":[{"́":13}],"ѧ":25},27],"ю":27,"є":[{"́":9},27],"ѕ":27,"і":[{"̈":31}],"ї":44,"ѡ":[{"́":9,"н":[{"а":13},11],"р":11,"с":11},27],"ѧ":[{"́":[{"ж":9,"з":13}],"з":52},27],"ѯ":[{"а":9},27],"ѳ":[{"а":9},27],"ѵ":[{"к":11,"л":11,"р":[{"ѡ":13},11],"с":11}],"ѻ":[{"р":9},27],"ꙋ":[{"́":[{"д":9,"л":9,"н":9},27],"̑":31,"в":44,"д":44,"л":44,"с":27}]},30],"҇":[{"а":11,"е":[{"в":11}],"и":[{"́":9}],"к":[{"о":25},10],"л":[{"і":[{"́":13,"̈":13}],"ї":9},10],"н":[{"а":[{"́":13}],"о":[{"́":13,"м":9}],"і":[{"̈":13}],"ї":9,"ꙋ":9},10],"о":11,"р":[{"д":[{"и":13,"і":[{"̈":38}],"ї":13}],"о":[{"́":13},25]},10],"т":[{"и":[{"́":13}],"о":[{"в":9,"и":13,"м":9}],"ь":9,"і":[{"̈":13}],"ї":9,"ѡ":[{"́":13}]},10],"ч":[{"е":[{"с":9}]},10],"ш":[{"а":9,"е":9},10],"ь":11,"і":[{"̈":9}],"ї":11,"ꙋ":11},30],"ӓ":[{".":96}],"ӥ":[{".":96}],"ӧ":[{".":96}],"ӭ":[{".":96}],"ӱ":[{".":96}],"ӹ":[{".":96}],"ᲂ":[{".":30,"̀":[{".":46}],"́":[{".":46}],"̈":[{".":46}],"̑":[{".":46}],"у":[{".":30,"̀":[{".":30}],"́":[{".":30}],"̈":[{".":62}],"̑":[{".":30}],"х":59,"҆":[{"̀":[{".":30},13],"́":[{".":30,"б":13,"н":13,"х":13,"ч":13}],"̈":[{".":30}],"̑":[{".":30}],"б":41,"в":41,"г":[{"а":38},40],"з":41,"к":[{"о":38}],"л":9,"м":41,"н":[{"е":38,"и":38}],"п":[{"о":38},9],"с":[{"к":9,"п":9},40],"т":[{"а":38,"о":38},40]},48],"ⷠ":[{".":30,"҇":[{".":30}]}],"ⷡ":[{".":30,"҇":[{".":30}]}],"ⷢ":[{".":30,"҇":[{".":30}]}],"ⷣ":[{".":30,"҇":[{".":30}]}],"ⷤ":[{".":30,"҇":[{".":30}]}],"ⷥ":[{".":30,"҇":[{".":30}]}],"ⷦ":[{".":30,"҇":[{".":30}]}],"ⷧ":[{".":30,"҇":[{".":30}]}],"ⷨ":[{".":30,"҇":[{".":30}]}],"ⷩ":[{".":30,"҇":[{".":30}]}],"ⷪ":[{".":30,"҇":[{".":30}]}],"ⷫ":[{".":30,"҇":[{".":30}]}],"ⷬ":[{".":30,"҇":[{".":30}]}],"ⷭ":[{".":30,"҇":[{".":30}]}],"ⷮ":[{".":30,"҇":[{".":30}]}],"ⷯ":[{".":30,"҇":[{".":30}]}],"ⷰ":[{".":30,"҇":[{".":30}]}],"ⷱ":[{".":30,"҇":[{".":30}]}],"ⷲ":[{".":30,"҇":[{".":30}]}],"ⷳ":[{".":30,"҇":[{".":30}]}],"ⷴ":[{".":30,"҇":[{".":30}]}],"ⷵ":[{".":30,"҇":[{".":30}]}],"ⷶ":[{".":30,"҇":[{".":30}]}],"ⷷ":[{".":30,"҇":[{".":30}]}],"ⷸ":[{".":30,"҇":[{".":30}]}],"ⷹ":[{".":30,"҇":[{".":30}]}],"ⷺ":[{".":30,"҇":[{".":30}]}],"ⷻ":[{".":30,"҇":[{".":30}]}],"ⷼ":[{".":30,"҇":[{".":30}]}],"ⷽ":[{".":30,"҇":[{".":30}]}],"ⷾ":[{".":30,"҇":[{".":30}]}],"ⷿ":[{".":30,"҇":[{".":30}]}],"ꙴ":[{".":30,"҇":[{".":30}]}],"ꙵ":[{".":30,"҇":[{".":30}]}],"ꙶ":[{".":30,"҇":[{".":30}]}],"ꙷ":[{".":30,"҇":[{".":30}]}],"ꙸ":[{".":30,"҇":[{".":30}]}],"ꙹ":[{".":30,"҇":[{".":30}]}],"ꙺ":[{".":30,"҇":[{".":30}]}],"ꙻ":[{".":30,"҇":[{".":30}]}],"꙼":[{".":30,"҇":[{".":30}]}],"꙽":[{".":30,"҇":[{".":30}]}]},0],"҆":[{"̀":[{".":62}],"́":[{".":62}],"̈":[{".":62}],"̑":[{".":62}]}],"ⷠ":[{".":30,"҇":[{".":30}]}],"ⷡ":[{".":30,"҇":[{".":30}]}],"ⷢ":[{".":30,"҇":[{".":30}]}],"ⷣ":[{".":30,"҇":[{".":30}]}],"ⷤ":[{".":30,"҇":[{".":30}]}],"ⷥ":[{".":30,"҇":[{".":30}]}],"ⷦ":[{".":30,"҇":[{".":30}]}],"ⷧ":[{".":30,"҇":[{".":30}]}],"ⷨ":[{".":30,"҇":[{".":30}]}],"ⷩ":[{".":30,"҇":[{".":30}]}],"ⷪ":[{".":30,"҇":[{".":30}]}],"ⷫ":[{".":30,"҇":[{".":30}]}],"ⷬ":[{".":30,"҇":[{".":30}]}],"ⷭ":[{".":30,"҇":[{".":30}]}],"ⷮ":[{".":30,"҇":[{".":30}]}],"ⷯ":[{".":30,"҇":[{".":30}]}],"ⷰ":[{".":30,"҇":[{".":30}]}],"ⷱ":[{".":30,"҇":[{".":30}]}],"ⷲ":[{".":30,"҇":[{".":30}]}],"ⷳ":[{".":30,"҇":[{".":30}]}],"ⷴ":[{".":30,"҇":[{".":30}]}],"ⷵ":[{".":30,"҇":[{".":30}]}],"ⷶ":[{".":30,"҇":[{".":30}]}],"ⷷ":[{".":30,"҇":[{".":30}]}],"ⷸ":[{".":30,"҇":[{".":30}]}],"ⷹ":[{".":30,"҇":[{".":30}]}],"ⷺ":[{".":30,"҇":[{".":30}]}],"ⷻ":[{".":30,"҇":[{".":30}]}],"ⷼ":[{".":30,"҇":[{".":30}]}],"ⷽ":[{".":30,"҇":[{".":30}]}],"ⷾ":[{".":30,"҇":[{".":30}]}],"ⷿ":[{".":30,"҇":[{".":30}]}],"ꙴ":[{".":30,"҇":[{".":30}]}],"ꙵ":[{".":30,"҇":[{".":30}]}],"ꙶ":[{".":30,"҇":[{".":30}]}],"ꙷ":[{".":30,"҇":[{".":30}]}],"ꙸ":[{".":30,"҇":[{".":30}]}],"ꙹ":[{".":30,"҇":[{".":30}]}],"ꙺ":[{".":30,"҇":[{".":30}]}],"ꙻ":[{".":30,"҇":[{".":30}]}],"꙼":[{".":30,"҇":[{".":30}]}],"꙽":[{".":30,"҇":[{".":30}]}]}],"ᲆ":30,"ⷠ":30,"ⷡ":30,"ⷢ":[{"і":[{"̈":9}],"ї":11,"҇":10},30],"ⷣ":[{"б":[{"н":[{"о":13}]},10],"н":[{"а":9,"е":25,"і":[{"̈":13}],"ї":9},10],"т":[{"е":[{"́":13}],"і":[{"̈":13}],"ї":9}],"ц":[{"е":25},10],"ч":10},30],"ⷤ":30,"ⷥ":30,"ⷦ":30,"ⷧ":[{"҇":10},30],"ⷨ":30,"ⷩ":30,"ⷪ":[{"҇":10},30],"ⷫ":30,"ⷬ":30,"ⷭ":[{"҇":10},30],"ⷮ":30,"ⷯ":30,"ⷰ":30,"ⷱ":30,"ⷲ":30,"ⷳ":30,"ⷴ":30,"ⷵ":30,"ⷶ":30,"ⷷ":30,"ⷸ":30,"ⷹ":30,"ⷺ":30,"ⷻ":30,"ⷼ":30,"ⷽ":30,"ⷾ":30,"ⷿ":30,"ⸯ":30,"ꙋ":[{".":30,"̀":[{".":46},72],"́":[{".":46,"б":[{"о":13}],"в":47,"г":[{"ꙋ":13}],"е":47,"ж":[{"і":[{"̈":38}],"ї":13},47],"з":[{"ъ":48}],"к":[{"о":13}],"л":[{"і":[{"̈":48}],"ї":48,"ꙋ":48}],"м":[{"н":48,"і":[{"̈":90}],"ї":58}],"н":[{"і":[{"̈":48}],"ї":48,"ѧ":13}],"п":47,"р":[{"е":13,"ж":13,"т":9}],"с":[{"с":9}],"ф":25,"х":47,"ц":11,"ч":[{"а":13,"е":13,"и":48}],"ш":[{"е":13}],"щ":[{"ꙋ":13}],"ю":47,"і":[{"̈":13}],"ї":9,"ѧ":47,"ѳ":47},8],"̈":[{".":46}],"̑":[{".":46,"б":11,"в":52,"д":[{"и":48}],"к":11,"м":[{"н":48}],"н":52,"с":52},8],"а":[{"́":9},54],"б":[{"а":[{"́":13}],"и":[{"н":9}],"л":[{"ю":11}],"н":[{"ы":13,"ꙋ":13},11],"о":[{"́":13}],"р":27,"ы":47,"і":48,"ѡ":47}],"в":[{"е":60,"и":54,"ш":[{"е":13}],"ы":27,"і":47,"ѣ":60,"ѧ":60}],"г":[{"а":[{"́":13,"с":48}],"о":[{"т":48}]},34],"д":[{"а":[{"́":13},27],"е":[{"н":13},27],"н":35,"о":[{"б":48,"л":9},27],"р":[{"о":13},34],"ы":27,"є":60,"і":[{"̈":13},27],"ї":31,"ѣ":[{"в":9},27],"ꙋ":37}],"е":[{"́":9,"м":[{"о":13}],"т":[{"е":13}]},54],"ж":34,"з":[{"д":35,"и":27,"н":35,"і":[{"́":13}]}],"и":[{"́":25,"̆":9,"м":10},27],"й":35,"к":[{"а":[{"з":[{"а":[{"́":7}]},48]},25],"л":[{"о":48,"ѡ":48}],"о":[{"в":9,"н":9,"с":9},47],"р":[{"а":13},48],"і":[{"́":13}],"ꙋ":25},34],"л":[{"в":11,"е":[{"́":13},27],"і":[{"̈":104}],"ї":87}],"м":[{"а":48,"е":[{"в":48}],"и":47,"л":56,"н":50,"о":71,"ъ":48,"ы":[{".":48}],"і":[{"́":13},47],"ѝ":47,"ѡ":48,"ѣ":[{".":48,"̑":58,"в":48}],"ѧ":81,"ꙋ":48},27],"н":[{"а":25,"о":25},27],"п":[{"а":[{"́":13},25],"о":9},34],"р":[{"в":11,"г":11,"е":31,"и":37,"о":[{"в":13},37],"т":11}],"с":[{"а":53,"о":[{"́":48,"м":9}],"т":[{"о":13,"і":[{"̈":48}],"ї":48,"ѡ":13}],"ы":48,"і":[{"̈":13}],"ї":9},34],"т":[{"е":54,"и":[{"̀":47},27],"р":[{"о":27,"ꙋ":33},48],"с":47,"ъ":47,"ь":47,"і":[{"̈":13},54],"ї":66,"ѝ":54}],"ф":27,"х":[{"а":[{"́":13},60],"н":11,"о":27}],"ц":[{"ѣ":[{"л":9}]},27],"ч":[{"е":[{"н":9}],"є":[{"́":13}],"ꙋ":25},27],"ш":[{"а":25,"е":[{"т":9}],"и":47,"л":35,"ꙋ":25},27],"щ":[{"а":[{"́":13}],"е":[{"́":13}],"є":9,"і":[{"̈":13}],"ї":9,"ѧ":9,"ꙋ":9},34],"ю":54,"і":[{"́":25},27],"ѧ":[{"́":[{"м":9}]},27],"҆":[{"̀":[{".":62}],"́":[{".":62}],"̈":[{".":62}],"̑":[{".":62}]}],"ⷠ":[{".":30,"҇":[{".":30}]}],"ⷡ":[{".":30,"҇":[{".":30}]}],"ⷢ":[{".":30,"҇":[{".":30}]}],"ⷣ":[{".":30,"҇":[{".":30}]}],"ⷤ":[{".":30,"҇":[{".":30}]}],"ⷥ":[{".":30,"҇":[{".":30}]}],"ⷦ":[{".":30,"҇":[{".":30}]}],"ⷧ":[{".":30,"҇":[{".":30}]},72],"ⷨ":[{".":30,"҇":[{".":30}]}],"ⷩ":[{".":30,"҇":[{".":30}]},72],"ⷪ":[{".":30,"҇":[{".":30}]}],"ⷫ":[{".":30,"҇":[{".":30}]}],"ⷬ":[{".":30,"҇":[{".":30}]}],"ⷭ":[{".":30,"҇":[{".":30}]}],"ⷮ":[{".":30,"҇":[{".":30}]}],"ⷯ":[{".":30,"҇":[{".":30}]},72],"ⷰ":[{".":30,"҇":[{".":30}]}],"ⷱ":[{".":30,"҇":[{".":30}]}],"ⷲ":[{".":30,"҇":[{".":30}]}],"ⷳ":[{".":30,"҇":[{".":30}]}],"ⷴ":[{".":30,"҇":[{".":30}]}],"ⷵ":[{".":30,"҇":[{".":30}]}],"ⷶ":[{".":30,"҇":[{".":30}]}],"ⷷ":[{".":30,"҇":[{".":30}]}],"ⷸ":[{".":30,"҇":[{".":30}]}],"ⷹ":[{".":30,"҇":[{".":30}]}],"ⷺ":[{".":30,"҇":[{".":30}]}],"ⷻ":[{".":30,"҇":[{".":30}]}],"ⷼ":[{".":30,"҇":[{".":30}]}],"ⷽ":[{".":30,"҇":[{".":30}]}],"ⷾ":[{".":30,"҇":[{".":30}]}],"ⷿ":[{".":30,"҇":[{".":30}]}],"ꙴ":[{".":30,"҇":[{".":30}]}],"ꙵ":[{".":30,"҇":[{".":30}]}],"ꙶ":[{".":30,"҇":[{".":30}]}],"ꙷ":[{".":30,"҇":[{".":30}]}],"ꙸ":[{".":30,"҇":[{".":30}]}],"ꙹ":[{".":30,"҇":[{".":30}]}],"ꙺ":[{".":30,"҇":[{".":30}]}],"ꙻ":[{".":30,"҇":[{".":30}]}],"꙼":[{".":30,"҇":[{".":30}]}],"꙽":[{".":30,"҇":[{".":30}]}]}],"ꙍ":[{".":30,"̀":[{".":46}],"́":[{".":46}],"̈":[{".":46}],"̑":[{".":46}],"҆":[{"̀":[{".":62}],"́":[{".":62}],"̈":[{".":62}],"̑":[{".":62,"̀":[{".":86}],"́":[{".":86}],"̈":[{".":86}],"̑":[{".":86}],"л":9,"҆":[{"̀":[{".":105}],"́":[{".":105}],"̈":[{".":105}],"̑":[{".":105}]}],"ⷠ":[{".":30,"҇":[{".":30}]}],"ⷡ":[{".":30,"҇":[{".":30}]}],"ⷢ":[{".":30,"҇":[{".":30}]}],"ⷣ":[{".":30,"҇":[{".":30}]}],"ⷤ":[{".":30,"҇":[{".":30}]}],"ⷥ":[{".":30,"҇":[{".":30}]}],"ⷦ":[{".":30,"҇":[{".":30}]}],"ⷧ":[{".":30,"҇":[{".":30}]}],"ⷨ":[{".":30,"҇":[{".":30}]}],"ⷩ":[{".":30,"҇":[{".":30}]}],"ⷪ":[{".":30,"҇":[{".":30}]}],"ⷫ":[{".":30,"҇":[{".":30}]}],"ⷬ":[{".":30,"҇":[{".":30}]}],"ⷭ":[{".":30,"҇":[{".":30}]}],"ⷮ":[{".":30,"҇":[{".":30}]}],"ⷯ":[{".":30,"҇":[{".":30}]}],"ⷰ":[{".":30,"҇":[{".":30}]}],"ⷱ":[{".":30,"҇":[{".":30}]}],"ⷲ":[{".":30,"҇":[{".":30}]}],"ⷳ":[{".":30,"҇":[{".":30}]}],"ⷴ":[{".":30,"҇":[{".":30}]}],"ⷵ":[{".":30,"҇":[{".":30}]}],"ⷶ":[{".":30,"҇":[{".":30}]}],"ⷷ":[{".":30,"҇":[{".":30}]}],"ⷸ":[{".":30,"҇":[{".":30}]}],"ⷹ":[{".":30,"҇":[{".":30}]}],"ⷺ":[{".":30,"҇":[{".":30}]}],"ⷻ":[{".":30,"҇":[{".":30}]}],"ⷼ":[{".":30,"҇":[{".":30}]}],"ⷽ":[{".":30,"҇":[{".":30}]}],"ⷾ":[{".":30,"҇":[{".":30}]}],"ⷿ":[{".":30,"҇":[{".":30}]}],"ꙴ":[{".":30,"҇":[{".":30}]}],"ꙵ":[{".":30,"҇":[{".":30}]}],"ꙶ":[{".":30,"҇":[{".":30}]}],"ꙷ":[{".":30,"҇":[{".":30}]}],"ꙸ":[{".":30,"҇":[{".":30}]}],"ꙹ":[{".":30,"҇":[{".":30}]}],"ꙺ":[{".":30,"҇":[{".":30}]}],"ꙻ":[{".":30,"҇":[{".":30}]}],"꙼":[{".":30,"҇":[{".":30}]}],"꙽":[{".":30,"҇":[{".":30}]}]}]}],"ⷠ":[{".":30,"҇":[{".":30}]}],"ⷡ":[{".":30,"҇":[{".":30}]}],"ⷢ":[{".":30,"҇":[{".":30}]}],"ⷣ":[{".":30,"҇":[{".":30}]}],"ⷤ":[{".":30,"҇":[{".":30}]}],"ⷥ":[{".":30,"҇":[{".":30}]}],"ⷦ":[{".":30,"҇":[{".":30}]}],"ⷧ":[{".":30,"҇":[{".":30}]}],"ⷨ":[{".":30,"҇":[{".":30}]}],"ⷩ":[{".":30,"҇":[{".":30}]}],"ⷪ":[{".":30,"҇":[{".":30}]}],"ⷫ":[{".":30,"҇":[{".":30}]}],"ⷬ":[{".":30,"҇":[{".":30}]}],"ⷭ":[{".":30,"҇":[{".":30}]}],"ⷮ":[{".":30,"҇":[{".":30}]}],"ⷯ":[{".":30,"҇":[{".":30}]}],"ⷰ":[{".":30,"҇":[{".":30}]}],"ⷱ":[{".":30,"҇":[{".":30}]}],"ⷲ":[{".":30,"҇":[{".":30}]}],"ⷳ":[{".":30,"҇":[{".":30}]}],"ⷴ":[{".":30,"҇":[{".":30}]}],"ⷵ":[{".":30,"҇":[{".":30}]}],"ⷶ":[{".":30,"҇":[{".":30}]}],"ⷷ":[{".":30,"҇":[{".":30}]}],"ⷸ":[{".":30,"҇":[{".":30}]}],"ⷹ":[{".":30,"҇":[{".":30}]}],"ⷺ":[{".":30,"҇":[{".":30}]}],"ⷻ":[{".":30,"҇":[{".":30}]}],"ⷼ":[{".":30,"҇":[{".":30}]}],"ⷽ":[{".":30,"҇":[{".":30}]}],"ⷾ":[{".":30,"҇":[{".":30}]}],"ⷿ":[{".":30,"҇":[{".":30}]}],"ꙴ":[{".":30,"҇":[{".":30}]}],"ꙵ":[{".":30,"҇":[{".":30}]}],"ꙶ":[{".":30,"҇":[{".":30}]}],"ꙷ":[{".":30,"҇":[{".":30}]}],"ꙸ":[{".":30,"҇":[{".":30}]}],"ꙹ":[{".":30,"҇":[{".":30}]}],"ꙺ":[{".":30,"҇":[{".":30}]}],"ꙻ":[{".":30,"҇":[{".":30}]}],"꙼":[{".":30,"҇":[{".":30}]}],"꙽":[{".":30,"҇":[{".":30}]}]}],"ꙗ":[{".":30,"̀":[{".":46}],"́":[{".":46}],"̈":[{".":46}],"̑":[{".":46}],"в":[{"и":[{"́":13}]},27],"҆":[{"̀":[{".":62},9],"́":[{".":62,"м":9,"р":9}],"̈":[{".":62}],"̑":[{".":62}],"з":42,"п":11,"р":11,"с":42}],"ⷠ":[{".":30,"҇":[{".":30}]}],"ⷡ":[{".":30,"҇":[{".":30}]}],"ⷢ":[{".":30,"҇":[{".":30}]}],"ⷣ":[{".":30,"҇":[{".":30}]}],"ⷤ":[{".":30,"҇":[{".":30}]}],"ⷥ":[{".":30,"҇":[{".":30}]}],"ⷦ":[{".":30,"҇":[{".":30}]}],"ⷧ":[{".":30,"҇":[{".":30}]}],"ⷨ":[{".":30,"҇":[{".":30}]}],"ⷩ":[{".":30,"҇":[{".":30}]}],"ⷪ":[{".":30,"҇":[{".":30}]}],"ⷫ":[{".":30,"҇":[{".":30}]}],"ⷬ":[{".":30,"҇":[{".":30}]}],"ⷭ":[{".":30,"҇":[{".":30}]}],"ⷮ":[{".":30,"҇":[{".":30}]}],"ⷯ":[{".":30,"҇":[{".":30}]}],"ⷰ":[{".":30,"҇":[{".":30}]}],"ⷱ":[{".":30,"҇":[{".":30}]}],"ⷲ":[{".":30,"҇":[{".":30}]}],"ⷳ":[{".":30,"҇":[{".":30}]}],"ⷴ":[{".":30,"҇":[{".":30}]}],"ⷵ":[{".":30,"҇":[{".":30}]}],"ⷶ":[{".":30,"҇":[{".":30}]}],"ⷷ":[{".":30,"҇":[{".":30}]}],"ⷸ":[{".":30,"҇":[{".":30}]}],"ⷹ":[{".":30,"҇":[{".":30}]}],"ⷺ":[{".":30,"҇":[{".":30}]}],"ⷻ":[{".":30,"҇":[{".":30}]}],"ⷼ":[{".":30,"҇":[{".":30}]}],"ⷽ":[{".":30,"҇":[{".":30}]}],"ⷾ":[{".":30,"҇":[{".":30}]}],"ⷿ":[{".":30,"҇":[{".":30}]}],"ꙴ":[{".":30,"҇":[{".":30}]}],"ꙵ":[{".":30,"҇":[{".":30}]}],"ꙶ":[{".":30,"҇":[{".":30}]}],"ꙷ":[{".":30,"҇":[{".":30}]}],"ꙸ":[{".":30,"҇":[{".":30}]}],"ꙹ":[{".":30,"҇":[{".":30}]}],"ꙺ":[{".":30,"҇":[{".":30}]}],"ꙻ":[{".":30,"҇":[{".":30}]}],"꙼":[{".":30,"҇":[{".":30}]}],"꙽":[{".":30,"҇":[{".":30}]}]}],"ꙴ":30,"ꙵ":30,"ꙶ":30,"ꙷ":30,"ꙸ":30,"ꙹ":30,"ꙺ":30,"ꙻ":30,"꙼":30,"꙽":30,"꙾":96,"ꙿ":96,"︦":96,"︮":96,"︯":96}',["є҆ѵел-пі́стъ","жа́-тва","жа́-твꙋ","жа́-твы","кел-сі́й","кел-сі́й","кле-о-па́-тра","ло-ви́-тва","ло-ви́-твꙋ","ло-ви́-твы","мї-ли́с-сенъ","мї-ли́с-сенъ","ѿ-нн҃ѣ","па́-сцѣ","пре-вы́-спрєн-нѧѧ","рас-пнѝ","сїл-ве́-стрꙋ","сїл-ве́-стрꙋ","ѹ҆-сте́нъ","ᲂу҆-сте́нъ"]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/6598.adapter.js b/public/tools/cloud_sheets/vendor/univer/6598.adapter.js new file mode 100644 index 0000000..3f30e35 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/6598.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[6598],{6598(a,t,i){i.r(t),i.d(t,{Ga:()=>r});const r=["004,006,005,0006,0004,0065,00034,00065,0003,00004,00056,0056,000006,0025,002,0005,000003,00006,006005,00005,00003,000005,000065,00000005,000000006,0000005,0001,0063,00043,0036,000056,0002,000043,00036,0000006,003,000004,0000065,0034,001,034,0306,05,01,003006,00014,03,04,6,63,4001,06,3,4,00001,403,434,043,02,023,036,012,0000056,065,00002,000603,00045,000034,000605,0033,404,605,0043,2,000304,0000004,056,00505,0023,000032,0041,0061,00054,0021,00556,00512,063,0605,40043,4002,0014,0304,000054,0000003,00012,0005606,000506,54,00063,0000034,304,201,000063,603,1,00000504,000023,61,6003,00605,0000304,000036,00032,5,3401,56,03005,34,21,506,00101,00000006,0012,306,00406,00000065,202,00061,41,341,5603,033,34004,6034,43,60003,560006,36,0000045,65,23,32,0066,0032,00023,000504,303,0302,000002,00000004,0434,102,0000043,060005,50006,45,0656,30006,0046,212,016,14,00050065,0106,021,00000056,0506,032,0016,00405,0403,045,2001,000025,014,0405,0102,0505,00304,00104,4114,000045,00305,05056,0603,054,00403,05004,0334,00055,5605,34036,01065,655,30405,00000054,0000036,500056,405,03036,0502,0443,22,00102,401,00016,0045,60102,0053,3403,12,43003,66,0055,0203,0201,0104,0216,005004,041,003034,0000063,000306,055,00506,50003,6556,030034,500006,4314,03006,3201,1004,6005,3003,00503,061,3004",'{".":[{"a":[{"b":[{"a":[{"i":0,"r":1}],"r":2}],"c":[{"a":[{"d":1}],"h":[{"a":[{"r":3}]}]}],"d":[{"a":[{"i":[{"m":1}],"m":1}]}],"e":[{"n":2}],"g":[{"a":[{"r":1}],"h":[{"a":4}],"ó":0,"r":2,"ú":[{"i":1}]}],"i":[{"c":5,"l":[{"t":[{"e":3}]}],"n":[{"g":6,"t":[{"e":[{".":3}],"í":[{"n":7}]}]}],"r":[{"n":[{"í":3}]}],"s":[{"t":[{"e":[{".":3}]},9]},8]}],"í":0,"l":[{"a":[{"m":10}],"g":11,"l":[{"a":[{"g":12}]}],"m":[{"ó":4}],"t":[{"a":13,"á":5}]}],"m":[{"a":[{"c":1}],"á":1}],"n":[{"a":[{"c":[{"h":12},15]},14],"á":14,"c":3,"d":[{"ó":[{"r":1}],"r":1}],"f":[{"a":1}],"g":[{"l":4}],"i":1,"l":[{"a":[{"i":[{"n":1}],"n":1}]}],"ó":1,"r":[{"a":[{"i":1}]}],"s":[{"a":1}],"t":[{"a":14}]}],"r":[{"a":[{"l":[{"t":16},9],"m":10,"s":10}],"d":15,"ó":[{"c":17},15],"t":4},14],"s":[{"a":[{"i":[{"l":1,"m":18}],"l":[{".":1}],"m":[{"a":10},1]}],"c":[{"a":[{"r":3}]}],"ó":1,"p":[{"a":[{".":1}]}],"t":[{"a":[{"i":15,"í":15}],"ó":8,"ú":1},14],"ú":0}],"t":[{"a":[{"r":[{".":2}]},3],"á":1}]}],"á":[{"i":[{"l":[{"t":[{"e":[{".":3,"a":7}]}]}],"r":[{"g":[{"e":15,"í":15}],"s":3}]}],"l":[{"t":1}],"r":[{"a":14,"m":1}]}],"b":[{"a":[{"d":[{"á":8},1],"l":[{"b":3}]}],"e":[{"o":[{"f":15,"g":15,"i":[{"d":15,"m":15}]}]}],"h":[{"á":[{"i":[{"t":[{"e":[{".":15}],"í":15}]}]}],"e":[{"o":[{"f":19,"i":[{"d":19,"m":19,"n":19}]}]}],"í":[{"d":[{"í":[{"s":15}]}],"m":[{"i":[{"s":15}]}],"o":[{"d":[{"a":15}],"m":[{"a":[{"r":15}]}]}],"t":[{"e":[{"á":15}],"í":15}]}],"l":[{"í":20}],"r":[{"e":[{"o":[{"f":21,"i":[{"d":21,"m":21,"n":21}]}]}],"í":[{"o":20}]}]},0],"l":[{"í":8}],"r":[{"e":[{"o":[{"f":19,"i":[{"d":19,"m":19}]}]}],"í":[{"o":8}]}]}],"c":[{"a":[{"c":[{"h":[{"t":12},19]}],"d":[{"á":15}],"í":[{"d":15,"g":[{"í":15}],"m":15,"o":15}],"r":[{"t":[{"a":[{"r":7}]}]}]},0],"h":[{"a":[{"c":[{"h":21}],"d":[{"á":19}],"í":[{"d":19,"g":[{"í":19}],"m":19,"o":19,"t":[{"e":[{"á":19}],"í":19}]}],"n":[{"á":19}],"r":[{"t":[{"a":[{"r":22}],"á":17}]}]},4],"á":[{"r":[{"t":[{"a":[{".":19}]}]}]}],"e":[{"i":[{"l":[{"t":[{"e":[{".":12}]}]}]}]}],"í":3,"l":[{"ó":[{"f":19,"i":[{"d":19,"m":19,"n":[{"n":19}]}]}]}],"n":[{"a":[{"í":16}],"ó":19}],"ó":[{"i":[{"s":21}]}]},0],"i":[{"l":3},1],"í":1,"l":[{"i":[{"p":19},3],"ó":[{"f":15,"i":[{"d":15,"m":15}]}]}],"n":[{"a":[{"í":20}],"ó":15}]}],"d":[{"a":1,"h":[{"l":[{"í":[{"d":19,"g":19,"m":19,"o":20}]}],"ó":[{"i":[{"t":[{"e":[{".":15}],"í":15}]}]}],"r":[{"e":[{"a":[{"c":[{"h":[{"t":24},23]}]}],"o":[{"f":21,"i":[{"d":21,"m":21,"n":21}]}]}]}]},14],"l":[{"í":[{"d":15,"g":15,"m":15,"o":15}]}],"ó":[{"f":2,"i":[{"d":[{"í":2}],"m":2,"t":[{"e":[{".":2}],"í":2}]}]}],"r":[{"e":[{"a":[{"c":[{"h":25}]}],"o":[{"f":19,"i":[{"d":19,"m":19}]}]}]}]}],"e":[{"a":[{"d":26,"g":27,"l":[{"t":28}],"r":[{"b":19}],"s":[{"t":[{"ó":8}]}]}],"i":[{"s":[{"c":[{"e":20}],"i":[{"l":4}]}]},1]}],"é":[{"a":[{"b":1,"d":[{"a":[{"r":3}]}],"g":[{"ó":29}],"r":[{"t":17},15]}],"i":[{"d":[{"r":11}],"g":[{"e":[{"a":[{"r":2}]}]}],"m":[{"í":15}]}]}],"f":[{"a":[{"c":[{"h":20}]},1],"e":[{"o":[{"f":15,"i":[{"d":[{"í":15}],"m":15}]}]}],"h":[{"r":[{"i":[{"o":[{"c":[{"h":23}]}]}]}],"u":[{"a":[{"f":[{"a":[{"i":[{"r":17}],"r":[{"a":17}]}]}],"i":[{"m":[{".":19}]}]}]}]}],"í":[{"d":[{"í":2}],"g":2,"m":2,"o":[{"d":[{"h":2}],"n":[{"n":2}]}]}]}],"g":[{"e":[{"a":[{"l":[{"t":[{"a":[{"í":22}]}]}],"t":19}]}],"h":[{"a":[{"i":[{"r":[{"t":21}]}]}],"l":[{"a":[{"e":16}]}],"r":[{"á":[{"n":17}]}]},14],"ó":[{"f":15}]}],"h":[{"a":[{"b":[{"a":[{"i":3,"r":3}]}],"c":[{"a":[{"d":3}]}],"g":[{"a":[{"r":3}],"ó":4}],"i":[{"l":[{"t":[{"e":17}]}],"n":[{"g":20,"t":[{"e":[{".":17}]},20]}],"r":[{"n":[{"í":17}]}],"s":[{"c":[{"e":19}],"t":[{"e":[{"a":19,"o":30}],"i":[{"g":19},12]}]}]}],"í":4,"l":[{"a":[{"m":30}],"m":[{"ó":9}],"t":[{"a":28,"á":7}]}],"n":[{"a":[{"c":19},31],"c":17,"f":[{"a":3}],"g":[{"l":9}],"ó":3,"t":[{"a":4}]}],"r":[{"a":31,"á":3,"ó":[{"c":12},7],"t":17}],"s":[{"a":[{"i":3,"l":[{".":3}],"m":3}],"t":[{"a":4}]}],"t":[{"á":3}]},0],"á":[{"i":[{"l":[{"t":[{"e":[{".":17,"a":22}]}]}],"r":[{"g":[{"e":19,"í":19}],"s":17}]}],"l":[{"t":3}],"r":[{"a":4,"m":3}]},1],"e":[{"a":[{"d":20,"l":[{"t":32}]}],"i":[{"s":[{"i":[{"l":17}]}]}]}],"é":[{"a":[{"d":[{"a":[{"r":17}]}],"g":[{"ó":33}]}],"i":[{"d":[{"e":[{"a":15},9]}]}]}],"i":[{"b":[{"é":3}],"m":[{"i":[{"r":[{"e":3}]}]}],"o":[{"s":[{"c":12},19]}],"r":4,"s":[{"t":20},4],"t":[{"e":[{"o":3}],"r":3}]}],"í":[{"l":8,"o":[{"c":[{"h":[{"t":34},21]}]}]},14],"o":[{"c":[{"r":4}],"d":3,"g":[{"h":17}],"i":[{"r":[{"n":[{"i":22}]}]}],"l":[{"a":[{"c":3}]}],"m":31,"r":[{"m":15,"t":9}]}],"ó":1,"u":[{"a":[{"f":[{"a":19},4]}],"i":[{"l":[{"e":9}]}]}],"ú":[{"d":4}]}],"i":[{"a":[{"i":[{"t":2}],"t":3}],"b":[{"é":1,"h":15}],"d":14,"l":35,"m":[{"i":[{"r":[{"e":1}]}]}],"n":[{"d":[{"i":[{"a":5}]}],"i":[{"d":1}],"í":[{"n":1,"o":0,"r":1}],"s":[{"t":[{"e":[{".":1}]}]}],"t":[{"e":3}]}],"o":[{"m":[{"á":[{"i":[{"n":25}]}]}],"s":[{"c":17,"t":9},8]}],"r":0,"s":[{"t":3},0],"t":1}],"í":[{"l":35,"o":[{"c":[{"h":[{"t":12},19]}],"s":15},1]}],"l":[{"a":[{"c":[{"h":[{"t":22}]}],"d":[{"a":15}],"g":[{"á":15}],"i":[{"t":19}],"n":[{"c":15}],"o":[{"n":15}]},0],"á":[{"i":[{"t":[{"í":2}]}]}],"e":[{"a":[{"b":[{"ó":20}],"m":3,"s":19,"t":[{"a":[{"í":17}]}]}],"o":[{"c":[{"h":36},8]}]}],"é":[{"a":[{"n":[{"n":[{".":2}]}]}],"i":[{"g":[{"í":2}]}]}],"i":[{"b":[{"é":15}],"m":15,"n":[{"t":17}],"p":15},1],"í":[{"d":2,"g":2,"m":[{"i":2}],"o":[{"d":2,"m":[{"a":[{"r":2}]}],"n":[{"n":2}]}],"t":[{"i":15},1]}],"ú":14}],"m":[{"a":[{"d":[{"a":15}],"i":[{"r":[{"t":[{"í":[{".":19}]}]}]}],"í":[{"d":15,"g":[{"í":15}],"m":[{"i":15}],"o":[{"d":15,"m":[{"a":15}],"n":15}],"t":[{"e":[{"á":15}],"í":15}]}],"m":15,"n":[{"t":31}],"r":[{"l":7,"s":[{"a":[{"c":7,"i":7}]}],"t":[{"a":15}],"ú":15},1],"t":[{"á":8},1]}],"e":[{"a":[{"d":[{"a":19}],"t":[{"á":19}]}]}],"h":[{"a":[{"d":[{"a":19}],"i":[{"s":[{"t":[{"e":[{".":12}],"í":[{".":12}]}]}]}],"í":[{"d":19,"g":[{"í":19}],"m":[{"i":19}],"o":[{"d":19,"m":[{"a":19}],"n":19}],"t":[{"e":[{".":19,"á":19}],"í":19}]}],"n":[{"t":32}],"r":[{"l":22,"s":[{"a":[{".":17}]}]}]}],"i":[{"o":[{"n":[{"t":[{"a":37}]}]}]}],"í":[{"o":[{"c":3}]}],"ú":[{"c":[{"h":21}]},3]},14],"í":[{"o":[{"c":1}],"s":[{"t":2}]}]}],"n":[{"a":[{"i":[{"r":19,"s":19}],"í":[{"o":[{"l":30}]},8],"r":15}],"d":[{"ó":[{"f":15,"i":[{"d":[{"í":15}],"m":15,"n":15}]}]},1],"e":[{"a":[{"c":[{"h":[{"t":25},12]}]}],"á":[{"d":19},3]}],"g":[{"ó":[{"f":19}]},0],"i":[{"t":3}],"í":[{"d":2,"g":[{"í":2}],"m":2,"o":[{"c":1,"d":2,"m":2,"n":2}]}],"o":[{"m":3}]}],"o":[{"c":[{"h":[{"t":7}],"r":0}],"d":1,"g":[{"h":3}],"i":[{"l":[{"t":17}],"r":[{"n":[{"e":28,"i":7,"í":3}],"t":15}]}],"l":[{"a":[{"c":1}]}],"m":[{"a":1}],"r":[{"a":[{"i":1}],"t":[{"h":[{"u":1}]},4]}],"s":[{"l":[{"ó":[{".":1}]}],"t":[{"a":15}]}]}],"ó":[{"p":1,"r":[{"á":0}]}],"p":[{"h":[{"o":[{"r":[{"t":[{"r":30}]}]}]}],"i":[{"s":[{"t":17}]}]}],"r":[{"a":[{"d":[{"a":15,"ó":15}],"f":[{"t":7}],"i":3,"t":[{"á":15}]},0],"á":1,"e":[{"a":[{"s":19}],"o":[{"f":15,"i":[{"d":15,"m":15,"n":15}]}]}],"é":[{"i":[{"m":[{"i":19}]}]}],"í":[{"d":[{"í":2}],"g":[{"í":2}],"m":[{"i":2}],"o":[{"c":[{"h":[{"a":1}]}],"d":2,"m":[{"a":2}],"n":[{"n":2}]}]}],"ó":[{"b":[{"a":15}],"c":[{"h":17},2],"s":[{"t":19}]}],"u":[{"a":[{"i":[{"m":[{".":15}]}]}]}],"ú":[{"m":15}]}],"s":[{"a":[{"l":[{"a":15},1]}],"á":[{"i":[{"t":[{"í":2}]}]}],"c":[{"a":[{"d":[{"á":19}],"r":[{"t":12},19]},3]},1],"e":[{"a":[{"r":[{"b":[{"h":25}]}]}]}],"é":[{"a":[{"l":[{"a":[{"i":[{"n":10}]}]}]}]}],"h":[{"á":[{"i":[{"n":[{"n":[{".":15}]}]}]}]}],"i":[{"m":8,"ú":[{"n":[{"t":16},9]}]},0],"í":[{"o":0}],"l":[{"i":[{"o":[{"s":21}]}]}],"m":0,"n":[{"í":[{"d":15,"g":15,"m":15,"o":[{"d":15,"m":[{"a":15}],"n":15}]}]}],"ó":[{"f":2,"i":[{"d":[{"í":2}],"m":2,"n":[{"n":2}]}]}],"p":[{"l":[{"é":[{"a":[{"c":[{"h":23}]}]}]}]}],"t":[{"e":[{"a":[{"m":21}]}]},0]}],"t":[{"a":[{"c":[{"h":[{"t":22}]}],"n":[{"g":15}],"p":15,"r":[{"t":[{"a":15}]}]},1],"é":[{"i":[{"t":[{"e":19}]}]}],"h":[{"é":[{"i":[{"t":[{"e":[{"a":21}]}]}]}],"r":[{"á":[{"i":[{"t":[{"í":19}]}]}],"ó":[{"f":21}]}]},14],"i":1,"r":[{"ó":[{"f":19}]}],"s":[{"í":[{"o":3}]}],"u":[{"a":[{"i":[{"m":15}]}]}]}],"u":[{"a":[{"f":[{"a":15},0],"i":1,"s":[{"a":[{"l":[{"a":3}]}]}]}],"i":[{"l":[{"e":31}],"r":[{"t":[{"h":[{"i":25}]},3]}]}],"n":[{"s":5}],"r":[{"b":2,"n":38}]}],"ú":[{"d":14,"m":2,"r":[{"á":[{"i":1}]}]}]}],"a":[{"b":[{"a":[{"c":[{"a":15},17],"d":[{"á":15}],"i":[{"r":[{"t":0}]}],"l":40,"r":[{"t":0}]},39],"á":39,"d":35,"h":[{"a":[{"i":[{"l":[{"e":3}]}]}],"e":41,"ó":[{"r":3}],"r":[{"e":3}],"t":31},26],"i":42,"l":39,"ó":[{".":42,"i":[{"g":35}],"n":42}],"r":[{"a":[{"d":[{"a":20},44]}]},43],"u":42,"ú":39}],"c":[{"a":[{"d":[{"ú":0}],"e":17,"o":[{"i":0}],"r":[{"d":1}],"s":[{"t":[{"ó":0}]},45],"t":[{"ú":6}]},39],"á":[{"i":[{"d":46}],"r":19}],"é":2,"h":[{"a":[{".":47,"d":[{"á":22}],"r":[{"f":4,"n":34,"t":34},21]},26],"á":[{"r":48},26],"e":49,"í":8,"l":[{"i":51},50],"ó":[{"g":8,"r":15}],"r":[{"i":48},26],"ú":26}],"l":39,"m":52,"n":39,"ó":39,"r":[{"a":[{"f":20,"s":0},39],"é":35,"ó":42}],"u":[{"a":2}],"ú":2}],"d":[{"a":[{"g":17,"l":39,"m":[{"h":53},39],"n":[{"ó":10}],"r":[{"a":35,"l":35,"t":2}]}],"á":[{"i":[{"l":2}],"s":2}],"c":53,"h":[{"b":54,"i":46,"r":[{"o":53}],"ú":42},26],"i":35,"l":55,"o":56,"ó":[{"d":57,"f":58,"i":[{"d":59,"g":57,"m":59,"n":[{"n":57}]}]},43],"r":[{"o":[{"g":35}]},39],"u":35,"ú":[{"r":40},39]}],"e":[{"a":35,"á":39,"i":[{"l":[{"g":36,"í":[{"t":[{"e":21}]}]},20]}]}],"f":[{"a":[{"d":[{"á":8}],"i":[{"r":2}],"r":[{"t":2}]}],"á":[{"i":[{"l":[{"t":34},16]}]}],"h":[{"o":[{"l":[{"t":25},12]}]}],"l":60,"o":46,"ó":[{"i":[{"b":46,"n":46}],"n":61}],"r":[{"á":1}],"ú":1},39],"g":[{"a":[{"d":[{"á":20}],"i":[{"r":[{"n":62}]}],"l":14}],"á":[{"i":[{"s":2}]}],"e":35,"é":35,"h":[{"a":[{"i":[{"d":4}],"n":15}],"i":42},26],"i":35,"l":39,"o":46,"r":[{"a":[{"i":[{"m":46}],"m":46}],"e":63,"i":35,"u":[{"i":2}],"ú":35}],"u":[{"a":35}],"ú":35}],"h":[{"a":1},43],"i":[{"c":[{"h":[{"t":17}],"i":[{"ú":2}],"r":15}],"d":[{"e":[{"a":[{"r":48}]}],"h":[{"l":53}],"i":26,"í":[{"t":21}]}],"f":[{"i":[{"l":35}]}],"g":[{"i":[{"n":35,"s":48}]}],"l":[{"b":[{"h":[{"í":15}]}],"c":[{"e":[{"a":20}]}],"p":[{"i":20,"í":[{"n":20}]}],"t":64}],"m":[{"h":51,"i":[{"a":55,"s":[{"e":8}]}]}],"n":[{"í":15,"s":[{"e":[{"o":19}]}],"t":[{"e":[{"a":[{"n":3}]}],"é":15}]}],"r":[{"b":[{"h":[{"r":65}],"í":9,"r":66}],"d":[{"é":4}],"f":[{"e":[{"a":[{"n":19}]}],"i":[{"n":[{".":7}]}],"í":[{"n":4},20]}],"i":[{"s":[{"c":53,"t":12}]}],"n":[{"í":[{"n":15,"o":15}]}],"t":[{"é":[{"i":[{"s":66}]}]}]}],"s":[{"e":[{"i":48}],"i":[{"n":[{"é":67}]}],"í":[{"l":11}],"p":53,"t":[{"e":[{"o":[{"g":15}]}],"i":[{"s":68}],"í":[{"n":[{".":10}]}]}]}],"t":[{"e":[{"i":53}],"i":[{"l":11}],"s":[{"e":20}]}],"v":[{"i":53}]}],"í":[{"c":14,"n":[{"í":53}],"o":[{"d":[{"ó":69}],"l":[{"a":[{"n":10}]}],"n":[{"n":[{"a":35}]}]}],"ó":[{"i":2}]}],"l":[{"a":[{"b":[{"h":36},8],"i":[{"n":[{"n":[{"e":0}]}],"t":36}],"í":35,"n":[{"a":9,"d":19,"n":14}],"s":[{"c":12},20],"t":[{"h":70}]},39],"á":[{"i":[{"b":46}],"m":48,"r":46},39],"c":[{"ó":39}],"e":71,"f":[{"a":[{"i":[{"r":72}]}]}],"g":[{"ó":35}],"i":35,"í":46,"l":51,"o":2,"ó":39,"r":73,"t":[{"e":8,"ó":[{"d":5,"f":0,"i":[{"d":5,"m":5,"n":5}]}],"ú":1},51],"u":[{"i":35}],"ú":[{"c":[{"h":74}]},35]}],"m":[{"a":[{"b":8,"d":[{"ú":6}],"l":[{"l":2},39],"n":39,"r":[{"a":[{"í":8},35]}],"s":[{"ó":15},51]}],"á":[{"l":53,"n":[{"a":0}]}],"b":53,"h":[{"a":[{"d":15,"i":[{"s":[{"t":34}]}],"s":46}]},26],"o":43,"ó":[{"n":[{"a":2}]}],"p":[{"a":26,"á":26,"r":0},48],"t":53,"u":[{"t":2}],"ú":[{"i":35,"r":2}]}],"n":[{"a":[{"c":[{"a":8},9],"g":1,"i":[{"g":[{"e":48}],"s":[{"t":75}],"t":35}],"í":2,"l":[{"ó":10}],"m":[{"ó":10}],"r":[{"a":10}],"t":17}],"á":[{"i":[{"s":[{"e":76},2]}],"r":2},39],"b":48,"c":[{"a":[{"i":[{"r":[{"e":4}]}]},26],"é":77}],"d":[{"á":78,"í":[{"b":21},17],"o":8,"r":35,"u":48}],"e":[{"a":1},35],"é":35,"g":[{"a":[{"r":[{"ú":20}]},8],"á":8,"ó":[{".":2}]},26],"i":[{"n":19}],"m":[{"a":0}],"n":[{"á":48},15],"o":[{"i":35,"í":2}],"ó":[{"d":[{"ó":8},9]},39],"s":[{"a":[{"n":0}],"i":[{"n":1}]}],"t":[{"u":1}],"u":[{"a":[{"s":12}]},35],"ú":39}],"o":[{"c":[{"h":[{"t":12},20]}],"d":[{"a":[{"r":2}]},48],"i":[{"d":[{"í":[{"s":2}]}],"m":[{".":2,"i":35}],"n":[{"s":17,"t":79}]}],"l":80,"m":[{"a":[{"r":2}]}],"n":[{"u":8}],"r":[{"g":9,"t":9},81],"s":[{"t":8}]}],"p":[{"a":[{"d":[{"á":15}],"i":[{"t":40}]}],"l":[{"a":[{"i":[{"s":34}]}]}]},39],"r":[{"a":[{"b":[{"ú":8}],"c":[{".":1,"á":33,"h":[{"t":37}],"ó":15}],"g":[{"a":6}],"i":[{"c":[{"í":12}]}],"l":[{"á":82}],"p":6,"s":[{".":2,"ó":15}],"t":[{"ó":8}]},39],"á":39,"b":[{"h":[{"a":20,"e":35}]}],"c":[{"h":17,"ó":26,"r":39}],"e":39,"f":[{"ó":83}],"i":35,"m":[{"ó":4}],"o":42,"ó":[{"c":[{"a":[{"r":17}]}],"n":2,"p":2},39],"p":[{"ó":72},39],"s":[{"á":[{"l":72}],"t":[{"a":1}]}],"u":35,"ú":[{"i":[{"l":35}],"l":2,"p":35,"s":84,"t":42}]}],"s":[{"a":[{"c":[{"a":10}],"e":40,"i":[{"n":36}],"í":2,"l":[{"a":[{"i":[{"t":1}]}],"t":64}],"m":[{"a":[{"i":[{"t":15}]}]}],"r":[{"b":1}]}],"c":[{"a":[{"r":[{"a":2,"t":34},21]}],"o":35,"r":53},26],"e":55,"é":35,"i":35,"í":35,"l":73,"o":39,"ó":[{"i":[{"l":1}],"l":40},39],"t":[{"a":[{"i":[{"s":5}],"í":[{".":4}],"l":8,"r":[{"ó":30}],"s":1},39],"á":[{"n":[{".":35}]}],"é":2,"i":35,"o":2,"ó":[{"r":2},47],"u":[{"a":2}],"ú":35}],"u":39,"ú":[{"d":17,"i":[{"t":8}],"m":15},39]}],"t":[{"a":[{"c":[{"á":15},17],"d":[{"á":[{"n":19}]}],"g":[{"r":0}],"i":[{"n":[{"t":76}]}],"l":85,"m":[{"á":9},8],"n":[{"t":40}],"p":6,"r":[{"n":2}],"s":35},39],"á":[{"i":3,"r":42,"t":[{"h":12},15]}],"é":[{"a":[{"d":12}]},8],"h":[{"r":[{"í":[{"d":21,"g":[{"í":21}],"m":21,"o":21}]}],"u":[{"s":3}]},26],"ó":[{"d":2,"g":51,"i":[{"d":35,"g":35,"m":35}]}],"r":[{"a":[{"p":2}],"á":39,"o":51}],"s":[{"a":[{"r":1},15]}],"u":[{"i":0},39],"ú":39}],"v":[{"ó":42}]}],"á":[{"b":[{"a":[{"l":0},35],"á":39,"h":[{"t":17},26],"l":39,"o":42,"ó":35,"ú":35}],"c":[{"a":[{"r":[{"n":12},19]},39],"h":[{"á":15,"e":15,"i":15,"l":8,"r":15,"t":28}],"l":35,"r":35,"ú":35}],"d":[{"a":[{"r":40}],"h":[{"a":8,"ú":15}]},39],"f":[{"a":[{".":47,"c":86,"i":[{"r":2}],"r":[{"a":2}]},43],"á":46,"l":35,"r":39}],"g":[{"a":[{"d":[{"á":15}]}],"ó":46,"r":35,"u":2}],"h":[{"á":42}],"i":[{"b":[{"é":15}],"d":[{"í":[{"s":46}]},26],"g":[{"í":46}],"l":[{"b":15,"c":33,"t":[{"e":[{"á":17}],"i":20}]}],"m":[{".":46,"é":15,"h":51,"i":[{"s":[{"e":87}]},43]},1],"n":[{"i":[{"a":48}],"s":9,"t":[{"e":[{"o":4},8]}]}],"p":48,"r":[{"g":88,"t":20}],"s":[{"c":54,"t":[{"e":20,"i":20,"í":[{"n":[{"í":10}]}]}]}],"t":[{"e":[{"a":[{"r":46}]}],"é":8,"s":8}]}],"í":[{"r":[{"e":42}]}],"l":[{"c":3,"s":72},39],"m":[{"a":[{"n":35,"r":46,"t":35}],"h":26}],"n":[{"g":[{"a":1}],"n":[{"a":46}],"t":4},39],"p":39,"r":[{"a":[{"c":[{"h":16}],"i":[{"m":2}],"m":2}],"c":[{"a":1}],"é":76,"n":89,"o":[{"l":46}],"t":[{"a":[{"i":3,"n":3},0],"r":3}]},39],"s":[{"a":35,"c":[{"á":11},8],"e":2,"í":35,"ó":39,"t":[{"a":90,"ú":35}],"u":35,"ú":35}],"t":[{"a":35,"á":39,"h":[{"e":91},26],"ó":39,"r":35}],"ú":[{"l":42}]}],"b":[{"a":[{"c":[{"a":[{"s":2}],"á":53,"s":7}],"d":[{"a":[{"r":42}],"á":[{"i":35}]}],"i":[{"d":[{"í":46}],"g":46,"m":46,"n":[{"t":92}],"s":[{"c":[{"e":21}],"t":16}],"t":[{"é":20,"í":51}]}],"í":43,"l":[{"b":[{"h":[{"á":21}]}]}],"m":[{"b":17}],"n":[{"a":[{"i":[{"s":93}]}],"d":6}],"r":[{"b":8,"n":94,"r":47,"ú":8}],"s":[{"á":[{"i":[{"r":11}],"r":11}],"c":[{"a":[{"r":[{"n":23},95]}]}]}],"t":[{"a":15}]}],"á":[{"i":[{"n":[{"n":2}],"t":[{"e":[{".":2,"á":2}],"í":2}]}],"í":11,"l":[{"t":47},43],"r":[{"t":[{"h":21}]},4]}],"c":[{"á":0},43],"d":[{"a":42,"é":42,"h":46}],"e":[{"a":[{"b":[{"h":96},52],"c":3,"l":[{"t":30}],"r":[{"b":[{"ó":20}]}]}],"á":[{"r":51},43],"i":[{"f":17,"l":[{"t":17}],"r":[{"f":19,"t":[{"í":19}]}]},97],"o":[{"c":[{"h":36},8],"i":[{"t":[{"e":[{"a":15}]}]}],"m":15}]}],"é":[{"i":[{"t":52}]}],"f":43,"g":[{"h":46}],"h":[{".":48,"a":[{"d":[{"á":98}],"g":[{"á":6}],"i":[{"g":35,"n":[{"t":99}],"s":[{"t":93}]}],"l":[{"b":[{"h":25},17]}],"r":[{"b":20,"t":67}],"t":[{"a":19}]},47],"á":[{"i":[{"n":[{"n":15}],"t":[{"e":[{"á":15}]}]}],"r":[{"t":[{"h":25}]},17]}],"c":[{"á":3}],"e":[{".":53,"a":[{"m":2,"r":100}],"á":101,"i":[{"f":12,"l":[{"t":12}],"r":[{"f":21,"t":[{"í":21}]}]}],"o":[{"c":[{"h":75},20],"g":19}]},47],"é":[{"a":[{"l":[{"t":34},21],"n":[{"n":15}]}]}],"i":[{"a":[{"t":[{"a":[{".":19,"c":19}]}]}],"d":100,"m":35,"n":[{"s":[{"e":102,"í":17}],"t":[{"e":22}]}],"o":[{"n":[{"g":[{"ó":21}]}],"s":21}],"r":[{"t":100}],"ú":103}],"í":[{"g":53,"m":55,"n":35,"o":[{"t":15},53],"t":[{"h":3},53]}],"l":[{"a":[{"s":100}],"á":[{"f":21},17],"e":[{"a":[{"d":25}]}]}],"o":[{"l":[{"t":[{"a":[{".":17,"í":22}],"á":17}]}]},104],"ó":[{"i":[{"s":30}],"l":[{"a":[{"c":10}]}]},39],"r":[{"a":[{"n":[{"d":37}]}],"e":[{".":48}],"é":[{"a":1}],"i":[{"c":1}],"í":[{"o":[{"c":20,"m":[{"h":105}]}]}]}],"s":53,"t":[{"í":2}],"u":[{"a":[{"d":[{"a":19}],"i":[{"m":19,"t":[{"e":[{".":19}]}]}],"l":21},0],"i":[{"t":[{"h":35},53]}],"r":[{"d":[{"á":21}],"l":106}],"s":[{"t":21}]},104],"ú":[{"i":[{"r":21,"s":21}],"m":19}]}],"i":[{"a":[{"l":8,"t":[{"a":[{".":15,"c":10,"i":[{"g":10}],"í":10}]}]}],"d":[{"i":15},43],"n":[{"é":35,"i":15,"s":20,"t":20},4],"o":[{"n":[{"g":[{"ó":19}]}],"s":[{"c":12},19]}],"r":107,"s":[{"t":9},108],"t":[{"s":15}]}],"í":[{"c":35,"n":43,"t":[{"e":[{"a":[{"c":15}]}],"h":109,"i":[{"g":1}]},43]}],"l":[{"a":[{"d":[{"a":19}],"g":[{"r":8}],"s":20}],"á":[{"f":20},4],"e":[{"a":[{"d":21}]}],"i":[{"m":17},1],"í":43,"ó":43}],"n":[{"i":1,"í":46}],"o":[{"d":[{"ó":8}],"l":[{"s":4,"t":[{"a":[{".":3,"í":7}],"á":4}]}],"r":[{"d":20}],"s":[{"t":10}]}],"ó":[{"g":43,"i":[{"d":46}],"l":[{"a":[{"c":11}]}],"s":5,"t":[{"h":19}]}],"p":[{"á":1,"i":[{"s":[{"t":12}]},1],"o":42}],"r":[{"a":[{"d":[{"á":19}],"n":[{"d":22,"g":67}],"t":[{"ó":19}]}],"é":3,"í":[{"o":[{"m":[{"h":110}]}]},43]}],"s":61,"t":[{"h":3},43],"u":[{"a":[{"d":[{"a":15}],"i":[{"m":8,"r":16,"t":[{"e":[{".":15,"a":[{"r":15}]}]}]}]}],"i":[{"n":[{"t":17}]}],"n":26,"r":[{"d":20,"l":54},31],"s":[{"t":19}]}],"ú":[{"i":[{"d":52,"r":19,"s":19}],"m":8}]}],"c":[{"a":[{"b":[{"a":[{"l":15}]}],"c":43,"d":[{"á":35},43],"e":[{"d":28}],"i":[{"b":[{"é":19}],"d":[{"h":[{"n":[{"e":21}]}]}],"m":[{"é":82}],"n":[{"d":17,"t":106}],"r":[{"b":[{"h":25},17],"d":[{"í":22}],"t":[{"e":22}]}],"s":[{"n":58,"t":111}],"t":[{"é":20}]}],"í":43,"l":[{"a":[{"n":15}],"b":[{"h":[{"a":16}]}],"m":4}],"m":[{"á":[{"n":35}]}],"n":[{"c":10,"s":10,"t":112}],"o":[{"d":113}],"r":[{"a":51,"b":[{"h":36},114],"d":20,"l":47,"n":[{"á":19}],"s":47,"t":[{"a":[{"c":17},51]}],"ú":8}],"s":[{"t":[{"ó":15},17]},26],"t":[{"a":15,"ó":8}]}],"á":[{"c":115,"f":72,"i":[{"d":58,"n":[{"t":[{"e":[{"a":[{"c":22}]}],"i":17}]}]},1],"n":[{"n":51}],"r":[{"t":[{"a":[{".":15}]}]}],"t":58},43],"b":[{"h":41}],"d":[{"h":46}],"e":[{"a":[{"b":[{"a":116},3],"d":[{"a":[{"s":19}],"á":46},48],"i":115,"n":[{"a":52,"ó":113,"t":[{"á":9}]}],"r":[{"b":[{"h":75},20]}],"s":[{"m":52,"t":[{"a":21,"á":8,"ó":21},17],"ú":8}]}],"á":[{".":113,"f":7,"n":[{"a":117},6]},43],"i":[{"l":[{"t":9}],"r":[{"m":92}],"t":[{"s":17}]},47],"o":[{"m":8}],"r":38},73],"é":[{"a":[{"l":[{"t":12},19],"s":113,"t":[{"á":8}]}],"i":[{"t":51},3]}],"f":118,"g":[{"h":46}],"h":[{".":53,"a":[{"c":[{"h":[{"a":71,"t":34}]}],"d":39,"i":[{"n":[{"t":93}],"r":[{"d":37}],"s":[{"t":62}],"t":[{"e":119}]}],"l":[{".":2,"m":9}],"m":[{"p":113}],"n":[{"c":30,"t":[{"ó":0}]}],"r":[{"b":[{"h":34},20],"f":35,"n":21}],"s":[{"t":36},120],"t":[{"a":19,"ó":19}]}],"á":[{"i":[{"r":35}],"l":39,"n":39,"r":113},3],"e":[{".":73,"a":[{"r":[{"b":[{"h":121},16]}],"s":[{"t":37}]}],"á":[{"f":21},17],"i":[{"r":[{"m":62}]}]}],"é":52,"f":39,"i":[{"a":17,"l":17,"n":[{"t":19}]}],"í":[{"l":19}],"l":[{"a":[{"s":[{"a":0,"p":37}]}],"á":[{"r":0}],"é":[{"i":17}],"o":[{"c":[{"h":[{"t":121},25]}]},100],"ó":[{"d":12}]}],"m":122,"n":[{"ú":35}],"o":[{"b":[{"a":2}],"i":[{"r":[{"n":34}]}],"m":[{"h":16},4],"n":[{"a":[{"m":21}],"c":20,"g":19}],"r":[{"b":21,"n":21,"p":102,"t":30}]},117],"ó":[{".":113,"c":113,"d":[{"a":113,"h":35}],"g":[{".":35}],"i":[{"g":35,"p":52}],"m":26,"r":[{"a":[{"i":113,"s":113}]}],"t":52}],"r":[{"a":[{"i":[{"c":119}],"o":123,"p":52}],"á":[{"i":[{"n":[{"n":19}],"t":[{"í":19}]}]}],"e":[{"a":[{"c":[{"h":[{"t":24},23]}]}]},100],"i":[{"o":52,"t":1},17],"í":[{"o":[{"c":[{"h":23}]}]},124],"o":[{"s":[{"t":34},16]},104],"u":[{"a":[{"i":[{"m":21}]}]}]}],"t":53,"u":[{"a":[{"c":[{"h":[{"t":121}]}]},17],"i":[{"l":[{"c":21,"t":12}]}],"l":[{"c":12},19],"r":[{"l":22}],"s":20},104],"ú":[{"i":3,"l":19,"s":35},51]},58],"i":[{"a":[{"f":7,"m":[{".":46}]}],"d":[{"i":15,"í":43}],"g":[{"h":46,"í":43}],"l":[{"l":[{"i":47}]}],"m":[{"é":35,"p":[{"í":[{"n":[{"í":7}]}]}]}],"n":[{"d":4,"e":[{"a":[{"c":[{"h":[{"t":24},23]}]}]}],"t":52}],"o":[{"n":52}],"p":[{"é":5,"l":38},52],"r":[{"t":52}],"s":[{"t":[{"e":[{"a":[{"r":15}],"á":15}],"i":[{"n":33}]}]}],"ú":[{".":46,"l":46}],"v":2}],"í":[{".":73,"l":15,"m":43,"n":118,"r":52,"t":[{".":117,"e":[{".":117}],"h":1},3]}],"l":[{"a":[{"d":[{"á":19,"ó":20}],"s":[{"p":22}]},4],"e":[{"a":[{"c":[{"h":[{"t":125}]}],"t":[{"a":21}]}]}],"é":[{"i":3}],"i":[{"m":19}],"o":[{"c":[{"h":[{"t":34},21]}]},73],"ó":[{"d":[{"ó":8},9],"i":[{"m":[{".":15}],"t":[{"í":15}]}]}],"u":53}],"m":61,"n":[{"a":[{"g":19},3],"e":[{"á":[{"c":19}]}]},126],"o":[{"d":8,"f":15,"i":[{"l":[{"t":32}],"r":[{"n":36}]}],"m":[{"h":20},0],"n":[{"a":[{"c":17,"m":20}],"c":8,"g":15}],"r":[{"a":[{"n":[{"t":93},36]}],"b":20,"n":20,"p":127,"t":6}],"s":[{"c":20},113]},58],"ó":[{"c":51,"f":128,"i":[{"p":47,"s":[{"t":36},20]}],"m":[{"a":0},129],"n":52,"p":48,"r":15,"t":130}],"p":43,"r":[{"a":[{".":46,"g":19,"i":[{"l":67,"s":[{"t":25},36]}],"t":47}],"á":[{"i":[{"n":[{"n":15}],"t":[{"í":15}]}]}],"e":[{"a":[{"b":[{"a":21},17],"c":[{"h":[{"t":121},25]}],"s":[{"c":19}]}],"á":42},58],"é":[{"a":[{"l":[{"t":75},16]}]}],"i":[{"b":15,"l":42,"t":[{"é":19},3],"ú":[{"i":19}]}],"í":[{"o":[{"c":[{"h":25}]}]},3],"o":[{"c":[{"h":[{"t":75},16]}],"s":[{"t":36},20]}],"u":[{"a":[{"c":[{"h":[{"t":121}]}],"i":[{"m":19,"t":[{"e":[{"a":19}]}]}]}]}],"ú":[{"i":[{"t":[{"í":15}]}]}]}],"s":[{"e":[{".":51,"a":[{"g":30,"l":63}]}],"i":[{"c":47,"d":15,"g":47,"l":63,"m":0,"s":2}],"í":[{"t":57}],"m":40,"ó":35,"t":[{"a":[{"r":63}]},91],"ú":35}],"t":[{"e":[{".":51,"a":[{"c":57,"n":63}],"á":[{"i":51,"r":63}],"o":0}],"h":4,"i":[{"ú":1}],"í":[{"o":0}]},118],"u":[{"a":[{"c":[{"h":[{"t":[{"a":[{"í":21}]},34]}]}],"m":3}],"i":[{"l":[{"c":12,"t":17},20]}],"l":[{"c":9,"t":[{"a":[{"i":7}]}]},8],"r":[{"l":7}],"s":8}],"ú":[{"i":1,"l":[{"a":[{".":46}]},15],"n":47,"r":52}]}],"d":[{"a":[{"b":[{"a":15},1],"c":[{"a":[{"c":11,"í":11}],"s":117},43],"d":43,"e":15,"g":[{"a":[{"s":[{"c":62}]}]},131],"i":[{"g":[{"h":[{"n":8}]}],"n":[{"e":115,"g":117}],"p":15,"r":[{"b":[{"h":25},132],"i":117,"n":9}]},43],"í":43,"l":[{"b":[{"h":21}],"ú":133}],"n":[{"n":53},43],"r":[{"a":[{"o":38}],"á":47,"d":3,"g":9,"n":9,"s":46,"t":82},26],"s":[{"t":35}],"t":117}],"á":[{"d":51,"i":[{"d":52,"s":42,"t":47}],"l":43,"r":[{"a":[{"s":19}],"t":17},15],"t":[{"h":35}]}],"b":[{"h":[{"i":[{"n":36}]}]},43],"c":43,"e":[{"a":[{"d":134,"g":[{"ó":42},135],"l":[{"a":19}],"m":48,"n":[{"d":51,"n":[{"a":[{"i":115,"s":115}]},53]}],"r":[{"b":[{"a":19,"h":25},136],"t":30}],"t":20}],"á":[{"t":[{"h":16}]},4],"i":[{"l":[{"b":[{"h":25}],"t":[{"e":[{".":17}]}]}],"r":117}],"m":51,"o":[{"i":[{"r":53}],"r":53},43]}],"é":[{"a":[{"m":19}],"i":[{"d":[{"l":[{"i":[{"a":23}]}]}],"m":47}]}],"f":118,"g":43,"h":[{".":48,"a":[{"o":0,"r":[{"t":67}],"s":[{"c":12},19]}],"á":104,"b":14,"c":[{"a":5,"á":0,"i":0}],"e":[{"a":[{"r":[{"b":[{"a":21,"h":23},34],"t":62}]}],"á":17,"i":[{"l":[{"b":[{"h":23}],"t":[{"e":[{".":12}]}]}]}]}],"é":137,"f":2,"i":[{"a":[{"f":19}],"n":[{"t":21}],"p":19}],"í":[{"o":4,"r":[{"é":8}]}],"l":[{"e":[{"a":[{"n":5}]}],"í":[{"o":[{"d":[{"ó":21}]}]}]}],"n":[{"e":72,"u":2,"ú":2}],"o":[{"b":9,"c":[{"h":[{"a":[{"i":[{"d":15}]}],"e":15}]}],"d":[{"h":15}],"g":[{"h":[{"l":15}]}],"i":[{"r":[{"n":138}]}],"r":[{"é":15,"n":21},64],"s":[{"c":[{"a":[{"í":19},12]}],"m":10}],"t":[{"h":[{"r":15,"u":15}]}]},52],"ó":[{"f":8,"i":[{"d":[{"í":15}],"m":8,"n":15}]}],"r":[{"o":100,"ó":[{"l":30}]}],"s":[{"á":78}],"t":[{"e":1}],"u":[{"a":[{"l":21,"m":[{"h":34},19]}],"r":[{"d":36},54]},52],"ú":[{"l":[{"é":15}],"r":[{"ú":15}],"s":8}]},58],"i":[{"a":[{"f":10,"m":[{".":139,"h":8}]}],"b":53,"c":[{"e":15,"t":52},4],"d":[{"h":42,"í":46}],"g":43,"l":[{"é":2}],"m":43,"n":[{"é":[{"i":38},46],"t":7},53],"p":113,"s":[{"t":19}],"t":43}],"í":[{"g":[{"h":39}],"l":[{"e":[{"a":0},35]}],"m":43,"o":14,"r":[{"é":35}],"s":58,"t":[{"h":[{"e":1}],"i":3},43],"v":8}],"l":[{"a":[{"d":57,"m":[{"p":[{"a":[{".":19}]}]}],"n":46},43],"á":115,"é":43,"í":[{"b":8,"o":[{"d":[{"ó":20}]}]}],"ó":46,"ú":117}],"m":[{"a":[{"n":9}],"h":31,"i":1},43],"n":[{"i":0},43],"o":[{"b":[{"r":35},4],"c":[{"h":[{"a":[{"i":[{"d":2}]}],"e":2,"t":[{"a":22,"á":17}]}]}],"d":[{"h":35}],"g":[{"h":[{"l":35}]}],"i":[{"f":46,"l":[{"b":[{"h":93}]}],"r":[{"n":32},113]}],"l":[{"a":[{"g":2}],"e":2}],"m":[{"h":[{"i":35,"o":2,"ú":2}]}],"r":[{"c":[{"h":16},31],"d":20,"é":11,"i":2,"n":98},52],"s":[{"c":[{"a":[{"í":8},9]}],"m":11}],"t":[{"h":[{"a":109},9]},35]}],"ó":[{".":52,"c":117,"f":43,"g":118,"i":[{"c":115,"g":[{"h":115}],"m":[{".":2}],"r":[{"s":140}],"v":113}],"m":11,"n":[{"n":52}],"s":139,"t":[{"h":20}]}],"r":[{"a":[{"i":[{"m":48}],"n":[{"ó":10}]}],"á":43,"e":[{"á":46,"o":[{"i":[{"t":19}],"r":117}]}],"í":43,"o":[{"g":53},141],"ó":[{"c":52,"l":6,"m":52}],"u":117,"ú":0}],"s":[{"a":0,"r":1},43],"t":[{"a":[{"c":[{"h":[{"t":37}]}],"i":[{"s":[{"t":25}]}],"n":[{"g":19}],"p":19},3],"é":[{"i":[{"t":[{"e":[{"a":21}]}]}]}],"i":142,"r":[{"á":[{"i":[{"t":[{"í":19}]}]}],"ó":[{"f":21}]}],"u":[{"a":[{"i":[{"m":19}]}]}]},61],"u":[{"a":[{"l":19,"m":[{"h":36},8],"r":[{"t":19}]}],"c":[{"h":[{"t":21},17]},117],"i":[{"t":43}],"l":117,"n":[{"s":7}],"r":[{"d":64},26]}],"ú":[{"b":[{"h":35}],"l":[{"é":38}],"r":[{"ú":2}],"s":[{"c":35}]}],"v":[{"e":46}]}],"e":[{"a":[{"b":[{"h":[{"t":30}]}],"c":[{"a":[{"r":2}],"h":[{"ó":20}],"l":[{"ó":11}],"o":2,"ó":[{".":2}]}],"d":[{"á":26,"h":1,"ó":[{"i":[{"n":72}]}]}],"f":[{"t":19}],"g":[{"a":72,"á":[{"l":38}],"h":[{"d":106}],"m":48,"ó":8}],"i":[{"n":19,"s":[{"t":102}]}],"l":[{"b":[{"h":[{"a":[{"c":21}]}]}],"p":7,"t":[{"a":[{"c":28,"i":[{"g":7}]}],"á":[{"i":3,"n":3},20]}]}],"m":[{"a":[{"i":[{"t":15}],"r":[{"a":20},36],"t":35}],"á":48,"p":[{"l":[{"ó":28}]}]}],"n":[{"d":6,"t":[{"á":[{"i":[{"l":3}]}]}],"ú":48}],"r":[{"a":[{"i":[{"c":21}]}],"b":[{"á":20}],"f":6,"m":94,"n":20,"t":[{"a":[{".":48}]}],"ú":[{"i":35}]}],"s":[{"a":8,"á":[{"i":[{"r":38}]}],"h":48,"m":53,"t":[{"r":143}],"ú":53}],"t":[{"á":[{".":0,"i":[{"r":2}]}]}]}],"á":[{".":73,"g":2,"i":[{"b":53,"d":35,"m":39,"n":[{"n":35}],"s":113,"t":[{"e":9,"i":17},35]}],"m":53,"t":[{"h":64},39]}],"b":[{"h":46}],"c":43,"d":43,"f":43,"g":[{"í":1},43],"i":[{"b":[{"é":8,"h":109}],"c":[{"s":[{"i":4,"í":7}]},0],"d":[{"h":[{"n":30,"t":30}],"i":26},53],"g":[{"e":[{"a":[{"c":4}]}]}],"l":[{"í":[{"t":12}],"p":19,"t":[{"e":[{"a":[{"c":7,"n":7,"r":15}],"á":15}],"i":28}]},53],"m":[{"h":48,"i":[{"n":16}]}],"n":[{"i":[{"c":20}],"t":[{"e":[{"á":6},144]}]}],"p":[{"s":17,"t":9},53],"r":[{"b":[{"h":[{"i":12}],"í":4}],"f":[{"i":[{"g":3}]}],"g":20,"m":[{"é":19,"i":[{"s":19}],"í":[{"t":10}]},31],"p":7,"s":[{"t":3}]}],"s":[{"c":[{"e":[{"a":[{"c":19}]}],"i":[{"r":15}]}],"e":[{"a":[{"n":[{".":3}]}]}],"i":[{"l":[{"i":[{"d":3}]}],"n":145}],"t":20},0],"t":[{"é":8,"h":[{"i":[{"n":34}]}],"i":[{"m":[{"í":19},12]}],"s":20}]}],"l":[{"a":39,"á":46,"ó":35,"u":46}],"m":[{"a":[{"c":40,"í":76}],"h":[{"á":17},46]}],"n":[{"i":76},39],"o":[{"d":[{"a":[{"r":35}],"ó":[{"r":15}]}],"f":[{"a":[{"d":35,"i":35}]}],"g":[{"a":[{"c":[{"h":[{"t":4}]}]}],"h":39}],"i":[{"f":8,"m":[{".":35}],"t":[{"e":[{"a":[{"r":2}],"á":35}],"í":35}]}],"l":[{"c":6,"g":10,"u":35}],"m":[{"a":[{"r":2}],"h":[{"a":64}]}],"n":[{"n":[{"a":35}]}],"r":[{"n":9},26],"s":[{"t":35}]}],"ó":[{"d":2,"l":[{"a":[{"c":42,"í":42}]}]}],"r":[{"a":[{"d":10,"s":6}],"ó":[{"b":8}]},39],"s":[{"a":40,"e":42,"p":40}],"t":[{"h":[{"a":[{"n":21}]}]},43]}],"é":[{"a":[{"b":[{"r":[{"ó":15}]}],"d":83,"g":[{"ó":[{"i":8}],"r":39,"u":39}],"l":[{"b":[{"h":12}],"t":[{"a":[{"r":15}]},20]},26],"m":[{"a":[{"t":8}],"h":51}],"n":[{"n":53}],"p":146,"r":[{"g":10,"s":[{"a":19}]}],"s":[{"t":9}],"t":[{"a":8}]}],"b":[{"h":[{"r":[{"í":16}]}]},43],"c":[{"h":4},43],"d":[{"h":46}],"f":43,"g":[{"o":51},43],"h":[{"é":46}],"i":[{"c":[{"s":28}],"d":[{"e":[{"i":2}],"r":[{"e":[{"o":11}]}]},26],"f":[{"e":[{"a":[{"r":4}]}],"i":147,"í":42}],"g":[{"e":[{"a":[{"l":38}]}],"é":11,"h":[{"n":35}],"i":[{"a":11,"l":38,"n":[{".":8}]}],"r":[{"í":38}]}],"l":[{"g":15,"i":[{"p":[{"s":93}]}],"t":28}],"m":[{".":51,"i":[{"r":15}]}],"n":[{"t":[{"e":[{"a":3}],"é":4},20]},51],"p":[{"s":4}],"r":[{"g":[{"i":28}],"n":144,"s":[{"e":[{"á":7}]}]}],"s":[{"c":54,"e":1,"t":[{"e":20,"i":20}]}],"t":[{"e":[{".":51,"á":46}],"é":8,"i":[{"r":3}],"s":26}]}],"l":[{"á":46,"e":42,"í":46}],"m":[{"h":42}],"n":[{"á":76}],"r":[{"b":51},43],"s":43,"t":43,"ú":[{"l":42}]}],"f":[{"a":[{"b":[{"r":8},0],"c":[{"h":[{"t":[{"a":21},148]}]}],"i":[{"n":[{".":51}],"s":[{"t":[{"i":[{"c":149},93]},16]}]}],"l":[{"c":6}],"n":[{".":51}],"o":[{"i":[{"s":16}]}],"r":[{"a":[{"m":3,"t":3}],"n":6}],"s":[{"t":4}]}],"á":[{"i":[{"l":[{"t":106}],"r":19}],"s":53}],"c":[{"h":46}],"e":[{"a":[{"d":[{"a":19,"h":51}],"n":53,"r":[{"t":[{"a":30}]}]},3],"i":[{"l":[{"t":[{"e":[{".":17}]}]}],"s":[{"c":30}]}],"l":150,"o":[{"i":[{"t":[{"e":[{"a":15}]}]}],"l":48,"m":15}],"p":47}],"é":[{"a":[{"c":[{"h":[{"t":34},21]}],"l":[{"t":12}]}],"i":[{"t":51}]}],"g":[{"a":0,"h":46}],"h":[{"a":[{"c":[{"h":[{"t":75},16]}],"i":[{"r":[{"t":21}]}],"l":[{"c":30}],"s":[{"t":17}]},3],"á":[{"i":[{"l":[{"t":93},148],"r":21}]}],"e":[{"a":[{"d":[{"a":21}],"r":[{"t":[{"a":62}]}]}],"i":[{"l":[{"t":[{"e":[{".":12}]}]}],"s":[{"c":62}]}],"o":[{"f":19,"i":[{"d":[{"í":19}],"m":19,"n":19}]}]},47],"é":[{"a":[{"c":[{"h":[{"t":121},25]}]}]}],"i":[{"d":19,"o":[{"s":[{"c":34},21]}]}],"í":[{"d":[{"í":15}],"g":15,"m":15,"o":[{"d":[{"a":15,"h":15}],"m":15,"n":[{"n":15}]},4]}],"o":[{"b":15,"d":[{"h":8}],"i":[{"l":21,"n":12}],"l":[{"t":[{"a":[{".":17}]}]}],"r":[{"b":30,"n":30}]}],"ó":[{"m":[{"h":16}]}],"r":[{"a":[{"i":[{"m":25}]}],"i":[{"o":[{"c":[{"h":[{"t":24}]}]}]}]}],"u":[{"a":[{"i":[{"t":[{"e":[{"a":19}]}]}]}],"i":[{"r":[{"s":152}]}]},51]},151],"i":[{"a":[{"c":[{"h":[{"t":34},21]}]}],"d":[{"i":15}],"l":[{"l":47}],"o":[{"s":[{"c":36},20]}],"r":[{"m":3}],"s":[{"c":20}],"t":[{"é":35}]}],"í":[{"o":[{"d":[{"ó":20}]},0],"s":58}],"l":[{"i":1,"í":[{"t":19}],"u":47}],"n":[{"i":0},43],"o":[{"b":35,"d":[{"a":5},39],"i":[{"l":19,"n":17,"r":[{"n":36}]},47],"l":[{"e":35,"t":[{"a":[{".":3}]}],"u":8}],"r":[{"b":33,"c":[{"h":36}],"n":33},47],"s":[{"c":[{"r":35}],"t":20}]}],"ó":[{"b":117,"i":[{"b":47,"n":[{"t":12},47]}],"m":[{"h":54}]}],"r":[{"a":[{"i":[{"d":20,"m":153}],"m":115}],"i":[{"d":8,"o":[{"c":[{"h":[{"t":149},93]}]}]},53]}],"t":[{"á":2,"é":42,"i":35},58],"u":[{"a":[{"d":20,"f":[{"a":[{"i":[{"r":3}],"r":[{"a":7}]}]}],"i":[{"m":[{".":15}],"t":[{"e":[{"a":15}]}]}]}],"i":[{"r":[{"s":106}]}]}],"ú":[{"i":[{"t":[{"h":12}]}],"l":51,"s":[{"t":20},4]}]}],"g":[{"a":[{"b":[{"a":11,"h":[{"t":12},19]},58],"d":[{"a":[{"o":35}]}],"e":58,"i":[{"g":48,"r":[{"n":[{"e":32}]}],"s":[{"p":8,"t":[{"e":[{"a":19,"á":19}]}]}],"t":[{"é":8}]}],"l":[{".":46,"m":154}],"m":[{"a":[{"r":155}]}],"n":[{"a":20,"d":51}],"o":[{"f":20},141],"p":156,"r":[{"b":[{"h":[{"á":21}]}],"d":20,"m":[{"a":[{".":15}]}],"n":94,"t":[{"ú":3}]}],"s":[{"c":[{"a":[{"r":10}],"r":6}],"t":[{"á":35}]}]},43],"á":[{"i":[{"r":19,"s":48}],"l":46,"n":[{"t":139}],"r":117},43],"b":[{"a":1},43],"c":[{"a":[{"c":[{"h":[{"t":34},21]}],"d":[{"á":19}],"í":[{"d":19,"g":[{"í":19}],"m":19,"o":19,"t":[{"e":[{"á":19}],"í":19}]}],"r":[{"t":[{"a":22,"á":17}]}]},4],"i":[{"l":17,"n":[{"t":19}]},142],"í":3,"l":[{"i":[{"p":21},17],"ó":[{"f":19,"i":[{"d":19,"m":19,"n":[{"n":19}]}]}]}],"n":[{"a":[{"í":16}],"ó":19}],"ú":1},61],"d":[{"a":1},43],"e":[{"a":[{"c":43,"d":[{"a":[{"r":139,"s":19}],"h":139,"ó":20},4],"f":51,"l":[{"a":19,"b":19,"t":[{"a":[{".":17}]}]}],"n":[{"a":[{"m":8}]}],"r":[{".":48,"t":[{".":115}]}],"s":[{"t":8}],"t":[{"a":19}]}],"á":43,"c":47,"i":[{"t":19}],"o":43,"s":51},73],"é":[{"a":[{"b":10,"s":115}]}],"f":118,"h":[{".":53,"a":[{"b":[{"h":[{"t":75},16]}],"i":[{"r":[{"n":[{"e":138}]}],"s":[{"t":[{"e":[{"a":21,"á":21}]}]}]}],"m":[{".":1}],"r":[{"b":[{"h":[{"á":25}]}]}]}],"á":[{"i":[{"r":21}]}],"c":11,"d":[{"a":[{"c":8}],"á":8,"e":[{".":0}],"i":14},48],"e":[{"a":[{"l":[{"a":21}]}],"i":[{"t":21}]}],"f":39,"i":[{"n":[{"t":[{"i":12,"í":19}]}],"s":19}],"l":[{"u":14}],"o":[{"i":[{"n":21}]},52],"ó":[{"f":7}],"r":[{"á":[{"i":[{"n":[{"n":[{".":19}]}],"t":[{"í":19}]}],"m":[{"h":75},20]}],"ú":[{".":48},157]}],"s":[{"á":72}],"t":4,"u":[{"a":[{"l":21}]}]},58],"i":[{"d":[{".":117},43],"g":43,"l":[{"d":19,"i":47}],"m":43,"n":[{"e":52,"í":52,"n":[{".":46,"t":52}],"t":[{"í":10}]}],"o":[{"s":[{"t":36},20]},104],"p":[{"s":15,"t":19},4],"s":43,"t":43,"ú":[{"m":19,"s":20},43]}],"í":43,"l":[{"a":[{"e":54}],"á":[{"n":47}],"i":[{"c":115,"f":52,"s":51},158],"í":43,"o":51,"ú":1}],"m":[{"h":31},61],"n":[{"á":58,"ó":[{"l":6}]},159],"o":[{"i":[{"n":19}]}],"ó":[{"c":39,"d":46,"f":160,"g":43,"i":[{"d":46,"g":46,"m":43,"n":[{"n":46,"t":16},9]}],"l":47,"r":[{"a":[{".":46}]}]}],"r":[{"a":[{".":46,"c":43,"f":161,"i":[{"f":52,"g":46,"t":46}],"í":43,"m":[{"a":[{"d":62}]},3],"s":42}],"á":[{"d":52,"i":[{"n":[{"n":[{".":15}]}],"t":[{"í":15}]}],"m":[{"h":36},8],"n":4}],"i":53,"ó":43,"u":52,"ú":[{"i":3}]}],"s":61,"t":[{"h":4},118],"u":[{"a":[{"l":19}],"c":46,"i":[{"r":46}],"m":104,"s":[{"t":[{"a":19}]}]}],"ú":[{".":53}],"w":[{"a":42}]}],"h":[{"a":[{"b":[{"r":8}],"c":[{"h":[{"a":[{"r":17}],"ó":19}],"s":7},0],"d":[{"a":[{"i":[{"m":[{"h":3}]}],"m":[{"h":3}]}],"á":[{"i":35,"n":[{".":35}]}]}],"e":[{"n":[{"n":15}]}],"g":[{"á":[{"l":19}],"r":15,"ú":[{"i":[{"s":3}]}]}],"i":[{"c":[{"í":19},3],"d":[{"h":[{"n":[{"e":21}]}]}],"m":43,"n":[{"t":[{"í":[{"n":17},21]},64]}],"s":[{"t":[{"e":[{"o":[{"r":30}]}],"i":[{"c":19}]}]}],"t":[{"é":20}]}],"í":[{"t":[{"e":[{"a":[{"c":19}]}],"i":3}]},43],"l":[{"a":15,"b":[{"h":[{"a":16}]}],"g":10,"l":[{"a":[{"g":34}]}],"t":[{"a":[{"r":19}]}]}],"m":[{"a":[{"t":15}],"b":17,"ó":15,"s":51}],"n":[{"á":4,"d":6,"l":[{"a":[{"i":[{"n":3}],"n":3}]}],"r":[{"a":[{"i":3}]}],"s":[{"a":[{".":3,"c":3}]}],"t":[{"á":6}]}],"o":[{"f":20}],"r":[{"a":[{"b":30,"i":[{"s":[{"í":62}]}],"l":[{"t":93},36]}],"d":[{"á":20}],"g":47,"m":[{"a":[{".":15}]}],"n":[{"ó":6}],"r":51,"s":[{"a":[{"c":7,"i":[{"g":7}]}]}],"t":[{"a":[{"c":9}]}],"ú":8}],"s":[{"a":[{"m":[{"a":12}]}],"á":[{"i":[{"r":11}],"r":11}],"c":[{"a":[{"r":[{"n":162},17]}]}],"p":[{"a":[{".":3,"í":7}]}],"t":[{"a":[{"i":[{"t":19}]}],"ú":[{".":3}]}]}],"t":[{"a":[{"r":[{".":15}]}],"r":[{"a":15}],"ú":15}]}],"á":[{"c":[{"h":54}],"i":[{"n":[{"t":[{"e":[{"a":[{"c":21}]}]},9]}]}],"í":[{"o":2},3],"r":47}],"b":[{"a":58,"h":[{"a":[{"i":[{"n":34}]},42],"e":[{"o":[{"f":21,"i":[{"d":21,"m":21,"n":21}]}]},42],"u":[{"í":12}]}]},43],"c":[{"a":0,"á":[{"n":0}],"é":51,"h":147,"í":57},43],"d":[{"a":[{"i":[{"m":35}],"n":35},14],"e":[{"a":[{"m":2,"n":[{"n":35}]}],"á":[{"n":[{"n":19}]}],"o":[{"g":1,"i":[{"g":1}]}]}],"h":4,"i":[{"n":[{"e":42,"n":2}],"ú":35}],"ó":0,"t":47},43],"e":[{"a":[{"c":[{"n":46},3],"g":[{"r":19},3],"l":[{"t":[{"a":[{".":17}]}]}],"n":[{"a":[{"d":25},12],"g":47}],"r":[{"b":[{"ó":19}]},3],"t":[{"á":19,"ó":19},47]}],"á":[{"c":26,"n":[{"a":51}],"t":[{"h":21},3]}],"i":[{"f":[{"t":21}]}],"o":[{"d":[{"ó":19}],"i":[{"t":[{"e":[{"a":15}]}]}],"m":[{"h":8}]}],"s":51}],"é":[{"a":[{"d":[{"r":47}]}],"i":[{"d":[{"l":[{"i":[{"a":23}]}]}],"g":[{"e":[{"a":[{"r":15}]}]}],"m":[{"í":19}]}]}],"f":[{"a":[{"c":[{"h":16}],"i":[{"r":[{"t":21}]}]}],"e":[{"o":[{"f":19,"i":[{"d":[{"í":19}],"m":19,"n":19}]}]}],"h":[{"u":[{"a":[{"d":25,"f":34}]}]}],"í":[{"d":[{"í":15}],"g":15,"m":15,"o":[{"d":[{"a":15,"h":15}],"m":15,"n":[{"n":15}]}]}]}],"g":[{"h":[{"a":[{"i":[{"r":[{"t":25}]}]}],"i":[{"n":21}]},31],"í":47,"n":1},43],"i":[{"a":[{"c":[{"h":[{"t":62}]}],"t":[{"a":[{"c":17,"i":[{"g":10}],"í":[{".":10}]}]}]}],"b":[{"h":19},1],"d":[{"é":4},43],"g":43,"l":[{"b":8}],"m":[{"é":8},0],"n":[{"d":[{"i":[{"a":7}]}],"e":[{"a":[{"c":[{"h":[{"t":24},23]}]}]},47],"í":[{"n":3,"o":[{"n":4}],"r":3}],"s":[{"t":[{"e":[{".":3}]}]}],"t":[{"e":[{"á":15},9],"i":[{"ú":66}]}]}],"o":[{"s":[{"c":[{"á":12}],"t":67}]}],"p":[{"e":4,"i":[{"c":30,"d":3}]}],"r":[{"i":[{"m":[{".":3,"e":3},21]}],"n":3}],"s":[{"t":[{"e":[{"a":[{"r":15}],"á":15}],"i":[{"n":33}]}]}],"t":[{"e":[{"o":[{"r":3}]}],"s":15}],"ú":[{"m":19,"n":[{"t":[{"ó":16}]}],"r":19,"s":[{"t":19}]}]}],"í":[{"g":[{"h":39}],"l":[{"e":[{"á":35}]}],"o":[{"d":[{"ó":19}],"l":[{"l":12},19],"s":[{"t":19},47]}],"s":[{"t":[{"i":2}]}],"t":[{"h":[{"e":109}]}]}],"l":[{"a":[{"c":[{"á":19}],"d":[{"a":19,"á":20,"ó":19}],"í":43,"s":[{"t":19}]},3],"á":[{"i":[{"r":47}]}],"e":[{"a":[{"c":[{"h":[{"t":125}]}],"t":[{"a":21}]}],"á":[{"d":30}]}],"é":[{"a":[{"c":[{"h":[{"t":23},34]}],"m":15}],"i":[{"g":[{"í":15}],"m":[{"i":15}]}]}],"i":[{"m":[{"p":17}],"n":9,"p":19},142],"í":43,"ó":[{"i":[{"m":[{".":15}],"t":[{"í":15}]}]}],"ú":1}],"m":[{"a":[{"d":[{"ó":19},0],"i":[{"d":[{".":0}],"n":[{"n":2},0]}],"n":35},3],"h":43,"t":47}],"n":[{"a":[{"g":19},163],"e":[{"á":[{"n":1}]},43],"i":[{"ú":[{"c":[{"h":34},20]}]},43],"í":43,"ó":[{".":51,"l":10},43],"r":47,"t":2,"u":[{"a":[{"c":19}]}]},14],"o":[{"b":[{"r":[{"ó":35}]}],"c":[{"h":[{"t":[{"a":22,"á":17}]}]}],"d":[{"a":8,"ó":8}],"f":[{"a":8}],"g":47,"i":[{"l":[{"t":12}],"m":4}],"l":[{"a":[{"g":[{"á":4}]}],"e":2,"u":8}],"m":[{"a":[{"i":[{"g":16}]}],"h":[{"ú":2}]},47],"n":[{"c":[{"ó":28}],"u":2},47],"r":[{"a":[{"n":[{"t":25},12]}],"c":[{"h":[{"a":16}]}],"d":[{"á":20}]}],"s":[{"t":[{"a":[{"c":19}],"á":[{"i":[{"n":19}],"n":19},3]}]}]}],"ó":[{"f":43,"i":[{"m":[{".":2}],"n":[{"s":9,"t":12}],"s":[{"t":12}]}],"l":[{"a":[{"i":[{"n":11}],"n":11}]}],"m":[{"a":[{".":1,"í":1}]}],"p":[{"a":3}],"s":[{"a":15},1],"t":[{"h":54},58]}],"p":[{"e":164,"i":63,"í":51},43],"r":[{"a":[{".":43,"d":[{"á":19}],"í":43,"m":[{"a":[{"d":34}]},3],"n":[{"g":[{"ó":30}]}],"t":[{"ó":19}]}],"á":[{"t":[{"h":[{"ó":74}]}]}],"e":[{".":46}],"é":[{"i":3}],"i":[{"o":[{"c":[{"h":[{"t":[{"á":165}]}]}]},47]}],"í":[{"o":31,"r":8,"s":47}],"o":[{"c":[{"h":[{"t":34},16]}]}],"u":[{"a":[{"c":[{"á":19,"h":[{"t":121}]},12],"i":[{"t":[{"e":[{"a":19}]}]}]}]}],"ú":[{"i":[{"t":[{"í":8}]}],"p":47},1]}],"s":[{"c":[{"a":[{"r":[{"t":34},21]}]},31]},61],"t":[{"a":[{"e":40,"i":[{"c":40}],"n":[{"a":[{"c":0}]}],"p":10,"r":46}],"á":[{"i":58}],"e":61,"h":[{"o":[{"r":[{"t":[{"h":23},12]}]}]},166],"i":1,"ó":58,"ú":[{"i":[{"r":167}],"r":61}]},39],"u":[{"i":[{"l":[{"c":[{"e":19,"i":30}]}]}],"l":[{"t":[{"a":[{"i":[{"s":7}]}]}]}],"r":[{"b":15,"n":6}]}],"ú":[{"c":[{"h":[{"t":111}]}],"d":[{"a":[{"í":15}]}],"i":[{"n":[{"t":19}],"s":51,"t":[{"e":[{".":2}]}]}],"s":[{"t":19}],"t":[{"ó":15}]}],"v":[{"ó":46}]}],"i":[{"a":[{"c":[{"h":[{"l":35,"ó":20,"t":[{"a":[{"í":21}]}]}]}],"d":[{"a":[{"r":2}]}],"f":[{"a":38,"á":2}],"g":[{"ó":15,"r":35}],"i":[{"d":[{"í":[{"s":35}]}],"g":[{"í":35}],"l":53,"m":[{".":2,"i":35}],"n":[{"n":2}],"t":[{"e":35,"r":6}]}],"l":[{"a":[{"c":[{"h":[{"t":149},93]}],"i":[{"n":38}],"n":35,"t":35}]}],"m":[{"a":[{"r":2}],"b":28,"h":[{"a":[{"i":0}]}]}],"n":[{"a":15,"g":6}],"r":[{"b":[{"h":12},8],"c":17,"d":112,"m":10,"t":6}],"s":[{"t":[{"r":19}]}],"t":[{"á":1,"r":168}]}],"b":[{"e":[{"a":[{"b":0}]},39],"é":[{"a":35,"i":[{"d":2,"l":35}]}],"h":[{"é":15,"i":[{"n":36,"t":36}]},26],"i":[{"a":[{"n":19},2],"r":2},39],"í":39,"l":39,"r":39}],"c":[{"e":[{"a":[{"p":[{"t":25},36]}],"i":46}],"é":[{"a":[{"n":15}]}],"h":[{"a":166,"r":46},26],"i":[{"m":9,"ú":[{".":1}]}],"í":[{"d":40,"t":[{"e":[{"a":15}]}]}],"r":[{"i":0}],"s":[{"t":0}]},39],"d":[{"e":39,"é":39,"h":[{"b":[{"h":8}],"c":20,"e":8,"i":8,"l":26,"r":26}],"i":[{"a":39,"c":[{"í":35}],"f":6,"n":39,"ú":39}],"í":[{"d":35,"g":35,"n":39,"o":[{"c":15},39]}],"l":39,"r":[{"é":0},39]}],"é":[{"a":42}],"f":[{"e":51,"i":[{"n":[{".":2,"i":[{"d":34},21],"t":17}]}],"í":[{"r":35,"s":46}],"r":[{"é":1}]},39],"g":[{"e":[{"a":[{"s":67,"t":19}]},39],"é":39,"h":26,"i":[{"a":35,"b":8,"l":[{"i":6},39],"p":39,"r":39}],"l":39,"r":39}],"h":43,"l":[{"a":35,"b":[{"h":[{"i":[{"n":19}],"r":169}]}],"c":53,"e":[{"a":[{"c":[{"a":20,"á":20,"ó":19},148]}],"á":2},39],"é":[{"a":[{"n":15}]},39],"f":[{"r":1}],"i":[{"a":[{"n":19},53],"b":[{"é":15}],"c":[{"é":6}]},39],"í":[{"f":3,"o":2},39],"s":[{"c":14}]}],"m":[{"a":[{"r":17},2],"b":[{"l":8}],"e":[{"a":[{"c":[{"h":[{"t":23},34]}]}]}],"é":[{"i":35}],"g":73,"h":[{"a":46,"e":[{"a":[{"d":34}]}]},26],"i":[{"d":[{"e":35}],"g":[{"é":15},17],"o":35,"r":[{"e":35,"n":35,"t":35}],"s":[{"c":2}]}],"í":[{"r":[{"í":2}]}]}],"n":[{"á":35,"d":[{"e":[{"á":8}],"i":[{"a":[{".":15,"i":8}],"b":8}],"í":[{"l":21},17],"ó":54}],"e":[{"a":[{"m":[{"a":[{"í":19}],"ó":20},12]},2]},35],"é":[{"a":[{"g":76}]},39],"g":[{"i":[{"r":1}]},26],"i":[{"c":2,"g":2,"ú":[{"c":[{"h":93}]}]},35],"í":[{"o":[{"c":2}],"t":3},39],"n":[{"i":[{"s":48}]}],"o":35,"s":[{"c":[{"n":0}]}],"t":[{"e":[{"a":[{"n":8}]}],"í":[{".":14}]}]}],"o":[{"c":[{"h":[{"t":[{"ó":[{"g":92,"i":[{"g":30}]}]}]}],"s":10}],"d":26,"f":26,"g":[{"a":[{"d":[{"á":16}]}]}],"l":[{"g":10}],"m":[{"a":[{"r":8}],"á":48}],"n":[{"c":33}],"p":[{"a":[{"d":19}]}],"r":[{"d":8}],"s":[{"c":[{"a":[{"c":17}]}]},53],"t":[{"a":[{"s":3}]},1]}],"p":[{"e":[{"a":[{"g":20}]}],"é":[{"i":[{"d":46}]}],"i":[{"s":[{"t":12},2]}],"í":35,"l":[{"é":42}]},39],"r":[{"c":[{"h":2}],"e":[{"a":[{"b":30,"m":[{"á":19,"ó":19},12]}]}],"i":[{"d":2,"p":2}],"í":[{"r":20},35],"s":[{"c":[{"a":[{"r":[{"t":121},25]}]},2]}],"t":[{"a":1,"o":8,"r":0,"s":7}]},39],"s":[{"c":[{"e":[{"a":[{"d":8,"l":15,"m":15,"n":[{"n":15}]}]}],"é":[{"i":[{"m":35}]},26],"i":[{"n":[{"n":8}]}]},51],"e":[{"a":[{"r":[{"b":[{"h":121}]},16],"s":48}],"i":46},39],"é":[{"a":[{"l":21}]},39],"i":[{"c":53,"n":[{"t":46}],"s":48},39],"í":[{"t":[{".":76,"e":[{".":76}]}]},39],"o":35,"p":[{"í":2}],"t":[{"a":39,"r":4}]}],"t":[{"a":[{"i":2}],"e":[{"a":[{"n":48,"r":[{"t":35}]},39],"á":[{"n":35}]}],"h":[{"é":[{"a":[{"n":19}]}],"i":[{"n":[{"t":12}]}]},26],"i":[{"l":[{"t":9}]},39],"í":[{"n":[{"n":51}]}],"o":43,"r":[{"é":1},39],"s":[{"e":[{"a":[{"n":15}]}]},53]}],"u":[{"c":[{"h":[{"t":36},20]}]}],"ú":[{"c":[{"h":[{"t":111}]}],"d":53,"i":[{"d":53,"m":2,"n":[{"n":2}],"r":[{"é":21,"s":17}],"t":[{"é":21}]}],"r":[{"s":28}],"s":[{"t":[{"á":15},9]}],"t":[{"a":[{"c":11}]},48]}],"v":39}],"í":[{"b":[{"a":42,"e":[{"a":46,"o":35}],"h":[{"a":43,"e":[{"i":8,"o":42}],"i":26,"r":42,"u":[{"í":36}]}],"l":39,"o":35,"r":39}],"c":[{"e":[{"a":[{"s":20}],"i":46},39],"é":[{"a":35,"i":42}],"h":[{"a":42,"e":[{"a":[{"l":170}]}],"n":3},43],"i":39}],"d":[{"e":39,"h":43,"i":39,"í":[{"d":35,"g":35,"n":35,"o":39}]}],"f":[{"e":[{".":51,"a":[{"n":2}]}],"i":[{"r":63,"s":63}]},43],"g":[{"e":35,"h":[{"n":[{"a":[{"í":34}]}]},4],"i":35,"r":[{"é":42,"i":2}]}],"h":43,"l":[{"a":35,"á":43,"e":[{".":51,"a":39,"á":[{"c":[{"h":[{"a":19}]}],"i":[{"c":19}]}]}],"é":35,"i":[{"g":35,"m":35,"n":2,"s":35,"t":[{"h":171},43],"ú":2}],"í":[{"t":[{"h":46}]}],"o":42,"ó":43,"u":43}],"m":[{"é":57,"h":[{"i":[{"d":47}]},43],"i":[{"t":8}]}],"n":[{"a":[{"i":2},61],"á":40,"n":51,"o":40,"ó":40,"t":38},39],"o":[{"c":[{"á":38,"ó":1},43],"f":26,"g":[{"a":[{"d":[{"á":20}]}]}],"m":[{"h":[{"e":0},20]}],"n":[{"n":[{"a":[{".":46}]}]}],"p":48,"r":[{"g":9,"n":17,"t":17},172],"t":[{"r":3}]}],"ó":[{"g":[{"a":42}]}],"p":[{"e":35,"é":35,"i":2,"r":35}],"r":[{"a":61,"á":42,"e":[{"a":[{"s":[{"c":0}]}],"i":46}],"é":[{"i":[{"r":14}]}],"i":[{"a":61}],"u":76,"ú":76},101],"s":[{"c":[{"a":43,"e":15,"é":46,"i":[{"r":8}],"r":43}],"e":39,"é":55,"h":53,"i":35,"í":39,"p":61,"t":[{"a":35,"e":15,"i":[{"n":15}],"u":42}]}],"t":[{"e":[{"a":[{"n":2,"r":47,"s":46}]},0],"é":2,"h":[{"i":[{"s":15}],"o":[{"i":[{"n":87}]}]},43],"i":46,"r":43}],"ú":[{"i":51,"l":46}]}],"l":[{"a":[{"b":[{"a":[{"s":2}]}],"c":[{"á":[{"n":38},53],"h":[{"ó":19,"t":[{"á":17}]}]}],"d":[{"h":[{"m":173}]}],"e":[{"c":3}],"f":[{"á":38,"ó":29}],"g":[{"a":[{"m":47}],"á":122,"h":[{"d":12},51]}],"i":[{"d":[{"é":10}],"h":47,"l":6,"m":[{"é":6}],"n":[{"c":[{"i":19},36],"é":170},9],"s":[{"c":16,"t":12},54],"t":[{"é":47,"í":[{"n":8}]}]}],"l":38,"m":[{"o":47,"p":54,"ú":2}],"n":[{"d":144,"g":42}],"o":[{"f":8,"i":[{"n":[{"n":15}],"r":[{"e":[{".":15}],"í":15}],"t":[{"e":[{"a":15,"á":15}],"í":15}]}],"n":[{"n":[{"a":15}]}]}],"r":[{"n":170,"ú":[{"i":35}]},43],"s":[{"a":[{"r":[{"n":75},16]}],"b":47,"p":[{"a":[{".":3}]}],"t":[{"ó":15}]}],"t":[{"á":8,"ó":8,"r":15}]}],"á":[{"c":[{"h":19}],"i":[{"b":47,"m":51,"n":[{"n":2,"t":36},20],"t":[{"e":[{"á":2}],"í":[{".":2}]}]}],"l":104,"m":[{"h":[{"a":[{"c":[{"h":[{"t":24},23]}]}]}]}],"r":[{"t":17},15]}],"b":[{"a":[{"t":15},174],"á":46,"h":[{"a":[{"c":[{"á":15}],"d":15,"i":[{"n":42,"t":8}],"n":42}],"á":[{"i":[{"n":[{".":175}]}],"n":[{".":87}]},43],"e":[{"a":[{"d":15,"n":15}],"o":8}],"é":46,"f":8,"i":[{"d":87,"n":36,"r":[{".":15}],"t":[{"h":15}]}],"í":26,"r":43}],"í":60,"n":35,"ó":57}],"c":[{"a":[{"i":[{"l":40}],"l":6},39],"á":[{"n":[{"t":63}]},40],"e":[{"a":[{"n":35}],"i":46,"o":35}],"h":176,"i":[{"d":2,"m":35,"n":2,"t":35}],"í":35,"l":46,"ú":177}],"d":[{"e":[{"a":[{"n":2}],"i":[{"g":[{"h":[{"i":[{"l":24}]}]}]}]}],"ú":[{"d":9},8]},61],"e":[{"a":[{"c":[{"h":[{"t":[{"á":12}]}]}],"g":[{"ú":15}],"m":[{"á":10}],"r":[{"b":16}],"t":[{"ó":19,"r":[{"a":8}]}],"v":47}],"á":[{"c":[{"h":16}],"f":52}],"c":47,"f":47,"i":[{"c":[{"e":[{"a":[{"d":23}]}]}],"f":19,"r":[{"c":30}],"s":[{"c":16}]},47],"l":171,"m":47,"o":[{"d":7,"m":[{"h":16}]}]}],"é":[{"a":[{"d":[{"a":[{"r":178}],"h":35}],"l":[{"a":[{"i":[{"m":23}]}]}]}],"i":[{"d":[{"í":[{"s":35}]}],"f":179,"m":[{"i":[{"d":[{".":2}],"s":2}]}],"n":[{"t":12}],"t":[{"e":[{"a":35}],"í":35,"s":17}],"v":51}]}],"f":[{"c":47,"e":[{"a":[{"n":2}]}],"g":47,"r":[{"é":2}]},43],"g":[{"a":[{"d":[{"á":8}],"m":61}],"e":39,"é":46,"h":163,"i":35,"l":35,"r":[{"á":1},35]}],"h":[{"a":46,"e":42}],"i":[{"a":[{"n":[{"t":[{"a":[{"c":9},16]}]}],"s":[{"t":12},19],"t":17}],"b":[{"h":[{"e":35},47],"i":[{"l":11}],"í":[{".":2,"o":11}]}],"c":[{"s":7}],"d":43,"f":180,"g":[{"é":[{"a":11}]},8],"l":29,"m":[{"é":11,"h":[{"i":35}],"i":[{"r":15}],"p":[{"í":20}]}],"n":[{"é":11,"g":[{"t":[{"e":[{".":17}]}]}],"s":4,"t":[{"e":20}]}],"o":[{"n":[{"a":53,"t":181}],"s":[{"t":16}]}],"p":[{"s":4}],"r":43,"s":[{"t":9},26],"t":[{"é":35,"i":[{"ú":35}]}],"ú":[{"d":[{"a":[{"r":10}]}],"i":[{"t":[{"í":[{".":15}]}]}],"m":[{"a":15}],"s":[{"t":8}]}]}],"í":[{"b":[{"h":[{"é":35}]}],"o":[{"c":[{"h":[{"á":1}]}]}],"s":[{"é":182},43],"t":[{"h":[{"i":17}]}]}],"l":[{"a":[{"b":[{"a":15},17],"c":[{"á":6}],"g":[{"a":[{"c":17,"r":17}]},8],"i":[{"s":20,"t":36}],"m":[{"á":15},17]}],"ó":51,"t":4},164],"m":[{"a":[{"n":183},58],"á":1,"e":58,"h":31,"i":[{"a":51}],"í":[{".":51},1],"ó":[{"g":0,"i":[{"g":1}]}],"s":47},43],"n":[{"a":0,"i":0},43],"o":[{"d":15,"i":[{"d":46,"n":[{"e":48}],"t":[{"e":19}]}],"n":[{"c":15}],"r":[{"a":[{"i":[{"c":34},21]}]}]}],"ó":[{"d":[{"ó":[{"i":[{"r":2}],"r":11}]}],"i":[{"n":[{"í":51}],"p":115}],"l":38,"m":[{"h":2}],"p":[{".":113}],"s":39,"t":[{"a":8,"h":20}],"v":53}],"p":[{"a":39,"á":35,"e":[{"i":42},39],"é":46,"i":[{"ú":2}],"í":[{"t":42}],"ó":46}],"r":[{"é":15},43],"s":[{"c":[{"a":[{"i":184}],"á":4,"e":[{"a":[{"d":3}]},8],"i":[{"d":42,"n":15}],"l":42}],"e":185,"l":76},61],"t":[{"a":[{"i":[{"r":1}],"r":0}],"b":51,"e":[{"a":[{"n":[{"n":57}]}],"o":[{"f":35}]},14],"i":14,"m":47,"o":[{"r":17}],"r":[{"a":[{"c":1,"l":20}]}]},43],"u":[{"a":[{"i":[{"m":8,"t":[{"e":[{"a":[{"r":15}]}]}]}]}],"c":[{"h":[{"t":22}]}],"í":[{"o":8}],"s":[{"t":15}]}],"ú":[{"b":52,"c":[{"a":20,"h":[{"t":67}]}],"d":53,"f":72,"g":4,"i":[{"t":[{"é":19}]}],"l":41,"m":[{"a":[{"n":30},8],"h":[{"a":169,"á":186}]}],"n":43,"p":[{"a":47}],"s":8,"t":[{"ó":8}]}],"v":43}],"m":[{"a":[{"b":[{"h":17},46],"c":[{".":115,"a":15},43],"d":[{"a":[{"r":42,"s":2}],"á":35,"h":[{"m":21},187]},43],"e":46,"f":188,"g":[{"l":11,"r":35},46],"i":[{"l":[{"í":[{"t":10}]}],"m":53,"n":[{"i":[{"c":99,"d":6}],"t":[{"i":12,"í":22}]}],"r":[{"n":[{"e":17,"í":17}]}],"s":[{"t":[{"e":[{"o":19},12],"í":[{"n":30}]}]}],"t":[{"é":8,"i":58}]},43],"í":[{"t":[{"e":[{".":15,"a":[{"c":19}]}],"i":3}]},43],"l":[{".":42,"a":[{"n":29}],"á":47,"g":10}],"m":[{"ó":15,"ú":189},43],"n":[{"a":[{"m":11}],"c":190,"d":191,"t":20}],"r":[{"a":[{"d":38}],"b":[{"h":16},41],"c":192,"d":43,"f":7,"m":33,"s":[{"a":[{".":3}]},46],"t":46,"ú":131}],"s":[{"t":9},43],"t":[{"a":[{"g":35}],"ó":[{"g":15},131]}]}],"á":[{"c":[{"h":54}],"l":48,"r":[{"t":17},15],"t":47},43],"b":[{"a":[{"d":[{"á":20},3],"l":[{"b":17}]}],"d":51,"e":[{"o":[{"f":19,"g":19,"i":[{"d":19,"m":19,"n":19}]}]}],"í":[{"d":[{"í":[{"s":15}]}],"m":[{"i":[{"s":15}]}],"t":[{"e":[{"á":15}],"í":15}]}],"l":[{"í":20},47],"ó":0,"r":[{"e":[{"o":[{"f":21,"i":[{"d":21,"m":21,"n":21}]}]}],"í":[{"o":20}]}]},61],"c":[{"h":31,"í":40},43],"d":43,"e":[{"a":[{"l":[{"t":17},58],"r":[{"c":30,"t":[{"a":[{"i":30}]}]}],"s":[{"c":58,"t":19}],"t":[{"á":[{"n":19}]}]}],"á":[{"c":15}],"i":[{"r":[{"f":22}]}],"o":[{"n":[{"ó":8}]}],"s":51},43],"é":[{"a":[{"c":193,"m":42,"r":[{".":53},46]},104],"i":[{"c":2,"g":[{"h":2}],"n":[{"t":17}],"s":42}]}],"f":[{"e":[{".":51}]},118],"g":43,"h":[{".":73,"a":[{"c":[{"a":194}],"d":[{".":0,"h":36}],"g":0,"i":[{"d":[{".":0}],"n":[{"i":[{"c":195}],"t":[{"e":21,"i":21}]}],"s":[{"c":12,"t":75},16]}],"m":[{".":1}],"r":[{"b":[{"h":25},17],"c":[{"a":17,"r":22}],"f":32,"g":52,"m":111,"t":[{"a":67}]}],"s":[{"f":35}],"t":[{".":1,"á":20,"ó":19,"s":1}]}],"á":[{"r":[{"t":12},19]}],"d":3,"e":[{"a":[{"d":[{"a":[{"i":19,"r":21,"s":19}]}],"r":[{"c":62}],"s":[{"t":196}]}],"i":[{"r":[{"f":37}]}]}],"é":[{"a":[{"l":0}]}],"f":39,"i":[{"l":[{"l":0}],"o":[{"n":[{"t":[{"a":[{".":12,"í":37}]}]}]}],"s":[{"t":12},20]}],"í":[{"b":[{"h":12},8],"l":[{"e":3}],"r":[{"é":8}]}],"l":[{"u":[{"a":[{"d":25}]}]},39],"n":39,"o":[{"l":[{"t":197}],"n":[{"c":30,"g":[{"ó":21}],"t":22}],"r":[{"c":17,"n":19,"s":22}]}],"ó":[{"m":[{"h":15}]}],"r":[{"í":[{"o":[{"c":19}]}]},198],"t":90,"u":[{"i":[{"r":52,"s":[{"c":34},21]}],"í":17,"r":19,"s":[{"t":20}]}],"ú":[{"d":17,"i":[{"n":0}]}]}],"i":[{"a":46,"c":43,"d":[{"i":15,"í":46}],"g":43,"l":[{"é":38,"í":[{"t":21},17]},43],"m":43,"n":[{"é":35,"s":[{"e":15,"í":15}],"t":54},176],"o":[{"n":[{"t":[{"a":181}]}],"r":19}],"r":[{"c":28,"é":188,"í":46,"t":20}],"s":[{"c":20,"i":43,"t":199}],"t":[{"e":3,"i":38},43],"ú":[{"d":52},43]}],"í":[{"b":[{"h":17},35],"g":[{"h":35,"r":2}],"l":[{"í":[{"t":35}]},117],"n":[{"a":1}],"o":[{"s":19}],"r":[{"e":[{".":113}],"é":35}],"t":[{".":117,"e":[{".":117,"a":[{"c":35}]}],"i":3}]},43],"l":[{"e":[{"a":[{"t":12}]}],"u":[{"a":[{"d":[{"a":19}],"i":[{"t":[{"e":[{"a":19}]}]}]}]}]},43],"n":[{"a":42},159],"o":[{"d":[{"h":19}],"i":43,"l":[{"t":10}],"n":[{"c":10,"g":[{"ó":19}],"t":7}],"r":[{"c":[{"h":21}],"d":15,"f":54,"n":15,"s":19},31]}],"ó":[{"f":53,"i":[{"n":[{".":47,"í":51,"t":12}]}],"m":2,"n":[{".":52},58],"r":[{"ó":115},15],"s":47},43],"p":[{"a":[{"l":[{"l":35}],"r":[{"n":40},19]}],"e":[{"a":[{"n":[{"n":35}]}]},43],"é":[{".":42,"a":[{"r":42}],"i":[{"d":2,"r":42}]}],"f":47,"i":[{"s":[{"e":15},17]},43],"í":46,"l":61,"o":43,"r":43,"t":51,"ú":43}],"r":[{"o":[{"c":[{"h":[{"t":34},21]}]}]},43],"s":[{"c":4},61],"t":[{"h":3},43],"u":[{"a":43,"i":[{"l":[{"c":21}],"s":[{"c":12},19]}],"í":3,"l":113,"r":[{"d":17},15],"s":[{"t":8}]}],"ú":[{"c":[{"h":[{"t":12},20]},60],"i":[{"n":19}],"l":46,"s":46,"t":15}]}],"n":[{"a":[{"b":[{"a":[{"í":46}],"h":178}],"c":[{"h":[{"a":[{"i":[{"n":17}],"n":178}],"l":35,"r":2}],"ó":2,"r":35}],"d":[{"á":35}],"e":[{"m":10,"r":46}],"f":15,"g":[{"a":[{"m":38}],"ó":8,"r":35},73],"i":[{"l":[{"i":6,"í":[{"n":10}],"t":17}],"s":[{"e":47,"t":[{"e":[{"o":19},16]}]}]}],"í":[{"t":17}],"l":[{"b":[{"h":36}],"ó":[{"g":38}]},8],"m":[{"a":[{"r":[{"a":2}],"t":2}],"h":[{"a":19,"é":35}]}],"n":[{"t":54},31],"o":[{"n":[{"n":15}]}],"p":73,"r":[{"b":[{"a":19,"h":12}]}],"s":[{"t":[{"á":35}]}],"t":[{"a":[{"m":2},17],"ó":35}],"v":[{"a":19}]},43],"á":[{".":53,"f":72,"i":[{"d":43,"l":43,"s":[{"c":42}]},1],"í":42,"l":43,"r":43,"s":[{"c":139}]}],"b":[{"a":1,"e":57,"h":[{"a":[{"n":[{"d":25},12],"o":87}]}],"i":63,"í":51},43],"c":[{"a":[{"i":[{"g":2}],"n":2,"r":[{".":76,"n":12},19]},58],"á":[{"s":40},58],"b":51,"e":[{"a":[{"s":46}],"i":42},35],"é":[{"a":[{"d":42}],"i":[{"d":42}]},57],"h":[{"r":[{"ó":21}]},200],"i":[{"g":51,"s":[{"í":42}]}],"l":[{"o":39,"u":35}],"s":201,"ú":[{"n":42},57]},43],"d":[{"a":[{"g":3}],"á":[{"n":76}],"e":[{"a":42,"á":47}],"é":42,"i":[{"a":[{"i":47}],"c":19,"s":[{".":2,"e":2},51]}],"l":[{"í":[{"d":19,"g":19,"m":19,"o":20}]}],"ó":[{"g":35,"i":[{"t":[{"e":[{".":15}],"í":15}]}]}],"r":[{"e":[{"a":[{"c":[{"h":[{"t":24},23]}]}],"o":[{"f":21,"i":[{"d":21,"m":21,"n":21}]}]}],"ó":1}]},61],"e":[{"a":[{"g":[{"á":6}],"m":[{"a":[{".":15}]}],"s":[{"á":[{"r":10}]}],"t":19}],"á":[{"c":[{"h":[{"a":15}]}]}],"d":47,"g":47,"m":47,"o":[{"d":19,"i":[{"r":[{"i":42}]}],"t":115},3]}],"é":[{"a":[{"l":[{"t":36},19],"s":53},3]}],"f":[{"a":[{".":51,"i":[{"r":[{"t":25},12]}]}]},43],"g":[{"a":[{"d":[{"á":8}],"i":[{"n":[{"t":0}],"r":[{"t":21}]}],"l":[{"ó":0}],"n":[{"t":40}]}],"á":[{"n":35},14],"e":[{"a":[{"l":1,"r":[{"t":99}],"t":21}]}],"é":40,"h":163,"i":[{"a":1,"l":40,"n":47}],"í":[{"n":[{"e":1}],"o":[{"c":1}]}],"l":[{"í":1}],"ó":[{"i":[{"d":[{".":1,"e":1}]}],"r":1}],"t":4,"ú":[{"n":76,"s":42}]},73],"h":[{"a":76,"á":42}],"i":[{"a":[{"i":[{"t":15}]}],"b":[{"é":3}],"c":[{"í":[{"n":[{"e":2}]}]}],"f":35,"g":[{"í":42}],"l":46,"m":[{".":139,"é":5,"i":134}],"n":[{"d":7,"í":[{"t":21}],"s":4},42],"o":73,"r":[{"b":15,"i":4}],"s":[{"t":17},26],"t":[{"é":35}]},43],"í":[{"l":[{"i":[{"m":21}]}],"o":[{"m":[{"h":73}],"t":8}],"r":46,"t":[{"h":169,"r":5}]}],"l":[{"é":[{"a":[{"m":15,"n":15}],"i":[{"g":[{"í":15}],"m":[{"i":8}]}]}],"i":[{"a":[{"n":19}]}],"í":42},43],"m":[{"a":[{"n":2}],"c":51,"e":47,"h":4,"i":51,"í":51,"ó":0},43],"n":[{".":73,"a":[{"b":6,"c":48}],"t":143},164],"o":[{"c":[{"h":[{"t":21},17]}],"i":[{"c":[{"h":36}]}],"l":[{"a":2},3],"m":52,"r":[{"d":46}],"s":[{"c":[{"a":[{"i":[{"l":149}]}]}]}]}],"ó":[{"b":115,"g":43,"i":[{"a":52,"t":47}],"l":43,"m":[{"a":115}],"n":43,"r":[{"t":[{"a":[{"s":7}]}]},43],"t":[{"h":203},202]}],"p":43,"r":[{"a":46,"i":42,"o":[{"c":[{"h":[{"t":34},21]}]}],"ó":[{".":51}],"ú":1},43],"s":[{"a":[{"b":[{"a":15},17],"n":[{"n":35}]}],"á":[{"i":[{"l":57,"n":[{"n":15}],"t":8}],"l":59}],"c":[{"á":3,"i":3,"r":3}],"e":[{"a":[{"c":42}],"á":[{"n":0},35],"i":[{"r":21}]}],"é":42,"i":[{"n":[{"t":17}]}],"í":[{"n":42}],"t":4,"ú":[{"d":17,"i":[{"t":[{"í":15}]}],"m":15}]},61],"t":[{"a":[{"i":[{"b":20}],"l":[{"ú":[{"n":84}]}],"m":[{"ó":15}],"p":8,"r":[{"t":2}]}],"á":[{".":42}],"e":[{"a":[{"d":0,"g":35,"r":42}],"á":[{".":42,"n":76},164],"o":[{"g":1,"l":0}]}],"i":[{"a":42,"c":35,"l":[{"í":[{"t":8}]},9],"n":46,"s":42,"ú":[{"i":[{"r":2}],"r":57}]}],"í":[{"l":57,"n":[{".":0,"i":1,"í":0}],"o":[{"c":0}]}],"m":47,"o":[{"i":[{"d":2}]}],"r":[{"a":[{"b":[{"h":34},19],"i":[{"s":51}],"s":51}]},46],"s":51},43],"u":[{"a":[{"c":[{"h":[{"a":[{"n":145}],"ó":8}]}],"d":[{"a":15}],"i":[{"m":15,"s":[{"l":12}],"t":[{"e":[{"a":15}]}]}],"n":17,"r":42,"s":[{".":51}],"t":15}],"i":43}],"ú":[{"í":2,"l":43,"n":43,"s":43,"t":3}],"v":[{"e":46}]}],"o":[{"b":[{"a":[{"d":[{"á":8}]},39],"á":39,"h":[{"a":[{"r":[{"d":75},16]}],"e":91,"r":[{"é":42,"i":41}],"t":9},26],"l":39,"ó":39,"r":39,"ú":35}],"c":[{".":53,"a":[{"n":9,"t":8},101],"á":35,"f":73,"h":[{"a":26,"á":26,"b":53,"e":[{"o":8}],"i":8,"í":15,"l":26,"n":48,"ó":26,"r":26,"t":[{"í":6}],"u":[{"a":8}]}],"l":39,"n":103,"ó":[{"c":15},204],"r":101,"t":73,"u":55,"ú":2}],"d":[{"a":[{"l":35,"m":35,"r":[{"t":35}],"s":46}],"á":39,"e":2,"h":[{"a":26,"e":[{"a":[{"r":[{"m":23},34]}],"o":15}],"i":42,"í":42,"l":3,"ó":42,"r":26,"ú":8}],"r":63,"ú":35}],"e":[{"n":3}],"f":[{"a":[{"c":86}],"ó":2,"r":[{"a":2}]}],"g":[{"a":[{"l":2}],"e":35,"h":[{"a":[{"i":[{"r":[{"t":25}]}]}],"e":31},26],"l":39,"o":35,"ó":39,"r":39,"u":35,"ú":39}],"h":[{"ó":46}],"i":[{"d":[{"i":26}],"f":[{"t":9},8],"g":[{"í":[{".":46}]}],"l":[{"e":15}],"m":[{"e":[{"a":[{"d":25}]}],"i":[{"r":8}],"p":[{"é":20,"í":28}]}],"n":[{"n":48,"t":[{"é":20}]}],"p":5,"r":[{".":48,"b":[{"h":[{"i":[{"g":3}],"í":4}]}],"d":6,"n":[{"e":[{"á":17}],"i":[{"t":7,"ú":3}],"í":[{"d":3,"g":3,"m":4,"o":4,"t":4},20]}],"p":[{"í":28}]}],"s":[{"c":[{"e":[{"á":82}]},54],"t":[{"í":[{"n":66}]},45]},48],"t":[{"é":26}]}],"í":[{"c":[{"h":[{"e":21}]},14],"l":4,"t":[{"e":[{".":0}]}]},39],"l":[{"a":[{"b":76,"d":[{"á":8}],"f":6,"g":[{"h":42},205],"i":[{"m":[{"é":1}],"t":[{"é":20}]}],"n":[{"d":19}]},39],"á":[{"i":[{"m":42}]},39],"b":[{"h":9},39],"c":[{"ó":8}],"e":[{"o":35}],"é":46,"g":[{"a":72}],"i":43,"í":46,"m":143,"o":43,"ó":39,"t":48,"ú":[{"i":39,"r":35}]}],"m":[{"a":[{"l":[{"ó":6}],"n":[{"t":36},39],"o":35,"r":[{"á":35}],"t":[{"á":15},35]}],"h":[{"a":[{"i":[{"r":[{"t":25}]}],"r":[{"a":42}]}],"e":176,"i":[{"l":42}],"í":41},26],"ó":2,"p":[{"á":3},39],"ú":35}],"n":[{"a":[{"b":6,"c":[{"r":[{"a":3}]}],"g":[{"ó":6}],"l":6,"m":[{"a":[{"i":15},9]}]},2],"á":39,"d":[{"u":[{"s":19}]}],"e":35,"é":35,"g":[{"a":[{"b":2}],"á":8,"l":8,"ó":[{"i":8,"n":15}],"r":2,"ú":[{"i":2}]}],"o":39,"ó":[{"t":46},39],"r":48,"s":[{"c":64}],"t":[{"a":[{"i":[{"l":5}],"l":5,"r":[{"n":75},16]}],"e":3,"í":3,"ó":31}],"ú":39}],"p":[{"a":[{"d":[{"á":15},17],"l":[{"a":8}]}]},39],"r":[{"a":[{"d":[{"á":[{"i":8,"n":8}]}],"t":[{"ó":8}]},2],"á":2,"b":[{"a":[{"d":15}],"á":35,"h":39}],"c":[{"a":0,"h":[{"ó":20}],"ó":2}],"e":35,"é":39,"i":[{"a":76},35],"m":[{"a":[{"í":1}],"ó":[{"n":35}]}],"n":[{"e":35,"i":2}],"o":[{"i":[{"d":35}]},43],"ó":39,"p":[{"ó":[{"i":2}]}],"s":[{"a":[{"í":5}]}],"t":[{"a":[{"s":2}],"h":[{"é":[{"a":16}]}]}],"u":2,"ú":39}],"s":[{"a":[{"i":[{"l":30}],"m":2,"r":[{"n":12},19],"t":8}],"c":[{"a":[{"o":42},26],"é":42,"l":26,"ó":[{"i":8,"l":67,"r":15}],"r":[{"a":15,"i":46}],"ú":[{"i":8}]}],"m":[{"á":42}],"ó":39,"p":[{"a":[{"i":[{"r":[{"t":149},93]}]}],"á":40}],"t":[{"a":[{"d":15,"i":8}],"é":72,"i":35,"ó":26,"ú":[{"n":11},8]}],"u":35,"ú":39}],"t":[{"a":[{"m":9,"s":[{"a":0}]},35],"á":39,"h":[{"a":[{"i":[{"s":46}],"r":16,"s":3}],"á":[{"i":[{"r":46}]}],"e":91,"í":46,"o":46,"r":[{"i":3}],"u":[{"s":3}]},26],"i":2,"ó":39,"r":39,"s":[{"ó":15}],"u":35,"ú":39}]}],"ó":[{"á":[{"l":46}],"b":[{"a":[{"i":63},35],"h":43,"r":2}],"c":[{"a":[{"r":48},39],"h":[{"a":26,"á":15,"e":46,"r":15,"t":[{"a":17}],"ú":8}],"i":35,"ó":2,"r":35,"s":11,"ú":39}],"d":[{"a":[{"i":[{"d":19}],"r":40},53],"h":[{"e":46,"í":46,"ó":42}],"ó":53},39],"f":[{"a":[{"d":46,"g":71,"i":[{"r":2,"t":2},43]}],"á":2,"r":35}],"g":[{"a":[{"l":6},35],"ó":[{".":42}],"t":48},39],"i":[{"a":53,"b":[{"é":15}],"d":[{"i":8}],"g":[{"h":51,"í":[{".":46}]}],"l":[{"l":[{"í":36}]}],"m":[{"é":206,"h":207}],"n":[{"s":[{"e":[{".":3}],"i":15,"í":15}],"t":8}],"p":[{"é":35}],"r":[{"e":[{"o":53}]},8],"s":[{"c":20,"t":[{"e":[{"o":15}],"é":3},54]}],"t":[{"e":[{"a":[{"r":46}],"á":[{".":46}]}],"é":8,"s":20}],"v":48}],"í":[{"n":[{"í":42}]}],"l":[{"a":[{"d":[{"á":15}]}],"e":40,"é":76,"i":40,"í":40},39],"m":[{"a":[{"r":46,"s":[{"ó":6}],"t":35}],"h":[{"a":[{"í":4,"o":42,"r":[{"t":15}],"s":8}],"á":8}]}],"n":[{"a":[{"s":[{".":35},14]}],"g":31,"n":118,"o":40},39],"p":[{"a":[{"l":1}],"é":76},101],"r":[{"a":[{"i":[{"s":48}],"s":48}],"á":[{"i":[{"d":0}]}],"g":4,"m":[{"a":0}],"ó":[{"s":19}],"t":[{"a":[{"i":[{"r":5}]},31],"á":0}]},39],"s":[{"a":[{"i":[{"s":[{"e":1}]}],"m":2,"r":[{"n":12},19]}],"c":[{"a":8}],"ó":35,"t":[{"r":1},26],"u":2,"ú":2}],"t":[{"a":[{"c":45,"i":[{"g":2,"r":35}],"í":39,"m":208,"r":20}],"á":39,"h":[{"á":8}],"ó":35}],"ú":[{"l":46}],"y":[{"ó":42}]}],"p":[{"a":[{"c":[{"a":47,"r":47}],"i":[{"g":[{"e":10}],"r":[{"n":[{"e":32}]}],"s":[{"i":16,"t":[{"i":111}]}]}],"l":[{"l":53}],"n":[{"a":[{"m":67}],"t":[{"a":[{"l":7}]}]}],"p":[{"ó":38}],"r":[{"a":[{"b":30,"g":48,"i":[{"s":99}]}],"d":6,"n":6,"s":144,"t":[{"a":3}]}],"s":[{"a":[{"m":51}],"t":9}],"t":209}],"á":[{"i":[{"n":[{"t":181}]}],"l":43,"s":15}],"c":[{"í":76},43],"e":[{".":53,"a":[{"c":[{"h":[{"t":34}]}],"l":[{"a":19}],"m":[{"a":[{"i":15}]},17],"n":[{"n":48}],"r":[{"n":12},20],"s":[{"ó":6,"t":15}]}],"i":[{"l":[{"b":[{"h":34},20]}],"n":[{"t":17}],"r":[{"t":19},53]},47]}],"é":[{"i":[{"d":47,"n":[{"t":17},113],"r":[{"s":17}]}]}],"f":43,"h":[{"a":[{"i":[{"s":[{"t":[{"i":62}]}]}],"n":[{"a":[{"m":62}]}],"r":[{"d":30,"s":22}],"s":[{"t":12}],"t":[{"r":20}]},1],"á":[{"i":[{"n":[{"t":25}]}]}],"e":[{"i":[{"l":[{"b":[{"h":121},16]}]}]}],"é":[{"i":[{"n":[{"t":12}],"r":[{"s":12}]}]}],"i":[{"n":[{"s":[{"e":[{".":17}]}]}],"o":[{"n":[{"t":37}]}],"s":[{"t":30}]},0],"l":[{"é":[{"a":[{"n":19}]}]},1],"o":[{"i":[{"n":[{"t":93},148]}],"l":[{"c":30}],"n":[{"c":21}]}],"ó":[{"r":[{"t":[{"a":22}]}],"s":[{"t":12},20]}],"r":[{"é":[{"a":[{"c":[{"h":[{"t":24},23]}]}]}],"ó":[{"i":[{"s":25}]}]}],"u":[{"i":[{"n":36}],"n":[{"t":32}]}],"ú":[{"i":[{"t":12}]}]},210],"i":[{"a":[{"s":48}],"c":[{"s":7}],"d":[{"é":35,"i":15}],"l":[{"e":35}],"m":46,"n":[{"s":[{"e":[{".":3}]}]}],"o":[{"n":[{"t":22}],"s":[{"t":12},19]}],"r":[{"i":[{"m":21}],"t":51}],"s":[{"t":[{"e":20,"i":8}]}],"t":[{"e":[{"i":51}],"é":57,"s":8}]}],"í":[{"l":48,"o":[{"l":48}],"s":52,"t":[{"i":15},1]}],"l":[{"a":[{"g":211},4],"é":[{"a":[{"c":[{"h":[{"t":121}]}],"m":15,"n":15}],"i":[{"g":[{"í":15}],"m":[{"i":15}]}]},51],"i":[{"m":9}],"ó":[{"m":33}]}],"n":[{"a":1},43],"o":[{"c":[{"h":[{"t":12},19]}],"i":[{"n":[{"t":21},9],"s":[{"t":21}]}],"l":[{"a":[{"g":31,"i":[{"m":4}]}],"c":10}],"n":[{"c":28}],"r":[{"t":[{"r":6}]}],"s":[{"t":[{"a":[{"c":19}]}]}],"t":8}],"ó":[{"r":[{"t":[{"a":28}]},115],"s":[{"t":9},8],"t":8}],"r":[{"a":[{"o":[{"i":21}]}],"é":[{"a":[{"c":[{"h":[{"t":121},25]}],"d":96,"m":15}],"i":[{"d":15,"m":[{"i":15}],"t":[{"e":[{"a":15}],"í":15}]}]}],"ó":[{"i":[{"s":21}]}]}],"s":[{"a":[{".":51,"i":[{"n":12}]},0],"e":[{"a":[{"n":2}]}],"i":[{"m":76,"s":42}]},43],"t":[{"e":[{".":47,"a":[{"n":35}]}],"h":4,"i":[{"g":0,"s":35}]},43],"u":[{".":48,"i":[{"n":64}],"n":[{"t":20},4],"s":212}],"ú":[{"i":[{"n":[{"s":21},9],"t":17}]}]}],"r":[{"a":[{"b":[{"h":[{"t":30}],"ó":35}],"d":[{"ó":[{"n":15}]}],"f":8,"g":[{"á":38,"h":[{"s":21},9],"o":15}],"i":[{"c":[{"n":48}],"m":[{"h":[{"í":8},36],"p":16}],"n":[{"c":16,"t":[{"í":19}]},9],"s":[{"e":[{"o":[{"l":9}]}],"t":67}],"t":[{"é":20,"s":19}]}],"l":[{"a":[{"í":[{"c":11,"o":38}],"n":51}],"ú":38}],"m":[{"a":[{"d":[{"a":[{"c":19,"í":19}]}],"t":35}]}],"n":[{"a":[{"m":38}],"ó":[{"m":11}],"t":[{"á":28,"ó":9}]}],"o":[{"b":53,"l":53}],"p":[{"ó":38},53],"s":[{"n":48,"t":45}],"t":[{"a":[{"m":17}],"á":35,"é":2,"ó":[{"g":8}],"r":35}]}],"á":[{"b":[{"h":[{"a":[{"i":[{"l":9}]}]}]}],"c":[{"h":[{"a":19}]}],"i":[{"n":[{"i":51}],"t":[{"e":[{"á":35}]}]}],"í":[{"n":[{"t":35}]}]}],"b":[{"a":[{"c":[{"á":8},178],"d":[{"h":35}],"i":[{"r":46,"s":[{".":2}],"t":42}],"m":35,"n":[{"n":35}],"r":43,"s":35,"t":[{"r":213}]}],"e":[{"a":35},47],"h":[{"a":[{"s":8,"t":3}],"á":[{"c":[{"h":[{"a":19}]}],"n":8}],"e":[{"a":[{"s":87}],"o":214}],"i":[{"a":42,"n":8,"s":87,"t":170}],"í":[{"d":15,"g":8,"o":8,"t":8}],"l":215,"r":46,"u":[{"i":[{"s":15}]}]}],"i":[{"a":57,"s":2}],"l":35,"r":[{"í":0},43],"ú":46}],"c":[{"a":[{"i":[{"s":46}],"s":6},39],"e":39,"é":57,"h":[{"a":[{"c":8,"d":111,"r":[{"t":62}]}],"á":4,"i":3,"l":[{"a":[{".":15}]}],"n":3,"r":[{"a":8}]},43],"i":[{"n":[{"t":0}],"s":[{"i":42,"í":76}]},164],"l":39,"m":47,"n":35,"r":[{"a":[{".":51}],"á":35}],"s":35,"ú":2}],"d":[{"a":[{"c":[{"h":[{"t":63}]}],"i":[{"r":1}],"o":76,"r":76},39],"e":164,"é":35,"h":[{"ó":[{"i":[{"t":[{"í":19}]}]}]},216],"i":[{"n":[{"é":19}]},217],"í":[{".":47,"d":63,"g":63,"m":47,"n":[{"n":63}],"o":57,"t":47}],"l":35,"n":51,"o":[{"i":[{"d":2}]}],"ó":39,"r":[{"é":40},59],"s":51,"t":47,"u":35,"ú":[{"i":[{"n":76}],"n":185},35]}],"e":[{"a":[{"g":[{"r":20}],"s":[{"t":[{"a":21},64]}],"t":[{"á":8}]}],"á":[{"i":[{"r":8}]}],"i":[{"c":[{"t":30}]}],"o":[{"d":[{"ó":8}],"i":[{"t":[{"e":[{".":15}]}]}],"m":26}]}],"é":[{"a":[{"d":[{"h":2}],"l":[{"a":19,"t":64}],"n":[{"n":[{".":2}]}],"s":51}],"i":[{"f":[{"e":2}],"g":[{"í":2},20],"m":[{"í":[{"r":15}]}],"t":[{"h":51}]}]}],"f":[{"e":[{"o":[{"l":2}]}]},43],"g":[{"a":[{"d":[{"á":15}],"s":40}],"d":47,"e":[{"a":[{"d":46,"m":2,"n":218,"s":35}]}],"é":57,"h":[{"a":[{"i":[{"r":25}]}],"i":[{"n":21}]},163],"i":[{"n":[{"t":46}]},58],"í":58,"l":219,"ó":[{"i":[{"t":42}],"t":42}],"r":[{"u":57},43],"s":47,"ú":46}],"h":[{"a":46}],"i":[{"a":[{"c":[{"h":[{"t":75},16]}],"s":[{"t":181}],"t":53}],"b":[{"h":[{"i":17}]}],"c":[{"h":178}],"d":[{"h":9,"i":8}],"g":[{"h":[{"n":53}],"i":[{"n":2}]}],"h":53,"l":[{"e":[{"i":2}]}],"n":[{"c":54,"é":35,"s":[{"i":[{"ú":20}]}],"t":[{"é":20}]},31],"o":[{"n":[{"t":106}],"s":[{"t":67}]}],"p":[{"t":[{"e":4}]}],"r":[{"í":2},4],"s":[{"c":[{"é":6}],"t":45}],"t":[{"a":35,"é":[{"a":15,"i":[{"r":15}]},35],"r":2}]}],"í":[{"b":[{"h":20}],"c":[{"h":[{"e":109,"í":2}]},14],"o":[{"c":[{"h":[{"t":35}]}],"m":[{"h":[{"a":[{"r":15}]}]}]}],"r":31,"t":[{"h":[{"e":1,"i":1}]}]}],"l":[{"a":[{"m":[{"á":[{"n":10}]}]}],"e":[{"a":[{"t":12}]}],"é":[{"a":[{"m":[{"a":15}],"n":15}],"i":[{"g":[{"í":15}],"m":[{"i":15}]}]}],"g":47,"i":[{"n":17}]},43],"m":[{"a":[{"d":61,"i":[{"n":76,"r":1}],"l":35,"n":46}],"e":[{"a":[{"s":[{"c":46}]}]},58],"h":163,"i":[{"g":47,"l":0,"m":47,"s":[{"i":76}],"t":47,"ú":58}],"í":58,"l":47,"o":47,"ó":[{"s":46}],"s":47,"u":57,"ú":35}],"n":[{"a":[{"c":[{"a":40}],"p":40}],"á":[{"d":46,"s":46}],"e":[{"a":[{"m":63}],"á":[{"i":[{"l":[{"t":2}]}],"l":[{"f":47},35]}],"o":[{"i":[{"r":[{"e":2}]}]}]}],"f":47,"g":35,"i":[{"a":63,"d":2,"ú":35},14],"í":[{"n":[{"e":0,"i":1}]}],"o":46,"ó":[{"i":[{"n":[{".":76}]}],"n":76},39],"ú":35}],"o":[{"c":0,"f":15,"i":[{"d":53,"m":[{"é":20}]},4],"í":73,"l":47,"m":[{"p":[{"a":28}]}],"s":[{"t":[{"a":[{"c":20,"l":19}],"á":20,"ó":[{"r":17}]}]}]}],"ó":[{"b":4,"c":53,"f":1,"i":[{"s":[{"t":21}],"t":53},3],"l":[{"a":[{"n":11}]}],"m":[{"h":[{"a":[{"i":19,"r":19}]}]},53],"s":[{"t":[{"á":3}]}],"t":[{"a":15},26]}],"p":[{"a":[{".":42,"í":42,"r":35}],"á":[{"n":46}],"e":57,"i":57,"ó":[{"g":[{".":63,"a":42}]}],"r":39}],"r":[{"a":[{"c":[{"h":[{"ó":8}]}],"l":8,"n":9}],"b":[{"h":9}],"c":4,"d":2,"t":4},164],"s":[{"a":[{"i":[{"n":1}],"n":42}],"á":[{"i":[{"n":1}],"n":76}],"c":[{"á":31,"n":58}],"e":[{"a":[{"d":86}]}],"f":47,"h":[{"l":[{"u":[{"a":25}]}]}],"i":[{"m":35}]},61],"t":[{"a":[{"g":[{"á":0}],"i":[{"l":76,"n":[{"í":1}],"r":[{".":46}]}],"í":[{"o":2}],"l":40,"n":[{"a":46}],"r":43,"s":[{"ó":1}]},39],"á":[{".":42},39],"c":47,"e":[{"a":[{"c":35,"g":2,"m":35,"n":35,"r":40}],"á":[{".":40}]},58],"h":[{"a":[{"t":20}],"é":[{"a":[{"d":34}],"i":[{"d":19,"g":[{"í":19}],"m":[{"i":19}],"t":[{"e":[{"a":19}],"í":19}]}]}]},176],"i":[{"l":40,"s":6},164],"í":58,"l":171,"o":47,"ó":39,"r":39,"s":51,"u":35,"ú":[{"c":35,"i":[{"l":2},46],"l":63,"m":42,"n":43}]}],"u":[{"a":[{"b":15,"d":[{"a":8},17],"i":[{"m":[{"i":8}],"t":[{"e":[{"a":[{"r":15}]}]}]},17]}],"c":[{"h":[{"t":[{"ó":67}]}]}],"d":47,"s":[{"c":[{"a":20,"á":6}],"t":66}]}],"ú":[{"c":[{"h":[{"t":22}]}],"d":[{"a":[{"r":[{".":38}]}]},53],"i":[{"d":[{"í":35}],"m":39,"n":[{"e":42,"n":35}],"t":[{"e":[{"a":35}],"í":[{".":2}]}]}],"l":43,"m":[{"a":[{"r":35}]}],"s":[{"t":[{"a":20}]}]}],"w":[{"i":46}]}],"s":[{"a":[{"b":[{"á":35}],"c":[{"a":[{"s":11}]}],"d":[{"á":35}],"f":[{"ó":35,"r":2}],"g":[{"á":38}],"i":[{"g":[{"h":[{"d":37}]}],"l":[{"b":19}],"n":[{"t":[{"e":22}]}],"r":[{"d":30}],"s":[{"í":51,"t":[{"e":16}]}]}],"l":[{"a":[{"i":[{"n":38}],"n":35,"t":15}],"á":[{"m":113}],"t":20}],"m":[{"a":[{"t":63}],"h":58,"s":51}],"n":[{".":117,"á":31,"t":9}],"o":[{".":115}],"r":[{"b":8,"c":15,"l":47,"ó":38}],"t":[{".":51,"a":15,"á":2,"r":[{"a":15}],"s":51}]},43],"á":[{"i":[{"l":[{"i":51}],"n":[{"n":[{".":2}],"t":17}],"t":[{"e":[{".":2,"á":[{".":2}]}]}]}]},43],"b":[{"a":1,"h":[{"e":[{"i":[{"r":25}]}]},3]},43],"c":[{".":48,"a":[{"b":3,"c":[{"h":[{"á":15},12]}],"e":40,"i":[{"r":[{"d":40}]}],"o":1,"r":[{"n":220}],"t":42}],"á":[{"i":[{"n":[{"t":21}]}]}],"e":[{"a":[{"r":46}],"o":[{"g":40,"i":[{"g":76}]},39]}],"é":[{"i":[{"m":0}]}],"h":216,"i":[{"a":52,"g":51,"m":39,"o":[{"r":52}],"t":35,"ú":[{"i":[{"l":35}]}]}],"í":[{".":51},101],"n":39,"o":[{"i":[{"r":21}],"r":[{"b":67},47]}],"ó":[{".":46,"i":[{"p":52},51],"l":46,"p":104,"s":46}],"r":[{"a":[{"í":35}],"é":[{"a":[{"c":[{"h":[{"t":24},23]}]}]},43],"í":104,"ó":39}],"u":[{"m":178}],"ú":[{"c":35,"n":46}]}],"d":43,"e":[{"a":[{"c":[{"h":[{"t":[{"a":37}]}]}],"g":[{"á":42},48],"i":113,"l":[{"a":19,"b":[{"h":25},17],"t":12}],"n":[{"a":[{"d":25},12],"m":19,"n":[{"a":[{".":42}]}]}],"s":[{"t":19}],"t":47}],"á":[{"i":[{"b":113}]}],"i":[{"c":[{"t":17},51],"f":[{"t":21}],"l":[{"f":17}],"r":[{"f":32}],"t":[{"s":19}]}],"o":[{".":48,"d":20}]}],"é":[{"a":[{"l":[{"t":12}],"r":20}],"i":[{"r":[{"s":181}]}]}],"f":[{"e":46,"é":[{"a":117,"i":[{"r":117}]}],"h":[{"e":[{"a":[{"r":25}]}]}],"i":46},43],"g":[{"h":[{"a":[{"i":[{"r":[{"t":25}]}]}]}]},43],"h":[{"a":[{"i":[{"g":[{"h":[{"d":125}]}],"l":[{"b":21}],"r":[{"d":62}]}],"n":[{"t":12}],"r":19}],"á":[{"i":[{"t":[{"e":[{".":15,"á":[{".":15}]}],"í":15}]}]}],"e":[{"a":[{"c":[{"h":[{"t":[{"a":125}]}]}],"l":[{"a":21}],"n":[{"m":21}],"r":[{"b":[{"h":23}]}],"s":[{"t":21}]}],"i":[{"c":[{"t":36}],"l":[{"f":12}],"r":[{"f":221}],"t":[{"s":21}]}]}],"é":[{"a":[{"l":[{"a":[{"i":[{"n":30}]}]}]}],"i":[{"r":[{"s":12}]}]}],"i":[{"b":[{"é":19}],"p":19,"ú":[{"n":[{"t":93},36]}]}],"í":[{"b":[{"h":15}],"l":7,"o":4,"t":3}],"l":[{"i":[{"o":[{"s":25}]}],"í":[{"o":[{"d":25}]}]}],"n":[{"í":[{"d":19,"g":19,"m":19,"o":[{"d":19,"m":[{"a":19}],"n":19}]}],"u":[{"a":21}]}],"o":[{"c":[{"h":[{"a":[{"i":[{"d":15}]}]}]}],"g":[{"h":15}],"m":[{"h":222}],"r":[{"b":21},9],"t":[{"h":15}]}],"ó":[{"f":15,"i":[{"d":[{"í":15}],"m":15,"n":[{"n":15}],"t":[{"í":15}]}],"m":[{"h":15}]}],"u":[{"a":[{"i":17,"l":111}]}],"ú":[{"c":[{"h":12},15],"d":[{"a":[{"r":10}]}],"i":[{"m":[{".":15}],"n":15,"t":[{"í":[{".":15}]}]}],"m":[{"a":[{"r":15}]}],"s":19}]},151],"i":[{"a":[{"c":[{"h":[{"t":25},12]}],"i":[{"t":15}]},43],"b":[{"e":2,"é":15}],"c":43,"d":[{"h":17},43],"f":[{"é":38,"r":223},48],"g":[{"é":11},43],"l":[{"e":[{"a":51}],"f":47,"i":[{"g":[{"í":51}]}],"t":47}],"m":[{"e":[{"a":21}],"é":47},43],"n":[{"g":115,"í":3,"t":[{"i":[{"ú":19}]},47]}],"o":[{"s":[{"t":30}]}],"s":[{"c":3,"t":9},8],"ú":[{"d":48,"i":[{"t":115}],"r":19,"t":113},43]}],"í":[{"b":[{"h":35}],"l":[{"e":117},8],"m":[{"e":[{"a":42}]}],"o":[{"l":[{"l":12},19]}],"t":[{"h":169}]}],"l":[{"a":[{"c":[{"á":19}],"g":[{"á":20,"ó":20}]},4],"á":[{"i":[{"n":47}],"n":51}],"e":[{"á":[{"d":30}]}],"é":[{"a":[{"c":[{"h":[{"t":23},34]}]}]}],"í":[{"o":[{"d":[{"ó":21}]}],"t":3}]},43],"m":[{"a":[{"l":[{"a":15}]}],"e":[{"a":[{"c":[{"h":[{"t":121},25]}],"d":21,"r":[{"t":34},21]}],"á":17}],"h":4,"i":1},61],"n":[{"i":[{"t":9}],"ó":46,"u":[{"a":19}]},61],"o":[{"b":[{"h":17}],"c":[{"h":[{"a":[{"i":[{"d":2}]}],"t":22}]}],"d":8,"f":[{"a":8}],"g":[{"h":2}],"i":[{"r":[{"b":[{"h":17}]}]}],"l":[{"á":[{"i":2}]}],"m":[{"h":178}],"n":[{"u":2}],"r":[{"b":19,"c":[{"h":21},4]}],"t":[{"h":224}]}],"ó":[{"f":43,"g":43,"i":[{"n":[{".":117,"e":51,"í":51},9],"t":[{"í":2}]}],"l":[{"a":[{"i":[{"n":11}],"n":11}]}],"m":[{"h":2}],"n":117,"t":[{"a":[{"c":2,"í":11}]}]}],"p":[{"a":[{"d":[{"a":19,"á":19}],"i":[{"r":[{"n":138}]}],"n":[{"n":63}]}],"e":[{"a":[{"c":[{"h":25}]}]}],"i":[{"d":3}],"o":[{"r":[{"t":12},19]}],"ó":[{"r":17}],"r":[{"a":[{"e":21}]}],"u":[{"i":[{"r":12}]}]},43],"r":[{"ú":1},43],"t":[{".":48,"a":[{"d":[{"á":15}],"g":43,"i":[{"g":35,"s":[{"t":25}]},17],"í":39,"l":43,"m":[{"a":2}],"s":35}],"á":[{"i":[{"n":12,"t":113}],"t":225}],"e":[{"a":[{"n":[{"n":2}]}],"o":53}],"é":[{"i":[{"g":52,"n":47}]},43],"i":[{".":48,"c":[{"e":46,"i":[{"g":42}]}],"l":[{"e":[{".":42}]}],"m":39,"o":51,"r":40,"s":[{"e":1}],"t":[{"h":35}]}],"í":[{"c":40,"s":40}],"ó":[{"g":46}],"r":[{"a":[{"e":21,"l":[{"a":47}]}]},43],"u":1,"ú":[{"i":[{"n":60}]}]}],"u":[{"a":[{"i":3,"l":6}]}],"ú":[{"c":[{"h":17},2],"d":[{"a":[{"r":11}]},51],"f":47,"i":[{"g":51,"m":[{".":2}],"n":[{"n":2}],"t":[{"e":[{".":2}],"í":[{".":2}]},47]}],"m":[{"a":[{"r":2}]}],"n":43,"s":15}],"v":[{"a":0}]}],"t":[{"a":[{"c":[{"h":[{"a":0,"t":[{"á":17}]}],"r":35}],"d":[{"á":[{"i":2}],"h":[{".":46}]}],"e":[{"n":15}],"g":[{"a":117,"á":[{"l":189},38],"h":[{"d":16},9],"ó":39}],"i":[{"g":[{".":115,"e":115}],"n":[{"i":[{"a":117}],"t":32}],"r":[{"b":[{"h":93},64],"g":102,"n":106}],"s":[{"c":[{"e":21}],"t":[{"e":[{"a":[{"r":19}],"á":19}],"i":[{"l":21}],"í":19}]}],"t":[{"é":8,"í":42}]}],"l":[{"a":206,"c":7,"l":47,"ú":[{"i":[{"n":226}],"n":48}]}],"m":[{"a":[{"l":4}],"á":[{"i":11,"n":35}]}],"n":[{"b":113,"g":[{"ó":8}],"n":[{"a":[{".":53,"c":51,"i":51}]},46],"o":2,"t":28}],"p":[{"l":11}],"r":[{"c":94,"d":10,"g":6,"t":[{"a":[{".":15},9]}]},58],"s":[{"l":38,"t":[{"r":15},38]}],"t":[{"a":113,"o":55,"ú":15},117]}],"á":[{".":52,"d":5,"i":[{"l":43,"m":[{".":1}],"r":[{"s":32,"t":19}],"t":51,"v":46}],"l":118,"s":117,"t":[{"h":[{"a":[{"r":224}]}]},51]}],"b":[{"h":3},43],"c":43,"d":[{"h":46}],"e":[{"a":[{"b":52,"d":46,"f":[{"a":15}],"g":[{"á":6,"r":8}],"l":[{".":46,"a":[{"i":[{"n":15}],"n":8},46],"ó":46,"t":42}],"m":[{"á":6,"o":47}],"n":[{"ú":113}],"r":[{"n":227},58],"s":[{"t":173}]}],"á":[{"i":43,"l":43,"m":19},3],"i":104,"o":[{"c":97},43]}],"é":[{"a":[{"c":[{"h":[{"t":25},12]}],"l":[{"a":8},64],"r":[{"t":30}]}],"i":[{"g":[{"h":1},53],"r":[{"s":134}],"t":47}]}],"f":118,"g":43,"h":[{".":53,"a":[{"b":48,"c":[{"h":[{"t":37}]}],"g":[{"h":[{"d":93},36]}],"i":[{"r":[{"b":[{"h":23},36],"g":12,"i":[{"s":[{".":12}]}],"n":[{"e":25},36]}],"s":[{"t":25}]}],"m":[{".":2}],"n":[{"g":20,"t":106}],"p":7,"r":[{"c":12,"g":30,"n":67,"r":113,"t":[{"a":30}]}]},51],"á":[{"i":[{"n":21,"r":[{"t":21}]}]}],"e":[{"a":[{"d":[{"a":[{"s":21}]}],"l":[{"a":20}],"s":[{"t":138}]}],"á":[{"n":2},48]},47],"é":[{"a":[{"c":[{"h":[{"t":23},34]}],"l":[{"a":20},148]}],"i":[{"f":8}]},51],"f":39,"i":[{"n":[{".":2,"i":17}],"t":[{"e":20}]}],"í":[{"f":7,"o":[{"t":19}],"s":1}],"l":[{"u":[{"a":[{"d":[{"a":21}]}]}]},39],"n":[{"ó":2}],"o":[{"i":[{"n":228,"r":[{"n":152}]}],"n":52,"r":[{"c":9,"p":[{"á":19}]}],"s":[{"t":21}]}],"ó":[{"c":[{"h":21}],"g":[{"t":113}],"i":[{"r":[{"s":[{"e":12,"í":12}]}]}],"s":9}],"r":[{"á":[{"b":19,"i":[{"n":[{"n":19}]}]}],"í":[{"o":[{"c":20}]}],"o":[{"s":12}]}],"s":53,"u":[{"a":[{"d":[{"a":19}],"i":[{"m":19,"t":[{"e":[{"a":19}]}]}],"r":21}],"i":[{"g":113}],"r":52,"s":[{"a":15}]}]},58],"i":[{".":48,"a":[{"g":15,"m":139}],"b":[{"é":[{"a":[{"r":3}]},15],"i":39},176],"d":[{"é":35,"i":35},216],"f":38,"g":[{"e":115},43],"l":[{"e":[{"o":46}],"í":[{"t":53},46],"t":42}],"m":[{"é":229,"í":[{"n":[{"e":2,"i":2}]}]}],"n":[{"d":7,"e":[{"a":46}],"i":46,"í":46,"t":82}],"p":[{"i":[{"c":30}]}],"r":[{"i":4}],"s":[{"t":230},8],"t":[{"e":[{"a":15,"á":15,"o":139}],"é":2,"i":[{"ú":35}]}],"ú":[{".":43,"l":46,"n":52}]}],"í":[{"f":72,"g":15,"l":231,"o":[{"l":115,"p":113,"r":113,"t":10}],"p":117,"r":113,"t":[{"e":[{"a":[{"s":139}]}],"i":139}]},43],"l":118,"m":[{"a":0,"e":1,"i":1},43],"n":[{"e":42,"í":42},159],"o":[{"d":[{"ó":15}],"f":15,"i":[{"d":48,"n":17,"r":[{"n":106}]}],"m":[{"a":3}],"r":[{"c":[{"h":16},31],"p":8,"t":[{"a":19}]}],"s":[{"t":98}]}],"ó":[{"c":[{"h":19}],"f":43,"i":[{"p":52,"r":[{"s":[{"e":17,"í":17}]}]}],"l":52,"p":52,"s":232}],"r":[{"a":[{"b":[{"ó":3}],"c":[{"á":233},17],"i":[{"m":22,"p":53}],"l":[{"á":[{"i":[{"b":48}]}]}],"r":46}],"á":[{"b":15,"i":[{"n":[{"n":15}],"s":51}],"t":47}],"e":[{"a":[{"m":[{"a":20},36]}]}],"i":[{"a":[{"c":[{"h":34}]}],"g":[{"h":[{"n":8}]}]}],"í":[{"r":26}],"o":[{"s":[{"t":21},17]}],"ó":[{"p":52}],"u":[{"a":[{"c":[{"á":20},36]}]},47],"ú":[{"s":51},1]}],"s":[{"a":[{"i":51,"l":[{"a":19,"v":22},3]},42],"e":[{"a":[{"n":51,"r":[{"b":[{"h":23}]}]},174],"o":46}],"i":[{"m":7,"ú":[{"n":[{"t":25},12]}]},46],"í":43,"u":46,"ú":46},14],"u":[{"a":[{"d":[{"a":15}],"i":[{"t":[{"e":[{"a":15}]}]}],"r":19}],"i":[{"s":20}],"í":[{"o":20}],"r":[{"b":8,"n":6}]}],"ú":[{"i":[{"d":42}],"m":29,"s":234}],"v":[{"i":46}]}],"u":[{"a":[{"b":[{"h":[{"r":17}]}],"c":[{"h":[{"l":35}]}],"d":[{"á":8}],"f":[{"a":[{".":1}]},122],"i":[{"d":[{"í":35},48],"g":[{"é":10,"í":[{".":35}]}],"m":[{"i":[{"d":35,"s":35}]}],"n":[{"n":[{".":35}],"s":12,"t":92}],"r":[{"c":[{"í":67}],"n":12,"t":[{"í":19}]}],"s":[{"t":148},54],"t":[{"e":[{"á":35}],"h":[{"i":[{"s":37}]}],"í":[{".":35}],"s":19}]}],"l":[{"a":[{"t":[{"h":34},19]}],"g":6,"u":35}],"m":[{"a":[{"r":35}],"h":[{"a":[{"r":17}],"é":35}]}],"n":[{"a":[{"l":30}],"l":[{"a":113}],"ó":[{"s":2}]}],"r":[{"g":6,"t":[{"a":[{"i":15,"í":[{".":15}],"n":15}]},9]}]}],"b":[{"a":39,"á":2,"h":26}],"c":[{"a":39,"h":[{"a":26,"á":8,"ó":8,"r":8}],"l":2,"r":35,"s":35,"ú":2}],"d":39,"f":39,"g":[{"a":[{"d":[{"á":15}]}],"l":35}],"i":[{"c":[{"i":[{"s":7}]}],"d":26,"f":[{"é":19}],"g":108,"l":[{"p":8}],"m":[{"p":8},0],"n":[{"c":15,"s":[{"i":[{"ú":20}]}],"t":[{"í":[{"n":3},19]},6]}],"p":5,"r":[{"b":[{"h":12},82],"c":[{"í":6}],"e":53,"n":17,"s":[{"t":20},48],"t":[{"í":9},8]}],"s":[{"c":[{"r":8}],"t":15},1],"t":[{"é":8,"s":8}]}],"í":[{"b":35,"d":35,"g":39,"l":[{"e":11}],"m":39,"o":[{"d":[{"ó":8},39],"m":[{"a":35}],"n":[{"n":35}]}],"ó":35,"t":[{"e":[{"á":2}],"h":17,"í":2}]}],"l":[{"a":39,"á":35,"g":38,"m":38,"ó":35,"p":11,"t":[{"a":[{"s":5}],"r":0}]}],"m":[{"a":39,"h":26,"p":26}],"n":[{"a":2,"á":35,"c":[{"a":26}],"e":2,"g":[{"a":[{"l":235,"r":38}],"á":2},26],"o":35,"ó":39,"s":[{"a":[{".":1,"í":5}]}],"ú":[{"d":9},35]}],"ó":[{"t":29}],"p":39,"r":[{"a":[{"c":[{"h":16}],"g":1},204],"á":35,"c":[{"a":[{"m":67}],"h":9}],"d":[{"ú":29}],"g":[{"ó":[{"i":15,"n":2}]}],"i":35,"l":[{"á":[{"l":27}]}],"m":38,"n":48,"ó":35,"p":35,"s":[{"c":[{"a":[{"r":[{"t":23},34]}]}]}],"t":38,"u":2,"ú":35}],"s":[{".":48,"c":[{"a":[{"i":15}],"l":8,"r":35}],"t":[{"a":[{"c":15,"i":[{"l":15}],"l":72}],"ó":35,"u":2,"ú":[{"n":15}]}]}],"t":[{"a":2,"á":63,"e":35,"h":[{"a":[{"n":[{"t":21}]}]},26],"ó":35}],"z":[{"a":35}]}],"ú":[{"a":[{"n":42}],"á":[{"i":[{"l":[{".":47}]}]},43],"b":[{"a":[{"d":[{"á":15}],"i":[{"l":36}]}],"h":[{"a":15},0]},39],"c":[{"a":[{"b":8,"s":[{"t":9}]},39],"h":[{"a":26,"á":176,"e":46,"í":46,"l":15,"ó":[{"g":15}],"r":42,"t":[{"ó":9}]}],"l":39,"ó":39,"r":[{"á":0},39]}],"d":[{"ó":51,"r":2,"ú":2},39],"f":[{"ó":51},43],"g":[{"h":43,"r":39}],"i":[{"d":[{"í":[{"s":46}]},53],"g":[{"í":46}],"l":[{"e":48,"i":48,"t":28}],"m":[{"i":46}],"n":[{"t":9}],"r":[{"t":[{"é":31},20]}],"s":[{"c":[{"é":6},20]}],"t":[{"e":[{"a":[{"r":42}],"á":[{".":46}]}],"h":[{"i":[{"s":21}]}],"í":[{"n":51}],"s":[{"e":[{"á":20}]}]}]}],"l":[{"a":[{"g":[{"á":171},40]}],"c":4,"e":76,"é":[{"i":[{"m":1}]}],"i":40,"r":48,"t":4,"u":[{"a":40}],"ú":[{"l":15},2]},39],"m":[{"h":[{"a":[{"c":8}],"n":47,"ú":170},43]}],"n":[{"a":2,"á":35,"g":[{"á":15,"u":15}],"l":48,"n":128,"o":35,"ó":39,"t":143}],"p":[{"a":[{"t":10},63],"r":76},39],"r":[{"a":[{"b":[{"h":36},8],"d":[{"á":8}],"n":[{"a":1},17]}],"ó":2,"t":4,"u":60,"ú":[{"i":42},0]},39],"s":[{"a":[{"i":[{"r":0}]}],"á":[{"n":2},14],"c":26,"h":[{"l":170}],"m":40,"ó":35,"p":[{"é":40}],"t":[{"o":46,"ó":8,"r":27}],"ú":35}],"t":[{"a":35,"á":236,"h":[{"o":46},26],"ó":[{"g":2}],"r":39}],"ú":[{"i":42,"l":42}]}],"v":[{"a":[{"c":[{"h":17,"s":6}],"d":47,"i":[{"s":[{"c":12},19]}],"r":[{"d":17},15],"t":117},43],"á":43,"e":[{"a":[{"n":[{"t":21},17],"r":[{"n":12},20]}],"i":[{"l":[{"b":19}]},117],"o":46}],"é":[{"a":[{"r":17}],"i":[{"s":[{"t":12},19]}]}],"i":[{"a":[{"l":115}],"n":[{"i":117}],"o":[{"s":19}],"r":[{"g":17},15]}],"í":[{"c":51}],"l":[{"a":46}],"o":[{"l":[{"t":20},237]}],"u":[{"í":[{"t":19}]}]}],"x":[{"a":[{"c":46,"i":42,"í":42}]}]}',"bhrachtaí.mbrachtaí.cháintí.gcáintí.cheiltí.gceiltí.chistí.gcistí.choirtí.gcoirtí.chreataí.gcreataí.dhoirteá.dhoirtear.dhoirtí.doirtear.ndoirteá.ndoirtear.ndoirtí.bhfuadar.fhuadar.bhfuafar.fhuafar.fuafar.ghaistí.ngaistí.ghealtaí.ngealtaí.ghortaí.ngortaí.haistí.léamar.luadar.meataí.mheataí.réaltaí.rífear.sádar.shádar.sáimis.sháimis.sáfaí.sháfaí.spealta.dtiom-áintí.thiom-áintí".split(".")]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/6620.adapter.js b/public/tools/cloud_sheets/vendor/univer/6620.adapter.js new file mode 100644 index 0000000..7fff40e --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/6620.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[6620],{6620(e,o,a){a.r(o),a.d(o,{Hr:()=>u});const u=["012,01,1,2,21,02,001,201,12,,021,002,0201,0021,0023",'{"a":[{"a":0,"e":0,"i":0,"o":0,"u":0,"b":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"c":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"č":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"ć":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"d":[{"a":1,"e":1,"i":1,"o":1,"u":1,"ž":[{"a":1,"e":1,"i":1,"o":1,"u":1}]}],"đ":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"f":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"g":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"h":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"j":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"k":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"l":[{"a":1,"e":1,"i":1,"o":1,"u":1,"j":[{"a":1,"e":1,"i":1,"o":1,"u":1}]}],"m":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"n":[{"a":1,"e":1,"i":1,"o":1,"u":1,"j":[{"a":1,"e":1,"i":1,"o":1,"u":1}]}],"p":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"r":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"s":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"š":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"t":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"v":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"z":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"ž":[{"a":1,"e":1,"i":1,"o":1,"u":1}]}],"e":[{"a":0,"e":0,"i":0,"o":0,"u":0,"b":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"c":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"č":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"ć":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"d":[{"a":1,"e":1,"i":1,"o":1,"u":1,"ž":[{"a":1,"e":1,"i":1,"o":1,"u":1}]}],"đ":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"f":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"g":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"h":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"j":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"k":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"l":[{"a":1,"e":1,"i":1,"o":1,"u":1,"j":[{"a":1,"e":1,"i":1,"o":1,"u":1}]}],"m":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"n":[{"a":1,"e":1,"i":1,"o":1,"u":1,"j":[{"a":1,"e":1,"i":1,"o":1,"u":1}]}],"p":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"r":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"s":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"š":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"t":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"v":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"z":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"ž":[{"a":1,"e":1,"i":1,"o":1,"u":1}]}],"i":[{"a":0,"e":0,"i":0,"o":0,"u":0,"b":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"c":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"č":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"ć":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"d":[{"a":1,"e":1,"i":1,"o":1,"u":1,"ž":[{"a":1,"e":1,"i":1,"o":1,"u":1}]}],"đ":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"f":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"g":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"h":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"j":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"k":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"l":[{"a":1,"e":1,"i":1,"o":1,"u":1,"j":[{"a":1,"e":1,"i":1,"o":1,"u":1}]}],"m":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"n":[{"a":1,"e":1,"i":1,"o":1,"u":1,"j":[{"a":1,"e":1,"i":1,"o":1,"u":1}]}],"p":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"r":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"s":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"š":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"t":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"v":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"z":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"ž":[{"a":1,"e":1,"i":1,"o":1,"u":1}]}],"o":[{"a":0,"e":0,"i":0,"o":0,"u":0,"b":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"c":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"č":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"ć":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"d":[{"a":1,"e":1,"i":1,"o":1,"u":1,"ž":[{"a":1,"e":1,"i":1,"o":1,"u":1}]}],"đ":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"f":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"g":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"h":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"j":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"k":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"l":[{"a":1,"e":1,"i":1,"o":1,"u":1,"j":[{"a":1,"e":1,"i":1,"o":1,"u":1}]}],"m":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"n":[{"a":1,"e":1,"i":1,"o":1,"u":1,"j":[{"a":1,"e":1,"i":1,"o":1,"u":1}]}],"p":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"r":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"s":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"š":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"t":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"v":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"z":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"ž":[{"a":1,"e":1,"i":1,"o":1,"u":1}]}],"u":[{"a":0,"e":0,"i":0,"o":0,"u":0,"b":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"c":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"č":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"ć":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"d":[{"a":1,"e":1,"i":1,"o":1,"u":1,"ž":[{"a":1,"e":1,"i":1,"o":1,"u":1}]}],"đ":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"f":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"g":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"h":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"j":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"k":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"l":[{"a":1,"e":1,"i":1,"o":1,"u":1,"j":[{"a":1,"e":1,"i":1,"o":1,"u":1}]}],"m":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"n":[{"a":1,"e":1,"i":1,"o":1,"u":1,"j":[{"a":1,"e":1,"i":1,"o":1,"u":1}]}],"p":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"r":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"s":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"š":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"t":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"v":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"z":[{"a":1,"e":1,"i":1,"o":1,"u":1}],"ž":[{"a":1,"e":1,"i":1,"o":1,"u":1}]}],"b":[{"b":1,"c":1,"č":1,"ć":1,"d":[{"ž":1},1],"đ":1,"f":1,"g":1,"h":1,"j":[{".":3},2],"k":1,"l":[{".":3,"j":4},2],"m":1,"n":[{"j":1},1],"p":1,"r":[{".":3},2],"s":1,"š":1,"t":1,"v":[{".":3},2],"z":1,"ž":1}],"c":[{"b":1,"c":1,"č":1,"ć":1,"d":[{"ž":1},1],"đ":1,"f":1,"g":1,"h":1,"j":[{".":3},2],"k":1,"l":[{".":3,"j":4},2],"m":1,"n":[{"j":1},1],"p":1,"r":[{".":3},2],"s":1,"š":1,"t":1,"v":[{".":3},2],"z":1,"ž":1}],"č":[{"b":1,"c":1,"č":1,"ć":1,"d":[{"ž":1},1],"đ":1,"f":1,"g":1,"h":1,"j":[{".":3},2],"k":1,"l":[{".":3,"j":4},2],"m":1,"n":[{"j":1},1],"p":1,"r":[{".":3},2],"s":1,"š":1,"t":1,"v":[{".":3},2],"z":1,"ž":1}],"ć":[{"b":1,"c":1,"č":1,"ć":1,"d":[{"ž":1},1],"đ":1,"f":1,"g":1,"h":1,"j":1,"k":1,"l":[{".":3,"j":4},2],"m":1,"n":[{"j":1},1],"p":1,"r":[{".":3},2],"s":[{"t":0},1],"š":1,"t":1,"v":[{".":3},2],"z":1,"ž":1}],"d":[{"b":1,"c":1,"č":1,"ć":1,"d":1,"ž":[{"b":6,"c":6,"č":6,"ć":6,"d":[{"ž":6},6],"đ":6,"f":6,"g":6,"h":6,"j":[{".":3},2],"k":6,"l":[{".":3,"j":7},2],"m":6,"n":[{"j":6},6],"p":6,"r":[{".":3},2],"s":6,"š":6,"t":6,"v":[{".":3},2],"z":6,"ž":6},5],"đ":1,"f":1,"g":4,"h":1,"j":[{".":3,"a":4},2],"k":1,"l":[{"j":4},4],"m":1,"n":[{"j":1},1],"p":1,"r":[{".":3},2],"s":[{"m":0,"p":0,"t":0},1],"š":[{"k":0},1],"t":1,"v":[{".":3,"j":4,"r":4,"l":4},2],"z":1}],"đ":[{"b":1,"c":1,"č":1,"ć":1,"d":[{"ž":1},1],"đ":1,"f":1,"g":1,"h":1,"j":[{".":3},2],"k":1,"l":[{".":3,"j":4},2],"m":1,"n":[{"j":1},1],"p":1,"r":[{".":3},2],"s":1,"š":1,"t":1,"v":[{".":3},2],"z":1,"ž":1}],"f":[{"b":1,"c":1,"č":1,"ć":1,"d":[{"ž":1},1],"đ":1,"f":1,"g":1,"h":1,"j":[{".":3},2],"k":1,"l":[{".":3,"j":4},2],"m":1,"n":[{"j":1},1],"p":1,"r":[{".":3},2],"s":1,"š":1,"t":1,"v":[{".":3},2],"z":1,"ž":1}],"g":[{"b":1,"c":1,"č":1,"ć":1,"d":[{"ž":1},1],"đ":1,"f":1,"g":1,"h":1,"j":[{".":3},2],"k":1,"l":[{".":3,"j":4},2],"m":1,"n":[{"j":1},1],"p":1,"r":[{".":3},2],"s":1,"š":1,"t":1,"v":[{".":3},2],"z":1,"ž":1}],"h":[{"b":1,"c":1,"č":1,"ć":1,"d":[{"ž":1},1],"đ":1,"f":1,"g":1,"h":1,"j":[{".":3},2],"k":1,"l":[{".":3,"j":4},2],"m":1,"n":[{"j":1},1],"p":1,"r":[{".":3},2],"s":1,"š":1,"t":1,"v":[{".":3},2],"z":1,"ž":1}],"j":[{"b":1,"c":1,"č":1,"ć":1,"d":[{"ž":1},1],"đ":1,"f":1,"g":1,"h":1,"j":1,"k":1,"l":[{"j":4},1],"m":1,"n":[{"j":1},1],"p":1,"r":1,"s":[{"l":0,"t":0},1],"š":1,"t":1,"v":1,"z":[{"g":0},1],"ž":1}],"k":[{"b":1,"c":1,"č":1,"ć":1,"d":[{"ž":1},1],"đ":1,"f":1,"g":1,"h":1,"j":[{".":3},2],"k":1,"l":[{"j":[{".":3},8]},1],"m":1,"n":[{"j":1},1],"p":1,"r":[{".":3},2],"s":[{"p":10},1],"š":1,"t":1,"v":1,"z":1,"ž":1}],"l":[{"b":1,"c":1,"č":1,"ć":1,"d":[{"ž":1},1],"đ":1,"f":[{"t":10},1],"g":1,"h":1,"k":1,"l":[{"j":4},1],"m":[{"s":10},1],"n":[{"j":1},1],"p":1,"r":1,"s":1,"š":1,"t":1,"v":1,"z":1,"ž":1,"j":[{"b":6,"c":6,"č":6,"ć":6,"d":[{"ž":6},6],"đ":6,"f":6,"g":6,"h":6,"k":6,"l":[{".":3,"j":6},2],"m":6,"n":[{"j":6},6],"p":6,"r":[{".":3},2],"s":6,"š":6,"t":6,"v":[{".":3},2],"z":6,"ž":6}]}],"m":[{"b":1,"c":1,"č":1,"ć":1,"d":[{"ž":1},1],"đ":1,"f":1,"g":1,"h":1,"j":[{".":3},2],"k":1,"l":[{".":3,"j":4},2],"m":1,"n":[{"j":1},1],"p":[{"t":10},1],"r":[{".":3},2],"s":1,"š":1,"t":1,"v":[{".":3},2],"z":1,"ž":1}],"n":[{"b":1,"c":1,"č":1,"ć":1,"d":[{"ž":1},1],"đ":1,"f":1,"g":1,"h":1,"j":[{".":3,"b":6,"c":6,"č":6,"ć":6,"d":[{"ž":6},6],"đ":6,"f":6,"g":6,"h":6,"j":[{".":3},2],"k":6,"l":[{".":3,"j":7},2],"m":6,"n":[{"j":6},6],"p":6,"r":[{".":3},2],"s":6,"š":6,"t":6,"v":[{".":3},2],"z":6,"ž":6}],"k":[{"c":10},1],"l":[{".":3,"j":4},2],"m":1,"n":[{"j":1},1],"p":1,"r":1,"s":[{"t":10},1],"š":1,"t":[{"s":10,"n":10},1],"v":[{".":3},2],"z":1,"ž":1}],"p":[{"b":1,"c":1,"č":1,"ć":1,"d":[{"ž":1},1],"đ":1,"f":1,"g":1,"h":4,"j":[{".":3},2],"k":1,"l":[{".":3,"j":4},2],"m":1,"n":[{"j":1},1],"p":1,"r":[{".":3},2],"s":1,"š":1,"t":1,"v":[{".":3},2],"z":1,"ž":1}],"r":[{"b":1,"c":[{"n":10},1],"č":[{"k":10},1],"ć":1,"d":[{"ž":[{"b":12},1],"n":10},1],"đ":1,"f":1,"g":[{"n":10},1],"h":[{"n":[{"j":10}],"k":10,"t":10},1],"j":[{"e":8},1],"k":[{"n":10},1],"l":[{"j":4},1],"m":1,"n":[{"j":1,"t":10,"c":10,"k":10},1],"p":[{"c":10},1],"r":1,"s":[{"t":0},1],"š":1,"t":[{"c":10,"s":10,"m":10,".":3,"k":10,"n":10},1],"v":[{"n":10},1],"z":[{"n":10},1],"ž":1}],"s":[{"b":[{".":3},2],"c":1,"č":[{".":3},2],"ć":[{".":3},2],"d":[{".":3,"ž":[{".":3},2]},2],"đ":[{".":3},2],"f":[{".":3},2],"g":[{".":3},2],"h":[{".":3,"r":4},2],"j":[{".":3},2],"k":[{".":3,"r":4,"l":0},2],"l":[{"j":[{".":3},2]},1],"m":[{".":3},2],"n":[{".":3,"j":[{".":3},2]},1],"p":[{"n":10},1],"r":[{".":3},2],"s":[{".":3},2],"š":[{".":3},2],"t":[{".":3},1],"v":[{".":3,"l":0},2],"z":[{".":3},2],"ž":[{".":3},2]}],"š":[{"b":[{".":3},2],"c":1,"č":1,"ć":1,"d":[{".":3,"ž":[{".":3},2]},2],"đ":[{".":3},2],"f":[{".":3},2],"g":[{".":3},2],"h":[{".":3},2],"j":[{".":3},2],"k":[{".":3},2],"l":[{"j":4},1],"m":[{".":3},2],"n":[{"j":4},1],"p":[{".":3},2],"r":[{".":3},2],"s":[{".":3},2],"š":[{".":3},2],"t":[{".":3,"v":4},2],"v":[{".":3},2],"z":[{".":3},2],"ž":[{".":3},2]}],"t":[{"b":1,"c":1,"č":1,"ć":1,"d":[{"ž":1},1],"đ":1,"f":1,"g":1,"h":1,"j":[{".":3},2],"k":[{"l":0},1],"l":[{".":3,"j":4},2],"m":1,"n":[{"j":1},1],"p":1,"r":[{".":3},2],"s":[{"t":0},1],"š":1,"t":1,"v":[{".":3},2],"z":1,"ž":1}],"v":[{"b":1,"c":1,"č":1,"ć":1,"d":[{"ž":1},1],"đ":1,"f":1,"g":1,"h":1,"j":[{"e":8,".":9},1],"k":1,"l":[{"j":4},1],"m":1,"n":[{"j":1},1],"p":1,"r":2,"s":1,"š":1,"t":1,"v":1,"z":1,"ž":1}],"z":[{"b":1,"c":[{".":3},2],"č":[{".":3},2],"ć":[{".":3},2],"d":[{"ž":[{".":3},2]},1],"đ":[{".":3},2],"f":[{".":3},2],"g":[{"n":[{"j":0}]},1],"h":[{".":3},2],"j":[{".":3},2],"k":[{".":3},2],"l":[{"j":4},1],"m":1,"n":[{"j":[{".":3},2]},1],"p":[{".":3},2],"r":[{"j":0},1],"s":1,"š":[{".":3},2],"t":[{".":3},2],"v":[{".":3,"l":0,"r":4},2],"z":[{".":3},2],"ž":[{".":3},2]}],"ž":[{"b":[{".":3},1],"c":[{".":3},2],"č":[{".":3},2],"ć":[{".":3},2],"d":[{".":3,"ž":[{".":3},2]},2],"đ":[{".":3},2],"f":[{".":3},2],"g":[{".":3},2],"h":[{".":3},2],"j":1,"k":[{".":3},2],"l":[{".":3,"j":1},2],"m":[{".":3},2],"n":[{".":3,"j":4},1],"p":[{".":3},2],"r":[{".":3},2],"s":[{".":3},2],"š":[{".":3},2],"t":[{".":3},2],"v":[{".":3},2],"z":[{".":3},2],"ž":[{".":3},2]}],".":[{"z":[{"g":11}],"n":[{"a":[{"j":13}],"e":[{"o":14}]}],"b":[{"e":[{"z":13}]}],"i":[{"z":6,"s":6}]}]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/6681.adapter.js b/public/tools/cloud_sheets/vendor/univer/6681.adapter.js new file mode 100644 index 0000000..e029bf1 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/6681.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[6681],{6681(e,i,a){a.r(i),a.d(i,{Tk:()=>o});const o=["14,01,02,021,012",'{"-":0,"ä":[{"b":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"o":1,"a":1}],"ç":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"o":1,"a":1}],"d":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"o":1,"a":1}],"f":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"o":1,"a":1}],"g":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"o":1,"a":1}],"h":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"o":1,"a":1}],"j":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"o":1,"a":1}],"k":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"o":1,"a":1}],"l":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"o":1,"a":1}],"m":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"o":1,"a":1}],"n":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"o":1,"a":1}],"p":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"o":1,"a":1}],"r":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"o":1,"a":1}],"s":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"o":1,"a":1}],"t":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"o":1,"a":1}],"w":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"o":1,"a":1}],"ý":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"o":1,"a":1}],"z":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"o":1,"a":1}],"ň":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"o":1,"a":1}],"ž":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"o":1,"a":1}],"ş":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"o":1,"a":1}]}],"e":[{"b":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"ç":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"d":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"f":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"g":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"h":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"j":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"k":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"l":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"m":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"n":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"p":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"r":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"s":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"t":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"w":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"ý":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"z":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"ň":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"ž":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"ş":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}]}],"i":[{"b":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"ç":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"d":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"f":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"g":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"h":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"j":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"k":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"l":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"m":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"n":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"p":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"r":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"s":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"t":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"w":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"ý":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"z":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"ň":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"ž":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}],"ş":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1,"o":1}]}],"ö":[{"b":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1}],"ç":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1}],"d":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1}],"f":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1}],"g":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1}],"h":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1}],"j":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1}],"k":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1}],"l":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1}],"m":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1}],"n":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1}],"p":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1}],"r":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1}],"s":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1}],"t":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1}],"w":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1}],"ý":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1}],"z":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1}],"ň":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1}],"ž":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1}],"ş":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1,"a":1}]}],"ü":[{"b":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1}],"ç":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1}],"d":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1}],"f":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1}],"g":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1}],"h":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1}],"j":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1}],"k":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1}],"l":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1}],"m":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1}],"n":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1}],"p":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1}],"r":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1}],"s":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1}],"t":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1}],"w":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1}],"ý":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1}],"z":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1}],"ň":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1}],"ž":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1}],"ş":[{"ä":1,"e":1,"i":1,"ö":1,"ü":1}]}],"a":[{"b":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"ç":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"d":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"f":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"g":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"h":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"j":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"k":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"l":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"m":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"n":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"p":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"r":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"s":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"t":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"w":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"ý":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"z":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"ň":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"ž":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"ş":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}]}],"y":[{"b":[{"a":1,"y":1,"o":1,"u":1,"ä":1,"i":1,"e":1}],"ç":[{"a":1,"y":1,"o":1,"u":1,"ä":1,"i":1,"e":1}],"d":[{"a":1,"y":1,"o":1,"u":1,"ä":1,"i":1,"e":1}],"f":[{"a":1,"y":1,"o":1,"u":1,"ä":1,"i":1,"e":1}],"g":[{"a":1,"y":1,"o":1,"u":1,"ä":1,"i":1,"e":1}],"h":[{"a":1,"y":1,"o":1,"u":1,"ä":1,"i":1,"e":1}],"j":[{"a":1,"y":1,"o":1,"u":1,"ä":1,"i":1,"e":1}],"k":[{"a":1,"y":1,"o":1,"u":1,"ä":1,"i":1,"e":1}],"l":[{"a":1,"y":1,"o":1,"u":1,"ä":1,"i":1,"e":1}],"m":[{"a":1,"y":1,"o":1,"u":1,"ä":1,"i":1,"e":1}],"n":[{"a":1,"y":1,"o":1,"u":1,"ä":1,"i":1,"e":1}],"p":[{"a":1,"y":1,"o":1,"u":1,"ä":1,"i":1,"e":1}],"r":[{"a":1,"y":1,"o":1,"u":1,"ä":1,"i":1,"e":1}],"s":[{"a":1,"y":1,"o":1,"u":1,"ä":1,"i":1,"e":1}],"t":[{"a":1,"y":1,"o":1,"u":1,"ä":1,"i":1,"e":1}],"w":[{"a":1,"y":1,"o":1,"u":1,"ä":1,"i":1,"e":1}],"ý":[{"a":1,"y":1,"o":1,"u":1,"ä":1,"i":1,"e":1}],"z":[{"a":1,"y":1,"o":1,"u":1,"ä":1,"i":1,"e":1}],"ň":[{"a":1,"y":1,"o":1,"u":1,"ä":1,"i":1,"e":1}],"ž":[{"a":1,"y":1,"o":1,"u":1,"ä":1,"i":1,"e":1}],"ş":[{"a":1,"y":1,"o":1,"u":1,"ä":1,"i":1,"e":1}]}],"o":[{"b":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"ç":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"d":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"f":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"g":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"h":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"j":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"k":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"l":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"m":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"n":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"p":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"r":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"s":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"t":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"w":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"ý":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"z":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"ň":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"ž":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"ş":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}]}],"u":[{"b":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"ç":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"d":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"f":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"g":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"h":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"j":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"k":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"l":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"m":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"n":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"p":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"r":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"s":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"t":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"w":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"ý":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"z":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"ň":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"ž":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}],"ş":[{"a":1,"y":1,"o":1,"u":1,"i":1,"e":1}]}],"b":[{"b":1,"ç":1,"d":1,"f":1,"g":1,"h":1,"j":1,"k":1,"l":1,"m":1,"n":1,"p":1,"r":1,"s":1,"t":1,"w":1,"ý":1,"z":1,"ň":1,"ž":1,"ş":1}],".":[{"b":[{"b":2,"ç":2,"d":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":2,"m":2,"n":2,"p":2,"r":2,"s":2,"t":2,"w":2,"ý":2,"z":2,"ň":2,"ž":2,"ş":2}],"ç":[{"b":2,"ç":2,"d":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":2,"m":2,"n":2,"p":2,"r":2,"s":2,"t":2,"w":2,"ý":2,"z":2,"ň":2,"ž":2,"ş":2}],"d":[{"b":2,"ç":2,"d":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":2,"m":2,"n":2,"p":2,"r":2,"s":2,"t":2,"w":2,"ý":2,"z":2,"ň":2,"ž":2,"ş":2}],"f":[{"b":2,"ç":2,"d":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":2,"m":2,"n":2,"p":2,"r":2,"s":2,"t":2,"w":2,"ý":2,"z":2,"ň":2,"ž":2,"ş":2}],"g":[{"b":2,"ç":2,"d":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":2,"m":2,"n":2,"p":2,"r":2,"s":2,"t":2,"w":2,"ý":2,"z":2,"ň":2,"ž":2,"ş":2}],"h":[{"b":2,"ç":2,"d":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":2,"m":2,"n":2,"p":2,"r":2,"s":2,"t":2,"w":2,"ý":2,"z":2,"ň":2,"ž":2,"ş":2}],"j":[{"b":2,"ç":2,"d":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":2,"m":2,"n":2,"p":2,"r":2,"s":2,"t":2,"w":2,"ý":2,"z":2,"ň":2,"ž":2,"ş":2}],"k":[{"b":2,"ç":2,"d":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":2,"m":2,"n":2,"p":2,"r":2,"s":2,"t":2,"w":2,"ý":2,"z":2,"ň":2,"ž":2,"ş":2}],"l":[{"b":2,"ç":2,"d":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":2,"m":2,"n":2,"p":2,"r":2,"s":2,"t":2,"w":2,"ý":2,"z":2,"ň":2,"ž":2,"ş":2}],"m":[{"b":2,"ç":2,"d":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":2,"m":2,"n":2,"p":2,"r":2,"s":2,"t":2,"w":2,"ý":2,"z":2,"ň":2,"ž":2,"ş":2}],"n":[{"b":2,"ç":2,"d":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":2,"m":2,"n":2,"p":2,"r":2,"s":2,"t":2,"w":2,"ý":2,"z":2,"ň":2,"ž":2,"ş":2}],"p":[{"b":2,"ç":2,"d":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":2,"m":2,"n":2,"p":2,"r":2,"s":2,"t":2,"w":2,"ý":2,"z":2,"ň":2,"ž":2,"ş":2}],"r":[{"b":2,"ç":2,"d":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":2,"m":2,"n":2,"p":2,"r":2,"s":2,"t":2,"w":2,"ý":2,"z":2,"ň":2,"ž":2,"ş":2}],"s":[{"b":2,"ç":2,"d":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":2,"m":2,"n":2,"p":2,"r":2,"s":2,"t":2,"w":2,"ý":2,"z":2,"ň":2,"ž":2,"ş":2}],"t":[{"b":2,"ç":2,"d":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":2,"m":2,"n":2,"p":2,"r":2,"s":2,"t":2,"w":2,"ý":2,"z":2,"ň":2,"ž":2,"ş":2}],"w":[{"b":2,"ç":2,"d":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":2,"m":2,"n":2,"p":2,"r":2,"s":2,"t":2,"w":2,"ý":2,"z":2,"ň":2,"ž":2,"ş":2}],"ý":[{"b":2,"ç":2,"d":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":2,"m":2,"n":2,"p":2,"r":2,"s":2,"t":2,"w":2,"ý":2,"z":2,"ň":2,"ž":2,"ş":2}],"z":[{"b":2,"ç":2,"d":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":2,"m":2,"n":2,"p":2,"r":2,"s":2,"t":2,"w":2,"ý":2,"z":2,"ň":2,"ž":2,"ş":2}],"ň":[{"b":2,"ç":2,"d":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":2,"m":2,"n":2,"p":2,"r":2,"s":2,"t":2,"w":2,"ý":2,"z":2,"ň":2,"ž":2,"ş":2}],"ž":[{"b":2,"ç":2,"d":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":2,"m":2,"n":2,"p":2,"r":2,"s":2,"t":2,"w":2,"ý":2,"z":2,"ň":2,"ž":2,"ş":2}],"ş":[{"b":2,"ç":2,"d":2,"f":2,"g":2,"h":2,"j":2,"k":2,"l":2,"m":2,"n":2,"p":2,"r":2,"s":2,"t":2,"w":2,"ý":2,"z":2,"ň":2,"ž":2,"ş":2}]}],"ç":[{"b":1,"ç":1,"d":1,"f":1,"g":1,"h":1,"j":1,"k":1,"l":1,"m":1,"n":1,"p":1,"r":1,"s":1,"t":1,"w":1,"ý":1,"z":1,"ň":1,"ž":1,"ş":1}],"d":[{"b":1,"ç":1,"d":1,"f":1,"g":1,"h":1,"j":1,"k":1,"l":1,"m":1,"n":1,"p":1,"r":1,"s":1,"t":1,"w":1,"ý":1,"z":1,"ň":1,"ž":1,"ş":1}],"f":[{"b":1,"ç":1,"d":1,"f":1,"g":1,"h":1,"j":1,"k":1,"l":1,"m":1,"n":1,"p":1,"r":1,"s":1,"t":1,"w":1,"ý":1,"z":1,"ň":1,"ž":1,"ş":1}],"g":[{"b":1,"ç":1,"d":1,"f":1,"g":1,"h":1,"j":1,"k":1,"l":1,"m":1,"n":1,"p":1,"r":1,"s":1,"t":[{"b":3,"ç":3,"d":3,"g":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"s":3,"t":3,"ý":3,"z":3,"ş":3},1],"w":1,"ý":1,"z":1,"ň":1,"ž":1,"ş":1}],"h":[{"b":1,"ç":1,"d":1,"f":1,"g":1,"h":1,"j":1,"k":1,"l":1,"m":1,"n":1,"p":1,"r":1,"s":1,"t":1,"w":1,"ý":1,"z":1,"ň":1,"ž":1,"ş":1}],"j":[{"b":1,"ç":1,"d":1,"f":1,"g":1,"h":1,"j":1,"k":1,"l":1,"m":1,"n":1,"p":1,"r":1,"s":1,"t":1,"w":1,"ý":1,"z":1,"ň":1,"ž":1,"ş":1}],"k":[{"b":1,"ç":1,"d":1,"f":1,"g":1,"h":1,"j":1,"k":1,"l":1,"m":1,"n":1,"p":1,"r":1,"s":1,"t":[{"b":3,"ç":3,"d":3,"g":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"s":3,"t":3,"ý":3,"z":3,"ş":3},1],"w":1,"ý":1,"z":1,"ň":1,"ž":1,"ş":1}],"l":[{"b":1,"ç":1,"d":1,"f":1,"g":1,"h":1,"j":1,"k":[{"b":3,"ç":3,"d":3,"g":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"s":3,"t":3,"ý":3,"z":3,"ş":3},1],"l":1,"m":[{"b":3,"ç":3,"d":3,"g":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"s":3,"t":3,"ý":3,"z":3,"ş":3},1],"n":1,"p":[{"b":3,"ç":3,"d":3,"g":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"s":3,"t":3,"ý":3,"z":3,"ş":3},1],"r":1,"s":[{"k":4,"t":4},1],"t":[{"b":3,"ç":3,"d":3,"g":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"s":3,"t":3,"ý":3,"z":3,"ş":3},1],"w":1,"ý":1,"z":1,"ň":1,"ž":1,"ş":1}],"m":[{"b":1,"ç":1,"d":1,"f":1,"g":1,"h":1,"j":1,"k":1,"l":1,"m":1,"n":1,"p":1,"r":1,"s":1,"t":1,"w":1,"ý":1,"z":1,"ň":1,"ž":1,"ş":1}],"n":[{"b":1,"ç":1,"d":1,"f":1,"g":[{"l":3,"r":4},1],"h":1,"j":1,"k":1,"l":1,"m":1,"n":1,"p":1,"r":1,"s":[{"b":3,"ç":3,"d":3,"g":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"s":3,"t":3,"ý":3,"z":3,"ş":3},1],"t":[{"b":3,"ç":3,"d":3,"g":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"s":3,"t":3,"ý":3,"z":3,"ş":3},1],"w":1,"ý":1,"z":1,"ň":1,"ž":1,"ş":1}],"p":[{"b":1,"ç":1,"d":1,"f":1,"g":1,"h":1,"j":1,"k":1,"l":1,"m":1,"n":1,"p":1,"r":1,"s":1,"t":1,"w":1,"ý":1,"z":1,"ň":1,"ž":1,"ş":1}],"r":[{"b":1,"ç":1,"d":1,"f":1,"g":1,"h":[{"b":3,"ç":3,"d":3,"g":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"s":3,"t":3,"ý":3,"z":3,"ş":3},1],"j":1,"k":[{"b":3,"ç":3,"d":3,"g":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"s":3,"t":3,"ý":3,"z":3,"ş":3},1],"l":1,"m":1,"n":1,"p":[{"b":3,"ç":3,"d":3,"g":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"s":3,"t":3,"ý":3,"z":3,"ş":3},1],"r":1,"s":[{"b":3,"ç":3,"d":3,"g":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"s":3,"t":3,"ý":3,"z":3,"ş":3},1],"t":[{"b":3,"ç":3,"d":3,"g":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"s":3,"t":3,"ý":3,"z":3,"ş":3},1],"w":1,"ý":1,"z":1,"ň":1,"ž":1,"ş":1}],"s":[{"b":1,"ç":1,"d":1,"f":1,"g":1,"h":1,"j":1,"k":[{"d":3,"w":3},1],"l":1,"m":1,"n":1,"p":1,"r":1,"s":1,"t":[{"b":3,"ç":3,"d":3,"g":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"s":3,"t":3,"ý":3,"z":3,"ş":3,"r":4},1],"w":1,"ý":1,"z":1,"ň":1,"ž":1,"ş":1}],"t":[{"b":1,"ç":1,"d":1,"f":1,"g":1,"h":1,"j":1,"k":1,"l":1,"m":1,"n":1,"p":1,"r":1,"s":1,"t":1,"w":1,"ý":1,"z":1,"ň":1,"ž":1,"ş":1}],"w":[{"b":1,"ç":1,"d":1,"f":1,"g":1,"h":1,"j":1,"k":1,"l":1,"m":1,"n":1,"p":[{"b":3,"ç":3,"d":3,"g":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"s":3,"t":3,"ý":3,"z":3,"ş":3},1],"r":1,"s":1,"t":1,"w":1,"ý":1,"z":1,"ň":1,"ž":1,"ş":1}],"ý":[{"b":1,"ç":1,"d":[{"b":3,"ç":3,"d":3,"g":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"s":3,"t":3,"ý":3,"z":3,"ş":3},1],"f":1,"g":1,"h":1,"j":1,"k":1,"l":1,"m":1,"n":[{"b":3,"ç":3,"d":3,"g":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"s":3,"t":3,"ý":3,"z":3,"ş":3},1],"p":[{"b":3,"ç":3,"d":3,"g":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"s":3,"t":3,"ý":3,"z":3,"ş":3},1],"r":1,"s":1,"t":[{"b":3,"ç":3,"d":3,"g":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"s":3,"t":3,"ý":3,"z":3,"ş":3},1],"w":1,"ý":1,"z":1,"ň":1,"ž":1,"ş":1}],"z":[{"b":1,"ç":1,"d":1,"f":1,"g":1,"h":1,"j":1,"k":1,"l":1,"m":1,"n":1,"p":1,"r":1,"s":1,"t":1,"w":1,"ý":1,"z":1,"ň":1,"ž":1,"ş":1}],"ň":[{"b":1,"ç":1,"d":1,"f":1,"g":1,"h":1,"j":1,"k":1,"l":1,"m":1,"n":1,"p":1,"r":1,"s":1,"t":1,"w":1,"ý":1,"z":1,"ň":1,"ž":1,"ş":1}],"ž":[{"b":1,"ç":1,"d":1,"f":1,"g":1,"h":1,"j":1,"k":1,"l":1,"m":1,"n":1,"p":1,"r":1,"s":1,"t":1,"w":1,"ý":1,"z":1,"ň":1,"ž":1,"ş":1}],"ş":[{"b":1,"ç":1,"d":1,"f":1,"g":1,"h":1,"j":1,"k":1,"l":1,"m":1,"n":1,"p":1,"r":1,"s":1,"t":1,"w":1,"ý":1,"z":1,"ň":1,"ž":1,"ş":1}]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/677.adapter.js b/public/tools/cloud_sheets/vendor/univer/677.adapter.js new file mode 100644 index 0000000..bca9f10 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/677.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[677],{677(a,s,r){r.r(s),r.d(s,{Is:()=>n});const n=["003,0004,0002,0003,0014,0005,004,002,00345,00005,005,000005,00004,00003,0001,001,000004,234,04,212,21,3,05,4,214,1,2,402,03,01,41,5,0032,0052,0034,404,0023,23,054,2004,503,303,301,3002,405,45,00304,00002,201,43,4304,052,242,02,014,00034,0054,034,4004,000003,24,022,00054,042,304,0404,012,102,004005,0104,0414,0000004,0303,032,0000005,0102,00001,20005,34,42,30004,434,03004,52,104,024,202,204,203,12,2002,00006,025,043,045,3004,0412,0204,00025,1202,14,0012,23002,302,023,32,44,3003,0043,0025,00404,01002,0024,00052,4001,54,25,1004,0144,5003,000505,044,414,00301,00104,504,0305,401,00044,06",'{".":[{"a":[{"ð":[{"a":1,"k":2,"l":[{"a":1}]},0],"f":[{"n":0,"r":[{"e":0,"í":3}],"s":4}],"g":[{"n":[{"ú":5}]}],"l":[{"e":0,"l":6}],"m":[{"s":6}],"n":[{"k":0,"n":[{"e":1}]}],"r":[{"a":[{"b":8}],"t":[{"h":9}]},7],"s":[{"p":3}],"u":[{"m":[{"a":5}]}]}],"á":[{"m":6,"n":[{"a":6}]}],"b":[{"a":6}],"d":[{"a":[{"m":[{"a":5}],"v":3},6],"r":6,"s":6,"u":[{"s":[{"t":9}]},6]}],"e":[{"d":[{"i":[{"k":10}]}],"f":[{"t":[{"i":[{"r":11}]}]}],"i":[{"g":[{"i":[{"n":[{"g":11}]}]}],"n":[{"k":12}]}],"k":[{"t":1}],"r":[{"m":6}],"y":[{"f":2}]}],"f":[{"a":6,"i":6,"j":[{"á":[{"r":13}]}],"l":[{"a":1},6],"r":[{"á":14},6]}],"g":[{"a":[{"r":1,"s":[{"l":5}]},7],"d":6,"e":[{"m":5}],"j":[{"a":2}],"l":7,"r":6,"u":6}],"h":[{"e":[{"r":[{"s":[{"k":5}]}]}]}],"i":[{"l":6,"n":[{"g":[{"j":9}]}],"s":[{"m":6}]}],"í":[{"s":[{"l":15}]}],"j":[{"a":[{"r":1},7]}],"k":[{"a":[{"l":[{"e":5}],"m":[{"e":5}],"p":[{"í":13}],"r":[{"t":9}],"s":[{"t":13}]},6],"n":6,"r":6,"u":[{"r":1}]}],"l":[{"a":[{"g":[{"e":5}]},6],"e":[{"i":[{"k":[{"s":[{"v":9}]}]}]}],"í":[{"b":5}],"u":6}],"m":[{"a":[{"j":5,"k":[{"r":5}]},7],"i":6,"j":6,"u":6,"y":[{"n":[{"s":[{"t":16}]}]}]}],"n":[{"a":7,"í":[{"f":10}],"ý":[{"f":10}]}],"o":[{"l":[{"í":[{"u":[{".":6}]}]}]}],"ó":[{"a":6,"ð":[{"a":[{"l":10}]}],"f":6,"g":7,"k":6,"m":[{"i":6}],"s":7}],"p":[{"a":6,"l":6}],"r":[{"a":[{"m":1},7],"í":6,"ó":[{"ð":1}],"ú":[{"m":3}]}],"s":[{"a":[{"m":[{"a":[{"n":11}]}]}],"k":[{"i":1,"j":1,"r":1},6],"l":7,"m":[{"á":[{"l":3}]},6],"n":[{"a":[{"r":[{"a":9}]}]},6],"p":[{"r":1},6],"t":[{"a":2},6]}],"t":[{"a":6,"i":[{"l":3},7],"í":[{"f":10}],"r":6,"u":7,"v":[{"í":14}]}],"u":[{"n":[{"g":[{"l":3}],"n":[{"u":[{"s":[{"t":[{"a":5}]}]}]}]}]}],"ú":[{"r":15,"t":[{"s":10},15]}],"v":[{"e":[{"g":[{"g":[{"s":9}]}]}],"i":[{"s":[{"t":13}]}]}],"y":[{"f":[{"i":[{"r":13}]}]}],"æ":[{"v":[{"i":[{"s":3}]}]}],"ö":[{"f":[{"l":3}],"g":[{"r":5}],"r":[{"s":0}],"t":[{"u":0}]}]}],"a":[{"a":[{"b":18,"d":18},17],"á":19,"b":[{"a":6,"í":[{"s":21}],"y":22,"æ":[{"k":[{"l":12}]}]},20],"c":23,"d":[{"ó":22,"u":18},24],"ð":[{"a":[{"ð":23,"l":0,"r":0}],"f":[{"a":26,"ö":23}],"g":0,"i":0,"l":[{"i":6},26],"m":27,"s":[{"h":26}],"u":[{".":21}],"v":26},25],"e":[{"i":22,"s":18},20],"f":[{"a":[{"l":[{"d":0}],"r":[{"n":0}]}],"á":28,"f":[{"r":6}],"g":0,"j":29,"l":[{"ó":28,"u":29}],"o":[{"r":[{"k":10}]}],"r":[{"é":0,"u":1,"æ":22},29],"s":[{"d":23,"k":15,"s":[{"o":23}]}],"u":[{"l":29,"n":29,"r":[{"ð":21}]},7]},26],"g":[{"a":[{"u":28}],"á":[{"l":10}],"i":[{"s":10}],"j":22,"n":[{"a":[{"r":[{"a":1}]}],"e":7}],"o":[{"t":10}],"r":[{"a":6},29],"s":[{"i":[{"ð":1}],"p":6,"t":[{"j":6}]}],"u":[{"l":6}],"æ":[{"ð":0}]},26],"h":30,"i":[{"ð":28,"n":18},23],"í":[{"h":6}],"j":[{"ö":28},26],"k":[{"a":[{"u":[{"p":[{"s":16}]}]}],"á":22,"e":29,"i":[{"n":[{"n":[{"i":[{"n":22}]}]}],"s":[{"t":[{"u":22}]}]}],"j":29,"r":[{"e":[{"i":10}]}],"s":[{"l":1,"s":23}],"u":0,"v":28,"y":22,"ý":22,"ö":28},26],"l":[{"a":[{"g":29,"n":[{"d":[{"i":[{"ð":22,"n":[{"u":22}]}]},23]}],"s":12}],"á":1,"e":[{"m":18,"r":0}],"f":15,"g":[{"e":31},15],"h":21,"i":[{"s":12}],"í":[{"n":6}],"k":[{"j":0,"s":5,"u":32}],"l":[{"í":6,"s":[{"t":16},2],"ý":6}],"m":[{"a":[{"ð":23,"n":[{"n":10}]}],"i":33}],"o":[{"g":28,"k":22,"p":10}],"ó":[{"ð":22}],"s":[{"æ":[{"t":6}]}],"u":[{"p":10}],"ú":10,"v":34,"y":28,"æ":29,"ö":29},26],"m":[{"a":[{"n":[{"g":0,"n":28}],"r":[{"i":0,"s":0}],"s":34}],"d":[{"r":0}],"í":28,"k":0,"m":[{"i":[{"s":1}]},7],"ó":29,"s":[{"e":0,"i":2}],"t":15},26],"n":[{".":21,"a":[{".":21,"d":[{"a":0}],"g":23,"l":26,"u":23}],"á":26,"d":[{".":23,"e":14,"í":35,"r":12,"ö":23}],"e":[{"i":10},23],"g":[{"a":6,"d":14,"j":6,"s":[{"p":[{"i":5}]}],"ö":36},26],"i":[{"b":23,"ð":23}],"í":[{"n":10}],"k":[{"l":5,"v":3},26],"m":21,"n":[{"d":5,"f":23,"h":23,"k":14,"l":23,"s":[{"k":16},23]}],"o":35,"s":[{"t":[{"i":0},12]}],"t":[{"í":0}],"u":21,"ú":23,"ý":23,"æ":23,"ö":23},25],"o":37,"ó":37,"p":[{"a":[{"l":0}],"e":[{"r":28}],"i":[{"l":28}],"o":28,"r":[{"e":22}],"t":[{"e":0}],"u":[{"n":38}],"ö":[{"r":22}]},26],"r":[{".":21,"a":[{"f":[{"u":0}],"k":[{"r":5}],"n":[{"g":0,"i":23}],"r":[{"p":6}],"s":[{"t":[{".":10}]},7],"u":0}],"á":[{"ð":23,"k":40,"r":41,"s":42,"t":15},39],"d":[{"í":23},43],"ð":[{".":23,"a":[{"r":[{"á":11}]}],"i":23,"s":23,"u":[{".":21}]}],"e":[{"f":[{".":23},42],"i":[{"g":31,"n":31}],"k":28,"l":0,"n":0,"r":10,"t":28},26],"é":30,"f":[{"e":21,"é":21,"s":[{"k":13}],"u":15},26],"g":[{"j":0,"r":[{"æ":6}],"s":[{"l":3},12]}],"i":[{"ð":44,"f":23,"n":[{"d":6},0],"s":[{"t":[{".":10}]}],"t":45}],"í":30,"j":34,"k":[{".":23,"i":[{"s":1}],"j":10,"r":46}],"m":[{"s":23,"ú":0}],"n":[{"a":[{".":23}]}],"o":[{"ð":23,"l":23,"t":23}],"ó":26,"p":26,"r":[{"a":23,"i":2,"u":1}],"s":[{"á":6,"e":21,"k":15,"p":[{"i":6}],"t":[{"í":31},12],"u":0}],"t":[{"i":[{"l":10}],"r":[{"a":[{"ð":10}]},47]}],"u":[{"ð":6,"g":35,"m":31},0],"ú":[{"s":22},48],"v":34,"y":[{"f":0}],"ý":23,"æ":[{"ð":28,"v":10},26],"ö":23},25],"s":[{"a":[{"n":0},30],"á":37,"e":23,"é":23,"i":[{"n":[{"n":[{"a":22}]}]},26],"j":26,"k":30,"l":[{"a":[{"g":28}]},26],"m":20,"n":23,"o":23,"ó":23,"p":[{"í":[{"t":16}]},26],"s":[{"v":1},23],"t":[{"a":[{"ð":23,"n":[{"d":1}],"u":23}],"e":23,"é":23,"i":[{"g":23,"n":[{"g":1},23],"r":[{"ð":23}]}],"í":30,"j":23,"l":3,"o":23,"ó":26,"r":[{"á":[{"ð":5},23],"í":23,"æ":49,"ö":23}],"u":[{"l":23,"n":50}],"ú":23,"y":49,"æ":23,"ö":23},25],"u":20,"v":20,"y":35,"ý":26,"æ":23,"ö":26},7],"t":[{"a":[{"ð":0,"k":28,"l":28,"n":[{"v":6}],"r":1}],"e":[{"y":0},29],"h":21,"i":[{"l":29}],"j":28,"k":21,"n":[{"s":13}],"ó":18,"r":[{"a":1,"e":15,"i":42}],"s":[{"p":7}],"u":[{"n":51}],"ú":29,"v":[{"e":6,"i":21}],"ö":29},26],"u":[{"ð":[{".":23,"l":[{"i":5}],"n":31}],"g":[{"a":[{"s":1}]}],"m":[{"b":[{"a":5}],"u":[{"n":5}]},6],"n":[{"d":[{"r":5}]}],"p":[{"e":5,"l":3,"p":22}],"s":[{"a":[{"m":9}]},6],"t":6},52],"ú":20,"v":[{"a":[{"r":[{".":6}]}],"i":[{"r":28}]},20],"y":[{"f":22},26],"z":23,"þ":[{"ó":53},20],"æ":37,"ö":45}],"á":[{"a":[{"k":1,"l":[{"o":10}]},29],"b":[{"u":18},29],"d":54,"ð":[{"s":[{"n":0,"t":[{"a":0}]},7],"u":[{"s":0},7]},23],"e":29,"f":[{"á":22,"í":22,"l":[{"æ":[{"ð":16}]},28],"u":[{"n":10}]},7],"g":[{"i":7,"l":1,"r":2,"s":15,"v":0}],"h":29,"i":29,"k":[{"a":[{"m":12,"p":12},7],"ó":1}],"l":[{"a":[{"m":3,"r":[{"f":0}],"s":7,"u":22}],"e":[{"t":28}],"f":[{"d":55,"s":[{"k":5}]}],"m":[{"a":[{"n":5}],"u":5},6],"p":3,"s":[{"e":6,"v":[{"a":10}]}],"u":[{"g":10}],"ú":22,"æ":[{"ð":0}]}],"m":[{"á":[{"l":[{"a":9}]}],"s":[{"l":12}]},26],"n":[{"a":[{"r":[{"o":6}],"s":7}],"o":6,"ý":28,"æ":31},53],"o":28,"p":23,"r":[{"a":[{"g":5,"n":0,"r":12}],"é":22,"f":34,"g":10,"k":56,"m":15,"n":[{"s":[{"l":5},12]}],"s":[{"t":7}],"t":10,"u":15,"v":0,"æ":22}],"s":[{"e":[{"n":10}],"k":[{"a":53,"e":18},29],"l":57,"m":7,"t":[{"i":5,"r":[{"á":[{"ð":5}],"í":[{"k":5}]}],"v":5},2],"u":58,"v":[{"a":10}]}],"t":[{"a":[{"ð":0}],"e":29,"r":[{"a":[{"s":1}]}],"t":[{"a":[{"r":59}],"i":[{"n":[{".":31}]}],"u":[{"n":3}]}],"æ":29}],"u":[{"k":1},29],"v":[{"e":28,"í":28,"æ":29}],"þ":29,"æ":[{"ð":22}]}],"b":[{"a":[{".":23,"ð":[{"k":12}],"h":6,"k":[{"s":[{"l":5}]}],"n":[{"a":23,"í":23,"k":[{"a":[{"n":9}]}],"s":23,"t":22},7],"r":[{"b":2,"ð":[{"a":[{"s":12}]}],"n":2}]},53],"á":[{"s":6}],"b":[{"a":[{"ð":0,"n":0,"r":[{"n":10}]}],"i":0,"u":[{"ð":0}]},60],"e":[{"s":[{"s":12}]},25],"i":[{"ð":[{"i":5,"l":[{"i":[{"s":5}]}],"r":62}],"f":14,"l":[{"j":9,"l":9}],"n":[{"n":23}],"s":[{"k":13}],"t":[{"a":2},18]},61],"í":[{"a":23,"s":37,"u":37}],"j":[{"a":[{"r":47}]},21],"l":[{"í":[{"u":[{"n":[{"n":6}]}]}]},63],"n":23,"o":31,"ó":[{"k":[{"s":3}]},64],"r":[{"a":[{"ð":10,"s":1}],"o":21,"u":6,"ú":21},63],"u":[{"m":58,"r":[{"ð":21,"s":[{"t":[{"a":[{"ð":11}]}]}]},2],"s":6}],"ú":[{"f":1,"s":[{"t":[{"a":0}]}]},25],"y":25,"ý":25,"æ":[{"k":[{"i":2}],"n":[{"a":1}],"r":25,"t":[{"t":[{"i":[{"s":[{"m":22}]}]}]}]}],"ö":[{"k":[{"i":23}]},25]}],"c":[{"a":18,"i":6,"k":6}],"d":[{"a":[{".":23,"f":1,"k":2,"l":[{".":21,"s":31}],"m":4,"n":[{"g":22,"í":18}],"r":[{"a":[{"d":18,"ð":65}],"á":[{"r":1}],"f":28,"p":22}],"s":[{"k":12,"l":0}],"v":23}],"b":29,"d":26,"e":[{"a":23,"f":22,"g":21,"i":[{"l":25}],"n":29,"ó":22,"p":31}],"f":54,"g":[{"i":18},66],"h":29,"i":[{"f":[{"u":10}],"l":[{"l":28}],"m":[{"a":0},1],"n":[{"a":[{"v":0}],"e":53}],"r":[{"s":3}]},29],"í":[{"d":0,"ð":22,"n":[{"u":22}],"s":21,"v":3}],"j":[{"a":[{"r":[{"f":[{"a":11}]}]}]},64],"k":66,"l":[{"a":[{"ð":0,"g":28,"u":28},53],"i":[{"ð":18}],"u":0},66],"m":29,"o":[{"l":[{"f":22}]}],"ó":[{"ð":22,"f":28,"l":[{"í":10}],"m":[{"a":[{"n":5}]},67],"n":[{"e":10}],"r":21,"s":[{"e":5},7]}],"q":23,"r":[{"a":[{"ð":[{"f":22,"s":[{"t":22},68]}],"f":[{"n":16}],"r":[{"a":6}]}],"e":[{"g":21,"i":[{"p":22}],"y":22}],"i":[{"ð":[{"a":22}]}],"í":[{"k":28}],"o":[{"ð":22}],"u":1,"æ":[{"t":18}]}],"s":[{"a":[{"l":22}],"j":[{"ö":18}],"k":[{"o":6,"u":[{"n":10}]},2],"l":15,"n":[{"ö":22}],"s":4,"t":[{"i":18},69],"u":[{"ð":6}],"ö":[{"f":18}]},26],"t":66,"u":[{"f":[{"t":31},1],"k":1,"m":[{"b":18}],"r":[{"æ":10}],"s":[{"t":[{"a":18}]}]},29],"ú":[{"n":[{"a":1},28],"t":1}],"v":54,"w":23,"y":25,"ý":25,"þ":28,"æ":[{"f":23,"r":23},25],"ö":21}],"ð":[{"a":[{"f":1,"g":0,"k":1,"l":[{"b":[{"o":18}],"d":28,"i":[{"s":1}]}],"m":70,"n":[{"m":[{"e":[{"g":71}]}]},57],"r":[{"a":14,"f":72,"l":[{"i":[{"s":1}]},3],"t":55,"ú":28}],"t":[{"a":1}],"u":28},29],"á":73,"b":29,"d":66,"e":29,"f":57,"g":[{"a":53,"i":53,"l":6,"n":18,"u":[{"l":57},1]},29],"h":29,"i":[{"g":0,"k":1,"n":28,"s":[{"l":5,"t":[{"a":18},12],"v":[{"e":1}]}]},29],"j":[{"a":[{"s":0}],"ó":28,"u":18}],"k":[{"e":28,"r":29,"u":[{"n":[{"n":28},7]}],"v":29}],"l":[{"á":29,"i":[{"n":7,"s":[{"t":6}]}],"í":28,"u":[{"r":6}],"æ":29}],"m":66,"n":[{"u":[{"m":12}]}],"o":28,"ó":28,"p":66,"r":[{"á":[{"t":10}],"e":29,"é":29,"i":[{"k":28}],"í":[{"k":28}],"ó":22,"u":15,"ú":28,"æ":[{"ð":[{"i":[{"s":74}]}]},29]}],"s":[{"a":[{"f":[{"l":10}]}],"á":10,"e":[{"g":18}],"i":[{"n":[{"n":6}]}],"k":[{"r":12,"ú":18,"v":10,"ö":18},29],"l":[{"u":6}],"o":[{"r":0},53],"s":1,"t":[{"í":53,"ö":28},75],"u":6,"v":[{"i":18}],"æ":53}],"t":54,"u":[{"ð":28,"g":28,"l":[{"l":28,"s":22}],"n":[{"n":22,"u":28}],"r":[{"á":5,"f":3,"g":62,"s":[{"t":5}]},28]},29],"v":[{"a":[{"ð":10,"n":[{"n":0}],"r":[{"n":0}]}]},29],"y":29,"ý":22,"þ":29}],"e":[{"a":[{"t":1}],"b":[{"r":[{"e":5}]}],"d":[{"e":6,"i":[{"k":29,"t":0}]}],"ð":[{"a":[{"l":76},32],"i":[{"l":0,"s":6}]}],"f":[{"a":[{"l":28}],"i":0,"j":[{"a":[{"n":5}]}],"n":6,"t":[{".":23,"s":77}]},53],"g":[{"g":[{"e":6}],"i":0,"r":[{"u":5}],"u":[{"l":34,"r":[{"s":12}]}]}],"i":[{"ð":[{"a":[{"r":5}],"s":[{"t":1}]}],"f":[{"a":[{"s":1}]}],"k":[{"a":6,"l":[{"i":3}],"u":3}],"l":[{"a":[{"g":3}],"ö":5}],"m":[{"u":5},7],"n":[{"g":12,"k":25,"o":23}],"s":[{"t":[{"a":[{"ð":9}]}]}]},18],"k":[{"i":[{"s":7}],"j":[{"a":5}],"n":3,"u":0,"ú":10},18],"l":[{"á":[{"s":10}],"d":6,"e":[{"g":0}],"f":[{"i":[{"n":3}]}],"g":[{"r":6}],"i":15,"í":[{"n":0},23],"k":[{"e":6}],"l":[{"a":[{"n":5}],"e":[{"g":16},3]},7],"ó":0,"r":0,"s":[{"í":15,"k":31}],"t":[{"e":6}],"u":[{"s":5}]},53],"m":[{"b":[{"a":6,"e":25}],"e":[{"n":[{"s":10}]}],"i":34,"j":3,"l":[{"i":2},6],"p":[{"l":9}],"u":10},53],"n":[{"c":23,"g":[{"a":3},6],"i":[{"k":12}],"n":[{"t":1},26],"t":6},53],"p":[{"h":6,"i":0,"l":[{"i":5}],"r":18,"t":6}],"r":[{"a":[{"l":0,"u":10}],"á":10,"ð":23,"e":[{"t":10},31],"f":[{"a":[{"r":5}],"r":7,"u":3}],"g":[{"l":5,"r":6}],"i":0,"k":7,"l":[{"a":6,"i":3,"í":6}],"m":[{"i":[{"n":5},6]}],"ó":[{"l":10}],"s":[{"k":[{"j":10}]}],"u":[{"n":15}],"v":7,"ö":[{"f":12},0]},18],"s":[{"a":0,"b":[{"a":[{"n":6}],"u":6}],"j":23,"k":[{"e":22}],"o":23,"p":[{"a":3}],"s":7,"t":[{"a":[{"ð":3}],"ö":5}],"æ":28},53],"t":[{"i":[{"k":12,"l":[{"s":10}]}],"n":[{"a":12}],"o":10,"r":[{"a":[{"n":5}],"u":3}],"u":[{"l":12,"s":7}]}],"x":[{"t":[{"u":1}]}],"y":[{"r":[{"a":[{"r":31}]}]}]}],"é":[{"b":28,"d":29,"ð":[{"s":7}],"f":[{"e":28}],"g":54,"k":[{"y":22}],"l":[{"a":[{"g":1,"r":[{"a":6}]}],"i":53,"j":18,"r":0},29],"r":[{"á":6,"r":6,"s":1,"u":[{"n":6}],"v":0},15],"s":[{"m":28}],"t":[{"t":[{"u":[{"g":1}]}],"u":[{"n":6,"r":12}]}]}],"f":[{"a":[{"ð":28,"g":7,"k":10,"l":[{"l":25,"u":1}],"n":[{"á":6}],"p":56,"r":[{"ð":28,"e":18,"g":18,"k":[{"a":[{"l":11}]}],"l":28},53],"s":[{"t":[{"e":13}]}]}],"á":[{"f":0,"n":[{"s":22}],"r":[{"á":0}],"t":[{"a":0}],"v":0}],"b":54,"d":[{"a":[{"n":7}],"r":29,"ú":22}],"ð":[{"a":[{"l":1}]}],"e":[{"f":28,"i":[{"n":28}],"l":21,"n":[{"d":28}],"r":[{"l":[{"i":9}],"t":3}],"y":29},25],"é":25,"f":[{"a":18,"o":53,"r":29,"s":[{"t":6}],"æ":[{"r":[{"a":12}]}]}],"g":[{"a":53,"i":53,"n":6},66],"h":29,"i":[{"ð":28,"k":1,"l":[{".":22,"i":22,"l":28,"s":22,"v":22}],"m":[{"a":3}],"n":[{"e":18,"u":28}],"r":[{"ð":[{"i":21,"u":28}],"g":47,"n":28,"s":25}],"s":[{"k":78,"o":10,"t":[{".":28,"u":28}],"v":5}]}],"í":[{"k":[{"v":22}],"s":28},6],"j":[{"a":[{"ð":[{"u":10}],"n":[{"n":10}]},6],"e":6}],"k":66,"l":[{"a":[{"n":[{"d":0}],"t":[{"a":21},6]}],"á":[{"t":22}],"e":[{"n":18}],"g":10,"o":25,"u":[{"t":31}],"v":1,"ý":23,"ö":25}],"m":29,"n":[{"g":15,"í":38,"k":0,"o":[{"k":10}]},23],"o":[{"p":23,"r":[{"f":12,"k":12}]},25],"ó":25,"r":[{"a":[{".":23,"ð":0,"m":[{"l":13},1],"n":[{"d":10}],"r":23}],"i":[{".":26,"n":10}],"í":[{"m":62}],"ó":[{"f":28}],"u":[{"ð":0},1],"æ":[{"k":37,"n":23},25]},7],"s":[{"á":0,"e":[{"l":18}],"k":[{"a":[{"f":18}]}],"l":[{"i":0},1],"n":[{"a":10}],"o":[{"r":10},53],"r":1,"s":1,"t":[{"i":18,"æ":38}],"v":15,"æ":18}],"t":[{"a":[{"ð":0,"s":[{"k":1}]}],"á":10,"e":28,"s":[{"l":5},7],"u":[{"l":6},0]}],"u":[{".":23,"ð":28,"g":[{"l":21}],"n":[{"d":[{"a":[{"s":12}]}]}],"r":[{"ð":[{"u":[{"l":31}]}],"e":5,"s":12,"t":3},37],"s":[{"t":[{".":22,"u":28}]},79]},29],"v":54,"y":[{"r":[{"t":28}]},25],"þ":29,"æ":25,"ö":[{"r":[{"l":1}]},25]}],"g":[{"a":[{".":23,"ð":49,"f":[{"a":[{"r":1}]}],"g":[{"l":12,"n":21}],"k":1,"l":[{"a":[{"g":6}],"i":[{"s":1}],"s":31,"t":31}],"m":[{"a":[{"l":3}],"i":1}],"n":[{"d":22,"g":25}],"p":[{"a":1}],"r":[{"d":[{".":18}],"ð":[{".":21,"a":21,"i":21,"s":80,"u":[{"r":31}]},53],"f":72,"k":[{"l":1}],"l":3,"t":3}],"s":[{".":18,"í":18,"t":[{".":28,"a":[{"ð":10}]}]},23],"t":[{"a":25,"r":1}]},29],"á":[{"f":21,"l":[{"e":10}]},7],"b":29,"d":[{"a":[{"n":[{"s":6}]}],"e":28,"u":18,"v":6}],"ð":[{"a":[{"r":[{"o":6}]}]}],"e":[{"i":21,"l":20,"n":[{"d":22,"g":21,"t":28},1],"r":[{"ð":31,"í":5,"m":12,"v":[{"a":9}]}],"t":[{"r":3}]},25],"f":66,"g":[{"i":[{"s":9}],"j":[{"a":[{"f":59,"r":5}]}],"r":[{"á":10,"æ":0}],"s":[{"v":1}],"u":[{"g":0}],"v":7,"ö":18}],"h":29,"i":[{".":23,"k":[{"v":10},23],"l":[{"d":21,"l":22,"t":31}],"m":[{"a":1}],"n":81,"s":[{"a":1,"p":18,"t":[{"æ":22}]}]},29],"í":[{"r":[{"a":5}],"s":1}],"j":[{"a":[{"f":[{"a":[{"r":9}],"o":9}],"k":12,"l":12,"s":[{"t":[{"a":6}]}]}],"ö":25}],"k":[{"a":[{"l":12}]},54],"l":[{"á":29,"e":[{"ð":18,"g":28}],"é":10,"f":32,"i":[{"t":28}],"í":[{"n":22}],"ó":[{"t":0}],"s":[{"k":12}],"u":[{"g":[{"g":21}],"s":3}],"y":6,"æ":[{"r":28}]}],"m":54,"n":[{"a":[{"p":12,"r":[{"t":16}]}],"á":18,"g":0,"ó":28,"s":[{"e":6}],"u":[{"g":10}],"ý":[{".":18}]}],"o":[{"l":21,"r":28}],"ó":[{"ð":21,"r":5,"u":[{"r":6}]}],"p":29,"r":[{"a":[{"k":82,"n":6,"s":[{"s":[{"v":9}]},2]}],"á":53,"e":[{"i":[{"s":28},25],"y":[{"ð":22}]}],"i":[{".":26,"ð":12},7],"í":[{"k":28}],"ó":21,"u":[{"n":[{"d":21,"n":21}]}],"æ":[{"ð":[{"i":28}],"n":53}]}],"s":[{"á":15,"e":[{"i":18}],"k":1,"l":[{"e":[{"n":6}],"u":2,"ö":6}],"m":0,"o":[{"r":10}],"s":[{"i":6},34],"v":15},23],"t":[{"a":[{"ð":0}],"e":28,"s":6}],"u":[{"ð":[{"i":18,"l":12,"s":[{"ó":1},83],"u":28}],"f":[{"u":31}],"l":[{"a":[{"g":[{"i":6}]}],"i":[{"n":22}],"l":28,"s":28}],"m":[{"i":[{"ð":10}]}],"n":28,"r":[{"f":12,"g":3}],"s":[{"t":[{"a":18}]}]},20],"ú":[{"s":[{"t":[{"a":9}]}]},28],"v":[{"a":[{"l":28},53]},29],"y":[{"ð":31}],"þ":29,"æ":[{"ð":[{"a":[{"s":1}]}],"l":1,"r":3},25],"ö":84}],"h":[{"a":[{".":23,"ð":1,"f":[{"s":[{"p":1}]}],"n":[{"d":[{"r":9}]}],"t":[{"r":3}]},85],"á":[{"g":0,"l":1,"r":[{"e":0}],"s":[{"k":[{"i":6}],"t":[{"a":10}],"u":1}],"t":[{"i":10,"r":12},1],"v":15}],"e":[{"i":2,"l":[{"l":[{"i":[{"s":74}]}]}],"n":[{"r":2}],"r":[{"k":12,"l":55,"s":[{"k":16,"l":[{"a":23}]}]}],"y":[{"s":[{"t":5}]}]},6],"g":23,"i":[{"g":1,"m":[{"b":5}],"n":1,"t":[{"a":[{"s":1}],"n":1}]},18],"í":[{"a":22,"b":10},86],"j":6,"l":[{".":23,"s":23,"u":1},61],"n":[{"j":[{"a":12,"á":[{"l":13}]}]},63],"o":[{"l":[{"l":[{"u":13}]}],"r":[{"m":9}]}],"ó":[{"m":[{"e":5}],"t":3},7],"r":6,"s":23,"u":[{"g":[{"r":14,"u":3}],"l":[{"i":5}],"n":[{"d":[{"r":16}]}]},6],"ú":[{"m":3,"r":23,"s":[{"k":5}]},7],"v":[{"a":[{"r":12}],"i":[{"k":13}]},6],"y":31,"æ":[{"f":[{"a":5}],"t":[{"t":[{"u":[{"s":12}]}]}]}],"ö":[{"s":[{"t":13}]}]}],"i":[{"a":[{"s":22},26],"á":45,"b":[{"b":3,"l":[{"í":3}]},30],"c":23,"d":[{"a":28,"e":29,"r":28},87],"ð":[{".":25,"f":23,"g":88,"j":[{"a":[{"r":[{"ð":10}]}]}],"r":23,"s":[{"a":[{"l":10}]},23],"u":26}],"e":[{"f":28},23],"f":[{"a":[{"r":[{"n":10}],"t":12}],"e":[{"n":53}],"g":6,"i":[{"s":0}],"t":6,"y":18},23],"g":[{"a":[{"m":3}],"ð":[{"u":5}],"e":[{"n":15}],"r":[{"í":10}]},79],"h":20,"i":[{"ð":22},26],"j":23,"k":[{"á":10,"i":[{"s":6},0],"t":[{"o":5}],"v":[{"ö":18}]},23],"l":[{"a":[{"g":2,"r":[{"a":6}]}],"á":29,"e":23,"f":[{"a":1,"i":15}],"g":4,"i":[{"ð":[{"u":22}],"n":10,"p":0}],"í":[{"s":10,"u":[{"m":1}]}],"k":[{"v":6}],"l":[{"a":[{"g":0,"n":5}],"á":0}],"o":29,"s":[{"a":6,"k":15,"n":0,"t":12}],"æ":[{"k":12}],"ö":[{"n":22}]},26],"m":[{"b":[{"u":3},6],"i":[{"ð":6},0],"l":[{"a":6}],"m":6,"ó":22,"s":[{"v":6}]},23],"n":[{"a":[{"f":23,"n":0,"r":23,"t":[{"r":9}],"u":37,"v":[{"í":13},90]}],"á":23,"d":[{".":23}],"g":[{"a":6,"j":[{"a":[{"r":[{"n":[{"i":91}]}]}]}],"r":23,"v":12}],"n":[{"s":26,"u":26}],"o":15,"ó":23,"s":[{"k":4,"p":7,"t":[{"a":0}]}],"u":[{"l":10}],"ý":23},89],"o":37,"ó":23,"p":[{"i":[{"l":22}]},26],"r":[{".":21,"a":23,"á":20,"ð":[{"i":26,"n":23}],"e":23,"é":23,"f":[{"i":2,"s":23}],"i":[{"g":23,"t":26}],"í":30,"k":[{"u":3},26],"l":0,"m":4,"n":[{"d":23,"i":[{".":23,"n":23,"s":23}]}],"ó":23,"s":[{"á":1,"t":12}],"t":[{"a":[{"l":0}],"i":5,"l":23,"ö":1}],"u":[{"g":0}],"ú":23,"ö":23}],"s":[{".":25,"a":[{"g":[{"a":22},23],"m":28,"s":7},26],"d":21,"e":26,"h":[{"v":23}],"i":[{"n":[{"s":21}]}],"í":58,"j":[{"ó":28},23],"k":[{"a":6,"e":[{"l":5}],"i":[{"m":13,"n":[{"n":[{".":5}]}]}],"o":21,"u":2,"v":14,"ö":31},26],"l":[{"é":26,"æ":0}],"m":[{"a":31,"e":10}],"n":[{"i":23}],"p":[{"a":[{"ð":3}],"u":3}],"s":[{"i":2,"ú":10}],"t":[{"a":[{"l":3}],"e":26,"é":23,"i":[{"g":23,"k":22,"s":1}],"í":[{"n":5}],"o":23,"ó":23,"y":23,"æ":23,"ö":[{"k":10},26]}],"v":[{"i":[{"ð":6,"n":31},23],"æ":28},15],"ö":26},53],"t":[{"a":[{"ð":0,"n":[{"n":10}]}],"e":[{"i":22}],"h":[{"a":6},23],"i":[{"l":[{"l":10}],"s":[{"m":12}]}],"k":[{"a":7}],"n":[{"e":[{"s":5}]}],"r":[{"í":0}],"s":[{"t":[{"ö":6}]}],"u":[{"n":0,"r":[{"n":6}]}],"v":[{"e":6}]},26],"u":23,"ú":23,"v":[{"í":[{"s":92}]},30],"x":[{"s":23}],"þ":37,"æ":23,"ö":23}],"í":[{"a":[{"k":45,"l":[{"d":22,"i":28},3],"s":53,"t":22,"u":22},29],"á":22,"b":[{"a":[{"r":22},6],"e":18,"ú":31}],"d":[{"a":[{"g":22}]}],"ð":[{"s":[{"k":12},36]}],"e":[{"l":28,"n":28,"t":[{"n":3,"t":22}]}],"f":[{"e":[{"ð":0}],"i":93,"r":[{"í":10}],"s":[{"k":3,"p":6}]},53],"g":[{"e":0,"i":[{"l":28}]},53],"h":29,"i":29,"k":[{"a":[{"n":[{"a":[{"r":35}],"i":35}]},34],"i":[{"s":10}],"k":[{"i":2}],"m":31,"n":[{"e":5},7],"s":6,"u":[{"s":0}]}],"l":[{"a":[{"k":12,"s":7}],"á":[{"r":10}],"f":56,"í":28,"m":[{"á":31}],"s":[{"k":0}]},26],"m":[{"a":[{"ð":0,"l":55,"n":0}],"g":6,"o":10,"t":10,"u":[{"n":0}]},23],"n":[{"á":22,"e":10,"g":[{"e":0}],"t":10,"u":[{"g":55}],"ú":0},53],"ó":[{"p":[{"í":[{"u":5}]},28]}],"p":23,"r":[{"a":[{"k":10,"s":1}],"i":94,"s":[{"v":6}],"t":0,"æ":29,"ö":10}],"s":[{"e":53,"j":94,"l":[{"e":[{"n":21}],"i":5},2],"m":7,"t":[{"e":[{"r":10}]},53]}],"t":[{"a":[{"ð":10,"l":[{"s":10}]}],"i":0,"j":5,"r":[{"e":0,"ó":5}]}],"u":[{"b":23,"ð":22,"l":23,"m":[{"a":15}],"n":28,"p":10,"r":[{"a":18},28],"s":[{"a":23}],"t":0,"v":23}],"v":[{"o":1}],"þ":22}],"j":[{"a":[{"ð":[{"i":22},28],"f":[{"n":95}],"k":[{"l":10}],"l":[{"i":[{"ð":5}],"ó":10},2],"m":18,"n":28,"r":[{"a":[{"m":18}],"i":28,"k":[{"i":12}],"n":[{"i":[{"ð":12}]}],"æ":18}],"s":[{"k":[{"u":12}],"t":28},1]},53],"á":[{"l":[{"a":[{"s":5}],"f":[{"a":13},1]}],"r":[{"n":21,"u":1}],"v":[{"a":[{"r":11}]},3]}],"e":[{"n":[{"d":[{"a":12}]}],"p":18,"r":18,"t":18},29],"i":29,"ó":[{"b":10,"f":[{"r":10}],"s":7,"u":[{"g":10}],"v":[{"e":0}]}],"u":[{"f":1,"g":[{"a":[{"s":5}],"ó":6},2],"l":96,"r":[{"e":1,"t":[{"i":12},83]}],"s":[{"t":[{".":28}]},97]},29],"ö":[{"f":[{"n":21}],"k":21,"l":[{"k":3,"m":14}]}]}],"k":[{"a":[{"ð":[{"s":1}],"f":[{"a":[{"n":1}],"r":6}],"g":[{"a":[{"s":1}]}],"j":[{"a":5},6],"k":[{"l":1}],"l":[{"d":21,"f":23,"l":18},2],"m":[{"b":95,"s":98}],"n":[{"a":[{"f":18},28],"n":[{".":28}],"ó":18,"t":[{"a":31},18]}],"p":[{"a":23}],"r":[{"k":12,"l":99,"m":18,"n":28,"r":2,"t":18,"v":1}],"s":[{"k":12,"s":21,"t":[{"a":[{"l":31}],"u":[{".":22}]}]}],"u":[{"p":31},25]}],"á":[{"k":5,"m":3}],"b":29,"d":54,"e":[{"n":[{"d":20,"n":21}],"r":[{"f":21,"l":31,"m":1}]}],"f":[{"a":[{"l":[{"l":[{"s":74}]}]}]},54],"g":[{"l":1},28],"h":29,"i":[{"ð":[{"l":5},28],"g":1,"l":[{"l":22,"s":[{"i":22}]}],"m":2,"n":[{"g":22}],"p":18,"r":[{"ð":28,"k":31,"n":22,"t":18},29],"s":[{"e":22,"k":12,"t":[{".":28}]},29],"t":[{"e":0},18]}],"í":[{"l":21,"s":3,"t":[{"u":3}]}],"j":[{"a":[{"l":1,"r":[{"a":12,"f":9}]}],"u":[{"g":3}],"ö":[{"r":21},25]}],"k":[{"a":[{"l":5}],"e":10,"j":[{"ó":14}],"l":[{"á":15,"i":6},53],"r":[{"í":0}],"s":[{"e":6}],"u":[{"l":12}],"v":[{"i":[{"ð":5}]}]}],"l":[{"a":[{"ð":0,"n":[{"n":0}]}],"á":1,"e":[{"f":31,"i":[{"f":[{"a":11}]}],"m":18}],"i":[{"n":29}],"j":21,"u":[{"k":21}],"ú":21,"æ":25},7],"m":[{"i":[{"ð":[{".":18}]}]},66],"n":[{"a":[{"r":0}],"e":[{"y":53}],"i":[{"s":[{"v":[{"i":5}]}]}],"ú":21}],"o":[{"b":26,"f":[{"f":9}],"l":[{"d":5,"l":1,"s":[{"v":5}]}],"n":[{"s":23},21],"s":21,"t":[{"a":[{"s":1}]}]},25],"ó":[{"d":0,"m":34,"r":[{"a":5}],"t":[{"t":29}]}],"r":[{"a":[{"l":5,"s":7}],"á":53,"é":22,"i":[{"f":[{"a":13}]},7],"ö":[{"f":21},25]}],"s":[{"l":[{"í":6,"ö":6}],"m":[{"á":6}],"n":6,"p":1,"t":[{"e":18,"ó":18,"r":18}],"y":[{"f":12}]},23],"t":[{"a":[{"ð":0}],"e":[{"r":10}],"í":18,"o":[{"r":[{"a":28}]}],"y":22}],"u":[{"ð":[{"i":18},28],"f":1,"k":1,"l":[{"e":[{"g":[{"r":71}]}]}],"m":[{"b":9},1],"n":[{".":22,"a":[{".":22,"r":28}],"i":22,"n":[{"á":[{"t":[{"t":[{"a":31}]}]}]}],"u":28}],"p":[{"s":28}],"r":[{"ð":53,"k":5}],"s":[{"l":10,"t":[{".":28,"u":[{"m":22}],"y":0}]},53]},20],"ú":[{"l":[{"u":21}],"n":28,"r":[{"e":0}],"t":[{"u":[{"s":1}]}]},7],"v":[{"e":[{"n":21}],"é":23,"u":[{"n":[{".":6}]},23],"æ":100,"ö":[{"r":23},21]}],"þ":22,"ö":[{"k":21,"l":[{"d":31}],"n":[{"n":31}],"s":31}]}],"l":[{"a":[{".":26,"c":23,"d":[{"a":[{"n":6}]}],"ð":[{"a":[{"l":1}]},26],"f":[{"a":[{"s":1}],"r":1,"s":28},23],"g":[{"ð":21,"e":23}],"k":[{"ó":10},26],"l":[{"d":28},101],"m":[{"b":1}],"n":[{"a":26,"d":[{".":21,"s":21},53],"g":25,"k":[{"a":[{"s":9}]}],"n":[{"a":[{".":22}]},23],"ó":18,"t":1}],"p":[{"l":46}],"r":[{"a":[{"m":18}],"e":18,"g":12,"i":[{"s":18}],"n":28,"ó":0,"t":12,"y":18},26],"s":[{"i":3,"l":[{"e":3,"i":10}],"t":[{"a":[{"ð":9}]}]},26],"t":[{"í":[{"n":3}],"u":1}],"u":[{"m":26,"t":[{"a":[{"s":9}]}]},25]}],"á":[{"g":7,"m":[{"a":5}],"n":[{"e":5}],"r":23,"t":[{"u":[{"m":31}]},6],"v":0}],"b":20,"d":[{"a":[{"r":0}],"d":0,"e":[{"m":12,"y":0}],"i":[{"g":12}],"r":[{"a":[{"s":1,"u":10}],"i":18,"o":10,"ó":3}]},26],"e":[{".":23,"f":[{"n":29},26],"g":[{"n":23}],"i":[{"f":[{"a":[{"s":9}]}],"k":[{"v":13}],"n":23}],"k":23,"l":23,"n":[{"n":23}],"p":23,"r":[{"í":10},26],"s":[{"e":5}],"t":26,"x":28,"y":[{".":26,"j":23,"m":26}]},25],"f":[{"a":[{"s":6}],"á":[{"t":10}],"d":[{"r":6}],"f":0,"i":[{"n":[{"n":[{".":10}]}]},7],"j":28,"l":[{"a":12},7],"ó":18,"s":[{"p":6}],"t":[{"r":12,"u":[{"n":1}]}]}],"g":[{"a":[{"r":[{"s":12}],"s":[{"t":10}]},7],"á":29,"e":[{"s":18}],"i":[{"l":12,"s":[{"i":6}]}],"í":0,"l":1,"n":[{"i":[{"s":9}]}],"r":29,"ú":6},23],"h":29,"i":[{".":23,"k":[{"a":1,"v":10}],"l":[{"a":10,"i":0},2],"n":[{"d":53,"g":[{"s":[{"á":23}]}],"n":[{".":22},28],"u":37}],"r":49,"s":[{".":22,"á":18,"i":28,"k":12,"r":22,"t":[{"i":18,"u":[{".":22}]}]},29],"t":[{"a":[{"r":1}],"l":21}]}],"í":[{"a":[{".":28}],"b":6,"f":[{"a":5},25],"k":[{"k":3}],"m":[{"u":[{"g":5}]}],"p":23,"t":25,"u":[{"f":18,"h":18,"t":[{"r":18}]},29]}],"j":[{"a":[{"r":[{"ð":10},0]}],"ó":[{"s":[{"k":9,"l":13},25]}],"u":[{"g":0,"r":[{"u":6},12]}]}],"k":[{"a":[{"p":12,"s":6}],"e":29,"r":28,"ú":[{"r":28}],"v":29,"y":28},26],"l":[{"e":[{"t":0,"y":18}],"f":0,"g":101,"i":[{"ð":[{"a":0}],"g":3,"s":[{"s":16}],"t":29}],"í":[{"t":12}],"k":34,"m":0,"ó":[{"t":15}],"s":[{"t":[{"æ":5}]}],"t":[{"e":10}],"u":[{"g":10}],"v":0},26],"m":[{"a":[{"r":[{"i":10,"s":0}]}],"b":1,"e":28,"ó":29},26],"n":[{"a":[{"r":12}],"i":[{"ð":6}],"o":22}],"o":[{"ð":31,"k":[{"i":31}],"n":23,"r":30,"s":31},6],"ó":[{"ð":[{"r":3}],"g":[{"r":10}],"m":[{"a":6}]}],"p":[{"t":10}],"r":[{"i":[{"t":28},53]},20],"s":[{"í":1,"j":97,"k":[{"i":[{"n":22}],"o":[{"n":6}]}],"n":[{"e":[{"s":[{"i":6}]}]}],"t":[{"a":[{"ð":28}],"i":[{"n":1}]}],"v":[{"e":15}]},26],"t":[{"a":[{"ð":0}],"i":[{"l":22}],"s":6,"ú":6,"æ":29},23],"u":[{".":23,"ð":28,"g":[{"l":12}],"k":[{"i":1}],"l":70,"m":[{"a":15},29],"n":[{"d":21,"u":28},29],"p":[{"e":10}],"r":29},26],"v":[{"a":[{"ð":0,"l":28},53],"í":[{"u":18}]},20],"y":[{"f":21,"n":25,"r":29},6],"ý":[{"f":26,"t":[{"a":1,"i":23}]},25],"þ":20,"æ":[{"g":25,"k":[{"j":[{"a":[{"r":74}]},13],"k":31}],"t":[{"i":25}]}],"ö":[{"g":25,"l":22,"t":23}]}],"m":[{"a":[{".":26,"b":18,"d":18,"ð":[{".":28,"a":28,"i":28,"r":28,"s":22,"u":25}],"f":1,"g":[{"n":95},18],"k":18,"l":[{"a":[{"s":1}],"d":[{"r":3}],"f":28,"l":28,"p":18,"t":1}],"m":4,"n":[{".":23,"a":[{".":23}],"á":18,"b":28,"d":102,"k":28,"l":28,"n":[{"a":[{"s":12}],"i":21,"s":21,"t":9}],"s":[{"a":5},37],"t":28,"u":23}],"r":[{"a":28,"b":28,"ð":28,"k":[{"s":11},100],"n":28,"o":3,"s":[{"m":9},1],"ú":18},7],"s":[{"k":12,"p":6,"t":[{".":28}]},29]},53],"á":[{".":23,"l":[{"f":55},103],"m":[{"u":10},26],"p":10,"r":23},25],"b":[{"a":[{"ð":[{"i":10}],"n":29}],"i":[{"r":6},0],"u":[{"n":0}]},23],"d":[{"a":[{"s":[{"t":[{"a":10}]},7]}],"v":6}],"e":[{".":23,"ð":3,"f":22,"g":[{"i":[{"n":59}]}],"i":[{"s":83}],"l":[{"t":[{"r":16}]}],"n":[{"d":29,"n":21}],"r":[{"h":22,"í":72}],"s":[{"t":[{"a":9}]}]},25],"f":[{"í":18,"ö":[{"r":[{"u":12}]}]},54],"g":[{"l":1},66],"h":29,"i":[{"ð":[{"i":3,"r":12}],"g":[{"e":0}],"k":21,"l":[{"j":13,"l":[{"j":59},1]}],"n":[{"g":28,"j":31,"n":[{".":28}],"s":1,"u":28}],"r":28,"s":[{"k":3,"l":[{"u":3}],"m":12},29]}],"í":26,"j":[{"ó":[{"s":[{"l":3}]}]}],"k":[{"a":[{"r":[{"g":6}],"s":6},53],"i":7,"l":6},29],"l":[{"a":[{"g":28,"u":28},53],"á":[{"r":0},53],"i":53,"u":[{"k":22}]},29],"m":[{"a":104,"b":10,"ó":18,"s":[{"v":6}],"u":0},23],"n":[{"e":[{"s":[{"k":[{"u":18}]}]}]}],"o":[{"g":26,"k":23,"l":21,"n":[{"g":9}]}],"ó":[{"d":3,"ð":[{"s":1}],"g":56,"n":[{"í":22}],"r":[{"a":[{"u":0}]}],"s":6,"t":21}],"p":[{"á":0,"e":22,"i":0}],"r":[{"a":[{"u":28}],"á":22,"e":28,"ý":28,"æ":29}],"s":[{"á":[{"l":10}],"e":[{"i":10},53],"k":[{"a":[{"u":22}],"j":10}],"l":[{"á":10}],"n":1,"s":[{"e":[{"t":[{"r":71}]}]}],"v":[{"í":18},29]},23],"t":[{"a":[{"ð":0}],"i":[{"s":7},18],"u":[{"g":28,"n":10,"s":6}],"v":7,"ö":29}],"u":[{".":23,"g":[{"u":1}],"l":23,"m":23,"n":[{"d":25,"g":28},53],"r":[{"u":18},23],"s":[{"t":[{"a":10}]}]},29],"ú":[{"ð":28,"g":[{"u":1}],"n":29,"s":[{"a":1}]}],"v":54,"y":25,"ý":[{"m":10},21],"þ":29,"æ":25,"ö":[{"r":1},25]}],"n":[{"a":[{".":23,"d":[{"a":7,"í":6}],"ð":[{"a":[{"r":59}]}],"f":[{"l":[{"a":[{"n":9}]},12],"n":21},1],"k":[{"a":1,"r":6}],"l":[{"a":0,"d":28,"i":0},2],"m":[{"a":15}],"n":[{"a":[{"f":18}],"g":22,"n":22}],"r":[{"a":[{"k":18}],"f":[{"i":18,"ö":18},72],"g":12,"i":[{"s":18}],"m":5,"r":[{"i":[{"n":5}]}],"u":18,"ú":18}],"t":1,"u":[{"g":22,"k":28,"m":[{"a":9}]}]},29],"á":[{"g":15,"k":15,"m":64,"n":[{"a":[{"s":[{"t":5}]}]}]},25],"b":[{"æ":[{"j":12}]},29],"d":[{"e":[{"r":0}],"i":[{"s":[{"v":6}]}],"j":18,"ó":[{"t":0}],"r":[{"e":[{"k":0}],"u":14,"æ":15}],"s":[{"e":[{"n":6}]}],"u":[{"g":0,"l":10,"r":[{"g":9}]}],"ú":0}],"e":[{"ð":[{"s":2}],"f":[{"l":23},105],"m":[{"a":5},18],"n":20,"r":106,"s":[{"t":[{"r":16}]}],"t":[{"l":12}],"y":[{"i":22,"j":28}]},25],"é":[{"s":[{"k":10}]}],"f":[{"r":1},66],"g":[{"a":[{"m":14,"r":[{"e":10}],"s":7}],"e":[{"k":10,"r":28,"t":28,"y":15},53],"i":[{"k":5,"l":[{"i":[{"ð":5},12]}]}],"l":[{"a":[{"g":10}],"i":[{"ð":5},2]}],"ó":[{"l":[{"f":[{"s":10}]}]}],"r":[{"a":[{"n":5},6],"í":28,"u":3,"æ":0}],"s":[{"j":6,"p":6,"t":[{"e":6}]}],"u":[{"r":[{"s":59}],"t":3}]}],"h":29,"i":[{"ð":[{"i":18}],"f":[{"r":10}],"g":[{"r":0}],"l":[{"u":0}],"m":10,"r":[{"u":18}],"s":[{"a":28,"á":18,"k":[{"ó":0},12],"m":2,"s":5,"t":[{"e":0,"æ":10}]}]},30],"í":[{"a":28,"s":[{"k":28}],"u":[{"m":6},29]}],"j":[{"á":[{"l":12}]}],"k":[{"a":[{"ð":0,"n":[{"d":10,"s":0}]}],"á":22,"e":29,"i":0,"ó":22,"u":[{"n":[{"n":28}]}],"y":22,"ö":22},7],"l":[{"i":[{"s":[{"t":[{".":18}]}]},1]},66],"m":54,"n":[{"á":15,"e":15,"g":32,"k":[{"i":1}],"s":[{"j":6,"k":[{"e":10}],"t":[{"o":6,"u":[{"n":10}]}]}],"t":[{"ó":10}],"u":[{"g":0,"s":7}],"ú":[{"ð":0}]},53],"o":[{"r":29,"t":25}],"ó":[{"l":[{"f":22}],"t":[{"t":[{"i":[{"n":31}]}]}]}],"p":57,"r":[{"a":[{"m":28,"u":22}],"i":[{"t":28},85]},29],"s":[{"a":[{"k":28}],"á":[{"t":22}],"e":[{"g":18,"s":10}],"i":[{"s":10}],"í":15,"k":[{"i":[{"l":28}],"í":[{"r":16}],"j":[{"a":10}],"ö":22}],"n":[{"a":1}],"r":10,"t":[{"e":1}]}],"t":[{"a":[{"ð":0,"k":[{".":22,"i":22}],"l":28}],"e":29,"g":[{"e":[{"n":11}]}],"i":[{"l":28}],"í":53,"s":[{"k":10,"m":10},7],"u":[{"g":0}],"v":6,"ý":29,"ö":29}],"u":[{"f":1,"g":[{"r":18}],"k":2,"l":15,"m":[{"a":15,"d":31}],"n":[{"g":[{"s":59}]}],"r":[{"f":5,"l":1}],"s":[{"t":[{".":28,"a":[{"ð":10}]}],"v":6}],"t":[{"a":10}]},29],"ú":[{"m":107,"s":6}],"v":29,"y":[{"f":22,"r":[{"k":28}]}],"ý":[{"g":28,"l":0,"s":[{"k":10}]},25],"þ":29,"æ":[{"l":[{"a":1}]},25],"ö":[{"f":21,"l":[{"d":28}],"n":22}]}],"o":[{"b":[{"s":31}],"ð":[{"a":[{"l":3}],"r":1,"s":[{"l":5}],"u":[{"g":6}]}],"f":[{"a":[{"n":[{"g":0}]}],"f":[{"u":1}],"o":0,"r":10,"s":[{"j":6,"u":10}]},53],"g":[{"a":[{"l":55,"s":[{"t":16}]}],"s":[{"u":1}]}],"k":[{"a":[{"s":6}]}],"l":[{"a":[{"k":12}],"d":[{"u":3}],"g":7,"l":[{"e":[{"g":5}],"i":[{"t":10}],"s":[{"t":1}]}],"m":0,"ó":0,"t":[{"a":[{"l":16}]}]}],"m":[{"a":0,"m":108,"u":[{"n":0},7]},53],"n":[{"s":[{"v":0}],"t":[{"ó":10},6],"u":[{"s":6}]}],"p":[{"a":[{"p":5}],"h":36,"u":56}],"r":[{"a":1,"d":[{"i":6}],"e":15,"f":[{"e":7}],"g":[{"r":7}],"í":21,"l":[{"a":[{"g":16}]}],"m":[{"a":7,"i":6}],"n":[{"e":6},23],"s":[{"t":[{"a":6}]}],"t":[{"r":12,"u":[{"g":3}]}],"u":[{"g":0},15],"v":[{"i":[{"ð":6}]},34],"y":0}],"s":[{"k":[{"i":3}],"m":0,"s":7,"t":[{"i":5,"u":[{"n":5}]}]},18],"t":[{"a":[{"ð":0,"l":62,"m":12}],"r":[{"o":0}],"s":[{"á":1}],"u":[{"n":10}]},106],"u":18,"v":[{"e":28}],"x":6}],"ó":[{"a":[{"f":[{"l":[{"a":[{"t":71}]}]}],"n":22,"r":[{"s":1}]},29],"b":[{"a":[{"k":0}]}],"d":[{"a":6}],"ð":[{"i":1,"l":1,"m":1,"v":1}],"e":22,"f":[{"a":[{"r":0,"s":6}],"l":[{"u":[{"s":9}]}],"r":1,"u":[{"s":10}],"y":53,"ö":18}],"g":53,"h":29,"i":29,"k":[{"l":[{"o":10}],"r":28,"u":7}],"l":[{"a":[{"m":3,"s":7}],"i":[{"k":10,"s":6}],"k":[{"v":6}],"o":[{"m":10}],"s":[{"k":21}]}],"m":[{"a":[{"ð":93,"r":0}],"b":[{"æ":6}],"g":7,"i":[{"s":6}],"l":1,"p":0,"s":[{"t":[{"u":0}]}],"u":0,"ö":53}],"n":[{"í":0,"k":[{"v":10}]},18],"p":[{"e":6,"h":109}],"r":[{"a":[{"s":6}],"á":1,"d":[{"ö":6},7],"e":[{"s":10}],"f":1,"g":1,"i":[{"s":6},18],"í":[{"k":12}],"j":1,"k":1,"m":1,"n":[{"o":1}],"ó":[{"n":0}],"r":1,"s":[{"a":1}],"u":15}],"s":[{"a":[{"f":5,"k":12}],"e":[{"m":28,"n":[{"d":0}]}],"k":[{"a":[{"f":22,"s":1}],"i":[{"n":5}]}],"l":[{"a":[{"v":59}]},7],"ó":53,"p":1,"s":[{"e":6}]}],"t":[{"a":[{"ð":0,"p":12},18],"e":[{"f":10}],"i":[{"l":[{"t":12}]}],"í":22,"ó":6,"v":7}],"u":[{"m":[{"b":5}]},29],"v":[{"a":[{"t":22},6]}],"y":6,"þ":22}],"p":[{"a":[{"g":1,"l":[{"e":6}],"m":0,"n":[{"g":[{"ó":3}]},6],"r":[{"a":[{"t":18}],"i":[{"f":13}],"í":5,"t":[{"e":5},53],"u":18},7]},29],"á":[{"k":53,"l":18,"m":10,"r":18,"s":7,"t":18}],"b":29,"d":22,"e":[{"l":29,"n":[{"i":25}],"r":[{"s":21}]}],"f":66,"g":66,"h":29,"i":[{"l":[{"a":[{"r":5}],"t":31}],"n":[{"k":18}],"s":[{"t":[{"i":9}]}],"t":1},29],"í":[{"p":21,"t":7}],"l":[{"a":[{"ð":0,"s":1}],"æ":18,"ö":21},7],"m":54,"o":[{"k":25}],"ó":[{"s":21}],"p":[{"a":[{"k":[{"s":10}]}],"e":10,"í":0,"k":1,"l":15,"ó":0,"r":15,"s":[{"k":12}]},53],"r":[{"a":23,"i":[{"s":18},7],"í":1,"j":21,"ó":[{"f":[{"a":[{"s":5}]}],"m":5},25]}],"s":[{"a":29,"s":1,"t":29}],"t":[{"ú":7}],"u":[{"k":[{"i":1}],"l":15,"r":[{"a":1}]},29],"ú":[{"f":1},21],"v":29}],"q":[{"u":6}],"r":[{"a":[{".":23,"ð":[{"s":[{"h":31}]}],"f":[{"f":1}],"l":[{"d":28,"i":1,"l":18,"s":28}],"n":[{"a":[{"l":21}],"i":[{".":18}],"n":[{"s":21}],"ó":18}],"r":[{"a":[{"ð":18}],"ú":18,"y":18,"æ":18},49],"s":[{"i":3}],"t":[{"u":0}],"u":[{"m":18}]},26],"á":[{"ð":25,"f":[{"i":1}],"k":[{"v":[{"æ":10}]}],"r":[{"s":12}],"s":[{"a":18}]}],"b":[{"a":1},54],"d":[{"í":53},29],"ð":[{"a":[{"r":[{"á":110}]}],"i":[{"s":10}],"l":101,"m":[{"u":6}],"r":[{"á":10}],"s":[{"u":10,"v":0}],"v":1},18],"e":[{"f":[{".":18,"s":18,"t":[{"s":[{"k":31}]}]}],"g":[{"l":25}],"i":[{"g":28,"k":21}],"n":[{"u":22}],"u":22,"y":[{"n":18}]}],"é":18,"f":[{"a":[{"l":[{"i":5},111],"r":6}],"á":28,"e":[{"ð":22}],"i":[{"s":15}],"j":[{"á":[{"r":16}]},29],"l":[{"ö":6}],"ó":[{"g":9}],"r":[{"u":1},29],"s":[{"t":6}],"u":[{"n":[{"d":28}],"r":[{"ð":6}]}]}],"g":[{"j":[{"a":[{"ð":1,"r":1}]}],"l":[{"y":22},112],"r":[{"a":53,"e":[{"y":18}]},29]}],"h":22,"i":[{".":23,"ð":[{".":49}],"g":[{"a":[{"s":9}]},2],"l":[{"d":28}],"n":[{"e":5,"g":[{"j":[{"a":[{"r":11}]}]}],"u":28},23],"p":[{"s":1}],"r":49,"s":[{"k":0,"l":113,"n":21,"t":[{"a":[{"ð":9}]}],"u":[{"n":1}]}],"t":[{"l":[{"i":3}]},84]}],"í":[{".":23,"f":23,"k":[{"i":[{"s":59}]}],"l":23,"s":[{"t":12}],"u":23,"þ":23}],"j":[{"a":[{"r":0}],"á":[{"l":1}],"ó":[{"s":[{"a":3,"k":[{"a":11}]}]}]}],"k":[{"a":[{"m":14,"u":[{"p":[{"s":16}]}]}],"á":28,"e":[{"f":15,"l":[{"l":18,"s":[{"s":18}]}]},29],"j":[{"u":[{"s":13}]}],"s":[{"e":6,"m":15,"p":6}],"ú":6,"v":[{"e":[{"i":10}]}],"ö":28}],"l":[{"a":[{"ð":0,"n":[{"n":10}]}],"i":[{"ð":6,"s":[{"s":9}],"t":28},97],"m":0,"o":[{"f":12}]},66],"m":[{"a":[{"k":12,"n":29}],"á":[{"l":[{"s":11}]}],"b":1,"i":[{"ð":29,"l":12},7],"j":22,"k":1,"l":1,"ó":[{"ð":28}],"r":1}],"n":[{"a":[{"r":[{"l":9},0]}],"g":15,"ó":[{"r":10}],"s":[{"í":10,"m":10,"o":6}],"u":[{"m":[{"i":22}]},18]}],"o":[{"g":[{"a":[{"s":1}]}],"n":1,"r":29},6],"ó":[{"g":[{"r":10}],"m":6,"s":[{"a":6,"ó":3}],"t":[{"i":31}]}],"p":[{"a":[{"l":22}],"ó":28,"r":[{"i":18},29],"s":[{"k":0},7],"y":22}],"r":[{"a":[{"r":10}],"á":29,"e":29,"é":29,"í":29,"k":7,"ó":28,"u":15,"ú":22,"æ":29}],"s":[{"a":[{"f":18},29],"á":[{"r":6}],"e":[{"g":[{"l":16}],"r":28}],"i":[{"n":[{"n":6}]}],"k":[{"e":28,"i":[{"l":22}]}],"l":[{"a":[{"n":6}]}],"m":[{"á":7}],"t":[{"i":53,"v":1,"ö":28},29],"u":[{"n":[{"d":22}]},7],"ú":18,"v":29}],"t":[{"a":[{"ð":0,"g":5,"k":28,"s":[{"k":1}]}],"á":22,"e":[{"r":10,"y":0}],"h":[{"u":7}],"í":[{"k":18}],"ó":28,"r":[{"ö":28}],"s":[{"e":6,"l":10}],"t":1,"u":[{"r":[{"u":6}]}],"ú":6,"v":[{"e":6},18],"æ":29,"ö":[{"f":15}]}],"u":[{"ð":[{"u":[{"n":18}]},29],"k":[{"i":1}],"l":[{"i":10}],"m":7,"r":29,"s":[{"s":18,"t":[{".":28}]}],"t":[{"v":1}]}],"ú":[{"ð":18,"m":21,"s":[{"t":9}]}],"v":[{"a":[{"ð":0}],"e":28,"i":[{"g":3,"n":[{"g":0}]},53],"u":[{"n":6}],"æ":28},29],"y":[{"r":28}],"ý":[{"m":25}],"þ":29,"æ":[{"k":[{"t":25}],"m":[{"d":[{"a":9}]}],"n":25,"t":[{"i":3}]}],"ö":[{"f":[{"u":[{"g":1}]}],"k":[{"r":14}],"l":1}]}],"s":[{"a":[{".":26,"b":23,"ð":[{"f":18},37],"g":[{"r":23,"t":23},25],"l":[{"a":[{"t":5}],"d":49}],"m":[{"b":5,"e":114,"m":3,"s":14,"y":5},67],"n":[{"d":[{"s":18}]},26],"r":[{"e":18,"g":12,"o":18,"p":18},37],"s":20,"t":[{"a":1},26],"u":[{"k":28},26],"v":23}],"á":[{"b":28,"f":22,"l":[{"a":[{"r":11}]}],"r":29,"s":28},6],"b":29,"d":57,"e":[{"f":20,"l":[{"d":[{".":23}]}],"m":[{"i":31}],"n":[{"s":31}],"r":26,"s":26,"t":21,"x":3,"y":[{"ð":18},20]},25],"é":25,"f":[{"l":1,"r":1},38],"g":[{"l":2},54],"h":[{"á":[{"s":1}]},29],"i":[{"ð":[{".":28,"a":115,"i":18}],"f":[{"i":10},2],"g":25,"n":[{"d":[{"a":[{"r":12,"s":12}]}],"n":[{"u":31}],"s":116}],"r":28,"s":[{"t":28,"v":18}],"t":[{"a":0}]},29],"í":[{"b":[{"r":0}],"ð":[{"k":12},25],"g":[{"l":12}],"k":28,"m":6,"n":[{"k":[{"a":9}]}],"r":28,"s":29,"u":[{".":22}],"v":[{"e":6},0]}],"j":[{"a":[{"f":28,"r":12}],"á":18,"ó":[{"l":5,"m":55,"s":3}],"u":23,"ú":21},25],"k":[{".":26,"a":[{".":23,"ð":23,"f":[{"a":12}],"l":23,"n":26,"p":117,"s":23}],"á":25,"e":[{"i":25,"m":[{"m":21}],"n":23,"y":21}],"i":[{".":26,"ð":23,"n":[{"u":0}],"p":21,"r":26,"s":23},63],"í":[{"r":21}],"j":[{"á":31}],"n":35,"o":[{"ð":21,"n":23,"s":23,"t":100}],"ó":[{"g":31},25],"r":[{"á":25,"ó":23,"ú":21}],"s":23,"u":[{"r":[{"i":0}],"s":[{"t":0}]}],"v":26,"y":25,"ý":21,"æ":25},53],"l":[{"a":[{"f":3,"m":18,"n":[{"d":[{"s":74}]}]},2],"é":78,"i":[{"s":7}],"í":[{"ð":18},29],"o":[{"f":28,"k":28}],"ó":25,"u":[{"s":3}],"y":[{"s":25}],"æ":[{"k":28}]}],"m":[{"a":23,"á":[{"s":14,"v":5}],"e":[{"k":18},23],"i":53,"í":25,"j":1,"ö":23},66],"n":[{"e":[{"i":[{"ð":21}],"r":31,"s":28,"y":[{"d":21}]},53],"i":[{"ð":6}],"o":7,"ú":[{"m":23},25],"ý":18,"æ":[{"ð":9}]}],"o":[{"d":23,"n":21,"r":[{"ð":[{"i":22}]},26]},25],"ó":[{"l":[{"e":3,"s":3},18],"m":[{"a":[{"g":22}]},26],"s":23},84],"p":[{"í":[{"t":13}],"j":1,"l":23,"r":[{"a":23,"ó":26}],"u":[{"n":[{"d":22}]}]},67],"r":[{"a":[{"n":7,"u":22}],"á":29,"e":29,"é":29,"í":29,"o":22,"æ":22,"ö":28}],"s":[{"á":57,"e":[{"r":0}],"í":10,"k":118,"l":2,"m":1,"o":[{"r":10}],"t":[{"i":[{"r":18}]},29],"v":29}],"t":[{".":26,"a":[{".":26,"l":23,"p":23,"r":[{"f":[{"i":31,"s":31}]}],"æ":23},18],"e":[{"f":21,"i":[{"n":21}],"k":[{"k":31}],"t":23},25],"é":25,"h":[{"e":6}],"i":[{".":23,"g":25,"s":[{"l":6}]}],"í":[{"g":21,"m":26,"u":23}],"j":[{"ó":[{"n":23,"r":31}],"ö":[{"r":31}]},117],"l":[{"e":0},23],"o":[{"f":21},25],"ó":[{"n":23,"r":21},25],"r":[{"a":[{"l":5,"n":[{"d":[{"a":31}],"g":31}],"u":[{"m":31}]}],"á":[{".":31}],"e":25,"í":21,"ú":23,"y":28,"ö":[{"n":31}]},7],"t":10,"u":[{"n":[{"d":21}]},60],"ú":67,"v":23,"ý":21,"æ":[{"k":26},25],"ö":[{"ð":21,"l":23,"n":[{"g":31}]},100]},53],"u":[{"f":34,"m":[{"a":119}],"n":[{"g":53}],"p":[{"p":22}],"r":[{"a":22}],"s":[{"t":[{"i":12}]}]},29],"ú":[{"l":[{"n":12}],"n":22,"r":[{"s":22}],"t":5},6],"v":[{"a":[{"g":23,"l":23,"t":28}],"e":[{"ð":22,"f":18,"i":[{"k":28,"n":21},53],"p":31,"x":23}],"i":[{"ð":[{"i":[{".":31},18]}],"k":[{"u":13},18],"n":22}],"o":29,"æ":[{"ð":25},53]},6],"y":[{"f":[{"i":37}],"n":21,"r":49},25],"ý":78,"þ":29,"æ":[{"ð":23,"f":[{"a":10},1],"j":21,"l":21,"s":23},25],"ö":[{"g":[{"u":[{"s":9}]},21],"l":[{"d":37}],"m":21,"r":37},25]}],"t":[{"a":[{"ð":53,"f":[{"r":7}],"k":[{"a":25,"e":[{"n":[{"d":31}]}]}],"l":[{".":18,"a":[{"m":12}]}],"m":[{"a":15,"t":22},23],"n":[{"á":6,"g":21}],"r":[{"a":[{"ð":65}],"i":[{"s":120}],"k":12,"p":12,"s":[{"á":5}],"æ":[{"v":16}]},23],"s":[{".":18,"l":10},29],"t":1,"v":[{"í":6}]}],"á":[{"k":[{"n":31}],"n":[{"d":23}]},121],"b":29,"d":29,"e":[{"g":[{"í":23,"u":31}],"i":[{"n":[{"g":9}],"s":29},1],"k":[{"j":21,"k":[{"j":11}]},25],"n":[{"d":29,"ó":5}],"p":[{"l":23}],"t":[{"t":28}],"y":26}],"é":[{"l":6}],"f":[{"i":[{"r":[{"r":16}]}]},73],"g":29,"h":[{"e":[{"r":[{"s":10}]}]},29],"i":[{"a":[{"n":6}],"k":[{"i":[{"s":10}]}],"l":[{"d":12}],"n":23,"r":[{"k":12,"æ":18}],"s":[{"t":[{".":22,"a":0,"i":[{"l":71}]},12],"v":53}],"t":25},29],"í":[{".":23,"a":23,"ð":21,"l":6,"m":21,"n":23,"t":23,"v":3},25],"j":[{"ö":18}],"k":[{"a":6,"i":63},29],"l":[{"a":[{"f":12,"g":[{".":18},28],"n":[{"n":10},7]}],"á":29,"i":7,"u":[{"r":12}],"æ":29}],"m":17,"n":[{"s":[{"k":[{"r":16},12]},7]}],"o":[{"g":25,"n":28,"r":[{"g":21,"u":31}]},6],"ó":[{"m":[{"a":[{"s":5},3]},25],"n":[{"l":31}],"r":[{"a":[{"u":5}],"i":[{"s":13}]},14],"t":29}],"p":28,"r":[{"a":[{"b":2,"ð":[{"a":[{"r":[{"i":31}]}]}],"l":[{"í":0}],"n":[{"n":0},7],"r":10,"u":[{"s":21}]}],"e":[{"y":18}],"é":25,"i":[{"s":[{"i":22},6]}],"í":[{"k":[{"a":22}]}],"j":21,"ó":[{"f":22,"t":[{"t":0}]}],"u":[{"g":0,"n":[{"a":0,"i":10}]}],"ú":100,"y":[{"ð":22},25],"æ":[{"n":28}],"ö":[{"ð":21}]}],"s":[{"a":29,"i":[{"n":[{"n":6}]}],"í":22,"j":1,"k":69,"s":15,"t":69,"u":6,"y":53},23],"t":[{"a":[{"ð":0,"k":[{"i":12}],"r":[{"f":9}]}],"á":10,"e":[{"r":[{"í":5,"n":10}]}],"í":18,"j":10,"l":15,"o":[{"r":15}],"r":[{"æ":0}],"u":[{"g":[{"l":6},0]}],"v":1,"æ":29}],"u":[{".":23,"ð":[{"i":18}],"g":[{"l":12}],"k":1,"l":[{"i":[{"ð":34}]}],"m":[{"i":[{"n":10}]},2],"n":[{"g":[{"l":78},53]}],"p":1,"r":[{"e":72,"k":3,"s":22}],"s":[{"a":18,"u":18}],"t":[{"r":12}]},29],"ú":[{"d":3,"ð":28,"l":6,"n":[{"a":1},25],"r":29,"s":[{"k":0}]}],"v":[{"e":[{"g":[{"g":[{"j":31}]}],"r":22}]},29],"ý":[{"s":31}],"þ":29,"æ":[{"k":21}],"ö":[{"k":25,"l":[{"s":22},25]}]}],"u":[{"a":[{"f":28,"u":22},20],"á":[{"æ":[{"t":[{"l":16}]}]},24],"b":122,"c":23,"d":[{"a":29,"á":22,"e":28,"ó":28,"r":28},35],"ð":[{"a":[{"r":[{"e":6}]},26],"k":34,"l":26,"m":1,"n":87,"r":[{"i":[{"s":10}]},26],"s":[{"e":6,"v":0,"æ":10}],"u":[{"l":23}]}],"e":116,"é":23,"f":[{"á":10,"d":1,"i":[{"t":22}],"j":28,"r":29,"u":[{"l":28}],"ú":22},23],"g":[{"a":[{"l":23,"t":23}],"e":23,"i":[{"l":23}],"j":30,"l":[{"a":23,"j":15,"u":23}],"n":6,"ó":23,"r":[{"a":[{"n":22}],"e":23,"j":23,"ó":23,"æ":0}],"t":[{"a":0}],"ö":23},26],"h":30,"i":[{"ð":22},23],"í":35,"j":26,"k":[{"a":[{"k":12,"s":6}],"e":29,"i":[{"n":[{"n":[{"i":[{"n":22}]}]}]}],"k":[{"u":[{"s":13}]}],"ó":22,"v":28},26],"l":[{".":21,"a":[{"g":30,"r":0}],"b":21,"e":23,"i":[{"n":[{"d":22}],"s":6}],"í":29,"k":32,"l":[{"a":6,"n":23,"t":12}],"o":49,"ó":28,"s":[{"v":10}],"t":[{"i":1}],"u":[{"s":0}],"v":56,"æ":28,"ö":30},26],"m":[{".":21,"a":[{"k":12,"n":29,"r":[{"a":[{"n":6}]}]},26],"á":[{"l":[{"a":[{"r":12}]}]},26],"b":[{"a":6,"æ":10,"ö":6}],"d":26,"e":[{"i":[{"n":0}]},26],"i":23,"j":1,"k":[{"i":6}],"l":23,"m":[{"a":1}],"o":45,"ó":26,"p":23,"r":26,"s":[{"l":0,"t":[{".":21}]},1],"t":4,"u":[{"n":[{"n":10}]},23],"ú":23,"y":26,"ý":26,"æ":26,"ö":26}],"n":[{"a":[{"r":[{"a":9},123],"s":7,"t":23,"u":20}],"á":26,"d":26,"e":23,"k":23,"n":[{"á":26,"s":23,"u":[{"g":5},26]}],"o":23,"ó":23,"s":[{"a":[{"n":1}]}],"t":23,"u":[{"r":23},25],"æ":23,"ö":23}],"o":[{"l":1},37],"ó":23,"p":[{"p":[{"a":[{"l":11},5],"i":1},14]},26],"r":[{".":21,"a":[{"f":1,"m":56,"n":[{"n":[{"a":10}]},7]},26],"á":26,"ð":[{"a":[{"r":[{"á":9}]}]}],"e":[{"k":29,"y":0},26],"é":30,"f":[{"a":1,"l":0}],"g":[{"e":1,"j":0}],"i":[{"n":10,"t":23}],"í":[{"k":28},23],"j":34,"k":[{"a":1}],"m":15,"n":[{"í":0}],"o":23,"ó":23,"s":[{"k":124,"n":[{"a":0}],"t":[{"a":6}],"v":[{"ö":6}]}],"t":[{"i":[{"l":10,"r":1}]}],"u":[{"n":[{"n":6}],"s":23},15],"v":[{"i":[{"s":6}]},34],"y":[{"k":23}],"ý":23,"æ":26,"ö":23}],"s":[{"a":[{"l":28},26],"á":35,"e":26,"í":23,"j":26,"k":30,"l":23,"m":17,"n":26,"o":23,"ó":23,"p":23,"t":[{"a":[{"r":[{"f":22}]}],"á":23,"e":23,"é":26,"i":26,"í":26,"o":23,"ó":23,"r":23,"u":[{".":21}],"ú":26,"y":23,"ý":23,"æ":23,"ö":23}],"u":[{"n":[{"d":22}]}],"v":49,"y":23,"ý":26,"ö":26}],"t":[{"a":[{"ð":0,"s":7}],"e":28,"i":[{"l":22}],"ó":28,"s":[{"t":[{"ó":6}]}],"ú":7,"æ":29},26],"u":37,"ú":45,"v":49,"y":[{"f":28},26],"þ":20,"æ":23,"ö":116}],"ú":[{"a":[{"l":1,"r":[{"f":28}]},29],"b":[{"a":[{"n":0}],"l":[{"i":13}]}],"ð":[{"a":[{"r":0}],"g":10}],"e":28,"f":[{"a":[{"r":10}],"l":[{"i":10,"y":10},2],"s":[{"á":1}]}],"g":[{"a":[{"l":[{"a":22}]}],"ó":3,"æ":18}],"i":30,"k":[{"l":15,"r":[{"u":14}],"s":6}],"l":[{"e":[{"r":10}],"f":[{"a":[{"l":5}]},125],"í":[{"p":12},108],"o":28}],"m":[{"r":6,"s":[{"i":6}]},79],"n":[{"d":[{"u":[{"g":1}]}],"g":[{"ö":6}]},18],"p":[{"l":[{"i":5}]}],"r":[{"e":[{"f":10}],"í":[{"t":12}],"s":[{"l":10}],"t":15,"u":[{"n":0}],"v":10,"æ":28}],"s":[{"a":18,"e":[{"i":0}],"í":0,"s":[{"t":[{"i":6}],"v":6}],"v":15},26],"t":[{"e":0,"h":[{"e":7}],"i":[{"f":5,"s":7}],"j":1,"l":101,"r":15}],"u":30,"v":[{"a":18},29],"þ":22}],"v":[{"a":[{"ð":[{"r":9}],"f":[{"o":10}],"h":10,"l":[{"l":[{"a":[{"g":31}]}]}],"n":6,"r":[{"m":[{"a":1}],"p":[{"s":59}],"ú":5,"v":1}],"s":[{"t":28}],"t":6,"x":21},61],"e":[{"ð":[{"l":5}],"f":[{"e":0}],"g":25,"i":[{"ð":21,"n":[{"a":[{"s":12}]}],"s":31},53],"l":[{"g":23}],"p":26,"r":[{"ð":25,"g":[{"j":3}],"k":21,"s":2},18]}],"é":[{"s":22,"t":126},7],"h":37,"i":[{".":26,"ð":[{"a":[{"r":31}],"l":3},18],"l":[{"i":[{"ð":0},1],"n":21,"o":6}],"n":[{"g":[{"j":3}]}],"p":23,"r":[{"k":21}],"s":[{"k":[{"u":[{"n":9}]}],"s":21,"v":1}],"t":[{"a":31,"k":9,"n":2}],"v":23},53],"í":[{"b":23,"ð":26,"k":31,"s":[{"i":21,"l":[{"a":13}]}],"v":15}],"n":26,"o":[{"k":0,"l":1,"r":[{"k":12,"r":1}]}],"r":127,"s":23,"u":[{"ð":29,"n":29},26],"æ":[{"g":31}]}],"w":[{"a":6,"i":[{"n":[{"s":128}]}]}],"x":[{"a":[{"r":22,"s":53}],"e":28,"f":28,"i":[{"s":1},22],"í":[{"k":1,"u":22},0],"t":[{"a":[{"ð":10}]}],"u":54}],"y":[{"b":[{"a":22}],"ð":[{"s":7}],"f":[{"a":10,"i":15,"j":[{"a":[{"ð":5}]}],"t":[{"i":[{"s":1}]}]}],"i":29,"j":[{"a":[{"r":0}],"ó":10}],"k":[{"e":10,"i":0,"s":[{"u":0}],"u":0,"v":0}],"l":[{"f":[{"i":5}],"g":[{"n":12}],"l":[{"a":5}],"v":6}],"m":[{"a":0,"p":[{"í":5}]}],"n":[{"j":[{"a":[{"r":5}],"ó":3}],"k":6,"t":6,"u":10},18],"p":[{"u":[{"s":7}]}],"r":[{"e":10,"i":[{"l":0,"r":13},15],"j":3,"k":[{"v":[{"a":13}]}],"l":7,"s":7,"u":15}],"s":[{"j":3,"s":7,"t":[{"u":[{"g":3}]}]},53],"t":[{"h":6,"i":[{"l":12}],"k":6}],"v":28}],"ý":[{"a":[{"f":5},22],"á":22,"ð":[{"s":7}],"f":[{"l":[{"u":28},1]}],"g":[{"r":6,"u":[{"ð":6}]}],"i":29,"j":[{"a":[{"f":62}]}],"m":[{"a":6,"k":6}],"p":[{"r":[{"u":12}],"s":7}],"r":[{"f":1,"i":[{"m":3,"p":62}],"l":0}],"s":[{"i":[{"g":12},18],"l":6,"m":6,"t":[{"á":28}]}],"u":22,"ú":22,"v":28,"y":22}],"z":[{"ó":6}],"þ":[{"a":[{"m":1,"r":[{"f":[{"a":9}],"m":1}]},53],"b":23,"i":[{"s":[{"t":[{"i":13}]}]},53],"j":[{"ó":1}],"o":[{"l":[{"a":5}],"r":[{"f":55,"g":3,"m":12}]}],"ó":[{"l":29,"r":[{"i":5},21]},129],"r":[{"a":1,"á":[{"s":12}],"i":[{"s":12}],"í":[{"l":12,"t":3}],"u":1},61],"u":[{"m":[{"a":5,"b":13}],"r":2}],"ú":[{"s":3}],"v":[{"e":[{"r":[{"s":[{"k":9}]}]}]},53]}],"æ":[{"b":29,"ð":[{"n":[{"i":[{"s":11}]},5],"s":7,"u":[{"g":6}]}],"f":[{"a":15,"i":18,"u":[{"s":[{"t":0}]}]},23],"g":[{"i":[{"s":[{"t":10}]}]}],"i":29,"j":[{"a":[{"l":6,"r":[{"k":16}]}]},0],"k":[{"a":15,"l":[{"i":15}],"u":0}],"l":[{"a":[{"n":0}],"e":0,"u":[{"s":0}]},53],"m":[{"a":[{"l":6},0],"u":[{"n":[{"d":[{"u":18}]}]}]}],"n":[{"a":[{"k":12}],"k":6}],"r":[{"a":15,"e":0,"g":[{"ö":[{"n":[{"g":74}]}]}],"i":[{"f":12,"s":[{"t":0,"v":3}]}],"l":0,"n":6,"s":7,"u":[{"n":10,"s":15}],"ú":22}],"s":[{"i":[{"s":6}]}],"t":[{"i":[{"s":[{"e":10}]}],"l":[{"i":5}]}],"u":22,"v":[{"a":[{"g":5,"l":22,"r":[{"a":6},0]}],"e":28,"i":[{"n":0}]}]}],"ö":[{"ð":[{"l":3,"m":5,"u":[{"n":0}],"v":[{"a":[{"n":5,"r":3}]}]},7],"f":[{"a":29,"l":[{"ó":3}],"n":5,"r":[{"u":3}],"u":0}],"g":[{"g":[{"j":0,"v":13}],"r":[{"e":15}],"u":[{"s":7}]},18],"k":[{"e":10,"r":[{"á":10}],"s":[{"t":0}],"u":[{"l":0}],"v":[{"a":3}]}],"l":[{"f":4,"k":2,"u":[{"m":[{"i":5}],"n":10}],"v":[{"a":[{"n":5}]},7]},18],"m":[{"b":6,"u":0}],"n":[{"d":[{"l":1}],"g":[{"s":[{"v":5}],"u":[{"s":1}],"v":[{"a":13},1]}],"k":3,"n":[{"l":1}],"u":[{"g":0,"n":10}]}],"r":[{"e":15,"g":[{"e":6}],"l":[{"a":[{"n":6}]}],"m":[{"u":[{"n":5}]}],"ó":0,"u":[{"g":0,"n":[{"d":0},15],"s":12}],"v":[{"a":[{"l":5,"n":5,"r":5},23],"i":1},7],"y":15,"æ":10}],"s":[{"k":[{"u":[{"l":3}]}],"u":0},18],"t":[{"s":6,"u":[{"g":28}],"v":[{"a":3},7]}],"u":22}]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/679.adapter.js b/public/tools/cloud_sheets/vendor/univer/679.adapter.js new file mode 100644 index 0000000..05df1aa --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/679.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[679],{679(u,e,i){i.r(e),i.d(e,{LaXClassic:()=>s});const s=["023,00001,000032,00032,0000021,0021,0002,000023,0023,02,23,32,3,2,01,012,032,03,001,003,4,05,0005,0001,0202,0303,0101,1,022,0012,202,102,21,223,203,12,0032,0212,021,02101,002,00302,02102,0052,00002,0003,00323,000322,00212,0043003,0043001,004304,0302,00023,000002,043,00232,034,002121,002123,0021232,002300021,00000021,000000002,000001,0000032,0002103,00021,000101,000212,0025,0043,003202,000021,000214,002142,000021032,00002132,00002123,0000232,0000454,0000343,00002121,0000210032,34,00012,0000002,00000121,000001212,000003,0000012",'{".":[{"a":[{"b":[{"l":0,"a":[{"u":[{"u":38}],"l":[{"i":38}]}],"i":[{"c":38,"e":[{"c":38}],"n":39,"u":38}],"o":[{"l":38}],"s":[{"i":41,"o":19,"t":[{"e":36}],"u":41,"c":[{"i":[{"n":43}]}]},40],"e":[{"s":42,"r":42}],"f":[{"u":9}],"r":[{"u":0}]}],"n":[{"t":[{"i":[{"m":[{"n":2}]},1]}]}],"r":[{"i":[{"s":[{"t":[{"o":3}]}]}]}],"d":[{"s":[{"u":44,"i":41,"t":36}],"e":[{"s":42,"r":42}],"f":[{"u":9}]},38],"g":[{"n":[{"a":[{"s":16}]}]}],"s":[{"c":16,"p":16,"t":16}],"p":[{"e":[{"r":[{"u":3}]}]}]}],"c":[{"i":[{"r":[{"c":[{"u":[{"m":4}]}]}],"s":8}],"o":[{"n":[{"i":[{"u":[{"n":5,"e":46},44],"c":45,"f":36,"g":36,"t":36,"a":44,"e":44,"i":44}],"s":[{"c":[{"r":3}],"p":47,"t":3}]},5],"e":[{"n":5,"l":[{"e":[{"c":36}],"i":[{"g":36}]}],"m":[{"e":[{"n":19}]}],"r":36,"x":[{"s":2},46]},18],"i":[{"e":29,"u":45},18],"g":[{"n":[{"o":36}]}]}]},9],"e":[{"x":[{"s":[{"t":6}]},0]}],"p":[{"a":[{"r":[{"a":[{"i":1,"u":1}]}]}],"e":[{"r":[{"i":[{"a":[{"c":48}],"e":[{"c":48}],"p":[{"s":2,"t":2}],"s":[{"c":2,"t":2}]},1],"a":[{"b":[{"s":[{"u":5}]}],"c":5,"d":[{"u":58,"p":48}],"e":5,"g":8,"r":5,"u":48}],"e":[{"r":[{"r":8,"u":5}],"d":5,"f":[{"f":5}],"g":[{"r":5}],"l":5,"m":5,"n":[{"n":36}],"x":59}],"o":[{"r":8,"b":[{"s":[{"c":60}]}],"d":5,"f":5,"l":5,"p":5}],"u":[{"a":48,"e":48,"i":48,"o":48},8],"h":8,"s":[{"e":[{"u":54,"i":54,"o":54}],"c":56,"p":56,"t":56}],"t":[{"r":[{"a":[{"n":[{"s":61}]}]}]}]}]}],"r":[{"a":[{"e":[{"a":[{"u":54}],"s":[{"c":2,"p":2,"t":2}],"u":[{"a":54,"e":54,"i":54,"o":54}],"t":[{"e":[{"r":[{"u":[{"e":63,"o":63}]},62]}]}]},1]}],"i":[{"m":[{"i":[{"s":[{"c":65}]},64]}]}],"o":[{"d":[{"e":[{"s":[{"s":66}],"a":[{"m":[{"b":68}]},67],"o":67,"u":[{"n":67}]}],"i":[{"g":67,"s":53,"t":[{"o":3,"i":3,"r":3},67],"m":67,"r":67,"b":67,"e":[{"r":67}]}]}],"g":[{"n":3}],"i":[{"n":45}],"s":[{"c":3,"p":3,"t":3}]}]}]},9],"q":[{"u":[{"i":[{"n":[{"c":[{"u":[{"n":7}]}]}]}],"o":[{"t":[{"a":[{"n":67}],"e":[{"n":67}],"i":[{"e":69}],"l":[{"i":53}]}]}]}]}],"s":[{"u":[{"b":[{"l":[{"u":8}],"r":8,"i":[{"c":5,"n":[{"g":[{"r":5}]}]}],"o":[{"d":[{"o":5}]}],"s":[{"t":56}]}],"p":[{"e":[{"r":[{"a":[{"b":73,"d":[{"s":[{"t":76}]},73],"e":73,"g":73,"m":73,"r":[{"g":73}],"s":[{"p":77,"t":77}],"t":[{"t":73}]}],"b":[{"i":[{"b":73,"f":73,"l":73}]}],"c":73,"d":73,"e":[{"d":73,"f":[{"f":73}],"g":73,"m":73,"n":73,"r":73,"u":73,"x":78}],"h":7,"i":[{"l":73,"m":73,"n":73,"r":73,"u":[{"m":[{"e":80}]},81],"o":81},79],"o":[{"b":[{"d":82,"r":78}],"c":73,"r":73}],"s":[{"c":79,"p":79,"t":79,"u":[{"b":[{"s":[{"t":83}]}]}]}],"u":79}]}],"r":[{"a":[{"s":[{"c":65}]}]}]}],"s":[{"c":36,"p":36,"s":[{"c":[{"r":44}]}]}]}],"t":[{"a":[{"g":[{"n":3}]}]}],"m":9,"a":[{"t":[{"i":[{"s":73}],"a":[{"g":5}]}]}],"e":[{"s":[{"c":[{"u":[{"n":74}]}]}]}],"i":[{"c":[{"u":[{"t":75}]}],"s":[{"t":[{"e":[{"n":36}]}]}]}]},9],"i":[{"a":[{"i":[{"u":6}]},9],"e":[{"i":[{"u":6}]},9],"i":9,"o":9,"u":[{"u":[{"a":6,"e":6,"o":6,"i":6}],"s":[{"i":[{"u":[{"r":56}]}]}]},9],"d":[{"c":[{"i":9}],"i":[{"o":[{"g":52}]}]}],"n":[{"s":[{"p":36,"t":36}],"a":[{"n":16,"b":[{"r":53,"s":2}],"c":[{"r":6}],"d":[{"f":6}]}],"i":[{"t":16}],"e":[{"r":[{"s":16,"t":16}],"x":[{"s":[{"t":54}]},53]}],"o":[{"b":[{"s":[{"c":2}],"o":[{"e":3}]},6]}],"p":[{"e":[{"r":[{"i":[{"u":[{"r":7}]}]}]}]}],"u":[{"l":[{"c":55},16],"a":6,"e":6,"i":6,"o":6,"u":6}]},38]}],"u":[{"a":[{"u":[{"a":19}]},9],"o":[{"u":[{"e":19}]},9],"e":[{"i":[{"o":18}]},9],"i":9,"u":9,"n":[{"i":[{"u":[{"s":37}]}]}],"t":[{"e":[{"r":[{"u":[{"i":53}]}]}]}]}],"b":9,"g":9,"f":9,"h":[{"u":[{"i":[{"u":29}]}]},9],"l":9,"m":9,"n":9,"r":[{"e":[{"d":[{"a":[{"c":5,"d":5,"m":[{"b":5},5],"n":5,"r":[{"g":5},5],"u":48}],"e":[{"m":5,"o":5,"u":5}],"i":[{"s":70,"t":70,"m":[{"i":71},36],"e":[{"r":5,"n":5}],"b":5,"c":36,"g":36,"n":5}],"o":[{"l":5,"p":5,"r":[{"m":36,"n":5,"d":5}]}],"u":[{"l":5}]}],"e":[{"x":6}],"i":[{"e":18,"n":18}],"p":[{"a":[{"u":44}]}],"s":[{"c":[{"r":36}],"p":36,"t":[{"a":[{"g":36,"u":72}],"i":[{"b":36,"c":36,"l":36,"p":36}],"r":36}]}]}]},9],"t":[{"e":[{"t":[{"r":[{"a":[{"e":[{"t":65}],"g":[{"n":65}],"s":[{"t":65}]}]}]}],"r":[{"i":[{"u":48}],"u":[{"n":5}],"p":[{"s":44}]}]}],"h":[{"e":[{"o":[{"g":[{"n":2}]},6],"s":[{"p":3,"t":3}]}],"i":[{"s":[{"b":3}]}]}],"r":[{"a":[{"i":[{"a":85,"e":85,"i":23}],"n":[{"s":[{"a":[{"b":[{"i":87,"e":88}],"c":[{"t":64}],"d":87,"u":90},86],"i":89,"c":2,"e":[{"n":2,"u":86},64],"o":90,"u":[{"m":2},90]},44],"u":[{"e":67}]}]}],"i":[{"e":[{"n":45}]}]}]},9],"x":9,"z":[{"a":[{"i":[{"e":[{"u":8}]}]}],"e":[{"u":[{"g":[{"m":3}]}]}]},9],"d":[{"e":[{"s":[{"c":36,"p":36,"q":36,"t":36}]}],"i":[{"g":[{"n":[{"o":[{"s":[{"c":36}]}]}]}],"s":[{"i":48,"c":[{"e":[{"p":[{"t":49}]},36],"r":36}],"p":36,"q":[{"u":[{"a":36}]}],"t":[{"e":[{"n":[{"d":50}]}],"i":[{"n":[{"c":51}]}]},36]}]}]}],"o":[{"b":[{"e":[{"d":16,"l":16,"s":16}],"i":[{"c":16,"a":6,"e":6,"u":36}],"s":[{"c":[{"u":36},36],"t":36}],"l":19,"r":[{"u":[{"z":57}]},19],"t":[{"r":19}],"u":[{"a":6,"e":6,"i":6,"o":6}]},38]}]}],"s":[{"q":[{"u":[{"e":[{".":10}]}]},13],"d":[{"e":[{"m":[{".":10}]}]},13],"n":[{"e":[{".":13}]},13],"s":10,"b":13,"c":[{"h":11},13],"f":13,"g":13,"l":9,"m":13,"r":9,"p":[{"h":11},13],"t":[{"h":11,"l":33,"n":10,"p":34,"q":33,"s":33,"t":33,".":13},13],".":13},27],"p":[{"s":[{"i":[{"c":11}]},13],"n":[{"e":[{"u":11}]},13],"h":[{"p":13,"t":13},28],"l":9,"p":13,"r":9,"t":[{"r":11},13],"z":13,".":13},27],"n":[{"e":[{".":12}],"b":13,"c":13,"d":13,"f":13,"g":13,"l":13,"m":13,"n":13,"p":13,"q":13,"r":13,"s":[{"m":0,"f":0},13],"h":13,"t":13,"x":30,".":13},27],"a":[{"u":[{"a":14,"e":14,"i":14,"o":14,"u":14}],"l":[{"u":[{"a":0,"e":0,"i":0,"o":0,"u":0}]}],"a":14,"i":[{"s":14,"a":14,"e":14,"o":14,"u":14}],"e":[{"a":18,"o":18,"u":18}],"m":[{".":13,"u":[{"i":0}]}],"t":[{".":13}],"s":[{".":13}],"n":[{"s":[{".":13}],"t":[{".":20}],"u":[{"a":37,"e":37,"i":37,"o":37,"u":37}]}],"x":[{".":13}],"r":[{"u":[{"a":37,"e":37,"i":37,"o":37,"u":37}]}]}],"e":[{"u":[{"a":14,"e":14,"i":[{"u":[{"e":26,"i":26,"o":26}]},14],"o":15,"u":14,"s":[{".":21}]}],"l":[{"u":[{"e":0}]}],"e":14,"a":14,"o":14,"i":[{"a":14,"e":14,"u":15}],"s":[{".":13}],"t":[{".":13}],"m":[{".":13}],"x":[{".":13}],"n":[{"u":[{"a":37,"e":37,"i":37,"o":37,"u":37}]}],"r":[{"u":[{"a":37,"e":37,"i":37,"o":37,"u":37}]}]}],"i":[{"u":[{"a":14,"e":14,"i":[{".":17,"a":16,"u":[{"a":25,"e":25,"i":25,"o":25,"u":25}]},14],"o":14,"u":14,"m":[{".":17}],"r":[{".":17}],"n":[{"t":[{".":17}]}]}],"l":[{"u":[{"a":0,"e":0,"i":0,"o":0,"u":0}]}],"i":17,"o":[{"i":[{"u":24},18]}],"s":[{".":13}],"m":[{".":13}],"t":[{".":13}],"x":[{".":13}],"y":9,"n":[{"u":[{"a":37,"e":37,"i":37,"o":37,"u":37}]}],"r":[{"u":[{"a":37,"e":37,"i":37,"o":37,"u":37}]}]}],"o":[{"u":[{"a":14,"e":14,"i":14,"o":14,"u":14}],"l":[{"u":[{"a":0,"e":0,"i":0,"o":0,"u":0}]}],"o":14,"i":[{"a":14,"e":14,"o":14,"u":14}],"x":[{".":13}],"n":[{"u":[{"a":37,"e":37,"i":37,"o":37,"u":37}]}],"r":[{"u":[{"a":37,"e":37,"i":37,"o":37,"u":37}]}]}],"u":[{"u":[{"a":14,"e":14,"i":14,"o":14,"u":16}],"i":[{"u":[{"a":9,"e":9,"i":9,"o":9},14],"a":18,".":13}],"l":[{"u":[{"a":0,"o":0,"u":0}]}],"x":[{".":13}],"o":[{"u":19}],"n":[{"u":[{"a":37,"e":37,"i":37,"o":37,"u":37}]}],"r":[{"u":[{"a":37,"e":37,"i":37,"o":37,"u":37}]}]}],"c":[{"u":19,"c":13,"h":28,"l":9,"m":13,"n":13,"q":13,"r":9,"s":13,"t":13,"z":13,".":13},27],"y":[{"x":[{".":13}],"s":[{".":13}],"c":[{"n":16}]}],"t":[{"r":[{"u":[{"u":[{"s":[{".":22}],"m":[{".":23}]}]}]},9],"b":13,"c":13,"d":13,"f":13,"g":13,"h":28,"l":9,"m":13,"n":13,"p":13,"q":13,"t":13,".":13,"i":[{"n":[{"u":[{"i":36}]}]}]},27],"b":[{"b":13,"d":13,"h":13,"l":9,"m":13,"n":13,"p":13,"r":9,"t":13,"s":[{"t":16},13],".":13},27],"d":[{"d":13,"g":13,"f":13,"m":13,"r":9,"s":13,".":13},27],"f":[{"f":13,"l":9,"n":13,"r":9,"t":13,".":13},27],"g":[{"g":13,"d":13,"f":13,"l":9,"m":13,"n":13,"r":9,"s":13,".":13,"e":[{"n":[{"u":[{"a":36}]}]}]},27],"h":[{"p":13,"t":13,".":13},27],"k":27,"l":[{"b":13,"c":13,"d":13,"f":[{"t":16},13],"g":13,"k":13,"l":13,"m":13,"n":13,"p":13,"q":13,"r":13,"s":13,"t":13,".":13},27],"m":[{"m":13,"b":13,"d":13,"l":13,"n":13,"p":13,"q":13,"r":13,"s":13,"t":13,".":13},27],"q":[{"u":31}],"r":[{"b":13,"c":13,"d":13,"f":13,"g":13,"h":9,"l":13,"m":13,"n":13,"p":13,"q":13,"r":10,"s":13,"t":13,"z":13,".":13,"x":32,"u":[{"s":[{".":84}]}]},27],"x":[{".":13,"a":35,"e":35,"i":[{"t":[{".":35}]},35],"o":35,"y":[{"s":[{"t":36}]},35],"u":[{"a":31,"e":31,"i":31,"o":31,"u":31,".":35,"m":[{".":35}],"s":[{".":35}]}]},14],"z":[{".":13},27]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/6845.adapter.js b/public/tools/cloud_sheets/vendor/univer/6845.adapter.js new file mode 100644 index 0000000..9b47973 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/6845.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[6845],{6845(r,t,n){n.r(t),n.d(t,{Oc:()=>s});const s=["00001,000032,0000021,021,000001,0023,32,1,01,001,2,02,022,032,023,102,23,22,223,4",'{".":[{"a":[{"n":[{"t":[{"i":[{"m":[{"n":1}]},0]}]}]}],"c":[{"i":[{"r":[{"c":[{"u":[{"m":2}]}]}]}]}],"e":[{"x":3}],"p":[{"a":[{"r":[{"a":[{"i":0,"u":0}]}]}],"r":[{"o":[{"t":[{"o":[{"a":4,"e":4,"i":4,"u":4}]}]}]}]}],"s":[{"u":[{"b":[{"l":[{"u":5}],"r":5}]}]},11]}],"p":[{"s":[{"i":[{"c":6}]},10],"n":[{"e":[{"u":6}]},10],"h":[{"p":10,"t":10},11],"l":11,"p":10,"r":11,"t":10,"z":10,".":10,"\'":10},7],"ï":7,"ü":7,"a":[{"i":[{"a":8,"e":8,"o":8,"u":8}],"o":[{"r":[{".":8}],"i":[{"r":[{"a":[{".":8}]}]}]}]}],"i":[{"o":[{"r":[{".":8}],"i":[{"r":[{"a":[{".":8}]}]},9]}],"i":[{".":7}]}],"e":[{"i":[{"u":8}]}],"o":[{"i":[{"a":8,"e":8,"o":8,"u":8}]}],"b":[{"b":10,"d":10,"l":11,"m":10,"n":10,"r":11,"t":10,"s":10,".":10,"\'":10},7],"c":[{"c":10,"h":[{".":10,"\'":[{".":10,"\'":[{".":10}]}]},12],"l":11,"m":10,"n":10,"q":10,"r":11,"s":10,"t":10,"z":10,".":10,"\'":10},7],"ç":[{".":10},7],"d":[{"d":10,"g":10,"m":10,"r":11,"s":10,"v":10,".":10,"\'":10},7],"f":[{"f":10,"l":11,"n":10,"r":11,"t":10,".":10,"\'":10},7],"g":[{"g":10,"d":10,"f":10,"l":11,"m":10,"n":10,"r":11,"s":10,"ü":12,"v":10,".":10,"\'":10},7],"h":[{"p":10,"t":10,".":10,"\'":10},7],"j":[{"\'":10},7],"k":[{"k":10,"h":12,"\'":10},7],"l":[{"b":10,"c":10,"d":10,"f":[{"t":13},10],"g":10,"h":[{".":10},11],"k":10,"l":10,"m":10,"n":10,"p":10,"q":10,"r":10,"s":10,"t":10,"v":10,".":10,"\'":[{".":10,"\'":10}]},7],"m":[{"m":10,"b":10,"p":10,"l":10,"n":10,"q":10,"r":10,"v":10,".":10,"\'":10},7],"n":[{"b":10,"c":10,"ç":10,"d":10,"f":10,"h":[{".":10},11],"g":10,"j":10,"l":10,"m":10,"n":10,"p":10,"q":10,"r":10,"s":[{"m":14,"f":14,".":10},10],"t":10,"v":10,"x":10,".":10,"\'":10},7],"q":[{"u":15,"ü":12,"\'":10},7],"r":[{"b":10,"c":10,"ç":10,"d":10,"f":10,"g":10,"h":11,"l":10,"m":10,"n":10,"p":10,"q":10,"r":10,"s":10,"t":[{".":10},10],"ü":11,"v":10,"z":10,".":10,"\'":10},7],"s":[{"p":[{"h":16},10],"s":10,"t":[{"b":17,"c":17,"d":17,"f":17,"g":17,"l":18,"m":17,"n":17,"p":17,"q":17,"s":17,"t":17,"v":17,".":10},10],".":10,"c":[{".":10},10],"b":10,"d":10,"f":10,"g":10,"h":[{".":10,"\'":10},11],"j":10,"k":10,"l":10,"m":10,"n":10,"r":10,"v":10,"z":10,"\'":[{".":19,"\'":19}]},7],"t":[{"b":10,"c":10,"d":10,"f":10,"g":[{".":10},11],"h":11,"j":11,"l":11,"r":11,"m":10,"n":10,"p":10,"q":10,"t":10,"v":10,"z":[{".":10},11],".":10,"\'":[{".":10,"\'":10}]},7],"v":[{"l":11,"r":11,"v":10,"\'":[{".":10,"\'":10}]},7],"x":[{"t":10,"x":10,".":10,"\'":10},7],"z":[{".":10,"\'":[{".":10,"\'":10}]},7],"\'":17,"w":[{"\'":10}]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/6918.adapter.js b/public/tools/cloud_sheets/vendor/univer/6918.adapter.js new file mode 100644 index 0000000..4a72d44 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/6918.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[6918],{6918(e,a,o){o.r(a),o.d(a,{Ca:()=>i});const i=["1,3,32,12,01,012,002,02,0000002,0002,003,00002,00012,0003,000002,0012,00200102,03",'{"b":[{"a":0,"e":0,"i":[{"s":[{"e":10}]},0],"o":0,"u":0,"é":0,"í":0,"ó":0,"ú":0,"à":0,"è":0,"ò":0,"l":[{"a":3,"e":3,"i":3,"o":3,"u":3,"é":3,"í":3,"ó":3,"ú":3,"à":3,"è":3,"ò":3}],"r":[{"a":3,"e":3,"i":3,"o":3,"u":3,"é":3,"í":3,"ó":3,"ú":3,"à":3,"è":3,"ò":3}]}],"c":[{"a":0,"e":0,"i":0,"o":0,"u":0,"é":0,"í":0,"ó":0,"ú":0,"à":0,"è":0,"ò":0,"l":[{"a":3,"e":3,"i":3,"o":3,"u":3,"é":3,"í":3,"ó":3,"ú":3,"à":3,"è":3,"ò":3}],"r":[{"a":3,"e":3,"i":3,"o":3,"u":3,"é":3,"í":3,"ó":3,"ú":3,"à":3,"è":3,"ò":3}]}],"d":[{"a":0,"e":[{"s":[{"a":[{"g":13,"r":13,"v":13}],"e":[{"n":[{"c":13}]}]}]},0],"i":0,"o":0,"u":1,"é":0,"í":0,"ó":0,"ú":0,"à":0,"è":0,"ò":0,"r":[{"a":3,"e":3,"i":3,"o":3,"u":3,"é":3,"í":3,"ó":3,"ú":3,"à":3,"è":3,"ò":3}]}],"f":[{"a":0,"e":0,"i":0,"o":0,"u":0,"é":0,"í":0,"ó":0,"ú":0,"à":0,"è":0,"ò":0,"l":[{"a":3,"e":3,"i":3,"o":3,"u":3,"é":3,"í":3,"ó":3,"ú":3,"à":3,"è":3,"ò":3}],"r":[{"a":3,"e":3,"i":3,"o":3,"u":3,"é":3,"í":3,"ó":3,"ú":3,"à":3,"è":3,"ò":3}]}],"g":[{"a":0,"e":0,"i":0,"o":0,"u":[{"a":6,"e":6,"i":6,"o":6,"é":6,"í":6,"ó":6,"à":6,"è":6,"ò":6},0],"é":0,"í":0,"ó":0,"ú":0,"à":0,"è":0,"ò":0,"ü":[{"e":6,"é":6,"í":6,"è":6,"i":6},0],"l":[{"a":3,"e":3,"i":3,"o":3,"u":3,"é":3,"í":3,"ó":3,"ú":3,"à":3,"è":3,"ò":3}],"r":[{"a":3,"e":3,"i":3,"o":3,"u":3,"é":3,"í":3,"ó":3,"ú":3,"à":3,"è":3,"ò":3}],"n":[{"o":7,"ò":7}]}],"h":[{"a":0,"e":0,"i":0,"o":0,"u":0,"é":0,"í":0,"ó":0,"ú":0,"à":0,"è":0,"ò":0}],"j":[{"a":0,"e":0,"i":0,"o":0,"u":0,"é":0,"í":0,"ó":0,"ú":0,"à":0,"è":0,"ò":0}],"l":[{"a":0,"e":0,"i":0,"o":0,"u":0,"é":0,"í":0,"ó":0,"ú":0,"à":0,"è":0,"ò":0,"l":[{"a":2,"e":3,"i":3,"o":2,"u":3,"é":3,"í":3,"ó":3,"ú":3,"à":3,"è":3,"ò":3}]}],"m":[{"a":0,"e":0,"i":0,"o":0,"u":0,"é":0,"í":0,"ó":0,"ú":0,"à":0,"è":0,"ò":0}],"n":[{"a":0,"e":[{"f":1,"i":1},0],"i":[{"e":[{"t":[{"z":[{"s":[{"c":[{"h":[{"e":16}]}]}]}]}]}]},1],"o":0,"u":0,"é":0,"í":0,"ó":0,"ú":0,"à":0,"è":0,"ò":0,"y":[{"a":3,"e":3,"i":3,"o":3,"u":3,"é":3,"í":3,"ó":3,"ú":3,"à":3,"è":3,"ò":3}],"s":[{"i":17}]}],"p":[{"a":0,"e":1,"i":1,"o":1,"u":0,"é":0,"í":0,"ó":0,"ú":0,"à":0,"è":0,"ò":0,"l":[{"a":3,"e":3,"i":3,"o":3,"u":3,"é":3,"í":3,"ó":3,"ú":3,"à":3,"è":3,"ò":3}],"r":[{"a":3,"e":3,"i":3,"o":3,"u":3,"é":3,"í":3,"ó":3,"ú":3,"à":3,"è":3,"ò":3},1],"s":[{"i":7,"e":7,"í":7}],"n":[{"e":[{"u":7}]}]}],"q":[{"u":[{"a":6,"e":6,"i":[{"e":13},6],"o":6,"é":6,"í":6,"ó":6,"à":6,"è":6,"ò":6},0],"ü":[{"e":6,"é":6,"í":6,"è":6,"i":6},0]}],"r":[{"a":0,"e":0,"i":0,"o":0,"u":[{"t":[{"h":[{"e":[{"r":[{"f":[{"o":[{"r":[{"d":15}]}]}]}]}]}]}]},0],"é":0,"í":0,"ó":0,"ú":0,"à":0,"è":0,"ò":0}],"s":[{"a":0,"e":[{"r":1,"m":[{"p":17}],"s":[{"p":17}]},0],"i":0,"o":0,"u":[{"b":[{"a":13}]},0],"é":0,"í":0,"ó":0,"ú":0,"à":0,"è":0,"ò":0}],"t":[{"a":0,"e":0,"i":0,"o":0,"u":0,"é":0,"í":0,"ó":0,"ú":0,"à":0,"è":0,"ò":0,"r":[{"a":3,"e":3,"i":3,"o":3,"u":3,"é":3,"í":3,"ó":3,"ú":3,"à":3,"è":3,"ò":3}]}],"v":[{"a":0,"e":0,"i":0,"o":0,"u":0,"é":0,"í":0,"ó":0,"ú":0,"à":0,"è":0,"ò":0}],"x":[{"a":0,"e":0,"i":0,"o":0,"u":0,"é":0,"í":0,"ó":0,"ú":0,"à":0,"è":0,"ò":0}],"z":[{"a":0,"e":0,"i":0,"o":0,"u":0,"é":0,"í":0,"ó":0,"ú":0,"à":0,"è":0,"ò":0}],"ç":[{"o":0,"a":0,"u":0,"ó":0,"ú":0,"à":0,"ò":0}],"a":[{"a":4,"e":4,"o":4,"é":4,"í":4,"ó":4,"ú":4,"à":4,"è":4,"ò":4,"ï":4,"ü":4,"i":[{"a":5,"e":5,"o":5,"u":5,"é":5,"í":5,"ó":5,"ú":5,"à":5,"è":5,"ò":5,"s":[{"m":[{"e":[{".":4}]}],"t":[{"a":[{".":4}]}]}]}],"u":[{"a":5,"e":5,"i":5,"o":5,"u":5,"é":5,"í":5,"ó":5,"ú":5,"à":5,"è":5,"ò":5,"m":[{".":4}]}],"n":[{"e":17}],"r":[{"i":17}]}],"e":[{"a":4,"e":4,"o":4,"é":4,"í":4,"ó":4,"ú":4,"à":4,"è":4,"ò":4,"ï":4,"ü":4,"i":[{"a":5,"e":5,"o":5,"u":5,"é":5,"í":5,"ó":5,"ú":5,"à":5,"è":5,"ò":5,"s":[{"m":[{"e":[{".":4}]},17],"t":[{"a":[{".":4}]}]}],"n":[{"s":[{"t":[{"e":[{"i":[{"n":12}]}]}]}]}]}],"u":[{"a":5,"e":5,"i":5,"o":5,"u":5,"é":5,"í":5,"ó":5,"ú":5,"à":5,"è":5,"ò":5,"m":[{".":4}]}],"x":[{"p":1}],"l":[{"e":17}],"r":[{"i":[{"o":17,"s":17}]}],"s":[{"a":[{"c":[{"o":10}],"f":10,"p":10,"r":[{"r":10}],"s":10}],"i":[{"n":[{"t":10}]}]}]}],"i":[{"a":4,"e":4,"o":4,"é":4,"í":4,"ó":4,"ú":4,"à":4,"è":4,"ò":4,"ï":4,"ü":4,"i":[{"a":5,"e":5,"o":5,"u":5,"é":5,"í":5,"ó":5,"ú":5,"à":5,"è":5,"ò":5,"s":[{"m":[{"e":[{".":4}]}],"t":[{"a":[{".":4}]}]}]}],"u":[{"a":5,"e":5,"i":5,"o":5,"u":5,"é":5,"í":5,"ó":5,"ú":5,"à":5,"è":5,"ò":5,"m":[{".":4}]}],"g":[{"n":10}],"n":[{"e":[{"x":10}]}]}],"o":[{"a":4,"e":4,"o":4,"é":4,"í":4,"ó":4,"ú":4,"à":4,"è":4,"ò":4,"ï":4,"ü":4,"i":[{"a":5,"e":5,"o":5,"u":5,"é":5,"í":5,"ó":5,"ú":5,"à":5,"è":5,"ò":5,"s":[{"m":[{"e":[{".":4}]}],"t":[{"a":[{".":4}]}]}]}],"u":[{"a":5,"e":5,"o":5,"i":5,"u":5,"é":5,"í":5,"ó":5,"ú":5,"à":5,"è":5,"ò":5,"m":[{".":4}]}],"r":[{"o":17}],"g":[{"n":[{"ò":17}]}]}],"u":[{"a":4,"e":4,"o":4,"é":4,"í":4,"ó":4,"ú":4,"à":4,"è":4,"ò":4,"ï":4,"ü":4,"i":[{"a":5,"e":[{"t":10},5],"o":5,"u":5,"é":5,"í":5,"ó":5,"ú":5,"à":5,"è":5,"ò":5,"s":[{"m":[{"e":[{".":4}]}],"t":[{"a":[{".":4}]}]}]}],"u":[{"a":5,"e":5,"i":5,"o":5,"u":5,"é":5,"í":5,"ó":5,"ú":5,"à":5,"è":5,"ò":5,"m":[{".":4}]}]}],"é":[{"a":4,"e":4,"o":4,"ï":4,"ü":4,"i":[{"a":5,"e":5,"o":5,"u":5}],"u":[{"a":5,"e":5,"o":5,"i":5,"u":5}]}],"í":[{"a":4,"e":4,"o":4,"ï":4,"ü":4,"i":[{"a":5,"e":5,"o":5,"u":5}],"u":[{"a":5,"e":5,"o":5,"i":5,"u":5}]}],"ó":[{"a":4,"e":4,"o":4,"ï":4,"ü":4,"i":[{"a":5,"e":5,"o":5,"u":5}],"u":[{"a":5,"e":5,"o":5,"i":5,"u":5}]}],"ú":[{"a":4,"e":4,"o":4,"ï":4,"ü":4,"i":[{"a":5,"e":5,"o":5,"u":5}],"u":[{"a":5,"e":5,"o":5,"i":5,"u":5}]}],"à":[{"a":4,"e":4,"o":4,"ï":4,"ü":4,"i":[{"a":5,"e":5,"o":5,"u":5}],"u":[{"a":5,"e":5,"o":5,"i":5,"u":5}]}],"è":[{"a":4,"e":4,"o":4,"ï":4,"ü":4,"i":[{"a":5,"e":5,"o":5,"u":5}],"u":[{"a":5,"e":5,"o":5,"i":5,"u":5}]}],"ò":[{"a":4,"e":4,"o":4,"ï":4,"ü":4,"i":[{"a":5,"e":5,"o":5,"u":5}],"u":[{"a":5,"e":5,"o":5,"i":5,"u":5}]}],"ï":[{"a":4,"e":4,"o":4,"é":4,"í":4,"ó":4,"ú":4,"à":4,"è":4,"ò":4,"i":[{"a":5,"e":5,"o":5,"é":5,"í":5,"ó":5,"ú":5,"à":5,"è":5,"ò":5,"u":5},4],"u":[{"a":5,"e":5,"o":5,"é":5,"í":5,"ó":5,"ú":5,"à":5,"è":5,"ò":5,"i":5,"u":5}]}],"ü":[{"a":4,"e":4,"o":4,"é":4,"í":4,"ó":4,"ú":4,"à":4,"è":4,"ò":4,"i":[{"a":5,"e":5,"o":5,"é":5,"í":5,"ó":5,"ú":5,"à":5,"è":5,"ò":5,"u":5}],"u":[{"a":5,"e":5,"o":5,"é":5,"í":5,"ó":5,"ú":5,"à":5,"è":5,"ò":5,"i":5,"u":5}]}],".":[{"h":[{"i":[{"a":6,"e":6,"o":6,"u":6,"é":6,"ó":6,"ú":6,"à":6,"è":6,"ò":6,"p":[{"e":[{"r":[{"m":[{"n":8}]},11]}]}]}],"u":[{"a":6,"e":6,"i":6,"o":6,"é":6,"í":6,"ó":6,"à":6,"è":6,"ò":6}]}],"i":[{"è":7,"ò":7,"n":[{"a":[{"c":10,"d":10,"p":10}],"e":[{"s":10}],"o":10,"t":[{"e":[{"r":11}]}]}]}],"u":[{"è":7,"ò":7}],"a":[{"n":[{"t":[{"i":[{"h":[{"i":8}]}]}]}]}],"b":[{"e":[{"n":6,"s":6}],"i":[{"s":6}]}],"c":[{"a":[{"p":6}],"e":[{"l":6}],"l":[{"a":[{"r":9}]}],"o":[{"l":[{"l":6}],"n":6,"r":6}],"h":6}],"d":[{"e":[{"s":6}],"i":[{"s":6}]}],"e":[{"n":[{"a":10}]}],"m":[{"a":[{"l":[{"t":[{"h":[{"u":[{"s":12}]}]}]},6]}]}],"p":[{"a":[{"n":6}],"e":[{"r":[{"i":10},6]}],"o":[{"s":[{"t":9}]}],"s":[{"a":[{"l":9}]}]}],"r":[{"e":[{"b":[{"e":[{"s":11}]}],"d":6}]}],"s":[{"u":[{"b":[{"o":13,"d":[{"e":[{"s":14}]}]},6],"p":[{"e":[{"r":11}]}]}]}],"t":[{"r":[{"a":[{"n":[{"s":11}]}]}],"h":6}]}]}',"cu-rie.cu-ries.gei-sha.gei-shes.goua-che.goua-ches.hip-py.hip-pies.hob-by.hob-bies.jeep.jeeps.joule.joules.klee-nex.klee-nexs.lar-ghet-ti.lar-ghet-to.lied.lieder.nos-al-tres.ro-yal-ties.ro-yal-ty.vos-al-tres.whis-ky.whis-kies".split(".")]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/7001.adapter.js b/public/tools/cloud_sheets/vendor/univer/7001.adapter.js new file mode 100644 index 0000000..0b73634 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/7001.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[7001],{7001(s,o,e){e.r(o),e.d(o,{Mr:()=>n});const n=["22,11,01,1,21",'{"‍":0,"‌":1,"अ":2,"आ":2,"इ":2,"ई":2,"उ":2,"ऊ":2,"ऋ":2,"ॠ":2,"ऌ":2,"ॡ":2,"ए":2,"ऐ":2,"ओ":2,"औ":2,"ा":2,"ि":2,"ी":2,"ु":2,"ू":2,"ृ":2,"ॄ":2,"ॢ":2,"ॣ":2,"े":2,"ै":2,"ो":2,"ौ":2,"क":3,"ख":3,"ग":3,"घ":3,"ङ":3,"च":3,"छ":3,"ज":3,"झ":3,"ञ":3,"ट":3,"ठ":3,"ड":3,"ढ":3,"ण":3,"त":3,"थ":3,"द":3,"ध":3,"न":3,"प":3,"फ":3,"ब":3,"भ":3,"म":3,"य":3,"र":3,"ल":3,"ळ":3,"व":3,"श":3,"ष":3,"स":3,"ह":3,"ँ":4,"ं":4,"ः":4,"ऽ":4,"॑":4,"॒":4,"्":0}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/7340.adapter.js b/public/tools/cloud_sheets/vendor/univer/7340.adapter.js new file mode 100644 index 0000000..f9e5060 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/7340.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[7340],{7340(s,o,c){c.r(o),c.d(o,{Grc:()=>e});const e=["01,02,03,003,004,4,04,21,2,00021,000021,00000021,021,032,043,0000021,021021,04321,02121,03232,022,0000000021,000000021,0000000032,0210021,000032,0021,0032,00032,,054,03221,00002121,0000002100021,00043,0003221",'{"α":[{"ι":1,"ί":1,"ί":1,"ὶ":1,"ῖ":1,"ἰ":1,"ἴ":1,"ἲ":1,"ἶ":1,"ἱ":1,"ἵ":1,"ἳ":1,"ἷ":[{"σ":[{"τ":[{"ι":[{"σ":[{"ι":26}]}]}]}],"ϲ":[{"τ":[{"ι":[{"ϲ":[{"ι":26}]}]}]}]},1],"υ":1,"ύ":1,"ύ":1,"ὺ":1,"ῦ":1,"ὐ":[{"τ":[{"έ":[{"κ":[{"μ":10}]}],"έ":[{"κ":[{"μ":10}]}],"ε":[{"κ":[{"μ":10}],"ξ":10}]}]},1],"ὔ":1,"ὒ":1,"ὖ":1,"ὑ":1,"ὕ":1,"ὓ":1,"ὗ":1},0],"ε":[{"ι":1,"ί":1,"ί":1,"ὶ":1,"ῖ":1,"ἰ":[{"ν":[{"ό":[{"δ":26}],"ό":[{"δ":26}],"ο":[{"δ":26}]}],"σ":[{"ί":[{".":27,"ν":[{".":27}]}],"ί":[{".":27,"ν":[{".":27}]}],"ὶ":[{".":27,"ν":[{".":27}]}],"ι":[{".":27,"ν":[{".":27}]}],"ό":[{"μ":[{"ε":[{"ν":27}]},27]}],"ό":[{"μ":[{"ε":[{"ν":27}]},27]}],"ο":[{"ί":[{"μ":[{"η":[{"ν":27}],"ε":[{"θ":[{"α":27}]}]}],"σ":[{"θ":[{"η":[{"ν":27}]}]}]}],"ί":[{"μ":[{"η":[{"ν":27}],"ε":[{"θ":[{"α":27}]}]}],"σ":[{"θ":[{"η":[{"ν":27}]}]}]}],"μ":[{"έ":[{"ν":27}],"έ":[{"ν":27}]}]}],"ά":[{"σ":[{"θ":[{"η":[{"ν":27}],"ω":[{"ν":27},27]}]}],"μ":[{"ε":[{"θ":[{"α":27}],"ν":27}]}]}],"ά":[{"σ":[{"θ":[{"η":[{"ν":27}],"ω":[{"ν":27},27]}]}],"μ":[{"ε":[{"θ":[{"α":27}],"ν":27}]}]}],"ώ":[{"μ":[{"ε":[{"θ":[{"α":27}]}]}]}],"ώ":[{"μ":[{"ε":[{"θ":[{"α":27}]}]}]}],"α":[{"ί":[{"μ":[{"η":[{"ν":27}],"ε":[{"θ":[{"α":27}]}]}]}],"ί":[{"μ":[{"η":[{"ν":27}],"ε":[{"θ":[{"α":27}]}]}]}],"μ":[{"έ":[{"ν":27}],"έ":[{"ν":27}]}]}]},26],"ϲ":[{"ί":[{".":27,"ν":[{".":27}]}],"ί":[{".":27,"ν":[{".":27}]}],"ὶ":[{".":27,"ν":[{".":27}]}],"ι":[{".":27,"ν":[{".":27}]}],"ό":[{"μ":[{"ε":[{"ν":27}]},27]}],"ό":[{"μ":[{"ε":[{"ν":27}]},27]}],"ο":[{"ί":[{"μ":[{"η":[{"ν":27}],"ε":[{"θ":[{"α":27}]}]}],"ϲ":[{"θ":[{"η":[{"ν":27}]}]}]}],"ί":[{"μ":[{"η":[{"ν":27}],"ε":[{"θ":[{"α":27}]}]}],"ϲ":[{"θ":[{"η":[{"ν":27}]}]}]}],"μ":[{"έ":[{"ν":27}],"έ":[{"ν":27}]}]}],"ά":[{"ϲ":[{"θ":[{"η":[{"ν":27}],"ω":[{"ν":27},27]}]}],"μ":[{"ε":[{"θ":[{"α":27}],"ν":27}]}]}],"ά":[{"ϲ":[{"θ":[{"η":[{"ν":27}],"ω":[{"ν":27},27]}]}],"μ":[{"ε":[{"θ":[{"α":27}],"ν":27}]}]}],"ώ":[{"μ":[{"ε":[{"θ":[{"α":27}]}]}]}],"ώ":[{"μ":[{"ε":[{"θ":[{"α":27}]}]}]}],"α":[{"ί":[{"μ":[{"η":[{"ν":27}],"ε":[{"θ":[{"α":27}]}]}]}],"ί":[{"μ":[{"η":[{"ν":27}],"ε":[{"θ":[{"α":27}]}]}]}],"μ":[{"έ":[{"ν":27}],"έ":[{"ν":27}]}]}]},26]},1],"ἴ":[{"σ":[{"ο":[{"μ":27,"ν":[{"τ":[{"α":[{"ι":27}]}]}],"ι":[{"ο":27,"τ":[{"ο":27}],"σ":[{"θ":[{"ο":[{"ν":27}],"ε":27}]}],"ν":[{"τ":[{"ο":27}]}]}]}],"ῃ":[{".":27}],"ε":[{"ι":[{".":29}],"τ":[{"α":[{"ι":[{".":27}]}]}],"σ":[{"θ":[{"ο":[{"ν":[{".":27}]}],"ε":[{".":27}],"α":[{"ι":27}]}]}]}],"ά":[{"μ":[{"η":[{"ν":[{".":27}]}]}]}],"ά":[{"μ":[{"η":[{"ν":[{".":27}]}]}]}],"ω":[{"μ":[{"α":[{"ι":27}]}],"ν":[{"τ":[{"α":[{"ι":27}]}]}]},27],"α":[{"τ":[{"ο":27}],"σ":[{"θ":[{"ο":[{"ν":27}],"ε":27,"α":[{"ι":27}]}]}],"ν":[{"τ":[{"ο":27}]}],"ι":[{"ο":27,"τ":[{"ο":27}],"σ":[{"θ":[{"ο":[{"ν":27}],"ε":27}]}],"ν":[{"τ":[{"ο":27}]}]}],"ί":[{"σ":[{"θ":[{"η":[{"ν":27}]}]}]}],"ί":[{"σ":[{"θ":[{"η":[{"ν":27}]}]}]}]}],"η":[{"σ":[{"θ":[{"ο":[{"ν":27}],"ε":27}]}]}]},26],"ϲ":[{"ο":[{"μ":27,"ν":[{"τ":[{"α":[{"ι":27}]}]}],"ι":[{"ο":27,"τ":[{"ο":27}],"ϲ":[{"θ":[{"ο":[{"ν":27}],"ε":27}]}],"ν":[{"τ":[{"ο":27}]}]}]}],"ῃ":[{".":27}],"ε":[{"ι":[{".":29}],"τ":[{"α":[{"ι":[{".":27}]}]}],"ϲ":[{"θ":[{"ο":[{"ν":[{".":27}]}],"ε":[{".":27}],"α":[{"ι":27}]}]}]}],"ά":[{"μ":[{"η":[{"ν":[{".":27}]}]}]}],"ά":[{"μ":[{"η":[{"ν":[{".":27}]}]}]}],"ω":[{"μ":[{"α":[{"ι":27}]}],"ν":[{"τ":[{"α":[{"ι":27}]}]}]},27],"α":[{"τ":[{"ο":27}],"ϲ":[{"θ":[{"ο":[{"ν":27}],"ε":27,"α":[{"ι":27}]}]}],"ν":[{"τ":[{"ο":27}]}],"ι":[{"ο":27,"τ":[{"ο":27}],"ϲ":[{"θ":[{"ο":[{"ν":27}],"ε":27}]}],"ν":[{"τ":[{"ο":27}]}]}],"ί":[{"ϲ":[{"θ":[{"η":[{"ν":27}]}]}]}],"ί":[{"ϲ":[{"θ":[{"η":[{"ν":27}]}]}]}]}],"η":[{"ϲ":[{"θ":[{"ο":[{"ν":27}],"ε":27}]}]}]},26]},1],"ἲ":1,"ἶ":1,"ἱ":1,"ἵ":1,"ἳ":1,"ἷ":1,"υ":1,"ύ":1,"ύ":1,"ὺ":1,"ῦ":1,"ὐ":[{"ε":[{"ξ":[{"ί":28,"ί":28,"ι":28},9]}],"π":[{"ρ":[{"ό":[{"σ":15,"ϲ":15}],"ό":[{"σ":15,"ϲ":15}],"ο":[{"σ":15,"ϲ":15}]}]}],"σ":[{"ύ":[{"ν":10}],"ύ":[{"ν":10}],"υ":[{"ν":10}]}],"ϲ":[{"ύ":[{"ν":10}],"ύ":[{"ν":10}],"υ":[{"ν":10}]}],"ξ":[{"ύ":[{"ν":10}],"ύ":[{"ν":10}],"υ":[{"ν":10}]}]},1],"ὔ":1,"ὒ":1,"ὖ":1,"ὑ":1,"ὕ":1,"ὓ":1,"ὗ":1},0],"η":[{"υ":1,"ύ":1,"ύ":1,"ὺ":1,"ῦ":1,"ὐ":1,"ὔ":1,"ὒ":1,"ὖ":1,"ὑ":1,"ὕ":1,"ὓ":1,"ὗ":1},0],"ι":[{"σ":[{"χ":[{"ί":[{"λ":[{"ι":[{"ο":[{"ι":[{".":12}]}],"α":[{"ι":[{".":12}],".":12}]}]}]}],"ί":[{"λ":[{"ι":[{"ο":[{"ι":[{".":12}]}],"α":[{"ι":[{".":12}],".":12}]}]}]}],"ι":[{"λ":[{"ί":[{"ω":[{"ν":[{".":12}]}],"ο":[{"ι":[{"ς":[{".":12}],"σ":[{".":12}]}],"υ":[{"ς":[{".":12}],"σ":[{".":12}]}]}],"α":[{"ι":[{"ς":[{".":12}],"σ":[{".":12}]}],"ς":[{".":12}],"σ":[{".":12}]}]}],"ί":[{"ω":[{"ν":[{".":12}]}],"ο":[{"ι":[{"ς":[{".":12}],"σ":[{".":12}]}],"υ":[{"ς":[{".":12}],"σ":[{".":12}]}]}],"α":[{"ι":[{"ς":[{".":12}],"σ":[{".":12}]}],"ς":[{".":12}],"σ":[{".":12}]}]}],"ι":[{"ο":[{"σ":[{"τ":12}]}],"ά":[{"κ":[{"ι":[{"ς":[{".":12}],"σ":[{".":12}]}]}]}],"ά":[{"κ":[{"ι":[{"ς":[{".":12}],"σ":[{".":12}]}]}]}]}]}]}]}],"μ":[{"ύ":[{"ρ":[{"ι":[{"ο":[{"ι":[{".":12}]}],"α":[{"ι":[{".":12}],".":12}]}]}]}],"ύ":[{"ρ":[{"ι":[{"ο":[{"ι":[{".":12}]}],"α":[{"ι":[{".":12}],".":12}]}]}]}],"υ":[{"ρ":[{"ί":[{"ω":[{"ν":[{".":12}]}],"ο":[{"ι":[{"ς":[{".":12}],"σ":[{".":12}]}],"υ":[{"ς":[{".":12}],"σ":[{".":12}]}]}],"α":[{"ι":[{"ς":[{".":12}],"σ":[{".":12}]}],"ς":[{".":12}],"σ":[{".":12}]}]}],"ί":[{"ω":[{"ν":[{".":12}]}],"ο":[{"ι":[{"ς":[{".":12}],"σ":[{".":12}]}],"υ":[{"ς":[{".":12}],"σ":[{".":12}]}]}],"α":[{"ι":[{"ς":[{".":12}],"σ":[{".":12}]}],"ς":[{".":12}],"σ":[{".":12}]}]}],"ι":[{"ο":[{"σ":[{"τ":12}]}],"ά":[{"κ":[{"ι":[{"ς":[{".":12}],"σ":[{".":12}]}]}]}],"ά":[{"κ":[{"ι":[{"ς":[{".":12}],"σ":[{".":12}]}]}]}]}]}]}]}]}],"ϲ":[{"χ":[{"ί":[{"λ":[{"ι":[{"ο":[{"ι":[{".":12}]}],"α":[{"ι":[{".":12}],".":12}]}]}]}],"ί":[{"λ":[{"ι":[{"ο":[{"ι":[{".":12}]}],"α":[{"ι":[{".":12}],".":12}]}]}]}],"ι":[{"λ":[{"ί":[{"ω":[{"ν":[{".":12}]}],"ο":[{"ι":[{"ϲ":[{".":12}]}],"υ":[{"ϲ":[{".":12}]}]}],"α":[{"ι":[{"ϲ":[{".":12}]}],"ϲ":[{".":12}]}]}],"ί":[{"ω":[{"ν":[{".":12}]}],"ο":[{"ι":[{"ϲ":[{".":12}]}],"υ":[{"ϲ":[{".":12}]}]}],"α":[{"ι":[{"ϲ":[{".":12}]}],"ϲ":[{".":12}]}]}],"ι":[{"ο":[{"ϲ":[{"τ":12}]}],"ά":[{"κ":[{"ι":[{"ϲ":[{".":12}]}]}]}],"ά":[{"κ":[{"ι":[{"ϲ":[{".":12}]}]}]}]}]}]}]}],"μ":[{"ύ":[{"ρ":[{"ι":[{"ο":[{"ι":[{".":12}]}],"α":[{"ι":[{".":12}],".":12}]}]}]}],"ύ":[{"ρ":[{"ι":[{"ο":[{"ι":[{".":12}]}],"α":[{"ι":[{".":12}],".":12}]}]}]}],"υ":[{"ρ":[{"ί":[{"ω":[{"ν":[{".":12}]}],"ο":[{"ι":[{"ϲ":[{".":12}]}],"υ":[{"ϲ":[{".":12}]}]}],"α":[{"ι":[{"ϲ":[{".":12}]}],"ϲ":[{".":12}]}]}],"ί":[{"ω":[{"ν":[{".":12}]}],"ο":[{"ι":[{"ϲ":[{".":12}]}],"υ":[{"ϲ":[{".":12}]}]}],"α":[{"ι":[{"ϲ":[{".":12}]}],"ϲ":[{".":12}]}]}],"ι":[{"ο":[{"ϲ":[{"τ":12}]}],"ά":[{"κ":[{"ι":[{"ϲ":[{".":12}]}]}]}],"ά":[{"κ":[{"ι":[{"ϲ":[{".":12}]}]}]}]}]}]}]}]}]},0],"ο":[{"ι":1,"ί":1,"ί":1,"ὶ":1,"ῖ":1,"ἰ":[{"σ":[{"π":[{"ώ":[{"τ":26}],"ώ":[{"τ":26}],"ω":[{"τ":26}]}]}],"ϲ":[{"π":[{"ώ":[{"τ":26}],"ώ":[{"τ":26}],"ω":[{"τ":26}]}]}]},1],"ἴ":1,"ἲ":1,"ἶ":1,"ἱ":[{"ο":[{"ν":[{"ε":[{"ί":[{".":9}],"ί":[{".":9}],"ὶ":[{".":9}]}]}]}],"ό":[{"σ":9,"ϲ":9}],"ό":[{"σ":9,"ϲ":9}]},1],"ἵ":1,"ἳ":1,"ἷ":[{"σ":[{"τ":[{"ι":[{"σ":[{"ι":26}]}]}]}],"ϲ":[{"τ":[{"ι":[{"ϲ":[{"ι":26}]}]}]}]},1],"υ":[{"ι":3,"ί":2,"ί":2,"ῖ":2},1],"ύ":1,"ύ":1,"ὺ":1,"ῦ":1,"ὐ":[{"δ":[{"ε":[{"ν":[{"ό":[{"σ":[{"ω":11}],"ϲ":[{"ω":11}]}],"ό":[{"σ":[{"ω":11}],"ϲ":[{"ω":11}]}],"ο":[{"σ":[{"ώ":11,"ώ":11}],"ϲ":[{"ώ":11,"ώ":11}]}]}]}]}]},1],"ὔ":1,"ὒ":1,"ὖ":1,"ὑ":1,"ὕ":[{"σ":[{"τ":[{"ι":[{"ν":[{"α":[{"ς":26}]}]}]}]}],"ϲ":[{"τ":[{"ι":[{"ν":[{"α":[{"ϲ":26}]}]}]}]}]},1],"ὓ":1,"ὗ":1},0],"υ":[{"ι":1,"ί":1,"ί":1,"ὶ":1,"ῖ":1,"ἰ":1,"ἴ":1,"ἲ":1,"ἶ":1,"ἱ":1,"ἵ":1,"ἳ":1,"ἷ":1},0],"ω":0,"ϊ":0,"ϋ":0,"ἀ":[{"ι":2,"υ":2,"γ":[{"ω":[{"ν":[{"ά":[{"ρ":9}],"ά":[{"ρ":9}],"α":[{"ρ":9}]}]}]}],"δ":[{"ι":[{"έ":[{"ξ":10}],"έ":[{"ξ":10}],"ε":[{"ξ":10}]}],"υ":[{"σ":[{"ώ":9,"ώ":9,"ω":9}],"ϲ":[{"ώ":9,"ώ":9,"ω":9}]}]}],"μ":[{"π":[{"α":[{"λ":[{"ί":[{"ν":11}],"ί":[{"ν":11}],"ι":[{"ν":11}]}]}]}],"φ":[{"ί":[{"σ":[{"β":10,"ϐ":10,"ω":10}],"ϲ":[{"β":10,"ϐ":10,"ω":10}]}],"ί":[{"σ":[{"β":10,"ϐ":10,"ω":10}],"ϲ":[{"β":10,"ϐ":10,"ω":10}]}],"ι":[{"σ":[{"β":10,"ϐ":10,"ώ":10,"ώ":10}],"ϲ":[{"β":10,"ϐ":10,"ώ":10,"ώ":10}]}]}]}],"ν":[{"α":[{"γ":[{"ή":[{"ς":[{".":12}],"ϲ":[{".":12}],"σ":[{".":12}]}],"ή":[{"ς":[{".":12}],"ϲ":[{".":12}],"σ":[{".":12}]}],"ὴ":[{"ς":[{".":12}],"ϲ":[{".":12}],"σ":[{".":12}]}],"ο":12,"ε":[{"ῖ":[{".":12,"ς":[{".":12}],"ϲ":[{".":12}],"σ":[{".":12}]}]}],"ῆ":[{".":12},12],"έ":[{"ς":[{".":12}],"ϲ":[{".":12,"ι":12}],"σ":[{".":12,"ι":12}]}],"έ":[{"ς":[{".":12}],"ϲ":[{".":12,"ι":12}],"σ":[{".":12,"ι":12}]}],"ὲ":[{"ς":[{".":12}],"ϲ":[{".":12}],"σ":[{".":12}]}],"ῶ":[{"ν":[{".":12}]}],"κ":[{"ύ":12,"ύ":12}],"ν":[{"ά":13,"ά":13,"ω":13,"ώ":13,"ώ":13},12],"ρ":[{"ί":12,"ί":12,"ῖ":12,"ι":12}],"ώ":[{"γ":[{"ι":13},12]}],"ώ":[{"γ":[{"ι":13},12]}],"ω":[{"γ":[{"ί":[{"α":14},13],"ί":[{"α":14},13]}]}]}],"δ":[{"έ":[{"λ":12}],"έ":[{"λ":12}]}],"έ":[{"λ":[{"π":12}]}],"έ":[{"λ":[{"π":12}]}],"ί":[{"δ":12,"μ":12,"σ":[{"θ":12,"χ":12}],"ϲ":[{"θ":12,"χ":12}],"τ":12}],"ί":[{"δ":12,"μ":12,"σ":[{"θ":12,"χ":12}],"ϲ":[{"θ":12,"χ":12}],"τ":12}],"ι":[{"δ":12,"μ":12,"σ":[{"θ":12,"ι":12,"ί":12,"ί":12,"χ":12}],"ϲ":[{"θ":12,"ι":12,"ί":12,"ί":12,"χ":12}],"τ":12}],"κ":[{"ά":[{"ν":12}],"ά":[{"ν":12}],"ό":[{"λ":[{"ο":12}]}],"ό":[{"λ":[{"ο":12}]}],"ο":[{"λ":[{"ο":12}]}]}],"λ":[{"γ":12,"δ":[{"α":13,"ή":[{"σ":[{"κ":13}],"ϲ":[{"κ":13}]}],"ή":[{"σ":[{"κ":13}],"ϲ":[{"κ":13}]}]},12],"ε":[{"ί":[{"π":12,"φ":12}],"ί":[{"π":12,"φ":12}],"ι":[{"φ":12}]}],"ή":[{"θ":12}],"ή":[{"θ":12}],"η":[{"θ":12}],"θ":12,"ί":[{"π":12,"σ":[{"τ":12}],"ϲ":[{"τ":12}]}],"ί":[{"π":12,"σ":[{"τ":12}],"ϲ":[{"τ":12}]}],"κ":12,"λ":12,"μ":12}],"μ":[{"ά":[{"ξ":12,"ρ":[{"τ":12}]}],"ά":[{"ξ":12,"ρ":[{"τ":12}]}],"α":[{"ξ":12,"ρ":[{"τ":12}]}],"έ":[{"λ":[{"γ":12}]}],"έ":[{"λ":[{"γ":12}]}],"ε":[{"λ":[{"γ":12}]}],"π":12,"φ":[{"ι":[{"σ":11,"ϲ":11}]},12]}],"ν":[{"ά":[{"γ":[{"κ":12}]}],"ά":[{"γ":[{"κ":12}]}],"α":[{"γ":[{"κ":12}]}],"θ":[{"έ":[{"ς":[{".":14}],"ϲ":[{".":14,"ι":14}],"σ":[{".":14,"ι":14}]},13],"έ":[{"ς":[{".":14}],"ϲ":[{".":14,"ι":14}],"σ":[{".":14,"ι":14}]},13],"ὲ":[{"ς":[{".":14}],"ϲ":[{".":14}],"σ":[{".":14}]}]},12],"ί":[{"ο":12,"ω":12}],"ί":[{"ο":12,"ω":12}],"τ":[{"α":[{"γ":12,"π":12}],"ί":12,"ί":12,"ι":12}]}],"ξ":[{"α":[{"γ":9,"ν":9}],"ά":[{"ν":9,"ρ":9}],"ά":[{"ν":9,"ρ":9}],"ί":[{"π":9,"ο":12,"ω":12,"α":12}],"ί":[{"π":9,"ο":12,"ω":12,"α":12}],"ι":[{"ό":[{"λ":12,"π":12}],"ό":[{"λ":12,"π":12}],"ο":[{"λ":12,"π":12}]}],"ῖ":[{"α":12}]}],"π":[{"ά":[{"λ":[{"λ":[{"α":12}]}],"ρ":[{"τ":12}]}],"ά":[{"λ":[{"λ":[{"α":12}]}],"ρ":[{"τ":12}]}],"α":[{"λ":[{"λ":[{"ά":12,"ά":12}]}],"ρ":[{"τ":12}],"ύ":[{"δ":12}],"ύ":[{"δ":12}],"υ":[{"δ":12}]}],"ό":[{"β":12,"ϐ":12,"γ":12,"δ":[{"ο":12,"ρ":12}],"λ":[{"α":[{"υ":12}],"υ":12}],"ν":12,"π":12,"σ":12,"ϲ":12,"τ":[{"ε":12,"μ":12,"ρ":12}]}],"ό":[{"β":12,"ϐ":12,"γ":12,"δ":[{"ο":12,"ρ":12}],"λ":[{"α":[{"υ":12}],"υ":12}],"ν":12,"π":12,"σ":12,"ϲ":12,"τ":[{"ε":12,"μ":12,"ρ":12}]}],"ο":[{"β":12,"ϐ":12,"γ":12,"δ":[{"ή":12,"ή":12,"η":12,"ό":12,"ό":12,"ρ":12}],"λ":[{"α":[{"ύ":12,"ύ":12}],"ό":12,"ό":12,"ο":12,"ύ":12,"ύ":12}],"ν":12,"π":12,"σ":12,"ϲ":12,"τ":[{"ε":12,"μ":12,"ρ":12}]}]}],"ρ":[{"ά":12,"ά":12,"α":12,"ί":[{"τ":13}],"ί":[{"τ":13}],"ῖ":[{"τ":13}],"ι":[{"τ":13}],"π":13,"ρ":[{"α":[{"γ":14}]},13],"τ":13,"ύ":[{"τ":13}],"ύ":[{"τ":13}]},12],"σ":[{"κ":[{"ή":12,"ή":12}],"π":[{"ί":12,"ί":12}],"σ":[{"ά":[{"τ":12}],"ά":[{"τ":12}]}],"τ":[{"ε":[{"ί":[{"β":13,"ϐ":13,"ρ":13,"χ":13},12],"ί":[{"β":13,"ϐ":13,"ρ":13,"χ":13},12]}]}]}],"ϲ":[{"κ":[{"ή":12,"ή":12}],"π":[{"ί":12,"ί":12}],"ϲ":[{"ά":[{"τ":12}],"ά":[{"τ":12}]}],"τ":[{"ε":[{"ί":[{"β":13,"ϐ":13,"ρ":13,"χ":13},12],"ί":[{"β":13,"ϐ":13,"ρ":13,"χ":13},12]}]}]}],"τ":[{"ε":[{"ὶ":[{".":12}],"ί":[{".":12}],"ί":[{".":12}]}],"ὶ":[{".":12}],"ί":[{".":12}],"ί":[{".":12}],"τ":12}],"ύ":[{"γ":12,"δ":12,"λ":12,"ξ":12,"χ":12}],"ύ":[{"γ":12,"δ":12,"λ":12,"ξ":12,"χ":12}],"υ":[{"γ":12,"δ":[{"ί":13,"ί":13,"ι":13},12],"ξ":12,"χ":12}],"φ":[{"α":[{"ί":[{"ρ":12}],"ί":[{"ρ":12}],"ι":[{"ρ":12}]}],"ή":12,"ή":12,"ὴ":12,"ο":[{"ῦ":12,"ῖ":12}],"ῆ":[{"ν":13},12],"ε":[{"ῖ":12}],"έ":12,"έ":12,"ὲ":12,"ρ":[{"ό":[{"δ":12}],"ό":[{"δ":12}],"ο":[{"δ":12}]}]}],"χ":[{"ύ":[{"ρ":12}],"ύ":[{"ρ":12}],"υ":[{"ρ":12}]}]}],"ά":[{"γ":[{"κ":[{"υ":12}],"ν":[{"ω":13},12],"ω":[{"γ":12}]}],"δ":[{"ε":[{"λ":12}]}],"ε":[{"λ":[{"π":12}]}],"θ":[{"λ":12}],"κ":[{"α":[{"ν":12}]}],"λ":[{"ε":[{"ι":[{"π":12,"φ":12}]}],"θ":12,"ι":[{"π":12,"σ":[{"τ":12}],"ϲ":[{"τ":12}]}],"κ":12,"λ":[{"ο":13,"ε":13},12],"μ":12,"ο":[{"υ":12,"ι":12}],"ῳ":[{".":12}],"ω":[{"ν":[{".":12}]}],"τ":12}],"μ":[{"π":12}],"ν":[{"δ":12,"ι":[{"ο":12}]}],"ξ":[{"α":[{"ν":9,"ρ":9}],"ι":[{"π":9,"ο":12}]}],"ρ":[{"ρ":13},12],"σ":[{"κ":[{"η":12}],"σ":[{"α":[{"τ":12}]}],"τ":[{"ε":[{"ι":[{"ρ":13,"χ":13},12]}]}]}],"ϲ":[{"κ":[{"η":12}],"ϲ":[{"α":[{"τ":12}]}],"τ":[{"ε":[{"ι":[{"ρ":13,"χ":13},12]}]}]}],"τ":[{"ο":[{"υ":[{".":12}],"ι":[{"ς":[{".":12}],"ϲ":[{".":12}],"σ":[{".":12}]}]}],"ω":12,"τ":12}],"φ":[{"ρ":12}]}],"ά":[{"γ":[{"κ":[{"υ":12}],"ν":[{"ω":13},12],"ω":[{"γ":12}]}],"δ":[{"ε":[{"λ":12}]}],"ε":[{"λ":[{"π":12}]}],"θ":[{"λ":12}],"κ":[{"α":[{"ν":12}]}],"λ":[{"ε":[{"ι":[{"π":12,"φ":12}]}],"θ":12,"ι":[{"π":12,"σ":[{"τ":12}],"ϲ":[{"τ":12}]}],"κ":12,"λ":[{"ο":13,"ε":13},12],"μ":12,"ο":[{"υ":12,"ι":12}],"ῳ":[{".":12}],"ω":[{"ν":[{".":12}]}],"τ":12}],"μ":[{"π":12}],"ν":[{"δ":12,"ι":[{"ο":12}]}],"ξ":[{"α":[{"ν":9,"ρ":9}],"ι":[{"π":9,"ο":12}]}],"ρ":[{"ρ":13},12],"σ":[{"κ":[{"η":12}],"σ":[{"α":[{"τ":12}]}],"τ":[{"ε":[{"ι":[{"ρ":13,"χ":13},12]}]}]}],"ϲ":[{"κ":[{"η":12}],"ϲ":[{"α":[{"τ":12}]}],"τ":[{"ε":[{"ι":[{"ρ":13,"χ":13},12]}]}]}],"τ":[{"ο":[{"υ":[{".":12}],"ι":[{"ς":[{".":12}],"ϲ":[{".":12}],"σ":[{".":12}]}]}],"ω":12,"τ":12}],"φ":[{"ρ":12}]}],"ε":[{"φ":[{"ῶ":[{"ν":[{".":12}]}],"ά":[{"λ":13}],"ά":[{"λ":13}],"έ":[{"λ":13}],"έ":[{"λ":13}]},12],"γ":[{"γ":12,"έ":[{"ρ":[{"τ":12}]}],"έ":[{"ρ":[{"τ":12}]}],"κ":12,"χ":12}],"δ":[{"ά":12,"ά":12,"α":12,"έ":[{"σ":12,"ϲ":12}],"έ":[{"σ":12,"ϲ":12}],"ρ":[{"ά":[{"σ":12,"ϲ":12}],"ά":[{"σ":12,"ϲ":12}]}]}],"έ":[{"ρ":12}],"έ":[{"ρ":12}],"ε":[{"ρ":12}],"θ":[{"έ":[{"λ":12}],"έ":[{"λ":12}],"ε":[{"λ":12}],"ί":12,"ί":12}],"ί":[{"δ":[{"ε":12,"ω":12}],"κ":[{"α":12}],"μ":[{"α":12}],"σ":[{"α":[{"κ":16}],"ο":16,"φ":[{"ο":[{"ρ":16}]}]}],"ϲ":[{"α":[{"κ":16}],"ο":16,"φ":[{"ο":[{"ρ":16}]}]}]}],"ί":[{"δ":[{"ε":12,"ω":12}],"κ":[{"α":12}],"μ":[{"α":12}],"σ":[{"α":[{"κ":16}],"ο":16,"φ":[{"ο":[{"ρ":16}]}]}],"ϲ":[{"α":[{"κ":16}],"ο":16,"φ":[{"ο":[{"ρ":16}]}]}]}],"ι":[{"δ":[{"έ":12,"έ":12,"ώ":12,"ώ":12}],"κ":[{"ά":12,"ά":12,"ό":12,"ό":12,"ο":12}],"λ":[{"ε":[{"ί":12,"ί":12,"ι":12}]}],"σ":[{"ά":[{"κ":16}],"ά":[{"κ":16}],"ό":16,"ό":16,"φ":[{"ο":[{"ρ":16}],"ό":[{"ρ":16}],"ό":[{"ρ":16}]}]}],"ϲ":[{"ά":[{"κ":16}],"ά":[{"κ":16}],"ό":16,"ό":16,"φ":[{"ο":[{"ρ":16}],"ό":[{"ρ":16}],"ό":[{"ρ":16}]}]}]}],"κ":[{"ά":[{"ς":[{".":13}],"ϲ":[{".":13}],"σ":[{".":13}]}],"ά":[{"ς":[{".":13}],"ϲ":[{".":13}],"σ":[{".":13}]}],"ὰ":[{"ς":[{".":13}],"ϲ":[{".":13}],"σ":[{".":13}]}],"τ":[{"ί":[{"τ":17}],"ί":[{"τ":17}]},13],"λ":[{"ι":[{"π":9}],"ό":9,"ό":9,"ο":9}]},12],"λ":[{"α":[{"ι":12,"τ":12}],"ά":[{"τ":12}],"ά":[{"τ":12}],"έ":[{"γ":[{"κ":12}],"η":12,"ο":12,"ω":12}],"έ":[{"γ":[{"κ":12}],"η":12,"ο":12,"ω":12}],"ε":[{"γ":[{"ξ":12}],"ή":12,"ή":12}],"κ":[{"ή":12,"ή":12,"ὴ":12,"ο":12,"ῆ":12,"έ":[{"ς":[{".":12}],"ϲ":[{".":12},12],"σ":[{".":12},12]}],"έ":[{"ς":[{".":12}],"ϲ":[{".":12},12],"σ":[{".":12},12]}],"ὲ":[{"ς":[{".":12}],"ϲ":[{".":12}],"σ":[{".":12}]}],"ε":12,"ῶ":12,"ώ":12,"ώ":12}],"π":[{"ί":12,"ί":12}],"ύ":[{"τ":[{"ρ":12}]}],"ύ":[{"τ":[{"ρ":12}]}]}],"μ":[{"β":12,"ϐ":12,"έ":[{"τ":12}],"έ":[{"τ":12}],"π":12,"φ":12}],"ν":[{"ή":13,"ή":13},12],"ξ":[{"ί":[{"κ":[{"α":19}]}],"ί":[{"κ":[{"α":19}]}],"ι":[{"κ":[{"ά":19,"ά":19}]}]},18],"ό":[{"ρ":12}],"ό":[{"ρ":12}],"π":[{"ν":13,"τ":13},12],"ρ":[{"α":[{"σ":[{"τ":12}],"ϲ":[{"τ":12}]}],"ά":[{"σ":[{"τ":12}],"ϲ":[{"τ":12}]}],"ά":[{"σ":[{"τ":12}],"ϲ":[{"τ":12}]}],"γ":12,"ε":[{"ί":[{"κ":12,"σ":12,"ϲ":12}],"ί":[{"κ":12,"σ":12,"ϲ":12}],"ύ":[{"ν":[{"η":[{"τ":12}]}]}],"ύ":[{"ν":[{"η":[{"τ":12}]}]}],"υ":[{"ν":[{"ή":[{"τ":12}],"ή":[{"τ":12}]}]}]}],"ί":12,"ί":12,"ι":12,"υ":[{"θ":[{"ρ":[{"ί":[{"α":[{"σ":[{"τ":12}],"ϲ":[{"τ":12}]}]}],"ί":[{"α":[{"σ":[{"τ":12}],"ϲ":[{"τ":12}]}]}],"ι":[{"ά":[{"σ":[{"τ":12}],"ϲ":[{"τ":12}]}],"ά":[{"σ":[{"τ":12}],"ϲ":[{"τ":12}]}]}]}]}]}]}],"σ":[{"τ":[{"ί":12,"ί":12}]}],"ϲ":[{"τ":[{"ί":12,"ί":12}]}],"τ":[{"α":[{"ί":12,"ί":12}],"ο":[{"ί":12,"ί":12}],"υ":12,"ύ":12,"ύ":12}],"ύ":[{"θ":12,"κ":12,"ρ":[{"ε":[{"τ":12}]}],"χ":12,"ξ":12}],"ύ":[{"θ":12,"κ":12,"ρ":[{"ε":[{"τ":12}]}],"χ":12,"ξ":12}],"υ":[{"θ":12,"λ":12,"ρ":[{"έ":[{"τ":12}],"έ":[{"τ":12}]}],"φ":[{"ή":[{"μ":[{"η":[{"τ":12}]}]}],"ή":[{"μ":[{"η":[{"τ":12}]}]}],"η":[{"μ":[{"ή":[{"τ":12}],"ή":[{"τ":12}]}]}]}],"χ":12,"ξ":12,"κ":[{"τ":12}]}],"χ":[{"έ":12,"έ":12,"ε":12}],"ψ":[{"ά":12,"ά":12}]}],"δ":[{"ρ":[{"ό":[{"σ":[{"α":15}],"ϲ":[{"α":15}]}],"ό":[{"σ":[{"α":15}],"ϲ":[{"α":15}]}],"ο":[{"σ":[{"α":15}],"ϲ":[{"α":15}]}]}]}],"έ":[{"γ":[{"γ":12,"ε":[{"ρ":[{"τ":12}]}],"κ":12}],"δ":[{"ε":[{"σ":12,"ϲ":12}],"ρ":[{"α":[{"σ":12,"ϲ":12}]}]}],"θ":[{"ι":12}],"κ":[{"α":13,"τ":[{"ι":[{"τ":17}]}]},12],"λ":[{"α":[{"ι":12}],"ε":[{"γ":[{"κ":12}],"ο":12,"ε":12}],"κ":[{"τ":12,"ω":12}],"λ":12,"π":[{"ι":12}],"υ":[{"τ":[{"ρ":12}]}]}],"μ":[{"β":12,"ϐ":12,"ε":[{"τ":12}],"π":12,"φ":12}],"ν":[{"ε":[{"ι":13}],"τ":[{"ε":[{"ς":[{".":13}],"ϲ":[{".":13}],"σ":[{".":13}]}]}]},12],"ο":[{"ρ":12}],"ρ":[{"α":[{"σ":[{"τ":12}],"ϲ":[{"τ":12}]}],"γ":12,"ε":[{"ι":[{"κ":12,"σ":12,"ϲ":12}]}]}],"σ":[{"τ":[{"ι":12}]}],"ϲ":[{"τ":[{"ι":12}]}],"τ":[{"α":[{"ι":12}],"ο":[{"ι":12}],"υ":12}],"φ":[{"ε":[{"λ":13}]},12],"ψ":[{"α":12}]}],"έ":[{"γ":[{"γ":12,"ε":[{"ρ":[{"τ":12}]}],"κ":12}],"δ":[{"ε":[{"σ":12,"ϲ":12}],"ρ":[{"α":[{"σ":12,"ϲ":12}]}]}],"θ":[{"ι":12}],"κ":[{"α":13,"τ":[{"ι":[{"τ":17}]}]},12],"λ":[{"α":[{"ι":12}],"ε":[{"γ":[{"κ":12}],"ο":12,"ε":12}],"κ":[{"τ":12,"ω":12}],"λ":12,"π":[{"ι":12}],"υ":[{"τ":[{"ρ":12}]}]}],"μ":[{"β":12,"ϐ":12,"ε":[{"τ":12}],"π":12,"φ":12}],"ν":[{"ε":[{"ι":13}],"τ":[{"ε":[{"ς":[{".":13}],"ϲ":[{".":13}],"σ":[{".":13}]}]}]},12],"ο":[{"ρ":12}],"ρ":[{"α":[{"σ":[{"τ":12}],"ϲ":[{"τ":12}]}],"γ":12,"ε":[{"ι":[{"κ":12,"σ":12,"ϲ":12}]}]}],"σ":[{"τ":[{"ι":12}]}],"ϲ":[{"τ":[{"ι":12}]}],"τ":[{"α":[{"ι":12}],"ο":[{"ι":12}],"υ":12}],"φ":[{"ε":[{"λ":13}]},12],"ψ":[{"α":12}]}],"η":[{"υ":[{"ξ":12,"γ":12}],"ῦ":[{"γ":12}],"γ":[{"ε":[{"μ":12}]}],"δ":12,"κ":[{"έ":[{"σ":12,"ϲ":12}],"έ":[{"σ":12,"ϲ":12}],"ό":12,"ό":12,"ο":12}],"λ":[{"ά":[{"κ":12,"τ":[{"ο":[{"υ":12,"ι":12}],"ω":12}]}],"ά":[{"κ":12,"τ":[{"ο":[{"υ":12,"ι":12}],"ω":12}]}],"α":[{"κ":12}],"ε":[{"γ":12,"ή":12,"ή":12,"ὴ":12,"ο":12,"ε":12,"ῶ":12,"έ":12,"έ":12,"ὲ":12,"ῆ":12,"ί":[{"π":12}],"ί":[{"π":12}],"ῖ":12}],"έ":[{"η":12},12],"έ":[{"η":12},12],"ή":12,"ή":12,"ὴ":12,"ο":[{"ῦ":12,"ῖ":12}],"ῆ":12,"ὲ":12,"ῶ":12,"ί":[{"κ":12,"ο":12,"ω":12,"π":12}],"ί":[{"κ":12,"ο":12,"ω":12,"π":12}],"ι":[{"φ":12}]}],"μ":12,"ν":[{"ύ":12,"ύ":12}],"ρ":[{"ε":[{"ί":12,"ί":12,"μ":12,"φ":12}],"έ":[{"μ":12}],"έ":[{"μ":12}],"ί":12,"ί":12,"ό":[{"τ":12}],"ό":[{"τ":12}]}],"σ":[{"σ":12}],"ϲ":[{"ϲ":12}],"τ":[{"τ":12}],"φ":[{"α":12}]}],"ή":[{"δ":12,"κ":[{"ε":[{"σ":12,"ϲ":12}],"ο":12}],"λ":[{"α":[{"τ":[{"ο":[{"ς":[{".":12}],"ϲ":[{".":12}],"σ":[{".":12}],"ν":[{".":12}],"ι":12}],"ε":[{".":12}],"α":12}]}],"ε":[{"ι":[{"π":12}]}],"ι":[{"κ":12,"ο":12,"α":12,"π":12}]}],"μ":12,"ν":[{"υ":12}],"ρ":[{"ε":[{"ι":12}],"ι":12,"ο":[{"τ":12}]}],"σ":[{"σ":12}],"ϲ":[{"ϲ":12}],"τ":[{"τ":12}],"φ":[{"α":12}]}],"ή":[{"δ":12,"κ":[{"ε":[{"σ":12,"ϲ":12}],"ο":12}],"λ":[{"α":[{"τ":[{"ο":[{"ς":[{".":12}],"ϲ":[{".":12}],"σ":[{".":12}],"ν":[{".":12}],"ι":12}],"ε":[{".":12}],"α":12}]}],"ε":[{"ι":[{"π":12}]}],"ι":[{"κ":12,"ο":12,"α":12,"π":12}]}],"μ":12,"ν":[{"υ":12}],"ρ":[{"ε":[{"ι":12}],"ι":12,"ο":[{"τ":12}]}],"σ":[{"σ":12}],"ϲ":[{"ϲ":12}],"τ":[{"τ":12}],"φ":[{"α":12}]}],"ί":[{"α":[{"τ":12}],"δ":[{"ι":[{"ο":12,"α":12}],"ρ":[{"ο":[{"υ":12,"ι":12}],"ω":12,"υ":[{"τ":12}]}]}],"ε":[{"ρ":12}],"κ":[{"η":13},12],"λ":12,"μ":[{"α":[{"σ":[{"τ":12}],"ϲ":[{"τ":12}]}]}],"ο":[{"υ":12}],"π":[{"π":12}],"σ":[{"τ":13,"χ":[{"υ":14},13]},12],"ϲ":[{"τ":13,"χ":[{"υ":14},13]},12],"χ":12,"ψ":12}],"ί":[{"α":[{"τ":12}],"δ":[{"ι":[{"ο":12,"α":12}],"ρ":[{"ο":[{"υ":12,"ι":12}],"ω":12,"υ":[{"τ":12}]}]}],"ε":[{"ρ":12}],"κ":[{"η":13},12],"λ":12,"μ":[{"α":[{"σ":[{"τ":12}],"ϲ":[{"τ":12}]}]}],"ο":[{"υ":12}],"π":[{"π":12}],"σ":[{"τ":13,"χ":[{"υ":14},13]},12],"ϲ":[{"τ":13,"χ":[{"υ":14},13]},12],"χ":12,"ψ":12}],"ι":[{"ά":[{"τ":12}],"ά":[{"τ":12}],"δ":[{"ί":[{"ο":12,"ω":12}],"ί":[{"ο":12,"ω":12}],"ι":[{"τ":12}],"ρ":[{"ύ":[{"τ":12}],"ύ":[{"τ":12}],"ω":[{"τ":12}],"ώ":[{"τ":12}],"ώ":[{"τ":12}]}]}],"έ":[{"ρ":[{"ω":13},12]}],"έ":[{"ρ":[{"ω":13},12]}],"ε":[{"ρ":[{"ά":[{"τ":12}],"ά":[{"τ":12}]}]}],"κ":[{"ή":13,"ή":13},12],"λ":12,"μ":[{"ά":[{"σ":[{"τ":12}],"ϲ":[{"τ":12}]}],"ά":[{"σ":[{"τ":12}],"ϲ":[{"τ":12}]}]}],"ο":[{"ύ":12,"ύ":12}],"σ":[{"ᾶ":[{"τ":13}],"ά":[{"τ":13}],"ά":[{"τ":13}],"τ":[{"ο":[{"ρ":[{"η":14,"ή":14,"ή":14}]}],"ό":[{"ρ":[{"η":14}]}],"ό":[{"ρ":[{"η":14}]}]},13]},12],"ϲ":[{"ᾶ":[{"τ":13}],"ά":[{"τ":13}],"ά":[{"τ":13}],"τ":[{"ο":[{"ρ":[{"η":14,"ή":14,"ή":14}]}],"ό":[{"ρ":[{"η":14}]}],"ό":[{"ρ":[{"η":14}]}]},13]},12],"χ":[{"ν":[{"ε":[{"ύ":[{"τ":12}],"ύ":[{"τ":12}]}]}]}],"ψ":12}],"ό":[{"δ":[{"ε":12}],"ζ":12,"λ":12,"μ":[{"β":[{"ρ":[{"ο":12,"ω":12}]}],"ϐ":[{"ρ":[{"ο":12,"ω":12}]}],"ι":[{"χ":12}],"ο":[{"υ":[{".":13,"ς":[{".":13}],"ϲ":[{".":13}],"σ":[{".":13}]}],"ι":[{"ν":[{".":20}],"ς":[{".":13}],"ϲ":[{".":13}],"σ":[{".":13}]}]},12],"ῳ":[{".":13}],"ω":[{".":13,"ν":[{".":13}]}]}],"ν":12,"π":12,"ρ":[{"θ":13},12],"σ":[{"ι":12,"μ":12,"φ":[{"ρ":12}]}],"ϲ":[{"ι":12,"μ":12,"φ":[{"ρ":12}]}],"χ":[{"ε":[{"υ":[{"τ":12}]}],"λ":12}],"ψ":12}],"ό":[{"δ":[{"ε":12}],"ζ":12,"λ":12,"μ":[{"β":[{"ρ":[{"ο":12,"ω":12}]}],"ϐ":[{"ρ":[{"ο":12,"ω":12}]}],"ι":[{"χ":12}],"ο":[{"υ":[{".":13,"ς":[{".":13}],"ϲ":[{".":13}],"σ":[{".":13}]}],"ι":[{"ν":[{".":20}],"ς":[{".":13}],"ϲ":[{".":13}],"σ":[{".":13}]}]},12],"ῳ":[{".":13}],"ω":[{".":13,"ν":[{".":13}]}]}],"ν":12,"π":12,"ρ":[{"θ":13},12],"σ":[{"ι":12,"μ":12,"φ":[{"ρ":12}]}],"ϲ":[{"ι":12,"μ":12,"φ":[{"ρ":12}]}],"χ":[{"ε":[{"υ":[{"τ":12}]}],"λ":12}],"ψ":12}],"ο":[{"δ":[{"έ":12,"έ":12}],"ι":[{"κ":[{"ε":12,"ο":[{"ν":12}],"τ":[{"ί":12,"ί":12}]}],"μ":[{"ώ":[{"κ":12}],"ώ":[{"κ":12}],"ω":[{"κ":12}]}],"ν":12}],"ί":[{"κ":[{"τ":12},12],"μ":[{"ω":[{"κ":12}]}],"ν":12,"σ":[{"τ":[{"ρ":12}]}],"ϲ":[{"τ":[{"ρ":12}]}]}],"ί":[{"κ":[{"τ":12},12],"μ":[{"ω":[{"κ":12}]}],"ν":12,"σ":[{"τ":[{"ρ":12}]}],"ϲ":[{"τ":[{"ρ":12}]}]}],"λ":[{"κ":13,"ο":13},12],"μ":[{"β":[{"ρ":[{"ί":12,"ί":12,"ῖ":12}]}],"ϐ":[{"ρ":[{"ί":12,"ί":12,"ῖ":12}]}],"ή":[{"λ":12}],"ή":[{"λ":12}],"η":[{"λ":12}],"ί":[{"λ":12}],"ί":[{"λ":12}],"ι":[{"λ":12,"χ":12}],"ό":12,"ό":12,"ο":[{"θ":13},12]}],"ν":12,"ρ":[{"γ":[{"ά":[{"ζ":13}],"ά":[{"ζ":13}]}],"μ":[{"ά":13,"ά":13}],"τ":13,"ύ":13,"ύ":13},12],"σ":[{"ί":12,"ί":12,"ι":12,"φ":[{"ρ":12}]}],"ϲ":[{"ί":12,"ί":12,"ι":12,"φ":[{"ρ":12}]}],"ύ":[{"α":12,"σ":[{"ι":12}],"ϲ":[{"ι":12}],"τ":12}],"ύ":[{"α":12,"σ":[{"ι":12}],"ϲ":[{"ι":12}],"τ":12}],"υ":[{"ά":12,"ά":12,"σ":[{"ί":12,"ί":12}],"ϲ":[{"ί":12,"ί":12}],"τ":12}],"φ":[{"θ":12}],"χ":[{"ε":[{"ύ":[{"τ":12}],"ύ":[{"τ":12}]}]}],"ψ":12}],"τ":[{"α":[{"ν":[{"ι":[{"σ":10,"ϲ":10}],"ί":[{"σ":10,"ϲ":10}],"ί":[{"σ":10,"ϲ":10}]}]}],"ε":[{"ι":[{"σ":15,"ϲ":15}],"κ":10,"ν":10,"ξ":10}],"ι":[{"δ":[{"υ":[{"σ":11,"ϲ":11}]}],"π":[{"α":[{"ρ":[{"ε":[{"κ":21,"ξ":21}]}]}],"ρ":[{"ο":[{"σ":[{"κ":[{"υ":23}]},22],"ϲ":[{"κ":[{"υ":23}]},22]}]}]}],"σ":[{"ύ":[{"ν":11}],"ύ":[{"ν":11}],"υ":[{"ν":11}]}],"ϲ":[{"ύ":[{"ν":11}],"ύ":[{"ν":11}],"υ":[{"ν":11}]}]}]}],"ύ":[{"σ":13,"ϲ":13},12],"ύ":[{"σ":13,"ϲ":13},12],"υ":[{"μ":13,"σ":13,"ϲ":13,"π":[{"έ":[{"ρ":24}],"έ":[{"ρ":24}],"ε":[{"ρ":24}]}]},12],"ῴ":[{"δ":12}],"ώ":[{"δ":[{"υ":12}],"ι":12,"λ":12,"μ":12,"ν":12,"ρ":12,"τ":[{"ο":12}],"χ":[{"υ":12}]}],"ώ":[{"δ":[{"υ":12}],"ι":12,"λ":12,"μ":12,"ν":12,"ρ":12,"τ":[{"ο":12}],"χ":[{"υ":12}]}],"ω":[{"δ":[{"ύ":12,"ύ":12}],"ί":12,"ί":12,"λ":12,"μ":12,"ν":12,"ρ":12,"φ":[{"έ":[{"λ":12}],"έ":[{"λ":12}],"ε":[{"λ":12}]}],"χ":[{"ύ":12,"ύ":12}]}]}],"π":[{"α":[{"ν":[{"α":[{"ι":9}],"ο":[{"ύ":[{"ρ":9}],"ύ":[{"ρ":9}]}]}]}],"ά":[{"ν":[{"ο":[{"υ":9}]}]}],"ά":[{"ν":[{"ο":[{"υ":9}]}]}],"ε":[{"κ":[{"λ":9}]}],"ο":[{"σ":[{"υ":[{"ν":15}]}],"ϲ":[{"υ":[{"ν":15}]}]}],"ρ":[{"ό":[{"σ":[{"κ":[{"ε":25,"ο":25}]},10],"ϲ":[{"κ":[{"ε":25,"ο":25}]},10]}],"ό":[{"σ":[{"κ":[{"ε":25,"ο":25}]},10],"ϲ":[{"κ":[{"ε":25,"ο":25}]},10]}],"ο":[{"σ":[{"κ":[{"έ":25,"έ":25,"ό":25,"ό":25}],"τ":25},10],"ϲ":[{"κ":[{"έ":25,"έ":25,"ό":25,"ό":25}],"τ":25},10]}]}]}],"ρ":[{"ρ":[{"ε":[{"ν":[{"ω":10}]}]}],"χ":[{"ι":[{"σ":[{"υ":[{"ν":11}]}],"ϲ":[{"υ":[{"ν":11}]}]}]}]}],"σ":[{"τ":[{"ε":[{"ρ":[{"ω":10}]}]}],"ύ":[{"ν":9}],"ύ":[{"ν":9}],"υ":[{"ν":9}]}],"ϲ":[{"τ":[{"ε":[{"ρ":[{"ω":10}]}]}],"ύ":[{"ν":9}],"ύ":[{"ν":9}],"υ":[{"ν":9}]}],"ξ":[{"ύ":[{"ν":9}],"ύ":[{"ν":9}],"υ":[{"ν":9}]}],"ω":[{"σ":[{"φ":26}],"ϲ":[{"φ":26}]}]},0],"ἁ":[{"ι":2,"υ":2,"λ":[{"ό":[{"σ":9,"ϲ":9}],"ό":[{"σ":9,"ϲ":9}],"ο":[{"σ":9,"ϲ":9}]}],"π":[{"α":[{"ξ":9}],"ε":[{"ρ":9}]}],"ρ":[{"π":[{"α":[{"ξ":10}]}]}]},0],"ἂ":0,"ἃ":0,"ἄ":[{"ν":[{"α":[{"γ":[{"ν":12}],"θ":[{"λ":12}],"ι":[{"μ":12}],"λ":[{"κ":12,"μ":12,"ο":12,"ε":[{".":12}],"τ":12}],"ν":[{"δ":12}],"ρ":12,"σ":[{"π":[{"ι":12}]}],"ϲ":[{"π":[{"ι":12}]}],"τ":[{"ο":[{"ς":[{".":12}],"ϲ":[{".":12}],"σ":[{".":12}],"ν":[{".":12}],"ι":[{".":12}]}],"ε":12}],"υ":[{"δ":12,"λ":12}],"φ":[{"ρ":12}]}],"ε":[{"λ":[{"κ":[{"τ":12}]}],"ρ":[{"γ":12}],"υ":[{"κ":12}]}],"ι":[{"δ":[{"ρ":[{"ο":[{"ς":12,"ϲ":12,"σ":12,"ν":12,"ι":12}],"ε":12}]}],"κ":12,"π":[{"π":12}],"σ":12,"ϲ":12,"χ":12}],"ο":[{"ζ":12,"ι":[{"κ":[{"τ":12},12],"ν":12,"σ":[{"τ":[{"ρ":12}]}],"ϲ":[{"τ":[{"ρ":12}]}]}],"λ":12,"μ":[{"β":[{"ρ":[{"ο":12,"α":12}]}],"ϐ":[{"ρ":[{"ο":12,"α":12}]}]}],"π":12,"ρ":[{"θ":13},12],"σ":[{"μ":12}],"ϲ":[{"μ":12}],"χ":[{"λ":12}],"ψ":12}],"ῳ":[{"δ":12}],"ω":[{"ρ":12,"τ":[{"ο":12}]}]}]},0],"ἅ":[{"σ":[{"τ":[{"ι":[{"ν":[{"α":[{"ς":12}]}]}]}]}],"ϲ":[{"τ":[{"ι":[{"ν":[{"α":[{"ϲ":12}]}]}]}]}]},0],"ἆ":0,"ἇ":0,"ἐ":[{"ι":2,"υ":2,"δ":[{"υ":[{"σ":[{"τ":9}],"ϲ":[{"τ":9}]}]}],"κ":[{"λ":[{"ή":[{"θ":[{"η":13}],"ρ":13}],"ή":[{"θ":[{"η":13}],"ρ":13}],"ά":[{"ζ":13,"γ":13,"ο":13,"σ":13,"ϲ":13,"π":[{"τ":14},13]}],"ά":[{"ζ":13,"γ":13,"ο":13,"σ":13,"ϲ":13,"π":[{"τ":14},13]}],"α":[{"ί":13,"ί":13,"ύ":13,"ύ":13,"π":[{"τ":14},13]}],"ε":[{"ί":[{"π":14,"ψ":14},13],"ί":[{"π":14,"ψ":14},13],"φ":13}],"ῄ":13,"έ":[{"φ":13}],"έ":[{"φ":13}],"η":[{"ρ":13}],"ί":[{"ν":13}],"ί":[{"ν":13}],"ι":[{"ν":13}],"ύ":[{"σ":[{"ε":[{"ω":14,"ι":14,"ο":[{"ι":14}],"σ":[{"ι":14}]}]}],"ϲ":[{"ε":[{"ω":14,"ι":14,"ο":[{"ι":14}],"ϲ":[{"ι":14}]}]}]},13],"ύ":[{"σ":[{"ε":[{"ω":14,"ι":14,"ο":[{"ι":14}],"σ":[{"ι":14}]}]}],"ϲ":[{"ε":[{"ω":14,"ι":14,"ο":[{"ι":14}],"ϲ":[{"ι":14}]}]}]},13],"ό":[{"μ":13}],"ό":[{"μ":13}]},12],"κ":[{"λ":[{"έ":[{"π":13,"ψ":13}],"έ":[{"π":13,"ψ":13}],"ώ":[{"σ":13,"ϲ":13}],"ώ":[{"σ":13,"ϲ":13}]}]}],"μ":12,"ν":[{"α":[{"ί":13,"ί":13}],"ή":[{"σ":13,"ϲ":13}],"ή":[{"σ":13,"ϲ":13}],"υ":13},12],"ρ":[{"ά":[{"δ":13,"ζ":13,"γ":13,"τ":13,"ν":13,"α":13,"θ":13}],"ά":[{"δ":13,"ζ":13,"γ":13,"τ":13,"ν":13,"α":13,"θ":13}],"α":[{"δ":13,"τ":13,"ύ":[{"γ":13}],"ύ":[{"γ":13}],"υ":[{"γ":13}],"ί":13,"ί":13,"ά":13,"ά":13,"θ":13}],"ή":[{"η":13,"μ":13}],"ή":[{"η":13,"μ":13}],"έ":[{"κ":13,"ξ":13,"μ":13}],"έ":[{"κ":13,"ξ":13,"μ":13}],"ε":[{"μ":13}],"η":[{"μ":13}],"ί":[{"ν":13,"θ":13}],"ί":[{"ν":13,"θ":13}],"ό":[{"τ":13}],"ό":[{"τ":13}],"ο":[{"τ":13,"ύ":13,"ύ":13}],"ύ":[{"π":13,"ψ":13,"β":13,"ϐ":13,"φ":13}],"ύ":[{"π":13,"ψ":13,"β":13,"ϐ":13,"φ":13}],"υ":[{"σ":13,"ϲ":13}],"ώ":[{"ζ":13,"ξ":13}],"ώ":[{"ζ":13,"ξ":13}]},12],"τ":[{"α":[{"θ":12,"ν":12,"ρ":12}],"ά":[{"μ":[{"ν":12}],"σ":12,"ϲ":12}],"ά":[{"μ":[{"ν":12}],"σ":12,"ϲ":12}],"ε":[{"ί":[{"ν":13}],"ί":[{"ν":13}]},12],"έ":12,"έ":12,"ή":[{"κ":12}],"ή":[{"κ":12}],"ι":12,"ί":[{"ζ":13,"σ":[{"α":13}],"ϲ":[{"α":13}]},12],"ί":[{"ζ":13,"σ":[{"α":13}],"ϲ":[{"α":13}]},12],"ό":[{"ς":[{".":13}],"ϲ":[{".":13}],"σ":[{".":13}]},12],"ό":[{"ς":[{".":13}],"ϲ":[{".":13}],"σ":[{".":13}]},12],"ο":12,"ὸ":[{"ς":[{".":13}],"ϲ":[{".":13}],"σ":[{".":13}]}],"ρ":12,"ύ":[{"π":[{"ο":[{"υ":[{".":12,"ς":[{".":12}],"ϲ":[{".":12}],"σ":[{".":12}]}],"ι":[{".":1,"ς":[{".":12}],"ϲ":[{".":12}],"σ":[{".":12}]}]}],"ῳ":[{".":12}],"ω":[{".":12,"ν":[{".":12}]}]}]}],"ύ":[{"π":[{"ο":[{"υ":[{".":12,"ς":[{".":12}],"ϲ":[{".":12}],"σ":[{".":12}]}],"ι":[{".":1,"ς":[{".":12}],"ϲ":[{".":12}],"σ":[{".":12}]}]}],"ῳ":[{".":12}],"ω":[{".":12,"ν":[{".":12}]}]}]}],"υ":12}]}],"ν":[{"ά":[{"κ":[{"ι":[{"ς":13,"ϲ":13}]}],"ρ":[{"ω":[{"ν":[{".":13}]}],"ο":[{"ι":[{"ς":[{".":13}],"ϲ":[{".":13}],"σ":[{".":13}]}]}],"ε":[{"ε":13}],"ι":[{"ε":13}]}],"σ":[{"σ":13,"θ":13}],"ϲ":[{"ϲ":13,"θ":13}],"τ":13}],"ά":[{"κ":[{"ι":[{"ς":13,"ϲ":13}]}],"ρ":[{"ω":[{"ν":[{".":13}]}],"ο":[{"ι":[{"ς":[{".":13}],"ϲ":[{".":13}],"σ":[{".":13}]}]}],"ε":[{"ε":13}],"ι":[{"ε":13}]}],"σ":[{"σ":13,"θ":13}],"ϲ":[{"ϲ":13,"θ":13}],"τ":13}],"α":[{"κ":[{"ι":[{"σ":13,"ϲ":13}],"ό":[{"σ":13,"ϲ":13}],"ό":[{"σ":13,"ϲ":13}],"ο":[{"σ":13,"ϲ":13}]}],"ρ":[{"η":[{"φ":13}],"α":[{"ρ":14}],"έ":[{"ω":13,"α":13}],"έ":[{"ω":13,"α":13}],"ε":[{"ά":13,"ά":13}],"ί":[{"ω":13,"α":13}],"ί":[{"ω":13,"α":13}],"ι":[{"ά":13,"ά":13}]}],"σ":[{"θ":13}],"ϲ":[{"θ":13}]}],"δ":[{"υ":[{"σ":[{"τ":10}],"ϲ":[{"τ":10}]}]}],"έ":[{"γ":[{"κ":13}],"π":[{"ε":[{"ι":13}]}],"χ":[{"θ":13}]}],"έ":[{"γ":[{"κ":13}],"π":[{"ε":[{"ι":13}]}],"χ":[{"θ":13}]}],"ε":[{"γ":[{"κ":13}],"ῖ":[{"κ":13}],"ι":[{"κ":13}],"ί":[{"κ":13,"μ":13}],"ί":[{"κ":13,"μ":13}],"μ":[{"έ":[{"σ":[{"σ":13}],"ϲ":[{"ϲ":13}]}],"έ":[{"σ":[{"σ":13}],"ϲ":[{"ϲ":13}]}],"ή":[{"θ":13}],"ή":[{"θ":13}]}],"ν":[{"ή":13,"ή":13}],"ό":13,"ό":13,"ὸ":13,"ο":13,"ῶ":13,"ά":13,"ά":13,"ὰ":13,"ᾶ":13,"ύ":[{"σ":13,"ϲ":13}],"ύ":[{"σ":13,"ϲ":13}],"χ":[{"θ":13}]}],"ή":[{"σ":13,"ϲ":13,"ν":[{"ο":13}]}],"ή":[{"σ":13,"ϲ":13,"ν":[{"ο":13}]}],"η":[{"ή":13,"ή":13,"ὴ":13,"ε":[{"ί":13,"ί":13}],"ο":13,"ῶ":13,"έ":2,"έ":2}],"ί":[{"δ":[{"ρ":14}],"ζ":14,"η":14,"ε":[{"μ":[{"ε":[{"ν":[{".":14}]}]}]}],"ω":[{".":14}],"π":[{"π":14,"τ":14}],"ψ":14,"σ":[{"σ":14,"τ":14,"χ":14}],"ϲ":[{"ϲ":14,"τ":14,"χ":14}]},13],"ί":[{"δ":[{"ρ":14}],"ζ":14,"η":14,"ε":[{"μ":[{"ε":[{"ν":[{".":14}]}]}]}],"ω":[{".":14}],"π":[{"π":14,"τ":14}],"ψ":14,"σ":[{"σ":14,"τ":14,"χ":14}],"ϲ":[{"ϲ":14,"τ":14,"χ":14}]},13],"ι":[{"α":[{"ύ":[{"σ":30,"ϲ":30},14],"ύ":[{"σ":30,"ϲ":30},14],"υ":[{"σ":30,"ϲ":30}]}],"δ":[{"ρ":14}],"έ":[{"τ":[{"ο":[{"ν":[{".":14}]}]}]}],"έ":[{"τ":[{"ο":[{"ν":[{".":14}]}]}]}],"π":[{"π":14}],"σ":[{"τ":14,"χ":14}],"ϲ":[{"τ":14,"χ":14}]},13],"ό":[{"σ":[{"ε":13}],"ϲ":[{"ε":13}]}],"ό":[{"σ":[{"ε":13}],"ϲ":[{"ε":13}]}],"υ":[{"ά":[{"λ":13}],"ά":[{"λ":13}],"α":[{"λ":13}],"ξ":13,"σ":13,"ϲ":13,"ώ":13,"ώ":13,"ὼ":13,"ό":[{"ο":13}],"ό":[{"ο":13}],"ο":[{"ῦ":[{"ς":13,"ϲ":13}]}]}],"ύ":[{"ξ":13,"σ":13,"ϲ":13}],"ύ":[{"ξ":13,"σ":13,"ϲ":13}]},12],"ξ":[{"ή":[{"ρ":13}],"ή":[{"ρ":13}],"η":[{"ρ":13}],"υ":[{"ν":31,"ρ":13}],"ύ":[{"ρ":13}],"ύ":[{"ρ":13}]},12],"π":[{"ε":[{"ί":[{"σ":[{"α":[{"τ":[{"ο":[{"ν":[{".":25}]},25],"ε":25}],"μ":[{"ε":[{"ν":[{".":25}]}]}],"σ":[{"θ":[{"ο":[{"ν":[{".":25}]}],"ε":[{".":25}]}]}],"ν":[{"τ":[{"ο":[{".":25}]}]}]}],"ω":[{".":25}],"θ":25},10],"ϲ":[{"α":[{"τ":[{"ο":[{"ν":[{".":25}]},25],"ε":25}],"μ":[{"ε":[{"ν":[{".":25}]}]}],"ϲ":[{"θ":[{"ο":[{"ν":[{".":25}]}],"ε":[{".":25}]}]}],"ν":[{"τ":[{"ο":[{".":25}]}]}]}],"ω":[{".":25}],"θ":25},10]}],"ί":[{"σ":[{"α":[{"τ":[{"ο":[{"ν":[{".":25}]},25],"ε":25}],"μ":[{"ε":[{"ν":[{".":25}]}]}],"σ":[{"θ":[{"ο":[{"ν":[{".":25}]}],"ε":[{".":25}]}]}],"ν":[{"τ":[{"ο":[{".":25}]}]}]}],"ω":[{".":25}],"θ":25},10],"ϲ":[{"α":[{"τ":[{"ο":[{"ν":[{".":25}]},25],"ε":25}],"μ":[{"ε":[{"ν":[{".":25}]}]}],"ϲ":[{"θ":[{"ο":[{"ν":[{".":25}]}],"ε":[{".":25}]}]}],"ν":[{"τ":[{"ο":[{".":25}]}]}]}],"ω":[{".":25}],"θ":25},10]}],"ι":[{"σ":[{"ά":[{"τ":[{"η":[{"ν":[{".":25}]}]}],"μ":[{"η":[{"ν":[{".":25}]}],"ε":[{"θ":[{"α":[{".":25}]}]}]}]}],"ά":[{"τ":[{"η":[{"ν":[{".":25}]}]}],"μ":[{"η":[{"ν":[{".":25}]}],"ε":[{"θ":[{"α":[{".":25}]}]}]}]}],"θ":25},10],"ϲ":[{"ά":[{"τ":[{"η":[{"ν":[{".":25}]}]}],"μ":[{"η":[{"ν":[{".":25}]}],"ε":[{"θ":[{"α":[{".":25}]}]}]}]}],"ά":[{"τ":[{"η":[{"ν":[{".":25}]}]}],"μ":[{"η":[{"ν":[{".":25}]}],"ε":[{"θ":[{"α":[{".":25}]}]}]}]}],"θ":25},10]}],"κ":[{"τ":[{"ε":[{"ί":9,"ί":9}],"ρ":9}]}],"ξ":9,"σ":[{"β":9,"ϐ":9}],"ϲ":[{"β":9,"ϐ":9}]}],"έ":[{"κ":[{"τ":[{"ε":[{"ι":9}],"ρ":9}]}]}],"έ":[{"κ":[{"τ":[{"ε":[{"ι":9}],"ρ":9}]}]}],"ι":[{"π":[{"ρ":[{"ό":[{"σ":[{"θ":11}],"ϲ":[{"θ":11}]}],"ό":[{"σ":[{"θ":11}],"ϲ":[{"θ":11}]}],"ο":[{"σ":[{"θ":11}],"ϲ":[{"θ":11}]}]}]}],"σ":[{"υ":[{"ν":15}]}],"ϲ":[{"υ":[{"ν":15}]}]}]}],"σ":[{"ά":[{"ω":13}],"ά":[{"ω":13}],"η":[{"μ":13}],"θ":[{"έ":[{"σ":14}],"έ":[{"σ":14}]},13],"ι":[{"γ":13}],"κ":[{"ά":14,"ά":14,"α":14},13],"μ":[{"ὲ":[{"ν":[{".":13}]}],"έ":[{"ν":[{".":13}]}],"έ":[{"ν":[{".":13}]}]}],"τ":13,"ό":[{"μ":[{"ε":[{"θ":[{"α":13}]}]},13]}],"ό":[{"μ":[{"ε":[{"θ":[{"α":13}]}]},13]}],"ο":[{"ί":[{"μ":[{"η":[{"ν":13}]}]}],"ί":[{"μ":[{"η":[{"ν":13}]}]}],"μ":13,"ῦ":13,"ύ":13,"ύ":13,"υ":13}],"υ":[{"ν":9},13],"ύ":[{"ν":9},13],"ύ":[{"ν":9},13],"χ":[{"έ":14,"έ":14},13],"ώ":13,"ώ":13,"ω":13},12],"ϲ":[{"ά":[{"ω":13}],"ά":[{"ω":13}],"η":[{"μ":13}],"θ":[{"έ":[{"ϲ":14}],"έ":[{"ϲ":14}]},13],"ι":[{"γ":13}],"κ":[{"ά":14,"ά":14,"α":14},13],"μ":[{"ὲ":[{"ν":[{".":13}]}],"έ":[{"ν":[{".":13}]}],"έ":[{"ν":[{".":13}]}]}],"τ":13,"ό":[{"μ":[{"ε":[{"θ":[{"α":13}]}]},13]}],"ό":[{"μ":[{"ε":[{"θ":[{"α":13}]}]},13]}],"ο":[{"ί":[{"μ":[{"η":[{"ν":13}]}]}],"ί":[{"μ":[{"η":[{"ν":13}]}]}],"μ":13,"ῦ":13,"ύ":13,"ύ":13,"υ":13}],"υ":[{"ν":9},13],"ύ":[{"ν":9},13],"ύ":[{"ν":9},13],"χ":[{"έ":14,"έ":14},13],"ώ":13,"ώ":13,"ω":13},12],"ω":[{"σ":[{"φ":26}],"ϲ":[{"φ":26}]}]},0],"ἑ":[{"ι":2,"υ":2,"λ":[{"λ":[{"ή":[{"σ":[{"π":10}],"ϲ":[{"π":10}]}],"ή":[{"σ":[{"π":10}],"ϲ":[{"π":10}]}],"η":[{"σ":[{"π":10}],"ϲ":[{"π":10}]}]}]}],"ξ":[{"ή":[{"ρ":[{"ε":[{"τ":[{"μ":12}]}]}]}],"ή":[{"ρ":[{"ε":[{"τ":[{"μ":12}]}]}]}],"η":[{"ρ":[{"έ":[{"τ":[{"μ":12}]}],"έ":[{"τ":[{"μ":12}]}]}]}]}]},0],"ἒ":0,"ἓ":0,"ἔ":[{"κ":[{"λ":[{"ε":[{"ι":[{"σ":13,"ϲ":13},12]}],"υ":[{"σ":12,"ϲ":12}]}],"μ":12,"ν":[{"α":[{"ι":13}],"η":[{"σ":13,"ϲ":13}]},12],"ρ":[{"α":[{"ζ":13,"γ":13,"ι":13,"ν":13}],"ε":[{"κ":13,"ξ":13}],"ι":[{"ν":13}],"ο":[{"υ":13}],"υ":[{"π":13,"ψ":13}],"ω":[{"ζ":13,"ξ":13}]},12],"τ":[{"α":[{"μ":[{"ε":[{".":12}]}]}],"ι":[{"ζ":13,"σ":[{"α":13}],"ϲ":[{"α":13}]},12],"ο":12,"υ":[{"π":[{"ο":12,"ε":[{".":12}],"α":[{".":12}]}]}]}]}],"ν":[{"α":[{"ρ":[{"α":[{".":13}]}],"σ":[{"σ":13}],"ϲ":[{"ϲ":13}],"τ":13}],"ε":[{"ι":[{"κ":13,"μ":13}],"ρ":[{"θ":[{"ε":13}]}],"υ":[{"σ":13,"ϲ":13}]}],"η":[{"σ":[{".":13},13],"ϲ":[{".":13},13],"ν":[{".":13}],"ς":[{".":13}],".":13}],"ι":13,"ο":[{"ς":[{".":13}],"ϲ":[{".":13,"ι":13}],"σ":[{".":13,"ι":13}],"υ":[{".":13}],"ν":[{".":13}],"ι":[{".":13,"ς":[{".":13}],"ϲ":[{".":13}],"σ":[{".":13}]}]}],"ω":13,"ῃ":[{".":13}],"υ":[{"ξ":13}]},12],"ξ":[{"υ":[{"σ":13,"ϲ":13}],"ω":[{".":13}]},12],"σ":[{"ο":[{"π":12}]}],"ϲ":[{"ο":[{"π":12}]}]},0],"ἕ":0,"ἠ":[{"υ":2,"ν":[{"ό":[{"π":12}],"ό":[{"π":12}]}]},0],"ἡ":[{"υ":2,"τ":[{"ι":[{"σ":[{"ο":[{"ῦ":[{"ν":[{".":9}]}]}]}],"ϲ":[{"ο":[{"ῦ":[{"ν":[{".":9}]}]}]}]}]}]},0],"ἢ":0,"ἣ":0,"ἤ":[{"ν":[{"ο":[{"ψ":[{".":12}],"π":12}]}]},0],"ἥ":0,"ἦ":0,"ἧ":[{"σ":[{"τ":[{"ι":[{"ν":[{"ο":[{"ς":12}]}]}]}]}],"ϲ":[{"τ":[{"ι":[{"ν":[{"ο":[{"ϲ":12}]}]}]}]}]},0],"ἰ":0,"ἱ":0,"ἲ":0,"ἳ":0,"ἴ":0,"ἵ":0,"ἶ":0,"ἷ":0,"ὀ":[{"ι":2,"υ":[{"ι":4},2]},0],"ὁ":[{"ι":2,"υ":[{"ι":4},2],"λ":[{"ο":[{"ν":[{"έ":[{"ν":[{".":9}]}],"έ":[{"ν":[{".":9}]}],"ὲ":[{"ν":[{".":9}]}]}]}]}],"π":[{"ω":[{"σ":9,"ϲ":9}],"ο":[{"ι":[{"ο":[{"υ":[{"σ":[{"τ":[{"ι":[{"ν":[{"α":[{"σ":[{"ο":[{"ῦ":[{"ν":[{".":33}]}]}]}]}]}]}]}]}],"ϲ":[{"τ":[{"ι":[{"ν":[{"α":[{"ϲ":[{"ο":[{"ῦ":[{"ν":[{".":33}]}]}]}]}]}]}]}]}]}]}]}]}]}],"σ":[{"ο":[{"ν":[{"ῶ":[{"ν":[{".":9}]}]}]}],"τ":[{"ι":[{"σ":[{"ο":[{"ῦ":[{"ν":[{".":16}]}]}]}]}]}]}],"ϲ":[{"ο":[{"ν":[{"ῶ":[{"ν":[{".":9}]}]}]}],"τ":[{"ι":[{"ϲ":[{"ο":[{"ῦ":[{"ν":[{".":16}]}]}]}]}]}]}]},0],"ὂ":0,"ὃ":0,"ὄ":0,"ὅ":[{"σ":[{"γ":[{"ε":[{".":12}]}],"π":[{"ε":[{"ρ":[{".":12}]}]}],"τ":[{"ι":[{"ς":12}]}]}],"ϲ":[{"γ":[{"ε":[{".":12}]}],"π":[{"ε":[{"ρ":[{".":12}]}]}],"τ":[{"ι":[{"ϲ":12}]}]}]},0],"ὐ":[{"ι":2},0],"ὑ":[{"ι":2,"ο":[{"σ":[{"κ":26}],"ϲ":[{"κ":26}]}],"π":[{"ε":[{"ί":[{"σ":[{"α":[{"ς":25,"σ":25,"ν":25}]},10],"ϲ":[{"α":[{"ϲ":25,"ν":25}]},10]}],"ί":[{"σ":[{"α":[{"ς":25,"σ":25,"ν":25}]},10],"ϲ":[{"α":[{"ϲ":25,"ν":25}]},10]}],"ι":[{"σ":[{"ά":[{"ν":25,"σ":25}],"ά":[{"ν":25,"σ":25}]},10],"ϲ":[{"ά":[{"ν":25,"ϲ":25}],"ά":[{"ν":25,"ϲ":25}]},10]}],"κ":[{"λ":[{"α":[{"μ":9}],"ή":[{"ψ":9}],"ή":[{"ψ":9}]}],"τ":9}],"ν":9,"ξ":9,"ρ":[{"ῶ":[{"ν":[{".":28}]},28],"ε":[{"θ":28,"ί":28,"ί":28,"κ":[{"τ":[{"ε":15,"ί":15,"ί":15}]}],"π":[{"τ":28}],"ψ":28,"ῖ":[{"ς":[{".":28}],"ϲ":[{".":28}],"σ":[{".":28}],".":28,"τ":28}]}],"έ":[{"θ":28,"π":[{"τ":28}],"ψ":28,"ω":28,"ε":28,"ο":28}],"έ":[{"θ":28,"π":[{"τ":28}],"ψ":28,"ω":28,"ε":28,"ο":28}],"ύ":[{"θ":28}],"ύ":[{"θ":28}],"υ":[{"θ":28}],"ο":[{"ῦ":28}],"ώ":28,"ώ":28,"ω":28},9]}],"έ":[{"ρ":[{"α":[{".":28,"ν":[{".":28}],"ι":[{".":28,"ς":[{".":28}],"ϲ":[{".":28}],"σ":[{".":28}]}],"ς":[{".":28}],"ϲ":[{".":28}],"σ":[{".":28}]}],"η":[{"ς":[{".":28}],"ϲ":[{".":28}],"σ":[{".":28}]}],"ᾳ":[{".":28}],"υ":[{"θ":28}]},9]}],"έ":[{"ρ":[{"α":[{".":28,"ν":[{".":28}],"ι":[{".":28,"ς":[{".":28}],"ϲ":[{".":28}],"σ":[{".":28}]}],"ς":[{".":28}],"ϲ":[{".":28}],"σ":[{".":28}]}],"η":[{"ς":[{".":28}],"ϲ":[{".":28}],"σ":[{".":28}]}],"ᾳ":[{".":28}],"υ":[{"θ":28}]},9]}]}],"σ":[{"τ":[{"ρ":12}]}],"ϲ":[{"τ":[{"ρ":12}]}]},0],"ὒ":0,"ὓ":0,"ὔ":0,"ὕ":[{"σ":[{"τ":[{"ρ":12}]}],"ϲ":[{"τ":[{"ρ":12}]}]},0],"ὖ":0,"ὗ":0,"ὠ":0,"ὡ":[{"σ":[{"α":[{"ν":[{"ε":[{"ί":[{".":18}],"ί":[{".":18}],"ὶ":[{".":18}]}]}],"ύ":[{"τ":[{"ω":[{"ς":[{".":12}],"σ":[{".":12}]}]}]}],"ύ":[{"τ":[{"ω":[{"ς":[{".":12}],"σ":[{".":12}]}]}]}]}],"ε":[{"ί":[{".":12}],"ί":[{".":12}],"ὶ":[{".":12}]}],"π":[{"ε":[{"ρ":[{"ε":[{"ί":[{".":16}],"ί":[{".":16}],"ὶ":[{".":16}]}]}]}]}]}],"ϲ":[{"α":[{"ν":[{"ε":[{"ί":[{".":18}],"ί":[{".":18}],"ὶ":[{".":18}]}]}],"ύ":[{"τ":[{"ω":[{"ϲ":[{".":12}]}]}]}],"ύ":[{"τ":[{"ω":[{"ϲ":[{".":12}]}]}]}]}],"ε":[{"ί":[{".":12}],"ί":[{".":12}],"ὶ":[{".":12}]}],"π":[{"ε":[{"ρ":[{"ε":[{"ί":[{".":16}],"ί":[{".":16}],"ὶ":[{".":16}]}]}]}]}]}]},0],"ὢ":0,"ὣ":0,"ὤ":0,"ὥ":[{"σ":[{"π":[{"ε":[{"ρ":[{".":12}]}]}],"τ":[{"ε":12}]}],"ϲ":[{"π":[{"ε":[{"ρ":[{".":12}]}]}],"τ":[{"ε":12}]}]},0],"ὦ":0,"ὧ":0,"ὰ":0,"ὲ":0,"ὴ":0,"ὶ":0,"ὸ":0,"ὺ":0,"ὼ":0,"ᾀ":0,"ᾁ":0,"ᾂ":0,"ᾃ":0,"ᾄ":0,"ᾅ":0,"ᾆ":0,"ᾇ":0,"ᾐ":0,"ᾑ":0,"ᾒ":0,"ᾓ":0,"ᾔ":0,"ᾕ":0,"ᾖ":0,"ᾗ":0,"ᾠ":0,"ᾡ":0,"ᾢ":0,"ᾣ":0,"ᾤ":0,"ᾥ":0,"ᾦ":0,"ᾧ":0,"ᾲ":0,"ᾳ":0,"ᾴ":0,"ᾶ":[{"ι":2,"υ":2},0],"ᾷ":0,"ῂ":0,"ῃ":0,"ῄ":0,"ῆ":[{"υ":2},0],"ῇ":0,"ῒ":0,"ῖ":0,"ῗ":0,"ῢ":0,"ῦ":[{"ι":2},0],"ῧ":0,"ῲ":0,"ῳ":0,"ῴ":0,"ῶ":0,"ῷ":0,"ά":[{"ι":2,"υ":2},0],"έ":[{"ι":2,"υ":2},0],"ή":[{"υ":2},0],"ί":0,"ό":[{"ι":2,"υ":[{"ι":4},2]},0],"ύ":[{"ι":2},0],"ώ":0,"ΐ":0,"ΰ":0,"ά":[{"ι":2,"υ":2},0],"έ":[{"ι":2,"υ":2},0],"ή":[{"υ":2},0],"ί":0,"ό":[{"ι":2,"υ":[{"ι":4},2]},0],"ύ":[{"ι":2},0],"ώ":0,"ΐ":0,"ΰ":0,"β":[{".":5,"\'":5,"ʼ":5,"᾿":5,"β":7,"γ":7,"ζ":7,"θ":7,"κ":7,"ξ":7,"π":7,"σ":7,"ϲ":7,"τ":7,"φ":7,"χ":7,"ψ":7,"δ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"λ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"μ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"ν":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"ρ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}]}],"ϐ":[{".":5,"\'":5,"ʼ":5,"᾿":5,"ϐ":7,"γ":7,"ζ":7,"θ":7,"κ":7,"ξ":7,"π":7,"σ":7,"ϲ":7,"τ":7,"φ":7,"χ":7,"ψ":7,"δ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"λ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"μ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"ν":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"ρ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}]}],"γ":[{".":5,"\'":5,"ʼ":5,"᾿":5,"γ":7,"β":7,"ϐ":7,"ζ":7,"θ":7,"κ":7,"ξ":7,"π":7,"σ":7,"ϲ":7,"τ":7,"φ":7,"χ":7,"ψ":7,"δ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"λ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"μ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"ν":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"ρ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}]}],"δ":[{".":5,"\'":5,"ʼ":5,"᾿":5,"δ":7,"β":7,"ϐ":7,"γ":7,"ζ":7,"θ":7,"κ":7,"λ":7,"ξ":7,"π":7,"σ":7,"ϲ":7,"τ":7,"φ":7,"χ":7,"ψ":7,"μ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"ν":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"ρ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"ύ":[{"σ":[{"ω":[{".":27,"ν":[{".":27}],"μ":[{"ε":[{"ν":[{".":27}]}],"α":[{"ι":[{".":27}]}]}],"σ":[{"ι":[{".":27}]}]}],"ε":[{"ι":[{"ς":[{".":27}],"σ":[{".":27}],".":27,"ν":[{".":27}],"α":[{"ς":[{".":27}],"σ":[{".":27}],"ν":[{".":27}]}],"ε":[{".":27}]}],"σ":[{"θ":[{"α":[{"ι":[{".":27}]}]}],"ι":[{".":27,"ν":[{".":27}]}]}],"τ":[{"ο":[{".":27}]}],"ο":[{".":27}],"ω":27}],"ο":[{"μ":[{"ε":[{"ν":[{".":27}]}],"α":[{"ι":[{".":27}]}]}],"υ":[{"σ":[{"ι":[{"ν":[{".":27}]}]},27]}],"ι":[{"μ":[{"ι":[{".":27}],"ε":[{"ν":[{".":27}]}]}],"ς":[{".":27}],"σ":[{".":27,"θ":[{"ο":[{"ν":[{".":27}]}],"ε":[{".":27}]}]}],".":27,"τ":[{"ο":[{"ν":[{".":27}],".":27}],"ε":[{".":27}]}],"ε":[{"ν":[{".":27}]}],"ο":[{".":27}],"ν":[{"τ":[{"ο":[{".":27}]}]}]}],"ν":[{".":27,"τ":[{"α":[{"ι":[{".":27}]}]}]},27]}],"ῃ":27,"η":[{"τ":[{"ο":[{"ν":[{".":27}]}],"α":[{"ι":[{".":27}]}]}],"σ":[{"θ":[{"ε":[{".":27}]}]}]}],"α":[{"ι":[{"μ":[{"ι":[{".":27}],"ε":[{"ν":[{".":27}]}]}],"ς":[{".":27}],"σ":[{".":27,"θ":[{"ο":[{"ν":[{".":27}]}],"α":[{"ι":[{".":27}]}]}]}],".":27,"τ":[{"ο":[{"ν":[{".":27}],".":27}],"ε":[{".":27}]}],"ε":[{"ν":27}],"ο":[{".":27}],"ν":[{"τ":[{"ο":[{".":27}]}]}]}],"τ":[{"ο":[{"ν":[{".":27}],".":27}],"ε":[{".":27}]}],"ς":[{".":27}],"ν":[{".":27,"τ":[{"ο":[{".":27}]},27]}],"σ":[{"θ":[{"ο":[{"ν":[{".":27}]}],"ε":[{".":27}],"α":[{"ι":[{".":27}]}]}]},27]}],"ι":[{"ς":[{".":27}],"σ":[{".":27}],"ν":[{".":27}],".":27}]}],"ϲ":[{"ω":[{".":27,"ν":[{".":27}],"μ":[{"ε":[{"ν":[{".":27}]}],"α":[{"ι":[{".":27}]}]}],"ϲ":[{"ι":[{".":27}]}]}],"ε":[{"ι":[{"ϲ":[{".":27}],".":27,"ν":[{".":27}],"α":[{"ϲ":[{".":27}],"ν":[{".":27}]}],"ε":[{".":27}]}],"ϲ":[{"θ":[{"α":[{"ι":[{".":27}]}]}],"ι":[{".":27,"ν":[{".":27}]}]}],"τ":[{"ο":[{".":27}]}],"ο":[{".":27}],"ω":27}],"ο":[{"μ":[{"ε":[{"ν":[{".":27}]}],"α":[{"ι":[{".":27}]}]}],"υ":[{"ϲ":[{"ι":[{"ν":[{".":27}]}]},27]}],"ι":[{"μ":[{"ι":[{".":27}],"ε":[{"ν":[{".":27}]}]}],"ϲ":[{".":27,"θ":[{"ο":[{"ν":[{".":27}]}],"ε":[{".":27}]}]}],".":27,"τ":[{"ο":[{"ν":[{".":27}],".":27}],"ε":[{".":27}]}],"ε":[{"ν":[{".":27}]}],"ο":[{".":27}],"ν":[{"τ":[{"ο":[{".":27}]}]}]}],"ν":[{".":27,"τ":[{"α":[{"ι":[{".":27}]}]}]},27]}],"ῃ":27,"η":[{"τ":[{"ο":[{"ν":[{".":27}]}],"α":[{"ι":[{".":27}]}]}],"ϲ":[{"θ":[{"ε":[{".":27}]}]}]}],"α":[{"ι":[{"μ":[{"ι":[{".":27}],"ε":[{"ν":[{".":27}]}]}],"ϲ":[{".":27,"θ":[{"ο":[{"ν":[{".":27}]}],"α":[{"ι":[{".":27}]}]}]}],".":27,"τ":[{"ο":[{"ν":[{".":27}],".":27}],"ε":[{".":27}]}],"ε":[{"ν":27}],"ο":[{".":27}],"ν":[{"τ":[{"ο":[{".":27}]}]}]}],"τ":[{"ο":[{"ν":[{".":27}],".":27}],"ε":[{".":27}]}],"ϲ":[{".":27,"θ":[{"ο":[{"ν":[{".":27}]}],"ε":[{".":27}],"α":[{"ι":[{".":27}]}]}]},27],"ν":[{".":27,"τ":[{"ο":[{".":27}]},27]}]}],"ι":[{"ϲ":[{".":27}],"ν":[{".":27}],".":27}]}]}],"ύ":[{"σ":[{"ω":[{".":27,"ν":[{".":27}],"μ":[{"ε":[{"ν":[{".":27}]}],"α":[{"ι":[{".":27}]}]}],"σ":[{"ι":[{".":27}]}]}],"ε":[{"ι":[{"ς":[{".":27}],"σ":[{".":27}],".":27,"ν":[{".":27}],"α":[{"ς":[{".":27}],"σ":[{".":27}],"ν":[{".":27}]}],"ε":[{".":27}]}],"σ":[{"θ":[{"α":[{"ι":[{".":27}]}]}],"ι":[{".":27,"ν":[{".":27}]}]}],"τ":[{"ο":[{".":27}]}],"ο":[{".":27}],"ω":27}],"ο":[{"μ":[{"ε":[{"ν":[{".":27}]}],"α":[{"ι":[{".":27}]}]}],"υ":[{"σ":[{"ι":[{"ν":[{".":27}]}]},27]}],"ι":[{"μ":[{"ι":[{".":27}],"ε":[{"ν":[{".":27}]}]}],"ς":[{".":27}],"σ":[{".":27,"θ":[{"ο":[{"ν":[{".":27}]}],"ε":[{".":27}]}]}],".":27,"τ":[{"ο":[{"ν":[{".":27}],".":27}],"ε":[{".":27}]}],"ε":[{"ν":[{".":27}]}],"ο":[{".":27}],"ν":[{"τ":[{"ο":[{".":27}]}]}]}],"ν":[{".":27,"τ":[{"α":[{"ι":[{".":27}]}]}]},27]}],"ῃ":27,"η":[{"τ":[{"ο":[{"ν":[{".":27}]}],"α":[{"ι":[{".":27}]}]}],"σ":[{"θ":[{"ε":[{".":27}]}]}]}],"α":[{"ι":[{"μ":[{"ι":[{".":27}],"ε":[{"ν":[{".":27}]}]}],"ς":[{".":27}],"σ":[{".":27,"θ":[{"ο":[{"ν":[{".":27}]}],"α":[{"ι":[{".":27}]}]}]}],".":27,"τ":[{"ο":[{"ν":[{".":27}],".":27}],"ε":[{".":27}]}],"ε":[{"ν":27}],"ο":[{".":27}],"ν":[{"τ":[{"ο":[{".":27}]}]}]}],"τ":[{"ο":[{"ν":[{".":27}],".":27}],"ε":[{".":27}]}],"ς":[{".":27}],"ν":[{".":27,"τ":[{"ο":[{".":27}]},27]}],"σ":[{"θ":[{"ο":[{"ν":[{".":27}]}],"ε":[{".":27}],"α":[{"ι":[{".":27}]}]}]},27]}],"ι":[{"ς":[{".":27}],"σ":[{".":27}],"ν":[{".":27}],".":27}]}],"ϲ":[{"ω":[{".":27,"ν":[{".":27}],"μ":[{"ε":[{"ν":[{".":27}]}],"α":[{"ι":[{".":27}]}]}],"ϲ":[{"ι":[{".":27}]}]}],"ε":[{"ι":[{"ϲ":[{".":27}],".":27,"ν":[{".":27}],"α":[{"ϲ":[{".":27}],"ν":[{".":27}]}],"ε":[{".":27}]}],"ϲ":[{"θ":[{"α":[{"ι":[{".":27}]}]}],"ι":[{".":27,"ν":[{".":27}]}]}],"τ":[{"ο":[{".":27}]}],"ο":[{".":27}],"ω":27}],"ο":[{"μ":[{"ε":[{"ν":[{".":27}]}],"α":[{"ι":[{".":27}]}]}],"υ":[{"ϲ":[{"ι":[{"ν":[{".":27}]}]},27]}],"ι":[{"μ":[{"ι":[{".":27}],"ε":[{"ν":[{".":27}]}]}],"ϲ":[{".":27,"θ":[{"ο":[{"ν":[{".":27}]}],"ε":[{".":27}]}]}],".":27,"τ":[{"ο":[{"ν":[{".":27}],".":27}],"ε":[{".":27}]}],"ε":[{"ν":[{".":27}]}],"ο":[{".":27}],"ν":[{"τ":[{"ο":[{".":27}]}]}]}],"ν":[{".":27,"τ":[{"α":[{"ι":[{".":27}]}]}]},27]}],"ῃ":27,"η":[{"τ":[{"ο":[{"ν":[{".":27}]}],"α":[{"ι":[{".":27}]}]}],"ϲ":[{"θ":[{"ε":[{".":27}]}]}]}],"α":[{"ι":[{"μ":[{"ι":[{".":27}],"ε":[{"ν":[{".":27}]}]}],"ϲ":[{".":27,"θ":[{"ο":[{"ν":[{".":27}]}],"α":[{"ι":[{".":27}]}]}]}],".":27,"τ":[{"ο":[{"ν":[{".":27}],".":27}],"ε":[{".":27}]}],"ε":[{"ν":27}],"ο":[{".":27}],"ν":[{"τ":[{"ο":[{".":27}]}]}]}],"τ":[{"ο":[{"ν":[{".":27}],".":27}],"ε":[{".":27}]}],"ϲ":[{".":27,"θ":[{"ο":[{"ν":[{".":27}]}],"ε":[{".":27}],"α":[{"ι":[{".":27}]}]}]},27],"ν":[{".":27,"τ":[{"ο":[{".":27}]},27]}]}],"ι":[{"ϲ":[{".":27}],"ν":[{".":27}],".":27}]}]}],"υ":[{"σ":[{"ο":[{"ί":[{"τ":[{"η":[{"ν":[{".":27}]}]}],"μ":[{"η":[{"ν":[{".":27}]}],"ε":[{"θ":[{"α":[{".":27}]}]}]}],"σ":[{"θ":[{"η":[{"ν":[{".":27}]}]}]}]}],"ί":[{"τ":[{"η":[{"ν":[{".":27}]}]}],"μ":[{"η":[{"ν":[{".":27}]}],"ε":[{"θ":[{"α":[{".":27}]}]}]}],"σ":[{"θ":[{"η":[{"ν":[{".":27}]}]}]}]}],"ύ":[{"σ":27}],"ύ":[{"σ":27}]}],"ό":[{"ν":27,"μ":[{"ε":[{"θ":[{"α":[{".":27}]}]}]}]}],"ό":[{"ν":27,"μ":[{"ε":[{"θ":[{"α":[{".":27}]}]}]}]}],"α":[{"ί":[{"τ":[{"η":[{"ν":[{".":27}]}]}],"μ":[{"η":[{"ν":[{".":27}]}],"ε":[{"θ":[{"α":[{".":27}]}]}]}],"σ":[{"θ":[{"η":[{"ν":[{".":27}]}]}]}]}],"ί":[{"τ":[{"η":[{"ν":[{".":27}]}]}],"μ":[{"η":[{"ν":[{".":27}]}],"ε":[{"θ":[{"α":[{".":27}]}]}]}],"σ":[{"θ":[{"η":[{"ν":[{".":27}]}]}]}]}]}],"ά":[{"τ":[{"ω":[{".":27,"ν":[{".":27}]}]}],"ν":[{"τ":[{"ω":[{"ν":[{".":27}]}]},27]}],"σ":[{"θ":[{"ω":[{".":27,"ν":[{".":27}]}]}]},27],"μ":[{"ε":[{"ν":27}]}]}],"ά":[{"τ":[{"ω":[{".":27,"ν":[{".":27}]}]}],"ν":[{"τ":[{"ω":[{"ν":[{".":27}]}]},27]}],"σ":[{"θ":[{"ω":[{".":27,"ν":[{".":27}]}]}]},27],"μ":[{"ε":[{"ν":27}]}]}],"ώ":[{"μ":[{"ε":[{"θ":[{"α":27}]}]}]}],"ώ":[{"μ":[{"ε":[{"θ":[{"α":27}]}]}]}],"σ":[{"α":[{"μ":[{"έ":[{"ν":28}],"έ":[{"ν":28}]}]}]}],"έ":[{"ο":[{"ι":[{"ν":[{".":27}]}]}]}],"έ":[{"ο":[{"ι":[{"ν":[{".":27}]}]}]}]}],"ϲ":[{"ο":[{"ί":[{"τ":[{"η":[{"ν":[{".":27}]}]}],"μ":[{"η":[{"ν":[{".":27}]}],"ε":[{"θ":[{"α":[{".":27}]}]}]}],"ϲ":[{"θ":[{"η":[{"ν":[{".":27}]}]}]}]}],"ί":[{"τ":[{"η":[{"ν":[{".":27}]}]}],"μ":[{"η":[{"ν":[{".":27}]}],"ε":[{"θ":[{"α":[{".":27}]}]}]}],"ϲ":[{"θ":[{"η":[{"ν":[{".":27}]}]}]}]}],"ύ":[{"ϲ":27}],"ύ":[{"ϲ":27}]}],"ό":[{"ν":27,"μ":[{"ε":[{"θ":[{"α":[{".":27}]}]}]}]}],"ό":[{"ν":27,"μ":[{"ε":[{"θ":[{"α":[{".":27}]}]}]}]}],"α":[{"ί":[{"τ":[{"η":[{"ν":[{".":27}]}]}],"μ":[{"η":[{"ν":[{".":27}]}],"ε":[{"θ":[{"α":[{".":27}]}]}]}],"ϲ":[{"θ":[{"η":[{"ν":[{".":27}]}]}]}]}],"ί":[{"τ":[{"η":[{"ν":[{".":27}]}]}],"μ":[{"η":[{"ν":[{".":27}]}],"ε":[{"θ":[{"α":[{".":27}]}]}]}],"ϲ":[{"θ":[{"η":[{"ν":[{".":27}]}]}]}]}]}],"ά":[{"τ":[{"ω":[{".":27,"ν":[{".":27}]}]}],"ν":[{"τ":[{"ω":[{"ν":[{".":27}]}]},27]}],"ϲ":[{"θ":[{"ω":[{".":27,"ν":[{".":27}]}]}]},27],"μ":[{"ε":[{"ν":27}]}]}],"ά":[{"τ":[{"ω":[{".":27,"ν":[{".":27}]}]}],"ν":[{"τ":[{"ω":[{"ν":[{".":27}]}]},27]}],"ϲ":[{"θ":[{"ω":[{".":27,"ν":[{".":27}]}]}]},27],"μ":[{"ε":[{"ν":27}]}]}],"ώ":[{"μ":[{"ε":[{"θ":[{"α":27}]}]}]}],"ώ":[{"μ":[{"ε":[{"θ":[{"α":27}]}]}]}],"ϲ":[{"α":[{"μ":[{"έ":[{"ν":28}],"έ":[{"ν":28}]}]}]}],"έ":[{"ο":[{"ι":[{"ν":[{".":27}]}]}]}],"έ":[{"ο":[{"ι":[{"ν":[{".":27}]}]}]}]}]}]}],"ζ":[{".":5,"\'":5,"ʼ":5,"᾿":5,"ζ":7,"β":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5},7],"ϐ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5},7],"γ":7,"δ":7,"θ":7,"κ":7,"λ":7,"μ":7,"ν":7,"ξ":7,"π":7,"ρ":7,"σ":7,"ϲ":7,"τ":7,"φ":7,"χ":7,"ψ":7}],"θ":[{".":5,"\'":5,"ʼ":5,"᾿":5,"θ":7,"β":7,"ϐ":7,"γ":7,"δ":7,"ζ":7,"κ":7,"ξ":7,"π":7,"σ":7,"ϲ":7,"τ":7,"φ":7,"χ":7,"ψ":7,"λ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"ν":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"ρ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}]}],"κ":[{".":5,"\'":5,"ʼ":5,"᾿":5,"κ":7,"β":7,"ϐ":7,"γ":7,"δ":7,"ζ":7,"θ":7,"ξ":7,"π":7,"σ":7,"ϲ":7,"φ":7,"χ":7,"ψ":7,"λ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"μ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"ν":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"ρ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"τ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}]}],"λ":[{".":5,"\'":5,"ʼ":5,"᾿":5,"λ":7,"β":7,"ϐ":7,"γ":7,"δ":7,"ζ":7,"θ":7,"κ":7,"μ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5},7],"ν":7,"ξ":7,"π":7,"ρ":7,"σ":7,"ϲ":7,"τ":7,"φ":7,"χ":7,"ψ":7}],"μ":[{".":5,"\'":5,"ʼ":5,"᾿":5,"μ":7,"β":7,"ϐ":7,"γ":7,"δ":7,"ζ":7,"θ":7,"κ":7,"λ":7,"ξ":7,"π":7,"ρ":7,"σ":7,"ϲ":7,"τ":7,"φ":7,"χ":7,"ψ":7,"ν":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}]}],"ν":[{".":5,"\'":5,"ʼ":5,"᾿":5,"ν":7,"β":7,"ϐ":7,"γ":7,"δ":7,"ζ":7,"θ":7,"κ":7,"λ":7,"μ":7,"ξ":7,"π":7,"ρ":7,"σ":7,"ϲ":[{".":8},7],"ς":[{".":8}],"τ":7,"φ":7,"χ":7,"ψ":7}],"ξ":[{".":5,"\'":5,"ʼ":5,"᾿":5,"β":7,"ϐ":7,"γ":7,"δ":7,"ζ":7,"θ":7,"κ":7,"λ":7,"μ":7,"ν":7,"π":7,"ρ":7,"σ":7,"ϲ":7,"τ":7,"φ":7,"χ":7,"ψ":7}],"π":[{".":5,"\'":5,"ʼ":5,"᾿":5,"π":7,"β":7,"ϐ":7,"γ":7,"δ":7,"ζ":7,"θ":7,"κ":7,"ξ":7,"σ":7,"ϲ":7,"φ":7,"χ":7,"ψ":7,"λ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"μ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"ν":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"ρ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"τ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"α":[{"ρ":[{"έ":[{"ξ":[{"ω":[{".":25}],"ε":[{"ι":[{"ς":[{".":25}],"ϲ":[{".":25}],"σ":[{".":25}],".":25}],"τ":[{"ο":[{"ν":[{".":25}]}],"ε":[{".":25}],"α":[{"ι":[{".":25}]}]}],"σ":[{"θ":[{"ο":[{"ν":[{".":25}]}],"ε":[{".":25}]}]}],"ϲ":[{"θ":[{"ο":[{"ν":[{".":25}]}],"ε":[{".":25}]}]}]}],"ο":[{"μ":[{"ε":[{"ν":[{".":25}]}],"α":[{"ι":25}]}],"υ":[{"σ":[{"ι":[{".":25}]}],"ϲ":[{"ι":[{".":25}]}]}],"ν":[{"τ":[{"α":[{"ι":[{".":25}]}]}]}]}],"ῃ":25}]}],"έ":[{"ξ":[{"ω":[{".":25}],"ε":[{"ι":[{"ς":[{".":25}],"ϲ":[{".":25}],"σ":[{".":25}],".":25}],"τ":[{"ο":[{"ν":[{".":25}]}],"ε":[{".":25}],"α":[{"ι":[{".":25}]}]}],"σ":[{"θ":[{"ο":[{"ν":[{".":25}]}],"ε":[{".":25}]}]}],"ϲ":[{"θ":[{"ο":[{"ν":[{".":25}]}],"ε":[{".":25}]}]}]}],"ο":[{"μ":[{"ε":[{"ν":[{".":25}]}],"α":[{"ι":25}]}],"υ":[{"σ":[{"ι":[{".":25}]}],"ϲ":[{"ι":[{".":25}]}]}],"ν":[{"τ":[{"α":[{"ι":[{".":25}]}]}]}]}],"ῃ":25}]}],"ε":[{"ξ":[{"έ":[{"τ":[{"η":[{"ν":[{".":25}]}]}]}],"έ":[{"τ":[{"η":[{"ν":[{".":25}]}]}]}],"ό":[{"μ":[{"ε":[{"θ":[{"α":[{".":25}]}]}]}]}],"ό":[{"μ":[{"ε":[{"θ":[{"α":[{".":25}]}]}]}]}]}]}]}]}]}],"ρ":[{".":5,"\'":5,"ʼ":5,"᾿":5,"ρ":7,"β":7,"ϐ":7,"γ":7,"δ":7,"ζ":7,"θ":7,"κ":7,"λ":7,"μ":7,"ν":7,"ξ":7,"π":7,"σ":7,"ϲ":7,"τ":7,"φ":7,"χ":7,"ψ":7}],"σ":[{".":5,"\'":5,"ʼ":5,"᾿":5,"σ":7,"δ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5},7],"ζ":7,"λ":7,"ν":7,"ξ":7,"ρ":7,"ψ":7,"β":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"ϐ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"γ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"θ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"κ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"μ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"π":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"τ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"φ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"χ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}]}],"ϲ":[{".":5,"\'":5,"ʼ":5,"᾿":5,"ϲ":7,"δ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5},7],"ζ":7,"λ":7,"ν":7,"ξ":7,"ρ":7,"ψ":7,"β":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"ϐ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"γ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"θ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"κ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"μ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"π":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"τ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"φ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"χ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}]}],"ς":[{".":5}],"τ":[{".":5,"\'":5,"ʼ":5,"᾿":5,"τ":7,"β":7,"ϐ":7,"γ":7,"δ":7,"ζ":7,"θ":7,"κ":7,"ξ":7,"π":7,"σ":7,"ϲ":7,"φ":7,"χ":7,"ψ":7}],"φ":[{".":5,"\'":5,"ʼ":5,"᾿":5,"φ":7,"β":7,"ϐ":7,"γ":7,"δ":7,"ζ":7,"κ":7,"ξ":7,"π":7,"σ":7,"ϲ":7,"τ":7,"χ":7,"ψ":7,"θ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"λ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"μ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"ν":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"ρ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}]}],"χ":[{".":5,"\'":5,"ʼ":5,"᾿":5,"χ":7,"β":7,"ϐ":7,"γ":7,"δ":7,"ζ":7,"κ":7,"ξ":7,"π":7,"σ":7,"ϲ":7,"τ":7,"φ":7,"ψ":7,"θ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"λ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"μ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"ν":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}],"ρ":[{"\'":5,"’":5,"ʼ":5,"᾽":5,"᾿":5}]}],"ψ":[{".":5,"\'":5,"ʼ":5,"᾿":5,"ψ":7,"β":7,"ϐ":7,"γ":7,"δ":7,"ζ":7,"θ":7,"κ":7,"λ":7,"μ":7,"ν":7,"ξ":7,"π":7,"ρ":7,"σ":7,"ϲ":7,"τ":7,"φ":7,"χ":7}],"\'":5,"ʼ":5,"᾿":5,".":[{"β":6,"ϐ":6,"γ":[{"ε":[{"ρ":[{"α":[{"σ":[{"φ":10}],"ϲ":[{"φ":10}]}]}]}]},6],"δ":[{"α":[{"σ":[{"π":26}],"ϲ":[{"π":26}]}],"ι":[{"α":[{"μ":[{"φ":[{"ι":[{"σ":[{"β":11,"ϐ":11}],"ϲ":[{"β":11,"ϐ":11}]}]}]}]}],"έ":[{"κ":[{"ρ":[{"ο":9}]}],"ξ":9}],"έ":[{"κ":[{"ρ":[{"ο":9}]}],"ξ":9}],"ε":[{"κ":[{"ρ":[{"ό":9,"ό":9}]}],"ξ":9}],"κ":[{"α":[{"σ":[{"π":10}],"ϲ":[{"π":10}]}]}],"ό":[{"σ":[{"κ":9,"π":9}],"ϲ":[{"κ":9,"π":9}]}],"ό":[{"σ":[{"κ":9,"π":9}],"ϲ":[{"κ":9,"π":9}]}],"ο":[{"σ":[{"κ":9,"π":9}],"ϲ":[{"κ":9,"π":9}]}],"σ":[{"ά":26,"ά":26,"ή":26,"ή":26,"ε":26,"θ":26}],"ϲ":[{"ά":26,"ά":26,"ή":26,"ή":26,"ε":26,"θ":26}]}],"ί":[{"σ":[{"α":26,"η":26,"ε":26}],"ϲ":[{"α":26,"η":26,"ε":26}]}],"ί":[{"σ":[{"α":26,"η":26,"ε":26}],"ϲ":[{"α":26,"η":26,"ε":26}]}],"ύ":[{"σ":[{"ε":[{"τ":27,"σ":27}],"κ":[{"ε":27}],"τ":[{"α":[{"ν":27}]}]},26],"ϲ":[{"ε":[{"τ":27,"ϲ":27}],"κ":[{"ε":27}],"τ":[{"α":[{"ν":27}]}]},26]}],"ύ":[{"σ":[{"ε":[{"τ":27,"σ":27}],"κ":[{"ε":27}],"τ":[{"α":[{"ν":27}]}]},26],"ϲ":[{"ε":[{"τ":27,"ϲ":27}],"κ":[{"ε":27}],"τ":[{"α":[{"ν":27}]}]},26]}],"υ":[{"σ":[{"ό":[{"μ":[{"ε":[{"ν":27}]}]}],"ό":[{"μ":[{"ε":[{"ν":27}]}]}],"ο":[{"μ":[{"έ":[{"ν":27}],"έ":[{"ν":27}]}]}],"ε":[{"ί":[{"σ":[{"β":15,"ϐ":15}]}],"ί":[{"σ":[{"β":15,"ϐ":15}]}],"ι":[{"σ":[{"β":15,"ϐ":15}]}],"κ":10,"ξ":10}],"έ":[{"κ":10,"ξ":10}],"έ":[{"κ":10,"ξ":10}],"ι":[{"θ":27}],"μ":[{"ή":[{".":27}],"ή":[{".":27}],"ὴ":[{".":27}],"ῆ":[{"ς":[{".":27}],"σ":[{".":27}],".":27}],"ῇ":27,"ᾶ":27,"α":27,"ῶ":27}],"ξ":[{"ύ":[{"ν":15}],"ύ":[{"ν":15}],"υ":[{"ν":15}]}],"τ":[{"ά":[{"ν":27}],"ά":[{"ν":27}],"η":[{"ν":27}],"ή":[{"ν":27}],"ή":[{"ν":27}]}]},26],"ϲ":[{"ό":[{"μ":[{"ε":[{"ν":27}]}]}],"ό":[{"μ":[{"ε":[{"ν":27}]}]}],"ο":[{"μ":[{"έ":[{"ν":27}],"έ":[{"ν":27}]}]}],"ε":[{"ί":[{"ϲ":[{"β":15,"ϐ":15}]}],"ί":[{"ϲ":[{"β":15,"ϐ":15}]}],"ι":[{"ϲ":[{"β":15,"ϐ":15}]}],"κ":10,"ξ":10}],"έ":[{"κ":10,"ξ":10}],"έ":[{"κ":10,"ξ":10}],"ι":[{"θ":27}],"μ":[{"ή":[{".":27}],"ή":[{".":27}],"ὴ":[{".":27}],"ῆ":[{"ϲ":[{".":27}],".":27}],"ῇ":27,"ᾶ":27,"α":27,"ῶ":27}],"ξ":[{"ύ":[{"ν":15}],"ύ":[{"ν":15}],"υ":[{"ν":15}]}],"τ":[{"ά":[{"ν":27}],"ά":[{"ν":27}],"η":[{"ν":27}],"ή":[{"ν":27}],"ή":[{"ν":27}]}]},26]}]},6],"ζ":6,"θ":[{"ε":[{"μ":[{"ι":[{"σ":[{"κ":[{"ρ":10}]}],"ϲ":[{"κ":[{"ρ":10}]}]}]}],"ό":[{"σ":[{"δ":9}],"ϲ":[{"δ":9}]}],"ό":[{"σ":[{"δ":9}],"ϲ":[{"δ":9}]}],"ο":[{"σ":[{"δ":9}],"ϲ":[{"δ":9}],"ι":[{"σ":[{"ε":[{"χ":[{"θ":[{"ρ":10}]}]}]}],"ϲ":[{"ε":[{"χ":[{"θ":[{"ρ":10}]}]}]}]}]}]}],"η":[{"ρ":[{"α":[{"γ":[{"ρ":26}]}]}]}],"υ":[{"ο":[{"σ":[{"κ":9}],"ϲ":[{"κ":9}]}]}]},6],"κ":[{"α":[{"θ":[{"υ":[{"π":[{"ε":[{"ρ":11}]}]}]}],"λ":[{"ω":[{"σ":[{"ο":[{"ρ":10}],"ό":[{"ρ":10}],"ό":[{"ρ":10}]}],"ϲ":[{"ο":[{"ρ":10}],"ό":[{"ρ":10}],"ό":[{"ρ":10}]}]}]}],"ν":[{"ε":[{"ί":[{"ς":[{".":26}],"ϲ":[{".":26}],"σ":[{".":26}]}],"ί":[{"ς":[{".":26}],"ϲ":[{".":26}],"σ":[{".":26}]}],"ὶ":[{"ς":[{".":26}],"ϲ":[{".":26}],"σ":[{".":26}]}],"ν":26}],"έ":[{"ν":26}],"έ":[{"ν":26}]}],"τ":[{"α":[{"δ":[{"υ":[{"σ":[{"ω":[{"π":11}]}],"ϲ":[{"ω":[{"π":11}]}]}]}]}],"ε":[{"δ":[{"υ":[{"σ":[{"ώ":[{"π":11}],"ώ":[{"π":11}]}],"ϲ":[{"ώ":[{"π":11}],"ώ":[{"π":11}]}]}]}],"ι":[{"σ":15,"ϲ":15}],"ν":[{"α":[{"ί":10,"ί":10}],"ή":10,"ή":10}],"ξ":[{"α":[{"ν":[{"ί":32,"ί":32,"έ":[{"σ":32,"ϲ":32}],"έ":[{"σ":32,"ϲ":32}]}]}]}]}]}]}],"ε":[{"ρ":[{"α":[{"σ":[{"φ":10}],"ϲ":[{"φ":10}]}]}]}],"ρ":[{"ά":[{"σ":[{"π":9}],"ϲ":[{"π":9}]}],"ά":[{"σ":[{"π":9}],"ϲ":[{"π":9}]}],"α":[{"σ":[{"π":9}],"ϲ":[{"π":9}]}]}],"υ":[{"ν":[{"ό":[{"σ":[{"α":10,"β":10,"ϐ":10,"ο":10}],"ϲ":[{"α":10,"β":10,"ϐ":10,"ο":10}]}],"ό":[{"σ":[{"α":10,"β":10,"ϐ":10,"ο":10}],"ϲ":[{"α":10,"β":10,"ϐ":10,"ο":10}]}],"ο":[{"σ":[{"β":10,"ϐ":10,"ο":10,"φ":10}],"ϲ":[{"β":10,"ϐ":10,"ο":10,"φ":10}]}]}]}]},6],"λ":6,"μ":[{"ε":[{"λ":[{"α":[{"ν":[{"ά":[{"γ":10,"ε":10}],"ά":[{"γ":10,"ε":10}],"α":[{"γ":10,"έ":10,"έ":10,"θ":10,"ι":[{"γ":10}],"υ":[{"γ":10}]}],"ε":[{"ί":[{"μ":10}],"ί":[{"μ":10}],"ῖ":[{"μ":10}]}],"ί":[{"π":[{"π":10}]}],"ί":[{"π":[{"π":10}]}],"ό":[{"μ":[{"μ":10}],"σ":[{"σ":10,"τ":10}],"ϲ":[{"ϲ":10,"τ":10}]}],"ό":[{"μ":[{"μ":10}],"σ":[{"σ":10,"τ":10}],"ϲ":[{"ϲ":10,"τ":10}]}],"ο":[{"μ":[{"μ":10}],"ύ":[{"ρ":10}],"ύ":[{"ρ":10}],"υ":[{"ρ":10}]}],"ύ":10,"ύ":10}]}],"ά":[{"ν":[{"ι":[{"π":[{"π":10}]}],"ο":[{"σ":[{"σ":10,"τ":10}],"ϲ":[{"ϲ":10,"τ":10}],"υ":[{"ρ":10}]}],"υ":10}]}],"ά":[{"ν":[{"ι":[{"π":[{"π":10}]}],"ο":[{"σ":[{"σ":10,"τ":10}],"ϲ":[{"ϲ":10,"τ":10}],"υ":[{"ρ":10}]}],"υ":10}]}]}],"τ":[{"ε":[{"ξ":[{"α":10,"έ":10,"έ":10,"ε":10}]}]}]}],"ο":[{"γ":[{"ι":[{"σ":10,"ϲ":10}],"ο":[{"σ":[{"τ":10}],"ϲ":[{"τ":10}]}]}]}],"υ":[{"σ":[{"π":26,"ε":[{"π":26}]}],"ϲ":[{"π":26,"ε":[{"π":26}]}]}]},6],"ν":[{"ε":[{"ώ":[{"σ":[{"ο":[{"ι":[{"κ":9}]}]}],"ϲ":[{"ο":[{"ι":[{"κ":9}]}]}]}],"ώ":[{"σ":[{"ο":[{"ι":[{"κ":9}]}]}],"ϲ":[{"ο":[{"ι":[{"κ":9}]}]}]}],"ω":[{"σ":[{"ο":[{"ί":[{"κ":9}],"ί":[{"κ":9}]}]}],"ϲ":[{"ο":[{"ί":[{"κ":9}],"ί":[{"κ":9}]}]}]}]}],"ο":[{"υ":[{"ν":[{"ε":9}]}]}]},6],"ξ":[{"υ":[{"ν":[{"α":[{"γ":26}],"ε":[{"ώ":27,"ώ":27,"ῶ":27},26],"έ":26,"έ":26,"ῆ":[{"κ":26}],"ί":26,"ί":26}]}],"ύ":[{"ν":[{"ε":26,"ι":26}]}],"ύ":[{"ν":[{"ε":26,"ι":26}]}]},6],"π":[{"α":[{"λ":[{"ι":[{"ν":10}],"ί":[{"ν":10}],"ί":[{"ν":10}]}],"ν":[{"ό":[{"ς":[{".":27}],"ϲ":[{".":27}],"σ":[{".":27}],".":27,"ν":[{".":27}]}],"ό":[{"ς":[{".":27}],"ϲ":[{".":27}],"σ":[{".":27}],".":27,"ν":[{".":27}]}],"ὸ":[{"ς":[{".":27}],"ϲ":[{".":27}],"σ":[{".":27}],".":27,"ν":[{".":27}]}],"ί":[{".":27,"σ":[{"δ":27}],"ϲ":[{"δ":27}]}],"ί":[{".":27,"σ":[{"δ":27}],"ϲ":[{"δ":27}]}],"ὶ":[{".":27}],"ῶ":[{"ν":[{".":27}]}],"ι":[{"κ":27,"σ":[{"δ":27}],"ϲ":[{"δ":27}]}],"ο":[{"ῦ":[{".":27}],"ί":[{".":27}],"ί":[{".":27}],"ὶ":[{".":27}],"ῖ":[{"ς":[{".":27}],"ϲ":[{".":27}],"σ":[{".":27}]}],"ύ":[{"ς":[{".":27}],"ϲ":[{".":27}],"σ":[{".":27}]}],"ύ":[{"ς":[{".":27}],"ϲ":[{".":27}],"σ":[{".":27}]}],"ὺ":[{"ς":[{".":27}],"ϲ":[{".":27}],"σ":[{".":27}]}]}],"ῷ":[{".":27}],"έ":[{".":27}],"έ":[{".":27}],"ὲ":[{".":27}]},26],"ρ":[{"α":[{"ν":[{"ί":[{"σ":[{"χ":10}],"ϲ":[{"χ":10}]}],"ί":[{"σ":[{"χ":10}],"ϲ":[{"χ":10}]}]}]}],"ε":[{"ί":[{"σ":15,"ϲ":15}],"ί":[{"σ":15,"ϲ":15}],"ι":[{"σ":15,"ϲ":15}],"κ":[{"λ":10,"τ":[{"ρ":10}]}],"ν":[{"ε":[{"ῖ":10}],"ο":10}],"ξ":10}],"έ":[{"ξ":10}],"έ":[{"ξ":10}]}]}],"ά":[{"ν":[{"α":[{".":29}]},26]}],"ά":[{"ν":[{"α":[{".":29}]},26]}],"λ":[{"ε":[{"ο":[{"ν":[{"έ":10,"έ":10,"ε":10}]}]}]}],"ρ":[{"ο":[{"ε":[{"ι":[{"σ":15,"ϲ":15}],"κ":10,"ν":10,"ξ":10}],"έ":[{"ξ":10}],"έ":[{"ξ":10}],"σ":[{"ά":[{"β":28,"ϐ":28}],"ά":[{"β":28,"ϐ":28}],"α":[{"β":28,"ϐ":28}],"ε":[{"ι":[{"σ":11}],"ί":28,"ί":28,"σ":[{"ε":[{"ί":28,"ί":28}]}],"ν":15,"ξ":15}],"έ":[{"σ":[{"ε":[{"ι":28}]}]}],"έ":[{"σ":[{"ε":[{"ι":28}]}]}],"θ":[{"ί":28,"ί":28,"ι":[{"γ":34}]}],"κ":[{"ό":[{"π":28}],"ό":[{"π":28}]}],"τ":[{"α":[{"σ":28,"τ":28,"υ":28}],"ά":[{"τ":28}],"ά":[{"τ":28}],"ε":[{"ί":28,"ί":28,"ν":28,"ρ":[{"ν":28}]}],"έ":[{"ν":28,"ρ":[{"ν":28}]}],"έ":[{"ν":28,"ρ":[{"ν":28}]}],"ή":[{"σ":28}],"ή":[{"σ":28}],"ό":[{"μ":28}],"ό":[{"μ":28}],"ο":[{"μ":28}],"ῴ":28}],"υ":[{"γ":28,"μ":28,"ν":35}],"φ":[{"ά":[{"γ":[{"μ":28}],"ζ":28,"τ":[{"τ":28}]}],"ά":[{"γ":[{"μ":28}],"ζ":28,"τ":[{"τ":28}]}]}],"χ":[{"ή":[{"μ":28}],"ή":[{"μ":28}]}],"ώ":[{"τ":28}],"ώ":[{"τ":28}],"ω":[{"τ":28}]},9],"ϲ":[{"ά":[{"β":28,"ϐ":28}],"ά":[{"β":28,"ϐ":28}],"α":[{"β":28,"ϐ":28}],"ε":[{"ι":[{"ϲ":11}],"ί":28,"ί":28,"ϲ":[{"ε":[{"ί":28,"ί":28}]}],"ν":15,"ξ":15}],"έ":[{"ϲ":[{"ε":[{"ι":28}]}]}],"έ":[{"ϲ":[{"ε":[{"ι":28}]}]}],"θ":[{"ί":28,"ί":28,"ι":[{"γ":34}]}],"κ":[{"ό":[{"π":28}],"ό":[{"π":28}]}],"τ":[{"α":[{"ϲ":28,"τ":28,"υ":28}],"ά":[{"τ":28}],"ά":[{"τ":28}],"ε":[{"ί":28,"ί":28,"ν":28,"ρ":[{"ν":28}]}],"έ":[{"ν":28,"ρ":[{"ν":28}]}],"έ":[{"ν":28,"ρ":[{"ν":28}]}],"ή":[{"ϲ":28}],"ή":[{"ϲ":28}],"ό":[{"μ":28}],"ό":[{"μ":28}],"ο":[{"μ":28}],"ῴ":28}],"υ":[{"γ":28,"μ":28,"ν":35}],"φ":[{"ά":[{"γ":[{"μ":28}],"ζ":28,"τ":[{"τ":28}]}],"ά":[{"γ":[{"μ":28}],"ζ":28,"τ":[{"τ":28}]}]}],"χ":[{"ή":[{"μ":28}],"ή":[{"μ":28}]}],"ώ":[{"τ":28}],"ώ":[{"τ":28}],"ω":[{"τ":28}]},9],"ϋ":[{"π":[{"ε":[{"ξ":11}]}]}]}],"ό":[{"σ":[{"θ":[{"ι":28}],"κ":[{"ο":[{"π":28}]}],"τ":[{"ε":[{"ρ":[{"ν":28}]}],"ῳ":28}],"φ":[{"α":[{"γ":[{"μ":28}]}]}],"χ":[{"η":[{"μ":28}]}],"ω":[{".":28,"θ":[{"ε":[{"ν":[{".":28}]}]}]}]}],"ϲ":[{"θ":[{"ι":28}],"κ":[{"ο":[{"π":28}]}],"τ":[{"ε":[{"ρ":[{"ν":28}]}],"ῳ":28}],"φ":[{"α":[{"γ":[{"μ":28}]}]}],"χ":[{"η":[{"μ":28}]}],"ω":[{".":28,"θ":[{"ε":[{"ν":[{".":28}]}]}]}]}]}],"ό":[{"σ":[{"θ":[{"ι":28}],"κ":[{"ο":[{"π":28}]}],"τ":[{"ε":[{"ρ":[{"ν":28}]}],"ῳ":28}],"φ":[{"α":[{"γ":[{"μ":28}]}]}],"χ":[{"η":[{"μ":28}]}],"ω":[{".":28,"θ":[{"ε":[{"ν":[{".":28}]}]}]}]}],"ϲ":[{"θ":[{"ι":28}],"κ":[{"ο":[{"π":28}]}],"τ":[{"ε":[{"ρ":[{"ν":28}]}],"ῳ":28}],"φ":[{"α":[{"γ":[{"μ":28}]}]}],"χ":[{"η":[{"μ":28}]}],"ω":[{".":28,"θ":[{"ε":[{"ν":[{".":28}]}]}]}]}]}]}],"υ":[{"ρ":[{"ά":[{"γ":26}],"ά":[{"γ":26}],"α":[{"γ":26,"ί":[{"θ":26}],"ί":[{"θ":26}],"ι":[{"θ":26}],"κ":26,"ύ":26,"ύ":26,"υ":26}],"ῆ":[{"θ":26}],"η":[{"θ":26,"ν":[{"έ":[{"μ":26}],"έ":[{"μ":26}]}]}],"ή":[{"θ":26,"ν":[{"ε":[{"μ":26}]}]}],"ή":[{"θ":26,"ν":[{"ε":[{"μ":26}]}]}],"ω":[{"π":26}]}]}],"ύ":[{"ρ":[{"α":[{"υ":26}]}]}],"ύ":[{"ρ":[{"α":[{"υ":26}]}]}]},6],"ρ":6,"σ":[{"ε":[{"λ":[{"α":[{"σ":[{"φ":[{"ό":10,"ό":10,"ο":10}]}]}]}]}],"υ":[{"μ":[{"π":[{"α":[{"ρ":[{"ε":[{"ι":[{"σ":21}]}]}]}]}]}],"ν":[{"δ":[{"ι":[{"έ":[{"ξ":11}],"έ":[{"ξ":11}],"ε":[{"ξ":11}]}],"υ":[{"σ":15}]}],"ε":[{"ξ":10}]},26]}],"ύ":[{"ν":26}],"ύ":[{"ν":26}]},6],"ϲ":[{"ε":[{"λ":[{"α":[{"ϲ":[{"φ":[{"ό":10,"ό":10,"ο":10}]}]}]}]}],"υ":[{"μ":[{"π":[{"α":[{"ρ":[{"ε":[{"ι":[{"ϲ":21}]}]}]}]}]}],"ν":[{"δ":[{"ι":[{"έ":[{"ξ":11}],"έ":[{"ξ":11}],"ε":[{"ξ":11}]}],"υ":[{"ϲ":15}]}],"ε":[{"ξ":10}]},26]}],"ύ":[{"ν":26}],"ύ":[{"ν":26}]},6],"τ":[{"ε":[{"σ":[{"σ":[{"α":[{"ρ":[{"ε":[{"σ":[{"κ":22}]}]}]}]}]}],"ϲ":[{"ϲ":[{"α":[{"ρ":[{"ε":[{"ϲ":[{"κ":22}]}]}]}]}]}]}],"ρ":[{"ε":[{"ι":[{"σ":[{"κ":10}],"ϲ":[{"κ":10}]}]}],"ι":[{"σ":[{"μ":[{"ό":28,"ό":28,"ο":28,"ῶ":28}],"π":28,"τ":28,"ώ":28,"ώ":28,"ω":28},9],"ϲ":[{"μ":[{"ό":28,"ό":28,"ο":28,"ῶ":28}],"π":28,"τ":28,"ώ":28,"ώ":28,"ω":28},9]}],"ί":[{"σ":[{"τ":28}],"ϲ":[{"τ":28}]}],"ί":[{"σ":[{"τ":28}],"ϲ":[{"τ":28}]}]}]},6],"φ":[{"α":[{"ε":[{"σ":[{"φ":9}],"ϲ":[{"φ":9}]}]}],"ω":[{"σ":[{"φ":26}],"ϲ":[{"φ":26}]}]},6],"χ":[{"α":[{"ρ":[{"ι":[{"σ":[{"α":[{"ν":[{"δ":[{"ρ":10}]}]}],"ά":[{"ν":[{"δ":[{"ρ":10}]}]}],"ά":[{"ν":[{"δ":[{"ρ":10}]}]}]}],"ϲ":[{"α":[{"ν":[{"δ":[{"ρ":10}]}]}],"ά":[{"ν":[{"δ":[{"ρ":10}]}]}],"ά":[{"ν":[{"δ":[{"ρ":10}]}]}]}]}]}]}],"ε":[{"ι":[{"ρ":[{"ά":[{"γ":9,"ν":9}],"ά":[{"γ":9,"ν":9}],"α":[{"γ":9,"π":9,"ψ":9,"ν":9}],"ο":[{"υ":9}],"ῶ":[{"ν":9}]}]}]}],"η":[{"ν":[{"ν":[{"α":[{"λ":26}]}]}]}]},6],"ψ":6}],"ῤ":[{"ῥ":7}]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/7467.adapter.js b/public/tools/cloud_sheets/vendor/univer/7467.adapter.js new file mode 100644 index 0000000..4fd0bc8 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/7467.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[7467],{7467(s,o,e){e.r(o),e.d(o,{Bg:()=>n});const n=["000004,008,0008,00204,0054,00545,0004,0045,0046,000204,,000045,00234,0034,00404,004,005,00004,0000204,00045,0004004,0044,00000204,00020404,0002004,00020204,00024,0002,0000004,000454,00044,01,434,8,4004,23,4,234,43,2,41,0023,00022,00023",'{".":[{"а":[{"н":[{"т":[{"и":[{"а":0,"б":0,"в":0,"г":0,"д":0,"е":0,"ж":0,"з":0,"и":0,"й":0,"к":0,"л":0,"м":0,"н":0,"о":0,"п":0,"р":0,"с":0,"т":0,"у":0,"ф":0,"х":0,"ц":0,"ш":0,"щ":0,"ъ":0,"ю":0,"я":0}]}]}]}],"б":[{"б":1,"в":1,"г":1,"д":1,"ж":1,"з":1,"к":1,"л":1,"м":1,"н":1,"п":1,"р":1,"с":1,"т":1,"ф":1,"х":1,"ц":1,"ч":1,"ш":1,"щ":1}],"в":[{"б":[{"б":2,"в":2,"г":2,"д":2,"ж":2,"з":2,"к":2,"л":2,"м":2,"н":2,"п":2,"р":2,"с":2,"т":2,"ф":2,"х":2,"ц":2,"ч":2,"ш":2,"щ":2},1],"в":[{"б":2,"в":2,"г":2,"д":2,"ж":2,"з":2,"к":2,"л":2,"м":2,"н":2,"п":2,"р":2,"с":2,"т":2,"ф":2,"х":2,"ц":2,"ч":2,"ш":2,"щ":2},1],"г":[{"б":2,"в":2,"г":2,"д":2,"ж":2,"з":2,"к":2,"л":2,"м":2,"н":2,"п":2,"р":2,"с":2,"т":2,"ф":2,"х":2,"ц":2,"ч":2,"ш":2,"щ":2},1],"д":[{"б":2,"в":2,"г":2,"д":2,"ж":2,"з":2,"к":2,"л":2,"м":2,"н":2,"п":2,"р":2,"с":2,"т":2,"ф":2,"х":2,"ц":2,"ч":2,"ш":2,"щ":2},1],"ж":[{"б":2,"в":2,"г":2,"д":2,"ж":2,"з":2,"к":2,"л":2,"м":2,"н":2,"п":2,"р":2,"с":2,"т":2,"ф":2,"х":2,"ц":2,"ч":2,"ш":2,"щ":2},1],"з":[{"б":2,"в":2,"г":2,"д":2,"ж":2,"з":2,"к":2,"л":2,"м":2,"н":2,"п":2,"р":2,"с":2,"т":2,"ф":2,"х":2,"ц":2,"ч":2,"ш":2,"щ":2},1],"к":[{"б":2,"в":2,"г":2,"д":2,"ж":2,"з":2,"к":2,"л":2,"м":2,"н":2,"п":2,"р":2,"с":2,"т":2,"ф":2,"х":2,"ц":2,"ч":2,"ш":2,"щ":2},1],"л":[{"б":2,"в":2,"г":2,"д":2,"ж":2,"з":2,"к":2,"л":2,"м":2,"н":2,"п":2,"р":2,"с":2,"т":2,"ф":2,"х":2,"ц":2,"ч":2,"ш":2,"щ":2},1],"м":[{"б":2,"в":2,"г":2,"д":2,"ж":2,"з":2,"к":2,"л":2,"м":2,"н":2,"п":2,"р":2,"с":2,"т":2,"ф":2,"х":2,"ц":2,"ч":2,"ш":2,"щ":2},1],"н":[{"б":2,"в":2,"г":2,"д":2,"ж":2,"з":2,"к":2,"л":2,"м":2,"н":2,"п":2,"р":2,"с":2,"т":2,"ф":2,"х":2,"ц":2,"ч":2,"ш":2,"щ":2},1],"п":[{"б":2,"в":2,"г":2,"д":2,"ж":2,"з":2,"к":2,"л":2,"м":2,"н":2,"п":2,"р":2,"с":2,"т":2,"ф":2,"х":2,"ц":2,"ч":2,"ш":2,"щ":2},1],"р":[{"б":2,"в":2,"г":2,"д":2,"ж":2,"з":2,"к":2,"л":2,"м":2,"н":2,"п":2,"р":2,"с":2,"т":2,"ф":2,"х":2,"ц":2,"ч":2,"ш":2,"щ":2},1],"с":[{"б":2,"в":2,"г":2,"д":2,"ж":2,"з":2,"к":2,"л":2,"м":2,"н":2,"п":2,"р":2,"с":2,"т":2,"ф":2,"х":2,"ц":2,"ч":2,"ш":2,"щ":2},1],"т":[{"б":2,"в":2,"г":2,"д":2,"ж":2,"з":2,"к":2,"л":2,"м":2,"н":2,"п":2,"р":2,"с":2,"т":2,"ф":2,"х":2,"ц":2,"ч":2,"ш":2,"щ":2},1],"ф":[{"б":2,"в":2,"г":2,"д":2,"ж":2,"з":2,"к":2,"л":2,"м":2,"н":2,"п":2,"р":2,"с":2,"т":2,"ф":2,"х":2,"ц":2,"ч":2,"ш":2,"щ":2},1],"х":[{"б":2,"в":2,"г":2,"д":2,"ж":2,"з":2,"к":2,"л":2,"м":2,"н":2,"п":2,"р":2,"с":2,"т":2,"ф":2,"х":2,"ц":2,"ч":2,"ш":2,"щ":2},1],"ц":[{"б":2,"в":2,"г":2,"д":2,"ж":2,"з":2,"к":2,"л":2,"м":2,"н":2,"п":2,"р":2,"с":2,"т":2,"ф":2,"х":2,"ц":2,"ч":2,"ш":2,"щ":2},1],"ч":[{"б":2,"в":2,"г":2,"д":2,"ж":2,"з":2,"к":2,"л":2,"м":2,"н":2,"п":2,"р":2,"с":2,"т":2,"ф":2,"х":2,"ц":2,"ч":2,"ш":2,"щ":2},1],"ш":[{"б":2,"в":2,"г":2,"д":2,"ж":2,"з":2,"к":2,"л":2,"м":2,"н":2,"п":2,"р":2,"с":2,"т":2,"ф":2,"х":2,"ц":2,"ч":2,"ш":2,"щ":2},1],"щ":[{"б":2,"в":2,"г":2,"д":2,"ж":2,"з":2,"к":2,"л":2,"м":2,"н":2,"п":2,"р":2,"с":2,"т":2,"ф":2,"х":2,"ц":2,"ч":2,"ш":2,"щ":2},1],"ъ":[{"з":[{"а":3,"б":3,"в":3,"г":3,"д":3,"е":[{"л":[{"а":5,"ъ":[{"т":5}]},4]},3],"ж":3,"з":3,"и":3,"й":3,"к":3,"л":3,"м":3,"н":3,"о":3,"п":3,"р":3,"с":3,"т":3,"у":3,"ф":3,"х":3,"ц":3,"ч":3,"ш":3,"щ":3,"ъ":3,"ю":3,"я":3}]}]}],"г":[{"б":1,"в":1,"г":1,"д":1,"ж":1,"з":1,"к":1,"л":1,"м":1,"н":1,"п":1,"р":1,"с":1,"т":1,"ф":1,"х":1,"ц":1,"ч":1,"ш":1,"щ":1}],"д":[{"б":1,"в":1,"г":1,"д":1,"ж":1,"з":1,"к":1,"л":1,"м":1,"н":1,"о":[{"а":6,"б":[{"л":[{"е":[{"с":[{"т":7}]}]}],"р":[{"о":8},7]},6],"в":6,"г":[{"м":7},6],"д":6,"е":6,"ж":6,"з":6,"и":6,"к":[{"л":7,"т":7},6],"л":[{"н":7,"ч":7},6],"м":6,"н":[{"г":7,"д":7,"ж":7,"к":7,"с":7,"ч":7},6],"о":6,"п":6,"р":6,"с":[{"т":[{"о":7}]},6],"т":6,"у":6,"ф":6,"х":6,"ц":6,"ч":6,"ш":6,"щ":6,"ъ":6,"ю":6,"я":6}],"п":1,"р":1,"с":1,"т":1,"ф":1,"х":1,"ц":1,"ч":1,"ш":1,"щ":1}],"ж":[{"б":1,"в":1,"г":1,"д":1,"ж":1,"з":1,"к":1,"л":1,"м":1,"н":1,"п":1,"р":1,"с":1,"т":1,"ф":1,"х":1,"ц":1,"ч":1,"ш":1,"щ":1}],"з":[{"а":[{"а":6,"б":6,"в":6,"г":6,"д":[{"г":[{"р":[{"а":[{"н":7}],"о":[{"б":7}]}]}],"к":[{"у":[{"л":[{"и":[{"с":7}]}]}]}],"м":[{"и":[{"н":7}],"о":[{"р":7}]}],"н":7},6],"е":6,"ж":6,"з":6,"и":6,"к":6,"л":[{"п":7},6],"м":6,"н":[{"д":7},6],"о":6,"п":[{"т":7},6],"р":[{"з":7},6],"с":6,"т":6,"у":6,"ф":6,"х":6,"ц":6,"ч":6,"ш":6,"щ":6,"ъ":6,"ю":6,"я":6}],"б":1,"в":1,"г":1,"д":1,"ж":1,"з":1,"к":1,"л":1,"м":1,"н":1,"п":1,"р":1,"с":1,"т":1,"ф":1,"х":1,"ц":1,"ч":1,"ш":1,"щ":1}],"и":[{"з":[{"а":6,"б":6,"в":6,"г":6,"д":6,"е":6,"ж":6,"з":6,"и":6,"й":6,"к":6,"л":6,"м":6,"н":6,"о":[{"б":[{"б":9,"в":9,"г":9,"д":9,"ж":9,"з":9,"и":6,"к":9,"л":9,"м":9,"н":9,"п":9,"р":9,"с":9,"т":9,"ф":9,"х":9,"ц":9,"ч":9,"ш":9,"щ":9}],"х":[{"к":10}]}],"п":[{"о":[{"а":0,"б":0,"в":0,"г":0,"д":0,"е":0,"ж":0,"з":0,"и":0,"й":0,"к":0,"л":[{"з":11},0],"м":[{"п":11},0],"н":0,"о":0,"п":0,"р":[{"т":11},0],"с":0,"т":0,"у":0,"ф":0,"х":0,"ц":0,"ч":0,"ш":0,"щ":0,"ъ":0,"ю":0,"я":0}]},6],"р":6,"с":6,"т":6,"у":6,"ф":6,"х":6,"ц":6,"ч":6,"ш":6,"щ":6,"ъ":6,"ю":6,"я":6}]}],"к":[{"б":1,"в":1,"г":1,"д":1,"ж":1,"з":1,"к":1,"л":1,"м":1,"н":1,"п":1,"р":1,"с":1,"т":1,"ф":1,"х":1,"ц":1,"ч":1,"ш":1,"щ":1}],"л":[{"б":1,"в":1,"г":1,"д":1,"ж":1,"з":1,"к":1,"л":1,"м":1,"н":1,"п":1,"р":1,"с":1,"т":1,"ф":1,"х":1,"ц":1,"ч":1,"ш":1,"щ":1}],"м":[{"б":1,"в":1,"г":1,"д":1,"ж":1,"з":1,"к":1,"л":1,"м":1,"н":1,"п":1,"р":1,"с":1,"т":1,"ф":1,"х":1,"ц":1,"ч":1,"ш":1,"щ":1}],"н":[{"а":[{"а":6,"б":6,"в":6,"г":[{"л":[{"о":7}]},6],"д":[{"б":3,"в":3,"г":3,"д":3,"ж":[{"а":[{"в":13,"с":13}]},12],"з":3,"и":[{"г":[{"р":14}]}],"к":3,"л":3,"м":3,"н":3,"п":3,"р":[{"а":[{"щ":6}],"е":[{"б":6,"м":6}],"о":[{"б":6}],"у":[{"с":6}],"ъ":[{"н":6}],"я":[{"м":6}]},3],"с":3,"т":3,"ф":3,"х":3,"ц":3,"ч":3,"ш":3,"щ":3}],"е":6,"ж":6,"з":6,"и":6,"к":6,"л":6,"м":6,"н":6,"о":6,"п":6,"р":[{"г":7,"к":7},6],"с":6,"т":6,"у":6,"ф":6,"х":6,"ц":6,"ч":6,"ш":6,"щ":6,"ъ":6,"ю":6,"я":6}],"б":1,"в":1,"г":1,"д":1,"ж":1,"з":1,"к":1,"л":1,"м":1,"н":1,"п":1,"р":1,"с":1,"т":1,"ф":1,"х":1,"ц":1,"ч":1,"ш":1,"щ":1}],"о":[{"а":[{"з":[{"и":[{"с":16}]}]},15],"б":[{"а":[{"г":[{"н":6}]}],"б":6,"в":6,"г":6,"д":6,"ж":6,"з":6,"и":[{"г":[{"р":6}]}],"к":6,"л":[{"а":[{"г":[{"о":15}],"ж":15}]},6],"м":6,"н":6,"о":[{"б":[{"щ":6}],"з":[{"н":17,"р":17}],"с":[{"н":17,"о":[{"б":10}]}]}],"п":6,"р":[{"е":[{"м":15}],"у":[{"л":15}],"ъ":[{"с":15}]},6],"с":6,"т":6,"у":[{"з":[{"д":6}],"с":[{"л":10}]}],"ф":6,"х":6,"ц":6,"ч":6,"ш":6,"щ":[{"н":7},6],"я":[{"с":[{"н":6}]}]}],"в":[{"д":[{"о":[{"в":15}]}],"л":[{"а":[{"д":15}]}],"ц":16,"ч":16},15],"г":[{"н":16},15],"д":15,"е":15,"ж":15,"з":[{"д":[{"р":6}]},15],"и":15,"й":15,"к":[{"с":[{"и":16}],"т":16},15],"л":[{"т":[{"а":[{"р":16}]}]},15],"м":[{"л":[{"е":[{"т":16}]}],"н":[{"и":16}]},15],"н":[{"б":[{"а":[{"ш":16}]}],"д":[{"у":[{"л":16}]}],"з":[{"и":16}],"к":[{"о":16}],"л":[{"а":[{"й":[{"н":16}]}]}],"т":[{"о":16}]},15],"о":15,"п":[{"т":16,"ц":[{"и":16}]},15],"р":[{"б":16,"г":16,"д":16,"к":16,"л":16,"н":16,"т":16,"ф":16,"х":16},15],"с":[{"м":[{"а":[{"н":16}],"и":[{"н":16,"ц":16,"ч":16}],"о":16}],"т":[{"е":16,"р":[{"о":16}]}],"ц":[{"и":16}]},15],"т":[{"б":6,"в":6,"г":6,"д":6,"ж":6,"з":6,"и":[{"в":6,"д":6}],"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":6,"т":6,"у":[{"ч":6}],"ф":6,"х":6,"ц":6,"ч":6,"ш":6,"щ":6}],"у":15,"ф":15,"х":[{"в":[{"а":16}],"к":[{"а":16}],"н":[{"а":16}]},15],"ц":15,"ч":15,"ш":15,"щ":15,"ъ":15,"ю":15,"я":15}],"п":[{"б":1,"в":1,"г":1,"д":1,"ж":1,"з":1,"к":1,"л":1,"м":1,"н":1,"о":[{"а":6,"б":6,"в":6,"г":6,"д":[{"б":3,"в":[{"о":[{"у":6}]},3],"г":3,"д":3,"ж":[{"а":[{"в":13}],"у":[{"р":13}]},12],"з":3,"и":[{"г":[{"р":3}],"з":[{"р":3}]}],"к":3,"л":3,"м":3,"н":3,"о":[{"п":[{"а":[{"ш":3}]}],"с":[{"т":[{"р":3}]}],"т":[{"д":3,"ч":3}],"ф":3}],"п":3,"р":[{"е":[{"м":6}],"ъ":[{"н":6,"п":6}],"я":[{"м":6}]},3],"с":3,"т":3,"у":[{"п":[{"р":3}],"ч":3}],"ф":3,"х":3,"ц":3,"ч":3,"ш":3,"щ":3}],"е":6,"ж":6,"з":[{"а":[{"а":0,"б":0,"в":0,"г":0,"д":0,"е":0,"ж":0,"з":0,"и":0,"й":0,"к":0,"л":0,"м":0,"н":0,"о":0,"п":0,"р":0,"с":0,"т":0,"у":0,"ф":0,"х":0,"ц":0,"ч":0,"ш":0,"щ":0,"ъ":0,"ю":0,"я":0}]},6],"и":[{"з":[{"а":9,"б":9,"в":9,"г":9,"д":9,"е":9,"ж":9,"з":9,"и":9,"й":9,"к":9,"л":9,"м":9,"н":9,"о":9,"п":9,"р":9,"с":9,"т":9,"у":9,"ф":9,"х":9,"ц":9,"ч":9,"ш":9,"щ":9,"ъ":9,"ю":9,"я":9}]},6],"й":6,"к":6,"л":[{"з":7,"к":7,"с":7},6],"м":[{"п":7},6],"н":[{"а":[{"а":0,"б":0,"в":0,"г":0,"д":[{"б":18,"в":18,"г":18,"д":18,"ж":18,"з":18,"и":[{"г":[{"р":18}]}],"к":18,"л":18,"м":18,"н":18,"п":18,"р":[{"а":[{"щ":0}],"е":[{"б":0,"м":0}],"о":[{"б":0}],"у":[{"с":0}],"ъ":[{"н":0}],"я":[{"м":0}]},18],"с":18,"т":18,"ф":18,"х":18,"ц":18,"ч":18,"ш":18,"щ":18}],"е":0,"ж":0,"з":0,"и":0,"й":0,"к":0,"л":0,"м":0,"н":0,"о":0,"п":0,"р":0,"с":0,"т":0,"у":0,"ф":0,"х":0,"ц":0,"ч":0,"ш":0,"щ":0,"ъ":0,"ю":0,"я":0}],"т":7},6],"о":[{"а":17,"б":[{"а":[{"д":6,"ж":[{"д":6}]}],"б":9,"в":9,"г":9,"д":9,"ж":9,"з":9,"и":[{"г":[{"р":9}],"к":6}],"к":9,"л":9,"м":9,"н":9,"п":9,"р":9,"с":9,"т":9,"ф":9,"х":9,"ц":9,"ч":9,"ш":9,"щ":9,"я":[{"с":[{"н":9}]}]}],"в":17,"г":17,"д":17,"е":17,"ж":17,"з":17,"и":17,"й":17,"к":17,"л":17,"м":17,"н":17,"о":17,"п":17,"р":17,"с":17,"т":[{"б":9,"в":9,"г":9,"д":9,"ж":9,"з":9,"к":9,"л":9,"м":9,"н":9,"п":9,"р":9,"с":9,"т":9,"у":[{"ч":9}],"ф":9,"х":9,"ц":9,"ч":9,"ш":9,"щ":9}],"у":17,"ф":17,"х":17,"ц":17,"ч":17,"ш":17,"щ":[{"р":19},17],"ъ":17,"ю":17,"я":17}],"п":[{"р":[{"и":[{"а":20,"б":20,"в":20,"г":20,"д":20,"е":20,"ж":20,"з":20,"и":20,"й":20,"к":20,"л":20,"м":20,"н":20,"о":20,"п":20,"р":20,"с":20,"т":20,"у":20,"ф":20,"х":20,"ц":20,"ч":20,"ш":20,"щ":20,"ъ":20,"ю":20,"я":20}]}]}],"р":[{"н":7,"т":7,"ф":7,"ц":7},6],"с":[{"т":21},6],"т":[{"н":7},6],"у":6,"ф":6,"х":6,"ц":6,"ш":6,"щ":6,"ъ":6,"ю":6,"я":6}],"п":1,"р":[{"е":[{"а":17,"б":17,"в":[{"ъ":[{"з":[{"а":22,"б":22,"в":22,"г":22,"д":22,"е":22,"ж":22,"з":22,"и":22,"й":22,"к":22,"л":22,"м":22,"н":22,"о":22,"п":22,"р":22,"с":22,"т":22,"у":22,"ф":22,"х":22,"ц":22,"ч":22,"ш":22,"щ":22,"ъ":22,"ю":22,"я":22}]}]},17],"г":17,"д":[{"б":9,"в":9,"г":9,"д":9,"ж":9,"з":9,"и":[{"з":[{"б":23,"в":23}],"н":[{"ф":[{"а":[{"р":9}]}]}],"с":[{"т":[{"о":[{"р":9}]}]}]}],"к":9,"л":9,"м":9,"н":9,"о":[{"б":[{"е":[{"д":9}]}],"к":[{"т":[{"о":[{"м":9}]}]}],"п":[{"р":[{"е":[{"д":24}]}]}],"с":[{"в":[{"о":[{"б":24}]}]}],"т":[{"а":25,"б":25,"в":25,"г":25,"д":25,"е":25,"ж":25,"з":25,"и":25,"й":25,"к":25,"л":25,"м":25,"н":25,"о":25,"п":25,"р":25,"с":25,"т":25,"у":25,"ф":25,"х":25,"ц":25,"ч":25,"ш":25,"щ":25,"ъ":25,"ю":25,"я":25}],"х":[{"р":24}]}],"п":9,"р":[{"е":[{"м":17,"ш":26}],"я":[{"м":17}]},9],"с":9,"т":9,"у":[{"б":[{"е":[{"д":9,"ж":[{"д":9}]}]}],"г":[{"а":[{"д":27}]}],"м":[{"и":[{"с":27,"ш":27}]}],"п":[{"р":9}],"с":[{"е":27,"л":24}],"т":[{"р":[{"и":[{"н":9}]}]}],"ч":[{"и":[{"л":9}]}]}],"ф":9,"х":9,"ц":9,"ч":9,"ш":9,"щ":9,"я":[{"в":9,"с":[{"т":9}]}]}],"е":17,"ж":[{"д":19},17],"з":[{"а":[{"а":28,"б":28,"в":28,"г":28,"д":28,"е":28,"ж":28,"з":28,"и":28,"й":28,"к":28,"л":28,"м":28,"н":28,"о":28,"п":28,"р":28,"с":28,"т":28,"у":28,"ф":28,"х":28,"ц":28,"ч":28,"ш":28,"щ":28,"ъ":28,"ю":28,"я":28}],"б":9,"в":9,"г":9,"д":9,"ж":9,"з":9,"к":9,"л":9,"м":9,"н":9,"о":[{"к":[{"е":[{"а":[{"н":29}]}]}]}],"п":9,"р":[{"а":[{"м":19}],"е":[{"д":19}]},17],"с":9,"т":9,"ф":9,"х":9,"ц":9,"ч":9,"ш":9,"щ":9}],"и":[{"з":[{"а":18,"б":18,"в":18,"г":18,"д":18,"е":18,"ж":18,"з":18,"и":18,"й":18,"к":18,"л":18,"м":18,"н":18,"о":18,"п":18,"р":18,"с":18,"т":18,"у":18,"ф":18,"х":18,"ц":18,"ч":18,"ш":18,"щ":18,"ъ":18,"ю":18,"я":18}]},17],"й":17,"к":17,"л":17,"м":17,"н":[{"а":[{"а":28,"б":28,"в":28,"г":28,"д":28,"е":28,"ж":28,"з":28,"и":28,"й":28,"к":28,"л":28,"м":28,"н":28,"о":28,"п":28,"р":28,"с":28,"т":28,"у":28,"ф":28,"х":28,"ц":28,"ч":28,"ш":28,"щ":28,"ъ":28,"ю":28,"я":28}]},17],"о":17,"п":17,"р":17,"с":[{"н":[{"о":19}],"п":[{"а":19,"и":30}],"ц":19},17],"т":17,"у":17,"ф":17,"х":17,"ц":17,"ч":[{"к":19},17],"щ":17,"ъ":17,"ю":17,"я":17}],"и":[{"а":17,"б":17,"в":17,"г":17,"д":17,"е":17,"ж":17,"з":[{"м":19},17],"и":17,"й":17,"к":17,"л":17,"м":[{"к":19},17],"н":[{"т":19,"ц":19},17],"о":17,"п":[{"в":19,"к":19,"н":19},17],"р":17,"с":17,"т":[{"ч":19},17],"у":17,"ф":17,"х":[{"н":19},17],"ц":17,"ч":17,"ш":[{"к":19},17],"щ":17,"ъ":17,"ю":17,"я":17}],"о":[{"а":17,"б":[{"в":19,"к":19,"л":[{"е":[{"м":19}]}]},17],"в":17,"г":17,"д":17,"е":17,"ж":17,"з":17,"и":17,"к":[{"с":19},17],"л":17,"м":17,"н":17,"о":17,"п":17,"р":17,"с":[{"б":19,"т":30,"ф":19},17],"т":17,"у":17,"х":17,"ц":17,"ч":17,"ш":17,"щ":17,"ъ":17,"ю":17,"я":17}]},1],"с":1,"т":1,"ф":1,"х":1,"ц":1,"ч":1,"ш":1,"щ":1}],"р":[{"а":[{"з":[{"а":3,"б":3,"в":3,"г":3,"д":3,"е":3,"ж":3,"з":3,"и":3,"й":3,"к":3,"л":3,"м":3,"н":3,"о":3,"п":3,"р":3,"с":3,"т":3,"у":3,"ф":3,"х":3,"ц":3,"ч":3,"ш":3,"щ":3,"ъ":3,"ю":3,"я":3}]}],"б":1,"в":1,"г":1,"д":1,"ж":1,"з":1,"к":1,"л":1,"м":1,"н":1,"п":1,"р":1,"с":1,"т":1,"ф":1,"х":1,"ц":1,"ч":1,"ш":1,"щ":1}],"с":[{"б":1,"в":1,"г":1,"д":1,"ж":1,"з":1,"к":1,"л":1,"м":1,"н":1,"п":1,"р":1,"с":1,"т":1,"ф":1,"х":1,"ц":1,"ч":1,"ш":1,"щ":1}],"т":[{"б":1,"в":1,"г":1,"д":1,"ж":1,"з":1,"к":1,"л":1,"м":1,"н":1,"п":1,"р":1,"с":1,"т":1,"ф":1,"х":1,"ц":1,"ч":1,"ш":1,"щ":1}],"у":[{"а":15,"б":15,"в":15,"г":15,"д":15,"е":15,"ж":[{"к":[{"и":16}]},15],"з":[{"б":[{"е":16}]},15],"и":15,"й":[{"д":[{"и":[{"с":16}],"у":16}]},15],"к":15,"л":[{"т":16},15],"н":[{"г":[{"а":[{"р":16}]}],"ц":[{"и":16}]},15],"о":15,"п":15,"р":[{"б":[{"а":16}],"в":16,"н":16,"с":[{"у":[{"з":16}]}],"т":[{"и":16}]},15],"с":[{"т":[{"а":16,"е":16,"и":16}]},15],"т":[{"р":[{"е":[{".":16,"ш":16}],"и":[{"н":16}],"о":15}]},15],"у":15,"ф":15,"х":15,"ц":15,"ч":[{"т":[{"и":[{"в":16}]}]},15],"ш":[{"н":[{"о":16}]},15],"щ":15,"ъ":15,"ю":[{"т":[{"е":16}]},15],"я":15}],"ф":[{"б":1,"в":1,"г":1,"д":1,"ж":1,"з":1,"к":1,"л":1,"м":1,"н":1,"п":1,"р":1,"с":1,"т":1,"ф":1,"х":1,"ц":1,"ч":1,"ш":1,"щ":1}],"х":[{"б":1,"в":1,"г":1,"д":1,"ж":1,"з":1,"к":1,"л":1,"м":1,"н":1,"п":1,"р":1,"с":1,"т":1,"ф":1,"х":1,"ц":1,"ч":1,"ш":1,"щ":1}],"ц":[{"б":1,"в":1,"г":1,"д":1,"ж":1,"з":1,"к":1,"л":1,"м":1,"н":1,"п":1,"р":1,"с":1,"т":1,"ф":1,"х":1,"ц":1,"ч":1,"ш":1,"щ":1}],"ч":[{"б":1,"в":1,"г":1,"д":1,"ж":1,"з":1,"к":1,"л":1,"м":1,"н":1,"п":1,"р":1,"с":1,"т":1,"ф":1,"х":1,"ц":1,"ч":1,"ш":1,"щ":1}],"ш":[{"б":1,"в":1,"г":1,"д":1,"ж":1,"з":1,"к":1,"л":1,"м":1,"н":1,"п":1,"р":1,"с":1,"т":1,"ф":1,"х":1,"ц":1,"ч":1,"ш":1,"щ":1}],"щ":[{"б":1,"в":1,"г":1,"д":1,"ж":1,"з":1,"к":1,"л":1,"м":1,"н":1,"п":1,"р":1,"с":1,"т":1,"ф":1,"х":1,"ц":1,"ч":1,"ш":1,"щ":1}]}],"а":31,"б":[{"б":[{".":33,"б":34,"в":6,"г":6,"д":6,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"в":[{".":33,"б":34,"в":36,"г":34,"д":34,"к":34,"п":34,"т":34,"ф":36,"ц":34,"ч":34},35],"г":[{".":33,"б":34,"г":36,"к":34,"п":34,"т":34,"ц":34,"ч":34},35],"д":[{".":33,"б":34,"г":36,"д":36,"к":34,"п":34,"т":34,"ц":34,"ч":34},35],"ж":[{".":33,"б":34,"г":34,"д":34,"ж":36,"к":34,"п":34,"с":36,"т":34,"ф":36,"х":36,"ц":34,"ч":34,"ш":36},35],"з":[{".":33,"б":34,"г":34,"д":34,"з":36,"к":34,"п":34,"с":36,"т":34,"ф":36,"х":36,"ц":34,"ч":34,"ш":36},35],"й":15,"к":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"л":[{".":33,"б":34,"к":34,"л":36,"п":34,"т":34,"ц":34,"ч":34},37],"м":[{".":33,"б":34,"к":34,"м":36,"п":34,"т":34,"ц":34,"ч":34},37],"н":[{".":33,"б":34,"к":34,"н":36,"п":34,"т":34,"ц":34,"ч":34},37],"п":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"р":[{".":33,"б":34,"к":34,"п":34,"р":36,"т":34,"ц":34,"ч":34},37],"с":[{".":33,"б":34,"г":34,"д":34,"ж":36,"з":36,"к":34,"п":34,"с":36,"т":34,"ц":34,"ч":34},38],"т":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"ф":[{".":33,"б":34,"в":36,"г":34,"д":34,"ж":36,"з":36,"к":34,"п":34,"т":34,"ф":36,"ц":34,"ч":34},38],"х":[{".":33,"б":34,"г":34,"д":34,"ж":36,"з":36,"к":34,"п":34,"т":34,"х":36,"ц":34,"ч":34},38],"ц":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"ч":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"ш":[{".":33,"б":34,"г":34,"д":34,"ж":36,"з":36,"к":34,"п":34,"т":34,"ц":34,"ч":34,"ш":36},38],"щ":[{".":33,"б":34,"к":34,"п":34,"т":34,"ц":34,"ч":34,"щ":36},38]}],"в":[{"б":[{".":33,"б":36,"в":34,"к":36,"п":36,"т":36,"ф":34,"ц":36,"ч":36},35],"в":[{".":33,"б":6,"в":34,"г":6,"д":6,"ж":6,"з":6,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":6,"т":6,"ф":34,"х":6,"ц":6,"ч":6,"ш":6,"щ":6},32],"г":[{".":33,"в":34,"г":36,"к":36,"п":36,"т":36,"ф":34,"ц":36,"ч":36},35],"д":[{".":33,"б":36,"в":34,"г":36,"д":36,"к":36,"п":36,"т":36,"ф":34,"ц":36,"ч":36},35],"ж":[{".":33,"в":34,"ж":36,"с":36,"ф":34,"х":36,"ш":36},35],"з":[{".":33,"в":34,"з":36,"с":36,"ф":34,"х":36,"ш":36},35],"й":15,"к":[{".":33,"б":36,"в":34,"г":36,"д":36,"к":36,"ф":34},35],"л":[{".":33,"в":34,"л":36,"ф":34},37],"м":[{".":33,"в":34,"м":36,"ф":34},37],"н":[{".":33,"в":34,"н":36,"ф":34},37],"п":[{".":33,"б":36,"в":34,"г":36,"д":36,"п":36,"ф":34},35],"р":[{".":33,"в":34,"р":36,"ф":34},37],"с":[{".":33,"в":34,"ж":36,"з":36,"с":36,"ф":34},35],"т":[{".":33,"б":36,"в":34,"г":36,"д":36,"к":36,"п":36,"т":36,"ф":34,"ц":36,"ч":36},35],"ф":[{".":33,"б":6,"в":34,"г":6,"д":6,"ж":34,"з":34,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":6,"т":6,"ф":34,"х":6,"ц":6,"ч":6,"ш":6,"щ":6},32],"х":[{".":33,"в":34,"ж":36,"з":36,"ф":34,"х":36},35],"ц":[{".":33,"б":36,"в":34,"г":36,"д":36,"к":36,"п":36,"т":36,"ф":34,"ц":36,"ч":36},35],"ч":[{".":33,"б":36,"в":34,"г":36,"д":36,"к":36,"п":36,"т":36,"ф":34,"ц":36,"ч":36},35],"ш":[{".":33,"в":34,"ж":36,"з":36,"ф":34,"ш":36},35],"щ":[{".":33,"в":34,"ф":34,"щ":36},35]}],"г":[{"б":[{".":33,"б":36,"г":34,"к":34,"п":34,"т":34,"ц":34,"ч":34},35],"в":[{".":33,"б":34,"в":36,"г":34,"д":34,"к":34,"п":34,"т":34,"ф":36,"ц":34,"ч":34},35],"г":[{".":33,"б":6,"в":6,"г":34,"д":6,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"д":[{".":33,"б":36,"г":34,"д":36,"к":34,"п":34,"т":34,"ц":34,"ч":34},35],"ж":[{".":33,"б":34,"г":34,"д":34,"ж":36,"к":34,"п":34,"с":36,"т":34,"ф":36,"х":36,"ц":34,"ч":34,"ш":36},35],"з":[{".":33,"б":34,"г":34,"д":34,"з":36,"к":34,"п":34,"с":36,"т":34,"ф":36,"х":36,"ц":34,"ч":34,"ш":36},35],"й":15,"к":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"л":[{".":33,"г":34,"к":34,"л":36,"п":34,"т":34,"ц":34,"ч":34},37],"м":[{".":33,"г":34,"к":34,"м":36,"п":34,"т":34,"ц":34,"ч":34},37],"н":[{".":33,"г":34,"к":34,"н":36,"п":34,"т":34,"ц":34,"ч":34},37],"п":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"р":[{".":33,"г":34,"к":34,"п":34,"р":36,"т":34,"ц":34,"ч":34},37],"с":[{".":33,"б":34,"г":34,"д":34,"ж":36,"з":36,"к":34,"п":34,"с":36,"т":34,"ц":34,"ч":34},38],"т":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"ф":[{".":33,"б":34,"в":36,"г":34,"д":34,"ж":36,"з":36,"к":34,"п":34,"т":34,"ф":36,"ц":34,"ч":34},38],"х":[{".":33,"б":34,"г":34,"д":34,"ж":36,"з":36,"к":34,"п":34,"т":34,"х":36,"ц":34,"ч":34},38],"ц":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"ч":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"ш":[{".":33,"б":34,"г":34,"д":34,"ж":36,"з":36,"к":34,"п":34,"т":34,"ц":34,"ч":34,"ш":36},38],"щ":[{".":33,"г":34,"к":34,"п":34,"т":34,"ц":34,"ч":34,"щ":36},38]}],"д":[{"б":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"в":[{".":33,"б":34,"в":36,"г":34,"д":34,"к":34,"п":34,"т":34,"ф":36,"ц":34,"ч":34},35],"г":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"д":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"ж":[{".":33,"б":34,"в":39,"г":34,"д":34,"ж":36,"з":39,"к":34,"л":39,"м":39,"н":39,"п":34,"р":39,"с":36,"т":34,"ф":36,"х":36,"ц":34,"ч":34,"ш":36,"щ":39}],"з":[{".":33,"б":34,"в":39,"г":34,"д":34,"ж":39,"з":36,"к":34,"л":39,"м":39,"н":39,"п":34,"р":39,"с":36,"т":34,"ф":36,"х":36,"ц":34,"ч":34,"ш":36,"щ":39}],"й":15,"к":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"л":[{".":33,"б":34,"г":34,"д":34,"к":34,"л":36,"п":34,"т":34,"ц":34,"ч":34},37],"м":[{".":33,"б":34,"г":34,"д":34,"к":34,"м":36,"п":34,"т":34,"ц":34,"ч":34},37],"н":[{".":33,"б":34,"г":34,"д":34,"к":34,"н":36,"п":34,"т":34,"ц":34,"ч":34},37],"п":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"р":[{".":33,"б":34,"г":34,"д":34,"к":34,"п":34,"р":36,"т":34,"ц":34,"ч":34},37],"с":[{".":33,"б":34,"г":34,"д":34,"ж":36,"з":36,"к":34,"п":34,"с":36,"т":34,"ц":34,"ч":34},38],"т":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"ф":[{".":33,"б":34,"в":36,"г":34,"д":34,"ж":36,"з":36,"к":34,"п":34,"т":34,"ф":36,"ц":34,"ч":34},38],"х":[{".":33,"б":34,"г":34,"д":34,"ж":36,"з":36,"к":34,"п":34,"т":34,"х":36,"ц":34,"ч":34},38],"ц":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"ч":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"ш":[{".":33,"б":34,"г":34,"д":34,"ж":36,"з":36,"к":34,"п":34,"т":34,"ц":34,"ч":34,"ш":36},38],"щ":[{".":33,"б":34,"г":34,"д":34,"к":34,"п":34,"т":34,"ц":34,"ч":34,"щ":36},38]}],"е":31,"ж":[{"б":[{".":33,"б":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},35],"в":[{".":33,"в":36,"ж":34,"с":34,"ф":34,"х":34,"ш":34},35],"г":[{".":33,"г":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},35],"д":[{".":33,"б":36,"г":36,"д":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},35],"ж":[{".":33,"б":6,"в":6,"г":6,"д":6,"ж":34,"з":6,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":34,"т":6,"ф":34,"х":34,"ц":6,"ч":6,"ш":34,"щ":6},32],"з":[{".":33,"ж":34,"з":36,"с":34,"ф":34,"х":34,"ш":34},35],"й":15,"к":[{".":33,"б":36,"г":36,"д":36,"ж":34,"з":34,"к":36,"с":34,"ф":34,"х":34,"ш":34},38],"л":[{".":33,"ж":34,"л":36,"с":34,"ф":34,"х":34,"ш":34},37],"м":[{".":33,"ж":34,"м":36,"с":34,"ф":34,"х":34,"ш":34},37],"н":[{".":33,"ж":34,"н":36,"с":34,"ф":34,"х":34,"ш":34},37],"п":[{".":33,"б":36,"г":36,"д":36,"ж":34,"з":34,"п":36,"с":34,"ф":34,"х":34,"ш":34},38],"р":[{".":33,"ж":34,"р":36,"с":34,"ф":34,"х":34,"ш":34},37],"с":[{".":33,"б":6,"в":6,"г":6,"д":6,"ж":34,"з":34,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":34,"т":6,"ф":34,"х":34,"ц":6,"ч":6,"ш":34,"щ":6},32],"т":[{".":33,"б":36,"г":36,"д":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},38],"ф":[{".":33,"б":6,"в":34,"г":6,"д":6,"ж":34,"з":34,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":34,"т":6,"ф":34,"х":34,"ц":6,"ч":6,"ш":34,"щ":6},32],"х":[{".":33,"б":6,"в":6,"г":6,"д":6,"ж":34,"з":34,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":34,"т":6,"ф":34,"х":34,"ц":6,"ч":6,"ш":34,"щ":6},32],"ц":[{".":33,"б":36,"г":36,"д":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},38],"ч":[{".":33,"б":36,"г":36,"д":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},38],"ш":[{".":33,"б":6,"в":6,"г":6,"д":6,"ж":34,"з":34,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":34,"т":6,"ф":34,"х":34,"ц":6,"ч":6,"ш":34,"щ":6},32],"щ":[{".":33,"ж":34,"с":34,"ф":34,"х":34,"ш":34,"щ":36},38]}],"з":[{"б":[{".":33,"б":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},35],"в":[{".":33,"в":36,"з":34,"с":34,"ф":34,"х":34,"ш":34},35],"г":[{".":33,"г":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},35],"д":[{".":33,"б":36,"г":36,"д":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},35],"ж":[{".":33,"ж":36,"з":34,"с":34,"ф":34,"х":34,"ш":34},35],"з":[{".":33,"б":6,"в":6,"г":6,"д":6,"ж":6,"з":34,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":34,"т":6,"ф":34,"х":34,"ц":6,"ч":6,"ш":34,"щ":6},32],"й":15,"к":[{".":33,"б":36,"г":36,"д":36,"ж":34,"з":34,"к":36,"с":34,"ф":34,"х":34,"ш":34},38],"л":[{".":33,"з":34,"л":36,"с":34,"ф":34,"х":34,"ш":34},37],"м":[{".":33,"з":34,"м":36,"с":34,"ф":34,"х":34,"ш":34},37],"н":[{".":33,"з":34,"н":36,"с":34,"ф":34,"х":34,"ш":34},37],"п":[{".":33,"б":36,"г":36,"д":36,"ж":34,"з":34,"п":36,"с":34,"ф":34,"х":34,"ш":34},38],"р":[{".":33,"з":34,"р":36,"с":34,"ф":34,"х":34,"ш":34},37],"с":[{".":33,"б":6,"в":6,"г":6,"д":6,"ж":34,"з":34,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":34,"т":6,"ф":34,"х":34,"ц":6,"ч":6,"ш":34,"щ":6},32],"т":[{".":33,"б":36,"г":36,"д":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},38],"ф":[{".":33,"б":6,"в":34,"г":6,"д":6,"ж":34,"з":34,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":34,"т":6,"ф":34,"х":34,"ц":6,"ч":6,"ш":34,"щ":6},32],"х":[{".":33,"б":6,"в":6,"г":6,"д":6,"ж":34,"з":34,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":34,"т":6,"ф":34,"х":34,"ц":6,"ч":6,"ш":34,"щ":6},32],"ц":[{".":33,"б":36,"г":36,"д":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},38],"ч":[{".":33,"б":36,"г":36,"д":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},38],"ш":[{".":33,"б":6,"в":6,"г":6,"д":6,"ж":34,"з":34,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":34,"т":6,"ф":34,"х":34,"ц":6,"ч":6,"ш":34,"щ":6},32],"щ":[{".":33,"з":34,"с":34,"ф":34,"х":34,"ш":34,"щ":36},38]}],"и":31,"й":[{"б":40,"в":40,"г":40,"д":40,"ж":40,"з":40,"к":40,"л":40,"м":40,"н":40,"п":40,"р":40,"с":40,"т":40,"ф":40,"х":40,"ц":40,"ч":40,"ш":40,"щ":40}],"к":[{"б":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"в":[{".":33,"б":34,"в":36,"г":34,"д":34,"к":34,"п":34,"т":34,"ф":36,"ц":34,"ч":34},37],"г":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"д":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"ж":[{".":33,"б":34,"г":34,"д":34,"ж":36,"к":34,"п":34,"с":36,"т":34,"ф":36,"х":36,"ц":34,"ч":34,"ш":36},37],"з":[{".":33,"б":34,"г":34,"д":34,"з":36,"к":34,"п":34,"с":36,"т":34,"ф":36,"х":36,"ц":34,"ч":34,"ш":36},37],"й":15,"к":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":6,"р":6,"с":6,"т":6,"ф":6,"х":6,"ц":6,"ч":6,"ш":6,"щ":6},32],"л":[{".":33,"б":34,"г":34,"д":34,"к":34,"л":36},37],"м":[{".":33,"б":34,"г":34,"д":34,"к":34,"м":36},37],"н":[{".":33,"б":34,"г":34,"д":34,"к":34,"н":36},37],"п":[{".":33,"б":34,"г":34,"д":34,"к":34,"п":36},35],"р":[{".":33,"б":34,"г":34,"д":34,"к":34,"р":36},37],"с":[{".":33,"б":34,"г":34,"д":34,"ж":36,"з":36,"к":34,"п":34,"с":36,"т":34,"ц":34,"ч":34},35],"т":[{".":33,"б":34,"г":34,"д":34,"к":34,"п":36,"т":36,"ц":36,"ч":36},35],"ф":[{".":33,"б":34,"в":36,"г":34,"д":34,"ж":36,"з":36,"к":34,"п":34,"т":34,"ф":36,"ц":34,"ч":34},35],"х":[{".":33,"б":34,"г":34,"д":34,"ж":36,"з":36,"к":34,"п":34,"т":34,"х":36,"ц":34,"ч":34},35],"ц":[{".":33,"б":34,"г":34,"д":34,"к":34,"п":36,"т":36,"ц":36,"ч":36},35],"ч":[{".":33,"б":34,"г":34,"д":34,"к":34,"п":36,"т":36,"ц":36,"ч":36},35],"ш":[{".":33,"б":34,"г":34,"д":34,"ж":36,"з":36,"к":34,"п":34,"т":34,"ц":34,"ч":34,"ш":36},35],"щ":[{".":33,"б":34,"г":34,"д":34,"к":34,"щ":36},35]}],"л":[{"б":[{".":33,"б":36,"к":36,"л":34,"п":36,"т":36,"ц":36,"ч":36},38],"в":[{".":33,"в":36,"л":34,"ф":36},38],"г":[{".":33,"г":36,"к":36,"л":34,"п":36,"т":36,"ц":36,"ч":36},38],"д":[{".":33,"б":36,"г":36,"д":36,"к":36,"л":34,"п":36,"т":36,"ц":36,"ч":36},38],"ж":[{".":33,"ж":36,"л":34,"с":36,"ф":36,"х":36,"ш":36},38],"з":[{".":33,"з":36,"л":34,"с":36,"ф":36,"х":36,"ш":36},38],"к":[{".":33,"б":36,"г":36,"д":36,"к":36,"л":34},38],"л":[{".":33,"б":6,"в":6,"г":6,"д":6,"ж":6,"з":6,"к":6,"л":34,"м":6,"н":6,"п":6,"р":6,"с":6,"т":6,"ф":6,"х":6,"ц":6,"ч":6,"ш":6,"щ":6},32],"м":[{".":33,"л":34,"м":36},38],"н":[{".":33,"л":34,"н":36},38],"п":[{".":33,"б":36,"г":36,"д":36,"л":34,"п":36},38],"р":[{".":33,"л":34,"р":36},37],"с":[{".":33,"ж":36,"з":36,"л":34,"с":36},38],"т":[{".":33,"б":36,"г":36,"д":36,"к":36,"л":34,"п":36,"т":36,"ц":36,"ч":36},38],"ф":[{".":33,"в":36,"ж":36,"з":36,"л":34,"ф":36},38],"х":[{".":33,"ж":36,"з":36,"л":34,"х":36},38],"ц":[{".":33,"б":36,"г":36,"д":36,"к":36,"л":34,"п":36,"т":36,"ц":36,"ч":36},38],"ч":[{".":33,"б":36,"г":36,"д":36,"к":36,"л":34,"п":36,"т":36,"ц":36,"ч":36},38],"ш":[{".":33,"ж":36,"з":36,"л":34,"ш":36},38],"щ":[{".":33,"л":34,"щ":36},38]}],"м":[{"б":[{".":33,"б":36,"к":36,"м":34,"п":36,"т":36,"ц":36,"ч":36},38],"в":[{".":33,"в":36,"м":34,"ф":36},38],"г":[{".":33,"г":36,"к":36,"м":34,"п":36,"т":36,"ц":36,"ч":36},38],"д":[{".":33,"б":36,"г":36,"д":36,"к":36,"м":34,"п":36,"т":36,"ц":36,"ч":36},38],"ж":[{".":33,"ж":36,"м":34,"с":36,"ф":36,"х":36,"ш":36},38],"з":[{".":33,"з":36,"м":34,"с":36,"ф":36,"х":36,"ш":36},38],"к":[{".":33,"б":36,"г":36,"д":36,"к":36,"м":34},38],"л":[{".":33,"л":36,"м":34},37],"м":[{".":33,"б":6,"в":6,"г":6,"д":6,"ж":6,"з":6,"к":6,"л":6,"м":34,"н":6,"п":6,"р":6,"с":6,"т":6,"ф":6,"х":6,"ц":6,"ч":6,"ш":6,"щ":6},32],"н":[{".":33,"м":34,"н":36},37],"п":[{".":33,"б":36,"г":36,"д":36,"м":34,"п":36},38],"р":[{".":33,"м":34,"р":36},37],"с":[{".":33,"ж":36,"з":36,"м":34,"с":36},38],"т":[{".":33,"б":36,"г":36,"д":36,"к":36,"м":34,"п":36,"т":36,"ц":36,"ч":36},38],"ф":[{".":33,"в":36,"ж":36,"з":36,"м":34,"ф":36},38],"х":[{".":33,"ж":36,"з":36,"м":34,"х":36},38],"ц":[{".":33,"б":36,"г":36,"д":36,"к":36,"м":34,"п":36,"т":36,"ц":36,"ч":36},38],"ч":[{".":33,"б":36,"г":36,"д":36,"к":36,"м":34,"п":36,"т":36,"ц":36,"ч":36},38],"ш":[{".":33,"ж":36,"з":36,"м":34,"ш":36},38],"щ":[{".":33,"м":34,"щ":36},38]}],"н":[{"а":[{"д":[{"з":41}]}],"б":[{".":33,"б":36,"к":36,"н":34,"п":36,"т":36,"ц":36,"ч":36},38],"в":[{".":33,"в":36,"н":34,"ф":36},38],"г":[{".":33,"г":36,"к":36,"н":34,"п":36,"т":36,"ц":36,"ч":36},38],"д":[{".":33,"б":36,"г":36,"д":36,"к":36,"н":34,"п":36,"т":36,"ц":36,"ч":36},38],"ж":[{".":33,"ж":36,"н":34,"с":36,"ф":36,"х":36,"ш":36},38],"з":[{".":33,"з":36,"н":34,"с":36,"ф":36,"х":36,"ш":36},38],"к":[{".":33,"б":36,"г":36,"д":36,"к":36,"н":34},38],"л":[{".":33,"л":36,"н":34},37],"м":[{".":33,"м":36,"н":34},38],"н":[{".":33,"б":6,"в":6,"г":6,"д":6,"ж":6,"з":6,"к":6,"л":6,"м":6,"н":34,"п":6,"р":6,"с":6,"т":6,"ф":6,"х":6,"ц":6,"ч":6,"ш":6,"щ":6},32],"п":[{".":33,"б":36,"г":36,"д":36,"н":34,"п":36},38],"р":[{".":33,"н":34,"р":36},37],"с":[{".":33,"ж":36,"з":36,"н":34,"с":36},38],"т":[{".":33,"б":36,"г":36,"д":36,"к":36,"н":34,"п":36,"т":36,"ц":36,"ч":36},38],"ф":[{".":33,"в":36,"ж":36,"з":36,"н":34,"ф":36},38],"х":[{".":33,"ж":36,"з":36,"н":34,"х":36},38],"ц":[{".":33,"б":36,"г":36,"д":36,"к":36,"н":34,"п":36,"т":36,"ц":36,"ч":36},38],"ч":[{".":33,"б":36,"г":36,"д":36,"к":36,"н":34,"п":36,"т":36,"ц":36,"ч":36},38],"ш":[{".":33,"ж":36,"з":36,"н":34,"ш":36},38],"щ":[{".":33,"н":34,"щ":36},38]}],"о":31,"п":[{"б":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"в":[{".":33,"б":34,"в":36,"г":34,"д":34,"к":34,"п":34,"т":34,"ф":36,"ц":34,"ч":34},37],"г":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"д":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"ж":[{".":33,"б":34,"г":34,"д":34,"ж":36,"к":34,"п":34,"с":36,"т":34,"ф":36,"х":36,"ц":34,"ч":34,"ш":36},37],"з":[{".":33,"б":34,"г":34,"д":34,"з":36,"к":34,"п":34,"с":36,"т":34,"ф":36,"х":36,"ц":34,"ч":34,"ш":36},37],"й":15,"к":[{".":33,"б":34,"г":34,"д":34,"к":36,"п":34},35],"л":[{".":33,"б":34,"г":34,"д":34,"л":36,"п":34},37],"м":[{".":33,"б":34,"г":34,"д":34,"м":36,"п":34},37],"н":[{".":33,"б":34,"г":34,"д":34,"н":36,"п":34},37],"о":[{"д":[{"з":41}]}],"п":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":6,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":6,"ф":6,"х":6,"ц":6,"ч":6,"ш":6,"щ":6},32],"р":[{".":33,"б":34,"г":34,"д":34,"е":[{"д":[{"ж":42,"з":43}]}],"п":34,"р":36},37],"с":[{".":33,"б":34,"г":34,"д":34,"ж":36,"з":36,"к":34,"п":34,"с":36,"т":34,"ц":34,"ч":34},35],"т":[{".":33,"б":34,"г":34,"д":34,"к":36,"п":34,"т":36,"ц":36,"ч":36},35],"ф":[{".":33,"б":34,"в":36,"г":34,"д":34,"ж":36,"з":36,"к":34,"п":34,"т":34,"ф":36,"ц":34,"ч":34},35],"х":[{".":33,"б":34,"г":34,"д":34,"ж":36,"з":36,"к":34,"п":34,"т":34,"х":36,"ц":34,"ч":34},35],"ц":[{".":33,"б":34,"г":34,"д":34,"к":36,"п":34,"т":36,"ц":36,"ч":36},35],"ч":[{".":33,"б":34,"г":34,"д":34,"к":36,"п":34,"т":36,"ц":36,"ч":36},35],"ш":[{".":33,"б":34,"г":34,"д":34,"ж":36,"з":36,"к":34,"п":34,"т":34,"ц":34,"ч":34,"ш":36},35],"щ":[{".":33,"б":34,"г":34,"д":34,"п":34,"щ":36},35]}],"р":[{"б":[{".":33,"б":36,"к":36,"п":36,"р":34,"т":36,"ц":36,"ч":36},38],"в":[{".":33,"в":36,"р":34,"ф":36},38],"г":[{".":33,"г":36,"к":36,"п":36,"р":34,"т":36,"ц":36,"ч":36},38],"д":[{".":33,"б":36,"г":36,"д":36,"к":36,"п":36,"р":34,"т":36,"ц":36,"ч":36},38],"ж":[{".":33,"ж":36,"р":34,"с":36,"ф":36,"х":36,"ш":36},38],"з":[{".":33,"з":36,"р":34,"с":36,"ф":36,"х":36,"ш":36},38],"к":[{".":33,"б":36,"г":36,"д":36,"к":36,"р":34},38],"л":[{".":33,"л":36,"р":34},38],"м":[{".":33,"м":36,"р":34},38],"н":[{".":33,"н":36,"р":34},38],"п":[{".":33,"б":36,"г":36,"д":36,"п":36,"р":34},38],"р":[{".":33,"б":6,"в":6,"г":6,"д":6,"ж":6,"з":6,"к":6,"л":6,"м":6,"н":6,"п":6,"р":34,"с":6,"т":6,"ф":6,"х":6,"ц":6,"ч":6,"ш":6,"щ":6},32],"с":[{".":33,"ж":36,"з":36,"р":34,"с":36},38],"т":[{".":33,"б":36,"г":36,"д":36,"к":36,"п":36,"р":34,"т":36,"ц":36,"ч":36},38],"ф":[{".":33,"в":36,"ж":36,"з":36,"р":34,"ф":36},38],"х":[{".":33,"ж":36,"з":36,"р":34,"х":36},38],"ц":[{".":33,"б":36,"г":36,"д":36,"к":36,"п":36,"р":34,"т":36,"ц":36,"ч":36},38],"ч":[{".":33,"б":36,"г":36,"д":36,"к":36,"п":36,"р":34,"т":36,"ц":36,"ч":36},38],"ш":[{".":33,"ж":36,"з":36,"р":34,"ш":36},38],"щ":[{".":33,"р":34,"щ":36},38]}],"с":[{"б":[{".":33,"б":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},37],"в":[{".":33,"в":36,"ж":34,"з":34,"с":34,"ф":36},37],"г":[{".":33,"г":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},37],"д":[{".":33,"б":36,"г":36,"д":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},37],"ж":[{".":33,"б":6,"в":6,"г":6,"д":6,"ж":34,"з":34,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":34,"т":6,"ф":34,"х":34,"ц":6,"ч":6,"ш":34,"щ":6},32],"з":[{".":33,"б":6,"в":6,"г":6,"д":6,"ж":34,"з":34,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":34,"т":6,"ф":34,"х":34,"ц":6,"ч":6,"ш":34,"щ":6},32],"й":15,"к":[{".":33,"б":36,"г":36,"д":36,"ж":34,"з":34,"к":36,"с":34,"ф":34,"х":34,"ш":34},35],"л":[{".":33,"ж":34,"з":34,"л":36,"с":34},37],"м":[{".":33,"ж":34,"з":34,"м":36,"с":34},37],"н":[{".":33,"ж":34,"з":34,"н":36,"с":34},37],"п":[{".":33,"б":36,"г":36,"д":36,"ж":34,"з":34,"п":36,"с":34,"ф":34,"х":34,"ш":34},35],"р":[{".":33,"ж":34,"з":34,"р":36,"с":34},37],"с":[{".":33,"б":6,"в":6,"г":6,"д":6,"ж":34,"з":34,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":34,"т":6,"ф":6,"х":6,"ц":6,"ч":6,"ш":6,"щ":6},32],"т":[{".":33,"б":36,"г":36,"д":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},35],"ф":[{".":33,"в":36,"ж":34,"з":34,"с":34,"ф":36},35],"х":[{".":33,"ж":34,"з":34,"с":34,"х":36},35],"ц":[{".":33,"б":36,"г":36,"д":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},35],"ч":[{".":33,"б":36,"г":36,"д":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},35],"ш":[{".":33,"ж":34,"з":34,"с":34,"ш":36},35],"щ":[{".":33,"ж":34,"з":34,"с":34,"щ":36},35]}],"т":[{"б":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"в":[{".":33,"б":34,"в":36,"г":34,"д":34,"к":34,"п":34,"т":34,"ф":36,"ц":34,"ч":34},37],"г":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"д":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"ж":[{".":33,"б":34,"г":34,"д":34,"ж":36,"к":34,"п":34,"с":36,"т":34,"ф":36,"х":36,"ц":34,"ч":34,"ш":36},37],"з":[{".":33,"б":34,"г":34,"д":34,"з":36,"к":34,"п":34,"с":36,"т":34,"ф":36,"х":36,"ц":34,"ч":34,"ш":36},37],"й":15,"к":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"л":[{".":33,"б":34,"г":34,"д":34,"к":34,"л":36,"п":34,"т":34,"ц":34,"ч":34},37],"м":[{".":33,"б":34,"г":34,"д":34,"к":34,"м":36,"п":34,"т":34,"ц":34,"ч":34},37],"н":[{".":33,"б":34,"г":34,"д":34,"к":34,"н":36,"п":34,"т":34,"ц":34,"ч":34},37],"п":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"р":[{".":33,"б":34,"г":34,"д":34,"к":34,"п":34,"р":36,"т":34,"ц":34,"ч":34},37],"с":[{".":33,"б":34,"г":34,"д":34,"ж":36,"з":36,"к":34,"п":34,"с":36,"т":34,"ц":34,"ч":34},35],"т":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"ф":[{".":33,"б":34,"в":36,"г":34,"д":34,"ж":36,"з":36,"к":34,"п":34,"т":34,"ф":36,"ц":34,"ч":34},35],"х":[{".":33,"б":34,"г":34,"д":34,"ж":36,"з":36,"к":34,"п":34,"т":34,"х":36,"ц":34,"ч":34},35],"ц":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"ч":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"ш":[{".":33,"б":34,"г":34,"д":34,"ж":36,"з":36,"к":34,"п":34,"т":34,"ц":34,"ч":34,"ш":36},35],"щ":[{".":33,"б":34,"г":34,"д":34,"к":34,"п":34,"т":34,"ц":34,"ч":34,"щ":36},35]}],"у":31,"ф":[{"б":[{".":33,"б":36,"в":34,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},37],"в":[{".":33,"б":6,"в":34,"г":6,"д":6,"ж":34,"з":34,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":6,"т":6,"ф":34,"х":6,"ц":6,"ч":6,"ш":6,"щ":6},32],"г":[{".":33,"в":34,"г":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},37],"д":[{".":33,"б":36,"в":34,"г":36,"д":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},37],"ж":[{".":33,"б":6,"в":34,"г":6,"д":6,"ж":34,"з":34,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":34,"т":6,"ф":34,"х":34,"ц":6,"ч":6,"ш":34,"щ":6},32],"з":[{".":33,"б":6,"в":34,"г":6,"д":6,"ж":34,"з":34,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":34,"т":6,"ф":34,"х":34,"ц":6,"ч":6,"ш":34,"щ":6},32],"й":15,"к":[{".":33,"б":36,"в":34,"г":36,"д":36,"ж":34,"з":34,"к":36,"с":34,"ф":34,"х":34,"ш":34},35],"л":[{".":33,"в":34,"ж":34,"з":34,"л":36,"ф":34},37],"м":[{".":33,"в":34,"ж":34,"з":34,"м":36,"ф":34},37],"н":[{".":33,"в":34,"ж":34,"з":34,"н":36,"ф":34},37],"п":[{".":33,"б":36,"в":34,"г":36,"д":36,"ж":34,"з":34,"п":36,"с":34,"ф":34,"х":34,"ш":34},35],"р":[{".":33,"в":34,"ж":34,"з":34,"р":36,"ф":34},37],"с":[{".":33,"в":34,"ж":34,"з":34,"с":36,"ф":34},35],"т":[{".":33,"б":36,"в":34,"г":36,"д":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},35],"ф":[{".":33,"б":6,"в":34,"г":6,"д":6,"ж":34,"з":34,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":6,"т":6,"ф":34,"х":6,"ц":6,"ч":6,"ш":6,"щ":6},32],"х":[{".":33,"в":34,"ж":34,"з":34,"ф":34,"х":36},35],"ц":[{".":33,"б":36,"в":34,"г":36,"д":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},35],"ч":[{".":33,"б":36,"в":34,"г":36,"д":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},35],"ш":[{".":33,"в":34,"ж":34,"з":34,"ф":34,"ш":36},35],"щ":[{".":33,"в":34,"ж":34,"з":34,"ф":34,"щ":36},35]}],"х":[{"б":[{".":33,"б":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},37],"в":[{".":33,"в":36,"ж":34,"з":34,"ф":36,"х":34},37],"г":[{".":33,"г":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},37],"д":[{".":33,"б":36,"г":36,"д":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},37],"ж":[{".":33,"б":6,"в":6,"г":6,"д":6,"ж":34,"з":34,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":34,"т":6,"ф":34,"х":34,"ц":6,"ч":6,"ш":34,"щ":6},32],"з":[{".":33,"б":6,"в":6,"г":6,"д":6,"ж":34,"з":34,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":34,"т":6,"ф":34,"х":34,"ц":6,"ч":6,"ш":34,"щ":6},32],"й":15,"к":[{".":33,"б":36,"г":36,"д":36,"ж":34,"з":34,"к":36,"с":34,"ф":34,"х":34,"ш":34},35],"л":[{".":33,"ж":34,"з":34,"л":36,"х":34},37],"м":[{".":33,"ж":34,"з":34,"м":36,"х":34},37],"н":[{".":33,"ж":34,"з":34,"н":36,"х":34},37],"п":[{".":33,"б":36,"г":36,"д":36,"ж":34,"з":34,"п":36,"с":34,"ф":34,"х":34,"ш":34},35],"р":[{".":33,"ж":34,"з":34,"р":36,"х":34},37],"с":[{".":33,"ж":34,"з":34,"с":36,"х":34},35],"т":[{".":33,"б":36,"г":36,"д":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},35],"ф":[{".":33,"в":36,"ж":34,"з":34,"ф":36,"х":34},35],"х":[{".":33,"б":6,"в":6,"г":6,"д":6,"ж":34,"з":34,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":6,"т":6,"ф":6,"х":34,"ц":6,"ч":6,"ш":6,"щ":6},32],"ц":[{".":33,"б":36,"г":36,"д":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},35],"ч":[{".":33,"б":36,"г":36,"д":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},35],"ш":[{".":33,"ж":34,"з":34,"х":34,"ш":36},35],"щ":[{".":33,"ж":34,"з":34,"х":34,"щ":36},35]}],"ц":[{"б":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"в":[{".":33,"б":34,"в":36,"г":34,"д":34,"к":34,"п":34,"т":34,"ф":36,"ц":34,"ч":34},37],"г":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"д":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"ж":[{".":33,"б":34,"г":34,"д":34,"ж":36,"к":34,"п":34,"с":36,"т":34,"ф":36,"х":36,"ц":34,"ч":34,"ш":36},37],"з":[{".":33,"б":34,"г":34,"д":34,"з":36,"к":34,"п":34,"с":36,"т":34,"ф":36,"х":36,"ц":34,"ч":34,"ш":36},37],"й":15,"к":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"л":[{".":33,"б":34,"г":34,"д":34,"к":34,"л":36,"п":34,"т":34,"ц":34,"ч":34},37],"м":[{".":33,"б":34,"г":34,"д":34,"к":34,"м":36,"п":34,"т":34,"ц":34,"ч":34},37],"н":[{".":33,"б":34,"г":34,"д":34,"к":34,"н":36,"п":34,"т":34,"ц":34,"ч":34},37],"п":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"р":[{".":33,"б":34,"г":34,"д":34,"к":34,"п":34,"р":36,"т":34,"ц":34,"ч":34},37],"с":[{".":33,"б":34,"г":34,"д":34,"ж":36,"з":36,"к":34,"п":34,"с":36,"т":34,"ц":34,"ч":34},35],"т":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"ф":[{".":33,"б":34,"в":36,"г":34,"д":34,"ж":36,"з":36,"к":34,"п":34,"т":34,"ф":36,"ц":34,"ч":34},35],"х":[{".":33,"б":34,"г":34,"д":34,"ж":36,"з":36,"к":34,"п":34,"т":34,"х":36,"ц":34,"ч":34},35],"ц":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"ч":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"ш":[{".":33,"б":34,"г":34,"д":34,"ж":36,"з":36,"к":34,"п":34,"т":34,"ц":34,"ч":34,"ш":36},35],"щ":[{".":33,"б":34,"г":34,"д":34,"к":34,"п":34,"т":34,"ц":34,"ч":34,"щ":36},35]}],"ч":[{"б":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"в":[{".":33,"б":34,"в":36,"г":34,"д":34,"к":34,"п":34,"т":34,"ф":36,"ц":34,"ч":34},37],"г":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"д":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"ж":[{".":33,"б":34,"г":34,"д":34,"ж":36,"к":34,"п":34,"с":36,"т":34,"ф":36,"х":36,"ц":34,"ч":34,"ш":36},37],"з":[{".":33,"б":34,"г":34,"д":34,"з":36,"к":34,"п":34,"с":36,"т":34,"ф":36,"х":36,"ц":34,"ч":34,"ш":36},37],"й":15,"к":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"л":[{".":33,"б":34,"г":34,"д":34,"к":34,"л":36,"п":34,"т":34,"ц":34,"ч":34},37],"м":[{".":33,"б":34,"г":34,"д":34,"к":34,"м":36,"п":34,"т":34,"ц":34,"ч":34},37],"н":[{".":33,"б":34,"г":34,"д":34,"к":34,"н":36,"п":34,"т":34,"ц":34,"ч":34},37],"п":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"р":[{".":33,"б":34,"г":34,"д":34,"к":34,"п":34,"р":36,"т":34,"ц":34,"ч":34},37],"с":[{".":33,"б":34,"г":34,"д":34,"ж":36,"з":36,"к":34,"п":34,"с":36,"т":34,"ц":34,"ч":34},35],"т":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"ф":[{".":33,"б":34,"в":36,"г":34,"д":34,"ж":36,"з":36,"к":34,"п":34,"т":34,"ф":36,"ц":34,"ч":34},35],"х":[{".":33,"б":34,"г":34,"д":34,"ж":36,"з":36,"к":34,"п":34,"т":34,"х":36,"ц":34,"ч":34},35],"ц":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"ч":[{".":33,"б":34,"в":6,"г":34,"д":34,"ж":6,"з":6,"к":34,"л":6,"м":6,"н":6,"п":34,"р":6,"с":6,"т":34,"ф":6,"х":6,"ц":34,"ч":34,"ш":6,"щ":6},32],"ш":[{".":33,"б":34,"г":34,"д":34,"ж":36,"з":36,"к":34,"п":34,"т":34,"ц":34,"ч":34,"ш":36},35],"щ":[{".":33,"б":34,"г":34,"д":34,"к":34,"п":34,"т":34,"ц":34,"ч":34,"щ":36},35]}],"ш":[{"б":[{".":33,"б":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},37],"в":[{".":33,"в":36,"ж":34,"з":34,"ф":36,"ш":34},37],"г":[{".":33,"г":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},37],"д":[{".":33,"б":36,"г":36,"д":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},37],"ж":[{".":33,"б":6,"в":6,"г":6,"д":6,"ж":34,"з":34,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":34,"т":6,"ф":34,"х":34,"ц":6,"ч":6,"ш":34,"щ":6},32],"з":[{".":33,"б":6,"в":6,"г":6,"д":6,"ж":34,"з":34,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":34,"т":6,"ф":34,"х":34,"ц":6,"ч":6,"ш":34,"щ":6},32],"й":15,"к":[{".":33,"б":36,"г":36,"д":36,"ж":34,"з":34,"к":36,"с":34,"ф":34,"х":34,"ш":34},35],"л":[{".":33,"ж":34,"з":34,"л":36,"ш":34},37],"м":[{".":33,"ж":34,"з":34,"м":36,"ш":34},37],"н":[{".":33,"ж":34,"з":34,"н":36,"ш":34},37],"п":[{".":33,"б":36,"г":36,"д":36,"ж":34,"з":34,"п":36,"с":34,"ф":34,"х":34,"ш":34},35],"р":[{".":33,"ж":34,"з":34,"р":36,"ш":34},37],"с":[{".":33,"ж":34,"з":34,"с":36,"ш":34},35],"т":[{".":33,"б":36,"г":36,"д":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},35],"ф":[{".":33,"в":36,"ж":34,"з":34,"ф":36,"ш":34},35],"х":[{".":33,"ж":34,"з":34,"х":36,"ш":34},35],"ц":[{".":33,"б":36,"г":36,"д":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},35],"ч":[{".":33,"б":36,"г":36,"д":36,"ж":34,"з":34,"к":36,"п":36,"с":34,"т":36,"ф":34,"х":34,"ц":36,"ч":36,"ш":34},35],"ш":[{".":33,"б":6,"в":6,"г":6,"д":6,"ж":34,"з":34,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":6,"т":6,"ф":6,"х":6,"ц":6,"ч":6,"ш":34,"щ":6},32],"щ":[{".":33,"ж":34,"з":34,"ш":34,"щ":36},35]}],"щ":[{"б":[{".":33,"б":36,"к":36,"п":36,"т":36,"ц":36,"ч":36,"щ":34},37],"в":[{".":33,"в":36,"ф":36,"щ":34},37],"г":[{".":33,"г":36,"к":36,"п":36,"т":36,"ц":36,"ч":36,"щ":34},37],"д":[{".":33,"б":36,"г":36,"д":36,"к":36,"п":36,"т":36,"ц":36,"ч":36,"щ":34},37],"ж":[{".":33,"ж":36,"с":36,"ф":36,"х":36,"ш":36,"щ":34},37],"з":[{".":33,"з":36,"с":36,"ф":36,"х":36,"ш":36,"щ":34},37],"й":15,"к":[{".":33,"б":36,"г":36,"д":36,"к":36,"щ":34},35],"л":[{".":33,"л":36,"щ":34},37],"м":[{".":33,"м":36,"щ":34},37],"н":[{".":33,"н":36,"щ":34},37],"п":[{".":33,"б":36,"г":36,"д":36,"п":36,"щ":34},35],"р":[{".":33,"р":36,"щ":34},37],"с":[{".":33,"ж":36,"з":36,"с":36,"щ":34},35],"т":[{".":33,"б":36,"г":36,"д":36,"к":36,"п":36,"т":36,"ц":36,"ч":36,"щ":34},35],"ф":[{".":33,"в":36,"ж":36,"з":36,"ф":36,"щ":34},35],"х":[{".":33,"ж":36,"з":36,"х":36,"щ":34},35],"ц":[{".":33,"б":36,"г":36,"д":36,"к":36,"п":36,"т":36,"ц":36,"ч":36,"щ":34},35],"ч":[{".":33,"б":36,"г":36,"д":36,"к":36,"п":36,"т":36,"ц":36,"ч":36,"щ":34},35],"ш":[{".":33,"ж":36,"з":36,"ш":36,"щ":34},35],"щ":[{".":33,"б":6,"в":6,"г":6,"д":6,"ж":6,"з":6,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":6,"т":6,"ф":6,"х":6,"ц":6,"ч":6,"ш":6,"щ":34},32]}],"ъ":31,"ю":31,"я":31}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/7493.adapter.js b/public/tools/cloud_sheets/vendor/univer/7493.adapter.js new file mode 100644 index 0000000..f94837a --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/7493.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[7493],{7493(o,s,n){n.r(s),n.d(s,{ElMonoton:()=>t});const t=["01,02,03,033,4,04,41,452,002,6,401",'{"α":[{"ι":1,"ί":1,"ί":1,"υ":1,"ύ":1,"ύ":1,"η":1,"ϊ":1,"ϋ":1},0],"ε":[{"ι":1,"ί":1,"ί":1,"υ":1,"ύ":1,"ύ":1,"ϊ":1,"ϋ":1},0],"η":[{"υ":1,"ύ":1,"ύ":1,"α":1,"ά":1,"ά":1,"ε":1,"έ":1,"έ":1,"ο":1,"ό":1,"ό":1,"ω":1,"ώ":1,"ώ":1},0],"ι":[{"α":1,"ά":1,"ά":1,"ε":1,"έ":1,"έ":1,"ο":1,"ό":1,"ό":1,"ω":1,"ώ":1,"ώ":1},0],"ο":[{"ι":1,"ί":1,"ί":1,"υ":1,"ύ":1,"ύ":1,"ε":[{"ι":1}],"η":1,"ϊ":[{"ό":3,"ό":3},1]},0],"υ":[{"ι":1,"ί":1,"ί":1,"α":1,"ά":1,"ά":1,"ο":1,"ό":1,"ό":1,"ω":1,"ώ":1,"ώ":1},0],"ω":0,"ϊ":0,"ϋ":0,"ά":[{"ι":[{".":2},1],"ϊ":1,"υ":2,"η":[{".":2}]},0],"έ":[{"ι":1,"ϊ":1,"υ":2},0],"ή":[{"υ":2},0],"ί":0,"ό":[{"ι":[{".":2},1],"ϊ":1,"υ":2,"η":[{".":2}]},0],"ύ":[{"ι":2},0],"ώ":0,"ΐ":0,"ΰ":0,"ά":[{"ι":[{".":2},1],"ϊ":1,"υ":2,"η":[{".":2}]}],"έ":[{"ι":1,"ϊ":1,"υ":2}],"ή":[{"υ":2}],"ό":[{"ι":[{".":2},1],"ϊ":1,"υ":2,"η":[{".":2}]}],"ύ":[{"ι":2}],".":[{"ι":2,"ί":2,"ί":2,"η":2,"ή":2,"ή":2,"υ":2,"ύ":2,"ύ":2,"β":5,"γ":5,"δ":5,"ζ":5,"θ":5,"κ":5,"λ":5,"μ":5,"ν":5,"ξ":5,"π":5,"ρ":5,"σ":5,"ϲ":5,"τ":5,"φ":5,"χ":5,"ψ":5}],"β":[{".":4,"\'":4,"ʼ":4,"᾿":4,"β":6,"ζ":6,"θ":6,"κ":6,"μ":6,"ν":6,"ξ":6,"π":6,"σ":6,"ϲ":6,"τ":6,"φ":6,"χ":6,"ψ":6,"ρ":[{".":4}]}],"γ":[{".":4,"κ":[{".":4,"φ":7,"τ":[{"ζ":10,"σ":10,"ϲ":10},6],"ς":[{".":4}],"ϲ":[{".":4}],"σ":[{".":4}],"μ":[{"π":10}],"ν":[{"τ":10}]}],"\'":4,"ʼ":4,"᾿":4,"γ":6,"β":6,"ζ":6,"θ":6,"μ":6,"ξ":[{"τ":7},6],"π":6,"σ":6,"ϲ":6,"τ":6,"φ":6,"χ":6,"ψ":6,"λ":[{".":4}]}],"δ":[{".":4,"\'":4,"ʼ":4,"᾿":4,"δ":6,"β":6,"γ":6,"ζ":6,"θ":6,"κ":6,"λ":6,"ξ":6,"π":6,"σ":6,"ϲ":6,"τ":6,"φ":6,"χ":6,"ψ":6}],"ζ":[{".":4,"\'":4,"ʼ":4,"᾿":4,"ζ":6,"β":6,"γ":6,"δ":6,"θ":6,"κ":6,"λ":6,"μ":6,"ν":6,"ξ":6,"π":6,"ρ":6,"σ":6,"ϲ":6,"τ":6,"φ":6,"χ":6,"ψ":6}],"θ":[{".":4,"\'":4,"ʼ":4,"᾿":4,"θ":6,"β":6,"γ":6,"δ":6,"ζ":6,"κ":6,"μ":6,"ξ":6,"π":6,"σ":6,"ϲ":6,"τ":6,"φ":6,"χ":6,"ψ":6}],"κ":[{".":4,"\'":4,"ʼ":4,"᾿":4,"κ":6,"β":6,"γ":6,"δ":6,"ζ":6,"θ":6,"μ":6,"ξ":6,"π":6,"σ":[{".":4},6],"ϲ":[{".":9},6],"φ":6,"χ":6,"ψ":6,"λ":[{".":4}],"τ":[{".":4}],"ς":[{".":9}]}],"λ":[{".":4,"\'":4,"ʼ":4,"᾿":4,"λ":6,"κ":[{"μ":7},6],"β":6,"γ":6,"δ":6,"ζ":6,"θ":6,"μ":6,"ν":6,"ξ":6,"π":6,"ρ":6,"σ":[{".":4},6],"ϲ":[{".":4},6],"τ":6,"φ":6,"χ":6,"ψ":6,"ς":[{".":4}]}],"μ":[{".":4,"π":[{".":4,"\'":4,"ʼ":4,"᾿":4,"τ":[{"ζ":10,"σ":10,"ϲ":10},6],"λ":[{".":4}],"ν":[{".":4,"τ":10}],"ρ":[{".":4}]}],"\'":4,"ʼ":4,"᾿":4,"μ":6,"β":6,"γ":6,"δ":6,"ζ":6,"θ":6,"κ":6,"λ":6,"ξ":6,"ρ":6,"σ":[{".":4},6],"ϲ":[{".":4},6],"τ":6,"φ":6,"χ":6,"ψ":[{"τ":7},6],"ς":[{".":4}]}],"ν":[{".":4,"τ":[{".":4,"\'":4,"’":4,"᾿":4,"ζ":6,"σ":[{".":4},6],"ϲ":[{".":4},6],"ς":[{".":4}],"μ":[{"π":10}]}],"\'":4,"ʼ":4,"᾿":4,"ν":6,"κ":[{"φ":7},6],"β":6,"γ":6,"δ":6,"ζ":6,"θ":6,"λ":6,"μ":6,"ξ":6,"π":6,"ρ":6,"σ":[{".":4},6],"ϲ":[{".":4},6],"φ":6,"χ":6,"ψ":6,"ς":[{".":4}]}],"ξ":[{".":4,"\'":4,"ʼ":4,"᾿":4,"β":6,"γ":6,"δ":6,"ζ":6,"θ":6,"κ":6,"λ":6,"μ":6,"ν":6,"π":6,"ρ":6,"σ":6,"ϲ":6,"τ":6,"φ":6,"χ":6,"ψ":6}],"π":[{".":4,"\'":4,"ʼ":4,"᾿":4,"π":6,"β":6,"γ":6,"δ":6,"ζ":6,"θ":6,"κ":6,"μ":6,"ξ":6,"σ":6,"ϲ":6,"φ":6,"χ":6,"ψ":6}],"ρ":[{".":4,"\'":4,"ʼ":4,"᾿":4,"ρ":6,"γ":[{"μ":7},6],"θ":[{"μ":7},6],"κ":[{"μ":7},6],"ξ":[{"τ":7},6],"β":6,"δ":6,"ζ":6,"λ":6,"μ":6,"ν":6,"π":6,"σ":[{".":4},6],"ϲ":[{".":4},6],"τ":6,"φ":[{"ν":7},6],"χ":[{"μ":7},6],"ψ":6,"ς":[{".":4}]}],"σ":[{".":4,"\'":4,"ʼ":4,"᾿":4,"σ":6,"θ":[{"μ":8}],"δ":6,"ζ":6,"ν":6,"ξ":6,"ρ":6,"ψ":6,"τ":[{"φ":8,".":4}],"κ":[{".":4}]}],"ϲ":[{".":4,"\'":4,"ʼ":4,"᾿":4,"ϲ":6,"θ":[{"μ":8}],"δ":6,"ζ":6,"ν":6,"ξ":6,"ρ":6,"ψ":6,"τ":[{"φ":8,".":4}],"κ":[{".":4}]}],"ς":[{".":4}],"τ":[{".":4,"ζ":[{".":4,"\'":4,"ʼ":4,"᾿":4,"μ":8}],"σ":[{".":4,"\'":4,"ʼ":4,"᾽":4,"γ":[{"κ":10}],"μ":[{"π":10}],"ν":[{"τ":10}]}],"ϲ":[{".":4,"\'":4,"ʼ":4,"᾿":4,"γ":[{"κ":10}],"μ":[{"π":10}],"ν":[{"τ":10}]}],"ς":[{".":4}],"\'":4,"ʼ":4,"᾿":4,"τ":6,"β":6,"γ":6,"δ":6,"θ":6,"κ":6,"ν":6,"ξ":6,"π":6,"φ":6,"χ":6,"ψ":6,"λ":[{".":4}],"ρ":[{".":4}]}],"φ":[{".":4,"\'":4,"ʼ":4,"᾿":4,"φ":6,"β":6,"γ":6,"δ":6,"ζ":6,"κ":6,"μ":6,"ν":6,"ξ":6,"π":6,"σ":6,"ϲ":6,"χ":6,"ψ":6,"τ":[{".":4}]}],"χ":[{".":4,"\'":4,"ʼ":4,"᾿":4,"χ":6,"β":6,"γ":6,"δ":6,"ζ":6,"κ":6,"μ":6,"ξ":6,"π":6,"σ":6,"ϲ":6,"φ":6,"ψ":6,"τ":[{".":4}]}],"ψ":[{".":4,"\'":4,"ʼ":4,"᾿":4,"ψ":6,"β":6,"γ":6,"δ":6,"ζ":6,"θ":6,"κ":6,"λ":6,"μ":6,"ν":6,"ξ":6,"π":6,"ρ":6,"σ":6,"ϲ":6,"τ":6,"φ":6,"χ":6}],"\'":4,"ʼ":4,"᾿":4}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/7898.adapter.js b/public/tools/cloud_sheets/vendor/univer/7898.adapter.js new file mode 100644 index 0000000..30f7e4c --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/7898.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[7898],{7898(s,o,a){a.r(o),a.d(o,{Ta:()=>e});const e=["22,11,01,1,201,21",'{"‍":0,"‌":1,"அ":1,"ஆ":1,"இ":1,"ஈ":1,"உ":1,"ஊ":1,"எ":1,"ஏ":1,"ஐ":1,"ஒ":1,"ஓ":1,"ஔ":1,"ா":2,"ி":2,"ீ":2,"ு":2,"ூ":2,"ெ":2,"ே":2,"ை":2,"ொ":2,"ோ":2,"ௌ":2,"க":[{"்":4},3],"ங":[{"்":4},3],"ச":[{"்":4},3],"ஜ":3,"ஞ":[{"்":4},3],"ட":[{"்":4},3],"ண":[{"்":4},3],"த":[{"்":4},3],"ந":[{"்":4},3],"ப":[{"்":4},3],"ம":[{"்":4},3],"ய":[{"்":4},3],"ர":[{"்":4},3],"ற":[{"்":4},3],"ல":[{"்":4},3],"ள":[{"்":4},3],"ழ":[{"்":4},3],"வ":[{"்":4},3],"ஷ":[{"்":4},3],"ஸ":[{"்":4},3],"ஹ":[{"்":4},3],"ன":[{"்":4}],"ஂ":5,"ஃ":5,"ௗ":5,"்":5}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/7951.adapter.js b/public/tools/cloud_sheets/vendor/univer/7951.adapter.js new file mode 100644 index 0000000..5907300 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/7951.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[7951],{7951(o,s,e){e.r(s),e.d(s,{Gl:()=>a});const a=["33,01,002,2,1,102,12,22,14,012,00023,000023,3,02,00002,40004,4,400004,000012,0000012,00000012,00012,0012,000000012,0000212,000212,00212,000003,0023,023,00323,00000023,0000023,000000023,23,0022,32,0032,0043,0002,0024,000032,0000323,00202,0001,0000002,00032,000323,00022,002303,00222,0003,0004,0034,2301,03,003,00003",'{"ï":[{"a":0}],"a":[{"a":1,"á":1,"i":[{".":3,"a":1,"e":1,"o":1,"á":1,"s":[{".":7}]}],"u":[{".":3,"t":[{"o":[{"a":18,"e":18,"i":18,"o":18,"u":18,"á":18,"é":18,"í":18,"ó":18,"ú":18}]}]}],"l":[{"d":[{"e":[{"h":14}]}],".":3,"o":[{".":34,"s":[{".":34}]}],"a":[{".":34,"s":[{".":34}]}]}],"c":[{"t":[{"o":[{"a":18,"e":18,"i":18,"o":18,"u":18,"á":18,"é":18,"í":18,"ó":18,"ú":18}]}],"h":[{"e":[{"s":[{".":34}]}]}]}],"f":[{"r":[{"o":[{"a":18,"e":18,"i":18,"o":18,"u":18,"á":18,"é":18,"í":18,"ó":18,"ú":18}]}]}],"e":[{"r":[{"o":[{"a":18,"e":18,"i":18,"o":18,"u":18,"á":18,"é":18,"í":18,"ó":18,"ú":18,"n":[{".":55}]}],".":55,"e":[{"s":[{".":55}],"n":[{".":55}]}],"m":[{"o":[{"s":[{".":55}]}],"e":[{".":55}]}],"d":[{"e":[{"s":[{".":55}]}]}],"t":[{"e":[{".":55}]}],"l":[{"l":[{"e":[{".":55,"s":[{".":55}]}]}]}],"n":[{"o":[{"s":[{".":55}]}]}],"v":[{"o":[{"s":[{".":55}]}]}]}],"n":[{"d":[{"o":[{".":55}]}]}],"l":[{"o":[{".":55,"s":[{".":55}]}],"a":[{".":55,"s":[{".":55}]}]}],"d":[{"e":[{".":55,"s":[{".":55}]}]}],"m":[{"o":[{"s":[{".":55}]}]}],"s":[{"e":[{".":55,"s":[{".":55}],"m":[{"o":[{"s":[{".":55}]}]}],"d":[{"e":[{"s":[{".":55}]}]}],"n":[{".":55}]}]}]}],"n":[{"f":[{"i":[{"a":18,"e":18,"i":18,"o":18,"u":18,"á":18,"é":18,"í":18,"ó":18,"ú":18}]}],"g":[{"l":[{"o":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}]}],"d":[{"o":[{".":3}]}],".":3}],"t":[{"o":[{"p":[{"o":[{"u":32}]}]}]}],"d":[{"o":[{".":34,"s":[{".":34}],"r":[{".":34,"a":[{".":34}],"e":[{"s":[{".":34}]}]}],"i":[{"r":[{"o":[{".":34,"s":[{".":34}]}],"a":[{".":34,"s":[{".":34}]}]}]}]}],"a":[{".":34,"s":[{".":34}]}],"e":[{"i":[{"r":[{"o":[{".":34,"s":[{".":34}]}],"a":[{".":34,"s":[{".":34}]}]}]}],".":34,"s":[{".":34}]}]}],"r":[{".":3,"e":[{"s":[{".":34}],"n":[{".":34}],"i":[{".":34}],"m":[{"o":[{"s":[{".":34}]}]}],"d":[{"e":[{"s":[{".":34}]}]}]}],"m":[{"o":[{"s":[{".":3}]}],"e":[{".":3}]}],"d":[{"e":[{"s":[{".":3}]}]}],"t":[{"e":[{".":3}]}],"l":[{"l":[{"e":[{".":3,"s":[{".":3}]}]}]}],"n":[{"o":[{"s":[{".":3}]}]}],"v":[{"o":[{"s":[{".":3}]}]}],"á":[{"s":[{".":34}],".":34,"n":[{".":34}]}],"í":[{"a":[{".":34,"s":[{".":34}],"m":[{"o":[{"s":[{".":34}]}]}],"d":[{"e":[{"s":[{".":34}]}]}],"n":[{".":34}]}]}],"i":[{"a":[{"m":[{"o":[{"s":[{".":54}]}]}],"d":[{"e":[{"s":[{".":54}]}]}]}]}],"o":[{"n":[{".":34}]}]}],"s":[{".":3,"t":[{"e":[{"s":[{".":3}]}]}],"e":[{".":34,"s":[{".":34}],"n":[{".":34}]}]}],"m":[{"o":[{"s":[{".":34}]}]}],"b":[{"a":[{".":34,"s":[{".":34}],"m":[{"o":[{"s":[{".":34}]}]}],"d":[{"e":[{"s":[{".":34}]}]}],"n":[{".":34}]}]}],"é":[{"d":[{"e":[{"o":[{".":55,"s":[{".":55}]}],"a":[{".":55,"s":[{".":55}]}]}]}],"s":[{"e":[{"m":[{"o":[{"s":[{".":55}]}]}],"d":[{"e":[{"s":[{".":55}]}]}]}]}]}]}],"e":[{"e":[{"s":[{".":55}],"m":[{"o":[{"s":[{".":55}]}]}],"d":[{"e":[{"s":[{".":55}]}]}],"n":[{".":55}]},1],"é":1,"i":[{".":3,"a":1,"e":1,"o":1,"á":1}],"u":[{".":3,"c":[{"o":[{"a":18,"e":18,"i":18,"o":18,"u":18,"á":18,"é":18,"í":18,"ó":18,"ú":18}]}],"r":[{"o":[{"a":18,"e":18,"i":18,"o":18,"u":18,"á":18,"é":18,"í":18,"ó":18,"ú":18}]}]}],"c":[{"a":[{"n":[{"o":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}]}],"o":[{"a":21,"e":21,"i":21,"o":21,"u":21,"á":21,"é":21,"í":21,"ó":21,"ú":21}]}],"l":[{"e":[{"c":[{"t":[{"r":[{"o":[{"a":23,"e":23,"i":23,"o":23,"u":23,"á":23,"é":23,"í":23,"ó":23,"ú":23}]}]}]}]}],"o":[{".":34,"s":[{".":34}]}],"a":[{".":34,"s":[{".":34}]}]}],"n":[{"d":[{"o":[{"a":18,"e":18,"i":18,"o":18,"u":18,"á":18,"é":18,"í":18,"ó":18,"ú":18}]}],"t":[{"o":[{"a":18,"e":18,"i":18,"o":18,"u":18,"á":18,"é":18,"í":18,"ó":18,"ú":18}],"r":[{"e":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}]}],"a":[{"x":[{"e":[{"n":[{"o":[{"u":33}]}]}]}]}],".":3}],"x":[{"t":[{"r":[{"a":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}]}],"p":[{"o":[{"l":[{"i":45}]}]}]}],"r":[{"e":[{"s":[{".":34}],"n":[{".":34}],"i":[{".":34}],"m":[{"o":[{"s":[{".":34}]}]}],"d":[{"e":[{"s":[{".":34}]}]}]}],"m":[{"o":[{"s":[{".":3}]}],"e":[{".":3}]}],"d":[{"e":[{"s":[{".":3}]}]}],"t":[{"e":[{".":3}]}],"l":[{"l":[{"e":[{".":3,"s":[{".":3}]}]}]}],"n":[{"o":[{"s":[{".":3}]}]}],"v":[{"o":[{"s":[{".":3}]}]}],"á":[{"s":[{".":34}],".":34,"n":[{".":34}]}],"í":[{"a":[{".":34,"s":[{".":34}],"m":[{"o":[{"s":[{".":34}]}]}],"d":[{"e":[{"s":[{".":34}]}]}],"n":[{".":34}]}]}],"i":[{"a":[{"m":[{"o":[{"s":[{".":54}]}]}],"d":[{"e":[{"s":[{".":54}]}]}]}]}]}],"d":[{"o":[{"r":[{".":34,"a":[{".":34}],"e":[{"s":[{".":34}]}]}],"i":[{"r":[{"o":[{".":34,"s":[{".":34}]}],"a":[{".":34,"s":[{".":34}]}]}]}]}],"e":[{"i":[{"r":[{"o":[{".":34,"s":[{".":34}]}],"a":[{".":34,"s":[{".":34}]}]}]}],".":34,"s":[{".":34}]}]}],"s":[{".":3}],"m":[{"o":[{"s":[{".":34}]}]}],"a":[{"r":[{".":55,"e":[{"s":[{".":55}],"n":[{".":55}]}],"m":[{"o":[{"s":[{".":55}]}],"e":[{".":55}]}],"d":[{"e":[{"s":[{".":55}]}]}],"t":[{"e":[{".":55}]}],"l":[{"l":[{"e":[{".":55,"s":[{".":55}]}]}]}],"n":[{"o":[{"s":[{".":55}]}]}],"v":[{"o":[{"s":[{".":55}]}]}],"o":[{"n":[{".":55}]}]}],"d":[{"o":[{".":55,"s":[{".":55}]}],"a":[{".":55,"s":[{".":55}]}],"e":[{".":55,"s":[{".":55}]}]}],"n":[{"d":[{"o":[{".":55}]}],".":55}],"l":[{"o":[{".":55,"s":[{".":55}]}],"a":[{".":55,"s":[{".":55}]}]}],"s":[{".":55,"t":[{"e":[{"s":[{".":55}]}]}],"e":[{".":55,"s":[{".":55}],"n":[{".":55}]}]}],"m":[{"o":[{"s":[{".":55}]}]}],"b":[{"a":[{".":55,"s":[{".":55}],"m":[{"o":[{"s":[{".":55}]}]}],"d":[{"e":[{"s":[{".":55}]}]}],"n":[{".":55}]}]}],"c":[{"h":[{"e":[{"s":[{".":55}]}]}]}]}],"á":[{"d":[{"e":[{"o":[{".":55,"s":[{".":55}]}],"a":[{".":55,"s":[{".":55}]}]}]}],"b":[{"a":[{"m":[{"o":[{"s":[{".":55}]}]}],"d":[{"e":[{"s":[{".":55}]}]}]}]}],"s":[{"e":[{"m":[{"o":[{"s":[{".":55}]}]}],"d":[{"e":[{"s":[{".":55}]}]}]}]}]}]}],"o":[{"o":1,"ó":1,"i":[{".":3,"a":1,"e":1,"o":1,"á":1,"d":[{"e":29,"a":[{"l":29}]}]}],"u":[{".":3}],"h":[{"i":[{"b":13}]}],"c":[{"t":[{"o":[{"a":18,"e":18,"i":18,"o":18,"u":18,"á":18,"é":18,"í":18,"ó":18,"ú":18}],"a":[{"a":18,"e":18,"i":18,"o":18,"u":18,"á":18,"é":18,"í":18,"ó":18,"ú":18}]}]}],"m":[{"n":[{"i":[{"a":18,"e":18,"i":18,"o":18,"u":18,"á":18,"é":18,"í":18,"ó":18,"ú":18}]}]}],"s":[{".":3,"o":[{".":34,"s":[{".":34}]}],"a":[{".":34,"s":[{".":34}],"m":[{"e":[{"n":[{"t":[{"e":[{".":34}]}]}]}]}]}]}],"a":[{"r":[{".":55,"e":[{"s":[{".":55}],"n":[{".":55}]}],"m":[{"o":[{"s":[{".":55}]}],"e":[{".":55}]}],"d":[{"e":[{"s":[{".":55}]}]}],"t":[{"e":[{".":55}]}],"l":[{"l":[{"e":[{".":55,"s":[{".":55}]}]}]}],"n":[{"o":[{"s":[{".":55}]}]}],"v":[{"o":[{"s":[{".":55}]}]}],"o":[{"n":[{".":55}]}]}],"d":[{"o":[{".":55,"s":[{".":55}]}],"a":[{".":55,"s":[{".":55}]}],"e":[{".":55,"s":[{".":55}]}]}],"n":[{"d":[{"o":[{".":55}]}],".":55}],"l":[{"o":[{".":55,"s":[{".":55}]}],"a":[{".":55,"s":[{".":55}]}]}],"s":[{".":55,"t":[{"e":[{"s":[{".":55}]}]}],"e":[{".":55,"s":[{".":55}],"n":[{".":55}]}]}],"m":[{"o":[{"s":[{".":55}]}]}],"b":[{"a":[{".":55,"s":[{".":55}],"m":[{"o":[{"s":[{".":55}]}]}],"d":[{"e":[{"s":[{".":55}]}]}],"n":[{".":55}]}]}],"c":[{"h":[{"e":[{"s":[{".":55}]}]}]}]}],"á":[{"d":[{"e":[{"o":[{".":55,"s":[{".":55}]}],"a":[{".":55,"s":[{".":55}]}]}]}],"b":[{"a":[{"m":[{"o":[{"s":[{".":55}]}]}],"d":[{"e":[{"s":[{".":55}]}]}]}]}],"s":[{"e":[{"m":[{"o":[{"s":[{".":55}]}]}],"d":[{"e":[{"s":[{".":55}]}]}]}]}]}],"e":[{"s":[{".":55}],"m":[{"o":[{"s":[{".":55}]}]}],"d":[{"e":[{"s":[{".":55}]}]}],"n":[{".":55}]}]}],"z":[{"o":[{"o":2},4],"a":4,"e":4,"i":4,"u":4,"á":4,"é":4,"í":4,"ó":4,"ú":4}],"u":[{"i":[{"a":1,"e":1,"o":1,"á":1}],"n":[{"h":[{"a":2}]}],"l":[{"t":[{"r":[{"a":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}]}]}]}],"i":[{"a":[{".":3}],"e":[{".":3}],"o":[{".":3}],"á":[{".":3}],"b":[{"e":[{"r":[{"o":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}]}]}],"c":[{"o":[{"n":[{"o":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}],".":34,"s":[{".":34}]}],"a":[{".":34,"s":[{".":34}]}],"h":[{"e":[{"s":[{".":34}]}]}]}],"n":[{"f":[{"r":[{"a":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}]}],"t":[{"r":[{"a":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}]}],"o":[{"c":[{"u":[{"l":[{"a":[{"r":40}]}]}]}]}],"d":[{"o":[{".":3}]}]}],"d":[{"o":[{".":34,"s":[{".":34}],"r":[{".":34,"a":[{".":34}],"e":[{"s":[{".":34}]}]}],"i":[{"r":[{"o":[{".":34,"s":[{".":34}]}],"a":[{".":34,"s":[{".":34}]}]}]}]}],"a":[{".":34,"s":[{".":34}]}],"e":[{"i":[{"r":[{"o":[{".":34,"s":[{".":34}]}],"a":[{".":34,"s":[{".":34}]}]}]}],".":34,"s":[{".":34}]}]}],"r":[{".":3,"e":[{"s":[{".":34}],"n":[{".":34}],"i":[{".":34}],"m":[{"o":[{"s":[{".":34}]}]}],"d":[{"e":[{"s":[{".":34}]}]}]}],"m":[{"o":[{"s":[{".":3}]}],"e":[{".":3}]}],"d":[{"e":[{"s":[{".":3}]}]}],"t":[{"e":[{".":3}]}],"l":[{"l":[{"e":[{".":3,"s":[{".":3}]}]}]}],"n":[{"o":[{"s":[{".":3}]}]}],"v":[{"o":[{"s":[{".":3}]}]}],"á":[{"s":[{".":34}],".":34,"n":[{".":34}]}],"í":[{"a":[{".":34,"s":[{".":34}],"m":[{"o":[{"s":[{".":34}]}]}],"d":[{"e":[{"s":[{".":34}]}]}],"n":[{".":34}]}]}],"i":[{"a":[{"m":[{"o":[{"s":[{".":54}]}]}],"d":[{"e":[{"s":[{".":54}]}]}]}]}],"o":[{"n":[{".":34}]}]}],"l":[{"o":[{".":34,"s":[{".":34}]}],"a":[{".":34,"s":[{".":34}]}]}],"m":[{"o":[{"s":[{".":34}]}]}],"u":[{".":3}],"s":[{"t":[{"e":[{"s":[{".":3}]}]}],"e":[{".":34,"s":[{".":34}],"n":[{".":34}]}]}]}],"ñ":4,"b":[{"a":4,"e":[{"n":[{"i":[{"g":[{"n":37}],"m":[{"e":[{"r":[{"í":30}]}]}],"n":[{"é":[{"s":30}],"e":[{"s":30}]}],"t":[{"o":[{"í":[{"t":[{"a":30}]}]}]}]}]}]},4],"i":[{"b":[{"l":[{"i":[{"o":[{"a":20,"e":20,"i":20,"o":20,"u":20,"á":20,"é":20,"í":20,"ó":20,"ú":20}]}]}]}],"o":[{"a":21,"e":21,"i":21,"o":21,"u":21,"á":21,"é":21,"í":21,"ó":21,"ú":21}],"u":[{"n":[{"í":22}]}]},4],"o":4,"u":4,"á":4,"é":4,"í":4,"ó":4,"ú":4,"l":[{".":3},6],"r":[{".":3},6],"p":[{"t":9,"s":9,"n":9}],"c":[{"t":9,"n":9,"z":9}],"m":[{"n":9}],"g":[{"n":9}],"f":[{"t":9}],"t":[{"s":9}]}],"c":[{"a":[{"c":[{"a":15}],"g":[{"o":15,"a":[{"s":[{".":16}]},15]}],"r":[{"d":[{"i":[{"o":[{"a":20,"e":20,"i":20,"o":20,"u":20,"á":20,"é":20,"í":20,"ó":20,"ú":20}]}]}]}]},4],"e":[{"f":[{"a":[{"l":[{"o":[{"a":20,"e":20,"i":20,"o":20,"u":20,"á":20,"é":20,"í":20,"ó":20,"ú":20}]}]}]}]},4],"i":[{"c":[{"l":[{"o":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}]}],"t":[{"o":[{"a":18,"e":18,"i":18,"o":18,"u":18,"á":18,"é":18,"í":18,"ó":18,"ú":18}]}]},4],"o":[{"n":[{"t":[{"r":[{"a":[{"a":20,"e":20,"i":20,"o":20,"u":20,"á":20,"é":20,"í":20,"ó":20,"ú":20}]}]}]}],"a":[{"g":[{"u":[{"l":28}]}],"l":[{"a":[{".":28,"s":[{".":28}]}],"e":[{"s":[{"c":[{"e":[{"n":28}]}]}]}],"i":[{"c":[{"i":[{"ó":[{"n":[{".":28}]}],"o":[{"n":[{"s":[{".":28}]}]}]}]}]}]}],"n":[{"a":[{".":28,"s":[{".":28}]}],"t":[{"r":[{"i":[{"ñ":2}]}]}]}],"ñ":[{"a":[{"d":[{"e":[{"i":[{"r":28}]}]}]}]}],"t":[{"í":[{".":28,"s":[{".":28}]}]}]}],"á":[{"g":[{"u":[{"l":28}]}]}],"e":[{"f":[{"i":[{"c":[{"i":[{"e":[{"n":28}]}]}]}]}],"l":[{"e":[{"r":[{"n":[{"o":[{"s":[{".":28}]}]}]}]}],"l":[{"o":[{".":28,"s":[{".":28}]}],"a":[{".":28,"s":[{".":28}]}],"e":[{"i":[{"r":28}]}]}]}],"n":[{"l":[{"l":2}],"x":[{"í":[{"a":2}]}]}],"s":[{"i":[{"t":[{"a":[{".":28,"s":[{".":28}]}]}]}]}],"t":[{"á":[{"n":[{"e":28}]}]}],"v":[{"o":[{".":28,"s":[{".":28}]}],"a":[{".":28,"s":[{".":28}]}]}]}],"i":[{"d":[{"a":[{"d":[{"o":28}]}]}],"e":[{"i":2}],"m":[{"b":[{"r":[{"a":2,"á":2}]}]}],"n":[{"t":[{"r":[{"e":[{"a":[{"u":[{".":2}]}]}]}]}]}],"ñ":[{"a":28,"e":[{"i":28}]}],"p":[{"ú":[{".":28,"s":[{".":28}]}]}],"r":[{"a":[{".":28,"s":[{".":28}],"z":[{"a":28}]}],"o":[{".":28,"s":[{".":28}]}]}],"t":[{"a":[{".":28,"s":[{".":28}],"d":[{"o":[{".":28}]}]}],"o":[{".":28,"s":[{".":28}]}],"e":[{"l":28}],"í":[{"o":[{".":28}]}],"u":[{"s":[{".":28}]}]}]}],"í":[{"ñ":[{"a":28}]}],"u":[{"c":28,"l":[{"o":[{"m":[{"b":28}]}]}],"t":[{"r":[{"y":28}],"a":[{"d":28}],"o":[{".":28,"s":[{".":28}]}]}],"q":[{"u":[{"i":28}]}],"r":[{"e":[{"l":28}]}],"s":[{"a":[{".":28,"s":[{".":28}]}],"o":[{".":28,"s":[{".":28}]}],"e":[{"l":[{"o":28}]}]}],"v":[{"i":[{"n":[{"i":28}]}]}],"z":28}]},4],"u":4,"á":4,"é":4,"í":4,"ó":4,"ú":4,"h":[{".":3},6],"l":[{".":3},6],"r":[{".":3,"i":[{"p":[{"t":[{"o":[{"a":20,"e":20,"i":20,"o":20,"u":20,"á":20,"é":20,"í":20,"ó":20,"ú":20}]}]}]}],"o":[{"m":[{"o":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}],"n":[{"o":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}]}]},6],"p":[{"t":9,"s":9,"n":9}],"c":[{"t":9,"n":9,"z":9}],"m":[{"n":9}],"g":[{"n":9}],"f":[{"t":9}],"t":[{"s":9,".":3}],"n":[{".":3}],"z":[{".":3}]}],"d":[{"a":4,"e":[{"c":[{"a":[{"a":18,"e":[{"m":[{"e":[{"n":[{"t":11}]}]}]},18],"i":18,"o":18,"u":18,"á":18,"é":18,"í":18,"ó":18,"ú":18}]}],"s":[{"o":[{"u":[{"t":[{"r":37}]}],"l":[{"a":[{"c":30,"d":30}],"d":37,"i":[{"d":[{"a":[{"r":[{"i":30}]}]}]}]}]}],"a":[{"c":[{"r":[{"a":[{"l":[{"i":30}]}]}]}],"g":[{"u":[{"i":[{"s":[{"a":30}]}]}]}],"l":[{"i":[{"n":[{"i":30}]}]}],"n":[{"g":[{"r":30}]}],"ñ":30,"r":[{"r":[{"o":[{"l":[{"l":[{"i":[{"s":30}]}]}]}]}]}],"s":[{"t":[{"r":37}]}],"z":[{"o":30}]}],"e":[{"c":30,"q":[{"u":[{"e":30}]}],"g":[{"u":[{"i":[{"d":30}]}]}],"l":[{"a":30}],"n":[{"s":[{"i":[{"b":37}]}]}],"ñ":30,"r":[{"t":37}],"s":[{"p":[{"e":[{"r":[{"a":[{"n":[{"z":38}]}]},37]}]}]}],"p":[{"é":[{"r":30}]}],"x":30}],"é":[{"r":[{"t":37}],"x":30}],"i":[{"d":[{"e":[{"r":30}]}],"g":[{"n":37}],"n":[{"e":[{"n":[{"c":30}]}],"g":[{"r":37}]}],"s":[{"t":[{"e":37,"i":37}]}]}],"í":[{"g":[{"n":37}]}],"u":[{"e":[{"t":[{"u":[{"d":37}]}]}]}],"s":[{"u":[{"l":[{"f":37}]}]}]}]},4],"i":[{"n":[{"a":[{"m":[{"o":[{"a":20,"e":20,"i":20,"o":20,"u":20,"á":20,"é":20,"í":20,"ó":20,"ú":20}]}]}]}]},4],"o":4,"u":4,"á":4,"é":4,"í":4,"ó":4,"ú":4,"l":[{".":3},6],"r":[{".":3},6],"p":[{"t":9,"s":9,"n":9}],"c":[{"t":9,"n":9,"z":9}],"m":[{"n":9}],"g":[{"n":9}],"f":[{"t":9}],"t":[{"s":9}]}],"f":[{"a":4,"e":4,"i":4,"o":[{"n":[{"o":[{"a":18,"e":18,"i":18,"o":18,"u":18,"á":18,"é":18,"í":18,"ó":18,"ú":18}]}],"t":[{"o":[{"a":18,"e":18,"i":18,"o":18,"u":18,"á":18,"é":18,"í":18,"ó":18,"ú":18}]}]},4],"u":4,"á":4,"é":4,"í":4,"ó":4,"ú":4,"l":[{".":3},6],"r":[{".":3,"a":[{"n":[{"c":[{"o":[{"a":20,"e":20,"i":20,"o":20,"u":20,"á":20,"é":20,"í":20,"ó":20,"ú":20}]}]}]}]},6],"t":[{".":3}]}],"g":[{"a":[{"s":[{"t":[{"r":[{"o":[{"a":20,"e":20,"i":20,"o":20,"u":20,"á":20,"é":20,"í":20,"ó":20,"ú":20}]}]}]}]},4],"e":4,"i":4,"o":4,"u":4,"á":4,"é":4,"í":4,"ó":4,"ú":4,"h":[{".":3},6],"l":[{".":3},6],"r":[{".":3},6],"n":[{".":3}]}],"h":[{"a":4,"e":[{"c":[{"t":[{"o":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}]}],"l":[{"i":[{"o":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}]}],"m":[{"a":[{"t":[{"o":[{"a":20,"e":20,"i":20,"o":20,"u":20,"á":20,"é":20,"í":20,"ó":20,"ú":20}]}]}],"i":[{"a":18,"e":18,"i":18,"o":18,"u":18,"á":18,"é":18,"í":18,"ó":18,"ú":18}]}],"x":[{"a":[{"a":18,"e":18,"i":18,"o":18,"u":18,"á":18,"é":18,"í":18,"ó":18,"ú":18}]}]},4],"i":[{"d":[{"r":[{"o":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}]}],"p":[{"e":[{"r":[{"a":24,"e":24,"i":24,"o":24,"u":24,"á":24,"é":24,"í":24,"ó":24,"ú":24,"r":27}]}]}],"s":[{"t":[{"o":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}]}]},4],"o":[{"m":[{"e":[{"o":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}],"o":[{"a":18,"e":18,"i":18,"o":18,"u":18,"á":18,"é":18,"í":18,"ó":18,"ú":18}]}]},4],"u":4,"á":4,"é":4,"í":4,"ó":4,"ú":4}],"k":[{"a":4,"e":4,"i":[{"l":[{"o":[{"a":18,"e":18,"i":18,"o":18,"u":18,"á":18,"é":18,"í":18,"ó":18,"ú":18}]}]},4],"o":4,"u":4,"á":4,"é":4,"í":4,"ó":4,"ú":4,"h":7,"l":[{".":3},6],"r":[{".":3},6]}],"l":[{"a":4,"e":4,"i":[{"b":[{"e":[{"r":[{"o":[{"u":31}]}]}]}]},4],"o":4,"u":4,"á":4,"é":4,"í":4,"ó":4,"ú":4,"l":[{".":3},8],"p":[{"t":9,"s":9,"n":9}],"c":[{"t":9,"n":9,"z":9}],"m":[{"n":9}],"g":[{"n":9}],"f":[{"t":9}],"t":[{"s":9}]}],"m":[{"a":[{"c":[{"r":[{"o":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}]}],"g":[{"n":[{"e":[{"t":[{"o":[{"a":23,"e":23,"i":23,"o":23,"u":23,"á":23,"é":23,"í":23,"ó":23,"ú":23}]}]}]}]}],"x":[{"i":[{"a":18,"e":18,"i":18,"o":18,"u":18,"á":18,"é":18,"í":18,"ó":18,"ú":18}]}],"l":[{"a":[{"c":[{"í":[{"a":30}],"i":[{"t":[{"a":[{"n":30}]}]}]}],"g":[{"u":[{"e":[{"ñ":30}]}]}],"i":[{"o":37,"a":37}],"n":[{"d":[{"r":[{"í":[{"n":37}],"i":[{"n":37}]}]}]}],"q":[{"u":[{"i":[{"t":[{"a":30}]}]}]}],"r":[{".":37,"e":[{"s":[{".":30}]}],"i":[{"a":[{".":30}]}]}],"t":[{"o":[{".":30,"s":[{".":30}]}],"a":[{".":30,"s":[{".":30}]}],"i":[{"ó":[{"n":30}]}]}],"u":[{"i":37}]}],"e":[{"a":[{"b":[{"l":37,"i":[{"l":37}]}]}],"i":[{"c":[{"o":37}]}],"o":[{"l":[{"a":[{"r":37}]}]}],"t":[{"a":[{".":30,"s":[{".":30}]}],"í":[{"n":30}],"e":[{"i":[{"r":[{"o":30}]}]}]}],"z":[{"a":37}]}],"i":[{"a":[{".":37,"n":[{"q":38},37]}],"c":[{"i":[{"a":30,"o":[{"s":30}]}]}],"g":[{"n":37}],"k":[{"i":[{"t":[{"a":30}]}]}],"n":[{"k":[{"e":37}]}]}],"ó":[{"f":[{"a":[{"g":[{"o":30}]}]}],"n":[{"i":[{"c":30}]}]}],"o":[{"n":[{"a":[{"t":[{"o":30}]}],"i":[{"l":[{"u":[{"e":30}]}]}]}]}]}]},4],"e":[{"n":[{"t":[{"e":[{".":12}]}]}],"o":[{".":16}],"a":[{".":16,"b":[{"l":[{"e":[{".":16,"s":[{".":16}]}]}]}]}],"g":[{"a":[{"a":18,"e":18,"i":18,"o":18,"u":18,"á":18,"é":18,"í":18,"ó":18,"ú":18,"l":[{"o":[{"a":20,"e":20,"i":20,"o":20,"u":20,"á":20,"é":20,"í":20,"ó":20,"ú":20}]}]}]}],"l":[{"a":[{"n":[{"o":[{"a":20,"e":20,"i":20,"o":20,"u":20,"á":20,"é":20,"í":20,"ó":20,"ú":20}]}]}]}]},4],"i":[{"c":[{"r":[{"o":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}]}],"l":[{"i":[{"a":[{"r":[{"i":[{"o":11,"a":11}]}]},18],"e":18,"i":18,"o":18,"u":18,"á":18,"é":18,"í":18,"ó":18,"ú":18}]}],"n":[{"i":[{"a":[{"t":[{"u":[{"r":11}]}]},18],"e":18,"i":18,"o":18,"u":18,"á":18,"é":18,"í":18,"ó":18,"ú":18}]}],"r":[{"i":[{"a":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}]}]},4],"o":[{"n":[{"o":[{"a":18,"e":18,"i":18,"o":18,"u":18,"á":18,"é":18,"í":18,"ó":18,"ú":18}]}]},4],"u":[{"l":[{"t":[{"i":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}]}]},4],"á":4,"é":4,"í":4,"ó":4,"ú":4,"p":[{"t":9,"s":9,"n":9}],"c":[{"t":9,"n":9,"z":9}],"m":[{"n":9}],"g":[{"n":9}],"f":[{"t":9}],"t":[{"s":9}],"n":[{".":3}]}],"n":[{"a":4,"e":[{"c":[{"r":[{"o":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}]}]},4],"i":4,"o":[{"n":[{".":3}],"r":[{"t":[{"e":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}]}]},4],"u":4,"á":4,"é":4,"í":4,"ó":4,"ú":4,"p":[{"t":9,"s":9,"n":9}],"c":[{"t":9,"n":9,"z":9}],"m":[{"n":9}],"g":[{"n":9}],"f":[{"t":9}],"t":[{"s":9}]}],"p":[{"a":[{"l":[{"e":[{"o":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}]}],"r":[{"a":[{"a":18,"e":18,"i":18,"o":18,"u":[{"g":[{"a":[{"s":11}]}]},18],"á":18,"é":18,"í":[{"s":[{"o":11}]},18],"ó":18,"ú":18}]}]},4],"e":[{"i":[{"d":[{"o":17}]}],"n":[{"t":[{"a":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}]}],"r":[{"e":[{"m":[{"i":[{"a":30}]}]}]}]},4],"i":[{"e":[{"z":[{"o":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}]}]},4],"o":[{"l":[{"i":[{"a":[{"r":[{"q":14}],"n":[{"d":[{"r":14}],"t":[{"e":[{"a":14}]}]}]},18],"e":18,"i":18,"o":[{"m":[{"e":11}]},18],"u":[{"r":11},18],"á":[{"r":[{"q":14}]},18],"é":[{"s":[{"t":[{"e":14}]}]},18],"í":18,"ó":18,"ú":18}]}]},4],"u":[{"t":[{"a":15,"o":15}]},4],"á":4,"é":4,"í":4,"ó":4,"ú":4,"l":[{".":3,"a":[{"n":[{"c":[{"t":11}]}]}],"u":[{"r":[{"i":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}]}]},6],"r":[{".":3,"o":[{"t":[{"o":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}],"e":[{"z":[{"a":10}]}],"í":[{"d":[{"o":10}]}],"u":[{"s":[{"t":39}]}]}],"e":[{"a":[{"s":[{".":39}],"d":[{"a":[{".":10,"s":[{".":10}]}]}],"b":[{"á":39}]}],"á":48,"i":[{"t":10}],"o":[{"c":[{"u":[{"p":10}],"ú":[{"p":10}]}]}]}]},6],"t":[{".":3}],"s":[{".":3,"e":[{"u":[{"d":[{"o":[{"a":20,"e":20,"i":20,"o":20,"u":20,"á":20,"é":20,"í":20,"ó":20,"ú":20}]}]}]}]}],"n":[{".":3}]}],"r":[{"a":[{"d":[{"i":[{"o":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}]}]},4],"e":[{"t":[{"r":[{"o":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}]}],"u":[{"n":[{"i":[{"ó":[{"n":[{".":28,"s":[{".":28}]}]}],"r":[{"o":[{"n":[{".":28}]}]},28],"d":[{"o":[{".":28,"s":[{".":28}]}],"a":[{".":28,"s":[{".":28}]}],"e":28}],"n":[{"d":28}],"m":[{"o":[{"s":[{".":28}]}]}],"a":[{"m":[{"o":[{"s":[{".":49}]}]}],"d":[{"e":[{"s":[{".":49}]}]}]}],"c":[{"h":[{"e":[{"s":[{".":28}]}]}]}],"u":[{".":28}],"s":[{"t":[{"e":[{"s":[{".":28}]}]}],"e":28}]}],"í":[{"r":[{"m":[{"o":28}],"e":[{"n":28}]}],"m":[{"o":28}],"a":28,"n":[{".":28}],"s":[{"t":28,"e":28}],"d":[{"e":28}]}],"o":[{".":28}],"e":[{"s":[{".":28}],".":28,"n":[{".":28}]}],"a":[{".":28,"s":[{".":28}],"m":[{"o":[{"s":[{".":28}]}]}],"d":[{"e":[{"s":[{".":28}]}]}],"n":[{".":28}]}],"á":[{"m":[{"o":28}],"d":[{"e":28}]}]}]}],"i":[{"n":[{"a":[{"r":[{"o":[{"n":[{".":28}]}]},28],"d":[{"o":[{".":28,"s":[{".":28}]}],"e":[{"s":[{".":28}],".":28}]}],"n":[{"d":28,".":28}],".":28,"s":[{".":28,"t":[{"e":[{"s":[{".":28}]}]}],"e":[{".":28,"s":[{".":28}],"m":[{"o":[{".":28}]}],"d":[{"e":[{"s":[{".":28}]}]}],"n":[{".":28}]}]}],"m":[{"o":[{"s":[{".":28}]}]}],"b":[{"a":[{".":28,"s":[{".":28}],"m":[{"o":[{"s":[{".":28}]}]}],"d":[{"e":[{"s":[{".":28}]}]}]}]}],"c":[{"h":[{"e":[{"s":[{".":28}]}]}]}]}],"á":[{"b":[{"a":[{"m":[{"o":[{"s":[{".":28}]}]}],"d":[{"e":[{"s":[{".":28}]}]}]}]}],"s":[{"e":28}]}],"e":[{"i":[{".":28}],".":28,"s":[{".":28}],"m":[{"o":[{"s":[{".":28}]}]}],"d":[{"e":[{"s":[{".":28}]}]}],"n":[{".":28}]}],"o":[{"u":[{".":28}]}]}]}]},4],"i":4,"o":4,"u":4,"á":4,"é":4,"í":4,"ó":4,"ú":4,"r":[{".":3},6],"p":[{"t":9,"s":9,"n":9}],"c":[{"t":9,"n":9,"z":9}],"m":[{"n":9}],"g":[{"n":9}],"f":[{"t":9}],"t":[{"s":9}]}],"s":[{"a":[{"n":[{"c":[{"t":10}]}],".":12,"s":[{".":36}]},4],"e":[{"m":[{"i":[{"a":18,"e":18,"i":18,"o":18,"u":18,"á":18,"é":18,"í":18,"ó":18,"ú":18}],"o":[{"s":[{".":36}]}]}],".":12,"s":[{".":36}],"d":[{"e":[{"s":[{".":36}]}]}],"n":[{".":36}]},4],"i":4,"o":[{"b":[{"r":[{"e":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}]}],"c":[{"i":[{"o":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}]}]},4],"u":[{"p":[{"e":[{"r":[{"a":[{"b":[{"l":[{"e":42}],"i":[{"l":[{"i":[{"d":[{"a":[{"d":[{"e":42}]}]}]}]}]}]}]},24],"e":24,"i":[{"o":[{"r":41}]},24],"o":24,"u":24,"á":24,"é":24,"í":24,"ó":24,"ú":24,"r":27}]}],"r":[{"a":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}]}],"b":[{"í":[{"n":[{"d":[{"i":[{"c":51}]}]}]}],"i":[{"n":[{"d":[{"i":[{"c":51,"z":51}]}]}],"o":[{"t":[{"e":37}]}]}],"e":[{"l":[{"a":[{".":30,"s":[{".":30}]}]}],"r":[{"i":[{"n":[{"a":[{".":30,"s":[{".":30}]}]}]}],"o":[{"s":[{"o":37}]}]}]}],"é":[{"r":[{"i":[{"c":[{"o":30}]}]}]}],"u":[{"l":[{"a":[{"d":[{"o":37}]}]}],"r":[{"b":[{"i":[{"o":37}]}]}]}],"o":[{"r":[{"n":[{"o":[{".":37,"s":[{".":37}]}]}]}]}],"l":[{"i":[{"m":[{"i":[{"n":[{"a":[{"r":53}]}]}]}]}]}],"r":[{"e":[{"p":[{"c":[{"i":[{"ó":[{"n":53}]}]}],"t":[{"i":[{"c":[{"i":53}]}]}]}]}]}]}]},4],"á":4,"é":4,"í":4,"ó":4,"ú":4,"p":[{"t":9,"s":9,"n":9}],"c":[{"t":9,"n":9,"z":9}],"m":[{"n":9}],"g":[{"n":9}],"f":[{"t":9}],"t":[{"s":9}]}],"t":[{"a":4,"e":[{"r":[{"m":[{"o":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}]}],"t":[{"r":[{"a":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}]}]},4],"i":[{"o":[{"q":[{"u":28}],"c":[{"o":28}]}]},4],"o":[{"p":[{"o":[{"a":18,"e":18,"i":18,"o":18,"u":18,"á":18,"é":18,"í":18,"ó":18,"ú":18}]}]},4],"u":4,"á":4,"é":4,"í":4,"ó":4,"ú":4,"l":7,"r":[{".":3,"o":[{"p":[{"o":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}]}],"i":[{"a":[{"g":[{"a":[{".":10,"s":[{".":10}]}]}],"l":[{".":39,"e":[{"s":[{".":10}]}]}],"n":[{"g":[{"u":[{"l":39}]}]}]}],"á":[{"s":[{"i":[{"c":[{"o":[{".":10}]}]}]}]}],"e":[{"s":[{"t":[{"i":[{"n":39}]}]}]}],"u":[{"n":[{"f":39,"v":[{"i":[{"r":39}]}]}]}]}]},6],"p":[{"t":9,"s":9,"n":9}],"c":[{"t":9,"n":9,"z":9}],"m":[{"n":9}],"g":[{"n":9}],"f":[{"t":9}],"t":[{"s":9}],"s":[{".":3}]}],"v":[{"a":4,"e":4,"i":4,"o":4,"u":4,"á":4,"é":4,"í":4,"ó":4,"ú":4,"l":[{".":3},6],"r":[{".":3},6]}],"x":[{"a":4,"e":[{"o":[{"a":21,"e":21,"i":21,"o":21,"u":21,"á":21,"é":21,"í":21,"ó":21,"ú":21}],"n":[{"o":[{"a":18,"e":18,"i":18,"o":18,"u":18,"á":18,"é":18,"í":18,"ó":18,"ú":18}]}]},4],"i":4,"o":4,"u":4,"á":4,"é":4,"í":4,"ó":4,"ú":4,"p":[{"t":9,"s":9,"n":9}],"c":[{"t":9,"n":9,"z":9}],"m":[{"n":9}],"g":[{"n":9}],"f":[{"t":9}],"t":[{"s":9}]}],"q":[{"u":5}],".":[{"a":[{"n":[{"t":[{"e":[{"a":18,"e":18,"i":18,"o":18,"u":18,"á":18,"é":18,"í":18,"ó":18,"ú":18}],"i":[{"a":18,"e":18,"i":18,"o":18,"u":18,"á":18,"é":18,"í":18,"ó":18,"ú":18}]}]}],"r":[{"q":[{"u":[{"i":[{"a":19,"e":19,"i":19,"o":19,"u":19,"á":19,"é":19,"í":19,"ó":19,"ú":19}]}]}]}]}],"c":[{"o":[{"a":[{"r":[{"t":2},2],"b":[{"á":2}],"c":[{"e":[{"r":[{"v":2}]}]}],"n":[{"d":[{"r":[{"o":2}]}],"o":2}],"ñ":[{"a":[{"r":2}],"o":2}]},22],"e":[{"t":[{"a":[{"n":2}]}],"n":[{"c":[{"i":2}]}],"r":[{"c":[{"i":2}]}]},22],"i":[{"n":[{"c":[{"i":2}]}],"r":[{"a":2,"o":2}],"t":[{"a":2}]},22],"o":22,"u":22,"é":22,"í":22,"ó":22,"ú":22,"á":35}]}],"d":[{"e":[{"z":[{"a":[{"a":18,"e":18,"i":18,"o":18,"u":18,"á":18,"é":18,"í":18,"ó":18,"ú":18}]}],"s":[{"a":[{"b":[{"o":[{"r":39}]}],"f":[{"i":[{"a":39}],"í":[{"a":39,"o":39}]}],"i":[{"r":39}]},26],"e":[{"m":[{"b":[{"o":[{"c":39}],"ó":[{"c":39}]}],"p":[{"e":[{"ñ":39}],"é":[{"ñ":39}]}]}],"n":[{"l":[{"a":[{"c":39,"z":39}],"á":[{"c":39,"z":39}]}],"v":[{"o":[{"l":39}],"ó":[{"l":39}]}]}]},26],"i":[{"d":[{"i":[{"a":39}]}]},26],"o":[{"r":[{"a":39}]},26],"u":26,"á":26,"é":26,"í":26,"ó":26,"ú":26}]}]}],"i":[{"n":[{"a":[{"m":[{"i":[{"s":[{"i":[{"b":[{".":28}]}]}]}],"o":[{"v":28}]}],"n":[{"e":[{".":28}],"i":[{"c":28,"d":28}],"t":[{"e":[{"s":[{".":2}]}]}]}],"u":2},22],"e":[{"d":[{"i":[{"a":28}]}],"f":[{"a":[{"b":28}]}],"n":[{"a":[{"r":[{"r":28}]}]}],"p":[{"c":2,"t":2}],"r":[{"c":2,"t":2,"m":2,"v":2}],"s":[{"i":[{"v":28}]}],"x":[{"o":[{"r":[{"a":28}]}]}]},22],"i":[{"c":[{"i":28,"u":28}],"m":[{"i":[{"g":28,"z":[{"a":28}]}]}],"q":[{"u":[{"i":28}]}]},22],"o":[{"c":[{"e":[{"n":28}],"u":[{"i":28,"o":28,"l":28}]}],"p":[{"i":[{"a":[{".":28}]}]}],"s":[{"i":[{"l":[{"i":28}],"t":28}]}],"t":[{"r":[{"ó":[{"p":28}],"o":[{"p":28}]}]}]},22],"u":[{"i":[{"t":2}],"l":[{"a":[{"s":[{"e":28}]}],"i":[{"n":[{"a":28}]}]}],"n":[{"d":[{"a":2}]}],"s":[{"i":[{"t":[{"a":28}]}]}]},22],"á":[{"n":[{"i":[{"m":[{"e":28}]}]}]},22],"é":[{"d":[{"i":[{"t":28}]}]},22],"í":22,"ó":[{"c":[{"u":[{"l":28}]}]},22],"ú":[{"t":[{"i":[{"l":28}]}]},22],"d":[{"o":[{"a":18,"e":18,"i":18,"o":18,"u":18,"á":18,"é":18,"í":18,"ó":18,"ú":18}]}],"t":[{"e":[{"r":[{"a":24,"e":[{"s":[{"a":42,"á":42,"o":42,"ó":42}]},24],"i":[{"o":[{"r":41}],"n":[{"o":[{".":42,"s":[{".":42}]}],"a":[{".":42,"s":[{".":42}]}],"i":[{"d":42}]}]},24],"o":24,"u":24,"á":24,"é":[{"s":[{".":41,"a":42,"o":42}]},24],"í":24,"ó":24,"ú":24,"r":27}]}]}]}],"s":[{"o":[{"a":21,"e":21,"i":21,"o":21,"u":21,"á":21,"é":21,"í":21,"ó":21,"ú":21}]}]}],"n":[{"a":[{"n":[{"o":[{"a":18,"e":18,"i":18,"o":18,"u":18,"á":18,"é":18,"í":18,"ó":18,"ú":18}]}]}],"e":[{"o":[{"a":21,"e":21,"i":21,"o":21,"u":21,"á":21,"é":21,"í":21,"ó":21,"ú":21}]}]}],"p":[{"o":[{"s":[{"t":[{"a":[{".":46,"s":[{".":46}],"l":[{".":46,"l":[{"o":47}]}],"i":[{"s":[{".":46}]}]},25],"e":[{".":46,"s":[{".":46}],"a":[{"r":[{".":46}]}],"l":[{"a":[{".":47,"s":[{".":47}]}]}],"r":[{".":46,"g":46,"i":[{"d":47,"o":[{"r":47}]}]}]},25],"i":[{"g":[{"o":47}],"l":[{"a":47,"l":[{"ó":[{"n":46}]}]}],"t":[{"e":[{".":47}]}],"z":[{"o":[{".":47,"s":[{".":47}]}],"a":[{".":47,"s":[{".":47}]}]}]},25],"o":[{".":46,"s":[{".":46}],"i":[{"r":[{"o":46}]}]},25],"u":[{"l":[{"a":47,"o":47,"e":47}],"r":[{"a":[{".":47,"s":[{".":47}]}]}]},25],"á":25,"é":25,"í":[{"n":[{".":46}]},25],"ó":[{"n":[{"i":47}]},25],"ú":25}]}]}],"r":[{"e":[{"a":[{"m":[{"a":[{"r":39}]}],"r":39,"b":[{"á":39}]},21],"e":21,"i":21,"o":21,"u":21,"é":21,"í":21,"ó":21,"ú":21,"á":48}],"o":[{"a":21,"e":21,"i":21,"o":21,"u":21,"á":21,"é":21,"í":21,"ó":21,"ú":21}]}]}],"r":[{"e":[{"a":[{"l":[{"i":[{"z":28,"d":[{"a":[{"d":[{"e":28}]}]}]}]},2],"s":[{".":2}]},22],"e":22,"i":[{"n":[{"o":[{".":28,"s":28}],"a":[{"n":[{"t":[{"e":28}]}]}]},2],"t":[{"e":[{"r":2}]}],"x":[{"a":28}]},22],"o":[{"s":[{".":2}]},22],"u":[{"m":[{"a":28}],"n":[{"i":2}]},22],"á":22,"é":22,"í":22,"ó":22,"ú":[{"m":[{"a":28}],"n":2},22]}]}],"s":[{"u":[{"b":[{"a":[{".":56,"s":[{".":56}],"m":[{"o":[{"s":[{".":56}]}]}],"d":[{"e":[{"s":[{".":56}]}],"o":[{"r":[{".":56,"a":[{".":56,"s":[{".":56}]}],"e":[{"s":[{".":56}]}]}]}]}],"n":[{".":56}]},26],"e":[{"r":[{"i":[{"z":39}]}],"s":[{".":56}],".":56,"n":[{".":56}]},26],"o":[{"r":[{"n":[{"a":39}]}],".":56},26],"u":26,"á":26,"é":26,"ó":26,"ú":26,"l":[{"e":[{"v":52}],"i":[{"m":52}]},28],"r":28,"i":[{"r":[{".":56,"e":[{"s":[{".":56}],"n":[{".":56}],"i":[{".":56}],"m":[{"o":[{"s":[{".":56}]}]}],"d":[{"e":[{"s":[{".":56}]}]}]}],"m":[{"o":[{"s":[{".":56}]}]}],"d":[{"e":[{"s":[{".":56}]}]}],"o":[{"n":[{".":56}]}],"á":[{"s":[{".":56}],".":56,"n":[{".":56}]}],"í":[{"a":[{".":56,"s":[{".":56}],"m":[{"o":[{"s":[{".":56}]}]}],"d":[{"e":[{"s":[{".":56}]}]}],"n":[{".":56}]}]}],"i":[{"a":[{"m":[{"o":[{"s":[{".":56}]}]}],"d":[{"e":[{"s":[{".":56}]}]}]}]}]}],"n":[{"d":[{"o":[{".":56}]}]}],"d":[{"o":[{".":56,"s":[{".":56}]}],"a":[{".":56,"s":[{".":56}]}],"e":[{"s":[{".":56}],".":56}]}],"m":[{"o":[{"s":[{".":56}]}]}],"a":[{"m":[{"o":[{"s":[{".":30}]}]}],"d":[{"e":[{"s":[{".":30}]}]}]}],"c":[{"h":[{"e":[{"s":[{".":56}]}]}]}],"u":[{".":56}],"s":[{"t":[{"e":[{"s":[{".":56}]}]}],"e":[{".":56,"s":[{".":56}],"n":[{".":56}]}]}]},50],"í":[{"a":[{".":56,"s":[{".":56}],"m":[{"o":[{"s":[{".":56}]}]}],"d":[{"e":[{"s":[{".":56}]}]}],"n":[{".":56}]}],"n":[{".":56}],"s":[{"e":[{"m":[{"o":[{"s":[{".":56}]}]}],"d":[{"e":[{"s":[{".":56}]}]}]}]}],"d":[{"e":[{"o":[{".":56,"s":[{".":56}]}],"a":[{".":56,"s":[{".":56}]}]}]}]},50]}],"p":[{"e":[{"r":[{"a":[{"r":[{".":57,"e":[{"s":[{".":57}],"n":[{".":57}],"i":[{".":57}]}],"m":[{"o":[{"s":[{".":57}]}]}],"d":[{"e":[{"s":[{".":57}]}]}],"o":[{"n":[{".":57}]}],"á":[{"s":[{".":57}],".":57,"n":[{".":57}]}],"í":[{"a":[{".":57,"s":[{".":57}],"m":[{"o":[{"s":[{".":57}]}]}],"d":[{"e":[{"s":[{".":57}]}]}],"n":[{".":57}]}]}],"i":[{"a":[{"m":[{"o":[{"s":[{".":57}]}]}],"d":[{"e":[{"s":[{".":57}]}]}]}]}]}],"n":[{"d":[{"o":[{".":57}]}],".":57}],"d":[{"o":[{".":57,"s":[{".":57}],"r":[{".":57,"a":[{".":57,"s":[{".":57}]}],"e":[{"s":[{".":57}]}]}]}],"a":[{".":57,"s":[{".":57}]}],"e":[{"s":[{".":57}],".":57}]}],".":57,"s":[{".":57,"t":[{"e":[{"s":[{".":57}]}]}],"e":[{".":57,"s":[{".":57}],"n":[{".":57}]}]}],"m":[{"o":[{"s":[{".":57}]}]}],"b":[{"a":[{".":57,"s":[{".":57}],"m":[{"o":[{"s":[{".":57}]}]}],"d":[{"e":[{"s":[{".":57}]}]}],"n":[{".":57}]}]}],"c":[{"h":[{"e":[{"s":[{".":57}]}]}],"i":[{"ó":[{"n":[{".":57}]}]}]}]}],"á":[{"b":[{"a":[{"m":[{"o":[{"s":[{".":57}]}]}],"d":[{"e":[{"s":[{".":57}]}]}]}]}],"s":[{"e":[{"m":[{"o":[{"s":[{".":57}]}]}],"d":[{"e":[{"s":[{".":57}]}]}]}]}],"d":[{"e":[{"o":[{".":57,"s":[{".":57}]}],"a":[{".":57,"s":[{".":57}]}]}]}]}],"e":[{"i":[{".":57}],"r":[{"e":[{"m":[{"o":[{"s":[{".":57}]}]}],"d":[{"e":[{"s":[{".":57}]}]}]}]}],".":57,"s":[{".":57}],"m":[{"o":[{"s":[{".":57}]}]}],"d":[{"e":[{"s":[{".":57}]}]}],"n":[{".":57}]}],"o":[{"u":[{".":57}]}]}]}]}]}]}],"t":[{"e":[{"l":[{"e":[{"a":18,"e":18,"i":18,"o":18,"u":18,"á":18,"é":18,"í":18,"ó":18,"ú":18}]}]}],"r":[{"i":[{"a":21,"e":21,"i":21,"o":21,"u":21,"á":21,"é":21,"í":21,"ó":21,"ú":21}]}]}],"b":[{"e":[{"n":[{"a":26,"e":43,"i":26,"o":26,"u":26,"á":26,"í":26,"ó":26,"ú":26}]}]}],"m":[{"a":[{"l":[{"a":[{"b":[{"a":[{"r":39}],"á":[{"r":39}]}],"c":[{"o":39,"ó":39}],"r":[{"m":[{"a":[{"d":39}]}]}],"x":[{"a":39}]},26],"e":[{"d":[{"u":[{"c":44}]}],"n":[{"c":[{"a":[{"r":44}]}],"s":[{"i":[{"n":44}]}],"t":[{"e":[{"n":[{"d":44}]}]}]}]},43],"i":26,"o":[{"g":[{"r":39}]},26],"u":[{"r":[{"a":39}]},26],"á":26,"í":26,"ó":26,"ú":26}]}]}]}],"á":[{"d":[{"e":[{"o":[{".":34,"s":[{".":34}]}],"a":[{".":34,"s":[{".":34}]}]}]}],"b":[{"a":[{"m":[{"o":[{"s":[{".":34}]}]}],"d":[{"e":[{"s":[{".":34}]}]}]}]}],"s":[{"e":[{"m":[{"o":[{"s":[{".":34}]}]}],"d":[{"e":[{"s":[{".":34}]}]}]}]}]}],"é":[{"d":[{"e":[{"o":[{".":34,"s":[{".":34}]}],"a":[{".":34,"s":[{".":34}]}]}]}]}],"í":[{"d":[{"e":[{"o":[{".":34,"s":[{".":34}]}],"a":[{".":34,"s":[{".":34}]}]}],"o":[{"s":55},55],"a":[{"s":55},55]}],"a":[{".":3,"s":[{".":3}],"m":[{"o":[{"s":[{".":3}]}]}],"d":[{"e":[{"s":[{".":3}]}]}],"n":[{".":3}]}],"n":[{".":3}],"s":[{"e":[{"m":[{"o":[{"s":[{".":34}]}]}],"d":[{"e":[{"s":[{".":34}]}]}]}]}]}]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/7956.adapter.js b/public/tools/cloud_sheets/vendor/univer/7956.adapter.js new file mode 100644 index 0000000..5e2ce3a --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/7956.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[7956],{7956(h,s,o){o.r(s),o.d(s,{Sa:()=>t});const t=["22,01,001,0001,021,0301,2,201,21,031,11,12,2001",'{"‍":0,"‌":0,"a":[{"̄":2,"i":[{"̈":5},4],"u":[{"̈":5},4],"í":4,"ì":4,"ú":4,"ù":4,"ï":9,"ü":9},1],"i":[{"̈":2,"̄":2},1],"u":[{"̈":2,"̄":2},1],"r":[{"̥":[{"̄":3},2],"̣":[{"̄":3},2],".":6,"k":[{".":6}],"g":[{".":6}],"t":[{"̣":[{".":6}],".":6}],"d":[{"̣":[{".":6}],".":6}],"p":[{".":6}],"b":[{".":6}],"ṭ":[{".":6}],"ḍ":[{".":6}]}],"l":[{"̥":[{"̄":3},2],"̣":[{"̄":3,".":6},2],".":6}],"e":1,"o":1,"k":[{".":6,"h":[{".":6}]}],"g":[{".":6,"h":[{".":6}]}],"n":[{"̇":[{".":6}],"̃":[{".":6}],"̣":[{".":6}],".":6}],"c":[{".":6,"h":[{".":6}]}],"j":[{".":6,"h":[{".":6}]}],"t":[{"̣":[{".":6,"h":[{".":6}]}],".":6,"h":[{".":6}]}],"d":[{"̣":[{".":6,"h":[{".":6}]}],".":6,"h":[{".":6}]}],"p":[{".":6,"h":[{".":6}]}],"b":[{".":6,"h":[{".":6}]}],"m":[{".":6,"̣":7,"̇":7,"̐":7}],"y":[{".":6}],"v":[{".":6}],"s":[{"́":[{".":6}],"̣":[{".":6}],".":6}],"h":[{".":6,"̣":7,"̱":7,"̮":7}],"̮":6,"̐":6,"̄":6,"̱":8,"́":8,"̀":8,"̈":6,"á":1,"à":1,"ā":1,"í":1,"ì":1,"ï":1,"ī":1,"ú":1,"ù":1,"ü":1,"ū":1,"é":1,"è":1,"ó":1,"ò":1,"ṅ":[{".":6}],"ñ":[{".":6}],"ṭ":[{".":6,"h":[{".":6}]}],"ḍ":[{".":6,"h":[{".":6}]}],"ṇ":[{".":6}],"ḷ":[{".":6}],"ś":[{".":6}],"ṣ":[{".":6}],"ṃ":8,"ṁ":8,"ḥ":8,"ẖ":8,"ḫ":8,"अ":10,"आ":10,"इ":10,"ई":10,"उ":10,"ऊ":10,"ऋ":10,"ॠ":10,"ऌ":10,"ॡ":10,"ए":10,"ऐ":10,"ओ":10,"औ":10,"ा":8,"ि":8,"ी":8,"ु":8,"ू":8,"ृ":8,"ॄ":8,"ॢ":8,"ॣ":8,"े":8,"ै":8,"ो":8,"ौ":8,"क":[{"्":[{".":6}]},10],"ख":[{"्":[{".":6}]},10],"ग":[{"्":[{".":6}]},10],"घ":[{"्":[{".":6}]},10],"ङ":[{"्":[{".":6}]},10],"च":[{"्":[{".":6}]},10],"छ":[{"्":[{".":6}]},10],"ज":[{"्":[{".":6}]},10],"झ":[{"्":[{".":6}]},10],"ञ":[{"्":[{".":6}]},10],"ट":[{"्":[{".":6}]},10],"ठ":[{"्":[{".":6}]},10],"ड":[{"्":[{".":6}]},10],"ढ":[{"्":[{".":6}]},10],"ण":[{"्":[{".":6}]},10],"त":[{"्":[{".":6}]},10],"थ":[{"्":[{".":6}]},10],"द":[{"्":[{".":6}]},10],"ध":[{"्":[{".":6}]},10],"न":[{"्":[{".":6}]},10],"प":[{"्":[{".":6}]},10],"फ":[{"्":[{".":6}]},10],"ब":[{"्":[{".":6}]},10],"भ":[{"्":[{".":6}]},10],"म":[{"्":[{".":6}]},10],"य":[{"्":[{".":6}]},10],"र":[{"्":[{".":6,"क":[{"्":[{".":6}]}],"ट":[{"्":[{".":6}]}],"त":[{"्":[{".":6}]}],"प":[{"्":[{".":6}]}]}]},10],"ल":[{"्":[{".":6}]},10],"ळ":[{"्":[{".":6}]},10],"व":[{"्":[{".":6}]},10],"श":[{"्":[{".":6}]},10],"ष":[{"्":[{".":6}]},10],"स":[{"्":[{".":6}]},10],"ह":[{"्":[{".":6}]},10],"ँ":6,"ं":6,"ः":6,"ऽ":0,"॑":6,"॒":6,"्":0,"অ":10,"আ":10,"ই":10,"ঈ":10,"উ":10,"ঊ":10,"ঋ":10,"ৠ":10,"ঌ":10,"ৡ":10,"এ":10,"ঐ":10,"ও":10,"ঔ":10,"া":8,"ি":8,"ী":8,"ু":8,"ূ":8,"ৃ":8,"ৄ":8,"ৢ":8,"ৣ":8,"ে":8,"ৈ":8,"ো":8,"ৌ":8,"ক":[{"্":[{".":6}]},10],"খ":[{"্":[{".":6}]},10],"গ":[{"্":[{".":6}]},10],"ঘ":[{"্":[{".":6}]},10],"ঙ":[{"্":[{".":6}]},10],"চ":[{"্":[{".":6}]},10],"ছ":[{"্":[{".":6}]},10],"জ":[{"্":[{".":6}]},10],"ঝ":[{"্":[{".":6}]},10],"ঞ":[{"্":[{".":6}]},10],"ট":[{"্":[{".":6}]},10],"ঠ":[{"্":[{".":6}]},10],"ড":[{"্":[{".":6}]},10],"ড়":[{"্":[{".":6}]},10],"ঢ":[{"্":[{".":6}]},10],"ঢ়":[{"্":[{".":6}]},10],"ণ":[{"্":[{".":6}]},10],"ত":[{"্":[{".":6}]},10],"থ":[{"্":[{".":6}]},10],"দ":[{"্":[{".":6}]},10],"ধ":[{"্":[{".":6}]},10],"ন":[{"্":[{".":6}]},10],"প":[{"্":[{".":6}]},10],"ফ":[{"্":[{".":6}]},10],"ব":[{"্":[{".":6}]},10],"ভ":[{"্":[{".":6}]},10],"ম":[{"্":[{".":6}]},10],"য":[{"্":[{".":6}]},10],"য়":[{"্":[{".":6}]},10],"র":[{"্":[{".":6,"ক":[{".":6}],"ট":[{".":6}],"ত":[{".":6}],"প":[{".":6}]}]},10],"ল":[{"্":[{".":6}]},10],"শ":[{"্":[{".":6}]},10],"ষ":[{"্":[{".":6}]},10],"স":[{"্":[{".":6}]},10],"হ":[{"্":[{".":6}]},10],"ৎ":11,"ঁ":6,"ং":6,"ঃ":6,"ঽ":0,"়":6,"ৗ":6,"্":0,"અ":10,"આ":10,"ઇ":10,"ઈ":10,"ઉ":10,"ઊ":10,"ઋ":10,"ૠ":10,"ઌ":10,"ૡ":10,"એ":10,"ઐ":10,"ઓ":10,"ઔ":10,"ા":8,"િ":8,"ી":8,"ુ":8,"ૂ":8,"ૃ":8,"ૄ":8,"ૢ":8,"ૣ":8,"ે":8,"ૈ":8,"ો":8,"ૌ":8,"ક":[{"્":[{".":6}]},10],"ખ":[{"્":[{".":6}]},10],"ગ":[{"્":[{".":6}]},10],"ઘ":[{"્":[{".":6}]},10],"ઙ":[{"્":[{".":6}]},10],"ચ":[{"્":[{".":6}]},10],"છ":[{"્":[{".":6}]},10],"જ":[{"્":[{".":6}]},10],"ઝ":[{"્":[{".":6}]},10],"ઞ":[{"્":[{".":6}]},10],"ટ":[{"્":[{".":6}]},10],"ઠ":[{"્":[{".":6}]},10],"ડ":[{"્":[{".":6}]},10],"ઢ":[{"્":[{".":6}]},10],"ણ":[{"્":[{".":6}]},10],"ત":[{"્":[{".":6}]},10],"થ":[{"્":[{".":6}]},10],"દ":[{"્":[{".":6}]},10],"ધ":[{"્":[{".":6}]},10],"ન":[{"્":[{".":6}]},10],"પ":[{"્":[{".":6}]},10],"ફ":[{"્":[{".":6}]},10],"બ":[{"્":[{".":6}]},10],"ભ":[{"્":[{".":6}]},10],"મ":[{"્":[{".":6}]},10],"ય":[{"્":[{".":6}]},10],"ર":[{"્":[{".":6,"ક":[{".":6}],"ટ":[{".":6}],"ત":[{".":6}],"પ":[{".":6}]}]},10],"લ":[{"્":[{".":6}]},10],"ળ":[{"્":[{".":6}]},10],"વ":[{"્":[{".":6}]},10],"શ":[{"્":[{".":6}]},10],"ષ":[{"્":[{".":6}]},10],"સ":[{"્":[{".":6}]},10],"હ":[{"્":[{".":6}]},10],"ઁ":6,"ં":6,"ઃ":6,"ઽ":0,"્":0,"ಅ":10,"ಆ":10,"ಇ":10,"ಈ":10,"ಉ":10,"ಊ":10,"ಋ":10,"ೠ":10,"ಌ":10,"ೡ":10,"ಎ":10,"ಏ":10,"ಐ":10,"ಒ":10,"ಓ":10,"ಔ":10,"ಾ":8,"ಿ":8,"ೀ":8,"ು":8,"ೂ":8,"ೃ":8,"ೄ":8,"ೆ":8,"ೇ":8,"ೈ":8,"ೊ":8,"ೋ":8,"ೌ":8,"ಕ":[{"್":[{".":6}]},10],"ಖ":[{"್":[{".":6}]},10],"ಗ":[{"್":[{".":6}]},10],"ಘ":[{"್":[{".":6}]},10],"ಙ":[{"್":[{".":6}]},10],"ಚ":[{"್":[{".":6}]},10],"ಛ":[{"್":[{".":6}]},10],"ಜ":[{"್":[{".":6}]},10],"ಝ":[{"್":[{".":6}]},10],"ಞ":[{"್":[{".":6}]},10],"ಟ":[{"್":[{".":6}]},10],"ಠ":[{"್":[{".":6}]},10],"ಡ":[{"್":[{".":6}]},10],"ಢ":[{"್":[{".":6}]},10],"ಣ":[{"್":[{".":6}]},10],"ತ":[{"್":[{".":6}]},10],"ಥ":[{"್":[{".":6}]},10],"ದ":[{"್":[{".":6}]},10],"ಧ":[{"್":[{".":6}]},10],"ನ":[{"್":[{".":6}]},10],"ಪ":[{"್":[{".":6}]},10],"ಫ":[{"್":[{".":6}]},10],"ಬ":[{"್":[{".":6}]},10],"ಭ":[{"್":[{".":6}]},10],"ಮ":[{"್":[{".":6}]},10],"ಯ":[{"್":[{".":6}]},10],"ರ":[{"್":[{".":6,"ಕ":[{".":6}],"ಟ":[{".":6}],"ತ":[{".":6}],"ಪ":[{".":6}]}]},10],"ಱ":[{"್":[{".":6}]},10],"ಲ":[{"್":[{".":6}]},10],"ಳ":[{"್":[{".":6}]},10],"ೞ":10,"ವ":[{"್":[{".":6}]},10],"ಶ":[{"್":[{".":6}]},10],"ಷ":[{"್":[{".":6}]},10],"ಸ":[{"್":[{".":6}]},10],"ಹ":[{"್":[{".":6}]},10],"ಂ":6,"ಃ":6,"ೱ":6,"ೲ":6,"ಽ":0,"ೕ":6,"ೖ":6,"್":0,"അ":10,"ആ":10,"ഇ":10,"ഈ":10,"ഉ":10,"ഊ":10,"ഋ":10,"ൠ":10,"ഌ":10,"ൡ":10,"എ":10,"ഏ":10,"ഐ":10,"ഒ":10,"ഓ":10,"ഔ":10,"ാ":8,"ി":8,"ീ":8,"ു":8,"ൂ":8,"ൃ":8,"െ":8,"േ":8,"ൈ":8,"ൊ":8,"ോ":8,"ൌ":8,"ക":[{"്":[{".":6,"‍":12}]},10],"ഖ":[{"്":[{".":6}]},10],"ഗ":[{"്":[{".":6}]},10],"ഘ":[{"്":[{".":6}]},10],"ങ":[{"്":[{".":6}]},10],"ച":[{"്":[{".":6}]},10],"ഛ":[{"്":[{".":6}]},10],"ജ":[{"്":[{".":6}]},10],"ഝ":[{"്":[{".":6}]},10],"ഞ":[{"്":[{".":6}]},10],"ട":[{"്":[{".":6}]},10],"ഠ":[{"്":[{".":6}]},10],"ഡ":[{"്":[{".":6}]},10],"ഢ":[{"്":[{".":6}]},10],"ണ":[{"്":[{".":6,"‍":12}]},10],"ത":[{"്":[{".":6,"‍":12}]},10],"ഥ":[{"്":[{".":6}]},10],"ദ":[{"്":[{".":6}]},10],"ധ":[{"്":[{".":6}]},10],"ന":[{"്":[{".":6,"‍":12}]},10],"പ":[{"്":[{".":6}]},10],"ഫ":[{"്":[{".":6}]},10],"ബ":[{"്":[{".":6}]},10],"ഭ":[{"്":[{".":6}]},10],"മ":[{"്":[{".":6}]},10],"യ":[{"്":[{".":6}]},10],"ര":[{"്":[{".":6,"ക":[{".":6}],"ട":[{".":6}],"ത":[{".":6}],"പ":[{".":6}],"‍":12}]},10],"റ":[{"്":[{".":6}]},10],"ല":[{"്":[{".":6,"‍":12}]},10],"ള":[{"്":[{".":6,"‍":12}]},10],"ഴ":[{"്":[{".":6}]},10],"വ":[{"്":[{".":6}]},10],"ശ":[{"്":[{".":6}]},10],"ഷ":[{"്":[{".":6}]},10],"സ":[{"്":[{".":6}]},10],"ഹ":[{"്":[{".":6}]},10],"ൺ":8,"ൻ":8,"ർ":8,"ൽ":8,"ൾ":8,"ൿ":8,"ം":6,"ഃ":6,"ൗ":6,"്":0,"అ":10,"ఆ":10,"ఇ":10,"ఈ":10,"ఉ":10,"ఊ":10,"ఋ":10,"ౠ":10,"ఌ":10,"ౡ":10,"ఎ":10,"ఏ":10,"ఐ":10,"ఒ":10,"ఓ":10,"ఔ":10,"ా":8,"ి":8,"ీ":8,"ు":8,"ూ":8,"ృ":8,"ౄ":8,"ె":8,"ే":8,"ై":8,"ొ":8,"ో":8,"ౌ":8,"క":[{"్":[{".":6}]},10],"ఖ":[{"్":[{".":6}]},10],"గ":[{"్":[{".":6}]},10],"ఘ":[{"్":[{".":6}]},10],"ఙ":[{"్":[{".":6}]},10],"చ":[{"్":[{".":6}]},10],"ఛ":[{"్":[{".":6}]},10],"జ":[{"్":[{".":6}]},10],"ఝ":[{"్":[{".":6}]},10],"ఞ":[{"్":[{".":6}]},10],"ట":[{"్":[{".":6}]},10],"ఠ":[{"్":[{".":6}]},10],"డ":[{"్":[{".":6}]},10],"ఢ":[{"్":[{".":6}]},10],"ణ":[{"్":[{".":6}]},10],"త":[{"్":[{".":6}]},10],"థ":[{"్":[{".":6}]},10],"ద":[{"్":[{".":6}]},10],"ధ":[{"్":[{".":6}]},10],"న":[{"్":[{".":6}]},10],"ప":[{"్":[{".":6}]},10],"ఫ":[{"్":[{".":6}]},10],"బ":[{"్":[{".":6}]},10],"భ":[{"్":[{".":6}]},10],"మ":[{"్":[{".":6}]},10],"య":[{"్":[{".":6}]},10],"ర":[{"్":[{".":6,"క":[{"్":[{".":6}]}],"ట":[{"్":[{".":6}]}],"త":[{"్":[{".":6}]}],"ప":[{"్":[{".":6}]}]}]},10],"ఱ":[{"్":[{".":6}]},10],"ల":[{"్":[{".":6}]},10],"ళ":[{"్":[{".":6}]},10],"వ":[{"్":[{".":6}]},10],"శ":[{"్":[{".":6}]},10],"ష":[{"్":[{".":6}]},10],"స":[{"్":[{".":6}]},10],"హ":[{"్":[{".":6}]},10],"ఁ":6,"ం":6,"ః":6,"ౕ":6,"ౖ":6,"్":0}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/8013.adapter.js b/public/tools/cloud_sheets/vendor/univer/8013.adapter.js new file mode 100644 index 0000000..c048db4 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/8013.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[8013],{8013(s,o,n){n.r(o),n.d(o,{MnCyrl:()=>e});const e=["1,102,21,2,234,23,000034,0000034,0034,00034,004,0000234,00134,00405,003,00000034,00003,000030034,3,34,304,30304,303,33,32,345,34004",'{"б":[{"а":0,"е":0,"ё":0,"и":0,"о":0,"ө":0,"у":0,"ү":0,"ы":0,"ь":[{"ю":1}],"э":0,"ю":[{"у":4,"ү":4},0],"я":0}],"в":[{"а":0,"е":0,"ё":0,"и":0,"о":0,"ө":0,"у":0,"ү":0,"ы":0,"ь":[{"ю":1}],"э":0,"ю":[{"у":4,"ү":4},0],"я":0}],"г":[{"а":0,"е":0,"ё":0,"и":0,"о":0,"ө":0,"у":0,"ү":0,"ы":0,"ь":[{"ю":1}],"э":0,"ю":[{"у":4,"ү":4},0],"я":0,"р":[{"а":[{"д":19,"м":19,"ф":19}]}]}],"д":[{"а":0,"е":0,"ё":0,"и":0,"о":0,"ө":0,"у":0,"ү":0,"ы":0,"ь":[{"ю":1}],"э":0,"ю":[{"у":4,"ү":4},0],"я":0}],"ж":[{"а":0,"е":0,"ё":0,"и":0,"о":0,"ө":0,"у":0,"ү":0,"э":0,"ю":[{"у":4,"ү":4},0],"я":0}],"з":[{"а":0,"е":0,"ё":0,"и":0,"о":0,"ө":0,"у":0,"ү":0,"ы":0,"ь":[{"ю":1}],"э":0,"ю":[{"у":4,"ү":4},0],"я":0}],"к":[{"а":0,"е":0,"ё":0,"и":0,"о":0,"у":0,"ү":0,"э":0,"ю":0,"я":0,"в":[{"а":19}],"л":[{"а":[{"с":19}]}],"р":[{"и":19}]}],"л":[{"а":0,"е":0,"ё":0,"и":0,"о":0,"ө":0,"у":0,"ү":0,"ы":0,"э":0,"ю":[{"у":4,"ү":4},0],"я":0}],"м":[{"а":0,"е":0,"ё":0,"и":0,"о":0,"ө":0,"у":0,"ү":0,"ы":0,"э":0,"ю":[{"у":4,"ү":4},0],"я":0}],"н":[{"а":0,"е":0,"ё":0,"и":0,"о":0,"ө":0,"у":0,"ү":0,"ы":0,"ь":[{"ю":1}],"э":0,"ю":[{"у":4,"ү":4},0],"я":0}],"п":[{"а":0,"е":0,"ё":0,"и":0,"о":0,"ө":0,"у":0,"ү":0,"ы":0,"ь":[{"ю":1}],"э":0,"ю":[{"у":4,"ү":4},0],"я":0,"р":[{"о":[{"е":[{"к":23}]},19]}]}],"р":[{"а":0,"е":0,"ё":0,"и":0,"о":0,"ө":0,"у":0,"ү":0,"ы":0,"э":0,"ю":[{"у":4,"ү":4},0],"я":0}],"с":[{"а":0,"е":0,"ё":0,"и":0,"о":0,"ө":0,"у":0,"ү":0,"ы":0,"э":0,"ю":[{"у":4,"ү":4},0],"я":0,"к":[{"о":[{"п":19}],"л":[{"а":20,"е":20,"о":20,"я":20}],"р":[{"а":20,"е":20,"и":20,"о":20,"у":20,"ы":20}]}],"ф":[{"е":19}],"х":[{"е":19}],"п":[{"л":[{"а":20}]}],"т":[{"р":[{"а":20,"е":20,"и":20,"о":20,"у":[{"к":20}]}]}]}],"т":[{"а":0,"е":0,"ё":0,"и":0,"о":0,"ө":0,"у":0,"ү":0,"ы":0,"ь":[{"ю":1}],"э":0,"ю":[{"у":4,"ү":4},0],"я":0}],"ф":[{"а":0,"е":0,"ё":0,"и":0,"о":0,"у":0,"ы":0,"э":0,"ю":0,"я":0,"р":[{"а":[{"г":[{"м":19}]}]}]}],"х":[{"а":0,"е":0,"ё":0,"и":0,"о":0,"ө":0,"у":0,"ү":0,"ы":0,"э":0,"ю":[{"у":4,"ү":4},0],"я":0,"л":[{"о":[{"р":19}]}],"р":[{"о":[{"м":19}]}]}],"ц":[{"а":0,"е":0,"ё":0,"и":0,"о":0,"ө":0,"у":0,"ү":0,"ы":0,"э":0,"ю":[{"у":4,"ү":4},0],"я":0}],"ч":[{"а":0,"е":0,"ё":0,"и":0,"о":0,"ө":0,"у":0,"ү":0,"э":0,"ю":[{"у":4,"ү":4},0],"я":0}],"ш":[{"а":0,"е":0,"ё":0,"и":0,"о":0,"ө":0,"у":0,"ү":0,"э":0,"ю":[{"у":4,"ү":4},0],"я":0,"т":[{"а":[{"б":24,"т":24}]}]}],"щ":[{"а":0,"е":0,"и":0,"у":0}],"а":[{"я":2,"а":3,"в":[{"т":[{"о":18}]}],"к":[{"т":[{"и":[{"в":18}]}]}],"п":[{"п":[{"а":18}]}]}],"и":[{"е":2,"м":[{"п":[{"у":[{"л":20}]}]}],"н":[{"с":[{"т":[{"р":[{"у":21}]}]}],"т":[{"е":[{"р":21}]}]}]}],"й":[{"е":2,"ё":2,"ю":2,"я":2}],"о":[{"е":2,"ё":2,"я":2,"о":3,"п":[{"т":[{"и":[{"к":22}]}]}]}],"ө":[{"е":2,"ө":3}],"у":[{"я":2,"ю":5,"у":3}],"ү":[{"ү":3}],"ъ":[{"е":5,"ё":5,"ю":5,"я":5}],"ь":[{"е":5,"ё":5,"я":5}],"э":[{"е":5,"э":3,"к":[{"в":[{"и":25}],"о":19}],"л":[{"е":[{"к":[{"т":26}],"м":[{"е":19}]}]}],"н":[{"е":[{"р":[{"г":19}]}],"т":[{"р":[{"о":19}]}]}],"ф":[{"ф":[{"е":18}]}]}],"ю":[{"а":5,"и":5,"о":5}],".":[{"а":[{"в":[{"т":[{"о":[{"а":[{"г":6,"д":6,"к":6,"л":6,"н":6,"с":6}],"б":[{"л":6,"р":6}],"в":[{"в":6,"л":6}],"г":[{"р":6}],"д":[{"р":6}],"и":[{"м":6,"н":6,"о":6}],"к":[{"л":6,"р":6}],"о":[{"б":6,"к":6,"п":6,"т":6}],"п":[{"р":6}],"с":[{"к":6,"л":6,"м":6,"п":6,"т":6,"ц":6}],"т":[{"р":6}],"ф":[{"л":6,"р":6}],"х":[{"р":6,"т":6}],"ц":[{"в":6}],"э":[{"к":6,"л":6,"м":6,"п":6}]}]}]}],"н":[{"т":[{"и":[{"а":[{"в":6,"д":6,"л":6,"н":6,"п":6,"р":6,"с":6,"т":6,"у":6}],"б":[{"л":6}],"г":[{"л":6,"р":6}],"д":[{"р":6}],"и":[{"д":6,"з":6,"м":6,"н":6}],"к":[{"в":6,"л":6}],"о":[{"б":6,"з":6,"к":6}],"п":[{"л":6,"н":6,"р":6,"с":6}],"с":[{"в":6,"к":6,"т":6,"ц":6}],"т":[{"р":6}],"у":[{"з":6,"р":6,"т":6}],"ф":[{"л":6,"р":6}],"х":[{"л":6,"р":6}],"э":[{"м":6,"н":6,"р":6}]}]}]}],"с":[{"т":[{"р":[{"о":[{"б":[{"л":7}],"г":[{"л":7,"р":7}],"и":[{"н":7}],"о":[{"р":7}],"с":[{"п":7}],"ш":[{"т":7}]}]}]}]}],"э":[{"р":[{"о":[{"д":[{"р":6}],"к":[{"л":6}],"п":[{"л":6}],"с":[{"т":6}],"ф":[{"л":6}]}]}]}]}],"б":[{"и":[{"а":[{"к":8,"л":8,"ф":8}],"к":[{"в":8,"р":8}],"о":[{"р":8,"а":[{"к":9,"н":9,"п":9,"с":9}],"б":[{"л":9}],"г":[{"р":9}],"и":[{"н":9}],"к":[{"л":9,"р":9}],"о":[{"р":9}],"п":[{"л":9,"р":9}],"с":[{"к":9,"п":9,"т":9,"ф":9}],"х":[{"р":9}],"э":[{"к":9,"л":9,"н":9,"т":9}]}],"п":[{"р":8}],"э":[{"к":8}]}],"ь":10}],"в":[{"ъ":10,"ь":10}],"г":[{"а":[{"з":[{"о":[{"а":[{"б":6,"д":6,"н":6,"п":6}]}]}]}],"е":[{"о":[{"а":[{"к":9}],"б":[{"л":9}],"г":[{"р":9}],"и":[{"з":9,"н":9}],"к":[{"р":9}],"с":[{"к":9,"т":9,"ф":9}],"т":[{"р":9}],"ф":[{"л":9}],"х":[{"р":9}],"э":[{"к":9,"л":9}]}]}],"и":[{"д":[{"р":[{"о":[{"а":[{"б":7,"в":7,"г":7,"д":7,"к":7,"л":7,"м":7,"р":7,"э":7}],"г":[{"р":7}],"и":[{"з":7,"н":7,"о":7}],"к":[{"л":7,"р":7}],"о":[{"к":7}],"п":[{"л":7,"н":7}],"с":[{"т":7,"ф":7}],"т":[{"р":7}],"у":[{"д":7,"з":7,"р":7}],"х":[{"л":7}],"э":[{"к":7,"л":7,"н":7}]}]}]}],"п":[{"е":[{"р":[{"а":[{"д":11,"з":11,"к":11,"л":11,"м":11,"р":11,"ц":11,"э":11}],"е":[{"а":11,"м":11,"р":11,"с":11}],"и":[{"з":11,"м":11,"н":11}],"о":[{"в":11,"к":11,"с":11}],"б":[{"р":7}],"г":[{"л":7,"р":7}],"к":[{"в":7,"р":7}],"м":[{"н":7}],"п":[{"л":7,"н":7,"р":7}],"с":[{"п":7,"р":7,"с":7,"т":7}],"т":[{"р":7}],"у":[{"р":7}],"ф":[{"р":7}],"х":[{"л":7,"р":7}],"э":[{"к":7,"л":7,"н":7,"о":7,"с":7}]}]}]}]}],"о":[{"л":[{"о":[{"б":[{"л":6}],"э":[{"д":6}]}]}],"м":[{"о":[{"а":[{"з":6,"к":6,"т":6}],"к":[{"л":6}],"п":[{"л":6}],"с":[{"п":6}],"т":[{"р":6}],"ф":[{"т":6}],"э":[{"н":6,"п":6}]}]}]}],"ь":10}],"д":[{"и":[{"а":[{"г":[{"н":12}],"д":[{"р":9}],"к":[{"л":9,"р":9}],"с":[{"к":9,"п":9,"т":9}],"т":[{"р":9}],"ф":[{"р":9}],"з":[{"о":[{"т":[{"р":7}],"э":[{"т":7,"ф":7}]}]}]}],"с":[{"т":[{"р":[{"и":13,"о":13}]}]}],"н":[{"а":[{"т":[{"р":6}]}]}]}],"ь":10}],"е":[{"в":[{"р":[{"о":[{"а":[{"з":6,"т":6}],"и":[{"е":6}],"к":[{"р":6}],"о":[{"б":6}],"с":[{"п":6,"т":6}]}]}]}]}],"и":[{"з":[{"о":[{"а":[{"в":9,"г":9,"д":9,"з":9,"к":9,"л":9,"м":9,"н":9}],"б":[{"р":9}],"в":[{"р":9}],"г":[{"л":9,"р":9}],"д":[{"р":9}],"и":[{"о":9}],"й":[{"о":9}],"к":[{"л":9,"р":9}],"л":[{"г":9,"ж":9}],"о":[{"к":9}],"п":[{"л":9,"р":9}],"с":[{"т":9}],"т":[{"к":9,"р":9}],"х":[{"р":9}],"ш":[{"л":9}],"э":[{"в":9,"д":9,"й":9,"л":9,"н":9}]}]}],"н":[{"а":[{"к":[{"т":8}],"п":8,"у":8}],"б":[{"р":8}],"г":[{"р":8}],"к":[{"л":8,"р":8}],"с":[{"т":[{"р":8}]}],"т":[{"е":[{"р":[{"а":[{"к":11}],"г":[{"р":7}],"к":[{"в":7,"р":7}],"п":[{"р":7}],"ф":[{"л":7}]}]}]}]}]}],"к":[{"и":[{"л":[{"о":[{"а":[{"м":6}],"г":[{"р":6}],"э":[{"л":6}]}]}],"н":[{"о":[{"а":[{"к":6,"н":6,"п":6,"ф":6}],"б":[{"л":6}],"д":[{"р":6}],"и":[{"с":6}],"к":[{"л":6,"р":6}],"о":[{"п":6}],"п":[{"л":6,"р":6}],"с":[{"к":6,"ъ":6}],"ф":[{"л":6,"р":6}],"х":[{"р":6}],"э":[{"к":6}]}]}]}],"о":[{"а":[{"г":8,"д":8,"к":8}],"и":[{"н":8}],"о":[{"п":8,"р":8}],"п":[{"л":8}],"э":[{"ф":8}]}],"ь":10}],"л":[{"ь":10}],"м":[{"а":[{"к":[{"р":[{"о":[{"а":[{"н":7,"с":7}],"б":[{"л":7,"р":7}],"г":[{"л":7,"н":7,"р":7}],"и":[{"н":7,"с":7}],"к":[{"л":7,"р":7}],"о":[{"в":7,"п":7,"р":7}],"п":[{"л":7,"р":7}],"с":[{"к":7,"п":7,"т":7,"х":7}],"т":[{"р":7}],"ф":[{"л":7,"т":7}],"э":[{"в":7,"к":7,"л":7,"н":7,"р":7,"с":7}]}]}]}]}],"е":[{"г":[{"а":[{"о":[{"м":6}],"п":[{"р":6}],"с":[{"к":6,"п":6}],"э":[{"л":6}]}]}]}],"и":[{"к":[{"р":[{"о":[{"а":[{"в":7,"г":7,"д":7,"м":7,"н":7,"р":7,"с":7,"у":7,"э":7}],"б":[{"л":7,"р":7}],"г":[{"р":7}],"д":[{"в":7}],"и":[{"з":7,"н":7,"с":7}],"й":[{"о":7}],"к":[{"л":7,"н":7,"р":7}],"о":[{"б":7,"п":7,"р":7,"с":7}],"п":[{"л":7,"р":7}],"с":[{"к":7,"п":7,"т":7,"ф":7,"х":7}],"т":[{"р":7}],"ф":[{"л":7}],"х":[{"р":7}],"э":[{"в":7,"л":7,"м":7,"н":7,"р":7}]}]}]}],"л":[{"л":[{"и":[{"а":[{"м":7}],"г":[{"р":7}],"о":[{"м":7}],"э":[{"к":7}]}]}]}]}],"о":[{"н":[{"о":[{"а":[{"в":6,"з":6,"л":6,"м":6,"н":6,"р":6,"т":6,"ц":6}],"б":[{"л":6,"р":6}],"г":[{"л":6,"р":6}],"и":[{"з":6,"м":6,"н":6}],"к":[{"л":6,"р":6}],"о":[{"к":6,"л":6}],"п":[{"л":6,"р":6,"с":6}],"с":[{"п":6,"т":6}],"т":[{"р":6}],"ф":[{"т":6}],"х":[{"л":6,"р":6}],"э":[{"д":6,"н":6,"п":6,"т":6,"ф":6}]}]}],"т":[{"о":[{"д":[{"р":6}],"к":[{"р":6}],"п":[{"л":6,"р":6}],"с":[{"п":6}],"ш":[{"л":6}]}]}]}],"ь":10}],"н":[{"а":[{"у":14,"н":[{"о":[{"а":[{"д":6}],"п":[{"р":6}]}]}]}],"е":[{"о":[{"а":[{"д":9,"н":9,"р":9}],"б":[{"л":9}],"г":[{"л":9,"н":9,"р":9}],"и":[{"з":9,"м":9,"н":9}],"к":[{"л":9,"р":9}],"п":[{"л":9,"р":9}],"х":[{"р":9}],"э":[{"з":9,"н":9,"п":9,"с":9}]}]}],"ь":10}],"о":[{"р":[{"т":[{"о":[{"а":[{"л":6,"м":6,"н":6,"р":6}],"д":[{"р":6}],"и":[{"з":6}],"к":[{"р":6}],"п":[{"л":6,"р":6,"с":6}],"с":[{"в":6,"к":6,"т":6}],"т":[{"р":6}],"х":[{"л":6,"р":6}],"э":[{"т":6,"ф":6}]}]}]}]}],"п":[{"а":[{"р":[{"а":[{"а":[{"к":6,"л":6,"м":6,"н":6,"п":6,"ц":6}],"б":[{"л":6}],"г":[{"н":6,"р":6}],"к":[{"л":6,"р":6}],"о":[{"к":6}],"п":[{"л":6,"с":6}],"с":[{"п":6,"ф":6,"ц":6}],"т":[{"р":6}],"х":[{"л":6,"р":6}],"э":[{"л":6,"т":6}]}],"о":[{"п":[{"р":6}]}]}]}],"о":[{"л":[{"и":[{"а":[{"в":6,"д":6,"з":6,"к":6,"л":6,"м":6,"н":6,"р":6,"ц":6}],"б":[{"р":6}],"г":[{"л":6,"р":6}],"и":[{"з":6,"м":6}],"к":[{"л":6,"р":6}],"о":[{"к":6,"л":6}],"п":[{"л":6,"н":6,"р":6}],"с":[{"п":6,"т":6}],"у":[{"р":6}],"х":[{"л":6,"р":6}],"э":[{"д":6,"к":6,"л":6,"н":6,"т":6,"ф":6}]}]}]}],"р":[{"е":[{"э":[{"к":9}],"ю":[{"д":9}]}],"о":[{"а":[{"г":9,"к":9,"м":9,"н":9,"у":9}],"г":[{"р":9}],"и":[{"г":9,"з":9,"л":9,"н":9}],"к":[{"л":9}],"с":[{"п":9}],"х":[{"р":9}],"э":[{"к":9,"м":9,"н":9,"р":9,"с":9}],"т":[{"о":[{"х":[{"л":7,"р":7}],"э":[{"р":7}]}]}],"ф":[{"г":[{"р":6}]}]}]}],"ъ":10,"ь":10}],"р":[{"е":[{"а":[{"б":8,"г":8,"д":8,"к":8,"с":8,"ф":8,"э":8}],"г":[{"р":8}],"и":[{"м":8,"н":8,"ф":8}],"к":[{"р":8}],"п":[{"р":8}],"т":[{"р":[{"а":8,"о":[{"а":[{"к":7,"у":7}],"г":[{"р":7}],"о":[{"т":7}],"ф":[{"л":7}]}]}]}]}]}],"с":[{"а":[{"н":[{"т":[{"и":[{"г":[{"р":7}]}]}]}]}],"т":[{"е":[{"р":[{"е":[{"о":[{"а":[{"д":15,"к":15}],"б":[{"л":15}],"г":[{"р":15}],"и":[{"з":15}],"с":[{"к":15,"п":15}],"т":[{"р":15}],"э":[{"л":15,"н":15,"ф":15}]}]}]}]}]}],"у":[{"п":[{"е":[{"р":[{"а":[{"г":7,"д":7,"к":7,"н":7,"р":7,"э":7}],"г":[{"р":7}],"е":[{"с":7}],"и":[{"з":7,"к":7,"м":7,"н":7}],"к":[{"л":7}],"п":[{"р":7}],"с":[{"к":7,"п":7,"т":7}],"х":[{"р":7}],"э":[{"в":7,"к":7,"ф":7}]}]}]}]}],"ъ":10,"ь":10}],"т":[{"ь":10}],"ф":[{"ь":10}],"х":[{"р":[{"и":[{"з":[{"о":[{"и":[{"д":7}],"п":[{"р":7}],"с":[{"т":7}]}]}]}]}],"ь":10}],"э":[{"л":[{"е":[{"к":[{"т":[{"р":[{"о":[{"а":[{"в":17,"г":17,"к":17,"н":17,"э":17}],"б":[{"л":17}],"и":[{"з":17,"с":17}],"о":[{"б":17,"в":17,"г":17,"д":17,"к":17,"п":17,"с":17,"т":17,"ф":17,"ч":17}],"с":[{"т":17}],"т":[{"р":17}],"э":[{"к":17,"н":17,"р":17}]},16]}]}]}]}]}]}]}]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/8302.adapter.js b/public/tools/cloud_sheets/vendor/univer/8302.adapter.js new file mode 100644 index 0000000..27f1390 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/8302.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[8302],{8302(s,n,r){r.r(n),r.d(n,{Pms:()=>t});const t=["022,22,2,002,4,032,00001,000032,0001,0043,0000021,0012,0023,021,002003,000023,00003,0032,000001,02,001,00021,01,1,202,232,023,32,0223,12,23,243,21",'{".":[{"\'":[{"s":0,"n":3}],"a":[{"p":[{"n":5}],"n":[{"t":[{"i":[{"m":[{"n":7}]},6]}]}]}],"b":[{"i":[{"o":8}]}],"c":[{"a":[{"p":[{"s":9}]}],"i":[{"r":[{"c":[{"u":[{"m":10}]}]}]}],"o":[{"o":[{"p":11}]}]},19],"d":[{"i":[{"s":12}]},19],"e":[{"x":[{"e":13,"t":[{"r":[{"a":14}]}]}]}],"f":[{"r":[{"a":[{"n":[{"k":15}]}],"e":[{"e":16}]}]}],"l":[{"i":[{"p":[{"s":[{"a":17}]}]}]}],"n":[{"a":[{"r":[{"c":[{"o":18}]}]}]}],"o":[{"p":[{"t":[{"o":6}]}],"r":[{"t":[{"o":[{"p":7}]}]}]}],"p":[{"a":[{"r":[{"a":6}]}],"o":[{"l":[{"i":[{"p":7}]}]}],"r":[{"e":8}],"s":19}],"r":[{"e":[{"a":[{"c":20}],"i":[{"s":[{"c":[{"r":11}]}]}]}]}],"t":[{"r":[{"a":[{"n":[{"s":[{"a":[{"c":15}],"c":15,"d":15,"l":15,"n":15,"p":15,"r":15,"t":15}]}]}]}]}],"s":[{"u":[{"b":[{"l":[{"u":12}],"r":12}]}]},19],"w":[{"a":[{"g":[{"n":12}]}],"e":[{"l":[{"t":21}]}]}],"z":19}],"\'":[{".":2},1],"b":[{"\'":2,"b":2,"c":2,"d":2,"f":2,"m":2,"n":2,"p":2,"s":2,"t":2,"v":2,"l":19,"r":19,".":2},23],"c":[{"\'":2,"b":2,"c":[{".":19},2],"d":2,"f":2,"j":[{".":2},19],"k":2,"m":2,"n":2,"q":2,"s":2,"t":2,"z":2,"h":[{"h":2,".":2,"b":2,"r":3,"n":2},19],"l":19,"r":19,".":2},23],"d":[{"\'":2,"b":2,"d":2,"g":2,"h":19,"l":2,"m":2,"n":2,"p":2,"r":19,"s":2,"t":2,"v":2,"w":2,".":2},23],"f":[{"\'":2,"b":2,"g":2,"f":2,"n":2,"l":19,"r":19,"s":2,"t":2,".":2},23],"g":[{"\'":2,"b":2,"d":2,"f":2,"g":[{".":19},2],"h":[{"t":24},19],"j":19,"l":19,"m":2,"n":[{".":2},19],"p":2,"r":19,"s":2,"t":2,"v":2,"w":2,"z":2,".":2},23],"h":[{"\'":2,"b":2,"d":2,"h":2,"i":[{"p":[{"n":17}]}],"l":19,"m":2,"n":2,"r":2,"v":2,".":2},23],"j":[{"\'":2,".":2},23],"k":[{"\'":2,"g":2,"f":2,"h":19,"k":2,"l":19,"m":2,"r":19,"s":2,"t":2,".":2},23],"l":[{"\'":[{".":2,"\'":2}],"b":2,"c":2,"d":2,"f":25,"g":2,"h":19,"j":19,"k":2,"l":2,"m":2,"n":2,"p":2,"q":2,"r":2,"s":2,"t":2,"v":2,"w":2,"z":2,".":2},23],"m":[{"\'":2,"b":2,"c":2,"f":2,"l":2,"m":2,"n":2,"p":2,"q":2,"r":2,"s":2,"t":2,"v":2,"w":2,".":2},23],"n":[{"\'":2,"b":2,"c":2,"d":2,"f":2,"g":[{"n":26},2],"k":2,"l":2,"m":2,"n":2,"p":2,"q":2,"r":2,"s":[{".":19,"f":[{"e":[{"r":26}]}]},2],"t":[{".":19},2],"v":2,"z":2,"h":[{"e":[{"i":[{"t":2}]}]}],".":2},23],"p":[{"\'":2,"d":2,"h":19,"l":19,"n":[{"e":27},2],"p":2,"r":19,"s":[{"i":[{"c":27}]},2],"t":2,"z":2,".":2},23],"q":[{"\'":2,"q":2,".":2},23],"r":[{"\'":2,"b":2,"c":2,"d":2,"f":2,"h":19,"g":2,"k":2,"l":2,"m":2,"n":2,"p":2,"q":2,"r":2,"s":2,"t":[{"s":28},2],"v":2,"x":2,"w":2,"z":2,".":2},23],"s":[{"\'":[{".":4,"\'":4}],"t":[{"\'":2,".":1,"b":1,"c":1,"d":1,"f":1,"m":1,"n":1,"p":1,"s":1,"t":1,"v":1}],".":4,"s":[{".":4,"m":31},30],"p":[{"n":25}]},29],"t":[{"\'":[{".":2,"\'":2}],"b":2,"c":2,"d":2,"f":2,"g":19,"h":19,"l":19,"m":2,"n":2,"p":2,"r":19,"s":[{".":2},1],"t":[{"m":26,"s":26},2],"v":2,"w":2,"z":[{"k":2,"s":3},19],".":2},23],"v":[{"\'":[{".":2,"\'":2}],"c":2,"l":19,"r":19,"s":[{".":2}],"v":2,".":2},23],"w":[{"\'":2,"h":19,"a":[{"r":3}],"y":32,".":2},23],"x":[{"\'":2,"b":2,"c":2,"f":2,"h":2,"m":2,"p":2,"t":2,"w":2,".":2},23],"z":[{"\'":[{".":2,"\'":2}],"b":2,"d":2,"l":2,"n":2,"p":2,"r":2,"s":2,"t":2,"v":2,"z":2,".":2},23],"a":[{"i":[{"a":22,"e":22,"o":22,"u":22}],"u":[{"o":22}],"t":[{".":2}]}],"e":[{"i":[{"u":22}],"w":19}],"o":[{"a":19,"e":19,"i":19,"u":19}],"y":[{"o":[{"u":22}],"i":22}]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/8307.adapter.js b/public/tools/cloud_sheets/vendor/univer/8307.adapter.js new file mode 100644 index 0000000..8f441cc --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/8307.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[8307],{8307(u,o,e){e.r(o),e.d(o,{La:()=>i});const i=["023,00001,000032,0000021,0021,0023,021,23,32,01,001,003,1,2,02,022,032,102,12,203",'{".":[{"a":[{"b":[{"l":0}],"n":[{"t":[{"i":[{"m":[{"n":2}]},1]}]}]}],"c":[{"i":[{"r":[{"c":[{"u":[{"m":3}]}]}]}],"o":[{"n":[{"i":[{"u":[{"n":4}]}]}]}]}],"d":[{"i":[{"s":[{"c":[{"i":[{"n":[{"e":5}]}]}]}]}]}],"e":[{"x":6}],"o":[{"b":0}],"p":[{"a":[{"r":[{"a":[{"i":1,"u":1}]}]}]}],"s":[{"u":[{"b":[{"l":[{"u":5}],"r":5}]}]}]}],"s":[{"q":[{"u":[{"e":[{".":7}]}]}],"d":[{"e":[{"m":[{".":7}]}]}],"p":[{"h":7}],"s":7,"t":[{"b":13,"c":13,"d":13,"f":13,"g":13,"l":19,"m":13,"n":13,"p":13,"q":13,"s":13,"t":13,"v":13,".":13}],".":13},18],"p":[{"s":[{"i":[{"c":8}]},13],"n":[{"e":[{"u":8}]},13],"h":[{"p":13,"t":13},14],"l":14,"p":13,"r":14,"t":13,"z":13,".":13},12],"æ":9,"œ":9,"a":[{"i":[{"a":9,"e":9,"o":9,"u":9}],"e":[{"a":10,"o":10,"u":10}],"u":[{"a":9,"e":9,"i":9,"o":9,"u":9}],"l":[{"u":[{"a":6,"e":6,"i":6,"o":6,"u":6}]}],"m":[{"u":[{"a":6,"e":6,"i":6,"o":6,"u":6}]}],"n":[{"u":[{"a":6,"e":6,"i":6,"o":6,"u":6}]}],"r":[{"u":[{"a":6,"e":6,"i":6,"o":6,"u":6}]}]}],"e":[{"i":[{"u":9}],"u":[{"a":9,"e":9,"i":9,"o":9,"u":9}],"l":[{"u":[{"a":6,"e":6,"i":6,"o":6,"u":6}]}],"m":[{"u":[{"a":6,"e":6,"i":6,"o":6,"u":6}]}],"n":[{"u":[{"a":6,"e":6,"i":6,"o":6,"u":6}]}],"r":[{"u":[{"a":6,"e":6,"i":6,"o":6,"u":6}]}]}],"i":[{"o":[{"i":10}],"u":[{"a":9,"e":9,"i":9,"o":9,"u":9}],"l":[{"u":[{"a":6,"e":6,"i":6,"o":6,"u":6}]}],"m":[{"u":[{"a":6,"e":6,"i":6,"o":6,"u":6}]}],"n":[{"u":[{"a":6,"e":6,"i":6,"o":6,"u":6}]}],"r":[{"u":[{"a":6,"e":6,"i":6,"o":6,"u":6}]}]}],"o":[{"i":[{"a":9,"e":9,"o":9,"u":9}],"u":[{"a":9,"e":9,"i":9,"o":9,"u":9}],"l":[{"u":[{"a":6,"e":6,"i":6,"o":6,"u":6}]}],"m":[{"u":[{"a":6,"e":6,"i":6,"o":6,"u":6}]}],"n":[{"u":[{"a":6,"e":6,"i":6,"o":6,"u":6}]}],"r":[{"u":[{"a":6,"e":6,"i":6,"o":6,"u":6}]}]}],"u":[{"o":[{"u":11}],"u":[{"a":9,"e":9,"i":9,"o":9,"u":9}],"l":[{"u":[{"a":6,"e":6,"i":6,"o":6,"u":6}]}],"m":[{"u":[{"a":6,"e":6,"i":6,"o":6,"u":6}]}],"n":[{"u":[{"a":6,"e":6,"i":6,"o":6,"u":6}]}],"r":[{"u":[{"a":6,"e":6,"i":6,"o":6,"u":6}]}]}],"b":[{"b":13,"c":13,"d":13,"l":14,"m":13,"n":13,"r":14,"t":13,"s":13,".":13},12],"c":[{"c":13,"h":15,"l":14,"m":13,"n":13,"q":13,"r":14,"s":13,"t":13,"z":13,".":13},12],"d":[{"d":13,"g":13,"m":13,"r":14,"s":13,"v":13,".":13},12],"f":[{"f":13,"l":14,"n":13,"r":14,"t":13,".":13},12],"g":[{"g":13,"d":13,"f":13,"l":14,"m":13,"n":14,"r":14,"s":13,"v":13,".":13},12],"h":[{"p":13,"t":13,".":13},12],"j":12,"k":[{"k":13,"h":15},12],"l":[{"b":13,"c":13,"d":13,"f":[{"t":16},13],"g":13,"k":13,"l":13,"m":13,"n":13,"p":13,"q":13,"r":13,"s":13,"t":13,"v":13,".":13},12],"m":[{"m":13,"b":13,"p":13,"l":13,"n":13,"q":13,"r":13,"v":13,".":13},12],"n":[{"b":13,"c":13,"d":13,"f":13,"g":13,"l":13,"m":13,"n":13,"p":13,"q":13,"r":13,"s":[{"m":0,"f":0},13],"t":13,"v":13,"x":13,".":13},12],"q":[{"u":17}],"r":[{"b":13,"c":13,"d":13,"f":13,"g":13,"h":14,"l":13,"m":13,"n":13,"p":13,"q":13,"r":13,"s":13,"t":13,"v":13,"z":13,".":13},12],"t":[{"b":13,"c":13,"d":13,"f":13,"g":13,"h":14,"l":14,"r":14,"m":13,"n":13,"p":13,"q":13,"t":13,"v":13,".":13},12],"v":[{"l":14,"r":14,"v":13},12],"x":[{"t":13,"x":13,".":13},12],"z":[{".":13},12]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/8462.adapter.js b/public/tools/cloud_sheets/vendor/univer/8462.adapter.js new file mode 100644 index 0000000..4e610ef --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/8462.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[8462],{8462(e,a,s){s.r(a),s.d(a,{Af:()=>o});const o=["00054,007,06,045,006,07,003,000065,09,03,0004,005,043,00005,05,0006,076,00004,0045,0007,04,00007,02,0005,0067,004,0044,008,000005,0000006,0003,0065,021,098,0034,066,00065,000007,0043,065,0404,08,00006,000067,001,00707,0056,00045,009,002,0001,00034,5,00008,000004,3,01,4,00056,023,00067,0054,000006,056,054,0008,2,000054,1,12,000008,00043,21,0021,0000007,45,43,6,65,0000005,000056,0000000009,000000008,54,00000076,0023,0002,0000008,0076,034,00003,000045,032,34,404,0012,212,04004,0000067,000087,00000067,0434,00009,5005,044,3004,23,40043,40003,434,00000089,00000007,0007007,303,500005,32,4304,67,00067067,0009,40005,56,4045,403,102,0304,4003,5404,0000087,3404,5045,05054,11,3001,000000078",'{".":[{"a":[{"a":[{"n":[{"s":0}]}],"ä":[{"l":[{"a":[{"w":[{"a":1}]}]}]}],"b":[{"c":[{"-":[{"b":2}]}],"l":[{"a":3}],"s":[{"a":[{"l":[{"o":1}]}]}],"-":[{"j":[{"a":2}]}]}],"c":[{"c":[{"r":[{"a":[{".":1}]}]}]}],"f":[{"a":[{"r":[{"m":[{".":1},2]}]}],"e":[{"e":[{"t":[{".":1},2]}],"n":3,"t":[{"s":[{".":1},2]}]}],"o":[{"e":[{"s":[{".":1},2]}],"o":3}],"r":[{"a":3,"o":[{"\'":[{"s":5},4],"-":[{"h":5},4]}],"y":[{".":2}]}],"s":6}],"g":[{"a":[{"a":[{"m":4}]}],"t":[{"e":[{"r":7}]}],"u":[{"u":[{"r":2}]}]}],"h":[{"a":[{".":8}],"l":[{"e":[{"r":[{"s":1}]}]}]}],"k":[{"w":9}],"l":[{"e":[{"e":[{"r":[{".":1},2]}]}],"f":[{"a":[{"g":[{"r":1}]}],"r":11},10],"l":[{"d":[{"a":4}]}],"o":[{"ï":[{"e":[{"n":5},4]}]},12],"p":6,"s":[{"t":11}],"t":[{"h":[{"e":[{"a":1}]}],"w":[{"e":[{"e":1}]}]}],"z":[{"h":[{"e":4}]}]}],"m":[{"p":[{"s":[{"w":13},10]}]}],"n":[{"a":[{"ë":[{"r":[{"o":1},2]}]}],"c":[{"p":[{"l":4}]}],"d":[{"r":11},10],"g":[{"l":11,"s":13},10],"i":[{"o":3}],"t":[{"h":[{"r":[{"o":1}]}]}]}],"p":[{"r":9,"s":[{"i":[{"d":[{"e":1}]}]}]}],"r":[{"a":[{"g":14,"p":[{".":15}]}],"t":[{"h":[{"u":[{"r":1}]}]}],"z":[{"b":[{"e":4}]}]}],"s":[{"j":[{"a":[{"s":[{".":1}]}]}],"n":[{"o":[{"g":2}]}],"o":[{"f":[{".":2}]}],"t":[{"i":14,"r":[{"a":[{"a":5,"l":16}]}]}]}],"t":[{"h":[{"o":[{"l":[{".":5},4]}]}],"s":[{"j":14}],"t":[{"e":17}]}],"u":[{"d":[{"r":[{"e":[{"y":1}]}]}]}]}],"b":[{"a":[{"a":[{"n":[{"v":2}]}],"d":[{"i":[{"n":4}],"o":18}],"l":[{"o":[{"i":[{".":1}]}]}],"r":[{"a":[{"g":[{"w":1}]}],"i":[{"n":[{"s":1}]}]}],"s":[{"e":[{"k":4}]}],"t":[{"h":[{"o":[{".":1}]}]}]}],"e":[{"d":[{"e":[{"k":[{"s":1}]}]}],"k":[{"a":[{"f":[{".":19},4]}]}],"l":[{"a":11,"o":[{"l":[{".":1}]}]}],"s":[{"k":[{"o":[{"s":1}]}]}],"t":[{"h":[{"e":[{"l":1}],"u":[{"l":1}]}]}]}],"i":[{"s":[{"h":[{"o":[{".":1}]}]}]}],"l":[{"i":10,"u":[{"s":13}]}],"o":[{"k":[{"e":[{"r":[{"f":1}]}],"i":[{"e":[{"s":1}]}],"o":[{"r":[{"s":1}]}]}],"m":[{"a":[{"a":[{"t":1}]}]}],"n":20,"p":[{"l":[{"a":[{"a":1}]}]}],"r":[{"o":11}],"s":[{"o":[{"r":[{".":1}]}],"t":[{"a":11}]}],"t":[{"r":[{"i":[{"t":1}]}],"s":[{"w":[{"a":1}]}]}],"u":[{"i":[{"t":[{".":1}]}],"t":[{"j":13}]}]}],"r":[{"e":20}],"u":[{"e":[{"n":[{"o":4}]}],"l":[{"o":[{"l":4}]}],"t":[{"h":[{"e":[{"l":1}]}]}]}],"y":[{"l":[{"d":[{"r":4}],"h":[{"o":4}],"n":[{"e":4}],"p":[{"i":4}]}],"p":[{"o":[{"r":[{"t":1}]}]}],"s":10,"t":[{"a":[{"l":4}]}]}]}],"c":[{"a":[{"t":[{"h":[{"y":[{".":1}]}]}],"y":[{"e":[{"n":[{"n":1}]}]}]}],"h":[{"l":[{"o":[{"e":[{".":21}]}]}]}],"i":[{"r":[{"c":[{"a":4}]}],"t":[{"r":[{"u":[{"s":1}]}]}]}],"o":[{"s":[{"t":[{"a":[{".":19}]}]}]}],"y":[{"p":[{"r":[{"i":4}]}]}]}],"d":[{"a":[{"g":[{"o":[{"n":[{".":1}]}],"s":23}],"k":[{"a":[{"t":4}],"o":[{"o":4}]}],"t":[{"a":[{"g":[{"e":1}]}],"j":[{"i":[{"e":19},4]}]}],"w":[{"k":[{"i":4}]}]}],"e":[{"k":[{"l":[{"a":[{"a":24}],"o":4}],"w":[{"e":4}]}],"l":[{"a":11}],"r":[{"o":[{"g":[{"a":1}]}]}],"s":[{"a":[{"l":4}],"o":[{"k":4}],"p":25}]}],"i":[{"e":[{"p":[{"l":13}]}],"j":[{"k":[{"s":4}]}],"s":[{"i":25}],"t":[{"h":[{"a":[{"k":1}]}]}]}],"o":[{"m":[{"a":18,"o":18}],"r":[{"s":[{"t":[{"e":[{".":19}]}]}]}]}],"r":[{"o":[{"e":[{"f":4}]}]}],"u":[{"n":[{"s":23}],"p":[{"r":[{"e":4}]}],"t":[{"j":23}]}],"y":[{"s":[{"p":[{"i":[{"e":1}]}]}]}]},22],"e":[{"b":[{"c":[{"u":[{".":2}]}]}],"d":[{"w":[{"a":11,"i":[{"n":[{".":1}]}]}]}],"e":[{"r":[{"s":[{"k":15}]}],"t":25}],"f":[{"r":[{"o":[{"n":[{".":1},2]}]}]}],"g":[{"g":[{"o":[{"f":[{"o":1}]}]}]}],"i":[{"n":[{"d":[{"u":2}]}],"s":[{"t":11}]}],"k":[{"s":[{"k":18,"o":[{"p":[{"a":1}],"r":[{"d":1}]}],"t":[{"r":[{"i":19,"o":19}]}]}]}],"n":[{"d":[{"r":[{"e":[{"s":1}]}]}],"k":[{"l":11},10],"o":[{"f":[{"t":[{"a":1},2]}]}],"t":[{"j":18,"o":[{"p":[{"t":1}]}]}]}],"p":[{"s":[{"o":[{"m":[{"s":1}]}]}]}],"r":[{"d":[{"a":18,"w":[{"o":4}]}],"f":[{"l":[{"e":4}],"o":[{"o":4}]}],"i":[{"n":[{"v":4}]}],"n":10,"t":[{"e":11,"j":23,"s":[{"e":[{".":19}],"w":13}]},26]}],"s":[{"a":[{"u":8}],"k":12,"o":9,"p":[{".":27,"m":[{"a":4}]},6],"t":[{"c":[{"o":4}],"n":[{"i":4}],"r":11},6]},22],"t":[{"a":[{"g":[{"e":[{".":5}]}]}],"s":[{"n":25}]}],"u":[{"r":[{"a":23}],"s":[{"t":[{"a":[{"c":1}]}]}]}],"x":[{"o":[{"d":[{"u":[{"s":1}]}]}]}],"z":[{"r":[{"a":[{".":2}]}]}]}],"f":[{"o":[{"c":[{"h":[{"v":4}]}],"w":[{"l":[{"e":4}]}]}],"r":[{"i":20}],"y":[{"t":[{"j":[{"i":4}]}]}]},22],"g":[{"a":[{"l":[{"a":[{"g":[{"e":1,"o":1}],"p":4}],"o":[{"o":4}]}],"r":[{"b":[{"o":2}]}],"s":[{"e":[{"n":4}]}]}],"e":[{"d":[{"a":[{"r":[{"t":1}]}]}],"g":[{"e":[{"k":[{"s":1}]}],"u":[{"i":[{"l":1}]}]},6],"k":[{"u":[{"n":[{"s":29},28]}]}],"l":[{"a":11}],"m":[{"o":[{"p":[{"p":1}]}],"u":[{"i":[{"t":1}]}]}],"n":[{"è":[{"v":[{"e":1}]}]}],"r":[{"o":[{"g":[{"g":1}]}]}],"s":[{"j":[{"a":[{"b":1,"r":1}]}],"k":11,"o":11,"p":[{"e":[{".":19,"r":[{".":1}]}]}],"t":[{"e":[{"g":1}]}]},10]}],"i":[{"f":30,"g":[{"a":[{"g":[{"r":1}]}]}],"s":[{"e":[{"n":4}]}]}],"l":[{"y":[{"k":23,"n":[{"a":2}]},30]}],"o":[{"o":20,"u":[{"d":[{"a":[{".":19}]}]}]}],"r":[{"ä":[{"b":[{"e":4}]}],"u":[{"b":[{"a":2}]}]}],"u":[{"i":[{"d":[{"o":[{".":19}]}]}]}]},22],"h":[{"a":[{"n":[{"g":[{"s":13}]}]}],"e":[{"b":[{"l":[{"u":4}]}],"g":[{"o":[{"r":4}],"r":[{"a":4}]}],"i":[{"n":[{"d":2}]}],"k":[{"o":23}],"r":[{"a":[{"k":[{"l":1}]}],"e":[{"n":31}]}],"w":[{"l":[{"e":4}]}]}],"i":[{"v":[{".":27}]}],"o":[{"f":[{"e":[{"t":4}]}],"l":[{"a":[{"a":4}],"o":[{"o":4}]}],"o":[{"i":13}],"t":[{"a":[{"z":[{"e":1}]}],"o":18}]}],"y":[{"g":[{"r":[{"o":4}]}]}]}],"i":[{"c":[{"t":[{"e":[{"r":[{"u":1}]}]}]}],"g":[{"l":20}],"l":[{"e":[{"u":[{"s":[{".":19}]}]}]}],"n":[{"a":[{".":33,"r":[{"i":[{"e":5},4]}]}],"d":[{"w":[{"a":[{"r":1}]}]},10],"g":[{"r":11,"w":11},10],"i":[{"t":[{"i":4}]}],"k":[{"l":[{"y":4},11],"n":11,"w":11}],"o":[{"s":[{"i":[{"e":5},4]}]}],"s":[{"n":[{"e":[{"e":1}]}]},34],"t":[{"w":[{"y":[{"f":1}]}]}]},32],"r":[{"a":[{"a":14}]}],"s":[{"a":9,"k":20,"o":9}]}],"j":[{"a":[{"g":[{"l":[{"i":4}]}],"h":[{"w":[{"e":[{".":19}]}]}],"s":[{"p":[{"a":4}]}],"t":[{"a":[{"g":[{"a":1}]}]}]}],"ä":[{"g":[{"e":[{"r":2}]}]}],"e":[{"s":[{"o":[{"p":[{"p":1}]}]}]}],"o":[{"d":[{"o":[{"f":[{"o":1}]}]}],"s":[{"a":[{"f":[{"a":1}]}]}]}],"u":[{"k":[{"o":[{"s":[{".":19},4]}]}]}],"ü":[{"r":[{"g":[{"e":35}]}]}],"y":[{"s":[{"e":[{"l":4}]}]}]}],"k":[{"a":[{"a":[{"r":17}],"d":[{"e":[{"t":28},17]}],"f":20,"ï":[{"r":[{"o":[{".":19}]}]}],"n":[{"o":[{"n":[{"t":1}]}]}],"p":[{"l":[{"a":[{"k":1},4]}]}],"r":[{"b":[{"e":2}]}],"t":[{"h":[{"a":[{"r":1}],"u":[{".":1}]}],"o":[{"ë":[{".":19},4]}],"u":[{"i":4}]}]}],"e":[{"p":[{"l":[{"e":4}]}],"r":[{"k":[{"a":36,"l":36,"r":13}],"s":[{"a":15,"l":15,"p":36}]}],"s":[{"t":18}]}],"i":[{"e":[{"s":[{"t":15}]}],"p":[{"l":[{"i":4}]}],"r":25,"t":[{"s":[{"e":[{".":19}]}]}]}],"l":[{"a":20,"e":[{"y":[{"n":2}]}],"i":[{"p":13},20]}],"n":[{"i":[{"k":13}],"o":[{"p":[{"n":4}]}]}],"o":[{"m":[{"a":[{"a":4,"f":4}]}],"p":[{"e":[{"r":[{"a":37}]},17],"l":[{"a":4}],"o":23},20],"r":[{"a":[{"g":[{".":1}]}],"s":[{"t":[{"e":[{".":21}]},15]}]}]}],"r":[{"a":[{"k":[{".":2}]}],"ü":[{"g":[{"e":4}]}],"y":[{"t":13}]}],"u":[{"m":[{"o":[{"n":[{".":1}]}]}]}],"w":[{"e":20,"o":20}],"y":[{"o":[{"t":[{"o":[{"p":1}]}]}]}]},22],"l":[{"\'":[{"e":[{"t":[{"j":[{"i":1}]}]}]}],"a":[{"e":[{"t":[{"i":4}]}],"k":[{"w":[{"a":4}]}],"s":[{"a":11}]}],"e":[{"i":[{"s":0}],"k":[{"o":[{"ë":[{".":19}]}]}],"p":[{"o":[{"o":4}],"r":11}],"s":[{"h":[{"a":[{"b":1}]}],"o":[{"n":4}],"p":25,"t":23,"u":[{"u":4}]}]}],"i":[{"g":[{"e":23,"i":25,"o":[{"m":4}],"r":[{"e":4}]}],"p":[{"a":[{"s":[{"e":1}]}]}]}],"l":[{"o":[{"y":[{"d":2}]}]}],"o":[{"c":[{"h":[{"n":4}]}],"f":[{"u":[{"i":[{".":19}]}]}],"g":[{"l":[{"ê":4}]}],"n":[{"t":[{"d":2}]}],"s":[{"k":23}]}],"u":[{"g":[{"e":[{"n":4}]}],"i":[{"s":[{"l":23}]}]}],"ü":[{"d":[{"e":[{"r":2}]}]}]}],"m":[{"\'":[{"e":[{"t":[{"j":[{"i":1}]}]}]}],"a":[{"c":[{"d":[{"o":4}]}],"n":[{"a":[{"l":4}],"u":[{"r":4}]}],"s":[{"t":[{"e":[{"k":1}]}]}],"t":[{"h":[{"e":[{"s":1}]}]}],"z":[{"d":[{"a":4}]}]}],"e":[{"l":[{"k":[{"a":36,"l":36}]}],"r":[{"k":[{"l":36}]}],"s":[{"m":23,"w":25}],"t":[{"e":[{"m":4}]}]}],"i":[{"d":[{"o":[{"s":4}]}],"r":[{"b":[{"a":4}]}],"t":[{"r":[{"a":[{"a":1}]}]}]}],"n":[{"e":20}],"o":[{"d":[{"j":[{"a":[{"d":1}]}]}],"f":[{"l":[{"a":[{"m":1}]}]}],"s":[{"i":[{"n":4}],"k":25}]}],"u":[{"e":25}],"y":[{"n":[{"e":[{"n":4}],"i":[{"n":31}]}],"u":[{"n":[{"i":[{"s":1}]}]}]}]},22],"n":[{"a":[{"a":[{"n":[{"d":2}]}],"f":[{"l":11}],"g":[{"r":[{"o":[{"e":1},4]}]}],"s":[{"m":[{"a":[{"a":1}]}],"t":[{"o":[{"r":1}]}]}],"u":[{"u":[{"r":[{"s":1}]}]}]}],"e":[{"k":[{"a":18,"o":18,"r":[{"i":[{"n":19},4]}],"y":[{"s":4}]}],"s":[{"e":[{"r":[{"h":1}]}]},38],"t":[{"i":[{"k":2}],"j":18,"r":[{"u":4}]}],"w":[{"c":[{"a":4}],"f":[{"o":4}],"l":[{"a":4}],"m":[{"a":4}]}]}],"i":[{"e":25,"j":[{"h":[{"o":4}]}],"r":[{"v":[{"a":4}]}],"x":[{"o":[{"n":[{".":19}]}]}]}],"k":[{"o":[{"s":[{"a":2}]}]}],"o":[{"e":[{"t":[{"j":23},17]}],"g":[{"e":[{"e":4}]}],"k":25,"n":[{"d":[{"u":2}]}]}],"u":[{"l":25}],"y":[{"l":[{"o":[{"n":[{"t":1}]}]}]}]},22],"o":[{"e":[{"k":[{"r":11}],"r":[{"a":[{"l":[{"g":1}],"n":[{"g":1}]}],"o":[{"s":[{".":19}]}]},25],"s":38}],"g":[{"l":20}],"h":[{"r":[{"i":[{"g":[{"s":1}]}]}]}],"k":[{"l":[{"a":[{"h":[{"o":1},2]}]}]}],"l":[{"i":[{"e":[{"u":[{"i":5},4]}]}]}],"m":[{"s":10}],"n":[{"d":[{"u":[{"i":[{"t":1},15]}]}],"e":[{"m":[{"o":2}]}],"i":[{"a":[{"s":[{".":5},4]}]}],"k":6,"p":[{"a":[{"r":[{"m":1}]}]}],"s":[{"h":[{"e":4}],"s":[{"e":4}]},34],"t":[{"e":[{"e":[{"r":24}],"r":31}],"r":[{"a":[{"s":19}],"i":23},25]}],"u":[{"s":[{".":4},8]}]},32],"o":[{"n":[{"d":[{"e":[{".":19}]}]},10],"p":20,"r":[{"n":23,"s":0}],"s":25}],"p":[{"e":[{"e":[{"t":[{".":1},2]}],"g":[{".":2}],"i":[{"n":2}],"r":[{"d":39}]}],"o":[{"f":20}],"r":[{"a":11},20],"s":[{"m":[{"u":[{"k":1}]}]},10]}],"r":[{"a":[{"g":[{"i":[{"e":5}]}]}],"k":[{"n":[{"e":4}]}],"o":9,"t":[{"o":13}]}],"s":[{"k":[{"o":11},20],"o":[{"o":[{"g":[{".":1}]}]}]}],"t":[{"h":[{"e":[{"l":[{"l":5},4]}]}]}],"u":[{"d":[{"o":[{"o":4}]}],"n":[{"ô":[{"i":[{".":1}]}]}],"t":[{"j":11}]}]}],"p":[{"a":[{"d":[{"i":[{"e":[{".":1}]}]},38],"v":[{"l":[{"o":4}]}]}],"e":[{"l":[{"a":11,"s":[{"k":15}]}],"r":[{"s":[{"t":15}]}],"s":[{"k":25,"t":25}]}],"i":[{"e":[{"t":[{"j":15}]}],"l":[{"a":[{"f":[{".":1}]}]}],"t":[{"s":23}]}],"l":[{"a":20}],"o":[{"d":[{"z":[{"o":4}]}],"e":[{"f":[{"e":2}],"n":17}],"n":[{"t":[{"w":2}]}],"s":[{"a":[{"d":4}]}]}],"r":[{"e":20}],"u":[{"t":[{"a":[{"d":4}]}]}],"y":[{"p":[{"a":[{"a":4}],"l":[{"a":4}],"o":[{"l":4}],"r":23}],"t":[{"h":[{"o":[{"n":1}]}]}]}]},22],"r":[{"\'":[{"e":[{"t":[{"j":[{"i":1}]}]}]}],"a":[{"a":[{"r":[{"d":2}]}],"d":[{"a":[{"r":[{"t":1}]}]}],"s":[{"e":[{"g":[{".":19},4]}]}]}],"e":[{"a":[{"u":[{"m":[{"u":1}]}]}],"g":[{"r":[{"u":4}]}],"k":[{"s":23}],"m":[{"a":[{"s":[{".":19},4]}],"c":[{"o":4}]}],"s":[{"l":25}]}],"i":[{"e":[{"t":[{"j":13,"r":13},10]}],"p":[{"l":[{"e":4}]}]}],"o":[{"c":[{"k":[{"y":[{".":19}]}]}],"g":[{"a":[{"k":4}]}],"n":[{"d":[{"o":[{".":19}],"s":13}]}],"p":[{"y":11}],"s":[{"t":23}],"t":[{"r":[{"e":4}]}],"w":[{"l":[{"i":4}]}]}],"u":[{"k":[{"l":[{"i":[{"p":1}]}],"o":[{"p":[{"e":1}]},10]}],"s":[{"t":[{"a":[{"a":1}]}],"u":[{"u":4}]}]}],"y":[{"k":[{"a":18}],"s":[{"t":[{"e":4}]}]}]},22],"s":[{"a":[{"a":[{"n":[{"s":2}]}],"f":20,"g":[{"o":[{"p":[{"a":1}]}]},20],"k":[{"t":[{"y":2}]}],"m":20,"v":[{"l":[{"o":4}]}]}],"c":[{"a":20}],"e":[{"a":[{"n":[{".":4}]}],"e":[{"r":[{"a":23}],"y":[{"s":[{".":19}]}]}],"k":[{"h":[{"u":[{"k":1}]}]}],"l":[{"a":[{"a":4}],"o":[{"p":4}]}],"r":[{"e":[{"n":[{"i":1}]}]}],"s":[{"l":[{"e":4}],"t":23,"u":[{"u":4}]}],"t":[{"a":[{"p":4}],"r":25}],"x":[{"y":23}]}],"f":[{"a":[{"l":[{"e":2}]}],"i":20}],"g":[{"r":20}],"h":[{"a":40,"e":20,"i":20,"o":20,"u":20}],"i":[{"n":[{"e":[{"s":4}]},20],"p":[{"h":[{"o":[{".":1}]}]}],"r":[{"a":[{"g":[{".":1}]}]}]}],"j":[{"a":20}],"k":[{"a":20,"e":20,"l":20,"o":20,"r":20,"u":20}],"l":[{"a":[{"g":13}]}],"m":[{"a":20,"e":20,"i":20,"o":20,"u":20}],"n":[{"a":[{"g":[{"s":2}]}],"e":20}],"o":[{"d":[{"a":[{"f":[{"a":1}]}],"w":[{"a":[{"n":1}]}]},10],"i":[{"e":[{"t":[{"s":1}]}]}],"k":[{"o":[{"p":4}]}],"m":[{"e":17,"s":[{".":2}]}],"n":[{"e":[{"g":4}]},20],"p":[{"e":[{"k":4}],"h":[{"o":[{"k":1}]}]},20],"r":[{"o":[{"s":[{"s":1}]}]}]}],"p":[{"e":20,"l":20,"o":[{"g":10}],"r":[{"e":[{"n":2}]}],"y":20}],"r":[{"i":[{".":41}]}],"t":[{"a":20,"e":[{"m":[{"p":2}],"r":[{"o":[{"l":19}],"t":[{"a":42,"j":43}]}]}],"i":20,"o":20,"r":[{"a":[{"f":28}],"e":[{"i":2}]}],"u":[{"a":[{"r":2}],"c":13}]}],"u":[{"b":[{"i":[{"e":[{"t":1}]}],"m":23,"p":23}],"e":[{".":27}],"i":20,"k":[{"r":11}],"t":[{"h":[{"e":[{"r":1}]}],"r":[{"a":[{".":1}]}]}]}],"w":[{"e":20,"i":20,"o":20}],"y":[{"l":[{"v":[{"i":4}]}],"n":[{"a":[{"g":[{"r":1}]}]}],"s":[{"l":[{"a":[{"g":1}]}]}]},44]}],"t":[{"a":[{"f":[{"s":[{"y":2}]}],"g":20}],"e":[{"e":[{"k":23}],"f":[{"l":[{"o":4}]}],"r":[{"a":[{"f":[{"i":1}],"g":[{"r":1}]}],"t":[{"j":[{"i":21},15]}]}],"s":[{"t":[{"u":[{"d":1}]},18]}]}],"i":[{"e":[{"n":[{"e":4}],"t":[{"j":36}]}],"k":25,"n":[{"e":[{"r":4}]}]}],"j":[{"a":[{"a":[{"i":2}]}],"o":[{"k":13}]}],"o":[{"e":[{"y":[{"s":[{".":19}]}]}],"k":[{"l":[{"a":4}],"y":[{"o":[{".":45}]}]}],"l":[{"u":[{"n":4}]}],"r":[{"o":[{"n":[{"t":1}]}]}],"u":30}],"r":[{"a":[{"p":[{"r":13}]}],"e":[{"k":13,"s":10}],"i":[{"e":[{"s":28},17]}]}],"s":[{"a":20,"h":25,"j":[{"a":[{"a":4}]}]}],"y":[{"d":[{"a":[{"a":4}],"o":[{"r":4}],"r":[{"a":4}]}]}]},22],"u":[{"i":[{"l":[{"a":[{"a":4}]}],"t":[{"i":11,"j":[{"i":46}]},38]}],"m":[{"h":[{"l":[{"a":[{"n":1}]}]}]}],"n":[{"s":[{"t":11},10]}],"r":[{"a":[{"a":14}]}],"t":[{"r":[{"a":14}]}]}],"v":[{"a":[{"k":[{"a":[{"d":4}],"e":[{"i":4}]}],"n":[{"a":[{"f":4}],"o":18}],"r":[{"a":[{"a":[{"n":1}]}]}],"s":[{"e":[{"n":4}],"w":[{"a":4}],"y":[{"s":[{".":19}]}]}]}],"e":[{"c":[{"i":[{"n":[{"o":1}]}]}],"l":[{"a":[{"a":[{"r":1}],"r":[{"e":1}]}],"ê":[{"r":[{".":1}]}],"o":[{"e":[{"r":1}],"m":[{"e":1}]}]}],"m":[{"e":[{"n":[{"g":1}]}]}],"r":[{"e":[{"m":[{"a":1}],"n":[{"a":1}],"v":[{"e":1}]}]}],"s":[{"k":[{"a":[{"f":1}]}]}],"t":[{"o":[{"r":[{"e":1}]}]}]}],"l":[{"a":[{"s":13}]}],"o":[{"g":[{"i":[{"n":4}]}],"l":[{"y":[{"w":4}]}],"s":[{"k":[{"o":4}]}]}]}],"w":[{"a":[{"g":[{"h":[{"r":[{"i":1}]}]}],"n":25,"s":[{"m":[{"o":[{"u":1}]}],"p":[{"a":4}]}]}],"e":[{"b":[{"m":23,"o":25,"-":[{"o":4}]}],"e":[{"k":[{"l":[{"a":[{"n":21}]}]}],"t":47}],"k":[{"u":[{"u":4}]}],"l":[{"a":18,"i":[{"n":[{"g":19},4]}]}],"n":[{"a":[{"n":4}]}],"r":[{"k":[{"l":13,"r":36}]}],"s":[{"k":18,"o":[{"e":4}],"w":[{"a":4}]}]}],"h":[{"ê":[{".":41}],"i":20}],"i":[{"i":[{"d":[{".":4}]}],"n":[{"s":13}],"p":25,"t":25}],"î":[{"e":[{".":48}]}],"y":[{"k":[{"w":[{"a":[{"s":1}]}]}],"n":[{"a":[{"n":[{"d":1}]}],"e":[{"t":4}]}]}]}],"x":22,"y":[{"a":[{"m":[{"i":[{"n":2}]}],"n":[{"n":[{"i":2}]}],"s":[{"u":[{"d":2}]}]}],"k":[{"l":[{"o":[{"o":[{"n":1}]}]}]}],"s":[{"e":[{"r":[{"e":4}]}],"l":[{"a":11}]},6]}],"z":[{"e":[{"u":[{"s":11}]}],"ü":[{"r":[{"i":[{"c":2}]}]}],"w":[{"a":20,"i":20}]}]}],"a":[{"a":[{"d":[{"a":25,"e":25,"o":25,"r":38},50],"f":[{"e":[{"m":[{"m":[{"e":19}]}]}],"s":[{"a":[{"t":15}]}]}],"g":[{"a":[{"l":23,"s":[{"e":[{"m":19}]}]}],"e":[{"l":[{"a":[{"s":19}]}]}],"r":[{"o":[{"n":[{"d":19}]}]},30],"s":[{"l":0,"p":23,"t":23,"w":[{"e":[{"e":19}]}]}]}],"i":[{"l":[{"a":[{"g":[{".":19}]}]}]}],"k":[{"a":25,"o":25,"r":30,"s":[{"t":[{"e":[{"r":19}]}]}],"w":30},50],"l":[{"d":[{"y":[{"s":[{".":21},15]}]}],"f":[{"e":23,"p":[{"o":15}]}],"s":[{"a":23,"f":[{"e":[{"e":19}]}]}]},50],"m":[{"a":25,"e":25,"o":25,"s":[{"m":[{"u":[{"l":19}]}]}]},50],"n":[{"d":[{"o":[{"u":15}],"r":[{"e":[{"n":19},42],"o":[{"s":19}]}]}],"g":[{"o":[{"n":[{"s":19}]}]}],"k":[{"l":23,"o":[{"n":52}],"r":[{"y":[{".":19}]}]},51],"l":[{"e":[{"g":52}]}],"s":[{"a":[{"g":[{"e":19}]}],"e":[{"e":[{"r":21},15],"k":15}],"i":[{"g":52}],"k":[{"e":[{"m":19}]}],"l":23,"n":23,"o":[{"m":15,"n":15}],"p":23}],"t":[{"u":[{"i":[{"g":19}]}]}],"v":[{"a":52}]},50],"p":[{"a":25,"o":25,"r":30,"u":25},50],"r":[{"a":30,"d":[{"a":[{"n":[{"g":21},15],"s":[{".":21}]}],"e":23,"i":[{"n":[{"g":19}]}],"u":10}],"e":30,"i":30,"k":[{"w":[{"e":[{"k":19}]}]}],"l":[{"b":[{"e":15}],"k":[{"a":15}],"v":[{"a":15}],"z":[{"i":15}],"-":[{"o":15}]}],"o":30,"s":[{"e":[{"r":[{".":19,"i":19}]}],"i":[{"d":15}],"t":[{"e":[{"e":[{"k":53}],"l":[{"l":53}]}],"i":42}]}],"t":[{"a":[{"p":52}],"i":[{"n":15}],"o":[{"m":[{"o":19}]}],"r":[{"y":[{"b":19}]}]}],"u":30}],"s":[{"o":[{"m":[{"e":[{"l":19}]}]},25]},30],"t":[{"n":[{"a":[{"g":[{"t":19}]}]}],"o":25,"r":30,"s":[{"e":[{"f":15}],"f":[{"e":[{"e":19}]}],"l":[{"i":[{"m":19}],"o":15,"y":15}],"o":[{"n":[{"n":19}],"w":15}],"t":[{"i":15}]}]},50],"u":[{"w":[{"b":[{"e":15}]}]}]},49],"ä":[{"r":[{"o":[{"n":11}]}]}],"b":[{"a":[{"k":[{"a":[{"s":[{".":21},15]}],"o":[{"m":[{"b":19}]}]}],"r":[{"e":54}],"s":[{"t":[{"e":[{"r":19}]}]}]}],"d":6,"e":[{"r":[{"s":[{"p":42}]}]}],"l":[{"a":[{"u":11}]}],"r":[{"u":[{"p":11}]}],"s":[{"o":55}],"u":[{"s":[{"c":[{"h":[{"a":19}]}]}]}],"w":[{"i":[{"e":11}]}]}],"c":[{"q":[{"u":[{"e":11}]}]}],"d":[{"a":[{"a":12,"m":[{"p":[{"e":[{".":21}]}]},17],"r":10},9],"e":[{"s":[{"l":[{"a":[{"n":21}]}],"m":[{"e":[{"e":19}]}]}]},9],"i":[{"e":[{"u":[{"s":15}]}]},9],"j":[{"u":[{"d":52}]}],"m":[{"i":[{"n":52}]}],"o":[{"w":20},9],"r":[{"e":[{"s":[{".":52}]}]},9],"s":[{"e":[{"r":[{"w":[{"e":19}]}]}],"n":25,"o":[{"p":[{".":15}],"r":11}],"t":[{"e":[{"s":[{"o":19}]}]}],"u":25}],"u":[{"i":[{"t":11}],"s":[{"p":[{"e":[{"l":19}]}]}],"t":[{"j":23}]},9],"v":[{"e":[{"r":[{"t":52}]}]}],"y":[{"s":[{"m":[{"i":[{"t":19}]}]}]},9]},22],"e":[{"l":[{"a":[{"t":[{"o":[{"o":19}]}]}],"e":[{"i":18}],"o":25}],"s":[{"t":[{"o":23,"r":23,"u":[{"u":[{"r":19}]}]}]}]},56],"ë":44,"f":[{"e":[{"e":57,"k":[{"s":11}],"l":[{"a":[{"a":13}]}]}],"f":[{"r":[{"e":25}]}],"g":[{"h":[{"a":11}]}],"i":[{"n":[{"r":11}]}],"l":6,"o":[{"f":20}],"r":[{"a":[{"a":11,"m":11,"n":11}],"e":12,"i":[{"t":3},55],"o":[{"d":14},12],"u":12},44],"s":[{"w":34}],"v":[{"a":[{"l":28},55]}]}],"g":[{"a":[{"a":[{"n":[{"v":2}],"r":20},6],"d":[{"v":11}],"k":12,"l":[{"g":11}],"p":[{"i":11}],"r":[{"e":11}]}],"e":[{".":57,"b":57,"d":[{"d":[{"o":15}]},57],"i":20,"m":57,"r":[{"v":3}],"s":57,"w":[{"e":[{"n":39}]}]}],"g":[{"e":[{"u":[{"s":[{".":21}]}]}]}],"i":[{"n":[{"g":14,"s":3}],"s":[{"t":[{"r":58}]}]},9],"l":44,"o":[{"g":[{"g":11}],"r":[{"d":11,"k":11}],"u":[{"d":11}]}],"r":[{"e":[{"i":11},12],"u":12}],"s":[{"a":[{"b":[{"n":[{"o":19}]}]},6],"i":[{"n":[{"s":4}]}],"k":[{"a":11,"o":[{"e":[{"v":19}],"l":11}],"r":11,"y":11}],"l":[{"o":10}],"n":25,"o":[{"e":[{"p":15}],"m":[{".":11}],"o":[{"m":15}],"p":[{".":15}]}],"p":[{"e":11,"o":[{"r":46}]}],"t":[{"a":[{"a":[{"l":19}]}],"i":11},10],"w":[{"a":[{"a":15}],"e":[{"e":15}]}]}],"t":[{"u":[{"u":[{"r":[{".":19}]}]},25]}],"u":[{"i":12,"r":[{"e":11}],"u":[{"r":11}]}],"-":[{"l":[{"a":[{"g":[{".":19}]}]}]}]}],"h":[{"e":[{"r":[{"i":23},17]}],"s":[{".":20}]}],"i":[{"g":[{"n":[{"e":[{".":15}]}]}],"ï":[{"e":[{"r":23}]}],"l":[{"p":25}],"n":[{"s":[{"t":[{"e":15}]}]}],"p":[{"e":[{"i":[{"s":15}]}]}],"s":[{"k":34,"l":[{"a":11}],"p":[{"r":[{"y":[{"s":19}]}]},10],"t":10}],"t":[{"j":6,"r":34}]},44],"k":[{"a":[{"a":[{"n":3}],"r":[{"b":11}]}],"e":[{"l":[{"e":[{"e":15}],"o":[{"f":15}]}],"s":[{"s":11}]}],"i":[{"n":[{"s":11}],"s":[{"t":[{"e":[{".":21}]}]},17]}],"k":[{"o":[{"o":52}]}],"l":[{"a":[{"n":[{"k":14}]}],"e":[{"e":[{"t":4}]}]},59],"n":59,"o":[{"b":[{"r":[{"e":15}]}],"m":[{"s":11}]}],"r":[{"e":12,"i":[{"g":11}]},56],"s":[{"c":25,"m":[{"e":11}],"p":6}],"u":[{"i":12}],"w":[{"e":6,"i":[{"n":11}]},22],"y":[{"s":20},9]}],"l":[{"a":[{"g":[{"a":[{"d":[{"i":19}]}],"m":14,"t":11}],"k":[{"l":[{"e":[{"d":19}]}]}],"n":[{"g":[{"a":[{"a":21}]}]}]},56],"d":[{"e":[{"i":11}]}],"e":[{"f":20,"s":[{"t":[{"r":15}]}]}],"f":[{"e":[{"n":[{"i":15}]},38],"h":25,"i":[{"e":11}],"j":25,"o":[{"l":[{"i":[{"e":19}]}]}],"s":[{"k":[{"o":15}],"n":[{"i":15}],"t":[{"a":[{"n":21},15]}]}],"u":25,"-":10}],"g":[{"o":[{"r":[{"i":52}]}]}],"i":[{"e":[{"n":[{"s":28}]}],"g":[{"a":[{"l":15}],"l":[{"a":[{"s":19}]}]}]}],"k":[{"a":[{"a":[{"r":[{"d":19}]}]}],"l":[{"a":[{"a":[{"g":19}]}]}],"o":[{"o":[{"n":[{"d":19}]}]}],"s":[{"p":23}],"u":[{"i":25}],"w":[{"y":[{"k":[{".":19}]}]}]}],"l":[{"e":[{"e":[{"n":52}]}]}],"m":[{"e":[{"i":[{"e":[{"r":19}]}]}],"l":[{"o":[{"n":[{"t":19}]}]}]}],"o":56,"s":[{"a":[{"g":[{"t":[{"i":19}]}]},10],"g":[{"h":[{"a":[{"a":19}]}]}],"k":[{"e":[{"l":[{"k":19},4]}]}],"l":[{"i":23}],"o":[{"o":18}],"p":[{"r":[{"e":[{"t":19}]}]}],"w":[{"a":[{"a":23}],"e":[{"r":[{"w":19}]}]}]}],"t":[{"h":[{"e":[{"a":15}],"u":[{"s":15}]}],"r":[{"o":[{"t":[{"s":19}]}]}],"s":[{"a":[{"s":15}]}],"w":[{"e":[{"e":15}]}]}],"u":56,"v":[{"e":[{"o":13}]}]}],"m":[{"a":[{"k":51,"n":[{"t":[{"j":7}]}],"r":[{"i":[{"n":[{"s":19}]}]}],"t":[{"o":[{"o":11}]}]},9],"b":[{"a":[{"g":52,"s":[{"s":52}]}]}],"e":[{"g":[{"t":11}],"s":[{"i":[{"n":15}],"m":23,"p":[{"o":15}]}]},9],"i":[{"s":[{"k":[{"y":[{"w":19}]}]}]},9],"m":[{"a":[{"f":[{"u":15}]}],"u":[{"n":52}]}],"o":9,"p":[{"a":[{"r":[{"r":[{"e":19}]}]}],"l":[{"a":[{"g":[{".":19}]}],"e":[{"e":[{"r":19}]}],"i":[{"g":[{".":19}]}],"u":[{"g":[{".":19}]}]}],"o":[{"m":[{"h":[{"e":19}]}]}],"s":[{"e":[{"ë":[{"l":19}]}],"f":[{"e":[{"e":19}]}],"i":[{"e":[{"r":19}]}],"t":[{"a":[{"f":19,"w":19}]}]}]}],"s":[{"e":[{"s":[{"e":[{"l":19}]}]}],"k":[{"o":[{"p":31}]}],"l":[{"e":[{"n":[{"d":19}]}]}],"m":[{"e":[{"t":[{"i":19},4]}],"u":[{"l":15}]}],"o":38,"p":[{"e":[{"l":[{"s":19}]}]}],"w":[{"a":[{"n":4,"r":4}],"y":[{"n":[{".":19}]}]}]}],"u":[{"i":[{"t":11},20]},9],"y":9},22],"n":[{"a":[{"g":[{"t":11}],"k":[{"w":[{"a":[{"l":19}]}]}],"l":[{"f":11}],"s":[{"p":[{"i":15}]}]}],"c":[{"-":25}],"d":[{"a":[{"a":[{"n":[{"s":19}]}],"d":[{"e":[{"l":19}]}],"k":[{"t":4}],"n":[{"a":[{"l":19}]},11],"p":25,"s":[{"e":4}],"t":[{"t":[{"r":19},4]}]}],"e":[{"g":[{"t":[{"e":19},4]}],"k":[{"s":23}],"m":[{"a":[{"l":19}]}],"r":[{"f":[{".":19},4]}],"t":[{"e":[{"s":19},4]}],"v":[{"a":[{"l":19}]}]}],"i":[{"n":[{"w":[{"a":19},4]}]}],"j":[{"a":[{".":15,"r":15}]}],"o":[{"m":18,"n":25,"p":18,"u":[{"d":[{".":19}]}]}],"r":[{"a":[{"k":4}],"o":25}],"s":[{"e":[{"r":15}],"k":[{"o":[{"p":60}]}],"p":[{"a":[{"a":19}],"r":[{"e":19}]}],"t":[{"e":[{"g":19}]}],"w":[{"e":[{"e":19}]}]}],"w":[{"i":[{"n":[{"g":1}]}],"y":[{"n":[{".":19}]}]}]}],"e":[{"r":[{"o":[{"n":15}]}]}],"g":[{"a":[{"a":[{"l":[{".":19}]}],"d":[{"e":[{"m":19}]}]}],"g":[{"h":[{"o":[{"r":19}]}]}],"h":[{"a":[{"i":15}]}],"l":[{"a":[{"d":15}],"i":[{"g":[{".":19},4],"p":[{".":19}]},61]}],"n":[{"o":[{"l":15}]}],"o":[{"n":[{"s":15}],"r":[{"e":[{".":19}]}]}],"r":[{"e":[{"p":[{"u":19}]}]}],"s":[{"a":[{"k":[{"m":19}]}],"k":[{"a":15}],"n":[{"e":[{"e":19}]}],"t":[{"e":[{".":60,"m":19}]}],"u":[{"r":15}]}],"u":[{"r":[{"e":[{".":19}]}]}]}],"i":[{"e":[{"t":[{"r":7}]}],"n":[{"l":11}],"s":[{"f":23,"l":[{"a":[{"w":19}]}]}]}],"k":[{"a":[{"s":[{"e":[{"m":19},4]}]}],"r":[{"e":[{"f":[{"e":19}]}],"y":25}],"w":30}],"o":[{"p":[{"s":11,"t":11,"v":11}],"r":[{"d":11,"g":11,"o":[{"e":[{"i":19}]}]}],"s":[{"t":[{"o":[{"e":19}]}]}]}],"r":[{"h":[{"y":[{"n":15}]}]}],"s":[{"a":[{"a":[{"l":[{"w":19}]}],"m":18,"s":[{"s":[{"e":19},4]}]}],"c":25,"e":[{"i":[{"l":[{"a":19}]}],"u":[{"r":[{"a":19}]}]}],"i":[{"n":[{"k":[{".":19},4]}]}],"j":[{"e":[{"k":[{"k":19},4]}],"o":[{"r":[{"d":19}]}]}],"k":[{"e":[{"i":23},25],"i":[{"n":4}],"o":[{"p":31,"u":[{"s":19}]}]}],"l":[{"a":[{"t":4}]}],"m":[{"a":[{"d":[{"a":19}]}]}],"n":25,"o":[{"r":[{"a":[{"n":19}]}]}],"p":[{"a":18,"e":[{"r":4,"t":[{".":19}]}],"o":25}],"t":[{"i":10,"o":[{"i":[{"l":19}]}]}]}],"t":[{"a":[{"a":[{"n":23,"r":23}],"s":[{"s":[{"o":19},4]}]}],"e":[{"i":25,"k":[{"s":[{"t":19},4]}],"n":[{"n":52}],"t":[{"e":[{".":19}]}]}],"i":[{"n":[{"s":4}]}],"j":[{"o":23}],"o":[{"l":25,"p":[{"r":[{"u":19}]}]}],"r":[{"e":[{"s":[{"t":19}]}],"i":[{"n":23}],"o":[{"b":[{".":19}]}]}],"s":[{"k":[{"i":15,"o":15}]}],"u":[{"i":25}],"w":[{"o":52}]}],"y":56}],"o":56,"p":[{"a":[{"a":[{"n":3}],"g":[{"t":3}],"k":[{"s":11}],"r":[{"m":11,"t":[{"h":52}]}]},9],"e":[{"n":[{"o":[{"p":15}]}]},9],"i":[{"r":[{"f":[{"a":15}]}]},9],"l":6,"o":[{"k":[{"a":[{"a":15}]}],"n":[{"d":11}],"s":[{"t":[{"a":23}]}]},9],"p":[{"a":[{"r":52}]}],"r":[{"o":[{"l":11}],"u":6,"y":[{"k":11,"s":14},20]},44],"s":[{"a":[{"l":[{"l":[{"i":19},4]}]}],"e":[{"k":[{"o":4}]}],"i":[{"d":[{"e":[{"n":19}]}]}],"k":[{"o":[{"f":4}]}],"t":[{"a":[{"a":31}],"i":11,"o":[{"e":[{"t":19}]}]}],"w":[{"e":23}]}],"u":[{"i":[{"t":11},20]},9],"y":9},22],"r":[{"a":[{"g":[{"w":[{"a":[{"n":19}]}]}],"k":[{"l":[{"e":[{"e":19}]}],"o":[{"p":15}]}],"p":[{"p":[{"a":15}]},51]},56],"d":[{"a":[{"g":[{"t":31}],"s":[{".":4}],"t":[{"m":4}]}],"e":[{"r":11,"t":[{"i":4}]}],"o":[{"p":[{"p":31}]}]}],"e":[{"a":55,"e":[{"s":13}],"g":[{"s":[{"w":[{"e":21}]}]}],"i":6,"k":[{"n":[{"i":[{"p":19}]}]}]}],"f":[{"l":[{"a":11}]}],"g":[{"h":[{"a":11},10],"i":[{"t":[{"e":52}]}],"l":25,"o":10}],"i":[{"e":[{"f":17}],"j":[{"k":[{"e":15}]}]}],"k":[{"a":[{"n":[{"a":31}]}],"i":[{"n":[{"i":4}]}],"l":[{"e":[{"e":[{"r":19}]}],"o":[{"s":15},11]}],"o":[{"n":[{"v":[{"o":19}]}],"v":[{".":42}]}],"s":[{"n":[{"u":[{"i":19}]}],"p":23}],"w":[{"a":23},25]}],"n":[{"a":[{"v":[{"o":15}]}]}],"o":[{"e":[{"t":[{"j":[{"i":21},62]}]}],"o":[{"h":13,"m":54,"p":13,"s":13}],"p":6,"w":[{"v":[{"a":15}]}]},56],"r":[{"a":[{"g":11}],"e":[{"s":[{"t":28}]}]}],"s":[{"a":[{"g":23}],"e":[{"l":[{"e":[{"k":19}]}],"n":[{"a":52}]}],"i":[{"e":11}],"k":[{"o":[{"u":15}],"r":[{"a":[{"p":19}],"e":[{"e":19},4],"o":4}]}],"p":[{"a":[{"n":[{".":19}]}],"r":25}],"t":[{"a":[{"l":[{"l":19},4]}],"e":[{"e":[{".":19}]}]}],"-":[{"i":[{"n":15}]}]}],"t":[{"a":[{"a":[{"s":[{"v":19},4]}],"l":[{"b":[{"u":19},4]}],"s":18}],"c":25,"e":[{".":11,"e":[{"n":[{"d":19}]}],"h":11,"i":25}],"h":[{"o":[{"l":15}],"u":[{"r":15}]}],"o":[{"m":[{"o":15}],"o":[{"g":23,"r":23}],"r":25}],"r":[{"e":[{"e":[{"k":19}]}],"o":[{"e":[{"p":19}]}],"y":[{"b":15}]}],"s":[{"a":[{"m":[{"b":19}]}],"l":[{"u":15}],"p":[{"r":15,"y":[{"n":19}]}]}]}],"u":[{"s":[{"o":[{".":42}]}]},56],"y":[{"t":[{"a":[{"a":[{"l":19}]}]}]},56]}],"s":[{"a":[{"g":6,"p":[{"p":11}]}],"c":6,"d":[{".":25,"h":25}],"e":[{"g":[{"t":11}],"r":[{"a":[{"k":15}]}],"t":[{"e":11}]}],"f":6,"g":[{"h":[{"i":[{"t":15}]}]}],"h":[{"i":25}],"i":[{"f":[{"r":[{"e":[{"u":19}]}]}]}],"j":[{".":20,"m":20}],"k":[{"o":[{"o":[{"l":14}]}],"r":[{"i":14,"u":11}]},59],"l":[{"a":[{"a":[{"g":11}]}]},59],"m":[{"y":20},6],"n":[{"a":20,"o":6}],"o":[{"f":[{".":48}],"g":[{"i":11}],"o":12,"p":6}],"p":[{"o":[{"r":25}]},6],"t":[{".":25,"a":[{"a":14}],"h":25,"l":[{"e":[{"s":15}]}],"o":[{"f":14}],"r":[{"a":[{"k":[{".":5}],"n":63}],"o":[{"o":63}]}]},6],"w":6,"y":[{"s":[{"t":11},20]}]}],"t":[{"a":[{"a":[{"r":11}],"g":20,"s":[{"s":[{"e":[{".":21},15]}]},51],"w":[{"b":[{"a":15}]}]}],"e":[{"i":[{"t":23}],"l":[{"j":52}],"r":[{"a":[{"r":15}],"e":[{"r":15}],"o":[{"n":15}]}],"t":[{"e":[{"s":2}]}]}],"h":[{"c":[{"a":[{"r":[{"t":19}]}]}],"e":[{"e":64}],"k":[{"i":[{"n":[{"p":19}]}]}],"l":[{"o":[{"n":[{"e":19}]}]}]}],"i":[{"e":[{"t":[{"e":42}]}]}],"j":59,"k":[{"v":[{"-":[{"s":15}]}]}],"l":[{"e":[{"e":[{"t":52}]}]}],"m":[{"o":[{"s":52}]}],"o":[{"o":[{"g":11}]}],"r":[{"y":[{".":11}]}],"s":[{"a":[{"l":[{"m":[{"a":19}]}]}],"i":[{"n":[{"t":[{"e":19},4]}]}],"j":25,"k":[{"i":[{"n":4}],"o":[{"m":15,"p":[{".":19},4]}],"r":[{"i":[{"p":19}]}]}],"l":[{"e":18,"y":[{"k":[{"h":19}]}]}],"m":[{"a":[{"a":15}]},25],"n":[{"o":[{"o":[{"d":19}]}]}],"o":[{"m":[{"w":[{"e":19},4]}],"n":[{"d":23,"k":[{"o":19}],"l":[{"u":19}]},25],"p":23,"w":[{"e":[{"r":19}]}]}],"t":[{"e":[{"n":[{"d":19}]}],"r":[{"e":[{"k":[{"e":65},19]}],"o":4}]}],"w":30}],"t":[{"h":[{"e":11,"y":[{"s":15}]}],"u":25}],"u":[{"m":[{"a":[{"a":15}]}]}]}],"u":[{"d":[{"r":[{"e":[{"y":15}]}]}],"g":[{"r":[{"a":11}],"s":[{"b":[{"u":15}]}]}],"l":[{"s":[{"p":[{"o":15}]}]}],"p":6,"r":[{"e":[{"u":13}],"i":[{"s":67}]}],"s":[{"t":[{"i":[{"n":[{".":19}]}],"r":11,"u":[{"s":[{".":19}]}]},10]}],"t":[{"s":[{"t":[{"e":15}]}]}]},66],"v":[{"a":[{"l":[{"o":[{"p":15}]}]}],"e":[{"l":[{"o":[{"t":[{"t":19}]}]}]}],"l":[{"o":[{"v":[{".":42}]}]}],"o":[{"n":55}]}],"w":[{"a":[{"g":[{"l":[{"a":[{"s":19}]}]}],"s":17}],"e":[{"g":[{"a":23}],"r":[{"a":47,"u":[{"i":42}]}]}],"s":[{"h":[{"a":[{"n":15}]}]}]}],"x":[{"o":[{"f":[{"o":11}]}]}],"y":[{"a":[{".":25},9],"i":[{"s":[{"t":11}]}],"n":[{"a":[{"r":[{"d":15}]}],"o":[{"r":[{".":15}]}]}],"o":9,"w":9}],"z":[{"o":[{"o":[{"k":[{"a":[{".":21}]}]}]}],"z":[{"a":[{"g":[{"t":[{"i":19}]}]}],"l":25,"o":[{"r":[{"k":[{"e":19}]}]}]}]}]}],"ä":68,"b":[{".":66,"a":[{"b":[{"a":[{"k":54}],"w":[{"i":[{"ë":[{"r":19}]}]}]}],"d":[{"r":[{"a":18}],"s":[{"p":23}]}],"k":[{"i":[{"n":25}],"l":[{"a":25,"e":[{"u":4}]},6],"o":38,"r":38,"w":30}],"l":[{"k":[{"l":[{"a":15}]}],"o":[{"n":[{"t":[{"s":19}]}],"r":23},25],"t":[{"s":[{"a":[{"s":19}]}]}]}],"n":[{"d":[{"a":10,"e":[{"k":15}],"r":47}],"g":[{"l":[{"a":[{"d":19}]}],"s":[{"t":[{"e":[{".":70},21]}]}]}],"k":[{"a":47,"r":[{"e":15}],"w":10}]}],"r":[{"k":[{"a":[{"a":[{"n":19}]}]}],"s":71,"t":[{"h":23}]}],"s":[{"e":[{"k":[{"s":[{"t":19}]}]}],"g":[{"h":[{"i":[{"t":19}]}]}],"j":[{"a":[{"n":[{".":19}]}]}],"n":25,"p":[{"e":[{"e":[{"r":19}]},11]}]}],"t":[{"a":[{"a":[{"n":23}]}],"j":34}]}],"b":[{"a":9,"e":9,"i":9,"l":9,"o":9,"y":9},66],"d":[{"e":9,"i":9,"o":9},66],"e":[{"d":[{"s":[{"l":[{"a":[{"a":19}]}],"t":[{"a":[{"a":21},15]}]}],"w":6}],"e":[{"l":[{"d":[{"r":42}]}]}],"k":[{"n":[{"e":[{"u":[{"s":19}]}]}],"w":[{"i":[{"n":[{"d":19}]}]}]}],"l":[{"a":[{"g":[{"a":15}]}],"k":[{"l":[{"i":[{"k":19},42]}]}],"l":[{"d":[{"o":15}]}]}],"r":[{"g":[{"a":[{"a":[{"r":21},15]}],"l":10,"r":[{"y":[{"s":19}]},47],"z":[{"i":15}]}],"s":[{"p":[{"a":[{"n":21}],"r":[{"e":21},15]}]}],"t":[{"s":[{"k":42}]}]}],"s":[{"a":[{"a":[{"n":15}]}],"k":[{"a":11},10],"l":6,"m":6,"o":[{"n":11},6],"ô":[{"r":11}],"t":[{"e":[{"r":31}],"i":[{"a":[{"l":19},4]},11],"r":[{"o":[{"l":19}]}]},34]}],"t":[{"h":[{"a":11,"e":[{"s":[{"d":19}]}]},10],"o":[{"n":11}],"w":6}]}],"f":72,"g":[{"e":9},72],"i":[{"d":[{"s":30,"u":[{"r":[{"e":[{".":19}]}]},25]}],"e":[{"d":[{"u":[{"i":15}]}],"g":[{"r":13},10]}],"j":[{"l":25}],"n":[{"d":[{"r":[{"i":15}]}]}],"o":[{"s":[{"f":[{"e":[{"e":19}]}]}]}],"r":[{"c":25}],"s":[{"a":10,"h":[{"o":[{".":15}]}],"s":[{"c":[{"h":[{"o":19}]}]}]}],"t":[{"r":6}]}],"j":[{"e":9},66],"k":[{"l":9,"o":9,"u":9},72],"l":[{"a":[{"d":[{"a":47,"o":[{"n":15}],"r":47}],"s":[{"o":23}],"u":57}],"e":[{"e":[{"m":28}],"s":[{"e":[{"r":[{".":19}]}],"k":13},10],"t":[{"j":[{"i":[{"e":21},15]}]}]}],"ê":[{"r":[{"f":[{"l":15}]}]}],"i":[{"k":[{"o":13}],"x":[{"e":[{"n":[{".":21}]}]}]}],"o":[{"k":[{"a":[{"a":[{"l":19}]}]},71],"m":71}],"u":[{"s":[{"e":[{"m":15}]}]}],"y":[{"m":[{"a":[{"r":[{"e":19}]}]}],"s":51}]}],"n":[{"o":9},72],"o":[{"b":[{"s":[{"l":[{"e":[{"e":19}]}]}]}],"e":[{"k":[{"i":[{"l":15}],"o":[{"m":15,"o":15}]}],"r":[{"s":[{"t":[{"e":37},42]}]}],"s":[{"k":47}]}],"g":[{"g":[{"h":[{"e":[{"r":19}]}]}],"s":[{"k":[{"u":[{"t":19}]}]}]}],"k":[{"a":[{"a":[{"k":15}],"l":[{"e":15}],"s":[{".":15}]},6],"e":[{"r":[{"f":15}]}],"i":[{"e":[{"s":15}]}],"l":[{"e":[{"e":[{"d":1}]}]},30],"o":[{"m":[{".":15}],"r":[{"s":15}],"s":[{"t":15}]}],"r":[{"a":[{"g":15}]},30]},73],"m":[{"a":[{"a":[{"t":15},18]}],"o":38}],"n":[{"d":[{"a":[{"m":15}],"r":[{"a":[{"a":21},15]}]}],"t":[{"e":[{"l":15}],"r":47}]}],"o":[{"p":[{".":48}]}],"p":[{"l":[{"a":[{"a":15}]}]}],"r":[{"d":[{"a":[{"k":15}],"e":[{"s":15}]}],"g":[{"a":47,"r":[{"i":15}]}],"s":[{"a":[{"a":15}],"k":47,"l":47,"t":47},20]}],"s":[{"a":[{"n":[{"e":[{"m":19}]}]}],"j":[{"a":[{"m":[{"b":19}]}]}],"p":[{"e":[{"p":[{"e":19}]}]}],"t":[{"a":[{"a":[{"i":19}]}],"r":61}],"u":[{"i":[{"l":[{".":19}]}]}]},49],"t":[{"h":[{"a":61}],"s":[{"t":[{"o":15}]}]}],"u":[{"i":[{"t":[{".":15}]}],"s":51}]}],"p":[{"r":9}],"r":[{"a":[{"n":[{"d":[{"a":28}]}]}],"e":[{"e":[{"k":28}],"i":[{"s":67},25],"n":[{"g":[{"s":[{"t":74}]}]}]}],"i":[{"e":[{"k":[{"w":[{"a":37},42]}]}]}],"o":[{"n":10,"s":[{"k":10}],"v":[{"n":[{"i":15}]}],"w":[{"n":[{"i":15}]}]},55],"u":[{"l":10,"p":57}],"ü":[{"m":25}]}],"s":[{"e":9,"i":9,"k":9,"o":9,"p":9,"t":[{"i":25},9],"u":9},72],"t":[{"e":9,"i":9},66],"u":[{"c":[{"c":[{"l":[{"e":[{"u":19}]}]}]}],"i":[{"k":[{"s":13}],"t":[{"j":0}]}],"l":[{"t":[{"a":[{"f":[{".":21}]}],"j":47,"o":[{"p":[{".":21},15]}],"u":[{"i":15}]}]}],"n":[{"s":[{"e":[{"n":[{"b":19}]}]}]}],"s":[{"h":[{"a":[{"d":15}]}],"t":[{"o":[{"e":[{"r":19}]}]}]}],"t":[{"h":[{"e":[{"l":15}]}]}],"u":[{"r":[{"e":[{"n":[{"d":19}]}]}]}]}],"v":[{"e":9,"i":9},66],"w":[{"e":9},66],"y":[{"d":6,"k":6,"l":[{"b":25,"t":25}],"n":[{"a":34}],"s":[{"k":[{"o":[{"t":15}]}],"l":10,"t":[{"e":[{"k":15,"r":[{".":19}]}],"o":[{"r":15}]}],"w":10},6],"t":[{"a":[{"l":[{"k":[{"a":19}]}]}],"e":[{"i":[{"e":[{"r":19}]}]}],"r":6}]},44]},69],"c":[{".":66,"a":[{"e":[{"s":25}],"m":[{"p":[{"h":23}]}],"p":[{"r":6}],"r":[{"a":6,"l":[{"t":[{"o":15}]}],"u":[{"s":[{"o":[{".":21}]}]}]}],"t":[{"h":[{"a":11},10]}]}],"c":[{"a":9,"h":9,"i":9,"o":9},66],"e":[{"s":[{"t":[{"e":23},25]}]}],"h":[{".":66,"e":[{"l":[{"a":[{"n":15}]}],"m":[{"i":52}],"r":[{"e":[{"g":15}],"i":0,"y":[{"l":[{".":19}]}]}],"s":[{"t":[{"y":[{"l":19}]}]}],"v":[{"v":[{"i":15}]}]}],"h":[{"o":[{"e":11}]}],"l":[{"e":[{"i":11}]}],"n":[{"i":[{"k":11}]}],"o":[{"r":[{"a":[{"g":[{"e":19}]}]}]}],"s":[{"i":[{"a":11}]}],"t":66}],"k":[{"e":9},66],"o":[{"t":[{"r":[{"a":[{"n":[{"d":19}]}]}]}],"v":[{"e":[{"r":[{"y":[{".":21}]}]}]}]}],"t":[{"a":9,"o":9,"u":9},66],"u":[{"s":[{"t":[{"o":23}]}]}],"y":[{"p":[{"r":[{"i":[{"a":[{"n":19}]}]}]}]}]},69],"d":[{".":66,"a":[{"a":[{"n":[{"b":75,"d":14,"k":75,"s":[{"l":14}]}],"r":[{"d":[{"u":28}]}]}],"b":[{"s":57}],"f":72,"g":[{"a":[{"s":11}],"e":[{"t":23}],"h":[{"a":[{"m":15},11]}],"r":[{"a":11}],"s":[{"k":10,"o":23,"t":[{"e":[{"r":19}]}]}]},49],"k":[{"l":[{"e":[{"i":[{".":19}]}]}],"o":[{"o":[{"r":[{"h":19}]}]}],"r":38,"w":[{"a":23}]}],"l":[{"a":[{"r":75}]}],"m":[{"b":57,"p":[{"l":[{"u":15}]}]}],"n":[{"k":[{"e":[{"r":[{"k":60}]}]}],"s":[{"a":[{"k":15}],"k":[{"o":15}],"m":13,"o":10,"t":47}],"t":[{"r":47}]},55],"p":[{"h":[{"n":[{"e":[{".":21}]}]}],"l":[{"a":11},10]}],"r":[{"m":76,"t":[{"i":14},57]}],"s":[{".":25,"l":[{"a":[{"g":[{".":19}]}]}],"t":[{"r":[{"a":[{"a":19}]}]}]}],"t":[{"j":34}]}],"b":[{"y":[{"l":[{"v":[{"o":15}]}]}]},66],"d":[{"a":[{"k":[{"l":23}],"s":51}],"e":[{"l":[{"e":[{"e":15}],"s":[{"o":13}]}],"r":[{"a":[{"a":[{"l":21}],"s":[{".":21},15]}]}]}],"h":[{"i":25},9]},66],"e":[{"b":[{"a":[{"t":17}]}],"e":[{"g":[{"r":13},10],"l":[{"i":[{"g":[{".":19}]}]},10],"n":[{"h":75}]}],"ë":[{"s":[{"k":[{"o":[{"u":19}]}]}]}],"g":[{".":57}],"i":66,"k":[{"a":[{"a":[{"n":15}]},6],"l":[{"a":[{"d":4,"t":31}],"e":[{"i":[{".":19},4]}]}],"n":[{"a":25}],"o":[{"n":[{"o":77}]}],"r":[{"i":[{"e":[{"t":19},4]}]}],"s":[{"a":57,"k":[{"a":15}]}]}],"l":[{"a":[{"p":[{"p":[{"e":19}]}]}],"e":[{"e":[{"u":23}],"g":[{"g":23}],"k":[{"t":14}],"l":[{"e":[{"k":19}]}],"m":[{"e":78}],"n":[{"g":[{"e":19},4]}]}],"f":[{"e":[{"r":15}],"i":23,"o":[{"s":[{".":21},15]}]}],"o":[{"o":[{"r":23}],"p":[{"e":[{"r":19}]}]}],"s":[{"e":[{"r":15}],"o":[{"l":[{"d":19}],"n":[{"e":19}]},10],"p":10,"t":[{"r":[{"e":19},15]}]}],"t":[{"a":[{"g":[{"t":19},42]}]}],"w":[{"e":[{"i":[{"s":19}]}]}]}],"m":[{"m":57,"p":[{"l":[{"a":15}]}]}],"n":[{"d":[{"i":[{"n":15}]}],"g":76,"j":57,"k":[{"a":[{"r":15}],"j":[{"a":15}],"l":47,"r":10}],"s":[{"p":[{"r":[{"e":21}]}]}],"t":[{"j":47,"r":[{"i":15}]}]}],"o":[{"p":[{"l":[{"e":[{"k":19}]}]}],"s":[{"f":[{"e":[{"e":19}]}]}]}],"p":55,"r":[{"a":[{"s":[{"t":23}]}],"e":[{"e":[{"n":[{".":19},4]}],"m":[{"i":[{"g":19}]}],"n":[{"t":[{".":19}]}]}],"f":[{"l":[{"a":[{"p":19}]}]}],"i":[{"n":[{".":4}]}],"m":[{"i":[{"n":[{"s":21}]}]}],"n":[{"a":23}],"o":[{"b":11,"e":11,"f":23,"l":11,"n":23,"w":23},25],"p":[{"s":23}],"s":[{"j":[{"o":15}],"k":[{"r":58}],"l":[{"u":15}],"p":[{"u":15}]}],"t":[{"h":[{"a":[{"l":19}]}]}],"u":[{"i":[{"t":15}]}]}],"s":[{"a":[{"g":11,"l":[{"n":[{"i":19}]}],"p":23}],"e":[{"n":[{"g":[{"e":19},4]}]}],"i":[{"n":18}],"k":[{"a":[{"t":79}],"o":[{"r":4}]}],"l":[{"e":[{"e":[{"d":19}]}]}],"n":25,"o":[{"f":[{"f":[{"e":19}]}],"k":[{"s":[{"i":19}]}],"n":18,"r":25}],"p":[{"a":[{"r":[{"i":19}]},25],"o":[{"ë":[{"s":19}]}],"r":[{"i":[{"k":19}]}]}],"t":[{"a":[{"a":[{"l":19}]}],"e":[{"l":[{"e":19}]}],"i":[{"g":11},25]}],"w":[{"e":[{"ë":[{".":19}]}]},25]}],"t":[{"e":[{".":75,"n":[{"t":[{"e":62}]}]}],"w":6}],"u":[{"r":[{"o":57,"s":[{"w":80}]}]}]}],"f":72,"g":[{"e":[{"s":[{"p":23}]}],"l":[{"i":25}]},72],"h":66,"i":[{"a":[{"s":[{"t":[{"o":[{"l":19}]}]},17],"z":[{"v":[{"i":15}]}]}],"c":[{"k":[{"i":[{"e":[{".":19}]}]}],"t":[{"i":[{"o":[{".":19}]}]}]}],"e":[{"f":[{"a":[{"l":15}]}],"k":[{"e":[{"s":15}]}],"n":[{"s":52}],"p":[{"l":10}],"t":[{"o":[{"m":15}],"u":47}]}],"g":[{"o":[{"f":[{"a":15}]}],"r":[{"e":25}],"s":[{"k":[{"r":[{"o":19}]}],"o":[{"m":[{".":19}]}]},17]}],"k":[{"a":[{"m":[{"p":[{".":19},4]}]}],"l":38,"r":[{"i":[{"b":[{"s":19}]}]},25],"w":[{"y":[{"n":[{".":19}]}]},25]}],"l":[{"a":[{"l":18}]}],"n":[{"g":[{"a":[{"s":15}],"r":10}],"l":76,"s":57,"t":76,"v":76}],"s":[{"a":[{"s":[{"s":[{"i":19},4]}]}],"o":[{"n":11},25],"p":[{"n":[{"e":15}]}],"q":[{"u":[{"i":[{"s":19}]}]}]}],"t":[{"h":[{"a":[{"k":15}]}],"j":[{"i":[{"e":[{"s":19}]}]}]}]}],"j":[{"a":[{"d":[{"j":[{"i":[{".":19}]}]}]}],"i":[{".":20,"a":20}]},66],"k":[{"l":[{"o":17}]},72],"l":[{"a":9},72],"m":66,"n":72,"o":[{"e":[{"k":[{"r":13}],"l":[{"o":[{"n":15}]}],"s":[{"k":[{"o":[{"p":21},15]}]}]}],"f":66,"g":[{"i":57}],"l":[{"o":[{"s":18}],"s":[{"o":[{"u":[{".":21},15]}]}]}],"m":[{"p":[{"l":[{"i":15}]}],"s":[{"a":[{"p":15}],"e":75,"l":[{"i":[{"m":19}]}],"w":[{"ê":15}]}],"t":57},55],"n":[{"s":[{"k":10}]}],"o":[{"r":[{"d":75}]}],"p":[{"n":57,"r":[{"o":[{"f":15}],"y":[{"s":15}]}]}],"r":[{"g":76,"o":[{"t":[{"h":[{"y":19}]}]}],"s":[{"l":10,"t":10}]},55],"s":[{"t":[{"e":[{"l":15}]}]}],"u":[{"t":30}],"y":[{"e":10},6]}],"p":66,"r":[{"a":[{"g":[{"a":[{"a":15}]}],"n":[{"d":75}],"s":[{"t":[{"a":[{"n":19}]}]}]},55],"e":[{"ë":57,"g":76,"l":[{"a":20}],"w":20}],"i":[{"f":[{"f":57}],"g":[{"t":14}],"s":[{"s":14}],"v":57}],"o":[{"ë":[{"y":[{"s":[{".":21}]}]}],"n":[{"d":75}],"o":[{"i":14,"s":75}],"p":[{"a":[{"n":15}],"n":23},25],"s":[{"f":[{"e":[{"e":19}]}]}]}],"u":[{"g":76,"i":[{"m":14,"t":14}],"s":76}],"y":[{".":76,"e":76,"k":76,"m":57,"w":20}]},22],"s":[{"a":[{"a":[{"m":[{"b":11}],"r":11}],"d":12,"k":[{"r":14,"s":11}],"n":[{"g":[{"s":11}]}],"r":12,"s":6}],"e":[{"e":[{"n":3}],"i":[{"s":[{".":11}]}],"k":[{"o":3}],"l":[{"e":[{"e":[{"r":19}]}]},10],"n":[{"g":3}],"r":[{"a":3,"t":[{"j":[{"i":37},42]}],"v":3}]},9],"f":[{"e":[{"e":[{"r":14}]}]}],"i":[{"d":6,"m":[{"p":11}],"n":[{"d":[{"e":11}],"s":3,"t":11}]}],"j":59,"k":[{"e":[{"e":14}],"i":[{"n":[{"d":11},20],"s":20}],"o":[{"l":[{"e":14}],"m":20,"o":14}],"r":[{"a":[{"a":2}],"i":[{"t":2}],"o":[{"o":2}]}]}],"l":[{"e":12,"i":6,"u":[{"i":[{"e":4}]}]}],"m":[{"e":[{"e":64}],"o":[{"o":[{"r":4}]}]},6],"n":[{"a":20,"e":[{"u":11}],"o":[{"o":11,"t":11}]}],"o":[{"e":9,"m":[{"e":14}],"n":[{"d":[{"e":[{".":5,"s":5}]}],"t":17},6],"o":[{"g":11}],"p":6,"w":6},32],"p":[{"e":[{"l":64,"s":14}],"i":9,"o":[{"p":11}],"r":[{"e":[{"k":[{"e":[{"r":5}],"i":1},4]}]}]}],"t":[{"a":[{"a":[{"k":11}],"f":20,"n":[{"d":14}]}],"e":[{"a":11,"l":14,"n":[{"t":11}],"r":[{".":14,"r":11,"s":14}]}],"i":25,"r":9,"u":9},56],"w":6,"y":9},66],"t":[{"e":[{"r":[{"t":[{"j":[{"i":37},42]}]}]}]},66],"u":[{"e":[{"-":25}],"n":[{"s":[{"t":[{"e":42}]}]}],"r":[{"r":[{"h":[{"e":15}]}]}],"s":[{"i":[{"e":[{"k":28}]}],"k":[{"a":[{"p":15}]}],"p":[{"e":[{"l":15}]}]}]}],"v":[{"e":[{"r":[{"d":[{"i":[{"e":[{"n":[{"s":[{"t":82},81]}]}]}]}]}],"s":[{"i":[{"d":15}]}]}],"i":[{"e":17}]},66],"w":[{"a":[{"a":[{"l":20,"r":14}],"n":[{"g":83,"o":[{"r":15}]}],"r":[{"m":57,"s":[{"e":[{".":21}]}]}],"t":9}],"e":[{"i":[{"l":20}],"r":[{"g":52,"k":[{"o":28}]}],"t":[{"a":[{"r":15}]}]}],"i":[{"l":9,"n":[{"g":20}]}],"o":[{"o":57}],"y":[{"n":20}]},66],"y":[{"s":[{"a":[{"g":23}],"m":[{"i":[{"t":15}]}],"t":[{"u":[{"i":[{"n":19}]}]}]}]}],"-":[{"r":[{"h":[{"o":[{"d":15}]}]}]},66]},68],"e":[{"a":[{"m":[{"s":[{"e":[{"s":15}]}]}],"n":[{"g":17}],"t":[{"e":17}],"u":[{"m":[{"o":[{"n":[{"t":19}]}]}]}]},56],"b":[{"a":[{"d":[{"r":11}]},9],"c":[{"u":[{".":48}]}],"o":[{"u":[{"t":[{".":42},13]}]}],"r":[{"e":25,"o":[{"n":[{"s":79}]}]}],"t":[{"u":[{"i":11}]}]}],"c":[{"c":[{"l":[{"e":11}]}],"h":[{"n":20,"t":[{"i":[{"a":[{"a":19}]}]}]}]}],"d":[{"a":[{"g":[{"a":[{"a":[{"t":19}]}],"o":23}]}],"e":[{"i":[{"s":11}],"r":[{"a":[{"s":[{".":21}]}],"i":[{"n":[{"g":19}]}]}],"s":[{"a":[{"p":15}]}]},9],"o":[{"f":[{"f":11}],"r":[{"s":28}]}],"r":[{"a":25,"e":[{"p":11}]}],"s":[{"a":[{"k":[{"s":4}]}],"k":[{"a":[{"l":[{"m":19}]}]}],"l":[{"a":[{"f":[{"e":19}]}]},25],"o":[{"m":23}],"p":6,"w":[{"e":61}]}],"u":[{"i":[{"t":11}]}],"w":[{"o":[{"o":11}]},49],"y":[{"s":[{"t":11}],"w":6}]}],"e":[{"a":[{"g":[{"t":11}]}],"d":[{"a":[{"t":[{"u":15}]}],"w":[{"e":23}],"y":25}],"f":[{"l":[{"a":[{"a":[{"g":19}]}],"o":[{"p":[{"i":19}]}]}],"r":[{"a":[{"n":[{"t":19}]}],"e":[{"k":[{".":19}]}]}]},49],"g":[{"l":30,"r":[{"u":23}],"s":[{"d":[{"i":15}]},51]}],"i":[{"l":[{"a":14}]}],"k":[{"a":[{"s":[{"s":23}]}],"l":[{"a":[{"a":11,"g":11}],"o":23}],"n":30,"o":[{"g":23,"o":[{"r":[{"s":19}]}]}],"r":[{"o":[{"o":[{"i":19}]}]}],"w":[{"a":[{"l":15}]},30]},49],"l":[{"a":[{"p":23}],"d":[{"o":[{"o":[{"s":19},15]}]}],"e":[{"e":[{"n":23,"r":[{".":19}]}],"i":23}],"i":[{"n":[{"d":[{"r":19}],"g":[{"s":84}],"s":4,"t":23}]}],"o":[{"b":11,"o":[{"d":15,"n":15}]},38],"s":[{"a":23,"n":[{"a":[{"g":19}]}]}]}],"m":[{"o":[{"n":[{"d":[{"e":19}]}],"u":23}]}],"n":[{"d":[{"j":52}],"e":[{"m":[{"a":15}],"n":11}],"j":55,"k":[{"l":23},17],"s":[{"l":[{"o":[{"t":19}]}],"m":23,"p":[{"a":42}],"w":[{"e":[{"e":19}]}]}],"t":[{"o":[{"p":[{"p":19}]}]}],"y":25},73],"p":[{"e":[{"s":[{"e":[{"l":19}]}]}],"l":[{"e":[{"e":[{"r":19}]}],"o":[{"o":[{"g":19}]}]}],"o":[{"p":25}],"r":[{"o":[{"e":[{"s":19}]}]}],"s":[{"a":[{"m":15}],"k":[{"e":[{"p":19}],"o":13,"u":[{"i":19}]}],"t":[{"i":15}]}]}],"r":[{"a":[{"p":23}],"e":[{"d":11,"e":23,"n":[{"d":23}]}],"i":[{"n":23}],"o":[{"b":11,"e":[{"s":[{".":19}]}],"m":23,"n":23,"w":11}],"p":[{"s":23}],"s":[{"k":[{"u":[{"r":19}]}],"l":[{"a":[{"m":21}]}],"m":[{"e":[{"d":19}]}],"o":[{"w":15}]}],"u":[{"s":[{"t":15}]},30],"y":[{"s":23},17]},49],"s":[{".":25,"a":[{"l":[{"a":15}],"p":[{".":15}]}],"l":[{"e":[{"p":15}]}],"m":[{"e":23,"u":[{"i":[{"l":19}]}]}],"n":[{"a":11,"y":11}],"o":[{"p":[{".":15}]}],"p":[{"r":[{"e":15}]}],"t":[{"a":[{"a":11,"l":15}],"r":10,"y":[{"d":4}]}],"w":25,"y":[{"d":11,"f":[{"e":15}]}]},85],"t":[{"a":[{"p":[{"p":[{"e":19}]}]}],"e":[{"e":[{"n":[{"h":19}]}]}],"i":[{"n":23},25],"r":[{"e":[{"k":[{".":19}]}],"o":[{"e":[{"d":19},4]}],"u":[{"i":[{"k":19}]}]}],"w":[{"i":[{"e":[{"l":19}]}]}]}],"u":[{"g":51,"i":[{"n":23}],"s":[{"p":[{"o":[{"e":19}]}]},17],"t":[{"j":23}],"u":[{"r":[{".":15}]}]}],"y":[{"s":[{"t":11}]}]}],"ê":[{"r":9}],"ë":[{"a":[{"a":[{"n":11}]}],"k":[{"s":[{"t":13}]}],"l":[{"e":[{"i":[{"e":[{"r":19}]}]}],"y":[{"s":[{"t":[{"e":19}]}]}]}],"n":[{"a":25}],"r":[{"a":[{"g":[{"t":[{"i":19}]}],"n":11,"r":[{"m":[{".":19}]}]}],"o":[{"d":11}],"s":[{"k":[{"e":15}]}]},9],"s":[{"k":25}],"t":[{"s":[{"t":[{"e":[{".":21},15]}]}]}]}],"f":[{"a":[{"f":[{"s":11},20]}],"e":[{"k":[{"s":11}]}],"f":[{"e":[{"k":52}]}],"i":[{"n":[{"h":11}]}],"l":[{"o":[{"o":11}],"y":20},56],"o":[{"m":[{"s":11}],"u":[{"e":11}]}],"s":[{"t":[{"a":[{"l":15}]},6]}]}],"g":[{"a":[{"m":[{"p":11}],"s":[{"k":0}]}],"e":[{"l":[{"a":[{"s":[{".":21},15]}]}],"s":[{"p":[{"e":[{"r":21}]}],"t":17}],"v":[{"w":[{"o":15}]}]},9],"i":[{"n":[{"k":[{"o":2}]}]}],"o":[{"g":[{"g":11}]}],"r":[{"i":[{"g":11}]}],"s":[{"e":[{"n":[{"t":[{"i":19}]}]}],"i":[{"n":[{"s":4,"t":31}]}],"k":6,"l":[{"o":[{"t":15}]}],"p":[{"r":[{"e":15,"i":15}],"y":[{"k":15}]}],"t":[{"a":[{"a":[{"l":24}]}]}]}],"t":[{"e":[{"r":[{"e":42}]}]}],"u":[{"i":12}]}],"h":[{"e":[{"r":[{"i":[{"n":[{"n":19},42]}]}]}],"o":[{"k":[{"r":[{"a":15}]}]}]}],"i":[{"b":[{"n":[{"i":[{"z":[{".":19}]}]}]}],"d":[{"r":[{"o":[{"k":[{".":19}]}]}],"s":[{"a":[{"a":[{"m":19}],"l":[{"o":19}]}],"i":[{"r":[{"k":19}]}],"k":[{"o":[{"u":19}],"u":[{".":19}]}],"p":[{"a":[{".":19}],"e":[{"k":19}]}],"t":[{"e":[{".":19}],"o":[{"o":19}]}],"u":[{"g":[{".":19}]}]}]}],"e":[{"n":[{"a":[{"a":[{"n":19}]}]}]},44],"g":[{"h":[{"-":[{"n":15}]}],"o":[{"p":[{"r":[{"o":19}]}]}]}],"k":[{"a":[{"a":[{"r":[{"d":19}]}]}],"n":[{"o":11}],"w":[{"y":[{"d":[{"t":19}]}]}]}],"l":[{"s":[{"p":[{"a":15}]}]}],"n":[{"d":55,"e":[{"d":18,"e":[{"d":[{".":19}]}]}],"g":[{"l":[{"a":[{"s":19}]}]}],"o":[{"n":25,"o":[{"r":[{"d":19}]}],"p":18,"t":[{"t":[{"e":19}]}]}],"s":[{"a":[{"d":15}],"e":[{"p":15}]}]}],"s":[{"a":[{"n":[{"g":[{"s":19}]}]}],"e":[{"i":11}],"i":[{"n":[{"d":31}]}],"j":[{"a":11}],"k":[{"a":[{"m":[{"m":19}],"w":15}],"ê":11,"o":[{"t":15}]}],"l":[{"a":[{"a":15}]}],"o":[{"u":[{"e":[{"r":19}]}]},57],"p":[{"i":[{"r":15}]}],"t":[{"e":[{"l":46}],"r":[{"e":46}]}]}],"t":[{"h":[{"a":[{"n":[{"d":19}]}]}],"j":6,"k":[{"l":[{"i":[{"n":19}]}]}],"n":[{"i":[{"s":[{"p":19}]}]}],"o":[{"n":[{"d":[{"e":19}]}]}],"r":[{"a":11}],"s":[{"k":[{"o":13}],"l":13,"o":13,"p":[{"o":[{"r":19}]}],"t":[{"a":[{"k":19}],"r":[{"a":19}]}],"w":13}]},86]}],"ï":[{"m":[{"i":[{"t":11}]}],"n":[{"a":25,"k":[{"l":[{"i":[{"n":19}]}]}],"o":25,"u":25}],"o":[{"n":[{"i":11}]}],"s":[{"l":25}]}],"j":[{"a":[{"s":[{"t":[{"a":[{"s":19}]}]}]}]}],"k":[{"a":[{"a":[{"n":11,"r":[{"s":[{"t":[{"e":87}]}]}]}],"k":[{"s":11}],"n":9,"s":[{"g":11}]}],"e":[{"e":[{"n":11}],"n":[{"a":[{"a":[{"r":19}]}]}],"t":[{"a":[{"m":15}]}]},9],"ê":9,"i":[{"n":[{"s":3}]}],"k":6,"l":[{"e":[{"s":3,"u":14}],"ê":20,"o":[{"g":11}]}],"o":[{"e":9,"m":[{"o":[{"l":15}],"s":[{"l":11,"t":28},17]}],"n":[{"o":52}],"o":[{"i":11}],"p":[{"a":[{"p":15}],"m":3,"n":11},9],"r":[{"d":[{"a":42}],"u":[{"m":[{".":19}]}]}],"u":[{"s":[{"t":42}]}],"w":[{"e":11}]}],"r":[{"a":[{"d":11}],"o":[{"k":3,"m":14}],"u":[{"g":11}]},56],"s":[{"a":[{"p":[{"p":4}]}],"e":[{"m":[{"p":52}],"s":[{"k":23}]}],"i":[{"n":[{"g":[{"e":19}]}]}],"l":[{"o":[{"g":[{"i":19}],"k":[{"s":19}]}]}],"o":[{"u":[{"t":[{"o":19}]}]}],"p":[{"i":[{"r":23}],"o":[{"e":15},23]}],"t":[{"e":[{"l":15,"n":4}],"i":25}],"u":[{"u":[{"r":[{".":19}]}]}]}],"u":[{"i":[{"t":11}]}],"w":[{"ê":20,"i":[{"e":11}],"u":20}],"y":56}],"l":[{"a":[{"a":[{"n":[{"d":39,"h":11,"v":2}],"r":[{"d":11}]}],"d":[{"m":11,"v":11}],"f":6,"g":[{".":14},6],"k":[{"l":[{"o":[{"n":19}]}]}],"l":12,"r":[{"i":14,"m":3}],"s":[{"l":[{"a":[{"n":19}]}],"p":11}]},56],"d":[{"a":[{"d":[{"e":[{"l":19}]}],"p":25}],"e":[{".":11,"l":[{"e":31}],"r":[{"f":[{"e":19}]}],"v":[{"a":[{"n":19}]}]}],"o":[{"l":[{"i":[{"e":19}]}],"n":[{"d":[{"e":19}]}]}],"s":[{"m":[{"i":[{"d":19}]}]}]}],"e":[{"i":[{"e":[{"n":11}],"s":[{"t":[{"a":21},62]}]}],"l":[{"e":[{"k":2}]}],"r":[{"t":[{"s":11}]}],"s":[{"e":[{"t":[{"t":19}]}]}],"t":[{"o":[{"o":15}]}]},9],"f":[{"a":[{"a":25,"b":[{"r":15}]}],"e":[{"i":[{"t":15}],"n":[{"-":[{"d":19}]}],"r":[{"k":23}]}],"l":[{"a":[{"n":15}],"e":[{"s":15}]}],"o":[{"n":[{"t":[{"h":19,"p":19}]},25],"o":[{"p":[{"s":19},4],"r":[{"s":19},4]}]}],"r":[{"o":[{"n":15}]}],"t":[{"w":[{"y":[{"f":19}]}]}]}],"i":[{"n":[{"g":[{"s":[{"t":[{"e":[{"l":[{"l":70}]}]}]}]}],"h":11,"k":[{"o":2}],"v":11}]},9],"k":[{"n":[{"a":[{"g":[{"e":19}]}]}],"s":17,"w":[{"i":25}]}],"l":[{"v":25}],"m":[{"a":[{"g":[{"t":23}]}]}],"o":[{"b":25,"l":[{"i":11},20],"n":[{"d":11,"t":11}],"o":[{"r":20}],"p":[{"d":3,"e":[{".":4}]}],"r":12},56],"p":[{"h":[{"i":11}]}],"s":[{"a":[{"n":[{"g":[{"s":19}]}]}],"f":[{"e":11}],"i":[{"n":[{"d":[{"r":19},4]}]}],"k":[{"a":[{"n":4}],"o":[{"m":4,"r":[{"r":19}]}],"r":[{"i":[{"t":19}]}]}],"l":[{"o":[{"f":[{".":19}]}]}],"m":[{"i":11,"o":[{"r":[{"a":19}]}]}],"n":[{"a":[{"g":15}],"o":[{"o":[{"d":19}]}]}],"o":[{"n":[{"d":[{"e":19}]}],"o":[{"r":[{"k":19}]}]}],"t":[{"e":[{"k":4}],"r":[{"a":[{"n":24}]}]}],"w":[{"a":[{"r":[{"e":19}]}],"e":[{"e":11}]}]}],"t":[{"a":[{"k":[{"k":[{"e":19}]}]}]}],"u":[{"i":[{"t":[{"j":[{"i":21},62]},11]}]},56],"y":[{"k":[{"a":[{"a":15}]}]},9]}],"m":[{"a":[{"p":[{"p":11}],"s":[{"j":14}]}],"e":[{"l":[{"e":[{"k":15,"w":15}]}],"r":[{"o":[{"n":15}]}],"s":[{"i":[{"s":[{".":19}]}],"m":13,"t":13},10],"t":[{"f":14}],"v":[{"a":11}]}],"o":[{"e":[{"f":20}],"p":6,"r":[{"g":11}]}],"p":[{"l":[{"a":[{"a":[{"g":19}]}]}],"s":[{"k":[{"r":15}]}]}],"s":[{"p":[{"l":11},10]}]}],"n":[{"a":[{"f":20,"g":[{"l":[{"a":[{"s":19}]}],"t":11}],"k":[{"k":11}],"l":[{"t":11}],"r":[{"t":3}],"s":[{"p":[{"e":15}]}]}],"d":[{"a":[{"g":[{"t":31}]}],"e":[{"r":[{"o":[{".":21}]}]}],"r":[{"a":[{"a":[{"k":19}]}],"i":[{"t":[{".":19}]}]}],"s":[{"o":[{"ë":[{".":21}],"n":[{"s":19}]}]}],"u":[{"r":[{"e":[{".":19}]}]}],"w":[{"e":[{"r":15}]}]}],"e":[{"i":[{"l":11}],"n":[{"t":3},25],"r":[{"g":52,"t":[{"j":[{"i":37},42]}]}]}],"g":[{"h":[{"o":[{"r":15}]}],"l":[{"a":10,"o":[{"r":15}]}]}],"i":[{"g":25,"m":25,"n":[{"h":11,"k":[{".":39}]}],"s":[{"o":[{"m":[{"s":19}]}]}]},9],"j":[{"i":55}],"k":[{"i":[{"n":[{"h":4}]}],"o":[{"m":[{"s":79},54]}],"w":30}],"o":[{"m":[{"m":14}],"r":[{"y":[{"n":[{".":19}]}]}],"u":[{"t":11}]}],"s":[{"a":[{"d":[{"e":[{"m":19}]}],"l":[{"l":4}],"r":[{"e":[{".":19}]}]}],"e":[{"i":[{"s":[{"e":19}]}],"l":[{"e":[{"k":19}],"i":[{"k":19}]}],"n":11,"r":[{"v":23}],"s":[{"s":[{"e":19}]}]}],"h":[{"a":[{"w":15}]}],"i":[{"e":11,"n":[{"g":[{"a":19}]}]}],"j":[{"i":11}],"k":[{"o":[{"e":[{"i":19}]}],"y":[{"k":[{"e":19}]}]}],"l":[{"u":[{"i":[{"k":19}]}]}],"m":[{"e":[{"d":15}]}],"n":[{"u":[{"k":[{".":19}]}]}],"o":[{"n":[{"r":[{"u":19}],"v":[{"a":19}]},25]}],"p":[{"e":[{"i":4}],"i":[{"s":[{"t":19}]}],"o":[{"t":[{".":19}],"u":[{"s":19},4]}]}],"t":[{"a":[{"a":[{"k":19}],"k":4,"m":15}],"e":[{"h":4,"i":15,"l":[{"e":19},15],"r":[{"s":1}],"s":[{".":88}],"t":15,"u":15}],"o":[{"o":[{"m":19},15]}],"r":[{"e":[{"k":19}]}]}],"u":[{"i":[{"l":[{".":19}]}],"r":[{"e":[{".":19}]}]}],"y":[{".":11}]}],"t":[{"a":[{"k":[{"t":23}]}],"e":[{"k":[{"s":4}]}],"i":[{"n":[{"t":[{"e":19}]}]}],"r":[{"i":[{"f":[{".":19}]}],"o":[{"k":[{".":19}]}]}],"s":[{"i":[{"n":15}],"o":[{"n":15}],"p":[{"a":15}]}],"w":[{"e":[{"n":15}]}]}],"u":[{"i":6,"l":[{"i":[{"n":15}]}],"s":[{"k":23,"t":23}]}],"y":9,"-":[{"s":[{"t":[{"e":[{"g":19}]}]}]}]}],"o":[{"e":[{"s":10}],"f":[{"a":[{"g":11}]}],"g":[{"n":34}],"i":[{"s":[{"t":[{"e":15}]}]}],"p":[{"l":[{"e":[{"k":15}]}]}],"r":[{"o":6}],"s":[{"t":10},44],"t":[{"r":6}]},56],"p":[{"a":[{"f":20,"g":12}],"e":[{"l":[{"o":[{"o":15}]}],"m":[{"m":11}],"p":[{"i":11}],"r":[{"s":[{"t":[{"e":37}]}]}]}],"i":[{"d":[{"e":[{"m":52}]}],"n":[{"t":3}]}],"l":[{"a":[{"p":11},25],"i":[{"g":[{"g":11}]}],"u":[{"s":11}]}],"o":[{"e":[{"t":54}],"n":[{"i":[{"n":15}]}],"p":[{"s":11}]}],"r":[{"e":[{"i":3}]}],"s":[{"a":[{"m":[{"e":[{"u":19}]}]}],"e":[{"i":[{"s":31}]}],"i":[{"d":23}],"j":25,"k":[{"a":[{"n":[{"o":19}]}],"i":11,"o":[{"h":[{"e":19}]}]},25],"l":[{"u":[{"i":[{"k":19}]},25]}],"o":[{"m":[{"s":15}],"n":23}],"p":[{"r":18}],"w":[{"a":[{"a":[{"r":19}]}]}]}],"u":[{"i":[{"t":11}]}]}],"r":[{"a":[{".":25,"a":[{"n":11}],"f":[{"d":11,"h":11,"s":[{"k":11}],"t":11,"v":11,"w":11}],"g":[{"r":[{"e":[{"e":19}]}]},6],"k":[{"l":[{"e":[{"s":19}]}],"s":11,"t":11}],"l":[{"b":11,"d":[{".":4}],"t":11}],"n":[{"a":11,"d":[{"a":14}]}],"p":[{"p":20}],"r":6,"s":[{"e":[{"r":15}]}],"u":[{"i":[{"t":[{"v":19}]}]}]},56],"d":[{"r":[{"y":[{"l":[{"e":19}]}]}],"s":[{"l":[{"i":[{"p":19}]}]}],"t":[{"r":[{"e":[{"e":19}]}]}],"w":6}],"e":[{"b":25,"e":[{"n":[{"k":4}],"r":[{"s":11}]}],"f":[{"f":11}],"i":[{"e":11,"l":11}],"k":[{"s":[{"t":11}]},25],"l":[{"m":11}],"m":[{"m":3}],"n":[{"g":[{"t":2}],"i":20,"j":20}],"r":[{"g":11,"v":11}],"s":[{"e":[{"l":11}],"p":[{"i":[{"o":19}]}],"t":[{"a":42,"p":15}]},89],"t":[{"e":[{"m":[{"m":19}]}]}],"w":[{"a":14}]}],"ê":56,"f":[{"h":25,"l":[{"a":[{"a":4}],"e":[{"e":[{"n":19}],"t":[{"t":19},4]}],"o":11,"u":[{"g":[{".":19}],"s":[{".":19}]}]}],"o":[{"m":[{"h":[{"e":19}]}],"o":[{"m":[{".":19}]}]}],"p":25,"r":[{"e":[{"u":[{"k":19}]}],"u":[{"i":[{"k":19}]}]}]}],"g":[{"a":[{"r":[{"e":[{"n":19}]}]}],"l":[{"y":[{"n":[{".":19}]}]}],"r":[{"e":[{"n":[{"m":19}]}],"y":[{"m":[{"p":19}],"s":15}]}],"s":[{"h":[{"o":15}],"t":[{"r":[{"a":19}]}]}],"u":[{"i":[{"t":[{"j":19}]}]}]}],"i":[{"d":25,"f":[{"r":23}],"g":[{"a":47},9],"n":[{"d":3,"k":[{".":2}],"n":[{"a":2}],"s":11,"t":3}],"t":[{"a":[{"l":39}],"r":[{"e":[{"a":19}]}]}]}],"k":[{"a":[{"a":[{"n":23}]}],"e":[{"s":[{"e":[{"l":19}]}]}],"h":[{"a":[{"s":15}]}],"i":[{"n":[{"k":[{".":19}],"s":4,"w":[{"y":19}]}]}],"j":25,"l":[{"a":[{"t":4}],"e":11}],"o":[{"n":[{"d":[{"e":19}]}],"p":[{"n":15}]}],"s":[{"o":[{"n":36}],"p":[{"a":[{"s":19}]}],"t":[{"o":15}]}],"u":[{"u":[{"r":[{"r":19}]}]}],"w":[{"e":[{"ë":[{".":19},4]}]}],"y":[{"w":[{"e":[{"r":19}]}]}]}],"l":[{"i":[{"k":11}],"u":[{"i":11}]}],"m":[{"a":[{"a":[{"n":[{"h":19}]}],"f":[{"s":[{"l":19}]}]},10]}],"n":[{"e":[{"i":[{"w":[{"i":19}]}]}],"k":[{"w":[{"e":[{"s":19}]}]}],"m":25,"n":25,"o":[{"e":[{"s":[{".":19}]}]}],"r":25}],"o":[{"e":[{"w":11}],"ë":6,"g":[{"g":11}],"ï":9,"k":[{".":14,"s":3}],"l":[{"i":3}],"m":[{".":11,"h":11,"s":11}],"n":[{"a":[{".":4}]}],"o":[{"g":11,"m":14,"n":[{"d":11}],"s":14}],"p":[{"a":14,"l":[{"a":4}],"o":14},12],"r":[{"a":14},20],"s":[{"i":52,"s":3,"t":[{"i":[{"l":19}]}]}],"u":[{"d":11,"e":11,"t":[{".":42}]}]},56],"p":[{"a":[{"n":[{"k":[{"e":19}]}]}],"i":[{"n":[{"h":[{"o":19},4]}]}],"l":[{"a":[{"n":15}]}],"r":[{"u":[{"i":[{"k":19}]}]}],"s":[{"i":[{"g":15}]}]}],"r":[{"e":[{"i":[{"n":15}]}]}],"s":[{"a":[{"s":[{"s":[{"i":19}]}]}],"e":[{"l":[{"i":31}],"t":[{"e":[{".":19}]}]}],"i":[{"n":[{"d":[{"a":19}]}]}],"j":[{"e":[{"a":[{"n":19}]}]}],"k":[{"a":[{"i":[{"a":19}],"j":[{"u":19},4],"k":[{"e":1,"i":19}]}],"e":[{"t":[{"e":19}]}],"i":[{"s":[{"s":19}]}],"o":[{"e":[{"t":19}],"o":[{"r":19}],"p":[{".":19}]}],"y":11}],"l":[{"e":[{"s":[{"s":19}]}],"o":[{"n":[{"e":19}]}],"u":[{"i":[{"d":19}]}]}],"m":[{"a":[{"l":15,"r":[{"a":1}],"t":4}]}],"o":[{"m":18,"n":[{"v":[{"r":19}]}],"p":[{"n":15}],"w":[{"e":[{"r":19}]}]}],"p":[{"i":[{"e":[{"n":19}]}],"u":[{"t":[{".":19}]}]}],"s":[{"c":[{"e":[{"n":19}]}]}],"t":[{"e":[{"l":[{"e":19}],"o":15},11],"i":10,"r":[{"e":[{"g":19}]}]}],"w":[{"a":[{"a":[{"r":19}]}]}]}],"t":[{"a":[{"a":[{"n":23,"p":[{".":19},4]}],"p":[{"e":[{".":19}]},11]}],"e":[{"n":[{"d":[{".":19},4]}],"s":11}],"h":[{"a":[{"l":15}]}],"j":[{"a":[{"k":[{"k":19}]}]}],"o":[{"p":[{"i":[{"n":19}]}],"r":[{"r":[{"e":19}]}]}],"r":[{"e":[{"s":4}],"o":[{"k":[{".":19}]}]}],"s":[{"l":13}],"u":[{"u":[{"r":[{".":19}]}]}],"w":[{"a":[{"k":15}],"i":11}]}],"u":[{"g":90,"i":[{"n":11,"t":11}],"u":6},56],"y":[{"d":[{"o":[{"e":[{"l":19}]}]}],"s":[{"a":[{"l":[{"f":19}]}],"m":[{"a":[{"a":19},42]}],"u":[{"u":[{"r":19}]}]}],"t":[{"r":[{"e":[{"k":19}]}]}]},56]}],"s":[{"a":[{"a":[{"n":[{".":14}]}],"g":[{"e":14,"t":11}],"k":25,"l":[{"l":11}],"m":[{"o":[{"l":15}]}],"n":25}],"c":6,"d":[{"h":25}],"e":[{"e":[{"n":3}],"p":[{"i":3}],"r":25},9],"i":[{"a":25,"e":25,"f":25,"g":[{"e":[{"i":15}]}],"l":[{"l":20}],"n":[{"s":[{"i":7}]}],"t":25},9],"j":22,"k":[{"e":[{".":3}],"l":[{"e":11}],"o":[{"r":[{"s":[{"t":74},62]}]}],"u":[{"t":64}]}],"l":[{"a":9,"e":[{"m":11}],"i":[{"p":25}]}],"m":[{"e":[{".":11,"n":11},25],"è":[{".":48}],"o":[{"u":14}],"u":25},56],"n":[{"i":[{"e":11}],"o":[{"o":11}],"y":25}],"o":[{"e":[{"t":[{"j":[{"i":21},62]}]}],"f":[{"a":[{"g":[{"u":19}]}]}],"l":25,"o":89,"u":25}],"p":[{"e":[{"l":14,"n":11,"r":20,"t":11}],"i":[{"r":11}],"l":[{"i":25}],"r":[{"a":25}]},56],"s":[{"o":[{"p":[{"v":15}]}]}],"t":[{".":25,"a":[{"d":14,"s":11}],"e":[{".":3,"a":11,"l":[{"i":11}],"s":[{"o":28},3]}],"h":[{"e":[{"r":15}]}],"i":[{"k":[{".":4}]}],"o":[{"i":11,"s":11}],"r":[{"a":[{"k":2}],"e":25}],"u":[{"k":14}]},56],"w":9,"y":[{"d":25}]}],"t":[{"a":[{"g":12,"s":[{"t":[{"a":[{"s":19}]}]}]}],"e":[{"i":[{"e":3}],"r":[{"a":[{"a":58}]}]},9],"i":[{"e":[{"l":91}],"k":[{"e":52}]}],"j":[{"i":[{"e":[{"-":[{"k":1}]}]}]}],"k":[{"y":[{"s":[{"i":15}]}]}],"o":[{"n":[{"o":[{"p":15}]}],"p":[{"v":11}],"r":[{"d":3}]}],"r":[{"a":[{"m":3}],"e":[{"k":[{"e":2,"o":[{"r":21},2]}]}],"i":[{"m":11}]}],"s":[{"f":[{"y":[{"n":[{".":19}]}]}],"k":[{"a":[{"t":[{"o":19},4]}],"o":[{"u":[{"s":19}]}],"r":[{"i":[{"e":19}]}]}],"l":[{"a":[{"p":31}]}],"m":[{"a":[{"a":15}]}],"o":[{"n":[{"g":23}]}],"p":[{"a":[{"a":4}],"r":25}],"t":[{"e":[{"k":4}]}]}],"t":[{"r":[{"e":[{".":15}]}]}],"u":[{"i":[{"t":[{"s":11}]}],"n":[{"i":[{"e":11}]}]}],"w":[{"i":[{"n":11},25],"y":25}],"y":[{"s":[{"t":11}]}]}],"u":[{".":66,"g":[{"r":[{"i":[{"e":15}]}]}],"i":[{"t":9}],"k":[{"i":[{"n":[{"t":[{"e":19}]}]}],"l":10}],"l":[{"e":[{"i":[{"e":[{"n":19}]}]}],"o":[{"o":25}]}],"m":[{"o":[{"n":11}],"u":[{"i":[{"t":[{"g":19}]}]}]}],"n":[{"a":25,"s":[{"l":[{"a":15}]}]}],"p":[{"a":[{"a":[{"n":[{"d":19}]}]}]}],"r":[{"a":[{"a":[{"l":15},23],"l":11},25],"e":[{"e":[{"t":[{".":19}]},25],"g":[{".":4,"t":[{"h":19},4]}],"k":[{"s":[{"t":19}]}],"l":[{"e":[{"m":19}]}]}],"s":[{"p":[{"a":[{"r":19}]}]}]}],"s":[{"a":[{"p":[{"e":[{".":19}]}]},25],"j":[{"i":[{"g":[{".":19}]}]}],"k":[{"o":[{"t":15}]}],"t":[{"a":[{"c":15}]}]}],"t":[{"e":[{"l":17,"m":11}],"r":6}],"u":56,"-":66}],"v":[{"a":[{"k":[{"w":[{"a":[{"a":19}]}]}],"l":[{"e":[{"s":15}]}]}],"r":[{"o":[{"r":[{"e":15}]}]}],"u":[{"e":[{"s":[{".":15}]}]}]}],"w":[{"a":[{"l":[{"s":91}],"r":25}],"e":[{"e":17,"g":[{"a":[{"a":[{"n":19}]}],"o":[{"e":[{"d":19}]}]}],"i":[{"n":[{"d":[{"e":19}]}],"s":14}],"n":[{"e":[{"e":15}],"s":[{"t":[{"e":[{"s":53}]}]}]}],"r":[{"e":[{"s":15}]}],"s":[{"p":[{"a":[{"n":19}]}]}]}],"i":[{"k":[{"s":[{"t":[{"e":37}]},17]}]}]}],"x":[{"y":[{"s":[{"t":[{"e":[{".":19}]}]}]}]}],"y":[{"n":[{"o":10}],"s":[{"t":[{"e":14}]}],"w":9}],"z":[{"k":[{"a":20}],"r":[{"a":[{".":48}]}]}]}],"è":[{"r":56}],"ê":[{"e":[{"r":[{"o":25}]}],"l":[{"a":[{"f":[{"l":[{"u":[{"i":19}]}]}]}]}],"r":[{"d":[{"e":20}],"e":[{"l":[{"o":[{"e":15}]}]}],"h":[{"e":20}]}]},56],"ë":[{"g":56,"i":[{"e":6}],"k":[{"s":[{"k":25,"p":[{"e":[{"k":15}]},30],"t":25}]}],"l":[{"a":[{"a":9,"g":[{"t":11}],"l":[{"b":11}],"s":[{".":11}]}],"e":[{"i":20,"n":[{"t":11}]}],"f":[{"l":[{"e":11},10]}],"o":[{"o":[{"p":14}]}],"s":[{"k":[{"u":[{"i":[{"l":19}]}]}]}]}],"n":[{"a":[{"g":[{"t":11}]}],"t":[{"r":[{"e":23},25]}]}],"p":[{"r":[{"e":17}]}],"r":[{"a":[{"a":[{"n":11}],"f":[{"d":11}]}],"o":[{"f":[{"f":11}],"g":17,"s":30,"w":[{"e":11}]}],"s":[{"k":[{"e":[{"n":[{"t":19}]}]}]}],"y":56}],"s":56},68],"f":[{".":66,"a":[{"a":[{"n":[{"b":14}],"r":9}],"d":9,"g":[{"i":20},72],"h":[{"r":[{"e":[{"n":[{"h":19}]}]}]}],"i":[{"r":[{"-":[{"n":15}]}]}],"k":[{"s":[{"t":[{"e":[{".":21},15]}]}]}],"n":[{"t":[{"j":47,"r":10,"s":[{"t":7}]}]}],"p":9,"r":[{"t":9,"u":[{"q":[{".":42}]}]}]},68],"b":66,"d":[{"e":[{"i":[{"n":14}],"s":[{"a":[{"k":[{"e":19}]}],"e":[{"s":[{"s":19}]}],"k":[{"e":[{"i":19}]}],"t":[{"o":[{"r":19}],"r":[{"a":19}]}],"u":[{"s":[{"t":19}]}]},10]}],"w":92},66],"e":[{"e":[{"n":57,"s":93}],"i":[{"e":9}],"l":[{"a":[{"p":18,"s":[{"e":[{"m":19}]}]}],"e":[{"n":[{"t":[{"i":19}]}]}],"o":[{"o":[{"n":[{"d":19},4]}]}],"s":[{"m":0,"p":[{"o":[{"o":15}]}]}],"u":25,"y":[{"s":23},25]}],"r":[{"s":[{"k":[{"r":[{"a":21},15],"u":[{"i":21},15]}]}],"t":[{"s":14}]}],"s":[{"t":30},49],"t":[{"e":[{"t":[{"e":[{".":19}]}]}]}]},68],"f":[{"e":[{"l":[{"a":[{"s":15}]}],"r":[{"e":[{"t":15}]}],"t":[{"e":[{"t":15}]}]}],"i":[{"e":[{"e":[{"k":15}],"s":[{"m":62}]}]}],"r":[{"e":[{"i":11}]}]},56],"g":[{"e":[{"s":[{"p":[{"e":[{"r":19}]}]}]}],"h":[{"a":25}],"l":[{"i":25,"y":25}],"o":[{"d":[{"s":91}]}]},56],"i":[{"d":[{"j":[{"i":[{"-":15}]}]},6],"e":[{"e":[{"k":[{"s":[{"t":19}]}]}],"l":[{"a":[{"f":[{"o":19}]}]}],"s":[{"m":[{"a":[{"a":19}]}],"o":47}],"t":[{"o":[{"l":15}]}]}],"l":[{"a":[{"g":11}],"m":[{"a":47}]}],"n":[{"r":57}],"s":[{"t":[{"o":11}]}],"t":[{"z":10}]},68],"k":[{"o":[{"m":[{"s":[{"t":[{"e":37},42]}]}]}]},72],"l":[{"a":[{"p":[{"o":13},10]}],"e":[{"e":[{"s":14}],"s":[{"e":14}],"t":[{"j":13},10],"x":[{"o":[{"r":[{".":21}]}]}]},22],"i":[{"e":[{"k":83}],"t":93},66]}],"m":[{"o":[{"n":[{"o":10}]}]},66],"n":[{"i":[{"s":71}]},56],"o":[{"f":[{"f":57},9],"k":[{"s":[{"t":47}]}],"l":[{"k":71}],"m":[{"s":57}],"n":[{"d":[{"s":[{"k":42,"t":[{"e":37},42]},52]}],"t":[{"b":14,"e":52,"l":14}]}],"o":[{"r":[{"l":14}]}],"p":[{"o":25,"s":[{"p":[{"e":[{"n":19}]}]}]},66],"r":[{"d":[{"e":14}],"g":9,"o":[{"k":[{"s":[{"i":19}]}],"m":11}],"u":6}],"s":[{"f":[{"e":[{"e":[{"n":19}]}]}]}],"u":[{"t":[{"j":13}]}],"x":[{"h":[{"i":[{"l":[{"l":19}]}]}],"s":[{"t":[{"r":[{"a":19}]}]}]}]},68],"p":[{"s":[{"a":25}]}],"r":[{"a":[{"g":[{"a":[{"a":42}]}],"m":57,"s":20}],"e":[{"n":20,"s":[{"k":47}]}],"i":[{"g":76,"t":[{"o":[{"o":15}]}]}],"o":[{"d":20}],"u":[{"g":[{"a":23}]}],"y":9},69],"s":[{"a":[{"g":[{"t":11}],"n":[{"k":3}]}],"e":[{"k":[{"o":3}]}],"k":[{"o":[{"n":20}]}],"l":[{"o":[{"g":11}]}],"m":[{"a":20,"e":25,"i":25},9],"p":[{"l":25,"r":[{"o":20}]},9],"t":[{"a":[{"k":3}],"i":25}]},72],"t":[{"r":[{"e":[{"d":13,"k":28},17]}]},66],"u":[{"c":[{"h":25}],"r":[{"o":[{"r":[{"e":15}]}]}],"s":[{"o":6}],"u":[{"r":[{".":14},57]}]},68],"v":[{"a":[{"l":10}]},66],"w":66,"y":[{"n":[{"g":[{"o":[{"u":[{"d":19}]}]}]}],"s":72,"t":[{"a":[{"p":[{"p":[{"e":19}]}]}],"j":[{"i":[{"e":[{".":19}]}]}]}]},68]}],"g":[{".":66,"a":[{"a":[{"i":20,"m":[{"s":[{"t":[{"e":43}]}]}],"n":[{".":20,"b":[{"i":14}],"d":[{"h":2}],"l":14,"w":14}],"t":20}],"d":[{"d":76}],"f":[{"o":20},72],"g":[{"r":[{"e":[{"p":15},11]},20]},72],"k":[{"l":[{"a":11},10]}],"l":[{"a":[{"f":[{"s":[{"k":19}]}],"p":[{"p":[{"e":19}]}]}],"e":[{"i":28}],"o":[{"o":[{"g":[{".":19}]}]}]}],"n":[{"g":[{"r":[{"a":15}]}],"k":[{"e":75}],"s":[{"k":[{"e":[{".":21}]}]}]}],"p":[{"p":9}],"r":[{"a":6,"b":76,"m":76,"s":[{"t":[{"i":[{"g":19},42]}]},71],"t":[{"i":14}]}],"s":[{"a":[{"r":[{"m":[{".":19},4]}]}],"m":[{"o":[{"k":15}]}],"o":[{"l":11},25],"p":[{"e":[{"l":15}]}],"t":[{"r":[{"e":15}]}]}],"t":[{"r":[{"u":[{"i":[{"k":19}]}]},25]}],"y":[{"n":[{"o":[{"r":[{".":19}]}]}]}]},68],"b":[{"y":[{"s":17}]},66],"d":[{"e":[{"r":[{"o":[{"o":[{"f":19}]}]}]}],"u":[{"t":[{"j":[{"i":[{"e":21}]}]}]}],"w":[{"a":25},9]},66],"e":[{"d":[{"i":[{"s":17}]},6],"e":[{"n":[{"h":14}],"t":[{"a":[{"l":[{".":21},15]}]}]}],"ë":[{"s":[{"t":[{"i":15}]},90]}],"f":[{"f":94,"l":10},6],"g":[{".":57,"e":[{"s":[{"p":28}]}],"u":[{"i":[{"l":15}]}]},95],"i":[{"e":9}],"ï":[{"m":[{"i":[{"g":[{"r":19}]}]}]}],"k":[{"l":[{"i":[{"k":[{".":88}]}]}],"s":57,"y":10}],"l":[{"a":[{"g":[{"k":15}]}],"d":[{"a":[{"d":15}],"o":10}],"o":[{"l":11,"o":[{"n":[{"d":19},4]},11]}],"s":[{"t":[{"e":[{".":60}]}]}]}],"m":[{"i":[{"a":[{"u":[{".":21}]}]}],"o":[{"p":[{"p":15}]}]}],"n":[{"d":[{"r":10,"u":[{"r":15}]}],"e":[{"s":[{"t":28}]}],"g":57},55],"o":[{"i":25}],"p":[{"a":[{"g":11},10],"e":[{"r":[{"s":[{"t":62}]}]}],"o":[{"n":[{"s":62}]}]}],"r":[{"a":[{"p":11,"r":[{"d":15}]}],"e":[{"t":[{"e":23}]}],"i":[{"d":[{"e":[{"n":19}]}]}],"o":[{"e":[{"f":4}],"g":[{"g":15}]}],"s":[{"p":[{"o":15}],"w":23}],"u":[{"i":[{"t":15}]}]},55],"s":[{"a":6,"f":[{"e":11}],"i":[{"n":11}],"j":[{"a":[{"g":[{"t":19}]}]}],"k":[{"a":[{"d":[{"e":19}]}]},10],"l":6,"m":34,"n":[{"e":11}],"p":[{"e":[{"r":[{"b":19,"s":19}],"s":[{".":19}]}]},6],"t":[{"a":[{"s":15}],"i":[{"g":15}]},6],"w":10}],"t":[{"j":[{"a":11}],"w":6}],"u":[{"i":6,"m":[{".":11}]}],"v":[{"w":[{"o":[{"e":[{"s":19}]}]}]}],"w":[{"e":[{"n":[{"s":[{"t":[{"e":74}]}]}]}]}],"y":44},68],"f":[{"l":[{"i":25},9]},72],"g":[{"a":[{"k":[{"w":[{"e":[{"e":19}]}]}],"s":[{"t":[{"r":[{"e":19}]}]}],"t":[{"j":0}]},9],"e":[{"s":[{"t":[{"i":15}]}]}]},96],"h":[{"o":[{"e":[{"r":83}],"g":[{"h":[{"o":[{"k":19}]}]}],"l":[{"f":52},10]}],"s":[{".":20}],"u":[{"m":[{"o":[{"e":15}]}]}]},66],"i":[{"d":[{"e":[{"n":14}]}],"e":[{"f":[{"a":[{"r":15}]}]}],"f":[{"a":25}],"m":[{"p":57}],"n":[{"g":[{"a":[{"a":15}]}],"r":[{"i":75}]}],"p":[{"s":[{"i":[{"e":[{"t":19}]}]},10]}],"s":[{"e":[{"n":[{"t":[{"i":19}]}]}]}],"t":[{"r":[{"a":11}],"s":[{"w":23}]}]},68],"k":[{"a":[{"a":[{"r":54}]}]},72],"l":[{"a":[{"n":[{"s":83}],"s":[{"a":10,"e":[{"l":15}],"k":[{"a":15}],"o":13}]}],"e":[{".":20,"n":[{".":83}]}],"i":[{"d":[{"o":[{"n":15}]}],"f":20,"g":[{"u":[{"r":15}]}],"k":57,"m":20,"p":20,"s":55}],"o":[{"b":20,"d":57,"e":93,"f":20,"m":93,"p":9,"t":93,"-":20}],"u":[{"s":9,"u":93}],"y":[{".":20,"n":57}]}],"m":[{"a":[{"s":[{"k":[{"u":[{"i":19}]}]}]}]},66],"n":[{"e":[{"e":[{"m":28,"t":28}]}],"i":[{"e":[{"k":[{"o":42}]}]}]},72],"o":[{"d":[{"s":[{"a":[{"k":15}],"i":[{"d":15}]}]}],"e":[{"f":76,"k":[{"r":[{"u":[{"i":19}]}]}],"s":[{".":14},57],"t":[{"a":14,"h":[{"e":[{".":19}]}]}]}],"ë":[{"l":[{"a":[{"r":[{"y":19}]}]}]}],"f":72,"g":[{"i":55}],"l":[{"f":[{"o":47}],"i":[{"e":75}]}],"m":[{"a":[{"g":25}]}],"n":[{"g":76,"s":[{"t":[{"o":15}]}],"t":9}],"o":[{"g":[{"l":23}],"r":76}],"p":[{"l":[{"a":11}],"o":93},72],"r":[{"i":[{"g":14}]}],"s":[{"l":6,"p":[{"e":[{"l":[{"r":19}]}]}],"s":[{"e":14}],"t":34}],"u":[{"d":[{"a":[{".":42}],"i":[{"e":[{"f":19}],"n":[{"i":19,"k":19}]}],"s":[{".":42}]},71]}],"w":[{"r":[{"i":[{"e":[{".":19}]}]}]}],"y":[{"a":[{".":48}]}]},68],"p":66,"r":[{"a":[{"b":20,"k":[{".":14}],"m":[{"a":[{"d":[{"o":19}]},10],"o":47}],"s":[{"a":47,"e":10},20]}],"e":[{"d":76,"e":[{"k":14,"p":28},97],"ë":57,"n":[{"s":[{"t":42}]},20],"s":[{"e":14,"p":10,"u":[{"r":15}]}],"t":[{"j":[{"i":[{"e":21},15]}]}],"u":20}],"i":[{"e":[{"k":[{"s":[{"t":98}]}],"t":[{"j":7}]}],"g":57,"p":10,"t":[{".":14}]}],"o":[{"k":76,"n":20,"o":[{"i":75,"k":14,"m":14}],"w":[{"e":14}]}],"u":[{"g":57,"i":[{"m":14}]}],"y":[{"k":76,"m":57,"s":[{"t":[{"e":15}]}]}]},69],"s":[{"a":[{"a":[{"m":14}],"d":[{"e":[{".":4}]},6],"f":20,"g":[{"t":11}],"k":[{"s":11}],"l":[{"a":14,"e":14}],"n":[{"a":11,"t":11}],"p":[{"p":[{"e":4},11]}],"r":6,"s":6},32],"e":[{"e":[{"n":3}],"f":12,"i":[{"s":[{".":11,"e":2}]}],"k":[{"o":11,"s":11,"t":14}],"l":[{"e":3,"i":3}],"n":[{"e":3}],"s":[{"t":3}],"w":[{"e":11},20]}],"f":[{"e":[{"e":[{"r":63}]}]},6],"i":[{"d":[{"e":11},20],"m":[{"p":[{"a":2}]}],"n":[{"d":[{"e":11}],"i":11,"l":11,"s":11}]}],"j":59,"k":[{"a":[{"a":[{"l":14}],"b":11,"d":14,"p":[{"a":2}],"t":[{"t":14}]}],"e":[{"d":14,"r":14,"u":[{"r":[{".":5,"d":1}]}]}],"i":[{"n":3},9],"l":20,"o":[{"f":14,"l":[{"e":14}],"m":20,"o":[{"r":39},14],"r":[{"r":11}],"t":14,"u":14}],"r":6},32],"l":[{"a":89,"o":[{"p":64}]},59],"m":6,"n":[{"e":[{"l":14}]}],"o":[{"l":25,"p":[{"r":[{"o":15}]}],"u":25},59],"p":[{"e":[{"l":64,"r":11,"s":14}],"i":[{"l":[{"l":2}]},89],"o":[{"e":25,"r":[{"e":4,"t":[{"s":5}]}]}],"r":[{"u":64}]},6],"t":[{"a":[{"a":[{"k":39}],"b":[{"i":4},3],"k":20,"l":20,"r":20}],"e":[{"k":3,"l":[{"g":2}],"r":[{"a":2,"i":11,"r":2,"s":62}],"s":[{"e":2}]}],"i":[{"g":[{"t":14}]},20],"o":[{"e":[{"l":[{"e":5}],"r":11,"t":11},20],"n":3}],"r":[{"a":[{"d":11,"k":2,"n":2,"p":2}],"i":[{"b":2}],"o":[{"e":11,"o":[{"n":1}]}],"u":[{"u":2}]}]},56],"u":[{"i":12}],"w":[{"e":[{"r":[{"w":4}]}]},6]},66],"t":[{"e":[{"e":[{"e":[{"n":[{"h":19}]}]}],"l":[{"a":[{"g":[{"i":19}]}]}],"r":[{"a":[{"s":15}],"e":[{"r":15}],"o":[{"e":[{"r":19}],"l":[{".":19}]},10]}],"s":[{"f":[{"e":[{"e":19}]}],"m":[{"e":[{"e":19}]}]},17]}],"u":[{"r":[{"i":11}]}]},66],"u":[{"a":49,"e":[{"l":[{"a":11}]},49],"i":[{"d":[{"o":[{".":42}]}],"r":[{"l":[{"a":15}]}],"t":57}]},68],"v":66,"w":66,"y":[{"s":[{"t":9}]}],"-":66}],"h":[{".":66,"a":[{".":66,"l":[{"f":71,"m":[{"a":[{"g":36}]}],"o":57,"s":[{"k":47,"t":[{"r":36}]}]}],"m":[{"p":[{"a":[{"g":[{"n":19}]}]}],"s":[{"k":[{"r":[{"a":21},15]}]}]}],"n":[{"d":[{"a":[{"n":15}],"j":[{"a":[{".":19}]}],"r":10,"u":10}],"g":[{"l":[{"i":15}],"o":[{"r":15}],"s":[{"l":62,"w":80}]}],"s":[{"k":[{"a":15},47]}]}],"r":[{"d":[{"o":[{"p":[{".":21},15]}]}],"s":[{"e":[{"l":15}],"o":[{"l":15}],"p":[{"a":15}]}],"t":[{"a":[{"a":36}],"j":47,"o":[{"e":[{"m":19}]},10]}]}],"w":[{"k":25,"s":[{"h":[{"a":[{"n":19}]}]}]}],"y":[{"e":[{"l":[{"i":15}]}]}]}],"e":[{"b":[{"l":[{"u":[{"s":[{".":19}]}]}]}],"e":[{"l":10,"r":[{"s":[{"t":[{"e":[{".":99}]}]}]}],"s":[{"e":[{".":42}]}]}],"g":[{"o":[{"r":[{"g":[{"a":19}]}]}],"r":[{"a":[{"n":[{"k":19}]}]}],"s":[{"p":[{"y":[{"k":19}]}]}]}],"i":[{"d":[{".":52,"s":[{"t":[{"e":[{"m":21}]}]}]}]}],"k":[{"o":25,"s":[{"a":[{"a":[{"n":19}]}]}],"w":38}],"l":[{"a":[{"n":[{"g":[{"e":19}]}]}]}],"n":[{"d":17,"s":[{"o":10}]}],"r":[{"a":[{".":48,"k":[{"l":15}],"l":[{"d":[{".":1}]}],"n":61},30],"e":[{"g":[{"p":[{"a":19}]}],"k":18,"v":18},6],"f":[{"s":28},17],"i":[{"b":[{".":15}],"d":11},30],"o":[{"d":11,"l":11,"n":[{"d":23,"t":[{"m":19}]}],"s":[{"s":15},11],"u":11,"w":23}],"s":[{"c":[{"h":[{"e":19}]}]}],"u":30,"y":[{"k":23}]},49],"s":[{"p":[{"e":[{"r":[{"u":19}]}]},25],"t":38}],"t":[{"e":[{"r":[{"o":80}]}]}],"u":[{"p":[{"a":[{"a":15}]}],"s":6}],"v":[{"r":25},30],"w":[{"e":[{"n":[{"s":[{"t":37}]}]}]}]}],"i":[{"e":[{"r":[{"i":[{"n":[{".":21}]}],"o":[{"n":[{"i":19,"y":19}]}]},10]}],"ë":50,"l":[{"l":[{"b":[{"r":15}]}]}],"n":[{"g":[{"s":[{"t":7},52]}]}],"p":[{"e":17}],"r":[{"l":25}],"s":[{"p":[{"a":23},25]}],"v":[{"-":25}]}],"l":[{"i":9},66],"m":[{"a":9},66],"n":66,"o":[{"d":[{"e":[{"s":[{"l":[{"a":37},42]}]}]}],"e":[{"k":[{"a":[{"a":[{"i":19}]}],"y":[{"s":15}]}],"s":[{"p":[{"i":15}],"t":47}]}],"ë":[{"r":[{"o":[{"p":[{".":21}]}]}]}],"f":[{"a":[{"a":23,"m":[{"p":[{".":19}]}]},25],"u":[{"i":[{"t":[{"s":19}]}]}]}],"g":[{"h":[{"o":[{"k":15}]}]}],"i":[{"s":[{"w":[{"e":[{"r":19}]}]}]}],"k":[{"r":[{"a":[{"k":[{"k":19}]}]}]}],"l":[{"a":[{"a":[{"r":[{".":19}]}]}],"e":[{"s":28}],"f":57,"i":[{"n":23}],"o":[{"o":[{"g":[{".":19}]}]}]}],"n":[{".":57,"d":[{"a":[{"a":15,"g":15}],"r":[{"o":15}]}]}],"p":[{"l":[{"a":[{"n":[{"d":19}]}]}],"s":[{"m":[{"a":[{"a":19}]}]}]}],"r":[{"o":6,"s":10,"t":[{"j":47}]}],"s":[{"h":[{"o":[{"l":15}]}]}],"t":[{"a":25}],"u":[{"t":[{"a":47,"j":13,"o":[{"l":15,"m":15}]}],"w":[{"h":[{"o":15}]}]}]}],"r":[{"e":[{"s":[{"t":[{"o":15}]}]}],"i":[{"e":[{"s":28},17],"s":[{"t":13}]}]},66],"t":[{"e":9,"o":9}],"u":[{"g":[{"o":[{".":48}]}],"i":[{"d":[{"a":[{"a":15}],"u":[{"i":15}]}],"s":[{"e":[{"f":15}]}],"t":[{"j":[{"i":[{"e":19},42]}]}]}],"k":[{"h":[{"u":[{"n":15}]}]}],"l":[{"p":[{"a":47,"e":[{"k":15}],"l":[{"e":15}],"o":[{"r":15}]}],"s":[{"t":[{"e":[{".":21},15]}]}]}],"m":[{"o":[{"e":[{"s":[{".":19}]}]},6],"u":[{"s":28}]}],"t":[{"e":[{"r":[{"s":62}]}],"j":[{"i":[{"e":[{".":19}]}]}],"s":[{"p":[{"o":15}],"t":[{"e":[{".":21},15]}]}]}]}],"v":[{"i":[{"l":[{"l":14}]}]}],"w":66,"y":[{"g":[{"r":[{"o":[{"m":[{"a":19}]}]}]}],"s":[{"k":30,"t":[{"a":[{"n":[{"g":19}]}]}]}]}]},69],"i":[{"a":[{"a":[{"n":[{"s":[{"o":42,"p":42,"t":[{"e":37},42]}]}]}],"m":[{"s":[{"o":[{"n":[{".":19}]}]}]}],"n":[{"o":[{"p":25}]}],"s":[{"k":[{"o":[{"o":15}]}],"p":[{"o":11}],"t":[{"a":11,"r":61}]}]},56],"b":[{"a":[{"f":20,"g":20}],"o":[{"u":[{"s":[{".":42}]}]}]}],"c":[{"k":[{"y":[{".":11}]}]}],"d":[{"a":[{"g":[{"r":[{"o":[{"e":19}]}],"t":11}]},9],"d":[{"e":[{"r":[{"a":42}]}]}],"e":[{"s":[{"n":[{"u":[{"i":19}]}]}]},9],"ê":9,"i":[{"a":[{"s":13}]},9],"j":[{"a":[{"n":14},25]}],"o":9,"r":9,"s":[{"e":[{"t":18}],"i":[{"n":[{"o":[{"e":19}]}]}],"k":[{"a":25,"e":[{"r":[{"m":19}]}],"r":23}],"l":[{"a":[{"g":[{"s":19}]}]},30],"n":[{"y":[{"e":[{".":19}]}]}],"o":30,"p":[{"a":[{".":15}],"e":[{"k":15}],"i":[{"e":15,"l":4}],"r":[{"i":15,"y":4}]},30],"t":[{"a":[{"a":[{"l":19}]}],"e":[{"e":[{".":19}],"k":[{"s":19}],"l":[{"e":19}]}],"i":23,"o":[{"e":23}],"r":[{"e":[{"k":24}]}]}],"u":[{"r":[{"e":[{".":19}]}]}]},73],"u":[{"u":6},9]},22],"e":[{"d":[{"i":[{"n":[{"g":[{"s":100}]}],"o":[{"n":[{"e":19}]}]}],"r":[{"o":[{"l":23}]}],"w":30}],"e":[{"e":[{"n":11},20]},56],"ë":[{"a":[{"a":[{"r":[{"d":19}]}]}],"l":[{"y":[{"s":15}]}]}],"f":[{"a":[{"l":[{"a":[{"r":19}]}]}],"i":[{"e":11}],"r":38,"s":[{"t":[{"a":[{"l":19}]}]}],"u":[{"i":[{"t":[{"g":19}]}]}]}],"g":[{"l":[{"a":11,"o":[{"k":[{"a":19}]}]}],"r":[{"i":[{"e":[{"m":19}],"t":4}]}],"s":[{"t":23}]}],"k":[{"a":[{"s":[{"y":[{"n":19}]}]}],"e":[{".":11,"r":[{"v":31}],"s":[{"s":[{"e":19}]}]}],"i":[{"e":11}],"l":[{"a":[{"a":[{"i":19},4]}]}],"n":[{"i":25}],"o":[{"n":[{"d":31}],"p":[{"l":[{"e":19}],"s":[{"e":19},4],"v":23}]}],"r":[{"e":[{"v":[{"u":19}]},25],"i":[{"g":[{"t":19}]}]}],"w":[{"a":[{"r":[{"e":19}]}],"e":[{"e":[{"s":19}]}],"i":18,"o":[{"s":15}],"y":[{"d":[{".":19}]}]}]}],"l":[{"a":[{"a":25,"f":[{"o":15}]}],"e":[{"n":[{"e":4}]}],"o":[{"o":[{"r":[{".":19}]}]}],"s":[{"a":[{"n":15}],"o":[{"n":36}]}]}],"n":[{"a":[{"n":[{"a":[{"l":19}]}]}],"g":[{"l":[{"o":[{"r":19}]}]}],"k":[{"r":[{"o":15}]}],"o":[{"l":[{"i":[{"e":19}]}],"o":18}],"s":[{"a":[{"k":[{"k":19}]}],"o":[{"r":13,"u":[{"t":19}]}],"p":[{"a":[{"n":19}]}],"t":[{"a":[{"m":19}],"e":[{"l":[{"e":65},19],"t":19}],"o":[{"o":19}]},13],"u":[{"u":23}]},10],"u":[{"r":18}]}],"p":[{"o":[{"o":[{"g":[{".":19},4]}]}],"r":[{"o":[{"o":[{"i":19},4]}]}]}],"r":[{"a":[{"f":[{"m":[{"a":19}],"s":4}]}],"e":[{"n":[{"g":[{"t":19}]}],"t":[{"e":[{"r":19}]}]}],"n":[{"e":[{"f":[{"f":19}]}]}],"o":[{"m":[{"t":[{"r":19}]}],"n":[{"i":15,"y":15},18]}],"s":[{"w":[{"e":[{"e":19}]}]}]}],"s":[{"a":[{"m":[{"p":15}]}],"e":[{".":11,"n":[{"k":[{"e":19},4],"t":[{"s":19}]}]}],"f":[{"e":[{"r":[{"w":19}]}]}],"k":[{"a":[{"f":[{".":19}]}],"o":[{"n":4,"p":[{".":19}]}],"r":[{"a":[{"a":19}],"y":15}]}],"l":[{"a":[{"a":[{"g":19}]}],"e":[{"p":[{"e":19},4]}],"i":23,"u":[{"i":[{"k":19}]}]}],"m":[{"e":[{"u":[{"b":19}]}],"o":[{"o":[{"i":19}]}]}],"o":[{"e":[{"s":[{".":19}]}],"n":[{"d":23}],"o":[{"r":[{"p":19}]}],"p":[{"n":[{"e":19},4]}]},6],"p":[{"a":[{"n":[{"e":19}]}],"e":[{"r":23}],"l":[{"i":[{"g":19}]}]}],"t":[{"a":[{"a":[{"l":24}],"s":15}],"e":[{"e":[{".":19}],"h":4,"l":[{"e":19}],"n":[{"t":19}]}],"i":[{"n":15}]}],"u":[{"i":[{"l":23}]}],"w":38}],"t":[{"a":[{"a":[{"n":[{"s":19}],"r":[{"d":19}]}],"l":[{"b":[{"a":19}]}]}],"e":[{".":11,"r":[{"t":[{"s":19}]}]}],"o":[{"m":[{"s":[{"e":19}]}]}],"r":[{"e":[{"k":[{"e":19,"o":19}]}]}],"s":[{"l":10}],"u":[{"i":[{"e":[{".":19}]}]}],"w":[{"i":11}],"y":[{"s":25}]}],"u":[{"b":20,"d":20,"g":[{"r":[{"i":[{"e":19}]}]},20],"i":[{"n":[{"g":[{".":19}]}]},12],"l":20,"m":20,"s":[{"k":[{"o":[{"t":19}]}]}],"u":20,"v":20,"w":20},56],"w":[{"i":[{"e":11}],"-":25}],"y":[{"s":[{"t":11}]}],"-":[{"k":[{"l":[{"i":[{"k":19}]}]}]}]}],"è":[{"r":9}],"ê":56,"ë":[{"l":[{"s":[{"k":[{"u":15}]}]}],"n":[{"t":[{"j":[{"i":[{"e":21},15]}]}]}],"s":[{"t":38}]}],"f":[{"e":[{"i":20}],"i":[{"m":20,"n":20}],"l":44,"r":59,"u":[{"i":12}]}],"g":[{"a":[{"a":[{"n":3}],"p":20,"r":[{"e":[{"t":79},54]}]}],"e":[{"f":[{"f":11}],"n":[{"a":[{"a":15}]}],"t":[{"e":11}]}],"i":[{"n":[{"s":11}]}],"l":[{"o":[{"e":11}]},44],"o":[{"p":[{"t":11},25],"r":[{"g":11,"o":[{"o":[{"s":19}]}]}]}],"r":[{"e":[{"s":11}],"o":[{"o":11}],"y":12}],"s":[{"a":6,"i":[{"n":[{"s":15}]}],"k":[{"a":[{"p":[{"s":19}]}],"e":[{"n":[{"d":1}]}],"o":23,"u":11}],"m":[{"e":[{"e":15}]}],"o":[{"n":[{"a":15}],"o":11}],"p":[{"o":[{"e":[{"i":19}]}]}],"t":[{"i":11,"o":[{"e":[{"i":1}]}]}]}],"u":[{"e":[{"r":[{"a":[{".":19}]}]}]}]}],"h":[{"u":[{"a":[{"h":[{"u":15}]}]}]}],"i":56,"k":[{"e":[{"r":[{"o":[{"e":15}]}],"t":[{"j":13}]}],"k":[{"l":[{"i":11}]}],"n":59,"o":[{"n":[{"a":[{"t":15}]}]}],"r":56,"s":[{"a":[{"k":[{"t":[{"e":19},4]}]}],"i":[{"d":[{"e":[{"n":19}]}],"n":[{"v":[{"e":19}]},25]}],"j":[{"u":[{"k":[{".":19}]}]}],"k":[{"o":[{"m":4}]}],"p":[{"a":[{"a":[{"r":19}],"d":15,"r":[{"e":19}]}]}],"t":[{"i":[{"k":15}],"u":[{"u":15}]}],"w":[{"e":[{"l":15}]}]}],"w":[{"a":[{"n":11}],"e":12,"y":20}]}],"l":[{"a":[{"g":[{"t":11}],"t":[{"o":[{"o":15}]}]},56],"b":[{"e":[{"s":[{"t":42}]}]}],"d":[{"a":[{"g":[{"t":[{"i":19}]}]}],"s":[{"m":[{"a":[{"a":19}]}],"t":[{"j":15}]}],"t":[{"e":[{"m":[{"m":19}]}]}]}],"e":[{"t":[{"a":13,"j":[{"i":[{"e":21},15]}]}]}],"f":[{"l":[{"i":11},10]}],"g":[{"h":[{"a":11}]}],"i":[{"n":[{"d":[{"e":29}]}]}],"l":[{"o":[{"w":17}],"u":55}],"m":[{"a":[{"t":18}],"o":[{"p":[{"e":[{"r":19}]}]}]}],"o":[{"s":[{"k":23}]},56],"s":[{"i":[{"n":[{"s":[{"p":19}]}]}],"o":[{"r":[{"d":[{"e":19}]}]}],"p":[{"r":25}]}],"t":[{"a":[{"a":[{"r":[{".":19}]}]}]}],"u":56},66],"m":[{"a":[{"g":[{"t":11}]},9],"e":[{"k":[{"s":11},20],"l":[{"a":[{"a":[{"r":19}]}]}],"n":[{"t":[{"s":62}]}],"s":[{"t":13},10]},9],"ê":9,"i":9,"m":[{"i":[{"g":[{"r":52}]}]}],"o":[{"p":101,"t":[{"h":[{"e":[{"u":19}]}]}]},9],"p":[{"l":[{"i":[{"k":52}]}]}],"u":[{"m":[{"a":[{"a":15}]}]},9]},22],"n":[{"a":[{"a":[{"r":[{"d":11}]}],"f":20,"g":12,"k":[{"k":11}],"r":[{"g":11}]}],"d":[{"a":[{"a":18,"s":25}],"e":[{"r":[{"a":[{"s":37}]}]}],"i":[{"v":52}],"o":[{"e":[{"f":15}],"o":[{"g":[{"m":19},4],"r":31}]}],"s":[{"l":[{"e":[{"u":19}]}],"w":23}],"u":55,"w":[{"i":11}]}],"e":[{"e":[{"t":[{"j":[{"i":21}]}]}],"r":[{"a":23}]}],"f":66,"g":[{"a":[{"a":[{"r":[{"s":19}]}],"n":11}],"e":[{"t":[{"e":[{"r":19}]}]}],"h":[{"p":[{"a":15}]}],"i":[{"n":[{"d":4,"f":[{"r":19},4],"s":[{"t":19}]}]}],"l":[{"e":[{"b":15}]}],"o":[{"p":[{"e":15,"l":15}],"u":23}],"p":[{"s":[{"e":[{"u":19}]}]}],"r":[{"u":18}],"s":[{"a":[{"a":[{"g":19}],"p":[{".":19}]}],"e":[{"e":[{".":19}],"k":[{"r":19,"u":19}]}],"f":[{"e":[{"r":19}]}],"i":[{"n":[{".":19,"j":19}]}],"k":[{"a":[{"l":19}],"ê":[{"r":19}],"u":[{"d":19}]}],"l":[{"e":[{"p":19}],"y":[{"m":19}]}],"o":[{"f":[{"a":19}],"m":[{".":19,"m":19}]}],"p":[{"i":[{"l":60}]}],"t":[{"e":[{"l":[{"l":[{"e":102}]}]}],"i":[{"n":19}]}],"u":[{"i":[{"e":19,"l":19}]}],"w":[{"e":[{"l":19}]}]}],"u":[{"i":[{"l":[{".":19}]}]}]}],"i":[{"g":[{"a":[{"a":15}]}],"k":25,"n":[{"f":11}],"s":[{"i":[{"a":52}]}]},9],"k":[{"e":[{"r":[{"t":[{"s":19}]}]}],"l":[{"a":[{"a":[{"g":19}]}],"e":[{"r":[{".":19}]}]}],"n":[{"e":[{"r":[{"f":19}]}],"u":23}],"o":[{"g":[{"i":[{"e":19}]}],"l":[{"i":[{"e":19}]},25],"m":52}],"r":[{"i":[{"n":[{"g":19}]}],"o":[{"l":4}]}],"s":[{"t":23}],"w":[{"i":[{"t":[{".":19}]}]}]}],"n":[{"a":[{"m":52}],"e":[{"m":[{"i":52}],"s":[{"t":[{"e":21},62]}]}]}],"o":[{"n":[{"g":11}],"s":[{"k":[{"a":[{"a":19}]}]}]}],"r":[{"a":[{"g":11}],"i":[{"g":52}]}],"s":[{"e":[{"p":[{"o":[{"u":19}]}],"t":[{"e":31,"s":52}]}],"g":25,"k":[{"a":[{"p":[{"s":19}]}],"i":[{"n":15}]}],"l":6,"m":[{"o":[{"l":[{"t":19}],"o":[{"r":19}]}]}],"o":[{"n":[{"d":15}]}],"p":[{"e":[{"k":52}],"r":[{"i":[{"e":19}]}]}],"t":[{"i":[{"t":[{".":37}]},52],"o":[{"n":15}],"w":[{"i":[{"s":19}]}]},10]}],"t":[{"a":[{"p":[{"p":[{"e":19}]}]}],"e":[{"s":[{"s":23,"t":7}]}],"h":[{"e":[{".":15}]}],"u":[{"i":[{"t":15}]}],"w":[{"y":[{"f":15}]}]}],"u":[{"e":[{".":23}]}],"v":[{"l":[{"o":52}]}]}],"o":[{"p":[{"r":6}],"r":[{"u":[{"b":[{"r":15}]}]}],"s":[{"k":[{"l":11},10],"p":10,"t":10},44],"t":[{"r":6}]},56],"p":[{"a":[{"g":12},9],"e":9,"i":9,"l":[{"o":25},9],"o":[{"s":[{"t":47}]},9],"r":[{"e":17},9],"s":[{".":25,"k":[{"o":[{"p":[{"i":19}]}]}]}],"u":[{"i":20},9],"y":9},22],"r":[{"c":[{"h":25}],"k":[{"e":[{"l":[{"o":28}]},17]}],"o":[{"p":[{"r":23},17]}],"u":[{"s":10}],"w":[{"a":20}]},56],"s":[{"a":[{"g":[{"i":14},6],"k":[{"s":3}],"n":[{"g":[{"s":2}]}],"r":[{"g":20},6],"s":[{"p":11}],"v":20}],"c":6,"e":[{"i":12,"t":12,"u":[{"m":23}]}],"f":[{"e":[{"e":[{"r":14}]}]}],"h":[{"n":[{"i":[{"e":[{".":19}]}]}]}],"i":[{"n":[{"t":3,"v":11}]}],"j":[{".":20,"a":[{"n":11}],"o":[{"e":11}]},22],"k":[{".":25,"a":[{"a":[{"f":4}],"n":11},20],"ê":25,"u":[{"i":11}]},59],"l":[{"a":[{"a":11,"g":14}]},59],"m":[{"i":[{"t":64}]},6],"n":59,"o":[{"e":[{"s":11}],"n":[{"d":11}],"r":6}],"p":[{".":25},6],"t":[{".":25,"h":25,"o":[{"p":[{"h":[{"o":21}]}]}],"y":[{"n":64}]},6],"u":[{"i":[{"k":14},12],"m":[{"a":[{"a":15}]}]}],"w":6}],"t":[{"a":[{"g":6,"t":[{"i":[{"s":15}]}]},9],"b":6,"e":[{"d":[{"w":[{"a":[{"l":19}]}]}],"g":[{"l":[{"a":[{"s":19}]}]}],"k":[{"t":[{"e":[{".":21}]}]}],"m":[{"a":[{"s":15}]}],"n":[{"h":14}],"r":[{"u":23},25],"t":[{"e":3}]},9],"ê":9,"i":[{"n":[{"s":3},25]},9],"o":[{"f":[{"a":23}],"p":[{"l":[{"a":[{"n":19}]}]}],"r":[{"o":[{"w":[{"e":19}]}]}]},9],"r":[{"e":6,"y":6},44],"s":[{"c":25,"e":[{"r":11,"t":[{"e":23}]}],"j":[{"o":[{"o":[{"d":19}]}]}],"o":[{"o":18}],"p":[{"e":[{"r":[{"k":19}]}]}],"t":[{"e":[{"k":15}],"o":[{"r":[{"i":19}]}]}],"u":[{"u":[{"r":[{".":19}]}]}]}],"u":[{"s":[{"a":[{"a":15}]}]},9],"w":[{"i":[{"n":11}]}],"y":[{"s":[{"o":[{"k":[{"k":19}]}]}]},9],"z":[{"l":[{"a":[{"a":[{"n":19}]}]}]}]},22],"u":[{"m":[{"a":25,"e":25,"i":[{"e":11},25],"u":[{"u":[{"r":15}]}]},50]},56],"w":[{"e":[{"l":[{"s":[{"k":7}]}],"m":[{"o":[{"s":[{".":19}]}]}],"s":[{"p":[{"o":[{"r":19}]}],"t":23},17]}]}]}],"ï":[{"m":22,"n":[{"a":[{"k":[{"t":11}]}],"o":6,"s":[{"t":10}],"u":[{"n":[{"d":11}]}]}],"s":[{"l":[{"a":[{"m":11}]}],"t":6}]},68],"j":[{"a":[{"a":[{"r":[{"s":[{"k":[{"r":43}]}]}]},55],"c":[{"q":25},55],"g":[{"a":25},55],"n":[{"g":[{"h":[{"a":[{"i":19}]}]}],"k":[{"n":[{"a":[{"p":19}]}]}]}],"p":[{"l":[{"a":11},10]}],"r":[{"e":55,"i":55}],"s":[{"m":25,"p":[{"a":[{"n":[{"t":19}]}]}],"t":[{"a":[{"s":15}]}]}],"z":[{"z":[{"e":[{"r":[{"i":19}]}]},10]}]}],"e":[{"k":[{"n":25,"r":[{"a":[{"s":[{"i":19}]}]},25]}],"r":[{"o":[{"p":11}]}],"s":[{"n":[{"i":[{"ë":[{".":19}]}]}],"t":10}],"t":[{"r":38,"s":[{"j":[{"n":15}]}]}],"u":[{"g":10}]}],"i":[{"e":[{"k":[{"n":103}],"n":[{"a":[{"n":15}],"o":[{"l":15}],"s":13}],"o":[{"n":52,"p":52}],"s":[{"k":[{"a":[{"p":19,"t":21},15],"i":15,"o":[{"p":15}]}],"l":[{"o":36,"u":15}],"o":[{"l":15,"n":15}],"p":[{"a":15}],"t":[{"r":36}],"u":[{"i":[{"k":19},15]}]}],"u":25}],"n":[{"g":[{"o":[{"p":[{"e":19}]}]}]}],"r":[{"p":25}]}],"o":[{"b":[{"s":71}],"e":[{"k":[{"w":[{"e":[{"e":19}]}]}],"n":[{"s":[{"k":42}]}],"r":[{"n":52}]}],"n":[{"g":55}],"s":[{"a":[{"f":[{"a":15}]}]}],"u":[{"k":[{"u":[{"i":[{"t":19}]}]}]}]}],"u":[{"i":[{"t":[{"s":[{"p":42}]}]}],"k":[{"r":[{"i":[{"e":[{"m":19}]}]}]}],"n":[{"k":[{"r":[{"e":15}]}]},55]}]},68],"k":[{".":66,"a":[{"a":[{"l":20,"n":[{"d":14,"s":[{"t":[{"e":[{".":99}]}]}],"w":14}],"r":[{"s":[{"e":[{".":21}],"t":[{"e":37}]}],"t":[{"i":42,"j":7},52]}]}],"d":[{"e":[{"l":[{"a":42}],"s":[{"l":42}]}],"v":76}],"f":[{"e":[{"e":52}],"o":[{"e":[{"f":15}]}],"r":57,"s":76}],"g":[{"e":[{"m":52}],"g":[{"e":52},20],"o":20,"r":20},72],"k":[{"s":57}],"l":[{"k":[{"a":47,"l":47,"o":[{"o":15},52],"w":10}],"s":[{"p":47,"t":10}]}],"m":[{"p":[{"a":[{"r":15}],"l":[{"e":15}]}],"s":17},55],"n":[{"a":55,"e":[{"r":[{"o":28}]}],"k":55,"o":[{"n":[{"t":15}]}],"s":[{"k":[{"o":15}],"t":[{"e":[{".":21},15]}]}],"t":[{"j":47,"o":[{"m":[{".":21}]}],"r":47},55]}],"p":[{"a":[{"k":25,"s":52}],"i":[{"n":[{"t":[{"e":19}]}],"t":52}],"l":[{"a":[{"k":15,"t":[{".":19}]}]}],"o":17,"r":[{"i":11}],"s":[{"e":[{"i":[{"s":19}]}],"p":[{"r":15}],"t":[{"e":[{"k":15}]}]}],"t":[{"e":52}]}],"r":[{".":55,"a":[{"k":52}],"b":[{"e":75}],"m":[{".":14}],"o":[{"o":[{"r":15},11]}],"s":[{"t":10}],"t":[{"i":14,"o":23}]}],"s":[{"g":57,"l":[{"a":[{"a":[{"i":19}]}]}],"m":[{"a":[{"a":15}]}],"t":[{"r":[{"a":[{"a":19}],"o":46}]}]},55],"t":[{"e":[{"g":52,"t":[{"e":[{"s":19}]}]}],"h":[{"a":[{"r":15}],"u":[{".":15}]}],"o":[{"o":25}],"r":[{"y":[{"k":[{".":19}]}]}],"s":[{"w":23},17],"u":[{"i":[{"l":[{".":19}]}]}]}],"y":[{"a":[{"k":[{"u":15}]}]}]},68],"b":[{"e":[{"k":[{"w":[{"i":15}]}]}],"o":[{"u":[{"t":[{"j":[{"i":37}]}]}]}]},66],"d":[{"e":9},66],"e":[{"d":[{"e":[{"l":[{"o":42}]}]}],"e":[{"l":[{"a":13}],"n":57,"p":[{"s":[{"t":7}]}],"r":[{"s":[{"o":42,"t":[{"e":42}]}]}]},86],"ë":[{"l":[{"a":[{"a":[{"r":21},15]}]}]}],"f":[{"f":57}],"i":[{"d":[{"r":[{"o":15}],"s":[{"p":[{"r":37}]}]}],"k":57,"s":[{"t":23},17]}],"k":[{"s":76}],"l":[{"a":[{"k":18,"n":[{"e":[{"m":19},4]}],"s":[{"s":[{"i":19}]}]}],"e":[{"e":[{"n":[{"h":19}]}],"m":75}],"i":[{"n":[{"b":[{"r":19},4]}]}],"m":[{"a":[{"g":15}]}],"o":[{"u":18}],"s":[{"o":[{"n":[{"d":[{"e":53}]}]}]}]}],"m":[{"a":[{"f":[{"a":15}]}],"m":76}],"n":[{"a":[{"a":[{"r":15}]}],"d":[{"r":[{"a":15}]}],"e":[{"e":[{"l":[{".":19}]}]}],"j":76,"m":55,"n":55,"o":[{"u":25}],"s":[{"o":[{"n":[{".":19}]}]}]}],"p":[{"l":[{"a":[{"a":[{"i":19}]}],"e":[{"r":[{".":19}]}],"o":18}],"s":[{"k":23}]}],"r":[{"e":[{"e":[{"n":[{".":19}]}],"l":[{"s":[{".":19}]},25]}],"f":[{"l":[{"a":[{"n":19}]}]}],"k":[{"a":[{"l":15}],"i":[{"n":15}],"o":[{"r":36,"w":15}],"r":[{"i":[{"s":19}]},10],"u":[{"i":[{"l":21},15]}],"w":[{"y":13}]},55],"m":[{"e":[{"n":[{"g":60}]}]}],"n":[{"a":[{"f":15}],"e":[{"i":15,"n":15}],"o":47}],"o":[{"e":[{"s":[{".":19}]}],"n":18}],"p":[{"r":[{"u":15}]}],"s":[{"e":[{"t":15}],"k":[{"i":[{"l":19}],"o":[{"m":21}]},10],"l":[{"o":15}],"n":10,"o":[{"n":[{".":19}]},10],"p":[{"i":36}],"w":13}],"t":[{"s":57}],"v":[{"a":[{"r":78}]}]}],"s":[{"e":[{"l":[{".":15}]}],"n":25}],"t":[{"r":[{"o":[{"l":4}]}],"s":[{"k":[{"a":15}]}],"t":[{"i":52}],"u":25}],"u":[{"r":[{"o":[{"r":15}]}],"s":55,"t":[{"j":[{"i":[{"e":21}]}]}]}],"y":[{"k":[{"l":[{"e":[{"u":19}]}]}],"n":[{"o":[{"o":[{"i":19}]}]}]}]},68],"ê":[{"r":[{"b":25}]}],"f":72,"g":[{"a":[{"l":[{"a":[{"g":[{"a":19}]}]}]}],"e":[{"l":[{"a":23}]}]},72],"h":[{"a":[{"y":[{"e":[{"l":[{"i":19}]}]}]}],"o":[{"i":20}],"u":[{"k":[{"h":[{"u":[{"n":19}]}]}]}]},66],"i":[{"e":[{"d":[{"r":[{"o":15}]}],"l":[{"a":[{"a":[{"i":19}]}]}],"m":[{"a":[{"s":[{".":21},15]}]}],"s":[{"e":[{"n":[{"t":15}]}],"k":[{"r":[{"y":19}]},47],"l":[{"o":15},13],"t":[{"a":[{"n":21}]}]}],"t":[{"a":10}],"u":[{"s":13}]},49],"k":[{"l":25}],"m":[{"a":25,"m":57}],"n":[{"d":[{".":52,"e":[{"l":78}],"r":23,"u":57}],"h":9,"l":57,"s":[{"t":75}]}],"o":[{"s":[{"k":[{"e":[{".":21}]}]},10]}],"p":[{"l":[{"i":[{"n":[{"g":19}]}]}]}],"r":[{"c":25}],"s":[{".":55,"o":[{"b":[{"l":[{"i":19}]}]}],"p":[{"o":61}],"t":[{"e":[{"w":46}]}]}],"t":[{"s":[{"k":13},10]}]},68],"k":[{"a":[{"g":25,"s":[{"m":[{"a":[{"a":19}]}],"t":[{"r":23}]}]}],"e":[{"n":[{"e":[{"e":15}]}],"r":[{"k":[{"r":13}]}]},9],"l":[{"i":25}]},72],"l":[{"a":[{"d":[{"i":14}],"n":[{"d":57,"g":14,"k":20}],"s":[{"e":[{".":42}],"i":[{"n":15}]},90]}],"e":[{"e":[{"r":[{"d":14}]}],"g":[{"e":14},57],"i":104,"l":57,"n":76,"p":[{"a":[{"s":[{".":21}]}]},105],"r":[{"e":52},20],"u":[{"s":23}]}],"ê":9,"i":[{"e":[{"d":57,"r":20}],"g":76,"k":[{"k":52,"o":[{"p":15}]},76],"m":[{"o":[{"e":15}]},20],"n":[{"k":52,"n":14},20],"p":71,"s":[{"j":[{"e":[{"e":19}]}]},20]}],"o":[{"g":57,"k":[{"o":[{"n":15}]}],"o":[{"s":[{".":14}]}],"u":20}],"u":[{"b":[{"h":13,"r":[{"e":15}]}],"g":57}],"y":106},69],"m":[{"a":[{"n":[{"s":[{"p":[{"o":21}]}]}]}]},66],"n":[{"a":[{"p":20,"v":57}],"e":[{"g":[{".":52}],"i":57,"m":57,"t":[{"j":13},10]}],"i":[{"k":[{"l":[{"a":15}]}],"p":71},55],"o":[{"e":[{"t":[{"e":[{".":21}]}]},17],"m":76,"o":[{"t":14}],"p":20,"r":[{"o":[{"s":[{".":21}]}]}]}]},69],"o":[{"b":[{"r":[{"e":[{"g":[{"o":19}]}]}]}],"d":55,"e":[{"f":76,"k":[{"e":[{"i":15}]},55],"l":[{"o":47}],"p":[{"l":23}],"r":55,"s":[{"i":[{"s":[{"t":19}]}]},71]}],"ë":[{".":57},55],"f":[{"i":20}],"g":[{"i":57}],"k":[{"o":[{"n":[{"t":[{"h":19}]}]}],"s":[{"k":[{"r":15}]}]}],"l":[{"a":[{"g":11}],"f":[{"o":[{"r":15}]}],"l":55,"o":55,"w":55}],"m":[{"a":[{"a":[{"n":[{".":19}]}]}],"b":[{"i":[{"n":[{"a":19}]}]}],"g":[{"h":[{"a":[{"d":19}]}]},57],"h":[{"u":14}],"m":[{"i":[{"s":[{"s":19}]}]}],"s":[{"a":[{"a":[{"l":19}]}],"p":10}]},55],"n":[{"a":[{"t":[{"o":[{"o":19}]}]}],"t":[{"l":75,"r":23,"s":75}]}],"o":[{"g":76,"p":25,"r":[{"d":52}]}],"ö":55,"p":[{"a":[{"g":25,"p":[{"e":[{".":19}]}]}],"e":[{"l":[{"a":[{".":21}]}]}],"l":[{"a":[{"s":[{".":19}]}],"o":57}],"m":55,"n":[{"o":52},57],"o":25,"p":[{"e":[{"r":77}]}],"u":[{"i":[{"t":[{"s":19}]}]}]}],"r":[{"d":[{"a":[{"a":[{"n":21}]}],"o":[{"e":15}]}],"f":[{"o":[{"o":15}]}],"g":9,"i":[{"n":[{"g":[{"s":74}]}]}],"k":9,"o":6,"p":55,"s":[{"l":47,"t":[{"e":[{"n":19}]}]}],"t":[{"a":47,"j":[{"i":[{"e":21},15]}]}]}],"s":[{"e":[{"e":[{"t":[{"p":19}]}]}],"i":[{"n":[{"k":[{"o":19}]}]}],"j":[{"u":[{"f":[{"f":19}]}]}],"k":[{"i":11,"o":23},25],"p":[{"e":23}],"t":[{"a":[{"a":23}]}]},55],"t":[{"a":[{"k":18}],"e":[{"l":52}]}],"u":[{"s":[{"t":[{"e":[{".":21}]}]}],"t":[{"j":23}]}],"v":[{"i":[{"e":[{"v":[{".":21}]}]}],"k":25,"s":25}],"w":[{"e":[{"r":[{"h":14}]}]}]},68],"p":[{"r":[{"o":[{"p":[{"a":42}]}]}],"s":[{"i":25}]},66],"r":[{"a":[{"a":[{"d":14}],"g":[{"e":[{"r":[{"s":19}]}],"o":13},105],"k":[{".":14}],"n":[{"d":57,"k":52}]}],"e":[{"d":[{"i":52}],"e":[{"t":[{".":52}]}],"ë":[{"e":20}],"g":76,"k":76,"l":9,"s":[{"e":14}],"t":55}],"i":[{"f":107,"g":57,"k":71,"m":[{"o":[{"o":15}]}],"n":55,"p":[{"l":[{"e":[{"e":21}]}]},10],"s":55,"v":76}],"o":[{"e":[{"t":14}],"l":[{"p":14}],"o":[{"n":52}],"r":25,"w":76}],"u":[{"b":57,"i":[{"m":57},55],"k":[{"a":[{"s":15}],"s":[{".":42}]}],"l":10,"s":[{"p":14}]}],"y":[{"f":[{"i":[{"n":15}]}],"g":[{"s":[{"t":28}]}],"k":76,"s":[{"k":[{"e":[{"t":19}]}]}],"t":55}]},22],"s":[{"a":[{"a":[{"n":[{".":4}]}],"g":[{"t":11}],"k":25}],"c":[{"h":[{"i":11}]}],"e":[{"e":[{"n":3}],"r":[{"v":3}],"t":[{"i":3}]}],"i":[{"n":[{"g":[{"e":2}],"s":11}]},9],"j":[{"a":[{"r":[{"i":4}]}]}],"k":[{"a":[{"n":20}],"i":[{"n":11}],"o":[{"n":20}]}],"l":[{"ê":20,"i":6}],"m":[{"a":[{"a":[{"k":63}]}],"o":[{"o":11,"u":14}]}],"n":[{"o":[{"b":14}]},59],"o":[{"b":[{"j":11},20],"n":[{"d":3,"l":11}],"p":[{"k":11}]}],"p":[{"e":[{"k":14,"l":14,"n":11,"r":11,"s":14}],"i":[{"r":20},9],"r":[{"a":14,"i":14}],"u":[{"r":11}]},22],"t":[{"a":[{"a":[{"l":39}],"n":[{"t":11}]}],"e":[{"k":[{"e":[{"n":2}]}],"m":[{"p":2}],"n":[{"s":11}],"r":[{"a":2,"i":39,"r":2,"t":[{"j":98}]}],"t":11}],"i":[{"p":11}],"r":[{"a":[{"d":[{"o":5}],"h":39,"k":63}]}],"u":[{"r":11,"u":11}],"y":9}],"u":[{"i":6,"r":[{"e":3}]}],"w":[{"e":[{"i":14}]},6],"y":[{"n":17}]},72],"t":[{"e":[{"r":[{"a":[{"d":15}],"o":[{"n":15}],"s":[{"p":42}]}],"s":17}],"h":[{"e":20}],"i":9,"o":[{"r":[{"e":[{"v":15}]}]},9],"u":9,"w":[{"i":25}]},66],"u":[{"d":[{"a":[{"k":[{"s":[{"i":19}]}]}]}],"i":[{"k":55,"m":57,"n":[{"s":[{"t":28}]},17],"t":57}],"l":[{"d":[{"e":[{"r":15}]}],"p":[{"l":[{"o":15}],"o":[{"o":15}]}],"t":55}],"n":[{"i":76,"s":[{"i":[{"n":15}]}]},55],"r":[{"s":55}],"s":[{"e":[{"e":[{"n":4}]}],"l":[{"a":[{"n":[{"g":19}]}]}],"n":[{"o":[{"d":[{"e":19}]}]}],"t":[{"a":[{"a":[{"k":19}]}]}]},55],"t":[{"r":30,"s":[{"l":[{"u":15}]}]}],"u":[{"s":[{"t":[{"e":[{".":19},42]}]}]}]},68],"v":[{"a":[{"n":[{"g":[{"s":62}]}]}]},66],"w":[{"a":[{"a":[{"r":75}],"e":9,"n":20,"r":93,"s":[{"k":[{"a":[{"a":19}]}]}]}],"e":[{"e":[{"k":20,"s":57}],"g":57,"r":76}],"ê":[{"l":[{"a":[{"f":[{"l":19}]}]}]}],"i":[{"k":[{"w":[{"a":15}]},90],"s":55}],"o":[{"t":93},106],"u":9},69],"y":[{"f":[{"a":25}],"k":[{"u":[{"i":[{"t":[{".":19}]}]}]}],"s":56}],"-":[{"k":[{"l":[{"i":11}]}]},66]}],"l":[{".":66,"a":[{"a":[{"n":[{"b":57,"h":57}],"r":[{"d":57}],"t":[{"s":[{"l":[{"o":21}],"t":[{"r":42}]}]}]}],"d":[{"o":[{"n":[{"d":[{"e":19}]}]}],"u":25,"v":57}],"f":[{"a":25,"d":9},66],"g":[{".":20,"a":[{".":11,"s":11},25],"i":[{"e":11},20],"l":[{"a":[{"g":[{".":19}]}]},20],"o":20,"r":[{"i":23}],"s":[{"o":[{"m":[{"e":19}]}]}]},66],"i":[{"r":[{"g":[{"o":15}]}]}],"k":[{"a":[{"l":[{"b":[{"u":19}]}]}],"l":[{"e":[{"d":15}]}],"o":[{"k":[{"u":[{"l":19}]}],"o":[{"r":[{"e":19}]}]}],"s":[{"i":75}],"w":[{"a":[{"r":[{"e":19}]}]},30]}],"m":[{"b":[{"d":[{"a":[{".":21}]}]}],"o":[{"o":18}],"p":[{"l":[{"i":15}],"o":[{"l":[{"i":21},15]}]}],"s":[{"k":[{"o":15}],"l":[{"e":15}],"p":[{"e":15}]}]}],"n":[{"d":[{"a":[{"a":[{"r":21},15],"d":15}],"r":47,"s":[{"t":[{"a":42,"e":43}]}]},55],"g":[{"a":[{"a":15}],"n":[{"o":[{"l":19}]}],"o":10,"s":[{"t":[{"e":[{".":70},21]}]}],"u":[{"r":15}]}],"k":[{"a":47,"l":47,"o":[{"p":[{"e":21},15]}],"r":47,"w":[{"i":15}]}],"s":[{"k":47,"p":10,"t":47}],"t":[{"a":[{"a":[{"t":19},15]}],"j":47,"r":[{"e":15}],"w":57}]}],"p":[{"r":30}],"r":[{"t":76}],"s":[{"e":[{"l":[{"e":[{"k":19}]}]}],"i":[{"e":[{".":15}]}],"n":25,"o":[{"l":11},25],"p":[{"a":23},25]}],"t":[{"e":[{"r":[{"a":80}]}]}],"w":[{"a":[{"a":52}]}]}],"b":[{"a":[{"s":[{"p":[{"e":15}]}]}],"e":[{"k":[{"n":[{"e":15}]}]}],"o":[{"w":[{"v":[{"i":15}]}]}],"r":[{"e":25}]}],"d":[{"a":[{"m":[{"b":11}],"n":[{"h":[{"a":[{".":21}]}]}],"p":[{"t":11}]}],"e":[{"e":[{"n":3}],"i":[{"s":11}],"r":[{"a":[{"t":15}],"o":[{"s":[{".":21}]}]}]}],"i":[{"n":[{"s":11}]}],"o":[{"f":6,"o":[{"r":[{".":4},11]}],"r":[{"d":11}],"w":[{"e":11},20]}],"r":[{"a":[{"a":14}],"e":12}],"s":[{"k":10,"m":[{"a":[{"a":15}]}],"o":[{"n":[{"d":15}]},6],"p":6}],"u":[{"i":[{"t":3}]}]}],"e":[{"c":[{"t":[{"r":23}]}],"e":[{"g":71,"p":108,"r":[{"a":13,"e":[{"i":[{"s":21}]}],"l":52,"o":13,"s":13}],"s":[{"t":[{"r":[{"a":21}]}]},10],"t":[{"j":[{"i":[{"e":19}]}]}],"v":[{"a":[{"a":[{"r":19}]}]}]},86],"f":[{"f":76}],"g":[{"s":[{"l":[{"o":[{"t":19}]}]}]}],"i":[{"e":[{"n":57}],"g":[{"l":[{"e":[{"u":19}]}]}],"k":[{"a":[{"a":15}]}],"n":[{"a":[{"a":15}],"o":[{"t":15}]}],"s":[{"k":[{"o":[{"o":19}]}],"p":[{"a":[{"n":21},15],"i":[{"r":19}]}]}],"t":[{"s":13}]}],"k":[{"l":[{"o":[{"t":[{"i":19}]}]}],"n":25,"s":[{"u":[{"u":15}]}]}],"l":[{"i":55}],"n":[{"g":[{"t":52}],"j":57,"s":[{"e":[{"l":15}],"t":[{"e":[{".":21},15]}]}],"t":[{"j":[{"i":[{"e":21},15]}]}]}],"p":[{"e":[{"l":11}],"l":[{"i":23}],"o":[{"o":[{"g":[{".":19}]}]}],"r":[{"a":[{"t":[{"w":19}]}]}],"s":[{"k":23,"z":[{"y":[{".":21},15]}]}]}],"r":[{"a":[{"a":52},10],"k":[{"a":[{"m":[{"p":21},15]}],"s":[{"p":13}]}],"t":[{"s":57}]}],"s":[{"e":[{"e":25,"t":[{"e":23},25]}],"h":[{"a":[{"b":15}]}],"i":[{"n":[{"s":[{"l":19}]}]}],"k":[{"e":[{"s":[{".":19}]},25]}],"l":[{"i":[{"e":[{".":19}]}]}],"o":[{"n":[{"d":[{"e":19}]}],"o":18}],"t":[{"a":[{"a":[{"k":19}]}],"e":[{"l":11},25],"i":[{"n":15}],"r":[{"a":23}],"y":10},6],"u":[{"u":[{"r":[{".":19}]}]}],"w":[{"e":[{"t":[{"e":19}]}]}]}],"t":[{"a":[{"n":14}],"c":25,"e":[{"m":23}],"o":[{"o":[{"r":[{"b":19}]}]}],"r":[{"o":[{"l":[{".":19}]}]}],"s":[{"k":[{"o":15}]}]}],"u":[{"f":57,"m":34,"n":[{"s":13}],"r":[{"e":[{"g":[{".":21}]}],"o":47}],"t":[{"e":54}]}],"w":[{"e":[{"i":[{"n":15}],"n":[{"a":78}]}],"i":[{"g":75}]}],"y":55},68],"ê":[{"r":[{"w":25}]},68],"f":[{"a":[{"a":[{"n":11}],"s":[{"t":[{"r":[{"a":19}]}]}]}],"e":[{"i":6,"k":[{"s":11},20],"n":20,"v":12}],"i":[{"e":25,"n":[{"g":11},20]}],"l":[{"a":[{"p":14}]},6],"o":[{"n":[{"d":[{"e":11}],"e":14,"t":[{"s":11}]}],"p":6}],"r":59,"s":[{"k":[{"a":[{"r":[{"m":19},4]}],"o":[{"p":[{".":19}]}],"u":[{"i":[{"l":19}]}]}],"n":[{"i":[{"e":[{"r":19}]}]}],"o":[{"o":[{"g":[{".":19}]}]}],"p":[{"e":[{"r":[{"k":19}]}]}]}],"t":[{"w":10}],"u":[{"i":12,"u":12}]}],"g":[{"h":[{"a":25}],"l":[{"i":20}],"o":[{"l":[{"a":[{"g":[{"n":19}]}]}],"r":[{"d":[{"y":4}]}]}],"s":[{"m":[{"e":[{"e":15}]}]}]},56],"i":[{"a":[{"t":[{"j":[{"i":[{"e":19},42]}]}]}],"d":[{"o":[{"n":[{"t":[{"s":19}]}]}]},55],"e":[{"d":55,"g":[{"l":[{"i":15}]}],"k":[{"w":[{"y":15}]}],"l":[{"a":23}],"r":[{"s":[{"w":28}]}],"s":[{"m":[{"e":23}],"t":[{"e":[{"g":19}],"y":[{"s":19}]}],"w":[{"a":[{"k":19}]}]}],"u":109}],"g":[{"i":[{"n":[{"t":[{"e":19}]}]}],"l":[{"a":[{"s":15}]}],"n":[{"y":[{".":15}]}],"o":[{"m":[{"g":[{"e":19}]}]}],"r":[{"e":[{"k":[{"l":19}]}],"i":[{"e":[{"t":19}]}],"o":25}],"s":[{"k":[{"a":[{"g":19}]}],"o":[{"n":[{"a":19}]}],"p":0,"w":0}],"u":[{"r":[{"e":[{".":19}]}]}]}],"k":[{"a":[{"s":[{"p":[{"a":19}]}]}],"k":[{"e":[{"w":52}]},57],"l":25,"o":[{"p":[{"s":[{"i":19}]}]}],"s":[{"e":[{"e":15}],"j":[{"u":15}],"o":[{"o":15}]}],"w":[{"a":18}]}],"n":[{"g":[{"i":[{"d":15,"n":15}],"l":[{"i":15}],"o":[{"o":[{"i":21},15]}]}],"h":57,"k":[{"l":47,"r":10}],"l":[{"i":14}],"r":76,"s":[{"p":14}],"t":[{"j":47}],"v":57}],"p":[{"a":25,"l":[{"a":23,"o":11},38],"o":[{"m":[{"l":[{"y":19},4]}]}],"r":38,"s":[{"o":[{"o":[{"m":19}]}]},17]}],"s":[{"e":[{"n":52}]}],"t":[{"e":[{"m":14,"r":[{"t":[{"j":98}]}]}],"j":[{"i":[{"e":29}]},30],"r":30,"s":[{"h":[{"a":[{".":19}]}],"p":10,"t":47}],"z":[{"d":[{"o":15}]}]}]},68],"j":[{"u":[{"s":17}]}],"k":[{"a":[{"f":20,"t":[{"i":[{"o":[{"n":21},15]}]}]}],"e":[{"e":[{"n":11}]}],"s":[{"e":[{"m":[{"o":[{"s":19}]}],"p":[{"o":[{"s":19}]}]}],"k":[{"a":[{"p":4}],"u":25}],"l":25,"o":[{"n":25,"w":[{"e":[{"r":19}]}]}],"p":[{"e":11,"r":11}],"t":[{"e":[{"l":[{"l":19},4]}]}]}],"t":[{"e":[{"r":[{"t":[{"j":74},62]}]}]}],"u":[{"i":[{"l":11}]}],"w":[{"a":[{"t":11}],"i":[{"t":11}],"y":[{"f":11},20]}]},56],"l":[{"a":[{"t":[{"j":[{"i":[{"e":19},42]}]}]},9],"e":[{"i":[{"s":13}],"k":[{"n":[{"o":[{"p":19}]}]}],"r":[{"u":[{"i":15}]}],"s":[{"w":[{"e":15}]}],"v":[{"e":[{"ë":[{".":37}]}]}]}],"o":[{"s":[{"k":23}]}],"s":[{"m":[{"o":[{"o":[{"r":19}]}]}]}]},72],"m":[{"a":[{"f":20}],"o":[{"k":[{"a":[{"l":15}]}],"n":[{"o":10}]}],"s":[{"m":6}]}],"n":[{"e":[{"s":10}]},56],"o":[{"b":[{"e":[{"e":[{"n":[{"d":19}]}]}]}],"e":[{"d":[{"a":[{"l":15}],"e":[{"t":15}],"j":[{"a":[{".":19}]}],"o":[{"n":15}],"r":47}],"f":57,"g":[{"o":[{"s":[{".":21},15]}]}],"r":[{"s":[{"t":[{"e":37}]}]}],"s":[{"k":[{"r":15}],"t":10}]}],"f":[{"o":[{"p":[{"r":[{"i":19}]}]}],"s":[{"p":[{"a":15}]}]}],"g":[{"i":[{"g":57}],"o":[{"p":11},10],"s":[{"o":[{"t":[{".":19}]}],"t":[{"o":[{"k":19}]},10]}]}],"k":[{"l":38,"o":[{"n":[{"d":[{"e":19}]}]}],"s":[{"w":[{"i":[{"n":19}]}]}],"w":[{"i":11}]}],"l":[{"i":[{"e":[{".":14}]}]}],"m":[{"e":[{"r":[{"t":79},54]}],"s":17}],"n":[{"d":57,"g":[{"a":[{"a":[{"r":21},15]}]}],"s":[{"p":[{"a":15}],"t":[{"e":[{".":21},15]}]}],"t":[{"j":47},57]}],"o":[{"d":55,"f":[{"s":[{"w":28}]}],"p":[{"b":52},20],"r":[{"e":14}],"s":[{"h":52,"t":[{"r":[{"a":19}]}]}]}],"p":[{"e":[{"m":[{"m":[{"e":19}]}]}],"l":57,"r":[{"y":[{"s":15}]}]}],"r":[{"o":6,"y":[{"n":11}]}],"s":[{"e":[{".":52}],"j":25,"k":25,"l":[{"a":[{"a":[{"t":19}]}]}],"t":[{"a":23,"r":[{"u":[{"m":19}]}]}],"w":[{"i":[{"k":[{"k":19}]}]}]}],"t":[{"a":[{"k":25}],"r":[{"i":[{"e":[{"t":19}]}],"u":[{"ï":[{"n":19}]}]}],"s":[{"w":[{"a":[{"n":19}]}]}],"u":[{"i":23}]}],"u":[{"i":[{"s":[{"a":[{".":21}]}]}],"t":30,"w":[{"n":[{"a":15}],"r":[{"e":15}],"t":[{"j":15}]}]}],"w":[{"r":[{"y":23},25]}],"x":[{"e":[{"r":[{"a":[{".":19}]}]}]}]}],"ö":[{"j":[{"d":[{"o":[{"n":15}]},25]}]}],"p":[{"a":[{"a":[{"n":11}]}],"e":[{"n":[{"i":[{"n":15}]}]}],"h":[{"e":25}],"o":[{"n":[{"d":11},20]}]}],"r":56,"s":[{"a":[{"a":[{"r":3}],"d":20,"r":[{"m":11}],"s":[{"p":3}]}],"e":[{"k":[{"o":3}],"l":[{"e":23},10],"m":[{"e":[{"k":15}]}],"r":[{"v":[{"a":11}]}]}],"f":[{"e":[{"i":11}]}],"g":[{"h":[{"a":[{"a":15}]}]}],"i":[{"g":[{"a":[{"a":36}]}]}],"j":[{"a":[{"s":11}]}],"k":[{"i":[{"n":3}],"o":[{"n":20,"r":[{"r":2}]}],"r":[{"e":20,"u":20}]}],"m":[{"a":[{"a":[{"k":63}]}],"e":[{"e":64}]}],"n":[{"a":[{"a":20}]}],"o":[{"p":[{"w":11}]}],"p":[{"l":[{"e":[{"t":4}],"i":64}],"u":20}],"t":[{"i":25,"o":[{"e":[{"g":2}]}]},9],"w":[{"a":[{"a":[{"r":11}]}],"e":[{"t":11}],"y":[{"n":11}]}]},72],"t":[{"a":[{"g":12,"m":[{"p":3}],"s":[{"p":[{"i":[{"e":19}]}]}]}],"e":[{"r":[{"s":[{"k":42}]}]}],"o":[{"o":[{"n":[{"d":11}]}]}],"w":[{"a":[{"k":64}]}]}],"u":[{"b":[{"h":25,"l":[{"e":23,"o":[{"k":[{"a":19}]}]},25]}],"g":[{"e":[{"r":[{".":15}]}],"u":[{"b":11}]},73],"i":[{".":55,"e":[{".":75}],"m":[{"a":[{"s":[{"i":19}]}]}],"s":[{"l":[{"a":[{"n":19}]}]}],"t":57}],"k":[{"r":[{"a":[{"a":23,"k":[{"e":19}]}]}],"s":[{"p":[{"a":36}]}]}],"n":[{"i":[{"e":[{".":14}]}],"s":[{"a":[{".":42}]}]}],"r":[{"p":[{"a":[{"g":15}]}]}],"s":[{"m":[{"o":[{"o":[{"r":19}]}]}]}],"t":[{"h":34,"z":[{"p":[{"u":15}]}]}],"u":[{"s":[{"t":[{"e":[{".":19},42]}]}]}]}],"v":[{"a":[{"s":[{"o":[{"o":[{"r":19}]}]}]}],"e":[{"t":[{"i":23}]}]}],"w":[{"e":[{"r":[{"a":47,"u":[{"i":15}]}]}]}],"y":[{"c":[{"e":[{"u":[{"m":[{".":21}]}]}]}],"f":[{"e":25,"o":25}],"k":[{"a":[{"a":[{"n":[{"t":19}]}]}],"l":[{"o":[{"p":[{"e":19}]}],"u":[{"g":[{".":19}]}]}],"n":25,"o":[{"n":[{"t":15}]},38],"r":[{"e":[{"d":[{"e":19}]}]}],"s":[{"k":23}]}],"m":[{"a":[{"g":23},25],"u":[{"i":[{"n":[{"t":19}]}]}]}],"n":[{"a":[{"a":[{"f":15}]}]},55],"p":[{"l":6}],"s":[{"p":6}],"t":[{"r":[{"i":[{"n":[{"g":19}]}]}]}]},68]}],"m":[{".":66,"a":[{"c":[{"d":[{"o":[{"n":[{"a":19}]}]}]}],"d":[{"e":[{"u":[{"s":[{".":21}]}]}]}],"e":[{"s":10}],"f":[{"d":57,"o":20,"r":[{"o":11}],"s":57},56],"g":[{"s":[{"t":[{"a":15}]}]}],"h":[{"d":[{"i":23},25]}],"k":[{"l":[{"o":[{"t":15}]}],"w":6}],"l":[{"a":[{"g":11}],"t":[{"h":[{"u":[{"s":19}]}]}]}],"m":[{"a":[{"t":[{"j":[{"i":21},62]}]}]}],"n":[{"d":[{"j":[{"a":[{"r":19}]}]}],"g":[{"o":[{"n":[{"a":19}]}]},51],"n":[{"-":[{"p":15}]}],"s":[{"a":[{"l":[{"m":19}]}],"p":[{"e":[{"n":19}],"r":15}],"t":[{"a":[{"a":60}],"o":15}]}],"u":[{"r":[{"e":[{".":19}]}]}]}],"p":[{"l":10}],"r":[{"a":6,"k":[{"e":[{"k":15}],"l":[{"e":15}],"o":[{"m":15,"n":15}],"r":47}],"l":[{"p":[{"r":15}]}],"s":[{"k":47,"t":47}],"t":[{"r":[{"o":15}]}],"y":[{"n":[{"a":[{".":21}]}]}]}],"s":[{"k":[{"o":[{"o":15}],"r":[{"i":15}],"u":[{"i":15}]}],"t":[{"e":[{"k":15}],"r":61}]}],"t":[{"h":[{"e":[{"s":15}]}],"t":[{"h":[{"y":[{"s":19}]}]}]}],"y":[{"n":[{"a":[{"r":[{"d":19}]}]}]}]}],"b":[{"r":[{"e":25}]},66],"d":[{"o":[{"p":[{"o":[{"ë":[{".":21},15]}]}]}],"s":[{"o":[{"o":11}]}],"w":[{"a":25},9]},66],"e":[{"d":[{"e":[{"r":57}]}],"e":[{"k":[{"o":[{"l":[{"e":19}]}],"r":23}],"l":[{".":52,"o":0}],"n":[{"e":23}],"r":[{"e":[{"i":[{"s":19}],"k":[{"e":19}]}]}],"s":[{"l":23,"p":[{"r":[{"e":19}]}],"t":[{"a":[{"l":37}]}]}],"t":[{"r":[{"e":15}]}]}],"g":[{"a":[{"s":[{"t":13},54]},6],"t":57}],"i":[{"n":[{"e":[{"e":15}]}]}],"l":[{"a":[{"a":[{"r":15}]}],"e":[{"k":[{"w":[{"a":19}]}]}],"k":[{"a":[{"l":15}],"j":[{"o":15}],"l":[{"a":15}],"n":[{"a":15}],"r":47,"s":13,"w":47}],"s":[{"p":[{"u":[{"l":19}]}]}],"t":[{"o":[{"o":15}]}]}],"m":[{"p":[{"h":[{"i":[{"s":19}]}]}]}],"n":[{"a":[{"n":[{"g":[{"s":19}]}]}],"e":[{"i":[{"s":[{"e":19}]}]}],"o":[{"p":[{"g":[{"a":19}]}]}],"s":[{"k":[{"y":15}],"n":[{"u":15}],"p":47,"t":[{"a":36}]}],"t":[{"i":[{"n":15}],"j":47,"r":47}]}],"p":[{"h":[{"i":11}]}],"r":[{"a":[{"k":25,"s":[{"s":[{"e":19},4],"t":23}]}],"d":[{"e":[{"i":[{"n":19}]}]}],"e":[{"i":25,"n":[{"g":[{"e":19},4]}],"s":[{"s":[{"e":19}]}]}],"i":[{"n":[{"g":[{"s":[{"t":[{"a":[{"a":110}]}]}]}]}]}],"k":[{"l":[{"i":15}],"n":[{"a":15}],"o":[{"p":[{"n":19}]}],"w":[{"a":[{"r":19}]},10]}],"o":[{"e":[{"s":23}],"n":[{"t":[{"h":19}]}]}],"t":[{"r":[{"e":[{"ë":19}]}]}]}],"s":[{"a":[{"l":25},10],"k":[{"a":18,"o":[{"o":[{"r":24}],"r":[{"e":19},4]}],"r":[{"o":[{"e":19},4]}]}],"l":[{"u":11},25],"m":[{"o":[{"s":[{"s":19}]}]}],"p":[{"o":[{"r":[{"t":19}]}]}],"t":[{"a":[{"s":4}],"o":18}],"w":[{"a":[{"r":[{"e":19}]}]}]}],"t":[{"e":[{"e":18,"m":[{"p":[{"s":19}]}],"r":[{"s":[{"o":62}]}]}]}],"u":[{"l":[{"a":[{"s":[{".":21},15]}]}]}]}],"f":[{"l":[{"o":[{"e":[{"r":29}]}]}]},72],"g":[{"a":[{"n":[{"g":[{"s":79},54]}]}],"e":[{"p":[{"e":[{"r":29}]}],"s":[{"p":[{"e":[{"r":21}]}]}]}]},72],"h":[{"e":[{"i":25}]},66],"i":[{"d":[{".":57,"o":[{"s":[{"e":[{"a":19}]}]}],"s":[{"t":13},57]}],"e":[{"k":[{"a":[{"s":15}],"w":[{"a":15}]}],"r":[{"e":[{"t":15}],"y":47}],"s":[{"k":[{"r":15}]}],"t":[{"a":[{"a":15}],"j":[{"i":[{"e":21},15]}]}]}],"g":[{"r":[{"e":[{".":15}]}],"u":[{"e":[{"l":[{".":21}]}]}]}],"h":[{"r":[{"a":[{"b":[{".":19}]}]}]}],"l":[{"t":[{"a":[{"a":15}]}]}],"n":[{"g":[{"o":[{"p":[{"l":19}]}]}],"s":[{"p":75,"t":[{"u":77}]}]}],"r":[{"l":25}],"s":[{"f":6,"s":[{"ê":[{"r":[{".":19}]}]}],"t":[{"k":[{"r":15}],"o":[{"k":15}]}]}],"t":[{"s":[{"w":[{"a":[{".":19}]}]}]}],"v":[{"-":25}]}],"k":[{"a":[{"a":[{"r":54}]}],"o":[{"m":[{"s":[{"t":[{"e":37},42]}]}]}]},72],"l":[{"a":9},72],"m":[{"a":[{"s":[{"p":23,"t":[{"o":[{"r":19},42]}]}],"t":[{"j":[{"i":[{"e":19},42]}]}]}],"e":[{"l":[{"o":[{"o":[{"r":19}]}]}],"r":[{"e":[{"s":15}],"o":47}]}],"i":[{"s":[{"t":[{"o":[{"k":19}]}]}]}]},66],"n":72,"o":[{"d":[{"e":[{"l":17}],"j":[{"a":[{"d":15}]}]},55],"e":[{"d":[{"s":17}],"n":[{"e":[{"s":15}]}],"s":[{"t":10}]},55],"f":[{"l":[{"a":[{"m":15}]}]}],"k":[{"a":[{"l":[{"b":[{"a":19}]}]}]}],"l":[{"e":[{"s":91}],"i":[{"e":[{".":14}]}],"m":[{"a":47}]}],"n":[{"d":[{"c":[{"h":15}],"o":[{"p":15}]}],"t":[{"s":75}]}],"o":[{"n":55,"r":[{"d":[{"a":42}]}]}],"p":[{"l":9},66],"r":[{"g":57,"o":6,"s":[{"j":[{"u":15}],"p":[{"o":15}],"t":47}]}],"s":[{"a":[{"a":11}],"f":[{"l":[{"e":[{"s":19}]}]},30],"i":[{"n":[{"e":[{"n":19}]}]}],"k":[{"e":[{"ë":[{".":19}]},25]}],"t":[{"a":11}]}],"t":[{"e":[{"u":[{"s":[{".":21}]}]}],"h":[{"e":[{"u":15}]}],"o":[{"r":[{"a":28}]}]},55],"u":[{"f":[{"l":23}],"s":[{"l":[{"i":[{"p":19}]}],"t":[{"e":[{".":21},15]}]}],"t":[{"e":[{"k":15}]}]}],"y":[{"a":[{".":48}]}]}],"ô":[{"r":[{"e":[{".":52}]}]}],"p":[{"a":[{"g":[{"n":[{"e":[{".":19}]}],"t":11},20]}],"e":[{"l":[{"y":[{"s":15}]}],"n":[{"t":[{"o":42}]}]}],"h":[{"e":[{"r":25}]}],"o":[{"p":[{"s":11}]}],"s":[{"k":[{"r":[{"a":[{"a":19}]}]}],"l":[{"i":11}],"t":[{"a":[{"a":[{"l":19}]}]}]}]},66],"r":72,"s":[{"a":[{"p":[{"p":11}]}],"k":[{"a":[{"t":3}],"o":[{"n":20}],"r":[{"a":[{"a":[{"l":1}]}]}]}],"l":[{"i":[{"n":14}]}],"m":[{"e":89}],"o":[{"p":6}],"p":[{"e":[{"n":11}]}],"t":[{"a":[{"a":[{"l":39}]}],"e":[{"g":14,"o":14},25]}],"w":9},72],"t":[{"e":[{"r":[{"t":[{"j":7}]}]}]},66],"u":[{"c":[{"k":[{"l":[{"e":[{"n":19}]}]}]}],"e":[{"s":[{"l":[{"i":[{".":21}]}]}]}],"f":[{"s":[{"m":[{"a":[{"a":19}]}]}]}],"i":[{"l":[{"e":[{"s":15}]}],"t":57}],"l":55,"m":[{"a":[{"a":[{"n":[{"t":19}]}]}]}],"n":[{"s":[{"t":23},17],"t":[{"o":[{"u":15}]}]}],"r":[{"g":[{"i":[{"e":[{".":19}]}]},10]}],"s":55}],"v":[{"i":[{"t":[{"r":[{"a":15}]}]}]},66],"w":66,"y":[{"l":[{"a":[{"f":[{"s":[{"t":19}]}]}],"s":[{"l":[{"a":15}]}]}],"n":[{"e":[{"n":[{"t":[{".":19}]}]}],"i":[{"m":[{"p":[{"a":19}]}],"n":[{"g":[{"e":19}]}]}]},55],"s":56}],"-":66},68],"n":[{".":66,"a":[{"a":[{"l":55,"m":93,"n":76,"r":[{"d":[{"i":78}],"s":[{"k":[{"r":42}]}]}]}],"d":[{"m":[{"i":14}],"v":76}],"e":[{"l":[{"y":[{"s":[{"t":21},15]}]}]}],"f":[{"i":20,"l":[{"a":[{"d":15}]}]},56],"g":[{"a":[{"a":[{"n":[{"d":15}],"p":4}],"p":18}],"e":[{"m":[{"m":[{"e":19},4]}]}],"l":[{"a":[{"s":15}]}],"o":20,"r":[{"o":[{"n":23}]}],"s":30,"t":[{"i":[{"g":14}]},57],"u":25}],"i":[{"s":[{"e":[{"t":[{".":19}]}]}]}],"k":[{"l":[{"i":[{"p":15},11]}]}],"l":[{"f":57,"t":57}],"m":55,"p":[{"l":34,"r":[{"o":[{"e":[{"t":19}]}]},6]}],"r":[{"b":76,"e":[{"a":57}]}],"s":[{"k":[{"l":[{"i":[{"p":19}]}]},34],"l":34,"m":[{"a":[{"a":15}]}],"p":[{"e":[{"l":15}],"r":10},6],"t":[{"a":61,"e":[{"n":15}],"o":[{"r":15}],"r":61,"u":[{"u":15},11]}],"w":[{"e":11},10]}],"t":[{"h":[{"a":61}],"j":[{"i":[{"e":15}]}],"o":[{"n":[{"d":[{"e":19}]}]}]}],"v":55,"w":[{"e":[{"e":52}]}],"y":[{"l":[{".":48}]}]},68],"b":[{"a":[{"c":[{"h":[{"s":15}]}]}]},66],"c":[{"h":[{"e":57}]}],"d":[{"a":[{"g":[{"e":[{"s":[{"k":19}]}]}],"k":[{"t":11}],"p":[{"p":11}],"r":[{"b":3,"t":11}],"s":[{"s":3,"t":[{"o":[{"e":19}]}]}]}],"e":[{"e":[{"i":[{"e":[{"r":19}]}],"n":3}],"g":[{".":11}],"i":6,"k":[{"s":[{"a":11}]}],"l":[{"s":[{"k":[{"o":[{"r":99}]}],"t":[{"a":[{"a":99}]}]}]}],"m":[{"m":11}],"r":[{"a":[{"d":15,"f":[{".":21},15],"r":15}],"e":[{"m":15,"n":[{"t":60}],"s":[{"s":60}]}],"i":[{"m":15,"n":[{".":21}]}],"o":[{"s":[{"i":19},2]}]}],"s":[{"i":[{"l":[{"l":19}]}]}],"z":[{"v":[{"o":15}]}]}],"i":[{"d":[{"e":11}],"g":[{"o":23}],"n":[{"s":11}]}],"o":[{"f":6,"m":[{"e":14,"t":11}],"n":[{"d":11,"t":11}],"p":[{"b":3}],"s":[{"t":23}]}],"r":[{"a":[{"k":11,"t":11}],"e":[{"s":[{"d":4}]},12],"i":[{"f":[{"f":11}],"v":11}],"o":[{"e":11,"k":11,"t":11}],"u":[{"i":[{"m":2}]}]}],"s":[{"e":[{"r":[{"t":[{"j":19}]}]}],"g":[{"e":[{"r":[{"u":19}]}]}],"i":[{"n":[{"l":4}]}],"k":[{"e":[{"n":[{"n":19}]}],"o":[{"o":[{"r":19}]}],"r":[{"a":[{"a":19}]}]}],"l":[{"a":[{"a":[{"g":24}]}],"e":[{"g":15}]}],"m":[{"a":[{"a":46}]}],"o":[{"n":[{"s":15}],"o":[{"r":[{"n":19}]}],"r":11}],"p":[{"r":[{"e":4}],"u":11}],"t":[{"a":[{"a":[{"l":19}]}],"e":[{"k":4}],"o":[{"e":[{"t":19}]}],"r":[{"o":[{"e":19}]}]}],"w":[{"e":[{"e":15}]}]}],"t":[{"w":[{"i":[{"s":15}]}]}],"u":[{"e":10,"i":[{"t":3}],"k":[{"r":[{"a":[{"a":19}]}]}]}],"y":[{"s":12}]},66],"e":[{"b":[{"e":[{"s":[{"t":42}]}]}],"c":[{"t":[{"i":[{"c":[{"u":19}]}]}]}],"d":[{"e":[{"r":52}]}],"e":[{"l":[{"a":13},10],"m":20,"n":[{"d":75,"h":75}],"r":[{"o":13,"s":13}],"t":[{"e":[{"w":15}]}],"u":[{"u":[{"r":[{".":19}]}]},90],"w":[{"o":[{"o":[{"r":19}]}]}]},86],"f":[{"f":57}],"g":[{".":57,"l":[{"a":11}]}],"i":[{"e":9,"l":57}],"k":[{"s":[{"p":[{"e":14},57]}]}],"l":[{"l":[{"m":[{"a":15}]}],"o":[{"o":[{"n":[{"d":19},4]}]}],"s":[{"p":[{"o":15}]}]}],"m":[{"a":[{"f":[{"i":15}]}]},55],"n":[{"s":[{"l":10}]}],"p":[{"o":[{"l":[{"i":[{"e":19}]}]}]}],"r":[{".":55,"f":[{"a":[{"f":[{".":21},15]}]}],"o":[{"s":25}],"p":[{"s":[{"i":[{"g":19}]}]}],"s":[{"l":[{"e":15}],"w":[{"e":42},23]}]}],"s":[{"e":[{"v":[{"a":[{"n":19}]}]}],"t":[{"a":[{"s":15}],"e":25}]}],"t":[{"o":[{"m":[{"g":[{"e":19}]}]}],"r":[{"i":25}]}],"u":[{"m":[{".":11,"o":[{"k":[{"o":19}]}]}],"r":[{"a":[{"a":[{"l":19}]}]}],"s":[{"j":[{"i":15}],"k":[{"a":15}],"t":[{"o":[{"o":19}]}]}],"t":[{"o":[{"ë":[{".":21},15]}]}]}],"w":[{"t":25}],"z":55},68],"ê":68,"f":[{"l":9,"y":[{"t":[{"a":[{"p":15}]}]}]},96],"g":[{"a":[{"d":20,"k":12,"p":[{"t":3}],"s":[{"e":3,"s":11}]}],"e":[{"e":[{"n":3}],"i":12,"k":[{"s":11}],"r":[{"a":[{"a":[{"p":60}],"l":36}],"d":[{"r":7}],"e":[{"t":15}]}],"s":[{"p":[{"e":[{"r":21}]}]}],"t":[{"e":[{"n":11,"r":2}]}]}],"i":[{"m":[{"p":11}],"n":[{"k":3,"s":[{"t":2}]}]}],"l":[{"a":[{"s":[{"u":4}]}]},44],"o":[{"ë":[{".":11},20],"n":12,"o":[{"g":3}],"u":20}],"p":[{"s":[{"e":[{"u":15}]}]}],"r":[{"a":[{"a":[{"d":39}],"n":11,"t":11}],"i":12}],"s":[{"a":[{"d":[{"e":[{".":1}]}],"g":[{"i":[{"t":19}]}],"p":[{"p":[{"e":1}]}]}],"e":[{"e":25,"i":[{"s":[{"e":19}]}],"k":25,"r":[{"k":[{"e":19},4],"o":4,"v":4}]}],"f":[{"e":[{"r":15}]}],"i":[{"m":[{"p":[{"a":19}]}],"n":[{"t":23},25]}],"k":[{"a":[{"n":23,"t":[{".":1}]}],"o":[{"e":[{"l":1,"p":19}],"p":[{".":19}],"r":[{"s":1,"t":19}]}],"u":[{"r":[{"w":19}],"u":[{"r":19}]}]}],"l":[{"a":[{"a":31,"b":[{"o":19},4],"d":[{"i":19}]}],"e":[{"p":15}],"o":[{"o":[{"p":88}]}],"y":[{"m":15}]}],"n":[{"i":11},25],"o":[{"e":[{"t":15}],"f":[{"a":15}],"m":[{"m":15}]}],"p":[{"e":[{"l":[{"o":19}]}],"i":[{"l":[{"l":19}]}],"o":[{"e":11}]}],"t":[{"a":[{"b":[{"i":1}],"l":[{".":19}]}],"e":[{"h":4,"i":[{"k":19},4],"l":[{"g":19}],"m":[{"a":19,"m":1,"p":19},4],"n":31,"s":[{"e":19}]}],"i":[{"n":15}],"o":[{"u":[{".":19},4]}],"r":[{"a":[{"p":19}],"u":[{"u":19}]}]}],"u":[{"i":[{"e":15}],"r":[{"e":[{".":19}]}]}],"w":[{"e":[{"l":15}]}]}],"u":[{"i":[{"t":11}]}]},66],"h":66,"i":[{"e":[{"k":[{"a":[{"a":15}],"n":[{"i":[{"k":19}]}]}],"r":[{"a":[{"a":[{"r":21},15]}],"s":[{"w":28}]}],"u":[{"i":[{"n":15}]}]}],"g":[{"a":[{"a":[{"r":[{"d":19}]}]}],"e":[{"e":18}],"i":[{"e":18}]}],"k":[{"s":[{"p":[{"y":[{".":21}]}]}],"w":[{"a":[{"r":[{"m":19}]}]}]}],"n":[{"d":76,"f":57,"g":[{"e":[{"l":[{"e":60}],"t":15}]}],"h":57,"s":76,"t":76,"v":[{"o":14},57]}],"s":[{"a":[{"l":[{"m":[{"a":19}]}],"r":[{"a":15}]}],"e":[{"e":11}],"i":[{"d":23,"n":[{"s":[{"p":19}]}]}],"o":[{"m":[{"s":15}],"n":25}]},22],"t":[{"r":6,"s":[{"a":[{"r":[{"e":19}]}]}]}]},68],"j":[{"e":[{"g":[{"l":[{"a":[{"s":19}]}]}],"k":[{"r":[{"u":[{"i":19}]}]}]}],"i":[{"e":[{"s":[{"t":42}]}]}]}],"k":[{"a":[{"a":[{"r":[{"d":11},54]}],"f":12,"k":[{"s":11},20]}],"e":[{"f":[{"f":11}],"i":[{"e":11},20],"l":[{"a":[{"s":15}],"i":[{"t":15}]}],"r":[{"e":[{"e":15}],"s":[{"w":[{"e":21},62]}]}]}],"l":[{"i":12}],"n":[{"a":6,"e":[{"s":11,"u":11}]},22],"o":[{"f":[{"i":14},12]}],"p":[{"s":[{"i":11}]}],"r":[{"i":[{"g":11}],"o":[{"l":11,"o":3,"s":11}],"y":[{"e":11}]}],"s":[{"n":[{"o":[{"e":15}]}],"o":[{"m":18}],"p":6,"t":10,"w":34}],"u":[{"i":[{"t":11}]}],"w":[{"a":[{"t":11}],"e":[{"n":14}]},22]},72],"l":[{"a":9,"i":[{"g":[{"a":10}]}],"u":[{"s":10}]},72],"n":[{"a":[{"s":[{"p":[{"o":15}]}],"t":[{"j":[{"i":[{"e":19}]}]}]}],"e":[{"p":[{"o":[{"l":15}]}],"s":[{"e":[{"v":15}]}]}],"i":[{"s":10}]},56],"o":[{"e":[{"f":57,"s":[{"t":10},57]}],"g":[{"a":[{"l":18}],"e":[{"e":[{"n":[{"s":19}]}]}]}],"k":[{"a":[{"s":23}],"o":[{".":48}],"r":[{"i":[{"w":[{"w":19}]}]}]}],"m":[{"a":93,"m":20,"o":[{"y":[{"i":[{".":21}]}]}]}],"n":[{"a":38,"d":76,"t":76}],"o":[{"d":[{"a":[{"n":15}]}],"g":9,"r":[{"d":[{"i":42}]}]}],"p":[{"b":57,"l":[{"a":[{"a":15},11],"o":57}],"o":[{"m":[{"h":[{"u":19}]}]}],"r":[{"o":[{"d":15}]}]}],"r":[{"g":[{"a":14},57],"k":[{"l":[{"a":15}]}],"m":55,"t":[{"h":[{"a":[{"m":19}]}]}]}],"s":[{"k":[{"a":[{"a":15}]}],"p":6}],"t":[{"a":55,"e":55,"r":[{"e":11},10]}]},68],"p":66,"r":[{"o":[{"e":[{"t":[{"j":[{"i":21},62]}]}]}]},56],"s":[{"a":[{"a":[{"r":3}],"g":6,"n":[{"g":[{"s":11}]},25]}],"e":[{".":25,"l":25,"p":[{"r":10}],"r":[{"t":[{"o":42,"r":42}]}]}],"f":[{"e":[{"e":[{"r":4}]}]},6],"g":[{"e":[{"l":11}]}],"i":[{"a":25,"e":25,"g":[{"a":[{"r":15}]},25],"n":[{"g":[{"e":[{"s":1}]}]}],"t":[{"r":[{"i":15}]}],"u":25},9],"j":[{"a":6}],"k":[{"a":[{"f":[{"e":2}],"p":14,"r":20}],"e":[{"l":3}],"i":[{"n":11}],"o":[{"u":[{"s":2}]}],"r":[{"a":3}]}],"l":[{"a":[{"m":11,"n":[{"d":2}]},9],"e":6,"i":12,"o":[{"t":[{"g":4,"t":4}]},12],"u":9},22],"m":[{"e":[{"e":25}]}],"n":[{"a":[{"r":14}],"e":[{"l":14},20],"o":[{"o":11}]}],"o":[{"e":[{"k":14}],"ë":[{".":11},20],"n":[{"d":11,"t":91,"w":11}],"p":6}],"p":[{"a":[{"r":11,"s":11}],"e":[{"r":3}],"o":[{"r":[{"t":[{"r":1}]}],"t":20}],"r":[{"a":[{"t":2}],"e":[{"k":4}]}]}],"t":[{"a":[{"a":[{"k":2}],"f":20}],"e":[{"h":11,"l":[{".":4,"s":4}],"r":[{".":63,"s":4}]}],"r":[{"a":[{"k":11}]}],"u":89,"w":[{"y":[{"f":15}]},12],"y":[{"d":11}]}],"w":[{"e":[{"e":[{"r":4}]}]},6],"y":[{"w":[{"e":11},20]}]},72],"t":[{"a":[{"g":[{"s":11}],"r":[{"k":11,"t":3}],"t":[{"j":23}]}],"e":[{"i":[{"e":3}],"r":[{"a":[{"m":15}]}],"s":[{"m":23,"t":[{"i":15}]}]}],"h":[{"o":[{"n":64}]}],"i":[{"k":[{"w":[{"a":[{"a":19}]}]}],"n":[{"v":11}]}],"j":[{"a":6,"o":20}],"o":[{"f":[{"a":[{"k":[{"t":19}]}]}],"k":[{"s":[{"i":[{"e":1}]}]}],"l":[{"i":3}],"n":[{"a":[{"d":15}],"d":11}],"p":[{"s":11},20],"r":[{"g":3}]}],"r":[{"a":[{"d":[{"i":[{"n":1}]}],"f":11}],"e":[{"f":14,"k":[{"o":[{"r":21}]}]}],"i":[{"m":11}],"o":[{"e":11,"m":11,"n":11,"o":[{"m":11,"s":14}],"u":14,"w":11}],"u":[{"i":11}],"y":[{"k":11}]}],"s":[{"a":6,"i":[{"n":[{"g":[{"e":19}]}]}],"k":[{"a":[{"n":[{"d":19},4]}]}],"l":[{"e":18}],"m":34,"o":[{"n":[{"d":[{"e":19}]}]}],"p":[{"a":[{"a":23}]}],"t":6}],"u":[{"i":[{"t":11}],"m":71}],"y":[{"s":12}]},66],"u":[{"a":55,"e":[{".":25,"s":[{".":25}]}],"i":66,"k":[{"w":[{"a":11},10]}],"l":[{"s":[{"o":[{"m":[{"s":19}]}]}]}],"n":[{"i":57}],"s":[{"k":[{"r":[{"a":4},11]}],"t":10}],"t":[{"r":6}],"u":[{"r":76}]},68],"v":[{"a":[{"l":[{"i":[{"s":15}]}]}]},66],"w":66,"y":[{"s":[{"o":25}]}],"z":[{"a":[{"c":[{"s":[{".":15}]}]}]}]}],"o":[{"a":56,"b":[{"a":[{"g":[{"t":11},20]}],"o":9,"v":[{"o":[{"r":11}]}],"y":[{"n":[{"r":[{"o":15}]}]}]}],"c":[{"k":[{"w":[{"y":[{"n":[{".":19}]}]}]}]}],"d":[{"a":[{"g":[{"r":23}]}],"e":[{"e":[{"n":11}],"l":[{"e":[{"i":[{"e":19}]}]}],"s":[{"p":[{"a":[{"a":19}]}]}]}],"l":[{"u":[{"i":11}]}],"o":[{"p":6}],"r":[{"e":6}],"s":[{"a":[{"k":[{"k":[{"e":19}]}]}],"k":[{"i":[{"s":[{"h":19}]}]}],"l":[{"a":[{"k":[{"e":19},4]}],"o":[{"p":[{"i":19}]}]}],"o":[{"o":23,"p":[{".":15}],"r":[{"g":15}]}],"p":[{"a":[{"a":[{"r":19}]}]}],"r":[{"o":[{"g":[{"g":19}]}]}],"u":[{"i":[{"t":15}]}],"w":[{"a":[{"a":15,"r":15}],"y":[{"g":15}]}]}],"u":[{"k":10}]}],"e":[{"d":[{"a":[{"a":18,"g":18}],"e":[{"i":[{"e":[{".":19}]},25],"t":[{"t":[{"e":19}]}]}],"i":[{"n":[{"d":4}]}],"j":[{"a":[{".":15}]}],"o":[{"n":[{"d":[{"e":19}]}],"o":18,"p":18,"r":18}],"r":[{"o":18}],"s":[{"t":[{"r":[{"y":19}]}]}],"u":25,"w":[{"y":[{"n":[{".":19}]}]},30]}],"f":[{"a":[{"a":18,"n":18}],"e":[{"k":25},55],"l":[{"o":18}],"o":38,"r":[{"i":[{"t":[{".":19}]}]}]}],"g":[{"a":[{"a":[{"n":[{"d":19}]}]}],"l":[{"a":[{"e":[{"r":19}],"m":[{".":19}]}]}],"o":[{"g":25}],"s":30,"y":[{"s":[{"k":[{"a":19}]}]}]}],"i":[{"e":[{"n":[{"a":62}]}],"s":[{"k":[{"e":[{"r":19}]}]},17]},50],"k":[{"a":[{"a":25}],"e":[{"i":[{"e":[{"r":19}]}],"r":[{"f":[{".":19},4]}],"v":[{"a":[{"l":19}]}]}],"l":[{"a":[{"p":15}]},38],"o":[{"l":[{"i":[{"e":19}]}],"o":[{"r":[{"t":19}]}]}],"r":[{"a":[{"k":23}],"e":23,"o":23},25],"s":[{"t":[{"e":[{"n":19}]}]}],"w":38}],"l":[{"e":[{"i":[{"e":11},25],"m":[{"m":[{"e":19},4]}],"t":[{"e":[{"r":19}]}]}],"i":[{"n":[{"g":[{"s":111},29],"s":[{"t":19},4]}]}],"o":[{"n":[{"b":[{"e":19}]}],"p":[{"r":[{"i":19}]}]}],"s":[{"e":[{"r":15}],"k":[{"r":15}],"l":[{"i":[{"k":19}]}]}]}],"n":[{"e":[{"i":[{"k":[{"e":19}]},25],"r":[{"t":[{"j":19},4]}],"s":[{"s":[{"e":19}]}]}],"k":[{"l":23,"n":[{"o":[{"o":19}]}],"w":23},17],"o":38,"s":[{"k":[{"o":13}],"m":23,"o":17}],"y":[{"s":[{"b":[{"e":19}]}]}]}],"p":[{"a":[{"a":[{"n":[{"g":19}]}]}],"i":[{"n":[{"s":[{"t":19}],"v":4}]}],"l":[{"a":11,"i":23,"o":11},25],"s":[{"e":[{"e":36}],"i":[{"n":36}],"l":10}],"u":25}],"r":[{"a":[{"s":[{"e":28}]}],"k":30,"o":[{"n":18,"u":23}],"s":[{"k":[{"e":15}]}],"t":[{"w":[{"a":[{"k":19}]}]}]}],"s":[{"e":[{"r":11}],"i":[{"e":11}],"j":[{"e":11}],"k":[{"r":[{"a":[{"a":19}]}]}],"l":[{"i":[{"m":[{"t":19}]}],"o":18}],"m":[{"e":[{"d":[{"i":19}]}]}],"p":[{"i":[{"l":[{".":19}]}],"o":18}],"t":[{"e":[{"r":23}],"r":[{"o":[{"e":19}]}]}],"w":[{"e":25}]}],"t":[{"a":[{"a":[{"n":[{"p":19}]}],"m":18}],"h":[{"e":[{".":15}]}],"j":38,"o":[{"l":[{"i":31}],"o":18}],"r":[{"i":18,"u":18}],"s":[{"k":[{"r":[{"a":21}]}],"n":[{"a":15}],"p":[{"e":15}],"t":[{"e":36,"i":15}]}],"w":[{"y":23}]}]}],"ë":[{"r":[{"u":[{"g":11}]}]}],"f":[{"a":[{"t":6}],"e":[{"e":[{"n":11}]}],"f":[{"i":[{"s":52}]}],"i":[{"n":12}],"l":6,"o":[{"k":[{"s":11},20],"m":12}],"p":[{"s":[{"a":11}]}],"r":59,"s":[{"a":[{"n":[{"t":4}]}],"i":[{"d":[{"e":[{"n":19}]}],"n":[{"s":[{"i":19},4]}]}],"l":[{"e":18}],"o":[{"o":18}],"p":[{"a":[{"a":[{"r":19}]}]}]}],"u":[{"i":20}]}],"g":[{"d":[{".":25}],"e":[{"s":[{"t":47}]}],"g":[{"e":[{"l":[{"o":[{"o":37},42]}]}]}],"i":[{"f":[{"a":[{"a":[{"l":19}]}]}],"g":55}],"l":44,"n":[{"a":[{"t":25}]}],"o":[{"s":[{"t":[{"e":[{"o":19}]}]}]}],"r":[{"y":[{"e":11},20]}],"s":[{".":25,"g":25,"i":[{"n":[{"f":15}]}],"k":[{"a":11}],"l":[{"a":[{"s":[{"t":19}]}]}],"o":[{"t":[{".":15}]}],"p":[{"a":[{"d":[{".":19}]}],"r":[{"i":[{"s":19}]}]},10],"u":[{"i":[{"p":15}]}],"w":[{"a":[{"n":15}]}]}]},56],"i":[{"g":[{"a":[{"f":[{"f":15}]}]}],"k":6,"l":[{"e":17}],"s":[{"a":[{"g":11},10],"k":[{"i":11,"u":[{"u":15}],"y":11}],"l":[{"a":11}],"p":10,"t":[{"e":[{"ï":[{"s":19}]}]},10],"w":[{"e":[{"r":15}]}]}],"t":[{"j":6}]},44],"j":[{"e":[{"k":[{"l":13},10]}]}],"k":[{"a":[{"a":[{"s":3}],"g":20,"m":25,"n":25}],"e":[{"t":[{"j":13},10]}],"i":[{"e":17,"n":[{"s":3}]}],"l":[{"a":[{"t":11}],"e":[{"e":[{"d":4}]}]}],"n":6,"o":[{"s":[{"e":[{"i":[{"l":19}]}],"o":[{"l":15}]}],"u":20}],"r":[{"o":12},56],"s":[{".":25,"i":[{"g":11,"n":[{"s":4}]}],"j":25,"k":[{"r":[{"a":[{"a":19}]}]}],"l":[{"i":[{"p":15}]}],"p":6,"t":6,"w":[{"i":[{"n":15}]}]}],"w":[{"i":[{"n":25}]},59]}],"l":[{"a":[{"g":[{"t":11}]},56],"f":[{"e":[{"n":[{"t":[{".":19}]}]}],"è":[{"g":11}],"l":[{"a":[{"p":15}]}],"s":[{"k":[{"u":15}],"m":[{"e":15}]}]}],"g":[{"l":25,"o":[{"n":[{"d":[{"e":19}]}],"r":18}],"s":[{"m":[{"e":[{"e":19}]}]}]}],"i":[{"e":[{"b":52,"s":[{"m":[{"a":21},62]}]}],"f":[{"a":52}],"g":[{"n":[{"y":[{".":19}]}]}]}],"k":[{"s":[{"e":[{"m":15,"p":15}],"o":[{"w":15}],"t":[{"i":15}]}]}],"o":[{"k":[{"w":23}],"o":[{"r":3}],"s":[{"p":23}]},56],"p":[{"h":[{"t":[{"a":15}]}]}],"s":[{"a":[{"r":[{"e":[{".":19}]},25]}]}],"t":[{"z":[{"h":[{"a":15}]}]}],"u":56,"y":[{"f":[{"o":13}]}]}],"m":[{"a":[{"g":[{"t":11}],"p":[{"l":[{"e":[{"g":19}]}]}],"r":[{"m":3}],"t":[{"j":[{"i":[{"e":19},42]}]}]},9],"e":[{"s":10,"u":[{"s":23}]},9],"g":[{"h":[{"a":[{"d":15}]}]}],"i":9,"k":[{"a":[{"s":67}]}],"l":[{"o":[{"o":[{"p":52}]}]}],"o":[{"s":[{"f":[{"e":[{"e":19},42]}]}]},9],"p":[{"l":[{"i":[{"g":[{"s":19}]}]}],"o":[{"o":[{"r":[{".":19}]}],"p":[{".":4}]}]}],"s":[{"a":[{"a":[{"l":15}]}],"l":[{"a":[{"g":15},11]}],"p":[{"e":[{"r":[{"k":19}]}]}],"t":[{"a":[{"n":52}],"i":[{"n":15}]}]}]},22],"n":[{"a":[{"g":[{"e":64},12],"n":89,"s":[{"k":[{"l":15}],"t":[{"e":[{"n":19}]}]}]}],"d":[{"a":[{"a":[{"p":[{".":19}]}],"g":[{"t":23}],"m":[{"p":[{"t":19}]}]}],"d":[{"w":[{"a":[{"a":19}]}]}],"e":[{"s":57,"u":[{"s":[{".":21}]}]}],"i":[{"d":25}],"o":[{"m":25}],"r":[{"o":[{"l":[{".":19}]}]}],"s":[{"l":[{"e":23}],"o":23,"p":[{"l":15},23]}],"t":[{"w":[{"i":[{"s":19}]}]}]}],"e":[{"f":[{"f":11}],"i":12}],"g":[{"a":[{"a":[{"n":23}]}],"o":[{"s":18}]}],"i":[{"k":89,"l":20,"n":[{"g":[{"r":42}]}]}],"k":[{"e":[{"r":[{"t":[{"j":112}]}]}],"j":25,"n":[{"o":11}],"o":[{"m":[{"g":[{"e":19}]}]}],"r":[{"u":[{"g":[{"h":19}]}]}]}],"n":[{"e":[{"s":[{"t":13}]}]}],"o":[{"k":[{"s":3}],"s":[{"f":[{"e":[{"e":19}]}]}]}],"s":[{".":25,"e":[{"p":91}],"i":[{"d":[{"e":[{"n":19}]}]}],"k":[{"e":[{"p":[{"e":19}]}],"o":[{"r":[{"i":19}]}]}],"p":[{"a":[{"m":[{"p":19}]}]}],"s":[{"e":[{"l":[{"f":19}]}]}],"t":[{"e":11,"o":[{"l":[{".":19}]}]},10]}],"t":[{"a":[{"a":[{"r":31}]}],"d":55,"e":[{"l":[{"s":[{"i":19}]}]}],"g":[{"i":52}],"r":[{"a":[{"a":23}],"i":25,"o":[{"l":[{".":19}]}],"u":18}],"s":[{"l":[{"i":[{"k":19}]}]}],"w":55}],"y":[{"o":[{"k":[{"o":[{"l":19}]}]}]},56]}],"o":[{"a":[{"g":[{"t":11}]}],"d":[{"a":30,"e":[{"b":11,"e":23,"k":11,"r":23,"t":23}],"o":[{"k":23,"n":[{"g":[{"e":19}]}]}],"r":30,"s":[{"a":[{"n":15}],"m":[{"o":[{"o":19}]}],"o":[{"r":[{"g":19}]}],"p":[{"u":[{"i":19}]}],"u":[{"i":[{"t":19}]}],"w":[{"a":[{"a":19,"r":19}]}]}],"u":[{"i":23}]}],"f":[{"s":[{"e":[{"r":15}],"i":[{"d":15}]}]},50],"g":[{"e":[{"n":[{"h":15}]}],"l":[{"e":[{"s":15}]}],"p":[{"u":52}],"s":[{"i":[{"n":[{"f":19}]}],"u":[{"i":[{"p":19}]}]}],"-":[{"l":[{"o":15}]}]},30],"i":[{"s":[{"p":[{"a":15}]}]}],"k":[{"a":25,"s":[{"s":[{"t":15}]}]},30],"l":[{"a":[{"n":[{"d":15}]}],"s":[{"n":[{"a":[{"a":19}]}]}]},50],"m":[{"a":25,"e":25,"o":25},50],"n":[{"a":[{"g":[{".":15}]}],"g":17,"s":[{"k":[{"o":42}],"l":23}]},50],"p":[{"a":25,"e":25,"k":[{"l":[{"i":[{"k":19}]}]}],"n":20,"o":25,"s":[{"w":[{"e":15}]}]},50],"r":[{"d":[{"a":[{"a":[{"d":19},15],"p":15,"r":[{"m":19}]}],"c":[{"a":15}],"o":[{"m":36,"o":[{"p":19}]}]}],"f":[{"r":[{"e":[{"k":19}]}]}],"i":30,"k":[{"l":[{"i":[{"k":19}]}]}],"l":[{"o":[{"g":52}]}],"o":[{"t":[{".":15}]}],"t":[{".":57,"a":[{"a":15}],"i":[{"n":36}],"j":[{"a":[{".":21}]}],"y":[{"l":[{".":21},15]}]}],"v":[{"e":[{"ë":[{".":37}]}]}]},50],"s":[{"a":30,"k":30,"o":25,"p":[{"e":[{"r":[{"s":19}]}]}]}],"t":[{"a":[{"a":[{"i":15}]},25],"e":[{"n":[{".":15}]}],"i":25,"o":25,"r":38,"u":25},50],"v":6},49],"ö":[{"s":[{"p":[{"o":11}]}]}],"p":[{"a":[{"f":20,"g":[{"t":11}],"l":[{"e":[{"s":15}]}],"m":12},9],"d":[{"r":[{"a":[{"g":52}]}]}],"e":[{"e":[{"n":11}],"g":[{".":48}],"n":[{"i":52}],"r":[{"a":[{"a":[{"r":21}],"g":[{"e":19}]}]},25]},9],"h":[{"o":[{"r":[{"u":4}]}]}],"i":[{"e":[{"l":[{"e":42}]}]},9],"k":[{"l":[{"i":[{"k":15}]}]}],"l":[{"a":[{"n":25}],"e":[{"i":[{"n":4}]}],"o":55},6],"n":[{"o":57},68],"o":[{"f":[{"a":[{"g":[{"i":19}]}],"f":11}],"n":[{"t":11}],"s":[{"f":[{"e":[{"e":19}]}]}]},9],"p":[{"e":[{"r":[{"v":52}]}]}],"r":[{"o":[{"t":64}],"u":20},6],"s":[{"k":[{"r":[{"e":4}]}],"m":[{"a":[{"a":15}]}],"n":[{"e":[{"u":[{"s":19}]}]}],"o":[{"n":11,"r":23}],"t":6,"w":[{"e":[{"l":[{"s":19}]}]},6]}],"u":9},22],"r":[{"a":[{"f":[{"d":11}],"g":[{"t":11}],"l":[{"e":[{"e":15}],"o":[{"o":15}]}],"t":[{"j":[{"i":[{"e":19},42]}]}]},56],"d":[{"a":[{"k":[{"t":[{"i":19}]}],"r":[{"m":15}]}],"e":[{"k":[{"s":[{"a":19}]}]}],"i":[{"e":[{"r":[{"l":19}]}],"n":[{"s":[{"t":19}]}]}],"o":[{"e":[{"s":23}],"o":[{"p":15},18],"r":[{"d":[{"e":19},4]}]}],"r":[{"i":18,"o":[{"m":[{"a":19}]}]}]}],"e":[{"s":[{"t":[{"e":[{"r":19}]}]}]}],"ê":9,"f":[{"o":[{"o":[{"n":[{"d":19}]}]}]}],"g":[{".":57,"h":6,"l":[{"o":25}],"p":57,"r":[{"i":[{"n":[{"g":19}]}]}]}],"i":[{"ë":55,"n":[{"g":[{"s":[{"k":[{"u":87}]}]}]}]}],"k":[{"a":[{"a":11}],"e":[{"s":28}],"l":[{"a":[{"g":[{".":19}]}],"i":[{"k":15}]}],"n":[{"e":[{"y":[{".":19}]}]}],"o":[{"m":[{"s":[{"t":74},62]}]}]}],"m":[{"a":[{"a":[{"n":4}]}],"j":25}],"n":[{"j":25}],"o":[{"n":[{"d":11,"g":11}],"t":[{".":14,"h":[{"y":[{".":19}]}]}]}],"p":[{"h":34,"s":[{"k":[{"i":15}],"n":10}]}],"s":[{"a":[{"a":[{"r":[{".":19}]}],"g":23}],"j":[{"u":[{"r":[{"k":19}]}]}],"m":[{"o":23}],"p":[{"o":[{"t":[{".":19}]}]}],"t":[{"e":[{"r":[{"i":19,"y":19}]}],"i":25,"r":[{"e":[{"k":19}]}]}]}],"t":[{"a":[{"a":[{"n":[{".":19}],"r":23}],"k":[{"t":23}],"r":25}],"h":[{"a":[{"m":15}]}],"o":[{"d":52,"n":[{"d":[{"e":19}]}]}],"r":[{"o":[{"l":[{".":19}]}],"u":[{"k":[{".":19}]}]}],"s":[{"w":23}]}],"u":[{"s":89},44],"y":[{".":9,"s":10}]}],"s":[{"a":[{"g":6,"p":[{"h":[{"a":[{"t":19}]}],"i":11}],"s":17,"t":[{"j":[{"i":[{"e":19}]}]}]}],"c":[{"e":[{"n":11}]}],"e":[{"p":[{"h":[{"i":[{"n":19}],"u":[{"s":19}]}]}]},9],"i":[{"n":[{"e":[{"n":15}]}]},9],"j":[{"o":20}],"k":[{"a":12,"e":[{"e":11}],"i":[{"s":11}],"o":[{"e":11,"p":[{".":11}],"r":11,"u":11,"w":11}],"r":[{"i":14},6],"u":20},44],"l":59,"m":6,"n":59,"o":[{"l":[{"i":11}],"o":[{"r":11}],"r":[{"d":11},20]}],"p":[{"e":25},6],"s":[{"t":[{"e":11}]}],"t":[{".":25,"a":[{"f":11,"k":11,"l":11,"r":11},25],"d":25,"h":25,"i":[{"m":[{"p":[{"e":19}]}]}],"m":25,"r":[{"a":[{"t":14}],"e":[{"v":[{"o":19},4]}],"o":[{"o":15}]}],"w":25,"-":25},6],"w":6,"-":[{"l":[{"o":[{"n":[{"d":19}]}]}]}]}],"t":[{"a":[{"k":[{"k":11}],"s":[{"t":23},17],"t":[{"j":[{"i":[{"e":19}]}]}]},9],"e":[{"e":[{"k":28}],"s":[{"a":47,"n":[{"o":15}],"p":[{"r":15}],"t":47}]},9],"h":[{"e":20,"n":[{"a":[{"g":[{"e":19}]}]}]}],"i":9,"j":6,"o":[{"p":[{"m":11}],"r":[{"a":[{"n":15}],"e":[{"n":15}],"o":13}],"s":[{"k":23},17]},9],"r":[{"e":6,"o":9,"y":[{"k":11}]}],"s":[{"e":[{"i":[{"l":[{"a":19}]}]}],"k":[{"a":[{"r":[{"r":19}]}],"o":18}],"l":[{"a":23},25],"p":[{"o":18}],"r":[{"û":[{"e":[{".":19}]}]}],"t":[{"e":[{"e":[{".":19}],"k":4}],"o":[{"e":[{"t":19}]}],"u":25}]}],"t":[{"e":[{"l":[{"o":7}]}]}],"u":[{"i":20,"s":[{"e":[{"t":15}]}]},9]},22],"u":[{"a":[{"c":[{"h":[{"e":15}]}]}],"d":[{"a":[{"g":[{"t":[{"i":19}]}],"k":[{"t":[{"i":19},4]}]}],"i":[{"e":[{"f":15}],"n":[{"i":15,"k":15}]}],"o":[{"o":[{"r":[{"g":19}]}]}],"s":[{"t":[{"y":[{"d":19}]}]}],"u":[{"i":[{"t":[{"g":19}]}]},25]}],"e":[{"r":[{"i":[{"o":15}]}]}],"g":[{"h":25,"l":25,"r":10},6],"i":[{"l":[{"l":11}],"s":[{"a":[{".":42}]}]},44],"k":44,"l":[{"o":[{"n":[{"t":[{"l":19}]}]}]}],"m":6,"n":[{"y":[{"w":11}]}],"r":[{"e":[{"i":11}]}],"s":[{"k":[{"a":[{"k":15}],"e":[{"n":15}],"i":11}],"l":[{"i":[{"p":15}]}],"o":[{"u":[{"w":15}]}],"p":[{"a":[{"n":[{".":19}]}]},34],"t":[{"e":[{"r":[{"t":19}]}],"i":[{"e":[{"k":1,"s":19}]}]},34]}],"t":[{"a":[{"a":[{"r":[{".":19}]}],"k":[{"s":[{"y":19}]}],"s":18}],"e":[{"k":[{"s":[{"t":19}]}],"m":[{"m":[{"e":19}]}]}],"o":[{"m":[{"a":52,"h":[{"e":19}]}],"o":18}],"r":[{"a":[{"p":15}],"e":[{"i":15}]},30]}],"w":[{"b":25,"r":[{"e":[{"n":[{"s":19}]}]}],"v":25}],"-":[{"o":25}]}],"v":[{"e":[{"r":[{"e":23,"y":[{".":42}]}]}],"i":[{"e":[{"v":[{".":42}]}]}],"k":[{"e":[{"t":11}]}]}],"w":[{"e":[{"n":[{"a":[{"l":[{".":21},15]}]}],"r":[{"a":[{"l":[{".":21},15]}],"k":[{"o":[{"n":21}]}]}]}]}],"y":[{"a":[{".":25}],"e":[{"u":25}]}]}],"ô":[{"i":[{"e":6},22],"r":[{"e":[{"s":[{"t":23}]}]}]},56],"ö":[{"j":[{"d":[{"o":[{"n":[{"d":[{"e":19}]}]}]}]}],"l":56},68],"p":[{".":66,"a":[{"a":[{"i":[{"e":[{".":52}]}],"n":[{"v":57}],"r":[{"d":[{"u":[{"i":21}]}]}]}],"d":[{".":55,"a":25,"i":[{"e":[{".":15}]}],"r":38,"-":[{"e":[{"g":15}]}]}],"f":56,"g":[{"n":[{"e":[{".":15}]}]}],"k":[{"e":[{"s":23},25],"i":90,"k":[{"e":[{"t":79}]}],"o":[{"s":23},25],"t":[{"i":75}]},55],"l":[{"e":[{"s":[{"s":[{"e":19}]}]},55],"f":[{"r":23}],"m":[{"o":[{"l":15}]}]}],"n":[{"o":[{"p":25}],"s":[{"p":23}],"t":[{"j":47}]}],"p":[{"r":[{"i":11,"y":[{"p":[{".":19}]}]}],"s":[{"a":[{"f":[{".":19}]}],"m":[{"e":[{"e":19}]}]},17]},55],"r":[{"a":[{"m":[{"n":[{"e":19},4]}]},113],"k":[{"a":[{"r":15}],"o":10,"r":13},55],"m":57,"s":[{"k":10,"t":[{"e":[{".":21},15]}]}],"t":[{"y":52}]}],"s":[{"j":[{"a":11}],"o":25,"p":[{"i":14}],"s":55,"t":[{"e":52,"i":[{"l":[{".":19}]}]}]}],"t":[{"a":[{"a":25,"r":[{"e":[{".":19}]}]}],"e":[{"l":57}],"j":[{"i":11},10],"r":55,"s":[{"j":23},17]}],"v":[{"l":[{"o":[{"v":[{".":19}]}]}]}]}],"b":[{"e":[{"k":[{"o":[{"o":15}]}]}],"r":[{"e":[{"n":[{"g":29}]}]}]},66],"d":[{"w":[{"a":25,"i":25},9]},66],"e":[{".":55,"a":[{"k":25,"r":25}],"d":[{"e":[{"r":17}],"o":[{"f":11}]},55],"e":[{"l":[{"a":13,"u":13}],"n":57,"t":90},86],"i":[{"e":[{"n":14},57],"s":76},55],"k":[{"n":[{"e":[{"k":[{".":19}]}]}],"r":38}],"l":[{"a":[{"k":[{"t":[{"r":19}]}]}],"o":[{"e":18,"o":[{"n":[{"d":19}]}]}],"s":[{"k":[{"r":[{"a":21}]}]}],"t":[{"a":[{"k":15}]}],"y":[{"s":[{"t":[{"e":19}]}]}]}],"m":[{"m":57}],"n":[{"a":[{"r":[{"s":4}]}],"n":55,"o":[{"p":[{"s":[{"l":19}]}]}],"s":[{"l":[{"u":15}],"m":[{"e":[{"d":19}]}],"o":[{"p":15}]}]}],"p":[{"i":57}],"r":[{"a":[{"a":[{"p":[{".":19},4]}],"d":[{"m":[{"i":19}]}],"r":[{"y":15}],"s":[{"i":[{"d":19}],"t":80}]},55],"d":[{".":52,"a":[{"g":15}],"r":[{"y":15}],"w":[{"y":15}]}],"e":[{"n":[{"k":[{"e":19}]}],"s":[{"t":23}]}],"i":55,"o":[{"k":25}],"s":[{"a":[{"g":13}],"e":[{"t":15}],"j":[{"e":15}],"m":[{"e":[{"d":21}]}],"o":[{"n":[{"d":60}]},52],"t":[{"e":[{"l":[{".":53}]}]}]},55],"t":[{"j":52,"o":[{"p":15}],"s":[{"j":[{"a":19}]}]}],"u":[{"r":[{"a":[{"n":19}]}]}]}],"s":[{".":55,"i":57,"l":25,"t":[{"e":18}]}],"u":[{"r":[{"e":[{"l":15}]}]}]}],"f":[{"l":[{"i":25},9]},72],"g":[{"e":[{"s":[{"p":23},17]}],"l":[{"y":25}]},72],"h":[{"e":[{"a":[{"r":[{"s":15}]}]}],"i":[{"s":[{"t":0}],"t":9},22]},66],"i":[{"e":[{"k":[{"n":13}],"r":[{"a":[{"f":15}],"o":[{"m":15}],"u":10}],"s":[{"a":[{"m":[{"p":19}]}],"k":[{"a":15}]}]}],"k":[{"e":[{"r":[{"t":[{"s":19}]}]}],"s":51}],"n":[{"g":[{"e":[{"s":78}],"l":[{"a":[{"s":19},42]}]}],"k":[{"l":23}],"s":[{"t":57}]}],"p":[{"e":[{"t":28},17]}],"s":[{"k":34}],"t":[{"j":30,"s":[{"k":47,"t":[{"e":[{"k":21},13]},10],"u":[{"u":15}]}],"z":[{"k":[{"o":15}]}]}]}],"j":66,"k":[{"o":[{"m":[{"s":91}]}]},72],"l":[{"a":[{"k":[{"a":[{"l":15}],"o":[{"k":15}]}],"n":[{".":52,"t":83}],"p":76,"s":93,"t":[{"r":47},93]}],"e":[{"e":[{"t":28},17],"i":[{"e":14}],"k":[{"s":52},10],"p":76,"u":[{"r":[{"a":[{".":21}]}]}]}],"ê":9,"i":[{"g":10,"t":[{"e":47,"s":57}]}],"o":[{"o":[{"s":14}],"s":[{"e":14}]}],"u":[{"s":[{"k":[{"a":15}]}]}],"y":[{"n":57}]},22],"m":66,"n":[{"e":[{"u":[{"m":20}]}]},72],"o":[{"e":[{"d":[{"o":[{"e":15}]}],"i":55,"s":[{"t":47}],"t":[{"o":[{"l":15}]}]}],"f":[{"a":25}],"g":[{"r":[{"e":[{"s":[{"t":19}]}]}],"s":[{"k":23}]}],"k":[{"a":[{"a":23}],"o":[{"l":[{"i":[{"e":19}]}]}]}],"l":55,"m":[{"h":57},55],"n":[{"e":55,"o":[{"p":[{"b":[{"r":19}]}]}],"s":[{"k":47,"t":[{"e":[{".":21}]}]}],"t":[{".":52,"s":14},57]}],"o":[{"r":[{".":57,"t":[{".":52}]}],"t":[{"e":[{"l":15}]},55]}],"p":[{"a":[{"g":25}],"d":57,"l":[{"e":[{"k":15}]}],"s":57}],"r":[{"d":[{"o":14}],"o":6,"t":[{"a":[{"k":15}],"s":[{"o":77}],"u":[{"i":36}]}]}],"s":[{"k":25,"t":[{"i":[{"m":15}],"k":[{"o":15}],"n":[{"a":15}]}]},55],"t":[{"a":[{"s":18}],"e":55}],"u":[{"s":[{"t":[{"e":15}]}]}]}],"p":[{"e":[{"l":[{"a":[{"s":[{".":21},15]}]}],"r":[{"a":[{"d":15}],"o":10}]}],"i":[{"e":[{"s":[{"l":42}]}]}],"o":[{"o":[{"r":[{"t":[{"j":74},62]}]}]}]},66],"r":[{"a":[{"a":[{"k":57,"m":14,"t":52},20],"e":[{"s":[{"i":15}]}],"k":[{"t":52}]}],"e":[{"n":55,"s":[{"t":47},55],"u":57}],"i":[{"a":93,"b":9,"e":[{"ë":[{"l":[{".":21}]}],"s":114,"t":[{"j":28}]},97],"n":[{"s":52}],"o":55}],"o":[{"b":55,"d":55,"e":25,"f":55,"g":93,"j":55,"k":[{".":75}],"p":[{"o":[{"p":15}],"r":23},93],"r":25,"s":[{"a":23,"o":[{"p":[{"a":19}]}]},55]}],"u":[{"t":10}],"y":[{"s":[{"t":10}]},55]},22],"s":[{"a":[{"d":20,"k":[{"s":3,"t":20}],"l":[{"m":[{".":52}]}],"s":[{"p":11},20],"t":20}],"i":[{"d":20,"g":[{"i":83,"o":52}],"n":[{"g":3,"t":3}]}],"j":6,"k":[{"a":[{"a":14}],"e":[{"t":3}],"o":[{"f":11,"n":20}]}],"l":[{"o":[{"j":11}]}],"m":[{"y":25},6],"o":[{"n":[{".":14},20],"o":12,"r":20}],"p":[{"o":[{"r":[{"t":[{"r":1}]}]}]}],"t":[{"e":[{"r":[{"a":2}]}],"i":25,"o":[{"e":[{"t":2}],"n":20}]}],"w":[{"a":[{"r":14}],"e":[{"r":11}]}]},72],"t":[{"o":[{"s":17}]},66],"u":[{"b":55,"e":[{"b":10}],"i":[{"t":57}],"n":[{"t":[{"j":47}]},55],"s":[{"t":[{"i":[{"p":[{"o":19}]}]}]}],"t":[{"a":[{"d":[{"d":[{"e":19}]}]}],"e":[{"m":[{"m":[{"e":19}]}]}],"j":[{"i":23}],"r":[{"i":[{"o":[{"o":19}]}]}]}]}],"v":66,"w":66,"y":[{"n":55,"p":[{"a":[{"a":[{"r":[{"d":19}]}]}],"l":[{"a":[{"s":[{".":19}]}]},30],"o":30,"r":25},55],"s":[{"k":30,"t":[{"e":75}]}],"t":[{"h":[{"a":11,"o":[{"n":15}]}]}]}],"-":66},68],"q":[{"u":[{"a":[{"d":[{"r":[{"i":[{"v":19}]}]}]}],"e":[{"s":[{"t":[{"r":15}]}]}],"i":[{"n":[{"a":[{"s":[{".":19}]}]}]}]},49]},68],"r":[{".":66,"a":[{"a":[{"m":[{"i":[{"n":15}]}],"n":[{"s":[{".":2}]},57],"r":[{"d":75}]}],"b":[{"s":57}],"c":[{"t":[{"e":23}]}],"d":[{"i":[{"o":52}],"v":76}],"f":[{"d":57,"e":[{"k":25}],"h":57,"o":[{"e":25}],"t":57,"u":[{"r":[{"n":[{".":19}]}]},25],"v":57,"w":57}],"g":[{"a":[{"a":[{"l":15}]}],"e":[{"b":52}],"i":[{"e":11,"n":[{"l":[{"i":19},4]}]}],"r":[{"a":[{"a":[{"d":19}]}],"y":[{"e":[{"r":19}]}]},20],"s":[{"a":[{"b":15,"k":15}],"i":[{"n":15}],"o":[{"e":[{"p":19}]}]}],"u":[{"e":13}],"w":[{"a":[{"n":15}]}]},66],"i":[{"g":[{"n":[{"e":[{".":19}]}]}]}],"k":[{"l":[{"e":[{"s":15}]}],"o":[{"p":[{"e":[{"r":19}]}]}],"w":[{"a":[{"t":[{"e":19}]}]}]}],"l":[{"b":57,"e":[{"e":[{"r":[{".":19}]}]}],"o":[{"o":[{"r":[{".":19}]}]}],"t":57}],"m":[{"a":[{"r":[{"g":[{"i":19}]}]}],"e":[{"u":75}],"p":[{"l":[{"a":15}]}]}],"n":[{"d":[{"a":[{"a":15,"f":[{"e":19}],"k":[{"k":60}]},20],"e":[{"m":15,"v":15}],"o":[{"e":15}],"r":10}],"g":[{"o":47}],"k":[{"l":13,"r":47}],"s":[{"a":[{"a":15}],"e":[{"u":15}],"j":[{"o":15}],"k":[{"o":15}],"o":[{"r":15}],"p":47,"t":47}],"t":[{"a":[{"d":15}],"e":[{"t":15}],"j":47,"r":10}],"y":76}],"p":[{"a":[{"d":[{"a":[{".":21}]}],"s":[{".":4}]}],"e":[{"s":11,"w":[{"e":[{"n":19}]}]}],"l":[{"o":[{"ï":15}]}],"o":[{"n":[{"g":[{"e":19}]},25]}],"p":[{"a":[{"r":[{"a":19}]}]}],"r":[{"e":[{"m":[{".":19}]}],"i":[{"g":[{"h":19}]}]}]}],"r":[{"i":20,"m":57,"r":57,"t":57}],"s":[{"i":[{"a":14}],"t":[{"a":[{"n":15}],"o":61,"r":61}],"u":[{"i":23},25]}],"t":[{"h":[{"o":61}],"o":[{"m":75}],"s":[{"o":13}]}]}],"b":[{"o":[{"l":[{"o":[{"l":15}]}]}]}],"d":[{"a":[{"g":[{"t":[{"i":11}]}],"m":[{"e":3}]}],"e":[{"i":[{"l":11}],"l":[{"e":[{"k":2}]}],"s":[{"e":[{"l":11}],"m":23}],"u":[{"r":[{"o":11}]}]}],"o":[{"l":[{"i":3}],"n":[{"t":3}],"o":[{"n":3}]},9],"ô":[{"n":[{"n":[{"e":15}]}]}],"r":[{"a":[{"a":[{"i":[{"s":1}]}]}],"o":[{"m":[{"a":2}]}]}],"s":[{"l":[{"i":[{"p":15}]}],"o":6,"p":6}],"t":[{"r":[{"e":[{"e":15}]}]}],"u":[{"s":[{"o":[{"l":15}]}]}],"w":[{"a":[{"r":14},25],"u":20}],"y":[{"s":[{"t":3}]}]}],"e":[{".":115,"a":[{"k":55}],"e":[{"d":[{"a":13}],"k":[{"e":13,"i":[{"e":[{"r":19}]}]},10],"l":[{"o":[{"o":[{"n":19}]}]}],"n":[{"d":75,"h":75,"v":57}],"p":[{"e":[{"s":15}],"l":[{"e":15}],"r":[{"o":15}]}],"r":[{"s":57}],"s":[{"a":[{"l":[{"a":19}]}],"t":[{"r":[{"a":19}]}]}]}],"ë":[{".":57},55],"f":[{"f":57}],"g":[{".":55,"r":[{"u":[{"k":[{".":19}]}]}],"s":[{"e":[{"n":15}],"k":[{"w":15}],"o":[{"m":[{".":21}]}],"p":[{"r":[{"e":19}]}]}]}],"i":[{"e":57,"l":57,"n":[{"a":[{"r":15}],"d":57,"o":[{"o":15}]}],"s":[{"e":[{"r":15}],"o":[{"u":15}]}],"t":[{"z":[{"e":[{".":21}]}]}]}],"k":[{"n":[{"a":[{"a":[{"r":19}]}],"e":23},25],"r":10,"s":[{"p":[{"o":[{"e":19}]}],"t":57}],"w":[{"a":25}]}],"l":[{"d":[{"a":[{"e":[{".":19}]}],"i":[{"a":[{"g":19}]}],"o":[{"p":[{"p":19}]}],"r":[{"a":[{"n":21}]}],"u":[{"i":[{"k":19}]}]},10],"o":[{"e":[{"s":[{"t":19}]}]}]}],"n":[{"a":[{"g":[{"t":15}]}],"d":[{".":52},20],"i":[{"g":14}],"s":[{"h":[{"a":[{"w":19}]}],"o":10,"p":10,"t":[{"e":[{".":21}],"o":15,"r":15}]}],"t":[{"a":[{"k":15}],"c":[{"l":15}],"j":47,"r":47}]}],"r":[{"g":57,"t":[{"j":13},116]}],"s":[{"e":[{"l":57}],"k":[{"a":18}],"l":[{"a":[{"p":[{".":19}]}],"o":23}],"m":34,"o":[{"r":[{"e":[{".":19}]}]}],"p":[{"i":25}],"t":[{"e":[{"l":11},25],"i":25,"o":[{"e":[{"t":19}],"m":[{"a":19}]}]}],"u":[{"r":[{"e":[{".":19}]}]}]}],"t":[{"a":[{"r":[{"t":23}]}]}],"u":[{"k":[{"i":[{"n":15}],"l":10,"o":47}],"s":[{"g":11}]}],"w":[{"a":20}],"y":[{"n":[{"o":23}]}]},68],"ê":[{"r":[{"h":25}]}],"f":[{"a":[{"a":20}],"l":[{"a":[{"a":11,"t":11}],"e":9,"i":[{"e":64}],"u":[{"i":14}]}],"o":[{"p":[{"v":11}]}],"r":[{"e":[{"g":11},20]}],"s":[{"l":25}]}],"g":[{"a":[{"k":[{"t":11},20]}],"e":[{"k":[{"l":[{"i":[{"k":19},42]}]}],"n":[{"g":11}],"p":[{"e":[{"r":29}]}],"r":[{"i":[{"d":15}]}]}],"h":[{"u":[{"t":11},25]}],"l":[{"e":[{"n":25,"t":25}],"o":[{"o":11}],"u":12,"y":25}],"o":[{"w":[{"r":[{"i":15}]}]}],"r":[{"i":[{"e":54}],"o":[{"s":11}]}],"s":[{".":25,"p":10},6],"u":[{"i":[{"t":[{"j":[{"i":21},62]}]}]}]},56],"i":[{"b":[{".":55,"f":[{"i":[{"l":[{"e":19}]}]}]}],"e":[{"d":[{"i":[{"o":15}],"o":[{"p":15}]}],"k":[{"e":[{"t":79}],"l":[{"o":15}]}],"m":[{"e":23}],"p":[{"r":[{"i":15}]}],"s":[{"e":[{".":42}],"k":[{"r":15}]}],"t":[{"a":[{"a":15}]}]}],"f":[{"a":25,"r":[{"e":[{"e":15}]}]}],"g":[{"s":[{"k":[{"a":15}],"m":[{"e":[{"e":19}]}],"t":[{"y":[{"f":19}]}]}]}],"k":[{"l":25,"s":[{"i":[{"d":15}],"j":23,"p":[{"a":[{"d":19}]}]}],"w":25}],"m":[{"s":10}],"n":[{"f":76,"g":[{"a":[{"a":[{"n":19,"r":21},15]}],"e":[{"s":[{"t":117}]}],"l":[{"e":[{"b":19}]}],"r":47,"u":[{"i":15}]}],"h":76,"k":[{"a":[{"r":15}],"o":75,"w":[{"a":15},13]}],"l":76,"r":76,"s":[{"t":14},57],"t":[{"h":[{"e":[{".":19}]}]}],"v":[{"e":57},9]}],"o":[{"r":[{"y":[{"e":[{".":19}]}]}]}],"p":[{"s":[{"t":47}]}],"s":[{"k":[{"o":61}],"o":[{"n":11,"p":23},10],"p":[{"e":[{"r":15}]}]}],"t":[{"j":[{"i":23}],"o":[{"o":[{"n":[{"d":19}]}]}],"r":[{"e":[{"a":15}],"o":11}],"z":[{"r":[{"i":15}]}]}],"v":[{"i":[{"e":52}]}],"x":[{"t":[{"o":[{"n":[{"t":19}]}]}]}]},69],"k":[{"a":[{"a":[{"n":20}]}],"e":[{"e":[{"n":11}],"i":[{"k":11}],"l":[{"a":[{"p":15}]}],"s":[{"e":[{"l":[{".":19}]}]},71]}],"i":[{"n":[{"k":[{".":2}],"l":11}]}],"l":[{"e":[{"i":[{"e":11}]}],"i":[{"d":20,"p":14}],"o":[{"s":3}]}],"n":[{"e":[{"i":11}]}],"o":[{"m":[{"g":11,"s":[{"t":[{"i":42}]}]}],"p":[{"d":3,"s":3}]}],"r":[{"a":[{"n":[{"d":11}]}],"e":[{"d":11}],"i":[{"b":11}],"o":[{"k":11}]}],"s":[{"m":[{"a":[{"a":15}]}],"p":[{"o":11}],"u":[{"i":[{"d":15}]}]}],"t":[{"w":[{"i":11}]}],"u":[{"i":[{"t":11}],"r":[{"e":3}]}],"w":[{"a":[{"g":11,"t":3}],"e":[{"e":11,"t":3}],"i":[{"l":11,"n":11}],"y":20}]},72],"l":[{"a":9,"i":[{"g":10}],"o":[{"g":[{"j":[{"a":15}]}],"o":[{"p":[{"l":[{"e":21}]}]}],"w":[{"p":[{"a":15}]}]}]},56],"m":[{"a":[{"a":[{"n":[{"h":2}]}],"g":[{"ô":23,"u":[{"n":15}]}],"k":[{"l":[{"o":[{"t":19}]}]}],"p":[{"l":[{"a":[{"a":19}]}]}],"r":[{"a":[{"a":[{"n":19}]}]}]}],"e":[{"r":[{"a":[{"a":[{"r":21},15]}]}],"s":[{"a":23}]}],"i":[{"l":10}],"o":[{"s":[{"t":[{"r":[{"o":19}]}]},17]}],"u":[{"i":[{"t":11}]}],"y":[{"n":[{"i":[{"m":15}]}]}]},66],"n":[{"a":[{"g":[{"t":[{"e":14}]}],"s":[{"p":[{"l":15}]}]}],"e":[{"l":[{"e":3}],"s":10,"t":[{"a":47,"o":[{"m":15}]}]}],"o":[{"o":[{"r":11}]}],"s":[{"t":[{"i":[{"g":4,"n":15}]}]}],"u":9},72],"o":[{"d":[{"u":[{"k":28}]}],"e":[{"f":[{"a":[{"s":[{".":21},15]}],"l":47,"r":[{"i":15}]}],"g":[{"a":10,"l":[{"a":[{"s":19}]}]}],"n":[{"a":47}],"p":[{"a":10,"l":13,"o":47}],"s":[{"k":47,"l":[{"a":[{"g":21},15]}],"t":47,"w":13}],"t":[{"a":[{"a":15}]}],"w":57}],"g":[{"a":[{"k":[{"k":[{"e":19}]}]}],"g":57,"l":[{"i":[{"s":15}]}],"n":[{"a":11}]}],"k":[{"n":25,"r":10,"s":[{"l":[{"i":[{"p":19}]}],"p":47}],"y":[{"n":11}]}],"l":[{"a":[{"a":18}],"g":[{"o":[{"r":[{"d":19}]}]}],"i":[{"e":[{"n":2}]}],"m":[{"o":[{"p":[{"s":19}]}]}]}],"m":[{"p":[{"o":[{"p":[{".":21}]}]}],"s":57}],"n":[{"a":[{"a":[{"r":[{".":19}]}]}],"d":[{"a":[{"g":15,"k":15}],"e":[{"r":[{"t":118}],"t":36}],"o":[{".":42},47],"r":47,"s":[{"w":13},54],"u":10}],"g":[{"a":[{"a":15}]}],"k":[{"a":[{"a":15}],"e":[{"r":[{"t":15},29]}],"l":47,"o":[{"w":15}],"r":10,"w":[{"a":[{".":21}]}]}],"s":[{"k":[{"e":15}],"t":[{"e":[{".":21,"l":19},15],"i":36}]}],"t":[{"p":14,"r":47,"u":[{"i":15}],"w":57}]}],"o":[{"d":[{"e":[{"w":[{"a":19}]}],"i":[{"s":[{"t":19}]}]}],"f":55,"g":[{"r":[{"o":[{"n":19}]}]},57],"m":[{"e":[{"n":[{"s":19}]}]}],"n":[{"a":[{"g":[{".":19}]}],"d":57}],"p":[{"l":[{"a":42}]}],"r":76,"t":[{"a":[{"a":[{"i":19}]}]}]}],"p":[{"a":[{"a":[{"n":[{"s":19}]}],"n":[{"y":[{"s":19}]}]},20],"e":[{"e":[{"n":15},11],"n":75}],"i":20,"o":20}],"r":[{"a":20,"o":6},56],"s":[{"a":[{"f":[{"r":15}]}],"e":[{"a":75}],"k":[{"i":[{"e":[{".":19}]}]}],"p":34,"t":[{"a":11,"i":[{"l":15}]}]}],"t":[{"h":[{"s":[{"c":15}]}],"o":[{"n":11}],"r":6,"s":[{"a":10}]}],"u":[{"d":57,"f":[{"l":[{"o":[{"e":19}]}]}],"s":[{"k":23}],"t":30}],"v":[{"i":[{"c":[{"h":[{".":21}]}]}],"n":[{"i":[{"k":[{".":19}]}]}]}],"w":[{"-":25}],"x":[{"y":[{".":119}]}]}],"ö":22,"p":[{"e":[{"s":71}],"i":[{"d":[{"e":11},20]}],"l":[{"i":[{"k":3}]}],"o":[{"p":[{"d":11}]}],"r":[{"e":[{"g":3}]}],"s":[{"i":[{"d":[{"i":[{"o":19}]}]}],"l":25,"n":[{"o":23}],"p":[{"r":[{"i":4}]}],"t":[{"u":25}]}]}],"r":[{"e":[{"g":[{"l":[{"o":[{"b":19}]}]}],"n":[{"a":[{"g":[{"t":19}]}]}],"s":[{"t":[{"a":[{"u":19}],"r":13},10]}]}],"i":[{"g":[{"i":[{"n":15}]}]}],"o":[{"n":[{"k":[{"a":[{"a":21}]}]}]}]},96],"s":[{"a":[{"k":[{"t":20}],"l":[{"m":11}],"r":12}],"c":[{"h":[{"a":14}]}],"e":[{"i":[{"l":[{"a":11}]}],"u":[{"n":[{"s":29}]}]}],"f":[{"e":[{"e":[{"r":63}]}]},6],"i":[{"e":25,"f":[{"l":[{"a":[{"g":19}]}]}],"n":[{"d":[{"a":2}],"k":[{"o":11}],"s":[{"p":2,"t":2}]}]}],"j":[{"a":[{"m":14}]}],"k":[{"a":[{"k":[{"i":2}],"p":[{"a":2,"i":2},14]}],"e":[{"u":[{"s":2}]}],"i":[{"n":[{"k":4},3]}],"o":[{"e":[{"t":2}],"m":[{"m":4}],"n":[{"i":4}],"r":[{"s":14},20],"u":14}],"r":[{"i":[{"b":11}],"o":[{"o":2}]}],"u":[{"r":20}]}],"l":[{"ê":20,"i":[{"s":11}],"o":[{"s":3}],"y":[{"f":11}]}],"m":[{"a":[{"a":[{"d":4,"i":4,"k":63,"t":2}],"g":[{"t":4}],"k":[{".":4,"e":2}],"r":[{"a":4}]}],"e":[{"d":[{"e":4}],"e":[{"r":14},25],"l":25}]}],"n":[{"e":[{"e":[{"m":28}]}],"o":[{"o":14,"t":20}]}],"o":[{"g":12,"n":[{"d":[{"e":[{"r":111},29]}],"g":11}],"o":[{"g":11,"r":[{"s":2}]}],"p":[{".":25},6],"r":[{"d":11}]}],"p":[{"a":[{"a":[{"r":2}],"r":3}],"i":[{"e":[{"n":2}]}],"r":[{"i":14}]},56],"t":[{"a":[{"l":[{".":39}]}],"b":20,"e":[{"g":[{"n":2}],"r":[{"p":4,"s":63}]}],"i":[{"g":[{"l":4}],"k":25,"s":25,"t":3}],"j":20,"o":[{"e":[{"t":39}]}],"r":[{"e":[{"g":2}]}],"y":9},56],"u":[{"n":6,"s":10}],"w":[{"a":[{".":11,"p":11}],"e":[{"r":[{"f":4}]},6],"y":[{"k":11}]}]},66],"t":[{"a":[{"f":[{"d":11}],"n":[{"g":[{"e":[{"l":1}]}]}],"r":[{"t":11}]}],"e":[{"e":[{"n":[{"d":2}]}],"l":[{"o":[{"e":15}]}]}],"i":[{"e":[{"s":17}],"n":[{"g":54}],"s":[{"a":[{"a":[{"n":19}]}]}]}],"o":[{"m":12,"n":[{"t":11}],"p":[{"r":11}],"r":[{"g":11}]}],"r":[{"e":[{"d":[{"a":2}],"i":[{"s":11}],"n":11}],"i":[{"e":3}],"o":[{"l":[{".":2}]}],"y":12}],"s":[{"a":[{"a":[{"r":31}]}],"o":[{"n":[{"d":23}]}],"p":[{"y":[{"n":15}]}]}],"u":[{"i":[{"t":[{"s":11}]}]}],"w":[{"i":[{"s":25}],"y":[{"f":25}]}]},66],"u":[{"b":55,"g":[{"a":25,"-":[{"s":[{"k":15}]}]}],"i":[{"l":[{"e":[{"k":15}]}],"m":[{"o":[{"e":15}],"t":[{"e":52}]}],"n":[{"i":[{"v":15}]}],"t":[{"s":120}]}],"k":[{"a":[{"a":11}],"l":[{"i":[{"p":15}]}],"o":[{"p":[{"p":15}]}],"-":[{"e":[{"n":15}]}]},85],"l":[{"a":[{"a":23,"p":[{"e":[{".":19}]}]}],"y":[{"s":[{"t":[{"e":19}]}]}]}],"m":[{"g":[{"r":[{"o":[{"k":19}]}]}]},22],"n":[{"i":57}],"p":[{"l":[{"y":[{"s":[{".":19}]}]}]}],"s":[{"p":[{"i":11}],"t":[{"a":[{"k":15}],"k":[{"a":15}],"m":[{"a":15}],"v":[{"o":15}]}],"u":[{"u":[{"r":[{".":19}]}]}]}],"t":[{"o":[{"o":[{"n":[{"d":19}]}]}]}],"u":[{"s":[{"t":[{"e":[{".":19},42]}]}]},66]}],"w":[{"e":[{"g":[{"a":13,"e":[{"i":15}]}],"s":[{"k":[{"r":15}]}]}],"i":[{"s":[{"j":[{"e":[{".":19}]}]}]}],"o":[{"e":[{"s":28}]}],"y":[{"s":[{"a":[{"k":15}],"e":[{"e":15}]}]}]}],"y":[{"f":[{"a":25,"i":[{"n":[{"k":[{".":19}]}]}],"o":[{"d":[{"e":[{".":19}]}]},25],"s":[{"c":[{"h":15}],"i":[{"n":15}],"k":[{"a":15}]}]}],"g":[{"s":[{"t":[{"e":[{"k":19}],"r":15}]}]}],"k":[{"i":[{"n":[{"r":4}]}],"l":[{"u":11},30]}],"m":[{".":55}],"n":[{"s":[{"l":47}]}],"p":[{"a":[{"r":[{"m":[{".":19}]}]}],"l":[{"e":11,"u":[{"s":[{".":19}]}]}],"n":[{"a":[{"g":[{"t":19}]}]}]}],"s":[{"a":[{"l":[{"f":15}]},38],"i":[{"n":[{"l":4}]}],"p":[{"i":23,"o":23}],"t":[{"i":10},6],"u":25}],"t":[{"a":25,"r":[{"a":11}]}]}]}],"s":[{".":66,"\'":[{"i":[{"e":[{".":48}]}]}],"a":[{".":55,"a":[{"d":[{"u":[{"i":15}]},20],"k":55,"l":55,"n":76,"p":76,"r":[{"d":75}],"s":76}],"d":[{"m":76,"r":[{"e":14}],"v":76}],"f":106,"g":[{".":93,"a":[{"l":25}],"e":9,"i":20,"n":[{"e":11},40],"o":[{"p":[{"a":15}]},93],"t":[{"e":[{".":52,"w":121}]}]},66],"k":[{".":55,"a":[{"d":14}],"e":55,"k":55,"r":[{"o":[{"k":31}],"u":[{"s":4}]}],"s":17,"t":[{"i":75},9]}],"l":[{"a":[{"m":[{"m":[{"o":19},4]}]}],"b":[{"u":14},57],"f":[{"o":[{"l":15}]},55],"g":76,"m":[{"e":[{"i":15}]},57],"t":[{"r":[{"o":15}]}]}],"m":[{"b":[{"a":57}],"e":[{"n":17}],"p":76,"s":[{"w":[{"y":15}]}]},55],"n":[{"a":[{"l":14},57],"d":[{"a":[{"g":36,"k":[{"k":21},15]}],"r":[{"u":15}]}],"g":[{"a":47,"r":[{"e":15}],"s":[{"t":[{"e":21}]}]},55],"k":[{"e":75}]}],"p":[{"h":[{"a":[{"t":15}]}],"p":[{"a":14,"e":[{"l":14}]}],"r":6}],"r":[{"b":76,"e":[{"a":57}],"o":[{"l":[{"i":[{"e":19}]}]}],"t":76}],"s":[{"e":[{"m":14},57],"p":[{"e":75,"r":11}]}],"t":[{"j":[{"i":[{"e":15}]}],"l":76,"t":[{"a":75}]}],"v":[{"l":[{"o":[{"n":[{".":19}]}]}]}]},68],"b":[{"a":9,"e":9,"i":9,"l":9,"o":9,"r":9,"u":9,"y":9},66],"c":[{"a":9,"i":9}],"d":[{"a":9,"e":9,"i":9,"o":9,"r":9,"u":9,"w":[{"a":25},9],"y":9},66],"e":[{".":55,"e":[{"d":[{".":14}],"f":30,"k":30,"n":[{"h":[{"e":14}]}],"p":[{"l":[{"o":15}]}],"r":[{"a":[{"m":23,"s":[{".":21}]}],"e":[{"i":23}],"o":[{"e":[{"t":19}]}]}],"s":[{"o":[{"o":[{"g":19}]}],"w":23},51]}],"ë":[{"k":[{"r":[{"a":[{"n":19}]}]}]}],"g":[{"p":[{"a":14}],"t":57}],"i":[{"e":76,"k":[{".":14},57],"l":[{"a":57}],"n":[{"a":[{"n":15}],"d":57}],"s":[{".":57}]}],"k":[{"h":[{"u":[{"k":15}]}],"s":[{"a":[{"m":14},57],"k":47,"p":47,"t":10}]}],"l":[{"a":[{"a":[{"n":23}],"n":[{"a":[{"l":19}]}]}],"e":[{"l":18}],"f":[{"a":[{"b":[{"r":19}]},47],"e":[{"r":15}],"i":[{"d":15},13]}],"i":[{"k":[{"s":77}]}],"o":[{"f":23,"o":[{"r":[{".":19}]}],"p":23}],"s":[{"k":[{"a":[{"k":21}]}],"l":[{"o":15}],"p":[{"e":[{"n":19}]}],"t":[{"a":[{"a":60}]}]}]},55],"m":[{"a":[{"g":18,"l":75}],"e":[{"k":[{"s":[{"t":19}]}]}]}],"n":[{"d":[{"a":[{"n":15}]}],"g":[{"h":[{"o":[{"r":19}]}]}],"s":[{"o":[{"r":[{"d":19}]}],"t":[{"r":15}]}]}],"p":[{"h":[{"u":[{"s":15}]}]}],"r":[{"a":[{"f":[{"s":[{"e":19}]}]}],"f":[{".":14},57],"s":[{"i":[{"n":36}],"k":[{"r":15}],"t":[{"a":[{"a":21,"d":19,"l":21},15]}]}],"t":[{"u":[{"u":15}]}],"v":[{"a":[{"r":14}]}]}],"s":[{"a":[{"a":[{"n":15}]}],"k":[{"a":122}],"l":[{"e":[{"t":[{"t":19}]}]}],"p":[{"o":18}],"t":25,"u":[{"r":18,"u":[{"r":[{".":19}]}]}],"w":[{"e":[{"k":[{"e":19}]}]},25]}],"t":[{".":20}],"w":[{"e":[{"s":[{"t":[{"e":21},62]}]}]}],"y":[{"s":[{"t":[{"o":[{"f":19}]}]}]}]},68],"ê":68,"f":[{"a":9,"i":9,"l":9,"o":9,"r":9,"u":9},96],"g":[{"a":[{"s":[{"e":47}]},9],"e":[{"s":[{"p":[{"e":[{"r":21}]}]}]},9],"i":9,"l":[{"y":25},9],"o":9,"r":9,"u":9},72],"h":[{"a":[{".":20,"r":[{"o":[{"n":[{".":19}]}]}]},9],"e":9,"i":9,"o":[{"s":[{"h":[{"o":[{"l":19}]}]}]},9],"u":9},66],"i":[{"d":[{"e":[{"a":75,"e":[{".":14}],"o":75}]}],"e":[{"k":[{"w":[{"o":[{"s":19}]}]}],"s":[{"l":[{"i":42}],"m":[{"e":[{"e":21}]}]}]},55],"f":[{"l":[{"e":11}],"r":[{"e":[{"u":15}]}]}],"g":[{"o":123,"r":[{"o":25}]}],"m":[{"p":[{"l":57}]}],"n":[{".":55,"a":[{"g":11}],"d":[{"e":[{"k":14}],"r":52,"u":57}],"e":[{"n":[{"t":[{"i":19}]}],"s":[{"t":[{"e":19}]}]}],"f":76,"g":[{"a":[{"a":[{"n":21},15]}],"e":[{"s":77}],"l":[{"e":[{".":19}]}],"r":[{"e":15,"y":14}]},20],"h":76,"k":[{"c":[{"h":15}],"l":10,"o":57}],"l":[{"i":[{"g":14}]}],"m":76,"r":76,"s":[{"e":[{"e":15}],"i":[{"n":15}],"l":[{"u":77}],"n":23}],"v":57}],"p":[{"h":[{"o":[{".":15}]}]}],"s":[{"t":20}],"t":[{"a":[{"r":[{"e":15}]}],"e":[{"m":75}],"r":[{"e":25,"i":[{"e":[{"m":19}]}]},6],"s":[{"i":[{"k":15}],"l":23}],"u":55}],"u":[{"m":[{"u":[{"r":15}]}]}]},68],"j":[{"a":66,"e":[{"a":[{"n":[{"s":15}]}]}],"o":[{"k":[{"o":52}]}],"u":[{"f":57}]},68],"k":[{".":66,"a":[{"a":[{"f":52,"r":[{"s":62,"t":77}]}],"f":[{"e":14}],"k":[{"e":[{"b":77}],"t":14},55],"l":[{"f":75}],"m":57,"n":[{"t":57}],"p":[{"i":[{"n":15}],"o":[{"n":15}],"r":13},55],"r":[{".":57,"a":57}],"s":57,"t":[{"a":14,"e":[{"l":15}],"i":[{"t":15}]}],"w":[{"e":52}]}],"e":[{"m":55,"n":[{"n":57}],"p":[{"l":[{"a":15}],"r":47},93],"r":[{"k":57,"n":75}],"s":[{"m":[{"e":[{"e":19}]}]}],"t":[{"s":52,"t":57}]}],"i":[{"e":[{"m":14}],"k":[{"l":[{"u":[{"b":19}]}]}],"l":[{"j":75,"o":[{"l":15}]},20],"p":[{".":52},20],"s":[{".":57}]}],"l":106,"n":106,"o":[{"d":57,"e":[{"ë":75,"n":83,"r":57}],"k":[{"a":[{"a":15}],"o":10}],"l":[{"l":57,"o":57,"w":57}],"m":[{"b":57,"i":57,"p":57}],"n":[{"e":20,"f":57,"g":57,"s":57,"t":57},9],"o":[{"r":[{"d":77}],"t":20}],"ö":57,"s":[{"e":[{"e":15}]},57],"t":[{"t":52}],"w":57}],"r":[{"a":[{"a":[{"n":77}],"g":57,"n":57}],"e":[{"e":[{"t":77}],"s":14},25],"i":[{"f":52,"n":57,"p":83,"s":57}],"u":[{"i":57}],"y":[{"t":75},93]}],"u":[{"d":[{"a":[{"k":15}]}],"i":[{"k":57,"p":14}],"l":[{"d":52,"t":57}],"n":57,"r":[{"f":52}],"s":57,"t":[{"a":[{"r":15}]}]}],"w":106,"y":[{"d":[{"r":[{"i":[{"n":19}]}]}],"f":20,"w":20}]},124],"l":[{"a":[{"a":20,"d":76,"g":40,"m":57,"n":[{"d":75,"g":20,"t":14}],"s":76,"t":76,"w":20}],"e":[{"d":76,"e":[{"p":52,"r":75}],"ë":[{".":20},76],"i":76,"k":76,"l":57,"n":[{"g":57}],"t":[{"j":[{"i":[{"e":21},15]}]}],"u":[{"e":75,"s":14,"t":52},20],"w":76,"y":57}],"ê":9,"i":[{"b":90,"e":[{"r":52}],"g":125,"n":[{"g":[{"e":52}]}]},66],"o":[{"b":[{"e":[{"e":15}]}],"f":20,"j":57,"k":57,"o":[{"n":75,"s":75}],"p":57,"t":[{"a":47,"e":[{"r":14}]}],"w":20}],"ö":[{"j":25}],"u":[{"g":76,"i":[{".":57,"a":75,"h":14,"t":52}],"s":76}],"y":[{"e":76,"f":57,"m":[{"u":[{"i":15}]}],"n":57,"p":[{"a":[{"f":15}]}],"s":76}]},68],"m":[{"a":[{"d":20,"r":[{"t":83}]},9],"e":[{"l":[{"k":14,"t":83}]},9],"i":[{"d":[{".":52}],"s":10,"t":[{"h":91}]},9],"o":[{"k":55,"l":[{".":14}],"n":9}],"u":9,"y":[{"n":[{"i":[{"n":15}]}],"t":20},55]},66],"n":[{"a":[{"a":[{"i":14,"m":57,"t":14}],"g":[{"e":13,"s":[{".":42}]},116],"m":57,"p":[{"r":[{"o":15}]}],"r":20,"s":9,"t":57,"v":57}],"e":[{"e":[{"t":[{"j":[{"i":21}]}]}],"k":76,"l":93,"s":76,"t":76,"u":57}],"i":[{"k":[{"w":[{"a":15}]}],"t":[{"r":[{"e":15}]}]}],"o":[{"b":20,"e":[{"t":52}],"m":76,"o":57,"r":[{"m":57}]}],"u":[{"i":20}],"y":[{"e":[{"r":52},20],"-":[{"y":[{"s":15}]}]},30]},68],"o":[{"e":[{"f":57,"k":[{"a":[{"l":15}],"e":[{"v":15}],"o":[{"l":15}],"u":47},93],"n":[{"y":[{"s":15}]},20],"s":57,"t":[{".":52,"s":[{"t":[{"e":21},62]}]}]}],"f":[{"a":[{"g":[{"u":15}]}],"f":57,"r":[{"e":[{"e":15}]},6]}],"g":[{"l":10}],"i":[{"e":[{"t":[{"s":15}]}]}],"k":[{"o":[{"p":[{"h":[{"o":19}]}]}]}],"l":[{"i":[{"e":[{".":14}]}],"l":[{"m":[{"e":15}]}],"o":[{"s":13}]},55],"m":[{".":20,"e":20,"g":76,"s":76,"v":76}],"n":[{".":93,"d":[{"e":[{".":2,"r":[{"n":5}]}]}],"e":[{"e":[{"k":[{"h":19},4]}],"g":23},93],"g":126,"k":[{"w":[{"a":[{"s":19}]}]}],"o":[{"p":18}],"s":[{"o":10}],"t":76,"u":[{"i":[{"t":[{".":19}]}]}],"v":20,"w":57}],"o":[{"g":57,"l":93,"n":[{"d":75,"s":17}],"r":[{".":75,"b":75,"d":75,"e":75,"g":14,"l":75,"s":14,"t":[{".":52,"r":14}]}]}],"p":[{".":55,"e":[{"k":[{"s":[{"t":19}]}]}],"h":[{"i":11,"o":[{"k":15}]}],"i":[{"e":52},20],"l":9,"o":55,"r":[{"a":127},6],"s":9,"t":9,"v":9},72],"r":[{"d":57,"g":[{".":52,"a":75,"e":[{"e":15}],"r":[{"a":[{"a":21},15]}]}],"k":[{"e":14}],"o":[{"r":11}],"t":[{"o":57}]}],"s":[{"h":[{"a":11},10]}],"t":[{"h":[{"o":10},6],"r":6}],"u":[{"d":[{"e":14},57],"s":[{"p":[{"a":15}],"t":47}],"t":[{"a":[{"a":15,"k":15}],"o":[{"m":14},57]}]},55],"y":[{"a":[{".":48}]}]},68],"p":[{"a":[{"a":[{"l":14,"n":52}],"d":57,"k":57,"n":[{"o":[{"o":15},13]},93],"p":57,"r":[{"k":57}],"s":[{".":75,"t":57}],"t":[{"a":[{"r":15}],"r":57}]}],"e":[{".":57,"e":93,"k":[{"l":47,"n":[{"e":15}]}],"l":[{"a":[{"k":15}],"e":[{"r":52}],"l":20,"o":[{"t":77}]}],"n":[{".":14},57],"r":[{"d":57,"k":57,"m":[{".":52}],"s":57}],"s":[{".":57,"i":52}],"t":57,"u":20}],"i":[{"e":[{"k":75}],"o":20}],"l":[{"e":[{"e":83}],"i":[{"n":83,"t":[{"s":52}]}],"y":93},106],"o":[{"e":[{"i":57}],"l":57,"m":57,"n":[{"s":[{"t":42}]}],"o":[{"r":[{".":52}],"t":57}],"r":[{"e":52,"t":[{"r":77}]}],"s":57,"t":[{"e":57,"i":14}]}],"r":[{"a":[{"a":[{"k":52}],"k":[{"t":77}],"t":75}],"e":[{"e":[{"k":79}],"m":14,"s":57,"u":52}],"o":[{"b":57,"e":[{"i":52}],"f":57,"g":57,"n":83,"s":57}],"u":[{"i":[{"t":52}]}],"y":57}],"s":[{"i":25},9],"u":[{"b":57,"l":93,"n":57}],"y":[{"n":57,"p":57}]}],"r":[{"a":[{"e":10},9],"e":9,"i":9,"o":9,"u":9,"y":9},72],"s":[{"a":[{"f":25,"g":25,"r":[{"o":[{"l":15}]}],"y":[{"i":[{"s":[{".":21}]}]}]},9],"e":[{"n":[{"a":[{"s":15}],"i":47}],"r":[{"s":17}],"s":[{"t":23}]},9],"i":[{"e":[{"l":[{"e":[{"i":43}]}]}]},9],"k":[{"o":25},9],"l":9,"m":[{"a":25,"e":25},9],"n":9,"o":9,"p":[{"l":25},9],"t":[{"i":25},9],"u":9,"w":9,"y":9},72],"t":[{".":66,"a":[{".":57,"a":[{"r":[{"d":11}],"t":52},20],"d":93,"f":[{"e":57}],"l":[{"a":[{"s":[{".":21},15]}],"e":[{"e":15,"m":15},57],"i":57,"t":83}],"m":[{".":83,"o":47}],"n":[{".":83,"d":[{"s":[{"t":[{"a":128}]}]}]}],"r":[{"i":57}],"t":[{"r":14},93]}],"e":[{"a":57,"d":[{"d":20,"e":83}],"e":[{"k":97,"n":83,"r":57}],"g":[{"r":[{"e":15}]},57],"i":25,"k":[{"l":[{"i":15}]}],"l":[{"e":[{"k":[{"s":21},15],"v":77}],"s":[{"e":121}],"t":[{"j":[{"i":37},42]}]}],"m":[{".":83,"m":52,"o":[{"m":15}]}],"n":[{"o":[{"u":15}],"t":57,"y":14}],"o":57,"r":[{"a":[{"p":77}],"e":[{"i":36}],"k":[{"t":52}],"m":57,"o":[{"m":15}],"s":[{"m":13}],"y":[{"s":[{".":21},15]}]}],"s":[{"e":[{"r":15}],"i":[{"n":15}],"k":[{"a":15,"i":15}],"l":10,"m":[{"a":15}]}]}],"h":66,"i":[{"e":57,"g":[{"t":20}],"k":[{"u":75}],"l":[{"a":[{"a":15}]}],"m":[{"u":20}],"n":[{"g":[{"a":28}],"k":[{"h":52}]}],"p":20,"r":57,"t":[{"e":75}]},9],"j":9,"o":[{".":57,"e":[{"g":14,"k":14,"l":[{".":52,"a":77}],"n":14,"r":57,"s":57,"v":14}],"f":[{"e":[{"k":15,"m":15,"n":15}],"o":10},20],"g":57,"k":[{"a":10,"l":[{"e":15}],"r":[{"e":15}]}],"m":93,"n":[{"e":57}],"o":[{"n":57}],"p":[{"o":[{"o":15}]},25],"s":[{"t":10},57],"t":93,"w":20}],"r":[{"a":[{"a":20,"d":57,"k":[{".":2}]}],"e":[{"i":75,"w":20}],"i":[{"l":75,"n":[{"s":77}]}],"o":[{"e":57,"g":14,"n":[{"t":15}],"o":[{"n":77}],"s":[{"p":77}],"t":[{"s":14},57],"u":57,"v":57}],"u":[{"k":52,"s":75},20],"y":93}],"u":[{"c":10,"d":93,"i":[{"g":57}],"k":[{"i":[{"n":15}],"l":[{"e":[{"p":19}]}]},93],"s":[{"t":[{"r":[{"a":19}]}]}],"t":[{"o":10,"y":[{"s":15}]}]}],"w":[{"i":25}],"y":[{"d":57,"f":[{".":52}],"l":[{"o":[{"o":15}]},93]},66]}],"u":[{"b":[{"a":30,"g":[{"i":[{"d":[{"s":19}]}]}],"h":[{"o":[{"o":[{"f":19}]}]}],"n":[{"a":[{"s":[{"i":19}]}]}],"o":[{"o":23}],"r":[{"e":[{"k":[{"o":19}]}]}]},73],"i":[{"d":[{"a":[{"f":15}],"e":[{"i":15}]},55],"k":20,"l":20,"p":[{"l":13,"r":[{"o":15}]}],"t":76,"w":20}],"l":[{"t":[{"i":[{"n":15}]}]}],"m":[{"a":[{"a":[{"n":[{"s":19}]}]}]}],"n":[{"i":9},66],"s":[{"u":25}],"t":[{"h":[{"e":[{"r":15}]}]}],"y":[{"o":[{".":48}]}]},68],"v":[{"a":9,"e":9,"i":9,"l":9,"o":9,"r":9,"u":9,"y":[{"k":[{"r":[{"a":[{"a":19}]}]}]},9]},66],"w":[{"a":[{"a":[{"i":83}],"e":[{"l":52,"n":14}],"k":93,"m":[{"a":13},129],"n":[{"d":14}],"r":[{"t":52}],"t":9,"w":93}],"e":[{"e":[{"f":[{"s":77,"t":2}],"k":14,"p":83,"t":83}],"g":57,"i":[{"s":52}],"l":[{"g":20}],"m":129,"r":[{"m":83}],"t":[{"r":[{"e":15}]}]}],"ê":9,"i":[{"k":20,"l":57},9],"o":[{"e":[{"g":52}],"r":[{"s":[{"t":42}],"t":57}]},9],"r":9,"u":9,"y":[{"g":55}]},66],"y":[{"f":[{"e":[{"r":52}]}],"k":6,"n":[{"a":[{"g":[{"r":15}]}],"s":[{"i":[{"n":15}],"m":23}]}],"p":[{"l":[{"a":11}]}],"s":[{"k":6,"t":[{"e":[{"r":14}]},57]}],"w":[{"e":[{"r":14},57]}]},68],"-":66},22],"t":[{".":66,"a":[{".":55,"a":[{"n":[{"a":[{"m":15}],"d":57,"s":[{"f":80,"i":77}],"t":57,"v":75}]}],"b":[{"b":55}],"d":[{"m":57,"r":[{"o":18}],"s":[{"e":[{"r":15}],"i":47,"k":[{"a":15}],"n":13,"p":13,"t":[{"e":15,"o":36}]}]}],"f":[{".":57,"d":57,"e":[{"l":17},55],"r":94,"s":76,"v":57,"w":76}],"g":[{"e":[{"n":75},20],"s":57,"t":76}],"i":[{"l":10,"n":[{"v":11}],"p":[{"e":[{"i":[{"s":19}]}]}]}],"k":[{"e":[{".":52}],"l":[{"e":[{"p":15}],"i":11}],"r":[{"o":[{"l":[{".":19}]}]},25],"t":55,"w":[{"y":[{"n":[{".":19}]}]}]}],"l":[{"e":[{"e":[{"n":[{"h":19}]}],"m":[{"m":[{"e":19}]}]},55],"i":[{"g":52}],"k":[{"a":[{"a":15}]}],"s":[{"o":[{"r":15}]}]}],"m":[{"i":[{"n":[{"d":[{"e":19},4]}]}]}],"n":[{"d":[{"a":[{"t":15}],"r":[{"i":[{"n":21}]},10],"s":[{"t":[{"o":42}]}]}],"g":[{"s":[{"t":13}]}],"n":[{"a":75}],"s":[{"k":10}]}],"p":[{"r":[{"o":23}]}],"r":[{"i":55,"k":57,"m":[{".":14},57],"o":[{"o":23}],"t":[{"i":[{"k":14}]}]}],"s":[{".":25,"e":[{"m":14}],"p":10,"t":[{"a":[{"s":15}]}]}],"t":[{"i":[{"s":[{"o":[{"l":19}]}]}],"j":[{"i":[{"e":[{"s":19}]}]},10],"r":[{"a":18}]}]}],"b":[{"a":[{"l":[{"u":[{"n":15}]}]}],"y":[{"t":[{"e":[{"i":15}]}]}]},66],"d":[{"y":[{"i":[{"n":[{"g":[{".":19}]}]}]}]},66],"e":[{"b":[{"y":[{"s":[{".":42}]}]}],"d":[{"o":55}],"e":[{"k":[{"r":13}],"l":[{"e":[{"e":15}],"o":[{"o":[{"d":19}]}]}],"m":[{"e":[{"v":15}],"o":10}],"n":[{"h":57},10],"r":[{"a":[{"a":[{"d":19}]}],"e":[{"n":[{"v":19}]}]},55],"s":[{"k":23,"l":23,"t":23,"u":[{"i":[{"k":19}]}]},17],"u":76}],"f":[{"l":[{"o":[{"n":[{".":19}]}]}]}],"g":[{"n":55,"o":[{"r":[{"i":15}]}],"r":[{"e":[{"n":[{".":19}]}]}]}],"h":[{"u":[{"i":52}]}],"i":[{"n":[{"o":[{"o":15}]}]}],"k":[{"a":[{"m":52}],"b":[{"a":[{"k":[{".":19}]}]}],"e":[{"n":[{"a":[{"a":[{"p":99}]}]},52]}],"h":[{"a":[{"a":[{"k":19}]}]}],"l":[{"i":[{"m":[{"i":19}]}]}],"o":[{"r":52}],"s":[{"e":[{"m":[{"p":19}]}],"i":[{"n":15}],"k":13,"t":[{"e":[{"l":19}]},13]}],"v":[{"o":23}]},86],"l":[{"a":[{"a":[{"p":[{".":19},4]}],"k":18,"p":18}],"d":[{"w":[{"e":[{"i":19}]}]}],"e":[{"l":18}],"f":[{"l":[{"e":[{"s":19}]}]}],"i":[{"d":[{"e":[{"e":19}]}],"k":52}],"l":[{"h":[{"o":15}]}],"o":[{"e":[{"s":[{".":19}]}],"o":[{"g":[{".":19}],"n":[{"d":19},4]}]}],"s":[{"m":[{"e":[{"d":19}]}]}]}],"m":[{"a":[{"s":[{"s":[{"e":19}]}]}],"m":57,"o":[{"m":[{"v":[{"a":19}]}],"o":[{"g":[{".":19},4]}]}],"p":[{"o":52}]}],"n":[{"a":[{"g":[{"e":42}]}],"d":[{".":52}],"h":20,"k":[{"a":[{"a":15}],"o":[{"o":15}]}],"o":[{"u":[{"e":[{"r":19}]}]}],"s":[{"a":[{"n":15}],"l":[{"o":[{"t":19}]}],"o":52,"u":47}],"t":[{"j":47,"r":[{"e":[{"g":21,"u":19}]},10],"w":[{"e":[{"n":19}]}]}]}],"o":55,"p":[{"h":34}],"r":[{"a":[{"d":[{"e":[{"l":19}]}],"f":[{"i":15},130],"g":[{"o":15}],"k":[{"r":[{"o":19}]},25],"l":[{"s":[{".":19}]}],"m":[{"a":[{"n":19}],"e":[{"r":19}],"p":[{".":19},4]}],"p":[{"p":23},52],"r":[{"g":15}]}],"d":[{"r":[{"o":[{"o":21},15]}]}],"e":[{"e":[{"n":23}],"l":18,"m":25}],"f":[{"t":57}],"i":[{"n":[{".":4,"k":[{".":19}]}]}],"k":[{"w":[{"y":[{"n":21}]}]}],"m":55,"o":[{"m":[{"r":[{"a":19}]}],"n":[{"d":23,"t":23}],"r":52,"s":[{".":23}],"w":18}],"r":[{"a":[{"a":[{"n":19}]}],"e":[{"i":[{"n":19},52]}],"i":52}],"s":[{"a":[{"s":15}],"e":[{"f":15,"g":15}],"k":[{"o":[{"p":15}]}],"o":[{"p":[{"n":19}]}],"w":[{"e":[{"e":19},42]}],"y":[{"s":[{"t":19}]}]}],"t":[{"a":[{"p":15}]}],"u":[{"i":[{"e":[{".":19}]},25]}],"y":[{"s":[{"t":[{"e":19},4]}]}],"-":[{"i":[{"n":15}]}]}],"s":[{"i":[{"n":[{"s":[{"t":19}]}]},55],"l":[{"o":[{"e":[{".":19}]}],"y":[{"d":[{"i":19}]}]}],"m":[{"a":[{"r":[{"t":19}]}],"e":[{"t":[{"o":19}]}]}],"p":[{"r":[{"o":[{"e":19}]}]}],"t":[{"e":[{"r":[{"i":19}]}],"u":[{"d":15}],"y":11}],"w":38}],"t":[{"i":55}],"u":[{"n":[{"s":67}]}]}],"f":[{"l":[{"i":25}]},72],"g":[{"a":[{"f":25}],"e":[{"n":[{"a":[{"p":15}]}]}],"l":[{"i":25}]},72],"h":[{"a":[{".":55,"s":20}],"e":[{"i":57,"n":93,"r":[{"a":[{"a":[{"n":19},42]}],"o":23}]}],"i":[{"t":[{"t":14},57]},115],"l":[{"e":[{"h":11}]}],"o":[{".":20,"n":[{"a":[{"t":15}]}]}],"s":[{"c":[{"h":[{"i":[{"l":19}]}]}]}],"y":[{".":20}]},66],"i":[{"b":[{"n":[{"i":[{"e":[{"t":19}]}]}]}],"e":[{"f":[{"o":13},10],"g":[{"r":[{"i":15}]}],"k":[{"a":[{"p":15}],"l":47,"o":[{"m":15}],"r":47,"w":47}],"r":[{"o":[{"ë":15}]}],"s":[{"m":[{"o":[{"o":19}]}]}]}],"f":[{".":57,"f":57}],"g":[{"m":57}],"k":[{"e":17,"l":[{"a":25,"u":[{"g":[{".":19}]}]}],"r":[{"o":23}],"w":[{"a":[{"a":15}]}]}],"l":[{".":57,"a":[{"a":[{"n":[{".":19}]}]}],"d":57,"s":126,"t":57}],"n":[{"d":76,"e":[{"r":[{"t":[{"s":19}]}]}],"g":[{"a":[{"a":[{"l":19,"n":21}]},10],"e":[{"g":[{".":21}]}],"r":47,"s":[{"u":[{"u":37},42]}]}],"k":[{"h":57,"w":[{"a":[{".":21}]}]}],"l":76,"v":57}],"p":[{"e":[{".":52,"s":52}]}],"r":[{"p":25}],"s":[{"a":[{"a":[{"n":15}]}],"j":6}],"t":[{"r":6}],"v":[{"e":[{"r":13}]}]}],"j":[{"a":66,"e":[{"s":[{"n":[{"i":15}]}]}],"o":[{"k":10}]},22],"k":[{"i":[{"s":[{"o":[{"b":15}]}]}],"o":[{"m":[{"s":91}]}]},72],"l":[{"a":[{"s":[{"i":[{"n":15}]}]},9],"i":9,"o":[{"n":[{"t":14}]},9]},72],"m":[{"e":[{"s":[{"t":[{"i":15}]}]}]},66],"n":[{"e":[{"y":[{"w":[{"e":15}]}]}],"o":[{"t":[{"s":91}]}]},72],"o":[{".":55,"e":[{"e":[{"i":[{"e":[{"n":19}]}]}],"f":[{".":52},57],"g":[{"l":[{"y":[{".":19}]}]}],"k":[{"l":[{"a":[{"p":19}]}],"r":23}],"l":[{".":57,"a":103,"e":[{"t":15},57],"o":[{"p":15}],"t":57}],"p":[{".":57,"l":[{"e":[{"i":19}]}]}],"r":[{"n":52,"o":[{"u":15}],"u":52}],"s":[{"l":23,"m":23,"w":[{"e":[{"l":19}]}]},55]}],"ë":[{"r":[{"o":[{"t":[{"i":19}]}]}]}],"f":[{"a":25,"e":[{"k":[{"s":[{"t":19}]}],"m":[{"i":[{"s":19}]}]}],"i":[{"o":18}],"o":[{"n":[{"d":[{"e":19}]}]}]}],"g":[{"l":25},55],"k":[{"l":[{"a":[{"s":[{".":19}]}],"e":[{"t":[{"t":19}]}]}],"o":[{"u":23}]}],"l":[{"i":[{"e":[{".":14}]}]}],"m":[{".":57}],"n":[{"d":57,"e":55,"g":[{"r":10,"s":13}],"t":[{"l":14,"s":14},57]}],"o":[{"n":55}],"p":[{"e":[{"r":14}],"h":[{"e":61}],"m":57,"o":[{"o":[{"r":[{"l":19}]}]}],"v":57}],"r":[{"e":[{"i":[{"e":[{"n":19}]}],"v":[{"a":[{"l":19}]}]}],"i":[{"n":[{"t":[{"e":19},4]}]}],"m":[{"a":[{"g":36}],"o":[{"m":15}]}]}],"s":[{"f":6,"t":[{"r":[{"o":15}]}]},44],"t":[{"r":6,"s":[{"t":[{"e":15}]}]}],"u":[{"s":51,"t":[{"j":[{"i":[{"e":19}]}]}],"w":[{"s":[{"r":15}]}]}],"w":[{"n":25}],"y":[{"o":[{"t":[{"a":[{".":19}]}]}]}]}],"p":[{"e":[{"n":[{"s":[{"k":42}]}]}],"i":[{"e":[{"t":[{"j":[{"i":37},42]}]}]}],"l":[{"e":[{"k":28}]}],"o":[{"o":[{"r":[{"t":[{"j":74},62]}]}]}],"s":[{"a":[{"l":14},25]}]},66],"r":[{"a":[{"a":[{"d":75,"m":14}],"d":[{"i":[{"s":52}]}],"f":[{"a":[{"s":15}],"o":[{"o":15},13]},57],"k":[{"t":[{"a":52}]}],"n":[{"s":[{"a":52,"f":52}]}],"p":[{"a":[{"f":15,"s":[{".":21}]}],"e":[{"w":15}],"l":[{"o":[{"ï":19}]}],"p":52}],"t":[{"j":23,"u":57},17]}],"e":[{"a":57,"c":9,"d":[{"a":14,"d":14}],"e":[{"k":57,"n":75},20],"ë":57,"g":[{".":57,"i":14}],"i":[{"n":[{"i":14,"k":15}],"s":57},25],"k":[{"a":10,"l":47,"o":10,"r":10,"w":[{"i":15},13]}],"r":20,"s":[{"e":14,"t":10}],"t":[{"a":[{"l":[{"b":19}]}],"j":13},10],"u":[{"k":14}],"w":[{"o":14}]}],"i":[{"b":[{"u":52}],"e":[{"f":14,"k":[{"l":42}],"s":52}],"g":[{"l":0}],"n":[{"g":57}]}],"o":[{"b":[{"o":28}],"e":[{"r":75}],"l":[{"a":[{"s":[{".":21},15]}],"i":[{"n":15}]}],"n":[{"a":[{"f":15}]}],"o":[{"m":57},17],"s":[{"k":[{"i":15}]}],"u":55,"v":55}],"u":[{"b":57,"g":76,"i":[{"t":[{"j":[{"i":21},62]}]}],"k":[{"o":[{"p":[{"p":19}]}]},57],"s":[{"t":[{"r":28}]}]}],"y":[{"k":57}]},22],"s":[{"a":[{"g":[{"t":11}],"m":20,"r":[{"g":11},20]}],"e":[{"k":[{"s":3}],"n":[{"g":3}],"r":[{"a":[{"f":15}],"y":[{"s":[{".":21},15]}]}]}],"i":[{"n":[{"g":[{"r":2}],"s":3,"v":11}],"t":[{"s":[{"i":[{"k":19}]}]}]}],"j":[{"a":[{"e":11}]}],"k":[{"a":[{"r":20}],"o":[{"k":11,"n":20,"r":20}],"r":[{"i":[{"e":2,"p":2}],"u":20}]}],"l":[{"a":[{"m":11}]}],"m":[{"a":[{"a":[{"k":63}]}],"e":[{"e":64,"l":25}],"o":[{"t":11,"u":14},20]}],"n":[{"a":[{"t":11}],"e":[{"u":11}]}],"o":[{"o":[{"n":11}]}],"p":[{"a":[{"s":3}],"e":[{"n":11}],"o":[{"t":11}],"r":[{"o":3}]}],"t":[{"e":[{"a":11,"l":14,"n":[{"d":2}]}],"i":25,"o":[{"e":[{"r":11}]}],"r":[{"o":[{"n":11}]}],"u":9}],"u":9,"w":[{"a":[{"a":[{"r":11}],"r":14}],"e":[{"n":14}],"i":[{"n":[{"g":4}]}],"y":[{"n":11}]}]},72],"t":[{"a":[{"t":[{"j":23}]}],"e":[{"l":[{"o":[{"ë":15}]}],"r":[{"a":[{"l":15,"m":15}],"i":[{"d":[{"g":19}]}],"o":10,"u":[{"i":[{"l":19}]}]}],"s":[{"l":[{"o":15}],"t":[{"a":36}]}],"u":[{"s":23}]}],"h":[{"e":25}],"i":[{"n":[{"g":[{"a":28}]}]}],"u":[{"u":[{"r":11}]}]},66],"u":[{"a":55,"e":55,"i":[{"g":55,"n":55,"t":[{"s":57}]}],"k":[{"l":25}],"m":[{"a":[{"a":[{"n":[{"w":19}]}]}]}],"r":[{"k":[{"n":[{"a":15}]}],"t":57}],"s":[{"a":[{"a":[{"r":[{"t":19}]}]}],"e":[{"t":[{"e":[{"r":19}]}]}],"s":[{"e":[{"n":79}]}]}],"t":[{"ê":[{"r":11}]}]}],"v":[{"l":[{"i":25}]},66],"w":[{"e":[{"e":[{"k":13,"l":13,"s":54}],"r":[{"p":[{"o":28}]}]}],"i":[{"s":[{"a":[{"p":15}]}]}]},66],"y":[{"d":[{"a":[{"a":[{"n":[{"w":19}]}]}],"l":[{"o":[{"n":[{"t":19}]}]}],"o":[{"r":[{"d":[{"e":19}]}]}],"r":30,"s":[{"a":[{"t":15}]}]},55],"e":55,"l":[{"o":[{"o":[{"r":[{"w":19}]}]}]}],"n":[{"s":[{"p":[{"r":[{"e":19}]}]}]},55],"o":6,"s":[{"t":[{"e":[{"r":14}]}]}]}],"z":[{"e":[{"n":[{"e":[{"l":15}]}]}]},66],"-":66},68],"u":[{"a":[{"e":[{"s":26}],"h":[{"u":[{"a":[{".":42}]}]}]},56],"b":[{"a":[{"g":12,"s":[{"l":[{"a":[{"g":19}]}]},17]}],"e":[{"k":[{"o":11}]}],"f":6,"g":[{"r":[{"o":11}]}],"i":[{"n":[{"t":11}]}],"l":[{"u":[{"n":11},20]},9],"o":[{"r":6}],"s":[{"c":[{"h":11}]}],"t":6,"v":6,"w":[{"y":[{"k":11}]}]}],"c":[{"k":[{"l":[{"e":[{"n":15}]}]}]}],"d":[{"a":[{"r":12}],"i":[{"t":[{"o":[{"p":15}]}]}],"r":[{"e":12,"i":20}],"s":[{"m":[{"e":[{"d":15}]}],"o":[{"r":11}],"t":[{"o":[{"e":4}],"y":[{"d":15}]}]}]}],"e":[{"b":[{"l":[{"o":23}]}],"r":[{"i":[{"o":[{"n":[{"e":19}]}]}],"o":[{"n":[{"d":[{"e":19}]},25]}]}],"s":[{"t":[{"r":[{"i":[{"a":19}]}]}]}],"u":[{"n":[{"i":11}]}]},56],"f":[{"r":[{"i":[{"n":11},20]}],"s":[{"m":[{"a":[{"a":15}]}]}]}],"g":[{"a":[{"a":[{"n":11}]}],"e":[{"i":20,"s":[{"k":[{"a":15}]}]}],"l":44,"o":[{"m":[{"o":[{"l":15}]}],"r":6},22],"r":59,"s":[{"k":10,"l":10,"o":[{"o":25}],"p":10,"t":[{"e":[{"k":15},11],"o":11}],"u":[{"i":11}]},6],"u":[{"b":25}]}],"i":[{"d":[{"a":[{"g":25,"r":[{"t":[{"s":19}]}]}],"o":38,"r":[{"e":[{"e":[{"k":19}]}]},25],"s":[{"i":[{"m":[{"b":19}]}],"k":[{"a":[{"t":19}],"e":[{"l":19}],"i":[{"l":19}]}],"l":[{"u":[{"i":19}]}],"p":[{"r":23}],"t":[{"o":[{"e":19},42]}]}],"u":[{"i":[{"t":[{"s":19}]}]}]}],"e":[{"r":[{"s":[{"w":62}]}],"s":[{"m":[{"a":[{"a":19},42]}]}]},44],"f":[{"a":38,"e":[{"e":[{"n":[{"d":19}]}]}],"l":[{"e":23}]}],"g":[{"o":25,"r":38,"s":51}],"k":[{"a":38,"l":38,"r":38,"s":[{"f":[{"e":[{"e":19}]}],"t":[{"a":15}]}],"u":[{"i":[{"t":[{"k":19}]}]}],"w":25}],"l":[{"a":[{"a":[{"p":[{".":19}]}]}],"e":[{"k":[{"s":23}],"s":[{"e":[{"l":19}]}]}],"o":[{"o":18}],"t":[{"j":[{"a":[{"n":19}]}]}]}],"m":[{"a":25,"o":[{"e":[{"s":[{".":19}]}]}]}],"n":[{"a":[{"e":11,"r":23,"s":[{"y":[{"n":19}]}]},25],"d":[{"r":[{"e":[{"k":19}]}]},17],"i":[{"v":[{"o":[{"o":19}]}]}],"k":[{"o":[{"l":[{"e":19}]}]}],"o":38,"s":[{"e":[{"r":[{".":19}]}],"i":23,"k":[{"a":15}]}]}],"p":[{"l":25,"o":[{"o":23,"r":[{"e":[{".":19}]}]},25],"r":[{"o":[{"e":[{"s":19}]}]}]}],"s":[{"a":38,"j":30,"o":38,"t":[{"a":23}]}],"t":[{"a":38,"d":[{"e":[{"i":[{"n":19}]}]}],"e":[{"e":18,"r":11}],"j":30,"r":30,"s":[{"j":10}],"-":[{"a":[{"s":15}]}]}]}],"k":[{"a":[{"a":[{"r":54},25]}],"l":[{"o":[{"o":11}]}],"o":[{"f":[{"f":11},20],"r":20}],"r":[{"a":[{"t":14}],"y":6}],"s":[{"e":[{"s":17}],"k":[{"i":25}],"m":10,"p":[{"o":[{"p":[{".":19}]}]}],"v":25}],"t":[{"h":25}],"u":[{"y":[{"a":[{"m":[{"a":19}]}]}]}],"w":59}],"l":[{"a":[{"g":6},56],"d":[{"e":[{"r":[{"k":23}]}]}],"e":[{"s":[{"t":[{"a":15}]}]}],"ê":[{"r":[{"-":[{"w":15}]}]}],"f":[{"a":[{"p":[{"i":15}]}]}],"i":[{"n":[{"s":11}]}],"o":[{"o":[{"g":11}]},56],"p":[{"e":[{"k":[{"s":[{"a":19}]}]}],"o":[{"o":[{"r":[{"t":19}]}],"r":[{"g":[{"a":19}]}]}]}],"s":[{"a":[{"a":25}],"o":[{"m":[{"s":15}]}]}],"t":[{"i":[{"n":[{"g":[{"e":19}]}]}],"u":[{"i":[{"t":[{".":19}]}]}]}],"u":56}],"m":[{"a":[{"g":[{"t":11}],"t":[{"j":23},17]},9],"e":9,"g":[{"r":[{"o":[{"k":15}]}]}],"i":[{"e":25},9],"o":[{"n":[{"d":11}]}],"s":[{".":25,"f":[{"e":[{"l":[{"d":19}]}]}]}],"u":[{"i":20,"s":10},9]},22],"n":[{"a":[{"r":[{"m":11}]}],"e":[{"r":[{"s":[{"t":42}]}]}],"i":[{"f":[{"o":52}],"v":55}],"k":[{"r":[{"e":[{"d":[{"a":19}]}]}]}],"s":[{"e":[{"n":[{"b":15}]}],"i":[{"d":25}],"k":[{"a":[{"p":15}],"o":[{"l":46,"o":[{"l":88}]}]}],"l":[{"a":[{"g":[{"g":19}]}]}],"t":[{"a":[{"a":[{"l":19}]}],"r":11}]},85],"t":[{"e":[{"e":[{"n":[{"h":19}]}]}],"i":[{"n":[{"n":4}]}],"r":[{"e":[{"a":[{"l":19}]}],"o":[{"e":15}]}],"s":[{"k":[{"o":42}],"w":23}]}],"u":[{"g":[{"s":[{".":42}]}]}]}],"o":56,"p":[{"i":[{"l":[{"o":[{"p":15}]}]}],"l":[{"y":20}],"o":[{"n":20}]}],"r":[{"a":[{"a":[{"r":11}],"f":6,"g":[{"t":11}],"k":6,"s":[{"t":131}],"t":[{"l":11}]},56],"e":[{"e":[{"n":11}],"f":[{"f":11},20],"u":[{"m":23}]}],"f":[{"l":[{"o":[{"o":[{"p":19}]}]}]}],"g":[{"h":[{"-":[{"s":15}]}],"l":[{"a":[{"a":[{"g":19}]}]}]}],"i":[{"n":[{"t":3}]}],"k":[{"e":[{"s":13}],"n":[{"a":[{"e":[{"l":19}]}]}]}],"o":[{"p":[{"e":[{"s":[{"i":19}]}]}]},56],"p":[{"a":[{"g":[{"t":[{"i":19}]}]}]}],"r":[{"h":[{"e":[{"i":[{"m":19}]}]}]}],"s":[{"a":[{"g":[{"t":[{"e":19}]}]}],"e":[{"k":18}],"f":[{"e":[{"e":15}]}],"l":[{"o":[{"o":4}]}],"m":[{"o":[{"u":[{"s":19}]}]}],"n":[{"o":25}],"o":[{"o":18}],"p":[{"a":[{"a":[{"r":19}],"r":15}],"r":25}],"w":[{"e":[{"e":15}],"i":[{"e":15}]}]}],"t":[{"o":[{"o":[{"r":31}],"p":25}],"r":[{"o":[{"o":[{"m":19}]}]}]}],"u":56,"y":56}],"s":[{"a":[{"g":6,"l":[{"a":[{"g":[{".":19}]}]}],"p":20}],"e":[{"e":[{"n":11}],"s":[{"t":23}]}],"h":[{"d":[{"i":[{"e":[{".":19}]}]}],"k":[{"o":[{"a":[{"l":19}]}]}]}],"i":[{"e":[{"k":[{"l":28},17]}],"n":[{"s":3}]}],"k":[{".":25,"o":[{"k":25}],"r":[{"i":25}]},59],"l":[{"u":89},59],"n":[{"o":20}],"o":[{"l":25,"r":25},59],"p":[{"i":[{"e":25}],"o":[{"t":11},20]},6],"s":[{"e":[{"u":[{"s":[{".":21}]}]}]}],"t":[{".":25,"a":[{"k":[{"t":23}],"v":[{".":42}]}],"b":25,"f":25,"g":25,"h":25,"i":[{"n":[{"k":4}]}],"o":25,"r":[{"e":[{"k":4}],"u":11}],"s":25},6],"w":6}],"t":[{"a":[{"d":[{"m":11}],"g":12,"s":[{"p":[{"e":[{"k":19}]}]}]},9],"e":[{"l":[{"i":[{"n":[{"g":19}]}]}],"r":[{"a":[{"g":[{"o":19}]}]}]},9],"i":9,"o":[{"p":[{"l":20}],"r":[{"g":11}]},9],"r":[{"e":[{"k":25}]}],"s":[{"l":[{"u":[{"i":[{"s":19}]}]}],"p":[{"r":25}]}],"u":9,"y":9},22],"u":[{"r":[{"i":30,"s":[{"i":[{"n":36}]}]},50],"s":[{"k":[{"h":[{"e":15}]}]},30],"t":[{"j":30}]},49],"w":[{"e":[{"e":[{"s":54}],"s":[{"m":[{"i":[{"t":19}]}]}]}]}],"y":[{"s":[{"t":[{"e":14}]}],"u":9}]}],"û":56,"ü":132,"v":[{"a":[{"a":[{"r":[{"s":[{"t":42}]}]}],"k":[{"a":[{"r":25}],"e":[{"i":[{"e":[{".":19}]}],"s":25}],"i":[{"e":11},25],"o":38,"r":25}],"l":[{"e":[{"s":[{"t":[{"e":19}]}]}],"f":[{"e":[{"e":[{"s":19}]}],"u":[{"n":[{"k":19}]}]}],"i":[{"s":[{"o":[{"g":19}]}]}],"k":[{"o":[{"ë":[{".":21}]}]}],"o":[{"p":[{"t":[{"o":19}]}]}],"s":[{"a":10,"p":[{"a":[{"n":21},15],"o":15,"r":15}],"t":[{"e":36,"h":15}]}]}],"n":[{"e":[{"e":18,"f":[{"f":[{"e":19}]}]}],"g":[{"a":[{"p":15}],"r":[{"e":15}]}],"u":[{"i":[{"t":[{".":19}]}]}]}],"r":[{"i":[{"e":[{"t":13}]}],"k":[{"j":[{"a":15}],"l":[{"e":15}],"n":47,"o":47,"r":47}]}],"s":[{"e":[{"n":[{"t":[{".":19}]}]}],"o":[{"o":[{"r":15}]}],"w":[{"a":[{"a":[{"i":19}]}]}]}]}],"e":[{"d":6,"e":[{"k":[{"o":[{"n":[{"g":19}]}],"r":23}],"l":10,"r":[{"a":13}],"s":51}],"g":[{"a":[{".":48}]}],"i":[{"s":[{"t":23},17]}],"l":[{"d":[{"o":[{"n":15}],"r":47}],"o":[{"o":23,"p":11}],"s":[{"m":23,"p":[{"l":[{"e":19}]}]}],"u":[{"m":11}]}],"n":[{"a":6,"e":6,"o":[{"r":11}],"t":[{"j":47}],"u":6}],"p":[{"l":[{"e":[{"g":[{"i":19}]}]}]}],"r":[{"a":[{".":48}],"d":[{"i":[{"e":[{"n":[{"s":134}]}]}]},17],"e":[{"b":11,"k":11,"m":[{"a":15}],"n":[{"a":15,"d":11}],"v":[{"e":15}]}],"f":[{"l":[{"u":15}],"r":[{"u":15}]}],"i":[{"n":[{"n":31}]},6],"k":[{"l":23,"w":23},17],"o":[{"n":[{"a":[{".":1}]}]}],"s":[{"a":23,"k":[{"i":[{"n":19},42],"o":[{"p":[{".":53}]}]}],"l":23,"m":[{"a":[{"g":42}]},23],"p":23,"t":[{"a":[{"l":19}]}],"w":[{"a":[{"a":[{"r":53}]}]},0]}],"t":[{"j":47,"w":23}]},133],"s":[{"p":30,"t":[{"a":[{"a":[{"l":19}]}]},30],"u":[{"v":11}]}],"t":[{"i":[{"n":23}],"j":[{"i":23}],"o":[{"p":[{"g":[{"a":19}]}]}],"r":30,"s":[{"m":23},17]}]},49],"i":[{"d":[{"s":[{"o":23}]}],"e":[{"r":[{"i":[{"n":[{"g":19}]}]}]}],"g":[{"s":10}],"r":[{"a":[{"g":11}],"g":25,"-":25}],"s":[{"a":[{"r":25}],"o":[{"l":23,"o":[{"g":[{".":19}]}]},25],"t":[{"r":23}]}],"t":[{"r":[{"a":[{"t":[{"e":19}]}]},6]}]}],"l":[{"a":[{"g":[{"s":13}],"k":[{"o":[{"e":[{"k":19}]}]},10],"s":[{"a":[{"k":15}]}]}],"e":[{"k":[{"l":13},10]}],"i":[{"e":[{"s":[{"o":42}]},20]}]}],"o":[{"e":[{"r":[{"e":[{"k":15}],"u":[{"i":15}]}]}],"ë":[{"l":[{"o":[{"ë":[{".":21}]}]},10]}],"g":[{"i":[{"n":[{"h":[{"o":19}]}]}],"r":25}],"l":[{"e":[{"i":25}],"g":[{"a":47,"o":[{"n":15}]}],"o":38,"s":[{"o":[{"n":[{"g":19}]}]}],"u":[{"i":[{"t":[{".":19}]}]}],"y":[{"w":[{"e":[{"r":19}]}]}]}],"n":[{"d":[{"s":[{"t":[{"e":43}]}]}],"k":[{"l":[{"o":15}]}]}],"o":[{"d":[{"o":[{"o":[{".":19}]}]}],"r":[{"s":67}]}],"r":[{"s":[{"t":[{"e":[{"r":19}]},47]}]}],"u":[{"p":[{"o":[{"p":[{"s":19}]}]}],"t":[{"j":23}]}]}],"r":[{"a":[{"g":[{"r":[{"y":15}]}]}],"e":[{".":20,"e":[{"t":[{"j":[{"i":37},42]}]}]}],"i":[{"e":[{"s":[{"p":42}]}],"j":[{"z":[{"e":15}]}]}],"y":[{"d":[{"u":[{"i":[{"k":19}]}]}],"k":[{"y":[{"k":[{".":19}]}]}],"s":[{"t":23},51],"u":[{"i":[{"t":[{".":19}]}]}]}]}],"u":[{"e":[{".":25}],"y":[{"o":[{".":48}]}]}],"y":[{"f":[{"a":[{"r":[{"m":[{"i":19}]}]}]}],"s":6}]},69],"w":[{".":66,"a":[{"e":[{"l":[{"a":[{"t":15}]},57],"o":94}],"g":[{".":55,"l":[{"a":[{"s":15}]}]}],"l":[{"s":[{"t":[{"e":15}]}]}],"n":[{"d":[{"s":[{"k":42}]}],"g":[{"a":[{"a":15}]}],"i":[{"n":[{"g":[{"e":19}]}]}],"s":[{"m":23},17]}],"p":[{"e":[{"n":52}]}],"r":[{"m":55,"s":[{"e":[{".":42}]},71],"t":[{"h":[{"i":15}],"j":47,"o":[{"ë":[{".":21},15],"o":15}],"r":47,"y":[{"s":15}]},57]}],"s":[{"h":[{"i":11}],"k":[{"a":[{"a":15}]}],"l":[{"a":23}],"m":[{"o":[{"u":15}]}],"p":[{"a":[{"n":[{".":19}]}]}],"t":[{"r":11}]}],"t":[{"e":[{"r":[{"a":[{"a":37},42]}]}],"s":[{"o":23}]}]}],"e":[{"b":[{"a":[{"d":25}],"m":25,"r":[{"u":18}],"t":[{"a":[{"a":[{"l":19}]}]}],"v":[{"l":[{"i":[{"e":19}]}]}]}],"d":[{"r":[{"a":11,"y":11},38],"y":25},55],"e":[{"f":[{"s":[{"e":52}]}],"g":[{"s":[{".":42}]}],"r":[{"a":[{"n":23}]}],"s":[{"a":23,"k":[{"a":[{"a":19}],"o":23}],"l":23,"p":0,"t":23}],"t":[{"r":[{"u":15}]}]}],"g":[{"a":25,"d":[{"o":[{"f":[{".":19}]}]}],"l":30,"o":[{"r":[{"d":[{"e":19}]}]},25],"r":38,"s":[{"t":23},51],"u":25},55],"i":[{"s":57}],"k":[{"r":[{"o":18}],"u":[{"u":[{"r":[{".":19}]}]}]}],"l":[{"a":[{"a":[{"n":[{"b":19}]}],"r":[{"g":4}]}],"e":[{"e":18}],"f":[{"l":[{"a":[{"n":19}]}],"r":[{"o":[{"n":19}]}]}],"o":[{"o":[{"r":23}],"p":18}],"s":[{"k":[{"e":15}]}]}],"m":[{"o":[{"s":[{".":15}]},38]}],"n":[{"a":[{"k":25,"s":18}],"e":[{"e":[{"n":[{"s":19}]}]}],"s":[{"a":[{"d":15,"n":15,"r":15}],"e":[{"i":15,"r":15,"s":15}],"k":[{"a":13,"u":[{"d":19}]},10],"l":47,"o":10,"p":[{"r":15}],"t":[{"e":[{"s":21},15]}],"u":47}]}],"r":[{"e":[{"s":[{"s":[{"e":19}]}]}],"f":[{"o":[{"m":15}]}],"g":[{"a":[{"r":15}],"r":[{"e":15}]}],"i":[{"n":[{"t":15}]}],"k":[{"a":[{"d":15,"f":36}],"e":[{"s":15}],"l":[{"a":[{"a":21,"n":19,"p":19}],"o":[{"k":19}]},10],"o":[{"m":[{"s":15}],"n":[{"y":19},15]}],"r":[{"e":15,"o":15}],"u":[{"u":15}],"w":[{"a":23},10],"y":10},55],"o":38,"p":[{"a":[{"f":15,"n":15}],"l":[{"o":15}],"o":[{"n":15,"o":15,"r":15}]}],"s":[{"m":[{"e":[{"d":19}]}]}],"u":[{"i":[{"l":[{".":19}]}]}]}],"s":[{"m":[{"i":[{"t":15}]}],"o":[{"e":[{"w":[{"e":19}]}]}],"p":[{"e":[{"m":[{"i":19}]}]},25],"t":[{"a":11,"h":10,"r":61},38],"w":[{"a":[{"a":[{"r":19}]}]}]}],"t":[{".":55,"r":[{"e":[{"g":[{"u":19}]}]}],"s":[{"o":47,"t":47}],"w":[{"y":[{"s":[{"i":19}]}]}]}]}],"ê":[{"r":55}],"f":[{"o":[{"n":57}]}],"i":[{"d":[{"s":[{"t":[{"o":[{"r":21}]}]}]}],"e":[{"l":[{"a":13}],"t":[{"j":47}]}],"g":[{"r":25}],"k":[{"l":25,"o":25,"s":[{"t":[{"e":[{".":21}]}]}]}],"l":[{"d":[{"a":[{"g":15}]}],"s":[{"i":[{"n":15}],"k":10}]}],"n":[{"d":[{"a":[{"s":[{".":21}]}],"e":[{"l":15}],"o":[{"p":[{".":21},15]}],"r":[{"u":[{"k":21}]},10]}],"k":[{"l":[{"e":15}]}],"s":[{"k":[{"y":[{".":19}]},10],"t":[{"o":[{"n":19}]},47]}],"t":[{"a":[{"p":15}],"e":[{"s":15}]}]}],"p":[{"l":[{"i":[{"g":[{".":19}]}]}],"r":[{"o":[{"o":[{"s":19}]}]}]}],"t":[{"e":[{"l":23}],"i":[{"n":[{"k":[{"b":19}]}]}],"j":[{"i":23}],"o":38,"r":[{"o":23}]}]}],"j":[{"e":[{"t":[{"u":[{"n":15}]}]}]},66],"o":[{"e":[{"g":57,"s":10}],"l":[{"a":38,"i":[{"n":[{"v":[{"o":19}]}]}],"k":[{"l":[{"o":15}]}],"o":38}],"o":[{"r":[{"d":[{"r":42}]}]}],"r":[{"u":[{"m":11}]}],"u":[{"d":[{"a":[{"g":15}]}]}]}],"r":[{"e":[{"e":17}],"i":[{"g":[{"o":[{"n":15}]}]}]},22],"s":66,"u":[{"r":[{"g":[{"r":10}],"m":[{"a":13},10]}]}],"w":[{"e":[{"r":[{"i":[{"n":[{"t":19}]}]}]}]},66],"y":[{"d":[{"o":[{"o":23}],"u":[{"i":[{"t":[{"e":19}]}]}]}],"k":[{"w":[{"a":[{"s":15}]}]}],"n":[{"a":[{"n":[{"d":15}]}],"s":[{"m":23}]}],"s":[{"a":[{"k":[{"s":[{"i":19}]}]}],"k":30,"p":30,"t":[{"a":23}]},55],"t":[{"r":[{"a":[{"a":[{"k":19}]}]}]}]}]},68],"x":[{"\'":[{"i":[{"e":[{".":48}]}]}],"a":56,"e":[{"m":9,"r":[{"o":[{"x":[{"e":[{".":37}]}]}]}]},44],"h":22,"i":56,"y":[{"s":[{"t":[{"e":[{".":15}]}]}]}]}],"y":[{"a":[{"m":[{"a":20}]},56],"b":[{"e":[{"l":[{"i":[{"l":15}]}]}]}],"d":[{"a":9,"e":[{"n":[{"s":17}]},9],"g":[{"e":[{"l":[{"e":29}]}],"l":[{"e":[{"u":15}]}]}],"i":9,"o":[{"f":6}],"r":[{"e":6,"o":6}],"s":[{"i":[{"n":25}],"k":[{"a":[{"t":4}],"r":[{"i":[{"t":19}]}]}],"o":[{"r":[{"d":[{"e":19}]}]}]}]},22],"e":[{"n":[{"n":20}],"r":[{"h":[{"o":[{"f":[{".":19}]}]}],"m":[{"a":[{"a":[{"t":19}]}]}],"s":10,"t":[{"o":[{"n":[{".":19}]}]}],"v":[{"i":[{"l":[{"l":19}]}],"o":[{"ë":[{"l":19}]}]}]},86],"s":[{"a":[{"g":[{"t":15}]}]}],"u":55},56],"f":[{"a":[{"a":6,"r":20,"s":[{".":11}]}],"l":6,"r":[{"e":[{"n":11}]},59],"s":[{"l":25,"u":25}]}],"g":[{"l":[{"e":25,"i":25,"y":25}],"s":[{"a":[{"a":11}],"k":[{"a":[{"n":[{"s":19}]}],"o":11}],"l":[{"e":23}],"t":[{"e":[{"k":15}],"o":25,"u":25}]}]},56],"k":[{"a":[{"a":[{"r":54}]}],"e":[{"r":[{"s":[{"t":42}]}]}],"i":[{"n":[{"s":3}]}],"l":[{"i":6,"u":[{"i":11,"s":11},25]},22],"o":[{"m":[{"s":54}],"r":20}],"r":[{"i":6}],"s":[{"a":[{"d":18}],"k":[{"a":[{"n":[{"s":19}]}]},25],"p":6,"t":10,"u":25}],"w":59}],"l":[{"a":56,"o":[{"e":20},56],"s":[{"l":[{"a":[{"a":[{"r":19}]}]}]}]}],"n":[{"a":[{".":25},32],"e":[{"i":20,"t":[{"e":3}]}],"g":95,"k":[{"l":[{"i":11}],"w":[{"a":11}]}],"o":[{"m":89},32],"s":[{"a":[{"g":[{"t":15}],"m":18}],"i":[{"n":[{"s":23}]}],"l":[{"y":11}],"m":[{"a":[{"a":[{"n":19}]}]},10],"o":[{"r":18}],"p":[{"a":[{"a":[{"r":19}]}]},25],"t":10}],"u":6}],"o":[{"y":[{"o":[{".":48}]}]}],"p":[{"a":9,"e":9,"i":9,"l":[{"a":[{"n":14}],"i":6}],"o":[{"r":[{"g":11}]}],"r":9,"u":9},22],"r":56,"s":[{"a":[{"m":20}],"i":[{"g":25,"n":[{"d":3,"s":3}]}],"k":[{"a":[{"r":11}],"o":[{"o":64},6]},22],"l":59,"n":59,"o":[{"k":25,"u":25},59],"p":[{"o":[{"e":11}]}],"t":[{"a":[{"f":3},25],"e":[{"l":64,"r":20}],"r":89,"u":25},6],"u":[{"i":6}],"w":6}],"t":[{"a":[{"g":6},9],"e":9,"h":[{"a":25}],"i":9,"j":9,"o":9,"u":9,"y":9},22],"v":[{"e":[{"s":[{"a":[{"n":[{"t":19}]}]}]}]}]}],"z":[{".":66,"b":[{"u":[{"r":57}]}],"e":[{"e":[{"r":[{"u":[{"s":[{"t":19}]}]}]}],"n":[{"e":[{"l":[{"l":[{"e":19}]}]}]}]}],"i":[{"c":[{"a":[{"t":11}]},49]}],"m":[{"a":[{"n":57}]}],"o":[{"o":[{"k":[{"a":[{".":42}]}]}]}],"z":66},68],"-":[{"e":[{"r":[{"t":[{"j":13},10]}]}],"h":[{"a":[{"-":[{"h":[{"a":[{".":21}]}]}]}]}],"k":[{"l":[{"i":25}]}],"n":[{"a":[{"g":[{"e":[{"w":15}]}]}]}],"s":[{"t":[{"i":25}]}],"t":[{"w":[{"e":[{"e":14},25]}]}]},72]}',"sandaal.aand-e-tes.aan-gons.aan-sit-riem.af-ets.af-glooi.a-fri-kaans-eer-ste-taal-spre-ker.al-berts-kroon.al-ler-geen.baad-jie-mou-e.baan-vak.bar-mit-swa.boek-il-lus-tra-sies.bruids-ka-mer.buf-fels-poort.bur-ger-drag.chris-sies-meer.da-gha-men-ger.dak-oor-hang.dek-la-ding.dek-weef-sel.del-gings-fonds-plan.deur-swer-we.di-a-lek-woor-de-boek.dik-bek-wind.di-vi-dend-uit-ke-ring.dom-siek-te.drie-hoeks-me-ting.druk-ker-fonts.ei-en-doms-wê-reld.eks-trin-sie-ke.e-lands-kraal.e-lek-tro-ne-ga-ti-wi-teit.et-ter-sweer.fru-ga-le.gang-lig.gars-aar.ge-beds-ket-ting.ge-bruik-sfeer.ge-loofs-i-den-ti-teit.gem-mer-es-sens.ge-skoert.ge-slags-om-gang.ge-voels-kri-tiek.ge-voels-waar-de.ge-we-tens-angs.ge-wrig-smeer.gras-ta-pyt.grie-kwa.groeps-por-tret-te.grond-sop.haard-ys-ter.haat-skrif.han-dels-per-seel.han-ger-tjie-hei-de.har-sing-aan-doe-ning.hel-toe-gaan-vloek-woor-de.hond-ag-tig.ie-der-een.in-dink.in-gaar.in-skink.in-steek-slot.in-tap.in-ter-net-om-ge-wing.in-tree-da-tum.in-twy-fel-trek-king.ja-ka-ran-da-ko-nin-gin.jong-mei-sie-dro-me.ka-juits-maat.ka-li-glas.kam-de-bo-stink-hout.ka-me-roens.kam-sti-ge.kant-ruit.ka-ree-paal.karst-treg-ter.keg-an-ker.kies-a-re-as.klik-spaan.knal-kwik.kon-sep-or-don-nan-sie.kooks-oond.ko-tan-gens.kui-pers-am-bag.kuns-te-ra-de.kwak-sal-wers-mid-del.lamp-staan-der.lands-op-me-ting.lang-ter-myn-im-pak.lang-u-re.la-ven-tel-tak-kies.le-wens-kiem.lies-maat.lig-gaams-tem-pe-ra-tuur.limf-weef-sel.lip-om-ly-ner.maand-uit-ga-we.man-gaan-staal.mas-korf.mens-ky-ker.me-to-diek-es-sen-sies.mid-o-se-a-nie-se.mou-ska-kel.na-gaan-de.nar-re-slee.ne-gev-woes-tyn.nek-a-re.om-me-swaai.on-der-wys-ak-sie.on-tra-di-si-o-ne-le.oor-deels-plek.o-ra-gie.paarl-oos.pa-si-ënt-re-kords.pas-to-rie-tuin.plan-ke-koors.poe-toe-pap.pos-a-dres.pot-te-bak-kers-oond.pries-ter-amp.prins-loo-straat.proe-gla-sie.pte-ri-gi-um.raar-der.re-gi-ments-kom-man-dant.regs-en-ti-teit.res-lap.rond-skink.rooi-poot-el-sie.room-ter-te.ru-staal.se-ren-ge-ti.seun-so-praan.siek-wees.sies-tog.skaats-loop-baan.skree-tjies.slet-jie.snik-warm.soet-o-lie.son-de-val.sor-ghum-oes.spoed-oe-fe-nin-ge.spoor-weg-in-kom-ste.stads-nôi.sti-let-jie.stok-siel-sa-lig-al-leen.straat-slim.stre-pies-fer-weel.suid-ein-de.suip-roes.swaan-nes-te.swart-aas-vo-ëls.swie-ren-ga.ta-ke-la-sie.teen-sank-sies.tip-pe-ra-ry.tref-en-trap-on-ge-luk.tui-me-laar-dop.twis-ap-pel.tyds-ter-me.ui-er-sweer.uit-tree-loon.val-reep-leer.ver-band-uit-ma-ker.ver-koops-wel-sla-e.ver-sap-te.ver-val-funk-sie.ver-wy-sings-half-le-we-in-deks.vin-ger-e-te.volks-e-mo-sie.volks-ka-pi-ta-lis-me.vol-son-ge.vond-se.vos-kop.vre-des-en-gel.vre-des-par-ty.wa-pen-stil-stand.wa-ter-ver-koe-lings-to-rings.we-du-wee-skof.wel-oor-wo-ë.werp-lood.wes-oe-wer.xho-sa-tjie".split(".")]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/854.adapter.js b/public/tools/cloud_sheets/vendor/univer/854.adapter.js new file mode 100644 index 0000000..f2a9ea0 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/854.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[854],{854(s,o,e){e.r(o),e.d(o,{Ml:()=>l});const l=["22,11,01,1,21,002,2",'{"‍":0,"‌":1,"അ":1,"ആ":1,"ഇ":1,"ഈ":1,"ഉ":1,"ഊ":1,"ഋ":1,"ൠ":1,"ഌ":1,"ൡ":1,"എ":1,"ഏ":1,"ഐ":1,"ഒ":1,"ഓ":1,"ഔ":1,"ാ":2,"ി":2,"ീ":2,"ു":2,"ൂ":2,"ൃ":2,"െ":2,"േ":2,"ൈ":2,"ൊ":2,"ോ":2,"ൌ":2,"ൗ":2,"ക":[{"്":[{"‍":6},5]},3],"ഖ":3,"ഗ":3,"ഘ":3,"ങ":3,"ച":3,"ഛ":3,"ജ":3,"ഝ":3,"ഞ":3,"ട":3,"ഠ":3,"ഡ":3,"ഢ":3,"ണ":[{"്":[{"‍":6},5]},3],"ത":3,"ഥ":3,"ദ":3,"ധ":3,"ന":[{"്":[{"‍":6},5]},3],"പ":3,"ഫ":3,"ബ":3,"ഭ":3,"മ":3,"യ":3,"ര":[{"്":[{"‍":6},5]},3],"റ":3,"ല":[{"്":[{"‍":6},5]},3],"ള":[{"്":[{"‍":6},5]},3],"ഴ":3,"വ":3,"ശ":3,"ഷ":3,"സ":3,"ഹ":3,"ഃ":4,"ം":4,"്":0,"ൺ":6,"ൻ":6,"ർ":6,"ൽ":6,"ൾ":6,"ൿ":6}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/8598.adapter.js b/public/tools/cloud_sheets/vendor/univer/8598.adapter.js new file mode 100644 index 0000000..45686e5 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/8598.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[8598],{8598(e,a,o){o.r(a),o.d(a,{Hsb:()=>u});const u=["8,85,063,074,32,188,032,0302,0322,0122,012,001,001001,021,00212,030001,087001,0870081,01,00001,00012,02,1,002,010043,4,0012,0011,0023,0001034,12,21,02001,008703,00870081,0087,0001,22,0043,004303,00401,0041,0001041,0042,0001042,04,00441,0021,00043,00054,000443,00021,00032,00221,02023,010033,00023,000023,122,1222,401,18,023,000103,041,0043001,00010421,00403,00000403,001222",'{"ě":[{"b":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"j":6,"r":6,"l":6}],"c":[{"a":6,"e":6,"o":6,"u":6,"y":6,"h":[{"a":7,"e":7,"o":7,"u":7,"i":7}]}],"ć":[{"a":6,"e":6,"i":6,"o":6,"u":6}],"č":[{"a":6,"e":6,"i":6,"o":6,"u":6}],"d":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"ź":[{"a":8,"e":8,"i":8,"o":8,"u":8,"y":8}],"l":7,"r":7}],"f":[{"a":6,"e":6,"y":6,"o":6,"u":6,"i":6,"l":6,"r":8}],"g":[{"r":9,"l":9,"a":10,"e":10,"o":10,"u":10,"i":10}],"h":[{"a":10,"o":10,"u":10,"i":10}],"j":[{"a":10,"e":10,"i":10,"o":10,"u":10},11],"k":[{"a":10,"e":10,"i":10,"u":10,"o":10,"r":10,"l":10}],"ł":[{"a":10,"e":10,"o":10,"u":10,"y":10}],"l":[{"a":10,"e":10,"o":10,"u":10,"i":10}],"m":[{"a":6,"o":6,"u":6,"i":6,"e":6,"y":6,"j":6}],"n":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"j":6}],"p":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"j":6,"l":6,"r":6}],"r":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"j":6}],"s":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"t":6}],"š":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"t":[{"a":[{"p":6}]}]},11],"t":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"r":6,"l":6,"n":62}],"w":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"j":6}],"z":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6}],"ž":[{"a":6,"e":6,"i":6,"o":6,"u":6},13]},0],"ń":[{"č":[{"a":3,"e":3,"i":3,"u":3,"o":3},2]},1],"ó":[{"b":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"j":6,"r":6,"l":6}],"c":[{"a":6,"e":6,"o":6,"u":6,"y":6,"h":[{"a":7,"e":7,"o":7,"u":7,"i":7}]}],"ć":[{"a":6,"e":6,"i":6,"o":6,"u":6}],"č":[{"a":6,"e":6,"i":6,"o":6,"u":6}],"d":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"ź":[{"a":8,"e":8,"i":8,"o":8,"u":8,"y":8}],"l":7,"r":7}],"f":[{"a":6,"e":6,"y":6,"o":6,"u":6,"i":6,"l":6,"r":8}],"g":[{"r":9,"l":9,"a":10,"e":10,"o":10,"u":10,"i":10}],"h":[{"a":10,"o":10,"u":10,"i":10}],"j":[{"a":10,"e":10,"i":10,"o":10,"u":10},11],"k":[{"a":10,"e":10,"i":10,"u":10,"o":10,"r":10,"l":10}],"ł":[{"a":10,"e":10,"o":10,"u":10,"y":10},11],"l":[{"a":10,"e":10,"o":10,"u":10,"i":10}],"m":[{"a":6,"o":6,"u":6,"i":6,"e":6,"y":6,"j":6}],"n":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"j":6}],"p":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"j":6,"l":6,"r":6}],"r":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"j":6}],"s":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"t":6}],"š":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"t":[{"a":[{"p":6}]}]},11],"t":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"r":6,"l":6}],"w":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"j":6}],"z":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6}],"ž":[{"a":6,"e":6,"i":6,"o":6,"u":6},13]},0],"š":[{"ć":4,"t":[{"o":[{".":30}]}],"l":[{"i":[{".":30}]}],"ł":[{"e":[{".":30,"j":[{".":30}]}],"a":[{".":30,"j":[{".":30}]}],"o":[{"j":[{".":30}]}]}],"o":[{"ł":[{".":30}]},61],"a":61,"e":61,"ě":61,"i":61,"u":61},18],"ź":0,"k":[{"ř":5,"a":22,"c":18,"u":[{"z":[{"ł":36,"l":36}]},22],"i":22,"n":[{"y":[{"s":[{"k":32}]}]},18],"o":[{"n":[{"j":[{"u":[{"g":33,"n":[{"k":34}]}]}],"u":[{"r":[{"b":35}]}]}]},22],"s":[{"t":[{".":37}]},18],"t":[{"u":[{".":21}]},18]}],"p":[{"ř":[{"e":[{"d":[{"a":49,"o":49,"i":49,"u":49,"r":[{"a":[{"s":[{"t":49,"ć":49}]}]}],"e":50},48]},36]},5],"j":45,"o":[{"d":[{"e":46},38],"m":[{"h":47,"ń":23}]},11],"r":[{"a":[{"w":19,"s":[{"k":[{"a":56}]}]}]}],"l":[{"u":[{"s":[{"k":[{"a":56}]}]}]}]}],"t":[{"ř":5,"d":18,"k":18,"m":18,"n":18,"p":18}],"a":[{"b":[{"a":6,"e":6,"ě":6,"i":6,"o":6,"u":6,"y":6,"j":6,"r":6,"l":6,"ł":6}],"c":[{"a":6,"e":6,"o":6,"u":6,"y":6,"i":6,"h":[{"a":7,"e":7,"o":7,"u":7,"y":7,"i":7}]}],"ć":[{"a":6,"e":6,"i":6,"o":6,"u":6}],"č":[{"a":6,"e":6,"ě":6,"i":6,"o":6,"u":6}],"d":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"ź":[{"a":8,"e":8,"ě":8,"i":8,"o":8,"u":8,"y":8}],"l":7,"r":7}],"f":[{"a":6,"e":6,"y":6,"o":6,"u":6,"i":6,"l":6,"r":8}],"g":[{"r":9,"l":9,"a":10,"e":10,"ě":10,"o":10,"u":10,"i":10}],"h":[{"a":10,"e":10,"ě":10,"o":10,"u":10,"i":10}],"j":[{"a":10,"e":10,"ě":10,"i":10,"o":10,"u":10},11],"k":[{"a":10,"e":10,"i":10,"u":10,"o":10,"r":10,"l":10}],"ł":[{"a":6,"e":6,"o":6,"u":6,"y":6},11],"l":[{"a":6,"e":6,"ě":6,"o":6,"u":6,"i":6,"y":6}],"m":[{"a":6,"o":6,"u":6,"i":6,"e":6,"ě":6,"y":6,"j":6}],"n":[{"a":6,"e":6,"ě":6,"i":6,"o":6,"u":6,"y":6,"j":6}],"p":[{"a":6,"e":6,"ě":6,"i":6,"o":6,"u":6,"y":6,"j":6,"l":6,"r":6}],"r":[{"a":6,"e":6,"ě":6,"i":6,"o":6,"u":6,"y":6,"j":6}],"s":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"p":[{"e":[{"k":[{"t":12}]}]}],"t":6}],"š":[{"a":6,"e":6,"ě":6,"i":6,"o":6,"u":6,"y":6,"t":[{"a":[{"p":6}]}],"n":[{"j":13}]},11],"t":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"r":6,"l":6}],"w":[{"a":6,"e":6,"ě":6,"i":6,"n":13,"o":6,"u":6,"y":6,"j":6}],"z":[{"a":6,"e":6,"ě":6,"i":6,"o":6,"u":6,"y":6}],"ž":[{"a":6,"e":6,"ě":6,"i":6,"o":6,"u":6},13]}],"e":[{"b":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"j":6,"r":6,"ł":6,"l":6}],"c":[{"a":6,"e":6,"o":6,"u":6,"y":6,"i":6,"h":[{"a":7,"e":7,"o":7,"u":7,"i":7}]}],"ć":[{"a":6,"e":6,"i":6,"o":6,"u":6}],"č":[{"a":6,"e":6,"i":6,"o":6,"u":6}],"d":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"ź":[{"a":8,"e":8,"i":8,"o":8,"u":8,"y":8}],"l":7,"r":7}],"f":[{"a":6,"e":6,"y":6,"o":6,"u":6,"i":6,"l":6,"r":8}],"g":[{"r":9,"l":9,"a":10,"e":10,"o":10,"u":10,"i":10}],"h":[{"a":10,"o":10,"u":10,"i":10}],"j":[{"a":10,"e":10,"i":10,"o":10,"u":10},11],"k":[{"a":10,"e":10,"i":10,"u":10,"o":10,"r":10,"l":10}],"ł":[{"a":10,"e":10,"o":10,"u":10,"y":10},11],"l":[{"a":10,"e":10,"o":10,"u":10,"i":10}],"m":[{"a":6,"o":6,"u":6,"i":6,"e":6,"y":6,"j":6}],"n":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"j":6}],"p":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"j":6,"l":6,"r":6}],"r":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"j":6,"b":[{"s":[{"k":14}]}]}],"s":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"t":6}],"š":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"t":[{"a":[{"p":6}]}]},11],"t":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"r":6,"l":6}],"w":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"j":6}],"z":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6}],"ž":[{"a":6,"e":6,"i":6,"o":6,"u":6},13]}],"i":[{"b":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"j":6,"r":6,"l":6}],"c":[{"a":6,"e":6,"o":6,"u":6,"y":6,"i":6,"h":[{"a":7,"e":7,"o":7,"u":7,"i":7}]}],"ć":[{"a":6,"e":6,"i":6,"o":6,"u":6}],"č":[{"a":6,"e":6,"i":6,"o":6,"u":6}],"d":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"ź":[{"a":8,"e":8,"i":8,"o":8,"u":8,"y":8}],"l":7,"r":7}],"f":[{"a":6,"e":6,"y":6,"o":6,"u":6,"i":6,"l":6,"r":8}],"g":[{"r":9,"l":9,"a":10,"e":10,"o":10,"u":10,"i":10}],"h":[{"a":10,"o":10,"u":10,"i":10}],"j":[{"a":10,"e":10,"i":10,"o":10,"u":10},11],"k":[{"a":10,"e":10,"i":10,"u":10,"o":10,"r":10,"l":10}],"ł":[{"a":10,"e":10,"o":10,"u":10,"y":10},11],"l":[{"a":10,"e":10,"o":10,"u":10,"i":10}],"m":[{"a":6,"o":6,"u":6,"i":6,"e":6,"y":6,"j":6,"p":[{"l":[{"e":11}]}]}],"n":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"j":6}],"p":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"j":6,"l":6,"r":6}],"r":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"j":6}],"s":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"t":6}],"š":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"t":[{"a":[{"p":6}]}]},11],"t":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"r":6,"l":6}],"w":[{"a":6,"e":6,"i":6,"o":6,"n":13,"u":6,"y":6,"j":6}],"z":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"n":[{"a":[{".":11}],"y":[{".":11}],"u":[{".":11}],"j":[{"e":[{".":11}]}],"o":11}]}],"ž":[{"a":6,"e":6,"i":6,"o":6,"u":6},13]}],"o":[{"b":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"j":6,"r":6,"l":6}],"c":[{"a":6,"e":6,"o":6,"u":6,"y":6,"h":[{"a":7,"e":7,"o":7,"u":7,"i":7}]}],"ć":[{"a":6,"e":6,"i":6,"o":6,"u":6}],"č":[{"a":6,"e":6,"i":6,"o":6,"u":6}],"d":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"ź":[{"a":8,"e":8,"i":8,"o":8,"u":8,"y":8}],"l":7,"r":7}],"f":[{"a":6,"e":6,"y":6,"o":6,"u":6,"i":6,"l":6,"r":8}],"g":[{"r":9,"l":9,"a":10,"e":10,"o":10,"u":10,"i":10}],"h":[{"a":10,"o":10,"u":10,"i":10}],"j":[{"a":10,"e":10,"i":10,"o":10,"u":10},11],"k":[{"a":10,"e":10,"i":10,"u":10,"o":10,"r":10,"l":10,"ł":10}],"ł":[{"a":10,"e":10,"o":10,"u":10,"y":10,"d":[{"n":[{"j":26}]}]},11],"l":[{"a":10,"e":10,"o":10,"u":10,"i":10}],"m":[{"a":6,"o":6,"u":6,"i":6,"e":6,"ě":6,"y":6,"j":6}],"n":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"j":6}],"p":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"j":6,"l":6,"r":6}],"r":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"j":6}],"s":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"l":[{"e":[{"d":15}]}],"t":6}],"š":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"t":[{"a":[{"p":6}]}]},11],"t":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"r":6,"l":6}],"w":[{"a":6,"e":6,"ě":6,"i":6,"n":13,"o":6,"u":6,"y":6,"j":6}],"z":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6}],"ž":[{"a":6,"e":6,"i":6,"o":6,"u":6},13]}],"u":[{"b":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"j":6,"r":6,"l":6}],"c":[{"a":6,"e":6,"o":6,"u":6,"y":6,"i":6,"h":[{"a":7,"e":7,"o":7,"u":7,"i":7}]}],"ć":[{"a":6,"e":6,"i":6,"o":6,"u":6}],"č":[{"a":6,"e":6,"i":6,"o":6,"u":6}],"d":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"ź":[{"a":8,"e":8,"i":8,"o":8,"u":8,"y":8}],"l":7,"r":7}],"f":[{"a":6,"e":6,"y":6,"o":6,"u":6,"i":6,"l":6,"r":8}],"g":[{"r":9,"l":9,"a":10,"e":10,"o":10,"u":10,"i":10}],"h":[{"a":10,"o":10,"u":10,"i":10}],"j":[{"a":10,"e":10,"i":10,"o":10,"u":10},11],"k":[{"a":10,"e":10,"i":10,"u":10,"o":10,"r":10,"l":10}],"ł":[{"a":10,"e":10,"o":10,"u":10,"y":10},11],"l":[{"a":10,"e":10,"o":10,"u":10,"i":10}],"m":[{"a":6,"o":6,"u":6,"i":6,"e":6,"y":6,"j":6}],"n":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"j":6}],"p":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"j":6,"l":6,"r":6}],"r":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"j":6}],"s":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"t":6}],"š":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"t":[{"a":[{"p":6}]}]},11],"t":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"r":6,"l":6}],"w":[{"a":6,"e":6,"i":6,"n":13,"o":6,"u":6,"y":6,"j":6}],"z":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6}],"ž":[{"a":6,"e":6,"i":6,"o":6,"u":6},13]}],"y":[{"b":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"j":6,"r":6,"l":6}],"c":[{"a":6,"e":6,"o":6,"u":6,"y":6}],"ć":[{"a":6,"e":6,"i":6,"o":6,"u":6}],"č":[{"a":6,"e":6,"i":6,"o":6,"u":6}],"d":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"ź":[{"a":8,"e":8,"i":8,"o":8,"u":8,"y":8}],"l":7,"r":7}],"f":[{"a":6,"e":6,"y":6,"o":6,"u":6,"i":6,"l":6,"r":8}],"g":[{"r":9,"l":9,"a":10,"e":10,"o":10,"u":10,"i":10}],"h":[{"a":10,"o":10,"u":10,"i":10}],"j":[{"a":10,"e":10,"i":10,"o":10,"u":10},11],"k":[{"a":10,"e":10,"i":10,"u":10,"o":10,"r":10,"l":10}],"ł":[{"a":10,"e":10,"o":10,"u":10,"y":10},11],"l":[{"a":10,"e":10,"o":10,"u":10,"i":10}],"m":[{"a":6,"o":6,"u":6,"i":6,"e":6,"y":6,"j":6}],"n":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"j":6}],"p":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"j":6,"l":6,"r":6}],"r":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"j":6}],"s":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"t":6}],"š":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"t":[{"a":[{"p":6}]}]},11],"t":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"r":6,"l":6}],"w":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6,"j":6}],"z":[{"a":6,"e":6,"i":6,"o":6,"u":6,"y":6}],"ž":[{"a":6,"e":6,"i":6,"o":6,"u":6},13]}],".":[{"a":[{"b":[{"i":[{"t":[{"u":[{"r":[{"n":17},16]}]}]}]}]}],"b":[{"j":[{"e":[{"z":[{"e":20},19]}]}],"o":[{"ł":[{"h":38}]}]}],"c":[{"h":[{"c":23}]}],"n":[{"j":[{"e":[{"z":[{"h":[{"r":[{"o":[{"m":[{"a":[{"d":20}]}]}]}]}]}],"n":[{"a":[{"d":[{"e":[{"ń":44,"š":44}]},42]}]}],"w":[{"o":[{"b":[{"e":66}],"t":[{"e":68}]}]}]},36]}],"a":[{"d":[{"e":[{"ń":43,"š":43}]},41]}]}],"d":[{"o":[{"ł":[{"h":[{"o":39},38],"ž":[{"n":40}]}]}]}],"p":[{"o":[{"ł":[{"h":38,"ž":38}]}]}],"w":[{"j":[{"e":[{"l":[{"e":63}]}]}],"o":[{"b":[{"e":43}],"t":[{"e":67}]}],"u":11}],"z":[{"a":[{"ń":23,"w":[{"k":47,"d":[{"a":28}]}]},11]}]}],"b":[{"b":18,"c":[{"e":18,"y":18}],"ć":18,"č":18,"d":18,"j":21,"h":18,"k":18,"m":18,"n":18,"p":18,"s":18,"t":18,"w":18,"z":18,"ž":18}],"c":[{"a":22,"e":22,"o":22,"u":22,"h":[{"ć":11,"n":11},21]}],"č":[{"n":18}],"d":[{"b":[{"p":[{"o":[{"d":24}]}]}],"e":[{"ń":25}],"n":18,"o":[{"s":[{"p":[{"o":27}]}],"z":[{"n":[{"a":[{".":28},26]}]}]}]}],"n":[{"j":[{"e":[{"d":[{"o":[{"z":[{"n":[{"a":[{".":29}]}]}]}]}],".":22}],"a":[{".":22}]},45],"a":11,"d":31,"i":[{".":22}],"t":[{"n":13},18],"u":[{"h":[{"l":36}]}],"s":[{"t":[{"w":31}]}]}],"h":[{"d":30,"l":[{"a":[{"d":30}]}],"n":[{"y":31,"u":[{".":31}],"j":[{"e":31}]}],"r":[{"o":[{"m":[{"a":[{"d":30}]}]}]}]}],"ł":[{"h":[{"a":4}],"ž":4}],"l":[{"n":18,"g":18,"z":18}],"m":[{"n":18,"r":[{"u":[{".":4}],"j":[{"e":4}],"ě":4}],"s":18,"y":[{"s":[{"l":36}]}],"l":[{"a":[{"s":[{"k":[{"a":54}]}]}]}]}],"r":[{"b":18,"ć":18,"č":18,"d":[{"ź":[{".":21}]},18],"f":18,"j":45,"m":18,"n":18,"p":18,"w":18,"o":[{"z":[{"e":53},47]}]}],"s":[{"e":[{"r":[{"b":[{"a":52,"e":52,"o":52,"i":52,"y":52},51]}]}],"ć":18,"i":[{"g":[{"n":[{"a":[{"l":12}]}]}]}],"k":[{"i":[{".":58,"m":[{".":58,"a":[{"j":[{".":58}]}],"i":[{".":58}]}],"c":[{"h":[{".":59}]}]}],"a":[{".":58,"j":[{".":58}]}],"e":[{".":58,"h":[{"o":[{".":58}]}],"j":[{"e":[{".":58}],".":58,"u":[{".":58}]}],"m":[{"u":[{".":58}]}]}],"u":[{".":58}]}],"c":[{"y":[{".":58}],"e":[{".":58}]}],"n":18,"t":[{"a":[{"t":[{"n":32}]}],"n":60}]}],"z":[{"m":[{"o":[{"r":[{"s":[{"k":[{"a":55}]}]}]}]}],"e":[{"z":[{"n":[{"a":26}]}]}],"n":[{"a":[{"k":18}]}],"p":31,"s":31}],"ć":[{"i":[{"s":[{"k":[{"a":28}]}]}]}],"w":[{"r":[{"j":[{"e":[{"s":[{"k":[{"a":57}]}]}]}]}],"j":45,"n":[{"s":[{"t":64}]}],"o":[{"b":[{"j":[{"a":[{"s":[{"n":65}]}],"e":[{"ć":38,"d":[{"n":65}]}],"ě":38,"i":[{"m":38}]}]}],"z":[{"n":[{"a":11}]}]}],"u":[{"s":[{"n":[{"u":26,"j":[{"e":69}],"y":26}]}]}]}]}',"War-sza-wa.do-zna.njej-sym.njej-sy.nje-je.njej-smój.njej-staj.njej-stej.njej-smy.njej-sće.njej-su.pźede.pźe-derje.tkalc.njeńdź.ze-tnu.ze-tnješ.ze-tnje.ze-tnje-mój.ze-tnje-taj.ze-tnje-tej.ze-tnje-my.ze-tnje-će.wote-tnu.wote-tnješ.wote-tnje.wote-tnje-mój.wote-tnje-taj.wote-tnje-tej.wote-tnje-my.wote-tnje-će.wo-dnjo.wo-snje.tak-rjec".split(".")]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/8648.adapter.js b/public/tools/cloud_sheets/vendor/univer/8648.adapter.js new file mode 100644 index 0000000..20f09c2 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/8648.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[8648],{8648(s,o,t){t.r(o),t.d(o,{Ru:()=>e});const e=["001,0002,002,0003,00212,0001,0023,0032,003,004,00001,0021,00201,0012,00032,00002,43,01,03,02,032,2,00012,021,00043,1,0004,0212,21,201,3,302,00054,012,12,000032,23,02001,22,00021,212,32,202,122,00003,3003,101,121,00102,232,04,000002,023,4301,01023,00023,2001,2021,000003,0202,043,00014,041,014,4,42,2121,1002,123,2103,000021,0201,00202,000001,000023,00123,0014,41,3012,0203,02012,2003,0102,0301,3032,000012,00004,102,20032,45,14,0101,0041,3002,3202,412,000043,034,0013,01012,022,011,6,0034,00412,0121,0000021,000323,200001,008,8,87,0088,88",'{".":[{"а":[{"б":[{"р":0}],"г":[{"р":[{"о":0}]}],"д":[{"и":1}],"и":2,"к":[{"р":0}],"л":[{"ь":[{"я":3}]}],"р":[{"т":[{"о":4}]}],"с":[{"т":[{"о":0,"р":5}]}],"у":2,"-":109}],"б":[{"и":[{"о":2}],"о":[{"д":[{"р":[{"а":2}]}]}],"-":109}],"в":[{"о":[{"б":[{"л":6}],"ж":[{"д":7}]}],"с":[{"т":[{"р":1}]}],"-":109}],"г":[{"о":[{"ф":2}],"-":109}],"д":[{"е":[{"к":[{"в":0},1]}],"и":[{"а":[{"к":2}],"о":0}],"о":[{"п":8,"т":7,"б":[{"р":[{"е":[{"л":1}],"и":13,"ё":[{"л":1}]}]}]}],"-":109}],"е":[{"п":[{"и":3}],"-":109}],"з":[{"а":[{"в":[{"р":1}],"м":[{"н":7}],"п":8}],"-":109}],"и":[{"г":[{"р":0}],"з":[{"г":1,"н":8}],"и":2,"к":[{"р":0}],"о":[{"н":[{"а":9}]},2],"с":8,"-":109}],"л":[{"е":[{"о":2,"п":[{"р":6}],"с":[{"к":5}]}],"ь":2,"ю":[{"с":[{"т":10}]}],"-":109}],"м":[{"е":[{"ж":[{"у":4}]}],"и":[{"о":[{"м":0}]}],"о":[{"к":11}],"у":[{"ш":[{"т":12}]}],"-":109}],"н":[{"а":[{"в":0,"т":8,"ш":7}],"е":[{"в":[{"н":8}],"д":[{"р":0}],"з":13,"с":[{"л":0,"ц":13}],"т":8},109],"о":[{"с":[{"к":5}]}],"у":[{"к":[{"л":5}]}],"-":109}],"о":[{"б":[{"о":[{"ж":14}],"л":[{"ю":[{"ю":2}]}],"р":[{"е":[{"е":2,"й":2,"ю":2}],"и":[{"в":2,"л":2,"т":2}]}]}],"в":[{"о":5}],"г":[{"н":8}],"з":9,"с":[{"к":[{"а":2}],"п":[{"и":8},2]}],"т":[{"в":0,"р":[{"о":0,"у":0}],"у":[{"ж":0}]}],"-":109}],"п":[{"о":[{"в":7,"ж":7,"з":[{"н":1}],"м":[{"н":[{"у":1}]}]}],"р":[{"о":[{"с":15}]}],"а":[{"н":[{"и":[{"с":11}]}]}],"-":109}],"р":[{"а":[{"с":[{"т":6}]}],"е":[{"б":[{"р":2}],"з":[{"в":6}],"а":[{"н":1}]}],"и":[{"с":[{"к":2}],"ч":2}],"о":[{"з":[{"в":6}],"с":[{"л":6,"п":[{"и":6}]}],"х":2}],"ё":[{"б":[{"р":2}]}],"-":109}],"с":[{"е":[{"п":[{"т":15}]}],"к":2,"т":2,"у":[{"ж":2}],"о":[{"п":[{"л":[{"а":2}]}]}],"-":109}],"т":[{"е":[{"о":6}],"и":[{"а":3,"г":[{"р":5},2],"о":2}],"-":109}],"у":[{"б":2,"д":2,"е":2,"з":[{"н":[{"а":2}]}],"к":2,"м":[{"ч":2}],"о":8,"п":2,"р":[{"в":2}],"с":2,"т":[{"р":2}],"ю":2,"ё":2,"-":109}],"х":[{"о":[{"р":[{"в":6}]}],"-":109}],"ч":[{"е":[{"с":[{"к":11}]}],"ё":[{"с":[{"к":11}]}],"-":109}],"ю":[{"с":0,"-":109}],"ё":[{"-":109}],"ж":[{"-":109}],"й":[{"-":109}],"к":[{"-":109}],"ф":[{"-":109}],"ц":[{"-":109}],"ш":[{"-":109}],"щ":[{"-":109}],"ъ":[{"-":109}],"ы":[{"-":109}],"ь":[{"-":109}],"э":[{"-":109}],"я":[{"-":109}]}],"а":[{"а":[{"п":2,"р":2,"ц":2,"-":113},16],"б":[{"е":[{"с":[{"т":3}]}],"л":[{"а":18,"ю":2}],"р":[{"и":0}],"у":18,"-":113},17],"в":[{"в":0,"е":17,"з":[{"о":8}],"и":[{"а":1},17],"о":[{"с":5,"т":19},17],"р":[{"а":0}],"с":[{"е":2}],"т":19,"у":17,"х":19,"ч":[{"е":20}],"ё":17,"-":113}],"г":[{"а":[{"с":22},21],"д":19,"и":[{"т":[{"и":19}]}],"л":[{"е":19,"и":2,"о":[{"с":19,"т":2}]}],"о":21,"у":18,"-":113}],"д":[{"в":[{"е":19,"ё":19},21],"ж":[{"и":2}],"и":[{"о":[{"д":1}]}],"л":19,"о":[{"б":[{"л":23}]}],"р":[{"о":0,"у":23}],"у":[{"ч":3}],"ц":2,"ы":[{"н":19}],"-":113},17],"е":[{"г":[{"о":2}],"д":[{"и":2}],"л":2,"п":19,"р":[{"е":2}],"с":2,"-":113},17],"з":[{"а":[{"ш":24}],"в":[{"е":[{"з":8}],"л":0,"ё":[{"з":8}]},1],"г":1,"д":[{"р":0}],"о":[{"б":[{"р":11},0],"в":[{"ь":19}],"л":[{"ь":19}],"р":[{"и":17}],"с":11}],"р":0,"-":113}],"и":[{"г":[{"л":8},11],"х":19,"-":113},17],"к":[{"в":0,"к":25,"л":[{"е":[{"м":8}]},2],"о":[{"б":22,"н":[{"с":21}],"т":3}],"р":[{"и":21}],"с":0,"-":113},17],"л":[{"а":[{"г":18},17],"е":[{"к":21},17],"и":18,"о":[{"з":5}],"у":[{"ш":[{"т":10},1]},17],"ы":17,"ь":[{"щ":19}],"ю":17,"ё":[{"к":21},17],"-":113}],"м":[{"а":21,"б":26,"е":[{"т":21}],"и":[{"н":[{"т":19}]}],"н":[{"е":[{"т":2}],"ё":[{"т":2}]}],"о":[{"з":22,"и":15},21],"ч":19,"ё":[{"т":21}],"-":113}],"н":[{"а":[{"д":[{"ц":1}],"м":[{"е":27}],"ф":19}],"д":[{"р":[{"а":2}]}],"о":[{"б":27,"х":[{"р":13}]}],"р":0,"с":[{"п":2,"у":[{"р":2},5]}],"у":[{"з":23}],"ь":[{"ш":19},17],"-":113}],"о":[{"д":2,"к":2,"р":2,"с":[{"т":10},2],"-":113},28],"п":[{"л":[{"а":18,"о":[{"м":2}]}],"о":[{"в":[{"с":26}],"ч":[{"т":14}]},21],"р":[{"а":2,"е":[{"л":0}]}],"-":113}],"р":[{"а":[{"с":[{"т":1}]},17],"б":[{"о":[{"к":2}]}],"в":[{"а":[{"л":2}]}],"г":[{"у":25}],"е":[{"д":[{"в":5}],"о":[{"л":5}]},17],"ж":[{"а":2}],"и":17,"о":17,"т":[{"о":[{"р":2}],"р":11}],"у":17,"х":0,"ы":17,"ю":17,"я":17,"ё":17,"-":113}],"с":[{"к":29,"м":[{"и":8}],"н":[{"о":8}],"с":[{"и":[{"г":25}]}],"т":[{"в":[{"у":5}],"е":[{"м":8}],"и":[{"н":2,"я":2}],"о":[{"о":0}],"у":[{"х":0}],"ь":[{"е":17}],"ё":[{"м":8}]}],"ш":[{"е":[{"д":2,"с":2}]}],"ь":[{"и":17}],"-":113}],"т":[{"а":[{"к":25},17],"в":[{"а":8,"и":0,"у":0}],"е":[{"з":21}],"и":17,"о":[{"б":[{"е":0}],"м":[{"н":19}],"ш":1},17],"р":[{"а":[{"х":0}],"и":0,"о":[{"с":[{"к":15}]}]}],"у":17,"х":2,"ы":17,"ь":[{"е":17,"ю":18,"я":18,"ё":17}],"ю":17,"я":17,"-":113}],"у":[{"б":19,"д":[{"о":8},2],"л":[{"е":19}],"т":[{"р":5}],"х":2,"ч":[{"ь":8},2],"э":5,"-":113},17],"ф":[{"л":23,"-":113}],"х":[{"а":2,"м":[{"и":15}],"с":8,"-":113}],"ч":[{"а":21,"л":19,"т":0,"-":113},17],"ш":[{"л":19,"-":113}],"э":[{"л":[{"и":2}],"р":19,"-":113}],"ю":[{"т":[{"а":0}],"-":113}],"я":[{"б":2,"в":2,"з":2,"-":113},17],"ё":[{"-":113},17],"ж":[{"-":113}],"й":[{"-":113}],"ц":[{"-":113}],"щ":[{"-":113}],"ъ":[{"-":113}],"ы":[{"-":113}],"ь":[{"-":113}]}],"б":[{"а":[{"б":[{"в":2}],"г":[{"р":11}],"д":[{"р":2}],"з":[{"у":8},0],"л":[{"ю":10}],"о":2,"с":[{"м":3,"т":0}],"т":[{"р":0}],"-":113},25],"б":[{"-":113},28],"в":[{"ы":1,"-":113},17],"г":[{"-":113},2],"д":[{"-":113},28],"е":[{"в":30,"г":[{"л":2,"н":2}],"д":[{"р":11}],"е":30,"з":[{"а":22,"д":32,"и":8,"н":3,"о":22,"р":5,"у":[{"с":15}]},31],"с":[{"к":11,"п":3,"т":[{"е":3,"и":3},11]}],"ц":30,"щ":21,"-":113},25],"ж":[{"-":113},21],"з":[{"-":113},33],"и":[{"а":30,"б":2,"ж":21,"к":30,"л":[{"и":[{"т":35}]}],"о":[{"б":2,"д":2,"н":2,"р":2},30],"т":[{"в":2}],"х":0,"н":[{"о":[{"с":[{"к":15}]}]}],"-":113},34],"к":[{"-":113},36],"л":[{"а":[{"г":25,"з":[{"и":18},34],"н":19}],"е":[{"е":34,"н":18,"с":[{"к":37}],"я":34}],"у":[{"д":19,"ж":34}],"ы":21,"ь":38,"ю":[{".":36,"д":19,"е":19,"л":19,"с":[{"ь":36}],"ё":19}],"я":21,"ё":[{"н":18,"с":[{"к":37}]}],"-":113},17],"н":[{"-":113},36],"о":[{"б":[{"р":[{"а":0}]}],"в":[{"ш":8}],"г":[{"д":2}],"д":[{"р":[{"а":0}]}],"з":13,"л":[{"ж":13,"ь":[{"с":0}]}],"м":[{"л":7,"ч":2,"ш":8}],"н":[{"у":10}],"р":[{"у":0}],"с":[{"а":2,"к":[{"о":8},0],"т":[{"и":8}]}],"т":[{"в":2,"р":1},30],"я":[{"р":1}],"-":113},25],"р":[{".":21,"а":[{"б":18,"в":19,"з":[{"о":5}],"л":34,"м":28,"н":19,"с":25,"т":[{"ь":19}],"х":17,"ч":34,"я":36}],"е":[{"д":34,"й":17,"к":17,"м":19,"х":19}],"и":[{"д":19,"т":[{"о":19,"ы":19}]}],"о":[{"д":[{"и":34}],"л":17,"м":[{".":17}],"с":[{"и":34,"к":39}]}],"с":21,"у":[{"к":[{"с":30}]},17],"ь":21,"ю":[{".":36},34],"я":17,"ё":[{"к":17,"м":19,"х":19}],"-":113}],"с":[{"к":18,"л":9,"-":113},40],"т":[{"-":113},17],"у":[{"г":[{"р":11}],"к":[{"л":5}],"с":0,"-":113},34],"ф":[{"-":113},21],"х":[{"-":113},28],"ц":[{"-":113},21],"ч":[{"-":113},28],"ш":[{"-":113},21],"щ":[{"-":113},21],"ы":[{"г":11,"с":[{"к":5,"т":10},2],"-":113},25],"ь":[{".":21,"с":21,"т":21,"-":113},25],"э":[{"р":0,"-":113}],"ю":[{"т":[{"а":0}],"-":113},41],"я":[{"-":113},25],"ё":[{"д":[{"р":11}],"-":113},25],"ъ":[{".":110,"-":113}],"й":[{"-":113}],"м":[{"-":113}],"п":[{"-":113}]}],"в":[{"а":[{"б":[{"р":2}],"г":30,"д":[{"р":11,"ь":15}],"ж":[{"д":7}],"з":0,"н":[{"с":15}],"с":[{"т":[{"р":2},0]}],"т":[{"р":0}],"х":5,"ц":30,"я":30,"-":113},25],"б":[{"-":113},28],"в":[{"и":17,"р":17,"-":113}],"г":[{"-":113},42],"д":[{"о":[{"х":19}],"-":113},17],"е":[{"в":25,"г":30,"д":[{"р":5,"у":8}],"е":25,"з":[{"е":30,"л":30,"у":1,"ё":30},25],"й":[{".":25}],"п":11,"р":[{"д":21}],"с":[{"к":11,"т":[{"в":12}]},25],"т":[{"р":3}],"ц":25,"ю":25,"я":25,"ё":25,"-":113}],"з":[{"г":1,"д":1,"о":[{"б":5}],"ъ":[{"е":[{"д":44}]},1],"-":113},43],"и":[{"а":[{"з":2,"к":2,"р":2,"с":4,"т":5,"ф":8}],"г":[{"в":2,"л":2}],"з":[{"г":[{"н":1}]},25],"н":[{"т":25,"ч":25}],"о":0,"с":[{"н":[{"и":13}]}],"у":3,"ф":2,"-":113}],"к":[{"л":2,"у":[{"с":41}],"-":113},28],"л":[{"а":[{"б":36},19],"е":[{"в":19,"к":19,"т":19,"ч":19}],"и":[{"я":19},21],"ю":[{"б":19},21],"я":21,"ё":[{"к":19,"т":19}],"-":113},17],"м":[{"е":25,"ё":25,"-":113},21],"н":[{"а":16,"е":[{"с":19}],"о":5,"у":[{".":18,"к":41,"ч":41}],"ы":18,"ё":[{"с":19}],"-":113},28],"о":[{"б":[{"л":[{"а":6}]},13],"в":[{"к":8},1],"д":[{"в":0,"р":0},25],"е":[{"р":2}],"ж":[{"ж":2}],"и":[{"с":39}],"к":25,"м":7,"п":1,"р":[{"у":0,"ц":21,"ь":21}],"с":[{"к":5,"м":0,"н":0,"п":[{"е":3}],"т":[{"р":2}]}],"т":[{"р":1}],"х":[{"л":0,"т":7},25],"ю":25,"-":113}],"п":[{"-":113},42],"р":[{".":21,"а":[{".":21,"в":19,"м":28,"с":17,"х":28,"ц":21}],"е":[{".":21,"н":28}],"и":[{"д":25,"з":34,"и":17,"к":17,"л":17,"с":17,"т":17}],"о":[{"т":14},28],"ы":28,"ю":25,"я":17,"ё":[{"н":28}],"-":113}],"с":[{"е":45,"к":[{"а":[{"я":18}],"и":16,"у":16}],"п":41,"ю":41,"ё":45,"-":113},40],"т":[{"о":[{"б":22,"ш":3}],"-":113},33],"у":[{"а":25,"г":8,"з":46,"и":21,"к":29,"п":8,"с":13,"х":[{"а":11,"в":3}],"ч":[{"л":0}],"-":113}],"ф":[{"-":113},2],"х":[{"о":25,"-":113}],"ц":[{"-":113},21],"ч":[{"-":113},28],"ш":[{"и":[{"в":41}],"-":113},21],"щ":[{"-":113},21],"ъ":[{".":110,"-":113},2],"ы":[{"г":7,"з":[{"н":8}],"п":1,"т":7,"х":1,"ш":[{"л":7}],"б":[{"р":[{"е":1}]}],"-":113},25],"ь":[{".":21,"е":25,"и":[{"н":25}],"с":21,"т":21,"ю":25,"я":25,"ё":25,"-":113}],"э":[{"-":113},47],"ю":[{"-":113},34],"я":[{"-":113},25],"ё":[{"д":[{"р":5}],"з":25,"р":[{"д":21}],"с":25,"-":113}],"ж":[{"-":113}],"й":[{"-":113}]}],"г":[{"а":[{"з":0,"с":[{"т":48}],"у":2,"-":113},19],"б":[{"а":1,"-":113},36],"в":[{"и":17,"-":113}],"г":[{"-":113},21],"д":[{"а":[{"н":18}],"и":36,"-":113}],"е":[{".":30,"б":11,"н":[{"о":10}],"о":[{"б":2,"д":2,"р":0}],"-":113}],"ж":[{"-":113},36],"з":[{"-":113},28],"и":[{"б":[{"л":2,"р":8}],"г":[{"р":2}],"с":[{"л":0,"т":15}],"-":113},19],"к":[{"-":113},28],"л":[{"а":[{".":21,"в":19,"й":17,"м":[{"и":17}],"с":[{"ь":21}],"я":21}],"е":[{"т":19},17],"и":[{".":21,"н":19,"ф":41}],"о":[{".":21,"б":[{"л":18}],"в":21,"г":21,"е":21,"й":21,"ю":21}],"у":[{"ю":21}],"ы":28,"я":[{"ж":19,"к":21}],"ё":[{"т":19},17],"-":113}],"м":[{"-":113},36],"н":[{"а":[{"в":19,"н":19}],"е":[{".":18,"в":19,"н":18,"п":18,"с":18}],"и":[{"р":19,"т":[{"р":15}]}],"о":[{"е":19,"и":19,"с":19,"ё":19}],"я":18,"ё":[{"в":19,"н":18}],"-":113}],"о":[{"б":13,"в":[{"л":2}],"ж":[{"д":7}],"з":[{"л":2,"н":1},0],"и":[{"г":15}],"й":30,"л":19,"м":[{"и":15}],"с":[{"а":11,"д":2,"к":[{"л":0}],"н":0,"п":[{"а":0}]}],"т":[{"д":21}],"у":[{"т":3}],"ч":[{"л":0}],"ю":30,"-":113}],"п":[{"-":113},21],"р":[{".":21,"а":[{"е":17,"й":17,"р":17}],"е":[{"г":17,"к":17,"ц":17}],"и":[{"в":[{"н":24}],"к":17,"л":17,"н":17,"с":17,"ч":17}],"о":[{"в":17,"з":19,"к":17,"н":17,"п":17,"т":17,"ф":17}],"у":[{"п":1}],"ы":[{"в":17}],"ю":21,"я":[{"е":17,"л":17,"т":17}],"-":113}],"с":[{"а":50,"б":50,"т":[{"р":26}],"-":113},49],"т":[{"-":113},36],"у":[{"в":0,"с":[{"к":11},0],"-":113}],"ф":[{"-":113},21],"ч":[{"-":113},28],"ш":[{"-":113},36],"э":[{"-":113},36],"ъ":[{".":110,"-":113}],"ё":[{"-":113}],"й":[{"-":113}],"х":[{"-":113}],"ц":[{"-":113}],"щ":[{"-":113}],"ы":[{"-":113}],"ь":[{"-":113}],"ю":[{"-":113}],"я":[{"-":113}]},25],"д":[{"а":[{"б":11,"г":[{"е":[{"н":2}],"р":2}],"з":0,"о":2,"с":[{"т":[{"р":10}]}],"т":[{"р":5}],"-":113},25],"б":[{"-":113},28],"в":[{"е":17,"и":[{"д":28,"з":21,"н":[{"т":21,"ч":21}],"с":28,"т":28},25],"к":18,"л":17,"о":[{"д":21,"з":17,"р":[{"ь":25}]}],"я":21,"ё":17,"-":113},2],"г":[{"-":113},42],"д":[{"-":113},40],"е":[{"б":[{"л":13,"р":13}],"в":[{"р":30}],"з":[{"а":4,"и":2,"о":22,"у":2},30],"и":[{"о":15}],"к":[{"л":0}],"м":[{"е":30}],"о":[{"д":2,"п":3}],"п":[{"л":8}],"р":[{"а":[{"с":51}]}],"с":[{"в":6,"к":1,"р":2}],"х":[{"л":0}],"-":113},25],"ж":[{".":21,"а":[{"м":19}],"м":52,"с":21,"-":113}],"з":[{"-":113},40],"и":[{"а":[{"д":2,"з":1,"л":[{"и":2,"о":2}],"р":2,"с":2}],"о":[{"б":2,"д":[{"е":3}],"р":2,"с":5,"т":[{"и":0}]}],"п":[{"и":2,"т":8},1],"с":[{"т":[{"р":11}],"л":[{"о":[{"в":13}]}]}],"у":3,"ф":[{"р":8,"т":[{"о":8}]}],"х":0,"-":113},25],"к":[{"-":113},28],"л":[{"е":[{"в":19}],"-":113},17],"м":[{"-":113},49],"н":[{"а":18,"е":[{"а":15,"в":[{"н":30}]}],"о":[{"д":14,"с":15},53],"ы":16,"я":[{"ш":41}],"-":113},28],"о":[{"б":[{"е":[{"д":40}],"л":[{"а":28},2],"р":[{"а":13}]}],"в":[{"л":1,"м":7}],"д":[{"н":8},13],"ж":[{"д":7}],"з":[{"н":1},0],"и":[{"р":1}],"к":[{"т":21}],"л":[{"и":[{"м":21}]}],"м":[{"р":11}],"п":[{"л":[{"е":21,"ё":21},8],"р":[{"е":2,"ё":2}]},1],"р":[{"у":[{"б":2}]}],"с":[{"е":[{"н":33}],"и":[{"н":33}],"н":[{"о":28,"я":1}],"п":1},0],"т":[{"д":21,"л":21,"р":[{"и":1,"я":28}],"ъ":21,"ь":8}],"х":[{"л":30}],"ш":[{"в":6,"к":7,"л":[{"ы":2}]}],"щ":[{"у":2}],"-":113},25],"п":[{"-":113},21],"р":[{".":21,"а":[{"б":17,"в":[{"ш":25}],"з":[{"в":21,"н":34}],"н":[{"е":17}],"р":17,"с":54,"х":17,"ч":17,"ю":19}],"е":[{"б":19,"ж":36,"з":21,"л":19,"м":[{"а":25,"л":25,"н":44,"ы":25},19],"н":36,"с":[{"к":1,"с":19}]},17],"и":[{"й":19,"н":21,"п":19,"х":19},17],"о":[{"г":[{"н":55}],"д":17,"е":17,"ж":[{"ж":55},34],"з":36,"й":17,"л":17,"н":17,"с":17,"т":17,"ю":17}],"у":[{"б":17,"г":25,"ж":[{"е":[{"й":21}]},25],"м":17,"ю":17}],"ы":[{"в":21,"г":34},17],"я":[{"б":19,"г":34,"х":19},17],"ё":[{"б":19,"ж":36,"м":[{"а":25,"ы":25},19],"н":36},17],"-":113}],"с":[{"к":[{"н":8},1],"-":113},40],"т":[{"-":113},28],"у":[{"б":[{"р":3}],"г":8,"д":[{"а":2},28],"о":2,"п":[{"л":5}],"с":[{"к":5,"л":17,"т":[{"а":2},0]}],"т":[{"р":56}],"х":0,"ч":[{"и":2}],"э":[{"т":5}],"-":113},25],"ф":[{"-":113},21],"х":[{"-":113},17],"ц":[{"е":36,"у":21,"ы":21,"-":113}],"ч":[{"-":113},28],"ш":[{"-":113},49],"щ":[{"-":113},21],"ъ":[{"е":[{"м":1}],"ё":[{"м":1}],".":110,"-":113},21],"ы":[{"г":[{"р":11},21],"д":21,"м":[{"е":21}],"с":57,"т":21,"щ":21,"-":113},25],"ь":[{".":21,"е":25,"к":21,"т":21,"ю":25,"я":[{"р":8},25],"ё":25,"-":113}],"ю":[{"-":113},34],"я":[{"-":113},25],"ё":[{"-":113},25],"й":[{"-":113}],"э":[{"-":113}]}],"е":[{"а":[{"д":[{"и":44,"о":8},2],"з":2,"н":[{"д":[{"р":39}]}],"т":[{"р":5}],"-":113},17],"б":[{"а":[{"с":1}],"р":[{"а":17,"е":[{"н":0}],"и":0,"о":[{"в":0},17],"ы":0,"ю":52,"ё":[{"н":0}]}],"-":113},21],"в":[{"е":[{"р":21},17],"и":17,"м":[{"е":20}],"н":[{"и":[{"м":2}],"я":[{"т":2}]}],"о":[{"л":21},17],"р":[{"а":[{"с":10}],"е":[{"е":0,"й":0,"я":0},28],"и":0,"ё":28}],"т":19,"у":17,"х":[{"о":2},17],"ь":17,"ё":[{"р":21},17],"-":113}],"г":[{"а":[{"с":22}],"д":2,"л":[{"а":[{"н":19}],"е":19,"и":19,"о":19,"ё":19}],"н":[{"а":2,"о":2}],"р":42,"-":113}],"д":[{"в":[{"о":0}],"ж":[{"е":17},2],"л":[{"и":[{"н":33}]}],"н":[{"о":[{"у":58}]}],"о":[{"п":[{"р":0}],"т":[{"в":19}],"х":19,"щ":23}],"р":[{"у":[{".":19},17]}],"у":[{"б":[{"о":0},59],"в":[{"е":19}],"г":19,"с":[{"т":0},19],"ш":36}],"ы":[{"н":19}],"-":113}],"е":[{"в":[{"и":[{"д":19}],"р":11}],"г":[{"и":2}],"с":[{"т":[{"р":10},2]},13],"х":2,"-":113},17],"ж":[{"г":19,"д":[{"е":[{"в":50}],"и":8}],"е":21,"р":23,"ё":21,"-":113}],"з":[{"а":[{"в":[{"р":1}],"у":44}],"в":[{"а":33}],"д":[{"р":5}],"е":18,"з":[{"у":44}],"и":[{"т":18}],"о":[{"б":0,"г":13,"м":17,"п":0,"р":13,"т":0,"ш":0}],"р":[{"я":2}],"у":[{"д":13,"к":13,"п":0,"с":[{"о":1,"ы":1},0],"х":13,"ч":[{"а":0}]}],"я":18,"ё":18,"-":113}],"и":[{"г":11,"д":2,"м":2,"о":2,"с":[{"л":5,"т":[{"р":5}]}],"-":113},17],"к":[{"а":[{"б":1},17],"з":2,"и":17,"о":28,"р":[{"о":2},28],"с":[{"к":0,"т":[{"е":0}]}],"у":17,"-":113}],"л":[{"а":17,"е":[{"с":[{"к":3,"ц":5}]},17],"у":17,"ы":17,"ю":17,"я":18,"ё":17,"-":113}],"м":[{"и":[{"д":14,"к":3}],"о":[{"с":5}],"у":[{"ж":21}],"ч":19,"ы":[{"с":21}],"ь":[{"д":19}],"-":113}],"н":[{"а":18,"д":[{"р":11}],"р":28,"с":1,"ш":7,"э":17,"-":113}],"о":[{"б":[{"р":[{"о":1}]},33],"г":[{"л":52,"р":[{"о":2}]}],"д":[{"а":8,"е":[{"з":44},2],"о":2},17],"ж":33,"и":19,"к":[{"л":8}],"л":[{".":17,"а":17,"и":8,"к":17,"ы":17,"ь":17}],"м":19,"н":[{".":17,"а":19,"и":19,"о":8,"с":17}],"п":[{"е":17,"р":2,"у":9,"л":[{"а":[{"т":[{"о":52}]}]}],"о":[{"з":[{"и":52}]}]},1],"р":[{"о":52}],"с":[{"в":[{"и":33}],"к":0,"м":17,"н":17,"т":[{"р":10}],"х":8},1],"т":[{"л":17,"р":[{"у":1}]}],"ч":33,"щ":33,"-":113},21],"п":[{"а":[{"т":[{"р":5},15]}],"е":21,"и":[{"с":[{"к":15}]}],"л":[{"а":18,"е":[{"ш":0}],"о":[{"д":20}],"у":0,"ы":18,"ю":[{"щ":0}]},19],"н":50,"о":21,"с":60,"т":50,"ё":21,"-":113}],"р":[{"а":[{"к":[{"т":0}]},17],"в":[{"е":0,"ё":0},19],"е":[{".":18,"д":[{"о":3,"р":5}],"к":22,"м":[{"н":14}],"п":3,"х":61,"с":[{"с":[{"о":14}]}]},17],"и":[{"о":[{"з":44}]},17],"о":[{"б":[{"л":0},1],"в":[{"и":21}],"к":[{"р":21}],"л":21,"ф":14},17],"с":[{"к":8}],"у":[{"п":27},17],"ы":17,"ю":17,"я":17,"ё":[{"д":[{"о":3}],"к":22},17],"-":113}],"с":[{"а":20,"б":[{"а":2}],"г":17,"к":[{"а":[{".":23,"л":0}],"е":19,"о":[{"в":19}],"у":[{".":62}]},17],"л":[{"а":[{"с":0}],"и":[{"н":2}],"о":[{"в":2,"м":2}],"у":17,"ы":17},21],"м":63,"о":18,"п":[{"е":[{"к":2}],"о":[{"л":8}],"у":19},21],"т":[{"а":[{"н":2}],"л":19,"у":18},17],"ч":[{"е":[{"т":2}],"ё":[{"т":2}]}],"-":113}],"т":[{"а":17,"в":[{"е":0,"и":0,"о":17,"ё":0}],"е":[{"ч":21}],"и":17,"о":[{"с":5},17],"р":[{"я":2},0],"у":17,"ы":17,"ь":[{"е":17,"ю":18,"я":18,"ё":17}],"ю":17,"я":17,"-":113}],"у":[{"б":[{"р":3},21],"з":1,"к":[{"л":[{"о":1}]}],"-":113},33],"ф":[{"и":[{"б":14}],"л":2,"р":[{"е":0}],"-":113}],"х":[{"а":[{"т":[{"о":0},1]}],"в":[{"а":[{"л":8}]}],"л":[{"о":[{"п":8}]}],"о":[{"б":0,"п":[{"о":0}]}],"р":[{"е":0,"у":0}],"у":[{"ч":13}],"-":113}],"ц":[{"в":21,"-":113}],"ч":[{"л":17,"-":113}],"ш":[{"л":19,"-":113}],"э":[{"-":113},2],"ю":[{"г":2,"-":113}],"я":[{"з":2,"-":113},17],"ё":[{"-":113},17],"й":[{"-":113}],"щ":[{"-":113}],"ъ":[{"-":113}],"ы":[{"-":113}],"ь":[{"-":113}]}],"ж":[{"а":[{"б":[{"л":2,"р":2}],"з":0,"т":[{"в":5}],"-":113}],"б":[{"-":113},40],"в":[{"-":113},28],"г":[{"а":21,"и":19,"л":41,"у":19,"-":113},2],"д":[{"а":[{"к":19,"ч":19}],"е":[{"л":41,"м":[{"е":64}],"п":19}],"и":[{"к":16,"ч":16},19],"л":65,"о":3,"у":5,"ь":64,"я":41,"-":113},28],"е":[{"в":30,"д":7,"к":[{"в":13,"л":0}],"о":13,"п":7,"с":[{"к":8},13],"-":113}],"ж":[{"а":21,"е":[{"в":21},19],"ё":19,"-":113}],"з":[{"-":113},40],"и":[{"о":0,"р":[{"р":21}],"-":113}],"к":[{"-":113},28],"л":[{"-":113},28],"м":[{"а":18,"о":36,"-":113},19],"н":[{"о":5,"-":113},28],"о":[{"б":28,"т":66,"у":[{"с":5},3],"-":113}],"п":[{"о":5,"-":113},42],"р":[{"у":19,"-":113}],"с":[{"-":113},28],"ф":[{"-":113},21],"ц":[{"-":113},21],"ч":[{"-":113},28],"ъ":[{".":110,"-":113},21],"ь":[{".":21,"с":21,"т":21,"-":113}],"ё":[{"в":30,"с":13,"-":113}],"й":[{"-":113}],"т":[{"-":113}],"у":[{"-":113}],"х":[{"-":113}],"ш":[{"-":113}],"щ":[{"-":113}],"ы":[{"-":113}],"э":[{"-":113}],"ю":[{"-":113}],"я":[{"-":113}]},25],"з":[{"а":[{"а":1,"б":1,"в":[{"р":[{"и":11,"у":2}],"у":17}],"г":26,"д":[{"р":17}],"е":[{"д":1,"х":1}],"ж":[{"д":7}],"з":7,"к":[{"т":17}],"м":[{"н":[{"е":8,"ё":8}]}],"н":[{"а":8,"с":15},41],"п":1,"р":[{"в":1,"д":7,"ж":1}],"с":[{"т":15},1],"т":[{"к":8},1],"у":1,"х":[{"а":[{"в":40}]},1],"ч":[{"т":1}],"ш":7,"я":1,"и":[{"л":1}],"о":[{"з":1}],"ю":[{"л":1}],"-":113},46],"б":[{"-":113},33],"в":[{"а":[{".":36,"в":19,"л":[{"ь":18}],"н":19,"я":21}],"е":[{"з":19},17],"и":17,"к":20,"л":[{"а":17}],"о":[{"л":21,"н":34},17],"р":17,"у":[{"ю":28},25],"ь":17,"ё":[{"з":19},17],"-":113}],"г":[{"а":18,"л":[{"и":19}],"н":[{"а":2,"у":19}],"-":113},21],"д":[{"в":33,"е":[{"ш":19}],"о":[{"ж":44}],"-":113}],"е":[{"б":11,"е":[{"в":2}],"о":[{"д":2}],"-":113},25],"ж":[{"-":113},42],"з":[{"-":113},20],"и":[{".":30,"й":[{".":30}],"н":[{"т":17}],"о":[{"з":2,"н":[{"о":2}],"п":0}],"с":30,"т":[{"р":7}],"у":[{"м":3}],"ч":30,"-":113},25],"к":[{"о":[{"п":14},5],"-":113},28],"л":[{"а":[{"щ":19}],"о":[{"б":19,"п":19,"р":19}],"ю":[{"щ":19}],"-":113},17],"м":[{"н":18,"-":113},42],"н":[{"а":[{".":21,"в":19,"е":19,"й":19,"к":19,"н":19,"т":19,"ю":19,"я":21,"ё":19}],"е":21,"и":36,"о":21,"у":21,"ы":36,"ё":21,"-":113},17],"о":[{"б":[{"е":19,"и":2}],"в":[{"м":7},25],"г":[{"л":2}],"д":[{"р":0}],"е":25,"з":13,"и":25,"й":[{".":25}],"к":[{".":25,"с":17}],"л":[{"г":0,"ж":0},67],"м":[{".":25,"н":21},7],"н":[{"р":21},25],"о":[{"п":6,"с":2},25],"п":[{"а":2,"л":19,"р":19}],"р":[{"г":17,"е":68,"ё":68}],"с":[{"н":17,"п":0},1],"т":[{"в":2,"е":19,"к":17,"о":19,"р":[{"е":1,"и":1,"ё":1}],"ё":19}],"х":25,"ш":[{"и":2},1],"э":25,"ю":25,"-":113}],"р":[{"а":[{"к":19,"с":1,"ч":19},17],"е":[{"н":19,"с":17}],"и":[{"ш":19}],"о":[{"с":55},17],"у":17,"ю":19,"я":[{"т":19},17],"-":113}],"с":[{"-":113},28],"т":[{"и":17,"-":113},21],"у":[{".":30,"б":[{"е":40,"р":6}],"в":[{"е":21},0],"г":42,"е":30,"з":69,"к":29,"м":[{"е":30,"о":33,"ь":2}],"п":[{"р":2},21],"р":[{"б":17}],"т":[{"е":33}],"ч":[{"а":[{"с":2}]}],"ё":30,"-":113},25],"ц":[{"-":113},21],"ч":[{"-":113},17],"ш":[{"-":113},21],"ъ":[{"е":[{"м":1}],"ё":[{"м":1}],".":110,"-":113}],"ы":[{"г":57,"з":2,"м":[{"е":21,"ч":21,"ё":21}],"с":57,"щ":21,"-":113},25],"ь":[{"е":25,"и":25,"ю":25,"я":30,".":102,"-":113}],"ю":[{"-":113},34],"я":[{"-":113},25],"ё":[{"-":113},25],"й":[{"-":113}],"п":[{"-":113}],"ф":[{"-":113}],"х":[{"-":113}],"щ":[{"-":113}],"э":[{"-":113}]}],"и":[{"а":[{"б":19,"в":19,"г":[{"р":19},1],"д":[{"е":19,"и":19}],"з":[{"о":[{"в":2}]}],"м":[{"у":2}],"н":[{"а":[{"л":2},18],"д":15}],"о":1,"п":19,"с":[{"к":13,"т":[{"а":0,"о":0}]}],"т":[{"р":[{"о":5}],"у":18}],"ф":19,"х":23,"ц":[{"е":2}],"-":113},17],"б":[{"р":23,"-":113},28],"в":[{"а":[{"ж":21}],"е":28,"з":52,"и":17,"о":28,"р":33,"с":20,"у":17,"х":[{"о":2}],"ы":21,"ё":28,"-":113}],"г":[{"д":2,"е":18,"л":[{"е":19,"и":19},21],"н":[{"и":44},19],"р":[{"е":[{"н":0}],"о":0,"у":0,"ы":0,"я":23,"ё":[{"н":0}]}],"-":113}],"д":[{"в":17,"е":[{"й":19}],"ж":33,"и":[{"о":[{"м":5,"т":5}]}],"р":0,"ь":17,"-":113}],"е":[{"в":[{"о":[{"д":19}]}],"г":2,"д":[{"е":8},2],"з":[{"у":2}],"н":[{"и":18}],"о":13,"п":[{"и":10}],"р":2,"-":113},17],"ж":[{"д":20,"-":113}],"з":[{"в":13,"г":[{"н":[{"е":2}]}],"д":46,"н":[{"а":[{"л":2}]}],"о":[{"о":1},17],"р":0,"-":113}],"и":[{"-":113},17],"й":[{"с":1,"-":113}],"к":[{"а":[{"с":22},20],"в":[{"а":2,"и":19}],"л":[{"я":19}],"о":18,"р":[{"о":0}],"с":[{"к":0,"т":11}],"у":18,"-":113},17],"л":[{"а":[{"ц":27,"м":[{"и":[{"н":27}]}]}],"о":[{"с":[{"к":5}]}],"п":1,"у":[{"п":27}],"ь":[{"т":15},19],"л":[{"о":[{"к":35}]}],"-":113},17],"м":[{"а":21,"е":[{"н":[{"о":19,"у":19,"ь":21}]}],"и":18,"о":[{"и":15}],"п":[{"л":8}],"р":23,"ч":[{"а":2},19],"-":113}],"н":[{"д":1,"ж":25,"о":[{"к":[{"л":55}],"п":[{"л":14}],"с":5}],"с":[{"п":25,"т":[{"и":25}],"у":25},1],"ф":25,"ъ":25,"-":113}],"о":[{"б":[{"о":2},17],"в":[{"р":2}],"г":19,"д":[{"е":2},17],"з":[{"о":8},17],"к":[{"с":17}],"л":[{"е":17}],"н":[{"о":[{"в":18}]},17],"п":[{"т":17}],"р":[{"а":18,"у":0},17],"с":[{"а":2,"к":[{"л":8}],"п":13}],"т":[{"а":17,"в":11,"к":17,"с":17}],"у":[{"г":15}],"х":[{"о":2}],"ш":17,"-":113}],"п":[{"а":[{"т":[{"р":5},15]}],"л":[{"я":2}],"н":8,"о":[{"к":14}],"-":113},21],"р":[{"а":[{"с":[{"т":1}],"у":23}],"в":19,"ж":19,"и":[{"с":[{"к":1}],"у":44}],"о":[{"з":22}],"р":25,"-":113},17],"с":[{"а":[{"н":[{"д":70}]}],"б":19,"д":19,"к":[{"а":[{".":8,"м":8,"х":8}],"е":8,"и":8,"о":[{"в":8}],"у":[{".":8}]},0],"л":[{"а":[{"м":19}],"ы":0}],"м":[{"е":8,"у":8}],"н":[{"о":8}],"о":[{"с":[{"к":1}]}],"п":[{"р":52}],"с":50,"т":[{"в":71,"л":19,"я":[{"з":0}]},17],"ь":[{"и":17}],"-":113}],"т":[{"а":[{"в":1}],"в":[{"а":8,"е":23,"и":0,"у":0}],"м":19,"р":[{"е":[{"с":2}],"о":[{"м":8}]},23],"у":[{"ч":23}],"ь":[{"ю":18,"я":18}],"-":113},17],"у":[{"п":8,"-":113},33],"ф":[{"л":[{"ю":2},0],"р":19,"-":113}],"х":[{"а":[{"д":3,"с":23}],"л":[{"о":[{"р":73},72]}],"о":[{"к":3},20],"р":[{"е":0,"и":0,"ё":0}],"у":17,"-":113}],"ч":[{"-":113},17],"ш":[{"л":[{"и":2,"ы":19}],"т":19,"-":113}],"ю":[{"л":9,"н":2,"т":[{"а":8},2],"-":113}],"я":[{"д":2,"-":113},17],"ё":[{"-":113},17],"ц":[{"-":113}],"щ":[{"-":113}],"ъ":[{"-":113}],"ы":[{"-":113}],"ь":[{"-":113}],"э":[{"-":113}]}],"й":[{"д":[{"в":52,"-":113},2],"н":[{"о":5,"-":113}],"о":[{"с":23,"т":[{"р":2}],"-":113}],"п":[{"л":2,"-":113}],"с":[{"б":19,"к":[{"а":18,"е":2}],"м":[{"о":9,"у":52}],"н":19,"ф":52,"ш":19,"-":113}],"т":[{"м":19,"-":113}],"х":[{"м":19,"с":6,"-":113}],"я":[{"-":113},0],"к":[{"ь":19,"-":113}],"а":[{"-":113}],"б":[{"-":113}],"в":[{"-":113}],"г":[{"-":113}],"е":[{"-":113}],"ё":[{"-":113}],"ж":[{"-":113}],"з":[{"-":113}],"и":[{"-":113}],"й":[{"-":113}],"л":[{"-":113}],"м":[{"-":113}],"р":[{"-":113}],"у":[{"-":113}],"ф":[{"-":113}],"ц":[{"-":113}],"ч":[{"-":113}],"ш":[{"-":113}],"щ":[{"-":113}],"ъ":[{"-":113}],"ы":[{"-":113}],"ь":[{"-":113}],"э":[{"-":113}],"ю":[{"-":113}]},28],"к":[{"а":[{"б":[{"л":2,"р":[{"и":2}]}],"в":25,"д":[{"н":[{"е":8}],"р":11},19],"е":25,"з":[{"н":3,"о":0}],"й":25,"л":[{".":25,"о":25,"с":25}],"м":25,"н":25,"п":[{"л":11,"р":[{"е":2}]}],"р":[{"т":[{"р":3}]}],"с":[{"т":0},41],"т":[{"р":13},25],"х":25,"ш":[{"т":11}],"ю":25,"ё":25,"-":113}],"б":[{"-":113},28],"в":[{"а":[{"к":19,"с":19,"ш":19}],"и":17,"о":[{"з":19}],"у":17,"-":113}],"г":[{"-":113},21],"д":[{"а":1,"-":113},28],"е":[{"а":21,"г":[{"л":2}],"д":[{"р":5}],"с":[{"к":11,"т":12}],"-":113},25],"з":[{"-":113},28],"и":[{"в":25,"о":[{"с":10},0],"п":[{"л":2}],"с":[{"н":[{"и":13}]}],"т":25,"-":113}],"к":[{"с":8,"-":113},40],"л":[{"а":[{".":36,"с":[{"ь":36}]}],"е":[{".":36,"м":[{".":18},21],"н":18,"о":17}],"и":[{".":36,"в":36,"к":19,"н":19,"с":36,"я":18}],"о":[{".":36,"з":19,"м":18,"с":36,"т":3}],"у":[{"к":25}],"ы":18,"ь":21,"ю":[{".":36},25],"я":[{".":21,"м":21,"х":21}],"ё":[{"н":18}],"-":113}],"м":[{"-":113},21],"н":[{"и":[{"ж":41}],"о":[{"п":19}],"я":[{"ж":41}],"-":113},28],"о":[{"б":[{"р":[{"и":13}]}],"в":[{"а":30},25],"д":[{"р":0},25],"з":25,"л":[{"ь":[{"с":25}]}],"м":[{"и":[{"н":21}]}],"н":[{"с":30}],"п":[{"р":1}],"р":[{"в":6,"у":0}],"с":[{"к":0,"м":3,"п":0},25],"т":[{"н":25}],"ф":[{"р":2}],"х":[{"о":[{"р":74}]}],"ш":25,"-":113},19],"п":[{"-":113},21],"р":[{".":21,"е":[{"л":17,"о":5,"с":[{"л":1}],"ч":17}],"и":[{"б":25,"д":17,"з":19,"о":55,"т":19,"х":17}],"о":[{"а":17,"б":17,"е":19,"к":17,"о":17,"р":17,"с":17,"ф":17,"х":17,"э":17,"ё":19}],"у":[{"с":5}],"я":[{"д":17}],"-":113}],"с":[{"а":[{"н":[{"д":51}]}],"в":52,"г":8,"д":52,"и":[{"б":19}],"к":[{"и":17,"л":0,"о":17}],"м":8,"о":18,"т":[{"а":[{"м":17,"н":17}],"е":8,"о":17,"р":0,"у":17}],"у":18,"-":113},21],"т":[{"а":[{"к":1}],"о":[{".":41,"с":5}],"р":2,"-":113},28],"у":[{"в":[{"е":0}],"е":30,"й":25,"л":[{"я":25}],"м":30,"п":[{"л":5,"р":11}],"р":[{"о":8},25],"с":[{"к":5,"т":0}],"т":[{"ь":8},25],"ч":[{"е":25}],"ю":[{"т":25,"щ":30}],"ё":30,"-":113},19],"ф":[{"-":113},21],"х":[{"-":113},40],"ц":[{"-":113},21],"ч":[{"-":113},28],"ш":[{"-":113},21],"ь":[{"-":113},25],"ю":[{"-":113},19],"ё":[{"-":113},25],"ъ":[{".":110,"-":113}],"ж":[{"-":113}],"й":[{"-":113}],"щ":[{"-":113}],"ы":[{"-":113}],"э":[{"-":113}],"я":[{"-":113}]}],"л":[{"а":[{".":25,"б":[{"е":21,"л":2,"р":11}],"г":[{"о":21,"р":2}],"д":[{"а":[{"г":11}]}],"е":25,"ж":[{"д":7}],"з":[{"о":0}],"к":[{"р":1},19],"м":[{".":25,"и":[{".":25}]}],"н":[{"д":[{"р":39}]}],"с":[{"т":[{"а":0,"в":10,"е":0,"о":0,"р":12,"у":0,"я":0,"ё":0}]}],"т":[{"р":13}],"у":[{"с":2},5],"ф":[{"р":2}],"х":46,"я":25,"-":113}],"б":[{"р":17,"-":113},21],"в":[{"е":17,"и":17,"о":17,"у":17,"-":113}],"г":[{"а":[{"л":34}],"л":19,"о":5,"-":113}],"д":[{"-":113},49],"е":[{".":25,"в":[{"л":0,"р":[{"а":5}]}],"г":[{"л":11}],"д":[{"ж":0,"о":8}],"з":[{"о":75,"р":0}],"к":[{"л":5}],"м":[{"н":21}],"н":25,"о":[{"н":[{"т":0}],"с":13}],"с":[{"б":2,"к":[{"а":9},2],"л":13,"п":[{"е":0}]}],"т":[{"в":0,"р":13}],"х":[{"р":0},25],"-":113}],"з":[{"о":17,"-":113}],"и":[{"а":[{"м":1}],"в":[{"о":30,"ы":30}],"г":[{"л":1,"р":[{"о":2}]}],"е":[{"р":3}],"к":[{"в":2}],"м":[{"п":21}],"о":[{"с":5}],"п":[{"л":2}],"с":[{"м":3,"п":28}],"т":[{"в":2}],"у":[{"м":3}],"х":[{"в":6,"л":0,"р":0}],"-":113},25],"к":[{"в":2,"л":23,"-":113},28],"л":[{"ь":19,"ю":5,"-":113},28],"м":[{"-":113},21],"н":[{"и":[{"е":1}],"-":113},28],"о":[{"б":[{"л":2,"р":13}],"в":[{"и":[{"я":21}],"л":2,"о":[{"д":30}]}],"г":[{"д":6,"о":[{"с":10}]}],"д":[{"р":0}],"е":[{"н":21}],"з":[{"в":0}],"к":[{"а":[{"у":4}],"л":[{"а":3},2]}],"п":[{"а":[{"с":30}]}],"р":[{"в":2,"г":28,"у":0}],"с":[{"к":5,"п":13}],"т":[{"д":21,"р":1}],"ш":[{"л":2}],"ё":[{"н":21}],"-":113},25],"п":[{"-":113},21],"с":[{"б":8,"-":113},40],"т":[{"-":113},17],"у":[{".":25,"б":[{"р":0}],"в":0,"г":8,"д":[{"р":76}],"е":25,"з":[{"н":0}],"к":[{"р":0}],"н":25,"о":[{"д":1}],"п":[{"л":[{"о":7}]}],"с":[{"н":103},0],"т":[{"ь":8}],"ю":25,"ё":25,"-":113}],"ф":[{"-":113},49],"х":[{"в":52,"-":113},40],"ц":[{"-":113},21],"ч":[{"-":113},17],"ы":[{".":25,"е":25,"ж":25,"й":25,"м":25,"х":[{".":25}],"-":113}],"ь":[{".":64,"д":21,"е":30,"и":30,"к":21,"м":21,"н":21,"о":30,"с":[{"к":21,"т":[{"и":25,"я":25}]}],"т":21,"ц":21,"ч":21,"щ":[{"а":25,"е":25,"у":25,"ё":25}],"ю":30,"я":30,"ё":30,"-":113}],"ю":[{".":25,"ж":25,"с":[{"ь":25}],"т":[{"а":0}],"-":113},19],"я":[{".":30,"в":[{"и":0,"о":30,"ы":30}],"д":21,"м":30,"р":[{"е":0,"у":0}],"х":30,"-":113},25],"ё":[{"д":[{"о":8}],"з":[{"о":75}],"к":[{"л":5}],"н":25,"с":[{"к":[{"а":9},2]}],"х":25,"-":113}],"ъ":[{".":110,"-":113}],"ж":[{"-":113}],"й":[{"-":113}],"р":[{"-":113}],"ш":[{"-":113}],"щ":[{"-":113}],"э":[{"-":113}]}],"м":[{"а":[{"в":[{"з":2}],"г":[{"н":2},30],"д":[{"р":2,"ь":2}],"з":[{"о":0}],"к":[{"р":11}],"л":[{"л":28}],"н":[{"д":[{"р":39}]}],"с":[{"л":3,"т":76}],"т":[{"о":[{"б":2}],"р":11}],"у":2,"ф":1,"ч":[{"т":2},30],"-":113}],"б":[{"и":18,"л":[{"я":18},2],"-":113},77],"в":[{"-":113},49],"г":[{"л":41,"-":113},42],"д":[{"-":113},28],"е":[{"а":[{"н":15}],"е":[{"г":2,"л":2}],"ж":[{"а":[{"т":11}]}],"з":[{"о":0}],"с":[{"к":11,"т":[{"р":12}]}],"ч":[{"т":5}],"д":[{"и":[{"н":[{"с":2}]}],"о":[{"с":[{"м":4}]}]}],"т":[{"и":[{"л":[{"а":[{"м":70}]}]}]}],"-":113}],"ж":[{"-":113},21],"з":[{"-":113},40],"и":[{"г":[{"р":[{"е":2}]}],"з":[{"в":0,"д":21,"н":0}],"к":[{"р":[{"и":5},2]}],"о":[{"з":2,"п":[{"и":0}],"р":2}],"с":[{"л":13,"с":[{"н":24}]}],"-":113}],"к":[{"н":30,"-":113},40],"л":[{"е":[{"е":19,"л":19}],"-":113},28],"м":[{"-":113},21],"н":[{"а":16,"е":[{"д":5,"ш":41}],"о":[{"е":64,"ж":19,"й":64,"м":64,"р":19,"ю":64}],"у":[{"т":19}],"ы":16,"ё":[{"ш":41}],"-":113},28],"о":[{"б":13,"в":[{"л":8}],"д":[{"р":0},30],"ж":[{"ж":2}],"з":[{"в":0,"р":0}],"и":[{"с":[{"т":10}]}],"к":[{"в":6}],"м":7,"н":30,"п":30,"р":[{"у":0}],"с":[{"к":[{"а":5}],"м":0,"н":0,"п":13}],"т":[{"и":30,"р":11}],"ф":30,"-":113}],"п":[{"л":2,"-":113},21],"р":[{"а":[{"б":17}],"и":21,"о":28,"ы":17,"-":113}],"с":[{"к":2,"н":2,"о":[{"р":23}],"т":[{"и":41}],"-":113},28],"т":[{"-":113},28],"у":[{"с":[{"к":13,"л":76,"т":0}],"т":[{"р":5,"ь":8}],"-":113}],"ф":[{"и":3,"-":113},21],"х":[{"-":113},28],"ц":[{"-":113},21],"ч":[{"а":[{"в":19,"л":19}],"и":[{"т":19,"ш":19}],"-":113}],"ш":[{"-":113},42],"щ":[{"е":41,"ё":41,"-":113},21],"ы":[{"м":[{"р":2},5],"с":2,"-":113}],"ь":[{".":21,"с":21,"ю":5,"-":113}],"э":[{"р":0,"-":113},21],"ю":[{"-":113},19],"я":[{"р":0,"с":[{"т":0}],"-":113}],"ъ":[{".":110,"-":113}],"ё":[{"-":113}],"й":[{"-":113}]},25],"н":[{"а":[{"б":[{"и":[{"о":10}],"р":1}],"в":[{"р":13}],"г":[{"н":1}],"ж":[{"д":8}],"з":13,"и":[{"л":2,"н":2,"с":4}],"к":[{"к":64}],"м":[{"н":7}],"п":[{"л":1}],"р":[{"в":[{"а":[{"т":1},0],"и":13}]}],"с":13,"т":[{"в":0,"р":13}],"ф":[{"р":33}],"х":13,"ч":21,"ш":[{"л":7}],"щ":21,"э":[{"р":5}],"я":30,"-":113},25],"б":[{"-":113},40],"в":[{"-":113},28],"г":[{"в":23,"и":[{"о":1}],"л":9,"о":[{"с":5}],"р":2,"-":113},21],"д":[{"а":[{"к":19}],"в":23,"е":[{"з":3,"с":1}],"ж":2,"з":20,"л":19,"р":[{"а":[{"г":0,"ж":0}],"е":2,"и":[{"а":2}],"я":19,"ё":2}],"с":[{"п":2}],"ц":19,"-":113},28],"е":[{"б":13,"в":[{"д":13,"н":[{"я":8},21]}],"г":1,"д":[{"л":13,"о":1,"р":[{"а":2,"о":0}],"у":8},30],"е":[{"д":1},8],"ж":[{"д":7}],"з":[{"в":0,"л":13,"н":0,"о":0,"р":0}],"и":1,"к":[{"в":13,"л":0}],"м":[{"н":7}],"о":[{"д":[{"а":2}],"л":2,"р":[{"е":6}]},78],"п":7,"р":[{"ж":13,"о":[{"т":11}]}],"с":[{"к":1,"н":7,"п":13,"т":15,"х":13,"ч":13}],"т":[{"в":13,"л":7,"р":13}],"у":30,"ф":[{"р":2}],"х":[{"р":0}],"ш":[{"к":8}],"я":1,"ё":8,".":110,"-":113},25],"з":[{"о":[{"с":5}],"-":113},40],"и":[{"б":7,"е":[{"н":2}],"й":30,"к":[{"л":2}],"л":[{"а":[{"л":11,"м":11},15]}],"н":[{"с":[{"п":21,"т":28}]}],"с":[{"л":0,"п":3,"т":[{"р":15}],"к":[{"о":[{"л":13}]}],"ь":[{".":9}]}],"у":3,"х":0,"ц":30,"щ":30,"-":113},25],"к":[{"в":2,"л":2,"о":[{"б":15,"п":14}],"р":[{"о":23}],"с":0,"-":113},28],"л":[{"-":113},17],"н":[{"о":[{"п":14}],"-":113},28],"о":[{"б":[{"р":0},1],"в":[{"л":2}],"д":[{"в":0,"р":0}],"е":[{"р":2}],"з":[{"в":0,"д":2,"о":7,"р":0}],"к":[{"н":8}],"м":[{"е":30,"ш":3,"ё":30}],"р":[{"в":2,"у":0}],"с":[{"к":[{"л":0}],"л":[{"и":2}],"п":13,"ч":2}],"т":[{"д":21}],"ф":7,"э":1,"л":[{"а":[{"м":[{"и":[{"н":104}]}]}]}],"-":113},25],"п":[{"-":113},20],"р":[{"е":28,"и":28,"о":17,"-":113}],"с":[{"в":52,"г":19,"к":[{"е":2,"о":[{"н":19}]}],"л":[{"а":18},19],"м":52,"н":19,"о":[{"к":23}],"п":[{"е":20}],"т":[{"р":1}],"у":[{"р":1}],"ф":52,"ъ":79,"-":113},28],"т":[{"в":23,"и":[{"о":[{"к":22}]}],"м":19,"р":[{"а":[{"г":80,"ж":5,"р":19,"с":[{"с":19},51]},2],"е":2,"и":[{"в":19}],"о":[{"к":19}],"у":[{"д":5},2],"ы":2,"я":23}],"-":113},28],"у":[{"т":[{"р":5}],"х":0,"ю":30,"-":113},25],"ф":[{"-":113},42],"х":[{"о":5,"-":113},17],"ц":[{"-":113},21],"ч":[{"л":19,"-":113},28],"ш":[{"т":2,"-":113},21],"щ":[{"-":113},21],"ы":[{".":30,"-":113},25],"ь":[{".":21,"е":25,"и":25,"к":21,"о":25,"с":21,"т":21,"ч":21,"ю":25,"я":25,"ё":25,"-":113}],"э":[{"-":113},19],"ю":[{"р":49,"-":113},34],"я":[{"в":[{"и":0}],"-":113},25],"ё":[{"б":13,"-":113},25],"ъ":[{".":110,"-":113}],"ж":[{"-":113}],"й":[{"-":113}],"м":[{"-":113}]}],"о":[{"а":[{"в":18,"п":5,"-":113},40],"б":[{"а":21,"и":[{"о":21}],"л":[{"е":[{"в":2,"м":2}],"ю":17}],"м":25,"о":[{"л":[{"г":22}],"м":14,"с":1,"т":21}],"р":[{"а":[{".":19,"в":17,"н":17}]},0],"ъ":25,"ь":21,"-":113}],"в":[{"л":[{"а":18,"о":20}],"н":[{"о":8,"у":[{"ш":20}]}],"р":[{"и":23}],"с":[{"е":2,"к":[{"о":8}]}],"т":2,"х":19,"-":113},17],"г":[{"е":36,"л":[{"а":[{".":8}],"и":[{".":8}],"о":[{".":8}]}],"р":[{"я":18}],"-":113},2],"д":[{"а":[{"н":21}],"в":[{"о":[{"е":0}]}],"е":[{".":18,"я":[{"л":34}]}],"и":[{"а":81,"м":36}],"л":[{"и":[{"т":2}]}],"о":[{"п":[{"е":27,"р":3,"ы":27}],"с":[{"и":19}],"т":[{"ч":23}],"б":[{"о":[{"л":27}]}]}],"р":[{"а":[{"г":17,"ж":0,"з":0,"к":0,"л":17}],"е":[{"б":8}],"о":[{"б":17,"в":0}],"ё":[{"б":8}]}],"у":[{"ч":27}],"ы":[{"м":[{"а":19,"у":19}],"н":19}],"ь":[{"б":19},17],"-":113}],"е":[{"б":0,"в":[{"л":23}],"д":2,"ж":[{"е":[{"к":18}],"и":2}],"о":0,"с":[{"т":2},13],"т":[{"о":19}],"ц":2,"-":113},17],"ж":[{"д":[{"и":18,"у":20,"е":[{"в":60}]}],"-":113}],"з":[{"а":[{"б":[{"в":55}],"в":21}],"в":[{"а":33,"е":[{"н":2}],"и":2,"я":33}],"г":[{"л":[{"о":2}]}],"д":[{"о":[{"р":2}],"р":17}],"е":[{"о":5}],"н":[{"о":8}],"о":[{"б":23,"н":21,"п":19,"р":[{"у":5}]},17],"у":[{"г":0}],"ы":[{"м":19,"с":18}],"-":113}],"и":[{"г":[{"н":1},11],"е":3,"з":2,"м":[{"о":8},2],"о":2,"с":[{"т":[{"р":105}]}],"-":113},18],"й":[{"с":[{"к":[{"о":[{"в":26}]}]},1],"-":113},21],"к":[{"а":[{"н":36}],"в":2,"л":[{"ю":18},42],"о":[{"б":5,"л":36,"п":[{"л":14}]}],"с":[{"к":0}],"т":[{"и":21},25],"у":[{"м":21}],"-":113},17],"л":[{"а":18,"г":[{"а":[{"н":2}]}],"е":17,"и":[{"м":[{"п":25}]}],"о":18,"у":[{"д":14},17],"ы":17,"ю":17,"я":18,"ё":17,"-":113}],"м":[{"а":18,"б":[{"л":2}],"е":21,"н":[{"е":[{"м":20,"т":20}],"о":[{"ж":18}],"ё":[{"м":20,"т":20}]}],"р":[{"и":0}],"ч":[{"е":[{".":52}]},2],"ш":[{"е":2}],"ь":[{"я":18},19],"ё":21,"-":113}],"н":[{"а":18,"д":1,"е":[{"ф":14}],"о":[{"б":5}],"р":17,"с":1,"т":[{"р":[{"у":2,"а":[{"т":2}]}]}],"и":[{"л":[{"а":[{"м":14}]}]}],"-":113}],"о":[{"л":19,"п":[{"с":8}],"с":[{"м":3,"т":[{"р":10}]}],"т":[{"и":19}],"ф":19,"-":113},33],"п":[{"а":[{"к":18,"р":18}],"л":[{"е":[{".":19,"й":23}],"и":[{"т":2},19],"о":2,"ю":[{".":8,"с":19}],"я":[{"с":18},19],"ё":[{"й":23}]}],"о":[{"в":[{"с":26}],"з":[{"н":15}],"ш":[{"л":55}]}],"р":[{"и":2}],"т":[{"е":20,"о":2}],"-":113}],"р":[{"а":[{"с":55},17],"б":[{"л":6}],"в":33,"е":[{"г":36,"с":[{"к":1}]},17],"и":[{"с":[{"п":0}]},17],"о":[{"с":[{"л":55}]},17],"т":[{"р":2}],"у":[{"е":17,"к":[{"с":0},17],"с":17}],"ц":21,"ы":17,"ю":17,"я":17,"ё":17,"-":113}],"с":[{"а":[{"д":18,"ж":14}],"б":[{"а":52},2],"к":[{"а":[{".":23,"р":8}],"в":[{"о":5}],"е":19,"и":[{".":19},0],"о":[{"в":19,"й":0,"м":0,"п":33,"ю":0}],"у":[{".":23,"ю":0}],"ё":19}],"л":[{"е":[{"й":8}],"о":[{"г":8}],"ы":[{"х":8}]},33],"м":[{"и":8,"о":[{"с":8}]}],"н":[{"и":[{"м":33}],"я":[{"л":2}]}],"п":[{"а":[{"с":2}],"у":33,"я":2}],"с":[{"в":2,"м":6}],"т":[{"а":2,"р":[{"а":18}]},17],"у":[{"ч":19}],"х":21,"ц":[{"е":[{"н":2}]}],"ч":33,"ш":[{"и":[{"в":33}]}],"о":[{"м":[{"н":24}]}],"-":113}],"т":[{"в":[{"а":8,"е":0,"и":0,"л":0,"ё":0},1],"г":25,"д":25,"е":[{"к":36,"р":18,"х":36}],"и":[{"д":[{"н":26}]},18],"к":[{"а":[{"л":18}]}],"м":19,"р":[{"а":[{"б":0,"д":0,"з":0,"с":15}],"е":[{"ж":0,"к":0,"ч":0,"ш":0}],"и":0,"о":[{"д":0,"е":0,"к":0,"с":0,"ч":0}],"у":[{"г":0}],"ё":[{"к":0,"ш":0}]}],"с":[{"м":8}],"у":[{"а":1,"ч":13}],"х":25,"ь":[{"ю":18,"я":18}],"ё":[{"к":36,"р":18}],"-":113},17],"у":[{"п":1,"с":[{"к":1}],"т":[{"а":8,"о":8}],"-":113},33],"ф":[{"а":[{"ш":21}],"е":18,"и":[{"т":21}],"о":[{"н":21,"р":[{"и":19}],"т":21}],"р":[{"и":19}],"ё":18,"-":113}],"х":[{"и":21,"л":[{"ы":0,"я":19}],"м":[{"е":2}],"о":[{"р":21}],"р":17,"у":17,"-":113}],"ц":[{"о":19,"-":113}],"ч":[{"а":[{"с":5}],"л":[{"е":0,"и":18},2],"т":[{"о":23},17],"-":113}],"ш":[{"в":[{"а":8}],"л":[{"а":2}],"п":[{"а":[{"к":74}]}],"т":2,"-":113}],"э":[{"т":[{"и":0}],"-":113}],"ю":[{"-":113},21],"я":[{"в":2,"д":2,"з":2,"р":[{"и":2}],"-":113},17],"ё":[{"ж":[{"и":2}],"-":113},17],"щ":[{"-":113}],"ъ":[{"-":113}],"ы":[{"-":113}],"ь":[{"-":113}]}],"п":[{"а":[{"в":[{"и":44,"л":3,"ь":2}],"д":[{"р":2}],"е":[{"н":2}],"з":[{"о":0}],"с":[{"л":5,"т":[{"а":5,"е":0,"о":5,"у":5,"ы":11}]}],"т":[{"р":[{"о":0}]}],"у":[{"н":2}],"ф":8,"х":[{"у":0}],"ш":[{"т":2}],"-":113}],"в":[{"-":113},40],"д":[{"-":113},28],"е":[{"д":[{"в":2,"и":[{"н":11}]}],"з":[{"а":8,"о":8},2],"к":[{"л":[{"а":11}]}],"л":[{"ь":2}],"п":[{"л":9}],"р":[{"и":[{"о":10}],"е":[{"с":[{"н":85}]}]}],"с":[{"к":11,"н":2,"т":[{"р":12}],"ц":2,"ч":2}],"т":[{"р":2}],"ш":[{"т":2}],"-":113},0],"и":[{"а":[{"с":[{"т":73}]}],"ж":[{"м":6}],"к":[{"р":11}],"н":[{"к":30}],"с":[{"я":30}],"-":113}],"к":[{"-":113},16],"л":[{".":21,"а":[{".":64,"с":5}],"е":[{"м":[{".":17,"с":17}],"н":[{"к":19},21],"о":82,"с":[{"к":10}],"ю":17}],"и":[{"в":21,"к":41}],"о":[{".":21,"в":21,"г":21}],"ы":[{"й":21,"м":21,"н":17,"х":17}],"ю":[{".":21,"т":17}],"я":[{"с":19,"ш":19}],"ё":[{"н":[{"к":19},21],"с":[{"к":10}],"ю":17}],"-":113}],"н":[{"а":18,"о":83,"ы":18,"-":113},28],"о":[{"б":13,"в":[{"л":8,"с":7}],"д":[{"в":[{"о":5}],"о":[{"к":4,"м":35,"д":[{"е":2}]}],"у":[{"р":[{"о":4}]}]}],"е":[{"л":1,"х":1,"ж":1}],"з":[{"в":[{"е":0}],"д":[{"о":0}],"л":13,"н":0}],"и":[{"щ":1}],"й":30,"л":[{"к":30}],"м":[{"н":[{"о":8,"у":8}]}],"п":84,"р":[{"г":17,"ж":1,"у":0}],"с":[{"л":30,"с":8,"т":[{"и":[{"н":2}]}]},76],"т":[{"в":1,"р":1}],"х":13,"ш":[{"л":[{"о":2,"ы":2,"я":2}]}],"э":[{"м":3}],"ё":[{"ж":1}],"-":113}],"п":[{"о":[{"д":5}],"-":113},42],"р":[{".":21,"е":[{"в":30,"з":5,"й":15,"л":5,"о":[{"г":5}],"т":30,"м":[{"н":[{"о":15}]}]}],"и":[{"в":3,"г":15,"д":14,"к":3,"л":[{"ь":51},3],"п":15,"ц":19,"ч":[{"е":[{"с":[{"к":106}]}],"ё":[{"с":[{"к":106}]}]}]},5],"о":[{"б":[{"л":5}],"д":[{"л":15}],"ж":14,"з":[{"о":17},22],"и":30,"п":3,"ф":[{"о":51}]}],"с":21,"у":19,"ё":[{"т":30}],"-":113}],"с":[{"а":[{"л":41}],"и":[{"н":18,"х":41}],"о":18,"-":113},40],"т":[{"в":52,"и":[{"х":41,"д":[{"н":26}]}],"у":18,"-":113},28],"у":[{"б":30,"г":[{"н":3}],"с":[{"к":[{"у":5}],"т":0}],"т":[{"ь":8}],"-":113}],"ф":[{"-":113},42],"х":[{"-":113},2],"ц":[{"-":113},21],"ч":[{"-":113},16],"ш":[{"-":113},21],"щ":[{"-":113},21],"ь":[{".":21,"т":21,"-":113}],"э":[{"р":[{"а":0}],"-":113}],"ю":[{"-":113},23],"ё":[{"с":[{"т":[{"р":12}]}],"т":[{"р":2}],"-":113},0],"ъ":[{".":110,"-":113}],"б":[{"-":113}],"г":[{"-":113}],"ж":[{"-":113}],"з":[{"-":113}],"й":[{"-":113}],"м":[{"-":113}],"ы":[{"-":113}],"я":[{"-":113}]},25],"р":[{"а":[{".":25,"а":1,"б":[{"л":2,"о":25,"р":11}],"в":[{"н":[{"я":25}]}],"г":[{"в":2,"л":2}],"д":[{"ж":1,"о":[{"б":85}],"ц":2}],"ж":[{"у":[{"р":2}]}],"з":[{"и":[{"й":2}],"у":[{"б":2}]}],"к":[{"в":1,"и":[{"з":25}],"л":6}],"л":[{"г":25}],"м":[{"к":25,"н":25}],"н":[{"о":[{"х":2}],"с":[{"ц":1}]}],"п":[{"л":11}],"с":[{"к":14,"л":25,"п":3,"т":[{"а":25,"л":14},5]}],"т":[{"а":[{"к":2}],"в":5,"р":13}],"х":[{"и":21}],"щ":[{"и":25}],"ю":25,"я":[{"т":21},25],"-":113}],"б":[{"л":[{"а":2,"е":19,"о":2,"ю":2,"ё":19}],"о":[{"с":3}],"-":113},28],"в":[{"а":[{"в":34,"к":18,"р":18,"т":[{"а":18}]}],"е":[{"ж":18,"о":19,"т":25}],"и":[{"н":18,"т":19},17],"о":[{"з":[{"д":22}]},17],"ь":17,"ё":[{"т":25}],"-":113}],"г":[{"в":19,"л":23,"н":19,"р":2,"-":113},21],"д":[{"а":[{"с":5}],"в":23,"ж":2,"и":[{"а":1}],"л":19,"о":[{"с":15}],"ц":19,"-":113},28],"е":[{".":25,"в":[{"р":0}],"г":[{"л":[{"я":1}],"н":1}],"д":[{"о":[{"п":[{"л":86},4],"с":2}]}],"е":[{"в":1,"д":1,"л":1}],"ж":[{"д":[{"и":26},7]}],"з":[{"к":25,"л":13,"н":[{"а":0}],"о":46,"р":0,"у":1}],"й":[{"ш":25}],"к":[{"л":13,"ш":25}],"м":[{"н":[{"о":8}],"о":[{"г":74},30]}],"н":[{"к":25,"ь":25}],"о":[{"н":0,"п":0,"р":13,"ф":13,"х":0,"ц":13}],"п":[{"ь":25}],"р":7,"с":[{"к":[{"и":5}],"л":0,"п":13,"с":[{"м":55}],"т":[{"а":8,"о":8}],"ч":0}],"т":[{"в":0,"р":13}],"у":[{"ч":[{"т":44}]}],"ч":[{"т":0}],"ш":[{"л":8}],"-":113}],"ж":[{"а":[{".":18,"м":18,"н":18}],"д":20,"-":113}],"з":[{"в":33,"о":17,"-":113},21],"и":[{"а":8,"б":[{"р":8},1],"в":[{"н":7}],"г":[{"и":21,"л":[{"о":2}],"н":7}],"д":[{"ж":21,"р":13}],"е":[{"л":1,"р":3}],"з":[{"в":1}],"к":[{"р":1}],"м":[{"н":7,"ч":7}],"н":[{"с":25},19],"о":[{"з":1,"с":1,"т":0}],"р":7,"с":[{"б":8,"п":21,"т":[{"в":8}]},13],"т":[{"р":7}],"у":25,"ф":[{"л":2,"р":8}],"х":[{"л":0}],"ц":25,"ш":25,"э":[{"т":[{"и":51}]}],"-":113}],"к":[{"в":19,"л":23,"с":0,"-":113},28],"л":[{"ь":19,"ю":5,"я":18,"-":113},40],"м":[{"ч":19,"-":113},21],"н":[{"а":[{"с":86}],"е":[{"о":3,"с":22}],"о":[{"с":[{"л":3}]}],"и":[{"л":[{"а":[{"м":107}]}]}],"-":113},28],"о":[{".":25,"б":[{"л":[{"ю":2,"е":[{"ю":1}]}],"р":13}],"в":[{"л":2}],"г":[{"о":[{"л":25}],"р":[{"у":25}]}],"д":[{"в":0,"з":7,"л":[{"е":1,"ё":1},0],"о":[{"т":11}],"р":0,"ь":25}],"е":[{"л":1,"м":1,"х":1}],"з":[{"а":[{"р":25}],"в":13,"р":0,"ы":[{"с":30}]}],"и":[{"с":55}],"к":[{"о":[{"н":25}],"р":25}],"л":[{"и":[{"с":25,"ц":25}]}],"м":[{"о":[{"р":25}]}],"н":[{"а":[{"ж":25,"п":25}],"о":[{"с":25}]}],"о":[{"п":[{"р":10}]}],"п":[{"л":[{"ю":2}],"с":8}],"р":[{"г":28,"ж":13,"у":0}],"с":[{"к":[{"и":2,"у":2},0],"л":25,"м":0,"п":13,"ф":1,"ш":25,"ю":25}],"т":[{"в":67,"к":25,"р":[{"и":1}]}],"у":[{"г":15},25],"ф":[{"а":[{"к":11}],"р":2}],"х":[{"л":0}],"ш":[{"л":1,"н":8}],"я":[{"з":25}],"ё":[{"м":1}],"-":113}],"п":[{"л":[{"о":2,"ю":19}],"-":113},21],"р":[{"-":113},28],"с":[{"к":2,"н":19,"п":2,"т":[{"в":[{"л":18},15]}],"-":113},77],"т":[{"а":[{"к":[{"к":19,"т":23}]}],"в":[{"а":8,"л":2},23],"м":19,"о":[{"б":23,"р":[{"г":0}]}],"р":[{"а":[{"н":2},0],"е":0,"и":0}],"у":[{"с":10,"ч":[{"и":27}]}],"ь":[{"ю":18}],"я":[{"ч":0}],"-":113},28],"у":[{".":25,"б":[{"а":25}],"г":[{"н":3}],"д":[{"а":[{"р":2}]}],"ж":[{"е":[{"й":25}]}],"к":[{"с":21}],"л":25,"с":[{"к":5,"л":3,"т":[{"а":0,"р":10}]}],"т":[{"ь":8}],"х":[{"а":25,"о":25}],"ч":[{"н":25}],"-":113}],"ф":[{"л":2,"-":113},21],"х":[{"в":19,"и":[{"н":23}],"л":[{"о":33},0],"о":[{"п":23}],"р":0,"-":113},21],"ц":[{"в":19,"-":113},21],"ч":[{"л":19,"м":19,"-":113},28],"ш":[{"м":20,"т":2,"-":113},21],"щ":[{"-":113},21],"ъ":[{".":110,"-":113},21],"ы":[{".":25,"б":25,"д":[{"в":2}],"з":21,"к":[{"л":2}],"м":25,"с":[{"к":11}],"х":11,"-":113}],"ь":[{".":21,"е":25,"и":25,"к":21,"с":21,"т":21,"ю":25,"я":25,"ё":25,"-":113}],"э":[{"л":0,"-":113}],"ю":[{".":25,"с":25,"-":113},19],"я":[{"в":[{"и":0}],"ю":25,"-":113}],"ё":[{"з":[{"к":25,"н":[{"а":0}],"о":46,"у":1}],"к":[{"ш":25}],"м":[{"о":30}],"н":[{"к":25}],"с":[{"т":[{"а":8,"о":8}]}],"-":113}],"й":[{"-":113}]}],"с":[{"а":[{"б":[{"л":2}],"д":[{"ь":2}],"к":[{"в":2,"л":2}],"л":[{"ь":[{"п":28}]}],"п":[{"п":17}],"р":[{"к":28}],"т":[{"л":28,"р":0}],"у":[{"н":2}],"ф":[{"р":11}],"х":13,"-":113},25],"б":[{"е":[{"з":[{"о":58},88],"с":14}],"у":36,"ы":19,"ю":21,"р":[{"у":[{"к":108}]}],"-":113},87],"в":[{"е":[{"н":36}],"-":113},34],"г":[{"и":19,"н":19,"о":19,"-":113},2],"д":[{"а":19,"е":19,"и":18,"о":19,"ё":19,"-":113},87],"е":[{"г":[{"н":1}],"з":13,"к":[{"в":0,"л":5,"р":11,"с":86}],"м":[{"и":10}],"р":[{"е":[{"б":15}]}],"с":[{"к":2,"т":[{"а":8,"е":8,"р":10,"ё":8},2]}],"-":113},34],"ж":[{"-":113},34],"з":[{"-":113},17],"и":[{"з":30,"о":[{"м":0,"п":0}],"п":[{"л":2}],"х":0,"-":113},34],"к":[{".":64,"а":[{"м":21,"н":[{"д":19}],"ф":34,"х":21}],"в":[{"а":2,"и":19}],"и":[{"н":[{"о":30}]}],"л":[{"я":[{"в":8},19]},2],"н":21,"о":[{"н":[{"а":21},17],"п":[{"с":19}],"ш":21}],"р":[{"а":17,"и":[{"б":21}]},2],"с":0,"у":[{"е":21,"ё":21}],"-":113}],"л":[{"а":[{".":36,"в":25,"д":25,"м":17,"я":36}],"е":[{"в":18,"е":18,"й":17,"о":15,"т":17,"ю":18}],"и":[{".":36,"ц":21}],"о":[{".":36,"ж":19,"м":[{"у":18}],"с":36}],"у":[{"ю":36}],"ы":[{"е":36,"й":36,"м":36}],"ь":21,"ю":[{"с":17}],"я":36,"ё":[{"т":17}],"-":113}],"м":[{"е":[{"с":25,"я":50}],"у":[{"р":18}],"-":113},19],"н":[{"а":[{"б":34,"с":19,"я":21}],"е":[{"ж":34}],"и":[{"к":36}],"о":[{"з":22},21],"у":[{"ю":21}],"ы":36,"-":113},17],"о":[{"б":[{"р":13}],"в":[{"р":1},19],"д":0,"з":13,"л":[{"г":13}],"м":7,"р":[{"и":[{"е":2}],"у":0}],"с":[{"к":0,"п":13,"ь":2,"т":[{"р":[{"и":[{"т":2}]}]}]}],"т":[{"р":1,"к":[{"а":[{"л":7}]}]}],"ч":[{"л":0}],"ш":[{"л":1}],"-":113},25],"п":[{"а":[{"в":19}],"е":[{"е":19,"л":19,"н":19,"х":19,"ц":34,"ш":19,"ю":19}],"и":[{"м":19,"с":[{"я":21}]}],"н":18,"о":[{"з":22,"л":21,"с":19}],"ь":21,"-":113},2],"р":[{".":21,"а":[{"б":19,"с":1,"т":17}],"е":[{"б":39,"д":[{"о":3}]}],"-":113},25],"с":[{"а":[{"н":[{"д":51}]}],"б":19,"в":[{"о":8}],"и":89,"к":20,"л":2,"н":[{"е":20},19],"о":[{"р":[{"и":19}]}],"п":2,"т":1,"ч":2,"-":113},28],"т":[{".":21,"а":[{".":25}],"б":21,"в":[{".":64,"е":[{"р":0}],"л":21,"о":[{"л":2}],"я":2}],"е":[{".":90,"й":25,"л":25,"н":[{".":25}],"т":[{".":18,"е":18}],"х":3,"ш":18},19],"и":[{"е":19,"и":19,"м":[{"п":21}],"н":[{"д":21,"ф":21,"ъ":21}],"ч":19,"ш":[{"к":19}],"ю":19},25],"к":21,"л":[{"а":2,"е":20,"и":[{"л":2,"т":2},21],"я":21,"ё":20}],"м":21,"н":21,"о":[{".":25,"б":71,"в":25,"г":[{"н":55},25],"д":25,"е":25,"и":41,"к":25,"м":25,"н":25,"р":[{"г":21,"ж":21,"с":21}],"с":25,"т":25,"ц":19,"ю":25}],"п":21,"р":[{".":21,"а":[{"с":51,"я":64}],"е":[{"д":21,"й":0}],"и":[{"в":21,"з":0,"л":21,"щ":21}],"о":[{"а":0,"в":62,"д":0,"х":0}],"у":[{"б":2,"ш":0}]}],"с":21,"у":[{"т":17,"ю":25}],"ф":21,"ц":21,"ы":[{"в":19},25],"ь":[{".":21,"с":21,"ю":30,"я":25,"т":21},50],"я":[{"м":25,"х":25}],"ч":[{"е":[{".":21}]}],"ё":[{"л":25,"н":[{".":25}],"т":[{".":18,"е":18}],"х":3,"ш":18},19],"-":113}],"у":[{"б":[{"а":22,"о":5},2],"в":0,"г":[{"л":8}],"е":[{"в":2}],"з":2,"к":[{"р":0}],"м":[{"а":10}],"п":[{"е":15}],"с":[{"л":3,"п":3,"т":0}],"т":[{"р":5}],"ф":6,"х":0,"-":113},25],"ф":[{"е":34,"-":113}],"х":[{"е":34,"-":113},33],"ц":[{"а":21,"е":[{"н":[{"а":19}]}],"и":36,"о":21,"-":113}],"ч":[{"а":[{"с":19},25],"е":[{"с":[{"к":39}]}],"и":[{"в":18,"к":21,"т":19}],"л":17,"о":21,"ё":[{"с":[{"к":39}]}],"-":113},2],"ш":[{"н":18,"-":113},2],"ъ":[{"е":[{"д":3,"л":3}],".":110,"-":113},87],"ы":[{"г":11,"з":2,"п":[{"л":11}],"с":[{"к":[{"а":5}]},2],"м":[{"и":[{"т":2}]}],"-":113},25],"ь":[{".":21,"е":25,"к":21,"т":21,"ю":25,"я":25,"с":[{"я":[{".":21}]}],"ё":25,"-":113}],"э":[{"р":0,"с":19,"-":113}],"ю":[{"с":0,"-":113},34],"я":[{"з":21,"т":[{"ь":8}],"-":113},25],"ё":[{"к":[{"с":86}],"с":[{"т":[{"р":10},2]}],"-":113},34],"й":[{"-":113}],"щ":[{"-":113}]}],"т":[{"а":[{"б":[{"л":2,"р":1}],"в":[{"р":[{"и":0}]}],"г":[{"н":2},25],"з":13,"к":[{"л":[{"е":3}]}],"н":19,"п":[{"л":2}],"с":[{"т":0},25],"т":[{"р":0}],"щ":25,"-":113}],"б":[{"-":113},40],"в":[{".":21,"а":38,"е":[{"й":17,"л":17,"т":17}],"и":21,"о":[{"е":17,"з":91,"й":28,"с":17,"ю":21,"ё":17}],"р":28,"у":21,"ы":21,"я":21,"ё":[{"л":17}],"-":113}],"г":[{"-":113},21],"д":[{"-":113},28],"е":[{"г":[{"н":2}],"д":0,"з":[{"о":0}],"к":[{"а":30,"л":5,"ш":30}],"л":[{"е":[{"о":10}]}],"м":[{"б":39}],"о":[{"д":6,"х":0}],"п":[{"л":92}],"р":[{"а":[{"к":2}],"е":[{"о":15}],"з":30,"к":3,"я":30}],"с":[{"к":[{"а":2,"и":11,"о":11,"у":2}],"т":15}],"х":[{"о":2}],"-":113},34],"ж":[{"-":113},21],"з":[{"-":113},28],"и":[{"а":[{"м":1}],"б":[{"л":2}],"д":7,"з":[{"н":[{"а":0}]}],"и":[{"с":10},1],"к":1,"л":[{"а":[{"м":15}]}],"м":[{"п":17}],"н":[{"в":28,"д":17,"ж":21,"ф":21}],"с":[{"л":13,"т":[{"в":8}]}],"ф":[{"р":7}],"х":[{"р":0}],"-":113}],"к":[{"а":[{"в":41,"н":41}],"е":[{"т":41}],"н":30,"ё":[{"т":41}],"-":113},40],"л":[{"о":[{"б":1}],"ь":19,"-":113},28],"м":[{"и":[{"с":[{"т":73},1]}],"щ":18,"-":113},2],"н":[{"-":113},28],"о":[{"б":[{"е":[{"с":2}],"л":13,"ъ":21}],"в":[{"л":2}],"д":[{"р":7},0],"з":13,"к":[{"р":1}],"м":[{"м":28,"с":21}],"н":[{"г":21}],"р":[{"г":25,"ж":25,"с":25,"у":0,"ш":25}],"с":[{"н":13,"п":13,"ц":13}],"т":[{"д":21,"к":8}],"щ":25,"-":113}],"п":[{"а":[{"т":5}],"-":113},42],"р":[{"а":[{"г":[{"а":17}],"ж":28}],"б":21,"в":21,"г":21,"д":[{"о":15},21],"е":[{"а":17,"б":[{"о":25,"у":25,"ь":17}],"в":[{"е":17,"ш":17,"ё":17}],"г":17,"д":17,"е":17,"з":[{"а":17,"н":17}],"п":[{"л":10}],"с":[{"к":10,"т":17},93],"т":[{"у":17}],"х":94,"ц":17,"ш":[{"ь":19}],"ю":17}],"и":[{"б":25,"в":17,"г":[{"л":39}],"л":17,"м":17,"н":[{"с":64}],"о":5,"т":17,"ф":3,"щ":17}],"м":21,"н":21,"о":[{"г":[{"л":17}],"и":[{"д":17}],"й":21,"п":[{"л":3}],"р":17,"с":[{"о":17}],"т":3,"ц":16,"ю":21,"е":[{"т":[{"е":[{"с":1}],"ё":[{"с":1}]}]}]}],"п":21,"р":21,"у":[{"б":25,"д":19,"к":21,"м":19,"т":19}],"ф":21,"щ":21,"ъ":21,"ы":17,"я":[{".":17,"в":17,"д":28,"е":17,"ж":17,"й":17,"к":18,"т":17,"щ":17,"я":17}],".":102,"ё":[{"х":94,"ш":[{"ь":19}]}],"-":113}],"с":[{"б":19,"д":52,"е":[{"п":15}],"м":52,"п":52,"-":113},95],"т":[{"м":19,"-":113},28],"у":[{"г":[{"р":2}],"ж":[{"и":[{"н":2}]}],"п":[{"р":40}],"с":[{"л":0,"т":0}],"ф":[{"л":2}],"ш":[{"а":25,"о":25,"ь":25}],"щ":25,"-":113}],"ф":[{"-":113},21],"х":[{"-":113},28],"ц":[{"-":113},64],"ч":[{"-":113},28],"ш":[{"-":113},42],"щ":[{"-":113},21],"ъ":[{".":110,"-":113},21],"ы":[{"г":11,"с":[{"к":11}],"-":113}],"ь":[{".":64,"е":30,"и":30,"м":2,"т":64,"ю":5,"ё":30,"-":113},21],"э":[{"-":113},21],"ю":[{"т":0,"-":113},19],"я":[{"г":25,"ж":25,"п":25,"ч":42,"-":113}],"ё":[{"г":[{"н":2}],"з":[{"о":0}],"к":[{"а":30,"л":5,"ш":30}],"п":[{"л":92}],"р":[{"к":3}],"с":[{"к":[{"а":2,"и":11,"о":11,"у":2}]}],"х":[{"о":2}],"-":113},34],"й":[{"-":113}]}],"у":[{"а":[{"л":[{"е":19}],"с":19,"-":113},17],"б":[{"е":[{"л":18}],"о":[{"д":5,"с":15}],"р":[{"а":25,"ю":8},0],"ы":[{"т":34}],"-":113}],"в":[{"е":[{".":17}],"и":17,"л":2,"о":17,"у":17,"-":113}],"г":[{"в":19,"л":19,"н":[{"а":2,"е":2,"ё":2},19],"р":[{"е":0,"я":0,"ё":0}],"-":113}],"д":[{"а":[{"с":5}],"в":2,"р":[{"а":[{"м":0}],"о":0}],"у":18,"-":113}],"е":[{"д":2,"л":2,"с":[{"к":11,"л":1},0],"х":2,"-":113},17],"ж":[{"ж":19,"-":113}],"з":[{"в":33,"о":[{"п":3},17],"-":113}],"и":[{"-":113},17],"к":[{"а":17,"в":0,"и":17,"о":[{"б":5},17],"у":91,"-":113}],"л":[{"а":17,"е":17,"у":17,"ы":[{"х":17}],"ю":17,"ё":17,"-":113}],"м":[{"ч":19,"-":113}],"н":[{"а":18,"д":[{"р":11}],"ь":17,"-":113}],"о":[{"б":2,"в":2,"з":[{"а":19}],"к":2,"п":2,"с":[{"т":10},2],"т":11,"ф":2,"-":113},17],"п":[{"л":[{"ю":0},19],"р":[{"о":18}],"-":113}],"р":[{"а":17,"е":[{"т":[{"р":55}]},17],"и":17,"к":[{"е":44}],"о":[{"д":[{"л":1},19]},17],"т":[{"р":1}],"у":18,"ы":17,"ю":17,"я":17,"ё":17,"-":113}],"с":[{"а":[{"д":19}],"г":17,"к":[{"а":0,"и":0,"л":3,"о":[{"м":0}],"р":17,"у":[{".":0}]}],"л":[{"а":[{"ж":96}],"и":8},2],"м":17,"н":19,"п":2,"с":8,"т":[{"е":17,"я":17,"ё":17}],"ф":17,"ц":21,"ч":19,"ь":[{"я":18},19],"-":113}],"т":[{"а":17,"е":[{"р":18}],"и":17,"л":[{"я":2}],"о":[{"п":[{"с":14}]},17],"р":[{"и":0}],"у":17,"ы":17,"ь":[{"е":17,"ю":18,"ё":17}],"ю":25,"я":17,"ё":[{"р":18}],"-":113}],"у":[{"г":1,"с":2,"-":113},17],"ф":[{"и":18,"л":[{"я":2},0],"р":19,"-":113}],"х":[{"а":[{"д":0,"т":1}],"в":[{"о":97},19],"л":[{"я":8},0],"р":0,"-":113}],"ч":[{"е":[{"б":19}],"р":25,"ь":17,"ё":[{"б":19}],"-":113}],"ш":[{"е":18,"и":18,"л":[{"а":0},19],"п":19,"ё":18,"-":113}],"э":[{"-":113},21],"я":[{"з":2,"-":113},17],"ё":[{"-":113},17],"й":[{"-":113}],"ц":[{"-":113}],"щ":[{"-":113}],"ъ":[{"-":113}],"ы":[{"-":113}],"ь":[{"-":113}],"ю":[{"-":113}]}],"ф":[{"а":[{"б":11,"г":[{"н":2}],"з":[{"о":0}],"н":[{"д":[{"р":10},1]}],"т":[{"р":0}],"х":2,"ш":30,"э":5,"-":113}],"б":[{"-":113},28],"в":[{"-":113},28],"г":[{"-":113},21],"д":[{"-":113},28],"е":[{"в":[{"р":5}],"д":[{"р":5}],"о":98,"с":[{"к":11}],"-":113}],"и":[{"а":[{"к":39}],"г":[{"л":2}],"ж":2,"з":[{"о":2}],"н":[{"и":[{"н":2}]}],"о":0,"т":30,"-":113},50],"к":[{"-":113},28],"л":[{"а":19,"и":19,"о":19,"-":113}],"м":[{"-":113},21],"н":[{"-":113},28],"о":[{"б":[{"ъ":21}],"н":30,"р":[{"в":2,"г":28,"т":[{"р":3}],"у":0}],"с":[{"к":5}],"т":[{"о":[{"п":44}]},30],"-":113}],"р":[{"а":[{"б":17,"з":5,"с":5,"т":17}],"е":[{"н":19,"с":1}],"и":[{"ж":19,"з":19},17],"о":[{"н":19},17],"у":17,"-":113}],"с":[{"-":113},36],"т":[{"м":19,"о":[{"р":19}],"-":113},28],"у":[{"п":40,"т":[{"л":8}],"ф":21,"-":113}],"ф":[{"-":113},21],"ч":[{"-":113},28],"ш":[{"-":113},42],"ь":[{".":21,"-":113}],"ю":[{"-":113},23],"ъ":[{".":110,"-":113}],"ё":[{"-":113}],"ж":[{"-":113}],"з":[{"-":113}],"й":[{"-":113}],"п":[{"-":113}],"х":[{"-":113}],"ц":[{"-":113}],"щ":[{"-":113}],"ы":[{"-":113}],"э":[{"-":113}],"я":[{"-":113}]},25],"х":[{"а":[{"б":[{"л":2}],"д":2,"к":28,"н":[{"д":1}],"о":3,"р":[{"ш":17}],"-":113},25],"б":[{"-":113},28],"в":[{"е":36,"и":36,"ы":18,"ё":36,"-":113},34],"г":[{"-":113},21],"д":[{"-":113},20],"е":[{"о":3,"-":113},25],"з":[{"-":113},33],"и":[{"а":[{"т":10}],"е":1,"з":[{"ы":28}],"с":13,"-":113},25],"к":[{"-":113},33],"л":[{"а":[{"в":17,"с":17,"т":17,"ц":17}],"е":[{"б":25,"с":19,"т":17}],"о":[{".":18,"п":19,"р":34}],"у":17,"ё":[{"б":25,"с":19}],"-":113}],"м":[{"у":34,"-":113}],"н":[{"ы":41,"-":113},28],"о":[{"к":40,"п":[{"е":2,"о":[{"р":2}]},1],"р":[{"у":0}],"с":[{"м":17,"н":28}],"ф":1,"х":[{"л":5}],"я":1,"-":113},25],"п":[{"-":113},2],"р":[{"а":[{"з":17,"н":25,"с":99}],"е":[{"й":17}],"и":[{"п":[{"л":1}],"с":19}],"о":[{"в":17,"м":[{"ч":1},25]}],"ы":17,"я":17,"-":113}],"с":[{"-":113},40],"т":[{"-":113},28],"у":[{".":25,"г":33,"е":21,"й":21,"н":25,"р":[{"а":8},33],"с":25,"ш":25,"ю":21,"я":[{".":102}],"-":113}],"х":[{"-":113},33],"ч":[{"-":113},40],"ш":[{"-":113},21],"ь":[{"ю":5,"-":113}],"ъ":[{".":110,"-":113}],"ё":[{"-":113}],"ж":[{"-":113}],"й":[{"-":113}],"ф":[{"-":113}],"ц":[{"-":113}],"щ":[{"-":113}],"ы":[{"-":113}],"э":[{"-":113}],"ю":[{"-":113}],"я":[{"-":113}]}],"ц":[{"а":[{".":30,"м":30,"п":[{"л":2}],"х":30,"-":113},0],"б":[{"-":113},28],"в":[{"е":19,"ы":21,"ё":19,"-":113}],"г":[{"-":113},21],"д":[{"-":113},28],"е":[{"з":0,"к":0,"о":[{"т":0}],"п":[{"л":5}],"с":[{"л":1}],"т":[{"а":[{"т":21}]},0],"-":113}],"з":[{"-":113},28],"и":[{"к":[{"л":3},11],"о":[{"л":2}],"п":1,"с":[{"к":2}],"у":3,"ф":[{"р":5}],"-":113},0],"к":[{"-":113},40],"л":[{"-":113},28],"м":[{"-":113},21],"н":[{"-":113},28],"о":[{"б":33,"д":40,"т":28,"-":113}],"п":[{"-":113},42],"р":[{"-":113},28],"с":[{"-":113},28],"т":[{"-":113},28],"у":[{"-":113},30],"ц":[{"-":113},21],"ш":[{"-":113},49],"ы":[{"п":[{"л":3},2],"-":113},30],"ю":[{"-":113},0],"ъ":[{".":110,"-":113}],"ё":[{"-":113}],"ж":[{"-":113}],"й":[{"-":113}],"ф":[{"-":113}],"х":[{"-":113}],"ч":[{"-":113}],"щ":[{"-":113}],"ь":[{"-":113}],"э":[{"-":113}],"я":[{"-":113}]},25],"ч":[{"а":[{"д":[{"р":2,"ц":2}],"е":[{"в":[{"о":2,"ы":2}],"р":2}],"с":[{"т":[{"в":10,"е":0,"у":0,"я":0}]}],"т":[{"о":30,"ы":30}],"-":113},25],"б":[{"-":113},28],"в":[{"-":113},17],"д":[{"-":113},28],"е":[{"в":[{"л":0}],"г":[{"л":2}],"о":0,"р":[{"с":[{"т":73},1]}],"с":[{"л":0}],"-":113},25],"ж":[{"о":1,"-":113},19],"и":[{"к":30,"ц":30,"-":113},25],"к":[{"-":113},28],"л":[{"а":34,"е":[{"г":18,"ж":18},19],"и":[{".":19},21],"о":34,"-":113}],"м":[{"а":21,"е":21,"о":19,"-":113},25],"н":[{"-":113},28],"о":[{"-":113},30],"с":[{"-":113},28],"т":[{"а":28,"е":19,"м":21,"ё":19,"-":113}],"у":[{"к":30,"-":113},25],"х":[{"-":113},19],"ч":[{"-":113},28],"ь":[{".":21,"е":25,"и":25,"с":21,"т":21,"ю":25,"я":25,"ё":25,"-":113}],"ё":[{"р":[{"с":[{"т":73},1]}],"-":113},25],"ъ":[{".":110,"-":113}],"г":[{"-":113}],"з":[{"-":113}],"й":[{"-":113}],"п":[{"-":113}],"р":[{"-":113}],"ф":[{"-":113}],"ц":[{"-":113}],"ш":[{"-":113}],"щ":[{"-":113}],"ы":[{"-":113}],"э":[{"-":113}],"ю":[{"-":113}],"я":[{"-":113}]}],"ш":[{"а":[{"б":[{"л":2}],"г":[{"н":2,"р":11}],"д":[{"р":2}],"н":[{"к":[{"р":1}]}],"р":[{"т":14}],"с":[{"т":0}],"т":[{"р":[{"о":0}]}],"-":113}],"б":[{"-":113},28],"в":[{"е":[{"н":18}],"-":113},19],"е":[{"г":[{"л":2}],"к":0,"о":13,"п":[{"л":8}],"с":13,"-":113}],"и":[{"б":[{"л":2}],"п":[{"л":2}],"ф":[{"р":5}],"-":113}],"к":[{"о":[{"л":41}],"-":113},40],"л":[{"е":[{"й":28,"н":21}],"и":[{".":19,"в":21,"л":21,"н":19,"с":19,"т":[{"е":19}],"ф":19}],"о":[{".":19,"в":21,"г":19}],"ы":17,"ю":19,"я":[{"е":21,"к":21,"п":19,"т":21,"ч":21,"ю":21}],"ё":[{"н":21}],"-":113}],"м":[{"ы":[{".":16},41],"-":113},21],"н":[{"и":64,"у":[{"р":19}],"-":113},28],"п":[{"р":18,"-":113},100],"р":[{"-":113},28],"с":[{"-":113},28],"т":[{"и":17,"с":21,"-":113}],"у":[{"е":[{"в":2}],"с":[{"т":10}],"-":113}],"ф":[{"-":113},21],"х":[{"-":113},17],"ц":[{"-":113},21],"ч":[{"-":113},28],"ь":[{".":64,"е":30,"и":30,"ю":30,"я":30,"ё":30,"-":113},21],"ю":[{"-":113},23],"ъ":[{".":110,"-":113}],"г":[{"-":113}],"д":[{"-":113}],"ё":[{"-":113}],"ж":[{"-":113}],"з":[{"-":113}],"й":[{"-":113}],"о":[{"-":113}],"ш":[{"-":113}],"щ":[{"-":113}],"ы":[{"-":113}],"э":[{"-":113}],"я":[{"-":113}]},25],"щ":[{"в":[{"-":113},49],"е":[{"б":[{"л":13}],"г":[{"л":2}],"д":[{"р":5}],"и":[{"с":10},1],"с":0,"х":0,"ш":[{"к":8},1],"-":113}],"и":[{"п":[{"л":11}],"-":113}],"м":[{"-":113},21],"н":[{"-":113},28],"р":[{"-":113},28],"ь":[{".":21,"-":113}],"ъ":[{".":110,"-":113}],"а":[{"-":113}],"б":[{"-":113}],"г":[{"-":113}],"д":[{"-":113}],"ё":[{"-":113}],"ж":[{"-":113}],"з":[{"-":113}],"й":[{"-":113}],"к":[{"-":113}],"л":[{"-":113}],"о":[{"-":113}],"п":[{"-":113}],"с":[{"-":113}],"т":[{"-":113}],"у":[{"-":113}],"ф":[{"-":113}],"х":[{"-":113}],"ц":[{"-":113}],"ч":[{"-":113}],"ш":[{"-":113}],"щ":[{"-":113}],"ы":[{"-":113}],"э":[{"-":113}],"ю":[{"-":113}],"я":[{"-":113}]},25],"ъ":[{"е":[{"г":2,"д":[{"о":8},2],"л":2,"р":100,"с":2,"х":[{"и":2}],"-":113}],"ю":[{"-":113},2],"я":[{"н":8,"-":113},2],"ё":[{"р":100,"-":113}],"а":[{"-":113}],"б":[{"-":113}],"в":[{"-":113}],"г":[{"-":113}],"д":[{"-":113}],"ж":[{"-":113}],"з":[{"-":113}],"и":[{"-":113}],"й":[{"-":113}],"к":[{"-":113}],"л":[{"-":113}],"м":[{"-":113}],"н":[{"-":113}],"о":[{"-":113}],"п":[{"-":113}],"р":[{"-":113}],"с":[{"-":113}],"т":[{"-":113}],"у":[{"-":113}],"ф":[{"-":113}],"х":[{"-":113}],"ц":[{"-":113}],"ч":[{"-":113}],"ш":[{"-":113}],"щ":[{"-":113}],"ъ":[{"-":113}],"ы":[{"-":113}],"ь":[{"-":113}],"э":[{"-":113}]},17],"ы":[{"б":[{"л":19,"-":113}],"г":[{"а":18,"и":18,"л":2,"н":19,"-":113}],"д":[{"л":19,"р":[{"е":2,"о":23,"я":19,"ё":2}],"-":113}],"е":[{"-":113},2],"ж":[{"д":20,"-":113}],"з":[{"в":[{"а":2}],"д":2,"л":19,"н":[{"а":2},19],"-":113}],"и":[{"г":5,"-":113},2],"к":[{"в":23,"л":[{"о":52},2],"о":[{"з":5}],"с":0,"-":113}],"л":[{"ь":19,"-":113}],"м":[{"ч":19,"-":113}],"н":[{"о":[{"с":[{"л":44}]}],"-":113}],"п":[{"о":18,"-":113}],"р":[{"а":[{"с":55}],"в":2,"е":[{"х":1}],"ь":[{"м":19}],"ё":[{"х":1}],"-":113}],"с":[{"а":18,"е":18,"к":[{"и":0,"у":0}],"н":19,"о":18,"п":2,"х":19,"ч":2,"ш":19,"ё":18,"-":113}],"т":[{"в":[{"и":0}],"р":2,"ь":[{"ю":18,"я":18}],"-":113}],"у":[{"-":113},2],"ш":[{"л":23,"ь":18,"-":113}],"я":[{"в":[{"я":2}],"-":113}],"а":[{"-":113}],"в":[{"-":113}],"ё":[{"-":113}],"й":[{"-":113}],"о":[{"-":113}],"ф":[{"-":113}],"х":[{"-":113}],"ц":[{"-":113}],"ч":[{"-":113}],"щ":[{"-":113}],"ъ":[{"-":113}],"ы":[{"-":113}],"ь":[{"-":113}],"э":[{"-":113}],"ю":[{"-":113}]},17],"ь":[{"б":[{"а":[{"т":15}],"-":113},2],"в":[{"я":19,"-":113}],"д":[{"ц":19,"-":113}],"е":[{"з":[{"о":0}],"к":0,"с":[{"к":11}],"-":113},19],"з":[{"н":19,"-":113}],"и":[{"-":113},23],"к":[{"л":19,"-":113}],"м":[{"и":[{"д":3,"к":3}],"о":5,"-":113}],"н":[{"е":[{"о":1}],"-":113}],"о":[{"-":113},19],"п":[{"л":23,"т":[{"о":20}],"-":113}],"с":[{"к":2,"н":19,"т":[{"и":19,"я":19}],"-":113}],"т":[{"а":[{"м":[{"п":23}]}],"и":[{"м":3}],"м":19,"о":[{"т":19}],"р":[{"а":[{"б":19}],"е":2,"у":2,"ы":2}],"-":113}],"х":[{"о":[{"з":10},1],"-":113}],"щ":[{"а":19,"е":19,"у":19,"ё":19,"-":113}],"ю":[{"-":113},19],"я":[{"в":0,"г":[{"с":18}],"-":113},19],"ё":[{"з":[{"о":0}],"-":113},19],"а":[{"-":113}],"г":[{"-":113}],"ж":[{"-":113}],"й":[{"-":113}],"л":[{"-":113}],"р":[{"-":113}],"у":[{"-":113}],"ф":[{"-":113}],"ц":[{"-":113}],"ч":[{"-":113}],"ш":[{"-":113}],"ъ":[{"-":113}],"ы":[{"-":113}],"ь":[{"-":113}],"э":[{"-":113}]},17],"э":[{"в":[{"р":0,"-":113},17],"г":[{"-":113},21],"д":[{"р":0,"-":113}],"к":[{"л":0,"с":[{"т":2},5],"-":113}],"л":[{"е":[{"о":5}],"-":113}],"м":[{"а":18,"-":113},19],"н":[{"ь":18,"-":113},19],"о":[{"з":2,"-":113}],"п":[{"и":[{"к":3}],"-":113},19],"р":[{"е":17,"и":[{"т":[{"р":26}]},17],"о":[{"с":22}],"у":17,"ы":17,"-":113}],"с":[{"к":1,"м":8,"о":19,"т":[{"е":8,"р":11}],"-":113},0],"т":[{"е":19,"и":[{"л":[{"а":10}]}],"р":[{"а":0}],"-":113}],"ф":[{"-":113},19],"х":[{"о":3,"-":113},2],"ц":[{"-":113},19],"я":[{"-":113},2],"а":[{"-":113}],"б":[{"-":113}],"е":[{"-":113}],"ё":[{"-":113}],"ж":[{"-":113}],"з":[{"-":113}],"и":[{"-":113}],"й":[{"-":113}],"у":[{"-":113}],"ч":[{"-":113}],"ш":[{"-":113}],"щ":[{"-":113}],"ъ":[{"-":113}],"ы":[{"-":113}],"ь":[{"-":113}],"э":[{"-":113}],"ю":[{"-":113}]},25],"ю":[{"а":[{"-":113},17],"б":[{"в":19,"л":19,"р":[{"е":23}],"-":113},17],"в":[{"-":113},17],"д":[{"ь":17,"-":113}],"е":[{"-":113},17],"з":[{"г":2,"и":[{"к":1}],"о":17,"-":113}],"и":[{"д":[{"а":[{"л":19}]}],"-":113},17],"к":[{"в":23,"-":113},17],"л":[{"а":17,"е":17,"и":19,"ю":17,"-":113}],"м":[{"ч":19,"-":113},21],"н":[{"ь":19,"-":113}],"о":[{"-":113},101],"р":[{"а":17,"е":[{"м":26},17],"и":[{"с":[{"к":1}]},17],"о":17,"у":17,"ы":17,"-":113}],"с":[{"к":23,"т":[{"а":17,"е":17,"о":17,"я":17}],"-":113}],"т":[{"и":17,"о":17,"у":17,"ы":17,"-":113}],"х":[{"а":[{"с":5}],"-":113},17],"ч":[{"-":113},17],"щ":[{"ь":19,"-":113}],"я":[{"-":113},17],"ё":[{"-":113},17],"г":[{"-":113}],"ж":[{"-":113}],"й":[{"-":113}],"п":[{"-":113}],"у":[{"-":113}],"ф":[{"-":113}],"ц":[{"-":113}],"ш":[{"-":113}],"ъ":[{"-":113}],"ы":[{"-":113}],"ь":[{"-":113}],"э":[{"-":113}],"ю":[{"-":113}]},25],"я":[{"б":[{"р":[{"а":0,"е":8,"и":0,"ю":8,"ё":8},19],"-":113}],"в":[{"и":[{"к":[{"с":30}]}],"о":17,"у":17,"х":33,"-":113}],"г":[{"л":23,"н":19,"-":113}],"д":[{"в":0,"р":0,"-":113}],"е":[{"-":113},17],"з":[{"г":[{"н":2}],"о":17,"-":113}],"и":[{"-":113},17],"к":[{"в":23,"л":23,"с":0,"-":113},17],"л":[{"ь":19,"-":113},17],"м":[{"б":[{"л":6}],"ь":19,"-":113}],"н":[{"а":18,"с":1,"-":113}],"р":[{"а":17,"и":17,"о":17,"ь":17,"-":113}],"с":[{"к":0,"л":0,"т":[{"в":3,"о":17,"р":5},2],"-":113}],"т":[{"а":17,"в":8,"и":[{"з":5},18],"о":17,"у":17,"ы":17,"ь":[{"ю":18,"я":18}],"я":17,"-":113}],"у":[{"-":113},17],"х":[{"л":0,"у":17,"-":113}],"ц":[{"е":5,"-":113}],"ш":[{"л":19,"-":113}],"ю":[{".":21,"-":113}],"я":[{"-":113},28],"а":[{"-":113}],"ё":[{"-":113}],"ж":[{"-":113}],"й":[{"-":113}],"о":[{"-":113}],"п":[{"-":113}],"ф":[{"-":113}],"ч":[{"-":113}],"щ":[{"-":113}],"ъ":[{"-":113}],"ы":[{"-":113}],"ь":[{"-":113}],"э":[{"-":113}]}],"ё":[{"б":[{"р":[{"а":17,"ы":0}],"-":113},21],"в":[{"е":17,"о":17,"р":[{"е":28}],"у":17,"-":113}],"д":[{"р":[{"у":17}],"у":[{"ш":36}],"-":113}],"ж":[{"е":21,"-":113}],"з":[{"е":18,"о":[{"г":13,"м":17}],"-":113}],"к":[{"а":17,"и":17,"о":28,"р":[{"о":2},28],"у":17,"-":113}],"л":[{"а":17,"е":17,"у":17,"ы":17,"-":113}],"м":[{"у":[{"ж":21}],"ч":19,"-":113}],"н":[{"а":18,"д":[{"р":11}],"с":1,"-":113}],"п":[{"а":[{"т":15}],"е":21,"л":[{"а":18,"у":0,"ы":18},19],"н":50,"о":21,"т":50,"-":113}],"р":[{"а":17,"е":[{".":18},17],"и":17,"о":17,"с":[{"к":8}],"у":17,"ы":17,"-":113}],"с":[{"а":20,"к":[{"а":[{".":23}],"е":19,"у":[{".":62}]},17],"л":21,"о":18,"т":[{"а":[{"н":2}],"у":18},17],"-":113}],"т":[{"а":17,"е":[{"ч":21}],"и":17,"о":[{"с":5},17],"р":0,"у":17,"ы":17,"ю":17,"я":17,"-":113}],"х":[{"а":[{"т":[{"о":0},1]}],"в":[{"а":[{"л":8}]}],"л":[{"о":[{"п":8}]}],"о":[{"п":[{"о":0}]}],"р":[{"у":0}],"-":113}],"а":[{"-":113}],"г":[{"-":113}],"е":[{"-":113}],"ё":[{"-":113}],"и":[{"-":113}],"й":[{"-":113}],"о":[{"-":113}],"у":[{"-":113}],"ф":[{"-":113}],"ц":[{"-":113}],"ч":[{"-":113}],"ш":[{"-":113}],"щ":[{"-":113}],"ъ":[{"-":113}],"ы":[{"-":113}],"ь":[{"-":113}],"э":[{"-":113}],"ю":[{"-":113}],"я":[{"-":113}]}],"-":[{"-":109,"а":[{"а":112,"б":112,"в":112,"г":112,"д":112,"е":112,"ё":112,"ж":112,"з":112,"и":112,"й":112,"к":112,"л":112,"м":112,"н":112,"о":112,"п":112,"р":112,"с":112,"т":112,"у":112,"ф":112,"х":112,"ц":112,"ч":112,"ш":112,"щ":112,"ъ":112,"ы":112,"ь":112,"э":112,"ю":112,"я":112}],"б":[{"а":112,"б":112,"в":112,"г":112,"д":112,"е":112,"ё":112,"ж":112,"з":112,"и":112,"й":112,"к":112,"л":112,"м":112,"н":112,"о":112,"п":112,"р":112,"с":112,"т":112,"у":112,"ф":112,"х":112,"ц":112,"ч":112,"ш":112,"щ":112,"ъ":112,"ы":112,"ь":112,"э":112,"ю":112,"я":112}],"в":[{"а":112,"б":112,"в":112,"г":112,"д":112,"е":112,"ё":112,"ж":112,"з":112,"и":112,"й":112,"к":112,"л":112,"м":112,"н":112,"о":112,"п":112,"р":112,"с":112,"т":112,"у":112,"ф":112,"х":112,"ц":112,"ч":112,"ш":112,"щ":112,"ъ":112,"ы":112,"ь":112,"э":112,"ю":112,"я":112}],"г":[{"а":112,"б":112,"в":112,"г":112,"д":112,"е":112,"ё":112,"ж":112,"з":112,"и":112,"й":112,"к":112,"л":112,"м":112,"н":112,"о":112,"п":112,"р":112,"с":112,"т":112,"у":112,"ф":112,"х":112,"ц":112,"ч":112,"ш":112,"щ":112,"ъ":112,"ы":112,"ь":112,"э":112,"ю":112,"я":112}],"д":[{"а":112,"б":112,"в":112,"г":112,"д":112,"е":112,"ё":112,"ж":112,"з":112,"и":112,"й":112,"к":112,"л":112,"м":112,"н":112,"о":112,"п":112,"р":112,"с":112,"т":112,"у":112,"ф":112,"х":112,"ц":112,"ч":112,"ш":112,"щ":112,"ъ":112,"ы":112,"ь":112,"э":112,"ю":112,"я":112}],"е":[{"а":112,"б":112,"в":112,"г":112,"д":112,"е":112,"ё":112,"ж":112,"з":112,"и":112,"й":112,"к":112,"л":112,"м":112,"н":112,"о":112,"п":112,"р":112,"с":112,"т":112,"у":112,"ф":112,"х":112,"ц":112,"ч":112,"ш":112,"щ":112,"ъ":112,"ы":112,"ь":112,"э":112,"ю":112,"я":112}],"ё":[{"а":112,"б":112,"в":112,"г":112,"д":112,"е":112,"ё":112,"ж":112,"з":112,"и":112,"й":112,"к":112,"л":112,"м":112,"н":112,"о":112,"п":112,"р":112,"с":112,"т":112,"у":112,"ф":112,"х":112,"ц":112,"ч":112,"ш":112,"щ":112,"ъ":112,"ы":112,"ь":112,"э":112,"ю":112,"я":112}],"ж":[{"а":112,"б":112,"в":112,"г":112,"д":112,"е":112,"ё":112,"ж":112,"з":112,"и":112,"й":112,"к":112,"л":112,"м":112,"н":112,"о":112,"п":112,"р":112,"с":112,"т":112,"у":112,"ф":112,"х":112,"ц":112,"ч":112,"ш":112,"щ":112,"ъ":112,"ы":112,"ь":112,"э":112,"ю":112,"я":112}],"з":[{"а":112,"б":112,"в":112,"г":112,"д":112,"е":112,"ё":112,"ж":112,"з":112,"и":112,"й":112,"к":112,"л":112,"м":112,"н":112,"о":112,"п":112,"р":112,"с":112,"т":112,"у":112,"ф":112,"х":112,"ц":112,"ч":112,"ш":112,"щ":112,"ъ":112,"ы":112,"ь":112,"э":112,"ю":112,"я":112}],"и":[{"а":112,"б":112,"в":112,"г":112,"д":112,"е":112,"ё":112,"ж":112,"з":112,"и":112,"й":112,"к":112,"л":112,"м":112,"н":112,"о":112,"п":112,"р":112,"с":112,"т":112,"у":112,"ф":112,"х":112,"ц":112,"ч":112,"ш":112,"щ":112,"ъ":112,"ы":112,"ь":112,"э":112,"ю":112,"я":112}],"й":[{"а":112,"б":112,"в":112,"г":112,"д":112,"е":112,"ё":112,"ж":112,"з":112,"и":112,"й":112,"к":112,"л":112,"м":112,"н":112,"о":112,"п":112,"р":112,"с":112,"т":112,"у":112,"ф":112,"х":112,"ц":112,"ч":112,"ш":112,"щ":112,"ъ":112,"ы":112,"ь":112,"э":112,"ю":112,"я":112}],"к":[{"а":112,"б":112,"в":112,"г":112,"д":112,"е":112,"ё":112,"ж":112,"з":112,"и":112,"й":112,"к":112,"л":112,"м":112,"н":112,"о":112,"п":112,"р":112,"с":112,"т":112,"у":112,"ф":112,"х":112,"ц":112,"ч":112,"ш":112,"щ":112,"ъ":112,"ы":112,"ь":112,"э":112,"ю":112,"я":112}],"л":[{"а":112,"б":112,"в":112,"г":112,"д":112,"е":112,"ё":112,"ж":112,"з":112,"и":112,"й":112,"к":112,"л":112,"м":112,"н":112,"о":112,"п":112,"р":112,"с":112,"т":112,"у":112,"ф":112,"х":112,"ц":112,"ч":112,"ш":112,"щ":112,"ъ":112,"ы":112,"ь":112,"э":112,"ю":112,"я":112}],"м":[{"а":112,"б":112,"в":112,"г":112,"д":112,"е":112,"ё":112,"ж":112,"з":112,"и":112,"й":112,"к":112,"л":112,"м":112,"н":112,"о":112,"п":112,"р":112,"с":112,"т":112,"у":112,"ф":112,"х":112,"ц":112,"ч":112,"ш":112,"щ":112,"ъ":112,"ы":112,"ь":112,"э":112,"ю":112,"я":112}],"н":[{"а":112,"б":112,"в":112,"г":112,"д":112,"е":112,"ё":112,"ж":112,"з":112,"и":112,"й":112,"к":112,"л":112,"м":112,"н":112,"о":112,"п":112,"р":112,"с":112,"т":112,"у":112,"ф":112,"х":112,"ц":112,"ч":112,"ш":112,"щ":112,"ъ":112,"ы":112,"ь":112,"э":112,"ю":112,"я":112}],"о":[{"а":112,"б":112,"в":112,"г":112,"д":112,"е":112,"ё":112,"ж":112,"з":112,"и":112,"й":112,"к":112,"л":112,"м":112,"н":112,"о":112,"п":112,"р":112,"с":112,"т":112,"у":112,"ф":112,"х":112,"ц":112,"ч":112,"ш":112,"щ":112,"ъ":112,"ы":112,"ь":112,"э":112,"ю":112,"я":112}],"п":[{"а":112,"б":112,"в":112,"г":112,"д":112,"е":112,"ё":112,"ж":112,"з":112,"и":112,"й":112,"к":112,"л":112,"м":112,"н":112,"о":112,"п":112,"р":112,"с":112,"т":112,"у":112,"ф":112,"х":112,"ц":112,"ч":112,"ш":112,"щ":112,"ъ":112,"ы":112,"ь":112,"э":112,"ю":112,"я":112}],"р":[{"а":112,"б":112,"в":112,"г":112,"д":112,"е":112,"ё":112,"ж":112,"з":112,"и":112,"й":112,"к":112,"л":112,"м":112,"н":112,"о":112,"п":112,"р":112,"с":112,"т":112,"у":112,"ф":112,"х":112,"ц":112,"ч":112,"ш":112,"щ":112,"ъ":112,"ы":112,"ь":112,"э":112,"ю":112,"я":112}],"с":[{"а":112,"б":112,"в":112,"г":112,"д":112,"е":112,"ё":112,"ж":112,"з":112,"и":112,"й":112,"к":112,"л":112,"м":112,"н":112,"о":112,"п":112,"р":112,"с":112,"т":112,"у":112,"ф":112,"х":112,"ц":112,"ч":112,"ш":112,"щ":112,"ъ":112,"ы":112,"ь":112,"э":112,"ю":112,"я":112}],"т":[{"а":112,"б":112,"в":112,"г":112,"д":112,"е":112,"ё":112,"ж":112,"з":112,"и":112,"й":112,"к":112,"л":112,"м":112,"н":112,"о":112,"п":112,"р":112,"с":112,"т":112,"у":112,"ф":112,"х":112,"ц":112,"ч":112,"ш":112,"щ":112,"ъ":112,"ы":112,"ь":112,"э":112,"ю":112,"я":112}],"у":[{"а":112,"б":112,"в":112,"г":112,"д":112,"е":112,"ё":112,"ж":112,"з":112,"и":112,"й":112,"к":112,"л":112,"м":112,"н":112,"о":112,"п":112,"р":112,"с":112,"т":112,"у":112,"ф":112,"х":112,"ц":112,"ч":112,"ш":112,"щ":112,"ъ":112,"ы":112,"ь":112,"э":112,"ю":112,"я":112}],"ф":[{"а":112,"б":112,"в":112,"г":112,"д":112,"е":112,"ё":112,"ж":112,"з":112,"и":112,"й":112,"к":112,"л":112,"м":112,"н":112,"о":112,"п":112,"р":112,"с":112,"т":112,"у":112,"ф":112,"х":112,"ц":112,"ч":112,"ш":112,"щ":112,"ъ":112,"ы":112,"ь":112,"э":112,"ю":112,"я":112}],"х":[{"а":112,"б":112,"в":112,"г":112,"д":112,"е":112,"ё":112,"ж":112,"з":112,"и":112,"й":112,"к":112,"л":112,"м":112,"н":112,"о":112,"п":112,"р":112,"с":112,"т":112,"у":112,"ф":112,"х":112,"ц":112,"ч":112,"ш":112,"щ":112,"ъ":112,"ы":112,"ь":112,"э":112,"ю":112,"я":112}],"ц":[{"а":112,"б":112,"в":112,"г":112,"д":112,"е":112,"ё":112,"ж":112,"з":112,"и":112,"й":112,"к":112,"л":112,"м":112,"н":112,"о":112,"п":112,"р":112,"с":112,"т":112,"у":112,"ф":112,"х":112,"ц":112,"ч":112,"ш":112,"щ":112,"ъ":112,"ы":112,"ь":112,"э":112,"ю":112,"я":112}],"ч":[{"а":112,"б":112,"в":112,"г":112,"д":112,"е":112,"ё":112,"ж":112,"з":112,"и":112,"й":112,"к":112,"л":112,"м":112,"н":112,"о":112,"п":112,"р":112,"с":112,"т":112,"у":112,"ф":112,"х":112,"ц":112,"ч":112,"ш":112,"щ":112,"ъ":112,"ы":112,"ь":112,"э":112,"ю":112,"я":112}],"ш":[{"а":112,"б":112,"в":112,"г":112,"д":112,"е":112,"ё":112,"ж":112,"з":112,"и":112,"й":112,"к":112,"л":112,"м":112,"н":112,"о":112,"п":112,"р":112,"с":112,"т":112,"у":112,"ф":112,"х":112,"ц":112,"ч":112,"ш":112,"щ":112,"ъ":112,"ы":112,"ь":112,"э":112,"ю":112,"я":112}],"щ":[{"а":112,"б":112,"в":112,"г":112,"д":112,"е":112,"ё":112,"ж":112,"з":112,"и":112,"й":112,"к":112,"л":112,"м":112,"н":112,"о":112,"п":112,"р":112,"с":112,"т":112,"у":112,"ф":112,"х":112,"ц":112,"ч":112,"ш":112,"щ":112,"ъ":112,"ы":112,"ь":112,"э":112,"ю":112,"я":112}],"ъ":[{"а":112,"б":112,"в":112,"г":112,"д":112,"е":112,"ё":112,"ж":112,"з":112,"и":112,"й":112,"к":112,"л":112,"м":112,"н":112,"о":112,"п":112,"р":112,"с":112,"т":112,"у":112,"ф":112,"х":112,"ц":112,"ч":112,"ш":112,"щ":112,"ъ":112,"ы":112,"ь":112,"э":112,"ю":112,"я":112}],"ы":[{"а":112,"б":112,"в":112,"г":112,"д":112,"е":112,"ё":112,"ж":112,"з":112,"и":112,"й":112,"к":112,"л":112,"м":112,"н":112,"о":112,"п":112,"р":112,"с":112,"т":112,"у":112,"ф":112,"х":112,"ц":112,"ч":112,"ш":112,"щ":112,"ъ":112,"ы":112,"ь":112,"э":112,"ю":112,"я":112}],"ь":[{"а":112,"б":112,"в":112,"г":112,"д":112,"е":112,"ё":112,"ж":112,"з":112,"и":112,"й":112,"к":112,"л":112,"м":112,"н":112,"о":112,"п":112,"р":112,"с":112,"т":112,"у":112,"ф":112,"х":112,"ц":112,"ч":112,"ш":112,"щ":112,"ъ":112,"ы":112,"ь":112,"э":112,"ю":112,"я":112}],"э":[{"а":112,"б":112,"в":112,"г":112,"д":112,"е":112,"ё":112,"ж":112,"з":112,"и":112,"й":112,"к":112,"л":112,"м":112,"н":112,"о":112,"п":112,"р":112,"с":112,"т":112,"у":112,"ф":112,"х":112,"ц":112,"ч":112,"ш":112,"щ":112,"ъ":112,"ы":112,"ь":112,"э":112,"ю":112,"я":112}],"ю":[{"а":112,"б":112,"в":112,"г":112,"д":112,"е":112,"ё":112,"ж":112,"з":112,"и":112,"й":112,"к":112,"л":112,"м":112,"н":112,"о":112,"п":112,"р":112,"с":112,"т":112,"у":112,"ф":112,"х":112,"ц":112,"ч":112,"ш":112,"щ":112,"ъ":112,"ы":112,"ь":112,"э":112,"ю":112,"я":112}],"я":[{"а":112,"б":112,"в":112,"г":112,"д":112,"е":112,"ё":112,"ж":112,"з":112,"и":112,"й":112,"к":112,"л":112,"м":112,"н":112,"о":112,"п":112,"р":112,"с":112,"т":112,"у":112,"ф":112,"х":112,"ц":112,"ч":112,"ш":112,"щ":112,"ъ":112,"ы":112,"ь":112,"э":112,"ю":112,"я":112}]},111]}',"ас-бест.бездн.биз-нес-мен.буй-нак-ске.вбли-зи.взба-ла-муть-ся.вздрем-нешь.во-до-сли-вом.волж-ске.воп-лем.вопль.вост-ра.во-ткать.во-ткем.во-ткешь.во-тку.во-ткут.впол-обо-ро-та.впол-уха.все-во-лож-ске.вцспс.га-рем-но-го.го-ло-дра-нец.грэс.дву-зу-бец.днепр.добре-ем.до-бре-ем-ся.добре-ет.добре-е-те.до-бре-е-тесь.до-бре-ет-ся.добре-ешь.до-бре-ешь-ся.добрею.до-бре-юсь.добре-ют.до-бре-ют-ся.до-бре-сти.до-бро-дят.до-брось.до-брось-те.до-бро-сят.до-бро-шу.домну.доп-пель.драх-му.дрейф-лю.дрейфь-те.еди-но-жды.зав-сек-то-ром.за-мру.за-члись.из-древ-ле.изо-тру.ин-ког-ни-то.искр.ка-за-шек.казнь.кольд-кре-мом.корн-па-пир.ксендз.лик-бе-зом.ло-шадь-ми.людь-ми.лю-э-сом.ма-зу-те.ме-ти-лам.ме-ти-ла-ми.мно-га-жды.морщь-те.на-бе-крень.навз-ничь.на-вскид-ку.на-встре-чу.нагл.на-изусть.на-ис-ко-сок.наи-ме-нее.на-ис-кось.на-обо-рот.на-от-рез.на-супь-ся.на-угад.на-уголь-ник.не-ост-ра.нес-лась.нес-лись.нет-то.не-уду.обидь-ся.обо-шлось.об-ра-сти.од-на-жды.ослаб-ла.ото-мстят.ото-мщу.ото-тру.отру.отрусь.паб-ли-си-ти.па-на-ме.па-на-мец.па-ра-так-сис.пе-ре-вру.пе-ре-ме-жать.пе-ре-ме-жать-ся.пе-ре-шла.пис-чая.по-все-дне-вен.по-гре-мок.по-до-тру.по-ис-ти-не.по-лу-то-ра-ста.по-лу-явью.по-млад-ше.помни.по-мнись.помни-те.по-мни-тесь.по-мно-гу.по-мру.пол-вто-ро-го.пол-шка-фа.по-на-доб-люсь.по-трафь-те.преж-де.прид-ти.при-шла.при-шлось.про-тру.про-хлад-ца.пско-ва.пыл-че.раз-орем-ся.раз-оре-тесь.раз-орет-ся.раз-орешь-ся.разо-тру.ра-зу-мом.резв-люсь.рсфср.сан-узел.сдрейф-лю.се-го-дня.сме-жат.со-блю-сти.со-лжешь.сост-рим.сост-ришь.сост-рю.сост-рят.со-ткать.со-ткем.со-ткешь.сотку.со-ткут.срос-лась.срос-лись.стрем-глав.так-же.тве-ре-зо-го.те-ле-ате-лье.тер-но-сли-вом.троп-лю.тьфу.узу-фрукт.умнем.умнет.умнете.умну.умру.услышь-те.ушла.фо-то-пле-нок.ца-ре-дво-рец.че-рес-чур.чер-но-сли-вом.чресл.чуж-дость.шесть-де-сят.юсом.ядо-зу-бе.ярем-но-го".split(".")]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/9044.adapter.js b/public/tools/cloud_sheets/vendor/univer/9044.adapter.js new file mode 100644 index 0000000..3cc920a --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/9044.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[9044],{9044(a,e,s){s.r(e),s.d(e,{Et:()=>i});const i=["004,000005,0004,0000005,003,0005,0003,00004,005,00005,002,000004,00003,0002,01,4,5,04,001,05,00034,0023,00404,00204,3005,054,43,3,02,03,2,1,212,402,34,12,0404,012,41,0034,00202,201,21,204,23,404,252,25,234,214,232,042,0041,22,014,0045,14,034,044,00054,000003,00002,0025,032,052,000404,32,414,0054,0024,045,0032,00052,0204,00001,000034,54,0000404,000505,0012,0001,202,3004,00024,00023,0014,00012,00045,2004,023,224,504,024,44,00000005,4002,505,434,45,50005,0006,00032,00043,0202,0052,403,52,0405,043,00232,304",'{".":[{"a":[{"a":[{"s":[{"t":[{"a":1}]}]},0],"h":[{"e":[{"l":[{"i":2}]}]}],"l":[{"a":0,"g":[{"a":[{"s":0}]}]}],"n":[{"t":[{"i":[{"i":[{"k":3}]}]}]}],"p":[{"l":4,"r":4}],"r":[{"t":[{"r":5}]}],"u":[{"a":4}]}],"e":[{"b":[{"a":6}],"e":[{"l":[{"a":7}]},0],"k":[{"l":4,"r":8}]}],"g":[{"u":[{"a":0}]}],"h":[{"i":[{"e":5}]}],"i":[{"d":[{"i":2}],"n":[{"i":[{"m":[{"a":9}]}]}],"s":[{"e":[{"e":5}],"o":0}]}],"j":[{"a":[{"e":0,"t":0}]}],"k":[{"a":[{"e":0,"o":10}],"e":[{"h":[{"i":8}]}],"i":[{"p":[{"r":5}]}],"u":[{"p":[{"l":0}],"s":[{"a":8,"e":[{"e":11}]}]}]}],"l":[{"a":[{"p":[{"l":0}]}],"e":[{"e":0,"h":[{"i":8}],"m":[{"m":[{"i":[{"k":3}]}]}],"s":[{"e":8}]}],"õ":[{"p":[{"p":12}]}]}],"m":[{"a":[{"a":[{"a":5},0],"j":8}],"i":[{"s":[{"a":8}]}],"o":[{"e":0}]}],"n":[{"e":[{"k":6}],"i":[{"p":0,"s":[{"u":9}]}],"o":[{"a":6}]}],"o":[{"a":4,"o":0}],"p":[{"a":[{"p":[{"p":2}]}],"e":[{"a":[{"a":6}]}]}],"r":[{"a":[{"a":[{"d":[{"i":[{"o":3}]}]}]}],"e":[{"a":0,"o":10,"p":[{"r":6}],"s":[{"o":8}]}],"ü":[{"h":[{"i":8}]}]}],"s":[{"a":[{"k":[{"r":5}],"p":[{"r":6}]}],"e":[{"a":0}],"k":[{"a":[{"a":9}]},0],"o":[{"l":[{"i":8}]}],"p":0,"t":0}],"t":[{"e":[{"o":[{"o":7}],"t":[{"r":6}]}],"i":[{"n":[{"a":9}]}],"o":[{"a":6}],"s":[{"i":[{"s":2}]},0],"u":[{"r":[{"b":[{"a":1}]}],"s":[{"a":4},13]}]}],"u":[{"l":[{"g":[{"a":0}],"u":[{"k":2}]}],"m":[{"b":10}],"u":0}],"v":[{"a":[{"a":[{"l":6}],"s":[{"k":12}]}],"e":[{"r":[{"e":12}]}]}],"õ":[{"p":[{"p":[{"e":9}]}],"õ":0}],"ä":[{"ä":0}],"ö":[{"ö":0}],"ü":[{"h":[{"i":[{"s":2}]}],"l":[{"e":[{"e":6}]}],"r":10,"ü":0}]}],"a":[{"a":[{"a":[{"l":5,"s":14}],"b":[{"i":[{".":0}]},15],"d":[{"e":[{"l":[{".":16}]}],"i":[{"o":[{"a":1}]}]}],"e":[{"r":17},14],"f":[{"e":0}],"g":[{"a":[{"n":0}]}],"h":[{"a":[{"s":0}]},10],"i":[{"g":2,"s":0,"t":19},18],"j":10,"l":[{"a":[{"e":0,"r":7,"s":0},10],"e":[{"h":0,"k":0,"l":0}],"g":7,"i":[{"k":[{"e":7}]}],"k":6,"l":[{"i":[{"k":19}]}],"t":20,"õ":21,"ü":0}],"m":[{"a":[{"d":0,"n":0}],"e":[{"e":[{"r":19},0]}],"ö":0}],"n":[{"a":[{"m":0,"t":0}],"d":[{"m":19,"u":[{"u":2}]}],"i":8,"t":7},15],"p":[{"e":[{"k":0,"n":0}]}],"r":[{"a":[{"b":22,"f":0,"j":0,"l":7}],"t":[{"e":[{"r":19}]}],"õ":21,"ö":0,"ü":0}],"s":[{"a":[{"b":0,"i":0,"r":0}],"e":23,"o":0,"t":[{"a":24}],"u":[{"l":25,"t":0}],"ü":0}],"t":[{"a":[{"a":0,"s":0}],"e":[{"h":0}],"o":[{"m":16}],"õ":0,"ü":[{"h":0}]},15],"u":14,"š":[{"i":9}]}],"b":[{"a":26,"e":19,"i":[{"e":27,"j":17}],"s":16},14],"d":[{"a":[{"d":17}],"e":[{"o":17,"r":28}],"i":29,"u":[{"r":2,"s":[{"e":6}]}],"ö":17},14],"e":[{"a":[{"l":[{"i":19}]}],"d":[{".":27},10],"e":[{"s":29},30],"f":0,"g":[{".":31,"a":[{"j":22}],"i":0,"n":27}],"h":32,"i":15,"k":[{"s":29},15],"l":[{"a":[{"n":[{"i":19}]}],"e":10,"o":0,"u":[{".":0}]},30],"m":33,"n":15,"p":[{"i":0}],"s":[{"i":29},10],"t":[{"t":15}]}],"f":[{"e":[{"k":17}]},14],"g":[{"e":[{"n":[{"t":34}]}],"i":[{"a":7}],"o":29,"r":[{"e":[{"g":16}]}],"u":[{"d":7}]},14],"h":[{"i":[{".":35}],"k":[{"a":[{"r":0}]}],"n":[{"u":16}]}],"i":[{".":15,"a":[{"n":16},10],"h":[{"u":0}],"k":[{"e":0,"l":0}],"l":[{"m":29,"u":0}],"m":[{"e":[{".":0}],"p":7}],"n":[{".":15,"f":19,"i":[{"m":[{"e":19}]}],"s":[{"e":29},15]}],"p":[{"r":0}],"s":[{"a":10,"t":[{"i":[{"n":16}],"r":7}]}],"v":[{"a":0}]}],"j":[{"a":[{".":29,"l":[{"e":17,"o":16,"u":17}],"m":35}],"o":15,"u":[{"t":7}]},14],"k":[{"a":[{"a":[{"s":7,"t":17}],"s":0}],"e":[{"n":[{".":27}]}],"i":29,"k":[{"i":[{"s":0}],"r":0}],"l":[{"a":[{"s":29,"u":0}],"i":[{"i":19}]}],"r":[{"i":[{"i":29}],"o":4}],"s":15,"t":[{"e":[{"l":22}]}],"u":[{".":28,"m":[{"a":[{"p":2}]}]}],"v":[{"a":[{"l":[{"i":19}]}]}]},14],"l":[{"a":[{"l":[{"d":27}],"m":[{"a":[{"s":2}]}],"ü":[{"h":17}]}],"e":[{"l":[{"e":2}],"t":[{"t":7},0]}],"g":[{"a":[{"t":16}],"e":[{"d":0}]}],"i":[{"s":[{"a":[{"n":2}],"t":[{"e":17}]}]},29],"l":[{"e":[{"e":[{".":16}],"h":22}],"u":[{"j":0}],"ü":10}],"o":[{"b":17}],"s":2,"t":15,"u":[{".":15,"d":17,"n":31}],"ü":[{"h":2,"t":17}]}],"m":[{".":15,"a":[{".":19,"a":[{"d":17}]}],"e":[{"t":[{"n":27}]}],"i":[{"t":7}],"o":0,"p":[{"a":[{"l":0}],"e":[{"r":[{".":16}]}]}],"ü":15},14],"n":[{".":30,"a":[{"l":[{"ü":27}],"t":[{"o":[{"o":[{"m":16}]}]}]}],"d":[{"a":[{"s":0}],"e":[{"o":0}],"o":[{"g":0}]}],"e":[{"h":17},30],"i":[{"s":[{"o":17}]},29],"j":15,"k":[{"r":0,"u":27}],"n":[{"a":[{"h":0}]}],"o":[{"s":7},15],"s":[{"a":[{"m":27}],"t":15}],"t":[{"e":[{"n":27}],"i":[{"l":[{"o":16}]}]}]}],"o":[{"d":0,"h":[{"e":0,"t":29}],"j":0,"l":[{"e":10,"u":10}],"m":[{"a":29},10],"n":[{"u":0}],"o":[{"p":2}],"p":[{"e":[{"r":[{"a":19}]},10]}],"r":[{"a":[{"s":19}]},10],"s":[{"a":14,"u":0}],"t":[{"s":14}]}],"p":[{"a":[{"r":[{"a":[{"a":16}],"t":19,"v":29},28]}],"i":29,"l":[{"a":29}],"o":29,"p":[{"a":[{"l":0}],"i":[{"n":0,"s":0}]}],"r":[{"i":4,"o":[{"n":4}],"u":17}],"ä":29},14],"r":[{"a":[{"k":[{"k":7}],"s":[{"e":17}]},15],"e":[{"n":[{"g":16}],"t":[{"u":27}]}],"h":[{"i":[{"t":27}]}],"i":[{"a":[{"l":2,"p":2}]},30],"k":[{"e":[{"l":0}]},15],"m":[{"a":[{"s":[{"t":16}]}],"e":[{"e":[{".":16}]}]}],"o":[{"l":36}],"s":[{"t":31}],"t":[{"i":[{"k":[{"k":16}]}]}],"u":[{"a":27}],"v":[{"a":[{"m":27}],"e":[{"s":[{"t":[{"u":[{"s":16}]}]}]}],"u":31,"ä":[{"ä":0}]}]}],"s":[{"a":[{"l":[{"a":[{"s":2}]}],"m":[{"e":17}],"u":17}],"e":[{"m":[{"a":[{".":8},2]}],"n":35,"o":[{"s":17}],"s":[{"e":17}],"t":[{"t":17,"u":34}]}],"f":[{"ä":0}],"i":[{".":35,"a":[{"l":[{"a":2}],"n":6}],"n":[{"d":17}],"p":7}],"j":[{"a":[{"n":16}]}],"k":[{"õ":[{"l":0},7]}],"l":[{"a":[{"a":[{"v":19}]}]}],"o":[{"k":17,"l":[{"e":4}],"p":2}],"p":[{"e":[{"t":0}],"l":4,"o":[{"r":29},10]}],"s":[{"a":[{"n":0}],"t":5}],"t":[{"i":15,"m":[{"e":16}],"r":[{"a":[{"k":2}]}]}],"u":[{"b":36,"d":17,"i":7,"s":[{"s":17}],"u":19}]}],"t":[{"a":[{"ž":17},29],"e":[{"l":[{"j":[{"e":[{"e":16}]}]}]}],"i":[{"i":[{"v":7}]}],"m":[{"i":[{"k":7}]}],"r":[{"o":[{"o":16,"s":0}],"u":[{"s":0}]}],"s":[{"o":[{"o":0}],"p":2,"ü":0}],"t":[{"s":2}],"u":15},14],"u":[{"a":[{"l":6},10],"b":[{"a":[{".":0}]}],"d":[{"e":[{".":0}]},15],"i":29,"j":33,"k":[{"e":0}],"l":[{"u":[{"s":11},12]}],"p":[{"ü":22}],"r":[{"g":19}],"s":[{"o":2,"u":[{"l":29},10]}],"t":[{"o":[{"o":11,"s":9},31],"r":2}]}],"v":[{"a":[{"n":[{"s":17}],"r":29},0],"e":[{"h":17}]},14],"õ":37,"ö":37,"ä":37,"ü":37,"ž":[{"n":[{"i":0}]}],"š":38}],"b":[{"a":[{"a":[{"g":2,"k":2,"s":2},16],"b":2,"e":2,"g":2,"h":[{"e":0}],"j":[{"u":[{".":0}]}],"k":[{"r":39,"s":2,"v":2}],"p":[{"l":2,"r":2}],"r":[{"õ":0}],"s":[{"a":[{"s":7}],"k":[{"o":2}],"p":[{"e":2}]}],"t":[{"r":2}]}],"b":15,"d":30,"e":[{"a":39,"b":13,"f":2,"g":2,"l":[{"ü":22}],"r":[{"a":40,"k":7,"o":7,"õ":22}],"s":[{"i":0,"t":[{"i":[{"s":2}]},0]}],"t":[{"r":2}]}],"f":15,"h":[{"a":2},15],"i":[{"a":[{"l":[{"a":0}],"v":2}],"e":[{"n":0},41],"n":[{"õ":15}],"p":[{"l":[{"a":0}]}],"s":[{"a":2,"i":0,"k":2}]}],"j":42,"k":42,"l":[{"e":[{"t":7},0],"o":[{"n":28}]},42],"m":30,"n":30,"o":[{"r":[{"t":15}]}],"p":30,"r":[{"i":[{"g":27}],"o":[{"s":7}]},42],"s":[{"o":29},30],"t":43,"u":[{"k":[{"s":15}],"l":[{"õ":0}],"m":27,"s":[{"e":9,"i":22,"k":[{"r":2}]}]}],"v":44}],"d":[{"a":[{"a":[{"b":8,"l":[{"a":11}]},13],"d":[{"o":0}],"e":2,"f":2,"i":[{"n":19}],"l":[{"e":[{"h":0}],"u":[{"m":0,"s":0}]}],"m":16,"n":[{"n":15,"u":[{"m":0}]}],"o":2,"r":[{"a":[{"t":11}],"b":15,"d":[{"e":2}],"e":45,"u":15,"v":[{".":29},30]}],"s":[{"e":[{"n":15}],"u":[{"m":0}]}]},31],"b":46,"d":30,"e":[{"a":[{"a":30,"v":8},13],"d":2,"e":[{".":30,"l":[{"e":2}]}],"h":[{"e":15}],"k":[{"l":6,"s":2}],"l":[{".":16,"a":[{"u":0}],"e":[{"k":45}],"u":[{"v":15}]}],"p":[{"r":[{"e":[{"s":[{"s":[{"i":5}]}]}]},0]}],"r":[{"e":[{"l":0,"p":0},7],"o":16,"u":7}]},31],"f":30,"g":47,"h":42,"i":[{"a":[{"v":2}],"d":2,"g":2,"i":[{"g":2,"n":[{"a":11}],"s":[{"a":2,"u":2}]}],"l":[{"m":15}],"n":[{"i":15}],"o":[{"s":10}],"p":[{"l":[{"o":0}]}],"s":[{"a":[{"i":2,"r":0,"s":0}],"p":[{"r":2}]}],"t":[{"r":2}]},31],"j":42,"k":[{"o":[{"p":7}]},48],"l":[{"e":[{"v":2}],"u":[{"s":[{"t":11}]}]},42],"m":[{"e":[{"e":7}],"i":[{"k":2}]},42],"n":42,"o":[{"h":0,"i":[{"r":2}],"s":[{"a":29,"k":16},30]},31],"p":48,"r":[{"a":[{"a":[{"m":[{"a":[{".":16}]}]}],"o":7}],"e":[{"e":[{"n":27}],"l":17,"n":[{"a":27},28]}]},49],"s":[{"a":[{"r":7}]},49],"t":50,"u":[{"b":0,"e":2,"k":[{"s":47}],"s":[{"a":52,"e":[{"e":0}],"k":7},51]},31],"v":42,"õ":[{"l":0},30],"ä":15,"ü":[{"l":[{"i":0},30],"r":45,"ü":16}],"ž":15,"š":[{"e":[{"m":27}]},53]}],"e":[{"a":[{"a":[{"j":4,"s":14},13],"b":[{"i":29},10],"e":14,"h":[{"i":10}],"i":14,"j":10,"k":[{"s":2,"v":2}],"l":[{"a":[{".":29},10],"u":54}],"m":[{"e":[{"t":19},10]}],"n":[{"n":19,"u":0}],"o":2,"p":[{"a":10}],"r":[{"e":0},14],"s":[{"s":17,"t":[{"e":19}],"u":[{"t":19}]},10],"u":29,"v":[{"a":[{".":29}]},10]}],"b":14,"d":[{"a":0},14],"e":[{"a":[{"l":[{"i":29}]}],"e":[{"s":29}],"f":[{"e":0}],"i":2,"k":[{"r":2}],"l":[{"a":[{"r":27},10],"e":[{"k":[{"t":19}]}],"u":[{"u":5}]}],"n":[{"a":[{"i":0,"l":0,"m":0}],"o":0,"t":7}],"p":[{"a":[{"i":0}],"i":[{"t":25}],"o":[{"s":16}]}],"r":[{"a":[{"l":0,"p":5}],"o":[{"s":0,"t":0}]}],"s":[{"i":[{"n":[{"e":19},0],"s":[{"t":55}]}],"k":[{"i":[{"r":16}]}],"ü":0}],"t":[{"õ":[{"m":0}],"ä":0}]}],"f":14,"g":[{"a":[{"a":7,"s":[{"t":7}]}],"o":[{"i":17}]},14],"h":[{"a":15,"e":[{".":28}],"i":[{"n":29,"s":[{"t":16}],"t":[{"i":16},56]},28],"t":[{"a":22}],"ä":15}],"i":[{"d":[{"u":[{"l":0}]}],"e":[{"r":[{"i":5}]},0],"g":[{"a":[{".":29},10]}],"h":[{"a":0,"e":0}],"l":[{"m":29,"u":10}],"m":[{"e":[{"m":0}]}],"n":[{"e":[{".":16}]}],"r":[{"o":[{"o":0}]}],"s":[{"a":[{".":25}],"i":[{"s":[{"t":0}]}]}],"t":[{"a":[{"u":0}],"õ":0}],"v":[{"a":[{".":0}]}]}],"j":29,"k":[{"a":[{"h":[{"i":17}]},29],"e":29,"k":[{"a":[{"p":0}]}],"l":[{"o":0},10],"o":57,"r":[{"e":4,"i":[{"i":29}]}],"s":[{".":15,"a":[{"m":[{".":16}]}],"e":[{"m":27}],"i":[{"k":12}],"k":[{"a":27}],"p":[{"r":12}],"t":[{"r":16}]}],"t":[{"ü":[{"l":0}]}],"ü":29}],"l":[{"a":[{"a":[{"v":7}],"g":[{"r":17}],"m":[{"u":27},28],"n":[{"i":[{"k":16}]},0]}],"e":[{"i":[{"s":11}],"k":[{"s":17,"t":[{"r":[{"o":16}]}]}],"m":[{"e":27}],"v":[{"a":[{"a":[{"t":[{"o":16}]}]}]}]}],"i":[{"d":17,"i":[{"t":7}]},29],"k":[{"u":[{"s":0}]}],"o":[{"b":58,"p":2}],"s":[{"t":2}],"t":[{"r":13,"ü":0}],"u":[{".":31,"b":19,"i":59,"n":56,"s":[{".":29,"s":[{".":8},17]}]},28],"ü":[{"h":0}]}],"m":[{"a":[{"n":[{"d":[{".":16}]}],"t":19}],"n":[{"e":12}],"o":[{"s":7}],"p":[{"r":2}],"u":[{"l":[{"s":16}]}]},14],"n":[{"d":[{"u":[{"s":60}]}],"e":[{"l":[{"a":[{"s":16}]}],"m":19,"r":[{"g":27}],"s":[{"e":17,"l":17}]}],"k":[{"l":5,"r":2}],"s":[{"a":[{"l":0}]}],"t":[{"o":[{"s":0}],"ü":0}]}],"o":[{"a":8,"j":[{"a":0}],"l":[{"e":57,"u":10}],"m":[{"a":10}],"o":[{"p":2}],"p":[{"l":8}],"s":[{"a":[{".":29,"k":29,"l":[{"i":19}],"v":19}],"f":2}],"t":[{"s":[{".":29}]}]}],"p":[{"l":[{"i":17,"u":0},29]},14],"r":[{"a":[{"a":29,"k":[{"o":[{"n":16}]}],"l":[{"d":16}],"o":17}],"e":[{"i":61,"k":7}],"g":[{"u":[{"t":16}]}],"i":[{"h":7,"u":[{"u":2}]}],"n":[{"a":[{"u":0}]}],"o":[{"r":36}],"p":[{"r":10},2],"s":[{"k":2}],"t":[{"a":[{"a":0,"k":0}],"e":[{"s":0}]}],"u":[{"d":17}]},14],"s":[{"a":[{"n":18}],"e":[{".":35,"k":19,"n":19}],"i":[{"l":19}],"k":[{"a":[{"j":7,"s":7}],"e":[{"l":8},7],"l":6,"r":6,"ö":62}],"l":[{"a":[{"a":0}]}],"o":[{"l":[{"e":4}],"r":0}],"p":[{"o":[{"r":29},10]}],"s":[{"i":[{"s":[{"t":0}]}]}],"t":[{"ü":0},15],"u":[{"p":7},29]}],"t":[{"a":57,"e":[{"n":[{"d":[{"u":[{"s":[{".":16}]}]}]},28]}],"i":[{"i":[{"s":7}]}],"r":[{"a":10}],"s":[{"i":[{"n":0}],"o":[{"o":0}],"ü":0}],"t":[{"a":[{"j":0}],"e":31,"r":[{"u":0}],"ä":0,"ü":0}],"u":15,"õ":[{"d":36}],"ü":[{"m":17}]},14],"u":[{"d":[{"e":0}],"j":63,"l":63,"n":64,"p":0,"s":[{"k":19},0],"u":29}],"v":[{"a":57},14],"õ":37,"ö":57,"ä":37,"ü":54,"š":14}],"f":[{"a":[{"a":[{"n":2},16],"d":45}],"f":30,"i":[{"i":[{"t":2}]},31],"j":15,"k":15,"l":[{"o":[{"o":[{"r":[{"a":16}]}]},28]},42],"n":42,"o":[{"l":[{"k":9}],"r":[{"o":0}]},31],"r":[{"e":[{"e":[{"s":27}]},28]},42],"s":30,"t":[{"a":[{"t":7}]},42],"u":27}],"g":[{"a":[{"a":[{"r":2,"s":[{"t":15}]},27],"b":15,"e":[{"d":15}],"g":2,"h":[{"i":10},30],"i":[{"g":2,"s":8}],"k":39,"m":16,"o":4,"p":4,"r":[{"t":15,"v":15}],"s":[{"u":[{"k":45}]},17],"t":[{"a":16,"r":2}],"u":2,"v":[{"a":[{".":0,"n":0}]}]}],"b":44,"d":43,"e":[{"a":2,"d":[{"u":[{".":0}]}],"k":[{"l":8,"s":[{"e":15}]},2],"l":[{"a":[{"h":0,"s":7}],"e":[{"h":0}],"u":4,"ä":0}],"n":[{"a":[{"n":0}]}],"o":[{"k":7,"r":0,"s":15}],"r":[{"g":15,"u":[{"s":0}]}]}],"f":15,"g":15,"h":42,"i":[{"a":[{"j":10}],"i":[{"s":2}],"k":4,"n":[{"f":15,"t":15}],"o":[{"r":2}],"p":[{"l":4}],"s":[{"a":[{"n":0}],"i":[{"l":0}],"ö":0}],"t":[{"r":2}],"v":[{"a":[{"j":0}]}]}],"j":42,"k":42,"l":[{"ü":[{"t":17}]},42],"m":42,"n":[{"e":[{"t":[{"a":2,"e":65}]}]},42],"o":[{"h":15,"l":[{"e":0}],"m":[{"a":0}],"p":[{"o":0}]}],"p":49,"r":[{"a":[{"n":[{"a":[{"a":16}]},28],"v":66}],"u":[{"p":27},28]},42],"s":67,"t":[{"r":29},32],"u":[{"b":2,"e":2,"i":8,"n":[{"e":[{"l":0}]}],"o":4,"p":2,"s":[{"e":[{"n":0}],"ä":0}],"u":[{"j":2}]},27],"v":42,"õ":48,"ä":15,"ü":[{"l":0}]}],"h":[{"a":[{"a":[{"r":[{"i":2}],"s":2}],"l":[{"l":[{"a":[{"i":2}]}]}],"r":16,"s":[{"a":7}],"t":[{"r":2}]},27],"e":[{"e":[{"m":2,"s":2}],"i":[{"s":2}],"k":[{"v":2}],"l":[{".":30,"s":7}],"t":[{"r":2}]},31],"h":[{"e":[{"l":2}]},38],"i":[{"a":13,"i":[{"s":2}],"l":16,"m":16,"o":13,"s":[{"a":[{"n":0,"r":0}],"e":[{"l":7}],"t":22,"ü":0}],"t":[{"s":16}]},31],"j":[{"a":[{"a":7}]},14],"k":[{"a":[{"l":17,"s":17}],"i":[{"s":17}],"l":4,"o":36,"r":4,"s":2,"t":2,"u":[{"s":[{"k":17,"u":36}]}],"õ":17,"ä":17},15],"l":[{"e":[{"n":2}]},14],"m":[{"o":36,"ü":17},38],"n":[{"i":[{"k":[{"a":1}]}]},14],"o":[{"m":[{"o":2}]},31],"p":45,"r":[{"s":2}],"t":[{"a":[{"j":13,"k":19,"l":2,"r":8,"s":[{"u":2}]},28],"e":[{"g":17,"n":2,"r":2}],"i":[{"d":17}],"o":17,"r":17,"s":68,"ö":17,"ä":17},15],"u":[{"a":4,"e":2,"i":[{"d":2}],"k":[{"l":2}],"p":2,"s":[{"a":4}]},31],"v":[{"a":[{"d":7,"s":[{"t":11}]}],"e":[{"l":2}],"i":[{"n":[{"i":17}]}],"o":17,"u":[{"s":2}]},42],"õ":31,"ö":27,"ä":31,"ü":27}],"i":[{"a":[{"a":[{"l":[{"a":[{"n":[{"e":8}]}]},2],"s":[{"t":29}]},13],"b":[{"i":25,"o":0}],"e":14,"g":10,"h":10,"i":[{"n":[{"e":29}]}],"j":37,"k":[{"r":0,"t":29}],"l":[{"a":37,"b":19,"l":[{"i":29}],"u":37}],"m":[{"e":[{"t":[{".":19}]},10]}],"n":[{"a":10,"d":[{"j":19,"m":19}],"e":0,"n":[{"e":19}]}],"p":[{"a":[{"r":29}],"r":8},69],"r":[{"e":10,"m":29,"u":0,"v":14}],"s":[{"k":[{"e":2}],"t":[{"e":[{".":19}]}],"u":29},10],"t":[{"e":[{"l":0}],"r":2}],"u":[{"l":2},14],"v":[{"a":[{"j":25,"l":[{"d":19}]}]}]},15],"b":[{"a":[{"d":17,"u":17}]},14],"d":[{"e":[{"a":[{"a":16}]}],"i":[{"i":7}],"l":[{"u":7}]},14],"e":[{"a":[{"l":[{"i":29}]}],"e":[{"l":14}],"i":2,"k":[{"s":14}],"l":[{"a":[{"n":[{"i":19}]}],"u":14}],"o":[{"s":29}],"r":[{"i":0,"s":7}],"s":[{"i":29,"o":8,"s":19,"t":0}],"t":[{"e":[{"n":29}],"u":[{"s":7}]}]},10],"f":14,"g":[{"a":[{"g":36,"r":19,"t":[{"s":[{"u":16}]}],"v":17}],"r":[{"a":[{"m":0}]}]},14],"h":[{"l":[{"e":0}],"t":[{"e":0,"i":[{"n":0}]}]}],"i":[{"a":0,"d":[{"e":[{"o":0}],"u":[{".":0}]}],"e":[{"s":0},6],"g":[{"a":[{"a":0,"s":22}]}],"h":[{"a":0}],"k":[{"a":7,"i":[{"s":0}],"r":[{"o":2}],"s":[{"t":7}],"t":7}],"l":[{"a":[{"b":0,"d":0,"e":0,"s":[{"t":0}]}],"e":[{"h":0,"l":0,"s":0}],"õ":23,"ü":0}],"m":[{"a":[{"i":0,"t":11}],"e":[{"t":0}]}],"n":[{"a":[{"i":0,"u":0}],"d":[{"e":19}],"f":19,"i":[{"m":[{"e":[{"n":19}]}],"t":11},4],"k":7,"o":[{"l":0,"s":0},7],"õ":0}],"p":[{"r":0}],"r":[{"a":[{"n":0,"u":0}],"s":7,"ü":0}],"s":[{"a":[{"n":0}],"e":[{"l":7,"v":0}],"i":[{"k":[{".":0}]}]}],"t":[{"a":10,"e":[{"h":0}],"o":[{"m":0,"s":0},7],"r":[{"e":5}],"õ":0,"ü":0}],"v":[{"e":[{"s":0,"t":0}],"o":10}]}],"j":14,"k":[{"a":[{"l":[{"u":17}],"r":[{"e":36,"k":17}],"u":[{"t":17}]}],"e":[{"l":[{"u":70}],"s":[{"i":2}]}],"l":[{"a":[{"a":29,"s":29}],"e":[{"r":0}],"u":[{"b":19}]}],"o":[{"p":7,"s":7,"v":17}],"r":[{"e":29,"o":4}],"s":[{"a":[{"r":0}],"k":2,"p":[{"o":2}]}],"t":[{"r":71}],"u":[{"a":6},29]},14],"l":[{"a":[{"s":[{"i":17},2]},0],"i":[{"a":7,"s":[{"i":17}]}],"k":[{"a":[{"n":0}],"õ":0}],"l":[{"e":[{"s":9}],"o":7}],"m":[{"e":[{".":16}],"o":[{"t":0}],"u":[{"t":27}]}],"o":[{"g":72}],"p":[{"l":6}],"t":[{"i":0}],"u":[{"n":19,"s":[{"a":6,"t":[{"u":16}]}]}],"ü":[{"h":2}]}],"m":[{"e":[{"l":[{"u":17}]}],"i":[{"g":2,"s":[{"u":11}]}],"o":[{"l":36}],"p":[{"e":[{"r":16}]}]},14],"n":[{"d":[{"a":[{"l":6}],"e":[{"k":[{"s":16}],"r":7}],"r":[{"e":2}]}],"e":[{"e":[{"s":7}],"h":17,"k":[{"s":17}]},30],"i":[{"k":[{"ü":2}],"m":[{"a":[{"s":2}],"e":[{"n":[{"e":16}]},17],"l":16},28],"n":[{"i":17}]}],"n":[{"a":[{"a":9}],"i":[{"s":[{"i":7}]}]}],"s":[{"e":[{"n":27}],"p":31,"t":31}],"v":[{"e":[{"n":27}]}]},14],"o":[{"d":[{"e":0}],"h":[{"t":29,"v":19},0],"j":0,"k":[{"s":[{".":19}]}],"l":[{"e":[{"k":29},10],"u":[{"k":19},10],"ü":0}],"m":[{"a":[{"n":19},10]}],"o":[{"d":[{"a":2}],"n":[{"e":2,"i":60}]}],"p":[{"e":[{"r":29}]},10],"r":[{"k":19}],"s":[{"a":14,"f":2,"p":2,"t":[{"r":7},2],"u":0}],"t":[{"s":[{".":29,"i":29}],"ü":0}]}],"p":[{"l":[{"a":29,"u":0}],"r":[{"o":0}],"s":[{"a":[{"s":0}],"e":[{"p":0},7],"u":[{"s":0}]}]},14],"r":[{"a":[{"b":36,"s":[{"e":17}]}],"d":[{"i":[{"s":0}]}],"n":[{"õ":0}],"u":[{"i":28,"u":7}]}],"s":[{"a":[{"a":[{"v":7}],"j":[{"a":2}],"n":[{"a":17}],"r":[{"e":2,"h":17}]}],"e":[{"l":[{"o":17}],"m":29,"t":[{"s":7}]}],"i":[{"g":2}],"o":[{"l":[{"a":27,"i":19}],"m":[{"a":8}],"r":2,"t":29},28],"p":[{"e":[{"k":57}],"l":4,"o":[{"r":57}]}],"s":[{"p":4}],"t":[{"a":[{"n":[{"d":16}]}],"i":[{"i":[{"l":25}]}],"m":[{"e":16}],"r":[{"u":2}],"s":[{"e":[{"e":19},2]}],"u":[{"t":[{"u":16}]}]}],"u":29,"õ":[{"m":17}],"ü":[{"l":73,"r":2}]}],"t":[{"a":[{"a":61}],"e":[{"e":[{"l":7}]}],"r":[{"a":[{"k":0,"s":0}],"u":23}],"s":[{"k":6,"o":0}],"t":[{"e":74,"s":2}]},30],"u":[{"b":0,"d":[{"a":10}],"g":[{"i":0}],"j":[{"u":29},10],"l":[{"a":0}],"m":[{"a":[{"r":0}],"e":22,"o":10}],"n":[{"i":0}],"p":[{"u":0}],"s":[{"a":8,"s":[{".":19}],"u":10}],"t":[{"i":7}],"u":29}],"v":[{"a":[{"d":17,"k":[{"t":17}],"l":[{"u":[{"s":36}]}],"n":[{"t":17}],"u":17}],"e":[{"h":17,"l":2}],"i":[{"i":[{"l":1}]}],"ü":17},14],"õ":37,"ä":54,"ü":37,"ž":14}],"j":[{"a":[{"a":[{"j":18,"l":2,"r":2,"s":2},27],"b":2,"d":2,"e":[{"l":8,"r":2}],"g":2,"i":71,"k":[{"r":[{"a":8}]}],"m":[{"a":16,"e":16}],"o":[{"h":2}],"p":39,"s":[{"k":[{"e":2}],"t":[{"i":[{"i":2}]}]}],"t":[{"r":2,"s":[{"u":2}]}],"u":[{"b":2,"l":2}]},17],"e":[{"l":[{"u":4}]}],"o":[{"o":[{"k":2}]},27],"u":[{"e":2,"m":[{"a":16}],"s":[{"e":[{"i":0,"l":7}]}]}],"õ":16,"ä":16}],"k":[{"a":[{"a":[{"d":[{"a":2,"e":6}],"j":8,"l":0,"r":[{"a":2}],"s":[{"i":[{"s":2}]}],"t":[{"a":2}]}],"d":[{"e":[{"r":15}]}],"e":[{"d":15,"g":15,"l":[{"u":6}]}],"g":2,"h":[{"e":[{"i":9}]}],"i":[{"a":15,"n":30,"s":[{"t":8}],"t":[{"s":[{"e":3}]}]}],"j":[{"a":[{"v":0}],"u":[{".":0}]}],"l":[{"u":[{"s":25}]}],"p":[{"l":0,"r":10}],"r":[{"m":15}],"s":[{"e":[{"t":15}],"j":19}],"t":[{"r":2}]},31],"b":44,"d":43,"e":[{"e":[{"l":[{"u":6},0]}],"h":[{"i":30}],"k":[{"s":15}],"l":[{"a":[{"j":0,"k":0}],"o":[{"k":0}]}],"m":[{"b":15}],"n":[{".":30,"e":16}],"o":13,"s":[{"k":[{"a":75},13]}],"t":[{"r":[{"a":5}],"t":[{"e":65}]}]},35],"f":43,"g":15,"h":49,"i":[{"e":2,"k":[{"r":2}],"n":[{"f":15}],"o":2,"p":[{"r":0}],"s":[{"a":[{"n":0},2],"i":[{"k":0}],"t":[{"e":15}]}],"t":[{"r":2}],"u":[{"d":2,"s":[{"u":6}]}]},31],"j":42,"k":[{"r":[{"a":29}],"s":2,"u":[{"r":[{"o":2}]}]},38],"l":[{"a":[{".":29,"a":[{"s":27}],"i":29,"m":[{"b":34}],"n":29,"p":[{"p":27}],"s":[{"s":[{"i":16}]}],"t":29,"v":[{"e":[{"r":16}]}]},28],"e":[{"a":2,"e":17,"i":[{"t":27},28],"m":29}],"i":[{"b":[{"u":16},17],"g":7,"i":[{"m":27,"s":[{"t":[{"e":16}]}]},28],"k":29,"n":[{"k":17},29]}],"o":[{"o":[{"m":29}],"t":[{"s":27}]},28],"u":[{"b":28,"s":[{".":29,"a":2,"õ":2}],"t":17}]},49],"m":42,"n":[{"a":[{"a":7}],"i":[{"p":17}]},42],"o":[{"k":[{"s":30}],"l":[{"e":[{"n":0}]},17],"o":[{"s":[{"a":2}]}],"r":[{"i":[{"e":45}],"p":[{"i":15}]}],"s":[{"a":[{".":19}]}],"v":[{"a":0}]},31],"p":48,"r":[{"a":[{"a":[{"n":[{"a":16},17],"v":27}],"b":27,"e":34,"i":29,"m":[{"p":27}],"n":15,"u":29}],"e":[{"d":[{"i":[{"i":16}]}],"e":[{"m":34}],"g":15,"s":76,"t":19}],"i":[{"p":15,"s":[{"t":[{"a":[{"l":16}]}]}]}],"o":[{"h":[{"v":27},17],"o":[{"k":17}]}],"u":[{"t":29,"u":27,"v":[{"i":27}]}],"ü":26},53],"s":[{"a":[{"e":19,"i":17}],"e":[{"k":7}],"i":[{"k":[{"a":11},13],"t":7}],"k":[{"l":2,"õ":8}],"p":[{"l":[{"o":5}],"r":10}],"t":[{"r":6,"ü":0}]},38],"t":[{"r":[{"a":10}]},30],"u":[{"i":[{"s":2}],"j":[{"u":[{"j":15,"m":15}]}],"k":[{"l":[{"a":6}],"s":15}],"l":[{"d":13,"p":30}],"m":[{"i":[{"s":[{"u":77}]}],"m":[{"i":1}]}],"s":[{"i":[{"v":0}]},27],"t":[{"r":2}],"u":[{"n":[{"i":2}],"s":[{"e":1}]}],"ž":15},31],"v":[{"a":[{"n":17,"r":[{"t":27}]}],"i":[{"i":[{"t":[{"u":16}]}]}]},42],"õ":[{"d":[{"e":[{".":0}]}],"i":[{"s":19},30],"p":15},31],"ö":[{"d":15},31],"ä":[{"i":[{"s":5}],"k":30,"m":15},31],"ü":[{"h":[{"e":30}],"l":[{"e":15,"l":[{".":15}]}]},31],"ž":43,"š":15}],"l":[{"a":[{"a":[{"g":16,"j":0,"r":[{"a":9},13],"s":[{"a":2}],"v":[{"a":16},30]}],"d":[{"j":15,"u":16}],"e":[{"r":2,"v":27}],"h":[{"v":15}],"i":[{"e":[{"k":78}],"g":[{"a":2}]}],"j":[{"a":[{"p":0,"v":0}]}],"k":[{"r":39,"v":2}],"l":[{"a":[{".":0}],"d":15,"e":[{"s":0}],"s":15,"u":[{"s":0}]}],"m":[{"a":27,"p":27,"s":15}],"n":[{"e":[{"s":0}],"i":30}],"p":[{"l":2}],"r":[{"v":38,"ü":15}],"s":[{"a":[{"s":0}],"b":15,"e":[{"i":0,"m":0,"n":15}],"i":28,"u":[{"t":45}]}],"u":[{"d":16,"n":2,"s":[{"u":5}]},27],"v":[{"h":15}]},31],"b":[{"a":[{"u":17}],"l":[{"o":0}]},42],"d":[{"a":[{"l":[{"a":17}]}],"i":[{"s":[{"t":19}]}],"o":[{"n":17}],"ü":17},38],"e":[{"a":79,"e":[{"k":[{"l":9}],"l":[{"e":2}],"p":[{"r":9}]},27],"h":[{"i":[{"t":15},4],"t":16}],"j":27,"k":[{"k":15,"s":[{".":16}],"t":[{"r":[{"i":3},15]}]}],"l":[{"e":[{"k":0},15]}],"m":[{"a":[{".":16}],"o":[{"r":0}]}],"n":[{"a":[{"a":11}]}],"o":[{"h":4,"l":[{"u":8}]},13],"p":[{"l":0}],"s":[{"e":[{".":15}],"õ":4},10],"t":[{"t":[{"e":15}]},27]},31],"f":[{"o":[{"o":7}],"t":0},38],"g":[{"a":[{"e":17,"i":17,"l":[{"l":17}],"n":[{"n":17}],"s":[{"e":17,"k":7}]}],"e":[{"l":[{"e":36}]}],"i":[{"d":36}],"o":28,"u":[{"j":36}]},14],"h":42,"i":[{"a":[{"l":[{"a":0}],"m":8,"v":2}],"d":[{"a":[{"n":0}]},27],"g":[{"a":[{".":0}]}],"i":[{"a":15,"e":7,"g":16,"n":[{"a":2}]}],"k":[{".":16,"a":[{"i":11}],"l":[{"a":4}],"r":[{"o":2}]}],"l":[{"m":15,"u":[{"s":45}]}],"m":[{"i":[{"s":7}]}],"n":[{"f":15,"i":[{"m":15}],"s":15,"t":[{"e":2}],"v":15}],"o":[{"k":2}],"p":[{"l":39}],"s":[{"a":[{"h":0}],"i":[{"k":0}],"o":[{"l":15}],"u":[{"j":0}],"õ":[{"l":0}],"ö":0}],"t":[{"r":2,"u":8}],"ž":[{"e":30}]},31],"j":[{"a":[{"a":80,"o":[{"s":5}]}]},42],"k":[{"k":2,"l":[{"i":17,"u":0}],"r":29},42],"l":[{"e":[{"r":19}],"i":[{"t":[{"r":6}]}],"o":[{"r":28,"t":[{"s":17}]}],"p":2,"s":2,"t":2,"u":29,"ä":[{"ä":17}]},42],"m":[{"a":[{"a":[{"v":7}],"t":7,"u":17}],"e":[{"k":[{"s":17}]}],"p":2},42],"n":42,"o":[{"d":[{"r":2}],"f":2,"g":[{"a":[{"l":0}]}],"h":[{"a":15,"v":15}],"i":16,"k":[{"r":2}],"l":[{"e":14,"i":[{"j":29}],"o":27},81],"m":[{"a":[{"n":0}]}],"o":[{"g":16,"r":[{"a":[{"m":2}]}]}],"r":[{"d":15,"n":15}],"s":[{"a":[{".":29},30]}]},31],"p":[{"l":[{"a":[{"a":29}],"e":0}],"u":[{"k":17}]},42],"r":[{"i":[{"h":7}]},42],"s":[{"k":[{"a":0,"e":7}],"o":0,"t":[{"e":7}]},42],"t":[{"a":[{"u":17}],"i":[{"l":2}],"o":[{"k":17}],"s":[{"e":[{"l":0}],"i":[{"s":0}]}],"u":[{"k":17}],"õ":[{"m":17}],"ä":[{"ä":17}],"ü":[{"t":17}]},30],"u":[{"a":[{"l":4},27],"d":2,"e":2,"g":82,"h":[{"k":15}],"i":[{"m":15}],"j":[{"u":[{"k":0}]}],"k":[{".":15,"k":27}],"n":[{"i":[{"n":0,"o":0}]},30],"o":[{"r":6}],"r":[{"a":[{"u":0}]}],"s":[{"e":[{"e":0}],"t":[{"i":[{"i":2}]}],"u":[{"m":0}],"ö":0}],"t":[{"a":27,"r":2}],"u":27},31],"v":[{"e":[{"l":7}]},42],"õ":[{"d":15,"i":[{"e":15,"k":16,"s":15,"t":15}],"l":0,"p":[{"e":4,"p":13}]},31],"ö":[{"e":15},31],"ä":[{"n":[{"g":[{"i":2}]},15],"ä":[{"n":[{"e":1}]}]},31],"ü":[{"h":4,"m":[{"a":0}]},31]}],"m":[{"a":[{"a":[{"b":[{"i":4},83],"l":[{"a":6}],"p":6},27],"b":[{"i":0}],"e":79,"g":[{"l":2}],"h":[{"l":16,"v":15}],"j":[{"a":[{"m":15}],"u":[{".":45}]}],"k":[{"l":4,"v":2}],"l":[{"a":[{".":0}],"m":[{"a":2}]},27],"o":[{"m":0}],"p":[{"l":4}],"r":[{"t":15,"v":15}],"s":[{"e":8,"i":[{"n":8}],"t":0,"u":[{"l":45}],"ä":0}],"u":[{"t":15}]},31],"b":[{"a":[{"t":7}],"e":[{"r":84}],"l":[{"u":7}],"o":[{"j":2}],"u":[{"s":[{"a":8}]}]},42],"d":43,"e":[{"a":[{"n":0},85],"e":[{"l":[{"a":5}],"s":2},27],"h":[{"i":4}],"k":[{"v":15}],"r":[{"s":7,"t":7}],"s":[{"o":68}],"t":[{".":15,"l":15,"n":30,"s":[{"e":2}],"t":15},17],"u":68},31],"f":42,"g":45,"h":42,"i":[{"a":[{"m":2,"r":2}],"d":[{"e":15}],"k":[{"a":[{"j":0}]}],"n":[{"a":[{"h":0}],"f":15,"i":4}],"p":2,"s":[{"a":86,"i":[{"g":0,"h":0,"k":45,"l":0},4],"k":20,"t":[{"i":[{"i":2}],"r":7,"s":6}]},10],"t":[{"t":[{"e":60}]}]},31],"j":42,"k":48,"l":42,"m":[{"a":[{"a":[{"t":17}],"s":2}],"e":[{"r":2},0],"i":[{"k":[{"a":[{"l":2},11]}]}],"o":[{"r":17}]},42],"n":49,"o":[{"h":[{"a":0},15],"k":[{"s":29}],"r":[{"g":15,"n":15}],"s":[{"a":4}]},31],"p":[{"a":[{"l":2,"p":17}],"l":4,"r":4},30],"r":[{"u":[{"u":7}]},42],"s":[{"o":0,"p":0},42],"t":[{"s":19},32],"u":[{"a":[{"h":8},2],"d":2,"e":2,"i":[{"m":2}],"l":[{"s":15}],"p":2,"s":16,"t":[{"r":[{"a":2}]}]},31],"v":42,"õ":[{"d":0,"i":[{"g":15}],"p":15}],"ö":[{"k":15},27],"ä":[{"k":15,"r":[{"g":[{"e":[{"l":2}]}]}]},27],"ü":[{"h":15},27],"ž":15}],"n":[{"a":[{"a":[{"h":8,"l":[{"u":2}],"r":[{"a":87}]},17],"d":2,"e":[{"i":8}],"g":[{"l":2}],"h":[{"k":[{"e":2}]}],"i":[{"d":2,"s":[{"i":2}]}],"k":[{"r":[{"u":0}]}],"l":[{"ü":88}],"m":[{"e":[{"r":45}],"i":[{"i":[{"d":19},0]}]}],"n":[{"t":[{"s":[{"a":1}]}]}],"o":39,"p":[{"l":2}],"r":[{"e":[{"t":0}],"v":15}],"s":[{"b":15,"s":7},17],"t":[{"r":[{"a":2}]}],"u":[{"b":2}]},31],"b":45,"d":[{"a":[{"a":[{"s":17}],"b":17,"e":17,"k":[{"o":2}],"l":2,"u":17}],"i":[{"f":7,"p":7}],"o":[{"r":36}],"u":[{"j":17,"s":[{"õ":2}]}],"ü":17},38],"e":[{".":16,"a":13,"e":[{"l":[{"a":6,"e":2,"u":6}]}],"i":[{"v":2}],"l":[{"a":[{"h":0,"s":15}],"e":[{"k":0}]}],"o":[{"d":2}],"p":[{"l":0}],"r":[{"g":30}],"s":17,"t":[{"a":[{"n":0}],"õ":[{"m":0}]}]},31],"f":42,"g":[{"a":[{"i":17,"l":[{"l":17}],"s":[{"e":17}],"u":17}],"l":[{"ü":0}],"o":[{"r":36}],"r":4,"u":[{"d":7,"s":[{"t":7}]}],"ü":28},42],"h":42,"i":[{"a":[{"p":4,"v":2}],"g":2,"i":[{"g":2,"t":[{"u":2}]}],"k":[{"k":[{"e":[{"l":3}]}]}],"l":[{"m":15}],"m":[{"a":[{"s":7},16],"e":[{"t":16}],"i":[{"g":0},27],"l":15}],"n":[{"t":15}],"s":[{"i":[{"d":0}],"k":[{"e":2}],"l":15}]},31],"j":42,"k":[{"a":[{"n":36}],"r":4,"s":[{"e":0,"t":7}]},30],"l":49,"m":42,"n":[{"a":[{"e":6,"i":5,"k":[{"r":7}]}],"e":[{"f":36}],"i":[{"o":7}],"k":2},42],"o":[{"b":15,"d":2,"k":[{"s":15}],"o":[{"n":[{"a":2}]}],"r":17},31],"p":48,"r":42,"s":[{"a":[{"l":[{"p":17}]}],"e":0,"k":[{"r":5}],"o":[{"r":2},29],"t":[{"e":[{"e":0,"m":0},7],"i":[{"s":11}],"r":6,"u":0}],"u":[{"s":2}]},30],"t":[{"a":[{"a":[{"r":7}]}],"e":[{"h":17,"l":2}],"i":[{"g":7,"s":[{"o":17}]}],"o":[{"t":[{"s":17}]}],"r":[{"a":4,"e":4},17],"s":[{"a":[{"b":0,"l":0,"n":0,"r":0}],"ü":8}],"t":2,"ü":[{"h":17,"k":17}]},30],"u":[{"d":[{"a":0}],"i":[{"g":2}],"r":[{"k":13}],"s":[{"p":2}]},31],"v":42,"õ":[{"l":[{"i":15},0]},31],"ö":31,"ä":31,"ü":[{"l":15},31],"ž":15,"š":15}],"o":[{"a":[{"a":0,"e":14,"k":[{"u":19}],"n":[{"a":[{"l":29}]}],"p":[{"a":19}],"u":[{"b":2}]},10],"b":[{"a":[{"s":2}],"j":31},14],"d":[{"a":[{"a":[{"l":60},7]}],"e":[{"h":17}],"u":[{"s":[{"õ":2}]}],"š":0},38],"e":[{"a":68,"f":[{"e":0}],"l":[{"e":29},10],"m":[{"i":0,"u":0}],"o":17,"r":[{"a":[{"h":0}],"õ":0}],"s":[{"i":0}],"t":[{"r":2}]}],"f":[{"r":8},14],"g":[{"l":[{"a":0,"i":0}]},14],"h":[{"a":[{"k":[{"a":27}]}],"t":[{"o":8}],"v":[{"i":[{"t":[{"s":16}]}]}]}],"i":[{"t":[{"a":10}],"u":[{"a":5}]}],"j":[{"u":[{"s":13}]},14],"k":[{"a":[{"s":[{"t":11}]}],"k":[{"u":9}],"l":[{"a":4,"i":[{"i":[{"n":8}]}]}],"o":[{"o":[{"s":11}]}],"r":[{"e":0,"i":[{"s":19},0],"u":0},4]}],"l":[{"a":[{"e":17,"g":7,"l":[{"a":[{"s":2}]}],"s":[{"u":2}]},29],"d":[{"o":0}],"e":[{"a":[{"n":2}],"k":[{".":27}],"n":[{"d":17}]}],"i":[{"g":7,"i":[{"g":7},29],"l":[{"u":36}],"s":29}],"j":15,"l":[{"a":[{"e":0}],"i":[{"s":11}],"ü":0}],"m":[{"a":[{"i":0}]}],"o":26,"t":[{"a":[{"m":0,"r":0}]}],"u":[{".":31,"k":[{"o":[{"r":16}],"s":17}]}],"õ":2,"ä":17}],"m":[{"a":[{"d":[{"u":27}]}],"b":[{"a":[{"j":0,"n":0}]}],"o":[{"k":17}]}],"n":[{"a":[{"a":2,"j":17,"k":[{"o":2}]}],"e":[{"h":17,"l":[{"e":17}]}],"g":[{"o":[{"s":0}]}],"i":[{"t":[{"r":7}],"u":7}],"s":[{"o":[{"o":11}]}],"t":[{"r":[{"e":2}]}],"u":[{"u":17}]}],"o":[{"a":18,"k":[{"a":[{"l":0}],"r":2,"ä":[{"ä":0}]}],"l":[{"a":[{"u":0}],"e":[{"e":0}],"i":[{"g":0,"s":[{"t":0}]}],"o":[{"g":0}],"õ":0,"ü":0}],"n":[{"a":[{"h":0,"r":0,"u":0}],"d":[{"e":[{"e":2}]}],"k":7,"o":[{"h":0},7],"s":7,"t":59}],"p":[{"t":[{"i":19}]}],"r":[{"a":[{"t":0}],"e":[{"e":0}]}],"s":[{"a":4,"e":[{"l":0}]}],"t":[{"õ":0}]},53],"p":[{"a":29,"l":[{"a":[{"s":[{"t":[{".":8}]}]}],"u":0}],"r":[{"a":4,"i":4}]}],"r":[{"a":[{"i":89,"l":[{"g":17}],"m":[{"i":[{"i":2}]}],"n":[{"a":17}],"v":16}],"d":[{"e":[{"r":27}]}],"g":[{"r":2},31],"i":[{"a":7}],"j":[{"u":27}],"k":[{"e":[{"s":[{"t":[{"e":16}]}]}]}],"n":[{"a":27,"e":[{"l":0}]}],"t":[{"a":[{"l":0}],"r":6}],"u":[{"s":2}],"v":[{"õ":0}]}],"s":[{"a":[{"k":[{"e":17,"o":27}],"u":26},28],"e":[{"k":[{"s":17}]},15],"f":15,"i":[{".":28,"n":15}],"k":[{"u":[{"s":27}]}],"l":15,"o":[{"k":17,"l":18},15],"p":[{"a":0}],"s":[{"a":[{"j":0}],"ü":0},15],"t":[{"a":[{"a":[{"s":8}]}],"e":[{"m":0}],"o":15,"r":[{"u":2}]}],"u":[{"t":[{"i":16}]}],"õ":15}],"t":[{"o":[{"a":5,"k":7}],"r":[{"a":[{"n":29},10]}],"s":[{"a":27,"ö":19}],"t":[{"a":0,"e":[{"o":0}]}],"u":[{"s":[{"t":[{"a":7}]}]}],"ü":[{"l":2}]}],"u":[{"b":0,"n":0}],"v":[{"a":[{"a":[{"l":7}]}],"i":[{"o":7}],"o":[{"l":7}],"u":[{"n":36}]},14],"õ":57,"ü":10}],"p":[{"a":[{"a":[{"k":[{"a":2}],"m":71,"t":[{"e":[{"l":2}]}]}],"e":0,"l":[{"u":[{"s":0}]}],"n":[{"s":7}],"p":[{"r":0}],"r":[{"a":[{"s":16}],"k":27,"t":[{"a":15}]}],"s":[{"p":0}]},31],"b":15,"d":15,"e":[{"a":[{"j":5,"s":7,"u":0,"v":6},10],"f":0,"k":[{"t":[{"r":15}]}],"l":[{"a":7,"e":[{"v":45}],"t":2,"ü":22}],"m":17,"o":[{"l":0}],"r":[{"d":16}],"t":[{"a":[{"p":0}],"i":[{"k":7}]}]},31],"f":43,"g":0,"h":30,"i":[{"i":[{"v":2}],"k":[{"r":5}],"n":[{"d":13,"g":[{"i":[{"s":2}]}]}],"p":[{"r":6}],"s":[{"t":[{"a":5}]}],"u":[{"g":2}]},31],"j":42,"k":42,"l":[{"a":[{".":15,"a":[{"s":[{"i":19}],"t":27},17],"k":17,"m":29,"n":[{"e":[{".":19}]}],"s":[{"m":27,"t":[{"i":[{"k":16}]}]}]}],"e":[{"k":[{"k":27},61],"m":26}],"i":[{"i":[{"a":16,"g":11}]},29],"o":[{"k":27,"m":29}],"u":[{"u":[{"s":27}]},29],"õ":15},90],"m":42,"n":[{"e":[{"u":17}]},42],"o":[{"e":91,"n":27,"o":[{"l":[{"a":[{"v":11},2]}]},27],"r":[{"d":[{"i":1}]}]},56],"p":[{"a":[{"k":2,"s":17}],"e":[{"a":6,"e":7}],"l":4,"r":89,"s":2,"u":[{"d":17}],"õ":17,"ü":17},38],"r":[{"a":[{"a":27,"g":27,"k":[{"t":27}],"u":19},30],"e":[{"p":17,"s":[{"i":17}]}],"i":[{"b":15,"i":[{"t":19},30]}],"o":[{"g":17,"o":17,"s":93,"t":34}],"u":[{"m":15,"u":16}]},92],"s":[{"a":0,"o":[{"r":17}],"ü":66},42],"t":[{"a":[{"k":17}]},42],"u":[{"a":2,"d":[{"a":0}],"h":[{"a":7}],"i":[{"t":2}],"k":[{"k":2}],"l":[{"t":[{"i":2}]}],"r":[{"t":15}],"s":[{"p":2}]},27],"v":42,"õ":[{"h":[{"i":12}],"i":[{"s":2},17],"l":[{"i":7}]},27],"ö":16,"ä":[{"r":[{"g":[{"u":2}]}],"s":15},31],"ü":[{"h":[{"e":4}]},27],"ž":15,"š":15}],"r":[{"a":[{"a":[{"l":[{"a":12,"e":15,"n":[{"e":16}],"u":2}],"m":[{"a":[{"t":[{"u":94}]}]}],"t":[{"a":65,"t":15,"u":2}],"v":15,"š":16}],"i":[{"e":12,"n":[{"e":29},30],"s":[{"i":2}]}],"l":[{"a":[{".":25}],"t":2,"u":[{"s":0}]}],"m":[{"e":27}],"n":[{"d":[{"e":[{"m":2}]}]}],"o":[{"m":4}],"p":[{"a":15,"l":0,"t":15}],"r":[{"b":15,"e":[{"n":0}],"s":15,"v":30}],"s":[{"a":[{"l":0}],"e":[{"n":15}],"i":[{"s":0}],"t":[{"r":7}],"u":[{"k":0,"l":0,"t":0}]}],"t":[{"a":[{"s":16}],"i":[{"i":[{"v":[{"a":3}]}]}],"s":[{"e":[{"n":2}]}]}],"u":[{"a":12,"d":[{"o":9},13],"k":30,"m":15,"r":15,"t":[{"e":2}]}],"v":[{"i":16}]},31],"b":[{"a":[{"e":17}]},42],"d":[{"a":[{"e":17,"r":28}],"e":[{"a":6}],"r":[{"e":0}],"u":[{"j":17}],"ü":17},38],"e":[{".":16,"a":16,"b":13,"e":[{"l":[{"e":2}],"m":[{"a":[{".":2,"n":2}]}],"r":27,"t":27}],"g":16,"h":[{"i":30}],"i":[{"s":[{"e":2}]}],"k":[{"l":6,"s":15}],"l":[{"a":[{"i":0}],"i":[{"i":[{"t":0}]}],"v":16}],"m":[{"ä":[{"ä":0}]}],"p":[{"p":15,"r":[{"e":6},10]}],"s":[{"i":[{"n":0}]}],"t":[{"e":4,"k":2,"r":0,"s":5}]},31],"f":[{"r":0},42],"g":[{"a":[{"e":17,"h":4,"r":[{"e":2}]}],"e":[{"h":17}],"i":[{"m":[{"e":2}]}],"r":[{"a":64}]},42],"h":42,"i":[{"a":[{"m":4,"s":[{"t":8}]},27],"d":16,"g":[{"a":[{".":0}],"e":27,"r":2},30],"i":[{"b":30,"e":16,"n":[{"u":15}]}],"k":[{"i":[{"s":0}],"r":39}],"l":[{"m":15}],"m":27,"o":[{"k":[{"s":8}],"r":2}],"p":[{"l":[{"i":2}],"p":95},27],"s":[{"a":[{".":45,"h":0,"r":0}],"e":[{"s":0}],"o":[{"l":15}]}],"t":[{"o":[{"l":0}],"r":71}],"u":16,"v":16,"ö":15},31],"j":42,"k":[{"a":[{"d":17,"i":[{"n":8}],"s":[{"e":2}]}],"e":[{"k":17}],"t":2},42],"l":42,"m":[{"a":[{"l":[{"d":17}]}],"e":[{"l":[{"e":36}]}],"i":[{"g":17}],"o":[{"r":[{"a":2}],"s":2}],"p":2,"s":2},42],"n":[{"a":[{"d":17}],"e":[{"h":17}],"k":2},42],"o":[{"a":2,"e":71,"k":[{"k":2}],"l":[{"l":[{"a":2,"e":2}]}],"m":[{"b":15,"i":30}],"n":[{"o":[{"p":0}]}],"o":[{"g":[{"a":2}]}],"s":[{"a":15,"p":[{"o":2}],"t":[{"a":[{"a":[{"t":[{"i":8}]}]}],"r":7}]}],"ž":15},31],"p":[{"r":[{"e":[{"t":8}]}]},42],"r":[{"i":29},42],"s":[{"a":[{"a":[{"l":7}]}],"l":0,"o":0,"p":[{"o":64}],"t":[{"a":[{"k":0}]}]},30],"t":[{"a":[{"h":17}],"o":[{"s":17}],"r":[{"a":0,"i":17,"o":[{"o":8}]},10],"s":[{"a":[{"i":0}]}]},30],"u":[{"a":88,"d":2,"j":17,"k":[{"r":4}],"m":[{"a":27,"b":15,"m":30,"p":15}],"s":[{".":16,"e":[{"t":0}],"i":[{"n":0}],"u":[{"l":0}]}],"t":[{"r":2}],"u":[{"m":[{"a":9}],"r":15}]},31],"v":[{"a":[{"l":[{"a":2,"u":2}],"n":[{"n":17}],"s":[{"k":9}]}],"i":[{"s":[{"k":7}]}],"o":[{"h":17,"k":17}]},42],"õ":[{"l":[{"i":19},81],"n":[{"g":[{"u":2}]}],"r":15},31],"ö":[{"k":15,"ö":[{"p":[{"e":2,"l":9}]}]},27],"ä":[{"r":45},31],"ü":[{"k":15,"m":15,"r":45},31],"ž":15,"š":15}],"s":[{"a":[{"a":[{"j":5,"l":[{"u":2}],"n":0,"s":26},66],"b":[{"a":27,"i":[{".":0}],"o":15}],"d":[{"a":16,"e":[{"r":19},15]},17],"e":[{"l":2},42],"g":[{"a":96,"e":17,"u":0}],"h":[{"v":15}],"i":[{".":27,"a":15,"n":14}],"j":[{"a":[{"n":17}],"u":[{".":0}]}],"k":[{"r":[{"o":2}],"s":16,"u":[{".":15}],"ä":[{"ä":0}]}],"l":[{"a":[{".":97,"s":15,"t":[{".":16},17]}],"e":[{"v":0}],"l":[{"a":15,"u":15}],"t":27,"u":[{"m":0}],"v":16}],"m":[{"p":15},34],"n":[{"k":15,"n":98,"t":[{"i":15},17],"u":[{"m":0},17]}],"p":[{"r":10}],"r":[{"i":[{"s":0}],"v":[{".":17,"a":2}]}],"s":[{"e":7,"t":[{"i":[{"i":2},27]}],"u":[{"k":0,"m":0}]}],"t":[{"l":15},27],"v":[{"a":[{"l":[{"d":19}]}]}]},31],"b":50,"d":50,"e":[{"a":[{"d":27,"l":[{"a":4,"i":19}],"v":[{"a":[{"l":8}]}]}],"d":[{"u":[{".":0}]}],"e":[{"l":[{"a":15,"e":2,"n":19}],"m":[{"a":2}],"p":[{"i":15}],"r":27,"s":[{"i":2}],"t":[{"a":65}]}],"f":[{"e":45}],"g":[{"a":[{"a":9}]},16],"h":[{"a":27,"o":27,"u":16,"ä":16},30],"i":[{"d":2,"s":[{"i":2}]},27],"k":[{"a":27,"l":4,"s":[{"p":98}]}],"l":[{"a":[{"j":0}],"e":[{"k":15}],"i":16,"l":[{"u":15}],"t":27,"u":30}],"n":[{"s":15}],"o":[{"h":8,"k":2,"m":8,"p":2,"r":2}],"p":[{"a":[{"t":11}]},27],"r":[{"e":[{"m":15}]}],"s":[{"e":[{".":15}],"i":[{".":0,"n":45,"t":19}],"k":2,"t":27}],"t":[{"e":[{"n":98}],"r":71,"t":[{"e":15}]}]},31],"f":32,"g":32,"h":42,"i":[{"a":[{"h":2},27],"e":2,"g":[{"n":16,"r":[{"a":2}]}],"h":[{"a":[{".":25}]}],"i":[{"g":2,"s":[{"a":2,"e":2}],"t":[{"s":15,"u":2}]}],"k":[{"e":[{"t":0}],"o":[{"d":7}],"s":[{"p":7}],"t":7,"v":[{"i":2}]}],"n":[{"i":[{"m":[{"e":19},15]}],"s":15}],"o":[{"l":[{"e":2}]}],"p":[{"r":[{"o":0}]}],"r":[{"r":15,"u":16}],"s":[{"a":[{".":45}],"e":4,"i":[{"k":25}],"p":13,"s":[{"e":60}],"t":[{"u":[{"j":19}]}],"u":16}]},31],"j":[{"a":[{"a":[{"r":5}]}]},42],"k":[{"a":[{"a":[{"l":[{"a":99}]}],"n":[{"o":2}]},15],"e":[{"e":[{"m":[{".":16}]}],"l":[{"a":17,"e":[{"t":16}]}],"n":19}],"i":[{"g":2}],"l":[{"a":[{"s":19}],"e":[{"r":16}]},10],"u":[{"k":7,"l":[{"p":27}],"s":[{"i":2}]}]},42],"l":42,"m":[{"a":[{"s":[{"a":2}]}]},38],"n":[{"e":[{"p":2}]},42],"o":[{"b":[{"i":27}],"e":27,"h":[{"t":14}],"i":27,"k":[{"s":[{".":19}]}],"l":[{"e":[{"k":29}],"i":[{"j":29}],"o":16,"u":[{"t":4}]},81],"m":[{"a":10}],"n":27,"o":[{"o":5},27],"p":[{"e":45,"r":0}],"r":[{".":16,"j":29,"t":27}],"s":42,"t":[{"s":[{"u":15}]}]},31],"p":[{"e":[{"r":19}]},42],"r":42,"s":[{"e":[{"l":[{"l":7}]}],"f":[{"ä":10}],"i":[{"n":[{"f":17},7]}],"k":[{"e":0},2],"p":[{"o":[{"r":19}]},10],"t":[{"a":[{"t":19}],"i":0,"r":5},10],"u":[{"s":[{"s":17}]}]},42],"t":[{"a":[{"a":[{"d":27,"š":16},28],"i":[{"n":17}],"m":15,"n":[{"d":[{"a":[{"r":[{"d":16}]}]}]}],"r":[{"t":27}],"t":[{"i":[{"s":16},17]}]}],"e":[{"n":[{"o":17}],"p":[{"p":16}],"t":7}],"o":[{"h":17,"p":17,"t":17}],"r":[{"e":[{"i":[{"k":16}],"k":16}],"u":[{"k":[{"t":[{"u":16}]}]}]}],"s":[{"o":0}],"t":2,"u":[{"s":[{"a":87},13],"u":[{"d":27}]}],"ä":[{"r":17},2],"ü":[{"h":17}]},42],"u":[{"a":13,"b":[{"a":[{"r":0}]}],"d":[{"r":2,"u":0}],"e":8,"j":[{"u":[{"l":0}]}],"k":[{"s":[{".":19},15]}],"l":[{"g":[{"a":2},16]}],"n":[{"d":[{"e":65}],"i":[{"s":0}]}],"p":[{"e":[{"s":9},7],"r":0}],"r":[{"b":15}],"s":[{".":16,"a":[{"a":2}],"e":[{"s":0}],"s":[{".":19}],"t":[{"i":2}],"u":[{"n":0}]}],"t":[{"r":2,"ü":2}],"u":[{"g":15,"r":[{"a":2}],"s":[{"a":60}]}]},31],"v":[{"u":[{"s":[{"t":7}]}]},42],"õ":[{"d":[{"a":16,"e":0}],"h":26,"i":[{"d":27,"e":15,"g":42,"s":47,"t":27}],"l":[{"i":44,"m":27},10],"n":27,"p":42,"r":16,"s":[{"a":7}],"u":44},31],"ö":[{"d":15,"k":10,"n":30},31],"ä":[{"k":15,"m":15},31],"ü":[{"a":15,"d":16,"g":16,"h":[{"i":29},30],"k":[{"s":29},30],"l":[{"a":0,"d":[{"i":5}],"e":[{"m":4}],"o":15}],"r":[{"a":0}],"s":27,"ü":27},31],"ž":15}],"t":[{"a":[{".":27,"a":[{"t":[{".":27}]}],"b":[{"i":30}],"e":[{"d":26}],"i":[{"n":[{"e":29}],"s":15}],"k":[{"o":45}],"l":[{"a":[{"j":45}],"e":[{"v":0}],"l":[{"a":[{"s":2}]}],"u":[{"s":0},4]},28],"m":[{"a":16},27],"n":[{"d":[{"a":15}]}],"o":[{"t":0}],"p":[{"l":[{"a":0}],"r":0}],"r":[{"e":[{"t":45}],"m":15,"t":30}],"s":[{"e":[{"r":22,"s":0,"t":0}],"i":[{"s":0}],"ü":0}],"u":[{"t":30}],"v":[{"a":[{"j":0}]},27]},31],"b":49,"d":81,"e":[{"a":[{"a":0,"g":2,"h":2,"n":4,"s":8}],"e":[{"l":[{"u":5}],"t":0},27],"h":[{"i":[{"s":7},4]}],"k":[{"l":4,"r":2,"v":2}],"l":[{"k":[{"e":2}],"o":[{"k":0}],"u":[{".":4}]}],"p":[{"i":[{"v":15}],"l":2,"p":30}],"r":[{".":16,"a":68,"d":7,"g":15,"s":7},27],"s":[{"a":2,"i":[{"n":0}],"k":2}]},35],"f":42,"g":67,"h":[{"õ":[{"l":7}]},42],"i":[{"a":13,"e":4,"i":[{"k":13,"m":[{"a":2}],"s":[{"a":2}],"v":[{"e":2}]}],"k":[{"o":2,"r":39,"v":[{"i":2}]}],"l":[{"m":15}],"m":[{"a":16}],"n":[{"f":15,"g":[{"a":2}]}],"s":[{"a":[{"i":0,"v":7}],"i":[{"k":0}]}],"t":[{"e":[{"e":11}]}]},27],"j":42,"k":[{"l":29,"r":29},32],"l":[{"u":2},49],"m":[{"i":[{"k":[{"a":11}],"s":12}]},42],"n":42,"o":[{"d":[{"a":45}],"e":[{"n":7}],"g":100,"k":[{"s":[{".":15,"i":[{"k":1}]}]}],"l":[{"e":[{"k":0}],"u":[{".":0,"m":0}]}],"n":[{"i":[{"s":11}]}],"o":[{"n":[{"o":2}],"p":[{"e":2}]},0],"r":[{"a":[{"u":0}]}],"s":[{"p":2,"t":7}]},66],"p":48,"r":[{"a":[{"d":17,"f":[{"o":27},28],"h":[{"h":17}],"l":[{"l":16}],"n":[{"s":27},28],"t":[{"e":17}],"u":[{"m":16}]}],"e":[{"e":[{"n":27}],"i":[{"m":16},17],"p":27},28],"i":[{"g":29,"i":[{"b":16,"p":16}],"k":[{"o":[{"o":[{".":16}]}]}],"p":[{"l":2}]}],"o":[{"s":[{"s":17}]}],"u":[{"m":[{"m":27}],"p":76,"u":66}],"ü":[{"ü":15},66]},42],"s":[{"a":[{"a":0,"i":[{"s":5}],"j":[{"u":17}],"l":[{"a":[{"n":2}]}]},63],"e":[{"h":[{"h":27}],"l":[{"a":6,"l":[{"u":16}]}],"m":[{"e":[{"n":16}]}],"n":[{"a":15,"s":[{"u":16}]}]}],"i":[{"g":7,"i":[{"t":[{"s":[{"i":16}]}]}],"n":[{"k":17}],"s":[{"t":[{"e":16}]}]}],"l":[{"a":[{"a":0}]}],"o":[{"o":28,"r":17}],"p":2,"u":[{"s":[{"s":17}]}]},42],"t":[{"a":[{"d":17}],"e":[{"e":61,"s":61}],"s":[{"e":[{"m":19}]}]},42],"u":[{"i":[{"m":15}],"r":[{"a":[{"j":0}]}],"s":[{"a":80,"e":[{"e":55}],"i":10,"s":[{".":98},6],"t":101,"u":8,"ä":22,"ü":7}],"t":[{"o":[{"p":15}]}],"u":[{"d":15,"l":[{"e":1}]}]},27],"v":42,"õ":[{"b":16,"i":30,"l":0,"n":45,"p":15,"u":[{"n":47}]},31],"ö":[{"e":15,"k":15,"ö":[{"k":5,"p":6}]},31],"ä":[{"h":[{"t":[{"a":102}]}],"k":[{"e":8}],"m":15},31],"ü":[{"h":[{"e":[{".":8}],"i":4}]},31],"ž":[{"e":[{"k":16,"m":27},28]},42]}],"u":[{"a":[{"a":[{"s":[{"t":29}]},2],"b":[{"i":19},10],"e":14,"h":[{"e":0}],"i":[{"k":2,"n":29}],"j":[{"a":10}],"k":[{"t":29}],"l":[{"l":29},10],"m":[{"e":[{"t":29}]}],"n":[{"u":0},14],"p":[{"a":[{"r":19}]}],"r":[{"e":[{"e":8},10],"t":19}],"s":[{"t":29},10],"u":[{"d":2},14],"v":[{"a":[{"l":[{"d":19}]}]},10]}],"b":14,"d":[{"a":[{"l":[{"u":17}]}],"e":[{"h":17,"o":7}],"o":[{"r":2}]}],"e":[{"a":[{"l":19}],"e":[{"l":29}],"k":[{"s":29}],"m":[{"a":10}],"o":2,"r":0}],"f":14,"g":[{"i":[{"d":36}],"r":[{"a":[{"a":19},10]}],"ü":17},14],"h":[{"t":[{"e":[{"m":0,"r":0}],"i":[{"n":0,"s":0}]}]}],"i":[{"d":[{"u":9}],"g":[{"a":10}],"h":[{"a":29},0],"l":[{"m":29}],"m":[{".":16}],"n":[{"a":[{"s":1},61]}],"s":[{"i":0,"u":[{"t":27}]}],"t":[{"e":[{"h":7}],"o":0}],"v":[{"a":[{"l":[{"a":0}]}],"e":[{"l":0}],"o":0}]}],"j":[{"a":19,"u":[{"j":17,"m":[{"i":27},17]}]},14],"k":[{"a":[{"a":[{"s":7}]}],"i":[{"i":[{"g":7}]}],"k":[{"i":9}],"o":[{"p":7}],"r":[{"a":[{"a":29}],"o":19}],"u":[{"s":[{"a":2}]}],"v":[{"i":0}]},14],"l":[{"a":0,"d":[{"e":[{"h":0}],"i":7}],"k":[{"r":0}],"l":[{"e":[{"n":0}],"u":[{"i":0}]}],"t":[{"r":[{"a":1}]}],"u":[{"o":7},29]}],"m":[{"a":[{"f":7,"u":17}],"b":[{"r":[{"o":[{"h":16}]}]}],"e":[{"t":7}],"f":2,"i":[{"a":7,"t":7}],"p":[{"r":68}]},38],"n":[{"a":[{"a":[{"l":1},7]}],"d":[{"a":[{"k":0,"n":0,"s":0}],"o":0}],"i":[{".":17}]}],"o":[{"h":0,"r":[{"g":29},28]},37],"p":[{"l":[{"a":29,"e":4}],"p":[{"e":7,"i":[{"s":0}]}]},14],"r":[{"a":[{"a":[{"l":7}],"g":17,"j":[{"u":2}],"l":[{"a":17}],"p":17,"u":[{"k":8}],"v":[{"a":2}]}],"b":[{".":27}],"d":[{"e":12}],"e":[{"a":7,"o":[{"s":17}],"s":[{"k":7}],"t":[{"t":17}]}],"g":[{"a":[{"s":11}],"e":[{".":16}]}],"i":[{"m":[{"e":[{"t":36}]}],"n":[{"i":17}],"s":[{"k":7}]}],"k":[{"a":[{"v":7}]}],"o":[{"r":2}],"u":[{"l":[{"u":17}]}]}],"s":[{"a":[{".":19,"d":7,"e":17,"l":[{"u":17}],"s":[{"t":[{"e":8}]}]},103],"e":[{"a":29,"g":7,"l":[{"e":[{"k":8}]}],"t":[{"t":17,"u":29}],"v":19}],"f":[{"ä":0}],"g":8,"i":[{"d":36,"g":2,"h":36,"n":[{"d":8}],"v":[{"a":2}]}],"k":[{"r":4}],"o":[{"h":104,"l":[{"e":4}],"r":2},28],"p":[{"o":[{"r":57}]},39],"u":[{"i":7,"l":[{"i":27}],"s":[{"s":17}]}],"õ":28,"ü":[{"h":4},28]}],"t":[{"k":[{"l":0}],"o":[{"s":61,"t":7}],"r":[{"u":0}],"s":[{"o":0}],"t":[{"r":2}],"u":[{"s":2}],"ü":[{"h":2}]},14],"u":[{"a":[{"l":8}],"d":[{"u":[{".":0}]},15],"k":[{"a":[{"k":0}],"r":[{"i":5}]}],"m":[{"a":[{"l":0}],"i":[{"s":0}]}],"p":[{"ü":0}],"r":[{"a":[{"n":0,"s":0,"u":0,"v":0}]}],"s":[{"a":[{"k":12},4],"k":[{"e":2}],"s":[{".":29}],"u":[{"l":0}]}],"t":[{"a":[{"s":0}],"i":[{"s":0}],"ü":[{"h":0}]},15],"u":[{"r":[{"i":19}]}]}],"v":[{"a":[{"u":17}]},14],"õ":37,"ä":[{"r":29},10],"ü":37,"ž":[{"l":0}]}],"v":[{"a":[{"a":[{"r":[{"e":65}],"s":0}],"b":[{"i":15}],"e":[{"r":2}],"g":2,"h":[{"e":8}],"i":[{"a":15,"n":26}],"k":[{"v":2}],"l":[{"a":[{".":0,"i":0}],"d":[{"i":15}],"g":[{"a":65}],"ü":0}],"n":[{"a":[{"i":9}],"e":61,"k":[{"u":15}],"t":[{"a":2,"e":2}]}],"p":[{"r":2}],"r":[{"m":15,"p":2,"t":30,"u":[{"h":15}],"v":[{"e":15}]},17],"s":[{"a":[{"s":0}],"k":2,"t":[{"r":7}]}],"t":[{"r":2,"u":[{"d":15}]}],"u":[{"d":2}],"v":2}],"b":15,"d":42,"e":[{"e":[{"a":6,"k":6,"l":[{"a":5}],"s":[{"p":6}]}],"h":[{"i":15}],"i":[{"s":[{"a":2}]}],"o":[{"l":0,"t":7}],"r":[{"a":[{"h":0}]}],"s":[{"p":2}]},27],"f":30,"g":43,"h":42,"i":[{"a":13,"d":[{"e":[{"a":15}]},2],"p":[{"l":4},2],"r":[{"k":2}],"s":[{"a":[{"k":0}],"k":[{"o":[{"d":65}]}]}]},27],"j":42,"k":42,"l":42,"m":42,"n":42,"o":[{"o":[{"l":[{"u":5}]}]}],"p":47,"r":42,"s":42,"t":[{"r":29},32],"u":[{"s":[{"a":0,"u":22}]}],"v":42,"õ":[{"i":[{"g":15}],"l":[{"i":45}],"m":15,"r":[{"k":87}]},27],"ä":[{"ä":[{"r":[{"e":65,"u":2}]}]},27]}],"z":[{"o":[{"o":[{"k":7,"s":7}]},27]}],"õ":[{"b":[{"e":6},14],"d":14,"e":[{"a":2,"l":[{"a":[{"n":0}],"u":4}],"t":13,"u":2}],"g":14,"h":[{"v":[{"u":0}]}],"i":[{"a":0,"b":0,"e":[{"k":5,"l":27}],"g":[{"u":27}],"k":[{"o":0}],"s":[{"e":7,"u":22}]}],"j":14,"k":[{"k":[{"õ":0}]}],"l":[{"d":10,"i":[{"m":17,"t":17}],"m":[{"a":[{"d":0}]}]}],"m":[{"b":[{"l":27}]}],"n":[{"e":[{"t":[{"s":7}]}]}],"p":[{"a":29,"i":[{"e":5}],"p":[{"a":10}],"r":105},28],"r":[{"a":[{"n":[{"d":[{"a":3}]}],"s":2}],"d":[{"a":0}],"g":[{"a":[{"a":0,"r":0}],"o":0}]}],"s":[{"a":0},15],"t":[{"ü":36}],"u":[{"d":[{"e":12}]}],"v":54,"õ":[{"p":8,"r":[{"e":[{"l":0},7]}],"t":[{"a":0}]}]}],"ö":[{"a":10,"b":14,"d":[{"e":[{"e":106}],"i":[{"k":2}]},14],"e":[{"l":[{"d":27}],"p":2,"t":[{"r":2}]}],"g":54,"h":14,"i":[{"a":0,"g":0,"s":0}],"j":14,"k":[{"o":[{"n":[{"o":27},28]}],"v":0},14],"l":[{"i":[{"s":[{"a":9},13]}]},14],"m":14,"o":10,"p":[{"a":[{"u":89}],"l":[{"u":0}]}],"r":[{"a":[{"a":17,"u":17}],"d":[{"a":0,"e":[{"l":[{"l":0}]}]}],"e":0,"i":[{"l":36}],"o":36,"ä":17,"ü":[{"l":17}]}],"s":[{"t":[{"i":[{"i":0}]}]}],"t":[{"o":36,"ü":36}],"v":14,"õ":29,"ö":[{"a":4,"e":39,"i":8,"l":[{"a":[{"n":27}]}],"o":4,"t":[{"r":2}]}],"ü":0}],"ä":[{"a":0,"b":[{"u":[{"s":9,"t":7}]},14],"d":14,"e":[{"a":39,"o":18}],"g":[{"a":[{"r":[{"i":2}]}]},14],"h":[{"e":[{"a":5}]}],"i":[{"d":[{"i":[{"s":7}]}],"k":[{"e":12}],"l":[{"o":0,"u":0}],"s":[{"a":7,"õ":0},10],"t":[{"a":[{"r":0}]}]}],"j":29,"k":[{"e":[{".":27,"r":19},28],"õ":17}],"l":[{"i":[{"s":13}],"k":[{"o":0}]}],"m":[{"b":[{"l":16}]}],"n":[{"a":[{"h":17}],"d":[{"e":[{"o":0}]}],"e":[{"t":7}],"t":[{"o":22}]}],"o":[{"k":2}],"r":[{"a":[{"a":107,"o":20,"r":17}],"e":[{"l":[{"i":[{"s":2}]}],"t":7}],"g":[{"e":[{"l":7}]}],"i":[{"i":7,"k":[{"l":2}],"s":[{"e":[{"l":2}],"t":[{"e":17}]}]}],"k":[{"a":[{"r":0}]}],"o":17,"r":[{"i":[{"t":16}]}],"t":[{"a":0}],"v":[{"a":10}],"õ":17}],"s":[{"k":[{"o":0}],"n":[{"a":[{"i":0}]}],"p":0,"s":[{"a":[{"n":0}],"o":0}]}],"t":[{"r":[{"i":0}]}],"u":[{"d":0}],"v":[{"e":[{"e":7}]},14],"ä":[{"k":[{"i":[{"n":0}]}],"o":2,"r":[{"a":[{"s":[{"e":0}]}],"i":[{"s":[{".":16}]}]}]}]}],"ü":[{"a":[{"a":2}],"b":14,"d":[{"a":[{"m":[{"e":1}]}]}],"g":14,"h":[{"e":[{"i":59,"n":31}],"i":[{"k":[{".":27}],"t":29}]},28],"j":14,"k":[{"a":[{"n":7}],"k":[{"a":[{"s":0}]}],"l":4}],"l":[{"d":[{"a":72},10],"e":[{"k":27,"l":19,"m":[{"a":[{"s":2}]}],"s":[{"ä":11},31]},28],"g":[{"a":[{"v":0}],"e":[{"e":0}]}],"i":[{"h":17,"i":7,"k":[{"o":27}],"õ":17}],"k":[{"l":8}],"l":[{"a":8}],"m":[{"e":[{"i":0}]}],"o":[{"r":2}],"p":2,"t":2}],"m":[{"a":[{"r":[{"a":[{"k":2}],"u":2}]}],"i":[{"k":[{"o":2}]}]}],"n":[{"e":19,"i":[{"s":2}]}],"o":[{"t":2}],"p":[{"l":4,"p":68,"r":4,"s":[{"u":7}]}],"r":[{"d":2,"i":[{"k":7}]}],"s":[{"o":0,"p":[{"r":0}],"t":[{"a":[{"l":0,"s":0}]}]}],"t":[{"a":[{"r":2}],"e":[{"e":[{"l":7}]}],"l":[{"e":[{"v":16}]}],"r":[{"u":0},108]}],"v":14,"ü":[{"l":[{"a":109,"e":0,"o":0}],"p":[{"e":0}]},17]}],"ž":[{"a":31,"b":15,"e":[{"e":16,"r":16},31],"f":15,"i":31,"j":15,"k":15,"l":15,"m":15,"n":15,"o":27,"p":15,"t":15,"ö":16,"ü":16,"ž":30}],"š":[{"a":[{"k":15,"u":15},27],"e":31,"i":[{"s":[{"k":2}]},34],"k":15,"o":16,"t":15,"u":110}]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/9125.adapter.js b/public/tools/cloud_sheets/vendor/univer/9125.adapter.js new file mode 100644 index 0000000..7ec7595 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/9125.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[9125],{9125(e,r,a){a.r(r),a.d(r,{DeCh1901:()=>s});const s=["001,003,0002,0032,0003,002,004,005,0000065,0001,00004,0004,0043,000006,00042,000003,0034,0056,000004,0065,0021,00002,006,00003,0006,00043,000656,00008,00021,008,0012,00402,00000078,0005,00202,00032,0041,004304,0023,007,0000006,004004,00065,0052,00001,00404,000808,00008708,0008,000005,00005,000008,00006,00304,000065,0000087,000000008,000007,0000008,00000008,00087,008007,00034,0000506,000404,000087,01,012,02,22,1,00041,23,2,3,032,202,03,00102,4,12,023,303,32,04,1032,00022,101,02012,0403,21,2003,02002,4003,00012,4001,0000003,0000004,43223,021,000002,03001,40002,203,2002,2021,211,0024,3402,0202,0212,041,014,0078,02102,00232,000043,0014,00301,0434,0054,034,30003,00212,00204,201,43,52,043,02104,343,0214,000001,00303,00007,004305,234,00241,00052,000212,05,054,121,3032,3214,103,34,20002,20004,00214,0103,212,223,0303,2001,20032,02004,02003,2004,000041,00000606,232,00023,000021,04003,0600006,0232,0022,042,0203,06,03043,00203,324,405,2012,5,002121,00434,2043,00074,2023,4032,00342,0234,00014,0044,2032,000074,000032,0025,41,0402,254,402,0000043,1004,323,02032,000304,004034,3202,3002,000202,250004,452,000034,214,024,24,0000304,65,00343,000403,00605,006005,45,321,302,00323,0102,022,403,6,00302,4012,2034,4024,42,3022,122,14,0204,01032,000078,01002,432,2302,414,412,0000007,4304,4004,54,216,0000005,000052,000401,25,03002,0302,2121,004003,020002,03034,0007,000201,0605,000241,0008708,40321,4002,1023,00024,0421,006006,000506,0304,00234,06506,04004,00000005,0045,300004,04323,10004,401,0404,04002,0121,0324,00044,08,000301,2404,00121,000412,0432,040004,0000606,0412,00000007,00101,2105,2125,00201,2103,305,301,6006,000323,00403,000434,0004005,434,1402,0101,00000006,2123,00414,0000303,00432,000045,0004303,20023,0201,2102,00006006,031,052,056,0060506,3003,00056,03032,000302,0506,000023,000205,06304,02001,0122,20012,204,06006,03021,065,02163,002102,0004004,030004,0321,03212,04304,0306,1202,00063,00061,0221,00412,03214,03004,000605,0006006,02142,000343,02302,033,0036,03041,040034,030034,20421,087,00025,000321,0000034,00321,00054,000402,000124,00322,21004,04023,00000065,000076,3004,56,000014,001021,02024,21002,0323,4023,1022,102,0004306,002012,4021,000042,2124,0042,000303,2144,30034,3012,3023,0006506,322,02324,002002,404,43002,200002,52032,20034,4102,21203,41002,000204,30303,632,004021,00036,025,0000000008,00103,000056,010034,23001,004005,000102,0063,002032,04102,222,000044,1223,06005,1002,30004,004001,3034,10052,00221,20001,1001,7,341,3014,34032,30002,02321,2006,01034,000000087,00045,3021,0414,61,00104,00405,63,400305,60004,3403,634,501,30032,01011,2304,72,3204,506,32032,3203,21003,000054,000024,3005,000606,03003,236,0004003,40004,10001,045,000101,0502,030002,0343,002305,0503,000232,0004304,00401,0060006,10025,104,1021,1232,422,000432,4344,2104,02101",'{".":[{"a":[{"b":[{"a":0,"l":1,"o":[{"l":1,"r":0},2],"s":3,"u":1}],"d":[{"e":[{"n":4}]}],"e":1,"f":[{"t":2}],"g":[{"a":5,"r":6,"u":5}],"i":[{"s":5}],"k":[{"t":[{"a":2}]}],"l":[{"e":5,"k":1,"l":[{"e":[{"i":1,"n":7}]}],"s":[{"e":1}],"t":[{"e":[{"i":6,"l":6,"r":[{"s":8}]}],"s":9,"u":5}]}],"m":[{"p":[{"e":10}],"t":[{"s":[{"c":11},2]}]}],"n":[{"a":[{"c":9,"t":12}],"d":[{"e":[{"n":[{"k":13}]}],"r":[{"i":11}]},3],"e":[{"r":0}],"g":[{"l":[{"i":1}],"o":1,"s":[{"t":15},14]},2],"i":[{"s":2}],"k":16,"n":[{"a":1}],"s":[{"i":[{".":6}]},3],"t":[{"a":[{"r":6}]}],"z":3}],"o":[{"s":11}],"p":[{"p":[{"l":[{"e":[{".":17}]}]}]}],"r":[{"i":[{"e":9}],"k":[{"a":3}],"m":[{"a":[{"c":12}],"u":[{"n":6}]}],"s":[{"c":5}],"t":[{"a":[{"n":6}],"e":[{"i":12,"r":[{"h":19},18]}],"r":20}],"z":2}],"s":[{"t":5}],"t":[{"a":9,"h":5,"r":6}],"u":[{"d":1,"f":[{"s":21},12],"s":[{"t":[{"e":[{"s":22}]}]},20],"ß":2}],"x":5}],"ä":[{"m":1,"r":[{"s":[{"c":[{"h":[{"l":22}]}]}]}],"t":[{"h":5,"s":5}]}],"b":[{"a":[{"h":[{"n":[{"e":[{"r":24}]},23]}],"l":[{"t":4}],"u":[{"s":10}]}],"e":[{"e":[{"r":[{"b":1}]}],"i":[{"g":[{"e":18}]}],"l":[{"a":2}],"r":[{"a":3,"e":2,"g":[{"a":[{"s":13},25],"e":[{"b":26}],"r":25}],"t":[{"r":11}]}]}],"i":[{"o":[{"s":6}],"t":[{"a":9},5]}],"o":[{"g":[{"e":21}],"s":[{"k":12}]}],"u":[{"s":[{"e":[{"r":6}],"s":[{"y":18}]}],"t":[{"a":1}]}]}],"c":[{"e":[{"r":[{"a":5}]}],"h":[{"a":[{"r":[{"m":[{"e":[{"s":27}]}]}]}],"i":[{"e":[{"r":4}]}]},22]}],"d":[{"a":[{"b":11,"r":[{"i":[{"n":4}],"m":28},20],"t":[{"e":[{".":6,"s":6}]}]}],"e":[{"a":[{"l":5}],"i":[{"n":21},0],"m":[{"e":[{"n":[{"t":[{"s":29}]}]}]}],"n":[{"a":1,"k":[{"a":11,"l":11,"o":11}]}],"o":30,"r":[{"e":[{"n":16}]}],"s":[{"k":1}]}],"i":[{"e":[{"l":1,"n":[{"s":[{"t":[{"a":[{"d":32}]}]}]},31]}]}],"o":[{"b":1,"m":[{"o":5}],"p":[{"e":0}],"r":[{"f":28}],"t":[{"r":5}]}],"y":[{"s":4}]}],"e":[{"b":[{"e":[{"r":28}]}],"h":[{"e":[{"i":9,"n":33},5]}],"i":[{"e":3,"f":[{"e":3}],"k":1,"n":[{"a":6,"d":4,"e":[{"b":4,"r":[{"l":24}]},34],"s":[{"p":4},21]}],"s":[{"e":10,"p":5,"s":35,"t":36}],"t":[{"r":5}]}],"k":[{"e":2,"l":[{"i":1}]}],"l":[{"b":[{"i":5,"l":5}],"f":[{"e":[{"i":6}],"l":5}]}],"m":[{"m":3}],"n":[{"d":[{"a":6,"e":[{"r":37}],"r":38,"ü":6}],"g":[{"a":1,"l":5}],"k":2,"n":2,"t":[{"a":5,"e":[{"i":6}],"h":[{"a":[{"l":[{"p":39}]}]}],"i":[{"o":6}],"r":20,"s":21},4]},0],"p":[{"i":9,"p":1}],"r":[{"b":[{"e":[{"i":6}],"r":[{"e":[{"c":[{"h":[{"t":29}]}]}]}],"u":5}],"d":[{"a":[{"n":6}],"e":[{"n":[{"k":13}],"r":12}]}],"e":[{"c":4,"m":5},0],"f":11,"i":0,"s":[{"t":[{"e":[{"i":[{"n":29}],"r":[{"b":29},40]}],"r":[{"i":[{"t":[{"t":[{".":29,"e":[{"n":[{".":29}]}]}]}]}]}]}]},2],"t":2,"z":[{"e":[{"l":12,"n":41}]}]}],"s":[{"p":1,"s":[{"t":5}],"t":[{"a":21,"e":24,"r":4},5]}],"t":[{"s":5}],"u":[{"g":11,"r":11},1],"x":[{"t":11}]}],"f":[{"e":[{"l":[{"a":1}],"r":[{"n":[{"o":11}]}]}],"i":[{"d":16,"l":[{"e":[{".":6,"n":6}]}],"s":5}],"l":[{"u":[{"g":28}]}],"s":6,"u":[{"s":[{"c":5}]}]}],"g":[{"a":[{"m":[{"e":5}],"n":[{"g":[{"a":11,"s":18}]}],"s":[{"e":12,"t":[{"e":[{"n":22}]}],"u":6}],"t":5}],"d":5,"e":[{"b":[{"e":[{"a":10}],"l":2}],"l":[{"b":[{"r":25}],"d":28,"u":1}],"m":1,"n":[{"a":[{"r":7}],"e":16,"o":3,"t":[{"e":18}]}],"r":[{"a":16,"e":2,"o":1}],"s":3}],"l":[{"a":[{"n":[{"z":15},21],"s":[{"t":25}]}]}],"o":[{"l":[{"d":[{"e":[{"r":24}]}]}]}],"r":[{"i":[{"f":[{"f":[{"e":[{"s":27}]}]}]}]}],"u":[{"s":2}]}],"h":[{"a":[{"f":[{"t":[{"s":23}]}],"l":[{"l":[{"e":33}],"t":[{"e":10}]}],"u":[{"t":28}]}],"e":[{"b":[{"e":[{"i":6}]}],"f":[{"e":1}],"l":[{"e":1}],"r":[{"a":[{"n":12,"t":1}],"b":[{"r":[{"a":42}]}],"e":[{"r":1}],"i":[{"n":[{"n":19}]},1]}]},5],"i":[{"n":[{"u":4}]}],"o":[{"f":[{"e":[{"n":6}]},9],"m":[{"e":[{"t":6}]}]}],"ö":[{"c":[{"h":21}]}]}],"i":[{"a":5,"l":1,"m":[{"a":[{"g":[{"e":11}]},5],"m":43}],"n":[{"d":2,"g":[{"l":1}],"k":2,"n":[{"e":3}],"s":[{"k":1}],"t":3,"u":9},0],"o":[{"d":6,"n":[{"i":44}]}],"r":[{"e":4}],"s":[{"a":5}],"t":[{"h":5}],"v":5}],"j":[{"o":[{"n":[{"i":44}]}]}],"k":[{"a":[{"b":[{"l":38}],"i":5,"l":[{"a":2,"e":1}],"t":[{"a":3,"i":[{"o":45},4]}]}],"e":[{"n":[{"n":[{"u":[{"m":24}]}]}],"r":[{"s":4}]}],"i":[{"e":6}],"l":[{"a":[{"n":[{"g":15}]}]}],"o":[{"b":1,"p":[{"f":44}],"r":[{"d":[{"a":11}]}]}],"r":[{"a":[{"f":21}]}],"s":6,"u":[{"s":2}]}],"l":[{"a":[{"b":[{"e":1}],"n":[{"d":[{"e":[{"m":[{"i":46}]}]}]}]}],"e":[{"a":[{"r":6}],"g":[{"a":[{"s":6}]}],"n":[{"i":3}]}],"i":[{"c":[{"h":[{"t":[{"e":[{"r":[{"s":47}]}]}]}]}],"f":5,"p":[{"o":1}],"v":[{"e":[{".":6}]}]}],"o":[{"g":[{"i":[{"n":12}]}],"s":[{"c":5,"s":35}],"t":[{"r":5}],"v":[{"e":[{"r":1}]}]}],"u":[{"s":[{"t":[{"e":[{"r":40}],"r":6}]},2],"t":[{"h":2}]}],"y":[{"s":38}]}],"m":[{"a":[{"d":1,"g":[{"e":1}],"l":[{"e":11}],"s":[{"t":[{"r":6}]}],"t":[{"c":11,"u":23}]}],"d":5,"e":[{"l":[{"a":2}],"n":[{"e":1,"o":1,"s":[{"c":[{"h":[{"l":48,"w":48}]}]}]}],"s":[{"s":[{"p":11}]}]}],"i":[{"f":5,"k":11,"l":[{"z":28}],"t":20}],"m":5}],"n":[{"a":[{"n":[{"o":1}],"t":1}],"ä":[{"s":[{"c":9}]}],"e":[{"b":[{"e":[{"n":10}]}],"r":[{"f":2,"o":0}]}],"i":[{"c":[{"h":[{"t":[{"e":49}]},21]}],"e":5,"k":[{"l":16}]}],"o":[{"c":5,"s":5,"t":[{"h":5}]}],"u":[{"l":2,"s":2}]}],"o":[{"a":[{"s":7}],"b":[{"a":0,"e":[{"r":[{"e":[{"i":50}]}]},2],"i":[{"t":3}]}],"c":[{"h":4}],"f":[{"e":5}],"h":[{"r":[{"s":33}]}],"p":[{"e":[{"r":10}]}],"r":[{"a":5,"d":[{"e":11}],"g":1,"k":3,"t":[{"s":[{"e":23}]},2]}],"s":[{"s":1,"t":[{"a":10,"e":[{"n":[{"d":[{"e":51},33]}],"r":[{"e":52}]},21],"i":4,"r":4}]}],"t":[{"a":0}],"u":[{"t":5}],"z":[{"o":11}]}],"ö":[{"l":[{"l":1}]}],"p":[{"a":[{"b":11,"r":[{"t":[{"h":10}]}]}],"e":[{"c":5,"l":[{"a":1,"e":1}],"n":[{"a":1}],"s":[{"t":[{"e":6}]}]}],"f":6,"h":6,"o":[{"k":[{"a":21}],"s":[{"t":[{"e":[{"i":[{"g":29},40]}],"o":6,"r":6}]}]}],"s":5}],"r":[{"a":[{"b":[{"e":10}],"c":[{"h":[{"e":53}]}],"m":[{"e":1}],"u":[{"m":2,"s":[{"c":[{"h":[{"l":48}]}]}]}]}],"ä":[{"u":[{"s":[{"c":4}]}]}],"e":[{"a":[{"l":[{"e":1}]}],"b":[{"s":21}],"c":[{"h":[{"a":1}]}],"i":[{"n":[{"s":[{"z":7}]}],"s":[{"e":[{"i":54}],"t":[{"r":24}]}]}],"s":[{"t":[{"u":6},2]}]}],"i":[{"a":[{"s":6}],"c":[{"h":[{"t":[{"e":13}]}]}],"f":6}],"o":[{"a":6,"b":[{"e":1}],"e":5,"h":[{"a":5}],"m":[{"a":11},1],"t":[{"r":38,"u":1}]}],"ö":[{"s":[{"c":5}]}],"u":[{"f":[{"s":4}],"h":[{"r":28}],"n":[{"d":[{"e":[{"r":40}]}]}]}],"ü":[{"b":0,"c":[{"k":[{"e":[{"r":40}]}]}]}]}],"s":[{"a":[{"b":[{"r":1}],"l":[{"i":[{"e":23},44]}],"m":[{"i":44}],"u":[{"c":9,"e":[{"r":[{".":33},11]}]}]}],"c":[{"h":[{"a":[{"f":[{"t":[{"e":[{"n":[{"d":55}]}]}]}]}],"e":[{"i":[{"n":[{"e":[{"r":56}]}]}]}]},11]}],"e":[{"e":[{"i":[{"n":18}]},5],"h":[{"a":5}],"i":[{"n":21}],"n":[{"f":11,"s":4}],"r":[{"e":1,"o":0}],"t":20}],"h":[{"a":2}],"i":[{"e":[{"n":6}],"g":[{"n":1}],"n":[{"i":23}],"t":[{"e":5}]}],"k":[{"i":[{"e":9}]}],"o":[{"u":[{"r":21}]}],"p":[{"a":[{"n":[{"i":[{"e":[{"r":[{".":57}]}]}]}]}],"i":[{"e":[{"g":[{"e":[{"l":[{"e":[{"i":58}]}]}]}]}]}]}],"t":[{"a":[{"u":[{"b":[{"e":[{"c":[{"k":[{"e":[{"n":[{".":27}]}]}]}]}]}]}]}],"e":[{"i":[{"n":[{"e":[{"r":[{"k":59}]}]}]},2]}],"o":[{"r":[{"e":11}]}],"r":[{"o":[{"m":[{"a":52}]}]}]},6],"u":[{"c":[{"h":[{"e":[{"r":40}]}]}]}],"y":[{"s":7}]}],"t":[{"a":[{"g":[{"e":[{"s":10}]}],"m":[{"i":1}],"n":[{"k":[{"a":25,"l":25}]}],"r":[{"a":1,"t":35}],"t":[{"h":20,"o":[{"r":6},5],"u":20}]}],"e":[{"e":5,"f":5,"h":[{"e":23}],"i":[{"l":[{"e":[{"r":[{"s":[{"c":60},58]}]}]}]}],"l":[{"e":1}],"n":[{"o":1}],"r":[{"a":0}],"s":[{"t":[{"e":[{"i":22,"l":22}],"r":23},11]}]}],"h":6,"i":[{"a":5,"e":5,"m":[{"e":[{"s":6},5]}],"r":1,"s":[{"c":[{"h":[{"e":[{"n":[{"d":61},59]}]}]}]},5],"t":[{"e":10}]}],"o":[{"d":[{"e":[{"r":6,"s":15},21]}],"n":[{"a":[{"t":6}],"e":[{"s":1}],"i":[{"n":6},4],"s":21},5],"p":[{"l":6,"r":5}],"w":5}],"r":[{"i":[{"e":[{"s":62}]}]}],"s":[{"e":4},6],"u":[{"r":[{"a":1,"i":1,"m":[{"a":11},44]}]}]}],"u":[{"b":5,"f":[{"e":[{"r":23},2]}],"l":[{"b":38}],"m":[{"e":2,"o":2,"s":2},1],"n":[{"a":3,"d":1,"e":11,"g":3,"i":[{"t":2}]}],"r":[{"a":[{"d":3,"l":10,"n":[{"f":[{"a":52}]}]}],"c":0,"e":0,"i":[{"n":[{"f":6}]}],"o":[{"m":16,"p":30}],"s":3}],"t":[{"a":5,"r":1}]}],"v":[{"e":[{"n":[{"e":43}]}],"o":[{"l":2,"r":6}]}],"w":[{"a":[{"h":[{"l":11}],"s":5}],"e":[{"g":[{"s":33}],"i":[{"n":[{"e":18}],"t":[{"a":11}]}],"l":[{"t":[{"e":[{"r":[{"e":58,"k":58}]}]}]}],"r":[{"k":[{"e":[{"r":24}],"r":11}],"t":[{"r":11}]}],"t":[{"t":[{"e":[{"r":[{"e":[{"r":56}]}]}]}]}]}],"i":[{"e":6}],"o":[{"r":[{"t":[{"e":[{"n":63}]}]},2]}],"u":[{"r":[{"f":28}]}]}],"x":[{"e":1}],"y":[{"a":[{"l":6}]}],"z":[{"e":[{"i":[{"t":[{"s":23}]}],"l":[{"l":[{"a":64,"e":[{"i":24},18],"i":11}]}],"u":[{"g":[{"i":10}]}]}],"i":[{"e":[{"l":[{"u":25}]},5],"n":[{"k":[{"a":11}],"s":[{"c":25,"t":11}]}]}],"o":[{"l":2}],"u":[{"c":[{"h":21}],"g":[{"l":4,"r":[{"a":6}]}],"p":[{"f":5}]}],"w":[{"e":[{"i":[{"g":[{"e":[{"n":[{"d":65},59]}]}]}]}]}]}]}],"a":[{"a":[{"b":[{"e":5},66],"c":[{"e":67},0],"g":[{"r":5}],"k":[{"t":66}],"n":[{"s":68},67],"q":66,"r":[{"a":38,"b":4,"d":4,"e":[{"a":1,"i":5}],"f":10,"g":35,"k":62,"t":10},69],"s":[{"t":9},70],"t":[{"h":5,"r":38,"s":71}],"u":72}],"ä":66,"b":[{"a":[{"d":74,"i":[{"s":18}],"l":[{"t":0}],"m":75,"n":[{"t":5}],"u":[{"t":5},0]},73],"ä":[{"r":5,"u":5},0],"b":[{"a":[{"t":73}],"i":[{"n":73}]}],"d":70,"e":[{".":72,"c":72,"e":73,"i":[{"c":0,"d":62,"l":0,"n":0}],"l":[{"a":[{"d":18},2],"e":2},76],"n":[{".":73,"t":70}],"r":[{"d":68,"i":77,"k":78,"r":78,"z":78},73],"s":[{"e":28,"s":[{"e":1}],"t":21},79],"ß":0,"t":73,"w":73}],"f":70,"g":[{"a":74},70],"h":70,"i":[{"l":79,"n":[{"s":0}],"r":0,"t":0},73],"k":70,"l":[{"a":[{"t":77},80],"ä":80,"e":[{"d":81,"i":82,"m":77,"t":73}],"i":[{"n":68,"t":6},1],"o":73,"ö":80,"u":68},0],"n":70,"o":[{".":83,"f":5,"n":83,"t":79},73],"ö":73,"r":[{"ä":84,"e":68,"o":[{"s":6}],"ö":73},1],"s":[{"c":70,"p":85,"t":[{"u":70},86]},84],"t":[{"e":[{"i":70}],"r":74}],"u":[{"g":62,"m":68,"r":0},73],"ü":73,"w":70,"y":73,"z":74},66],"c":[{".":73,"a":72,"c":[{"i":73},87],"e":[{"m":66,"n":66,"t":66},9],"h":[{"a":[{"l":66,"r":[{"i":77}],"s":4,"u":4},9],"b":73,"e":[{"c":88,"i":[{".":11},9],"p":68,"r":[{"f":[{"a":33},84],"h":89,"l":89,"ö":84,"w":89}]},66],"f":73,"i":[{"m":68},90],"l":4,"m":91,"n":4,"o":[{".":77,"r":92},66],"ö":[{"f":4}],"r":93,"s":[{"c":73,"e":[{"l":10}],"i":35,"k":[{"r":4}],"o":[{"r":10}],"u":4}],"t":[{"a":[{"k":11}],"e":[{"r":[{"f":24,"s":[{"p":48}],"w":42}]}],"o":28,"r":[{"a":[{"t":50,"u":[{"m":48}]}],"ä":[{"u":[{"m":[{"e":[{".":48,"n":[{".":48}]}]}]}]}],"i":[{"t":24}]}],"s":[{"a":[{"l":54}]}],"u":[{"m":11}]},84],"u":[{"f":94},66],"ü":4,"v":73,"w":95,"y":68}],"i":66,"k":[{"m":[{"u":[{"s":96},18]}],"s":[{"p":2,"t":[{"a":97}]}]}],"l":90,"o":[{"n":[{"n":10}]},77],"u":73}],"ç":66,"d":[{".":73,"a":[{".":73,"b":[{"r":5},79],"g":5,"i":10,"n":0,"p":74,"r":98,"s":73,"t":73,"u":[{".":77},99]}],"ä":80,"c":0,"d":70,"e":[{".":73,"a":[{"l":2}],"c":77,"e":77,"f":[{"i":100}],"g":73,"l":[{"l":77}],"n":[{"a":[{"t":11},101]},79],"o":21,"r":[{"a":9,"k":99}],"s":[{"p":4,"s":10},102]}],"f":73,"h":79,"i":[{"e":[{"n":4,"r":[{".":4}],"s":[{"c":10}]}]},79],"j":74,"l":[{"i":73}],"m":[{"u":79}],"o":[{"b":5,"n":[{"a":11},2],"p":68}],"p":73,"q":73,"r":[{"e":[{"c":103,"i":1},68],"u":[{"n":1}]}],"s":[{"z":1},104],"t":[{"e":21,"o":[{"r":6}]},105],"v":70,"y":72},66],"e":[{"b":5,"c":68,"d":107,"i":5,"k":68,"l":[{".":77,"a":84,"e":84,"i":84,"s":77},68],"m":5,"o":[{"p":21},38],"p":5,"r":[{"o":108}],"s":[{"c":5},109],"t":[{"a":5}],"w":68,"x":5},106],"f":[{"a":[{"b":0,"n":110,"r":77,"u":99},73],"ä":[{"n":99},73],"e":[{"c":99,"n":[{"t":[{"l":84}]}],"p":111},73],"f":[{"a":11,"l":38,"t":[{"h":11}]}],"i":[{"k":[{"a":[{"n":[{"z":24}],"t":11}]}],"t":2},73],"l":[{"a":0,"u":112},103],"o":[{"c":81,"r":[{"d":68,"t":99}]},73],"r":[{"a":[{"u":1},73],"ä":1,"e":1,"o":73,"ö":1,"ü":6}],"s":[{"a":3,"h":1,"i":5,"p":5}],"t":[{"a":[{"t":1},20],"e":[{"i":5,"l":34,"r":[{"k":11}]}],"o":20,"ö":5,"r":[{"a":5,"e":[{"i":33}]},4],"u":[{"r":5}]}],"u":[{"r":81}],"ü":73}],"g":[{".":73,"a":[{"b":30,"d":30,"m":0,"r":0,"u":99},73],"d":[{"e":[{"l":5}],"r":5,"u":5}],"e":[{".":79,"l":[{"e":[{"i":25,"r":11}]}],"n":[{".":73,"e":[{"b":11}],"t":68}],"s":[{"a":[{"m":11}],"i":[{"n":25}],"o":11,"p":23,"s":[{"e":[{"n":52}]},50],"t":[{"i":25}]},73]}],"g":[{"r":74}],"i":[{"d":99,"m":68}],"l":[{"a":[{"n":6,"s":6}],"e":1,"ö":84},69],"m":73,"n":[{"a":[{"t":6}],"ä":84,"e":[{".":6}],"u":6},5],"o":[{"b":4}],"r":[{"a":[{"t":1}],"e":81,"i":[{"e":1,"n":1},68]}],"s":[{"a":[{"h":1,"m":6}],"e":[{"i":[{"d":16}]}],"p":[{"o":[{"r":[{"t":[{"a":113}]}]}]},5],"t":[{"r":20}]},73],"t":[{"h":5},73],"u":[{"n":[{"d":68}]},73]},66],"h":[{".":73,"a":[{"n":5,"t":6},90],"ä":66,"e":[{"i":[{"n":9}],"r":[{"h":114}],"u":4},90],"i":[{"n":23},67],"l":[{"a":115,"ä":20,"e":[{"i":20,"l":5,"n":[{"a":10}],"r":[{"d":12,"h":12}]}],"o":94,"ö":5,"s":[{"z":4}]}],"m":[{"e":[{"i":44}],"u":1}],"n":[{"a":12,"ä":5,"e":[{"e":1,"f":5,"l":4,"r":[{"d":6,"e":18,"l":[{"e":13}],"n":18}]}],"i":[{"n":5}],"o":5}],"o":[{"r":80,"s":0}],"ö":[{"s":1}],"r":[{"a":9,"e":[{"n":[{"s":[{"c":13}]}],"s":116},3],"t":[{"i":2,"r":[{"i":11,"o":11}],"u":[{"n":11}]}]},79],"t":[{"a":5,"e":[{"l":34,"x":20}],"r":38,"s":9}],"u":66,"w":0,"y":66}],"i":[{".":73,"a":[{".":66},117],"b":[{"l":5},73],"d":[{"s":[{"t":44},11]}],"e":[{"n":118},117],"f":[{"r":0},11],"g":119,"k":[{".":77,"e":1}],"l":[{"a":[{"r":5}],"d":62,"e":[{"i":5}],"g":4,"o":5}],"n":[{"a":2,"d":66,"e":120,"s":[{"p":21},4]},79],"r":[{"b":74}],"s":[{"a":5,"c":[{"h":[{".":77,"w":7}]}],"e":3,"s":[{"e":[{".":11,"n":4}],"t":33}],"t":[{"i":5}]}],"t":11,"v":[{".":77,"l":77,"s":77}]}],"j":[{"a":[{"t":68}],"e":[{"k":[{"t":[{"o":18}]}]}]},66],"k":[{".":73,"a":[{".":73,"b":[{"r":10},91],"d":68,"l":73,"m":72,"n":73,"r":73,"t":[{"a":[{"k":11},44]},6],"z":70}],"ä":79,"b":73,"c":73,"d":73,"e":[{"f":68,"m":99,"n":[{"t":68}],"s":68,"t":5,"u":68},90],"i":[{"n":[{"s":0}]},90],"k":[{"u":70}],"l":[{"a":112,"i":6,"ö":74},103],"n":[{"a":66}],"o":73,"r":[{"e":[{"s":1}],"i":121,"o":122,"ü":1},90],"s":[{"h":1},73],"t":[{"a":[{"b":123,"g":6,"n":1}],"b":73,"e":[{"l":5,"n":1,"r":2}],"g":73,"i":[{"k":73,"s":73}],"m":73,"o":[{"b":124}],"ö":5,"r":[{"i":16},38],"s":[{"i":73,"p":73,"t":73}],"w":73}],"u":[{"n":73,"p":68,"r":73},66],"ü":73,"z":[{"e":74},70]}],"l":[{"a":[{".":73,"b":[{"o":73}],"f":0,"g":[{"e":0}],"i":73,"k":[{"r":0}],"m":0,"n":[{"a":0,"d":73,"g":68,"z":0}],"p":[{"p":0}],"r":[{".":77,"c":1,"e":77,"r":125,"t":68}],"s":[{"i":0,"s":0},2],"t":[{".":77,"m":6,"t":50,"z":23}],"u":[{"g":1},0]},66],"ä":[{"m":99,"n":0,"r":[{"m":0}],"u":0},66],"b":[{"a":[{"t":74}],"ä":[{"r":5}],"e":[{"r":[{"e":18,"h":6,"w":37}]}],"l":20,"o":[{"h":5,"n":5}],"r":[{"u":4}],"s":[{"t":33}]}],"d":[{"a":[{"n":6}],"ä":5,"e":[{"r":[{"l":12,"n":12}],"s":21}],"i":[{"n":[{"n":4}]}],"r":[{"a":5,"ä":5}],"s":21}],"e":[{".":126,"a":[{"r":11}],"b":110,"c":[{"k":0}],"f":111,"i":[{"c":75,"n":84},99],"l":99,"m":[{"a":127,"i":110}],"n":[{".":126,"d":[{"e":97,"r":1,"s":128}],"g":68,"n":5}],"p":[{"o":0},2],"r":[{".":79,"b":99,"e":21,"f":99,"h":114,"k":[{"l":10}],"l":81,"m":[{"i":10},0],"r":129,"s":5,"t":99,"w":[{"ä":130}]}],"s":[{"k":131,"s":68},79],"t":[{"h":84}],"u":99},73],"f":[{"r":11}],"g":[{"i":74,"l":[{"i":5,"o":1}],"o":[{"r":74},70],"r":11}],"i":[{"m":[{"b":5,"m":0}],"n":[{"a":[{"l":11}],"d":0,"g":[{"e":10}],"q":114,"s":0}]},73],"k":[{"e":[{"n":132}],"l":[{"ö":5}],"n":[{"e":5}],"o":[{"f":5,"h":70}],"s":35}],"l":[{"a":[{"b":5,"d":133,"m":[{"e":10}],"n":5,"r":123,"t":[{"e":[{"r":22}]}]}],"ä":[{"u":1},5],"e":[{".":1,"c":6,"e":74,"g":[{"i":10}],"h":6,"n":[{"d":1}],"r":[{"k":4,"z":18}],"s":[{"e":23},1],"u":5}],"i":[{"d":5,"e":[{"r":[{".":50,"s":[{".":134}]}]}]}],"o":[{"b":5,"c":34,"p":5,"s":34}],"ö":[{"s":[{"e":4}]},34],"u":[{"f":5,"s":10}],"ü":[{"s":124}]}],"m":[{"a":[{"p":5,"s":[{"t":12},1]}],"o":[{"d":[{"e":[{".":52}]}]}]}],"o":[{".":73,"b":99,"e":83,"f":99,"g":[{"a":2,"r":2},79],"n":[{"t":0}],"r":[{"t":0}],"s":73}],"ö":[{"s":5},99],"p":[{".":74,"e":[{".":74}],"h":[{"o":5},70]}],"r":[{"a":[{"t":18}]}],"s":[{"a":[{"k":1}],"c":[{"h":[{"e":[{"i":22}]}]}],"h":6,"k":[{"l":1}],"t":[{"u":5}],"u":[{"m":5}]}],"t":[{"a":[{"k":20,"l":[{"g":4}],"n":20,"t":5,"u":5}],"ä":70,"e":[{"i":[{"s":4}],"l":[{"t":4}],"m":[{"u":6}],"r":[{"f":135}],"u":5}],"i":[{"d":5,"n":5}],"o":[{"p":9}],"ö":5,"r":[{"a":[{"t":12}],"e":5,"i":38,"o":38}],"s":[{"t":[{"ü":11}]}]}],"u":[{"b":62,"f":38,"g":4,"k":30,"m":[{"b":0},68],"r":99,"s":77},66],"y":79,"z":[{"a":[{"r":5,"u":5}],"e":[{"n":1,"r":[{"k":11}]}],"w":5}]}],"m":[{"a":[{"b":[{"a":2}],"d":35,"g":4,"h":73,"l":[{"g":68}],"n":136,"r":73,"s":[{"t":[{"a":11}]}],"z":80},5],"ä":73,"e":[{".":79,"b":68,"l":73,"n":[{"s":[{"p":[{"r":54}]}]},137],"r":[{"a":[{"u":15},35],"f":99,"i":83,"u":138}],"s":[{"h":84},73],"t":72}],"f":73,"i":[{".":77,"e":77,"k":2,"r":72,"s":72,"t":73}],"k":73,"l":73,"m":[{".":73,"a":[{"b":5,"c":34,"l":73,"n":21,"r":5,"s":[{"c":10},5],"ß":5,"t":[{"e":45}]}],"e":[{"n":[{"g":[{"e":[{".":51}]}]}],"s":15}],"i":[{"d":5,"e":21,"n":5,"t":5}],"o":[{"d":31}],"ö":20,"u":[{"n":[{"t":4}],"s":6},21],"ü":6}],"n":[{"i":44}],"ö":68,"p":[{"e":[{".":73,"n":73}],"f":[{"a":139}],"l":[{"e":76}],"o":73,"r":1}],"s":[{"c":[{"h":[{"l":6}]},79],"e":70,"h":1}],"t":[{".":70,"a":123,"ä":20,"e":[{"i":[{"g":4},5],"l":5,"m":73,"r":[{"h":6,"n":12}],"x":20}],"i":[{"s":5,"t":5}],"o":[{"u":6},5],"ö":5,"r":38,"u":20,"v":73}],"u":[{"l":83},73]}],"n":[{"a":[{".":73,"b":73,"c":4,"d":[{"i":132},5],"g":5,"k":72,"l":[{"g":0,"i":[{"n":11}]}],"m":[{"a":38},73],"n":[{"d":6},73],"s":73,"t":[{".":140,"h":11,"m":141,"o":68,"r":2,"s":140}],"u":[{"g":1}]}],"ä":[{"s":142}],"b":[{"a":[{"s":73}],"ö":73,"u":73},70],"c":[{"h":1}],"d":[{".":73,"a":[{"c":143,"r":[{"m":4}]}],"e":[{"i":4,"n":[{"g":[{"a":13}],"t":12}],"r":[{"o":[{"b":33}]}],"s":21,"x":20}],"s":[{"a":[{"s":11}],"e":[{"h":11}],"o":2,"p":[{"a":[{"r":24,"s":24,"ß":42}]}],"u":2}],"u":[{"r":20},102]}],"e":[{"c":1,"e":77,"i":[{".":5,"f":1,"g":74,"s":84}],"k":144,"l":2,"m":[{"i":30,"o":68}],"r":[{"f":[{"a":10}],"g":77,"h":5,"k":[{"e":84}],"n":79,"z":[{".":84,"e":6}]}],"t":[{"h":0}],"x":74},73],"f":[{".":73,"a":[{"b":73}],"ä":74,"e":1,"i":73,"j":6,"l":[{"e":4}],"o":[{"r":[{"s":79}]}],"r":[{"a":[{"u":33}]}],"s":73,"u":3},70],"g":[{".":79,"a":[{".":73,"r":20,"s":73},70],"e":[{".":73,"b":70,"h":70,"i":20,"r":[{"f":12,"h":37,"w":37,"z":12}]}],"h":73,"i":[{"e":73}],"l":[{"a":5},9],"n":33,"r":[{"a":4,"i":145},9],"s":[{".":79,"t":[{"o":11}]}],"t":21}],"h":70,"i":[{"d":38,"e":[{"l":[{"s":4}],"r":[{"s":[{".":33}]}]},79],"g":21,"k":[{"e":4}],"m":146,"n":[{"d":84}],"o":[{"n":16},2],"s":[{"o":84,"t":21}]},72],"j":73,"k":[{".":73,"a":[{"b":5,"k":20,"n":5}],"e":[{"i":5,"n":103,"r":[{"f":[{"a":33}]}],"s":1}],"i":[{"d":5},73],"l":[{"ö":5,"u":5}],"n":[{"o":4}],"o":[{"p":[{"f":12}],"r":5}],"r":[{"a":[{"s":6},4],"ä":4,"o":5},9],"s":[{"e":4},147],"t":148,"ü":74}],"l":[{"a":[{"d":73,"g":74}]},70],"m":[{"o":73,"u":70}],"n":[{".":73,"a":[{"h":70,"r":5}],"e":[{"f":6,"i":6,"n":[{"e":6}],"r":2},1],"s":[{"p":25},73],"t":73}],"o":[{".":73,"d":87,"f":73,"g":73,"l":[{"a":2},72],"m":[{".":77},80],"o":73,"r":[{"i":2},99],"s":72}],"ö":90,"p":[{"u":73}],"r":[{"ö":73},70],"s":[{"a":[{"m":[{"e":6}],"r":16}],"ä":85,"c":70,"k":[{"r":1}],"p":[{"a":9,"o":[{"n":4}],"r":70}],"t":70,"z":3}],"t":[{".":73,"a":[{"r":[{"e":10},4]}],"ä":3,"á":70,"e":[{"i":74}],"h":[{"a":1}],"i":[{"e":73,"s":[{"e":74}]}],"o":[{"n":100}],"r":[{"i":[{"n":4}]},74],"w":70}],"u":[{"r":4,"s":4},73],"ü":66,"w":[{"i":73},70],"z":[{"ä":5,"b":73,"d":73,"e":[{"i":70,"l":[{"f":4}],"n":21,"s":73}],"g":73,"h":73,"i":[{"d":21,"n":149}],"k":73,"m":73,"r":73,"s":73,"t":73,"ü":[{"n":74},70],"v":73,"w":[{"i":5},73],"y":73}]}],"o":[{"f":11,"i":16,"p":[{"f":10},66],"r":66,"s":[{"t":21},150],"t":[{".":77,"s":16}]},73],"ö":151,"p":[{".":79,"a":[{"b":4},6],"e":[{".":68,"l":77}],"é":68,"f":[{"a":5,"e":[{"l":70,"s":73}],"l":77},68],"h":[{"t":68}],"i":73,"l":[{"a":6,"ä":77,"e":1,"i":1},73],"n":5,"o":[{"s":83,"t":68}],"p":[{"r":[{"o":70}]}],"r":73,"s":[{"o":5,"t":[{"e":[{"r":6}]}]}],"t":3,"u":72},66],"r":[{".":73,"a":[{".":77,"b":[{"b":103,"f":1,"t":1},5],"d":[{"r":1},35],"g":[{"e":4}],"l":[{"e":77,"i":153,"o":77},152],"n":[{"g":99,"z":99},73],"p":[{"p":128},73],"r":69,"s":[{"y":5}],"t":79,"u":99},66],"ä":[{"s":0},66],"b":[{".":73,"a":[{"k":5,"t":38,"u":5},73],"e":[{"f":79,"i":[{"n":12}],"k":73,"n":73,"r":73}],"i":79,"l":76,"o":73,"r":154,"s":[{"e":4,"k":4,"o":4},147],"t":155,"u":73},70],"c":[{"h":[{"l":73,"r":73}]},87],"d":[{"a":[{"u":5}],"e":[{"i":10}],"o":[{"p":5}],"r":38,"u":5}],"e":[{".":73,"a":[{"l":[{"e":[{"r":33}]}]},68],"b":156,"e":21,"f":[{"f":0}],"h":[{"r":0},68],"i":[{".":77,"d":0,"e":77,"h":77,"m":15,"n":[{"b":18,"s":18,"t":18},68]},73],"l":[{"e":68}],"m":79,"n":[{".":79,"s":[{"e":[{"m":52}]}]}],"r":[{"a":35,"e":[{"i":128},21],"g":68,"h":157,"i":68,"k":68,"l":68,"t":68,"w":5}],"s":73,"t":5,"u":4,"v":68}],"f":[{"r":[{"a":4},9],"s":[{"p":2}]}],"g":[{".":79,"a":[{"n":1}],"l":5,"n":6,"o":158,"r":16}],"h":73,"i":[{"a":5,"d":68,"e":[{"n":35,"r":[{"d":4,"g":4}]}],"n":[{"i":[{"t":23}],"t":0}],"o":121,"r":5,"s":[{"u":2},6],"u":77},73],"k":[{"a":[{"l":5,"r":20,"u":[{"e":4}]}],"e":[{"r":100}],"i":[{"l":5}],"l":[{"a":[{"g":6}],"e":5,"o":5,"ö":11},91],"o":[{"a":5,"r":5}],"s":[{"a":35,"e":2,"h":[{"e":4}]}],"u":21}],"l":[{"e":[{"s":5}]}],"m":[{"a":[{"d":1,"u":9}],"ä":3,"e":[{"g":20,"i":20}],"o":[{"r":2}],"u":[{"m":5}],"ü":79}],"n":[{"a":[{"n":5}],"e":[{"l":2}],"i":1},79],"o":[{"b":21,"c":79,"d":30,"f":[{"e":2},0],"l":72,"m":4,"p":99,"r":68,"u":80},66],"ö":131,"p":73,"r":[{"a":[{"c":9,"d":38,"s":20}],"e":[{"k":6,"n":159}],"h":5,"i":73,"o":[{"r":38}]}],"s":[{"h":3,"i":3,"k":[{"a":[{"t":11},4]}]}],"t":[{"a":[{"u":5}],"b":73,"e":[{"i":73,"l":[{"l":[{"i":160}]}],"x":73},3],"i":2,"o":73,"r":[{"e":[{"s":11}],"i":5},4],"s":[{"k":[{"e":4}]},73],"u":[{"c":73}],"y":73}],"u":[{"h":99,"m":[{"m":77},0]},73],"ü":68,"v":73,"w":[{"a":21}],"y":161,"z":[{"a":[{"u":5},73],"ä":5,"e":73,"i":73,"ö":5,"t":[{"r":162},70],"u":73,"w":20}]}],"s":[{"a":[{"a":128,"d":5,"f":81,"g":77,"l":[{"t":163},75],"m":0,"r":[{"t":1}],"s":2,"t":1,"u":[{"f":10,"g":128,"s":163}]},73],"ä":[{"t":1}],"c":[{"a":68,"h":[{"e":[{"c":84,"f":84,"i":164,"r":[{"g":165}]}],"i":6,"m":68,"t":73,"u":[{"m":84},77]}]}],"d":73,"e":[{"b":84,"c":84,"f":111,"i":[{"e":0}],"n":[{".":140,"a":11,"o":25,"s":[{"e":[{"m":52}]},100],"t":0}],"r":[{"d":6,"e":2,"g":[{"e":[{"b":52}]}],"k":[{"e":128}]},5],"s":6,"t":[{"a":0},2],"x":84},126],"f":73,"h":[{"i":[{"r":1},75]},73],"i":[{"g":73,"k":166,"m":73,"n":[{"g":21,"n":0}],"s":73}],"k":[{"u":1}],"o":[{"b":1,"f":0,"l":77,"m":77,"p":2,"r":0,"z":84},90],"p":[{"e":[{"k":[{"t":[{"o":13}]}]}],"h":5,"i":[{"k":1,"o":1,"r":68},5],"r":[{"a":5},73]},0],"s":[{"a":[{"b":162,"u":[{"s":[{".":24}]}]},1],"e":[{"i":[{"n":4}],"l":[{"e":23}]},2],"i":3,"k":[{"i":1}],"o":1,"p":[{"o":5,"r":5}],"t":[{"a":7,"e":[{"i":7}],"r":7,"u":7},6]}],"t":[{"a":[{"b":68},73],"ä":77,"e":[{"c":111,"e":5,"l":2,"m":[{"p":84}],"p":111,"r":167,"s":[{"e":89}],"x":5}],"h":168,"i":[{"d":2}],"o":[{"c":68,"r":[{"c":4}]},5],"r":[{"a":[{"u":6}],"e":[{"n":11},169],"i":[{"t":[{"t":170}]}],"o":[{"l":[{"l":33},84]},77]}],"u":[{"b":111,"f":84,"m":68}]}],"u":[{"r":5,"s":171},90],"w":[{"a":[{"s":21}]}],"y":[{"l":74,"s":73},70]}],"ß":[{"e":[{"n":172,"r":99},11],"t":[{"h":5}]}],"t":[{"a":[{"b":[{"e":0,"r":0}],"f":20,"g":[{"o":5},153],"h":77,"l":[{"a":4}],"m":77,"n":[{"g":0,"k":1}],"p":[{"f":0}],"s":[{"t":5}],"t":[{"t":1}],"u":99},79],"ä":[{"n":0}],"b":79,"c":5,"e":[{"b":68,"i":[{"e":[{"n":[{"d":40}]}],"g":0}],"l":[{"i":83,"l":77}],"m":[{"g":74}],"n":[{"a":11,"s":18},5],"p":68,"r":[{"a":[{"l":62,"n":4}],"e":6,"n":100,"u":2},79],"u":5,"w":68}],"h":[{"a":[{"g":1,"l":1},79],"e":[{"b":75}],"i":[{"n":[{".":4}]}],"l":74,"r":84,"u":5,"ü":1}],"i":[{"k":[{"a":[{"b":11}],"e":[{"r":[{"w":42}]}]}],"n":[{"f":84}],"s":[{"a":2,"e":2,"o":84,"s":23},5],"v":[{"e":[{"r":[{"f":42}]}]}]},126],"l":[{"a":74,"i":79}],"m":[{"a":79,"ä":79,"u":[{"s":79},1]},74],"o":[{"b":99,"d":77,"g":77,"l":77,"m":[{"e":44,"o":2},173],"p":0,"r":[{"t":0},77],"s":153}],"r":[{"a":[{".":77,"t":21,"u":81}],"ä":81,"e":1,"i":[{"n":1}],"o":[{"m":1,"n":121,"t":1}],"ü":1}],"s":[{"a":5,"c":[{"h":[{"n":6}]}],"e":[{"h":94},5],"i":[{"n":9},5],"o":20,"p":9,"t":[{"ä":[{"t":4}]}]}],"t":[{"a":[{"c":74,"d":6,"g":34,"k":36,"l":34,"n":[{"g":6}],"r":6,"u":6},1],"ä":5,"e":[{".":79,"c":5,"i":5,"l":3,"m":[{"p":6}],"r":174,"s":100}],"h":[{"ä":1}],"o":[{"b":5},79],"r":[{"ä":38}],"s":35,"u":3,"y":[{"p":6},34]}],"u":[{"n":2},79],"z":[{"e":[{"l":[{"a":4,"t":4},10],"m":5,"r":[{"e":77},20]}],"i":20,"t":35,"w":20}]},90],"u":[{".":73,"a":175,"b":[{"a":[{"b":5,"n":5,"u":20}],"e":[{"i":5,"n":10,"u":5}],"l":[{"ä":5,"i":5,"o":5,"u":5}],"s":[{"i":2}]},73],"c":73,"d":[{"r":5}],"e":[{"b":2,"r":[{"e":[{"i":4},5],"ö":23,"s":[{"t":[{".":7}]}],"t":1}]},73],"f":[{"a":[{"k":9,"n":9},5],"b":[{"e":[{"r":74}]}],"e":[{".":73,"h":73,"n":[{".":79,"t":74}],"r":[{"k":41},9],"u":5}],"f":10,"i":[{"n":[{"d":4}]}],"l":[{"a":70}],"n":70,"o":73,"s":[{"k":[{"i":4}]}],"t":[{".":73},35],"z":[{"e":[{"i":[{"c":176}]}],"u":[{"g":74}],"ü":70}]}],"g":[{"a":[{"r":3},5],"e":[{"b":79,"h":79,"l":79,"r":2}],"l":79,"r":79,"u":1},73],"h":[{"a":1,"u":9},73],"i":[{"s":5},125],"j":79,"k":[{"t":4}],"l":[{"e":[{"s":21}],"l":[{"e":[{"s":11}]}],"ü":1}],"m":[{"a":[{"l":5}],"e":[{"n":[{"t":12},10],"r":[{"i":4},177]}],"i":[{"d":20,"l":6,"t":6}],"o":[{"r":21},20],"p":35,"s":35,"u":[{"n":6}]},73],"n":[{"a":3,"e":[{"i":12},2],"i":[{"o":5}],"o":5,"u":1,"z":84},79],"p":104,"r":[{"h":0},104],"s":[{"a":[{"h":20,"n":[{"n":[{"e":[{".":51}]}]}],"s":5,"u":5}],"c":[{"h":[{"m":[{"i":22}]}]},73],"d":70,"e":[{".":73,"h":20,"n":103,"r":[{"b":12,"f":6,"k":12,"p":4,"w":6}]}],"g":70,"i":[{"n":5,"s":6}],"l":70,"o":[{"r":9},5],"p":[{"r":5}],"r":70,"s":[{"a":[{"g":74}],"e":[{".":11}]},21],"t":[{"a":[{"u":4},34],"e":[{"c":6},73],"i":[{"e":4}],"o":21,"ö":5,"r":[{"i":4}]}],"ü":74,"w":70,"z":70}],"ß":[{"e":21}],"t":[{"a":[{"b":5}],"ä":[{"u":20}],"b":73,"e":[{"l":123,"n":[{".":1,"g":18}],"r":[{"h":12,"o":33}],"t":1}],"g":73,"h":[{"y":5}],"o":70,"r":[{"ö":5}],"s":73}],"u":73,"v":[{"e":10},73],"w":73,"x":73,"z":[{"w":2},73]},68],"ü":90,"v":[{"a":[{"n":[{"g":77}],"t":35},5],"e":[{"n":[{"e":[{"r":97}]}]}],"i":73,"r":81,"s":5},66],"w":[{"i":[{"e":4}],"r":68},90],"x":[{"a":[{"m":5,"n":[{"s":68}]}],"e":75,"i":[{"d":77,"o":68,"s":28}]},66],"y":[{"a":90,"e":[{"u":66}],"m":[{"a":21}],"o":[{"f":0}],"s":[{"i":44}],"t":1}],"z":[{"a":[{"d":153,"l":74},6],"i":75,"o":5,"u":75,"z":[{"e":[{"n":5}],"w":5}]},66]}],"ä":[{"a":66,"ä":70,"b":[{"l":81,"s":5,"t":[{"e":23}]},90],"c":[{"e":66,"h":[{"e":[{"e":44,"n":10},66],"i":66,"l":4,"r":68,"s":[{"a":11,"o":28,"p":2}],"t":[{"e":10}],"u":66}]}],"d":[{"a":68,"i":[{"a":99}],"r":68,"s":5,"t":[{"e":1}]},66],"e":[{"k":6,"u":77,"x":5},90],"f":[{"e":[{"n":11}],"f":[{"l":5}],"l":1,"r":[{"o":6},1],"s":5,"t":[{"s":11},2]}],"g":[{"a":99,"ä":80,"d":2,"e":[{"n":[{"e":10}],"r":[{"a":162}]}],"l":81,"n":5,"r":[{"a":6},81],"s":[{"t":[{"a":1,"r":1}]},5],"y":80},66],"h":[{"a":0,"e":[{"i":[{"n":0}],"r":[{"g":[{"e":[{"b":[{"n":27}]}]}],"t":23}]},90],"i":[{"n":0},66],"l":[{"a":9,"e":[{"b":[{"e":178}],"r":7},3]}],"m":79,"n":[{"a":1,"e":1,"l":70}],"r":[{"e":[{"l":5}],"i":1},73],"s":76,"t":73,"u":66,"w":0}],"i":[{"m":66,"s":[{".":77,"c":[{"h":[{".":77}]}],"k":77},68]},73],"j":66,"k":[{"a":[{"l":[{"a":2}]}],"l":[{"e":68,"i":6},1],"r":81},66],"l":[{"a":66,"b":[{"e":21,"l":6}],"k":[{"s":21},4],"l":[{"a":20}],"p":38,"s":[{"c":[{"h":[{"l":6}]}]}],"t":[{"e":[{"i":44},2]}],"u":66}],"m":[{"a":179,"e":[{"r":[{"s":21}]}],"i":[{"e":[{"n":4}]}],"l":73,"m":[{"a":34}],"o":[{"n":[{"i":[{"e":15}]}]}],"p":[{"f":[{"e":180}]},73],"s":5,"t":[{"e":[{"r":15},2]}]}],"n":[{".":73,"d":[{"r":5}],"e":[{"n":28},76],"f":[{"t":21},181],"g":[{"e":[{"r":[{"a":10}]},182],"l":[{"e":4},76],"r":5,"s":[{"e":4},21]}],"i":72,"k":[{"e":3,"l":38,"r":5}],"n":[{"e":183},73],"s":[{"a":36,"c":20,"e":2},73],"z":73}],"o":[{"n":66,"s":3}],"p":[{"a":66,"f":[{"e":[{"l":70}]}],"p":[{"l":5,"r":5}],"s":[{"c":20}]}],"q":70,"r":[{"a":[{"f":6},184],"ä":0,"b":[{"l":[{"e":38}]}],"c":0,"d":[{"e":[{"s":10}]},73],"e":[{"i":99,"l":110,"m":[{"i":0},2],"n":[{"e":68},2],"r":[{"h":68}],"s":5},73],"g":[{"e":1}],"i":[{"n":[{"d":99,"t":0}]}],"k":[{"e":1}],"m":[{"a":[{"r":[{"m":4}],"t":4}],"e":[{"e":44,"n":[{"t":4}]}]}],"n":[{"o":21}],"o":[{"b":0,"f":0,"p":0}],"ö":66,"r":[{"e":1}],"s":[{"e":[{"b":5,"h":5,"r":9},21],"i":5,"p":[{"u":1}]}],"t":[{"e":11,"h":5,"s":71},73],"ü":68,"z":[{"t":[{"e":4}],"u":5,"w":5},70]}],"s":[{"e":[{"g":4,"i":185,"r":[{"e":[{"f":33,"i":10,"n":11}],"i":21}]},161],"k":[{"r":75}],"o":66,"p":0,"s":[{"c":105,"e":[{"r":[{"k":[{"r":33}],"s":[{"a":33}],"w":4}]},2],"p":5,"t":36}],"t":[{"e":186,"h":70,"r":68}],"u":66}],"ß":[{"c":73,"e":[{"r":[{"k":0,"s":0}]}]},66],"t":[{"a":166,"e":[{"a":4,"e":9,"i":9,"l":35,"n":2,"o":21,"r":[{"b":[{"l":10}]}],"s":[{"e":4}],"t":5},72],"h":68,"i":[{"d":0},66],"o":[{"b":0},66],"r":1,"s":[{"a":[{"u":4},6],"ä":5,"c":[{"h":[{"l":6,"r":6}]}],"i":123,"l":4,"o":[{"r":9}],"p":9,"t":[{"e":4},36]}],"t":[{"e":[{"i":5,"n":10}],"r":5}],"u":66,"z":[{"e":[{"l":23}],"w":5}]}],"u":[{"b":[{"l":38,"r":5}],"c":0,"d":[{"e":[{"r":100},23]},1],"f":69,"g":[{"l":4},70],"l":73,"m":[{"a":5,"p":[{"f":18},4],"s":28},73],"n":[{"e":2,"u":1},69],"r":[{"e":44},187],"s":[{".":72,"c":[{"h":[{"i":6,"m":6,"ü":22}]},73],"e":[{"i":44},3],"g":77,"k":77,"n":77,"p":20,"s":[{"c":28}]}],"ß":70,"t":[{"e":2,"r":5}]}],"v":[{"i":68},66],"x":70,"z":[{"e":77},66]}],"â":[{"t":66}],"á":[{"n":66}],"b":[{"a":[{".":176,"a":68,"b":[{"a":75,"f":73,"g":73,"l":5,"r":5,"s":90}],"c":[{"h":[{"t":[{"e":188}]}],"k":[{"e":[{"r":23}],"s":189}]}],"d":[{"e":[{"i":44,"l":90},3],"l":90,"m":90,"r":67,"u":5}],"f":90,"h":[{"n":[{"e":[{"n":[{"e":24}]}]}]},74],"i":[{"d":4,"s":21}],"k":[{"a":5,"e":[{"r":20}],"i":20,"l":190,"r":38},68],"l":[{"a":[{"b":5,"k":20,"l":1,"u":5}],"e":[{"r":[{"k":12},100]}],"k":[{"a":10,"e":18}],"l":[{"a":[{"n":11}],"e":[{"b":18,"i":25,"r":[{"g":24,"k":52}]}],"i":[{"g":64}],"o":[{"k":64}],"ö":[{"s":15}]}]}],"m":[{"a":81,"e":5,"t":79},90],"n":[{"a":2,"d":[{"a":[{"l":11,"n":11,"r":11},44],"e":[{"n":[{"g":24}]}],"r":2},83],"e":3,"f":73,"g":[{"l":4},66],"k":[{"a":71,"e":[{"r":97}],"l":2,"n":2,"r":2,"u":2}],"l":73,"n":[{"a":66}],"o":2,"s":90,"t":66,"w":73,"z":66}],"r":[{"a":[{"b":38,"d":5,"s":[{"t":4}],"t":5}],"d":[{"e":4}],"e":[{"i":5,"n":3,"r":[{"e":[{"i":49}],"t":18}]}],"f":10,"s":74,"z":[{"w":4},66]}],"s":[{"a":3,"c":5,"i":2,"s":[{"a":11,"t":24}],"t":[{"r":5},11]},83],"ß":20,"t":[{"e":[{"n":[{"t":12}]}],"o":2}],"u":[{".":74,"b":4,"e":[{"r":[{"l":18,"s":18,"w":18}]}],"f":[{"a":4,"l":9,"r":9}],"g":35,"k":68,"r":4,"s":[{"k":35,"t":[{"a":4}]}]}],"x":67,"y":[{"o":0}]}],"ä":[{"c":[{"h":0},83],"d":83,"h":90,"l":68,"r":[{"z":73}],"s":68,"u":[{"g":73}]}],"b":[{"e":[{"n":11,"p":11,"s":[{"e":192}]}],"l":[{"e":[{".":1}],"ö":5}],"r":[{"e":[{"c":77}],"u":[{"c":21},77]}],"s":5,"u":9},191],"c":191,"d":[{"ä":[{"n":23},11],"o":[{"m":[{"e":18}]}]},193],"e":[{".":70,"a":[{"b":1,"n":1,"t":[{"m":21}],"u":[{".":6},1]},74],"b":[{"b":66},74],"c":[{"h":[{"t":73},0]},70],"d":[{"e":[{"l":151}],"i":10}],"e":[{"h":30,"l":[{"a":1},2],"r":[{"e":[{"i":11}],"h":0,"l":0,"t":0}],"t":[{"a":0}]}],"f":[{"f":90},11],"g":16,"h":[{"e":[{".":5}],"r":[{"i":33}]}],"i":[{"b":4,"e":[{"r":90}],"f":185,"g":[{"e":[{".":11,"l":18,"p":18}]}],"k":62,"l":[{"a":35}],"m":[{"e":90}],"n":[{"d":0,"h":[{"a":[{"l":52}],"i":10},0]}],"s":[{"c":4,"e":21,"t":138}],"t":[{"e":10,"s":[{"k":10,"p":10},21]}]}],"k":74,"l":[{"a":[{"g":1,"s":1}],"d":4,"e":[{"c":1,"k":194,"n":20,"r":[{"e":4}],"t":5}],"f":4,"l":[{"a":4,"e":[{"n":195}],"i":4}],"o":[{"m":4,"r":5}],"ö":[{"f":5}],"s":[{"z":4}],"t":21,"u":[{"n":11}]},74],"m":[{".":83,"a":197,"p":90,"u":[{"l":73}]},196],"n":[{".":74,"a":[{"b":[{"e":7}],"r":4,"s":6,"t":6}],"ä":124,"d":[{"s":189}],"e":[{"i":1,"n":[{"d":12}],"r":[{"s":6}],"u":2},68],"g":74,"i":[{"d":5,"s":6}],"n":4,"p":176,"s":[{"p":[{"a":25,"r":11}],"t":18,"v":74,"z":74},68],"t":[{"b":90,"d":73,"e":[{"u":79}],"f":73,"h":[{"e":[{"i":24}]},4],"r":10,"s":90,"w":72}],"u":[{"n":4},5],"z":198},70],"o":0,"p":[{"i":90,"o":[{"c":73}]}],"r":[{"a":[{"k":5,"m":38,"n":5,"s":21},0],"b":[{"l":[{"a":97}]},21],"d":4,"e":[{"b":123,"c":[{"k":6}],"i":[{"w":12}],"m":21,"n":[{"e":6}],"r":[{"g":11,"w":11}],"s":[{"c":10}],"t":21}],"f":10,"g":[{"a":[{"f":25,"l":11}],"l":[{"i":11}]}],"h":[{"a":[{"b":11}]}],"i":[{"d":21,"n":[{".":11,"n":[{"e":17}],"s":18}],"o":124,"s":[{"s":4}]}],"k":[{"o":4,"r":4}],"n":[{"a":35,"e":21,"t":66}],"ö":124,"s":[{".":74,"t":[{"a":199}]}],"t":[{"a":35,"e":21,"i":21}],"z":[{"e":4,"ö":2},21]}],"s":[{"a":[{"b":[{"b":11}],"m":2,"p":6,"r":6,"u":2},1],"e":[{"p":5,"r":20}],"i":[{"d":20}],"p":[{"o":2}],"s":[{"a":4,"e":10,"t":[{".":77}],"z":4}],"t":[{"e":[{"i":[{"n":22}],"r":[{"h":22},97]},100],"o":[{"l":12,"r":200}],"r":[{"ä":6},10],"u":[{"r":12}]}],"u":[{"r":5}],"z":[{"e":3}]},83],"t":[{"a":[{"m":1}],"h":[{"a":1,"i":1}],"t":[{"o":2}]},74],"u":[{"n":0,"r":0}],"v":74,"w":201,"x":161,"z":83}],"f":[{"a":[{"l":21}]},193],"g":[{"a":[{"s":[{"t":11,"u":11},44]},140],"e":[{"l":[{"e":21}],"n":33,"s":21},4]},151],"h":[{"ä":140},151],"i":[{"a":[{"k":0,"r":5}],"b":[{"e":[{"r":132},21]},202],"c":5,"d":[{"o":1}],"e":[{"r":[{"e":[{"s":97}]}],"t":[{"s":10,"u":74}]}],"g":[{"a":44}],"k":[{"a":2,"e":[{".":5,"s":5}],"r":[{"e":5}]}],"l":[{"d":[{"e":[{"b":11}]}],"e":[{"i":5}],"l":[{"u":79}],"u":5},74],"m":[{"p":73}],"n":[{"b":90,"e":[{"n":10},2],"f":[{"o":11},66],"g":[{"a":162}],"h":90,"o":[{"k":38,"l":11}],"t":90,"v":90}],"o":[{"i":21},38],"r":[{"i":44}],"s":[{"a":2,"i":1,"o":66,"p":5,"s":[{"c":28}],"t":[{"a":1,"o":20,"r":1,"u":5,"ü":5}]},74],"t":[{".":68,"a":68,"e":68,"i":68,"r":11,"t":[{"a":203}],"u":[{"m":1},5]}],"z":3},70],"j":[{"e":[{"k":[{"t":[{"o":10}]}]}]},90],"k":193,"l":[{".":73,"a":[{"b":62,"c":72,"d":77,"n":[{"c":68}],"s":[{"e":[{"r":23}]}],"t":[{"t":68}],"u":[{".":68,"s":77}],"w":72}],"ä":[{"n":90,"s":[{"e":68}],"t":74}],"e":[{"a":202,"b":77,"c":74,"g":77,"h":79,"i":[{".":84,"d":72,"h":73,"n":77,"s":23,"t":73}],"l":4,"n":[{"k":77},2],"s":[{"e":77,"u":73,"z":4}],"t":74,"u":77},68],"i":[{"c":[{"h":73,"k":74}],"e":[{"f":73},68],"g":79,"n":[{"d":68,"g":204}],"s":[{".":73},68],"t":[{"e":77},68]}],"o":[{".":84,"c":146,"i":84,"s":77},68],"u":[{"m":146,"n":73,"s":68,"t":[{"o":44},74]}],"ü":74},6],"m":90,"n":[{"a":[{"s":10}],"i":[{"s":44},2]},205],"o":[{"a":[{"s":7},6],"b":[{"e":[{"n":1}],"r":4},67],"c":[{"h":78}],"d":3,"e":[{"i":38},9],"f":[{"e":1},90],"h":[{"e":1,"r":[{"a":2,"e":[{"r":4}]}],"u":2}],"i":[{"s":0}],"l":[{"a":[{"n":5,"u":5}],"l":[{"e":4}]}],"n":[{".":74,"a":3,"d":[{"a":2,"e":28}],"e":5,"s":74}],"o":[{"l":11,"t":[{"i":2}]}],"p":66,"r":[{".":74,"a":[{"n":2,"s":38},0],"ä":6,"d":[{"a":2,"r":162}],"e":[{"i":5}],"i":[{"g":6}],"m":4,"t":[{"e":[{"r":11}],"r":[{"a":[{"t":42}]}]},66],"u":[{"h":6}]}],"s":[{"c":5,"e":1,"p":12}],"t":[{"e":[{"n":[{"e":206}]}],"h":1,"s":[{"o":2,"t":2}],"t":4},74],"x":[{"o":5}],"z":66}],"ö":[{"b":38,"f":73,"l":90}],"p":[{"a":[{"g":2}]},207],"q":90,"r":[{".":73,"a":[{".":84,"d":72,"h":209,"k":89,"s":[{"t":199}],"t":[{".":72,"e":[{"r":[{"g":24},210]}],"g":72}]}],"ä":[{"d":79,"u":11},74],"e":[{".":73,"c":[{"h":[{"t":[{"e":211}]}]}],"d":72,"f":72,"g":73,"i":[{"f":77}],"k":73,"m":84,"n":[{".":84,"t":72}],"o":73,"p":72,"r":84,"s":[{".":84,"t":77}],"t":[{"t":[{"e":[{"n":54}]}]},84],"z":84}],"i":[{"d":[{"a":2}],"e":[{"f":[{"a":10}],"m":72,"n":84,"r":2,"s":77}],"g":[{"k":73}],"n":[{"a":84,"d":72}],"o":84,"s":[{"c":84}],"ß":73,"t":[{"t":77}]}],"o":[{"b":21,"h":72,"l":72,"m":[{"a":2}],"n":84,"s":[{"t":72}],"t":[{"r":2,"t":206}],"u":72}],"ö":146,"u":[{"c":84,"f":73,"m":84,"n":[{"d":72}],"s":[{"t":15},11],"t":[{"h":2}]}],"ü":[{"b":126},74]},208],"s":[{"a":[{"d":68,"m":[{"b":0,"t":84}],"u":[{"r":21}]}],"ä":[{"r":128,"u":77}],"c":[{"h":[{"a":[{"n":170},21],"e":[{"f":170}]}],"o":170},140],"e":[{"b":30,"l":[{".":77}],"n":[{".":77,"t":99},28],"r":[{"i":[{"n":212}]},0],"s":77}],"i":[{"m":68,"t":2}],"k":[{"i":128,"r":1}],"o":[{"f":99,"h":75,"l":77,"p":84,"r":2}],"ö":68,"p":[{"i":75,"l":5,"u":5}],"s":2,"t":[{"a":[{"b":94,"k":20,"n":[{"k":4}],"s":149,"u":5}],"ä":[{"t":0},77],"e":[{"m":[{"i":4}],"r":[{"n":84},9]}],"h":20,"i":[{"n":[{"k":4}],"p":68}],"o":[{"b":84,"d":84,"r":84},77],"ö":77,"r":[{"a":77,"ä":81,"e":[{"u":128}],"o":4},5],"u":5,"ü":[{"b":84},77]}],"u":[{"n":99}],"z":[{"e":[{"p":5}],"i":5},77]},90],"t":[{"a":[{"s":[{"t":[{"r":213}]}]},77],"e":140,"h":99,"i":[{"s":2},5],"r":[{"a":[{"n":100}]},6],"s":2,"ü":9},191],"u":[{"c":[{"h":[{"e":[{"c":6,"r":[{"s":214},97],"s":1}],"i":5,"s":[{"p":206}]}]}],"e":38,"f":5,"g":[{"r":5},4],"l":[{"l":[{"a":23}]}],"m":[{"f":73,"k":72,"l":73,"r":72}],"n":[{"a":11,"d":[{"e":[{"r":25,"s":18}]}],"e":66,"g":[{"n":153}],"h":90}],"r":[{"c":9,"e":68,"g":[{"a":[{"n":11,"r":11},44],"i":[{"n":11}],"r":2},68],"i":3,"n":73,"s":[{"a":77}],"t":[{"s":10}]}],"s":[{"a":5,"c":[{"h":[{"a":4,"e":[{"i":22,"l":215},1],"w":15}]},5],"h":[{"i":1}],"i":5,"p":20,"s":[{"y":100}],"t":[{"e":[{"r":[{"m":19},97]}],"r":20}],"u":5}],"t":[{"a":2,"o":[{"r":[{"e":23}]}]}]}],"ü":[{"b":73,"c":0,"g":[{"e":[{"l":[{"e":15}]}]}]}],"v":90,"w":216,"y":[{"a":11,"o":2,"p":3,"s":2},217],"z":[{"e":[{"i":[{"t":132}]},140],"u":9},207]}],"c":[{"a":[{"b":[{"l":1},11],"c":218,"e":38,"g":3,"h":0,"l":[{"a":[{"b":23},2],"f":162,"t":35}],"n":[{"a":23},73],"p":[{"e":5}],"r":[{"n":35,"r":[{"i":132}],"t":[{"r":4}]}],"s":[{"a":219}],"t":[{"h":3}],"y":30},80],"ä":[{"s":2},1],"b":66,"c":[{"e":66,"h":220},73],"d":[{"o":77},221],"e":[{"c":73,"d":[{"r":5},70],"e":0,"f":73,"i":[{"n":1},0],"k":73,"l":[{"s":74}],"n":[{"a":4,"u":[{"n":4},1]}],"o":2,"r":[{"a":4,"e":[{"u":23},44],"i":[{"s":6},3],"o":0},70],"s":[{"h":16}],"t":[{"a":[{"m":9}]}],"u":0}],"é":70,"f":66,"g":112,"h":[{".":79,"a":[{"b":[{"i":219},73],"c":73,"g":175,"h":0,"k":125,"n":[{"a":10,"c":74,"f":23,"g":0,"l":79,"z":73}],"o":70,"r":[{".":73,"a":70,"d":74,"t":[{"a":74}]}],"s":[{"c":2,"i":132}],"t":[{"o":70,"t":73,"u":73}],"u":[{"s":[{"t":[{"r":7}]}],"t":23}]}],"ä":[{"h":0,"r":[{"m":0}],"s":0}],"â":70,"b":73,"c":73,"d":73,"e":[{"b":[{"e":[{"n":16}]},62],"c":[{"h":[{"t":1}]}],"d":[{"i":0}],"e":[{"l":2}],"f":[{".":74,"e":[{"r":11}],"s":74},70],"i":[{"m":0},73],"l":[{"e":[{"m":79,"r":11}]}],"m":[{"i":[{"k":74},70],"p":73}],"n":[{"e":[{"b":11}],"i":[{"d":11}],"o":2,"t":[{"s":79,"w":79}]}],"r":[{"a":162,"b":[{"s":222}],"g":[{"e":[{"b":223}]}],"k":[{"e":79}],"z":[{"i":[{"e":52}]}]}],"s":[{"s":224}],"t":[{"a":225}],"x":226}],"é":70,"f":73,"g":73,"h":73,"i":[{"a":70,"n":[{"a":4,"d":79,"e":[{"s":74}],"f":73,"h":73,"s":125,"t":125,"v":125}],"p":[{".":70}],"r":[{"u":70}],"s":[{"o":73}]}],"j":73,"k":73,"l":[{"e":[{"i":[{"n":1},21]},5],"i":79,"u":5},158],"m":227,"n":[{"e":[{"r":[{"e":[{"i":[{".":51}]}]}],"u":5}]},158],"o":[{"b":73,"f":[{"f":0,"s":21},2],"h":0,"l":[{"a":35}],"r":[{"c":0,"e":[{"i":11}],"i":0}],"s":5}],"ö":[{"l":1,"n":73,"r":74}],"p":73,"r":[{"a":[{"d":1,"g":23},73],"e":[{"s":23},73],"h":1,"i":[{"t":73}],"o":[{"m":[{"o":74}],"n":74,"s":7}]},107],"s":[{"t":[{"a":[{"l":6}]}]},79],"t":[{"r":[{"u":5}]},73],"u":[{"f":73,"h":73,"n":[{"f":125,"m":73,"t":73}],"r":[{"s":0},73],"t":73}],"ü":73,"v":73,"w":73,"y":70,"z":73},68],"i":[{"c":0,"e":[{"s":0}],"n":[{"d":66,"s":21,"t":66}],"s":20,"t":85}],"j":66,"k":[{"a":[{"b":2,"d":5,"g":5,"m":2,"r":71},111],"ä":0,"e":[{"f":0,"h":0,"i":0,"n":[{"a":11}],"r":[{"a":2,"e":5,"h":[{"ö":53}],"k":18,"l":[{"a":[{"u":52}]}],"n":5,"o":2,"r":0}],"t":[{"t":21},5]}],"i":[{"d":30,"n":0,"s":6}],"l":1,"n":7,"o":16,"ö":3,"r":1,"s":[{"a":[{"l":2}],"p":[{"e":[{"n":6}]}]}],"t":[{"e":1,"i":3}],"u":[{"h":0,"m":0,"p":0}]},228],"l":[{"e":[{"a":11,"t":21}],"i":[{"n":[{"g":21}],"p":[{"a":23},28]}],"o":[{"c":9,"f":4}],"u":[{"b":11},70]},221],"m":[{"e":77,"u":77},221],"o":[{"c":[{"h":0}],"d":[{"e":[{".":6}],"i":1},229],"f":[{"f":35}],"i":[{"t":0},11],"k":[{"e":5}],"l":[{"a":118,"e":[{"u":5}],"o":3}],"m":[{"t":[{"e":[{".":11,"s":97}]}]}],"n":[{"n":[{"e":2}]}],"o":[{"p":9},5],"p":0,"r":[{"a":0,"d":[{"a":2}],"e":6,"t":4}],"s":11,"t":[{"e":5}],"u":[{"s":[{"i":4}]}]},70],"p":73,"q":66,"r":[{"ä":77,"e":[{"e":73,"m":[{"e":11}]},192],"i":73,"o":[{"s":10}],"y":73},230],"s":[{"f":6,"i":84,"t":2},151],"t":[{"i":[{"o":[{"n":49},14]},2],"u":[{"r":52}]},191],"u":[{"a":73,"e":5,"p":[{"e":9},38],"s":[{"s":[{"i":18}]}]},231],"w":66,"x":73,"y":74,"z":66}],"d":[{"a":[{".":74,"a":0,"b":[{"a":[{"k":75}],"ä":68,"e":[{"n":75},68],"i":75,"l":[{"u":1}],"o":75,"r":[{"a":11,"i":[{"e":1},5],"ü":232}]},90],"c":[{"h":[{"a":23,"o":5,"s":[{"e":126}]}]},66],"d":[{"e":5,"o":5,"r":107},90],"f":[{"f":73,"l":117,"o":[{"n":10}]},66],"g":[{"i":[{"o":10}],"o":2},66],"h":[{"l":4},0],"i":[{"l":50,"n":0,"r":90,"s":0}],"k":[{"r":[{"o":5}]}],"l":[{"a":[{"r":151},2],"b":35,"l":191,"o":[{"p":5}],"ö":1,"p":90,"t":[{"e":73},233],"ü":0}],"m":[{"e":[{"i":5}],"m":[{"a":66,"ä":191}],"o":23,"p":[{"f":[{"e":[{"r":[{"f":234}]}]}]},68],"t":191},74],"n":[{".":83,"a":[{"n":5,"t":186},66],"b":73,"c":[{"e":[{".":11}]}],"d":[{"a":73,"y":68},235],"e":[{"i":126},74],"f":73,"g":66,"h":73,"k":[{"l":2,"o":28,"r":2}],"l":73,"n":[{"a":73},66],"o":67,"s":90,"t":[{"w":73}],"w":73,"z":[{".":68,"i":73,"ü":73},66]}],"p":[{"a":68,"h":68,"o":[{"s":1},5],"p":79,"t":[{"e":77}]},90],"q":73,"r":[{"a":[{"s":10},36],"b":147,"c":72,"d":[{"e":28}],"e":[{"n":132},21],"g":4,"k":[{"a":21}],"l":74,"m":[{"a":28,"i":28,"u":11}],"o":38,"s":74,"t":[{"h":2,"r":2},90],"u":5,"z":66}],"s":[{"h":1,"p":150,"s":4},2],"t":[{"e":[{"i":1,"l":236,"n":10},86],"h":5,"l":72,"m":79,"o":77,"s":[{"t":2}],"t":[{"a":72}]}],"u":[{"b":74,"d":73,"e":[{"r":[{"e":[{"i":52},15]}]},35],"f":237,"g":72,"k":73,"n":[{"t":1}],"s":90,"ß":2}],"w":74,"x":66}],"ä":[{"c":74,"g":90,"h":90,"m":[{"t":90}],"n":[{"a":4,"d":90}],"p":90,"q":73,"r":[{"z":73}],"u":[{"s":1},151],"x":73}],"b":[{"a":[{"u":[{"c":[{"h":96},21]}]}],"e":[{"e":2}],"u":[{"c":2}]},238],"c":[{"h":77},73],"d":[{"a":77,"ä":77,"e":77,"h":77,"o":140},239],"e":[{"a":[{"d":2,"r":1,"t":3}],"b":[{"ü":74},11],"c":[{"h":0,"o":23}],"d":[{"e":[{"l":5}],"i":[{"t":5}]}],"e":226,"f":[{"a":[{".":5},11],"f":90,"l":11}],"g":[{"e":[{"n":[{"e":240}]}],"l":1},2],"h":[{"a":2,"e":21,"n":74,"o":1,"r":90}],"i":[{"c":83,"d":[{"e":[{"n":16}]}],"l":1,"m":[{"e":79},83],"n":[{"d":21,"s":[{"e":1,"t":[{"a":52,"i":52},1]}],"w":126}],"o":1,"s":[{"e":73,"m":111,"p":2}]},66],"k":[{"z":73}],"l":[{"a":[{"c":20,"d":[{"e":11}],"k":1,"u":[{"g":12}]}],"ä":[{"n":[{"d":4}]}],"b":35,"d":4,"e":[{"c":9,"g":82,"i":[{"g":18}],"k":73,"m":73,"n":5,"r":[{"r":18},100]}],"f":[{".":73,"m":73}],"i":[{"k":74}],"l":[{"a":[{"d":15,"n":11,"r":11,"u":23}],"ä":28,"e":[{"b":23,"i":11,"r":11}],"ö":203}],"o":[{"b":20,"p":5}],"s":[{"e":2,"o":2,"p":28}],"t":4}],"m":[{"a":[{"r":2}],"b":90,"e":[{"n":[{"t":[{"g":22,"s":33},97]}]}],"i":[{"n":1}],"o":[{"t":90}],"p":90,"u":68}],"n":[{".":84,"a":[{"m":2}],"e":[{"d":123,"n":[{"d":12}],"p":5,"r":[{"g":79}],"s":3}],"g":[{"e":[{".":241}]}],"i":5,"k":[{"l":[{"i":23}]}],"o":[{"s":[{"t":10},21]}],"s":[{"a":[{"m":10}],"c":[{"h":[{"o":42}]}],"e":[{"m":242,"r":[{"e":24}]},100],"t":[{"a":[{"u":42}]}]}],"t":[{"d":73,"e":4,"f":73,"g":73,"h":4,"n":73,"w":73,"z":73}],"z":[{"e":[{"r":[{"s":24}]}]}]}],"o":[{"b":5,"l":73}],"p":[{"l":11,"o":[{"c":73}]}],"r":[{".":84,"a":[{"f":4,"k":5,"n":[{"d":1},21],"p":38,"s":[{"i":12},30]}],"b":[{"l":2,"s":191}],"d":[{"b":73}],"e":[{"b":123,"c":[{"k":6}],"i":[{"e":1,"s":37}],"m":243,"n":[{"d":12},84],"r":[{"f":11,"n":15,"o":4,"t":18},243],"s":243,"u":38}],"f":[{"l":84},10],"h":[{"e":[{"b":77}],"ü":68}],"i":[{"d":38,"n":[{"f":18,"n":[{"u":22}],"t":[{"e":[{"g":51}]}]}]}],"k":[{"l":[{"ä":79}]},35],"l":[{"a":[{"n":84}]}],"m":68,"o":0,"ö":10,"r":4,"s":[{"t":[{"a":4},100]}],"t":[{"e":[{"n":[{"d":[{"e":[{".":134}]}]}],"r":[{"e":40}]}],"r":[{"a":[{"g":[{"e":48},223]},10]}]}],"u":[{"h":6,"m":6},82],"z":[{".":90,"v":90}]}],"s":[{".":68,"a":[{"g":9,"h":9,"m":36,"n":4},5],"ä":[{"n":20}],"e":[{"b":5,"h":123,"i":[{"l":12},5],"l":[{"t":4},90],"m":1,"n":[{"d":16,"e":15}],"r":[{"m":4}],"t":20}],"i":[{"n":20}],"k":74,"o":[{"r":5},9],"p":[{"e":1},20],"s":[{"t":33},35],"t":[{"a":[{"l":[{"t":214}],"n":[{"t":22}]}],"e":[{"i":[{"g":[{"e":29}],"n":[{"s":29}]}],"x":11}],"i":[{"t":6}],"r":[{"a":[{"t":214}],"e":6}]}],"u":[{"n":9},5],"w":74}],"t":[{"a":1,"e":[{"n":[{"t":18}]}],"h":151,"w":90}],"u":[{"l":90,"m":23,"n":0,"r":[{"l":0}],"s":1}],"v":[{"i":[{"d":151,"l":100}]}],"x":[{"a":30,"e":[{"r":5}],"i":[{"s":5}],"p":[{"e":73,"o":73}]}]},70],"f":244,"g":[{"a":[{"s":[{"t":[{"r":25}]}]}],"e":[{".":68,"r":21,"s":[{"h":68},4],"t":[{"a":162,"e":71}]}]},151],"h":[{"o":79,"u":77},151],"i":[{"a":[{"p":6,"s":38,"t":[{"h":6},10]}],"c":[{"e":0,"h":[{"l":1,"t":[{"e":[{"r":13}]}]}],"k":[{"e":[{"l":23}]}],"o":236},74],"d":[{"a":74,"e":[{"e":73,"n":5},66],"y":73}],"e":[{"d":16,"n":[{"b":1,"d":1,"e":[{"b":11,"r":[{"l":40}]}],"i":3,"s":[{"t":[{"r":245}]}]}],"p":2,"r":[{"s":[{".":1}]}],"s":[{"c":44}],"t":[{"h":16}]},5],"f":74,"g":[{"n":11},74],"k":[{"a":2}],"l":[{"s":28}],"m":[{"b":90,"p":73}],"n":[{"a":11,"d":90,"e":3,"f":90,"g":74,"h":90,"i":1,"j":90,"k":90,"s":90,"t":72,"v":90}],"o":[{"b":38,"n":[{"i":[{"n":23}],"s":246}],"r":[{"a":1}],"s":[{"k":5},21]}],"p":[{"t":1},30],"r":[{"a":67,"e":[{".":6,"n":5}],"i":[{"n":5,"s":5}],"l":90,"r":90}],"s":[{"a":123,"o":90,"p":[{"e":[{"r":16}]},5],"r":90,"t":[{"o":20,"r":[{"a":12}]},21],"z":6}],"t":[{"a":5,"e":[{"c":44,"r":[{"l":12,"m":12,"s":12}]}],"i":[{"n":5}],"o":[{"b":5}],"r":38,"s":4,"u":20}],"v":43,"z":2},70],"j":[{"a":[{"r":68}]},90],"k":207,"l":[{"a":[{"g":4,"p":10}],"e":[{"r":[{"a":2}]},77],"i":[{"f":11}],"m":1,"s":1},239],"m":161,"n":[{"i":[{"s":44,"v":4},2]},236],"o":[{"a":[{"t":7}],"b":[{"a":83},90],"c":[{"h":[{"i":0}]}],"f":[{"e":5},66],"h":[{"a":1},90],"l":[{"l":[{"a":4},21],"y":77}],"m":[{"a":[{"l":5,"r":5}],"e":[{"n":132}],"i":[{"n":[{"g":6}]},1],"n":79,"u":5},74],"n":[{"a":[{"n":7},3],"i":44,"y":79}],"p":[{"e":90,"f":90}],"r":[{"a":117,"c":90,"d":90,"f":[{"a":28,"ä":2,"i":28,"l":2,"o":2,"r":2,"u":162}],"g":90,"n":68,"t":[{"e":[{"r":11}],"r":2},73]}],"s":[{".":68,"e":1,"k":2,"m":73,"s":4,"t":[{"a":23,"e":[{"n":97}]},44]}],"t":[{"a":1,"o":[{"f":5}]}],"u":[{"n":1}],"w":[{"s":2}],"x":166}],"ö":[{"d":5,"f":5,"l":[{"l":[{"a":15}]},4],"n":68,"r":83,"s":[{"c":20}]},66],"p":[{"a":[{"s":[{"s":15}]}],"o":[{"l":[{"n":10}],"s":[{"t":247}]}]},161],"q":90,"r":[{"a":[{".":146,"b":146,"d":126,"h":[{"m":73}],"k":72,"l":146,"m":[{"p":77}],"n":[{"d":77,"k":23}],"s":[{"t":72}],"t":[{"i":[{"n":11}]}],"u":[{"b":73,"c":72,"f":84,"m":73,"p":73}]}],"ä":[{"d":73,"h":84,"t":72,"u":72}],"e":[{".":79,"a":[{".":84,"s":84},72],"c":[{"k":146}],"f":72,"g":79,"h":[{"a":2},146],"i":[{"c":72,"e":146,"s":[{"t":23}],"v":84}],"j":84,"m":79,"n":126,"o":84,"p":126,"r":126,"s":[{".":79,"c":84,"s":[{"e":[{"i":52,"l":52}]}]}],"w":84,"z":73}],"h":72,"i":[{".":146,"a":84,"b":84,"c":216,"d":84,"e":[{"g":140},84],"f":[{"f":79,"t":84},74],"k":84,"l":84,"n":[{".":84,"d":216}],"p":73,"s":[{"c":84,"i":73,"s":73}],"ß":73,"t":[{"u":248},84],"x":84},77],"o":[{"b":72,"d":77,"g":[{"g":73}],"h":[{"r":73,"u":146}],"l":[{"l":72}],"s":[{"e":72,"s":84,"t":72}],"t":72,"u":72,"v":72,"w":77}],"ö":[{"s":[{"c":2}]}],"u":[{"b":140,"c":146,"d":72,"h":72,"t":248}],"ü":[{"b":9,"s":146}]},208],"s":[{".":79,"a":[{"b":1,"d":68,"l":[{"k":68,"l":68},0],"m":[{"t":111}],"n":[{"e":1},68],"s":[{"s":[{"i":1}]}],"u":[{"t":68},21]}],"ä":[{"n":0,"u":5}],"b":79,"c":[{"h":[{"e":[{"f":84}],"i":[{"n":84}]}],"o":75,"r":68}],"e":[{"b":110,"e":2,"f":99,"h":[{"r":0}],"i":[{"g":[{"n":6}],"n":68}],"m":[{"b":99}],"n":[{"e":[{"r":23}],"g":99,"t":99}],"r":[{"f":99,"h":68,"k":99,"l":99,"r":0,"s":99,"t":99,"z":68}],"t":[{"a":99},2],"v":99,"x":68}],"h":[{"a":[{"k":5,"l":84},249],"o":[{"r":84},77]}],"i":[{"d":68,"m":99,"n":[{"f":75}]}],"k":[{"a":[{"l":75}],"e":[{"l":75}]}],"l":[{"i":84},79],"o":[{"h":77,"p":68,"r":[{"i":0},2]}],"ö":68,"p":[{"a":[{"s":0,"t":99}],"ä":68,"e":[{"c":99,"n":5,"r":[{"i":84}]}],"h":81,"i":75,"o":[{"r":[{"t":[{"o":170}]},5]}],"r":[{"i":77,"o":68}],"u":5}],"s":2,"t":[{"a":[{"b":[{"e":84}],"s":68,"u":[{"f":1}]}],"ä":[{"t":[{"i":128}]}],"e":[{"a":84,"l":[{"e":84}]}],"i":[{"l":5,"s":99}],"o":[{"c":[{"h":84}],"d":68}],"r":[{"e":[{"n":84}],"o":75}]},2],"u":[{"m":2,"n":68}],"z":[{"e":[{"n":5}]}]},90],"t":[{"a":[{"b":[{"e":2}],"c":[{"h":15},75],"d":2,"g":75,"n":[{"e":1},2],"s":75,"x":5}],"e":[{"a":77,"m":[{"o":4}],"t":5}],"h":[{"e":[{"i":84}]},68],"o":[{"b":84,"p":5},250],"ö":77,"r":[{"a":[{"n":100}]},1],"s":[{"a":1,"t":7},0],"t":11,"u":[{"n":5,"r":75}],"y":77},90],"u":[{"a":[{"l":[{"v":0}],"r":0}],"b":[{"l":[{"i":38}]}],"c":[{"e":0}],"e":[{"l":[{"l":[{"a":23}]}]}],"f":[{"e":90,"t":[{"e":[{"r":11}],"o":2,"r":2}]},5],"h":90,"i":[{"n":5},0],"k":[{"r":5}],"l":[{"a":[{"r":[{"t":4}]}]}],"m":[{"b":90,"d":73,"e":251,"f":73,"g":73,"k":126,"l":73,"p":68,"r":73,"s":[{".":68},90],"v":90}],"n":[{"d":72,"f":90,"g":[{"l":73}],"i":90,"k":[{"e":4,"l":2}],"r":73,"s":[{"i":73,"t":[{"r":213}]}],"t":73,"w":73,"z":72},5],"o":[{"s":0}],"p":11,"r":[{"c":[{"h":15},2],"k":90,"l":90,"n":90,"s":[{"a":90}],"t":90}],"s":[{"c":[{"h":[{"n":6,"r":6,"w":252}]}],"t":2}]},70],"ü":[{"b":[{"e":[{"r":77}]},73]},70],"v":151,"w":[{"a":[{"r":11},2],"e":[{"r":[{"t":[{"e":23}]}],"s":[{"t":247},2]}]},90],"y":[{"l":20,"m":4,"n":74,"s":20},70],"z":236}],"e":[{"a":[{"b":[{"e":5,"l":38,"r":6}],"d":[{"l":[{"i":18}],"r":75}],"g":[{"a":224,"l":16},5],"k":[{"t":[{"a":68,"o":77},21]}],"l":[{"a":5,"e":[{"i":77,"m":84,"n":[{"t":12,"z":18}],"r":[{"g":121},100],"x":77}],"i":[{"n":75}],"l":[{"e":33,"ö":[{"s":15},4]}],"o":[{"n":5,"p":5},9],"t":[{"i":253,"r":4}],"u":115}],"m":[{"a":4,"e":68,"o":9,"s":21,"t":35}],"n":[{"a":[{"r":35},6],"f":77,"o":68}],"r":[{".":77,"a":[{"t":1},5],"e":[{".":84,"i":20,"n":[{"e":6}],"r":84,"s":84},68],"o":5,"z":77}],"s":[{"c":75,"f":77,"i":[{"n":18}],"p":5,"s":33}],"t":[{"e":[{".":1,"n":1,"r":132},21],"m":[{"e":[{"s":11}],"u":[{"n":11},2]}],"s":4,"t":254,"u":21}],"u":[{"e":77,"f":[{"e":2,"l":11,"o":84},77],"n":4}],"v":68,"z":68},90],"ä":121,"b":[{"a":[{"k":77,"p":2},73],"ä":[{"n":77}],"e":[{"c":73,"e":[{"r":9}],"i":[{"n":[{"h":57}]}],"l":[{"e":[{"r":11}],"o":2},5],"n":[{"e":[{"n":96}]}],"r":[{"a":[{"s":11}],"t":18},77],"s":[{"e":[{"h":25},100],"o":2}],"t":[{"s":10},73]}],"h":73,"i":73,"l":[{"a":[{"ß":5}],"ä":77,"e":[{".":1,"r":1,"u":6}],"i":[{"e":77}],"o":1,"ö":5},73],"o":[{"b":68},73],"ö":[{"s":2}],"r":[{"a":[{"u":140}],"e":[{"a":6}]},73],"s":[{"c":[{"h":[{"e":22}]}],"e":21,"i":[{"n":9}],"o":9,"p":[{"a":[{"n":[{"n":[{"e":255}]}]}]},9],"t":[{"a":[{"u":4}],"ä":[{"t":6}],"h":35,"i":9,"o":[{"t":6}],"r":1}],"z":6},5],"u":[{"n":[{"t":68}],"t":162},73]},66],"c":[{"a":73,"e":90,"h":[{"a":[{"m":9}],"ä":9,"e":[{"i":9,"n":256,"r":[{"z":[{"i":257}]}]},90],"i":66,"l":4,"m":4,"n":4,"o":[{".":68}],"ö":35,"r":[{"i":11},4],"s":[{"e":[{"r":10}],"t":[{"r":[{"e":49}]}]}],"t":[{"a":[{"b":4}],"e":[{"i":62,"r":[{"h":[{"a":58},24]}]}]}],"u":66,"w":9,"z":73}],"i":[{"a":2},66],"k":[{"e":[{"n":159}],"s":[{"e":[{"r":4}],"t":[{"a":11}]}],"t":[{"y":74},73]},6],"l":90,"o":73,"r":72,"t":73}],"d":[{"a":5,"d":[{"r":5}],"e":[{"a":[{"l":2}],"n":[{"e":[{"r":62}],"s":[{"a":10,"e":116,"p":116}]}],"o":21,"r":[{"a":[{"t":4},23],"e":[{"r":97}],"t":100},2]},6],"i":[{".":77,"p":73},5],"o":75,"ö":5,"r":[{"e":[{"i":77}]}],"s":[{"a":[{"l":5}],"e":[{"h":5,"s":20}],"i":5,"o":20,"p":20,"t":[{"o":5,"r":20}],"u":20}],"u":[{"n":[{"d":100},23]}],"y":[{"s":21},153]},66],"e":[{"a":16,"b":[{"l":2}],"c":[{"e":5,"h":[{"o":5}],"k":66},0],"d":[{"s":35}],"e":30,"f":[{"f":66,"l":11}],"g":11,"i":[{"e":38,"n":[{"s":[{"e":10}]}],"s":[{"c":11,"e":4,"s":23}]},66],"l":[{"a":68,"e":[{"k":75,"n":10},2],"ö":2}],"m":[{"a":166,"b":66,"i":[{"n":1}],"p":66}],"n":[{"a":[{"g":21}],"ä":68,"c":68,"e":9,"g":77,"i":1,"k":77,"l":77,"o":68,"s":4,"z":2},66],"o":1,"p":[{"o":1},68],"r":[{"a":[{"t":11}],"b":[{"t":66}],"d":66,"e":[{"i":9,"n":[{"g":37}],"s":258,"t":[{"i":4}]},224],"m":[{"ä":66}],"o":0,"ö":[{"f":66,"s":2},0],"u":[{"n":3}],"z":66}],"s":[{"h":1,"p":1,"t":2}],"t":[{".":68,"a":[{"t":6},3],"h":5,"i":2,"r":16,"u":5}],"u":30,"w":[{"a":[{"r":10}]}],"x":67},73],"f":[{"a":[{"d":99,"h":77,"n":[{"a":0}],"r":[{"c":68,"m":1},0],"t":68}],"ä":[{"l":5,"u":68},73],"e":[{"b":110,"f":77,"l":[{"e":[{"i":25}]}],"m":[{"i":68},0],"n":[{"e":217,"t":68},28],"r":[{"f":50,"i":[{"n":[{"d":40}]}],"r":50}],"u":[{"i":[{"l":97}]}]},73],"f":[{"ä":34,"e":[{"k":74}],"i":70,"l":[{"u":1},5]}],"i":[{"d":0,"n":[{"s":99}],"s":2},73],"l":[{"e":6,"u":121,"ü":77},73],"o":161,"r":[{"e":[{"i":[{"h":6}]}],"o":[{"l":1,"m":1}],"u":6,"ü":6},73],"s":[{"c":1,"o":1,"p":1},2],"t":[{"a":[{"n":5}],"e":[{"i":5}],"r":[{"o":5}]}],"u":[{"m":68},73]},66],"g":[{"a":[{"m":2,"n":[{"z":75}]}],"d":11,"e":[{"i":[{"n":15}],"l":[{"a":[{"n":11,"u":25}],"e":[{"i":[{"e":[{"r":259}]}],"r":11}],"o":2}],"n":[{"a":71,"e":[{"r":[{"o":24}]}]},5],"r":[{"a":2}],"s":[{"t":[{"a":[{"l":33}],"o":25,"r":25}]}],"u":9},77],"i":[{"o":77},73],"l":[{"o":68,"u":68},73],"n":[{"ä":1,"i":1},68],"o":[{"p":9}],"s":[{"a":[{"g":1,"l":6,"u":[{"g":15}]}],"e":[{"i":6,"l":162},1],"i":1,"o":[{"f":2}],"p":[{"e":2}],"t":[{"o":6},21]}],"t":[{"h":5}]},66],"h":[{"a":[{"c":[{"h":0}],"d":[{"e":5},0],"h":75,"l":[{"t":[{"s":18}]},5],"n":[{"d":77}],"r":[{"z":68}],"u":[{"t":77}]},90],"ä":66,"e":[{"f":[{"f":0}],"i":[{"n":0}],"l":[{"t":0}],"n":[{"s":[{"e":84}],"t":[{"e":128,"r":10}]}],"o":4,"p":80,"r":[{"a":9,"f":114,"l":114},73]},66],"i":[{"m":1,"s":10},90],"l":[{"a":[{"m":0,"u":38},9],"ä":0,"e":[{"i":[{"n":4}],"n":[{"t":6}],"r":43}],"o":[{"r":9},21],"ö":5,"s":[{"e":2}]}],"m":[{"a":[{"b":5,"n":[{"t":6}]}],"u":1},73],"n":[{"a":1,"o":1}],"o":[{"f":2,"l":[{"y":1},2]},90],"ö":[{"r":[{"e":[{"r":11}]}]},72],"r":[{"a":123,"ä":9,"e":[{"c":9,"i":5,"l":5,"r":[{"l":[{"e":24}],"n":11}],"s":23}],"i":[{"n":6}],"o":[{"c":0,"f":9}],"ö":0}],"s":[{"a":1,"e":1,"h":1,"i":1,"o":1,"p":1,"t":[{"a":1,"o":1,"r":1},21]},167],"t":[{"h":4,"r":11},187],"u":[{"m":68,"n":[{"f":0,"i":68}],"r":77},90],"ü":[{"b":1},66],"w":0,"y":66}],"i":[{"a":[{"t":11},187],"b":[{"a":[{"r":5}],"l":[{"i":5,"u":6}],"u":[{"t":[{"e":12},21]}]}],"c":[{"e":0,"h":[{"o":5}]},84],"d":[{"a":20,"e":[{"i":[{"s":6}],"r":[{"r":[{"e":33}]}]},1],"n":73,"o":1,"r":1},68],"e":[{"b":2,"d":2,"l":3,"m":2,"n":[{"g":[{"e":97}]},260],"s":16,"t":2},0],"f":[{".":79,"l":[{"o":0}],"r":70,"t":4}],"g":[{".":73,"a":[{"r":2},73],"ä":73,"e":[{".":73,"b":73,"h":73,"n":[{"o":79,"s":[{"c":176}]}],"r":261,"s":73,"w":73}],"i":73,"n":262,"o":5,"r":[{"a":[{"t":12}],"e":73,"ö":73,"u":73,"ü":73}],"s":73,"t":73,"u":73}],"h":[{"u":[{"m":5}]},79],"k":[{"a":[{"b":5,"k":5,"m":11,"r":2}],"i":2,"l":[{"a":16,"ä":1},2],"o":2}],"l":[{".":73,"a":[{"b":12,"m":5,"n":[{"e":12,"g":6,"z":12},21],"r":5}],"b":73,"d":62,"e":[{"i":[{"n":6}],"n":163,"t":5}],"f":62,"m":21,"o":[{"b":5}],"ö":2},68],"m":[{".":73,"a":[{"b":5,"g":20,"l":[{"l":4,"p":4}],"t":[{"o":10}]}],"o":[{"r":20}],"ö":73,"p":[{"l":263},73],"s":[{"a":4}],"u":[{"r":5}]}],"n":[{"a":[{"d":31,"e":6,"n":12,"s":45,"t":12},264],"ä":38,"d":[{"e":[{"r":[{"k":24}]},35],"u":66}],"e":[{"b":73,"n":[{"e":18,"g":37,"s":[{"e":265}]}],"r":[{"b":[{"e":33}],"f":6,"k":6,"l":[{"a":266}],"s":[{"c":13}]}],"u":5}],"f":[{"i":[{"z":11}],"l":[{"u":[{"s":176,"ß":176}]}],"o":[{".":11,"s":11},73]}],"g":[{"e":[{"r":74}],"r":68},35],"h":[{"ä":68}],"i":[{"e":5,"t":66}],"k":[{"a":[{"r":[{"n":24}]}],"ä":74},62],"l":68,"n":35,"o":149,"r":[{"i":70}],"s":[{"a":[{"t":74},170],"c":[{"h":[{"ä":176}]},68],"t":[{"a":[{"l":24}]}]}],"t":[{"e":[{"r":[{"v":24}]}],"ö":74,"r":[{"ä":74}]}],"u":70}],"o":[{"p":2,"s":11},1],"p":[{"f":2},0],"r":[{"c":2,"e":1,"r":66},73],"s":[{".":84,"a":[{"s":1},5],"c":[{"h":[{"w":[{"u":22}]}]}],"e":[{"r":[{"g":41,"l":37,"s":[{"t":19}],"w":12}]},84],"h":[{"o":70}],"k":[{"y":3}],"o":5,"p":[{"e":2}],"s":[{"e":[{"r":[{"s":40}]}]},68],"t":[{"o":79}],"u":[{"m":5,"r":5}],"w":[{"o":70}]}],"t":[{"a":[{"b":123,"l":5,"n":20,"p":5,"r":5,"t":6}],"ä":[{"n":5},73],"e":[{"i":1,"r":[{"a":10}]}],"h":20,"i":[{"n":5}],"o":21,"r":[{"a":[{"u":6}],"o":5}],"s":[{"a":[{"g":18}]}],"t":62,"u":[{"m":20,"r":20}],"z":35},68],"v":[{"e":10},2],"z":[{"a":[{"r":5}],"i":[{"n":20}]}]}],"j":72,"k":[{".":73,"a":161,"d":70,"e":[{".":77,"n":267,"s":77,"y":77},5],"l":[{"o":6},75],"n":6,"o":[{"r":[{"d":[{"a":10}]}]},75],"r":77,"s":[{"p":36}],"t":[{"a":[{"n":[{"t":[{"e":17}]}],"t":4}],"ä":20,"e":[{"l":34,"r":[{"f":4,"k":4,"z":37}]}],"o":[{"b":268},2]},73],"u":[{"r":[{"a":21}]},72],"w":75,"z":70},66],"l":[{"a":[{"b":[{"t":5,"u":1}],"d":[{"e":[{"r":1}]}],"f":0,"h":11,"k":99,"m":[{"i":38,"p":77},110],"n":[{"a":0,"d":[{"a":84}],"m":68,"s":84,"t":99,"w":84,"z":0}],"o":73,"p":99,"r":[{"i":3},99],"s":[{"i":117,"p":0}],"u":[{"f":[{"w":1}]}]},66],"ä":[{"d":77},90],"b":[{"i":[{"l":73}],"r":73}],"d":[{"a":[{"r":[{"i":4,"m":11},21]}],"e":[{"r":[{"f":12,"l":4,"p":18,"s":[{"t":33},18]}],"s":1}],"s":21},73],"e":[{".":126,"a":[{"r":21},72],"b":72,"c":[{"h":0},261],"f":[{"a":70}],"h":[{"e":[{".":1}]},79],"i":[{"e":[{"r":[{"n":269}]}],"n":[{"e":77},99],"t":140},73],"k":[{"o":73},70],"l":99,"m":[{".":72,"a":77,"i":2,"m":77,"p":125},80],"n":[{".":72,"k":[{"l":116}],"s":[{"e":84}],"t":99}],"p":77,"r":[{".":77,"a":21,"d":0,"e":[{"i":[{"g":170}]}],"f":[{"a":270,"i":84},0],"g":68,"h":0,"k":0,"l":99,"n":[{"ä":128}],"ö":21,"r":99,"u":1,"w":0},73],"s":[{"s":99}],"t":[{"a":110,"i":2,"t":[{"a":10}]}],"x":[{".":77},125]}],"f":[{".":70,"e":[{"r":2}],"m":70,"r":11,"t":70}],"g":[{"i":[{"e":[{"r":[{".":50,"s":50}]}]}],"l":3,"r":11}],"i":[{"d":99,"e":72,"f":23,"g":73,"m":68,"n":[{"a":23,"o":4,"s":0}]}],"k":[{"s":21},73],"l":[{"a":[{"d":[{"e":[{"n":50}]}],"p":5,"r":[{"b":6,"t":18}],"s":21}],"e":[{".":1,"i":[{"n":4},2],"l":6,"n":[{"e":[{"n":271}]}],"r":[{"f":[{"a":[{"s":51}]}],"g":57,"h":4},2]}],"i":[{"e":1,"l":5,"p":70}],"o":[{"g":34,"r":5,"t":5}],"ö":2,"s":[{"p":4}],"u":[{"m":21}],"ü":5}],"m":[{"a":3,"e":[{"i":[{"n":4}]},2]}],"n":[{"a":1},73],"o":[{"a":81,"f":68,"l":68,"m":68,"n":[{"k":68}],"p":[{"f":0}],"r":[{"i":2},0],"t":77,"v":75},73],"ö":73,"p":16,"s":[{"e":[{"i":[{"n":272}],"n":[{"t":1}]}],"u":[{"m":5}]}],"t":[{"a":[{"n":[{"s":6}]}],"e":[{".":1,"m":10,"n":[{".":7,"t":12}],"r":[{"b":18,"f":18,"h":4,"l":[{"e":13}],"n":273,"o":33,"s":[{"c":13}]}],"t":[{"h":4}]}],"h":[{"e":1}],"r":9,"s":[{"e":4}]}],"u":[{"f":0,"m":99,"r":166,"s":[{"e":1}],"t":[{"o":1},2]},90],"ü":66,"y":[{"a":68},73],"z":[{"a":[{"c":3,"r":5}],"e":[{"n":[{"e":6}]}],"i":[{"n":9}],"w":[{"a":5}],"y":73}]}],"m":[{"a":[{"b":166,"l":[{"k":99}],"n":[{"f":1,"o":99,"s":99,"z":70}],"s":[{"p":274}],"ß":77,"u":0}],"ä":[{"h":5},72],"b":[{"a":70,"o":70,"r":[{"y":70}]}],"d":[{"ä":5,"r":[{"a":5},9]}],"e":[{"b":110,"f":68,"i":2,"l":[{"e":68}],"n":[{"g":[{"e":[{"l":52}]}],"t":[{"h":116}]},5],"r":[{"i":35,"l":114,"w":0}],"t":[{"i":83}]},73],"i":[{"d":110,"e":[{"i":2}],"g":68,"k":21,"m":0,"n":[{"a":35,"d":77,"t":0},73],"r":80,"s":[{"c":77}]}],"m":[{"a":[{"u":23}],"e":[{"c":5}]}],"o":[{"a":68,"l":77,"s":4}],"p":[{"f":[{"l":1},275],"o":1}],"s":[{"a":5,"c":[{"h":[{"a":6}]}],"i":[{"m":5}],"p":[{"r":5}],"t":[{"r":9}]}],"t":3,"u":[{"l":[{"s":74},80],"n":[{"e":57}],"r":77,"s":77}],"ü":73},66],"n":[{"a":[{".":79,"b":[{"a":1,"o":1},192],"c":[{"k":128},79],"d":[{"i":18}],"f":84,"h":79,"k":1,"l":[{"a":21,"b":84,"e":77,"g":5,"i":35,"k":84,"m":84,"o":84,"p":23},0],"m":276,"n":[{"d":84,"e":1,"t":84,"z":84},11],"p":[{"a":2},0],"r":[{"e":1,"k":1,"o":1}],"s":[{"c":2,"t":277},0],"t":[{"i":216,"l":84,"s":10,"t":128,"u":79},73],"u":[{"f":278,"g":1,"r":128,"s":[{"t":[{"a":170}]}],"t":84}],"x":30,"z":117},68],"ä":[{"b":1,"i":77,"r":68,"s":[{"t":1},38]},0],"c":[{"e":[{".":5}]}],"d":[{"a":[{"c":2,"l":5,"n":[{"g":6}]}],"e":[{"l":[{"ä":10},73],"s":[{"s":37}],"x":5}],"i":[{"d":5}],"o":[{"r":[{"t":16}]}],"r":[{"o":[{"m":4}]}],"s":[{"l":35,"p":35,"z":4}],"u":[{"m":3}],"ü":3}],"e":[{".":73,"b":[{"e":[{"n":16}]}],"c":0,"f":[{"f":68}],"h":2,"i":[{"d":5,"e":[{"n":77}],"g":[{"e":84,"u":79}],"n":84,"s":84}],"l":[{"e":11},99],"m":[{"i":99},104],"n":[{"s":[{"e":84}],"t":[{"r":6},111],"v":[{"i":1}]},73],"p":0,"r":[{".":126,"a":5,"d":99,"e":[{"i":1}],"f":[{"r":6},68],"g":70,"h":68,"k":68,"l":99,"m":[{"i":84,"o":128}],"n":[{"e":128},79],"o":2,"r":99,"s":[{".":79},0],"t":[{".":6},99],"u":81,"w":99}],"s":[{".":77,"c":110,"k":99,"s":99},73],"t":[{"a":0,"h":99}],"u":[{"l":0}],"v":110,"x":192}],"f":[{"t":21,"u":2},1],"g":[{"a":[{"d":70,"g":70,"l":3}],"e":[{"r":[{"a":206}]}],"i":3,"n":1,"o":3,"p":70,"r":[{"a":11}],"s":[{"e":4},94]}],"i":[{".":77,"c":77,"e":[{"r":[{".":4,"p":4,"s":[{".":33}]}]},126],"k":[{"o":3}],"l":[{"l":1}],"m":[{"a":0,"i":0},11],"n":99,"o":77,"ö":2,"r":68,"s":[{"a":11,"o":128}],"t":249,"v":77},73],"k":[{"a":[{"u":[{"s":4}]}],"e":[{"l":[{"i":74}],"r":[{"g":4,"k":12}]}],"ü":3}],"n":[{"e":[{"f":5,"l":5,"r":[{"f":41,"g":4,"l":12}]}],"i":[{"g":[{"e":[{"r":52}]}],"v":73},2]}],"o":[{"a":81,"b":[{"e":[{"l":77}],"r":2},99],"f":68,"l":[{"i":1,"m":1}],"m":[{"a":2}],"n":11,"p":99,"r":[{"a":5,"i":11,"m":79},110],"s":[{"t":99}],"t":126,"w":2}],"ö":[{"d":30},90],"s":[{"a":[{"b":[{"b":1}],"n":5}],"c":[{"h":[{"e":7}]}],"e":[{"b":5,"m":70,"n":[{"e":252}],"r":[{"e":4}]}],"p":[{"o":[{"r":11},1]}],"t":[{"a":[{"k":11,"l":[{"t":50}]}],"ä":[{"t":12}],"e":[{"l":[{"e":22},11],"s":[{"t":19}]}],"o":73,"ü":21}],"u":[{"n":5}]}],"t":[{"a":[{"g":3,"n":[{"m":6,"w":6},73],"r":[{"k":16}]}],"d":70,"e":[{"l":3,"n":21,"r":[{"a":74,"b":6}],"s":1}],"f":[{"o":73},70],"g":[{"e":[{"g":74}]},70],"h":[{"i":5,"u":70,"ü":70}],"i":[{"d":20}],"l":[{"a":74}],"n":70,"o":[{"b":5,"p":[{"f":96}],"s":20}],"ö":73,"r":[{"o":[{"l":12}]}],"s":[{"c":70,"o":70,"t":[{"o":11}]}],"w":[{"e":[{"t":79}],"i":[{"c":74}]},70],"z":70}],"u":[{"f":68,"m":68,"r":11,"t":[{"o":84},104]},0],"ü":66,"w":[{"ü":79}],"y":90,"z":[{"a":[{"r":[{"e":1}]}],"ä":[{"p":2}],"e":[{"p":70,"r":[{"g":4,"k":12,"l":6,"m":12,"s":[{"c":33}]}]}],"i":[{"d":21}],"l":[{"a":[{"n":97}]}],"o":[{"l":21}],"y":70}]}],"ñ":66,"o":[{"b":[{"e":[{"n":1}],"l":1,"o":1,"r":1},279],"c":[{"h":21},0],"d":[{"r":1}],"f":66,"g":3,"h":66,"l":[{"a":1,"y":75}],"n":[{"a":[{"t":75}]},66],"o":0,"p":[{"e":66,"f":66,"r":11}],"r":[{".":77,"a":0,"b":77,"g":[{"i":132}],"s":77,"t":10,"w":77},66],"s":[{".":77,"e":1,"t":[{"e":112}]},2],"u":[{"l":0},220]},79],"ö":112,"p":[{"a":[{"g":2,"s":[{"s":[{"e":[{"r":52}]}]}]},76],"e":[{"r":73}],"f":[{"i":140},280],"h":2,"i":[{"d":80,"g":68,"k":68,"l":[{"e":80}],"o":77,"s":[{"t":73},70],"t":80}],"l":[{"e":1}],"o":[{"c":70,"r":[{"t":18}],"s":[{".":80}]}],"p":[{"a":5,"e":[{"l":23}],"i":[{"n":5}],"l":5,"r":5}],"r":73,"s":[{"h":1}],"t":[{"a":[{"l":5,"n":2,"u":5}]}],"u":[{"s":2},72]},66],"q":72,"r":[{"a":[{".":77,"b":[{"e":[{"r":4},2]}],"c":[{"h":68},2],"d":[{".":77,"i":77,"j":68,"m":[{"i":84},81],"r":128}],"f":[{"a":10}],"g":2,"h":66,"i":[{"c":1},66],"k":[{"e":77}],"l":[{"d":66,"e":[{"b":10}],"k":[{"e":1}],"l":81}],"m":[{"a":[{"t":11}]}],"n":[{".":5,"a":281,"d":[{".":77},206],"g":[{"r":84}],"h":68,"o":68}],"p":[{"a":1,"f":1},66],"r":[{"e":1,"i":77},68],"s":[{".":77,"i":[{"e":11},2],"t":66}],"ß":2,"t":[{"e":[{"l":84}]}],"u":[{"b":66,"c":66,"e":1,"f":21,"g":1}],"v":109,"w":66,"x":81,"z":66},0],"ä":[{"f":0,"h":0,"m":30,"p":0,"s":131,"t":[{"z":0}]},66],"b":[{"a":[{"r":[{"m":74}],"u":2}],"e":2,"r":[{"u":73}],"s":[{"p":2}]}],"c":[{"h":[{"l":1,"o":21}]},0],"d":[{"a":[{"m":[{"e":23},11]}],"b":70,"e":[{"c":73,"l":73,"n":[{"g":37}],"r":[{"w":4}],"u":100}],"g":70,"y":73}],"e":[{".":79,"b":[{"e":[{"n":16}]}],"c":[{"h":[{"s":1},75],"k":0}],"d":[{"i":[{"t":11},0]}],"f":[{"f":0}],"h":110,"i":[{".":126,"b":77,"g":0,"h":79,"k":77,"m":[{"e":128}],"n":[{"k":84}],"s":[{".":1,"a":[{"r":7}],"b":1,"f":1,"r":1,"t":[{"r":50}]}]},11],"k":84,"l":[{"e":[{"v":4},68]},30],"m":[{".":79,"i":[{"s":11},0],"p":68},73],"n":[{".":126,"a":77,"e":44,"s":[{"e":84}],"t":[{"n":84,"s":84}],"z":[{"e":[{"n":[{"d":47}]}]},77]},73],"p":[{"e":0}],"r":[{".":79,"b":73,"f":[{"o":128}],"h":68,"k":68,"l":[{"a":[{"u":50}]},92],"n":[{".":79,"e":84}],"o":92,"r":[{"i":10}],"s":[{".":79,"c":[{"h":[{"e":282}]}]},0],"t":68,"v":73,"w":73}],"s":[{".":79,"s":[{"k":23},0]},73],"ß":0,"t":[{"a":0}],"u":0,"v":[{"i":[{"d":11}]}]}],"f":[{"e":2,"o":[{"r":[{"m":79}]}],"r":11,"ü":[{"r":79}]}],"g":[{"a":[{"r":[{"e":12}]}],"e":[{"b":[{"i":79,"n":74,"ü":79}],"h":[{"a":79,"ä":79}],"l":[{"s":[{"t":33}]}],"n":[{"i":79}]}],"n":73,"o":[{"p":5}],"r":[{"e":[{"m":79}]}],"s":[{"o":94,"p":21}]}],"h":[{"a":[{"b":70,"g":1,"i":73,"l":[{"s":79}],"m":73,"n":73,"s":73}],"e":[{"i":1,"r":73}],"u":1},84],"i":[{"a":[{"t":68}],"b":77,"c":[{"o":128},126],"d":0,"e":[{"n":[{"s":57},283]},126],"k":[{"l":10},153],"n":[{".":126,"d":99,"i":99,"k":0,"l":0,"t":0,"z":0}],"o":[{"n":109}],"s":[{"o":68,"r":68},79],"t":[{"a":0,"r":74}],"v":77},73],"k":[{".":73,"a":[{"j":73}],"e":[{"r":1}],"l":[{"ä":70}],"m":73,"r":[{"e":73}],"t":62,"u":[{"m":5}]}],"l":[{".":73,"a":[{"g":73}],"e":[{"b":[{"n":74}],"h":79}],"n":73}],"m":[{"e":[{"n":[{"s":18}],"r":[{"s":12}]}]},3],"n":[{"a":[{"l":[{"t":12}]}],"e":[{"n":[{"e":6}],"r":[{"f":6,"k":6}],"u":[{"e":74}]},1],"o":[{"b":5,"r":21,"s":9}]}],"o":[{".":90,"a":66,"b":[{"l":2,"r":2},0],"f":110,"g":66,"h":66,"k":66,"l":[{"y":1},66],"m":[{"b":1},66],"n":72,"o":99,"p":0,"r":[{"a":21},284],"s":[{"i":[{"t":77},70]},66],"u":66,"w":66,"x":30,"z":0}],"ö":[{"d":2,"h":73,"l":11,"s":30}],"p":1,"r":[{"a":[{"d":[{"e":6}]}],"ä":1,"e":[{"n":73}],"o":1,"ü":73}],"s":[{"a":[{"n":[{"a":11}]},3],"c":[{"h":[{"n":7},18]}],"e":[{"i":79,"l":2,"n":1}],"i":43,"k":1,"t":[{"e":[{"d":79,"r":[{"s":214}]}],"i":[{"l":79}]}],"w":[{"i":1}],"z":1}],"t":[{"a":[{"b":20,"t":1}],"e":[{"r":[{"f":12,"g":37,"h":41,"k":41,"s":6}]}],"h":[{"o":5},9],"ö":79,"r":[{"u":79}],"s":[{"e":35,"p":94}]}],"u":[{"f":[{"s":10}],"h":[{"r":128}],"m":285,"n":[{"d":[{"u":84},0]}],"p":[{".":0}],"r":1,"s":[{"e":1}],"z":81},73],"ü":[{"b":11}],"w":[{"e":[{"c":[{"k":74}]}]}],"z":[{"e":[{"r":[{"k":6,"s":12}]}]}]}],"s":[{"a":[{"b":[{"e":84},1],"c":77,"d":2,"f":77,"l":[{"l":84}],"m":[{"i":0}],"n":[{"d":6,"f":1,"t":1},5],"p":[{"a":5},77],"r":[{"a":2}],"s":77,"v":2,"x":0}],"ä":[{"u":5}],"b":[{"i":[{"e":[{"r":[{".":50}]}]}]},73],"c":[{"e":75,"h":[{"i":5,"l":21,"n":21}],"o":84}],"e":[{"b":[{"e":0}],"c":99,"h":[{"r":0}],"i":[{"n":[{"s":18}]}],"l":5,"n":[{"a":[{"l":11}],"e":[{"u":11}],"o":23,"s":[{"k":23}],"t":[{"h":23}]}],"r":[{"a":[{"t":10}],"u":286}],"s":[{"k":21}],"x":3}],"f":73,"h":[{"a":[{"r":5}]},73],"i":[{"e":[{"r":9}],"k":287,"l":99,"s":[{"o":84}]},73],"k":[{"a":[{"t":5}],"e":128,"l":128,"y":128}],"m":73,"o":[{"a":81,"b":84,"d":99,"h":5,"p":[{"a":5}],"r":[{"a":0,"e":4,"t":5},2],"t":77}],"ö":75,"p":[{"a":[{"l":77,"r":[{"k":6}]}],"e":[{"k":5,"r":[{"s":84}]}],"h":84,"i":75,"o":[{"r":75}],"u":75},79],"r":73,"s":[{".":73,"a":[{"g":20,"l":[{"i":96}],"u":[{"s":18}],"y":70}],"ä":73,"c":73,"e":[{"r":[{"e":24,"f":11,"g":4,"l":[{"a":266}]}]}],"k":73,"o":[{"f":5},73],"p":[{"a":20,"u":5},73],"t":[{"a":[{"b":6}],"e":6}]}],"t":[{"a":[{"b":[{"b":18,"s":84}],"g":[{"e":23}],"k":9,"n":5,"p":11,"r":[{"b":84}],"s":149,"t":77,"u":[{"m":84},5]}],"e":[{".":5,"c":21,"i":[{"n":[{"g":33,"k":257,"l":257}]},10],"l":[{"e":84},21],"m":[{"i":89}],"n":[{"g":89,"t":[{"r":33}]}],"r":[{"h":[{"a":33}],"ö":288,"z":89}],"s":[{"s":89},100]}],"i":[{"d":84,"p":84},77],"m":[{"o":[{"d":[{"e":13}]}]}],"n":70,"o":[{"d":68}],"r":[{"a":[{"d":84,"k":1}],"e":[{"c":140}],"i":[{"c":[{"k":140}]}]}],"u":[{"m":[{"s":4}]},5],"ü":75,"y":75}],"u":[{"h":77,"m":99,"r":0,"s":11}],"w":73,"y":77},66],"ß":[{"e":[{"l":99,"n":[{"t":68}],"r":[{"e":4,"g":99,"l":99}]}]}],"t":[{"a":[{".":77,"b":10,"c":167,"f":72,"l":[{"l":[{"a":[{"g":52},97],"i":[{"n":289}]}]},73],"m":[{"i":0}],"n":[{".":121}],"t":[{"r":23},6]}],"ä":[{"h":0}],"e":[{"e":2,"f":111,"i":[{"n":111}],"k":[{"e":4}],"n":[{"d":189}],"o":2,"r":[{"h":[{"ö":10}],"o":9,"t":[{"r":10}]}],"s":[{"p":11}]},72],"h":[{".":73,"a":[{"l":128},5],"e":77,"i":[{"k":84},5],"n":74,"u":5}],"i":[{"d":290,"m":2,"n":[{"i":0},44],"t":[{"a":2,"h":2},5]}],"o":[{"b":68,"f":290,"n":[{"a":[{"l":25}],"s":18},6],"r":[{"g":84}]},72],"r":[{"a":[{"d":1,"u":[{"m":84}]}],"e":[{"c":1,"s":81}],"o":[{"s":6}]},73],"s":[{"c":[{"h":[{"e":[{"r":[{"e":291}]}],"w":15}]},2],"p":9,"u":0}],"t":[{"a":[{"b":34,"d":5,"k":5,"s":2,"u":5},9],"ä":5,"e":[{"i":5,"n":159}],"h":6,"ö":124,"r":38,"u":[{"m":20,"r":5}],"ü":124}],"u":[{"i":83,"r":77}],"w":[{"a":[{"r":10}]}],"y":[{"m":80}],"z":[{"e":[{"s":10}],"w":5},73]},66],"u":[{"a":30,"b":16,"c":[{"h":[{"t":[{"a":10}]}]},73],"d":[{"i":[{"e":10}]},73],"e":[{"b":5,"r":[{"e":[{"i":[{"f":42,"s":24}],"n":97,"r":[{"s":40,"t":40}]}],"i":1,"k":1,"r":1}],"s":[{"c":190},4]},73],"f":[{"e":[{"r":5}]},79],"g":[{"a":20,"e":[{"m":[{"i":10}],"n":[{"s":[{"e":22}]}],"r":3}],"i":[{"n":[{"f":18,"g":41},100]}],"r":[{"e":5,"i":5}],"s":94}],"h":1,"i":[{"d":0,"n":292}],"k":[{"a":[{"l":70}],"ä":5},84],"l":[{"a":[{"n":[{"d":96},100]}],"e":3,"i":2}],"m":[{".":77,"a":16,"b":77,"f":77,"l":77,"s":[{"p":44,"t":4},250],"w":77},90],"n":[{"a":5,"e":[{"i":6},2],"g":250,"i":[{"o":5,"s":6}],"k":[{"a":4},21]},73],"o":30,"p":[{".":66,"f":2,"g":77},0],"r":[{"a":[{"n":36,"s":[{"t":12}],"t":23,"u":5}],"c":9,"e":[{"n":[{"s":6},100],"r":11},68],"f":62,"o":70}],"s":[{"a":[{"r":77}],"c":[{"h":[{"o":18}]}],"i":2,"k":6,"p":1,"t":10},73],"t":[{"e":[{"d":7},2],"h":[{"a":82},2],"i":2,"o":3,"s":[{"c":[{"h":[{"a":24,"n":24,"r":24}]}]}]},73],"x":73,"z":[{"a":5,"o":5,"w":20}]}],"ü":77,"v":[{"a":[{"k":68,"r":77}],"e":[{"r":[{"i":33}]},76],"i":[{"e":[{"l":[{"e":23}]}]}],"o":[{"r":72}],"s":5},66],"w":[{"ä":[{"s":2}],"e":[{".":68,"i":[{"s":[{"c":10}]}],"r":[{"t":[{"e":23},18]}]}],"i":[{"r":77,"s":2,"t":77}]},66],"x":[{".":73,"a":[{"m":70,"t":1}],"c":73,"d":73,"e":[{"l":68,"r":0,"s":73}],"i":[{"k":73,"l":68,"n":99,"o":77,"s":70},66],"l":1,"p":[{"u":73},70],"s":73,"t":[{".":73,"a":76,"i":[{"n":5}],"r":70,"u":73,"v":73}],"u":[{"m":68},73],"y":90}],"y":[{"l":30,"n":[{"o":1},5],"s":2}],"z":[{"a":75,"ä":5,"e":[{"n":[{"n":99}]}],"i":[{"s":2},77],"o":75,"w":5,"z":3},66]}],"é":[{"b":66,"c":66,"g":[{"i":2},66],"h":66,"l":[{"u":2},67],"m":67,"n":66,"o":66,"p":66,"r":67,"s":66,"t":66,"u":67,"v":66,"z":67}],"è":[{"c":66,"m":66,"r":66}],"ë":[{"n":70,"t":66}],"ê":[{"p":66}],"f":[{"a":[{"b":[{"b":293,"e":[{"n":5}],"f":73,"g":73,"l":294,"n":73,"r":68,"s":293,"w":73},11],"c":[{"h":[{"e":[{"b":6,"l":6}],"i":295,"o":5,"s":[{"p":23},100]}],"i":5}],"d":[{"a":[{"n":5}],"e":[{"l":5,"r":66}],"i":5,"r":5}],"e":1,"h":[{"l":[{"e":[{"n":[{"t":42}]}]}]}],"i":[{"b":4}],"k":[{"a":67,"e":5,"t":[{"i":[{"o":77}],"o":84}],"u":83}],"l":[{"a":1,"e":1,"k":[{"l":2}],"l":[{"a":[{"g":18}],"e":[{"i":11,"n":[{"k":24,"t":50}],"r":[{"k":24,"s":40}]}],"i":[{"n":[{"i":24}],"s":11},18]}],"s":[{"c":[{"h":[{"a":24,"l":24,"m":24}]}]}],"t":[{"e":[{"i":11},4],"r":2}]}],"m":[{"e":[{"i":5}],"p":66,"t":66},74],"n":[{".":83,"a":[{"r":5}],"d":[{"a":21}],"f":68,"g":[{"a":2,"r":2}],"k":296,"l":73,"n":79,"p":66,"r":73,"w":73,"z":296}],"p":151,"r":[{"b":[{"a":28,"e":[{"l":11,"r":25}],"i":[{"n":11}],"l":23,"o":2,"r":162,"u":162}],"c":77,"i":297,"r":[{"a":28,"e":[{"c":11,"g":11},100]}],"t":72,"z":72},68],"s":[{".":74,"a":16,"h":1,"s":[{"i":66}],"t":[{"r":207},2]}],"ß":[{"e":66},5],"t":[{".":84,"o":5,"s":84},77],"u":[{"f":90,"g":77,"s":[{"b":66,"t":[{"r":15}]},2]}],"v":146,"x":[{"a":5}]},70],"ä":[{"c":298,"h":[{"r":[{"i":[{"n":11}],"u":2}]}],"l":[{"t":[{"e":66}]}],"q":73,"r":[{"b":74,"m":90,"z":73}],"s":[{"s":[{"e":[{"r":[{"k":24,"w":24},97]}]}]}],"ß":[{"c":74,"e":[{"r":5}]}],"t":[{"z":90}],"u":[{"g":73}],"x":73},70],"b":[{"a":[{"u":44}],"e":[{"r":21}]},238],"c":[{"h":77},90],"d":[{"i":[{"e":[{"n":[{"e":18}]}]}]},136],"e":[{".":74,"a":[{"t":[{"u":18}]}],"c":[{"h":68}],"d":[{"e":[{"l":5}],"r":5}],"e":[{"i":[{"n":49},20],"m":0}],"h":[{"e":151,"l":[{"e":[{"i":11},100]}]}],"i":[{"e":68,"n":[{"d":68,"g":90,"i":1,"s":[{".":1}],"w":90}],"s":66}],"k":[{"t":[{"i":[{"n":11}]}]}],"l":[{"a":115,"ä":20,"d":[{"a":2,"e":[{"m":18,"r":[{"h":52}]}],"r":[{"i":50},2]}],"e":[{"k":76,"m":73,"r":20,"s":5}],"l":[{"a":[{"n":11},4],"ä":2}],"o":20,"s":[{"o":[{"h":25}]}],"t":[{"e":[{"r":[{"n":299}]}],"r":10,"u":4}]}],"m":[{".":68,"b":73,"m":11,"p":73}],"n":[{"a":4,"ä":5,"d":[{"a":21}],"e":[{"r":[{"g":79}]}],"i":5,"o":5,"s":[{"a":35,"c":138,"t":[{"r":[{"i":24}]},100]}],"t":[{"a":35,"f":72,"i":68,"l":[{"a":79}],"o":68,"w":72,"z":126},66],"u":5}],"p":[{"i":5},74],"r":[{".":68,"a":[{"b":5,"d":35,"l":5,"n":[{"g":6,"t":11,"z":6}],"u":5},0],"ä":20,"d":[{".":73,"a":4,"e":300}],"e":[{"b":123,"c":5,"i":[{"g":126,"s":4},202],"l":[{"l":4},84],"r":[{"g":41}]},68],"f":[{"a":[{"h":11}],"o":[{"l":11}]}],"g":[{"r":84},10],"i":[{"d":21,"e":[{"n":195}],"o":[{"n":10}]}],"l":[{"e":[{"b":242}]}],"n":[{".":68,"e":[{"i":11}]}],"ö":5,"p":[{"a":84,"f":84,"l":84}],"r":[{"a":84,"e":[{"g":11}],"i":100}],"s":[{".":68}],"t":[{"r":10},68],"z":68}],"s":[{"s":[{"e":21}],"t":[{"a":[{"b":206,"n":23},5],"e":[{"i":301}],"i":[{"n":6}],"o":295,"r":172},11]}],"t":[{"a":151,"e":74,"h":5,"t":[{"a":25,"i":[{"s":15}]}]}],"u":[{".":73,"e":[{"r":[{"ö":15}]}]}],"w":74,"x":90,"y":30,"z":74},70],"é":70,"f":[{"a":[{".":77,"b":2,"c":[{"e":2}],"d":30,"k":77,"l":[{"t":0},77],"n":[{"s":0}],"r":[{"b":6},1],"s":11,"t":2,"u":0,"z":11}],"e":[{"b":110,"e":2,"f":99,"i":[{"n":[{".":4}]},99],"k":140,"l":[{"l":23}],"m":[{"i":68},30],"n":5,"r":[{"l":[{"e":1}]}],"t":[{"z":68}]}],"f":11,"i":[{"k":4,"l":68,"m":68,"x":[{"i":11}]}],"l":[{"a":[{"g":0}],"e":1,"i":1,"ü":77}],"o":[{"r":[{"i":0}],"x":0},2],"ö":68,"r":[{"ä":121,"o":1}],"s":[{"a":[{"m":2}],"c":[{"h":1}],"p":20,"t":[{"a":[{"u":11}],"i":[{"e":4}],"u":[{"t":4}],"ü":1}]}],"t":3,"u":[{"s":[{"s":23}]}],"y":68},191],"g":[{"e":[{"b":21,"s":35}],"l":[{"i":[{"m":100}]}]},236],"h":236,"i":[{".":74,"a":[{"k":6,"r":5,"t":1}],"d":[{"e":[{"n":100}],"o":5}],"e":[{"i":20,"r":[{"f":78}]},68],"g":[{"r":5}],"k":[{"a":[{"s":20}],"e":[{"l":5}],"i":[{"n":5}],"n":5,"o":149,"r":12}],"l":[{"a":[{"n":38}],"d":4,"e":[{"s":5,"t":2}],"g":10,"i":[{"n":6,"p":2},1],"m":[{"a":2,"ä":2,"e":[{"d":11,"i":11}]}],"o":5},68],"m":[{"p":73}],"n":[{"a":201,"e":2,"f":90,"g":[{"s":100},21],"i":1,"k":68,"s":[{"p":2}],"t":90}],"o":[{"l":1},5],"r":[{"a":1,"e":6,"m":[{"e":4}]},5],"s":[{"a":16,"c":[{"h":[{"a":252,"e":[{"i":22}],"l":15,"o":15,"r":6,"w":252}]}],"h":3,"o":90,"p":2}],"t":[{"e":21,"i":[{"n":5}],"o":[{"r":5},94]}],"v":[{"e":10}],"x":[{"e":[{"l":5}]}],"z":[{"a":5}]},70],"j":[{"o":83},90],"k":[{"a":[{"t":25}]},238],"l":[{".":73,"a":[{"d":77,"n":[{"d":140,"s":84}],"p":77,"s":[{"c":84}],"t":[{"s":77}],"u":[{"m":[{"a":97}]}]}],"ä":[{"c":146,"d":126,"h":73,"n":72,"r":73,"ß":73,"u":72},70],"e":[{".":140,"b":72,"e":84,"i":[{"n":248}],"k":[{"t":100},23],"r":77,"x":84}],"i":[{".":77,"m":146,"n":[{"d":77,"e":11,"g":77,"s":72}]}],"o":[{"n":248,"p":231,"ß":231,"t":231,"w":2}],"ö":[{"f":79},77],"u":[{"c":146,"f":77,"g":231,"s":[{"s":231}],"ß":70,"t":[{"o":44},84]}],"ü":[{"d":140,"m":140},84]},221],"m":[{"a":[{"c":[{"h":[{"e":33}]}],"d":2}]},236],"n":[{"i":[{"s":2}]},236],"o":[{"b":[{"e":[{"r":73},5],"l":2},66],"f":151,"l":[{"i":23}],"n":[{"a":[{"n":6,"u":4},5],"d":[{"r":4}],"i":[{"n":12}],"o":[{"p":5}],"s":21,"u":5}],"p":90,"r":[{"g":126,"m":[{"a":[{"g":302,"s":11}],"e":[{"i":25}],"i":[{"n":11}]}],"n":[{"i":[{"e":[{"r":[{".":57}]}]}]}],"s":[{"c":[{"h":[{"l":24}]}],"t":[{"a":11,"i":11}]}],"t":[{"e":[{"i":25,"r":303}],"h":28,"r":162,"s":189,"u":4}],"u":2}],"t":[{"r":11}]},70],"ö":[{"f":76,"k":90,"l":191},70],"p":304,"q":90,"r":[{"a":[{".":77,"c":[{"h":[{"t":[{"r":13}]}]}],"d":72,"h":72,"m":11,"n":[{"d":77}],"p":140,"t":77,"u":[{".":70,"c":77}]}],"ä":[{"d":73,"n":231}],"e":[{".":73,"c":77,"d":77,"f":73,"i":[{".":84,"c":77,"e":84,"f":44,"g":84,"k":189,"n":73}],"k":73,"p":72,"s":[{"t":73}],"u":146}],"i":[{"c":[{"h":[{"t":[{"e":40}]}]},72],"d":4,"e":2,"g":73,"k":89,"p":77,"s":[{"c":84,"t":[{"e":[{"r":24}]},84]},70]}],"o":[{"c":72,"l":73,"n":[{"a":71},305],"p":84,"s":[{"c":2}],"t":77}],"ö":[{"s":21}],"u":[{"c":84},77],"ü":77},208],"s":[{"a":[{"c":77,"l":99,"n":[{"e":1},109],"r":128,"s":131,"t":[{"e":1},2],"u":[{"t":68}]}],"ä":[{"n":5}],"c":[{"a":68,"e":84,"h":[{"a":[{"n":84}],"e":[{"f":84}],"r":[{"o":84}]}],"r":68}],"e":[{"b":110,"e":[{"i":2}],"n":[{"e":292,"t":99},2],"r":99,"t":[{"a":99},2]}],"i":[{"d":131}],"k":[{"y":75}],"o":[{"h":77,"l":77},110],"p":[{"a":[{"n":[{"n":77}],"s":99}],"h":68,"i":[{"e":5}],"l":75,"o":[{"r":75}],"r":[{"e":68,"o":68}],"u":[{"l":5}]},11],"s":3,"t":[{"a":[{"l":5,"s":68,"t":75}],"ä":[{"t":[{"i":128}]}],"i":[{"p":68,"s":99}],"r":[{"e":[{"s":128}],"ü":0},11],"ü":[{"t":[{"e":84}]}]}],"u":[{"n":99}],"y":77},191],"t":[{"a":[{".":68,"b":[{"e":30,"l":0}],"f":0,"g":75,"l":[{"a":0}],"n":0,"p":99,"r":30,"t":[{"t":1}]}],"ä":[{"u":99}],"e":[{".":77,"c":[{"k":0}],"d":[{"i":0}],"h":[{"e":2},0],"i":[{"g":0,"n":0,"s":0}],"l":[{"i":0}],"m":[{"a":4,"i":0}],"n":[{"t":99}],"r":[{"f":[{"ü":1}],"k":0,"l":99,"z":99}],"t":[{"i":110}],"x":99}],"h":[{"e":[{"i":128}]},99],"i":[{"d":99,"m":84,"n":[{"g":75},99]}],"o":[{"f":99,"n":44,"p":0,"r":[{".":77}],"t":81},2],"r":[{"a":[{"n":121}],"e":[{"s":81,"u":77}],"i":[{"t":6}],"o":1,"u":[{"h":1}]}],"s":[{"a":[{"m":6},34],"ä":[{"n":5}],"c":[{"h":[{"e":6}]},2],"e":[{"n":132},34],"i":5,"o":5,"t":[{"e":[{"i":4,"m":6,"r":6,"s":6}],"i":[{"e":[{"r":22},1]}],"r":[{"i":1}]}]},9],"u":[{"m":68,"r":[{"k":0,"l":0}]}],"w":[{"a":[{"r":52},10]}],"z":[{"e":[{"d":23}]},3]},191],"u":[{"c":74,"g":74,"h":68,"k":[{"u":23}],"l":[{"b":10}],"m":[{"e":[{"i":5}],"m":68},306],"n":[{"d":[{"e":[{"r":[{"g":24,"h":24},23]}]}],"f":90,"g":[{"l":73}],"i":151,"k":[{"l":2,"o":2,"r":162,"u":2}],"m":90,"r":73,"t":73}],"r":[{"c":[{"h":100}],"e":[{".":6}],"l":72},68],"s":[{"s":[{"a":2,"p":28,"t":[{"e":11},28]}]}],"ß":[{"e":[{"r":20}]}],"t":74},70],"ü":[{"b":73,"h":[{"l":[{"s":[{"c":10}]}]}],"n":2,"r":5},70],"v":90,"w":191,"y":66,"z":[{"a":5,"e":[{"i":[{"t":[{"e":[{"n":[{"d":65},307]}]}]}]}],"ö":5,"u":[{"g":[{"a":2}]}],"w":5},191]}],"g":[{"a":[{".":74,"b":[{"f":73,"g":73,"l":308,"o":2,"r":[{"i":11},66],"s":[{"c":73}],"t":[{".":68,"r":73}],"u":1,"w":73,"z":73}],"d":[{"e":[{"r":21}],"i":[{"e":10},3],"r":5}],"e":2,"f":[{"l":0}],"g":[{".":176}],"k":[{"a":5,"u":5},0],"l":[{"a":[{"f":1,"r":5,"u":90},2],"b":90,"g":90,"l":[{"e":10,"o":4}],"p":90,"t":[{"a":90,"d":90}],"u":67}],"m":[{"e":[{"c":5,"l":1}],"m":[{"a":4}],"o":243,"t":90}],"n":[{"a":[{"l":73},67],"d":62,"f":73,"g":[{"a":73,"e":[{"b":79}],"r":2,"s":[{"p":10}],"u":28}],"k":90,"l":73,"m":[{"u":73}],"o":[{"b":5},83],"r":73,"s":[{"i":90,"t":73},21],"w":73,"y":0,"z":90}],"p":[{"e":1,"p":90}],"q":0,"r":[{".":74,"a":68,"c":73,"d":83,"e":[{"t":1}],"i":3,"m":72,"o":3,"t":[{"i":90}],"u":1,"z":90}],"s":[{".":68,"a":[{"l":12,"m":6}],"c":[{"h":[{"e":97}]}],"e":[{".":7,"i":6,"l":6,"m":309,"s":7,"t":6},21],"s":[{"e":[{".":243,"s":[{"s":223},77]}]},138],"t":[{"e":[{"l":301}],"i":[{"n":6},1],"r":[{"a":[{"s":22}],"ä":25,"i":1,"o":[{"m":22}]}],"u":9}],"u":[{"n":1}]},5],"t":[{"a":3,"m":73,"r":11}],"u":[{"c":9,"f":90,"g":72,"k":68,"n":[{"e":33}],"s":90,"t":90}],"z":1}],"ä":[{"p":90,"r":[{"t":[{"h":4}],"z":73}],"s":[{"t":7},2],"u":6}],"b":[{"a":[{"u":[{"s":50}]}],"e":[{"r":21}],"i":2},136],"c":90,"d":[{"a":[{"d":[{"e":4},75],"k":99,"n":99,"r":99,"u":99},66],"ä":306,"e":[{"i":156,"l":[{"s":0}],"n":[{"t":68}],"r":99,"t":99}],"i":[{"n":99}],"o":[{"p":68},66],"ö":66,"r":[{"e":1,"u":1},66],"s":3,"t":11},73],"e":[{"a":[{"t":[{"e":6}]},3],"b":[{"a":2,"l":[{"e":1,"i":[{"n":11}],"o":11}],"o":[{"t":100}],"ü":74}],"c":[{"h":0}],"d":11,"e":[{"c":1,"s":[{"t":15},5]},30],"f":[{"a":7,"ä":74,"f":191,"l":11,"r":11,"u":1}],"g":[{"e":[{"n":[{"e":97},163]}],"l":3,"r":11},84],"h":[{"e":[{"r":[{"l":15}]}],"o":1}],"i":[{"d":90,"e":31,"g":6,"l":68,"n":[{"f":5,"h":10,"r":90,"s":21,"v":21},292],"r":0,"s":[{"e":90,"h":4,"s":[{"c":116}],"t":[{"a":11,"r":15}]}]}],"k":[{".":73}],"l":[{"a":[{"n":[{"z":6}]}],"b":[{"r":[{"a":25},44],"s":50}],"d":[{"e":[{"n":11,"r":[{"h":24,"s":24},97]}]}],"e":[{"c":1,"f":5,"k":76,"m":73,"n":[{"e":6},132],"r":[{"e":4,"k":6,"ö":15,"s":12}],"v":20}],"f":4,"i":[{"m":185}],"l":[{"a":35,"e":4,"i":21}],"ö":2,"s":[{"a":35,"p":21,"z":4}],"t":[{"a":4,"r":10}],"z":35}],"m":[{"a":[{".":6}],"e":24,"p":191,"s":4,"u":1},2],"n":[{"a":[{"c":36,"d":6,"k":6,"l":12,"m":6,"p":6,"r":6,"t":6,"u":[{"g":11}]},1],"d":[{"a":[{".":79}],"i":[{"n":310}],"m":[{"o":126}],"r":2}],"e":[{"i":[{"d":4}],"r":[{"f":18,"g":79,"n":12,"w":[{"e":24}],"z":18}]}],"i":[{"m":5}],"k":62,"n":4,"o":[{"c":5}],"s":[{"a":[{"m":11}],"e":[{"m":[{"b":24}]}],"k":4,"z":4}],"t":[{"ä":4,"f":73,"h":35,"r":4,"w":73}],"u":[{"n":5}],"z":[{"w":4}]}],"o":[{"o":0,"r":[{"i":2}]}],"p":[{"l":1,"o":1},232],"r":[{"a":[{"b":5,"k":5,"l":38,"n":[{"n":1,"t":6}],"r":311,"s":2},0],"d":[{"g":73}],"e":[{"m":1,"n":[{"e":6,"g":6,"s":41,"t":12}],"r":2}],"i":[{"n":[{"d":18,"f":18,"n":11,"t":18}]}],"k":[{"l":[{"ä":242}]}],"l":[{"a":[{"s":77}]}],"m":[{"e":33}],"n":[{"o":4,"t":90}],"o":[{"b":5},0],"ö":30,"s":[{"a":[{"t":11}],"e":[{"h":241}]}],"u":3}],"s":[{".":170,"c":[{"h":[{"e":[{".":22}]}]},143],"e":[{"b":5,"l":[{".":304,"t":4}],"r":20}],"h":[{"a":1}],"i":3,"o":1,"p":[{"a":1,"i":11},2],"s":[{"t":21}],"t":[{"a":10,"e":52,"u":[{"r":12}]},21]}],"t":[{"a":[{"p":66},2],"h":[{"i":5}],"r":[{"e":[{"i":7}]}],"s":9,"u":16}],"u":[{"l":106,"n":[{"k":1}],"r":[{"t":0}],"t":3}],"x":239},70],"f":[{"i":[{"l":2}]},136],"g":[{"a":[{"t":2}],"e":[{"n":[{"e":2}]},140],"l":[{"a":77,"o":77},5],"n":81,"r":6},90],"h":[{".":79,"a":[{"l":[{"e":74}]},5],"e":[{"t":83},5],"i":[{"e":83}],"l":0,"r":218,"s":2,"u":68,"w":0},90],"i":[{"a":[{"l":[{"o":1}],"s":2}],"c":[{"h":[{"t":132},21]}],"e":[{"g":4,"i":20,"l":[{"a":21},38],"n":[{"e":138,"o":6}],"r":[{"e":[{"s":4}]}]}],"f":[{"t":[{"s":50}]}],"g":[{"u":5}],"k":[{"e":[{"l":5}]}],"l":[{"l":90}],"m":[{"e":[{".":5,"s":6,"t":5},74],"p":73}],"n":[{"d":104,"e":1,"f":90,"h":158,"s":[{"a":2},90],"t":72,"v":104}],"o":[{"b":5,"k":73}],"s":[{"e":[{"l":72}]}],"t":[{"a":2,"t":[{"e":52}]}],"u":[{"s":6}]}],"j":90,"k":304,"l":[{".":79,"a":[{"b":191,"c":90,"d":[{"u":73}],"g":90,"m":90,"n":[{"d":73}],"s":[{"c":28,"t":[{"r":11,"u":11},18]}],"u":[{"b":83,"f":90}]}],"ä":[{"d":66,"n":[{"d":73}],"s":74,"ß":66,"u":[{"f":73}]}],"b":1,"e":[{".":72,"a":74,"b":72,"c":77,"d":126,"e":77,"g":72,"h":73,"i":[{"c":84,"n":126,"t":[{"e":[{"r":[{"s":59}]}],"r":312}]}],"n":[{"k":79},77],"r":[{"e":[{"i":97}]},126],"s":[{".":74,"e":77},73]},208],"i":[{"a":68,"b":73,"d":83,"e":[{"b":126},83],"f":73,"k":68,"l":79,"m":68,"n":73,"o":68,"s":73,"t":[{"e":77},68],"z":[{"e":77},68]}],"o":[{"a":68,"b":68,"c":[{"h":72},68],"k":68,"m":68,"p":68,"r":[{"b":73}],"s":73,"t":68}],"ö":[{"c":[{"h":73}],"s":73,"w":73}],"s":73,"u":[{"f":72,"k":73,"n":72,"t":68},66],"ü":[{"g":77},83],"w":73,"y":83},5],"m":[{"e":[{"n":[{"t":[{"r":10}]}]}],"i":[{"s":2}]},151],"n":[{".":73,"a":[{".":84,"c":73,"d":84,"h":248,"l":[{"e":[{"r":313}]},6],"n":[{"l":73}]},221],"ä":83,"b":73,"c":73,"d":73,"e":[{"h":77,"n":[{"t":103}],"t":[{"r":2}]},5],"f":73,"g":73,"h":73,"i":[{"e":68,"f":68,"n":[{"t":73},84],"s":[{"e":100},314]}],"k":73,"l":73,"m":73,"o":[{"n":146,"t":77},315],"p":73,"r":73,"s":73,"t":73,"u":[{"m":[{".":83}]},73],"ü":68,"v":73,"w":73,"y":68,"z":73},66],"o":[{"a":[{"l":[{"i":4}]},6],"b":[{"e":[{"l":23}],"j":73,"l":109},66],"f":151,"g":73,"h":[{"r":[{"e":[{"n":4}]}]},316],"i":30,"l":[{"a":2,"d":[{"a":2}],"f":[{"r":2}]}],"n":[{".":74,"a":[{"t":6}],"e":2,"s":74}],"p":[{"a":83,"f":10,"o":[{"s":5}],"t":73}],"r":[{"a":2,"d":90,"g":90}],"s":[{"i":5,"l":1,"p":5,"z":90}],"ß":74,"t":[{"h":3,"t":[{"e":[{"r":[{"b":24,"g":42}]}]}]}],"u":74,"y":0}],"ö":[{"f":5,"l":66,"t":74}],"p":136,"q":90,"r":[{"a":[{"b":[{"a":2,"i":2,"l":11},84],"d":[{"l":72}],"h":72,"k":72,"m":[{"m":[{"e":[{"n":[{"d":65},307],"r":52}]}]},44],"n":[{"d":[{".":77}]}],"r":[{"e":44},104],"s":[{"a":25,"h":11,"p":2,"t":[{"r":11}]}],"u":[{"b":72,"f":23,"m":73,"s":[{"k":23}]}]}],"ä":[{"d":73,"s":[{"c":44}],"u":77}],"e":[{".":248,"b":84,"c":72,"d":[{"e":77}],"e":192,"f":[{"r":2},72],"g":[{"e":73}],"i":[{"c":72,"f":[{"r":10}],"h":72,"n":77,"t":77}],"m":146,"n":[{"n":126,"o":4,"z":[{"e":[{"i":54}],"w":15}]},74],"r":84,"s":[{"e":73,"s":[{"e":[{"r":317}]}]}],"t":77,"v":77}],"i":[{"c":72,"e":[{"m":72,"s":[{"e":77}]},2],"g":73,"l":[{"l":[{"a":10}]}],"n":[{"g":126,"n":126}]}],"o":[{"b":[{"a":162,"e":[{"r":4}],"l":2,"r":162}],"c":73,"h":73,"l":72,"s":[{"e":72,"s":[{"e":[{"l":52}]},84]}],"ß":84,"t":84}],"ö":[{"h":73}],"u":[{"f":[{".":73,"t":84}],"h":72,"i":77,"m":72,"n":[{"g":21}],"p":74,"s":74,"ß":74,"t":72}],"ü":[{"c":72}]},208],"s":[{"a":[{"b":3,"c":[{"h":1,"k":77}],"d":2,"k":3,"l":[{"b":128,"l":84,"m":84,"t":84},318],"m":[{"a":84,"b":0,"p":84}],"n":[{"e":1}],"p":16,"r":3,"s":0,"t":[{"o":1},77],"u":[{"g":21,"r":10}],"v":2},68],"ä":0,"c":[{"a":84,"e":84,"h":[{"e":[{"f":84}],"i":319,"n":140},10],"o":84},77],"d":1,"e":[{"h":38,"i":[{"l":319}],"k":[{"l":11}],"l":[{".":77,"a":128,"n":77}],"m":1,"n":[{"k":5,"t":84},44],"r":[{"e":77,"i":118},84],"s":277,"u":84},110],"f":[{"i":[{"l":21}]}],"g":[{"e":[{"n":[{"e":97}]}]}],"h":[{"a":1}],"i":[{"d":2,"k":3,"l":77,"o":128,"s":84,"t":[{"a":84}]},99],"k":[{"i":[{"e":295}]}],"o":[{"b":11,"n":140,"p":81,"r":[{"g":[{"e":141}]}],"z":140},30],"p":[{"a":[{"c":5,"n":[{"t":6}]}],"e":[{"i":140,"k":75}],"i":[{"e":140},75],"l":1,"o":[{"r":[{"t":[{".":320}]}]}],"r":[{"u":128}]},117],"r":[{"a":[{"t":18}]}],"s":3,"t":[{"a":[{"b":99,"d":77,"f":68}],"ä":[{"t":99}],"e":[{".":5,"i":[{"n":140}],"l":[{"l":140},2],"m":[{".":6,"p":84}],"n":[{".":6}],"r":[{".":6,"e":[{"i":170},6],"m":84,"r":4},21],"s":[{".":6,"t":84}],"u":140}],"h":[{"y":5}],"i":[{"e":1,"s":1},75],"o":[{"c":[{"h":84}],"d":84,"r":84,"t":0},77],"r":[{"a":11,"e":[{"i":[{"t":33}],"s":11,"u":128}],"i":[{"t":4}],"o":[{"s":4}],"u":68,"ü":0}],"u":[{"r":0}]}],"u":[{"n":1},0],"y":77},79],"t":[{"e":77,"h":[{"y":5},0],"i":[{"m":2},5],"o":77,"r":6,"s":[{"e":6}]},90],"u":[{"a":[{"l":[{"e":6}],"n":[{".":0,"t":0}],"s":0}],"d":[{"r":12}],"e":[{"d":73,"t":21},5],"f":151,"h":90,"i":[{"n":[{"s":1}],"s":117}],"m":[{"e":2,"m":[{"i":132},74]}],"n":[{"e":2,"f":90,"g":[{"e":[{"w":79},100],"l":73}],"i":151,"k":72,"r":73,"t":73}],"r":[{"e":10,"l":191,"t":[{"h":162,"r":2,"s":23}]},74],"s":[{"a":12,"ä":5,"c":[{"h":[{"i":245}]}],"s":[{"o":44,"p":2,"t":11}],"t":[{"a":[{"b":206,"p":6}],"e":[{"i":[{"n":22}],"n":[{"d":321}]}],"i":1,"r":5}]}],"ß":[{"t":21},20],"t":[{"a":9,"e":[{"r":[{"h":37}]},1],"h":9,"s":[{"p":162}]},5]},70],"ü":[{"b":73,"r":322,"s":[{"t":1}]}],"v":72,"w":90,"y":[{"n":[{"a":6},1]}],"z":[{"e":[{"u":[{"g":[{"i":10}]}]}]},161]}],"h":[{"a":[{".":73,"b":[{"a":2,"e":2,"i":2,"l":[{"u":66}],"n":73,"r":67,"s":66,"w":73}],"c":[{"h":[{"e":[{"n":301}],"o":5}]}],"d":[{"a":73,"e":[{"l":5,"n":21}],"l":[{"e":66}],"r":[{"i":1},67]}],"e":[{"l":1},73],"f":[{"a":[{"r":6}],"e":2,"f":[{"ä":66,"l":62}],"t":[{"r":2,"s":[{"p":15},21]},68]}],"g":[{"a":2,"g":68}],"h":[{"a":1,"s":68}],"i":[{".":74},68],"j":68,"k":[{"a":73,"l":0}],"l":[{".":69,"a":[{"l":3,"n":[{"c":18}],"r":67,"u":5}],"b":[{"a":2,"e":[{"l":11}],"i":[{"n":11}],"r":162,"u":2}],"e":73,"h":73,"i":2,"k":73,"l":[{"e":[{"i":11,"r":[{"e":24,"f":40,"g":24}],"u":11}],"o":[{"k":64}]}],"o":1,"p":79,"s":[{"p":2}],"t":[{"a":[{"l":11}],"e":[{"i":11}],"r":162}]}],"m":[{"m":74,"o":[{"t":100}],"t":[{"e":4},90]}],"n":[{".":68,"a":[{"l":5,"n":5,"u":2},73],"b":[{"e":68},73],"d":[{"a":2,"e":[{"r":25}],"r":162},68],"e":[{"m":5}],"f":28,"g":[{"e":[{"n":[{"d":42}]}],"r":[{"o":11}],"s":23}],"k":28,"l":73,"o":73,"r":73,"z":73}],"o":[{"s":2}],"p":[{"e":83,"l":5,"o":5,"r":5},90],"r":[{"a":[{"b":6},81],"b":73,"c":73,"d":68,"f":[{"r":2}],"m":[{".":66,"a":4,"e":[{".":11},68]}],"n":[{"e":11}],"o":[{"m":5}],"s":73,"t":[{"e":10,"h":2,"i":66}],"z":[{"a":2}]}],"s":[{".":73,"a":103,"c":2,"h":162,"s":[{"a":11,"e":[{"r":97}],"t":44}],"t":[{"r":6}]},68],"ß":[{"e":66},20],"t":[{"a":5,"i":2,"l":77,"r":38,"s":73,"t":[{"r":77},21]}],"u":[{"d":[{"i":66}],"f":[{"b":66,"l":[{"i":[{"e":323}],"o":62}],"m":90,"s":66}],"g":324,"k":[{"t":66}],"s":[{"a":[{"n":11},2],"c":28,"e":[{"l":11,"n":[{"t":42}]},68],"p":[{"a":11,"e":11}],"s":[{"e":[{"n":307}]}],"t":[{"i":25,"o":11}],"u":[{"r":11}]}],"t":[{".":68,"a":28,"r":162}]}],"v":[{"e":[{".":5}]}]}],"ä":[{"d":[{"e":21}],"f":[{"f":66}],"i":73,"k":[{"l":5}],"r":[{"z":73}],"s":[{"c":[{"h":[{"e":[{"n":19}]}]}],"t":90}],"u":[{"g":73,"s":[{"c":28,"p":1}]}]}],"b":[{"a":[{"r":[{"a":[{"s":11}]}]}],"e":[{"r":[{"e":21}]}]},207],"c":90,"d":[{"a":[{"n":21}]},136],"e":[{"a":[{"d":5},73],"b":[{"e":[{"i":[{"s":4}]},1],"l":38,"r":1,"u":1}],"c":[{"h":[{"e":224,"i":1,"o":0,"s":77}]}],"d":[{"g":2,"i":[{"t":5}]}],"e":[{"m":117,"n":2,"s":2,"t":30}],"f":[{".":68,"a":[{"b":1,"n":5,"u":5}],"e":[{"i":20,"m":3,"r":[{"m":4}]}],"f":73,"i":[{"d":5,"n":[{"g":37}]}],"l":[{"e":190}],"r":[{"a":11,"e":5},73],"t":74,"u":5}],"g":[{"u":1}],"h":[{"e":[{"l":5}]}],"i":[{"a":11,"b":84,"e":66,"f":66,"g":66,"m":[{"a":[{"l":11,"r":11}],"e":[{"i":11}],"p":23,"u":11},5],"n":[{"a":11,"e":[{"b":25,"n":[{"e":24}],"r":25},100],"t":[{"r":77}]},73],"o":73,"s":[{"m":125,"t":117}],"t":[{"s":159},68],"w":66}],"k":[{"t":[{"a":23}]}],"l":[{"a":[{"g":1,"n":9,"u":4},5],"e":[{"c":9,"k":5,"m":77,"n":5}],"f":68,"i":1,"l":[{"a":[{"u":23},21],"i":[{"c":11}]}],"m":[{"e":[{"i":11}]}],"o":[{"r":3}],"ö":5,"t":79}],"m":[{".":84,"a":73,"b":2,"d":70,"e":147,"i":[{"a":6,"s":[{"s":121}]},166],"m":70,"p":72}],"n":[{".":68,"a":311,"ä":5,"e":[{"b":[{"e":4}],"n":[{"d":4,"e":6,"s":6},132],"r":[{"g":4,"m":6}],"t":149}],"g":[{"a":[{"g":11},73]}],"k":[{"a":[{"n":11,"u":11}]}],"o":[{"t":23},73],"s":[{"e":[{"m":11}],"t":325}],"t":[{"a":21,"e":[{"r":11},4],"r":4,"s":66,"w":72,"z":77}],"u":12,"z":35}],"o":[{"n":1,"p":1},76],"p":[{"a":1,"h":1,"i":67,"t":21}],"r":[{".":68,"a":[{"b":35,"d":5,"p":73,"r":311,"u":100}],"b":21,"e":[{"b":123,"c":[{"k":6}],"i":[{"f":11,"g":222,"s":[{".":22,"e":[{"s":255}]}]}],"l":5,"n":[{"e":6}],"r":[{"s":[{"c":22}],"w":6}]}],"f":[{"o":[{"l":11},66]}],"g":[{"e":[{"b":[{"n":223}]}]}],"i":[{"f":73,"n":[{"d":18,"f":18,"n":[{"u":265}],"s":18}]}],"k":[{"e":66,"l":[{"ä":11}],"r":[{"a":[{"n":326}]}]}],"l":[{"a":[{"d":170}]}],"m":73,"o":[{"b":178,"f":6,"p":6,"t":6},1],"ö":[{"r":66}],"s":[{"t":[{"a":4}]}],"t":[{"h":4},10],"u":[{"m":4}],"z":[{"a":[{"p":11}],"e":[{"n":[{"g":24}],"u":126}],"w":28}]}],"s":[{"a":1,"e":73,"i":1,"p":3,"t":2}],"t":[{"a":[{"p":5}],"ä":1,"e":[{"r":100}],"h":1,"i":2,"s":16}],"u":[{"g":4,"n":[{"t":1}],"s":[{"c":74}]},5],"x":[{"a":30,"p":73},1],"y":[{"e":0},2]}],"è":70,"f":[{"a":[{"l":[{"l":[{"e":[{"r":307}]}]}],"n":21}],"e":[{"l":[{"l":327}]}],"i":[{"s":2}],"l":[{"e":[{"i":100}]}]},207],"g":[{"a":[{"s":[{"e":[{"n":11}]},44]}]},136],"h":[{"o":[{"h":21}]},151],"i":[{".":79,"a":[{"r":5,"t":66},73],"c":[{"e":0,"h":[{"t":[{"e":[{"r":54}],"s":[{"p":13}]}]}]},73],"d":[{"e":11,"i":[{"o":6}],"o":73},1],"e":[{"n":[{"s":1}],"r":[{"e":[{"i":11}],"i":[{"n":11},23],"s":100}]},5],"f":[{"f":[{"r":62}]}],"k":[{"r":38}],"l":[{"a":268,"e":[{"n":189}],"f":[{"r":2}]}],"m":[{"a":73,"b":66,"i":[{"t":121}],"m":84,"p":[{"e":77}]},68],"n":[{"a":[{"k":1,"m":1,"p":1,"s":43}],"d":[{"e":68}],"e":[{"i":21,"l":1,"n":328}],"f":66,"h":66,"i":187,"n":35,"o":219,"t":[{"a":28}]},5],"o":[{"b":1,"n":6},73],"p":[{"l":6},38],"r":[{"a":1,"e":1,"i":1,"m":[{"a":28,"i":2}],"n":[{"e":[{"r":11}]},44],"s":2,"t":70},5],"s":[{".":73,"a":2,"e":6,"o":67,"p":[{"a":5}]}],"t":[{"a":[{"c":1,"n":5}],"e":[{"l":5}],"i":3,"r":[{"o":5},9],"z":[{"e":35}]}],"v":[{"o":20}]}],"j":90,"k":[{"a":[{"m":[{"p":100}]}],"e":[{"u":68}],"i":[{"n":28}]},207],"l":[{"a":[{"g":[{"r":2},5],"m":[{"m":[{"e":[{"n":[{"g":27}]}]}]}],"n":[{"d":[{"a":116}]}],"s":66,"t":66,"u":[{"t":66}],"y":66}],"ä":[{"c":[{"h":[{"e":77}]}],"d":77,"s":66,"ß":66,"u":66}],"b":11,"d":16,"e":[{".":77,"a":4,"b":77,"d":77,"e":4,"i":[{"s":[{"t":77},68]}],"l":0,"n":[{".":140,"a":[{"s":11}],"e":[{"n":96}],"n":5,"t":[{"r":128,"s":84}],"z":5}],"r":[{"a":162,"e":6,"g":68,"h":[{"ö":10}],"k":5,"n":[{"ä":329}],"u":[{"n":4}],"w":0,"z":84},77],"s":[{"i":84},77]}],"f":11,"g":11,"i":[{"e":[{"d":77},68],"f":68,"m":68,"n":[{"d":0,"g":[{"s":195}]}],"p":68,"s":[{"t":77},68],"t":330}],"l":[{"e":[{"b":23}]},3],"m":3,"o":[{"b":0,"c":77,"f":30,"g":77,"p":0,"r":[{"a":2},84],"s":[{".":77,"i":77,"s":[{"t":10}]}],"ß":28},68],"ö":[{"s":68}],"s":[{"a":[{"r":6}],"e":[{"r":5}],"k":[{"a":1}],"l":[{"o":3}],"t":[{"i":[{"e":4}],"r":1}],"u":5}],"t":3,"u":[{"f":77,"k":77,"m":[{"p":[{"e":77}]}]}],"ü":[{"f":66}],"z":2},73],"m":[{"a":[{"d":77,"g":77,"k":77,"n":[{"t":68},77],"r":[{"c":84},77],"s":77,"ß":77}],"ä":[{"c":84,"h":84,"l":84},77],"e":[{".":77,"d":77,"e":[{"r":[{"s":18}]},185],"i":[{"n":77,"s":[{"t":77}]}],"l":[{"d":77,"e":4}],"n":[{"s":21},77],"r":[{"a":[{"n":11}],"e":[{"i":11}]}],"x":77},5],"i":[{"e":2,"n":[{"d":77,"i":77,"z":77}],"r":[{"r":77}]}],"o":[{"p":77,"t":77},68],"ö":[{"l":84},75],"p":3,"s":[{"p":20}],"u":[{"l":77,"s":[{"i":77}],"t":[{"s":10}]},68]},90],"n":[{"a":[{"g":77,"m":77,"r":84,"t":[{"e":3,"t":84}],"u":[{".":77}]},68],"ä":[{"h":0}],"d":16,"e":[{"b":4,"e":162,"f":[{"f":1}],"i":[{"g":1,"n":1}],"l":68,"n":[{"g":6},11],"p":[{"f":11}],"r":[{"d":[{"e":10}],"e":[{"i":23}],"o":287,"s":[{"a":128}]},77],"x":1},5],"f":[{"l":[{"e":[{"i":97}]}]},16],"h":[{"o":[{"f":[{"s":[{"t":[{"r":[{"a":[{"s":51}]}]}]}]}]}]}],"i":[{"c":68,"d":68,"e":68,"m":0,"n":0,"p":68,"s":[{"a":11}]}],"k":11,"n":[{"o":21}],"o":[{"r":109}],"r":[{"a":21}],"s":[{"a":1,"p":3,"t":2,"u":[{"c":[{"h":97}]}]}],"t":[{"s":21}],"u":[{"l":68,"n":[{"f":99}]}],"z":3},73],"o":[{"a":[{"r":6}],"b":[{"e":[{"r":[{"n":1}]}],"l":38}],"c":[{"h":[{"e":100},23],"k":[{"t":23}]},5],"d":73,"e":[{"n":4,"r":1},76],"f":[{"a":309,"ä":5,"e":[{"d":5,"u":5}],"f":[{"a":62}],"l":38,"o":20,"r":38,"u":5}],"i":73,"l":[{"a":[{"r":4},20],"e":[{"i":20,"m":5},70],"g":62,"k":4,"l":10,"y":[{"m":77},73],"z":[{"e":[{"n":[{"e":24}]}]},70]}],"m":[{"e":[{".":5,"c":5,"d":5},2]}],"n":[{"d":10,"e":[{"r":2}]},68],"o":[{"n":0,"r":2}],"p":[{"e":66},73],"r":[{"a":[{"n":331,"u":5},0],"d":150,"e":[{"n":[{"s":6}],"t":1},73],"g":90,"t":[{"a":4,"e":[{"r":11}],"s":23,"u":66}]}],"s":[{".":68,"e":[{"i":6},224],"l":[{"a":6},1],"t":[{"r":5}]}],"ß":[{"e":[{"n":[{"e":6}]}]}],"t":[{".":73,"h":1,"r":73,"s":332}],"u":[{"s":11},70],"w":105,"x":66,"y":30}],"ô":0,"ö":[{".":73,"c":5,"h":[{"e":176}],"s":[{"c":9,"t":77},333]},80],"p":161,"q":66,"r":[{"a":[{"b":2,"c":1,"d":1,"g":30,"h":112,"i":66,"n":[{"e":66}],"p":1}],"ä":[{"u":77}],"b":11,"c":0,"d":1,"e":[{"c":[{"h":75},68],"d":77,"f":[{"f":1},77],"h":99,"i":[{".":84,"b":[{"a":10,"r":10}],"c":77,"f":77,"g":128,"n":[{"i":6,"l":84}],"t":[{"h":23}]}],"p":77,"r":[{"g":[{"e":[{"b":52}]}],"h":5,"k":5,"l":[{"a":84,"e":[{"b":334}]}],"m":5,"s":[{"a":10,"t":50}],"w":5,"z":5}],"s":[{"s":246,"t":100},335],"t":[{"a":99},2],"u":99,"v":68}],"g":[{"a":10,"u":10},2],"i":[{"c":[{"k":84},77],"e":[{"s":[{"l":77}]},11],"n":[{"d":111,"t":0},77],"s":[{"t":84}]},68],"l":1,"m":3,"o":[{"g":77,"h":77,"l":220,"m":[{"a":[{"t":84}],"e":84,"i":84,"o":84}],"n":84,"p":[{"a":66}],"r":11,"u":77}],"ö":[{"s":250}],"s":[{"a":[{"c":20,"n":[{"d":12}]}],"c":[{"h":1}],"e":[{"m":20,"n":5,"r":20,"t":5}],"h":6,"i":[{"n":5}],"k":4,"l":4,"o":[{"f":20}],"t":[{"e":[{"c":6,"l":[{"e":22}]}]},21],"u":5}],"t":[{"a":[{"b":5,"n":5}],"e":[{"l":34}],"h":5,"o":[{"p":5}],"r":[{"i":[{"c":4}]}],"s":[{"t":[{"e":11}]},2]}],"u":[{"h":77,"m":[{"s":0}],"t":77}],"ü":[{"b":84},77],"y":84,"z":2},73],"s":[{"a":[{"c":[{"h":[{"t":128}]}],"d":109,"l":[{"k":99,"l":68}],"m":[{"t":84}],"n":[{"d":1},68],"s":99,"t":[{"h":68,"o":68}],"u":[{"d":68,"r":128,"t":68}]}],"ä":[{"h":68,"u":[{"g":68}]}],"c":[{"h":[{"a":[{"n":84}]}],"r":5},77],"e":[{"c":81,"e":11,"h":[{"r":99}],"i":[{"e":99,"n":[{"d":84,"s":[{"t":170}]}]}],"l":[{"e":77,"i":[{"n":11}]}],"m":[{"i":0}],"n":[{"e":[{"r":[{"g":50}]}],"t":99}],"r":[{"f":99,"g":0,"h":68,"k":[{"l":84}],"l":99,"n":[{"ä":84,"e":6},0],"ö":68,"w":99,"z":68}],"x":[{"t":75},68]}],"h":[{"a":[{"k":21}]}],"i":[{"d":110,"m":5,"n":[{"g":99,"n":[{"i":121}]}],"t":[{"a":111}]}],"k":[{"a":[{"l":5,"n":[{"d":77}]}]}],"o":[{"f":0,"p":68,"r":[{"g":0}]}],"p":[{"a":[{"c":68,"n":[{"i":128}],"r":99,"t":99}],"e":[{"c":77,"i":77,"r":68}],"h":68,"o":[{"i":77},68],"r":[{"ä":68,"o":68}]}],"s":2,"t":[{"a":[{"f":68,"l":[{"t":4}],"n":2,"u":68}],"ä":[{"l":68,"u":68}],"e":[{"a":84,"l":[{"e":84}],"r":[{"m":84}]}],"i":[{"e":[{"r":1}],"n":68,"t":68}],"o":[{"l":99,"r":99}],"ö":77,"r":[{"e":[{"u":128}],"o":100}],"u":[{"n":77},68],"ü":77}],"u":[{"n":[{"g":5}]},99],"y":77},191],"t":[{"a":[{"b":[{"l":2},68],"d":109,"g":5,"k":[{"t":[{".":6,"e":6}]}],"l":[{"l":68,"o":68,"p":68,"t":68}],"m":2,"n":[{"e":1,"k":77},109],"p":68,"r":109,"s":[{"i":81,"y":68},5],"t":[{".":77,"e":77},81],"u":[{"g":77},68],"x":84},0],"ä":[{"r":68},0],"e":[{".":77,"b":[{"e":[{"r":16}]}],"c":[{"h":[{"a":4}]},0],"d":110,"f":[{"f":0}],"h":[{"e":30}],"i":[{"f":68,"g":99,"l":[{"z":128}],"m":99,"n":0,"s":99}],"k":[{"e":99}],"l":[{"a":[{"s":1}],"e":[{"i":[{".":42}],"k":84}],"f":[{"e":128}],"i":[{"t":128}]}],"m":[{"i":0,"p":68},11],"n":[{".":77,"g":[{"l":1}],"t":[{"a":1,"f":84}]}],"r":[{"d":[{"e":[{".":52}]}],"e":[{"r":[{"s":40}]}],"f":[{"o":1,"ü":[{"l":170},1]}],"g":[{"e":[{"b":170}],"r":[{"i":52},1]}],"h":[{"ä":[{"l":52}],"ö":[{"h":[{"u":27}]}]},0],"l":[{"e":[{"b":170,"u":336}]}],"n":[{"e":[{"u":170}]}],"s":[{"p":[{"a":[{"r":27},7]}],"t":[{"a":170},1]}],"t":[{"r":[{"a":52}]}],"w":[{"ä":1}],"z":[{"e":1}]}],"s":[{"e":99,"s":99}],"t":[{"a":68,"h":11}],"u":[{"m":77,"n":77},99],"x":[{"t":[{"r":84}]}]}],"h":[{"e":[{"i":84,"r":[{"a":77}],"s":77}],"o":84},99],"i":[{"d":110,"g":77,"m":99,"n":[{"e":1},337],"s":[{"c":77},99],"t":62}],"n":[{"i":21}],"o":[{"b":99,"d":28,"f":110,"l":[{"y":81}],"p":[{"e":68}],"r":[{"d":68}]}],"r":[{"a":[{"k":1,"n":[{"d":1},77],"s":128,"t":[{"e":[{"s":22}]}],"u":[{"b":84,"m":[{"e":22}]},1]}],"e":[{"c":[{"k":77},1],"i":1,"s":81}],"i":[{"c":1,"e":[{"g":128}],"n":81,"t":77}],"o":[{"l":81,"s":81,"ß":81}],"ö":[{"m":1}],"u":1,"ü":81}],"s":[{"a":[{"h":5,"l":5,"n":178}],"c":[{"r":5}],"e":[{"i":[{"n":6}],"l":5,"n":[{"d":12,"g":6}],"r":[{"i":4},163]}],"h":[{"a":[{"k":16},100]}],"k":[{"r":4}],"o":20,"p":[{"a":[{"r":4}]}],"t":[{"ä":[{"t":4}],"e":[{"m":12}],"i":[{"e":11,"p":6}],"u":[{"r":12}],"ü":[{"r":12}]}]},84],"t":[{"i":21},11],"u":[{"e":2,"r":[{"s":99}]}],"z":3},191],"u":[{"a":5,"b":[{"a":20,"e":[{"i":5,"l":6,"n":338}],"i":5,"l":38,"r":272,"u":5}],"f":[{"a":5}],"h":[{"a":38,"i":20,"r":66,"u":66}],"k":[{"ä":5,"i":[{"n":20}],"t":62}],"l":[{"a":[{"b":6},115],"ä":5,"e":[{"b":20,"i":20,"m":5,"n":[{"g":12,"t":6}],"r":20,"t":5},21],"i":[{"d":5,"n":20}],"l":35,"o":5,"ö":5,"s":4}],"m":[{"a":3,"h":66,"s":66}],"n":[{"a":66,"d":[{"e":[{"i":15},35]},68],"e":2,"f":73,"g":[{"e":4,"s":[{"a":97}]},21],"i":66,"m":66,"t":73},5],"p":[{"s":66}],"r":[{"g":35,"t":[{"h":162}]},73],"s":[{"a":3,"h":4,"o":5,"s":[{"a":162,"e":[{"r":339},4],"o":28,"p":2,"t":11}]}],"ß":20,"t":[{"a":[{"b":5}],"i":5,"o":20,"r":38,"t":2,"z":[{"e":[{"n":11,"r":25}],"u":2}]}]}],"ü":[{"b":[{"e":[{"r":77}],"s":84,"u":77}],"f":[{"t":44},2],"h":[{"n":[{"e":18}]}]},68],"v":[{"i":[{"l":21}]},90],"w":[{"a":[{"l":[{"l":68}]}],"e":[{"c":9,"i":[{"b":66,"h":66,"n":[{"s":[{"a":13},96]}]}]}],"i":[{"r":[{"r":68}]}]},76],"y":[{"d":[{"r":1},70],"l":[{"o":[{"r":5}]}],"m":[{"n":70}],"o":[{"s":1},66],"p":[{"e":[{".":5}]},70],"t":76}],"z":[{"a":5,"o":75,"u":[{"g":10}],"w":75},90]}],"i":[{"a":[{"d":[{".":77,"a":2,"n":66,"o":1}],"f":[{"l":11}],"g":[{"o":68}],"h":30,"i":66,"k":[{".":77,"e":[{"i":5},77],"r":5,"t":66}],"l":[{"a":[{"r":4,"s":4},123],"ä":5,"b":62,"d":62,"e":[{"b":77,"f":77,"i":77,"k":1,"l":77,"n":[{"g":77,"t":77}],"r":[{"b":77,"f":340,"h":77,"m":121}],"t":341,"x":77}],"i":[{"a":75,"m":77,"n":75}],"l":[{"e":[{"r":11}],"i":21},153],"o":[{"n":5,"p":5,"r":123},68],"p":4,"s":4,"t":35,"u":115,"z":35},66],"m":[{".":66,"a":1,"p":[{"e":18}],"s":66}],"n":[{".":66,"a":[{"l":[{"t":4},5],"u":5},220],"c":66,"d":249,"e":[{"b":342,"r":2}],"n":66,"s":[{"p":28},66],"t":77,"z":[{"a":18},77]}],"o":[{"p":5},0],"p":1,"q":0,"r":[{".":77,"a":5,"e":68,"r":4},66],"s":[{".":77,"h":1,"i":68,"p":30,"s":33,"t":10},66],"t":[{".":77,"h":[{"e":84},250],"r":70,"s":77}],"u":[{"n":1,"s":28},77],"z":68}],"ä":[{"m":67,"p":66,"r":[{".":66,"s":66}],"t":[{"e":[{"m":121}],"i":5,"s":138},66],"v":66},73],"b":[{"a":[{"r":[{"t":0}],"u":[{"f":99,"s":99,"t":68}]}],"b":[{"e":1,"l":[{"i":5}]}],"e":[{"i":[{"g":99,"s":99}],"n":71,"r":[{"g":[{"e":[{"b":334}]}],"l":[{"a":343}],"o":9}]}],"i":[{"m":68,"n":99}],"l":[{"a":[{"d":68}],"e":[{"u":68}],"u":77}],"o":75,"ö":68,"r":[{"a":[{"u":81}],"i":[{"c":1}],"o":[{"c":81}]}],"s":[{"e":[{"r":5}],"t":[{"e":6}]}],"u":[{"n":[{"k":81,"t":81},5],"s":[{"c":44}]}]},191],"c":[{"a":77,"c":0,"h":[{"a":[{"r":[{"t":[{".":24}]}]},94],"ä":9,"e":[{"i":9,"r":[{"i":[{"n":271}]},2]},66],"i":66,"l":[{"e":4,"i":4,"o":344},9],"m":33,"n":4,"o":[{"r":[{"t":4}]},66],"r":169,"s":[{"e":[{"l":[{"e":24}]}],"i":28,"t":[{"i":[{"e":24}]}]}],"t":[{"r":2}],"u":66,"w":9}],"i":66,"k":[{"t":21}],"l":[{"a":1},66],"r":[{"a":1}],"u":77},73],"d":[{"a":[{"b":5,"c":75,"l":6,"m":5,"n":[{"s":75},30],"t":121,"u":0,"x":5},73],"ä":9,"e":[{".":72,"a":68,"e":70,"i":[{"s":1}],"l":[{"ä":10},73],"m":[{"u":[{"l":84}]}],"n":[{".":126,"o":71,"s":[{"e":10}]}],"r":[{"a":[{"n":4}],"i":[{"n":[{"n":[{"u":58}]}]}],"ö":9,"r":[{"e":[{"g":52}]}]}],"s":[{"a":33,"o":4,"p":21},72]},5],"i":[{"o":[{"n":11,"t":84},345]}],"k":73,"n":[{"i":23}],"o":[{"l":68,"o":73},5],"ö":68,"r":[{"o":6},68],"s":[{"p":20}],"t":11,"y":80},66],"e":[{"a":3,"b":[{"ä":5,"l":5,"r":[{"e":4,"i":5,"ü":12}],"s":[{"t":[{"o":11}]}]}],"c":[{"h":[{"o":5,"t":23}]},0],"d":[{"a":[{"n":38}],"e":1,"r":5}],"e":30,"f":[{"a":[{"k":[{"t":4}],"n":20,"r":5,"u":5}],"ä":[{"h":5}],"e":[{"m":21}],"f":62,"i":2,"l":38,"o":[{"n":[{"k":6}]}],"r":[{"o":5},9]}],"g":[{"l":[{"i":33},5],"n":16,"r":[{"e":38}],"s":[{"c":346,"e":11,"i":11,"t":347},2]}],"h":[{"e":[{"r":1}],"i":[{"n":20}],"r":35}],"i":[{"n":[{"d":0}]},66],"l":[{"a":[{"r":21},348],"ä":[{"s":5}],"d":62,"e":[{"b":349,"c":9,"i":[{"d":4}],"k":5,"n":[{"e":6,"g":6},84],"r":[{"e":18,"f":[{"i":13}],"g":[{"e":[{"b":51}]}],"k":[{"e":13}],"l":[{"a":13,"e":[{"b":[{"n":51}]}]}],"w":11}],"s":100},68],"i":[{"d":21},68],"l":66,"o":[{"b":124,"p":5,"r":22}],"s":[{"z":4},92],"t":21}],"m":[{"e":2,"i":[{"s":100}]}],"n":[{".":77,"a":[{"g":9,"m":2,"s":6},77],"ä":77,"e":[{"b":9,"c":77,"k":350,"r":[{"f":[{"o":13}],"g":199,"l":[{"a":13}]}],"x":77},68],"f":77,"g":[{"e":[{"f":18,"z":18}]},351],"h":77,"i":[{"d":5,"m":5,"n":12}],"j":77,"k":77,"l":[{"a":77,"e":77}],"m":77,"n":77,"o":75,"ö":77,"p":77,"r":77,"s":[{".":77,"a":77,"c":77,"e":249,"k":35,"p":249,"t":[{"e":[{"r":352}],"o":[{"p":24}],"r":[{"ä":49},10]}],"z":153}],"t":[{"a":[{"r":25}],"e":4,"h":77,"r":4,"y":77}],"v":77,"w":77,"z":77},66],"o":117,"r":[{"a":[{"d":115,"l":4,"n":4,"p":38}],"b":[{"u":[{"n":77}]},10],"d":4,"e":[{"c":[{"k":6}],"i":[{"n":[{"s":50}],"s":12}],"r":[{"k":15,"z":12},3]},68],"f":10,"g":[{"i":66},10],"i":84,"k":[{"e":[{"n":97}]},10],"n":[{".":77,"a":21,"i":68},66],"ö":5,"r":[{"e":[{".":11}]}],"s":[{"e":[{"h":25,"i":4}],"t":[{"a":4}]}],"t":[{"e":4,"i":21}],"z":35}],"s":[{"a":[{"n":5}],"c":68,"e":68,"p":[{"a":16,"u":6},2],"s":[{"e":[{"r":[{"g":353,"l":24}]}],"t":[{"i":23},2]}],"t":[{"e":52,"i":[{"n":6}]}],"u":1},73],"ß":[{"e":[{"r":[{"g":18}]}]}],"t":[{"a":[{"g":20,"k":20,"n":5,"p":20,"t":5,"u":5}],"e":[{"n":[{"t":6}],"r":[{"h":12,"t":12}]}],"h":[{"e":[{"r":4},84],"o":20,"y":5}],"o":[{"b":6}],"ö":[{"s":149}],"r":[{"i":38,"u":38}],"s":[{"e":2}],"t":66,"z":[{"w":4}]}],"u":[{"e":2,"n":0}],"w":[{"u":38}],"x":67}],"f":[{"a":[{"b":0,"n":[{"g":[{"e":1}]}],"r":[{"m":81},0],"t":6,"u":99}],"ä":[{"n":0}],"e":[{"c":68,"f":99,"i":[{"n":0},11],"n":107,"r":[{"g":99,"h":0}]}],"f":[{"a":5,"e":[{"s":[{"t":[{"e":22}]},10]}],"l":38,"o":[{"r":[{"m":6}]}],"r":[{"o":5}],"s":[{"t":[{"e":11}]},2]}],"l":[{"a":[{"c":0}],"ä":6,"o":[{"s":6},10],"ü":66},1],"r":[{"e":[{"g":68,"v":6},66]},1],"s":[{"a":1}],"t":[{"a":38,"e":[{"d":5,"f":38,"i":20,"l":34,"p":5,"r":[{"k":6}],"s":[{"c":12},10]}],"h":6,"o":[{"p":5}],"r":[{"i":4},20],"s":[{"p":9,"t":21,"z":4}],"u":[{"r":5}]}],"y":66},73],"g":[{"a":[{"n":[{"b":68}],"r":[{"b":68,"t":0}],"s":4,"t":[{"t":81}]}],"d":2,"e":[{"b":[{"r":[{"a":[{"u":170}]}]}],"f":[{"a":[{"r":84}],"ü":[{"g":11}]}],"l":[{".":83,"a":[{"u":33}],"n":68}],"m":[{"e":11,"i":[{"s":11}]}],"n":[{"a":11,"e":[{"n":[{"e":24}]}],"i":[{"d":11}],"s":50}],"o":2,"p":[{"a":2}],"r":[{"a":2,"w":[{"e":[{"r":7}]}],"z":[{"e":10},0]}],"s":[{"e":[{"l":11}],"s":99}],"t":[{"r":[{"a":11,"e":11}]}],"w":[{"o":[{"h":11}]}]}],"i":[{"m":68}],"l":[{"a":[{"u":0}],"e":77,"i":[{"m":1}]},68],"n":[{"a":6,"ä":84,"e":[{"u":121}],"o":6}],"o":[{"p":9}],"r":[{"a":[{"d":1}],"e":[{"n":6},81],"o":[{"u":68}]}],"s":[{"a":[{"g":1,"l":6}],"ä":1,"c":[{"h":[{"r":6}]}],"o":30,"p":[{"a":5},0],"t":[{"i":6,"o":36,"ö":5,"r":[{"a":[{"s":22}]}],"u":[{"r":6}]}]}]},90],"h":[{"a":[{"r":68}],"e":[{"e":9,"l":[{"t":0}],"n":11,"u":4},77],"m":1,"n":1,"r":3,"s":[{"p":1,"t":[{"i":1}]},5],"u":[{"m":[{".":0}]}],"w":0},90],"i":[{"a":16,"e":66,"g":77,"m":66,"n":77,"s":[{".":68},112],"t":[{".":66},1]},5],"j":[{"s":80},66],"k":[{"a":[{"g":[{"e":2}],"k":[{"a":0,"e":[{"n":96}],"t":99}],"m":[{"t":1}],"n":[{"g":99,"t":[{"e":[{"i":170,"n":[{"n":59}]}]}]}],"r":[{"t":0}],"t":[{"t":1}],"u":99,"z":77}],"ä":[{"h":0,"n":99,"r":68}],"e":[{"b":[{"e":0},68],"d":99,"f":99,"i":99,"l":71,"n":[{"s":78,"t":0},28],"r":[{"a":2,"e":354,"f":[{"a":[{"m":140}]},114],"h":114,"l":92,"o":68,"u":169}],"t":[{"a":99}]},79],"i":[{".":77,"d":30,"e":77,"n":[{"s":68},0]},79],"l":[{"ä":[{"n":6}],"e":[{"r":[{"i":121}],"t":121}],"i":[{"m":6}],"u":77},81],"n":[{"e":68,"u":1}],"o":[{"b":[{"e":4}],"f":[{"f":99}],"p":94,"r":[{"i":2},0],"t":[{"t":23}]}],"ö":[{"l":68}],"r":[{"ä":1,"e":[{"s":68},1],"i":[{"s":6}],"o":[{"s":23},77],"ö":68}],"s":[{"a":1,"z":3}],"t":[{"a":1,"e":[{"r":[{"k":4}],"s":[{"k":12}]}],"r":[{"e":38}],"u":2}],"u":[{"h":99,"p":68,"s":77}],"ü":68},90],"l":[{"a":[{"b":68,"c":99,"k":99,"m":[{"a":30}],"n":[{"g":0,"m":99,"o":68,"z":[{"e":[{"r":52}]},5]}],"r":[{"b":68}],"s":[{"p":0}],"u":[{"b":77,"f":[{"b":121}],"s":163},99]},66],"ä":[{"r":68},306],"b":[{"l":11},73],"c":[{"h":[{"e":[{"n":7}]}]},5],"d":[{"a":5,"ä":5,"e":[{"b":[{"e":4}],"n":[{"t":37}],"r":[{"p":11},1]}],"i":21,"o":[{"r":5},9],"r":5}],"e":[{"c":0,"i":[{"d":18,"n":0}],"l":0,"m":[{"b":68,"i":110}],"n":[{"t":[{"l":84,"s":84},0]}],"r":[{"d":99,"e":[{"i":[{"g":170},10]}],"f":[{"o":10},0],"g":92,"h":114,"k":[{"l":270}],"r":[{"i":84},0],"z":75}],"t":[{"h":11}],"x":0},79],"f":[{"l":38,"r":[{"e":38}],"s":71},2],"g":[{"l":5}],"h":73,"i":[{"e":[{"n":355}],"g":[{"a":[{"b":25},100]}],"k":10,"n":[{"d":99,"i":[{"t":128}],"s":0}],"p":[{"f":9},99]},73],"l":[{"a":[{"d":6,"n":[{"t":11},2]},1],"ä":34,"e":[{"g":[{"e":10},5],"n":[{"n":6}],"r":3}],"u":70}],"m":[{"a":[{"k":5,"p":20,"u":20}],"e":[{"i":9}],"i":[{"n":5}],"o":[{"r":5}]}],"o":[{"b":0,"h":5,"n":6,"p":5,"r":110,"u":77,"v":77,"x":0},73],"s":[{"e":[{"n":[{"t":4}]}],"t":[{"o":2}]}],"t":[{"h":1},2],"u":[{"f":10,"m":68,"r":99,"s":77},66],"ü":11,"v":158,"z":[{"a":[{"r":5,"u":5}],"e":[{"r":[{"k":4}]}],"w":[{"a":5}]}]}],"m":[{"a":[{"d":21,"i":9,"l":5,"n":[{"h":81,"s":68}],"r":[{"c":68,"e":[{"n":1}],"m":99,"t":99}],"t":[{"r":2,"s":[{"c":50}],"u":[{"r":11}]},6],"u":[{"s":0,"t":68}]}],"b":1,"e":[{"g":68,"i":[{"n":0}],"j":68,"k":68,"l":[{"e":68,"f":68}],"n":5,"r":[{"f":114,"l":114,"z":114}],"s":[{"h":89,"s":23}],"t":[{"i":68}],"w":68}],"h":[{"a":[{"u":100}]}],"i":[{"d":[{"e":30},68],"m":68,"n":[{"d":99,"f":68,"s":99}]}],"m":[{"a":[{"t":[{"r":74}]}],"e":[{"n":[{"t":[{"h":22},4]},132]}],"i":[{"t":5}],"o":[{"d":31},70],"ö":5}],"n":[{"i":21}],"o":[{"b":99,"p":110,"r":[{"e":4}]},73],"ö":68,"p":[{"f":[{"a":2,"o":224}],"s":[{"e":1},2]},70],"t":[{"e":2,"i":3,"u":21},73],"u":[{"m":5,"r":[{"k":0}]},73]}],"n":[{".":73,"a":[{"b":[{"e":2,"u":1}],"c":[{"k":84},0],"d":0,"l":[{"d":77,"e":[{"r":[{"e":24},97]}],"p":5}],"m":99,"n":[{".":1,"a":1,"n":1},5],"r":[{"b":68}],"t":[{"t":1}],"u":[{"s":132},356]}],"ä":[{"h":99,"r":5,"s":0},73],"d":[{".":73,"a":[{"c":2,"l":5,"n":5},21],"ä":73,"e":[{".":73,"n":73,"r":[{"k":[{"e":33}]}],"s":[{"p":23,"t":18}],"x":70}],"i":[{"k":70},2],"ö":1,"r":[{"i":11},73],"s":[{"e":4}],"u":[{"s":70}],"ü":3}],"e":[{"c":0,"e":77,"f":[{"f":68}],"l":[{"e":[{"n":6}]}],"n":[{"ä":4,"z":[{"y":270}]},28],"r":[{".":140,"b":[{"i":128}],"h":[{"a":6,"e":270}],"k":77,"l":[{"e":[{"b":334},357],"ö":10}],"t":[{"r":343}]}],"s":77,"t":5,"u":[{"n":4},0]},73],"f":[{"e":[{"k":70}],"i":[{"z":70}],"o":70},16],"g":[{"a":[{"f":20,"g":20,"l":20,"m":5,"r":9},73],"ä":73,"e":[{"n":[{"i":74}],"r":[{"w":37},3]}],"l":[{"a":1},76],"s":[{"a":[{"m":11}],"p":[{"o":[{"r":52}]}]}]}],"h":[{"a":[{"b":70,"r":73,"u":73}],"e":73}],"i":[{".":73,"d":[{"e":4},5],"e":73,"g":[{"a":21},73],"k":[{"r":62}],"s":[{"e":4},73],"t":[{"z":77},21]}],"k":[{"a":[{"r":[{"n":74}],"s":70}],"e":[{"n":[{"t":12}],"r":11}],"r":[{"o":5}],"s":[{"t":[{"e":11},44]}],"ü":3}],"m":[{"a":[{"l":[{"e":10}]}]}],"n":[{".":73,"e":[{"n":10,"r":[{"m":41}],"u":5}],"i":[{"v":31}],"l":73,"o":[{"r":5}],"t":[{"a":70}]}],"o":[{"d":0,"e":62,"l":[{"s":1}],"r":0,"t":153,"u":99},73],"ö":[{"d":30},66],"r":73,"s":[{".":73,"a":[{"m":[{"t":[{".":22}]},2]}],"c":[{"h":100}],"e":[{".":73,"b":5,"d":73,"n":73}],"k":73,"m":6,"o":[{"f":1}],"t":[{"a":[{"l":74}],"ä":[{"t":12}],"e":102,"i":[{"t":74}],"r":[{"a":79,"ü":6}]}],"u":[{"f":70,"m":[{"z":4}],"r":5}],"z":1}],"t":[{"a":73,"e":[{".":73,"g":70,"i":1,"p":73}],"h":[{"i":132},104],"i":1,"o":2,"ö":73,"r":[{"ä":79,"i":[{"g":74}]},226],"s":4}],"u":[{"h":84,"n":[{"z":1}],"t":4},99],"v":[{"e":[{"r":[{"m":79}]}],"i":[{"l":100}]}],"y":220,"z":[{"e":[{"l":[{"l":[{"e":[{"r":51}]}]}]},3],"i":3,"s":[{"c":3}],"u":2,"w":1}]}],"ñ":66,"o":[{"a":11,"b":[{"l":2}],"c":0,"d":[{"a":1,"u":1},5],"e":16,"f":[{"l":11},68],"h":68,"i":0,"k":[{"r":358}],"l":[{".":77,"s":77}],"m":[{".":77,"e":1,"s":77}],"n":[{".":77,"a":[{"n":4,"u":38}],"d":35,"e":[{"e":6}],"o":[{"r":5},77],"s":[{"a":23,"e":[{"l":23}]},359],"y":68},2],"o":68,"p":[{"f":121,"t":77},99],"r":[{".":77,"c":77,"e":[{"n":10},2],"h":30,"p":77,"s":77,"t":77},68],"s":[{".":77,"h":1,"t":68,"u":2,"z":81},79],"t":[{".":77,"e":[{"l":23}],"r":11,"s":77},1],"u":68,"v":68,"x":77,"z":[{".":77},68]},90],"ö":[{"k":67,"n":66,"s":[{".":66,"t":112}]}],"p":[{"a":[{"n":5},66],"e":[{"d":77,"r":77},66],"f":[{"a":[{"m":7,"n":77}],"e":21},104],"h":2,"i":[{"a":4,"e":[{"l":4,"n":4}]},90],"l":[{"u":6}],"o":[{"i":68}],"p":[{"a":[{"n":5}],"e":1,"f":9,"l":6}],"r":66,"s":[{"a":5,"e":[{"i":5}],"p":5,"t":[{"a":5,"ü":6}]}],"t":[{"a":2,"i":2,"u":2}],"u":73}],"q":90,"r":[{"a":[{".":77,"d":72,"s":77,"t":21},112],"ä":[{"h":0},66],"b":[{"l":38}],"c":[{"h":[{"o":295}]},0],"e":[{"e":77,"k":73,"n":[{"a":11}]},6],"é":77,"g":[{"s":11},2],"h":[{"e":5}],"i":[{"g":248},5],"k":[{"e":[{"n":[{"e":6},10]}],"l":38,"s":[{"c":25}],"u":3},73],"l":[{"i":[{"n":10}]}],"m":[{"a":[{"g":20,"k":5,"u":9}],"ä":5,"e":[{"i":20,"n":159}],"o":123,"t":[{"h":11}],"u":[{"m":5,"n":[{"t":6}]}]}],"n":[{"a":[{"t":6},38],"o":5},73],"o":77,"ö":66,"p":[{"l":[{"a":100}]}],"r":[{"e":[{"i":5,"l":[{"i":6},10]}],"h":5}],"s":[{"c":[{"h":[{"e":1,"l":6,"m":6,"r":252,"w":252}]}],"e":133,"h":1},2],"t":[{"s":[{"t":28}]}],"u":[{"m":30,"s":28,"t":[{"e":4}]},73],"ü":75}],"s":[{"a":[{"c":77,"m":[{"p":84,"t":111},162],"p":5,"r":2,"t":[{"t":1},77],"u":[{"f":1,"g":21},68]}],"ä":[{"h":68,"n":99}],"b":73,"c":[{"a":68,"e":68,"h":[{"a":[{"r":84}],"e":[{"f":84,"h":360,"i":23,"m":[{"i":170},18],"r":[{"z":165}]},75],"i":[{"n":[{"g":140},84]}],"l":68,"m":[{"a":23},68],"n":[{"a":84}],"r":[{"e":164,"u":23}],"ü":[{"b":170}],"w":[{"a":84,"i":[{"r":170}],"o":84,"u":23,"ü":84}]}],"r":68}],"e":[{"a":4,"e":9,"h":[{"a":21,"i":4}],"i":[{"n":[{"d":6}]}],"l":[{"a":[{"d":4}],"t":[{"e":[{"r":334}]}]},5],"n":[{"a":11,"d":5,"h":[{"o":84}],"s":23},28],"r":[{"e":[{"i":25}],"g":0,"h":[{"e":10},68],"m":99}],"s":[{"s":114}],"t":[{"a":[{"t":128}]},75],"u":75},73],"f":73,"h":79,"i":[{"a":2,"d":[{"e":11},110],"k":21,"m":68,"n":[{"g":361}]},73],"k":[{"i":84,"u":84}],"l":[{"a":[{"m":74},1]}],"m":[{"a":73,"i":73,"u":21}],"o":[{"f":0,"h":77,"l":80,"n":[{"e":[{"n":[{"d":24},97]}],"o":100},362],"p":68,"r":[{"t":0}],"t":74,"u":99}],"p":[{"a":[{"r":68,"t":5},0],"e":0,"i":[{"c":0}],"o":[{"r":5}],"r":[{"o":68}]},73],"s":[{"a":[{"c":36,"u":6},1],"c":[{"h":[{"e":[{"n":19}]}]}],"e":[{"r":[{"f":18}]}],"p":[{"o":2}],"t":[{"a":1,"e":6,"o":1,"r":[{"ä":1},9],"u":1},5],"u":[{"m":5}]}],"t":[{"a":[{"b":68,"c":4,"l":5,"m":84,"n":[{"g":128},2]}],"e":[{"a":84,"c":111,"n":10},11],"i":[{"n":[{"f":18}]}],"o":24,"r":[{"a":[{"s":1},11],"ä":68,"e":68,"o":[{"m":[{"m":7}]}]}],"u":[{"r":68}],"ü":[{"m":0}]}],"u":[{"f":77,"m":[{"p":23},2]}],"ü":68,"y":73},66],"ß":[{"e":[{"r":[{"s":[{"c":1},21]}]}]},66],"t":[{"a":[{"b":[{".":0,"s":0}],"g":75,"l":[{".":77,"a":44,"l":50,"t":0}],"m":0,"n":[{"e":4,"g":0,"r":1}],"p":[{"p":0}],"r":[{"e":30,"t":0}],"t":77,"u":[{"c":77,"f":68,"t":68},0]},66],"ä":[{"n":[{"d":0}],"s":99,"t":21},191],"e":[{"f":[{"f":0}],"i":[{"c":5,"g":84,"n":84,"s":84},99],"l":[{"a":71,"e":[{"k":84}]},73],"m":[{"i":0,"p":68}],"n":[{".":77,"t":[{"s":84}]},2],"p":[{"o":68}],"r":[{"e":[{"i":[{"g":170}]}],"f":[{"o":343}],"i":[{"n":[{"d":40}]}],"k":[{"l":[{"ä":52}]}],"ö":5,"s":[{"c":[{"h":[{"e":363}]}]}]}],"s":[{"k":114}],"x":[{"t":77},99]},66],"h":[{"r":77}],"i":[{"c":77,"d":99,"g":77,"i":70,"n":292,"s":[{"o":84,"p":4,"s":84},77],"v":[{"a":364},77]},66],"l":[{"e":7}],"m":[{"e":[{"n":100}]}],"o":[{".":77,"b":0,"c":77,"d":4,"f":99,"p":2,"s":5},191],"ö":66,"r":[{"a":[{"d":[{"i":77},81],"f":1,"s":1,"u":1}],"ä":[{"u":1}],"e":[{"t":6},1],"i":[{"e":77}],"o":[{"b":1,"m":1}],"u":[{"n":81,"t":81}]},191],"s":[{"a":[{"g":9},5],"e":[{"h":21,"r":365},20],"h":6,"o":[{"r":9}],"p":[{"e":[{"n":1}]}],"t":[{"e":[{"c":6,"m":12,"n":6,"s":12}],"r":[{"a":[{"s":22}]}]}]},73],"t":[{"e":[{"b":5,"m":[{"p":6}],"r":[{"f":[{"o":33}]},1]}],"h":[{"ä":4}],"o":[{"b":5,"p":5}],"r":[{"i":[{"c":4},5]}],"s":[{"c":[{"h":[{"i":24}]}],"e":[{"h":64,"i":11}],"o":[{"r":11}],"t":[{"i":11}]}]},73],"u":[{"h":0,"m":[{"s":0}],"n":[{"g":5,"s":68}],"r":[{"a":[{"n":97}],"g":0}],"s":77,"t":10},66],"ü":66,"y":[{"l":21},95],"z":[{"e":[{"c":5,"r":[{"g":[{"r":22},4],"l":12},2]}],"ö":5,"w":20},73]}],"u":[{"l":128,"m":[{"a":21,"s":[{"e":11}]},4],"n":[{"g":[{"s":15}]},2],"p":84,"r":6,"s":[{"t":9}]},161],"ü":112,"v":[{"a":[{"d":99,"k":99,"m":99,"n":0}],"ä":99,"e":[{"b":68,"f":99,"i":0,"l":[{"t":0}],"n":[{"e":0,"t":99},11],"p":99,"r":[{"e":4,"h":0,"k":[{"l":10}],"l":0,"s":23}],"x":99}],"i":[{"l":[{"l":23}],"m":99,"n":[{"d":99,"t":0}]}],"o":[{"l":77,"r":[{"e":4}]}],"r":99,"u":[{"n":68,"r":99}],"ü":68},90],"w":90,"x":[{"a":68,"e":[{"m":5}],"t":2},90],"y":66,"z":[{"a":[{"c":5,"g":68,"n":68,"p":68,"s":75,"u":68},0],"ä":68,"e":[{"i":[{"c":23,"t":[{"s":366}]},5],"l":[{"e":68}],"n":[{"e":[{"r":84}],"t":[{"z":84}]},2],"r":[{"g":0,"l":111}]},77],"i":[{"d":23,"r":0}],"o":[{"f":2}],"ö":68,"u":[{"n":[{"a":68}]}],"w":[{"i":75},99]},191]}],"í":[{"l":66}],"j":[{"a":[{"b":11,"h":[{"r":[{"e":[{"i":25}],"s":10}]}],"l":[{"a":2},1],"n":[{"e":1,"i":[{"t":206},44]}],"r":[{"u":7}],"s":[{"o":2}],"t":2},68],"d":[{"a":4},207],"e":[{"a":[{"n":[{"s":21}]},5],"g":5,"k":[{"t":[{"a":162,"e":[{"r":11}],"i":[{"n":11}],"o":[{"r":97},189],"r":162}]}],"n":[{"a":1}],"p":5,"r":[{"e":2},1],"t":[{"a":20,"h":12,"i":[{"n":5}],"o":[{"r":6}],"r":38,"t":4,"u":123}]}],"i":[{"v":5}],"m":90,"o":[{"a":4,"b":[{"r":4},20],"d":[{"a":5}],"i":5,"l":[{"a":2}],"n":[{"g":21}],"p":38,"r":[{"a":30,"d":35}],"s":[{"c":5,"t":21}],"u":[{"l":2},74]}],"t":[{"y":9},90],"u":[{"b":[{"l":38}],"d":[{"e":21}],"g":[{"e":[{"n":[{"d":96},13]}]}],"i":0,"k":5,"l":[{"i":2}],"n":[{"g":[{"s":246}],"i":1}],"r":[{"a":11,"o":2},1],"t":[{"e":367}]},68],"v":90}],"k":[{"a":[{".":74,"a":[{"r":1}],"b":[{"b":[{"l":2},90],"d":73,"e":[{"n":151}],"f":73,"g":73,"h":73,"n":73,"o":161,"s":90,"t":90,"w":73,"z":73}],"c":0,"d":[{"e":[{"r":21}],"m":90,"r":161,"u":74,"v":73}],"e":1,"f":[{"l":117,"r":0,"t":35}],"g":[{"e":90},2],"h":[{"o":0},74],"i":[{"n":0}],"k":[{"e":[{"n":100}],"l":0,"t":[{".":90}]}],"l":[{"a":[{".":73,"b":23,"d":123,"n":5}],"d":4,"e":[{"h":36,"n":[{"s":6}],"r":[{"i":4}]}],"k":[{"a":[{"n":11},28],"l":162},83],"l":[{"i":21,"ö":15,"t":90},4],"o":[{"p":5,"s":20}],"s":21,"t":[{"e":[{"x":11}],"h":11}],"u":5}],"m":[{"t":68}],"n":[{"a":[{"l":11,"s":349,"u":5}],"b":73,"d":[{"a":73,"ä":73},35],"e":2,"f":73,"i":[{"m":73}],"k":10,"l":73,"o":[{"m":73,"r":90}],"s":[{".":68},90],"t":[{"a":[{"r":11}],"e":[{"n":[{"n":211}]}],"h":90}],"u":[{"m":2},1],"w":73,"z":[{"u":90,"ü":73}]}],"o":20,"p":[{"e":74,"o":1}],"r":[{"a":74,"b":[{"e":73}],"c":73,"d":[{"a":35},68],"e":[{"a":66}],"g":68,"i":[{"e":[{"s":23}]},3],"k":68,"m":90,"p":[{"f":2}],"s":68,"t":[{"a":169,"i":[{"k":79},66]}],"u":21,"w":68}],"s":[{"c":83,"e":[{"i":44},2],"i":44,"o":2,"p":5,"t":[{".":90,"a":1,"e":[{"r":6}]},2],"u":74,"z":1}],"t":[{"a":[{"n":5}],"e":[{"g":74,"l":77}],"h":3,"r":38,"s":[{"e":4}],"t":148}],"u":[{"f":[{"e":[{"r":11}],"o":28,"s":[{"a":[{"g":54}],"p":10,"t":[{"e":[{"m":65}],"i":52}]}]}],"s":[{".":68,"s":90,"w":73}],"t":[{"o":73},35]}],"v":[{"e":1}],"z":73},70],"ä":[{"l":4,"m":[{"i":67}],"r":[{"g":90},2],"s":[{"c":20,"e":23}],"t":[{"h":1}]},70],"b":[{"e":9,"o":[{"n":11}],"y":2},304],"c":72,"d":136,"e":[{"b":[{"e":[{"n":5}]}],"c":90,"d":[{"i":5}],"f":[{"f":90,"i":21}],"g":[{"e":21,"l":5}],"h":[{"e":[{".":5,"n":5}],"r":[{"e":[{"r":97}],"s":[{"o":15},21]}]}],"i":[{"c":90,"g":90,"l":[{"i":2}],"n":[{"d":[{"u":10}],"e":10},90],"s":[{"e":73},66],"t":21}],"l":[{"a":[{"d":[{"e":1}],"g":3,"m":12},20],"ä":5,"b":10,"d":10,"e":[{"i":[{"s":4}],"k":76,"n":20,"r":20}],"l":[{"a":4,"e":180,"i":21}],"o":123,"ö":5,"s":[{"k":4}],"t":[{"e":10},84]}],"m":[{"i":151,"p":90}],"n":[{".":68,"a":[{"u":4},9],"ä":5,"d":[{"r":4}],"e":[{"b":123,"n":[{"e":6,"s":6},132],"r":[{"n":18}],"t":10}],"g":[{"a":[{"g":242}],"e":[{"l":[{".":326}]}]}],"i":[{"m":5,"n":4}],"l":[{"a":[{"d":79}],"ä":[{"d":79}]}],"n":[{"a":21,"e":21}],"o":5,"s":[{"a":68,"e":[{"m":242}],"i":35,"k":35,"t":[{"e":368}],"z":4}],"t":[{"e":[{".":267,"n":[{".":24}]}],"f":79,"g":73,"h":4,"l":73,"s":90,"w":73,"z":73}],"y":1,"z":198}],"o":175,"p":[{"l":5},73],"r":[{".":68,"a":[{"n":5,"u":5},0],"ä":20,"b":[{"l":[{"e":11}]}],"c":68,"d":79,"e":[{"b":123,"c":5,"i":[{"g":1,"n":4}]}],"f":[{"a":[{"h":79,"m":84}],"o":2}],"g":[{"e":[{"b":77}],"u":73}],"i":[{"n":[{"n":[{"u":265}],"s":[{"t":13}],"t":18}]}],"k":[{"e":[{"n":77}],"o":68}],"l":[{"a":[{"u":77}],"e":[{"b":[{"e":170},267]}]}],"n":[{"a":2,"e":[{"i":11,"u":[{"r":50},241]}]}],"o":[{"d":99,"s":73},66],"r":[{"e":[{"g":11}]}],"s":[{".":68,"a":73}],"t":[{"i":21}],"w":[{"e":[{"r":[{"b":24}]}]}],"z":[{".":66,"e":[{"u":11}],"i":316},21]}],"s":[{".":68,"a":38,"c":68,"e":[{"l":5},66],"s":[{"a":2}]}],"t":[{"a":[{"g":2},20],"e":[{"b":36,"l":6},10],"h":[{"a":4},151],"s":4,"t":[{"a":[{"s":18}],"h":44}],"u":5}],"u":[{"s":[{"c":[{"h":[{"l":24}]}]}]}],"v":[{"a":151}],"x":151}],"f":304,"g":[{"a":[{"s":71}],"e":[{"s":35}]},161],"h":[{"e":77,"o":[{"m":4}],"u":77},207],"i":[{"a":[{"d":5,"g":5,"k":1,"r":3},0],"c":[{"h":0}],"d":[{"r":1,"s":68,"y":73}],"e":[{"l":[{"e":[{"i":11}],"o":23},5],"r":[{"n":73,"s":21}],"z":11}],"f":[{"l":117,"r":117}],"k":16,"l":[{"a":187,"ä":73}],"m":73,"n":[{".":74,"ä":5,"d":[{"e":[{"x":79}],"i":90,"u":90}],"f":90,"g":[{"a":2,"s":23},68],"h":73,"i":[{"k":100},157],"n":68,"o":16,"s":[{"e":90,"t":66},4],"t":90}],"o":[{"r":1,"s":11}],"r":74,"s":[{"o":151,"p":2,"s":33,"t":21}],"v":[{"e":10},2],"z":73}],"j":72,"k":[{"a":[{"b":10}]},207],"l":[{".":79,"a":[{".":79,"c":90,"n":[{"d":[{"u":23},73]},21],"r":84,"s":[{"t":66}],"u":[{"f":66,"g":77}]}],"ä":[{"d":90,"r":68}],"e":[{".":126,"b":[{"r":2}],"g":77,"h":73,"i":[{"e":21,"t":77}],"m":[{".":77}],"o":2,"r":[{"a":2},72],"u":[{"s":4},72]},68],"i":[{"c":73,"e":[{"n":68}],"f":68,"g":73,"m":83,"n":[{".":77,"a":146,"k":84},68],"p":68,"r":68,"s":[{"c":68,"t":73}],"t":[{"s":21}],"z":72}],"o":[{"c":72,"k":73,"p":146,"r":77,"s":[{"t":13}]}],"ö":[{"c":73,"f":73,"s":[{"t":68}],"t":84}],"u":[{"b":11,"d":68,"g":68,"m":68,"x":73},66],"ü":[{"c":90}],"y":73},6],"m":[{"a":[{"l":[{"a":2}]},79]},151],"n":[{"a":[{"c":[{"h":248},84],"d":72,"h":73,"m":72}],"ä":[{"p":72}],"e":[{"c":84,"e":9,"s":73,"t":[{"u":4,"z":73}],"u":248,"y":79},77],"i":[{"e":11,"v":72}],"o":[{"b":[{"l":162}],"l":84,"r":[{"m":73}],"v":73}],"u":[{"m":72}]},221],"o":[{"a":[{"d":7,"l":5}],"b":[{"a":[{"l":100}],"j":73,"s":11}],"f":[{"f":[{"e":[{"i":15}]},35]}],"h":[{"l":[{"e":[{"i":15},21],"u":4}]}],"l":[{"a":3,"e":1,"k":162}],"m":[{"e":[{"r":15}],"n":79,"u":6},74],"n":[{"e":[{"m":5},21],"s":62,"t":[{"e":52}],"u":5},68],"o":[{"n":1}],"p":[{".":73,"e":[{"r":73},0],"f":[{"a":100,"e":[{"n":11,"r":[{"r":42}]}]}],"t":[{"e":1}]}],"r":[{"a":3,"b":[{"a":2,"l":2,"r":2}],"c":90,"d":[{"e":[{"r":[{"g":24},97]}]}],"e":[{"l":5}],"g":90,"k":[{"a":28}],"m":4,"n":[{"a":[{"c":11}],"ä":162,"o":369}],"p":[{"i":73}]}],"s":[{".":84,"k":6,"p":20,"t":146},68],"t":[{"e":[{"r":5}],"i":1,"r":11,"s":94,"t":[{"a":[{"k":11}]}]}],"u":[{"n":1},66],"w":[{"e":5},74],"x":90},70],"ö":[{"d":[{"e":21}],"f":68,"l":66},70],"p":151,"q":72,"r":[{"a":[{"d":72,"h":72,"l":84,"t":[{"s":77}],"u":[{"m":73}],"w":84,"z":84}],"ä":[{"c":84,"d":73,"n":84,"u":[{"m":72}]}],"e":[{".":248,"a":[{"k":72,"l":72}],"b":84,"c":72,"d":[{".":73,"e":72,"n":73,"u":73}],"f":72,"g":73,"i":[{"c":72,"e":[{"r":97},370],"f":77,"h":72,"m":73,"s":[{"e":[{"i":52}]}]}],"n":77,"s":[{"u":73}]}],"h":72,"i":[{"b":73,"c":72,"e":[{"s":72}],"p":73,"s":[{"i":77}]}],"o":[{"b":10,"c":[{"h":84}],"h":126,"k":84,"n":84,"p":84,"t":[{"h":74},73],"u":77}],"ö":[{"h":73}],"u":[{"f":73,"n":72}]},221],"s":[{"a":[{"b":3,"c":77,"k":2,"m":[{"t":111}],"n":68,"r":3,"s":11,"u":[{"f":21},68],"v":68}],"ä":[{"h":68}],"c":[{"h":10},75],"e":[{"b":110,"c":99,"d":75,"i":[{"d":5,"f":5,"n":[{"d":84}]},0],"l":[{"e":2}],"n":[{"g":99,"t":99}],"r":[{"e":5,"f":68,"g":68,"k":68,"l":68,"s":68,"w":68},0],"v":110,"x":68}],"i":[{"d":290,"m":5,"n":99,"s":111}],"k":[{"e":75,"l":1}],"m":84,"o":[{"n":6,"p":68,"r":99},2],"ö":68,"p":[{"a":[{"l":68,"t":75},0],"ä":68,"e":[{"l":5,"n":5},77],"h":68,"o":[{"r":5}],"u":[{"l":5}]}],"s":43,"t":[{"a":[{"l":68,"n":[{"z":128}],"t":[{".":1},18]}],"ä":[{"l":77}],"e":[{"l":6}],"i":[{"e":[{"r":84},0],"s":99,"t":68}],"o":[{"r":99}],"r":[{"o":[{"p":84}]}],"u":[{"c":68,"m":68,"r":99}],"ü":[{"t":68}]},2],"u":[{"l":77},99],"z":[{"e":[{"n":5}]}]},191],"t":[{"a":[{"b":[{"r":0,"s":0}],"d":99,"g":77,"k":[{"t":0}],"l":77,"m":0,"n":[{"d":5},99],"r":[{"e":16,"i":4},110],"u":[{"g":1,"s":21},99]}],"ä":[{"s":4}],"e":[{"i":[{"n":0}],"k":68,"l":[{"a":99,"i":4}],"n":[{"t":[{"l":84},99],"z":23},71],"r":[{"a":[{"n":4},2],"e":6,"f":[{"o":128}],"g":0,"h":99,"ö":68,"u":4}],"s":21,"x":68}],"h":99,"i":[{"d":110,"m":[{"e":2}],"n":[{"d":1,"g":0,"i":0,"n":1,"t":68}],"s":[{"e":28,"o":68,"t":2}],"t":[{"e":[{"r":11}]}]}],"o":[{"b":4,"f":99,"r":[{"e":[{"n":[{".":33}]}]}]}],"r":[{"a":[{"n":121,"s":1,"u":81}],"o":[{"m":[{"e":23}]}],"u":[{"n":1}],"ü":1}],"s":[{"a":16,"ä":1,"e":[{"l":2,"n":132},1],"i":1,"o":[{"r":5},9],"z":3},0],"t":2,"u":[{"m":[{"s":0}],"n":[{"s":68}]}],"z":3},191],"u":[{"a":[{"l":5}],"c":0,"d":[{"r":11}],"g":74,"h":[{"r":90,"s":4},5],"l":[{"a":1,"e":371,"i":3,"p":73,"t":[{"o":2,"r":2}]}],"m":[{".":68,"e":232,"g":73,"l":73,"s":[{"p":2}]}],"n":[{"a":166,"d":[{"a":4,"e":21}],"s":[{"t":15},11],"t":73,"w":73}],"p":[{".":191}],"r":[{"b":[{"l":2}],"e":[{"i":5}],"i":[{"e":[{"r":10},21]}],"k":90,"o":5,"s":[{"c":44,"p":2,"t":[{"e":11},2]}],"t":[{"s":[{"c":4}]},372]}],"s":[{"a":[{"r":21}],"c":[{"h":[{"l":6}]}],"p":5,"t":[{"a":4},73],"u":5}],"ß":5,"t":[{".":73,"a":2,"o":23}]}],"ü":[{"c":0,"n":[{"e":74,"f":23}],"r":[{"s":2},74]},70],"v":72,"w":[{"a":77},90],"z":[{"e":[{"l":4}]},161]}],"l":[{"a":[{".":74,"a":[{"r":1}],"b":[{".":83,"a":[{"d":5},2],"ä":68,"b":[{"r":2},73],"d":73,"e":[{"n":194},2],"f":79,"g":73,"h":73,"i":[{"t":75},74],"l":181,"n":73,"o":[{".":79},202],"r":[{"a":16,"e":[{"s":11}],"i":5}],"s":73,"u":[{"s":5}],"w":73,"z":73},66],"c":[{"e":[{"b":0}],"h":[{"e":128,"t":[{"e":[{"r":[{"f":59}]}]}]}],"k":[{"s":100}]}],"d":[{"a":316,"d":73,"e":[{".":1}],"i":3,"j":73,"l":90,"m":73,"o":[{"p":66}],"r":151,"u":83},70],"f":[{"a":5,"e":[{"i":20,"r":20}],"r":9,"t":62,"u":5},73],"g":[{"a":5,"d":4,"e":[{"r":[{"i":[{"n":271}]},68]}],"g":79,"i":[{"o":5}],"l":4,"n":12,"o":[{"b":5},10],"s":[{"t":[{"r":4}]}]}],"h":[{"o":103}],"i":[{"s":[{"t":71}]},74],"k":[{"e":21,"i":[{"n":5}],"k":68,"l":117,"r":[{"o":5}],"t":35}],"l":[{"a":[{".":74},5],"i":74,"t":79},90],"m":[{".":68,"i":[{"t":23}],"m":[{"a":28,"e":[{"n":[{"g":[{"e":58}]}]}],"f":70}],"o":[{"r":5}],"p":[{"u":77},68],"t":[{"s":10},90],"u":[{"n":6}]}],"n":[{"a":[{"l":66,"n":1,"t":186,"u":6},5],"ä":76,"d":[{".":84,"a":[{"m":11,"u":23},2],"e":[{"r":[{"h":24,"w":42,"z":42}]},84],"i":[{"n":[{"n":42}]}],"r":[{"i":4},373]},83],"e":[{"r":[{"d":4,"f":18}]}],"f":73,"g":[{"a":[{"n":11}],"e":[{"s":[{"c":42}]}],"s":189}],"h":[{"a":73,"e":68}],"i":202,"l":79,"n":90,"o":[{"f":5},66],"p":90,"s":[{"i":66},147],"t":[{"r":73,"w":73}],"w":73,"z":[{"w":28}]}],"o":74,"p":[{"f":90,"h":5,"o":151,"p":[{"l":2}]}],"r":[{"a":[{"n":20}],"c":73,"e":[{"b":94,"i":20,"l":5,"n":[{"e":6}]}],"f":10,"g":4,"i":[{"n":[{"i":4}]}],"o":[{"m":239}],"t":[{".":73,"h":21,"i":77,"r":10},66],"u":74}],"s":[{".":68,"a":[{"m":6},5],"ä":6,"c":[{"h":[{"e":97}]}],"d":79,"e":[{"b":7,"i":6,"l":349}],"h":73,"i":[{"n":5,"s":6}],"o":5,"p":76,"s":[{"e":[{"r":74}]}],"t":[{"a":[{"n":23},6],"e":[{"u":6}],"r":[{"i":23,"o":4},5],"u":[{"r":4}],"ü":5},68]}],"ß":262,"t":[{"e":[{"l":136},3],"i":43,"l":72,"m":73,"o":2,"ö":5,"r":[{"a":38,"i":11}],"s":[{"t":4},2],"t":[{"a":158,"e":[{"x":11}],"i":[{"n":25}],"r":162}],"z":[{"e":[{"r":97}]}]}],"u":[{"b":[{".":70,"e":[{"n":[{"s":374}]}],"r":162,"s":[{"e":10,"t":10}]}],"f":[{"i":[{"n":11}],"n":73,"o":2,"r":[{"i":11}]}],"g":[{"l":4},70],"n":[{".":79},74],"s":[{".":83,"b":90,"c":[{"h":[{"a":24}]}],"d":73,"f":90,"g":73,"l":73,"r":73,"s":90,"z":73},6],"t":[{"o":73,"r":2}]}],"v":[{"a":1,"e":[{"n":10}]}],"w":[{"a":10},70],"x":[{"e":[{"l":6}]},80],"y":68}],"ä":[{"c":0,"h":[{"n":90}],"n":[{"d":70}],"p":[{"f":66}],"q":73,"r":[{"m":[{"a":2,"e":66}],"z":73}],"s":[{"c":20}],"t":73,"u":[{"b":73,"c":73,"e":73,"f":70,"g":73}],"x":73}],"à":70,"b":[{"a":[{"c":77,"n":[{"t":68}],"r":[{"i":3}],"u":[{"c":44}]}],"ä":[{"r":[{"m":0}]}],"b":11,"e":[{"i":[{"n":[{"k":128}],"s":[{"e":128}]},5],"r":[{"a":[{"l":11}],"i":[{"n":245}]}],"s":255,"t":[{"a":290}]}],"i":[{"d":99,"n":[{"s":99}]}],"l":[{"a":[{"d":6,"t":75}],"ä":77,"e":[{"d":68},1],"i":[{"c":68}],"o":77,"ö":75,"u":75}],"o":[{"r":[{"a":110}]}],"r":[{"e":[{"a":1}]}],"s":[{"a":1,"e":1,"i":1,"p":1,"t":[{"a":[{"c":23}],"e":[{"i":23},6],"u":44},2]},5],"u":[{"f":99,"m":77,"n":11}],"z":[{"e":[{"i":100}]}]},191],"c":[{"a":77,"h":[{"e":[{"i":84,"n":[{"t":84}]},77],"i":77,"l":[{"e":4,"i":4,"o":77}],"n":4,"r":4,"s":35,"ü":4,"w":9}],"l":77,"o":77},90],"d":[{"a":[{"b":367,"c":[{"k":1},5],"f":68,"g":2,"h":99,"i":2,"k":99,"l":99,"n":184,"r":[{"m":0}],"s":[{"s":0}],"u":[{"s":53},99]}],"ä":[{"m":77,"r":0,"s":0,"t":0}],"e":[{".":77,"b":[{"e":[{"n":11}]}],"i":[{"n":57},68],"l":[{"f":99}],"m":[{"i":110,"s":99}],"n":[{"a":11,"e":[{"r":[{"g":50}]}],"t":[{"l":84}]}],"r":[{".":77,"f":[{"a":343}],"g":[{"e":[{"b":334}]}],"h":[{"e":270},0],"l":[{"a":[{"s":170,"ß":170}]},75],"n":75,"p":114,"t":[{"r":10}]}],"s":[{"a":4,"e":[{"l":11}],"s":129}],"x":68}],"i":[{"c":2,"d":99,"m":[{"i":117}],"o":[{"n":81}]}],"o":[{"b":2,"n":5,"p":68,"r":[{"i":99},2],"s":5}],"ö":167,"r":[{"a":[{"m":6,"n":68}],"e":68,"i":[{"e":7,"s":121}],"u":6,"ü":[{"c":68}]},1],"s":[{"a":1,"k":[{"a":1}]}],"t":[{"h":1,"s":33,"u":1},11],"u":[{"l":99,"m":99}]},191],"e":[{"a":[{"d":5,"r":1,"s":5}],"b":[{"a":82,"e":[{"n":[{"s":195}]}],"l":5,"r":[{"e":38},74]}],"c":[{"h":[{"a":44,"i":5,"t":[{"e":375}]}]},73],"d":[{"r":5}],"e":[{"r":[{"e":[{"t":11}]},5]}],"f":[{"a":3,"f":90,"o":11}],"g":[{"a":[{"b":20,"s":9}],"ä":5,"l":5,"r":376}],"h":[{"e":[{".":79}],"r":[{"e":35}],"s":79,"t":79},74],"i":[{"b":[{"l":[{"e":11}]}],"d":68,"e":[{"r":[{"e":4}]}],"f":[{"a":[{"n":11}],"e":[{"i":11,"r":[{"g":40}]}]}],"g":[{"l":4},90],"h":[{"a":[{"u":11}]},74],"l":35,"m":[{"p":23}],"n":[{".":83,"d":[{"u":10},83],"e":[{"r":[{"b":24}]},84],"f":5,"i":5,"k":73,"n":66,"s":[{"a":77}],"t":73,"u":68}],"s":[{"c":[{"h":[{"a":245,"e":[{"i":48}],"o":24}]}],"e":[{"r":[{"n":24}]}],"f":66,"s":[{"e":[{"r":54}],"t":23}],"t":[{"r":11}]},5],"ß":[{"e":[{"r":11}]}],"t":[{"a":2,"o":2,"s":189},68]}],"k":[{"o":74,"t":[{"r":73}],"z":73}],"l":[{"a":83,"e":[{"i":1,"k":73,"m":[{"e":223}],"n":1,"r":[{"s":18},100],"s":1},5],"f":[{".":73,"e":90}],"i":68,"s":4}],"m":[{".":68,"a":[{"l":1,"u":5}],"e":[{"i":20,"s":74,"t":74}],"o":[{"r":5},94],"p":73,"u":[{"n":6},5]}],"n":[{".":84,"a":[{"b":4,"d":31,"n":12,"t":178},9],"ä":5,"d":[{"p":66,"u":[{"n":79,"r":84}]}],"e":[{"d":20,"r":[{"g":79}],"u":[{"r":6,"v":79}]}],"g":[{"a":[{"g":11}]}],"k":[{"a":[{"u":11}],"l":[{"o":25,"u":11}]}],"n":[{"i":66}],"s":[{"e":[{"i":[{"n":24}],"m":242,"r":[{"k":24}]}],"k":[{"a":4}],"z":4}],"t":[{"g":73,"k":90,"l":[{"a":79}],"n":73,"r":[{"o":241}],"w":[{"ä":10,"e":[{"t":176}]},126],"z":73}],"z":[{"y":73}]}],"o":[{"f":2,"s":117}],"p":[{"a":74,"f":74,"i":239,"o":[{"c":79}],"p":[{"i":11}],"r":74},73],"r":[{".":68,"a":[{"g":5,"p":38,"s":34,"u":5},99],"ä":20,"e":[{"b":123,"c":2,"i":[{"g":77,"m":37,"s":12}],"l":5,"n":[{"g":6}],"r":[{"g":6,"s":6}],"t":34}],"f":[{"a":[{"s":126}],"o":90,"r":68,"ü":68}],"g":[{"a":68,"e":[{"f":84,"h":74,"n":[{".":223}],"r":84,"s":84,"w":146}],"i":73,"l":68,"r":68},66],"h":[{"e":[{"b":242}],"o":[{"l":79}]}],"i":[{"n":[{"s":18}]}],"k":[{"a":68,"e":73,"l":[{"ä":79,"e":84},66],"o":68,"r":4},21],"l":[{"e":[{"b":[{"e":377}],"i":146}]},4],"m":[{"ä":73}],"n":[{"a":[{"l":11,"r":11},74],"e":[{"i":11},146]}],"ö":90,"r":[{"a":83,"i":[{"c":11}]}],"s":[{".":84,"a":66,"t":[{"o":11}]}],"t":21,"u":[{"p":5}],"w":[{"a":84,"e":[{"r":11}],"o":104}],"z":[{"ä":2,"e":[{"u":77}],"o":2},90]}],"s":[{".":84,"a":[{"m":2}],"e":[{"b":1,"i":44,"l":90},2],"h":43,"i":44,"k":[{"i":11},3],"o":1,"p":[{"o":5}],"t":[{"e":[{"r":[{"i":40}]},15]},52],"u":74,"w":79,"y":73}],"t":[{"a":[{"b":5,"p":76,"t":76}],"h":[{"a":1,"i":73},67],"i":2,"s":[{"c":[{"h":[{"e":307}]}]}],"t":[{"o":203,"r":44,"s":378}]}],"u":[{"e":79,"f":143,"l":90,"n":[{"t":1}],"t":74},5],"v":[{"o":[{"l":67}]}],"x":[{"d":74,"i":[{"k":74,"s":5}]},73],"y":74},70],"é":70,"f":[{"a":[{"h":77,"t":6}],"e":[{"c":99,"e":9,"i":[{"n":[{"h":1}],"s":68}],"n":5,"r":[{"e":[{"i":84,"l":11}],"l":0}]}],"i":77,"l":[{"ä":121,"e":[{"d":1}],"ö":6,"u":121}],"r":[{"a":[{"m":1}],"e":[{"s":1}],"u":6,"ü":6}],"s":[{"p":[{"e":5}],"t":[{"i":20}],"u":5}],"u":[{"n":21,"r":44}]},90],"g":[{"a":[{"s":77,"t":4}],"e":[{"n":[{"a":21,"e":100}],"r":[{"ä":[{"u":96}]}],"t":[{"i":68}]}],"i":75,"l":[{"ö":5}],"o":[{"a":23},77],"p":6,"r":[{"a":77,"e":1,"o":77}],"s":[{"t":12},5]},90],"h":[{"i":[{".":176}]},236],"i":[{"a":[{"b":2,"d":5,"m":[{".":5,"s":5}],"n":[{"g":21}],"s":[{"t":5}]},111],"b":[{"i":23},376],"c":[{"h":[{"t":[{"a":10,"o":10}]}],"k":79,"l":5},0],"d":[{"a":3,"o":66,"y":68}],"e":[{"b":[{"e":[{"s":195}],"r":2}],"f":[{"e":[{"r":74}],"l":1}],"n":[{"a":286,"e":1,"t":23}],"r":[{"e":[{"i":11}],"n":1},5],"s":[{"c":28,"t":[{"a":11}]}]}],"f":[{"f":[{"e":[{"s":11}],"o":2}],"t":[{"i":4}]}],"g":[{"e":[{"r":[{"s":12}]}],"n":11,"s":21},74],"k":[{"e":[{"r":1}],"o":3,"s":[{"p":2}],"t":[{"a":[{"u":11}],"e":[{"r":11}],"i":2,"o":139}],"u":2}],"l":[{"a":2},1],"m":[{"a":[{"c":44,"t":206},3],"b":90,"m":73,"o":74,"p":73}],"n":[{"a":[{"r":1},2],"d":[{"i":73,"u":90}],"e":[{"f":5,"h":5,"p":5,"r":7,"s":5}],"f":90,"h":90,"i":[{"t":9}],"j":90,"k":[{"a":[{"n":11,"r":11}],"s":21}],"o":[{"l":5}],"s":[{"a":68,"e":[{"l":79}],"p":73,"t":73,"u":73,"z":73}],"t":90,"u":3,"v":90,"z":73}],"o":[{"m":6,"n":[{"s":50}],"s":[{"t":3}]},5],"p":[{"f":74,"t":74}],"s":[{".":74,"a":3,"c":[{"h":[{"m":1,"u":6}]}],"h":[{"i":1},2],"k":74,"l":90,"o":[{"n":74},151],"p":5,"s":10}],"ß":73,"t":[{"a":[{"l":67},11],"ä":3,"e":[{"r":74},166],"h":0,"r":38,"s":[{"e":4,"z":4},94],"u":[{"n":6,"r":5}],"z":[{"e":[{"r":10}]}]}],"u":74,"v":[{"e":[{"a":5,"s":5},2],"i":[{"e":23}],"r":1}],"x":[{"i":73}],"z":[{"ä":12,"e":[{"i":15}]}]},70],"j":126,"k":[{"a":[{"l":[{"e":77,"p":0}],"n":75,"p":77,"r":[{".":77}]}],"e":[{"r":[{"d":0,"e":35}]},77],"l":[{"a":[{"d":1,"s":121}],"i":[{"c":1}],"u":121},5],"m":[{"e":[{"n":5}]}],"n":[{"e":[{"r":7},6],"u":1}],"o":[{"f":[{"e":0},2],"r":[{"b":21}]}],"r":[{"o":[{"c":1}]}],"s":[{"ä":[{"n":1}],"i":1,"p":[{"e":6}]},20],"t":2,"ü":5},90],"l":[{"a":[{"b":[{"e":2,"k":68,"t":68,"u":77}],"c":[{"h":[{"t":1}]}],"d":[{"e":2}],"f":[{"f":0}],"g":[{"l":4}],"m":[{"a":2,"i":5},99],"n":[{"b":5,"e":[{"r":11}],"i":84,"s":[{".":77}],"w":[{"a":6}],"z":0}],"p":[{"p":[{"l":128}]}],"r":[{"m":0}],"t":[{"e":[{"r":[{"n":24}]}],"h":68,"m":84,"t":81}],"u":[{"f":[{"g":1,"k":1}],"s":[{"f":84},379]},68],"w":109}],"ä":[{"m":99,"s":77,"u":68}],"b":11,"c":[{"h":10}],"d":16,"e":[{"b":[{"e":[{"n":[{"e":7}]}]},109],"c":[{"h":0},77],"e":[{"r":4}],"f":99,"g":[{"u":2}],"h":[{"e":2}],"i":[{"b":68,"c":0,"m":0,"s":[{"e":128}]}],"l":[{"a":2}],"m":[{"i":99},2],"n":[{".":77,"a":11,"d":[{"l":1,"r":23,"u":[{"n":52},1]}],"t":[{"f":84,"s":84}]}],"p":77,"r":[{".":77,"a":2,"e":[{"i":[{"g":334}]},77],"f":[{"o":10}],"g":[{"e":[{"b":52,"n":[{"e":282}]}],"o":84}],"h":[{"o":1}],"m":[{"i":128}],"n":[{"t":128}],"t":[{"r":1}],"w":[{"e":[{"i":22}]}]}],"s":[{".":77,"e":109},5],"t":[{"h":11}],"u":[{"c":68,"r":[{".":77}]}],"x":[{"e":0}]}],"g":11,"i":[{"e":[{"b":68,"g":68}],"g":[{"a":[{"n":11}]}],"k":77,"l":[{"a":11}],"n":[{"d":99,"f":84,"s":[{"e":[{"n":52}]},0]}],"p":[{"o":68}]}],"k":16,"m":43,"n":3,"o":[{"b":[{"e":68},0],"d":380,"f":110,"g":[{"e":2}],"l":1,"p":[{"e":68,"f":0}],"r":[{"b":170,"g":21,"i":109},0],"t":[{"e":2}],"u":99,"w":77,"x":0}],"ö":[{"g":2,"h":77}],"s":[{"ä":[{"u":5}],"e":[{"s":20}],"k":[{"a":1}],"p":[{"r":5}],"t":[{"o":[{"r":6}]}]}],"t":[{"e":2,"i":[{"m":21},2],"r":11,"s":21},1],"u":[{"d":2,"m":[{"e":109}],"n":[{"g":77}],"p":109,"r":0,"s":[{"t":13}],"t":77}],"ü":[{"c":68,"d":2,"g":109}],"y":77,"z":3},191],"m":[{"a":[{"b":166,"d":99,"g":[{"e":30}],"k":[{"a":0}],"m":110,"n":[{"a":77}],"p":[{"f":0}],"r":[{"t":0}],"t":[{"t":1}]}],"ä":[{"s":[{"t":0},11]}],"c":0,"d":2,"e":[{"d":[{"i":[{"t":16}]}],"f":99,"n":[{"t":68}],"p":110,"r":[{"f":99,"l":99,"z":99},21],"s":[{"s":[{"a":84}]}]}],"i":[{"d":110,"n":[{"d":0,"s":0}]}],"m":1,"o":[{"f":68,"r":[{"c":0}]}],"p":[{"f":10},3],"s":[{"k":3,"t":[{"r":1},2],"z":3}],"t":16,"u":[{"m":68,"n":[{"t":84}]}]},191],"n":[{"a":[{"b":5,"r":[{"e":1},2]}],"e":[{"s":21},75],"i":[{"n":99}],"u":[{"s":21}],"ü":66,"y":66},79],"o":[{"a":[{"k":6}],"b":[{".":74,"a":68,"b":74,"e":[{"s":10}],"j":73,"l":67,"r":[{"i":11},68]}],"c":[{"h":[{"e":[{"l":6}]}]}],"d":[{"r":[{"i":1},74]}],"f":[{"e":[{"n":5},66]}],"g":[{"h":6,"l":5,"o":[{"r":5}],"r":[{"e":5}]}],"h":[{"a":1,"e":3,"r":191}],"i":[{"r":11}],"k":[{"k":126,"r":38,"s":176},74],"l":[{"e":84,"y":161}],"m":[{"ä":23,"i":[{"n":5}]}],"n":[{"e":[{"r":5}],"i":[{"n":6}],"o":20}],"o":5,"p":[{"e":66,"f":73,"p":[{"a":28,"r":2}],"t":73}],"r":[{"a":[{"m":4,"n":2}],"ä":6,"b":176,"c":90,"d":90,"e":[{"n":3}],"g":381,"i":[{"d":[{"i":10}]}],"t":148}],"s":[{".":68,"a":6,"e":74,"k":[{"e":6}],"p":[{"e":5,"r":20}],"t":[{"a":4,"e":[{"l":6,"u":6}],"o":38,"r":268}]}],"ß":[{"u":5}],"t":[{"a":20,"h":[{"a":1}],"i":[{"o":10}],"s":21}],"v":[{"e":5},90],"x":73},70],"ö":[{"b":38,"c":[{"k":73}],"d":73,"f":[{"e":72},5],"g":79,"h":[{"r":90}],"k":73,"l":90,"p":73,"s":[{"c":74}],"ß":79,"z":79},70],"p":[{"a":[{"r":[{"k":163},5]}],"ä":[{"r":111}],"f":5,"h":[{"ä":77,"i":[{"r":68}],"o":0,"r":77},11],"t":11,"u":77},90],"q":90,"r":[{"a":[{"u":[{"s":21}]}],"e":[{"b":[{"s":100}]}],"o":[{"h":2}],"ö":2},161],"s":[{"a":[{"b":3,"c":77,"d":109,"l":5,"m":[{"b":111,"p":84}],"n":[{"e":1},68],"r":[{"e":77,"i":3,"k":77}],"u":[{"m":10,"r":10},21]}],"ä":[{"m":75,"u":[{"g":5,"s":0}]}],"c":[{"h":[{"i":[{"n":84}],"m":[{"ü":84}]}]},5],"e":[{"b":110,"l":[{"e":5,"i":0}],"n":[{"t":68}],"r":[{"f":68,"g":68,"h":68,"k":68,"l":68,"s":68,"w":68},0],"t":[{"a":0},2]}],"h":[{"a":1}],"i":[{"d":99,"m":[{"p":68}]}],"k":[{"a":[{"l":5}],"e":[{"l":[{"e":121}]}],"l":[{"a":84}],"o":84,"y":5}],"o":[{"b":11,"p":68,"r":[{"t":[{".":128}]}],"s":77}],"ö":[{"l":75}],"p":[{"a":[{"c":68}],"e":5,"h":81,"i":[{"r":99}],"o":5,"r":[{"i":77}],"u":[{"l":77,"n":68},5]}],"s":3,"t":[{"a":[{"b":13,"f":5,"s":68,"t":[{".":128,"e":84}],"u":77},2],"ä":[{"t":[{"i":128}]}],"e":[{"r":[{"k":89,"r":128}]}],"i":[{"s":99,"t":68}],"o":[{"c":[{"h":84}],"r":[{".":84,"e":84,"s":84},0]}],"r":[{"ü":99}]}],"u":[{"f":77,"m":0,"n":[{"d":5,"k":1},99]}]},191],"t":[{"a":[{".":77,"b":[{"s":0},68],"g":10,"m":[{"i":77,"p":[{"e":97}]},0],"n":[{".":75,"d":23}],"p":99,"r":[{"a":0,"b":[{"e":[{"i":[{"t":[{"n":27}]}]}]}],"k":77,"t":[{"i":[{"k":52}],"u":77},0]}],"u":[{"f":84,"t":1},0]}],"ä":[{"h":0}],"b":[{"a":[{"u":132}]}],"e":[{"h":0,"i":[{"g":0,"n":0}],"m":[{"i":4}],"n":[{"g":[{"e":[{"l":52}]}],"s":[{"p":10}],"t":[{"l":84,"s":1}]},75],"r":[{"a":[{"l":11}],"f":[{"a":10}],"g":75,"h":[{"e":84}],"k":[{"e":[{"n":52}],"u":10}],"n":[{"ä":10}],"o":2,"ö":5,"s":[{"e":10}]}],"s":[{"k":99,"t":[{"a":4},75]}],"t":[{".":77},5]}],"h":[{"a":[{"g":1,"s":77}],"e":[{"i":128}],"o":[{"l":100}],"u":75},99],"i":[{"d":[{"e":0}],"m":[{"o":18}],"n":[{".":77,"e":77}],"s":[{"o":68}],"t":382}],"o":[{"b":99,"f":110,"r":[{"d":68,"g":68,"i":110}],"w":2}],"ö":[{"l":0,"n":77,"s":0,"t":0}],"r":[{"a":[{"l":23}],"ä":[{"u":1}],"e":[{"c":1,"i":1}],"i":[{"s":1}],"o":[{"c":0,"l":1}],"ö":81,"u":[{"s":81}]}],"s":[{"e":[{"l":34}],"o":[{"r":[{"t":12}]}],"p":[{"e":9,"h":30}],"t":[{"e":[{"c":6}],"i":5}]},84],"t":1,"u":[{"h":0,"m":[{".":5},99],"r":[{"a":[{"n":97}],"e":[{"n":97}],"i":2}]}]},191],"u":[{"a":[{"n":0}],"b":[{"a":21,"s":138},383],"d":[{"r":5}],"e":[{"c":5,"s":5,"t":5}],"f":[{"e":90,"f":73,"o":1,"t":[{"a":44,"e":23,"r":23}]},384],"g":[{"a":20,"e":[{"b":123,"i":5,"n":132}],"i":5,"l":4,"o":5,"r":38,"s":[{"e":4}],"u":5}],"h":90,"i":[{"d":[{".":0}],"g":6,"s":[{".":0}]}],"l":[{"ö":2}],"m":[{"e":10,"f":73,"g":73,"h":66,"k":73,"l":73,"p":[{"e":70,"h":2},68],"r":73,"s":90,"u":1,"w":90,"z":73}],"n":[{"a":90,"d":10,"f":90,"i":90,"r":73,"s":90,"t":73,"w":73},385],"o":79,"p":[{"f":5}],"r":[{"a":[{"n":20,"t":5},68],"e":[{"i":5}],"g":73,"i":[{"s":5},68],"n":66,"o":5,"s":73,"t":66,"u":6}],"s":[{"a":[{"k":1,"n":5}],"e":73,"p":5,"s":[{"a":25,"c":28,"e":[{"l":11,"r":386}],"o":28,"p":28,"t":71}],"t":[{"a":5,"ä":5,"e":[{"r":[{"l":22}]}],"o":387,"r":[{"e":23},1]},70],"u":20}],"ß":388,"t":[{"a":[{"u":4},149],"ä":5,"e":[{"g":149,"l":5,"r":[{"g":4,"s":[{"a":19},18]},100]}],"h":[{"y":5}],"o":[{"b":5,"f":123,"p":5,"r":20},73],"r":38,"s":[{"c":[{"h":[{"l":33}]}]}]}]}],"ü":[{"b":[{"d":74},73],"c":[{"k":[{"e":[{"r":96},389]}]}],"d":73,"f":[{"t":[{"e":4}]}],"h":[{"e":[{"l":5}],"l":9}]}],"v":[{"a":4,"l":77,"o":77,"r":1},151],"w":304,"x":73,"y":[{"a":30,"c":1,"e":[{"s":1}],"l":0,"m":[{"p":73}],"n":[{"o":1},74],"o":0,"s":2,"t":1,"u":0},70],"z":[{"a":[{"c":99,"g":99,"n":68,"p":99,"t":68,"u":[{"s":0}]},2],"ä":[{"p":68,"r":68}],"e":[{"l":[{"e":68},2],"n":[{"t":[{"h":128}]}],"p":99,"r":[{"h":114,"z":68}]}],"i":[{"d":99,"m":[{"i":0},11]}],"l":1,"o":[{"f":2}],"ö":68,"t":3,"u":[{"f":[{"e":131}],"g":[{"s":10}]}],"v":[{"o":[{"l":100}]}],"w":[{"e":[{"c":5}],"u":68},0]},90]}],"m":[{"a":[{".":74,"a":2,"b":[{"a":[{"r":75}],"ä":68,"b":73,"e":68,"f":72,"g":73,"h":73,"k":73,"l":[{"i":68}],"m":73,"r":[{"a":184},5],"s":73,"t":73,"z":73},66],"c":[{"h":[{"a":[{"n":1}],"e":21,"t":[{"e":[{"r":[{"h":27,"s":65}]}],"r":10}]}],"i":5,"k":[{"s":21}],"t":90}],"d":[{"a":[{"m":21}],"ä":68,"e":[{"l":5}],"j":1,"m":90,"r":390,"s":391}],"f":117,"g":[{"a":2,"e":[{".":5,"b":5,"f":5,"g":5,"k":5,"p":5,"s":[{".":6}],"t":5,"v":5,"w":5}],"g":90,"i":[{"e":[{"r":[{".":50,"s":50}]}]}],"l":1,"m":73,"n":16,"o":90}],"h":[{"a":1,"l":[{"s":21}],"o":0}],"i":[{"s":[{"e":25}]}],"k":[{"e":[{".":5}],"t":90}],"l":[{"a":[{"g":2,"k":[{"t":6},9],"n":5,"u":5}],"ä":[{"r":5}],"d":[{"e":104,"i":68}],"e":[{"b":6,"r":2,"x":6},1],"i":[{"e":23},44],"l":[{"o":4,"ö":392,"t":73}],"o":[{"n":5,"p":5}],"p":68,"t":4,"u":[{"t":38},21],"v":74}],"m":[{"i":[{"d":5}],"m":4}],"n":[{"a":[{"l":151,"r":5,"t":393,"u":5}],"ä":90,"b":73,"c":[{"e":2}],"d":394,"e":[{"t":5}],"f":68,"g":[{"a":91,"e":[{"l":84}],"r":90},21],"h":68,"i":[{"p":74}],"l":[{"e":68},73],"n":74,"o":[{"d":73}],"s":[{"a":90,"ä":73,"h":11},4],"t":[{"h":28,"r":73}],"u":[{"t":36}],"w":73,"z":[{"a":66},73]}],"o":[{"r":5}],"p":[{"h":[{"r":5}],"o":5}],"q":0,"r":[{"a":[{"g":79,"n":2},68],"b":72,"g":35,"h":298,"i":3,"k":[{"r":2},68],"o":[{"d":23},261],"r":79,"s":[{"c":[{"h":[{"l":24,"m":24,"r":24}]}],"p":2,"u":2}],"t":[{"i":90}],"u":3,"z":66}],"s":[{"a":16,"e":2,"p":395,"s":[{"e":[{"n":18}],"t":44}],"t":[{"i":5},202],"z":12},68],"t":[{"a":[{"b":34,"n":5}],"ä":5,"e":[{"l":75,"r":[{"d":12,"z":12}]}],"m":[{"e":84,"o":73}],"o":[{"r":[{"t":6}]},5],"s":[{"e":4,"p":9}],"t":[{"a":[{"g":15}],"r":10}],"u":[{"r":[{"l":4}]}]}],"u":[{"f":316,"l":74,"n":1,"r":4,"s":73,"t":[{"a":2}]}],"y":[{"o":0},84]},70],"ä":[{"c":74,"h":[{"e":1,"n":90,"r":9}],"n":[{"d":191},74],"o":73,"p":90,"r":[{"k":[{"l":2}],"z":28},9],"t":[{"r":117}],"u":[{"s":[{"c":28}]}]},70],"b":[{"e":[{"e":2,"r":[{"e":21,"i":4,"t":18}]}],"i":[{"e":[{"r":[{".":4}]}]}],"l":[{"e":[{"i":44}]},6],"r":6,"u":[{"s":[{"c":4}]}]},151],"c":[{"h":77},73],"d":[{"a":[{"n":68,"s":110}],"ä":[{"r":0}],"e":[{"a":2,"i":68,"m":[{"i":99},2],"n":[{"t":99}],"r":[{"l":99},21]}],"ö":5,"r":[{"a":[{"s":1}]}],"s":[{"e":3}],"t":11,"u":[{"m":99}]},191],"e":[{"a":[{"n":1,"t":1,"u":21}],"b":[{"e":[{"n":5}],"r":74},11],"c":0,"d":[{"i":[{"e":206}]}],"e":[{"m":30,"n":2,"r":[{"e":[{"i":25}]}]}],"f":[{"f":90}],"g":[{"a":23,"e":[{"l":6}]}],"h":[{"l":[{"e":[{"r":346}]}],"r":[{"e":[{"r":97}]}]},74],"i":[{"f":90,"g":90,"l":198,"n":[{"d":[{"a":10}],"e":[{"r":[{"k":40,"l":24}]}],"u":83}],"s":[{"t":68}]}],"l":[{"a":[{"m":1,"n":[{"t":16}],"u":20}],"b":21,"d":[{"e":[{"i":15}]},35],"e":[{"k":5,"m":73,"r":5,"t":100}],"f":[{".":73}],"k":[{"e":[{"i":25}]},74],"l":[{"i":21}],"o":[{"b":5},74],"s":[{"e":2}],"t":[{"e":[{"r":[{"n":299}]}]},10]}],"m":[{"i":[{"s":151}],"p":90,"u":151}],"n":[{".":68,"a":[{"b":4,"g":[{"e":1}],"n":12,"r":4,"s":6,"u":4}],"d":[{"l":90}],"e":[{"n":132}],"g":[{"a":[{"g":242}],"e":4}],"i":[{"m":5}],"k":62,"o":[{"n":2}],"s":[{"e":[{".":11,"m":[{"b":223},11],"n":11,"r":11,"s":11}],"i":[{"d":18}],"o":2,"t":18}],"t":[{"a":[{"k":25},84],"e":[{"i":[{"g":50},84],"r":[{"s":42}]}],"n":73,"s":[{"p":10}]}]}],"o":[{"u":73},0],"ö":73,"p":[{"a":73,"i":151}],"r":[{".":83,"a":[{"l":23,"s":2},0],"e":[{"b":123,"n":[{"s":6}],"r":[{"r":11,"w":11}]}],"g":[{"ä":[{"n":241}]}],"i":[{"n":[{"d":18,"t":18}]}],"k":[{"l":[{"ä":242}]}],"s":[{"h":84,"m":4,"t":[{"e":[{"l":24}]}]}],"t":[{"r":10}],"z":[{"e":[{"n":[{"g":52}]}]}]}],"s":[{"a":[{"l":5}],"ä":5,"e":[{"r":79},2],"p":[{"o":2}],"s":[{"a":[{"n":23},104],"e":[{"r":[{"g":353}]}],"o":71,"p":2,"t":28}],"t":[{"a":9,"r":5}],"u":1,"z":[{"e":1}]},74],"ß":396,"t":[{"a":1,"h":1,"o":44,"ö":5,"r":[{"i":[{"g":6}]}],"t":[{"e":[{"n":[{"d":397}]}]}]}],"u":9,"x":[{"e":5},90]},70],"é":70,"f":[{"i":[{"l":[{"e":2}]}]},207],"g":[{"a":[{"n":[{"g":18}]}],"l":[{"i":[{"m":100}]}]},239],"h":239,"i":[{"a":[{"b":2,"m":5,"t":90},0],"ä":0,"b":[{"i":44}],"c":[{"e":9,"h":0,"i":5}],"d":[{"a":1,"i":[{".":5}],"r":1,"y":73}],"e":[{"d":[{"r":4}],"l":[{"e":1}],"n":[{"o":12}],"r":[{"e":[{"r":97}]}],"t":[{"i":2,"o":11,"r":2}]}],"f":117,"g":[{"e":74}],"h":1,"k":[{"a":[{"n":9}],"e":[{"l":6,"n":[{"s":6}]},1],"l":16,"u":5}],"l":[{"a":1,"c":[{"h":[{"e":11},132]}],"i":3,"l":[{"e":4}],"u":3,"z":79},74],"m":[{"a":109,"m":90,"p":73}],"n":[{"a":[{"c":2,"k":1,"n":[{"z":[{"e":33}]}]}],"d":[{"e":68,"u":90}],"e":[{"f":5,"r":[{"i":178},132],"u":2}],"f":[{"o":73}],"g":[{"a":2,"s":100}],"h":73,"i":[{"k":206},1],"o":[{"d":1,"f":5}],"s":[{"e":90,"t":66}],"u":1}],"o":[{"n":[{"i":132}]}],"p":0,"r":[{".":74,"i":74,"s":74,"w":74,"z":74}],"s":[{".":74,"a":5,"c":[{"h":[{"a":6,"r":6,"w":252}]}],"e":44,"o":151,"p":[{"a":2,"e":5}],"s":[{"a":[{"r":33}],"e":[{"r":11}],"t":11}],"t":[{"a":5,"r":1}],"u":74}],"ß":20,"t":[{"a":20,"h":20,"o":5,"r":[{"a":1},5],"s":[{"a":33},35],"t":[{"a":4,"e":[{"s":15},35]}],"u":20,"z":79},74],"v":3},70],"j":90,"k":[{"n":77},238],"l":[{"c":1,"e":77,"f":1,"k":1,"o":77,"p":1,"s":1},239],"m":[{"a":[{"a":4,"c":[{"h":[{"s":1}]}],"k":99,"l":99,"n":[{"s":68,"z":0}],"p":[{"p":5},99],"r":[{"t":0}],"ß":2,"u":[{"s":0}]}],"ä":[{"u":0},109],"d":2,"e":[{"b":110,"c":2,"f":99,"h":84,"i":[{"n":0,"s":[{"e":1}]},68],"l":[{"a":139,"i":[{"n":11}]}],"n":[{"e":5,"t":[{"e":[{".":52,"n":52}],"l":84,"s":84,"w":84}],"ü":109}],"r":[{"a":162,"e":[{"c":11}],"g":[{"e":[{"b":52}]}]}],"s":[{"a":23,"c":4,"z":11},28],"t":[{"e":232}],"u":99}],"g":[{"a":[{"s":10}]}],"i":[{"e":[{"l":4}],"m":4,"n":[{"b":0,"h":0,"s":99,"t":0}],"s":[{"c":4},5],"t":[{"a":84,"w":33}]}],"o":[{"l":109,"r":68}],"p":[{"f":10},3],"s":[{"a":1,"i":1},2],"t":[{"e":1}],"u":[{"m":68,"n":5,"r":4,"s":68}],"ü":[{"l":21}]},191],"n":[{"e":[{"s":[{"i":84}]}]},161],"o":[{"b":[{"e":151,"i":74,"j":73}],"d":[{"e":1,"r":5},83],"f":[{"e":5},66],"g":[{".":73,"a":[{"l":20}]},74],"h":[{"a":2},83],"i":[{"r":4}],"k":[{"l":20}],"l":[{".":73,"d":4}],"m":[{"e":2},74],"n":[{"a":[{"n":5}],"ä":5,"d":[{"a":[{"c":11}],"e":[{"l":11}],"o":2}],"e":[{"r":5}],"s":35,"t":[{"a":21,"h":4}],"y":0},83],"o":398,"p":[{"e":[{"r":5},106],"f":90,"t":73}],"r":[{"a":[{"n":2},0],"d":[{"a":162,"r":2}],"e":[{"i":5}],"g":4,"t":35}],"s":[{"k":[{"a":6}],"t":[{"e":[{"r":97}],"o":5}]},74],"t":[{"h":3,"r":11}],"u":[{"s":10}],"x":90,"y":0},70],"ö":[{"b":[{"e":21}],"c":5,"f":76,"k":79,"l":90},70],"p":[{"a":[{"n":[{"e":4}]}],"e":[{"l":[{"a":2,"i":[{"n":11}]}],"n":[{"e":99},2]}],"f":[{"e":[{"f":9,"r":[{"f":12,"g":[{"e":265},4],"p":[{"r":22},4],"r":12,"z":37}]}],"l":38,"o":[{"r":9}],"r":5},68],"h":[{"a":[{"f":0}],"o":[{"s":0}]}],"i":[{"n":21}],"l":[{"ä":77,"e":[{"i":1,"m":[{".":128}],"n":81,"s":81}]}],"o":[{"n":77,"r":[{"t":[{"e":[{"r":52}]}]}],"t":21}],"s":[{"h":1},2],"u":77},191],"q":90,"r":136,"s":[{"a":[{"n":68,"s":0,"t":77,"u":[{"e":23}]}],"ä":[{"n":99}],"c":[{"h":21}],"e":[{"d":110,"f":99,"i":[{"n":68}],"l":[{"e":109}],"n":[{"e":99,"t":68},2],"r":[{"f":0,"h":5}],"t":[{"i":0},2],"u":99,"x":68}],"m":84,"o":[{"d":110,"r":[{"c":0,"i":0},2]}],"p":[{"ä":68,"e":[{"d":68}],"l":84,"o":[{"r":5,"t":68}],"r":[{"o":68}],"u":5}],"s":16,"t":[{"a":[{"g":84,"l":68}],"i":[{"t":68}]}],"ü":68,"w":84,"z":[{"i":84}]},191],"t":[{"a":[{"b":0,"k":0,"m":2,"r":0,"u":[{"g":1}]}],"e":[{"d":110,"i":[{".":77,"n":0,"s":0}],"l":[{"t":0}],"m":[{"i":0}],"n":[{"g":[{"a":84,"l":128}],"t":[{"f":84,"g":84,"r":343,"s":84}]}],"r":[{"b":99,"e":[{"i":128}],"f":99,"g":99,"h":0,"i":399,"k":99,"l":99,"n":10,"s":99,"t":99},21],"t":[{"a":68}],"u":99,"v":99}],"h":[{"o":1},99],"i":[{"d":110,"m":68,"n":99,"r":110,"s":2}],"m":[{"e":[{"n":100}]}],"o":[{"b":0,"p":0}],"ö":[{"l":99,"s":0}],"r":[{"o":81,"ö":68}],"s":[{"a":5,"c":[{"h":[{"i":4}],"o":1}],"e":[{"n":[{"d":1}]},20],"k":[{"a":3,"e":[{"l":16}]}],"t":[{"ä":[{"t":4}]}]},84],"t":11,"u":[{"m":0,"r":[{"e":4}]}],"z":1},191],"u":[{"a":0,"h":90,"l":[{"a":1,"d":74,"t":74}],"m":[{"i":74,"s":[{"p":28},66]}],"n":[{"d":[{"a":[{"n":97}],"e":[{"r":[{"f":24}]}]}],"e":[{"r":400}],"f":191,"g":[{"e":[{"b":126}]}],"i":[{"n":6,"v":401},1],"w":79,"z":79},74],"r":[{"u":[{"f":349}]}],"s":[{".":74,"a":36,"c":74,"o":20,"p":5,"s":[{"t":[{"e":11}]}],"t":[{"e":10,"o":20,"r":5}],"u":5}],"ß":[{"e":23}],"t":[{"a":[{"u":9}],"s":[{"t":2}]}]},70],"ü":[{"b":73,"h":[{"e":[{"r":5}],"l":[{"a":44}]},74],"l":[{"l":[{"e":[{"n":11}]}]}],"n":74,"t":74},70],"v":[{"o":[{"l":[{"l":132}]}]},90],"w":[{"a":[{"r":11},2],"e":[{"g":21,"l":[{"t":116}]}],"u":9},151],"y":[{"a":[{"l":0}]},74],"z":[{"e":[{"l":[{"l":[{"i":10}]}]}],"u":[{"g":10},9]},151]}],"n":[{"a":[{".":74,"b":[{"a":74,"ä":5,"h":77,"i":74,"k":77,"l":38,"o":[{"r":5}],"r":[{"ü":11},5],"s":402,"u":[{"s":5}]},90],"c":[{".":84,"h":[{"e":[{"n":[{".":7},97]}],"s":[{"e":77,"p":23}],"t":[{"e":[{"r":[{"s":[{"c":65}]}]}],"r":[{"a":[{"u":[{"m":51}]}]}]}]},44]},218],"d":[{"a":[{"b":1},66],"e":[{".":1,"l":132,"n":1,"r":5},74],"l":191,"m":126,"r":67}],"e":82,"f":[{"r":[{"a":0}]},90],"g":[{"a":2,"e":[{".":1,"m":5}],"g":191,"i":[{"n":1},67],"r":16}],"h":[{"a":20,"m":84,"n":126,"o":402},83],"i":[{"e":2,"g":66,"r":[{"e":11},126],"s":68},74],"k":[{"ä":74,"o":74,"r":[{"o":5}],"t":79},90],"l":[{".":68,"a":[{"m":4,"r":6},123],"ä":5,"b":[{"k":90}],"d":[{"a":4},68],"e":[{"i":4,"n":[{"t":12}],"r":[{"e":[{"i":22}],"g":41,"m":6,"w":12}],"s":100,"t":9,"x":9}],"g":21,"i":[{"d":5}],"l":[{"a":4}],"o":[{"p":5}],"p":[{"h":2}],"s":[{".":68},4],"t":[{"y":68},35],"u":5,"y":73}],"m":[{".":68,"a":[{"t":5}],"e":[{".":1,"i":194,"n":128,"r":239},74],"i":[{"d":5,"n":5}],"n":16,"o":83,"p":66,"s":[{"p":2}],"t":[{"s":10},90],"y":6}],"n":[{"a":[{"t":6},227],"ä":75,"b":126,"d":249,"e":[{"u":9}],"f":126,"g":126,"h":79,"i":73,"k":126,"l":126,"n":[{"a":126},83],"o":[{"b":162},79],"p":126,"r":73,"s":126,"t":[{"r":73}],"w":73,"z":[{".":68,"e":[{"n":[{"e":24,"g":24},97],"r":97}]}]},66],"o":[{"t":1}],"p":[{"e":[{"r":5}],"f":[{"e":[{"l":79},66]}],"r":75}],"q":66,"r":[{".":176,"a":20,"c":73,"d":68,"e":[{".":84},68],"i":74,"k":68,"l":[{"e":68}],"m":73,"o":[{"m":5},68],"r":68,"s":68,"t":[{"a":68,"h":68},73],"u":3},66],"s":[{".":84,"c":[{"h":[{"w":6}]}],"p":239,"s":[{"c":28,"i":191}],"t":[{"r":5}],"y":[{"l":100},194]},74],"ß":74,"t":[{".":84,"a":[{"u":4}],"e":[{"i":9,"n":1}],"h":167,"m":79,"o":[{"m":79,"r":176},2],"r":9,"s":[{"a":11,"e":44}],"u":1},74],"u":[{"f":[{"f":[{"r":10}],"r":2}],"i":176,"l":83,"s":[{"b":79,"d":79,"f":79,"g":79,"l":79,"o":68,"r":79,"s":126,"w":79,"z":79}],"t":[{"e":4}]},66],"v":[{"e":10,"i":[{"e":[{"r":[{".":50,"s":50}]}]}]},74]},70],"ä":[{"b":73,"c":146,"e":74,"f":90,"g":74,"h":[{"i":5,"m":74,"n":90,"u":5}],"m":151,"n":90,"p":73,"q":73,"s":[{"c":5,"s":68}],"u":[{"m":298},73]},70],"b":[{"a":[{"i":[{"s":18}]}],"e":[{"i":[{"n":2}],"r":[{"e":21}]}],"y":2},136],"c":[{"a":[{"b":81,"n":77}],"e":[{"n":267,"s":[{".":77}]}],"h":[{"l":77,"m":4}],"o":[{"r":21}],"r":77,"u":77},90],"d":[{"a":[{"f":9,"g":5,"i":77,"k":99,"n":[{"a":68,"i":68,"z":68}],"r":[{"r":0}],"t":[{"t":1},77],"u":[{"t":68},0],"x":68}],"ä":[{"n":[{"g":0}]}],"c":0,"e":[{"a":[{"l":[{".":11}]}],"d":[{"e":99}],"e":77,"i":68,"l":[{"f":[{"e":1}],"l":23,"s":[{"a":10,"e":[{"n":49}]}]}],"m":[{"o":[{"t":11}]}],"n":[{"s":[{"k":23}],"t":[{"l":84,"s":84}]}],"o":35,"r":[{".":140,"e":[{"n":140}],"h":5,"i":140,"l":[{"ä":[{"s":52}]}],"o":[{"b":11,"s":277}],"s":[{"a":[{"t":334}]}]}],"s":[{"e":2},75]}],"i":[{"a":162,"m":[{"m":0}]}],"o":[{"f":68,"n":[{"a":25}],"p":[{"t":68}],"r":[{"i":109},0],"t":[{"t":81}]}],"ö":[{"s":5},68],"r":[{"a":[{"m":6,"t":81,"u":1}],"e":81,"i":[{"f":68}],"o":[{"c":81,"d":68}],"ö":81,"u":[{"i":68,"n":81}]}],"s":[{"e":[{"n":[{"e":6}]}],"p":[{"r":5}]}],"t":[{"h":1,"r":11}],"u":[{"n":[{"s":68}]}],"w":[{"a":[{"r":[{"e":50}]}]}],"y":[{"s":[{"p":21}]},4]},90],"e":[{".":74,"a":[{"p":5,"s":376,"t":1,"u":1}],"b":[{"e":[{"n":[{"e":126}]}],"l":5,"n":90,"r":11}],"c":[{"a":74,"e":74,"h":5,"k":[{"a":21}]},73],"d":[{"i":[{"t":5}]}],"e":[{"i":[{"n":1,"s":1},21],"n":21,"r":[{"e":21},9]},73],"f":[{".":68,"a":166,"r":73},66],"g":[{"g":90,"l":11,"o":67,"r":11}],"h":[{"e":[{".":76,"m":73,"n":403,"r":21},66],"m":74,"r":126}],"i":[{"a":74,"c":79,"d":[{"e":[{"i":11}],"r":11}],"e":[{"r":79}],"g":[{"t":74,"u":74}],"l":[{"a":11}],"n":[{"g":79,"h":79,"k":79,"l":79,"z":79}],"p":79,"s":[{"s":18}]},90],"k":[{"e":5,"s":90,"t":35,"z":73}],"l":[{"a":5,"b":4,"e":[{"k":79,"m":79,"n":1,"x":1},67],"i":[{"d":1,"t":5},2],"k":74,"l":[{"a":64,"e":[{"i":11,"r":[{"f":40}]}],"i":[{"f":11}]},68],"o":202,"u":74}],"m":[{".":83,"a":[{"s":1}],"b":191,"p":126,"s":90,"u":79}],"n":[{".":84,"a":[{"m":11,"n":6},169],"ä":5,"b":68,"c":68,"d":[{"a":[{"r":11}],"b":191,"d":191,"f":191,"g":66,"h":191,"k":191,"l":66,"p":191,"t":191,"w":191}],"e":[{"b":21,"i":4,"m":10,"n":[{"e":6},132],"r":[{"b":4}],"u":38}],"f":68,"g":[{"b":191,"e":[{"n":11}],"s":191,"t":191,"u":[{"n":11},66]}],"h":68,"i":12,"j":68,"k":92,"m":68,"n":[{"a":[{"r":11}]}],"o":124,"s":[{"e":62,"k":4,"p":35}],"t":[{"a":404,"b":191,"d":79,"f":79,"i":127,"l":191,"n":79,"o":4,"r":176,"s":191,"w":126,"z":79}],"u":12,"v":68,"w":68,"z":[{"e":[{"r":10}]}]},74],"o":[{"b":38,"h":5,"r":5}],"p":[{"e":[{"n":5}],"f":73,"i":76,"o":[{"s":5},73],"t":10}],"r":[{".":84,"a":[{"b":5,"c":5,"f":38,"g":5,"l":16,"m":5,"n":5,"p":38,"t":[{"i":[{"o":22}],"o":1},68],"u":5},0],"b":[{"a":92,"e":[{".":126,"n":126}]}],"d":[{"b":73,"i":[{"g":11}]}],"e":[{"b":123,"c":5}],"f":[{"a":[{"s":79}],"r":74,"ü":73},66],"g":[{"r":74},405],"h":[{"ö":126},66],"i":74,"j":68,"k":[{"a":176,"ö":68},66],"l":[{"i":68,"ö":90}],"m":[{"i":66}],"n":[{"ä":90,"e":[{"u":126}],"t":90}],"o":[{"s":66}],"ö":[{"f":66,"s":0}],"s":[{".":68,"a":90,"e":74,"k":11,"t":[{"s":126}]}],"t":[{".":74},10],"u":[{"p":5}],"v":83,"w":[{"a":[{"r":79}]}],"z":90}],"s":[{".":68,"a":[{"l":5}],"e":[{"i":5,"v":20}],"h":103,"k":[{"a":1}],"o":[{"f":20,"r":20}],"p":[{"a":20}],"s":[{"i":[{"g":11},406]}],"t":[{"r":407}],"y":[{"n":79}]}],"ß":83,"t":[{"a":[{"b":5,"g":76,"k":9,"n":20,"p":76,"t":76,"u":5}],"e":[{"l":31}],"h":[{"a":4},5],"i":[{"n":6},1],"o":[{"b":6}],"s":94,"t":[{"a":4,"e":4,"r":4},68],"u":151,"z":[{"e":[{"r":11}],"i":28}]}],"u":[{"c":9,"e":[{"r":[{"e":11,"f":18,"k":18,"r":18,"s":18,"w":18}]}],"g":62,"p":90,"r":[{"a":2},21],"t":4},5],"v":[{"i":83}],"w":[{"a":1},68],"x":[{"i":5},90],"y":176,"z":74},70],"é":74,"f":[{"a":[{"l":[{"t":100},75],"n":[{"g":75}],"r":6}],"ä":75,"e":[{"i":2,"n":75,"r":75,"s":5,"x":84}],"f":11,"i":[{"l":[{"e":[{".":11}]}]},77],"l":[{"e":6}],"o":5,"r":6,"s":3,"t":[{"a":[{"n":5}],"e":[{"i":1}],"r":38,"s":[{"t":[{"e":11},2]}]}],"u":99},90],"g":[{"a":[{"b":[{"e":77,"t":0}],"c":99,"d":99,"k":99,"m":[{"e":30}],"n":[{"d":[{"a":1}],"g":[{"s":[{"t":13}]}],"h":68,"l":84,"t":0}],"r":[{"e":0,"s":75}],"v":110}],"ä":[{"l":99}],"d":16,"e":[{"i":[{"f":99,"n":99}],"l":[{"b":18,"e":[{"i":62}]}],"n":[{"e":[{"r":[{"w":33}]},140],"s":189},121],"r":[{"a":[{"m":11}],"g":99,"z":[{"ä":10}]}],"s":[{"a":35},121]}],"h":[{"u":1}],"i":[{"d":99}],"l":[{"a":[{"d":5}],"ä":[{"s":5}],"i":[{"c":68}],"o":[{"k":6,"t":77}]}],"n":[{"e":1,"i":128,"o":[{"m":6}],"u":5},68],"o":[{"b":5,"p":99,"r":[{"i":2},99]}],"ö":68,"r":[{"a":[{"i":81,"n":6,"t":81}],"o":[{"c":1,"s":[{"t":1}]}]}],"s":[{"a":[{"n":4,"u":12}],"c":[{"h":[{"r":7}]}],"e":[{"h":62}],"p":[{"a":[{"r":6},4]}],"t":[{"e":[{"c":6}]}]},20],"t":[{"s":1},84],"u":[{"m":68}],"z":[{"e":[{"i":[{"t":18}]}]}]},191],"h":[{"e":[{"r":2}]},236],"i":[{"a":[{"l":[{"o":1}],"r":5},83],"b":[{"b":10}],"c":[{"e":0},11],"d":[{".":83,"a":1,"e":[{"a":73},5],"r":1,"y":72},66],"e":[{"b":4,"l":[{"a":35},0],"n":[{"e":1,"i":1},11],"r":[{"e":[{"i":11}],"n":[{"a":6}]}],"s":[{"a":2}],"u":5},68],"f":[{"l":0}],"g":[{"a":[{"b":20,"m":20,"n":20},21],"e":[{"l":236,"n":84,"t":73}],"l":[{"i":4},6],"n":5,"s":[{"p":11}]}],"h":[{"i":23}],"k":[{"a":[{"r":5}],"e":[{"l":5,"r":[{"h":1}]},74],"i":[{"n":[{"g":4}]},5],"o":[{"r":5}],"r":38,"t":62}],"l":[{"a":3,"i":3,"l":4},83],"m":[{"p":79}],"n":[{".":74,"a":[{"c":2,"l":5},83],"b":83,"d":90,"f":73,"g":[{"s":10},83],"h":90,"k":408,"o":[{"r":5},74],"p":83,"s":[{"e":79,"u":79},90],"t":191,"u":1,"v":191,"w":83},9],"o":[{"b":5,"k":1,"r":[{"a":1}]}],"p":68,"r":[{"o":[{"n":6}],"r":66}],"s":[{"a":[{"m":6,"n":5}],"ä":5,"c":[{"h":[{"a":4,"w":6}]}],"e":[{"l":4},20],"o":[{"l":126,"m":5,"t":79}],"p":[{"i":1},5],"s":368,"t":[{"h":[{"a":4}],"u":[{"n":1},5]}],"u":20},83],"t":[{"a":74,"h":0,"i":[{"a":401},5],"o":2,"r":74,"s":4,"t":[{"e":[{"c":11,"l":[{"l":24}],"r":[{"g":353,"k":397}]}],"i":[{"e":11}],"r":[{"a":11}],"s":[{"a":10}]}]},73],"u":74,"v":2,"x":74},70],"j":90,"k":[{"a":[{"b":[{"r":0}],"c":99,"g":[{"e":2}],"l":[{"g":84},77],"n":[{"g":0}],"p":[{"f":0}],"r":[{"t":[{".":1}]}],"s":[{"c":4}],"t":[{"m":68,"o":68}],"u":[{"s":0,"t":68}]}],"ä":[{"h":99,"p":99}],"e":[{"i":[{"l":5},0],"l":[{"e":[{"i":11,"m":84}]}],"n":[{"a":11,"t":[{"e":10}]}],"r":[{"l":[{"e":128}],"o":[{"s":11}],"s":[{"a":1}]}],"s":[{"c":77}],"t":[{"i":0,"u":68},2]}],"i":[{"d":[{"e":68},30],"n":[{"h":0,"s":99}]}],"l":[{"a":[{"d":[{"e":84}],"g":77}],"e":[{"i":[{"s":1}],"n":81,"s":1}],"i":[{"n":77}],"o":5}],"n":[{"e":[{"b":6}],"i":[{"s":68,"t":68}],"u":68}],"o":[{"b":[{"e":131}],"p":[{"e":0,"t":68}],"r":[{"d":100,"i":0,"t":99},2]}],"ö":[{"l":68}],"r":[{"a":[{"b":6}],"ä":[{"t":1}],"e":[{".":84,"l":81,"n":68,"p":1,"z":68}],"o":[{"l":68},1]}],"s":[{"a":[{"l":5}],"e":[{"n":1},5],"o":5,"t":[{"i":2}],"z":3}],"t":[{"a":[{"k":5}],"e":[{"r":[{"g":6,"n":12}],"s":[{"k":23}],"t":2}],"i":[{"n":5,"t":9}],"o":[{"p":5}],"r":[{"i":[{"c":4}],"o":5,"u":5},9],"s":[{"e":[{"n":11}]}]}],"u":[{"m":99,"n":2,"r":[{"h":0}]}],"ü":[{"b":68}]},191],"l":[{"a":[{"g":[{"e":4}]}],"e":[{"g":[{"a":2}]}],"i":[{"n":[{"e":11}]}]},161],"m":[{"a":77,"ä":77,"e":[{"n":[{"s":21}]}],"i":140},151],"n":[{"a":[{"d":[{"a":68}],"g":2,"l":[{"g":68,"l":99}],"m":4,"n":68,"s":[{"t":4}],"u":68}],"ä":77,"e":[{"c":77,"i":[{".":5}],"l":[{"b":77,"e":11}],"n":[{"a":11,"s":5}],"r":[{"e":[{"i":[{"g":336},10]}],"f":[{"ü":10}],"g":[{"e":[{"b":52}],"r":6}],"h":5,"k":5,"l":[{"a":10}],"o":5,"ö":409,"w":[{"a":[{"r":52},1]}],"z":21}],"s":[{"e":28,"s":68}],"u":5,"x":5}],"f":1,"g":11,"i":77,"k":2,"o":[{"b":[{"l":1,"s":1},38],"f":68,"p":99,"r":[{"i":0},2]}],"s":[{"a":[{"m":6}],"e":[{"r":1}],"p":3,"t":[{"a":[{"t":4}],"o":[{"c":6}],"ö":5},10]}],"t":[{"a":3,"h":5}],"u":[{"f":99,"n":[{"f":99}],"r":0}]},191],"o":[{".":74,"a":[{"t":7}],"b":[{"a":83,"e":[{"l":68}],"j":73,"l":[{"a":5,"e":68,"o":74,"ö":74}],"s":90,"u":[{"t":15},21],"y":74}],"c":[{"h":[{"e":18,"r":10}]},0],"d":[{"e":5},73],"e":[{"d":5}],"f":[{"e":5,"f":73},66],"h":[{"e":83},90],"k":[{"e":[{"l":5}],"k":72,"r":1}],"l":[{"e":[{"u":5},77],"i":[{"g":6,"v":5}],"y":161}],"m":[{"e":410,"i":1,"p":74}],"n":[{"e":2,"k":66,"t":66,"y":73}],"o":5,"p":[{"a":83,"ä":74,"e":[{"r":5}],"i":151,"s":90,"t":[{"e":3}]}],"r":[{".":74,"a":[{"d":5,"k":81,"l":1,"r":1},2],"c":73,"d":[{"a":11,"b":74,"e":[{"s":11}],"r":364}],"e":3,"g":90,"h":74,"l":83,"m":[{"a":[{"l":4},21]},74],"ö":74,"s":74,"t":90}],"s":[{".":83,"e":28,"h":1,"k":43,"p":5,"t":[{"i":73,"r":44,"v":73}],"u":2}],"t":[{"a":[{"n":5,"r":[{"t":1}]}],"ä":5,"e":[{"i":94,"n":[{"t":[{"r":19}]}],"r":[{"b":96},400],"x":5}],"h":[{"o":5},9],"i":[{"n":38}],"o":[{"p":38}],"r":38,"t":[{"r":4}]}],"v":74,"x":151,"z":74},70],"ö":[{"d":73,"f":194,"k":191,"l":191,"r":68,"t":80}],"p":[{"a":[{"g":[{"e":2}]}],"f":11,"s":[{"y":23}]},304],"q":90,"r":[{"a":[{"n":21,"u":[{"m":[{"a":10}]}]}],"ä":[{"u":[{"s":23}]}],"e":[{"b":[{"e":100}],"s":[{"z":4}]}],"o":[{"h":2}],"ö":[{"s":2}],"ü":[{"c":[{"k":[{"e":[{"r":307}]}]}]}]},411],"s":[{"a":[{"b":[{"o":77}],"d":109,"g":[{"i":110}],"l":[{"l":68,"t":68}],"n":[{"e":1}],"r":[{"g":5,"i":1,"k":77},2],"s":11,"t":[{"h":6}],"u":[{"r":10,"s":[{"e":10}],"t":68}],"v":5,"x":5}],"ä":[{"n":99,"u":[{"g":5,"s":99}]}],"c":[{"h":[{"e":[{".":77,"f":84,"u":[{"l":50}]}],"l":[{".":84}],"o":21,"t":18,"u":77,"w":[{"e":[{"r":[{"d":134}]}]}]}],"r":5}],"e":[{"b":0,"e":[{"i":[{"n":11}]}],"h":[{"a":203,"e":[{"r":[{"e":50}]}]},5],"i":[{"n":[{"f":84}]}],"l":[{"e":[{"m":1},5]}],"m":[{".":68}],"n":[{"s":[{"p":10}]}],"p":[{"o":68}],"r":[{"f":99,"g":99,"h":68,"i":77,"k":0,"l":[{"e":84},0],"n":[{"e":128}],"ö":68,"s":[{"c":84},0],"t":[{"r":1}],"w":99,"z":68}],"t":[{"y":68}],"u":99}],"f":[{"i":[{"l":21}]}],"h":[{"o":[{"r":1}]}],"i":[{"d":[{"e":[{"n":1}]}],"m":[{"p":170},140],"n":[{"i":68,"n":100}],"t":[{"e":2,"r":2}]}],"k":[{"a":[{"l":75}],"e":[{"l":75}],"i":[{"s":5}],"l":[{"e":77}],"y":75}],"m":[{"a":[{"r":[{"a":77}]}]}],"o":[{"d":110,"f":[{"f":84},0],"m":6,"n":[{"t":128}],"p":68,"r":[{"t":[{".":128}]}]}],"p":[{"a":[{"c":5}],"e":[{"k":5,"l":5,"n":141,"r":[{"i":84}]}],"h":68,"i":[{"e":140},5],"o":68,"r":[{"ä":68,"i":[{"e":128}],"o":68}],"u":[{"t":68}]},11],"s":3,"t":[{"a":[{"k":9,"l":[{"e":84}],"n":[{"e":4},412],"r":6,"s":68,"t":[{".":128,"e":[{"n":170}],"s":84}],"u":5}],"e":[{".":319,"i":[{"f":[{"e":33},84],"n":[{"h":[{"e":255}]}]}],"m":[{".":6}],"n":[{".":6,"t":84}],"r":[{".":6,"g":[{"e":33}]}],"s":[{".":6}]}],"i":[{"c":319,"l":[{"g":84}]}],"o":[{"b":68,"l":[{"e":84}],"p":[{"f":[{"e":33}]}],"r":5}],"r":[{"a":[{"c":84,"d":84}],"i":[{"e":[{"b":170}],"k":84}],"u":[{"n":6}]}],"u":[{"m":5,"t":35}]}],"u":[{"f":77,"m":5,"n":[{"g":5},0],"r":[{"s":99}],"t":68}],"y":77,"z":[{"i":[{"n":5}]}]},191],"t":[{"a":[{"c":382,"k":[{"t":[{"a":10}]}],"l":[{"a":44,"i":[{"n":11}],"l":111,"o":2,"p":5}],"m":153,"n":[{"b":5,"e":4,"g":0,"s":[{"p":84}],"t":0,"z":[{"a":84}]}],"r":[{"b":75,"k":0,"m":75,"t":[{"i":[{"k":52}],"u":1},0]}],"s":[{"s":99}],"t":[{"h":68,"l":77}],"u":[{"f":68}]}],"ä":[{"m":0,"u":99}],"e":[{"a":[{"u":4}],"e":9,"g":413,"h":[{"e":77},99],"i":[{"g":68,"n":0,"s":99}],"m":[{"o":0}],"n":[{"a":11,"t":[{"e":[{".":52}]}]},6],"r":[{"a":18,"e":[{"i":[{"s":42}]}],"h":6,"k":6,"m":6,"n":[{"e":18},6],"s":6,"t":6}],"s":[{"a":4,"s":99,"t":[{"r":[{"i":170}]}]},21],"t":[{"a":109}],"u":[{"e":[{"r":[{"i":52}]}]},23],"v":4}],"h":[{"e":[{"l":0}],"i":[{"e":0}],"o":[{"t":68}],"r":77,"u":[{"m":414},6],"y":6}],"i":[{"m":[{"p":23}],"n":[{"d":81,"f":1,"h":1,"i":132}]},5],"l":[{"e":[{"m":121}]}],"m":[{"e":[{"n":100}],"o":10}],"n":[{"i":[{"s":132},21]}],"o":[{"r":[{"e":4,"g":68,"i":[{"e":119}]}]}],"ö":[{"l":99}],"r":[{"a":[{"l":6,"u":[{"m":6},0]}],"e":[{"a":1,"c":1,"e":121,"i":[{"f":1}],"p":[{"r":6},77]}],"i":[{"c":[{"h":1}],"e":[{"g":128}]}],"o":[{"h":68,"p":77}],"ü":81}],"s":[{"a":[{"h":2}],"p":[{"a":[{"r":4}],"e":7},2],"t":[{"i":2}],"u":[{"r":5}]},111],"t":[{"ü":23},2],"u":[{"r":[{"e":[{".":11}]}]}],"z":1},90],"u":[{"a":[{"r":219},298],"b":[{"i":44}],"c":73,"d":[{"e":21}],"e":[{"s":5},74],"f":[{"e":5}],"h":[{"i":74},90],"i":74,"k":[{"l":1,"r":75},232],"l":[{"l":[{"e":[{"b":23}],"i":[{"n":11}]}]}],"m":[{".":68,"b":72,"e":68,"f":73,"g":73,"l":73,"m":83,"r":79,"s":90,"v":90,"z":72}],"n":[{"a":73,"e":90,"g":[{"l":126},83],"i":191,"k":77,"r":73,"t":73,"v":73,"w":73},6],"o":74,"p":73,"r":[{"i":2,"s":21,"z":2},76],"s":[{"c":1,"e":1,"i":6,"p":9,"s":[{"e":[{"r":[{"l":24},210]}]}],"t":36},218],"ß":20,"t":[{"a":20,"o":[{"p":5},77],"r":38},74],"u":74,"x":74,"z":74},70],"ü":[{"b":333,"r":[{"c":9}],"t":70}],"v":[{"e":[{"r":77}],"l":77,"o":[{"r":[{"a":[{"n":97}]}]}]},151],"w":[{"e":[{"i":[{"s":[{"t":10}]}]}]},72],"y":[{".":70,"a":[{".":68},90],"h":70,"o":66,"r":70,"s":70,"w":70}],"z":[{"a":[{"c":68,"g":110,"k":166,"n":[{"e":16,"i":77},68],"r":68,"s":11,"t":68,"u":99}],"ä":[{"n":68,"r":68}],"e":[{"l":[{"a":11,"l":[{"i":[{"g":52}]},23]}],"n":[{"e":[{"r":[{"g":170}]}],"i":77,"s":[{"e":84}],"t":[{"l":84,"s":84}]}],"r":[{"e":[{"m":1}],"h":99,"l":[{"ö":10},0],"r":141,"s":[{"t":[{"e":7}]}],"t":[{"r":[{"a":52}]}]}],"s":[{"k":4},121],"t":[{"a":0},2],"u":[{"t":35}]}],"i":[{"d":99,"g":[{"a":2}],"n":[{"h":68,"i":99,"t":0,"v":0}]}],"l":[{"e":[{"i":15},1]}],"o":[{"p":99}],"ö":[{"l":68}],"t":[{"r":11}],"u":[{"g":[{"s":21}]}],"w":[{"a":99,"ä":99,"e":[{"t":68}],"i":[{"r":68}],"ö":68,"u":99}]},191]}],"ñ":[{"o":[{"r":2},0]}],"o":[{"a":[{"b":[{"i":128}],"c":[{"h":[{"e":1,"i":1}]},84],"d":[{"e":1},84],"i":[{"n":1}],"k":[{"e":128,"l":33}],"l":[{"a":128}],"m":[{"i":128}],"n":[{"a":11},6],"q":128,"r":208,"s":[{"e":74,"i":6,"p":6,"s":140},81],"t":[{"e":1},84],"u":140},161],"ä":151,"b":[{".":73,"a":[{"l":[{"l":23},75],"m":5,"r":5,"u":[{"f":0}]}],"ä":161,"b":73,"e":[{".":73,"a":73,"c":72,"f":73,"i":[{"n":81}],"n":[{"a":11,"d":206},73],"r":[{".":72,"e":[{"i":[{"s":50}]}],"i":[{"n":[{"g":40},23],"s":11}]},80],"v":73,"z":73},5],"i":161,"j":74,"l":[{"a":0,"e":[{"i":1}],"i":145,"o":73,"ö":76,"u":5}],"o":[{"r":0},73],"ö":73,"r":[{"e":[{"i":1}],"ü":73}],"s":[{"h":1,"k":1},192],"u":[{"n":[{"t":84}]},72],"ü":[{"b":84},72],"y":73},66],"c":[{"a":77,"c":[{"l":74},0],"e":66,"h":[{"a":[{"b":21,"r":21},9],"e":[{"b":10,"c":315,"h":9,"i":9,"l":21,"r":[{"k":18}]},66],"i":[{"d":10}],"l":4,"m":4,"o":9,"ö":[{"f":21}],"r":4,"t":10,"u":[{"f":21,"t":35},66],"w":9}],"i":77,"k":[{"e":[{"r":[{"s":[{"c":266}]}]}],"s":[{"z":4}],"t":[{"a":4}]},6],"l":66,"o":77},73],"ç":66,"d":[{"a":[{"k":1},76],"d":[{"r":5}],"e":[{"c":250,"i":[{"n":15},382],"l":[{"a":[{"g":25}]}],"n":28,"s":[{"e":28,"p":4}],"t":5,"x":77}],"i":[{"a":72,"c":91,"f":73,"r":72},5],"n":73,"o":[{"n":68,"p":99,"s":11}],"ö":5,"r":[{"e":68},73],"t":11,"u":73,"y":[{"m":2},77]},66],"e":[{"b":6,"d":[{"i":1}],"m":6,"n":[{"e":9}],"r":[{"i":1}],"s":[{"c":6},81],"t":[{".":77,"s":77},166]},151],"f":[{"a":[{"d":30,"g":30,"n":5,"u":0},73],"ä":73,"e":[{"b":110,"c":99,"e":73,"i":99,"m":73,"n":[{"t":68}],"r":[{"b":84},72],"s":161,"t":110,"u":[{"n":1},73]}],"f":[{"a":[{"l":6,"m":6},124],"e":[{"r":[{"z":4}]}],"i":[{"n":20,"r":5,"x":5,"z":70}],"l":38,"o":5,"r":38,"s":[{"h":4,"i":4,"p":4},21],"u":5,"ü":5}],"i":[{"e":[{"i":35}],"k":[{"l":62}]},73],"l":[{"e":1,"i":1,"ö":6},90],"o":73,"ö":73,"r":[{"ä":1,"ü":6},90],"s":[{"a":[{"m":6},5],"c":[{"h":2}],"e":5,"i":5,"p":5,"t":[{"a":[{"f":6}],"o":5,"r":2}],"u":5},9],"t":[{"a":2,"e":[{"i":5}],"h":1,"r":11},73],"u":[{"r":1},73]}],"g":[{"a":[{"b":99,"c":99,"d":4,"n":[{"g":0}]}],"e":[{"i":110,"l":[{"d":[{"r":23}],"i":2}],"n":[{"e":[{"r":97}]}],"r":[{"ä":[{"t":[{"e":[{"i":[{"n":415}]}]}]}]}],"t":[{"h":99}]}],"g":[{"l":5}],"h":77,"i":[{"e":[{"r":2}],"n":[{"i":99,"s":1},44]}],"l":[{"e":1,"o":5},0],"n":121,"o":[{"i":23,"r":[{"i":30}]}],"s":[{"p":3,"t":9},5]},90],"h":[{"a":[{"l":[{"k":0}]},90],"ä":66,"e":[{"i":[{"s":99}],"r":[{"t":114,"z":78}]},66],"i":90,"l":[{"a":[{"d":34},9],"ä":5,"e":[{"c":1,"i":9,"p":1,"r":[{"g":6,"h":12,"w":6},100]}],"o":[{"r":9},224],"s":21,"u":5},73],"m":[{"a":2,"i":70,"u":1}],"n":[{"a":[{"c":6},9],"e":[{"e":1}],"i":5,"m":70,"o":20,"s":[{"k":4}]}],"o":[{"l":[{"e":28,"o":44}],"p":30},90],"ö":[{"l":1},73],"r":[{"a":4,"e":[{"l":5,"m":5,"n":[{"s":15}],"r":[{"g":6},100]}],"i":[{"n":6},1],"o":[{"l":5},9],"t":[{"r":10}]}],"s":[{"a":1},2],"t":1,"u":66,"w":0,"y":90}],"i":[{"d":[{".":66,"a":75,"s":66}],"e":77,"m":67,"n":[{"e":84},66],"r":5,"s":[{"c":[{"h":[{".":77,"e":84}]}],"e":1,"m":66,"s":21,"t":6}],"t":[{"u":112}]},73],"j":90,"k":[{"a":[{"b":35,"c":81,"i":4,"l":[{"a":2,"e":[{"r":[{"e":24}]},100]}]},5],"e":5,"i":[{"o":11}],"l":[{"a":[{"u":1},5],"ä":0,"i":5}],"o":[{"p":[{"t":11}]},5],"s":[{"o":5,"p":20}],"t":3,"u":77,"w":74},90],"l":[{"a":[{"b":[{"u":1}],"f":10,"m":110,"n":[{"t":0}],"r":5,"s":[{"t":18},382],"v":30},66],"ä":[{"t":0},191],"c":[{"h":[{"r":5}]}],"d":[{"a":[{"m":36}],"ä":5,"e":[{"d":20,"n":[{"g":12}],"r":[{"s":[{"a":33}]}],"u":5}],"i":[{"m":5}],"o":38,"r":5}],"e":[{".":126,"f":99,"i":[{"e":0,"s":99}],"m":[{"b":0}],"r":[{"k":0,"t":416},21],"s":[{"s":0}],"u":35,"x":[{"z":0}]}],"f":[{"a":5,"e":[{"m":5,"r":[{"e":4}]}],"l":38,"r":[{"a":38},9],"t":10}],"g":[{"e":[{"g":[{"e":96}],"n":[{"e":10}]}],"l":5,"r":5}],"i":[{"e":[{"n":159,"r":11}],"k":62,"t":[{"u":4}],"v":74},5],"k":[{"l":5,"r":[{"e":4,"o":5}],"s":[{"c":11,"i":11},23]}],"l":[{"a":[{"c":9,"d":45,"k":20,"n":[{"g":6}],"u":6}],"ä":[{"d":5},21],"e":[{".":1,"b":9,"c":36,"i":[{"n":4},5],"m":1,"r":[{"h":4,"k":18,"l":4,"w":4}],"s":[{"s":4}]}],"i":[{"c":5,"s":[{"t":45}]}],"o":[{"c":34,"g":34,"p":5}],"ö":34,"s":[{"a":4,"p":4},21],"u":[{"s":1},5]}],"o":[{"f":5,"p":9,"r":[{"t":0}],"s":[{"t":4}],"v":5},79],"s":[{"k":3}],"t":[{"e":1,"h":3,"i":1}],"u":[{"t":[{"h":2}]},66],"y":[{"s":126},5],"z":[{"a":[{"n":1},20],"e":[{"r":[{"n":12}]}],"i":[{"m":5}],"o":5,"w":5,"y":5}]},73],"m":[{"a":[{"b":[{"l":2},68],"g":[{"e":110}],"l":[{"g":0,"l":0}],"n":[{"e":[{"r":25}],"g":99,"r":5,"t":[{"e":84}]}],"p":99,"r":[{"s":114,"t":[{"e":10},99]}],"s":[{"y":166}],"t":[{"i":21,"o":[{"m":84}]}],"u":99}],"ä":77,"e":[{"b":[{"e":0},68],"f":99,"i":99,"l":[{"d":77},68],"n":[{"t":[{"a":[{"n":417}]}]}],"p":84,"r":[{"h":0,"u":68,"z":0},21]}],"i":[{"c":162,"e":[{"t":132}],"g":77,"n":[{"d":0,"g":0,"s":0,"t":99}]}],"m":[{"a":1,"ä":1,"e":3,"u":1}],"n":74,"o":[{"a":81,"r":[{"g":99,"i":30}]},79],"p":[{"f":1}],"s":[{"k":1},2],"t":3,"u":[{"m":68,"n":[{"t":84}],"s":77}]},73],"n":[{"a":[{"b":3,"c":5,"g":4,"l":77,"n":[{"n":1,"z":[{"e":[{"i":54}]}]}],"p":99,"r":[{"b":81}],"t":[{"h":4,"o":[{"l":79}],"s":21,"t":343}],"u":5},73],"ä":[{"h":0},73],"c":73,"d":[{"a":[{"n":5}],"e":[{"r":[{"e":[{"r":[{"s":27,"t":291}]}]}]}],"r":[{"a":5,"i":[{"n":6}]},9],"s":[{"k":4}]}],"e":[{"c":0,"e":77,"f":68,"i":[{"g":77,"n":1}],"m":[{"a":0}],"n":[{"d":[{"s":128}],"g":5},28],"p":0,"r":[{".":77,"b":0,"d":99,"f":[{"a":10}],"h":68,"k":[{"a":6}],"s":0}],"t":[{"t":77}],"u":5},73],"f":3,"g":[{"l":[{"e":11},1],"r":11,"s":4,"u":[{"e":5}]}],"i":[{"d":38,"e":[{"g":23}],"g":[{"a":2}],"k":[{"r":84},6],"m":84,"n":[{"d":84,"h":84,"s":84}]},126],"k":[{"e":74},16],"l":[{"i":[{"n":52},21],"o":[{"c":21}]}],"n":[{"a":[{"g":23,"n":3},21],"e":3}],"o":[{"d":77,"f":68,"i":2,"k":[{"e":81}],"m":77,"p":[{"e":0}],"r":[{"c":0,"d":1}],"s":4,"t":35},154],"r":[{"a":[{"d":15}]}],"s":[{"a":94,"e":[{"b":5,"n":132,"t":21}],"h":[{"o":6}],"i":[{"d":21,"n":[{"g":4}]}],"l":4,"p":9,"t":[{"a":21,"i":[{"e":4}],"r":10}]}],"t":[{"a":1,"e":[{"b":20,"l":34,"n":[{"d":33}],"r":[{"l":12}]}],"h":5,"r":[{"a":[{"t":12}]}]}],"u":[{"k":73,"r":77,"t":73}],"v":1,"y":[{".":77},70],"z":[{"e":[{"i":[{"n":23}]}]},3]}],"ñ":66,"o":[{"c":[{"h":21},0],"f":[{"s":21}],"g":[{"l":5}],"k":[{"l":38,"n":5}],"m":[{"o":5}],"n":[{"e":5}],"p":[{"s":2},66],"r":[{"d":4},66],"s":[{"k":6,"u":5}],"t":[{"a":20,"e":[{"i":9}],"h":20,"r":5,"s":[{"t":28}],"t":4,"u":[{"r":5}]}]}],"ö":151,"p":[{".":73,"a":[{"d":[{"r":1}],"k":[{"t":0}],"l":[{"e":2}],"n":[{"g":0}],"x":73},66],"ä":73,"e":[{"c":66,"d":66,"f":0,"i":66,"k":66,"n":73,"r":[{"a":68,"h":0}],"s":66}],"f":[{".":73,"a":[{"h":1},38],"ä":5,"e":[{"m":5},68],"i":[{"n":5}],"l":[{"a":4,"ü":0}],"o":[{"r":1},5]}],"h":[{"e":77},261],"i":[{"a":138,"e":[{"r":[{".":4,"s":[{".":33}],"u":116}]}],"n":21},66],"l":[{"a":[{"g":1}],"e":414},73],"n":75,"o":[{"l":[{"a":2}]},73],"p":[{"a":[{"n":5}],"l":6,"o":70,"t":73}],"r":90,"s":[{"i":146,"z":1}],"t":[{"e":73,"h":1},196],"u":[{"m":68}],"y":73}],"q":90,"r":[{".":73,"a":[{".":73,"a":66,"b":[{"b":68},187],"d":[{"d":81,"r":1}],"g":67,"k":[{"e":70},68],"l":[{"l":50,"m":128,"t":6},66],"m":[{"i":3},5],"n":[{"d":418,"e":6,"f":21,"m":21,"z":[{"e":10}]}],"p":1,"r":73,"s":67,"t":[{"t":68}],"u":[{"s":[{"w":[{"a":13}]},21]},148],"v":5,"w":90,"y":66},0],"ä":[{"n":[{"d":0}],"t":0},77],"b":[{"l":2}],"c":[{"a":73,"e":5},0],"d":[{".":73,"a":[{"m":9,"r":5,"u":5},73],"b":73,"e":[{"n":[{"g":4}],"s":10,"u":5}],"i":[{"n":[{"g":12}],"r":20,"t":5}],"n":70,"o":124,"r":73,"t":4,"u":73,"w":73}],"e":[{"a":2,"b":110,"c":[{"k":99}],"d":[{"i":2}],"e":140,"f":[{"f":0},77],"h":2,"i":[{".":77,"e":77,"f":75,"s":75},0],"m":[{"s":100}],"n":[{"n":77}],"p":77,"r":[{"e":75,"o":75},99],"t":[{"h":11}],"u":99},73],"f":[{"a":[{"c":5,"r":5}]},73],"g":[{"a":11,"e":[{"t":73},2],"h":[{"i":1}],"i":[{"a":73}],"l":[{"a":1,"e":1},5],"n":[{"e":1},5],"r":73}],"h":73,"i":[{"a":72,"d":[{"i":23},161],"e":[{".":126,"n":[{".":77,"t":[{"i":170}]}],"r":77}],"l":77,"m":[{"a":0,"i":11}],"n":[{"d":111,"s":84},419],"o":333,"s":[{"o":68}],"t":73}],"k":[{"r":11,"s":4},73],"m":[{"a":[{"m":5,"n":[{"g":6,"s":6}],"s":[{"p":4}]}],"e":[{"b":20,"r":[{"f":12,"g":37}]}],"o":[{"r":[{"d":4},5]}],"u":[{"m":5,"n":[{"i":6,"t":6},10]}],"v":[{"o":[{"l":97}]}],"w":[{"a":49}]},73],"n":[{"a":[{"c":20,"l":5,"n":5,"r":5}],"e":[{".":7}],"i":[{"n":6},1],"o":1}],"o":[{"b":99,"l":[{"y":1}],"n":[{"a":35}],"p":[{"e":0,"f":0}],"r":109,"u":77,"x":0},90],"ö":90,"p":73,"q":73,"r":[{"a":11,"e":3},73],"s":[{"a":16,"h":1,"i":1,"k":1,"z":1},104],"t":[{"a":[{"k":20,"n":5,"r":21,"u":20}],"e":[{"f":5,"n":[{"g":420},10],"r":[{"b":4,"e":12,"f":4,"g":4,"k":6,"l":12}],"v":115}],"h":[{"e":5}],"i":[{"n":5}],"o":[{"f":[{"f":12}],"r":123}],"ö":5,"r":[{"a":[{"d":4,"u":6}],"ä":[{"u":12}],"e":4}],"u":[{"m":20}]}],"u":[{"f":5,"h":0,"m":[{"s":10}],"n":128,"r":2,"s":140},72],"ü":68,"z":[{"e":[{"l":49},3],"w":5}]}],"s":[{"a":[{"d":1,"l":21,"m":[{"i":128}]},161],"c":[{"a":128,"h":[{"a":[{"r":23}],"e":77,"l":[{"e":23}]}],"o":5},73],"e":[{"e":9,"i":[{"n":421}],"l":5,"n":2,"r":[{"k":114}],"x":5},73],"h":[{"i":75,"o":5,"u":6},73],"i":[{"m":5},73],"k":[{"a":[{"l":5}],"i":84,"l":76,"o":76,"r":84,"y":84},77],"m":[{"o":[{"g":6}]},70],"o":[{"l":44},76],"ö":68,"p":[{"e":[{"c":0,"r":[{"o":1}]}],"o":75},73],"s":[{"a":[{"c":422,"l":[{"a":4}],"n":[{"d":4},5]}],"ä":6,"e":[{"i":5,"n":[{"k":[{"e":33}],"z":12}],"p":20,"r":[{"b":37,"e":18,"f":41}]}],"i":[{"k":5,"m":5}],"o":[{"n":6},123],"p":[{"a":9},5],"t":[{"a":6},20]},73],"t":[{"a":[{"l":[{".":77}],"r":[{"t":11}],"u":[{"t":4}]},9],"e":[{"n":21,"p":128,"r":[{"d":84,"e":15,"w":[{"e":[{"i":51},33]}]}],"u":[{"r":4}]}],"h":9,"i":[{"d":68,"n":68}],"o":[{"n":1,"s":10}],"r":[{"a":[{"n":4}],"ä":169,"e":4,"o":[{"t":4}],"u":6}],"u":[{"f":4}]},5],"u":[{"m":0},158],"y":72,"z":[{"e":121}]},66],"ß":[{"e":[{"l":99,"n":[{"t":99,"z":114}],"r":[{"b":99,"e":99,"f":99},21]}],"i":[{"s":0}],"u":0},73],"t":[{"a":[{"b":[{"i":81}],"h":0,"k":99,"l":77,"m":77,"n":[{"t":0}],"r":[{"k":77,"z":68}],"s":[{"t":0},11],"u":[{".":77},99],"x":5}],"ä":0,"e":[{"b":68,"i":[{"b":111,"c":111,"n":10,"s":111},9],"l":[{"a":71},5],"m":[{"i":111,"p":423},77],"n":[{"a":11,"t":[{"b":84}]}],"r":[{"b":0,"l":424,"w":111}],"s":5}],"h":[{"a":[{"r":5}],"e":[{"m":68}],"i":99,"r":68}],"i":[{"l":68,"m":110,"n":[{"h":1},5]},79],"l":[{"i":10},84],"o":[{"b":62,"f":[{"f":1}],"p":[{"h":2}]},5],"ö":99,"r":[{"a":[{"c":23,"n":121,"t":1,"u":6}],"e":1,"i":[{"c":1,"g":6,"n":1}],"u":[{"s":1}]}],"s":[{"a":[{"t":38}],"o":9,"p":[{"e":2},9],"t":[{"r":[{"a":16}]}]}],"t":[{"a":[{"k":[{"t":4}],"n":4,"s":123,"u":5}],"e":[{"b":5,"r":[{"h":6,"k":41}]}],"h":20,"i":[{"m":5}],"o":2,"r":[{"a":16,"u":16},38]}],"u":[{"r":[{"l":0}]}]},90],"u":[{"f":[{"f":52,"l":117}],"g":[{"e":6,"l":1},2],"h":66,"i":[{"s":[{".":0}]}],"l":[{"e":[{".":5,"s":5}],"i":6},73],"m":90,"n":[{"g":[{"e":[{".":11}],"s":100},50]},425],"r":[{"e":[{"t":5},21],"i":[{"e":426}],"m":[{"e":18}],"n":[{"e":[{".":11}]}]},79],"s":[{"a":1,"i":2,"t":167}],"t":[{"i":1,"p":74,"s":35,"u":10}]}],"ü":90,"v":[{"a":5,"e":[{"l":73,"n":77}],"i":[{"s":[{"o":15}]}],"o":73},66],"w":[{"a":[{"l":81}],"e":[{"c":77}],"h":68,"i":77,"u":68},90],"x":[{".":73,"a":67,"e":[{"l":99},73],"k":73,"l":1,"o":66,"u":99,"y":80}],"y":[{"o":66}],"z":[{"a":77,"e":[{"a":70,"n":[{"t":[{"a":10}]},72],"s":[{"s":[{"c":10}]}]}],"i":[{"r":23},72],"o":[{"n":[{"a":44}]}],"y":73,"z":1},67]}],"ó":[{"r":[{"d":2},1]}],"ö":[{"b":[{"a":121,"l":[{"e":81},5],"r":81},66],"c":[{"h":[{"l":4,"r":68,"s":[{"t":[{"e":[{"i":352}],"r":15},21]}]},66]}],"d":[{"e":[{"r":9}],"i":4,"u":70},66],"e":66,"f":[{"f":[{"a":5,"l":5}],"l":1},70],"g":[{"e":[{"l":[{"e":4}],"n":[{"s":163}]}],"l":1,"r":1,"s":5}],"h":[{"e":[{"n":71},66],"l":[{"e":263}],"r":[{"e":10,"i":1}],"s":5,"u":66}],"i":[{"g":[{".":77}],"s":[{"c":[{"h":[{".":77}]}]}]}],"k":[{"e":66,"o":427,"r":1,"s":5}],"l":[{".":74,"a":30,"e":[{"i":0,"m":0}],"f":[{"e":[{"i":20,"r":2}]}],"i":[{"n":0}],"k":[{"e":11,"l":38}],"l":[{"a":[{"n":9},34]}],"m":74,"n":[{"a":[{"r":5}]}],"o":30,"s":[{"a":1,"z":1},2],"t":[{"u":1}],"u":70,"z":[{"w":2}]},68],"m":[{"s":5},66],"n":[{"e":5,"i":[{"z":[{"i":132}]},77],"n":[{"e":2}]}],"o":[{"t":[{"a":5,"i":44}]},0],"p":[{"e":66,"f":[{"l":4}]},73],"r":[{"a":3,"b":[{"e":2,"l":38}],"c":0,"d":[{"r":[{"a":1},5]}],"e":[{"c":99,"i":99,"l":110,"m":110,"n":[{"e":99,"t":68},2],"r":[{"b":75,"e":114,"f":92,"g":92,"h":5,"l":92,"r":5,"w":5,"z":75}],"s":[{"s":0}]}],"f":[{"l":38}],"g":[{"l":5}],"i":[{"m":68}],"k":[{"l":5}],"n":[{"e":[{"r":[{"v":18}]},2]}],"o":0,"p":[{"e":21}],"s":[{"e":2,"k":1}],"t":[{"e":2}],"u":[{"n":[{"e":99}]},11]}],"s":[{"a":68,"c":[{"h":[{"a":157,"e":[{"i":164,"r":[{"f":428,"i":428},97]},100],"i":68,"l":330,"m":157,"n":68,"w":68}]},73],"e":[{"i":[{"n":68},0]}],"l":73,"o":5,"p":68,"s":[{"c":20,"t":6}],"t":[{"a":88},6]},66],"ß":[{"e":[{"n":23}],"t":[{"i":5}]},66],"t":[{"a":81,"e":[{"n":71}],"r":81,"s":[{"c":5}],"t":[{"r":5}]},66],"v":67,"w":66,"z":[{"e":[{"s":10},4]},66]}],"p":[{"a":[{".":70,"a":70,"b":[{"e":68,"l":2,"r":[{"ü":11}],"w":73},66],"c":70,"d":80,"e":[{"l":1}],"f":[{"r":0}],"g":[{"h":1},196],"h":[{"o":0}],"k":[{"e":1,"l":0,"t":[{"o":2}]},70],"l":[{"a":[{"t":23},74],"ä":74,"e":202,"i":3,"m":[{"a":2,"ä":2,"o":28},70],"t":[{"a":28,"e":[{"i":11}],"r":2},73]}],"m":[{"a":38}],"n":[{"a":[{"r":5,"t":12}],"d":[{"a":21,"s":11},4],"e":[{"u":5}],"f":10,"g":10,"i":[{"s":[{"l":6}]}],"k":10,"l":73,"n":[{"e":[{"b":25},100],"u":79},73],"o":385,"s":[{"l":4}],"t":[{"h":35,"o":70,"r":73}],"z":[{"e":4},21]}],"p":[{"i":[{"e":[{"r":[{"e":[{"n":[{"d":55},56]}]}]}]},21],"p":[{"r":2}],"s":[{"t":132},2]},70],"q":0,"r":[{"a":[{"f":[{"f":12}],"k":[{"t":4}],"n":[{"t":6}],"p":1},70],"ä":5,"b":73,"c":80,"d":4,"e":[{"r":[{"g":[{"e":[{"b":51}]}]}]}],"f":[{"ö":73},70],"g":[{"e":[{"l":[{"d":40}]}]}],"k":[{".":70,"a":[{"m":23,"u":11}],"r":11,"s":70}],"m":35,"n":[{"e":4}],"o":385,"p":73,"r":73,"t":[{"a":79,"e":[{"i":74}],"i":70,"n":70,"y":74}],"z":4}],"s":[{"p":[{"e":5},0],"s":[{"e":[{"r":[{"g":24},97]}],"p":28}],"t":2}],"ß":[{"u":5}],"t":[{"a":9,"c":11,"e":[{"l":73},183],"h":429,"i":70,"r":196}],"u":[{"f":90,"n":[{"i":1}],"s":[{"z":73}]},70],"v":70}],"ä":[{"c":[{"k":[{"e":[{"r":23}]}]},74],"d":[{"e":[{"r":20},21]},74],"r":74,"s":74,"t":[{"e":[{"h":349,"n":[{"t":6}],"p":6,"r":[{"b":12}]}],"h":9,"o":5,"r":5,"s":33}]},70],"b":[{"e":9},90],"c":72,"d":[{"a":2},151],"e":[{".":70,"a":[{"r":11,"s":11},167],"b":67,"c":[{"h":44}],"d":[{"a":70}],"e":[{"l":70,"n":5}],"f":[{"f":191},73],"g":[{"e":[{"l":21}]},70],"i":[{"c":73,"l":70,"m":68,"s":73,"t":70},9],"k":[{"t":[{"i":21}]}],"l":[{".":74,"a":[{"b":12,"i":6,"u":20,"x":38}],"ä":20,"b":21,"d":62,"e":[{"h":349,"r":20,"t":5,"u":5},74],"i":[{"d":21,"n":[{"k":12,"n":4,"s":11},10]}],"k":4,"l":[{"a":35,"ä":4,"e":62,"i":21}],"o":[{"b":5}],"s":[{"p":4},430],"t":[{"a":4}],"z":[{"i":[{"n":11}]}]},231],"m":70,"n":[{"a":[{"s":6},21],"ä":5,"d":[{"a":35}],"e":[{"n":431}],"i":[{"t":31}],"o":123,"s":[{"i":322,"o":392,"z":4},21],"t":[{"a":21,"w":73,"y":100}],"u":34,"z":4},70],"p":[{"i":1},70],"r":[{"a":[{"k":5,"m":2},0],"ä":20,"e":[{"b":94,"r":[{"f":18}]}],"i":[{"d":3,"o":432}],"l":[{"e":70,"h":70}],"r":[{"a":[{"n":25},100],"ä":369,"i":[{"c":11,"e":[{"g":24}]}]}],"s":[{"e":73,"i":73,"o":74,"p":74},70],"u":[{"n":1},21],"ü":70,"w":[{"a":[{"r":18}]}]}],"s":[{"a":3,"e":[{"n":21}],"s":433,"t":[{"o":[{"p":6},44]},2]}],"t":[{"r":11},74]}],"é":70,"f":[{".":79,"a":[{"b":99,"d":68,"f":68,"i":0,"k":99,"m":111,"n":[{"s":0}],"r":[{"e":1},109],"u":99}],"ä":[{"r":68,"u":99},70],"e":[{".":79,"f":68,"i":[{"m":0,"n":0},68],"m":30,"n":[{".":77,"e":[{"r":84}],"s":77,"t":77}],"p":111,"r":[{"a":50,"d":[{"e":84}],"p":[{"r":[{"o":52}]}]}],"s":6,"t":99}],"f":[{"a":23},11],"i":[{"d":110,"n":[{"n":0,"s":99}]}],"l":[{"a":[{"m":0,"n":6}],"e":[{"g":6,"i":1}],"o":1}],"o":[{"b":68,"m":68,"r":[{"i":0},109]}],"r":[{"a":0,"ü":6},1],"s":[{"a":1,"e":1,"l":1,"z":1},2],"t":[{"r":11},3],"u":[{"m":68}]}],"g":[{"r":[{"a":21}]},161],"h":[{".":79,"a":[{"l":[{"t":[{"e":10}]}],"n":[{"d":66}],"s":74,"u":66}],"ä":[{"n":74},9],"b":79,"d":73,"e":[{"i":90,"n":[{"d":189,"e":71,"s":23}],"r":[{"s":125}]}],"f":79,"g":79,"i":[{"d":68,"k":[{"a":[{"n":11},44]}]}],"k":73,"l":5,"m":79,"n":73,"o":[{".":68,"b":68,"s":2}],"ö":73,"r":5,"s":79,"t":[{"h":[{"e":73}]},3],"u":[{"s":11,"t":4}],"ü":90,"y":83,"z":79},70],"i":[{"a":[{"b":10,"k":4,"l":[{"i":6}],"n":4,"p":21,"s":4},348],"c":[{"e":0}],"e":[{"i":20,"l":[{"a":23},5],"r":[{"a":2,"e":[{"b":11,"i":11}]},70]}],"g":[{"l":1},70],"l":[{"e":1,"o":74,"z":[{"e":[{"r":11}],"w":2}]},70],"m":68,"n":[{".":74,"a":[{"d":5}],"g":[{"e":[{"n":97}],"s":23},74],"s":[{".":74,"e":74,"p":35}]}],"o":[{"i":[{"d":[{"e":1}]}],"n":[{"u":1}],"s":1},5],"p":[{"e":5},70],"r":[{"a":[{"t":[{"e":74}]}],"i":[{"n":74},1]}],"s":[{"o":73,"t":[{"o":1},2]},70],"t":[{"a":2,"h":3,"s":2,"z":[{"e":35}]}],"z":[{"i":[{"n":20}]}]}],"j":90,"k":[{"u":2},151],"l":[{".":73,"a":[{"d":126,"h":66,"n":[{"a":4}],"u":84,"y":28},74],"e":[{".":72,"c":9,"e":2,"g":84,"n":35,"r":72,"u":84}],"i":[{"g":73,"k":146,"z":84}],"o":[{"n":4}],"u":72},230],"m":161,"n":151,"o":[{"b":2,"c":[{"k":74},125],"d":74,"e":[{"l":5},74],"h":73,"i":[{"d":[{".":1,"s":1}],"n":74},5],"l":[{"a":[{"n":5,"u":20}],"d":[{"e":21}],"i":1,"l":[{"o":4}],"o":[{"p":133}],"z":35},74],"m":[{"p":[{"h":2}]}],"n":[{"d":73,"t":21}],"o":[{"b":0}],"p":[{"a":[{"k":20,"r":20}],"l":38,"t":3}],"r":[{"a":[{"u":0}],"f":10,"t":[{"a":[{"l":74}],"h":28,"i":[{"o":74}],"o":[{".":74,"s":74}],"r":[{"e":11,"i":[{"c":24}]},74]}]}],"s":[{"i":74,"s":21,"t":[{"a":5,"ä":5,"e":[{"i":[{"n":22},23],"m":6}],"r":[{"a":23}]},11]}],"t":[{"a":[{"r":9},5],"ä":74,"e":74,"h":2,"i":[{"n":38}],"t":[{"r":44}],"u":20}],"u":[{"n":1}],"w":[{"e":21},5],"x":1},80],"ö":[{"b":[{"l":5}],"c":5}],"p":[{"a":[{"b":68,"n":[{"g":0,"s":0}],"p":2,"t":68,"u":0}],"e":[{"e":4,"i":99,"l":[{"a":28,"i":[{"n":[{"e":49}]}]}],"n":434,"r":[{"z":99}]}],"f":[{"r":0},232],"h":[{"e":1},99],"l":[{"a":[{"c":111,"n":84}],"ä":99,"e":68},1],"o":[{"h":1}],"ö":131,"p":16,"r":[{"a":81,"ä":414,"e":[{"n":1}],"i":68,"o":[{"l":1,"t":1}],"u":81}],"s":[{"a":1,"y":1},192],"t":11,"u":[{"c":77,"l":68,"m":99,"n":[{"k":68}],"r":77}],"y":[{"l":21}]},191],"r":[{"a":[{"k":70,"x":70}],"ä":[{"d":70,"f":70,"g":70,"l":70,"m":74,"p":70,"s":74,"v":70},84],"e":[{".":73,"c":73,"d":74,"e":[{"i":2},435],"g":73,"i":[{"s":[{"c":116,"e":[{"i":52}],"t":116},74],"z":73},70],"m":70,"n":[{"g":[{"a":10}]}],"r":72,"s":[{"a":4,"s":[{"e":18}]},70],"ß":70}],"i":[{"e":11,"g":73,"l":28,"n":[{"g":[{"s":97},73],"z":70}],"t":[{"e":[{"r":97}],"t":206},28],"v":70}],"o":[{"b":[{"e":4},74],"c":73,"d":437,"g":74,"j":74,"s":[{"s":73}],"ß":73,"t":[{"e":21,"o":74,"t":73}],"x":4},436],"ö":73,"ü":[{"f":70,"g":70,"h":73,"n":73}]},208],"s":[{".":79,"k":1,"o":[{"d":0}],"ö":68,"p":[{"i":6}],"s":2,"t":[{"a":[{"u":9}],"u":68}],"y":[{"s":79},83],"z":[{"e":5}]},90],"t":[{"a":[{"b":5,"g":2,"t":184},0],"e":[{".":77,"b":110,"c":1,"f":0,"i":0,"m":[{"i":0}],"n":[{"g":424,"t":111},126],"p":0,"r":[{"e":[{"i":1}],"w":0,"z":0}],"s":77,"t":[{"a":84,"i":290},77]}],"h":99,"i":[{"d":[{"e":2},0],"n":292}],"o":[{"m":[{"o":2}],"n":[{"a":11}],"p":2,"w":2}],"p":[{"o":10}],"r":[{"o":68},1],"s":[{"i":1,"t":11},30],"u":[{"h":0,"m":0,"n":[{"g":77}],"r":[{"s":0}]}],"ü":232,"y":83,"z":3},90],"u":[{"a":0,"b":11,"c":73,"d":[{"r":5}],"h":90,"k":[{"l":5,"o":20},73],"l":[{"i":[{"n":5}],"s":[{"p":2,"t":28}],"v":74,"w":73}],"m":[{"p":[{"l":2}]}],"n":[{"d":79,"e":2,"s":2,"t":73}],"p":74,"r":[{"a":5,"e":[{"i":5}]},73],"s":[{"h":[{"e":1},2]}],"t":[{"e":43,"s":202,"z":74}],"z":[{"i":23}]},70],"ü":[{"f":70,"l":[{"l":4}]}],"v":90,"w":[{"a":[{"r":11}]},90],"y":[{"s":1,"t":1},438],"z":151}],"q":[{"u":[{"e":[{"l":[{"l":[{"a":10}]}],"r":[{"e":[{"l":4}],"n":50}],"t":[{"e":[{".":11}]}],"u":70}]},6]}],"r":[{"a":[{".":70,"a":[{"b":5,"c":73,"l":73,"r":1,"s":99},66],"b":[{"a":[{"r":20}],"ä":68,"b":[{"i":70,"l":162}],"d":73,"e":[{"i":5,"r":[{"d":4},2]}],"f":73,"g":73,"h":73,"i":70,"k":73,"l":[{"e":68,"i":5,"o":272}],"r":76,"s":147,"t":73,"w":72,"y":70,"z":73},66],"c":[{"e":[{"t":90},5],"h":[{"e":[{"b":6}],"o":5,"s":73,"t":[{"r":[{"ä":54}]}],"u":5}],"k":68}],"d":[{".":84,"a":[{"c":5,"m":36,"n":5,"p":73,"r":74},21],"e":[{"i":124,"s":50}],"f":74,"h":74,"i":[{"o":74,"t":79}],"o":74,"p":74,"r":[{"i":33},36],"t":62},80],"f":[{"a":[{"h":[{"n":4}],"r":4}],"e":[{"r":20},21],"r":4},68],"g":[{"a":2,"e":[{"i":[{"n":97}],"s":18}],"g":73,"l":[{"e":16}],"m":79,"n":5,"o":68}],"h":[{"l":[{"e":[{"n":18}]}],"m":127,"n":66,"o":125,"t":79}],"i":[{"c":73,"l":[{"l":21}],"r":72},68],"k":[{"a":23,"e":145,"k":73,"l":439,"r":[{"e":5,"o":5}],"t":[{"i":73}],"ü":70,"z":73}],"l":[{".":84,"a":[{"b":12,"k":9,"s":10},34],"ä":5,"b":62,"d":146,"e":[{"n":[{"d":12,"t":6}],"r":[{"n":272}],"x":1},84],"i":[{"d":5,"e":[{"r":23}],"n":[{"d":41,"g":12,"s":[{"p":13}],"t":18}]},84],"k":[{".":72}],"m":[{".":72}],"p":[{".":73,"e":79}],"s":[{"u":4},84],"t":[{"h":440},77],"u":38,"y":74},68],"m":[{"e":[{"i":5,"r":5}],"i":68,"m":[{"a":[{"n":11}],"e":[{"n":[{"s":24}],"r":[{"s":42}]}],"i":[{"t":11}],"u":11},68],"n":73,"s":[{"c":74}],"t":[{"s":10},90],"u":73}],"n":[{"a":[{"d":[{"e":4},9],"l":67,"n":5,"r":5,"u":5},73],"b":[{"e":68},73],"d":[{"a":84,"e":[{"p":11,"r":25},84],"i":83,"s":23}],"e":[{"r":70}],"f":73,"g":[{"a":73,"e":[{"b":[{"e":26}]}],"i":74,"l":68,"s":[{"p":23},100]}],"i":[{"e":23,"l":121}],"k":[{"a":4,"r":2,"ü":2}],"l":79,"m":[{"i":68,"u":68},90],"n":[{"a":73,"e":33}],"p":90,"r":73,"s":[{".":68,"p":[{"a":11}]},73],"t":[{"e":[{"i":216}],"h":66,"o":68,"r":73}],"u":70,"w":73,"z":[{".":68}]}],"p":[{"a":[{"r":5},73],"f":73,"o":[{"k":5},73],"p":[{"r":2}],"r":[{"i":161}]},68],"q":90,"r":[{"a":315,"b":73,"e":[{"i":146,"n":132,"t":4,"v":94},68],"f":156,"i":[{"e":1,"n":4,"s":[{"t":121},1],"t":126}],"k":68,"o":[{"m":5},21],"t":73,"z":[{"w":4},73]},66],"s":[{".":84,"a":[{"n":1},2],"c":[{"h":[{"l":6}]}],"e":2,"m":68,"p":[{"r":0}],"t":[{"e":[{"i":301}],"h":77,"o":5},68],"y":[{"l":73}]}],"ß":73,"t":[{"a":[{"n":20}],"e":[{"i":20,"l":75}],"i":[{"d":6}],"l":[{"a":73}],"m":73,"o":[{"m":73},2],"r":11,"t":[{"a":73,"r":73},77],"z":[{"e":4},79]},70],"u":[{".":79,"b":[{".":74}],"e":[{"n":62},79],"f":[{"ä":4},73],"g":155,"m":[{"a":[{"g":25}],"e":[{"s":33}],"i":2},74],"p":74,"r":79,"s":[{"b":73,"c":441,"d":73,"e":4,"f":73,"g":[{"e":[{"w":[{"ä":27}]}]},73],"h":73,"l":73,"p":2,"s":[{"c":[{"h":[{"e":27}]}],"e":50},73],"t":[{"r":23}],"v":73,"w":73}],"ß":[{"e":4}],"t":[{"r":[{"a":11,"o":11},44],"s":50},73]}],"ü":70,"x":[{"i":[{"s":10}],"t":77},68],"y":[{"o":9},68],"z":68}],"ä":[{"c":[{"h":[{"s":10}]}],"d":83,"f":[{"r":0},79],"g":79,"h":73,"m":79,"n":[{".":74,"i":74,"s":74}],"p":73,"q":73,"r":[{".":68,"a":1,"o":0},90],"s":[{"c":5,"e":21,"t":5}],"t":[{"s":[{"e":74}],"z":79}],"u":[{"e":79,"s":[{"c":[{"h":[{"e":[{"n":[{".":255}]}]}]},21],"s":73},2],"ß":73,"t":79},5],"x":73}],"b":[{"a":[{"b":442,"c":77,"d":[{"e":[{"l":11}]}],"l":5,"m":77,"n":[{"g":68,"t":68}],"r":[{"t":0,"z":68}],"u":[{"f":0}]}],"b":2,"e":[{"c":[{"h":0}],"e":[{"r":[{"f":4}]}],"i":[{"d":189,"n":[{"f":4,"h":1,"t":4}]}],"l":[{"ä":84,"o":21}],"r":[{"e":35,"g":[{"i":[{"n":52}]}],"l":0,"u":[{"m":4}]}],"s":[{"l":4}]}],"i":[{"m":68,"n":[{"f":68}],"t":[{"a":21,"u":4},77]}],"l":[{"a":[{"d":31,"n":68,"s":[{"s":[{"e":[{"r":282}]}],"t":128}],"t":77,"u":77},5],"e":[{".":81,"n":77,"r":1,"u":68}],"i":[{"n":5}],"ö":[{"s":1},5]}],"o":[{"b":5,"n":[{"k":68}]}],"r":[{"a":[{"s":1}],"e":[{"a":1,"c":[{"h":[{"t":[{"s":363}]}]}]}]}],"s":[{"a":[{"m":6}],"e":[{"i":5,"r":5}],"o":20,"t":[{"ä":6,"r":[{"i":4}]}],"u":5,"z":6}],"u":5,"ü":[{"b":11}]},191],"c":[{"e":66,"h":[{"e":[{".":66,"n":66}],"i":220,"l":[{"o":77},4],"m":4,"r":[{"o":11},4],"s":[{"p":4},10],"t":[{"a":35,"e":[{"r":[{"r":40}]}]}],"w":9}],"i":66,"l":66},73],"ç":66,"d":[{"a":[{"c":5,"f":68,"k":99,"l":110,"m":[{"m":5}],"n":[{"i":132,"n":68,"t":0}],"r":[{"a":0,"k":0,"z":68}]}],"ä":[{"r":21}],"e":[{".":77,"e":77,"i":[{".":5},68],"l":[{"b":99,"e":109,"f":68,"s":100}],"m":52,"n":[{"d":189,"g":[{"l":84}],"t":[{"s":84}]}],"o":[{"b":4,"n":[{"o":4}]}],"r":[{"e":[{"r":62}],"i":[{"n":[{"s":40}]}],"n":[{"t":128}]}],"s":[{"p":4},77],"x":110}],"i":[{"n":[{"n":99}],"r":[{"i":0}],"t":[{"a":0}]}],"o":[{"f":68,"n":77,"s":[{"s":1},0],"z":99},2],"ö":68,"r":[{"a":[{"t":1,"u":68}],"i":[{"s":7},6],"ö":6,"ü":121}],"s":[{"ä":[{"n":5}],"k":3,"z":3}],"t":[{"a":1,"h":1,"s":2},11],"u":[{"k":99}],"w":[{"a":[{"r":52}]}]},90],"e":[{".":74,"a":[{"d":2,"l":[{"e":[{"r":[{"w":42}]}]}],"m":194,"t":[{".":1,"s":1,"u":15}]}],"ä":73,"b":[{"a":20,"l":20,"r":[{"a":4},9],"s":[{"o":4}]}],"c":[{"h":[{"a":[{"r":23}],"s":79}],"k":[{".":73,"i":73}]}],"d":[{".":74,"d":79,"i":[{"k":5},73],"n":74,"u":74}],"e":[{"b":[{"e":0}],"l":0,"m":[{"i":11},0],"r":0}],"f":[{"e":74,"f":[{".":68},79],"l":74,"o":74}],"g":[{"e":[{"l":[{"ä":116}],"n":[{"e":[{"r":[{"a":240}]}]}]}],"g":191},74],"h":[{"a":[{"c":5,"r":20}],"e":[{"n":[{"e":41,"t":12}]}],"i":5,"l":185,"o":[{"l":1},20],"ö":74,"t":[{"h":11}],"ü":5}],"i":[{".":68,"b":[{"e":[{"l":11}],"l":[{"e":11}]},68],"c":68,"d":73,"e":[{"r":[{".":79}]},68],"f":[{"e":[{"i":11,"l":79}]}],"g":[{"ä":74,"e":[{"h":74,"l":84,"n":[{"s":223}]}],"i":74,"n":79,"r":[{"u":74}]},73],"l":[{"a":35,"i":35,"t":90}],"m":[{"p":21},74],"n":[{"a":[{"l":4},147],"b":73,"d":[{"u":10}],"e":[{"c":62,"n":245}],"f":[{"e":10,"o":6},73],"g":73,"h":73,"n":79,"r":126,"s":[{"a":79,"e":[{"l":52}],"t":[{"r":[{"e":65}]}],"z":10},73],"t":[{"e":[{"g":52}]},73],"v":78,"w":73,"z":73},66],"s":[{"a":[{"r":79}],"b":79,"f":73,"h":73,"r":73,"t":[{"e":[{"r":307}]}],"u":79,"w":73}],"t":[{"s":189}]}],"k":[{"e":194,"k":79,"n":176,"z":73},74],"l":[{".":68,"a":[{"t":1},68],"b":73,"e":[{"a":18,"i":7,"k":5,"m":79,"v":68},2],"f":73,"i":[{"t":73,"x":73},44],"l":[{"a":[{"r":11}],"e":[{"i":11}]},68],"o":1,"s":68,"t":73,"u":21}],"m":[{".":83,"b":90,"d":[{"a":2}],"e":[{"i":20,"n":7}],"i":[{"g":1},73],"p":[{"f":73}],"s":[{"c":44,"t":[{"r":11}]}],"u":104}],"n":[{".":68,"a":[{".":73,"c":6,"d":1,"l":1,"n":12},68],"ä":5,"d":[{"g":66,"i":74,"r":4}],"e":[{"r":[{"g":79}]}],"g":[{"a":[{"g":79,"n":11}],"p":73}],"h":74,"i":5,"m":74,"n":[{"a":[{"r":11}],"e":[{"n":[{"e":24}]}]}],"s":[{"e":[{"i":[{"n":24}]}],"p":21}],"t":[{"d":73,"e":[{"r":[{"a":223}]}],"f":[{"o":74},73],"g":73,"h":[{"ä":77}],"l":90,"s":90,"w":72,"z":73}],"z":[{"e":[{"r":[{"f":397,"l":40,"s":397,"w":40}]}],"i":[{"n":25}],"w":2},68]}],"o":[{"b":5,"r":1}],"p":[{"e":[{"n":194},74],"i":[{"s":5},73],"o":[{"c":73,"s":151}],"p":79,"u":74}],"r":[{".":83,"a":21,"b":[{"e":[{"r":146}],"i":2},90],"d":90,"e":[{"i":[{"g":126}],"k":66,"p":20,"r":68},21],"f":[{"a":[{"h":79},77],"i":73,"o":73,"r":68,"ü":2},66],"g":[{"e":[{"b":[{"ü":176},126],"n":84,"s":146}],"o":104,"r":[{"u":84},2]},66],"h":[{"ö":2},66],"i":[{"d":6},1],"k":[{"a":[{"n":11}],"e":[{"n":126},2],"i":83,"o":83},66],"l":[{"a":[{"g":243},237],"e":[{"b":77}],"i":68,"ö":73},66],"m":90,"n":[{"ä":90,"e":66,"i":90,"s":126,"t":191},2],"o":[{"b":5,"s":[{"i":6}]},0],"ö":316,"r":[{"e":[{"g":11,"i":11},66],"i":66}],"s":[{".":127,"a":90,"c":[{"h":[{"i":170}]}],"e":68,"p":73,"t":[{"a":[{"d":170},11]}],"u":443}],"t":[{"e":68,"r":73},444],"w":[{"a":[{"c":11}],"e":[{"c":11,"s":84}]},66],"z":[{"ä":2,"y":83},90]}],"s":[{".":83,"a":[{"m":6},5],"c":[{"h":[{"e":97,"w":6}]}],"e":[{"h":21},74],"o":[{"f":9,"l":74,"n":74}],"p":[{"o":2}],"s":[{"e":[{"i":4,"r":[{"w":42}]},79],"t":[{"o":11}],"u":79},73],"t":[{"e":[{"n":[{"t":22},97]}],"r":[{"a":6}],"u":73}],"u":74}],"ß":105,"t":[{"a":[{"k":20,"p":76,"u":5}],"e":2,"h":151,"r":[{"a":5,"o":[{"l":6}]}]}],"u":[{"e":[{"r":[{"i":11}]}],"g":35,"l":73,"n":[{"i":1}],"r":73,"u":79},5],"ü":73,"v":[{"a":126,"i":[{"d":90}]}],"w":[{"a":[{"r":10}],"i":5,"o":73}],"x":251,"z":[{"i":73},74]},70],"é":70,"f":[{"a":[{"c":[{"k":0}],"h":[{"r":[{"e":77,"t":140}]}],"l":[{"l":[{"s":18}]}]}],"e":[{"i":2,"n":[{"t":68}],"s":75}],"f":[{"a":23,"e":1},2],"i":[{"l":[{"e":[{".":11}]}]}],"l":[{"a":[{"n":[{"d":84}]}],"ä":121,"i":[{"c":1}],"ö":6,"ü":77}],"o":[{"b":109,"l":[{"g":[{"s":18}],"i":140}]}],"r":[{"a":[{"u":[{"c":84}]}],"u":6,"ü":6}],"s":[{"a":[{"m":6},5],"ä":20,"u":5}],"t":[{"a":5,"r":11}],"u":5,"z":[{"u":23}]},191],"g":[{"a":[{"d":110,"h":99,"k":99,"n":[{"e":[{"r":11}]}],"p":99,"r":[{"b":68,"t":[{".":1}]}],"s":[{"k":99,"t":[{"e":[{"s":33}]},21]}]}],"d":2,"e":[{"a":[{"n":11}],"b":[{"l":2}],"c":110,"l":[{"e":[{"f":84,"r":25}]},77],"n":[{"z":[{"w":116}]}],"t":[{"a":[{"p":277}],"o":68}]}],"i":[{"s":[{"e":[{"l":11}]}]}],"l":[{"a":[{"d":5,"n":[{"z":77},68]}],"e":[{"i":[{"c":[{"h":[{"s":445}]}]}],"u":68}],"i":[{"g":68,"t":81}],"o":[{"g":5}],"u":5}],"n":[{"a":81,"e":68,"i":81,"o":81}],"o":[{"a":81,"b":68,"g":77,"p":1,"r":99}],"ö":[{"d":99},2],"r":[{"a":[{"l":81,"u":6}],"e":[{"g":68,"s":81,"t":68}],"i":[{"n":1}],"u":[{"n":77}],"ü":[{"s":1}]}],"s":[{"e":[{"i":2,"l":6},1],"i":3,"p":[{"e":2,"o":2},0],"t":[{"i":11,"u":2}],"u":0}]},90],"h":[{".":73,"a":[{"g":68,"h":73,"k":73,"l":[{"t":[{"b":84}]}],"n":77,"u":73}],"ä":72,"e":[{".":83,"a":77,"b":73,"f":73}],"i":73,"o":[{"l":73,"p":77,"t":73}],"ö":[{"l":73}],"s":73,"ü":73},112],"i":[{"a":[{"n":[{"o":5},0],"s":[{"t":5}]}],"b":[{"b":[{"l":2}]}],"c":[{"e":0,"h":[{"a":0,"l":1,"t":[{"s":[{"p":[{"o":51}]}],"u":74}]}],"o":[{"n":5}]}],"d":[{"a":[{"u":5}],"e":[{"l":115,"n":[{"t":6}]},73],"i":81,"o":[{"l":73}],"r":4,"y":73}],"e":[{"b":[{"s":[{"t":[{"e":52}]}]}],"f":[{"m":79,"r":162}],"g":[{"s":116}],"i":[{"n":132},20],"l":[{"a":35,"s":1},0],"n":[{"ä":6,"e":100,"i":1,"u":2}],"r":[{".":0,"e":[{"n":18},35],"s":[{".":1}]}],"s":[{"a":4}],"u":0},68],"f":[{"a":20,"ä":5,"e":[{"i":5,"r":5}],"f":[{"e":[{"n":[{"d":42}],"r":11}]}],"o":20,"r":5,"t":[{"e":[{"r":11}]}]}],"g":[{"a":79,"e":[{"l":236,"n":[{"e":6}]}],"g":79,"j":176,"l":[{"ä":6},9],"o":219,"r":79},74],"j":79,"k":[{"a":[{"r":5}],"ä":5,"i":[{"n":5}],"n":5,"o":[{"n":[{"e":6}],"r":5}]}],"m":[{"a":[{"g":5},73],"e":[{".":5}],"m":73,"p":79,"s":2}],"n":[{"a":1,"b":[{"e":66}],"c":2,"d":[{"u":90}],"e":[{"i":44},3],"f":[{"o":2,"r":83},90],"g":[{"a":2,"l":[{"e":23}],"r":2,"s":[{"p":23}]},68],"h":90,"i":[{"t":73}],"j":79,"k":[{"l":2,"o":2,"r":2},79],"l":73,"n":[{"e":[{"n":[{"m":211}],"r":126}],"r":90,"u":66}],"q":406,"s":[{"i":11,"o":2,"p":[{"i":84}],"y":83},90],"t":[{"e":[{"n":[{"t":24}]},79],"r":[{"e":446}]},73],"v":[{"a":2},90],"z":73}],"o":[{"b":5,"n":77,"s":[{"t":3}]}],"p":[{"l":5,"o":1}],"r":191,"s":[{"a":[{"n":16},2],"c":[{"h":[{"o":252,"w":6}]}],"i":[{"k":74}],"k":[{"o":3}],"o":77,"p":12,"r":77,"s":74,"t":[{"e":[{"r":[{"s":50}],"s":97}],"r":172},2]},68],"ß":447,"t":[{"a":[{"l":75,"n":[{"t":4}]}],"i":2,"r":226,"s":9,"t":[{"a":[{"u":25}],"e":[{"i":11,"r":[{"f":353},74]}],"o":2,"r":162}],"u":[{"m":67},2]},68],"x":[{"i":1},9]},70],"í":70,"j":90,"k":[{"a":[{"b":[{"l":162}],"h":0,"k":99,"l":[{"l":0}],"m":5,"r":[{"e":0}],"s":[{"p":0}],"u":[{"f":[{"s":18}]}]}],"ä":[{"h":99}],"e":[{"l":[{"e":[{"m":84}]},77],"n":[{"e":[{"r":10}]},28],"r":[{"l":114,"s":[{"t":[{"a":7}]}],"w":129}],"s":75,"t":77}],"i":[{"m":0}],"l":[{"a":[{"s":6,"u":6}],"i":[{"m":6,"s":68}],"o":5,"u":5}],"n":[{"e":6}],"o":[{"b":68,"l":77,"n":77,"p":5,"r":[{"i":30}],"u":68}],"ö":5,"r":[{"ä":[{"u":1}],"i":[{"n":1},77],"o":[{"m":81,"u":68}]}],"s":[{"a":[{"l":5}],"e":[{"i":5,"l":5,"r":5}],"o":5,"p":[{"i":1},5],"t":[{"a":[{"t":[{"i":307}]}],"e":[{"c":6}],"o":[{"c":6}]}]}],"t":[{"a":5,"e":[{"l":5,"n":[{"g":12}],"r":[{"f":12,"g":6,"l":12,"s":[{"c":22},4],"w":12,"z":12}],"t":[{"a":6}]}],"i":[{"n":38},2],"o":[{"b":10},123],"r":38,"u":[{"m":5}]}],"u":[{"m":[{"s":0}],"n":2,"p":77,"s":[{"a":2,"t":28},77]}],"ü":[{"b":68}]},90],"l":[{"a":[{"b":5,"g":77,"n":[{"d":[{"i":116},140]}],"r":99,"s":[{"c":110,"t":21}],"u":[{"g":81}]}],"e":[{"a":2,"c":77,"i":[{".":140}],"p":77,"t":5,"x":77}],"g":11,"i":[{"n":[{"e":[{".":11}]}]},75],"o":[{"u":44},75],"ö":[{"s":[{"s":50}]},5],"s":[{"a":2,"p":[{"r":5}],"t":[{"o":5}]}],"t":1,"u":[{"s":[{"t":[{"e":[{"r":24}],"r":11},21]}]},75],"y":77,"z":2},90],"m":[{"a":[{"b":68,"d":99,"l":[{"a":2,"d":0}],"m":[{"i":0}],"n":[{"k":99,"z":0}],"p":[{"h":128}],"r":[{"c":68,"z":68}],"s":[{"p":[{"e":25}],"s":[{"e":23}]},77],"t":[{"o":21}]}],"ä":[{"r":5}],"d":3,"e":[{"i":[{"n":[{"h":128}]}],"n":[{"a":11,"e":5,"t":68}],"o":68,"r":[{"f":[{"o":10}],"h":99,"l":99,"p":99,"w":99}],"s":[{"a":4,"t":4},5],"t":[{"a":100}]}],"i":[{"d":[{"e":68}],"n":[{"a":[{"n":[{"z":24}]}],"e":[{"n":[{"g":24},97]}]}]}],"m":1,"n":84,"o":[{"b":99,"r":[{"i":30}]}],"p":3,"s":[{"a":1,"k":1,"t":[{"a":1}]},2],"t":[{"a":2},1],"u":[{"n":[{"a":84,"i":68},2]}]},191],"n":[{"a":[{"b":2,"d":[{"e":6},77],"g":[{"e":77}],"l":[{"l":99}],"n":[{"d":6,"i":1,"z":68},11],"r":[{"e":1,"i":128},2],"s":[{"t":448}],"t":[{"t":128}],"u":[{"g":1},68]}],"d":[{"e":1,"r":16}],"e":[{"f":84,"i":[{"d":5,"f":84,"s":84}],"m":[{"a":0}],"n":[{"e":99,"g":5},2],"p":290,"r":[{"g":111,"h":[{"i":6}],"k":[{"e":10,"u":10}],"l":111,"t":111,"w":111,"z":84}],"s":140,"t":[{"e":[{"m":11,"r":11},44],"o":11},167],"u":[{"f":4},5],"x":84}],"f":1,"g":[{"e":[{"n":[{"e":97}]}]},3],"i":[{"d":68,"n":[{"f":84},99],"t":77}],"k":2,"n":2,"o":[{"d":77,"h":5,"p":99,"r":99}],"ö":[{"d":2},0],"s":[{"a":1,"ä":3,"e":[{"h":[{"a":10}]}],"p":16,"u":2,"z":3}],"t":[{"a":3,"e":3}],"u":[{"r":0}],"ü":66,"y":66,"z":2},73],"o":[{"b":[{"a":68,"j":73,"o":[{"r":34},70],"r":[{"e":5},73],"s":73}],"c":[{"h":[{"a":21},0],"k":[{".":74}]}],"d":[{"e":81,"r":11}],"e":11,"f":[{"f":73,"l":1}],"g":[{".":79,"a":3,"g":74}],"h":[{"i":[{"n":20}],"l":94,"n":79,"ö":5,"r":74}],"i":[{"n":1},70],"k":[{"l":2}],"l":[{"e":1,"i":[{"v":5}],"l":[{"a":[{"n":11}],"e":[{"n":10,"r":[{"g":24,"w":24}]},18],"i":[{"n":[{"i":24},18]}]}],"y":73}],"m":[{".":79,"a":[{"d":5,"l":5,"n":[{".":74}]}],"b":73,"e":[{"n":[{"e":15}],"r":20}],"m":79,"n":73,"t":79}],"n":[{"a":[{"b":16,"n":5}],"d":74,"e":[{"r":[{"b":6}]}],"k":79,"n":74,"s":21,"t":[{"a":[{"n":11}],"e":[{"n":[{"d":24}]}],"r":162,"u":28}],"y":0},68],"o":[{"f":30}],"p":[{"a":2,"e":73,"f":76,"l":70,"t":73}],"r":[{"a":[{"l":38,"t":5}],"c":73,"e":[{"l":5}],"o":5,"t":[{"h":4,"s":10}],"ü":2},66],"s":[{"h":1,"i":3,"p":2,"s":[{"a":[{"l":11,"n":11}],"c":28,"e":[{"n":[{"k":24}]}],"t":11}],"t":[{"a":1,"e":[{"l":4}],"r":295}],"u":[{"m":5}],"z":126}],"ß":[{"e":[{"n":[{"k":6},100]}],"i":5,"u":5}],"t":[{"a":[{"n":5,"u":4}],"ä":5,"e":[{"i":172},1],"h":[{"o":20}],"r":[{"u":5}],"s":[{"o":21},9]}],"u":[{"l":74,"n":[{"t":1}],"t":74}],"x":125,"y":79}],"ö":[{"b":[{"l":38}],"d":[{"u":5}],"f":76,"h":74,"k":90,"l":[{".":73,"e":1,"p":66},70],"m":[{"i":74}],"r":66,"s":[{".":68,"c":9,"e":81,"l":70}],"t":[{"u":74}]}],"p":[{"a":77,"e":[{"r":[{"e":[{"r":245}],"i":[{"n":23}]}]},77],"f":11,"l":[{"i":68,"u":6}],"o":[{"s":[{"t":[{"r":11}]}]},77],"s":[{"e":1,"t":9}],"t":128,"u":77},151],"q":90,"r":[{"a":[{"b":5,"t":[{"s":21},6],"u":[{"f":0}]}],"ä":[{"m":0}],"b":2,"c":0,"e":[{"g":[{"a":140}],"i":5,"l":[{"e":2}],"p":[{"a":2}],"r":[{"h":68,"l":68},21],"s":[{"t":21},77],"v":[{"e":2}],"z":[{"i":84}]}],"h":[{"e":[{"n":75}],"o":[{"s":5}]}],"i":[{"k":35},6],"m":2,"n":[{"a":[{"u":4}]}],"o":[{"b":[{"s":1}],"m":4,"r":[{"e":2}]},5],"t":[{"h":5}],"u":75,"ü":75,"z":2},191],"s":[{"a":[{"b":[{"o":77}],"d":109,"l":5,"m":[{"p":84,"t":111}],"n":[{"a":1,"f":84,"g":81,"m":1,"p":84},5],"r":[{"k":6,"m":84},1]}],"c":[{"h":[{"e":[{"b":360,"r":[{"l":170}]}],"u":140,"w":[{"u":140,"ü":140}]}]}],"e":[{"b":[{"e":99}],"e":2,"f":99,"i":[{"n":68}],"n":[{"d":5,"e":11},2],"p":[{"i":68}],"r":[{"e":0,"h":68,"s":0,"z":68}],"t":[{"a":0},2],"x":[{"t":5}]}],"h":[{"a":[{"v":75}],"i":[{"r":77}],"o":[{"r":5},77],"u":84}],"i":[{"l":5}],"k":[{"a":5,"e":[{"l":5}],"i":[{"r":84},5],"l":5,"o":[{"r":84}],"r":[{"i":121}],"y":84}],"m":[{"o":[{"g":6}]}],"n":[{"o":121}],"o":[{"m":6,"p":68,"r":[{"t":[{".":128}]}],"s":[{"t":0},11]}],"p":[{"a":[{"n":77}],"h":81,"i":77,"l":77,"o":[{"r":6}],"u":[{"n":68,"t":68}]},107],"s":3,"t":[{"a":[{"b":[{"l":4}],"d":140,"l":[{"a":4,"e":84}],"n":[{"s":84,"t":84}],"s":68,"t":77,"u":5}],"e":[{"a":5,"e":5,"i":[{"n":[{"g":33,"t":257}]}],"m":[{"i":89}],"r":[{"b":[{"t":170},11],"l":89,"ö":84,"w":89},100]}],"h":20,"i":[{"n":[{"g":4}],"p":68,"t":68}],"o":[{"b":5,"t":99}],"r":[{"a":[{"n":[{"g":170}]}],"i":[{"s":84}]}],"u":5}],"u":[{"c":[{"h":[{"s":18}]}],"f":77,"m":[{"s":5}]}],"y":77,"z":[{"i":[{"n":5}]}]},449],"ß":66,"t":[{"a":[{"b":[{"s":0}],"d":110,"e":81,"k":[{"r":0}],"l":[{"b":[{"e":128}],"e":35,"l":99,"s":[{"e":116}]}],"m":[{"e":75},0],"n":[{"w":68},0],"r":99,"t":[{"t":1}],"u":[{"f":[{"t":84}]}]}],"ä":[{"h":1,"n":[{"d":0}],"r":[{"m":0}]}],"e":[{".":77,"e":94,"i":[{"n":[{"d":6,"h":128},0],"s":2}],"l":[{"f":68,"i":4,"l":[{"e":[{"i":52}]}]}],"n":[{".":77,"a":11,"s":189,"t":[{"s":128}],"z":23},28],"o":21,"r":[{"e":[{"i":[{"g":170},1]}],"f":[{"a":270,"o":270}],"h":0,"k":0,"l":[{"a":343}],"m":[{"i":[{"t":52}]}],"n":[{"ä":128}],"ö":92,"r":[{"e":10}],"s":[{"p":451},450],"z":0}],"s":[{"k":4},249]}],"h":[{"e":[{"l":68},0],"i":99,"u":[{"m":5}]}],"i":[{"d":99,"k":21,"m":[{"a":99}],"n":[{"f":1}],"s":5,"t":5}],"m":1,"o":[{"b":99,"p":[{".":77,"f":9}],"r":[{"c":0,"g":68,"k":77}]}],"r":[{"a":[{"m":[{"s":1}],"n":[{"d":1}],"t":[{"i":1}]}],"e":[{"c":1}],"i":[{"s":1}],"o":[{"l":1,"m":[{"a":1}],"p":77,"u":68}]}],"s":[{"c":1,"e":[{"h":20,"l":2,"x":1}],"i":[{"n":[{"g":4}]}],"o":9,"p":[{"a":9,"e":0}],"t":[{"a":[{"n":12}],"i":[{"e":11}]}]}],"t":16,"u":[{"m":[{"b":0}],"n":[{"a":38,"t":84}],"r":[{"t":99}],"t":[{"e":81},2]}],"y":9,"z":3},191],"u":[{"a":[{"l":[{"e":6}],"r":219},0],"b":[{"e":10,"i":2}],"c":[{"h":[{"e":[{"s":1}],"t":[{"s":366}]}]}],"d":[{"e":[{"a":21}],"r":5}],"e":[{"t":5}],"f":[{"a":20,"f":10,"s":28,"t":[{"e":[{"r":11}]}]},74],"g":[{"r":38}],"h":[{"m":74,"r":90}],"i":[{"n":[{"s":1},74],"s":0}],"m":[{"a":21,"d":126,"f":126,"g":126,"i":5,"l":126,"s":[{"a":126}],"w":126,"z":79},73],"n":[{"a":90,"d":[{"a":71,"e":[{"n":[{"e":245}],"r":25}]},73],"e":[{"i":100},2],"f":191,"g":[{"a":2,"l":73}],"i":[{"o":77,"s":[{".":6}]},239],"k":[{"r":2}],"l":191,"m":90,"n":79,"r":79,"s":[{"e":66}],"t":126,"w":79}],"p":[{"d":73,"r":1}],"r":[{"a":5,"e":20,"o":176},191],"s":[{".":84,"i":5,"p":2,"s":[{"p":28,"t":24}],"t":2}],"t":[{"a":[{"b":5}],"e":[{"i":5,"l":20,"r":20},10],"o":123,"r":38,"s":[{"c":[{"h":[{"a":24}]}]}]}],"z":[{"w":20},79]},70],"ü":[{"b":[{"u":79},73],"c":[{"h":0,"k":[{"s":[{"t":[{"a":50}]},100]}]}],"h":[{"e":[{"l":5,"r":100}],"l":9}],"m":[{"m":79}],"n":[{"z":4}]},70],"v":[{"e":[{"l":5,"n":[{"e":[{"n":97},71],"t":[{"z":84}]}],"s":33},77],"o":75,"s":5},90],"w":[{"e":[{"g":[{"e":[{"l":11}]}],"i":77,"l":[{"t":[{"s":18}]}],"r":[{"k":140,"t":140}]}],"o":[{".":68,"h":77,"r":[{"t":77}]}],"u":[{"n":[{"s":23}]}]},90],"x":191,"y":[{"a":90,"c":5,"g":[{"i":23}],"l":[{"a":0,"e":5}],"o":[{"s":0}],"s":[{"t":[{"i":132},3]}]},70],"z":[{"a":[{"n":[{"t":1},5],"r":68,"t":68}],"ä":[{"n":5}],"e":[{"l":[{"l":[{"a":18}]}],"n":[{"e":140,"g":0,"t":[{"s":84}]}],"p":2,"r":[{"a":2,"d":99,"f":99,"g":99,"k":0,"l":99,"w":99}],"s":[{"s":99},21]}],"i":[{"d":0,"n":[{"t":0}],"r":23}],"o":[{"f":75,"t":81}],"t":[{"a":[{"n":5}],"h":5}],"u":[{"g":[{"l":25}]}],"w":[{"ä":68,"e":[{"c":75}],"i":[{"r":68}]}]},90]}],"s":[{"a":[{".":74,"a":83,"b":[{"ä":2,"d":79,"e":[{"t":74},5],"i":[{"t":5}],"l":5,"m":79,"r":5,"s":126},90],"c":[{"c":79,"h":[{"e":127,"o":5,"s":100,"t":23}],"k":68}],"d":[{"a":72,"e":[{"r":5}],"m":72,"r":161},66],"f":[{"e":6,"f":126,"r":117,"t":[{"r":2},74]}],"g":[{"e":[{".":176,"n":[{".":176,"t":126}]},2],"g":90,"n":11,"r":67}],"h":[{"s":74}],"i":[{"k":367,"l":10,"r":11},83],"k":[{"a":5,"e":2,"i":74,"k":79,"o":74,"t":79},90],"l":[{".":83,"a":[{"n":38,"r":5,"t":1},109],"b":[{"l":4},83],"d":83,"e":[{"r":[{"k":6}]}],"i":[{"d":20},74],"l":[{"a":4,"e":[{".":11}],"o":15},66],"o":[{"r":4},202],"s":[{"e":2}],"t":[{"h":198},66],"z":74}],"m":[{".":68,"a":[{"t":194},66],"e":[{"i":236,"n":1},68],"i":[{"n":5}],"m":[{"a":452},127],"n":191,"p":[{"h":79},444],"s":68},74],"n":[{".":68,"a":[{"t":11},76],"ä":5,"b":72,"c":109,"d":[{"a":[{"n":11}],"r":[{"i":11}],"s":23},83],"e":[{"r":5}],"g":[{".":74,"a":79}],"h":72,"i":74,"k":[{"e":[{"n":74}]}],"l":72,"m":73,"o":76,"p":72,"s":[{"e":84,"k":11,"p":4},72],"t":[{"e":[{"i":79}],"r":79}],"w":126,"z":[{".":84,"t":84},72]},66],"p":[{"e":5,"h":68,"p":4,"r":74},90],"q":90,"r":[{".":146,"a":74,"b":126,"d":83,"g":[{"a":2},74],"i":[{"n":1}],"k":68,"o":[{"m":5}],"s":68,"t":79,"u":349},90],"s":[{"c":66,"i":207,"p":151,"y":194}],"ß":74,"t":[{"a":[{"n":[{"t":12},100]},2],"e":[{"i":9,"m":161}],"h":77,"i":202,"l":126,"m":79,"o":[{"l":6},2],"r":5,"s":1,"t":[{"a":77,"r":126}],"z":[{"a":176,"e":[{"l":11,"n":25}]},74]}],"u":[{".":74,"c":74,"e":202,"f":[{"b":126},73],"g":[{"l":[{"e":23}],"r":2},74],"h":4,"m":74,"r":[{"i":132},74],"s":[{"b":126,"f":79,"g":79,"p":2,"s":79,"t":[{"e":74}],"w":126},73],"ß":73},66],"v":[{"e":5},66],"x":[{"i":5,"o":1}],"y":20},70],"ä":[{"b":70,"c":83,"g":83,"h":[{"n":126},66],"l":[{"t":90}],"m":90,"n":[{"d":126}],"p":126,"q":73,"r":[{"g":83},90],"s":5,"t":83,"u":[{"ß":73},70]}],"b":[{"a":[{"n":[{"e":11}],"u":[{"m":[{"e":[{"n":52}]}]}]}],"e":[{"r":[{"e":21}]}]},304],"c":[{".":73,"a":[{"b":73,"c":73,"f":73,"l":73,"m":73,"r":73,"t":73}],"e":[{"i":126},66],"h":[{".":223,"a":[{"f":176,"l":127,"n":[{"a":4,"c":79,"g":79,"z":176}],"o":79,"r":[{"a":126,"m":453}]}],"ä":[{"q":73},68],"b":73,"c":73,"d":73,"e":[{"c":[{"h":79}],"f":[{".":223,"i":223,"s":223},21],"i":[{".":93,"n":[{".":24}]}],"m":[{"p":79}],"r":[{"f":[{"ü":33}],"l":[{"a":33}]}],"s":[{"s":79},74],"x":79},2],"f":73,"g":73,"h":73,"i":[{"d":10,"e":10,"r":[{"u":79}],"s":74}],"k":73,"l":[{"a":[{"c":11}],"e":[{".":79,"i":[{"n":223}]}],"o":[{"c":79}],"ö":[{"c":79}]}],"m":[{"a":[{"s":79}],"e":[{"d":79}],"ö":73,"ü":[{"h":79}],"y":73}],"n":[{".":73,"e":[{"b":79}],"u":[{"t":79}]}],"o":[{"b":[{"j":79}],"r":[{"c":79}],"x":73}],"ö":[{"r":79}],"p":73,"q":73,"r":[{"a":[{"d":79}],"e":[{".":79}],"i":[{"n":79,"s":77}],"o":[{"m":4,"n":79,"u":79}]}],"s":[{"k":4},454],"t":[{"a":21,"i":21,"s":44},91],"u":[{"n":[{"t":79}]},68],"ü":176,"v":73,"w":[{"e":[{"b":11,"g":79,"r":[{"k":223}],"t":79}],"i":[{"d":79}],"ü":74}],"z":73}],"j":73,"l":449,"o":[{"a":79,"p":201},73],"s":73,"u":73,"y":73},70],"d":[{"a":[{"m":[{"e":4}]},6],"e":[{"s":10}],"i":[{"e":[{"n":[{"e":18}]}]}],"o":77,"r":6},239],"e":[{".":74,"a":[{"t":[{".":1}]}],"b":[{"ä":176,"e":[{"n":151}]},2],"c":[{"h":[{"o":90,"s":[{"t":[{"r":52}]}],"t":90}],"k":90}],"d":[{"i":[{"k":5}]}],"e":[{"i":[{"g":4},94],"l":[{"e":[{"n":4}]},5],"n":[{".":1,"e":35,"p":1}],"r":[{".":1,"a":9,"e":21,"f":0,"i":367,"k":0,"s":0}],"s":138},74],"f":[{"f":72,"l":11}],"g":[{"a":[{"l":236}],"l":5,"r":11},83],"h":[{"a":[{"g":5,"k":5},9],"e":[{"l":5,"r":[{"e":18,"k":6}]}],"i":[{"n":20}],"l":4,"ö":12,"r":[{"a":4,"e":4,"i":138}],"s":4,"ü":[{"b":5}]}],"i":[{".":73,"c":90,"d":[{".":90,"a":4}],"f":[{"e":[{"r":126}]}],"g":90,"l":74,"m":68,"n":[{".":127,"b":73,"d":[{"u":10}],"e":[{"i":15},91],"f":[{"l":79,"o":10}],"g":73,"h":72,"i":73,"k":73,"l":73,"n":[{"e":10},73],"r":73,"s":[{".":84,"c":79,"p":79,"t":[{"i":[{"t":27}],"r":52}]}],"t":[{"r":79},73],"w":73,"z":72},66],"s":[{"m":83},90],"t":[{"s":132},127]}],"k":[{"e":[{"l":239}],"z":79},74],"l":[{".":68,"a":20,"b":83,"d":62,"e":[{"c":9,"f":5,"g":161,"k":[{"t":[{"r":223}]}],"m":73,"r":[{"s":4},5]}],"f":[{".":73}],"i":[{"n":[{"s":18}],"t":67,"x":90}],"l":[{"e":4},68],"o":[{"b":5}],"s":[{"z":4},68],"t":[{"e":21}],"z":21}],"m":[{"e":2,"i":[{"s":151}],"p":72}],"n":[{".":84,"a":[{"d":6,"l":1,"s":6,"t":74,"u":4}],"ä":5,"b":68,"d":[{"l":90,"r":62,"w":90}],"e":[{"n":132,"r":[{"g":79,"s":6}]}],"f":68,"i":[{"d":5,"m":20},176],"k":[{"e":[{"l":[{"i":24}]}]},74],"o":[{"t":[{"t":6}],"z":6},5],"s":[{"a":68,"e":[{"h":302,"m":79}],"i":[{"d":64}],"o":83,"t":[{"u":[{"r":[{"m":60}]}]},100]}],"t":[{"a":[{"n":4},21],"ä":4,"d":73,"f":73,"g":79,"l":[{"a":79}],"n":79,"o":68,"r":4,"s":90,"u":74,"w":73,"z":73}],"u":311,"z":[{"a":4,"e":[{"r":11}],"w":4}]}],"o":[{"r":2}],"p":[{"e":[{"n":5}]}],"q":176,"r":[{".":84,"a":[{"d":115,"l":4,"n":[{"d":1}]}],"ä":[{"u":[{"s":4}]}],"b":[{"e":[{".":77}]},21],"d":21,"e":[{"b":123,"i":[{"e":1,"g":[{"n":223}],"m":12,"n":6}],"m":21,"n":[{"k":12},243]}],"f":[{"e":84,"o":66,"r":68,"ü":[{"l":79},77]}],"g":[{"a":35,"ä":66,"l":4,"r":68}],"h":[{"ö":73},66],"i":[{"e":176}],"k":10,"m":[{"i":[{"t":126}]}],"n":[{".":68,"ä":66,"e":[{"u":77}],"t":126}],"o":[{"b":10,"s":151,"t":66}],"ö":[{"f":73},66],"s":[{".":68,"a":73,"e":[{"h":[{"n":24},79],"t":242}]}],"u":[{"h":6,"m":2,"p":121},1],"v":455,"z":66}],"s":[{".":84,"a":3,"e":[{"l":5}],"k":1,"s":[{"a":191}],"t":[{"r":[{"i":23}]}],"u":1}],"t":[{"a":[{"p":207,"t":5}],"h":151,"i":[{"k":151},2],"s":9,"u":[{"n":1}],"z":74}],"u":[{"c":74,"l":126,"n":30}],"x":[{".":176,"a":73,"e":[{"n":4},5],"i":68,"o":68,"p":79,"t":[{"r":62}],"z":73},66]},70],"f":[{"a":[{"l":[{"l":[{"e":[{"r":54}]}]}]}]},456],"g":[{"a":[{"n":[{"g":18}]}],"e":[{"s":35}]},304],"h":[{".":79,"a":[{".":74,"l":[{"l":[{"i":10}],"t":[{"s":18},100]}],"m":68,"n":79},5],"e":[{"n":70},5],"i":[{".":74,"d":70,"p":68,"r":232},5],"n":1,"o":[{"c":79,"f":79,"m":79,"p":74,"r":[{"e":11}],"w":176}],"ö":126,"r":391,"s":79,"u":77},90],"i":[{".":74,"a":[{"c":[{"h":[{".":1}]}],"l":[{"l":50}],"s":11,"t":73}],"c":[{"h":[{"a":5}]},457],"d":[{"e":[{"a":90,"e":73,"o":90,"r":1}],"o":81,"y":73}],"e":[{"b":[{"u":2}],"g":[{"e":[{"s":18}]}],"n":[{"e":1}],"r":[{"r":0}]},83],"f":117,"g":[{"a":20,"e":[{"i":20}],"n":11,"r":38,"s":21},74],"k":[{"a":[{"b":20,"k":5,"r":5}],"ä":20,"e":[{"l":20,"n":[{"s":6}],"r":[{"l":4}]}],"i":[{"n":132},38],"n":38,"r":38,"s":35,"t":458,"u":5}],"l":[{"b":[{"r":2}],"e":2,"i":74,"l":66,"o":74}],"m":[{"m":90,"s":[{"t":2}],"u":74}],"n":[{"a":16,"d":90,"f":[{"e":79},90],"g":[{"a":44,"l":[{"e":62}],"r":162,"s":189}],"h":90,"i":459,"k":68,"n":[{"e":[{"r":97}],"o":90}],"q":90,"s":90,"t":90,"v":90}],"o":74,"r":[{"n":10,"r":73,"u":74}],"s":[{"a":[{"m":6},5],"c":[{"h":[{"u":6}]}],"e":123,"i":[{"s":6},5],"o":[{"r":9},67],"p":38,"s":35,"t":[{"a":[{"r":6}],"o":1,"u":5},68],"u":5},74],"t":[{"a":[{"l":5,"u":5}],"r":[{"a":5}],"u":109},74],"u":74,"v":[{"a":5,"e":[{"r":[{"f":12},100]},23],"i":[{"n":5}],"o":[{"r":5},185]}],"z":2},70],"í":70,"j":126,"k":[{".":79,"a":[{"b":126,"d":77,"l":[{"a":70,"k":79,"t":77}],"m":126,"n":[{"a":79,"ä":79,"d":[{"a":74}],"n":79}],"p":79,"r":79,"s":126,"t":[{"e":[{".":11,"g":79,"s":11}],"o":11}],"u":79},6],"ä":126,"b":79,"e":[{"l":[{"i":2}],"n":79,"p":74,"r":79,"t":126}],"h":77,"i":[{".":83,"f":83,"k":83,"m":77,"n":77,"s":[{".":68}],"z":74}],"l":[{"a":[{"s":126,"v":83}],"u":126},6],"n":401,"o":[{"h":79,"l":79,"m":79,"n":79,"p":[{".":74,"r":2}],"s":79,"w":79}],"ö":126,"r":[{"a":126,"o":79},6],"s":79,"t":[{"o":21},182],"u":[{"l":[{"p":74}],"n":79,"s":28}],"ü":79,"v":79},151],"l":[{"a":[{"b":77,"l":74,"m":[{"a":2}],"r":79,"v":[{"e":2}],"w":68}],"b":1,"e":216,"i":[{"p":146},77],"o":[{"b":[{"e":4}],"c":77,"g":[{"a":68}],"w":83}],"y":77},151],"m":[{"a":[{"b":62,"s":[{"c":4}]}],"e":[{"n":[{"a":4}]}],"i":[{"t":162}]},136],"n":[{"a":[{"b":10}],"i":[{"a":11,"e":[{"r":[{".":4,"s":4}]}]}],"o":[{"t":216}]},161],"o":[{".":74,"a":[{"s":72}],"b":[{"a":197,"j":79,"o":126},151],"c":[{"h":0}],"d":[{"i":5,"o":5}],"e":[{"t":1}],"f":[{"e":151,"t":74}],"g":[{"l":11},74],"h":[{"e":67,"l":[{"e":100},74],"n":[{"g":126}],"r":90}],"i":[{"d":1},202],"k":72,"l":[{".":74,"a":[{"u":6},1],"d":74,"e":[{"i":20},74],"i":1,"l":[{"a":203,"e":[{"r":11}]}],"o":3,"y":236},70],"m":[{"m":70}],"n":[{"a":[{"u":4},2],"e":21,"g":[{"l":11}],"s":[{"ä":4,"o":28}]},83],"o":1,"p":[{"e":73,"f":73,"r":74},66],"r":[{"d":90,"e":[{"i":5,"l":5},21],"g":[{"a":90,"e":70}],"h":0,"i":[{"e":151}],"o":5,"p":74,"t":[{"i":83}],"u":6}],"s":[{".":83,"c":74,"k":6,"m":73,"t":73,"z":66},70],"ß":82,"t":[{"h":3,"t":74},73],"u":[{"n":[{"d":[{"s":1},132],"t":1},21],"t":90}],"v":74,"w":74,"x":151,"z":[{"e":66},74]}],"ö":[{"d":151,"f":76,"k":90,"l":90,"s":207}],"p":[{".":73,"a":[{"a":73,"c":[{"e":68,"k":73}],"g":[{"e":2},73],"k":73,"l":[{"a":73,"ä":73,"t":74}],"m":2,"n":[{".":68,"n":[{"u":74}],"o":73,"s":68,"t":74,"z":73},70],"p":73,"r":[{"a":72,"e":70,"o":73,"r":70,"t":[{"e":[{"n":377}],"n":79}]}],"t":[{".":70,"i":73,"r":73}],"u":73,"z":83}],"ä":[{"d":73,"h":74,"r":73,"s":73},68],"e":[{".":73,"g":73,"i":[{"n":79},70],"n":[{"s":[{"i":79}]}],"p":62,"r":[{"a":68,"b":74,"g":83,"i":66,"l":[{"e":79}],"o":73,"r":[{"a":10},68],"s":73}],"t":79,"z":83}],"f":460,"h":[{"a":73,"ä":[{"r":74},68],"e":77}],"i":[{"e":[{"r":[{"r":18},126]},376],"k":2,"l":126,"p":72,"s":126,"t":83,"z":83},70],"l":[{"a":79,"ä":126,"i":83,"u":304},73],"n":77,"o":[{"d":73,"e":79,"i":68,"k":72,"l":79,"n":[{"s":68},70],"o":79,"p":73,"r":[{"e":68,"n":83},70],"s":126,"t":[{"e":79}]}],"r":[{".":79,"a":[{"c":83,"k":73,"n":68,"x":73}],"ä":[{"m":73,"n":68,"s":73}],"e":[{"c":74,"d":73,"n":127,"s":72}],"i":[{"n":[{"g":74,"z":79}],"t":68}],"o":[{"b":73,"d":73,"g":73,"j":79,"p":73,"s":[{"s":176}],"t":73,"z":73}],"ö":74,"u":83,"ü":[{"c":74,"f":73,"n":70}]}],"s":72,"t":103,"u":[{"b":73,"d":73,"k":70,"l":[{"e":83}],"n":77,"p":79,"r":[{"e":[{"r":11}]},74]}],"ü":70,"y":73},5],"q":90,"r":[{"a":[{"t":[{"s":21}]}],"e":[{"c":[{"h":[{"a":4}]}]}],"o":[{"h":2,"t":[{"u":4}]}],"ö":[{"s":2}],"ü":[{"c":[{"k":[{"e":[{"r":307}]}]}]}]},304],"s":[{"a":[{"b":[{"a":77,"i":1,"o":4}],"c":[{"k":140}],"d":5,"g":[{"i":6}],"j":99,"l":[{"b":[{"a":1}],"l":68}],"m":[{"t":84}],"n":[{"f":68,"g":84,"o":84,"s":84,"t":5,"z":84}],"r":[{"a":5,"g":5,"s":77}],"t":[{"t":81}],"u":[{"e":23,"r":10}]}],"ä":75,"c":[{"e":68,"h":[{"a":[{"n":[{"k":[{"e":[{"r":415}]}]}]}],"w":77},21],"r":68}],"e":[{"a":4,"c":0,"e":[{"c":9}],"h":[{"a":21}],"i":[{"n":[{"d":6,"t":4},68]}],"l":[{"ö":2}],"n":[{"k":[{"e":[{"l":52}]}],"s":[{"e":[{"m":52}]}]}],"p":[{"e":0}],"r":[{"a":[{"t":[{"t":24}]}],"e":[{"i":[{"g":7}]}],"g":[{"r":6}],"h":[{"ö":10}],"m":[{"i":[{"t":52}]}],"ö":[{"f":10}],"s":[{"e":1}],"u":6,"w":[{"e":[{"i":52}]}]}],"s":[{"s":[{"a":10}],"t":[{"r":119}]},77],"t":[{"a":4,"h":77}]}],"h":[{"i":1}],"i":[{"k":[{"o":3}],"l":[{"l":68}],"m":[{"p":68}],"s":[{"r":111}]}],"k":[{"a":[{"l":[{"a":77}]}]}],"l":1,"m":[{"u":[{"t":100}]}],"o":[{"f":[{"f":0}],"i":10,"l":77,"p":84}],"p":[{"e":[{"n":5}],"h":[{"i":5}],"r":[{"ä":77,"i":77,"o":68}]}],"q":[{"u":[{"e":[{"t":97}]}]}],"s":[{"a":[{"u":18}]},16],"t":[{"a":[{"d":140,"g":170},2],"ä":77,"e":[{".":84,"l":140,"p":319,"r":[{"n":140}],"s":84,"t":84,"u":140},30],"i":[{"n":4,"s":0},2],"o":[{"p":140,"r":0}],"r":[{"a":[{"t":121}],"ö":77}],"ü":77}],"u":[{"m":[{"g":68,"r":68}],"r":5}],"y":77},191],"t":[{".":223,"a":[{".":146,"a":176,"b":[{".":176,"b":73,"e":[{"l":79}],"g":73,"h":73,"i":[{"t":79}],"l":73,"n":73,"t":73,"z":73}],"c":5,"d":[{"a":73},68],"f":[{"f":74}],"g":[{"r":83},73],"h":74,"k":73,"l":[{"a":[{"k":4},73],"b":73,"g":73,"i":458,"k":73,"p":0,"r":0}],"m":[{"i":0,"m":[{"a":10}],"p":[{"l":79}],"t":79},74],"n":[{"b":73,"d":83,"f":79,"g":[{"e":[{"h":223}]}],"h":73,"l":73,"n":276,"s":[{"p":1,"t":79}],"t":[{"r":79},74],"w":73,"z":[{"a":79}]}],"p":[{"o":4,"p":125}],"r":[{".":68,"e":[{"n":[{"s":24}]}],"s":221,"t":84}],"s":[{"c":73,"i":[{"e":11}],"t":18}],"t":[{"b":73,"i":461,"t":[{"h":437}],"u":437}],"u":[{"f":73,"r":176,"s":73}],"v":[{"e":30}],"x":73}],"ä":[{"b":74,"d":74,"g":73,"l":[{"t":73}],"m":[{"t":73}],"n":[{"d":74}],"p":79,"r":127,"t":[{"t":74}],"u":[{"s":73}]}],"b":79,"c":103,"d":73,"e":[{"a":[{"m":79,"n":68}],"c":[{"h":[{"n":79}]}],"d":[{"i":0},2],"g":[{"r":162}],"h":[{"r":79},68],"i":[{".":6,"c":79,"d":276,"g":[{"r":10},243],"l":[{"c":77},79],"n":[{"a":10,"g":[{"a":223}],"h":[{"e":223}],"s":[{"p":13}]}]}],"l":[{"b":0,"e":77,"l":[{"ä":[{"n":54}]},5]},68],"m":[{"a":[{"r":11}],"e":[{"n":[{"t":24}]}],"p":[{"e":[{"r":223}],"f":79}]}],"n":[{"a":11,"d":[{"s":222}],"s":5,"t":[{"f":79,"l":79,"s":79,"w":79}]}],"p":[{"i":79,"o":30}],"r":[{"a":162,"b":[{"s":79},68],"e":[{"i":[{"g":223}]}],"f":[{"ü":1},68],"g":5,"h":68,"j":68,"k":68,"n":68,"r":[{"a":[{"s":223}]}],"s":68,"z":[{"o":10}]}],"s":[{"e":71,"t":[{"a":23,"b":79,"n":79,"s":79}]}],"t":[{"a":[{"b":11,"g":11},79]}],"u":[{"f":79,"n":1},68],"v":0,"x":[{"a":68},79]},74],"f":79,"g":73,"h":[{"e":[{"n":5}],"i":0,"o":1,"y":0},73],"i":[{"d":30,"e":[{"f":[{".":79,"l":79}],"l":243}],"f":176,"g":[{"e":[{"l":11}]}],"l":5,"m":[{"m":[{"a":79},74],"p":73}],"n":[{"b":125,"f":79,"g":74,"h":79,"s":73,"t":79}],"o":84,"p":[{".":73,"p":[{"s":79}]}],"r":[{"a":0,"i":0,"o":0},2],"t":[{"e":73}]}],"j":73,"k":73,"l":73,"m":79,"n":73,"o":[{"b":[{"l":2}],"c":[{"h":[{"t":79}]}],"d":[{"e":68}],"f":[{"f":[{"e":[{"n":[{"s":27},307]}],"i":[{"z":223}]}]},83],"m":[{"i":4,"n":73}],"n":[{"a":79,"e":462,"l":79},73],"p":[{"e":73,"o":73}],"r":[{"d":73,"f":73,"g":73,"y":68}],"u":79}],"ö":[{"c":[{"h":79}],"l":73,"r":127,"s":[{"t":73}],"t":73}],"p":73,"q":73,"r":[{"a":[{"d":[{"e":6}],"f":[{"a":10}],"g":73,"h":68,"i":73,"l":83,"n":[{"s":79}],"s":83,"ß":74,"u":[{"m":79}]}],"ä":[{"c":73,"g":72,"n":[{"e":79}]}],"e":[{".":73,"c":[{"h":79}],"f":73,"g":73,"i":[{"b":79,"f":463}],"p":73,"t":73,"v":73}],"i":[{"a":146,"b":73,"g":79,"s":[{"i":79}]}],"o":[{"c":79,"f":83,"h":83,"k":83,"p":[{"f":79,"o":146}],"s":[{"s":6,"t":79}],"y":74}],"ö":[{"p":73}],"u":[{"b":73,"k":74,"m":68,"n":73,"p":73,"t":73}]}],"s":[{"i":[{"d":10}],"p":11},182],"t":226,"u":[{"b":74,"c":[{"h":79}],"d":74,"e":73,"f":74,"g":[{"a":1},73],"h":74,"k":73,"m":[{"o":73,"r":73,"s":[{"c":77},147],"t":73,"z":73}],"n":[{".":73,"a":103,"e":73,"f":73,"i":103,"s":73,"t":73}],"ö":74,"r":[{"a":4,"e":33,"l":103,"n":72,"t":103,"z":83}]},5],"ü":[{"c":[{"h":79,"k":83}],"h":74,"r":[{".":73,"e":73,"g":73,"s":73,"w":73}],"t":[{"c":73}]}],"v":73,"w":[{"o":[{"r":100}]},73],"y":[{".":79,"p":79,"s":79},73],"z":187},70],"u":[{"a":[{"n":0}],"b":[{"a":6,"i":79,"r":6,"s":10},396],"c":[{"h":[{"a":5,"o":5}]},457],"d":74,"e":[{"b":5}],"f":[{"i":1},151],"h":90,"i":[{"s":0,"t":[{".":0}]},70],"k":5,"l":[{"i":3}],"m":[{"a":[{"n":5,"r":5},9],"e":[{"i":5,"l":5,"n":[{"t":[{"s":22},97]}],"t":20},83],"f":72,"i":[{"d":20,"n":5}],"m":83,"o":[{"r":5},94],"p":68,"s":[{"a":77,"e":73,"p":68,"t":72},66],"w":[{"a":72}]}],"n":[{"a":90,"d":[{"e":[{"r":[{"h":42},97]}]}],"e":6,"f":191,"g":[{"e":[{"n":[{"a":223}]}],"l":72}],"i":191,"m":90,"s":66,"t":73},5],"p":[{"d":79,"p":62},74],"r":[{"a":5,"e":[{"i":5,"r":5},10],"f":74,"k":90,"l":66,"o":20,"t":66}],"s":[{"a":3,"e":9,"i":4},5],"t":[{"r":1},75],"z":2}],"ü":[{"b":333,"c":74,"d":[{"e":[{"n":[{".":1},18]}]},20],"f":70,"n":74,"s":70,"ß":70}],"v":[{"o":[{"r":[{"a":[{"n":97}]}]}]},236],"w":[{"e":[{"g":[{"e":[{"r":[{"s":24}]}]}],"h":21,"s":33},77],"i":[{"e":79,"l":79,"n":[{"k":79}],"s":79,"t":79}]},90],"y":[{"l":[{"o":5,"u":5},154],"m":4,"n":[{"d":74,"o":6},38],"s":74},80],"z":[{"a":126,"ä":79,"e":[{"i":126,"l":79,"n":[{"a":83,"e":464,"t":79}],"r":79,"s":68,"ß":68,"w":83}],"i":[{"e":126,"n":[{"s":77}]}],"o":126,"s":77,"t":[{"a":1}],"u":79,"ü":79,"w":79,"y":79},151]}],"ß":[{"a":[{"n":9,"t":4},136],"ä":90,"b":207,"c":90,"d":207,"e":[{"b":151,"c":90,"f":90,"g":151,"i":90,"k":90,"l":[{"e":[{"k":73}],"u":1},5],"m":[{"p":90}],"n":[{"a":178,"e":[{"r":[{"g":79}]}],"i":5,"k":[{"e":66}],"o":5,"t":[{"e":465,"z":73}],"u":5}],"p":151,"r":[{".":83,"b":4,"e":[{"i":2}],"l":[{"a":2}],"o":5,"s":[{"e":90}],"t":4,"w":66}],"s":[{"s":316,"t":[{"r":466}]},5],"t":5,"x":90},70],"f":207,"g":[{"e":[{"b":[{"l":2}]}]},161],"h":90,"i":[{"g":[{"a":20}],"k":161,"l":90,"m":90,"n":90},70],"j":66,"k":136,"l":151,"m":[{"u":[{"t":21}]},151],"n":161,"o":136,"ö":112,"p":151,"q":[{"u":[{"e":[{"t":100}]}]},90],"r":[{"ö":2},161],"s":[{"a":[{"u":10}],"c":[{"h":21}]},136],"t":[{"h":0,"i":[{"n":0}],"s":2},90],"u":[{"f":66,"h":90,"m":90,"n":[{"g":68,"i":66,"t":73}]},385],"ü":112,"v":90,"w":90,"z":161}],"t":[{"a":[{"a":73,"b":[{".":73,"a":[{"n":38},74],"b":90,"d":79,"e":[{"l":70}],"f":73,"g":73,"h":73,"i":[{"t":161}],"k":73,"l":[{"a":73,"e":70}],"m":79,"n":72,"r":333,"s":[{"t":66},79],"t":72,"u":74,"w":79,"z":79}],"c":[{"h":[{"e":68}],"u":74},90],"d":[{"a":66,"d":73,"e":[{"r":5}],"i":[{"o":467,"s":10},23],"m":66,"o":[{"l":5}],"r":151,"s":3}],"e":[{"r":5}],"f":[{"e":[{"t":73},70],"g":66,"r":66}],"g":[{"a":5,"e":[{"i":123,"n":[{"t":126}],"s":21}],"g":90,"l":1,"o":151,"s":[{"a":[{"n":11}],"t":11},28]},70],"h":104,"i":[{"k":3,"l":28,"n":[{"s":0}],"r":[{".":0},11],"s":30},74],"k":[{"a":151,"e":[{"s":1}],"k":90,"r":[{"o":5}],"s":73,"t":[{"o":139,"u":68}],"z":73},70],"l":[{".":80,"a":[{"d":1,"g":1,"u":4},5],"b":[{"r":70,"u":70}],"d":10,"e":[{"n":[{"d":12,"g":4,"s":12},2],"r":[{"g":252},100],"t":5},70],"g":[{"a":2}],"i":[{"e":[{"n":[{"e":52}]}]}],"l":[{"a":[{"c":25}],"e":[{"g":11,"i":11,"t":11,"u":[{"t":24}]}],"i":[{"n":[{"s":353}]}],"o":[{"s":64}],"ö":468,"s":23,"u":[{"s":11}]}],"m":[{".":90}],"o":[{"p":5,"r":123}],"t":[{"a":150,"h":4,"r":10}],"u":5}],"m":[{".":83,"e":[{"n":68,"r":67}],"i":5,"m":[{"a":203,"e":[{"r":25}],"i":11,"u":[{"t":11}]}],"p":[{"l":66}],"s":83,"t":191},73],"n":[{"a":[{"b":4,"l":79,"t":6},67],"ä":151,"d":[{"a":[{"r":62}],"r":2}],"e":[{"r":[{"f":6}]}],"f":79,"g":[{"r":[{"a":11}]},73],"h":[{"o":68},73],"i":84,"j":74,"k":[{"l":2},80],"l":126,"m":66,"n":[{"a":90,"e":83}],"o":[{"m":73},66],"s":[{".":68,"i":79},66],"t":[{"a":[{"n":11}],"e":[{".":84,"i":79}],"r":73}],"u":10,"w":[{"a":73,"ä":73}],"z":[{".":68,"a":66,"e":[{"i":79}],"k":74,"r":74,"u":66,"w":28}]}],"o":[{"r":1},2],"p":[{"e":[{"s":5},84],"f":73,"l":5,"o":[{"k":[{"a":6}]}],"p":[{"e":68}]}],"r":[{"a":[{"b":[{"b":74},73],"k":1,"l":469,"m":73,"p":4,"s":1,"u":68},5],"b":[{"a":74,"e":[{"k":74,"r":74}],"i":74,"l":322},73],"c":[{"h":[{"l":74,"r":74}]},73],"d":68,"e":[{"l":5,"r":20}],"g":4,"h":30,"i":74,"k":[{"l":430,"o":83},73],"l":68,"m":[{"ä":68},90],"o":[{"m":5,"t":73}],"t":[{"a":83,"e":[{"i":74,"r":[{"e":353}],"x":74}],"h":83,"i":[{"s":146},66],"o":2,"r":2,"y":74},73],"u":5,"z":[{"t":73},66]}],"s":[{".":68,"a":3,"c":70,"p":191,"s":[{"i":72}],"t":[{"e":[{"m":6}],"o":5,"r":1},70],"y":68}],"t":[{".":84,"a":[{"b":34,"n":5}],"b":74,"e":[{"i":9,"l":319,"m":5,"n":70,"r":20},84],"l":72,"o":[{"m":73}],"r":76,"s":[{"a":70}],"t":73}],"u":[{"b":[{"a":28,"h":70,"l":2,"r":162}],"c":[{"h":[{"s":[{"p":49},97]}]}],"d":73,"f":[{"e":[{".":74}],"l":[{"i":62}],"m":79,"n":73,"o":335,"p":79,"s":100,"w":79},66],"g":[{"e":126},70],"k":66,"m":[{"a":79,"e":70},74],"s":[{"b":191,"c":[{"h":[{"a":24,"m":24,"r":24,"w":24}]}],"d":73,"e":92,"f":90,"g":77,"k":66,"l":73,"r":73,"s":72,"w":248,"z":73},70]}],"v":[{"a":[{"n":5}]}],"x":[{"i":[{"s":23}],"t":191},74]}],"ä":[{"ä":73,"b":73,"c":0,"d":73,"f":68,"g":[{"y":73},70],"h":73,"l":[{"e":74,"l":73,"t":90}],"m":[{"t":66},76],"n":[{"g":[{"s":66}],"z":70}],"p":90,"q":73,"r":[{"e":[{"n":[{"g":6}]}],"u":5,"z":73}],"s":5,"t":[{"i":[{"g":[{"k":74}]}],"t":79},68],"u":[{"g":73,"s":70,"ß":73}],"x":73}],"à":70,"b":[{"a":[{"u":[{"e":[{"r":97}]}]}],"e":[{"r":[{"e":21}]}],"l":[{"o":[{"c":[{"k":[{"e":[{"n":56}]}]}]}]}]},304],"c":[{"h":[{"a":77,"e":77,"i":2,"l":4,"r":77,"u":315,"w":9}],"l":77,"o":[{"r":21}],"r":77},90],"d":[{"a":[{"r":[{"m":163}]}],"u":[{"n":21}]},304],"e":[{"a":[{"b":1,"c":4,"g":1,"k":73,"l":1,"m":[{"m":[{"a":96}]}],"n":1,"r":1,"s":11},384],"b":[{"a":74,"b":84,"e":[{"n":151}]}],"c":[{"h":[{"n":70,"u":5},68],"k":73,"u":66}],"d":[{"i":[{"t":5}]}],"e":[{"m":0,"n":44,"r":[{".":5,"w":0}],"s":5},70],"f":[{"a":74,"f":73}],"g":[{"g":90}],"h":[{"a":[{"c":5}],"e":73,"i":[{"m":5}],"r":90,"u":1}],"i":[{"c":70,"f":[{"l":9}],"g":[{"n":73}],"k":10,"l":[{"e":[{"n":[{"t":24}]}]},80],"m":21,"n":[{"e":[{"n":[{"s":24},97]}],"h":[{"a":[{"b":52}]}],"k":[{"ü":77}]},73],"s":[{".":90,"b":66,"c":[{"h":[{".":7}]},4]}],"t":10,"w":66,"z":4}],"k":[{"e":[{"l":5}],"o":74,"t":62}],"l":[{"a":[{"b":4,"c":9,"n":[{"t":6},1],"u":9},5],"ä":5,"b":10,"d":62,"e":[{"c":9,"f":70,"g":70,"h":[{"r":4}],"m":73,"n":[{"g":4}],"r":5,"u":5}],"f":[{".":126}],"i":[{"m":6,"n":20,"t":5}],"l":[{"e":[{"i":[{"n":24}]},4],"i":[{"s":[{"t":470}]},4]}],"o":[{"b":5,"m":1,"s":[{"t":6}]}],"ö":20,"s":[{"k":35}],"t":[{"a":4,"r":10}]}],"m":[{"a":[{"n":5,"p":20,"u":5},68],"b":[{"o":104}],"e":[{"i":20,"r":20}],"g":73,"i":[{"m":35,"n":[{"g":4}]},76],"l":73,"n":73,"o":[{"r":94},76],"p":[{"e":[{"r":74}],"f":73,"o":70}],"s":21,"u":[{"n":6},5]}],"n":[{".":170,"a":[{"d":6,"n":12,"r":4,"s":6,"t":6,"u":4},94],"ä":268,"d":[{"a":[{"l":77,"n":10,"p":79},4],"f":248,"l":90,"o":170,"p":248,"r":62}],"e":[{"b":123,"f":5,"h":5,"i":[{".":16,"d":18},4],"m":10,"n":[{"d":12,"e":6,"g":6,"s":6},132],"r":[{"g":126,"n":12}]}],"f":10,"g":[{".":66,"a":[{"g":242},21],"l":[{"a":77}]}],"i":[{"l":6,"m":9,"n":12},5],"k":10,"n":35,"o":[{"l":5,"s":5}],"ö":1,"s":[{"e":[{"m":126}],"o":70,"p":21}],"t":[{"a":68,"b":66,"d":73,"l":72,"n":72,"r":[{"i":[{"c":24}]}],"s":66,"w":216,"z":73}],"u":5,"z":[{"e":[{"r":25}]},68]}],"o":[{"f":2}],"p":[{"i":151,"t":21}],"r":[{".":84,"a":[{"c":4,"d":5,"l":[{"g":4},0],"n":[{"e":16}],"p":38},84],"b":[{"s":90,"t":90}],"d":[{"e":[{".":126}],"s":35}],"e":[{"b":123,"c":5,"i":[{"g":77}],"k":7,"m":[{"a":6},21],"n":[{"d":12,"e":6,"g":6,"t":[{"h":49},12]}],"r":[{"k":[{"u":13},15],"l":15,"p":12,"s":6,"w":6}]}],"f":[{"r":84}],"g":[{"a":4,"e":[{"b":[{"n":223}],"m":170,"s":170,"w":170}],"l":4,"r":[{"e":[{"i":223}],"u":84}],"u":90,"ü":73},21],"h":[{"a":[{"l":[{"l":170}],"u":170}],"ä":[{"u":84}],"e":[{"i":84}],"i":68,"o":68,"ö":[{"h":[{"u":223}]}],"u":68}],"i":[{"a":1,"i":79,"k":[{"o":4}],"o":10,"t":[{"a":10},38]}],"k":[{"l":[{"ä":79}]}],"l":[{"ä":84,"i":84,"ö":[{"s":11}]}],"m":[{"i":70}],"n":[{".":68,"a":[{"r":11}],"c":170}],"o":[{"b":[{"e":11},0],"s":73},84],"ö":279,"p":84,"r":[{"a":[{"s":74},84],"e":[{".":11}],"o":84}],"s":[{".":84,"e":68,"t":[{".":84,"a":[{"d":170,"t":24}],"ä":84,"i":84,"r":84,"u":84,"ü":84}]}],"t":[{"a":62,"r":[{"ä":11}]}],"u":[{"f":36,"n":[{"g":1}]},278],"v":84,"w":[{"ä":[{"h":126}]}],"z":[{"a":35,"b":90,"e":[{"i":84,"u":79}],"w":4}]}],"s":[{".":68,"a":[{"k":21}],"ä":1,"c":1,"e":[{"l":[{"i":4}],"r":1}],"i":1,"o":1,"p":[{"e":[{"r":6},9],"r":6},1],"s":[{"a":90,"i":4}],"t":[{"ä":[{"t":4}],"b":70,"e":[{"r":[{"g":22,"h":214,"k":22},97]}],"o":1,"r":[{"a":4,"i":471}],"s":70},2]},5],"t":[{"a":[{"b":[{"l":6}],"p":76,"t":5},66],"e":[{"n":15}],"h":[{"o":1},151],"l":79}],"u":[{"f":74,"n":30,"p":90}],"v":[{"a":5,"i":5}],"w":[{"a":[{"s":21}],"o":74}],"x":[{"a":[{"m":73}],"e":151,"i":151,"p":79,"t":[{"a":11}],"z":90},70]}],"è":5,"f":472,"g":[{"a":[{"s":[{"e":[{"r":25}],"u":11}]}],"e":[{"n":[{"e":[{"n":473}]}],"r":[{"a":21,"i":21}]},77],"r":6},239],"h":[{".":79,"a":[{".":74,"g":83,"k":79,"l":[{".":74,"h":74,"i":84,"s":80}],"n":[{".":68,"d":77}],"p":77,"u":126},151],"ä":[{"i":74,"l":79},90],"b":73,"c":79,"e":[{"a":146,"b":90,"f":90,"i":[{"n":9,"t":79},90],"k":68,"m":[{"d":73,"m":73}],"n":[{"n":66}],"o":74,"r":[{"d":66,"o":132,"r":90,"z":90}],"s":[{"s":191}],"u":68},385],"f":73,"i":[{".":74,"c":[{"k":206}],"e":[{"r":[{".":4}]}],"l":90,"m":90,"n":[{"u":4},90],"r":90},5],"k":73,"l":103,"m":[{"u":21},182],"n":187,"o":[{"b":90,"c":[{"h":[{"r":4}]}],"f":66,"h":90,"l":[{"t":66,"z":73}],"n":68,"p":[{"s":79}],"s":[{"e":66}],"t":[{"e":79},66],"u":73,"v":66}],"ö":73,"p":73,"r":384,"s":73,"t":104,"u":[{"b":73,"h":73,"n":126,"t":73},66],"ü":90,"v":73}],"i":[{"a":[{"c":1,"g":0,"l":[{"l":21,"o":1}],"m":30},84],"c":[{"e":0,"h":[{"r":1}],"k":[{"e":[{"t":74}]}]}],"d":[{".":68,"e":[{"e":73,"n":[{"d":37}]}],"y":1}],"e":[{"f":[{".":70,"e":[{"l":79}],"l":70,"r":2}],"g":10,"i":20,"l":[{".":5,"a":23},0],"n":367,"r":[{"e":[{"i":11,"u":11}],"n":5,"r":70}],"u":0}],"f":[{"e":1,"f":4,"r":117,"t":[{"e":[{"r":[{"k":40}]}]}]}],"g":[{"e":[{"r":[{"z":6}]}],"i":[{"t":5}]}],"h":[{"i":10},2],"k":[{"a":[{"m":5,"r":5}],"e":[{"n":[{"t":6},100],"r":[{"e":16,"l":1}]}],"i":[{"n":5}],"l":[{"u":6}],"n":5,"o":[{"p":20}],"r":[{"a":5,"ä":5,"e":[{"i":6}]},9],"s":21}],"l":[{"a":[{"r":5}],"d":4,"e":[{"i":5,"l":5}],"g":[{"u":74},70],"l":[{"e":[{"b":18}],"u":73}],"ö":5,"t":10,"u":5}],"m":[{"a":[{"g":34}],"m":[{"a":[{"n":11,"t":[{"e":470}]}],"e":[{"r":[{"g":24},97]}],"i":[{"t":11}]}],"p":73}],"n":[{"a":[{"f":1,"k":1,"n":38},84],"d":66,"e":[{"i":44},43],"f":90,"g":[{"a":2,"l":23,"s":189}],"h":90,"i":[{"s":74,"t":306}],"k":[{"a":66,"l":28,"n":2,"r":2,"u":66}],"n":68,"o":[{"r":5}],"s":[{"a":77,"ä":68,"e":126,"p":[{"a":11}],"u":[{"m":11}]},66],"t":[{"e":[{".":74}]},66],"u":[{"m":2},1],"v":191}],"o":[{"s":[{"k":5}],"x":[{"i":15}]},74],"p":[{".":70,"l":16,"p":70,"s":74}],"q":[{"u":[{"e":[{".":6}]}]}],"r":[{"a":[{"d":70}],"h":0,"o":[{"n":6}]}],"s":[{"c":[{"h":[{"e":[{"i":22}],"l":15,"w":15}]},68],"e":[{"i":5}],"k":1,"l":66,"o":66,"p":5,"r":66,"t":[{"h":3,"i":[{"c":12}]}],"u":5}],"ß":90,"t":[{"a":[{"l":5},220],"e":82}],"u":[{"m":[{"s":10}]},74],"v":[{"a":[{"n":5}],"e":[{"l":5,"n":[{"e":6}],"r":[{"h":6,"k":6,"l":6},100]}],"o":20,"r":12}],"z":[{"a":5,"i":[{"r":5}]}]}],"j":90,"k":304,"l":[{"a":[{"n":[{"g":21}]}],"e":[{"i":[{"d":[{"e":[{"r":52}]}]}],"p":84,"r":[{"a":2}]},6],"i":[{"n":[{"g":[{"s":96}],"i":33}],"t":44},216],"ö":140},161],"m":[{"a":[{"l":21}],"e":[{"n":[{"s":[{"c":[{"h":[{"l":27}]}]}],"t":[{"s":97},312]}]}],"o":[{"d":[{"e":[{"s":11}]}]}]},239],"n":[{"a":140,"e":[{"s":10}],"i":[{"v":4}]},136],"o":[{"a":[{"s":6,"t":120}],"b":[{"a":68,"j":79,"l":2,"s":66,"t":70}],"c":[{"h":[{"s":72,"t":70},0],"k":[{"e":[{"n":[{"t":50}]}]},73]}],"d":[{".":74,"e":[{"r":421}],"u":[{"n":5}]},231],"f":[{"f":[{"e":[{"n":[{"t":42}],"r":25}],"i":73}]}],"h":[{"r":72}],"i":[{"r":11}],"k":11,"l":[{"e":[{"r":70},1]}],"m":[{"a":[{"r":[{"b":18}]}],"e":[{"n":[{"e":6}]}],"i":[{"n":5},74],"o":70,"u":[{"n":6},20]}],"n":[{"a":[{"n":5,"u":4}],"d":21,"e":[{"h":167,"r":[{"k":[{"e":13}]}]}],"o":[{"b":5}],"y":73},70],"o":74,"p":[{"a":[{"d":5,"k":5,"n":5,"s":1,"t":5}],"e":66,"h":[{"i":9}],"o":70,"t":333}],"r":[{".":84,"a":[{"g":21}],"ä":[{"n":6}],"d":[{"i":68,"n":72},66],"e":[{"i":5,"l":5,"m":5,"n":[{"n":[{"a":22}]}]},84],"f":[{"a":[{"n":11}]},70],"g":[{"a":73},150],"i":[{"e":[{"n":[{"t":211}]}],"n":[{"s":18,"t":4}]}],"ö":5,"p":70,"s":84,"t":[{".":90,"a":35,"h":66,"n":79,"s":474},70],"u":6,"ü":[{"b":6},1]}],"s":[{"c":1,"e":3,"h":1,"k":[{"a":6}],"t":21}],"t":[{"ä":5,"e":[{"n":70}],"h":[{"o":5}]}],"u":[{"i":[{"l":100}],"n":1},83],"x":0}],"ö":[{"c":[{"h":70,"k":73},5],"d":151,"f":76,"k":191,"l":[{".":73},70],"n":70,"r":68,"s":[{"t":112}],"t":70}],"p":[{"f":11,"i":[{"n":2}]},136],"q":90,"r":[{".":73,"a":[{"c":[{"h":[{"a":4,"l":4}]},70],"d":[{".":72,"e":[{"m":11},73],"i":[{"e":77},70]}],"f":[{"a":[{"h":11,"r":11}],"f":73}],"g":231,"h":[{"m":73}],"i":146,"k":[{"e":72,"t":84}],"l":[{"l":23}],"m":70,"n":[{".":146,"d":79,"g":73,"k":70,"n":77,"s":243}],"p":[{"p":70}],"s":[{"t":[{"a":11}]}],"ß":73,"u":[{"b":[{".":79},66],"c":79,"f":84,"m":70,"p":73}]}],"ä":[{"c":70,"d":73,"g":70,"n":[{"e":70,"g":73}],"u":[{"c":73,"m":70}]}],"e":[{".":216,"a":[{"k":77},73],"b":[{"r":2},73],"c":[{"h":77,"k":[{".":74},84]},73],"d":72,"f":[{"e":73,"l":73,"o":73},70],"g":73,"h":77,"i":[{".":84,"b":231,"f":73,"g":72,"h":72,"m":73,"n":72,"s":[{"c":[{"h":[{".":255}]}]},72],"t":73,"z":77}],"k":73,"l":72,"m":84,"n":[{".":84,"d":70,"n":70,"t":77}],"p":[{"e":73,"o":72,"p":70,"r":77}],"r":84,"s":[{".":84}],"t":[{"a":2,"e":84,"r":[{"i":11},23],"t":72},70],"v":72,"x":84,"z":73}],"é":146,"h":72,"i":[{"b":146,"c":[{"k":84}],"d":278,"e":[{"b":70,"f":[{"r":23}],"n":[{"a":11}],"r":[{"s":11},2]}],"g":[{".":73,"l":4}],"k":[{"e":[{".":11,"s":11}],"o":70},84],"l":70,"n":[{"d":77,"g":73,"i":4,"n":77},70],"o":74,"p":84,"ß":73,"u":70,"v":72,"x":2,"z":[{"i":132}]}],"o":[{"b":62,"c":[{"k":[{".":79}]},70],"k":[{"e":[{"s":11}]}],"l":[{"l":[{"a":10}]}],"m":[{".":73,"e":[{"n":11}],"i":2,"k":73}],"n":[{"a":4}],"p":[{"e":9,"f":74},84],"s":[{"m":4,"t":70}],"t":[{".":66}],"u":[{"t":73}]}],"ö":[{"c":126,"h":73,"m":73,"p":70,"s":[{"s":72}],"t":70}],"u":[{"b":70,"c":72,"f":79,"g":70,"k":73,"m":[{"ä":77,"s":132},21],"n":[{"d":77,"k":70}],"p":146,"s":[{"s":77}],"ß":72,"t":[{"h":2},475]}],"ü":[{"b":[{"e":9,"u":9}],"c":[{"k":[{"e":[{"r":307}]}]},72],"g":84,"m":[{"m":74}]}],"y":9},208],"s":[{".":79,"a":[{"b":1,"c":[{"h":[{"e":4,"s":84}]},77],"d":109,"h":[{"n":0}],"l":[{"l":68,"t":68}],"m":[{"p":84,"t":111}],"n":[{"e":1},68],"r":[{"i":1},2],"s":131,"u":68,"v":5}],"ä":[{"h":68,"n":0,"u":[{"s":0}]},66],"c":[{"e":68,"h":[{"a":[{"m":84,"r":[{"t":170}]}],"e":[{"f":84},77],"l":[{"i":10},77],"r":[{"a":77,"o":84}],"ü":77}],"o":[{"r":5}]}],"e":[{"b":110,"e":2,"f":68,"h":[{"e":[{".":11}]}],"i":[{"l":5}],"m":[{"e":77}],"n":[{"g":0,"s":75,"t":99}],"p":99,"r":99,"s":[{"s":[{"e":[{"n":336}]}]}],"t":[{"a":0,"i":99},2],"v":110,"x":[{"i":77},68]}],"h":[{"e":1}],"i":[{"d":110,"k":166,"m":68,"n":[{"g":18,"i":68}],"r":0}],"k":[{"a":[{"l":77}],"e":[{"l":[{"e":6}]}],"i":21,"o":128},79],"m":84,"o":[{"f":[{"f":0}],"p":68,"r":[{"c":0,"i":99,"t":[{".":1}]},2],"s":77},66],"p":[{"a":[{"r":[{"t":1}],"s":0,"t":[{"e":1}]}],"e":[{"d":66,"k":67,"n":[{"d":6}]}],"i":[{"c":81,"n":[{"s":84}]},5],"l":[{"e":1}],"o":[{"n":5,"r":5}],"u":[{"t":5}]}],"s":120,"t":[{"a":[{"b":[{"e":84}],"f":68,"l":[{"e":84}],"n":[{"z":128}],"s":68,"t":[{".":128}]}],"ä":[{"t":[{"i":128}]}],"e":[{"e":84,"p":111,"r":[{"m":84,"r":128}]}],"i":[{"e":0,"l":75,"m":77,"s":99,"t":68}],"o":[{"c":[{"h":84}],"i":68,"r":68}],"r":[{"a":[{"c":84,"d":84,"f":121}],"e":[{"c":77,"n":84}],"i":[{"c":6,"e":84}],"o":400}],"u":[{"b":5}],"ü":[{"m":5}]},242],"u":[{"b":[{"i":74}],"m":[{"z":68}],"n":1},0],"ü":66,"w":[{"a":[{"s":21}]}]},73],"t":[{"a":[{"b":0,"c":[{"h":[{"s":1}]},5],"d":0,"g":[{"e":[{"s":[{"s":42}]}]},5],"h":111,"k":[{"e":2}],"l":5,"n":[{"a":10,"k":[{"e":6}],"t":75},68],"p":111,"r":[{"t":0}],"t":[{"r":1}]}],"ä":[{"h":0,"n":68}],"e":[{"b":[{"e":0}],"c":[{"h":[{"s":1}]}],"i":[{"f":0,"n":0,"s":99}],"l":[{"a":286,"e":[{"b":302,"g":277,"n":11}],"l":23,"o":44}],"m":[{"u":68}],"n":[{"a":11,"s":[{"e":[{"m":52}]},100],"t":[{"b":84,"e":23,"f":84,"s":84}],"z":23}],"o":68,"r":[{"e":121,"g":5,"i":[{"k":11}],"n":[{"ä":23}],"o":2,"ö":5}],"s":[{"a":25,"ä":25,"o":71,"s":77,"t":[{"r":18}]},6],"u":[{"f":84}]}],"h":[{"ä":[{"u":5}],"i":0,"o":99}],"i":[{"d":232,"g":[{"i":81}],"n":[{"s":68,"t":5}],"s":[{"o":68}]}],"l":[{"a":476}],"o":[{".":77,"r":[{"g":68}],"s":77}],"r":[{"o":[{"u":68}],"ü":118}],"s":[{"c":[{"h":[{"i":97}]}],"e":[{"h":9,"n":5}],"p":9,"t":[{"ä":[{"t":12}],"e":[{"m":12,"r":6}]}],"z":3}],"u":[{"b":4,"c":68,"f":0,"n":[{"t":84}],"s":232},2],"ü":2,"z":3},191],"u":[{"a":[{"l":[{"e":6,"m":0,"v":0}],"n":[{"t":1}]},74],"b":[{"a":[{"b":23}]},2],"c":[{"h":[{"i":5,"o":0}]},70],"d":[{"i":[{"e":[{"n":195}]}]}],"e":[{"n":1,"r":[{"e":5}]},74],"f":[{"e":[{"n":1,"r":75},2],"f":[{"e":[{"l":11}]},74]},73],"g":[{"a":[{"n":5}],"e":74}],"h":[{"l":[{"e":[{"r":11}]}]},73],"i":[{"s":[{"t":0}]}],"k":[{"r":75}],"l":[{"i":2}],"m":[{"b":[{"l":364}],"f":126,"g":72,"h":90,"k":72,"l":73,"o":83,"p":73,"r":72,"s":[{"a":[{"t":126}],"c":90,"i":2,"o":2}],"t":72,"w":90,"z":77},70],"n":[{".":70,"a":90,"d":[{"e":21},90],"e":[{"n":2},70],"f":72,"g":[{"a":77}],"i":[{"f":73,"o":76,"v":73}],"m":90,"n":74,"o":67,"s":[{".":70},77],"t":72,"v":90}],"p":[{".":90,"g":66}],"r":[{"a":[{"g":20,"n":[{"l":18},5],"s":5,"u":5}],"ä":5,"c":9,"e":[{"b":123,"i":[{"s":4},5],"n":[{"e":6}],"r":20,"s":6,"t":34,"v":115}],"f":62,"g":35,"i":[{"n":477}],"m":[{"u":[{"n":11}]}],"n":70,"o":38,"s":35,"u":6}],"s":[{"a":5,"c":[{"h":[{"l":6}]}],"e":5,"o":5}],"t":[{"a":3,"o":[{"r":[{"e":23}]},50]}]}],"ü":[{"b":[{"e":[{"r":[{".":1}]}]},73],"c":[{"h":70,"k":[{"s":21}]}],"f":70,"h":73,"r":[{".":70,"c":9,"e":70,"g":70,"s":70,"w":70,"z":73}],"t":[{"c":70,"e":70,"z":73}]}],"v":[{"o":[{"r":[{"a":[{"n":97}]}]},77]},239],"w":[{"a":478,"e":[{"g":[{"s":100}]}],"i":[{"e":11,"s":[{"t":84}]}]},304],"y":[{".":74,"a":90,"p":[{"a":20},74],"s":74},70],"z":[{"a":[{"g":0,"r":1,"u":0},109],"ä":[{"h":77},99],"e":[{"c":0,"d":110,"h":[{"r":0}],"i":[{"e":99,"s":111}],"m":[{"i":0},2],"n":[{"e":5,"t":[{"a":23,"g":84,"l":84,"s":84}]},71],"r":[{"g":[{"r":[{"e":52}]}],"w":0,"z":[{"i":1},172]}],"s":44,"t":30}],"i":[{"d":30,"m":[{"i":0},11],"n":[{"t":0,"v":0}]}],"o":[{"m":81,"p":68}],"t":[{"h":5,"i":[{"n":5}]}],"u":[{"g":[{"u":2}],"n":[{"i":68}]}],"w":[{"a":[{"n":[{"d":195}]}],"ä":0,"i":[{"e":77},0],"u":0}]},90]}],"u":[{"a":[{"b":75,"c":67,"d":[{"a":[{"n":5}],"r":11}],"g":67,"h":66,"l":[{".":66,"a":279,"ä":279,"b":66,"d":66,"e":[{"b":77,"n":[{"t":121}],"r":[{"g":6,"k":4},479],"t":75}],"f":66,"g":66,"h":66,"i":[{"d":75}],"l":[{"e":100},4],"n":66,"o":123,"p":66,"r":66,"s":66,"t":444,"u":5,"w":66,"z":66}],"m":66,"n":[{"a":2,"s":66}],"r":[{".":77,"a":[{"b":21}],"s":66,"t":[{"a":[{"n":25}]}]}],"s":[{"a":3}],"t":[{"h":5,"i":2,"o":2}],"u":[{"s":2},77],"y":66},73],"ä":[{"m":66,"n":66,"s":11,"u":66}],"b":[{"a":[{"r":[{"b":68}]}],"b":[{"l":11}],"e":[{"b":[{"e":2}],"e":2,"h":[{"e":99}],"i":[{"n":0}],"m":110,"n":[{"a":71,"o":23}],"r":[{"d":[{"e":128}],"t":18},5],"s":6,"u":[{"l":0}]}],"i":[{"t":77}],"l":[{"ä":[{"u":1}],"i":[{"c":1}],"u":[{"t":6},1]},5],"o":[{"b":68,"p":68,"z":68}],"r":[{"i":[{"t":81}],"ü":6}],"s":[{"a":[{"n":5,"u":100}],"c":[{"h":[{"e":422}]}],"o":20,"p":5,"t":21,"z":6}],"t":[{"h":3}]},90],"c":[{"c":0,"h":[{"a":[{".":66},9],"ä":9,"e":[{"c":9,"d":68,"i":9,"r":[{"i":[{"n":[{"t":59}]}]}]},66],"i":[{"m":4,"n":9},66],"l":4,"m":4,"n":4,"o":[{"p":9}],"r":169,"s":[{"e":[{"l":11}],"o":2,"p":2,"t":100}],"t":[{"a":[{"n":4},2],"e":[{"r":[{"f":42,"t":42}]}]}],"u":[{"m":68},66],"ü":4,"w":9}],"i":66,"k":[{"e":[{"l":[{"f":4}],"r":[{"g":[{"e":[{"b":51}]}]},2]}],"i":4,"s":[{"t":[{"i":11}]}],"t":4}],"l":66},73],"d":[{"a":[{"d":4},121],"e":[{"i":[{"n":57},62],"l":[{"s":[{"e":23}]}],"n":[{"e":23},44],"r":[{"t":18}]},5],"i":[{"e":[{"n":4}],"t":[{"i":18}]}],"o":[{"b":75,"n":68}],"r":[{"a":1,"u":77}]},90],"e":[{"b":[{"l":11}],"c":[{"h":0}],"d":68,"e":[{"n":124}],"g":68,"h":68,"k":[{"e":5}],"l":[{"a":68,"e":[{"k":5}],"i":10,"l":[{"a":2,"ä":2}],"n":77}],"m":[{"i":5}],"n":[{".":77,"a":311,"ä":5,"d":77,"e":[{"b":5,"r":5},21],"g":[{"a":[{"g":11}],"e":[{"m":18,"n":[{"e":291}],"s":18},100],"l":2}],"i":75,"k":10,"o":5,"u":5,"z":[{"e":[{"n":[{"e":24}]}],"u":2}]},9],"p":68,"r":[{"a":115,"ä":20,"b":[{"a":[{"u":[{"t":24}]}]},21],"d":35,"e":[{"c":5,"i":[{"n":[{"n":140}],"s":4}],"l":[{"a":4}],"m":[{"p":77}],"n":[{"t":480}],"r":[{"b":16,"f":77,"g":41,"h":18,"k":18,"m":18,"s":[{"c":22,"p":13,"t":22}]}],"s":[{"k":4}],"t":5,"x":77},21],"g":[{"e":[{"b":11}]},35],"h":77,"i":[{"d":21,"m":149,"n":[{"t":340}]}],"l":[{".":77}],"n":[{"a":[{"n":11,"r":11}],"e":11},77],"o":268,"ö":2,"r":[{"ü":77},4],"s":[{"c":4,"t":13}],"t":35,"u":[{"h":77,"m":77,"n":[{"f":77,"t":77}]}],"z":35}],"s":[{"e":7,"p":7},6],"t":[{"a":5,"e":[{"k":6}],"i":[{"k":5}],"y":21}],"v":68,"x":20},191],"f":[{"a":[{"b":0,"c":77,"h":77,"l":[{"l":18},77],"n":[{"e":1},2],"r":166,"t":2,"u":0}],"ä":[{"n":99,"s":99,"ß":110}],"e":[{"i":99,"l":[{"s":[{"a":116}]}],"m":99,"n":[{".":77,"t":68},79],"r":[{"f":68,"h":99,"l":[{"a":84,"e":84}],"n":[{"e":84}]}],"ß":99,"t":99}],"f":[{"e":[{"l":100},1],"l":11,"r":[{"o":5}]},73],"i":[{"d":99,"m":68,"n":[{"s":99}]}],"l":1,"o":[{"b":68,"r":[{"i":0},2]}],"r":1,"s":[{"ä":7,"c":1,"p":[{"o":5}],"t":[{"a":[{"b":6}],"e":[{"r":6}]}]}],"t":[{"a":[{"b":21}],"e":[{"b":9,"n":1,"r":[{"d":4,"g":199,"l":18}]}],"i":[{"n":6},1],"s":35},73],"u":[{"m":68}]}],"g":[{"a":[{"b":[{"e":5,"t":[{"e":84}]}],"d":30,"k":0,"n":[{"a":68,"b":68,"g":18,"i":68,"s":68,"t":68}],"p":0,"r":99,"u":0}],"d":3,"e":[{".":77,"c":99,"i":[{"g":68,"n":68},30],"l":[{"o":[{"b":11}]}],"m":[{"i":0}],"n":[{"e":100}],"r":[{"f":99,"l":99,"r":68,"v":68}],"s":[{".":77,"k":99},21],"t":5}],"g":[{"l":5,"t":11},2],"h":[{"u":1}],"i":[{"d":110,"m":68,"n":0}],"l":[{"ä":84,"e":[{"i":[{"t":[{"b":170,"u":170}]}]}],"i":[{"c":84,"s":84,"z":1}],"o":128,"u":84},99],"n":128,"o":[{"b":68,"c":1,"n":77,"p":0,"r":30,"s":77}],"ö":68,"r":[{"ä":81,"e":[{"g":68,"i":[{"s":128}],"s":68}],"i":[{"e":81}],"o":[{"u":68},1],"ü":[{"s":1}]}],"s":[{"p":[{"e":22,"o":[{"r":11}]}],"t":[{"ä":1,"e":9,"u":[{"r":6}]}]}],"u":[{"m":68,"s":[{"t":[{"e":[{"r":24}]}]}]}],"ü":68},90],"h":[{"a":5,"e":[{"a":4,"e":94},72],"i":73,"l":[{"a":[{"r":5},0],"ä":0,"e":[{"n":[{"t":12}],"r":[{"b":4}]}],"i":5,"ö":2},73],"m":[{"e":10},73],"r":[{"a":9,"e":[{"i":[{"s":18}],"r":481}],"i":[{"n":6},103],"o":38,"u":5,"ü":6}],"s":11,"t":3,"u":68,"ü":73,"w":0},66],"i":[{"a":5,"c":[{"h":[{"e":5},0]}],"d":[{"d":66}],"e":[{"m":0},66],"g":[{"e":84},77],"l":[{"l":[{"e":[{"s":11}]}]}],"m":66,"n":[{".":77,"n":4}],"s":[{"c":[{"h":[{".":77,"s":77}]}],"e":2,"i":[{"n":10}],"t":[{"a":1},5]}],"t":[{"s":4}]},73],"j":[{"i":4},66],"k":[{"a":5,"ä":[{"h":0,"u":77}],"e":[{"n":28},67],"i":66,"l":[{"e":44},67],"n":112,"o":[{"b":99,"m":[{"a":23},28]}],"ö":5,"r":112,"t":[{"a":5,"e":[{"l":20,"r":20}],"i":[{"n":5}],"o":[{"r":[{"i":178}]}],"r":38,"s":10,"u":[{"m":5}]}],"u":[{"s":2},66],"ü":5}],"l":[{"a":[{"m":0,"n":[{"e":21}],"r":5,"s":[{"c":2}]}],"ä":[{"m":0}],"b":[{"l":11}],"d":[{"a":[{"n":6}],"r":5,"s":[{"e":2}]}],"e":[{"l":99,"m":[{"b":0}],"n":11,"r":[{"h":78}],"s":[{"t":71}],"t":[{"a":0},2]},73],"f":158,"g":11,"i":[{"d":0,"k":2,"n":[{"s":0}],"p":9},73],"k":[{"a":1,"n":5}],"l":[{"a":[{"g":21,"u":9}],"ä":5,"e":[{"n":1}],"i":[{"n":21},3],"o":5,"ö":34,"s":35}],"m":[{"e":2}],"n":[{"i":21}],"o":[{"i":2,"p":99,"r":99}],"p":[{"h":[{"a":5},9]}],"s":[{"a":[{"m":6},5],"e":[{"c":20,"i":5,"r":5}],"u":[{"m":5}]}],"t":[{"a":[{"n":1,"r":4,"u":5},104],"e":[{"r":[{"m":18}]}],"r":[{"i":5}],"s":4}],"ü":68,"v":[{"r":5}],"z":[{"w":2}]},66],"m":[{"a":[{".":73,"a":68,"b":68,"d":99,"k":110,"l":[{"l":0}],"n":[{"g":0,"z":0}],"p":99,"r":[{"c":68,"m":68,"t":68},0],"t":[{"l":68,"m":68}],"u":[{"s":0,"t":68}]}],"ä":[{"h":99}],"d":429,"e":[{".":77,"f":99,"i":[{"n":99}],"n":[{"e":28,"g":[{"e":[{"l":7}]}]}],"r":[{"a":21,"f":99,"g":0,"k":77,"l":99,"w":0}],"s":11}],"f":[{"i":79},70],"g":70,"i":[{"n":[{"d":0,"h":0}],"r":0,"t":[{"e":0},2]}],"k":70,"l":70,"m":[{"a":11,"e":[{"s":[{"s":6}]},73],"i":1}],"o":[{"b":0,"l":77,"t":1}],"p":[{"f":[{"a":2,"i":[{"n":11}],"l":[{"i":10}]}],"h":[{"o":5}]}],"r":70,"s":[{"a":[{"m":6,"n":12,"t":70}],"e":[{"r":20}],"i":[{"m":5}],"k":6,"p":[{"e":20}],"t":[{"e":[{"m":6}]}],"u":[{"m":5}]}],"t":3,"u":[{"m":68,"r":110}],"z":70}],"n":[{".":73,"a":[{".":73,"b":[{"h":74,"r":38},70],"g":5,"l":5,"m":75,"n":81,"p":68,"r":[{"b":68}],"s":76,"t":1,"u":[{"s":21}]}],"ä":[{"r":5}],"d":[{".":73,"a":[{"b":21},5],"ä":[{"n":5}],"d":70,"e":[{".":1,"r":[{"e":[{"r":307}],"f":4,"ö":4,"t":[{"e":[{"n":[{"d":51},56]}]}],"z":4}],"x":5},73],"f":70,"g":73,"i":[{"d":5,"m":5}],"n":70,"o":[{"b":21,"p":5,"r":5}],"r":181,"s":[{".":79,"c":73,"p":4}],"u":[{"m":20}],"ü":10,"v":70,"z":70}],"e":[{"i":[{"d":1,"n":1}],"m":[{"i":5}],"n":[{"t":21},71],"r":[{"e":4,"i":4,"k":84,"z":[{".":128}]}],"s":124},250],"f":[{"a":1,"t":[{"s":21}]},2],"g":[{"a":[{"b":5,"m":5,"t":5}],"e":[{"n":[{"a":74}],"r":[{"e":18}],"t":70,"w":70}],"l":[{"u":5},70],"o":5,"r":[{"i":4},5],"s":[{"t":[{"r":23}]},11]}],"i":[{"c":77,"d":[{"e":1},5],"e":79,"f":83,"k":62,"m":5,"o":70,"r":[{"o":1},5],"s":[{"l":1}],"t":75,"v":80}],"k":[{"a":123,"e":[{"r":1,"s":20,"t":5}],"n":[{"e":5}],"o":[{"p":34}],"r":[{"o":5}],"s":35,"t":[{"i":[{"t":11}],"r":2}]},73],"l":[{"ö":21}],"n":[{"a":[{"d":36}],"e":[{"n":10},2]}],"o":[{"b":68,"r":11,"s":5}],"r":70,"s":[{".":73,"c":[{"h":[{"e":[{"l":49}]}]}],"i":70,"k":[{"i":6},1],"p":1,"t":[{"a":[{"g":18}],"r":44},11],"y":73,"z":73},2],"t":[{"a":1,"e":[{"r":[{"i":10}]},1],"i":73,"r":1,"s":4,"u":73,"y":74},70],"u":[{"c":77},69],"ü":66,"v":[{"o":[{"l":[{"l":96},100]}]}],"w":[{"ä":73},70],"y":68,"z":[{"a":3,"e":2},73]},0],"o":[{"b":67,"f":77,"p":66,"r":[{".":77,"a":38,"c":4,"e":[{"t":77}],"i":[{"s":5}],"s":77},66],"s":[{".":66}],"t":[{"e":21}],"x":66},73],"ö":[{"d":67,"k":66}],"p":[{"a":66,"d":74,"e":[{"r":[{"e":[{"r":97}]},44]},220],"f":[{"a":5,"e":21,"l":66,"u":67}],"i":121,"l":[{"u":6}],"o":77,"p":[{"l":5},73],"r":[{"a":[{"s":81},23]},66],"t":[{"a":311,"e":[{"n":[{"e":6},132],"r":[{"f":4,"g":4,"k":4,"s":4}]}],"o":9}]}],"q":66,"r":[{".":79,"a":[{"b":[{"a":77,"e":2},68],"k":[{"t":99}],"l":[{"t":92}],"m":99,"n":[{"a":11,"d":77,"f":[{"ä":[{"n":52}]}],"g":[{"e":10},0],"h":5,"s":50,"z":0}],"p":1,"r":[{"i":11},81],"s":[{"c":77,"p":0,"t":[{"r":11}]}],"t":[{"e":12,"t":99}],"u":0},66],"ä":[{"l":0,"m":30,"n":0},90],"b":[{"a":3}],"c":[{"h":[{"t":[{"e":15}]},44]},73],"d":[{"a":3,"i":3}],"e":[{"e":9,"f":[{"f":0}],"i":[{"g":0}],"l":[{"e":68}],"n":[{"a":11,"s":[{"e":270}],"t":[{"n":84}]},2],"p":99,"r":[{"h":23,"k":23,"t":5,"w":68}],"t":[{"a":0,"h":38}],"u":4}],"f":[{"l":38,"r":[{"o":5}],"s":[{"p":[{"r":11}]}],"t":4},73],"g":[{"e":[{"n":[{"s":[{"e":22}]}]}],"i":[{"n":[{"n":4}]}],"l":[{"a":5},9],"r":[{"i":5,"o":[{"s":97}]}]}],"i":[{"c":2,"d":[{"e":0}],"e":[{"n":4}],"n":[{"d":99,"s":[{"e":[{"k":52}],"t":[{"i":[{"n":27}]}]}]}],"s":[{"o":109}]}],"l":[{"i":73}],"m":[{"a":[{"t":[{"t":6}],"u":20}],"e":[{"i":2,"r":[{"n":6}],"t":132}],"u":[{"m":5,"n":5}]}],"n":[{"e":3}],"o":[{"b":[{"l":21}],"f":[{"f":0}],"h":21,"s":[{"t":100},10]},90],"ö":90,"p":16,"r":[{"e":1,"h":5},73],"s":[{"a":[{"c":74,"n":5,"u":18}],"e":[{"r":20}],"o":[{"f":20}],"p":[{"a":5}],"u":[{"n":5}]}],"t":[{"a":[{"i":6},73],"e":[{"i":[{"n":4}]}],"r":[{"o":5}],"s":[{"c":21,"t":44}]},2],"u":77,"z":[{"a":20,"ä":5,"e":[{"c":20,"p":5}],"i":5,"o":[{"p":20}],"t":10,"w":20}]}],"s":[{"a":[{"b":3,"g":[{"i":2}],"m":[{"b":111,"t":84}],"n":[{"g":68,"n":5}],"r":[{"k":1}],"s":[{"t":0},11],"t":[{"e":1}]}],"ä":[{"h":68,"s":99},66],"c":[{"e":68,"h":[{"a":[{"b":84,"k":84}],"e":[{".":77,"f":84,"i":[{"c":50}],"u":164}],"i":77,"m":[{"ü":23}],"u":77,"w":[{"e":[{"r":50}]}]}]}],"e":[{"b":382,"c":99,"e":[{"i":2}],"i":99,"n":[{"s":[{"e":270}],"t":[{"l":84}]}],"p":77,"r":[{"e":[{"c":11}],"l":99,"p":68,"w":0}],"s":[{"e":99}],"x":68}],"i":[{"d":68,"e":[{"r":[{".":4,"s":[{".":33}]}]}],"k":[{"a":[{"t":11}]}],"n":[{"n":0}]}],"k":[{"l":1,"o":84}],"m":84,"o":[{"c":1,"h":0,"l":77,"p":68,"r":[{"c":0}],"u":0},66],"ö":66,"p":[{"a":[{"c":68,"r":[{"t":1}],"s":99}],"e":[{"c":77,"k":77}],"h":68,"i":[{"c":0}],"o":[{"r":5},68],"u":68},66],"r":[{"i":[{"c":[{"h":240}]}]}],"s":[{"a":[{"d":38}],"e":[{"b":38,"g":10,"n":10,"p":5,"r":[{".":7,"f":4,"z":18}],"s":[{"p":6}],"z":5}],"k":4,"o":[{"f":5}],"u":[{"m":5}]}],"t":[{"a":[{"b":68,"d":77,"l":77}],"e":[{"n":5,"r":[{"l":4},5]}],"i":[{"s":77}],"o":[{"r":99}],"r":[{"ä":81,"i":[{"t":84}]}],"u":[{"m":5,"r":99}]}],"u":[{"m":[{"d":68,"g":68,"z":68}],"s":74},66]},73],"ß":[{"u":99},73],"t":[{".":79,"a":[{".":77,"f":77,"l":[{"t":99}],"m":30,"n":[{"s":5}],"p":99,"r":99,"u":[{"t":68}]}],"ä":[{"h":0,"r":68}],"c":1,"e":[{".":77,"d":290,"i":[{".":0,"e":0,"n":0}],"l":[{"a":0}],"n":[{"a":21,"t":68},28],"r":[{"a":[{"l":11}],"e":[{"r":368}],"i":[{"n":[{"g":24}]}],"k":23,"o":[{"s":11}]}],"s":75,"t":5,"v":221,"x":99}],"f":[{"i":21}],"h":[{"a":[{"l":1}],"e":[{"i":1,"l":0}],"i":99,"o":99,"u":68}],"i":[{"d":99,"g":[{"e":[{"l":84}]}],"v":[{"i":2}]}],"l":[{"i":[{"n":10}]}],"o":[{".":77,"c":4,"m":482,"p":[{"a":4,"s":68},9],"r":[{"a":21,"d":68,"e":2,"i":[{"n":11}]}],"u":79}],"ö":[{"l":68}],"r":[{"e":[{"a":1}],"o":[{"u":68}],"ü":1},79],"s":[{"a":[{"u":100}],"ä":[{"u":5}],"c":[{"h":[{"l":6,"m":6,"o":6,"ö":6}]}],"e":[{"r":1}],"k":3,"p":30,"t":[{"a":1,"o":1}]}],"t":[{"a":[{"n":1}],"l":16,"s":94}],"u":[{"b":2,"m":68,"n":[{"e":99},11],"r":[{"e":11,"o":4,"u":33}]}],"z":[{"e":[{"h":5,"n":[{"g":4}],"r":2,"t":5},21],"i":[{"n":20,"s":5}],"ö":5,"w":20},84]},90],"u":[{"m":[{"a":35,"e":21},9]},207],"ü":112,"v":[{"e":[{".":68,"r":[{"ä":4}]}]},112],"w":66,"x":[{"e":5,"o":[{"e":1},5],"t":11},90],"y":[{"o":68},66],"z":[{"e":[{"c":99,"n":[{"e":99}],"r":5},2],"o":[{"f":2,"t":1}],"w":[{"e":0}],"z":3},90]}],"ü":[{"b":[{"ä":0,"c":73,"d":73,"e":[{"l":[{"e":4}],"n":[{"a":11,"e":4}],"r":44,"t":84},2],"l":1,"r":7},70],"c":[{"h":[{"e":66,"l":4,"s":[{"c":71}],"t":[{"e":10}]}],"k":[{"e":[{"n":10,"r":[{"i":4,"k":[{"e":13}]},9]}]}]},73],"d":[{"a":119,"e":[{"l":2,"n":[{"g":21,"s":75}]}],"o":16,"ö":11,"r":1,"s":3,"t":16,"u":2,"w":[{"e":10}]}],"e":[{"b":4,"i":66},5],"f":[{"a":111,"ä":99,"e":[{"i":99,"n":[{"t":68}],"r":[{"g":99},21]}],"f":[{"l":5}],"i":99,"l":1,"o":68,"t":[{"e":[{"n":1}]}],"u":[{"m":68}]}],"g":[{"e":[{"l":[{"a":139,"ä":2,"e":[{"c":11,"i":[{"s":353}]}],"o":2}],"n":[{"s":23}]},5],"l":81,"n":68,"s":1},66],"h":[{"a":3,"e":[{"i":99,"m":[{".":77},184],"n":[{"g":99,"t":99}],"r":[{"f":99,"k":114,"z":114}],"x":68},66],"i":117,"l":[{"ä":0,"e":[{"l":5,"r":2}],"ö":5,"s":[{"k":11,"t":[{"a":11,"i":11}]}]}],"m":[{"o":1}],"n":[{"e":1}],"o":30,"r":[{"e":[{"i":[{".":4}],"n":163},3],"o":0,"t":[{"a":4}]}],"s":[{"p":1,"t":[{"u":1}]},2],"t":[{"a":2,"r":11},1],"u":66,"w":0}],"k":67,"l":[{"a":0,"c":5,"e":[{"f":128,"r":[{"a":483}]},75],"l":[{"a":[{"d":9,"u":9},124],"e":[{"i":5,"r":2,"u":6}],"i":[{"c":5,"d":5,"n":34}],"o":5,"ö":5,"s":21}],"ö":68,"u":66}],"m":[{"a":68,"e":[{"n":[{"t":68}],"r":[{"a":2}]}],"i":[{"d":99,"n":99}],"u":99}],"n":[{"a":128,"d":[{"a":5,"r":5}],"e":[{"r":[{"d":99}]}],"f":[{"l":[{"i":4}]},9],"g":[{"l":38,"s":21}],"s":[{"t":[{"e":[{"r":96}]}]}],"z":[{"a":5,"i":20,"u":[{"n":5},21],"w":5}]},73],"p":[{"e":66,"f":[{"l":4}],"i":66,"p":[{"l":5}]}],"r":[{"a":0,"e":[{"i":99,"l":110}],"f":[{"e":[{"r":20}],"l":5,"r":5}],"g":[{"e":[{"n":[{"g":37}],"r":[{"a":10}]}]}],"k":[{"e":2}],"o":[{"m":21,"r":21},382],"s":[{"t":[{"e":[{"r":6}]}]}],"t":[{"e":[{"l":163}],"h":2}],"z":[{"i":[{"n":20}],"ö":5,"w":20}]},73],"s":[{"a":5,"c":[{"h":[{"l":68}]}],"e":[{"e":94,"l":35,"n":11,"r":62},75],"p":66,"s":[{"a":12,"c":20,"e":2,"o":12,"t":6}],"t":[{"a":169,"e":[{"i":84,"n":21}],"r":68},6],"u":66}],"ß":66,"t":[{"a":[{"l":99},66],"e":[{"m":4,"n":[{"s":23,"t":18,"z":189},11],"r":[{"a":2,"e":28,"i":[{"c":[{"h":307}]}],"n":23}]},66],"h":99,"i":66,"r":1,"s":[{"e":5,"t":20}],"t":[{"e":[{"n":10}],"r":5}],"u":66,"z":[{"e":[{"n":1}],"w":5}]},73],"v":66,"z":66}],"v":[{"a":[{".":74,"b":[{"r":11},90],"c":0,"f":117,"g":[{"a":2,"h":6},1],"l":[{"a":5,"u":73}],"n":[{".":68,"b":73,"g":73,"s":68}],"r":[{"b":73,"m":66}],"s":[{"s":90,"t":[{"o":38}]},2],"t":[{"a":[{"g":6},149],"e":[{"i":5,"n":[{"g":12}],"s":100}],"h":38,"i":[{"d":6,"k":189,"m":6,"n":36,"o":[{"n":[{"s":[{".":27}]}]}]}],"o":[{"r":[{"d":6,"g":6}]}],"r":38,"s":35,"u":20,"z":4},84],"u":90}],"ä":0,"b":90,"c":90,"d":151,"e":[{"a":[{"n":1,"r":1,"u":23}],"b":16,"c":1,"d":1,"f":[{"a":1}],"g":1,"h":1,"i":[{"g":73,"l":68,"n":73,"t":[{"s":132},21]}],"l":[{"a":[{"n":73,"r":2,"u":36},1],"e":[{"i":1},66],"i":3,"o":[{"p":28},1]}],"m":[{"a":1,"e":1,"p":90,"u":103}],"n":[{"a":[{"l":1,"s":6}],"c":2,"e":1,"i":[{"n":6},1],"ö":1,"s":[{"t":33}],"t":[{"a":[{"g":25}],"s":[{"k":10}]}],"ü":1}],"o":[{"f":1},73],"p":[{"i":6}],"r":[{"a":[{"d":1,"l":73,"n":[{"d":1,"e":16}],"s":10},4],"b":[{"a":[{"r":[{"t":24}]}],"l":35}],"d":35,"e":21,"f":10,"g":62,"i":[{"n":6},1],"k":4,"n":21,"s":[{"e":[{"p":11}],"t":[{"a":4}]}],"t":[{"e":33},10],"u":[{"s":1},62]},9],"s":[{"c":73,"e":73,"h":6,"p":36,"t":11},1],"t":[{"a":1,"e":[{"r":23},44],"i":1,"r":1,"s":3}],"ü":73,"v":1,"w":1},385],"f":207,"g":90,"h":90,"i":[{"a":[{"n":0,"r":1,"t":12}],"ä":5,"d":[{"e":1}],"e":[{"h":[{"a":28}],"l":[{"a":100,"e":100},5],"r":[{"e":[{"c":11}]},5],"w":28},74],"g":2,"i":73,"l":[{"a":20,"ä":5,"e":[{"h":349,"i":5,"r":[{"s":6},18]}],"i":[{"n":20}]},68],"m":[{"a":34}],"n":[{"a":6,"d":4,"g":[{"s":100},23],"s":66}],"s":[{"a":1,"e":10,"i":3,"o":3,"p":5,"u":2}],"v":2,"z":[{"e":50},2]}],"k":90,"l":[{"e":77,"i":[{"e":68}]},207],"m":[{"e":5},90],"n":151,"o":[{"b":[{"e":5,"l":11},90],"g":[{"e":[{"l":163}],"u":5}],"l":[{"a":2,"l":[{"a":[{"r":23,"u":[{"f":[{".":134}]}]},11],"e":[{"n":[{"d":50},40],"r":[{"t":40}]}]}]}],"p":90,"r":[{"a":[{"n":[{"s":[{"c":[{"h":[{"l":51}]}]}]}]},12],"g":4,"i":[{"e":6,"g":7},1],"m":[{"e":[{"n":97}]},21],"o":4,"ö":10,"t":10},20],"t":[{"a":2}],"y":9},70],"p":90,"r":[{"a":66,"e":[{"e":68}],"i":83},5],"s":[{"z":77},151],"t":90,"u":[{"e":[{"n":[{"u":5}],"t":5},4],"m":[{"f":73,"g":73,"k":73}]}],"ü":66,"v":90,"w":90,"z":90}],"w":[{"a":[{"a":70,"b":[{"b":[{"l":2}]}],"c":[{"h":[{"e":1,"s":[{"t":[{"u":[{"b":27}]}]}],"t":[{"r":426}]}],"k":70}],"f":[{"f":[{"e":[{"l":96},100]}]}],"g":[{"e":[{"n":10},7],"n":38,"o":1},70],"h":[{"l":[{"e":[{"n":[{"t":50}],"r":11}],"i":28}]},70],"l":[{"a":[{"r":5}],"b":73,"d":[{"a":25,"i":[{"n":11}],"r":2}],"e":[{"s":5}],"i":1,"l":[{"i":[{"n":64}]}],"m":28,"s":21,"t":[{"a":44,"e":[{"r":[{"e":24,"l":24}]}],"o":2,"u":[{"r":11}]}]},70],"n":[{"a":1,"d":[{"a":139,"r":2}],"f":77,"g":[{"e":35,"s":10},73],"n":70,"z":[{"e":[{"n":[{"d":397}],"r":11}]}]}],"p":5,"r":[{"e":[{"i":44,"n":7},429],"n":[{"i":11},70],"t":[{"e":10,"h":2}],"z":[{"a":2}]}],"s":[{"a":1,"c":[{"h":[{"a":6,"e":1,"i":1,"l":252,"w":6}]},2],"h":1,"s":[{"e":389},4],"u":1},70]},68],"ä":[{"h":70,"l":70,"m":4,"n":[{"g":73}],"s":[{"c":2,"s":[{"e":10}]},70],"u":72},68],"b":[{"u":2},151],"c":90,"d":90,"e":[{"a":5,"b":[{"a":20,"e":[{"i":44}],"l":38,"o":5,"r":38}],"e":[{"d":23},167],"f":[{"l":5}],"g":[{"a":20,"e":[{"i":36,"r":[{"s":[{"c":33}]}]}],"l":12,"n":6,"o":123,"r":12,"s":[{"a":35},9]},70],"h":[{"r":[{"e":[{"r":484}]}]},70],"i":[{"b":[{"l":2,"r":10}],"e":73,"f":[{"e":[{"l":[{"d":40}]}],"r":[{"e":11}]}],"g":[{"r":2}],"k":62,"l":70,"n":[{"s":[{"a":[{"u":307}]}]}],"s":[{"c":4,"s":[{"e":[{"l":52}],"p":[{"i":52}]}]}],"t":[{"r":28,"s":44}],"z":[{"e":33}]}],"l":[{"l":[{"e":18}],"s":[{"c":[{"h":[{"l":24,"r":24}]}]}],"t":[{"a":189,"e":[{"n":[{"d":397}]},18],"h":11,"i":23,"r":23},28]}],"m":[{"m":[{"a":203}]}],"n":[{"a":35,"g":[{"l":2}],"i":3,"k":[{"a":2,"l":[{"a":11}],"r":[{"i":25}]}]}],"r":[{"a":115,"b":[{"e":[{"i":15},33],"l":2,"s":21,"u":70}],"d":[{"e":[{"n":[{"s":176}]}],"u":70},35],"e":[{"r":100}],"f":[{"l":2}],"g":[{"a":2,"e":[{"l":[{"s":24}]}],"o":162,"r":2},73],"i":[{"n":[{"s":1},100],"o":124}],"k":[{".":70,"a":28,"e":70,"i":2,"l":162,"n":2,"o":162,"r":[{"e":25}],"u":2}],"ö":5,"s":[{"t":[{"a":11}]}],"t":[{"a":2,"ä":2,"e":[{"i":[{"g":24},23],"r":[{"m":42}]}],"h":2,"i":[{"n":11}],"o":139,"r":[{"e":11,"i":25}],"u":[{"m":11}]}]}],"s":[{"e":[{"n":[{"s":195}]},85],"p":5,"t":[{"a":485,"e":[{"i":301,"n":[{".":7,"d":486,"s":7}],"u":6}],"i":6,"o":387,"r":172,"u":6},11]}],"t":[{"s":73,"t":[{"s":23}]},70],"y":90}],"f":90,"g":90,"h":[{"i":2,"o":77}],"i":[{"c":[{"h":[{"t":[{"s":18}]}]}],"d":70,"e":[{"b":73,"d":70,"l":35,"n":[{"e":35}],"s":[{"t":2}]},5],"k":2,"l":[{"d":70}],"m":[{"m":[{"a":2,"e":[{"n":[{"t":24}]}],"u":25}]}],"n":[{"a":2,"d":[{"e":[{"c":25,"l":4,"r":[{"z":42}]}],"r":487}],"g":[{"r":162},73],"k":[{"l":2}],"n":[{"e":[{"r":[{"s":[{"c":259}]}]}],"o":2,"u":[{"m":11}]}],"s":4,"t":21}],"r":[{"e":23},488],"s":[{"c":[{"h":[{"l":15}]}],"e":3,"p":5,"s":[{"z":10},70],"t":1}],"t":[{"h":1,"z":[{".":70,"l":70}]}],"z":2},68],"k":90,"l":90,"m":90,"n":[{"s":[{"a":2,"h":1}]},73],"o":[{"c":[{"h":[{"a":5,"e":468}]},87],"h":[{"l":[{"e":[{"i":11}]}],"n":[{"a":11}]},70],"l":[{"f":[{"s":21},70],"l":[{"a":11,"ä":2,"e":[{"r":11}]}]}],"r":[{"a":4,"d":4,"i":12,"n":21,"t":[{"a":44,"e":[{"l":11,"r":[{"h":24}]}],"r":162,"s":100}],"u":12,"ü":4}],"t":2}],"ö":[{"c":70,"l":[{"f":[{"o":2}]}],"r":[{"t":[{"h":21}]}]}],"p":90,"r":[{"e":77,"o":77},68],"s":[{"e":5,"h":75,"k":75,"u":111},90],"t":[{"i":2},90],"u":[{"c":[{"h":[{"s":[{"c":10,"t":10}]}]},70],"f":75,"l":[{"s":[{"e":4},21]}],"n":[{"d":[{"e":10}],"g":[{"r":23,"s":246}],"s":[{"c":[{"h":[{"l":245}]}]},2]}],"r":[{".":79,"f":[{"a":2,"o":28,"r":2}],"s":[{"t":70},10]}],"s":11,"t":489},68],"ü":[{"h":70,"r":[{"f":70,"s":[{"t":70}]}],"s":11}],"w":90,"z":90}],"x":[{"a":[{".":70,"b":76,"c":80,"d":80,"e":70,"f":[{"l":0}],"g":490,"l":[{"l":2},73],"m":5,"n":[{"d":10,"e":70,"i":70,"t":198,"z":68}],"r":5,"s":80,"z":5},66],"b":207,"c":[{"e":66,"h":66,"l":66}],"d":[{"a":2},191],"e":[{".":74,"g":207,"k":73,"l":[{".":74,"e":[{"i":1},66]},5],"m":[{".":83,"p":73,"s":68},66],"n":[{".":74,"s":35},68],"r":[{".":83,"e":68,"l":[{"a":2},90],"n":68,"s":[{".":68},21]}],"s":74,"u":90,"x":90},70],"f":90,"g":90,"h":90,"i":[{"c":[{"h":21},0],"d":[{"a":[{"n":5}],"e":[{"i":5,"m":38},21],"o":67},73],"e":[{"l":4},83],"g":1,"l":[{"e":[{"r":5}],"i":[{"a":23}],"o":5,"u":20}],"m":2,"n":[{"s":35}],"s":[{"a":5,"e":20,"p":5,"s":138,"t":[{"ä":3}],"u":5},68],"t":[{"u":112},74],"v":[{"e":10}]}],"j":66,"k":[{"a":[{"l":21}]},239],"l":[{"ä":77,"e":77},491],"m":90,"n":90,"o":[{"d":73,"e":158,"r":67,"s":2}],"ö":151,"p":[{"o":[{"r":[{"t":[{"e":[{"r":52}],"r":116}]}]}]},191],"q":66,"r":66,"s":161,"t":[{"a":[{".":77,"b":162,"n":[{"t":5},77],"s":77},0],"ä":[{"t":77},99],"b":[{"l":[{"o":[{"c":[{"k":271}]}]}]}],"e":[{"d":110,"i":[{"n":0}],"l":99,"n":[{"t":68}],"r":[{"f":114}],"v":99}],"f":[{"i":21}],"h":99,"i":[{"d":99,"l":[{"a":2,"l":92}]}],"o":131,"r":[{"a":[{"b":206,"n":81,"u":68}],"e":[{"c":1}]}],"s":3,"u":[{"m":99,"n":99}]},191],"u":[{"a":0,"n":[{"t":73},5],"s":[{"a":21,"s":21},38]},70],"v":73,"w":90,"y":[{".":74}],"z":66}],"y":[{"a":[{"b":90,"c":[{"h":68},385],"h":0,"l":[{".":66}],"n":[{"g":2,"k":66}],"q":0,"r":[{"a":1}]}],"ä":[{"t":66}],"b":[{"e":[{"r":2}]},66],"c":[{"h":[{"i":[{"s":77},68],"n":4}]},66],"d":[{"r":[{"i":[{"d":15},21],"o":23},6]},66],"e":[{"c":68,"d":5,"f":68,"l":109,"n":[{"n":11}],"r":[{"a":21,"e":68,"n":28}],"s":[{".":84,"p":3,"t":6},221],"t":[{"h":5}]},66],"f":67,"g":[{"i":[{"e":23},2],"l":5},66],"h":[{"o":77,"r":2},66],"i":207,"j":66,"k":[{"e":[{"n":4}],"s":1},67],"l":[{"a":[{"g":38,"k":67,"l":11,"m":68,"n":[{"e":1,"t":[{"e":6,"i":6},66]}],"s":5,"u":21},30],"c":1,"e":[{".":68,"m":0,"s":99,"t":99},11],"i":[{"n":11}],"l":[{"o":[{"s":45}],"ö":34}],"o":[{"i":[{"d":15},94],"n":[{"i":132}],"p":5,"r":[{"a":0}]}]}],"m":[{"a":[{"n":6,"r":6,"s":6},5],"e":6,"p":[{"h":[{"a":5}],"i":[{"e":44}]},2]}],"n":[{"ä":[{"r":11}],"e":[{"u":5}],"k":2,"o":[{"z":5},110],"t":3}],"o":[{"b":2,"d":68,"g":[{"a":23}],"m":2,"n":[{"a":2,"t":66}],"p":[{"e":67}],"s":[{"t":68}],"u":66}],"p":[{"a":[{"b":162,"n":2}],"e":[{"r":[{"o":492}]},167],"f":68,"i":[{"d":110,"n":99}],"l":[{"o":68}],"o":153,"s":128,"t":[{"h":1}],"u":[{"m":99},2]},90],"q":66,"r":[{"e":75,"i":[{"e":[{"n":4},9]},77],"o":[{"s":[{"t":[{"e":11}]}]},77],"r":2},66],"s":[{"a":[{"n":5}],"c":[{"h":10}],"e":[{"i":[{"n":100}],"r":0},20],"l":128,"m":[{"e":23}],"o":5,"p":[{"i":5}],"t":[{"e":2,"h":2,"r":[{"a":5,"o":84}],"y":75}],"u":2,"z":75},90],"t":[{"e":[{".":68,"s":68}],"h":[{"e":44},5],"o":[{"s":21},77],"r":128},66],"u":[{"r":[{"e":162},5]}],"v":66,"w":66,"y":66,"z":[{"e":[{"r":[{"i":21}]}]},67]}],"z":[{"a":[{"b":[{"l":4},151],"c":[{"h":[{"a":0,"ä":0,"s":21},90]}],"d":151,"f":90,"g":[{"r":1}],"h":[{"l":[{"e":[{"n":4}]}],"n":[{"e":[{"r":339}]}]},83],"k":[{"k":126},66],"l":[{"d":126,"i":74},90],"m":151,"n":[{"a":493,"b":72,"e":1,"f":72,"g":[{"s":72}],"k":[{"a":2},83],"l":77,"r":72,"t":[{"i":132}]},67],"p":[{"f":6}],"q":66,"r":[{".":74,"b":73,"e":1,"m":73,"o":83,"r":68,"t":[{"r":28}]},66],"s":[{"t":53},90],"ß":90,"t":[{"e":2,"o":5},77],"u":[{"b":74,"f":316,"g":72,"n":74,"r":77,"t":90}]}],"ä":[{"c":90,"h":[{"n":74},68],"m":90,"n":66,"p":66,"r":66,"u":[{"s":90,"ß":73}]}],"b":[{"e":[{"r":[{"e":21}]}],"ü":[{"b":[{"e":15},9]}]},304],"c":72,"d":[{"a":[{"n":21}],"ä":9},161],"e":[{".":74,"a":73,"b":[{"e":[{"n":151}]}],"c":[{"h":[{"o":90}]}],"e":[{"u":23},30],"f":[{"f":90}],"g":[{"a":67}],"h":[{"e":[{"n":132},10],"l":2,"o":1}],"i":[{"f":185,"k":10,"l":[{"a":4,"e":18},21],"n":[{".":1,"d":99,"e":11,"h":126,"s":[{"e":1}]},90],"s":[{"k":4,"t":4},34],"t":[{"a":28,"e":[{"r":25}],"o":2,"r":[{"i":23},2]},74]}],"k":11,"l":[{"a":[{"d":21,"n":35,"u":100},20],"ä":20,"d":62,"e":[{"k":194,"m":79,"n":5,"r":20}],"i":[{"n":20,"t":151}],"l":[{"a":[{"b":11,"c":25,"r":11},4],"ä":2,"e":[{"h":11,"i":[{"n":24}],"r":[{"t":353,"z":40}]}],"i":[{"n":18}],"u":[{"m":11}]}],"m":10,"o":20,"s":[{"a":4,"z":4},21],"t":[{"i":2}],"u":21}],"m":[{"b":[{"e":100}],"p":90}],"n":[{".":176,"a":[{"c":36,"s":6,"u":4}],"ä":5,"e":[{"m":3,"n":132}],"g":[{"e":[{".":79}],"l":84,"p":73}],"i":[{"d":5},73],"k":21,"n":4,"o":[{"t":6},38],"s":[{"e":[{"m":242,"r":11}],"p":21}],"t":[{"n":68,"s":66,"w":73,"z":73}],"u":5,"z":[{"e":[{"r":25}],"w":2}]}],"o":[{"r":11}],"r":[{".":83,"a":[{"l":0,"t":5},4],"e":[{"k":7,"m":2},68],"f":[{"e":68,"ü":[{"l":77}]}],"g":[{"a":68,"ä":90,"e":[{"b":126,"s":84}],"l":84,"o":[{"n":11}],"u":79}],"h":[{"e":83,"ö":72}],"i":[{"n":[{"t":[{"e":13}]}]},1],"k":[{"o":68}],"l":[{".":74,"a":[{"u":11}],"e":[{".":11,"b":79,"n":11}],"ö":73}],"n":[{"a":[{"n":11}],"e":[{"b":302,"i":11}]},83],"ö":[{"f":2},90],"q":90,"r":[{"e":[{"g":126}]}],"s":[{".":68,"a":494}],"t":[{"a":[{"g":25,"n":10,"u":11},100],"e":[{"r":[{"e":24,"l":24}]}],"i":[{"n":11}],"o":2,"r":[{"a":[{"g":211,"u":24}]}]}],"w":[{"e":[{"i":79},66]}],"z":[{"e":2},66]}],"s":[{".":83,"c":1,"e":[{"r":4},9],"p":[{"o":12}],"s":[{"a":2,"e":[{"n":[{"d":42},97],"r":339}],"p":2}],"t":[{"a":1,"h":2,"r":1}]},5],"ß":20,"t":[{".":68,"a":73,"h":76,"r":5,"t":[{"s":73}]}],"u":[{"g":[{"e":[{"m":11}],"r":162}],"l":90,"r":0}],"x":251}],"f":[{"e":[{"u":[{"e":100}]}]},136],"g":[{"e":[{"r":[{"a":21,"s":159}]}]},136],"h":[{"e":[{"n":68}],"i":[{"r":23}]},151],"i":[{".":74,"a":[{"l":[{"l":50,"o":1}],"r":5}],"c":[{"h":[{"o":21}]}],"d":[{"e":[{"i":5}],"r":4}],"e":[{"l":[{"e":[{"r":11}],"i":28}],"r":[{"h":0}],"s":[{"s":1},0]}],"g":74,"l":[{"e":2},68],"m":[{"m":68,"p":73,"t":162}],"n":[{"d":90,"e":[{"i":4},2],"f":90,"h":66,"i":[{"n":12,"t":9}],"j":90,"n":[{"a":11}],"o":11,"s":[{"a":2,"e":[{"r":11}],"u":[{"f":79}]}]}],"o":38,"r":[{"k":[{"s":52},21]}],"s":[{"o":66,"p":5,"s":[{"e":18}],"t":11,"z":3}],"t":[{"e":10,"h":[{"e":100}],"o":123,"u":2}],"v":2}],"j":90,"k":238,"l":[{"y":77},151],"m":[{"e":[{"e":2}]},161],"n":161,"o":[{"a":[{"s":77}],"b":90,"f":90,"g":[{"l":5,"s":11}],"h":90,"l":[{"l":[{"a":100,"e":[{"n":4,"r":97}],"i":203}]}],"n":[{"a":[{"l":100,"u":4}],"s":62,"t":[{"e":[{"r":25}]}]}],"o":5,"p":[{"e":90}],"r":[{"e":1,"n":[{"e":11},83]},151],"s":[{"z":90}],"u":90,"z":151}],"ö":[{"f":76,"k":90,"l":[{".":73,"l":83,"s":73},66],"n":73}],"p":136,"q":90,"r":161,"s":[{"a":[{"u":21},77],"h":77,"k":77,"p":[{"o":[{"r":100}]}],"t":[{"r":77},79],"z":77},151],"t":[{"a":[{"n":[{"e":1},2],"u":99}],"e":[{"i":[{"n":[{"s":1},132]}],"l":5,"m":[{"a":4}],"n":[{"t":99}],"r":[{"z":99}],"s":[{"t":[{"r":4}]},77],"t":5}],"h":[{"e":[{"m":77,"r":75},0],"i":0,"o":1,"r":77,"y":77}],"r":[{"e":[{"c":1}],"i":[{"c":1}]}],"s":1},90],"u":[{"a":1,"ä":30,"b":11,"c":[{"h":[{"e":21,"t":[{"r":15}]}]},74],"d":[{"i":10},11],"e":[{"l":5,"r":367,"t":2}],"f":16,"g":[{"e":[{"m":2,"n":[{"t":6}]}],"i":2,"l":[{"a":6,"ö":6},1],"o":5,"s":[{"t":[{"e":11}]}]}],"h":[{"r":90,"u":1}],"i":30,"k":1,"l":2,"m":[{".":90,"a":2,"b":90,"e":[{"n":100}],"f":73,"g":73,"i":2,"k":73,"l":73,"r":73,"s":90,"u":2}],"n":[{"a":[{"b":73}],"e":[{"m":90},2],"g":[{"e":[{"t":79}],"l":73}],"i":[{"o":76,"v":73},66],"r":73,"s":90,"t":73}],"o":2,"p":[{"f":[{"i":2}],"l":1}],"r":[{"a":3,"k":90,"l":90,"n":90,"s":90,"t":90}],"s":[{"c":[{"h":18}]},3],"t":[{"r":11,"u":11,"z":4},3],"z":2}],"ü":[{"b":333,"c":74,"r":[{"c":9}]}],"v":90,"w":[{"a":[{"c":66,"g":73,"h":79,"p":79,"r":66,"s":104}],"ä":[{"s":73}],"e":[{"d":90,"g":73,"h":73,"i":[{"g":68,"l":73,"t":[{"e":[{"r":307}]}]}],"l":90,"n":90,"r":90,"s":90}],"i":[{"c":68,"e":11,"n":[{"g":74}],"r":[{"t":73}],"s":[{"c":68,"s":73}],"t":68}],"o":90,"ö":[{"r":66}],"u":[{"r":66}],"ü":90},5],"y":[{"a":[{"n":[{".":0}]}],"l":[{"e":5}]}],"z":[{"a":[{"b":62,"l":128,"t":6},75],"e":[{"s":4}],"i":[{"d":99,"n":495}],"ö":5,"u":[{"g":[{"s":10}]}]},90]}]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/9141.adapter.js b/public/tools/cloud_sheets/vendor/univer/9141.adapter.js new file mode 100644 index 0000000..739221a --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/9141.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[9141],{9141(n,r,s){s.r(r),s.d(r,{It:()=>t});const t=["032,00001,000032,0001,0043,0000021,0000001,0023,021,000023,00003,0032,000001,002,02,0012,000203,00021,22,01,2,1,202,232,023,32,0223,12,23,043,4,21",'{".":[{"a":[{"p":[{"n":0}],"n":[{"t":[{"i":[{"m":[{"n":2}]},1]}]}]}],"b":[{"i":[{"o":3}]}],"c":[{"a":[{"p":[{"s":4}]}],"i":[{"r":[{"c":[{"u":[{"m":5}]}]}]}],"o":[{"n":[{"t":[{"r":[{"o":6}]}]}]}]},14],"d":[{"i":[{"s":[{"c":[{"i":[{"n":[{"e":7}]}]}]}]}]},14],"e":[{"x":[{"e":[{"u":8}]}]}],"f":[{"r":[{"a":[{"n":[{"k":9}]}],"e":[{"e":10}]}]}],"l":[{"i":[{"p":[{"s":[{"a":11}]}]}]}],"n":[{"a":[{"r":[{"c":[{"o":12}]}]}]}],"o":[{"p":[{"t":[{"o":1}]}],"r":[{"t":[{"o":[{"p":2}]}]}]}],"p":[{"a":[{"r":[{"a":1}]}],"h":[{"l":13,"r":13}],"o":[{"l":[{"i":[{"p":2}]}]}],"r":[{"e":3}],"s":14}],"r":[{"e":[{"i":[{"s":[{"c":[{"r":15}]}]}]}]}],"s":[{"h":[{"a":[{"r":[{"e":16}]}]}],"u":[{"b":[{"l":[{"u":7}],"r":7}]}]}],"t":[{"r":[{"a":[{"n":[{"s":[{"c":9,"d":9,"l":9,"n":9,"p":9,"r":9,"t":9}]}]}]}]},14],"w":[{"a":[{"g":[{"n":7}]}],"e":[{"l":[{"t":17}]}]}],"h":14,"j":14,"k":14,"z":14}],"\'":18,"a":[{"i":[{"a":19,"e":19,"o":19,"u":19}],"u":[{"o":19}],"y":[{"a":19}],"t":[{".":20}]}],"e":[{"i":[{"u":19}],"w":14}],"o":[{"i":[{"a":19,"e":19,"o":19,"u":19}]}],"b":[{"b":20,"c":20,"d":20,"f":20,"m":20,"n":20,"p":20,"s":20,"t":20,"v":20,"l":14,"r":14,".":20,"\'":20},21],"c":[{"b":20,"c":20,"d":20,"f":20,"k":20,"m":20,"n":20,"q":20,"s":20,"t":20,"z":20,"h":[{"h":20,".":20,"\'":[{".":20,"\'":[{".":20}]}],"b":20,"r":13,"n":20},14],"l":14,"r":14,".":20,"\'":20},21],"d":[{"b":20,"d":20,"g":20,"l":20,"m":20,"n":20,"p":20,"r":14,"s":20,"t":20,"v":20,"w":20,".":20,"\'":20},21],"f":[{"b":20,"g":20,"f":20,"n":20,"l":14,"r":14,"s":20,"t":20,".":20,"\'":20},21],"g":[{"b":20,"d":20,"f":20,"g":20,"h":[{"t":22},14],"l":14,"m":20,"n":14,"p":20,"r":14,"s":20,"t":20,"v":20,"w":20,"z":20,".":20,"\'":20},21],"h":[{"b":20,"d":20,"h":20,"i":[{"p":[{"n":11}]}],"l":14,"m":20,"n":20,"r":20,"v":20,".":20,"\'":20},21],"j":[{".":20,"\'":20},21],"k":[{"g":20,"f":20,"h":14,"k":20,"l":14,"m":20,"r":14,"s":20,"t":20,".":20,"\'":20},21],"l":[{"b":20,"c":20,"d":20,"f":23,"g":20,"h":14,"j":14,"k":20,"l":20,"m":20,"n":20,"p":20,"q":20,"r":20,"s":20,"t":20,"v":20,"w":20,"z":20,".":20,"\'":[{".":20,"\'":20}]},21],"m":[{"b":20,"c":20,"f":20,"l":20,"m":20,"n":20,"p":20,"q":20,"r":20,"s":20,"t":20,"v":20,"w":20,".":20,"\'":20},21],"n":[{"b":20,"c":20,"d":20,"f":20,"g":[{"n":24},20],"k":20,"l":20,"m":20,"n":20,"p":20,"q":20,"r":20,"s":[{"f":[{"e":[{"r":24}]}]},20],"t":20,"v":20,"z":20,"h":[{"e":[{"i":[{"t":20}]}]}],".":20,"\'":20},21],"p":[{"d":20,"h":14,"l":14,"n":[{"e":25},20],"p":20,"r":14,"s":[{"i":[{"c":25}]},20],"t":20,"z":20,".":20,"\'":20},21],"q":[{"q":20,".":20,"\'":20},21],"r":[{"b":20,"c":20,"d":20,"f":20,"h":14,"g":20,"k":20,"l":20,"m":20,"n":20,"p":20,"q":20,"r":20,"s":20,"t":[{"s":26},20],"v":20,"x":20,"w":20,"z":20,".":20,"\'":20},21],"s":[{"h":[{"m":20,".":20,"\'":20}],"s":[{"m":29},28],"p":[{"n":23}],"t":[{"b":20,"c":20,"d":20,"f":20,"g":20,"m":20,"n":20,"p":20,"s":20,"t":20,"v":20}],"z":20,".":30,"\'":[{".":30,"\'":30}]},27],"t":[{"b":20,"c":20,"d":20,"f":20,"g":20,"h":[{".":20},14],"l":14,"m":20,"n":20,"p":20,"r":14,"s":[{"c":[{"h":25}]},14],"t":[{"s":24},20],"v":20,"w":20,"z":[{"k":20,"s":13},14],".":20,"\'":[{".":20,"\'":20}]},21],"v":[{"c":20,"l":14,"r":14,"v":20,".":20,"\'":[{".":20,"\'":20}]},21],"w":[{"h":14,"a":[{"r":13}],"y":31,".":20,"\'":20},21],"x":[{"b":20,"c":20,"f":20,"h":20,"m":20,"p":20,"t":20,"w":20,".":20,"\'":20},21],"y":[{"o":[{"u":19}],"i":19}],"z":[{"b":20,"d":20,"l":20,"n":20,"p":20,"t":20,"s":20,"v":20,"z":20,".":20,"\'":[{".":20,"\'":20}]},21]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/9223.adapter.js b/public/tools/cloud_sheets/vendor/univer/9223.adapter.js new file mode 100644 index 0000000..be3c431 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/9223.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[9223],{9223(s,o,e){e.r(o),e.d(o,{As:()=>n});const n=["22,11,01,1,21",'{"‍":0,"‌":1,"অ":2,"আ":2,"ই":2,"ঈ":2,"উ":2,"ঊ":2,"ঋ":2,"ৠ":2,"ঌ":2,"ৡ":2,"এ":2,"ঐ":2,"ও":2,"ঔ":2,"া":2,"ি":2,"ী":2,"ু":2,"ূ":2,"ৃ":2,"ৄ":2,"ৢ":2,"ৣ":2,"ে":2,"ৈ":2,"ো":2,"ৌ":2,"়":0,"ৗ":2,"ক":3,"খ":3,"গ":3,"ঘ":3,"ঙ":3,"চ":3,"ছ":3,"জ":3,"ঝ":3,"ঞ":3,"ট":3,"ঠ":3,"ড":3,"ড়":3,"ঢ":3,"ঢ়":3,"ণ":3,"ত":3,"থ":3,"দ":3,"ধ":3,"ন":3,"প":3,"ফ":3,"ব":3,"ভ":3,"ম":3,"য":3,"য়":3,"র":3,"ল":3,"শ":3,"ষ":3,"স":3,"হ":3,"ৎ":2,"ঃ":4,"ং":4,"ঁ":4,"ঽ":4,"্":0}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/9299.adapter.js b/public/tools/cloud_sheets/vendor/univer/9299.adapter.js new file mode 100644 index 0000000..cdc2a33 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/9299.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[9299],{9299(s,o,e){e.r(o),e.d(o,{Be:()=>n});const n=["81,01,05,03,08,8,008,02,61,601,0008,00008,0036,00036,00236,000236,0000236,00000236,007,0007,0087,00087,00083,000083,00000083,000000083,0000078,000018,0018,00058,00078,00018,00081,000081,0000038,0038,00038,0058",'{"-":[{"а":[{"д":[{"б":13,"в":13,"г":13,"ґ":13,"д":13,"к":13,"л":13,"м":13,"н":13,"п":13,"р":13,"с":13,"т":13,"ф":13,"х":13,"ц":13,"ч":13,"ш":13,"ж":[{"а":[{"л":19,"т":19,"ц":19,"ў":19,"р":19}],"л":[{"у":[{"к":[{"ц":19,"ч":19}]}]}],"ы":[{"в":19,"л":19,"н":19,"т":19,"ц":[{"ь":19}],"ў":19}]}],"з":[{"а":[{"в":19}],"в":[{"а":[{"н":19}],"о":[{"н":19}]}],"н":[{"а":[{"к":19,"ч":19,"ц":19}]}],"ы":[{"в":[{"а":19}],"ў":[{"н":19}]}]}]}],"б":[{"б":13,"в":13,"г":13,"ґ":13,"д":13,"ж":13,"з":13,"к":13,"л":13,"м":13,"н":13,"п":13,"р":13,"с":13,"т":13,"ф":13,"х":13,"ц":13,"ч":13,"ш":13}]},6],"е":6,"ё":6,"і":6,"о":6,"у":[{"з":[{"б":13,"в":13,"г":13,"ґ":13,"д":13,"ж":13,"з":13,"к":13,"л":13,"м":13,"н":13,"п":13,"р":13,"с":13,"т":13,"ф":13,"х":13,"ц":13,"ч":13,"ш":13}],"с":[{"б":13,"в":13,"г":13,"ґ":13,"д":13,"ж":13,"з":13,"к":13,"л":13,"м":13,"н":13,"п":13,"р":13,"с":13,"т":13,"ф":13,"х":13,"ц":13,"ч":13,"ш":13}]},6],"ы":6,"э":6,"ю":6,"я":6,"б":[{"б":10,"в":10,"г":10,"ґ":10,"д":10,"ж":10,"з":10,"к":10,"л":10,"м":10,"н":10,"п":10,"р":10,"с":10,"т":10,"ф":10,"х":10,"ц":10,"ч":10,"ш":10,"ь":10,"\'":10,"я":[{"з":[{"б":15,"в":15,"г":15,"ґ":15,"д":15,"ж":15,"з":15,"к":15,"л":15,"м":15,"н":15,"п":15,"р":15,"с":15,"т":15,"ф":15,"х":15,"ц":15,"ч":15,"ш":15}],"с":[{"б":15,"в":15,"г":15,"ґ":15,"д":15,"ж":15,"з":15,"к":15,"л":15,"м":15,"н":15,"п":15,"р":15,"с":15,"т":15,"ф":15,"х":15,"ц":15,"ч":15,"ш":15}]}],"е":[{"з":[{"б":15,"в":15,"г":15,"ґ":15,"д":15,"ж":15,"з":15,"к":15,"л":15,"м":15,"н":15,"п":15,"р":15,"с":15,"т":15,"ф":15,"х":15,"ц":15,"ч":15,"ш":15}],"с":[{"б":15,"в":15,"г":15,"ґ":15,"д":15,"ж":15,"з":15,"к":15,"л":15,"м":15,"н":15,"п":15,"р":15,"с":15,"т":15,"ф":15,"х":15,"ц":15,"ч":15,"ш":15}]}]},6],"в":[{"б":10,"в":10,"г":10,"ґ":10,"д":10,"ж":10,"з":10,"к":10,"л":10,"м":10,"н":10,"п":10,"р":10,"с":10,"т":10,"ф":10,"х":10,"ц":10,"ч":10,"ш":10,"ь":10,"\'":10,"ы":[{"к":[{"л":[{"ю":[{"ч":31}]}]}]}]},6],"г":[{"б":10,"в":10,"г":10,"ґ":10,"д":10,"ж":10,"з":10,"к":10,"л":10,"м":10,"н":10,"п":10,"р":10,"с":10,"т":10,"ф":10,"х":10,"ц":10,"ч":10,"ш":10,"ь":10,"\'":10},6],"ґ":[{"б":10,"в":10,"г":10,"ґ":10,"д":10,"ж":10,"з":10,"к":10,"л":10,"м":10,"н":10,"п":10,"р":10,"с":10,"т":10,"ф":10,"х":10,"ц":10,"ч":10,"ш":10,"ь":10,"\'":10},6],"д":[{"б":10,"в":[{"у":[{"х":23}]},10],"г":10,"ґ":10,"д":10,"ж":10,"з":10,"к":10,"л":10,"м":10,"н":10,"п":10,"р":10,"с":10,"т":10,"ф":10,"х":10,"ц":10,"ч":10,"ш":10,"\'":10},6],"ж":[{"б":10,"в":10,"г":10,"ґ":10,"д":10,"ж":10,"з":10,"к":10,"л":10,"м":10,"н":10,"п":10,"р":10,"с":10,"т":10,"ф":10,"х":10,"ц":10,"ч":10,"ш":10,"\'":10},6],"з":[{"б":10,"в":10,"г":10,"ґ":10,"д":10,"ж":10,"з":10,"к":10,"л":10,"м":10,"н":10,"п":10,"р":10,"с":10,"т":10,"ф":10,"х":10,"ц":10,"ч":10,"ш":10,"ь":10,"\'":10},6],"к":[{"б":10,"в":10,"г":10,"ґ":10,"д":10,"ж":10,"з":10,"к":10,"л":10,"м":10,"н":10,"п":10,"р":10,"с":10,"т":10,"ф":10,"х":10,"ц":10,"ч":10,"ш":10,"ь":10,"\'":10},6],"л":[{"б":10,"в":10,"г":10,"ґ":10,"д":10,"ж":10,"з":10,"к":10,"л":10,"м":10,"н":10,"п":10,"р":10,"с":10,"т":10,"ф":10,"х":10,"ц":10,"ч":10,"ш":10,"ь":10,"\'":10},6],"м":[{"б":10,"в":10,"г":10,"ґ":10,"д":10,"ж":10,"з":10,"к":10,"л":10,"м":10,"н":10,"п":10,"р":10,"с":10,"т":10,"ф":10,"х":10,"ц":10,"ч":10,"ш":10,"ь":10,"\'":10},6],"н":[{"б":10,"в":10,"г":10,"ґ":10,"д":10,"ж":10,"з":10,"к":10,"л":10,"м":10,"н":10,"п":10,"р":10,"с":10,"т":10,"ф":10,"х":10,"ц":10,"ч":10,"ш":10,"ь":10,"\'":10,"е":10,"я":10,"а":[{"д":[{"б":15,"в":15,"г":15,"ґ":15,"д":15,"к":15,"л":15,"м":15,"н":15,"п":15,"р":15,"с":15,"т":15,"ф":15,"х":15,"ц":15,"ч":15,"ш":15,"з":[{"в":[{"ы":[{"ч":[{"а":[{"й":21}]}]}]}],"е":[{"м":[{"н":21}]}]}]}]}]},6],"п":[{"б":10,"в":10,"г":10,"ґ":10,"д":10,"ж":10,"з":10,"к":10,"л":10,"м":10,"н":10,"п":10,"р":[{"а":[{"з":[{"б":16,"в":16,"г":16,"ґ":16,"д":16,"ж":16,"з":16,"к":16,"л":16,"м":16,"н":16,"п":16,"р":16,"с":16,"т":16,"ф":16,"х":16,"ц":16,"ч":16,"ш":16}]}]},10],"с":10,"т":10,"ф":10,"х":10,"ц":10,"ч":10,"ш":10,"ь":10,"\'":10,"а":[{"д":[{"б":15,"в":15,"г":15,"ґ":15,"д":15,"к":15,"л":15,"м":15,"н":15,"п":15,"р":15,"с":15,"т":15,"ф":15,"х":15,"ц":15,"ч":15,"ш":15,"ж":[{"а":[{"р":21}],"ы":[{"в":21,"ц":[{"ь":21}],"ў":21,"л":21}]}],"з":[{"а":[{"в":21,"г":[{"а":[{"л":[{"о":[{"в":[{"а":21}],"ў":21}]}]}]}],"к":[{"у":[{"с":21,"ш":21}]}],"р":[{"а":[{"б":21}],"о":[{"б":21}]}]}],"е":[{"м":[{"н":21}]}],"я":[{"м":[{"е":21}]}],"о":[{"р":21}],"ы":[{"в":[{"а":21}]}]}]}],"г":[{"л":[{"я":[{"д":[{"з":36}]}]}]}]}],"е":[{"р":[{"а":[{"д":[{"б":17,"в":17,"г":17,"ґ":17,"д":17,"к":17,"л":17,"м":17,"н":17,"п":17,"р":17,"с":17,"т":17,"ф":17,"х":17,"ц":17,"ч":17,"ш":17}]}]}]}]},6],"р":[{"б":10,"в":10,"г":10,"ґ":10,"д":10,"ж":10,"з":10,"к":10,"л":10,"м":10,"н":10,"п":10,"р":10,"с":10,"т":10,"ф":10,"х":10,"ц":10,"ч":10,"ш":10,"\'":10,"а":[{"з":[{"б":15,"в":15,"г":15,"ґ":15,"д":15,"ж":15,"з":15,"к":15,"л":15,"м":15,"н":15,"п":15,"р":15,"с":15,"т":15,"ф":15,"х":15,"ц":15,"ч":15,"ш":15}],"с":[{"б":15,"в":15,"г":15,"ґ":15,"д":15,"ж":15,"з":15,"к":15,"л":15,"м":15,"н":15,"п":15,"р":15,"с":15,"т":15,"ф":15,"х":15,"ц":15,"ч":15,"ш":15}]}],"о":[{"з":[{"б":15,"в":15,"г":15,"ґ":15,"д":15,"ж":15,"з":15,"к":15,"л":15,"м":15,"н":15,"п":15,"р":15,"с":15,"т":15,"ф":15,"х":15,"ц":15,"ч":15,"ш":15}],"с":[{"б":15,"в":15,"г":15,"ґ":15,"д":15,"ж":15,"з":15,"к":15,"л":15,"м":15,"н":15,"п":15,"р":15,"с":15,"т":15,"ф":15,"х":15,"ц":15,"ч":15,"ш":15}]}]},6],"с":[{"б":10,"в":10,"г":10,"ґ":10,"д":10,"ж":10,"з":10,"к":10,"л":10,"м":10,"н":10,"п":[{"\'":11},10],"р":10,"с":10,"т":10,"ф":10,"х":10,"ц":10,"ч":10,"ш":10,"ь":10,"\'":10},6],"т":[{"б":10,"в":10,"г":10,"ґ":10,"д":10,"ж":10,"з":10,"к":10,"л":10,"м":10,"н":10,"п":10,"р":[{"о":[{"х":23}]},10],"с":10,"т":10,"ф":10,"х":10,"ц":10,"ч":10,"ш":10,"\'":10},6],"ф":[{"б":10,"в":10,"г":10,"ґ":10,"д":10,"ж":10,"з":10,"к":10,"л":10,"м":10,"н":10,"п":10,"р":10,"с":10,"т":10,"ф":10,"х":10,"ц":10,"ч":10,"ш":10,"ь":10,"\'":10},6],"х":[{"б":10,"в":10,"г":10,"ґ":10,"д":10,"ж":10,"з":10,"к":10,"л":10,"м":10,"н":10,"п":10,"р":10,"с":10,"т":10,"ф":10,"х":10,"ц":10,"ч":10,"ш":10,"ь":10,"\'":10},6],"ц":[{"б":10,"в":10,"г":10,"ґ":10,"д":10,"ж":10,"з":10,"к":10,"л":10,"м":10,"н":10,"п":10,"р":10,"с":10,"т":10,"ф":10,"х":10,"ц":10,"ч":10,"ш":10,"ь":10,"\'":10,"е":[{"р":[{"а":[{"з":[{"б":17,"в":17,"г":17,"ґ":17,"д":17,"ж":17,"з":17,"к":17,"л":17,"м":17,"н":17,"п":17,"р":17,"с":17,"т":17,"ф":17,"х":17,"ц":17,"ч":17,"ш":17}],"с":[{"б":17,"в":17,"г":17,"ґ":17,"д":17,"ж":17,"з":17,"к":17,"л":17,"м":17,"н":17,"п":17,"р":17,"с":17,"т":17,"ф":17,"х":17,"ц":17,"ч":17,"ш":17}]}]}]}]},6],"ч":[{"б":10,"в":10,"г":10,"ґ":10,"д":10,"ж":10,"з":10,"к":10,"л":10,"м":10,"н":10,"п":10,"р":10,"с":10,"т":10,"ф":10,"х":10,"ц":10,"ч":10,"ш":10,"\'":10,"а":[{"т":[{"ы":[{"р":[{"о":[{"х":25}]}]}]}]}]},6],"ш":[{"б":10,"в":10,"г":10,"ґ":10,"д":10,"ж":10,"з":10,"к":10,"л":10,"м":[{"а":[{"т":33}]},10],"н":10,"п":10,"р":10,"с":10,"т":10,"ф":10,"х":10,"ц":10,"ч":10,"ш":10,"\'":10},6],"й":6,"ў":[{"з":[{"б":13,"в":13,"г":13,"ґ":13,"д":13,"ж":13,"з":13,"к":13,"л":13,"м":13,"н":13,"п":13,"р":13,"с":13,"т":13,"ф":13,"х":13,"ц":13,"ч":13,"ш":13}],"с":[{"б":13,"в":13,"г":13,"ґ":13,"д":13,"ж":13,"з":13,"к":13,"л":13,"м":13,"н":13,"п":13,"р":13,"с":13,"т":13,"ф":13,"х":13,"ц":13,"ч":13,"ш":13}]},6]},0],"а":[{".":5,"-":5},1],"е":[{".":5,"-":5},1],"ё":[{".":5,"-":5},1],"і":[{".":5,"-":5},1],"о":[{".":5,"-":5},1],"у":[{".":5,"-":5},1],"ы":[{".":5,"-":5},1],"э":[{".":5,"-":5},1],"ю":[{".":5,"-":5},1],"я":[{".":5,"-":5},1],"б":[{"б":[{".":5,"-":5},2],"в":[{".":5,"-":5},3],"г":[{".":5,"-":5},3],"ґ":[{".":5,"-":5},3],"д":[{".":5,"-":5},3],"ж":[{".":5,"-":5},3],"з":[{".":5,"-":5},3],"к":[{".":5,"-":5},3],"л":[{".":5,"-":5,"ь":[{".":5,"-":5}]},3],"м":[{".":5,"-":5},3],"н":[{".":5,"-":5},3],"п":[{".":5,"-":5},3],"р":[{".":5,"-":5},3],"с":[{".":5,"-":5,"к":[{".":5,"-":5}]},3],"т":[{".":5,"-":5},3],"ф":[{".":5,"-":5},3],"х":[{".":5,"-":5},3],"ц":[{".":5,"-":5},3],"ч":[{".":5,"-":5},3],"ш":[{".":5,"-":5},3],"\'":9,"ь":[{".":5,"-":5},9],".":5,"-":5}],"в":[{"б":[{".":5,"-":5},3],"в":[{".":5,"-":5},2],"г":[{".":5,"-":5},3],"ґ":[{".":5,"-":5},3],"д":[{".":5,"-":5},3],"ж":[{".":5,"-":5},3],"з":[{".":5,"-":5},3],"к":[{".":5,"-":5},3],"л":[{".":5,"-":5},3],"м":[{".":5,"-":5},3],"н":[{".":5,"-":5},3],"п":[{".":5,"-":5},3],"р":[{".":5,"-":5},3],"с":[{".":5,"-":5},3],"т":[{".":5,"-":5},3],"ф":[{".":5,"-":5},3],"х":[{".":5,"-":5},3],"ц":[{".":5,"-":5},3],"ч":[{".":5,"-":5},3],"ш":[{".":5,"-":5},3],"\'":9,"ь":[{".":5,"-":5},9],".":5,"-":5,"і":[{"д":[{"а":[{"з":[{"м":[{"я":[{"н":27}],"е":[{"н":27}]}]}]}]}]}],"ё":[{"р":[{"с":[{"т":6}]}]}]}],"г":[{"б":[{".":5,"-":5},3],"в":[{".":5,"-":5},3],"г":[{".":5,"-":5},2],"ґ":[{".":5,"-":5},3],"д":[{".":5,"-":5},3],"ж":[{".":5,"-":5},3],"з":[{".":5,"-":5},3],"к":[{".":5,"-":5},3],"л":[{".":5,"-":5},3],"м":[{".":5,"-":5},3],"н":[{".":5,"-":5},3],"п":[{".":5,"-":5},3],"р":[{".":5,"-":5},3],"с":[{".":5,"-":5},3],"т":[{".":5,"-":5},3],"ф":[{".":5,"-":5},3],"х":[{".":5,"-":5},3],"ц":[{".":5,"-":5},3],"ч":[{".":5,"-":5},3],"ш":[{".":5,"-":5},3],"\'":9,"ь":[{".":5,"-":5},9],".":5,"-":5}],"ґ":[{"б":[{".":5,"-":5},3],"в":[{".":5,"-":5},3],"г":[{".":5,"-":5},3],"ґ":[{".":5,"-":5},2],"д":[{".":5,"-":5},3],"ж":[{".":5,"-":5},3],"з":[{".":5,"-":5},3],"к":[{".":5,"-":5},3],"л":[{".":5,"-":5},3],"м":[{".":5,"-":5},3],"н":[{".":5,"-":5},3],"п":[{".":5,"-":5},3],"р":[{".":5,"-":5},3],"с":[{".":5,"-":5},3],"т":[{".":5,"-":5},3],"ф":[{".":5,"-":5},3],"х":[{".":5,"-":5},3],"ц":[{".":5,"-":5},3],"ч":[{".":5,"-":5},3],"ш":[{".":5,"-":5},3],"\'":9,"ь":[{".":5,"-":5},9],".":5,"-":5}],"д":[{"б":[{".":5,"-":5},3],"в":[{".":5,"-":5},3],"г":[{".":5,"-":5},3],"ґ":[{".":5,"-":5},3],"д":[{".":5,"-":5},2],"к":[{".":5,"-":5},3],"л":[{".":5,"-":5},3],"м":[{".":5,"-":5},3],"н":[{".":5,"-":5},3],"п":[{".":5,"-":5},3],"р":[{".":5,"-":5},3],"с":[{".":5,"-":5},3],"т":[{".":5,"-":5},3],"ф":[{".":5,"-":5},3],"х":[{".":5,"-":5},3],"ц":[{".":5,"-":5},3],"ч":[{".":5,"-":5},3],"ш":[{".":5,"-":5},3],"ж":[{".":5,"-":5},7],"з":[{".":5,"-":5,"ь":[{".":5,"-":5}]},7],"\'":9,".":5,"-":5}],"ж":[{"б":[{".":5,"-":5},3],"в":[{".":5,"-":5},3],"г":[{".":5,"-":5},3],"ґ":[{".":5,"-":5},3],"д":[{".":5,"-":5,"ж":[{".":5,"-":5}]},3],"ж":[{".":5,"-":5},2],"з":[{".":5,"-":5},3],"к":[{".":5,"-":5},3],"л":[{".":5,"-":5},3],"м":[{".":5,"-":5},3],"н":[{".":5,"-":5},3],"п":[{".":5,"-":5},3],"р":[{".":5,"-":5},3],"с":[{".":5,"-":5},3],"т":[{".":5,"-":5},3],"ф":[{".":5,"-":5},3],"х":[{".":5,"-":5},3],"ц":[{".":5,"-":5},3],"ч":[{".":5,"-":5},3],"ш":[{".":5,"-":5},3],"\'":9,".":5,"-":5}],"з":[{"б":[{".":5,"-":5},3],"в":[{".":5,"-":5},3],"г":[{".":5,"-":5},3],"ґ":[{".":5,"-":5},3],"д":[{".":5,"-":5},3],"ж":[{".":5,"-":5},3],"з":[{".":5,"-":5},2],"к":[{".":5,"-":5},3],"л":[{".":5,"-":5,"о":[{"ў":[{"ж":[{"ы":[{"в":30}]}]}]}]},3],"м":[{".":5,"-":5},3],"н":[{".":5,"-":5},3],"п":[{".":5,"-":5},3],"р":[{".":5,"-":5},3],"с":[{".":5,"-":5},3],"т":[{".":5,"-":5},3],"ф":[{".":5,"-":5},3],"х":[{".":5,"-":5},3],"ц":[{".":5,"-":5},3],"ч":[{".":5,"-":5},3],"ш":[{".":5,"-":5},3],"\'":9,"ь":[{".":5,"-":5},9],".":5,"-":5,"а":[{"п":[{"л":[{"ю":[{"ш":[{"ч":28}]}]}]}],"ц":[{"в":[{"я":[{"р":[{"д":[{"з":35}]}]}]}]}]}]}],"к":[{"б":[{".":5,"-":5},3],"в":[{".":5,"-":5},3],"г":[{".":5,"-":5},3],"ґ":[{".":5,"-":5},3],"д":[{".":5,"-":5},3],"ж":[{".":5,"-":5},3],"з":[{".":5,"-":5},3],"к":[{".":5,"-":5},2],"л":[{".":5,"-":5,"ь":[{".":5,"-":5}]},3],"м":[{".":5,"-":5},3],"н":[{".":5,"-":5},3],"п":[{".":5,"-":5},3],"р":[{".":5,"-":5,"о":[{"в":[{"а":[{"ў":[{"т":[{"в":[{"а":[{"р":34}]}]}]}]}]}]}]},3],"с":[{".":5,"-":5,"т":[{".":5,"-":5}]},3],"т":[{".":5,"-":5,"р":[{".":5,"-":5}]},3],"ф":[{".":5,"-":5},3],"х":[{".":5,"-":5},3],"ц":[{".":5,"-":5},3],"ч":[{".":5,"-":5},3],"ш":[{".":5,"-":5},3],"\'":9,"ь":[{".":5,"-":5},9],".":5,"-":5}],"л":[{"б":[{".":5,"-":5},3],"в":[{".":5,"-":5},3],"г":[{".":5,"-":5},3],"ґ":[{".":5,"-":5},3],"д":[{".":5,"-":5},3],"ж":[{".":5,"-":5},3],"з":[{".":5,"-":5},3],"к":[{".":5,"-":5},3],"л":[{".":5,"-":5},2],"м":[{".":5,"-":5,"с":[{".":5,"-":5}]},3],"н":[{".":5,"-":5},3],"п":[{".":5,"-":5},3],"р":[{".":5,"-":5},3],"с":[{".":5,"-":5},3],"т":[{".":5,"-":5},3],"ф":[{".":5,"-":5},3],"х":[{".":5,"-":5},3],"ц":[{".":5,"-":5},3],"ч":[{".":5,"-":5},3],"ш":[{".":5,"-":5},3],"\'":9,"ь":[{".":5,"-":5},9],".":5,"-":5}],"м":[{"б":[{".":5,"-":5,"р":[{".":5,"-":5}]},3],"в":[{".":5,"-":5},3],"г":[{".":5,"-":5},3],"ґ":[{".":5,"-":5},3],"д":[{".":5,"-":5},3],"ж":[{".":5,"-":5},3],"з":[{".":5,"-":5},3],"к":[{".":5,"-":5},3],"л":[{".":5,"-":5,"ь":[{".":5,"-":5}]},3],"м":[{".":5,"-":5},2],"н":[{".":5,"-":5},3],"п":[{".":5,"-":5},3],"р":[{".":5,"-":5},3],"с":[{".":5,"-":5,"ь":[{".":5,"-":5}]},3],"т":[{".":5,"-":5},3],"ф":[{".":5,"-":5},3],"х":[{".":5,"-":5},3],"ц":[{".":5,"-":5},3],"ч":[{".":5,"-":5},3],"ш":[{".":5,"-":5},3],"\'":9,"ь":[{".":5,"-":5},9],".":5,"-":5}],"н":[{"б":[{".":5,"-":5},3],"в":[{".":5,"-":5},3],"г":[{".":5,"-":5,"р":[{".":5,"-":5}],"в":[{".":5,"-":5}]},3],"ґ":[{".":5,"-":5},3],"д":[{".":5,"-":5,"р":[{".":5,"-":5}],"з":[{".":5,"-":5}]},3],"ж":[{".":5,"-":5},3],"з":[{".":5,"-":5},3],"к":[{".":5,"-":5,"т":[{".":5,"-":5}],"с":[{".":5,"-":5}]},3],"л":[{".":5,"-":5},3],"м":[{".":5,"-":5},3],"н":[{".":5,"-":5},2],"п":[{".":5,"-":5},3],"р":[{".":5,"-":5},3],"с":[{".":5,"-":5,"к":[{".":5,"-":5}]},3],"т":[{".":5,"-":5,"р":[{".":5,"-":5}]},3],"ф":[{".":5,"-":5},3],"х":[{".":5,"-":5},3],"ц":[{".":5,"-":5},3],"ч":[{".":5,"-":5},3],"ш":[{".":5,"-":5},3],"\'":9,"ь":[{".":5,"-":5},9],".":5,"-":5,"а":[{"д":[{"в":[{"о":[{"р":37}]}]}]}]}],"п":[{"б":[{".":5,"-":5},3],"в":[{".":5,"-":5},3],"г":[{".":5,"-":5},3],"ґ":[{".":5,"-":5},3],"д":[{".":5,"-":5},3],"ж":[{".":5,"-":5},3],"з":[{".":5,"-":5},3],"к":[{".":5,"-":5},3],"л":[{".":5,"-":5},3],"м":[{".":5,"-":5},3],"н":[{".":5,"-":5},3],"п":[{".":5,"-":5},2],"р":[{".":5,"-":5},3],"с":[{".":5,"-":5},3],"т":[{".":5,"-":5},3],"ф":[{".":5,"-":5},3],"х":[{".":5,"-":5},3],"ц":[{".":5,"-":5},3],"ч":[{".":5,"-":5},3],"ш":[{".":5,"-":5},3],"\'":9,"ь":[{".":5,"-":5},9],".":5,"-":5}],"р":[{"б":[{".":5,"-":5},3],"в":[{".":5,"-":5},3],"г":[{".":5,"-":5},3],"ґ":[{".":5,"-":5},3],"д":[{".":5,"-":5,"ж":[{".":5,"-":5}]},3],"ж":[{".":5,"-":5},3],"з":[{".":5,"-":5,"ь":[{".":5,"-":5}]},3],"к":[{".":5,"-":5,"т":[{".":5,"-":5}],"с":[{".":5,"-":5}]},3],"л":[{".":5,"-":5,"ь":[{".":5,"-":5}]},3],"м":[{".":5,"-":5},3],"н":[{".":5,"-":5,"ь":[{".":5,"-":5}]},3],"п":[{".":5,"-":5},3],"р":[{".":5,"-":5},2],"с":[{".":5,"-":5,"т":[{".":5,"-":5}],"к":[{".":5,"-":5}]},3],"т":[{".":5,"-":5,"р":[{".":5,"-":5}]},3],"ф":[{".":5,"-":5},3],"х":[{".":5,"-":5},3],"ц":[{".":5,"-":5,"ь":[{".":5,"-":5}]},3],"ч":[{".":5,"-":5},3],"ш":[{".":5,"-":5,"ч":[{".":5,"-":5}]},3],"\'":9,".":5,"-":5,"а":[{"з":[{"г":[{"л":[{"я":[{"д":29}],"е":[{"д":29}]}]}]}]}]}],"с":[{"б":[{".":5,"-":5},3],"в":[{".":5,"-":5},3],"г":[{".":5,"-":5},3],"ґ":[{".":5,"-":5},3],"д":[{".":5,"-":5},3],"ж":[{".":5,"-":5},3],"з":[{".":5,"-":5},3],"к":[{".":5,"-":5},3],"л":[{".":5,"-":5,"ь":[{".":5,"-":5}],"о":[{"в":[{"а":[{"ў":[{"т":[{"в":[{"а":[{"р":26}]}]}]}]}]}]}]},3],"м":[{".":5,"-":5},3],"н":[{".":5,"-":5,"ь":[{".":5,"-":5}]},3],"п":[{".":5,"-":5},3],"р":[{".":5,"-":5},3],"с":[{".":5,"-":5},2],"т":[{".":5,"-":5,"р":[{".":5,"-":5}],"л":[{".":5,"-":5}]},3],"ф":[{".":5,"-":5},3],"х":[{".":5,"-":5},3],"ц":[{".":5,"-":5,"ь":[{".":5,"-":5}]},3],"ч":[{".":5,"-":5},3],"ш":[{".":5,"-":5},3],"\'":9,"ь":[{".":5,"-":5},9],".":5,"-":5}],"т":[{"б":[{".":5,"-":5},3],"в":[{".":5,"-":5},3],"г":[{".":5,"-":5},3],"ґ":[{".":5,"-":5},3],"д":[{".":5,"-":5},3],"ж":[{".":5,"-":5},3],"з":[{".":5,"-":5},3],"к":[{".":5,"-":5},3],"л":[{".":5,"-":5},3],"м":[{".":5,"-":5},3],"н":[{".":5,"-":5},3],"п":[{".":5,"-":5},3],"р":[{".":5,"-":5},3],"с":[{".":5,"-":5},3],"т":[{".":5,"-":5},2],"ф":[{".":5,"-":5},3],"х":[{".":5,"-":5},3],"ц":[{".":5,"-":5},3],"ч":[{".":5,"-":5},3],"ш":[{".":5,"-":5},3],"\'":9,".":5,"-":5,"э":[{"м":[{"б":[{"р":[{".":6,"-":6}]}]}]}]}],"ф":[{"б":[{".":5,"-":5},3],"в":[{".":5,"-":5},3],"г":[{".":5,"-":5},3],"ґ":[{".":5,"-":5},3],"д":[{".":5,"-":5},3],"ж":[{".":5,"-":5},3],"з":[{".":5,"-":5},3],"к":[{".":5,"-":5},3],"л":[{".":5,"-":5},3],"м":[{".":5,"-":5},3],"н":[{".":5,"-":5},3],"п":[{".":5,"-":5},3],"р":[{".":5,"-":5},3],"с":[{".":5,"-":5},3],"т":[{".":5,"-":5},3],"ф":[{".":5,"-":5},2],"х":[{".":5,"-":5},3],"ц":[{".":5,"-":5,"ь":[{".":5,"-":5}]},3],"ч":[{".":5,"-":5},3],"ш":[{".":5,"-":5},3],"\'":9,"ь":[{".":5,"-":5},9],".":5,"-":5}],"х":[{"б":[{".":5,"-":5},3],"в":[{".":5,"-":5},3],"г":[{".":5,"-":5},3],"ґ":[{".":5,"-":5},3],"д":[{".":5,"-":5},3],"ж":[{".":5,"-":5},3],"з":[{".":5,"-":5},3],"к":[{".":5,"-":5},3],"л":[{".":5,"-":5},3],"м":[{".":5,"-":5},3],"н":[{".":5,"-":5},3],"п":[{".":5,"-":5},3],"р":[{".":5,"-":5},3],"с":[{".":5,"-":5},3],"т":[{".":5,"-":5},3],"ф":[{".":5,"-":5},3],"х":[{".":5,"-":5},2],"ц":[{".":5,"-":5},3],"ч":[{".":5,"-":5},3],"ш":[{".":5,"-":5},3],"\'":9,"ь":[{".":5,"-":5},9],".":5,"-":5}],"ц":[{"б":[{".":5,"-":5},3],"в":[{".":5,"-":5},3],"г":[{".":5,"-":5},3],"ґ":[{".":5,"-":5},3],"д":[{".":5,"-":5},3],"ж":[{".":5,"-":5},3],"з":[{".":5,"-":5},3],"к":[{".":5,"-":5},3],"л":[{".":5,"-":5},3],"м":[{".":5,"-":5},3],"н":[{".":5,"-":5},3],"п":[{".":5,"-":5},3],"р":[{".":5,"-":5},3],"с":[{".":5,"-":5},3],"т":[{".":5,"-":5},3],"ф":[{".":5,"-":5},3],"х":[{".":5,"-":5},3],"ц":[{".":5,"-":5},2],"ч":[{".":5,"-":5},3],"ш":[{".":5,"-":5},3],"\'":9,"ь":[{".":5,"-":5},9],".":5,"-":5}],"ч":[{"б":[{".":5,"-":5},3],"в":[{".":5,"-":5},3],"г":[{".":5,"-":5},3],"ґ":[{".":5,"-":5},3],"д":[{".":5,"-":5},3],"ж":[{".":5,"-":5},3],"з":[{".":5,"-":5},3],"к":[{".":5,"-":5},3],"л":[{".":5,"-":5},3],"м":[{".":5,"-":5},3],"н":[{".":5,"-":5},3],"п":[{".":5,"-":5},3],"р":[{".":5,"-":5},3],"с":[{".":5,"-":5},3],"т":[{".":5,"-":5},3],"ф":[{".":5,"-":5},3],"х":[{".":5,"-":5},3],"ц":[{".":5,"-":5},3],"ч":[{".":5,"-":5},2],"ш":[{".":5,"-":5},3],"\'":9,".":5,"-":5}],"ш":[{"б":[{".":5,"-":5},3],"в":[{".":5,"-":5},3],"г":[{".":5,"-":5},3],"ґ":[{".":5,"-":5},3],"д":[{".":5,"-":5},3],"ж":[{".":5,"-":5},3],"з":[{".":5,"-":5},3],"к":[{".":5,"-":5},3],"л":[{".":5,"-":5},3],"м":[{".":5,"-":5},3],"н":[{".":5,"-":5},3],"п":[{".":5,"-":5},3],"р":[{".":5,"-":5},3],"с":[{".":5,"-":5},3],"т":[{".":5,"-":5},3],"ф":[{".":5,"-":5},3],"х":[{".":5,"-":5},3],"ц":[{".":5,"-":5},3],"ч":[{".":5,"-":5},3],"ш":[{".":5,"-":5},2],"\'":9,".":5,"-":5}],".":[{"а":[{"д":[{"б":12,"в":12,"г":12,"ґ":12,"д":12,"к":12,"л":12,"м":12,"н":12,"п":12,"р":12,"с":12,"т":12,"ф":12,"х":12,"ц":12,"ч":12,"ш":12,"ж":[{"а":[{"л":18,"т":18,"ц":18,"ў":18,"р":18}],"л":[{"у":[{"к":[{"ц":18,"ч":18}]}]}],"ы":[{"в":18,"л":18,"н":18,"т":18,"ц":[{"ь":18}],"ў":18}]}],"з":[{"а":[{"в":18}],"в":[{"а":[{"н":18}],"о":[{"н":18}]}],"н":[{"а":[{"к":18,"ч":18,"ц":18}]}],"ы":[{"в":[{"а":18}],"ў":[{"н":18}]}]}]}],"б":[{"б":12,"в":12,"г":12,"ґ":12,"д":12,"ж":12,"з":12,"к":12,"л":12,"м":12,"н":12,"п":12,"р":12,"с":12,"т":12,"ф":12,"х":12,"ц":12,"ч":12,"ш":12}]},4],"е":4,"ё":4,"і":4,"о":4,"у":[{"з":[{"б":12,"в":12,"г":12,"ґ":12,"д":12,"ж":12,"з":12,"к":12,"л":12,"м":12,"н":12,"п":12,"р":12,"с":12,"т":12,"ф":12,"х":12,"ц":12,"ч":12,"ш":12}],"с":[{"б":12,"в":12,"г":12,"ґ":12,"д":12,"ж":12,"з":12,"к":12,"л":12,"м":12,"н":12,"п":12,"р":12,"с":12,"т":12,"ф":12,"х":12,"ц":12,"ч":12,"ш":12}]},4],"ы":4,"э":4,"ю":4,"я":4,"б":[{"б":6,"в":6,"г":6,"ґ":6,"д":6,"ж":6,"з":6,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":6,"т":6,"ф":6,"х":6,"ц":6,"ч":6,"ш":6,"ь":6,"\'":6,"я":[{"з":[{"б":14,"в":14,"г":14,"ґ":14,"д":14,"ж":14,"з":14,"к":14,"л":14,"м":14,"н":14,"п":14,"р":14,"с":14,"т":14,"ф":14,"х":14,"ц":14,"ч":14,"ш":14}],"с":[{"б":14,"в":14,"г":14,"ґ":14,"д":14,"ж":14,"з":14,"к":14,"л":14,"м":14,"н":14,"п":14,"р":14,"с":14,"т":14,"ф":14,"х":14,"ц":14,"ч":14,"ш":14}]}],"е":[{"з":[{"б":14,"в":14,"г":14,"ґ":14,"д":14,"ж":14,"з":14,"к":14,"л":14,"м":14,"н":14,"п":14,"р":14,"с":14,"т":14,"ф":14,"х":14,"ц":14,"ч":14,"ш":14}],"с":[{"б":14,"в":14,"г":14,"ґ":14,"д":14,"ж":14,"з":14,"к":14,"л":14,"м":14,"н":14,"п":14,"р":14,"с":14,"т":14,"ф":14,"х":14,"ц":14,"ч":14,"ш":14}]}]},4],"в":[{"б":6,"в":6,"г":6,"ґ":6,"д":6,"ж":6,"з":6,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":6,"т":6,"ф":6,"х":6,"ц":6,"ч":6,"ш":6,"ь":6,"\'":6,"ы":[{"к":[{"л":[{"ю":[{"ч":28}]}]}]}]},4],"г":[{"б":6,"в":6,"г":6,"ґ":6,"д":6,"ж":6,"з":6,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":6,"т":6,"ф":6,"х":6,"ц":6,"ч":6,"ш":6,"ь":6,"\'":6},4],"ґ":[{"б":6,"в":6,"г":6,"ґ":6,"д":6,"ж":6,"з":6,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":6,"т":6,"ф":6,"х":6,"ц":6,"ч":6,"ш":6,"ь":6,"\'":6},4],"д":[{"б":6,"в":[{"у":[{"х":22}]},6],"г":6,"ґ":6,"д":6,"ж":6,"з":6,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":6,"т":6,"ф":6,"х":6,"ц":6,"ч":6,"ш":6,"\'":6},4],"ж":[{"б":6,"в":6,"г":6,"ґ":6,"д":6,"ж":6,"з":6,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":6,"т":6,"ф":6,"х":6,"ц":6,"ч":6,"ш":6,"\'":6},4],"з":[{"б":6,"в":6,"г":6,"ґ":6,"д":6,"ж":6,"з":6,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":6,"т":6,"ф":6,"х":6,"ц":6,"ч":6,"ш":6,"ь":6,"\'":6},4],"к":[{"б":6,"в":6,"г":6,"ґ":6,"д":6,"ж":6,"з":6,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":6,"т":6,"ф":6,"х":6,"ц":6,"ч":6,"ш":6,"ь":6,"\'":6},4],"л":[{"б":6,"в":6,"г":6,"ґ":6,"д":6,"ж":6,"з":6,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":6,"т":6,"ф":6,"х":6,"ц":6,"ч":6,"ш":6,"ь":6,"\'":6},4],"м":[{"б":6,"в":6,"г":6,"ґ":6,"д":6,"ж":6,"з":6,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":6,"т":6,"ф":6,"х":6,"ц":6,"ч":6,"ш":6,"ь":6,"\'":6},4],"н":[{"б":6,"в":6,"г":6,"ґ":6,"д":6,"ж":6,"з":6,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":6,"т":6,"ф":6,"х":6,"ц":6,"ч":6,"ш":6,"ь":6,"\'":6,"е":6,"я":6,"а":[{"д":[{"б":14,"в":14,"г":14,"ґ":14,"д":14,"к":14,"л":14,"м":14,"н":14,"п":14,"р":14,"с":14,"т":14,"ф":14,"х":14,"ц":14,"ч":14,"ш":14,"з":[{"в":[{"ы":[{"ч":[{"а":[{"й":20}]}]}]}],"е":[{"м":[{"н":20}]}]}]}]}]},4],"п":[{"б":6,"в":6,"г":6,"ґ":6,"д":6,"ж":6,"з":6,"к":6,"л":6,"м":6,"н":6,"п":6,"р":[{"а":[{"з":[{"б":15,"в":15,"г":15,"ґ":15,"д":15,"ж":15,"з":15,"к":15,"л":15,"м":15,"н":15,"п":15,"р":15,"с":15,"т":15,"ф":15,"х":15,"ц":15,"ч":15,"ш":15}]}]},6],"с":6,"т":6,"ф":6,"х":6,"ц":6,"ч":6,"ш":6,"ь":6,"\'":6,"а":[{"д":[{"б":14,"в":14,"г":14,"ґ":14,"д":14,"к":14,"л":14,"м":14,"н":14,"п":14,"р":14,"с":14,"т":14,"ф":14,"х":14,"ц":14,"ч":14,"ш":14,"ж":[{"а":[{"р":20}],"ы":[{"в":20,"ц":[{"ь":20}],"ў":20,"л":20}]}],"з":[{"а":[{"в":20,"г":[{"а":[{"л":[{"о":[{"в":[{"а":20}],"ў":20}]}]}]}],"к":[{"у":[{"с":20,"ш":20}]}],"р":[{"а":[{"б":20}],"о":[{"б":20}]}]}],"е":[{"м":[{"н":20}]}],"я":[{"м":[{"е":20}]}],"о":[{"р":20}],"ы":[{"в":[{"а":20}]}]}]}],"г":[{"л":[{"я":[{"д":[{"з":35}]}]}]}]}],"е":[{"р":[{"а":[{"д":[{"б":16,"в":16,"г":16,"ґ":16,"д":16,"к":16,"л":16,"м":16,"н":16,"п":16,"р":16,"с":16,"т":16,"ф":16,"х":16,"ц":16,"ч":16,"ш":16}]}]}]}]},4],"р":[{"б":6,"в":6,"г":6,"ґ":6,"д":6,"ж":6,"з":6,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":6,"т":6,"ф":6,"х":6,"ц":6,"ч":6,"ш":6,"\'":6,"а":[{"з":[{"б":14,"в":14,"г":14,"ґ":14,"д":14,"ж":14,"з":14,"к":14,"л":14,"м":14,"н":14,"п":14,"р":14,"с":14,"т":14,"ф":14,"х":14,"ц":14,"ч":14,"ш":14}],"с":[{"б":14,"в":14,"г":14,"ґ":14,"д":14,"ж":14,"з":14,"к":14,"л":14,"м":14,"н":14,"п":14,"р":14,"с":14,"т":14,"ф":14,"х":14,"ц":14,"ч":14,"ш":14}]}],"о":[{"з":[{"б":14,"в":14,"г":14,"ґ":14,"д":14,"ж":14,"з":14,"к":14,"л":14,"м":14,"н":14,"п":14,"р":14,"с":14,"т":14,"ф":14,"х":14,"ц":14,"ч":14,"ш":14}],"с":[{"б":14,"в":14,"г":14,"ґ":14,"д":14,"ж":14,"з":14,"к":14,"л":14,"м":14,"н":14,"п":14,"р":14,"с":14,"т":14,"ф":14,"х":14,"ц":14,"ч":14,"ш":14}]}]},4],"с":[{"б":6,"в":6,"г":6,"ґ":6,"д":6,"ж":6,"з":6,"к":6,"л":6,"м":6,"н":6,"п":[{"\'":10},6],"р":6,"с":6,"т":6,"ф":6,"х":6,"ц":6,"ч":6,"ш":6,"ь":6,"\'":6},4],"т":[{"б":6,"в":6,"г":6,"ґ":6,"д":6,"ж":6,"з":6,"к":6,"л":6,"м":6,"н":6,"п":6,"р":[{"о":[{"х":22}]},6],"с":6,"т":6,"ф":6,"х":6,"ц":6,"ч":6,"ш":6,"\'":6},4],"ф":[{"б":6,"в":6,"г":6,"ґ":6,"д":6,"ж":6,"з":6,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":6,"т":6,"ф":6,"х":6,"ц":6,"ч":6,"ш":6,"ь":6,"\'":6},4],"х":[{"б":6,"в":6,"г":6,"ґ":6,"д":6,"ж":6,"з":6,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":6,"т":6,"ф":6,"х":6,"ц":6,"ч":6,"ш":6,"ь":6,"\'":6},4],"ц":[{"б":6,"в":6,"г":6,"ґ":6,"д":6,"ж":6,"з":6,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":6,"т":6,"ф":6,"х":6,"ц":6,"ч":6,"ш":6,"ь":6,"\'":6,"е":[{"р":[{"а":[{"з":[{"б":16,"в":16,"г":16,"ґ":16,"д":16,"ж":16,"з":16,"к":16,"л":16,"м":16,"н":16,"п":16,"р":16,"с":16,"т":16,"ф":16,"х":16,"ц":16,"ч":16,"ш":16}],"с":[{"б":16,"в":16,"г":16,"ґ":16,"д":16,"ж":16,"з":16,"к":16,"л":16,"м":16,"н":16,"п":16,"р":16,"с":16,"т":16,"ф":16,"х":16,"ц":16,"ч":16,"ш":16}]}]}]}]},4],"ч":[{"б":6,"в":6,"г":6,"ґ":6,"д":6,"ж":6,"з":6,"к":6,"л":6,"м":6,"н":6,"п":6,"р":6,"с":6,"т":6,"ф":6,"х":6,"ц":6,"ч":6,"ш":6,"\'":6,"а":[{"т":[{"ы":[{"р":[{"о":[{"х":24}]}]}]}]}]},4],"ш":[{"б":6,"в":6,"г":6,"ґ":6,"д":6,"ж":6,"з":6,"к":6,"л":6,"м":[{"а":[{"т":32}]},6],"н":6,"п":6,"р":6,"с":6,"т":6,"ф":6,"х":6,"ц":6,"ч":6,"ш":6,"\'":6},4],"й":4,"ў":[{"з":[{"б":12,"в":12,"г":12,"ґ":12,"д":12,"ж":12,"з":12,"к":12,"л":12,"м":12,"н":12,"п":12,"р":12,"с":12,"т":12,"ф":12,"х":12,"ц":12,"ч":12,"ш":12}],"с":[{"б":12,"в":12,"г":12,"ґ":12,"д":12,"ж":12,"з":12,"к":12,"л":12,"м":12,"н":12,"п":12,"р":12,"с":12,"т":12,"ф":12,"х":12,"ц":12,"ч":12,"ш":12}]},4]}],"й":[{".":5,"-":5},8],"ў":[{".":5,"-":5},8]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/9377.adapter.js b/public/tools/cloud_sheets/vendor/univer/9377.adapter.js new file mode 100644 index 0000000..b569b30 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/9377.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[9377],{9377(e,a,s){s.r(a),s.d(a,{No:()=>r});const r=["04,004,007,0065,006,00004,008,002,0012,0054,0058,06,003,0063,000005,005,00007,00005,00003,00056,0056,0067,0005,0004,0003,0044,0045,00066,0002,0016,00047,0006,0008,000009,0034,009,00006,0024,05,0009,0076,00043,00054,000043,00000346,00000984,00008,00065,000808,00009,0000076,00000007,0036,00045,0001,00634,00745,0096,000007,0083,0074,0007,00078,000505,00087,00034,000078,0032,00505,001,0066,00104,006005,000565,00805,00036,0000565,00076,000054,00605,000056,00000009,00032,00656,0098,0043,00085,000605,02,034,03,000008,036,08,0078,058,067,065,000878,00403,0000058,00565,000305,000004,00041,000087,000545,0023,000876,0087,000807,0068,00058,0064,00263,00304,000065,000365,0047,0048,000006,0046,0052,0000006,000034,000058,00807,00067,000076,0021,0022,00096,000544,004004,00074,0004565,000456,00000098,0000056,0000005,086,0000078,006565,00098,00063,0000065,00038,0000656,00089,056,012,032,07,01,016,09,022,0030065,00454,00000008,00046,064,4,00406,3,0509,5,8,6,045,0000007,0504,1,2,212,87,00001,00014,34,00052,00012,43,0014,00002,12,03005,0000009,41,21,201,0000004,7,098,043,04505,0405,0403,50005,0454,008908,61,0254,000067,000003,607,004056,087,0049,000089,802,0204,00000089,000000076,00106,000404,6006,101,0212,303,0089,038,046,81,00405,202,0414,604,0205,0203,054,025,00000076,0061,0025,4001,0301,405,00232,033,00708,88,46,0000008,5002,10076,00254,34005,02032,45,36,0000094,0676,076,14,005007,00023,000063,04006,081,021,000098,00021,00103,000405,0412,403,000676,25,407,605,003834,000045,214,000085,65,2036,5001,041,207,4006,4004,401,056654,0026,0607,203,205,00203,00306,004054,000409,00105,30004,00025,26,00543,104,44,0041,7605,47,9,60006,404,76,0305,67,2004,665,707,2056,000504,634,6506,8706,000438,000656,507,6056,0402,0708,00006076,0000025,003045,656,252,414,8098,000856,6706,061,6076,278,16,56,0908,32,54,58,0450043,089,0612,5806,49,000436,00504,085,0361,0506,02002,078,28,0094,0038,062,00456,606,00214,503,0667,04504,23,04054,003063,0102,0404,0434,063,0234,00108,0018,00676,00404,00000005,027,023,0101,047,000096,0507,03047,0706,04056,4054,50047,0704,004034,05003,0104,094,06506,04507,007009,074,044,565,000047,232,014,02004,7005,98,2014,2032,00083,00609,2006,0232,00401,00000006,0004008,256,00854,049,00804,000454,00000087,4005,00666,2012,2002,70004,30045,00434,2098,5005,2078,06006,0605,0029,000010034,36045,236,0000034,63,0407,801,096,000000007,05004,454,005005,00606,004504,00022,000407,000434,00566,00201,00568,0905,0806,00072,0408,02012,40202,0307,0802,0201,0302,20004,00204,0085,3034,4036,603,005045,08908,0088,000036,02234,088,00706,00506,05006,,2054,402,066,50404,06085,00069,8005,006087,1076,008008,4014,614,2018,000088,6054,6504,40005,0000043,8008,504,452,38,0492,00547,0216,0106,74,12002,52,0000878,407009,1003,008878,10043,0000067,7804,0656,0000098,1008,78,0103,00208,000000006,18,612,0608,89,4098,006098,85,40006,0401,06056,0432,0072,00658,20074,003076,254,878,03004,072,3056,00044,6708,0109,0609,509,3004,08078,566,602,2058,0000063,40545,4034,00000078,409,7403,050056,0500085,506,5007,06058,274,0209,501,434,0027,006066,216,301,00305,00509,00000056,412,0502,07004,0545,02052,004043,00989,00050007,50445,6002,6305,4002,00409,608,08008,0207,0878,056005,7032,000508,04014,0406,0214,632,04004,04034,0505,0124,00027,545,505643,0129,008887,0000707,0202,0787,04038,000000009,00908,1034,0000504,002054,000000008,006047,00094,50008,00016,703,0004056,702,45005,06054,00064,2001,204,02054,0007607,306065,306076,0128,60007,300003,4058,69,0409,2105,876,218,07656,00767,22,4076,4305,609,601,2052,0000069,306,0000000008,40004,0000404,04506,05009,0696,3058,2007,0011,5606,07006,00865,0306,0000045,0069,06503,00049,676,00443,000458,834,60043,343,505,103,50023,125,436,45008,4056,5656,894,66,896,50403,4278,308,3005,5003,8705,96,2026,696,05005,7064,302,304,0000454,8509,0636,27,54008,0854,03043,5080005,400006,5600043,3000054,2034,4007,060063,83,8007,94,1204,5404,107,1005,00000656,0000089,362,6004,245,24,024,0006065,0805,060006,265,685,04003,00000408,346,50003,645,102,3006,672,0084,2141,856,0000054,670002,0304,76504,000636,00068,5045,804,0000087,600004,3003,0906,2802,3002,40007,40068,432,636,1043,3607,21009,500005,06005,5405,21001,0508,005407,00436,00836,06008,02014,02016,1014,1004,00678,3085,1001,000304,005067,00236,5065,0006067,208,005004,0122,042,0445,008506,0436,07007,0276,006006,908,00508,0876,018",'{".":[{"a":[{"a":1,"b":[{"b":[{"a":1,"e":2}],"s":[{"t":3}]}],"c":[{"t":[{"i":[{"n":4}]}]}],"d":[{"e":[{"l":[{"s":5}]}],"l":[{"a":[{".":6}],"e":[{".":4}]}],"r":7,"s":8}],"f":[{"f":[{"u":10},2],"t":9}],"g":[{"n":[{"a":[{".":4}],"e":[{".":4}]}],"r":1}],"i":7,"k":[{"k":[{"a":[{".":4}],"e":[{".":4}],"l":12,"r":12}],"n":[{"e":[{".":4}]}],"r":4,"s":[{"a":[{".":6}],"e":[{".":1}],"t":13}],"t":[{"a":4,"e":[{".":1,"r":[{"e":14},5]}],"r":15}],"v":[{"a":16}]},11],"l":[{"b":[{"u":[{"e":[{"n":17}]}]}],"f":[{"a":18}],"g":[{"e":[{".":1}],"i":15}],"k":[{"a":[{".":4}],"e":[{".":1}],"o":[{"m":1}]}],"l":[{"a":[{".":1}],"e":[{".":1,"g":15}],"o":15,"s":19}],"m":[{"a":[{".":1}],"e":[{".":6}],"i":[{"n":20}]}],"n":[{"a":1}],"p":[{"e":17}],"s":[{"k":21,"o":22}],"t":[{"a":[{".":1,"r":15},23],"e":[{".":1}],"o":24}],"v":[{"e":[{".":4}]}]},11],"m":[{"b":2,"e":11,"m":[{"a":[{".":4}],"e":[{".":1}]}],"s":25,"t":[{"a":4}]}],"n":[{"a":[{"b":24}],"d":[{"a":[{".":1}],"e":[{".":1}],"r":[{"a":9}],"ø":[{"v":27},26]}],"e":[{"r":12,"s":17}],"g":[{"a":[{".":1}],"e":[{".":1,"s":5},12]}],"j":[{"a":[{".":1}]}],"k":[{"a":[{".":1}],"e":[{".":1}]}],"l":[{"a":[{".":1}]}],"n":[{"a":[{".":1,"l":2}],"e":[{".":1},23]},12],"s":[{"a":[{".":1}],"e":[{".":1}]},10],"t":[{"a":[{".":1}],"e":[{".":1,"m":15,"p":15}],"i":[{".":1,"n":4,"s":1,"v":1}]},28]},11],"p":[{"l":[{"a":[{"n":6}]}],"p":29,"t":6}],"r":[{"b":[{"i":17}],"d":[{"e":[{".":4}]}],"e":[{"o":30}],"g":[{"e":[{".":1,"s":15}]}],"i":[{"a":31,"e":[{"n":[{"e":17}]},32]}],"k":[{"a":[{".":6},15]}],"l":[{"a":[{"n":33}]}],"m":[{"e":[{".":1,"a":2}]}],"n":[{"a":[{".":1}],"e":[{".":1,"s":15},12]}],"r":[{"a":[{".":4}],"u":21}],"t":[{"a":[{".":4}],"e":[{".":1}],"h":34,"i":35}],"v":[{"a":[{".":4}],"e":[{".":1,"d":1,"r":1}],"i":36}]}],"s":[{"k":[{"a":6,"e":[{".":1,"s":[{"e":15}]}]}],"l":[{"e":[{".":1}]}],"p":[{"a":[{".":4}]}],"s":15,"t":[{"r":[{"u":22}]}]},11],"t":[{"h":1,"k":[{"i":1}],"l":[{"e":[{".":1}]}],"n":[{"a":[{".":1}]}],"o":37,"s":12,"t":[{"e":5,"r":31}],"y":38}],"u":[{"d":[{"e":6}],"e":4,"g":[{"a":6,"e":1}],"k":[{"a":[{".":1}]}],"l":[{"e":[{".":6}]}],"r":1,"s":[{"a":[{".":4}],"e":[{".":4}],"k":39,"p":1}]}],"v":[{"i":[{"d":40,"n":[{"d":[{"e":2}]}]},28],"l":[{"a":[{".":1}],"e":[{".":1}]}],"s":40}]},0],"b":[{"a":[{"b":[{"y":4}],"l":[{"a":[{".":4}],"e":[{".":1}]}],"n":[{"e":[{".":1}],"k":[{"l":41}]}],"r":[{"e":[{".":1}],"i":[{".":1}]}],"t":[{"e":[{".":6}]}]}],"e":[{"d":[{"e":[{".":1,"n":[{"e":3},5],"t":26}],"i":[{".":6}]}],"e":[{"d":34}],"k":[{"e":[{".":4}]}],"l":[{"a":[{".":1}]}],"n":[{"a":[{"r":35}],"e":[{".":1}]}],"r":[{"a":[{".":4}],"e":[{".":4,"s":1,"t":[{"t":31}]}],"i":[{".":6}]}],"s":[{"k":[{"a":2}],"t":[{"e":[{"n":4}]}]}],"t":[{"a":[{".":1}],"e":[{".":4}],"v":9}]}],"i":[{"d":[{"e":[{".":4}]}],"e":[{"n":4}],"l":[{"e":[{".":1,"t":14}]}],"t":[{"r":13}]}],"l":[{"a":[{"d":23}],"e":[{"k":[{"e":42,"k":[{"f":43,"s":[{"t":44,"v":45}]}]},41]}],"i":[{"n":[{"g":14}]}]},1],"o":[{"d":[{"a":6,"e":[{".":6}]}],"g":[{"s":46}],"k":[{"e":[{"n":[{".":25}]}]},22],"l":[{"a":6}],"n":[{"a":[{".":1}]},28],"r":[{"t":[{"e":36,"i":48,"r":49},47]}]}],"r":[{"u":[{"d":[{"d":[{"s":[{"å":51},50]}]}]}]}],"u":[{"d":[{"a":[{".":4}],"r":52}],"e":[{"t":1}],"l":[{"k":53}],"s":[{"s":[{"y":31}]}]}],"y":[{"d":[{"e":[{".":4}]}],"t":[{"a":[{".":6}]}]}],"æ":7,"ø":[{"k":[{"a":3}],"n":[{"e":[{"n":6,"r":6}]}]}]},11],"c":[{"a":[{"e":[{"n":[{".":1}]}],"r":[{"s":53}],"s":[{"e":4}]}],"e":[{"b":4}],"o":[{"s":[{"t":1},54]}]},0],"d":[{"a":[{"g":[{"e":[{".":1}],"s":[{"e":36}]}],"l":[{"e":[{".":1}]}],"m":7,"n":[{"e":[{".":1}]}],"t":[{"a":1}],"u":[{"s":24}]}],"e":[{"k":[{"a":[{"r":49}],"o":[{"d":16}]}],"l":[{"e":[{".":1,"i":26}],"s":19}],"m":[{"i":[{".":1}],"o":[{"e":16}]}],"n":[{"s":[{"l":22}]}],"r":[{"e":[{".":1,"t":26}],"i":[{".":1,"v":56},55],"o":[{"m":26}],"u":6}],"s":[{"m":3,"o":1,"t":[{"o":1}]}],"u":1,"v":[{"i":[{"s":17}]}]}],"i":[{"a":7,"e":[{"l":9,"r":4,"t":[{".":1}]}],"f":[{"t":57}],"n":[{"e":[{".":1}],"g":[{"s":[{"a":58}]}]}],"s":[{"k":1,"t":59}]}],"o":[{"e":[{"n":1,"r":1,"t":6}],"m":[{"e":17}],"r":[{"a":1,"e":[{".":4}]}]}],"r":[{"a":[{"u":[{"m":5}]}]}],"s":1,"u":[{"a":1,"e":[{"n":[{".":1}],"r":1}],"f":[{"t":18}],"g":[{"e":[{".":1}]}],"k":[{"n":24}],"s":[{"e":[{".":1}],"t":1}]}],"y":[{"r":[{"e":[{".":1}]}]}],"ø":[{"l":[{"a":[{".":4}]}],"r":[{"a":60,"e":60},13],"v":[{"e":[{".":1}]}]}],"å":[{"r":[{"e":[{"n":15,"t":2}]}]}]},11],"e":[{"b":[{"b":[{"a":1}]}],"c":[{"u":31}],"d":[{"d":[{"a":1}],"l":[{"e":[{".":1}]}]}],"f":[{"o":61,"t":[{"a":[{"s":17},1],"e":[{"r":4}]}]}],"g":[{"d":[{"e":[{".":6}]}],"e":[{"l":22},28],"g":[{"a":[{".":4}],"e":[{".":1,"l":1}]}],"l":[{"a":[{".":6}],"e":[{".":1}]}],"n":[{"a":[{".":4}],"e":[{".":1}]}],"o":[{"t":62}],"s":[{"e":[{".":6}],"i":15},23]}],"i":[{"d":[{"a":22,"e":[{"n":15}]}],"g":[{"a":[{".":1}],"e":[{"r":2}]}],"k":[{"a":22,"e":[{".":1}]}],"l":12,"m":[{"a":[{".":6}],"e":[{".":6}]},12],"n":[{"a":[{"s":61}],"i":12,"o":[{"g":63}],"s":[{"t":[{"a":19,"o":64}]}]}],"r":[{"a":[{"r":35}],"e":[{"s":15}],"u":39}],"t":[{"e":15,"r":39}]},7],"k":[{"k":[{"o":23}],"l":[{"e":[{".":1}],"i":12}],"n":[{"e":[{".":4}]}],"r":1,"s":[{"a":[{".":6}],"e":[{".":6},12],"p":[{"i":31},1],"t":[{"a":9},65]}],"t":[{"a":6,"e":[{".":1}],"o":2}]}],"l":[{"d":[{"a":[{".":6}],"e":[{".":1}]}],"g":[{"r":26}],"i":[{"n":[{"e":22}]}],"k":12,"l":15,"s":[{"a":31,"k":[{"l":23}],"t":31},4],"t":[{"a":[{".":4}],"e":[{".":4}]}],"v":[{"e":[{"l":66,"g":4}]}]}],"m":[{"b":67,"f":[{"a":49}],"m":[{"a":[{".":1}],"e":[{".":6}]}],"n":[{"a":[{".":4}]}],"p":15}],"n":[{"a":15,"d":[{"a":[{".":1}],"e":[{".":1}],"r":22}],"g":[{"a":[{".":1,"v":4}],"e":[{".":1},12],"r":3,"s":36}],"k":[{"a":4,"e":[{".":1}]}],"o":[{"g":68}],"s":[{"a":4,"e":[{".":1}],"o":15,"p":12}],"t":[{"e":[{".":4}],"r":[{"a":3,"e":32},23]},15],"ø":34}],"p":[{"t":4}],"r":[{"a":6,"e":1,"g":[{"r":26}],"k":[{"e":1}],"l":[{"a":[{".":1}],"e":[{".":1}]}],"m":[{"a":[{".":4}],"e":[{".":1,"k":1}]}],"n":[{"a":[{".":1}]}],"t":[{"a":[{".":4}],"e":[{".":1}]}]}],"s":[{"a":[{"s":[{"t":35}]}],"k":[{"a":[{".":6},12],"e":[{".":1}]},69],"l":[{"a":[{".":6}],"e":[{".":6}]},15],"p":[{"a":[{".":4}]},12],"r":4,"s":[{"a":[{".":6}],"e":[{".":1}],"o":1}],"t":[{"a":15,"e":[{".":4,"t":2},12],"i":15,"r":70,"u":2}]}],"t":[{"l":[{"a":[{".":6}],"e":[{".":6}]}],"n":[{"a":1,"e":[{".":1}]}],"s":[{"a":[{".":6}],"e":[{".":4},9],"i":23},1],"t":[{"e":[{"r":72},71],"i":4}]}],"u":[{"r":[{"o":17}]}],"v":[{"j":[{"a":6,"e":[{".":1}]}],"n":[{"e":[{".":1}]}]}],"x":1},11],"f":[{"a":[{"e":7,"g":[{"s":65}],"n":[{"e":[{".":1}],"t":[{"o":65}]}]}],"e":[{"e":1,"i":[{"e":32,"l":[{"i":17}]}],"l":[{"a":49,"l":22,"t":[{"a":23}]},7],"m":[{"a":1,"e":6,"o":[{"g":73}],"t":22}],"r":[{"r":[{"o":32}],"s":31}],"s":[{"l":6,"t":[{"e":75},74]}],"t":[{"t":[{"a":17}]}]}],"i":[{"b":26,"a":4,"l":[{"e":[{".":1}]}],"r":[{"e":[{"o":[{"g":76}]}]}],"s":[{"k":31}]}],"j":[{"e":[{"l":5}],"o":[{"r":[{"d":43}]}]}],"l":[{"a":[{"t":[{"o":53}]}]}],"o":[{"b":[{"i":[{".":1}]}],"l":28,"r":[{"d":[{"r":[{"i":75,"a":77}]}],"e":[{"n":[{".":22}]}],"m":[{"s":17}],"s":[{"o":77}]},7]}],"r":[{"e":[{"e":31}],"i":[{"e":[{"r":[{"e":19}]}]}]}],"u":[{"g":[{"e":[{".":4}]},28],"l":28,"s":[{"e":[{".":6}]}]}],"y":[{"s":[{"e":6}]}],"ø":[{"r":[{"e":[{"l":6}]}]}]},0],"g":[{"a":[{"f":61,"l":[{"e":[{".":1}],"i":[{".":6}]}],"m":[{"e":1}],"n":[{"e":[{".":1}],"g":[{"s":78}]}],"s":[{"t":[{"a":22}]},23],"t":7,"v":[{"e":[{".":1,"e":35}]}]}],"e":[{"a":7,"l":[{"e":23}],"n":[{"e":12,"i":79,"s":22}],"o":1,"s":[{"t":[{"a":[{"p":20}]},1],"v":35}]}],"h":[{"a":22}],"i":[{"f":[{"t":[{"s":17}]}],"n":1,"s":[{"p":61},1],"v":[{"a":59}]}],"j":[{"e":[{"n":64}]}],"l":[{"o":[{"i":31,"v":39}],"y":[{"s":22}],"ø":[{"s":[{"e":39}]}]},4],"n":[{"å":[{"l":[{"a":61}]}]}],"o":[{"d":[{"e":[{"s":15}]}],"s":61}],"r":[{"a":[{"v":[{"e":[{"n":[{"d":41}]}]}]}],"e":[{"i":[{"e":5}]}],"u":[{"n":[{"n":[{"s":14}]}],"s":[{"s":17}]}]}],"u":[{"d":[{"e":[{".":1}],"v":65}],"l":[{"a":[{"t":1}]}],"s":54,"t":[{"u":[{".":1}]}]}],"ø":7,"å":[{"s":[{"e":53}],"v":1}]},11],"h":[{"a":[{"i":[{"s":19}],"k":[{"a":[{".":4}]}],"m":[{"a":[{".":6}]}],"n":[{"d":[{"s":[{"l":[{"a":81},80]}]}]}],"v":[{"a":[{"k":3}],"i":4}]}],"e":[{"e":[{"r":[{".":1}]}],"i":[{"e":22}],"l":[{"u":24}],"n":[{"i":82},7],"r":[{"i":83,"o":[{"e":57,"i":40,"l":40,"s":84},83],"u":6}],"s":[{"s":53}],"t":[{"s":[{"e":77},47],"e":20},26]}],"i":[{"l":[{"l":23}],"n":1,"r":[{"e":[{".":4}]}]}],"o":[{"d":7,"e":7,"r":[{"e":[{".":1,"n":15,"t":2}]}],"t":[{"a":[{".":6}]}],"v":[{"a":[{".":6}]}]}],"u":[{"d":[{"i":1}],"l":[{"l":[{"s":16}]}],"s":[{"e":[{"n":85}],"v":[{"a":[{"l":31}]}]}]}],"v":[{"i":[{"t":[{"e":65},18]}],"o":[{"r":86}]}],"y":[{"r":[{"a":[{".":4}],"e":[{".":1}]}]}],"ø":[{"i":22,"r":[{"e":1}],"v":[{"a":1,"e":[{".":1}]}],"y":[{"s":[{"t":[{"æ":87}]}]}]}],"å":[{"e":[{"n":[{".":6}],"r":6}],"n":[{"d":[{"s":[{"l":80}]}]}]}]},0],"i":[{"a":89,"b":[{"l":90}],"d":[{"a":0}],"f":[{"ø":[{"r":[{"e":22}]}]}],"g":[{"l":[{"a":[{".":6}],"e":[{".":1}]}]}],"h":[{"e":[{"r":0}]}],"k":[{"k":[{"e":[{"s":91},17]},4],"l":92,"t":[{"e":[{".":6}]},15],"v":38},7],"l":[{"a":[{".":0,"n":[{"d":[{"e":93}]}]},90],"b":[{"o":[{"d":[{"a":46}]}]}],"d":[{"r":13,"e":[{".":4}]}],"e":[{"g":90,"s":11}],"j":[{"a":1,"e":[{".":4}]}],"k":[{"e":[{".":4}]}],"l":[{"e":[{".":1}]}],"s":[{"k":4}],"t":[{"e":[{".":1}]}]}],"m":[{"e":11,"ø":[{"t":[{"e":[{".":22}]}]}]}],"n":[{"a":[{"d":15}],"d":[{"e":15}],"g":[{"a":[{".":6}],"e":[{".":1}],"r":[{"i":4},12]}],"k":[{"a":[{".":4}]},20],"n":[{"e":[{".":1,"k":[{"s":21}],"t":[{"s":21,"t":21}]},20],"i":85},85],"s":15,"t":[{"e":[{"s":2}]}]}],"o":[{"n":[{"a":1,"o":[{"m":1}]}]}],"r":[{"e":[{"r":0}],"k":94,"r":[{"a":[{".":6}],"e":[{".":4}]}]}],"s":[{"a":11,"c":90,"e":11,"k":40,"l":[{"a":[{"g":[{"a":46}],"m":4}],"e":[{".":1,"t":1}]}],"m":[{"e":[{".":1}]}],"n":[{"a":[{".":6}],"e":[{".":6}]}],"p":[{"a":15,"e":95}],"s":[{"a":[{".":4}],"e":[{".":1}],"k":15},34],"t":[{"e":[{".":6,"d":38,"m":38}],"i":2,"j":96,"r":96},31],"u":[{"t":[{".":6}]}],"ø":97}],"t":[{"i":38}],"v":[{"a":[{"n":0,"r":[{".":0}]},90],"e":[{"l":0,"n":11,"r":[{".":0,"e":0}]},90],"r":[{"a":[{".":6}],"e":[{".":4}]}]}],"ø":90},88],"j":[{"a":[{"d":[{"e":[{".":1}]}],"e":4,"n":[{"e":1}],"s":[{"e":[{".":6}]}],"v":[{"a":[{".":1}]}]}],"e":[{"a":7,"l":7,"m":7,"r":[{"e":15,"n":[{"s":78}]}],"t":[{"a":1}]}],"i":1,"o":[{"e":[{"n":[{".":6}]}],"r":[{"d":[{"r":64,"s":98,"u":64}]}],"s":[{"e":[{".":1}]}]}],"u":[{"a":4,"l":[{"a":4,"e":18,"i":99}]}],"ø":[{"d":[{"e":[{"p":1}]}]}]},0],"k":[{"a":[{"f":28,"l":[{"a":[{".":4}],"i":[{".":4}],"t":62,"v":[{"e":[{"l":100}]}]}],"m":[{"e":15}],"n":[{"a":12,"e":[{".":1}]}],"p":[{"r":85}],"r":[{"a":[{".":1,"v":101}],"e":[{".":4}],"i":[{"n":15}],"t":[{"r":64}]}],"t":[{"e":[{".":1}],"h":20}],"u":[{"k":39}],"v":[{"a":[{".":4}],"e":[{".":1}]}]}],"e":[{"e":4,"l":24}],"i":[{"e":[{"r":18}],"n":[{"a":1,"i":2,"o":18}],"r":28,"s":[{"e":[{".":1}]}],"v":[{"a":[{".":6}],"e":[{".":4}]}]}],"j":[{"e":[{"d":[{"e":102}],"k":[{"l":16},23]}],"ø":[{"n":[{"n":103}]}]}],"l":[{"e":[{"s":23}],"i":[{"n":[{"e":22}]}],"o":[{"v":[{"a":39}]}],"y":[{"s":[{"a":61}]}],"ø":[{"s":62}]}],"n":[{"a":[{"s":[{"e":61}]}],"e":[{"p":[{"r":41}],"r":62}]}],"o":[{"d":[{"a":[{".":4}]}],"g":[{"r":2}],"l":[{"a":1,"e":[{".":6},12],"j":22}],"p":[{"e":[{".":4},12]}],"r":[{"s":[{"e":[{"d":47}]}]}],"s":[{"e":[{".":1}]}],"t":[{"a":[{".":4}],"e":[{".":1}]}],"v":[{"e":[{".":4}]}]}],"r":[{"i":[{"n":[{"g":[{"s":14}]}]}],"u":[{"s":[{"t":41}]}]}],"s":4,"u":[{"f":[{"l":9}],"l":[{"e":1}],"r":[{"a":[{".":6}],"e":[{".":1}]}],"t":[{"a":[{".":6}],"e":[{".":6}]}]}],"v":[{"a":[{"r":[{"a":104}]}],"e":[{"k":[{"a":39,"e":22}]}]}],"y":[{"l":[{"a":[{".":6}],"e":[{".":1}]}],"t":[{"e":[{".":4}]}]}],"ø":[{"s":12}],"å":[{"p":[{"a":4}]}]},11],"l":[{"a":[{"d":[{"a":[{".":1}],"e":[{".":1}]}],"g":[{"a":1,"e":[{".":1,"r":15}]}],"m":[{"a":[{".":1}]}],"p":[{"p":[{"e":105}],"s":[{"e":106}]}],"t":[{"a":[{".":4}],"e":[{".":1}],"r":12}],"v":[{"a":1,"e":[{".":1},12],"æ":3}]}],"e":[{"a":[{"r":6}],"d":[{"a":[{".":1}],"e":[{".":1}]}],"e":[{"r":1,"t":4}],"f":[{"l":24},7],"g":[{"a":[{"t":[{"a":17}]}],"e":[{".":1,"l":1}],"i":[{".":6}]}],"i":[{"e":[{"r":[{".":61}]},32],"v":[{"e":23}]}],"k":[{"e":[{".":1}],"r":26}],"m":[{"u":49}],"n":[{"e":[{".":1}]}],"o":21,"s":[{"a":40,"e":[{".":1,"k":1,"s":1}],"p":26}],"t":[{"a":2,"t":[{"a":[{"n":31}]}]},7],"u":107,"v":[{"a":[{".":1},12],"e":[{".":1,"s":1}]}]}],"i":[{"a":6,"d":[{"e":[{".":1}]}],"e":[{"n":[{"e":15}]},25],"g":[{"a":18},7],"k":[{"k":19,"o":24,"s":65},7],"m":[{"a":1}],"n":[{"k":36}],"r":[{"a":4,"e":[{".":1}]}],"s":[{"a":1,"e":[{".":1}]}],"t":[{"a":[{".":1}],"e":[{".":1}],"i":15}],"v":[{"e":[{".":1,"n":26}],"s":[{"u":108,"v":53}]}]}],"o":[{"e":20,"g":[{"e":[{".":4}],"i":[{".":6}],"r":3}],"i":1,"n":[{"a":4}],"o":6,"r":[{"i":4}],"s":[{"a":[{".":6}],"e":[{".":1}]}],"t":[{"e":4}],"v":[{"a":1,"e":[{".":1},12]}]}],"u":[{"d":1,"e":7,"n":[{"a":1}],"p":[{"a":4,"e":[{".":1}]}],"r":[{"a":[{".":4}],"e":[{".":1}]}],"s":[{"e":[{".":4}]}],"t":[{"a":[{".":1,"s":35}]}]}],"y":[{"d":[{"e":[{".":1}],"s":24}],"e":6,"g":[{"e":6}],"s":[{"e":[{".":1},20],"k":1,"s":19,"t":[{"r":6}]}],"t":[{"e":[{".":1}]}],"v":[{"e":[{".":1}]}]}],"ø":[{"d":[{"e":[{".":6}]}],"e":[{"n":[{".":4}]}],"n":[{"e":[{".":6}]}],"p":[{"a":[{".":4}],"e":[{".":1}]}],"s":[{"a":109,"i":109,"m":109,"p":109}],"v":[{"i":22}],"y":[{"e":[{"n":[{"e":17}]}]}]}],"å":[{"m":[{"a":6}],"r":[{"e":[{".":4},15]}],"t":[{"e":[{".":1}]}]}]},11],"m":[{"a":[{"g":[{"e":[{".":1}],"r":39}],"h":31,"k":[{"a":12,"e":[{".":1}],"t":[{"a":[{"t":47}],"s":17}]}],"l":[{"e":[{".":1}],"i":[{".":1}]}],"n":[{"a":[{".":1}],"d":[{"e":[{"l":91}]}],"e":[{".":1}],"i":[{".":1}]}],"r":[{"a":[{".":1}],"e":[{".":1}],"i":[{".":1}],"s":[{"j":[{"ø":110}]}]}],"s":[{"a":[{".":1}],"i":1,"t":4}],"t":[{"a":6,"h":111,"t":[{"o":112}]}],"v":1}],"e":[{"d":[{"e":[{"i":3}],"i":[{"n":21},113],"r":3},85],"i":[{"e":[{"r":[{".":22}],"t":22}]}],"k":[{"l":22}],"l":[{"a":[{".":4}],"l":[{"o":75}],"ø":26}],"n":[{"e":[{".":1}]}],"r":[{"i":12}],"s":[{"a":[{"l":109}],"k":1,"t":[{"i":22}]}],"t":[{"a":[{"l":[{"l":115}]},114],"r":[{"i":1}]}]}],"i":[{"k":[{"j":4}],"l":[{"e":[{".":1}]}],"m":[{"e":[{".":1}]}],"n":[{"i":[{".":1,"k":1}],"k":[{"e":42},41]}],"s":[{"t":55}]}],"n":[{"e":31}],"o":[{"d":[{"e":15}],"e":[{"r":4}],"n":[{"a":[{".":1}],"e":[{".":6}],"s":[{"t":[{"r":116},23]}]}],"r":[{"d":[{"e":19}],"e":[{".":1}],"t":[{"a":117}]}],"s":[{"e":[{".":1}]}],"t":[{"a":1,"e":[{"k":1,"r":1}],"r":1}],"v":15}],"u":[{"g":[{"a":6,"e":[{".":6}]}],"l":[{"e":[{".":4,"s":22}]}],"r":[{"e":10},61]}],"y":[{"k":[{"a":6,"e":[{".":1}]}]}],"ø":[{"r":[{"e":[{".":1,"s":15}]}],"t":7}],"å":[{"l":[{"a":[{".":4}],"o":24}]}]},93],"n":[{"a":[{"b":[{"o":18}],"g":[{"e":[{".":4}]}],"k":[{"e":[{".":6}]},28],"n":[{"s":22}],"r":1,"s":[{"a":[{".":1}]}],"t":[{"r":12,"t":[{"r":31}]},28]}],"e":[{"d":[{"e":[{".":1,"n":1}],"i":26,"r":85,"s":65}],"f":[{"r":26}],"g":118,"i":[{"e":22}],"k":[{"r":70}],"o":[{"n":119},118],"p":[{"a":[{".":6}],"e":[{".":4}]}],"s":7,"t":1}],"i":[{"a":[{"r":6}],"e":[{"r":4}],"g":[{"l":23}],"n":[{"a":[{".":1}]}],"o":[{"g":101}],"p":[{"a":[{".":1}],"e":[{".":4}]}],"s":[{"a":6,"e":[{".":4}]}],"t":[{"a":49,"o":1}],"v":[{"a":1}]}],"o":[{"d":[{"e":[{".":4}]}],"e":4,"k":[{"a":6}],"m":[{"e":[{".":1}],"i":[{".":6}]}],"r":1,"s":[{"e":6,"i":[{".":6}]}],"v":[{"a":[{".":1}]}]}],"u":[{"e":1}],"y":[{"a":15,"o":12,"s":[{"a":[{".":6}],"e":[{".":4}]}],"t":[{"e":[{".":1}]}]}],"æ":[{"r":[{"a":[{"s":[{"t":[{".":39}]}]}],"e":[{".":1}]}]}],"ø":[{"d":[{"d":23}],"r":[{"e":[{".":1}]}]}],"å":[{"d":[{"e":[{".":1}]}],"l":[{"e":[{".":4}]}]}]},93],"o":[{"b":[{"o":[{"e":22}]}],"d":[{"d":[{"a":[{".":1}],"e":[{".":1}]}],"e":[{"l":[{"s":105}]}],"l":[{"a":[{".":6}],"e":[{".":6}]}]}],"f":[{"f":[{"s":[{"i":120}]}],"t":[{"e":[{".":1,"b":15}]}]}],"g":1,"k":[{"k":[{"a":[{".":6}],"e":6},69],"s":[{"e":[{".":1}]}]}],"l":[{"d":[{"s":24}],"g":[{"a":[{".":1}]}],"i":[{"v":19},22],"l":[{"a":6,"e":[{".":6}]}],"m":4}],"m":[{"a":[{"r":[{".":1}]}],"b":[{"o":[{".":4}]}],"e":[{"n":121}],"g":[{"å":[{".":1}]}],"m":[{"e":1}],"s":122},69],"n":[{"d":[{"e":[{".":1,"s":15}],"s":24}],"k":[{"l":4}],"n":[{"a":4,"e":[{".":6}]}]}],"p":[{"a":[{"r":15}],"p":[{"a":1,"e":[{"l":61},1],"i":1,"l":[{"a":[{"t":[{"e":[{".":91}]}]}]},24],"s":19}],"r":2,"t":31}],"r":[{"d":[{"a":1,"e":[{".":1,"l":1}],"r":1,"s":42}],"g":[{"a":15}],"k":[{"a":[{".":4}],"e":[{".":1}]}],"m":[{"e":[{".":4}]}],"r":[{"e":[{".":1}]}],"t":31,"v":[{"a":4}]}],"s":[{"a":22,"e":[{"l":12}],"k":1,"s":1,"t":[{"e":[{".":1}]}]}],"t":[{"r":15,"t":[{"a":[{".":1},94],"e":[{".":1,"s":1}],"o":[{".":1},12]}]}],"v":[{"e":[{"r":[{"e":[{"n":[{"d":123}]}],"i":124,"k":125},18]},31],"r":[{"e":6}],"u":[{"l":4},15]}]},11],"p":[{"a":[{"l":[{"a":[{".":6}],"e":[{".":1}],"i":31}],"n":[{"a":109,"e":[{"u":21},20],"i":20}],"r":[{"e":[{".":4}]}]}],"e":[{"d":[{"o":12}],"k":[{"e":[{".":1}],"t":22}],"l":[{"s":[{"j":23}]}],"n":[{"e":[{".":1}]}],"p":[{"r":24},7],"r":[{"i":126,"m":127}],"s":[{"a":[{".":6}],"e":[{"t":17}],"t":1}]}],"h":7,"i":[{"l":[{"e":[{".":4}]}],"p":4,"r":[{"a":35}],"s":7}],"l":[{"e":[{"n":[{"g":80}]}],"u":[{"s":[{"s":[{"e":128},116]}]}],"ø":[{"s":[{"e":61}]}]}],"o":[{"e":[{"t":1}],"l":[{"a":[{".":6},12],"e":[{".":1}],"o":[{"g":1}]}],"p":[{"e":130,"p":24,"u":67},129],"r":[{"a":6,"e":[{".":4,"s":1}]}],"s":[{"t":4}],"t":[{"a":[{".":6}],"e":[{"k":4}]}]}],"r":[{"o":[{"k":62}]}],"s":7,"ø":[{"n":[{"s":131},24]}],"å":[{"d":20}]},11],"r":[{"a":[{"d":[{"a":[{".":4}]}],"e":[{"t":4}],"g":[{"a":[{".":1}],"e":[{".":1}]}],"j":[{"a":[{".":1}]}],"k":[{"a":1,"s":16}],"m":7,"n":[{"a":1,"e":[{".":1}],"s":[{"a":77}]}],"p":[{"a":[{".":4}],"e":[{".":4}],"s":[{"e":42,"o":132},23]}],"r":[{"e":[{".":1}]}],"s":[{"a":[{".":4}]}],"t":[{"i":2}],"v":[{"a":[{".":4}],"e":[{".":1}]}]}],"e":[{"a":[{"l":1}],"d":[{"a":[{".":4}],"e":[{".":1}]}],"e":[{"l":31}],"g":[{"e":[{"l":5}],"i":[{".":1}]}],"i":[{"d":[{"e":61}],"e":[{"r":[{".":22}]}],"n":[{"s":1}]},28],"k":[{"a":[{".":4}],"e":[{".":1}],"l":[{"a":[{"r":6}],"e":6,"i":1}],"n":4}],"l":[{"e":[{".":6}]}],"m":[{"a":[{".":1}]}],"n":[{"a":[{".":1}],"e":[{".":1}],"s":[{"k":31}],"t":23}],"p":[{"s":22}],"s":[{"s":39,"t":[{"a":[{"n":20}]}]}],"t":[{"t":[{"s":[{"k":[{"r":[{"i":66}]}]}]}]}],"v":[{"e":[{".":1,"s":1}],"n":39}]}],"i":[{"d":7,"e":[{"n":[{"e":22}]},6],"k":[{"a":[{".":4}]}],"m":[{"a":4,"e":[{".":1}]}],"p":[{"a":[{".":1}],"e":[{".":1}],"o":26}],"s":[{"a":[{".":1}],"e":[{".":1}],"k":[{"o":22}],"ø":85}],"t":[{"a":[{".":1}],"e":[{".":4}]}],"v":[{"a":[{".":4}],"e":[{".":1}]}]}],"o":[{"a":[{"n":1}],"d":[{"e":[{".":1}],"i":6}],"e":1,"k":[{"e":[{".":6}]}],"m":[{"a":[{".":1}],"i":1}],"p":[{"a":[{"r":35},4],"e":[{".":1},12]}],"s":[{"a":[{"r":35},1],"e":[{".":1,"d":1}]}],"t":[{"a":[{".":1}],"e":[{".":1,"k":133}]}],"v":[{"a":6,"e":[{".":6},12]}]}],"u":[{"g":[{"a":[{".":6}],"e":[{".":1}],"l":[{"e":39}]}],"k":[{"a":6}],"n":[{"a":[{".":1}],"e":[{".":1,"s":120}],"g":61}],"s":[{"e":[{".":1}],"k":1}],"v":[{"a":[{".":6}],"e":[{".":1}]}]}],"y":[{"e":[{"n":[{"e":61}]},7],"k":[{"e":[{".":4}]}]}],"ø":[{"d":[{"s":134},28],"l":[{"e":[{".":6}]}],"r":[{"e":[{".":1}]}],"v":[{"a":[{".":6}],"e":[{".":1}]},69],"y":[{"e":61}]}],"å":[{"d":[{"a":[{".":6}],"e":[{".":1}]}],"e":[{"n":1,"r":[{".":6}]}],"g":32,"k":[{"a":[{".":4}],"e":[{".":1}],"l":34}],"n":[{"a":[{".":4}]}],"s":[{"a":[{".":6}]}]}]},11],"s":[{"a":[{"g":[{"e":[{".":1}],"n":31}],"l":[{"a":[{".":1}],"e":[{".":1}]}],"m":[{"e":[{".":1,"r":1}]}],"n":[{"d":[{"e":62,"i":62},127],"s":[{"k":[{"u":64}]}]}],"u":[{"e":31}]}],"c":[{"h":31}],"e":[{"b":7,"e":7,"i":1,"k":[{"l":26,"s":[{"o":[{"g":135}]}]}],"l":[{"v":[{"i":136},53]}],"n":[{"a":[{".":4}],"e":[{".":1}],"s":61}],"r":[{"a":[{".":1}],"v":[{"e":[{"l":61}]}]}],"t":[{"e":[{".":1}]}]}],"h":[{"a":[{"k":[{"e":[{".":39}]}]}]}],"i":[{"d":7,"e":[{"r":4}],"g":[{"a":[{".":4}],"e":[{".":1}]}],"k":[{"k":[{"e":19}]}],"l":[{"a":[{".":6}],"e":[{".":1}]}],"n":[{"e":[{".":1}],"n":[{"s":116}]}],"r":[{"a":[{".":1}]}],"s":[{"t":[{"r":15}]}],"v":[{"a":1,"e":[{".":1}]}]}],"j":[{"e":[{"i":23}],"u":[{"o":[{"g":73}]}]}],"k":[{"a":[{"k":[{"a":61,"e":22}],"t":5}],"e":[{"i":[{"d":17}]}],"i":[{"n":[{"n":[{"s":123}]},31]}],"o":[{"d":[{"e":[{".":61}]}],"g":[{"u":17}]}],"r":[{"i":[{"t":[{"t":[{"s":137}]}]}]}],"u":[{"d":[{"d":[{"s":[{"å":51},138]}]}],"m":47}],"y":[{"f":[{"l":[{"a":127}]}]}],"å":[{"r":[{"a":22}]}]},4],"l":[{"e":[{"s":[{"v":47}]}],"i":[{"b":[{"r":127}],"m":17}],"o":[{"t":[{"t":[{"s":139}]}]}],"u":[{"k":[{"a":39,"e":[{".":22}]}]}],"ø":[{"s":[{"e":22}]}]}],"m":[{"a":[{"s":[{"k":17},23]}],"i":[{"g":[{"r":127}]}],"o":[{"g":39}],"å":[{"k":77,"l":39,"t":[{"t":17},42]},24]}],"n":[{"e":[{"k":23},24],"i":[{"t":[{"t":[{"s":138}]}]}],"ø":[{"k":24}]},1],"o":[{"a":32,"d":[{"e":6}],"m":[{"m":[{"a":103}]}],"n":[{"a":31}],"p":[{"p":[{"a":23}]}],"r":[{"t":53}],"t":[{"a":[{".":1}]}]}],"p":[{"a":[{"r":[{"a":22}]}],"e":[{"e":31}],"i":[{"l":[{"a":39}]}],"r":[{"i":[{"s":80}]}]},140],"t":[{"a":[{"k":[{"a":39}],"l":[{"i":22}],"t":[{"s":5}]}],"e":[{"d":[{"s":5}],"i":[{"n":[{"a":141,"s":141}]},23],"m":[{"m":5}],"v":[{"n":[{"a":49}]}]}],"i":[{"m":[{"e":61}]}],"o":[{"n":[{"e":22}],"r":[{"a":31}]}],"r":[{"e":[{"k":[{"s":138}]}]}],"u":[{"a":32,"v":[{"a":39}]}],"å":[{"l":[{"l":80}]}]},4],"u":[{"n":[{"d":[{"s":80}]}],"r":[{"i":1}],"t":[{"e":15}]}],"v":[{"a":[{"l":[{"a":22}],"r":[{"a":[{".":22}],"e":22,"s":17}]}],"e":[{"r":[{"n":46}]}]},6],"y":[{"d":[{"a":52,"e":20},22],"n":[{"a":[{".":4}],"e":[{".":1}]}],"t":[{"e":[{"r":15}],"i":12}],"v":[{"o":[{"g":142}]},3]}],"z":4,"æ":[{"r":[{"e":[{"g":65}]},54]},7],"ø":[{"k":[{"a":6,"e":[{".":1}]}],"l":[{"v":47}],"r":[{"a":24}],"y":[{"e":[{"n":31},17]}]}],"å":[{"p":[{"e":[{"n":15}]}],"r":[{"e":12}]}]},11],"t":[{"a":[{"k":[{"e":[{".":6}],"r":39,"s":[{"k":22,"p":143}]}],"l":[{"a":[{".":1}],"e":[{".":1,"s":1}],"l":[{"i":23}]}],"m":[{"m":22}],"n":[{"d":[{"e":22}]}],"p":[{"r":26}],"r":[{"a":[{".":1}],"e":[{".":1}]}],"s":7}],"e":[{"e":1,"i":[{"e":[{"r":39}]},4],"k":[{"e":[{".":6}]}],"m":[{"a":[{".":1}]}],"o":4,"n":[{"e":[{".":6}]}],"s":[{"e":[{".":1}],"i":2,"t":[{"a":1,"r":1}]}]}],"h":7,"i":[{"a":6,"d":[{"r":22,"s":144,"e":[{".":1}]}],"e":1,"g":[{"r":85}],"k":[{"i":1}],"l":[{"i":36},26],"m":[{"e":[{"d":1}]}],"n":[{"a":[{".":1}],"e":[{".":1}]}],"p":[{"l":26}],"s":1}],"o":[{"a":[{"r":[{"m":15}]}],"e":[{"n":[{".":4}],"r":[{".":1}],"t":[{".":4}]}],"k":[{"k":46}],"l":[{"e":[{".":4}]}],"n":[{"a":[{".":4}]}],"o":[{"g":101}],"r":[{"a":[{".":1}],"e":[{".":1,"b":4}],"g":[{"a":47}],"o":12,"s":[{"k":[{"e":145}],"v":53}],"y":[{"e":15}]}],"s":[{"t":[{"r":1}]}],"t":[{"a":[{"l":[{"a":[{".":49}]}]}],"e":[{".":6}]},10],"v":[{"a":4,"e":[{".":1}]}]}],"r":[{"a":[{"c":61}],"e":[{"b":24,"p":61,"o":[{"g":73}],"s":[{"k":[{"j":[{"a":31}],"o":146}],"l":61,"p":24,"t":19}]}]},4],"s":[{"j":28},7],"u":[{"e":[{"n":[{".":1}]}],"n":[{"a":4,"e":[{".":1}]}],"r":[{"a":[{".":4}],"e":[{".":1}]}],"v":[{"e":[{".":6}]}]}],"v":[{"e":[{"n":31,"r":[{"r":[{"a":147}]}]}],"å":[{"g":61}]}],"y":[{"d":[{"a":[{".":4}],"e":[{".":1}]}],"e":[{"t":6}],"r":[{"e":[{".":6}],"s":148}],"t":[{"e":[{"r":15}],"i":15}]}],"æ":[{"r":[{"e":[{".":1}]}]}],"ø":[{"v":[{"d":39,"e":[{".":4,"r":35,"t":15}]}]}],"å":[{"k":[{"e":[{"r":15}]}],"l":[{"e":[{".":1}]}],"p":[{"n":39}],"r":[{"e":[{"n":15,"t":2}]}]}]},93],"u":[{"a":149,"b":[{"e":[{"r":[{"g":11}]}]},150],"d":[{"e":152},151],"e":[{"r":[{".":0,"a":11,"e":0}]},92],"f":[{"f":1,"s":[{"a":6}]}],"g":[{"a":0,"i":38,"l":[{"a":[{".":4}]}],"n":6}],"i":[{"m":4},153],"k":[{"a":[{".":0}],"e":11,"n":152},154],"l":[{"e":[{".":0,"k":32,"n":[{"d":[{"e":11},5],"e":93}],"t":11},90],"i":[{"n":0}],"k":[{"a":4,"e":[{".":1}]}],"l":[{"a":[{".":1}],"e":[{".":6}]}],"m":[{"a":[{".":6}],"e":[{".":1}]}],"n":[{"e":[{".":1}]}],"t":[{"e":4},15],"u":153,"v":[{"i":26}],"y":153,"å":90}],"m":[{"a":38,"u":61}],"n":[{"d":[{"e":[{"r":[{"i":36}]}],"r":22}],"e":[{"k":38,"t":155},32],"g":[{"e":[{".":1}]}],"n":[{"s":24},7],"o":90,"s":[{"e":[{".":1}]}],"t":1,"u":38},88],"o":153,"p":[{"i":0,"l":7,"p":85},153],"r":[{"a":[{"f":38,"n":[{"e":11},4]},88],"d":1,"e":[{"n":23,"t":[{".":0,"s":11}]}],"i":156,"k":[{"e":1}],"n":[{"a":4,"e":[{".":1}]}],"o":153,"s":69,"t":[{"a":6,"e":[{".":1,"m":125,"t":4}]}],"u":[{"t":38}],"y":90,"å":38}],"s":[{"a":[{".":0,"s":0}],"e":38,"k":[{"a":90}],"n":38,"p":152,"s":[{"e":12}],"t":[{"e":[{"k":152,"l":38}]},113],"y":[{"r":22}]},150],"t":[{"a":[{"g":[{"e":15},23],"k":90}],"e":[{"n":[{".":0}],"s":[{"k":[{"o":21},15]}]}],"i":[{".":0}],"k":[{"a":[{"n":[{"t":157}]}]}],"n":[{"e":[{".":1}]}],"o":[{"l":38,"v":52}],"r":[{"e":[{"r":4}],"o":[{"v":4}],"ø":90}],"s":[{"e":[{".":4}],"i":[{".":1}]}],"t":34,"u":90},88]}],"v":[{"a":[{"d":[{"a":[{".":1}],"e":[{".":1}]}],"i":23,"k":[{"e":[{".":1}]}],"l":[{"e":[{"s":4}],"g":[{"s":17}]}],"n":[{"e":[{".":1}],"n":[{"s":78},53]}],"r":[{"e":[{"t":[{"a":4}]}],"i":[{"e":5}],"s":[{"k":22}]}]}],"e":[{"e":[{"n":[{".":6}]}],"g":[{"a":[{".":1}],"e":[{".":4}],"i":85,"s":65}],"i":[{"g":65,"s":24,"t":[{"a":23}]}],"l":[{"a":[{"r":[{"t":3},9]}],"d":22,"e":85,"l":22,"o":[{"s":9,"v":26}],"y":1,"æ":6},85],"n":[{"e":[{".":1,"t":1}]}],"r":[{"a":[{".":1,"s":1}],"e":[{".":4}],"m":[{"o":33}],"s":[{"t":[{"e":22},5]}]}],"s":[{"l":1,"t":1}],"t":[{"e":[{".":6},17]}],"v":[{"e":[{".":1}]}]}],"i":[{"d":[{"a":[{".":1}],"e":[{".":4},5],"å":158}],"e":7,"k":[{"a":[{".":1}]}],"l":[{"l":[{"a":[{"t":73}]}]}],"m":[{"a":[{".":4}],"e":[{".":6}]}],"n":[{"g":[{"s":16}],"n":22}],"s":[{"a":[{".":1}],"e":[{".":1,"r":[{"i":4}]}]}],"t":[{"a":[{".":1}],"e":[{".":1}],"r":15}]}],"o":[{"k":[{"s":[{"e":19},41]}],"r":4,"t":[{"a":[{".":4}]}]}],"y":[{"e":[{"n":[{"e":22}]}]},1],"æ":[{"r":[{"a":1,"e":[{".":1}]}]}],"å":[{"d":1,"r":[{"s":36},85]}]},11],"w":[{"a":[{"r":1}],"e":[{"g":1}],"i":[{"e":4}]}],"x":[{"e":7}],"y":[{"e":1,"n":[{"d":[{"a":[{".":6}],"e":[{".":1}]}],"g":[{"e":[{".":4}]}],"k":[{"a":[{".":6}],"e":[{".":4}],"v":1}],"s":28}],"p":[{"p":[{"a":[{".":6}],"e":[{".":1}]}]}],"r":[{"j":[{"a":[{".":6}],"e":[{".":6}]}],"k":[{"a":6,"e":[{".":1,"s":14}]}],"t":4}],"s":[{"t":[{"e":[{"r":[{"i":[{"e":159}]}]}]}]},1],"t":[{"r":[{"e":[{"n":35}]}],"t":[{"e":[{".":4}]},15]}],"v":4},11],"z":[{"j":6},0],"æ":[{"r":[{"e":[{"s":[{"a":53,"t":23}]}]}],"t":[{"t":[{"e":[{".":1}]}]}]},93],"ø":[{"g":[{"l":[{"a":6,"e":[{".":1}]}]}],"i":[{"e":4},15],"k":[{"o":22,"t":[{"a":4,"e":[{".":1}]}]}],"l":[{"e":[{"d":12}],"s":52,"v":52}],"m":[{"m":[{"e":[{".":1}]}]}],"r":[{"e":[{"s":[{"t":46}]}],"j":[{"e":1}],"k":15,"n":[{"a":[{".":6}],"e":[{".":1}]}],"s":[{"k":[{"i":4}],"m":35,"t":12}],"t":[{"a":[{"n":39},6],"e":[{".":6}]}]}],"s":[{"t":1},7],"v":[{"d":1,"e":[{"r":[{"s":160},53]}],"r":[{"e":[{".":1}]}]}],"y":[{"d":[{"e":[{".":4}]}],"e":[{"l":[{"e":[{"g":[{"e":[{".":91}]}]}]}],"n":[{"e":15}]},7],"n":[{"a":4},1],"r":[{"a":4,"e":[{"r":6},1]}],"s":[{"t":[{"r":1}]}]}]},11],"å":[{"e":11,"f":11,"g":11,"k":161,"l":[{"t":4,"u":[{"t":[{".":6}]}]},93],"m":93,"n":[{"d":[{"a":[{".":6}],"e":[{".":1}],"s":47}]}],"p":[{"n":[{"a":4}]}],"r":[{"s":[{"k":24}]}],"s":[{"e":11,"k":12,"l":2,"m":12,"t":[{"e":90}],"v":15}],"t":[{"t":[{"e":[{".":1,"o":[{"g":76}]}]}]},0],"v":11},88]}],"a":[{"a":[{"d":153,"f":[{"t":90},162],"g":1,"k":[{"s":153,"v":22}],"l":[{"a":12}],"m":7,"n":[{".":11,"s":[{"t":49}],"t":[{"r":152}]},150],"p":153,"r":[{"i":[{"e":[{"n":[{"e":33}]}]},163],"n":22}],"s":[{"e":164},7],"t":[{"h":20}],"v":153}],"b":[{"a":[{"b":11,"v":2}],"b":[{"l":84,"u":[{"t":1}]}],"e":[{"l":[{"e":[{"i":23}],"t":78}],"n":[{"a":[{".":39}]}],"s":[{"k":[{"a":49}]}],"v":162}],"h":38,"i":[{"e":[{"r":39},36],"l":[{"a":39}],"s":[{"t":0}]}],"l":[{"a":[{"r":[{"a":35}]}],"o":[{"k":1}],"u":61},69],"o":[{"a":165,"b":24,"e":[{"r":90},24],"k":[{"l":24}],"r":[{"d":90,"t":[{"e":166}]}]}],"r":[{"e":6},69],"s":[{"l":7}],"u":[{"e":[{"l":0},22],"f":0,"s":[{"k":11}],"t":[{"e":0}]}],"y":[{".":0,"b":0,"k":0,"r":24}]}],"c":[{"a":[{".":11},22],"h":[{"e":[{"a":18}]}],"k":24,"o":153},167],"d":[{"a":[{"l":38,"n":[{"t":15}],"r":[{"t":0}]},168],"d":[{"a":35}],"e":[{"b":88,"i":[{"s":19}],"k":88,"l":[{"v":169},0],"n":[{"d":38,"e":90}],"o":88,"p":88,"r":[{".":38,"l":[{"e":170}]}],"s":[{"e":[{"r":171}],"l":90},88],"t":[{".":90,"s":90}]}],"f":[{"e":[{"r":164}]}],"g":[{"e":6},172],"i":[{"e":[{"n":[{"e":23}]}]}],"j":[{"u":172},69],"l":173,"m":172,"n":15,"o":[{"a":61,"b":0,"p":[{"p":2}],"r":[{"a":152},162]}],"r":[{"a":[{"f":15,"n":2}],"e":[{"l":2,"p":15,"t":12},88],"i":[{"d":12}],"o":69,"ø":152}],"s":[{"a":[{"m":[{"t":26}]}],"i":1,"l":[{"e":[{"g":[{"e":[{".":120}]}],"t":9}]}],"t":[{"e":[{"k":20},22],"r":12}]}],"u":[{"n":15}],"v":[{"a":[{"r":[{"e":17}]}],"e":173},172],"y":[{".":0}],"ø":[{"y":169}]}],"e":[{"a":162,"d":[{"e":175,"r":61},0],"k":[{"t":22}],"l":[{".":0,"a":15,"i":12,"o":22}],"n":[{"t":22}],"p":90,"s":[{"k":[{"e":[{".":32}]}],"t":23}]},174],"f":[{"a":168,"c":168,"e":[{".":0,"i":17}],"f":[{"a":[{"n":1}],"e":[{"i":1,"s":18}],"i":[{".":2,"d":18}],"u":9}],"i":[{"a":[{"n":22},176],"b":88,"n":[{"n":97}],"r":[{"e":61}],"t":[{"i":0}]},1],"j":[{"o":38}],"l":[{"a":[{".":35,"r":35}],"e":12,"i":15}],"r":[{"i":[{"k":0},172],"a":[{"s":17}]}],"o":[{"r":[{"a":[{".":61}],"e":[{"n":[{"e":14}]},62]}]},168],"s":[{"l":54}],"t":[{"e":[{"i":22,"l":158}],"o":3,"s":177}],"y":[{"r":15}],"ø":[{"r":[{"i":22},23]}]}],"g":[{"a":[{"a":88,"e":38,"n":[{"f":0,"g":[{"s":141}]}],"r":[{"t":0}],"s":[{".":38}],"v":[{"e":[{".":31}]}]},162],"d":[{"e":15}],"e":[{"l":[{"e":[{"n":152}]}],"m":88,"n":[{"t":178}],"r":[{"a":41,"e":[{"k":31}],"i":[{"s":[{"k":22}]}],"s":152,"u":38}],"s":179,"t":[{"a":0}]}],"é":0,"g":[{"a":[{"r":15,"s":1}],"e":15,"s":180,"u":[{"t":4},61]}],"i":[{".":0,"d":15,"s":31}],"l":[{"a":69,"e":[{"m":1,"s":[{"a":4}]}],"å":15}],"m":[{"o":[{"e":46}]}],"n":[{"o":[{"m":22}]}],"o":[{"d":112,"r":69,"s":38,"t":90,"v":15},162],"r":[{"a":[{"s":2}],"e":69,"i":69,"u":181,"å":69}],"s":[{"a":[{"m":[{"b":1}],"n":[{"g":23}]}],"e":[{"i":34,"l":1,"m":12}],"i":[{"n":[{"g":20}]}],"j":[{"u":4}],"k":[{"a":1,"u":[{"l":23}]}],"l":7,"m":[{"å":[{"l":[{"a":120}]}]}],"t":[{"r":24,"v":82}],"y":7}],"u":[{".":11,"a":[{"y":24}]}],"å":[{"v":[{"a":32,"e":[{".":32}]}]}]}],"h":[{"i":38,"n":26,"v":1},153],"i":[{"a":182,"e":[{"r":[{".":12}]},67],"i":[{"s":1}],"k":[{"e":[{".":15}],"o":15,"v":35}],"n":[{"e":15,"g":90,"n":153,"o":158,"s":[{"m":32}]}],"r":[{"o":69}],"s":[{"e":23,"k":[{"h":183},85],"m":6,"o":[{"m":31}],"s":22,"v":9}],"v":[{"e":15}],"ø":15}],"j":[{"a":[{"d":39}],"e":[{".":93,"s":16},152],"é":0,"i":0,"l":11},153],"k":[{".":168,"a":[{".":162,"d":184,"f":168,"k":[{"s":12}],"n":168,"o":53,"r":[{"b":4},162],"t":[{"r":53}],"u":1},153],"d":173,"e":[{"c":155,"h":88,"i":185,"k":11,"l":[{"e":[{"i":[{"e":[{"r":186}]}]},46],"i":42}],"r":[{"e":[{"k":23}],"ø":0}],"s":[{"m":22,"p":36}],"t":[{"e":93}]},173],"h":[{"e":[{"n":36}]}],"i":[{"d":11,"k":11,"n":[{"d":2}],"s":176},187],"j":188,"k":[{"a":[{"n":[{"d":31}]}],"e":[{".":15,"n":12,"r":[{"s":[{"t":22}]}],"s":1}],"i":[{"m":15,"s":26},5],"j":4,"o":[{"l":24},69],"r":[{"i":3}],"u":[{"l":1},69],"v":26}],"l":[{"e":[{"v":12}],"i":[{"k":4}],"u":[{"s":4}]},189],"n":[{"e":15,"o":38},168],"o":[{"m":[{".":15}],"n":38,"s":152,"v":8},188],"p":[{"e":163}],"r":[{"a":[{"s":[{"a":46}]}],"e":[{"g":[{"i":190},15],"s":12}],"o":[{".":12,"e":12}],"u":69}],"s":[{"a":[{"n":[{"d":26}]}],"e":[{"k":1,"l":[{"o":124,"v":26}],"s":1}],"i":[{"d":40}],"j":[{"e":164}],"k":[{"u":2},129],"l":4,"o":162,"r":162,"t":[{"i":22,"o":[{"l":15}],"r":[{"e":[{"n":16}]},23]}],"u":162}],"t":[{"a":[{"b":1,"i":1,"k":1,"l":[{"e":[{".":36}],"l":22}],"m":4,"n":[{"s":4}],"p":1,"s":1,"v":1}],"e":[{"g":1,"k":1,"m":[{"e":15}]}],"h":162,"i":[{"g":191,"t":15}],"l":[{"e":[{"g":[{"e":[{".":120}]}]}]}],"r":[{"e":4,"å":24},7],"s":[{"l":[{"a":42}]}],"u":[{"e":166}],"æ":109}],"u":[{"t":183}],"v":[{"a":[{"l":12}]},173],"ø":[{"l":15}],"å":38}],"l":[{"a":[{".":167,"d":[{"r":2}],"g":[{"a":39,"m":38,"r":[{"a":46}]},23],"h":38,"i":153,"l":[{"l":12}],"m":[{"e":34}],"n":[{"a":12,"d":[{"e":[{".":38}]},90],"e":38,"g":[{"r":17}],"l":12,"v":12}],"o":23,"p":[{"r":22}],"r":[{".":38,"a":90,"e":[{"n":38}],"k":12,"l":152,"m":178,"r":15,"s":38,"t":12,"v":152}],"s":[{"i":34}],"t":[{"r":61},173],"u":[{"k":15},162],"v":[{"a":23},69]}],"b":[{"a":[{".":1}],"o":[{"g":5}],"u":[{"e":[{"r":[{".":16}]}],"m":166}]}],"d":[{"e":[{"r":2},12],"o":162,"r":[{"e":24}]}],"e":[{"f":88,"g":[{".":155},88],"i":[{"e":[{"n":120}],"k":192}],"k":[{"e":38,"s":0}],"l":[{"i":0}],"m":[{"u":9},88],"n":[{".":6,"h":193,"t":[{"r":194}]}],"p":[{"o":[{"s":23}],"t":152}],"r":[{"e":[{"d":[{"e":[{".":120}]},0]}],"o":195,"u":0}],"s":[{"e":61,"k":[{"r":47},0],"l":0,"u":11},180],"t":[{"a":0,"e":196}],"u":88,"v":[{"a":0,"i":0},22]},173],"f":[{"a":[{"b":164}]}],"g":[{".":173,"e":[{"b":12}],"u":7,"å":[{"r":1}]}],"i":[{"l":[{"l":12}],"m":88,"n":[{".":155,"a":[{".":22}],"d":193,"s":193,"t":12}]}],"j":[{"a":[{".":35}],"e":[{".":12,"n":[{"d":22}],"r":12}],"o":[{"r":1},69],"u":129,"ø":[{"v":19},69]}],"k":[{"e":[{"r":[{"a":35}]}],"s":77}],"l":[{"a":[{"g":[{"a":5,"e":[{".":36}]}],"p":1,"r":[{"t":22}]}],"e":[{"a":15,"g":[{"e":[{".":36}]}],"k":1,"n":[{".":15}],"r":[{"s":[{"t":22}]}],"s":[{"t":1},124],"t":15}],"i":[{"a":164,"d":1,"e":197,"n":[{"e":49}],"s":[{"t":[{".":4}]}]}],"o":[{"m":99}],"s":[{"e":[{"n":23}],"t":[{"i":23}]}],"u":[{"l":4}],"ø":[{"s":[{".":4,"e":1,"t":6}]}],"å":4}],"m":[{"a":[{"l":167}],"e":[{"k":4,"t":1}]}],"n":162,"o":[{".":38,"b":182,"i":38,"m":69,"n":153,"p":[{"e":12}],"r":[{"d":2,"i":[{"t":31},14]}],"v":[{"e":12}],"w":16}],"p":[{"s":12},28],"s":[{"e":[{"d":2}],"k":[{"a":[{"p":35,"r":[{"e":2}]}]}],"l":[{"ø":22},54],"n":7,"p":[{"u":4}],"t":[{"e":[{"r":31},23]}],"u":168},173],"t":[{"a":[{"k":31,"l":[{"e":[{".":46}]}]}],"e":[{"d":12,"m":[{"a":2}],"r":[{"n":[{"a":166}]}],"t":[{"a":26,"e":26},5]}],"o":[{"p":85}]}],"u":[{"k":198,"l":[{"l":[{"a":46}]}],"n":[{"d":15}],"r":[{"e":[{".":32}]}]}],"v":[{"a":[{".":15,"k":[{"s":[{"e":[{".":91}]},22]}]}],"e":[{"d":1,"r":[{"m":199},20],"s":[{".":35},17]}],"i":[{"s":[{"e":46}]}],"o":69,"s":24}],"y":[{"t":[{"e":201}]},200],"ø":[{"s":[{"e":22}],"v":12}],"å":[{"t":40},153]}],"m":[{"a":[{"h":0,"i":[{"s":22}],"k":[{"i":38,"s":12},88],"l":[{"d":15},88],"n":90,"r":[{".":90,"a":38}],"s":[{".":152,"o":58}],"t":[{"ø":178}]}],"b":[{"a":[{"r":1,"s":164,"t":1}],"e":15}],"e":[{"i":[{"e":12,"s":90},88],"k":[{"s":12},88],"n":[{"d":[{"e":[{".":46}]}],"s":43,"t":[{"a":[{"r":[{"v":202}]}]}]}],"r":[{"a":[{"m":23}],"e":[{"t":0}],"i":[{"n":162},178]}],"u":22}],"h":[{"u":16}],"i":[{"n":[{"a":61,"e":61}],"s":[{"k":[{"u":5},203]}]},173],"l":[{"e":[{"s":[{"e":1,"t":4}]}]}],"m":[{"a":[{"d":1}]}],"n":[{".":168,"e":[{"d":1}]}],"o":[{"e":22,"p":69,"r":69,"v":[{"e":31}]},88],"p":[{"a":[{"p":1,"r":[{"e":1}]}],"e":[{"i":22,"r":[{"i":[{"a":6,"e":4}]}],"s":120}],"i":[{"n":[{"n":61}]}],"l":[{"e":[{"t":9}]},107],"r":[{"e":25}],"u":[{"n":1}],"å":7}],"r":[{"u":5,"å":15}],"s":[{"k":[{"u":40}],"l":23,"t":[{"r":85},36],"u":[{"t":39}],"v":[{"e":26},28],"ø":7},69],"t":[{"i":[{"d":[{"a":17}]},12],"m":166,"v":2}],"u":[{"l":4}],"y":[{"r":15}],"ø":[{"y":15}]}],"n":[{"a":[{".":168,"k":[{"t":[{"e":[{".":46}]}]}],"l":[{"a":24,"f":5,"y":164}],"n":[{"e":90,"g":38,"t":91},167],"r":[{"b":11,"t":15},162],"t":[{"o":24}],"u":[{"s":58},204],"v":[{".":35}]}],"b":[{"e":[{"f":164}]}],"d":[{".":162,"a":[{"m":205,"t":[{"a":17}]}],"e":[{"k":1,"n":15,"r":[{"l":[{"e":51}]}],"t":35}],"o":[{"s":1},168],"s":[{"e":[{"l":23,"n":[{"d":32}]}],"l":[{"e":[{"t":61}]}],"t":[{"r":[{"e":19}]}]},162]}],"e":[{"d":88,"g":[{"g":15}],"l":[{"v":169,"u":64}],"m":88,"n":173,"r":[{"m":[{"e":206}],"u":24},173],"s":[{".":38,"t":0,"v":22}],"t":[{"i":[{"k":[{"a":20,"e":38,"k":20}],"s":9}]}],"v":88}],"f":[{"a":[{"l":164}],"ø":[{"r":[{"e":[{".":17}]}]}]}],"g":[{"e":[{"d":1,"n":[{"h":26}],"r":[{"m":[{"e":22}]}],"s":[{"t":[{"e":6}]}]},23],"i":[{".":1,"v":166}],"o":[{"f":22,"s":15}],"r":[{"a":207,"e":[{".":1,"s":4,"t":1}],"y":85}],"s":[{"m":23,"t":[{"r":[{"o":36,"å":208}],"y":14}],"v":[{"a":22}],"ø":[{"y":31}]}],"t":[{"r":[{"e":53}],"v":[{"e":19}]}],"u":[{"n":1}],"å":[{".":1}]}],"i":[{"a":16,"b":11,"s":[{"j":0}],"v":162}],"k":[{"a":[{"n":[{"a":1}]}],"i":162,"j":162,"o":[{"b":1,"p":1,"s":1}],"r":[{"a":[{"n":[{"a":[{".":91}]}]}],"e":24},129],"u":[{"t":24}],"v":209,"ø":1,"å":83}],"l":[{"a":[{"n":[{"d":123}]},173],"ø":[{"p":[{"a":49}]}]}],"n":[{"a":[{"n":[{"s":22}]}],"e":[{"m":[{"e":4}],"n":15,"r":15}],"i":[{"d":15,"n":[{"n":1}]}],"o":[{"m":1,"n":166,"v":1}],"s":[{"e":[{"i":23}],"i":[{"d":23}],"k":[{"å":127}],"l":31,"t":[{"a":22},24],"u":41}],"y":1,"ø":7}],"o":[{".":90,"a":[{".":155}],"d":[{"e":[{"b":31}]}],"g":173,"r":[{"m":152}],"t":11,"v":[{"a":22,"e":12},210]}],"r":[{"i":[{"k":[{"e":16}]}]}],"s":[{"a":[{"f":[{"t":22}],"k":[{"a":16}],"n":162,"t":164}],"e":[{"k":1,"n":[{"t":1}],"r":[{"i":[{"e":[{"n":[{"e":211}]}]}]}],"s":1}],"i":[{"k":164,"n":[{"d":22,"s":22}]}],"k":[{"i":1,"j":12,"l":41,"u":[{"n":31}],"ø":15}],"l":[{"ø":4}],"n":1,"o":[{"r":22}],"p":[{"i":85,"o":[{"r":[{"t":[{"s":212}]}]}]}],"t":[{"a":[{"r":168}],"e":214,"u":109,"i":215},213],"u":[{"n":[{"d":[{"a":166},57]}]},173],"v":[{"e":162},216],"y":168,"å":1}],"t":[{"a":[{"l":[{"a":46}],"n":[{"d":20,"s":1}]}],"e":[{"d":12,"m":[{"i":22}],"n":[{"n":166}],"s":[{"l":1}]}],"i":[{"k":[{"l":16}],"m":1}],"o":[{"i":15,"r":[{"d":22}]}],"r":[{"a":[{"b":22}],"o":[{"m":61}],"y":[{"g":22}]}],"s":19,"u":[{"l":1,"s":[{"t":103}]}]}],"u":[{"s":[{"a":16}],"t":15},173],"v":[{"e":[{"n":164}],"i":[{"n":168}]}],"y":[{"a":0},168],"æ":[{"r":46},217],"ø":[{"k":88},173],"å":2}],"o":[{"a":35,"g":39,"i":88,"k":70,"n":[{"d":[{"e":[{".":32}]}]}],"p":7,"r":1},153],"p":[{"e":[{"a":38}],"é":152,"i":[{"a":88,"d":69,"k":11,"n":[{"s":11}],"o":88,"r":[{"e":77},47],"s":[{"e":61}]},153],"j":69,"l":[{"a":[{"s":149},153],"i":12,"o":35,"y":7}],"o":[{"l":162,"n":0,"o":0,"p":24,"s":[{"t":[{"i":42}]}],"t":88}],"p":[{"a":[{"r":[{".":162,"e":168},218]}],"e":[{"s":[{"k":61}]}],"l":[{"a":[{"s":15}],"e":1,"i":15}],"r":[{"i":4}]}],"r":[{"a":12,"e":[{"n":15,"t":15}],"i":[{"n":12}]}],"s":[{"a":5,"e":[{"l":12,"s":5}],"l":219,"y":90,"ø":26},129],"u":[{"t":97},167],"y":153,"ø":[{"l":[{"s":220}]},2],"å":[{".":38}]}],"r":[{"a":[{"b":[{"i":39}],"k":[{"s":15,"t":17}],"l":[{"t":12}],"m":[{"i":0}],"n":[{"o":[{"r":0}],"s":0,"v":0},173],"r":173,"s":[{"s":169}],"t":[{"e":[{".":22}]}],"u":[{"g":15,"k":[{"e":[{"n":49}]},2]}],"v":[{"h":2}]},153],"b":[{"a":[{"n":[{"e":[{".":46}]}]},173],"e":[{"h":168,"n":162,"t":168}],"i":173,"j":162,"l":168,"o":[{"d":[{"a":46}]},173],"r":173,"u":173,"y":173,"ø":173,"å":162},172],"d":[{"e":[{"b":2,"l":[{"i":4}]}],"f":[{"ø":[{"r":[{"e":14}]}]}],"r":[{"e":24}],"s":[{"t":[{"a":22}]}]}],"e":[{"a":[{"r":162},184],"b":[{"a":[{"r":103}]},0],"d":88,"f":88,"i":[{"n":24},88],"k":[{"t":97},88],"l":[{"a":0,"e":[{"k":2}],"i":221}],"m":[{"n":2,"o":[{".":38}]}],"n":[{"a":164,"g":97,"i":0,"t":[{"e":[{"s":17}]}]}],"o":88,"p":88,"r":[{"e":[{"l":11}],"f":[{"a":169}],"k":11,"o":0,"ø":11}],"s":[{".":38,"k":[{"a":46}]}],"t":[{"a":[{".":152}]},1],"v":[{"a":40,"n":[{"e":[{".":36}]},12]},0]},153],"é":222,"f":168,"g":[{"h":40,"i":20,"j":168,"l":23,"o":2,"s":[{"t":[{"j":22}]}]}],"i":[{"a":[{"n":[{"e":16}]}],"b":[{"a":33},90],"d":[{"r":15}],"m":0,"n":[{"n":12,"s":[{"k":33},12],"t":12}],"s":[{"e":[{"a":103},24],"t":[{"o":0}]}],"v":88},188],"k":[{"a":[{"u":1}],"e":[{"s":223},12],"h":[{"a":15}],"i":[{"t":164,"v":164}],"l":[{"e":1,"ø":[{"f":26}]}],"o":[{"d":4}],"s":[{"t":[{"e":31,"r":23}]}],"v":[{"e":[{"g":61}]}],"ø":[{"y":1}]}],"l":[{"a":[{"g":[{"a":5}]}]}],"m":[{"a":[{"p":1}],"b":[{"å":166}],"e":[{"d":[{"i":1}],"t":[{"r":4},16]}],"i":[{"n":[{"f":1}]}],"l":[{"e":[{"n":[{"e":[{".":120}]}]}]}],"å":[{"l":[{"a":36}]}]}],"n":[{"a":[{"d":1,"l":1}],"e":[{"v":[{"a":[{"l":[{"a":170}]}]}]}],"i":12,"o":12,"u":12,"å":12},224],"o":[{".":153,"d":[{"e":[{".":32}]}],"k":38,"n":153,"p":[{"a":31},69],"r":225,"s":[{"t":2},153],"t":153,"v":[{"e":12}]}],"p":[{"e":[{"d":4}],"o":35,"r":[{"e":[{"t":22}]}]}],"r":[{"a":172,"e":[{"e":15,"s":[{"k":2}]}],"i":[{"e":105}],"å":[{"d":[{"a":36}]}]}],"s":[{"a":[{"k":[{"a":36}],"n":[{"s":22}]}],"e":[{"l":12,"r":[{"s":3}]}],"i":[{"n":1}],"k":[{"a":[{"m":22,"r":15}],"e":[{"s":22}],"r":[{"e":61}]}],"p":[{"r":1}],"t":[{"r":31}],"v":[{"e":[{"i":23}]}],"æ":61},173],"t":[{"a":[{"l":[{"a":5,"e":[{".":36}]}]}],"e":[{"l":[{"e":2}],"t":[{"s":167}]},12],"h":[{"a":[{".":23,"s":23}]}],"i":[{"k":[{"a":1}],"m":226}],"n":162,"o":[{"p":1},162],"r":[{"a":39,"i":[{"n":4}]},168],"s":[{"t":47,"ø":17}],"u":168,"y":[{"v":1},167]}],"u":[{"l":69,"n":69,"r":20,"s":153,"t":[{"b":15,"n":15}]}],"v":[{"e":[{"s":18,"t":[{"e":4}]}],"i":[{"s":[{"a":46,"e":[{".":46}]}]}]}],"y":153,"æ":40,"ø":[{"v":[{"e":[{".":32}]}],"y":69}],"å":[{"d":[{"e":[{".":32}]}],"p":2,"t":97},153]}],"s":[{".":168,"a":[{"b":5,"k":5,"l":[{"o":0}],"n":4,"u":[{"g":2}]},187],"b":[{"e":183}],"c":153,"e":[{".":88,"a":5,"d":88,"g":88,"k":88,"l":[{"e":22},1],"m":88,"n":[{"e":[{"t":11}],"k":0}],"o":[{"l":152}],"s":[{"t":11},227],"t":[{"e":0}],"u":228}],"h":[{"u":15},7],"i":[{"b":0,"p":88,"r":88,"s":[{".":152,"t":17}],"v":88}],"j":[{"a":1,"e":[{"t":[{"t":11}]}],"o":[{"r":15}]}],"k":[{"a":[{"r":12}],"e":[{"t":[{"i":15},31]}],"i":[{"s":15},28],"j":38,"o":[{".":15,"e":15,"p":[{"i":169}],"r":12,"t":12}],"r":[{"a":2},153],"u":[{"l":[{"a":149,"e":4},12],"t":143}],"v":1,"ø":[{"y":22}]}],"l":[{"a":[{"g":[{"a":46},229]}],"e":[{"v":1}],"i":[{"t":1}]},69],"o":[{".":0,"m":230,"v":15},153],"p":[{"a":[{"n":1}],"e":12,"i":[{"s":2}],"l":15}],"s":[{"a":[{".":35,"b":1,"l":[{"d":22,"t":22},1],"m":1}],"e":[{".":15,"d":1,"k":1,"r":[{"i":[{"e":231}],"v":1}],"s":1}],"i":[{"f":[{"r":4}],"n":[{"g":15}],"s":18,"t":1}],"j":7,"k":[{"u":[{"l":[{"e":[{".":120}]}]}]},232],"n":107,"o":[{".":15,"a":49,"s":[{".":2}]}],"p":232,"t":[{"a":[{"n":1}],"r":[{"u":22},1]},107],"v":129,"y":[{"s":1}],"ø":[{"k":1}],"å":233}],"t":[{"a":[{"b":4,"n":[{"d":[{"e":11}]}],"t":[{"u":0}]},69],"e":[{".":15,"d":12,"g":1,"k":1,"n":[{"h":26}]}],"j":153,"o":[{"f":155,"k":38,"s":20,"v":22}],"r":[{"e":[{"n":22}],"o":1}],"u":[{"a":35,"v":[{"e":[{".":46}]}]}],"ø":[{"v":42}]}],"u":[{"n":24,"s":[{"a":39}]},153],"v":[{"a":69}],"y":[{"m":11,"n":[{"d":16}]}],"ø":[{"y":[{"e":2}]}],"å":15}],"t":[{".":162,"a":[{"e":[{"n":[{"e":38}]}],"f":4,"k":[{"a":[{".":32}]}],"l":[{"a":[{".":32}]}],"n":[{"g":0}],"r":[{"a":[{"r":39}],"v":96}],"s":[{".":38},5],"t":46,"u":88,"v":[{"h":15}]},234],"c":[{"h":17}],"e":[{"a":88,"c":88,"d":[{"d":2}],"e":88,"i":[{"d":15,"g":12,"n":24},0],"k":[{"a":0,"e":[{"t":[{"a":58}]},112],"t":[{"e":97}]}],"l":[{"e":61}],"m":[{"b":12}],"n":[{"e":[{".":38}],"i":0,"u":0},162],"o":88,"r":[{".":38,"a":[{"t":11}],"e":[{"k":93}],"i":[{"l":0}]},162],"s":88,"t":[{"t":193}],"u":3}],"é":0,"f":[{"e":[{"r":164}]}],"h":[{"a":[{".":1,"s":6}]}],"i":[{"k":[{"k":[{"a":36}]}],"l":[{"i":14}],"n":[{"e":[{"a":22}]}],"r":[{"e":[{"p":23}]}],"s":[{"t":[{"a":32}]}]},162],"j":[{"o":12}],"l":[{"a":[{"n":[{"t":166}]}],"ø":[{"y":39}]}],"m":[{"o":[{"s":164}]}],"n":[{"e":[{"l":1}]}],"o":[{"a":22,"g":[{"r":22}],"i":69,"m":88,"p":[{"p":[{"r":97}]}],"r":153,"s":[{"e":38}],"v":235}],"r":[{"a":153,"e":[{"g":15,"n":12,"r":12}],"i":[{"f":0,"n":12}],"o":[{"t":15}],"u":155,"ø":[{"s":15,"y":15}]}],"s":[{"e":[{"r":12}],"j":[{"e":2}],"k":[{"a":[{"t":40}],"j":2,"u":[{"l":31}]}],"ø":107},173],"t":[{".":162,"a":[{"t":4}],"e":[{".":236,"n":[{"s":15}]}],"f":[{"ø":[{"r":[{"e":58}]}]}],"i":[{"d":1,"s":[{"e":22},5],"t":12}],"o":[{"p":77,"v":36},54],"r":[{"a":[{"f":1}],"e":85,"i":[{"n":4}]},69],"s":[{"k":75,"l":112,"p":24,"v":24}],"y":[{"s":4}],"ø":237}],"u":[{"e":42,"t":88},153],"v":[{"i":[{"e":[{"r":[{".":17}]}]}]},15],"w":238,"y":[{"r":[{"k":[{"e":[{".":46}]}]}],"v":149},153],"ø":[{"r":[{"s":18}],"s":[{"e":39}],"y":169},153],"å":[{".":90,"a":152,"e":153,"r":15,"s":[{"e":9}],"t":239}]}],"u":[{".":162,"a":[{"r":[{".":35}]},240],"b":[{"a":[{"n":[{"e":[{".":36}]}]}]},236],"c":12,"d":[{"a":[{".":15}],"e":[{"t":35}],"i":[{".":1}]}],"e":[{"n":2,"r":[{"e":22},2],"s":[{"t":12}],"t":[{"a":3,"e":[{".":20}]}]},241],"g":[{"a":[{"l":1,"s":1}],"e":[{"l":[{"e":[{"g":[{"e":[{".":242}]}]}]},1]}],"n":243,"u":164}],"i":15,"k":[{"e":[{"l":[{"i":15}],"t":15}],"l":[{"a":22}],"s":244,"v":[{"e":15}]}],"l":[{"a":[{"s":4,"t":1}],"l":[{"a":32},22],"u":15}],"m":[{"e":[{"n":35}],"o":4,"s":[{"k":19,"t":134}]}],"n":[{"d":38}],"r":[{"a":[{"e":15}],"e":[{"s":17,"t":15}],"i":15,"s":19,"u":[{"e":5},69]}],"s":[{"a":69,"k":[{"j":39,"r":4}],"o":69,"s":22,"t":[{"a":[{"s":111}],"e":[{"t":[{"t":32}]}],"i":[{"s":[{"e":127},120]}],"o":[{"n":31}],"r":[{"a":4,"i":4},15]}],"u":[{"n":1},69],"ø":245}],"t":[{"a":[{".":12,"r":2},31],"e":15,"o":[{"v":17},172],"r":[{"e":34}],"y":1}],"x":173}],"v":[{"a":[{"b":15,"e":38,"g":61,"l":[{"v":12},168],"n":[{"d":193,"g":12,"l":169,"s":246}],"r":[{".":155,"t":[{"a":[{".":36}]},12]}],"s":162,"t":[{"a":36}]},153],"b":[{"i":166}],"d":[{"e":[{"l":164}]},172],"e":[{"d":[{"e":[{".":38}]},247],"i":[{"l":152,"n":24}],"k":88,"l":[{"a":0,"e":[{"g":38},0]}],"n":[{"s":103}],"r":[{".":38,"a":[{"s":61}],"d":17,"e":[{"i":11}]}],"s":88,"v":88},188],"f":[{"a":172}],"g":172,"i":[{"a":[{"r":23}],"g":248,"k":[{"e":39},153],"n":[{"t":169},153],"r":173,"s":[{"a":[{".":22},166],"e":249,"i":[{"n":[{"g":15}]}],"t":18}],"t":38}],"l":[{"u":[{"t":49}],"ø":[{"s":[{"e":17}]}]}],"n":[{"a":2,"e":[{"s":1}]},168],"o":[{"k":0,"r":24,"v":23},153],"r":[{"e":[{"s":1}],"i":15},69],"s":[{"a":69,"e":[{"g":15}],"i":28,"k":[{"o":[{"g":58}]}],"n":[{"i":164}],"p":[{"e":[{"g":250}]},8],"t":[{"e":23}],"u":15,"v":8}],"t":[{"a":[{"k":[{"a":49}]}]},172],"u":173,"v":[{"i":172}],"ø":[{"l":12}],"å":[{"l":251},187]}],"w":[{"a":[{"t":5},153],"e":[{"n":[{"e":39}]},38],"i":153}],"y":[{"a":[{"n":[{"e":[{".":2}]}],"r":15},7],"s":[{"t":84}],"t":229}],"z":[{"u":38,"z":[{"o":24}]}],"ø":153,"å":252}],"b":[{"a":[{"a":12,"b":[{"y":[{"s":1},17]}],"c":[{"l":15}],"d":[{"a":[{".":1,"n":2}],"d":38,"e":[{".":6,"b":1,"n":[{".":15,"s":2}]}],"i":12,"s":54},7],"f":162,"k":[{"a":[{"n":254,"r":[{"s":170},12]}],"e":[{"n":[{"d":[{"e":[{".":120}]},26]},12],"r":12,"s":18,"t":[{".":35,"t":39}]}],"i":[{".":6},12],"k":[{"e":[{"r":[{"s":31}]}],"o":31,"r":22}],"r":[{"e":23,"i":15,"o":24},162],"s":[{"m":24,"p":22,"t":[{"i":19,"r":22}]}],"t":77,"v":54},7],"l":[{"a":[{"k":61},12],"e":[{"s":1}],"i":[{".":1}],"j":24,"l":[{"a":[{"g":23,"n":23}],"e":[{"d":23,"g":23,"i":23,"v":23}],"i":[{"g":23}],"o":[{"v":31}],"s":80,"æ":31}],"o":69,"t":22,"u":69}],"n":[{"a":[{".":1,"n":15,"r":15},23],"d":[{"a":39}],"e":[{"l":1,"s":1}],"k":[{"a":[{"p":31}],"o":[{"r":23}],"u":255}],"t":[{"u":14}]}],"r":[{"e":[{"t":[{"t":14}]},12],"i":[{"e":[{"n":202}]},12],"k":[{"s":17}],"s":[{"k":[{"r":22}]}],"t":[{"r":22}],"u":15}],"s":[{"e":[{"n":15,"r":[{"u":1}],"t":1}],"i":12,"k":129,"s":[{"a":[{"k":31,"n":23}],"i":[{"s":139},103],"o":23,"t":[{"r":36},23]}],"t":7,"u":94}],"t":[{"a":69,"r":189,"t":[{"i":31}]}],"u":[{"l":[{"a":39}]}],"v":168,"z":15},253],"b":[{"a":[{"k":11,"r":[{"b":169}],"s":[{"e":11}]},90],"e":[{".":90,"b":0,"d":[{"a":0}],"f":88,"g":0,"h":11,"i":[{"e":12,"g":15},88],"k":88,"l":[{"o":11,"t":[{"e":190},256]}],"m":0,"n":[{"e":[{".":155}]}],"o":88,"r":[{"f":169},90],"s":[{"k":[{"a":152}]},257],"t":[{"a":11,"e":[{"n":11}],"i":0,"o":11,"r":11}],"v":88}],"h":258,"i":[{"e":143,"n":[{"n":169}]},90],"l":[{"e":[{"n":2}]},259],"o":[{"p":15}],"r":[{"e":[{"k":15}]}],"u":[{"r":[{"a":39}],"t":[{".":15,"e":15}]}],"y":[{"e":24,"k":54},227],"ø":0,"å":11},188],"c":173,"d":[{"e":[{"k":88,"n":152,"p":0}]},188],"e":[{"a":[{"u":7}],"b":[{"o":[{".":1,"e":[{"r":[{".":17}]}],"k":49}]}],"d":[{"a":[{".":1,"r":35}],"e":[{"r":12}],"i":[{"e":260}],"r":[{"e":[{"d":22},1]}],"s":261,"y":[{"r":[{"a":49}]}],"å":262}],"e":[{"d":15,"f":4},173],"f":[{"a":[{"r":[{"e":17}]}]},0],"g":[{"a":[{".":1},16],"i":[{".":1}],"n":1,"o":15,"r":[{"e":[{".":26,"n":[{"e":[{".":26}]}]}]}],"å":[{".":1}]},12],"h":[{"a":[{".":4,"g":16}],"e":[{"r":[{"s":170}]}],"u":162,"å":[{"r":5}]}],"i":4,"k":[{"e":15,"i":107,"k":[{"e":[{"l":31,"r":14,"s":23}]}],"l":31,"s":162}],"l":[{"a":[{"b":85,"g":[{"a":49}]}],"e":[{"i":[{"e":22,"g":22,"n":22}],"k":1}],"i":[{"n":[{"a":49}],"v":49}],"l":[{"e":[{"s":[{"a":14}],"t":22}],"æ":22}],"o":129,"s":[{"p":42,"t":134}],"t":[{"a":[{"g":23}],"e":[{"s":263}],"ø":41}],"u":24,"v":22,"æ":[{"r":[{"e":17}]}],"å":[{"n":[{"e":16}]}]}],"n":[{"a":[{"t":15},1],"e":[{"d":162,"s":[{"t":1}]},12],"g":22,"i":15,"s":[{"i":42,"k":[{"j":22}],"p":22}],"t":[{"e":22}]}],"p":173,"r":[{"a":[{"i":162,"s":2}],"d":22,"e":[{"p":1,"s":[{"t":167}],"t":[{"e":17}]}],"g":[{"a":23,"e":[{"n":[{"d":[{"e":53}]}],"s":22}],"j":18,"l":18,"o":18,"å":41}],"i":[{"b":15,"k":[{"e":17}],"s":2}],"k":[{"l":31}],"n":[{"a":22,"e":22}],"o":[{".":1,"a":49},69],"r":[{"i":120}],"t":[{"e":22,"i":22}],"u":[{"s":[{"a":49}]},69],"ø":[{"v":17}]},0],"s":[{".":166,"e":[{".":1}],"i":[{"k":162},9],"j":168,"k":[{"e":22,"n":47}],"n":[{"e":61},12],"o":[{"v":49},265],"p":15,"s":[{"a":266,"e":[{"l":31}],"i":61},24],"t":[{"e":[{"n":[{"s":61}],"s":[{".":15},31]}]}],"å":4},264],"t":[{".":166,"a":[{"b":1}],"e":[{"i":162,"s":2},12],"o":[{"n":[{"e":17}]}],"r":[{"a":[{"r":4}],"e":[{".":4}],"i":85}],"u":162,"y":[{".":1}]},178],"v":[{"a":[{"r":[{"e":17}]}],"e":[{".":4}],"i":[{"s":[{"e":[{".":17}]}]}],"o":35,"r":39}],"å":[{"n":49},168]},172],"é":191,"f":267,"g":168,"h":[{"u":54},173],"i":[{"a":[{"k":15}],"b":[{"l":[{"a":4}]}],"c":[{"e":15}],"d":[{"e":[{"e":15}],"é":6,"r":31,"u":46},69],"e":[{"l":[{"e":4},15],"r":[{"v":15}]}],"f":[{"a":162}],"g":15,"k":[{"a":12,"k":[{"i":31},54],"l":9,"r":268}],"l":[{"a":[{".":4,"p":26,"s":1,"u":1}],"e":[{"t":[{"r":14},12]}],"i":[{"n":1}],"j":24,"l":[{"a":[{"g":[{"a":91}]},22],"e":[{"g":22}]}],"m":19,"o":54}],"m":269,"n":[{"a":[{"n":[{"s":1}]}],"g":[{"o":[{"l":23},14]}],"o":2,"t":248}],"o":[{"m":[{"s":270}]},61],"p":162,"r":[{"i":[{"s":[{".":2}]},223],"k":[{"e":[{"n":23}]}],"o":69}],"s":[{"a":28,"e":12,"h":[{"i":31},38],"k":[{"e":61}],"l":[{"a":9}],"n":167,"p":[{"i":53},1],"s":[{"e":22}],"t":[{"a":20,"i":[{"l":23}],"r":[{"u":22}]},69],"v":34}],"t":[{"a":[{".":4}],"e":[{".":1,"s":15}],"i":[{".":6}],"r":[{"e":1,"i":4}]}]},253],"j":[{"a":[{"r":18}],"e":[{"k":[{"t":[{"o":271}]}]}],"ø":[{"r":31}]}],"k":[{"h":38},272],"l":[{"a":[{"d":[{"a":18},184],"f":144,"g":[{"a":32}],"k":[{"r":17}],"m":[{"e":22}],"n":[{"d":[{"a":49}],"k":[{"e":17},0],"t":0}],"r":[{"a":[{"r":93}]},153],"t":90,"u":23}],"e":[{"f":0,"i":[{"e":[{"r":17},273]}],"k":[{"a":41,"e":[{"s":22}]},0],"m":[{"o":23}],"r":[{"a":77},90],"s":[{"a":11,"s":[{"e":[{"n":[{"e":186}]}]}],"t":0}],"t":173}],"i":[{"k":[{"e":39}],"m":[{"a":22,"e":22}],"n":[{"g":[{"s":[{"i":123}]}]}],"s":[{"s":18}]}],"j":[{"a":5},38],"o":[{"d":[{"r":31}],"k":172,"m":[{"m":17}]}],"u":[{"e":[{"s":203}],"s":[{"a":39}]},11],"y":[{"g":[{"l":61}]}],"æ":[{"r":[{"e":[{".":22}]}]}],"å":[{"n":22,"r":24,"s":[{"a":61,"e":[{".":22}]}]}]},7],"m":274,"n":[{"e":[{".":90,"r":90,"s":[{".":152}]}],"i":152},168],"o":[{"a":[{"s":42}],"b":[{"b":[{"a":[{"n":[{"e":[{".":120}]}]}],"y":[{".":22,"e":39}]}],"l":[{"a":61},7],"s":5}],"d":[{"e":12,"i":[{"n":4}],"r":21,"ø":7}],"e":[{"f":162,"n":172,"r":7,"t":[{".":1}]}],"f":275,"g":[{"e":[{"l":1}],"n":16,"s":54}],"h":173,"j":173,"k":[{".":164,"a":7,"e":[{"l":4,"t":85}],"i":54,"k":54,"o":[{"p":4}],"r":[{"i":3}],"s":[{"i":[{"d":[{"a":91}]}],"p":5},276],"u":7,"v":[{"e":24}]}],"l":[{"e":[{"i":[{"e":22}]}],"i":[{"n":16},2],"o":[{".":2,"i":15,"r":158}],"s":[{"p":42,"t":120}]},0],"m":[{"b":[{"e":[{"l":23}]},172],"m":22,"o":4,"s":177}],"n":[{"a":[{"p":15,"t":[{"o":22}]}],"n":[{"e":22},162],"s":5,"u":[{"s":15}]}],"o":[{"m":176},31],"p":182,"r":[{"a":[{".":1},69],"e":[{".":4,"l":2,"n":12,"t":[{"e":1},12]}],"i":[{".":4}],"o":12,"t":[{"e":[{"f":127,"i":31,"s":23,"t":127}],"i":23,"s":80}]}],"s":[{"e":[{"t":[{"e":[{".":46}]}]}],"k":[{"a":164}],"l":7,"s":[{"e":22}],"t":[{"o":1}]},277],"t":[{"a":[{".":1,"k":1,"l":1}],"e":[{".":4}],"o":278,"r":279,"v":280},172],"u":[{"c":24}],"v":281,"w":[{"e":23}],"y":4},88],"p":[{"l":152},162],"r":[{"a":[{"k":[{"a":22,"s":17}],"s":[{"e":22}]},253],"e":[{"d":[{"s":[{"p":17}]}],"i":[{"e":17,"s":18}],"t":[{"t":[{"e":16}]}],"v":[{"i":[{"e":[{"r":[{".":33}]}],"n":23}]},11]}],"i":[{"a":22,"o":0}],"o":[{"a":[{"r":39}],"s":177},88],"u":[{"k":[{"e":22,"s":43}],"n":[{"a":[{".":61},23],"e":[{"s":22}]}],"p":[{"l":22}],"r":[{"e":[{"n":61}]}],"s":[{"a":22,"l":5}]},178],"y":[{"n":[{"s":5}]},172],"ø":[{"d":[{"e":22}]},178],"å":[{"e":36,"n":[{"e":39}],"t":[{"e":[{".":22}]}]}]},6],"s":[{"e":[{"a":[{"m":282}],"l":169},1],"i":149,"k":23,"l":[{"i":0}],"m":88,"o":[{"f":259}],"t":[{"f":284},283],"v":252,"å":22},200],"t":[{"s":252},274],"u":[{"a":[{"r":1}],"b":162,"d":[{"a":12,"d":[{"h":19}],"e":12}],"e":[{"m":265,"n":[{".":1,"e":35}],"r":[{".":1}],"s":22}],"i":[{"s":4},69],"k":[{"i":168,"l":24}],"l":[{"a":15,"e":[{".":1}],"l":[{"e":24}]}],"n":[{"d":[{"e":61,"s":43}],"g":[{"e":[{".":32}]}],"k":[{"r":18}],"n":[{"l":[{"a":[{"g":[{"a":242}]}]}],"s":18}]}],"o":285,"p":69,"r":[{"a":[{".":4}],"e":[{".":1}],"o":265,"u":12}],"s":[{"e":[{".":1},31],"h":[{"e":53}],"k":[{"ø":16}],"s":[{"e":[{"k":31,"l":23,"n":[{"t":31}],"t":[{"e":[{".":120}]},31]}],"j":31,"n":23,"p":23,"t":23,"v":18}],"t":[{"r":162},69],"y":162}],"t":[{"a":[{"l":1},69],"e":[{"m":2}],"g":38,"s":[{"t":162}],"u":7,"ø":69}],"v":162,"ø":168},184],"v":188,"w":248,"y":[{"a":[{"l":15,"r":[{"e":35}]},28],"d":[{"e":[{"p":2}]}],"e":[{"n":[{".":1,"e":2,"s":15}],"r":[{"s":12},7]}],"g":[{"e":[{".":1}],"l":24}],"i":164,"l":[{"o":69,"ø":162}],"n":15,"r":[{"e":[{".":4},69]}],"s":[{".":166,"e":162,"i":168,"p":168,"t":[{"e":1},5],"v":162},69],"t":[{"a":[{"r":15}],"e":[{".":1}],"r":69}],"v":286},172],"æ":[{"r":[{"a":[{"r":[{".":4},15]}],"e":[{".":1,"n":15,"r":[{".":15,"e":15}],"s":[{".":15}],"t":[{".":15}]}],"i":[{"s":26},12],"u":12}]}],"ø":[{"e":[{"n":[{"s":2}]},1],"f":24,"k":[{"e":[{"s":1}]}],"l":[{"a":[{".":4}],"e":[{".":4}]}],"n":[{"e":17,"n":[{"e":[{"s":31}]}],"o":61},7],"r":[{"e":[{".":4}],"s":[{"k":53,"p":23,"t":[{"a":[{".":46}]},18],"v":18}]}],"t":[{"a":15}],"v":69,"y":[{"a":[{"r":61}],"e":[{"n":[{"e":23}],"s":23,"t":23},17]}]},253],"å":[{"d":[{"e":[{"s":35},1]}],"e":[{"n":[{"e":2}]},4],"l":[{"a":1}],"r":[{"e":[{"g":4,"p":1},69]}],"s":[{"t":[{"e":85,"i":21}]}],"t":[{"j":3,"o":4,"r":22}]},253]}],"c":[{"a":[{"b":23,"e":1,"l":[{"e":15}],"m":[{"e":15,"o":15}],"p":[{"e":[{".":1}],"r":[{"i":[{"s":4}]},54]}],"r":[{"a":12,"n":22,"o":15,"t":[{"e":[{".":23}]}]}],"s":[{"a":287,"e":[{"t":4}],"h":17,"t":[{"i":[{"l":9}],"o":22}]}],"t":[{"h":[{"r":288},17],"o":[{".":1}]},69]},253],"b":168,"c":[{"i":153},162],"d":[{"e":31},88],"e":[{"b":[{"o":49}],"d":12,"i":69,"l":[{"e":15,"l":[{"e":[{"s":23,"v":23}]}]},172],"n":[{".":164,"e":[{"d":1,"e":1,"m":1,"s":[{".":15},289],"t":1,"v":1}],"s":166,"t":[{"i":[{"m":290}],"o":31}]}],"o":9,"r":[{"b":[{"a":[{"n":[{"e":[{".":120}]}]}]}],"e":12,"o":291,"t":24,"u":168},172],"s":[{"t":[{"o":18}]}]}],"h":[{".":173,"a":[{"l":[{"e":22}],"m":292,"n":[{"e":61}],"t":22}],"b":173,"e":[{"i":162,"l":[{"s":17}],"t":[{"e":61}]}],"i":[{"l":[{"i":23}]}],"h":265,"m":269,"n":[{"e":15},162],"o":[{"m":5,"s":19}],"p":173,"s":167,"t":168,"v":69}],"i":[{"c":69,"d":164,"e":[{"n":32,"s":293},7],"l":[{"l":22}],"n":[{"e":12}],"t":[{"a":15}]}],"k":[{"a":[{"r":[{".":15,"t":15}]}],"e":[{"n":69,"r":[{".":12,"e":1}],"t":[{".":15},295],"y":86}],"i":69,"k":69,"o":8,"r":2,"s":122,"u":[{"p":18,"t":35},31]},294],"l":[{"a":[{"i":[{"r":271}]}],"y":23},88],"m":[{"i":[{"n":[{"i":103}]}]},153],"o":[{"a":[{"t":17},31],"b":[{"i":[{"d":4}]}],"c":296,"d":173,"f":168,"g":168,"l":[{"a":[{".":1,"b":1,"k":1,"r":223}]}],"m":[{"a":15,"t":22},7],"n":[{"o":[{"s":3}],"s":22,"t":61}],"o":7,"p":[{"a":2}],"r":[{"a":52,"e":69},173],"s":[{"o":1,"t":162}],"v":[{"e":[{"r":1}]}]}],"p":[{"r":153}],"r":[{"a":[{"s":[{"h":5}],"c":[{"k":103}]}],"e":[{"e":[{"n":58},28]}],"o":[{"s":183}],"u":166},6],"s":297,"t":[{"a":11,"y":22},187],"u":[{".":162,"l":[{"a":15,"e":15,"u":15}],"p":[{"l":54,"o":4,"r":54,"s":61,"å":1}],"r":[{"e":[{"s":103}]},173],"t":4},172],"y":[{"a":7,"p":21,"s":24}],"z":11,"æ":15}],"d":[{"a":[{"a":162,"b":[{"e":[{"r":162}],"o":167,"s":38}],"d":[{"e":[{"l":274}],"g":0,"ø":[{"r":14},5]}],"e":[{"f":162}],"f":173,"g":[{"b":166,"e":[{"v":1}],"j":162,"l":61,"o":[{".":4}],"r":298,"u":[{"n":4}],"å":162}],"h":[{"e":162,"l":166}],"i":69,"k":[{"a":173,"o":162,"r":162,"s":[{"e":[{".":23}]}],"t":[{"i":[{"g":162}]}],"v":15}],"l":[{"j":299,"a":[{".":6,"s":1,"u":168},69],"b":[{"u":[{"e":[{"r":91}]}]}],"d":248,"e":[{"s":1}],"s":[{"o":31}],"u":69}],"m":[{"a":[{".":1,"n":1,"s":12}],"e":[{".":1,"n":12,"r":[{"i":300}],"s":18,"t":80}],"o":12,"p":[{"e":61}]}],"n":[{".":166,"a":[{"l":168}],"e":93,"i":301,"l":188,"n":[{"e":[{"b":22}],"o":162},164],"o":191,"s":[{".":0,"a":24,"e":[{"l":23}],"k":[{"a":[{"n":143}]}],"v":162}],"t":[{".":301,"i":301}],"y":167}],"o":285,"p":[{"e":12,"p":90},173],"r":[{".":164,"a":166,"b":173,"d":[{"s":124}],"e":[{"a":162,"s":1}],"n":38,"o":[{"s":[{".":22}]},7],"s":19,"t":[{"a":[{".":23}]}],"v":[{"a":[{".":31}],"e":[{".":32}]}]}],"s":[{"e":[{"i":162}],"h":173,"i":168,"j":[{"e":[{"f":162}]}],"k":[{"o":35},1],"t":[{"r":302}],"u":168}],"t":[{"a":[{"l":[{"e":[{".":36}],"i":[{"n":[{"a":242}]}]},303]},17],"e":[{"k":1}],"o":[{"a":12},304],"r":236,"s":[{"j":36}]}],"u":[{"d":[{"s":66},11],"g":[{"o":22}],"t":173}],"v":[{"b":38,"i":[{"s":38}],"l":153,"s":305},173],"ø":162},172],"b":[{"a":[{"l":[{"e":[{".":32}]}],"n":[{"e":[{".":23}]}]}],"e":[{"s":[{"t":19}],"t":[{"a":[{".":32}],"e":[{".":31}]}]}],"l":[{"i":[{"n":[{"g":170}]}]}],"o":[{"e":[{"n":[{".":31}]}]}],"y":[{"f":11}]},174],"c":187,"d":[{"a":[{"d":88,"g":5,"k":0,"r":[{"m":169}]}],"e":[{"i":[{"e":12}],"k":88,"l":[{"a":[{"p":23}],"o":53,"s":[{"v":17}]}],"m":[{"i":0}],"r":[{"s":17}],"s":[{"u":0}]}],"i":[{"e":46}],"o":[{"m":152,"r":[{"m":206}]}],"r":[{"e":277,"u":[{"n":15}]}],"s":[{"a":[{"l":[{"a":1}]},5],"k":[{"a":[{"p":1}]}],"t":[{"a":[{"b":22}],"e":34,"r":22}]}],"y":[{"b":88}],"ø":[{"r":18,"y":169},28],"å":[{"r":69}]},200],"e":[{"a":[{"k":18,"l":7},173],"b":[{"a":[{"r":168,"s":162,"t":164}],"e":173,"l":162,"o":[{"n":[{".":166}]},173],"r":173,"u":[{"t":164}],"y":173,"ø":162},2],"c":69,"d":[{".":166,"a":173,"d":306,"e":[{".":191,"k":162,"l":162}],"i":[{"a":162}],"r":307,"y":173}],"e":[{".":166,"r":2},173],"f":[{"f":38,"t":38},173],"g":[{"e":308,"g":166,"l":12},173],"h":[{"a":[{"v":[{"s":166}]}]},173],"i":[{"d":23,"e":[{"n":[{"e":23}]}],"g":[{".":164,"e":[{".":32,"n":166}],"r":53}],"k":166,"n":259,"r":164,"s":[{".":15,"t":12}],"t":309},173],"j":173,"k":[{"a":167,"e":173,"i":173,"j":173,"k":[{"a":[{"n":23},18],"e":[{"l":23}],"s":[{"t":128},46],"v":70},166],"l":[{"y":168},28],"n":[{"i":166}],"o":[{"d":162,"n":162,"s":162},15],"r":310,"s":[{"t":[{"i":16,"r":36},31]}],"t":166,"u":173,"v":162,"ø":162,"å":162}],"l":[{".":0,"a":[{"d":168,"g":[{"e":168}],"n":[{"s":4}],"u":162}],"e":[{"d":162,"f":1,"i":[{"d":311,"e":22},162],"k":303,"l":[{"e":15}],"m":248,"s":[{"t":1}],"v":312}],"i":[{"d":162,"n":[{"j":168,"t":22}],"s":162,"v":162}],"l":[{"a":[{"p":23}],"e":[{"i":31,"k":23,"r":[{"f":31}]}],"i":[{"g":31}]}],"s":[{"a":[{"t":53}],"e":[{"s":170},24],"i":23,"p":[{"o":23}]},0],"t":[{"a":[{"l":[{"a":31}]}],"e":24,"r":61},0],"u":[{"k":168,"r":109}],"v":[{"e":22}],"y":162,"æ":162,"ø":[{"p":[{"a":[{".":36}]}],"y":168},173],"å":173}],"m":[{"a":286,"b":90,"e":173,"i":[{"e":103}],"j":162,"n":[{"a":[{".":32}]}],"o":[{".":1,"g":1,"k":166,"l":162,"n":[{"o":17}],"s":166}],"p":[{"e":22}],"r":164,"s":166,"u":162,"ø":173,"å":173}],"n":[{".":88,"a":[{"k":2},162],"d":[{"e":[{"n":[{".":313,"e":314}],"r":[{".":313}]}]}],"e":[{"b":15,"d":162,"l":168,"m":162,"t":162,"v":162}],"g":[{"e":[{"n":[{".":274}]}]}],"i":162,"o":[{"m":1},162],"s":[{"i":[{"n":23}],"t":315},88],"t":[{"a":[{"n":[{"t":47}]}],"i":[{"f":162,"t":162}],"o":18,"r":23,"s":125,"u":316,"å":31}],"u":162,"æ":173,"ø":173}],"o":[{"b":7,"g":1,"l":173,"p":[{"p":162}],"r":265,"v":[{"e":1}]}],"p":[{"a":[{"k":162,"p":162}],"e":173,"i":162,"l":162,"u":168}],"r":[{"a":[{"m":32,"n":[{"t":4}],"r":[{"e":1,"k":1}],"s":[{"t":317}],"t":[{"e":17}],"v":24}],"d":22,"e":[{"a":162,"d":[{"d":26},162],"f":1,"g":162,"p":162,"s":[{"i":168,"t":[{".":167,"e":168},22]}],"t":[{"t":162}]}],"i":[{"f":1,"l":1,"n":[{"æ":1},166]}],"k":22,"n":[{"e":22}],"o":[{"b":15,"g":162,"s":[{"e":[{".":46},15]},162],"t":204,"v":5}],"s":[{"n":19,"p":23}],"t":24,"u":[{"n":22,"p":15,"s":168}],"v":24,"ø":[{"r":162}],"å":173},88],"s":[{".":249,"a":173,"c":162,"e":[{"g":15,"r":[{"s":22}]},173],"h":[{"o":[{"p":219},162]}],"i":[{"s":[{"t":271}]}],"j":173,"k":[{".":301,"e":166},173],"l":[{"e":280}],"o":173,"p":[{"l":191,"r":318},173],"t":[{".":166,"e":[{".":166,"m":31}],"i":15,"j":162,"o":162,"r":[{"å":162}],"u":162,"y":168,"å":85},319],"u":[{"p":168}],"v":31,"y":173,"å":16},69],"t":[{".":88,"a":[{"k":[{"a":[{".":46}]}]},173],"e":[{"a":162,"g":168,"k":[{"k":168}],"l":162,"n":162,"p":162,"s":58},12],"i":173,"j":173,"o":162,"r":279,"u":173,"y":162,"ø":162,"å":168}],"u":[{"r":153,"s":166},173],"v":[{"a":[{"n":[{"e":[{".":46}]}]}],"i":[{"e":[{"r":[{".":49}]}],"k":164}],"n":320,"u":15},173],"y":173,"ø":162,"å":173},172],"f":[{"ø":[{"r":[{"a":[{"r":[{"a":[{"r":31}]}]}]}]}]},188],"g":[{"e":[{"l":0}],"i":[{"n":31},38],"j":[{"ø":[{"r":[{"e":[{"n":[{"h":321}]}]}]}]}],"o":90},272],"h":[{"a":[{"v":[{"s":5}]}],"e":[{"i":[{"m":[{"s":322}]}]}],"u":[{"g":[{"a":39}]}],"ø":[{"r":23}]},188],"i":[{"a":[{"k":4,"l":[{"g":15,"i":22}],"r":[{"e":24},69],"s":[{"p":61,"t":36},54],"t":[{"s":103}],"v":173}],"b":173,"d":[{"r":[{"i":22}]}],"e":[{"l":[{"l":2}],"n":[{".":15,"d":236}],"r":69,"s":5}],"f":[{"f":[{"e":14},164],"u":[{"l":164}],"ø":162}],"g":[{"a":[{"n":[{"d":219}],"t":1}],"e":[{"s":323}],"g":61,"j":173,"l":[{"a":[{".":32}],"e":[{".":31}]}],"r":[{"e":[{"n":162,"t":22}],"u":162}],"u":7}],"h":162,"i":162,"j":173,"k":[{"a":[{".":6},15],"e":[{"m":15}],"j":173,"n":168,"o":173,"r":189,"v":61}],"l":[{"i":173,"l":[{"e":[{"s":23}]}]}],"m":[{"a":15,"e":[{"d":168,"l":324,"s":162,"t":162}],"o":173,"p":248,"å":162}],"n":[{"a":15,"d":188,"e":[{"n":2}],"g":[{"k":248,"r":24,"s":[{"e":[{"n":273,"r":116}]}],"å":148}],"i":[{".":1},5],"n":187,"o":173,"v":173,"ø":162}],"o":[{"g":164,"l":191,"n":[{"a":24,"o":23}],"r":[{"i":12}],"t":[{"r":22}]}],"p":[{"l":164,"p":[{"e":58}]},173],"r":[{"e":[{"d":162,"g":162}],"s":248}],"s":[{".":166,"c":4,"e":[{"d":4}],"i":[{"e":[{"n":[{"e":14}]}]},23],"k":[{"a":[{"m":31}],"j":1,"l":127,"o":[{".":22,"e":61},163],"u":61},11],"s":22,"t":[{"i":[{"k":61}]},54],"v":[{"i":23},15],"y":173}],"t":[{"a":[{"l":1}],"e":[{"k":162},2],"t":[{"e":[{"t":23}],"r":18}]}],"u":[{"s":[{".":35}]}],"v":[{"a":[{".":1,"l":162,"n":2}],"e":[{"k":162}],"i":31,"u":173}],"ø":[{"k":173}]},172],"j":[{"a":153,"e":[{".":153,"n":153,"r":[{"v":[{"e":17}]}],"s":[{".":152}],"v":[{"e":39}]}],"i":[{"n":[{"g":[{"a":[{"n":11,"r":11}]}]}]}],"o":153,"u":[{"l":[{"a":[{".":32}]}],"p":[{"a":[{"r":168}]},166]}],"ø":[{".":0}]}],"k":[{"a":[{"r":[{"a":[{".":32}]}]}],"i":31,"j":38,"o":[{"r":28}],"u":[{"l":[{"e":[{".":23}]}]}]},325],"o":[{"u":[{"t":175}],"a":[{"v":173}],"b":[{"a":162,"e":12,"l":[{"a":[{"n":327}]}],"å":173},107],"d":[{"a":1,"ø":[{"r":14},5]}],"e":[{"u":162}],"f":[{"f":90,"r":38},173],"g":[{"m":[{"e":[{"d":31,"s":263}]}],"r":173}],"i":269,"k":[{"i":[{"n":[{"e":162}]},12],"k":[{"a":[{"n":31}]}],"n":162}],"l":[{"e":[{"d":162},15],"i":[{"n":[{"e":[{".":46}],"j":162}],"s":168}],"j":162,"l":42}],"m":[{"e":[{"s":162}],"i":[{"s":15}],"l":162,"o":1,"p":61,"r":173,"s":[{"a":32,"e":328,"i":47,"k":41,"l":[{"a":[{"g":[{"a":123}]}]},18],"o":23}],"u":1}],"n":[{"a":[{".":1}],"g":22,"k":[{"e":162,"l":329}],"s":[{"t":22}],"t":42}],"p":[{"a":[{".":1}],"e":[{".":1}],"i":164},173],"r":[{"a":[{"n":15},330],"d":[{"a":23},188],"e":69,"g":[{"e":[{"s":[{"t":31}]}]}],"i":[{"e":38}],"m":46,"o":12,"p":166,"r":164,"s":[{"k":[{"e":16}]},36],"u":69,"y":[{"e":2}]}],"s":[{".":166,"e":[{".":1,"t":1}],"k":69,"l":331,"o":173,"p":162,"t":[{"r":12},173]}],"t":[{"r":162}],"v":[{"a":15,"e":[{"n":15,"r":1}],"n":39},173],"ø":162},172],"l":[{"a":[{"g":[{"a":23}],"n":[{"d":[{"a":[{"s":58}]}]}],"t":[{"e":[{".":31}]}],"v":23},90],"e":[{"d":[{"i":0}],"f":88,"g":[{"a":[{"r":152},0],"e":24}],"i":[{"e":[{"r":[{".":16}]}]}],"k":[{"a":38}],"l":88,"m":[{"s":[{"t":5}]}],"n":[{"e":[{"t":0}]}],"r":[{"u":0}],"v":[{"a":[{"n":[{"e":[{".":91}]}]}]}]}],"i":[{"f":23,"k":[{"e":22}]},38],"o":38,"y":[{"s":[{"e":[{".":32}]}]}],"ø":[{"p":[{"a":[{".":32}]}]}],"å":[{"r":[{"e":39}]},38]},326],"m":[{"e":[{"l":[{"a":[{".":31}]}]}],"o":[{"e":23,"r":[{"s":120}],"s":32}],"ø":[{"r":[{"e":[{".":23}]}]}],"å":[{"l":[{"a":[{".":31}]}]}]},188],"t":[{".":168,"a":[{"l":[{"a":[{".":31}],"e":[{".":23}]}],"s":23},89],"e":[{"m":[{"a":[{".":23}]},90],"n":[{"g":1}],"r":[{"l":[{"e":170}]}],"s":[{"e":[{".":23}]}],"t":229}],"g":0,"i":90,"j":4,"o":152,"r":[{"a":[{"g":229}],"o":[{"c":11}],"ø":229}],"s":341,"v":[{"a":151}],"ø":[{"k":4,"r":[{"s":203}]},32],"å":23},187],"n":[{"a":4,"o":[{"d":[{"e":[{".":32}]}]}]},222],"p":332,"q":166,"r":[{"a":[{".":153,"a":38,"d":[{".":155,"e":38}],"g":[{"e":[{"n":22}]},333],"k":[{"e":[{"s":31}],"t":164}],"m":172,"n":[{"g":334}],"p":[{".":164,"a":166,"e":164,"p":90}],"r":[{"a":[{"r":11}],"b":90,"e":[{"t":31}],"m":38,"r":38},153],"s":[{"a":335}],"t":[{"t":301}],"u":[{"m":[{"a":16}]}]}],"e":[{".":173,"a":[{"s":[{"s":166}]}],"d":[{"e":[{".":38,"r":38}],"r":77,"s":38},173],"g":[{".":301,"e":[{".":301}],"j":90}],"i":[{"e":[{"n":17,"r":[{".":17,"n":16}]},164]}],"j":38,"k":[{"a":11,"k":152,"t":164}],"l":[{"i":[{"g":152}]},162],"m":162,"n":153,"r":162,"t":[{".":90,"n":90,"r":11,"s":90,"t":[{"s":139},103]}],"v":[{"e":[{"t":166}],"n":164}]}],"i":[{"a":162,"f":336,"g":188,"k":[{".":90,"a":[{".":32}],"e":90,"k":164,"s":128,"t":155},88],"l":337,"n":[{"g":120},188],"t":[{"t":[{"r":16}],"u":[{"n":[{"g":[{"e":[{".":242}]}]}]},17]}],"v":184}],"o":[{"n":[{"n":164}],"p":[{"a":[{".":31}],"s":17}],"r":188,"s":178,"t":[{"a":[{".":32}]}],"v":[{"a":22,"e":24},188]}],"u":[{"k":164,"l":153,"m":153,"p":90,"t":274,"n":306},173],"y":[{"k":[{"k":103},173],"s":88}],"ø":[{"m":0,"r":[{"e":[{".":31}]}],"t":152,"v":[{"e":24}],"y":[{"e":338}]}],"å":[{"d":[{"e":[{".":23}]},153],"p":164}]},1],"s":[{"a":[{".":38,"b":[{"l":90}],"d":[{"e":[{"l":52}]},69],"g":[{"a":39},153],"k":[{"s":[{"e":[{".":36}]}]}],"l":[{"a":[{".":32}],"f":193,"l":11},153],"m":[{"e":155}],"n":[{"e":15},29],"r":8,"s":88,"t":[{"f":0}]}],"b":[{"ø":[{"n":36}]}],"e":[{".":38,"d":23,"f":69,"i":259,"k":[{"s":2}],"l":[{"a":12,"s":[{"a":271}]}],"m":[{"i":12},28],"n":[{"d":[{"a":96,"e":[{".":46}]}],"g":193,"s":38}],"p":67,"r":[{".":152,"f":11,"k":15}],"s":[{"k":198,"t":9}],"t":[{"a":12,"e":[{".":23}],"j":38}],"v":69}],"i":[{"d":[{"a":152,"e":[{"n":[{"t":15}],"o":339}],"r":12},151],"l":152,"n":[{"d":15}],"r":90,"s":34,"v":[{"e":23}]},259],"j":[{"e":[{"n":193}],"o":[{"r":2},88],"u":4}],"k":[{"a":[{"b":15,"n":193,"r":12,"t":0}],"j":[{"e":[{"n":15}],"ø":[{"t":97}]},153],"o":[{"t":38},69],"r":[{"o":12}],"v":277}],"l":[{"a":[{".":15,"n":15}],"e":[{"m":4}],"i":[{"k":36}],"o":[{".":4,"t":[{"t":[{".":155}]}]}],"u":[{"k":1}]},69],"m":[{"a":12,"o":11,"å":[{"l":[{"a":36}]}]}],"n":[{"e":12,"o":15}],"o":[{"m":[{"s":[{"t":152}]}],"s":169,"t":152},8],"p":[{"e":[{"k":90,"l":90}],"i":7,"y":192},69],"s":[{"t":32},9],"t":[{"a":[{"k":12,"l":193,"r":220,"t":229,"u":4}],"e":[{".":340,"i":[{"k":35}],"m":[{"a":[{".":36}],"p":97}],"o":15}],"i":[{"g":89,"k":89,"l":[{"l":[{"i":38}]}]}],"j":69,"o":[{"r":90}],"r":[{"i":90}],"u":[{"n":[{"a":46,"d":38}]}],"v":12,"y":[{"e":46,"v":12}]},23],"u":[{"r":[{"e":120}],"s":[{"k":96},149]},8],"v":[{"a":[{"n":[{"e":[{".":46}]}]}],"e":[{"t":89}],"i":[{"k":[{"a":[{".":36}]}]}]},69],"y":[{"k":38,"n":[{"a":31},90],"t":69}],"ø":[{"r":11},259],"å":29},167],"u":[{"b":[{"b":22,"l":22}],"c":69,"e":[{"n":[{"e":35,"s":35}],"s":22}],"f":[{"o":162}],"g":[{"u":162},164],"i":[{"t":36}],"k":[{"a":[{".":4}]}],"l":[{"l":22,"y":162}],"m":[{"s":183}],"n":[{"a":[{".":1}],"d":[{"e":61}],"i":248,"s":[{"t":[{"a":61}]},19]}],"o":191,"p":[{"k":90,"p":[{"e":116}]}],"r":[{"a":[{".":4}],"e":[{".":4,"i":4}],"t":[{"a":32}]},164],"s":[{"a":9,"e":[{"m":35}],"i":122,"k":7,"l":7,"p":7,"s":5,"t":5,"v":7},69],"t":[{"t":11},188],"v":[{"a":[{".":4}],"e":[{".":1}]}]},172],"v":[{"a":[{"l":[{"e":342}],"n":[{"e":[{".":23}]}]}],"e":[{"s":31,"v":[{"a":31,"e":[{".":32}]}]}],"o":[{"r":32},152]},188],"w":188,"y":[{"a":35,"b":[{"a":173}],"f":173,"k":[{"e":[{".":15}],"l":162,"ø":162}],"l":173,"n":[{"a":[{".":1}],"e":[{".":1}],"k":[{"s":116},162]}],"p":[{"e":[{"s":12}],"r":107}],"r":[{"a":[{".":1}],"e":[{"b":[{"a":15}]}],"l":[{"e":[{"g":[{"e":[{".":91}]}]}]}],"s":42,"u":233,"ø":22}],"s":[{".":191,"a":6,"e":[{".":4},162],"s":61,"t":[{"r":16}]}],"t":7},172],"z":[{".":167},38],"æ":[{"r":[{"s":5}]},172],"ø":[{".":162,"d":[{"s":261}],"g":[{"r":12}],"k":[{"n":38},173],"m":[{"a":1}],"p":[{"e":[{".":1,"n":1}]}],"r":[{"i":24},88],"s":[{".":11,"t":287},173],"t":24,"v":[{"a":35,"e":[{"l":12}],"i":69,"l":[{"e":[{".":32}]},168]}],"y":[{".":173,"a":46,"g":32,"s":343}]},172],"å":[{"d":[{"s":47},172],"n":[{"a":[{".":6}]}],"p":172,"r":[{"a":[{".":6}],"i":15}],"s":[{".":90,"a":[{".":6}],"e":[{"m":2},93]}],"t":[{".":152}]}]}],"e":[{"a":[{"b":150,"d":[{"i":129,"l":[{"i":14}]},153],"f":153,"g":[{"u":7}],"k":[{"r":0,"t":168,"s":[{"e":[{".":31}]}]},150],"l":[{".":153,"l":[{"e":[{".":32},38]}],"o":[{"v":1}],"t":[{"e":90}],"ø":7}],"m":[{"a":[{"n":90}],"n":38},298],"n":[{".":88,"e":[{".":1,"t":97}],"i":0,"n":61,"o":[{"r":1}],"s":[{".":11,"l":24}]},153],"p":[{"e":1},153],"r":[{"e":[{"r":15,"t":15},7],"i":9,"k":[{"a":[{".":31}]}],"m":[{"a":[{".":32}]}],"t":[{"a":[{".":23}]}]},153],"s":[{"i":129,"p":90,"s":153}],"t":[{"a":2,"e":[{"l":229,"r":[{"e":[{"n":36}]}],"t":85}],"h":32,"l":[{"e":31}],"o":93,"r":[{"i":15}],"t":153}],"u":[{"g":[{"a":31,"e":[{".":31}]}],"r":[{"a":[{".":32}],"e":31}],"s":[{"a":32,"e":[{".":32}]},22]},153],"v":[{"l":[{"a":32,"e":[{".":32}]}]},153]},173],"b":[{"a":[{"d":24,"n":[{"e":[{".":23}]}]}],"b":[{"e":[{".":1},12]}],"e":[{"d":[{"e":344}],"i":[{"e":[{"r":[{".":16}]}]}],"n":[{"s":[{"k":116}]}],"r":[{"s":120}],"s":[{"k":[{"u":139}]}],"t":[{"s":17}]}],"h":12,"l":[{"o":149,"æ":17}],"o":[{"b":18,"d":[{"a":23}],"e":[{"r":[{"s":[{".":22}]}]}],"k":[{"r":31}],"l":[{"a":31}]}],"s":15,"u":[{"e":[{"r":[{"e":53,"n":22}],"t":31}]}],"y":[{"t":[{"a":23}]}],"ø":[{"n":31}]},174],"c":[{"a":0,"c":1,"e":153,"h":[{"a":38}],"o":[{"m":90}]},173],"d":[{"a":[{"d":[{".":15},88],"g":[{"s":271},229],"r":[{"k":12,"v":12},88]}],"d":[{"e":[{"l":[{"a":2}]}],"y":[{"r":1}]}],"e":[{".":90,"g":[{"e":20,"n":345}],"i":[{"e":12}],"k":[{"s":0}],"l":[{"e":[{".":32}]}],"n":[{"f":0,"g":346,"t":17}],"p":[{"r":11}],"r":[{"a":23,"ø":0}],"s":[{"k":0,"l":23,"m":23,"n":0,"p":53}],"t":[{"a":23,"t":97}]}],"é":93,"i":[{"a":[{"n":[{"e":47}]},149],"e":[{"n":[{"e":23}]}],"g":[{"j":31}],"s":[{"i":24,"k":53},1],"t":178,"v":152}],"l":[{"e":[{"g":[{"e":[{".":36}]}]}]}],"o":[{"b":6,"k":[{"s":[{"e":[{".":46}]}]}],"l":0,"p":69,"v":69}],"r":[{"a":7,"e":[{"g":12,"v":[{".":38}]}],"o":[{"m":12}],"y":[{"g":97}]},153],"s":[{"k":[{"i":2,"r":12}],"l":[{"a":34}],"m":7}],"t":[{"a":15,"e":12,"r":31}],"u":[{"a":32}],"v":[{"a":2,"i":[{"s":36}]}],"y":[{"k":90,"n":[{"k":15}],"r":[{"k":[{"e":[{".":36}]}]}]}],"æ":23,"ø":[{"r":347}]}],"e":[{"a":61,"b":12,"d":[{"i":12},88],"g":[{"g":[{"a":23}],"n":31,"å":15}],"i":[{"d":23,"n":[{"i":61}]}],"k":[{"e":54,"t":[{"e":23}]}],"l":[{"a":12,"i":229}],"m":[{"n":[{"a":31}]}],"n":[{"b":38,"i":[{"n":24}],"k":348,"t":22},1],"p":[{"l":90}],"r":[{"a":6,"e":[{"n":24}],"i":12,"l":196,"m":[{"e":[{".":23}]}]}],"s":[{"h":97,"k":[{"a":32,"e":[{".":31}]}]}],"t":92,"v":[{"n":[{"e":[{".":23}]}]}]},151],"f":[{"a":[{"l":[{"s":202}],"n":[{"a":0,"k":12}],"r":[{"k":0,"s":116}]},162],"e":[{"a":2,"f":15}],"f":[{"e":[{"k":164},12],"o":12}],"i":[{"d":193,"g":38,"l":[{"m":229}],"r":[{"e":[{"n":61}]}],"s":[{"k":[{"e":[{"n":159}]}]}]},162],"j":181,"l":[{"e":[{"g":[{"e":[{".":36}]}]}],"å":18},173],"n":88,"o":[{"b":[{"i":[{".":32}]}],"n":[{"o":23}]}],"r":167,"s":[{"j":7,"k":7,"p":7,"t":[{"r":4}]}],"t":[{"a":[{"r":17},7],"e":[{"i":22,"r":15}],"l":[{"e":[{"g":[{"e":[{".":91}]}]}]}],"s":177},93],"u":168,"y":[{"r":[{"s":14}]}],"æ":90,"ø":[{"l":[{"e":22}],"y":49},162]},153],"g":[{"a":[{"f":90,"l":[{"a":11}],"m":152,"v":[{"e":[{".":23}]}]},173],"d":[{"e":[{"l":46,"s":2}]}],"e":[{"d":[{"o":38}],"i":[{"e":49}],"l":[{"e":[{"t":23}]}],"m":[{"e":90},88],"n":[{"s":[{"k":178},17]}],"o":[{"m":152}],"s":[{"p":22},349]}],"g":[{"e":[{"n":35}],"l":24,"u":[{"t":219}]}],"i":[{"a":[{"n":24}],"e":183,"k":[{"o":0}],"s":[{"p":5}]}],"l":[{"a":[{"d":92}],"e":[{"d":89,"s":[{"a":2}]}],"i":[{"t":229}],"y":2,"ø":149}],"m":168,"n":[{"a":[{"g":192}],"e":[{"m":1}],"o":4,"å":152}],"o":[{".":0,"i":191},162],"r":[{"a":[{"n":[{"s":139}]}],"ø":350},7],"s":[{"a":[{"m":23}],"k":[{"i":23}],"t":[{"a":23}]}],"ø":[{"y":[{"e":[{"n":[{"e":116}]}]}]},153],"å":[{"v":[{"a":23,"e":[{".":23}]}]},162]}],"h":[{"e":[{"a":5,"i":[{"e":49}],"r":[{".":15,"e":169,"n":2,"s":5}]}],"o":[{"g":17,"v":183}],"y":[{"r":[{"e":[{".":31}]}]}],"ø":[{"v":[{"a":32}]}],"å":[{".":11}]},153],"i":[{"a":[{"k":[{"t":155}],"n":352,"r":[{".":2}]},351],"c":1,"d":[{".":93,"a":[{"r":353}],"e":[{"a":90,"o":90,"r":35,"t":15}],"f":166,"g":166,"o":354,"r":153,"u":34}],"e":[{"d":22,"g":6,"n":[{".":35},28],"r":[{"a":18,"t":1}],"s":4},206],"f":[{"l":69}],"g":[{".":167,"a":12,"e":[{"v":4},31],"i":15,"r":[{"a":4}],"u":4}],"i":162,"k":[{"a":[{"a":15}],"e":[{".":12,"e":4,"h":4,"l":1,"r":[{"i":4}],"t":1}],"r":69,"s":[{"a":18,"e":31,"o":23}]}],"l":[{"e":[{"d":35,"g":[{"g":22}]}],"l":[{"u":90}],"o":[{".":12,"a":35,"p":22,"s":15}],"s":19},162],"m":[{"a":[{".":2,"g":38,"l":355}],"e":[{"d":1,"i":4,"n":2,"s":223,"t":[{"t":39},1]}],"o":4,"p":222},162],"n":[{"a":[{"l":85,"n":[{"s":1,"t":22}],"r":[{"e":2}]}],"d":[{"u":181},54],"e":[{"d":15,"l":2}],"f":39,"g":[{"a":120,"r":24}],"i":[{"t":356},0],"k":[{"a":[{"r":38}]},65],"n":187,"o":[{"m":1,"v":1}],"s":[{"i":[{"d":33}],"l":41,"o":36,"p":[{"i":0}],"t":[{"o":61}]}],"u":[{"m":12},357],"v":168,"ø":107}],"o":[{"r":15}],"p":[{"a":35,"e":12,"s":22},0],"r":[{"a":[{"k":39}],"e":[{"n":2}],"i":12,"s":22},173],"s":[{"a":[{"r":15}],"e":[{".":12,"i":17,"n":12,"r":[{"i":[{"e":137}]}]},0],"h":[{"a":34}],"i":[{"l":1}],"k":[{".":90,"e":90,"j":13,"o":24}],"p":[{"e":34,"i":1}]},173],"t":[{"e":[{"k":1,"r":[{"a":1,"e":1}]}],"o":7,"t":[{"a":61}],"u":[{"t":21}],"v":[{"e":12}],"ø":21}],"v":[{"a":[{"k":1,"r":49}],"e":[{"n":35}],"i":12,"s":42}]}],"j":[{"o":[{"e":[{"n":[{".":32}]}]}],"u":[{"l":[{"a":31}]}]},153],"k":[{"a":[{"l":[{"i":[{"e":123},58]}],"m":[{"s":116}],"r":[{"a":[{".":31}]}],"v":[{"r":38}]},187],"e":[{"i":[{"e":12}],"r":[{"o":0}],"s":0,"t":[{"a":9}],"y":11}],"h":[{"o":[{"v":149}]}],"i":[{".":0},153],"j":187,"k":[{"e":[{"l":[{"e":16}]}],"i":[{"s":[{"t":39}]}],"j":[{"ø":1},69],"l":24,"o":[{"k":15,"v":17}],"u":4,"y":1},173],"l":[{"a":[{"n":[{"e":93}]}],"e":[{"g":4,"n":11,"t":15}],"u":90,"æ":38,"ø":7},153],"n":[{"a":[{".":35}],"e":[{"k":90,"s":16}],"i":[{"p":16}],"o":[{"k":89},12],"u":153,"ø":38},162],"o":[{".":0,"l":[{"e":61}],"r":[{"d":[{"s":242}]}],"t":[{"e":[{".":31}]}],"v":0},150],"r":[{"a":151,"e":[{"d":89,"f":152,"n":90,"t":[{".":169,"s":38}],"v":229}],"i":151,"o":90,"y":1,"å":[{"d":15},89]},188],"s":[{"a":[{"k":34,"l":1,"m":164}],"e":[{"l":12,"m":164}],"i":[{"g":1}],"k":[{"a":1},54],"n":6,"p":[{"e":22},172],"t":[{"a":1,"e":[{"l":40}],"i":[{"l":1},12],"o":17,"å":18}],"æ":1}],"t":[{"a":[{"r":[{"m":21}],"v":24}],"e":[{"f":12,"p":358,"s":[{"t":4},15]}],"i":[{"d":1,"m":17,"v":15}],"o":[{"r":[{"i":[{"a":123}]}]},162],"r":[{"a":85,"o":359}]}],"u":[{"l":[{"e":[{".":23}]}]},153],"v":[{"a":[{"l":1,"r":[{".":4}]}],"e":[{"d":360},168],"i":[{"k":169,"n":1,"s":4,"v":164}]},150],"w":274,"y":[{"t":[{"e":[{".":31}]}]},38],"æ":90,"ø":153,"å":[{"p":[{"a":31}]},153]}],"l":[{"a":[{"g":[{"a":23,"g":12}],"k":[{"e":38,"s":[{"e":[{".":46}]}],"t":2},259],"l":69,"m":[{"e":93}],"n":[{"l":12}],"r":[{"g":97,"r":0,"t":[{"i":2}]}],"s":[{".":38,"e":38}],"t":[{"e":[{".":23}],"o":15}],"v":[{"l":15,"s":12}]},188],"b":[{"o":[{"d":[{"a":46}]}]}],"c":[{"h":1}],"d":[{"o":15,"r":[{"e":[{"r":23}]}],"s":[{"l":[{"e":22}]}]}],"e":[{"d":[{"i":0,"r":0},162],"e":90,"g":[{"d":17,"e":[{"r":61}],"n":[{"a":46}]}],"i":[{"r":152,"s":152}],"k":[{"e":38}],"l":88,"m":[{".":38,"a":[{"t":38}],"e":[{"n":166,"t":38}],"m":90,"p":90},88],"n":[{"a":39,"h":169,"s":203,"t":[{"u":0}]},162],"p":[{"a":38}],"r":[{"a":[{".":32}],"e":[{"t":152}],"g":96},361],"s":[{"k":[{"u":11},24]}],"t":[{"a":0,"e":0}],"v":[{".":338,"a":[{"k":23}],"n":274}]}],"f":[{"i":15}],"g":[{"a":[{".":35}],"e":[{"l":[{"e":15}]}],"i":15,"s":146}],"i":[{"e":[{"r":[{"e":[{"r":19}]}]},155],"f":0,"g":[{"r":362}],"n":[{"d":193,"e":[{"s":17}],"s":[{"p":0}]}],"o":[{"s":47}],"t":[{"a":[{".":32}],"e":[{"t":23}],"t":274}],"v":[{"e":[{"n":127}]}]},173],"j":69,"k":[{"a":[{"l":3}],"e":[{"s":223,"t":[{"e":1}]}],"n":12},28],"l":[{"a":[{".":15,"r":20}],"e":[{"d":1,"g":1,"i":[{"e":22}],"r":15,"s":115,"t":[{"e":4}]}],"i":[{"g":[{"a":[{".":16}]}],"s":[{"j":1}]}],"s":[{"a":61,"k":22,"l":42,"p":22,"v":22}],"u":[{"r":9}],"æ":1}],"m":[{"o":9,"u":15}],"n":15,"o":[{"k":[{"a":[{".":31}]}],"m":[{"m":90,"n":12,"s":12},88],"p":69,"r":[{"t":90},259],"s":[{"t":12}],"t":1,"v":[{"e":[{"r":[{"s":[{".":61}]}]}],"n":169}]},188],"p":[{"e":[{"t":1}],"h":15}],"r":[{"o":[{"s":5}]}],"s":[{"e":[{"i":[{"e":22},1],"n":12,"s":363}],"i":12,"j":[{"e":1}],"k":[{"a":[{"l":1,"n":[{"d":191}],"r":[{"e":22}]}]}],"l":54,"n":[{"o":4}],"p":[{"e":1,"r":12}],"t":[{"e":[{"n":23}],"i":1,"j":1}],"ø":[{"k":22},7],"å":[{"p":[{"e":20}]}]}],"t":[{"a":[{"l":[{"e":[{".":46}]}]}],"e":[{".":15,"g":4,"r":[{"o":1}],"t":[{"t":26}]}],"o":[{"p":85}],"r":[{"o":[{"p":22},1]}],"u":7}],"u":[{"a":90,"e":364,"h":[{"e":365}],"k":90,"m":152,"n":[{"g":[{"e":[{".":36}]},12]}],"p":[{"e":[{".":32}]},152],"r":153,"s":152,"t":[{"r":12}]}],"v":[{"a":[{"n":24}],"e":[{"d":99,"i":1,"r":[{"e":4}]}],"r":54,"s":[{".":166}],"æ":[{"r":[{"e":[{".":36}]}]}]}],"y":[{"e":[{"t":[{".":32}]}],"n":[{"d":15}]},187],"æ":[{"r":[{"e":[{"s":22}],"v":35}],"t":97},173],"ø":[{"r":366,"y":[{".":12,"a":15,"d":15,"n":367}]},173],"å":[{"r":69,"t":38},188]}],"m":[{".":162,"a":[{"d":88,"f":[{"o":14}],"g":[{"e":[{".":23}],"r":0}],"h":88,"k":[{"e":[{".":23}],"o":0,"t":[{"i":15}],"u":0}],"l":[{"e":[{".":31}],"j":337}],"m":0,"n":[{"a":0,"i":[{".":23}],"u":11}],"r":[{"e":0,"m":239}],"s":[{"i":0,"k":[{"u":11}]}],"t":[{"a":0}],"u":[{"k":24}],"v":[{"e":22}]}],"b":[{"a":[{"l":[{"l":166}]}],"e":[{"d":164,"r":116,"t":164}]}],"d":168,"e":[{"i":[{"e":49}],"l":[{"i":23}],"n":[{"d":0}],"t":[{"r":[{"i":[{"s":[{"k":31}]},22]}]}],"v":9},167],"i":[{"b":0,"e":[{"r":[{"t":22}]}],"g":0,"n":[{"i":[{"s":[{"t":120}]},22],"o":[{"r":0}]},162],"r":11,"s":[{"a":39}]}],"j":[{"e":2,"u":38}],"l":[{"e":[{"s":36},15]}],"m":[{"e":[{".":15,"n":15}],"i":[{".":6}]}],"n":[{"d":167,"e":[{".":1,"d":1,"m":1}],"i":168}],"o":[{"n":[{"o":[{"l":22}]}],"p":69,"v":368}],"p":[{"e":[{"d":1,"r":[{"i":4}]}],"l":[{"a":[{"n":[{"e":[{".":39}]}]}],"i":4},107],"o":[{"l":1,"s":1},18]}],"s":[{"e":[{"s":1,"t":[{"e":[{".":46}]}]}],"j":[{"u":26}],"l":298,"n":7,"o":[{"r":1}],"t":[{"e":23},369],"u":24}],"t":[{"a":[{"l":[{"a":46}]}],"i":[{"l":1}]}],"u":[{"g":90,"k":88}],"y":[{"k":23},38],"ø":[{"r":32,"y":38},168],"å":[{"l":[{"a":[{"n":39},23],"s":5}],"r":370}]}],"n":[{"a":[{"k":69,"l":[{"d":12,"i":22,"l":12}],"n":[{"d":15,"e":38,"g":96,"t":193}],"r":[{".":38,"e":6,"r":0}],"s":[{"s":12}],"t":[{"s":[{"p":116}]}],"v":[{"i":12},28]},173],"b":[{"e":[{"n":[{"a":49}]}]},162],"d":[{"a":[{"n":[{"d":26}]}],"e":[{"k":1,"l":[{"ø":[{"s":[{"e":170}]}]},12],"m":[{"i":15}],"r":12,"s":[{"l":1}]}],"l":22,"r":[{"o":85},172],"s":[{"t":24}],"ø":[{"r":[{"e":14},5]},2]}],"e":[{"g":[{"g":[{"a":46},15]}],"i":[{"e":12}],"k":[{"s":15,"t":90}],"m":162,"n":[{"g":15},173],"r":[{"g":164}],"s":[{"k":0}],"v":[{"e":[{"n":61}]},162]}],"g":[{"a":[{"r":2},31],"e":[{"m":1,"r":[{"i":1,"u":116}]}],"l":[{"e":[{"s":23},1]}],"r":23,"s":[{"e":65,"o":22,"p":22,"t":[{"i":5}]}],"u":[{"t":1}],"å":26}],"h":[{"j":162}],"i":[{".":0,"e":[{"r":[{"k":0}]}],"f":88,"r":38}],"k":[{"e":[{"r":[{"a":1,"i":1}]}]}],"n":[{"a":[{"l":35},173],"e":[{"m":1,"s":[{"t":120,"v":271}]},173],"i":28,"o":28,"s":[{"j":23,"t":[{"a":22}]}],"ø":61}],"o":[{"k":12,"g":12,"l":[{"d":206}],"m":[{".":12}],"p":69,"r":[{"d":97}]},173],"p":[{"å":[{"s":1}]},173],"r":[{"e":[{"m":1}]}],"s":[{"a":[{"b":15,"f":22,"k":[{"e":[{"r":371}]}]}],"e":[{"k":1,"l":[{"i":1}],"m":[{"b":166}],"s":133,"u":18}],"i":[{"d":[{"e":[{".":46}]}],"e":[{"r":[{"t":17}]}],"m":1},12],"l":[{"e":[{"g":58,"v":31}]}],"o":[{"p":[{"t":40}]}],"t":[{"a":[{"l":21}],"e":[{"r":23}],"i":23},69],"u":[{"n":[{"d":61}]}],"v":[{"e":23,"i":120}],"ø":[{"k":24},7],"å":61}],"t":[{"a":[{".":15,"p":1}],"e":[{".":15,"c":1,"g":1,"l":1}],"i":[{"e":15,"g":15,"k":15,"m":[{"a":35,"e":[{"n":2}]}]},12],"o":[{"r":[{"i":22},372]}],"r":[{"a":[{"b":22}],"e":[{"n":22},1],"o":[{"l":26,"p":[{"i":373}]}],"å":85}],"u":[{"l":4,"n":[{"g":[{"e":[{".":120}]}]}],"s":164}]}],"u":[{"l":374,"r":169},173],"v":285,"w":162,"y":[{".":0,"b":88,"r":11,"s":88,"t":[{"a":0}]}],"æ":[{"m":32},300],"ø":[{"k":23,"v":375,"y":[{"d":15}]}],"å":[{"s":[{".":4},69]},162]}],"o":[{"a":12,"b":[{"e":11,"l":7}],"d":[{"d":[{"e":[{".":32}]}]},15],"g":[{"r":2},376],"i":259,"k":[{"s":90},88],"l":[{"o":377},88],"m":[{"s":177}],"n":[{"d":[{"e":[{".":32}]}],"e":15,"k":[{"l":23},152],"t":90}],"p":[{"a":12,"l":15,"o":18,"p":[{"r":17}],"r":12},7],"r":[{"d":[{"a":23}],"e":35,"i":[{"d":1,"e":80,"k":1,"s":1},88],"o":69}],"s":[{"l":31},69],"u":259},92],"p":[{"a":[{"t":24}],"e":[{"n":[{"o":11}],"p":31,"r":[{"r":17}],"s":[{"t":23},90],"t":[{"a":0}],"u":11}],"i":[{"d":164,"k":[{"a":[{".":31}],"r":61}],"n":175,"s":[{"o":164}]}],"l":[{"e":[{"n":[{"e":15},93],"r":15,"s":378,"t":164}]},7],"o":[{"e":[{"t":31}],"k":[{"e":164}]}],"p":[{"s":28}],"s":[{"e":[{"m":4,"s":133}],"l":[{"u":3}],"t":54,"u":7,"y":151}],"t":[{"i":[{"n":4}],"r":31}]},188],"r":[{"a":[{"b":[{"b":193}],"d":[{"a":[{".":32}]}],"e":[{"l":0}],"f":[{"t":12},88],"g":365,"k":[{"e":90,"l":22},259],"l":[{"u":18}],"m":[{"a":0}],"n":[{"a":[{".":31}],"d":[{"e":[{".":38}]}],"e":379,"l":[{"i":2}],"o":23}],"p":[{"e":[{".":15,"r":15}],"i":[{"n":9}],"o":12,"p":[{"e":15}]}],"r":[{".":38,"g":0}],"s":[{"a":[{"n":[{"e":38}],"r":38}],"j":[{"e":0}],"k":0,"o":11,"s":193,"t":4}],"t":[{"e":[{"k":0}],"o":[{"r":61}],"r":0,"t":15}],"u":[{"k":[{"e":[{"n":49}]},15],"s":46},88],"v":[{".":12,"h":12,"l":15,"n":90,"r":12,"s":12}]},188],"b":[{"i":[{"t":[{"i":49}]}],"o":[{"d":[{"a":46,"e":[{".":46}]}]}],"y":[{"l":6}]},162],"d":[{"e":[{"d":1,"n":[{"s":91}]},28],"i":[{"s":1}],"r":[{"a":23,"e":32},69],"s":[{"k":[{"j":23}],"t":[{"o":[{"g":[{"a":242}]},23]},18]}],"v":34}],"e":[{"f":[{"f":12,"t":12}],"g":[{"e":[{"n":9}]}],"i":[{"d":12,"e":12}],"k":[{"a":31,"e":[{".":31}],"s":193,"t":[{"e":97}]}],"l":[{"e":366,"i":[{"t":23}],"l":[{"i":11}],"s":193}],"m":[{".":155,"m":38,"n":12}],"n":[{"d":[{"e":[{"n":15}]}],"g":193,"h":169}],"o":380,"r":[{".":6,"f":193,"i":38}],"s":[{"s":12}],"t":[{".":38,"a":193,"h":36,"o":22,"s":152,"t":[{"s":139},168]},23],"v":[{"a":366,"e":198,"n":[{"e":[{".":36}]},193]}]},153],"é":93,"f":[{"a":[{"r":[{"i":166}]}],"i":168,"r":162}],"g":[{"e":[{"l":[{"v":22}]}],"i":[{"f":18}],"l":[{"i":4}],"o":[{".":1}],"r":[{"e":[{"t":22}]}],"s":[{"k":[{"o":22}],"p":22}]},173],"h":[{"ø":[{"r":[{"e":[{".":36}]}]}]},173],"i":[{"a":[{"d":0,"k":0}],"b":[{"b":18,"l":24}],"c":[{"e":0}],"d":[{".":38,"n":38},88],"k":[{"a":[{"t":23}],"n":11}],"l":162,"m":[{"a":[{".":381}]}],"n":[{"d":12,"g":[{"a":[{"r":168}],"s":[{"i":120}]},90],"n":12,"s":12,"t":12}],"o":[{"r":[{"i":38}]}],"s":[{".":38,"a":0,"e":24,"o":0,"p":11,"t":[{".":38,"a":152,"e":38,"i":[{"l":22}],"o":382}],"ø":22}],"t":[{"e":0,"o":0}],"v":[{"o":2}]},153],"j":[{"e":[{"s":[{".":2}]}]}],"k":[{"a":162,"e":[{"r":[{"i":[{"e":123}]}],"s":[{"a":1,"e":1}],"t":[{"e":1,"t":3}]},167],"l":[{"æ":164}],"n":168,"o":383,"r":162}],"l":[{"a":[{"n":[{"d":[{"a":[{"s":170}]}]}]}],"e":[{"g":[{"e":[{".":36}]}],"s":[{"t":66}]}]}],"m":[{"e":12,"o":[{"d":[{"e":[{".":46}]}]}],"s":54,"å":[{"l":[{"a":[{".":36}]}]}]}],"n":[{"a":[{"d":1}],"e":[{"d":[{"e":15},1],"e":4,"r":[{"o":1}],"s":[{"t":1}]}],"o":[{"b":12},7]},173],"o":[{"a":90,"b":[{"l":12,"r":384}],"e":153,"f":[{"f":12}],"g":153,"k":[{"s":15}],"l":[{"y":12},153],"m":[{"k":15,"o":22},153],"n":[{"d":15,"o":14},153],"p":[{".":38,"a":381,"e":[{"n":38}]},69],"r":[{".":38,"e":90},8],"s":[{"a":385,"j":164,"l":12}],"t":[{"a":23}],"v":69},173],"p":173,"r":[{"a":[{"e":1},12],"e":[{"l":1}],"i":[{"e":[{"n":33}]}]},173],"s":[{"a":[{"k":[{"a":46}],"l":31},168],"e":[{"p":12}],"j":168,"k":[{"a":[{".":23,"r":[{"a":[{"n":6,"r":57}]}]},12],"o":[{"r":22}]},69],"l":[{"a":23,"e":[{"d":31}]},69],"m":[{"i":23}],"n":[{"e":15}],"p":168,"t":[{"e":[{"n":[{"s":22}],"r":22,"v":2}]}],"u":69,"v":[{"a":1,"e":23},162],"å":[{"r":26},69]}],"t":[{"a":[{"r":[{"e":1}]},173],"e":[{"s":386}],"i":[{"a":15,"b":12,"e":5,"l":15,"m":[{"o":5}]}],"o":[{"p":1}],"r":[{"o":[{"l":22}]}],"s":[{"a":24},162],"y":[{"e":36}],"å":[{"r":[{"e":[{"n":16}]}]}]}],"u":[{"a":153,"d":387,"i":153,"k":8,"m":90,"n":[{"g":193,"i":12}],"p":[{".":90}],"r":[{"e":91},370],"s":153,"t":[{".":15,"a":38,"e":90,"n":15,"o":35,"s":0}],"v":40},173],"v":[{"e":[{"l":[{"e":242}]}],"i":168,"s":18,"æ":[{"r":[{"e":[{".":36}]}]}]}],"y":[{"a":375,"e":[{"n":[{"e":16}]}],"r":69,"s":18},388],"æ":[{"r":[{"e":389}]},153],"ø":[{"k":[{"n":15,"o":0}],"l":182,"n":[{"n":149},169],"r":[{"a":32,"s":390}],"y":[{"a":12,"e":391,"n":5,"s":[{".":169,"k":2}]}]},188],"å":[{".":155,"d":[{"a":23,"e":[{".":32}]}],"e":31,"k":[{"e":15},23],"l":34,"n":259,"p":34,"s":[{"e":34}],"t":[{"a":392},31],"v":11},188]}],"s":[{".":173,"a":[{"a":15,"d":88,"g":36,"l":[{"a":[{".":31}]},1],"m":[{"e":[{"t":39}]}],"n":[{"t":193}],"r":[{"a":[{"b":15}],"v":15}]},153],"b":[{"i":[{"e":49}]}],"c":[{"e":6}],"e":[{"g":[{"e":15}],"i":[{"d":115,"e":[{".":15}],"g":[{"e":[{".":46}]},12]}],"k":[{"u":0},90],"l":[{"s":78}],"n":151,"r":[{".":38,"e":38,"i":38,"k":193}],"s":[{"t":90,"v":0},179],"t":[{"a":[{"s":22}],"e":[{".":23}],"j":38,"s":155}],"u":0},173],"h":[{"a":[{"r":[{".":39},4]},0],"e":[{"r":26}],"i":0,"o":[{"p":350},153]}],"i":[{"a":[{"r":31}],"e":[{"r":[{"t":22}]}],"l":[{"i":38,"l":12},0],"n":[{"s":193}],"v":31,"s":[{"t":24}]}],"j":[{"o":[{"r":12}]}],"k":[{"a":[{"b":38}],"e":[{"d":4,"e":1,"r":1}],"i":[{"l":167,"n":[{"g":0,"n":[{"s":373}]}]}],"j":[{"e":[{"r":[{".":340}]}],"æ":1,"ø":[{"n":11}]},153],"n":9,"o":[{".":38,"a":2,"t":90}],"r":153,"u":[{"e":[{"t":17}]},153],"v":[{"i":12}],"y":[{"r":11},38],"ø":153,"å":[{"r":16},152]}],"l":[{"a":153,"e":[{"k":1,"t":[{".":2,"s":2},1]}],"i":[{"t":1}],"o":[{"k":169}],"ø":[{"k":1,"v":1}]}],"m":[{"a":[{"k":[{"e":1}]}],"e":[{"t":[{"t":393}]}]}],"n":[{"a":[{".":35}],"e":[{"r":1}],"o":7,"u":1,"y":7,"æ":[{"r":[{"e":17}]}]}],"o":[{"b":23,"d":375,"f":259,"k":[{"s":12}],"m":[{"m":90},88],"r":[{"i":193}]},187],"p":[{"a":[{"r":[{"a":49}],"s":12}],"e":[{".":15,"d":394,"r":[{"m":15}]}],"l":[{"e":26},12],"o":[{"l":12,"r":90}],"u":[{"n":12}]},150],"s":[{"e":[{"d":1,"e":1,"g":1,"i":16,"n":[{"d":[{"i":4}],"k":26}],"s":1,"t":[{"e":1}],"v":[{"a":42}]}],"j":[{"a":85,"e":1}],"k":[{"r":1}],"l":[{"e":[{"t":23}]}],"o":[{"m":24,"s":1}],"p":[{"a":1}],"t":[{"i":[{"l":[{"t":22}]}],"o":[{"l":1,"r":22}],"u":[{"a":39,"e":[{"n":[{".":91}]},22]}]}],"u":162,"v":129,"å":3}],"t":[{"a":[{"d":152,"e":15,"k":[{"t":2}],"l":[{"a":35}],"n":[{"e":93,"s":38,"t":15}],"p":12,"r":[{"t":38}],"t":[{"o":15},90],"u":193,"v":[{".":152,"s":22}]}],"e":[{".":97,"g":1,"i":[{"e":22,"g":22}],"k":1,"l":[{"l":38,"s":15},1],"m":[{"a":0,"e":11,"o":0,"p":15}],"n":[{"g":152,"k":15},168],"r":[{".":206,"k":149,"n":[{"e":159}]}],"s":[{"t":1},124]}],"i":[{"e":[{"n":1}],"f":90,"g":1,"k":[{"k":1},90],"m":[{"a":395}],"s":1,"v":0}],"j":153,"o":[{"n":[{"e":4},52],"g":0,"k":90,"l":89,"r":[{"d":22,"i":22}]}],"r":[{"a":[{"k":15}],"e":[{"n":[{"e":22}],"r":22}],"é":39,"i":[{"b":15}],"y":[{"k":38}],"å":90}],"u":[{"d":38,"s":15},153],"å":[{"r":[{"e":[{"n":17}]}],"s":[{"e":61},36]},167]}],"u":[{"t":15},153],"v":[{"a":[{"r":[{"e":17}]}],"e":[{"k":229}],"i":[{"g":15,"k":[{"t":38}],"s":12}]}],"y":[{"n":[{"a":23}],"t":169},361],"ø":[{"v":[{"i":15}],"y":[{"e":2}]}]}],"t":[{"a":[{".":162,"e":0,"f":[{"o":58},88],"k":[{"o":11},90],"l":[{"a":[{".":23},24],"d":15,"e":22,"l":[{"i":[{"s":[{"t":36}]}],"s":138},248],"s":396},90],"n":[{"k":175,"d":11,"e":[{"n":23}]}],"m":[{"b":12}],"p":[{"a":155,"e":38,"p":[{"e":164}]},1],"r":[{".":6,"e":6,"t":15}],"s":[{"j":[{"e":[{"s":334}]}]}],"t":[{"i":248,"o":38,"t":90},184],"u":[{"n":15}],"x":93},153],"c":69,"e":[{"i":[{"e":0}],"k":[{"a":0}],"m":[{"a":[{".":23}]}],"r":[{"a":[{"n":38}],"u":22}],"s":[{"i":17,"l":0}],"t":[{".":38,"s":152},6]},173],"é":162,"h":[{"e":[{"r":4}]},162],"i":[{"t":90},173],"j":[{"e":[{"r":152}],"ø":12},188],"l":168,"m":15,"n":[{"e":[{"v":4}],"i":[{"n":[{"g":[{"s":51},190]}]}]},173],"o":[{"e":[{"r":23}],"p":[{"p":[{"d":15}]}],"r":[{"d":12}],"t":0},188],"r":[{"a":[{"d":229,"k":252}],"e":[{"e":38,"f":38},167],"i":[{"s":193}],"u":[{".":155,"m":15}]},188],"s":[{"a":[{"r":[{".":35}]}],"k":[{"u":[{"l":[{"e":[{".":91}]}]},1]}],"l":[{"a":[{"g":[{"a":91}]}]},61],"n":[{"æ":103}],"ø":7},54],"t":[{"a":[{"k":1,"l":[{"e":[{".":36}],"t":22},1],"n":[{"k":1}],"p":6}],"e":[{".":15,"i":4,"l":[{"t":4}],"n":[{"k":1,"n":1}],"r":[{"a":[{"t":14},190],"f":20,"k":166,"r":166}],"s":[{"k":22}]}],"i":[{"a":[{"n":242},4],"l":1},173],"j":7,"o":[{"a":17}],"r":[{"e":24},1],"s":[{"k":[{"i":23}],"t":[{"i":23}]}],"u":[{"g":12,"r":1}],"v":[{"i":[{"s":[{"e":14}]}]}],"y":7}],"u":[{"i":334,"n":[{"a":31,"i":12}]},188],"v":[{"a":[{"n":[{"g":149}]},193]},397],"y":188,"z":162,"æ":[{"r":[{"a":24}]},162],"ø":153,"å":[{"r":[{"e":22}]},153]}],"u":[{"a":1,"f":93,"g":[{"l":[{"a":32}]}],"h":1,"k":[{"a":[{".":1}],"e":[{"m":15},7],"r":2}],"l":7,"m":28,"n":[{"g":[{"e":[{".":23}]}],"u":15},151],"p":[{"a":195,"k":11}],"r":[{"a":[{"t":4}],"e":5,"i":173,"n":[{"a":32,"e":[{".":31}]},90],"o":[{"p":164},176],"t":90},88],"s":[{"i":1},88],"t":[{"a":69,"s":90,"t":61}],"z":193},153],"v":[{"a":[{"d":[{"r":36}],"k":[{"t":[{"i":15}]}],"l":[{"a":23}],"n":[{"n":[{"s":103}],"t":[{"a":169}]}],"r":[{"a":[{"r":0}],"b":0,"k":169}],"t":[{"f":11}]}],"e":[{"d":[{"a":19,"e":[{"l":22}]},168],"g":[{"g":38},168],"i":[{"s":116}],"n":[{"n":168,"s":17,"t":[{"y":166}],"y":0}],"r":[{".":155}],"s":[{".":38}],"t":[{"a":38}],"v":[{".":38}]}],"i":[{"e":[{"r":[{"e":22,"t":22}]},23],"n":[{"s":5}],"s":[{"e":[{".":23}],"t":18}]}],"j":88,"n":[{"a":[{"k":42},7],"u":2}],"o":[{"m":[{"s":2}]}],"r":[{"e":0,"i":[{".":152}],"å":35}],"s":[{"v":32},69],"t":[{"a":[{"l":[{"a":46}]}],"i":5}],"u":[{"n":375}],"y":[{"r":[{"k":38}]}],"ø":88},153],"w":[{"a":12}],"y":[{"b":[{"a":[{"l":103}]}],"d":150,"k":15,"n":[{"g":153}],"r":[{"k":[{"a":31,"e":[{".":23}]}]},153],"t":[{"i":152,"r":12},150]},69],"z":[{"i":90,"u":153}],"æ":[{"r":24},150],"ø":[{"r":[{"n":[{"a":[{".":31}]}]}],"y":[{"a":[{"n":39}],"e":[{"n":61}]},23]},398],"å":[{"k":23,"n":[{"d":[{"a":32}]}],"t":[{"t":32}]},154]}],"é":[{"a":153,"b":153,"d":[{"ø":[{"r":53}]},153],"e":95,"f":153,"g":153,"h":153,"i":153,"k":153,"l":153,"m":153,"n":[{"e":[{"t":149},169]}],"o":38,"p":153,"r":[{"j":88},153],"s":[{"e":28},153],"t":153,"v":[{"a":[{"l":[{"a":32}]}],"o":[{"r":[{"e":[{".":32}]}]}]},153],"å":38}],"è":[{"r":[{"e":[{"d":88,"f":88,"k":399,"n":[{"e":[{"r":0}]}],"p":88,"s":[{"t":0},82],"v":88}]},153],"v":[{"e":[{"s":11}]}]}],"ê":[{"l":[{"a":[{"n":93}]}],"r":[{"a":11,"e":153,"o":2,"s":[{"l":35}]}]}],"f":[{"a":[{"b":[{"o":162}],"c":[{"i":69},32],"d":[{"e":[{".":4},12],"m":168}],"f":1,"g":[{"a":129,"e":[{"r":15,"t":[{"i":22},5]}],"i":7,"o":7,"r":[{"o":274},7],"s":[{"k":24}],"u":129}],"i":22,"k":[{"r":173,"s":[{"e":[{"t":33}]}],"t":[{"a":203}],"u":69}],"l":[{"a":69,"k":[{"e":[{"s":31}],"l":41}],"l":[{"e":[{"r":[{"s":31}]}]}],"m":22,"o":1,"s":[{"k":23}]},166],"m":[{"o":236}],"n":[{"a":[{".":1}],"d":400,"e":166,"f":[{"a":14}],"g":[{"s":[{"t":[{"e":[{"v":170}]}]},5]}],"k":162,"l":361,"s":19,"t":[{"e":[{"s":[{"k":61}]}],"i":22,"o":24,"r":[{"y":23}]}],"u":168}],"p":173,"r":[{".":401,"a":[{".":1},12],"e":[{".":1,"s":1}],"g":[{"e":[{"l":23,"s":23}]}],"i":[{"t":1}],"n":22,"s":[{"k":[{"j":31}]}],"t":183,"v":[{"e":[{"l":23}]}],"y":162},164],"s":[{"a":2,"e":[{"l":1,"r":[{"u":1}]}],"l":173,"t":[{"r":18}]}],"t":[{"a":[{"l":12}],"e":[{".":1,"r":[{"s":21}]}],"o":69,"r":[{"e":52},28]}],"v":[{"n":[{"e":22}],"ø":69}]},172],"b":[{"a":[{"n":[{"e":[{".":23}]}]}]},188],"d":188,"e":[{".":164,"a":[{".":166,"l":20},402],"c":173,"d":[{"a":1,"e":164,"r":[{"a":12,"i":34},7]}],"e":[{"n":[{"e":2}]}],"f":173,"g":285,"h":[{"j":173}],"i":[{"e":[{"n":39,"r":39}],"g":[{"d":[{"e":5}],"e":22}],"l":[{"e":[{"s":17}],"i":23}],"n":[{".":301,"e":191}],"t":[{"e":[{"r":61}]}]}],"j":167,"k":[{"a":307,"l":162,"o":173,"r":162,"t":[{"e":[{"s":31,"v":17}]}]}],"l":[{"a":[{"g":15}],"e":[{"n":15}],"i":[{"e":128,"k":168},15],"l":[{"e":[{"s":139}],"æ":61}],"o":[{"k":22},173],"t":[{"a":[{".":39}],"e":[{"k":23}],"i":23,"r":[{"a":23}]}]}],"m":[{"a":[{"k":22}],"b":39,"n":[{"e":39}],"o":1,"s":22,"t":[{"i":[{"d":23}]}],"ø":129}],"n":[{".":166,"a":162,"d":[{"r":49}],"i":162,"s":166,"t":[{"l":[{"e":[{"g":373}]}]}]}],"o":173,"p":403,"r":[{".":166,"a":[{"l":4,"m":162,"s":15,"t":31}],"d":[{"a":[{"m":23}],"e":22}],"e":[{"a":162,"g":162,"k":1,"n":31,"r":[{".":2,"s":22}]}],"i":[{"e":[{"n":[{"e":273}]},36]}],"n":191,"r":28,"s":[{"k":[{"a":[{"r":49}],"e":16}]}],"u":189}],"s":[{".":164,"i":173,"k":189,"t":[{"i":131,"r":404,"u":[{"m":39}],"ø":405},7],"y":162}],"t":[{"a":[{".":4,"p":162}],"e":[{".":1,"a":162}],"i":[{"l":162},15],"r":406,"t":[{"j":17,"s":128}],"y":303}],"u":173,"v":[{"e":[{"n":1}]},173],"ø":[{"y":[{".":4}]},173],"å":173},172],"é":[{"r":172}],"f":[{"a":[{".":152,"b":0,"g":407,"k":193,"l":61,"n":[{"n":11}],"r":[{"b":0,"d":36,"e":61}],"s":155,"t":11,"u":340,"v":375}],"e":[{"b":88,"d":228,"e":88,"h":11,"l":[{"t":66}],"m":88,"r":[{"d":[{"i":11}],"e":[{"r":23}]}],"s":88,"t":[{"i":0,"o":0}],"v":[{"e":15}]}],"i":[{"b":88,"c":[{"e":0}],"d":88,"e":[{"n":155}],"n":[{"n":0,"t":15}],"p":88,"s":42}],"j":88,"l":[{"a":[{"g":[{"a":46}]},12],"e":[{"g":35,"k":15}],"i":12}],"o":[{"l":1},88],"r":[{"e":375,"o":69}],"s":[{"l":15}],"t":9,"u":[{"r":31,"t":96}],"æ":90,"ø":0},173],"g":397,"h":188,"i":[{"a":[{"l":61,"n":23,"p":162,"s":408}],"b":[{"i":[{"e":[{"n":36}]}]}],"c":[{"e":[{"n":35}],"i":16}],"d":[{"i":2}],"e":[{"r":[{"e":40},69]},28],"f":[{"i":15,"o":15,"l":2},1],"g":[{"h":[{"t":49}],"r":40},11],"h":162,"k":[{"a":[{"l":[{"i":[{"e":409},170]}]},35],"e":[{"n":2}],"k":[{"a":31,"n":47}],"o":15,"s":[{"a":61}],"u":162}],"l":[{"a":[{".":1}],"i":12,"l":[{"e":[{"l":31,"r":[{"i":31}],"s":23,"t":[{"i":61}]}]}],"m":[{"a":[{"t":64}]}],"o":69,"t":[{"r":[{"e":[{"s":61},36],"i":23}]}],"æ":162}],"n":[{"a":[{"r":[{"t":22}]}],"d":22,"e":[{".":1,"r":15}],"g":[{"r":18}],"j":168,"n":[{"e":[{"i":17}],"s":[{"a":168}]}],"o":[{"r":35},85],"s":[{"l":[{"e":[{"g":31}]}]},173],"t":[{"e":[{"s":87}]}],"u":7}],"o":400,"r":[{"a":[{".":4},12],"e":[{"n":[{"e":35}],"s":[{".":15}]}],"i":12},7],"s":[{"a":9,"c":162,"e":[{".":4,"r":[{"s":120}]}],"i":[{".":6}],"k":[{"a":[{"d":80,"l":61,"n":[{"d":17}],"r":[{"t":31}]},4],"e":[{"n":[{"d":47}]}],"l":41,"o":[{"l":168}],"u":168},7],"t":[{"i":22,"u":168}]}],"t":[{"i":[{"m":[{"e":[{".":36}]}]}],"r":162,"t":[{"s":17}],"y":2}],"v":[{"e":[{".":1}]}]},172],"j":[{"e":[{"g":153,"l":[{"l":[{"e":[{"n":[{"d":36}]}]}]}],"n":38,"r":[{"n":[{"e":17}]}],"s":[{"k":23}],"t":255}],"u":38,"æ":[{"r":[{"e":[{"s":410},14]}]}]},172],"k":411,"l":[{"a":[{"g":[{".":38,"g":11}],"k":[{"e":61}],"s":0}],"e":[{"g":173,"i":31,"k":0,"l":11,"r":[{"u":316}],"s":[{"l":23}],"t":[{"t":0}],"v":90}],"i":[{"n":[{"e":61}],"s":[{"t":16}],"t":[{"t":260}]}],"o":[{"g":[{"a":39}],"k":[{"s":49}],"m":255,"r":[{"o":47}],"s":[{"k":[{"l":36}]}]},172],"u":[{"e":[{"s":18}],"s":46,"t":15},11],"y":[{"s":65},164],"ø":[{"n":90,"s":22}],"å":[{"s":[{"a":39,"e":61}]},172]},156],"m":188,"n":4,"o":[{".":173,"a":[{"r":35}],"b":[{"s":168}],"e":173,"f":162,"i":[{"l":[{"a":61}]}],"k":[{"e":[{".":6}]}],"l":[{"a":[{".":4}],"d":[{"r":23}],"e":[{".":1,"d":15}],"k":[{"v":47,"e":[{"s":138}]}],"l":[{"e":[{"r":39,"s":[{"e":22}]}],"i":22}],"u":1}],"n":[{"a":1,"d":183,"e":15,"i":[{"d":34,"n":1}],"s":180},164],"p":153,"r":[{"a":54,"d":[{"r":[{"e":[{"v":39}],"o":61}],"u":19}],"e":[{".":4,"i":39,"n":[{"t":22},77],"s":[{"s":22}],"t":[{"e":[{".":143,"n":143}]},23]}],"g":131,"h":36,"i":[{"n":207}],"k":46,"l":[{"o":[{"v":58}],"ø":[{"p":[{"a":33}],"s":[{"e":33}]}]}],"m":[{"o":[{"r":33}]}],"n":24,"o":36,"p":42,"s":[{"e":24,"i":[{"d":[{"a":33,"e":[{".":58}]}]}],"m":65,"t":[{"e":39},46],"v":5}],"t":[{"a":[{"l":[{"e":[{".":91}]}]}],"e":[{"i":[{"e":186}]},19],"i":[{"d":[{"a":14}]},77],"v":65}],"u":[{"l":65}],"v":[{"a":[{"r":[{"e":33}]}]},77],"æ":412,"ø":42,"å":39}],"s":[{"e":35,"f":[{"o":[{"r":[{"e":14}]}]}],"j":162}],"t":[{"a":1,"e":[{".":4}],"o":[{"k":1,"m":1,"p":4,"r":1},17],"s":[{"v":36},24],"t":24}],"v":187},172],"ô":164,"p":[{"o":[{"e":31}]},397],"r":[{"a":[{"l":22,"m":[{"e":53,"i":31,"m":[{"a":[{"n":[{"e":[{".":242}]}]}]}]}],"n":[{"k":[{"o":139}],"s":[{"e":16}]}],"r":62,"s":[{"e":[{".":22,"p":61}],"i":[{"e":91}],"k":61,"p":36},54],"v":[{"r":77},61]},172],"e":[{".":88,"d":[{"s":[{"e":[{"l":46}],"t":14}]}],"e":41,"g":167,"k":0,"m":[{"m":[{"a":[{"n":[{"e":[{".":242}]}]}]}],"s":103},53],"n":[{"e":61}],"s":[{"k":[{"o":[{".":16,"e":17}]},31],"v":148}]}],"i":[{"a":[{"r":[{"e":19}]}],"d":[{"i":274}],"e":[{"r":[{"f":23}]}],"n":153,"s":[{"k":[{"a":36}],"p":42,"t":[{"i":[{"l":19}]}]}],"t":[{"e":[{"r":[{"e":[{".":91}]}]}],"i":[{"m":[{"e":[{".":91}]}]}]}]}],"o":[{"c":168,"f":61,"n":[{"t":[{"a":[{"l":[{"e":186}]}]}]}],"s":[{"t":32}]}],"u":[{"s":176,"t":[{"a":[{"l":[{"e":[{".":120}]}]}]}]}],"y":[{"t":153}],"ø":[{"b":22,"k":[{"o":61},0]}],"å":[{"r":39,"v":[{"e":103}]}]},7],"s":[{"h":[{"o":36},7],"i":28,"j":[{"u":[{"k":38}]}],"l":[{"e":[{"g":[{"e":[{".":36}]}]}]},88],"m":0,"n":[{"e":239},88],"o":[{"v":15}],"t":[{"a":[{"b":375,"n":97}]},7],"v":413},188],"t":[{"a":[{".":90,"f":61,"k":69,"l":[{"a":[{".":32}],"g":12}],"m":259,"n":[{"a":0,"e":152,"l":12}],"r":[{".":38}],"s":414,"v":330},153],"e":[{"a":88,"d":90,"e":0,"g":88,"i":88,"k":88,"m":11,"n":[{"a":23,"d":18,"h":193,"s":[{"v":80}]}],"o":88,"r":[{"a":415,"i":[{"n":0}],"s":17}],"s":[{"t":0}],"t":[{"a":0,"t":169}]}],"i":[{"d":206,"n":[{"d":12}],"s":201}],"l":15,"n":2,"o":[{"g":38,"n":164},217],"r":12,"s":[{"a":[{"l":[{"t":22}]}],"e":[{"i":24,"r":[{"s":22,"v":22}]}],"i":129,"k":[{"a":[{"f":7}]},54],"l":[{"a":[{"g":[{"a":120}],"n":9}],"e":[{"g":[{"e":[{".":120}]}]}]}],"t":[{"o":[{"p":3},12],"r":[{"i":20}],"ø":15}],"u":54,"ø":357}],"t":[{"a":[{"k":[{"a":46}]}]},9],"u":69},173],"u":[{"g":[{"a":[{".":6}],"l":[{"e":[{".":39,"g":127}]}]}],"l":[{"e":4,"l":[{"a":[{"r":39}],"e":[{".":39,"n":[{"d":[{"e":[{".":242}]}]},23],"r":23,"s":61},120],"f":[{"ø":[{"r":[{"e":170}]}]}]},18]}],"n":[{"n":[{"s":[{"l":[{"a":[{"g":[{"a":159}]}]}]},203]},183]}],"r":[{"a":[{".":4}],"e":[{".":4,"t":35}],"o":2,"u":176}],"s":[{"e":[{"l":2}],"k":4,"o":127,"t":26}],"t":[{"h":23,"u":176}]},172],"v":[{"a":[{"l":[{"a":32}]}]},187],"y":[{"l":[{"a":15}],"r":[{"a":[{".":6,"b":158}],"e":[{".":1},69],"k":[{"e":[{".":32}]},61],"t":22},28],"s":[{"a":[{".":6},16]},12]},172],"æ":189,"ø":[{"d":[{"a":[{".":1}],"e":[{"k":1,"n":15,"s":[{".":15},1]}],"s":[{"e":[{"l":[{"s":416}]}]}]}],"f":69,"k":173,"l":[{"e":[{".":1}]}],"r":[{"a":[{"r":15},31],"e":[{".":1,"s":[{"v":2},1],"t":[{"e":6}]}],"t":[{"i":[{"n":31}]}]},93]},172],"å":[{"r":[{"e":[{"n":2,"t":2}],"i":15,"u":61}],"v":[{"a":2}]},162]}],"g":[{"a":[{"b":[{"a":162,"o":69,"ø":168}],"d":[{"a":12,"e":[{"d":1}],"g":162,"m":173,"r":248}],"e":[{"k":26}],"f":[{"f":[{"e":[{"l":139}]}],"l":[{"o":168}],"t":90}],"h":168,"k":[{"s":153,"t":[{"a":[{".":32}],"e":32}],"v":12},168],"l":[{"a":[{".":1},69],"e":[{"i":14,"n":2}],"l":[{"e":[{"s":23}],"i":162}],"o":317}],"m":[{"a":[{".":1}],"b":162,"e":[{"r":15}],"m":[{"e":[{"l":145}]}]}],"n":[{"d":[{".":168,"e":[{"n":168}]}],"e":301,"g":[{"e":[{"n":19}],"j":53}],"k":417,"l":188,"n":162,"s":[{"a":162,"v":162}],"t":[{"r":[{"e":248}]}]}],"p":[{"a":[{".":4}],"e":[{".":1}],"l":26,"s":82,"u":21}],"r":[{".":301,"a":[{"f":4,"k":3}],"b":[{"r":166,"y":166},173],"d":[{"e":[{"k":23}]}],"e":[{".":191,"a":162,"s":[{"k":[{"e":[{".":120}]}]},22]}],"i":28,"k":[{"i":162}],"n":[{"e":24}],"t":[{"a":[{".":31}],"e":[{".":32},38],"i":90,"s":[{"l":[{"a":80}]}]}],"u":[{"n":23}],"y":[{"l":1}]}],"s":[{"c":1,"i":122,"k":[{"a":[{".":32}],"e":[{".":32}],"i":4}],"p":162,"s":[{"e":[{"l":31,"n":22,"r":61,"t":[{"t":17}]}],"l":18}],"t":[{"e":22,"o":15,"r":418},166]}],"t":[{"e":[{".":1,"n":[{"s":15}],"s":17}],"i":12,"o":69,"r":12,"t":[{"a":[{"p":31}]}]},88],"u":[{"l":[{"a":[{".":22}]}]}],"v":[{".":301,"d":173,"e":[{"i":226,"r":[{"i":1}]}],"g":162,"k":38,"s":188,"t":173,"v":162}],"w":173,"ø":162},172],"b":[{"a":[{"n":[{"e":[{".":23}]}]}],"y":[{"k":11}]},188],"c":188,"d":[{"a":[{"l":[{"t":15}],"u":97}],"e":[{"a":24,"b":[{"a":90},88],"d":[{"i":0}],"l":[{"o":22}],"m":88,"n":[{"d":0}],"o":227,"r":[{"a":0,"e":195,"o":11}],"s":88,"t":[{".":90},88],"v":[{"i":[{"s":[{"a":91}]}]}]}],"o":[{"p":15,"r":69}],"y":[{"d":23}],"ø":[{"y":330}]},222],"e":[{"a":[{"k":[{"t":[{"a":46,"e":[{".":36}]}]}],"r":[{"e":[{"n":61}],"k":1}]},189],"b":[{"a":168,"e":236,"r":[{"i":164,"å":162}],"y":[{"r":164}]},173],"d":[{"a":[{"n":162}],"e":[{"l":168}],"i":[{"a":14}],"o":[{"m":[{".":301,"a":191,"e":301,"m":[{"e":191}],"s":168}],"s":162}],"r":173,"y":173,"ø":173},23],"e":[{"n":[{"d":[{"e":[{".":46}]}]}]},173],"f":[{"t":38,"æ":164},173],"g":[{"g":38,"n":151},419],"h":[{"ø":[{"v":[{"e":[{".":46}]}]}]},173],"i":[{"e":153,"n":277,"r":[{"e":39},41],"s":[{"p":64,"t":87}],"t":[{"a":18,"o":18,"r":41},164]},173],"j":173,"k":[{"l":35,"n":12,"s":153,"t":168},420],"l":[{".":166,"a":[{"r":1,"u":162}],"e":[{".":4,"a":2,"d":162,"i":[{"e":[{"r":14}]},162],"k":162,"m":181,"n":[{".":15,"s":15}],"t":[{"t":22},166]}],"i":[{"d":162,"g":[{"g":168}],"t":162,"v":168},164],"o":[{"v":15},173],"s":[{"e":24,"i":22,"k":[{"l":58}]},421],"t":42,"u":[{"n":15},162],"v":[{"e":61}],"y":162,"æ":173,"ø":173,"å":173}],"m":[{".":166,"a":[{".":301},173],"i":173,"l":164,"n":[{"a":31},248],"o":173,"r":301,"s":[{"t":422},164],"u":12,"y":173,"ø":173,"å":173}],"n":[{".":164,"a":[{"m":40},129],"d":[{"s":[{"t":120}]}],"e":[{"a":12,"m":162,"r":[{"f":22}],"s":15,"t":[{"i":22},5],"v":[{"e":[{".":17}]},162]}],"g":[{"a":[{".":32}],"r":22}],"i":[{"n":163,"v":168}],"k":22,"l":[{"e":[{"g":[{"e":[{".":120}]}]}]}],"n":24,"s":[{"l":17,"u":[{"n":31}]}],"t":[{"r":22}],"u":[{"m":162}],"y":162,"æ":162,"ø":162},88],"o":[{"g":166,"l":164,"m":[{"e":[{"t":190},14]}],"n":15,"p":[{"e":35},168]},173],"p":173,"r":[{".":164,"a":[{".":15,"l":4,"n":[{"t":26}],"s":35}],"d":[{"i":22}],"e":[{"d":162,"f":162,"g":162,"k":162,"n":[{"e":4}],"p":162,"s":[{"e":168}],"t":[{"t":162}]}],"i":[{"d":53,"k":[{"a":46,"e":168},162],"m":1,"s":1,"t":1,"v":1}],"l":[{"e":[{"g":33}]}],"m":[{"a":[{".":335}]}],"n":[{"e":120},24],"o":[{"a":162,"m":[{".":162,"m":162}],"p":[{".":168,"e":162}]}],"p":22,"s":[{"a":[{"f":53}]}],"u":[{"d":166,"p":15}],"v":22,"ø":[{"r":[{"e":[{".":36}]}],"v":423}],"å":162},88],"s":[{".":166,"a":173,"e":[{"n":[{".":166,"s":166}]},173],"i":162,"j":[{"a":236,"e":162}],"k":189,"l":[{"u":58,"ø":23},69],"o":162,"p":[{"e":162,"r":[{"a":15},1]}],"t":[{".":164,"a":[{"b":[{"l":50}]}],"e":[{".":166,"k":[{"k":31}]}],"i":[{".":32}],"r":[{"i":[{"d":[{"e":[{".":242}]},17]}]}],"å":168},189],"u":424,"v":[{"i":[{"k":[{".":22}]}]}],"y":173,"æ":168,"ø":173,"å":[{"r":[{"e":17}]},189]},11],"t":[{".":166,"a":[{"k":15,"l":[{"e":[{".":36}]}],"t":[{".":168,"e":168}]}],"e":[{".":166},265],"i":173,"j":173,"o":173,"r":173,"s":425,"u":173,"y":[{"e":46},173],"ø":173}],"u":173,"v":[{"a":426,"e":173,"i":[{"r":162,"s":[{"a":36}]}],"n":[{"e":[{".":31}]},248],"o":236,"å":166},88],"y":173,"æ":162,"ø":173,"å":173},172],"é":172,"f":[{"e":[{"l":28}]},188],"g":[{"a":[{"l":97,"s":[{"k":15}],"v":259}],"e":[{"d":[{"i":0}],"i":69,"l":[{"a":0,"e":0}],"m":88,"n":[{"u":0}],"r":[{"e":[{"i":11}],"i":[{"n":23}],"ø":0}],"s":[{"b":36,"l":17,"m":0,"o":11,"p":0,"t":[{"i":[{"o":427}]}],"v":428}],"v":88}],"i":[{"e":36,"f":0,"m":198}],"j":[{"e":[{"s":17},1]}],"l":[{"u":152},88],"n":0,"o":[{".":90,"s":38},217],"r":[{"a":[{"d":[{"a":36},12],"t":15}],"e":[{".":6,"d":12,"k":2}]}],"s":[{"p":[{"a":[{"r":9}]}],"s":61,"t":[{"o":12}],"y":1,"ø":12}],"u":[{"d":350,"r":198}]},187],"h":[{"e":[{"n":32}],"t":[{"e":[{"n":[{"e":22}]}],"o":1}],"æ":32},188],"i":[{".":164,"a":[{"k":162,"r":[{"b":162},69],"v":168}],"b":173,"c":6,"d":[{"e":12},173],"e":[{"k":162,"n":[{"d":35},164],"r":166},69],"f":[{"a":162,"o":173,"r":162,"u":162}],"g":[{"a":[{".":4}],"r":173}],"h":173,"i":173,"k":[{"a":166,"e":164,"i":162,"k":164,"r":9,"u":162}],"l":[{"e":15}],"m":[{"e":[{"s":[{"s":162}],"t":[{"r":1}]}],"i":162,"ø":162}],"n":[{"d":188,"g":[{"e":[{"n":[{"i":168}]}]}],"i":[{"n":1}],"n":[{"u":22},188],"o":162,"s":187,"t":187,"v":173}],"o":[{"m":236,"p":189,"r":23}],"p":[{"s":[{"i":22}]},173],"r":[{"a":168,"e":[{".":1},12],"o":[{"b":4},18]}],"s":[{".":166,"a":173,"e":[{"l":162,"n":162},12],"k":[{"a":168},166],"l":[{"u":32,"ø":23}],"o":162,"p":[{"a":34,"r":9},162],"t":[{"e":[{"r":[{"u":120}]}],"i":22,"r":[{"a":17,"é":15,"e":[{"r":79}]}],"u":162,"y":168}]}],"t":[{"a":15,"e":[{"s":5},236],"r":429,"t":[{"e":22}]}],"u":173,"v":[{"a":[{"l":162},2],"o":162,"u":162}]},172],"j":[{"a":[{"g":167,"k":188,"r":[{"n":38}],"z":173}],"e":[{"f":22,"g":181,"l":[{"s":103}],"n":[{"n":66,"o":[{"p":[{"p":[{"s":430}]}]}],"s":125,"t":168},28],"r":164,"s":[{"k":61,"p":41}],"v":[{"a":[{"k":148}]}]}],"o":[{"b":173}],"u":[{"t":304},188],"ø":[{"d":[{"e":39}]}]},172],"k":[{"l":[{"y":49}]},397],"l":[{"a":[{".":168,"d":[{"e":24}],"g":[{"a":23,"e":[{".":32}]},162],"n":[{"d":90}],"r":[{"t":15,"v":16},153],"s":[{"e":191,"k":127,"s":11,"t":[{".":38},168]},184],"t":164,"u":38},7],"e":[{"d":[{"e":[{"r":[{"o":31}]}]}],"f":181,"g":[{"e":24,"g":[{"a":46}]}],"i":[{"e":[{"r":[{".":16}]}]},168],"k":[{".":152,"e":38},88],"l":88,"m":[{"t":164}],"n":[{".":155,"e":[{".":155,"s":155}],"s":155},162],"p":[{"l":39}],"r":[{"a":23,"e":[{"d":[{"e":[{".":91}]}]}]},162],"s":[{".":155,"e":[{".":31}],"k":195,"m":284}],"t":162,"v":88},4],"i":[{"d":[{"e":[{"l":23}]},184],"e":[{"n":77,"r":32}],"g":176,"m":[{"e":39},336],"o":162,"t":[{"t":103}],"v":306}],"j":[{"a":2},162],"l":15,"o":[{".":0,"a":88,"b":166,"m":[{"e":334}],"r":[{"i":[{"a":[{"n":120},170],"e":[{"n":[{"e":170}]}]}]},253],"s":[{"t":[{"e":22}]},0],"v":168}],"s":23,"u":[{"g":166,"k":38,"n":[{"g":[{"e":[{".":46}]},15]},168],"t":15},167],"y":[{"d":38,"f":164,"s":[{"e":[{".":23}]}]}],"ø":[{"g":88,"p":[{"a":32}],"s":173,"y":[{".":2,"m":166}]}]}],"m":[{"e":[{"t":[{"e":0,"r":0}]}],"é":38,"i":[{"n":[{"i":120}]}],"o":[{"e":23}],"u":[{"l":[{"e":[{".":32}]}]},90],"å":[{"l":[{"a":31}]}]},188],"n":[{"a":[{"k":69,"l":[{"e":[{"m":22}],"o":23}],"v":88}],"d":[{"ø":[{"r":14},36]},69],"e":[{"e":88,"l":[{"o":0}],"r":[{"o":11,"ø":11}],"s":[{"e":[{".":32}],"k":0,"t":0},177],"t":[{"r":11},38],"v":88},1],"i":[{"b":0,"d":0,"k":334,"n":[{"g":[{"s":139},103]}],"s":[{"k":428,"t":[{"r":33},31]},23]}],"k":9,"o":[{"m":88,"p":20,"v":40}],"r":15,"s":[{"k":[{"r":1}],"m":4,"o":[{"m":1}],"p":[{"r":23}],"t":[{"i":1}],"v":129},69],"t":9,"u":[{"r":[{"e":22}]}],"æ":[{"r":[{"e":31}]}],"å":88},153],"o":[{"a":[{"n":191,"r":[{".":191},69]}],"b":[{"e":17},173],"d":[{"a":[{"l":15,"r":22},1],"d":173,"e":[{".":1}],"s":[{"t":49}]}],"f":173,"g":[{"a":35,"e":[{".":15}],"r":84}],"i":168,"k":[{"s":[{"e":[{".":23}]}]},173],"l":[{"e":12,"f":[{"a":31}],"o":15,"v":[{"a":[{"r":31},23]}],"å":1}],"m":[{"a":252,"e":[{"t":[{"r":[{"i":[{"s":168}]}]}]}],"m":191},173],"n":[{"a":[{"n":[{"d":26}]}],"e":[{".":35}],"i":2,"o":[{"k":15}],"s":39}],"p":188,"r":[{"a":[{".":15,"e":2,"s":2},431],"d":[{"a":31},173],"e":[{"a":105},69],"g":173,"i":[{"e":80},0],"v":[{"a":32},38],"ø":15}],"s":[{"p":24,"t":175}],"t":[{"o":168,"r":31}],"v":[{"e":[{".":6}],"i":[{".":6}]},162]},172],"p":432,"r":[{".":167,"a":[{"b":162,"c":[{"e":22},168],"d":[{"s":301}],"f":[{"f":17,"t":80}],"m":53,"n":[{"d":[{"s":433}],"t":[{"o":17,"r":103}]}],"s":[{"e":[{".":39,"t":39}],"k":31,"t":18}],"t":[{"e":[{".":32}],"i":[{"s":103}]},22],"u":23,"v":[{"a":[{"k":41}],"i":[{"s":61}],"t":[{"a":242}]}]}],"e":[{"a":173,"d":[{"s":248}],"e":[{"n":23}],"f":[{"e":152},173],"g":[{"a":0}],"i":[{"e":[{"n":[{"e":36},14]}],"s":434}],"k":162,"l":267,"n":[{"t":38}],"p":[{"i":162,"s":43}],"s":[{"e":152,"s":[{"a":[{"k":36}],"e":[{"n":[{"t":36}]}]}],"t":274}],"t":[{"t":162}]}],"i":[{".":248,"b":18,"d":162,"f":162,"g":187,"p":304,"s":[{"o":53,"ø":53,"e":[{"t":[{"e":22}]}]}],"t":162}],"o":[{"a":[{"r":39}],"i":435,"m":[{"m":17}],"n":0,"s":[{"k":22}],"v":[{"e":24,"i":[{"n":47}]}]}],"u":[{"i":248,"l":181,"n":[{"g":16}],"p":337,"s":[{"a":61,"t":17}],"t":188}],"y":[{"d":173,"g":248,"t":[{"m":274}]}],"ø":[{"d":[{"e":[{".":22}]}],"r":274,"v":[{"e":22},248],"y":[{".":2},162]}],"å":[{"d":[{"a":31},168],"k":5,"n":61,"t":[{"e":[{".":22}]}]}]},296],"s":[{"a":[{"k":[{"e":[{"r":[{"s":15}]}]}],"l":[{".":152,"e":152,"g":[{".":38,"e":38}]}],"m":[{"b":12,"n":2},18],"n":[{"g":350,"k":92}],"r":[{"d":38}],"s":[{"t":152},88]},28],"b":[{"ø":[{"n":36}]}],"c":[{"e":7}],"e":[{"f":15,"g":88,"i":88,"k":[{"r":38,"v":152},88],"l":[{"a":[{".":39}],"s":[{"a":271,"t":5}]}],"m":88,"n":[{"d":[{"e":[{".":4}]}],"k":[{"e":[{".":36}]}],"s":38,"t":90}],"r":[{".":38,"i":90},88],"s":[{"t":23}],"t":[{"e":90,"i":12,"s":155,"t":1},23],"v":28}],"f":[{"ø":183}],"i":[{"d":[{"e":[{"r":38}]}],"s":15,"v":28},88],"j":[{"a":[{"r":1}],"e":[{"f":90}],"i":38,"o":88,"å":38}],"k":[{"a":[{".":1,"d":38,"l":[{"l":38},1],"m":11,"n":0,"p":[{"a":0,"e":38,"i":0}],"v":2}],"i":[{"l":[{"t":38}]}],"j":[{"æ":252},393],"o":[{"t":90}],"r":[{"e":[{"n":38}]}],"u":[{"g":152}],"v":11}],"l":[{"a":[{"g":[{"a":36}]}],"e":[{"g":[{"e":[{".":36}]}],"r":[{"i":4}]}],"u":[{"k":0,"n":1,"t":[{".":39}]}],"y":[{"n":38}]}],"m":[{"e":[{"d":15,"r":[{"t":437}]}]}],"n":[{"e":[{"l":152}]}],"o":[{"g":38,"p":[{"e":35,"p":[{"e":350},350]}]}],"p":[{"a":[{"l":38}],"e":[{"l":90}],"i":[{"k":15,"l":[{"e":15},90]},7],"o":[{"r":[{"s":97}]}],"u":[{"r":90}]}],"s":[{"e":[{"e":5}]},34],"t":[{"a":[{"k":15,"n":[{"d":192,"g":38}],"s":[{"j":1}],"t":[{"s":[{"r":[{"å":438}]}]},393]}],"e":[{".":15,"e":439,"l":[{"l":1}],"m":[{"a":[{".":36},15],"t":152}],"r":[{"e":1,"f":229,"k":229,"n":229,"s":229,"v":229}],"v":[{"n":[{"e":[{"n":61}]}]}]},31],"i":[{".":229,"e":89,"f":90,"g":89,"å":15}],"o":[{".":38,"l":[{".":38,"a":152,"e":38,"l":15},1]}],"r":[{"a":[{"p":1,"u":38}],"e":[{"a":22,"d":[{"e":38}],"i":22,"k":[{"e":38}],"t":4}],"i":[{"d":[{"e":[{".":91}]}]}],"o":[{"f":229}],"ø":90,"å":149}],"u":[{"e":38,"t":22}],"y":[{"r":[{"k":[{"a":91}]}]}],"ø":[{"r":1}],"å":229}],"u":[{"g":22},28],"v":[{"a":[{"n":[{"e":1}]}],"i":[{"k":15}],"æ":2}],"y":[{"d":28,"m":152,"n":[{"a":31}],"t":31}],"ø":[{"k":[{"i":31}],"t":4},88],"å":23},436],"t":[{"a":[{"k":[{"a":[{".":32}],"e":[{".":32}]}],"l":[{"a":[{".":31}],"e":[{".":23}]}]},90],"e":[{"k":[{"e":[{".":31}]}],"m":[{"a":[{".":31}]}]},437],"i":[{"d":[{"e":[{".":32}]}],"f":169},90],"r":[{"e":[{".":4}],"å":[{"d":[{"s":138}]}]}],"s":[{"v":2}],"t":15,"u":[{"e":[{"n":[{".":32}]}]}],"v":[{"e":[{"k":91}]}],"y":[{"e":32,"t":35}]},188],"u":[{"b":[{"å":440}],"d":[{"i":7,"s":[{"t":18}]}],"e":[{"l":1}],"g":[{"l":348},168],"i":[{"d":[{"a":[{"r":17}]},23]}],"l":[{"e":[{".":1}],"k":[{"e":[{".":32}]},248],"l":[{"a":23}],"o":22,"ø":61}],"m":191,"n":[{"g":23}],"r":[{"g":28,"i":1,"n":[{"a":32,"e":[{".":31}]}],"u":[{"a":15,"e":12}]}],"s":[{"t":1}],"t":[{"a":69,"b":173,"d":162,"e":[{".":38}],"g":168,"l":152,"n":162,"s":173,"t":[{"a":[{"k":23}],"e":[{"s":23}],"r":162}]}]},172],"v":[{"a":[{"k":[{"e":[{".":23}]}],"l":[{"a":32}]}],"e":[{"d":[{"l":[{"i":123}]}]}],"i":[{"t":[{"a":32}]}]},188],"w":200,"y":[{"a":192,"d":[{"a":[{".":1}]}],"m":191,"n":[{"e":12}],"r":31,"s":[{"a":[{".":6}],"e":[{".":4}]}],"t":[{"e":[{".":1}]}],"v":[{"e":[{".":1}]}]},172],"æ":[{"t":38}],"ø":[{"k":248,"r":[{"s":24}],"v":361,"y":[{"a":39,"e":[{"r":36}],"n":22}]}],"å":[{"a":[{"s":4}],"e":[{"n":[{".":4}],"r":[{".":1}]}],"k":440,"m":162,"n":[{"d":[{"a":32}]},181],"p":272,"r":[{"e":361}],"s":[{"t":12},7],"v":[{"e":[{"n":35,"t":1}]}]},172]}],"h":[{"a":[{"a":1,"b":[{"a":49}],"e":[{"l":7},162],"f":[{"i":162}],"g":[{"a":[{".":1},12],"e":[{"n":12}]},7],"i":[{"s":[{"m":2}]},54],"k":[{"a":15,"e":[{".":1,"n":15,"r":[{"a":2}],"s":223}]}],"l":[{"a":[{".":4},69],"d":[{"s":396}],"e":[{".":1,"v":1}],"l":[{"e":[{"i":31}],"ø":31}],"s":[{"k":41,"o":23,"t":41}],"u":15,"v":[{"a":[{"r":19}],"o":19},53]}],"m":[{"a":15,"e":[{".":6}],"n":[{"e":[{"s":[{"t":31}]}]}],"o":15,"s":[{"t":[{"r":396},23]}]}],"n":[{"a":15,"d":[{"r":47,"s":[{"k":[{"r":16}]}],"ø":17}],"e":[{".":1}],"i":[{"s":103},176],"n":[{"e":[{"l":31,"n":22,"s":42},23],"o":106},255],"s":[{"e":24,"k":23}]}],"p":[{"e":1}],"r":[{"e":[{".":1,"i":15,"l":1,"m":12,"s":1}],"k":22,"o":[{"v":15}],"s":[{"e":61}],"t":[{"r":[{"e":22,"i":23}]}]}],"s":[{"j":[{"e":17},1],"l":7,"p":[{"l":127}],"v":22}],"t":[{"a":[{"r":12}],"e":[{".":1}],"l":[{"e":31}]}],"u":[{"k":[{"e":[{".":22}]}],"s":[{"t":31}],"t":[{"r":53}]},0],"v":[{"a":[{".":1,"n":441},23],"e":[{".":1,"g":1,"i":1,"s":18,"r":[{"t":109}]}],"i":69,"o":1,"s":[{"l":23}],"u":442,"ø":54,"å":162}]},88],"b":[{"a":[{"n":[{"e":[{".":23}]}]}]},188],"c":162,"e":[{".":173,"a":[{"n":[{"s":2}],"t":[{"r":5}]},7],"b":[{"n":22}],"d":[{"e":[{".":1,"r":[{"s":145}]}],"r":429}],"f":[{"t":[{"a":39,"e":[{"s":61}]}]}],"g":[{"e":[{".":1},12],"r":107}],"i":[{"a":18,"e":[{"n":22}],"m":164,"n":[{"s":12}],"s":[{"k":23}],"t":[{"s":5}]},7],"k":[{"s":[{"e":[{"k":23,"r":[{"i":[{"n":31}]}]}]}]},7],"l":[{"a":[{".":1},54],"e":[{".":1,"i":443}],"l":[{"e":[{"s":[{"u":31}]}]}],"o":24,"s":[{"a":24,"e":[{"s":190},445],"k":24,"p":22,"t":[{"e":22}],"v":24},444],"t":[{"e":[{"s":23}]}],"v":[{"e":39}]}],"m":[{"a":[{"k":1}],"n":[{"e":22}],"s":[{"k":146}]}],"n":[{"f":[{"ø":[{"r":[{"e":14}]}]}],"o":19,"s":[{"e":22},180]}],"r":[{"a":[{"d":[{"a":49}]}],"e":[{"t":15}],"i":[{".":1}],"j":22,"l":[{"e":[{"g":[{"e":33}]}],"i":[{"g":[{"a":33}]}]}],"n":417,"o":[{".":1,"a":49},69],"p":61,"r":[{"e":[{"i":31,"s":[{"i":31}],"t":31}]}],"s":[{"k":[{"a":[{".":31,"r":[{"e":64}]}]}],"v":31}],"u":[{"n":311}],"ø":107}],"s":[{"e":[{".":1}],"p":[{"a":61,"e":[{"l":22,"n":22,"r":39}]},7],"t":[{"e":[{"r":[{"i":14}],"s":23}],"ø":4}]}],"t":[{"e":[{".":1}],"i":20,"s":[{"a":446,"p":53}],"t":24},28],"v":[{"a":[{".":4,"r":[{"m":21}]}],"e":[{".":1}],"n":[{"a":[{".":39}]}]}]}],"f":173,"h":[{"u":38},173],"i":[{"a":[{"o":15}],"b":[{"a":[{"k":1}]}],"e":[{"n":23,"t":7}],"f":[{"f":183,"r":39},298],"g":[{"e":[{".":4}]}],"k":[{"e":61}],"m":[{"m":[{"e":[{"l":[{"o":145}]}]}]}],"n":[{"a":[{"n":21}],"n":[{"e":[{"s":23}]}],"s":[{"k":[{"e":49}]},5]}],"p":[{"l":1,"p":24}],"r":[{"o":69}],"s":[{"e":[{".":35,"n":12}],"i":9,"k":162},129],"t":[{"o":61,"r":26,"t":[{"i":22}]}],"v":[{"a":[{".":6}],"e":[{".":1}],"s":54}]}],"j":[{"a":[{"r":5}],"e":[{"m":[{"e":16}]},23],"o":[{"r":[{"t":[{"e":139}]}]}],"u":[{"l":[{"e":62},127]}]}],"l":[{"a":[{"n":38}]},173],"m":[{"a":[{"n":32}]},188],"n":[{"a":88,"e":[{"n":31}],"s":69},173],"o":[{"a":[{"r":[{".":15}]}],"b":31,"d":[{"a":4,"e":[{".":1,"n":15,"r":[{".":15},18]}],"y":15}],"f":[{"f":[{"a":446,"e":[{"r":19},446],"i":23},41]}],"g":[{"s":[{"t":[{"r":[{"a":61},31]}]},36]}],"i":22,"l":[{"a":[{"g":15,"n":15},7],"e":[{".":1}],"i":[{"n":1}],"l":22,"o":[{"m":1}],"s":5,"u":[{"t":61},1]}],"m":[{"e":[{".":1}],"o":[{".":1,"d":1,"s":1}]}],"n":[{"o":20}],"o":1,"p":[{"a":[{".":6}],"e":[{".":1}],"i":[{".":6}]}],"r":[{"a":[{".":4},15],"e":261,"o":69,"t":173}],"s":[{"a":22,"e":[{"n":15,"r":15}],"i":68},1],"u":28,"v":[{"e":[{"r":[{"e":17}]}],"é":1},69],"w":173},0],"p":153,"r":[{"a":153,"e":153,"i":[{"n":[{"e":22}],"s":255}]},173],"s":[{"e":229},200],"t":[{"e":[{"r":[{"e":103},38]}],"r":153,"t":15},162],"u":[{"d":[{"a":1,"s":[{"å":[{"r":[{"e":33}]}]},19]},85],"e":[{"r":1,"t":[{".":4}]}],"g":[{"a":1,"e":[{".":1}]}],"j":[{"a":[{".":6}]}],"k":[{"a":[{".":4}],"r":[{"a":32}]}],"l":[{"a":1,"e":[{".":1,"g":1,"s":15,"v":1}],"v":22}],"m":[{"a":15}],"n":[{"d":[{"e":[{"s":31}]}],"n":255}],"r":[{"u":71}],"s":[{"a":[{".":6,"r":[{"r":21,"e":66},447]},54],"e":[{".":1,"d":85}],"i":129,"j":233,"k":129,"m":61,"s":42,"t":[{"r":[{"a":[{"n":49}],"e":23},6],"y":4},54],"u":83,"ø":7}],"v":[{"a":1,"e":[{".":1,"s":1}]}]}],"v":[{"a":[{"l":[{"e":22}],"s":17}],"e":[{"r":[{"a":18},28]}],"i":[{"l":[{"i":19}],"r":394,"t":[{"s":103}]}],"o":[{"r":[{"i":80},17]},28]},1],"y":[{"a":24,"b":[{"l":7}],"d":23,"e":[{"n":[{"e":[{".":22,"s":39}]}]},7],"g":[{"g":[{"e":[{"l":22}]}]}],"l":[{"a":[{".":4}],"d":[{"e":[{"s":170}]}],"e":[{".":1}]}],"r":[{"d":[{"e":[{"s":23}]}]}],"s":[{"a":6,"e":[{".":1}],"j":129,"t":22},24]},11],"æ":[{"g":15,"r":[{"f":[{"ø":33}],"s":75}]}],"ø":[{"e":1,"f":22,"g":[{"r":[{"i":24,"ø":61}]},7],"k":31,"l":[{"e":[{".":4}]}],"n":[{"a":1,"e":[{".":1}]}],"r":[{"a":[{"r":15}],"e":[{"n":15,"r":15,"s":1}],"s":[{"p":31}]}],"s":[{"t":[{"a":16,"ø":17}]},7],"v":[{"a":69,"e":69,"i":69}],"y":[{"a":19,"k":22,"n":61,"r":[{"a":[{"r":61}]}],"s":[{"e":[{"t":[{"e":[{".":120}]}]}]},5]}]}],"å":[{"a":2,"l":[{"e":6}],"n":[{"a":[{".":4}],"d":[{"r":32,"s":[{"k":[{"r":17}]}]}],"e":[{"l":15}]}],"p":[{"a":[{".":4}],"e":[{".":1}],"l":26}],"r":[{"e":69,"i":69,"s":24,"u":61}],"v":[{"a":[{".":6}],"e":[{".":1}]}]},11]}],"i":[{"a":[{"a":[{"l":35}],"b":[{"l":153,"o":69}],"d":[{"e":375,"j":153,"r":10}],"g":[{"e":7},8],"i":[{"n":69}],"k":[{"r":69,"s":[{"e":[{".":32}]},153],"u":15}],"l":[{".":153,"a":54,"e":[{"i":[{"n":22}],"t":[{"i":22,"t":26},5]}],"f":88,"g":24,"i":[{"n":1}],"k":0,"o":[{"p":24,"v":4}],"s":[{".":38,"t":5}],"t":[{".":90}],"u":54,"ø":7}],"n":[{".":153,"a":[{"l":[{"d":22},1],"r":15},88],"d":[{"r":152}],"e":[{".":229,"s":6,"t":2}],"k":38,"m":153,"o":448,"s":[{"a":24,"l":24},153],"t":153,"ø":2}],"p":[{"a":7,"p":90}],"r":[{".":153,"d":[{"o":23,"s":78,"u":23}],"e":[{"a":38,"l":449},88],"n":[{".":38,"s":155}],"s":[{"k":[{"a":152}]}]}],"s":[{"i":11,"m":153,"p":1,"s":[{"i":90},75],"t":[{".":152},153]}],"t":[{"e":15,"r":31,"y":[{"r":[{"a":36}]}],"t":153},69],"u":[{"k":152}],"v":153}],"b":[{"a":[{"n":[{"e":[{".":23}]}]}],"b":[{"o":15,"u":12}],"e":[{"r":[{"e":90,"o":23}]}],"i":[{"e":[{"r":[{".":22}]}]}],"l":[{"a":[{"r":2}],"e":[{"g":1,"s":223},375]}],"o":[{"e":23,"n":61},38],"r":1,"s":[{"t":12}],"t":6,"y":[{"a":[{"r":[{".":39}]},16]}]},150],"c":[{"a":[{"n":[{"a":[{"r":[{"a":[{"r":167}]}]}]}]}],"e":[{"n":[{"e":22}]}],"i":153,"k":[{"e":[{"t":[{"e":61}]}]},54],"o":153,"y":38}],"d":[{"a":[{"l":38,"s":90,"v":69},173],"d":[{"e":[{"l":[{"u":14},12],"p":4}]}],"e":[{".":173,"a":[{"l":164}],"b":88,"f":11,"g":[{"e":9}],"k":[{"i":152}],"l":[{".":155,"v":12}],"n":[{"d":38,"s":[{"v":17}],"t":[{"i":[{"f":166,"t":166}]}]},173],"o":[{"v":18}],"r":[{"a":[{"p":11}],"e":[{".":450,"n":152,"s":155}],"l":[{"a":[{"g":[{"a":242}]}],"e":[{"g":170}]}],"n":152,"s":38}],"s":[{"m":11}]}],"g":[{"e":[{"m":4,"s":1}]}],"i":[{"e":[{"n":23}],"o":184}],"j":[{"e":[{"r":2}]},93],"n":[{"a":35}],"o":[{"l":253}],"r":[{"a":[{"n":35}],"e":[{"g":15,"v":181}],"i":173}],"s":[{"a":[{"m":15}],"e":[{"l":4},5],"i":[{"m":15}],"l":[{"a":[{"g":[{"a":120}]}]},22],"t":[{"u":26},24]},129],"t":129,"u":[{"n":259}],"y":[{"l":164,"r":90},88],"ø":[{"y":96},90],"å":2}],"e":[{"a":8,"d":88,"f":[{"f":153}],"g":[{"e":1,"o":5}],"i":[{"d":31,"e":153,"g":90,"n":[{"i":38}]},69],"k":[{"l":32,"s":153}],"l":[{"a":20,"e":[{"m":38,"v":1},88],"i":[{"m":252}],"s":153,"t":155,"ø":[{"p":[{"a":46}]}]}],"m":[{"a":340,"b":62,"e":12}],"n":[{"a":2,"d":[{"e":[{"l":[{"a":31}]}]},88],"é":6,"i":230,"n":61,"o":15,"s":[{"k":23,"v":53},38],"t":[{"r":41}],"u":15,"y":11},153],"r":[{"a":[{"n":1}],"d":0,"e":[{".":4,"g":15,"n":[{"g":26}],"t":11}],"i":[{"l":1,"s":1,"v":1},88],"l":88,"o":[{".":2},11],"r":[{"a":23}],"s":[{"p":23,"v":18}],"t":22,"u":[{"n":12}],"v":22}],"s":[{".":11,"c":23,"e":12,"s":22,"t":[{"i":23}],"v":451},259],"t":[{"a":[{"b":[{"l":229}],"t":90},88],"e":35,"é":15,"r":[{"e":23}]},153],"u":28,"v":[{"e":[{"d":2}]}]},173],"f":[{"e":[{"s":104}],"f":[{"a":7}],"i":[{"e":31}],"j":[{"ø":46}],"l":[{"e":[{"s":1},12]}],"o":[{"r":[{"m":103}]}],"r":[{"e":69}],"t":[{"a":[{"l":1}],"e":[{"r":[{"e":1}],"s":17}],"s":28},93],"ø":90},173],"g":[{"a":[{"e":88,"n":[{"n":12}],"r":[{"k":152,"t":1,"u":24}],"t":[{"e":61,"t":12}],"v":88}],"d":12,"e":[{"b":11,"d":[{"i":11,"o":[{"m":[{"m":11,"s":373}]}]}],"m":88,"n":[{"o":31},90],"r":[{"s":38,"ø":0}],"s":[{"p":0}],"t":[{"a":34,"t":15}]}],"g":[{"e":[{"d":1,"s":103}],"r":[{"a":1}],"s":452}],"h":11,"i":[{"a":259,"b":38,"m":0,"o":[{"n":103}]}],"j":[{"e":[{"v":[{"a":49}]}]}],"l":[{"d":31,"i":[{"s":[{"e":[{".":36}]}]}],"o":[{"a":15}]},69],"n":[{"e":[{"u":15}],"o":15}],"o":[{"f":[{"r":22},36],"m":69,"n":[{"o":23}]}],"r":[{"a":7,"e":7,"ø":259,"å":[{"d":12,"t":17}]}],"s":[{"a":[{"l":23}],"e":[{"l":15}],"j":28,"k":[{"a":9,"r":34}],"m":[{"u":23}],"p":[{"a":34}],"t":[{"a":23,"e":[{"k":15,"l":2,"m":15},1],"r":[{"a":23}]},5],"v":[{"a":9}]}],"u":[{"n":69,"t":35}]},173],"h":[{"e":[{"n":18}],"o":[{"l":[{"e":[{".":61}]}]}],"u":[{"k":0,"l":[{"a":39,"e":[{".":22}]}]}]},90],"i":[{"n":38,"s":[{".":152,"e":453}],"t":[{"a":11}]},153],"j":153,"k":[{"a":[{"b":[{"e":[{"l":38}]},88],"f":88,"k":88,"n":[{"d":49}],"o":88,"p":[{"o":0}],"r":[{".":38,"a":38,"e":[{"i":0},22]}],"s":[{"a":11,"p":24}]},150],"e":[{".":88,"d":88,"i":6,"l":[{"e":[{"g":155}],"i":38,"u":22}],"n":[{".":38,"a":0,"e":38,"s":155}],"r":[{".":90,"a":0,"e":[{".":38}],"i":22,"o":53}],"s":[{"i":24,"k":11,"o":38,"u":22},454],"t":[{".":38,"s":38}]}],"i":[{"n":[{"e":39,"n":15}],"s":[{"t":22}]},153],"j":153,"k":[{"a":[{"f":1,"n":[{"a":4}],"p":1,"r":[{"v":22}],"s":1,"t":[{"t":22},1]}],"e":[{"n":[{"t":21}],"r":[{"u":1}],"s":[{"k":6,"t":1}]}],"j":[{"ø":[{"p":1},12]}],"l":[{"a":[{"g":22}]},1],"o":[{"r":[{"d":22}]},7],"r":[{"e":24},1],"s":[{"v":22}],"u":[{"n":[{"d":22}]},455],"v":7,"y":4}],"l":[{"æ":38},69],"o":[{"a":[{"r":155},88],"b":88,"d":[{"e":22},0],"f":228,"g":0,"h":0,"k":88,"n":[{"a":[{".":22}]}],"o":88,"r":[{"d":149,"e":0}],"v":88},153],"r":[{"a":[{"k":1}],"e":[{"m":15}],"o":[{"b":[{"e":15}],"s":12}],"y":7},69],"s":[{"a":7,"e":[{"k":1}],"m":[{"å":[{"l":[{"a":91}]}]}],"o":[{"t":2}],"p":[{"e":[{"l":15}]}],"t":[{"i":22,"o":22,"u":6}]}],"t":[{"a":[{"v":1}],"e":[{"g":1}],"r":129,"s":[{"l":[{"a":[{"g":[{"a":242}]}]}]}]}],"u":[{"l":[{"e":[{".":31}]}],"t":251},153],"v":[{"i":[{"n":1}]},69],"y":153,"ø":90,"å":[{"p":[{"a":32}]},90]},173],"l":[{"a":[{"d":[{"r":15}],"f":2,"k":375,"l":12,"n":[{"a":0,"d":4}],"r":[{"k":0,"t":12}],"s":[{"s":15,"t":80}],"t":22,"v":15},153],"d":[{"a":[{"k":1}],"e":[{"k":[{"o":1}],"t":[{"e":1}]}],"j":2,"r":[{"e":24}],"s":[{"f":[{"a":[{"r":[{"e":186}]}]}],"t":65}]}],"e":[{"a":[{"r":[{"e":32},49]}],"e":456,"f":88,"g":[{"e":[{".":23}],"n":193}],"i":[{"g":11},259],"k":88,"l":88,"n":[{"o":0}],"r":[{"o":0}],"s":[{"e":0,"k":195,"t":0},54],"t":[{"r":[{"i":31}],"t":[{"e":17}],"u":23}]}],"é":153,"f":[{"ø":[{"r":[{"e":17}]}]}],"g":[{"e":15,"l":69}],"i":[{"d":0,"e":[{"r":[{"s":22}]}],"g":[{"a":39}],"k":38,"m":259,"n":[{"d":193,"e":152,"s":0}],"r":366,"s":[{"t":[{"i":[{"k":19}]}]}]}],"j":[{"a":[{".":12}],"e":[{"s":[{"e":15}]},69],"o":69,"u":69}],"k":[{"e":[{"r":15,"s":1},18],"o":[{"s":160}],"u":15}],"l":[{"a":[{"b":1,"m":4,"n":[{"d":[{"a":91}]}],"p":4,"u":35}],"e":[{"e":1,"i":[{"e":33}],"n":[{"d":[{"e":[{"r":21}]}]}],"s":[{"k":4}],"v":1}],"i":[{"g":[{"a":49}]}],"o":[{"m":223}],"s":[{"k":[{"å":17}]},82],"æ":[{"r":[{"e":[{".":49}]}]},5]}],"m":[{"e":[{"s":[{"t":26}],"v":42}],"i":1,"s":22}],"o":[{"e":153,"l":[{"o":155}],"m":[{"v":15},0],"n":38,"p":[{"p":12}],"r":225,"s":[{"o":38}],"t":[{"u":18}],"v":[{"e":0}],"w":54}],"r":[{"e":[{"t":103}]}],"s":[{"e":[{"t":[{"j":[{"e":91}]}]}],"l":[{"a":58,"e":[{"g":[{"e":58}]}],"i":21},12],"m":[{"u":23}],"p":28,"t":[{"r":15},28],"u":2,"v":[{"a":[{"r":[{"a":33,"e":14}]}]},67]}],"t":[{"a":[{"l":[{"a":49}]}],"r":[{"e":[{"t":[{"t":22}]}]}],"å":21}],"u":[{"h":23,"k":38,"l":239,"n":12,"r":38,"s":155,"t":69}],"v":[{"e":[{"d":46,"r":5}]},20],"y":153,"å":[{"r":36},370]}],"m":[{".":167,"a":[{"d":88,"e":[{"n":0}],"g":88,"k":[{"k":97,"o":0}],"l":[{"n":46}],"m":88,"n":155,"p":88,"r":[{".":38}],"s":22,"t":[{"r":0}]},162],"b":457,"e":[{"e":0,"g":458,"k":88,"l":[{"u":11}],"n":[{"h":15}],"t":[{".":155,"a":0,"i":0},6],"y":11}],"é":93,"i":[{"l":[{"a":39}],"n":[{"i":120}]}],"j":152,"l":[{"e":[{"v":1}],"u":219}],"m":15,"o":[{"g":11,"l":39,"r":[{"d":[{"a":46},15]}],"v":40}],"p":[{"e":[{"r":[{"i":166}]}],"l":23,"o":172,"s":[{"e":91},39],"u":172},28],"r":[{"e":[{"f":1,"k":1,"s":1}]}],"s":[{"e":35,"k":[{"l":53,"r":24}],"m":[{"e":9}],"t":[{"i":4},182]}],"t":[{"a":[{"l":[{"a":46}]}]}],"u":162,"ø":459}],"n":[{".":173,"a":[{"g":[{"g":15},0],"k":[{"k":38}],"l":[{"e":[{"t":23}]}],"m":[{"e":12},319],"n":[{"e":155,"n":15},7],"p":[{"p":15},88],"r":[{".":38,"s":38}],"s":[{"k":0,"p":0,"s":169}],"t":[{"a":[{"k":53}],"r":62}],"u":[{"k":2},11],"v":[{"l":15,"r":15}]},168],"c":[{"e":183}],"d":[{"e":[{"r":2}],"i":[{"g":168}],"o":[{"g":1}],"r":[{"a":39,"u":12,"ø":17}],"s":[{"k":22,"p":24,"t":42}],"u":[{"s":[{"t":[{"r":166}]}]}],"å":61}],"e":[{"a":[{"r":[{"e":32}]}],"d":[{"y":120},88],"g":[{"g":15}],"i":[{"d":15,"e":12}],"l":[{"e":11,"i":23}],"n":[{"g":2}],"p":[{"a":32,"e":[{".":32}]}],"r":[{"e":[{".":152,"n":38,"s":155}],"i":[{"k":23}],"n":152,"t":38}],"s":[{".":38,"k":[{"a":46,"e":[{".":46}]},0],"s":[{"t":5}],"t":[{"i":42}],"ø":0}],"v":88},162],"é":167,"f":[{"e":[{"k":164}],"o":[{"s":1,"t":1}],"u":49,"y":162}],"g":[{"a":[{"l":[{"d":26}],"v":1}],"e":[{"b":[{"j":15}],"m":4,"n":[{"i":166}],"r":[{"i":15,"u":1}],"v":12}],"j":[{"e":[{"n":22}]}],"o":[{"a":1,"s":1}],"r":[{"e":[{"p":22}],"i":[{"s":61}]},7],"s":[{"o":[{"m":17}],"t":91,"v":17},28],"u":[{"n":26},168],"ø":233}],"i":[{"a":[{"r":[{".":39}]},152],"b":88,"e":38,"f":0,"g":88,"l":0,"m":61,"n":[{"n":0}],"p":88,"s":[{"a":0,"e":[{"s":0},24]}],"t":[{"i":[{"a":166}],"o":0}]}],"j":[{"e":[{"k":166}]}],"k":[{"e":[{"l":15,"r":[{"o":1}]}],"l":[{"a":85}],"o":[{"k":1}]},173],"l":[{"a":[{"g":[{"a":46}]}]},15],"n":[{".":173,"a":[{"l":1}],"e":[{"m":1,"r":[{"ø":1}],"s":[{"i":1,"t":120}],"t":[{"t":[{"e":21}]},162]}],"f":[{"a":[{"s":33}]}],"g":172,"h":[{"a":[{"l":166}],"o":164}],"i":[{".":1},460],"o":[{"m":26,"v":[{"a":20}]}],"s":[{".":168,"a":164,"e":[{"n":39},22],"t":[{"e":39}],"v":[{"e":61}]},177],"t":172,"u":158,"æ":162,"ø":461}],"o":[{"a":[{"r":38},22],"d":0,"k":[{"s":2},36],"r":[{"g":2}]},173],"s":[{".":162,"a":[{".":35,"l":2,"r":15},167],"e":[{".":15,"k":1,"n":12,"r":[{"i":[{"e":[{"n":[{"e":211}]}]}]}]}],"i":[{"s":14},12],"j":[{"a":1,"e":12},168],"k":[{"a":[{"s":84,"t":15}],"e":[{"t":103}],"i":23,"j":[{"ø":[{"t":22}]},12],"o":[{"r":31}],"v":41,"ø":31},162],"l":[{"e":[{"g":[{"a":32},58]}],"o":12,"ø":67}],"m":[{"a":9}],"o":[{"p":12}],"p":[{"a":1,"l":9,"o":23},172],"t":[{"a":[{"l":166}],"e":[{".":462,"n":[{".":22,"s":39}]}],"i":[{"n":1},463],"o":464,"r":[{"a":15,"e":[{"l":17}],"u":166}],"å":4}],"u":[{"l":2}],"v":7,"y":465},69],"t":[{".":167,"a":[{"l":[{"a":46}]},285],"e":[{".":162,"g":[{"e":109},317],"r":15,"s":[{"s":22}],"t":466}],"i":[{"m":[{"e":17}]},236],"r":[{"a":[{"n":190}],"e":[{"r":23,"s":15}]},28]}],"u":[{"i":31,"l":467,"t":[{".":2,"e":84}]},168],"v":[{"e":[{"v":168}]},172],"y":[{"i":23,"t":23}],"ø":[{"k":2,"t":152,"v":12},168]}],"o":[{"a":182,"b":88,"d":[{"e":[{"r":[{"e":1}]}]},468],"f":[{"f":153}],"g":[{"n":15}],"i":69,"k":[{"s":153}],"l":[{"e":12,"j":[{"e":[{"n":61}]}]},23],"m":[{"u":12}],"n":[{"a":[{"n":[{"s":1}],"r":[{"r":1}]}],"e":[{"r":[{"s":[{"t":3}]}]}],"g":65,"i":[{"n":1}],"u":1}],"p":[{"l":69,"p":153}],"r":[{"a":[{".":15}],"d":[{"a":32}],"e":69,"i":[{"e":1,"n":26}],"l":[{"a":[{"g":[{"a":91}]}]}]}],"s":[{"k":[{"v":18}],"t":69}],"t":[{"a":[{"l":[{"e":[{".":36}]}]}],"e":34,"r":[{"a":1}]}]},162],"p":[{"a":[{"p":38,"t":[{"i":[{".":23}]}]}],"e":[{"e":0,"l":[{"a":33}],"p":381}],"i":[{"e":54,"n":[{"e":39,"g":[{"s":169}]}]},153],"l":[{"e":88},153],"p":[{"e":[{"l":[{"i":1,"s":50}]}],"l":[{"a":[{"n":31}],"æ":[{"r":[{"e":[{".":91}]}]}]}],"r":7,"s":[{"t":41,"y":[{"n":[{"a":91}]}],"ø":23}],"u":[{"n":2}]}],"r":[{"a":11,"u":[{"t":[{"e":[{".":46}]}]},15]},153],"s":[{"a":54,"e":[{"l":5}],"f":[{"ø":14}],"i":7,"k":129,"l":[{"e":[{"g":[{"e":[{".":120}]}]}]}],"t":54}],"t":[{"a":[{"r":4}]}],"y":379,"ø":90}],"r":[{"a":[{"n":[{"d":437}],"r":[{"k":15}],"s":[{"t":155}],"t":[{"r":31}]},153],"d":[{"e":15,"s":22}],"e":[{"i":[{"e":12}],"k":4,"p":[{"o":90}],"r":[{"a":47},90],"s":[{"t":61}],"t":[{"o":93},90]},153],"g":2,"i":[{"a":23,"k":[{"a":[{".":32}]}],"n":[{"d":12,"n":12,"s":[{"t":15}]}],"t":39},153],"k":[{"a":[{".":15,"t":1}],"e":[{"r":[{".":15}],"s":[{"t":1},469]}],"l":[{"e":1}],"v":15,"ø":22}],"m":[{"a":[{"g":1,"l":1,"s":[{"t":1}]}],"é":35}],"o":[{"a":38,"e":153,"i":0,"l":153,"p":[{"p":15}],"s":54}],"r":[{"e":12}],"s":[{"k":[{"o":2}],"p":28,"t":34}],"t":[{"a":12,"i":[{"g":[{"r":116}]}]},31],"u":[{"k":9,"m":32,"s":[{"a":[{".":61}]}]},153],"ø":153,"å":[{"l":40},153]},173],"s":[{"a":[{"k":[{"s":0}],"n":[{"b":0,"g":193,"n":12,"s":193,"t":12}],"s":152,"u":[{"d":15}]},153],"b":[{"r":[{"y":164}]}],"c":[{"e":[{"n":4}],"h":17,"o":12,"r":38}],"e":[{"d":88,"e":[{"l":0,"n":0,"r":[{"n":22}]}],"g":470,"i":[{"e":12,"g":15,"s":22},88],"k":[{"t":[{"e":0},90]},88],"l":[{"d":96,"i":26}],"m":88,"n":[{"e":22,"o":0,"s":[{"i":123}]}],"r":[{".":38,"s":38}],"s":[{"s":15},88],"t":[{"e":0,"j":[{"e":46}]}],"u":88}],"é":167,"h":[{"a":[{"n":[{"e":16}],"v":164}],"i":[{"n":26}],"ø":[{"v":[{"e":49}]}]}],"i":[{"e":[{"n":[{"e":31}]}],"l":[{"d":15}],"n":[{"d":193}],"s":[{"t":17}]}],"j":[{"u":[{"n":2}]}],"k":[{"a":[{".":35,"l":12,"r":[{"t":[{".":39,"e":22}]},12]}],"e":[{".":15,"e":6,"l":[{"s":22},1],"s":78},93],"j":[{"e":12,"o":90}],"l":[{"a":[{"g":[{"a":91}]}],"e":3,"o":24}],"o":[{"g":[{"r":2},17],"p":12,"t":12}],"r":[{"i":[{"n":3}]},69],"u":[{"l":[{"a":38},1]},69],"v":[{"i":1},69]}],"l":[{"u":[{"t":61},11],"ø":[{"y":[{".":39}]}]},69],"m":[{"a":[{"k":38}],"e":[{"d":1}],"o":[{"e":17}],"u":[{"s":11}]}],"n":[{"e":15,"u":15}],"o":[{"l":[{"d":168},172],"m":[{"o":166,"r":15}],"p":[{"a":24,"e":22,"r":61}],"t":164,"v":69}],"p":[{"a":[{"n":[{"e":[{".":15}]},1]}],"i":[{"s":4}],"r":[{"u":2}]},69],"s":[{"e":[{"s":1}],"i":[{"s":14},15],"k":[{"j":21,"o":1,"r":2,"y":15,"å":1}],"o":[{"k":15}],"t":[{"o":2}],"v":[{"e":4,"o":15}],"æ":[{"r":352}],"ø":[{"k":1}]}],"t":[{"a":[{"b":38,"l":[{"e":49}],"n":[{"e":15}],"p":15,"r":169,"v":[{"b":22,"i":61}]}],"e":[{".":15,"k":[{"t":22},1],"l":[{"l":14}],"m":[{"a":[{".":36}]}],"n":[{".":15,"e":15},31],"r":[{".":15,"n":15,"ø":4}]},88],"é":4,"i":[{"k":1,"l":[{"b":15}],"s":15}],"o":[{"k":12,"l":12}],"r":[{"e":[{".":471,"n":195,"r":[{".":11},38],"s":0,"t":11}],"y":12},88],"u":[{"s":12}]}],"u":[{"f":15,"l":15,"n":69},168],"v":[{"a":[{"k":1}]},69],"w":2,"y":[{"n":[{"a":32}],"r":22,"s":350,"t":15}],"ø":[{"k":259,"y":0}],"å":[{"k":2,"r":12}]}],"t":[{"a":[{"l":[{"a":41,"e":[{"r":[{"s":47}]}],"o":23,"y":23}],"n":[{"g":11,"s":[{"v":128}]}],"u":5,"v":0},153],"e":[{"c":0,"g":88,"k":[{"e":[{".":32}],"y":152}],"l":[{"g":96}],"n":[{"i":0}],"o":88,"r":[{"e":24,"o":0,"s":116,"u":195}],"s":[{"e":[{".":31}]},458],"t":[{"s":116}]}],"é":153,"i":[{"e":[{"r":[{".":31}],"s":0}],"f":88,"k":[{"a":[{"m":0}],"v":196}],"m":[{"e":22}],"o":88,"p":88,"r":24,"s":[{"a":0,"e":[{"n":0}],"i":0,"j":0,"k":[{"o":0}],"p":196,"t":[{"r":22},0]}],"u":88,"v":[{"s":14},5]},7],"j":[{"a":[{"r":[{"a":[{"n":2}]}]}],"e":[{"r":2}],"i":2}],"m":[{"a":[{"l":[{"e":[{".":36}]}]}]}],"n":[{"e":[{"s":[{"s":103}]}]}],"o":[{"a":39,"m":0,"r":[{"d":15}],"s":[{"t":[{"r":[{"a":409}]}]},23],"v":32},153],"r":[{"a":[{".":0,"e":11}],"e":[{"l":12,"n":12}],"i":[{"m":[{"a":46},15],"n":12,"s":38}],"o":[{"s":472}]},153],"s":[{"a":69,"e":[{"i":85,"r":12,"s":4}],"k":[{"u":15}],"l":[{"a":[{"g":[{"a":91}]}]}],"n":69,"t":[{"i":4}],"u":[{"n":12}]}],"t":[{"a":[{"g":1,"k":4,"l":[{"a":49},1],"n":[{"n":4}],"p":4,"t":26}],"e":[{"d":15,"l":[{"o":271}],"n":[{"k":1}],"s":78,"t":[{"t":22}]}],"i":[{"d":1,"l":1}],"j":1,"o":[{"f":4,"n":2},54],"r":1,"s":[{"k":[{"r":22}],"ø":23}],"y":[{"s":2},1]}],"u":[{"e":22},153],"æ":[{"r":176}],"ø":153,"å":165}],"u":[{"a":4,"b":7,"l":149,"m":[{".":38,"f":[{"a":[{"r":53}]}],"i":129,"m":22,"o":1,"s":[{"e":11,"t":362,"u":0}]}],"n":7,"p":6,"r":88,"s":[{"e":15}]},153],"v":[{"a":[{"d":0,"j":11,"k":[{"s":193}],"l":[{"a":[{".":31}]},38],"n":[{"a":0,"k":169}],"r":[{"b":0,"s":80}],"s":[{"s":169}],"t":[{"t":18}]},187],"e":[{"g":[{"e":31,"n":473},88],"i":[{"g":2},0],"k":88,"r":[{"a":[{"s":22},23],"d":17,"e":[{"t":11}]}],"s":[{"k":0,"t":[{"i":0}],"v":11}],"t":[{"ø":11}],"v":88},153],"é":153,"i":[{"n":[{"s":15}],"s":[{".":15,"b":15}]},153],"l":[{"e":[{"g":[{"e":[{".":36}]}]}]}],"n":12,"o":[{"m":2},153],"r":12,"s":[{"a":[{"l":1}],"i":7,"k":7,"l":7,"n":7,"o":1,"v":22}],"u":[{"n":375}],"y":[{"r":[{"k":[{"e":[{".":46}]}]}]},149],"æ":155,"å":[{"p":[{"n":2}]}]}],"w":[{"a":153,"i":[{"e":474},22]}],"y":[{"r":[{"k":[{"e":[{".":32}]}]}]},38],"z":[{"a":[{".":38,"s":152}],"e":0,"o":153}],"ø":[{"k":398,"r":[{".":153,"i":22,"s":22}],"s":[{"e":12},0],"y":153},153],"å":[{"r":[{"s":[{"l":16}]}],"t":[{"t":[{"e":[{".":23}]}]}]},398]}],"j":[{"a":[{"a":[{"k":69,"r":35}],"d":[{"a":1}],"e":[{"n":2},172],"g":[{".":166,"a":[{".":1,"r":2}],"e":[{".":1}],"r":31}],"h":[{"a":1,"v":1}],"j":1,"k":[{"k":[{"e":[{"l":[{"e":61},23]}],"o":23,"s":78}],"o":[{"k":109}],"r":[{"e":6},370],"t":[{"e":[{"l":475}],"s":91}],"u":2}],"l":[{"o":12,"u":69}],"m":[{"b":[{"i":168},61],"h":[{"ø":[{"v":[{"e":[{".":91}]}]}]}],"m":166,"s":183}],"n":[{"g":[{"r":23}],"l":38}],"r":[{"a":[{".":4,"p":3}],"e":[{"k":35}],"n":[{"s":124}],"t":[{"a":22,"e":[{".":22,"t":[{".":22}]}],"i":61}],"ø":168,"å":4}],"s":[{"e":2,"k":[{"i":6}],"t":[{"i":15}]}],"t":[{"a":15}],"u":[{"e":[{"r":[{"e":23}]}]}],"v":[{"i":35}],"z":172}],"b":153,"d":173,"e":[{"a":[{"k":15},419],"b":[{"b":39},173],"d":[{"e":[{"b":1,"k":226}],"r":162}],"e":[{"p":408,"v":168}],"f":[{"e":[{"t":85}],"j":7,"l":[{"a":[{"g":22}]}],"r":[{"e":85}],"s":[{"a":23,"i":47}],"t":[{"r":65}]},173],"g":[{"e":15,"g":[{"e":22}],"l":[{"e":[{"s":31}]},168],"o":162,"r":162,"y":162}],"h":173,"i":[{"s":10},69],"j":162,"k":[{"a":173,"k":[{"e":[{"r":[{"u":31}]}]}],"l":[{"i":1},162],"o":173,"t":[{"a":[{"n":23},18],"e":[{"s":31,"v":17}],"i":[{"n":53}],"r":41,"s":[{"t":103}]}],"ø":162}],"l":[{"e":[{"g":[{"r":4}],"i":[{"e":[{"r":58}]}],"l":[{"e":2}],"s":1}],"g":[{"e":61}],"l":[{"a":[{"g":31,"n":[{"g":17}]}],"e":[{"n":22}],"o":23}],"t":[{"r":23},18],"u":[{"t":39}],"v":[{"a":[{".":61}]}]},173],"m":[{"i":[{"a":1,"t":1}],"p":[{"l":22},36],"s":[{"e":22,"t":[{"i":23}]}]},173],"n":[{"a":278,"d":[{"i":[{"s":139}],"r":162},54],"e":[{".":12,"s":239,"t":162}],"g":[{"e":[{"d":22}],"l":[{"a":62}],"s":78}],"i":173,"k":24,"l":162,"o":162,"u":162,"y":357,"æ":162}],"o":476,"p":173,"r":[{"a":[{"f":12,"n":[{"t":26}]}],"d":[{"e":[{"p":23}],"s":36}],"e":[{"d":162,"g":168,"i":168,"n":[{"n":168}]},52],"i":[{"k":15,"m":4,"n":[{"æ":4}]}],"k":[{"e":[{"s":23}],"l":47,"v":23}],"l":[{"e":58}],"m":[{"u":31}],"n":[{"a":[{"s":47}],"s":[{"l":17}]}],"o":[{"n":4}],"s":[{"p":23}],"t":[{"s":17}],"u":281,"å":168}],"s":[{"f":166,"h":166,"k":[{"i":[{"l":23}]}],"p":285,"t":[{"e":[{"a":23}],"i":[{"m":4}],"r":12}],"u":[{"t":166}],"v":[{"e":15}]}],"t":[{"a":[{"g":85,"k":[{"a":36}],"r":[{".":35,"a":2,"e":35}]}],"r":[{"u":85}],"s":183,"t":[{"a":[{"n":53}],"e":[{"r":[{"m":31}]}],"o":18,"s":80}],"v":85,"y":[{"e":46}]}],"u":406,"v":[{"a":[{"r":[{"k":2}],"s":4},279],"e":162,"i":[{"s":5}],"n":[{"a":[{".":61}],"e":61}]}],"ø":168},88],"f":153,"g":162,"h":153,"i":[{".":162,"b":[{"b":22}],"e":40,"k":168,"n":[{"f":361}],"r":[{"o":2}],"s":[{"j":4}],"ø":162}],"k":[{"a":[{"p":0}]},188],"l":200,"m":200,"n":[{".":168,"i":38},200],"o":[{"b":172,"c":166,"d":[{"a":[{".":1,"t":4}],"i":[{"s":4}]}],"f":[{"l":1}],"j":[{"o":17}],"k":[{"k":[{"e":[{"r":39}],"o":260}]}],"l":[{"t":19}],"m":[{"r":90}],"n":[{"e":15,"n":61,"s":[{"a":17,"e":103,"p":18,"t":[{"i":31,"r":23},17],"u":103},176]},28],"p":162,"r":[{"a":15,"d":[{"e":[{"k":31,"r":[{"v":127}]}],"i":[{"s":[{".":127}]}],"o":41,"r":18,"s":[{"l":103},17],"u":31}],"e":69,"i":[{"e":1}],"t":[{"a":36,"e":[{"t":22}]}],"u":34}],"s":[{"e":[{"s":1},12],"t":[{"e":[{"i":15}]}]},173],"u":[{"r":17},172]},88],"p":153,"r":187,"s":397,"t":153,"u":[{"a":[{"r":[{"e":6}]}],"b":[{"i":18,"o":35},172],"d":[{"a":[{"s":105}],"e":12,"o":[{"e":2},7]}],"e":[{"n":[{"i":61}],"r":[{"e":26}],"s":39}],"g":[{"l":[{"e":39}],"o":166}],"k":[{"a":12,"e":[{".":12,"n":12}],"s":[{"a":[{"r":39}]}]},477],"l":[{"a":[{".":12,"r":15,"s":15}],"e":[{"i":219}],"i":[{".":1,"d":4,"k":1,"n":[{"n":61}]}],"l":36},7],"n":[{"g":[{"e":61},172],"i":478}],"p":[{"s":61,"å":83},167],"r":[{"a":[{"s":2},1],"i":[{"s":164}],"o":35,"u":12,"y":166}],"s":[{"o":68},172],"t":[{"a":69,"o":22}],"v":[{"a":[{".":4,"k":4}]}],"å":69}],"v":38,"y":[{"d":[{"e":[{".":6}]}],"p":107},69],"æ":[{"l":[{"e":[{".":15}]}],"r":[{"a":[{".":12,"n":35}],"e":[{"s":[{".":35}]}]}],"t":[{"e":[{".":2}]}]}],"ø":[{".":172,"a":[{".":172}],"b":9,"e":[{"f":173,"g":162,"i":168,"k":173,"n":[{"d":162,"g":162}],"t":[{"a":162}]},172],"f":69,"g":[{"r":12}],"k":[{"j":35}],"l":[{"e":[{"s":1}],"v":[{"e":[{"r":31}]}]},162],"m":[{"e":15}],"n":[{"n":[{"e":22}]}],"p":[{"a":15}],"r":[{"k":[{"e":[{"l":23}]}],"s":[{"p":23,"v":17}],"t":[{"e":[{"l":23}]}],"u":[{"t":61},12],"ø":69}],"s":[{"e":[{"s":1}],"t":183}],"t":[{"a":[{"v":21},15],"e":[{".":12,"t":[{"a":22},5]}],"r":69,"t":[{"e":103}]}],"v":[{"e":[{"l":1}]},281]},88],"å":[{"a":[{"r":[{".":15}]}],"g":[{"e":[{".":35}]}],"l":[{"a":[{".":4}],"e":[{".":1,"s":2,"t":15}]}]},173]}],"k":[{"a":[{".":172,"a":[{".":166,"n":479,"s":90,"t":12},173],"b":[{"e":[{"s":168}],"o":2,"r":281,"y":162}],"d":[{"a":[{"l":[{"e":168}]},12],"e":[{"l":[{".":4},15],"r":[{"i":1}]}],"g":162,"i":[{"e":16}],"r":173,"u":166,"y":162}],"e":[{"n":164}],"f":[{"e":12,"f":[{"e":[{"r":[{"e":22}]}]}],"o":173,"r":35,"t":[{"a":22},173],"ø":168}],"g":[{"i":229,"r":28},173],"h":173,"i":[{"s":[{"k":15,"m":15}]}],"j":[{"o":168}],"k":[{"a":[{".":1}],"e":[{".":1,"d":1,"l":1,"s":1}],"i":[{".":1,"s":1}],"s":[{"j":274}],"t":162,"u":12}],"l":[{"a":[{"m":12,"n":[{"t":4},12],"s":12}],"d":[{"s":17,"t":166}],"e":[{"n":164,"v":15},28],"i":[{"s":166}],"k":[{"e":77,"y":166},480],"l":[{"a":61,"e":[{"r":[{"o":31}]}],"s":5}],"o":69,"p":24,"s":[{"v":77}],"v":[{"e":[{"s":23}]}]}],"m":[{"a":[{".":4}],"e":[{".":6,"r":[{"i":162}]}],"m":[{"e":[{"l":162}]}],"p":[{"i":41,"r":23}],"u":191},172],"n":[{"a":[{".":6},172],"d":[{"a":[{".":31},162],"e":[{".":334}]}],"e":[{"r":15},172],"i":[{"n":15},23],"l":188,"m":187,"n":[{"o":90}],"o":[{".":1,"m":6},166],"s":[{"a":162,"i":168,"l":164}],"t":[{"e":[{"n":[{"d":127}]}],"r":481},172]}],"p":[{".":173,"a":[{"d":166,"k":1,"s":164}],"e":[{"l":[{"l":166}],"n":162},15],"i":[{"t":164}],"p":172,"r":[{"e":24}],"s":[{"t":41}]}],"r":[{".":172,"a":[{"b":162,"m":162,"n":14,"v":12},172],"b":[{"e":[{"i":162}]},172],"e":[{"a":162,"k":4,"l":15}],"f":172,"g":166,"i":[{".":1,"d":4}],"k":[{"i":434,"t":274}],"m":172,"n":24,"o":[{"l":12,"m":24}],"p":[{"e":[{"s":22}],"s":18}],"r":[{"i":164}],"s":[{"j":191,"t":5}],"t":[{"i":22},172],"u":166,"å":162}],"s":[{".":191,"e":[{"i":345,"k":12,"v":22}],"j":[{"u":28,"ø":168}],"k":[{"a":24,"o":14},1],"p":[{"i":1},168],"s":[{"a":[{"d":31,"k":23}],"i":181,"o":23},36],"t":[{"o":482,"r":255},1],"u":[{"s":483}]},172],"t":[{"a":[{"k":485},484],"e":[{"d":12,"g":164,"t":12}],"o":[{"p":26},69],"r":486,"s":61,"t":[{"a":[{"k":31},22],"e":[{"l":23,"r":[{"m":31}],"s":14}],"i":[{"l":23}],"r":[{"i":23}]}],"y":26}],"u":[{"r":385}],"v":[{"e":[{"s":2}],"i":[{"s":155}],"l":[{"u":148}]},173],"y":301}],"b":487,"c":[{"e":[{"n":5},38]},173],"d":[{"v":149},188],"e":[{"a":[{"l":35},488],"b":[{"r":162,"u":[{"k":162}]},173],"c":162,"d":[{"a":[{"g":162,"l":162,"n":[{".":166,"t":301}]},15],"e":[{"i":168,"m":162,"s":[{".":191},162]},15],"i":173,"r":286,"s":[{"k":32}],"u":36,"y":162,"ø":173},23],"e":[{"g":173,"k":173,"l":173,"p":1,"r":[{"n":2}],"v":173}],"f":[{"f":90,"t":38},162],"g":[{"g":[{"a":32},90],"l":[{"a":[{"d":[{"h":166}]}]}]},189],"h":[{"e":[{"t":164}],"j":162},15],"i":[{"d":459,"g":153,"l":15,"m":69,"n":330,"s":183},173],"j":173,"k":[{"l":28,"n":12,"s":153,"t":171},173],"l":[{".":11,"a":[{"k":34,"l":166,"n":[{"s":4}],"t":4},173],"e":[{"i":[{"e":[{"r":22}],"g":22,"k":[{"e":[{".":91}]},61],"s":168}],"l":65,"m":248,"n":[{"g":162}],"p":236,"s":162,"t":304,"v":162}],"i":[{"e":[{"n":49},489],"g":[{"n":162},164],"n":[{"j":162,"t":22}],"s":[{"e":1},162],"t":166,"v":162}],"l":22,"o":[{"f":162,"v":[{".":168,"e":162}]}],"s":[{"k":[{"a":[{"r":16}]}],"l":22,"p":22,"t":22,"v":[{"a":186},24]},5],"t":[{"e":18},28],"u":[{"a":168,"e":162,"k":[{"a":39,"e":22}],"r":85,"v":168}],"v":22,"y":173,"æ":173,"ø":[{"p":[{"a":[{".":46}]}]},173],"å":[{"r":[{"e":16}]},490]}],"m":[{"i":[{"t":1}]},173],"n":[{"a":[{".":166,"m":168,"p":31,"s":1,"t":[{"t":[{"s":166}]}]}],"d":[{"e":[{"n":313,"r":491},22],"r":492}],"e":[{"b":162,"k":162,"l":162,"m":162,"t":[{"t":168}],"v":162},12],"f":164,"i":[{"v":236},1],"h":334,"k":24,"n":[{"e":[{"l":493}]},61],"o":[{"m":1}],"s":[{"e":248,"t":36},180],"t":[{"e":61,"r":19,"u":181}],"y":465,"ø":168}],"o":[{"f":2,"n":12},173],"p":[{"i":[{".":166,"a":301,"e":191}],"l":168},162],"r":[{"a":[{"l":16,"m":162,"n":[{"t":22},1],"u":168}],"e":[{"d":162,"g":162,"i":[{"d":103,"r":162,"s":168}],"k":162,"m":236,"n":[{"e":168,"g":3,"n":162},36],"p":162,"r":[{"t":26}],"s":[{"s":162,"t":162,"u":162},12],"t":[{".":166,"a":166,"s":191},162]}],"i":[{"f":1,"k":[{".":168,"e":162,"t":168}],"m":1,"n":[{"e":1,"g":[{"i":168,"j":168}],"æ":1}],"s":[{"t":[{".":167,"a":167,"e":168}]},1]},164],"m":164,"o":[{"p":191,"r":166,"s":[{"e":[{".":36}]},265],"t":12}],"t":[{"o":22,"v":65},0],"u":[{"n":24,"s":[{"e":[{".":36}]},162]}],"ø":[{"r":[{"e":[{".":36}]}],"y":[{"a":494,"e":215}]}],"å":173}],"s":[{".":166,"a":[{"m":[{".":301},162]}],"d":[{"a":[{"l":[{"e":191}]}]}],"e":[{".":166,"l":38}],"i":[{"l":15,"t":162}],"j":173,"k":[{"a":[{".":335}],"e":[{".":32},248],"i":162,"j":162,"å":168}],"l":[{"e":[{"g":[{"e":[{".":120}]}]}]}],"p":[{"e":[{"d":22}],"o":[{"t":166}],"u":495}],"t":[{".":166,"a":265,"e":[{".":166,"d":236,"i":236,"m":31,"n":383}],"o":12,"r":[{"i":162,"u":236}],"u":162,"ø":162}],"u":[{"n":26}],"v":54,"y":173,"å":54}],"t":[{"a":[{"k":[{"a":36}],"l":[{"e":[{".":36}],"s":166}],"r":11},173],"e":[{".":166,"k":162},12],"h":191,"i":173,"j":173,"o":173,"r":420,"s":183,"t":[{"e":[{"n":[{"h":127}],"s":32}]}],"u":173,"y":[{"e":36},173],"æ":162,"ø":[{"y":[{"s":145}]}],"å":173}],"u":[{"r":15},420],"v":[{"a":[{"n":[{"e":[{".":46}]}],"s":166},28],"e":[{"l":164}],"i":[{"s":[{"a":[{".":36}]}]}],"j":[{"a":31,"e":[{".":23}]},153],"n":[{"e":[{".":31}]},90],"r":12,"æ":[{"r":[{"a":46}]}]},173],"y":[{"t":7}],"æ":168,"ø":173,"å":173},172],"é":[{"t":22},296],"f":[{"i":38},188],"g":[{"e":90,"h":38,"u":23},496],"h":[{"a":[{"k":15,"r":0}],"e":[{"o":23}],"j":[{"u":[{"l":[{"s":91}]}]}],"m":4},187],"i":[{"a":[{"r":67}],"d":[{"e":[{"o":90}],"o":[{"l":162}],"r":12}],"e":[{"r":[{"e":22,".":12}],"l":4},319],"f":173,"g":9,"k":[{"a":[{".":4}],"k":[{"s":208}],"l":370,"r":67,"s":23}],"l":[{"a":[{".":6}],"d":[{"e":164,"r":168}],"e":[{".":1}],"i":15,"j":[{"a":39},162],"l":[{"e":[{"s":[{"t":87}]}]}],"o":[{"a":2,"g":1,"s":12,"v":1}],"t":173,"å":2}],"m":[{"a":[{".":6}],"e":[{".":1}],"o":[{"l":1},197],"p":188}],"n":[{"a":[{"n":[{"d":39}],"r":[{"k":1}],"s":[{".":15}]}],"d":168,"e":[{".":4},15],"f":173,"g":[{"a":[{"n":[{"d":17}]}],"e":24},172],"i":[{"n":[{"g":22}]}],"n":[{"s":[{"i":[{"d":[{"a":242,"e":[{".":242}]}]}],"p":5}]},173],"o":[{"v":22},7],"s":[{"i":[{"d":[{"e":[{".":120}]}]}]},173],"t":[{"i":[{"m":[{"e":[{".":91}]}]}]},173],"u":4,"v":173}],"o":[{"l":162,"s":191},23],"p":[{"e":15,"l":26,"p":[{"e":22}],"s":255},173],"r":[{"e":15,"i":15,"s":162},172],"s":[{"e":12,"k":[{"o":15}],"m":[{"u":12}],"p":8,"t":[{"a":[{"v":15}],"r":15}]}],"t":[{"e":[{"n":4}],"i":2,"o":[{"n":1},166]}],"u":162,"v":[{"e":[{"k":1,"n":[{"h":26}]}],"i":[{".":4}],"s":24},11]}],"j":[{"a":[{"n":497,"p":[{"p":[{"e":17}]}],"r":[{"n":306}]}],"e":[{"f":[{"j":61,"r":77}],"g":[{"g":162}],"l":[{"d":164,"l":[{"e":[{"g":16}]}]}],"m":[{"a":[{"s":166}],"p":164}],"n":[{"k":168,"y":39}],"s":54,"t":[{"r":47,"t":17}]}],"o":[{"r":168}],"u":[{"k":93,"l":[{"e":[{".":22,"n":22}]}],"r":39}],"æ":[{"r":[{"l":164}]}],"ø":[{"d":[{"i":38}],"p":172,"r":[{"i":164}],"t":[{"r":23}]}]},7],"k":[{"a":[{"b":88,"f":[{"t":12}],"k":259,"l":375,"m":88,"n":[{"b":0,"d":[{".":93,"e":[{"n":11}]},15],"g":169,"n":0}],"o":0,"r":[{"b":0,"g":11,"t":[{"a":[{".":36}]},377]}],"s":[{"t":38,"u":11}],"t":[{"t":11}],"u":259,"v":69},153],"e":[{"d":[{"o":11,"u":0}],"e":88,"h":88,"i":69,"l":[{".":38,"e":[{"i":31,"v":9}],"t":124,"u":[{"k":23,"n":17},103]}],"n":[{"a":[{"n":31}]}],"r":[{".":38,"e":[{"i":0,"l":0,"n":[{"t":11}]}],"i":[{"g":0,"t":0}],"u":[{"n":[{"d":19}]}]}],"s":[{"a":[{"u":38},0],"e":0,"i":0,"l":65,"p":0,"t":[{"a":[{"d":11}]}]}],"t":[{"e":[{"t":38},0],"ø":0}]}],"g":498,"i":[{"n":[{"d":12,"f":12,"n":35,"s":12,"t":12}],"r":88},153],"j":[{"a":153,"e":[{"k":91,"n":[{"t":15}],"r":[{"n":169}],"t":16}],"u":15}],"k":15,"l":[{"a":[{"g":5,"n":12,"r":6,"u":2}],"o":69,"y":69,"æ":12}],"n":[{"e":15,"y":15},0],"s":[{"v":[{"a":109},3],"a":[{"l":31,"r":1}],"e":[{"d":15,"i":34}],"i":[{"n":1}],"k":[{"j":23},69],"l":[{"a":12,"e":2,"i":15},23],"p":[{"e":12}],"t":[{"a":[{"k":22}],"e":[{"p":61}],"r":5},8],"å":499},206],"o":[{"d":153,"e":153,"f":277,"l":[{"i":[{"g":31}]}],"m":[{"l":15,"s":2,"t":35}],"o":11,"p":69,"s":[{"i":0,"k":11,"t":0},61],"v":[{"e":12}]}],"p":15,"r":[{"a":[{"m":15,"p":12},0],"e":[{"a":12,"i":15,"n":12,"s":12}],"i":[{"k":36}],"o":[{"e":46,"s":5},12],"u":[{"s":1},12],"ø":2,"å":2}],"t":94,"u":[{"k":15,"n":[{"i":0}],"t":500}],"v":[{"o":88},69],"y":[{"l":5,"r":15,"t":2},501],"ø":[{"l":93,"r":31,"y":36},259],"å":8},167],"l":[{".":168,"a":[{".":162,"g":[{"t":248}],"k":[{"e":[{".":39}]},173],"m":[{"e":[{"l":23}]}],"s":336,"t":[{"i":152,"r":23}]}],"e":[{"b":[{"y":[{"t":58}]}],"d":[{"d":178,"e":[{"b":23,"s":23}]}],"g":173,"i":[{"e":49,"k":152,"v":0}],"m":[{".":334},88],"n":[{"o":502}],"r":[{"i":[{"k":11}]}],"s":[{"j":16,"n":[{"o":22}],"p":23,"t":[{"i":22}],"s":66}],"t":173}],"i":[{"a":167,"e":[{".":162}],"g":162,"m":503,"n":[{"i":178,"j":38}],"p":172,"t":162}],"o":[{"n":[{"a":[{"l":66}]}],"s":172,"v":173}],"u":[{"k":[{"t":90}],"n":[{"t":17},162]}],"y":[{"d":38,"f":306,"n":[{"g":178}],"s":[{"e":[{"t":[{"e":58}]}]}]}],"æ":[{"r":[{"e":[{"s":22}]}]},88],"ø":[{"n":[{"a":61}],"r":11,"s":168,"v":[{"a":39,"e":22}]}],"å":[{"n":200,"r":[{"e":22}]}]},1],"m":[{"a":[{"n":[{"n":120}]}],"å":[{"l":183}]},361],"n":[{"a":[{"p":336,"t":[{"r":[{"e":42}]}],"s":[{"t":[{"a":505}]}]}],"e":[{"b":[{"l":41}],"d":[{"i":0}],"e":504,"s":[{"e":[{".":32}],"t":0}]}],"f":15,"i":[{"p":[{"p":[{"e":123}]},178],"t":255,"v":304}],"o":[{"g":61,"k":[{"l":31}],"p":166,"t":[{"a":39,"e":22}]}],"u":[{"m":181},336],"y":[{"s":23},336],"ø":[{"l":[{"e":39}],"y":12},88]},174],"o":[{"a":[{".":301,"k":281,"n":[{"e":301}],"r":2}],"b":[{"o":12,"r":265},107],"d":[{"a":15,"d":162,"e":[{".":1,"k":164,"n":166}],"ø":173}],"e":[{"f":164,"k":162,"l":162,"s":162,"v":162},12],"g":[{"e":[{"n":[{"g":26}]}],"g":[{"e":[{"r":39}]}],"l":24,"r":[{"e":1}],"s":[{"t":120}],"u":1,"å":4}],"i":[{"e":[{"n":[{"e":53}]}],"k":40,"n":69},173],"j":[{"a":[{".":6}]},173],"k":[{"a":[{".":1,"b":1}],"e":[{".":1,"l":4}],"i":69,"k":[{"o":36,"u":90}],"l":280,"o":162,"u":173}],"l":[{"b":[{"a":14}],"d":[{"a":64}],"e":[{"g":1,"i":1,"l":4,"t":1,"u":1},173],"l":[{"e":164}],"o":[{".":15}],"p":22,"y":162,"å":173}],"m":[{"a":[{".":1,"f":162}],"e":[{".":1}],"g":168,"i":[{".":1,"l":162,"s":[{"b":162,"e":1}]}],"r":173,"s":[{"e":162,"l":24,"o":22,"t":23}],"t":417,"u":162,"å":162},172],"n":[{"a":[{".":1}],"d":[{"r":31},24],"e":[{"l":[{"å":80}]}],"i":[{"v":162}],"s":[{"v":127},82],"t":[{"o":[{"n":31}]}],"u":1},11],"o":[{"m":162},216],"p":[{"a":15,"e":[{"r":[{"s":15}],"t":162}],"i":[{".":1,"p":1}],"l":207,"o":162,"p":[{"e":[{"r":22}]}],"r":173}],"r":[{"a":[{".":1},69],"d":[{"a":[{".":31}],"o":41,"s":[{"ø":78}],"u":23}],"e":[{"f":168,"i":506,"m":15,"t":2},29],"i":[{"k":4},12],"m":162,"o":[{"l":15}],"p":[{"a":168,"e":168}],"r":507,"s":[{"a":[{"l":23}],"i":[{"n":[{"n":47}]}],"l":53,"t":[{"r":31}],"v":23}],"t":[{"e":[{"s":22}],"o":[{"p":31}],"r":53,"s":78}],"u":[{"m":[{"e":4}]},15]}],"s":[{"a":[{".":4},173],"e":[{"d":1,"k":1,"l":[{"e":166}],"n":15,"s":1}],"i":[{"d":49},35],"k":7,"l":69,"m":[{"u":162}],"o":173,"p":419,"t":[{"a":[{"s":16},4],"e":[{"r":[{"s":47}]}],"j":17,"ø":508}],"ø":162},172],"t":[{"e":[{"s":58}],"i":[{"l":162},9],"r":[{"e":4},162],"s":[{"t":[{"r":17}]},28],"t":[{"i":23,"s":[{"t":14},5]}],"y":162}],"u":[{"t":[{"a":61},18]},307],"v":[{"a":69,"e":[{"r":[{"e":58}]}],"r":162,"s":509}],"ø":162,"å":162}],"p":200,"r":[{"a":[{"d":90,"f":253,"g":166,"k":[{"k":164}],"n":[{"i":[{"e":[{"n":510}]}],"k":168,"s":164}],"p":162,"s":[{"e":39,"j":511,"s":17}],"t":[{"o":23}],"u":23,"v":172}],"e":[{"d":[{".":162,"i":164}],"g":[{"i":203},187],"i":[{"e":49,"s":17},162],"k":[{"l":[{"i":23}]},168],"l":[{"a":38},173],"m":[{"o":64}],"n":[{"n":181,"t":162}],"o":168,"p":[{"r":38,"s":166}],"s":[{"j":166,"s":181}],"t":[{"a":33,"n":306,"s":0,"t":90}]}],"i":[{"b":173,"f":162,"g":[{"s":116,"a":39},304],"k":[{"e":22,"j":23,"k":[{"a":36}]},162],"m":[{"e":23},172],"n":[{"s":[{"t":202},249]}],"p":28,"s":[{"e":[{"n":[{"e":191}]}]},184],"t":[{"e":164},88],"v":168}],"o":[{"b":42,"d":[{"e":22}],"f":[{"o":[{"r":0},90]}],"k":[{"k":16}],"n":[{"i":11,"l":38,"o":[{"m":23}]}],"p":[{"n":49,"p":103},0],"s":[{"t":0}],"t":[{"e":[{"n":186},143]}],"v":24},88],"u":[{"i":65,"m":18,"s":[{"a":22}],"t":[{"t":[{"i":14}],"r":24}]}],"y":[{"g":267,"p":[{"a":61,"e":22,"i":23}],"s":164}],"ø":[{"k":[{"e":22}],"r":274,"v":24}],"å":[{"d":[{"a":32},162],"e":36,"k":166,"l":[{"e":22}],"m":39,"n":[{"e":61}]}]},4],"s":[{"a":[{".":90,"d":375,"l":[{"t":12}],"m":[{"e":22}],"n":[{"e":90,"s":0,"t":193}],"r":[{".":90,"a":152,"k":367}],"s":152},153],"c":153,"e":[{"d":88,"e":88,"g":[{"e":31}],"i":259,"k":[{"t":38}],"l":[{"a":38,"e":[{"v":22}]}],"n":[{"t":[{"o":17}]}],"r":[{"f":0,"k":12,"o":[{"l":38}]}],"s":[{"a":0,"k":257,"m":196,"o":38,"p":5,"s":[{"e":[{"l":36,"r":[{"i":[{"e":46}]}]}],"p":5,"t":5},38]}],"t":[{"e":[{".":31}]}]}],"f":[{"ø":5}],"i":[{"a":38,"f":88,"k":[{"o":22}],"n":[{"d":12,"g":90,"i":61,"n":12,"s":193}],"o":152,"s":[{"t":24}],"t":[{"i":0}]}],"j":168,"k":[{"a":[{"b":35,"l":367}],"i":[{"o":11}],"j":69,"l":15,"o":[{"n":[{"a":16,"e":17}]}],"r":69,"u":[{".":35,"a":2,"t":6},32],"v":29}],"l":[{"a":[{"g":[{"a":[{".":46}]}]}],"o":15,"u":[{"g":206},252],"ø":[{"s":346,"v":[{"a":46,"e":[{".":46}]}]}]},69],"m":[{"a":[{"k":229}],"e":[{"l":1}],"i":[{"d":93}],"å":475}],"n":[{"o":229,"ø":350}],"o":[{"a":96,"d":512,"g":0,"m":[{"b":0}],"r":259,"t":88,"v":69},153],"p":[{"a":[{"l":90}],"e":[{"k":12}],"i":[{"o":15,"r":12}],"o":[{"r":[{"t":[{"r":145}],"s":308}]}],"r":69,"y":90}],"r":93,"s":[{"m":12},206],"t":[{"a":[{"d":38,"k":0,"l":12,"n":[{"t":15}],"v":4}],"e":[{"d":[{"a":5}],"g":1,"i":90,"k":0,"v":[{"n":[{"e":[{".":120}]}]},24]}],"i":[{"l":1,"n":0}],"j":69,"r":[{"a":[{"n":31}],"e":[{"k":26,"n":11,"r":11}],"i":1,"o":1},69],"u":[{"m":35,"s":38}],"y":[{"v":12}],"å":88}],"v":[{"a":[{"k":[{"e":192},350],"n":[{"e":[{".":46}]}]}],"e":[{"g":15,"r":[{"t":252}]}],"i":[{"n":229,"s":93}]},69],"u":[{"n":[{"i":93},11]},153],"w":15,"y":[{"n":[{"a":32}],"s":[{"m":64}]}],"æ":[{"r":15}],"ø":[{"k":[{"e":[{".":23}]}],"l":367}],"å":[{".":90,"p":0,"r":5,"t":5},69]}],"t":[{"a":[{".":38,"f":77,"g":0,"k":[{"a":31,"s":193,"t":0}],"l":[{"a":[{".":31}]}],"n":[{"a":[{".":39},193],"l":12,"n":193,"v":0}],"p":[{"p":12}],"r":[{".":155,"r":193,"t":193}],"s":[{"s":11,"t":38}],"t":[{"l":96}],"v":[{"h":15,"k":15,"l":367}]}],"e":[{"d":[{"a":0},90],"e":11,"f":[{"ø":0}],"g":[{"e":9}],"i":227,"k":[{"a":11}],"l":[{"e":22,"s":[{"k":97}],"i":[{"t":9}]}],"m":[{"n":2},46],"n":[{"h":193}],"r":[{".":155,"i":[{"e":[{"n":[{"s":170},139]}]}],"s":80}],"s":[{".":152,"a":11,"e":11,"k":[{"e":[{".":36},15]}],"t":[{"i":15}]}],"t":[{"a":198,"e":0}],"v":[{"n":[{"e":[{".":36}]},15]}]}],"i":[{"b":38,"l":90,"n":[{"s":193}],"r":38,"s":[{"t":17}],"t":[{"e":40}],"v":[{"e":[{"n":[{"d":127}]}]}]}],"j":[{"a":88,"u":2}],"o":[{"a":39,"f":[{"f":15}],"g":[{"r":[{"a":[{"m":11}]}]}],"l":[{"i":0}],"m":[{"f":15},88],"p":259,"r":[{".":155,"a":152,"d":[{".":15}],"e":38,"i":[{"e":513}],"s":16}],"v":69}],"r":[{"a":[{"l":12}],"e":259,"o":[{"s":17},7],"u":259}],"s":[{"a":[{"m":[{"b":26}],"r":22}],"e":[{"k":15,"m":2,"r":26}],"i":[{"n":4}],"k":[{"r":[{"a":22}],"u":15,"v":23}],"l":[{"e":[{"g":[{"e":[{".":120}]}]}]}],"o":[{"k":4}],"p":[{"a":1,"r":[{"e":15}]}],"t":[{"a":1,"o":[{"n":31,"p":22}],"å":1}]}],"t":353,"u":[{"e":[{"r":[{".":39}]}],"k":0,"n":[{"d":2}],"t":259}],"y":[{"o":6,"r":[{"k":[{"e":[{".":46}]},2]}]}],"ø":[{"r":[{"e":46},16],"s":97,"v":69}],"å":[{"r":375}]},200],"u":[{"a":[{"n":35},7],"b":[{"e":[{".":1}],"j":12}],"d":[{"a":[{"l":1}]},173],"e":[{"r":[{".":1,"a":53}],"t":1}],"f":[{"l":85},168],"g":[{"r":229},168],"i":[{"s":2,"t":36}],"k":[{"l":94}],"l":[{"d":[{"i":168,"r":18}],"e":[{"d":1,"g":1,"i":4,"m":1,"n":15,"t":1,"v":1}],"i":[{".":4},15],"l":164,"t":172}],"m":[{"a":[{"n":1}],"e":[{"n":[{"t":[{"a":[{"l":120}]}]}]}],"i":4,"s":28,"u":164}],"n":[{"d":[{"s":[{"l":80}]}],"g":[{"e":[{".":23}]},188],"n":11},172],"o":1,"p":[{"e":[{".":1}],"p":[{"l":23}]},172],"r":[{"a":2,"e":[{"k":1}],"o":[{"p":[{"a":46},40]},109],"s":[{"k":31,"p":23,"t":41,"v":18},172],"t":24,"u":[{"k":[{"e":[{"n":49,"r":16}]}]},473],"v":[{"i":41},172]}],"s":[{".":166,"a":[{".":2,"k":19,"r":22}],"e":[{"l":26},166],"k":[{"a":1}],"p":[{"e":40}],"t":24},172],"t":[{".":200,"a":69,"e":[{".":236}],"o":15,"r":21,"s":173}],"u":514,"ø":[{"y":36}]}],"v":[{"a":[{"k":[{"e":32}],"l":[{"i":0}],"r":[{"d":11,"i":[{"e":[{"n":145}]}],"t":334}],"s":[{"e":39}]}],"e":[{"d":82,"e":61,"g":[{"r":64}],"i":[{"k":0,"l":11,"n":515,"s":[{"e":49}]}],"l":[{"a":22},253],"r":[{"d":181,"n":[{"s":242},166]}],"s":[{"t":17},173]}],"i":[{"a":304,"d":162,"e":[{"n":[{"e":23}],"r":22},178],"l":[{"a":61}],"n":[{"n":164}],"s":[{"e":22,"t":191}],"v":173}],"o":[{"g":153,"k":168,"t":0},172],"u":88,"æ":181,"å":153},7],"w":[{"e":152,"u":38}],"y":[{"a":15,"e":[{"l":4}],"f":[{"l":[{"e":22}]},162],"g":173,"l":[{"e":[{"g":1}]}],"n":[{"s":[{"k":[{"j":[{"e":[{"r":31}]}]}]},361]}],"p":[{"r":26},129],"r":[{"i":[{"e":[{"n":[{"e":14}]}]}],"k":[{"e":[{".":32}]}]},172],"s":[{"a":6,"e":[{".":4,"t":[{"e":[{".":46}]}]},162],"k":[{"r":12}],"s":[{"k":31}],"t":[{"a":18,"e":[{"l":23}]},296]}],"t":[{"a":[{".":4}],"e":[{"s":18}]},173]}],"æ":[{"t":516}],"ø":[{".":172,"a":[{"r":7}],"e":[{"n":[{".":1}],"r":7},172],"k":200,"l":[{"e":1}],"n":[{"s":[{"k":[{"j":[{"e":[{"r":31}]}]}]}]},153],"r":[{"r":90}],"s":[{"e":15},23],"y":[{"a":[{"r":[{".":61}]}],"d":152,"e":[{"n":[{"e":53}]}],"r":333}]}],"å":[{"k":[{"e":162}],"l":[{"e":12}],"n":[{"d":[{"a":32}],"e":15}],"p":[{"e":[{".":1,"n":2}]}],"r":[{"a":[{"s":35}],"e":69,"i":69}],"t":[{"t":348},233]}]}],"l":[{"a":[{".":172,"a":173,"b":[{"a":162,"l":4,"o":[{"n":361},172],"y":162},69],"d":[{".":162,"e":[{"m":1},11],"g":162,"i":[{"e":260}],"m":173,"r":173,"s":65}],"e":[{"i":173,"n":[{"t":162}],"p":162},172],"f":[{"l":12},173],"g":[{"g":162,"i":5,"n":[{"e":168}],"o":[{"m":22},517],"r":129,"s":[{"a":[{"n":22}],"j":23}]}],"h":[{"a":173}],"i":[{"n":189}],"k":[{"a":15,"e":[{".":1}],"j":162,"k":88,"r":7,"s":[{"e":[{"l":175}],"j":152,"l":38}],"t":[{"e":[{"r":[{"i":[{"e":518}]}]}]},162],"ø":15}],"l":[{"k":153},173],"m":[{"a":[{"b":15}],"b":162,"e":[{"s":1,"t":1}],"o":12,"u":471}],"n":[{"a":[{"l":181}],"c":28,"d":[{"a":[{"s":31}],"e":[{"b":31}],"r":18}],"e":[{".":164,"t":162},367],"g":[{"e":[{"l":31,"m":23,"r":[{"m":31}]}],"r":23,"s":[{"e":271},124],"ø":316}],"l":162,"n":[{"o":90},162],"o":[{"r":1}],"s":[{"i":274,"p":64}],"t":[{"i":22}],"v":[{"i":90},162]}],"o":173,"p":[{"a":[{"l":4}],"i":2,"l":6,"p":[{"r":98,"s":66}],"s":[{"a":22,"e":[{"n":22}],"i":42}]}],"r":[{".":519,"a":[{"b":306}],"b":173,"e":[{".":93,"a":300,"d":35,"m":15,"n":[{".":11,"a":162}],"t":[{"a":21},36]}],"f":166,"i":[{"a":[{"r":475},2],"e":[{"n":202}]}],"k":[{"i":181}],"m":88,"n":24,"r":306,"t":[{"a":[{".":31}]},162],"v":[{"e":[{"t":61}]}]}],"s":[{"c":4,"e":15,"i":[{"e":49}],"k":[{"j":191},7],"m":[{"i":15},162],"p":303,"s":[{"a":[{"k":31,"m":31,"t":31}],"e":[{"l":31}]}],"t":[{"r":162},11],"v":24}],"t":[{"a":[{"n":[{"g":22}],"u":168},69],"e":[{"g":1,"k":31,"n":[{"o":1}],"s":78}],"i":[{".":4},15],"m":162,"o":69,"r":[{"a":[{".":61,"n":39,"r":22}]}],"t":[{"i":[{"s":53}],"r":[{"a":23}],"u":36}]}],"u":[{"a":61,"d":173,"e":36,"n":162,"r":162,"s":[{"e":61,"t":31}],"t":173}],"v":[{"a":[{"l":26}],"e":[{"l":1}],"h":38,"i":[{"n":[{"n":22}]}],"s":168,"å":191},173],"w":172,"y":3}],"b":[{"a":[{"d":[{"e":24}],"k":[{"e":[{".":22}]},23],"n":[{"e":[{".":23}]}]}],"e":[{"n":[{"a":39}],"r":[{"e":[{".":32}]}]},38],"o":[{"a":0}],"u":[{"h":11}],"y":[{"e":23}],"å":38},520],"c":[{"e":[{".":0}]},188],"d":[{"a":[{".":152,"k":[{"s":15,"t":15}],"n":[{"d":155}],"t":[{"o":47,"y":47}]}],"e":[{"b":88,"n":38,"o":227,"p":88,"r":[{".":152,"a":16,"e":[{"k":0}],"i":[{"k":11}],"k":[{"l":[{"æ":11}]}],"l":[{"e":[{"g":186}]}],"s":[{"t":[{"e":80,"i":116}]}]},90],"s":[{"h":0,"t":[{"r":11}]}]}],"é":155,"i":[{"s":[{"k":16}]}],"o":[{"a":39,"k":[{"s":346}],"l":88,"r":[{"e":0}],"v":[{"n":15}]}],"r":[{"a":[{"k":90,"n":12,"s":15}],"e":[{".":11,"g":[{"n":2}],"r":[{".":15}],"s":[{".":93}]}],"i":69,"y":152,"ø":69}],"s":[{"e":[{"k":1,"l":1,"s":1},46],"k":[{"a":1,"j":23},54],"l":[{"a":[{"g":[{"a":91}]}],"e":[{"g":31,"t":23}]}],"m":207,"o":[{"m":9}],"t":[{"r":24}]}],"t":[{"u":[{"s":4}]}],"ø":[{"d":22,"l":22,"y":2},28]},168],"e":[{"a":[{"g":2,"k":12,"l":[{"a":22},69],"s":164,"t":15},173],"b":[{"e":[{"m":1}],"o":[{"s":[{"t":[{"a":4}]}]}],"æ":[{"k":166}]},173],"c":23,"d":[{"a":[{"r":166},173],"d":[{"ø":23}],"e":[{"b":162,"m":1,"p":168,"r":15,"s":12}],"o":[{"p":164,"v":166},173],"r":[{"o":1,"y":15}],"s":180,"u":168,"y":162,"ø":173,"å":265}],"e":[{"i":168},173],"f":[{"a":[{"n":[{"e":[{".":36}]}]},168],"f":187,"i":173,"l":162,"o":[{"r":162,"t":162}],"r":173,"t":153,"y":168,"ø":162}],"g":[{"a":[{"p":168,"s":166}],"e":[{"d":1,"n":35,"r":[{"a":[{"n":35,"s":35},1],"o":1}],"t":[{"a":1}],"v":1},164],"g":[{"i":191}],"i":[{"f":168},12],"j":162,"l":419,"o":[{"l":1}],"r":[{"e":162}],"s":65,"u":173,"å":173}],"h":[{"a":[{"l":168,"m":[{"r":168}],"n":168,"u":168,"v":[{"e":168}]}]},173],"i":[{"d":[{"o":12}],"e":[{".":11,"n":[{"d":[{"e":22}],"e":53}],"r":39,"t":521},32],"g":[{"d":36,"e":[{"r":[{".":61},23],"t":23}],"h":271,"n":[{"a":36,"e":46}]}],"n":[{"t":12},173],"r":[{"u":127}],"s":[{"t":16}],"t":11}],"j":173,"k":[{"a":[{".":1,"n":168},173],"e":31,"i":12,"j":173,"k":[{"s":16}],"l":420,"n":[{"a":23},173],"o":173,"r":173,"s":[{"o":181,"p":162}],"t":[{"o":[{"r":[{"d":17}]}],"s":[{"t":271}]}],"u":173,"v":173,"ø":162,"å":162}],"l":[{"a":285,"d":522,"e":[{"m":90},173],"g":248,"i":[{"g":166}],"o":173,"s":[{"k":181},164],"u":[{"k":162},69],"v":38,"y":173,"æ":162,"ø":[{"p":[{"a":36}]},173]}],"m":[{"a":162,"e":[{".":6,"t":[{"r":[{"i":[{"s":[{"k":167}]}]}]},162]},12],"n":[{"a":32},522],"o":173,"p":[{"e":[{"d":39,"s":22}]}],"r":164,"s":[{"i":23,"ø":53}],"t":[{"i":22},173],"u":173,"y":168,"ø":162,"å":173}],"n":[{"a":[{".":1,"l":1,"v":162}],"d":[{"a":[{"n":39},46],"e":[{"n":168}],"r":[{"e":11,"i":162}]}],"e":[{"d":162,"m":162,"v":162}],"g":[{"d":0,"r":53,"u":49}],"i":[{"v":162},15],"s":[{"a":[{"k":53},103],"e":[{"m":162,"s":22}],"t":[{"a":23}]}],"t":[{"a":[{"m":23}],"r":[{"a":148},23]}],"ø":173,"å":162}],"o":[{"l":166},173],"p":[{"a":15,"e":[{"l":1,"n":[{"d":[{"e":[{"n":219}]}]}]}],"j":107,"l":[{"a":[{".":6}],"e":1}],"o":162},173],"r":[{"a":[{"b":[{"a":162}],"m":[{"b":107},162]}],"d":22,"e":[{".":35,"a":168,"f":162,"g":162,"i":523,"k":162,"s":[{"o":162,"u":162},15],"t":162,"v":162},93],"i":[{".":301,"e":[{"i":4},191],"n":[{"a":2}],"v":1}],"n":[{"æ":248}],"o":[{".":15,"m":162,"p":[{"e":168}],"s":12,"t":265}],"s":[{".":191,"p":5}],"t":[{"e":61}],"u":[{"s":[{"e":[{".":46}]},162]},69],"y":[{"r":166},173],"ø":173,"å":173}],"s":[{".":334,"a":[{"b":1,"m":162,"r":191,"u":162}],"c":173,"e":[{"d":15,"g":1,"k":162,"n":15,"r":12,"t":162}],"h":[{"o":162}],"i":[{".":4,"g":162,"n":[{"g":2,"n":22}],"t":162}],"j":[{"u":162}],"k":[{"a":[{"p":2}],"j":85,"o":[{"l":168}],"u":[{"t":524}]}],"l":[{"a":162}],"p":[{"a":[{"l":168}]},173],"s":[{"e":[{"n":[{"e":[{".":120}]}]}]},75],"t":[{"a":[{".":301,"l":191},162],"e":[{"d":15,"g":15,"l":15}],"i":[{"m":1}],"o":12,"r":[{"ø":162}],"y":[{"r":162}],"ø":162,"å":162}],"u":[{"g":162}],"v":[{"i":20},54],"y":236,"ø":[{"y":166},162]}],"t":[{".":164,"a":[{"b":1,"k":[{"a":46},168],"l":[{"e":[{".":46}]}],"s":229}],"e":[{".":166,"a":168,"g":162,"k":162,"n":[{"k":168},15],"p":204,"r":[{".":15}],"s":162}],"i":[{"k":229},285],"j":173,"o":173,"r":[{"e":2,"i":9},420],"s":[{"j":31,"k":46},164],"t":[{"e":[{"a":31}],"r":31,"s":124}],"u":173,"v":1,"y":[{"e":46},173],"ø":162,"å":167}],"u":[{"l":162,"n":173,"r":153,"t":[{"e":1},173]}],"v":[{".":173,"a":[{"d":4,"l":[{"u":4}]}],"e":[{"d":1,"g":162,"i":162,"k":162,"r":[{"n":168}],"v":303}],"i":[{"d":36}],"n":22,"o":173,"r":54,"s":162,"æ":162}],"x":54,"ø":162,"å":173},172],"é":[{"e":166,"r":172,"t":[{".":191}]}],"è":191,"ê":166,"f":[{"a":[{".":0,"n":[{"t":15}],"r":38}],"e":38,"f":12,"i":[{"g":38,"n":149}],"j":[{"a":15,"e":152}],"n":[{"u":[{"l":367}]}],"o":[{"m":0}],"u":[{"t":0}]},187],"g":[{"a":[{"f":11,"l":[{"e":[{".":32}],"t":169}],"n":[{"a":193}],"t":22,"v":[{"e":[{".":23}]}]}],"e":[{"d":88,"l":[{"a":0,"e":0}],"m":88,"n":[{"a":24}],"r":[{"a":[{"n":53,"p":23}],"i":22,"u":[{"n":17}],"y":0}],"s":[{"l":0,"p":284}]}],"g":15,"i":[{"e":[{"n":46}]}],"l":[{"o":69,"y":15}],"n":15,"o":[{"b":12,"d":28,"k":69,"m":69,"v":15}],"r":[{"e":[{"f":12}],"ø":[{"y":39}]}],"s":[{"e":67,"k":[{"r":[{"e":9}]},7],"l":[{"e":[{"g":33}]}],"t":[{"r":9}]}],"u":[{"l":23,"n":12,"r":12}],"æ":153,"ø":15,"å":[{".":11,"r":[{".":15}],"v":[{"a":32,"e":[{".":32}]}]}]},173],"h":[{"a":[{"k":[{"a":[{".":32}]}],"v":[{"s":116}]}],"j":38},222],"i":[{"a":[{"l":[{"a":1}],"m":7,"n":[{"s":15}],"s":1},69],"b":[{"a":17,"e":[{"r":[{"o":17}]}],"i":[{"e":120},17],"y":[{"e":17}]}],"d":[{"a":[{"k":1}],"e":[{"d":1}],"o":[{".":1}],"r":188,"t":24}],"e":[{"n":[{"e":1}],"r":[{".":12,"s":[{".":15}]}],"s":22}],"f":[{"a":[{"t":162}],"f":22},164],"g":[{"a":[{".":1,"n":85,"r":[{"t":39},1],"s":[{".":6}]}],"e":[{"n":[{"h":26}],"t":1}],"n":166,"r":[{"e":85}],"s":[{"e":24,"i":65,"l":24,"p":65,"t":[{"i":42,"r":22}]}],"u":7},164],"h":162,"k":[{"a":[{"n":15,"r":35,"s":2}],"e":[{"e":15,"n":12,"s":[{"å":15}]}],"i":35,"k":[{"o":18}],"l":8,"n":301,"s":[{"t":5}],"u":15}],"l":[{"a":168,"d":525,"e":12,"l":[{"e":[{"b":[{"e":22}],"t":22}]}]}],"m":[{"a":[{"r":1,"s":1,"t":[{"e":4}]}],"e":[{".":1},11],"h":162,"p":[{"r":18}],"r":61,"u":39}],"n":[{"a":[{".":1,"l":526}],"c":[{"h":14},31],"d":[{"r":337,"u":[{"s":38},162],"s":124}],"e":[{".":1,"a":288,"m":4}],"f":188,"g":[{"j":41,"l":17,"s":[{"e":[{"n":[{".":16}]}]}],"v":166}],"j":[{"u":248}],"k":[{"e":[{"s":22}],"l":[{"e":22}],"v":23}],"n":[{"e":[{"t":22}],"i":164,"s":168,"t":[{"r":274}]},188],"o":[{"r":1}],"s":[{"e":0,"k":166,"t":181}],"t":162,"v":173,"ø":83}],"o":[{"n":[{"o":23,"s":[{"p":17,"v":17}]}],"s":20}],"p":[{"e":[{"s":103}],"p":[{"s":43}]},173],"r":[{"a":[{"r":35}],"e":[{"k":1}]}],"s":[{"a":[{"k":162}],"e":[{"t":15}],"k":[{"l":23}],"o":173,"p":162,"s":[{"p":31}],"t":[{"a":[{"n":61}],"e":[{"r":[{"k":31}]}],"i":[{"l":279},22],"o":18,"r":[{"ø":16},111],"u":446,"y":[{"r":[{"k":[{"e":[{".":242}]}]}]},223]}]}],"t":[{"e":[{"e":1,"k":1}],"i":[{"a":99,"d":1,"g":1,"l":1,"m":1,"s":[{"t":17}],"v":1}],"j":22,"n":168,"o":15,"r":[{"e":[{"r":22}]},129],"t":[{"e":[{"l":[{"e":31}],"r":[{"k":31,"m":31}]}],"s":80}],"y":15}],"u":191,"v":[{"a":[{".":4,"k":85}],"e":[{"g":22}],"i":[{"e":17}],"s":255}]},172],"j":[{"a":[{"n":153,"r":[{"b":0,"s":80},153],"s":5}],"e":[{"d":0,"e":11,"i":88,"k":88,"l":[{"v":35},24],"n":153,"r":[{".":90}],"s":[{".":38,"t":5},527],"t":[{".":38,"e":[{".":38},0],"r":528}],"v":88}],"é":38,"i":153,"o":[{"d":336,"e":32,"m":0,"r":[{"i":15}],"s":164}],"u":[{"n":15,"r":152,"t":2}],"ø":[{"s":[{".":38}]},24]},173],"k":[{"a":[{"l":[{"i":[{"e":513}]},348],"n":1},90],"b":97,"e":[{".":90,"d":[{"a":[{"l":38}],"e":90},88],"e":[{"i":103}],"h":11,"l":[{"e":[{"g":38}],"s":206}],"n":90,"r":[{".":152,"a":0,"i":0,"s":169,"u":196}],"s":[{"t":[{"a":[{"d":38}]}]}],"t":[{".":38,"s":38}]},1],"l":[{"e":[{"m":350}],"i":1,"u":229},7],"n":[{"i":[{"n":97}]}],"o":[{".":11,"m":[{"a":39}],"s":[{"a":39}],"t":88}],"r":[{"a":[{"s":14}],"i":[{"k":473}]}],"s":[{"e":[{"r":1}],"h":529,"t":182}],"u":[{"l":[{"e":[{".":23}]}],"t":[{"e":35},32]}],"v":[{"e":[{"g":11}]}],"å":54},200],"l":[{"a":[{"a":348,"f":3,"k":88,"l":69,"m":[{"i":0}],"n":[{"e":38,"l":12,"o":169,"s":[{"k":15},103]}],"p":[{"a":2,"s":18}],"s":[{"p":15},1],"u":[{"r":[{"e":36},15]}],"v":[{"l":2,"r":15}]}],"d":67,"e":[{"a":[{"k":38},22],"d":[{"a":[{".":32}],"r":41}],"e":90,"f":88,"g":[{"e":[{"v":22}],"r":22}],"h":[{"a":38,"o":38,"å":38}],"i":[{"g":169}],"k":[{"i":0,"s":[{"t":97}]}],"l":[{"i":0}],"m":88,"n":[{"d":[{"a":[{".":36}],"e":[{"n":15}],"r":0,"t":11}],"k":0,"s":95,"t":[{"u":0}],"u":0}],"p":[{"l":[{"e":15}]}],"r":[{"i":[{"k":512}],"o":[{"b":0}]}],"s":[{"o":23,"p":[{"r":17}],"t":[{"ø":22}]},4],"t":[{".":38,"a":0,"s":38,"t":[{"e":[{"l":[{"e":36}]}]}],"æ":93}],"u":88,"v":[{"e":[{"n":15,"v":61}],"å":38}],"y":31}],"é":[{".":88}],"g":530,"i":[{"e":[{"n":42},54],"g":155,"m":88,"n":[{"d":193,"s":0,"t":[{".":155},12]}],"p":90,"r":0,"s":[{"e":[{"n":31}]}],"v":0}],"j":69,"k":530,"m":[{"u":[{"e":[{"n":[{"e":33,"s":16}],"r":49}]}]},15],"o":[{".":38,"b":17,"d":88,"f":[{"f":193}],"i":[{"d":22}],"k":[{"s":15}],"m":[{"s":80},261],"p":[{"p":15},12],"r":259,"s":[{"o":0}],"t":[{"e":11}]}],"p":15,"r":[{"a":[{"n":16}]}],"s":[{"a":[{"k":1,"m":[{"e":[{".":36}]}]}],"e":[{"m":1,"n":[{"d":22}]}],"k":[{"a":[{"r":31}],"v":22,"å":15},5],"l":[{"a":[{"g":22}]}],"m":[{"y":12}],"n":[{"o":23}],"t":[{"e":23,"i":[{"g":31}]}],"ø":[{"k":61}],"v":[{"i":[{"n":[{"t":4}]}]}]}],"t":[{"o":[{"e":5}]},34],"u":[{"a":93,"e":365,"f":0,"g":2,"k":[{"a":206,"e":193,"s":11},23],"m":38,"n":[{"g":[{"e":[{".":36}]}]},277],"p":[{"i":23}],"r":259,"s":90,"t":259}],"v":[{"a":[{"n":46}]},182],"y":[{"s":[{"e":[{".":23}]}]}],"ø":[{"k":[{"s":15},0],"p":[{"a":[{".":31}]}],"v":[{"e":0}],"y":[{".":2,"a":15,"e":[{"r":36},12],"n":473}]}],"å":[{"r":370,"s":67}]},200],"m":[{"a":[{".":38,"n":[{"m":12}],"p":0,"r":[{"k":[{"i":0}]}],"v":12}],"b":2,"e":[{"l":[{"s":193,"u":0}],"p":[{"o":9}],"r":[{"f":169,"i":61}],"s":[{"t":[{"i":61}]}],"t":[{"r":42}]}],"i":[{"l":[{"e":[{".":32}]},38],"n":[{"d":12,"g":38,"i":120,"n":[{"e":16}],"s":12,"t":15}],"s":152}],"l":15,"m":15,"o":[{"p":69}],"s":[{"j":31,"p":122},69],"t":12,"u":[{"l":[{"e":[{".":23}]}],"t":12}],"y":[{"r":[{"k":[{"e":[{".":46}]}]}]}],"ø":[{".":0,"s":97,"y":[{"a":33},473]}],"å":[{"l":[{"a":[{".":31}]}],"r":9,"s":169}]},188],"n":[{"a":[{"b":88}],"e":90,"i":[{"u":23}],"y":152},188],"o":[{"a":[{"l":69,"n":[{"e":191}],"r":[{".":166},182]}],"b":[{"b":[{"y":[{".":22,"a":[{"n":39,"r":[{".":39}]}],"e":22}]}],"l":7},173],"d":[{"a":107,"e":12,"r":[{"i":85}],"s":[{"m":65,"t":[{"e":61}],"v":77}],"u":3}],"e":[{"n":[{"g":168}]}],"f":[{"j":168,"t":164}],"g":[{"e":[{"v":531},15],"i":[{"r":1}],"o":[{"p":12},28],"r":[{"e":[{"s":32}],"o":3}],"s":[{"a":22}]},172],"h":162,"i":[{"d":[{".":15,"e":12}],"n":69}],"j":[{"a":164}],"k":[{"i":69,"k":[{"o":23,"u":[{"l":31}]}],"l":402,"o":[{"n":162}],"s":[{"e":[{".":32}]},532],"v":182}],"l":[{"e":[{"g":[{"e":[{".":36}]}]}],"j":173,"o":49}],"m":[{"d":[{"r":38}],"i":[{"n":26}],"m":[{"e":[{"l":23}]}],"s":[{"t":[{"r":33}]}]}],"n":[{"a":[{"l":1}],"d":168,"e":15,"g":[{"r":41}],"i":[{"t":1}],"s":[{"k":[{"j":61}]}]}],"p":[{"a":12,"e":[{"a":1}],"p":[{"a":22}],"t":337},173],"r":[{"a":69,"d":[{"a":[{".":31}]},173],"e":69,"g":[{"l":53},187],"i":[{"e":120}],"m":168,"o":69,"ø":[{"d":2}]}],"s":[{"a":2,"e":[{"k":4,"s":1,"v":15}],"k":[{"l":[{"e":23}]}],"l":69,"p":2,"t":173}],"t":[{"e":[{"s":35}],"i":[{".":6}],"o":12,"t":[{"e":[{"t":162}]}]}],"u":[{"n":69}],"v":[{"a":[{"l":[{"d":61}],"n":[{"d":35,"e":2},12],"r":12}],"e":[{"d":533,"r":[{".":11,"e":17,"n":38,"s":274,"t":274}]}],"o":191,"s":[{"a":24}]},172]}],"p":[{"a":[{"r":[{"e":22}],"s":17},152],"e":[{"d":[{"o":0}],"e":0,"i":88,"l":[{"e":[{"g":38}],"i":[{"n":0},90]},88],"s":[{"m":90}],"t":[{"i":0}],"u":88}],"h":7,"i":[{"n":[{"e":[{".":22},18]}]},7],"l":7,"o":[{"e":[{"t":31}]}],"u":[{"t":0}]},188],"q":38,"r":[{"a":[{"d":[{"a":32,"i":[{"u":103}]}],"n":[{"e":[{".":31}]}]}],"e":[{"d":[{"e":23}],"i":23,"k":[{"a":32,"e":[{".":32}]}],"v":[{"a":32}]}],"i":[{"m":[{"a":32}],"v":[{"e":[{".":23}]}]}],"o":[{"d":[{"e":[{".":32}]}],"p":[{"a":[{".":31}]}],"s":[{"a":[{".":32}],"e":[{".":23}]}],"t":[{"s":17}]}],"ø":[{"r":[{"e":[{".":31}]}],"v":22}],"å":[{"d":[{"a":[{".":32}],"e":[{".":23}]}]}]},534],"s":[{"a":[{"d":88,"g":36,"l":[{"d":15}],"m":1,"n":[{"a":152,"k":[{"e":[{".":36}]}],"o":169,"s":193}],"r":[{"k":15}],"t":[{".":0}]}],"c":[{"u":0}],"e":[{".":90,"d":88,"e":88,"i":[{"d":12,"g":15}],"l":[{"e":193,"v":193}],"m":[{"b":15},88],"n":[{"o":0}],"r":[{".":152}],"s":[{"k":[{"u":17}],"l":18,"p":[{"a":17}],"s":17,"t":[{"r":86}]},28],"t":[{"e":[{".":23}]}],"u":88,"v":11}],"f":0,"h":88,"i":[{"g":38,"k":38,"l":[{"l":97}],"m":[{"u":38},0],"n":[{"n":193}]}],"j":[{"a":[{"k":[{"k":15}]}],"e":[{"f":38,"g":12,"n":12}]}],"k":[{".":167,"a":[{"b":[{"i":15}],"n":169,"r":[{"i":15,"t":22}]}],"e":97,"i":[{"f":14,"l":[{"d":375}],"n":[{"n":[{"s":373},123]}]}],"j":[{"e":[{"d":69}],"o":12}],"l":[{"æ":24},11],"o":[{"a":12,"r":15,"v":12}],"r":[{"a":0}],"s":6,"u":[{"n":22}],"v":[{"a":2,"i":12}],"å":[{"p":[{"a":36},12]},0]}],"l":[{"a":[{"g":[{"a":5,"n":152}]}],"e":[{"g":[{"e":[{".":36}]}]}],"o":15,"u":[{"k":229}],"ø":[{"s":97}]},88],"m":[{"ø":[{"r":38}],"å":[{"l":[{"a":36}]}]},88],"n":[{"u":88}],"o":[{"k":18,"n":[{"d":[{"e":[{".":36}]},15]}],"r":259,"s":[{"e":40}],"t":38,"v":69}],"p":[{"a":88,"e":[{"g":155,"i":38,"l":155}],"i":38,"r":[{"e":[{"d":38}],"i":12},0]}],"s":206,"t":[{"a":[{"k":193,"l":193,"n":[{"k":11}],"t":535}],"e":[{".":11,"d":1,"g":0,"i":536,"l":1,"r":[{"r":15}]}],"i":[{".":4,"e":1}],"o":[{"n":4}],"r":[{"e":[{"n":15}],"i":155}]}],"u":[{"b":38,"k":90,"n":69},88],"v":[{"e":[{"a":2,"e":[{"n":[{".":46}]},15],"k":97,"r":[{"e":16}]}],"i":[{"k":0,"n":[{"d":4}]}]},259],"ø":[{"r":0,"y":259}],"å":259},222],"t":[{"a":[{"a":0,"f":0,"k":[{"t":12}],"l":[{"a":[{".":23}],"b":193,"e":[{"v":31}]},90],"n":[{"l":12,"o":31}],"r":[{"t":12}],"s":[{"t":23}],"t":[{"e":[{"s":32}],"o":41,"r":18}],"v":[{"k":12,"æ":38}]}],"b":35,"e":[{"d":[{"e":90}],"k":[{"a":0}],"m":[{"a":[{".":31}]}],"n":[{".":1,"h":169}],"p":[{"i":12},6],"r":[{"a":[{"s":0}],"s":[{"t":169}]}],"s":[{"a":[{"m":[{"e":[{".":91}]}]}]}]}],"i":[{"d":[{"s":36}],"e":[{"t":0}],"f":88,"g":47,"k":88,"n":[{"a":0,"d":12,"n":35,"s":12}],"v":[{"i":0}]}],"j":[{"a":259}],"l":[{"e":[{"g":[{"e":[{".":46}]}]}]}],"n":35,"o":[{"a":[{"r":39}],"g":90,"s":[{"t":12},23]}],"r":[{"a":90,"e":[{"g":12,"i":12,"k":[{"o":11}],"l":97,"m":96,"n":[{"s":0}],"s":[{"t":229},12],"v":38}],"i":[{"t":169}],"o":[{"l":12,"m":12,"p":[{"a":46}],"s":38}],"ø":[{"d":169}],"å":38},7],"s":[{"a":[{"m":[{"e":[{".":46}]}]}],"i":9,"t":40,"v":[{"i":23},107]},8],"t":94,"u":[{"n":[{"d":12}],"r":[{"a":23,"e":[{"n":19,"r":19},80],"s":80,"å":80}],"t":88}],"v":[{".":38,"a":[{"l":[{"a":46}]}],"s":90}],"w":169,"y":[{"d":32},90],"ø":[{"l":2,"v":12}]},188],"u":[{"a":[{"r":32}],"b":[{"b":[{"a":[{"n":[{"d":31}]}]}],"r":[{"i":4}]},173],"c":15,"e":[{"r":[{"e":2}]}],"f":172,"g":[{"a":[{"r":164}],"o":2}],"i":[{"d":[{"e":[{"r":36}]}]},31],"j":172,"k":[{".":162,"a":[{".":1}],"e":[{"t":162}],"k":[{"e":[{"r":[{"i":31}]}]}],"r":12,"t":334}],"l":[{"y":162}],"m":[{"e":[{"l":4}],"o":7,"s":[{"k":31}],"ø":1},0],"n":[{"d":[{"r":42}],"e":[{".":1}],"g":[{"e":[{"l":23}]}],"i":537,"n":[{"e":22}],"s":[{"j":164}],"t":162}],"o":4,"p":[{"s":23,"u":107}],"r":[{"e":[{"i":168,"n":15},28],"i":15,"n":[{"a":32,"e":[{".":32}]},274],"t":[{"a":32}]}],"s":[{".":172,"a":[{"k":2},17],"e":[{"l":4}],"h":[{"e":16}],"k":233,"o":53,"s":[{"i":[{"d":23}],"t":41}],"t":[{"r":255},54]}],"t":[{"a":[{".":12},18],"e":[{"t":2}],"f":168,"g":162,"h":[{"e":538},475],"l":[{"a":33}],"m":31,"o":69,"r":26,"s":173,"t":[{"a":[{"l":23,"p":23,"t":53}]}],"v":168}],"v":[{"a":1,"e":[{".":1,"n":35,"r":35}]},172]}],"v":[{"a":[{".":0,"k":[{"t":[{"i":0}]},31],"l":[{"a":31}],"m":365,"n":[{"a":0,"d":6}],"p":94,"r":[{".":152}],"s":[{"a":2,"s":169}]},153],"e":[{"d":[{"a":65}],"i":[{"s":19}],"l":[{"a":0,"e":0}],"n":[{"e":39},1],"r":[{".":155,"a":[{"u":39}],"u":0}],"s":[{"k":0,"l":22,"t":[{"r":22}]}],"t":[{".":252}]}],"é":155,"i":[{"e":[{"n":[{"e":32}],"r":39}],"k":[{"a":[{".":31}]}],"m":35,"n":[{"g":[{"r":80}]}],"r":[{"o":12}]},153],"j":69,"l":[{"y":[{"s":[{"e":[{".":46}]}]}]}],"n":367,"o":[{"f":69,"k":[{"s":120}],"p":35,"r":[{"e":[{".":32}],"s":5}],"v":9}],"p":97,"r":[{"a":[{"r":46}],"i":35}],"s":[{"e":15,"k":40,"l":31},8],"t":[{"a":35}],"å":[{"g":90,"p":539,"r":31},69]},167],"w":38,"y":[{"a":69,"b":173,"d":[{"r":118}],"e":[{"s":18},15],"g":[{"e":[{"l":1}],"l":20}],"i":[{"s":6}],"k":[{"j":173,"k":[{"e":[{"r":[{"i":31}]}]}],"u":15,"v":2,"ø":168}],"l":15,"m":[{"e":15,"p":173}],"n":[{"a":107,"e":[{".":1}],"i":[{"l":26}],"s":82}],"o":[{"k":15},173],"p":[{"e":12}],"r":[{"a":[{".":6}],"e":[{".":4}],"k":306},370],"s":[{"a":[{".":1,"k":158}],"e":[{"t":[{"e":[{".":36}]}]}],"k":[{"j":24,"l":39},5],"l":129,"p":162,"t":[{"r":[{"a":49}]}],"y":168}],"t":[{"a":[{".":6}],"e":[{"k":162,"r":[{"i":1}],"s":17}],"i":[{"n":229}],"r":69}],"v":[{"a":[{"k":15}],"e":12}]}],"z":[{"b":97},90],"æ":[{"d":168,"r":[{"a":[{".":4,"r":[{"m":23},15]}],"e":[{".":1,"i":18,"r":12,"s":[{".":15},99]}],"s":[{"v":31}]}],"t":[{"a":4}]},216],"ø":[{"d":[{"e":[{".":12,"l":1,"m":15}]}],"e":[{"r":1}],"k":[{"k":[{"j":22}],"n":187,"o":173,"r":26}],"l":149,"m":[{"e":35}],"n":[{"a":7,"s":[{"t":17}]}],"p":[{"s":47}],"r":[{"d":337,"k":19,"n":22,"r":248}],"s":[{".":166,"a":[{"n":15},7],"e":[{"r":15}],"k":24,"s":24}],"t":[{"a":[{".":35}],"e":[{".":12,"g":1}]},173],"v":[{"a":[{"r":49}],"d":540,"e":[{".":1,"r":12,"s":15}]}],"y":[{".":168,"a":162,"d":173,"e":[{"d":32,"l":22},162],"f":173,"g":[{"e":17},23],"m":162,"s":[{".":274}],"t":[{"e":[{"r":22}]}]}]},172],"å":[{"g":[{"a":[{"l":4}],"r":[{"e":4}],"s":5,"å":1}],"i":173,"k":[{"e":[{".":4}]},182],"m":[{"e":35,"o":233}],"n":[{"d":274,"s":261},7],"p":[{"n":541},173],"r":[{"a":[{".":6,"r":35,"s":15}],"i":[{"n":12}],"u":69},173],"s":[{"a":[{".":4}],"k":[{"o":4},69],"l":26,"t":[{"e":[{"n":61,"r":22},1]}],"u":15}],"t":[{"e":[{".":12,"g":1,"k":1}],"i":[{".":6}],"t":162}],"v":[{"e":[{".":1}]}]}]}],"m":[{"a":[{"a":[{".":164,"r":12},173],"b":[{"r":15},173],"c":[{"h":[{"e":12}]}],"d":[{"a":[{"m":[{"e":17}]}],"e":[{"l":1}],"r":[{"a":12}],"s":542}],"e":[{"f":162,"k":162,"n":[{"e":191}]}],"f":[{"i":[{"a":164}],"r":[{"å":168},164]},189],"g":[{"a":[{".":6}],"e":[{"d":1,"l":1,"s":1}],"n":164,"r":7}],"h":[{"e":173}],"i":[{"s":1}],"j":[{"a":1}],"k":[{".":173,"a":[{"b":15,"d":162}],"e":[{"s":1}],"k":[{"e":61}],"l":[{"e":31},162],"o":[{"t":1}],"r":[{"e":12,"o":[{"n":22}]},28],"t":[{"a":[{"l":23}],"i":181,"o":23,"s":[{"t":103}]}],"u":69,"v":189}],"l":[{"a":69,"e":[{"b":2,"n":[{"g":4}],"t":1}],"i":[{"e":[{"n":260}]}],"l":22,"o":[{"v":1}],"s":5,"t":[{"e":[{"k":53}]}],"u":24,"å":24}],"m":[{"e":[{"r":162}],"o":12}],"n":[{".":0,"a":[{"k":12,"l":90,"m":168,"v":162}],"c":[{"e":32}],"d":[{"o":[{"m":23,"n":23}]}],"e":12,"f":0,"g":[{"a":42,"e":11,"r":162}],"i":[{"a":91}],"l":[{"e":90},173],"m":162,"n":[{"e":[{"m":23}],"s":[{"l":14}]},337],"o":1}],"o":173,"p":[{"a":162,"r":173}],"r":[{"b":162,"d":19,"e":[{".":191,"g":168,"i":12,"l":2,"n":543,"s":15}],"i":[{"e":[{"n":[{"e":208}]}],"n":12},544],"k":[{"a":0,"i":[{"t":162}],"v":23}],"m":[{"o":[{"r":[{"a":[{".":33}]}]}]},22],"n":61,"o":[{"p":163},69],"s":[{"h":65,"l":61}],"t":[{"e":22}],"y":[{".":1}],"å":4}],"s":[{"e":[{"l":162,"t":15}],"h":18,"i":[{"a":1,"k":1,"s":1}],"j":[{"u":168}],"k":[{"i":23,"o":162}],"p":162,"s":[{"e":[{"e":23,"t":31}],"ø":33}],"t":[{".":191,"e":[{"m":15}],"o":162,"r":236}],"y":173}],"t":[{"a":[{"d":15},69],"e":[{".":1,"d":4,"l":1,"n":191,"r":[{".":191,"a":168}],"t":191},12],"f":[{"e":306}],"i":[{"l":[{".":191},162]}],"o":69,"r":[{"a":[{"s":26},162],"e":85,"o":[{"m":21}]},69],"s":[{"l":46},82],"t":[{"a":22,"r":545}]},11],"u":[{"k":23,"l":61,"n":69,"r":166,"s":[{"u":61}]},173],"v":[{"e":[{"n":15},546],"h":152,"k":38},173],"z":[{"e":1,"o":12}]},172],"b":[{"a":[{"o":0,"r":[{"d":18}]}],"e":[{"a":88,"b":0,"d":[{"a":39,"ø":0}],"f":88,"k":88,"l":[{"i":0}],"m":88,"n":[{"a":0}],"o":0,"r":[{"e":[{"g":0}],"o":0}],"t":183}],"i":[{"a":[{"r":31}],"b":88}],"l":89,"o":[{"e":[{"n":[{"d":23}],"r":[{".":22,"e":22}]},183],"i":[{"d":22}],"n":22,"p":0,"r":[{"e":22}],"t":39}],"u":[{"a":[{"r":[{".":61}]}],"e":[{"r":[{"e":16}]},23],"s":17}]},188],"c":[{"o":11},153],"d":[{"e":90,"o":[{"m":2}]},174],"e":[{"a":[{"l":15,"m":22},420],"b":173,"c":[{"k":5},173],"d":[{"a":[{"t":162}],"b":173,"e":[{".":166,"d":1,"i":22,"n":2,"t":2}],"f":162,"i":[{"k":162,"r":162},12],"m":173,"o":[{"k":4,"m":162}],"r":[{"e":[{"t":4}]},173],"s":177,"u":[{"n":4,"s":9},162],"v":[{"e":191},22],"y":173,"å":162}],"e":[{"f":173,"k":168,"l":173,"s":162,"v":162},2],"f":[{"f":90},173],"g":[{"a":[{"l":2},547],"r":173,"u":173}],"h":162,"i":[{"e":[{"n":17},28],"g":153,"l":[{"d":12}],"n":[{"d":12,"i":22}],"s":[{"k":2,"o":162}]}],"j":173,"k":[{"i":162,"j":162,"k":173,"l":129,"n":12,"o":162,"r":548,"s":162,"t":[{"e":168},22]}],"l":[{"a":[{"k":[{"s":9}],"n":[{"e":166}],"r":166},162],"e":[{".":1,"d":162,"i":162,"k":162,"m":324,"n":[{"g":26}]},12],"i":[{"k":162,"s":162,"t":162,"v":162}],"l":[{"e":22,"o":[{"m":549}]}],"o":[{"k":162,"v":162}],"s":[{"i":23,"j":255,"k":103,"t":42}],"t":[{"r":61}],"u":69,"v":[{"i":120},22],"y":173,"æ":173,"ø":162,"å":550},88],"m":[{"o":[{".":4}]},173],"n":[{"e":[{"d":83,"r":[{"s":3}]}],"g":[{"a":248}],"k":22,"l":[{"e":[{"g":[{"e":[{".":120}]}]}]}],"n":[{"y":23},11],"o":[{"m":1,"r":1}],"s":[{"i":23,"m":24,"p":[{"l":22}]}],"t":[{"e":[{"k":31},22],"o":[{"m":23}],"r":22}],"y":[{"t":1}]}],"o":[{"s":4},285],"p":173,"r":[{".":166,"a":[{"b":4,"d":162,"l":223,"n":[{"t":26}]}],"d":[{"i":22}],"e":[{"d":162,"g":162,"i":162,"k":162,"l":162,"n":[{"s":[{"e":4}]}],"s":[{"s":162},12],"t":36}],"i":[{"b":236,"k":[{"e":17}],"n":166},0],"l":[{"e":[{"g":58}]}],"n":39,"o":[{"s":22}],"s":[{"k":22},166],"u":[{"n":[{"d":22},12],"s":162}],"y":173,"ø":107,"å":[{"k":1},173]}],"s":[{".":166,"a":286,"h":383,"j":173,"k":[{"e":22},189],"l":[{"e":31},189],"o":551,"p":173,"s":[{"e":[{"s":141}]},166],"t":[{".":191,"a":162,"e":[{".":166}],"i":23,"o":204,"r":[{"o":15,"ø":168,"å":162},18],"u":162}],"u":162,"y":173,"ø":173}],"t":[{"a":[{"b":162,"l":[{"l":[{"s":552}]}],"p":553,"r":1}],"e":[{"g":162,"i":162,"k":162,"l":162,"p":162},12],"i":[{"l":162}],"j":173,"o":[{"n":162}],"r":[{"a":85,"e":[{"n":22,"r":61,"s":22},1],"i":[{"k":22}],"u":1,"æ":162}],"u":173,"v":162,"y":173,"ø":173,"å":162}],"u":[{"s":554},307],"v":[{"a":[{"n":46}]},173],"ø":173,"å":173},172],"é":173,"f":[{"a":[{"r":[{"a":39,"t":[{"a":46}]}],"v":17}],"e":[{"k":88,"s":[{"s":367}]}],"i":[{".":0,"b":[{"r":0}],"t":88}],"r":[{"u":[{"s":555}]}],"u":[{"n":[{"n":[{"s":556}]}],"s":[{"e":[{".":31}]}]}]},188],"g":[{"a":[{".":0}],"i":[{".":0}],"å":[{"v":[{"a":32,"e":[{".":32}]}]}]},411],"h":[{"e":[{"a":5}],"u":[{".":0}]},188],"i":[{"a":[{"l":557,"n":[{"e":301},28],"r":[{".":191}],"v":173},69],"c":[{"h":[{"e":[{"l":120}]}]},4],"d":[{"é":522,"i":173,"j":22,"s":65,"t":23}],"e":[{"l":[{"e":265}],"r":[{".":12}],"s":143}],"f":286,"g":[{"r":[{"a":[{"f":166}]}]}],"h":173,"i":173,"j":162,"k":[{"h":31,"j":162,"o":173,"r":[{"o":[{".":22,"n":22}]}],"s":[{"a":22}],"u":168}],"l":[{"a":[{".":1}],"e":[{"t":[{"i":61},36],"v":1}],"i":[{"n":162},2],"s":[{"v":47}],"æ":162}],"m":[{"a":[{".":6}],"o":166,"p":152},173],"n":[{"a":[{".":1,"r":15}],"e":[{".":1,"r":[{"s":26}]}],"n":[{"h":181,"s":181,"t":168}],"s":[{"p":24,"t":5},28],"u":12,"v":0,"y":26}],"o":[{"v":2}],"p":173,"s":[{"a":[{"n":1},162],"e":[{"k":162,"l":162},12],"é":301,"h":[{"a":[{"g":[{"e":33}]}]}],"i":268,"k":[{"o":23},7],"l":[{"a":34,"e":39}],"m":191,"s":[{"k":53,"p":30}],"t":[{"a":[{"k":33}],"e":558,"r":[{"a":23}],"u":162}],"y":173,"å":162}],"t":[{"a":168,"e":12,"j":162,"o":162,"r":406,"t":[{"s":18}]}],"u":[{"r":15}],"v":[{"å":15},173]},172],"j":[{"a":[{".":11,"n":11,"r":[{".":38,"n":152}]}],"e":[{".":152},173],"i":[{"n":[{"g":[{"a":[{"n":93,"r":93}]}]}]},153],"o":167,"u":[{"k":[{"e":61}]}],"ø":[{"s":[{"t":17}]},172]}],"k":[{"o":[{".":0}],"r":[{"o":17}],"u":[{"l":[{"e":[{".":31}]}]}],"å":[{"p":[{"a":32}]}]},397],"l":[{"a":[{"g":[{"a":31}]},152],"e":[{"f":88,"i":[{"e":[{"r":[{".":17}]}]}],"k":88,"l":88,"m":88,"r":[{"a":0}],"s":[{"e":[{".":31}],"k":0,"v":559}],"t":[{"a":0}],"v":[{"e":[{".":23}]}]}],"i":4,"j":[{"a":15}],"y":[{"s":[{"e":[{".":31}]}]}],"ø":[{"p":[{"e":[{".":31}]}],"y":18}]},181],"m":[{"a":[{"i":11,"k":[{"l":22}],"l":[{"e":[{".":32}]},17],"m":0,"n":[{"d":[{"o":[{"l":36},139]}]}],"r":[{"i":[{"n":16}],"o":16},38],"t":[{"i":[{"k":[{"k":[{"a":170}]}]}]}]}],"e":[{"d":[{"ø":0}],"g":88,"i":88,"k":247,"l":[{"u":0}],"n":[{"i":11,"u":0}],"r":[{"t":17,"u":[{"n":23}]}],"s":[{"t":120},458],"t":[{".":38,"a":0,"i":0,"r":[{"a":0,"e":19}]}],"u":24}],"é":90,"i":[{"a":[{"n":152},0],"b":88,"d":0,"e":[{"n":36}],"k":88,"s":[{"k":22,"o":22,"t":24}]}],"n":15,"u":90,"ø":28,"å":[{"l":[{"a":[{".":32}]}]}]},560],"n":[{"e":[{"e":88,"i":[{"d":2}],"l":561,"r":[{"a":23}],"s":[{"e":38,"k":0,"t":[{"a":0,"i":[{"e":49}]}]}],"t":[{".":155,"e":0}],"v":88}],"i":[{"p":11}],"s":[{"k":2}]},188],"o":[{"a":[{"r":7},164],"b":[{"a":162}],"d":[{"e":[{"m":12},166],"i":[{".":4},15],"y":173}],"e":[{"n":[{".":1}]},164],"f":[{"f":153,"o":[{"b":[{"i":[{".":36}]}]}]}],"g":[{"i":4,"l":166,"o":15,"s":38}],"h":162,"k":[{"a":[{".":6},173],"e":6,"i":69}],"l":[{"a":[{".":4}],"e":[{".":1,"s":472},12],"t":162,"y":12}],"m":[{".":38,"f":162,"r":173,"s":[{"ø":53}]}],"n":[{"e":15,"i":[{"s":[{"a":1}]}],"o":7,"s":[{"t":[{"e":23}]},54],"t":19}],"p":173,"r":[{"a":[{".":1,"r":[{".":2},1]},562],"d":[{"e":19,"l":162,"r":47}],"e":[{"s":58},12],"i":[{".":1,"d":4,"e":563},88],"k":[{"l":23}],"l":[{"a":[{"g":[{"a":91}]}]}],"o":[{"k":15,"m":1}],"s":[{"i":23,"k":[{"j":23,"y":61}],"p":23}],"ø":69}],"s":[{"e":[{"n":35}],"k":564,"o":23,"t":[{"a":[{"b":168}]}]}],"t":[{"a":[{"p":162}],"e":[{".":1,"g":[{"e":565}],"i":1,"k":[{"l":16}],"r":[{".":15}],"s":1}],"o":15,"r":[{"e":61},162],"s":[{"a":[{"g":[{"d":168}]}],"v":[{"a":139}]},180],"t":61}],"u":[{"r":17}],"v":[{"a":218}],"w":15},172],"p":[{"a":[{"n":[{"a":0,"t":[{"a":169}]}]}],"e":[{"e":0,"l":[{"o":[{"t":0}]}],"n":[{"a":11}],"p":11,"r":[{"a":[{"t":[{"e":[{".":91}]}]}],"e":[{"s":[{"s":11},22]}],"f":[{"a":169}],"i":[{"e":[{"n":510}]}]}],"s":[{"t":[{"e":36,"i":23}]},183],"t":[{"t":38}],"u":227}],"i":[{"d":12,"n":[{"j":[{"e":0}]}]}],"l":[{"a":[{".":93,"n":89}],"e":[{".":15}],"i":[{"n":97}]}],"n":97,"o":[{"b":97,"e":[{"t":[{"a":0}]},5],"g":0,"k":11,"p":[{"p":12},88]}],"p":370,"r":[{"a":[{"d":12}],"e":[{"t":15}],"o":[{"p":[{"a":46},12]}]}],"s":[{"e":[{"k":12}],"p":23,"t":20},69],"u":[{"n":[{"g":[{"e":[{".":36}]}]}],"r":155,"t":[{".":15}]}],"y":[{"s":15}],"ø":22,"å":[{".":155}]},222],"q":90,"r":[{"o":[{"s":[{"a":[{".":32}],"e":[{".":31}]}]}],"u":[{"t":[{"e":[{".":61}]}]}],"ø":[{"d":[{"e":39}]}],"å":[{"r":155}]},566],"s":[{"a":[{".":38,"k":69,"n":[{"t":15}]}],"c":153,"e":[{"l":[{"u":22}],"i":437,"m":0,"n":[{"g":193}],"p":[{"l":9}],"r":[{"v":0}],"s":22,"t":[{"n":149,"j":[{"a":[{"r":[{"e":127}],"s":148}]}]}]}],"i":[{"e":31,"n":[{"g":1,"n":12}]}],"j":[{"a":169}],"k":[{"a":[{"b":15,"k":49}],"i":[{"n":[{"g":22},4]}],"n":34,"o":[{"r":12}],"r":[{"e":[{"n":15}]}],"u":32}],"l":[{"a":[{"n":12}],"e":[{"g":[{"a":4}]}],"u":[{"a":35,"e":12}],"y":1}],"m":88,"n":[{"e":35,"o":15,"æ":12},150],"o":[{"m":[{"s":0}],"r":[{"i":12}],"v":69},153],"s":67,"t":[{"a":[{"l":193,"v":6}],"e":[{".":206,"a":2}],"i":[{"l":[{"b":15}],"m":12},7],"o":[{"p":[{"p":149},169],"r":[{"d":22}]},153],"r":[{"a":[{"n":[{"d":93,"e":38}]}],"e":[{"d":22,"f":15,"n":22}],"i":[{"k":15}],"u":1}]}],"u":[{"n":[{"n":12}],"t":[{"a":39,"e":[{"n":61}]}]}],"v":[{"a":[{"r":[{"a":49,"e":17}]}],"e":[{"t":89}]},69],"y":[{"n":[{"d":12}]}],"ø":[{"k":[{"e":[{".":23}]}],"r":169,"y":69}],"å":69},168],"t":[{"a":90,"b":[{"e":36},1],"e":[{"e":88,"g":88,"k":[{"s":58,"v":284}],"l":0,"s":[{"t":[{"u":11}]}]}],"i":[{"a":39,"d":[{"a":155}],"e":[{"n":[{".":11}]},22],"f":11,"k":88,"n":[{"i":11}],"ø":[{"r":120},0]}],"o":38,"r":1,"v":[{"e":4,"i":[{"n":1}]}],"å":22},188],"u":[{"a":4,"b":150,"e":[{"l":12,"r":61,"s":176},7],"g":[{"l":22},173],"h":[{"e":1}],"k":[{"a":522,"e":187},7],"l":[{"a":15,"e":[{"g":1,"s":36}],"l":[{"s":202},183],"t":[{"i":[{"v":31}]}],"y":162}],"m":[{"i":12,"s":28},191],"n":[{"c":28,"e":[{"s":120}],"g":[{"e":[{".":31}]},162],"i":[{"v":274}],"k":24,"n":[{"s":80}],"t":[{"r":41}]}],"r":[{"a":[{".":4}],"e":[{".":1}],"n":173,"s":5,"t":168}],"s":[{"e":[{".":1,"s":133}],"é":1,"k":[{"e":[{"l":[{"a":145}]}]},107],"t":[{"a":[{"n":22}]},5]},88],"t":[{"a":[{".":6},567],"s":[{"a":[{"l":[{"a":91}]}]}],"t":[{"r":77}]},173]},172],"v":[{"a":[{"k":[{"t":17}],"l":[{"a":31}],"r":[{"i":120}]}],"e":[{"g":[{"s":78}]}],"i":[{"e":77,"s":[{"e":[{".":31}]}]}]},188],"w":173,"y":[{"a":15,"g":[{"g":[{"a":23}]}],"k":[{"e":12,"k":[{"e":[{"s":23}]}],"l":24,"r":6}],"r":[{"a":[{"n":35,"r":35},7],"e":[{".":1},69],"k":[{"e":38},162],"u":26}],"s":[{"a":4,"e":[{".":1}],"o":1},24],"t":[{"e":[{".":1}],"t":[{"s":116}]}]},172],"æ":[{"l":[{"a":[{".":4}]}]},166],"ø":[{"b":[{"l":24}],"d":[{"e":[{"s":2}]}],"e":[{"n":[{"s":35}]},4],"k":[{"k":[{"a":36}],"n":90,"o":173}],"n":[{"a":4,"e":[{".":1,"s":[{"t":6},49]}],"s":[{"k":274}]}],"o":7,"r":[{"k":[{"e":164,"r":53}],"s":[{"m":22}],"ø":24}],"s":[{"e":15}],"t":[{"a":[{"s":35}],"e":[{"r":[{"e":1}]}],"t":39},191],"y":[{"a":[{"r":39}],"s":[{".":38}]},173]},172],"å":[{".":173,"a":15,"e":[{"n":[{"h":168}]}],"g":530,"k":[{"a":[{".":1}],"e":[{".":1,"s":1}]},69],"l":[{"a":[{"r":15}],"e":[{".":1,"d":4,"i":18}],"ø":[{"p":[{"e":[{".":36}]}]}]},11],"n":[{"e":[{"s":[{"e":35},205]}]}],"p":[{"a":[{".":6}],"e":[{".":1}],"l":2}],"r":[{"a":[{"r":36}],"e":69,"o":69,"u":69},173],"s":182,"t":[{"a":[{"k":4}],"f":168,"r":15,"ø":12}]},172]}],"n":[{"a":[{"a":[{"n":[{"s":4}]}],"b":[{"o":[{"r":[{"t":[{"r":309}]}],"t":4},173],"y":162}],"d":[{"e":[{"d":1,"m":6}],"i":5,"o":[{"p":90}],"s":261,"v":162}],"f":[{"f":153,"o":[{"r":16}],"r":12,"t":61},167],"g":[{"a":[{".":6}],"e":[{"n":162},12],"s":[{"å":14},65],"ø":2}],"h":168,"i":[{"r":162}],"k":[{"k":[{"a":61,"o":31},11],"l":166,"r":69,"s":[{"a":32,"e":[{".":32}]},153],"t":[{"a":[{".":31}],"i":274},222],"v":2},173],"l":[{"a":[{"g":35,"r":[{"e":4,"v":168}]}],"e":[{"g":2,"i":85,"k":1,"p":[{"o":22}],"s":1,"t":[{"t":26}],"v":1}],"g":[{"e":[{".":31}]},22],"i":[{"l":1}],"l":[{"a":[{"g":31}],"ø":[{"p":23}]}],"o":[{"p":24}],"s":179,"t":24,"u":[{"r":12}],"y":173,"ø":233,"å":[{"r":568},162]}],"m":[{".":166,"e":[{"r":[{"e":2}],"s":15}],"o":569,"s":166,"ø":173}],"n":[{".":301,"a":[{"l":90},162],"e":11,"f":[{"ø":91}],"g":[{"r":248}],"k":[{"e":[{".":31}]},22],"l":[{"e":274},181],"n":[{"e":23}],"o":26,"s":[{"i":[{"n":23}],"k":[{"j":23}],"t":53}],"y":162}],"o":2,"p":[{"e":[{"s":5},15],"s":65},94],"r":[{".":0,"a":[{"p":1}],"b":173,"d":[{"r":22}],"e":[{"a":162,"i":61,"k":236}],"i":[{"e":[{"n":271}],"k":[{"s":[{"k":191}]}]}],"k":[{"i":[{"v":162}]}],"m":[{"é":274,"e":274,"a":[{".":32}]},175],"s":[{"t":[{"e":32}]},22],"t":[{"a":[{".":31}],"i":22},173],"v":61,"ø":22}],"s":[{"a":[{"r":18,"s":1}],"h":61,"i":[{"k":167}],"k":[{"i":1}],"t":[{"a":14},245],"u":167}],"t":[{"a":69,"e":[{"k":46,"m":2}],"l":162,"o":[{"m":162,"r":[{"i":[{"e":570}]}]}],"r":[{"a":32}],"s":[{"p":24}],"t":[{"a":[{"k":31}],"e":[{"a":31}]}],"y":17}],"u":[{"k":173,"s":[{"p":36}]}],"v":[{"a":[{".":4}],"d":162,"f":168,"g":173,"h":361,"i":69,"k":248,"l":[{"e":[{"s":23}]},162],"n":164,"o":168,"r":162,"s":153,"t":162}]},172],"n":[{"a":[{"n":[{"s":169,"a":15,"e":155,"i":32,"k":169,"l":38,"t":[{"a":96}]},1],"b":1,"d":[{".":15},88],"f":[{"t":35}],"i":[{"r":15}],"k":330,"l":[{"a":0,"g":15}],"m":[{"e":0}],"r":[{".":155,"i":0}],"s":[{"i":11,"k":0}],"t":88,"v":[{"l":12},88]}],"b":[{"o":[{"e":49}],"u":[{"e":49}]}],"d":[{"ø":[{"r":203},5]},122],"e":[{"a":[{".":38,"p":38}],"b":[{"a":[{"r":38}],"e":[{"r":91}],"u":38}],"d":[{"i":0}],"e":88,"f":11,"i":69,"k":[{"e":90}],"l":[{"o":0}],"n":[{"a":[{"t":31}],"o":41},89],"r":[{".":155,"e":[{"l":0}],"o":0}],"s":[{".":152,"j":11,"l":[{"a":439}],"t":196,"ø":0}],"t":[{".":149,"e":0}],"v":88,"y":88}],"g":94,"h":[{"ø":[{"r":[{"e":[{".":46}]}]}]}],"i":[{"d":[{"e":12},0],"e":24,"m":88,"n":[{"f":2}],"s":[{"j":23,"t":344},38]}],"k":530,"l":[{"e":[{"g":[{"e":[{".":36}]}]}],"ø":[{"p":[{"e":[{".":36}]}]}]}],"o":[{".":0,"f":15,"m":[{"s":[{"y":[{"n":[{"a":242}]}]},4]},261],"p":69,"r":[{"d":2},593],"v":[{"e":366}]}],"r":35,"s":[{"a":[{"k":[{"a":49}],"m":[{"b":26}],"n":[{"d":22}],"r":24}],"e":[{"g":15,"i":[{"g":91}],"m":85,"n":[{"k":3}],"s":85,"t":[{"e":[{".":36}]}]}],"i":[{"d":[{"a":16}],"n":85,"s":355}],"j":[{"a":[{"k":3}]}],"k":[{"a":[{"n":22}],"l":[{"i":9}]}],"o":[{"p":22,"r":24}],"t":[{"a":[{"b":3,"l":22}],"e":[{"l":[{"t":22}],"n":23,"p":22}],"i":[{"n":61}],"o":[{"p":22}],"r":[{"e":3,"o":22}],"v":24},36],"u":[{"l":26}],"v":[{"a":24,"o":3}],"y":[{"n":[{"a":46}]}],"ø":[{"k":24},7],"å":[{"r":568}]}],"t":[{"e":[{"s":[{"e":[{".":36}]}]}],"o":[{"g":[{"a":49}]}]},60],"u":[{"i":54,"n":[{"g":4}],"t":69}],"v":[{"i":[{"s":5}]}],"y":[{"n":69,"t":23}],"ø":[{"k":2,"v":69}],"å":69},162],"b":[{"a":[{"d":24,"s":[{"e":[{"r":39}]}]},572],"e":[{"n":[{"s":5}]}],"o":[{"e":[{"t":22}]}],"u":[{"f":11,"t":[{"r":11}]}],"y":[{"r":17}],"ø":[{"l":[{"e":39}],"n":31}]},571],"c":[{"a":38,"e":[{"l":17}],"h":[{"e":[{"i":24},90]}],"o":[{"t":11}],"y":458},153],"d":[{"a":[{"a":[{".":152}],"b":[{"i":11}],"d":0,"f":22,"g":[{"s":14},573],"k":[{"s":0}],"l":[{"f":0,"l":169,"s":203},90],"r":[{"k":0,"t":367}],"s":[{"k":93}],"t":[{"a":[{"l":22}]}]}],"d":9,"e":[{".":90,"a":22,"b":88,"d":88,"f":[{"i":38}],"i":[{"n":1},69],"k":[{"l":0,"o":0},4],"l":[{"e":[{".":23}],"i":[{"k":0}],"s":[{"k":5,"t":5}],"t":31},574],"m":[{".":38,"o":22},88],"n":[{".":38,"e":[{"r":11}],"s":38}],"o":575,"p":88,"r":[{"a":[{"b":0,"s":0}],"e":[{"i":0}],"i":[{"m":0}],"k":4,"l":[{"a":[{"g":[{"a":123}]}]}]}],"s":[{"i":0,"t":0,"u":0}]}],"é":153,"i":[{"e":[{"n":23}],"n":[{"t":193}],"s":[{"k":31}],"t":[{"o":[{"r":[{"i":[{"e":518},373]}]}],"t":[{"a":271}]}]}],"j":[{"e":[{"r":12}],"u":69}],"k":15,"l":[{"e":[{"m":1,"s":[{"e":1,"t":1}],"v":1}]}],"m":206,"o":[{"a":39,"b":11,"k":[{"k":97}],"m":[{"s":576}],"o":88,"p":69,"r":[{"g":12,"m":15},88],"t":[{"e":11}]}],"r":[{"a":[{"e":15,"m":193,"n":12}],"e":[{"k":4,"r":[{"a":5}],"s":[{"e":[{"n":15}]}],"t":[{"t":15}]}],"i":69,"o":153}],"s":[{"a":[{"g":1,"k":24,"m":[{"b":26}]}],"e":[{"l":[{"v":22}],"n":[{"d":[{"e":22}]}],"r":1}],"j":[{"e":1}],"k":[{"j":1,"u":[{"l":61}]}],"l":[{"a":[{"g":[{"a":120}]}],"e":[{"t":[{"t":31}]}]}],"p":[{"u":2}],"t":[{"e":[{"g":39},34],"r":[{"e":[{"k":22}],"y":15}]}]}],"t":[{"a":[{"k":[{"a":[{".":36}]}]}]}],"u":[{"f":11,"i":[{"s":24}],"n":[{"g":[{"e":[{".":36}]},12]},0],"p":88,"s":[{"i":31,"k":16}]}],"v":2,"y":[{"g":88,"k":54,"s":[{"p":22},88]}],"ø":[{"l":22,"y":259}]},167],"e":[{"a":[{"e":166,"g":23,"l":[{"e":40,"p":15,"s":15}],"m":131,"r":[{"a":[{"n":577}],"e":[{"n":39}]}],"s":69,"v":204},173],"b":[{"b":164,"e":162,"l":[{"e":1}]},173],"c":[{"k":17}],"d":[{"a":[{"l":164},173],"d":[{"i":[{"k":274}]},24],"e":[{"b":162,"g":162,"l":162}],"g":166,"i":[{".":1,"s":5}],"o":[{"v":[{"e":[{"r":578}]}]},173],"r":[{"e":4},54],"s":[{"t":24},166],"u":168,"ø":162,"å":[{"r":15}]}],"e":[{"g":162,"i":162,"k":173,"r":579}],"f":[{"f":153,"t":38},173],"g":[{"a":[{"t":[{"i":166}]}],"l":[{"a":12,"e":[{"s":[{"p":22}]}]}],"r":[{"u":168},32]},173],"h":168,"i":[{"d":[{"a":[{"n":32}]},88],"g":38,"n":[{"i":90},259],"r":166,"s":[{"k":334}]},173],"j":173,"k":[{"a":[{".":1}],"l":580,"n":12,"r":[{"i":[{"n":22}]},28],"s":[{"e":[{"r":152}]}],"t":22},173],"l":[{"a":162,"d":[{"e":24}],"e":[{"d":162,"g":[{"g":[{"j":191},168]}],"i":[{"e":[{"r":14}]},162],"m":181}],"ê":168,"i":[{"d":162,"g":[{"a":162}],"s":162,"t":162,"v":162}],"l":[{"o":[{"v":23}]}],"s":61,"u":189,"y":162,"æ":173,"ø":[{"p":[{"a":46}]},173],"å":[{"s":162}]}],"m":[{"a":173,"b":181,"e":[{"l":162,"r":162,"s":168}],"i":[{"e":91},173],"j":168,"k":31,"n":[{"e":[{".":22,"l":61}]},166],"o":173,"u":173,"y":173,"ø":173,"å":173}],"n":[{"a":[{"t":[{".":22}]},162],"d":[{"e":[{"n":313}],"r":168}],"e":[{"d":162,"m":162,"s":[{"l":162},12],"t":[{"a":22},162],"v":162},5],"g":[{"a":[{".":23}]}],"h":[{"e":[{"t":168},181]}],"i":162,"s":[{"e":22}],"t":[{"e":[{"i":17}],"r":581}],"u":162,"y":162,"æ":162},164],"o":[{".":166,"r":9,"s":191},173],"p":[{"e":15},173],"r":[{".":178,"a":[{"d":162,"p":168}],"b":164,"e":[{"a":162,"d":[{"e":[{".":36}]},162],"f":162,"g":162,"k":162,"n":[{"t":162}],"p":162,"s":[{"s":162,"u":162},15],"t":162,"v":162}],"f":[{"a":[{"r":162}]}],"g":[{"a":24,"e":24},582],"i":[{"b":265,"k":162,"t":162,"v":583}],"l":[{"a":[{"g":[{"a":91}]}]},166],"o":[{"b":90,"c":168,"f":2,"k":15,"m":162,"t":15,"v":182}],"s":[{".":11,"e":61,"i":42,"p":5,"t":[{"e":[{"n":46}]}]}],"u":[{"l":265,"n":22}],"y":[{"r":164},173],"ø":[{"r":162}],"å":173}],"s":[{"a":[{".":1,"r":166},173],"c":162,"e":[{"k":168,"r":31,"t":[{"s":166}],"v":[{"a":22}]},162],"i":[{"n":[{"d":22}],"t":162},12],"j":286,"k":[{"a":[{"m":15,"r":236}],"e":5,"i":[{"n":[{"s":166}]},162],"j":162,"o":236,"r":162,"u":168}],"l":[{"i":12,"ø":2},173],"m":[{"i":31}],"n":[{"ø":2},168],"o":[{"t":164},173],"p":173,"s":[{"a":[{"m":31}],"t":[{"u":23}]}],"t":[{".":166,"a":[{"s":162}],"e":[{".":39}],"o":[{"r":22},162],"r":265,"u":162,"ø":162}],"u":173,"v":[{"a":32},189],"y":168,"æ":162,"ø":[{"y":166}],"å":[{"r":[{"e":17}]},236]}],"t":[{".":164,"a":[{"k":[{"s":162}],"s":350,"l":[{"e":[{".":36}]}]},173],"e":[{".":166},12],"i":[{"d":168},265],"j":173,"o":[{"m":168},286],"r":307,"s":[{"p":42},164],"t":[{"a":124,"e":[{"l":31}]}],"u":173,"v":1,"y":162,"å":[{"k":[{"e":[{"r":17}]}]},162]}],"u":[{"r":54,"s":15},173],"v":[{"a":[{".":4}],"e":[{".":1,"n":[{"t":584}]}],"i":[{"k":166,"s":[{"a":46}]}],"n":164,"r":54}],"y":[{"t":26}],"ø":173,"å":162},172],"é":[{"b":162,"d":162,"f":173,"h":168,"l":173,"m":162,"o":168,"p":173,"r":166,"v":162,"å":162},172],"f":[{"a":[{"l":[{"l":[{"s":139},103]}],"n":[{"t":17}]}],"o":[{"a":11,"b":0,"l":[{"e":0}],"m":0,"r":[{"a":0,"e":[{"n":[{".":49}]}]}],"s":5}],"ø":[{"d":[{"e":[{"s":22}]}],"y":[{"e":[{"d":46}]}]}]},187],"g":[{"a":[{"d":471,"f":0,"g":11,"k":69,"n":[{"d":[{".":15,"a":585}],"k":12}],"r":[{"m":169,"t":[{".":15,"a":38},0],"u":17}],"t":[{"o":15},88],"v":[{"e":[{".":23}],"i":2}]}],"d":[{"e":[{"d":1,"l":1,"p":1}],"r":12},23],"e":[{"d":[{"a":0}],"l":[{"a":0}],"n":[{"a":0,"e":152,"g":193,"o":11,"u":0},90],"r":[{"e":[{"t":0}],"u":[{"n":22}]},90],"s":[{"l":24},88],"t":[{"a":0}],"v":586}],"f":[{"ø":5}],"g":122,"i":[{"d":15}],"j":[{"e":[{"n":[{"g":14}]}]}],"l":[{"e":[{"m":38}],"u":1},69],"n":2,"o":[{"d":[{"d":15},23],"e":152,"k":89,"m":[{"e":35},587],"n":[{"d":15}],"p":[{"e":40}],"r":[{"d":15,"k":12},88],"s":[{"p":36}],"t":88}],"r":[{"a":[{".":12,"d":[{".":38}],"n":[{"d":15}]}],"e":[{"a":2,"g":12,"n":[{"d":0},12],"r":0,"s":[{"t":15}],"t":12,"v":12}],"i":[{"d":12,"n":12}],"o":[{".":2,"a":35,"e":2,"s":588}],"å":[{"d":12}]}],"s":[{"a":[{".":6}],"e":[{"l":[{"v":22}],"m":1,"s":1}],"j":7,"k":[{"j":4},7],"l":[{"e":[{"g":61}],"ø":[{"y":15}]}],"m":[{"å":[{"l":[{"a":[{".":120}]}]}]}],"n":[{"e":24}],"t":[{"e":[{"p":61}],"r":[{"i":[{"d":17}]}],"y":[{"r":[{"k":[{"e":[{".":242}]}]}]}],"ø":[{"r":39}]}]}],"u":[{"n":[{"d":12}],"r":[{"u":[{".":22}]}]}],"v":[{"i":[{"s":5}]}],"y":[{"e":15}],"ø":[{"y":259},153],"å":[{"v":[{"a":32,"e":[{".":32}]}]}]},167],"h":[{"a":[{"t":17}],"e":[{"t":[{"s":5}]}]},571],"i":[{"a":[{"k":69,"n":[{"d":[{"e":[{"p":17}]}]},8]}],"b":[{"l":7,"y":162,"å":162}],"c":[{"r":162}],"d":[{"a":93,"e":[{"l":[{"e":2},1]}],"é":38,"o":4,"r":61,"s":[{"t":22},5]}],"e":[{"g":162,"l":69,"n":589,"r":[{".":12,"i":22,"s":2,"t":15}]}],"f":[{"r":563}],"g":[{"l":[{"a":15,"o":35}]}],"h":173,"j":167,"k":[{"e":12,"j":173,"o":236,"r":173,"v":162}],"l":[{"i":9,"u":166}],"m":[{"a":[{"r":162,"s":162}],"o":162,"p":173}],"n":[{"a":[{"l":21}],"d":188,"f":162,"g":[{"o":18,"r":22,"s":[{"e":190,"t":[{"e":14}]},116]}],"j":188,"n":[{"b":162,"h":162,"s":162,"t":162},153],"s":188,"t":188,"v":173}],"o":[{".":166,"n":[{"s":203},183],"p":162,"s":191,"v":236}],"p":[{"e":[{"t":[{".":35,"s":35},1]}],"l":[{"i":24},7],"s":[{"i":22}]}],"r":[{"k":[{"e":[{"l":61}]}]},162],"s":[{"e":[{"m":162,"t":15}],"i":[{"m":22}],"k":[{"j":265,"o":41}],"o":[{"l":35,"n":[{"e":17}]}],"s":5,"t":[{"a":[{"s":162,"t":168}],"i":[{"k":22,"l":162}],"r":12,"y":162,"ø":162}],"u":168,"y":168}],"t":[{"e":[{"d":12}],"j":168,"o":[{"g":1,"s":1}],"t":[{"r":5,"s":[{"k":36},43]}],"u":162,"y":12,"z":22,"æ":[{"r":[{"e":120}]}]},0],"u":[{"b":173,"m":[{"f":1}],"t":173}],"v":[{"a":162,"e":[{"g":109,"i":590},173],"o":248,"s":82}],"å":168},172],"j":[{"a":[{"h":11,"v":49}],"e":[{"d":[{"e":[{".":38}]},88],"e":0,"i":11,"s":[{".":90},458],"t":[{".":90,"r":36,"t":38},88]}]},187],"k":[{"a":[{"k":[{"s":12},88],"l":[{"l":17}],"u":88},153],"e":[{"d":[{"o":0}],"e":[{"r":0}],"h":0,"i":[{"e":15}],"l":[{"s":17,"t":203}],"n":[{"h":169,"o":93}],"r":[{"f":[{"a":169}],"s":[{"t":5}]}],"s":591,"t":[{"ø":11}]}],"i":[{"d":0,"e":[{"r":12},0],"n":[{"d":15,"f":2,"n":12,"t":2}]},153],"j":38,"k":182,"l":[{"a":[{"n":[{"g":149}]},153],"i":[{"s":393}],"o":[{"k":12}],"u":153,"y":12,"æ":90,"å":69}],"n":[{"u":153,"y":153}],"o":[{"f":[{"i":91},0],"k":[{"s":15}],"l":[{"e":22,"l":[{"a":5}]}],"t":11,"v":11},90],"r":[{"a":[{"v":90}],"y":350,"e":[{"a":350}]},153],"s":8,"t":[{"a":[{"k":1,"l":4}],"i":[{"n":1}],"s":[{"k":24}]}],"u":[{"l":[{"e":[{".":23}]}],"r":[{"i":[{"e":242},33]}],"t":[{"e":35},592]},153],"v":[{"e":12,"i":[{"t":152}],"o":11},153],"y":155,"ø":153,"å":[{"p":[{"a":31}]},153]},173],"l":[{"a":[{"n":[{"d":[{"a":33,"s":[{"e":120}]}]}]}],"e":[{"i":[{"e":[{"r":[{".":16}]}]}],"m":[{"a":[{".":32}]}]},38],"i":[{"e":[{"n":[{".":23}]}]}],"j":90,"u":[{"e":23}],"y":[{"d":[{"e":[{".":31}],"i":31}],"s":[{"e":[{".":23}]}]}],"ø":[{"p":[{"a":[{".":31}]}]}],"å":152},187],"m":[{"a":[{"l":[{"e":[{".":23}]}]}],"i":[{"k":18,"l":32,"n":[{"i":120}]}],"o":[{"s":[{"e":[{".":31}]}]}],"u":[{"s":[{"i":[{"k":[{"k":170}]}]}]}],"å":[{"l":[{"a":[{".":31}]}]}]},181],"o":[{"a":[{"g":23,"k":69,"n":[{"e":166}],"r":[{".":2}]}],"b":[{"e":[{"l":5}],"l":[{"e":22},1],"r":34},173],"c":[{"o":15}],"d":[{"i":[{"e":[{"n":271}]}]}],"e":[{"f":162,"i":162,"k":162,"n":[{"t":162}]},164],"f":[{"f":153,"t":218},173],"g":[{"r":[{"a":11}]}],"i":[{"d":15,"n":12}],"k":[{"i":69,"r":32,"s":[{"e":[{".":31}],"i":90}]},173],"l":[{"e":35,"j":173}],"m":[{"i":[{"d":4,"k":4,"l":1}],"j":162,"m":39,"s":452,"y":166}],"n":[{"s":177,"t":22}],"o":173,"p":[{"p":[{"s":66},153]},173],"r":[{"a":[{"n":15,"r":15,"s":15},182],"d":[{"a":23,"e":[{"n":[{"d":47}]}],"n":162,"r":53,"s":124,"ø":23}],"e":[{"e":35,"k":12,"n":12,"t":2}],"g":[{"e":[{"s":139},164]},22],"i":[{"e":89,"t":191}],"k":[{"l":[{"a":31,"e":31}]},162],"m":[{"l":[{"ø":[{"s":[{"e":170}]}]}]},0],"s":[{"k":[{"a":[{".":36}]}]},28],"æ":12}],"s":[{"e":[{"l":1,"s":1,"t":[{"e":[{".":46}]}]}],"p":162,"t":[{"j":12,"r":[{"a":190}]}],"y":173}],"t":[{"a":[{".":1}],"e":[{".":1,"i":17,"k":166,"l":1,"s":1}],"s":24,"y":162}],"u":162,"v":[{"e":12,"i":236,"n":248},69]},172],"ó":191,"p":[{"e":38,"o":[{"t":[{"a":32}]}],"å":[{"k":0}]},594],"q":90,"r":[{"a":[{"n":[{"a":32}],"s":[{"a":32}]},155],"e":[{"b":0,"i":[{"e":16}],"n":[{"e":[{"m":11}]}],"o":11},90],"i":[{".":11}],"o":[{"d":[{"e":[{".":31}]}],"t":31}],"y":31,"å":[{"d":[{"a":32}]}]},174],"s":[{"a":[{".":153,"d":182,"g":38,"k":[{"k":38,"r":171,"s":[{"e":[{".":36}]},12],"v":15}],"l":[{"a":90,"d":12,"p":97}],"n":[{"e":38,"f":0,"n":149,"s":[{"e":38,"i":15}],"t":15}],"r":[{"e":[{"n":[{".":38}]}],"m":4,"t":11}],"t":[{"i":0}]}],"c":[{"h":153,"o":90}],"e":[{"a":[{"l":143}],"d":[{"d":15,"e":6},88],"e":[{"i":22,"r":31},88],"f":11,"g":[{"e":15},88],"i":[{"d":36,"e":[{".":15}],"g":35}],"k":[{"s":0}],"l":[{"v":193}],"m":88,"n":[{".":38,"e":[{".":38,"r":0,"s":155,"t":0}],"i":0,"s":152}],"r":[{".":90,"a":0,"i":[{"e":50}]}],"s":[{"a":0,"i":0,"k":196,"l":24,"p":595,"t":0,"u":11,"v":596}],"t":[{"e":0,"s":155}],"u":88}],"f":[{"r":15}],"h":[{"a":12,"e":2,"i":15},88],"i":[{"d":[{"e":[{".":22}]}],"e":[{"n":[{"t":23}],"r":[{".":31}]}],"n":[{"d":17,"g":89,"n":12,"t":[{"e":0}]}],"r":[{"a":32}],"s":[{"k":16}]}],"j":[{"a":[{"k":12,"v":0}],"e":[{"f":38}],"o":[{"r":[{"d":97}]}]}],"k":[{"a":[{"n":0,"u":[{"k":97}]}],"e":[{"l":[{"e":2}],"t":[{"e":1}]}],"i":[{"m":155,"r":15,"s":38}],"j":[{"a":11,"e":[{"l":[{"e":11}],"n":15}],"æ":90}],"å":[{"p":206}],"o":[{"g":[{"s":120}],"l":[{"l":[{"i":1}]}],"r":15}],"r":[{"o":12}],"u":[{"e":[{"t":49}],"g":0,"l":[{"i":15}],"m":38}],"v":69,"y":[{".":149,"e":229,"s":[{"s":38}]}]}],"l":[{"a":[{"n":[{"g":38}],"r":[{"a":[{"r":152}]}],"s":15}],"e":[{"g":[{"e":[{".":36}]}],"k":[{"t":89}],"r":[{"i":4}]}],"i":[{"d":15}],"y":[{"n":38}],"å":153}],"m":[{"i":12,"a":[{"l":0}],"o":169,"u":[{"r":0,"s":0}],"å":[{"l":[{"a":[{".":36}]}]}]}],"n":[{"a":[{"r":229}],"e":[{"s":15}]}],"o":[{"d":23,"f":69,"k":151,"l":153,"n":[{"d":[{"e":[{".":36}]},0]}],"r":[{"i":[{"s":22}]}],"v":[{"n":90},69]}],"p":[{"a":[{"r":[{"a":49}]}],"e":[{"l":[{"s":15}],"t":38}],"r":[{"o":[{"s":11}]},69],"u":[{"r":152}]}],"s":[{"e":[{"e":5}],"å":17},40],"t":[{"a":[{".":1,"k":[{"e":15},0],"g":0,"m":90,"n":[{"k":0}],"r":[{"t":[{"a":[{".":91}]},22]}],"u":1}],"e":[{"d":92,"i":89,"l":1,"m":[{"a":[{".":36}]}],"n":[{"k":15}],"p":11}],"i":[{"k":229,"l":[{"d":15,"f":2,"s":169}],"n":1,"s":423}],"j":69,"o":[{".":38}],"r":[{"u":90,"ø":[{"y":2}]}],"u":[{"e":90,"k":11,"r":15,"t":24}]}],"u":[{"k":69,"n":[{"g":0}],"p":38},153],"v":[{"a":[{"n":[{"g":15}],"r":[{"a":49}]}],"e":[{"g":35,"r":[{"d":15,"n":15}]},375],"i":[{"l":[{"l":229}],"n":[{"d":1}],"s":35},69],"u":0,"æ":89}],"y":[{"d":23,"t":69}],"ø":[{"n":38,"v":277,"y":[{"a":15}]}],"å":[{"p":[{"e":[{"n":61},38]}],"s":[{".":2}]}]},168],"t":[{"a":[{"b":38,"g":[{"r":0}],"l":[{"a":[{"n":23}],"l":103}],"n":[{"a":[{".":22}],"d":169,"l":12,"v":1}],"p":[{"p":12}],"r":[{"t":152,"v":[{"i":97}]}],"s":[{"i":[{"a":22}]},4],"t":1,"v":[{"i":12,"r":15,"s":2}]}],"e":[{"a":[{"t":38},88],"e":88,"f":0,"g":[{"e":0,"i":0,"n":152}],"i":[{"n":[{"i":15,"s":22}],"s":38},88],"k":[{"a":0,"n":152,"s":[{"e":0}]}],"l":[{"e":[{"g":155}],"i":[{"g":38}],"l":38,"s":0,"t":155}],"m":[{"a":[{".":23}],"b":12,"i":[{"s":23}]}],"n":[{".":38,"a":435,"e":[{".":38}],"h":193,"s":38}],"o":[{"r":[{"i":38}]},88],"p":[{"p":38}],"r":[{".":38,"e":[{"k":152,"s":[{"t":11}]}],"i":[{"s":[{"k":31}],"ø":[{"r":[{"a":[{".":170}]}]}]}],"s":38},1],"s":[{".":152,"e":[{"l":0}]}],"t":[{"a":0,"e":0}],"u":85,"v":[{"a":9}]}],"g":35,"i":[{"a":[{"t":0},54],"d":0,"e":[{"m":38}],"g":0,"k":[{"a":[{"p":0}],"i":38,"l":[{"i":22},0]}],"l":[{"e":38,"o":24}],"m":[{"e":[{".":155,"s":152}]}],"n":[{"d":193,"e":[{"t":31}],"i":11}],"o":88,"p":88,"s":[{"a":0,"t":[{"i":195}]}]}],"l":15,"n":15,"o":[{"a":24,"b":88,"m":[{"f":15,"n":15,"s":12}],"p":259,"r":[{".":38,"e":597,"g":11}],"u":88,"v":69}],"r":[{"a":[{"n":4}],"e":[{"p":0,"r":38,"s":[{"i":15,"k":[{"j":[{"a":[{"r":[{"e":33}]}]}]}]}]}],"i":[{"n":193}],"o":[{"l":[{"l":[{"i":120}]}],"m":11}],"u":[{"l":11}],"ø":[{"y":103}]}],"s":[{"k":[{"j":15}],"l":[{"a":20}],"t":28}],"t":34,"u":[{"b":96,"e":39,"l":23,"n":217,"r":[{"o":169}],"t":259}],"v":[{"a":[{"l":[{"a":46}]}]}],"y":[{"e":31,"r":[{"s":18}]}],"å":[{"r":[{".":2}]}]},200],"u":[{".":162,"a":[{"n":12,"v":1}],"f":[{"t":[{"s":14},5]}],"g":[{"l":[{"a":31}]},173],"h":303,"i":[{"t":[{"e":46}]}],"k":22,"l":[{"t":143,"u":162,"y":168}],"m":[{"e":35}],"n":[{"g":[{"e":[{".":23}]}]},188],"o":28,"p":[{"l":12},168],"r":[{"e":1}],"s":[{"a":[{".":15}],"e":[{"n":15,"r":2}],"k":[{"l":53}],"l":61,"s":5,"t":[{"a":24},4]}],"t":[{"a":2,"e":[{".":12,"r":[{"i":22},36]}],"l":152},173],"u":[{"m":[{"e":4}]}]},172],"v":[{"a":[{"l":[{"a":31}],"n":[{"d":14}]}],"e":[{"r":[{"l":[{"e":186}]}],"s":176}],"i":[{"e":[{"t":23}],"k":[{"a":[{".":23}],"e":22}]},38],"u":90,"æ":[{"r":[{"a":32}]}]},200],"w":90,"y":[{"a":[{"r":[{".":15}],"s":[{"t":35}]}],"d":[{"e":[{".":1}]},173],"e":[{"f":162}],"g":[{"e":15},162],"h":[{"e":334}],"k":[{"e":12,"l":[{"e":34}],"o":162}],"l":[{"o":69}],"n":[{"d":[{"a":[{".":32}],"e":[{".":23}]}]},173],"o":162,"p":[{"a":6},162],"r":[{"a":[{".":4}],"e":[{".":1,"v":2}],"u":1}],"s":[{"e":15,"k":57,"t":[{"u":103},5]},69],"t":[{"e":12,"r":12}],"v":[{"a":[{".":6,"k":15}],"e":[{".":6}]},173],"ø":162},172],"z":153,"æ":[{"r":[{"a":[{".":6,"n":[{"d":39}],"s":[{"t":[{".":6}]}]}]}]},216],"ø":[{"d":[{"a":7,"d":[{"e":14},162],"s":[{"k":24,"t":[{"o":22}]}],"u":[{"n":35}]}],"e":173,"f":[{"l":69,"r":69},162],"g":[{"r":2}],"k":[{"o":162,"s":162}],"l":[{"e":[{".":1}]}],"m":[{"o":35,"u":15}],"p":34,"r":[{"a":2,"e":[{"d":4}],"y":69}],"s":[{"e":12,"k":69,"l":23}],"t":[{"e":2,"r":2,"t":[{"r":36},11]}],"v":[{"d":23,"e":[{"r":12}]}],"y":[{".":188,"a":[{"n":148}],"h":152,"s":[{".":90},162]},54]},172],"å":[{"a":[{"s":4}],"d":[{"e":[{"d":15}]},172],"e":[{"n":6,"t":4}],"j":6,"k":598,"l":[{"a":7,"e":[{"v":15}]},172],"m":[{"a":6}],"n":[{"d":[{"e":[{".":31}]}]}],"p":[{"n":[{"a":32}]},398],"r":154,"s":[{"a":15,"e":5},7]}]}],"o":[{"a":[{"c":15,"f":153,"k":[{"k":[{"a":[{"n":[{"a":31}]}],"u":23}]},1],"l":[{"l":153,"t":90}],"m":150,"n":[{"d":155},92],"p":154,"r":[{"d":[{"e":127,"i":[{"n":53}]}],"e":[{"g":158,"n":[{"h":26}]}],"é":4,"i":26,"m":22}],"t":[{"é":35}],"u":153,"v":398},173],"b":[{"a":[{"k":[{"k":[{"s":91}]}]},361],"b":[{"l":23,"o":1,"r":26,"u":85}],"e":[{"a":0,"r":[{"e":[{"t":17}],"s":[{"t":[{"a":14,"e":14}]},5]}],"s":90},1],"i":[{"e":19},361],"j":216,"l":[{"a":[{".":15}],"e":[{".":12,"n":12}],"i":[{"g":164},230],"o":1},150],"o":[{"a":39},398],"r":[{"a":[{"r":15}],"e":69,"i":69},173],"s":[{"e":[{"r":164}],"t":15}],"u":361,"y":[{"l":17},173],"ø":38,"å":90}],"c":[{"k":[{"e":[{"r":[{"s":22}]}]}],"y":38},162],"d":[{"a":[{"b":11,"f":23,"t":[{"t":2}]}],"d":[{"e":[{"i":22,"l":1,"s":[{"t":1}]}],"o":35}],"e":[{"b":88,"i":97,"k":[{"o":0,"u":38}],"p":88,"r":[{"l":[{"e":170}]}],"s":88,"t":[{".":38,"s":38}]},1],"i":[{"e":[{"n":5}],"g":[{"l":193}]}],"j":0,"k":[{"o":17}],"o":[{"m":[{"l":12}],"v":12}],"r":[{"e":230,"ø":193}],"s":[{"k":[{"a":23},12],"p":[{"o":34}],"t":[{"o":[{"l":9}]},32]}],"u":[{"s":61}],"y":[{".":0,"b":0}],"ø":[{"k":15,"s":38,"y":15}],"å":500},188],"e":[{"f":4,"i":[{"n":0}],"k":[{"s":31}],"l":7,"m":[{"u":1}],"n":[{"a":22,"e":152,"g":[{"d":17,"r":599,"s":18,"u":18}],"s":[{".":152},439],"t":22},7],"r":[{"e":[{"r":11},89],"m":[{"a":32}],"s":[{"k":90}]}],"s":[{"i":[{"p":4,"t":4}],"k":[{"a":32,"e":[{".":32}]}]},88],"t":[{"a":[{"n":0}],"h":28,"i":15}],"v":[{"n":[{"e":[{".":31}]}]}]},200],"f":[{"a":[{".":88,"g":[{"a":36}],"r":[{"a":0}],"s":[{"e":23}],"v":88},173],"e":[{"b":88,"i":0,"r":[{"a":0}],"s":[{"t":196}]}],"é":153,"f":[{"a":[{"n":[{"d":39}]}],"e":[{"k":1,"s":15}],"i":[{"a":4,"d":22}],"r":4,"u":7,"y":4}],"i":[{"p":0},173],"l":[{"e":15},153],"o":173,"r":[{"a":[{".":11,"s":35}],"e":69,"i":274}],"s":[{"a":6,"e":[{".":6}]}],"t":[{"e":[{"l":1}],"s":255},168],"y":173}],"g":[{"a":[{".":88,"n":[{"k":2}],"r":[{"e":0}],"v":374}],"e":[{".":88,"d":0,"i":69,"n":[{"a":[{".":61}]}],"t":90},162],"g":[{"e":[{"r":[{"a":1}]}],"j":26,"s":65,"u":21}],"i":[{"a":65,"e":[{"v":0},183],"f":88,"g":11,"k":[{"o":0}],"l":88,"m":88,"n":[{"g":90},88],"o":458,"s":[{"t":[{"a":11,"r":284}]}],"v":88}],"j":[{"e":[{"r":15}]}],"l":[{"a":2,"y":16}],"n":[{"e":[{"d":1,"l":4}],"i":600,"o":[{"s":149}]}],"o":[{".":88}],"r":[{"a":4,"e":[{".":1,"g":193,"i":193,"r":1,"t":[{"t":2}]}],"i":193,"y":[{"d":12}],"ø":169,"å":15}],"s":[{"a":[{"n":31},23],"e":67,"k":[{"j":23},69],"l":[{"e":23},15],"p":[{"a":22},182],"t":[{"e":15,"i":12,"j":26,"o":23,"r":[{"a":19,"e":15},23]}],"y":[{"v":601},15]},34],"t":[{"r":31}],"å":[{"t":600,"s":2}],"u":[{"n":69}],"ø":15},173],"h":[{"e":[{"t":[{"e":22}]}],"m":[{"a":39}],"o":[{".":0}],"ø":23},566],"i":[{"a":23,"d":[{"i":602,"r":153,"t":22}],"e":[{"n":23,"r":15,"s":4}],"k":15,"l":[{"a":1}],"m":153,"n":[{".":90,"g":153,"o":357,"s":[{"p":0}]}],"r":4,"s":[{".":88,"a":11,"e":88,"i":0},153]}],"j":[{"e":[{".":93}],"o":[{".":0}]},187],"k":[{"a":[{"f":[{"t":2}],"k":69,"n":[{"i":136}],"r":[{"k":15},7],"s":90},153],"e":[{"f":69,"l":[{"s":441,"v":15}],"n":149,"s":[{"k":0}],"v":11}],"j":153,"k":[{"a":[{"n":[{"d":1}]}],"e":[{"r":[{"a":4}],"s":223},162],"j":[{"e":12}],"o":[{".":12,"l":15}],"s":[{"m":64}],"u":[{"n":1}]}],"l":[{"a":[{".":6,"m":17}],"e":[{".":6}],"u":[{"t":2},153],"å":17},162],"n":[{"a":[{"s":[{"a":46}]}]},173],"o":[{".":93,"l":6,"m":[{"s":193,"t":12}],"p":[{"e":22,"p":15}],"r":[{"m":12}],"s":[{"e":39},23],"v":11},90],"r":[{"e":[{"o":15,"t":11}],"u":169},153],"s":[{"a":[{"l":23}],"e":[{"k":[{"r":17},1],"m":1,"n":2,"r":[{"i":[{"n":4}]}],"s":1,"t":[{"e":49}]},23],"i":[{"d":[{"a":16}]},9],"t":[{"i":31,"r":31},183],"v":[{"i":3}]}],"t":[{"a":[{"n":164,"v":603},15],"i":12,"o":[{"r":[{"i":271}]},15],"r":31}],"u":[{"k":9,"l":[{"e":[{".":32}]}],"t":[{"e":2},31]},153],"v":[{"a":[{"k":11},38],"i":90}],"ø":[{"y":15}],"å":90}],"l":[{".":167,"a":[{"d":[{"e":[{"d":31}]}],"g":[{"a":32}],"n":[{"l":15,"t":12}],"r":[{".":155,"b":[{"e":11}]}],"t":22},187],"b":[{"e":[{"r":103}],"o":[{"e":16,"g":[{"e":[{".":16}]}],"l":1}],"u":16}],"d":[{"a":[{"n":2}],"e":[{".":15,"m":1,"s":[{"t":1}],"t":15}],"o":[{"v":[{"e":604}]},12],"r":[{"e":[{"v":15}],"i":12}],"s":[{"k":[{"r":65}]}]},173],"e":[{"a":[{"k":[{"s":38}]}],"b":11,"d":88,"f":88,"i":[{"g":15,"n":22}],"k":[{"i":152},88],"l":[{"e":[{"g":[{"e":[{".":120}]}]}]},88],"m":[{".":38,"s":38},88],"n":[{"e":[{".":152,"s":155,"t":0}],"i":0,"o":0}],"r":[{"e":[{"d":11}],"u":0}],"s":[{"t":[{"a":22,"r":22}]},88],"t":[{".":155}],"v":88},173],"é":153,"f":[{"i":26,"j":1}],"g":[{"e":34,"l":182}],"i":[{"b":[{"a":0}],"e":[{"n":131,"r":[{"t":61}]}],"n":[{"e":22}]},173],"j":249,"k":[{"e":[{"s":[{"e":1,"k":1,"t":1},124]}],"l":107,"o":35,"u":4,"v":15}],"l":[{"a":[{".":15,"k":24,"m":1}],"e":[{".":2,"d":1,"l":1,"n":2,"s":1}],"i":[{"n":[{"j":4}]}],"o":[{"g":1,"m":1,"s":15,"v":[{"e":[{"r":22}]},1]}],"s":[{"t":5,"v":22}],"u":7,"ø":[{"p":1,"s":4,"y":4}],"å":7}],"m":[{"e":[{"s":[{"t":1},17]}],"å":1}],"n":35,"o":[{".":0,"a":[{"n":38}],"e":90,"f":0,"i":24,"k":[{"s":15}],"m":[{"s":12}],"p":12,"s":[{".":96,"e":251,"f":97}],"v":[{"e":22,"n":206}]},188],"p":[{"e":[{"d":1}]}],"s":[{"o":2,"t":32,"v":[{"a":15,"i":[{"k":22}]}]}],"t":[{"e":[{"d":12,"p":15}],"r":[{"a":21,"e":[{".":22,"r":22,"t":22}]},7]}],"u":[{"l":22,"n":[{"g":[{"e":[{".":46}]},193]}],"r":169},153],"v":[{"a":15,"o":69}],"y":[{"d":61},153],"ø":[{"r":15}],"å":153}],"m":[{".":173,"a":[{"l":[{"d":12}],"m":605,"n":[{"g":15,"i":[{"f":23}],"n":103,"t":17}],"r":[{"s":12,"ø":66}],"s":1,"v":69},173],"b":[{"e":[{"t":1}],"i":[{"s":1}],"l":12,"o":[{"d":166}],"u":172},31],"e":[{"k":[{"a":38},259],"n":[{"e":[{"s":152}]}],"r":[{"s":36}],"s":[{"e":11}],"t":[{"a":[{"k":23,"r":61}]},38],"u":69},173],"f":[{"a":[{"n":164}]}],"g":[{"r":[{"e":164}]}],"h":167,"i":[{"a":88,"b":88,"e":[{"k":0},65],"g":88,"k":[{"k":152}],"n":[{"e":152,"n":2,"s":568}],"o":0,"r":88,"s":[{"j":0,"t":0}],"u":88}],"j":69,"m":[{"a":[{"t":4}],"e":[{"d":1,"t":[{"r":1}]}],"ø":164},173],"o":[{"f":[{"o":0}],"p":69,"v":54},173],"p":[{"a":[{"t":18}]},28],"r":[{"e":173,"o":173,"u":173},172],"s":[{".":168,"a":[{"l":24}],"e":[{"k":1,"t":164}],"k":[{"o":[{"d":33}],"u":[{"l":[{"a":33}]}]}],"o":[{"m":1}],"u":[{"n":24}],"ø":23}],"t":[{"a":[{"l":164}],"e":[{"s":1}],"i":12,"v":12},28],"u":[{"s":90},259],"v":[{"æ":[{"r":[{"e":[{".":46}]}]}]}],"y":[{"r":[{"k":[{"e":[{".":46}]}]}]},168],"ø":[{"k":88,"r":23,"y":473}],"å":38}],"n":[{"a":[{"b":[{"o":12}],"c":0,"k":11,"n":[{"g":193}],"p":[{"p":12},0],"r":[{"b":11,"g":193,"v":193}],"s":[{"j":606}],"t":[{"r":17}],"v":593}],"b":15,"d":[{"a":[{"r":1}],"e":[{"r":[{"e":120}]}],"r":[{"e":24,"i":26}],"s":[{"i":5}]}],"e":[{".":0,"i":[{"e":15}],"l":[{"e":0,"l":152}],"m":88,"r":[{"u":0},90],"s":[{"i":120,"k":0,"t":607}],"t":[{"e":0}],"v":88}],"f":2,"g":[{"a":[{".":2}],"d":24,"e":[{".":15,"d":4,"s":103}],"i":15,"o":[{".":15}],"r":[{"o":[{"s":39},6]},28],"s":[{"j":5}],"u":7,"y":1,"ø":26}],"i":[{".":155,"d":407,"e":54,"l":[{"d":15},88],"m":[{"i":31},88],"n":[{"f":12,"n":96}],"o":458,"p":195,"s":[{"o":11}]}],"j":12,"k":[{"a":20,"e":[{"l":164}],"i":20,"l":[{"e":1}],"u":15},69],"l":[{"e":[{"g":36}]}],"n":[{"a":[{"d":15}],"i":12,"y":15}],"o":[{".":0,"r":[{".":38}],"v":[{"e":12},365]}],"s":[{"h":1,"i":[{"s":18,"v":5},54],"k":[{"e":61},177],"l":[{"a":[{"g":[{"a":120}]}]},54],"t":[{"i":[{"t":[{"u":[{"e":[{"r":[{"a":608,"e":608}]}]}]}]}],"r":[{"u":[{"m":17}]}]}],"u":[{"n":[{"d":22}]}],"v":[{"e":1},54],"å":54}],"t":[{"a":31,"e":[{"d":1,"n":15},12],"i":15,"o":[{"k":1,"r":15}],"r":28}],"u":[{"l":239,"r":15,"s":[{"k":23}]}],"ø":[{"y":[{".":4}]},198],"å":40},173],"o":[{"d":[{"s":54}],"f":[{"f":153}],"k":[{"a":10,"e":[{"s":22}]},129],"l":[{"a":61}],"m":[{"i":26,"o":4}],"p":[{"a":[{"n":39},46],"e":[{"n":22,"t":22},1],"i":11},150],"r":[{"d":[{"a":31}]},398],"s":[{"p":4},15],"v":398},173],"p":[{".":173,"a":[{"b":0,"k":88,"n":[{"d":49}],"r":[{"e":[{"n":152},196]}],"s":[{"j":0}],"u":0},173],"e":[{"a":90,"i":54,"l":[{"l":[{"ø":36}]}],"n":[{"a":0,"d":155,"e":[{"t":0}],"t":152},173],"r":[{".":434,"a":[{"r":31},164],"o":152,"t":38},88],"t":[{"a":0},173]}],"h":162,"i":[{"e":[{"k":0}],"n":[{"g":[{"s":33}]}],"r":0},153],"l":[{"a":[{"n":[{"d":169}]},153],"i":12,"u":35},173],"n":[{"a":[{".":1}],"e":1}],"o":361,"p":[{".":173,"a":[{"r":[{"t":26}],"s":1},162],"e":162,"g":172,"i":[{".":1,"a":4,"s":1}],"l":[{"i":24,"y":164}],"o":[{"e":4}],"r":[{"o":[{"p":22}]},4],"u":[{"n":[{"d":22}]}],"å":180}],"r":[{"e":4,"u":2,"å":2},188],"s":[{"a":[{".":4}],"i":471}],"t":[{"r":129}]}],"q":0,"r":[{".":162,"a":[{"d":[{"d":96,"r":12}],"g":88,"k":69,"l":[{"d":15,"g":169,"s":[{"t":5}],"t":[{".":4}]},173],"m":89,"n":[{"a":0,"e":90,"g":0,"s":0}],"p":4,"t":[{"t":12}],"u":[{"k":24},0],"v":182}],"b":[{"i":[{"t":14}],"y":2},162],"c":162,"d":[{"a":[{"t":[{"a":49}]}],"e":[{"a":12,"l":168,"p":[{"l":77}]}],"i":[{"k":2,"s":[{"e":26},5],"t":24}],"n":172,"r":[{"e":[{"g":[{"i":[{".":91}]}]}],"ø":40}],"s":[{"a":[{"m":[{"e":[{".":120}]}]}],"e":36,"t":24}],"y":[{"r":[{"a":49}]}]}],"e":[{"a":[{"r":[{"a":91,"e":91}]}],"b":[{"r":[{"a":38}]}],"d":[{"i":93}],"i":69,"l":[{"a":0,"d":11},69],"n":[{"a":[{".":31}],"e":[{"d":23,"t":23}],"k":12,"s":18}],"o":[{"g":316}],"r":[{"f":11,"o":0}],"s":[{"c":38,"t":[{"e":36}]},180],"t":[{"a":0,"n":609,"v":11}],"v":88},167],"f":[{"a":[{"r":[{"e":[{".":36}]}]}],"i":[{"n":[{"e":16}]}],"ø":[{"r":[{"e":[{".":49}]}]}]},173],"g":[{"a":[{".":162},610],"e":[{"r":15,"s":5},12],"i":[{"e":[{"n":[{"e":116}]}]}],"s":[{"k":23}]}],"h":[{"a":[{"g":49,"l":[{"e":49}]}]}],"i":[{"a":90,"b":42,"e":[{"n":[{"e":53,"t":166}],"t":152}],"g":88,"k":[{"a":61}],"m":11,"n":[{"d":12,"k":12,"n":12,"s":12}],"r":[{"o":91}],"s":[{"a":5},168],"t":[{"i":[{"m":[{"e":[{".":120}]}]},0]},168]},153],"k":[{"a":15,"e":[{"s":164}],"o":[{"s":[{"e":[{".":36}]}]},15],"s":452}],"l":[{"a":[{"t":[{"e":16}]}],"e":15},168],"m":[{"a":[{"l":[{"t":87}],"n":[{"g":22}],"p":4}],"e":[{"l":15}],"u":[{"n":85}],"æ":49}],"n":[{"a":[{"r":1}],"e":[{"d":[{"r":36},14],"t":15}],"o":[{"l":1}],"t":24}],"o":[{"a":90,"e":90,"f":[{"f":12}],"g":38,"i":22,"n":153,"p":69,"r":[{"d":[{"a":49}]},277],"s":[{"a":38}],"t":38,"v":[{"e":12,"n":15}]},162],"p":[{"e":[{"s":36}]}],"r":162,"s":[{"a":[{"l":[{"t":22}]}],"e":[{"n":15,"r":[{"k":1}],"t":[{"a":49,"e":[{".":16}]}]}],"i":12,"k":[{"a":[{"r":22}],"e":[{"i":611}],"l":148,"u":23}],"l":182,"m":[{"å":[{"l":[{"a":91}]}]}],"n":69,"o":[{"n":[{"a":49,"e":49}],"v":49},67],"p":[{"a":23}],"t":[{"e":[{"n":23}]}],"u":69,"v":[{"a":[{"r":[{"e":33}]}]}],"y":12,"ø":35},173],"t":[{"a":[{"k":85,"l":[{"a":[{".":46}]}],"n":[{"d":26}],"p":[{"e":49}],"v":26}],"e":[{"i":[{"g":80}],"k":1,"m":12,"r":[{"f":3,"m":109}]}],"i":[{"i":15,"l":2,"s":15}],"o":[{"d":164,"k":4,"n":[{"e":49}],"r":[{"i":22},5],"u":1}],"r":[{"e":[{"s":22}],"å":[{"d":22}]}],"å":[{"r":85},5]},173],"u":[{"d":[{"e":35},32],"h":23,"m":38,"t":[{"a":103,"f":1},53]},69],"v":[{"a":[{"r":[{"a":49}]}],"e":[{"g":15}],"s":24}],"y":[{"a":152,"n":69},162],"ø":[{"k":[{"t":46},84],"r":15,"v":[{"d":46},34],"y":69},173],"å":[{"s":15}]}],"s":[{"a":[{"b":195,"d":11,"f":88,"k":[{"u":0}],"u":274},153],"b":[{"i":16}],"e":[{"f":[{"i":14}],"g":88,"l":[{"e":[{"i":38}]}],"m":88,"n":[{"a":11},7],"s":[{"l":22,"m":22,"s":[{"k":5,"p":36,"t":5}]}],"u":0}],"f":[{"a":[{"t":[{"a":49}]}]}],"h":[{"i":[{"s":2},7]}],"i":[{"e":[{"n":[{"e":127}],"r":[{"e":22,"t":22}]}],"n":[{"g":259}]}],"k":[{"e":[{"i":[{"e":120},24]}],"i":[{"l":0}],"l":[{"a":[{"r":39}],"e":[{"n":22}]}],"o":[{"p":17},153],"r":[{"i":90}],"v":59}],"l":[{"e":12,"o":[{"d":612},176],"u":15,"ø":15},7],"m":[{"a":35,"e":15,"o":12}],"n":88,"o":[{"v":[{"e":2}]},90],"p":[{"a":[{".":4}],"e":[{".":4}],"i":[{"l":1}],"o":[{"r":1}]}],"s":[{"e":[{"k":1,"m":12,"n":[{"s":15}],"r":[{"i":[{"e":231}]}],"v":17}],"i":[{"s":[{"t":[{"e":14}]}]}],"k":[{"i":4,"j":24,"o":26}],"l":39,"p":[{"a":4}],"t":[{"r":[{"o":61}],"y":2}],"v":6}],"t":[{"a":[{"d":[{"r":22}],"l":[{"e":17},15]}],"e":[{".":93,"g":[{"g":22},1],"k":1,"l":31,"o":15}],"i":[{".":0,"a":93,"e":0,"n":0,"s":15}],"o":[{"n":[{"s":4}]},54],"r":[{"a":[{"d":4,"n":22}],"e":24,"o":90,"u":[{"p":22}],"å":61}],"ø":38}],"v":69,"ø":[{"y":15}],"å":[{"r":2}]},173],"t":[{"a":[{"d":38,"l":[{"a":53,"d":15,"e":[{"v":16}],"o":[{"v":23}]}],"n":[{"e":155}],"r":[{".":155,"g":12,"m":340}],"s":38},153],"e":[{"d":61,"i":[{"n":[{"t":22}]},4],"k":[{"i":17,"l":[{"a":[{"g":[{"a":242}]},127],"e":23}]}],"l":[{"e":[{"m":15,"v":22}],"l":[{"a":[{"n":36}],"e":[{"k":36}],"i":5,"ø":46}]}],"n":[{"a":0,"d":[{"e":[{".":46},169]}],"s":[{"p":271}]}],"o":88,"r":[{"a":[{"m":0}],"e":[{"t":0,"v":11}],"o":0,"s":17,"u":112,"å":0}],"s":[{"t":[{"e":[{"r":36}],"é":22}]}],"t":[{"a":17,"o":17,"s":469}]}],"f":[{"ø":5}],"i":[{"e":[{"r":[{"t":61}]}],"k":[{"a":203,"o":40},28]}],"j":[{"a":11,"e":[{"r":15}]},153],"n":[{"e":[{"r":[{"o":4}]}],"o":[{"t":[{"e":[{".":16}]}]}],"å":4}],"o":[{".":88,"a":[{".":38},196],"b":88,"e":[{"n":[{".":31}]}],"f":[{"f":12},11],"g":[{"a":11,"r":[{"a":[{"m":11}]}]}],"i":0,"l":88,"n":[{"e":22}],"r":[{"a":[{"l":23}],"d":17}],"t":88,"u":88},153],"r":[{"e":[{"d":2,"r":15,"v":15}],"i":96,"o":[{"m":97}],"ø":97},153],"s":[{"e":[{"l":22}],"h":[{"u":[{"s":[{"v":[{"æ":613}]}]}]},4],"k":[{"i":85}],"o":[{"p":[{"p":123},31]}],"p":[{"r":22}],"t":[{"a":[{"b":22}],"e":2}],"å":31}],"t":[{"a":[{"n":[{"k":4}],"s":15}],"e":[{"g":[{"n":15}],"n":[{"k":4}],"s":[{"e":15}]}],"i":[{"n":15}],"o":[{"a":15}],"s":[{"k":41,"p":[{"o":17}],"t":[{"i":5}]}],"u":[{"g":2}],"y":[{"p":1}]}],"u":[{"t":97},153],"y":[{"e":32,"t":69},153],"ø":153,"å":2},173],"u":[{"b":32,"l":[{"l":22}],"n":[{"g":[{"e":[{".":31}]}]}],"r":[{"i":2,"o":15},1],"s":[{"a":35}],"t":[{"a":32}],"v":[{"e":5}]}],"v":[{"a":[{"e":38,"k":153,"n":[{"f":[{"ø":242}],"o":49,"v":12}],"r":[{".":152,"b":11,"e":39,"t":15,"v":2}]}],"e":[{"d":18,"i":153,"l":[{"a":23},153],"n":[{"d":[{"e":38},0],"y":[{"a":31}]},162],"r":[{"a":[{".":61,"s":39},18],"d":[{"r":11}],"e":[{"s":86},120],"f":249,"g":164,"k":[{"s":38}],"r":166,"s":[{"i":[{"k":166}],"p":103}],"v":49},28],"t":153}],"h":168,"i":[{"s":[{"o":203}]},188],"j":173,"n":[{"a":168,"e":[{"s":1}],"i":173}],"o":[{".":38,"m":152,"r":69,"t":38,"v":8},162],"s":[{"a":[{"l":15}],"e":[{"k":1,"n":1}],"k":[{"e":35}],"l":[{"e":1}],"p":54,"t":[{"e":22,"i":1}],"u":[{"n":2}],"y":[{"k":17}]}],"t":[{"a":[{"l":[{"e":[{".":36}]}]}]}],"v":[{"e":[{"g":[{"i":58}]}]}]}],"w":[{"a":[{"s":152,"t":183},32],"h":15},69],"x":12,"y":[{"a":[{"r":35}],"s":[{"l":22}],"t":150}],"z":[{"a":153,"y":90}],"ø":153,"å":153}],"ô":[{"r":[{"a":11,"e":[{"i":15},88],"i":153}],"t":0}],"ó":[{"s":[{"a":155}],"t":152,"v":93}],"ò":[{"r":[{"e":155}]}],"p":[{"a":[{"a":162,"c":[{"e":[{"n":6}]},173],"d":[{".":38,"e":[{"b":12}],"g":0,"s":5}],"j":173,"k":[{".":168,"a":168,"e":162,"k":[{"a":[{"s":23}],"e":[{"s":[{"l":16},103]}]}],"t":[{"i":162}],"v":12}],"l":[{"a":567,"e":[{"o":614},12],"i":[{"m":2,"n":22}],"j":54,"l":[{"ø":22}],"m":166,"ø":162}],"m":[{"e":15},173],"n":[{"a":[{"l":90,"p":1}],"d":[{"e":39}],"e":15,"g":[{"s":80}],"k":[{"a":24}],"n":[{"e":[{".":301}]}],"s":[{"e":22,"l":22}],"t":[{"r":46}],"v":162,"y":1}],"p":[{"a":[{".":6},173],"e":12,"o":162,"p":[{"r":23}],"r":[{"i":24},162]}],"r":[{"a":[{".":1,"d":166}],"b":173,"e":[{"k":162,"n":[{"a":162}],"s":[{"s":22}]}],"g":22,"i":[{".":1,"s":12},173],"k":[{"i":162,"l":127,"v":23}],"m":146,"o":69,"r":[{"a":[{".":32}]},162],"s":615,"t":[{"i":[{"d":31,"g":23,"n":23}]}],"u":22,"v":[{"i":120},61],"ø":168,"å":162}],"s":[{"a":17,"e":[{"r":116},35],"p":162,"s":[{"a":[{"b":22}]},164],"t":[{"a":[{"r":23}],"i":22},85],"v":39},11],"t":[{"e":12,"i":[{"s":[{"t":1}]}],"r":[{"e":4}],"t":[{"a":[{"k":31},93]}],"u":173,"v":451},69],"u":[{"k":61}],"v":[{"e":[{".":1}],"i":567},173]},172],"b":[{"a":[{"n":[{"e":[{".":23}]}]}],"o":[{"d":[{"a":31}]}]},566],"c":[{"e":31}],"d":[{"e":[{"l":[{"e":[{".":23}]}]}],"ø":[{"d":39},28]},272],"e":[{"a":[{"k":18,"r":[{"e":85}]},173],"b":162,"c":24,"d":[{"a":[{"s":166},40],"d":162,"e":12,"f":[{"ø":33}],"i":[{"e":260}],"o":[{"a":4,"n":4}],"r":[{"o":1},162],"u":162,"y":526,"ø":173,"å":2}],"e":[{"r":12},31],"f":[{"t":38},173],"g":[{"g":[{"e":[{".":32}]},38],"o":5},173],"h":173,"i":[{"l":[{"e":[{"g":23}]},1],"n":189,"s":[{"m":4}]}],"j":173,"k":[{"a":[{".":6}],"l":23,"t":[{"r":[{"o":[{"s":16},23]}]}],"u":167},173],"l":[{"a":[{"k":[{"s":9}],"l":166,"r":15},162],"d":39,"e":[{"d":162,"f":1,"i":162,"p":4,"r":162,"v":4}],"i":[{"v":168}],"j":168,"l":[{"o":23}],"o":[{"v":162}],"s":[{"e":19,"i":42,"t":61}],"u":[{"n":15},162],"y":173,"ø":173,"å":168},11],"m":[{"b":153},173],"n":[{"a":[{"n":1,"r":85}],"d":[{"e":[{"n":[{".":274}]},24]}],"e":[{"r":162,"t":12}],"g":[{"e":[{"l":23}],"l":61},616],"i":[{"n":5,"v":162}],"l":[{"y":103}],"s":[{"a":[{"k":58,"l":[{"a":91}]},62],"k":22,"l":53,"m":75,"o":19,"t":[{"a":39,"e":61},5]}],"t":[{"a":[{"g":61}],"r":22}],"y":168,"å":173}],"o":[{"s":40},173],"p":[{"a":[{"r":[{".":22}]}],"p":61},173],"r":[{"a":[{"a":18,"b":303,"d":162,"i":1,"l":1,"p":162,"t":[{"e":162},17]}],"c":334,"e":[{"d":162,"i":162,"k":162,"s":[{"p":162,"t":162,"u":162}],"t":162,"v":1}],"i":[{"e":[{"n":[{"s":91}]}],"k":236,"s":124,"t":162},164],"k":62,"l":[{"e":[{"s":31}]}],"m":[{"u":22}],"n":22,"o":[{"s":[{"e":[{".":36}]},12]},162],"r":[{"e":[{"g":[{"j":31}],"i":31}],"o":166}],"s":[{"m":36}],"t":[{"r":[{"o":23,"å":53}]}],"v":[{"i":[{"k":120}]}],"y":173,"ø":168,"å":268}],"s":[{".":164,"e":[{".":4},12],"i":2,"k":[{"a":[{".":32}],"e":[{".":23},90]}],"l":168,"n":23,"s":166,"t":[{".":164,"e":[{".":166}],"i":[{"l":22}]}]},189],"t":[{"a":[{"b":162,"k":[{"a":36}],"l":162,"s":162,"u":162}],"e":[{".":166,"d":162,"i":168,"k":168,"l":162,"m":162},12],"i":[{"d":162,"l":162,"m":1},12],"j":173,"o":173,"r":[{"u":26},307],"s":617,"t":162,"u":173,"ø":162,"å":162},94],"u":7,"v":[{"a":[{"n":[{"e":[{".":46}]}]}],"i":15,"n":[{"e":[{".":31}]},38]},173],"ø":162,"å":162},172],"é":[{"r":164}],"f":[{"e":[{"n":[{"n":249}]}],"o":90,"r":[{"i":5},38],"ø":[{"r":[{"e":22}]}]},188],"g":[{"j":[{"e":[{"r":103}]}]},174],"h":[{"a":[{"v":[{"a":39,"s":14},183]}],"e":[{"r":178,"t":[{"e":39}],"v":[{"a":61,"e":22}]}],"i":[{"l":[{"i":22}]}]},188],"i":[{"a":[{"n":[{"e":618}],"r":191,"s":[{"e":191},1],"v":162}],"b":162,"c":[{"a":[{".":4}]}],"d":[{"s":82},173],"e":[{"n":[{"d":168},28],"r":[{".":12,"s":35}]}],"f":[{"r":35},173],"g":[{"g":[{"e":22,"u":481}],"j":252}],"h":173,"i":168,"k":[{"e":[{"h":1,"l":4,"r":[{"o":80}]}],"é":1,"k":[{"o":24},167],"l":162,"u":17}],"l":[{"a":[{".":4},15],"e":[{"p":12}],"l":[{"a":[{"g":23}],"b":[{"a":123}],"e":[{"d":31,"g":[{"a":409},23],"r":[{"a":120}],"s":619}]}],"o":69}],"m":173,"n":[{"a":[{".":1}],"e":[{".":1,"d":35,"l":1,"v":5}],"g":[{"o":31,"r":18,"s":[{"k":17}]},164],"n":[{"s":168}],"s":[{"l":23}],"ø":7}],"o":[{"n":[{"a":[{"n":47}],"s":17}]}],"p":[{"i":1,"l":[{"a":39}]},620],"r":[{"a":[{"r":1}],"e":[{"s":1}],"u":[{"t":1}]}],"s":[{"i":[{"e":49}],"k":[{"i":1}],"o":173,"s":[{"l":5,"p":23,"t":23}],"t":[{"r":[{"a":[{".":143}]},53]},54]}],"t":[{"a":[{"l":[{"a":[{".":16}]}]},35],"é":15,"i":173,"j":162,"r":162,"t":22},172],"u":173,"v":286,"ø":162}],"p":[{"i":[{"p":93,"d":69,"l":259,"m":15,"n":[{"f":12,"n":169}],"r":[{"r":[{"e":[{".":46}]}]},2],"s":[{"t":0}]},153],"a":[{"d":88,"k":[{"t":12},88],"l":368,"n":[{"e":155,"g":[{"r":15}],"k":15,"l":193}],"p":88,"r":[{".":155,"r":15}],"s":[{"t":152}],"t":377}],"e":[{"e":0,"i":626,"l":[{"s":80}],"n":[{"a":0,"d":[{"e":[{"r":340}],"r":0}],"e":[{"s":39}],"ø":0}],"p":112,"r":[{"a":22,"e":[{".":152}],"k":[{"l":0}]}],"s":[{"e":[{"n":40}],"n":35,"t":[{"i":46}]}],"t":[{"a":[{"s":9},0],"e":0,"t":15}],"u":88}],"h":32,"j":69,"k":12,"l":[{"a":[{"s":[{"t":15}]}],"e":[{"d":12,"i":15,"v":35}]},69],"n":15,"o":[{"f":69,"l":[{"d":12},399],"m":15,"p":259,"r":[{"k":12}],"v":69}],"p":15,"r":[{"e":[{"i":15}],"i":[{"n":15,"s":[{"s":2},1],"v":35}],"o":[{".":35,"p":[{"r":[{"i":409}]}],"t":2}]},69],"s":[{"e":[{"t":[{"e":[{".":36}]}]}],"k":[{"a":[{"k":33},12]}],"p":[{"e":35,"l":12},28],"t":[{"o":2},28]},69],"t":530,"u":[{"k":69,"t":15},88],"ø":[{"s":46},34],"å":11},173],"k":[{"a":[{"v":[{"a":32},22]}]},440],"l":[{".":167,"a":[{"d":[{"e":[{".":32}]},173],"k":0,"n":[{".":0,"d":[{"e":16}],"e":[{".":162}],"g":621,"s":17}],"p":18,"r":187,"s":[{"t":23},88],"t":[{"i":[{"n":[{"a":373}]}]},88]}],"e":[{".":173,"d":173,"g":[{"i":93}],"i":[{"s":162}],"k":88,"n":[{"u":622,"a":42}],"r":[{"u":47}],"s":[{"e":[{".":32}]}],"v":162}],"i":[{"t":162,"v":[{"a":61},90]},88],"o":[{"g":[{"j":23}],"i":453,"k":153,"v":248}],"u":[{"e":23,"k":0,"n":[{"d":[{"r":[{"i":202}]}]},18]}],"y":[{"d":112},153],"æ":[{"r":[{"e":22}]}],"ø":[{"p":[{"a":31}]}],"å":153},4],"m":361,"n":[{"e":[{"r":152,"s":[{"e":[{".":31}]}]}]},272],"o":[{"a":35,"d":[{"a":[{".":4}],"e":[{".":1}]},32],"e":[{"m":4}],"f":[{"r":21},173],"g":31,"h":162,"i":[{"d":15}],"k":[{"e":173}],"l":[{"a":[{"n":4}],"e":[{"k":1},12],"j":168,"l":[{"i":22}],"o":[{"m":4}],"s":[{"k":[{"a":623}]}],"u":7}],"m":[{"p":[{"u":481}],"s":22},173],"n":[{".":162,"d":22,"g":[{"r":23,"s":120}],"s":[{"a":22,"v":23},624]}],"p":[{"a":129,"e":[{".":4}],"n":38,"s":54}],"r":[{".":173,"a":69,"d":267,"e":[{"f":1,"g":4},182],"é":6,"g":188,"i":173,"k":173,"s":[{"v":127}],"t":[{"o":[{"r":23}],"r":[{"o":53,"å":23}]}],"v":173,"æ":69,"ø":69}],"s":[{"e":[{".":1,"s":1}],"j":162,"t":[{"a":[{"s":22,"t":15},1],"e":24},7],"v":280}],"t":[{".":166,"a":[{"k":33},191],"e":[{".":1,"k":[{"l":14}]},12],"h":[{"a":20}],"i":164,"r":162}],"u":162,"v":[{"e":[{"r":[{"n":120}]},36]},625],"w":23},172],"r":[{".":162,"a":[{"d":162,"k":[{"s":164}],"l":[{"i":61}],"n":[{"s":18},173],"t":[{".":166,"e":[{".":22},166]}],"y":162}],"e":[{"f":166,"i":[{"e":[{"r":[{".":16}]}],"i":162}],"l":[{"e":[{"m":15}]}],"m":172,"n":[{"s":5}],"s":[{".":168,"s":[{"a":[{"k":36}]}],"t":[{"a":[{"s":11}]}]},172],"t":[{"e":[{"n":627}],"t":162}]}],"i":[{"f":90,"k":[{"e":22}],"l":[{"e":41}],"n":[{"g":162,"o":166,"s":[{"e":629,"i":629},628]}],"s":[{"k":47,"t":18},172],"t":173,"v":[{"e":39}]}],"o":[{".":167,"c":306,"f":164,"g":[{".":162,"e":162,"l":162}],"i":181,"p":[{".":38}],"s":[{"e":191},164]},184],"u":[{"n":[{"g":[{"e":16}]}],"t":[{"a":22,"e":22}]},168],"ø":[{"r":[{"s":[{"t":14}]},168],"s":42,"v":[{"e":[{"l":[{"s":22}]}]},166],"y":173}],"å":[{"d":[{"a":32}],"k":[{"i":18,"o":23,"k":80}]},162]},4],"s":[{"a":[{".":153,"n":20}],"c":153,"e":[{".":90,"i":[{"g":[{"e":46}]}],"k":88,"l":[{"y":9},259],"n":[{".":90,"s":38}],"r":[{".":152}],"t":[{"e":38,"s":38}]}],"h":88,"i":[{"b":11,"n":[{"s":15}],"s":152}],"j":[{"o":89}],"k":[{"i":[{"l":193}],"j":[{"e":[{"n":2}]}],"o":[{".":252,"d":90,"e":229},259]}],"l":[{"e":88,"o":[{".":192}],"ø":[{"v":[{"a":46,"e":[{".":36}]}]}],"å":89}],"m":[{"å":[{"l":[{"a":[{".":46}]}]}]},88],"n":[{"o":1},88],"o":[{"d":90},69],"p":[{"i":[{"l":[{"a":49}]}],"l":[{"e":15}],"r":[{"e":89,"o":169}],"u":15}],"s":67,"t":[{"a":[{"l":2}],"e":[{"m":169}],"v":12,"å":149},28],"u":[{"r":23,"s":89}],"v":[{"a":88,"e":88,"i":[{"n":[{"g":1}]}],"æ":0},69],"w":15,"y":[{"k":[{"e":24,"o":164}],"s":162}],"ø":[{"k":[{"e":[{".":23}]},151],"y":[{"e":[{"n":[{"e":49}]}]},46]},259],"å":69},173],"t":[{"a":[{"l":[{"a":[{".":32}],"e":[{".":23}]}],"r":[{"k":2}]}],"e":[{"k":31,"m":[{"a":[{".":23}]}],"r":[{"e":61}]},90],"i":38,"o":[{"g":61,"u":0}],"u":[{"s":[{"t":17}],"t":0}]},188],"u":[{"b":[{"r":1}],"c":166,"d":[{"y":356}],"g":[{"l":38}],"k":7,"l":[{"a":2,"e":[{".":6}],"l":36}],"m":[{"a":[{".":1}]},166],"n":[{"k":[{"t":[{"e":80},271]}],"n":173}],"r":[{"e":[{".":1,"a":6}],"i":164,"k":164,"u":22,"v":24},173],"s":[{"a":2,"h":23,"l":[{"u":16}]}],"t":[{"a":[{".":1,"s":15},69],"e":[{"r":15,"v":15}],"g":162,"s":173,"t":[{"r":31,"u":23}],"v":173,"ø":168}]},172],"v":[{"e":[{"r":16}],"i":[{"s":[{"e":[{".":23}]}]}]},188],"y":[{"d":[{"r":1}],"o":6,"r":[{"a":164,"e":69,"o":69}],"s":[{"a":[{".":4}],"e":[{".":1}],"t":31},168]}],"z":248,"æ":[{"r":[{"e":[{".":1}]}]},172],"ø":[{"k":[{"j":69}],"r":[{"r":[{"e":[{"t":23}]}]}],"s":[{"a":[{".":6}]}],"t":[{"a":35,"e":35}],"v":630}],"å":[{"b":[{"y":[{".":1}]},166],"k":8,"l":[{"a":[{".":1}],"e":[{".":1}]},172],"n":38,"p":[{"e":12,"l":69,"n":153}],"r":69,"s":[{"k":[{"o":2}],"m":15},172],"t":[{"å":631},67],"v":172}]}],"q":[{"a":15,"u":[{"a":[{"r":[{".":35}]}],"e":[{"r":61},172]},7]}],"r":[{"a":[{"a":[{"m":162,"r":162}],"b":[{"i":[{"s":162}],"o":71,"r":162,"y":173}],"c":[{"e":[{"t":12}],"h":12,"i":166}],"d":[{"a":67,"f":162,"i":[{"o":632,"r":162}],"j":162,"m":173,"r":[{"e":90},189],"s":255,"v":[{"i":103}]}],"e":[{"d":[{"e":15}],"l":5,"r":[{"k":162}]}],"f":[{"f":[{"e":[{"r":23}]}],"i":[{"u":1}],"j":7,"o":[{".":15,"s":1},173],"r":[{"e":15},173],"t":168,"u":1,"y":4}],"g":[{"e":[{"a":2,"e":15}],"l":173}],"h":406,"i":[{"d":191,"n":[{"t":15}],"s":[{"k":12}]}],"k":[{"a":[{"d":274,"r":35}],"e":[{"l":2}],"h":[{"a":20}],"k":[{"e":[{"l":23}]},88],"r":[{"o":15},11],"s":[{"a":31,"e":[{".":31},65],"t":120},173],"t":[{"i":162,"r":18}],"u":169,"v":162}],"l":[{"a":[{"n":[{"s":22}]}],"b":[{"u":[{"m":168}]}],"d":[{"s":166}],"e":[{"d":162,"o":15}],"g":[{"e":248,"o":248},24],"i":[{"e":[{"n":80}],"n":1}],"j":54,"l":[{"e":22}],"m":61,"o":[{"i":36,"p":24}],"y":15,"ø":162,"å":633}],"m":[{"a":[{"g":1,"s":1}],"b":[{"i":634,"u":[{"e":[{"n":[{"s":33}]}]}]},24],"e":[{"d":168,"r":303,"t":[{".":32}]}],"i":[{"l":162}],"o":54,"p":[{"e":[{"r":[{"i":159}]}],"u":144}],"s":[{"e":[{"t":[{"e":[{".":91}]}]}]}],"t":[{"a":[{"l":[{"a":[{".":91}],"e":[{".":120}]}]}]}],"u":162,"y":168}],"n":[{".":0,"a":[{"a":1,"l":434,"r":15}],"c":[{"s":39}],"d":[{"e":[{".":635,"l":38}],"r":18,"s":[{"a":80}]}],"e":0,"f":[{"a":162}],"g":[{"e":22,"i":168,"s":[{"t":17}]}],"i":[{"a":91,"n":4}],"k":[{"v":24}],"l":[{"i":11},267],"m":188,"n":[{"e":[{"t":[{"t":47}]}],"i":[{"n":53}],"s":124},0],"s":[{"k":[{"a":[{"r":16}]}],"v":162}],"t":[{"i":[{"k":23}]}],"u":[{"t":31},15],"ø":162}],"o":173,"p":[{"a":162,"e":[{"l":1}],"i":[{"n":162,"r":1,"s":1,"t":4}],"l":69,"o":[{"s":1},162],"p":[{"a":162,"l":248,"o":164}],"r":189,"s":162,"u":162}],"r":[{".":253,"b":[{"e":[{"h":191}]},173],"e":[{"a":162,"g":162,"l":19,"p":265,"t":[{"a":61}]}],"g":[{"u":168},153],"i":[{"n":[{"n":[{"a":167,"e":168}]}]}],"k":[{"a":[{".":32}]}],"m":[{"a":[{".":32}]},187],"n":168,"r":[{"e":24},162],"s":22,"t":[{"a":[{".":31}]},636],"ø":12}],"s":[{"a":162,"c":173,"e":[{"a":12,"l":162}],"h":24,"k":[{"a":[{"r":[{"a":91}]}],"e":24,"i":1,"o":40}],"l":4,"s":[{"l":5,"t":61}],"t":[{"i":[{"l":9},162],"j":162,"r":[{"e":17}],"y":168}],"v":61}],"t":[{"a":[{"k":33},69],"e":[{".":1,"g":269,"l":[{"i":637}]},11],"f":[{"e":162}],"o":69,"r":[{"o":26,"ø":[{"y":20},1]},182],"t":[{"e":[{"l":22,"s":103}]}],"u":[{"b":162,"t":22}],"y":168}],"u":[{"d":[{"s":18},191],"g":[{"a":31,"e":[{".":31}]},168],"k":280,"s":[{"s":36}]}],"v":[{"d":168,"e":[{"s":78}],"g":162,"i":[{"s":89},69],"l":[{"u":[{"t":148}],"ø":[{"p":[{"a":91}],"s":91}]},162],"r":31,"t":162,"y":15,"ø":[{"r":12}]},173],"w":162,"z":[{"z":19}],"ø":[{"y":5},173]}],"b":[{"a":[{"d":24}],"e":[{"d":[{"e":[{"n":17,"t":17},103],"r":[{"a":49}]},28]}],"i":[{"e":[{"r":39},46],"g":88,"k":88,"s":[{"t":[{"r":17},120]}]}],"o":[{"d":[{"i":[{".":32}]}],"n":[{"i":23,"s":16}],"r":[{"e":22}]}],"r":[{"a":[{"s":17}],"e":[{"i":120}]}],"u":[{"e":[{"n":22}]}],"ø":38},638],"c":153,"d":[{"a":[{"b":0,"g":[{"s":271},38],"h":38,"k":169,"l":[{"a":0,"e":[{".":23}],"s":14},5],"m":[{"e":[{"s":23}]}],"n":[{"o":148,"t":[{"a":15},0]}],"r":[{"m":193,"t":193}],"t":[{"l":15,"m":0}],"u":193}],"d":67,"e":[{"d":[{"i":11}],"e":[{"n":23}],"f":[{"i":90}],"g":[{"e":9}],"i":69,"k":[{"a":155,"l":0,"s":0}],"l":[{"o":11}],"m":[{"i":11}],"n":[{"a":152,"g":96,"h":96,"s":[{"e":190},43],"t":[{"a":[{"l":[{"e":[{".":242}]}]}]}]}],"o":0,"p":[{"o":11}],"r":[{"i":[{"k":0}],"s":[{"t":169}]}],"s":[{"m":31}],"t":[{"a":34,"t":96}]}],"é":93,"f":[{"e":[{"s":14}]}],"i":[{"a":[{"n":[{"a":0,"s":0},24],"u":11}],"d":0,"e":82,"f":88,"g":[{"r":[{"e":[{"s":31}]}],"s":124}],"k":[{"a":0,"l":0,"u":0}],"l":88,"m":[{"i":11}],"o":[{"v":24},88],"s":[{"h":0}],"t":88,"u":88}],"j":[{"e":15,"u":153}],"m":206,"n":[{"æ":5},12],"o":[{"b":155,"d":198,"l":0,"n":[{"n":[{"a":[{".":46}]}]}],"p":69,"r":11,"s":[{"t":12}],"v":[{"e":[{"r":139}]},182]}],"r":[{"a":[{"d":155,"k":90,"n":15,"r":[{"a":2}],"s":12}],"e":[{"i":90,"t":12,"v":[{".":38}]}],"i":69,"o":[{"t":12}]}],"s":[{"e":[{"i":12}],"k":[{"e":6,"v":23}],"t":[{"a":[{"n":22}],"o":[{"g":14},12],"r":[{"e":61}],"u":61}],"v":[{"a":[{"r":33}]}]}],"t":[{"a":[{"k":[{"a":46}]}],"r":15,"ø":2},15],"u":[{"n":[{"d":12}]}],"v":[{"e":15,"i":[{"k":[{"a":[{".":46}]}]}]}],"y":[{"g":0,"p":[{"e":22}],"r":[{"e":24}],"t":96}],"æ":[{"r":[{"e":639},252]},97],"ø":[{"s":213,"v":[{"e":[{".":23}]}]}],"å":[{"r":12,"s":40}]},162],"e":[{".":172,"a":[{"n":173,"r":[{"a":[{"n":640}],"e":17}],"v":162}],"b":173,"d":[{"a":[{"k":164,"m":168}],"e":[{"f":12,"n":15,"s":12}],"i":[{"g":164},12],"l":153,"o":173,"r":[{"i":26},173],"s":[{"k":[{"u":22}],"l":[{"a":17,"e":[{"d":77}]},23]}],"u":[{"k":164}],"y":168,"ø":173}],"e":[{"l":[{".":1}],"r":12},173],"f":[{"a":167,"f":162,"i":162,"j":173,"o":[{"s":168}],"r":168,"t":162,"ø":173}],"g":[{"a":[{"r":162,"t":[{"a":16}]}],"e":[{"b":162,"l":15,"n":162,"r":162},12],"g":162,"i":[{"a":1,"l":1},172],"l":54,"r":173,"u":[{"b":162,"d":162}],"å":173}],"h":173,"i":[{"d":173,"e":173,"g":[{"a":[{".":32}],"e":[{".":32}]},188],"k":162,"l":39,"n":[{"a":[{".":22,"s":61}],"d":[{"e":15}],"e":[{".":22,"s":61}],"s":[{"k":[{"j":36}]}],"v":[{"a":1}]}],"r":[{"a":39}],"s":[{"a":22,"i":24,"k":[{"a":61}],"l":[{"e":[{"d":36}]}],"m":2}],"v":[{"a":134,"e":22}]}],"j":173,"k":[{".":168,"a":[{".":15,"v":15}],"e":[{"n":2}],"j":162,"k":[{"a":[{"n":36}],"v":53}],"l":[{"a":[{"m":166}],"e":[{"d":23}],"i":[{"r":20}]}],"o":[{"b":162,"m":162,"n":162,"s":168},2],"r":[{"a":162,"u":164}],"s":[{"a":90,"p":168}],"t":[{"e":[{"r":23}]}],"u":162}],"l":[{".":93,"a":[{"g":162,"n":[{"d":[{"s":[{"k":[{".":301,"e":301}]}]}]}]},35],"e":[{"g":[{"e":[{".":46}]}],"i":169,"k":168,"n":[{"e":191},2]},641],"g":168,"i":[{"t":90}],"j":265,"l":[{"a":[{"g":23,"n":[{"d":31}]}],"e":[{"d":22,"v":23}]},88],"m":337,"s":[{"e":[{"s":22}],"k":23}],"u":281,"v":162,"y":286,"æ":173,"ø":173,"å":[{"r":16},642]}],"m":[{"a":[{"n":[{"n":123}]}],"b":153,"i":[{"e":[{"n":[{"e":36}]}],"l":36,"s":2}],"j":[{"i":39}],"m":[{"e":[{"d":139}]}],"n":[{"a":32},168],"p":42,"s":54,"t":[{"i":[{"d":[{"a":33}]}]}],"u":162,"y":167,"å":162},173],"n":[{"a":285,"d":[{"e":[{"l":23}],"r":162}],"e":[{"d":167,"g":15,"i":2,"k":162,"l":89,"s":[{"t":162}],"t":168}],"g":[{"d":168,"l":17,"n":162,"s":[{"t":17}]}],"i":15,"k":[{"l":31},173],"l":90,"n":[{"e":[{"s":[{"l":[{"a":186},48]}]}]}],"o":15,"s":[{"a":22,"s":90}],"t":[{"i":[{"t":306}],"r":643,"u":168}],"u":162,"z":166,"æ":168,"ø":162}],"o":[{"g":15,"p":173,"r":67,"u":166}],"p":[{"e":[{"n":167}],"i":324,"u":[{"s":168},172]}],"r":[{"a":[{"d":168,"n":[{"g":644}],"t":279}],"e":[{".":15,"d":162,"f":162,"g":162,"i":162,"k":1,"n":[{"t":162}],"p":162,"s":[{"e":162,"u":162}],"t":162}],"f":[{"a":168}],"i":[{"g":162,"k":162}],"n":[{"æ":181}],"o":[{"l":162,"m":162,"s":[{"e":[{".":36}]},12],"t":15}],"s":[{"p":5},164],"u":[{"t":[{"e":162}]}],"ø":[{"y":21}],"å":173},172],"s":[{".":172,"a":173,"c":107,"e":[{"l":162,"m":1,"t":162},12],"i":[{"e":[{"r":[{"e":16}]}],"n":162}],"j":173,"k":[{"e":22,"j":[{"e":[{".":21}]}],"l":31,"o":[{"d":61}],"y":4},173],"l":[{"u":1},645],"m":[{"o":15},172],"o":[{"v":12}],"p":[{"e":35,"i":162,"r":162}],"s":[{"a":[{"l":23}],"e":[{"k":23}],"i":[{"t":23}],"j":23,"k":31,"o":[{"r":[{"t":31}]}],"p":23,"t":23,"y":23},173],"t":[{"a":[{"n":[{"e":39}],"u":166}],"e":[{"r":[{"v":47}],"s":23}],"é":24,"i":[{"l":23},265],"r":[{"e":162},12],"v":191,"y":236,"å":162}],"u":[{"k":168,"n":162},172],"v":[{"e":34,"i":12}],"y":173,"ø":173}],"t":[{"a":[{"k":[{"i":162}],"l":162,"p":1}],"e":[{"a":162,"k":[{".":167,"e":168,"n":162}],"l":168,"m":269,"n":15}],"i":236,"j":162,"o":[{"a":162}],"r":646,"s":[{"i":5,"t":23}],"t":[{"e":[{"d":61,"r":22}],"o":46,"s":[{"e":[{"t":36}]}]}],"u":236,"y":173,"ø":[{"y":[{"a":[{".":166}],"e":[{"t":[{"s":191}]}]}]},173],"å":268}],"u":[{"r":31},173],"v":[{"a":[{"k":162,"n":15,"r":[{"e":[{".":17}]}]}],"e":[{"g":168,"i":162,"l":162,"n":[{"h":21}],"r":15,"s":17}],"i":[{"g":89,"n":[{"n":26}]}],"o":[{"m":2}],"y":172,"å":[{"p":26}]}],"w":164,"å":173}],"f":[{"a":[{"r":[{"e":22}],"t":17}],"e":[{"e":[{"n":[{".":32}],"r":32,"t":[{".":23}]}],"i":[{"l":[{"i":17}]}],"m":[{"ø":19}]}],"i":[{"k":0}],"l":[{"å":18}],"t":28,"u":[{"s":[{"e":32}]}],"y":[{"r":5}],"æ":155,"ø":[{"r":[{"a":[{"r":[{"a":[{"r":32}]}]}]}]}]},188],"g":[{"a":[{".":38,"l":[{"e":[{".":32}],"i":32}],"n":[{"d":15,"n":152,"v":169}],"r":[{"i":24,"t":12}],"v":[{"e":[{".":23}]}]}],"e":[{"d":[{"i":11}],"f":0,"m":88,"n":[{"t":103}],"o":90,"r":[{"e":[{"i":0,"t":0}],"u":196}],"s":[{"j":0,"l":0,"t":[{"a":0}]}]}],"i":[{"a":54,"e":[{"n":5}],"k":88,"l":88,"m":88,"o":88,"r":[{"i":34},88],"s":[{"l":61}],"ø":88}],"l":[{"e":[{".":15,"m":14,"n":12,"r":12},7]}],"n":88,"o":[{"g":0,"m":90,"t":88}],"r":[{"a":[{"b":15}],"e":[{"a":12,"l":12,"p":[{"s":15}]}],"i":97,"u":90}],"s":[{"c":15,"k":[{"o":[{"r":31}]}],"l":[{"e":9}],"n":69,"t":[{"i":[{"l":[{"l":20}]}],"o":15,"u":35}],"y":7}],"u":[{"d":61,"t":4}],"å":[{"a":[{"s":39}],"v":[{"a":31,"e":[{".":31}]}]}]},188],"h":[{"a":[{"v":[{"s":203},183]}],"j":[{"u":[{"l":[{"s":91}]}]}],"o":[{"d":24}],"u":152,"ø":[{"r":[{"e":22}]}],"å":[{"n":[{"d":[{"s":647}],"e":39}]}]},188],"i":[{"a":[{"n":[{"f":162,"l":162,"s":[{"v":168}]},69],"r":[{"b":162,"r":162},69],"u":168,"v":[{"a":1,"o":648},173]}],"b":[{"l":107},173],"c":[{"a":[{".":6}],"o":[{".":1}]}],"d":[{"a":[{"l":[{"e":162}]},15],"e":[{"r":15}],"i":15,"r":188,"t":24}],"e":[{"i":[{"e":162,"g":162}],"k":[{"s":162}],"l":[{"d":168,"e":[{"m":162}],"i":[{"m":168}],"l":[{"a":5}]},69],"n":[{"d":12,"h":162,"t":[{"r":78},162]},23],"r":[{"a":22,"i":22},69],"t":[{"a":[{"t":162}]}],"v":[{"e":[{"n":15}]}]}],"f":[{"a":173,"e":[{"r":[{"i":[{"e":137}]}]}],"f":[{"i":23}],"i":[{"s":[{"e":[{"r":[{"b":[{"a":649}]}]}]}]}],"j":168,"l":[{"a":22},172],"o":173,"u":173,"ø":650}],"g":[{"a":[{".":1}],"g":[{"r":23}],"i":12,"j":162,"r":[{"e":162}],"s":[{"t":127},28]}],"h":173,"i":173,"j":[{".":166},173],"k":[{"a":[{"l":[{"i":1}],"n":15}],"d":166,"e":[{"s":12}],"i":2,"k":[{"e":[{"n":61}],"j":17}],"l":[{"a":219},162],"o":[{"n":168},278],"r":419,"s":[{"k":23,"u":53}],"t":[{"s":203},36],"u":[{"m":36}],"v":34,"å":162}],"l":[{"a":173,"d":[{"e":274}],"e":[{"d":168,"i":15}],"l":[{"e":[{"s":[{"t":31}]}]}],"o":286,"s":[{"n":23}],"ø":173}],"m":[{"a":[{"b":35,"r":35},162],"e":[{"s":168,"t":15}],"i":[{".":1,"s":191},173],"l":61,"m":162,"o":[{"r":1},162],"p":187,"u":[{"t":39},162],"y":162}],"n":[{"a":[{"l":17,"m":20,"s":162}],"c":248,"d":[{"u":90},162],"e":[{"e":1,"s":1}],"f":188,"g":[{"o":[{"m":61}],"r":18,"s":[{"a":[{"k":14},651],"p":[{"a":46}]}]}],"j":361,"k":173,"n":[{"e":[{"s":39}]},162],"o":[{"r":162}],"s":[{"k":36,"m":31},173],"t":[{"j":53,"r":23},173],"v":173,"ø":4}],"o":[{"f":189,"m":465,"p":189,"r":173,"s":42,"t":[{"r":18}]}],"p":[{"e":162,"o":[{"s":43}]},173],"r":281,"s":[{"a":[{"u":162}],"e":[{"d":162,"i":17,"k":168,"l":[{"i":1},162]}],"h":162,"i":[{"k":[{"o":166}]}],"j":[{"u":4},173],"k":[{"a":162,"i":1,"u":168,"y":162}],"t":[{"a":[{"d":168}],"e":[{"d":236}],"i":[{"k":22,"l":162}],"o":[{"f":22},1],"u":[{"n":15}],"ø":168,"å":4}],"v":162,"y":162,"ø":162}],"t":[{"e":[{"o":168},12],"i":[{"d":[{"a":49}],"l":162},2],"j":162,"o":20,"r":15,"s":617,"u":[{"n":4}],"y":162}],"u":[{"n":173,"r":23,"t":173}],"v":[{"a":[{"r":162}],"e":[{"d":4,"g":[{"e":49}],"i":15,"r":[{"k":162}]}],"i":[{"s":[{"e":22},372]},173],"o":168}],"ø":[{"k":162,"r":[{"a":41}],"y":[{"a":167}]}],"å":162}],"j":[{"a":[{"m":[{"b":[{"i":2}]}]}],"e":[{"r":[{"e":0}],"s":88,"t":[{"i":0,"r":0,"u":0}]}],"u":[{"l":[{"a":31}]}]},153],"k":[{"a":[{"k":[{"t":12}],"n":[{"f":11}],"o":0,"p":[{"r":0}],"t":[{"r":11}]}],"e":[{".":90,"h":88,"i":[{"k":[{"a":46},15]}],"k":11,"l":[{"o":0,"u":196}],"n":[{".":90,"a":[{"v":0}],"e":90,"i":0,"s":38}],"r":[{"i":[{"s":0},22],"o":0,"s":38,"u":196,"ø":0}],"s":[{"e":23,"l":[{"ø":[{"s":[{"e":170}]}]}]}],"t":[{".":155}]}],"h":[{"a":[{"n":1}]}],"i":[{"d":24,"e":24,"v":[{"i":23}]},90],"j":[{"e":[{"k":91}],"o":[{"r":15}]}],"k":8,"l":[{"e":[{"d":95}],"i":7,"u":[{"n":15,"t":35}],"æ":[{"r":[{"e":17}]}],"ø":7,"å":[{"r":[{"a":49}]}]}],"n":[{"e":[{"k":90,"p":38,"s":2}],"o":90}],"o":[{"b":[{"r":47},88],"f":[{"o":11}],"h":88,"l":[{"a":0,"i":0}],"p":[{"e":0}],"r":[{"a":0,"u":0}],"s":[{"e":[{"l":[{"e":31},0]}],"j":0}]}],"r":[{"a":[{"s":96}],"e":[{"i":15,"m":149}]}],"s":[{"a":[{"r":1}],"e":[{"g":478}],"i":129,"k":[{"a":1}],"t":[{"a":[{"l":4}],"e":[{"n":1}],"i":26,"j":1,"o":1},69],"v":[{"i":3}]},93],"t":[{"i":[{"s":5},15],"o":15}],"u":[{"l":[{"e":[{".":23}]}],"t":251}],"v":[{"e":[{"d":652,"i":15,"l":38,"r":0,"s":12}],"i":[{"k":15}]}],"ø":[{"l":169,"y":[{"s":35},375]}],"å":[{"k":[{"e":15},23],"p":[{"a":31}],"s":9}]},222],"l":[{"a":[{"t":[{"e":[{".":23}]}]}],"e":[{"a":23,"f":88,"p":90,"r":[{"i":198}],"s":[{"l":284,"t":23,"u":0}],"u":0}],"i":[{"k":[{"e":39}],"n":[{"g":[{"s":433}]}],"t":[{"a":32,"e":[{".":23}]}]},89],"j":90,"o":[{"g":183,"v":[{"e":22}]},4],"s":[{"k":1}],"u":[{"e":23}],"y":[{"s":[{"k":16}]},90],"z":97,"ø":[{"p":[{"a":[{".":32}]}],"y":653}]},188],"m":[{"a":[{"g":[{"e":[{".":31}]}],"k":[{"l":42}],"l":[{"t":[{"e":169}]}],"n":[{"l":12,"s":1,"v":11}],"r":[{"e":0,"r":0}],"v":15}],"b":12,"e":[{"g":586,"k":88,"l":[{"a":[{"p":31}]}],"n":[{"e":[{"t":0},22]}],"r":[{"e":[{"v":11}]}],"s":[{"e":0}],"t":[{"a":[{"r":39}]}],"y":0}],"i":[{"d":[{"e":169}],"e":[{"n":[{"e":31}]}],"n":[{"i":120,"s":[{"k":[{"i":17}],"t":97}]}],"v":9}],"j":[{"e":69}],"l":[{"ø":[{"p":[{"a":46}]}]}],"o":[{"e":23,"f":88,"p":69,"s":[{"t":61}]}],"p":2,"s":[{"k":[{"o":20}],"l":69,"n":31,"t":[{"i":[{"l":22}]},69],"u":69}],"t":[{"a":[{"l":[{"a":46}]}],"e":12}],"u":[{"a":[{"n":61}],"e":[{"n":[{"e":17}]},5],"l":[{"a":[{".":32}],"e":[{".":31}]}]}],"ø":[{"y":[{".":15}]}],"å":[{".":155,"l":5,"p":97,"r":155,"t":[{"a":96}]}]},188],"n":[{"a":[{"k":277,"l":[{"d":193}],"p":[{"p":[{"a":[{"r":97}]}]}],"r":[{"b":0,"t":193}],"t":[{"r":16,"v":0}],"v":[{"i":[{"s":654}],"l":12}]},90],"d":[{"ø":[{"r":14},5]},12],"e":[{".":90,"a":179,"b":[{"o":[{"e":38}]}],"c":88,"f":0,"l":[{"e":[{"g":[{"e":[{".":120}]}]}],"l":90,"s":90},88],"n":[{"g":193,"h":0}],"p":61,"r":[{"e":[{"i":0}],"i":[{"s":11}],"o":24}],"s":[{".":38,"e":[{".":31}],"i":93,"k":196,"m":0,"o":24},180],"t":[{"a":[{"b":9}],"e":0}],"v":[{"r":22},88]}],"é":[{"s":88}],"g":20,"i":[{"n":[{"n":0}]}],"k":9,"n":12,"o":[{".":38,"a":0,"b":22,"d":0,"i":0,"k":11,"m":[{"n":15,"s":12},88],"p":277,"r":[{"k":12}],"s":88,"v":225}],"s":[{"e":2,"i":[{"n":85}],"k":[{"e":15,"r":12}],"l":[{"a":15,"e":[{"g":[{"e":58}]}]}],"m":[{"i":40}],"o":[{"v":[{"n":13}]}],"p":[{"o":[{"n":15}],"r":34}],"t":[{"i":1},69]}],"t":[{"e":12,"i":15,"r":[{"e":103},2],"v":23}],"u":[{"g":15,"t":367},23],"ø":[{"t":152,"v":169}],"å":[{"l":[{"e":[{".":32}]}],"s":12}]},162],"o":[{"a":[{"k":69,"s":[{"i":15},23]}],"b":[{"a":[{"n":301,"r":301}],"e":[{"d":1,"f":1,"n":166,"s":1},172],"ø":[{"l":[{"g":[{"j":166}]}]}]}],"c":172,"d":[{"d":[{"s":90}],"o":191}],"e":[{"n":[{"d":15,"s":2}]}],"f":[{"a":2,"e":[{"l":1,"m":1}],"f":[{"r":[{"i":17}]}]}],"g":[{"a":[{".":2,"t":[{"a":49}]}],"e":[{".":2}],"r":[{"e":[{"t":22}],"y":4}],"s":177,"u":7}],"i":172,"k":[{"e":[{"l":1}],"i":15,"k":[{"a":[{"t":31}],"e":[{"r":[{"i":31}]}],"l":22,"o":[{"m":23}]}],"l":40,"n":22,"s":[{"e":[{".":32}]},61],"v":22}],"l":[{"i":[{"g":[{"a":16}]}],"j":162,"l":[{"a":[{"b":23,"p":23}],"e":[{"g":[{"e":[{".":91}]},23],"s":[{"e":[{".":91}]}]}],"i":[{"s":23}],"y":31}],"o":[{"v":49}],"y":173}],"m":[{"a":[{"k":4,"l":1,"n":655,"t":[{"e":1}]}],"b":656,"e":[{"d":17},265],"k":162,"n":181,"o":[{"r":1}],"r":173,"s":[{"l":[{"a":22}],"y":152,"ø":203}],"t":24}],"n":[{"e":[{".":15}],"i":[{"m":2,"s":[{"m":168,"t":[{"a":168,"e":167,"i":168}]}]}],"n":[{"a":23},162],"o":[{"s":17}],"s":177,"t":[{"a":[{"l":[{"e":[{".":120}]}]}]}]}],"p":[{"a":[{"d":1}],"e":[{"t":166}],"i":[{"a":1}],"l":[{"a":[{".":6}]}],"p":173,"y":35}],"r":[{"a":24,"d":[{"a":[{".":31}]}],"e":12,"u":69}],"s":[{"a":[{"t":1}],"e":[{"l":15,"n":12}],"l":[{"a":24},162],"m":1,"o":[{"v":4}],"p":657,"s":[{"t":23,"y":23}],"t":[{"a":[{"s":61}],"i":12,"r":[{"ø":16},12]}]}],"t":[{"e":[{"k":[{"t":[{"e":22}]}],"s":[{"t":[{"e":[{"r":16}]}]},15]}],"i":[{"k":[{"a":16}]}],"o":[{"r":[{"d":22}]}],"u":15,"y":168}],"u":[{"n":[{"d":203},183],"t":15}],"v":[{"a":[{".":15,"r":[{"e":35}],"s":2}],"e":[{"k":15,"n":2,"r":[{"e":17}]}],"s":[{"m":22}],"v":[{"e":120}]}]}],"ò":[{"t":[{"e":[{".":4}]}]}],"p":[{"a":[{"r":[{"b":11}]},38],"e":[{"f":[{"o":38}],"n":[{"o":0,"ø":11}],"s":[{"k":38}],"t":38}],"j":4,"l":[{"a":[{"d":12}]},7],"n":265,"r":[{"ø":[{"v":[{"e":17}]}]}],"u":[{"n":[{"g":16}],"t":[{".":97}]},90],"ø":[{"y":97}],"å":[{"k":88}]},222],"r":[{"a":[{"a":93,"g":88,"r":[{"o":0},24]}],"d":12,"e":[{"b":[{"a":[{"r":[{"t":[{".":152}]}]}]},0],"f":88,"i":[{"n":[{"t":61}]}],"k":[{"l":0}],"l":[{"a":[{"t":38}]}],"o":0,"p":[{"l":0}],"r":[{"u":196}],"s":[{"k":22,"m":0,"o":0,"p":[{"e":0}],"s":90,"t":[{"a":17,"i":61,"r":22},23]}],"t":[{"s":116}],"u":22},4],"i":[{"k":[{"a":[{".":31}]}],"p":11,"v":22},90],"m":[{"å":[{"l":[{"a":46}]}]},34],"o":[{"e":31,"m":38,"s":[{"a":32,"e":[{".":32}]}],"t":[{"a":32}]}],"s":122,"u":[{"n":375}],"v":15,"å":[{"d":[{"e":22}]}]},222],"s":[{".":168,"a":[{"b":12,"d":374,"k":[{"a":22,"t":11},90],"l":[{"a":[{".":31}],"d":340,"l":12}],"m":38,"r":[{"r":0,"v":12}]},153],"c":153,"e":[{"d":[{"i":93}],"g":127,"k":[{"u":0}],"l":[{"a":1,"d":2,"i":0,"v":193}],"r":[{"i":[{"k":9}]}],"s":[{"i":0,"u":11},90],"t":[{"e":[{".":23}],"t":[{"o":91},4]}]}],"i":[{"m":[{"p":58},659],"n":[{"g":229,"s":0},69],"s":[{"t":17}]}],"j":[{"a":152,"h":0,"o":[{"r":24}]}],"k":[{"a":[{"d":90,"f":96,"m":1,"p":90,"r":[{".":0}],"s":0}],"i":[{"l":38,"n":[{"n":[{"s":61}]}]},0],"j":[{"e":[{"n":[{"s":15}]}]},153],"l":[{"a":[{"g":91,"r":22}],"e":26,"æ":85},11],"o":[{".":38,"e":38,"p":24,"r":0,"t":90}],"r":[{"a":193,"i":[{"v":38}],"o":193},153],"u":[{".":38,"e":[{"t":16},38],"n":[{"d":22}]},153],"v":[{"a":[{"r":22}]}],"y":[{"s":15}],"ø":22}],"l":[{"e":[{"f":1,"i":0,"k":1,"s":1}],"i":[{"t":149}],"o":[{"k":12}],"u":[{"n":0}]}],"m":[{"a":[{"k":[{"e":1}]}],"o":[{".":1}],"å":[{"l":103}]}],"n":[{"e":[{"v":4}]}],"o":[{"a":39,"m":[{"l":15}],"n":[{"a":[{"l":77}],"e":112,"i":19,"s":103},660],"r":[{"d":15,"i":[{"s":61}]},259],"v":69},153],"p":[{"a":[{"n":1,"t":4}],"e":[{"l":38,"r":0,"s":152}],"i":38,"o":[{"r":1}],"r":[{"e":[{"d":38}]}],"å":0},153],"s":52,"t":[{"a":[{"b":[{"b":169}],"n":[{"k":15}],"p":12}],"b":284,"e":[{"d":1,"m":1,"n":[{"d":15,"s":120}],"r":[{".":15}],"v":[{"n":[{"a":33}]}]}],"i":[{"l":[{"f":169,"h":169,"s":169,"v":169},90],"s":38,"t":0}],"k":428,"r":[{"e":[{".":35,"e":2}],"i":[{"n":0}],"o":169,"ø":38},23],"u":[{"t":61,"v":[{"a":49}]}],"y":[{"g":58}],"ø":661,"å":152},150],"u":[{"k":[{"l":15}],"r":39,"s":[{"a":61,"i":15}]}],"v":[{"a":[{"k":6,"r":[{"a":49,"s":662}]}],"e":[{"k":89},69],"i":[{"t":15}]},153],"y":[{"n":[{"a":23}],"t":24}],"z":153,"ø":[{"k":[{"s":203}],"y":[{"e":35}]}]},162],"t":[{"a":[{"d":15,"f":169,"k":[{"a":[{".":23}]}],"n":[{"a":0,"l":12}],"p":[{"a":39}],"r":[{"r":0,"t":12}],"v":[{"s":12}]}],"e":[{"c":0,"d":[{"a":0,"e":90}],"e":88,"g":[{"o":0,"r":0}],"i":[{"e":0,"n":196}],"k":[{"a":0,"e":[{".":31}],"i":0,"u":0}],"l":[{"i":[{"t":9}]}],"m":[{"a":[{".":31}],"p":90}],"n":[{"s":[{"k":271}],"t":[{"l":[{"e":159}]}]}],"o":88,"r":[{"d":38,"e":[{"s":38}],"i":[{"s":0}],"k":38,"å":0},252],"s":[{"e":0,"k":11,"t":[{"i":11}]}],"t":[{"a":0,"e":0}],"u":[{"s":91}],"v":0}],"h":0,"i":[{"a":[{"n":[{"d":91,"s":0}],"r":[{".":32},0]}],"e":[{"n":22}],"g":[{"r":[{"a":31}]}],"k":[{"v":196}],"l":[{"a":0,"i":0,"o":0}],"n":[{"a":435}],"o":88,"p":88,"s":[{"a":61,"k":[{"a":11,"i":0}],"o":663,"p":0,"s":18,"t":[{"r":195}]}],"t":[{"u":90}],"v":88}],"m":[{"a":[{"l":[{"e":[{".":36}]}]}]}],"o":[{".":38,"f":[{"f":12,"o":155}],"k":[{".":155}],"m":[{"k":12}],"p":[{"p":[{".":4},193]}],"r":[{"d":12}],"s":251,"v":182}],"r":[{"a":6,"e":[{".":155,"d":4,"g":12,"i":12,"k":[{"o":169}],"l":15,"p":15}],"i":[{"b":152,"s":193}],"o":[{"s":169}],"u":[{"t":12}],"å":[{"l":149}]},7],"s":[{"a":[{"r":24}],"e":[{"g":1,"n":[{"g":22}]}],"i":7,"j":[{"a":26}],"k":[{"e":15,"j":12}],"n":[{"o":9}],"p":[{"e":34}],"t":[{"i":1,"r":[{"e":[{"k":40}]}],"ø":[{"y":26}]}],"u":[{"n":[{"d":[{"e":22}]}]}]}],"t":34,"u":[{"e":[{"n":[{".":31}]}],"g":152,"n":[{"d":12}],"t":259,"v":[{"e":[{".":32}]}]}],"y":[{"d":[{"a":[{".":32}],"e":[{".":32}]}],"r":[{"s":17,"a":31}],"t":15}],"æ":[{"r":[{"a":39}]}],"ø":[{"l":15}],"å":[{"s":664}]},200],"u":[{"a":[{"n":[{"d":12}],"v":[{"h":4},168]}],"b":[{"a":31,"l":6,"o":15}],"d":[{"i":[{".":1}],"r":23,"s":[{"l":5}]}],"e":[{"l":[{"e":1}],"r":23,"s":65}],"g":[{"a":[{"l":46,"t":17}]}],"i":[{"d":75}],"k":[{"s":[{"u":23}],"t":[{"s":18}]},162],"l":[{"a":35,"i":162,"k":[{"e":[{".":32}]},306],"l":88,"v":152,"y":152}],"m":[{"a":[{"l":24}],"p":[{"l":665}]},0],"n":[{"d":[{"e":[{"l":22,"r":[{".":502,"s":38},434]},504],"r":18,"s":124}],"g":[{"e":[{".":31}]}],"i":477,"k":[{"r":22}],"ø":[{"y":1}]}],"r":[{"a":[{"n":6,"r":6},15],"e":[{"r":35}],"t":[{"a":32}]},7],"s":[{"h":255,"i":[{"k":666}],"j":22,"l":[{"u":61}],"o":182,"s":[{"e":[{"l":22}],"t":23}],"t":[{"r":667}]},0],"t":[{"a":[{"l":[{"a":[{".":46}]},12],"n":[{".":152}]},0],"b":[{"e":0}],"d":162,"e":[{"i":18,"l":1,"n":[{"e":[{".":35}]}],"r":35},32],"g":173,"k":153,"o":39,"r":[{"e":23,"ø":4},168],"t":[{"o":14}],"v":173,"ø":22}],"v":[{"a":15,"e":[{"d":1,"g":1,"i":1,"l":1,"r":[{"e":1}],"s":1}],"i":[{"s":21},46]}]}],"v":[{"a":[{"k":[{"a":61}],"l":[{"a":31}],"r":[{"b":206}]},1],"e":[{"d":[{"e":[{"n":23},24],"r":195}],"g":[{"a":0,"i":0,"r":0}],"i":[{"m":0,"s":[{"e":50}]}],"k":[{"l":22}],"l":[{"a":0,"l":[{"e":49}]}],"n":[{"g":169}],"r":[{".":38,"e":22}],"s":88,"v":88}],"i":[{"l":[{"l":[{"e":[{"d":186}]},49]}]}],"j":7,"o":[{"s":0,"v":0}],"r":90,"s":129,"u":[{"n":[{"g":15}]}],"å":[{"r":61}]},188],"w":187,"x":69,"y":[{"a":182,"d":[{"r":7}],"f":[{"e":2,"l":15}],"k":[{"e":[{".":15}],"l":189}],"l":[{"e":2,"l":[{"i":[{"s":668}]}]}],"n":[{"d":[{"l":248}],"e":[{"s":[{".":15},1]}]}],"p":[{"a":[{".":1}]}],"r":[{"e":6,"k":[{"e":[{".":23}]},153],"o":35,"ø":15},173],"s":[{"s":[{"a":[{"l":31}]}]}],"t":[{"a":15,"e":[{"k":1}],"m":172,"r":90}]}],"z":0,"æ":[{"l":[{"e":2}],"r":[{"e":[{"n":669},669],"i":[{"n":22}],"t":32}],"v":6}],"ø":[{".":173,"a":[{"r":6}],"b":[{"e":[{".":1}]},168],"d":[{"e":[{"k":1}],"s":54}],"e":[{"p":162}],"f":[{"l":22}],"k":[{"e":[{".":1,"r":[{"o":1}]}],"l":24,"n":162,"s":42,"t":61,"v":54}],"l":173,"m":[{"a":54},4],"n":[{"n":[{"e":[{"s":22}],"s":[{"a":78,"k":17}]}],"s":[{"k":[{"o":22}]}],"t":[{"g":334}]}],"p":[{"e":[{".":1}],"l":39}],"r":[{"d":19,"e":[{"n":[{"d":[{"e":[{".":11}]}]}],"t":2}],"l":166,"o":107,"s":[{"p":23}]},172],"s":[{".":93,"e":12,"l":[{"a":15}],"v":22}],"t":[{"a":[{"s":39},6]}],"v":[{"a":69,"e":[{"d":[{"e":15}],"r":[{"s":35}]}],"i":69,"æ":169}],"y":[{".":188,"a":[{"r":39},162],"e":[{"d":31,"n":[{"e":31}],"s":22,"t":23}],"k":334,"r":[{"e":22},164],"s":[{"e":[{"n":[{"e":[{"s":32}]}]}],"k":670,"t":23}]}]}],"å":[{".":173,"a":[{"g":162},2],"b":162,"d":[{"e":[{"t":164}],"y":[{"r":[{"a":49}]}]}],"e":[{"n":[{"e":35}]}],"f":173,"g":383,"k":[{"j":173,"r":[{"e":24}],"u":107,"v":54}],"l":[{"e":[{"s":66,"t":[{".":15},1]}],"u":15},162],"n":[{"d":[{"a":31},38]}],"p":173,"r":[{"s":[{"k":17}],"u":15},188],"s":[{"b":162,"e":173,"i":15,"j":173,"t":23},69],"t":[{"a":[{"k":[{"a":[{".":46}]}]},168],"r":15,"u":15}]}]}],"s":[{"c":[{"h":[{"l":[{".":167},658],".":681,"m":32}],"a":[{"n":337},162],"e":[{"l":173,"n":[{"e":0}],"r":90},172],"l":306,"o":[{".":162,"c":168,"s":162}],"u":[{"s":0}]}],"a":[{"a":[{".":166},173],"b":[{"a":[{".":1}],"e":11,"l":93,"o":[{"k":15,"n":90}],"y":15}],"c":[{"e":12}],"d":[{"a":[{"g":1,"m":162}],"e":[{"r":[{"e":1}]}],"m":162,"o":1,"v":173}],"e":[{"d":22,"n":164,"r":191}],"f":[{"a":166,"e":172,"f":[{"æ":181}]}],"g":[{"a":[{".":1,"s":1,"t":1},166],"e":[{"n":[{"t":168}]}],"g":274,"i":324,"n":[{"a":32}],"o":[{".":4,"g":1}],"r":174,"s":65}],"i":[{"k":12,"r":15,"s":69}],"k":[{".":166,"a":[{".":164,"d":162,"i":15},7],"b":164,"d":164,"e":671,"f":166,"h":[{"e":17},172],"i":172,"j":1,"k":[{"r":22,"y":0}],"l":166,"m":166,"o":162,"p":164,"r":8,"s":[{".":337,"i":41,"j":181,"p":23,"r":166,"u":166}],"t":[{"a":[{".":31}],"o":337},188],"u":0,"ø":268}],"l":[{".":253,"a":[{"r":[{"m":248}],".":191,"t":672},69],"b":162,"e":[{"t":35},673],"g":[{"e":0,"o":248,"s":116},172],"i":11,"m":[{"e":[{"s":23}]}],"o":15,"s":[{"a":5},674],"t":[{"e":[{"r":162}]}],"u":69,"v":[{"e":[{"d":22}]},164],"y":173}],"m":[{".":166,"a":[{".":15,"n":445,"s":15},7],"e":[{"i":22,"l":1,"t":1}],"l":[{"e":[{"v":23}]},166],"m":[{"e":[{"n":139}]},166],"y":1},184],"n":[{"a":[{".":35,"r":2,"t":12},571],"d":[{"a":[{".":31,"l":62}],"e":[{".":334}],"r":17,"s":[{"l":[{"o":80}],"t":17}],"ø":53}],"e":[{"k":676},675],"g":[{".":166,"e":164,"r":181,"s":[{"t":175}]}],"k":[{"e":[{"n":152}]}],"l":188,"m":38,"n":[{"e":22,"o":168}],"o":[{"r":248,"s":22},7],"s":[{".":337,"a":162,"e":[{"n":337}],"k":77,"l":677,"v":168},54],"t":[{".":93,"e":39,"r":168,"y":162}],"v":187}],"p":[{"o":7},188],"r":[{".":184,"a":[{"b":168},172],"b":173,"d":0,"e":[{".":401,"a":[{"l":162}],"g":162,"v":15}],"i":[{".":1},164],"k":[{"a":[{".":31}],"i":181}],"m":[{"e":[{".":32},22]},188],"r":153,"t":[{"a":[{".":23}]},188],"u":1,"v":162,"y":0}],"s":[{"j":[{"u":167}],"p":272,"s":187,"t":[{"y":162},11],"u":173,"y":162},172],"t":[{"a":69,"e":[{"n":15}],"i":12,"l":188,"m":[{"o":[{"s":181}]}],"o":69,"r":678,"s":[{"k":38}],"t":[{".":166,"a":181,"e":[{"n":274,"s":103}]}]},172],"u":[{".":166,"d":[{"i":[{".":22}]},23],"e":166,"g":[{"a":31,"e":[{".":31},90]},162],"k":188,"m":166,"s":164,"t":162}],"v":[{"a":88,"e":[{".":1}],"i":[{"n":679}],"n":22,"u":164},188]}],"b":[{"a":[{"n":[{"e":[{".":23}]}]}],"i":[{"e":31}],"o":[{"d":[{"a":23}]}],"u":[{"e":[{"t":31}],"g":11,"l":18}],"y":[{"t":[{"a":32}]}]},680],"d":[{"a":[{"g":[{"s":271}],"m":[{"p":49}]}],"e":[{"l":[{"e":[{".":31}]}]}],"u":[{"e":[{"n":[{".":32}],"r":32}]}],"ø":[{"v":32}]},682],"e":[{"a":[{".":164,"g":23,"n":[{"d":568,"s":[{"a":2}]}],"r":[{"e":39}],"u":[{"s":[{"k":683}]}]},189],"b":173,"c":162,"d":[{"a":[{"g":162}],"d":22,"e":[{".":166},12],"l":166,"o":162,"r":173,"u":173,"v":[{"a":[{"n":[{"l":[{"e":168}]}]}]}],"ø":173}],"e":[{".":166,"d":24,"f":173,"g":173,"i":13,"l":34,"n":15,"r":176,"s":166,"v":173}],"f":[{"f":153,"t":187},173],"g":[{"a":[{"l":36},168],"e":[{"s":4,"v":12},7],"g":[{"a":[{".":32}]}],"l":[{".":301,"e":[{"t":191}]}],"m":164,"r":684}],"h":173,"i":[{"d":[{"a":[{"n":32}],"e":[{"n":39}]},173],"e":[{"n":[{"e":[{"s":148}]}],"t":171}],"g":[{"a":[{".":31}],"e":22},173],"k":22,"l":685,"m":168,"n":[{"d":12,"i":90,"k":4,"s":12,"t":12},173],"r":22,"s":164}],"j":[{".":166},173],"k":[{"a":286,"e":164,"i":162,"j":173,"k":[{"e":[{"s":23}]},166],"l":307,"n":265,"o":173,"r":[{"a":162,"i":162,"o":162},129],"s":[{"j":178,"p":162,"t":23}],"t":[{"a":[{"n":255}],"e":[{".":31,"r":[{"a":33}]}],"o":686}],"y":162,"å":162}],"l":[{"a":[{".":4,"k":164,"n":[{"e":166}],"r":[{"t":22},166],"s":89,"t":3},173],"d":54,"e":[{".":1,"d":236,"g":[{"a":168}],"i":162,"m":181,"n":[{"g":162}],"s":162,"v":563}],"g":334,"i":[{"k":162,"l":162,"s":162,"t":563}],"l":[{"ø":[{"p":31}]}],"o":[{"l":191,"m":12},173],"s":[{"i":[{"n":23}],"k":[{"e":525}],"l":[{"a":[{"g":143}]}],"p":[{"o":23}]},164],"t":19,"u":[{"r":371},173],"v":[{"a":[{"k":53,"n":23}],"e":[{".":23,"i":190,"r":23},124],"i":[{"n":32}]}],"y":173,"æ":173,"ø":[{"p":[{"a":[{".":46}]}]},173],"å":168},88],"m":[{"a":285,"b":164,"d":191,"e":15,"i":[{".":1,"n":[{"i":123}]}],"n":[{"a":23,"d":301},188],"o":173,"p":[{"e":22}],"å":173}],"n":[{".":88,"a":[{"k":15,"u":168}],"d":[{"a":143,"e":[{"l":[{"a":31}],"n":168}],"r":162}],"e":[{"d":162,"g":12,"m":162,"s":[{"a":167,"e":[{".":46},168]}]},88],"g":[{"a":[{"s":38}]}],"h":188,"i":[{"n":4}],"k":[{"j":90}],"n":687,"s":[{"e":[{"m":248,"n":[{"d":47}]}],"j":23,"o":24},88],"t":[{"e":[{"r":22}],"r":[{"e":[{"p":688}]}]},304],"u":[{"m":162}],"y":162,"æ":173,"ø":168}],"o":[{"d":191,"r":12},420],"p":[{"e":[{"r":[{"s":[{"o":373}]}]},12],"t":164},173],"r":[{".":88,"a":[{"m":162,"n":166,"p":162,"s":166,"u":168},12],"d":22,"e":[{".":166,"a":162,"d":162,"f":162,"g":162,"i":162,"k":162,"l":162,"n":[{"n":162,"t":162}],"p":162,"s":[{"o":162,"s":162,"t":162,"u":162}],"t":162,"v":162},201],"f":153,"i":[{"e":[{"n":[{"e":116}]}],"k":162},88],"k":[{"j":[{"e":162}],"r":166}],"n":[{"e":[{"v":61}]},166],"o":[{"p":1,"r":1,"s":1},189],"t":[{"a":[{"k":23,"t":31}],"r":23},689],"u":[{"l":162,"n":85},69],"v":[{"e":[{"d":23,"l":23}]}],"y":173,"ø":310,"å":173}],"s":[{".":166,"a":[{"l":[{"d":22,"s":166,"t":22}]}],"c":162,"e":[{"n":[{"e":1}]},173],"i":[{"n":22}],"j":[{"e":162,"u":[{"k":162}]},12],"k":[{"a":[{"l":22,"r":22}],"v":22}],"l":[{"i":[{"t":22}]}],"n":[{"a":12}],"o":166,"p":[{"r":24}],"s":[{"i":[{"n":53}]}],"t":[{".":166,"e":[{".":166}],"o":162},69],"u":[{"n":22}],"v":54,"y":173,"ø":162,"å":24}],"t":[{".":336,"a":[{".":164,"e":15,"k":[{"a":46}],"r":15},690],"e":[{"a":168,"g":162,"i":162,"k":162,"l":2,"r":[{"a":1,"o":15}],"s":162}],"i":[{".":6,"k":89,"s":89},285],"j":[{"a":109,"e":[{".":166},162]}],"l":191,"n":166,"o":173,"r":406,"s":0,"t":[{"e":[{"r":[{"s":38}]}]}],"u":173,"v":173,"y":173,"ø":168}],"u":[{"m":164,"n":162,"r":[{"e":[{"n":[{"e":33}]}]}],"t":28}],"v":[{"a":[{"n":[{"e":[{".":36}]}],"r":346}],"d":23,"i":[{"s":[{"a":5}]}],"n":[{"e":[{".":23}]},153],"r":12,"å":[{"g":164}]},173],"y":[{"n":173}],"ø":173,"å":173},172],"é":[{"a":173,"b":168,"e":162,"f":162,"j":162,"k":162,"l":173,"o":162,"p":168,"r":301,"s":162,"v":173},172],"f":[{"a":[{"n":[{"e":[{".":23}]}]}],"e":[{"e":[{"t":[{".":31}]}],"s":17},168],"i":[{"s":[{"k":[{"e":[{"n":159}]}]}]}],"l":[{"å":18}],"o":[{"r":[{"a":32,"l":[{"ø":186}]}]},38],"r":[{"a":[{"s":17}],"i":[{"e":[{"r":[{"e":80}]}]}]}],"y":[{"r":[{"s":14}]}],"æ":337,"ø":[{"r":[{"e":[{"n":39,"r":22}],"i":22}]}]},181],"g":[{"a":[{"l":23,"v":[{"a":32,"e":[{".":23}]}]}],"e":[{"n":[{"s":49}],"s":[{"t":23}]}],"å":[{"v":[{"a":23,"e":[{".":23}]}]}]},691],"h":[{".":162,"a":[{"k":28,"t":152,"u":90}],"e":[{"a":5,"i":692,"r":[{"i":[{"f":693}]}],"t":[{"t":525}]},168],"i":[{".":0,"p":11,"s":[{"k":15}]}],"j":162,"o":[{"p":[{"p":306}],"r":[{"t":164}],"w":166}],"s":168,"u":173,"y":248,"ø":[{"l":32,"v":[{"a":31,"e":[{".":31}]}]},149],"å":152},153],"i":[{"a":[{"l":[{"v":80}],"m":417,"n":[{"s":2}],"p":162,"v":162}],"b":[{"l":7}],"d":[{"a":694,"e":[{".":695,"n":218,"o":223,"r":[{".":15},0],"t":[{"e":1}]}],"o":224,"r":[{"a":32},187],"y":162}],"e":[{"g":162,"l":69,"n":23,"r":[{".":15,"e":[{"n":4}]}],"s":[{"t":12},23]}],"f":[{"e":168,"l":12,"o":173,"r":85,"u":173,"ø":162}],"g":[{"e":[{"r":[{"s":103}]}],"i":162,"l":[{"o":181}],"r":15},164],"h":162,"k":[{"a":12,"e":[{".":15}],"h":599,"k":[{"a":[{"r":[{"t":[{"e":[{"t":46}]}]}]},23],"e":[{"l":53}],"o":23}],"o":[{"m":1,"p":1,"s":1,"t":1},18],"t":[{"s":43}]},164],"l":[{".":166,"d":[{"e":[{"l":23,"r":23,"s":23}]},164],"j":22,"k":28,"l":[{"e":[{"s":23}]}],"ø":173},88],"m":[{"e":[{"l":4,"t":162}],"p":173,"u":12}],"n":[{"d":[{"e":162,"u":181}],"e":[{"k":12}],"f":188,"g":[{"s":[{"a":696}],"u":191}],"i":1,"j":162,"n":[{".":178,"a":502,"e":[{".":11,"t":166}],"h":90,"k":38,"l":90,"t":162},173],"o":[{"b":15}],"s":[{"k":[{"e":14}]}],"t":188,"v":162,"ø":4}],"o":[{"v":236}],"p":[{"a":[{".":1}],"e":[{".":6}]}],"r":[{"e":[{".":4,"n":2}],"i":[{".":1}],"k":[{"l":32}]}],"s":[{"e":[{"l":15,"r":[{"f":1}],"v":42}],"i":[{"n":4}],"j":[{"u":168}],"k":[{"e":22},1],"n":1,"t":[{"e":26,"i":1,"o":24}],"y":162},88],"t":[{"a":15,"j":[{"i":32}],"r":[{"a":21,"e":26,"i":1}],"s":[{"v":[{"a":186}]},65],"t":[{"e":[{"r":[{"m":31}],"s":23}]}]},336],"u":[{"m":[{"f":1}],"t":162}],"v":[{"a":[{"n":35},166],"e":[{"k":4}],"i":[{".":6}],"å":[{"t":35}]}]},172],"j":[{".":173,"a":[{".":88,"g":697,"k":[{"k":[{".":515}]}],"m":162,"n":[{"l":162},0],"r":[{"n":152}],"v":285,"z":306}],"b":173,"d":168,"e":[{".":337,"f":[{"i":41,"l":[{"a":23}],"t":17}],"g":24,"k":[{"t":[{"o":271}]}],"l":[{"e":[{"v":23}]},164],"n":[{".":336,"e":504,"t":181}],"r":[{".":337}],"s":626,"t":[{".":337,"t":[{"i":5}]}]}],"f":173,"g":173,"i":[{"m":11}],"k":173,"l":173,"m":173,"n":173,"o":[{"b":173,"k":166,"m":162,"n":[{"s":58},301],"r":173,"u":173}],"p":173,"r":173,"s":173,"t":[{"s":[{"j":698}]},294],"u":[{"a":54,"b":168,"g":306,"k":[{"s":248}],"l":[{"a":32}],"n":162,"r":162,"s":699}],"ø":[{"k":75,"p":54,"r":[{"ø":39}],"s":180,"t":146},504]},172],"k":[{".":167,"a":[{".":173,"b":[{"e":203},162],"d":88,"e":167,"g":241,"k":173,"l":[{"a":[{"r":22},700]}],"m":[{"l":0,"p":175},173],"n":[{"a":248,"d":[{"e":162}],"e":162,"o":162,"t":168}],"p":[{".":334,"a":[{".":401,"s":162}],"e":[{"n":[{".":166}]}],"i":[{"t":168}],"p":162}],"r":[{"a":[{"b":15}],"b":[{"e":2}],"d":166,"k":248,"p":334,"s":168,"t":162,"v":497},224],"s":173,"t":[{"e":162}],"y":167},172],"b":162,"d":168,"e":[{"d":[{"a":0,"o":11}],"h":88,"i":[{"e":[{"r":[{".":17}]}]},11],"l":[{"e":[{"v":701}],"i":[{"k":11}],"t":18,"u":0}],"n":[{".":90,"a":[{"v":11},0],"o":0,"s":38}],"p":[{"t":166}],"r":[{".":38,"o":0,"s":38}],"s":[{"i":24,"m":5,"n":22},458],"t":[{"e":[{"t":0}],"j":702}],"v":11,"y":88},173],"f":173,"h":173,"i":[{".":334,"a":191,"d":162,"e":166,"f":166,"k":337,"l":[{"l":11,"t":337}],"n":[{"e":[{"t":31}],"i":[{"n":23}],"n":[{"s":703}],"o":704}],"o":[{"l":166}],"p":166,"r":[{"e":0,"k":274,"s":15},173],"s":[{".":11,"s":191,"t":248}],"v":504},172],"j":[{"e":[{".":11,"m":[{"a":[{"s":168},166]}],"r":[{"m":[{"e":706},705],"s":191}]}],"o":[{"r":164}],"æ":[{"r":[{"l":248}]}],"ø":[{"n":166,"p":168,"r":[{"e":[{"s":17}]}]}]}],"k":402,"l":[{"a":[{"k":15,"n":97,"s":38},168],"e":[{"g":35,"i":11,"k":12,"r":[{"o":515}]}],"i":[{"n":[{"g":15}],"t":15}],"u":[{"f":169}],"y":[{"d":88}]},174],"m":173,"n":[{"u":153},173],"o":[{"a":162,"d":[{"d":191}],"f":162,"g":336,"i":361,"l":[{"a":502,"e":164,"l":181},172],"m":[{"a":11,"e":149},162],"n":200,"o":162,"r":[{"d":15,"p":[{"i":11}],"s":[{"t":93},152],"t":162}],"s":173,"t":[{"t":164},88]}],"r":[{"a":[{".":413,"l":337,"t":0},6],"e":[{".":374,"f":181,"g":168,"k":338,"t":181,"v":[{"n":166}]}],"i":[{"b":164,"f":164,"g":162,"k":164,"p":164,"t":[{"e":162}],"v":164}],"o":[{"g":337,"n":90,"p":181}],"u":[{"d":4,"s":469}],"y":[{"s":[{"s":168}]}],"å":184}],"s":419,"t":707,"u":[{"d":166,"e":[{"n":[{"d":23}],"r":[{"e":17},23]},253],"f":172,"l":[{"a":[{"n":166,"r":166}],"e":164,"i":[{"s":274}],"l":162,"p":0,"t":162}],"m":[{"s":18}],"n":[{"d":[{"e":[{"r":[{"v":97}]}]}]},173],"p":162,"r":[{"s":525,"v":167}]}],"v":[{"a":[{".":15,"d":164,"s":12}],"e":[{"n":11,"r":12}],"i":[{"t":15}],"u":164},173],"y":[{"a":11,"e":11,"r":[{"e":24},162],"s":[{"s":681,"k":334},162],"t":164},172],"æ":168,"ø":[{".":168,"a":274,"e":162}],"å":[{"r":[{"e":22}],"t":168},172]}],"l":[{"a":[{"d":[{"a":32,"e":90}],"g":[{"e":[{".":32},22]}],"k":[{"e":22,"s":38,"t":164}],"l":164,"n":[{"d":181,"g":[{"s":248}]}],"p":[{"p":[{"e":17}]}],"r":[{"a":[{"n":38}],"e":38}],"s":[{"t":248}],"t":[{"e":[{".":23}]},153],"u":[{"s":525},187],"v":[{"e":164,"i":[{"n":23}]},54]}],"e":[{".":173,"d":[{"a":93}],"g":[{"a":162,"i":0,"n":0,"r":11}],"i":[{"e":[{"r":[{".":17}]}],"v":0},168],"k":[{"e":525,"k":38}],"l":88,"m":[{"e":0}],"n":[{"e":[{"r":11},708],"t":709}],"r":173,"s":[{"j":11,"o":0,"t":11},525],"t":[{"a":0}],"v":[{"a":0},38],"y":162}],"i":[{"a":38,"d":173,"e":[{"n":[{".":23}]}],"g":168,"k":[{"e":22,"k":0}],"n":[{"j":710,"t":116},173],"p":164,"t":[{".":337,"e":178}],"v":248}],"o":[{"b":[{"b":17}],"t":[{"t":[{".":11,"e":[{"t":191}]},103]}]}],"u":[{"a":711,"e":[{"s":22},420],"f":168,"g":162,"k":[{"s":469}],"m":[{"p":[{"e":80},271]}],"n":[{"d":90,"s":38}],"p":11,"s":[{"a":61}],"t":0},172],"y":[{"e":[{"t":[{".":32}]}],"n":253,"s":248,"t":32},153],"æ":[{"r":[{"a":[{"r":[{"i":31}]}]},306]}],"ø":[{"n":173,"p":[{"a":[{".":23}]},525],"r":11,"s":[{"a":86,"i":178},173],"v":[{"a":22,"e":22,"i":22}],"y":[{"d":166,"e":58}]}],"å":[{".":712,"e":0,"n":[{"e":[{"r":22}]},153],"t":172}]},1],"m":[{"a":[{"d":31,"k":[{".":164,"e":[{"n":337}]}],"l":[{"e":[{"t":39}]}],"n":167}],"e":[{"d":[{".":0,"e":0,"i":274,"k":0}],"g":17,"i":162,"k":[{"l":16,"t":0}],"l":[{"d":525,"l":178,"t":337}],"n":267,"r":[{"t":178}],"s":[{"i":11},168]}],"i":[{"a":11,"e":[{"n":[{"e":23}]},0],"g":0,"l":[{".":11,"a":61,"e":11}],"n":[{"i":120}],"t":88}],"o":[{"a":61,"d":[{"e":[{".":32}]}],"k":88,"t":168}],"u":[{"g":[{"g":274},164],"l":[{"a":11,"d":0,"e":11},183],"r":[{"t":166}]}],"y":[{"k":713}],"ø":[{"n":168,"r":[{"s":18},184],"t":162}],"å":[{".":166,"r":22,"t":[{"t":93}]}]},153],"n":[{"a":[{".":167,"b":0,"k":191,"s":181,"t":434,"v":162}],"e":[{".":162,"b":162,"d":[{"d":338},162],"e":11,"g":0,"i":[{"e":[{"r":17}]},164],"k":[{"r":[{"i":23}],"t":152}],"l":0,"m":173,"r":162,"s":[{"a":39,"v":49},168],"t":162}],"i":[{"f":11,"g":[{"l":31}],"k":[{"k":[{"o":17}]},88],"l":336,"n":434,"p":336,"r":5,"t":504,"v":361}],"o":[{".":93,"e":11,"r":[{"d":38}],"t":306}],"u":[{"d":334,"m":90,"r":0,"t":191}],"y":[{"h":167}],"æ":[{"r":[{"e":[{".":23}]}]},173],"ø":[{".":334,"d":[{"r":42}],"e":166,"r":184,"s":54,"v":[{"i":22}]}]},153],"o":[{"a":[{"l":12,"r":6,"v":162}],"b":[{"l":7},188],"d":[{"a":[{".":1}]},172],"e":166,"f":[{"a":[{"g":1,"s":1},176],"f":274,"r":[{"e":274}],"t":176}],"g":[{"a":7,"i":6,"l":2,"n":[{"e":[{"m":31}]}]}],"h":168,"i":[{"d":15},714],"k":[{"n":166,"s":[{"e":[{".":23}]},162]}],"l":[{".":191,"a":[{".":1,"v":22}],"d":172,"e":[{".":1,"i":[{"e":[{"r":14}]}],"n":[{"e":1}]}],"f":19,"i":715,"j":175,"o":[{".":6},7],"s":82,"t":42,"u":[{"m":1}],"ø":1}],"m":[{".":164,"e":[{"n":[{"d":4}]}],"f":[{"a":181},90],"g":187,"h":166,"k":188,"l":162,"m":[{"a":[{"r":[{"a":139}]}],"e":[{"r":[{"e":717}]},249]},716],"r":[{"e":[{"n":191,"r":166}],"å":434},173],"s":[{"l":22,"t":[{"i":22},0],"y":162},153],"t":[{".":166,"a":168},184]}],"n":[{"a":[{".":1}],"d":[{"a":61}],"e":[{"a":6},304],"g":[{"s":124}],"o":85,"s":[{"k":5,"t":22}],"u":7,"y":[{".":1}]},164],"p":[{"a":[{"k":2,"r":35}],"e":[{"t":2}],"p":[{".":164,"a":166,"e":164,"i":23,"l":[{"e":167}]}],"r":12},174],"r":[{".":172,"a":[{"n":12},191],"b":166,"d":[{"a":23},187],"e":[{"k":1},216],"g":[{"a":[{".":191}],"l":23}],"i":[{"e":181,"s":191,"u":15},7],"k":[{"e":162}],"n":22,"s":686,"t":515}],"s":[{"c":248,"e":[{".":6}],"f":168,"j":162,"l":1},172],"t":[{"e":[{".":6},15],"r":[{"a":1}],"s":5,"t":[{"e":22,"i":23}]}],"u":162,"v":[{"a":12,"e":[{".":1,"n":15,"r":[{"e":14}],"s":124,"t":166}],"j":164},173]}],"p":[{".":162,"a":[{"g":[{"h":19}],"k":[{".":191,"a":191,"e":166,"k":167}],"l":[{"l":90,"t":166},88],"n":[{"n":178}],"r":[{"i":164}],"s":[{"e":[{"r":334}]},162]}],"e":[{".":162,"a":23,"d":[{"a":167,"é":39}],"e":0,"i":184,"l":[{"e":[{"g":23,"s":23,"t":166}]},88],"n":[{"g":175,"n":178,"t":0}],"p":38,"r":[{"a":[{"n":[{"d":53}]}],"i":168,"l":162,"r":0,"s":90}],"s":[{"i":164,"t":0}],"t":[{".":155}]}],"i":[{"l":[{"o":274}],"n":[{"g":162}],"o":88,"p":173,"r":[{"e":[{"s":61}],"i":61,"o":61}],"s":[{"s":334}],"z":361},172],"l":[{"a":[{"n":[{"t":522}],"r":35}],"e":162,"i":[{"n":0,"t":164}]},188],"o":[{"e":[{"t":31},173],"l":[{"e":334,"i":306},173],"r":[{"a":0,"e":0,"s":337,"t":[{"s":145}],"v":164}],"s":267,"t":[{"e":90},162],"v":22},4],"r":[{"a":[{"g":301,"n":166}],"e":[{"g":434,"i":[{"k":175},166],"k":[{"e":17},0],"m":90,"n":337,"s":274,"t":337}],"i":[{"n":[{"t":11,"s":[{"i":167}]}],"o":38,"s":710}],"o":[{"b":274,"d":90,"f":162,"g":[{"n":306,"r":306},334],"s":[{"s":334}]}],"u":172,"y":0,"ø":[{"y":164}],"å":166}],"s":361,"u":[{"b":167,"l":173}],"y":[{"d":336}],"ø":[{"l":434,"y":15},504],"å":[{".":301,"d":166}]},7],"r":[{"e":[{"k":[{"a":32,"e":[{".":32}]}]}],"i":[{"e":148,"k":[{"a":32}],"m":[{"a":32}],"v":[{"e":[{".":23}]}]}],"o":[{"e":23,"p":[{"a":31}],"s":[{"a":31,"e":[{".":31}]}],"t":[{"e":39,"o":17},28]},38],"ø":[{"v":54}],"å":[{"d":[{"a":[{".":23}],"e":[{"r":[{"s":31},33]}]}],"m":[{"a":32}]}]},522],"s":[{"a":[{"b":[{"e":[{"l":152}],"l":152}],"e":11,"j":0,"k":[{"e":[{".":32}]}],"l":[{"a":[{".":31}],"l":15}],"m":[{"e":[{".":23}],"p":15}],"n":[{"e":38}],"r":[{".":350,"i":[{"e":[{"n":718}]}],"m":252,"r":0,"v":[{"e":[{".":46}]}]}],"s":4,"u":[{"s":[{"a":46,"e":[{".":36}]}]}]}],"e":[{"e":[{"t":11}],"g":[{"e":22,"g":15},88],"l":[{"i":22,"s":17,"v":[{".":35,"å":80}]},1],"m":88,"n":[{".":38,"a":[{".":32}],"d":[{"e":[{"n":15}]}],"e":38,"i":0,"k":[{"e":[{".":36}]}],"u":0,"å":11}],"r":[{".":38,"a":[{"b":11,"t":11}]}],"s":[{"k":[{"i":0},61],"t":0}],"t":[{".":152,"s":155}],"u":88,"y":0}],"h":88,"i":[{"a":23,"e":[{"r":[{"e":[{"r":77}]}]}],"f":[{"f":0}],"l":[{"o":11}],"m":[{"e":340}],"n":[{"d":367,"i":[{"t":15}],"j":12,"n":12,"s":193}],"s":[{"m":17},439],"v":[{"e":[{"n":[{"d":127}]}]}]}],"j":[{"a":[{"r":[{"g":149}]}]}],"k":[{"a":[{"p":[{"e":1}],"r":[{"a":46},12]}],"n":12,"o":[{"f":12,"g":152,"r":0}],"y":[{".":4,"e":1}],"å":[{"l":15,"p":152},1]}],"l":[{"i":[{"p":93}],"o":69,"y":15},88],"m":88,"n":[{"a":[{"r":4}],"o":7,"ø":[{"d":169,"k":15},1]}],"o":[{"f":88,"k":257,"l":[{"o":22}],"m":[{"a":1},88],"r":[{"a":24,"g":[{"a":0}]}],"v":[{"e":12}]}],"p":[{"i":[{"l":4}],"o":[{"r":1}]}],"r":[{"i":35}],"t":[{"a":[{"d":38}],"e":[{"d":1,"k":12,"l":[{"l":[{"i":120}]}],"p":15}],"i":[{"l":[{"p":2}],"p":152}],"r":[{"e":[{"n":15}],"å":1},31],"u":[{"s":12}],"v":34},7],"u":[{"l":375,"r":90}],"v":[{"a":[{"r":[{"a":16}]}],"e":[{"k":6},69]}],"y":[{"n":[{"a":31}],"r":22}],"ø":[{"y":[{"e":2}]}],"å":11},187],"t":[{".":168,"a":[{".":188,"b":[{"s":203}],"d":[{"a":18,"o":144},719],"f":[{"a":38,"e":164,"l":22,"t":12}],"g":[{"e":61}],"h":162,"k":[{"a":[{".":31}],"k":166,"l":162}],"l":[{".":168,"a":[{"k":22},720],"d":15,"e":[{".":23},162],"i":334,"t":166}],"m":[{"e":90,"m":164}],"n":[{"a":[{".":22}],"d":[{"e":[{".":168}]},178],"e":6,"f":0,"g":[{"s":138},0],"l":12,"o":148,"t":[{"r":97}],"v":12}],"o":162,"p":[{"a":152,"p":0,"å":93},173],"r":[{"i":90}],"s":[{"j":497,"t":248},172],"t":[{"o":[{"p":22},162],"u":24},172],"v":[{"e":164}]}],"b":721,"c":2,"d":173,"e":[{".":361,"a":173,"b":173,"d":[{".":164,"a":0,"t":166}],"e":[{"n":23},88],"f":722,"g":[{".":249,"a":[{"l":120}],"e":0,"h":164,"n":248,"r":0,"s":[{"p":[{"l":166},162]}]}],"h":[{"e":[{"r":23}]}],"i":[{"e":[{"r":17}],"k":[{"n":162}],"n":[{"s":724}]},723],"k":[{".":178,"a":297,"e":[{"t":23},11],"i":0,"n":248,"o":162,"t":0,"v":725}],"l":[{"a":162,"e":[{".":22,"g":38,"v":22}],"i":[{"g":38}]}],"m":[{"d":166,"m":178,"n":166,"ø":162}],"n":[{"a":[{"r":23},17],"e":[{"n":337,"r":0,"s":417}],"g":249,"i":0,"k":168,"o":162,"s":[{"l":14}]}],"o":[{"l":38},162],"p":[{"p":[{"e":[{"r":16}]}]},173],"r":[{".":6,"a":[{"m":0},525],"e":[{"s":[{"t":11}],"v":0}],"f":252,"i":[{"d":0,"s":61,"v":726}],"m":181,"r":168,"u":[{"n":22}],"ø":46}],"s":[{"e":0,"l":[{"e":61}]},173],"t":[{"a":0,"r":77,"ø":11},162],"v":[{"e":162,"i":162,"l":168,"n":166}],"å":168}],"f":721,"g":[{"a":[{"v":[{"e":[{".":36}]}]}],"å":[{"v":[{"a":46,"e":[{".":46}]}]}]},173],"h":[{"e":15},727],"i":[{"a":361,"b":[{"e":38,"l":155},162],"c":[{"k":11},164],"d":[{"e":[{"l":11}]},306],"e":[{"n":22}],"f":[{"t":164},88],"g":[{"e":[{"n":0}],"i":304,"j":84,"n":164}],"j":38,"k":[{"a":274,"e":248,"l":0}],"l":[{".":249,"a":[{"g":23},337],"d":162,"e":[{"g":[{"e":33}]},164],"k":11,"n":168,"o":0,"s":274,"t":[{".":337,"a":274,"e":166}]}],"m":[{"e":[{"r":61},162],"é":168,"u":249}],"n":[{"d":367,"i":11,"n":241,"s":[{"t":11}],"t":11}],"p":[{"p":181,"s":168},184],"r":166,"s":[{"k":306},173],"t":[{"t":162}],"å":162}],"j":[{"a":0,"e":[{"l":166,"n":[{"e":175,"t":97}],"r":164}],"u":162}],"k":173,"l":173,"m":173,"n":646,"o":[{".":88,"f":172,"g":361,"k":[{"s":162,"t":168}],"l":[{"i":164,"j":162,"l":38}],"m":[{"m":155,"s":12,"t":274},162],"n":[{"i":162}],"p":[{"e":12,"p":[{"l":15}]}],"r":[{"d":728,"e":[{"t":23,".":334}],"m":11,"o":18,"s":162}],"s":9,"t":[{"r":53},153],"u":15,"v":[{"a":166}]}],"p":173,"r":[{".":167,"a":[{".":12,"d":248,"f":[{"f":93,"i":168}],"i":[{"l":168}],"l":12,"n":[{"a":[{".":46}],"d":166,"e":162,"s":168},1],"p":168,"r":162,"s":[{".":2,"t":[{".":2}]}],"u":[{"m":337}]}],"e":[{"a":729,"d":0,"i":[{"k":304,"s":15}],"k":[{".":191,"l":15,"s":[{"a":730}]}],"n":[{"i":168}],"r":[{".":15,"s":168}]}],"h":168,"i":[{"a":301,"d":401,"e":166,"g":[{"e":15}],"n":12,"p":731,"s":732}],"o":[{"e":168,"g":229,"k":337,"l":12,"m":733,"n":12,"p":[{".":2,"a":472,"e":11}]}],"u":[{"g":96,"k":689,"m":[{".":15}]}],"y":[{"g":168,"k":[{"t":152}],"t":15},173],"æ":181,"ø":[{"b":274,"k":[{"k":38}],"m":4,"r":162,"s":[{"e":15,"t":38},162],"y":162},184],"å":[{"d":168}]}],"s":[{"a":[{"m":[{"e":[{".":36}]}]}],"y":[{"n":[{"a":46}]}]},310],"t":[{"a":[{"l":[{"e":[{".":36}]}]}],"r":34},642],"u":[{"a":0,"b":184,"d":178,"e":[{"l":23,"r":[{"e":17},23]},88],"m":178,"n":[{"g":434,"n":168,"t":497}],"r":274,"t":722}],"v":[{"e":[{"d":89}]},173],"y":[{"a":173,"d":173,"k":178,"l":31,"n":267,"p":699,"r":[{"s":203},178],"s":[{"k":168}],"v":[{"e":22},162]},172],"ø":[{"k":173,"l":166,"m":168,"p":166,"r":[{"k":168}],"t":166,"v":[{"a":[{".":61,"r":22}],"e":24,"i":22}],"y":6},172],"å":[{"e":337,"k":22},172]}],"u":[{".":162,"a":[{"l":94},296],"b":[{"l":61,"o":24,"s":166,"å":90},734],"e":[{"r":6},172],"f":7,"g":[{"a":[{".":4}],"e":[{".":1}],"g":24},504],"h":7,"i":[{"s":568,"t":[{"a":17}]},735],"k":[{"e":187,"k":686,"r":24,"s":716},7],"l":[{"e":[{".":1}],"f":178,"i":[{"k":1}],"t":[{"r":53}],"u":153,"y":173,"æ":17}],"m":[{"i":[{"d":181}],"o":7,"s":36},336],"n":[{"d":[{".":166,"e":[{"r":525,"t":166}],"i":337,"r":127,"s":301}],"g":[{"e":[{".":23}]}],"i":736}],"o":1,"p":[{"e":[{".":1,"r":203}],"i":49,"r":[{"e":6},737]},336],"r":[{"d":22,"e":[{".":1,"i":563}],"f":172,"i":[{"e":1,"u":1}],"s":[{"k":17,"p":23,"t":[{"i":23}]}]}],"s":[{"a":[{"n":12}],"e":[{".":1,"s":3}],"i":[{"k":1},162],"p":24,"s":24,"y":7},172],"t":[{"r":[{"a":[{".":31}],"e":[{"g":32}]}]},738],"v":[{"i":739},191]}],"v":[{".":168,"a":[{"a":22,"i":17,"k":[{".":166,"e":164,"s":168}],"l":[{"a":23,"e":[{"s":23,"t":168}],"i":334}],"m":304,"r":[{".":0,"e":[{"t":0}],"m":90,"t":178}],"s":200}],"e":[{"g":[{"i":127},200],"i":[{"e":38,"s":178}],"k":[{"a":38,"s":274}],"n":[{"s":337}],"r":[{"d":[{"s":740}],"e":[{"s":32},23],"g":178,"j":337,"k":[{"i":5},38],"m":0,"v":306}],"v":502}],"i":[{"e":[{"l":144},0],"f":[{"t":167}],"g":162,"k":[{"e":[{".":22}],"g":168,"s":[{".":162}],"t":[{"i":248},164]}],"l":162,"n":[{"d":[{"e":[{"l":11}]}],"e":[{"s":23}],"g":[{"s":740}],"k":175}],"r":[{"k":741},162],"s":[{"a":[{".":23}],"e":[{"n":22,"r":22},23]},173],"v":[{"e":39},93]}],"o":[{"l":162,"r":[{"t":16},504]}],"r":90,"u":[{"l":[{"m":334},164]}],"y":[{"e":[{"n":[{"e":16}]}]},742],"ø":184,"æ":[{"s":162}],"å":699},7],"y":[{"c":1,"d":[{"e":[{".":1,"n":15}]}],"e":[{"r":7},166],"k":[{"a":6,"e":[{"r":[{"e":15},1]}],"o":[{"g":4},173]}],"m":[{"e":2},502],"n":[{"d":[{"l":248}],"k":5,"o":83,"s":[{"k":31}],"t":[{"e":24}]},88],"r":[{"a":[{"r":15},1],"e":[{".":1},11],"k":[{"a":23,"e":[{".":23}]},188]}],"s":[{"e":1,"l":7,"t":[{"r":23},21]},567],"t":[{"e":[{"n":15}],"h":20,"t":301},224],"v":[{"å":7}]},172],"z":[{"c":[{"z":34}],"t":[{".":168}]},0],"æ":[{"l":7,"r":[{"e":[{"n":669},669],"i":298,"l":[{"e":33}],"s":112}],"t":[{"e":743,"t":162}]},172],"ø":[{".":162,"d":[{"e":153},7],"f":162,"g":23,"j":162,"k":[{".":301,"e":249,"j":166,"k":[{"j":61},166],"n":[{"a":249}],"o":173,"s":[{"k":23,"e":744,"m":334}],"t":[{"a":23}]}],"l":[{"a":[{".":1}],"e":[{".":1,"t":15}]},178],"m":[{"å":4},336],"n":[{"n":164,"s":153}],"p":0,"r":[{"a":[{"s":1}],"e":[{".":1,"n":[{"d":[{"e":[{".":120}]},26]}],"t":[{"t":39},6]}],"l":191,"s":24,"ø":22}],"s":[{".":162,"a":6},336],"t":[{"a":[{"s":[{"t":2}]}],"e":[{"l":2,"s":15}]},191],"v":[{"e":153,"n":164},173],"y":[{".":267,"a":181,"d":[{"e":[{".":32}]},274],"e":167,"l":164,"n":491,"r":28,"s":699}]},172],"å":[{"g":166,"k":[{"e":151}],"l":[{"e":[{".":1}]},337],"n":[{"d":[{"a":23,"e":[{".":31}]}]},200],"p":[{"a":301,"e":[{"t":15}],"n":200,"u":39},7],"r":[{"a":[{"s":[{"t":[{".":39}]}]},4],"e":[{".":1}],"s":[{"k":24}],"ø":61},7],"s":[{"a":152,"b":0,"e":38,"k":22,"t":22},7],"v":[{"a":16},301]}]}],"v":[{"s":[{"t":[{"e":[{"k":[{"s":[{"t":169}]}],"m":[{"a":[{".":36}]}]}],"i":[{"l":12}]},784],"a":[{".":11,"l":[{"i":152}]}],"e":[{".":11,"g":[{"g":12},0],"l":[{"i":198},89],"n":[{".":38,"g":169,"s":229},23],"r":88}],"i":[{".":11,"n":69}],"k":[{"e":6,"u":[{"m":97}],"v":69},153],"l":[{"a":[{"n":12}],"e":[{"t":4}],"i":[{"k":11}]},153],"m":[{"å":[{"l":[{"a":46}]}]}],"n":[{"a":96,"e":12,"y":12,"æ":12,"ø":193},150],"o":[{"d":15,"m":[{"s":783},17],"n":152,"r":69}],"p":[{"e":7}],"r":[{"e":[{"d":[{"e":[{".":36}]}]}]}],"s":[{"t":40,"å":26}],"v":[{"a":96},69],"ø":[{"k":[{"e":[{".":31}]}],"l":17,"y":[{"e":[{"r":5}]},230]}],"å":[{".":93,"r":[{"e":61}]}]},167],"a":[{"a":[{"m":12,"n":6}],"b":162,"d":[{"j":168,"r":54}],"f":[{"r":31},24],"i":[{"r":22,"s":22}],"k":[{"a":[{".":4,"n":2}],"e":[{"r":15}],"h":168,"i":[{".":6}],"o":162,"r":24,"s":[{"i":304,"j":181,"t":19}],"t":[{"r":17},172],"u":69,"v":24}],"l":[{"a":[{"n":12}],"e":[{"d":1,"k":[{"s":39}],"l":162}],"g":[{"r":41}],"i":[{"e":260}],"l":[{"a":24}],"m":[{"e":[{"s":31}]}],"o":232,"u":[{"n":1},69],"v":162,"ø":[{"y":1}],"å":61}],"m":[{"p":[{"u":32}]}],"n":[{"a":[{"l":181}],"d":[{"s":17}],"e":[{"s":17,"t":1},0],"g":[{"r":23,"s":396},173],"i":[{".":6}],"n":[{"a":[{"n":23}],"i":[{"v":23}],"s":[{"t":[{"i":36}]}]},253],"o":[{"m":1}],"s":[{"e":[{"m":22}],"k":[{"i":19},166],"m":24},0],"t":[{"i":24,"r":39}],"y":1}],"p":[{"o":15},173],"r":[{"a":[{".":1,"k":4,"l":1,"m":1,"p":1}],"e":[{".":1,"g":1,"m":4,"s":1}],"k":[{"a":32}],"m":[{"a":22,"e":[{"e":23}]}],"s":[{"a":23,"k":23,"t":[{"i":53}],"v":23}],"t":[{"a":[{"l":[{"a":33}]}],"e":[{"m":31}],"i":[{"s":415}]}]}],"s":[{"a":[{".":1},162],"e":[{"t":35}],"i":[{"d":168,"e":4,"f":1,"k":1,"l":1,"s":4}],"k":7,"s":[{"a":[{"u":23},17],"e":[{"l":23}],"ø":127}],"t":[{"a":162}]}],"t":[{"a":[{".":12},22],"e":[{"l":774,"r":[{"f":7}]}],"l":[{"e":[{"g":[{"e":[{".":120}]}]}]}],"n":166,"o":69,"r":[{"a":61},4],"s":54}],"u":162,"v":188,"z":1}],"b":[{"a":[{"n":[{"e":[{".":23}]}]}],"e":[{"r":[{"g":17}]}],"o":[{"d":[{"a":31}]}]},174],"d":[{"e":[{"v":152}],"i":[{"n":[{"g":[{"s":740}]}]}],"o":[{"i":152,"n":152}],"r":4,"u":[{"e":[{"n":[{".":31}],"r":31}]}],"ø":152},200],"e":[{".":172,"a":[{"g":4,"r":[{".":4}]},419],"b":173,"c":173,"d":[{"o":[{"b":35,"m":14}],"s":[{"k":42},183],"t":775,"ø":5,"å":36},129],"e":[{"r":1},173],"f":173,"g":[{"a":[{"v":3}],"e":15,"g":[{"s":103},164],"j":173,"l":[{"e":12,"ø":[{"d":20}]},162],"n":22,"o":173,"r":[{"e":[{"t":[{"t":22}]},168],"u":162}],"u":[{"t":1}],"å":26}],"h":173,"i":[{"e":[{"b":32,"n":24},776],"l":[{"l":162}],"t":168}],"j":173,"k":[{"a":[{".":495},162],"e":[{".":1,"d":1,"e":162}],"i":173,"j":162,"l":[{"a":32,"e":32,"i":1},173],"o":173,"r":173,"s":[{"t":[{"r":271},23]},164],"t":[{"a":[{"n":53}],"o":22,"r":53},172],"å":173}],"l":[{".":166,"a":[{"s":26,"t":[{".":166,"p":166}]}],"d":[{".":168,"e":[{"l":23}],"s":167}],"e":[{"d":162,"i":168,"t":191}],"i":[{"s":162,"t":162,"v":168}],"o":[{"c":166},173],"s":[{"e":[{"s":139},24],"m":24,"p":22,"t":22},183],"u":[{"g":162,"n":22}],"v":22,"y":173,"æ":173,"ø":[{"p":[{"a":46}]},173]}],"m":[{"a":15},173],"n":[{"a":[{".":6}],"e":[{"m":162,"t":[{"e":4},15],"v":162}],"i":[{"n":1}],"n":[{"i":47,"l":[{"e":170}]}],"o":7,"s":[{"t":[{"i":31,"r":31}]}],"t":[{"a":36,"r":19,"s":5,"y":162}],"u":[{"s":1},173],"y":[{".":15,"a":162,"m":1}]},172],"o":707,"p":173,"r":[{".":519,"a":[{"k":22,"l":24,"u":167}],"d":[{"e":[{"s":31}],"i":[{"n":31,"r":31}],"v":16}],"e":[{".":12,"d":162,"g":162,"i":[{"g":166}],"k":162,"l":1,"n":[{"g":21,"n":162}],"p":162,"r":15,"s":[{".":15}],"t":[{"t":162,"u":162}]}],"f":[{"ø":[{"r":[{"e":14}]}]}],"i":[{".":35,"a":[{"l":1},18],"e":2,"k":162,"l":24}],"k":[{"n":166}],"m":19,"n":[{"a":[{"l":31}],"s":116}],"o":[{".":35,"m":12}],"s":[{"k":[{"a":[{".":32}],"i":22}],"p":[{"o":61}]}],"t":[{"a":[{"l":[{"a":[{".":91}],"e":[{".":120}]}]}]}],"u":[{"m":[{".":166}]},69],"y":168,"ø":[{"s":777},36],"å":162}],"s":[{".":164,"a":[{"n":15},307],"e":[{"t":162}],"h":162,"i":162,"j":162,"k":[{"i":162}],"l":[{"i":35},173],"m":8,"o":465,"p":[{"e":[{"r":13}]},162],"t":[{"e":[{"d":15,"n":[{"d":47}]}],"o":[{"v":78}],"r":162,"u":162,"ø":162}],"v":[{"a":58},12],"y":[{"n":[{"d":[{"s":166}]}]}],"ø":173,"å":[{"r":[{"e":17}]},69]},0],"t":[{".":172,"a":[{"k":[{"a":167}]},173],"e":[{"g":162,"k":162,"s":778,"v":168}],"i":278,"j":162,"o":[{".":1,"e":16,"k":[{"e":301,"s":[{".":301}]}],"r":1},173],"r":173,"s":172,"t":[{"s":[{"k":17}]}],"v":168,"y":[{"e":46},162]},0],"u":[{"m":6},173],"v":[{"a":[{"k":4,"n":15,"r":35},173],"i":[{"s":[{"a":46}]},173],"s":[{"m":23,"p":23}]}],"ø":173,"å":173}],"ê":172,"f":[{"a":[{"l":[{"l":103}]}],"ø":[{"r":[{"e":[{".":61}]}]}]},188],"g":[{"a":[{".":0,"l":[{"e":[{".":23}],"i":31}],"v":[{"e":[{".":32}]}]}],"e":155,"i":[{".":0}],"j":[{"e":[{"r":[{"s":510}]}]}],"o":23,"å":[{".":0}]},174],"h":[{"ø":[{"r":[{"e":[{".":23}]}]}]},188],"i":[{"a":[{"n":69},172],"b":[{"l":4}],"c":[{"e":[{"s":17}]}],"d":[{"e":[{"o":396},15],"o":158,"r":24,"s":65},172],"e":[{"l":69,"n":[{"d":15}]}],"g":[{"m":23,"u":1,"ø":15}],"k":[{"a":[{"t":1}],"b":166,"e":[{"d":15}],"g":191,"k":[{"e":22}],"n":22,"o":779,"s":[{".":164,"a":22,"l":19}],"t":[{"i":166},162],"ø":158}],"l":[{"a":[{".":15},129],"e":[{"s":133}],"i":[{"n":85}],"j":172,"l":[{"a":[{"n":53}],"e":[{"d":[{"e":[{".":120}]},23],"i":23,"p":49}],"u":274}],"m":22,"o":54,"s":[{"t":[{"i":23}]}],"t":[{"o":16,"r":[{"e":[{"t":31}],"i":23}]}],"ø":7}],"m":[{"p":61,"u":61},162],"n":[{"d":[{"a":[{"u":47}],"l":162,"u":166}],"e":[{"s":[{"t":17}]}],"g":[{"n":162,"o":[{"m":[{".":22}]}],"r":18,"u":148},11],"n":[{"a":24,"e":[{"d":23}],"h":168,"l":248,"s":248,"t":162}],"o":[{"v":[{"e":[{"r":83}]}]}],"s":[{"j":[{"a":61}]},605],"t":[{"e":[{"s":23}],"r":[{"e":22}]}]}],"p":[{"a":[{".":6}],"e":[{".":4}],"s":22}],"r":[{"o":162,"u":191},172],"s":[{"a":[{"b":24,"k":24,"n":[{"d":22}]}],"e":[{"e":1,"n":[{"g":4},12]}],"k":[{"r":[{"e":36}]},129],"m":22,"o":[{"m":24},69],"p":[{"a":39},1],"s":[{"p":5}],"t":[{"i":22}]}],"t":[{"a":[{"k":1}],"e":[{"s":[{"e":15}]}],"j":780,"o":85,"r":[{"a":61,"e":22},1],"s":[{"k":[{"r":22}]}],"t":[{"e":[{"s":781}]}],"u":[{"n":[{"g":[{"e":[{".":120}]}]},26]}],"ø":[{"y":443}]}],"v":[{"a":[{".":1}],"e":[{"s":4}],"i":18}]}],"j":[{"a":153,"e":[{"t":[{"a":53,"e":19,"r":53,"t":18,"u":23}]},153],"i":153,"o":248,"u":[{"t":24}]}],"k":[{"l":[{"e":[{"r":1},1]}],"u":[{"l":[{"e":[{".":23}]}]}]},757],"l":[{"a":[{"b":11,"g":[{"a":31}]}],"e":[{"d":155,"g":155,"i":[{"e":49}],"l":4,"s":[{"e":[{".":23}],"n":38,"t":[{"r":22}],"v":11}]}],"i":[{"v":61}],"s":39,"u":[{"s":[{"a":39}]}]},520],"m":[{"a":[{"l":[{"e":[{".":32}]}]}],"o":[{"d":[{"e":[{".":32}]}],"r":[{"d":103}]}],"å":[{"l":[{"a":32}]}]},188],"n":[{"a":[{"d":90,"k":[{"e":[{".":32}]}],"l":15,"r":155}],"d":[{"y":15}],"e":[{"b":61,"d":[{"e":61},88],"l":[{"e":0,"i":0,"o":0}],"m":88,"r":[{"e":19,"o":0}],"s":[{"t":[{"a":0,"e":11}]},54],"v":88}],"o":[{"r":[{"s":[{"k":[{"a":[{"s":260}]}]}]}]}],"s":[{"p":[{"a":26}],"t":182}],"t":9,"æ":[{"r":[{"e":[{".":23}]}]}],"ø":[{"r":15}]},188],"o":[{"a":[{"l":69,"r":7}],"b":168,"f":[{"f":[{"a":[{"n":32}]}]},173],"g":[{"u":1}],"i":54,"k":[{"o":162,"s":[{"k":18},47]},172],"l":[{"i":[{"t":[{"u":1}]},16],"t":[{"e":[{"s":23}]}]},172],"m":173,"n":[{"a":[{"l":35,"r":35},1],"d":[{"e":22}],"s":[{"h":22},36]}],"p":566,"r":[{"d":[{"a":[{".":32}]},173],"e":[{"n":35},69],"g":188,"o":162,"s":[{"k":16}]}],"s":[{"j":162,"s":[{"e":23}]},172],"t":[{"e":[{"g":1,"l":1}],"r":168}],"v":[{"e":[{".":1}],"i":[{".":4}]},69]}],"p":272,"r":[{"a":[{"k":249,"r":152}],"e":[{"g":[{"i":203}],"n":[{"g":[{"e":168,"i":162,"j":11,"t":11}]}],"t":[{"t":[{"s":103}]}]},153],"i":[{".":11,"d":164,"e":191,"g":[{"a":[{"s":11}]}],"m":[{"a":[{".":31}],"e":[{".":32}]}],"n":[{"g":90,"s":17}],"v":[{"e":[{".":31}]}]}],"o":[{"b":0,"f":0,"k":0,"p":0,"t":[{"e":[{".":32}]}]},153],"u":153,"y":152,"ø":[{"v":[{"e":24}]}],"å":[{"d":[{"a":[{".":32}]}]},153]},782],"t":[{"a":[{".":0,"k":[{"a":[{".":32}]}],"l":[{"e":[{"d":31,"n":39,"v":23}]}],"s":31},54],"e":[{"p":[{"p":38}]}],"i":[{"n":[{"a":32,"e":[{".":32}]}]},229],"r":229,"s":2,"v":151,"y":[{"e":32}]},188],"u":[{"d":[{"d":22,"e":[{"n":[{"t":14}]}],"s":5},129],"é":167,"k":6,"l":173,"n":[{"g":[{"e":[{".":23}]},173]}],"o":356,"t":188},172],"v":[{"a":[{"l":[{"a":32}]}],"e":[{"g":[{"i":[{"n":[{"g":[{".":148,"a":127}]}]}]}],"n":[{"n":[{"i":128}]}]}],"i":[{"k":[{"e":22,"l":127}],"s":[{"a":[{"n":148}],"e":[{".":23}]}]}]},188],"y":[{"a":23,"e":[{"n":[{"s":2}]}]},189],"æ":[{"r":[{"a":69,"e":[{"t":35}]}],"t":[{"a":[{".":6}]}]},172],"ø":[{"d":89,"k":[{"s":175}],"l":[{"i":2},1],"m":[{"m":[{"e":[{"t":23}]}]}],"r":[{"e":[{".":4},164],"k":[{"e":90}],"n":[{"a":[{".":32}]}]}],"s":[{"e":[{".":12}]}],"v":38,"y":[{"e":[{"n":[{"e":[{".":61,"s":39}]}]},31]},187]}],"å":[{"a":172,"e":[{"n":[{"d":162}]},172],"k":[{"a":[{".":6}],"e":[{".":1,"n":[{"e":[{".":35},1]}]}]},0],"l":[{"e":[{".":1}]}],"n":[{"e":15,"u":162},172],"r":[{"e":[{"n":12}]}],"s":[{"a":[{".":6}]}],"t":[{"e":[{"s":15}],"f":168,"å":61}]}]}],"t":[{"a":[{"a":69,"b":[{"o":162,"r":28,"s":28,"u":[{".":1}],"ø":162}],"c":69,"d":[{"a":7,"e":[{"i":59,"t":55}],"s":[{"p":[{"a":22}],"v":77}],"u":4},162],"e":[{"i":168,"k":162,"l":162,"n":[{"d":162,"h":162},172],"s":4},93],"f":[{"e":286,"f":77,"i":[{"s":166}],"l":162}],"g":[{"e":172,"j":162}],"h":167,"i":[{"s":2}],"k":[{".":172,"a":[{".":1,"u":162}],"e":[{"n":2,"r":15}],"k":[{"e":[{"l":61}],"l":42}],"l":[{"a":219}],"r":173,"s":[{"a":[{"l":23}],"e":[{".":31}],"i":23,"j":181,"t":166}],"t":[{"a":[{"l":23}],"i":[{"g":162}],"o":23,"ø":38}],"u":69,"v":24}],"l":[{".":172,"a":[{"m":35,"n":[{"g":22},12],"s":2}],"e":[{"i":[{"e":22},1],"k":1,"r":[{".":15}],"s":128},164],"g":[{"e":[{".":31}]},172],"j":[{"e":[{"s":17}]},191],"l":[{"e":[{"d":23,"g":23,"r":[{"g":175}],"s":16}],"i":[{"g":[{"n":32}]}],"s":[{"a":202}],"y":23}],"o":[{"p":24}],"t":[{"e":[{"r":[{"n":38},168]}]}],"u":663,"å":4}],"m":[{"b":[{"a":[{"n":[{"e":[{".":120}]}]}],"i":90},173],"e":[{"t":162},0],"i":23,"o":707,"v":22}],"n":[{".":11,"a":[{"b":22,"l":181,"r":12,"s":15,"t":15},7],"d":[{"a":[{"k":38}],"e":[{".":334,"l":[{".":152,"e":38}]}],"r":17,"ø":[{"r":[{"e":139}]},103]}],"e":[{"l":1,"m":15,"t":[{"t":162}]},172],"f":[{"a":90,"ø":120}],"g":[{"f":168,"r":434}],"k":172,"l":[{"e":90},173],"m":188,"n":[{"l":164,"o":38,"s":103}],"s":[{"k":[{"a":17},31],"l":597,"t":[{"r":248}],"v":162}],"t":[{"i":[{"l":167}],"r":[{"a":23,"e":306}]}],"v":[{"e":90}]}],"o":707,"p":[{".":166,"a":[{".":1}],"e":[{".":1},172],"i":164,"l":162,"p":[{"a":162,"i":166}]}],"r":[{".":253,"a":[{"k":85,"m":162,"r":[{"e":4}]},11],"b":[{"o":164,"ø":166},173],"e":[{"n":[{"a":343}]}],"k":[{".":306,"a":[{".":32}],"e":248,"i":181}],"r":[{"a":162}],"s":[{"i":39,"p":61,"v":36}],"t":[{"e":[{"s":[{"t":16}]}],"i":[{"k":38,"t":61}],"r":41},162],"å":[{"k":531}]}],"s":[{"a":162,"e":12,"f":634,"i":[{"a":89,"e":18,"f":1,"l":1,"s":289}],"p":23,"s":42,"t":[{"a":[{"s":32}],"o":204,"r":2}],"u":162}],"t":[{"a":69,"e":[{"s":[{"e":[{".":46}]},2],"v":42}],"i":176,"o":[{"p":24}],"s":261,"t":[{"e":24,"r":90}]}],"u":[{".":301,"e":191,"g":248,"k":272,"n":[{"e":[{".":23}]},162],"s":[{"k":23}],"t":173},172],"v":[{"i":[{"n":168}],"l":[{"i":162},164]},173],"x":[{"y":35}]}],"b":[{"a":[{"d":24,"n":28}],"e":[{".":11,"t":[{"e":[{".":31}],"r":[{"a":745},127]}]}],"o":[{"d":[{"a":31}]}],"u":[{"d":[{"a":32}]}],"y":[{"k":24,"s":23,"t":[{"e":61}]}]},520],"c":[{"e":[{"n":5},153],"h":[{"e":22}],"o":38},173],"d":[{"y":[{"p":[{"e":22}]}]},361],"e":[{"a":[{"d":162,"g":265,"k":173,"l":424,"m":31,"n":420,"p":173,"r":[{"b":15},173],"s":23,"t":[{"r":164,"t":162}],"u":173,"v":173}],"b":[{"b":38,"u":[{"d":[{"a":46}]}]},162],"c":[{"e":[{"l":162}],"o":69}],"d":[{"d":[{"i":274}],"e":[{".":164,"b":162,"f":2,"k":162,"l":162,"m":162,"n":15}],"i":[{"l":166},162],"o":[{"e":[{"n":[{".":36}],"r":5,"t":[{".":46}]}],"r":1},162],"s":[{"k":23,"l":23}],"u":168,"y":[{"r":[{"k":33}]},162],"ø":162},173],"e":34,"f":[{"a":167,"i":162,"l":162,"o":[{"r":46},162],"t":[{"e":90}],"ø":164},173],"g":[{"a":[{"t":166},173],"d":181,"e":[{"a":2,"e":35}],"g":[{"a":[{".":32}]},162],"h":173,"i":[{"m":1}],"j":173,"l":[{"a":12,"i":84},173],"s":[{".":167,"p":[{"l":168}],"v":168}],"u":173,"v":[{"i":91}],"å":[{"s":166},173]}],"h":162,"i":[{".":166,"d":307,"e":90,"g":[{"a":[{".":31},90],"e":[{".":381}],"r":168}],"k":[{"n":164}],"l":[{"e":22}],"m":69,"n":[{"f":168,"n":[{"e":1}],"t":[{"e":15}]}],"s":[{"o":168},9]}],"j":173,"k":[{"e":[{"n":2,"r":15}],"i":[{"l":162}],"j":173,"k":276,"l":[{"a":9,"e":[{"d":[{"e":[{".":31}]}]}],"i":23},173],"n":[{"u":162}],"o":173,"r":[{"a":2,"u":3},173],"s":[{".":301,"a":181,"e":90,"p":162,"t":453}],"t":[{"r":148,"s":5,"y":31}],"u":173,"v":107,"y":162,"ø":173,"å":162}],"l":[{"a":[{"k":31,"r":746,"v":164},285],"e":[{".":747,"d":162,"i":162,"k":162,"m":[{"e":162}],"n":[{"e":1}],"r":168,"s":[{"k":15},1],"v":[{"a":4},303]}],"i":[{"d":162,"k":162,"l":162,"n":162,"r":1,"s":162,"t":162,"v":162}],"l":[{"e":[{"f":22,"i":23,"v":23}],"i":[{"g":[{"n":32}]}],"o":23}],"o":173,"s":[{"e":[{"s":139},24],"k":90,"v":77}],"t":[{"e":[{"t":166}]}],"u":[{"t":191},189],"y":173,"æ":168,"ø":[{"p":[{"a":[{".":46}]}]},173],"å":173}],"m":[{"a":[{"e":164,"n":[{"s":1},168]}],"b":[{"a":38}],"e":[{"n":[{"n":168}]}],"i":[{"k":166}],"m":[{"a":39}],"n":[{"e":[{".":22}]},168],"o":[{"r":[{"d":22}]}],"p":[{"e":[{"l":748},22],"o":164}],"s":24,"ø":162},173],"n":[{".":164,"a":[{"b":15,"l":26,"m":32,"n":1,"t":[{".":22},1]}],"c":306,"d":[{"e":[{"n":313}],"r":162}],"e":[{"d":162,"g":15,"m":168,"r":[{"g":168}],"s":166,"t":162}],"g":[{"o":[{"n":191}]},173],"i":[{"g":229,"k":191,"s":166,"v":162}],"n":[{"o":39}],"o":[{"m":1,"r":[{"m":168},15],"t":162,"v":4}],"ó":168,"s":[{"a":24,"k":[{"o":22}],"l":[{"u":31}],"o":24,"v":17}],"t":[{"i":[{"n":53}],"l":[{"e":[{"g":[{"e":[{".":242}]}]}]}]}],"u":[{"m":162}],"y":162,"æ":162,"ø":[{"k":[{"s":22}]},173]}],"o":[{"m":173,"n":166,"p":162,"r":[{"a":4,"i":4,"d":162}],"v":173}],"p":[{"a":[{"k":162,"r":[{"a":49}],"s":162},12],"e":[{"e":191},236],"é":301,"p":[{"e":[{"r":[{"e":31}]}]}],"l":[{"e":149}],"r":162},173],"r":[{"a":[{"c":162,"k":[{"k":2}],"m":[{"m":168}],"p":[{"a":61,"p":162}],"r":[{"e":1}],"s":[{"a":168,"e":162,"t":191}]}],"b":[{"a":[{"n":[{"e":[{".":120}]}]}]}],"d":428,"e":[{"d":162,"f":162,"g":162,"i":[{"s":162}],"l":1,"m":[{".":167,"m":168}],"n":[{"g":[{"a":120},26],"n":168}],"p":162,"r":[{"k":1}],"s":[{"t":[{"i":22}]}],"t":[{"t":162}],"v":[{"o":168}]}],"g":686,"h":164,"i":[{"g":1,"k":162,"s":[{"i":162}],"v":1}],"j":22,"k":[{".":162,"e":162,"h":162,"r":191,"s":749,"t":162}],"l":[{"a":[{"g":[{"a":120}]}],"e":[{"g":[{"e":58}],"v":[{"e":[{".":120}]}]}]}],"m":[{"a":[{".":32}]}],"n":[{"o":24,"s":17}],"o":[{".":15,"e":36,"f":12,"l":[{"l":162}],"m":[{"r":166},162],"s":265,"t":265,"v":36}],"r":22,"s":[{".":166,"j":[{"ø":[{"o":166}]}],"k":[{"l":5,"o":77}],"l":5,"h":5,"m":65,"n":[{"e":36}],"v":22,"ø":[{"k":[{"e":[{".":120}]}]}]}],"t":[{"o":39},750],"u":[{"l":39,"m":167}],"v":[{"i":[{"s":[{"e":120}]}]},61],"y":173,"ø":[{"r":22,"t":162,"v":85}],"å":[{"d":162,"s":85}]}],"s":[{".":166,"a":[{"r":166},173],"e":[{"n":2}],"h":189,"i":[{"d":162,"k":162,"n":465,"t":162}],"j":[{"e":[{"f":168}]},162],"k":[{"a":[{".":751}],"i":168,"o":15},281],"m":[{"å":[{"e":191}]},419],"n":189,"o":285,"p":168,"r":166,"s":164,"t":[{".":166,"a":[{"f":162,"s":22,"t":162}],"e":[{".":558,"i":236}],"i":[{"v":20,"d":166,"k":23,"l":383}],"o":265,"r":265,"y":162,"ø":162}],"u":173,"v":[{"æ":32},281],"y":173,"ø":285,"å":[{"r":[{"e":49},6]},2]},0],"t":[{".":164,"a":[{"k":[{"a":36}],"l":[{"e":[{".":36}]}],"p":1}],"e":[{".":166,"e":5,"g":162,"i":162,"k":162,"m":162},12],"i":[{"k":164,"s":164},173],"j":173,"o":173,"r":752,"s":753,"t":[{"i":22,"s":18}],"u":[{".":166},173],"v":173,"y":173,"å":107}],"u":[{"k":32,"r":153,"s":164},173],"v":[{"a":[{"l":[{"u":1}]},11],"l":164,"o":[{"r":36}],"r":12},173],"y":406,"ø":173,"å":173},172],"é":[{"a":162,"b":173,"f":173,"h":173,"i":173,"l":[{"e":162}],"m":173,"s":[{"e":173,"t":162}]}],"f":[{"e":[{"e":31,"l":23}],"l":[{"å":18}],"o":152},200],"g":[{"a":[{".":0}],"e":[{"a":23,"i":17}],"i":[{".":0,"r":[{"o":[{"s":22}]}]}],"r":[{"e":[{"i":[{"e":33}]}]}],"å":[{".":0}]},397],"h":[{"a":[{"p":0}],"e":[{"a":729,"i":[{"m":17}],"s":[{"i":11}]}],"o":[{"l":[{"i":61}],"r":[{"e":24}]}],"r":164,"u":[{"l":[{"e":22}],"s":31}],"y":[{"r":22}]},188],"i":[{"a":[{"d":173,"g":12,"k":189,"l":[{"l":265,"s":15}],"m":420,"p":189,"s":[{"p":12}],"u":162,"v":173}],"b":173,"c":[{"k":173}],"d":[{"a":[{"n":162},7],"d":61,"e":[{"e":434,"m":236}],"é":300,"i":[{"s":162}],"o":162,"r":162,"u":173,"v":[{"i":103}],"y":168,"ø":162},164],"e":[{"f":173,"i":173,"m":173,"n":[{"h":162}],"r":[{"a":22,"f":162,"k":162,"t":1}],"s":[{"k":12},18],"t":[{"a":162,"t":162},12]},8],"f":[{"a":[{"n":[{"e":[{".":46}]}]},173],"e":173,"l":162,"o":173,"r":[{"å":93},310],"t":[{"e":22},162],"u":173,"ø":162}],"g":[{"e":[{".":35}],"j":162,"n":[{"o":164},173],"u":[{"n":4}]}],"h":173,"i":173,"j":173,"k":[{"a":[{".":12,"r":[{"r":168}]}],"e":[{"t":162},15],"i":236,"j":168,"k":[{"j":23}],"o":285,"r":419,"u":[{"l":[{"a":[{"r":168}],"t":168}]},12],"y":168,"ø":162}],"l":[{"a":[{"g":[{"a":36}]}],"d":[{"e":164},177],"e":[{"i":12},173],"f":[{"e":164}],"g":164,"i":[{"d":24}],"k":[{"e":162,"n":164}],"l":[{"e":[{".":162}],"h":162,"i":[{"n":162}],"ø":58}],"m":162,"n":[{"æ":191}],"s":[{"t":164}],"t":[{"e":162},65],"u":173,"ø":173},0],"m":[{"a":[{"b":2,"t":166}],"e":[{".":1,"d":[{"i":[{"e":166}]}],"r":[{"a":1,"i":166}]}],"l":173,"o":[{"r":755},754],"p":188,"s":61,"u":173,"y":173,"ø":173}],"n":[{"a":[{"b":4,"r":[{"t":22}],"z":162}],"d":[{"u":90},173],"e":[{"m":1}],"f":187,"g":[{"e":[{"s":311}]}],"i":[{"t":226}],"j":274,"k":[{"s":191},173],"n":[{"e":274},187],"o":15,"s":[{"k":14,"p":162,"t":181}],"t":187,"v":[{"a":162},173],"y":162}],"o":[{"l":301,"m":204,"n":[{"s":378}],"p":162,"r":69,"v":69}],"p":[{"a":12,"l":[{"a":4}],"r":162,"s":164}],"r":[{"a":[{"t":5}],"e":[{"f":1}],"o":69},173],"s":[{"a":[{"k":168,"m":162,"n":20}],"e":[{"i":280,"k":162,"l":162,"m":162,"p":162,"r":[{"a":[{".":46}],"s":162}]},12],"i":[{"g":168,"o":162}],"j":[{"e":162,"u":162}],"k":[{"a":[{"n":162},23],"i":[{"l":162}],"o":[{"k":22}],"u":168}],"l":22,"n":162,"o":162,"p":[{"r":[{"å":168}]}],"t":[{"a":[{"t":162}],"i":[{".":23,"l":23}],"r":[{"e":15}],"y":162,"ø":[{"y":6},162]}],"y":173}],"t":[{"a":[{"r":6},2],"e":12,"j":69,"l":164,"r":23,"s":24,"t":164},173],"u":[{"b":162,"t":173}],"v":[{"a":[{"n":[{"d":26}],"r":[{"e":49,"t":26}]}],"i":[{"s":31}],"o":173,"s":[{"i":22,"k":22}]}],"y":162,"æ":[{"r":[{".":15,"e":2,"t":[{".":35}]}]}],"ø":370,"å":173},172],"j":[{"a":[{"g":434,"k":188,"r":[{"n":38}]}],"e":[{".":188,"g":188,"l":173,"n":[{"s":[{"t":36}]},172],"p":168,"r":173,"v":38}],"i":[{"n":[{"g":274}]},188],"o":[{"r":[{"d":38}]},173],"u":[{"b":173,"e":23,"n":173,"r":168,"v":497}],"æ":[{"r":[{"e":[{"s":23}]}]}],"ø":173,"å":162}],"k":[{"a":[{"g":11,"r":[{"a":[{".":32}]}]}],"l":[{"y":49}],"u":[{"l":[{"e":[{".":31}]}]}],"å":[{"p":[{"a":32}]}]},756],"l":[{"a":[{"g":[{"a":23}],"t":[{"e":[{".":32}]}]}],"e":[{"d":[{"a":[{".":31}],"r":0}],"f":11,"i":[{"e":[{"r":[{".":17}]}]}],"s":[{"e":[{".":32}]}],"t":[{"i":22}]}],"i":[{"g":[{"h":[{"t":139},120]}],"n":[{"e":[{"s":31}]}],"t":[{"e":[{".":23}]}]}],"u":[{"e":23,"t":96}],"ø":[{"p":[{"a":[{".":23}]}],"y":[{".":2}]}],"å":[{"n":[{"e":24}],"r":61}]},757],"m":[{"a":[{"d":24,"g":[{"e":[{".":32}]}],"k":[{"u":11}],"m":88}],"e":[{"g":399,"i":[{"n":24}],"k":88}],"i":[{"n":[{"i":120,"s":80}]}],"o":[{"s":88}],"å":[{"l":[{"a":[{".":23}]}]}]},188],"n":[{"a":90,"e":[{"e":11,"l":[{"i":[{"g":152},0]}],"r":[{"e":[{"k":23}],"ø":53}],"s":[{"e":[{".":32}],"k":0,"t":0}]}],"i":38,"o":[{".":93}],"s":[{"k":15}],"æ":[{"r":[{"e":31}]}]},222],"o":[{"a":[{"n":191,"r":[{".":191}],"t":31,"u":168,"v":173}],"b":[{"e":[{"r":36}],"l":151,"s":168}],"c":162,"d":[{"a":15,"e":[{".":35,"r":[{"a":1}]}],"o":164}],"e":[{"k":173,"l":168,"t":23},172],"f":[{"f":[{".":168}],"r":[{"e":90,"i":15}]},173],"g":[{"a":[{"t":107}],"e":[{"n":2}],"g":162,"l":4,"r":[{"a":[{"v":168}],"e":1}],"s":[{"t":24}],"u":7}],"h":173,"i":[{"l":18,"n":189}],"j":162,"k":[{"e":673,"i":12,"j":173,"k":[{"e":[{"n":[{"d":17}]}]},173],"l":12,"s":[{"i":166}],"t":166,"u":173},11],"l":[{"a":[{"r":[{"m":26}],"t":166}],"e":[{"l":[{"e":170},15],"r":[{"a":166}]}],"i":[{"n":[{"e":[{".":46}]}]}],"j":173,"k":[{"i":191},758],"l":[{"a":[{"b":23,"g":23}],"e":[{"g":31,"t":[{"t":31}]}]}],"o":164,"t":[{"r":22}],"å":162}],"m":[{"a":[{".":35}],"b":173,"e":[{"n":[{"e":[{".":15}]}]}],"f":173,"g":162,"i":[{"s":[{"e":15,"t":2}]},12],"k":162,"l":[{"ø":[{"p":[{"a":91}]}]}],"m":93,"r":173,"s":[{".":166},234]}],"n":[{"a":15,"e":[{"d":1,"l":1}],"g":[{"s":78}],"i":[{"b":6}],"o":173,"s":[{"a":24,"l":42,"p":22}],"u":173,"y":[{".":1}]},172],"o":285,"p":[{"l":281,"p":[{"d":162,"g":168,"l":[{"e":274,"æ":248}],"o":23,"t":162}],"r":162}],"r":[{"a":[{"k":1,"l":[{"t":22}],"n":[{"g":22,"t":26}],"s":85},69],"d":[{"a":[{".":32}]},162],"e":[{"g":168,"k":[{"s":61},1],"m":2,"n":[{"t":168}],"r":166,"t":[{"e":22},5]},69],"g":[{"a":162}],"i":[{"n":[{"t":22}]}],"k":[{"u":62}],"m":[{"e":61,"s":17}],"n":[{"a":22}],"s":[{"i":5}],"t":112,"v":[{"e":[{"i":139}]}],"ø":1,"å":162}],"s":[{"a":162,"e":265,"h":7,"j":168,"k":[{"e":22,"u":6}],"p":582,"y":173},69],"t":[{"a":162,"e":15,"i":[{".":6}],"o":[{".":15,"r":1}],"y":168}],"v":[{"a":69,"e":[{"g":2,"r":[{"d":15,"e":16,"s":38}]}]},173],"w":166,"ø":162}],"p":[{"a":152,"i":[{"n":[{"e":61}],"p":[{"i":61}]}],"o":[{"e":[{"t":23}]}],"å":[{"k":0}]},594],"r":[{".":167,"a":[{"b":[{"a":[{"t":634}]}],"f":[{"i":164}],"i":[{"n":61}],"k":[{"a":[{".":32}],"t":[{"o":16}]}],"m":[{"u":61}],"n":[{"e":38,"s":[{"k":[{"e":16}]},249]}],"p":[{"e":24,"o":22},166],"r":42,"s":[{"e":[{".":22,"s":22},166],"é":166}],"t":[{"e":[{".":38}]},88],"v":164}],"e":[{"a":[{"l":[{".":23}]}],"c":54,"d":[{"s":181}],"f":[{"u":90}],"g":[{"i":38},200],"i":[{"n":[{"t":22}]},162],"k":[{".":168,"e":162,"l":162,"o":[{"r":181}]}],"l":[{"a":162}],"n":[{"a":759,"e":22,"g":11,"i":249,"n":181,"s":[{"k":36}]}],"p":[{"e":152,"r":[{"e":[{"s":38}]}]}],"r":[{"o":0,"u":196},88],"s":[{"i":168,"k":[{"o":22}],"l":5,"n":164,"u":38},173],"t":[{"a":0,"o":11,"t":[{"e":[{"d":38,"l":334}]}]},153],"v":[{"a":39},162]}],"i":[{"b":11,"c":187,"d":297,"e":[{"i":61}],"g":[{".":38}],"k":[{"k":0}],"n":[{"a":93,"e":195,"g":248,"n":164}],"o":304,"s":[{"k":274,"t":0}],"t":[{"o":22}],"u":0,"v":[{"i":61},88],"x":166}],"o":[{".":178,"a":[{"r":39},166],"e":164,"f":0,"g":22,"i":[{"n":24},336],"k":0,"l":88,"m":[{".":181}],"n":[{"d":11,"g":337}],"p":[{"e":[{"r":22}]}],"s":[{"k":334,"l":18},88],"v":54}],"u":[{".":93,"a":[{".":191},93],"e":[{"d":166,"t":166}],"g":164,"i":54,"k":[{"n":166}],"l":[{"l":90}],"n":[{"d":90},760],"p":[{"e":162}],"s":[{"a":[{".":22}],"k":304}],"t":[{"a":38,"e":90,"i":90},173],"v":22}],"y":[{"d":[{"r":24}],"g":[{"g":[{"e":17}]},336],"k":[{"k":[{".":191,"e":166}]}],"p":[{"e":[{".":61}]}]}],"æ":11,"ø":[{"a":32,"d":[{".":38,"t":38}],"k":162,"m":162,"r":173,"t":166,"y":[{"a":166,"e":[{"t":49},761],"r":162,"s":168,"t":166}]}],"å":[{"d":[{"a":[{".":32}],"e":[{"t":162}],"r":23}],"k":[{"l":11}],"s":[{"t":90}]}]},1],"s":[{".":168,"a":[{".":38,"b":38,"g":28,"k":[{"s":[{"e":[{".":36}]}]}],"n":[{"g":1},69],"u":[{"r":36}]}],"c":[{"h":[{"a":11,"k":762}]},153],"e":[{".":38,"d":31,"e":[{"r":23}],"g":[{"e":15}],"i":[{"d":5,"g":12}],"m":7,"n":[{".":90,"d":[{"e":1,"i":38}],"k":[{"a":46,"e":[{".":36}]}],"s":38,"t":[{"u":0}]}],"r":[{".":38,"i":90,"k":193,"o":18,"s":[{".":149}]}],"s":[{"k":0,"t":20},1],"t":[{"a":12,"e":[{".":23}]}],"v":182}],"f":[{"æ":1},12],"h":[{"o":[{"p":350}]}],"i":[{"l":[{"l":2}],"n":[{"n":12,"s":193}],"r":38}],"j":[{"e":[{"g":15,"t":[{"s":[{"j":80}]}]}],"o":[{"r":15,"v":[{".":334}]}],"u":[{"k":152,"r":0}]}],"k":[{"a":[{"d":38,"n":0}],"i":[{"s":4}],"j":[{"e":[{"d":169}],"ø":4}],"o":[{"l":[{"l":11},38],"t":152}],"r":[{"e":[{"n":15}],"u":22,"ø":15}],"v":[{"i":35},29],"y":[{".":4,"n":96}]}],"l":[{"o":[{".":252,"t":89}],"u":7,"ø":15},69],"m":[{"i":[{"t":38}],"å":[{"l":[{"a":[{".":36}]}]}]}],"o":[{"d":198,"k":38,"m":[{"s":[{"t":38}]}]},69],"p":[{"e":[{"k":38,"l":90}],"i":[{"k":[{"e":375}]},7],"o":[{"r":89}]}],"s":9,"t":[{"a":[{"b":[{"b":375}],"d":38,"k":12,"l":193,"n":[{"d":38,"g":38}],"r":38,"t":38,"u":4}],"e":[{"d":90,"g":0,"k":0}],"i":[{"g":4,"k":1,"l":[{"k":0}],"n":0,"t":0}],"j":259,"o":[{"l":[{"k":93}],"n":15,"r":[{"s":15}]}],"r":[{"e":[{"e":15,"n":169}],"o":169,"y":12,"å":[{"l":4}]}],"u":38,"v":12},388],"u":[{"a":0,"g":[{"e":61}],"l":[{"i":12},23],"r":34,"s":[{"i":15}]}],"v":[{"i":[{"k":90}]},69],"w":69,"y":[{"k":38,"t":15}],"ø":[{"k":[{"a":32,"n":[{"i":15}]}],"v":15,"y":[{"e":[{"r":46}]}]}],"å":[{"t":46},69]},162],"t":[{"a":[{".":90,"b":[{"a":[{"n":[{"e":[{".":120}]}]}],"o":35},88],"d":[{"r":15}],"f":[{"r":39,"t":12},88],"l":[{"a":[{".":23}],"d":367,"e":[{"l":61}],"l":103}],"n":[{"a":193,"e":149,"g":193,"s":0,"v":0}],"p":[{"p":[{"e":15}]}],"r":[{".":350,"e":120,"r":0,"t":[{"a":4},68]}],"s":[{"e":0,"j":0}],"v":[{"i":12,"k":15,"r":15},0]},153],"e":[{".":90,"a":88,"d":[{"a":0,"e":[{".":38}],"r":93},90],"e":88,"f":[{"f":12},0],"g":88,"i":[{"d":2,"n":24},88],"k":[{"v":61},88],"l":[{"e":[{"v":2}],"i":[{"t":[{"e":[{".":120}]}]}]}],"m":[{"a":[{".":23}],"n":[{"a":46,"e":[{".":36}]},15]},0],"n":[{".":38,"a":0,"e":[{".":38}],"i":0,"s":[{".":155,"e":169},17]},90],"o":88,"r":[{".":38,"e":[{"i":0}],"u":[{"n":17}],"ø":53,"å":0}],"s":[{"e":0,"i":0,"k":[{"e":[{".":36}]}],"l":0}],"t":[{".":38,"a":0,"e":0}]}],"é":153,"h":[{"e":15},93],"i":[{"a":22,"d":[{"e":[{"l":0}]}],"e":24,"f":88,"g":[{"j":53},38],"n":[{"d":12,"e":38,"é":152,"g":38,"i":0,"s":193}],"s":[{"j":0,"t":[{"i":11}]}],"t":[{"e":152}]}],"l":[{"e":[{"d":[{"e":[{".":36}]}]}],"i":[{"n":14}]}],"o":[{".":153,"f":[{"r":38}],"m":[{".":15,"r":152}],"n":[{"n":[{"a":36}]},88],"p":[{"p":12}],"r":[{"a":38,"d":12,"e":22,"i":9,"m":12}],"u":22}],"p":[{"a":[{"r":103}],"å":[{"s":4}]}],"r":[{"a":[{"k":[{"a":35,"e":15}],"m":12,"p":12,"t":2}],"e":[{"p":193,"s":12,"v":12}],"o":[{"m":15,"p":38}],"y":38,"ø":259}],"s":[{"a":[{"f":2,"r":24}],"k":[{"a":[{"n":22}],"j":22}],"l":[{"a":[{"g":[{"a":120}]}]}],"o":[{"k":12}],"t":[{"i":[{"l":[{"l":15}]}],"o":[{"p":22}],"r":[{"a":22}],"ø":[{"y":22}]}]},11],"u":[{"g":[{"l":12}],"m":153,"n":[{"g":[{"e":[{".":36}]}]},69],"t":[{"e":6},69]}],"v":[{"a":[{"l":[{"a":46}]}],"e":15,"u":[{"n":4}]}],"w":38,"y":[{".":38,"e":32,"t":29}],"æ":31,"ø":[{"l":34,"r":153,"v":12,"y":[{"r":472}]}],"å":182},167],"u":[{"a":[{"l":166,"v":303}],"b":[{"a":18,"e":[{".":1}],"å":4}],"d":[{"e":[{"m":4}]}],"e":[{"l":166,"r":[{".":1}]}],"g":[{"l":[{"a":32}]}],"i":[{"n":69}],"k":[{"a":38,"e":153,"t":191},7],"l":[{"a":164,"e":172,"l":[{"e":[{"s":22}]}]}],"m":[{"m":22,"s":23}],"n":[{".":164,"d":162,"e":164,"g":[{"e":[{"s":[{"v":22}]}],"d":168,"s":49}],"i":[{"o":1},274],"n":763,"s":301}],"r":[{"a":[{"n":[{"t":61}],"s":1}],"e":[{"i":303,"k":1}],"i":[{"n":1},5],"o":54,"p":24,"s":42,"u":[{"k":24,"s":15}],"ø":54},336],"s":[{".":172,"a":69,"b":164,"f":164,"i":[{"n":1}],"m":1,"o":22,"s":[{"t":77}],"t":[{"r":36}],"u":22}],"t":[{"g":173,"j":38,"k":38,"r":153,"t":[{"r":[{"å":64}],"e":[{"n":[{"k":31}]}],"o":[{"r":22,"v":17}]}]}],"v":[{"a":[{".":6}]}]}],"v":[{"a":[{"k":32,"n":[{"e":[{".":31}],"g":164,"l":169}],"r":522},1],"e":[{"d":[{"e":[{"l":22}]}],"i":[{"t":164}],"r":[{"t":14},300],"t":[{".":164,"s":191},88]}],"i":[{"k":[{"a":[{".":32}],"l":[{"a":[{"s":93}]}]},38],"l":[{".":337,"a":22,"e":337,"i":362}],"n":[{"g":11}],"s":[{"a":[{".":23}],"e":[{".":23}]}]}],"o":306,"u":[{"n":[{"g":164}]}]},188],"w":[{"a":28},168],"y":[{"d":172,"g":[{"g":[{"e":[{"l":39,"s":22}]}]}],"h":168,"k":[{"k":[{"s":80}]}],"m":[{"e":[{"d":1}]}],"n":[{"e":[{".":1}]},172],"o":274,"p":[{"e":[{"r":[{"e":1}],"t":1},334]},172],"r":[{"a":[{"k":1,"n":[{"n":166}]}],"e":[{"g":168,"p":1,"s":[{"t":17}]}],"i":[{".":1,"e":49,"s":223}]}],"s":[{"k":164,"t":24},7],"t":[{"a":6,"e":[{"l":90,"n":15}]},224],"v":[{"e":[{".":1}]}]}],"z":[{"a":38,"e":[{"l":334}],"l":308},173],"æ":[{"l":15,"r":[{"e":[{"n":[{"e":31,"h":1}],"r":23,"t":23}],"s":42}]},172],"ø":[{"f":[{"l":24}],"k":[{"e":[{"t":35}],"t":[{"a":32}]},188],"l":[{"e":[{"t":393}]},162],"m":763,"n":[{"n":[{"e":[{"s":22}]}]}],"p":[{"s":[{"e":22}]},162],"r":[{"a":[{"s":85}],"i":[{"n":24}],"k":[{".":191,"a":301,"e":166},5],"n":[{"e":22}],"s":[{"t":[{"a":[{".":16}],"e":[{"r":16}],"i":[{"n":17}]}]}],"t":24},88],"s":[{"a":6},23],"t":[{"a":[{".":15},22],"e":12,"t":36},162],"v":[{"d":31,"e":[{"l":[{"e":2}]}]},173],"y":[{"a":22,"e":[{"m":155}],"r":22,"t":[{"e":22}]},0]}],"å":[{"e":[{"n":[{".":1}]}],"k":[{"e":[{"t":[{".":15}]}],"i":15,"r":31},7],"l":[{"a":[{".":35},107],"e":[{"g":1,"l":2}],"s":42}],"n":[{"d":[{"a":32,"e":[{".":31}]}],"e":12}],"p":[{"e":[{".":4}],"n":153},162],"r":[{"e":[{".":4,"p":1,"t":90}],"i":248,"n":497,"s":764}],"s":12,"t":[{"a":[{"k":90}],"e":[{"n":2}]},7]}]}],"u":[{"a":[{"g":2,"k":[{"s":24},153],"l":[{".":153,"a":2,"l":22,"o":24,"u":24}],"n":[{"e":[{".":89}],"l":38,"s":90}],"r":[{".":153,"d":22,"r":0,"s":[{".":38}]}],"s":[{"h":18}],"t":12,"u":765,"v":[{"h":172},153]}],"b":[{"a":[{".":0,"l":[{"t":2}],"n":[{"t":2}],"r":[{"k":15}]}],"b":[{"o":1,"r":7,"u":1}],"e":[{"l":[{"s":17}]}],"h":15,"i":[{"s":[{"t":16},31]}],"j":69,"l":[{"a":[{"n":[{"d":[{"e":[{".":2}]}]}]}],"e":[{"s":124}]}],"r":[{"i":[{"n":15}]},398],"s":173,"u":[{"e":32}],"å":0}],"c":[{"h":[{"e":[{"n":22,"r":22}]}],"i":153,"k":54,"u":22}],"d":[{"a":[{".":90,"s":[{".":152}]}],"d":[{"a":[{"g":1}],"r":7,"s":[{"e":53}],"å":7}],"e":[{"a":[{"r":[{"e":32}]},49],"b":88,"i":[{"e":[{"r":17},14]}],"k":88,"l":[{"u":24}],"p":88,"r":[{"o":11}],"s":88,"t":[{"t":97},151],"v":[{"o":38}]}],"i":[{"a":[{"n":24},183],"e":[{"n":23}],"o":17,"r":2}],"j":[{"i":2}],"l":[{"e":[{"g":[{"e":[{".":36}]},15]}]}],"o":[{"b":152,"e":11,"t":88,"v":[{"e":[{"r":170}]}]}],"r":69,"s":[{"e":5}],"t":12,"v":15,"y":[{"r":[{"a":39}]},178],"å":[{"s":9}]},173],"e":[{"a":10,"i":38,"l":153,"m":[{"n":[{"a":32}]}],"n":[{"d":[{"r":17}],"e":[{"t":206},152],"s":[{"a":[{"r":190}]}]},150],"o":2,"r":[{"a":[{"s":[{"t":149}]}],"e":[{".":1,"n":15,"r":1,"s":1}],"i":15,"l":[{"e":58}],"m":88},153],"s":[{"e":1,"i":7,"k":[{"j":1}],"n":31}],"t":[{"r":32},153],"u":[{"l":46}]}],"f":[{"e":[{".":0,"b":11,"e":31}],"f":[{"e":[{"r":[{"m":26}]}]},182],"i":[{"l":39,"n":[{"e":22}]}],"l":153,"o":[{"a":11,"r":[{"s":18}]}],"r":153,"t":[{"a":[{"n":1},24],"s":[{"l":[{"a":42}],"p":24}]}],"ø":31}],"g":[{"a":[{"g":38,"r":38,"v":97}],"b":[{"y":16}],"e":[{"m":88,"n":38,"r":[{"ø":0},90],"s":626,"t":[{".":155,"a":93}],"v":88}],"g":[{"s":65}],"i":[{"s":38}],"l":[{"a":[{"d":229,"r":[{".":35}]},69],"e":[{".":1,"r":[{".":35}],"s":16}],"y":15},0],"n":[{"a":2,"e":[{".":2}]}],"o":[{".":0},54],"r":[{"e":[{"i":[{"e":[{"r":33}]}]},1],"ø":0}],"s":[{"i":9,"k":23,"o":2,"p":[{"r":34}],"v":[{"a":766}]}],"u":[{"a":[{"y":[{"a":[{"n":[{"s":58}]}]}]}]}],"ø":[{"y":[{"n":15}]}]}],"h":[{"e":[{"l":164}]},153],"i":[{"a":6,"c":221,"d":[{"e":[{"l":22,"n":[{".":22,"s":22}],"r":22}],"i":[{"n":22}]},7],"e":52,"l":[{"l":22},0],"m":153,"n":[{"e":12,"g":153,"n":[{"s":[{"m":[{"i":[{"g":608},159]}]}]}]}],"s":[{"m":153,"t":[{"a":58}]}],"t":[{"e":[{"n":24,"r":22}],"t":153}]}],"j":[{"a":[{"s":0}],"e":[{".":93}],"å":152},153],"k":[{".":162,"a":[{"r":[{"e":120,"t":78},152],"t":38},150],"e":[{".":88,"d":0,"l":42,"m":162,"r":[{"a":[{"n":17}],"e":[{"k":23}],"i":17}]}],"h":[{"o":16}],"i":152,"j":153,"k":[{"a":31,"e":[{"s":[{"t":[{"a":[{"l":2}]}]}]}],"l":219,"n":61,"s":36},162],"l":[{"e":[{"m":38}],"u":[{"t":61},6]}],"n":[{"o":229}],"o":[{"g":169},153],"r":[{"a":88,"u":[{"s":12}]}],"s":[{"a":7,"e":[{"k":1,"l":1,"t":[{"e":16}]}],"i":7,"k":[{"i":2},129],"o":7,"t":22,"u":[{"n":85}],"ø":7},173],"t":[{"e":[{"s":[{"k":42,"l":[{"ø":[{"s":[{"e":81}]}]}]}]}],"i":[{"d":85}],"j":4,"o":[{"r":[{"i":26}]}],"r":564,"s":[{"l":36,"p":24,"v":131,"t":[{"i":23}]}],"u":[{"e":[{"r":[{"a":208,"e":14}]}]}]}],"u":[{"e":31,"l":[{"e":22}]},153],"v":[{"i":[{"k":15}]}],"y":[{"s":46}],"ø":34,"å":9}],"l":[{".":168,"a":[{".":0,"d":61,"f":330,"k":[{"s":206}],"r":[{"t":15}]},153],"d":[{"e":[{"t":1}]}],"e":[{"f":0,"k":88,"l":[{"e":[{"g":[{"e":[{".":91}]}]}]},88],"m":[{"a":22}],"n":[{".":90,"i":11,"s":90}],"r":[{".":38,"e":[{".":38}],"i":24,"l":375,"o":0}],"s":[{"t":[{".":38,"e":[{".":38}]},24]},88],"u":88}],"é":153,"f":[{"l":20,"o":1,"r":1}],"i":[{"e":[{"n":39},46],"k":[{"e":[{".":22}],"h":164}],"n":[{"a":[{".":39}],"e":22,"j":152}]},89],"j":69,"k":[{"a":15,"e":20,"v":85}],"l":[{"a":[{"g":1,"m":1,"r":[{"m":61}]}],"e":[{"g":[{"g":[{"a":91},22]},1],"n":[{"g":4}],"r":[{"e":35}],"s":386}],"i":[{".":6,"g":6,"n":[{"g":[{"s":170}]}],"v":42}],"o":[{"s":767,"t":6,"v":18}],"s":[{"l":[{"e":22}],"m":75,"t":5,"v":24}],"u":461,"y":4,"ø":7}],"m":[{"u":23}],"o":[{"i":31,"p":15,"v":[{"a":61}]},153],"s":[{"k":1,"p":[{"o":23}],"n":6,"s":46,"t":[{"r":768},7]}],"t":[{"e":[{"g":1,"k":1,"s":1}],"i":[{"l":1,"m":1}],"o":[{"r":2},1],"r":[{"e":85,"i":24}]},162],"u":[{"a":152,"e":90,"k":172,"p":38,"s":38,"t":[{".":35,"a":152,"e":155}]}],"v":[{"a":[{".":2,"n":15,"r":1}],"e":[{".":1,"g":1,"i":1,"s":1}],"t":24,"u":85}],"y":[{"k":[{"k":[{"e":[{"s":17}]}]}]},172],"æ":[{"r":[{"a":31,"e":22}]}],"ø":[{"s":[{"e":24}],"y":[{"e":36}]}],"å":[{"l":20}]}],"m":[{"a":[{"g":[{"e":[{".":32}]}],"r":[{"e":11}],"u":[{"k":[{"e":[{"n":16}]}]},15],"v":12},173],"b":[{"e":15},173],"c":162,"d":162,"e":[{"n":[{"d":0,"h":193,"t":[{"i":271}]}],"r":[{"a":22}]},173],"f":[{"o":173}],"h":173,"i":[{"d":[{"d":11}],"e":[{"n":36}],"n":[{"a":39,"t":0}]},173],"j":[{"a":35}],"k":173,"l":162,"m":[{"e":12,"i":[{"l":1,"s":1}]},162],"n":[{"a":46},12],"o":[{"g":31,"k":15},162],"p":[{"a":[{"n":2}],"l":[{"e":1}],"u":[{"t":118}]},173],"r":162,"s":[{"e":[{".":2}],"k":[{"u":[{"l":[{"e":[{".":91}]}]},1]}],"n":7,"o":[{"r":1}],"t":[{"ø":23},24]},54],"t":[{"a":[{"l":46}]},204],"u":[{"t":15}],"v":[{"e":162}],"ø":[{"r":[{"s":18}],"y":2}],"å":61}],"n":[{".":173,"a":[{"d":[{"a":31}],"l":[{"g":15}],"p":193,"r":155,"s":152,"t":90}],"d":[{".":173,"a":168,"e":[{".":168,"k":1,"l":1,"n":168,"r":[{"s":[{"k":166}],"v":166}],"t":162}],"i":[{"m":21}],"s":[{"i":42},162]}],"e":[{"d":88,"e":0,"i":[{".":155}],"l":[{"e":[{"g":[{"e":[{".":120}]}]}]},88],"n":[{"g":169,"o":0}],"s":[{".":90},454],"v":[{"n":17},88]}],"g":[{"d":172,"e":[{"l":[{"e":[{"g":[{"e":[{".":242}]}]}]}],"m":1}],"j":129,"l":26,"o":1,"r":[{"u":84},129],"s":[{"i":65}]}],"i":[{".":0,"d":88,"f":184,"m":0,"n":90,"o":[{"n":164}],"s":[{"t":23}]},4],"k":[{"l":26,"o":2,"r":1},162],"n":[{"a":[{"k":2}],"e":[{"r":[{"f":22,"s":26,"v":26}],"s":15}],"i":[{"v":1}],"o":7,"s":[{"t":[{"e":22}]}],"t":[{"a":[{"l":[{"a":91}]}]}],"y":85}],"o":[{".":0,"s":375,"t":61}],"s":[{"j":[{"i":79}],"k":[{"r":12,"v":20}],"n":15,"p":9,"t":[{"e":[{"k":12,"l":80,"n":[{"k":40}]}],"o":18}],"v":8},162],"t":[{"a":[{"l":1,"m":1,"s":1}],"r":[{"e":[{"p":22}],"i":1},67],"u":[{"n":[{"g":[{"e":[{".":91}]}]}]}]}],"u":[{"t":15},31],"y":90,"ø":[{"y":[{"d":473,"g":152}]},90],"å":90}],"o":[{"a":35,"b":153,"m":[{"s":61},153],"p":153,"r":[{"d":[{"a":32}],"e":69,"o":15}],"v":153}],"p":[{"a":[{"v":12}],"e":[{"a":536,"r":[{"a":18,"e":[{"n":31}]},38],"t":[{"a":0}]}],"f":168,"h":4,"i":[{".":93,"n":[{"s":12}]},90],"l":[{"i":12}],"n":[{"e":[{"v":4}]}],"o":[{"p":[{"e":39}]}],"p":[{"e":[{"d":1}],"l":[{"a":1}],"r":[{"e":4}],"s":22},8],"r":[{"a":90},162],"s":[{"e":[{"n":4}],"k":[{"e":23},107],"p":[{"r":22}]},168],"t":168,"u":168,"å":[{"v":[{"i":120}]},153]}],"r":[{"a":[{"d":88,"f":[{"t":12},88],"k":259,"l":[{"y":31}],"m":0,"n":[{"e":38,"s":90,"t":[{"r":[{"e":116}]}]}],"r":[{".":38,"l":96,"v":12}],"s":[{".":155,"p":15}],"t":[{"t":12}],"u":[{"k":[{"e":[{"n":49}]}]},2],"v":69},153],"b":[{"o":[{"d":1}]}],"c":1,"d":[{"i":12,"o":26},23],"e":[{"a":[{"l":32}],"e":[{"r":[{"e":120}]}],"g":[{"g":15,"i":[{"s":[{"t":373}]},120]}],"i":[{"n":164}],"l":[{"e":12,"i":0,"l":350,"t":350,"s":193},23],"n":[{"g":169}],"o":[{"m":152,"s":77}],"s":[{"u":0}],"t":[{"a":0,"e":0}],"v":26},153],"f":[{"e":[{"b":1,"d":4}]},173],"g":[{"e":12}],"i":[{".":0,"a":[{"n":[{"e":127}]}],"e":[{"n":[{".":39,"e":53}],"r":[{".":39}]}],"k":90,"m":90,"n":[{"e":22,"n":12,"s":12,"t":12}],"s":[{"p":31}]},153],"k":[{"e":[{"s":223}],"j":[{"a":21},40],"l":[{"a":6,"e":1}],"n":3,"s":22}],"l":[{"a":[{"g":[{"a":46}]}],"e":[{"g":[{"e":[{".":36}]}],"s":[{"e":[{".":46}]}]}]}],"m":[{"a":[{"g":16}]}],"n":[{"e":[{"a":12}],"s":180,"æ":[{"r":[{"e":36}]}]}],"o":[{".":0,"c":11,"e":166,"m":[{"s":17}],"p":[{"i":61,"p":12},88],"r":69,"s":[{"t":[{"a":23}]},65],"t":[{"a":32}]}],"p":[{"e":[{"l":1}],"i":2,"u":[{"t":663}]}],"r":[{"e":2}],"s":[{"a":[{"k":[{"a":46}],"l":1}],"e":[{"l":85}],"i":[{"n":1}],"k":[{"r":1}],"p":[{"e":1}],"t":[{"e":15,"i":[{"l":22}],"j":1}],"v":[{"a":24},7],"ø":129}],"t":[{"e":[{"o":12}],"i":15,"o":1,"r":[{"i":3}],"s":[{"t":5}]}],"u":[{"e":[{"r":[{"e":16}]}],"g":[{"l":2},769],"k":[{"e":23,"n":61},36],"l":4,"m":[{"o":58}],"n":[{"g":5,"k":152}],"v":61}],"v":[{"e":[{"l":1}],"s":24}],"y":[{"s":11}],"ø":[{"d":69,"y":69},28]}],"s":[{"a":[{"n":[{"e":155,"g":12}],"r":[{".":155,"b":206,"e":[{"n":152}],"k":96}],"u":2},162],"c":69,"e":[{"a":[{"l":[{".":23},38]}],"d":[{"v":[{"a":[{"n":[{"l":[{"e":2}]}]}]}]}],"i":259,"k":88,"l":[{"e":0}],"m":88,"n":[{"d":[{"i":97}]}],"r":[{"k":2,"m":169}],"s":[{"i":11}],"t":[{"j":[{"e":46}]}],"v":[{"a":12}]},173],"g":162,"h":[{"a":368,"o":368},88],"i":[{"d":1,"n":[{"d":12,"n":15}]}],"j":[{"a":[{"g":2}],"i":0}],"k":[{"a":[{"f":15,"n":193,"r":[{"a":46}],"t":2}],"e":[{"n":15}],"i":[{"s":97}],"l":[{"e":3,"o":15},23],"o":69,"r":[{"u":2},153],"u":[{"t":77}],"å":206,"y":1}],"l":[{"e":[{"g":[{"e":[{".":36}]}]}],"i":[{"n":15}],"u":0},69],"m":[{"ø":2}],"n":0,"o":[{"k":69,"l":[{"d":47},22],"r":[{"i":90},69],"v":[{"e":[{"r":[{"e":50}]}]}]}],"p":[{"i":[{"n":150}]},69],"s":[{"a":[{"r":15,"t":4}],"j":[{"å":1}],"k":[{"j":1,"o":[{"r":22}],"u":[{"r":1}]}],"l":54,"m":[{"i":2,"ø":61}],"t":[{"i":26,"r":1}],"v":7}],"t":[{"a":[{"n":[{"d":[{"e":11}]}],"t":0,"v":12}],"e":[{"d":12,"i":38,"n":2,"t":[{"t":[{"e":39}]}]},88],"i":[{"g":149},15],"j":69,"o":[{"f":22,"n":[{"n":61},91],"r":15,"v":19}],"r":[{"a":[{".":6,"n":6,"r":6}],"e":[{"n":22},11],"i":1,"o":12,"ø":[{"d":22}],"å":428}],"u":[{"t":61}],"å":0}],"u":[{"n":[{"g":12}],"r":88}],"v":[{"a":[{"l":[{"e":38,"t":252}],"n":46}],"i":[{"k":[{"a":[{".":46}]}]}]},69],"æ":[{"l":[{"e":39}]},168],"ø":[{"m":31,"y":69}]}],"t":[{"a":[{"e":153,"g":[{"g":152},88],"l":[{".":155,"b":12,"d":15,"l":90}],"n":[{"d":[{"e":38}],"o":61,"v":4}],"r":[{"m":12,"t":12}],"s":[{".":38,"a":512,"e":512},177],"u":770}],"b":[{"a":[{".":1}],"e":[{"d":46}],"i":162,"y":[{".":4}]},172],"c":[{"h":17}],"d":[{"a":[{"t":[{"a":[{".":16}]},162]}]},172],"e":[{".":88,"a":88,"e":0,"i":0,"k":[{"s":[{"t":38},12]},88],"m":[{"a":[{".":31}],"m":38,"t":155}],"n":[{"a":11,"k":90,"u":0},7],"o":88,"r":[{"ø":11},173],"s":771,"t":[{"a":0,"t":90}],"u":4,"v":[{"a":33}]}],"f":[{"a":[{"s":16}],"ø":[{"r":[{"e":17}]}]},172],"g":[{"å":[{"e":167}]},172],"i":[{"f":169,"k":[{"k":[{"u":120}],"u":33}],"l":[{"i":0}],"v":[{"e":[{"n":11}]}]},434],"j":[{"e":[{"n":38}],"u":4},69],"l":[{"e":[{"i":164}],"ø":[{"s":[{"e":17}]}],"å":[{"n":[{"a":16}]}]}],"m":[{"å":[{"l":[{"e":17}]}]}],"n":[{"i":93,"y":172}],"o":[{"m":[{"s":2}],"s":22,"v":23},173],"p":[{"r":164,"å":1}],"r":[{"a":[{"d":[{"i":229}]}],"e":[{"n":[{"g":38}]},12],"i":[{"v":90}],"o":[{"l":90,"s":90}],"u":[{"l":149},166],"ø":[{"d":35},1],"å":[{"k":350}]},69],"s":[{".":162,"e":[{"i":162,"t":[{"j":[{"a":208}]}]}],"j":173,"k":12,"t":166},772],"t":[{"a":[{"k":[{".":191,"e":166}]}],"e":[{"r":[{"k":1}],"v":[{"a":22}]}],"i":[{"d":1,"l":1}],"o":[{"r":[{"e":[{"a":15}]}]}],"r":[{"a":1,"y":164},69],"s":180,"å":[{"r":6}]}],"u":[{"e":22,"n":[{"g":[{"e":[{".":46}]}]},97],"t":230},153],"v":[{"i":[{"l":89,"s":[{"e":17}]}]},172],"y":[{"d":731,".":93},361],"z":167,"ø":[{"r":38,"s":[{"t":16},119],"v":773,"y":[{"a":15}]},69],"å":[{"k":2,"l":90,"n":69,"r":2}]}],"u":[{"m":[{"a":152,"e":38}],"t":152},153],"v":[{"e":[{"d":[{"i":22}],"i":[{"n":24}],"r":[{"i":[{"s":31}]}],"s":[{".":152},24],"t":[{"ø":17}],"v":11}],"i":[{"k":31},38],"r":[{"a":15}],"s":[{"a":35}],"u":38,"ø":[{"r":[{"e":39}]}]},153],"w":153,"x":[{"a":25},281],"y":[{"a":4,"n":152}],"æ":[{"r":[{"l":[{"e":[{"g":[{"e":33}]}]}]}]},153],"ø":[{"v":22},154],"å":[{"r":[{"a":155,"e":152}]}]}],"w":[{"a":[{"l":[{"d":166,"k":[{"o":78},23],"l":23},4],"p":173,"r":[{"d":[{"e":[{"r":127}]}]}],"s":[{"h":18}],"t":172,"z":12},88],"b":[{"o":[{"y":17}]},153],"e":[{"a":[{"t":[{"e":58}]}],"b":2,"g":12,"r":[{"e":15}],"s":[{"s":24,"t":[{"e":[{"r":[{"n":51},123]}]}]},28],"t":[{"t":5},22]},7],"i":[{"a":[{"r":[{".":35}]}],"c":[{"h":18,"z":164}],"d":12,"e":[{"n":557,"r":[{".":35}]}],"f":15,"n":[{"i":12}],"r":[{"a":15,"e":[{"n":12}]}],"t":[{"a":15}]},785],"k":[{"r":12}],"l":153,"m":153,"n":[{"s":15}],"o":[{"b":22,"u":[{"t":16},31]}],"s":[{"k":4},89],"u":[{"r":[{"s":36}]}],"y":[{"o":[{"r":[{"k":203},183]},153]},7],"z":153}],"x":[{"a":[{"n":[{"t":22}]}],"b":152,"f":90,"g":[{"a":31}],"h":152,"i":[{"c":153,"d":334,"e":9}],"k":38,"l":153,"p":154,"r":90,"s":150,"t":152,"u":11,"y":7}],"y":[{"a":[{"b":2,"c":172,"f":15,"h":1,"k":[{"t":[{"e":[{".":31}]}]},153],"l":7,"m":152,"n":[{".":11,"a":88,"e":[{".":1}],"k":61,"s":[{"l":61}]},153],"r":[{"k":153,"r":152}],"s":[{"i":15},23],"t":15,"v":153}],"b":[{"a":[{"n":[{"e":[{".":23}]}]}],"b":[{"e":[{"d":1}]}],"d":[{"e":18}],"o":28,"u":[{"e":[{"r":[{"e":16,"n":61},31]}]}],"y":[{"g":17}]},153],"c":[{"e":[{".":93}],"é":93,"o":228},153],"d":[{"a":[{"b":11,"v":15}],"d":[{"e":[{"l":[{"a":4}],"p":1}]},162],"e":[{"n":[{"h":96}],"o":0,"p":88,"r":[{"o":0}]}],"i":[{"s":259}],"j":[{"e":4,"i":69}],"o":[{"p":12,"v":15},23],"r":[{"a":[{"u":786}],"e":[{"m":15},69],"i":206,"o":[{"k":[{"s":786}]},0]},153],"s":[{"i":12,"v":23}],"u":[{"n":69},88],"ø":[{"m":0,"r":17,"s":69},23]}],"e":[{"d":[{"l":32,"r":[{"e":4}]}],"k":[{"s":38},88],"l":[{"e":[{"n":1,"t":4}],"s":[{"j":53,"k":23,"m":18,"t":47}]}],"m":88,"n":[{"e":[{"r":93},252],"h":88,"i":15,"k":88,"l":[{"e":[{"g":[{"e":[{".":120}]}]}]},88],"s":[{"e":0},5]},7],"r":[{"e":[{"l":1},92],"n":90,"s":[{"k":32,"t":0}]}],"s":[{"m":15},28],"t":[{"e":35,"y":15},7],"v":88},187],"f":[{"a":[{"n":49}],"j":[{"e":[{"l":[{"l":190}]}]}],"l":[{"e":[{".":15},0]}]},153],"g":[{"a":[{".":93,"v":[{"e":[{".":32}]}]}],"d":[{"a":[{"l":1}],"e":[{"k":1,"l":1,"p":1}],"o":7,"r":129,"y":129,"ø":7}],"e":[{"i":22,"n":[{"s":17}],"r":[{"e":[{"t":11}]}],"s":88,"v":0}],"g":[{"a":[{"m":4,"r":[{"t":61}]}],"e":[{"s":103}],"j":15,"l":22,"r":4,"s":82,"u":4,"å":3}],"i":28,"l":[{"o":38}],"m":2,"r":4}],"h":[{"e":[{"s":17}]},153],"i":[{"n":[{".":155}],"s":[{"t":61}]},153],"j":153,"k":[{"a":[{"p":18,"r":[{"a":11}]},153],"e":[{"l":[{".":152,"e":[{"n":38}],"i":90,"s":152}],"n":90,"r":[{"e":[{"l":0}],"o":0},90],"t":[{".":38,"s":155}]},88],"i":153,"j":[{"a":[{"r":[{"e":38},0]}],"e":[{"v":[{"a":[{"n":[{"e":[{".":242}]}]}]}]}]},153],"k":[{"a":[{"n":[{"a":1}]}],"e":[{"n":[{"h":26}],"s":[{"j":15,"t":[{"a":116}]}]}],"j":69,"n":[{"i":22}],"s":[{"k":86,"o":86,"s":86}],"v":[{"i":787}],"y":1}],"l":[{"a":69,"e":[{"s":[{"t":4}]}],"o":153,"u":[{"b":90,"s":12}],"æ":38}],"o":[{"a":88,"l":[{"i":11}],"m":[{"o":0}],"s":[{"a":38}],"t":[{"i":38},88]},153],"r":153,"s":69,"u":[{"l":[{"e":[{".":31}]}]}],"v":[{"a":[{"r":12}]}]},168],"l":[{"a":[{"g":[{"a":32}]},153],"d":[{"a":[{"n":1}],"e":[{"r":[{"k":1}],"s":5}],"r":54,"s":[{"k":19}]}],"e":[{"g":[{"e":[{".":31}]}],"s":152,"v":0}],"i":[{"g":[{"h":33}]}],"k":[{"e":[{"s":[{"l":[{"a":[{"g":[{"a":159}]}]}]},43]},183]},10],"l":[{"e":[{"v":1}],"i":[{"s":[{".":22}]}]}],"s":[{"t":[{"r":[{"e":16}]}]},52],"t":[{"e":[{"t":15}]}],"u":[{"s":[{"e":93}]}],"v":[{"e":[{"n":164}]}],"y":153,"æ":[{"r":[{"e":61}]}]}],"m":[{"e":[{"i":11,"t":[{"e":0}]}],"f":[{"e":[{"d":205}]}],"j":[{"a":[{"r":[{"a":15}]}]}],"o":[{".":0,"e":22}],"p":67,"s":[{"a":[{".":6}],"e":1,"l":6},69],"t":[{"a":[{".":4}],"e":[{".":4}]}],"å":[{"l":[{"a":31}]}]}],"n":[{"a":[{"n":[{"d":192}]}],"d":[{"e":[{"s":91,"t":15}]}],"e":[{"l":[{"d":2},88],"r":[{"g":18}],"s":[{"i":91},42],"v":11}],"g":[{"e":[{"l":15,"m":1}],"r":7,"ø":26}],"k":[{"o":18,"v":3}],"n":[{"a":15,"e":15,"s":65,"ø":23}],"o":[{".":0},90],"s":[{"a":[{"r":[{"e":31}]}],"e":[{"m":1,"t":35}],"i":7,"k":[{"e":[{"t":[{".":39}]}],"i":61,"j":[{"e":[{"l":[{"e":61}],"r":[{".":219}]}]},15]},7],"t":1,"u":7,"v":[{"e":[{"r":26}]}]},54],"t":[{"a":[{"p":1}],"e":[{"g":6,"i":22,"k":1,"t":[{"e":4}]}],"r":109}]}],"o":[{"g":[{"a":[{"t":1}],"i":[{".":4}]}],"m":153,"n":[{"n":[{"e":[{"n":22}]}],"u":4},23],"p":150,"r":[{"d":[{"a":31}],"e":15},150],"u":[{"t":17},23]}],"p":[{"e":[{".":88,"e":0,"n":[{"a":0,"e":[{"t":0}]}],"r":[{"e":[{"l":23}]}],"t":[{"a":11}]},6],"i":[{".":0,"n":[{"g":152,"n":[{"a":46},15]}]},153],"l":150,"o":38,"p":[{"a":40,"e":12}],"r":153,"s":10,"t":[{"o":[{"k":1}]}],"u":90}],"r":[{"a":[{"k":[{"a":32}],"l":788,"r":[{"b":152}],"u":169,"v":15},153],"d":[{"a":2,"ø":15}],"e":[{"a":[{"l":152}],"d":[{"d":206}],"i":[{"n":24,"s":38}],"k":[{"k":789},5],"l":[{"s":90}],"m":[{"s":38}],"n":[{"e":39},153],"o":0,"r":[{"e":[{"l":11}],"o":0}],"s":[{"c":22,"t":[{".":38,"e":[{".":38,"n":36},22]}]}],"t":[{"a":0,"e":0,"o":0,"ø":152},153]}],"g":[{"a":2}],"i":[{"n":[{"g":80,"n":12}],"e":[{"n":[{"e":[{".":31}]}]}],"f":0,"k":[{"a":[{".":32}]}],"s":[{"p":36}]},153],"k":[{"e":[{"e":1,"s":5}],"j":15}],"m":12,"o":[{"e":152,"m":[{"m":90}],"p":69,"s":[{"k":38}]}],"r":10,"s":[{"a":[{"n":1}],"e":[{"t":2}],"k":[{"j":4,"r":4},15],"p":7,"t":[{"a":[{"n":61,"r":22}],"e":[{"n":[{"e":61,"s":22}]}],"i":12}],"v":1}],"t":[{"e":[{"k":4},12],"r":[{"a":12},107],"y":46}],"u":[{"l":[{"l":[{"a":[{".":46}]}]}],"t":[{"r":68}]},153],"v":12,"y":153,"ø":[{"k":12,"y":5}],"å":[{"d":[{"a":32,"e":[{"r":[{"s":31},58]}],"i":0},183],"m":88,"s":[{"t":11}],"t":0,"v":0},376]}],"s":[{"a":[{"k":[{"e":[{"r":[{"s":21}]}]}],"l":206},153],"e":[{"b":[{"u":23}],"d":0,"e":[{"i":22},0],"g":88,"k":[{"t":[{"e":206}]},88],"m":88,"r":[{"a":0,"i":[{"d":61,"e":50}]}],"s":[{"j":0,"k":0,"l":382,"t":[{"e":38},0],"u":11}],"t":[{".":155}],"u":0},1],"i":[{"e":32},4],"j":[{"k":38}],"k":[{"a":[{"g":152,"r":[{"a":4,"e":2}],"u":39}],"l":107,"ø":[{"s":22}]}],"m":[{"i":1}],"n":[{"ø":1}],"o":[{"r":169},153],"p":[{"e":7,"i":[{"s":15}],"o":229}],"s":[{"a":[{"k":4,"m":4}],"e":[{"i":85,"k":85}],"i":[{"l":26}],"j":7,"k":[{"o":109,"u":1}],"o":7,"p":[{"e":22},7],"t":[{"a":[{"b":22},1],"i":26}],"u":1,"v":233}],"t":[{"a":[{"r":[{".":93}],"t":1},12],"e":[{"l":12,"n":12,"r":[{"i":[{"e":[{"n":51}]}]},193],"s":[{"l":2}]}],"i":375,"o":[{"p":24}],"r":[{"a":6,"y":20},24],"u":350,"y":4},7],"u":153,"v":[{"e":69}],"ø":[{"m":206}],"å":[{"r":15}]},173],"t":[{"a":[{"n":[{"a":193}]},153],"e":[{"e":88,"f":0,"g":[{"e":9},88],"i":[{"n":24}],"k":[{"a":0,"i":0}],"n":[{"a":0,"o":0}],"o":88,"r":[{"e":[{"t":0}],"o":31,"s":[{"k":[{"e":17}]},120],"ø":19}],"s":349,"t":88}],"h":[{"i":151}],"i":[{"l":274}],"j":[{"a":35,"e":[{"n":15,"r":35}]},11],"m":[{"e":[{"i":1,"s":1}]}],"o":90,"r":[{"a":6,"e":[{".":1,"r":15}],"i":[{"k":1},69],"å":38}],"s":[{"e":[{"n":85}],"k":12,"v":15}],"t":[{"a":20,"e":[{"r":[{"e":[{"n":[{"d":208}]}]}],"s":[{"t":1},120]},23],"i":[{"e":[{"n":[{".":6}]}]}],"s":[{"a":[{"m":[{"e":[{".":120}]}]}]}]},162],"u":361,"y":[{"s":1},153],"å":320}],"u":[{"a":11,"e":93,"g":6,"l":1},153],"v":[{"a":[{"k":0,"l":[{"a":32}]}],"e":[{"d":88,"r":[{"i":[{"a":23,"s":23}]}],"s":[{"e":0,"y":11}],"v":11}],"i":[{"s":[{"a":32,"e":[{".":31}]}]}],"å":[{"r":69,"t":[{"e":22}]}]},153],"w":153,"æ":38,"ø":38,"å":150}],"z":[{"a":[{"b":15,"e":[{"s":162},164],"g":26,"k":[{"h":20}],"n":[{"i":[{"a":14},5]}],"v":672}],"b":[{"u":23},398],"c":153,"d":153,"e":[{"a":54,"b":[{"u":49}],"l":[{"i":17}],"n":[{"s":[{"e":181},24],"t":181}]},172],"f":153,"g":222,"h":[{"a":166,"i":90,"u":38}],"i":[{"e":166,"f":[{"i":172}],"n":[{"g":166,"t":38}],"s":[{"t":[{"y":168}],"v":383,"y":173},172]}],"k":153,"l":187,"m":153,"o":[{".":166,"e":166,"f":8,"n":[{"o":1}],"r":[{"e":15}],"s":168}],"p":153,"r":38,"s":153,"t":187,"u":[{"e":12,"n":153}],"v":153,"z":[{"a":[{".":153}],"e":[{"l":375}]}]}],"æ":[{"b":[{"y":38,"ø":88}],"d":[{"e":38,"i":152}],"f":153,"g":4,"k":[{"e":90,"i":38,"j":[{"a":69,"e":[{".":2,"r":[{".":35}]}]},93],"k":[{"e":[{"l":120},16]}],"l":4},88],"l":[{"a":153,"e":[{".":0,"d":228,"n":[{"a":0}],"v":0}],"j":15,"s":[{"l":[{"e":33}]}]}],"r":[{"a":[{"k":277,"n":[{"e":90,"s":0}],"r":[{"b":[{"e":11},0],"t":[{"e":1}]}],"t":277}],"b":[{"u":[{"e":17}]}],"d":182,"e":[{"a":88,"d":0,"f":88,"g":88,"i":[{"e":36},206],"k":88,"l":[{"d":96}],"n":[{"e":[{".":22,"s":61}]}],"p":88,"r":[{"n":38}],"s":[{"a":[{"m":103}],"k":[{"r":31}],"l":23,"p":23}],"t":[{"a":0,"e":[{"k":0}],"s":155}],"v":88},153],"f":162,"g":[{"e":[{"n":14}]}],"h":[{"ø":46}],"i":[{"e":[{"n":[{"e":127}]}],"l":193,"n":[{"s":12}],"s":[{".":15},31]},153],"k":582,"l":[{"e":[{"g":[{"e":[{".":36}]}]}]}],"m":[{"å":[{"l":[{"a":46}]}]},162],"n":[{"e":345,"å":1},12],"o":[{"m":[{"s":103},17]},790],"r":15,"s":[{"e":[{"l":4}],"i":[{"l":26}],"k":69,"n":[{"o":40}],"p":7}],"u":[{"t":17},259],"v":12,"ø":[{"y":[{"e":16}]},593],"å":34}],"s":[{"e":[{".":93}],"j":88,"k":259}],"t":[{"a":38,"e":[{".":0},162],"h":[{"e":4}],"r":1,"t":[{"a":1}]}],"v":[{"a":[{"r":17},38],"e":[{"s":23}],"i":38}]}],"ø":[{"a":[{"r":[{"e":2}],"u":23},520],"b":[{"e":[{"l":[{"e":[{"v":31}],"i":23}]}],"l":[{"i":92,"u":39},88],"r":1},153],"d":[{"a":[{"g":12,"k":0}],"d":[{"e":[{".":35}]},12],"e":[{".":88,"d":[{"e":0}],"f":11,"l":[{"a":0}],"m":0,"o":0,"r":[{"i":0,"o":0}]}],"j":38,"r":[{"e":[{"d":1,"k":1,"p":1}]},69],"s":[{"c":7,"e":[{"k":3}],"k":[{"e":61,"o":23,"u":791}],"m":[{"u":23}]}],"t":[{"o":[{"m":462}],"r":31}],"u":[{"n":[{"d":12}],"r":169},88],"ø":97}],"e":[{"d":0,"n":[{"e":38}],"p":38,"r":[{"e":92}]},571],"f":[{"e":32,"f":[{"e":[{"l":[{"a":105}]},12]}],"j":4,"l":[{"a":[{".":6}],"e":[{".":6}]}],"n":38,"t":[{"e":[{"s":17}]}]}],"g":[{"a":[{"k":15,"l":15,"r":152,"s":38},7],"e":[{"r":90}],"g":[{"l":15,"å":6}],"j":393,"l":[{"o":[{"v":[{"e":46}]}]}],"n":[{"s":[{"p":127}]}],"r":[{"e":[{".":15,"s":[{".":15}]}]},156],"s":[{"t":[{"e":1,"r":1}]},28],"t":[{"a":17}],"u":303},69],"h":153,"i":[{"e":[{"r":[{".":15}],"n":[{"e":[{".":9}]}]},1],"n":[{"g":38}],"s":[{"k":38}],"t":0},0],"j":153,"k":[{".":168,"a":[{"v":[{"e":[{".":32}]},38]},200],"e":[{"h":11,"l":[{"o":0}],"r":[{"a":[{"d":[{"a":11}]}],"e":[{"l":11}],"u":195}],"s":[{"e":11,"l":93,"t":0},54],"t":[{"e":0}]}],"i":153,"j":[{"a":[{"r":[{"e":38}],"s":38}],"e":153},162],"k":[{"e":[{"l":15,"t":15}],"l":26,"r":22},173],"l":[{"a":[{"g":12,"n":12}]}],"n":[{"a":173}],"o":[{"p":[{"p":15}]},172],"r":[{"a":[{"r":93}]},153],"s":[{"a":[{".":6}],"e":[{".":4,"s":1}],"i":1,"o":7,"t":[{"i":22},617]}],"u":[{"r":[{".":15,"e":15},23]}],"v":[{"e":2}],"y":152}],"l":[{"a":[{"h":88,"m":11},153],"d":12,"e":[{"d":[{"i":0},475],"l":[{"u":11}],"r":[{"o":0}],"t":[{"a":11,"e":195}],"v":88}],"g":[{"e":[{"r":[{"a":1}],"s":[{"v":80}]}]}],"j":69,"k":[{"e":[{"s":16},7]}],"l":[{"e":[{"s":[{"e":1}],"t":[{"i":35}],"v":4}]}],"o":[{"p":2},153],"r":[{"å":5}],"s":[{"e":[{"l":4,"r":[{"e":1}],"s":99}],"t":623,"v":9}],"u":[{"k":38,"t":2}],"v":[{"a":[{"r":1},36],"e":[{"i":85,"k":4,"l":6,"r":[{"k":61}]}],"i":[{"n":85}],"o":22,"r":61}],"y":153}],"m":[{"e":[{".":0,"t":155}],"f":[{"i":172}],"i":[{"n":[{"i":120}]},38],"m":[{"e":[{"d":1,"r":[{"o":1}],"t":[{"r":1},120]}]}],"o":[{"p":12}],"p":[{"e":[{"l":1}]}],"s":[{"p":40,"t":69,"v":[{"i":15}]}],"u":259,"å":[{"l":[{"a":32}]}]}],"n":[{"a":[{"d":7,"l":97,"s":38}],"e":[{"m":88,"s":[{".":90,"e":155}]}],"h":[{"ø":[{"r":[{"e":[{".":46}]}]}]}],"k":[{"r":109}],"n":[{"a":[{"l":1}],"i":[{"t":26},5],"s":[{"a":[{"l":17}],"e":41,"i":[{"d":415}],"k":[{"j":[{"e":17}],"r":[{"e":17}],"u":17}],"l":18,"t":18}],"ø":7},162],"o":[{"m":11}],"s":[{"a":[{".":35,"k":15,"m":15}],"e":[{".":15,"r":12}],"k":[{"j":[{"e":[{"r":[{".":6}]}]},12]}],"t":[{"r":[{"a":49},18]}]},7],"t":[{"a":7,"o":7},54],"u":94}],"o":153,"p":[{"e":[{"d":[{"a":0}],"i":428,"n":[{"u":0}],"r":[{"o":38,"u":0}],"s":5,"t":[{"e":0,"i":0}]}],"i":153,"l":[{"i":12}],"p":[{"l":4},15],"r":153,"s":[{"a":5,"l":[{"a":[{"g":[{"a":91}]}],"e":[{"g":32}]}],"t":[{"e":15,"i":[{"k":94}]}],"ø":26},232]}],"r":[{"a":[{".":88,"f":259,"k":259,"m":217,"n":[{"s":0,"t":193}],"s":[{"a":32,"i":31}],"u":377},153],"d":[{"e":23}],"e":[{"a":88,"d":[{"d":2,"u":11}],"f":88,"g":88,"i":[{"n":11}],"k":[{"l":36,"s":12,"t":15},88],"l":[{"e":[{"s":[{"e":91}],"t":155}]}],"n":[{"g":169}],"o":626,"p":88,"r":[{"e":[{"t":11}],"u":0}],"s":[{".":38,"e":0,"i":11,"k":[{"r":[{"i":[{"v":[{"i":152}]}]}]}],"o":93,"t":0,"v":127},180],"t":[{"a":0},4],"u":69,"v":88},153],"f":[{"e":15}],"g":[{"e":[{"s":17}]}],"i":[{"m":32},153],"j":[{"e":[{"t":1}]}],"k":[{"e":[{"r":[{"i":1}],"s":1}],"l":[{"a":[{"g":219}]}],"n":3,"v":[{"e":1}],"å":1}],"l":[{"a":[{"g":[{"a":46}]}]}],"m":[{"u":[{"t":39}]}],"n":[{"e":[{"r":[{"e":1}],"s":133},23],"u":85,"ø":26}],"o":[{"k":149,"s":[{"t":193},153],"v":23},69],"r":[{"e":[{"k":1,"p":1}],"i":[{"s":26},5],"å":[{"t":1}]}],"s":[{"a":[{"k":[{"a":46},1],"m":[{"e":[{".":36}]}]}],"c":1,"e":[{"s":4}],"i":7,"k":[{"i":15,"r":1}],"l":[{"e":[{"v":31}]}],"o":[{"m":1}],"p":[{"e":1}],"t":[{"a":[{"r":39}],"e":[{"i":14,"n":[{"s":22}]}],"i":[{"g":22}],"o":12},7],"u":39,"v":7,"å":54}],"t":[{"a":[{"r":35}],"e":[{"k":1}],"i":[{"a":405,"d":[{"e":1}],"e":[{"n":[{".":6}]}],"f":4}],"o":12}],"u":[{"m":17,"t":11}],"v":15,"ø":[{"s":8,"v":54}],"å":[{"p":69}]}],"s":[{"a":[{"m":[{"e":[{".":31}]}],"r":[{"a":[{"r":93}]}]},153],"c":153,"e":[{".":88,"m":88,"n":[{"o":53}],"r":[{"i":[{"e":123},58]}]}],"j":[{"o":15}],"k":[{"a":[{"r":2}]}],"l":[{"a":[{"g":1}],"u":0},69],"m":[{"e":7}],"p":150,"s":[{"n":32}],"t":[{"a":[{"s":[{"t":39},6]}],"e":[{"g":4,"r":[{"s":[{"e":15}]}],"t":[{"t":39}]}],"o":[{"f":22,"v":22},183],"r":[{"e":24},54],"ø":5}],"ø":217}],"t":[{"a":[{"k":12,"r":155,"s":[{"a":15},23]}],"e":[{".":88,"a":88,"f":11,"g":[{"e":11}],"i":88,"k":[{"s":230},22],"l":[{"a":[{".":38}]},88],"n":[{"i":0},90],"r":[{".":90,"u":24}],"s":[{"n":61},458],"t":[{"a":0}]}],"r":[{"i":2}],"s":[{"a":69,"p":34,"å":[{"r":[{"e":49}]},40]}],"t":[{"e":[{"r":[{"o":1}],"s":[{"t":4}],"k":[{"s":22}],"t":[{"a":22,"e":22}]}],"a":[{"v":22}],"r":[{"a":22,"i":61}],"s":[{"å":[{"r":[{"e":58}]}]},180],"u":[{"r":1}],"y":1}],"u":153,"y":38},162],"u":[{"g":[{"l":[{"a":32}]}]},150],"v":[{"a":[{"a":15,"n":[{"s":15}]}],"e":[{"i":[{"n":22}],"k":0,"n":[{"o":22}],"r":[{"e":[{"n":242}]}],"s":[{"t":5},54],"t":[{"e":24}]}],"i":[{"k":38}],"l":[{"u":[{"t":21}]}],"n":[{"e":2,"ø":4}],"o":84,"r":[{"e":[{"b":15}]},69],"s":[{"a":35},69],"å":38}],"y":[{"a":[{"l":12,"n":[{".":191,"s":792},28]}],"d":[{"e":[{"k":1,"r":[{"e":1}]}],"i":32}],"e":[{"b":166,"d":[{"e":60}],"e":7,"l":[{"e":1}],"n":23,"p":1,"r":[{"f":1}]}],"g":[{"l":69}],"k":[{"e":[{".":12}],"s":5,"t":22}],"l":[{"e":[{"d":1,"g":1}]},173],"n":[{"a":15,"i":15}],"o":12,"p":[{"e":[{".":12,"l":1}]},168],"r":[{"a":[{".":1}],"e":[{"r":[{".":15}]}],"i":[{"v":36}],"ø":12}],"s":[{"a":[{"r":9}],"i":15,"l":28,"m":1,"p":[{"i":1}],"u":[{"n":[{"d":166}]}]},69],"t":[{"e":[{"i":1,"l":1,"r":[{"e":1}],"s":80}],"i":[{"d":[{"a":16}]}],"r":69,"s":22,"y":779,"ø":15}],"v":[{"e":[{"i":1}],"å":166}]}],"ø":150,"å":149}],"å":[{"a":[{"k":[{"t":[{"a":31}]}],"n":[{"k":[{"a":[{".":32}],"e":[{".":31}]}]},26],"r":[{"a":[{"n":38}]},88],"u":[{"r":[{"e":23}]}]},153],"b":[{"a":[{"n":[{"e":[{".":32}]}]}],"e":[{"r":183}],"o":[{"t":[{"a":39}]}]},398],"d":[{"a":[{"n":152,"r":155}],"e":[{"d":0,"k":0,"m":0,"o":0,"p":0,"r":[{"e":0,"i":0,"o":11}],"s":88}],"i":152,"r":[{"a":1,"e":6}],"s":[{"k":7,"l":[{"a":34,"o":2,"å":12}],"n":8,"p":[{"e":34,"u":2}],"t":[{"e":21},15]},54]},200],"e":[{"l":[{"e":88}],"m":[{"n":[{"a":32}]}],"n":[{"s":152},7],"r":[{"e":[{".":92}],"i":350},90]},187],"f":[{"e":31,"ø":[{"r":[{"e":22}]}]},153],"g":[{"a":[{".":0,"l":[{"d":2}]}],"e":[{".":0,"i":2,"s":88}],"n":[{"a":17,"e":15}],"r":[{"i":[{"n":15}]},1],"s":[{"k":31,"l":15,"p":2,"t":23}],"u":[{"l":23}],"ø":15,"å":[{".":0}]},173],"h":153,"i":153,"j":153,"k":[{"a":[{"n":90,"r":[{"b":0},90],"v":2},153],"e":[{"h":0,"n":[{"a":0,"h":193},90],"r":[{"e":0}],"s":[{"l":0},22],"v":[{"i":38}]}],"i":[{"d":11},153],"j":153,"k":[{"a":15,"l":31,"r":2},69],"l":[{"a":[{"u":2}],"i":[{"s":[{"t":170}]}],"æ":12}],"o":[{"p":[{"p":12}],"s":23},153],"r":[{"a":4,"ø":[{"k":15}],"å":12}],"s":[{"l":61},8],"t":34,"u":[{"l":95},32],"v":[{"a":[{"l":[{"a":[{".":46}]}]}]}],"ø":[{"y":[{"r":[{"a":[{"r":[{".":46}]}]}]}]}],"å":375}],"l":[{"a":[{"m":[{"p":149}],"r":[{"b":11}],"s":155,"u":793,"v":35},153],"d":12,"e":[{"f":88,"i":[{"n":[{"i":15}]}],"k":88,"m":88,"n":[{"h":169,"i":0}],"r":[{"i":[{"s":31}]}],"s":[{"u":[{"n":[{"d":131}]}]},454],"t":[{"e":0}],"v":88}],"g":[{"å":36},15],"i":[{"o":11}],"j":15,"l":[{"a":[{"g":[{"a":36}]}]}],"o":[{"r":12}],"s":[{"a":[{"n":1}],"e":[{"k":1,"r":1}],"i":61,"p":7,"t":[{"i":1}],"y":[{"n":[{"a":46}]}]}],"t":[{"i":[{"d":17},15]}],"u":[{"l":[{"l":[{"a":46}]}]},69],"y":153,"ø":[{"y":[{"e":5},259]}],"å":[{"k":20,"t":[{"e":[{".":32}]}]}]}],"m":[{"e":[{".":11}],"l":[{"i":[{".":1}]}],"o":[{"m":69}],"ø":[{"y":15}]},168],"n":[{"a":[{"r":90,"s":155},167],"d":[{"r":24,"s":[{"a":23,"e":23,"o":23}]}],"e":[{".":0,"d":[{"s":14},5],"i":19,"l":[{"y":120},88],"s":[{".":38}],"t":[{"r":0},90]}],"i":90,"o":15,"y":155}],"o":90,"p":[{"e":[{"n":[{"a":41,"i":53,"s":18}],"r":[{"o":11},38]},7],"i":153,"j":4,"l":[{"a":153}],"n":[{"e":[{".":1}]}],"p":2,"r":[{"a":17},153],"s":129,"t":[{"a":4}],"å":0}],"r":[{"a":[{"k":12,"n":155,"r":[{"a":152}]}],"d":[{"s":[{"t":[{"r":22}]}]}],"e":[{".":88,"i":38,"l":11,"s":[{"t":0},61]}],"f":[{"i":5}],"i":[{"v":152}],"k":67,"l":[{"e":[{".":1}]}],"n":[{"s":22},173],"o":[{"n":12,"p":12}],"p":[{"o":46}],"s":[{"a":[{"f":22}],"e":[{"l":24,"m":12}],"k":[{"o":24,"u":6}],"l":[{"a":[{"g":[{"a":91}]}]}],"o":[{"l":12}],"t":[{"a":24,"e":2,"i":24,"o":2,"u":15}],"u":54,"v":54,"y":15},7],"u":[{"k":9,"n":12}],"y":9,"ø":153,"å":95}],"s":[{"a":[{"u":2},153],"e":[{".":0,"e":0,"i":[{"d":15}],"k":0,"m":0,"r":[{"i":[{"e":50}]}],"s":[{"m":0,"o":0},82],"t":[{"a":22}]}],"h":12,"i":[{".":93}],"k":[{"a":[{".":15}],"e":[{"n":[{"e":35}]}],"i":6,"j":[{"ø":[{"r":375}]},153],"o":[{"p":2}],"r":153,"u":38}],"l":153,"n":[{"e":15,"i":12}],"o":38,"p":[{"l":2},153],"s":[{"a":15,"e":15,"i":12,"k":[{"å":794},24]}],"t":[{"e":[{"i":152}]},187],"u":[{"n":12,"t":2},23],"v":[{"æ":2}],"ø":[{"y":15}],"å":61},7],"t":[{"a":[{".":0,"k":[{"s":14}],"l":[{"a":39,"e":[{".":22,"n":22},203]},28],"n":[{"g":0}],"r":[{"k":0,"m":169}]},153],"e":[{".":88,"a":88,"e":0,"i":259,"k":[{"e":[{".":31}]}],"o":0,"r":155,"s":88}],"f":[{"e":[{"r":[{"d":166}]}]}],"i":[{"d":[{"a":61}]},38],"n":173,"o":[{"v":2},153],"p":168,"r":[{"e":69,"i":[{"p":[{"a":[{".":36}],"e":[{".":46}]}]}],"u":69}],"s":[{"k":15}],"t":[{"e":[{"d":1}],"i":1,"o":24,"r":[{"i":1}],"s":5,"æ":3},69],"u":[{"n":1},69],"v":[{"a":[{"r":[{"a":17,"e":16}]}],"e":15}],"y":38,"ø":[{"v":69}]}],"u":[{"n":[{"g":[{"e":[{".":32}]}]}]},90],"v":[{"a":1,"e":[{"d":586,"g":0,"l":22,"n":[{"i":0}],"r":[{".":155}],"v":88}],"s":40,"y":152,"æ":[{"r":[{"e":[{".":23}]}]}]},153],"ø":[{"y":23},795]}]}',"Ant-wer-pen.Arm-strong.Arm-strongs.Beo-grad.Beo-grads.Brynj-ulf.Brynj-ulfs.Brynj-ulv.Brynj-ulvs.Dansk-øya.Demo-sthe-nes.Gan-dhi.Gan-dhis.Helmut.Kam-tsjat-ka.Me-dina.Nielsen.Nielsens.Not-odden.Not-oddens.Sien-kie-wicz.Steinar.Steinars.Steins-land.Stendhal.Stendhals.Zara-thust-ra.Zara-thust-ras.atten-de.aust-røn.av-ise.aviser.betre.bil-skyss.bil-skyssen.bord-ende.bortan-for.bortre.båt-skyss.båt-skyssen.celle-ska-de.celle-ska-den.celle-ska-der.celle-ska-dene.cheese.dess-uak-tet.dit-over.elev-skys-sen.elev-skyss.et-steds.finger-spitzen-ge-fühl.finger-spitz-ge-fühl.fram-ifrå.før-enn.gi-vet-vis.her-etter.her-etter-dags.hes-te-skyss.hes-te-skyssen.hvor-over.inn-yver.høist-ære-de.kaste-sting.lands-øl.lands-ølet.lands-ølets.langt-ifra.maling-slitt.maling-slitte.midt-etter.midt-skys-sen.midt-skyss.ned-imot.ned-om.ned-yver.noens.næs-ten.nøye-reg-nen-de.opp-imot.oven-ikjø-pet.po-lar-is.po-lar-isen.polis.polisen.promp-te.sel-ves-te.skole-skys-sen.skole-skyss.skrov-is.skrov-isen.smal-enden.spleen.stokk-ende.svart-svidd.svart-svidde.syd-enden.sørpe-is.sørpe-isen.treskje.tvert-om.ukes-kor-tet.ukes-kort.ukes-kort-ene.upp-yver.ut-ørk.ut-ørken.velan.velet".split(".")]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/9413.adapter.js b/public/tools/cloud_sheets/vendor/univer/9413.adapter.js new file mode 100644 index 0000000..f81410a --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/9413.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[9413],{9413(s,o,e){e.r(o),e.d(o,{Hi:()=>n});const n=["22,11,01,1,21",'{"‍":0,"‌":1,"अ":2,"आ":2,"इ":2,"ई":2,"उ":2,"ऊ":2,"ऋ":2,"ॠ":2,"ऌ":2,"ॡ":2,"ए":2,"ऐ":2,"ओ":2,"औ":2,"ा":2,"ि":2,"ी":2,"ु":2,"ू":2,"ृ":2,"ॄ":2,"ॢ":2,"ॣ":2,"े":2,"ै":2,"ो":2,"ौ":2,"क":3,"ख":3,"ग":3,"घ":3,"ङ":3,"च":3,"छ":3,"ज":3,"झ":3,"ञ":3,"ट":3,"ठ":3,"ड":3,"ढ":3,"ण":3,"त":3,"थ":3,"द":3,"ध":3,"न":3,"प":3,"फ":3,"ब":3,"भ":3,"म":3,"य":3,"र":3,"ल":3,"ळ":3,"व":3,"श":3,"ष":3,"स":3,"ह":3,"ँ":4,"ं":4,"ः":4,"ऽ":4,"॑":4,"॒":4,"्":0}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/9501.adapter.js b/public/tools/cloud_sheets/vendor/univer/9501.adapter.js new file mode 100644 index 0000000..481be4f --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/9501.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[9501],{9501(a,d,e){e.r(d),e.d(d,{Cy:()=>n});const n=["004,003,0005,0003,0004,005,0043,0000005,0000004,002,0034,00004,00005,00000004,0002,000005,00003,000004,0000000004,00034,00045,00000005,00054,00043,0044,001,0054,000000004,01,0302,2,0001,021,04,05,03,403,201,00000000004,4,303,405,40003,203,2001,22,012,02,000003,3,00304,043,00504,1,5,00403,00002,00032,21,3001,0303,3201,43,0000504,00404,034,04003,0203,00444,0012,00203,2101,0101,0405,003004,0432,34,0202,03003,023,00023,0032,0103,00303,0023,202,00505,2012,2002,000403,4002,0403,500003,044,0102,0402,1002,212,0201,504,0301,00044,34003,04004,000045,2003,000000005,000404,2302,0004004,222,23,03002,005004,304,302,04043,1001,000043,00402,000505,000034,024,032,3032,0304,404,45,05004,3024,0045,022,000305,0404,045,221,0321,0232,000004004,054,2303,30043,3004,00503,0055,0024",'{".":[{"a":[{"c":[{"t":0}],"d":[{"a":[{"e":1}],"d":[{"a":[{"s":2}],"o":3}],"e":[{"g":0,"n":[{"y":0}]}],"f":[{"e":[{"r":0}]}],"l":4,"r":1}],"e":[{"a":1}],"f":[{"a":[{"n":0},1],"f":3,"l":[{"u":4,"w":5}]}],"g":[{"w":1}],"m":[{"l":[{"e":0}],"s":1}],"n":[{"a":[{"d":5}],"g":[{"h":[{"e":[{"n":[{"a":7,"r":8}]}]}]},6],"o":9,"r":[{"h":[{"y":[{"d":8}]}]}],"s":[{"o":[{"d":[{"d":[{"e":8}]}]}]}],"t":[{"e":5}],"w":[{"e":5},10]}],"r":[{"b":[{"o":0}],"c":[{"h":[{"a":0}]}],"d":[{"d":[{"e":[{"l":5}]}]}],"e":[{"d":11,"n":0}],"f":[{"f":11}],"g":[{"e":0}],"i":9,"w":[{"e":[{"d":0},1]}]}],"s":[{"g":1,"t":1}],"w":[{"e":0}]}],"b":[{"a":[{"n":[{"a":[{"s":4}],"e":[{"d":4}]}],"r":[{"a":[{"t":12}]}]}],"e":[{"l":[{"y":3}],"t":[{"a":10}]}],"l":[{"e":0},9],"r":[{"e":0},9]}],"c":[{"a":[{"l":[{"l":12}]}],"e":[{"n":0}],"h":[{"e":0,"l":0,"o":[{"l":[{"l":[{"a":[{"d":13}]}]}]},0],"r":14,"w":[{"y":[{"n":15}]}]},9],"l":9,"r":9,"y":[{"w":[{"e":5}]}]}],"d":[{"a":[{"d":[{"r":3}]}],"d":[{"e":[{"f":[{"n":15}]}],"i":[{"a":[{"n":2}],"d":[{"d":2}],"e":3,"l":[{"l":[{"a":[{"d":[{"a":[{"s":15}],"e":15,"o":15,"w":15}]}]}]}],"n":11,"w":[{"e":[{"d":[{"d":[{"a":[{"s":12}],"e":12,"o":12,"w":12}]}]}]}]},0],"w":[{"l":16}],"y":[{"f":[{"a":[{"l":[{"a":2,"e":2,"o":2,"w":2}]}]}],"l":[{"a":[{"d":8}]}]}]},9],"e":[{"a":[{"l":[{"l":[{"a":[{"d":13}]}]}]}],"f":[{"n":16}],"r":[{"w":4}],"t":[{"h":12}]}],"i":[{"a":[{"n":5}],"d":[{"d":5}],"e":1,"g":[{"y":1}],"l":[{"l":[{"a":[{"d":[{"a":[{"s":12}],"e":12,"o":12,"w":12}]}]}]}],"n":4,"w":[{"e":[{"d":[{"d":[{"a":[{"s":2}],"e":2,"o":2,"w":2}]}]}]}]}],"r":[{"e":0}],"w":[{"l":3}],"y":[{"f":[{"a":[{"l":[{"a":5,"e":5,"o":5,"w":5}]}],"o":5}],"l":[{"a":[{"d":17}]}],"r":[{"c":[{"h":[{"a":[{"f":[{"a":[{"d":18}]}]}]}]}]}]}]}],"e":[{"b":[{"r":[{"w":0},1]},9],"c":9,"d":[{"l":4,"r":4},9],"g":[{"n":3},9],"l":[{"o":[{"r":0}],"s":4}],"n":[{"a":[{"s":1}],"y":[{"n":[{"a":2}]}]}],"r":[{"f":[{"y":[{"n":[{"a":12}]}]}],"n":4},9],"w":[{"y":[{"n":[{"a":2}]}]}]}],"f":[{"a":[{"d":[{"d":16}],"l":[{"c":[{"h":15}]}],"n":[{"a":3}],"r":[{"n":[{"a":[{"i":[{"s":[{".":11}]}]}]}]}],"s":[{"g":[{"e":2},11]}]}],"f":[{"a":0,"e":[{"r":[{"a":[{"s":2},11],"e":11}]}],"o":[{"r":[{"t":12}]},0],"y":[{"d":[{"d":15}],"n":[{"a":[{"d":8,"s":2}]}]},0]},9],"i":[{"g":[{"n":12}],"s":[{"g":2}]}],"o":[{"n":[{"e":[{"d":[{"i":4}]}]}],"r":[{"d":[{"d":17}],"o":4,"w":4,"y":4}]}],"r":[{"i":0,"y":[{"n":[{"d":11}]}]}],"y":[{"d":[{"d":12}],"n":[{"a":[{"s":2}]}],"w":3}]}],"g":[{"a":[{"l":[{"e":3,"o":2}],"n":[{"l":3,"o":[{"l":[{"a":[{"s":2}],"e":2}]}]}]}],"e":[{"n":[{"a":[{"s":2}]}],"r":[{"b":2}],"u":[{"d":2}]}],"h":[{"w":[{"y":[{"n":[{"a":12}]}]}]}],"l":[{"a":[{"f":[{"y":12}]}],"e":[{"i":[{"d":17}]},0],"y":[{"n":16,"w":[{"a":[{"d":8}]}]},0]},9],"o":[{"d":[{"y":3}],"f":[{"a":3,"f":[{"a":[{"d":[{"w":[{"y":8}]}]}]}]}],"l":[{"l":[{"a":[{"d":8}]}]}]}],"r":[{"y":[{"n":[{"h":[{"o":[{"e":[{"m":8}],"w":[{"n":8}]}]}]}]}]},9],"w":[{"e":[{"d":[{"d":[{"e":[{"r":17}]}]}]}]}],"y":[{"d":3,"f":[{"a":[{"l":2,"r":[{"c":2}]}],"e":[{"r":[{"b":[{"y":[{"n":[{"a":15,"i":15,"n":15}]}]}]}]}],"f":[{"e":[{"l":7}]}]}],"m":[{"o":3}],"n":[{"a":3,"e":[{"f":15},2]}],"t":[{"h":[{"r":[{"u":12}]}]}],"w":[{"e":5}]}]}],"h":[{"a":[{"c":4,"d":[{"l":11}],"f":[{"a":4,"l":19}],"g":[{"r":16}],"m":[{"l":[{"e":4}]}],"n":[{"a":[{"s":2}],"g":[{"h":[{"e":[{"n":[{"a":21}]}]}]},20],"t":2,"w":22}],"r":[{"d":[{"d":[{"e":[{"l":2}]}]}],"e":[{"d":17,"n":4}],"n":[{"a":11},3],"w":3}],"s":[{"g":3}],"w":4}],"e":[{"b":14,"c":14,"d":[{"l":11},14],"o":0,"r":[{"f":[{"y":[{"n":[{"a":15}]}]}],"w":4}],"u":[{"r":12}]}],"o":[{"f":[{"r":23}],"l":[{"y":[{"n":15},4]}]}],"w":[{"n":4,"y":[{"l":[{"u":12}],"n":[{"a":12}],"r":12,"t":[{"h":[{"a":[{"u":17}]}]}]}]},9],"y":[{"d":[{"r":11},4],"f":[{"f":1,"o":[{"d":4}],"r":[{"y":5}]}],"g":1,"l":4,"m":[{"e":3,"u":4,"y":[{"n":[{"a":12}],"s":[{"g":8}]},4]}],"n":[{"o":1},14],"r":[{"w":1}]}]}],"i":[{"a":[{"c":[{"h":[{"a":[{"s":2}],"e":2,"w":2},11]}]}],"r":1}],"l":[{"a":[{"d":[{"r":16}]}],"e":[{"d":[{"r":[{"e":11}]}],"n":[{"a":1}],"o":1,"s":[{"t":11}]}],"i":[{"n":3}],"l":[{"a":[{"w":[{"e":11}]}],"e":[{"n":[{"a":2}]}],"o":[{"n":[{"a":[{"s":2}],"e":11}]}],"y":[{"t":[{"h":[{"r":7}]}]}]},9],"o":[{"n":[{"a":1,"e":4}]}],"u":[{"d":[{"d":16}]}],"y":[{"g":[{"r":16}],"n":[{"a":3}],"t":[{"h":[{"r":15}]}]}]}],"m":[{"a":[{"n":[{"e":[{"d":4}],"t":[{"a":11}]}],"r":[{"f":4}]}],"i":[{"g":[{"n":12}],"s":[{"g":2}]}],"o":[{"l":3,"n":[{"e":[{"d":[{"i":4}]}]}]}],"w":[{"y":[{"t":[{"h":[{"a":15,"w":15}]}]}]}],"y":[{"n":[{"a":[{"s":2}]}]}]}],"n":[{"e":[{"i":[{"l":[{"l":[{"t":[{"u":[{"a":[{"d":13}]}]}]}]}],"s":[{"i":11}]}],"n":[{"a":3}],"r":[{"w":4}]}],"g":[{"e":[{"n":[{"a":[{"s":12}]}]}],"h":[{"y":[{"t":[{"u":15}],"w":[{"a":12}]}]}],"l":4,"w":0,"y":4},9],"i":[{"a":[{"n":5}],"e":1,"f":[{"e":[{"i":5}]}],"g":[{"a":5,"e":1,"w":1,"y":1},14],"r":[{"e":5}],"w":[{"a":1,"l":12}]}],"o":[{"e":0,"w":0}],"w":[{"l":3,"y":[{"n":16}]}]}],"o":[{"d":[{"d":[{"e":[{"f":[{"a":[{"d":13}]}]}]}],"l":0}],"f":[{"a":1,"o":0,"u":0}],"g":[{"l":24},9],"l":[{"l":3,"y":[{"g":[{"a":5,"e":5}],"n":16}]},9],"r":[{"d":[{"d":[{"a":[{"d":8}]}]}]},25]}],"p":[{"l":[{"a":0,"e":0}]}],"r":[{"a":[{"d":[{"r":3}],"g":[{"l":3}],"n":[{"a":1,"d":22}]}],"e":[{"w":3}],"h":[{"i":[{"a":2}]}],"i":[{"a":4,"n":[{"t":4}]}],"u":[{"g":[{"l":20}]}],"y":[{"n":[{"a":10,"e":4}]}]}],"s":[{"a":[{"s":4}],"e":[{"s":4}],"t":9,"y":[{"c":[{"h":[{"e":12},16]}]}]}],"t":[{"a":[{"l":[{"a":[{"d":17}]}],"n":[{"e":4}]}],"h":[{"a":[{"g":12}],"i":0,"o":[{"e":2}],"r":[{"a":[{"d":17}]},24],"u":0},9],"o":[{"r":[{"a":[{"d":17}]}]}],"r":[{"a":[{"d":11},0],"o":[{"e":[{"n":4}]},0]},9]}],"u":[{"c":[{"h":14}]}],"w":[{"a":[{"r":[{"a":[{"s":26}],"e":[{"s":4}]}]}],"e":[{"d":[{"d":[{"e":[{"r":11}]}]}],"i":[{"t":[{"h":[{"i":[{"a":[{"d":27}]}]}]}]}],"l":[{"a":[{"d":17}]}],"n":[{"a":3}],"s":[{"t":11}]}],"n":[{"i":[{"o":0}]}],"o":[{"b":[{"r":16}]}],"y":[{"b":[{"r":11,"y":1}],"r":0,"w":3}]}],"y":[{"d":[{"d":4,"l":0}],"f":[{"a":[{"r":0}]}],"m":[{"a":[{"d":[{"w":0}]}],"e":1,"y":[{"l":0,"s":[{"g":17}]}]}],"n":[{"d":0}],"s":[{"b":0,"g":4,"i":0,"n":0,"t":0}]}]}],"a":[{"a":[{"r":29},28],"b":[{"a":[{"d":0},1],"e":[{"d":1,"l":1}],"i":[{"n":[{"e":5}]}],"l":31,"o":[{"r":0},32],"r":3,"u":[{".":33,"m":33},28]},30],"c":[{"a":[{"d":[{"e":5}],"n":16,"o":[{"l":0}]},25],"e":[{"i":1,"n":[{"e":3,"n":[{"i":[{".":5}]}]}]}],"h":[{".":33,"a":[{"c":2,"w":2}],"e":[{"f":34}],"o":3,"r":3,"u":[{"s":2}],"w":[{"a":35,"y":[{"n":7}]}],"y":11},31],"i":[{"m":[{"w":2}]}],"l":3,"o":1,"t":[{"a":1,"e":1}]},30],"d":[{"a":[{"c":36,"d":1,"f":[{"a":5}],"r":[{"f":1,"g":11}]}],"d":[{".":33,"a":[{"d":3,"l":1}],"d":1,"e":[{"u":3,"w":2}],"f":3,"i":3,"o":14,"u":[{"n":17},0],"y":[{"c":3,"s":3}]}],"e":[{"g":1,"l":[{".":0},1],"n":[{"a":0,"e":0,"i":0,"o":0,"w":0}]},37],"i":1,"l":[{"e":[{"n":1}],"y":[{"s":5}]},30],"n":[{"a":[{"b":[{"y":[{"d":[{"d":[{"e":[{"d":38},27]}]}]}]}]},9],"o":9}],"o":[{"c":1,"d":1,"f":1,"n":1},30],"r":[{".":39,"e":[{"d":0}],"i":1,"o":[{"d":4,"n":3}],"u":0}],"u":[{"n":[{"i":[{"a":[{"d":5},39]}]}],"r":[{"o":5}]}],"w":[{"e":[{"l":[{"e":[{"d":[{".":17}]}]}]}],"i":1,"r":[{".":5}],"y":[{"s":40,"t":5}]}],"y":[{"n":4,"r":[{"n":0}]},25]}],"e":[{"a":[{"d":[{"a":0}],"n":[{".":5}]},30],"d":[{"d":16}],"i":1,"l":[{"e":[{"d":[{"d":[{"a":4}]}]}]},31],"n":3,"o":[{"c":1,"g":1}],"r":[{"w":[{"e":2,"y":2},11]},31],"s":[{"t":11},3],"t":[{"h":[{"a":12,"r":17}]}],"w":[{"y":[{"d":5}]},25]}],"f":[{"a":[{"d":[{"w":1}],"i":[{"d":41}],"l":0,"n":[{"e":12,"n":0},1],"r":[{"n":5},42],"t":0,"u":36}],"e":43,"f":[{"a":3,"e":[{"d":3,"i":3}],"i":3,"l":16,"w":3,"y":[{"r":4},3]},30],"i":1,"l":[{"a":3,"e":[{"d":[{"i":2}]}],"u":6}],"n":44,"o":[{"d":[{"d":1}],"l":39,"n":[{"t":1}]}],"r":[{"a":1,"e":[{"s":1}],"i":[{"f":5}],"u":0,"w":[{"y":5}]},30],"u":25,"w":37,"y":25}],"g":[{"a":[{"d":1,"l":1},25],"e":[{"n":[{"a":3,"e":2}]}],"l":[{"a":[{"w":1}],"o":3,"u":1,"w":3}],"n":1,"o":[{"d":1,"f":1,"r":[{"i":0}]}],"r":[{"i":1,"y":1},25],"u":25,"w":[{"a":1,"e":[{"l":1}],"n":1,"r":1},9],"y":[{"m":[{"a":5}],"w":4}]},45],"h":[{"a":[{"n":[{"a":[{"d":8}]},16]}],"e":[{"d":[{"r":17}]}]},46],"i":[{"g":30,"l":[{"e":[{"n":48}]},44],"n":[{"c":39},30],"t":30},47],"l":[{"a":[{"b":[{"r":5}],"d":1,"e":36,"f":16,"i":[{"d":39}],"n":1,"r":[{"c":5}],"s":[{"o":5}]}],"c":[{"e":1,"h":[{"w":16}],"w":[{"l":5}]}],"d":[{"i":0}],"e":[{"d":[{"a":[{"u":5}]}],"i":1,"n":[{"a":0},1],"s":[{".":0}]},25],"f":[{"o":9,"y":1}],"i":[{"s":0},1],"l":[{"a":3,"e":3,"i":3,"o":[{"c":3}],"w":3,"y":3}],"n":49,"o":[{"c":1,"d":1,"g":[{"i":[{"a":0}]}],"n":[{"a":3,"e":19,"o":1}],"r":1}],"p":[{"e":4}],"u":25,"w":[{"c":39,"e":3,"r":39,"s":[{"t":5}],"y":[{".":39},1]}],"y":25},30],"m":[{"b":[{"l":16}],"d":[{"a":[{"n":15}]},1],"e":[{"l":[{"o":12}],"r":1}],"g":[{"y":[{"m":[{"r":15}]}]}],"h":[{"e":[{"n":17}],"o":[{"b":[{"l":8}]}],"r":[{"y":[{"d":8}]}]}],"l":[{"a":[{"s":5}],"e":[{"d":0}],"f":0,"g":0}],"n":[{"i":[{"f":5}]}],"o":[{"f":0,"r":[{"w":12},9]}],"p":[{"a":0}],"w":[{"a":33,"e":[{"d":5}],"r":[{"i":5}],"y":[{"d":5,"t":1}]}],"y":[{"n":16}]},30],"n":[{".":30,"a":[{"b":33,"d":[{"l":48}],"e":33,"f":[{"i":0},33],"i":33,"s":9,"t":50,"u":33,"w":33},25],"c":[{"o":39}],"d":[{"a":9,"d":[{"a":5,"y":0}],"e":9,"o":9}],"e":[{"d":[{".":1,"a":5,"d":[{".":5}],"o":5},9],"g":51,"l":[{"i":1},33],"r":[{".":5}],"w":[{"i":5}]},25],"f":[{"y":1},30],"g":[{"a":[{"d":3}],"d":0,"e":3,"f":0,"h":[{"a":[{"f":[{"f":13}]}],"e":[{"l":[{"f":13}]}],"r":[{"e":[{"d":[{"a":[{"d":18}]}]}],"i":[{"s":[{"t":27}]}]}],"y":[{"d":[{"n":[{"a":27}]},8],"f":[{"a":[{"r":27}],"f":13,"i":[{"a":[{"w":[{"n":38}]}]}]},8],"m":8,"n":[{"e":8}]},17]}],"l":11,"o":[{"r":2}]},44],"i":[{"f":1,"g":[{"i":1}]}],"n":[{"a":[{"u":39}]}],"o":[{"c":1,"d":[{".":1,"d":1}],"g":[{".":5,"a":[{"e":52}]}],"l":[{".":1},39],"m":1,"n":[{"t":1}],"r":1}],"r":53,"s":[{"i":[{"c":5,"e":4,"w":[{"n":5},4]}]}],"t":[{"a":[{"c":2},0],"h":[{"e":5}],"r":[{"w":3}]}],"w":[{"e":[{"s":1}],"l":39,"y":[{"d":1,"n":48},11]},25],"y":[{"l":23},25]},47],"o":[{"e":28}],"p":[{"a":1,"c":[{"y":0}],"e":[{"l":[{"w":5}]}],"l":[{"a":4},1],"o":[{"s":[{"t":5}]}],"r":[{"w":[{"n":5}],"y":[{"n":5}]}],"w":[{"l":[{"l":5}]}]}],"r":[{"a":[{"b":1,"d":[{"r":48}],"e":16,"f":[{".":1,"f":2}],"n":[{".":0,"a":16,"e":16},1],"t":11,"w":1}],"b":[{"e":[{"r":0}]}],"c":[{"a":[{"s":3}],"h":[{"e":[{"n":12}]}],"l":[{"o":5}]}],"d":[{"a":9,"e":[{"s":2},9],"r":0,"y":[{"n":48}]}],"e":[{"b":9,"i":[{"d":5,"t":1},9]},25],"f":[{"a":[{"n":15},1],"e":[{"d":2,"l":5}],"f":0,"o":[{"d":1}]}],"i":[{"a":[{"n":0}]},25],"m":9,"n":[{".":39,"a":[{"d":[{"w":[{"y":[{".":2}]}]}]}],"d":0,"h":49,"o":0,"w":0,"y":0}],"o":[{"d":[{".":0,"i":0}],"g":[{"l":48}],"r":49,"s":[{".":54},1]},25],"p":[{"a":[{"s":6}],"w":3}],"s":[{"y":1}],"t":[{"e":1,"h":55}],"u":[{"g":1,"t":1,"w":[{"c":2}]}],"w":[{"a":[{"i":49}],"c":[{"h":5}],"d":[{"e":[{"r":2}]},56],"e":[{"d":1}],"i":40,"n":[{".":1,"i":1},3],"y":[{"n":39},1]}],"y":1},30],"s":[{".":30,"a":[{"s":30,"w":[{"r":5}]}],"b":[{"o":[{"e":5}]},53],"d":30,"e":[{"d":30,"n":[{"n":0}]}],"f":30,"g":[{"a":[{"l":5}],"l":16,"o":[{"d":[{"a":4}]}],"w":[{"r":1,"y":3}]},30],"i":[{"a":30,"e":39}],"l":30,"n":[{"y":0},30],"o":[{"d":[{".":0}],"e":30}],"r":30,"t":[{"a":[{"l":0,"n":1,"t":15}],"e":1,"l":0,"r":[{"u":[{"s":5}]},0],"w":14,"y":[{".":5,"l":1,"n":48}]},30],"u":[{"r":1},30],"w":[{"i":[{"r":5}],"r":30}],"y":[{"n":[{"n":5}]},30]}],"t":[{"a":[{"d":1,"l":[{"f":5}]}],"e":[{"b":16,"m":1}],"h":[{"a":3,"l":16,"o":3,"r":[{"e":23,"w":16,"y":[{"c":12}]}],"w":3,"y":3}],"o":[{"i":14,"l":1}],"ô":35,"r":[{"a":[{"n":1}],"o":[{"c":2,"d":1,"e":12}],"y":[{"c":2}]}],"w":[{"y":1}],"y":[{"n":[{"a":3,"e":2}]}]},45],"u":[{"l":30},47],"w":[{"a":[{"r":[{"t":5}]},25],"c":[{"h":[{"w":5}]}],"d":[{"d":[{"r":5}],"r":[{"y":5}]}],"e":[{"d":1,"i":1,"l":1,"s":1}],"f":1,"g":[{"a":1}],"i":25,"l":[{"e":[{"d":2}]}],"n":[{"a":3}],"r":[{"d":3},31],"y":[{"r":23}]},30]}],"á":[{"u":[{".":49}]}],"â":53,"b":[{"a":[{"b":[{"i":4,"y":[{"d":2}]}],"c":[{"h":16},35],"d":[{"d":16,"w":35}],"e":[{"t":30},53],"f":28,"i":28,"n":[{"a":3,"e":3,"n":33,"o":3},28],"r":[{"c":[{"h":54}],"f":4,"l":[{"y":[{"s":[{".":4}]}]}],"n":16,"w":[{"y":4}]}],"s":[{"g":57,"t":11},28],"t":[{"a":4,"h":33}],"u":28,"w":[{"d":[{"a":11}],"e":[{"n":[{"a":12}]}]}]}],"d":28,"e":[{"c":28,"d":30,"i":[{"r":[{"a":11}],"w":0}],"m":28,"n":[{"a":[{"e":4,"s":1}],"e":[{"d":5}],"g":[{"l":17}],"s":11,"t":[{".":35},11],"w":[{"y":[{"n":[{"a":15}]}]},3]}],"r":[{"t":35}],"s":[{"i":35}]}],"g":[{"a":[{"l":11}]}],"i":[{"a":[{"i":[{"d":[{"d":5}]}]},35],"b":59,"d":60,"e":35,"g":61,"n":[{"c":33,"e":14}],"o":35,"r":35,"s":[{"g":11}],"t":35},58],"l":[{"a":[{"f":1,"i":[{"r":5}],"n":[{"a":3,"e":[{"d":[{"i":2}],"s":2}]}],"u":30,"w":[{"d":5}]}],"e":[{"c":1,"n":[{"n":[{"i":[{".":0}]}]}],"w":16}],"w":[{"r":39}],"y":[{"c":33,"n":[{".":5},39]}]}],"o":[{"b":[{"l":24}],"c":28,"d":[{"d":62}],"l":3,"m":28,"n":[{"d":4},47]}],"r":[{"a":[{"n":[{"a":3}]}],"e":[{"d":1,"g":[{"y":16}],"m":1,"n":[{"n":0}]}],"i":[{"l":0,"r":1},9],"o":[{"d":[{"i":[{"a":[{"e":11}]}]}],"g":11}],"w":[{"d":0}],"y":[{"f":16,"n":[{"d":11}]}]},47],"s":[{"e":[{"n":[{"a":3,"e":2}]}]},46],"u":[{".":30,"a":53,"d":[{"d":[{"l":11}]}],"l":[{"o":0}],"o":49}],"w":[{"a":1,"c":28,"l":[{"l":49}],"n":[{"s":33},28],"r":31,"y":[{"d":[{".":35},39],"f":62,"l":[{"l":[{"t":8}]}],"n":49,"r":23}]}],"y":[{"c":[{"h":[{".":35}]}],"d":[{"d":[{"i":12}]}],"l":[{"l":[{"a":49}]},47],"n":[{"a":1,"e":[{"d":1,"s":1}]}],"r":[{"f":11,"w":33}],"s":[{"t":[{".":49}]}],"w":3},30]}],"c":[{"a":[{"b":[{"l":[{"e":[{"n":11}]}]}],"d":[{"a":3,"l":3},28],"e":[{"a":4,"t":[{"h":[{"i":[{"w":[{"e":[{"d":13}]}]}]}]}]}],"f":28,"i":35,"l":[{"e":3,"o":3}],"m":[{"e":[{"n":[{"n":4}]}],"n":11}],"n":[{"a":3,"e":0,"g":[{"h":[{"e":[{"n":[{"a":7}]}]}]}],"l":3,"n":33,"o":[{"l":[{"a":[{"s":2}],"e":2}]}],"t":35,"y":[{"d":4}]}],"r":[{"e":[{"n":4}],"p":[{"e":[{"d":[{".":4}]}]}]}],"s":[{"g":[{"e":11}]},28],"t":[{"r":6},49],"u":35}],"á":[{"u":35}],"b":28,"d":9,"e":[{"d":[{"i":[{"g":34}]},35],"g":3,"l":35,"n":[{"a":1,"t":35},47],"r":[{"b":[{"y":2}],"f":4,"y":3}],"u":[{"l":4}]},28],"f":[{"f":35}],"h":[{"a":[{"e":49,"f":[{".":1,"b":0,"i":0}],"n":[{"a":16,"g":[{"h":[{"e":[{"n":[{"a":21}]}]}]}]}],"r":[{"e":[{"n":[{"n":11}]}]}],"s":[{"g":[{"e":17}]}]}],"d":[{"r":[{"y":12}]}],"e":[{"b":[{"a":1,"e":1,"i":1,"o":1,"w":1}],"c":[{"h":1}],"d":[{".":1,"i":1}],"i":[{"n":54}],"l":[{"a":[{"d":8}]}],"n":[{"t":1,"y":16}],"r":[{".":1,"f":11}],"s":[{"g":1,"t":[{"i":[{"o":39}],"o":[{"l":39}],"w":[{"a":39,"e":39}]},49]}],"t":[{"a":1}]}],"i":[{"g":[{".":5}]}],"l":[{"e":[{"i":[{"d":8}],"n":[{"t":2}]}]}],"m":[{"y":[{"n":[{"i":39,"n":[{"o":[{"l":39}]}]}]}]}],"n":[{"e":[{"g":2}]}],"o":[{"b":[{"l":17},16],"d":[{"d":1}],"n":[{"a":[{"d":63}],"t":1,"y":11}]}],"r":[{"a":11,"o":0}],"u":[{".":39,"b":0,"s":39}],"w":[{"a":[{"n":[{"t":54}]}],"c":[{"h":1}],"f":4,"i":0,"n":[{".":1}],"y":[{"f":1}]}],"y":[{"d":16,"m":[{"a":[{"n":11}]}],"n":[{"n":0}],"s":[{"g":48,"o":12}],"t":[{"u":16}],"w":[{"a":2}]}]}],"i":[{"b":3,"g":31,"n":35,"o":[{"d":[{".":1}]}]},28],"l":[{"e":[{"i":[{"d":17}]},9],"i":9,"l":[{"o":[{"n":48}]},28],"o":[{"e":11}],"w":[{"m":0},9],"y":[{"w":[{"a":[{"d":8}]},4]}]}],"n":[{"o":[{"e":[{"n":4}]}],"y":[{"w":0}]},9],"o":[{"b":[{"l":64},31],"c":28,"d":[{"l":4},28],"f":[{"f":[{"a":[{"d":[{"w":[{"y":8}]}]}]}]}],"l":[{"l":[{"a":[{"d":8}]}]}],"m":28,"n":[{"y":4},28],"r":[{"n":[{"a":[{"n":11}]}]}],"s":[{"b":16}]}],"r":[{"a":[{"e":1,"m":4,"t":49}],"e":[{"d":[{"a":[{"d":8}]}],"l":0}],"i":[{"e":1,"n":[{"g":17}]}],"o":[{"f":11,"g":16,"n":[{"a":[{"s":2},11],"e":11}]}],"y":[{"g":[{"l":17},16],"l":0,"m":0,"n":[{"h":[{"o":[{"e":[{"m":8}],"i":8}]}]}]}]}],"s":[{"a":[{"w":65},1],"y":[{"n":1}]}],"t":[{"a":9,"e":[{"g":33}],"i":[{"d":0}],"o":[{"r":16},28],"r":35}],"u":[{"s":30},53],"w":[{"a":[{"s":[{"t":48}]},35],"f":[{"a":0}],"m":3,"n":[{"e":[{"d":4}]}],"y":[{"n":66,"r":4},35]},28],"y":[{"b":[{"y":3}],"c":[{"h":16},58],"d":[{"l":11,"r":11},3],"f":[{"a":6,"e":[{"r":48}],"f":[{"e":[{"l":7}]}]}],"l":[{"l":[{"a":12}]},28],"m":[{"a":[{"n":4}],"e":[{"r":[{"o":4}]}]},3],"n":[{"a":[{"u":34},3],"e":[{"f":48},3],"y":47},28],"s":[{"e":0,"g":16,"o":[{"n":2}],"t":3,"w":3}],"t":[{"h":[{"r":[{"u":[{"d":12}]}]}]}],"w":[{"a":1,"i":1,"y":1},25]}]}],"d":[{"a":[{"c":[{"h":[{".":35,"w":[{"r":34}]},16]}],"d":[{"u":3,"w":[{"y":34},3]},47],"e":[{"a":[{"r":[{"a":2,"e":[{"d":2}],"i":2,"w":2}]}],"l":47}],"f":[{"e":33,"o":33}],"g":[{"w":3},31],"i":[{"l":39,"o":[{"n":5}],"t":33}],"l":[{".":33,"d":33,"n":33,"r":33}],"n":[{"a":67,"e":67,"f":3,"o":47,"u":47,"w":47,"y":47}],"r":[{"a":[{"n":[{"a":4}]},3],"d":4,"f":56,"n":[{"e":34}],"w":3,"y":[{"d":34}]}],"s":30,"u":30,"w":[{"d":[{".":34},16]},30]},46],"b":28,"d":[{"a":[{"d":[{"r":16}],"f":39,"n":[{"g":49,"i":0}],"r":[{"a":1,"i":1,"w":1}],"s":30,"w":0}],"d":[{"a":33,"e":4,"i":68,"r":1,"u":0,"y":[{".":5},0]},14],"e":[{"r":[{".":1}],"t":[{"h":15}],"u":[{"a":[{"d":8}],"g":0}],"w":0}],"f":[{"g":0},9],"i":[{".":30,"c":0,"f":[{"a":16},0],"g":[{".":0,"y":3}],"l":0,"m":0,"n":[{"i":0}],"t":39}],"l":[{"e":[{"n":5}]},69],"o":[{".":30,"c":39,"d":[{"d":1}],"m":39,"n":42,"r":70}],"r":[{"a":4,"e":4,"i":4,"o":4,"w":4,"y":0},14],"u":[{"n":36,"s":[{".":5}]},47],"w":[{"a":[{"w":5}],"c":39,"e":9,"n":39,"r":[{"n":54}],"y":[{"n":0,"r":49}]}],"y":[{"c":39,"d":[{"d":0}],"f":[{".":5}],"m":[{"d":11}],"n":[{"a":[{"d":2}],"i":54,"t":39},0],"r":49},9]}],"e":[{"b":[{".":49,"r":16}],"c":[{"h":[{"a":11}]},28],"d":[{"d":[{".":34,"f":48}]},28],"f":[{"a":3}],"g":[{"o":[{"l":[{".":34}]}]},28],"h":[{"e":[{"u":15}]},25],"i":[{"l":47,"m":33}],"l":[{"f":[{"f":15}],"l":[{"a":35,"e":35,"i":35,"o":35,"t":15,"w":35}],"o":3}],"m":[{".":35},28],"n":[{"g":33,"t":35},71],"o":9,"r":[{"f":[{"y":[{"n":7}]},3]}],"s":[{"i":35,"t":[{"u":54}]},58],"t":[{"a":[{"n":2}],"h":[{"o":11}]},28],"u":[{"l":11,"n":[{"y":4}],"t":33},72]}],"f":[{"a":[{"e":65,"n":[{"n":0}],"o":[{"l":73},0],"t":0,"w":0}],"e":[{"d":[{"r":12}],"i":35,"n":[{"e":2}],"r":[{"f":34,"y":33}]}],"f":[{"y":4}],"i":[{"d":0},47],"o":[{"d":0,"l":51}],"r":[{"y":0}],"u":47,"w":[{"r":56}],"y":[{"d":33,"n":[{"a":16,"e":[{"d":[{".":11}]}]}]}]},46],"g":[{"a":[{"m":56,"n":[{"e":12}]}],"e":[{"i":0}],"l":14,"r":[{"y":[{"n":[{"h":[{"o":21}]}]}]}],"y":[{"f":[{"a":[{"r":12}]}]}]},46],"h":[{"a":[{"o":[{"l":2}]}],"e":[{"g":[{"l":15}]}]},46],"i":[{"a":[{"c":[{"h":5}]}],"b":[{"r":[{"y":[{"d":8}]}]},69],"d":[{"e":[{"n":5},14],"o":[{"s":5},33]},25],"e":[{"t":0,"u":1}],"f":[{"a":[{"n":4,"t":5}],"e":1,"f":[{"r":1}],"l":[{"i":5,"o":5}],"r":[{"a":5}],"w":1}],"g":[{"a":[{"b":5}],"e":[{"l":5,"n":[{"a":12,"e":12},1]},14],"l":11,"o":[{"f":5}],"r":[{"y":1}],"w":1,"y":[{"m":74,"s":1},14]}],"l":[{"a":4,"e":[{"c":5,"s":5},4],"l":[{"a":11}],"u":1,"w":14,"y":[{"s":1}]}],"n":[{".":35,"i":[{"w":5}],"o":[{"d":1,"e":33}]}],"o":[{"r":1}],"r":[{".":35,"a":1,"e":75,"i":[{"f":5}],"o":76,"w":0,"y":[{"m":1}]},47],"s":[{"g":3,"o":1,"t":3,"w":1,"y":1}],"t":[{".":62}],"w":[{".":33,"a":10,"e":[{"n":5},33],"y":[{"f":35}]},77]},58],"ï":28,"l":[{"a":[{"d":[{"d":35,"r":48}],"f":1,"m":35,"u":33}],"e":[{"d":1,"i":65,"n":[{".":33,"a":3,"e":2,"t":33}],"r":1,"w":35}],"o":[{"c":1,"d":1,"n":[{"e":12},78]},47],"u":[{"d":[{"d":48}]},28],"w":47,"y":[{"c":1,"d":[{".":35}],"n":35,"r":0,"w":35}]}],"m":[{"a":[{"r":0}],"e":[{"r":0}],"o":[{"d":0}],"y":35},46],"n":[{"a":[{"p":35,"s":1,"w":35}],"e":[{"b":11,"d":79,"s":1}],"i":[{".":35},47],"o":[{"i":14,"s":35}],"w":32,"y":47},28],"o":[{"c":[{"h":35}],"d":[{".":47,"i":[{"a":33},47],"r":3}],"e":[{"n":0},30],"f":[{"y":[{"d":[{"d":[{"i":[{"o":2}]}]}]}]},47],"l":[{".":35,"l":33,"w":[{"g":4}]}],"m":35,"n":[{"a":14,"e":14,"t":35}],"r":[{"a":14,"d":[{"a":4}],"w":[{"e":2}]}],"s":3,"w":9},28],"r":[{".":30,"a":[{".":49,"d":[{".":1,"a":1,"d":48,"w":1}],"f":10,"i":[{"d":5,"n":5}],"m":[{"g":11}],"n":[{".":0,"a":3,"e":3,"n":0,"t":1}],"u":[{".":5}]}],"c":1,"e":[{"d":[{"o":0},1],"n":1,"u":33,"w":16}],"f":[{"f":11},1],"i":[{"a":[{"u":0}],"d":51,"r":33}],"o":[{"e":[{"s":3},33],"g":[{"e":11},39],"l":[{".":5},1],"n":[{".":1,"a":16,"t":1}]}],"w":[{"g":33,"n":1,"y":[{"f":1}]}],"y":[{"d":1,"n":[{".":1}],"w":35}]}],"s":46,"u":[{"g":72,"n":[{".":33,"a":3,"i":[{"a":33}]}],"r":28,"s":28,"t":53,"w":[{"c":[{"h":5}]}]}],"w":[{"a":[{"d":[{"w":1}],"e":35,"f":1,"i":[{"t":35}],"l":35,"n":1,"s":1},9],"b":[{"l":11},3],"c":35,"d":14,"e":[{"d":[{"i":1}],"n":47,"r":[{"y":12}]}],"i":[{"d":51,"r":51,"t":33}],"m":[{"i":[{"g":5}]}],"o":1,"r":[{"e":3,"n":47}],"y":[{"b":3,"c":33,"n":16,"o":[{"n":[{".":4}]}],"r":47}]},28],"y":[{".":49,"c":[{"h":[{".":34}]},28],"d":[{".":35,"d":39,"w":[{"y":12},14]},28],"f":[{"a":[{"n":2}],"f":11,"n":23,"o":[{"d":[{"d":2,"i":5},4]}],"r":[{"a":[{"d":8}]},80]}],"g":[{".":35,"l":35,"y":1}],"l":[{"a":[{"d":2,"n":1}],"l":16,"u":1},47],"m":[{"a":[{"g":15}],"o":[{"d":2}]},28],"n":[{"a":[{"s":1},49],"e":[{"s":1}],"o":[{"d":10}]}],"r":[{"a":81,"e":14,"i":1,"y":[{"d":5}]}],"s":[{".":30,"a":39,"g":[{"a":12},4],"o":39}]}]}],"e":[{"a":[{"d":[{"f":33,"l":33},28],"f":[{".":35,"a":0,"g":33},31],"i":28,"n":[{"g":33},82],"r":[{"f":[{"o":2},56],"n":[{"i":11}]},31],"s":28,"u":28,"w":35},30],"b":[{"a":[{"d":1,"r":[{".":5}]}],"e":25,"l":14,"o":[{"n":[{"t":1}]},25],"r":[{"a":[{"n":[{"e":12}]}],"e":3,"i":6,"o":3}],"w":[{"y":1},25],"y":[{"l":[{"l":5}]}]}],"c":[{"a":37,"e":43,"h":[{"o":[{"d":2}],"r":[{"y":3},11],"w":[{"e":2,"y":[{"d":2,"n":[{"a":15,"e":15}]}]}]},31],"o":[{"n":[{"o":2},56],"r":[{"d":5}]},30],"r":31,"t":[{"o":0},30],"w":30,"y":1}],"d":[{"a":[{"l":0},43],"d":[{"a":[{"d":3,"l":3,"r":3}],"e":3,"f":[{"a":16,"i":12,"o":16,"w":16,"y":16},30],"g":39,"o":3,"y":[{"c":3,"g":3,"l":[{"a":2,"e":[{"d":2}],"o":2,"w":2}],"n":2}]}],"e":[{"g":1,"i":9,"n":[{"a":12}]},25],"f":[{"a":1,"e":1,"i":1,"w":4}],"i":[{"a":39,"f":4,"g":1,"n":10,"r":1,"w":1}],"ï":49,"l":[{"o":0},44],"r":[{".":39,"e":3,"o":3,"y":[{"d":4}]}],"w":[{"e":[{"n":3},9],"l":[{"w":2}],"y":50},30],"y":[{"m":11},1]}],"e":58,"f":[{"a":[{"d":[{"w":[{"y":[{".":5}]}]}],"n":[{".":5},1],"r":83,"u":1}],"e":[{"r":56},25],"f":[{"e":4,"r":[{"e":2,"o":[{"e":[{"r":17}]}]},19],"y":3}],"i":[{"d":1,"g":1}],"l":[{"o":0},84],"n":[{"o":[{"s":5}]},31],"o":[{"d":[{"o":0}]},25],"r":[{"e":3,"i":0,"y":0},9],"u":[{"s":0}],"w":25,"y":[{"d":[{"d":[{"a":[{"d":21}]}]}],"n":[{"a":3,"e":2}]}]}],"g":[{"a":[{"n":[{".":41,"a":0}],"r":16}],"e":[{"i":[{"r":17}],"l":[{"l":5}],"n":[{".":39}]}],"f":30,"i":[{"g":[{".":5}]}],"l":[{"a":3,"e":3,"o":3}],"o":[{"n":[{".":0}],"s":[{".":5},39]},30],"r":[{"a":3,"e":3,"i":3,"o":3,"w":3,"y":[{"c":3},1]}],"u":9,"y":[{"r":1}]},32],"h":[{"o":28,"y":28}],"i":[{"a":[{"f":[{"r":5},16]},37],"b":[{"r":[{"e":1}]}],"c":[{"h":16}],"d":[{"a":[{"l":15}],"d":[{"y":12},16],"e":[{"r":5}],"l":[{"a":2},56],"r":[{"o":12},30]}],"e":25,"g":[{"l":[{"a":[{"d":12}],"e":[{"n":[{"n":2}]}],"w":16}],"r":0},30],"l":[{"a":[{"d":[{"w":[{"y":[{".":39}]}]},49]}],"e":[{"c":2,"g":2,"s":3}],"l":0}],"n":[{"a":14,"d":[{"i":12,"r":[{"w":4}]}],"f":39,"g":[{"a":11}],"i":[{"o":2}],"l":39,"y":39}],"o":[{"n":[{"t":1}]},37],"r":[{"y":3}],"t":[{"h":[{"e":12}]},30],"w":25,"y":1},47],"l":[{"a":[{"i":[{"n":5}],"n":[{"e":12}]},25],"c":[{"o":0}],"e":[{"d":1,"n":[{"o":0}],"r":[{"a":0,"e":0}]},25],"f":[{"a":[{"r":5}],"e":[{"d":5}]}],"g":[{"r":[{"i":15}]}],"h":49,"i":[{"f":[{"f":5}],"g":39}],"l":[{"a":[{"c":2}],"t":[{"i":[{"r":11}]}],"w":[{"y":2}],"y":3},31],"m":[{"y":[{"n":5}]},84],"o":[{"d":[{"d":1},9],"g":[{"a":0},39]},25],"r":[{"i":9}],"w":[{"i":0,"y":1}],"y":[{"b":[{"i":[{"a":5}],"r":5}],"c":1,"d":[{".":5,"d":1},39],"n":[{"a":1,"e":[{"d":5}],"g":17,"n":1},16],"r":1,"s":[{"g":0,"t":0},1]}]},45],"m":[{"a":[{"i":[{"n":5}],"t":0}],"e":43,"o":[{"s":0},30],"p":[{"r":16},30],"r":[{"y":[{"n":5}]}],"t":[{"a":[{"s":5}]},30],"y":30}],"n":[{"a":[{"d":[{"a":5,"u":51}],"e":33,"f":1,"g":[{"o":5},33],"i":1,"n":1,"r":[{"g":11},66],"w":51}],"b":[{"y":[{"l":5}]}],"c":[{"t":0,"y":0},1],"d":[{"i":[{"g":48}],"r":11},30],"e":[{"c":1,"d":[{".":1,"d":5}],"l":1,"m":1,"n":1,"r":1,"s":[{"t":1}],"u":1,"w":[{"y":12},33]}],"f":[{"y":[{"d":5}]}],"g":[{"h":3,"i":0,"l":[{"o":[{"g":52}]},16]}],"i":[{"s":[{"e":5}],"t":1}],"o":[{"l":[{"i":0}]},1],"t":[{"i":[{"r":4},39],"r":1,"w":[{"r":4}],"y":[{"a":5},39]}],"u":[{"c":[{"h":5}]}],"w":[{"a":[{"d":3}],"c":1,"n":1,"r":1,"y":[{"d":1,"f":1}]}],"y":[{"c":[{"h":[{".":5,"a":[{"s":[{"e":5}]}],"i":[{"a":5}]}]},1],"g":0}]}],"o":[{"c":[{"h":[{".":34}]}],"d":28,"e":28,"l":[{"a":[{"e":33,"i":[{"d":33}],"u":33}]}],"m":28,"n":28,"r":3},30],"p":[{"a":[{"c":[{"h":5}]}],"l":1}],"r":[{"a":[{"i":[{"n":5}]},25],"c":[{"a":3,"h":0,"o":39},9],"d":[{"e":1,"y":3},85],"e":25,"f":[{"a":[{"n":5,"u":2}],"e":[{"d":1}],"f":1,"l":0,"u":0,"y":[{"d":1}]},30],"g":[{"l":1,"y":9}],"i":[{"c":0,"l":0,"n":16,"r":[{".":5}],"t":[{".":5}]},1],"l":[{"y":[{"s":5}]},9],"m":[{"d":0,"w":0,"y":0}],"n":[{"a":1,"i":[{"a":[{"s":86}]},4],"y":[{"w":5}]}],"o":[{"b":39,"g":11,"l":[{"i":5},39],"n":[{"y":0}]},25],"s":[{"e":[{"i":5},9]}],"t":30,"w":[{"a":3,"e":6,"l":0,"n":1,"r":[{"e":0}],"y":[{"c":0,"d":[{"d":0}]},1]}],"y":[{"c":1,"d":[{"d":1}],"g":1,"l":[{"e":16,"l":0},1],"n":[{"a":11,"e":11},1]}]}],"s":[{"a":1,"b":[{"a":1}],"e":1,"g":[{"a":[{"r":5}],"e":0,"n":0,"w":6,"y":[{"n":0}]}],"n":[{"e":0},1],"t":[{"a":[{"m":5},6],"e":[{"r":3}],"f":30,"l":30,"o":[{"l":2}],"u":39,"y":[{"l":[{"l":[{".":5}]}],"n":[{"a":12,"e":12}]}]}],"u":[{"r":[{"a":[{"d":8}]}]},30],"y":[{"d":[{".":0}],"n":83}]}],"t":[{"a":[{"c":1,"d":1,"e":35}],"e":[{"g":[{".":5}],"r":[{".":1},11]}],"h":[{"e":3,"i":3,"l":[{"e":4}],"o":[{"s":3}],"r":23,"w":3},31],"i":[{"r":[{"o":5}]}],"o":25,"r":[{"e":[{".":5}]}],"s":[{"w":[{"y":5}]}],"w":[{"r":39},25],"y":[{"w":[{"y":2}]}]},47],"u":[{"a":[{"u":39},1],"b":87,"d":[{"a":1,"e":10,"i":4},88],"f":37,"g":25,"l":[{"l":11,"y":[{"s":5}]}],"n":[{"a":[{"n":5}],"o":[{"s":5}],"y":[{"d":[{"d":[{"i":5}]}]}]},88],"s":[{"i":[{"l":5}],"t":3}],"t":[{"h":0,"u":0}],"w":1},47],"w":[{"a":25,"d":1,"e":25,"g":[{"l":11,"w":4},1],"i":[{"r":1,"s":16}],"l":31,"o":1,"p":[{"a":[{"r":5}]}],"y":[{"d":[{".":35}],"f":35}]},30],"y":[{"c":28,"e":[{"n":0}]},30]}],"ë":53,"f":[{"a":[{".":49,"b":[{"i":4},3],"c":[{"h":16,"w":4}],"d":[{"d":56,"e":[{"i":4}],"r":23}],"e":[{"l":16}],"f":28,"g":[{"d":4,"l":16},49],"i":28,"l":[{"c":[{"h":17}],"o":[{"n":73}],"u":33}],"m":35,"n":[{".":33,"d":3,"e":[{"d":[{"d":2}],"s":4}],"f":35,"o":3,"t":56}],"o":[{"e":49}],"r":[{"a":3,"c":[{"h":89}],"e":90,"f":[{"a":4},35],"l":4,"n":[{"a":16},49],"p":35,"t":35,"w":[{"e":33,"y":35}]}],"s":[{"i":[{"w":4}]},28],"t":[{"o":4},35],"w":[{"d":[{"a":11}],"r":49}]}],"b":46,"d":[{"d":14,"w":[{"r":[{".":5}]},47]},46],"e":[{"b":[{".":33,"r":16}],"c":28,"d":[{"n":4,"r":47}],"i":[{"a":49,"e":49,"o":0,"r":[{"i":[{"a":[{"d":[{"u":13}]}]}]}],"t":[{"h":48}],"w":0}],"l":[{".":33,"l":35,"y":[{"n":[{"o":2}]}]}],"m":28,"n":[{"a":1,"g":16,"t":[{"r":15},11],"w":16,"y":3}],"r":[{"a":30,"c":[{"h":[{"e":[{"r":17}]}]}],"d":[{"d":17}],"e":45,"i":[{"n":4},45],"o":45,"w":[{"y":[{"c":12}]},47],"y":91}],"s":28,"t":[{"h":[{".":33,"a":33},16]}],"u":31,"y":49}],"f":[{"a":[{"d":1,"n":[{"t":1}],"t":0,"u":1}],"e":[{"d":[{".":1,"i":[{"g":5}]}],"i":[{"o":5}],"l":[{".":5}],"n":[{"e":[{"d":12}],"t":1}],"r":[{".":1,"t":49}],"s":[{"u":1}],"t":11}],"i":[{"d":[{"l":15}]},30],"l":[{"a":[{"c":4},0],"o":[{"g":5,"s":5},0]},9],"n":1,"o":[{"d":[{"e":12,"i":0},1],"n":[{".":49,"a":19,"e":19,"t":1}],"r":[{".":54},9],"s":0}],"r":[{"a":9,"i":9,"o":[{"d":0}],"w":9,"y":[{"n":3},39]}],"t":9,"u":[{"r":[{"f":92}]}],"w":[{"y":[{"f":5}]}],"y":[{"l":[{".":5}]}]},47],"g":[{"w":[{"r":0}]},28],"h":[{"a":[{"o":[{"l":2}]}]},46],"i":[{"a":[{"d":[{"a":[{"e":33}]}]}],"c":[{"e":4},30],"d":[{".":35},47],"g":[{"e":[{"n":[{".":4}]}]}],"l":[{"y":3}],"n":[{".":33,"d":35,"t":4},3],"s":[{"g":11}]},28],"ï":47,"l":[{"a":[{"d":1,"f":11,"i":1,"m":[{"a":[{"d":8}]}],"n":[{"a":3,"e":[{"d":12}]}],"s":47,"w":11}],"e":[{"c":1,"i":[{"s":5}],"m":1,"n":[{"a":3,"e":2}],"o":0}],"i":[{"d":1,"g":0,"n":[{"e":16}],"r":1,"w":0}],"o":[{"m":1,"n":35}],"r":[{"w":[{"y":5}]}],"w":[{"r":51}],"y":[{"c":[{"h":[{"w":34}]}],"d":93,"f":0,"n":[{"a":16,"e":16}]},28]},9],"n":[{"a":1,"d":1,"e":[{"c":51,"d":51,"m":51,"n":33}],"i":[{"f":35,"g":1,"t":[{"h":35}]}],"l":[{"u":[{".":5}]}],"o":[{"c":51,"m":51,"n":51}],"w":1,"y":[{"c":51,"n":1},9]},47],"o":[{"c":28,"d":[{"d":16,"e":[{"n":[{"n":4}]}],"f":33,"r":[{"w":3},11],"u":33}],"e":[{"d":[{"d":35}]}],"g":28,"l":[{"e":[{"n":[{"n":4}]}]},3],"m":28,"n":[{"d":4,"o":[{"g":54}],"y":33}],"r":[{".":33,"c":4,"d":33,"f":3}],"s":[{"i":4,"o":3},29],"t":[{"r":33},35]}],"r":[{"a":[{"f":47,"i":47,"n":[{"a":3,"e":[{"d":2}]}],"s":[{"a":[{"u":11}]}],"u":51},9],"d":[{"d":56},1],"e":[{"c":47,"d":[{".":33}],"g":[{"y":16},33],"m":47,"n":33,"o":35,"r":47},14],"f":1,"h":47,"i":[{"d":[{".":1},47],"r":47,"t":33}],"o":[{"a":[{"d":[{"w":34}]},35],"c":47,"d":[{"i":[{"a":[{"e":11}]}]}],"e":[{"n":4,"s":[{"i":2}]},14],"i":29,"m":47,"n":47,"o":35,"t":0,"w":[{"c":4,"n":4},35]},9],"u":28,"w":[{"c":47},9],"y":[{"n":35},47]}],"t":[{"a":28,"e":[{"r":35}]}],"u":[{"d":[{"d":[{"l":11}],"w":3}],"l":9,"n":82,"r":[{"f":33}]}],"w":[{"a":35,"c":28,"d":3,"e":28,"l":[{".":39}],"n":94,"r":[{".":35,"n":[{"e":2}]}],"y":[{".":33,"d":35,"l":[{"l":[{"t":8}]}],"n":[{".":33},16],"s":33}]}],"y":[{"c":28,"d":[{"d":[{"a":[{"d":8}],"l":11,"y":12}],"l":23,"r":33,"y":3},14],"f":[{"y":4},49],"l":[{".":33},28],"n":[{".":39,"g":35,"o":[{"d":2},3]},47],"r":[{"a":81,"d":35,"e":14,"f":[{"y":11}],"y":4},47],"s":[{"t":[{"y":[{"r":[{"o":8}]}]},4],"w":4}]}]}],"g":[{"a":[{"b":[{"l":[{"e":[{"n":11}]}]}],"c":[{"h":[{".":34}]}],"d":[{"a":[{"r":54},3],"u":[{"r":[{"i":54}]},95],"w":[{"r":33}]},31],"e":[{"a":3},28],"f":[{".":35,"a":3,"r":23}],"i":28,"l":[{"a":[{"r":[{"a":2,"e":2,"i":2,"o":2,"w":[{"y":2}]}]}],"e":[{"d":15}],"l":39},96],"m":[{"e":[{"n":[{"n":4}]}],"n":11}],"n":[{"a":3,"d":4,"e":0,"g":[{"h":[{"e":[{"n":[{"a":7}]}]}]}],"t":35,"w":[{"r":39}]}],"o":35,"r":[{"e":[{"g":3,"n":[{"n":4}]}],"f":35,"g":[{"e":4}],"t":[{"h":[{"i":[{"a":39}]}]},49],"w":[{"e":4}]}],"s":[{"e":[{"d":54}],"g":[{"e":11}]},28],"t":[{"r":6}],"u":58,"w":[{"e":39}]}],"b":[{"e":[{"r":0}]},58],"c":28,"d":[{"d":[{"i":[{"g":15}]},14],"o":[{"r":[{"a":3,"e":22}]}],"w":[{"r":[{".":5}]},47]},97],"e":[{"c":28,"d":[{"d":16,"e":47,"i":[{".":33,"d":33,"r":33,"t":33}],"o":47,"u":33,"y":[{"c":33}]},28],"g":[{"y":47},3],"i":[{".":47,"d":35}],"l":[{".":33,"l":[{"a":12}],"o":3}],"m":28,"n":[{"d":4,"n":[{"i":[{".":34}]}],"r":14,"t":35,"u":33}],"r":[{".":35,"d":76,"f":4,"y":3}],"s":28,"u":[{"l":4}]}],"f":[{"a":[{"n":[{"a":3,"e":2}]}],"e":[{"n":[{"e":2}]}],"y":[{"n":16}]},46],"g":[{"a":35}],"h":[{"a":[{"e":11,"n":[{"a":16,"g":[{"h":[{"e":[{"n":[{"a":21}]}]}]}]}],"r":[{"e":[{"n":11}]}],"s":[{"g":[{"e":17}]}]}],"e":[{"n":[{"i":12}],"r":[{"f":11}]}],"l":[{"e":[{"i":[{"d":8}]},0]}],"n":[{"e":0}],"o":[{"b":[{"l":17},16],"f":[{"r":12}],"g":0,"n":[{"y":11}]}],"r":[{"a":11,"e":[{"d":[{"a":[{"d":[{"u":17}]}],"i":[{"n":[{"i":[{"a":17}]}]}]}]}]},14],"w":[{"f":4}],"y":[{"d":16,"m":[{"a":[{"n":11}]}],"s":[{"g":48}]}]},9],"i":[{"b":3,"d":[{"a":33}],"e":[{"n":[{".":5}]}],"g":98,"l":49,"p":53,"w":35},28],"l":[{"a":[{"c":1,"d":[{"w":1}],"f":56,"n":[{"e":12,"t":1}],"s":[{".":34},16],"t":35,"u":[{".":5}]}],"e":[{".":35,"c":[{"h":1}],"d":[{"i":1}],"i":[{"s":[{"i":[{"a":[{"s":[{"o":34}]}]}]}]}],"o":35,"s":1,"u":1},9],"f":1,"i":[{"a":1,"d":1,"w":35}],"o":[{"d":[{"i":0,"y":0}],"e":4,"f":0,"g":[{"a":99}],"i":14}],"u":[{".":33}],"w":[{"c":33,"m":93,"n":51,"y":[{"f":33}]}],"y":[{"c":1,"d":[{".":35}],"m":0,"s":0,"w":0}]},47],"n":[{"i":[{"o":1,"w":33},9],"ï":100,"o":[{"e":3,"f":9}],"u":9,"w":25,"y":[{"w":0}]},47],"o":[{"b":[{"l":11}],"c":28,"d":[{"d":[{"e":[{"f":[{"a":[{"d":27}]}]}],"r":5}],"y":[{"n":2},77]}],"e":47,"f":[{"a":[{"u":5}],"e":[{"r":1}],"f":[{"a":[{"u":11}]}],"u":[{"n":4}]}],"g":[{"a":[{"n":1}],"e":3,"l":101,"y":[{"n":5}]},14],"l":[{".":35,"e":[{"u":15}],"l":102,"w":0,"y":[{"g":[{"a":2,"e":2,"w":[{"y":2}]}]}]}],"m":[{".":35,"e":1}],"n":[{"a":[{"d":2}],"e":33,"t":35,"y":[{"n":4}]}],"r":[{"c":[{"h":[{"y":2}]}],"d":[{"d":[{"a":[{"d":13}]}],"i":12}],"f":33,"n":[{"a":[{"n":11}]}],"o":[{"l":33}],"t":3},47],"s":[{"b":[{"a":16}]},53],"t":[{"a":35,"e":35,"i":35,"o":35,"w":35}]}],"r":[{"a":[{"m":4,"n":[{"a":16}]}],"e":[{"l":0}],"f":1,"i":[{"d":103,"e":1,"n":[{"g":17}],"r":51,"t":[{".":33}]},9],"o":[{"d":1,"e":[{"d":5},0],"f":11,"g":16,"n":[{"a":[{"s":2},11],"e":[{"d":11,"s":11}],"o":0}]},9],"w":[{"n":[{"a":12}],"o":1,"t":0,"y":[{"d":[{"d":34}]},9]}],"y":[{"c":33,"g":[{"l":17},16],"m":0,"n":0}]},47],"s":[{"y":[{"m":11}]},46],"u":[{"b":3,"d":[{"r":11}],"e":[{"d":[{"d":5}]}],"t":[{"o":0}]}],"w":[{"a":[{"r":[{"a":[{"s":22}],"e":[{"s":11}]}],"s":0}],"c":35,"e":[{"i":[{"t":[{"h":[{"i":[{"a":[{"d":18}]}]}]}]}],"l":[{"a":[{"d":8}],"e":12}],"n":[{"a":16}],"r":[{"t":[{"h":[{"a":[{"d":27}]}]}]}]}],"m":3,"n":[{"a":4,"e":24}],"o":[{"b":[{"r":48}]}],"r":[{".":35,"d":33}],"t":[{"h":[{".":34}]}],"y":[{"b":[{"y":3}],"d":[{".":35,"r":15}],"f":35,"r":4,"w":16}]},9],"y":[{"b":[{"y":3},49],"c":[{"h":[{"o":33},16]},28],"d":[{"d":[{"f":104}],"i":47,"l":11,"r":19,"u":33,"y":33}],"f":[{"a":[{"n":2}],"e":0,"l":0,"r":0},49],"l":[{"a":60,"c":49,"e":35,"i":[{"o":33}],"o":35,"w":35}],"m":[{"a":[{"n":4}],"u":3},47],"n":[{"g":16,"o":47}],"r":[{"o":33},47],"s":[{"e":0,"g":16,"o":[{"n":2}],"t":[{"o":2},3]},47],"w":[{"a":1,"e":[{"d":1}],"i":1,"y":1},49]}]}],"h":[{"a":[{"b":[{"y":[{"d":3}]}],"d":[{"d":[{"a":[{"s":12}],"o":16}],"e":[{"g":4,"n":[{"y":4}]}],"f":[{"e":[{"r":4}]},33],"l":[{"a":11}],"n":3,"r":19}],"e":[{"o":[{"l":34}]}],"f":[{"a":6,"l":33,"o":[{"l":2}],"s":33}],"g":[{"w":3}],"i":[{"f":33},28],"l":[{"e":3,"l":[{"o":16}],"o":3}],"m":[{"e":[{"n":[{"n":4}]}],"n":11,"s":3}],"n":[{"a":[{"d":3,"u":33}],"c":11,"d":3,"e":[{"d":[{"d":2}],"r":4},0],"g":[{"e":33,"h":[{"e":[{"n":[{"r":13}]}]}]}],"i":[{"g":3}],"l":3,"o":[{"d":[{"a":4}],"l":[{"a":[{"i":2,"s":2}],"e":2,"w":[{"y":2}]}]},14],"r":[{"h":[{"y":[{"d":13}]}]}],"s":[{"o":[{"d":[{"d":[{"e":[{"i":13}]}]}]}]}]}],"r":[{"a":[{"d":[{"w":[{"y":[{".":2}]}]}],"t":[{"o":[{"e":[{"n":8}]}]},16]}],"b":[{"w":[{"r":4}]}],"c":[{"h":[{"a":4}]}],"f":[{"o":4}]}],"s":[{"f":35,"t":[{"a":11}]},28],"t":[{"r":[{"e":16},0]}],"u":28,"w":[{"e":[{"n":[{"a":[{"s":12}],"e":12}]}],"l":16}]}],"â":47,"b":[{"l":[{"a":4}]},46],"d":[{"d":[{"a":[{"d":48}]}],"i":[{"r":0},35],"o":[{"n":[{"a":3,"e":3}]}],"r":[{"a":0,"e":3,"o":[{"c":2,"d":2,"e":[{"d":12}]}],"w":[{"y":[{"d":2}]}]}],"w":[{"r":33}]},46],"e":[{"b":[{".":35,"r":[{"a":3}]},47],"d":[{"d":[{"f":[{"o":11}]},16],"e":47,"f":[{"o":2,"w":2}],"i":[{"d":33,"r":33,"t":33}],"o":47,"r":[{"w":[{"y":12}]}],"u":33,"y":33}],"f":47,"g":[{"n":16,"y":33},47],"h":[{"o":0}],"i":[{"a":51,"l":33,"m":[{"l":[{"a":[{"d":[{"w":13}]}]}]}]},77],"l":[{".":33,"a":[{"d":39,"f":39,"i":39,"n":39,"s":39}],"d":35,"e":30,"i":39,"o":105,"s":11,"w":30,"y":[{"d":3},39]}],"m":28,"n":[{"c":[{"y":2}],"i":[{"d":4}],"s":11,"w":[{"y":[{"n":[{"a":15,"e":15}]},3]}],"y":[{"n":[{"a":12}]}]}],"o":[{"l":1}],"r":[{"b":3,"o":47}],"s":[{"i":35}],"t":[{"e":35,"o":35},47],"u":[{"a":[{"e":[{"t":[{"h":[{"a":4}]}]},54]}],"d":3,"l":14}],"w":[{"i":0,"y":[{"n":[{"a":[{"s":12}]}]}]}]}],"f":[{"i":[{"l":11}],"o":[{"n":[{"h":[{"e":[{"d":[{"d":106}]}]}]}],"s":0}],"w":[{"y":0}]},46],"g":[{"a":[{"n":16,"p":56}],"i":[{"a":[{"i":2}]}]},46],"i":[{"a":[{"c":[{"h":[{"a":[{"s":12}],"e":12,"w":12},17]}],"n":24}],"b":3,"d":[{"l":16}],"g":[{"y":3},98],"n":[{"t":4}],"r":3,"w":[{"a":0}]},46],"ï":[{"e":[{"n":0}]},32],"l":[{"a":[{"d":[{"w":5},0],"m":0,"n":[{"a":3}],"s":[{".":34,"i":1,"o":1}],"w":0}],"e":[{"c":[{"h":[{".":5}]}],"d":[{"i":[{"g":5}],"r":15}],"f":35,"i":[{"t":39}],"n":0,"t":0}],"i":[{"d":1}],"o":[{"n":[{"a":16,"e":12}]}],"u":[{"s":33}],"w":[{"m":33}],"y":[{"d":[{".":34,"d":1}],"m":[{"u":11}],"n":[{".":1},33],"w":[{"a":[{"d":8}]}]}]},9],"m":[{"y":[{"g":[{"a":[{"d":8}]},35],"n":[{".":35,"a":3,"e":2,"i":34}]}]},46],"n":[{"a":[{"d":35}],"e":[{"g":47,"w":33}],"i":[{"e":0}],"ï":72,"o":[{"d":16,"l":[{"e":5},47]}],"y":[{"w":0}]},9],"o":[{"a":[{"d":[{".":0}]}],"b":[{"l":0}],"d":[{"l":4,"y":0}],"e":[{"n":0}],"f":[{"f":[{"a":[{"d":[{"w":[{"y":8}]}]}]}]}],"g":[{".":35,"a":65,"l":[{"u":2}]}],"h":9,"l":[{".":35,"u":[{"d":2}]},47],"m":28,"r":[{".":35,"c":4,"n":[{"a":[{"n":11}]}]},47],"s":[{".":33,"b":16,"o":3}],"w":47}],"p":9,"r":[{"a":[{"d":[{"d":3,"w":1}],"f":[{".":1}],"g":3,"i":[{"d":[{".":0}]}],"n":[{"t":1}],"u":[{"l":34}]}],"e":[{"d":[{"i":[{"g":5}]}],"m":[{".":1}]}],"f":1,"i":[{"a":1,"d":[{".":1,"a":11}],"e":1,"n":[{"g":17}],"r":1,"s":[{"i":[{"a":[{"d":13}]}]}],"t":1,"w":[{"y":1}]},9],"o":[{"a":[{"d":107}],"c":[{"h":[{".":5}]}],"d":[{"d":1}],"g":16,"m":[{".":1}],"n":[{"a":[{"s":2},11],"e":11,"g":15,"t":1}]},9],"u":[{"d":0}],"w":[{"n":[{".":1}],"y":[{"d":[{".":5,"d":[{".":34}]}],"f":1}]}],"y":[{"c":33,"g":[{"l":17},16],"l":3,"m":0,"n":[{"h":[{"o":[{"e":8,"i":8,"w":[{"n":8}]}]}]}],"s":33}]},47],"s":[{"e":[{"f":11}]},46],"t":47,"u":[{"b":[{"o":[{"n":2}]}],"d":[{"d":[{"y":12},16],"r":11,"w":3,"y":[{"l":2}]}],"g":[{"e":33,"l":4}],"n":[{"a":[{"d":3}],"n":33}],"r":[{".":35}],"s":[{".":35,"e":33,"t":33,"w":33}]},47],"w":[{"a":[{"s":0},9],"b":[{"l":[{"e":12}]}],"d":3,"e":[{"d":[{"l":15}],"i":35,"l":[{".":33}],"n":[{"y":[{"c":[{"h":[{"a":[{"s":[{"o":2}]}],"e":[{"d":2}]}]}]},11]},16],"r":[{"w":15}],"u":[{"g":2}]},9],"i":[{"w":[{"g":12}]},9],"m":3,"n":[{"e":4}],"r":[{".":35}],"y":[{".":33,"a":33,"b":[{"r":17}],"c":0,"l":[{"l":[{"t":15}]}],"m":0,"o":[{"l":34},33],"r":4},47]}],"y":[{"b":[{"l":4,"w":[{"y":[{"l":4}]}],"y":3}],"d":[{"d":[{"i":[{"d":11}]}],"f":[{"o":4}],"i":47,"l":11,"n":[{"a":[{"w":4}]}]}],"f":[{"a":[{"d":17,"e":4,"r":[{"f":15}]},6],"e":[{"r":48}],"f":[{"e":[{"l":7}],"r":[{"e":[{"d":[{"i":[{"n":[{".":13}]}]}]}]}]}],"i":[{"a":[{"i":4}]}]}],"g":[{"a":0,"l":[{"o":11,"w":11}],"r":11}],"l":[{"l":[{"a":16}]}],"m":[{"a":[{"d":[{"w":4}],"n":[{"t":4}]}],"e":[{"l":2,"n":[{".":4}],"r":[{"a":[{"d":13}]}]}],"o":3,"p":11,"u":3,"y":[{"r":2,"s":2}]}],"n":[{"a":3,"e":[{"f":48},3],"y":[{"c":3}]}],"r":[{"a":3,"d":[{"d":15}],"f":16,"n":[{"o":22}],"w":14}],"s":[{"b":4,"e":0,"g":[{"o":[{"d":12}]}],"i":[{"g":4}],"n":4,"o":[{"n":[{"i":2}]}]}],"t":[{"b":[{"w":4}],"h":[{"r":[{"u":12}]}],"u":[{"n":[{"d":[{"e":[{"b":[{"a":17}]}]}]}]},14]}],"w":[{"a":[{"s":1}],"e":[{"d":5},1],"i":1,"y":[{"d":1}]}]}]}],"i":[{"a":[{"b":[{"a":4}],"c":[{"h":56}],"d":[{"a":[{"e":[{"t":[{"h":[{".":54}]}]}]},33],"l":[{"o":4}],"u":[{"r":[{"o":54}]}]},3],"e":[{"l":35,"t":49}],"f":[{"o":39}],"g":[{"w":3}],"l":[{"a":[{"e":4}]},44],"m":[{"h":3},108],"n":[{"a":1,"d":[{"a":2},39],"e":81,"g":[{"e":11,"h":[{"e":[{"n":21}]}]},62],"o":3,"w":3}],"r":[{"d":35,"f":35,"l":[{"l":15},4],"s":4},30],"s":[{"g":35}],"t":[{"e":[{"r":2}]}],"u":47,"w":[{"n":[{"a":[{"d":8}]}]}]},53],"b":[{"e":[{"d":1,"l":1,"n":[{"y":12}],"s":1,"t":[{"r":17}]}],"i":[{"l":0},1],"l":[{"e":3,"o":3,"w":3}],"o":[{"g":[{".":5}],"n":1}],"r":[{"a":3,"w":3}],"y":[{"n":[{"a":[{"d":109}]}]}]},30],"c":[{"e":[{"n":1}],"h":[{"l":11}],"i":[{"e":[{"d":5}]}],"o":[{"n":[{"i":5},56]}],"r":[{"w":[{"y":5}]}],"s":[{"i":[{"w":5},4]}],"t":81},30],"d":[{"a":[{"l":11},30],"d":[{"a":[{"i":33,"u":4}],"e":47,"f":19,"i":[{"r":33},3],"o":[{"d":33}],"r":3},30],"e":[{"l":11,"r":11},30],"f":[{"w":4},30],"i":[{"a":4},43],"l":[{"o":0,"w":3}],"m":30,"o":[{"g":1,"l":[{"a":35,"e":35,"o":35,"w":[{"y":34}]}],"n":[{"a":3,"e":2}],"r":35},110],"r":[{"a":4,"o":4,"w":[{"y":1}]},30],"u":30,"w":[{"a":[{"d":[{"w":17}]},3],"r":0},30],"y":[{"l":1,"m":9},30]}],"e":[{"d":[{"d":39,"i":[{".":39,"f":15}],"y":[{"l":4}]}],"f":111,"g":[{"w":[{"y":[{"d":[{"d":13}]}]}]},35],"i":[{"d":35,"s":11},30],"n":[{".":39,"a":4,"c":4,"d":39,"e":35,"n":30,"w":11,"y":35}],"s":[{"g":35}]},53],"f":[{"a":[{"d":[{"d":0}],"e":0,"l":0,"n":[{"a":16,"e":12}],"o":0,"r":[{"d":5,"e":16},0],"t":[{"h":5},0],"w":0}],"b":[{"i":[{"n":5}]}],"e":[{"c":33,"d":[{".":33,"i":33}],"i":[{"o":34,"w":34}],"m":33,"n":[{"t":33},4],"r":[{".":33,"y":35}],"s":[{"i":33}],"t":35}],"f":[{"l":16,"o":[{"r":2}],"u":112,"y":[{"n":[{"a":12,"e":12}]}]}],"i":1,"l":[{"a":[{"s":35}]}],"o":[{"n":[{".":0}]}],"r":[{"e":35,"y":35}],"u":28,"w":[{"c":33,"n":33,"y":[{"d":33,"f":33}]}],"y":[{"c":33,"l":93,"r":[{"e":2}]},28]},30],"g":[{"a":[{"d":1,"f":1,"i":[{"n":0}],"n":30,"r":62}],"e":[{"d":1,"s":1},25],"h":[{"a":[{"l":113}]}],"i":43,"l":[{"a":[{"n":[{".":5,"n":5}],"w":5}],"e":[{"t":5}],"o":6,"y":[{"d":5,"n":3},0]}],"n":31,"o":[{"d":[{"d":1,"e":0}],"e":1,"m":1},30],"r":[{"e":[{"f":17},35],"o":35,"w":1,"y":[{"b":17}]},30],"w":[{"a":[{"i":5}],"c":33,"n":51,"r":[{"n":0}]},30],"y":[{"f":[{"f":17}],"n":[{".":5,"a":0}],"r":0,"s":[{"o":5,"y":[{"l":[{"l":[{"t":27}]}]}]},11],"t":11,"w":4},37]}],"h":[{"a":[{"n":47,"t":11}],"e":[{"w":4}]},97],"i":[{"w":35},58],"l":[{"a":[{"u":[{".":54}]},1],"c":14,"d":[{"i":[{"r":2}]}],"e":[{"d":1,"n":[{".":5}],"w":11}],"f":[{"y":4},25],"i":[{"p":0},1],"l":[{"i":[{"w":2}],"t":11},3],"o":[{"c":1,"d":1,"f":[{"y":5}],"n":1}],"s":[{"y":0},84],"t":[{"i":0}],"u":[{"d":[{"d":17}],"n":1}],"w":[{"a":[{"i":5}],"e":[{"n":48}],"s":0},25],"y":[{"d":1,"g":50,"n":[{".":1,"a":3,"e":2}],"s":[{"i":[{"a":33}]}],"w":[{"a":5}]}]},45],"m":[{"b":[{"i":0}],"i":1,"l":[{"e":0},3]},85],"n":[{"a":[{"c":1,"d":1,"f":1,"i":1,"n":1},25],"b":[{"e":9}],"c":[{"e":4,"i":0,"o":14,"y":0}],"d":[{"a":[{"i":0}]}],"e":[{"b":114},25],"f":1,"g":[{"e":[{"n":2}],"o":6,"w":3,"y":[{"l":2,"n":5}]}],"i":[{"a":1,"d":1,"e":[{"w":5}],"g":1,"w":[{"e":0},11]}],"o":[{"d":[{"e":0,"i":0,"y":0}],"e":[{"d":1}],"n":1,"s":1},25],"t":[{"a":4,"e":0,"r":84,"y":0}],"w":[{"y":[{"c":5}]},81],"y":25},30],"o":[{".":49,"d":[{".":30,"d":[{"e":35}],"l":[{"e":2}],"w":[{"y":2}]}],"e":30,"f":58,"g":3,"l":[{"c":39}],"m":3,"n":[{"a":3},47],"r":[{"c":4,"f":4,"w":33}],"s":30,"t":30},53],"p":[{"e":[{"l":[{"l":5}]}],"o":[{"g":0}]},30],"r":[{"a":[{"g":[{"l":5}],"n":1},9],"á":[{"f":0}],"b":1,"c":[{"h":16}],"d":[{"y":[{"n":[{"a":12,"e":12}]}]}],"f":43,"i":[{"a":33,"o":1,"s":35},30],"l":[{"i":0,"l":0}],"n":[{"a":[{"d":[{"w":[{"y":[{".":17}]}]}]},1],"o":1,"y":4}],"o":43,"w":[{"i":14,"o":0},1],"y":[{"n":1,"w":35},9]},25],"s":[{"a":[{"f":11}],"b":1,"e":[{"l":[{"d":5}],"r":[{".":5},9]}],"g":[{"a":[{"m":0}],"e":0,"o":3,"r":1,"w":[{"y":[{"d":2}]}],"y":1}],"l":[{"a":0}],"m":[{"y":[{"n":5}]}],"o":[{"d":[{"d":5}],"l":1,"n":1},9],"t":[{"i":0,"o":[{"l":5}]},14],"w":[{"n":1,"y":[{"d":[{".":5}]}]},9],"y":[{"c":0,"r":0}]},30],"t":[{".":53,"a":115,"h":[{"a":[{"u":4},3],"e":[{"g":3}],"i":3,"o":[{"r":2}],"w":3,"y":3},44]}],"w":[{".":30,"a":[{"d":[{"w":1}],"f":1,"i":[{"r":33}],"l":35,"n":1,"s":1}],"c":[{"h":0},49],"d":[{"i":4},87],"e":[{"d":[{"d":[{".":5}],"i":1}],"i":[{"d":1}]}],"g":[{"w":4}],"i":37,"l":[{"e":4,"i":4,"o":4,"w":4},69],"m":[{"e":4,"p":11}],"n":[{"i":4,"l":39},49],"o":1,"r":[{"e":35,"t":35}],"t":[{"e":[{"r":5}]}],"y":[{"d":0,"f":0,"n":16,"r":39},53]}],"y":[{"d":30,"m":58,"n":3,"s":58},53]}],"ï":[{"a":[{"e":35}],"i":47}],"l":[{"a":[{"c":[{"h":16},28],"d":[{".":30,"d":116,"m":14,"o":14,"r":[{"w":19}]}],"e":[{"n":39}],"f":[{".":35,"a":[{"r":54}]}],"i":[{"n":33,"r":33,"t":33},28],"m":3,"n":[{".":33,"c":[{"e":[{"d":2}]}],"d":[{"e":2,"r":48}],"e":[{"s":4},47],"n":33,"o":3,"t":42}],"r":[{"a":3,"i":[{"a":4}],"n":3}],"s":[{".":33,"g":11,"t":[{"a":2},56]},28],"t":[{".":39,"h":[{"r":48}],"s":[{"i":12}]}],"u":111,"w":[{"d":[{"d":[{"e":2}]}],"e":[{"n":48}],"l":3,"n":[{"o":3}],"r":[{"o":2},56],"y":3}]}],"b":[{"a":[{"n":0}]},58],"c":[{"h":[{"i":[{"o":2,"w":2}],"r":3,"w":[{"y":[{"d":[{".":2}]}]}]},31],"o":35,"y":[{"n":[{".":1}]}]},47],"d":[{"d":14,"i":[{"r":0},1],"r":[{"o":16}],"y":[{"n":[{"a":2,"e":2}]}]},97],"e":[{".":53,"a":[{"d":[{".":0,"a":0}]},1],"b":[{"r":16}],"c":[{"h":16}],"d":[{".":35,"d":[{"f":15,"o":[{"g":33}]}],"f":[{"y":2}],"l":19,"r":33}],"f":[{"e":3,"y":3},31],"g":[{"a":[{"r":[{".":2}]},47],"w":47,"y":[{"r":2}]}],"i":[{"a":[{"u":5}],"d":[{".":1}],"l":19,"r":[{".":1}],"t":[{".":1}],"w":0}],"l":35,"m":[{".":35,"a":47},58],"n":[{"d":[{"i":2},14],"i":[{"g":2}],"t":35,"y":3}],"o":[{"c":1,"n":[{".":0}]},53],"r":[{".":35,"a":[{"u":33}],"i":[{"g":2}]}],"s":[{"g":[{"e":12}],"n":33}],"t":[{"e":[{"m":4}],"r":0}],"u":[{"a":[{"d":33}],"h":33,"o":[{"n":[{".":34},39]}]}],"w":[{"c":[{"h":1}],"n":1,"y":[{"n":3}]}]}],"f":[{"a":[{"i":[{"r":5}],"n":35}],"e":[{"n":[{"e":3}]}],"f":[{"a":0,"y":4}],"i":[{"c":[{"y":5}]},28],"o":[{"d":[{"a":5}]},28],"r":28,"w":[{"y":0}],"y":[{"d":1,"r":[{"e":2}]}]},9],"g":[{"a":[{"n":0}],"o":[{"f":23}]},46],"h":[{"a":35,"e":35,"i":35,"o":35,"w":35},97],"i":[{"a":[{"c":[{"h":48}],"n":39}],"b":[{"r":16}],"d":[{"e":1},30],"f":[{"r":0},117],"o":[{".":39,"e":[{"d":5}]}],"p":[{"a":[{"l":5}]}],"r":[{".":35},30],"s":[{"g":23}],"t":[{".":35,"h":[{"r":118}]}],"w":[{".":33}]},46],"l":[{".":30,"a":[{"d":[{"a":0,"r":48,"w":[{"y":[{".":5}]}]}],"n":[{"t":1}],"r":[{"n":5}]}],"e":[{"d":[{"r":[{"e":17}],"y":0}],"o":3,"s":[{"t":17}],"u":[{"a":11}]}],"f":[{"y":4},25],"i":[{"n":[{"e":16}]}],"o":[{"d":[{"d":1}],"s":[{"g":[{"a":[{"d":13}]}]}]}],"t":[{"y":[{"r":5}]}],"u":[{"d":[{"d":48}]}],"w":[{"a":1,"e":4},14],"y":[{"d":[{".":54}],"g":[{"r":48}],"n":[{"n":0}],"r":[{"o":5},119]}]},47],"m":[{"a":[{"d":33,"f":33,"i":1,"s":79,"u":33},28],"o":1,"w":1,"y":[{"n":0}]},9],"n":28,"o":[{".":30,"b":[{"y":[{"n":2}]}],"c":[{"h":16},30],"d":[{"d":16},30],"e":[{"d":[{".":1}]}],"g":[{"l":56},82],"l":[{"w":14,"y":[{"g":17}]},28],"m":[{".":35},58],"n":[{"a":14,"d":3,"e":[{"s":4}],"t":62}],"r":[{".":35,"a":[{"u":33}],"g":33,"y":33}],"t":30,"y":[{"n":[{"n":5}]}]}],"p":[{"a":1,"u":35}],"r":[{"h":35},46],"s":[{"i":[{"g":0}],"y":[{"n":33}]}],"t":[{"a":[{"d":1}],"e":[{"g":[{".":5}],"m":1,"r":[{"a":34,"o":34}]}],"i":[{"a":33,"g":0,"o":33}],"o":25,"r":[{"a":35,"e":4}],"u":[{".":33},35],"w":25},47],"u":[{".":30,"d":[{"d":[{"y":12}],"w":3},47],"e":[{"d":[{"d":0}]}],"n":[{".":33},67],"r":[{"i":[{"g":2}]}],"s":[{"t":[{"l":12}]}]}],"w":[{"a":[{"d":[{"d":17}],"e":0},25],"c":[{"h":35},28],"e":[{"d":1,"r":1,"s":1}],"f":[{"a":0,"r":[{"e":12}]}],"g":[{"r":33}],"i":[{"g":0},25],"n":[{".":35},28],"o":1,"r":[{"e":39},72],"y":[{"c":33,"d":[{"i":[{"o":11},33]}],"n":66,"r":33,"t":76}]}],"y":[{"b":3,"c":[{"h":[{".":35}]},30],"d":[{".":33,"d":30,"n":16,"r":16},14],"f":[{"a":[{"n":120},3],"n":23,"r":[{".":54},23]}],"g":[{"e":[{"d":[{"d":39}]}],"i":[{"a":39}]},47],"m":3,"n":[{"a":[{"u":33}],"g":[{"a":16}],"y":91}],"r":[{"a":3}],"s":[{"a":[{"u":39}],"e":[{"n":[{".":39}]}],"g":[{"a":3,"e":3}],"l":33,"n":39,"r":39,"y":[{"n":39}]}],"w":31}]}],"m":[{"a":[{"b":[{"i":4},3],"c":[{"w":4},35],"d":[{"a":[{"d":33,"f":33,"i":33,"n":33,"s":33}],"i":47,"r":23,"w":[{"c":33,"n":33}],"y":33}],"e":[{"l":16}],"f":[{"l":23}],"g":35,"i":30,"m":35,"n":[{"a":3,"e":3,"f":33,"o":14}],"r":[{".":33,"c":[{"h":89}],"e":33,"i":33,"l":4,"n":16,"u":33,"w":[{"y":4}]},35],"s":[{"g":[{"e":3},56]}],"t":[{"e":[{"g":2}],"o":4},35],"w":[{"d":[{"a":11}]},35]}],"b":[{"a":[{"r":[{"a":[{"t":[{"o":21}]}]}]}],"i":35,"y":35}],"c":[{"a":[{"n":16}]}],"d":[{"a":[{"i":33,"n":[{"a":[{"s":2},11],"e":22}]}],"d":[{"a":[{"d":[{"l":8}]}],"e":[{"f":48}],"i":[{"d":11}]},14],"e":[{"r":[{".":34,"a":33}]}],"o":[{"g":[{"a":[{"e":[{"t":[{"h":[{"o":11}]}]}]}]}],"n":[{"a":3,"e":2}]}],"r":[{"o":[{"e":16}]}],"w":[{"y":11}],"y":[{"n":[{"g":15}],"r":[{"e":2}]}]},9],"e":[{"d":[{"a":39,"d":[{"i":[{"a":39}],"w":[{"r":39}]}],"i":39,"ï":39,"r":16}],"g":[{"n":[{"i":48},19]}],"i":[{"t":[{"h":48}],"w":0}],"l":[{"y":[{"n":[{"o":2}]}]}],"n":[{"s":11,"t":[{"e":11,"r":15,"y":54}],"y":[{"d":2}]}],"r":[{".":35,"a":[{"d":[{"w":[{"y":[{".":33}]}]},35],"f":33,"i":33,"n":33,"s":33}],"c":[{"h":[{"e":[{"r":17}]}]}],"d":[{"d":17}],"e":33,"i":[{"a":[{"d":[{"a":34}]}]}],"o":[{"c":33,"m":33,"n":33}],"w":33,"y":33},47],"s":[{"i":[{"a":39}],"o":[{"l":39}],"t":11,"w":[{"r":39}],"y":39}],"u":31}],"f":[{"a":[{"l":[{"c":[{"h":[{"i":[{"a":21,"e":21}]}]}]}]}],"f":[{"l":11}],"y":[{"d":[{"d":17}]}]}],"g":[{"y":[{"f":[{"f":[{"r":[{"o":7}]},17]}],"m":[{"e":[{"r":[{"i":[{"a":12}]}]}]},11],"s":56}]},9],"h":[{"a":[{"r":[{"a":[{"d":12}]}]}],"e":[{"i":[{"r":[{"a":17}]}],"n":[{"a":3,"e":[{"d":2,"s":2}],"t":121,"w":12}],"t":[{"a":3},56],"u":47}],"o":[{"b":[{"l":11}]}],"r":[{"a":4,"y":[{"f":15}]}],"y":[{"d":11,"f":3}]},9],"i":[{"a":[{"s":35}],"d":60,"e":35,"g":[{"e":[{"i":5}]}],"n":[{"t":4},31],"o":35,"r":35,"s":[{"g":11,"i":4},14],"t":35,"w":35,"y":35},30],"l":[{"a":[{"s":47}],"b":[{"l":[{"w":5}]}],"e":[{"d":35,"w":16}],"i":[{"n":35,"w":[{"i":[{"a":[{"i":[{"s":34}],"s":[{"e":34}]}],"w":[{"y":34}]}]}]}],"o":[{"n":[{"a":3,"e":[{"d":11}]}]}],"y":[{"n":16}]},9],"n":[{"a":[{"s":0},35],"e":[{"d":[{"i":5},33]},35],"i":[{"a":[{"u":34}]}],"ï":60},47],"o":[{"d":[{"d":35,"i":[{"g":4}],"r":3},47],"f":[{"y":[{"d":2}]}],"g":35,"n":[{".":33,"a":3,"d":4,"ï":33}],"r":[{"c":3,"d":[{"d":[{"i":[{"w":21}]},17]}],"o":4},14],"s":[{"i":[{"y":5},4]},29]}],"p":[{"r":[{"a":3,"o":3,"w":3}],"w":[{"a":[{"i":5}]}]},47],"r":[{"a":[{"i":79,"n":[{"a":3}]}],"e":[{"d":122,"g":[{"y":16}]}],"i":[{"a":33,"e":33,"g":33}],"o":[{"a":[{"d":4}],"d":[{"i":[{"a":[{"e":11}],"r":11}]}],"e":47,"i":47,"o":47,"w":47,"y":33}],"y":[{"n":[{"d":11},33],"s":[{"o":11}]}]},9],"s":[{"a":35,"e":[{"n":[{"a":3,"e":2}]},47],"o":47,"t":[{"r":11}]},9],"t":[{"a":[{"s":11},9],"h":35},47],"u":[{"a":[{"n":0}],"d":[{"d":[{"l":11}],"w":3}],"l":84,"n":3,"s":35},47],"w":[{"a":[{"s":1},123],"c":[{"h":35}],"i":35,"r":[{"i":3},14],"t":35,"y":[{"b":3,"l":[{"l":[{"t":8}]}],"n":16,"s":[{"e":34}],"t":[{"h":[{"a":[{"d":[{"w":17}],"f":17,"s":[{"a":[{"n":17}],"o":17,"w":17}]}],"e":[{"c":17,"m":17,"r":17}],"i":17,"o":[{"c":17}],"w":17,"y":17}]}]}]}],"y":[{"c":[{"h":16},35],"d":[{"d":[{"i":12}],"r":16,"y":3},35],"f":[{"y":4}],"l":[{".":33,"a":3,"n":33}],"m":35,"n":[{"a":[{"i":[{".":4}]}]}],"r":[{"a":[{"s":[{"a":2},4]}],"e":[{"d":[{"i":4}]}],"f":11},35],"s":[{"g":[{".":33}],"w":4},35],"w":[{"y":3}]},45]},28],"n":[{"a":[{"b":[{"l":0,"o":0},124],"c":[{"h":55}],"d":[{"l":35,"n":[{"a":17},4],"o":33,"r":3,"u":3,"w":[{"r":35},3]},47],"e":[{"a":[{"r":[{"a":2,"w":2}]}],"l":11},28],"f":[{"a":[{"u":34},47],"o":67,"y":33}],"i":[{"c":33,"g":33,"n":33,"r":33}],"l":35,"n":[{"a":3,"e":3,"f":3}],"p":[{"o":[{"m":4}]}],"r":[{"l":[{"l":[{"e":[{"n":[{"a":[{"d":18}]}]}]}]}]},35],"s":[{"g":35,"o":[{"l":33}],"t":125}],"t":53,"u":3}],"b":[{"y":[{"d":[{"r":12}]}]},46],"c":[{"a":[{"n":1}],"d":[{"e":[{"s":5}]}],"e":[{"d":0,"i":9,"n":[{".":5}]}],"h":[{"w":[{"i":[{"l":[{"i":[{"a":[{"d":18}]}]}]}]}]},35],"i":[{"a":33,"d":33,"e":33,"o":[{"d":[{".":34}]},33],"r":33,"t":33,"w":33,"y":33}],"l":35,"r":31,"t":31,"y":[{"d":[{".":34}],"n":[{"y":34}]}]},47],"d":[{"a":[{"s":1,"w":1}],"d":[{"a":0},14],"e":[{"n":56}],"i":[{"a":51,"e":1,"f":60,"g":125,"l":35,"o":1,"r":0,"s":35,"t":35,"w":1,"y":1}],"o":[{"d":35,"e":1,"r":[{"a":3,"e":22}]}],"w":[{"r":47}],"y":[{"n":[{"a":2,"e":2}],"s":33}]},46],"e":[{"a":[{"l":[{"l":[{"a":[{"d":13}]}]}]}],"b":[{"o":3,"r":[{"y":34}]},98],"d":[{"d":[{"f":15}],"e":47,"i":[{"d":33,"g":[{"a":34}],"r":33,"t":33}],"o":47,"u":33,"y":35}],"f":[{"n":16,"y":33},28],"g":[{"i":[{"n":2}]},28],"h":1,"i":[{"d":[{"d":35}],"s":47}],"l":[{".":49,"y":[{"n":2}]},28],"n":[{"t":[{"y":49}]}],"r":[{"a":3,"c":[{"h":15}],"g":33,"l":33,"t":49}],"s":[{"e":49,"i":[{"a":39,"o":33}],"m":4,"o":49,"t":47,"w":49,"y":47}],"t":[{"h":[{"o":12}]}],"u":[{"d":3,"f":33,"l":11},47],"w":[{"y":[{"l":[{"l":[{".":2}]}],"n":48}]},49]}],"f":[{"a":[{"d":[{"d":17}],"m":0,"n":[{"e":12,"t":11},16],"o":[{"l":2}],"t":0}],"e":[{"l":56}],"f":[{"a":0,"o":4,"y":[{"n":[{"a":[{"d":13}]},17]}]},14],"i":[{"d":0,"l":33}],"o":[{"d":[{"l":11}],"n":[{"a":12,"e":[{"d":[{"i":34}]}]},47]}],"r":[{"i":0}],"w":[{"y":0}],"y":[{"d":[{".":34,"a":16}]},47]},46],"g":[{"a":[{"d":[{"w":[{"y":[{".":5}]}]},9],"i":33,"l":11,"m":35,"r":35,"u":33}],"d":[{"d":[{"y":0}]}],"e":[{"l":11}],"h":[{"w":[{"y":[{"n":7}]}]}],"i":47,"l":[{"w":[{"m":35}],"y":[{"m":34,"n":48},33]},77],"n":14,"o":[{"e":1,"f":[{"a":16}],"l":[{"e":[{"d":11}]}],"n":1,"p":56}],"r":[{"a":4},28],"w":[{"i":0,"y":[{"n":[{"a":[{"s":12}]}]}]},47],"y":[{"f":3,"n":33}]}],"h":[{"a":[{"o":3,"r":11,"w":[{"s":17}]}],"e":[{"b":[{"r":12}],"n":[{"a":3,"e":3}],"p":56,"s":0}],"o":[{"e":[{"d":3,"s":[{"i":2}]}],"n":[{"a":19,"e":11}]}],"u":[{"d":[{"d":[{"e":[{"d":[{".":17}]}]}]}],"e":4}],"y":[{"c":11,"d":56,"l":11,"m":11}]},97],"i":[{"a":[{"d":126,"l":[{"d":34}]}],"b":[{"a":4,"e":4,"r":[{"y":[{"d":8}]}]},25],"d":[{"d":[{"e":5},11],"e":4},25],"e":[{"t":0,"u":1,"w":33},35],"f":[{"e":[{"d":1,"n":1,"r":[{"y":[{"c":0}]}]}],"f":[{"r":1}],"w":1}],"g":[{"a":[{"m":34}],"e":[{"n":[{"a":12}]}],"i":[{"a":[{"d":[{".":34,"a":34,"w":54},39]}],"o":[{"n":[{".":34,"t":54},39]}],"w":[{"r":127}]}],"l":11,"y":[{"m":74},39]},47],"l":[{"e":[{"a":[{"d":8}]}],"l":[{"a":[{"d":[{"a":[{"s":12}]}]}],"i":[{"o":34}]}],"u":1,"y":[{"s":1}]}],"n":[{"o":1,"w":4},14],"o":[{"r":1}],"r":[{"a":1,"e":4,"i":1,"w":0,"y":[{"m":1}]}],"s":[{"g":3,"o":1,"t":[{"y":3}],"w":1,"y":1}],"t":[{"h":[{"e":11}]}],"w":[{"a":4,"c":0,"e":[{"d":[{"d":[{"a":[{"s":2}],"e":2,"o":2,"w":2}]}]}],"l":[{"e":12,"o":12,"w":12},16]},14],"y":[{"d":[{"d":5}]}]},28],"ï":[{"i":47,"y":[{"c":0}]}],"l":[{"a":[{"d":[{"r":48}]}],"i":[{"n":16}],"l":[{"o":[{"n":17}],"w":0,"y":[{"n":33}]},14],"y":[{"n":[{"a":3,"e":3}]},47]},46],"m":[{"o":[{"l":[{"a":[{"d":8}]}]}]},46],"n":[{"a":[{"l":0,"r":0}],"e":[{"d":11,"t":[{"h":17}]}],"h":35,"i":[{"f":11,"l":[{"l":17},4],"o":4,"s":11,"w":4},14],"o":[{"s":[{"b":128}]}],"w":[{"y":0}],"y":[{"n":[{"a":3,"e":2}],"w":0}]},46],"o":[{"a":[{"d":[{"a":0}]}],"b":35,"d":[{".":47,"o":47,"r":3}],"e":[{"o":4,"r":1,"t":114},47],"f":[{"e":[{"l":4}],"y":47},72],"g":28,"l":[{"e":[{"g":2}]}],"m":[{"i":33},3],"n":[{"e":[{"s":34}]}],"r":[{"c":[{"h":17}],"f":4},28],"s":105}],"ö":[{"e":[{"s":[{".":5}]}]}],"p":[{"e":[{"t":0}]}],"r":[{"e":[{"o":4}]},46],"s":[{"e":[{"i":35,"n":1},47],"i":[{"c":0,"g":0,"l":65,"y":[{"c":5,"n":35},0]},1],"y":[{"n":[{"a":3,"e":3}]}]},46],"t":[{"a":[{"d":1,"f":[{".":5}],"i":[{"d":5}],"n":[{"a":0}],"w":1}],"e":[{"i":35,"l":1,"m":1,"r":[{".":1}],"w":16},47],"h":14,"i":[{"a":33,"l":[{".":5}],"n":0,"s":35}],"o":[{"c":1,"d":[{".":5},1],"e":1,"r":51}],"r":28,"w":25,"y":[{"n":1,"r":[{"a":3,"e":19}]}]}],"u":[{"d":[{"o":14}],"n":[{"i":4}],"t":31},28],"w":[{"a":[{"f":1,"i":[{"t":35}],"n":1,"r":[{"e":[{"d":[{".":11}]}]},35],"s":1}],"b":[{"l":[{"e":2},11]}],"d":[{"e":3}],"e":[{"d":[{"d":34,"i":1}],"i":[{"t":[{"h":[{"i":[{"a":[{"u":21}]}]}]}]},35],"l":[{"a":[{"d":8}]}],"n":[{"d":12}]}],"i":[{"a":0,"d":1,"r":[{".":1},11],"s":35}],"o":1,"r":[{"e":[{"i":2}]}],"y":[{".":33,"b":[{"o":[{"d":[{"a":8}]}]}],"c":33,"l":35,"n":[{".":33},47],"t":35}]}],"y":[{"c":[{"h":16}],"f":[{"a":[{"l":[{"a":5,"e":5,"o":5}]}],"f":11,"n":4,"o":[{"d":5},4],"r":16},14],"g":[{"y":1},47],"l":[{"a":[{"n":1}],"u":1},28],"m":[{"a":4,"y":4}],"n":[{"n":[{"a":[{"u":34}]}],"o":[{"d":10}]}],"r":[{"a":1,"c":[{"h":[{"a":[{"f":[{"a":[{"d":18}]}]}]}]}],"i":1}],"s":[{".":33,"g":4},28],"w":35}]}],"o":[{"a":58,"b":[{"a":[{"e":1,"n":[{"t":5},0]}],"e":[{"d":1,"l":1,"n":[{".":5,"y":12}],"r":[{".":5}]}],"l":[{"a":3,"e":[{"d":2,"r":1,"s":2}],"o":3,"w":3,"y":65}],"o":1,"r":31,"y":[{"d":1}]},45],"c":[{"a":25,"b":[{"y":[{"n":5}]}],"e":1,"h":[{"a":[{"n":2},3],"e":[{"n":2}],"l":[{"a":16,"e":[{"s":12}],"o":16,"w":16}],"n":[{"i":4},3],"o":3,"r":16,"w":3,"y":3}],"i":30,"r":30,"t":30}],"d":[{"a":[{"o":0,"r":11},43],"d":[{"a":3,"f":[{"y":12}],"i":[{"l":2,"w":48}],"r":[{"i":2},3],"u":39,"y":[{"d":2,"n":2},3]}],"e":[{"b":[{"a":[{"u":34}],"u":34},16],"d":[{"i":5}],"i":[{"d":5}],"l":1,"r":1}],"i":1,"l":[{"a":3,"e":[{"c":3,"s":[{"i":2}]}],"w":3}],"o":[{"f":[{"f":5}],"g":[{"a":0},30]}],"r":[{"a":3,"e":[{"c":2,"m":2}],"o":3,"w":[{"y":[{"d":[{".":2}]}]}],"y":[{"c":2},0]},30],"w":[{"a":1,"e":[{"d":5,"n":5}]},30],"y":[{"c":1,"n":[{"n":0},1]}]}],"e":[{"c":28,"d":[{"d":66,"i":[{"g":35},3],"l":[{"a":[{"n":2},11]}],"r":[{"a":2}]}],"g":3,"l":[{"c":3}],"m":28,"n":[{"t":35},3],"r":3,"s":[{"g":[{"o":11}]},3],"t":[{"a":[{"n":2}],"r":16}]}],"f":[{".":30,"a":[{"d":1,"i":1,"n":[{"e":12,"t":1},16],"o":[{"l":2}]}],"e":[{"b":[{"i":5}],"d":1,"l":1,"n":[{"n":0},1],"r":[{".":1,"l":33,"y":33}]}],"f":[{"a":6,"e":[{"d":3}],"i":[{"d":2}],"w":3}],"i":[{"a":[{"d":[{"w":17}]}]}],"l":3,"n":[{"a":0,"d":0,"e":0,"f":0},1],"o":[{"d":[{"o":0}]},25],"r":[{"a":3,"e":[{"c":0,"d":0,"m":0,"r":0},1]}],"w":[{"y":[{"f":5}]}],"y":[{"n":[{"a":3,"e":3},0]}]}],"g":[{"a":[{"i":1,"n":[{"a":[{"u":33}],"u":33},70],"s":1}],"e":[{"d":[{"y":0}],"l":[{"y":[{"n":5}]}],"r":[{"d":5},1],"s":1}],"f":30,"i":1,"l":[{"w":3,"y":3},30],"n":105,"o":[{"f":129,"r":[{"u":5}]}],"r":[{"w":[{"y":1}],"y":35}],"y":[{"d":1,"f":11,"l":0,"r":[{"n":5}]}]},25],"h":[{"e":[{"b":16,"r":11}]},46],"i":[{"d":28,"g":31,"r":28,"t":28}],"l":[{"a":[{"u":30}],"c":[{"e":0}],"d":[{"a":0},1],"e":[{"u":[{"a":1,"e":[{"d":0}],"o":5,"w":[{"r":0}]},39],"w":16}],"i":1,"l":[{"e":[{"d":2},3],"t":0,"w":[{"y":2}]},31],"o":[{"s":35},14],"s":[{"b":0},1],"u":30,"w":[{"r":30,"y":[{"d":1,"n":[{"o":5}]},4]}],"y":[{"n":[{"e":0,"i":0,"o":0,"w":0}]}]},25],"m":[{"a":[{"t":0},30],"b":30,"e":[{"d":[{"a":5,"i":5}],"g":[{".":5}],"i":1,"n":1},9],"i":[{"s":[{"i":5}]}],"l":30,"o":[{"g":64}],"p":[{"r":[{"e":5}]},30]}],"n":[{"a":[{"c":[{"h":[{".":5}]}],"d":[{"u":5}],"f":1,"i":[{"r":39},51],"n":1,"u":[{".":5},51]}],"b":30,"c":[{"y":[{"f":5}]}],"d":[{"i":[{"d":5}],"o":9},30],"e":[{"d":[{"d":[{".":5}]}],"l":1,"s":[{"t":48}]},30],"f":30,"g":[{"l":16,"o":14,"w":3,"y":[{"r":0}]}],"i":30,"n":[{"u":39},30],"o":[{"f":[{".":5}],"g":30}],"t":[{"o":39},9],"w":1},25],"o":58,"p":[{"a":[{"o":[{"n":5},0]},1],"l":3,"r":[{"a":[{"i":2}],"e":[{"n":5}]}]},30],"r":[{"a":[{"c":[{"h":1},39],"e":[{"t":[{"h":[{".":5,"a":5}]}]}],"f":1,"i":1,"n":1,"u":51,"w":50},25],"b":1,"c":[{"h":[{"w":1}]},9],"d":[{"d":[{"y":[{"n":5}]},0],"e":[{"n":3}],"i":[{"n":5}],"y":[{"n":130}]}],"e":[{"b":9,"d":[{"d":[{"y":2},0]}],"g":[{"w":0},39],"t":0},25],"f":[{"a":[{"n":[{"a":12,"e":12}]},1],"f":[{"e":11}],"o":1,"y":10}],"g":43,"i":1,"l":1,"m":[{"u":0,"y":0}],"n":[{"a":3,"e":[{"l":1}]}],"o":[{"f":1,"h":0,"n":[{"a":12,"e":1,"i":[{".":5,"d":5,"r":5,"t":5}]}]},25],"p":[{"w":[{"s":5}]}],"t":[{"h":[{".":39}],"i":4,"y":0}],"u":[{"w":[{"c":5}]}],"w":[{"a":[{"h":5}],"e":[{"l":0},4],"g":[{"l":5}]},25],"y":[{"d":[{"d":1}]},25]}],"s":[{"a":[{"n":[{"a":0}]},1],"b":[{"a":[{"s":3}],"e":[{"d":2}],"o":3,"w":3,"y":3}],"e":[{"a":[{"i":5}]}],"g":[{"a":3,"l":1,"o":[{"e":12,"r":1}],"w":[{"y":3}]}],"i":[{"a":[{"e":5}],"b":[{"i":5}]}],"o":[{"d":[{"d":1}],"l":1,"n":1},9],"t":[{"e":1,"r":50,"u":0}],"w":1,"y":1},30],"t":[{".":49,"e":[{"s":[{"a":5}]},1],"h":3,"s":[{"i":[{"a":5},4]}]},37],"u":47,"w":[{"c":28,"g":3,"l":[{"a":[{"s":2}],"e":3}],"n":28,"t":[{"e":[{"r":2}]}],"y":28}],"y":[{"c":28,"w":[{"e":0},3]}]}],"ô":[{"r":[{"f":1}]}],"p":[{"a":[{"b":[{"y":[{"d":2}]}],"d":111,"f":111,"i":111,"n":111,"o":[{"d":1}],"r":[{"a":[{"t":16}],"c":4,"w":3}],"s":[{"t":11}],"u":35,"w":[{"e":[{"n":[{"a":12}]}]}]},47],"e":[{"c":30,"d":[{"i":[{"g":127}]}],"i":[{"r":[{"a":11}]},47],"l":[{"i":[{".":34}],"y":3}],"m":30,"n":[{"g":[{"l":17}],"s":11,"t":57,"w":[{"y":[{"n":[{"a":15}]}]},3]}],"r":30,"s":30,"t":[{"a":1},14]}],"h":[{"e":[{"i":[{"r":[{"a":17}]}],"n":[{"t":121,"w":12}],"t":[{"a":3},56]}],"o":[{"b":[{"l":11}]}],"r":[{"a":4,"y":[{"f":15}]}]},131],"i":[{"a":35,"b":31,"e":35,"o":35,"w":35}],"l":[{"a":[{"n":[{"a":3}],"u":33}],"e":[{"d":[{"a":5}]}],"y":[{"c":33,"g":49}]},47],"o":[{"b":[{"l":24}],"g":[{"y":4}],"l":3}],"r":[{"a":[{"s":1}],"y":[{"f":16,"n":[{"n":5}]}]},131],"s":[{"i":[{"w":0}]},47],"t":9,"u":[{"d":47,"s":[{"r":33}]}],"w":[{"d":3,"r":31,"y":[{".":33}]},9],"y":[{"d":[{"r":16}],"r":47}]},28],"r":[{"a":[{"b":[{"e":33,"i":33,"l":[{"y":[{"d":2}]}],"y":3}],"c":[{"h":[{"w":[{"y":12}]}],"i":93,"s":11,"t":93}],"d":[{"a":47,"d":[{"o":[{"l":12}]},33],"r":[{"i":4}],"w":[{"r":[{"i":17}]}]}],"e":[{"d":[{"d":[{"a":[{"d":13}]}]},11],"n":33},47],"f":[{"a":[{"n":[{"n":5}]}],"á":[{"n":5}],"f":33}],"g":[{"e":0,"o":3,"r":[{"a":1}]},31],"h":[{"a":[{"u":5},0]}],"i":[{"d":[{"d":39}]},28],"m":[{"o":[{"d":3,"r":5}],"w":81}],"n":[{"d":23,"e":14,"f":33,"o":[{"d":[{".":33}]},3]}],"p":[{"h":[{"e":5}]}],"r":[{"c":4},60],"s":[{"i":[{"e":4}],"t":57},58],"t":[{"a":[{"o":35}],"e":3}],"u":58,"w":[{"e":[{"s":54},3],"i":49,"n":16}]}],"b":[{"a":[{"r":35},47],"e":[{"c":33,"m":33,"n":[{"t":33}],"r":0,"s":33}],"l":47,"o":[{"c":33,"m":33,"n":[{"t":33}]}],"w":[{"c":33,"d":33,"n":33}],"y":[{"d":16}]},58],"c":[{"a":[{"d":[{"w":5}],"f":[{".":5}],"r":35},9],"e":[{"r":0},1],"h":[{"a":[{"d":3,"n":3,"r":132}],"e":[{"b":2,"i":34,"t":3}],"l":3,"m":35,"o":[{"c":3,"e":3,"g":3}],"u":35,"w":[{"a":35,"i":35,"y":[{"d":2,"n":34}]}],"y":[{"c":3,"f":17,"m":17}]},47],"y":28}],"d":[{"a":[{"i":35,"n":16,"u":[{".":5}]},28],"d":[{"a":[{"d":3,"s":2}],"e":[{"l":[{"l":2}]}],"i":[{"n":2,"w":[{"y":2}]}],"o":[{"d":[{".":4,"i":34}]},3],"u":[{".":33},125],"w":11,"y":[{"c":[{"h":[{"w":34}]},3],"r":[{"c":[{"h":21}]}],"w":34}]},47],"e":28,"i":[{"n":0,"r":0},1],"o":[{"d":[{".":34}]},28],"r":[{"o":[{"a":[{"d":[{"a":11}]}]},16]},28],"w":35,"y":[{"n":[{".":1},4]},28]},85],"e":[{"a":1,"b":[{"a":[{"i":35,"s":35}],"e":35,"i":35,"l":16,"o":35}],"c":[{"h":16,"i":3}],"d":[{"d":[{".":34},39],"i":[{"o":33}],"o":[{"l":33}],"w":[{"r":33}],"y":[{"n":[{".":4}]}]}],"f":[{"a":0,"n":[{"y":12}],"y":3}],"g":[{"l":[{".":34},33],"o":[{"g":33}]}],"i":[{"a":[{"u":5}],"c":33,"d":[{".":5,"d":15}],"g":33,"l":33,"n":[{"e":33}],"r":[{".":5}],"t":[{".":5}],"w":0}],"l":[{"l":35}],"m":[{"i":33}],"n":[{"d":4,"g":66,"i":[{"n":3},33],"n":[{"y":[{"d":33}]}]}],"o":25,"r":[{"i":[{"d":133,"n":2}]},28],"s":[{"t":[{"r":48}],"w":33}],"u":[{"a":33,"o":33,"y":47}],"w":[{"i":[{"d":2},0],"n":[{".":5}],"y":[{"n":[{"n":2}]}]}]}],"f":[{"a":[{"d":51,"e":[{"t":[{"h":[{".":33}]}]}],"f":33,"i":33,"o":0,"s":33,"t":0,"u":33},28],"e":[{"d":[{"w":35}],"l":16,"n":[{"y":0},1],"y":0}],"f":[{".":33,"i":3,"l":3,"o":3,"w":35,"y":3}],"i":[{"d":1,"l":[{".":34}]}],"l":[{"u":1},35],"o":[{"d":[{"a":[{"d":8}]}],"l":[{".":5}],"n":1,"r":[{"d":5},56]}],"r":35,"u":35,"w":[{"i":[{"s":5}]},25],"y":[{"n":[{"y":[{"c":12}]}],"r":0,"s":35}]},45],"g":[{"a":[{"l":11,"n":16}],"e":[{"l":[{"y":11}],"n":[{"a":3,"e":2}]},35],"o":[{"f":4}]},97],"h":[{"a":[{"g":[{"e":12,"l":16,"o":16}],"n":[{"a":19,"e":11}],"w":33}],"e":[{"s":0,"w":[{"y":12}]}],"i":[{"f":16}],"o":[{"e":[{"c":4}],"n":[{"a":12}],"s":[{"t":[{"i":[{"r":17}]}]}]}],"u":[{"g":[{"l":15}]}],"y":[{"f":56,"n":[{"a":19,"e":11}]}]},46],"i":[{"a":[{"e":[{"t":[{"h":[{"u":33}]}]}],"f":16,"g":[{"l":5},33],"i":[{"d":[{"d":134}]},35],"l":[{"l":5}],"n":[{"t":34},0],"s":35,"w":[{"d":5},33]},30],"b":[{"e":3,"l":16,"w":3,"y":3}],"c":[{"a":[{"n":5}]}],"d":[{"a":33,"d":[{"y":12},16],"i":33,"y":[{"l":[{"l":[{"a":[{"u":4}]}]}]}]}],"e":[{"i":1},30],"f":31,"g":[{"o":33},3],"i":1,"n":[{"d":[{"i":[{"r":2}]}],"e":3,"g":[{"l":15}],"i":33,"l":33}],"o":[{"c":35,"d":[{"a":[{"d":5,"f":5,"i":5,"n":5,"s":[{"a":[{"i":5,"n":5}],"e":5,"i":5,"o":[{"c":5,"m":5}],"w":5}]}],"d":35,"e":1,"i":1,"o":[{"c":5,"d":5,"m":5,"n":5}],"w":[{"c":5,"n":5,"y":5}],"y":5}],"e":33,"m":35,"n":[{"g":1,"t":35}]},30],"r":28,"s":[{"g":[{"l":48},4],"t":16}],"t":[{"h":76}],"w":[{"a":0,"l":19,"r":[{".":34}]},30],"y":111},9],"l":[{"a":[{"n":[{"a":3,"e":3}]}],"e":[{"w":35}],"i":[{"a":1,"e":1,"o":1}],"l":[{".":33,"e":[{"n":48},4],"w":24},35],"o":[{"g":[{".":5}],"n":35}],"u":[{"d":[{"d":17}]}],"w":35,"y":[{"m":47,"n":[{".":5},16]}]},46],"m":[{"a":[{"c":0},47],"i":[{"l":0},1],"o":[{"d":0},47],"y":35},46],"n":[{"a":[{"i":[{".":33}],"u":33}],"e":[{"s":[{".":0,"a":0,"t":34}]}],"g":[{"e":4}],"i":[{"a":[{"e":5}],"i":0,"o":[{"l":5}]},1],"ï":136,"o":[{"s":0}],"y":[{"w":0},1]},135],"o":[{"a":[{"d":39,"u":39},30],"b":[{"l":19}],"c":[{"h":[{"l":17},16],"r":1}],"d":[{"d":16,"r":[{"w":2},33]}],"e":[{"a":0,"d":16,"o":0,"r":1}],"f":[{"l":19,"u":[{"n":[{"e":[{"d":[{".":17}]}]}]}],"w":3},47],"g":[{".":35,"a":[{"e":33}],"e":0}],"l":3,"m":82,"n":[{"a":[{"u":33}],"g":[{"l":[{"w":[{"y":12}]},17]}],"i":3}],"s":[{".":33,"f":33,"g":11,"o":3}],"t":30}],"ö":[{"e":[{"d":[{"i":5}]}]}],"p":[{"a":[{"r":16},28],"e":[{"c":[{"h":5}],"m":[{".":5}],"n":[{"t":5},47],"r":[{".":5}],"s":[{"i":5}]},28],"i":1,"o":1,"w":[{"y":1}],"y":1},9],"r":[{"a":35,"o":[{"g":0}]},46],"s":[{"a":[{"i":0,"u":33}],"e":[{"n":79}],"i":[{"n":0},1],"l":[{"i":[{".":5}]}],"t":137,"y":47},46],"t":[{"a":[{"u":33},46],"e":[{"d":33,"i":[{"s":35}],"n":33,"s":33}],"h":[{"a":3,"e":[{"g":4}],"i":[{"n":35}],"l":[{"a":3}],"o":[{"l":2},3],"r":[{"u":2,"y":[{"c":34}]}],"w":[{"y":[{"o":[{"n":[{".":2}]}]}]},33],"y":[{"d":[{"d":2}]}]}],"i":[{"y":0}],"r":[{"a":4,"w":[{"y":5}]},28],"u":9,"y":1}],"u":[{"b":[{"a":4}],"c":35,"d":[{"d":[{".":49},16]}],"n":[{"i":4}],"s":28}],"w":[{"a":[{"d":1,"f":1,"g":65,"i":[{"t":35}]},9],"b":[{"a":[{"n":2}],"l":16}],"c":28,"d":[{"e":[{"n":[{"n":34}]}]}],"e":[{"d":[{"d":[{"o":[{"g":33,"l":33}]},48]}],"i":[{"d":51}],"l":35,"r":35}],"g":47,"h":[{"e":[{"l":5}]}],"i":[{"n":1},25],"l":35,"n":[{"c":33,"i":0,"o":6}],"o":[{"b":[{"r":17}],"d":1,"l":[{"d":5}]}],"r":[{"e":[{"s":2}],"i":[{"a":[{"e":[{"t":[{"h":[{"o":4}]}]}]}]}]},28],"y":[{"b":33,"d":[{"d":[{"e":[{"n":[{".":34}]}],"i":[{"a":[{"d":[{"u":138}]}]}]}],"e":33,"o":33,"r":48,"y":33}],"m":49,"n":16,"s":33},9]}],"y":[{".":49,"b":[{"l":49,"o":1}],"c":[{"h":[{"w":[{"a":[{"i":12}]}]}]}],"d":[{".":33,"a":[{"n":[{"o":5}]}],"d":[{"o":[{"n":[{".":11}]}]}],"l":11},47],"f":[{"a":10,"e":[{"r":1},14],"o":[{"d":4}]}],"l":[{"a":3,"e":14,"i":[{"t":2}]}],"m":[{"r":80}],"n":[{"a":3,"c":11,"d":39,"e":3,"f":3,"g":[{"a":12}],"n":39,"o":[{"d":[{"e":[{"d":12,"r":12}]},17]}],"y":[{"c":3}]}],"s":[{"b":[{"a":2},3],"g":[{"w":12,"y":16}]}],"w":[{"a":1,"i":3}]}]}],"s":[{"a":[{"c":[{"h":16}],"f":[{"a":3,"o":3}],"n":[{"a":3,"e":3,"o":3}],"r":[{"f":[{"a":12}]}],"t":[{"a":4,"h":[{"r":[{"a":[{"w":13}]}]},11]}],"u":35}],"á":[{"i":[{"t":0}]}],"b":[{"a":[{"d":[{"w":11}],"i":33}],"e":[{"t":35}],"i":[{"w":1,"y":[{"c":5}]}],"l":35,"r":[{"i":[{"o":2}]}]},131],"d":[{"o":[{"r":0}]}],"e":[{"c":[{"a":[{"n":4}]}],"d":[{"d":16}],"f":49,"i":[{"o":[{"n":5}]}],"n":[{"o":[{"l":2}],"w":16}],"r":[{"c":[{"h":15},33],"i":33}],"t":47},9],"f":[{"a":[{"m":0}],"e":[{"d":[{"d":17}]}],"f":[{"y":4}],"w":[{"y":0}],"y":[{"r":0}]}],"g":[{"a":[{"d":[{"r":139,"w":1}],"m":35,"n":1,"r":[{"a":12}],"w":35}],"e":[{"d":[{"a":35,"e":35,"i":[{"g":33}],"o":34,"w":34}],"l":11,"n":[{".":5,"a":60,"e":2}]}],"i":[{"a":33}],"l":[{".":33,"a":3,"o":3}],"n":[{"i":1},35],"o":[{"d":[{".":0},1],"g":23,"l":0,"m":1,"n":1,"t":[{"y":5}]}],"r":[{"w":[{"y":5}],"y":[{"w":5}]}],"w":[{"c":33,"n":1}],"y":[{"c":33,"f":23,"n":[{"a":3,"e":[{"s":2}]}]}]},47],"i":[{"a":[{"l":[{".":34,"u":34}],"m":0,"n":[{"d":54}],"r":33}],"d":[{"a":4},60],"e":[{"t":33},35],"g":[{".":35,"a":0,"e":35,"l":[{".":54},16],"r":35,"y":[{"n":34}]},47],"l":[{"f":4}],"n":[{"s":11}],"o":35,"r":35,"t":35,"w":[{"r":0}],"y":[{"n":47}]},30],"ï":135,"l":[{"a":[{"u":0}],"o":[{"n":[{"a":3,"e":19}]}],"y":[{"w":11},35]},85],"m":[{"a":[{"r":0}],"e":[{"r":0}],"w":[{"y":[{"t":[{"h":[{"a":[{"s":[{"o":15}]}]}]}]}]}]},9],"n":[{"a":[{"u":33}],"e":[{"g":56},9],"i":79,"o":[{"b":0}]}],"o":[{"c":35,"d":[{"d":16,"l":23}],"e":35,"f":[{"l":4}],"g":140,"m":60,"n":[{".":33,"a":[{"u":33}],"d":[{"e":[{"b":[{"a":4}],"r":4}]}],"e":35,"g":33},3]}],"r":[{"a":[{"n":[{"a":3,"e":2}]}]}],"t":[{"a":[{"c":1,"d":[{"e":33}],"f":33,"m":0,"n":9,"s":1,"u":33,"w":[{"c":5}]}],"e":[{"c":33,"d":33,"i":33,"m":51,"n":33,"s":33}],"f":1,"i":[{"r":[{"o":34}]}],"l":[{"o":3,"y":[{"t":5}]}],"o":[{"d":[{".":35}],"r":[{"a":3,"e":19}]},9],"r":[{"a":[{".":35},0],"e":[{"c":3,"s":3}],"o":[{"c":3,"l":3}],"w":91,"y":[{"c":3}]}],"u":[{"r":1,"s":[{".":5}]},9],"w":[{"y":[{"i":34}]}],"y":[{"r":16}]},47],"u":[{"r":3,"s":35},47],"w":[{"a":9,"c":[{"r":16},35],"e":[{"d":[{"d":5},33],"n":16},35],"i":30,"m":[{"p":16}],"y":[{"f":35,"n":16,"r":4}]}],"y":[{"c":[{"h":[{".":34}]},35],"d":35,"f":[{"l":23}],"g":30,"l":[{"l":[{"a":16,"t":48}]}],"m":[{"l":23,"u":[{"d":[{"a":[{"d":13}]}]}]}],"n":[{".":111,"f":[{"e":4}]}],"r":[{"a":14,"e":14},35],"s":35,"t":49,"w":[{"a":33}]},47]},28],"t":[{"a":[{"c":[{"h":16},53],"d":[{"l":141,"r":3}],"f":[{"a":0,"l":4},28],"g":3,"i":[{"d":35},28],"l":[{"i":[{"a":[{"e":34}]}],"m":80}],"n":[{"c":39,"e":3,"g":[{"n":12}],"o":3,"w":3},28],"o":35,"r":[{"d":142,"f":4}],"s":28,"t":31,"u":28,"w":[{"l":16}]}],"b":28,"c":[{"h":35}],"e":[{"c":28,"d":[{"d":16},28],"g":[{".":39,"i":[{"o":39}]}],"i":[{"d":[{"i":35}],"m":[{"l":[{"a":[{"d":[{"w":13}]}]}]}]}],"l":[{"y":4}],"m":[{".":35,"i":33}],"n":[{"d":4,"e":0},28],"r":[{"f":[{"y":[{"n":7}]},11]}],"s":[{"a":33,"i":[{"o":4}]},28],"t":[{"a":4}],"w":[{".":39,"c":39,"i":[{"d":2}]},49]}],"f":[{"f":[{"e":4},14],"o":[{"d":11}],"y":[{"d":[{"d":17}]}]},28],"g":[{"a":[{"f":0,"n":0}],"e":[{"n":0,"r":0}],"l":[{"a":4}],"n":14,"o":[{"r":[{".":34,"i":[{"a":34}],"n":34},47]}],"w":[{"c":0,"y":0}],"y":[{"w":3}]},46],"h":[{"a":[{"l":[{"a":[{"d":8}],"m":118}],"n":[{"g":[{"n":15}]}],"r":[{"f":11},0],"t":[{"y":12},0]}],"e":[{"f":0,"l":[{"l":5}],"r":[{"f":[{"y":[{"n":21}]}]}],"t":11},25],"l":[{"a":3,"e":[{"n":[{"t":2}],"t":5}]}],"n":[{"o":[{"d":5}]},1],"o":[{"l":[{"d":5,"l":[{"t":8}]}],"n":[{"e":11}],"r":[{"a":[{"d":8}]}]},25],"r":[{"a":[{"c":3}],"e":[{"d":1,"n":[{"t":2}]}],"i":[{"d":17}],"o":[{"f":16}],"w":[{"f":5}],"y":[{"d":[{"a":12},17]}]}],"u":[{"g":1,"m":1,"n":1,"s":1}],"w":[{"a":1,"l":0,"y":[{"d":1,"f":1,"s":[{"g":8}]}]},25],"y":[{"c":[{"h":1}],"d":[{"d":15}],"m":[{"a":5}],"r":[{"f":[{"a":[{"u":17}]}],"w":16}],"w":4}]},47],"i":[{"a":35,"d":3,"e":35,"n":[{"g":16,"o":33},35],"o":[{"n":[{"o":33},11]}]},58],"ï":[{"o":[{"l":[{".":5}]}]}],"l":[{"a":[{"e":0},1],"e":[{"n":[{".":0}]},25],"o":[{"n":1}],"w":[{"y":1}],"y":[{"d":35}]}],"n":46,"o":[{"c":[{"h":35}],"d":[{".":33,"d":35}],"e":[{"c":0,"d":[{"i":1}],"m":0,"s":[{"i":1}]}],"f":3,"g":60,"i":[{"s":49}],"l":[{"l":[{"t":17}],"y":3},47],"m":[{".":35},28],"n":[{"e":4,"t":35},28],"r":[{"a":14,"c":4},49],"s":35,"w":[{"c":0,"n":0}]}],"r":[{"a":[{"c":3,"d":[{"d":3,"w":1}],"f":[{".":1}],"g":3,"n":[{"a":3,"e":2,"t":1}],"w":49}],"e":[{"d":1,"f":[{"a":12,"l":16},114],"g":39,"m":[{".":1}],"n":[{"t":1}],"w":49}],"i":[{"d":50,"g":[{".":5}]}],"o":[{"a":[{"d":[{"a":4}]}],"d":[{"d":1}],"f":[{"a":2}],"l":[{"a":1,"o":1,"w":1}],"n":[{"o":11,"t":1}]}],"w":[{"m":0,"n":1,"y":[{"d":[{".":5,"d":139}],"f":1}]},30],"y":[{"d":[{"a":3,"y":11}],"f":3,"l":3,"n":[{".":5}],"w":49}]}],"s":[{"a":[{"c":[{"h":5}]}],"e":28,"i":1},9],"u":[{"d":[{"r":11},49],"m":53,"n":82,"r":[{"m":33},53]}],"w":[{"a":[{"i":35}],"c":28,"n":28,"r":[{"n":4},72],"y":[{"a":49,"d":35,"e":49,"f":35,"m":0,"o":49,"s":[{"g":17}],"w":49}]},9],"y":[{"c":28,"d":[{"d":[{"y":12}]},28],"g":[{"a":[{"r":5}]}],"l":[{"i":1}],"m":[{"p":11}],"n":[{".":62,"g":[{"a":[{"d":12}]}]}],"r":[{"a":14,"e":[{"s":4}]},53],"w":[{"r":1}]}]}],"u":[{"a":[{"l":3,"n":[{"d":47,"e":33}],"r":35,"w":35},58],"b":25,"c":[{"h":[{"e":[{"d":2},3]},31]},30],"d":[{"a":[{"d":1,"l":[{"e":34}]}],"d":[{"a":3,"e":[{"g":4,"l":3}],"f":3,"i":3},31],"e":[{"i":[{"r":5}],"r":1}],"i":1,"l":25,"r":[{"w":[{"y":[{"d":[{"d":5}]}]}]},3],"w":[{"n":1,"r":1},9],"y":[{"n":1}]}],"e":[{"d":[{"d":16}],"s":[{"t":[{"a":[{"i":[{".":33}],"u":33}],"w":[{"r":33}],"y":33}]}]},28],"f":[{"a":[{"u":[{".":5}]}],"f":[{"y":4}],"y":1}],"g":[{"a":[{"d":1,"f":1}],"e":[{"n":1}],"i":1,"l":[{"a":3,"e":3,"w":1}],"n":3,"o":25,"u":25,"w":25,"y":1}],"h":46,"i":28,"l":[{"a":[{"d":1,"f":1,"n":[{".":34,"n":34,"t":1}],"t":[{"h":34}]}],"d":1,"e":32,"f":25,"i":[{"g":[{"r":5}]}],"l":31,"o":[{"c":1,"d":1,"n":[{"e":12},16]},28],"u":25,"w":25,"y":[{"c":1,"d":35}]}],"n":[{"e":[{"d":[{"y":0}],"l":[{"l":5}],"s":[{".":5}]}],"i":[{"g":16},1],"o":[{"d":[{".":5}],"l":[{".":5},9]}]},25],"o":[{"g":3,"s":60},58],"p":9,"r":[{"b":[{"w":4}],"d":[{"d":[{"u":5}]}],"e":1,"f":[{"a":[{"u":5}],"l":0}],"g":[{"y":9}],"n":[{".":39}],"o":[{"f":11}],"s":84,"t":[{"y":0}],"u":[{"d":0}],"w":[{"y":[{"d":[{"d":34}]}]}],"y":[{"w":0},1]},25],"s":[{".":53,"e":[{"d":[{"d":[{"a":0}]}],"n":[{"d":5}]}],"g":31,"i":[{".":39}],"o":1,"r":49,"t":[{"e":[{"r":1}],"o":[{"d":1}],"r":1}]}],"t":[{"a":1,"e":25,"h":[{"r":23,"u":[{"n":4},3]}],"o":1,"r":3}],"w":[{"c":[{"h":16},47]},58],"y":28}],"w":[{"a":[{"c":[{"e":[{"w":2}]}],"d":[{"d":16,"n":80,"w":[{"y":[{".":34}]}]}],"e":[{"n":[{"i":11}],"r":56}],"g":31,"i":[{".":35,"d":35,"r":47,"s":35,"t":33},28],"l":[{"l":[{"t":15}]}],"n":[{".":33,"a":3,"e":3,"o":3}],"r":[{"d":[{"d":[{"r":2}]}],"e":[{"d":[{"d":4}]},3],"i":[{"a":2}],"t":[{"h":[{"a":[{"i":12,"s":12}],"i":12,"w":12},17]}],"w":3}],"s":[{".":76,"e":35,"g":4,"i":35,"o":35,"t":133,"w":35}],"t":[{"e":[{"r":2}]}],"u":28},30],"b":[{"l":[{"e":[{"s":2}]}]},30],"c":[{"a":30,"e":[{"d":0}],"h":[{"u":39},31],"i":30,"w":[{"l":[{"l":5}]}],"y":[{"n":0}]},47],"d":[{"d":[{"e":[{"g":3,"w":34}]}],"e":[{"d":1,"n":[{"a":19,"e":22}]},9],"i":[{"h":0},1],"l":[{"y":1}],"o":[{"d":[{".":35}]}],"r":[{"a":0,"y":11},31],"u":9},30],"e":[{"b":82,"c":58,"d":[{".":111,"a":33,"d":[{"f":39,"i":39}],"i":[{"g":35},39]}],"g":[{"i":0,"r":11}],"i":[{"n":16}],"l":[{"l":[{"t":[{"i":12}]}],"o":3,"w":[{"l":12}]}],"m":58,"n":[{"a":[{"u":3}],"d":4,"t":111,"w":[{"y":[{"n":7}]}],"y":3}],"r":[{".":111,"i":[{"d":2},4],"s":33,"y":[{"d":4}]}],"s":[{"i":[{"r":33,"t":33},62],"t":[{".":54,"a":[{"i":11}]}]},30],"t":[{"h":33},28],"u":[{"g":14,"n":16},30]}],"f":[{"a":28,"e":28,"f":[{"a":3}],"i":[{"d":0},28],"o":[{"r":56},28],"w":[{"y":0},28],"y":35},85],"g":[{".":30,"i":[{"g":[{".":34}]}],"l":30,"n":1},25],"h":[{"e":35,"w":35},97],"i":[{"a":[{"n":0}],"b":[{"a":[{"n":2}],"l":[{"a":12}],"o":[{"l":2}]}],"d":[{"l":16}],"f":[{"r":0}],"g":[{"l":[{"e":12}]},59],"l":3,"n":[{"g":[{"a":[{"d":[{"a":2,"e":2,"i":2,"o":2}]}]}]}],"o":[{"n":[{"e":33}]}],"r":3,"s":[{"g":16}],"t":28,"w":[{".":49,"e":4}]},30],"l":[{"a":[{"d":[{".":49}],"n":16}],"c":[{"o":0}],"i":[{"n":1,"p":33}],"l":[{"y":[{"n":2}]}],"w":[{"s":[{".":5}]}],"y":[{"c":0}]},30],"m":[{"a":[{"n":16},1],"b":[{"r":0}],"i":[{"a":[{"i":5,"n":5}]},9],"w":[{"l":0}]},30],"n":[{"a":[{"d":[{"w":[{"y":[{".":5}]}]}],"e":9}],"d":[{"e":1,"i":1,"r":16},30],"e":[{"i":0}],"ê":[{"l":0}],"g":[{"l":11},43],"i":[{"n":1}],"l":1,"o":[{"c":51,"d":[{"d":1}],"g":1,"l":1,"m":51,"n":51},9],"w":30},25],"o":[{"d":[{".":35,"d":35},47],"l":[{".":35,"a":[{"e":35}]},47],"r":47},58],"p":[{"e":1,"l":31,"w":[{"r":[{"d":5}]}]},30],"r":[{"a":[{"e":[{"t":5}]}],"b":[{"y":[{"n":2}]}],"c":[{"a":1,"e":0,"h":55,"i":0,"w":[{"d":5}]},14],"d":[{"e":[{"i":5}]},30],"e":[{"d":1,"i":[{"g":48}],"s":[{"i":5}]}],"f":[{"a":[{"u":5}],"i":0},1],"i":[{".":39,"d":[{".":1},16],"e":1}],"l":[{"l":0},1],"n":[{"a":81,"e":[{"s":4}],"o":1}],"o":25,"t":[{"h":16},9],"w":[{"s":0,"y":[{"d":[{"d":34}]}]},25],"y":[{"w":4}]}],"s":[{"b":[{"r":[{"e":5}]}],"e":1,"g":[{"l":0},1],"i":[{"g":0}],"o":[{"g":0}],"t":[{"a":[{"n":2},0],"e":[{"r":[{".":5}]}],"r":16}],"u":[{"s":0}],"w":[{"a":1}]}],"t":[{"a":[{"n":16},1],"e":[{"m":1,"r":[{"y":5}]}],"h":[{".":39,"w":3},31],"o":[{"d":1}],"w":[{"y":1}],"y":1},30],"w":58,"y":[{"a":[{"l":[{"c":5}]},30],"b":[{"r":[{"y":12},39],"u":1}],"c":[{"h":16},28],"d":[{"a":3,"d":[{"l":[{"y":11}],"y":[{"d":11}]},30],"r":[{"o":16}],"y":30}],"e":30,"f":[{"r":1}],"h":1,"i":30,"l":[{"d":[{"e":[{"b":4}]}],"l":[{"a":16}]},30],"n":[{"a":[{"d":[{".":2}]}],"d":39,"e":[{"g":3}],"f":3,"g":19,"i":0,"o":3,"y":3}],"o":30,"r":[{"a":[{"d":3,"n":1}],"d":[{"d":[{".":54}]}],"l":[{"i":16}]}],"s":30,"t":30,"w":[{"r":1,"y":1},30],"y":30}]}],"y":[{"a":[{"r":[{".":33,"n":33},60]},58],"b":[{"a":[{"c":0}],"e":[{"d":[{"d":5}],"r":11}],"l":[{"y":1},31],"r":[{"i":3},31],"w":1},30],"c":[{"h":[{"a":[{"n":[{"w":[{"r":4}]},15]}],"e":[{"i":2}],"r":3,"w":[{"e":39,"y":[{"n":[{"a":15,"e":15}]},3]}]},31],"l":3}],"d":[{".":30,"a":[{"d":1,"l":0,"n":[{"a":35,"e":35,"t":1,"w":34},70],"r":35,"s":1,"u":1},30],"d":[{"a":[{"n":2}],"e":0,"f":64,"i":[{"n":[{".":4}]},64],"o":[{"f":4}],"y":[{"n":[{".":2,"e":12}],"s":[{"g":4}]}]},3],"e":[{"b":35,"d":[{"d":[{"a":[{"u":0}]}]},1],"i":1,"r":1,"u":0},30],"f":[{"f":[{"u":5}],"w":[{"r":48}],"y":[{"n":48}]}],"i":1,"l":25,"m":[{"a":0}],"n":[{"e":[{"b":12},9]}],"o":[{"d":[{".":0}],"l":16,"s":0},43],"r":[{"a":[{"u":39}],"e":[{"c":3,"m":3,"s":[{"i":[{"d":2}]}],"w":1}],"i":[{"a":39},0],"o":[{"c":3,"l":39}],"w":[{"y":[{"d":[{".":2,"d":5}]}]}],"y":[{"c":3},39]}],"w":[{"a":1,"e":[{"d":5,"i":[{"t":[{"h":[{"i":[{"o":[{"l":106}]}]}]}]}],"l":[{"e":15}]}],"r":1},30],"y":[{"l":4},25]}],"e":[{"l":35,"r":[{"a":33,"n":33}]},28],"f":[{"a":[{"g":51,"i":1,"n":[{"t":16}],"r":[{"e":1,"h":1,"w":[{"a":12}]}]}],"e":[{"d":[{"a":1,"e":1,"i":1,"o":1,"w":1}],"i":1,"l":16,"r":[{"f":5,"n":16}],"s":[{"i":5}],"w":[{"i":5}]}],"f":[{"a":[{"i":[{"t":5}]},0],"e":[{"i":5}],"i":[{"n":2},91],"l":33,"r":[{"a":16,"o":[{"e":[{"d":15,"m":15,"n":15}],"w":[{"c":15}]}],"w":16,"y":3}]},31],"i":1,"l":[{"e":[{"d":4}],"o":[{"e":16}]}],"n":[{"e":1,"o":1,"y":1}],"o":[{"d":[{".":5}],"g":[{"l":17}]},1],"r":[{"a":[{"i":[{"t":5}],"n":[{"e":12}]}],"y":[{"w":5}]}],"u":1,"w":[{"n":[{"g":5}]}],"y":[{"g":1,"n":[{".":5,"a":3,"e":2,"g":15}],"t":0}]},37],"g":[{"a":[{"d":[{"u":5}],"r":0},1],"e":[{"g":11,"i":[{"d":0}]}],"i":[{"l":0,"n":49},1],"l":[{"a":3,"o":3,"w":3,"y":3}],"n":3,"o":[{"e":0,"f":0},1],"r":[{"a":[{"d":17}]},31],"w":[{"y":[{"d":5}]}],"y":[{"c":33,"d":39}]},25],"h":[{"e":[{"i":3,"w":3},47]},46],"i":[{"e":35},28],"l":[{"a":[{"d":[{".":1,"w":[{"y":[{".":5}]}]}],"f":1,"n":[{"t":1},16],"w":[{".":34}]}],"c":[{"h":[{"w":16}]},30],"d":[{"e":[{"r":[{"a":0}]}]}],"e":25,"f":25,"i":[{"n":35,"t":33}],"l":[{"a":[{"d":[{".":2}]}],"e":3,"f":39,"i":[{"d":[{"a":2}]}],"o":3,"w":3,"y":3}],"n":[{"o":[{"s":5}]}],"o":[{"c":1,"d":1,"n":1,"r":[{"e":5}]}],"u":[{".":33}],"w":[{"e":39,"y":1}],"y":25}],"m":[{"a":[{"i":[{"t":5}],"l":0,"n":[{".":5,"t":12}],"r":[{"w":12}]}],"b":[{"l":56}],"e":[{"d":[{"r":5}],"r":[{"i":0}],"s":[{"u":143}]}],"g":49,"h":[{"e":[{"u":1}]}],"l":[{"e":9,"i":9,"o":[{"n":[{"e":12}]}]}],"o":[{"l":[{"i":0}],"n":1}],"p":[{"a":3,"i":0,"o":[{"d":2}],"r":1}],"r":[{"a":[{"n":[{"e":12}]}],"i":[{"g":2}],"o":[{"e":12}],"u":0}],"s":[{"e":1}],"u":[{"m":0}],"w":[{"y":[{"b":54}]}],"y":[{"n":[{"y":12}],"r":[{"a":5,"e":5,"i":5,"o":5,"w":5}]},1]}],"n":[{"a":[{"d":[{"a":0}],"e":1,"f":1,"i":1,"n":83,"s":16,"u":43,"w":0}],"b":[{"y":[{"n":5}]}],"c":[{"e":[{"d":2}]}],"d":[{"i":[{"r":1}]}],"e":[{"b":0,"c":1,"d":[{".":1,"d":1}],"g":9,"i":1,"m":1,"n":1,"r":1,"s":[{"a":[{"u":33},35]}]}],"f":[{"y":[{"d":48}]},30],"g":[{"e":[{"r":2},0],"l":1},44],"i":[{"a":[{"w":17}],"d":4,"f":10,"g":[{"y":5},35],"l":83}],"n":1,"o":[{"a":[{"d":144}],"d":[{"d":5,"i":0,"y":0}],"e":1,"s":50},25],"r":30,"t":[{"a":4,"e":0,"i":0,"o":0,"u":0},31],"u":[{"d":0}],"w":[{"a":1,"e":145,"y":[{"r":0},1]},25],"y":[{"c":9,"d":[{"d":15}]},25]}],"o":28,"p":[{"l":[{"a":3,"e":3,"o":3,"w":3,"y":1}]}],"r":[{"a":[{"e":1,"f":1,"n":[{"a":3,"e":3,"t":1}],"u":51}],"c":[{"h":[{"e":16,"o":16,"w":16,"y":16},0]}],"d":[{"d":[{"y":[{"d":5}]},55]}],"e":[{"i":9,"l":[{".":5}],"n":[{"d":12}]},25],"f":[{"e":3,"f":50,"u":0,"y":[{"d":2}]}],"i":[{"a":33,"d":1}],"l":[{"y":1},9],"n":3,"o":[{"l":[{".":5}]},25],"s":9,"w":[{"a":[{"y":5}]},25],"y":25}],"s":[{"a":[{"w":1},30],"b":[{"ï":[{"w":2}],"l":0,"y":[{"d":3}]},30],"e":[{"t":[{"l":5}]},30],"f":30,"g":[{"a":[{"r":[{".":39,"a":[{"i":5,"s":[{"a":5}]}],"i":[{"a":5}],"w":[{"y":5}]}]}],"e":11,"l":[{"e":11,"w":2}],"n":0,"r":49,"y":0}],"i":30,"n":[{"i":[{".":5}]}],"o":[{"d":1,"l":[{".":5},39]},30],"t":[{"a":1,"e":[{"b":2,"d":5,"r":1},39],"r":[{"y":0}],"w":4}],"u":1,"w":[{"e":0,"i":0},30],"y":[{"g":0},43]}],"t":[{"a":[{"d":1}],"e":25,"h":[{"a":3,"e":3,"i":[{"e":16}],"l":3,"o":3,"r":[{"e":[{"c":12,"d":12,"s":12,"u":2},4],"o":16,"w":[{"b":2}],"y":[{"c":12}]}],"u":[{"r":2}],"w":3,"y":[{"n":3}]}],"i":[{"r":[{"o":5}]}],"o":1,"r":[{"a":[{"s":1}]},14],"s":1,"w":[{"a":[{"d":2}],"y":1}],"y":[{"s":[{"a":5}]}]}],"w":[{"a":[{"e":0,"i":[{"t":35}]}],"c":28,"e":[{"d":[{"d":[{"i":[{"a":34}]},35]}],"g":[{".":5}],"l":33,"n":[{".":5}],"s":1}],"g":69,"i":[{"a":33,"d":1,"o":33,"r":[{".":33}]}],"n":28,"o":[{"l":1}],"r":[{"a":[{"i":[{"n":2}]},4]},98],"y":[{"c":33,"f":35,"n":[{"a":3,"e":2}]}]},30],"y":28}]}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/9648.adapter.js b/public/tools/cloud_sheets/vendor/univer/9648.adapter.js new file mode 100644 index 0000000..c3720c5 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/9648.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[9648],{9648(s,o,t){t.r(o),t.d(o,{MulEthi:()=>e});const e=["11,21",'{"ሀ":0,"ሁ":0,"ሂ":0,"ሃ":0,"ሄ":0,"ህ":0,"ሆ":0,"ሇ":0,"ለ":0,"ሉ":0,"ሊ":0,"ላ":0,"ሌ":0,"ል":0,"ሎ":0,"ሏ":0,"ሐ":0,"ሑ":0,"ሒ":0,"ሓ":0,"ሔ":0,"ሕ":0,"ሖ":0,"ሗ":0,"መ":0,"ሙ":0,"ሚ":0,"ማ":0,"ሜ":0,"ም":0,"ሞ":0,"ሟ":0,"ሠ":0,"ሡ":0,"ሢ":0,"ሣ":0,"ሤ":0,"ሥ":0,"ሦ":0,"ሧ":0,"ረ":0,"ሩ":0,"ሪ":0,"ራ":0,"ሬ":0,"ር":0,"ሮ":0,"ሯ":0,"ሰ":0,"ሱ":0,"ሲ":0,"ሳ":0,"ሴ":0,"ስ":0,"ሶ":0,"ሷ":0,"ሸ":0,"ሹ":0,"ሺ":0,"ሻ":0,"ሼ":0,"ሽ":0,"ሾ":0,"ሿ":0,"ቀ":0,"ቁ":0,"ቂ":0,"ቃ":0,"ቄ":0,"ቅ":0,"ቆ":0,"ቇ":0,"ቈ":0,"ቊ":0,"ቋ":0,"ቌ":0,"ቍ":0,"ቐ":0,"ቑ":0,"ቒ":0,"ቓ":0,"ቔ":0,"ቕ":0,"ቖ":0,"ቘ":0,"ቚ":0,"ቛ":0,"ቜ":0,"ቝ":0,"በ":0,"ቡ":0,"ቢ":0,"ባ":0,"ቤ":0,"ብ":0,"ቦ":0,"ቧ":0,"ቨ":0,"ቩ":0,"ቪ":0,"ቫ":0,"ቬ":0,"ቭ":0,"ቮ":0,"ቯ":0,"ተ":0,"ቱ":0,"ቲ":0,"ታ":0,"ቴ":0,"ት":0,"ቶ":0,"ቷ":0,"ቸ":0,"ቹ":0,"ቺ":0,"ቻ":0,"ቼ":0,"ች":0,"ቾ":0,"ቿ":0,"ኀ":0,"ኁ":0,"ኂ":0,"ኃ":0,"ኄ":0,"ኅ":0,"ኆ":0,"ኇ":0,"ኈ":0,"ኊ":0,"ኋ":0,"ኌ":0,"ኍ":0,"ነ":0,"ኑ":0,"ኒ":0,"ና":0,"ኔ":0,"ን":0,"ኖ":0,"ኗ":0,"ኘ":0,"ኙ":0,"ኚ":0,"ኛ":0,"ኜ":0,"ኝ":0,"ኞ":0,"ኟ":0,"አ":0,"ኡ":0,"ኢ":0,"ኣ":0,"ኤ":0,"እ":0,"ኦ":0,"ኧ":0,"ከ":0,"ኩ":0,"ኪ":0,"ካ":0,"ኬ":0,"ክ":0,"ኮ":0,"ኯ":0,"ኰ":0,"ኲ":0,"ኳ":0,"ኴ":0,"ኵ":0,"ኸ":0,"ኹ":0,"ኺ":0,"ኻ":0,"ኼ":0,"ኽ":0,"ኾ":0,"ዀ":0,"ዂ":0,"ዃ":0,"ዄ":0,"ዅ":0,"ወ":0,"ዉ":0,"ዊ":0,"ዋ":0,"ዌ":0,"ው":0,"ዎ":0,"ዏ":0,"ዐ":0,"ዑ":0,"ዒ":0,"ዓ":0,"ዔ":0,"ዕ":0,"ዖ":0,"ዘ":0,"ዙ":0,"ዚ":0,"ዛ":0,"ዜ":0,"ዝ":0,"ዞ":0,"ዟ":0,"ዠ":0,"ዡ":0,"ዢ":0,"ዣ":0,"ዤ":0,"ዥ":0,"ዦ":0,"ዧ":0,"የ":0,"ዩ":0,"ዪ":0,"ያ":0,"ዬ":0,"ይ":0,"ዮ":0,"ዯ":0,"ደ":0,"ዱ":0,"ዲ":0,"ዳ":0,"ዴ":0,"ድ":0,"ዶ":0,"ዷ":0,"ዸ":0,"ዹ":0,"ዺ":0,"ዻ":0,"ዼ":0,"ዽ":0,"ዾ":0,"ዿ":0,"ጀ":0,"ጁ":0,"ጂ":0,"ጃ":0,"ጄ":0,"ጅ":0,"ጆ":0,"ጇ":0,"ገ":0,"ጉ":0,"ጊ":0,"ጋ":0,"ጌ":0,"ግ":0,"ጎ":0,"ጏ":0,"ጐ":0,"ጒ":0,"ጓ":0,"ጔ":0,"ጕ":0,"ጘ":0,"ጙ":0,"ጚ":0,"ጛ":0,"ጜ":0,"ጝ":0,"ጞ":0,"ጟ":0,"ጠ":0,"ጡ":0,"ጢ":0,"ጣ":0,"ጤ":0,"ጥ":0,"ጦ":0,"ጧ":0,"ጨ":0,"ጩ":0,"ጪ":0,"ጫ":0,"ጬ":0,"ጭ":0,"ጮ":0,"ጯ":0,"ጰ":0,"ጱ":0,"ጲ":0,"ጳ":0,"ጴ":0,"ጵ":0,"ጶ":0,"ጷ":0,"ጸ":0,"ጹ":0,"ጺ":0,"ጻ":0,"ጼ":0,"ጽ":0,"ጾ":0,"ጿ":0,"ፀ":0,"ፁ":0,"ፂ":0,"ፃ":0,"ፄ":0,"ፅ":0,"ፆ":0,"ፇ":0,"ፈ":0,"ፉ":0,"ፊ":0,"ፋ":0,"ፌ":0,"ፍ":0,"ፎ":0,"ፏ":0,"ፐ":0,"ፑ":0,"ፒ":0,"ፓ":0,"ፔ":0,"ፕ":0,"ፖ":0,"ፗ":0,"ፘ":0,"ፙ":0,"ፚ":0,"ᎀ":0,"ᎁ":0,"ᎂ":0,"ᎃ":0,"ᎄ":0,"ᎅ":0,"ᎆ":0,"ᎇ":0,"ᎈ":0,"ᎉ":0,"ᎊ":0,"ᎋ":0,"ᎌ":0,"ᎍ":0,"ᎎ":0,"ᎏ":0,"ⶀ":0,"ⶁ":0,"ⶂ":0,"ⶃ":0,"ⶄ":0,"ⶅ":0,"ⶆ":0,"ⶇ":0,"ⶈ":0,"ⶉ":0,"ⶊ":0,"ⶋ":0,"ⶌ":0,"ⶍ":0,"ⶎ":0,"ⶏ":0,"ⶐ":0,"ⶑ":0,"ⶒ":0,"ⶓ":0,"ⶔ":0,"ⶕ":0,"ⶖ":0,"ⶠ":0,"ⶡ":0,"ⶢ":0,"ⶣ":0,"ⶤ":0,"ⶥ":0,"ⶦ":0,"ⶨ":0,"ⶩ":0,"ⶪ":0,"ⶫ":0,"ⶬ":0,"ⶭ":0,"ⶮ":0,"ⶰ":0,"ⶱ":0,"ⶲ":0,"ⶳ":0,"ⶴ":0,"ⶵ":0,"ⶶ":0,"ⶸ":0,"ⶹ":0,"ⶺ":0,"ⶻ":0,"ⶼ":0,"ⶽ":0,"ⶾ":0,"ⷀ":0,"ⷁ":0,"ⷂ":0,"ⷃ":0,"ⷄ":0,"ⷅ":0,"ⷆ":0,"ⷈ":0,"ⷉ":0,"ⷊ":0,"ⷋ":0,"ⷌ":0,"ⷍ":0,"ⷎ":0,"ⷐ":0,"ⷑ":0,"ⷒ":0,"ⷓ":0,"ⷔ":0,"ⷕ":0,"ⷖ":0,"ⷘ":0,"ⷙ":0,"ⷚ":0,"ⷛ":0,"ⷜ":0,"ⷝ":0,"ⷞ":0,"ꬁ":0,"ꬂ":0,"ꬃ":0,"ꬄ":0,"ꬅ":0,"ꬆ":0,"ꬉ":0,"ꬊ":0,"ꬋ":0,"ꬌ":0,"ꬍ":0,"ꬎ":0,"ꬑ":0,"ꬒ":0,"ꬓ":0,"ꬔ":0,"ꬕ":0,"ꬖ":0,"ꬠ":0,"ꬡ":0,"ꬢ":0,"ꬣ":0,"ꬤ":0,"ꬥ":0,"ꬦ":0,"ꬨ":0,"ꬩ":0,"ꬪ":0,"ꬫ":0,"ꬬ":0,"ꬭ":0,"ꬮ":0,"፡":1,"።":1}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/9968.adapter.js b/public/tools/cloud_sheets/vendor/univer/9968.adapter.js new file mode 100644 index 0000000..2fa0f69 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/9968.adapter.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkyangs_toolbox=self.webpackChunkyangs_toolbox||[]).push([[9968],{9968(i,u,s){s.r(u),s.d(u,{LaXLiturgic:()=>t});const t=["033,021,023,043,02,0212,02101,0214,034,0043,0054,0032,00302,00543,00503,003,045,02334,00002,0002,0343,0003,005,0252,00003,00004,000043,00023,00001,000032,00032,000003,032,054,052,00405,004,0000041,00000002,0000000234,00000054,00000454,0023,001,0021,00323,0012,00654,00634,00432,000322,00054,00454,000045,0052,0034,0065,00212,002,0000045,0076,0233,04,05,06,000034,03,0302,00000004,000002,0000034,000023,0000002,0000343,0000234,0000033,00232,0000054,00021,0004,0016,002121,0041,0063,0045,004123,00231,0056,0005,003432,00234,00345,0021232,00272,002300021,00043,00443,0001,00052,0000021,000001,0000032,000101,0002103,0002102,000323,00025,00036,00034,00000023,0002323,00065,00063,0025,00430434,005402,000021,000214,0000023,00004323,000000212,000021032,00002132,00002123,0000232,000000034,0000454,00002121,0000254,0000210032,00012,000001212,00000121,0000012,0000003,0323,01,006,2,1,4,403,23,22,0202,0223,000005,6,3,0006,0007,0008,202,32,43,104,1003,1005,21,041,203,65,00254,024,205,012,8",'{".":[{"a":[{"b":[{"æ":[{"q":0}],"a":[{"l":[{"i":1}],"u":[{"u":1}]}],"c":2,"e":[{"o":1,"r":1,"s":3,"u":1,"ú":1}],"é":[{"r":1,"u":1}],"f":[{"u":4}],"í":1,"i":[{"c":1,"e":[{"c":5,"r":2}],"é":[{"c":5,"r":2}],"g":1,"i":5,"í":5,"n":6,"r":1,"t":1,"u":7,"ú":7,"v":1}],"j":4,"l":2,"o":[{"l":1,"m":1,"r":[{"t":1},1]}],"ó":[{"l":1,"r":1}],"r":[{"a":[{"h":8}],"u":2},2],"s":[{"c":[{"e":10,"é":10,"i":[{"s":10,"n":10},10],"í":[{"n":10},10]},9],"e":[{"n":11}],"é":[{"n":11}],"i":[{"d":13,"l":14,"m":14},12],"o":[{"n":10},15],"ó":[{"n":10},15],"t":[{"e":[{"m":9,"n":11,"r":9}],"é":[{"m":9,"r":9}],"i":[{"n":9}],"í":[{"n":9}],"r":9,"u":9,"ú":9}],"u":[{"m":14},12]}],"u":[{"n":[{"d":2}],"s":2,"t":2}],"ú":[{"n":[{"d":2}],"t":2}]}],"d":[{"æ":[{"q":16},8],"a":[{"m":[{".":8}],"s":[{"c":[{"r":17}]}]}],"e":[{"p":[{"s":8}],"r":18}],"f":[{"u":4}],"i":[{"a":[{"b":20},19],"á":[{"b":20},19],"e":[{"u":21},19],"é":19,"i":11,"í":11,"o":19,"p":[{"i":[{"s":[{"c":16}]}],"í":[{"s":[{"c":16}]}]},8],"s":[{".":22}],"t":[{".":22}],"u":11,"ú":11}],"í":[{"p":8}],"o":[{"l":[{"e":3}],"n":8}],"ó":[{"n":8}],"r":[{"a":[{"n":8}],"á":[{"n":8}]}],"s":[{"c":[{"r":11}],"i":15,"t":23,"u":[{"e":24}]}],"u":[{"a":20,"á":20,"l":16,"r":[{"n":8}]}],"y":8,"ý":8},2],"l":[{"t":[{"e":[{"r":[{"c":25,"n":25,"p":25,"t":25,"u":[{"t":26}],"ú":[{"t":26}]},24]}],"é":[{"r":[{"c":25,"n":25,"p":25,"u":[{"t":26}]},24]}]}]}],"n":[{"i":[{"m":[{"a":[{"d":27}]}]}],"t":[{"i":[{"m":[{"n":29}]},28]}]}],"p":[{"e":[{"r":[{"u":30}]}]}],"r":[{"c":[{"h":[{"i":[{"e":31}]}]}]}],"s":[{"c":32,"p":[{"i":[{"d":3}],"e":[{"r":[{"g":33,"n":33},3]}]},32],"t":[{"e":[{"r":[{"n":33}]}],"i":[{"p":33}],"r":33,"u":33,"ú":33},34]}]}],"á":[{"b":[{"e":[{"o":1}],"i":[{"g":2,"i":5,"t":1}],"l":[{"u":2}],"r":[{"a":[{"h":8}]},2],"s":[{"c":9,"i":[{"d":13}],"o":[{"n":10}],"t":[{"i":[{"n":9}],"r":9}]}]}],"d":[{"i":[{"a":19,"o":19,"p":8,"u":19}],"r":[{"a":[{"n":8}]}],"s":[{"t":[{"r":23}]}],"y":8},2],"l":[{"t":[{"e":[{"r":24}]}]}],"s":[{"c":32,"p":[{"i":[{"d":3}],"e":[{"r":3}]},32]}]}],"b":[{"e":[{"n":[{"i":[{"a":25}]}],"t":[{"h":[{"l":35}]}]}],"é":[{"n":[{"i":[{"a":25}]}],"t":[{"h":[{"l":35}]}]}]},4],"c":[{"e":[{"u":[{".":36}]}],"i":[{"r":[{"c":[{"u":[{"m":[{"i":[{"a":38,"á":38,"e":38,"i":38,"í":38,"n":[{"i":[{"i":39}]}],"o":38,"u":38}],"s":40},37]}],"ú":[{"m":[{"s":41},37]}]}]}],"s":42}],"o":[{"e":[{"l":[{"e":[{"c":11}],"i":[{"g":11}]}],"m":[{"e":[{"n":15}]}],"n":44,"r":11,"x":[{"s":29},45]},43],"g":[{"n":[{"o":[{"s":11}],"ó":[{"s":11}]}]}],"i":[{"e":46,"u":21},43],"m":[{"e":[{"d":42,"s":[{".":42}]}],"é":[{"d":42}],"i":[{"t":42}],"í":[{"t":42}]}],"n":[{"a":11,"á":11,"e":11,"é":11,"i":[{"a":18,"c":21,"e":[{"c":47},18],"é":[{"c":47}],"i":48,"í":48,"u":49,"ú":49},11],"í":11,"o":11,"ó":11,"s":[{"c":[{"r":30}],"p":50,"t":51}],"u":11,"ú":11},44]}],"ó":[{"m":[{"e":[{"d":42}],"i":[{"t":42}]}],"n":[{"i":[{"u":49}],"s":[{"c":[{"r":30}],"p":50,"t":51}]},44]}],"u":[{"m":[{"s":[{"c":[{"r":52}]}]}],"s":[{"p":36}]}]},4],"d":[{"e":[{"í":[{"n":43},43],"i":[{"n":43,"t":43}],"p":[{"e":[{"r":53}],"é":[{"r":53}]}],"s":[{"c":11,"p":11,"q":11,"t":[{"i":[{"t":54,"l":54}],"í":[{"t":54,"l":54}],"r":[{"u":54,"ú":54}]}]}],"u":[{"t":[{"e":[{"r":36}]}]}]}],"é":[{"i":43,"s":[{"p":11,"t":[{"r":[{"u":54}]}]}]}],"i":[{"g":[{"n":[{"o":[{"s":[{"c":11}]}]}]}],"i":[{"u":55,"ú":55}],"œ":15,"r":[{"i":[{"m":44}],"í":[{"m":44}]}],"s":[{"c":[{"e":[{"d":10,"n":10,"p":10,"r":10,"s":10}],"é":[{"d":10,"n":10,"p":10,"r":10,"s":10}],"i":[{"d":10,"n":10,"p":10,"s":[{"s":10}],"t":10}],"í":[{"d":10,"n":10,"p":10,"s":[{"s":10}]}],"r":[{"e":56,"é":56,"i":[{"m":56}],"í":[{"m":56}],"u":[{"c":56},56],"ú":[{"c":56}]},10]}],"e":[{"r":[{"t":10}]}],"é":[{"r":[{"t":10}]}],"i":[{"c":24},57],"í":[{"c":24},57],"j":58,"p":[{"e":[{"n":56,"r":[{"e":59,"i":59,"s":60,"g":60},56]},10],"é":[{"n":56,"r":[{"e":59,"i":59,"s":60,"g":60},56]},10],"i":10,"í":10}],"t":[{"a":10,"á":10,"i":[{"n":[{"e":56},10],"r":10}],"í":[{"n":[{"e":56},10],"r":10}],"o":[{".":10}],"r":[{"i":[{"c":10,"n":10}],"í":[{"c":10,"n":10}]}]}]},9],"u":15,"ú":15}],"í":[{"s":[{"c":[{"i":[{"t":10}]}]},9]}]}],"e":[{"l":[{"e":[{"u":[{"t":[{"h":19}]}]}],"é":[{"u":[{"t":[{"h":19}]}]}]}],"t":[{"e":[{"n":2}],"i":[{"a":[{"m":61}],"á":[{"m":61}]}]}],"u":[{"m":63,"n":[{"u":64},63],"s":[{".":63}]},62],"ú":[{"m":63,"n":[{"u":64},63]},62],"x":[{"e":[{"d":8,"g":[{"e":[{"t":8}],"é":[{"t":8}]}]}],"é":[{"d":8}],"o":[{"d":8,"r":[{"c":8}]}],"ó":[{"d":8}],"s":[{"c":10,"p":19,"t":54}]},2]}],"é":[{"t":[{"e":[{"n":2}],"i":[{"a":[{"m":61}]}]}],"u":62,"x":[{"e":[{"d":8}],"o":[{"d":8}],"s":[{"c":10,"p":19,"t":54}]},2]}],"f":4,"g":4,"h":[{"a":[{"r":[{"u":[{"s":[{"p":65}]}],"ú":[{"s":[{"p":65}]}]}]}],"e":[{"i":[{".":15}],"u":[{".":15}]}],"i":[{"e":58,"é":58}],"u":[{"c":[{"u":[{"s":25}]}],"i":[{"u":46,"ú":46}]}]},4],"i":[{"a":[{"i":[{"u":19}]},62],"á":62,"b":[{"i":66,"í":66,"o":66,"ó":66,"u":66,"ú":66}],"c":[{"o":66,"ó":66}],"d":[{"c":[{"i":4}],"e":[{"m":3,"n":63,"o":[{".":3,"q":3}],"ó":[{"q":3}],"s":3},32],"é":32,"i":[{"b":32,"o":[{"g":67}]}],"o":[{"l":32,"n":32}],"ó":[{"l":32,"n":32}],"u":[{"s":32}]},1],"e":[{"i":[{"u":19}]},4],"é":4,"i":66,"í":66,"n":[{"a":[{"b":[{"r":27,"s":29}],"c":[{"r":19}],"d":[{"f":19}],"n":32}],"á":[{"n":32}],"c":[{"i":[{"r":[{"c":[{"u":[{"m":68}]}]}]}]}],"d":[{"e":[{"p":9}],"é":[{"p":9}],"i":[{"g":[{"n":10},9],"p":[{"i":[{"s":9}],"í":[{"s":9}]}],"s":10}],"í":[{"g":[{"n":10}]}],"u":[{"c":10,"l":10,"m":10,"s":10,"x":10},9],"ú":[{"c":10,"l":10,"m":10,"s":10,"x":10},9]}],"e":[{"r":[{"s":32,"t":32}],"x":[{"s":[{"t":69}]},27]}],"f":[{"r":[{"a":[{"s":70}]}]}],"i":[{"e":19,"é":19,"í":19,"t":32,"u":19,"ú":19}],"o":[{"b":[{"o":[{"e":30}],"œ":27,"s":[{"c":29}]},27]}],"p":[{"e":[{"r":[{"i":[{"u":[{"r":71}]}]}]}]}],"s":[{"c":[{"r":55}],"p":11,"t":54}],"t":[{"e":[{"r":[{"e":[{"m":65,"n":65,"r":65,"s":[{"s":53},65],"t":65},71],"é":[{"m":65,"n":65,"r":65,"t":65},71],"i":[{"a":72,"á":72,"e":72,"é":72,"i":72,"í":72,"o":[{"r":73}],"ó":[{"r":73}],"u":[{"s":[{".":65}]},72],"ú":72},71],"í":[{"e":72},71],"s":[{"p":[{"e":74,"é":74}]}]}]}],"é":[{"r":[{"e":[{"r":65},71],"i":[{"o":[{"r":73}],"u":[{"s":[{".":65}]}]},71]}]}],"r":[{"o":[{"i":[{"e":75,"é":75}],"s":[{"p":70}]}]}]}],"u":[{"a":19,"e":19,"i":19,"l":[{"c":3},32],"o":19,"u":19}]},3],"o":4,"ó":4,"u":[{"s":[{"i":[{"u":[{"r":76}]}]}]},62],"ú":62}],"í":[{"d":[{"e":[{"o":[{".":3}]},32]}],"i":66,"n":[{"d":[{"i":[{"g":9}],"u":9}],"s":[{"t":54}],"t":[{"e":[{"r":[{"i":71}]}]}]},3]}],"j":4,"l":[{"a":[{"u":36}],"e":[{"c":[{"t":[{"i":[{"s":[{"t":77}]}]}]}]}],"o":[{"n":[{"g":[{"a":[{"n":78}],"á":[{"n":78}]}]}]}],"u":[{"x":[{"q":9,"u":11,"ú":11}]}]},4],"m":[{"a":[{"i":[{"u":79}]}]},4],"n":[{"e":[{"c":[{"o":[{"p":44}],"ó":[{"p":44}]}],"g":[{"o":[{"t":44}],"ó":[{"t":44}]}],"u":[{".":58,"t":58}]}],"é":[{"u":[{"t":58}]}]},4],"o":[{"b":[{"e":[{"d":32,"l":32,"s":32}],"é":[{"d":32}],"i":[{"a":19,"c":[{"i":3},32],"e":[{"r":21},19],"é":19,"g":32,"i":55,"í":55,"u":11,"ú":11}],"l":15,"œ":3,"r":[{"u":[{"z":8}]},15],"s":[{"c":[{"u":11},11],"t":54}],"t":[{"r":15}],"u":[{"a":19,"e":19,"i":19,"o":19}]},1]}],"ó":[{"b":[{"l":15,"r":[{"u":15},15],"s":[{"t":54}]},1]}],"p":[{"æ":[{"n":[{"i":[{"n":[{"s":42}]}],"í":[{"n":[{"s":42}]}]}]}],"a":[{"r":[{"a":[{"i":28,"u":28}]}]}],"e":[{"i":[{"o":[{"r":80}],"ó":[{"r":80}]}],"r":[{"a":[{"b":[{"s":[{"u":44}]}],"c":44,"d":[{"p":57,"u":81}],"e":44,"g":42,"m":[{"a":44,"á":44,"b":44}],"n":[{"t":9}],"r":44,"u":57}],"á":[{"c":44,"g":42,"m":[{"b":44}],"r":44}],"c":[{"o":[{"q":44}],"u":44}],"e":[{"a":[{"s":42},42],"á":[{"m":42,"t":42}],"c":9,"d":82,"f":[{"f":44}],"g":[{"r":83}],"l":44,"m":44,"n":[{"d":84,"n":9}],"o":42,"r":[{"r":9,"u":44}],"s":[{".":42}],"u":42,"ú":42,"x":85}],"é":[{"g":42,"m":44,"n":[{"d":84,"n":9}],"r":[{"r":9}]}],"h":42,"i":[{"a":[{"c":57,"n":55},55],"á":55,"b":42,"c":[{"l":55,"u":55}],"e":[{"b":55,"m":55,"n":[{"s":84},55],"r":[{"a":[{"t":87},84]},55],"i":31,"t":55,"c":57},42],"é":[{"b":55,"m":55,"n":55,"r":55,"t":55,"i":31},42],"i":[{"t":88}],"m":[{"i":10,"u":[{"s":56},10]},9],"n":[{"t":55},42],"o":[{"d":55},55],"ó":[{"d":55}],"p":[{"s":29,"t":29}],"r":[{"e":[{"m":[{"u":[{"r":55}],"i":55}],"n":[{"t":[{"u":[{"r":55}]}]}],"r":55,"t":[{".":84,"i":[{"s":84}]},55]}],"é":[{"m":[{"u":[{"r":55}],"i":55}],"n":[{"t":[{"u":[{"r":55}]}]}],"r":55,"t":[{"i":[{"s":84}]},55]}],"i":55},42],"s":[{"c":89,"t":29}],"t":[{"ú":[{"r":84}],"u":[{"r":84}],".":84,"o":[{"t":[{"e":84}]}],"ó":[{"t":[{"e":84}]}]},55],"u":[{"n":91},90],"ú":[{"n":91},90]},86],"í":[{"b":42,"c":[{"l":55,"u":55}],"e":[{"r":[{"a":[{"t":87},84]},55],"i":31},42],"m":[{"i":10,"u":[{"s":56},10]},9],"n":[{"t":55},42],"r":[{"e":[{"r":55}],"i":55},42],"s":[{"c":89}],"t":[{"u":[{"r":84}]},55]},86],"j":9,"o":[{"b":[{"s":[{"c":92}]}],"d":44,"f":44,"l":44,"p":44,"r":9}],"ó":[{"r":9}],"r":[{"e":[{"g":42}]}],"s":[{"c":76,"p":76,"t":93}],"t":[{"r":[{"a":[{"n":[{"s":94}]}],"á":[{"n":[{"s":94}]}]}]}],"u":[{"a":57,"e":57,"i":57,"l":55,"o":57},42],"ú":[{"l":55},42]}]}],"é":[{"r":[{"a":[{"g":42}],"e":[{"a":[{"m":42,"n":[{"t":42}],"t":42,"s":42}],"g":[{"r":83}],"o":42,"u":42}],"h":42,"i":[{"e":[{"n":[{"s":84}],"r":[{"a":[{"t":87},84]}]}],"i":[{"t":88},42],"m":9}],"j":9,"s":[{"t":93}]}]}],"n":[{"e":[{"u":79}]}],"o":[{"e":[{"t":15}],"s":[{"t":[{"e":[{"a":95,"á":95,"r":95}],"é":[{"r":95}],"h":[{"a":[{"c":96}]},95],"i":[{"l":95}],"í":[{"l":95}]}],"u":[{"í":24}]}],"t":[{"e":42,"é":42,"u":[{"e":9,"i":9,"é":9,"í":9}],"ú":[{"e":9,"i":9}]}]}],"ó":[{"s":[{"t":[{"e":[{"a":95,"r":95}]}],"u":[{"i":24}]}],"t":[{"e":42,"u":[{"i":9}]}]}],"r":[{"æ":[{"a":[{"u":30}],"e":[{"s":21}],"i":[{"a":25,"á":25,"e":[{"c":25}],"o":25,"i":25,"í":25,"u":25,"ú":25}],"s":[{"c":30,"p":30,"t":98}],"t":[{"e":[{"r":99}],"é":[{"r":99}]}]},97],"i":[{"m":[{"i":[{"s":[{"c":101}]},100]}]}],"o":[{"d":[{"e":[{"a":[{"m":[{"b":102}]},78],"o":78,"s":[{"s":103}],"u":[{"n":78}]}],"é":[{"s":[{"s":103}]}],"f":[{"u":104}],"i":[{"b":78,"d":105,"e":[{"n":78,"r":78}],"é":[{"n":78,"r":78}],"g":78,"i":[{".":27}],"m":78,"r":78,"s":27,"t":[{"i":107,"o":107,"r":107},106]}],"í":[{"d":105,"g":78,"r":78,"s":27,"t":[{"i":107,"o":107},106]}]}],"g":[{"n":30}],"i":[{"e":108,"é":108,"i":108,"í":108,"n":21}],"p":[{"t":[{"e":[{"r":109}],"é":[{"r":109}]}]}],"s":[{"c":30,"p":30,"t":[{"a":[{"n":51,"r":51}],"i":[{"t":95}],"r":[{"a":95,"á":95}]},98]}],"u":21}],"ó":[{"d":[{"e":[{"a":78,"o":78}],"i":[{"e":[{"n":78,"r":78}],"g":78,"i":[{".":27}]}]}],"i":[{"i":108}],"s":[{"p":30}]}]}],"s":[{"e":[{"u":[{"d":[{"o":79}]}]}]}]},4],"q":[{"u":[{"a":[{"m":[{"o":[{"b":110}]}]}],"e":[{"m":[{"a":[{"d":[{"m":110}]}],"á":[{"d":[{"m":110}]}]}]}],"i":[{"n":[{"c":[{"u":[{"n":71}]}]}]}],"o":[{"a":[{"d":[{"u":[{"s":[{"q":71}]}],"ú":[{"s":[{"q":71}]}]}]}],"d":[{"l":111}],"n":[{"i":[{"a":[{"m":112}]}]}],"t":[{"a":[{"n":78}],"e":[{"n":[{"n":78}]}],"l":[{"i":27}]}]}],"ó":[{"n":[{"i":[{"a":[{"m":112}]}]}]}]}]}],"r":[{"a":[{"y":58}],"e":[{"d":[{"a":[{"c":44,"d":44,"m":[{"b":44},44],"n":44,"r":[{"g":44},44],"u":57}],"á":[{"c":44,"d":44,"m":[{"b":44},44],"n":44,"r":[{"g":44},44],"u":57}],"e":[{"a":44,"á":44,"g":44,"m":44,"o":44,"u":44,"ú":44}],"é":[{"g":44,"m":44}],"h":44,"i":[{".":44,"b":44,"c":11,"e":[{"n":44,"r":44}],"é":[{"r":44}],"i":44,"í":44,"g":44,"m":[{"i":9},44],"n":44,"r":44,"s":113,"t":113,"v":44}],"í":[{"b":44,"e":[{"r":44}],"i":44,"m":44,"n":44,"r":44,"t":113,"v":44}],"o":[{"l":44,"p":44,"r":[{"d":44,"m":11,"n":44}]}],"ó":[{"l":44,"p":44,"r":[{"d":44,"n":44}]}],"u":[{"l":44,"n":44,"v":44}],"ú":[{"l":44,"n":44,"v":44}]}],"e":[{"x":19}],"i":[{"e":[{"c":11},43],"n":43,"p":[{"s":15}],"t":[{"e":15}]}],"p":[{"a":[{"u":18}]}],"s":[{"c":[{"r":11,"u":11,"ú":11}],"p":[{"u":[{"b":[{"l":[{"i":[{"c":114}]}]}]}],"ú":[{"b":[{"l":[{"i":[{"c":114}]}]}]}],"e":[{"c":11}],"é":[{"c":11}]},11],"t":[{"a":[{"g":54,"u":115},10],"á":10,"e":[{"r":54}],"é":[{"r":54}],"i":[{"b":54,"c":[{"u":83},54],"l":54,"n":54,"p":54,"t":10}],"í":[{"b":54,"n":54,"p":54,"t":10}],"o":54,"r":10}]}]}],"é":[{"d":[{"e":[{"a":44,"o":44,"u":44}],"i":[{"e":[{"n":44}],"i":44,"g":44,"m":44,"t":113}],"o":[{"l":44}]}],"s":[{"p":11,"t":[{"i":[{"t":10}],"r":10}]}]}]},4],"s":[{"a":[{"t":[{"a":[{"g":44}],"á":[{"g":44}],"i":[{"s":116}]}],"u":[{"l":[{".":15}]}]}],"e":[{"m":[{"e":[{"t":[{"i":[{"p":71}]}]}],"u":[{"n":42,"s":42}]}],"s":[{"c":[{"e":[{"n":55}],"u":[{"n":117}]}]}],"u":[{".":36}]}],"i":[{"c":[{"u":[{"t":44}]}],"s":[{"t":[{"e":[{"n":11}]}]}]}],"í":[{"c":[{"u":[{"t":44}]}]}],"m":4,"t":[{"a":[{"g":[{"n":30}]}]}],"u":[{"b":[{"i":[{"a":25,"á":25,"e":25,"é":25,"i":25,"í":25,"u":25,"ú":25}],"s":[{"c":[{"r":51}],"t":51}],"t":[{"e":[{"r":[{"h":118}]}]}],"u":[{"l":[{"c":84,"t":84},55]}]},42],"p":[{"e":[{"r":[{"a":[{"b":[{"a":29,"á":29,"e":29,"i":29,"í":29,"l":109,"o":29,"u":[{"m":119,"n":[{"d":119}]},29],"ú":[{"n":[{"d":119}]},29]},116],"c":116,"d":[{"i":[{"i":120,"í":120}],"s":[{"t":121}]},116],"g":116,"l":[{"l":116}],"m":[{"b":26},29],"n":[{"d":29}],"p":26,"r":[{"g":116}],"s":[{"c":116,"p":122,"t":122}],"t":[{"t":116}]}],"á":[{"b":[{"a":29,"e":29,"i":29,"l":109,"o":29,"u":29},116],"d":116,"g":116,"l":[{"l":116}],"m":[{"b":26}],"n":[{"d":29}]}],"æ":[{".":29},116],"b":[{"i":[{"b":116,"f":116,"l":116}]}],"c":116,"d":116,"e":[{"d":116,"f":[{"f":116}],"g":116,"l":116,"m":[{".":29,"i":[{"n":[{"i":[{".":29}]}]}],"u":29},116],"n":[{"t":29},116],"r":[{".":29,"e":[{".":29}],"i":[{"s":[{".":29}]}]},116],"s":[{".":31},116],"u":116,"v":116,"x":123}],"é":[{"f":[{"f":116}],"l":116,"m":[{"i":[{"n":[{"i":[{".":29}]}]}],"u":29},116],"n":[{"t":29},116],"s":116,"v":116}],"h":71,"i":[{".":65,"l":116,"m":[{"i":[{"n":[{"i":[{".":73}]}]}]},116],"n":[{"i":[{"i":125,"í":125}]},116],"o":73,"ó":73,"r":116,"s":[{".":65}],"u":[{"m":[{"e":126}]},73]},124],"í":[{"l":116}],"o":[{"b":[{"d":127,"r":123,"u":127,"ú":127}],"c":116,"p":116,"r":[{"d":26},29]}],"ó":[{"b":[{"r":123}],"c":116}],"s":[{"c":124,"p":124,"t":128,"u":[{"b":[{"s":[{"t":129}]}]}]}],"u":[{"m":[{".":65}],"s":[{".":29}]},71],"ú":71}]}],"é":[{"r":[{"a":[{"b":[{"u":29},116],"d":[{"s":[{"t":121}]},116],"g":116,"m":29,"r":[{"g":116}],"s":[{"p":122,"t":122}],"t":[{"t":116}]}],"æ":[{".":29},116],"b":[{"i":[{"b":116,"f":116,"l":116}]}],"c":116,"d":116,"e":[{"d":116,"f":[{"f":116}],"g":116,"m":116,"n":116,"r":[{"i":[{"s":[{".":29}]}]},116],"x":123}],"i":[{".":65,"o":73,"s":[{".":65}],"u":73},124],"s":[{"t":128}]}]}],"r":[{"a":[{"s":[{"c":101}]}]}]}],"s":[{"c":[{"r":10}],"p":[{"e":[{"c":11,"n":9}],"é":[{"c":11,"n":9}],"i":[{"c":11,"r":11}],"í":[{"c":11,"r":11}]}]}]}],"ú":[{"b":[{"i":[{"i":25}],"s":[{"t":51}],"u":[{"l":55}]},42],"p":[{"e":[{"r":[{"e":[{"s":[{".":31},116]}]}]}]}],"s":[{"p":[{"i":[{"c":11}]}]}]}]},4],"t":[{"a":[{"m":42}],"e":[{"r":[{"i":[{"u":57}],"p":[{"s":18}],"u":[{"n":44}],"ú":[{"n":44}]}],"t":[{"r":[{"a":[{"e":[{"t":101}],"g":[{"n":101}],"s":[{"t":101}]}]}]}],"u":[{"t":58}]}],"h":[{"e":[{"o":[{"g":[{"n":29}]},19],"s":[{"p":30,"t":30}]}],"i":[{"s":[{"b":30}]}]}],"r":[{"a":[{"i":[{"a":130,"e":130,"i":97}],"n":[{"s":[{"a":[{"b":[{"e":131,"é":131,"i":132,"í":132}],"c":[{"t":100}],"d":132,"u":133},72],"c":29,"e":[{"a":31,"n":29,"u":72,"ú":72},100],"i":[{"e":134,"é":134,"l":65},31],"í":[{"b":31,"l":65},31],"o":133,"u":[{"m":29},133]},18],"u":[{"e":78}]}]}],"á":[{"n":[{"s":[{"e":[{"a":31,"u":72},100],"i":[{"e":134,"i":70},31]},18]}]}],"i":[{"e":[{"n":21}]}]}]},4],"u":[{"n":[{"i":[{"a":[{"n":21}],"á":[{"n":21}],"u":[{"s":[{"c":[{"u":135}]}]}]}]}],"t":[{"e":[{"r":[{"u":[{"i":27}]}]}]}]}],"v":[{"e":[{"l":[{"u":[{"t":44}]}]}]}],"x":4,"z":[{"a":[{"i":[{"e":[{"u":42}]}]}],"e":[{"u":[{"g":[{"m":30}]}]}]},4]}],"a":[{"e":[{".":136}],"i":[{"e":58,"é":58,"i":36,"o":[{"r":[{".":137}]},58],"ó":58,"s":136,"t":[{".":66}],"u":[{"n":[{"t":[{".":36}]}]},58]}],"í":[{"s":136}],"m":[{"u":[{"i":2}]}],"u":[{"m":[{".":66}],"s":[{".":66}]},4],"ú":63,"x":[{".":138}],"y":4},136],"á":[{"i":[{"t":[{".":66}],"u":58}],"u":[{"m":[{".":66}],"s":[{".":66}]},4],"y":4},136],"æ":[{"a":66,"á":66,"e":66,"é":66,"i":66,"í":66,"o":66,"ó":66,"u":66,"ú":66},136],"ǽ":[{"a":66,"e":66,"i":66,"o":66,"u":66},136],"b":[{".":138,"b":138,"d":138,"h":138,"j":138,"l":4,"m":138,"n":138,"p":138,"r":4,"s":[{"t":32},138],"t":138,"u":[{"i":[{"s":[{".":15}]}],"u":15}]},139],"c":[{".":140,"c":138,"d":138,"h":[{".":138,"l":36,"m":141,"o":[{"e":21}],"r":36,"t":141},4],"i":[{"e":[{"n":[{"t":15}],"t":15}]}],"l":62,"m":138,"n":138,"q":138,"r":64,"s":138,"t":138,"u":[{"i":[{"ú":[{"s":79}]}],"l":[{"c":36,"n":36,"p":36}],"m":[{"b":36}],"n":[{"c":36,"t":36}],"r":[{"s":36}]},15],"ú":[{"l":[{"c":36,"n":36,"p":36}]}],"z":138},139],"d":[{".":138,"æ":[{".":4}],"a":[{"m":[{".":4}]}],"c":138,"d":138,"f":138,"g":138,"h":142,"i":[{"t":[{".":62}]}],"l":138,"m":138,"n":138,"p":138,"q":138,"r":4,"s":138,"u":[{"u":15}],"v":140,"w":142},139],"e":[{"a":[{"m":[{".":66}],"n":[{"t":[{".":63}]}],"t":[{".":66}]}],"i":[{"a":58,"á":58,"e":58,"é":58,"i":36,"í":58,"o":36,"s":[{".":66}],"u":[{"s":[{".":36}]},58],"ú":58}],"l":[{"u":[{"e":2}]}],"m":[{".":138}],"s":[{".":138,"r":2}],"t":[{".":138}],"ú":63,"x":[{".":138}],"y":66},136],"é":[{"a":[{"m":[{".":66}],"n":[{"t":[{".":63}]}],"t":[{".":66}]}],"i":[{"a":58,"e":58,"i":36,"o":36,"s":[{".":66}],"u":[{"s":[{".":36}]},58]}]},136],"ë":136,"f":[{".":138,"f":138,"l":4,"n":138,"r":4,"t":138},139],"g":[{".":138,"d":138,"e":[{"n":[{"u":[{"a":11}]}]}],"f":138,"g":138,"l":4,"m":138,"n":[{"e":[{".":62}]},4],"r":4,"s":138},139],"h":[{".":138,"m":66,"p":138,"t":138,"u":[{"c":[{"u":[{"s":113}]}]}]},139],"i":[{"e":[{"l":[{".":136}],"m":[{".":66,"s":[{".":66}]}],"n":[{"s":[{".":66}],"t":[{".":66}]}],"s":[{".":66}],"t":[{".":66}]}],"i":[{".":63,"s":[{".":66}],"t":[{".":63}]}],"m":[{".":143}],"o":[{"i":[{"u":144}],"r":[{".":63}]}],"s":[{".":143}],"t":[{".":143}],"u":[{"d":[{".":66}],"m":[{".":66}],"n":[{"t":[{".":66}]}],"r":[{".":66}],"s":[{".":66,"l":145,"v":145}]}],"ú":[{"s":[{"l":145,"v":145}]}],"x":[{".":143}]},136],"í":[{"a":63,"æ":63,"e":63,"i":63,"o":63,"u":63},136],"ï":136,"j":139,"k":139,"l":[{".":140,"a":[{"n":[{"g":[{"u":[{"i":[{".":146,"t":[{".":146}],"m":[{"u":[{"s":[{".":146}]}]}]}]}]}]}]}],"á":[{"n":[{"g":[{"u":[{"i":[{".":146,"t":[{".":146}],"m":[{"u":[{"s":[{".":146}]}]}]}]}]}]}]}],"b":138,"c":138,"d":138,"f":[{"t":32},138],"g":138,"k":138,"l":138,"m":138,"n":138,"p":138,"q":138,"r":138,"s":138,"t":140,"u":[{"i":[{"a":[{".":11}]}],"u":[{"n":43}],"ú":[{"n":43}]}],"ú":[{"i":[{"a":[{".":11}]}]}],"v":140,"z":140},139],"m":[{".":140,"b":138,"c":138,"e":[{"t":[{"i":[{"p":[{"s":9}]}]}]}],"d":138,"f":138,"l":138,"m":138,"n":138,"p":138,"q":140,"r":138,"s":138,"t":138,"v":147},139],"n":[{".":138,"b":138,"c":[{"o":[{"i":21}]},138],"d":140,"e":[{".":148}],"f":138,"g":[{"u":[{"a":149,"á":19,"æ":19,"ǽ":19,"e":[{"r":[{"a":150,"i":[{"s":151,".":151},150],"o":[{".":150}],"u":[{"n":[{"t":[{".":150}]}]}]}]},149],"é":[{"r":[{"u":[{"n":[{"t":[{".":150}]}]}]}]},149],"i":[{"a":95,"s":[{"s":[{"e":[{".":149}]},88],"t":88}]},79],"í":79,"o":149,"ó":149,"u":149,"ú":149}],"ú":[{"a":150,"æ":150,"e":150,"i":150,"o":150,"u":150}]},138],"h":138,"j":138,"l":138,"m":138,"n":138,"p":138,"q":138,"r":138,"s":[{"f":2,"m":2},138],"t":138,"u":[{"i":[{"s":[{".":15}]}]}],"v":140,"x":152,"z":138},139],"o":[{"i":[{"a":58,"e":58,"o":58,"u":58}],"u":[{"m":[{".":66}]}],"x":[{".":138}],"y":66},136],"ó":[{"i":[{"a":58,"e":58,"o":58,"u":58}]},136],"œ":136,"u":[{"s":[{"q":[{"u":[{"e":2}]}]}],"é":66,"e":[{".":66,"m":[{".":66}],"n":66,"s":[{".":66}],"t":[{".":66}]}],"i":[{".":138,"a":165,"e":165,"é":165,"o":165,"s":[{".":66}],"t":[{".":66}],"u":[{"s":[{".":36}]},58]}],"o":[{".":63,"u":[{"s":15},15],"ú":[{"s":15}]}],"u":[{"m":[{".":63}],"s":[{".":63}]}],"x":[{".":138}]},136],"p":[{".":138,"h":[{".":138,"a":[{"e":[{"l":21}]}],"p":[{"h":15},138],"t":138},4],"l":4,"n":[{"e":[{"u":153}]},138],"o":[{"t":[{"e":[{"n":42,"r":42,"s":42}],"é":[{"n":42,"r":42,"s":42}]}]}],"p":140,"r":4,"s":[{"i":[{"c":153}]},138],"t":[{"r":153},154],"z":138},139],"q":[{"u":[{"i":[{"a":156,"á":156,"æ":156,"ǽ":156,"e":156,"é":156,"o":156,"ó":156,"u":157,"ú":157}],"o":[{".":137}],"u":[{"m":[{".":137}]},137]},155]}],"r":[{".":140,"æ":[{".":4}],"b":138,"c":[{"h":[{"m":4}]},138],"d":138,"f":138,"g":138,"h":4,"i":[{"e":[{".":15}],"i":[{"t":[{".":62}]}]}],"l":138,"m":138,"n":138,"p":138,"q":138,"r":154,"s":138,"t":138,"u":[{"i":[{"s":[{".":15}],"t":[{".":15}]}],"s":[{".":62}]}],"v":140,"x":158,"z":138},139],"s":[{".":140,"b":138,"c":[{"æ":153,"ǽ":153,"e":153,"é":153,"i":153,"í":153,"œ":153,"y":153,"ý":153},138],"d":[{"e":[{"m":[{".":142}]}]},138],"f":138,"g":138,"l":138,"m":138,"n":[{"e":[{".":138}]},138],"p":138,"q":[{"u":[{"e":[{".":142}]}]},138],"r":138,"s":[{"e":[{".":66}]},140],"t":[{".":138,"k":159,"l":2,"n":142,"p":160,"q":2,"r":[{"a":[{".":161}],"i":[{".":161,"s":[{".":161}]}],"o":[{".":161,"r":[{"u":[{"m":[{".":161}]}]}]}],"ó":[{"r":[{"u":[{"m":[{".":161}]}]}]}],"u":[{"m":[{".":161}]}]}],"s":2,"t":2},140],"u":[{"b":[{"s":[{"t":[{"a":[{"n":162}]}]}]}],"i":[{"s":[{".":15}]}]}],"v":138},139],"t":[{".":140,"b":138,"c":138,"d":138,"f":138,"g":138,"h":[{".":138,"m":36,"o":[{"s":[{"t":108}]}],"ó":[{"s":[{"t":108}]}],"p":164,"s":164},163],"i":[{"n":[{"u":[{"i":11}]}],"o":[{".":43}]}],"í":[{"p":[{"s":158}]}],"l":4,"m":138,"n":138,"p":138,"q":138,"r":[{"u":[{"u":[{"m":[{".":21}],"s":[{".":21}]}]}]},62],"s":138,"t":138},139],"ú":[{"a":63,"e":63,"i":63,"o":63,"u":63},136],"ü":136,"v":139,"x":[{".":138,"i":[{"t":[{".":4}]}],"q":138,"t":138,"u":[{"i":[{"t":[{".":2}]}],"m":[{".":4}],"s":[{".":4}]}],"ú":[{"i":[{"t":[{".":2}]}]}],"y":[{"s":[{"t":9}]},4]},139],"y":[{"a":66,"e":66,"i":66,"o":66,"u":66,"æ":66,"y":66,".":138,"s":[{".":138}],"x":[{".":138}]},136],"ý":136,"z":[{".":138,"z":138},139],"́":166}',[]]}}]); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/adapter.css b/public/tools/cloud_sheets/vendor/univer/adapter.css new file mode 100644 index 0000000..bc5e2d1 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/adapter.css @@ -0,0 +1,8575 @@ +/* ../../../../../node_modules/@univerjs/presets/lib/styles/preset-sheets-core.css */ +*, +:before, +:after, +::backdrop { + --univer-tw-border-spacing-x: 0; + --univer-tw-border-spacing-y: 0; + --univer-tw-translate-x: 0; + --univer-tw-translate-y: 0; + --univer-tw-rotate: 0; + --univer-tw-skew-x: 0; + --univer-tw-skew-y: 0; + --univer-tw-scale-x: 1; + --univer-tw-scale-y: 1; + --univer-tw-pan-x: ; + --univer-tw-pan-y: ; + --univer-tw-pinch-zoom: ; + --univer-tw-scroll-snap-strictness: proximity; + --univer-tw-gradient-from-position: ; + --univer-tw-gradient-via-position: ; + --univer-tw-gradient-to-position: ; + --univer-tw-ordinal: ; + --univer-tw-slashed-zero: ; + --univer-tw-numeric-figure: ; + --univer-tw-numeric-spacing: ; + --univer-tw-numeric-fraction: ; + --univer-tw-ring-inset: ; + --univer-tw-ring-offset-width: 0px; + --univer-tw-ring-offset-color: #fff; + --univer-tw-ring-color: #93c5fd80; + --univer-tw-ring-offset-shadow: 0 0 #0000; + --univer-tw-ring-shadow: 0 0 #0000; + --univer-tw-shadow: 0 0 #0000; + --univer-tw-shadow-colored: 0 0 #0000; + --univer-tw-blur: ; + --univer-tw-brightness: ; + --univer-tw-contrast: ; + --univer-tw-grayscale: ; + --univer-tw-hue-rotate: ; + --univer-tw-invert: ; + --univer-tw-saturate: ; + --univer-tw-sepia: ; + --univer-tw-drop-shadow: ; + --univer-tw-backdrop-blur: ; + --univer-tw-backdrop-brightness: ; + --univer-tw-backdrop-contrast: ; + --univer-tw-backdrop-grayscale: ; + --univer-tw-backdrop-hue-rotate: ; + --univer-tw-backdrop-invert: ; + --univer-tw-backdrop-opacity: ; + --univer-tw-backdrop-saturate: ; + --univer-tw-backdrop-sepia: ; + --univer-tw-contain-size: ; + --univer-tw-contain-layout: ; + --univer-tw-contain-paint: ; + --univer-tw-contain-style: ; +} +* { + scrollbar-color: initial; + scrollbar-width: initial; +} +.univer-sr-only { + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + position: absolute; + overflow: hidden; +} +.univer-inset-x-0 { + left: 0; + right: 0; +} +.univer-bottom-0\.5 { + bottom: .125rem; +} +.univer-bottom-6 { + bottom: 1.5rem; +} +.univer-left-0\.5 { + left: .125rem; +} +.univer-left-2 { + left: .5rem; +} +.univer-left-\[-16px\] { + left: -16px; +} +.univer-right-4 { + right: 1rem; +} +.univer-right-px { + right: 1px; +} +.univer-top-px { + top: 1px; +} +.univer-z-0 { + z-index: 0; +} +.univer-z-\[1081\] { + z-index: 1081; +} +.-univer-mx-1 { + margin-left: -.25rem; + margin-right: -.25rem; +} +.univer-my-0 { + margin-top: 0; + margin-bottom: 0; +} +.univer-ml-auto { + margin-left: auto; +} +.univer-inline-block { + display: inline-block; +} +.\!univer-hidden { + display: none !important; +} +.univer-size-2 { + width: .5rem; + height: .5rem; +} +.univer-size-2\.5 { + width: .625rem; + height: .625rem; +} +.univer-size-5 { + width: 1.25rem; + height: 1.25rem; +} +.univer-h-1\/2 { + height: 50%; +} +.univer-h-12 { + height: 3rem; +} +.univer-h-2 { + height: .5rem; +} +.univer-h-32 { + height: 8rem; +} +.univer-h-48 { + height: 12rem; +} +.univer-h-\[150px\] { + height: 150px; +} +.univer-h-\[calc\(100\%-2px\)\] { + height: calc(100% - 2px); +} +.univer-max-h-0 { + max-height: 0; +} +.univer-max-h-80 { + max-height: 20rem; +} +.univer-max-h-\[--radix-popper-available-height\] { + max-height: var(--radix-popper-available-height); +} +.univer-max-h-\[40vh\] { + max-height: 40vh; +} +.univer-max-h-full { + max-height: 100%; +} +.univer-max-h-screen { + max-height: 100vh; +} +.univer-min-h-3\.5 { + min-height: .875rem; +} +.univer-min-h-\[520px\] { + min-height: 520px; +} +.\!univer-w-fit { + width: fit-content !important; +} +.univer-w-2\.5 { + width: .625rem; +} +.univer-w-64 { + width: 16rem; +} +.univer-w-72 { + width: 18rem; +} +.univer-w-80 { + width: 20rem; +} +.univer-w-\[--radix-popper-anchor-width\] { + width: var(--radix-popper-anchor-width); +} +.univer-w-\[calc\(100\%-16px\)\] { + width: calc(100% - 16px); +} +.univer-min-w-36 { + min-width: 9rem; +} +.univer-min-w-\[320px\] { + min-width: 320px; +} +.univer-max-w-2xl { + max-width: 42rem; +} +.univer-max-w-\[520px\] { + max-width: 520px; +} +.univer-max-w-\[60vw\] { + max-width: 60vw; +} +.univer-max-w-sm { + max-width: 24rem; +} +.univer-max-w-xs { + max-width: 20rem; +} +.univer-shrink { + flex-shrink: 1; +} +.univer-shrink-0 { + flex-shrink: 0; +} +.univer-origin-\[--radix-hover-card-content-transform-origin\] { + transform-origin: var(--radix-hover-card-content-transform-origin); +} +.-univer-translate-y-1\/2, +.univer--translate-y-1\/2 { + --univer-tw-translate-y: -50%; + transform: translate(var(--univer-tw-translate-x), -50%) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.univer-translate-x-3 { + --univer-tw-translate-x: .75rem; + transform: translate(.75rem, var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.-univer-rotate-90 { + --univer-tw-rotate: -90deg; + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(-90deg) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.univer-rotate-0 { + --univer-tw-rotate: 0deg; + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(0) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.univer-rotate-45 { + --univer-tw-rotate: 45deg; + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(45deg) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.univer-rotate-\[-90deg\] { + --univer-tw-rotate: -90deg; + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(-90deg) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.\!univer-animate-none { + animation: none !important; +} +.univer-cursor-crosshair { + cursor: crosshair; +} +.univer-cursor-grabbing { + cursor: grabbing; +} +.univer-resize { + resize: both; +} +.univer-grid-flow-row { + grid-auto-flow: row; +} +.univer-grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); +} +.univer-grid-cols-7 { + grid-template-columns: repeat(7, minmax(0, 1fr)); +} +.univer-flex-col-reverse { + flex-direction: column-reverse; +} +.univer-content-center { + align-content: center; +} +.univer-space-y-1\.5 > :not([hidden]) ~ :not([hidden]) { + --univer-tw-space-y-reverse: 0; + margin-top: calc(.375rem * (1 - var(--univer-tw-space-y-reverse))); + margin-top: .375rem; + margin-top: calc(.375rem * calc(1 - var(--univer-tw-space-y-reverse))); + margin-bottom: 0; + margin-bottom: calc(.375rem * var(--univer-tw-space-y-reverse)); +} +.univer-divide-x > :not([hidden]) ~ :not([hidden]) { + --univer-tw-divide-x-reverse: 0; + border-right-width: 0; + border-right-width: calc(1px * var(--univer-tw-divide-x-reverse)); + border-left-width: calc(1px * (1 - var(--univer-tw-divide-x-reverse))); + border-left-width: 1px; + border-left-width: calc(1px * calc(1 - var(--univer-tw-divide-x-reverse))); +} +.univer-divide-y-0 > :not([hidden]) ~ :not([hidden]) { + --univer-tw-divide-y-reverse: 0; + border-top-width: calc(0px * (1 - var(--univer-tw-divide-y-reverse))); + border-top-width: 0; + border-top-width: calc(0px * calc(1 - var(--univer-tw-divide-y-reverse))); + border-bottom-width: 0; + border-bottom-width: calc(0px * var(--univer-tw-divide-y-reverse)); +} +.univer-text-ellipsis { + text-overflow: ellipsis; +} +.univer-text-balance { + text-wrap: balance; +} +.\!univer-rounded-b-none { + border-bottom-right-radius: 0 !important; + border-bottom-left-radius: 0 !important; +} +.\!univer-rounded-l-none { + border-top-left-radius: 0 !important; + border-bottom-left-radius: 0 !important; +} +.\!univer-rounded-r-none { + border-top-right-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} +.\!univer-rounded-t-none { + border-top-left-radius: 0 !important; + border-top-right-radius: 0 !important; +} +.univer-rounded-r-md { + border-top-right-radius: .375rem; + border-bottom-right-radius: .375rem; +} +.\!univer-border-l-0 { + border-left-width: 0 !important; +} +.\!univer-border-t-0 { + border-top-width: 0 !important; +} +.univer-border-b-0 { + border-bottom-width: 0; +} +.univer-border-l { + border-left-width: 1px; +} +.univer-border-l-0 { + border-left-width: 0; +} +.univer-border-r { + border-right-width: 1px; +} +.univer-border-t { + border-top-width: 1px; +} +.univer-border-t-0 { + border-top-width: 0; +} +.univer-border-dashed { + border-style: dashed; +} +.\!univer-border-gray-200 { + border-color: var(--univer-gray-200) !important; +} +.univer-border-gray-300 { + border-color: var(--univer-gray-300); +} +.univer-border-primary-200 { + border-color: var(--univer-primary-200); +} +.univer-border-primary-300 { + border-color: var(--univer-primary-300); +} +.univer-border-red-500 { + border-color: var(--univer-red-500); +} +.univer-border-white { + border-color: var(--univer-white); +} +.\!univer-bg-primary-600 { + background-color: var(--univer-primary-600) !important; +} +.univer-bg-\[rgba\(0\,0\,0\,0\.8\)\] { + background-color: #000c; +} +.univer-bg-gray-800 { + background-color: var(--univer-gray-800); +} +.univer-bg-gray-900 { + background-color: var(--univer-gray-900); +} +.univer-bg-primary-500 { + background-color: var(--univer-primary-500); +} +.univer-bg-red-500 { + background-color: var(--univer-red-500); +} +.univer-bg-sky-100\/70 { + background-color: #e0f2feb3; +} +.univer-bg-slate-100\/80 { + background-color: #f1f5f9cc; +} +.univer-bg-slate-900\/90 { + background-color: #0f172ae6; +} +.univer-bg-gradient-to-br { + background-image: linear-gradient(to bottom right, var(--univer-tw-gradient-stops)); +} +.univer-from-slate-100 { + --univer-tw-gradient-from: #f1f5f9 var(--univer-tw-gradient-from-position); + --univer-tw-gradient-to: #f1f5f900 var(--univer-tw-gradient-to-position); + --univer-tw-gradient-stops: var(--univer-tw-gradient-from), var(--univer-tw-gradient-to); +} +.univer-via-cyan-50 { + --univer-tw-gradient-to: #ecfeff00 var(--univer-tw-gradient-to-position); + --univer-tw-gradient-stops: + var(--univer-tw-gradient-from), + #ecfeff var(--univer-tw-gradient-via-position), + var(--univer-tw-gradient-to); +} +.univer-to-blue-100 { + --univer-tw-gradient-to: var(--univer-blue-100) var(--univer-tw-gradient-to-position); +} +.univer-fill-current { + fill: currentColor; +} +.\!univer-p-2\.5 { + padding: .625rem !important; +} +.univer-p-6 { + padding: 1.5rem; +} +.\!univer-pl-4 { + padding-left: 1rem !important; +} +.univer-pl-8 { + padding-left: 2rem; +} +.univer-pr-32 { + padding-right: 8rem; +} +.univer-pr-8 { + padding-right: 2rem; +} +.univer-pt-4 { + padding-top: 1rem; +} +.univer-align-middle { + vertical-align: middle; +} +.univer-font-mono { + font-family: + ui-monospace, + SFMono-Regular, + Menlo, + Monaco, + Consolas, + Liberation Mono, + Courier New, + monospace; +} +.univer-text-\[13px\] { + font-size: 13px; +} +.univer-text-\[8px\] { + font-size: 8px; +} +.univer-text-lg { + font-size: 1.125rem; + line-height: 1.75rem; +} +.univer-text-sm\/8 { + font-size: .875rem; + line-height: 2rem; +} +.univer-text-xs\/6 { + font-size: .75rem; + line-height: 1.5rem; +} +.univer-leading-9 { + line-height: 2.25rem; +} +.univer-leading-normal { + line-height: 1.5; +} +.univer-tracking-wide { + letter-spacing: .025em; +} +.univer-tracking-widest { + letter-spacing: .1em; +} +.\!univer-text-primary-500 { + color: var(--univer-primary-500) !important; +} +.univer-text-amber-500 { + --univer-tw-text-opacity: 1; + color: rgba(245, 158, 11, var(--univer-tw-text-opacity, 1)); +} +.univer-text-cyan-700 { + --univer-tw-text-opacity: 1; + color: rgba(14, 116, 144, var(--univer-tw-text-opacity, 1)); +} +.univer-text-green-500 { + color: var(--univer-green-500); +} +.univer-text-sky-500 { + --univer-tw-text-opacity: 1; + color: rgba(14, 165, 233, var(--univer-tw-text-opacity, 1)); +} +.univer-text-sky-700 { + --univer-tw-text-opacity: 1; + color: rgba(3, 105, 161, var(--univer-tw-text-opacity, 1)); +} +.univer-text-sky-900 { + --univer-tw-text-opacity: 1; + color: rgba(12, 74, 110, var(--univer-tw-text-opacity, 1)); +} +.univer-text-slate-500 { + --univer-tw-text-opacity: 1; + color: rgba(100, 116, 139, var(--univer-tw-text-opacity, 1)); +} +.univer-text-slate-600 { + --univer-tw-text-opacity: 1; + color: rgba(71, 85, 105, var(--univer-tw-text-opacity, 1)); +} +.univer-text-slate-700 { + --univer-tw-text-opacity: 1; + color: rgba(51, 65, 85, var(--univer-tw-text-opacity, 1)); +} +.univer-text-slate-800 { + --univer-tw-text-opacity: 1; + color: rgba(30, 41, 59, var(--univer-tw-text-opacity, 1)); +} +.univer-text-violet-500 { + --univer-tw-text-opacity: 1; + color: rgba(139, 92, 246, var(--univer-tw-text-opacity, 1)); +} +.univer-underline-offset-4 { + text-underline-offset: 4px; +} +.univer-opacity-50 { + opacity: .5; +} +.univer-opacity-80 { + opacity: .8; +} +.univer-shadow-\[0_30px_60px_-35px_rgba\(15\,23\,42\,0\.55\)\] { + --univer-tw-shadow: 0 30px 60px -35px #0f172a8c; + --univer-tw-shadow-colored: 0 30px 60px -35px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 30px 60px -35px #0f172a8c; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-shadow-inner { + --univer-tw-shadow: inset 0 2px 4px 0 #0000000d; + --univer-tw-shadow-colored: inset 0 2px 4px 0 var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + inset 0 2px 4px #0000000d; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-ring-2 { + --univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color); + --univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(2px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color); + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + 0 0 #0000; + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + var(--univer-tw-shadow, 0 0 #0000); +} +.\!univer-ring-primary-900 { + --univer-tw-ring-color: var(--univer-primary-900) !important; +} +.univer-ring-primary-50 { + --univer-tw-ring-color: var(--univer-primary-50); +} +.univer-ring-white { + --univer-tw-ring-color: var(--univer-white); +} +.univer-ring-offset-2 { + --univer-tw-ring-offset-width: 2px; +} +.\!univer-ring-offset-gray-600 { + --univer-tw-ring-offset-color: var(--univer-gray-600) !important; +} +.univer-ring-offset-white { + --univer-tw-ring-offset-color: var(--univer-white); +} +.univer-drop-shadow-sm { + --univer-tw-drop-shadow: drop-shadow(0 1px 1px #0000000d); + filter: var(--univer-tw-blur) var(--univer-tw-brightness) var(--univer-tw-contrast) var(--univer-tw-grayscale) var(--univer-tw-hue-rotate) var(--univer-tw-invert) var(--univer-tw-saturate) var(--univer-tw-sepia) var(--univer-tw-drop-shadow); +} +.univer-transition-\[color\,box-shadow\] { + transition-property: color, box-shadow; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-transition-\[max-height\,opacity\] { + transition-property: max-height, opacity; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-transition-opacity { + transition-property: opacity; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-transition-shadow { + transition-property: box-shadow; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-transition-transform { + transition-property: transform; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-duration-150 { + transition-duration: .15s; +} +.univer-duration-500 { + transition-duration: .5s; +} +.univer-duration-75 { + transition-duration: 75ms; +} +.univer-ease-in-out { + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-ease-out { + transition-timing-function: cubic-bezier(0, 0, .2, 1); +} +.univer-will-change-transform { + will-change: transform; +} +.univer-scrollbar-thin::-webkit-scrollbar-track { + background-color: var(--scrollbar-track); + border-radius: var(--scrollbar-track-radius); +} +.univer-scrollbar-thin::-webkit-scrollbar-track:hover { + background-color: var(--scrollbar-track-hover, var(--scrollbar-track)); +} +.univer-scrollbar-thin::-webkit-scrollbar-track:active { + background-color: var(--scrollbar-track-active, var(--scrollbar-track-hover, var(--scrollbar-track))); +} +.univer-scrollbar-thin::-webkit-scrollbar-thumb { + background-color: var(--scrollbar-thumb); + border-radius: var(--scrollbar-thumb-radius); +} +.univer-scrollbar-thin::-webkit-scrollbar-thumb:hover { + background-color: var(--scrollbar-thumb-hover, var(--scrollbar-thumb)); +} +.univer-scrollbar-thin::-webkit-scrollbar-thumb:active { + background-color: var(--scrollbar-thumb-active, var(--scrollbar-thumb-hover, var(--scrollbar-thumb))); +} +.univer-scrollbar-thin::-webkit-scrollbar-corner { + background-color: var(--scrollbar-corner); + border-radius: var(--scrollbar-corner-radius); +} +.univer-scrollbar-thin::-webkit-scrollbar-corner:hover { + background-color: var(--scrollbar-corner-hover, var(--scrollbar-corner)); +} +.univer-scrollbar-thin::-webkit-scrollbar-corner:active { + background-color: var(--scrollbar-corner-active, var(--scrollbar-corner-hover, var(--scrollbar-corner))); +} +.univer-scrollbar-thin { + scrollbar-width: thin; + scrollbar-color: initial initial; + scrollbar-color: var(--scrollbar-thumb, initial) var(--scrollbar-track, initial); +} +.univer-scrollbar-thin::-webkit-scrollbar { + width: 8px; + height: 8px; + display: block; +} +.univer-scrollbar-track-gray-50 { + --scrollbar-track: var(--univer-gray-50) !important; +} +.univer-scrollbar-thumb-gray-300 { + --scrollbar-thumb: var(--univer-gray-300) !important; +} +.univer-animate-out { + --univer-tw-exit-opacity: initial; + --univer-tw-exit-scale: initial; + --univer-tw-exit-rotate: initial; + --univer-tw-exit-translate-x: initial; + --univer-tw-exit-translate-y: initial; + animation-name: exit; + animation-duration: .15s; +} +.univer-fade-in, +.univer-fade-in-0 { + --univer-tw-enter-opacity: 0; +} +.univer-fade-out { + --univer-tw-exit-opacity: 0; +} +.univer-zoom-in-95 { + --univer-tw-enter-scale: .95; +} +.univer-duration-150 { + animation-duration: .15s; +} +.univer-duration-200 { + animation-duration: .2s; +} +.univer-duration-300 { + animation-duration: .3s; +} +.univer-duration-500 { + animation-duration: .5s; +} +.univer-duration-75 { + animation-duration: 75ms; +} +.univer-ease-in-out { + animation-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-ease-out { + animation-timing-function: cubic-bezier(0, 0, .2, 1); +} +.placeholder\:univer-text-gray-200::placeholder { + color: var(--univer-gray-200); +} +.placeholder\:univer-text-gray-400::placeholder { + color: var(--univer-gray-400); +} +.before\:univer-absolute:before { + content: var(--univer-tw-content); + position: absolute; +} +.before\:univer-top-1\/2:before { + content: var(--univer-tw-content); + top: 50%; +} +.before\:univer-block:before { + content: var(--univer-tw-content); + display: block; +} +.before\:univer-h-px:before { + content: var(--univer-tw-content); + height: 1px; +} +.before\:univer-w-full:before { + content: var(--univer-tw-content); + width: 100%; +} +.before\:-univer-translate-y-1\/2:before { + content: var(--univer-tw-content); + --univer-tw-translate-y: -50%; + transform: translate(var(--univer-tw-translate-x), -50%) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.before\:univer-bg-gray-200:before { + content: var(--univer-tw-content); + background-color: var(--univer-gray-200); +} +.before\:univer-content-\[\"\"\]:before { + --univer-tw-content: ""; + content: ""; + content: var(--univer-tw-content); +} +.data-\[disabled\]\:univer-pointer-events-none[data-disabled] { + pointer-events: none; +} +.data-\[orientation\=horizontal\]\:univer-h-px[data-orientation=horizontal] { + height: 1px; +} +.data-\[orientation\=vertical\]\:univer-h-full[data-orientation=vertical] { + height: 100%; +} +.data-\[orientation\=horizontal\]\:univer-w-full[data-orientation=horizontal] { + width: 100%; +} +.data-\[orientation\=vertical\]\:univer-w-px[data-orientation=vertical] { + width: 1px; +} +.data-\[state\=open\]\:univer-bg-gray-100[data-state=open] { + background-color: var(--univer-gray-100); +} +.data-\[disabled\]\:univer-opacity-50[data-disabled] { + opacity: .5; +} +.data-\[state\=open\]\:univer-animate-in[data-state=open] { + --univer-tw-enter-opacity: initial; + --univer-tw-enter-scale: initial; + --univer-tw-enter-rotate: initial; + --univer-tw-enter-translate-x: initial; + --univer-tw-enter-translate-y: initial; + animation-name: enter; + animation-duration: .15s; +} +.data-\[state\=closed\]\:univer-animate-out[data-state=closed] { + --univer-tw-exit-opacity: initial; + --univer-tw-exit-scale: initial; + --univer-tw-exit-rotate: initial; + --univer-tw-exit-translate-x: initial; + --univer-tw-exit-translate-y: initial; + animation-name: exit; + animation-duration: .15s; +} +.data-\[state\=closed\]\:univer-fade-out-0[data-state=closed] { + --univer-tw-exit-opacity: 0; +} +.data-\[state\=open\]\:univer-fade-in-0[data-state=open] { + --univer-tw-enter-opacity: 0; +} +.data-\[state\=closed\]\:univer-zoom-out-95[data-state=closed] { + --univer-tw-exit-scale: .95; +} +.data-\[state\=open\]\:univer-zoom-in-95[data-state=open] { + --univer-tw-enter-scale: .95; +} +.data-\[side\=bottom\]\:univer-slide-in-from-top-2[data-side=bottom] { + --univer-tw-enter-translate-y: -.5rem; +} +.data-\[side\=left\]\:univer-slide-in-from-right-2[data-side=left] { + --univer-tw-enter-translate-x: .5rem; +} +.data-\[side\=right\]\:univer-slide-in-from-left-2[data-side=right] { + --univer-tw-enter-translate-x: -.5rem; +} +.data-\[side\=top\]\:univer-slide-in-from-bottom-2[data-side=top] { + --univer-tw-enter-translate-y: .5rem; +} +.data-\[state\=closed\]\:univer-slide-out-to-left-1\/2[data-state=closed] { + --univer-tw-exit-translate-x: -50%; +} +.data-\[state\=closed\]\:univer-slide-out-to-top-\[48\%\][data-state=closed] { + --univer-tw-exit-translate-y: -48%; +} +.data-\[state\=open\]\:univer-slide-in-from-left-1\/2[data-state=open] { + --univer-tw-enter-translate-x: -50%; +} +.data-\[state\=open\]\:univer-slide-in-from-top-\[48\%\][data-state=open] { + --univer-tw-enter-translate-y: -48%; +} +.hover\:univer-border-red-400:hover { + border-color: var(--univer-red-400); +} +.hover\:univer-border-transparent:hover { + border-color: #0000; +} +.hover\:univer-bg-primary-500:hover { + background-color: var(--univer-primary-500); +} +.hover\:univer-bg-red-400:hover { + background-color: var(--univer-red-400); +} +.hover\:univer-text-gray-500:hover { + color: var(--univer-gray-500); +} +.hover\:univer-text-gray-900:hover { + color: var(--univer-gray-900); +} +.hover\:univer-text-primary-500:hover { + color: var(--univer-primary-500); +} +.hover\:univer-text-white:hover { + color: var(--univer-white); +} +.hover\:univer-underline:hover { + text-decoration-line: underline; +} +.hover\:univer-opacity-100:hover { + opacity: 1; +} +.hover\:univer-opacity-70:hover { + opacity: .7; +} +.hover\:univer-opacity-80:hover { + opacity: .8; +} +.focus\:univer-border-primary-600:focus { + border-color: var(--univer-primary-600); +} +.focus\:univer-bg-gray-100:focus { + background-color: var(--univer-gray-100); +} +.focus\:univer-ring-2:focus { + --univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color); + --univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(2px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color); + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + 0 0 #0000; + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + var(--univer-tw-shadow, 0 0 #0000); +} +.focus\:univer-ring-primary-50:focus { + --univer-tw-ring-color: var(--univer-primary-50); +} +.active\:univer-border-red-600:active { + border-color: var(--univer-red-600); +} +.active\:univer-bg-primary-700:active { + background-color: var(--univer-primary-700); +} +.active\:univer-bg-red-600:active { + background-color: var(--univer-red-600); +} +.active\:univer-text-primary-700:active { + color: var(--univer-primary-700); +} +.disabled\:univer-pointer-events-none:disabled { + pointer-events: none; +} +.disabled\:univer-opacity-50:disabled { + opacity: .5; +} +@media (min-width: 640px) { + .sm\:\!univer-flex-row { + flex-direction: row !important; + } + .sm\:\!univer-justify-end { + justify-content: flex-end !important; + } + .sm\:\!univer-space-x-2 > :not([hidden]) ~ :not([hidden]) { + --univer-tw-space-x-reverse: 0 !important; + margin-right: 0 !important; + margin-right: calc(.5rem * var(--univer-tw-space-x-reverse)) !important; + margin-left: calc(.5rem * (1 - var(--univer-tw-space-x-reverse))) !important; + margin-left: .5rem !important; + margin-left: calc(.5rem * calc(1 - var(--univer-tw-space-x-reverse))) !important; + } + .sm\:\!univer-rounded-lg { + border-radius: .5rem !important; + } + .sm\:\!univer-text-left { + text-align: left !important; + } +} +@media (min-width: 768px) { + .md\:univer-grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } +} +.dark\:\!univer-border-gray-500:where(.univer-dark, .univer-dark *) { + border-color: var(--univer-gray-500) !important; +} +.dark\:\!univer-border-primary-700:where(.univer-dark, .univer-dark *) { + border-color: var(--univer-primary-700) !important; +} +.dark\:\!univer-bg-gray-100:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-100) !important; +} +.dark\:\!univer-bg-primary-600:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-primary-600) !important; +} +.dark\:\!univer-text-gray-900:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-900) !important; +} +.dark\:\!univer-text-primary-500:where(.univer-dark, .univer-dark *) { + color: var(--univer-primary-500) !important; +} +.dark\:\!univer-text-sky-400:where(.univer-dark, .univer-dark *) { + --univer-tw-text-opacity: 1 !important; + color: rgba(56, 189, 248, var(--univer-tw-text-opacity, 1)) !important; +} +.dark\:\!univer-ring-primary-600:where(.univer-dark, .univer-dark *) { + --univer-tw-ring-color: var(--univer-primary-600) !important; +} +.dark\:\!univer-ring-primary-900:where(.univer-dark, .univer-dark *) { + --univer-tw-ring-color: var(--univer-primary-900) !important; +} +.dark\:\!univer-ring-offset-gray-600:where(.univer-dark, .univer-dark *) { + --univer-tw-ring-offset-color: var(--univer-gray-600) !important; +} +.dark\:\!univer-scrollbar-track-gray-900:where(.univer-dark, .univer-dark *) { + --scrollbar-track: var(--univer-gray-900) !important; +} +.dark\:\!univer-scrollbar-thumb-gray-700:where(.univer-dark, .univer-dark *) { + --scrollbar-thumb: var(--univer-gray-700) !important; +} +.dark\:before\:\!univer-bg-gray-600:where(.univer-dark, .univer-dark *):before { + content: var(--univer-tw-content); + background-color: var(--univer-gray-600) !important; +} +.dark\:data-\[state\=open\]\:\!univer-bg-gray-600[data-state=open]:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-600) !important; +} +.dark\:hover\:\!univer-text-white:hover:where(.univer-dark, .univer-dark *) { + color: var(--univer-white) !important; +} +.dark\:focus\:\!univer-border-primary-500:focus:where(.univer-dark, .univer-dark *) { + border-color: var(--univer-primary-500) !important; +} +.dark\:focus\:\!univer-bg-gray-600:focus:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-600) !important; +} +.dark\:focus\:\!univer-ring-primary-900:focus:where(.univer-dark, .univer-dark *) { + --univer-tw-ring-color: var(--univer-primary-900) !important; +} +.dark\:focus-visible\:\!univer-border-gray-600:focus-visible:where(.univer-dark, .univer-dark *) { + border-color: var(--univer-gray-600) !important; +} +.dark\:active\:\!univer-bg-gray-700:active:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-700) !important; +} +.\[\&\:\:-webkit-calendar-picker-indicator\]\:univer-hidden::-webkit-calendar-picker-indicator { + display: none; +} +.\[\&\:\:-webkit-calendar-picker-indicator\]\:univer-appearance-none::-webkit-calendar-picker-indicator { + -webkit-appearance: none; + appearance: none; +} +.\[\&\>input\]\:univer-w-11 > input { + width: 2.75rem; +} +.\[\&\>input\]\:univer-border-gray-200 > input { + border-color: var(--univer-gray-200); +} +.\[\&\>input\]\:focus\:univer-border-primary-500:focus > input { + border-color: var(--univer-primary-500); +} +.dark\:\[\&\>input\]\:\!univer-border-gray-600 > input:where(.univer-dark, .univer-dark *) { + border-color: var(--univer-gray-600) !important; +} +.dark\:\[\&\>input\]\:\!univer-text-white > input:where(.univer-dark, .univer-dark *) { + color: var(--univer-white) !important; +} +.\[\&\>svg\]\:univer-block > svg { + display: block; +} +.\[\&\>svg\]\:univer-size-4 > svg { + width: 1rem; + height: 1rem; +} +.\[\&\>ul\:not\(\:last-child\)\]\:univer-border-0 > ul:not(:last-child) { + border-width: 0; +} +.\[\&\>ul\:not\(\:last-child\)\]\:univer-border-r > ul:not(:last-child) { + border-right-width: 1px; +} +.\[\&\>ul\:not\(\:last-child\)\]\:univer-border-solid > ul:not(:last-child) { + border-style: solid; +} +.\[\&\>ul\:not\(\:last-child\)\]\:univer-border-r-gray-200 > ul:not(:last-child) { + border-right-color: var(--univer-gray-200); +} +.\[\&_\[data-description\]\]\:univer-text-sm [data-description] { + font-size: .875rem; + line-height: 1.25rem; +} +.\[\&_\[data-description\]\]\:univer-text-gray-200 [data-description] { + color: var(--univer-gray-200); +} +.\[\&_\[data-description\]\]\:univer-text-gray-600 [data-description] { + color: var(--univer-gray-600); +} +.\[\&_\[data-icon\]\>svg\]\:univer-relative [data-icon] > svg { + position: relative; +} +.\[\&_\[data-icon\]\>svg\]\:univer-top-1 [data-icon] > svg { + top: .25rem; +} +.\[\&_\[data-icon\]\]\:univer-self-baseline [data-icon] { + align-self: baseline; +} +.\[\&_\[data-icon\]\]\:univer-text-amber-500 [data-icon] { + --univer-tw-text-opacity: 1; + color: rgba(245, 158, 11, var(--univer-tw-text-opacity, 1)); +} +.\[\&_\[data-icon\]\]\:univer-text-green-500 [data-icon] { + color: var(--univer-green-500); +} +.\[\&_\[data-icon\]\]\:univer-text-primary-600 [data-icon] { + color: var(--univer-primary-600); +} +.\[\&_\[data-icon\]\]\:univer-text-red-500 [data-icon] { + color: var(--univer-red-500); +} +.\[\&_\[data-icon\]\]\:univer-text-sky-500 [data-icon] { + --univer-tw-text-opacity: 1; + color: rgba(14, 165, 233, var(--univer-tw-text-opacity, 1)); +} +.\[\&_\[data-icon\]\]\:univer-text-violet-500 [data-icon] { + --univer-tw-text-opacity: 1; + color: rgba(139, 92, 246, var(--univer-tw-text-opacity, 1)); +} +.\[\&_\[data-icon\]\]\:univer-text-yellow-500 [data-icon] { + color: var(--univer-yellow-500); +} +.\[\&_\[data-sonner-toast\]\]\:univer-rounded-2xl [data-sonner-toast] { + border-radius: 1rem; +} +.\[\&_\[data-sonner-toast\]\]\:univer-border [data-sonner-toast] { + border-width: 1px; +} +.\[\&_\[data-sonner-toast\]\]\:univer-border-solid [data-sonner-toast] { + border-style: solid; +} +.\[\&_\[data-sonner-toast\]\]\:univer-border-gray-200 [data-sonner-toast] { + border-color: var(--univer-gray-200); +} +.\[\&_\[data-sonner-toast\]\]\:univer-shadow-\[0_16px_40px_-20px_rgba\(15\,23\,42\,0\.55\)\] [data-sonner-toast] { + --univer-tw-shadow: 0 16px 40px -20px #0f172a8c; + --univer-tw-shadow-colored: 0 16px 40px -20px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 16px 40px -20px #0f172a8c; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.\[\&_\[data-sonner-toast\]\]\:univer-shadow-md [data-sonner-toast] { + --univer-tw-shadow: 0px 1px 6px -2px #1e284d14, 0px 2px 6px -1px #1e284d1a; + --univer-tw-shadow-colored: 0px 1px 6px -2px var(--univer-tw-shadow-color), 0px 2px 6px -1px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 1px 6px -2px #1e284d14, + 0 2px 6px -1px #1e284d1a; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.\[\&_\[data-sonner-toast\]\]\:univer-backdrop-blur-sm [data-sonner-toast] { + --univer-tw-backdrop-blur: blur(4px); + backdrop-filter: var(--univer-tw-backdrop-blur) var(--univer-tw-backdrop-brightness) var(--univer-tw-backdrop-contrast) var(--univer-tw-backdrop-grayscale) var(--univer-tw-backdrop-hue-rotate) var(--univer-tw-backdrop-invert) var(--univer-tw-backdrop-opacity) var(--univer-tw-backdrop-saturate) var(--univer-tw-backdrop-sepia); +} +.dark\:\[\&_\[data-sonner-toast\]\]\:\!univer-border-gray-600 [data-sonner-toast]:where(.univer-dark, .univer-dark *) { + border-color: var(--univer-gray-600) !important; +} +.\[\&_\[data-title\]\]\:univer-text-sm [data-title] { + font-size: .875rem; + line-height: 1.25rem; +} +.\[\&_\[data-title\]\]\:univer-text-gray-900 [data-title] { + color: var(--univer-gray-900); +} +.\[\&_\[data-u-comp\=form-layout\]\]\:univer-max-w-\[calc\(50\%-8px\)\] [data-u-comp=form-layout] { + max-width: calc(50% - 8px); +} +.\[\&_\[data-u-comp\=form-layout\]\]\:univer-shrink [data-u-comp=form-layout] { + flex-shrink: 1; +} +.\[\&_\[data-u-comp\=form-layout\]\]\:univer-grow [data-u-comp=form-layout] { + flex-grow: 1; +} +.\[\&_\[data-u-comp\=input\]\]\:univer-w-full [data-u-comp=input] { + width: 100%; +} +.\[\&_\[data-u-comp\=input\]\]\:univer-border-red-500 [data-u-comp=input] { + border-color: var(--univer-red-500); +} +.\[\&_\[data-u-comp\=pager-left-arrow\]\:hover\]\:\!univer-bg-gray-600 [data-u-comp=pager-left-arrow]:hover, +.\[\&_\[data-u-comp\=pager-right-arrow\]\:hover\]\:\!univer-bg-gray-600 [data-u-comp=pager-right-arrow]:hover { + background-color: var(--univer-gray-600) !important; +} +.\[\&_\[data-u-comp\=select\]\]\:univer-w-full [data-u-comp=select] { + width: 100%; +} +.\[\&_\[data-u-comp\=select\]\]\:univer-border-red-500 [data-u-comp=select] { + border-color: var(--univer-red-500); +} +.\[\&_input\]\:univer-box-border input { + box-sizing: border-box; +} +.\[\&_input\]\:univer-flex input { + display: flex; +} +.\[\&_input\]\:univer-h-7 input { + height: 1.75rem; +} +.\[\&_input\]\:univer-items-center input { + align-items: center; +} +.\[\&_input\]\:univer-rounded input { + border-radius: .25rem; +} +.\[\&_input\]\:univer-border input { + border-width: 1px; +} +.\[\&_input\]\:univer-border-solid input { + border-style: solid; +} +.\[\&_input\]\:univer-border-gray-200 input { + border-color: var(--univer-gray-200); +} +.\[\&_input\]\:univer-border-gray-600 input { + border-color: var(--univer-gray-600); +} +.\[\&_input\]\:univer-bg-transparent input { + background-color: #0000; +} +.\[\&_input\]\:univer-px-1\.5 input { + padding-left: .375rem; + padding-right: .375rem; +} +.\[\&_input\]\:univer-text-gray-700 input { + color: var(--univer-gray-700); +} +.\[\&_input\]\:univer-text-white input { + color: var(--univer-white); +} +.\[\&_input\]\:univer-outline-none input { + outline-offset: 2px; + outline: 2px solid #0000; +} +.\[\&_svg\]\:univer-pointer-events-none svg { + pointer-events: none; +} +.\[\&_svg\]\:univer-size-4 svg { + width: 1rem; + height: 1rem; +} +.\[\&_svg\]\:univer-shrink-0 svg { + flex-shrink: 0; +} +.univer-popup { + z-index: 1070; + --univer-tw-shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a; + --univer-tw-shadow-colored: 0 1px 3px 0 var(--univer-tw-shadow-color), 0 1px 2px -1px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 1px 3px #0000001a, + 0 1px 2px -1px #0000001a; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); + border-radius: 6px; + position: fixed; + top: -9999px; + left: -9999px; + overflow: hidden; +} +.univer-popup-enter { + transform-origin: 0 0; + opacity: 0; + animation-duration: .15s; + animation-timing-function: cubic-bezier(.08, .82, .17, 1); + animation-play-state: paused; + animation-fill-mode: both; +} +.univer-popup-enter-active { + animation-name: popup-slide-up-in; + animation-play-state: running; +} +.univer-popup-exit { + transform-origin: 0 0; + opacity: 1; + animation-name: popup-slide-up-out; + animation-duration: .15s; + animation-timing-function: cubic-bezier(.6, .04, .98, .34); + animation-play-state: running; + animation-fill-mode: both; +} +.univer-popup-exit-active { + display: none; +} +@keyframes popup-slide-up-in { + 0% { + transform-origin: 0 0; + opacity: 0; + transform: scaleY(0); + } + to { + transform-origin: 0 0; + opacity: 1; + transform: scaleY(1); + } +} +@keyframes popup-slide-up-out { + 0% { + transform-origin: 0 0; + opacity: 1; + transform: scaleY(1); + } + to { + transform-origin: 0 0; + opacity: 0; + transform: scaleY(0); + } +} +.univer-popup-mask { + z-index: 1060; + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; +} +.univer-pointer-events-auto { + pointer-events: auto; +} +.univer-invisible { + visibility: hidden; +} +.univer-fixed { + position: fixed; +} +.univer-sticky { + position: sticky; +} +.-univer-left-\[99999\] { + left: -99999px; +} +.-univer-top-\[99999\] { + top: -99999px; +} +.univer-left-1\/2 { + left: 50%; +} +.univer-left-\[-9999px\] { + left: -9999px; +} +.univer-right-2 { + right: .5rem; +} +.univer-top-\[-9999px\] { + top: -9999px; +} +.univer-top-\[calc\(50\%-6px\)\] { + top: calc(50% - 6px); +} +.univer-z-\[-1\] { + z-index: -1; +} +.univer-z-\[1020\] { + z-index: 1020; +} +.univer-z-\[1080\] { + z-index: 1080; +} +.univer-z-\[1\] { + z-index: 1; +} +.univer-mx-2 { + margin-left: .5rem; + margin-right: .5rem; +} +.univer-mx-auto { + margin-left: auto; + margin-right: auto; +} +.univer-mt-6 { + margin-top: 1.5rem; +} +.univer-line-clamp-2 { + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + display: -webkit-box; + overflow: hidden; +} +.univer-size-0\.5 { + width: .125rem; + height: .125rem; +} +.univer-size-12 { + width: 3rem; + height: 3rem; +} +.univer-size-3\.5 { + width: .875rem; + height: .875rem; +} +.univer-size-7 { + width: 1.75rem; + height: 1.75rem; +} +.univer-size-9 { + width: 2.25rem; + height: 2.25rem; +} +.univer-h-0 { + height: 0; +} +.univer-h-1\.5 { + height: .375rem; +} +.univer-max-h-\[80vh\] { + max-height: 80vh; +} +.univer-max-h-\[min\(72vh\,560px\)\] { + max-height: min(72vh, 560px); +} +.univer-min-h-0 { + min-height: 0; +} +.univer-min-h-8 { + min-height: 2rem; +} +.univer-min-h-\[560px\] { + min-height: 560px; +} +.univer-min-h-\[56px\] { + min-height: 56px; +} +.univer-min-h-full { + min-height: 100%; +} +.univer-w-0 { + width: 0; +} +.univer-w-10 { + width: 2.5rem; +} +.univer-w-40 { + width: 10rem; +} +.univer-w-7 { + width: 1.75rem; +} +.univer-w-8 { + width: 2rem; +} +.univer-w-96 { + width: 24rem; +} +.univer-w-max { + width: max-content; +} +.univer-w-screen { + width: 100vw; +} +.univer-min-w-52 { + min-width: 13rem; +} +.univer-min-w-6 { + min-width: 1.5rem; +} +.univer-min-w-min { + min-width: min-content; +} +.univer-max-w-3xl { + max-width: 48rem; +} +.univer-max-w-5xl { + max-width: 64rem; +} +.univer-max-w-96 { + max-width: 24rem; +} +.univer-max-w-\[--radix-popper-available-width\] { + max-width: var(--radix-popper-available-width); +} +.univer-max-w-\[32\%\] { + max-width: 32%; +} +.univer-max-w-\[560px\] { + max-width: 560px; +} +.univer-max-w-\[calc\(100vw-16px\)\] { + max-width: calc(100vw - 16px); +} +.univer-max-w-full { + max-width: 100%; +} +.univer-origin-center { + transform-origin: center; +} +.-univer-translate-x-1\/2 { + --univer-tw-translate-x: -50%; + transform: translate(-50%, var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.univer-translate-x-0 { + --univer-tw-translate-x: 0px; + transform: translateY(var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.univer-translate-x-full { + --univer-tw-translate-x: 100%; + transform: translate(100%, var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.univer-grid-cols-\[1fr\] { + grid-template-columns: 1fr; +} +.univer-grid-cols-\[22px_minmax\(0\,1fr\)_22px\] { + grid-template-columns: 22px minmax(0, 1fr) 22px; +} +.univer-grid-cols-\[28px_minmax\(0\,1fr\)_auto\] { + grid-template-columns: 28px minmax(0, 1fr) auto; +} +.univer-grid-cols-\[32px_minmax\(0\,1fr\)_32px\] { + grid-template-columns: 32px minmax(0, 1fr) 32px; +} +.univer-grid-cols-\[auto\,1fr\] { + grid-template-columns: auto 1fr; +} +.univer-grid-cols-\[auto_1fr_auto\] { + grid-template-columns: auto 1fr auto; +} +.univer-grid-cols-none { + grid-template-columns: none; +} +.univer-grid-rows-\[100\%\] { + grid-template-rows: 100%; +} +.univer-grid-rows-\[auto_1fr\] { + grid-template-rows: auto 1fr; +} +.univer-grid-rows-\[auto_1fr_auto\] { + grid-template-rows: auto 1fr auto; +} +.univer-flex-wrap { + flex-wrap: wrap; +} +.univer-items-end { + align-items: flex-end; +} +.univer-gap-0\.5 { + gap: .125rem; +} +.univer-gap-3 { + gap: .75rem; +} +.univer-overscroll-contain { + overscroll-behavior: contain; +} +.univer-scroll-smooth { + scroll-behavior: smooth; +} +.\!univer-rounded-full { + border-radius: 9999px !important; +} +.\!univer-rounded-xl { + border-radius: .75rem !important; +} +.univer-rounded-2xl { + border-radius: 1rem; +} +.univer-rounded-3xl { + border-radius: 1.5rem; +} +.univer-rounded-xl { + border-radius: .75rem; +} +.univer-rounded-r { + border-top-right-radius: .25rem; + border-bottom-right-radius: .25rem; +} +.univer-rounded-t-\[28px\] { + border-top-left-radius: 28px; + border-top-right-radius: 28px; +} +.univer-border-0 { + border-width: 0; +} +.\!univer-bg-gray-200 { + background-color: var(--univer-gray-200) !important; +} +.\!univer-bg-gray-500 { + background-color: var(--univer-gray-500) !important; +} +.univer-bg-\[rgba\(15\,23\,42\,0\.32\)\] { + background-color: #0f172a52; +} +.univer-bg-gray-300 { + background-color: var(--univer-gray-300); +} +.univer-bg-gray-400 { + background-color: var(--univer-gray-400); +} +.univer-bg-gray-50 { + background-color: var(--univer-gray-50); +} +.univer-bg-gray-700 { + background-color: var(--univer-gray-700); +} +.univer-bg-primary-50 { + background-color: var(--univer-primary-50); +} +.univer-bg-gradient-to-tr { + background-image: linear-gradient(to top right, var(--univer-tw-gradient-stops)); +} +.univer-from-slate-950 { + --univer-tw-gradient-from: #020617 var(--univer-tw-gradient-from-position); + --univer-tw-gradient-to: #02061700 var(--univer-tw-gradient-to-position); + --univer-tw-gradient-stops: var(--univer-tw-gradient-from), var(--univer-tw-gradient-to); +} +.univer-via-blue-950 { + --univer-tw-gradient-to: #17255400 var(--univer-tw-gradient-to-position); + --univer-tw-gradient-stops: + var(--univer-tw-gradient-from), + #172554 var(--univer-tw-gradient-via-position), + var(--univer-tw-gradient-to); +} +.univer-to-cyan-900 { + --univer-tw-gradient-to: #164e63 var(--univer-tw-gradient-to-position); +} +.univer-p-8 { + padding: 2rem; +} +.univer-px-0 { + padding-left: 0; + padding-right: 0; +} +.univer-px-0\.5 { + padding-left: .125rem; + padding-right: .125rem; +} +.univer-pb-2 { + padding-bottom: .5rem; +} +.univer-pl-2 { + padding-left: .5rem; +} +.univer-pl-4 { + padding-left: 1rem; +} +.univer-pr-1\.5 { + padding-right: .375rem; +} +.univer-pt-3 { + padding-top: .75rem; +} +.univer-text-left { + text-align: left; +} +.univer-text-right { + text-align: right; +} +.univer-font-sans { + font-family: + ui-sans-serif, + system-ui, + -apple-system, + Segoe UI, + Roboto, + Ubuntu, + Cantarell, + Noto Sans, + sans-serif, + Apple Color Emoji, + Segoe UI Emoji, + Segoe UI Symbol, + Noto Color Emoji; +} +.univer-text-2xl { + font-size: 1.5rem; + line-height: 2rem; +} +.univer-uppercase { + text-transform: uppercase; +} +.univer-leading-4 { + line-height: 1rem; +} +.univer-leading-none { + line-height: 1; +} +.univer-tracking-\[0\.08em\] { + letter-spacing: .08em; +} +.univer-tracking-tight { + letter-spacing: -.025em; +} +.\!univer-text-gray-600 { + color: var(--univer-gray-600) !important; +} +.univer-text-current { + color: currentColor; +} +.univer-text-slate-200 { + --univer-tw-text-opacity: 1; + color: rgba(226, 232, 240, var(--univer-tw-text-opacity, 1)); +} +.univer-underline { + text-decoration-line: underline; +} +.univer-opacity-0 { + opacity: 0; +} +.univer-opacity-30 { + opacity: .3; +} +.univer-opacity-40 { + opacity: .4; +} +.univer-opacity-60 { + opacity: .6; +} +.univer-shadow-\[0_-16px_48px_rgba\(15\,23\,42\,0\.18\)\] { + --univer-tw-shadow: 0 -16px 48px #0f172a2e; + --univer-tw-shadow-colored: 0 -16px 48px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 -16px 48px #0f172a2e; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-ring-0 { + --univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color); + --univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(0px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color); + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + 0 0 #0000; + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + var(--univer-tw-shadow, 0 0 #0000); +} +.univer-ring-primary-600 { + --univer-tw-ring-color: var(--univer-primary-600); +} +.univer-backdrop-blur-\[2px\] { + --univer-tw-backdrop-blur: blur(2px); + backdrop-filter: var(--univer-tw-backdrop-blur) var(--univer-tw-backdrop-brightness) var(--univer-tw-backdrop-contrast) var(--univer-tw-backdrop-grayscale) var(--univer-tw-backdrop-hue-rotate) var(--univer-tw-backdrop-invert) var(--univer-tw-backdrop-opacity) var(--univer-tw-backdrop-saturate) var(--univer-tw-backdrop-sepia); +} +.univer-backdrop-blur-xl { + --univer-tw-backdrop-blur: blur(24px); + backdrop-filter: var(--univer-tw-backdrop-blur) var(--univer-tw-backdrop-brightness) var(--univer-tw-backdrop-contrast) var(--univer-tw-backdrop-grayscale) var(--univer-tw-backdrop-hue-rotate) var(--univer-tw-backdrop-invert) var(--univer-tw-backdrop-opacity) var(--univer-tw-backdrop-saturate) var(--univer-tw-backdrop-sepia); +} +.univer-transition-\[width\] { + transition-property: width; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +@keyframes enter { + 0% { + opacity: 1; + opacity: var(--univer-tw-enter-opacity, 1); + transform: translateZ(0) scaleZ(1) rotate(0); + transform: translate3d(var(--univer-tw-enter-translate-x, 0), var(--univer-tw-enter-translate-y, 0), 0) scale3d(var(--univer-tw-enter-scale, 1), var(--univer-tw-enter-scale, 1), var(--univer-tw-enter-scale, 1)) rotate(var(--univer-tw-enter-rotate, 0)); + } +} +@keyframes exit { + to { + opacity: 1; + opacity: var(--univer-tw-exit-opacity, 1); + transform: translateZ(0) scaleZ(1) rotate(0); + transform: translate3d(var(--univer-tw-exit-translate-x, 0), var(--univer-tw-exit-translate-y, 0), 0) scale3d(var(--univer-tw-exit-scale, 1), var(--univer-tw-exit-scale, 1), var(--univer-tw-exit-scale, 1)) rotate(var(--univer-tw-exit-rotate, 0)); + } +} +.univer-animate-in { + --univer-tw-enter-opacity: initial; + --univer-tw-enter-scale: initial; + --univer-tw-enter-rotate: initial; + --univer-tw-enter-translate-x: initial; + --univer-tw-enter-translate-y: initial; + animation-name: enter; + animation-duration: .15s; +} +.univer-fade-in { + --univer-tw-enter-opacity: 0; +} +.univer-fade-in-70 { + --univer-tw-enter-opacity: .7; +} +.last\:univer-border-b-0:last-child { + border-bottom-width: 0; +} +.hover\:univer-opacity-50:hover { + opacity: .5; +} +.focus\:univer-bg-white:focus { + background-color: var(--univer-white); +} +.focus-visible\:univer-ring-primary-600:focus-visible { + --univer-tw-ring-color: var(--univer-primary-600); +} +.focus-visible\:univer-ring-offset-0:focus-visible { + --univer-tw-ring-offset-width: 0px; +} +.active\:univer-bg-gray-200:active { + background-color: var(--univer-gray-200); +} +.enabled\:hover\:univer-bg-gray-50:hover:enabled { + background-color: var(--univer-gray-50); +} +.enabled\:active\:univer-bg-gray-100:active:enabled { + background-color: var(--univer-gray-100); +} +.disabled\:univer-cursor-not-allowed:disabled { + cursor: not-allowed; +} +.disabled\:univer-text-gray-300:disabled { + color: var(--univer-gray-300); +} +.disabled\:univer-opacity-40:disabled { + opacity: .4; +} +.disabled\:hover\:univer-bg-transparent:hover:disabled { + background-color: #0000; +} +@media (min-width: 640px) { + .sm\:\!univer-block { + display: block !important; + } +} +.rtl\:univer-pl-1\.5:where([dir=rtl], [dir=rtl] *) { + padding-left: .375rem; +} +.rtl\:univer-pr-0:where([dir=rtl], [dir=rtl] *) { + padding-right: 0; +} +.rtl\:univer-pr-2:where([dir=rtl], [dir=rtl] *) { + padding-right: .5rem; +} +.dark\:\!univer-border-gray-600:where(.univer-dark, .univer-dark *) { + border-color: var(--univer-gray-600) !important; +} +.dark\:\!univer-bg-gray-200:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-200) !important; +} +.dark\:\!univer-bg-gray-500:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-500) !important; +} +.dark\:\!univer-bg-primary-400:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-primary-400) !important; +} +.dark\:\!univer-bg-primary-900:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-primary-900) !important; +} +.dark\:\!univer-text-gray-100:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-100) !important; +} +.dark\:\!univer-text-gray-500:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-500) !important; +} +.dark\:\!univer-text-gray-600:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-600) !important; +} +.dark\:\!univer-text-gray-800:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-800) !important; +} +.dark\:\!univer-text-primary-100:where(.univer-dark, .univer-dark *) { + color: var(--univer-primary-100) !important; +} +.dark\:\!univer-text-primary-300:where(.univer-dark, .univer-dark *) { + color: var(--univer-primary-300) !important; +} +.dark\:\!univer-text-primary-400:where(.univer-dark, .univer-dark *) { + color: var(--univer-primary-400) !important; +} +.dark\:hover\:\!univer-bg-gray-900:hover:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-900) !important; +} +.dark\:hover\:\!univer-bg-transparent:hover:where(.univer-dark, .univer-dark *) { + background-color: #0000 !important; +} +.dark\:active\:\!univer-bg-gray-600:active:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-600) !important; +} +.dark\:disabled\:\!univer-text-gray-600:disabled:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-600) !important; +} +.\[\&\:\:-webkit-scrollbar\]\:univer-hidden::-webkit-scrollbar { + display: none; +} +.\[\&\>\*\]\:univer-m-0 > * { + margin: 0; +} +.\[\&\>\*\]\:univer-inline-flex > * { + display: inline-flex; +} +.\[\&\>\*\]\:univer-h-6 > * { + height: 1.5rem; +} +.\[\&\>\*\]\:univer-min-h-7 > * { + min-height: 1.75rem; +} +.\[\&\>\*\]\:univer-min-w-7 > * { + min-width: 1.75rem; +} +.\[\&\>\*\]\:univer-appearance-none > * { + -webkit-appearance: none; + appearance: none; +} +.\[\&\>\*\]\:univer-items-center > * { + align-items: center; +} +.\[\&\>\*\]\:univer-justify-center > * { + justify-content: center; +} +.\[\&\>\*\]\:univer-rounded > * { + border-radius: .25rem; +} +.\[\&\>\*\]\:univer-rounded-md > * { + border-radius: .375rem; +} +.\[\&\>\*\]\:univer-border-0 > * { + border-width: 0; +} +.\[\&\>\*\]\:univer-px-1 > * { + padding-left: .25rem; + padding-right: .25rem; +} +.\[\&\>\*\]\:univer-px-1\.5 > * { + padding-left: .375rem; + padding-right: .375rem; +} +.\[\&\>\*\]\:univer-leading-none > * { + line-height: 1; +} +.\[\&\>\*\]\:univer-outline-none > * { + outline-offset: 2px; + outline: 2px solid #0000; +} +.\[\&\>\*\]\:univer-transition-colors > * { + transition-property: + color, + background-color, + border-color, + text-decoration-color, + fill, + stroke; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.hover\:\[\&\>\*\]\:univer-bg-gray-100 > :hover { + background-color: var(--univer-gray-100); +} +.\[\&\>span\]\:univer-truncate > span { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} +.\[\&\>span\]\:univer-text-sm > span { + font-size: .875rem; + line-height: 1.25rem; +} +.\[\&\>span\]\:univer-font-medium > span { + font-weight: 500; +} +.\[\&\>svg\]\:univer-shrink-0 > svg { + flex-shrink: 0; +} +.\[\&\>svg\]\:univer-text-lg > svg { + font-size: 1.125rem; + line-height: 1.75rem; +} +.\[\&\>svg\]\:univer-text-gray-700 > svg { + color: var(--univer-gray-700); +} +.\[\&_\*\]\:univer-box-border * { + box-sizing: border-box; +} +.\[\&_\.univer-custom-label\]\:univer-text-sm .univer-custom-label { + font-size: .875rem; + line-height: 1.25rem; +} +.\[\&_\.univer-custom-label\]\:univer-leading-none .univer-custom-label { + line-height: 1; +} +.\[\&_\.univer-toolbar-button-selector-main\]\:\!univer-h-8 .univer-toolbar-button-selector-main { + height: 2rem !important; +} +.\[\&_\.univer-toolbar-button-selector-main\]\:\!univer-rounded-none .univer-toolbar-button-selector-main { + border-radius: 0 !important; +} +.\[\&_\.univer-toolbar-button-selector-main\]\:\!univer-rounded-l-md .univer-toolbar-button-selector-main { + border-top-left-radius: .375rem !important; + border-bottom-left-radius: .375rem !important; +} +.\[\&_\.univer-toolbar-button-selector-main\]\:\!univer-px-1\.5 .univer-toolbar-button-selector-main { + padding-left: .375rem !important; + padding-right: .375rem !important; +} +.\[\&_\.univer-toolbar-button-selector-root\]\:\!univer-h-8 .univer-toolbar-button-selector-root { + height: 2rem !important; +} +.\[\&_\.univer-toolbar-button-selector-root\]\:univer-overflow-hidden .univer-toolbar-button-selector-root { + overflow: hidden; +} +.\[\&_\.univer-toolbar-button-selector-root\]\:\!univer-rounded-md .univer-toolbar-button-selector-root { + border-radius: .375rem !important; +} +.\[\&_\.univer-toolbar-button-selector-root\]\:\!univer-pr-0 .univer-toolbar-button-selector-root { + padding-right: 0 !important; +} +.\[\&_\.univer-toolbar-button-selector-trigger\]\:\!univer-static .univer-toolbar-button-selector-trigger { + position: static !important; +} +.\[\&_\.univer-toolbar-button-selector-trigger\]\:\!univer-h-8 .univer-toolbar-button-selector-trigger { + height: 2rem !important; +} +.\[\&_\.univer-toolbar-button-selector-trigger\]\:\!univer-w-6 .univer-toolbar-button-selector-trigger { + width: 1.5rem !important; +} +.\[\&_\.univer-toolbar-button-selector-trigger\]\:\!univer-rounded-none .univer-toolbar-button-selector-trigger { + border-radius: 0 !important; +} +.\[\&_\.univer-toolbar-button-selector-trigger\]\:\!univer-rounded-r-md .univer-toolbar-button-selector-trigger { + border-top-right-radius: .375rem !important; + border-bottom-right-radius: .375rem !important; +} +.\[\&_\.univer-toolbar-selector-root\]\:\!univer-h-8 .univer-toolbar-selector-root { + height: 2rem !important; +} +.\[\&_\.univer-toolbar-selector-root\]\:\!univer-gap-1 .univer-toolbar-selector-root { + gap: .25rem !important; +} +.\[\&_\.univer-toolbar-selector-root\]\:\!univer-rounded-md .univer-toolbar-selector-root { + border-radius: .375rem !important; +} +.\[\&_\.univer-toolbar-selector-root\]\:\!univer-px-1\.5 .univer-toolbar-selector-root { + padding-left: .375rem !important; + padding-right: .375rem !important; +} +.\[\&_\.univer-toolbar-selector-trigger\]\:\!univer-pl-0\.5 .univer-toolbar-selector-trigger { + padding-left: .125rem !important; +} +.\[\&_\.univer-tooltip\]\:univer-inline-flex .univer-tooltip { + display: inline-flex; +} +.\[\&_\.univer-tooltip\]\:univer-h-full .univer-tooltip { + height: 100%; +} +.\[\&_\.univer-tooltip\]\:univer-items-center .univer-tooltip { + align-items: center; +} +.\[\&_\[data-u-command\]\]\:\!univer-h-8 [data-u-command] { + height: 2rem !important; +} +.\[\&_\[data-u-command\]\]\:\!univer-min-h-8 [data-u-command] { + min-height: 2rem !important; +} +.\[\&_\[data-u-command\]\]\:\!univer-rounded-md [data-u-command] { + border-radius: .375rem !important; +} +.\[\&_\[data-u-command\]\]\:\!univer-px-1\.5 [data-u-command] { + padding-left: .375rem !important; + padding-right: .375rem !important; +} +.\[\&_button\]\:\!univer-m-0 button { + margin: 0 !important; +} +.\[\&_button\]\:\!univer-h-8 button { + height: 2rem !important; +} +.\[\&_button\]\:\!univer-min-w-8 button { + min-width: 2rem !important; +} +.\[\&_button\]\:\!univer-appearance-none button { + -webkit-appearance: none !important; + appearance: none !important; +} +.\[\&_button\]\:\!univer-rounded-md button { + border-radius: .375rem !important; +} +.\[\&_button\]\:\!univer-border-0 button { + border-width: 0 !important; +} +.\[\&_button\]\:\!univer-bg-transparent button { + background-color: #0000 !important; +} +.\[\&_button\]\:\!univer-p-0 button { + padding: 0 !important; +} +.\[\&_button\]\:\!univer-px-1\.5 button { + padding-left: .375rem !important; + padding-right: .375rem !important; +} +.\[\&_button\]\:\!univer-leading-none button { + line-height: 1 !important; +} +.\[\&_button\]\:\!univer-outline-none button { + outline-offset: 2px !important; + outline: 2px solid #0000 !important; +} +.\[\&_input\:focus\]\:\!univer-ring-0 input:focus { + --univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color) !important; + --univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(0px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color) !important; + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + 0 0 #0000 !important; + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + var(--univer-tw-shadow, 0 0 #0000) !important; +} +.\[\&_input\]\:\!univer-m-0 input { + margin: 0 !important; +} +.\[\&_input\]\:univer-h-6 input { + height: 1.5rem; +} +.\[\&_input\]\:univer-w-7 input { + width: 1.75rem; +} +.\[\&_input\]\:\!univer-appearance-none input { + -webkit-appearance: none !important; + appearance: none !important; +} +.\[\&_input\]\:\!univer-border-0 input { + border-width: 0 !important; +} +.\[\&_input\]\:univer-border-none input { + border-style: none; +} +.\[\&_input\]\:\!univer-bg-transparent input { + background-color: #0000 !important; +} +.\[\&_input\]\:\!univer-p-0 input { + padding: 0 !important; +} +.\[\&_input\]\:univer-p-0 input { + padding: 0; +} +.\[\&_input\]\:univer-text-sm input { + font-size: .875rem; + line-height: 1.25rem; +} +.\[\&_input\]\:\!univer-leading-none input { + line-height: 1 !important; +} +.\[\&_input\]\:\!univer-outline-none input { + outline-offset: 2px !important; + outline: 2px solid #0000 !important; +} +.univer-bottom-0 { + bottom: 0; +} +.univer-left-5 { + left: 1.25rem; +} +.univer-left-\[5px\] { + left: 5px; +} +.univer-top-4 { + top: 1rem; +} +.univer-top-\[5px\] { + top: 5px; +} +.univer-mb-1 { + margin-bottom: .25rem; +} +.univer-mr-1 { + margin-right: .25rem; +} +.univer-mt-1\.5 { + margin-top: .375rem; +} +.univer-mt-12 { + margin-top: 3rem; +} +.univer-size-3 { + width: .75rem; + height: .75rem; +} +.univer-size-8 { + width: 2rem; + height: 2rem; +} +.univer-h-\[24px\] { + height: 24px; +} +.univer-w-28 { + width: 7rem; +} +.univer-w-4\/5 { + width: 80%; +} +.univer-w-\[0px\] { + width: 0; +} +.univer-w-\[162px\] { + width: 162px; +} +.univer-w-\[212px\] { + width: 212px; +} +.univer-w-\[72px\] { + width: 72px; +} +.univer-min-w-\[180px\] { + min-width: 180px; +} +.univer-flex-shrink-0 { + flex-shrink: 0; +} +.univer-grid-cols-3 { + grid-template-columns: repeat(3, minmax(0, 1fr)); +} +.univer-gap-2\.5 { + gap: .625rem; +} +.univer-overflow-x-hidden { + overflow-x: hidden; +} +.univer-rounded-r-2xl { + border-top-right-radius: 1rem; + border-bottom-right-radius: 1rem; +} +.univer-border-primary-500 { + border-color: var(--univer-primary-500); +} +.univer-bg-none { + background-image: none; +} +.univer-px-2\.5 { + padding-left: .625rem; + padding-right: .625rem; +} +.univer-px-3 { + padding-left: .75rem; + padding-right: .75rem; +} +.univer-py-0 { + padding-top: 0; + padding-bottom: 0; +} +.univer-pb-0\.5 { + padding-bottom: .125rem; +} +.univer-pb-4 { + padding-bottom: 1rem; +} +.univer-pr-1 { + padding-right: .25rem; +} +.univer-pr-2 { + padding-right: .5rem; +} +.univer-pt-1\.5 { + padding-top: .375rem; +} +.univer-pt-14 { + padding-top: 3.5rem; +} +.univer-font-\[500\], +.univer-font-medium { + font-weight: 500; +} +.univer-leading-\[24px\] { + line-height: 24px; +} +.\!univer-text-gray-200 { + color: var(--univer-gray-200) !important; +} +.\!univer-text-gray-400 { + color: var(--univer-gray-400) !important; +} +.univer-text-gray-800 { + color: var(--univer-gray-800); +} +.univer-shadow-sm { + --univer-tw-shadow: 0px 1px 2px 0px #1e284d14; + --univer-tw-shadow-colored: 0px 1px 2px 0px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 1px 2px #1e284d14; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-backdrop-blur-\[10px\] { + --univer-tw-backdrop-blur: blur(10px); + backdrop-filter: var(--univer-tw-backdrop-blur) var(--univer-tw-backdrop-brightness) var(--univer-tw-backdrop-contrast) var(--univer-tw-backdrop-grayscale) var(--univer-tw-backdrop-hue-rotate) var(--univer-tw-backdrop-invert) var(--univer-tw-backdrop-opacity) var(--univer-tw-backdrop-saturate) var(--univer-tw-backdrop-sepia); +} +.univer-duration-300 { + transition-duration: .3s; +} +.hover\:univer-border-primary-500:hover { + border-color: var(--univer-primary-500); +} +.univer-pointer-events-none { + pointer-events: none; +} +.univer-inset-0 { + top: 0; + bottom: 0; + left: 0; + right: 0; +} +.-univer-bottom-0\.5 { + bottom: -.125rem; +} +.-univer-left-0\.5 { + left: -.125rem; +} +.-univer-right-0\.5 { + right: -.125rem; +} +.-univer-top-0\.5 { + top: -.125rem; +} +.univer-left-0 { + left: 0; +} +.univer-left-1 { + left: .25rem; +} +.univer-left-3 { + left: .75rem; +} +.univer-right-0 { + right: 0; +} +.univer-right-5 { + right: 1.25rem; +} +.univer-top-0 { + top: 0; +} +.univer-top-0\.5 { + top: .125rem; +} +.univer-z-10 { + z-index: 10; +} +.univer-z-\[1001\] { + z-index: 1001; +} +.univer-z-\[100\] { + z-index: 100; +} +.univer-mx-1 { + margin-left: .25rem; + margin-right: .25rem; +} +.univer-my-1\.5 { + margin-top: .375rem; + margin-bottom: .375rem; +} +.univer-mb-1\.5 { + margin-bottom: .375rem; +} +.univer-mb-3 { + margin-bottom: .75rem; +} +.univer-mb-4 { + margin-bottom: 1rem; +} +.univer-ml-1 { + margin-left: .25rem; +} +.univer-ml-1\.5 { + margin-left: .375rem; +} +.univer-ml-3 { + margin-left: .75rem; +} +.univer-ml-6 { + margin-left: 1.5rem; +} +.univer-ml-px { + margin-left: 1px; +} +.univer-mr-1\.5 { + margin-right: .375rem; +} +.univer-mr-2 { + margin-right: .5rem; +} +.univer-mr-5 { + margin-right: 1.25rem; +} +.univer-mt-auto { + margin-top: auto; +} +.univer-hidden { + display: none; +} +.univer-size-0 { + width: 0; + height: 0; +} +.univer-size-10 { + width: 2.5rem; + height: 2.5rem; +} +.univer-size-4 { + width: 1rem; + height: 1rem; +} +.univer-h-0\.5 { + height: .125rem; +} +.univer-h-1 { + height: .25rem; +} +.univer-h-10 { + height: 2.5rem; +} +.univer-h-20 { + height: 5rem; +} +.univer-h-4 { + height: 1rem; +} +.univer-h-5 { + height: 1.25rem; +} +.univer-h-6 { + height: 1.5rem; +} +.univer-h-60 { + height: 15rem; +} +.univer-h-8 { + height: 2rem; +} +.univer-h-9 { + height: 2.25rem; +} +.univer-h-\[270px\] { + height: 270px; +} +.univer-h-\[30px\] { + height: 30px; +} +.univer-h-\[calc\(100\%-16px\)\] { + height: calc(100% - 16px); +} +.univer-h-\[calc\(100\%-8px\)\] { + height: calc(100% - 8px); +} +.univer-h-px { + height: 1px; +} +.univer-max-h-52 { + max-height: 13rem; +} +.univer-max-h-\[100px\] { + max-height: 100px; +} +.univer-max-h-\[360px\] { + max-height: 360px; +} +.\!univer-w-\[90px\] { + width: 90px !important; +} +.univer-w-16 { + width: 4rem; +} +.univer-w-20 { + width: 5rem; +} +.univer-w-24 { + width: 6rem; +} +.univer-w-5 { + width: 1.25rem; +} +.univer-w-6 { + width: 1.5rem; +} +.univer-w-60 { + width: 15rem; +} +.univer-w-\[100px\] { + width: 100px; +} +.univer-w-\[130px\] { + width: 130px; +} +.univer-w-\[156px\] { + width: 156px; +} +.univer-w-\[300px\] { + width: 300px; +} +.univer-w-\[50\%\] { + width: 50%; +} +.univer-w-fit { + width: fit-content; +} +.univer-min-w-0 { + min-width: 0; +} +.univer-max-w-32 { + max-width: 8rem; +} +.univer-max-w-36 { + max-width: 9rem; +} +.univer-max-w-64 { + max-width: 16rem; +} +.univer-max-w-\[190px\] { + max-width: 190px; +} +.univer-max-w-\[200px\] { + max-width: 200px; +} +.univer-max-w-\[calc\(100\%-112px\)\] { + max-width: calc(100% - 112px); +} +.univer-max-w-fit { + max-width: fit-content; +} +.univer-max-w-lg { + max-width: 32rem; +} +.univer-flex-shrink-0, +.univer-shrink-0 { + flex-shrink: 0; +} +.univer-flex-grow { + flex-grow: 1; +} +.univer-flex-grow-0 { + flex-grow: 0; +} +.univer-rotate-180 { + --univer-tw-rotate: 180deg; + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(180deg) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +@keyframes univer-spin { + to { + transform: rotate(360deg); + } +} +.univer-animate-spin { + animation: 1s linear infinite univer-spin; +} +.univer-cursor-not-allowed { + cursor: not-allowed; +} +.univer-appearance-none { + -webkit-appearance: none; + appearance: none; +} +.univer-grid-flow-col { + grid-auto-flow: column; +} +.univer-grid-cols-5 { + grid-template-columns: repeat(5, minmax(0, 1fr)); +} +.univer-grid-cols-\[1fr\,auto\,auto\,auto\] { + grid-template-columns: 1fr auto auto auto; +} +.univer-flex-row { + flex-direction: row; +} +.univer-flex-row-reverse { + flex-direction: row-reverse; +} +.univer-flex-nowrap { + flex-wrap: nowrap; +} +.univer-gap-7 { + gap: 1.75rem; +} +.univer-gap-x-2 { + -moz-column-gap: .5rem; + column-gap: .5rem; +} +.univer-space-y-2 > :not([hidden]) ~ :not([hidden]) { + --univer-tw-space-y-reverse: 0; + margin-top: calc(.5rem * (1 - var(--univer-tw-space-y-reverse))); + margin-top: .5rem; + margin-top: calc(.5rem * calc(1 - var(--univer-tw-space-y-reverse))); + margin-bottom: 0; + margin-bottom: calc(.5rem * var(--univer-tw-space-y-reverse)); +} +.univer-divide-x-0 > :not([hidden]) ~ :not([hidden]) { + --univer-tw-divide-x-reverse: 0; + border-right-width: 0; + border-right-width: calc(0px * var(--univer-tw-divide-x-reverse)); + border-left-width: calc(0px * (1 - var(--univer-tw-divide-x-reverse))); + border-left-width: 0; + border-left-width: calc(0px * calc(1 - var(--univer-tw-divide-x-reverse))); +} +.univer-divide-y > :not([hidden]) ~ :not([hidden]) { + --univer-tw-divide-y-reverse: 0; + border-top-width: calc(1px * (1 - var(--univer-tw-divide-y-reverse))); + border-top-width: 1px; + border-top-width: calc(1px * calc(1 - var(--univer-tw-divide-y-reverse))); + border-bottom-width: 0; + border-bottom-width: calc(1px * var(--univer-tw-divide-y-reverse)); +} +.univer-divide-solid > :not([hidden]) ~ :not([hidden]) { + border-style: solid; +} +.univer-divide-gray-200 > :not([hidden]) ~ :not([hidden]) { + border-color: var(--univer-gray-200); +} +.univer-justify-self-center { + justify-self: center; +} +.univer-overflow-hidden { + overflow: hidden; +} +.univer-overflow-x-auto { + overflow-x: auto; +} +.univer-overflow-y-hidden { + overflow-y: hidden; +} +.univer-rounded-full { + border-radius: 9999px; +} +.univer-rounded-md { + border-radius: .375rem; +} +.univer-rounded-sm { + border-radius: .125rem; +} +.univer-border-2 { + border-width: 2px; +} +.univer-border-4 { + border-width: 4px; +} +.univer-border-b { + border-bottom-width: 1px; +} +.univer-border-solid { + border-style: solid; +} +.univer-border-none { + border-style: none; +} +.univer-border-\[rgba\(13\,13\,13\,0\.12\)\] { + border-color: #0d0d0d1f; +} +.univer-border-gray-100 { + border-color: var(--univer-gray-100); +} +.univer-border-gray-200 { + border-color: var(--univer-gray-200); +} +.univer-border-transparent { + border-color: #0000; +} +.univer-border-r-gray-200 { + border-right-color: var(--univer-gray-200); +} +.univer-border-t-primary-500 { + border-top-color: var(--univer-primary-500); +} +.\!univer-bg-gray-700 { + background-color: var(--univer-gray-700) !important; +} +.\!univer-bg-gray-800 { + background-color: var(--univer-gray-800) !important; +} +.\!univer-bg-gray-900 { + background-color: var(--univer-gray-900) !important; +} +.univer-bg-blue-500 { + background-color: var(--univer-blue-500); +} +.univer-bg-blue-600 { + background-color: var(--univer-blue-600); +} +.univer-bg-gray-100 { + background-color: var(--univer-gray-100); +} +.univer-bg-gradient-to-b { + background-image: linear-gradient(to bottom, var(--univer-tw-gradient-stops)); +} +.univer-from-gray-50 { + --univer-tw-gradient-from: var(--univer-gray-50) var(--univer-tw-gradient-from-position); + --univer-tw-gradient-to: #fff0 var(--univer-tw-gradient-to-position); + --univer-tw-gradient-stops: var(--univer-tw-gradient-from), var(--univer-tw-gradient-to); +} +.univer-to-gray-100 { + --univer-tw-gradient-to: var(--univer-gray-100) var(--univer-tw-gradient-to-position); +} +.univer-fill-gray-900 { + fill: var(--univer-gray-900); +} +.univer-fill-primary-600 { + fill: var(--univer-primary-600); +} +.univer-p-1 { + padding: .25rem; +} +.univer-p-4 { + padding: 1rem; +} +.univer-px-1 { + padding-left: .25rem; + padding-right: .25rem; +} +.univer-px-1\.5 { + padding-left: .375rem; + padding-right: .375rem; +} +.univer-px-3\.5 { + padding-left: .875rem; + padding-right: .875rem; +} +.univer-px-5 { + padding-left: 1.25rem; + padding-right: 1.25rem; +} +.univer-py-0\.5 { + padding-top: .125rem; + padding-bottom: .125rem; +} +.univer-py-5 { + padding-top: 1.25rem; + padding-bottom: 1.25rem; +} +.univer-pb-1 { + padding-bottom: .25rem; +} +.univer-pl-1\.5 { + padding-left: .375rem; +} +.univer-pl-3 { + padding-left: .75rem; +} +.univer-pl-6 { + padding-left: 1.5rem; +} +.univer-pr-5 { + padding-right: 1.25rem; +} +.univer-pt-1 { + padding-top: .25rem; +} +.univer-pt-2 { + padding-top: .5rem; +} +.univer-text-center { + text-align: center; +} +.univer-font-semibold { + font-weight: 600; +} +.univer-leading-6 { + line-height: 1.5rem; +} +.univer-leading-7 { + line-height: 1.75rem; +} +.\!univer-text-blue-400 { + color: var(--univer-blue-400) !important; +} +.\!univer-text-gray-700 { + color: var(--univer-gray-700) !important; +} +.\!univer-text-white { + color: var(--univer-white) !important; +} +.univer-text-blue-500 { + color: var(--univer-blue-500); +} +.univer-text-blue-600 { + color: var(--univer-blue-600); +} +.univer-text-gray-200 { + color: var(--univer-gray-200); +} +.univer-text-gray-300 { + color: var(--univer-gray-300); +} +.univer-text-gray-700 { + color: var(--univer-gray-700); +} +.univer-text-green-600 { + color: var(--univer-green-600); +} +.univer-text-primary-700 { + color: var(--univer-primary-700); +} +.univer-text-red-600 { + color: var(--univer-red-600); +} +.univer-text-yellow-500 { + color: var(--univer-yellow-500); +} +.univer-shadow { + --univer-tw-shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a; + --univer-tw-shadow-colored: 0 1px 3px 0 var(--univer-tw-shadow-color), 0 1px 2px -1px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 1px 3px #0000001a, + 0 1px 2px -1px #0000001a; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-shadow-lg { + --univer-tw-shadow: 0px 4px 6px 0px #1e284d0d, 0px 10px 15px -3px #1e284d1a; + --univer-tw-shadow-colored: 0px 4px 6px 0px var(--univer-tw-shadow-color), 0px 10px 15px -3px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 4px 6px #1e284d0d, + 0 10px 15px -3px #1e284d1a; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-blur-sm { + --univer-tw-blur: blur(4px); + filter: var(--univer-tw-blur) var(--univer-tw-brightness) var(--univer-tw-contrast) var(--univer-tw-grayscale) var(--univer-tw-hue-rotate) var(--univer-tw-invert) var(--univer-tw-saturate) var(--univer-tw-sepia) var(--univer-tw-drop-shadow); +} +.univer-backdrop-blur { + --univer-tw-backdrop-blur: blur(8px); + backdrop-filter: var(--univer-tw-backdrop-blur) var(--univer-tw-backdrop-brightness) var(--univer-tw-backdrop-contrast) var(--univer-tw-backdrop-grayscale) var(--univer-tw-backdrop-hue-rotate) var(--univer-tw-backdrop-invert) var(--univer-tw-backdrop-opacity) var(--univer-tw-backdrop-saturate) var(--univer-tw-backdrop-sepia); +} +.univer-transition-\[colors\,box-shadow\] { + transition-property: colors, box-shadow; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-transition-\[height\] { + transition-property: height; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-transition-all { + transition-property: all; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-duration-200 { + transition-duration: .2s; +} +.univer-ease-linear { + transition-timing-function: linear; +} +.after\:univer-absolute:after { + content: var(--univer-tw-content); + position: absolute; +} +.after\:univer-right-0:after { + content: var(--univer-tw-content); + right: 0; +} +.after\:univer-top-1\/2:after { + content: var(--univer-tw-content); + top: 50%; +} +.after\:univer-block:after { + content: var(--univer-tw-content); + display: block; +} +.after\:univer-h-4:after { + content: var(--univer-tw-content); + height: 1rem; +} +.after\:univer-w-px:after { + content: var(--univer-tw-content); + width: 1px; +} +.after\:-univer-translate-y-1\/2:after { + content: var(--univer-tw-content); + --univer-tw-translate-y: -50%; + transform: translate(var(--univer-tw-translate-x), -50%) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.after\:univer-bg-gray-200:after { + content: var(--univer-tw-content); + background-color: var(--univer-gray-200); +} +.after\:univer-content-\[\"\"\]:after { + --univer-tw-content: ""; + content: ""; + content: var(--univer-tw-content); +} +.last\:univer-mb-0:last-child { + margin-bottom: 0; +} +.univer-group:hover .group-hover\:univer-flex { + display: flex; +} +.hover\:univer-border-primary-600:hover { + border-color: var(--univer-primary-600); +} +.hover\:univer-bg-gray-50:hover { + background-color: var(--univer-gray-50); +} +.hover\:univer-bg-transparent:hover { + background-color: #0000; +} +.focus\:univer-border-primary-500:focus { + border-color: var(--univer-primary-500); +} +.focus\:univer-outline-none:focus { + outline-offset: 2px; + outline: 2px solid #0000; +} +.focus-visible\:univer-ring-2:focus-visible { + --univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color); + --univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(2px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color); + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + 0 0 #0000; + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + var(--univer-tw-shadow, 0 0 #0000); +} +.focus-visible\:univer-ring-primary-500:focus-visible { + --univer-tw-ring-color: var(--univer-primary-500); +} +.active\:univer-bg-gray-100:active { + background-color: var(--univer-gray-100); +} +.dark\:\!univer-divide-gray-600:where(.univer-dark, .univer-dark *) > :not([hidden]) ~ :not([hidden]) { + border-color: var(--univer-gray-600) !important; +} +.dark\:\!univer-border-gray-700:where(.univer-dark, .univer-dark *) { + border-color: var(--univer-gray-700) !important; +} +.dark\:\!univer-border-r-gray-700:where(.univer-dark, .univer-dark *) { + border-right-color: var(--univer-gray-700) !important; +} +.dark\:\!univer-bg-black:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-black) !important; +} +.dark\:\!univer-bg-blue-400:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-blue-400) !important; +} +.dark\:\!univer-bg-gray-700:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-700) !important; +} +.dark\:\!univer-bg-gray-800:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-800) !important; +} +.dark\:\!univer-from-gray-800:where(.univer-dark, .univer-dark *) { + --univer-tw-gradient-from: var(--univer-gray-800) var(--univer-tw-gradient-from-position) !important; + --univer-tw-gradient-to: #fff0 var(--univer-tw-gradient-to-position) !important; + --univer-tw-gradient-stops: var(--univer-tw-gradient-from), var(--univer-tw-gradient-to) !important; +} +.dark\:\!univer-to-gray-900:where(.univer-dark, .univer-dark *) { + --univer-tw-gradient-to: var(--univer-gray-900) var(--univer-tw-gradient-to-position) !important; +} +.dark\:\!univer-fill-white:where(.univer-dark, .univer-dark *) { + fill: var(--univer-white) !important; +} +.dark\:\!univer-text-blue-400:where(.univer-dark, .univer-dark *) { + color: var(--univer-blue-400) !important; +} +.dark\:\!univer-text-gray-700:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-700) !important; +} +.dark\:\!univer-text-green-400:where(.univer-dark, .univer-dark *) { + color: var(--univer-green-400) !important; +} +.dark\:\!univer-text-red-400:where(.univer-dark, .univer-dark *) { + color: var(--univer-red-400) !important; +} +.dark\:hover\:\!univer-bg-gray-800:hover:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-800) !important; +} +.\[\&\>div\:first-child\]\:univer-px-2\.5 > div:first-child { + padding-left: .625rem; + padding-right: .625rem; +} +.\[\&\>div\]\:univer-h-5 > div { + height: 1.25rem; +} +.\[\&\>div\]\:univer-ring-transparent > div { + --univer-tw-ring-color: transparent; +} +.\[\&_canvas\]\:univer-absolute canvas { + position: absolute; +} +.univer-absolute { + position: absolute; +} +.univer-relative { + position: relative; +} +.univer-left-1\.5 { + left: .375rem; +} +.univer-top-1\/2 { + top: 50%; +} +.univer-z-\[15\] { + z-index: 15; +} +.univer-m-0 { + margin: 0; +} +.-univer-mx-6 { + margin-left: -1.5rem; + margin-right: -1.5rem; +} +.univer-mx-0 { + margin-left: 0; + margin-right: 0; +} +.univer-my-1 { + margin-top: .25rem; + margin-bottom: .25rem; +} +.univer-my-2 { + margin-top: .5rem; + margin-bottom: .5rem; +} +.univer-mb-0 { + margin-bottom: 0; +} +.univer-mb-2 { + margin-bottom: .5rem; +} +.univer-ml-2 { + margin-left: .5rem; +} +.univer-ml-4 { + margin-left: 1rem; +} +.univer-mr-0 { + margin-right: 0; +} +.univer-mt-0 { + margin-top: 0; +} +.univer-mt-1 { + margin-top: .25rem; +} +.univer-box-border { + box-sizing: border-box; +} +.univer-block { + display: block; +} +.univer-inline-flex { + display: inline-flex; +} +.univer-size-6 { + width: 1.5rem; + height: 1.5rem; +} +.univer-size-full { + width: 100%; + height: 100%; +} +.univer-h-\[18px\] { + height: 18px; +} +.univer-h-\[364px\] { + height: 364px; +} +.univer-max-h-60 { + max-height: 15rem; +} +.univer-max-h-72 { + max-height: 18rem; +} +.univer-max-h-\[350px\] { + max-height: 350px; +} +.univer-w-\[250px\] { + width: 250px; +} +.univer-flex-1 { + flex: 1; +} +.-univer-translate-y-1\/2 { + --univer-tw-translate-y: -50%; + transform: translate(var(--univer-tw-translate-x), -50%) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.univer-select-none { + user-select: none; +} +.univer-list-none { + list-style-type: none; +} +.univer-justify-center { + justify-content: center; +} +.univer-justify-around { + justify-content: space-around; +} +.univer-gap-2 { + gap: .5rem; +} +.univer-gap-4 { + gap: 1rem; +} +.univer-overflow-visible { + overflow: visible; +} +.univer-truncate { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} +.univer-whitespace-nowrap { + white-space: nowrap; +} +.univer-whitespace-pre-wrap { + white-space: pre-wrap; +} +.univer-break-words { + word-wrap: break-word; +} +.univer-break-all { + word-break: break-all; +} +.univer-rounded-none { + border-radius: 0; +} +.univer-rounded-l { + border-top-left-radius: .25rem; + border-bottom-left-radius: .25rem; +} +.univer-border { + border-width: 1px; +} +.univer-border-r-0 { + border-right-width: 0; +} +.univer-border-gray-600 { + border-color: var(--univer-gray-600); +} +.univer-border-primary-600 { + border-color: var(--univer-primary-600); +} +.\!univer-bg-gray-600 { + background-color: var(--univer-gray-600) !important; +} +.univer-bg-gray-200 { + background-color: var(--univer-gray-200); +} +.univer-bg-primary-600 { + background-color: var(--univer-primary-600); +} +.univer-bg-transparent { + background-color: #0000; +} +.univer-bg-white { + background-color: var(--univer-white); +} +.univer-p-0 { + padding: 0; +} +.univer-p-0\.5 { + padding: .125rem; +} +.univer-p-3 { + padding: .75rem; +} +.univer-px-4 { + padding-left: 1rem; + padding-right: 1rem; +} +.univer-px-6 { + padding-left: 1.5rem; + padding-right: 1.5rem; +} +.univer-px-7 { + padding-left: 1.75rem; + padding-right: 1.75rem; +} +.univer-py-1 { + padding-top: .25rem; + padding-bottom: .25rem; +} +.univer-py-2 { + padding-top: .5rem; + padding-bottom: .5rem; +} +.univer-py-3 { + padding-top: .75rem; + padding-bottom: .75rem; +} +.univer-pb-3 { + padding-bottom: .75rem; +} +.univer-pt-0 { + padding-top: 0; +} +.univer-text-base { + font-size: 1rem; + line-height: 1.5rem; +} +.univer-text-sm { + font-size: .875rem; + line-height: 1.25rem; +} +.univer-font-bold { + font-weight: 700; +} +.univer-font-medium { + font-weight: 500; +} +.univer-leading-5 { + line-height: 1.25rem; +} +.univer-leading-\[13px\] { + line-height: 13px; +} +.univer-text-gray-900 { + color: var(--univer-gray-900); +} +.univer-text-primary-500 { + color: var(--univer-primary-500); +} +.univer-text-red-500 { + color: var(--univer-red-500); +} +.univer-text-white { + color: var(--univer-white); +} +.univer-shadow-md { + --univer-tw-shadow: 0px 1px 6px -2px #1e284d14, 0px 2px 6px -1px #1e284d1a; + --univer-tw-shadow-colored: 0px 1px 6px -2px var(--univer-tw-shadow-color), 0px 2px 6px -1px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 1px 6px -2px #1e284d14, + 0 2px 6px -1px #1e284d1a; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-outline-none { + outline-offset: 2px; + outline: 2px solid #0000; +} +.univer-ring-1 { + --univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color); + --univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(1px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color); + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + 0 0 #0000; + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + var(--univer-tw-shadow, 0 0 #0000); +} +.univer-ring-primary-500 { + --univer-tw-ring-color: var(--univer-primary-500); +} +.univer-ring-red-500 { + --univer-tw-ring-color: var(--univer-red-500); +} +.univer-transition-colors { + transition-property: + color, + background-color, + border-color, + text-decoration-color, + fill, + stroke; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.hover\:univer-bg-gray-200:hover { + background-color: var(--univer-gray-200); +} +.hover\:univer-bg-gray-300:hover { + background-color: var(--univer-gray-300); +} +.dark\:\!univer-bg-gray-600:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-600) !important; +} +.dark\:\!univer-bg-gray-900:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-900) !important; +} +.dark\:\!univer-text-gray-300:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-300) !important; +} +.dark\:\!univer-text-white:where(.univer-dark, .univer-dark *) { + color: var(--univer-white) !important; +} +.dark\:hover\:\!univer-bg-gray-600:hover:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-600) !important; +} +.univer-mb-5 { + margin-bottom: 1.25rem; +} +.univer-mr-3 { + margin-right: .75rem; +} +.univer-mt-2 { + margin-top: .5rem; +} +.univer-mt-3 { + margin-top: .75rem; +} +.univer-mt-3\.5 { + margin-top: .875rem; +} +.univer-mt-4 { + margin-top: 1rem; +} +.univer-flex { + display: flex; +} +.univer-grid { + display: grid; +} +.univer-h-7 { + height: 1.75rem; +} +.univer-h-full { + height: 100%; +} +.univer-max-h-\[400px\] { + max-height: 400px; +} +.univer-w-32 { + width: 8rem; +} +.univer-w-36 { + width: 9rem; +} +.univer-w-4 { + width: 1rem; +} +.univer-w-\[340px\] { + width: 340px; +} +.univer-w-full { + width: 100%; +} +.univer-cursor-default { + cursor: default; +} +.univer-cursor-pointer { + cursor: pointer; +} +.univer-flex-col { + flex-direction: column; +} +.univer-items-center { + align-items: center; +} +.univer-justify-end { + justify-content: flex-end; +} +.univer-justify-between { + justify-content: space-between; +} +.univer-gap-1 { + gap: .25rem; +} +.univer-gap-1\.5 { + gap: .375rem; +} +.univer-gap-6 { + gap: 1.5rem; +} +.univer-overflow-auto { + overflow: auto; +} +.univer-overflow-y-auto { + overflow-y: auto; +} +.univer-rounded { + border-radius: .25rem; +} +.univer-rounded-lg { + border-radius: .5rem; +} +.univer-p-1\.5 { + padding: .375rem; +} +.univer-p-2 { + padding: .5rem; +} +.univer-px-2 { + padding-left: .5rem; + padding-right: .5rem; +} +.univer-py-1\.5 { + padding-top: .375rem; + padding-bottom: .375rem; +} +.univer-pb-5 { + padding-bottom: 1.25rem; +} +.univer-text-sm, +.univer-text-sm\/5 { + font-size: .875rem; + line-height: 1.25rem; +} +.univer-text-xs { + font-size: .75rem; + line-height: 1rem; +} +.univer-text-gray-400 { + color: var(--univer-gray-400); +} +.univer-text-gray-500 { + color: var(--univer-gray-500); +} +.univer-text-gray-600 { + color: var(--univer-gray-600); +} +.univer-text-primary-600 { + color: var(--univer-primary-600); +} +.hover\:univer-bg-gray-100:hover { + background-color: var(--univer-gray-100); +} +.dark\:\!univer-text-gray-200:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-200) !important; +} +.dark\:\!univer-text-gray-400:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-400) !important; +} +.dark\:hover\:\!univer-bg-gray-700:hover:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-700) !important; +} + +/* ../../../../../node_modules/@univerjs/presets/lib/styles/preset-sheets-filter.css */ +.univer-absolute { + position: absolute; +} +.univer-relative { + position: relative; +} +.-univer-bottom-0\.5 { + bottom: -.125rem; +} +.-univer-right-0\.5 { + right: -.125rem; +} +.univer-mx-1 { + margin-left: .25rem; + margin-right: .25rem; +} +.univer-mb-1 { + margin-bottom: .25rem; +} +.univer-mb-2 { + margin-bottom: .5rem; +} +.univer-ml-1 { + margin-left: .25rem; +} +.univer-mt-2 { + margin-top: .5rem; +} +.univer-mt-4 { + margin-top: 1rem; +} +.univer-box-border { + box-sizing: border-box; +} +.univer-block { + display: block; +} +.univer-inline-block { + display: inline-block; +} +.univer-flex { + display: flex; +} +.univer-inline-flex { + display: inline-flex; +} +.univer-grid { + display: grid; +} +.univer-hidden { + display: none; +} +.univer-size-3 { + width: .75rem; + height: .75rem; +} +.univer-size-6 { + width: 1.5rem; + height: 1.5rem; +} +.univer-size-full { + width: 100%; + height: 100%; +} +.univer-h-4 { + height: 1rem; +} +.univer-h-5 { + height: 1.25rem; +} +.univer-h-7 { + height: 1.75rem; +} +.univer-h-8 { + height: 2rem; +} +.univer-h-\[300px\] { + height: 300px; +} +.univer-h-full { + height: 100%; +} +.univer-max-h-\[500px\] { + max-height: 500px; +} +.univer-min-h-\[300px\] { + min-height: 300px; +} +.univer-w-\[400px\] { + width: 400px; +} +.univer-w-full { + width: 100%; +} +.univer-flex-1 { + flex: 1; +} +.univer-flex-shrink { + flex-shrink: 1; +} +.univer-flex-shrink-0 { + flex-shrink: 0; +} +.univer-flex-grow { + flex-grow: 1; +} +.univer-flex-grow-0 { + flex-grow: 0; +} +.univer-cursor-pointer { + cursor: pointer; +} +.univer-grid-cols-8 { + grid-template-columns: repeat(8, minmax(0, 1fr)); +} +.univer-flex-col { + flex-direction: column; +} +.univer-flex-nowrap { + flex-wrap: nowrap; +} +.univer-items-center { + align-items: center; +} +.univer-justify-start { + justify-content: flex-start; +} +.univer-justify-center { + justify-content: center; +} +.univer-justify-between { + justify-content: space-between; +} +.univer-gap-1 { + gap: .25rem; +} +.univer-gap-2 { + gap: .5rem; +} +.univer-gap-4 { + gap: 1rem; +} +.univer-overflow-auto { + overflow: auto; +} +.univer-overflow-hidden { + overflow: hidden; +} +.univer-truncate { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} +.univer-whitespace-nowrap { + white-space: nowrap; +} +.univer-rounded-full { + border-radius: 9999px; +} +.univer-rounded-lg { + border-radius: .5rem; +} +.univer-rounded-md { + border-radius: .375rem; +} +.univer-border { + border-width: 1px; +} +.univer-border-solid { + border-style: solid; +} +.univer-border-\[rgba\(13\,13\,13\,0\.06\)\] { + border-color: #0d0d0d0f; +} +.univer-border-transparent { + border-color: #0000; +} +.univer-bg-gray-300 { + background-color: var(--univer-gray-300); +} +.univer-bg-white { + background-color: var(--univer-white); +} +.univer-p-0\.5 { + padding: .125rem; +} +.univer-p-2 { + padding: .5rem; +} +.univer-p-4 { + padding: 1rem; +} +.univer-px-1\.5 { + padding-left: .375rem; + padding-right: .375rem; +} +.univer-px-2 { + padding-left: .5rem; + padding-right: .5rem; +} +.univer-py-0 { + padding-top: 0; + padding-bottom: 0; +} +.univer-py-0\.5 { + padding-top: .125rem; + padding-bottom: .125rem; +} +.univer-py-2\.5 { + padding-top: .625rem; + padding-bottom: .625rem; +} +.univer-pl-5 { + padding-left: 1.25rem; +} +.univer-pr-0\.5 { + padding-right: .125rem; +} +.univer-pr-2 { + padding-right: .5rem; +} +.univer-pt-2 { + padding-top: .5rem; +} +.univer-text-sm { + font-size: .875rem; + line-height: 1.25rem; +} +.univer-text-xs { + font-size: .75rem; + line-height: 1rem; +} +.univer-font-bold { + font-weight: 700; +} +.univer-text-\[\#418F1F\] { + --univer-tw-text-opacity: 1; + color: rgba(65, 143, 31, var(--univer-tw-text-opacity, 1)); +} +.univer-text-gray-400 { + color: var(--univer-gray-400); +} +.univer-text-gray-500 { + color: var(--univer-gray-500); +} +.univer-text-gray-900 { + color: var(--univer-gray-900); +} +.univer-text-primary-500 { + color: var(--univer-primary-500); +} +.univer-shadow-lg { + --univer-tw-shadow: 0px 4px 6px 0px #1e284d0d, 0px 10px 15px -3px #1e284d1a; + --univer-tw-shadow-colored: 0px 4px 6px 0px var(--univer-tw-shadow-color), 0px 10px 15px -3px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 4px 6px #1e284d0d, + 0 10px 15px -3px #1e284d1a; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-transition-shadow { + transition-property: box-shadow; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.hover\:univer-bg-gray-50:hover { + background-color: var(--univer-gray-50); +} +.hover\:univer-ring-2:hover { + --univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color); + --univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(2px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color); + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + 0 0 #0000; + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + var(--univer-tw-shadow, 0 0 #0000); +} +.hover\:univer-ring-offset-2:hover { + --univer-tw-ring-offset-width: 2px; +} +.hover\:univer-ring-offset-white:hover { + --univer-tw-ring-offset-color: var(--univer-white); +} +.dark\:\!univer-border-\[rgba\(255\,255\,255\,0\.06\)\]:where(.univer-dark, .univer-dark *) { + border-color: #ffffff0f !important; +} +.dark\:\!univer-border-gray-600:where(.univer-dark, .univer-dark *) { + border-color: var(--univer-gray-600) !important; +} +.dark\:\!univer-bg-gray-700:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-700) !important; +} +.dark\:\!univer-text-gray-200:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-200) !important; +} +.dark\:\!univer-text-gray-500:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-500) !important; +} +.dark\:\!univer-text-white:where(.univer-dark, .univer-dark *) { + color: var(--univer-white) !important; +} +.dark\:hover\:\!univer-bg-gray-900:hover:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-900) !important; +} +.\[\&\:hover_a\]\:univer-inline-block:hover a { + display: inline-block; +} + +/* ../../../../../node_modules/@univerjs/design/lib/index.css */ +*, +:before, +:after, +::backdrop { + --univer-tw-border-spacing-x: 0; + --univer-tw-border-spacing-y: 0; + --univer-tw-translate-x: 0; + --univer-tw-translate-y: 0; + --univer-tw-rotate: 0; + --univer-tw-skew-x: 0; + --univer-tw-skew-y: 0; + --univer-tw-scale-x: 1; + --univer-tw-scale-y: 1; + --univer-tw-pan-x: ; + --univer-tw-pan-y: ; + --univer-tw-pinch-zoom: ; + --univer-tw-scroll-snap-strictness: proximity; + --univer-tw-gradient-from-position: ; + --univer-tw-gradient-via-position: ; + --univer-tw-gradient-to-position: ; + --univer-tw-ordinal: ; + --univer-tw-slashed-zero: ; + --univer-tw-numeric-figure: ; + --univer-tw-numeric-spacing: ; + --univer-tw-numeric-fraction: ; + --univer-tw-ring-inset: ; + --univer-tw-ring-offset-width: 0px; + --univer-tw-ring-offset-color: #fff; + --univer-tw-ring-color: #93c5fd80; + --univer-tw-ring-offset-shadow: 0 0 #0000; + --univer-tw-ring-shadow: 0 0 #0000; + --univer-tw-shadow: 0 0 #0000; + --univer-tw-shadow-colored: 0 0 #0000; + --univer-tw-blur: ; + --univer-tw-brightness: ; + --univer-tw-contrast: ; + --univer-tw-grayscale: ; + --univer-tw-hue-rotate: ; + --univer-tw-invert: ; + --univer-tw-saturate: ; + --univer-tw-sepia: ; + --univer-tw-drop-shadow: ; + --univer-tw-backdrop-blur: ; + --univer-tw-backdrop-brightness: ; + --univer-tw-backdrop-contrast: ; + --univer-tw-backdrop-grayscale: ; + --univer-tw-backdrop-hue-rotate: ; + --univer-tw-backdrop-invert: ; + --univer-tw-backdrop-opacity: ; + --univer-tw-backdrop-saturate: ; + --univer-tw-backdrop-sepia: ; + --univer-tw-contain-size: ; + --univer-tw-contain-layout: ; + --univer-tw-contain-paint: ; + --univer-tw-contain-style: ; +} +* { + scrollbar-color: initial; + scrollbar-width: initial; +} +.univer-sr-only { + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + position: absolute; + overflow: hidden; +} +.univer-pointer-events-none { + pointer-events: none; +} +.univer-pointer-events-auto { + pointer-events: auto; +} +.univer-fixed { + position: fixed; +} +.univer-absolute { + position: absolute; +} +.univer-relative { + position: relative; +} +.univer-inset-0 { + top: 0; + bottom: 0; + left: 0; + right: 0; +} +.univer-inset-x-0 { + left: 0; + right: 0; +} +.univer-bottom-0 { + bottom: 0; +} +.univer-bottom-0\.5 { + bottom: .125rem; +} +.univer-bottom-6 { + bottom: 1.5rem; +} +.univer-left-0 { + left: 0; +} +.univer-left-0\.5 { + left: .125rem; +} +.univer-left-1\.5 { + left: .375rem; +} +.univer-left-1\/2 { + left: 50%; +} +.univer-left-2 { + left: .5rem; +} +.univer-left-\[-16px\] { + left: -16px; +} +.univer-right-0 { + right: 0; +} +.univer-right-2 { + right: .5rem; +} +.univer-right-4 { + right: 1rem; +} +.univer-right-px { + right: 1px; +} +.univer-top-0 { + top: 0; +} +.univer-top-1\/2 { + top: 50%; +} +.univer-top-4 { + top: 1rem; +} +.univer-top-px { + top: 1px; +} +.univer-z-0 { + z-index: 0; +} +.univer-z-10 { + z-index: 10; +} +.univer-z-\[1080\] { + z-index: 1080; +} +.univer-z-\[1081\] { + z-index: 1081; +} +.univer-m-0 { + margin: 0; +} +.-univer-mx-1 { + margin-left: -.25rem; + margin-right: -.25rem; +} +.univer-mx-1 { + margin-left: .25rem; + margin-right: .25rem; +} +.univer-mx-auto { + margin-left: auto; + margin-right: auto; +} +.univer-my-0 { + margin-top: 0; + margin-bottom: 0; +} +.univer-my-1 { + margin-top: .25rem; + margin-bottom: .25rem; +} +.univer-mb-0 { + margin-bottom: 0; +} +.univer-mb-1 { + margin-bottom: .25rem; +} +.univer-mb-2 { + margin-bottom: .5rem; +} +.univer-mb-3 { + margin-bottom: .75rem; +} +.univer-mb-4 { + margin-bottom: 1rem; +} +.univer-ml-1 { + margin-left: .25rem; +} +.univer-ml-auto { + margin-left: auto; +} +.univer-mt-1 { + margin-top: .25rem; +} +.univer-mt-2 { + margin-top: .5rem; +} +.univer-mt-4 { + margin-top: 1rem; +} +.univer-mt-6 { + margin-top: 1.5rem; +} +.univer-box-border { + box-sizing: border-box; +} +.univer-block { + display: block; +} +.univer-inline-block { + display: inline-block; +} +.univer-flex { + display: flex; +} +.univer-inline-flex { + display: inline-flex; +} +.univer-grid { + display: grid; +} +.\!univer-hidden { + display: none !important; +} +.univer-hidden { + display: none; +} +.univer-size-0 { + width: 0; + height: 0; +} +.univer-size-2 { + width: .5rem; + height: .5rem; +} +.univer-size-2\.5 { + width: .625rem; + height: .625rem; +} +.univer-size-3 { + width: .75rem; + height: .75rem; +} +.univer-size-3\.5 { + width: .875rem; + height: .875rem; +} +.univer-size-4 { + width: 1rem; + height: 1rem; +} +.univer-size-5 { + width: 1.25rem; + height: 1.25rem; +} +.univer-size-6 { + width: 1.5rem; + height: 1.5rem; +} +.univer-size-7 { + width: 1.75rem; + height: 1.75rem; +} +.univer-size-9 { + width: 2.25rem; + height: 2.25rem; +} +.univer-size-full { + width: 100%; + height: 100%; +} +.univer-h-0\.5 { + height: .125rem; +} +.univer-h-1\/2 { + height: 50%; +} +.univer-h-10 { + height: 2.5rem; +} +.univer-h-12 { + height: 3rem; +} +.univer-h-2 { + height: .5rem; +} +.univer-h-32 { + height: 8rem; +} +.univer-h-4 { + height: 1rem; +} +.univer-h-48 { + height: 12rem; +} +.univer-h-6 { + height: 1.5rem; +} +.univer-h-7 { + height: 1.75rem; +} +.univer-h-8 { + height: 2rem; +} +.univer-h-\[150px\] { + height: 150px; +} +.univer-h-\[calc\(100\%-2px\)\] { + height: calc(100% - 2px); +} +.univer-h-full { + height: 100%; +} +.univer-h-px { + height: 1px; +} +.univer-max-h-0 { + max-height: 0; +} +.univer-max-h-80 { + max-height: 20rem; +} +.univer-max-h-\[--radix-popper-available-height\] { + max-height: var(--radix-popper-available-height); +} +.univer-max-h-\[40vh\] { + max-height: 40vh; +} +.univer-max-h-full { + max-height: 100%; +} +.univer-max-h-screen { + max-height: 100vh; +} +.univer-min-h-0 { + min-height: 0; +} +.univer-min-h-3\.5 { + min-height: .875rem; +} +.univer-min-h-\[520px\] { + min-height: 520px; +} +.\!univer-w-fit { + width: fit-content !important; +} +.univer-w-2\.5 { + width: .625rem; +} +.univer-w-5 { + width: 1.25rem; +} +.univer-w-64 { + width: 16rem; +} +.univer-w-7 { + width: 1.75rem; +} +.univer-w-72 { + width: 18rem; +} +.univer-w-80 { + width: 20rem; +} +.univer-w-96 { + width: 24rem; +} +.univer-w-\[--radix-popper-anchor-width\] { + width: var(--radix-popper-anchor-width); +} +.univer-w-\[calc\(100\%-16px\)\] { + width: calc(100% - 16px); +} +.univer-w-fit { + width: fit-content; +} +.univer-w-full { + width: 100%; +} +.univer-min-w-36 { + min-width: 9rem; +} +.univer-min-w-\[320px\] { + min-width: 320px; +} +.univer-max-w-2xl { + max-width: 42rem; +} +.univer-max-w-32 { + max-width: 8rem; +} +.univer-max-w-5xl { + max-width: 64rem; +} +.univer-max-w-\[520px\] { + max-width: 520px; +} +.univer-max-w-\[60vw\] { + max-width: 60vw; +} +.univer-max-w-full { + max-width: 100%; +} +.univer-max-w-lg { + max-width: 32rem; +} +.univer-max-w-sm { + max-width: 24rem; +} +.univer-max-w-xs { + max-width: 20rem; +} +.univer-flex-1 { + flex: 1; +} +.univer-flex-shrink-0 { + flex-shrink: 0; +} +.univer-shrink { + flex-shrink: 1; +} +.univer-shrink-0 { + flex-shrink: 0; +} +.univer-origin-\[--radix-hover-card-content-transform-origin\] { + transform-origin: var(--radix-hover-card-content-transform-origin); +} +.-univer-translate-x-1\/2 { + --univer-tw-translate-x: -50%; + transform: translate(-50%, var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.-univer-translate-y-1\/2, +.univer--translate-y-1\/2 { + --univer-tw-translate-y: -50%; + transform: translate(var(--univer-tw-translate-x), -50%) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.univer-translate-x-3 { + --univer-tw-translate-x: .75rem; + transform: translate(.75rem, var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.-univer-rotate-90 { + --univer-tw-rotate: -90deg; + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(-90deg) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.univer-rotate-0 { + --univer-tw-rotate: 0deg; + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(0deg) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.univer-rotate-180 { + --univer-tw-rotate: 180deg; + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(180deg) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.univer-rotate-45 { + --univer-tw-rotate: 45deg; + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(45deg) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.univer-rotate-\[-90deg\] { + --univer-tw-rotate: -90deg; + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(-90deg) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.\!univer-animate-none { + animation: none !important; +} +@keyframes univer-spin { + to { + transform: rotate(360deg); + } +} +.univer-animate-spin { + animation: 1s linear infinite univer-spin; +} +.univer-cursor-crosshair { + cursor: crosshair; +} +.univer-cursor-default { + cursor: default; +} +.univer-cursor-grabbing { + cursor: grabbing; +} +.univer-cursor-not-allowed { + cursor: not-allowed; +} +.univer-cursor-pointer { + cursor: pointer; +} +.univer-select-none { + user-select: none; +} +.univer-resize { + resize: both; +} +.univer-list-none { + list-style-type: none; +} +.univer-appearance-none { + -webkit-appearance: none; + appearance: none; +} +.univer-grid-flow-row { + grid-auto-flow: row; +} +.univer-grid-flow-col { + grid-auto-flow: column; +} +.univer-grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); +} +.univer-grid-cols-7 { + grid-template-columns: repeat(7, minmax(0, 1fr)); +} +.univer-flex-col { + flex-direction: column; +} +.univer-flex-col-reverse { + flex-direction: column-reverse; +} +.univer-flex-wrap { + flex-wrap: wrap; +} +.univer-content-center { + align-content: center; +} +.univer-items-end { + align-items: flex-end; +} +.univer-items-center { + align-items: center; +} +.univer-justify-end { + justify-content: flex-end; +} +.univer-justify-center { + justify-content: center; +} +.univer-justify-between { + justify-content: space-between; +} +.univer-gap-0\.5 { + gap: .125rem; +} +.univer-gap-1 { + gap: .25rem; +} +.univer-gap-1\.5 { + gap: .375rem; +} +.univer-gap-2 { + gap: .5rem; +} +.univer-gap-2\.5 { + gap: .625rem; +} +.univer-gap-3 { + gap: .75rem; +} +.univer-gap-4 { + gap: 1rem; +} +.univer-space-y-1\.5 > :not([hidden]) ~ :not([hidden]) { + --univer-tw-space-y-reverse: 0; + margin-top: .375rem; + margin-top: calc(.375rem * (1 - var(--univer-tw-space-y-reverse))); + margin-top: .375rem; + margin-top: calc(.375rem * calc(1 - var(--univer-tw-space-y-reverse))); + margin-bottom: 0; + margin-bottom: calc(.375rem * var(--univer-tw-space-y-reverse)); +} +.univer-space-y-2 > :not([hidden]) ~ :not([hidden]) { + --univer-tw-space-y-reverse: 0; + margin-top: .5rem; + margin-top: calc(.5rem * (1 - var(--univer-tw-space-y-reverse))); + margin-top: .5rem; + margin-top: calc(.5rem * calc(1 - var(--univer-tw-space-y-reverse))); + margin-bottom: 0; + margin-bottom: calc(.5rem * var(--univer-tw-space-y-reverse)); +} +.univer-divide-x > :not([hidden]) ~ :not([hidden]) { + --univer-tw-divide-x-reverse: 0; + border-right-width: 0; + border-right-width: calc(1px * var(--univer-tw-divide-x-reverse)); + border-left-width: 1px; + border-left-width: calc(1px * (1 - var(--univer-tw-divide-x-reverse))); + border-left-width: 1px; + border-left-width: calc(1px * calc(1 - var(--univer-tw-divide-x-reverse))); +} +.univer-divide-x-0 > :not([hidden]) ~ :not([hidden]) { + --univer-tw-divide-x-reverse: 0; + border-right-width: 0; + border-right-width: calc(0px * var(--univer-tw-divide-x-reverse)); + border-left-width: 0; + border-left-width: calc(0px * (1 - var(--univer-tw-divide-x-reverse))); + border-left-width: 0; + border-left-width: calc(0px * calc(1 - var(--univer-tw-divide-x-reverse))); +} +.univer-divide-y > :not([hidden]) ~ :not([hidden]) { + --univer-tw-divide-y-reverse: 0; + border-top-width: 1px; + border-top-width: calc(1px * (1 - var(--univer-tw-divide-y-reverse))); + border-top-width: 1px; + border-top-width: calc(1px * calc(1 - var(--univer-tw-divide-y-reverse))); + border-bottom-width: 0; + border-bottom-width: calc(1px * var(--univer-tw-divide-y-reverse)); +} +.univer-divide-y-0 > :not([hidden]) ~ :not([hidden]) { + --univer-tw-divide-y-reverse: 0; + border-top-width: 0; + border-top-width: calc(0px * (1 - var(--univer-tw-divide-y-reverse))); + border-top-width: 0; + border-top-width: calc(0px * calc(1 - var(--univer-tw-divide-y-reverse))); + border-bottom-width: 0; + border-bottom-width: calc(0px * var(--univer-tw-divide-y-reverse)); +} +.univer-divide-solid > :not([hidden]) ~ :not([hidden]) { + border-style: solid; +} +.univer-divide-gray-200 > :not([hidden]) ~ :not([hidden]) { + border-color: var(--univer-gray-200); +} +.univer-overflow-auto { + overflow: auto; +} +.univer-overflow-hidden { + overflow: hidden; +} +.univer-overflow-y-auto { + overflow-y: auto; +} +.univer-truncate { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} +.univer-text-ellipsis { + text-overflow: ellipsis; +} +.univer-whitespace-nowrap { + white-space: nowrap; +} +.univer-text-balance { + text-wrap: balance; +} +.univer-break-words { + word-wrap: break-word; +} +.univer-rounded { + border-radius: .25rem; +} +.univer-rounded-2xl { + border-radius: 1rem; +} +.univer-rounded-3xl { + border-radius: 1.5rem; +} +.univer-rounded-full { + border-radius: 9999px; +} +.univer-rounded-lg { + border-radius: .5rem; +} +.univer-rounded-md { + border-radius: .375rem; +} +.univer-rounded-sm { + border-radius: .125rem; +} +.\!univer-rounded-b-none { + border-bottom-right-radius: 0 !important; + border-bottom-left-radius: 0 !important; +} +.\!univer-rounded-l-none { + border-top-left-radius: 0 !important; + border-bottom-left-radius: 0 !important; +} +.\!univer-rounded-r-none { + border-top-right-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} +.\!univer-rounded-t-none { + border-top-left-radius: 0 !important; + border-top-right-radius: 0 !important; +} +.univer-rounded-r-md { + border-top-right-radius: .375rem; + border-bottom-right-radius: .375rem; +} +.univer-border { + border-width: 1px; +} +.univer-border-2 { + border-width: 2px; +} +.\!univer-border-l-0 { + border-left-width: 0 !important; +} +.\!univer-border-t-0 { + border-top-width: 0 !important; +} +.univer-border-b { + border-bottom-width: 1px; +} +.univer-border-b-0 { + border-bottom-width: 0; +} +.univer-border-l { + border-left-width: 1px; +} +.univer-border-l-0 { + border-left-width: 0; +} +.univer-border-r { + border-right-width: 1px; +} +.univer-border-r-0 { + border-right-width: 0; +} +.univer-border-t { + border-top-width: 1px; +} +.univer-border-t-0 { + border-top-width: 0; +} +.univer-border-solid { + border-style: solid; +} +.univer-border-dashed { + border-style: dashed; +} +.univer-border-none { + border-style: none; +} +.\!univer-border-gray-200 { + border-color: var(--univer-gray-200) !important; +} +.univer-border-gray-100 { + border-color: var(--univer-gray-100); +} +.univer-border-gray-200 { + border-color: var(--univer-gray-200); +} +.univer-border-gray-300 { + border-color: var(--univer-gray-300); +} +.univer-border-primary-200 { + border-color: var(--univer-primary-200); +} +.univer-border-primary-300 { + border-color: var(--univer-primary-300); +} +.univer-border-primary-600 { + border-color: var(--univer-primary-600); +} +.univer-border-red-500 { + border-color: var(--univer-red-500); +} +.univer-border-transparent { + border-color: #0000; +} +.univer-border-white { + border-color: var(--univer-white); +} +.\!univer-bg-gray-500 { + background-color: var(--univer-gray-500) !important; +} +.\!univer-bg-gray-600 { + background-color: var(--univer-gray-600) !important; +} +.\!univer-bg-primary-600 { + background-color: var(--univer-primary-600) !important; +} +.univer-bg-\[rgba\(0\,0\,0\,0\.8\)\] { + background-color: #000c; +} +.univer-bg-gray-100 { + background-color: var(--univer-gray-100); +} +.univer-bg-gray-200 { + background-color: var(--univer-gray-200); +} +.univer-bg-gray-300 { + background-color: var(--univer-gray-300); +} +.univer-bg-gray-50 { + background-color: var(--univer-gray-50); +} +.univer-bg-gray-700 { + background-color: var(--univer-gray-700); +} +.univer-bg-gray-800 { + background-color: var(--univer-gray-800); +} +.univer-bg-gray-900 { + background-color: var(--univer-gray-900); +} +.univer-bg-primary-500 { + background-color: var(--univer-primary-500); +} +.univer-bg-primary-600 { + background-color: var(--univer-primary-600); +} +.univer-bg-red-500 { + background-color: var(--univer-red-500); +} +.univer-bg-sky-100\/70 { + background-color: #e0f2feb3; +} +.univer-bg-slate-100\/80 { + background-color: #f1f5f9cc; +} +.univer-bg-slate-900\/90 { + background-color: #0f172ae6; +} +.univer-bg-transparent { + background-color: #0000; +} +.univer-bg-white { + background-color: var(--univer-white); +} +.univer-bg-gradient-to-br { + background-image: linear-gradient(to bottom right, var(--univer-tw-gradient-stops)); +} +.univer-from-slate-100 { + --univer-tw-gradient-from: #f1f5f9 var(--univer-tw-gradient-from-position); + --univer-tw-gradient-to: #f1f5f900 var(--univer-tw-gradient-to-position); + --univer-tw-gradient-stops: var(--univer-tw-gradient-from), var(--univer-tw-gradient-to); +} +.univer-via-cyan-50 { + --univer-tw-gradient-to: #ecfeff00 var(--univer-tw-gradient-to-position); + --univer-tw-gradient-stops: + var(--univer-tw-gradient-from), + #ecfeff var(--univer-tw-gradient-via-position), + var(--univer-tw-gradient-to); +} +.univer-to-blue-100 { + --univer-tw-gradient-to: var(--univer-blue-100) var(--univer-tw-gradient-to-position); +} +.univer-fill-current { + fill: currentColor; +} +.\!univer-p-2\.5 { + padding: .625rem !important; +} +.univer-p-0 { + padding: 0; +} +.univer-p-1 { + padding: .25rem; +} +.univer-p-1\.5 { + padding: .375rem; +} +.univer-p-2 { + padding: .5rem; +} +.univer-p-4 { + padding: 1rem; +} +.univer-p-6 { + padding: 1.5rem; +} +.univer-p-8 { + padding: 2rem; +} +.univer-px-1 { + padding-left: .25rem; + padding-right: .25rem; +} +.univer-px-1\.5 { + padding-left: .375rem; + padding-right: .375rem; +} +.univer-px-2 { + padding-left: .5rem; + padding-right: .5rem; +} +.univer-px-2\.5 { + padding-left: .625rem; + padding-right: .625rem; +} +.univer-px-3 { + padding-left: .75rem; + padding-right: .75rem; +} +.univer-px-3\.5 { + padding-left: .875rem; + padding-right: .875rem; +} +.univer-px-4 { + padding-left: 1rem; + padding-right: 1rem; +} +.univer-px-6 { + padding-left: 1.5rem; + padding-right: 1.5rem; +} +.univer-px-7 { + padding-left: 1.75rem; + padding-right: 1.75rem; +} +.univer-py-0\.5 { + padding-top: .125rem; + padding-bottom: .125rem; +} +.univer-py-1 { + padding-top: .25rem; + padding-bottom: .25rem; +} +.univer-py-1\.5 { + padding-top: .375rem; + padding-bottom: .375rem; +} +.univer-py-2 { + padding-top: .5rem; + padding-bottom: .5rem; +} +.univer-py-3 { + padding-top: .75rem; + padding-bottom: .75rem; +} +.\!univer-pl-4 { + padding-left: 1rem !important; +} +.univer-pl-2 { + padding-left: .5rem; +} +.univer-pl-6 { + padding-left: 1.5rem; +} +.univer-pl-8 { + padding-left: 2rem; +} +.univer-pr-2 { + padding-right: .5rem; +} +.univer-pr-32 { + padding-right: 8rem; +} +.univer-pr-8 { + padding-right: 2rem; +} +.univer-pt-4 { + padding-top: 1rem; +} +.univer-text-left { + text-align: left; +} +.univer-text-center { + text-align: center; +} +.univer-align-middle { + vertical-align: middle; +} +.univer-font-mono { + font-family: + ui-monospace, + SFMono-Regular, + Menlo, + Monaco, + Consolas, + Liberation Mono, + Courier New, + monospace; +} +.univer-font-sans { + font-family: + ui-sans-serif, + system-ui, + -apple-system, + Segoe UI, + Roboto, + Ubuntu, + Cantarell, + Noto Sans, + sans-serif, + Apple Color Emoji, + Segoe UI Emoji, + Segoe UI Symbol, + Noto Color Emoji; +} +.univer-text-2xl { + font-size: 1.5rem; + line-height: 2rem; +} +.univer-text-\[13px\] { + font-size: 13px; +} +.univer-text-\[8px\] { + font-size: 8px; +} +.univer-text-base { + font-size: 1rem; + line-height: 1.5rem; +} +.univer-text-lg { + font-size: 1.125rem; + line-height: 1.75rem; +} +.univer-text-sm { + font-size: .875rem; + line-height: 1.25rem; +} +.univer-text-sm\/8 { + font-size: .875rem; + line-height: 2rem; +} +.univer-text-xs { + font-size: .75rem; + line-height: 1rem; +} +.univer-text-xs\/6 { + font-size: .75rem; + line-height: 1.5rem; +} +.univer-font-bold { + font-weight: 700; +} +.univer-font-medium { + font-weight: 500; +} +.univer-font-semibold { + font-weight: 600; +} +.univer-uppercase { + text-transform: uppercase; +} +.univer-leading-5 { + line-height: 1.25rem; +} +.univer-leading-6 { + line-height: 1.5rem; +} +.univer-leading-7 { + line-height: 1.75rem; +} +.univer-leading-9 { + line-height: 2.25rem; +} +.univer-leading-none { + line-height: 1; +} +.univer-leading-normal { + line-height: 1.5; +} +.univer-tracking-tight { + letter-spacing: -.025em; +} +.univer-tracking-wide { + letter-spacing: .025em; +} +.univer-tracking-widest { + letter-spacing: .1em; +} +.\!univer-text-gray-400 { + color: var(--univer-gray-400) !important; +} +.\!univer-text-primary-500 { + color: var(--univer-primary-500) !important; +} +.\!univer-text-white { + color: var(--univer-white) !important; +} +.univer-text-amber-500 { + --univer-tw-text-opacity: 1; + color: rgba(245, 158, 11, var(--univer-tw-text-opacity, 1)); +} +.univer-text-current { + color: currentColor; +} +.univer-text-cyan-700 { + --univer-tw-text-opacity: 1; + color: rgba(14, 116, 144, var(--univer-tw-text-opacity, 1)); +} +.univer-text-gray-400 { + color: var(--univer-gray-400); +} +.univer-text-gray-500 { + color: var(--univer-gray-500); +} +.univer-text-gray-600 { + color: var(--univer-gray-600); +} +.univer-text-gray-700 { + color: var(--univer-gray-700); +} +.univer-text-gray-800 { + color: var(--univer-gray-800); +} +.univer-text-gray-900 { + color: var(--univer-gray-900); +} +.univer-text-green-500 { + color: var(--univer-green-500); +} +.univer-text-primary-500 { + color: var(--univer-primary-500); +} +.univer-text-primary-600 { + color: var(--univer-primary-600); +} +.univer-text-red-500 { + color: var(--univer-red-500); +} +.univer-text-sky-500 { + --univer-tw-text-opacity: 1; + color: rgba(14, 165, 233, var(--univer-tw-text-opacity, 1)); +} +.univer-text-sky-700 { + --univer-tw-text-opacity: 1; + color: rgba(3, 105, 161, var(--univer-tw-text-opacity, 1)); +} +.univer-text-sky-900 { + --univer-tw-text-opacity: 1; + color: rgba(12, 74, 110, var(--univer-tw-text-opacity, 1)); +} +.univer-text-slate-500 { + --univer-tw-text-opacity: 1; + color: rgba(100, 116, 139, var(--univer-tw-text-opacity, 1)); +} +.univer-text-slate-600 { + --univer-tw-text-opacity: 1; + color: rgba(71, 85, 105, var(--univer-tw-text-opacity, 1)); +} +.univer-text-slate-700 { + --univer-tw-text-opacity: 1; + color: rgba(51, 65, 85, var(--univer-tw-text-opacity, 1)); +} +.univer-text-slate-800 { + --univer-tw-text-opacity: 1; + color: rgba(30, 41, 59, var(--univer-tw-text-opacity, 1)); +} +.univer-text-violet-500 { + --univer-tw-text-opacity: 1; + color: rgba(139, 92, 246, var(--univer-tw-text-opacity, 1)); +} +.univer-text-white { + color: var(--univer-white); +} +.univer-underline-offset-4 { + text-underline-offset: 4px; +} +.univer-opacity-0 { + opacity: 0; +} +.univer-opacity-40 { + opacity: .4; +} +.univer-opacity-50 { + opacity: .5; +} +.univer-opacity-60 { + opacity: .6; +} +.univer-opacity-80 { + opacity: .8; +} +.univer-shadow { + --univer-tw-shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a; + --univer-tw-shadow-colored: 0 1px 3px 0 var(--univer-tw-shadow-color), 0 1px 2px -1px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 1px 3px #0000001a, + 0 1px 2px -1px #0000001a; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-shadow-\[0_30px_60px_-35px_rgba\(15\,23\,42\,0\.55\)\] { + --univer-tw-shadow: 0 30px 60px -35px #0f172a8c; + --univer-tw-shadow-colored: 0 30px 60px -35px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 30px 60px -35px #0f172a8c; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-shadow-inner { + --univer-tw-shadow: inset 0 2px 4px 0 #0000000d; + --univer-tw-shadow-colored: inset 0 2px 4px 0 var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + inset 0 2px 4px #0000000d; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-shadow-lg { + --univer-tw-shadow: 0px 4px 6px 0px #1e284d0d, 0px 10px 15px -3px #1e284d1a; + --univer-tw-shadow-colored: 0px 4px 6px 0px var(--univer-tw-shadow-color), 0px 10px 15px -3px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 4px 6px #1e284d0d, + 0 10px 15px -3px #1e284d1a; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-shadow-md { + --univer-tw-shadow: 0px 1px 6px -2px #1e284d14, 0px 2px 6px -1px #1e284d1a; + --univer-tw-shadow-colored: 0px 1px 6px -2px var(--univer-tw-shadow-color), 0px 2px 6px -1px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 1px 6px -2px #1e284d14, + 0 2px 6px -1px #1e284d1a; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-shadow-sm { + --univer-tw-shadow: 0px 1px 2px 0px #1e284d14; + --univer-tw-shadow-colored: 0px 1px 2px 0px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 1px 2px #1e284d14; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-outline-none { + outline-offset: 2px; + outline: 2px solid #0000; +} +.univer-ring-2 { + --univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color); + --univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(2px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color); + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + 0 0 #0000; + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + var(--univer-tw-shadow, 0 0 #0000); +} +.\!univer-ring-primary-900 { + --univer-tw-ring-color: var(--univer-primary-900) !important; +} +.univer-ring-primary-50 { + --univer-tw-ring-color: var(--univer-primary-50); +} +.univer-ring-primary-500 { + --univer-tw-ring-color: var(--univer-primary-500); +} +.univer-ring-white { + --univer-tw-ring-color: var(--univer-white); +} +.univer-ring-offset-2 { + --univer-tw-ring-offset-width: 2px; +} +.\!univer-ring-offset-gray-600 { + --univer-tw-ring-offset-color: var(--univer-gray-600) !important; +} +.univer-ring-offset-white { + --univer-tw-ring-offset-color: var(--univer-white); +} +.univer-drop-shadow-sm { + --univer-tw-drop-shadow: drop-shadow(0 1px 1px #0000000d); + filter: var(--univer-tw-blur) var(--univer-tw-brightness) var(--univer-tw-contrast) var(--univer-tw-grayscale) var(--univer-tw-hue-rotate) var(--univer-tw-invert) var(--univer-tw-saturate) var(--univer-tw-sepia) var(--univer-tw-drop-shadow); +} +.univer-backdrop-blur-xl { + --univer-tw-backdrop-blur: blur(24px); + backdrop-filter: var(--univer-tw-backdrop-blur) var(--univer-tw-backdrop-brightness) var(--univer-tw-backdrop-contrast) var(--univer-tw-backdrop-grayscale) var(--univer-tw-backdrop-hue-rotate) var(--univer-tw-backdrop-invert) var(--univer-tw-backdrop-opacity) var(--univer-tw-backdrop-saturate) var(--univer-tw-backdrop-sepia); +} +.univer-transition-\[color\,box-shadow\] { + transition-property: color, box-shadow; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-transition-\[max-height\,opacity\] { + transition-property: max-height, opacity; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-transition-all { + transition-property: all; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-transition-colors { + transition-property: + color, + background-color, + border-color, + text-decoration-color, + fill, + stroke; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-transition-opacity { + transition-property: opacity; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-transition-shadow { + transition-property: box-shadow; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-transition-transform { + transition-property: transform; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-duration-150 { + transition-duration: .15s; +} +.univer-duration-200 { + transition-duration: .2s; +} +.univer-duration-300 { + transition-duration: .3s; +} +.univer-duration-500 { + transition-duration: .5s; +} +.univer-duration-75 { + transition-duration: 75ms; +} +.univer-ease-in-out { + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-ease-out { + transition-timing-function: cubic-bezier(0, 0, .2, 1); +} +.univer-will-change-transform { + will-change: transform; +} +.univer-scrollbar-thin::-webkit-scrollbar-track { + background-color: var(--scrollbar-track); + border-radius: var(--scrollbar-track-radius); +} +.univer-scrollbar-thin::-webkit-scrollbar-track:hover { + background-color: var(--scrollbar-track-hover, var(--scrollbar-track)); +} +.univer-scrollbar-thin::-webkit-scrollbar-track:active { + background-color: var(--scrollbar-track-active, var(--scrollbar-track-hover, var(--scrollbar-track))); +} +.univer-scrollbar-thin::-webkit-scrollbar-thumb { + background-color: var(--scrollbar-thumb); + border-radius: var(--scrollbar-thumb-radius); +} +.univer-scrollbar-thin::-webkit-scrollbar-thumb:hover { + background-color: var(--scrollbar-thumb-hover, var(--scrollbar-thumb)); +} +.univer-scrollbar-thin::-webkit-scrollbar-thumb:active { + background-color: var(--scrollbar-thumb-active, var(--scrollbar-thumb-hover, var(--scrollbar-thumb))); +} +.univer-scrollbar-thin::-webkit-scrollbar-corner { + background-color: var(--scrollbar-corner); + border-radius: var(--scrollbar-corner-radius); +} +.univer-scrollbar-thin::-webkit-scrollbar-corner:hover { + background-color: var(--scrollbar-corner-hover, var(--scrollbar-corner)); +} +.univer-scrollbar-thin::-webkit-scrollbar-corner:active { + background-color: var(--scrollbar-corner-active, var(--scrollbar-corner-hover, var(--scrollbar-corner))); +} +.univer-scrollbar-thin { + scrollbar-width: thin; + scrollbar-color: initial initial; + scrollbar-color: var(--scrollbar-thumb, initial) var(--scrollbar-track, initial); +} +.univer-scrollbar-thin::-webkit-scrollbar { + width: 8px; + height: 8px; + display: block; +} +.univer-scrollbar-track-gray-50 { + --scrollbar-track: var(--univer-gray-50) !important; +} +.univer-scrollbar-thumb-gray-300 { + --scrollbar-thumb: var(--univer-gray-300) !important; +} +@keyframes enter { + from { + opacity: 1; + opacity: var(--univer-tw-enter-opacity, 1); + transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotate(0); + transform: translate3d(var(--univer-tw-enter-translate-x, 0), var(--univer-tw-enter-translate-y, 0), 0) scale3d(var(--univer-tw-enter-scale, 1), var(--univer-tw-enter-scale, 1), var(--univer-tw-enter-scale, 1)) rotate(var(--univer-tw-enter-rotate, 0)); + } +} +@keyframes exit { + to { + opacity: 1; + opacity: var(--univer-tw-exit-opacity, 1); + transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotate(0); + transform: translate3d(var(--univer-tw-exit-translate-x, 0), var(--univer-tw-exit-translate-y, 0), 0) scale3d(var(--univer-tw-exit-scale, 1), var(--univer-tw-exit-scale, 1), var(--univer-tw-exit-scale, 1)) rotate(var(--univer-tw-exit-rotate, 0)); + } +} +.univer-animate-in { + --univer-tw-enter-opacity: initial; + --univer-tw-enter-scale: initial; + --univer-tw-enter-rotate: initial; + --univer-tw-enter-translate-x: initial; + --univer-tw-enter-translate-y: initial; + animation-name: enter; + animation-duration: .15s; +} +.univer-animate-out { + --univer-tw-exit-opacity: initial; + --univer-tw-exit-scale: initial; + --univer-tw-exit-rotate: initial; + --univer-tw-exit-translate-x: initial; + --univer-tw-exit-translate-y: initial; + animation-name: exit; + animation-duration: .15s; +} +.univer-fade-in, +.univer-fade-in-0 { + --univer-tw-enter-opacity: 0; +} +.univer-fade-out { + --univer-tw-exit-opacity: 0; +} +.univer-zoom-in-95 { + --univer-tw-enter-scale: .95; +} +.univer-duration-150 { + animation-duration: .15s; +} +.univer-duration-200 { + animation-duration: .2s; +} +.univer-duration-300 { + animation-duration: .3s; +} +.univer-duration-500 { + animation-duration: .5s; +} +.univer-duration-75 { + animation-duration: 75ms; +} +.univer-ease-in-out { + animation-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-ease-out { + animation-timing-function: cubic-bezier(0, 0, .2, 1); +} +.placeholder\:univer-text-gray-200::placeholder { + color: var(--univer-gray-200); +} +.placeholder\:univer-text-gray-400::placeholder { + color: var(--univer-gray-400); +} +.before\:univer-absolute:before { + content: var(--univer-tw-content); + position: absolute; +} +.before\:univer-top-1\/2:before { + content: var(--univer-tw-content); + top: 50%; +} +.before\:univer-block:before { + content: var(--univer-tw-content); + display: block; +} +.before\:univer-h-px:before { + content: var(--univer-tw-content); + height: 1px; +} +.before\:univer-w-full:before { + content: var(--univer-tw-content); + width: 100%; +} +.before\:-univer-translate-y-1\/2:before { + content: var(--univer-tw-content); + --univer-tw-translate-y: -50%; + transform: translate(var(--univer-tw-translate-x), -50%) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.before\:univer-bg-gray-200:before { + content: var(--univer-tw-content); + background-color: var(--univer-gray-200); +} +.before\:univer-content-\[\"\"\]:before { + --univer-tw-content: ""; + content: ""; + content: var(--univer-tw-content); +} +.last\:univer-mb-0:last-child { + margin-bottom: 0; +} +.data-\[disabled\]\:univer-pointer-events-none[data-disabled] { + pointer-events: none; +} +.data-\[orientation\=horizontal\]\:univer-h-px[data-orientation=horizontal] { + height: 1px; +} +.data-\[orientation\=vertical\]\:univer-h-full[data-orientation=vertical] { + height: 100%; +} +.data-\[orientation\=horizontal\]\:univer-w-full[data-orientation=horizontal] { + width: 100%; +} +.data-\[orientation\=vertical\]\:univer-w-px[data-orientation=vertical] { + width: 1px; +} +.data-\[state\=open\]\:univer-bg-gray-100[data-state=open] { + background-color: var(--univer-gray-100); +} +.data-\[disabled\]\:univer-opacity-50[data-disabled] { + opacity: .5; +} +.data-\[state\=open\]\:univer-animate-in[data-state=open] { + --univer-tw-enter-opacity: initial; + --univer-tw-enter-scale: initial; + --univer-tw-enter-rotate: initial; + --univer-tw-enter-translate-x: initial; + --univer-tw-enter-translate-y: initial; + animation-name: enter; + animation-duration: .15s; +} +.data-\[state\=closed\]\:univer-animate-out[data-state=closed] { + --univer-tw-exit-opacity: initial; + --univer-tw-exit-scale: initial; + --univer-tw-exit-rotate: initial; + --univer-tw-exit-translate-x: initial; + --univer-tw-exit-translate-y: initial; + animation-name: exit; + animation-duration: .15s; +} +.data-\[state\=closed\]\:univer-fade-out-0[data-state=closed] { + --univer-tw-exit-opacity: 0; +} +.data-\[state\=open\]\:univer-fade-in-0[data-state=open] { + --univer-tw-enter-opacity: 0; +} +.data-\[state\=closed\]\:univer-zoom-out-95[data-state=closed] { + --univer-tw-exit-scale: .95; +} +.data-\[state\=open\]\:univer-zoom-in-95[data-state=open] { + --univer-tw-enter-scale: .95; +} +.data-\[side\=bottom\]\:univer-slide-in-from-top-2[data-side=bottom] { + --univer-tw-enter-translate-y: -.5rem; +} +.data-\[side\=left\]\:univer-slide-in-from-right-2[data-side=left] { + --univer-tw-enter-translate-x: .5rem; +} +.data-\[side\=right\]\:univer-slide-in-from-left-2[data-side=right] { + --univer-tw-enter-translate-x: -.5rem; +} +.data-\[side\=top\]\:univer-slide-in-from-bottom-2[data-side=top] { + --univer-tw-enter-translate-y: .5rem; +} +.data-\[state\=closed\]\:univer-slide-out-to-left-1\/2[data-state=closed] { + --univer-tw-exit-translate-x: -50%; +} +.data-\[state\=closed\]\:univer-slide-out-to-top-\[48\%\][data-state=closed] { + --univer-tw-exit-translate-y: -48%; +} +.data-\[state\=open\]\:univer-slide-in-from-left-1\/2[data-state=open] { + --univer-tw-enter-translate-x: -50%; +} +.data-\[state\=open\]\:univer-slide-in-from-top-\[48\%\][data-state=open] { + --univer-tw-enter-translate-y: -48%; +} +.hover\:univer-border-primary-600:hover { + border-color: var(--univer-primary-600); +} +.hover\:univer-border-red-400:hover { + border-color: var(--univer-red-400); +} +.hover\:univer-border-transparent:hover { + border-color: #0000; +} +.hover\:univer-bg-gray-100:hover { + background-color: var(--univer-gray-100); +} +.hover\:univer-bg-gray-200:hover { + background-color: var(--univer-gray-200); +} +.hover\:univer-bg-gray-50:hover { + background-color: var(--univer-gray-50); +} +.hover\:univer-bg-primary-500:hover { + background-color: var(--univer-primary-500); +} +.hover\:univer-bg-red-400:hover { + background-color: var(--univer-red-400); +} +.hover\:univer-text-gray-500:hover { + color: var(--univer-gray-500); +} +.hover\:univer-text-gray-900:hover { + color: var(--univer-gray-900); +} +.hover\:univer-text-primary-500:hover { + color: var(--univer-primary-500); +} +.hover\:univer-text-white:hover { + color: var(--univer-white); +} +.hover\:univer-underline:hover { + text-decoration-line: underline; +} +.hover\:univer-opacity-100:hover { + opacity: 1; +} +.hover\:univer-opacity-70:hover { + opacity: .7; +} +.hover\:univer-opacity-80:hover { + opacity: .8; +} +.focus\:univer-border-primary-500:focus { + border-color: var(--univer-primary-500); +} +.focus\:univer-border-primary-600:focus { + border-color: var(--univer-primary-600); +} +.focus\:univer-bg-gray-100:focus { + background-color: var(--univer-gray-100); +} +.focus\:univer-outline-none:focus { + outline-offset: 2px; + outline: 2px solid #0000; +} +.focus\:univer-ring-2:focus { + --univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color); + --univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(2px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color); + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + 0 0 #0000; + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + var(--univer-tw-shadow, 0 0 #0000); +} +.focus\:univer-ring-primary-50:focus { + --univer-tw-ring-color: var(--univer-primary-50); +} +.active\:univer-border-red-600:active { + border-color: var(--univer-red-600); +} +.active\:univer-bg-gray-200:active { + background-color: var(--univer-gray-200); +} +.active\:univer-bg-primary-700:active { + background-color: var(--univer-primary-700); +} +.active\:univer-bg-red-600:active { + background-color: var(--univer-red-600); +} +.active\:univer-text-primary-700:active { + color: var(--univer-primary-700); +} +.disabled\:univer-pointer-events-none:disabled { + pointer-events: none; +} +.disabled\:univer-cursor-not-allowed:disabled { + cursor: not-allowed; +} +.disabled\:univer-opacity-50:disabled { + opacity: .5; +} +@media (min-width: 640px) { + .sm\:\!univer-flex-row { + flex-direction: row !important; + } + .sm\:\!univer-justify-end { + justify-content: flex-end !important; + } + .sm\:\!univer-space-x-2 > :not([hidden]) ~ :not([hidden]) { + --univer-tw-space-x-reverse: 0 !important; + margin-right: 0 !important; + margin-right: calc(.5rem * var(--univer-tw-space-x-reverse)) !important; + margin-left: .5rem !important; + margin-left: calc(.5rem * (1 - var(--univer-tw-space-x-reverse))) !important; + margin-left: .5rem !important; + margin-left: calc(.5rem * calc(1 - var(--univer-tw-space-x-reverse))) !important; + } + .sm\:\!univer-rounded-lg { + border-radius: .5rem !important; + } + .sm\:\!univer-text-left { + text-align: left !important; + } +} +@media (min-width: 768px) { + .md\:univer-grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } +} +.dark\:\!univer-divide-gray-600:where(.univer-dark, .univer-dark *) > :not([hidden]) ~ :not([hidden]) { + border-color: var(--univer-gray-600) !important; +} +.dark\:\!univer-border-gray-500:where(.univer-dark, .univer-dark *) { + border-color: var(--univer-gray-500) !important; +} +.dark\:\!univer-border-gray-600:where(.univer-dark, .univer-dark *) { + border-color: var(--univer-gray-600) !important; +} +.dark\:\!univer-border-gray-700:where(.univer-dark, .univer-dark *) { + border-color: var(--univer-gray-700) !important; +} +.dark\:\!univer-border-primary-700:where(.univer-dark, .univer-dark *) { + border-color: var(--univer-primary-700) !important; +} +.dark\:\!univer-bg-gray-100:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-100) !important; +} +.dark\:\!univer-bg-gray-500:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-500) !important; +} +.dark\:\!univer-bg-gray-600:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-600) !important; +} +.dark\:\!univer-bg-gray-700:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-700) !important; +} +.dark\:\!univer-bg-gray-800:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-800) !important; +} +.dark\:\!univer-bg-gray-900:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-900) !important; +} +.dark\:\!univer-bg-primary-600:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-primary-600) !important; +} +.dark\:\!univer-text-gray-100:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-100) !important; +} +.dark\:\!univer-text-gray-200:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-200) !important; +} +.dark\:\!univer-text-gray-300:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-300) !important; +} +.dark\:\!univer-text-gray-400:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-400) !important; +} +.dark\:\!univer-text-gray-500:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-500) !important; +} +.dark\:\!univer-text-gray-900:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-900) !important; +} +.dark\:\!univer-text-primary-500:where(.univer-dark, .univer-dark *) { + color: var(--univer-primary-500) !important; +} +.dark\:\!univer-text-sky-400:where(.univer-dark, .univer-dark *) { + --univer-tw-text-opacity: 1 !important; + color: rgba(56, 189, 248, var(--univer-tw-text-opacity, 1)) !important; +} +.dark\:\!univer-text-white:where(.univer-dark, .univer-dark *) { + color: var(--univer-white) !important; +} +.dark\:\!univer-ring-primary-600:where(.univer-dark, .univer-dark *) { + --univer-tw-ring-color: var(--univer-primary-600) !important; +} +.dark\:\!univer-ring-primary-900:where(.univer-dark, .univer-dark *) { + --univer-tw-ring-color: var(--univer-primary-900) !important; +} +.dark\:\!univer-ring-offset-gray-600:where(.univer-dark, .univer-dark *) { + --univer-tw-ring-offset-color: var(--univer-gray-600) !important; +} +.dark\:\!univer-scrollbar-track-gray-900:where(.univer-dark, .univer-dark *) { + --scrollbar-track: var(--univer-gray-900) !important; +} +.dark\:\!univer-scrollbar-thumb-gray-700:where(.univer-dark, .univer-dark *) { + --scrollbar-thumb: var(--univer-gray-700) !important; +} +.dark\:before\:\!univer-bg-gray-600:where(.univer-dark, .univer-dark *):before { + content: var(--univer-tw-content); + background-color: var(--univer-gray-600) !important; +} +.dark\:data-\[state\=open\]\:\!univer-bg-gray-600[data-state=open]:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-600) !important; +} +.dark\:hover\:\!univer-bg-gray-600:hover:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-600) !important; +} +.dark\:hover\:\!univer-bg-gray-700:hover:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-700) !important; +} +.dark\:hover\:\!univer-text-white:hover:where(.univer-dark, .univer-dark *) { + color: var(--univer-white) !important; +} +.dark\:focus\:\!univer-border-primary-500:focus:where(.univer-dark, .univer-dark *) { + border-color: var(--univer-primary-500) !important; +} +.dark\:focus\:\!univer-bg-gray-600:focus:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-600) !important; +} +.dark\:focus\:\!univer-ring-primary-900:focus:where(.univer-dark, .univer-dark *) { + --univer-tw-ring-color: var(--univer-primary-900) !important; +} +.dark\:focus-visible\:\!univer-border-gray-600:focus-visible:where(.univer-dark, .univer-dark *) { + border-color: var(--univer-gray-600) !important; +} +.dark\:active\:\!univer-bg-gray-600:active:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-600) !important; +} +.dark\:active\:\!univer-bg-gray-700:active:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-700) !important; +} +.\[\&\:\:-webkit-calendar-picker-indicator\]\:univer-hidden::-webkit-calendar-picker-indicator { + display: none; +} +.\[\&\:\:-webkit-calendar-picker-indicator\]\:univer-appearance-none::-webkit-calendar-picker-indicator { + -webkit-appearance: none; + appearance: none; +} +.\[\&\>input\]\:univer-w-11 > input { + width: 2.75rem; +} +.\[\&\>input\]\:univer-border-gray-200 > input { + border-color: var(--univer-gray-200); +} +.\[\&\>input\]\:focus\:univer-border-primary-500:focus > input { + border-color: var(--univer-primary-500); +} +.dark\:\[\&\>input\]\:\!univer-border-gray-600 > input:where(.univer-dark, .univer-dark *) { + border-color: var(--univer-gray-600) !important; +} +.dark\:\[\&\>input\]\:\!univer-text-white > input:where(.univer-dark, .univer-dark *) { + color: var(--univer-white) !important; +} +.\[\&\>svg\]\:univer-block > svg { + display: block; +} +.\[\&\>svg\]\:univer-size-4 > svg { + width: 1rem; + height: 1rem; +} +.\[\&\>svg\]\:univer-shrink-0 > svg { + flex-shrink: 0; +} +.\[\&\>ul\:not\(\:last-child\)\]\:univer-border-0 > ul:not(:last-child) { + border-width: 0; +} +.\[\&\>ul\:not\(\:last-child\)\]\:univer-border-r > ul:not(:last-child) { + border-right-width: 1px; +} +.\[\&\>ul\:not\(\:last-child\)\]\:univer-border-solid > ul:not(:last-child) { + border-style: solid; +} +.\[\&\>ul\:not\(\:last-child\)\]\:univer-border-r-gray-200 > ul:not(:last-child) { + border-right-color: var(--univer-gray-200); +} +.\[\&_\[data-description\]\]\:univer-text-sm [data-description] { + font-size: .875rem; + line-height: 1.25rem; +} +.\[\&_\[data-description\]\]\:univer-text-gray-200 [data-description] { + color: var(--univer-gray-200); +} +.\[\&_\[data-description\]\]\:univer-text-gray-600 [data-description] { + color: var(--univer-gray-600); +} +.\[\&_\[data-icon\]\>svg\]\:univer-relative [data-icon] > svg { + position: relative; +} +.\[\&_\[data-icon\]\>svg\]\:univer-top-1 [data-icon] > svg { + top: .25rem; +} +.\[\&_\[data-icon\]\]\:univer-self-baseline [data-icon] { + align-self: baseline; +} +.\[\&_\[data-icon\]\]\:univer-text-amber-500 [data-icon] { + --univer-tw-text-opacity: 1; + color: rgba(245, 158, 11, var(--univer-tw-text-opacity, 1)); +} +.\[\&_\[data-icon\]\]\:univer-text-green-500 [data-icon] { + color: var(--univer-green-500); +} +.\[\&_\[data-icon\]\]\:univer-text-primary-600 [data-icon] { + color: var(--univer-primary-600); +} +.\[\&_\[data-icon\]\]\:univer-text-red-500 [data-icon] { + color: var(--univer-red-500); +} +.\[\&_\[data-icon\]\]\:univer-text-sky-500 [data-icon] { + --univer-tw-text-opacity: 1; + color: rgba(14, 165, 233, var(--univer-tw-text-opacity, 1)); +} +.\[\&_\[data-icon\]\]\:univer-text-violet-500 [data-icon] { + --univer-tw-text-opacity: 1; + color: rgba(139, 92, 246, var(--univer-tw-text-opacity, 1)); +} +.\[\&_\[data-icon\]\]\:univer-text-yellow-500 [data-icon] { + color: var(--univer-yellow-500); +} +.\[\&_\[data-sonner-toast\]\]\:univer-rounded-2xl [data-sonner-toast] { + border-radius: 1rem; +} +.\[\&_\[data-sonner-toast\]\]\:univer-border [data-sonner-toast] { + border-width: 1px; +} +.\[\&_\[data-sonner-toast\]\]\:univer-border-solid [data-sonner-toast] { + border-style: solid; +} +.\[\&_\[data-sonner-toast\]\]\:univer-border-gray-200 [data-sonner-toast] { + border-color: var(--univer-gray-200); +} +.\[\&_\[data-sonner-toast\]\]\:univer-shadow-\[0_16px_40px_-20px_rgba\(15\,23\,42\,0\.55\)\] [data-sonner-toast] { + --univer-tw-shadow: 0 16px 40px -20px #0f172a8c; + --univer-tw-shadow-colored: 0 16px 40px -20px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 16px 40px -20px #0f172a8c; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.\[\&_\[data-sonner-toast\]\]\:univer-shadow-md [data-sonner-toast] { + --univer-tw-shadow: 0px 1px 6px -2px #1e284d14, 0px 2px 6px -1px #1e284d1a; + --univer-tw-shadow-colored: 0px 1px 6px -2px var(--univer-tw-shadow-color), 0px 2px 6px -1px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 1px 6px -2px #1e284d14, + 0 2px 6px -1px #1e284d1a; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.\[\&_\[data-sonner-toast\]\]\:univer-backdrop-blur-sm [data-sonner-toast] { + --univer-tw-backdrop-blur: blur(4px); + backdrop-filter: var(--univer-tw-backdrop-blur) var(--univer-tw-backdrop-brightness) var(--univer-tw-backdrop-contrast) var(--univer-tw-backdrop-grayscale) var(--univer-tw-backdrop-hue-rotate) var(--univer-tw-backdrop-invert) var(--univer-tw-backdrop-opacity) var(--univer-tw-backdrop-saturate) var(--univer-tw-backdrop-sepia); +} +.dark\:\[\&_\[data-sonner-toast\]\]\:\!univer-border-gray-600 [data-sonner-toast]:where(.univer-dark, .univer-dark *) { + border-color: var(--univer-gray-600) !important; +} +.\[\&_\[data-title\]\]\:univer-text-sm [data-title] { + font-size: .875rem; + line-height: 1.25rem; +} +.\[\&_\[data-title\]\]\:univer-text-gray-900 [data-title] { + color: var(--univer-gray-900); +} +.\[\&_\[data-u-comp\=form-layout\]\]\:univer-max-w-\[calc\(50\%-8px\)\] [data-u-comp=form-layout] { + max-width: calc(50% - 8px); +} +.\[\&_\[data-u-comp\=form-layout\]\]\:univer-shrink [data-u-comp=form-layout] { + flex-shrink: 1; +} +.\[\&_\[data-u-comp\=form-layout\]\]\:univer-grow [data-u-comp=form-layout] { + flex-grow: 1; +} +.\[\&_\[data-u-comp\=input\]\]\:univer-w-full [data-u-comp=input] { + width: 100%; +} +.\[\&_\[data-u-comp\=input\]\]\:univer-border-red-500 [data-u-comp=input] { + border-color: var(--univer-red-500); +} +.\[\&_\[data-u-comp\=pager-left-arrow\]\:hover\]\:\!univer-bg-gray-600 [data-u-comp=pager-left-arrow]:hover, +.\[\&_\[data-u-comp\=pager-right-arrow\]\:hover\]\:\!univer-bg-gray-600 [data-u-comp=pager-right-arrow]:hover { + background-color: var(--univer-gray-600) !important; +} +.\[\&_\[data-u-comp\=select\]\]\:univer-w-full [data-u-comp=select] { + width: 100%; +} +.\[\&_\[data-u-comp\=select\]\]\:univer-border-red-500 [data-u-comp=select] { + border-color: var(--univer-red-500); +} +.\[\&_input\]\:univer-box-border input { + box-sizing: border-box; +} +.\[\&_input\]\:univer-flex input { + display: flex; +} +.\[\&_input\]\:univer-h-7 input { + height: 1.75rem; +} +.\[\&_input\]\:univer-items-center input { + align-items: center; +} +.\[\&_input\]\:univer-rounded input { + border-radius: .25rem; +} +.\[\&_input\]\:univer-border input { + border-width: 1px; +} +.\[\&_input\]\:univer-border-solid input { + border-style: solid; +} +.\[\&_input\]\:univer-border-gray-200 input { + border-color: var(--univer-gray-200); +} +.\[\&_input\]\:univer-border-gray-600 input { + border-color: var(--univer-gray-600); +} +.\[\&_input\]\:univer-bg-transparent input { + background-color: #0000; +} +.\[\&_input\]\:univer-px-1\.5 input { + padding-left: .375rem; + padding-right: .375rem; +} +.\[\&_input\]\:univer-text-sm input { + font-size: .875rem; + line-height: 1.25rem; +} +.\[\&_input\]\:univer-text-gray-700 input { + color: var(--univer-gray-700); +} +.\[\&_input\]\:univer-text-white input { + color: var(--univer-white); +} +.\[\&_input\]\:univer-outline-none input { + outline-offset: 2px; + outline: 2px solid #0000; +} +.\[\&_svg\]\:univer-pointer-events-none svg { + pointer-events: none; +} +.\[\&_svg\]\:univer-size-4 svg { + width: 1rem; + height: 1rem; +} +.\[\&_svg\]\:univer-shrink-0 svg { + flex-shrink: 0; +} +.univer-popup { + z-index: 1070; + --univer-tw-shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a; + --univer-tw-shadow-colored: 0 1px 3px 0 var(--univer-tw-shadow-color), 0 1px 2px -1px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 1px 3px #0000001a, + 0 1px 2px -1px #0000001a; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); + border-radius: 6px; + position: fixed; + top: -9999px; + left: -9999px; + overflow: hidden; +} +.univer-popup-enter { + transform-origin: 0 0; + opacity: 0; + animation-duration: .15s; + animation-timing-function: cubic-bezier(.08, .82, .17, 1); + animation-play-state: paused; + animation-fill-mode: both; +} +.univer-popup-enter-active { + animation-name: popup-slide-up-in; + animation-play-state: running; +} +.univer-popup-exit { + transform-origin: 0 0; + opacity: 1; + animation-name: popup-slide-up-out; + animation-duration: .15s; + animation-timing-function: cubic-bezier(.6, .04, .98, .34); + animation-play-state: running; + animation-fill-mode: both; +} +.univer-popup-exit-active { + display: none; +} +@keyframes popup-slide-up-in { + 0% { + transform-origin: 0 0; + opacity: 0; + transform: scaleY(0); + } + 100% { + transform-origin: 0 0; + opacity: 1; + transform: scaleY(1); + } +} +@keyframes popup-slide-up-out { + 0% { + transform-origin: 0 0; + opacity: 1; + transform: scaleY(1); + } + 100% { + transform-origin: 0 0; + opacity: 0; + transform: scaleY(0); + } +} +.univer-popup-mask { + z-index: 1060; + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; +} + +/* ../../../../../node_modules/@univerjs/ui/lib/index.css */ +.univer-pointer-events-none { + pointer-events: none; +} +.univer-pointer-events-auto { + pointer-events: auto; +} +.univer-invisible { + visibility: hidden; +} +.univer-fixed { + position: fixed; +} +.univer-absolute { + position: absolute; +} +.univer-relative { + position: relative; +} +.univer-sticky { + position: sticky; +} +.univer-inset-0 { + top: 0; + bottom: 0; + left: 0; + right: 0; +} +.-univer-left-\[99999\] { + left: -99999px; +} +.-univer-top-\[99999\] { + top: -99999px; +} +.univer-bottom-0 { + bottom: 0; +} +.univer-left-0 { + left: 0; +} +.univer-left-1 { + left: .25rem; +} +.univer-left-1\/2 { + left: 50%; +} +.univer-left-\[-9999px\] { + left: -9999px; +} +.univer-right-0 { + right: 0; +} +.univer-right-2 { + right: .5rem; +} +.univer-top-0 { + top: 0; +} +.univer-top-0\.5 { + top: .125rem; +} +.univer-top-1\/2 { + top: 50%; +} +.univer-top-\[-9999px\] { + top: -9999px; +} +.univer-top-\[calc\(50\%-6px\)\] { + top: calc(50% - 6px); +} +.univer-z-10 { + z-index: 10; +} +.univer-z-\[-1\] { + z-index: -1; +} +.univer-z-\[100\] { + z-index: 100; +} +.univer-z-\[1020\] { + z-index: 1020; +} +.univer-z-\[1080\] { + z-index: 1080; +} +.univer-z-\[1\] { + z-index: 1; +} +.univer-m-0 { + margin: 0; +} +.univer-mx-2 { + margin-left: .5rem; + margin-right: .5rem; +} +.univer-mx-auto { + margin-left: auto; + margin-right: auto; +} +.univer-mb-0 { + margin-bottom: 0; +} +.univer-mr-2 { + margin-right: .5rem; +} +.univer-mt-2 { + margin-top: .5rem; +} +.univer-mt-6 { + margin-top: 1.5rem; +} +.univer-box-border { + box-sizing: border-box; +} +.univer-line-clamp-2 { + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + display: -webkit-box; + overflow: hidden; +} +.univer-block { + display: block; +} +.univer-flex { + display: flex; +} +.univer-inline-flex { + display: inline-flex; +} +.univer-grid { + display: grid; +} +.univer-hidden { + display: none; +} +.univer-size-0\.5 { + width: .125rem; + height: .125rem; +} +.univer-size-12 { + width: 3rem; + height: 3rem; +} +.univer-size-3 { + width: .75rem; + height: .75rem; +} +.univer-size-3\.5 { + width: .875rem; + height: .875rem; +} +.univer-size-4 { + width: 1rem; + height: 1rem; +} +.univer-size-6 { + width: 1.5rem; + height: 1.5rem; +} +.univer-size-7 { + width: 1.75rem; + height: 1.75rem; +} +.univer-size-8 { + width: 2rem; + height: 2rem; +} +.univer-size-9 { + width: 2.25rem; + height: 2.25rem; +} +.univer-size-full { + width: 100%; + height: 100%; +} +.univer-h-0 { + height: 0; +} +.univer-h-0\.5 { + height: .125rem; +} +.univer-h-1 { + height: .25rem; +} +.univer-h-1\.5 { + height: .375rem; +} +.univer-h-10 { + height: 2.5rem; +} +.univer-h-6 { + height: 1.5rem; +} +.univer-h-7 { + height: 1.75rem; +} +.univer-h-8 { + height: 2rem; +} +.univer-h-9 { + height: 2.25rem; +} +.univer-h-full { + height: 100%; +} +.univer-max-h-\[80vh\] { + max-height: 80vh; +} +.univer-max-h-\[min\(72vh\,560px\)\] { + max-height: min(72vh, 560px); +} +.univer-min-h-0 { + min-height: 0; +} +.univer-min-h-8 { + min-height: 2rem; +} +.univer-min-h-\[560px\] { + min-height: 560px; +} +.univer-min-h-\[56px\] { + min-height: 56px; +} +.univer-min-h-full { + min-height: 100%; +} +.univer-w-0 { + width: 0; +} +.univer-w-10 { + width: 2.5rem; +} +.univer-w-24 { + width: 6rem; +} +.univer-w-32 { + width: 8rem; +} +.univer-w-40 { + width: 10rem; +} +.univer-w-5 { + width: 1.25rem; +} +.univer-w-7 { + width: 1.75rem; +} +.univer-w-8 { + width: 2rem; +} +.univer-w-96 { + width: 24rem; +} +.univer-w-full { + width: 100%; +} +.univer-w-max { + width: max-content; +} +.univer-w-screen { + width: 100vw; +} +.univer-min-w-0 { + min-width: 0; +} +.univer-min-w-52 { + min-width: 13rem; +} +.univer-min-w-6 { + min-width: 1.5rem; +} +.univer-min-w-min { + min-width: min-content; +} +.univer-max-w-3xl { + max-width: 48rem; +} +.univer-max-w-5xl { + max-width: 64rem; +} +.univer-max-w-96 { + max-width: 24rem; +} +.univer-max-w-\[--radix-popper-available-width\] { + max-width: var(--radix-popper-available-width); +} +.univer-max-w-\[32\%\] { + max-width: 32%; +} +.univer-max-w-\[560px\] { + max-width: 560px; +} +.univer-max-w-\[calc\(100vw-16px\)\] { + max-width: calc(100vw - 16px); +} +.univer-max-w-full { + max-width: 100%; +} +.univer-flex-1 { + flex: 1; +} +.univer-flex-shrink-0, +.univer-shrink-0 { + flex-shrink: 0; +} +.univer-origin-center { + transform-origin: center; +} +.-univer-translate-x-1\/2 { + --univer-tw-translate-x: -50%; + transform: translate(-50%, var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.-univer-translate-y-1\/2 { + --univer-tw-translate-y: -50%; + transform: translate(var(--univer-tw-translate-x), -50%) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.univer-translate-x-0 { + --univer-tw-translate-x: 0px; + transform: translate(0px, var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.univer-translate-x-full { + --univer-tw-translate-x: 100%; + transform: translate(100%, var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.univer-rotate-180 { + --univer-tw-rotate: 180deg; + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(180deg) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.univer-cursor-default { + cursor: default; +} +.univer-cursor-not-allowed { + cursor: not-allowed; +} +.univer-cursor-pointer { + cursor: pointer; +} +.univer-select-none { + user-select: none; +} +.univer-list-none { + list-style-type: none; +} +.univer-appearance-none { + -webkit-appearance: none; + appearance: none; +} +.univer-grid-flow-col { + grid-auto-flow: column; +} +.univer-grid-cols-3 { + grid-template-columns: repeat(3, minmax(0, 1fr)); +} +.univer-grid-cols-\[1fr\] { + grid-template-columns: 1fr; +} +.univer-grid-cols-\[22px_minmax\(0\,1fr\)_22px\] { + grid-template-columns: 22px minmax(0, 1fr) 22px; +} +.univer-grid-cols-\[28px_minmax\(0\,1fr\)_auto\] { + grid-template-columns: 28px minmax(0, 1fr) auto; +} +.univer-grid-cols-\[32px_minmax\(0\,1fr\)_32px\] { + grid-template-columns: 32px minmax(0, 1fr) 32px; +} +.univer-grid-cols-\[auto\,1fr\] { + grid-template-columns: auto 1fr; +} +.univer-grid-cols-\[auto_1fr_auto\] { + grid-template-columns: auto 1fr auto; +} +.univer-grid-cols-none { + grid-template-columns: none; +} +.univer-grid-rows-\[100\%\] { + grid-template-rows: 100%; +} +.univer-grid-rows-\[auto_1fr\] { + grid-template-rows: auto 1fr; +} +.univer-grid-rows-\[auto_1fr_auto\] { + grid-template-rows: auto 1fr auto; +} +.univer-flex-col { + flex-direction: column; +} +.univer-flex-wrap { + flex-wrap: wrap; +} +.univer-items-end { + align-items: flex-end; +} +.univer-items-center { + align-items: center; +} +.univer-justify-center { + justify-content: center; +} +.univer-justify-between { + justify-content: space-between; +} +.univer-gap-0\.5 { + gap: .125rem; +} +.univer-gap-1 { + gap: .25rem; +} +.univer-gap-1\.5 { + gap: .375rem; +} +.univer-gap-2 { + gap: .5rem; +} +.univer-gap-2\.5 { + gap: .625rem; +} +.univer-gap-3 { + gap: .75rem; +} +.univer-gap-6 { + gap: 1.5rem; +} +.univer-overflow-hidden { + overflow: hidden; +} +.univer-overflow-x-auto { + overflow-x: auto; +} +.univer-overflow-y-auto { + overflow-y: auto; +} +.univer-overscroll-contain { + overscroll-behavior: contain; +} +.univer-scroll-smooth { + scroll-behavior: smooth; +} +.univer-truncate { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} +.univer-whitespace-nowrap { + white-space: nowrap; +} +.univer-break-words { + word-wrap: break-word; +} +.\!univer-rounded-full { + border-radius: 9999px !important; +} +.\!univer-rounded-xl { + border-radius: .75rem !important; +} +.univer-rounded { + border-radius: .25rem; +} +.univer-rounded-2xl { + border-radius: 1rem; +} +.univer-rounded-3xl { + border-radius: 1.5rem; +} +.univer-rounded-full { + border-radius: 9999px; +} +.univer-rounded-lg { + border-radius: .5rem; +} +.univer-rounded-md { + border-radius: .375rem; +} +.univer-rounded-sm { + border-radius: .125rem; +} +.univer-rounded-xl { + border-radius: .75rem; +} +.univer-rounded-l { + border-top-left-radius: .25rem; + border-bottom-left-radius: .25rem; +} +.univer-rounded-r { + border-top-right-radius: .25rem; + border-bottom-right-radius: .25rem; +} +.univer-rounded-t-\[28px\] { + border-top-left-radius: 28px; + border-top-right-radius: 28px; +} +.univer-border { + border-width: 1px; +} +.univer-border-0 { + border-width: 0; +} +.univer-border-b { + border-bottom-width: 1px; +} +.univer-border-solid { + border-style: solid; +} +.univer-border-none { + border-style: none; +} +.univer-border-gray-200 { + border-color: var(--univer-gray-200); +} +.\!univer-bg-gray-200 { + background-color: var(--univer-gray-200) !important; +} +.\!univer-bg-gray-500 { + background-color: var(--univer-gray-500) !important; +} +.\!univer-bg-gray-900 { + background-color: var(--univer-gray-900) !important; +} +.univer-bg-\[rgba\(15\,23\,42\,0\.32\)\] { + background-color: #0f172a52; +} +.univer-bg-gray-100 { + background-color: var(--univer-gray-100); +} +.univer-bg-gray-200 { + background-color: var(--univer-gray-200); +} +.univer-bg-gray-300 { + background-color: var(--univer-gray-300); +} +.univer-bg-gray-400 { + background-color: var(--univer-gray-400); +} +.univer-bg-gray-50 { + background-color: var(--univer-gray-50); +} +.univer-bg-gray-700 { + background-color: var(--univer-gray-700); +} +.univer-bg-primary-50 { + background-color: var(--univer-primary-50); +} +.univer-bg-primary-600 { + background-color: var(--univer-primary-600); +} +.univer-bg-transparent { + background-color: #0000; +} +.univer-bg-white { + background-color: var(--univer-white); +} +.univer-bg-gradient-to-tr { + background-image: linear-gradient(to top right, var(--univer-tw-gradient-stops)); +} +.univer-from-slate-950 { + --univer-tw-gradient-from: #020617 var(--univer-tw-gradient-from-position); + --univer-tw-gradient-to: #02061700 var(--univer-tw-gradient-to-position); + --univer-tw-gradient-stops: var(--univer-tw-gradient-from), var(--univer-tw-gradient-to); +} +.univer-via-blue-950 { + --univer-tw-gradient-to: #17255400 var(--univer-tw-gradient-to-position); + --univer-tw-gradient-stops: + var(--univer-tw-gradient-from), + #172554 var(--univer-tw-gradient-via-position), + var(--univer-tw-gradient-to); +} +.univer-to-cyan-900 { + --univer-tw-gradient-to: #164e63 var(--univer-tw-gradient-to-position); +} +.univer-p-0 { + padding: 0; +} +.univer-p-1 { + padding: .25rem; +} +.univer-p-2 { + padding: .5rem; +} +.univer-p-4 { + padding: 1rem; +} +.univer-p-8 { + padding: 2rem; +} +.univer-px-0 { + padding-left: 0; + padding-right: 0; +} +.univer-px-0\.5 { + padding-left: .125rem; + padding-right: .125rem; +} +.univer-px-1 { + padding-left: .25rem; + padding-right: .25rem; +} +.univer-px-1\.5 { + padding-left: .375rem; + padding-right: .375rem; +} +.univer-px-2 { + padding-left: .5rem; + padding-right: .5rem; +} +.univer-px-3 { + padding-left: .75rem; + padding-right: .75rem; +} +.univer-px-4 { + padding-left: 1rem; + padding-right: 1rem; +} +.univer-py-0\.5 { + padding-top: .125rem; + padding-bottom: .125rem; +} +.univer-py-1 { + padding-top: .25rem; + padding-bottom: .25rem; +} +.univer-py-1\.5 { + padding-top: .375rem; + padding-bottom: .375rem; +} +.univer-py-3 { + padding-top: .75rem; + padding-bottom: .75rem; +} +.univer-pb-1 { + padding-bottom: .25rem; +} +.univer-pb-2 { + padding-bottom: .5rem; +} +.univer-pb-3 { + padding-bottom: .75rem; +} +.univer-pl-2 { + padding-left: .5rem; +} +.univer-pl-3 { + padding-left: .75rem; +} +.univer-pl-4 { + padding-left: 1rem; +} +.univer-pl-6 { + padding-left: 1.5rem; +} +.univer-pr-1\.5 { + padding-right: .375rem; +} +.univer-pr-2 { + padding-right: .5rem; +} +.univer-pr-5 { + padding-right: 1.25rem; +} +.univer-pt-1 { + padding-top: .25rem; +} +.univer-pt-3 { + padding-top: .75rem; +} +.univer-text-left { + text-align: left; +} +.univer-text-center { + text-align: center; +} +.univer-text-right { + text-align: right; +} +.univer-font-sans { + font-family: + ui-sans-serif, + system-ui, + -apple-system, + Segoe UI, + Roboto, + Ubuntu, + Cantarell, + Noto Sans, + sans-serif, + Apple Color Emoji, + Segoe UI Emoji, + Segoe UI Symbol, + Noto Color Emoji; +} +.univer-text-2xl { + font-size: 1.5rem; + line-height: 2rem; +} +.univer-text-base { + font-size: 1rem; + line-height: 1.5rem; +} +.univer-text-sm { + font-size: .875rem; + line-height: 1.25rem; +} +.univer-text-xs { + font-size: .75rem; + line-height: 1rem; +} +.univer-font-bold { + font-weight: 700; +} +.univer-font-medium { + font-weight: 500; +} +.univer-font-semibold { + font-weight: 600; +} +.univer-uppercase { + text-transform: uppercase; +} +.univer-leading-4 { + line-height: 1rem; +} +.univer-leading-6 { + line-height: 1.5rem; +} +.univer-leading-none { + line-height: 1; +} +.univer-tracking-\[0\.08em\] { + letter-spacing: .08em; +} +.univer-tracking-tight { + letter-spacing: -.025em; +} +.\!univer-text-gray-600 { + color: var(--univer-gray-600) !important; +} +.\!univer-text-white { + color: var(--univer-white) !important; +} +.univer-text-current { + color: currentColor; +} +.univer-text-gray-200 { + color: var(--univer-gray-200); +} +.univer-text-gray-300 { + color: var(--univer-gray-300); +} +.univer-text-gray-400 { + color: var(--univer-gray-400); +} +.univer-text-gray-500 { + color: var(--univer-gray-500); +} +.univer-text-gray-600 { + color: var(--univer-gray-600); +} +.univer-text-gray-700 { + color: var(--univer-gray-700); +} +.univer-text-gray-800 { + color: var(--univer-gray-800); +} +.univer-text-gray-900 { + color: var(--univer-gray-900); +} +.univer-text-primary-600 { + color: var(--univer-primary-600); +} +.univer-text-primary-700 { + color: var(--univer-primary-700); +} +.univer-text-slate-200 { + --univer-tw-text-opacity: 1; + color: rgba(226, 232, 240, var(--univer-tw-text-opacity, 1)); +} +.univer-text-white { + color: var(--univer-white); +} +.univer-underline { + text-decoration-line: underline; +} +.univer-opacity-0 { + opacity: 0; +} +.univer-opacity-30 { + opacity: .3; +} +.univer-opacity-40 { + opacity: .4; +} +.univer-opacity-60 { + opacity: .6; +} +.univer-shadow { + --univer-tw-shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a; + --univer-tw-shadow-colored: 0 1px 3px 0 var(--univer-tw-shadow-color), 0 1px 2px -1px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 1px 3px #0000001a, + 0 1px 2px -1px #0000001a; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-shadow-\[0_-16px_48px_rgba\(15\,23\,42\,0\.18\)\] { + --univer-tw-shadow: 0 -16px 48px #0f172a2e; + --univer-tw-shadow-colored: 0 -16px 48px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 -16px 48px #0f172a2e; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-shadow-md { + --univer-tw-shadow: 0px 1px 6px -2px #1e284d14, 0px 2px 6px -1px #1e284d1a; + --univer-tw-shadow-colored: 0px 1px 6px -2px var(--univer-tw-shadow-color), 0px 2px 6px -1px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 1px 6px -2px #1e284d14, + 0 2px 6px -1px #1e284d1a; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-shadow-sm { + --univer-tw-shadow: 0px 1px 2px 0px #1e284d14; + --univer-tw-shadow-colored: 0px 1px 2px 0px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 1px 2px #1e284d14; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-outline-none { + outline-offset: 2px; + outline: 2px solid #0000; +} +.univer-ring-0 { + --univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color); + --univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(0px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color); + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + 0 0 #0000; + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + var(--univer-tw-shadow, 0 0 #0000); +} +.univer-ring-1 { + --univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color); + --univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(1px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color); + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + 0 0 #0000; + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + var(--univer-tw-shadow, 0 0 #0000); +} +.univer-ring-primary-600 { + --univer-tw-ring-color: var(--univer-primary-600); +} +.univer-backdrop-blur-\[2px\] { + --univer-tw-backdrop-blur: blur(2px); + backdrop-filter: var(--univer-tw-backdrop-blur) var(--univer-tw-backdrop-brightness) var(--univer-tw-backdrop-contrast) var(--univer-tw-backdrop-grayscale) var(--univer-tw-backdrop-hue-rotate) var(--univer-tw-backdrop-invert) var(--univer-tw-backdrop-opacity) var(--univer-tw-backdrop-saturate) var(--univer-tw-backdrop-sepia); +} +.univer-backdrop-blur-xl { + --univer-tw-backdrop-blur: blur(24px); + backdrop-filter: var(--univer-tw-backdrop-blur) var(--univer-tw-backdrop-brightness) var(--univer-tw-backdrop-contrast) var(--univer-tw-backdrop-grayscale) var(--univer-tw-backdrop-hue-rotate) var(--univer-tw-backdrop-invert) var(--univer-tw-backdrop-opacity) var(--univer-tw-backdrop-saturate) var(--univer-tw-backdrop-sepia); +} +.univer-transition-\[width\] { + transition-property: width; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-transition-all { + transition-property: all; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-transition-colors { + transition-property: + color, + background-color, + border-color, + text-decoration-color, + fill, + stroke; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +@keyframes enter { + from { + opacity: 1; + opacity: var(--univer-tw-enter-opacity, 1); + transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotate(0); + transform: translate3d(var(--univer-tw-enter-translate-x, 0), var(--univer-tw-enter-translate-y, 0), 0) scale3d(var(--univer-tw-enter-scale, 1), var(--univer-tw-enter-scale, 1), var(--univer-tw-enter-scale, 1)) rotate(var(--univer-tw-enter-rotate, 0)); + } +} +@keyframes exit { + to { + opacity: 1; + opacity: var(--univer-tw-exit-opacity, 1); + transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotate(0); + transform: translate3d(var(--univer-tw-exit-translate-x, 0), var(--univer-tw-exit-translate-y, 0), 0) scale3d(var(--univer-tw-exit-scale, 1), var(--univer-tw-exit-scale, 1), var(--univer-tw-exit-scale, 1)) rotate(var(--univer-tw-exit-rotate, 0)); + } +} +.univer-animate-in { + --univer-tw-enter-opacity: initial; + --univer-tw-enter-scale: initial; + --univer-tw-enter-rotate: initial; + --univer-tw-enter-translate-x: initial; + --univer-tw-enter-translate-y: initial; + animation-name: enter; + animation-duration: .15s; +} +.univer-fade-in { + --univer-tw-enter-opacity: 0; +} +.univer-fade-in-70 { + --univer-tw-enter-opacity: .7; +} +.last\:univer-border-b-0:last-child { + border-bottom-width: 0; +} +.hover\:univer-bg-gray-100:hover { + background-color: var(--univer-gray-100); +} +.hover\:univer-bg-gray-200:hover { + background-color: var(--univer-gray-200); +} +.hover\:univer-bg-gray-50:hover { + background-color: var(--univer-gray-50); +} +.hover\:univer-bg-transparent:hover { + background-color: #0000; +} +.hover\:univer-opacity-50:hover { + opacity: .5; +} +.focus\:univer-bg-white:focus { + background-color: var(--univer-white); +} +.focus\:univer-outline-none:focus { + outline-offset: 2px; + outline: 2px solid #0000; +} +.focus-visible\:univer-ring-2:focus-visible { + --univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color); + --univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(2px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color); + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + 0 0 #0000; + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + var(--univer-tw-shadow, 0 0 #0000); +} +.focus-visible\:univer-ring-primary-600:focus-visible { + --univer-tw-ring-color: var(--univer-primary-600); +} +.focus-visible\:univer-ring-offset-0:focus-visible { + --univer-tw-ring-offset-width: 0px; +} +.active\:univer-bg-gray-200:active { + background-color: var(--univer-gray-200); +} +.enabled\:hover\:univer-bg-gray-50:hover:enabled { + background-color: var(--univer-gray-50); +} +.enabled\:active\:univer-bg-gray-100:active:enabled { + background-color: var(--univer-gray-100); +} +.disabled\:univer-cursor-not-allowed:disabled { + cursor: not-allowed; +} +.disabled\:univer-text-gray-300:disabled { + color: var(--univer-gray-300); +} +.disabled\:univer-opacity-40:disabled { + opacity: .4; +} +.disabled\:hover\:univer-bg-transparent:hover:disabled { + background-color: #0000; +} +@media (min-width: 640px) { + .sm\:\!univer-block { + display: block !important; + } +} +.rtl\:univer-pl-1\.5:where([dir=rtl], [dir=rtl] *) { + padding-left: .375rem; +} +.rtl\:univer-pr-0:where([dir=rtl], [dir=rtl] *) { + padding-right: 0; +} +.rtl\:univer-pr-2:where([dir=rtl], [dir=rtl] *) { + padding-right: .5rem; +} +.dark\:\!univer-border-gray-600:where(.univer-dark, .univer-dark *) { + border-color: var(--univer-gray-600) !important; +} +.dark\:\!univer-bg-gray-200:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-200) !important; +} +.dark\:\!univer-bg-gray-500:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-500) !important; +} +.dark\:\!univer-bg-gray-600:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-600) !important; +} +.dark\:\!univer-bg-gray-700:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-700) !important; +} +.dark\:\!univer-bg-gray-800:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-800) !important; +} +.dark\:\!univer-bg-gray-900:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-900) !important; +} +.dark\:\!univer-bg-primary-400:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-primary-400) !important; +} +.dark\:\!univer-bg-primary-900:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-primary-900) !important; +} +.dark\:\!univer-text-gray-100:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-100) !important; +} +.dark\:\!univer-text-gray-200:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-200) !important; +} +.dark\:\!univer-text-gray-300:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-300) !important; +} +.dark\:\!univer-text-gray-400:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-400) !important; +} +.dark\:\!univer-text-gray-500:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-500) !important; +} +.dark\:\!univer-text-gray-600:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-600) !important; +} +.dark\:\!univer-text-gray-800:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-800) !important; +} +.dark\:\!univer-text-primary-100:where(.univer-dark, .univer-dark *) { + color: var(--univer-primary-100) !important; +} +.dark\:\!univer-text-primary-300:where(.univer-dark, .univer-dark *) { + color: var(--univer-primary-300) !important; +} +.dark\:\!univer-text-primary-400:where(.univer-dark, .univer-dark *) { + color: var(--univer-primary-400) !important; +} +.dark\:\!univer-text-white:where(.univer-dark, .univer-dark *) { + color: var(--univer-white) !important; +} +.dark\:hover\:\!univer-bg-gray-600:hover:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-600) !important; +} +.dark\:hover\:\!univer-bg-gray-700:hover:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-700) !important; +} +.dark\:hover\:\!univer-bg-gray-900:hover:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-900) !important; +} +.dark\:hover\:\!univer-bg-transparent:hover:where(.univer-dark, .univer-dark *) { + background-color: #0000 !important; +} +.dark\:active\:\!univer-bg-gray-600:active:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-600) !important; +} +.dark\:disabled\:\!univer-text-gray-600:disabled:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-600) !important; +} +.\[\&\:\:-webkit-scrollbar\]\:univer-hidden::-webkit-scrollbar { + display: none; +} +.\[\&\>\*\]\:univer-m-0 > * { + margin: 0; +} +.\[\&\>\*\]\:univer-inline-flex > * { + display: inline-flex; +} +.\[\&\>\*\]\:univer-h-6 > * { + height: 1.5rem; +} +.\[\&\>\*\]\:univer-min-h-7 > * { + min-height: 1.75rem; +} +.\[\&\>\*\]\:univer-min-w-7 > * { + min-width: 1.75rem; +} +.\[\&\>\*\]\:univer-appearance-none > * { + -webkit-appearance: none; + appearance: none; +} +.\[\&\>\*\]\:univer-items-center > * { + align-items: center; +} +.\[\&\>\*\]\:univer-justify-center > * { + justify-content: center; +} +.\[\&\>\*\]\:univer-rounded > * { + border-radius: .25rem; +} +.\[\&\>\*\]\:univer-rounded-md > * { + border-radius: .375rem; +} +.\[\&\>\*\]\:univer-border-0 > * { + border-width: 0; +} +.\[\&\>\*\]\:univer-px-1 > * { + padding-left: .25rem; + padding-right: .25rem; +} +.\[\&\>\*\]\:univer-px-1\.5 > * { + padding-left: .375rem; + padding-right: .375rem; +} +.\[\&\>\*\]\:univer-leading-none > * { + line-height: 1; +} +.\[\&\>\*\]\:univer-outline-none > * { + outline-offset: 2px; + outline: 2px solid #0000; +} +.\[\&\>\*\]\:univer-transition-colors > * { + transition-property: + color, + background-color, + border-color, + text-decoration-color, + fill, + stroke; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.hover\:\[\&\>\*\]\:univer-bg-gray-100 > :hover { + background-color: var(--univer-gray-100); +} +.\[\&\>span\]\:univer-truncate > span { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} +.\[\&\>span\]\:univer-text-sm > span { + font-size: .875rem; + line-height: 1.25rem; +} +.\[\&\>span\]\:univer-font-medium > span { + font-weight: 500; +} +.\[\&\>svg\]\:univer-shrink-0 > svg { + flex-shrink: 0; +} +.\[\&\>svg\]\:univer-text-lg > svg { + font-size: 1.125rem; + line-height: 1.75rem; +} +.\[\&\>svg\]\:univer-text-gray-700 > svg { + color: var(--univer-gray-700); +} +.\[\&_\*\]\:univer-box-border * { + box-sizing: border-box; +} +.\[\&_\.univer-custom-label\]\:univer-text-sm .univer-custom-label { + font-size: .875rem; + line-height: 1.25rem; +} +.\[\&_\.univer-custom-label\]\:univer-leading-none .univer-custom-label { + line-height: 1; +} +.\[\&_\.univer-toolbar-button-selector-main\]\:\!univer-h-8 .univer-toolbar-button-selector-main { + height: 2rem !important; +} +.\[\&_\.univer-toolbar-button-selector-main\]\:\!univer-rounded-none .univer-toolbar-button-selector-main { + border-radius: 0 !important; +} +.\[\&_\.univer-toolbar-button-selector-main\]\:\!univer-rounded-l-md .univer-toolbar-button-selector-main { + border-top-left-radius: .375rem !important; + border-bottom-left-radius: .375rem !important; +} +.\[\&_\.univer-toolbar-button-selector-main\]\:\!univer-px-1\.5 .univer-toolbar-button-selector-main { + padding-left: .375rem !important; + padding-right: .375rem !important; +} +.\[\&_\.univer-toolbar-button-selector-root\]\:\!univer-h-8 .univer-toolbar-button-selector-root { + height: 2rem !important; +} +.\[\&_\.univer-toolbar-button-selector-root\]\:univer-overflow-hidden .univer-toolbar-button-selector-root { + overflow: hidden; +} +.\[\&_\.univer-toolbar-button-selector-root\]\:\!univer-rounded-md .univer-toolbar-button-selector-root { + border-radius: .375rem !important; +} +.\[\&_\.univer-toolbar-button-selector-root\]\:\!univer-pr-0 .univer-toolbar-button-selector-root { + padding-right: 0 !important; +} +.\[\&_\.univer-toolbar-button-selector-trigger\]\:\!univer-static .univer-toolbar-button-selector-trigger { + position: static !important; +} +.\[\&_\.univer-toolbar-button-selector-trigger\]\:\!univer-h-8 .univer-toolbar-button-selector-trigger { + height: 2rem !important; +} +.\[\&_\.univer-toolbar-button-selector-trigger\]\:\!univer-w-6 .univer-toolbar-button-selector-trigger { + width: 1.5rem !important; +} +.\[\&_\.univer-toolbar-button-selector-trigger\]\:\!univer-rounded-none .univer-toolbar-button-selector-trigger { + border-radius: 0 !important; +} +.\[\&_\.univer-toolbar-button-selector-trigger\]\:\!univer-rounded-r-md .univer-toolbar-button-selector-trigger { + border-top-right-radius: .375rem !important; + border-bottom-right-radius: .375rem !important; +} +.\[\&_\.univer-toolbar-selector-root\]\:\!univer-h-8 .univer-toolbar-selector-root { + height: 2rem !important; +} +.\[\&_\.univer-toolbar-selector-root\]\:\!univer-gap-1 .univer-toolbar-selector-root { + gap: .25rem !important; +} +.\[\&_\.univer-toolbar-selector-root\]\:\!univer-rounded-md .univer-toolbar-selector-root { + border-radius: .375rem !important; +} +.\[\&_\.univer-toolbar-selector-root\]\:\!univer-px-1\.5 .univer-toolbar-selector-root { + padding-left: .375rem !important; + padding-right: .375rem !important; +} +.\[\&_\.univer-toolbar-selector-trigger\]\:\!univer-pl-0\.5 .univer-toolbar-selector-trigger { + padding-left: .125rem !important; +} +.\[\&_\.univer-tooltip\]\:univer-inline-flex .univer-tooltip { + display: inline-flex; +} +.\[\&_\.univer-tooltip\]\:univer-h-full .univer-tooltip { + height: 100%; +} +.\[\&_\.univer-tooltip\]\:univer-items-center .univer-tooltip { + align-items: center; +} +.\[\&_\[data-u-command\]\]\:\!univer-h-8 [data-u-command] { + height: 2rem !important; +} +.\[\&_\[data-u-command\]\]\:\!univer-min-h-8 [data-u-command] { + min-height: 2rem !important; +} +.\[\&_\[data-u-command\]\]\:\!univer-rounded-md [data-u-command] { + border-radius: .375rem !important; +} +.\[\&_\[data-u-command\]\]\:\!univer-px-1\.5 [data-u-command] { + padding-left: .375rem !important; + padding-right: .375rem !important; +} +.\[\&_button\]\:\!univer-m-0 button { + margin: 0 !important; +} +.\[\&_button\]\:\!univer-h-8 button { + height: 2rem !important; +} +.\[\&_button\]\:\!univer-min-w-8 button { + min-width: 2rem !important; +} +.\[\&_button\]\:\!univer-appearance-none button { + -webkit-appearance: none !important; + appearance: none !important; +} +.\[\&_button\]\:\!univer-rounded-md button { + border-radius: .375rem !important; +} +.\[\&_button\]\:\!univer-border-0 button { + border-width: 0 !important; +} +.\[\&_button\]\:\!univer-bg-transparent button { + background-color: #0000 !important; +} +.\[\&_button\]\:\!univer-p-0 button { + padding: 0 !important; +} +.\[\&_button\]\:\!univer-px-1\.5 button { + padding-left: .375rem !important; + padding-right: .375rem !important; +} +.\[\&_button\]\:\!univer-leading-none button { + line-height: 1 !important; +} +.\[\&_button\]\:\!univer-outline-none button { + outline-offset: 2px !important; + outline: 2px solid #0000 !important; +} +.\[\&_input\:focus\]\:\!univer-ring-0 input:focus { + --univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color) !important; + --univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(0px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color) !important; + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + 0 0 #0000 !important; + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + var(--univer-tw-shadow, 0 0 #0000) !important; +} +.\[\&_input\]\:\!univer-m-0 input { + margin: 0 !important; +} +.\[\&_input\]\:univer-h-6 input { + height: 1.5rem; +} +.\[\&_input\]\:univer-w-7 input { + width: 1.75rem; +} +.\[\&_input\]\:\!univer-appearance-none input { + -webkit-appearance: none !important; + appearance: none !important; +} +.\[\&_input\]\:\!univer-border-0 input { + border-width: 0 !important; +} +.\[\&_input\]\:univer-border-none input { + border-style: none; +} +.\[\&_input\]\:\!univer-bg-transparent input { + background-color: #0000 !important; +} +.\[\&_input\]\:\!univer-p-0 input { + padding: 0 !important; +} +.\[\&_input\]\:univer-p-0 input { + padding: 0; +} +.\[\&_input\]\:univer-text-sm input { + font-size: .875rem; + line-height: 1.25rem; +} +.\[\&_input\]\:\!univer-leading-none input { + line-height: 1 !important; +} +.\[\&_input\]\:\!univer-outline-none input { + outline-offset: 2px !important; + outline: 2px solid #0000 !important; +} + +/* ../../../../../node_modules/@univerjs/sheets-ui/lib/index.css */ +.univer-pointer-events-none { + pointer-events: none; +} +.univer-absolute { + position: absolute; +} +.univer-relative { + position: relative; +} +.univer-inset-0 { + top: 0; + bottom: 0; + left: 0; + right: 0; +} +.-univer-bottom-0\.5 { + bottom: -.125rem; +} +.-univer-left-0\.5 { + left: -.125rem; +} +.-univer-right-0\.5 { + right: -.125rem; +} +.-univer-top-0\.5 { + top: -.125rem; +} +.univer-left-0 { + left: 0; +} +.univer-left-1 { + left: .25rem; +} +.univer-left-3 { + left: .75rem; +} +.univer-right-0 { + right: 0; +} +.univer-right-5 { + right: 1.25rem; +} +.univer-top-0 { + top: 0; +} +.univer-top-0\.5 { + top: .125rem; +} +.univer-top-1\/2 { + top: 50%; +} +.univer-z-10 { + z-index: 10; +} +.univer-z-\[1001\] { + z-index: 1001; +} +.univer-z-\[100\] { + z-index: 100; +} +.univer-m-0 { + margin: 0; +} +.univer-mx-1 { + margin-left: .25rem; + margin-right: .25rem; +} +.univer-my-1 { + margin-top: .25rem; + margin-bottom: .25rem; +} +.univer-my-1\.5 { + margin-top: .375rem; + margin-bottom: .375rem; +} +.univer-my-2 { + margin-top: .5rem; + margin-bottom: .5rem; +} +.univer-mb-1\.5 { + margin-bottom: .375rem; +} +.univer-mb-2 { + margin-bottom: .5rem; +} +.univer-mb-3 { + margin-bottom: .75rem; +} +.univer-mb-4 { + margin-bottom: 1rem; +} +.univer-ml-1 { + margin-left: .25rem; +} +.univer-ml-1\.5 { + margin-left: .375rem; +} +.univer-ml-3 { + margin-left: .75rem; +} +.univer-ml-6 { + margin-left: 1.5rem; +} +.univer-ml-px { + margin-left: 1px; +} +.univer-mr-1\.5 { + margin-right: .375rem; +} +.univer-mr-2 { + margin-right: .5rem; +} +.univer-mr-5 { + margin-right: 1.25rem; +} +.univer-mt-1 { + margin-top: .25rem; +} +.univer-mt-2 { + margin-top: .5rem; +} +.univer-mt-3 { + margin-top: .75rem; +} +.univer-mt-4 { + margin-top: 1rem; +} +.univer-mt-auto { + margin-top: auto; +} +.univer-box-border { + box-sizing: border-box; +} +.univer-block { + display: block; +} +.univer-flex { + display: flex; +} +.univer-inline-flex { + display: inline-flex; +} +.univer-grid { + display: grid; +} +.univer-hidden { + display: none; +} +.univer-size-0 { + width: 0; + height: 0; +} +.univer-size-10 { + width: 2.5rem; + height: 2.5rem; +} +.univer-size-4 { + width: 1rem; + height: 1rem; +} +.univer-size-6 { + width: 1.5rem; + height: 1.5rem; +} +.univer-size-full { + width: 100%; + height: 100%; +} +.univer-h-0\.5 { + height: .125rem; +} +.univer-h-1 { + height: .25rem; +} +.univer-h-10 { + height: 2.5rem; +} +.univer-h-20 { + height: 5rem; +} +.univer-h-4 { + height: 1rem; +} +.univer-h-5 { + height: 1.25rem; +} +.univer-h-6 { + height: 1.5rem; +} +.univer-h-60 { + height: 15rem; +} +.univer-h-7 { + height: 1.75rem; +} +.univer-h-8 { + height: 2rem; +} +.univer-h-9 { + height: 2.25rem; +} +.univer-h-\[270px\] { + height: 270px; +} +.univer-h-\[30px\] { + height: 30px; +} +.univer-h-\[calc\(100\%-16px\)\] { + height: calc(100% - 16px); +} +.univer-h-\[calc\(100\%-8px\)\] { + height: calc(100% - 8px); +} +.univer-h-full { + height: 100%; +} +.univer-h-px { + height: 1px; +} +.univer-max-h-52 { + max-height: 13rem; +} +.univer-max-h-\[100px\] { + max-height: 100px; +} +.univer-max-h-\[360px\] { + max-height: 360px; +} +.\!univer-w-\[90px\] { + width: 90px !important; +} +.univer-w-16 { + width: 4rem; +} +.univer-w-20 { + width: 5rem; +} +.univer-w-24 { + width: 6rem; +} +.univer-w-5 { + width: 1.25rem; +} +.univer-w-6 { + width: 1.5rem; +} +.univer-w-60 { + width: 15rem; +} +.univer-w-\[100px\] { + width: 100px; +} +.univer-w-\[130px\] { + width: 130px; +} +.univer-w-\[156px\] { + width: 156px; +} +.univer-w-\[300px\] { + width: 300px; +} +.univer-w-\[50\%\] { + width: 50%; +} +.univer-w-fit { + width: fit-content; +} +.univer-w-full { + width: 100%; +} +.univer-min-w-0 { + min-width: 0; +} +.univer-max-w-32 { + max-width: 8rem; +} +.univer-max-w-36 { + max-width: 9rem; +} +.univer-max-w-64 { + max-width: 16rem; +} +.univer-max-w-\[190px\] { + max-width: 190px; +} +.univer-max-w-\[200px\] { + max-width: 200px; +} +.univer-max-w-\[calc\(100\%-112px\)\] { + max-width: calc(100% - 112px); +} +.univer-max-w-fit { + max-width: fit-content; +} +.univer-max-w-lg { + max-width: 32rem; +} +.univer-flex-1 { + flex: 1; +} +.univer-flex-shrink-0, +.univer-shrink-0 { + flex-shrink: 0; +} +.univer-flex-grow { + flex-grow: 1; +} +.univer-flex-grow-0 { + flex-grow: 0; +} +.-univer-translate-y-1\/2 { + --univer-tw-translate-y: -50%; + transform: translate(var(--univer-tw-translate-x), -50%) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.univer-rotate-180 { + --univer-tw-rotate: 180deg; + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(180deg) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +@keyframes univer-spin { + to { + transform: rotate(360deg); + } +} +.univer-animate-spin { + animation: 1s linear infinite univer-spin; +} +.univer-cursor-default { + cursor: default; +} +.univer-cursor-not-allowed { + cursor: not-allowed; +} +.univer-cursor-pointer { + cursor: pointer; +} +.univer-select-none { + user-select: none; +} +.univer-list-none { + list-style-type: none; +} +.univer-appearance-none { + -webkit-appearance: none; + appearance: none; +} +.univer-grid-flow-col { + grid-auto-flow: column; +} +.univer-grid-cols-5 { + grid-template-columns: repeat(5, minmax(0, 1fr)); +} +.univer-grid-cols-\[1fr\,auto\,auto\,auto\] { + grid-template-columns: 1fr auto auto auto; +} +.univer-flex-row { + flex-direction: row; +} +.univer-flex-row-reverse { + flex-direction: row-reverse; +} +.univer-flex-col { + flex-direction: column; +} +.univer-flex-nowrap { + flex-wrap: nowrap; +} +.univer-items-center { + align-items: center; +} +.univer-justify-end { + justify-content: flex-end; +} +.univer-justify-center { + justify-content: center; +} +.univer-justify-between { + justify-content: space-between; +} +.univer-gap-1 { + gap: .25rem; +} +.univer-gap-2 { + gap: .5rem; +} +.univer-gap-7 { + gap: 1.75rem; +} +.univer-gap-x-2 { + -moz-column-gap: .5rem; + column-gap: .5rem; +} +.univer-space-y-2 > :not([hidden]) ~ :not([hidden]) { + --univer-tw-space-y-reverse: 0; + margin-top: .5rem; + margin-top: calc(.5rem * (1 - var(--univer-tw-space-y-reverse))); + margin-top: .5rem; + margin-top: calc(.5rem * calc(1 - var(--univer-tw-space-y-reverse))); + margin-bottom: 0; + margin-bottom: calc(.5rem * var(--univer-tw-space-y-reverse)); +} +.univer-divide-x-0 > :not([hidden]) ~ :not([hidden]) { + --univer-tw-divide-x-reverse: 0; + border-right-width: 0; + border-right-width: calc(0px * var(--univer-tw-divide-x-reverse)); + border-left-width: 0; + border-left-width: calc(0px * (1 - var(--univer-tw-divide-x-reverse))); + border-left-width: 0; + border-left-width: calc(0px * calc(1 - var(--univer-tw-divide-x-reverse))); +} +.univer-divide-y > :not([hidden]) ~ :not([hidden]) { + --univer-tw-divide-y-reverse: 0; + border-top-width: 1px; + border-top-width: calc(1px * (1 - var(--univer-tw-divide-y-reverse))); + border-top-width: 1px; + border-top-width: calc(1px * calc(1 - var(--univer-tw-divide-y-reverse))); + border-bottom-width: 0; + border-bottom-width: calc(1px * var(--univer-tw-divide-y-reverse)); +} +.univer-divide-solid > :not([hidden]) ~ :not([hidden]) { + border-style: solid; +} +.univer-divide-gray-200 > :not([hidden]) ~ :not([hidden]) { + border-color: var(--univer-gray-200); +} +.univer-justify-self-center { + justify-self: center; +} +.univer-overflow-hidden { + overflow: hidden; +} +.univer-overflow-x-auto { + overflow-x: auto; +} +.univer-overflow-y-auto { + overflow-y: auto; +} +.univer-overflow-y-hidden { + overflow-y: hidden; +} +.univer-truncate { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} +.univer-whitespace-nowrap { + white-space: nowrap; +} +.univer-break-words { + word-wrap: break-word; +} +.univer-rounded { + border-radius: .25rem; +} +.univer-rounded-full { + border-radius: 9999px; +} +.univer-rounded-lg { + border-radius: .5rem; +} +.univer-rounded-md { + border-radius: .375rem; +} +.univer-rounded-sm { + border-radius: .125rem; +} +.univer-border { + border-width: 1px; +} +.univer-border-2 { + border-width: 2px; +} +.univer-border-4 { + border-width: 4px; +} +.univer-border-b { + border-bottom-width: 1px; +} +.univer-border-solid { + border-style: solid; +} +.univer-border-none { + border-style: none; +} +.univer-border-\[rgba\(13\,13\,13\,0\.12\)\] { + border-color: #0d0d0d1f; +} +.univer-border-gray-100 { + border-color: var(--univer-gray-100); +} +.univer-border-gray-200 { + border-color: var(--univer-gray-200); +} +.univer-border-transparent { + border-color: #0000; +} +.univer-border-r-gray-200 { + border-right-color: var(--univer-gray-200); +} +.univer-border-t-primary-500 { + border-top-color: var(--univer-primary-500); +} +.\!univer-bg-gray-600 { + background-color: var(--univer-gray-600) !important; +} +.\!univer-bg-gray-700 { + background-color: var(--univer-gray-700) !important; +} +.\!univer-bg-gray-800 { + background-color: var(--univer-gray-800) !important; +} +.\!univer-bg-gray-900 { + background-color: var(--univer-gray-900) !important; +} +.univer-bg-blue-500 { + background-color: var(--univer-blue-500); +} +.univer-bg-blue-600 { + background-color: var(--univer-blue-600); +} +.univer-bg-gray-100 { + background-color: var(--univer-gray-100); +} +.univer-bg-gray-200 { + background-color: var(--univer-gray-200); +} +.univer-bg-transparent { + background-color: #0000; +} +.univer-bg-white { + background-color: var(--univer-white); +} +.univer-bg-gradient-to-b { + background-image: linear-gradient(to bottom, var(--univer-tw-gradient-stops)); +} +.univer-from-gray-50 { + --univer-tw-gradient-from: var(--univer-gray-50) var(--univer-tw-gradient-from-position); + --univer-tw-gradient-to: #fff0 var(--univer-tw-gradient-to-position); + --univer-tw-gradient-stops: var(--univer-tw-gradient-from), var(--univer-tw-gradient-to); +} +.univer-to-gray-100 { + --univer-tw-gradient-to: var(--univer-gray-100) var(--univer-tw-gradient-to-position); +} +.univer-fill-gray-900 { + fill: var(--univer-gray-900); +} +.univer-fill-primary-600 { + fill: var(--univer-primary-600); +} +.univer-p-0 { + padding: 0; +} +.univer-p-1 { + padding: .25rem; +} +.univer-p-1\.5 { + padding: .375rem; +} +.univer-p-2 { + padding: .5rem; +} +.univer-p-3 { + padding: .75rem; +} +.univer-p-4 { + padding: 1rem; +} +.univer-px-1 { + padding-left: .25rem; + padding-right: .25rem; +} +.univer-px-1\.5 { + padding-left: .375rem; + padding-right: .375rem; +} +.univer-px-2 { + padding-left: .5rem; + padding-right: .5rem; +} +.univer-px-3\.5 { + padding-left: .875rem; + padding-right: .875rem; +} +.univer-px-5 { + padding-left: 1.25rem; + padding-right: 1.25rem; +} +.univer-py-0\.5 { + padding-top: .125rem; + padding-bottom: .125rem; +} +.univer-py-1 { + padding-top: .25rem; + padding-bottom: .25rem; +} +.univer-py-1\.5 { + padding-top: .375rem; + padding-bottom: .375rem; +} +.univer-py-2 { + padding-top: .5rem; + padding-bottom: .5rem; +} +.univer-py-3 { + padding-top: .75rem; + padding-bottom: .75rem; +} +.univer-py-5 { + padding-top: 1.25rem; + padding-bottom: 1.25rem; +} +.univer-pb-1 { + padding-bottom: .25rem; +} +.univer-pl-1\.5 { + padding-left: .375rem; +} +.univer-pl-3 { + padding-left: .75rem; +} +.univer-pl-6 { + padding-left: 1.5rem; +} +.univer-pr-5 { + padding-right: 1.25rem; +} +.univer-pt-1 { + padding-top: .25rem; +} +.univer-pt-2 { + padding-top: .5rem; +} +.univer-text-center { + text-align: center; +} +.univer-text-base { + font-size: 1rem; + line-height: 1.5rem; +} +.univer-text-sm { + font-size: .875rem; + line-height: 1.25rem; +} +.univer-text-xs { + font-size: .75rem; + line-height: 1rem; +} +.univer-font-bold { + font-weight: 700; +} +.univer-font-medium { + font-weight: 500; +} +.univer-font-semibold { + font-weight: 600; +} +.univer-leading-5 { + line-height: 1.25rem; +} +.univer-leading-6 { + line-height: 1.5rem; +} +.univer-leading-7 { + line-height: 1.75rem; +} +.\!univer-text-blue-400 { + color: var(--univer-blue-400) !important; +} +.\!univer-text-gray-700 { + color: var(--univer-gray-700) !important; +} +.\!univer-text-white { + color: var(--univer-white) !important; +} +.univer-text-blue-500 { + color: var(--univer-blue-500); +} +.univer-text-blue-600 { + color: var(--univer-blue-600); +} +.univer-text-gray-200 { + color: var(--univer-gray-200); +} +.univer-text-gray-300 { + color: var(--univer-gray-300); +} +.univer-text-gray-400 { + color: var(--univer-gray-400); +} +.univer-text-gray-500 { + color: var(--univer-gray-500); +} +.univer-text-gray-600 { + color: var(--univer-gray-600); +} +.univer-text-gray-700 { + color: var(--univer-gray-700); +} +.univer-text-gray-900 { + color: var(--univer-gray-900); +} +.univer-text-green-600 { + color: var(--univer-green-600); +} +.univer-text-primary-500 { + color: var(--univer-primary-500); +} +.univer-text-primary-600 { + color: var(--univer-primary-600); +} +.univer-text-primary-700 { + color: var(--univer-primary-700); +} +.univer-text-red-500 { + color: var(--univer-red-500); +} +.univer-text-red-600 { + color: var(--univer-red-600); +} +.univer-text-white { + color: var(--univer-white); +} +.univer-text-yellow-500 { + color: var(--univer-yellow-500); +} +.univer-shadow { + --univer-tw-shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a; + --univer-tw-shadow-colored: 0 1px 3px 0 var(--univer-tw-shadow-color), 0 1px 2px -1px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 1px 3px #0000001a, + 0 1px 2px -1px #0000001a; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-shadow-lg { + --univer-tw-shadow: 0px 4px 6px 0px #1e284d0d, 0px 10px 15px -3px #1e284d1a; + --univer-tw-shadow-colored: 0px 4px 6px 0px var(--univer-tw-shadow-color), 0px 10px 15px -3px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 4px 6px #1e284d0d, + 0 10px 15px -3px #1e284d1a; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-outline-none { + outline-offset: 2px; + outline: 2px solid #0000; +} +.univer-blur-sm { + --univer-tw-blur: blur(4px); + filter: var(--univer-tw-blur) var(--univer-tw-brightness) var(--univer-tw-contrast) var(--univer-tw-grayscale) var(--univer-tw-hue-rotate) var(--univer-tw-invert) var(--univer-tw-saturate) var(--univer-tw-sepia) var(--univer-tw-drop-shadow); +} +.univer-backdrop-blur { + --univer-tw-backdrop-blur: blur(8px); + backdrop-filter: var(--univer-tw-backdrop-blur) var(--univer-tw-backdrop-brightness) var(--univer-tw-backdrop-contrast) var(--univer-tw-backdrop-grayscale) var(--univer-tw-backdrop-hue-rotate) var(--univer-tw-backdrop-invert) var(--univer-tw-backdrop-opacity) var(--univer-tw-backdrop-saturate) var(--univer-tw-backdrop-sepia); +} +.univer-transition-\[colors\,box-shadow\] { + transition-property: colors, box-shadow; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-transition-\[height\] { + transition-property: height; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-transition-all { + transition-property: all; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-transition-colors { + transition-property: + color, + background-color, + border-color, + text-decoration-color, + fill, + stroke; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-duration-200 { + transition-duration: .2s; +} +.univer-ease-linear { + transition-timing-function: linear; +} +.after\:univer-absolute:after { + content: var(--univer-tw-content); + position: absolute; +} +.after\:univer-right-0:after { + content: var(--univer-tw-content); + right: 0; +} +.after\:univer-top-1\/2:after { + content: var(--univer-tw-content); + top: 50%; +} +.after\:univer-block:after { + content: var(--univer-tw-content); + display: block; +} +.after\:univer-h-4:after { + content: var(--univer-tw-content); + height: 1rem; +} +.after\:univer-w-px:after { + content: var(--univer-tw-content); + width: 1px; +} +.after\:-univer-translate-y-1\/2:after { + content: var(--univer-tw-content); + --univer-tw-translate-y: -50%; + transform: translate(var(--univer-tw-translate-x), -50%) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.after\:univer-bg-gray-200:after { + content: var(--univer-tw-content); + background-color: var(--univer-gray-200); +} +.after\:univer-content-\[\"\"\]:after { + --univer-tw-content: ""; + content: ""; + content: var(--univer-tw-content); +} +.last\:univer-mb-0:last-child { + margin-bottom: 0; +} +.univer-group:hover .group-hover\:univer-flex { + display: flex; +} +.hover\:univer-border-primary-600:hover { + border-color: var(--univer-primary-600); +} +.hover\:univer-bg-gray-100:hover { + background-color: var(--univer-gray-100); +} +.hover\:univer-bg-gray-200:hover { + background-color: var(--univer-gray-200); +} +.hover\:univer-bg-gray-50:hover { + background-color: var(--univer-gray-50); +} +.hover\:univer-bg-transparent:hover { + background-color: #0000; +} +.focus\:univer-border-primary-500:focus { + border-color: var(--univer-primary-500); +} +.focus\:univer-outline-none:focus { + outline-offset: 2px; + outline: 2px solid #0000; +} +.focus-visible\:univer-ring-2:focus-visible { + --univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color); + --univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(2px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color); + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + 0 0 #0000; + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + var(--univer-tw-shadow, 0 0 #0000); +} +.focus-visible\:univer-ring-primary-500:focus-visible { + --univer-tw-ring-color: var(--univer-primary-500); +} +.active\:univer-bg-gray-100:active { + background-color: var(--univer-gray-100); +} +.dark\:\!univer-divide-gray-600:where(.univer-dark, .univer-dark *) > :not([hidden]) ~ :not([hidden]) { + border-color: var(--univer-gray-600) !important; +} +.dark\:\!univer-border-gray-700:where(.univer-dark, .univer-dark *) { + border-color: var(--univer-gray-700) !important; +} +.dark\:\!univer-border-r-gray-700:where(.univer-dark, .univer-dark *) { + border-right-color: var(--univer-gray-700) !important; +} +.dark\:\!univer-bg-black:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-black) !important; +} +.dark\:\!univer-bg-blue-400:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-blue-400) !important; +} +.dark\:\!univer-bg-gray-600:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-600) !important; +} +.dark\:\!univer-bg-gray-700:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-700) !important; +} +.dark\:\!univer-bg-gray-800:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-800) !important; +} +.dark\:\!univer-bg-gray-900:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-900) !important; +} +.dark\:\!univer-from-gray-800:where(.univer-dark, .univer-dark *) { + --univer-tw-gradient-from: var(--univer-gray-800) var(--univer-tw-gradient-from-position) !important; + --univer-tw-gradient-to: #fff0 var(--univer-tw-gradient-to-position) !important; + --univer-tw-gradient-stops: var(--univer-tw-gradient-from), var(--univer-tw-gradient-to) !important; +} +.dark\:\!univer-to-gray-900:where(.univer-dark, .univer-dark *) { + --univer-tw-gradient-to: var(--univer-gray-900) var(--univer-tw-gradient-to-position) !important; +} +.dark\:\!univer-fill-white:where(.univer-dark, .univer-dark *) { + fill: var(--univer-white) !important; +} +.dark\:\!univer-text-blue-400:where(.univer-dark, .univer-dark *) { + color: var(--univer-blue-400) !important; +} +.dark\:\!univer-text-gray-200:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-200) !important; +} +.dark\:\!univer-text-gray-300:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-300) !important; +} +.dark\:\!univer-text-gray-700:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-700) !important; +} +.dark\:\!univer-text-green-400:where(.univer-dark, .univer-dark *) { + color: var(--univer-green-400) !important; +} +.dark\:\!univer-text-red-400:where(.univer-dark, .univer-dark *) { + color: var(--univer-red-400) !important; +} +.dark\:\!univer-text-white:where(.univer-dark, .univer-dark *) { + color: var(--univer-white) !important; +} +.dark\:hover\:\!univer-bg-gray-600:hover:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-600) !important; +} +.dark\:hover\:\!univer-bg-gray-700:hover:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-700) !important; +} +.dark\:hover\:\!univer-bg-gray-800:hover:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-800) !important; +} +.\[\&\>div\:first-child\]\:univer-px-2\.5 > div:first-child { + padding-left: .625rem; + padding-right: .625rem; +} +.\[\&\>div\]\:univer-h-5 > div { + height: 1.25rem; +} +.\[\&\>div\]\:univer-ring-transparent > div { + --univer-tw-ring-color: transparent; +} +.\[\&_canvas\]\:univer-absolute canvas { + position: absolute; +} + +/* ../../../../../node_modules/@univerjs/sheets-formula-ui/lib/index.css */ +.univer-absolute { + position: absolute; +} +.univer-relative { + position: relative; +} +.univer-left-1\.5 { + left: .375rem; +} +.univer-top-1\/2 { + top: 50%; +} +.univer-z-\[15\] { + z-index: 15; +} +.univer-m-0 { + margin: 0; +} +.-univer-mx-6 { + margin-left: -1.5rem; + margin-right: -1.5rem; +} +.univer-mx-0 { + margin-left: 0; + margin-right: 0; +} +.univer-my-1 { + margin-top: .25rem; + margin-bottom: .25rem; +} +.univer-my-2 { + margin-top: .5rem; + margin-bottom: .5rem; +} +.univer-mb-0 { + margin-bottom: 0; +} +.univer-mb-2 { + margin-bottom: .5rem; +} +.univer-mb-5 { + margin-bottom: 1.25rem; +} +.univer-ml-2 { + margin-left: .5rem; +} +.univer-ml-4 { + margin-left: 1rem; +} +.univer-mr-0 { + margin-right: 0; +} +.univer-mt-0 { + margin-top: 0; +} +.univer-mt-1 { + margin-top: .25rem; +} +.univer-mt-2 { + margin-top: .5rem; +} +.univer-mt-3 { + margin-top: .75rem; +} +.univer-box-border { + box-sizing: border-box; +} +.univer-block { + display: block; +} +.univer-flex { + display: flex; +} +.univer-inline-flex { + display: inline-flex; +} +.univer-size-6 { + width: 1.5rem; + height: 1.5rem; +} +.univer-size-full { + width: 100%; + height: 100%; +} +.univer-h-\[18px\] { + height: 18px; +} +.univer-h-\[364px\] { + height: 364px; +} +.univer-h-full { + height: 100%; +} +.univer-max-h-60 { + max-height: 15rem; +} +.univer-max-h-72 { + max-height: 18rem; +} +.univer-max-h-\[350px\] { + max-height: 350px; +} +.univer-max-h-\[400px\] { + max-height: 400px; +} +.univer-w-\[250px\] { + width: 250px; +} +.univer-w-full { + width: 100%; +} +.univer-flex-1 { + flex: 1; +} +.-univer-translate-y-1\/2 { + --univer-tw-translate-y: -50%; + transform: translate(var(--univer-tw-translate-x), -50%) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.univer-cursor-pointer { + cursor: pointer; +} +.univer-select-none { + user-select: none; +} +.univer-list-none { + list-style-type: none; +} +.univer-flex-col { + flex-direction: column; +} +.univer-items-center { + align-items: center; +} +.univer-justify-end { + justify-content: flex-end; +} +.univer-justify-center { + justify-content: center; +} +.univer-justify-between { + justify-content: space-between; +} +.univer-justify-around { + justify-content: space-around; +} +.univer-gap-2 { + gap: .5rem; +} +.univer-gap-4 { + gap: 1rem; +} +.univer-overflow-visible { + overflow: visible; +} +.univer-overflow-y-auto { + overflow-y: auto; +} +.univer-truncate { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} +.univer-whitespace-nowrap { + white-space: nowrap; +} +.univer-whitespace-pre-wrap { + white-space: pre-wrap; +} +.univer-break-words { + word-wrap: break-word; +} +.univer-break-all { + word-break: break-all; +} +.univer-rounded { + border-radius: .25rem; +} +.univer-rounded-lg { + border-radius: .5rem; +} +.univer-rounded-none { + border-radius: 0; +} +.univer-rounded-l { + border-top-left-radius: .25rem; + border-bottom-left-radius: .25rem; +} +.univer-border { + border-width: 1px; +} +.univer-border-r-0 { + border-right-width: 0; +} +.univer-border-gray-600 { + border-color: var(--univer-gray-600); +} +.univer-border-primary-600 { + border-color: var(--univer-primary-600); +} +.\!univer-bg-gray-600 { + background-color: var(--univer-gray-600) !important; +} +.univer-bg-gray-200 { + background-color: var(--univer-gray-200); +} +.univer-bg-primary-600 { + background-color: var(--univer-primary-600); +} +.univer-bg-transparent { + background-color: #0000; +} +.univer-bg-white { + background-color: var(--univer-white); +} +.univer-p-0 { + padding: 0; +} +.univer-p-0\.5 { + padding: .125rem; +} +.univer-p-2 { + padding: .5rem; +} +.univer-p-3 { + padding: .75rem; +} +.univer-px-2 { + padding-left: .5rem; + padding-right: .5rem; +} +.univer-px-4 { + padding-left: 1rem; + padding-right: 1rem; +} +.univer-px-6 { + padding-left: 1.5rem; + padding-right: 1.5rem; +} +.univer-px-7 { + padding-left: 1.75rem; + padding-right: 1.75rem; +} +.univer-py-1 { + padding-top: .25rem; + padding-bottom: .25rem; +} +.univer-py-2 { + padding-top: .5rem; + padding-bottom: .5rem; +} +.univer-py-3 { + padding-top: .75rem; + padding-bottom: .75rem; +} +.univer-pb-3 { + padding-bottom: .75rem; +} +.univer-pt-0 { + padding-top: 0; +} +.univer-text-base { + font-size: 1rem; + line-height: 1.5rem; +} +.univer-text-sm { + font-size: .875rem; + line-height: 1.25rem; +} +.univer-text-xs { + font-size: .75rem; + line-height: 1rem; +} +.univer-font-bold { + font-weight: 700; +} +.univer-font-medium { + font-weight: 500; +} +.univer-leading-5 { + line-height: 1.25rem; +} +.univer-leading-\[13px\] { + line-height: 13px; +} +.univer-text-gray-400 { + color: var(--univer-gray-400); +} +.univer-text-gray-500 { + color: var(--univer-gray-500); +} +.univer-text-gray-600 { + color: var(--univer-gray-600); +} +.univer-text-gray-900 { + color: var(--univer-gray-900); +} +.univer-text-primary-500 { + color: var(--univer-primary-500); +} +.univer-text-primary-600 { + color: var(--univer-primary-600); +} +.univer-text-red-500 { + color: var(--univer-red-500); +} +.univer-text-white { + color: var(--univer-white); +} +.univer-shadow-md { + --univer-tw-shadow: 0px 1px 6px -2px #1e284d14, 0px 2px 6px -1px #1e284d1a; + --univer-tw-shadow-colored: 0px 1px 6px -2px var(--univer-tw-shadow-color), 0px 2px 6px -1px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 1px 6px -2px #1e284d14, + 0 2px 6px -1px #1e284d1a; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-outline-none { + outline-offset: 2px; + outline: 2px solid #0000; +} +.univer-ring-1 { + --univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color); + --univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(1px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color); + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + 0 0 #0000; + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + var(--univer-tw-shadow, 0 0 #0000); +} +.univer-ring-primary-500 { + --univer-tw-ring-color: var(--univer-primary-500); +} +.univer-ring-red-500 { + --univer-tw-ring-color: var(--univer-red-500); +} +.univer-transition-colors { + transition-property: + color, + background-color, + border-color, + text-decoration-color, + fill, + stroke; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.hover\:univer-bg-gray-200:hover { + background-color: var(--univer-gray-200); +} +.hover\:univer-bg-gray-300:hover { + background-color: var(--univer-gray-300); +} +.dark\:\!univer-bg-gray-600:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-600) !important; +} +.dark\:\!univer-bg-gray-900:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-900) !important; +} +.dark\:\!univer-text-gray-200:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-200) !important; +} +.dark\:\!univer-text-gray-300:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-300) !important; +} +.dark\:\!univer-text-white:where(.univer-dark, .univer-dark *) { + color: var(--univer-white) !important; +} +.dark\:hover\:\!univer-bg-gray-600:hover:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-600) !important; +} diff --git a/public/tools/cloud_sheets/vendor/univer/adapter.entry.js b/public/tools/cloud_sheets/vendor/univer/adapter.entry.js new file mode 100644 index 0000000..dffe93c --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/adapter.entry.js @@ -0,0 +1,260 @@ +import { createUniver, defaultTheme, LocaleType } from '@univerjs/presets' +import { UniverSheetsCorePreset } from '@univerjs/preset-sheets-core' +import { UniverSheetsDrawingPreset } from '@univerjs/preset-sheets-drawing' +import { UniverSheetsFilterPreset } from '@univerjs/preset-sheets-filter' +import { UniverSheetsSortPreset } from '@univerjs/preset-sheets-sort' +import { UniverSheetsDataValidationPreset } from '@univerjs/preset-sheets-data-validation' +import { UniverSheetsConditionalFormattingPreset } from '@univerjs/preset-sheets-conditional-formatting' +import { UniverSheetsFindReplacePreset } from '@univerjs/preset-sheets-find-replace' + +import zhCNCore from '@univerjs/preset-sheets-core/locales/zh-CN' +import zhCNDrawing from '@univerjs/preset-sheets-drawing/locales/zh-CN' +import zhCNFilter from '@univerjs/preset-sheets-filter/locales/zh-CN' +import zhCNSort from '@univerjs/preset-sheets-sort/locales/zh-CN' +import zhCNDataValidation from '@univerjs/preset-sheets-data-validation/locales/zh-CN' +import zhCNConditionalFormatting from '@univerjs/preset-sheets-conditional-formatting/locales/zh-CN' +import zhCNFindReplace from '@univerjs/preset-sheets-find-replace/locales/zh-CN' + +import '@univerjs/presets/lib/styles/preset-sheets-core.css' +import '@univerjs/presets/lib/styles/preset-sheets-filter.css' + +// 引入 UI 样式和主题,新版 Univer 必须引入 UI 包本身才会自动注入 React 组件树 +import '@univerjs/design/lib/index.css' +import '@univerjs/ui/lib/index.css' +import '@univerjs/sheets-ui/lib/index.css' +import '@univerjs/sheets-formula-ui/lib/index.css' + +import * as React from 'react' +import * as ReactDOM from 'react-dom' +import * as ReactDOMClient from 'react-dom/client' + +window.React = React +window.ReactDOM = ReactDOM +window.ReactDOMClient = ReactDOMClient + +export const createRuntime = (config) => { + const container = config.container + const isDark = config.theme === 'dark' + + // 在这里强制配置 UI,保证 React 的根节点注入逻辑被激活 + const { univerAPI } = createUniver({ + locale: LocaleType.ZH_CN, + locales: { + [LocaleType.ZH_CN]: { + ...zhCNCore, + ...zhCNDrawing, + ...zhCNFilter, + ...zhCNSort, + ...zhCNDataValidation, + ...zhCNConditionalFormatting, + ...zhCNFindReplace + } + }, + theme: defaultTheme, + presets: [ + UniverSheetsCorePreset({ + container, + header: true, + footer: true, + workerURL: '/tools/cloud_sheets/vendor/univer/univer.worker.js' + }), + UniverSheetsDrawingPreset(), + UniverSheetsFilterPreset(), + UniverSheetsSortPreset(), + UniverSheetsDataValidationPreset(), + UniverSheetsConditionalFormattingPreset(), + UniverSheetsFindReplacePreset() + ] + }) + + let activeWorkbook = null + + const parseWorkbookJson = raw => { + try { + if (typeof raw === 'string') return JSON.parse(raw || '{}') + if (raw && typeof raw === 'object') return raw + return {} + } catch { + return {} + } + } + + const stringifyWorkbook = data => { + try { + return JSON.stringify(data) + } catch (err) { + console.error('[UniverAdapter] stringifyWorkbook error', err) + const safeClone = (obj, ancestors = new WeakSet()) => { + if (obj === null || typeof obj !== 'object') return obj + if (ancestors.has(obj)) return undefined // 忽略真正的循环引用 + ancestors.add(obj) + if (Array.isArray(obj)) { + const arr = [] + for (let i = 0; i < obj.length; i++) arr[i] = safeClone(obj[i], ancestors) + ancestors.delete(obj) + return arr + } + const res = {} + for (const k in obj) { + if (Object.prototype.hasOwnProperty.call(obj, k)) { + res[k] = safeClone(obj[k], ancestors) + } + } + ancestors.delete(obj) + return res + } + return JSON.stringify(safeClone(data)) + } + } + + const normalizeWorkbook = wb => { + const defaultData = { + id: 'workbook-main', + sheetOrder: ['sheet-1'], + name: '云表格', + appVersion: '1.0.0', + locale: 'zhCN', + styles: {}, + sheets: { + 'sheet-1': { + id: 'sheet-1', + name: 'Sheet1', + tabColor: '', + hidden: 0, + rowCount: 1000, + columnCount: 30, + zoomRatio: 1, + defaultColumnWidth: 80, + defaultRowHeight: 24, + cellData: {} + } + } + } + return { ...defaultData, ...wb } + } + + const makeDefaultWorkbook = () => normalizeWorkbook({}) + + const loadWorkbook = workbook => { + const data = normalizeWorkbook(workbook) + // 强制生成一个绝对唯一的 ID,防止 Univer 内部根据 ID 缓存旧的快照或产生冲突 + data.id = `workbook-${Date.now()}-${Math.random().toString(36).substr(2, 9)}` + + if (activeWorkbook && typeof activeWorkbook.getId === 'function') { + try { univerAPI.disposeUnit(activeWorkbook.getId()) } catch {} + } + activeWorkbook = univerAPI.createWorkbook(data) + return activeWorkbook + } + + loadWorkbook(makeDefaultWorkbook()) + + // 对于某些 Univer 版本,必须调用挂载才能将 React 根节点插入到 DOM 中。 + try { + if (univerAPI && typeof univerAPI.mount === 'function') { + univerAPI.mount(container) + } + } catch (e) { + console.error('挂载 Univer 失败', e) + } + + window.univerAPI = univerAPI + + return { + setWorkbookJSON: raw => { + const wb = parseWorkbookJson(raw) + loadWorkbook(wb) + }, + commitPendingChanges: async () => { + try { + const active = univerAPI.getActiveWorkbook() || activeWorkbook + if (!active) return { ok: false, reason: 'no_active_workbook' } + + // 在新版 Univer 架构中,直接触发表格失焦或退出编辑状态的最有效方式: + // 执行一个空操作,或者利用内部的 command 服务退出编辑。 + // 为了稳定,这里使用原生的 DOM focus 转移,配合 Univer 提供的 isCellEditing 方法判断。 + let isEditing = false + if (typeof active.isCellEditing === 'function') { + isEditing = active.isCellEditing() + } + + // 如果我们没找到现成的 endEditingAsync,也可以尝试派发命令 + if (isEditing) { + try { + // 很多版本提供 endEditing 方法 + if (typeof active.endEditing === 'function') { + active.endEditing() + } else if (typeof active.endEditingAsync === 'function') { + await active.endEditingAsync(true) + } else { + // 触发原生的回车/失焦事件作为降级方案 + const activeEl = document.activeElement + if (activeEl && typeof activeEl.blur === 'function') { + activeEl.blur() + } + // 模拟触发 Enter 键事件让其结束编辑 + const enterEvent = new KeyboardEvent('keydown', { key: 'Enter', code: 'Enter', keyCode: 13, which: 13, bubbles: true }) + if (activeEl) activeEl.dispatchEvent(enterEvent) + } + } catch(e) {} + } + + return { ok: true, isCellEditingBefore: isEditing } + } catch (e) { + console.error('[UniverAdapter] commitPendingChanges error', e) + return { ok: false, reason: e && e.message ? e.message : String(e || 'unknown_error') } + } + }, + getWorkbookJSON: () => { + try { + const active = univerAPI.getActiveWorkbook() || activeWorkbook + if (active && typeof active.save === 'function') { + const workbookModel = typeof active.getWorkbook === 'function' ? active.getWorkbook() : null + let data = null + if (workbookModel && typeof workbookModel.save === 'function') { + data = workbookModel.save() + } + if ((!data || Object.keys(data).length === 0) && typeof active.save === 'function') { + data = active.save() + } + if ((!data || Object.keys(data).length === 0) && workbookModel && typeof workbookModel.getSnapshot === 'function') { + data = workbookModel.getSnapshot() + } + if ((!data || Object.keys(data).length === 0) && workbookModel && typeof workbookModel.getConfig === 'function') { + data = workbookModel.getConfig() + } + if ((!data || Object.keys(data).length === 0) && typeof active.getSnapshot === 'function') { + data = active.getSnapshot() + } + try { + const sheet1 = data.sheets && data.sheets['sheet-1'] + const cellData = sheet1 && sheet1.cellData + const sampleCell = cellData && cellData['0'] && cellData['0']['0'] + console.log('[UniverAdapter] Sample cell 0,0:', sampleCell) + console.log('[UniverAdapter] Workbook name:', workbookModel && workbookModel.getName ? workbookModel.getName() : active.getName ? active.getName() : '') + } catch(e){} + return stringifyWorkbook(data) + } else { + console.error('[UniverAdapter] active workbook error:', active) + } + } catch (e) { + console.error('[UniverAdapter] getWorkbookJSON error', e) + } + return '{}' + }, + dispose: () => { + try { + if (activeWorkbook && typeof activeWorkbook.getId === 'function') { + univerAPI.disposeUnit(activeWorkbook.getId()) + } + } catch {} + try { + if (univerAPI && typeof univerAPI.dispose === 'function') { + univerAPI.dispose() + } + } catch {} + } + } +} + +window.CloudSheetsUniverAdapter = { create: createRuntime } diff --git a/public/tools/cloud_sheets/vendor/univer/adapter.js b/public/tools/cloud_sheets/vendor/univer/adapter.js new file mode 100644 index 0000000..ee649c1 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/adapter.js @@ -0,0 +1,2 @@ +/*! For license information please see adapter.js.LICENSE.txt */ +(()=>{var e,t,r,n,i={3605(e,t,r){"use strict";r.d(t,{n:()=>i,t:()=>a});var n=Object.defineProperty,i=(e=>{let t={};for(var r in e)n(t,r,{get:e[r],enumerable:!0});return n(t,Symbol.toStringTag,{value:"Module"}),t})({EnUs:()=>a});const a=["0004,004,001,003,005,0005,00005,000005,0002,002,0000005,0003,00003,00505,00034,0001,00055,00004,4,05,0055,04,42,03,02,2,404,3,044,01,0505,55,5,045,041,0033,000004,22,00504,5504,0042,1,21,41,402,405,4004,43,23,000054,303,3005,022,5004,000003,252,45,25,2004,000505,054,403,401,3002,0025,144,432,00054,34,12,234,0022,014,0304,012,143,503,0403,101,052,414,212,011,043,00002,0041,0024,05005,03003,00102,0404,04303,01004,0034,025,0044,00404,00025,0103,042,0205,412,104,54,344,433,5005,253,055,0402,3004,0043,204,505,454,0000004,00303,04004,552,201,4005,0255,52,444,14,44,02004,033,05004,00045,00013,0021,0405,00044,0054,50055,000303,00001,304,0204,11,301,232,122,00305,504,000043,0104,00052,000045,50004,0023,00033,00032,00202,5003,202,0401,0000505,214,102,032,000161,004101,00501,00301,0036,0052,00023,006101,006,00401,000521,0014,0063,00012,000501,000006,000604,000601,005001,005005,0010305,00006,003012,003005,0003011,0061,013,000021,000022,000105,00211,00062,00051,000112,006013,000011,0200306,1021,0050001,003003,2102,305,000015,01030005,000035,001011,00021,16330001,0234,030006,5020001,000001,00016,0031,021,21431,002305,0350014,0000012,000063,00101,106,105,00435,00063,0300061,00041,100306,003602,023,0503,0010011,10003,1005,30011,00031,0001001,0000061,0030003,30305,001201,0301,5000101,500101,00015,000401,000065,000016,0000402,0500002,000205,030201,500301,00014,5001,000002,00030011,01034,0300006,030213,00400304,050001,05003,000311,0634,00061,0006,00000604,00050013,00213,0030001,100003,000033,30002,00003632,0003004,050003,0000021,006303,0000006,00005005,30451,03001,00231,00056,00011,6,001001,00500001,03005,503005,0000010001,1002,003001,001065,300001,32011,32,0000003,0213001,0500053,021005,10001,0000011,0001041,0020016,100032,50011,0606,5002,3001,03002,0015001,0102,00003001,000000033,0000001,300101,300015,0101003,00000101,0100501,0101,0010033,00000362,000014,0005001,031",'{".":[{"a":[{"c":[{"h":0}],"d":[{"d":[{"e":[{"r":1}]}]}],"f":[{"t":2}],"l":[{"t":3}],"m":[{"a":[{"t":4}]}],"n":[{"c":4,"g":0,"i":[{"m":5}],"t":[{"e":3,"i":[{"s":6}]},0]}],"r":[{"s":4,"t":[{"i":[{"e":1}],"y":1}]}],"s":[{"c":3,"p":2,"s":2,"t":[{"e":[{"r":7}]}]}],"t":[{"o":[{"m":6}]}],"u":[{"d":2}],"v":[{"i":1}],"w":[{"n":0}]}],"b":[{"a":[{"g":1,"n":[{"a":4}],"s":[{"e":0}]}],"e":[{"r":[{"a":4},0],"s":[{"m":3,"t":[{"o":4}]}]}],"r":[{"i":8}],"u":[{"t":[{"t":[{"i":0}]}]}]}],"c":[{"a":[{"m":[{"p":[{"e":0}]}],"n":[{"c":5}],"p":[{"a":[{"b":6}]}],"r":[{"o":[{"l":5}]}],"t":1}],"e":[{"l":[{"a":1}]}],"h":[{"i":[{"l":[{"l":[{"i":7}]}]}]},1],"i":[{"t":[{"r":5}]},9],"o":[{"e":3,"r":[{"n":[{"e":[{"r":5}]}]},1],"n":[{"g":[{"r":5}]}]}]}],"d":[{"e":[{"m":[{"o":[{"i":1}]}],"o":3,"r":[{"a":3,"i":[{"v":[{"a":4}]},3]}],"s":[{"c":0}]}],"i":[{"c":[{"t":[{"i":[{"o":10}]}]}]}],"o":[{"t":1}],"u":[{"c":1,"m":[{"b":6}]}],"r":[{"i":[{"v":67}]}]}],"e":[{"a":[{"r":[{"t":[{"h":7}]}],"s":[{"i":11}]}],"b":1,"e":[{"r":0}],"g":9,"l":[{"d":4,"e":[{"m":3}]}],"n":[{"a":[{"m":12}],"g":3,"s":3}],"q":[{"u":[{"i":[{"t":13}]}]}],"r":[{"r":[{"i":1}]}],"s":3,"u":[{"l":[{"e":[{"r":1}]}]},3],"y":[{"e":5}],"t":[{"h":[{"y":[{"l":162}]}]}],"v":[{"e":[{"r":[{"s":[{"i":[{"b":158}]}]}]}]},9]}],"f":[{"e":[{"s":11}],"o":[{"r":[{"m":[{"e":[{"r":5}]}]}]}]}],"g":[{"a":[{"s":[{"o":[{"m":163}]}]},9],"e":[{"n":[{"t":14}],"o":[{"g":4,"m":[{"e":1}],"t":164}]},9],"i":[{"a":4,"b":1}],"o":[{"r":1}]}],"h":[{"a":[{"n":[{"d":[{"i":6}],"k":5}]}],"e":[{"r":[{"o":[{"i":6,"e":3}]}],"s":11,"t":11,"m":[{"o":165}],"p":[{"a":166}]},9],"i":[{"b":3,"e":[{"r":3}]}],"o":[{"n":[{"e":[{"y":5}],"o":11}],"v":5}]}],"i":[{"d":[{"l":1,"o":[{"l":12}]}],"m":[{"m":3,"p":[{"i":[{"n":4}]}]}],"n":[{"c":[{"i":3}],"e":8,"k":9,"s":3,"u":[{"t":167}]},2],"r":[{"r":4}],"s":[{"i":1}]}],"j":[{"u":[{"r":3}]}],"l":[{"a":[{"c":[{"y":1}],"m":1,"t":[{"e":[{"r":5}],"h":6}]}],"e":[{"g":[{"e":5}],"n":0,"p":5,"v":15,"i":[{"c":[{"e":[{"s":170}]}]}]},9],"i":[{"g":[{"a":5},1],"n":9,"o":3,"t":1}]}],"m":[{"a":[{"g":[{"a":16}],"l":[{"o":5}],"n":[{"a":5}],"r":[{"t":[{"i":5}]}]}],"e":[{"r":[{"c":11}],"t":[{"e":[{"r":4}],"a":[{"l":[{"a":0}]}]}],"g":[{"a":[{"l":171}]}]},9],"i":[{"s":[{"t":[{"i":6}],"e":[{"r":[{"s":173}]}]},15],"m":[{"i":[{"c":172}]}]}],"o":[{"n":[{"e":11}],"r":[{"o":3}]}],"u":[{"t":[{"a":[{"b":6},4]}]}]}],"n":[{"i":[{"c":1}],"e":[{"o":[{"f":174}]}],"o":[{"e":[{"t":[{"h":15}]}],"n":[{"e":[{"m":175}]}]}]}],"o":[{"d":[{"d":5},9],"f":[{"t":[{"e":4}]}],"r":[{"a":[{"t":[{"o":4}]}],"c":3,"d":2,"t":3}],"s":[{"t":[{"l":1}]},3],"t":[{"h":11}],"u":[{"t":11}]}],"p":[{"e":[{"d":[{"a":[{"l":5}]}],"t":[{"e":4,"i":[{"t":4}]}]}],"i":[{"e":1,"o":[{"n":5}],"t":9}],"r":[{"e":[{"m":11,"a":[{"m":15}]}]}],"o":[{"l":[{"y":[{"s":137}]}],"s":[{"t":[{"a":[{"m":137}]}]}]}]}],"r":[{"a":[{"c":1,"n":[{"t":0}],"t":[{"i":[{"o":[{"n":[{"a":7}]}]}]}],"v":[{"e":[{"n":[{"o":176}]}]}]}],"e":[{"e":[{"c":173},8],"m":[{"i":[{"t":4}]}],"s":[{"t":[{"a":[{"t":4}]}]},8]}],"i":[{"g":1,"t":[{"u":5}]}],"o":[{"q":1,"s":[{"t":5}],"w":[{"d":5}]}],"u":[{"d":1}]}],"s":[{"c":[{"i":[{"e":11}]}],"e":[{"l":[{"f":6,"l":6}],"n":9,"r":[{"i":[{"e":4}]}],"m":[{"i":[{"c":0,"d":177,"p":36,"r":36,"s":178,"v":36},6]}]}],"h":9,"i":[{"n":[{"g":17}]},9],"t":[{"a":[{"b":[{"l":5}]}]},1],"y":9,"p":[{"h":[{"i":[{"n":179}]}],"i":[{"n":[{"o":137}]}]}]}],"t":[{"a":[{"p":[{"e":[{"s":[{"t":[{"r":180}]}]}]}]},1],"e":[{"n":[{"a":[{"n":5}]}],"l":[{"e":[{"g":[{"r":3}]}]}]},1],"h":9,"i":[{"l":0,"m":[{"o":16}],"n":[{"g":17,"k":5}]},9],"o":[{"n":[{"a":0}],"p":[{"i":5,"o":[{"g":170}]},1],"u":[{"s":5}],"q":9}],"r":[{"i":[{"b":[{"u":[{"t":6}]}]}]}]}],"u":[{"n":[{"a":[{"t":[{"t":144}]},2],"c":[{"e":3}],"d":[{"e":[{"r":7}]}],"e":[{"r":[{"r":181}]},2],"k":4,"o":4,"u":3}],"p":3,"r":[{"e":11}],"s":[{"a":4}]}],"v":[{"e":[{"n":[{"d":[{"e":0}]}],"r":[{"a":4}]}],"i":[{"c":[{"a":[{"r":151}]}]}]}],"w":[{"i":[{"l":[{"i":5}]}],"e":[{"b":[{"l":131}]}]}],"y":[{"e":1}],"k":[{"i":[{"l":[{"n":[{"i":168}]}]}],"o":[{"r":[{"t":[{"e":169}]}]}]}]}],"a":[{"b":[{".":18,"a":[{"l":19,"n":19}],"e":[{"r":[{"d":4}]},8],"i":[{"a":5,"t":[{"a":[{"b":13}]}]}],"l":[{"a":[{"t":4}]}],"o":[{"l":[{"i":[{"z":20,"c":19}]}]}],"r":[{"o":[{"g":4}]},18],"u":[{"l":3}]}],"c":[{"a":[{"r":[{"d":4,"o":4},21],"b":[{"l":24}]}],"e":[{"o":[{"u":19}],"r":2}],"h":[{"e":[{"t":19}]}],"i":[{"e":23,"n":2,"o":23},22],"r":[{"o":[{"b":4}]}],"t":[{"i":[{"f":5}]}],"u":[{"l":3,"m":1}]}],"d":[{"d":[{"i":[{"n":1}]}],"e":[{"r":[{".":4}]}],"i":[{"a":23,"c":[{"a":3}],"e":[{"r":0}],"o":23,"t":23,"u":19},25],"l":[{"e":1}],"o":[{"w":3}],"r":[{"a":[{"n":4}]}],"s":[{"u":1}],"u":[{"c":23,"m":4},18]},24],"e":[{"r":[{"i":[{"e":17}]},1]}],"f":[{"f":[{"i":[{"s":[{"h":170}]}]},0]},24],"g":[{"a":[{"b":21,"n":0}],"e":[{"l":[{"l":4}],"o":0,"u":18}],"i":2,"l":26,"n":2,"o":[{"g":27,"n":[{"i":3}]},24],"u":[{"e":[{"r":19}],"l":4}],"y":21}],"h":[{"a":23,"e":23,"l":1,"o":23}],"i":[{"a":19,"c":[{".":23}],"l":[{"y":4}],"n":[{"i":[{"n":5}],"o":5},28],"t":[{"e":[{"n":5}]}]},9],"j":29,"k":[{"e":[{"n":2}]}],"l":[{"a":[{"b":4,"d":3,"r":21}],"d":[{"i":18}],"e":[{"n":[{"d":3,"t":[{"i":21}]}],"o":30},25],"i":[{"a":[{".":1}],"e":0},2],"l":[{"e":[{"v":4}],"i":[{"c":18}]}],"m":18,"o":[{"g":[{".":19}]}],"y":[{".":21,"s":[{"t":31},18],"t":32,"z":27}]}],"m":[{"a":[{"b":4,"g":3,"r":[{"a":5}],"s":[{"c":4}],"t":[{"i":[{"s":21}],"o":33}]},18],"e":[{"r":[{"a":4}],"n":[{"t":[{"a":[{"b":182}]}]}]}],"i":[{"c":3,"f":4,"l":[{"y":4}],"n":[{"o":0},2]}],"o":[{"n":19,"r":[{"i":6}]},24],"p":[{"e":[{"n":5}]}]}],"n":[{"a":[{"g":[{"e":3}],"l":[{"y":[{"s":183},27]}],"r":[{"c":3,"i":17},23],"t":[{"i":23}]}],"d":[{"e":[{"s":17}],"i":[{"s":3}],"l":2,"o":[{"w":1}]},18],"e":[{"e":19,"n":23,"s":[{"t":[{".":4}]}],"u":23}],"g":[{"i":[{"e":5}],"l":2},25],"i":[{"c":34,"e":[{"s":23}],"f":35,"m":[{"e":1,"i":19}],"n":[{"e":19}],"o":3,"p":23,"s":[{"h":3}],"t":3,"u":23}],"k":[{"l":[{"i":1}]}],"n":[{"i":[{"z":32}]}],"o":[{"t":[{"h":7},4],"a":[{"c":148}]},0],"s":[{"a":9,"c":[{"o":1}],"n":1,"p":[{"o":11},9],"t":1,"u":[{"r":1}],"g":[{"r":5}],"v":11}],"t":[{"a":[{"l":36}],"i":[{"e":1,"d":137,"n":184,"r":[{"e":137}]}],"o":18,"r":9,"w":1}],"u":[{"a":3,"l":3,"r":19}]},24],"o":18,"p":[{"a":[{"r":17,"t":4}],"e":[{"r":[{"o":4}],"a":[{"b":[{"l":[{"e":132}]}]}]}],"h":[{"e":[{"r":23}],"i":18}],"i":[{"l":[{"l":[{"a":[{"r":4},21]}]}],"n":3,"t":[{"a":3,"u":23}]}],"l":24,"o":[{"c":6,"l":[{"a":4}],"r":[{"i":6}],"s":[{"t":12}]}],"s":[{"e":[{"s":5}]}],"u":23}],"q":[{"u":[{"e":6}]}],"r":[{"a":[{"c":[{"t":3}],"d":[{"e":19,"i":[{"s":4}]}],"l":3,"m":[{"e":[{"t":[{"e":19}]}]}],"n":[{"g":17}],"p":11,"t":[{"i":[{"o":19,"v":4}]},1],"u":19,"v":38,"w":17}],"b":[{"a":[{"l":36}]}],"c":[{"h":[{"a":[{"n":1}],"e":[{"t":185}]}]}],"d":[{"i":[{"n":[{"e":4}]}],"r":1}],"e":[{"a":[{"s":4}],"e":23,"n":[{"t":3}],"s":[{"s":19}]}],"f":[{"i":1,"l":1}],"i":[{"a":[{"l":4,"n":3}],"e":[{"t":23}],"m":1,"n":[{"a":[{"t":4}]}],"o":3,"z":9},2],"m":[{"i":9}],"o":[{"d":20,"n":[{"i":19}],"o":23}],"p":9,"q":3,"r":[{"e":17,"a":[{"n":[{"g":[{"e":9}]}]}]}],"s":[{"a":1,"h":9}]},37],"s":[{".":18,"a":[{"b":1,"n":[{"t":3}]}],"h":[{"i":17}],"i":[{"a":[{".":19}],"b":23,"c":23,"t":39}],"k":[{"i":11}],"l":1,"o":[{"c":21}],"p":[{"h":4}],"s":[{"h":1}],"t":[{"e":[{"n":3}],"r":2}],"u":[{"r":[{"a":6}]}],"y":[{"m":[{"p":[{"t":[{"o":[{"t":4}]}]}]}]}]}],"t":[{"a":[{"b":[{"l":3}],"c":4,"l":[{"o":3}],"p":4},24],"e":[{"c":[{"h":4},5],"g":[{"o":3}],"n":[{".":3}],"r":[{"a":3,"n":[{"a":19},6]}],"s":[{"t":3}],"v":4}],"h":[{"e":[{"m":5,"n":19,"r":[{"o":[{"s":186}]}]}],"o":[{"m":5},1]},18],"i":[{".":18,"a":19,"b":20,"c":2,"f":3,"o":[{"n":[{"a":[{"r":7}]}]}],"t":[{"u":3}]}],"o":[{"g":21,"m":[{"i":[{"z":4}]},24],"p":21,"s":21}],"r":[{"o":[{"p":4}]},29],"s":[{"k":1}],"t":[{"a":[{"g":1}],"e":[{"s":[{".":170}]},4],"h":1}],"u":[{"a":4,"e":4,"l":3,"r":[{"a":3}]},24],"y":24}],"u":[{"b":1,"g":[{"h":[{"t":[{"l":17}]},12],"u":3}],"l":[{"i":[{"f":13}]},40],"n":[{"d":5}],"r":3,"s":[{"i":[{"b":4}]}],"t":[{"e":[{"n":5}],"h":2}]}],"v":[{"a":[{"g":3,"n":19},24],"e":[{"n":[{"o":0}],"r":[{"a":3,"n":4,"y":4}]}],"i":[{"e":[{"r":0}],"g":3,"o":[{"u":3}]},2],"o":[{"c":4,"r":29}]}],"w":[{"a":[{"y":27}],"i":3,"l":[{"y":1}],"s":0}],"x":[{"i":[{"c":1,"d":1}]}],"y":[{"a":[{"l":4}],"e":0,"s":0}],"z":[{"i":[{"e":[{"r":0}]}],"z":[{"i":5}]}]}],"b":[{"a":[{".":32,"d":[{"g":[{"e":[{"r":5}]}]}],"g":[{"e":1}],"l":[{"a":15}],"n":[{"d":[{"a":[{"g":5}]}],"e":0,"i":11}],"r":[{"b":[{"i":7}],"i":[{"a":17}],"o":[{"n":[{"i":[{"e":187}]}]}]}],"s":[{"s":[{"i":0}]}],"t":[{"h":[{"y":2}]},41],"z":1,"c":[{"k":[{"e":[{"r":[{".":84}]}]}]}]}],"b":[{"e":[{"r":23},24],"i":[{"n":[{"a":0}],"t":0}]},42],"d":43,"e":[{".":18,"a":[{"k":17,"t":12}],"d":[{"a":3,"e":3,"i":3},44],"g":[{"i":3,"u":4}],"l":[{"i":2,"o":3},41],"m":45,"n":[{"i":[{"g":4}],"u":4}],"s":[{"p":3,"t":[{"r":4}]},46],"t":[{"i":[{"z":5}],"r":4,"w":3},27],"w":3,"y":[{"o":4}],"v":[{"i":[{"e":9}]}]}],"f":25,"h":47,"i":[{"b":9,"d":[{"i":[{"f":167}]},1],"e":[{"n":4,"r":1},27],"f":48,"l":[{"i":[{"z":3}],"l":[{"a":[{"b":8}]}]},41],"n":[{"a":[{"r":49}],"d":0,"e":[{"t":4}]}],"o":[{"g":[{"r":3}],"u":4,"m":5,"r":[{"b":2,"h":15}]}],"t":[{"i":[{"o":50,"v":[{"e":188}]}],"r":3,"u":[{"a":51}],"z":19},9]}],"j":29,"k":1,"l":[{"a":[{"t":[{"h":7}],"n":[{"d":189}]}],"e":[{".":21,"n":17,"s":[{"p":32}]}],"i":[{"s":23,"n":[{"d":189}]}],"o":[{"n":[{"d":190}]},21],"u":[{"n":[{"t":17}]}]},52],"m":43,"n":[{"e":[{"g":5}]},47],"o":[{"d":[{"i":11},27],"e":1,"l":[{"i":[{"c":11}]}],"m":[{"b":[{"i":0}]}],"n":[{"a":[{"t":5},0]}],"o":27,"r":[{".":32,"a":43,"d":5,"e":32,"i":32,"n":[{"o":191}]}],"s":53,"t":[{"a":19,"h":6,"o":1,"u":[{"l":192}]}],"u":[{"n":[{"d":54}]}]}],"p":18,"r":[{"i":[{"t":18}],"o":[{"t":[{"h":54}]}],"u":[{"s":[{"q":17}]}]}],"s":[{"o":[{"r":17}]},55],"t":[{"l":1,"o":21,"r":23},25],"u":[{"f":[{"f":[{"e":[{"r":0}]}]}],"g":[{"a":1}],"l":[{"i":3}],"m":[{"i":17}],"n":[{"t":[{"i":17}]},1],"r":[{"e":3}],"s":[{"i":[{"e":[{"r":193,"s":193},5]}],"s":[{"e":17,"i":[{"n":[{"g":17}]}]}],"t":32}],"t":[{"a":18,"i":[{"o":27}],"o":19,"e":[{"d":[{".":8}]}],"t":[{"e":[{"d":0}]}]}]}],"v":29,"w":56,"y":[{".":32,"s":0}]}],"c":[{"a":[{"b":[{"i":[{"n":11}],"l":2}],"c":[{"h":17}],"d":[{"e":[{"n":4,"m":194}]}],"g":46,"h":57,"l":[{"a":[{"t":3}],"l":[{"a":0,"i":[{"n":6}]}],"o":18}],"n":[{"d":5,"e":0,"i":[{"c":0,"s":5,"z":11}],"t":[{"y":0}],"y":17}],"p":[{"e":[{"r":4}]}],"r":[{"o":[{"m":5}]}],"s":[{"t":[{"e":[{"r":6}],"i":[{"g":5}]}],"y":18}],"t":[{"h":1,"i":[{"v":18}],"a":[{"s":195}]}],"v":[{"a":[{"l":5}]}]},41],"c":[{"h":[{"a":6}],"i":[{"a":0}],"o":[{"m":[{"p":[{"a":10}]}],"n":17,"u":[{"t":12}]}]},23],"e":[{".":25,"d":[{".":18,"e":[{"n":18}]}],"i":27,"l":[{".":32,"l":27}],"n":[{"c":27,"e":58,"i":18,"t":27},41],"p":27,"r":[{"a":[{"m":4}]}],"s":[{"a":18,"s":[{"i":[{"b":59},27]}],"t":5}],"t":[{"a":60},0],"w":0}],"h":[{".":18,"a":[{"b":61,"n":[{"i":[{"c":32,"s":20}]}]}],"e":[{"a":[{"p":54}],"d":18,"l":[{"o":5}],"m":[{"i":27}],"n":[{"e":4}],"r":[{".":3,"s":3}]},8],"i":[{"n":[{"e":[{".":32,"s":[{"s":4}]}],"i":32},62],"o":32,"t":27,"z":8,"e":[{"v":[{"o":6}]}]}],"o":63,"t":[{"i":1}],"s":[{".":18,"h":[{"u":11}]}]},25],"i":[{"a":[{"b":64,"r":5},27],"c":4,"e":[{"r":18}],"f":[{"i":[{"c":[{".":32}]}]}],"i":18,"l":[{"a":1,"i":27}],"m":25,"n":[{"a":[{"t":27},21],"e":[{"m":11}],"g":[{".":19},29],"o":32,"q":8},25],"o":[{"n":17}],"p":[{"e":18,"h":3,"i":[{"c":18}]}],"s":[{"t":[{"a":18,"i":18}]}],"t":[{"i":[{"z":11}]},42],"z":32,"g":[{"a":[{"r":152}]}]},41],"k":[{"i":3},2],"l":[{"a":[{"r":[{"a":[{"t":[{"i":[{"o":19}]}]}],"e":32},18]}],"e":[{"m":0,"a":[{"r":0}]}],"i":[{"c":18,"m":17}],"y":0},65],"n":19,"o":[{"a":[{"g":4}],"e":8,"g":[{"r":1},25],"i":[{"n":[{"c":3}]},0],"l":[{"i":5,"o":[{"r":11},32]}],"m":[{"e":[{"r":5}]}],"n":[{"a":0,"e":21,"g":11,"t":5}],"p":[{"a":3,"i":[{"c":11}],"l":1,"h":[{"o":[{"n":196}]}]}],"r":[{"b":18,"o":[{"n":12}]}],"s":[{"e":0}],"v":[{"e":17},15],"w":[{"a":5}],"z":[{"e":5,"i":4}],"u":[{"s":[{"t":[{"i":84}]}]}]},41],"q":29,"r":[{"a":[{"s":[{"t":6}],"t":[{".":32,"i":[{"c":32}]}]}],"e":[{"a":[{"t":11}],"d":32,"t":[{"a":47}],"v":0}],"i":[{"f":5,"n":21,"s":17,"t":[{"i":[{"e":11},32]}]},8],"o":[{"p":[{"l":0,"o":6}],"s":[{"e":17}],"c":[{"o":[{"d":197}]}],"e":[{"c":[{"o":148}]}]}],"u":[{"d":0}]}],"s":66,"t":[{"a":[{"b":0,"n":[{"g":4,"t":19}]}],"e":[{"r":23},24],"i":[{"c":[{"u":21}],"m":[{"i":12}]}],"u":[{"r":0}],"w":21,"r":[{"o":[{"m":[{"e":[{"c":198}]}]}]}]},42],"u":[{"d":5,"f":21,"i":[{"t":[{"y":4}]},21],"l":[{"i":32,"t":[{"i":[{"s":0}],"u":27}]}],"m":[{"a":9,"e":23,"i":1}],"n":27,"p":[{"i":3,"y":4}],"r":[{"a":[{"b":67,"n":[{"c":[{"e":199}]}]}],"i":[{"a":4}]}],"s":[{"s":[{"i":17}]},41],"t":[{"i":[{"e":1,"v":56}],"r":18},68]}],"y":41,"z":[{"e":0}]}],"d":[{"a":[{".":32,"b":70,"c":[{"h":17}],"f":18,"g":25,"m":71,"n":[{"g":11}],"r":[{"d":6,"k":6,"y":18}],"t":[{"i":[{"v":18}],"o":18,"a":[{"b":137}]},27],"v":[{"e":5},53],"y":32,"l":[{"o":[{"n":[{"e":48}]}]}]},69],"b":29,"c":19,"d":[{"a":[{"b":20}],"i":[{"b":94}]},72],"e":[{".":25,"a":[{"f":6,"l":[{"s":[{".":1}]}]}],"b":[{"i":[{"t":5}],"o":[{"n":1}]}],"c":[{"a":[{"n":36}],"i":[{"l":1}],"o":[{"m":4}],"l":[{"a":[{"r":200}],"i":[{"n":[{"a":64}]}]}]}],"d":42,"e":[{".":18}],"i":[{"f":4}],"l":[{"i":[{"e":17,"q":16}],"o":4}],"m":[{".":32,"i":[{"c":[{".":5},27],"l":4}],"o":[{"n":[{"s":1}],"r":7,"s":9}]},21],"n":[{"a":[{"r":1}],"o":3,"t":[{"i":[{"f":7}]}],"u":3},41],"p":[{"a":3,"i":17,"u":9},2],"q":23,"r":[{"h":21,"m":32,"n":[{"i":[{"z":6}]}],"s":5}],"s":[{".":24,"c":2,"o":64,"t":[{"i":11,"r":3}],"u":1,"i":[{"c":11}]},8],"t":[{"o":9,"i":[{"c":9}]},2],"v":[{"i":[{"l":11}]},2],"y":18,"f":[{"i":[{"n":[{"i":[{"t":[{"i":201}]}]}]}]}]}],"f":43,"g":[{"a":21,"e":[{"t":73}],"i":2,"y":24}],"h":74,"i":[{".":32,"a":[{"b":5},75],"c":[{"a":[{"m":1,"i":[{"d":15}]}],"e":21,"t":27}],"d":27,"e":[{"n":76}],"f":[{"f":[{"r":[{"a":5}]}]},29],"g":[{"e":3}],"l":[{"a":[{"t":[{"o":1}]}]}],"n":[{"a":41,"e":[{".":27}],"i":[{"z":4},32]},29],"o":[{"g":5},41],"p":[{"l":1}],"r":[{"e":[{"n":9,"r":9},2],"t":[{"i":6}]},8],"s":[{"i":32,"t":77},15],"t":[{"i":24}],"v":78,"m":[{"e":[{"t":[{"h":[{"y":141}]}]}]}]}],"j":29,"k":79,"l":[{"a":56,"e":[{".":27,"d":27,"s":[{".":27,"s":18}],"a":[{"d":42}]}],"o":48,"u":56,"y":25,"i":[{"e":202}]}],"m":29,"n":80,"o":[{".":27,"d":[{"e":4}],"e":32,"f":57,"g":21,"l":[{"a":1,"i":17,"o":[{"r":4}]}],"m":[{"i":[{"z":5}]}],"n":[{"a":[{"t":3}],"i":17}],"o":[{"d":11}],"p":[{"p":0}],"r":21,"s":27,"u":[{"t":56}],"v":1,"x":27,"w":[{"o":[{"r":[{"d":203}]}]}]},41],"p":29,"r":[{"a":[{"g":[{"o":[{"n":6}]}],"i":18}],"e":[{"a":[{"r":6}],"n":[{"a":[{"l":204}]},32]},0],"i":[{"b":0,"l":17,"f":[{"t":[{"a":189}]}],"p":[{"l":[{"e":[{"g":205}]}]}]}],"o":[{"p":0,"w":18,"m":[{"e":[{"d":206}]}]}],"u":[{"p":[{"l":[{"i":32}]}]}],"y":18},41],"s":[{"p":1,"w":21,"y":21},81],"t":[{"h":24,"a":[{"b":23}]}],"u":[{"a":[{"l":[{".":9}]},82],"c":[{"a":29,"e":[{"r":5}],"t":[{".":18,"s":18}]},9],"e":[{"l":4}],"g":1,"l":[{"e":23}],"m":[{"b":[{"e":0}]}],"n":1,"p":[{"e":1},18],"o":[{"p":[{"o":[{"l":207}]}]}]},41],"v":29,"w":29,"y":[{"n":32,"s":[{"e":1,"p":5}]},24]}],"e":[{"a":[{"b":72,"c":[{"t":23}],"d":[{"i":[{"e":5}]},15],"g":[{"e":[{"r":4},1]}],"l":[{"e":[{"r":5}],"o":[{"u":11}]},1],"m":[{"e":[{"r":11}]}],"n":[{"d":19,"i":[{"e":[{"s":111}]}]}],"r":[{"a":11,"c":0,"e":[{"s":5}],"i":[{"c":0,"l":0}],"k":5,"t":[{"e":12},8]}],"s":[{"p":4,"s":23,"t":12}],"t":[{"e":[{"n":5}],"h":[{"i":12}],"i":[{"f":19}],"u":83},9],"v":[{"e":[{"n":11}],"i":5,"o":5},9]}],"b":[{"e":[{"l":[{".":21,"s":21}],"n":21}],"i":[{"t":21}],"r":23},42],"c":[{"a":[{"d":21,"n":[{"c":6}]}],"c":[{"a":6}],"e":[{"s":[{"s":[{"a":4}]}]},29],"i":[{"b":21,"f":[{"i":[{"c":[{"a":[{"t":4}]}],"e":4}],"y":4}],"m":3,"t":[{"e":19},0]},9],"l":[{"a":[{"m":21}],"u":[{"s":21}]}],"o":[{"l":24,"m":[{"m":21,"p":[{"e":21}]}],"n":[{"c":21}],"r":[{"a":3,"o":5},24]}],"r":[{"e":[{"m":21}]},29],"t":[{"a":[{"n":1}],"e":1}],"u":[{"l":[{"a":3},21]},29],"h":[{"a":[{"s":23}]}]}],"d":[{"a":37,"d":61,"e":[{"r":34,"s":0}],"i":[{"a":23,"b":3,"c":[{"a":3}],"m":3,"t":2,"z":5},18],"o":[{"l":21,"n":84},18],"r":[{"i":21}],"u":[{"l":[{"o":4,"i":[{"n":[{"g":2}]}]},21]}],"g":[{"l":15}]}],"e":[{"c":9,"d":[{"i":11}],"f":9,"l":[{"i":11,"y":1}],"m":9,"n":[{"a":1}],"p":85,"s":[{"t":17},86],"t":[{"y":1}],"x":19}],"f":[{"e":[{"r":[{"e":83}]}],"f":41,"i":[{"c":[{"i":32},21],"l":17,"n":[{"e":23,"i":[{"t":[{"e":20}]}]}],"t":27}],"o":[{"r":[{"e":[{"s":6}]}]}],"u":[{"s":[{"e":[{".":21}]}]}]},29],"g":[{"a":[{"l":18}],"e":[{"r":17}],"i":[{"b":4,"c":1,"n":[{"g":4}],"t":87}],"n":4,"o":[{".":21,"s":21}],"u":[{"l":2,"r":19}],"y":32}],"h":[{"e":[{"r":17}]},72],"i":[{"c":19,"d":4,"g":[{"l":4},8],"m":[{"b":23}],"n":[{"f":23,"g":29,"s":[{"t":19}]}],"r":[{"d":0}],"t":[{"e":11,"h":3,"y":19}]},9],"j":[{"u":[{"d":[{"i":4},21]}]},29],"k":[{"i":[{"n":0}],"l":[{"a":1}]}],"l":[{"a":[{".":21,"c":21,"n":[{"d":17}],"t":[{"i":[{"v":4}]}],"w":21,"x":[{"a":36}]},29],"e":[{"a":23,"b":[{"r":[{"a":4}]}],"c":32,"d":21,"g":[{"a":3}],"n":19,"r":34,"s":29}],"f":9,"i":[{"b":[{"e":23}],"c":[{".":33,"a":3}],"e":[{"r":23}],"g":[{"i":[{"b":4}]}],"m":19,"n":[{"g":83}],"o":23,"s":[{"h":4},24],"v":88,"t":[{"i":[{"s":208}]}]},9],"l":[{"a":[{"b":1},18],"o":17}],"o":[{"c":19,"g":4,"p":[{".":3}],"a":29}],"s":[{"h":9}],"t":[{"a":1}],"u":[{"d":19,"g":4}]}],"m":[{"a":[{"c":21,"g":21,"n":[{"a":4},19]}],"b":4,"e":[{"l":24,"t":21},29],"i":[{"c":[{"a":3}],"e":0,"g":[{"r":[{"a":4}]}],"n":[{"e":4,"i":35},89],"s":[{"h":4,"s":19},21],"z":3}],"n":[{"i":[{"z":32}]}],"o":[{"g":0,"n":[{"i":[{"o":7}]}]}],"p":[{"i":3}],"u":[{"l":[{"a":4},21],"n":11}],"y":23}],"n":[{"a":[{"m":[{"o":4}],"n":[{"t":21}]}],"c":[{"h":[{"e":[{"r":17}]}]}],"d":[{"i":[{"c":3,"x":2}]}],"e":[{"a":19,"e":19,"m":3,"r":[{"o":4}],"s":[{"i":4,"t":4}],"t":[{"r":3}],"w":23}],"i":[{"c":[{"s":4}],"e":19,"l":19,"o":23,"s":[{"h":3}],"t":3,"u":19,"z":32}],"n":18,"o":[{"g":0,"s":21,"v":3},18],"s":[{"w":1}],"t":[{"a":[{"g":[{"e":5}]}],"h":[{"e":[{"s":18}]}]}],"u":[{"a":3,"f":4}],"y":[{".":23}],"z":61}],"o":[{"f":19,"g":[{"r":[{"a":[{"p":3}]}]},9],"i":90,"l":23,"p":[{"a":[{"r":11}]}],"r":[{"e":3,"o":[{"l":4}]},29],"s":0,"t":[{"o":1},21],"u":[{"t":19}],"w":19}],"p":[{"a":[{"i":23,"n":[{"c":4}]},24],"e":[{"l":19,"n":[{"t":23}],"t":[{"i":[{"t":[{"i":[{"o":4}]}]}]}]}],"h":[{"e":17}],"l":[{"i":21}],"o":29,"r":[{"e":[{"c":[{"a":4},21],"d":21,"h":3}],"o":[{"b":21},23]}],"s":[{"h":1}],"t":[{"i":[{"b":13}]}],"u":[{"t":[{"a":4},21]}],"i":[{"n":[{"e":[{"p":[{"h":209}]}]}]}]}],"q":[{"u":[{"i":[{"l":12,"s":91}]}]},29],"r":[{"a":[{"b":0,"n":[{"d":18}],"r":3,"t":[{"i":[{".":18}]}]},2],"b":[{"l":1},25],"c":[{"h":[{"e":1},3]}],"e":[{".":25,"a":[{"l":23}],"c":[{"o":5}],"i":[{"n":11}],"l":[{".":4}],"m":[{"o":3}],"n":[{"a":4,"c":[{"e":4}],"e":18,"t":3}],"q":0,"s":[{"s":4,"t":3}],"t":17}],"h":2,"i":[{"a":[{"n":[{".":210}]},92],"c":[{"k":32}],"e":[{"n":23,"r":0}],"n":[{"e":3}],"o":29,"t":18,"u":1,"v":[{"a":21},0]},2],"m":93,"n":[{"i":[{"s":1,"t":18,"z":32}],"o":3}],"o":[{"b":4,"c":19,"r":0,"u":2},25],"s":[{"e":[{"t":3}]},2],"t":[{"e":[{"r":11}],"l":18,"w":3}],"u":[{"t":0},18],"w":[{"a":[{"u":32}]}]}],"s":[{"a":[{"g":[{"e":[{".":21,"s":21}]}]},72],"c":[{"a":[{"n":4},24],"r":23,"u":4},9],"e":[{"c":[{"r":4},24],"n":[{"c":4}],"r":[{"t":[{".":21,"s":21}],"v":[{"a":21}]}]},74],"h":[{"a":23,"e":[{"n":5}]},18],"i":[{"c":24,"d":[{"e":[{"n":4}]},24],"g":[{"n":[{"a":4}]}],"m":94,"n":95,"s":[{"t":[{"e":17}]}],"u":0},29],"k":[{"i":[{"n":19}]}],"m":[{"i":1}],"o":[{"l":[{"u":3},24],"n":[{"a":4},24]}],"p":[{"e":[{"r":3}],"i":[{"r":[{"a":4}]}],"r":[{"e":1}],"a":[{"c":[{"i":211}]}]},29],"s":[{"i":[{"b":96}]},25],"t":[{"a":[{"n":36}],"i":[{"g":3,"m":4}],"o":[{"n":23},44],"r":[{"o":19,"u":[{"c":10}]},25]}],"u":[{"r":[{"r":4},24]}],"w":1}],"t":[{"a":[{"b":0}],"e":[{"n":[{"d":17}],"o":23}],"h":[{"o":[{"d":54}],"y":[{"l":[{"e":[{"n":[{"e":162}]}]}]}]}],"i":[{"c":2,"d":[{"e":19}],"n":[{"o":0},17],"r":19,"t":[{"i":[{"o":19,"v":4}]}]}],"n":18,"o":[{"n":[{"a":4}]}],"r":[{"a":23,"e":23,"i":[{"c":3,"f":4}],"o":[{"g":3,"s":4}]}],"u":[{"a":3}],"y":[{"m":4}],"z":4}],"u":[{"n":19,"p":23,"r":[{"o":3}],"s":0,"t":[{"e":17,"i":[{"l":6}],"r":4}],"c":[{"l":[{"i":[{"d":212}]}]}]},18],"v":[{"a":[{"p":97,"s":[{"t":4},24]}],"e":[{"a":19,"l":[{"l":3,"o":12}],"n":[{"g":19,"i":17}],"r":[{"b":19},2]}],"i":[{"d":3,"l":0,"n":21,"v":0},29],"o":[{"c":19}],"u":19}],"w":[{"a":[{"g":21},29],"e":[{"e":19}],"h":23,"i":[{"l":6,"n":[{"g":3}],"t":23}]}],"x":[{"p":41}],"y":[{"c":32,"e":[{".":32}],"s":0}]}],"f":[{"a":[{"b":[{"l":3,"r":11}],"c":[{"e":1}],"g":18,"i":[{"n":17}],"l":[{"l":[{"e":6}]}],"m":[{"a":26,"i":[{"s":5}]}],"r":[{"t":[{"h":5}]},32],"t":[{"a":3,"h":[{"e":3}],"o":18}],"u":[{"l":[{"t":7}]}]},41],"b":56,"d":18,"e":[{".":18,"a":[{"s":17,"t":[{"h":54}]}],"b":[{"r":[{"u":[{"a":15}]}]},1],"c":[{"a":18,"t":32}],"d":25,"l":[{"i":3}],"m":[{"o":1}],"n":[{"d":[{"e":6},8]}],"r":[{"r":32,"m":[{"i":[{"o":213}]}]},15],"v":0}],"f":[{"e":[{"s":21}],"i":[{"e":21,"n":[{".":19}],"s":94}],"l":[{"y":21}],"y":24},43],"h":18,"i":[{"a":3,"c":[{".":48,"a":[{"l":47,"n":23,"t":[{"e":18}]}],"e":[{"n":23,"r":3}],"i":[{"a":32,"e":32},0],"s":18,"u":3,"h":27}],"d":[{"e":[{"l":4}]}],"g":[{"h":[{"t":7}]}],"l":[{"i":5,"l":[{"i":[{"n":6}]}],"y":18}],"n":[{"a":32,"d":97,"e":9,"g":98,"n":0},25],"s":[{"t":[{"i":0}]}],"t":[{"t":[{"e":[{"d":[{".":5}]}]}]}]},41],"l":[{"e":[{"s":[{"s":19}]}],"i":[{"n":17}],"o":[{"r":[{"e":11}],"w":[{"e":[{"r":[{".":84}]}]}]}],"y":100,"a":[{"g":[{"e":[{"l":214}]}]}],"u":[{"o":[{"r":27}]}]},99],"m":18,"n":18,"o":[{"n":[{"d":[{"e":0}],"t":0},32],"r":[{"a":[{"t":4,"y":5}],"e":[{"t":6}],"i":0,"t":[{"a":6}]},9],"s":5},41],"p":56,"r":[{"a":[{"t":0}],"e":[{"a":19,"s":[{"c":6}]}],"i":[{"l":17},8],"o":[{"l":6}]}],"s":48,"t":[{"o":21,"y":24},25],"u":[{"e":[{"l":4}],"g":18,"m":[{"i":[{"n":1}]}],"n":[{"e":4}],"r":[{"i":3}],"s":[{"i":17,"s":0}],"t":[{"a":18}]},27],"y":41}],"g":[{"a":[{"f":0,"l":[{".":32,"i":27,"o":3}],"m":[{"e":[{"t":4}],"o":19},25],"n":[{"i":[{"s":5,"z":[{"a":6},3]}],"o":18}],"r":[{"n":67}],"s":[{"s":17}],"t":[{"h":12,"i":[{"v":18}]}],"z":18},41],"b":23,"d":1,"e":[{".":25,"d":25,"e":[{"z":17}],"l":[{"i":[{"n":0,"s":4,"z":4}],"y":18}],"n":[{"a":[{"t":1}],"i":[{"z":4}],"o":18,"y":18,"c":[{"y":[{".":8}]}]},41],"o":[{"m":3,"d":215},41],"r":[{"y":21}],"s":[{"i":32}],"t":[{"h":6,"o":18,"y":1,"i":[{"c":[{".":8}]}]}],"v":1}],"g":[{"e":[{"r":23},24],"l":[{"u":6}],"o":0},101],"h":[{"i":[{"n":3}],"o":[{"u":[{"t":4}]}],"t":[{"o":1,"w":[{"e":15}]}]}],"i":[{".":32,"a":[{"r":5},102],"c":[{"i":[{"a":32}],"o":21},29],"e":[{"n":6,"s":[{".":32}]}],"l":0,"m":[{"e":[{"n":23}]}],"n":[{".":68,"g":[{"e":5}],"s":103}],"o":32,"r":[{"l":0},27],"s":[{"l":23}],"u":1,"v":32,"z":27}],"l":[{"a":[{"d":[{"i":6}],"s":32},0],"e":[{"a":[{"d":29}]},41],"i":[{"b":0,"g":23,"s":[{"h":43}]}],"o":[{"r":11,"b":[{"i":[{"n":106}]}]},27]},9],"m":[{"y":21},29],"n":[{"a":[{".":21,"c":69},1],"e":[{"t":[{"t":17,"i":[{"s":[{"m":137}]}]}]}],"i":[{"n":24,"o":21},29],"o":[{"n":21,"m":[{"o":5}],"r":[{".":216,"e":[{"s":[{"p":24}]}]}]},29]}],"o":[{".":27,"b":5,"e":32,"g":104,"i":[{"s":3}],"n":[{"a":105,"d":[{"o":7}],"i":[{"z":[{"a":217}]},3]},8],"o":32,"r":[{"i":[{"z":4}],"o":[{"u":5}]}],"s":[{".":32}],"v":15},41],"p":23,"r":[{"a":[{"d":[{"a":18}],"i":21,"n":84,"p":[{"h":[{".":32,"e":[{"r":[{".":7},19]}],"i":[{"c":32}],"y":18}]}],"y":18}],"e":[{"n":0,"s":[{"s":[{".":18}]}]}],"i":[{"t":18,"e":[{"v":213}]}],"o":21,"u":[{"f":17}]},41],"s":[{"t":[{"e":19}]},9],"t":[{"h":11}],"u":[{"a":[{"r":[{"d":27}]},1],"e":25,"i":[{"t":106}],"n":27,"s":27,"t":[{"a":[{"n":29}]},26]}],"w":23,"y":[{"n":107,"r":[{"a":4}]},41]}],"h":[{"a":[{"b":[{"l":73}],"c":[{"h":17}],"e":[{"m":0,"t":0}],"g":[{"u":19}],"l":[{"a":[{"m":12},3]}],"m":1,"n":[{"c":[{"i":0,"y":0}],"d":[{".":32}],"g":[{"e":[{"r":6}],"o":6},0],"i":[{"z":108}],"k":0,"t":[{"e":0}]}],"p":[{"l":11,"t":5,"a":[{"r":[{"r":218}]}]}],"r":[{"a":[{"n":3,"s":4}],"d":[{"e":12},8],"l":[{"e":0}],"p":[{"e":[{"n":6}]}],"t":[{"e":[{"r":5}]}]}],"s":[{"s":5}],"u":[{"n":17}],"z":[{"a":11},32],"i":[{"r":[{"s":137}]}],"t":[{"c":[{"h":213}]}]}],"b":29,"e":[{"a":[{"d":41,"r":27}],"c":[{"a":[{"n":1,"t":19}]}],"d":[{"o":13},21],"l":[{"i":93,"l":[{"i":[{"s":0}],"y":0}],"o":19}],"m":[{"p":0}],"n":[{"a":[{"t":5},17]},9],"o":[{"r":5}],"p":5,"r":[{"a":[{"p":12},21],"b":[{"a":0}],"e":[{"a":6}],"n":23,"o":[{"u":19}],"y":23}],"s":[{"p":64},29],"t":[{"e":[{"d":0}]},1],"u":0,"x":[{"a":168}]}],"f":29,"h":29,"i":[{"a":[{"n":4}],"c":[{"o":1}],"g":[{"h":6}],"l":109,"m":[{"e":[{"r":36}]}],"n":[{"a":21}],"o":[{"n":[{"e":17}]}],"p":[{"e":[{"l":[{"a":219}]}]},1],"r":[{"l":0,"o":3,"p":0,"r":0}],"s":[{"e":[{"l":11}],"s":0}],"t":[{"h":[{"e":[{"r":6}]}],"e":[{"s":[{"i":[{"d":12}]}]}]}],"v":9}],"k":18,"l":[{"a":[{"n":17}],"o":[{"r":[{"i":11}]},24]},80],"m":[{"e":[{"t":17}]},43],"n":[{"a":[{"u":[{"z":12}]}]},42],"o":[{"d":[{"i":[{"z":19}],"s":19}],"g":[{"e":17},1],"l":[{"a":[{"r":5}],"e":110}],"m":[{"a":1,"e":12}],"n":[{"a":0,"y":4}],"o":[{"d":27,"n":17}],"r":[{"a":[{"t":5}],"i":[{"s":4,"c":[{".":187}]}],"t":[{"e":12}],"u":4}],"s":[{"e":[{"n":4},0],"p":15}],"u":[{"s":[{"e":54},41]}],"v":[{"e":[{"l":5}]}]}],"p":56,"r":[{"e":[{"e":6}],"o":[{"n":[{"i":[{"z":5}]}],"p":[{"o":11}]}]},26],"s":[{"h":21},101],"t":[{"a":[{"r":21}],"e":[{"n":2,"s":4,"o":[{"u":216}]}],"y":21}],"u":[{"g":1,"m":[{"i":[{"n":1}]}],"n":[{"k":[{"e":5}],"t":0}],"s":[{"t":14}],"t":1}],"w":[{"a":[{"r":[{"t":21}]}]},29],"y":[{"p":[{"e":3,"h":3,"o":[{"t":[{"h":[{"a":137}]}]}]}],"s":9}]}],"i":[{"a":[{"l":24,"m":[{"e":[{"t":[{"e":5}]}]},0],"n":[{"c":18,"i":11,"t":46},24],"p":[{"e":4}],"s":[{"s":17}],"t":[{"i":[{"v":21}],"r":[{"i":[{"c":1}]}],"u":21}]},42],"b":[{"e":[{"r":[{"a":3,"t":4}]},0],"i":[{"a":4,"n":3,"t":[{".":4,"e":4}]}],"l":[{"i":3},29],"o":19,"r":[{"i":94},29],"u":[{"n":19}]}],"c":[{"a":[{"m":18,"p":32,"r":[{".":21,"a":21},18],"s":6,"y":21}],"c":[{"u":17}],"e":[{"o":18}],"h":18,"i":[{"d":19,"n":[{"a":4}],"p":[{"a":3},24]},25],"l":[{"y":21}],"o":[{"c":94}],"r":[{"a":32,"y":21},43],"t":[{"e":1,"u":[{"a":111},84]}],"u":[{"l":[{"a":3}],"m":1,"o":4,"r":23}]}],"d":[{"a":[{"i":21,"n":[{"c":4}]}],"d":4,"e":[{"a":[{"l":11}],"s":0}],"i":[{"a":[{"n":4,"r":0}],"e":19,"o":[{"u":5,"s":1},3],"t":2,"u":4},24],"l":[{"e":23}],"o":[{"m":21,"w":3}],"r":21,"u":[{"o":4},24]},25],"e":[{"d":[{"e":0}],"g":[{"a":113}],"l":[{"d":12}],"n":[{"a":67,"e":0,"n":19,"t":[{"i":23}]}],"r":[{".":29}],"s":[{"c":23,"t":29}],"t":23},112],"f":[{".":18,"e":[{"r":[{"o":4}]}],"f":[{"e":[{"n":5}],"r":1}],"i":[{"c":[{".":18}],"e":23}],"l":23,"t":18,"a":[{"c":[{"e":[{"t":137}]}]}]}],"g":[{"a":[{"b":5}],"e":[{"r":[{"a":3}]}],"h":[{"t":[{"i":12}]}],"i":[{"b":23,"l":3,"n":3,"t":3},18],"l":28,"o":[{"r":3,"t":4},24],"r":[{"e":19}],"u":[{"i":5,"r":2}],"n":[{"i":[{"t":[{"e":[{"r":213}]},0]}]}]},25],"h":23,"i":114,"j":[{"k":21},23],"k":18,"l":[{"a":[{"b":93,"d":[{"e":21}],"m":94,"r":[{"a":5}]},29],"e":[{"g":23,"r":2,"v":17}],"f":4,"i":[{"a":3,"b":9,"o":3,"s":[{"t":1}],"t":25,"z":9},2],"l":[{"a":[{"b":5}]}],"n":18,"o":[{"q":3}],"t":[{"y":1}],"u":[{"r":4}],"v":3}],"m":[{"a":[{"g":[{"e":3},21],"r":[{"y":5}]}],"e":[{"n":[{"t":[{"a":[{"r":10}]}]}],"t":18}],"i":[{"d":[{"a":4}],"l":[{"e":5}],"n":[{"i":19}],"t":18},2],"n":[{"i":1}],"o":[{"n":23}],"u":[{"l":[{"a":3}]},24],"p":[{"e":[{"d":[{"a":201}]}]}]}],"n":[{".":25,"a":[{"u":83,"v":18}],"c":[{"e":[{"l":36,"r":3}]}],"d":[{"l":[{"i":[{"n":[{"g":4}]}]}]},18],"e":[{"e":23,"r":[{"a":[{"r":17}]}],"s":[{"s":19}]},25],"g":[{"a":18,"e":[{"n":4},18],"i":18,"l":[{"i":[{"n":[{"g":4}]}]}],"o":18,"u":18}],"i":[{".":19,"a":21,"o":3,"s":2,"t":[{"e":[{".":19,"l":[{"y":[{".":19}]}]}],"i":[{"o":32}],"y":3}]},25],"k":18,"l":18,"n":25,"o":[{"c":90,"s":0,"t":21},42],"s":[{"e":3,"u":[{"r":[{"a":7}]}]},25],"t":[{".":25,"h":112}],"u":[{"s":19},2],"y":18,"f":[{"r":[{"a":[{"s":220}]}]}]}],"o":[{".":18,"g":[{"e":17,"r":9}],"l":29,"m":1,"n":[{"a":[{"t":11}],"e":[{"r":[{"y":0}]}],"i":11}],"p":[{"h":4}],"r":[{"i":11}],"s":21,"t":[{"h":4,"i":19,"o":1}],"u":[{"r":21}]},25],"p":[{"e":0,"h":[{"r":[{"a":[{"s":115}]}]}],"i":[{"c":1},3],"r":[{"e":96}],"u":[{"l":3}]},25],"q":[{"u":[{"a":23,"e":[{"f":4}],"i":[{"d":3,"t":116}]}]}],"r":[{"a":[{"b":0,"c":21},29],"d":[{"e":5}],"e":[{"d":[{"e":0}],"f":21,"l":117,"s":21}],"g":[{"i":4}],"i":[{"d":[{"e":5}],"s":1,"t":[{"u":11}],"z":118},2],"m":[{"i":[{"n":1}]}],"o":[{"g":0,"n":[{".":32}]}],"u":[{"l":4}],"r":[{"e":[{"v":[{"o":[{"c":221}]}]}]}]},18],"s":[{".":25,"a":[{"g":4,"r":3,"s":6}],"c":[{"h":3},119],"e":[{"r":3},18],"f":27,"h":[{"a":[{"n":4}],"o":[{"n":3,"p":5}]}],"i":[{"b":3,"d":0,"s":19,"t":[{"i":[{"v":4}]}]}],"k":26,"l":[{"a":[{"n":36}]}],"m":[{"s":18}],"o":[{"m":[{"e":[{"r":5}]}]},24],"p":[{"i":9,"y":1},2],"s":[{"a":[{"l":1}],"e":[{"n":36,"s":1}]},62],"t":[{"a":[{".":1}],"e":2,"i":2,"l":[{"y":0}],"r":[{"a":[{"l":18}]}]}],"u":[{"s":4},24]}],"t":[{"a":[{".":18,"b":[{"i":0}],"g":21,"m":120,"n":23,"t":23}],"e":[{"r":[{"a":3,"i":19}],"s":[{"i":[{"m":[{"a":29}]}]},1]},25],"h":[{"i":[{"l":148}]},25],"i":[{"a":18,"c":[{"a":3,"k":31},22],"g":3,"l":[{"l":4}],"m":24,"o":25,"s":[{"m":21},18],"n":[{"e":[{"r":[{"a":[{"r":158}]}]}]}]},29],"o":[{"m":121,"n":18}],"r":[{"a":[{"m":21}],"y":4}],"t":18,"u":[{"a":[{"t":3}],"d":19,"l":3}],"z":[{".":18}]}],"u":29,"v":[{"e":[{"l":[{"l":3}],"n":[{".":3}],"r":[{".":83,"s":[{".":21}]}]}],"i":[{"l":[{".":4}],"o":4,"t":2}],"o":[{"r":[{"e":19,"o":35}],"t":83}]},25],"w":56,"x":[{"o":1}],"y":18,"z":[{"a":[{"r":18}],"i":0,"o":[{"n":[{"t":32}]}]}]}],"j":[{"a":[{"c":[{"q":0}],"p":[{"a":[{"n":[{"e":[{"s":220}]}]}]},1],"n":[{"u":[{"a":12}]}]},32],"e":[{"r":[{"s":5,"e":[{"m":222}]}],"s":[{"t":[{"i":[{"e":18}],"y":18}]}],"w":11},41],"o":[{"p":1}],"u":[{"d":[{"g":32}]}]}],"k":[{"a":[{".":27,"b":23,"g":19,"i":[{"s":17}],"l":0}],"b":29,"e":[{"d":24,"e":41,"g":1,"l":[{"i":[{"n":[{"g":223}]},4]}],"n":[{"d":73}],"r":29,"s":[{"t":[{".":23}]},0],"t":[{"y":1}]}],"f":23,"h":1,"i":[{".":32,"c":122,"l":[{"l":21,"o":6}],"m":21,"n":[{".":21,"d":[{"e":0}],"e":[{"s":[{"s":19}],"t":[{"i":[{"c":224}]}]}],"g":0}],"p":1,"s":[{"h":19},0]},29],"k":1,"l":[{"e":[{"y":18}],"y":18},29],"m":29,"n":[{"e":[{"s":19}],"o":69}],"o":[{"r":4,"s":[{"h":17}],"u":23,"v":[{"i":[{"a":[{"n":41}]}]}]}],"r":[{"o":[{"n":5}]}],"s":[{"c":21,"l":1,"y":21,"h":[{"a":23}]},101],"t":19,"w":29}],"l":[{"a":[{"b":[{"i":[{"c":11}],"o":21}],"c":[{"i":[{"e":225},17]}],"d":[{"e":21,"y":3}],"g":[{"n":0}],"m":[{"o":11}],"n":[{"d":[{"l":0},27],"e":[{"t":5}],"t":[{"e":0}]}],"r":[{"g":0,"i":11,"c":[{"e":[{"n":176}]}]}],"s":[{"e":0}],"t":[{"a":[{"n":4}],"e":[{"l":[{"i":18}]}],"i":[{"v":18}]}],"v":[{"a":95},18],"i":[{"n":[{"e":[{"s":[{"s":226}]}]}]}]}],"b":[{"i":[{"n":17}]},42],"c":[{"e":0,"i":23,"h":[{"a":[{"i":23}],"i":[{"l":[{"d":227}]}]}]},101],"d":[{"e":[{"r":[{"e":1,"i":1}]},24],"i":[{"s":4},0],"r":[{"i":21},23]},25],"e":[{"a":[{"d":[{"e":[{"r":[{".":183}]}]}],"s":[{"a":228}]},9],"b":[{"i":1}],"f":[{"t":6}],"g":[{".":32,"g":32,"e":[{"n":[{"d":[{"r":[{"e":230}]}]}]}]}],"m":[{"a":[{"t":[{"i":[{"c":5}]},1]}]}],"n":[{".":18,"c":27,"e":[{".":32}],"t":41,"o":[{"i":[{"d":78}]}]}],"p":[{"h":3,"r":1}],"r":[{"a":[{"b":6}],"e":0,"g":27,"i":68,"o":21}],"s":[{"c":[{"o":4}],"q":32,"s":[{".":32},27]},8],"v":[{"a":23,"e":[{"r":[{".":0,"a":0,"s":0}]}]}],"y":[{"e":18},27],"c":[{"t":[{"a":[{"b":229}]}]}]}],"f":[{"r":19},25],"g":[{"a":[{"r":12},19],"e":[{"s":21}],"o":11},80],"h":48,"i":[{"a":[{"g":1,"m":9,"r":[{"i":[{"z":6}]}],"s":1,"t":[{"o":1}]}],"b":[{"i":4}],"c":[{"i":[{"o":32}],"o":[{"r":1}],"s":18,"t":[{".":18}],"u":21,"y":23}],"d":[{"a":23,"e":[{"r":5}],"i":27}],"f":[{"e":[{"r":11}],"f":21,"l":1}],"g":[{"a":[{"t":[{"e":32}]}],"h":27,"r":[{"a":1}]}],"k":27,"l":123,"m":[{"b":[{"l":0}],"i":11,"o":1,"p":90}],"n":[{"a":21,"e":[{"a":11},124],"i":11,"k":[{"e":[{"r":6}]}]}],"o":[{"g":4}],"q":125,"s":[{"p":0}],"t":[{".":24,"i":[{"c":[{"a":32,"s":108}]}],"h":[{"o":[{"g":204}]}]},29],"v":[{"e":[{"r":11}]}],"z":29}],"j":18,"k":[{"a":[{"l":23,"t":0},11]}],"l":[{"a":[{"w":21}],"e":[{"a":19,"c":23,"g":23,"l":23,"n":73,"t":73},24],"i":[{"n":[{"a":19},126],"s":[{"h":231}]},9],"o":[{"q":[{"u":[{"i":10}]}],"u":[{"t":4}],"w":19},1],"f":[{"l":2}]},29],"m":[{"e":[{"t":19}],"i":[{"n":[{"g":3}]}],"o":[{"d":21,"n":[{"e":[{"l":[{"l":232}]}]},17]}]},25],"n":81,"o":[{".":27,"b":[{"a":[{"l":5}],"o":[{"t":[{"o":233}]}]}],"c":[{"i":1}],"f":18,"g":[{"i":[{"c":27}],"o":19,"u":27,"e":[{"s":[{".":9}]}]}],"m":[{"e":[{"r":11}]}],"n":[{"g":32,"i":[{"z":127},0]}],"o":[{"d":6}],"p":[{"e":[{".":32}],"i":11,"m":23}],"r":[{"a":[{"t":[{"o":1}]},17],"i":[{"e":4}],"o":[{"u":5}]}],"s":[{".":32,"e":[{"t":5}],"o":[{"p":[{"h":[{"i":[{"z":32}],"y":32}]}]}],"t":0}],"t":[{"a":1}],"u":[{"n":[{"d":6}],"t":25}],"v":18,"a":[{"d":[{"e":[{"d":[{".":17}],"r":[{".":183}]}]}]}]}],"p":[{"a":[{"b":5}],"h":[{"a":23,"i":19}],"i":[{"n":[{"g":4}],"t":23}],"l":21,"r":19},25],"r":43,"s":[{"c":21,"e":24,"i":[{"e":21}]},81],"t":[{"a":[{"g":4,"n":[{"e":7}]}],"e":[{"n":17,"r":[{"a":36}],"a":23},29],"h":[{"i":[{"l":[{"y":148}]},11]}],"i":[{"e":[{"s":[{".":19}]}],"s":17}],"r":29,"u":[{"r":[{"a":12}]},8]},18],"u":[{"a":4,"b":[{"r":3}],"c":[{"h":17,"i":3}],"e":[{"n":3,"p":15}],"f":0,"i":[{"d":4}],"m":[{"a":1,"i":32,"n":[{".":19,"i":[{"a":32}]}],"b":[{"i":[{"a":[{".":235}]}]}]}],"o":[{"r":11},3],"p":18,"s":[{"s":17,"t":[{"e":11}]}],"t":41,"n":[{"k":[{"e":[{"r":234}]}]}]}],"v":[{"e":[{"n":19,"t":128}]}],"w":42,"y":[{"a":18,"b":18,"m":[{"e":4}],"n":[{"o":3}],"s":[{"e":19,"t":[{"y":[{"r":4}]}]},58],"g":[{"a":[{"m":[{"i":236}]}]}]},41]}],"m":[{"a":[{"b":25,"c":[{"a":9,"h":[{"i":[{"n":[{"e":4}]}]}],"l":1}],"g":[{"i":[{"n":5}],"n":32}],"h":25,"i":[{"d":6}],"l":[{"d":18,"i":[{"g":3,"n":4}],"l":[{"i":0}],"t":[{"y":0}],"a":[{"p":222}]}],"n":[{"i":[{"a":32,"s":5,"z":11}],".":24,"u":[{"s":[{"c":237}]}]}],"p":[{"h":[{"r":[{"o":244}]}]},18],"r":[{"i":[{"n":[{"e":[{".":4}]}],"z":4}],"l":[{"y":0}],"v":11,"g":[{"i":[{"n":238}]}]}],"s":[{"c":[{"e":4}],"e":0,"t":15}],"t":[{"e":32,"h":12,"i":[{"s":3,"z":[{"a":18}]}]}]},41],"b":[{"a":[{"t":129}],"i":[{"l":19,"n":[{"g":83}],"v":0}]},43],"c":56,"e":[{".":18,"d":[{".":18,"i":[{"a":32,"e":3,"c":[{"i":[{"n":152}]},84],"o":[{"c":239}]}],"y":108},25],"g":[{"r":[{"a":[{"n":240}]}]},9],"l":[{"o":[{"n":5}],"t":0}],"m":[{"o":130},9],"n":[{"a":[{"c":5},0],"d":[{"e":0}],"e":18,"i":0,"s":[{"u":7},17],"t":[{"e":0},27],".":24},41],"o":[{"n":4}],"r":[{"s":[{"a":19}]}],"s":[{"t":[{"i":27}]},25],"t":[{"a":[{"l":11},1],"e":2,"h":[{"i":4}],"r":[{"i":[{"c":32,"e":4}],"y":3},21]}],"v":1}],"f":43,"h":25,"i":[{".":32,"a":3,"d":[{"a":[{"b":241},0],"g":0}],"g":0,"l":[{"i":[{"a":27,"e":108,"t":[{"a":27}]}],"l":[{"a":[{"g":208}],"i":[{"l":[{"i":59}]}]},21]}],"n":[{"a":0,"d":27,"e":[{"e":19}],"g":[{"l":[{"i":5,"y":19},21]}],"t":0,"u":[{"t":[{"e":[{"r":242,"s":[{"t":242}]}]}]},21],"i":[{"s":[{".":174}]}]}],"o":[{"t":17}],"s":[{"e":[{"r":[{".":0}]}],"l":5,"t":[{"i":0,"r":[{"y":19}]}]},24],"t":[{"h":18}],"z":24}],"k":18,"l":43,"m":[{"a":[{"r":[{"y":5}],"b":243}]},29],"n":[{"a":1,"i":[{"n":21}],"o":1},43],"o":[{"c":[{"r":[{"a":[{"t":[{"i":[{"z":32}]},245]}]},18]}],"d":131,"g":[{"o":1}],"i":[{"s":[{"e":5},84]}],"k":18,"l":[{"e":[{"s":[{"t":4}],"c":246}]}],"m":[{"e":3}],"n":[{"e":[{"t":5,"y":[{"l":247}]}],"g":[{"e":5}],"i":[{"a":12,"s":[{"m":0,"t":0}],"z":3}],"o":[{"l":36,"c":[{"h":12}],"e":[{"n":171}],"s":249}],"y":[{".":3}]}],"r":[{"a":[{".":18}],"o":[{"n":[{"i":[{"s":248}]}]}]},9],"s":[{"e":[{"y":4}],"p":3},8],"t":[{"h":[{"e":[{"t":250}]},12]}],"u":[{"f":19,"s":[{"i":[{"n":98}]},27]}],"v":9,"e":[{"l":[{"a":[{"s":167}]}]}]},41],"p":[{"a":[{"r":[{"a":[{"b":5},7],"i":6}]}],"e":[{"t":23}],"h":[{"a":[{"s":36}]}],"i":[{"a":0,"e":[{"s":4}],"n":34,"r":19,"s":4},24],"o":[{"r":[{"i":11}],"s":[{"i":[{"t":[{"e":6}]}]}],"u":[{"s":21}],"v":6}],"t":[{"r":1}],"y":24},43],"r":47,"s":[{"h":[{"a":[{"c":[{"k":251}]}]},21],"i":19},101],"t":18,"u":[{"l":[{"a":[{"r":49}],"t":[{"i":[{"u":252},54]},32]}],"m":27,"n":8,"p":18,"u":1,"d":[{"r":[{"o":9}]}]},41],"w":18}],"n":[{"a":[{"b":[{"u":21},81],"c":[{".":18,"a":1,"t":19}],"g":[{"e":[{"r":[{".":5}]}]}],"k":0,"l":[{"i":[{"a":4},1],"t":18}],"m":[{"i":[{"t":4}]}],"n":[{"c":[{"i":36}],"i":[{"t":0}],"k":17},24],"r":[{"c":[{"h":[{"s":[{".":73}]}]},11],"e":18,"i":11,"l":0,"m":19}],"s":[{"c":0,"t":[{"i":5}]},21],"t":[{"a":[{"l":3}],"o":[{"m":[{"i":[{"z":6}]}]}]},24],"u":[{"s":[{"e":11}],"t":27},24],"v":[{"e":0}]},41],"b":80,"c":[{"a":[{"r":6}],"e":[{"s":[{".":21}]}],"h":[{"a":23,"e":[{"o":19,"s":[{"t":253}]}],"i":[{"l":19,"s":23}]}],"i":[{"n":2,"t":1}],"o":[{"u":[{"r":[{"a":7}]}]}],"r":29,"u":29}],"d":[{"a":[{"i":21,"n":19}],"e":[{"s":[{"t":[{".":4}]}]},29],"i":[{"b":0,"f":79,"t":29,"z":23,"e":[{"c":[{"k":29}]}]}],"u":[{"c":19,"r":0}],"w":[{"e":9}],"t":[{"h":[{"r":3}]}]}],"e":[{".":25,"a":[{"r":23}],"b":[{"u":11,"a":[{"c":[{"k":3}]}]},9],"c":[{"k":32},9],"d":25,"g":[{"a":[{"t":[{"i":[{"v":5}]},1]}],"e":32}],"l":[{"a":1,"i":[{"z":5}]}],"m":[{"i":4,"o":1}],"n":[{"e":18},41],"o":27,"p":[{"o":1}],"q":9,"r":[{"a":[{"b":6,"r":21}],"e":24,"i":132,"r":0},29],"s":[{".":25,"p":18,"t":25,"w":18,"k":[{"i":119}]},41],"t":[{"i":[{"c":27}]}],"v":[{"e":19},1],"w":1}],"f":[{"i":[{"n":[{"i":[{"t":[{"e":[{"s":226}]}]}]}]}]},23],"g":[{"a":[{"b":21}],"e":[{"l":23,"n":[{"e":[{"s":5},133]}],"r":[{"e":19,"i":23}]}],"h":[{"a":4,"o":2}],"i":[{"b":23,"n":2,"t":19}],"l":[{"a":21}],"o":[{"v":17}],"s":[{"h":4,"p":[{"r":2}]}],"u":[{"m":21},29],"y":24}],"h":[{"a":[{"b":12},0],"e":0},80],"i":[{"a":[{"n":[{".":114},3],"p":1},68],"b":[{"a":3,"l":1}],"d":[{"i":4},1],"e":[{"r":1}],"f":[{"i":[{"c":[{"a":[{"t":4}]}]},9]}],"g":[{"r":19}],"k":0,"m":[{"i":[{"z":3}]},29],"n":[{"e":[{".":32}],"g":0},29],"o":1,"s":[{".":32,"t":[{"a":0}]}],"t":[{"h":21,"i":[{"o":27}],"o":[{"r":23}],"r":3},24]}],"j":29,"k":[{"e":[{"r":[{"o":19}],"t":23}],"i":[{"n":3}],"l":29,"r":[{"u":[{"p":3}]}]},44],"l":[{"e":[{"s":[{"s":19}]}]},43],"m":[{"e":[{"t":17},0]},19],"n":[{"e":0,"i":[{"a":[{"l":11}],"v":0}]},101],"o":[{"b":[{"l":[{"e":3},0]}],"c":[{"l":19,"e":[{"r":[{"o":[{"s":254}]}]}]}],"d":66,"e":27,"g":[{"e":17},18],"i":[{"s":[{"i":6}]}],"l":[{"i":134,"o":[{"g":[{"i":[{"s":32}]}]}]}],"m":[{"i":[{"c":27,"z":108,"s":[{"t":82}]}],"o":1,"y":3,"a":[{"l":214}],"e":[{"n":[{"o":194}]}]}],"n":[{"a":[{"g":0}],"i":[{"z":19,"s":[{"o":255}]},5],"e":[{"q":15}]},1],"p":[{"o":[{"l":[{"i":135,"y":[{".":256}]}]}]},18],"r":[{"a":[{"b":5,"r":[{"y":1}]}]}],"s":[{"c":18,"e":0,"t":5}],"t":[{"a":4}],"u":[{"n":27},41],"v":[{"e":[{"l":136,"m":[{"b":2}]}]}],"w":[{"l":12}]}],"p":[{"i":0,"r":[{"e":[{"c":17}]}]},72],"q":29,"r":[{"u":0},29],"s":[{"a":[{"b":4,"t":[{"i":36}]}],"c":[{"e":[{"i":[{"v":4}]}]},1],"e":[{"s":83},24],"i":[{"d":137,"g":17}],"l":24,"m":[{"o":[{"o":1}]},3],"o":[{"c":21}],"p":[{"e":1,"i":19}],"t":[{"a":[{"b":[{"l":6}]}]}]},81],"t":[{"a":[{"b":0}],"e":[{"r":[{"s":12}]}],"i":[{"b":19,"e":[{"r":0}],"f":8,"n":[{"e":23,"g":83}],"p":0},9],"r":[{"o":[{"l":[{"l":[{"i":7}]}]}],"e":[{"p":137}]}],"s":1,"u":[{"m":[{"e":11}]}]},29],"u":[{"a":2,"d":1,"e":[{"n":4}],"f":[{"f":[{"e":0}]}],"i":[{"n":23,"t":50}],"m":[{"e":2,"i":19},21],"n":138,"o":23,"t":[{"r":3}]}],"v":74,"w":72,"y":[{"m":0,"p":0}],"z":[{"a":23},18]}],"o":[{"a":[{"d":11,"l":[{"e":[{"s":108}]}],"r":[{"d":12}],"s":[{"e":0,"t":[{"e":6}]}],"t":[{"i":5}]},18],"b":[{"a":[{"b":35,"r":19}],"e":[{"l":0}],"i":[{"n":[{"g":4},24]},29],"r":23,"u":[{"l":3}],"l":[{"i":[{"g":189}]}]}],"c":[{"e":29,"h":[{"e":[{"t":23}],"a":[{"s":23}]},0],"i":[{"f":12,"l":21}],"l":[{"a":[{"m":21}]}],"o":[{"d":21}],"r":[{"a":[{"c":3,"t":[{"i":[{"z":4}]}]}],"e":12,"i":[{"t":32}]}],"t":[{"o":[{"r":[{"a":7}]}]}],"u":[{"l":[{"a":3}],"r":[{"e":19}]}]}],"d":[{"d":[{"e":[{"d":4}]}],"i":[{"c":3,"o":11,"t":[{"i":[{"c":137}]}]}],"o":[{"r":12},139],"u":[{"c":[{"t":[{".":4,"s":4}]}]}],"e":[{"l":[{"l":[{"i":12}]}]}]}],"e":[{"l":21,"n":[{"g":19}],"r":[{"s":[{"t":257}]},23],"t":[{"a":1}],"v":23}],"f":[{"i":[{"t":[{"e":4,"t":17}]},24]}],"g":[{"a":[{"r":121,"t":[{"i":[{"v":4}],"o":21}]}],"e":[{"n":[{"e":19}],"o":19,"r":21},29],"i":[{"e":23,"s":140,"t":3}],"l":[{"y":79},21],"n":[{"i":[{"z":27}]}],"r":[{"o":21}],"u":[{"i":5}],"y":[{"n":25},41]}],"h":[{"a":[{"b":6}]},74],"i":[{"c":[{"e":[{"s":11}]}],"d":[{"e":[{"r":3}]}],"f":[{"f":17}],"g":0,"l":[{"e":[{"t":4}]}],"n":[{"g":23,"t":[{"e":[{"r":6}]}]}],"s":[{"m":19,"o":[{"n":4}],"t":[{"e":[{"n":6}]}]}],"t":[{"e":[{"r":3}]}]},9],"j":19,"k":[{"e":[{"n":23,"s":[{"t":15}]}],"i":[{"e":4}]},25],"l":[{"a":[{"n":21,"s":[{"s":36}]},29],"d":[{"e":15},9],"e":[{"r":3,"s":[{"c":23,"t":[{"e":[{"r":88}]}]}],"t":23}],"f":[{"i":1}],"i":[{"a":23,"c":[{"e":23}],"d":[{".":4}],"f":73,"l":19,"n":[{"g":3}],"o":19,"s":[{".":19,"h":3}],"t":[{"e":19,"i":[{"o":19}]}],"v":19,"g":[{"o":[{"p":[{"o":258}]}]}]},9],"l":[{"i":[{"e":17}]}],"o":[{"g":[{"i":[{"z":4}]}],"r":0,"n":[{"o":[{"m":259}]}]}],"p":[{"l":4}],"t":9,"u":[{"b":3,"m":[{"e":3}],"n":3,"s":19}],"v":9,"y":24}],"m":[{"a":[{"h":4,"l":5,"t":[{"i":[{"z":4}]}]}],"b":[{"e":9,"l":1}],"e":[{"n":[{"a":3}],"r":[{"s":[{"e":4}]}],"t":[{"r":[{"y":4}]},21],"c":[{"h":[{"a":260}]}]},24],"i":[{"a":23,"c":[{".":3,"a":3}],"d":19,"n":[{"i":19},2]}],"m":[{"e":[{"n":[{"d":32}]}]}],"o":[{"g":[{"e":0}],"n":21}],"p":[{"i":3,"r":[{"o":7}]}]}],"n":[{"a":[{"c":1,"n":23},2],"c":[{"i":[{"l":27}]},2],"d":[{"o":4},25],"e":[{"n":23,"s":[{"t":4}]}],"g":[{"u":1}],"i":[{"c":2,"o":23,"s":2,"u":19}],"k":[{"e":[{"y":3}]}],"o":[{"d":[{"i":1}],"m":[{"y":3,"i":[{"c":137}]}],"r":[{"m":[{"a":23}]}],"t":[{"o":[{"n":261}]}],"u":23}],"s":[{"p":[{"i":[{"r":[{"a":10}]},36]}],"u":17},3],"t":[{"e":[{"n":36}],"i":[{"f":7},93]}],"u":[{"m":4}],"v":[{"a":6}]},24],"o":[{"d":[{"e":5,"i":5}],"k":1,"p":[{"i":11}],"r":[{"d":23}],"s":[{"t":6}]},9],"p":[{"a":24,"e":[{"d":5,"r":[{"a":[{"g":18},27]},2]}],"h":[{"a":[{"n":19}],"e":[{"r":19}]},25],"i":[{"n":[{"g":3}],"t":23,"s":[{"m":[{".":2}]}]}],"o":[{"n":19,"s":[{"i":21}]}],"r":29,"u":2,"y":5}],"q":29,"r":[{"a":[{".":19,"g":83,"l":[{"i":[{"z":4}]}],"n":[{"g":[{"e":4}]}]},29],"e":[{"a":[{"l":19},5],"i":3,"s":[{"h":5,"t":[{".":4}]}],"w":17}],"g":[{"u":1}],"i":[{"a":56,"c":[{"a":3}],"l":19,"n":2,"o":29,"t":[{"y":3}],"u":23}],"m":[{"i":9}],"n":[{"e":8}],"o":[{"f":19,"u":[{"g":3}]}],"p":[{"e":4}],"r":[{"h":27}],"s":[{"e":[{"n":5},1],"t":17}],"t":[{"h":[{"i":3,"y":3,"o":[{"n":[{"i":[{"t":262}]}]}],"r":[{"i":137}]}],"y":1,"i":[{"v":[{"e":[{"l":[{"y":4}]}]}]}]}],"u":[{"m":19}],"y":29}],"s":[{"a":[{"l":3}],"c":[{"e":1,"o":[{"p":[{"i":18},23]}],"r":19},9],"i":[{"e":95,"t":[{"i":[{"v":4}],"o":3,"y":3}],"u":0}],"l":1,"o":24,"p":[{"a":1,"o":1,"h":[{"e":[{"r":83}]}]}],"t":[{"a":[{"t":[{"i":19}]},9],"i":[{"l":4,"t":4}]}]}],"t":[{"a":[{"n":21}],"e":[{"l":[{"e":[{"g":36}]}],"r":[{".":3,"s":4}],"s":[{"t":[{"e":[{"r":263}],"o":[{"r":264}]}]},21]}],"h":[{"e":[{"s":[{"i":5}],"o":[{"s":265}]}],"i":14},18],"i":[{"c":[{".":3,"a":4,"e":23}],"f":23,"s":23}],"o":[{"s":5}]}],"u":[{"b":[{"l":3,"a":[{"d":[{"o":116}]}]}],"c":[{"h":[{"i":6}]}],"e":[{"t":4}],"l":1,"n":[{"c":[{"e":[{"r":6}]}],"d":8}],"v":4},9],"v":[{"e":[{"n":1,"r":[{"n":[{"e":17}],"s":12,"t":1}]}],"i":[{"s":23,"t":[{"i":36}],"a":[{"n":[{".":266}]}]}],"o":[{"l":60}]}],"w":[{"d":[{"e":[{"r":3}]}],"e":[{"l":3,"s":[{"t":4}]}],"i":2,"n":[{"i":5}],"o":21}],"y":[{"a":2}],"x":[{"i":[{"d":[{"i":[{"c":267}]}]}]}]}],"p":[{"a":[{"c":[{"a":1,"e":1,"t":0}],"d":21,"g":[{"a":[{"n":32,"t":23}]}],"i":[{"n":17},21],"l":[{"m":[{"a":[{"t":268}]}]},21],"n":[{"a":0,"e":[{"l":11}],"t":[{"y":0}],"y":3}],"p":[{"u":1},2],"r":[{"a":[{"b":[{"l":6}],"g":[{"e":5,"r":[{"a":269}]}],"l":[{"e":228}],"m":[{"e":12},36]}],"d":[{"i":5}],"e":[{"l":5},27],"i":[{"s":0},28]}],"t":[{"e":[{"r":4},9],"h":[{"i":[{"c":32}],"y":4}],"r":[{"i":[{"c":1}]}]}],"v":0,"y":27},41],"b":43,"d":1,"e":[{".":18,"a":[{"r":[{"l":17}]},138],"c":9,"d":[{"e":27,"i":[{"a":36,"c":0},27]},37],"e":[{"d":0,"v":208},21],"k":0,"l":[{"a":1,"i":[{"e":17}]}],"n":[{"a":[{"n":1}],"c":21,"t":[{"h":0}]}],"o":[{"n":4}],"r":[{"a":[{".":21,"b":[{"l":6}],"g":21}],"i":[{"s":[{"t":6}]},21],"m":[{"a":[{"l":0}],"e":7}],"n":21,"o":11,"t":[{"i":11}],"u":4,"v":15}],"t":[{"e":[{"n":4}],"i":[{"z":4}]},9]}],"f":18,"g":18,"h":[{".":18,"a":[{"r":[{"i":6}]}],"e":[{"n":[{"o":11}],"r":1,"s":[{".":1}]}],"i":[{"c":2,"e":32,"n":[{"g":4}],"s":[{"t":[{"i":32}]}],"z":27,"l":[{"a":[{"n":[{"t":168}],"t":[{"e":[{"l":270}]}]}]}]}],"l":9,"o":[{"b":27,"n":[{"e":27,"i":32}],"r":0}],"s":18,"t":3,"u":32,"y":41}],"i":[{"a":[{"n":17},3],"c":[{"i":[{"e":1}],"y":1,"a":[{"d":271}]}],"d":[{"a":19,"e":3,"i":32},21],"e":[{"c":27,"n":3}],"g":[{"r":[{"a":[{"p":1}]}]}],"l":[{"o":3}],"n":[{".":21,"d":17,"o":21},9],"o":[{"n":17},141],"t":[{"h":[{"a":4},23],"u":9}]}],"k":142,"l":[{"a":[{"n":27,"s":[{"t":6}]}],"i":[{"a":11,"e":[{"r":5}],"g":18,"n":[{"a":[{"r":5}]},0],"c":[{"a":[{"b":208}]}]}],"o":[{"i":17}],"u":[{"m":[{"b":17},0]}]},143],"m":43,"n":48,"o":[{"c":1,"d":[{".":32}],"e":[{"m":4,"t":144}],"g":145,"i":[{"n":[{"t":32,"c":[{"a":12}]},84]}],"l":[{"y":[{"t":6,"e":137,"p":[{"h":[{"o":[{"n":[{"o":272}]}]}]}]}],"e":[{".":41}]}],"n":[{"i":1}],"p":1,"r":[{"y":1},124],"s":[{"s":15},41],"t":[{"a":1},21],"u":[{"n":32}]}],"p":[{"a":[{"r":[{"a":5}]}],"e":[{"d":21,"l":19,"n":23,"r":23,"t":23},24],"o":[{"s":[{"i":[{"t":[{"e":5}]}]}]}]},43],"r":[{"a":[{"y":[{"e":17}]}],"e":[{"c":[{"i":32,"o":5}],"e":[{"m":11}],"f":[{"a":[{"c":6}]}],"l":[{"a":0}],"r":11,"s":[{"e":23,"s":27,"p":[{"l":[{"i":84}]}]}],"t":[{"e":[{"n":5}]}],"v":11,"m":[{"a":[{"c":273}]}],"n":[{"e":[{"u":15}]}]}],"i":[{"e":53,"n":[{"t":146}],"s":[{"o":12},0]}],"o":[{"c":[{"a":23,"e":[{"s":[{"s":8}]}],"i":[{"t":[{"y":[{".":274}]}]}]}],"f":[{"i":[{"t":6}]}],"l":11,"s":[{"e":12}],"t":15,"g":[{"e":208}]}]},9],"s":[{"e":[{"u":[{"d":[{"o":[{"d":276,"f":276}]},275]}]},24],"h":1,"i":[{"b":21}]},81],"t":[{"a":[{"b":134}],"e":24,"h":24,"i":[{"m":11}],"u":[{"r":0}],"w":21,"o":[{"m":[{"a":[{"t":277}]}]}],"r":[{"o":[{"l":278}]}]},42],"u":[{"b":[{"e":[{"s":[{"c":181}]}]},11],"e":0,"f":0,"l":[{"c":11}],"m":1,"n":9,"r":[{"r":0}],"s":32,"t":[{"e":[{"r":11},32],"r":3,"t":[{"e":[{"d":0}],"i":[{"n":0}]}]},9]}],"w":23}],"q":[{"u":[{"a":[{"v":5,"i":[{"n":[{"t":[{"e":279}]}]}],"s":[{"i":[{"r":281,"s":281},280]}]}],"e":[{".":25,"r":27,"t":27}],"i":[{"n":[{"t":[{"e":[{"s":[{"s":282}]}]}]}],"v":[{"a":[{"r":14}]}]}]},9]}],"r":[{"a":[{"b":[{"i":3,"o":[{"l":[{"i":[{"c":29}],"o":[{"i":236}]}]}]},25],"c":[{"h":[{"e":17,"u":3}],"l":19}],"f":[{"f":[{"i":5}],"t":0}],"i":24,"l":[{"o":1}],"m":[{"e":[{"t":[{"r":[{"i":[{"z":283}]}]},11],"n":24}],"i":24,"o":[{"u":3}]}],"n":[{"e":[{"o":6}],"g":[{"e":0}],"i":21,"o":4,"h":[{"a":[{"s":167}]}]}],"p":[{"e":[{"r":11}],"h":[{"y":27}]}],"r":[{"c":5,"e":[{"f":5},17],"i":[{"l":18}]}],"s":24,"t":[{"i":[{"o":[{"n":115}]}]}],"u":[{"t":0}],"v":[{"a":[{"i":4}],"e":[{"l":11}]}],"z":[{"i":[{"e":4}]}],"d":[{"i":[{"g":127,"o":[{"g":249}]}]}],"o":[{"r":2}]}],"b":[{"a":[{"b":21,"g":21}],"i":[{"f":0,"n":[{"e":19,"g":[{".":4,"e":284}]},24]},8],"o":1},29],"c":[{"e":[{"n":17},24],"h":[{"a":23,"e":[{"r":0}]}],"i":[{"b":90,"t":1}],"u":[{"m":12}]},29],"d":[{"a":[{"l":21}],"i":[{"a":0,"e":[{"r":0}],"n":[{"g":3},17]},9]}],"e":[{".":25,"a":[{"l":2,"n":3,"r":[{"r":4}],"v":32,"w":1}],"b":[{"r":[{"a":[{"t":19}]}]}],"c":[{"o":[{"l":[{"l":5}],"m":[{"p":[{"e":5}]}]}],"r":[{"e":1}],"i":[{"p":[{"r":285}]}],"t":[{"a":[{"n":[{"g":286}]}]}]}],"d":[{"e":2,"i":[{"s":3,"t":5}]},37],"f":[{"a":[{"c":1}],"e":[{"r":[{".":4}]},9],"i":3,"y":1}],"g":[{"i":[{"s":11}]}],"i":[{"t":4}],"l":[{"i":2,"u":4}],"n":[{"t":[{"a":90,"e":0}]}],"o":2,"p":[{"i":[{"n":4}],"o":[{"s":[{"i":1}]}],"u":2}],"r":[{"i":21,"o":17,"u":4},147],"s":[{".":21,"p":[{"i":1}],"s":[{"i":[{"b":6}]}],"t":[{"a":[{"l":4}],"r":3},8]}],"t":[{"e":[{"r":1}],"i":[{"z":96}],"r":[{"i":[{"b":[{"u":85}]},3]}]}],"u":[{"t":[{"i":4}]},8],"v":[{"a":[{"l":1}],"e":[{"l":11,"r":[{".":30,"s":4,"t":4}]}],"i":[{"l":4}],"o":[{"l":[{"u":5}]}]},8],"w":[{"h":1}]}],"f":[{"u":0,"y":21},29],"g":[{"e":[{"r":3,"t":23}],"i":[{"c":23,"n":[{"g":3},0],"s":19,"t":19}],"l":29,"o":[{"n":0}],"u":23},9],"h":[{".":18,"a":[{"l":18}]},1],"i":[{"a":[{"b":0,"g":1,"l":[{".":23}]},3],"b":[{"a":11},21],"c":[{"a":[{"s":5}],"e":21,"i":[{"d":32,"e":1},18],"o":21}],"d":[{"e":[{"r":5}]}],"e":[{"n":[{"c":3,"t":3}],"r":2,"t":4}],"g":[{"a":[{"n":5}],"i":32}],"l":[{"i":[{"z":11}]}],"m":[{"a":[{"n":32}],"i":5,"o":27,"p":[{"e":0}]}],"n":[{"a":[{".":32},24],"d":0,"e":0,"g":0}],"o":2,"p":[{"h":[{"e":6},32],"l":[{"i":[{"c":5}]},9]}],"q":21,"s":[{".":21,"c":0,"h":23,"p":0},24],"t":[{"a":[{"b":116}],"e":[{"d":[{".":19}],"r":[{".":5,"s":5}]}],"i":[{"c":11}],"u":[{"r":5},9]}],"v":[{"e":[{"l":5,"t":11}],"i":11,"o":[{"l":287}]}]}],"j":23,"k":[{"e":[{"t":23}],"l":[{"e":1,"i":[{"n":1}]}],".":288,"h":[{"o":2}],"r":[{"a":[{"u":29}]}],"s":[{".":288}]}],"l":[{"e":[{"d":24,"q":[{"u":30}]},0],"i":[{"g":21,"s":[{"h":4},21]}],"o":73},29],"m":[{"a":[{"c":5}],"e":[{"n":23,"r":[{"s":4}]},24],"i":[{"n":[{"g":[{".":21},3]}],"o":21,"t":23}],"y":21},29],"n":[{"a":[{"r":21}],"e":[{"l":23,"r":21,"t":19,"y":23}],"i":[{"c":19,"s":92,"t":23,"v":23}],"o":[{"u":21},0],"u":23}],"o":[{"b":[{"l":11,"o":[{"t":289}]}],"c":[{"r":3},24],"e":[{"l":[{"a":[{"s":167}]}],"p":[{"i":[{"d":[{"e":290}]}]}]},1],"f":[{"e":2,"i":[{"l":4}]}],"k":[{"e":[{"r":4}]},8],"l":[{"e":[{".":32}]}],"m":[{"e":[{"t":[{"e":5}],"s":[{"h":3}]}],"i":0,"p":0}],"n":[{"a":[{"l":0}],"e":0,"i":[{"s":134}],"t":[{"a":0}]}],"o":[{"m":41,"t":32}],"p":[{"e":[{"l":3}],"i":[{"c":11}]}],"r":[{"i":11,"o":4}],"s":[{"p":[{"e":[{"r":5}]}],"s":0}],"t":[{"h":[{"e":1}],"y":1,"r":[{"o":[{"n":2}]}]}],"v":[{"a":1,"e":[{"l":5}]}],"x":5}],"p":[{"e":[{"a":21,"n":[{"t":19}],"r":[{".":4}],"t":23}],"h":95,"i":[{"n":[{"g":3}]}],"o":23,"a":[{"u":[{"l":[{"i":291}]}]}]},29],"r":[{"e":[{"c":0,"f":0,"o":21,"s":[{"t":0}]}],"i":[{"o":0,"v":0}],"o":[{"n":17,"s":17}],"y":[{"s":17}]},72],"s":[{"a":[{"t":[{"i":5}]},29],"c":1,"e":[{"c":[{"r":0},23],"r":[{".":4,"a":[{"d":[{"i":238}]}]}],"s":3,"v":148},24],"h":[{"a":19},29],"i":[{"b":90},29],"o":[{"n":12}],"p":29,"w":19},44],"t":[{"a":[{"c":[{"h":36}],"g":21}],"e":[{"b":23,"n":[{"d":17}],"o":5}],"i":[{"b":4,"d":0,"e":[{"r":21}],"g":23,"l":[{"i":12,"l":17,"y":21}],"s":[{"t":21}],"v":21},29],"r":[{"i":23,"o":[{"p":[{"h":115}]}],"e":[{"u":29}]}],"s":[{"h":1}],"h":[{"o":[{"u":29}]}]}],"u":[{"a":3,"e":[{"l":93,"n":3}],"g":[{"l":1}],"i":[{"n":3}],"m":[{"p":[{"l":11}]}],"n":[{"k":6,"t":[{"y":0}]},9],"s":[{"c":19}],"t":[{"i":[{"n":6}]}]}],"v":[{"e":[{"l":[{"i":17}],"n":23,"r":[{".":4}],"s":[{"t":19}],"y":23,"i":[{"l":29}]},1],"i":[{"c":23,"v":0}],"o":23}],"w":29,"y":[{"c":1,"n":[{"g":[{"e":32}]}],"t":3}],"z":[{"s":[{"c":2}]}]}],"s":[{"a":[{"b":42,"c":[{"k":32,"r":[{"i":11}],"t":23}],"i":32,"l":[{"a":[{"r":36}],"m":0,"o":4,"t":0,"e":[{"s":[{"c":54,"w":7}]}]}],"n":[{"c":27,"d":[{"e":0}]}],"p":[{"a":[{"r":[{"i":[{"l":292}]}]}]},29],"t":[{"a":4,"i":[{"o":76}],"u":11}],"u":0,"v":[{"o":[{"r":4}]}],"w":32},9],"b":56,"c":[{"a":[{"n":[{"t":149}],"p":[{"e":[{"r":267}]},0],"v":6,"t":[{"o":[{"l":208}]}]}],"e":[{"d":21,"i":18,"s":21}],"h":[{"o":21,"i":[{"t":[{"z":21}]}],"r":[{"o":[{"d":[{"i":[{"n":[{"g":293}]}]}]}]}]},8],"i":[{"e":68,"n":[{"d":150}],"u":[{"t":[{"t":294}]}]}],"l":[{"e":6,"i":21}],"o":[{"f":17,"p":[{"y":18}],"u":[{"r":[{"a":7}]}]}],"u":29,"r":[{"a":[{"p":[{"e":[{"r":[{".":36}]}]}]}]}],"y":[{"t":[{"h":247}]}]}],"d":56,"e":[{".":18,"a":[{"s":17,"w":5},1],"c":[{"o":151,"t":27}],"d":[{"e":95,"l":19},125],"g":[{"r":11},9],"i":32,"l":[{"e":2,"f":32,"v":32}],"m":[{"e":[{"s":[{"t":295}]},18],"o":[{"l":1}],"a":[{"p":[{"h":287}]}],"i":[{"t":[{"i":[{"c":296}]}]}]}],"n":[{"a":[{"t":5}],"c":18,"d":0,"e":[{"d":19}],"g":5,"i":[{"n":19}],"t":[{"d":18,"l":18}]}],"p":[{"a":152,"t":[{"e":[{"m":[{"b":11}]}]}]}],"r":[{".":43,"l":21,"o":0,"v":[{"o":18}]}],"s":[{"h":4,"t":5},72],"u":[{"m":113}],"v":[{"e":[{"n":11}]},32],"w":[{"i":0}],"x":32}],"f":47,"g":48,"h":[{".":25,"e":[{"r":2,"v":32}],"i":[{"n":2,"o":3,"p":27,"v":6}],"o":[{"l":[{"d":4}],"n":12,"r":[{"t":7},17],"e":[{"s":[{"t":137}]}]},0],"w":18},24],"i":[{"b":2,"c":[{"c":19}],"d":[{"e":[{".":27,"s":[{"t":6,"w":6},32],"d":[{".":8}]}],"i":[{"z":4},32]}],"g":[{"n":[{"a":18}]}],"l":[{"e":0,"y":18}],"n":[{"a":24,"e":[{".":32}],"g":23},42],"o":[{"n":[{"a":6},32]},41],"r":[{"a":5,"e":[{"s":[{"i":[{"d":4}]}]}]},9],"s":41,"t":[{"i":[{"o":27}]}],"u":32,"v":41,"z":32}],"k":[{"e":[{"t":23},18],"i":[{"n":[{"e":4,"g":4}]}],"y":[{"s":[{"c":15}]}]},9],"l":[{"a":[{"t":23}],"e":24,"i":[{"t":[{"h":7}]}],"o":[{"v":[{"a":[{"k":[{"i":[{"a":297}]}]}]}]}]},74],"m":[{"a":[{"l":[{"l":54}],"n":12},23],"e":[{"l":17,"n":19}],"i":[{"t":[{"h":32}]}],"o":[{"l":[{"d":49}]}]},42],"n":72,"o":[{"c":[{"e":1}],"f":[{"t":12}],"l":[{"a":[{"b":1}],"d":153,"i":[{"c":3}],"v":32,"u":[{"t":[{"e":9}]}]}],"m":27,"n":[{".":68,"a":17,"g":0}],"p":[{"h":[{"i":[{"c":32,"z":19}],"y":19}]},21],"r":[{"c":5,"d":5}],"v":[{"i":4},18],"g":[{"a":[{"m":[{"y":298}]}]}]},41],"p":[{"a":[{"i":32,"n":0,"c":[{"e":299,"i":[{"n":69}]}]},25],"e":[{"n":[{"d":17}],"o":57,"r":25,"c":[{"i":[{"o":11}]}]}],"h":[{"e":[{"r":[{"o":213},27]},24],"o":6}],"i":[{"l":17,"n":[{"g":4}],"o":18,"c":[{"i":[{"l":208}]}]}],"l":[{"y":21}],"o":[{"n":21,"r":[{"t":[{"s":[{"c":300,"w":300}]}]},17],"t":18,"k":[{"e":[{"s":[{"w":10}]}]}]}]}],"q":[{"u":[{"a":[{"l":[{"l":36}]}],"i":[{"t":[{"o":88}]}]}]}],"r":29,"s":[{"a":[{"s":12,"c":[{"h":[{"u":301}]}]},29],"c":94,"e":[{"l":23,"n":[{"g":19}],"s":[{".":21}],"t":19}],"i":[{"e":[{"r":0},21],"l":[{"y":4}],"a":[{"n":[{".":210}]}],"g":[{"n":[{"a":[{"b":302}]}]}]},29],"l":[{"i":1},21],"n":21,"p":[{"e":[{"n":[{"d":115}]}]}],"t":9,"u":[{"r":[{"a":6}]}],"w":4,"h":[{"a":[{"t":3}]}]},25],"t":[{".":25,"a":[{"g":24,"l":24,"m":[{"i":17,"p":69}],"n":[{"d":32,"t":[{"s":[{"h":[{"i":303}]}]}]}],"p":90,"t":[{".":32,"i":15}],"r":[{"t":[{"l":[{"i":12}]}]}]}],"e":[{"d":21,"r":[{"n":[{"i":7}],"o":19}],"w":[{"a":6},8]}],"h":[{"e":23}],"i":[{".":21,"a":19,"c":[{"k":32},29],"e":21,"f":23,"n":[{"g":3}],"r":32},9],"l":[{"e":29}],"o":[{"c":[{"k":32}],"m":[{"a":12}],"n":[{"e":32}],"p":21,"r":[{"e":27,"a":[{"b":304}]}]}],"r":[{"a":[{"d":21,"t":[{"u":32,"a":[{"g":305}]}],"y":21}],"i":[{"d":21,"b":[{"u":[{"t":7}]}]}],"y":18},1],"w":61,"y":[{"l":[{"i":[{"s":137}]}]},24],"b":4,"s":[{"c":[{"r":4}]}],"u":[{"p":[{"i":[{"d":306}]}]}]}],"u":[{"a":[{"l":2}],"b":111,"g":151,"i":[{"s":4,"t":12}],"l":21,"m":[{"i":11},9],"n":9,"r":9,"p":[{"e":[{"r":[{"e":307}]}]}]},41],"v":18,"w":[{"o":18,"i":[{"m":[{"m":177}]}]},9],"y":[{"c":18,"l":27,"n":[{"o":5,"c":41}],"r":[{"i":[{"n":4}]}],"t":[{"h":[{"i":308}]}]},21]}],"t":[{"a":[{".":27,"b":[{"l":[{"e":[{"s":4}]}],"o":[{"l":[{"i":[{"z":32,"s":[{"m":309}]}]}]}]},25],"c":[{"i":18}],"d":[{"o":4}],"f":46,"i":[{"l":[{"o":5}]}],"l":[{"a":4,"e":[{"n":5}],"i":11,"k":[{"a":204},18],"l":[{"i":[{"s":0}]}],"o":[{"g":4}]},9],"m":[{"o":4,"i":[{"n":82}]}],"n":[{"d":[{"e":0}],"t":[{"a":54}]}],"p":[{"e":[{"r":4}],"l":4,"a":[{"t":[{"h":310}]}]}],"r":[{"a":0,"c":18,"e":18,"i":[{"z":3}],"r":[{"h":311}]}],"s":[{"e":0,"y":4}],"t":[{"i":[{"c":18}],"u":[{"r":1}]}],"u":[{"n":17}],"v":0,"w":25,"x":[{"i":[{"s":0}]}],"g":[{"o":[{"n":[{".":3}]}]}]},41],"b":42,"c":[{"h":[{"e":[{"t":5}],"c":15,"i":[{"e":[{"r":237}]}]},21],"r":29},18],"d":43,"e":[{".":18,"a":[{"d":[{"i":17}],"t":18,"c":[{"h":[{"e":[{"r":[{".":36}]}]}]}]}],"c":[{"e":17,"t":32}],"d":[{"i":4},42],"e":41,"g":[{"e":[{"r":4}],"i":4},0],"l":[{".":27,"i":17,"s":32,"e":[{"g":84,"r":[{"o":249}]}]}],"m":[{"a":[{"t":11},154]}],"n":[{"a":[{"n":27}],"c":27,"d":27,"e":[{"s":18}],"t":[{"a":[{"g":0}]},41]}],"o":41,"p":[{"e":4},1],"r":[{"c":11,"d":155,"i":[{"e":[{"s":5}],"s":11,"z":[{"a":6}],"c":[{".":8}]},41],"n":[{"i":[{"t":32}]}],"v":5,"g":[{"e":[{"i":312}]}]}],"s":[{".":18,"s":[{".":23,"e":[{"s":313}]},18]}],"t":[{"h":[{"e":6}]}],"u":27,"x":27,"y":18}],"f":42,"g":43,"h":[{".":25,"a":[{"n":17,"l":[{"a":[{"m":228}]}]}],"e":[{"a":[{"s":3,"t":5},18],"i":[{"s":11}],"t":27},9],"i":[{"c":[{".":4,"a":4}],"l":18,"n":[{"k":32}]}],"l":18,"o":[{"d":[{"e":4,"i":[{"c":32}],"o":[{"n":11}]}],"o":18,"r":[{"i":[{"t":6,"z":5}]}],"g":[{"e":[{"n":[{"i":314}]}]}],"k":[{"e":[{"r":175}]}]}],"s":25,"y":[{"l":[{"a":[{"n":228}]}],"s":[{"c":11}]}]}],"i":[{"a":[{"b":1,"t":[{"o":1}],"n":[{".":70}]},41],"b":156,"c":[{"k":18,"o":21,"u":157}],"d":[{"i":32}],"e":[{"n":27}],"f":[{"y":4},8],"g":[{"u":32},25],"l":[{"l":[{"i":[{"n":6}]}]}],"m":[{"p":18,"u":[{"l":5}]},41],"n":[{"a":24,"e":[{".":27}],"i":27,"o":[{"m":285}]},42],"o":[{"c":4,"n":[{"e":[{"e":6}]}]},41],"q":32,"s":[{"a":3,"e":27,"m":0,"o":4,"p":0,"t":[{"i":[{"c":[{"a":32}]}]}]}],"t":[{"l":3}],"u":1,"v":[{"a":0},41],"z":[{"a":3,"e":[{"n":3}]},41]}],"l":[{"a":[{"n":17},19],"e":[{".":27,"d":27,"s":[{".":27}],"t":[{".":19}]}],"o":19,"i":[{"e":[{"r":315}]}]},25],"m":[{"e":0},43],"n":81,"o":[{"b":3,"c":[{"r":[{"a":[{"t":4}]}]}],"d":[{"o":18}],"f":25,"g":[{"r":9}],"i":[{"c":4}],"m":[{"a":9,"b":0,"y":3}],"n":[{"a":[{"l":[{"i":0}],"t":3}],"o":18,"y":18}],"r":[{"a":9,"i":[{"e":3,"z":5}]}],"s":8,"u":[{"r":32,"t":18}],"w":[{"a":[{"r":3}]}],"l":[{"o":[{"g":[{"y":84}]}]}],"t":[{"i":[{"c":11}]}]},41],"p":43,"r":[{"a":[{"b":11,"c":[{"h":5,"i":[{"t":17},36],"t":[{"e":17}]}],"s":17,"v":[{"e":[{"n":5,"s":158,"r":[{"s":[{"a":[{"b":317}]},15]}]}]}],"i":[{"t":[{"o":[{"r":316}]}]}]},41],"e":[{"f":5,"m":[{"i":6},0],"a":[{"c":[{"h":[{"e":318}]}]}]}],"i":[{"a":[{"l":[{".":1}]},32],"c":[{"e":[{"s":5}],"i":[{"a":32}],"s":18}],"m":25,"v":0}],"o":[{"m":[{"i":5}],"n":[{"i":6,"y":18}],"p":[{"h":[{"e":5}],"i":[{"s":175}],"o":[{"l":[{"e":[{"s":320}],"i":[{"s":320,"t":321}]}]}]}],"s":[{"p":11}],"v":11,"l":[{"e":[{"u":[{"m":319}]}]}],"f":[{"i":[{"c":[{".":17}],"t":11}]}]}],"u":[{"i":5,"s":17}]}],"s":[{"c":[{"h":[{"i":[{"e":12}]}]},21],"h":0,"w":21},101],"t":[{"e":[{"s":21}],"o":19,"u":0,"r":[{"i":[{"b":[{"u":[{"t":322}]}]}]}]},66],"u":[{"a":[{"r":3},2],"b":[{"i":1}],"d":8,"e":18,"f":46,"i":76,"m":27,"n":[{"i":[{"s":1}]}],"p":[{".":48}],"r":[{"e":27,"i":[{"s":11},32],"o":5,"y":4,"n":[{"a":[{"r":12}]}]}],"s":27},41],"v":18,"w":[{"a":43,"i":[{"s":17}],"o":18,"h":29},1],"y":[{"a":18,"l":25,"p":[{"e":12,"h":4,"a":[{"l":64}]}]},41],"z":[{"e":1},18]}],"u":[{"a":[{"b":18,"c":0,"n":[{"a":4,"i":0}],"r":[{"a":[{"n":[{"t":5}]}],"d":8,"i":11,"t":11}],"t":29,"v":0,"d":[{"r":[{"a":[{"t":[{"i":3,"u":15}]}]}]}]}],"b":[{"e":[{"l":21,"r":[{"o":21},23]},1],"i":[{"n":[{"g":33}]},72],"l":[{"e":[{".":23}]}]}],"c":[{"a":23,"i":[{"b":0,"t":1}],"l":[{"e":12}],"r":23,"u":23,"y":21}],"d":[{"d":4,"e":[{"r":3,"s":[{"t":4}],"v":17}],"i":[{"c":29,"e":[{"d":3,"s":3}],"s":4,"t":19}],"o":[{"n":[{"y":232},21]}],"s":[{"i":1}],"u":21}],"e":[{"n":[{"e":21,"s":17,"t":[{"e":0}]}],"r":[{"i":[{"l":0}]}],"a":[{"m":15}]}],"f":[{"a":27,"l":23}],"g":[{"h":[{"e":[{"n":11}]}],"i":[{"n":4}]}],"i":[{"l":[{"i":[{"z":5}]}],"n":[{"g":29},1],"r":[{"m":0}],"t":[{"a":17}],"v":[{"e":[{"r":[{".":0}]}]},11]},156],"j":19,"k":18,"l":[{"a":[{"b":5,"t":[{"i":19}]},29],"c":[{"h":[{"e":32},17]}],"d":[{"e":[{"r":3}]}],"e":[{"n":29},1],"g":[{"i":1}],"i":[{"a":19,"n":[{"g":3}],"s":[{"h":4}]},9],"l":[{"a":[{"r":1}],"i":[{"b":96,"s":1}]}],"m":61,"o":72,"s":[{"e":[{"s":5}]},18],"t":[{"i":2,"r":[{"a":54}],"u":18}],"u":[{"l":4},23],"v":4}],"m":[{"a":[{"b":4}],"b":[{"i":1,"l":[{"y":1}]}],"i":[{"n":[{"g":83}]},29],"o":[{"r":[{"o":6}]}],"p":9}],"n":[{"a":[{"t":17}],"e":[{"r":1},24],"i":[{"m":1,"n":24,"s":[{"h":4}],"v":11},29],"s":[{"w":1},93],"t":[{"a":[{"b":11}],"e":[{"r":[{".":1}],"s":1}]}],"u":0,"y":4,"z":4}],"o":[{"r":[{"s":21}],"s":19,"u":29}],"p":[{"e":[{"r":[{"s":6}]},29],"i":[{"a":19,"n":[{"g":3}]}],"l":23,"p":[{"o":[{"r":[{"t":10}]}]},3],"t":[{"i":[{"b":5}],"u":17}]}],"r":[{"a":[{".":18,"g":21,"s":21,"l":[{".":216}]},29],"b":[{"e":1}],"c":0,"d":2,"e":[{"a":[{"t":5}]}],"f":[{"e":[{"r":1}],"r":1}],"i":[{"f":[{"i":[{"c":0}]},23],"n":2,"o":23,"t":29,"z":3,"a":[{"l":[{".":0}]}]}],"l":[{"i":[{"n":[{"g":[{".":5}]}]}]},9],"n":[{"o":1}],"o":[{"s":17}],"p":[{"e":1,"i":1}],"s":[{"e":[{"r":5}]}],"t":[{"e":[{"s":4}],"h":[{"e":3}],"i":[{"e":1},17]}],"u":23}],"s":[{"a":[{"d":19,"n":19,"p":1}],"c":[{"i":3},8],"e":[{"a":5,"r":[{".":9}]}],"i":[{"a":19,"c":23}],"l":[{"i":[{"n":1}]}],"p":2,"s":[{"l":4}],"t":[{"e":[{"r":[{"e":4}]}],"r":2}],"u":[{"r":17},24]},25],"t":[{"a":[{"b":0,"t":23}],"e":[{".":18,"l":18,"n":[{"i":17},18]}],"i":[{"l":[{"i":[{"z":5}]}],"n":[{"e":23,"g":3}],"o":[{"n":[{"a":7}]}],"s":21,"z":31},101],"l":34,"o":[{"f":4,"g":5,"m":[{"a":[{"t":[{"i":[{"c":5}]}]}]}],"n":19,"u":21}],"s":0}],"u":[{"m":1},23],"v":74,"x":[{"u":11}],"z":[{"e":1}]}],"v":[{"a":[{".":32,"b":159,"c":[{"i":[{"l":5}],"u":11}],"g":[{"e":1,"u":[{"e":[{"r":170}]}]},0],"l":[{"i":[{"e":4}],"o":5,"u":15}],"m":[{"o":4}],"n":[{"i":[{"z":4}]}],"p":[{"i":4}],"r":[{"i":[{"e":[{"d":5}]}]}],"t":[{"i":[{"v":29}]},27],"u":[{"d":[{"e":[{"v":54}]}]}]},41],"e":[{".":18,"d":18,"g":11,"l":[{".":23,"l":[{"i":11}],"o":1,"y":21}],"n":[{"o":[{"m":11}],"u":[{"e":19}]}],"r":[{"d":21,"e":[{".":32,"l":[{"y":[{".":41}]},21],"n":[{"c":5},23],"s":21,"i":[{"g":324}]}],"i":[{"e":11}],"m":[{"i":[{"n":36}]}],"s":[{"e":27}],"t":[{"h":11}]}],"s":[{".":18,"t":[{"e":0,"i":[{"t":[{"e":15}]}]}]},99],"t":[{"e":[{"r":11},1],"y":1}]}],"i":[{"a":[{"l":[{"i":4}],"n":32}],"d":[{"e":[{".":32,"d":32,"n":47,"s":32}],"i":32}],"f":23,"g":[{"n":4}],"k":0,"l":[{"i":[{"t":32,"z":127}]},25],"n":[{"a":26,"c":24,"d":5,"g":18},29],"o":[{"l":11,"r":73,"u":2}],"p":1,"r":[{"o":4}],"s":[{"i":[{"t":11}],"o":3,"u":3}],"t":[{"i":18,"r":11,"y":18}],"v":[{"i":[{"p":[{"a":[{"r":325}]}]}]},27]}],"o":[{".":32,"i":[{"r":[{"d":[{"u":323}]}],"c":[{"e":[{"p":213}]}]},0],"k":27,"l":[{"a":1,"e":19,"t":32,"v":27}],"m":[{"i":5}],"r":[{"a":[{"b":5}],"i":17,"y":1}],"t":[{"a":1,"e":[{"e":18}]}]}],"v":26,"y":21}],"w":[{"a":[{"b":[{"l":19}],"c":25,"g":[{"e":[{"r":4}],"o":5}],"i":[{"t":6}],"l":[{".":19}],"m":0,"r":[{"t":0}],"s":[{"t":[{"e":[{"w":[{"a":326}]}]},0]}],"t":[{"e":2}],"v":[{"e":[{"r":4,"g":327}]}]}],"b":29,"e":[{"a":[{"r":[{"i":[{"e":5}]}],"t":[{"h":54}]}],"d":[{"n":0}],"e":[{"t":12,"v":5,"k":[{"n":137}]}],"l":[{"l":0}],"r":29,"s":[{"t":12}],"v":23}],"h":[{"i":0}],"i":[{"l":[{"l":[{"i":[{"n":6}]}]},8],"n":[{"d":[{"e":0}],"g":0}],"r":0,"s":[{"e":27}],"t":[{"h":12}],"z":5,"d":[{"e":[{"s":[{"p":6}]}]}]},9],"k":21,"l":[{"e":[{"s":1}],"i":[{"n":3}]}],"n":[{"o":21}],"o":[{"m":15,"v":[{"e":[{"n":4}]}],"k":[{"e":[{"n":85}]}]},160],"p":19,"r":[{"a":[{"p":[{"a":[{"r":[{"o":12}]}]}]},0],"i":[{"t":[{"a":36,"e":[{"r":[{".":183}]}]}]},0]}],"s":[{"h":23,"l":1,"p":[{"e":1}],"t":60}],"t":18,"y":1,"c":23}],"x":[{"a":[{"c":[{"e":5}],"g":[{"o":21}],"m":11,"p":21,"s":5},29],"c":161,"e":[{"c":[{"u":[{"t":[{"o":1}]}]}],"d":24,"r":[{"i":0,"o":4}]},29],"h":[{"i":[{"l":6},8],"u":0},29],"i":[{"a":4,"c":4,"d":[{"i":4}],"m":[{"e":21,"i":[{"z":4}]}]},23],"o":[{"b":21},23],"p":[{"a":[{"n":[{"d":17}]}],"e":[{"c":[{"t":[{"o":10}]}],"d":11}]},23],"t":[{"i":23},74],"u":[{"a":3},29],"x":1,"q":[{"u":[{"i":[{"s":54}]}]},29]}],"y":[{"a":[{"c":19,"r":110,"t":19}],"b":29,"c":[{"e":[{"r":4},24],"h":[{"e":[{"d":264},0]},23],"o":[{"m":17,"t":17}]},29],"d":29,"e":[{"e":19,"r":[{"f":21},29],"s":[{"t":[{"e":[{"r":[{"y":328}]}]}]},0],"t":1}],"g":[{"i":19}],"h":47,"i":29,"l":[{"a":23,"l":[{"a":[{"b":[{"l":6}]}]}],"o":23,"u":19}],"m":[{"b":[{"o":[{"l":7}]}],"e":[{"t":[{"r":[{"y":20}]}]},0],"p":[{"a":12}]}],"n":[{"c":[{"h":[{"r":3}]}],"d":4,"g":4,"i":[{"c":4}],"x":32}],"o":[{"d":4,"g":33,"m":0,"n":[{"e":[{"t":4}],"s":21}],"s":21},72],"p":[{"e":[{"d":21,"r":6}],"i":3,"o":[{"c":21},23],"t":[{"a":9}],"u":19}],"r":[{"a":[{"m":5}],"i":[{"a":4}],"o":23,"r":1}],"s":[{"c":1,"e":161,"i":[{"c":[{"a":3}],"o":3,"s":27}],"o":21,"s":0,"t":[{"a":3,"r":[{"o":29}]},2],"u":[{"r":17}]}],"t":[{"h":[{"i":[{"n":23}]}],"i":[{"c":3}]}],"w":29}],"z":[{"a":[{"b":79,"r":8},2],"b":18,"e":[{"n":1,"p":1,"r":[{"o":3},29],"t":0},25],"i":[{"l":21,"s":21,"a":[{"n":[{".":23}]}]},42],"l":32,"m":18,"o":[{"m":1,"o":[{"l":4}],"p":[{"h":[{"r":329}]}]},41],"t":[{"e":0}],"z":[{"y":21,"w":231},101]}]}',["as-so-ciate","as-so-ciates","dec-li-na-tion","oblig-a-tory","phil-an-thropic","present","presents","project","projects","reci-procity","re-cog-ni-zance","ref-or-ma-tion","ret-ri-bu-tion","ta-ble"]]},8465(e,t,r){"use strict";e.exports=r(809)},809(e){"use strict";var t=function(e){if(e=e||{},this.Promise=e.Promise||Promise,this.queues=Object.create(null),this.domainReentrant=e.domainReentrant||!1,this.domainReentrant){if("undefined"==typeof process||void 0===process.domain)throw new Error("Domain-reentrant locks require `process.domain` to exist. Please flip `opts.domainReentrant = false`, use a NodeJS version that still implements Domain, or install a browser polyfill.");this.domains=Object.create(null)}this.timeout=e.timeout||t.DEFAULT_TIMEOUT,this.maxOccupationTime=e.maxOccupationTime||t.DEFAULT_MAX_OCCUPATION_TIME,this.maxExecutionTime=e.maxExecutionTime||t.DEFAULT_MAX_EXECUTION_TIME,e.maxPending===1/0||Number.isInteger(e.maxPending)&&e.maxPending>=0?this.maxPending=e.maxPending:this.maxPending=t.DEFAULT_MAX_PENDING};t.DEFAULT_TIMEOUT=0,t.DEFAULT_MAX_OCCUPATION_TIME=0,t.DEFAULT_MAX_EXECUTION_TIME=0,t.DEFAULT_MAX_PENDING=1e3,t.prototype.acquire=function(e,t,r,n){if(Array.isArray(e))return this._acquireBatch(e,t,r,n);if("function"!=typeof t)throw new Error("You must pass a function to execute");var i=null,a=null,o=null;"function"!=typeof r&&(n=r,r=null,o=new this.Promise(function(e,t){i=e,a=t})),n=n||{};var s=!1,l=null,u=null,c=null,d=this,h=function(t,n,l){u&&(clearTimeout(u),u=null),c&&(clearTimeout(c),c=null),t&&(d.queues[e]&&0===d.queues[e].length&&delete d.queues[e],d.domainReentrant&&delete d.domains[e]),s||(o?n?a(n):i(l):"function"==typeof r&&r(n,l),s=!0),t&&d.queues[e]&&d.queues[e].length>0&&d.queues[e].shift()()},m=function(r){if(s)return h(r);l&&(clearTimeout(l),l=null),d.domainReentrant&&r&&(d.domains[e]=process.domain);var i=n.maxExecutionTime||d.maxExecutionTime;if(i&&(c=setTimeout(function(){d.queues[e]&&h(r,new Error("Maximum execution time is exceeded "+e))},i)),1===t.length){var a=!1;try{t(function(e,t){a||(a=!0,h(r,e,t))})}catch(e){a||(a=!0,h(r,e))}}else d._promiseTry(function(){return t()}).then(function(e){h(r,void 0,e)},function(e){h(r,e)})};d.domainReentrant&&process.domain&&(m=process.domain.bind(m));var f=n.maxPending||d.maxPending;if(d.queues[e])if(d.domainReentrant&&process.domain&&process.domain===d.domains[e])m(!1);else if(d.queues[e].length>=f)h(!1,new Error("Too many pending tasks in queue "+e));else{var g=function(){m(!0)};n.skipQueue?d.queues[e].unshift(g):d.queues[e].push(g);var p=n.timeout||d.timeout;p&&(l=setTimeout(function(){l=null,h(!1,new Error("async-lock timed out in queue "+e))},p))}else d.queues[e]=[],m(!0);var v=n.maxOccupationTime||d.maxOccupationTime;return v&&(u=setTimeout(function(){d.queues[e]&&h(!1,new Error("Maximum occupation time is exceeded in queue "+e))},v)),o||void 0},t.prototype._acquireBatch=function(e,t,r,n){"function"!=typeof r&&(n=r,r=null);var i=this,a=e.reduceRight(function(e,t){return function(e,t){return function(r){i.acquire(e,t,r,n)}}(t,e)},t);if("function"!=typeof r)return new this.Promise(function(e,t){1===a.length?a(function(r,n){r?t(r):e(n)}):e(a())});a(r)},t.prototype.isBusy=function(e){return e?!!this.queues[e]:Object.keys(this.queues).length>0},t.prototype._promiseTry=function(e){try{return this.Promise.resolve(e())}catch(e){return this.Promise.reject(e)}},e.exports=t},3125(e,t,r){"use strict";r.d(t,{A:()=>s});var n=r(1601),i=r.n(n),a=r(6314),o=r.n(a)()(i());o.push([e.id,'*, :before, :after, ::backdrop {\n --univer-tw-border-spacing-x: 0;\n --univer-tw-border-spacing-y: 0;\n --univer-tw-translate-x: 0;\n --univer-tw-translate-y: 0;\n --univer-tw-rotate: 0;\n --univer-tw-skew-x: 0;\n --univer-tw-skew-y: 0;\n --univer-tw-scale-x: 1;\n --univer-tw-scale-y: 1;\n --univer-tw-pan-x: ;\n --univer-tw-pan-y: ;\n --univer-tw-pinch-zoom: ;\n --univer-tw-scroll-snap-strictness: proximity;\n --univer-tw-gradient-from-position: ;\n --univer-tw-gradient-via-position: ;\n --univer-tw-gradient-to-position: ;\n --univer-tw-ordinal: ;\n --univer-tw-slashed-zero: ;\n --univer-tw-numeric-figure: ;\n --univer-tw-numeric-spacing: ;\n --univer-tw-numeric-fraction: ;\n --univer-tw-ring-inset: ;\n --univer-tw-ring-offset-width: 0px;\n --univer-tw-ring-offset-color: #fff;\n --univer-tw-ring-color: #93c5fd80;\n --univer-tw-ring-offset-shadow: 0 0 #0000;\n --univer-tw-ring-shadow: 0 0 #0000;\n --univer-tw-shadow: 0 0 #0000;\n --univer-tw-shadow-colored: 0 0 #0000;\n --univer-tw-blur: ;\n --univer-tw-brightness: ;\n --univer-tw-contrast: ;\n --univer-tw-grayscale: ;\n --univer-tw-hue-rotate: ;\n --univer-tw-invert: ;\n --univer-tw-saturate: ;\n --univer-tw-sepia: ;\n --univer-tw-drop-shadow: ;\n --univer-tw-backdrop-blur: ;\n --univer-tw-backdrop-brightness: ;\n --univer-tw-backdrop-contrast: ;\n --univer-tw-backdrop-grayscale: ;\n --univer-tw-backdrop-hue-rotate: ;\n --univer-tw-backdrop-invert: ;\n --univer-tw-backdrop-opacity: ;\n --univer-tw-backdrop-saturate: ;\n --univer-tw-backdrop-sepia: ;\n --univer-tw-contain-size: ;\n --univer-tw-contain-layout: ;\n --univer-tw-contain-paint: ;\n --univer-tw-contain-style: \n;\n}\n\n* {\n scrollbar-color: initial;\n scrollbar-width: initial;\n}\n\n.univer-sr-only {\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n position: absolute;\n overflow: hidden;\n}\n\n.univer-pointer-events-none {\n pointer-events: none;\n}\n\n.univer-pointer-events-auto {\n pointer-events: auto;\n}\n\n.univer-fixed {\n position: fixed;\n}\n\n.univer-absolute {\n position: absolute;\n}\n\n.univer-relative {\n position: relative;\n}\n\n.univer-inset-0 {\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n}\n\n.univer-inset-x-0 {\n left: 0;\n right: 0;\n}\n\n.univer-bottom-0 {\n bottom: 0;\n}\n\n.univer-bottom-0\\.5 {\n bottom: .125rem;\n}\n\n.univer-bottom-6 {\n bottom: 1.5rem;\n}\n\n.univer-left-0 {\n left: 0;\n}\n\n.univer-left-0\\.5 {\n left: .125rem;\n}\n\n.univer-left-1\\.5 {\n left: .375rem;\n}\n\n.univer-left-1\\/2 {\n left: 50%;\n}\n\n.univer-left-2 {\n left: .5rem;\n}\n\n.univer-left-\\[-16px\\] {\n left: -16px;\n}\n\n.univer-right-0 {\n right: 0;\n}\n\n.univer-right-2 {\n right: .5rem;\n}\n\n.univer-right-4 {\n right: 1rem;\n}\n\n.univer-right-px {\n right: 1px;\n}\n\n.univer-top-0 {\n top: 0;\n}\n\n.univer-top-1\\/2 {\n top: 50%;\n}\n\n.univer-top-4 {\n top: 1rem;\n}\n\n.univer-top-px {\n top: 1px;\n}\n\n.univer-z-0 {\n z-index: 0;\n}\n\n.univer-z-10 {\n z-index: 10;\n}\n\n.univer-z-\\[1080\\] {\n z-index: 1080;\n}\n\n.univer-z-\\[1081\\] {\n z-index: 1081;\n}\n\n.univer-m-0 {\n margin: 0;\n}\n\n.-univer-mx-1 {\n margin-left: -.25rem;\n margin-right: -.25rem;\n}\n\n.univer-mx-1 {\n margin-left: .25rem;\n margin-right: .25rem;\n}\n\n.univer-mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n\n.univer-my-0 {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n.univer-my-1 {\n margin-top: .25rem;\n margin-bottom: .25rem;\n}\n\n.univer-mb-0 {\n margin-bottom: 0;\n}\n\n.univer-mb-1 {\n margin-bottom: .25rem;\n}\n\n.univer-mb-2 {\n margin-bottom: .5rem;\n}\n\n.univer-mb-3 {\n margin-bottom: .75rem;\n}\n\n.univer-mb-4 {\n margin-bottom: 1rem;\n}\n\n.univer-ml-1 {\n margin-left: .25rem;\n}\n\n.univer-ml-auto {\n margin-left: auto;\n}\n\n.univer-mt-1 {\n margin-top: .25rem;\n}\n\n.univer-mt-2 {\n margin-top: .5rem;\n}\n\n.univer-mt-4 {\n margin-top: 1rem;\n}\n\n.univer-mt-6 {\n margin-top: 1.5rem;\n}\n\n.univer-box-border {\n box-sizing: border-box;\n}\n\n.univer-block {\n display: block;\n}\n\n.univer-inline-block {\n display: inline-block;\n}\n\n.univer-flex {\n display: flex;\n}\n\n.univer-inline-flex {\n display: inline-flex;\n}\n\n.univer-grid {\n display: grid;\n}\n\n.\\!univer-hidden {\n display: none !important;\n}\n\n.univer-hidden {\n display: none;\n}\n\n.univer-size-0 {\n width: 0;\n height: 0;\n}\n\n.univer-size-2 {\n width: .5rem;\n height: .5rem;\n}\n\n.univer-size-2\\.5 {\n width: .625rem;\n height: .625rem;\n}\n\n.univer-size-3 {\n width: .75rem;\n height: .75rem;\n}\n\n.univer-size-3\\.5 {\n width: .875rem;\n height: .875rem;\n}\n\n.univer-size-4 {\n width: 1rem;\n height: 1rem;\n}\n\n.univer-size-5 {\n width: 1.25rem;\n height: 1.25rem;\n}\n\n.univer-size-6 {\n width: 1.5rem;\n height: 1.5rem;\n}\n\n.univer-size-7 {\n width: 1.75rem;\n height: 1.75rem;\n}\n\n.univer-size-9 {\n width: 2.25rem;\n height: 2.25rem;\n}\n\n.univer-size-full {\n width: 100%;\n height: 100%;\n}\n\n.univer-h-0\\.5 {\n height: .125rem;\n}\n\n.univer-h-1\\/2 {\n height: 50%;\n}\n\n.univer-h-10 {\n height: 2.5rem;\n}\n\n.univer-h-12 {\n height: 3rem;\n}\n\n.univer-h-2 {\n height: .5rem;\n}\n\n.univer-h-32 {\n height: 8rem;\n}\n\n.univer-h-4 {\n height: 1rem;\n}\n\n.univer-h-48 {\n height: 12rem;\n}\n\n.univer-h-6 {\n height: 1.5rem;\n}\n\n.univer-h-7 {\n height: 1.75rem;\n}\n\n.univer-h-8 {\n height: 2rem;\n}\n\n.univer-h-\\[150px\\] {\n height: 150px;\n}\n\n.univer-h-\\[calc\\(100\\%-2px\\)\\] {\n height: calc(100% - 2px);\n}\n\n.univer-h-full {\n height: 100%;\n}\n\n.univer-h-px {\n height: 1px;\n}\n\n.univer-max-h-0 {\n max-height: 0;\n}\n\n.univer-max-h-80 {\n max-height: 20rem;\n}\n\n.univer-max-h-\\[--radix-popper-available-height\\] {\n max-height: var(--radix-popper-available-height);\n}\n\n.univer-max-h-\\[40vh\\] {\n max-height: 40vh;\n}\n\n.univer-max-h-full {\n max-height: 100%;\n}\n\n.univer-max-h-screen {\n max-height: 100vh;\n}\n\n.univer-min-h-0 {\n min-height: 0;\n}\n\n.univer-min-h-3\\.5 {\n min-height: .875rem;\n}\n\n.univer-min-h-\\[520px\\] {\n min-height: 520px;\n}\n\n.\\!univer-w-fit {\n width: fit-content !important;\n}\n\n.univer-w-2\\.5 {\n width: .625rem;\n}\n\n.univer-w-5 {\n width: 1.25rem;\n}\n\n.univer-w-64 {\n width: 16rem;\n}\n\n.univer-w-7 {\n width: 1.75rem;\n}\n\n.univer-w-72 {\n width: 18rem;\n}\n\n.univer-w-80 {\n width: 20rem;\n}\n\n.univer-w-96 {\n width: 24rem;\n}\n\n.univer-w-\\[--radix-popper-anchor-width\\] {\n width: var(--radix-popper-anchor-width);\n}\n\n.univer-w-\\[calc\\(100\\%-16px\\)\\] {\n width: calc(100% - 16px);\n}\n\n.univer-w-fit {\n width: fit-content;\n}\n\n.univer-w-full {\n width: 100%;\n}\n\n.univer-min-w-36 {\n min-width: 9rem;\n}\n\n.univer-min-w-\\[320px\\] {\n min-width: 320px;\n}\n\n.univer-max-w-2xl {\n max-width: 42rem;\n}\n\n.univer-max-w-32 {\n max-width: 8rem;\n}\n\n.univer-max-w-5xl {\n max-width: 64rem;\n}\n\n.univer-max-w-\\[520px\\] {\n max-width: 520px;\n}\n\n.univer-max-w-\\[60vw\\] {\n max-width: 60vw;\n}\n\n.univer-max-w-full {\n max-width: 100%;\n}\n\n.univer-max-w-lg {\n max-width: 32rem;\n}\n\n.univer-max-w-sm {\n max-width: 24rem;\n}\n\n.univer-max-w-xs {\n max-width: 20rem;\n}\n\n.univer-flex-1 {\n flex: 1;\n}\n\n.univer-flex-shrink-0 {\n flex-shrink: 0;\n}\n\n.univer-shrink {\n flex-shrink: 1;\n}\n\n.univer-shrink-0 {\n flex-shrink: 0;\n}\n\n.univer-origin-\\[--radix-hover-card-content-transform-origin\\] {\n transform-origin: var(--radix-hover-card-content-transform-origin);\n}\n\n.-univer-translate-x-1\\/2 {\n --univer-tw-translate-x: -50%;\n transform: translate(-50%, var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n}\n\n.-univer-translate-y-1\\/2, .univer--translate-y-1\\/2 {\n --univer-tw-translate-y: -50%;\n transform: translate(var(--univer-tw-translate-x), -50%) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n}\n\n.univer-translate-x-3 {\n --univer-tw-translate-x: .75rem;\n transform: translate(.75rem, var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n}\n\n.-univer-rotate-90 {\n --univer-tw-rotate: -90deg;\n transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(-90deg) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n}\n\n.univer-rotate-0 {\n --univer-tw-rotate: 0deg;\n transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(0deg) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n}\n\n.univer-rotate-180 {\n --univer-tw-rotate: 180deg;\n transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(180deg) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n}\n\n.univer-rotate-45 {\n --univer-tw-rotate: 45deg;\n transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(45deg) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n}\n\n.univer-rotate-\\[-90deg\\] {\n --univer-tw-rotate: -90deg;\n transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(-90deg) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n}\n\n.\\!univer-animate-none {\n animation: none !important;\n}\n\n@keyframes univer-spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n.univer-animate-spin {\n animation: 1s linear infinite univer-spin;\n}\n\n.univer-cursor-crosshair {\n cursor: crosshair;\n}\n\n.univer-cursor-default {\n cursor: default;\n}\n\n.univer-cursor-grabbing {\n cursor: grabbing;\n}\n\n.univer-cursor-not-allowed {\n cursor: not-allowed;\n}\n\n.univer-cursor-pointer {\n cursor: pointer;\n}\n\n.univer-select-none {\n user-select: none;\n}\n\n.univer-resize {\n resize: both;\n}\n\n.univer-list-none {\n list-style-type: none;\n}\n\n.univer-appearance-none {\n -webkit-appearance: none;\n appearance: none;\n}\n\n.univer-grid-flow-row {\n grid-auto-flow: row;\n}\n\n.univer-grid-flow-col {\n grid-auto-flow: column;\n}\n\n.univer-grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n\n.univer-grid-cols-7 {\n grid-template-columns: repeat(7, minmax(0, 1fr));\n}\n\n.univer-flex-col {\n flex-direction: column;\n}\n\n.univer-flex-col-reverse {\n flex-direction: column-reverse;\n}\n\n.univer-flex-wrap {\n flex-wrap: wrap;\n}\n\n.univer-content-center {\n align-content: center;\n}\n\n.univer-items-end {\n align-items: flex-end;\n}\n\n.univer-items-center {\n align-items: center;\n}\n\n.univer-justify-end {\n justify-content: flex-end;\n}\n\n.univer-justify-center {\n justify-content: center;\n}\n\n.univer-justify-between {\n justify-content: space-between;\n}\n\n.univer-gap-0\\.5 {\n gap: .125rem;\n}\n\n.univer-gap-1 {\n gap: .25rem;\n}\n\n.univer-gap-1\\.5 {\n gap: .375rem;\n}\n\n.univer-gap-2 {\n gap: .5rem;\n}\n\n.univer-gap-2\\.5 {\n gap: .625rem;\n}\n\n.univer-gap-3 {\n gap: .75rem;\n}\n\n.univer-gap-4 {\n gap: 1rem;\n}\n\n.univer-space-y-1\\.5 > :not([hidden]) ~ :not([hidden]) {\n --univer-tw-space-y-reverse: 0;\n margin-top: .375rem;\n margin-top: calc(.375rem * (1 - var(--univer-tw-space-y-reverse)));\n margin-top: .375rem;\n margin-top: calc(.375rem * calc(1 - var(--univer-tw-space-y-reverse)));\n margin-bottom: 0;\n margin-bottom: calc(.375rem * var(--univer-tw-space-y-reverse));\n}\n\n.univer-space-y-2 > :not([hidden]) ~ :not([hidden]) {\n --univer-tw-space-y-reverse: 0;\n margin-top: .5rem;\n margin-top: calc(.5rem * (1 - var(--univer-tw-space-y-reverse)));\n margin-top: .5rem;\n margin-top: calc(.5rem * calc(1 - var(--univer-tw-space-y-reverse)));\n margin-bottom: 0;\n margin-bottom: calc(.5rem * var(--univer-tw-space-y-reverse));\n}\n\n.univer-divide-x > :not([hidden]) ~ :not([hidden]) {\n --univer-tw-divide-x-reverse: 0;\n border-right-width: 0;\n border-right-width: calc(1px * var(--univer-tw-divide-x-reverse));\n border-left-width: 1px;\n border-left-width: calc(1px * (1 - var(--univer-tw-divide-x-reverse)));\n border-left-width: 1px;\n border-left-width: calc(1px * calc(1 - var(--univer-tw-divide-x-reverse)));\n}\n\n.univer-divide-x-0 > :not([hidden]) ~ :not([hidden]) {\n --univer-tw-divide-x-reverse: 0;\n border-right-width: 0;\n border-right-width: calc(0px * var(--univer-tw-divide-x-reverse));\n border-left-width: 0;\n border-left-width: calc(0px * (1 - var(--univer-tw-divide-x-reverse)));\n border-left-width: 0;\n border-left-width: calc(0px * calc(1 - var(--univer-tw-divide-x-reverse)));\n}\n\n.univer-divide-y > :not([hidden]) ~ :not([hidden]) {\n --univer-tw-divide-y-reverse: 0;\n border-top-width: 1px;\n border-top-width: calc(1px * (1 - var(--univer-tw-divide-y-reverse)));\n border-top-width: 1px;\n border-top-width: calc(1px * calc(1 - var(--univer-tw-divide-y-reverse)));\n border-bottom-width: 0;\n border-bottom-width: calc(1px * var(--univer-tw-divide-y-reverse));\n}\n\n.univer-divide-y-0 > :not([hidden]) ~ :not([hidden]) {\n --univer-tw-divide-y-reverse: 0;\n border-top-width: 0;\n border-top-width: calc(0px * (1 - var(--univer-tw-divide-y-reverse)));\n border-top-width: 0;\n border-top-width: calc(0px * calc(1 - var(--univer-tw-divide-y-reverse)));\n border-bottom-width: 0;\n border-bottom-width: calc(0px * var(--univer-tw-divide-y-reverse));\n}\n\n.univer-divide-solid > :not([hidden]) ~ :not([hidden]) {\n border-style: solid;\n}\n\n.univer-divide-gray-200 > :not([hidden]) ~ :not([hidden]) {\n border-color: var(--univer-gray-200);\n}\n\n.univer-overflow-auto {\n overflow: auto;\n}\n\n.univer-overflow-hidden {\n overflow: hidden;\n}\n\n.univer-overflow-y-auto {\n overflow-y: auto;\n}\n\n.univer-truncate {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.univer-text-ellipsis {\n text-overflow: ellipsis;\n}\n\n.univer-whitespace-nowrap {\n white-space: nowrap;\n}\n\n.univer-text-balance {\n text-wrap: balance;\n}\n\n.univer-break-words {\n word-wrap: break-word;\n}\n\n.univer-rounded {\n border-radius: .25rem;\n}\n\n.univer-rounded-2xl {\n border-radius: 1rem;\n}\n\n.univer-rounded-3xl {\n border-radius: 1.5rem;\n}\n\n.univer-rounded-full {\n border-radius: 9999px;\n}\n\n.univer-rounded-lg {\n border-radius: .5rem;\n}\n\n.univer-rounded-md {\n border-radius: .375rem;\n}\n\n.univer-rounded-sm {\n border-radius: .125rem;\n}\n\n.\\!univer-rounded-b-none {\n border-bottom-right-radius: 0 !important;\n border-bottom-left-radius: 0 !important;\n}\n\n.\\!univer-rounded-l-none {\n border-top-left-radius: 0 !important;\n border-bottom-left-radius: 0 !important;\n}\n\n.\\!univer-rounded-r-none {\n border-top-right-radius: 0 !important;\n border-bottom-right-radius: 0 !important;\n}\n\n.\\!univer-rounded-t-none {\n border-top-left-radius: 0 !important;\n border-top-right-radius: 0 !important;\n}\n\n.univer-rounded-r-md {\n border-top-right-radius: .375rem;\n border-bottom-right-radius: .375rem;\n}\n\n.univer-border {\n border-width: 1px;\n}\n\n.univer-border-2 {\n border-width: 2px;\n}\n\n.\\!univer-border-l-0 {\n border-left-width: 0 !important;\n}\n\n.\\!univer-border-t-0 {\n border-top-width: 0 !important;\n}\n\n.univer-border-b {\n border-bottom-width: 1px;\n}\n\n.univer-border-b-0 {\n border-bottom-width: 0;\n}\n\n.univer-border-l {\n border-left-width: 1px;\n}\n\n.univer-border-l-0 {\n border-left-width: 0;\n}\n\n.univer-border-r {\n border-right-width: 1px;\n}\n\n.univer-border-r-0 {\n border-right-width: 0;\n}\n\n.univer-border-t {\n border-top-width: 1px;\n}\n\n.univer-border-t-0 {\n border-top-width: 0;\n}\n\n.univer-border-solid {\n border-style: solid;\n}\n\n.univer-border-dashed {\n border-style: dashed;\n}\n\n.univer-border-none {\n border-style: none;\n}\n\n.\\!univer-border-gray-200 {\n border-color: var(--univer-gray-200) !important;\n}\n\n.univer-border-gray-100 {\n border-color: var(--univer-gray-100);\n}\n\n.univer-border-gray-200 {\n border-color: var(--univer-gray-200);\n}\n\n.univer-border-gray-300 {\n border-color: var(--univer-gray-300);\n}\n\n.univer-border-primary-200 {\n border-color: var(--univer-primary-200);\n}\n\n.univer-border-primary-300 {\n border-color: var(--univer-primary-300);\n}\n\n.univer-border-primary-600 {\n border-color: var(--univer-primary-600);\n}\n\n.univer-border-red-500 {\n border-color: var(--univer-red-500);\n}\n\n.univer-border-transparent {\n border-color: #0000;\n}\n\n.univer-border-white {\n border-color: var(--univer-white);\n}\n\n.\\!univer-bg-gray-500 {\n background-color: var(--univer-gray-500) !important;\n}\n\n.\\!univer-bg-gray-600 {\n background-color: var(--univer-gray-600) !important;\n}\n\n.\\!univer-bg-primary-600 {\n background-color: var(--univer-primary-600) !important;\n}\n\n.univer-bg-\\[rgba\\(0\\,0\\,0\\,0\\.8\\)\\] {\n background-color: #000c;\n}\n\n.univer-bg-gray-100 {\n background-color: var(--univer-gray-100);\n}\n\n.univer-bg-gray-200 {\n background-color: var(--univer-gray-200);\n}\n\n.univer-bg-gray-300 {\n background-color: var(--univer-gray-300);\n}\n\n.univer-bg-gray-50 {\n background-color: var(--univer-gray-50);\n}\n\n.univer-bg-gray-700 {\n background-color: var(--univer-gray-700);\n}\n\n.univer-bg-gray-800 {\n background-color: var(--univer-gray-800);\n}\n\n.univer-bg-gray-900 {\n background-color: var(--univer-gray-900);\n}\n\n.univer-bg-primary-500 {\n background-color: var(--univer-primary-500);\n}\n\n.univer-bg-primary-600 {\n background-color: var(--univer-primary-600);\n}\n\n.univer-bg-red-500 {\n background-color: var(--univer-red-500);\n}\n\n.univer-bg-sky-100\\/70 {\n background-color: #e0f2feb3;\n}\n\n.univer-bg-slate-100\\/80 {\n background-color: #f1f5f9cc;\n}\n\n.univer-bg-slate-900\\/90 {\n background-color: #0f172ae6;\n}\n\n.univer-bg-transparent {\n background-color: #0000;\n}\n\n.univer-bg-white {\n background-color: var(--univer-white);\n}\n\n.univer-bg-gradient-to-br {\n background-image: linear-gradient(to bottom right, var(--univer-tw-gradient-stops));\n}\n\n.univer-from-slate-100 {\n --univer-tw-gradient-from: #f1f5f9 var(--univer-tw-gradient-from-position);\n --univer-tw-gradient-to: #f1f5f900 var(--univer-tw-gradient-to-position);\n --univer-tw-gradient-stops: var(--univer-tw-gradient-from), var(--univer-tw-gradient-to);\n}\n\n.univer-via-cyan-50 {\n --univer-tw-gradient-to: #ecfeff00 var(--univer-tw-gradient-to-position);\n --univer-tw-gradient-stops: var(--univer-tw-gradient-from), #ecfeff var(--univer-tw-gradient-via-position), var(--univer-tw-gradient-to);\n}\n\n.univer-to-blue-100 {\n --univer-tw-gradient-to: var(--univer-blue-100) var(--univer-tw-gradient-to-position);\n}\n\n.univer-fill-current {\n fill: currentColor;\n}\n\n.\\!univer-p-2\\.5 {\n padding: .625rem !important;\n}\n\n.univer-p-0 {\n padding: 0;\n}\n\n.univer-p-1 {\n padding: .25rem;\n}\n\n.univer-p-1\\.5 {\n padding: .375rem;\n}\n\n.univer-p-2 {\n padding: .5rem;\n}\n\n.univer-p-4 {\n padding: 1rem;\n}\n\n.univer-p-6 {\n padding: 1.5rem;\n}\n\n.univer-p-8 {\n padding: 2rem;\n}\n\n.univer-px-1 {\n padding-left: .25rem;\n padding-right: .25rem;\n}\n\n.univer-px-1\\.5 {\n padding-left: .375rem;\n padding-right: .375rem;\n}\n\n.univer-px-2 {\n padding-left: .5rem;\n padding-right: .5rem;\n}\n\n.univer-px-2\\.5 {\n padding-left: .625rem;\n padding-right: .625rem;\n}\n\n.univer-px-3 {\n padding-left: .75rem;\n padding-right: .75rem;\n}\n\n.univer-px-3\\.5 {\n padding-left: .875rem;\n padding-right: .875rem;\n}\n\n.univer-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n.univer-px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n}\n\n.univer-px-7 {\n padding-left: 1.75rem;\n padding-right: 1.75rem;\n}\n\n.univer-py-0\\.5 {\n padding-top: .125rem;\n padding-bottom: .125rem;\n}\n\n.univer-py-1 {\n padding-top: .25rem;\n padding-bottom: .25rem;\n}\n\n.univer-py-1\\.5 {\n padding-top: .375rem;\n padding-bottom: .375rem;\n}\n\n.univer-py-2 {\n padding-top: .5rem;\n padding-bottom: .5rem;\n}\n\n.univer-py-3 {\n padding-top: .75rem;\n padding-bottom: .75rem;\n}\n\n.\\!univer-pl-4 {\n padding-left: 1rem !important;\n}\n\n.univer-pl-2 {\n padding-left: .5rem;\n}\n\n.univer-pl-6 {\n padding-left: 1.5rem;\n}\n\n.univer-pl-8 {\n padding-left: 2rem;\n}\n\n.univer-pr-2 {\n padding-right: .5rem;\n}\n\n.univer-pr-32 {\n padding-right: 8rem;\n}\n\n.univer-pr-8 {\n padding-right: 2rem;\n}\n\n.univer-pt-4 {\n padding-top: 1rem;\n}\n\n.univer-text-left {\n text-align: left;\n}\n\n.univer-text-center {\n text-align: center;\n}\n\n.univer-align-middle {\n vertical-align: middle;\n}\n\n.univer-font-mono {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;\n}\n\n.univer-font-sans {\n font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;\n}\n\n.univer-text-2xl {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n\n.univer-text-\\[13px\\] {\n font-size: 13px;\n}\n\n.univer-text-\\[8px\\] {\n font-size: 8px;\n}\n\n.univer-text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n\n.univer-text-lg {\n font-size: 1.125rem;\n line-height: 1.75rem;\n}\n\n.univer-text-sm {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n.univer-text-sm\\/8 {\n font-size: .875rem;\n line-height: 2rem;\n}\n\n.univer-text-xs {\n font-size: .75rem;\n line-height: 1rem;\n}\n\n.univer-text-xs\\/6 {\n font-size: .75rem;\n line-height: 1.5rem;\n}\n\n.univer-font-bold {\n font-weight: 700;\n}\n\n.univer-font-medium {\n font-weight: 500;\n}\n\n.univer-font-semibold {\n font-weight: 600;\n}\n\n.univer-uppercase {\n text-transform: uppercase;\n}\n\n.univer-leading-5 {\n line-height: 1.25rem;\n}\n\n.univer-leading-6 {\n line-height: 1.5rem;\n}\n\n.univer-leading-7 {\n line-height: 1.75rem;\n}\n\n.univer-leading-9 {\n line-height: 2.25rem;\n}\n\n.univer-leading-none {\n line-height: 1;\n}\n\n.univer-leading-normal {\n line-height: 1.5;\n}\n\n.univer-tracking-tight {\n letter-spacing: -.025em;\n}\n\n.univer-tracking-wide {\n letter-spacing: .025em;\n}\n\n.univer-tracking-widest {\n letter-spacing: .1em;\n}\n\n.\\!univer-text-gray-400 {\n color: var(--univer-gray-400) !important;\n}\n\n.\\!univer-text-primary-500 {\n color: var(--univer-primary-500) !important;\n}\n\n.\\!univer-text-white {\n color: var(--univer-white) !important;\n}\n\n.univer-text-amber-500 {\n --univer-tw-text-opacity: 1;\n color: rgba(245, 158, 11, var(--univer-tw-text-opacity, 1));\n}\n\n.univer-text-current {\n color: currentColor;\n}\n\n.univer-text-cyan-700 {\n --univer-tw-text-opacity: 1;\n color: rgba(14, 116, 144, var(--univer-tw-text-opacity, 1));\n}\n\n.univer-text-gray-400 {\n color: var(--univer-gray-400);\n}\n\n.univer-text-gray-500 {\n color: var(--univer-gray-500);\n}\n\n.univer-text-gray-600 {\n color: var(--univer-gray-600);\n}\n\n.univer-text-gray-700 {\n color: var(--univer-gray-700);\n}\n\n.univer-text-gray-800 {\n color: var(--univer-gray-800);\n}\n\n.univer-text-gray-900 {\n color: var(--univer-gray-900);\n}\n\n.univer-text-green-500 {\n color: var(--univer-green-500);\n}\n\n.univer-text-primary-500 {\n color: var(--univer-primary-500);\n}\n\n.univer-text-primary-600 {\n color: var(--univer-primary-600);\n}\n\n.univer-text-red-500 {\n color: var(--univer-red-500);\n}\n\n.univer-text-sky-500 {\n --univer-tw-text-opacity: 1;\n color: rgba(14, 165, 233, var(--univer-tw-text-opacity, 1));\n}\n\n.univer-text-sky-700 {\n --univer-tw-text-opacity: 1;\n color: rgba(3, 105, 161, var(--univer-tw-text-opacity, 1));\n}\n\n.univer-text-sky-900 {\n --univer-tw-text-opacity: 1;\n color: rgba(12, 74, 110, var(--univer-tw-text-opacity, 1));\n}\n\n.univer-text-slate-500 {\n --univer-tw-text-opacity: 1;\n color: rgba(100, 116, 139, var(--univer-tw-text-opacity, 1));\n}\n\n.univer-text-slate-600 {\n --univer-tw-text-opacity: 1;\n color: rgba(71, 85, 105, var(--univer-tw-text-opacity, 1));\n}\n\n.univer-text-slate-700 {\n --univer-tw-text-opacity: 1;\n color: rgba(51, 65, 85, var(--univer-tw-text-opacity, 1));\n}\n\n.univer-text-slate-800 {\n --univer-tw-text-opacity: 1;\n color: rgba(30, 41, 59, var(--univer-tw-text-opacity, 1));\n}\n\n.univer-text-violet-500 {\n --univer-tw-text-opacity: 1;\n color: rgba(139, 92, 246, var(--univer-tw-text-opacity, 1));\n}\n\n.univer-text-white {\n color: var(--univer-white);\n}\n\n.univer-underline-offset-4 {\n text-underline-offset: 4px;\n}\n\n.univer-opacity-0 {\n opacity: 0;\n}\n\n.univer-opacity-40 {\n opacity: .4;\n}\n\n.univer-opacity-50 {\n opacity: .5;\n}\n\n.univer-opacity-60 {\n opacity: .6;\n}\n\n.univer-opacity-80 {\n opacity: .8;\n}\n\n.univer-shadow {\n --univer-tw-shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;\n --univer-tw-shadow-colored: 0 1px 3px 0 var(--univer-tw-shadow-color), 0 1px 2px -1px var(--univer-tw-shadow-color);\n box-shadow: 0 0 #0000, 0 0 #0000, 0 1px 3px #0000001a, 0 1px 2px -1px #0000001a;\n box-shadow: var(--univer-tw-ring-offset-shadow, 0 0 #0000), var(--univer-tw-ring-shadow, 0 0 #0000), var(--univer-tw-shadow);\n}\n\n.univer-shadow-\\[0_30px_60px_-35px_rgba\\(15\\,23\\,42\\,0\\.55\\)\\] {\n --univer-tw-shadow: 0 30px 60px -35px #0f172a8c;\n --univer-tw-shadow-colored: 0 30px 60px -35px var(--univer-tw-shadow-color);\n box-shadow: 0 0 #0000, 0 0 #0000, 0 30px 60px -35px #0f172a8c;\n box-shadow: var(--univer-tw-ring-offset-shadow, 0 0 #0000), var(--univer-tw-ring-shadow, 0 0 #0000), var(--univer-tw-shadow);\n}\n\n.univer-shadow-inner {\n --univer-tw-shadow: inset 0 2px 4px 0 #0000000d;\n --univer-tw-shadow-colored: inset 0 2px 4px 0 var(--univer-tw-shadow-color);\n box-shadow: 0 0 #0000, 0 0 #0000, inset 0 2px 4px #0000000d;\n box-shadow: var(--univer-tw-ring-offset-shadow, 0 0 #0000), var(--univer-tw-ring-shadow, 0 0 #0000), var(--univer-tw-shadow);\n}\n\n.univer-shadow-lg {\n --univer-tw-shadow: 0px 4px 6px 0px #1e284d0d, 0px 10px 15px -3px #1e284d1a;\n --univer-tw-shadow-colored: 0px 4px 6px 0px var(--univer-tw-shadow-color), 0px 10px 15px -3px var(--univer-tw-shadow-color);\n box-shadow: 0 0 #0000, 0 0 #0000, 0 4px 6px #1e284d0d, 0 10px 15px -3px #1e284d1a;\n box-shadow: var(--univer-tw-ring-offset-shadow, 0 0 #0000), var(--univer-tw-ring-shadow, 0 0 #0000), var(--univer-tw-shadow);\n}\n\n.univer-shadow-md {\n --univer-tw-shadow: 0px 1px 6px -2px #1e284d14, 0px 2px 6px -1px #1e284d1a;\n --univer-tw-shadow-colored: 0px 1px 6px -2px var(--univer-tw-shadow-color), 0px 2px 6px -1px var(--univer-tw-shadow-color);\n box-shadow: 0 0 #0000, 0 0 #0000, 0 1px 6px -2px #1e284d14, 0 2px 6px -1px #1e284d1a;\n box-shadow: var(--univer-tw-ring-offset-shadow, 0 0 #0000), var(--univer-tw-ring-shadow, 0 0 #0000), var(--univer-tw-shadow);\n}\n\n.univer-shadow-sm {\n --univer-tw-shadow: 0px 1px 2px 0px #1e284d14;\n --univer-tw-shadow-colored: 0px 1px 2px 0px var(--univer-tw-shadow-color);\n box-shadow: 0 0 #0000, 0 0 #0000, 0 1px 2px #1e284d14;\n box-shadow: var(--univer-tw-ring-offset-shadow, 0 0 #0000), var(--univer-tw-ring-shadow, 0 0 #0000), var(--univer-tw-shadow);\n}\n\n.univer-outline-none {\n outline-offset: 2px;\n outline: 2px solid #0000;\n}\n\n.univer-ring-2 {\n --univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color);\n --univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(2px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color);\n box-shadow: var(--univer-tw-ring-offset-shadow), var(--univer-tw-ring-shadow), 0 0 #0000;\n box-shadow: var(--univer-tw-ring-offset-shadow), var(--univer-tw-ring-shadow), var(--univer-tw-shadow, 0 0 #0000);\n}\n\n.\\!univer-ring-primary-900 {\n --univer-tw-ring-color: var(--univer-primary-900) !important;\n}\n\n.univer-ring-primary-50 {\n --univer-tw-ring-color: var(--univer-primary-50);\n}\n\n.univer-ring-primary-500 {\n --univer-tw-ring-color: var(--univer-primary-500);\n}\n\n.univer-ring-white {\n --univer-tw-ring-color: var(--univer-white);\n}\n\n.univer-ring-offset-2 {\n --univer-tw-ring-offset-width: 2px;\n}\n\n.\\!univer-ring-offset-gray-600 {\n --univer-tw-ring-offset-color: var(--univer-gray-600) !important;\n}\n\n.univer-ring-offset-white {\n --univer-tw-ring-offset-color: var(--univer-white);\n}\n\n.univer-drop-shadow-sm {\n --univer-tw-drop-shadow: drop-shadow(0 1px 1px #0000000d);\n filter: var(--univer-tw-blur) var(--univer-tw-brightness) var(--univer-tw-contrast) var(--univer-tw-grayscale) var(--univer-tw-hue-rotate) var(--univer-tw-invert) var(--univer-tw-saturate) var(--univer-tw-sepia) var(--univer-tw-drop-shadow);\n}\n\n.univer-backdrop-blur-xl {\n --univer-tw-backdrop-blur: blur(24px);\n backdrop-filter: var(--univer-tw-backdrop-blur) var(--univer-tw-backdrop-brightness) var(--univer-tw-backdrop-contrast) var(--univer-tw-backdrop-grayscale) var(--univer-tw-backdrop-hue-rotate) var(--univer-tw-backdrop-invert) var(--univer-tw-backdrop-opacity) var(--univer-tw-backdrop-saturate) var(--univer-tw-backdrop-sepia);\n}\n\n.univer-transition-\\[color\\,box-shadow\\] {\n transition-property: color, box-shadow;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.univer-transition-\\[max-height\\,opacity\\] {\n transition-property: max-height, opacity;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.univer-transition-all {\n transition-property: all;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.univer-transition-colors {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.univer-transition-opacity {\n transition-property: opacity;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.univer-transition-shadow {\n transition-property: box-shadow;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.univer-transition-transform {\n transition-property: transform;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.univer-duration-150 {\n transition-duration: .15s;\n}\n\n.univer-duration-200 {\n transition-duration: .2s;\n}\n\n.univer-duration-300 {\n transition-duration: .3s;\n}\n\n.univer-duration-500 {\n transition-duration: .5s;\n}\n\n.univer-duration-75 {\n transition-duration: 75ms;\n}\n\n.univer-ease-in-out {\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.univer-ease-out {\n transition-timing-function: cubic-bezier(0, 0, .2, 1);\n}\n\n.univer-will-change-transform {\n will-change: transform;\n}\n\n.univer-scrollbar-thin::-webkit-scrollbar-track {\n background-color: var(--scrollbar-track);\n border-radius: var(--scrollbar-track-radius);\n}\n\n.univer-scrollbar-thin::-webkit-scrollbar-track:hover {\n background-color: var(--scrollbar-track-hover, var(--scrollbar-track));\n}\n\n.univer-scrollbar-thin::-webkit-scrollbar-track:active {\n background-color: var(--scrollbar-track-active, var(--scrollbar-track-hover, var(--scrollbar-track)));\n}\n\n.univer-scrollbar-thin::-webkit-scrollbar-thumb {\n background-color: var(--scrollbar-thumb);\n border-radius: var(--scrollbar-thumb-radius);\n}\n\n.univer-scrollbar-thin::-webkit-scrollbar-thumb:hover {\n background-color: var(--scrollbar-thumb-hover, var(--scrollbar-thumb));\n}\n\n.univer-scrollbar-thin::-webkit-scrollbar-thumb:active {\n background-color: var(--scrollbar-thumb-active, var(--scrollbar-thumb-hover, var(--scrollbar-thumb)));\n}\n\n.univer-scrollbar-thin::-webkit-scrollbar-corner {\n background-color: var(--scrollbar-corner);\n border-radius: var(--scrollbar-corner-radius);\n}\n\n.univer-scrollbar-thin::-webkit-scrollbar-corner:hover {\n background-color: var(--scrollbar-corner-hover, var(--scrollbar-corner));\n}\n\n.univer-scrollbar-thin::-webkit-scrollbar-corner:active {\n background-color: var(--scrollbar-corner-active, var(--scrollbar-corner-hover, var(--scrollbar-corner)));\n}\n\n.univer-scrollbar-thin {\n scrollbar-width: thin;\n scrollbar-color: initial initial;\n scrollbar-color: var(--scrollbar-thumb, initial) var(--scrollbar-track, initial);\n}\n\n.univer-scrollbar-thin::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n display: block;\n}\n\n.univer-scrollbar-track-gray-50 {\n --scrollbar-track: var(--univer-gray-50) !important;\n}\n\n.univer-scrollbar-thumb-gray-300 {\n --scrollbar-thumb: var(--univer-gray-300) !important;\n}\n\n@keyframes enter {\n from {\n opacity: 1;\n opacity: var(--univer-tw-enter-opacity, 1);\n transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotate(0);\n transform: translate3d(var(--univer-tw-enter-translate-x, 0), var(--univer-tw-enter-translate-y, 0), 0) scale3d(var(--univer-tw-enter-scale, 1), var(--univer-tw-enter-scale, 1), var(--univer-tw-enter-scale, 1)) rotate(var(--univer-tw-enter-rotate, 0));\n }\n}\n\n@keyframes exit {\n to {\n opacity: 1;\n opacity: var(--univer-tw-exit-opacity, 1);\n transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotate(0);\n transform: translate3d(var(--univer-tw-exit-translate-x, 0), var(--univer-tw-exit-translate-y, 0), 0) scale3d(var(--univer-tw-exit-scale, 1), var(--univer-tw-exit-scale, 1), var(--univer-tw-exit-scale, 1)) rotate(var(--univer-tw-exit-rotate, 0));\n }\n}\n\n.univer-animate-in {\n --univer-tw-enter-opacity: initial;\n --univer-tw-enter-scale: initial;\n --univer-tw-enter-rotate: initial;\n --univer-tw-enter-translate-x: initial;\n --univer-tw-enter-translate-y: initial;\n animation-name: enter;\n animation-duration: .15s;\n}\n\n.univer-animate-out {\n --univer-tw-exit-opacity: initial;\n --univer-tw-exit-scale: initial;\n --univer-tw-exit-rotate: initial;\n --univer-tw-exit-translate-x: initial;\n --univer-tw-exit-translate-y: initial;\n animation-name: exit;\n animation-duration: .15s;\n}\n\n.univer-fade-in, .univer-fade-in-0 {\n --univer-tw-enter-opacity: 0;\n}\n\n.univer-fade-out {\n --univer-tw-exit-opacity: 0;\n}\n\n.univer-zoom-in-95 {\n --univer-tw-enter-scale: .95;\n}\n\n.univer-duration-150 {\n animation-duration: .15s;\n}\n\n.univer-duration-200 {\n animation-duration: .2s;\n}\n\n.univer-duration-300 {\n animation-duration: .3s;\n}\n\n.univer-duration-500 {\n animation-duration: .5s;\n}\n\n.univer-duration-75 {\n animation-duration: 75ms;\n}\n\n.univer-ease-in-out {\n animation-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.univer-ease-out {\n animation-timing-function: cubic-bezier(0, 0, .2, 1);\n}\n\n.placeholder\\:univer-text-gray-200::placeholder {\n color: var(--univer-gray-200);\n}\n\n.placeholder\\:univer-text-gray-400::placeholder {\n color: var(--univer-gray-400);\n}\n\n.before\\:univer-absolute:before {\n content: var(--univer-tw-content);\n position: absolute;\n}\n\n.before\\:univer-top-1\\/2:before {\n content: var(--univer-tw-content);\n top: 50%;\n}\n\n.before\\:univer-block:before {\n content: var(--univer-tw-content);\n display: block;\n}\n\n.before\\:univer-h-px:before {\n content: var(--univer-tw-content);\n height: 1px;\n}\n\n.before\\:univer-w-full:before {\n content: var(--univer-tw-content);\n width: 100%;\n}\n\n.before\\:-univer-translate-y-1\\/2:before {\n content: var(--univer-tw-content);\n --univer-tw-translate-y: -50%;\n transform: translate(var(--univer-tw-translate-x), -50%) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n}\n\n.before\\:univer-bg-gray-200:before {\n content: var(--univer-tw-content);\n background-color: var(--univer-gray-200);\n}\n\n.before\\:univer-content-\\[\\"\\"\\]:before {\n --univer-tw-content: "";\n content: "";\n content: var(--univer-tw-content);\n}\n\n.last\\:univer-mb-0:last-child {\n margin-bottom: 0;\n}\n\n.data-\\[disabled\\]\\:univer-pointer-events-none[data-disabled] {\n pointer-events: none;\n}\n\n.data-\\[orientation\\=horizontal\\]\\:univer-h-px[data-orientation="horizontal"] {\n height: 1px;\n}\n\n.data-\\[orientation\\=vertical\\]\\:univer-h-full[data-orientation="vertical"] {\n height: 100%;\n}\n\n.data-\\[orientation\\=horizontal\\]\\:univer-w-full[data-orientation="horizontal"] {\n width: 100%;\n}\n\n.data-\\[orientation\\=vertical\\]\\:univer-w-px[data-orientation="vertical"] {\n width: 1px;\n}\n\n.data-\\[state\\=open\\]\\:univer-bg-gray-100[data-state="open"] {\n background-color: var(--univer-gray-100);\n}\n\n.data-\\[disabled\\]\\:univer-opacity-50[data-disabled] {\n opacity: .5;\n}\n\n.data-\\[state\\=open\\]\\:univer-animate-in[data-state="open"] {\n --univer-tw-enter-opacity: initial;\n --univer-tw-enter-scale: initial;\n --univer-tw-enter-rotate: initial;\n --univer-tw-enter-translate-x: initial;\n --univer-tw-enter-translate-y: initial;\n animation-name: enter;\n animation-duration: .15s;\n}\n\n.data-\\[state\\=closed\\]\\:univer-animate-out[data-state="closed"] {\n --univer-tw-exit-opacity: initial;\n --univer-tw-exit-scale: initial;\n --univer-tw-exit-rotate: initial;\n --univer-tw-exit-translate-x: initial;\n --univer-tw-exit-translate-y: initial;\n animation-name: exit;\n animation-duration: .15s;\n}\n\n.data-\\[state\\=closed\\]\\:univer-fade-out-0[data-state="closed"] {\n --univer-tw-exit-opacity: 0;\n}\n\n.data-\\[state\\=open\\]\\:univer-fade-in-0[data-state="open"] {\n --univer-tw-enter-opacity: 0;\n}\n\n.data-\\[state\\=closed\\]\\:univer-zoom-out-95[data-state="closed"] {\n --univer-tw-exit-scale: .95;\n}\n\n.data-\\[state\\=open\\]\\:univer-zoom-in-95[data-state="open"] {\n --univer-tw-enter-scale: .95;\n}\n\n.data-\\[side\\=bottom\\]\\:univer-slide-in-from-top-2[data-side="bottom"] {\n --univer-tw-enter-translate-y: -.5rem;\n}\n\n.data-\\[side\\=left\\]\\:univer-slide-in-from-right-2[data-side="left"] {\n --univer-tw-enter-translate-x: .5rem;\n}\n\n.data-\\[side\\=right\\]\\:univer-slide-in-from-left-2[data-side="right"] {\n --univer-tw-enter-translate-x: -.5rem;\n}\n\n.data-\\[side\\=top\\]\\:univer-slide-in-from-bottom-2[data-side="top"] {\n --univer-tw-enter-translate-y: .5rem;\n}\n\n.data-\\[state\\=closed\\]\\:univer-slide-out-to-left-1\\/2[data-state="closed"] {\n --univer-tw-exit-translate-x: -50%;\n}\n\n.data-\\[state\\=closed\\]\\:univer-slide-out-to-top-\\[48\\%\\][data-state="closed"] {\n --univer-tw-exit-translate-y: -48%;\n}\n\n.data-\\[state\\=open\\]\\:univer-slide-in-from-left-1\\/2[data-state="open"] {\n --univer-tw-enter-translate-x: -50%;\n}\n\n.data-\\[state\\=open\\]\\:univer-slide-in-from-top-\\[48\\%\\][data-state="open"] {\n --univer-tw-enter-translate-y: -48%;\n}\n\n.hover\\:univer-border-primary-600:hover {\n border-color: var(--univer-primary-600);\n}\n\n.hover\\:univer-border-red-400:hover {\n border-color: var(--univer-red-400);\n}\n\n.hover\\:univer-border-transparent:hover {\n border-color: #0000;\n}\n\n.hover\\:univer-bg-gray-100:hover {\n background-color: var(--univer-gray-100);\n}\n\n.hover\\:univer-bg-gray-200:hover {\n background-color: var(--univer-gray-200);\n}\n\n.hover\\:univer-bg-gray-50:hover {\n background-color: var(--univer-gray-50);\n}\n\n.hover\\:univer-bg-primary-500:hover {\n background-color: var(--univer-primary-500);\n}\n\n.hover\\:univer-bg-red-400:hover {\n background-color: var(--univer-red-400);\n}\n\n.hover\\:univer-text-gray-500:hover {\n color: var(--univer-gray-500);\n}\n\n.hover\\:univer-text-gray-900:hover {\n color: var(--univer-gray-900);\n}\n\n.hover\\:univer-text-primary-500:hover {\n color: var(--univer-primary-500);\n}\n\n.hover\\:univer-text-white:hover {\n color: var(--univer-white);\n}\n\n.hover\\:univer-underline:hover {\n text-decoration-line: underline;\n}\n\n.hover\\:univer-opacity-100:hover {\n opacity: 1;\n}\n\n.hover\\:univer-opacity-70:hover {\n opacity: .7;\n}\n\n.hover\\:univer-opacity-80:hover {\n opacity: .8;\n}\n\n.focus\\:univer-border-primary-500:focus {\n border-color: var(--univer-primary-500);\n}\n\n.focus\\:univer-border-primary-600:focus {\n border-color: var(--univer-primary-600);\n}\n\n.focus\\:univer-bg-gray-100:focus {\n background-color: var(--univer-gray-100);\n}\n\n.focus\\:univer-outline-none:focus {\n outline-offset: 2px;\n outline: 2px solid #0000;\n}\n\n.focus\\:univer-ring-2:focus {\n --univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color);\n --univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(2px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color);\n box-shadow: var(--univer-tw-ring-offset-shadow), var(--univer-tw-ring-shadow), 0 0 #0000;\n box-shadow: var(--univer-tw-ring-offset-shadow), var(--univer-tw-ring-shadow), var(--univer-tw-shadow, 0 0 #0000);\n}\n\n.focus\\:univer-ring-primary-50:focus {\n --univer-tw-ring-color: var(--univer-primary-50);\n}\n\n.active\\:univer-border-red-600:active {\n border-color: var(--univer-red-600);\n}\n\n.active\\:univer-bg-gray-200:active {\n background-color: var(--univer-gray-200);\n}\n\n.active\\:univer-bg-primary-700:active {\n background-color: var(--univer-primary-700);\n}\n\n.active\\:univer-bg-red-600:active {\n background-color: var(--univer-red-600);\n}\n\n.active\\:univer-text-primary-700:active {\n color: var(--univer-primary-700);\n}\n\n.disabled\\:univer-pointer-events-none:disabled {\n pointer-events: none;\n}\n\n.disabled\\:univer-cursor-not-allowed:disabled {\n cursor: not-allowed;\n}\n\n.disabled\\:univer-opacity-50:disabled {\n opacity: .5;\n}\n\n@media (min-width: 640px) {\n .sm\\:\\!univer-flex-row {\n flex-direction: row !important;\n }\n\n .sm\\:\\!univer-justify-end {\n justify-content: flex-end !important;\n }\n\n .sm\\:\\!univer-space-x-2 > :not([hidden]) ~ :not([hidden]) {\n --univer-tw-space-x-reverse: 0 !important;\n margin-right: 0 !important;\n margin-right: calc(.5rem * var(--univer-tw-space-x-reverse)) !important;\n margin-left: .5rem !important;\n margin-left: calc(.5rem * (1 - var(--univer-tw-space-x-reverse))) !important;\n margin-left: .5rem !important;\n margin-left: calc(.5rem * calc(1 - var(--univer-tw-space-x-reverse))) !important;\n }\n\n .sm\\:\\!univer-rounded-lg {\n border-radius: .5rem !important;\n }\n\n .sm\\:\\!univer-text-left {\n text-align: left !important;\n }\n}\n\n@media (min-width: 768px) {\n .md\\:univer-grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n}\n\n.dark\\:\\!univer-divide-gray-600:where(.univer-dark, .univer-dark *) > :not([hidden]) ~ :not([hidden]) {\n border-color: var(--univer-gray-600) !important;\n}\n\n.dark\\:\\!univer-border-gray-500:where(.univer-dark, .univer-dark *) {\n border-color: var(--univer-gray-500) !important;\n}\n\n.dark\\:\\!univer-border-gray-600:where(.univer-dark, .univer-dark *) {\n border-color: var(--univer-gray-600) !important;\n}\n\n.dark\\:\\!univer-border-gray-700:where(.univer-dark, .univer-dark *) {\n border-color: var(--univer-gray-700) !important;\n}\n\n.dark\\:\\!univer-border-primary-700:where(.univer-dark, .univer-dark *) {\n border-color: var(--univer-primary-700) !important;\n}\n\n.dark\\:\\!univer-bg-gray-100:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-gray-100) !important;\n}\n\n.dark\\:\\!univer-bg-gray-500:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-gray-500) !important;\n}\n\n.dark\\:\\!univer-bg-gray-600:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-gray-600) !important;\n}\n\n.dark\\:\\!univer-bg-gray-700:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-gray-700) !important;\n}\n\n.dark\\:\\!univer-bg-gray-800:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-gray-800) !important;\n}\n\n.dark\\:\\!univer-bg-gray-900:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-gray-900) !important;\n}\n\n.dark\\:\\!univer-bg-primary-600:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-primary-600) !important;\n}\n\n.dark\\:\\!univer-text-gray-100:where(.univer-dark, .univer-dark *) {\n color: var(--univer-gray-100) !important;\n}\n\n.dark\\:\\!univer-text-gray-200:where(.univer-dark, .univer-dark *) {\n color: var(--univer-gray-200) !important;\n}\n\n.dark\\:\\!univer-text-gray-300:where(.univer-dark, .univer-dark *) {\n color: var(--univer-gray-300) !important;\n}\n\n.dark\\:\\!univer-text-gray-400:where(.univer-dark, .univer-dark *) {\n color: var(--univer-gray-400) !important;\n}\n\n.dark\\:\\!univer-text-gray-500:where(.univer-dark, .univer-dark *) {\n color: var(--univer-gray-500) !important;\n}\n\n.dark\\:\\!univer-text-gray-900:where(.univer-dark, .univer-dark *) {\n color: var(--univer-gray-900) !important;\n}\n\n.dark\\:\\!univer-text-primary-500:where(.univer-dark, .univer-dark *) {\n color: var(--univer-primary-500) !important;\n}\n\n.dark\\:\\!univer-text-sky-400:where(.univer-dark, .univer-dark *) {\n --univer-tw-text-opacity: 1 !important;\n color: rgba(56, 189, 248, var(--univer-tw-text-opacity, 1)) !important;\n}\n\n.dark\\:\\!univer-text-white:where(.univer-dark, .univer-dark *) {\n color: var(--univer-white) !important;\n}\n\n.dark\\:\\!univer-ring-primary-600:where(.univer-dark, .univer-dark *) {\n --univer-tw-ring-color: var(--univer-primary-600) !important;\n}\n\n.dark\\:\\!univer-ring-primary-900:where(.univer-dark, .univer-dark *) {\n --univer-tw-ring-color: var(--univer-primary-900) !important;\n}\n\n.dark\\:\\!univer-ring-offset-gray-600:where(.univer-dark, .univer-dark *) {\n --univer-tw-ring-offset-color: var(--univer-gray-600) !important;\n}\n\n.dark\\:\\!univer-scrollbar-track-gray-900:where(.univer-dark, .univer-dark *) {\n --scrollbar-track: var(--univer-gray-900) !important;\n}\n\n.dark\\:\\!univer-scrollbar-thumb-gray-700:where(.univer-dark, .univer-dark *) {\n --scrollbar-thumb: var(--univer-gray-700) !important;\n}\n\n.dark\\:before\\:\\!univer-bg-gray-600:where(.univer-dark, .univer-dark *):before {\n content: var(--univer-tw-content);\n background-color: var(--univer-gray-600) !important;\n}\n\n.dark\\:data-\\[state\\=open\\]\\:\\!univer-bg-gray-600[data-state="open"]:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-gray-600) !important;\n}\n\n.dark\\:hover\\:\\!univer-bg-gray-600:hover:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-gray-600) !important;\n}\n\n.dark\\:hover\\:\\!univer-bg-gray-700:hover:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-gray-700) !important;\n}\n\n.dark\\:hover\\:\\!univer-text-white:hover:where(.univer-dark, .univer-dark *) {\n color: var(--univer-white) !important;\n}\n\n.dark\\:focus\\:\\!univer-border-primary-500:focus:where(.univer-dark, .univer-dark *) {\n border-color: var(--univer-primary-500) !important;\n}\n\n.dark\\:focus\\:\\!univer-bg-gray-600:focus:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-gray-600) !important;\n}\n\n.dark\\:focus\\:\\!univer-ring-primary-900:focus:where(.univer-dark, .univer-dark *) {\n --univer-tw-ring-color: var(--univer-primary-900) !important;\n}\n\n.dark\\:focus-visible\\:\\!univer-border-gray-600:focus-visible:where(.univer-dark, .univer-dark *) {\n border-color: var(--univer-gray-600) !important;\n}\n\n.dark\\:active\\:\\!univer-bg-gray-600:active:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-gray-600) !important;\n}\n\n.dark\\:active\\:\\!univer-bg-gray-700:active:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-gray-700) !important;\n}\n\n.\\[\\&\\:\\:-webkit-calendar-picker-indicator\\]\\:univer-hidden::-webkit-calendar-picker-indicator {\n display: none;\n}\n\n.\\[\\&\\:\\:-webkit-calendar-picker-indicator\\]\\:univer-appearance-none::-webkit-calendar-picker-indicator {\n -webkit-appearance: none;\n appearance: none;\n}\n\n.\\[\\&\\>input\\]\\:univer-w-11 > input {\n width: 2.75rem;\n}\n\n.\\[\\&\\>input\\]\\:univer-border-gray-200 > input {\n border-color: var(--univer-gray-200);\n}\n\n.\\[\\&\\>input\\]\\:focus\\:univer-border-primary-500:focus > input {\n border-color: var(--univer-primary-500);\n}\n\n.dark\\:\\[\\&\\>input\\]\\:\\!univer-border-gray-600 > input:where(.univer-dark, .univer-dark *) {\n border-color: var(--univer-gray-600) !important;\n}\n\n.dark\\:\\[\\&\\>input\\]\\:\\!univer-text-white > input:where(.univer-dark, .univer-dark *) {\n color: var(--univer-white) !important;\n}\n\n.\\[\\&\\>svg\\]\\:univer-block > svg {\n display: block;\n}\n\n.\\[\\&\\>svg\\]\\:univer-size-4 > svg {\n width: 1rem;\n height: 1rem;\n}\n\n.\\[\\&\\>svg\\]\\:univer-shrink-0 > svg {\n flex-shrink: 0;\n}\n\n.\\[\\&\\>ul\\:not\\(\\:last-child\\)\\]\\:univer-border-0 > ul:not(:last-child) {\n border-width: 0;\n}\n\n.\\[\\&\\>ul\\:not\\(\\:last-child\\)\\]\\:univer-border-r > ul:not(:last-child) {\n border-right-width: 1px;\n}\n\n.\\[\\&\\>ul\\:not\\(\\:last-child\\)\\]\\:univer-border-solid > ul:not(:last-child) {\n border-style: solid;\n}\n\n.\\[\\&\\>ul\\:not\\(\\:last-child\\)\\]\\:univer-border-r-gray-200 > ul:not(:last-child) {\n border-right-color: var(--univer-gray-200);\n}\n\n.\\[\\&_\\[data-description\\]\\]\\:univer-text-sm [data-description] {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n.\\[\\&_\\[data-description\\]\\]\\:univer-text-gray-200 [data-description] {\n color: var(--univer-gray-200);\n}\n\n.\\[\\&_\\[data-description\\]\\]\\:univer-text-gray-600 [data-description] {\n color: var(--univer-gray-600);\n}\n\n.\\[\\&_\\[data-icon\\]\\>svg\\]\\:univer-relative [data-icon] > svg {\n position: relative;\n}\n\n.\\[\\&_\\[data-icon\\]\\>svg\\]\\:univer-top-1 [data-icon] > svg {\n top: .25rem;\n}\n\n.\\[\\&_\\[data-icon\\]\\]\\:univer-self-baseline [data-icon] {\n align-self: baseline;\n}\n\n.\\[\\&_\\[data-icon\\]\\]\\:univer-text-amber-500 [data-icon] {\n --univer-tw-text-opacity: 1;\n color: rgba(245, 158, 11, var(--univer-tw-text-opacity, 1));\n}\n\n.\\[\\&_\\[data-icon\\]\\]\\:univer-text-green-500 [data-icon] {\n color: var(--univer-green-500);\n}\n\n.\\[\\&_\\[data-icon\\]\\]\\:univer-text-primary-600 [data-icon] {\n color: var(--univer-primary-600);\n}\n\n.\\[\\&_\\[data-icon\\]\\]\\:univer-text-red-500 [data-icon] {\n color: var(--univer-red-500);\n}\n\n.\\[\\&_\\[data-icon\\]\\]\\:univer-text-sky-500 [data-icon] {\n --univer-tw-text-opacity: 1;\n color: rgba(14, 165, 233, var(--univer-tw-text-opacity, 1));\n}\n\n.\\[\\&_\\[data-icon\\]\\]\\:univer-text-violet-500 [data-icon] {\n --univer-tw-text-opacity: 1;\n color: rgba(139, 92, 246, var(--univer-tw-text-opacity, 1));\n}\n\n.\\[\\&_\\[data-icon\\]\\]\\:univer-text-yellow-500 [data-icon] {\n color: var(--univer-yellow-500);\n}\n\n.\\[\\&_\\[data-sonner-toast\\]\\]\\:univer-rounded-2xl [data-sonner-toast] {\n border-radius: 1rem;\n}\n\n.\\[\\&_\\[data-sonner-toast\\]\\]\\:univer-border [data-sonner-toast] {\n border-width: 1px;\n}\n\n.\\[\\&_\\[data-sonner-toast\\]\\]\\:univer-border-solid [data-sonner-toast] {\n border-style: solid;\n}\n\n.\\[\\&_\\[data-sonner-toast\\]\\]\\:univer-border-gray-200 [data-sonner-toast] {\n border-color: var(--univer-gray-200);\n}\n\n.\\[\\&_\\[data-sonner-toast\\]\\]\\:univer-shadow-\\[0_16px_40px_-20px_rgba\\(15\\,23\\,42\\,0\\.55\\)\\] [data-sonner-toast] {\n --univer-tw-shadow: 0 16px 40px -20px #0f172a8c;\n --univer-tw-shadow-colored: 0 16px 40px -20px var(--univer-tw-shadow-color);\n box-shadow: 0 0 #0000, 0 0 #0000, 0 16px 40px -20px #0f172a8c;\n box-shadow: var(--univer-tw-ring-offset-shadow, 0 0 #0000), var(--univer-tw-ring-shadow, 0 0 #0000), var(--univer-tw-shadow);\n}\n\n.\\[\\&_\\[data-sonner-toast\\]\\]\\:univer-shadow-md [data-sonner-toast] {\n --univer-tw-shadow: 0px 1px 6px -2px #1e284d14, 0px 2px 6px -1px #1e284d1a;\n --univer-tw-shadow-colored: 0px 1px 6px -2px var(--univer-tw-shadow-color), 0px 2px 6px -1px var(--univer-tw-shadow-color);\n box-shadow: 0 0 #0000, 0 0 #0000, 0 1px 6px -2px #1e284d14, 0 2px 6px -1px #1e284d1a;\n box-shadow: var(--univer-tw-ring-offset-shadow, 0 0 #0000), var(--univer-tw-ring-shadow, 0 0 #0000), var(--univer-tw-shadow);\n}\n\n.\\[\\&_\\[data-sonner-toast\\]\\]\\:univer-backdrop-blur-sm [data-sonner-toast] {\n --univer-tw-backdrop-blur: blur(4px);\n backdrop-filter: var(--univer-tw-backdrop-blur) var(--univer-tw-backdrop-brightness) var(--univer-tw-backdrop-contrast) var(--univer-tw-backdrop-grayscale) var(--univer-tw-backdrop-hue-rotate) var(--univer-tw-backdrop-invert) var(--univer-tw-backdrop-opacity) var(--univer-tw-backdrop-saturate) var(--univer-tw-backdrop-sepia);\n}\n\n.dark\\:\\[\\&_\\[data-sonner-toast\\]\\]\\:\\!univer-border-gray-600 [data-sonner-toast]:where(.univer-dark, .univer-dark *) {\n border-color: var(--univer-gray-600) !important;\n}\n\n.\\[\\&_\\[data-title\\]\\]\\:univer-text-sm [data-title] {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n.\\[\\&_\\[data-title\\]\\]\\:univer-text-gray-900 [data-title] {\n color: var(--univer-gray-900);\n}\n\n.\\[\\&_\\[data-u-comp\\=form-layout\\]\\]\\:univer-max-w-\\[calc\\(50\\%-8px\\)\\] [data-u-comp="form-layout"] {\n max-width: calc(50% - 8px);\n}\n\n.\\[\\&_\\[data-u-comp\\=form-layout\\]\\]\\:univer-shrink [data-u-comp="form-layout"] {\n flex-shrink: 1;\n}\n\n.\\[\\&_\\[data-u-comp\\=form-layout\\]\\]\\:univer-grow [data-u-comp="form-layout"] {\n flex-grow: 1;\n}\n\n.\\[\\&_\\[data-u-comp\\=input\\]\\]\\:univer-w-full [data-u-comp="input"] {\n width: 100%;\n}\n\n.\\[\\&_\\[data-u-comp\\=input\\]\\]\\:univer-border-red-500 [data-u-comp="input"] {\n border-color: var(--univer-red-500);\n}\n\n.\\[\\&_\\[data-u-comp\\=pager-left-arrow\\]\\:hover\\]\\:\\!univer-bg-gray-600 [data-u-comp="pager-left-arrow"]:hover, .\\[\\&_\\[data-u-comp\\=pager-right-arrow\\]\\:hover\\]\\:\\!univer-bg-gray-600 [data-u-comp="pager-right-arrow"]:hover {\n background-color: var(--univer-gray-600) !important;\n}\n\n.\\[\\&_\\[data-u-comp\\=select\\]\\]\\:univer-w-full [data-u-comp="select"] {\n width: 100%;\n}\n\n.\\[\\&_\\[data-u-comp\\=select\\]\\]\\:univer-border-red-500 [data-u-comp="select"] {\n border-color: var(--univer-red-500);\n}\n\n.\\[\\&_input\\]\\:univer-box-border input {\n box-sizing: border-box;\n}\n\n.\\[\\&_input\\]\\:univer-flex input {\n display: flex;\n}\n\n.\\[\\&_input\\]\\:univer-h-7 input {\n height: 1.75rem;\n}\n\n.\\[\\&_input\\]\\:univer-items-center input {\n align-items: center;\n}\n\n.\\[\\&_input\\]\\:univer-rounded input {\n border-radius: .25rem;\n}\n\n.\\[\\&_input\\]\\:univer-border input {\n border-width: 1px;\n}\n\n.\\[\\&_input\\]\\:univer-border-solid input {\n border-style: solid;\n}\n\n.\\[\\&_input\\]\\:univer-border-gray-200 input {\n border-color: var(--univer-gray-200);\n}\n\n.\\[\\&_input\\]\\:univer-border-gray-600 input {\n border-color: var(--univer-gray-600);\n}\n\n.\\[\\&_input\\]\\:univer-bg-transparent input {\n background-color: #0000;\n}\n\n.\\[\\&_input\\]\\:univer-px-1\\.5 input {\n padding-left: .375rem;\n padding-right: .375rem;\n}\n\n.\\[\\&_input\\]\\:univer-text-sm input {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n.\\[\\&_input\\]\\:univer-text-gray-700 input {\n color: var(--univer-gray-700);\n}\n\n.\\[\\&_input\\]\\:univer-text-white input {\n color: var(--univer-white);\n}\n\n.\\[\\&_input\\]\\:univer-outline-none input {\n outline-offset: 2px;\n outline: 2px solid #0000;\n}\n\n.\\[\\&_svg\\]\\:univer-pointer-events-none svg {\n pointer-events: none;\n}\n\n.\\[\\&_svg\\]\\:univer-size-4 svg {\n width: 1rem;\n height: 1rem;\n}\n\n.\\[\\&_svg\\]\\:univer-shrink-0 svg {\n flex-shrink: 0;\n}\n.univer-popup {\n z-index: 1070;\n --univer-tw-shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;\n --univer-tw-shadow-colored: 0 1px 3px 0 var(--univer-tw-shadow-color), 0 1px 2px -1px var(--univer-tw-shadow-color);\n box-shadow: 0 0 #0000, 0 0 #0000, 0 1px 3px #0000001a, 0 1px 2px -1px #0000001a;\n box-shadow: var(--univer-tw-ring-offset-shadow, 0 0 #0000), var(--univer-tw-ring-shadow, 0 0 #0000), var(--univer-tw-shadow);\n border-radius: 6px;\n position: fixed;\n top: -9999px;\n left: -9999px;\n overflow: hidden;\n}\n\n.univer-popup-enter {\n transform-origin: 0 0;\n opacity: 0;\n animation-duration: .15s;\n animation-timing-function: cubic-bezier(.08, .82, .17, 1);\n animation-play-state: paused;\n animation-fill-mode: both;\n}\n\n.univer-popup-enter-active {\n animation-name: popup-slide-up-in;\n animation-play-state: running;\n}\n\n.univer-popup-exit {\n transform-origin: 0 0;\n opacity: 1;\n animation-name: popup-slide-up-out;\n animation-duration: .15s;\n animation-timing-function: cubic-bezier(.6, .04, .98, .34);\n animation-play-state: running;\n animation-fill-mode: both;\n}\n\n.univer-popup-exit-active {\n display: none;\n}\n\n@keyframes popup-slide-up-in {\n 0% {\n transform-origin: 0 0;\n opacity: 0;\n transform: scaleY(0);\n }\n\n 100% {\n transform-origin: 0 0;\n opacity: 1;\n transform: scaleY(1);\n }\n}\n\n@keyframes popup-slide-up-out {\n 0% {\n transform-origin: 0 0;\n opacity: 1;\n transform: scaleY(1);\n }\n\n 100% {\n transform-origin: 0 0;\n opacity: 0;\n transform: scaleY(0);\n }\n}\n\n.univer-popup-mask {\n z-index: 1060;\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n}\n',""]);const s=o},5778(e,t,r){"use strict";r.d(t,{A:()=>s});var n=r(1601),i=r.n(n),a=r(6314),o=r.n(a)()(i());o.push([e.id,'*,:before,:after,::backdrop{--univer-tw-border-spacing-x: 0;--univer-tw-border-spacing-y: 0;--univer-tw-translate-x: 0;--univer-tw-translate-y: 0;--univer-tw-rotate: 0;--univer-tw-skew-x: 0;--univer-tw-skew-y: 0;--univer-tw-scale-x: 1;--univer-tw-scale-y: 1;--univer-tw-pan-x: ;--univer-tw-pan-y: ;--univer-tw-pinch-zoom: ;--univer-tw-scroll-snap-strictness: proximity;--univer-tw-gradient-from-position: ;--univer-tw-gradient-via-position: ;--univer-tw-gradient-to-position: ;--univer-tw-ordinal: ;--univer-tw-slashed-zero: ;--univer-tw-numeric-figure: ;--univer-tw-numeric-spacing: ;--univer-tw-numeric-fraction: ;--univer-tw-ring-inset: ;--univer-tw-ring-offset-width: 0px;--univer-tw-ring-offset-color: #fff;--univer-tw-ring-color: #93c5fd80;--univer-tw-ring-offset-shadow: 0 0 #0000;--univer-tw-ring-shadow: 0 0 #0000;--univer-tw-shadow: 0 0 #0000;--univer-tw-shadow-colored: 0 0 #0000;--univer-tw-blur: ;--univer-tw-brightness: ;--univer-tw-contrast: ;--univer-tw-grayscale: ;--univer-tw-hue-rotate: ;--univer-tw-invert: ;--univer-tw-saturate: ;--univer-tw-sepia: ;--univer-tw-drop-shadow: ;--univer-tw-backdrop-blur: ;--univer-tw-backdrop-brightness: ;--univer-tw-backdrop-contrast: ;--univer-tw-backdrop-grayscale: ;--univer-tw-backdrop-hue-rotate: ;--univer-tw-backdrop-invert: ;--univer-tw-backdrop-opacity: ;--univer-tw-backdrop-saturate: ;--univer-tw-backdrop-sepia: ;--univer-tw-contain-size: ;--univer-tw-contain-layout: ;--univer-tw-contain-paint: ;--univer-tw-contain-style: }*{scrollbar-color:initial;scrollbar-width:initial}.univer-sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.univer-inset-x-0{left:0;right:0}.univer-bottom-0\\.5{bottom:.125rem}.univer-bottom-6{bottom:1.5rem}.univer-left-0\\.5{left:.125rem}.univer-left-2{left:.5rem}.univer-left-\\[-16px\\]{left:-16px}.univer-right-4{right:1rem}.univer-right-px{right:1px}.univer-top-px{top:1px}.univer-z-0{z-index:0}.univer-z-\\[1081\\]{z-index:1081}.-univer-mx-1{margin-left:-.25rem;margin-right:-.25rem}.univer-my-0{margin-top:0;margin-bottom:0}.univer-ml-auto{margin-left:auto}.univer-inline-block{display:inline-block}.\\!univer-hidden{display:none!important}.univer-size-2{width:.5rem;height:.5rem}.univer-size-2\\.5{width:.625rem;height:.625rem}.univer-size-5{width:1.25rem;height:1.25rem}.univer-h-1\\/2{height:50%}.univer-h-12{height:3rem}.univer-h-2{height:.5rem}.univer-h-32{height:8rem}.univer-h-48{height:12rem}.univer-h-\\[150px\\]{height:150px}.univer-h-\\[calc\\(100\\%-2px\\)\\]{height:calc(100% - 2px)}.univer-max-h-0{max-height:0}.univer-max-h-80{max-height:20rem}.univer-max-h-\\[--radix-popper-available-height\\]{max-height:var(--radix-popper-available-height)}.univer-max-h-\\[40vh\\]{max-height:40vh}.univer-max-h-full{max-height:100%}.univer-max-h-screen{max-height:100vh}.univer-min-h-3\\.5{min-height:.875rem}.univer-min-h-\\[520px\\]{min-height:520px}.\\!univer-w-fit{width:fit-content!important}.univer-w-2\\.5{width:.625rem}.univer-w-64{width:16rem}.univer-w-72{width:18rem}.univer-w-80{width:20rem}.univer-w-\\[--radix-popper-anchor-width\\]{width:var(--radix-popper-anchor-width)}.univer-w-\\[calc\\(100\\%-16px\\)\\]{width:calc(100% - 16px)}.univer-min-w-36{min-width:9rem}.univer-min-w-\\[320px\\]{min-width:320px}.univer-max-w-2xl{max-width:42rem}.univer-max-w-\\[520px\\]{max-width:520px}.univer-max-w-\\[60vw\\]{max-width:60vw}.univer-max-w-sm{max-width:24rem}.univer-max-w-xs{max-width:20rem}.univer-shrink{flex-shrink:1}.univer-shrink-0{flex-shrink:0}.univer-origin-\\[--radix-hover-card-content-transform-origin\\]{transform-origin:var(--radix-hover-card-content-transform-origin)}.-univer-translate-y-1\\/2,.univer--translate-y-1\\/2{--univer-tw-translate-y: -50%;transform:translate(var(--univer-tw-translate-x),-50%) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));transform:translate(var(--univer-tw-translate-x),var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y))}.univer-translate-x-3{--univer-tw-translate-x: .75rem;transform:translate(.75rem,var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));transform:translate(var(--univer-tw-translate-x),var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y))}.-univer-rotate-90{--univer-tw-rotate: -90deg;transform:translate(var(--univer-tw-translate-x),var(--univer-tw-translate-y)) rotate(-90deg) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));transform:translate(var(--univer-tw-translate-x),var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y))}.univer-rotate-0{--univer-tw-rotate: 0deg;transform:translate(var(--univer-tw-translate-x),var(--univer-tw-translate-y)) rotate(0) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));transform:translate(var(--univer-tw-translate-x),var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y))}.univer-rotate-45{--univer-tw-rotate: 45deg;transform:translate(var(--univer-tw-translate-x),var(--univer-tw-translate-y)) rotate(45deg) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));transform:translate(var(--univer-tw-translate-x),var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y))}.univer-rotate-\\[-90deg\\]{--univer-tw-rotate: -90deg;transform:translate(var(--univer-tw-translate-x),var(--univer-tw-translate-y)) rotate(-90deg) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));transform:translate(var(--univer-tw-translate-x),var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y))}.\\!univer-animate-none{animation:none!important}.univer-cursor-crosshair{cursor:crosshair}.univer-cursor-grabbing{cursor:grabbing}.univer-resize{resize:both}.univer-grid-flow-row{grid-auto-flow:row}.univer-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.univer-grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.univer-flex-col-reverse{flex-direction:column-reverse}.univer-content-center{align-content:center}.univer-space-y-1\\.5>:not([hidden])~:not([hidden]){--univer-tw-space-y-reverse: 0;margin-top:calc(.375rem * (1 - var(--univer-tw-space-y-reverse)));margin-top:.375rem;margin-top:calc(.375rem * calc(1 - var(--univer-tw-space-y-reverse)));margin-bottom:0;margin-bottom:calc(.375rem * var(--univer-tw-space-y-reverse))}.univer-divide-x>:not([hidden])~:not([hidden]){--univer-tw-divide-x-reverse: 0;border-right-width:0;border-right-width:calc(1px * var(--univer-tw-divide-x-reverse));border-left-width:calc(1px * (1 - var(--univer-tw-divide-x-reverse)));border-left-width:1px;border-left-width:calc(1px * calc(1 - var(--univer-tw-divide-x-reverse)))}.univer-divide-y-0>:not([hidden])~:not([hidden]){--univer-tw-divide-y-reverse: 0;border-top-width:calc(0px * (1 - var(--univer-tw-divide-y-reverse)));border-top-width:0;border-top-width:calc(0px * calc(1 - var(--univer-tw-divide-y-reverse)));border-bottom-width:0;border-bottom-width:calc(0px * var(--univer-tw-divide-y-reverse))}.univer-text-ellipsis{text-overflow:ellipsis}.univer-text-balance{text-wrap:balance}.\\!univer-rounded-b-none{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.\\!univer-rounded-l-none{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.\\!univer-rounded-r-none{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.\\!univer-rounded-t-none{border-top-left-radius:0!important;border-top-right-radius:0!important}.univer-rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.\\!univer-border-l-0{border-left-width:0!important}.\\!univer-border-t-0{border-top-width:0!important}.univer-border-b-0{border-bottom-width:0}.univer-border-l{border-left-width:1px}.univer-border-l-0{border-left-width:0}.univer-border-r{border-right-width:1px}.univer-border-t{border-top-width:1px}.univer-border-t-0{border-top-width:0}.univer-border-dashed{border-style:dashed}.\\!univer-border-gray-200{border-color:var(--univer-gray-200)!important}.univer-border-gray-300{border-color:var(--univer-gray-300)}.univer-border-primary-200{border-color:var(--univer-primary-200)}.univer-border-primary-300{border-color:var(--univer-primary-300)}.univer-border-red-500{border-color:var(--univer-red-500)}.univer-border-white{border-color:var(--univer-white)}.\\!univer-bg-primary-600{background-color:var(--univer-primary-600)!important}.univer-bg-\\[rgba\\(0\\,0\\,0\\,0\\.8\\)\\]{background-color:#000c}.univer-bg-gray-800{background-color:var(--univer-gray-800)}.univer-bg-gray-900{background-color:var(--univer-gray-900)}.univer-bg-primary-500{background-color:var(--univer-primary-500)}.univer-bg-red-500{background-color:var(--univer-red-500)}.univer-bg-sky-100\\/70{background-color:#e0f2feb3}.univer-bg-slate-100\\/80{background-color:#f1f5f9cc}.univer-bg-slate-900\\/90{background-color:#0f172ae6}.univer-bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--univer-tw-gradient-stops))}.univer-from-slate-100{--univer-tw-gradient-from: #f1f5f9 var(--univer-tw-gradient-from-position);--univer-tw-gradient-to: #f1f5f900 var(--univer-tw-gradient-to-position);--univer-tw-gradient-stops: var(--univer-tw-gradient-from), var(--univer-tw-gradient-to)}.univer-via-cyan-50{--univer-tw-gradient-to: #ecfeff00 var(--univer-tw-gradient-to-position);--univer-tw-gradient-stops: var(--univer-tw-gradient-from), #ecfeff var(--univer-tw-gradient-via-position), var(--univer-tw-gradient-to)}.univer-to-blue-100{--univer-tw-gradient-to: var(--univer-blue-100) var(--univer-tw-gradient-to-position)}.univer-fill-current{fill:currentColor}.\\!univer-p-2\\.5{padding:.625rem!important}.univer-p-6{padding:1.5rem}.\\!univer-pl-4{padding-left:1rem!important}.univer-pl-8{padding-left:2rem}.univer-pr-32{padding-right:8rem}.univer-pr-8{padding-right:2rem}.univer-pt-4{padding-top:1rem}.univer-align-middle{vertical-align:middle}.univer-font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.univer-text-\\[13px\\]{font-size:13px}.univer-text-\\[8px\\]{font-size:8px}.univer-text-lg{font-size:1.125rem;line-height:1.75rem}.univer-text-sm\\/8{font-size:.875rem;line-height:2rem}.univer-text-xs\\/6{font-size:.75rem;line-height:1.5rem}.univer-leading-9{line-height:2.25rem}.univer-leading-normal{line-height:1.5}.univer-tracking-wide{letter-spacing:.025em}.univer-tracking-widest{letter-spacing:.1em}.\\!univer-text-primary-500{color:var(--univer-primary-500)!important}.univer-text-amber-500{--univer-tw-text-opacity: 1;color:rgba(245,158,11,var(--univer-tw-text-opacity, 1))}.univer-text-cyan-700{--univer-tw-text-opacity: 1;color:rgba(14,116,144,var(--univer-tw-text-opacity, 1))}.univer-text-green-500{color:var(--univer-green-500)}.univer-text-sky-500{--univer-tw-text-opacity: 1;color:rgba(14,165,233,var(--univer-tw-text-opacity, 1))}.univer-text-sky-700{--univer-tw-text-opacity: 1;color:rgba(3,105,161,var(--univer-tw-text-opacity, 1))}.univer-text-sky-900{--univer-tw-text-opacity: 1;color:rgba(12,74,110,var(--univer-tw-text-opacity, 1))}.univer-text-slate-500{--univer-tw-text-opacity: 1;color:rgba(100,116,139,var(--univer-tw-text-opacity, 1))}.univer-text-slate-600{--univer-tw-text-opacity: 1;color:rgba(71,85,105,var(--univer-tw-text-opacity, 1))}.univer-text-slate-700{--univer-tw-text-opacity: 1;color:rgba(51,65,85,var(--univer-tw-text-opacity, 1))}.univer-text-slate-800{--univer-tw-text-opacity: 1;color:rgba(30,41,59,var(--univer-tw-text-opacity, 1))}.univer-text-violet-500{--univer-tw-text-opacity: 1;color:rgba(139,92,246,var(--univer-tw-text-opacity, 1))}.univer-underline-offset-4{text-underline-offset:4px}.univer-opacity-50{opacity:.5}.univer-opacity-80{opacity:.8}.univer-shadow-\\[0_30px_60px_-35px_rgba\\(15\\,23\\,42\\,0\\.55\\)\\]{--univer-tw-shadow: 0 30px 60px -35px #0f172a8c;--univer-tw-shadow-colored: 0 30px 60px -35px var(--univer-tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,0 30px 60px -35px #0f172a8c;box-shadow:var(--univer-tw-ring-offset-shadow, 0 0 #0000),var(--univer-tw-ring-shadow, 0 0 #0000),var(--univer-tw-shadow)}.univer-shadow-inner{--univer-tw-shadow: inset 0 2px 4px 0 #0000000d;--univer-tw-shadow-colored: inset 0 2px 4px 0 var(--univer-tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,inset 0 2px 4px #0000000d;box-shadow:var(--univer-tw-ring-offset-shadow, 0 0 #0000),var(--univer-tw-ring-shadow, 0 0 #0000),var(--univer-tw-shadow)}.univer-ring-2{--univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color);--univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(2px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color);box-shadow:var(--univer-tw-ring-offset-shadow),var(--univer-tw-ring-shadow),0 0 #0000;box-shadow:var(--univer-tw-ring-offset-shadow),var(--univer-tw-ring-shadow),var(--univer-tw-shadow, 0 0 #0000)}.\\!univer-ring-primary-900{--univer-tw-ring-color: var(--univer-primary-900) !important}.univer-ring-primary-50{--univer-tw-ring-color: var(--univer-primary-50)}.univer-ring-white{--univer-tw-ring-color: var(--univer-white)}.univer-ring-offset-2{--univer-tw-ring-offset-width: 2px}.\\!univer-ring-offset-gray-600{--univer-tw-ring-offset-color: var(--univer-gray-600) !important}.univer-ring-offset-white{--univer-tw-ring-offset-color: var(--univer-white)}.univer-drop-shadow-sm{--univer-tw-drop-shadow: drop-shadow(0 1px 1px #0000000d);filter:var(--univer-tw-blur) var(--univer-tw-brightness) var(--univer-tw-contrast) var(--univer-tw-grayscale) var(--univer-tw-hue-rotate) var(--univer-tw-invert) var(--univer-tw-saturate) var(--univer-tw-sepia) var(--univer-tw-drop-shadow)}.univer-transition-\\[color\\,box-shadow\\]{transition-property:color,box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.univer-transition-\\[max-height\\,opacity\\]{transition-property:max-height,opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.univer-transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.univer-transition-shadow{transition-property:box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.univer-transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.univer-duration-150{transition-duration:.15s}.univer-duration-500{transition-duration:.5s}.univer-duration-75{transition-duration:75ms}.univer-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.univer-ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.univer-will-change-transform{will-change:transform}.univer-scrollbar-thin::-webkit-scrollbar-track{background-color:var(--scrollbar-track);border-radius:var(--scrollbar-track-radius)}.univer-scrollbar-thin::-webkit-scrollbar-track:hover{background-color:var(--scrollbar-track-hover, var(--scrollbar-track))}.univer-scrollbar-thin::-webkit-scrollbar-track:active{background-color:var(--scrollbar-track-active, var(--scrollbar-track-hover, var(--scrollbar-track)))}.univer-scrollbar-thin::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--scrollbar-thumb-radius)}.univer-scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover, var(--scrollbar-thumb))}.univer-scrollbar-thin::-webkit-scrollbar-thumb:active{background-color:var(--scrollbar-thumb-active, var(--scrollbar-thumb-hover, var(--scrollbar-thumb)))}.univer-scrollbar-thin::-webkit-scrollbar-corner{background-color:var(--scrollbar-corner);border-radius:var(--scrollbar-corner-radius)}.univer-scrollbar-thin::-webkit-scrollbar-corner:hover{background-color:var(--scrollbar-corner-hover, var(--scrollbar-corner))}.univer-scrollbar-thin::-webkit-scrollbar-corner:active{background-color:var(--scrollbar-corner-active, var(--scrollbar-corner-hover, var(--scrollbar-corner)))}.univer-scrollbar-thin{scrollbar-width:thin;scrollbar-color:initial initial;scrollbar-color:var(--scrollbar-thumb, initial) var(--scrollbar-track, initial)}.univer-scrollbar-thin::-webkit-scrollbar{width:8px;height:8px;display:block}.univer-scrollbar-track-gray-50{--scrollbar-track: var(--univer-gray-50) !important}.univer-scrollbar-thumb-gray-300{--scrollbar-thumb: var(--univer-gray-300) !important}.univer-animate-out{--univer-tw-exit-opacity: initial;--univer-tw-exit-scale: initial;--univer-tw-exit-rotate: initial;--univer-tw-exit-translate-x: initial;--univer-tw-exit-translate-y: initial;animation-name:exit;animation-duration:.15s}.univer-fade-in,.univer-fade-in-0{--univer-tw-enter-opacity: 0}.univer-fade-out{--univer-tw-exit-opacity: 0}.univer-zoom-in-95{--univer-tw-enter-scale: .95}.univer-duration-150{animation-duration:.15s}.univer-duration-200{animation-duration:.2s}.univer-duration-300{animation-duration:.3s}.univer-duration-500{animation-duration:.5s}.univer-duration-75{animation-duration:75ms}.univer-ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.univer-ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.placeholder\\:univer-text-gray-200::placeholder{color:var(--univer-gray-200)}.placeholder\\:univer-text-gray-400::placeholder{color:var(--univer-gray-400)}.before\\:univer-absolute:before{content:var(--univer-tw-content);position:absolute}.before\\:univer-top-1\\/2:before{content:var(--univer-tw-content);top:50%}.before\\:univer-block:before{content:var(--univer-tw-content);display:block}.before\\:univer-h-px:before{content:var(--univer-tw-content);height:1px}.before\\:univer-w-full:before{content:var(--univer-tw-content);width:100%}.before\\:-univer-translate-y-1\\/2:before{content:var(--univer-tw-content);--univer-tw-translate-y: -50%;transform:translate(var(--univer-tw-translate-x),-50%) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));transform:translate(var(--univer-tw-translate-x),var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y))}.before\\:univer-bg-gray-200:before{content:var(--univer-tw-content);background-color:var(--univer-gray-200)}.before\\:univer-content-\\[\\"\\"\\]:before{--univer-tw-content: "";content:"";content:var(--univer-tw-content)}.data-\\[disabled\\]\\:univer-pointer-events-none[data-disabled]{pointer-events:none}.data-\\[orientation\\=horizontal\\]\\:univer-h-px[data-orientation=horizontal]{height:1px}.data-\\[orientation\\=vertical\\]\\:univer-h-full[data-orientation=vertical]{height:100%}.data-\\[orientation\\=horizontal\\]\\:univer-w-full[data-orientation=horizontal]{width:100%}.data-\\[orientation\\=vertical\\]\\:univer-w-px[data-orientation=vertical]{width:1px}.data-\\[state\\=open\\]\\:univer-bg-gray-100[data-state=open]{background-color:var(--univer-gray-100)}.data-\\[disabled\\]\\:univer-opacity-50[data-disabled]{opacity:.5}.data-\\[state\\=open\\]\\:univer-animate-in[data-state=open]{--univer-tw-enter-opacity: initial;--univer-tw-enter-scale: initial;--univer-tw-enter-rotate: initial;--univer-tw-enter-translate-x: initial;--univer-tw-enter-translate-y: initial;animation-name:enter;animation-duration:.15s}.data-\\[state\\=closed\\]\\:univer-animate-out[data-state=closed]{--univer-tw-exit-opacity: initial;--univer-tw-exit-scale: initial;--univer-tw-exit-rotate: initial;--univer-tw-exit-translate-x: initial;--univer-tw-exit-translate-y: initial;animation-name:exit;animation-duration:.15s}.data-\\[state\\=closed\\]\\:univer-fade-out-0[data-state=closed]{--univer-tw-exit-opacity: 0}.data-\\[state\\=open\\]\\:univer-fade-in-0[data-state=open]{--univer-tw-enter-opacity: 0}.data-\\[state\\=closed\\]\\:univer-zoom-out-95[data-state=closed]{--univer-tw-exit-scale: .95}.data-\\[state\\=open\\]\\:univer-zoom-in-95[data-state=open]{--univer-tw-enter-scale: .95}.data-\\[side\\=bottom\\]\\:univer-slide-in-from-top-2[data-side=bottom]{--univer-tw-enter-translate-y: -.5rem}.data-\\[side\\=left\\]\\:univer-slide-in-from-right-2[data-side=left]{--univer-tw-enter-translate-x: .5rem}.data-\\[side\\=right\\]\\:univer-slide-in-from-left-2[data-side=right]{--univer-tw-enter-translate-x: -.5rem}.data-\\[side\\=top\\]\\:univer-slide-in-from-bottom-2[data-side=top]{--univer-tw-enter-translate-y: .5rem}.data-\\[state\\=closed\\]\\:univer-slide-out-to-left-1\\/2[data-state=closed]{--univer-tw-exit-translate-x: -50%}.data-\\[state\\=closed\\]\\:univer-slide-out-to-top-\\[48\\%\\][data-state=closed]{--univer-tw-exit-translate-y: -48%}.data-\\[state\\=open\\]\\:univer-slide-in-from-left-1\\/2[data-state=open]{--univer-tw-enter-translate-x: -50%}.data-\\[state\\=open\\]\\:univer-slide-in-from-top-\\[48\\%\\][data-state=open]{--univer-tw-enter-translate-y: -48%}.hover\\:univer-border-red-400:hover{border-color:var(--univer-red-400)}.hover\\:univer-border-transparent:hover{border-color:#0000}.hover\\:univer-bg-primary-500:hover{background-color:var(--univer-primary-500)}.hover\\:univer-bg-red-400:hover{background-color:var(--univer-red-400)}.hover\\:univer-text-gray-500:hover{color:var(--univer-gray-500)}.hover\\:univer-text-gray-900:hover{color:var(--univer-gray-900)}.hover\\:univer-text-primary-500:hover{color:var(--univer-primary-500)}.hover\\:univer-text-white:hover{color:var(--univer-white)}.hover\\:univer-underline:hover{text-decoration-line:underline}.hover\\:univer-opacity-100:hover{opacity:1}.hover\\:univer-opacity-70:hover{opacity:.7}.hover\\:univer-opacity-80:hover{opacity:.8}.focus\\:univer-border-primary-600:focus{border-color:var(--univer-primary-600)}.focus\\:univer-bg-gray-100:focus{background-color:var(--univer-gray-100)}.focus\\:univer-ring-2:focus{--univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color);--univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(2px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color);box-shadow:var(--univer-tw-ring-offset-shadow),var(--univer-tw-ring-shadow),0 0 #0000;box-shadow:var(--univer-tw-ring-offset-shadow),var(--univer-tw-ring-shadow),var(--univer-tw-shadow, 0 0 #0000)}.focus\\:univer-ring-primary-50:focus{--univer-tw-ring-color: var(--univer-primary-50)}.active\\:univer-border-red-600:active{border-color:var(--univer-red-600)}.active\\:univer-bg-primary-700:active{background-color:var(--univer-primary-700)}.active\\:univer-bg-red-600:active{background-color:var(--univer-red-600)}.active\\:univer-text-primary-700:active{color:var(--univer-primary-700)}.disabled\\:univer-pointer-events-none:disabled{pointer-events:none}.disabled\\:univer-opacity-50:disabled{opacity:.5}@media(min-width:640px){.sm\\:\\!univer-flex-row{flex-direction:row!important}.sm\\:\\!univer-justify-end{justify-content:flex-end!important}.sm\\:\\!univer-space-x-2>:not([hidden])~:not([hidden]){--univer-tw-space-x-reverse: 0 !important;margin-right:0!important;margin-right:calc(.5rem * var(--univer-tw-space-x-reverse))!important;margin-left:calc(.5rem * (1 - var(--univer-tw-space-x-reverse)))!important;margin-left:.5rem!important;margin-left:calc(.5rem * calc(1 - var(--univer-tw-space-x-reverse)))!important}.sm\\:\\!univer-rounded-lg{border-radius:.5rem!important}.sm\\:\\!univer-text-left{text-align:left!important}}@media(min-width:768px){.md\\:univer-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.dark\\:\\!univer-border-gray-500:where(.univer-dark,.univer-dark *){border-color:var(--univer-gray-500)!important}.dark\\:\\!univer-border-primary-700:where(.univer-dark,.univer-dark *){border-color:var(--univer-primary-700)!important}.dark\\:\\!univer-bg-gray-100:where(.univer-dark,.univer-dark *){background-color:var(--univer-gray-100)!important}.dark\\:\\!univer-bg-primary-600:where(.univer-dark,.univer-dark *){background-color:var(--univer-primary-600)!important}.dark\\:\\!univer-text-gray-900:where(.univer-dark,.univer-dark *){color:var(--univer-gray-900)!important}.dark\\:\\!univer-text-primary-500:where(.univer-dark,.univer-dark *){color:var(--univer-primary-500)!important}.dark\\:\\!univer-text-sky-400:where(.univer-dark,.univer-dark *){--univer-tw-text-opacity: 1 !important;color:rgba(56,189,248,var(--univer-tw-text-opacity, 1))!important}.dark\\:\\!univer-ring-primary-600:where(.univer-dark,.univer-dark *){--univer-tw-ring-color: var(--univer-primary-600) !important}.dark\\:\\!univer-ring-primary-900:where(.univer-dark,.univer-dark *){--univer-tw-ring-color: var(--univer-primary-900) !important}.dark\\:\\!univer-ring-offset-gray-600:where(.univer-dark,.univer-dark *){--univer-tw-ring-offset-color: var(--univer-gray-600) !important}.dark\\:\\!univer-scrollbar-track-gray-900:where(.univer-dark,.univer-dark *){--scrollbar-track: var(--univer-gray-900) !important}.dark\\:\\!univer-scrollbar-thumb-gray-700:where(.univer-dark,.univer-dark *){--scrollbar-thumb: var(--univer-gray-700) !important}.dark\\:before\\:\\!univer-bg-gray-600:where(.univer-dark,.univer-dark *):before{content:var(--univer-tw-content);background-color:var(--univer-gray-600)!important}.dark\\:data-\\[state\\=open\\]\\:\\!univer-bg-gray-600[data-state=open]:where(.univer-dark,.univer-dark *){background-color:var(--univer-gray-600)!important}.dark\\:hover\\:\\!univer-text-white:hover:where(.univer-dark,.univer-dark *){color:var(--univer-white)!important}.dark\\:focus\\:\\!univer-border-primary-500:focus:where(.univer-dark,.univer-dark *){border-color:var(--univer-primary-500)!important}.dark\\:focus\\:\\!univer-bg-gray-600:focus:where(.univer-dark,.univer-dark *){background-color:var(--univer-gray-600)!important}.dark\\:focus\\:\\!univer-ring-primary-900:focus:where(.univer-dark,.univer-dark *){--univer-tw-ring-color: var(--univer-primary-900) !important}.dark\\:focus-visible\\:\\!univer-border-gray-600:focus-visible:where(.univer-dark,.univer-dark *){border-color:var(--univer-gray-600)!important}.dark\\:active\\:\\!univer-bg-gray-700:active:where(.univer-dark,.univer-dark *){background-color:var(--univer-gray-700)!important}.\\[\\&\\:\\:-webkit-calendar-picker-indicator\\]\\:univer-hidden::-webkit-calendar-picker-indicator{display:none}.\\[\\&\\:\\:-webkit-calendar-picker-indicator\\]\\:univer-appearance-none::-webkit-calendar-picker-indicator{-webkit-appearance:none;appearance:none}.\\[\\&\\>input\\]\\:univer-w-11>input{width:2.75rem}.\\[\\&\\>input\\]\\:univer-border-gray-200>input{border-color:var(--univer-gray-200)}.\\[\\&\\>input\\]\\:focus\\:univer-border-primary-500:focus>input{border-color:var(--univer-primary-500)}.dark\\:\\[\\&\\>input\\]\\:\\!univer-border-gray-600>input:where(.univer-dark,.univer-dark *){border-color:var(--univer-gray-600)!important}.dark\\:\\[\\&\\>input\\]\\:\\!univer-text-white>input:where(.univer-dark,.univer-dark *){color:var(--univer-white)!important}.\\[\\&\\>svg\\]\\:univer-block>svg{display:block}.\\[\\&\\>svg\\]\\:univer-size-4>svg{width:1rem;height:1rem}.\\[\\&\\>ul\\:not\\(\\:last-child\\)\\]\\:univer-border-0>ul:not(:last-child){border-width:0}.\\[\\&\\>ul\\:not\\(\\:last-child\\)\\]\\:univer-border-r>ul:not(:last-child){border-right-width:1px}.\\[\\&\\>ul\\:not\\(\\:last-child\\)\\]\\:univer-border-solid>ul:not(:last-child){border-style:solid}.\\[\\&\\>ul\\:not\\(\\:last-child\\)\\]\\:univer-border-r-gray-200>ul:not(:last-child){border-right-color:var(--univer-gray-200)}.\\[\\&_\\[data-description\\]\\]\\:univer-text-sm [data-description]{font-size:.875rem;line-height:1.25rem}.\\[\\&_\\[data-description\\]\\]\\:univer-text-gray-200 [data-description]{color:var(--univer-gray-200)}.\\[\\&_\\[data-description\\]\\]\\:univer-text-gray-600 [data-description]{color:var(--univer-gray-600)}.\\[\\&_\\[data-icon\\]\\>svg\\]\\:univer-relative [data-icon]>svg{position:relative}.\\[\\&_\\[data-icon\\]\\>svg\\]\\:univer-top-1 [data-icon]>svg{top:.25rem}.\\[\\&_\\[data-icon\\]\\]\\:univer-self-baseline [data-icon]{align-self:baseline}.\\[\\&_\\[data-icon\\]\\]\\:univer-text-amber-500 [data-icon]{--univer-tw-text-opacity: 1;color:rgba(245,158,11,var(--univer-tw-text-opacity, 1))}.\\[\\&_\\[data-icon\\]\\]\\:univer-text-green-500 [data-icon]{color:var(--univer-green-500)}.\\[\\&_\\[data-icon\\]\\]\\:univer-text-primary-600 [data-icon]{color:var(--univer-primary-600)}.\\[\\&_\\[data-icon\\]\\]\\:univer-text-red-500 [data-icon]{color:var(--univer-red-500)}.\\[\\&_\\[data-icon\\]\\]\\:univer-text-sky-500 [data-icon]{--univer-tw-text-opacity: 1;color:rgba(14,165,233,var(--univer-tw-text-opacity, 1))}.\\[\\&_\\[data-icon\\]\\]\\:univer-text-violet-500 [data-icon]{--univer-tw-text-opacity: 1;color:rgba(139,92,246,var(--univer-tw-text-opacity, 1))}.\\[\\&_\\[data-icon\\]\\]\\:univer-text-yellow-500 [data-icon]{color:var(--univer-yellow-500)}.\\[\\&_\\[data-sonner-toast\\]\\]\\:univer-rounded-2xl [data-sonner-toast]{border-radius:1rem}.\\[\\&_\\[data-sonner-toast\\]\\]\\:univer-border [data-sonner-toast]{border-width:1px}.\\[\\&_\\[data-sonner-toast\\]\\]\\:univer-border-solid [data-sonner-toast]{border-style:solid}.\\[\\&_\\[data-sonner-toast\\]\\]\\:univer-border-gray-200 [data-sonner-toast]{border-color:var(--univer-gray-200)}.\\[\\&_\\[data-sonner-toast\\]\\]\\:univer-shadow-\\[0_16px_40px_-20px_rgba\\(15\\,23\\,42\\,0\\.55\\)\\] [data-sonner-toast]{--univer-tw-shadow: 0 16px 40px -20px #0f172a8c;--univer-tw-shadow-colored: 0 16px 40px -20px var(--univer-tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,0 16px 40px -20px #0f172a8c;box-shadow:var(--univer-tw-ring-offset-shadow, 0 0 #0000),var(--univer-tw-ring-shadow, 0 0 #0000),var(--univer-tw-shadow)}.\\[\\&_\\[data-sonner-toast\\]\\]\\:univer-shadow-md [data-sonner-toast]{--univer-tw-shadow: 0px 1px 6px -2px #1e284d14, 0px 2px 6px -1px #1e284d1a;--univer-tw-shadow-colored: 0px 1px 6px -2px var(--univer-tw-shadow-color), 0px 2px 6px -1px var(--univer-tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,0 1px 6px -2px #1e284d14,0 2px 6px -1px #1e284d1a;box-shadow:var(--univer-tw-ring-offset-shadow, 0 0 #0000),var(--univer-tw-ring-shadow, 0 0 #0000),var(--univer-tw-shadow)}.\\[\\&_\\[data-sonner-toast\\]\\]\\:univer-backdrop-blur-sm [data-sonner-toast]{--univer-tw-backdrop-blur: blur(4px);backdrop-filter:var(--univer-tw-backdrop-blur) var(--univer-tw-backdrop-brightness) var(--univer-tw-backdrop-contrast) var(--univer-tw-backdrop-grayscale) var(--univer-tw-backdrop-hue-rotate) var(--univer-tw-backdrop-invert) var(--univer-tw-backdrop-opacity) var(--univer-tw-backdrop-saturate) var(--univer-tw-backdrop-sepia)}.dark\\:\\[\\&_\\[data-sonner-toast\\]\\]\\:\\!univer-border-gray-600 [data-sonner-toast]:where(.univer-dark,.univer-dark *){border-color:var(--univer-gray-600)!important}.\\[\\&_\\[data-title\\]\\]\\:univer-text-sm [data-title]{font-size:.875rem;line-height:1.25rem}.\\[\\&_\\[data-title\\]\\]\\:univer-text-gray-900 [data-title]{color:var(--univer-gray-900)}.\\[\\&_\\[data-u-comp\\=form-layout\\]\\]\\:univer-max-w-\\[calc\\(50\\%-8px\\)\\] [data-u-comp=form-layout]{max-width:calc(50% - 8px)}.\\[\\&_\\[data-u-comp\\=form-layout\\]\\]\\:univer-shrink [data-u-comp=form-layout]{flex-shrink:1}.\\[\\&_\\[data-u-comp\\=form-layout\\]\\]\\:univer-grow [data-u-comp=form-layout]{flex-grow:1}.\\[\\&_\\[data-u-comp\\=input\\]\\]\\:univer-w-full [data-u-comp=input]{width:100%}.\\[\\&_\\[data-u-comp\\=input\\]\\]\\:univer-border-red-500 [data-u-comp=input]{border-color:var(--univer-red-500)}.\\[\\&_\\[data-u-comp\\=pager-left-arrow\\]\\:hover\\]\\:\\!univer-bg-gray-600 [data-u-comp=pager-left-arrow]:hover,.\\[\\&_\\[data-u-comp\\=pager-right-arrow\\]\\:hover\\]\\:\\!univer-bg-gray-600 [data-u-comp=pager-right-arrow]:hover{background-color:var(--univer-gray-600)!important}.\\[\\&_\\[data-u-comp\\=select\\]\\]\\:univer-w-full [data-u-comp=select]{width:100%}.\\[\\&_\\[data-u-comp\\=select\\]\\]\\:univer-border-red-500 [data-u-comp=select]{border-color:var(--univer-red-500)}.\\[\\&_input\\]\\:univer-box-border input{box-sizing:border-box}.\\[\\&_input\\]\\:univer-flex input{display:flex}.\\[\\&_input\\]\\:univer-h-7 input{height:1.75rem}.\\[\\&_input\\]\\:univer-items-center input{align-items:center}.\\[\\&_input\\]\\:univer-rounded input{border-radius:.25rem}.\\[\\&_input\\]\\:univer-border input{border-width:1px}.\\[\\&_input\\]\\:univer-border-solid input{border-style:solid}.\\[\\&_input\\]\\:univer-border-gray-200 input{border-color:var(--univer-gray-200)}.\\[\\&_input\\]\\:univer-border-gray-600 input{border-color:var(--univer-gray-600)}.\\[\\&_input\\]\\:univer-bg-transparent input{background-color:#0000}.\\[\\&_input\\]\\:univer-px-1\\.5 input{padding-left:.375rem;padding-right:.375rem}.\\[\\&_input\\]\\:univer-text-gray-700 input{color:var(--univer-gray-700)}.\\[\\&_input\\]\\:univer-text-white input{color:var(--univer-white)}.\\[\\&_input\\]\\:univer-outline-none input{outline-offset:2px;outline:2px solid #0000}.\\[\\&_svg\\]\\:univer-pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:univer-size-4 svg{width:1rem;height:1rem}.\\[\\&_svg\\]\\:univer-shrink-0 svg{flex-shrink:0}.univer-popup{z-index:1070;--univer-tw-shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--univer-tw-shadow-colored: 0 1px 3px 0 var(--univer-tw-shadow-color), 0 1px 2px -1px var(--univer-tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,0 1px 3px #0000001a,0 1px 2px -1px #0000001a;box-shadow:var(--univer-tw-ring-offset-shadow, 0 0 #0000),var(--univer-tw-ring-shadow, 0 0 #0000),var(--univer-tw-shadow);border-radius:6px;position:fixed;top:-9999px;left:-9999px;overflow:hidden}.univer-popup-enter{transform-origin:0 0;opacity:0;animation-duration:.15s;animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-play-state:paused;animation-fill-mode:both}.univer-popup-enter-active{animation-name:popup-slide-up-in;animation-play-state:running}.univer-popup-exit{transform-origin:0 0;opacity:1;animation-name:popup-slide-up-out;animation-duration:.15s;animation-timing-function:cubic-bezier(.6,.04,.98,.34);animation-play-state:running;animation-fill-mode:both}.univer-popup-exit-active{display:none}@keyframes popup-slide-up-in{0%{transform-origin:0 0;opacity:0;transform:scaleY(0)}to{transform-origin:0 0;opacity:1;transform:scaleY(1)}}@keyframes popup-slide-up-out{0%{transform-origin:0 0;opacity:1;transform:scaleY(1)}to{transform-origin:0 0;opacity:0;transform:scaleY(0)}}.univer-popup-mask{z-index:1060;position:fixed;top:0;bottom:0;left:0;right:0}.univer-pointer-events-auto{pointer-events:auto}.univer-invisible{visibility:hidden}.univer-fixed{position:fixed}.univer-sticky{position:sticky}.-univer-left-\\[99999\\]{left:-99999px}.-univer-top-\\[99999\\]{top:-99999px}.univer-left-1\\/2{left:50%}.univer-left-\\[-9999px\\]{left:-9999px}.univer-right-2{right:.5rem}.univer-top-\\[-9999px\\]{top:-9999px}.univer-top-\\[calc\\(50\\%-6px\\)\\]{top:calc(50% - 6px)}.univer-z-\\[-1\\]{z-index:-1}.univer-z-\\[1020\\]{z-index:1020}.univer-z-\\[1080\\]{z-index:1080}.univer-z-\\[1\\]{z-index:1}.univer-mx-2{margin-left:.5rem;margin-right:.5rem}.univer-mx-auto{margin-left:auto;margin-right:auto}.univer-mt-6{margin-top:1.5rem}.univer-line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.univer-size-0\\.5{width:.125rem;height:.125rem}.univer-size-12{width:3rem;height:3rem}.univer-size-3\\.5{width:.875rem;height:.875rem}.univer-size-7{width:1.75rem;height:1.75rem}.univer-size-9{width:2.25rem;height:2.25rem}.univer-h-0{height:0}.univer-h-1\\.5{height:.375rem}.univer-max-h-\\[80vh\\]{max-height:80vh}.univer-max-h-\\[min\\(72vh\\,560px\\)\\]{max-height:min(72vh,560px)}.univer-min-h-0{min-height:0}.univer-min-h-8{min-height:2rem}.univer-min-h-\\[560px\\]{min-height:560px}.univer-min-h-\\[56px\\]{min-height:56px}.univer-min-h-full{min-height:100%}.univer-w-0{width:0}.univer-w-10{width:2.5rem}.univer-w-40{width:10rem}.univer-w-7{width:1.75rem}.univer-w-8{width:2rem}.univer-w-96{width:24rem}.univer-w-max{width:max-content}.univer-w-screen{width:100vw}.univer-min-w-52{min-width:13rem}.univer-min-w-6{min-width:1.5rem}.univer-min-w-min{min-width:min-content}.univer-max-w-3xl{max-width:48rem}.univer-max-w-5xl{max-width:64rem}.univer-max-w-96{max-width:24rem}.univer-max-w-\\[--radix-popper-available-width\\]{max-width:var(--radix-popper-available-width)}.univer-max-w-\\[32\\%\\]{max-width:32%}.univer-max-w-\\[560px\\]{max-width:560px}.univer-max-w-\\[calc\\(100vw-16px\\)\\]{max-width:calc(100vw - 16px)}.univer-max-w-full{max-width:100%}.univer-origin-center{transform-origin:center}.-univer-translate-x-1\\/2{--univer-tw-translate-x: -50%;transform:translate(-50%,var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));transform:translate(var(--univer-tw-translate-x),var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y))}.univer-translate-x-0{--univer-tw-translate-x: 0px;transform:translateY(var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));transform:translate(var(--univer-tw-translate-x),var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y))}.univer-translate-x-full{--univer-tw-translate-x: 100%;transform:translate(100%,var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));transform:translate(var(--univer-tw-translate-x),var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y))}.univer-grid-cols-\\[1fr\\]{grid-template-columns:1fr}.univer-grid-cols-\\[22px_minmax\\(0\\,1fr\\)_22px\\]{grid-template-columns:22px minmax(0,1fr) 22px}.univer-grid-cols-\\[28px_minmax\\(0\\,1fr\\)_auto\\]{grid-template-columns:28px minmax(0,1fr) auto}.univer-grid-cols-\\[32px_minmax\\(0\\,1fr\\)_32px\\]{grid-template-columns:32px minmax(0,1fr) 32px}.univer-grid-cols-\\[auto\\,1fr\\]{grid-template-columns:auto 1fr}.univer-grid-cols-\\[auto_1fr_auto\\]{grid-template-columns:auto 1fr auto}.univer-grid-cols-none{grid-template-columns:none}.univer-grid-rows-\\[100\\%\\]{grid-template-rows:100%}.univer-grid-rows-\\[auto_1fr\\]{grid-template-rows:auto 1fr}.univer-grid-rows-\\[auto_1fr_auto\\]{grid-template-rows:auto 1fr auto}.univer-flex-wrap{flex-wrap:wrap}.univer-items-end{align-items:flex-end}.univer-gap-0\\.5{gap:.125rem}.univer-gap-3{gap:.75rem}.univer-overscroll-contain{overscroll-behavior:contain}.univer-scroll-smooth{scroll-behavior:smooth}.\\!univer-rounded-full{border-radius:9999px!important}.\\!univer-rounded-xl{border-radius:.75rem!important}.univer-rounded-2xl{border-radius:1rem}.univer-rounded-3xl{border-radius:1.5rem}.univer-rounded-xl{border-radius:.75rem}.univer-rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.univer-rounded-t-\\[28px\\]{border-top-left-radius:28px;border-top-right-radius:28px}.univer-border-0{border-width:0}.\\!univer-bg-gray-200{background-color:var(--univer-gray-200)!important}.\\!univer-bg-gray-500{background-color:var(--univer-gray-500)!important}.univer-bg-\\[rgba\\(15\\,23\\,42\\,0\\.32\\)\\]{background-color:#0f172a52}.univer-bg-gray-300{background-color:var(--univer-gray-300)}.univer-bg-gray-400{background-color:var(--univer-gray-400)}.univer-bg-gray-50{background-color:var(--univer-gray-50)}.univer-bg-gray-700{background-color:var(--univer-gray-700)}.univer-bg-primary-50{background-color:var(--univer-primary-50)}.univer-bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--univer-tw-gradient-stops))}.univer-from-slate-950{--univer-tw-gradient-from: #020617 var(--univer-tw-gradient-from-position);--univer-tw-gradient-to: #02061700 var(--univer-tw-gradient-to-position);--univer-tw-gradient-stops: var(--univer-tw-gradient-from), var(--univer-tw-gradient-to)}.univer-via-blue-950{--univer-tw-gradient-to: #17255400 var(--univer-tw-gradient-to-position);--univer-tw-gradient-stops: var(--univer-tw-gradient-from), #172554 var(--univer-tw-gradient-via-position), var(--univer-tw-gradient-to)}.univer-to-cyan-900{--univer-tw-gradient-to: #164e63 var(--univer-tw-gradient-to-position)}.univer-p-8{padding:2rem}.univer-px-0{padding-left:0;padding-right:0}.univer-px-0\\.5{padding-left:.125rem;padding-right:.125rem}.univer-pb-2{padding-bottom:.5rem}.univer-pl-2{padding-left:.5rem}.univer-pl-4{padding-left:1rem}.univer-pr-1\\.5{padding-right:.375rem}.univer-pt-3{padding-top:.75rem}.univer-text-left{text-align:left}.univer-text-right{text-align:right}.univer-font-sans{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.univer-text-2xl{font-size:1.5rem;line-height:2rem}.univer-uppercase{text-transform:uppercase}.univer-leading-4{line-height:1rem}.univer-leading-none{line-height:1}.univer-tracking-\\[0\\.08em\\]{letter-spacing:.08em}.univer-tracking-tight{letter-spacing:-.025em}.\\!univer-text-gray-600{color:var(--univer-gray-600)!important}.univer-text-current{color:currentColor}.univer-text-slate-200{--univer-tw-text-opacity: 1;color:rgba(226,232,240,var(--univer-tw-text-opacity, 1))}.univer-underline{text-decoration-line:underline}.univer-opacity-0{opacity:0}.univer-opacity-30{opacity:.3}.univer-opacity-40{opacity:.4}.univer-opacity-60{opacity:.6}.univer-shadow-\\[0_-16px_48px_rgba\\(15\\,23\\,42\\,0\\.18\\)\\]{--univer-tw-shadow: 0 -16px 48px #0f172a2e;--univer-tw-shadow-colored: 0 -16px 48px var(--univer-tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,0 -16px 48px #0f172a2e;box-shadow:var(--univer-tw-ring-offset-shadow, 0 0 #0000),var(--univer-tw-ring-shadow, 0 0 #0000),var(--univer-tw-shadow)}.univer-ring-0{--univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color);--univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(0px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color);box-shadow:var(--univer-tw-ring-offset-shadow),var(--univer-tw-ring-shadow),0 0 #0000;box-shadow:var(--univer-tw-ring-offset-shadow),var(--univer-tw-ring-shadow),var(--univer-tw-shadow, 0 0 #0000)}.univer-ring-primary-600{--univer-tw-ring-color: var(--univer-primary-600)}.univer-backdrop-blur-\\[2px\\]{--univer-tw-backdrop-blur: blur(2px);backdrop-filter:var(--univer-tw-backdrop-blur) var(--univer-tw-backdrop-brightness) var(--univer-tw-backdrop-contrast) var(--univer-tw-backdrop-grayscale) var(--univer-tw-backdrop-hue-rotate) var(--univer-tw-backdrop-invert) var(--univer-tw-backdrop-opacity) var(--univer-tw-backdrop-saturate) var(--univer-tw-backdrop-sepia)}.univer-backdrop-blur-xl{--univer-tw-backdrop-blur: blur(24px);backdrop-filter:var(--univer-tw-backdrop-blur) var(--univer-tw-backdrop-brightness) var(--univer-tw-backdrop-contrast) var(--univer-tw-backdrop-grayscale) var(--univer-tw-backdrop-hue-rotate) var(--univer-tw-backdrop-invert) var(--univer-tw-backdrop-opacity) var(--univer-tw-backdrop-saturate) var(--univer-tw-backdrop-sepia)}.univer-transition-\\[width\\]{transition-property:width;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:1;opacity:var(--univer-tw-enter-opacity, 1);transform:translateZ(0) scaleZ(1) rotate(0);transform:translate3d(var(--univer-tw-enter-translate-x, 0),var(--univer-tw-enter-translate-y, 0),0) scale3d(var(--univer-tw-enter-scale, 1),var(--univer-tw-enter-scale, 1),var(--univer-tw-enter-scale, 1)) rotate(var(--univer-tw-enter-rotate, 0))}}@keyframes exit{to{opacity:1;opacity:var(--univer-tw-exit-opacity, 1);transform:translateZ(0) scaleZ(1) rotate(0);transform:translate3d(var(--univer-tw-exit-translate-x, 0),var(--univer-tw-exit-translate-y, 0),0) scale3d(var(--univer-tw-exit-scale, 1),var(--univer-tw-exit-scale, 1),var(--univer-tw-exit-scale, 1)) rotate(var(--univer-tw-exit-rotate, 0))}}.univer-animate-in{--univer-tw-enter-opacity: initial;--univer-tw-enter-scale: initial;--univer-tw-enter-rotate: initial;--univer-tw-enter-translate-x: initial;--univer-tw-enter-translate-y: initial;animation-name:enter;animation-duration:.15s}.univer-fade-in{--univer-tw-enter-opacity: 0}.univer-fade-in-70{--univer-tw-enter-opacity: .7}.last\\:univer-border-b-0:last-child{border-bottom-width:0}.hover\\:univer-opacity-50:hover{opacity:.5}.focus\\:univer-bg-white:focus{background-color:var(--univer-white)}.focus-visible\\:univer-ring-primary-600:focus-visible{--univer-tw-ring-color: var(--univer-primary-600)}.focus-visible\\:univer-ring-offset-0:focus-visible{--univer-tw-ring-offset-width: 0px}.active\\:univer-bg-gray-200:active{background-color:var(--univer-gray-200)}.enabled\\:hover\\:univer-bg-gray-50:hover:enabled{background-color:var(--univer-gray-50)}.enabled\\:active\\:univer-bg-gray-100:active:enabled{background-color:var(--univer-gray-100)}.disabled\\:univer-cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:univer-text-gray-300:disabled{color:var(--univer-gray-300)}.disabled\\:univer-opacity-40:disabled{opacity:.4}.disabled\\:hover\\:univer-bg-transparent:hover:disabled{background-color:#0000}@media(min-width:640px){.sm\\:\\!univer-block{display:block!important}}.rtl\\:univer-pl-1\\.5:where([dir=rtl],[dir=rtl] *){padding-left:.375rem}.rtl\\:univer-pr-0:where([dir=rtl],[dir=rtl] *){padding-right:0}.rtl\\:univer-pr-2:where([dir=rtl],[dir=rtl] *){padding-right:.5rem}.dark\\:\\!univer-border-gray-600:where(.univer-dark,.univer-dark *){border-color:var(--univer-gray-600)!important}.dark\\:\\!univer-bg-gray-200:where(.univer-dark,.univer-dark *){background-color:var(--univer-gray-200)!important}.dark\\:\\!univer-bg-gray-500:where(.univer-dark,.univer-dark *){background-color:var(--univer-gray-500)!important}.dark\\:\\!univer-bg-primary-400:where(.univer-dark,.univer-dark *){background-color:var(--univer-primary-400)!important}.dark\\:\\!univer-bg-primary-900:where(.univer-dark,.univer-dark *){background-color:var(--univer-primary-900)!important}.dark\\:\\!univer-text-gray-100:where(.univer-dark,.univer-dark *){color:var(--univer-gray-100)!important}.dark\\:\\!univer-text-gray-500:where(.univer-dark,.univer-dark *){color:var(--univer-gray-500)!important}.dark\\:\\!univer-text-gray-600:where(.univer-dark,.univer-dark *){color:var(--univer-gray-600)!important}.dark\\:\\!univer-text-gray-800:where(.univer-dark,.univer-dark *){color:var(--univer-gray-800)!important}.dark\\:\\!univer-text-primary-100:where(.univer-dark,.univer-dark *){color:var(--univer-primary-100)!important}.dark\\:\\!univer-text-primary-300:where(.univer-dark,.univer-dark *){color:var(--univer-primary-300)!important}.dark\\:\\!univer-text-primary-400:where(.univer-dark,.univer-dark *){color:var(--univer-primary-400)!important}.dark\\:hover\\:\\!univer-bg-gray-900:hover:where(.univer-dark,.univer-dark *){background-color:var(--univer-gray-900)!important}.dark\\:hover\\:\\!univer-bg-transparent:hover:where(.univer-dark,.univer-dark *){background-color:#0000!important}.dark\\:active\\:\\!univer-bg-gray-600:active:where(.univer-dark,.univer-dark *){background-color:var(--univer-gray-600)!important}.dark\\:disabled\\:\\!univer-text-gray-600:disabled:where(.univer-dark,.univer-dark *){color:var(--univer-gray-600)!important}.\\[\\&\\:\\:-webkit-scrollbar\\]\\:univer-hidden::-webkit-scrollbar{display:none}.\\[\\&\\>\\*\\]\\:univer-m-0>*{margin:0}.\\[\\&\\>\\*\\]\\:univer-inline-flex>*{display:inline-flex}.\\[\\&\\>\\*\\]\\:univer-h-6>*{height:1.5rem}.\\[\\&\\>\\*\\]\\:univer-min-h-7>*{min-height:1.75rem}.\\[\\&\\>\\*\\]\\:univer-min-w-7>*{min-width:1.75rem}.\\[\\&\\>\\*\\]\\:univer-appearance-none>*{-webkit-appearance:none;appearance:none}.\\[\\&\\>\\*\\]\\:univer-items-center>*{align-items:center}.\\[\\&\\>\\*\\]\\:univer-justify-center>*{justify-content:center}.\\[\\&\\>\\*\\]\\:univer-rounded>*{border-radius:.25rem}.\\[\\&\\>\\*\\]\\:univer-rounded-md>*{border-radius:.375rem}.\\[\\&\\>\\*\\]\\:univer-border-0>*{border-width:0}.\\[\\&\\>\\*\\]\\:univer-px-1>*{padding-left:.25rem;padding-right:.25rem}.\\[\\&\\>\\*\\]\\:univer-px-1\\.5>*{padding-left:.375rem;padding-right:.375rem}.\\[\\&\\>\\*\\]\\:univer-leading-none>*{line-height:1}.\\[\\&\\>\\*\\]\\:univer-outline-none>*{outline-offset:2px;outline:2px solid #0000}.\\[\\&\\>\\*\\]\\:univer-transition-colors>*{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\\:\\[\\&\\>\\*\\]\\:univer-bg-gray-100>:hover{background-color:var(--univer-gray-100)}.\\[\\&\\>span\\]\\:univer-truncate>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\\[\\&\\>span\\]\\:univer-text-sm>span{font-size:.875rem;line-height:1.25rem}.\\[\\&\\>span\\]\\:univer-font-medium>span{font-weight:500}.\\[\\&\\>svg\\]\\:univer-shrink-0>svg{flex-shrink:0}.\\[\\&\\>svg\\]\\:univer-text-lg>svg{font-size:1.125rem;line-height:1.75rem}.\\[\\&\\>svg\\]\\:univer-text-gray-700>svg{color:var(--univer-gray-700)}.\\[\\&_\\*\\]\\:univer-box-border *{box-sizing:border-box}.\\[\\&_\\.univer-custom-label\\]\\:univer-text-sm .univer-custom-label{font-size:.875rem;line-height:1.25rem}.\\[\\&_\\.univer-custom-label\\]\\:univer-leading-none .univer-custom-label{line-height:1}.\\[\\&_\\.univer-toolbar-button-selector-main\\]\\:\\!univer-h-8 .univer-toolbar-button-selector-main{height:2rem!important}.\\[\\&_\\.univer-toolbar-button-selector-main\\]\\:\\!univer-rounded-none .univer-toolbar-button-selector-main{border-radius:0!important}.\\[\\&_\\.univer-toolbar-button-selector-main\\]\\:\\!univer-rounded-l-md .univer-toolbar-button-selector-main{border-top-left-radius:.375rem!important;border-bottom-left-radius:.375rem!important}.\\[\\&_\\.univer-toolbar-button-selector-main\\]\\:\\!univer-px-1\\.5 .univer-toolbar-button-selector-main{padding-left:.375rem!important;padding-right:.375rem!important}.\\[\\&_\\.univer-toolbar-button-selector-root\\]\\:\\!univer-h-8 .univer-toolbar-button-selector-root{height:2rem!important}.\\[\\&_\\.univer-toolbar-button-selector-root\\]\\:univer-overflow-hidden .univer-toolbar-button-selector-root{overflow:hidden}.\\[\\&_\\.univer-toolbar-button-selector-root\\]\\:\\!univer-rounded-md .univer-toolbar-button-selector-root{border-radius:.375rem!important}.\\[\\&_\\.univer-toolbar-button-selector-root\\]\\:\\!univer-pr-0 .univer-toolbar-button-selector-root{padding-right:0!important}.\\[\\&_\\.univer-toolbar-button-selector-trigger\\]\\:\\!univer-static .univer-toolbar-button-selector-trigger{position:static!important}.\\[\\&_\\.univer-toolbar-button-selector-trigger\\]\\:\\!univer-h-8 .univer-toolbar-button-selector-trigger{height:2rem!important}.\\[\\&_\\.univer-toolbar-button-selector-trigger\\]\\:\\!univer-w-6 .univer-toolbar-button-selector-trigger{width:1.5rem!important}.\\[\\&_\\.univer-toolbar-button-selector-trigger\\]\\:\\!univer-rounded-none .univer-toolbar-button-selector-trigger{border-radius:0!important}.\\[\\&_\\.univer-toolbar-button-selector-trigger\\]\\:\\!univer-rounded-r-md .univer-toolbar-button-selector-trigger{border-top-right-radius:.375rem!important;border-bottom-right-radius:.375rem!important}.\\[\\&_\\.univer-toolbar-selector-root\\]\\:\\!univer-h-8 .univer-toolbar-selector-root{height:2rem!important}.\\[\\&_\\.univer-toolbar-selector-root\\]\\:\\!univer-gap-1 .univer-toolbar-selector-root{gap:.25rem!important}.\\[\\&_\\.univer-toolbar-selector-root\\]\\:\\!univer-rounded-md .univer-toolbar-selector-root{border-radius:.375rem!important}.\\[\\&_\\.univer-toolbar-selector-root\\]\\:\\!univer-px-1\\.5 .univer-toolbar-selector-root{padding-left:.375rem!important;padding-right:.375rem!important}.\\[\\&_\\.univer-toolbar-selector-trigger\\]\\:\\!univer-pl-0\\.5 .univer-toolbar-selector-trigger{padding-left:.125rem!important}.\\[\\&_\\.univer-tooltip\\]\\:univer-inline-flex .univer-tooltip{display:inline-flex}.\\[\\&_\\.univer-tooltip\\]\\:univer-h-full .univer-tooltip{height:100%}.\\[\\&_\\.univer-tooltip\\]\\:univer-items-center .univer-tooltip{align-items:center}.\\[\\&_\\[data-u-command\\]\\]\\:\\!univer-h-8 [data-u-command]{height:2rem!important}.\\[\\&_\\[data-u-command\\]\\]\\:\\!univer-min-h-8 [data-u-command]{min-height:2rem!important}.\\[\\&_\\[data-u-command\\]\\]\\:\\!univer-rounded-md [data-u-command]{border-radius:.375rem!important}.\\[\\&_\\[data-u-command\\]\\]\\:\\!univer-px-1\\.5 [data-u-command]{padding-left:.375rem!important;padding-right:.375rem!important}.\\[\\&_button\\]\\:\\!univer-m-0 button{margin:0!important}.\\[\\&_button\\]\\:\\!univer-h-8 button{height:2rem!important}.\\[\\&_button\\]\\:\\!univer-min-w-8 button{min-width:2rem!important}.\\[\\&_button\\]\\:\\!univer-appearance-none button{-webkit-appearance:none!important;appearance:none!important}.\\[\\&_button\\]\\:\\!univer-rounded-md button{border-radius:.375rem!important}.\\[\\&_button\\]\\:\\!univer-border-0 button{border-width:0!important}.\\[\\&_button\\]\\:\\!univer-bg-transparent button{background-color:#0000!important}.\\[\\&_button\\]\\:\\!univer-p-0 button{padding:0!important}.\\[\\&_button\\]\\:\\!univer-px-1\\.5 button{padding-left:.375rem!important;padding-right:.375rem!important}.\\[\\&_button\\]\\:\\!univer-leading-none button{line-height:1!important}.\\[\\&_button\\]\\:\\!univer-outline-none button{outline-offset:2px!important;outline:2px solid #0000!important}.\\[\\&_input\\:focus\\]\\:\\!univer-ring-0 input:focus{--univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color) !important;--univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(0px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color) !important;box-shadow:var(--univer-tw-ring-offset-shadow),var(--univer-tw-ring-shadow),0 0 #0000!important;box-shadow:var(--univer-tw-ring-offset-shadow),var(--univer-tw-ring-shadow),var(--univer-tw-shadow, 0 0 #0000)!important}.\\[\\&_input\\]\\:\\!univer-m-0 input{margin:0!important}.\\[\\&_input\\]\\:univer-h-6 input{height:1.5rem}.\\[\\&_input\\]\\:univer-w-7 input{width:1.75rem}.\\[\\&_input\\]\\:\\!univer-appearance-none input{-webkit-appearance:none!important;appearance:none!important}.\\[\\&_input\\]\\:\\!univer-border-0 input{border-width:0!important}.\\[\\&_input\\]\\:univer-border-none input{border-style:none}.\\[\\&_input\\]\\:\\!univer-bg-transparent input{background-color:#0000!important}.\\[\\&_input\\]\\:\\!univer-p-0 input{padding:0!important}.\\[\\&_input\\]\\:univer-p-0 input{padding:0}.\\[\\&_input\\]\\:univer-text-sm input{font-size:.875rem;line-height:1.25rem}.\\[\\&_input\\]\\:\\!univer-leading-none input{line-height:1!important}.\\[\\&_input\\]\\:\\!univer-outline-none input{outline-offset:2px!important;outline:2px solid #0000!important}.univer-bottom-0{bottom:0}.univer-left-5{left:1.25rem}.univer-left-\\[5px\\]{left:5px}.univer-top-4{top:1rem}.univer-top-\\[5px\\]{top:5px}.univer-mb-1{margin-bottom:.25rem}.univer-mr-1{margin-right:.25rem}.univer-mt-1\\.5{margin-top:.375rem}.univer-mt-12{margin-top:3rem}.univer-size-3{width:.75rem;height:.75rem}.univer-size-8{width:2rem;height:2rem}.univer-h-\\[24px\\]{height:24px}.univer-w-28{width:7rem}.univer-w-4\\/5{width:80%}.univer-w-\\[0px\\]{width:0}.univer-w-\\[162px\\]{width:162px}.univer-w-\\[212px\\]{width:212px}.univer-w-\\[72px\\]{width:72px}.univer-min-w-\\[180px\\]{min-width:180px}.univer-flex-shrink-0{flex-shrink:0}.univer-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.univer-gap-2\\.5{gap:.625rem}.univer-overflow-x-hidden{overflow-x:hidden}.univer-rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.univer-border-primary-500{border-color:var(--univer-primary-500)}.univer-bg-none{background-image:none}.univer-px-2\\.5{padding-left:.625rem;padding-right:.625rem}.univer-px-3{padding-left:.75rem;padding-right:.75rem}.univer-py-0{padding-top:0;padding-bottom:0}.univer-pb-0\\.5{padding-bottom:.125rem}.univer-pb-4{padding-bottom:1rem}.univer-pr-1{padding-right:.25rem}.univer-pr-2{padding-right:.5rem}.univer-pt-1\\.5{padding-top:.375rem}.univer-pt-14{padding-top:3.5rem}.univer-font-\\[500\\],.univer-font-medium{font-weight:500}.univer-leading-\\[24px\\]{line-height:24px}.\\!univer-text-gray-200{color:var(--univer-gray-200)!important}.\\!univer-text-gray-400{color:var(--univer-gray-400)!important}.univer-text-gray-800{color:var(--univer-gray-800)}.univer-shadow-sm{--univer-tw-shadow: 0px 1px 2px 0px #1e284d14;--univer-tw-shadow-colored: 0px 1px 2px 0px var(--univer-tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,0 1px 2px #1e284d14;box-shadow:var(--univer-tw-ring-offset-shadow, 0 0 #0000),var(--univer-tw-ring-shadow, 0 0 #0000),var(--univer-tw-shadow)}.univer-backdrop-blur-\\[10px\\]{--univer-tw-backdrop-blur: blur(10px);backdrop-filter:var(--univer-tw-backdrop-blur) var(--univer-tw-backdrop-brightness) var(--univer-tw-backdrop-contrast) var(--univer-tw-backdrop-grayscale) var(--univer-tw-backdrop-hue-rotate) var(--univer-tw-backdrop-invert) var(--univer-tw-backdrop-opacity) var(--univer-tw-backdrop-saturate) var(--univer-tw-backdrop-sepia)}.univer-duration-300{transition-duration:.3s}.hover\\:univer-border-primary-500:hover{border-color:var(--univer-primary-500)}.univer-pointer-events-none{pointer-events:none}.univer-inset-0{top:0;bottom:0;left:0;right:0}.-univer-bottom-0\\.5{bottom:-.125rem}.-univer-left-0\\.5{left:-.125rem}.-univer-right-0\\.5{right:-.125rem}.-univer-top-0\\.5{top:-.125rem}.univer-left-0{left:0}.univer-left-1{left:.25rem}.univer-left-3{left:.75rem}.univer-right-0{right:0}.univer-right-5{right:1.25rem}.univer-top-0{top:0}.univer-top-0\\.5{top:.125rem}.univer-z-10{z-index:10}.univer-z-\\[1001\\]{z-index:1001}.univer-z-\\[100\\]{z-index:100}.univer-mx-1{margin-left:.25rem;margin-right:.25rem}.univer-my-1\\.5{margin-top:.375rem;margin-bottom:.375rem}.univer-mb-1\\.5{margin-bottom:.375rem}.univer-mb-3{margin-bottom:.75rem}.univer-mb-4{margin-bottom:1rem}.univer-ml-1{margin-left:.25rem}.univer-ml-1\\.5{margin-left:.375rem}.univer-ml-3{margin-left:.75rem}.univer-ml-6{margin-left:1.5rem}.univer-ml-px{margin-left:1px}.univer-mr-1\\.5{margin-right:.375rem}.univer-mr-2{margin-right:.5rem}.univer-mr-5{margin-right:1.25rem}.univer-mt-auto{margin-top:auto}.univer-hidden{display:none}.univer-size-0{width:0;height:0}.univer-size-10{width:2.5rem;height:2.5rem}.univer-size-4{width:1rem;height:1rem}.univer-h-0\\.5{height:.125rem}.univer-h-1{height:.25rem}.univer-h-10{height:2.5rem}.univer-h-20{height:5rem}.univer-h-4{height:1rem}.univer-h-5{height:1.25rem}.univer-h-6{height:1.5rem}.univer-h-60{height:15rem}.univer-h-8{height:2rem}.univer-h-9{height:2.25rem}.univer-h-\\[270px\\]{height:270px}.univer-h-\\[30px\\]{height:30px}.univer-h-\\[calc\\(100\\%-16px\\)\\]{height:calc(100% - 16px)}.univer-h-\\[calc\\(100\\%-8px\\)\\]{height:calc(100% - 8px)}.univer-h-px{height:1px}.univer-max-h-52{max-height:13rem}.univer-max-h-\\[100px\\]{max-height:100px}.univer-max-h-\\[360px\\]{max-height:360px}.\\!univer-w-\\[90px\\]{width:90px!important}.univer-w-16{width:4rem}.univer-w-20{width:5rem}.univer-w-24{width:6rem}.univer-w-5{width:1.25rem}.univer-w-6{width:1.5rem}.univer-w-60{width:15rem}.univer-w-\\[100px\\]{width:100px}.univer-w-\\[130px\\]{width:130px}.univer-w-\\[156px\\]{width:156px}.univer-w-\\[300px\\]{width:300px}.univer-w-\\[50\\%\\]{width:50%}.univer-w-fit{width:fit-content}.univer-min-w-0{min-width:0}.univer-max-w-32{max-width:8rem}.univer-max-w-36{max-width:9rem}.univer-max-w-64{max-width:16rem}.univer-max-w-\\[190px\\]{max-width:190px}.univer-max-w-\\[200px\\]{max-width:200px}.univer-max-w-\\[calc\\(100\\%-112px\\)\\]{max-width:calc(100% - 112px)}.univer-max-w-fit{max-width:fit-content}.univer-max-w-lg{max-width:32rem}.univer-flex-shrink-0,.univer-shrink-0{flex-shrink:0}.univer-flex-grow{flex-grow:1}.univer-flex-grow-0{flex-grow:0}.univer-rotate-180{--univer-tw-rotate: 180deg;transform:translate(var(--univer-tw-translate-x),var(--univer-tw-translate-y)) rotate(180deg) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));transform:translate(var(--univer-tw-translate-x),var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y))}@keyframes univer-spin{to{transform:rotate(360deg)}}.univer-animate-spin{animation:1s linear infinite univer-spin}.univer-cursor-not-allowed{cursor:not-allowed}.univer-appearance-none{-webkit-appearance:none;appearance:none}.univer-grid-flow-col{grid-auto-flow:column}.univer-grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.univer-grid-cols-\\[1fr\\,auto\\,auto\\,auto\\]{grid-template-columns:1fr auto auto auto}.univer-flex-row{flex-direction:row}.univer-flex-row-reverse{flex-direction:row-reverse}.univer-flex-nowrap{flex-wrap:nowrap}.univer-gap-7{gap:1.75rem}.univer-gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.univer-space-y-2>:not([hidden])~:not([hidden]){--univer-tw-space-y-reverse: 0;margin-top:calc(.5rem * (1 - var(--univer-tw-space-y-reverse)));margin-top:.5rem;margin-top:calc(.5rem * calc(1 - var(--univer-tw-space-y-reverse)));margin-bottom:0;margin-bottom:calc(.5rem * var(--univer-tw-space-y-reverse))}.univer-divide-x-0>:not([hidden])~:not([hidden]){--univer-tw-divide-x-reverse: 0;border-right-width:0;border-right-width:calc(0px * var(--univer-tw-divide-x-reverse));border-left-width:calc(0px * (1 - var(--univer-tw-divide-x-reverse)));border-left-width:0;border-left-width:calc(0px * calc(1 - var(--univer-tw-divide-x-reverse)))}.univer-divide-y>:not([hidden])~:not([hidden]){--univer-tw-divide-y-reverse: 0;border-top-width:calc(1px * (1 - var(--univer-tw-divide-y-reverse)));border-top-width:1px;border-top-width:calc(1px * calc(1 - var(--univer-tw-divide-y-reverse)));border-bottom-width:0;border-bottom-width:calc(1px * var(--univer-tw-divide-y-reverse))}.univer-divide-solid>:not([hidden])~:not([hidden]){border-style:solid}.univer-divide-gray-200>:not([hidden])~:not([hidden]){border-color:var(--univer-gray-200)}.univer-justify-self-center{justify-self:center}.univer-overflow-hidden{overflow:hidden}.univer-overflow-x-auto{overflow-x:auto}.univer-overflow-y-hidden{overflow-y:hidden}.univer-rounded-full{border-radius:9999px}.univer-rounded-md{border-radius:.375rem}.univer-rounded-sm{border-radius:.125rem}.univer-border-2{border-width:2px}.univer-border-4{border-width:4px}.univer-border-b{border-bottom-width:1px}.univer-border-solid{border-style:solid}.univer-border-none{border-style:none}.univer-border-\\[rgba\\(13\\,13\\,13\\,0\\.12\\)\\]{border-color:#0d0d0d1f}.univer-border-gray-100{border-color:var(--univer-gray-100)}.univer-border-gray-200{border-color:var(--univer-gray-200)}.univer-border-transparent{border-color:#0000}.univer-border-r-gray-200{border-right-color:var(--univer-gray-200)}.univer-border-t-primary-500{border-top-color:var(--univer-primary-500)}.\\!univer-bg-gray-700{background-color:var(--univer-gray-700)!important}.\\!univer-bg-gray-800{background-color:var(--univer-gray-800)!important}.\\!univer-bg-gray-900{background-color:var(--univer-gray-900)!important}.univer-bg-blue-500{background-color:var(--univer-blue-500)}.univer-bg-blue-600{background-color:var(--univer-blue-600)}.univer-bg-gray-100{background-color:var(--univer-gray-100)}.univer-bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--univer-tw-gradient-stops))}.univer-from-gray-50{--univer-tw-gradient-from: var(--univer-gray-50) var(--univer-tw-gradient-from-position);--univer-tw-gradient-to: #fff0 var(--univer-tw-gradient-to-position);--univer-tw-gradient-stops: var(--univer-tw-gradient-from), var(--univer-tw-gradient-to)}.univer-to-gray-100{--univer-tw-gradient-to: var(--univer-gray-100) var(--univer-tw-gradient-to-position)}.univer-fill-gray-900{fill:var(--univer-gray-900)}.univer-fill-primary-600{fill:var(--univer-primary-600)}.univer-p-1{padding:.25rem}.univer-p-4{padding:1rem}.univer-px-1{padding-left:.25rem;padding-right:.25rem}.univer-px-1\\.5{padding-left:.375rem;padding-right:.375rem}.univer-px-3\\.5{padding-left:.875rem;padding-right:.875rem}.univer-px-5{padding-left:1.25rem;padding-right:1.25rem}.univer-py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.univer-py-5{padding-top:1.25rem;padding-bottom:1.25rem}.univer-pb-1{padding-bottom:.25rem}.univer-pl-1\\.5{padding-left:.375rem}.univer-pl-3{padding-left:.75rem}.univer-pl-6{padding-left:1.5rem}.univer-pr-5{padding-right:1.25rem}.univer-pt-1{padding-top:.25rem}.univer-pt-2{padding-top:.5rem}.univer-text-center{text-align:center}.univer-font-semibold{font-weight:600}.univer-leading-6{line-height:1.5rem}.univer-leading-7{line-height:1.75rem}.\\!univer-text-blue-400{color:var(--univer-blue-400)!important}.\\!univer-text-gray-700{color:var(--univer-gray-700)!important}.\\!univer-text-white{color:var(--univer-white)!important}.univer-text-blue-500{color:var(--univer-blue-500)}.univer-text-blue-600{color:var(--univer-blue-600)}.univer-text-gray-200{color:var(--univer-gray-200)}.univer-text-gray-300{color:var(--univer-gray-300)}.univer-text-gray-700{color:var(--univer-gray-700)}.univer-text-green-600{color:var(--univer-green-600)}.univer-text-primary-700{color:var(--univer-primary-700)}.univer-text-red-600{color:var(--univer-red-600)}.univer-text-yellow-500{color:var(--univer-yellow-500)}.univer-shadow{--univer-tw-shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--univer-tw-shadow-colored: 0 1px 3px 0 var(--univer-tw-shadow-color), 0 1px 2px -1px var(--univer-tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,0 1px 3px #0000001a,0 1px 2px -1px #0000001a;box-shadow:var(--univer-tw-ring-offset-shadow, 0 0 #0000),var(--univer-tw-ring-shadow, 0 0 #0000),var(--univer-tw-shadow)}.univer-shadow-lg{--univer-tw-shadow: 0px 4px 6px 0px #1e284d0d, 0px 10px 15px -3px #1e284d1a;--univer-tw-shadow-colored: 0px 4px 6px 0px var(--univer-tw-shadow-color), 0px 10px 15px -3px var(--univer-tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,0 4px 6px #1e284d0d,0 10px 15px -3px #1e284d1a;box-shadow:var(--univer-tw-ring-offset-shadow, 0 0 #0000),var(--univer-tw-ring-shadow, 0 0 #0000),var(--univer-tw-shadow)}.univer-blur-sm{--univer-tw-blur: blur(4px);filter:var(--univer-tw-blur) var(--univer-tw-brightness) var(--univer-tw-contrast) var(--univer-tw-grayscale) var(--univer-tw-hue-rotate) var(--univer-tw-invert) var(--univer-tw-saturate) var(--univer-tw-sepia) var(--univer-tw-drop-shadow)}.univer-backdrop-blur{--univer-tw-backdrop-blur: blur(8px);backdrop-filter:var(--univer-tw-backdrop-blur) var(--univer-tw-backdrop-brightness) var(--univer-tw-backdrop-contrast) var(--univer-tw-backdrop-grayscale) var(--univer-tw-backdrop-hue-rotate) var(--univer-tw-backdrop-invert) var(--univer-tw-backdrop-opacity) var(--univer-tw-backdrop-saturate) var(--univer-tw-backdrop-sepia)}.univer-transition-\\[colors\\,box-shadow\\]{transition-property:colors,box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.univer-transition-\\[height\\]{transition-property:height;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.univer-transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.univer-duration-200{transition-duration:.2s}.univer-ease-linear{transition-timing-function:linear}.after\\:univer-absolute:after{content:var(--univer-tw-content);position:absolute}.after\\:univer-right-0:after{content:var(--univer-tw-content);right:0}.after\\:univer-top-1\\/2:after{content:var(--univer-tw-content);top:50%}.after\\:univer-block:after{content:var(--univer-tw-content);display:block}.after\\:univer-h-4:after{content:var(--univer-tw-content);height:1rem}.after\\:univer-w-px:after{content:var(--univer-tw-content);width:1px}.after\\:-univer-translate-y-1\\/2:after{content:var(--univer-tw-content);--univer-tw-translate-y: -50%;transform:translate(var(--univer-tw-translate-x),-50%) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));transform:translate(var(--univer-tw-translate-x),var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y))}.after\\:univer-bg-gray-200:after{content:var(--univer-tw-content);background-color:var(--univer-gray-200)}.after\\:univer-content-\\[\\"\\"\\]:after{--univer-tw-content: "";content:"";content:var(--univer-tw-content)}.last\\:univer-mb-0:last-child{margin-bottom:0}.univer-group:hover .group-hover\\:univer-flex{display:flex}.hover\\:univer-border-primary-600:hover{border-color:var(--univer-primary-600)}.hover\\:univer-bg-gray-50:hover{background-color:var(--univer-gray-50)}.hover\\:univer-bg-transparent:hover{background-color:#0000}.focus\\:univer-border-primary-500:focus{border-color:var(--univer-primary-500)}.focus\\:univer-outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus-visible\\:univer-ring-2:focus-visible{--univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color);--univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(2px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color);box-shadow:var(--univer-tw-ring-offset-shadow),var(--univer-tw-ring-shadow),0 0 #0000;box-shadow:var(--univer-tw-ring-offset-shadow),var(--univer-tw-ring-shadow),var(--univer-tw-shadow, 0 0 #0000)}.focus-visible\\:univer-ring-primary-500:focus-visible{--univer-tw-ring-color: var(--univer-primary-500)}.active\\:univer-bg-gray-100:active{background-color:var(--univer-gray-100)}.dark\\:\\!univer-divide-gray-600:where(.univer-dark,.univer-dark *)>:not([hidden])~:not([hidden]){border-color:var(--univer-gray-600)!important}.dark\\:\\!univer-border-gray-700:where(.univer-dark,.univer-dark *){border-color:var(--univer-gray-700)!important}.dark\\:\\!univer-border-r-gray-700:where(.univer-dark,.univer-dark *){border-right-color:var(--univer-gray-700)!important}.dark\\:\\!univer-bg-black:where(.univer-dark,.univer-dark *){background-color:var(--univer-black)!important}.dark\\:\\!univer-bg-blue-400:where(.univer-dark,.univer-dark *){background-color:var(--univer-blue-400)!important}.dark\\:\\!univer-bg-gray-700:where(.univer-dark,.univer-dark *){background-color:var(--univer-gray-700)!important}.dark\\:\\!univer-bg-gray-800:where(.univer-dark,.univer-dark *){background-color:var(--univer-gray-800)!important}.dark\\:\\!univer-from-gray-800:where(.univer-dark,.univer-dark *){--univer-tw-gradient-from: var(--univer-gray-800) var(--univer-tw-gradient-from-position) !important;--univer-tw-gradient-to: #fff0 var(--univer-tw-gradient-to-position) !important;--univer-tw-gradient-stops: var(--univer-tw-gradient-from), var(--univer-tw-gradient-to) !important}.dark\\:\\!univer-to-gray-900:where(.univer-dark,.univer-dark *){--univer-tw-gradient-to: var(--univer-gray-900) var(--univer-tw-gradient-to-position) !important}.dark\\:\\!univer-fill-white:where(.univer-dark,.univer-dark *){fill:var(--univer-white)!important}.dark\\:\\!univer-text-blue-400:where(.univer-dark,.univer-dark *){color:var(--univer-blue-400)!important}.dark\\:\\!univer-text-gray-700:where(.univer-dark,.univer-dark *){color:var(--univer-gray-700)!important}.dark\\:\\!univer-text-green-400:where(.univer-dark,.univer-dark *){color:var(--univer-green-400)!important}.dark\\:\\!univer-text-red-400:where(.univer-dark,.univer-dark *){color:var(--univer-red-400)!important}.dark\\:hover\\:\\!univer-bg-gray-800:hover:where(.univer-dark,.univer-dark *){background-color:var(--univer-gray-800)!important}.\\[\\&\\>div\\:first-child\\]\\:univer-px-2\\.5>div:first-child{padding-left:.625rem;padding-right:.625rem}.\\[\\&\\>div\\]\\:univer-h-5>div{height:1.25rem}.\\[\\&\\>div\\]\\:univer-ring-transparent>div{--univer-tw-ring-color: transparent}.\\[\\&_canvas\\]\\:univer-absolute canvas{position:absolute}.univer-absolute{position:absolute}.univer-relative{position:relative}.univer-left-1\\.5{left:.375rem}.univer-top-1\\/2{top:50%}.univer-z-\\[15\\]{z-index:15}.univer-m-0{margin:0}.-univer-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.univer-mx-0{margin-left:0;margin-right:0}.univer-my-1{margin-top:.25rem;margin-bottom:.25rem}.univer-my-2{margin-top:.5rem;margin-bottom:.5rem}.univer-mb-0{margin-bottom:0}.univer-mb-2{margin-bottom:.5rem}.univer-ml-2{margin-left:.5rem}.univer-ml-4{margin-left:1rem}.univer-mr-0{margin-right:0}.univer-mt-0{margin-top:0}.univer-mt-1{margin-top:.25rem}.univer-box-border{box-sizing:border-box}.univer-block{display:block}.univer-inline-flex{display:inline-flex}.univer-size-6{width:1.5rem;height:1.5rem}.univer-size-full{width:100%;height:100%}.univer-h-\\[18px\\]{height:18px}.univer-h-\\[364px\\]{height:364px}.univer-max-h-60{max-height:15rem}.univer-max-h-72{max-height:18rem}.univer-max-h-\\[350px\\]{max-height:350px}.univer-w-\\[250px\\]{width:250px}.univer-flex-1{flex:1}.-univer-translate-y-1\\/2{--univer-tw-translate-y: -50%;transform:translate(var(--univer-tw-translate-x),-50%) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));transform:translate(var(--univer-tw-translate-x),var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skew(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y))}.univer-select-none{user-select:none}.univer-list-none{list-style-type:none}.univer-justify-center{justify-content:center}.univer-justify-around{justify-content:space-around}.univer-gap-2{gap:.5rem}.univer-gap-4{gap:1rem}.univer-overflow-visible{overflow:visible}.univer-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.univer-whitespace-nowrap{white-space:nowrap}.univer-whitespace-pre-wrap{white-space:pre-wrap}.univer-break-words{word-wrap:break-word}.univer-break-all{word-break:break-all}.univer-rounded-none{border-radius:0}.univer-rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.univer-border{border-width:1px}.univer-border-r-0{border-right-width:0}.univer-border-gray-600{border-color:var(--univer-gray-600)}.univer-border-primary-600{border-color:var(--univer-primary-600)}.\\!univer-bg-gray-600{background-color:var(--univer-gray-600)!important}.univer-bg-gray-200{background-color:var(--univer-gray-200)}.univer-bg-primary-600{background-color:var(--univer-primary-600)}.univer-bg-transparent{background-color:#0000}.univer-bg-white{background-color:var(--univer-white)}.univer-p-0{padding:0}.univer-p-0\\.5{padding:.125rem}.univer-p-3{padding:.75rem}.univer-px-4{padding-left:1rem;padding-right:1rem}.univer-px-6{padding-left:1.5rem;padding-right:1.5rem}.univer-px-7{padding-left:1.75rem;padding-right:1.75rem}.univer-py-1{padding-top:.25rem;padding-bottom:.25rem}.univer-py-2{padding-top:.5rem;padding-bottom:.5rem}.univer-py-3{padding-top:.75rem;padding-bottom:.75rem}.univer-pb-3{padding-bottom:.75rem}.univer-pt-0{padding-top:0}.univer-text-base{font-size:1rem;line-height:1.5rem}.univer-text-sm{font-size:.875rem;line-height:1.25rem}.univer-font-bold{font-weight:700}.univer-font-medium{font-weight:500}.univer-leading-5{line-height:1.25rem}.univer-leading-\\[13px\\]{line-height:13px}.univer-text-gray-900{color:var(--univer-gray-900)}.univer-text-primary-500{color:var(--univer-primary-500)}.univer-text-red-500{color:var(--univer-red-500)}.univer-text-white{color:var(--univer-white)}.univer-shadow-md{--univer-tw-shadow: 0px 1px 6px -2px #1e284d14, 0px 2px 6px -1px #1e284d1a;--univer-tw-shadow-colored: 0px 1px 6px -2px var(--univer-tw-shadow-color), 0px 2px 6px -1px var(--univer-tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,0 1px 6px -2px #1e284d14,0 2px 6px -1px #1e284d1a;box-shadow:var(--univer-tw-ring-offset-shadow, 0 0 #0000),var(--univer-tw-ring-shadow, 0 0 #0000),var(--univer-tw-shadow)}.univer-outline-none{outline-offset:2px;outline:2px solid #0000}.univer-ring-1{--univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color);--univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(1px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color);box-shadow:var(--univer-tw-ring-offset-shadow),var(--univer-tw-ring-shadow),0 0 #0000;box-shadow:var(--univer-tw-ring-offset-shadow),var(--univer-tw-ring-shadow),var(--univer-tw-shadow, 0 0 #0000)}.univer-ring-primary-500{--univer-tw-ring-color: var(--univer-primary-500)}.univer-ring-red-500{--univer-tw-ring-color: var(--univer-red-500)}.univer-transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\\:univer-bg-gray-200:hover{background-color:var(--univer-gray-200)}.hover\\:univer-bg-gray-300:hover{background-color:var(--univer-gray-300)}.dark\\:\\!univer-bg-gray-600:where(.univer-dark,.univer-dark *){background-color:var(--univer-gray-600)!important}.dark\\:\\!univer-bg-gray-900:where(.univer-dark,.univer-dark *){background-color:var(--univer-gray-900)!important}.dark\\:\\!univer-text-gray-300:where(.univer-dark,.univer-dark *){color:var(--univer-gray-300)!important}.dark\\:\\!univer-text-white:where(.univer-dark,.univer-dark *){color:var(--univer-white)!important}.dark\\:hover\\:\\!univer-bg-gray-600:hover:where(.univer-dark,.univer-dark *){background-color:var(--univer-gray-600)!important}.univer-mb-5{margin-bottom:1.25rem}.univer-mr-3{margin-right:.75rem}.univer-mt-2{margin-top:.5rem}.univer-mt-3{margin-top:.75rem}.univer-mt-3\\.5{margin-top:.875rem}.univer-mt-4{margin-top:1rem}.univer-flex{display:flex}.univer-grid{display:grid}.univer-h-7{height:1.75rem}.univer-h-full{height:100%}.univer-max-h-\\[400px\\]{max-height:400px}.univer-w-32{width:8rem}.univer-w-36{width:9rem}.univer-w-4{width:1rem}.univer-w-\\[340px\\]{width:340px}.univer-w-full{width:100%}.univer-cursor-default{cursor:default}.univer-cursor-pointer{cursor:pointer}.univer-flex-col{flex-direction:column}.univer-items-center{align-items:center}.univer-justify-end{justify-content:flex-end}.univer-justify-between{justify-content:space-between}.univer-gap-1{gap:.25rem}.univer-gap-1\\.5{gap:.375rem}.univer-gap-6{gap:1.5rem}.univer-overflow-auto{overflow:auto}.univer-overflow-y-auto{overflow-y:auto}.univer-rounded{border-radius:.25rem}.univer-rounded-lg{border-radius:.5rem}.univer-p-1\\.5{padding:.375rem}.univer-p-2{padding:.5rem}.univer-px-2{padding-left:.5rem;padding-right:.5rem}.univer-py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.univer-pb-5{padding-bottom:1.25rem}.univer-text-sm,.univer-text-sm\\/5{font-size:.875rem;line-height:1.25rem}.univer-text-xs{font-size:.75rem;line-height:1rem}.univer-text-gray-400{color:var(--univer-gray-400)}.univer-text-gray-500{color:var(--univer-gray-500)}.univer-text-gray-600{color:var(--univer-gray-600)}.univer-text-primary-600{color:var(--univer-primary-600)}.hover\\:univer-bg-gray-100:hover{background-color:var(--univer-gray-100)}.dark\\:\\!univer-text-gray-200:where(.univer-dark,.univer-dark *){color:var(--univer-gray-200)!important}.dark\\:\\!univer-text-gray-400:where(.univer-dark,.univer-dark *){color:var(--univer-gray-400)!important}.dark\\:hover\\:\\!univer-bg-gray-700:hover:where(.univer-dark,.univer-dark *){background-color:var(--univer-gray-700)!important}\n',""]);const s=o},865(e,t,r){"use strict";r.d(t,{A:()=>s});var n=r(1601),i=r.n(n),a=r(6314),o=r.n(a)()(i());o.push([e.id,".univer-absolute{position:absolute}.univer-relative{position:relative}.-univer-bottom-0\\.5{bottom:-.125rem}.-univer-right-0\\.5{right:-.125rem}.univer-mx-1{margin-left:.25rem;margin-right:.25rem}.univer-mb-1{margin-bottom:.25rem}.univer-mb-2{margin-bottom:.5rem}.univer-ml-1{margin-left:.25rem}.univer-mt-2{margin-top:.5rem}.univer-mt-4{margin-top:1rem}.univer-box-border{box-sizing:border-box}.univer-block{display:block}.univer-inline-block{display:inline-block}.univer-flex{display:flex}.univer-inline-flex{display:inline-flex}.univer-grid{display:grid}.univer-hidden{display:none}.univer-size-3{width:.75rem;height:.75rem}.univer-size-6{width:1.5rem;height:1.5rem}.univer-size-full{width:100%;height:100%}.univer-h-4{height:1rem}.univer-h-5{height:1.25rem}.univer-h-7{height:1.75rem}.univer-h-8{height:2rem}.univer-h-\\[300px\\]{height:300px}.univer-h-full{height:100%}.univer-max-h-\\[500px\\]{max-height:500px}.univer-min-h-\\[300px\\]{min-height:300px}.univer-w-\\[400px\\]{width:400px}.univer-w-full{width:100%}.univer-flex-1{flex:1}.univer-flex-shrink{flex-shrink:1}.univer-flex-shrink-0{flex-shrink:0}.univer-flex-grow{flex-grow:1}.univer-flex-grow-0{flex-grow:0}.univer-cursor-pointer{cursor:pointer}.univer-grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.univer-flex-col{flex-direction:column}.univer-flex-nowrap{flex-wrap:nowrap}.univer-items-center{align-items:center}.univer-justify-start{justify-content:flex-start}.univer-justify-center{justify-content:center}.univer-justify-between{justify-content:space-between}.univer-gap-1{gap:.25rem}.univer-gap-2{gap:.5rem}.univer-gap-4{gap:1rem}.univer-overflow-auto{overflow:auto}.univer-overflow-hidden{overflow:hidden}.univer-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.univer-whitespace-nowrap{white-space:nowrap}.univer-rounded-full{border-radius:9999px}.univer-rounded-lg{border-radius:.5rem}.univer-rounded-md{border-radius:.375rem}.univer-border{border-width:1px}.univer-border-solid{border-style:solid}.univer-border-\\[rgba\\(13\\,13\\,13\\,0\\.06\\)\\]{border-color:#0d0d0d0f}.univer-border-transparent{border-color:#0000}.univer-bg-gray-300{background-color:var(--univer-gray-300)}.univer-bg-white{background-color:var(--univer-white)}.univer-p-0\\.5{padding:.125rem}.univer-p-2{padding:.5rem}.univer-p-4{padding:1rem}.univer-px-1\\.5{padding-left:.375rem;padding-right:.375rem}.univer-px-2{padding-left:.5rem;padding-right:.5rem}.univer-py-0{padding-top:0;padding-bottom:0}.univer-py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.univer-py-2\\.5{padding-top:.625rem;padding-bottom:.625rem}.univer-pl-5{padding-left:1.25rem}.univer-pr-0\\.5{padding-right:.125rem}.univer-pr-2{padding-right:.5rem}.univer-pt-2{padding-top:.5rem}.univer-text-sm{font-size:.875rem;line-height:1.25rem}.univer-text-xs{font-size:.75rem;line-height:1rem}.univer-font-bold{font-weight:700}.univer-text-\\[\\#418F1F\\]{--univer-tw-text-opacity: 1;color:rgba(65,143,31,var(--univer-tw-text-opacity, 1))}.univer-text-gray-400{color:var(--univer-gray-400)}.univer-text-gray-500{color:var(--univer-gray-500)}.univer-text-gray-900{color:var(--univer-gray-900)}.univer-text-primary-500{color:var(--univer-primary-500)}.univer-shadow-lg{--univer-tw-shadow: 0px 4px 6px 0px #1e284d0d, 0px 10px 15px -3px #1e284d1a;--univer-tw-shadow-colored: 0px 4px 6px 0px var(--univer-tw-shadow-color), 0px 10px 15px -3px var(--univer-tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,0 4px 6px #1e284d0d,0 10px 15px -3px #1e284d1a;box-shadow:var(--univer-tw-ring-offset-shadow, 0 0 #0000),var(--univer-tw-ring-shadow, 0 0 #0000),var(--univer-tw-shadow)}.univer-transition-shadow{transition-property:box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\\:univer-bg-gray-50:hover{background-color:var(--univer-gray-50)}.hover\\:univer-ring-2:hover{--univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color);--univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(2px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color);box-shadow:var(--univer-tw-ring-offset-shadow),var(--univer-tw-ring-shadow),0 0 #0000;box-shadow:var(--univer-tw-ring-offset-shadow),var(--univer-tw-ring-shadow),var(--univer-tw-shadow, 0 0 #0000)}.hover\\:univer-ring-offset-2:hover{--univer-tw-ring-offset-width: 2px}.hover\\:univer-ring-offset-white:hover{--univer-tw-ring-offset-color: var(--univer-white)}.dark\\:\\!univer-border-\\[rgba\\(255\\,255\\,255\\,0\\.06\\)\\]:where(.univer-dark,.univer-dark *){border-color:#ffffff0f!important}.dark\\:\\!univer-border-gray-600:where(.univer-dark,.univer-dark *){border-color:var(--univer-gray-600)!important}.dark\\:\\!univer-bg-gray-700:where(.univer-dark,.univer-dark *){background-color:var(--univer-gray-700)!important}.dark\\:\\!univer-text-gray-200:where(.univer-dark,.univer-dark *){color:var(--univer-gray-200)!important}.dark\\:\\!univer-text-gray-500:where(.univer-dark,.univer-dark *){color:var(--univer-gray-500)!important}.dark\\:\\!univer-text-white:where(.univer-dark,.univer-dark *){color:var(--univer-white)!important}.dark\\:hover\\:\\!univer-bg-gray-900:hover:where(.univer-dark,.univer-dark *){background-color:var(--univer-gray-900)!important}.\\[\\&\\:hover_a\\]\\:univer-inline-block:hover a{display:inline-block}\n",""]);const s=o},2937(e,t,r){"use strict";r.d(t,{A:()=>s});var n=r(1601),i=r.n(n),a=r(6314),o=r.n(a)()(i());o.push([e.id,".univer-absolute {\n position: absolute;\n}\n\n.univer-relative {\n position: relative;\n}\n\n.univer-left-1\\.5 {\n left: .375rem;\n}\n\n.univer-top-1\\/2 {\n top: 50%;\n}\n\n.univer-z-\\[15\\] {\n z-index: 15;\n}\n\n.univer-m-0 {\n margin: 0;\n}\n\n.-univer-mx-6 {\n margin-left: -1.5rem;\n margin-right: -1.5rem;\n}\n\n.univer-mx-0 {\n margin-left: 0;\n margin-right: 0;\n}\n\n.univer-my-1 {\n margin-top: .25rem;\n margin-bottom: .25rem;\n}\n\n.univer-my-2 {\n margin-top: .5rem;\n margin-bottom: .5rem;\n}\n\n.univer-mb-0 {\n margin-bottom: 0;\n}\n\n.univer-mb-2 {\n margin-bottom: .5rem;\n}\n\n.univer-mb-5 {\n margin-bottom: 1.25rem;\n}\n\n.univer-ml-2 {\n margin-left: .5rem;\n}\n\n.univer-ml-4 {\n margin-left: 1rem;\n}\n\n.univer-mr-0 {\n margin-right: 0;\n}\n\n.univer-mt-0 {\n margin-top: 0;\n}\n\n.univer-mt-1 {\n margin-top: .25rem;\n}\n\n.univer-mt-2 {\n margin-top: .5rem;\n}\n\n.univer-mt-3 {\n margin-top: .75rem;\n}\n\n.univer-box-border {\n box-sizing: border-box;\n}\n\n.univer-block {\n display: block;\n}\n\n.univer-flex {\n display: flex;\n}\n\n.univer-inline-flex {\n display: inline-flex;\n}\n\n.univer-size-6 {\n width: 1.5rem;\n height: 1.5rem;\n}\n\n.univer-size-full {\n width: 100%;\n height: 100%;\n}\n\n.univer-h-\\[18px\\] {\n height: 18px;\n}\n\n.univer-h-\\[364px\\] {\n height: 364px;\n}\n\n.univer-h-full {\n height: 100%;\n}\n\n.univer-max-h-60 {\n max-height: 15rem;\n}\n\n.univer-max-h-72 {\n max-height: 18rem;\n}\n\n.univer-max-h-\\[350px\\] {\n max-height: 350px;\n}\n\n.univer-max-h-\\[400px\\] {\n max-height: 400px;\n}\n\n.univer-w-\\[250px\\] {\n width: 250px;\n}\n\n.univer-w-full {\n width: 100%;\n}\n\n.univer-flex-1 {\n flex: 1;\n}\n\n.-univer-translate-y-1\\/2 {\n --univer-tw-translate-y: -50%;\n transform: translate(var(--univer-tw-translate-x), -50%) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n}\n\n.univer-cursor-pointer {\n cursor: pointer;\n}\n\n.univer-select-none {\n user-select: none;\n}\n\n.univer-list-none {\n list-style-type: none;\n}\n\n.univer-flex-col {\n flex-direction: column;\n}\n\n.univer-items-center {\n align-items: center;\n}\n\n.univer-justify-end {\n justify-content: flex-end;\n}\n\n.univer-justify-center {\n justify-content: center;\n}\n\n.univer-justify-between {\n justify-content: space-between;\n}\n\n.univer-justify-around {\n justify-content: space-around;\n}\n\n.univer-gap-2 {\n gap: .5rem;\n}\n\n.univer-gap-4 {\n gap: 1rem;\n}\n\n.univer-overflow-visible {\n overflow: visible;\n}\n\n.univer-overflow-y-auto {\n overflow-y: auto;\n}\n\n.univer-truncate {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.univer-whitespace-nowrap {\n white-space: nowrap;\n}\n\n.univer-whitespace-pre-wrap {\n white-space: pre-wrap;\n}\n\n.univer-break-words {\n word-wrap: break-word;\n}\n\n.univer-break-all {\n word-break: break-all;\n}\n\n.univer-rounded {\n border-radius: .25rem;\n}\n\n.univer-rounded-lg {\n border-radius: .5rem;\n}\n\n.univer-rounded-none {\n border-radius: 0;\n}\n\n.univer-rounded-l {\n border-top-left-radius: .25rem;\n border-bottom-left-radius: .25rem;\n}\n\n.univer-border {\n border-width: 1px;\n}\n\n.univer-border-r-0 {\n border-right-width: 0;\n}\n\n.univer-border-gray-600 {\n border-color: var(--univer-gray-600);\n}\n\n.univer-border-primary-600 {\n border-color: var(--univer-primary-600);\n}\n\n.\\!univer-bg-gray-600 {\n background-color: var(--univer-gray-600) !important;\n}\n\n.univer-bg-gray-200 {\n background-color: var(--univer-gray-200);\n}\n\n.univer-bg-primary-600 {\n background-color: var(--univer-primary-600);\n}\n\n.univer-bg-transparent {\n background-color: #0000;\n}\n\n.univer-bg-white {\n background-color: var(--univer-white);\n}\n\n.univer-p-0 {\n padding: 0;\n}\n\n.univer-p-0\\.5 {\n padding: .125rem;\n}\n\n.univer-p-2 {\n padding: .5rem;\n}\n\n.univer-p-3 {\n padding: .75rem;\n}\n\n.univer-px-2 {\n padding-left: .5rem;\n padding-right: .5rem;\n}\n\n.univer-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n.univer-px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n}\n\n.univer-px-7 {\n padding-left: 1.75rem;\n padding-right: 1.75rem;\n}\n\n.univer-py-1 {\n padding-top: .25rem;\n padding-bottom: .25rem;\n}\n\n.univer-py-2 {\n padding-top: .5rem;\n padding-bottom: .5rem;\n}\n\n.univer-py-3 {\n padding-top: .75rem;\n padding-bottom: .75rem;\n}\n\n.univer-pb-3 {\n padding-bottom: .75rem;\n}\n\n.univer-pt-0 {\n padding-top: 0;\n}\n\n.univer-text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n\n.univer-text-sm {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n.univer-text-xs {\n font-size: .75rem;\n line-height: 1rem;\n}\n\n.univer-font-bold {\n font-weight: 700;\n}\n\n.univer-font-medium {\n font-weight: 500;\n}\n\n.univer-leading-5 {\n line-height: 1.25rem;\n}\n\n.univer-leading-\\[13px\\] {\n line-height: 13px;\n}\n\n.univer-text-gray-400 {\n color: var(--univer-gray-400);\n}\n\n.univer-text-gray-500 {\n color: var(--univer-gray-500);\n}\n\n.univer-text-gray-600 {\n color: var(--univer-gray-600);\n}\n\n.univer-text-gray-900 {\n color: var(--univer-gray-900);\n}\n\n.univer-text-primary-500 {\n color: var(--univer-primary-500);\n}\n\n.univer-text-primary-600 {\n color: var(--univer-primary-600);\n}\n\n.univer-text-red-500 {\n color: var(--univer-red-500);\n}\n\n.univer-text-white {\n color: var(--univer-white);\n}\n\n.univer-shadow-md {\n --univer-tw-shadow: 0px 1px 6px -2px #1e284d14, 0px 2px 6px -1px #1e284d1a;\n --univer-tw-shadow-colored: 0px 1px 6px -2px var(--univer-tw-shadow-color), 0px 2px 6px -1px var(--univer-tw-shadow-color);\n box-shadow: 0 0 #0000, 0 0 #0000, 0 1px 6px -2px #1e284d14, 0 2px 6px -1px #1e284d1a;\n box-shadow: var(--univer-tw-ring-offset-shadow, 0 0 #0000), var(--univer-tw-ring-shadow, 0 0 #0000), var(--univer-tw-shadow);\n}\n\n.univer-outline-none {\n outline-offset: 2px;\n outline: 2px solid #0000;\n}\n\n.univer-ring-1 {\n --univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color);\n --univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(1px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color);\n box-shadow: var(--univer-tw-ring-offset-shadow), var(--univer-tw-ring-shadow), 0 0 #0000;\n box-shadow: var(--univer-tw-ring-offset-shadow), var(--univer-tw-ring-shadow), var(--univer-tw-shadow, 0 0 #0000);\n}\n\n.univer-ring-primary-500 {\n --univer-tw-ring-color: var(--univer-primary-500);\n}\n\n.univer-ring-red-500 {\n --univer-tw-ring-color: var(--univer-red-500);\n}\n\n.univer-transition-colors {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.hover\\:univer-bg-gray-200:hover {\n background-color: var(--univer-gray-200);\n}\n\n.hover\\:univer-bg-gray-300:hover {\n background-color: var(--univer-gray-300);\n}\n\n.dark\\:\\!univer-bg-gray-600:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-gray-600) !important;\n}\n\n.dark\\:\\!univer-bg-gray-900:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-gray-900) !important;\n}\n\n.dark\\:\\!univer-text-gray-200:where(.univer-dark, .univer-dark *) {\n color: var(--univer-gray-200) !important;\n}\n\n.dark\\:\\!univer-text-gray-300:where(.univer-dark, .univer-dark *) {\n color: var(--univer-gray-300) !important;\n}\n\n.dark\\:\\!univer-text-white:where(.univer-dark, .univer-dark *) {\n color: var(--univer-white) !important;\n}\n\n.dark\\:hover\\:\\!univer-bg-gray-600:hover:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-gray-600) !important;\n}\n",""]);const s=o},6714(e,t,r){"use strict";r.d(t,{A:()=>s});var n=r(1601),i=r.n(n),a=r(6314),o=r.n(a)()(i());o.push([e.id,'.univer-pointer-events-none {\n pointer-events: none;\n}\n\n.univer-absolute {\n position: absolute;\n}\n\n.univer-relative {\n position: relative;\n}\n\n.univer-inset-0 {\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n}\n\n.-univer-bottom-0\\.5 {\n bottom: -.125rem;\n}\n\n.-univer-left-0\\.5 {\n left: -.125rem;\n}\n\n.-univer-right-0\\.5 {\n right: -.125rem;\n}\n\n.-univer-top-0\\.5 {\n top: -.125rem;\n}\n\n.univer-left-0 {\n left: 0;\n}\n\n.univer-left-1 {\n left: .25rem;\n}\n\n.univer-left-3 {\n left: .75rem;\n}\n\n.univer-right-0 {\n right: 0;\n}\n\n.univer-right-5 {\n right: 1.25rem;\n}\n\n.univer-top-0 {\n top: 0;\n}\n\n.univer-top-0\\.5 {\n top: .125rem;\n}\n\n.univer-top-1\\/2 {\n top: 50%;\n}\n\n.univer-z-10 {\n z-index: 10;\n}\n\n.univer-z-\\[1001\\] {\n z-index: 1001;\n}\n\n.univer-z-\\[100\\] {\n z-index: 100;\n}\n\n.univer-m-0 {\n margin: 0;\n}\n\n.univer-mx-1 {\n margin-left: .25rem;\n margin-right: .25rem;\n}\n\n.univer-my-1 {\n margin-top: .25rem;\n margin-bottom: .25rem;\n}\n\n.univer-my-1\\.5 {\n margin-top: .375rem;\n margin-bottom: .375rem;\n}\n\n.univer-my-2 {\n margin-top: .5rem;\n margin-bottom: .5rem;\n}\n\n.univer-mb-1\\.5 {\n margin-bottom: .375rem;\n}\n\n.univer-mb-2 {\n margin-bottom: .5rem;\n}\n\n.univer-mb-3 {\n margin-bottom: .75rem;\n}\n\n.univer-mb-4 {\n margin-bottom: 1rem;\n}\n\n.univer-ml-1 {\n margin-left: .25rem;\n}\n\n.univer-ml-1\\.5 {\n margin-left: .375rem;\n}\n\n.univer-ml-3 {\n margin-left: .75rem;\n}\n\n.univer-ml-6 {\n margin-left: 1.5rem;\n}\n\n.univer-ml-px {\n margin-left: 1px;\n}\n\n.univer-mr-1\\.5 {\n margin-right: .375rem;\n}\n\n.univer-mr-2 {\n margin-right: .5rem;\n}\n\n.univer-mr-5 {\n margin-right: 1.25rem;\n}\n\n.univer-mt-1 {\n margin-top: .25rem;\n}\n\n.univer-mt-2 {\n margin-top: .5rem;\n}\n\n.univer-mt-3 {\n margin-top: .75rem;\n}\n\n.univer-mt-4 {\n margin-top: 1rem;\n}\n\n.univer-mt-auto {\n margin-top: auto;\n}\n\n.univer-box-border {\n box-sizing: border-box;\n}\n\n.univer-block {\n display: block;\n}\n\n.univer-flex {\n display: flex;\n}\n\n.univer-inline-flex {\n display: inline-flex;\n}\n\n.univer-grid {\n display: grid;\n}\n\n.univer-hidden {\n display: none;\n}\n\n.univer-size-0 {\n width: 0;\n height: 0;\n}\n\n.univer-size-10 {\n width: 2.5rem;\n height: 2.5rem;\n}\n\n.univer-size-4 {\n width: 1rem;\n height: 1rem;\n}\n\n.univer-size-6 {\n width: 1.5rem;\n height: 1.5rem;\n}\n\n.univer-size-full {\n width: 100%;\n height: 100%;\n}\n\n.univer-h-0\\.5 {\n height: .125rem;\n}\n\n.univer-h-1 {\n height: .25rem;\n}\n\n.univer-h-10 {\n height: 2.5rem;\n}\n\n.univer-h-20 {\n height: 5rem;\n}\n\n.univer-h-4 {\n height: 1rem;\n}\n\n.univer-h-5 {\n height: 1.25rem;\n}\n\n.univer-h-6 {\n height: 1.5rem;\n}\n\n.univer-h-60 {\n height: 15rem;\n}\n\n.univer-h-7 {\n height: 1.75rem;\n}\n\n.univer-h-8 {\n height: 2rem;\n}\n\n.univer-h-9 {\n height: 2.25rem;\n}\n\n.univer-h-\\[270px\\] {\n height: 270px;\n}\n\n.univer-h-\\[30px\\] {\n height: 30px;\n}\n\n.univer-h-\\[calc\\(100\\%-16px\\)\\] {\n height: calc(100% - 16px);\n}\n\n.univer-h-\\[calc\\(100\\%-8px\\)\\] {\n height: calc(100% - 8px);\n}\n\n.univer-h-full {\n height: 100%;\n}\n\n.univer-h-px {\n height: 1px;\n}\n\n.univer-max-h-52 {\n max-height: 13rem;\n}\n\n.univer-max-h-\\[100px\\] {\n max-height: 100px;\n}\n\n.univer-max-h-\\[360px\\] {\n max-height: 360px;\n}\n\n.\\!univer-w-\\[90px\\] {\n width: 90px !important;\n}\n\n.univer-w-16 {\n width: 4rem;\n}\n\n.univer-w-20 {\n width: 5rem;\n}\n\n.univer-w-24 {\n width: 6rem;\n}\n\n.univer-w-5 {\n width: 1.25rem;\n}\n\n.univer-w-6 {\n width: 1.5rem;\n}\n\n.univer-w-60 {\n width: 15rem;\n}\n\n.univer-w-\\[100px\\] {\n width: 100px;\n}\n\n.univer-w-\\[130px\\] {\n width: 130px;\n}\n\n.univer-w-\\[156px\\] {\n width: 156px;\n}\n\n.univer-w-\\[300px\\] {\n width: 300px;\n}\n\n.univer-w-\\[50\\%\\] {\n width: 50%;\n}\n\n.univer-w-fit {\n width: fit-content;\n}\n\n.univer-w-full {\n width: 100%;\n}\n\n.univer-min-w-0 {\n min-width: 0;\n}\n\n.univer-max-w-32 {\n max-width: 8rem;\n}\n\n.univer-max-w-36 {\n max-width: 9rem;\n}\n\n.univer-max-w-64 {\n max-width: 16rem;\n}\n\n.univer-max-w-\\[190px\\] {\n max-width: 190px;\n}\n\n.univer-max-w-\\[200px\\] {\n max-width: 200px;\n}\n\n.univer-max-w-\\[calc\\(100\\%-112px\\)\\] {\n max-width: calc(100% - 112px);\n}\n\n.univer-max-w-fit {\n max-width: fit-content;\n}\n\n.univer-max-w-lg {\n max-width: 32rem;\n}\n\n.univer-flex-1 {\n flex: 1;\n}\n\n.univer-flex-shrink-0, .univer-shrink-0 {\n flex-shrink: 0;\n}\n\n.univer-flex-grow {\n flex-grow: 1;\n}\n\n.univer-flex-grow-0 {\n flex-grow: 0;\n}\n\n.-univer-translate-y-1\\/2 {\n --univer-tw-translate-y: -50%;\n transform: translate(var(--univer-tw-translate-x), -50%) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n}\n\n.univer-rotate-180 {\n --univer-tw-rotate: 180deg;\n transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(180deg) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n}\n\n@keyframes univer-spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n.univer-animate-spin {\n animation: 1s linear infinite univer-spin;\n}\n\n.univer-cursor-default {\n cursor: default;\n}\n\n.univer-cursor-not-allowed {\n cursor: not-allowed;\n}\n\n.univer-cursor-pointer {\n cursor: pointer;\n}\n\n.univer-select-none {\n user-select: none;\n}\n\n.univer-list-none {\n list-style-type: none;\n}\n\n.univer-appearance-none {\n -webkit-appearance: none;\n appearance: none;\n}\n\n.univer-grid-flow-col {\n grid-auto-flow: column;\n}\n\n.univer-grid-cols-5 {\n grid-template-columns: repeat(5, minmax(0, 1fr));\n}\n\n.univer-grid-cols-\\[1fr\\,auto\\,auto\\,auto\\] {\n grid-template-columns: 1fr auto auto auto;\n}\n\n.univer-flex-row {\n flex-direction: row;\n}\n\n.univer-flex-row-reverse {\n flex-direction: row-reverse;\n}\n\n.univer-flex-col {\n flex-direction: column;\n}\n\n.univer-flex-nowrap {\n flex-wrap: nowrap;\n}\n\n.univer-items-center {\n align-items: center;\n}\n\n.univer-justify-end {\n justify-content: flex-end;\n}\n\n.univer-justify-center {\n justify-content: center;\n}\n\n.univer-justify-between {\n justify-content: space-between;\n}\n\n.univer-gap-1 {\n gap: .25rem;\n}\n\n.univer-gap-2 {\n gap: .5rem;\n}\n\n.univer-gap-7 {\n gap: 1.75rem;\n}\n\n.univer-gap-x-2 {\n -moz-column-gap: .5rem;\n column-gap: .5rem;\n}\n\n.univer-space-y-2 > :not([hidden]) ~ :not([hidden]) {\n --univer-tw-space-y-reverse: 0;\n margin-top: .5rem;\n margin-top: calc(.5rem * (1 - var(--univer-tw-space-y-reverse)));\n margin-top: .5rem;\n margin-top: calc(.5rem * calc(1 - var(--univer-tw-space-y-reverse)));\n margin-bottom: 0;\n margin-bottom: calc(.5rem * var(--univer-tw-space-y-reverse));\n}\n\n.univer-divide-x-0 > :not([hidden]) ~ :not([hidden]) {\n --univer-tw-divide-x-reverse: 0;\n border-right-width: 0;\n border-right-width: calc(0px * var(--univer-tw-divide-x-reverse));\n border-left-width: 0;\n border-left-width: calc(0px * (1 - var(--univer-tw-divide-x-reverse)));\n border-left-width: 0;\n border-left-width: calc(0px * calc(1 - var(--univer-tw-divide-x-reverse)));\n}\n\n.univer-divide-y > :not([hidden]) ~ :not([hidden]) {\n --univer-tw-divide-y-reverse: 0;\n border-top-width: 1px;\n border-top-width: calc(1px * (1 - var(--univer-tw-divide-y-reverse)));\n border-top-width: 1px;\n border-top-width: calc(1px * calc(1 - var(--univer-tw-divide-y-reverse)));\n border-bottom-width: 0;\n border-bottom-width: calc(1px * var(--univer-tw-divide-y-reverse));\n}\n\n.univer-divide-solid > :not([hidden]) ~ :not([hidden]) {\n border-style: solid;\n}\n\n.univer-divide-gray-200 > :not([hidden]) ~ :not([hidden]) {\n border-color: var(--univer-gray-200);\n}\n\n.univer-justify-self-center {\n justify-self: center;\n}\n\n.univer-overflow-hidden {\n overflow: hidden;\n}\n\n.univer-overflow-x-auto {\n overflow-x: auto;\n}\n\n.univer-overflow-y-auto {\n overflow-y: auto;\n}\n\n.univer-overflow-y-hidden {\n overflow-y: hidden;\n}\n\n.univer-truncate {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.univer-whitespace-nowrap {\n white-space: nowrap;\n}\n\n.univer-break-words {\n word-wrap: break-word;\n}\n\n.univer-rounded {\n border-radius: .25rem;\n}\n\n.univer-rounded-full {\n border-radius: 9999px;\n}\n\n.univer-rounded-lg {\n border-radius: .5rem;\n}\n\n.univer-rounded-md {\n border-radius: .375rem;\n}\n\n.univer-rounded-sm {\n border-radius: .125rem;\n}\n\n.univer-border {\n border-width: 1px;\n}\n\n.univer-border-2 {\n border-width: 2px;\n}\n\n.univer-border-4 {\n border-width: 4px;\n}\n\n.univer-border-b {\n border-bottom-width: 1px;\n}\n\n.univer-border-solid {\n border-style: solid;\n}\n\n.univer-border-none {\n border-style: none;\n}\n\n.univer-border-\\[rgba\\(13\\,13\\,13\\,0\\.12\\)\\] {\n border-color: #0d0d0d1f;\n}\n\n.univer-border-gray-100 {\n border-color: var(--univer-gray-100);\n}\n\n.univer-border-gray-200 {\n border-color: var(--univer-gray-200);\n}\n\n.univer-border-transparent {\n border-color: #0000;\n}\n\n.univer-border-r-gray-200 {\n border-right-color: var(--univer-gray-200);\n}\n\n.univer-border-t-primary-500 {\n border-top-color: var(--univer-primary-500);\n}\n\n.\\!univer-bg-gray-600 {\n background-color: var(--univer-gray-600) !important;\n}\n\n.\\!univer-bg-gray-700 {\n background-color: var(--univer-gray-700) !important;\n}\n\n.\\!univer-bg-gray-800 {\n background-color: var(--univer-gray-800) !important;\n}\n\n.\\!univer-bg-gray-900 {\n background-color: var(--univer-gray-900) !important;\n}\n\n.univer-bg-blue-500 {\n background-color: var(--univer-blue-500);\n}\n\n.univer-bg-blue-600 {\n background-color: var(--univer-blue-600);\n}\n\n.univer-bg-gray-100 {\n background-color: var(--univer-gray-100);\n}\n\n.univer-bg-gray-200 {\n background-color: var(--univer-gray-200);\n}\n\n.univer-bg-transparent {\n background-color: #0000;\n}\n\n.univer-bg-white {\n background-color: var(--univer-white);\n}\n\n.univer-bg-gradient-to-b {\n background-image: linear-gradient(to bottom, var(--univer-tw-gradient-stops));\n}\n\n.univer-from-gray-50 {\n --univer-tw-gradient-from: var(--univer-gray-50) var(--univer-tw-gradient-from-position);\n --univer-tw-gradient-to: #fff0 var(--univer-tw-gradient-to-position);\n --univer-tw-gradient-stops: var(--univer-tw-gradient-from), var(--univer-tw-gradient-to);\n}\n\n.univer-to-gray-100 {\n --univer-tw-gradient-to: var(--univer-gray-100) var(--univer-tw-gradient-to-position);\n}\n\n.univer-fill-gray-900 {\n fill: var(--univer-gray-900);\n}\n\n.univer-fill-primary-600 {\n fill: var(--univer-primary-600);\n}\n\n.univer-p-0 {\n padding: 0;\n}\n\n.univer-p-1 {\n padding: .25rem;\n}\n\n.univer-p-1\\.5 {\n padding: .375rem;\n}\n\n.univer-p-2 {\n padding: .5rem;\n}\n\n.univer-p-3 {\n padding: .75rem;\n}\n\n.univer-p-4 {\n padding: 1rem;\n}\n\n.univer-px-1 {\n padding-left: .25rem;\n padding-right: .25rem;\n}\n\n.univer-px-1\\.5 {\n padding-left: .375rem;\n padding-right: .375rem;\n}\n\n.univer-px-2 {\n padding-left: .5rem;\n padding-right: .5rem;\n}\n\n.univer-px-3\\.5 {\n padding-left: .875rem;\n padding-right: .875rem;\n}\n\n.univer-px-5 {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n}\n\n.univer-py-0\\.5 {\n padding-top: .125rem;\n padding-bottom: .125rem;\n}\n\n.univer-py-1 {\n padding-top: .25rem;\n padding-bottom: .25rem;\n}\n\n.univer-py-1\\.5 {\n padding-top: .375rem;\n padding-bottom: .375rem;\n}\n\n.univer-py-2 {\n padding-top: .5rem;\n padding-bottom: .5rem;\n}\n\n.univer-py-3 {\n padding-top: .75rem;\n padding-bottom: .75rem;\n}\n\n.univer-py-5 {\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n}\n\n.univer-pb-1 {\n padding-bottom: .25rem;\n}\n\n.univer-pl-1\\.5 {\n padding-left: .375rem;\n}\n\n.univer-pl-3 {\n padding-left: .75rem;\n}\n\n.univer-pl-6 {\n padding-left: 1.5rem;\n}\n\n.univer-pr-5 {\n padding-right: 1.25rem;\n}\n\n.univer-pt-1 {\n padding-top: .25rem;\n}\n\n.univer-pt-2 {\n padding-top: .5rem;\n}\n\n.univer-text-center {\n text-align: center;\n}\n\n.univer-text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n\n.univer-text-sm {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n.univer-text-xs {\n font-size: .75rem;\n line-height: 1rem;\n}\n\n.univer-font-bold {\n font-weight: 700;\n}\n\n.univer-font-medium {\n font-weight: 500;\n}\n\n.univer-font-semibold {\n font-weight: 600;\n}\n\n.univer-leading-5 {\n line-height: 1.25rem;\n}\n\n.univer-leading-6 {\n line-height: 1.5rem;\n}\n\n.univer-leading-7 {\n line-height: 1.75rem;\n}\n\n.\\!univer-text-blue-400 {\n color: var(--univer-blue-400) !important;\n}\n\n.\\!univer-text-gray-700 {\n color: var(--univer-gray-700) !important;\n}\n\n.\\!univer-text-white {\n color: var(--univer-white) !important;\n}\n\n.univer-text-blue-500 {\n color: var(--univer-blue-500);\n}\n\n.univer-text-blue-600 {\n color: var(--univer-blue-600);\n}\n\n.univer-text-gray-200 {\n color: var(--univer-gray-200);\n}\n\n.univer-text-gray-300 {\n color: var(--univer-gray-300);\n}\n\n.univer-text-gray-400 {\n color: var(--univer-gray-400);\n}\n\n.univer-text-gray-500 {\n color: var(--univer-gray-500);\n}\n\n.univer-text-gray-600 {\n color: var(--univer-gray-600);\n}\n\n.univer-text-gray-700 {\n color: var(--univer-gray-700);\n}\n\n.univer-text-gray-900 {\n color: var(--univer-gray-900);\n}\n\n.univer-text-green-600 {\n color: var(--univer-green-600);\n}\n\n.univer-text-primary-500 {\n color: var(--univer-primary-500);\n}\n\n.univer-text-primary-600 {\n color: var(--univer-primary-600);\n}\n\n.univer-text-primary-700 {\n color: var(--univer-primary-700);\n}\n\n.univer-text-red-500 {\n color: var(--univer-red-500);\n}\n\n.univer-text-red-600 {\n color: var(--univer-red-600);\n}\n\n.univer-text-white {\n color: var(--univer-white);\n}\n\n.univer-text-yellow-500 {\n color: var(--univer-yellow-500);\n}\n\n.univer-shadow {\n --univer-tw-shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;\n --univer-tw-shadow-colored: 0 1px 3px 0 var(--univer-tw-shadow-color), 0 1px 2px -1px var(--univer-tw-shadow-color);\n box-shadow: 0 0 #0000, 0 0 #0000, 0 1px 3px #0000001a, 0 1px 2px -1px #0000001a;\n box-shadow: var(--univer-tw-ring-offset-shadow, 0 0 #0000), var(--univer-tw-ring-shadow, 0 0 #0000), var(--univer-tw-shadow);\n}\n\n.univer-shadow-lg {\n --univer-tw-shadow: 0px 4px 6px 0px #1e284d0d, 0px 10px 15px -3px #1e284d1a;\n --univer-tw-shadow-colored: 0px 4px 6px 0px var(--univer-tw-shadow-color), 0px 10px 15px -3px var(--univer-tw-shadow-color);\n box-shadow: 0 0 #0000, 0 0 #0000, 0 4px 6px #1e284d0d, 0 10px 15px -3px #1e284d1a;\n box-shadow: var(--univer-tw-ring-offset-shadow, 0 0 #0000), var(--univer-tw-ring-shadow, 0 0 #0000), var(--univer-tw-shadow);\n}\n\n.univer-outline-none {\n outline-offset: 2px;\n outline: 2px solid #0000;\n}\n\n.univer-blur-sm {\n --univer-tw-blur: blur(4px);\n filter: var(--univer-tw-blur) var(--univer-tw-brightness) var(--univer-tw-contrast) var(--univer-tw-grayscale) var(--univer-tw-hue-rotate) var(--univer-tw-invert) var(--univer-tw-saturate) var(--univer-tw-sepia) var(--univer-tw-drop-shadow);\n}\n\n.univer-backdrop-blur {\n --univer-tw-backdrop-blur: blur(8px);\n backdrop-filter: var(--univer-tw-backdrop-blur) var(--univer-tw-backdrop-brightness) var(--univer-tw-backdrop-contrast) var(--univer-tw-backdrop-grayscale) var(--univer-tw-backdrop-hue-rotate) var(--univer-tw-backdrop-invert) var(--univer-tw-backdrop-opacity) var(--univer-tw-backdrop-saturate) var(--univer-tw-backdrop-sepia);\n}\n\n.univer-transition-\\[colors\\,box-shadow\\] {\n transition-property: colors, box-shadow;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.univer-transition-\\[height\\] {\n transition-property: height;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.univer-transition-all {\n transition-property: all;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.univer-transition-colors {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.univer-duration-200 {\n transition-duration: .2s;\n}\n\n.univer-ease-linear {\n transition-timing-function: linear;\n}\n\n.after\\:univer-absolute:after {\n content: var(--univer-tw-content);\n position: absolute;\n}\n\n.after\\:univer-right-0:after {\n content: var(--univer-tw-content);\n right: 0;\n}\n\n.after\\:univer-top-1\\/2:after {\n content: var(--univer-tw-content);\n top: 50%;\n}\n\n.after\\:univer-block:after {\n content: var(--univer-tw-content);\n display: block;\n}\n\n.after\\:univer-h-4:after {\n content: var(--univer-tw-content);\n height: 1rem;\n}\n\n.after\\:univer-w-px:after {\n content: var(--univer-tw-content);\n width: 1px;\n}\n\n.after\\:-univer-translate-y-1\\/2:after {\n content: var(--univer-tw-content);\n --univer-tw-translate-y: -50%;\n transform: translate(var(--univer-tw-translate-x), -50%) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n}\n\n.after\\:univer-bg-gray-200:after {\n content: var(--univer-tw-content);\n background-color: var(--univer-gray-200);\n}\n\n.after\\:univer-content-\\[\\"\\"\\]:after {\n --univer-tw-content: "";\n content: "";\n content: var(--univer-tw-content);\n}\n\n.last\\:univer-mb-0:last-child {\n margin-bottom: 0;\n}\n\n.univer-group:hover .group-hover\\:univer-flex {\n display: flex;\n}\n\n.hover\\:univer-border-primary-600:hover {\n border-color: var(--univer-primary-600);\n}\n\n.hover\\:univer-bg-gray-100:hover {\n background-color: var(--univer-gray-100);\n}\n\n.hover\\:univer-bg-gray-200:hover {\n background-color: var(--univer-gray-200);\n}\n\n.hover\\:univer-bg-gray-50:hover {\n background-color: var(--univer-gray-50);\n}\n\n.hover\\:univer-bg-transparent:hover {\n background-color: #0000;\n}\n\n.focus\\:univer-border-primary-500:focus {\n border-color: var(--univer-primary-500);\n}\n\n.focus\\:univer-outline-none:focus {\n outline-offset: 2px;\n outline: 2px solid #0000;\n}\n\n.focus-visible\\:univer-ring-2:focus-visible {\n --univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color);\n --univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(2px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color);\n box-shadow: var(--univer-tw-ring-offset-shadow), var(--univer-tw-ring-shadow), 0 0 #0000;\n box-shadow: var(--univer-tw-ring-offset-shadow), var(--univer-tw-ring-shadow), var(--univer-tw-shadow, 0 0 #0000);\n}\n\n.focus-visible\\:univer-ring-primary-500:focus-visible {\n --univer-tw-ring-color: var(--univer-primary-500);\n}\n\n.active\\:univer-bg-gray-100:active {\n background-color: var(--univer-gray-100);\n}\n\n.dark\\:\\!univer-divide-gray-600:where(.univer-dark, .univer-dark *) > :not([hidden]) ~ :not([hidden]) {\n border-color: var(--univer-gray-600) !important;\n}\n\n.dark\\:\\!univer-border-gray-700:where(.univer-dark, .univer-dark *) {\n border-color: var(--univer-gray-700) !important;\n}\n\n.dark\\:\\!univer-border-r-gray-700:where(.univer-dark, .univer-dark *) {\n border-right-color: var(--univer-gray-700) !important;\n}\n\n.dark\\:\\!univer-bg-black:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-black) !important;\n}\n\n.dark\\:\\!univer-bg-blue-400:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-blue-400) !important;\n}\n\n.dark\\:\\!univer-bg-gray-600:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-gray-600) !important;\n}\n\n.dark\\:\\!univer-bg-gray-700:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-gray-700) !important;\n}\n\n.dark\\:\\!univer-bg-gray-800:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-gray-800) !important;\n}\n\n.dark\\:\\!univer-bg-gray-900:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-gray-900) !important;\n}\n\n.dark\\:\\!univer-from-gray-800:where(.univer-dark, .univer-dark *) {\n --univer-tw-gradient-from: var(--univer-gray-800) var(--univer-tw-gradient-from-position) !important;\n --univer-tw-gradient-to: #fff0 var(--univer-tw-gradient-to-position) !important;\n --univer-tw-gradient-stops: var(--univer-tw-gradient-from), var(--univer-tw-gradient-to) !important;\n}\n\n.dark\\:\\!univer-to-gray-900:where(.univer-dark, .univer-dark *) {\n --univer-tw-gradient-to: var(--univer-gray-900) var(--univer-tw-gradient-to-position) !important;\n}\n\n.dark\\:\\!univer-fill-white:where(.univer-dark, .univer-dark *) {\n fill: var(--univer-white) !important;\n}\n\n.dark\\:\\!univer-text-blue-400:where(.univer-dark, .univer-dark *) {\n color: var(--univer-blue-400) !important;\n}\n\n.dark\\:\\!univer-text-gray-200:where(.univer-dark, .univer-dark *) {\n color: var(--univer-gray-200) !important;\n}\n\n.dark\\:\\!univer-text-gray-300:where(.univer-dark, .univer-dark *) {\n color: var(--univer-gray-300) !important;\n}\n\n.dark\\:\\!univer-text-gray-700:where(.univer-dark, .univer-dark *) {\n color: var(--univer-gray-700) !important;\n}\n\n.dark\\:\\!univer-text-green-400:where(.univer-dark, .univer-dark *) {\n color: var(--univer-green-400) !important;\n}\n\n.dark\\:\\!univer-text-red-400:where(.univer-dark, .univer-dark *) {\n color: var(--univer-red-400) !important;\n}\n\n.dark\\:\\!univer-text-white:where(.univer-dark, .univer-dark *) {\n color: var(--univer-white) !important;\n}\n\n.dark\\:hover\\:\\!univer-bg-gray-600:hover:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-gray-600) !important;\n}\n\n.dark\\:hover\\:\\!univer-bg-gray-700:hover:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-gray-700) !important;\n}\n\n.dark\\:hover\\:\\!univer-bg-gray-800:hover:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-gray-800) !important;\n}\n\n.\\[\\&\\>div\\:first-child\\]\\:univer-px-2\\.5 > div:first-child {\n padding-left: .625rem;\n padding-right: .625rem;\n}\n\n.\\[\\&\\>div\\]\\:univer-h-5 > div {\n height: 1.25rem;\n}\n\n.\\[\\&\\>div\\]\\:univer-ring-transparent > div {\n --univer-tw-ring-color: transparent;\n}\n\n.\\[\\&_canvas\\]\\:univer-absolute canvas {\n position: absolute;\n}\n',""]);const s=o},5477(e,t,r){"use strict";r.d(t,{A:()=>s});var n=r(1601),i=r.n(n),a=r(6314),o=r.n(a)()(i());o.push([e.id,'.univer-pointer-events-none {\n pointer-events: none;\n}\n\n.univer-pointer-events-auto {\n pointer-events: auto;\n}\n\n.univer-invisible {\n visibility: hidden;\n}\n\n.univer-fixed {\n position: fixed;\n}\n\n.univer-absolute {\n position: absolute;\n}\n\n.univer-relative {\n position: relative;\n}\n\n.univer-sticky {\n position: sticky;\n}\n\n.univer-inset-0 {\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n}\n\n.-univer-left-\\[99999\\] {\n left: -99999px;\n}\n\n.-univer-top-\\[99999\\] {\n top: -99999px;\n}\n\n.univer-bottom-0 {\n bottom: 0;\n}\n\n.univer-left-0 {\n left: 0;\n}\n\n.univer-left-1 {\n left: .25rem;\n}\n\n.univer-left-1\\/2 {\n left: 50%;\n}\n\n.univer-left-\\[-9999px\\] {\n left: -9999px;\n}\n\n.univer-right-0 {\n right: 0;\n}\n\n.univer-right-2 {\n right: .5rem;\n}\n\n.univer-top-0 {\n top: 0;\n}\n\n.univer-top-0\\.5 {\n top: .125rem;\n}\n\n.univer-top-1\\/2 {\n top: 50%;\n}\n\n.univer-top-\\[-9999px\\] {\n top: -9999px;\n}\n\n.univer-top-\\[calc\\(50\\%-6px\\)\\] {\n top: calc(50% - 6px);\n}\n\n.univer-z-10 {\n z-index: 10;\n}\n\n.univer-z-\\[-1\\] {\n z-index: -1;\n}\n\n.univer-z-\\[100\\] {\n z-index: 100;\n}\n\n.univer-z-\\[1020\\] {\n z-index: 1020;\n}\n\n.univer-z-\\[1080\\] {\n z-index: 1080;\n}\n\n.univer-z-\\[1\\] {\n z-index: 1;\n}\n\n.univer-m-0 {\n margin: 0;\n}\n\n.univer-mx-2 {\n margin-left: .5rem;\n margin-right: .5rem;\n}\n\n.univer-mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n\n.univer-mb-0 {\n margin-bottom: 0;\n}\n\n.univer-mr-2 {\n margin-right: .5rem;\n}\n\n.univer-mt-2 {\n margin-top: .5rem;\n}\n\n.univer-mt-6 {\n margin-top: 1.5rem;\n}\n\n.univer-box-border {\n box-sizing: border-box;\n}\n\n.univer-line-clamp-2 {\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.univer-block {\n display: block;\n}\n\n.univer-flex {\n display: flex;\n}\n\n.univer-inline-flex {\n display: inline-flex;\n}\n\n.univer-grid {\n display: grid;\n}\n\n.univer-hidden {\n display: none;\n}\n\n.univer-size-0\\.5 {\n width: .125rem;\n height: .125rem;\n}\n\n.univer-size-12 {\n width: 3rem;\n height: 3rem;\n}\n\n.univer-size-3 {\n width: .75rem;\n height: .75rem;\n}\n\n.univer-size-3\\.5 {\n width: .875rem;\n height: .875rem;\n}\n\n.univer-size-4 {\n width: 1rem;\n height: 1rem;\n}\n\n.univer-size-6 {\n width: 1.5rem;\n height: 1.5rem;\n}\n\n.univer-size-7 {\n width: 1.75rem;\n height: 1.75rem;\n}\n\n.univer-size-8 {\n width: 2rem;\n height: 2rem;\n}\n\n.univer-size-9 {\n width: 2.25rem;\n height: 2.25rem;\n}\n\n.univer-size-full {\n width: 100%;\n height: 100%;\n}\n\n.univer-h-0 {\n height: 0;\n}\n\n.univer-h-0\\.5 {\n height: .125rem;\n}\n\n.univer-h-1 {\n height: .25rem;\n}\n\n.univer-h-1\\.5 {\n height: .375rem;\n}\n\n.univer-h-10 {\n height: 2.5rem;\n}\n\n.univer-h-6 {\n height: 1.5rem;\n}\n\n.univer-h-7 {\n height: 1.75rem;\n}\n\n.univer-h-8 {\n height: 2rem;\n}\n\n.univer-h-9 {\n height: 2.25rem;\n}\n\n.univer-h-full {\n height: 100%;\n}\n\n.univer-max-h-\\[80vh\\] {\n max-height: 80vh;\n}\n\n.univer-max-h-\\[min\\(72vh\\,560px\\)\\] {\n max-height: min(72vh, 560px);\n}\n\n.univer-min-h-0 {\n min-height: 0;\n}\n\n.univer-min-h-8 {\n min-height: 2rem;\n}\n\n.univer-min-h-\\[560px\\] {\n min-height: 560px;\n}\n\n.univer-min-h-\\[56px\\] {\n min-height: 56px;\n}\n\n.univer-min-h-full {\n min-height: 100%;\n}\n\n.univer-w-0 {\n width: 0;\n}\n\n.univer-w-10 {\n width: 2.5rem;\n}\n\n.univer-w-24 {\n width: 6rem;\n}\n\n.univer-w-32 {\n width: 8rem;\n}\n\n.univer-w-40 {\n width: 10rem;\n}\n\n.univer-w-5 {\n width: 1.25rem;\n}\n\n.univer-w-7 {\n width: 1.75rem;\n}\n\n.univer-w-8 {\n width: 2rem;\n}\n\n.univer-w-96 {\n width: 24rem;\n}\n\n.univer-w-full {\n width: 100%;\n}\n\n.univer-w-max {\n width: max-content;\n}\n\n.univer-w-screen {\n width: 100vw;\n}\n\n.univer-min-w-0 {\n min-width: 0;\n}\n\n.univer-min-w-52 {\n min-width: 13rem;\n}\n\n.univer-min-w-6 {\n min-width: 1.5rem;\n}\n\n.univer-min-w-min {\n min-width: min-content;\n}\n\n.univer-max-w-3xl {\n max-width: 48rem;\n}\n\n.univer-max-w-5xl {\n max-width: 64rem;\n}\n\n.univer-max-w-96 {\n max-width: 24rem;\n}\n\n.univer-max-w-\\[--radix-popper-available-width\\] {\n max-width: var(--radix-popper-available-width);\n}\n\n.univer-max-w-\\[32\\%\\] {\n max-width: 32%;\n}\n\n.univer-max-w-\\[560px\\] {\n max-width: 560px;\n}\n\n.univer-max-w-\\[calc\\(100vw-16px\\)\\] {\n max-width: calc(100vw - 16px);\n}\n\n.univer-max-w-full {\n max-width: 100%;\n}\n\n.univer-flex-1 {\n flex: 1;\n}\n\n.univer-flex-shrink-0, .univer-shrink-0 {\n flex-shrink: 0;\n}\n\n.univer-origin-center {\n transform-origin: center;\n}\n\n.-univer-translate-x-1\\/2 {\n --univer-tw-translate-x: -50%;\n transform: translate(-50%, var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n}\n\n.-univer-translate-y-1\\/2 {\n --univer-tw-translate-y: -50%;\n transform: translate(var(--univer-tw-translate-x), -50%) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n}\n\n.univer-translate-x-0 {\n --univer-tw-translate-x: 0px;\n transform: translate(0px, var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n}\n\n.univer-translate-x-full {\n --univer-tw-translate-x: 100%;\n transform: translate(100%, var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n}\n\n.univer-rotate-180 {\n --univer-tw-rotate: 180deg;\n transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(180deg) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y));\n}\n\n.univer-cursor-default {\n cursor: default;\n}\n\n.univer-cursor-not-allowed {\n cursor: not-allowed;\n}\n\n.univer-cursor-pointer {\n cursor: pointer;\n}\n\n.univer-select-none {\n user-select: none;\n}\n\n.univer-list-none {\n list-style-type: none;\n}\n\n.univer-appearance-none {\n -webkit-appearance: none;\n appearance: none;\n}\n\n.univer-grid-flow-col {\n grid-auto-flow: column;\n}\n\n.univer-grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n\n.univer-grid-cols-\\[1fr\\] {\n grid-template-columns: 1fr;\n}\n\n.univer-grid-cols-\\[22px_minmax\\(0\\,1fr\\)_22px\\] {\n grid-template-columns: 22px minmax(0, 1fr) 22px;\n}\n\n.univer-grid-cols-\\[28px_minmax\\(0\\,1fr\\)_auto\\] {\n grid-template-columns: 28px minmax(0, 1fr) auto;\n}\n\n.univer-grid-cols-\\[32px_minmax\\(0\\,1fr\\)_32px\\] {\n grid-template-columns: 32px minmax(0, 1fr) 32px;\n}\n\n.univer-grid-cols-\\[auto\\,1fr\\] {\n grid-template-columns: auto 1fr;\n}\n\n.univer-grid-cols-\\[auto_1fr_auto\\] {\n grid-template-columns: auto 1fr auto;\n}\n\n.univer-grid-cols-none {\n grid-template-columns: none;\n}\n\n.univer-grid-rows-\\[100\\%\\] {\n grid-template-rows: 100%;\n}\n\n.univer-grid-rows-\\[auto_1fr\\] {\n grid-template-rows: auto 1fr;\n}\n\n.univer-grid-rows-\\[auto_1fr_auto\\] {\n grid-template-rows: auto 1fr auto;\n}\n\n.univer-flex-col {\n flex-direction: column;\n}\n\n.univer-flex-wrap {\n flex-wrap: wrap;\n}\n\n.univer-items-end {\n align-items: flex-end;\n}\n\n.univer-items-center {\n align-items: center;\n}\n\n.univer-justify-center {\n justify-content: center;\n}\n\n.univer-justify-between {\n justify-content: space-between;\n}\n\n.univer-gap-0\\.5 {\n gap: .125rem;\n}\n\n.univer-gap-1 {\n gap: .25rem;\n}\n\n.univer-gap-1\\.5 {\n gap: .375rem;\n}\n\n.univer-gap-2 {\n gap: .5rem;\n}\n\n.univer-gap-2\\.5 {\n gap: .625rem;\n}\n\n.univer-gap-3 {\n gap: .75rem;\n}\n\n.univer-gap-6 {\n gap: 1.5rem;\n}\n\n.univer-overflow-hidden {\n overflow: hidden;\n}\n\n.univer-overflow-x-auto {\n overflow-x: auto;\n}\n\n.univer-overflow-y-auto {\n overflow-y: auto;\n}\n\n.univer-overscroll-contain {\n overscroll-behavior: contain;\n}\n\n.univer-scroll-smooth {\n scroll-behavior: smooth;\n}\n\n.univer-truncate {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.univer-whitespace-nowrap {\n white-space: nowrap;\n}\n\n.univer-break-words {\n word-wrap: break-word;\n}\n\n.\\!univer-rounded-full {\n border-radius: 9999px !important;\n}\n\n.\\!univer-rounded-xl {\n border-radius: .75rem !important;\n}\n\n.univer-rounded {\n border-radius: .25rem;\n}\n\n.univer-rounded-2xl {\n border-radius: 1rem;\n}\n\n.univer-rounded-3xl {\n border-radius: 1.5rem;\n}\n\n.univer-rounded-full {\n border-radius: 9999px;\n}\n\n.univer-rounded-lg {\n border-radius: .5rem;\n}\n\n.univer-rounded-md {\n border-radius: .375rem;\n}\n\n.univer-rounded-sm {\n border-radius: .125rem;\n}\n\n.univer-rounded-xl {\n border-radius: .75rem;\n}\n\n.univer-rounded-l {\n border-top-left-radius: .25rem;\n border-bottom-left-radius: .25rem;\n}\n\n.univer-rounded-r {\n border-top-right-radius: .25rem;\n border-bottom-right-radius: .25rem;\n}\n\n.univer-rounded-t-\\[28px\\] {\n border-top-left-radius: 28px;\n border-top-right-radius: 28px;\n}\n\n.univer-border {\n border-width: 1px;\n}\n\n.univer-border-0 {\n border-width: 0;\n}\n\n.univer-border-b {\n border-bottom-width: 1px;\n}\n\n.univer-border-solid {\n border-style: solid;\n}\n\n.univer-border-none {\n border-style: none;\n}\n\n.univer-border-gray-200 {\n border-color: var(--univer-gray-200);\n}\n\n.\\!univer-bg-gray-200 {\n background-color: var(--univer-gray-200) !important;\n}\n\n.\\!univer-bg-gray-500 {\n background-color: var(--univer-gray-500) !important;\n}\n\n.\\!univer-bg-gray-900 {\n background-color: var(--univer-gray-900) !important;\n}\n\n.univer-bg-\\[rgba\\(15\\,23\\,42\\,0\\.32\\)\\] {\n background-color: #0f172a52;\n}\n\n.univer-bg-gray-100 {\n background-color: var(--univer-gray-100);\n}\n\n.univer-bg-gray-200 {\n background-color: var(--univer-gray-200);\n}\n\n.univer-bg-gray-300 {\n background-color: var(--univer-gray-300);\n}\n\n.univer-bg-gray-400 {\n background-color: var(--univer-gray-400);\n}\n\n.univer-bg-gray-50 {\n background-color: var(--univer-gray-50);\n}\n\n.univer-bg-gray-700 {\n background-color: var(--univer-gray-700);\n}\n\n.univer-bg-primary-50 {\n background-color: var(--univer-primary-50);\n}\n\n.univer-bg-primary-600 {\n background-color: var(--univer-primary-600);\n}\n\n.univer-bg-transparent {\n background-color: #0000;\n}\n\n.univer-bg-white {\n background-color: var(--univer-white);\n}\n\n.univer-bg-gradient-to-tr {\n background-image: linear-gradient(to top right, var(--univer-tw-gradient-stops));\n}\n\n.univer-from-slate-950 {\n --univer-tw-gradient-from: #020617 var(--univer-tw-gradient-from-position);\n --univer-tw-gradient-to: #02061700 var(--univer-tw-gradient-to-position);\n --univer-tw-gradient-stops: var(--univer-tw-gradient-from), var(--univer-tw-gradient-to);\n}\n\n.univer-via-blue-950 {\n --univer-tw-gradient-to: #17255400 var(--univer-tw-gradient-to-position);\n --univer-tw-gradient-stops: var(--univer-tw-gradient-from), #172554 var(--univer-tw-gradient-via-position), var(--univer-tw-gradient-to);\n}\n\n.univer-to-cyan-900 {\n --univer-tw-gradient-to: #164e63 var(--univer-tw-gradient-to-position);\n}\n\n.univer-p-0 {\n padding: 0;\n}\n\n.univer-p-1 {\n padding: .25rem;\n}\n\n.univer-p-2 {\n padding: .5rem;\n}\n\n.univer-p-4 {\n padding: 1rem;\n}\n\n.univer-p-8 {\n padding: 2rem;\n}\n\n.univer-px-0 {\n padding-left: 0;\n padding-right: 0;\n}\n\n.univer-px-0\\.5 {\n padding-left: .125rem;\n padding-right: .125rem;\n}\n\n.univer-px-1 {\n padding-left: .25rem;\n padding-right: .25rem;\n}\n\n.univer-px-1\\.5 {\n padding-left: .375rem;\n padding-right: .375rem;\n}\n\n.univer-px-2 {\n padding-left: .5rem;\n padding-right: .5rem;\n}\n\n.univer-px-3 {\n padding-left: .75rem;\n padding-right: .75rem;\n}\n\n.univer-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n.univer-py-0\\.5 {\n padding-top: .125rem;\n padding-bottom: .125rem;\n}\n\n.univer-py-1 {\n padding-top: .25rem;\n padding-bottom: .25rem;\n}\n\n.univer-py-1\\.5 {\n padding-top: .375rem;\n padding-bottom: .375rem;\n}\n\n.univer-py-3 {\n padding-top: .75rem;\n padding-bottom: .75rem;\n}\n\n.univer-pb-1 {\n padding-bottom: .25rem;\n}\n\n.univer-pb-2 {\n padding-bottom: .5rem;\n}\n\n.univer-pb-3 {\n padding-bottom: .75rem;\n}\n\n.univer-pl-2 {\n padding-left: .5rem;\n}\n\n.univer-pl-3 {\n padding-left: .75rem;\n}\n\n.univer-pl-4 {\n padding-left: 1rem;\n}\n\n.univer-pl-6 {\n padding-left: 1.5rem;\n}\n\n.univer-pr-1\\.5 {\n padding-right: .375rem;\n}\n\n.univer-pr-2 {\n padding-right: .5rem;\n}\n\n.univer-pr-5 {\n padding-right: 1.25rem;\n}\n\n.univer-pt-1 {\n padding-top: .25rem;\n}\n\n.univer-pt-3 {\n padding-top: .75rem;\n}\n\n.univer-text-left {\n text-align: left;\n}\n\n.univer-text-center {\n text-align: center;\n}\n\n.univer-text-right {\n text-align: right;\n}\n\n.univer-font-sans {\n font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;\n}\n\n.univer-text-2xl {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n\n.univer-text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n\n.univer-text-sm {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n.univer-text-xs {\n font-size: .75rem;\n line-height: 1rem;\n}\n\n.univer-font-bold {\n font-weight: 700;\n}\n\n.univer-font-medium {\n font-weight: 500;\n}\n\n.univer-font-semibold {\n font-weight: 600;\n}\n\n.univer-uppercase {\n text-transform: uppercase;\n}\n\n.univer-leading-4 {\n line-height: 1rem;\n}\n\n.univer-leading-6 {\n line-height: 1.5rem;\n}\n\n.univer-leading-none {\n line-height: 1;\n}\n\n.univer-tracking-\\[0\\.08em\\] {\n letter-spacing: .08em;\n}\n\n.univer-tracking-tight {\n letter-spacing: -.025em;\n}\n\n.\\!univer-text-gray-600 {\n color: var(--univer-gray-600) !important;\n}\n\n.\\!univer-text-white {\n color: var(--univer-white) !important;\n}\n\n.univer-text-current {\n color: currentColor;\n}\n\n.univer-text-gray-200 {\n color: var(--univer-gray-200);\n}\n\n.univer-text-gray-300 {\n color: var(--univer-gray-300);\n}\n\n.univer-text-gray-400 {\n color: var(--univer-gray-400);\n}\n\n.univer-text-gray-500 {\n color: var(--univer-gray-500);\n}\n\n.univer-text-gray-600 {\n color: var(--univer-gray-600);\n}\n\n.univer-text-gray-700 {\n color: var(--univer-gray-700);\n}\n\n.univer-text-gray-800 {\n color: var(--univer-gray-800);\n}\n\n.univer-text-gray-900 {\n color: var(--univer-gray-900);\n}\n\n.univer-text-primary-600 {\n color: var(--univer-primary-600);\n}\n\n.univer-text-primary-700 {\n color: var(--univer-primary-700);\n}\n\n.univer-text-slate-200 {\n --univer-tw-text-opacity: 1;\n color: rgba(226, 232, 240, var(--univer-tw-text-opacity, 1));\n}\n\n.univer-text-white {\n color: var(--univer-white);\n}\n\n.univer-underline {\n text-decoration-line: underline;\n}\n\n.univer-opacity-0 {\n opacity: 0;\n}\n\n.univer-opacity-30 {\n opacity: .3;\n}\n\n.univer-opacity-40 {\n opacity: .4;\n}\n\n.univer-opacity-60 {\n opacity: .6;\n}\n\n.univer-shadow {\n --univer-tw-shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;\n --univer-tw-shadow-colored: 0 1px 3px 0 var(--univer-tw-shadow-color), 0 1px 2px -1px var(--univer-tw-shadow-color);\n box-shadow: 0 0 #0000, 0 0 #0000, 0 1px 3px #0000001a, 0 1px 2px -1px #0000001a;\n box-shadow: var(--univer-tw-ring-offset-shadow, 0 0 #0000), var(--univer-tw-ring-shadow, 0 0 #0000), var(--univer-tw-shadow);\n}\n\n.univer-shadow-\\[0_-16px_48px_rgba\\(15\\,23\\,42\\,0\\.18\\)\\] {\n --univer-tw-shadow: 0 -16px 48px #0f172a2e;\n --univer-tw-shadow-colored: 0 -16px 48px var(--univer-tw-shadow-color);\n box-shadow: 0 0 #0000, 0 0 #0000, 0 -16px 48px #0f172a2e;\n box-shadow: var(--univer-tw-ring-offset-shadow, 0 0 #0000), var(--univer-tw-ring-shadow, 0 0 #0000), var(--univer-tw-shadow);\n}\n\n.univer-shadow-md {\n --univer-tw-shadow: 0px 1px 6px -2px #1e284d14, 0px 2px 6px -1px #1e284d1a;\n --univer-tw-shadow-colored: 0px 1px 6px -2px var(--univer-tw-shadow-color), 0px 2px 6px -1px var(--univer-tw-shadow-color);\n box-shadow: 0 0 #0000, 0 0 #0000, 0 1px 6px -2px #1e284d14, 0 2px 6px -1px #1e284d1a;\n box-shadow: var(--univer-tw-ring-offset-shadow, 0 0 #0000), var(--univer-tw-ring-shadow, 0 0 #0000), var(--univer-tw-shadow);\n}\n\n.univer-shadow-sm {\n --univer-tw-shadow: 0px 1px 2px 0px #1e284d14;\n --univer-tw-shadow-colored: 0px 1px 2px 0px var(--univer-tw-shadow-color);\n box-shadow: 0 0 #0000, 0 0 #0000, 0 1px 2px #1e284d14;\n box-shadow: var(--univer-tw-ring-offset-shadow, 0 0 #0000), var(--univer-tw-ring-shadow, 0 0 #0000), var(--univer-tw-shadow);\n}\n\n.univer-outline-none {\n outline-offset: 2px;\n outline: 2px solid #0000;\n}\n\n.univer-ring-0 {\n --univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color);\n --univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(0px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color);\n box-shadow: var(--univer-tw-ring-offset-shadow), var(--univer-tw-ring-shadow), 0 0 #0000;\n box-shadow: var(--univer-tw-ring-offset-shadow), var(--univer-tw-ring-shadow), var(--univer-tw-shadow, 0 0 #0000);\n}\n\n.univer-ring-1 {\n --univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color);\n --univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(1px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color);\n box-shadow: var(--univer-tw-ring-offset-shadow), var(--univer-tw-ring-shadow), 0 0 #0000;\n box-shadow: var(--univer-tw-ring-offset-shadow), var(--univer-tw-ring-shadow), var(--univer-tw-shadow, 0 0 #0000);\n}\n\n.univer-ring-primary-600 {\n --univer-tw-ring-color: var(--univer-primary-600);\n}\n\n.univer-backdrop-blur-\\[2px\\] {\n --univer-tw-backdrop-blur: blur(2px);\n backdrop-filter: var(--univer-tw-backdrop-blur) var(--univer-tw-backdrop-brightness) var(--univer-tw-backdrop-contrast) var(--univer-tw-backdrop-grayscale) var(--univer-tw-backdrop-hue-rotate) var(--univer-tw-backdrop-invert) var(--univer-tw-backdrop-opacity) var(--univer-tw-backdrop-saturate) var(--univer-tw-backdrop-sepia);\n}\n\n.univer-backdrop-blur-xl {\n --univer-tw-backdrop-blur: blur(24px);\n backdrop-filter: var(--univer-tw-backdrop-blur) var(--univer-tw-backdrop-brightness) var(--univer-tw-backdrop-contrast) var(--univer-tw-backdrop-grayscale) var(--univer-tw-backdrop-hue-rotate) var(--univer-tw-backdrop-invert) var(--univer-tw-backdrop-opacity) var(--univer-tw-backdrop-saturate) var(--univer-tw-backdrop-sepia);\n}\n\n.univer-transition-\\[width\\] {\n transition-property: width;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.univer-transition-all {\n transition-property: all;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.univer-transition-colors {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n@keyframes enter {\n from {\n opacity: 1;\n opacity: var(--univer-tw-enter-opacity, 1);\n transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotate(0);\n transform: translate3d(var(--univer-tw-enter-translate-x, 0), var(--univer-tw-enter-translate-y, 0), 0) scale3d(var(--univer-tw-enter-scale, 1), var(--univer-tw-enter-scale, 1), var(--univer-tw-enter-scale, 1)) rotate(var(--univer-tw-enter-rotate, 0));\n }\n}\n\n@keyframes exit {\n to {\n opacity: 1;\n opacity: var(--univer-tw-exit-opacity, 1);\n transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotate(0);\n transform: translate3d(var(--univer-tw-exit-translate-x, 0), var(--univer-tw-exit-translate-y, 0), 0) scale3d(var(--univer-tw-exit-scale, 1), var(--univer-tw-exit-scale, 1), var(--univer-tw-exit-scale, 1)) rotate(var(--univer-tw-exit-rotate, 0));\n }\n}\n\n.univer-animate-in {\n --univer-tw-enter-opacity: initial;\n --univer-tw-enter-scale: initial;\n --univer-tw-enter-rotate: initial;\n --univer-tw-enter-translate-x: initial;\n --univer-tw-enter-translate-y: initial;\n animation-name: enter;\n animation-duration: .15s;\n}\n\n.univer-fade-in {\n --univer-tw-enter-opacity: 0;\n}\n\n.univer-fade-in-70 {\n --univer-tw-enter-opacity: .7;\n}\n\n.last\\:univer-border-b-0:last-child {\n border-bottom-width: 0;\n}\n\n.hover\\:univer-bg-gray-100:hover {\n background-color: var(--univer-gray-100);\n}\n\n.hover\\:univer-bg-gray-200:hover {\n background-color: var(--univer-gray-200);\n}\n\n.hover\\:univer-bg-gray-50:hover {\n background-color: var(--univer-gray-50);\n}\n\n.hover\\:univer-bg-transparent:hover {\n background-color: #0000;\n}\n\n.hover\\:univer-opacity-50:hover {\n opacity: .5;\n}\n\n.focus\\:univer-bg-white:focus {\n background-color: var(--univer-white);\n}\n\n.focus\\:univer-outline-none:focus {\n outline-offset: 2px;\n outline: 2px solid #0000;\n}\n\n.focus-visible\\:univer-ring-2:focus-visible {\n --univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color);\n --univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(2px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color);\n box-shadow: var(--univer-tw-ring-offset-shadow), var(--univer-tw-ring-shadow), 0 0 #0000;\n box-shadow: var(--univer-tw-ring-offset-shadow), var(--univer-tw-ring-shadow), var(--univer-tw-shadow, 0 0 #0000);\n}\n\n.focus-visible\\:univer-ring-primary-600:focus-visible {\n --univer-tw-ring-color: var(--univer-primary-600);\n}\n\n.focus-visible\\:univer-ring-offset-0:focus-visible {\n --univer-tw-ring-offset-width: 0px;\n}\n\n.active\\:univer-bg-gray-200:active {\n background-color: var(--univer-gray-200);\n}\n\n.enabled\\:hover\\:univer-bg-gray-50:hover:enabled {\n background-color: var(--univer-gray-50);\n}\n\n.enabled\\:active\\:univer-bg-gray-100:active:enabled {\n background-color: var(--univer-gray-100);\n}\n\n.disabled\\:univer-cursor-not-allowed:disabled {\n cursor: not-allowed;\n}\n\n.disabled\\:univer-text-gray-300:disabled {\n color: var(--univer-gray-300);\n}\n\n.disabled\\:univer-opacity-40:disabled {\n opacity: .4;\n}\n\n.disabled\\:hover\\:univer-bg-transparent:hover:disabled {\n background-color: #0000;\n}\n\n@media (min-width: 640px) {\n .sm\\:\\!univer-block {\n display: block !important;\n }\n}\n\n.rtl\\:univer-pl-1\\.5:where([dir="rtl"], [dir="rtl"] *) {\n padding-left: .375rem;\n}\n\n.rtl\\:univer-pr-0:where([dir="rtl"], [dir="rtl"] *) {\n padding-right: 0;\n}\n\n.rtl\\:univer-pr-2:where([dir="rtl"], [dir="rtl"] *) {\n padding-right: .5rem;\n}\n\n.dark\\:\\!univer-border-gray-600:where(.univer-dark, .univer-dark *) {\n border-color: var(--univer-gray-600) !important;\n}\n\n.dark\\:\\!univer-bg-gray-200:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-gray-200) !important;\n}\n\n.dark\\:\\!univer-bg-gray-500:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-gray-500) !important;\n}\n\n.dark\\:\\!univer-bg-gray-600:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-gray-600) !important;\n}\n\n.dark\\:\\!univer-bg-gray-700:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-gray-700) !important;\n}\n\n.dark\\:\\!univer-bg-gray-800:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-gray-800) !important;\n}\n\n.dark\\:\\!univer-bg-gray-900:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-gray-900) !important;\n}\n\n.dark\\:\\!univer-bg-primary-400:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-primary-400) !important;\n}\n\n.dark\\:\\!univer-bg-primary-900:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-primary-900) !important;\n}\n\n.dark\\:\\!univer-text-gray-100:where(.univer-dark, .univer-dark *) {\n color: var(--univer-gray-100) !important;\n}\n\n.dark\\:\\!univer-text-gray-200:where(.univer-dark, .univer-dark *) {\n color: var(--univer-gray-200) !important;\n}\n\n.dark\\:\\!univer-text-gray-300:where(.univer-dark, .univer-dark *) {\n color: var(--univer-gray-300) !important;\n}\n\n.dark\\:\\!univer-text-gray-400:where(.univer-dark, .univer-dark *) {\n color: var(--univer-gray-400) !important;\n}\n\n.dark\\:\\!univer-text-gray-500:where(.univer-dark, .univer-dark *) {\n color: var(--univer-gray-500) !important;\n}\n\n.dark\\:\\!univer-text-gray-600:where(.univer-dark, .univer-dark *) {\n color: var(--univer-gray-600) !important;\n}\n\n.dark\\:\\!univer-text-gray-800:where(.univer-dark, .univer-dark *) {\n color: var(--univer-gray-800) !important;\n}\n\n.dark\\:\\!univer-text-primary-100:where(.univer-dark, .univer-dark *) {\n color: var(--univer-primary-100) !important;\n}\n\n.dark\\:\\!univer-text-primary-300:where(.univer-dark, .univer-dark *) {\n color: var(--univer-primary-300) !important;\n}\n\n.dark\\:\\!univer-text-primary-400:where(.univer-dark, .univer-dark *) {\n color: var(--univer-primary-400) !important;\n}\n\n.dark\\:\\!univer-text-white:where(.univer-dark, .univer-dark *) {\n color: var(--univer-white) !important;\n}\n\n.dark\\:hover\\:\\!univer-bg-gray-600:hover:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-gray-600) !important;\n}\n\n.dark\\:hover\\:\\!univer-bg-gray-700:hover:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-gray-700) !important;\n}\n\n.dark\\:hover\\:\\!univer-bg-gray-900:hover:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-gray-900) !important;\n}\n\n.dark\\:hover\\:\\!univer-bg-transparent:hover:where(.univer-dark, .univer-dark *) {\n background-color: #0000 !important;\n}\n\n.dark\\:active\\:\\!univer-bg-gray-600:active:where(.univer-dark, .univer-dark *) {\n background-color: var(--univer-gray-600) !important;\n}\n\n.dark\\:disabled\\:\\!univer-text-gray-600:disabled:where(.univer-dark, .univer-dark *) {\n color: var(--univer-gray-600) !important;\n}\n\n.\\[\\&\\:\\:-webkit-scrollbar\\]\\:univer-hidden::-webkit-scrollbar {\n display: none;\n}\n\n.\\[\\&\\>\\*\\]\\:univer-m-0 > * {\n margin: 0;\n}\n\n.\\[\\&\\>\\*\\]\\:univer-inline-flex > * {\n display: inline-flex;\n}\n\n.\\[\\&\\>\\*\\]\\:univer-h-6 > * {\n height: 1.5rem;\n}\n\n.\\[\\&\\>\\*\\]\\:univer-min-h-7 > * {\n min-height: 1.75rem;\n}\n\n.\\[\\&\\>\\*\\]\\:univer-min-w-7 > * {\n min-width: 1.75rem;\n}\n\n.\\[\\&\\>\\*\\]\\:univer-appearance-none > * {\n -webkit-appearance: none;\n appearance: none;\n}\n\n.\\[\\&\\>\\*\\]\\:univer-items-center > * {\n align-items: center;\n}\n\n.\\[\\&\\>\\*\\]\\:univer-justify-center > * {\n justify-content: center;\n}\n\n.\\[\\&\\>\\*\\]\\:univer-rounded > * {\n border-radius: .25rem;\n}\n\n.\\[\\&\\>\\*\\]\\:univer-rounded-md > * {\n border-radius: .375rem;\n}\n\n.\\[\\&\\>\\*\\]\\:univer-border-0 > * {\n border-width: 0;\n}\n\n.\\[\\&\\>\\*\\]\\:univer-px-1 > * {\n padding-left: .25rem;\n padding-right: .25rem;\n}\n\n.\\[\\&\\>\\*\\]\\:univer-px-1\\.5 > * {\n padding-left: .375rem;\n padding-right: .375rem;\n}\n\n.\\[\\&\\>\\*\\]\\:univer-leading-none > * {\n line-height: 1;\n}\n\n.\\[\\&\\>\\*\\]\\:univer-outline-none > * {\n outline-offset: 2px;\n outline: 2px solid #0000;\n}\n\n.\\[\\&\\>\\*\\]\\:univer-transition-colors > * {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.hover\\:\\[\\&\\>\\*\\]\\:univer-bg-gray-100 > :hover {\n background-color: var(--univer-gray-100);\n}\n\n.\\[\\&\\>span\\]\\:univer-truncate > span {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.\\[\\&\\>span\\]\\:univer-text-sm > span {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n.\\[\\&\\>span\\]\\:univer-font-medium > span {\n font-weight: 500;\n}\n\n.\\[\\&\\>svg\\]\\:univer-shrink-0 > svg {\n flex-shrink: 0;\n}\n\n.\\[\\&\\>svg\\]\\:univer-text-lg > svg {\n font-size: 1.125rem;\n line-height: 1.75rem;\n}\n\n.\\[\\&\\>svg\\]\\:univer-text-gray-700 > svg {\n color: var(--univer-gray-700);\n}\n\n.\\[\\&_\\*\\]\\:univer-box-border * {\n box-sizing: border-box;\n}\n\n.\\[\\&_\\.univer-custom-label\\]\\:univer-text-sm .univer-custom-label {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n.\\[\\&_\\.univer-custom-label\\]\\:univer-leading-none .univer-custom-label {\n line-height: 1;\n}\n\n.\\[\\&_\\.univer-toolbar-button-selector-main\\]\\:\\!univer-h-8 .univer-toolbar-button-selector-main {\n height: 2rem !important;\n}\n\n.\\[\\&_\\.univer-toolbar-button-selector-main\\]\\:\\!univer-rounded-none .univer-toolbar-button-selector-main {\n border-radius: 0 !important;\n}\n\n.\\[\\&_\\.univer-toolbar-button-selector-main\\]\\:\\!univer-rounded-l-md .univer-toolbar-button-selector-main {\n border-top-left-radius: .375rem !important;\n border-bottom-left-radius: .375rem !important;\n}\n\n.\\[\\&_\\.univer-toolbar-button-selector-main\\]\\:\\!univer-px-1\\.5 .univer-toolbar-button-selector-main {\n padding-left: .375rem !important;\n padding-right: .375rem !important;\n}\n\n.\\[\\&_\\.univer-toolbar-button-selector-root\\]\\:\\!univer-h-8 .univer-toolbar-button-selector-root {\n height: 2rem !important;\n}\n\n.\\[\\&_\\.univer-toolbar-button-selector-root\\]\\:univer-overflow-hidden .univer-toolbar-button-selector-root {\n overflow: hidden;\n}\n\n.\\[\\&_\\.univer-toolbar-button-selector-root\\]\\:\\!univer-rounded-md .univer-toolbar-button-selector-root {\n border-radius: .375rem !important;\n}\n\n.\\[\\&_\\.univer-toolbar-button-selector-root\\]\\:\\!univer-pr-0 .univer-toolbar-button-selector-root {\n padding-right: 0 !important;\n}\n\n.\\[\\&_\\.univer-toolbar-button-selector-trigger\\]\\:\\!univer-static .univer-toolbar-button-selector-trigger {\n position: static !important;\n}\n\n.\\[\\&_\\.univer-toolbar-button-selector-trigger\\]\\:\\!univer-h-8 .univer-toolbar-button-selector-trigger {\n height: 2rem !important;\n}\n\n.\\[\\&_\\.univer-toolbar-button-selector-trigger\\]\\:\\!univer-w-6 .univer-toolbar-button-selector-trigger {\n width: 1.5rem !important;\n}\n\n.\\[\\&_\\.univer-toolbar-button-selector-trigger\\]\\:\\!univer-rounded-none .univer-toolbar-button-selector-trigger {\n border-radius: 0 !important;\n}\n\n.\\[\\&_\\.univer-toolbar-button-selector-trigger\\]\\:\\!univer-rounded-r-md .univer-toolbar-button-selector-trigger {\n border-top-right-radius: .375rem !important;\n border-bottom-right-radius: .375rem !important;\n}\n\n.\\[\\&_\\.univer-toolbar-selector-root\\]\\:\\!univer-h-8 .univer-toolbar-selector-root {\n height: 2rem !important;\n}\n\n.\\[\\&_\\.univer-toolbar-selector-root\\]\\:\\!univer-gap-1 .univer-toolbar-selector-root {\n gap: .25rem !important;\n}\n\n.\\[\\&_\\.univer-toolbar-selector-root\\]\\:\\!univer-rounded-md .univer-toolbar-selector-root {\n border-radius: .375rem !important;\n}\n\n.\\[\\&_\\.univer-toolbar-selector-root\\]\\:\\!univer-px-1\\.5 .univer-toolbar-selector-root {\n padding-left: .375rem !important;\n padding-right: .375rem !important;\n}\n\n.\\[\\&_\\.univer-toolbar-selector-trigger\\]\\:\\!univer-pl-0\\.5 .univer-toolbar-selector-trigger {\n padding-left: .125rem !important;\n}\n\n.\\[\\&_\\.univer-tooltip\\]\\:univer-inline-flex .univer-tooltip {\n display: inline-flex;\n}\n\n.\\[\\&_\\.univer-tooltip\\]\\:univer-h-full .univer-tooltip {\n height: 100%;\n}\n\n.\\[\\&_\\.univer-tooltip\\]\\:univer-items-center .univer-tooltip {\n align-items: center;\n}\n\n.\\[\\&_\\[data-u-command\\]\\]\\:\\!univer-h-8 [data-u-command] {\n height: 2rem !important;\n}\n\n.\\[\\&_\\[data-u-command\\]\\]\\:\\!univer-min-h-8 [data-u-command] {\n min-height: 2rem !important;\n}\n\n.\\[\\&_\\[data-u-command\\]\\]\\:\\!univer-rounded-md [data-u-command] {\n border-radius: .375rem !important;\n}\n\n.\\[\\&_\\[data-u-command\\]\\]\\:\\!univer-px-1\\.5 [data-u-command] {\n padding-left: .375rem !important;\n padding-right: .375rem !important;\n}\n\n.\\[\\&_button\\]\\:\\!univer-m-0 button {\n margin: 0 !important;\n}\n\n.\\[\\&_button\\]\\:\\!univer-h-8 button {\n height: 2rem !important;\n}\n\n.\\[\\&_button\\]\\:\\!univer-min-w-8 button {\n min-width: 2rem !important;\n}\n\n.\\[\\&_button\\]\\:\\!univer-appearance-none button {\n -webkit-appearance: none !important;\n appearance: none !important;\n}\n\n.\\[\\&_button\\]\\:\\!univer-rounded-md button {\n border-radius: .375rem !important;\n}\n\n.\\[\\&_button\\]\\:\\!univer-border-0 button {\n border-width: 0 !important;\n}\n\n.\\[\\&_button\\]\\:\\!univer-bg-transparent button {\n background-color: #0000 !important;\n}\n\n.\\[\\&_button\\]\\:\\!univer-p-0 button {\n padding: 0 !important;\n}\n\n.\\[\\&_button\\]\\:\\!univer-px-1\\.5 button {\n padding-left: .375rem !important;\n padding-right: .375rem !important;\n}\n\n.\\[\\&_button\\]\\:\\!univer-leading-none button {\n line-height: 1 !important;\n}\n\n.\\[\\&_button\\]\\:\\!univer-outline-none button {\n outline-offset: 2px !important;\n outline: 2px solid #0000 !important;\n}\n\n.\\[\\&_input\\:focus\\]\\:\\!univer-ring-0 input:focus {\n --univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color) !important;\n --univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(0px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color) !important;\n box-shadow: var(--univer-tw-ring-offset-shadow), var(--univer-tw-ring-shadow), 0 0 #0000 !important;\n box-shadow: var(--univer-tw-ring-offset-shadow), var(--univer-tw-ring-shadow), var(--univer-tw-shadow, 0 0 #0000) !important;\n}\n\n.\\[\\&_input\\]\\:\\!univer-m-0 input {\n margin: 0 !important;\n}\n\n.\\[\\&_input\\]\\:univer-h-6 input {\n height: 1.5rem;\n}\n\n.\\[\\&_input\\]\\:univer-w-7 input {\n width: 1.75rem;\n}\n\n.\\[\\&_input\\]\\:\\!univer-appearance-none input {\n -webkit-appearance: none !important;\n appearance: none !important;\n}\n\n.\\[\\&_input\\]\\:\\!univer-border-0 input {\n border-width: 0 !important;\n}\n\n.\\[\\&_input\\]\\:univer-border-none input {\n border-style: none;\n}\n\n.\\[\\&_input\\]\\:\\!univer-bg-transparent input {\n background-color: #0000 !important;\n}\n\n.\\[\\&_input\\]\\:\\!univer-p-0 input {\n padding: 0 !important;\n}\n\n.\\[\\&_input\\]\\:univer-p-0 input {\n padding: 0;\n}\n\n.\\[\\&_input\\]\\:univer-text-sm input {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n.\\[\\&_input\\]\\:\\!univer-leading-none input {\n line-height: 1 !important;\n}\n\n.\\[\\&_input\\]\\:\\!univer-outline-none input {\n outline-offset: 2px !important;\n outline: 2px solid #0000 !important;\n}\n',""]);const s=o},6314(e){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var r="",n=void 0!==t[5];return t[4]&&(r+="@supports (".concat(t[4],") {")),t[2]&&(r+="@media ".concat(t[2]," {")),n&&(r+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),r+=e(t),n&&(r+="}"),t[2]&&(r+="}"),t[4]&&(r+="}"),r}).join("")},t.i=function(e,r,n,i,a){"string"==typeof e&&(e=[[null,e,void 0]]);var o={};if(n)for(var s=0;s0?" ".concat(c[5]):""," {").concat(c[1],"}")),c[5]=a),r&&(c[2]?(c[1]="@media ".concat(c[2]," {").concat(c[1],"}"),c[2]=r):c[2]=r),i&&(c[4]?(c[1]="@supports (".concat(c[4],") {").concat(c[1],"}"),c[4]=i):c[4]="".concat(i)),t.push(c))}},t}},1601(e){"use strict";e.exports=function(e){return e[1]}},4353(e){e.exports=function(){"use strict";var e=6e4,t=36e5,r="millisecond",n="second",i="minute",a="hour",o="day",s="week",l="month",u="quarter",c="year",d="date",h="Invalid Date",m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,f=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,g={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],r=e%100;return"["+e+(t[(r-20)%10]||t[r]||t[0])+"]"}},p=function(e,t,r){var n=String(e);return!n||n.length>=t?e:""+Array(t+1-n.length).join(r)+e},v={s:p,z:function(e){var t=-e.utcOffset(),r=Math.abs(t),n=Math.floor(r/60),i=r%60;return(t<=0?"+":"-")+p(n,2,"0")+":"+p(i,2,"0")},m:function e(t,r){if(t.date()1)return e(o[0])}else{var s=t.name;C[s]=t,i=s}return!n&&i&&(b=i),i||!n&&b},E=function(e,t){if(_(e))return e.clone();var r="object"==typeof t?t:{};return r.date=e,r.args=arguments,new A(r)},S=v;S.l=w,S.i=_,S.w=function(e,t){return E(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var A=function(){function g(e){this.$L=w(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[y]=!0}var p=g.prototype;return p.parse=function(e){this.$d=function(e){var t=e.date,r=e.utc;if(null===t)return new Date(NaN);if(S.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var n=t.match(m);if(n){var i=n[2]-1||0,a=(n[7]||"0").substring(0,3);return r?new Date(Date.UTC(n[1],i,n[3]||1,n[4]||0,n[5]||0,n[6]||0,a)):new Date(n[1],i,n[3]||1,n[4]||0,n[5]||0,n[6]||0,a)}}return new Date(t)}(e),this.init()},p.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},p.$utils=function(){return S},p.isValid=function(){return!(this.$d.toString()===h)},p.isSame=function(e,t){var r=E(e);return this.startOf(t)<=r&&r<=this.endOf(t)},p.isAfter=function(e,t){return E(e)68?1900:2e3)},l=function(e){return function(t){this[e]=+t}},u=[/[+-]\d\d:?(\d\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if("Z"===e)return 0;var t=e.match(/([+-]|\d\d)/g),r=60*t[1]+(+t[2]||0);return 0===r?0:"+"===t[0]?-r:r}(e)}],c=function(e){var t=o[e];return t&&(t.indexOf?t:t.s.concat(t.f))},d=function(e,t){var r,n=o.meridiem;if(n){for(var i=1;i<=24;i+=1)if(e.indexOf(n(i,0,t))>-1){r=i>12;break}}else r=e===(t?"pm":"PM");return r},h={A:[a,function(e){this.afternoon=d(e,!1)}],a:[a,function(e){this.afternoon=d(e,!0)}],Q:[r,function(e){this.month=3*(e-1)+1}],S:[r,function(e){this.milliseconds=100*+e}],SS:[n,function(e){this.milliseconds=10*+e}],SSS:[/\d{3}/,function(e){this.milliseconds=+e}],s:[i,l("seconds")],ss:[i,l("seconds")],m:[i,l("minutes")],mm:[i,l("minutes")],H:[i,l("hours")],h:[i,l("hours")],HH:[i,l("hours")],hh:[i,l("hours")],D:[i,l("day")],DD:[n,l("day")],Do:[a,function(e){var t=o.ordinal,r=e.match(/\d+/);if(this.day=r[0],t)for(var n=1;n<=31;n+=1)t(n).replace(/\[|\]/g,"")===e&&(this.day=n)}],w:[i,l("week")],ww:[n,l("week")],M:[i,l("month")],MM:[n,l("month")],MMM:[a,function(e){var t=c("months"),r=(c("monthsShort")||t.map(function(e){return e.slice(0,3)})).indexOf(e)+1;if(r<1)throw new Error;this.month=r%12||r}],MMMM:[a,function(e){var t=c("months").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\d+/,l("year")],YY:[n,function(e){this.year=s(e)}],YYYY:[/\d{4}/,l("year")],Z:u,ZZ:u};function m(r){var n,i;n=r,i=o&&o.formats;for(var a=(r=n.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(t,r,n){var a=n&&n.toUpperCase();return r||i[n]||e[n]||i[a].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(e,t,r){return t||r.slice(1)})})).match(t),s=a.length,l=0;l-1)return new Date(("X"===t?1e3:1)*e);var i=m(t)(e),a=i.year,o=i.month,s=i.day,l=i.hours,u=i.minutes,c=i.seconds,d=i.milliseconds,h=i.zone,f=i.week,g=new Date,p=s||(a||o?1:g.getDate()),v=a||g.getFullYear(),b=0;a&&!o||(b=o>0?o-1:g.getMonth());var C,y=l||0,_=u||0,w=c||0,E=d||0;return h?new Date(Date.UTC(v,b,p,y,_,w,E+60*h.offset*1e3)):r?new Date(Date.UTC(v,b,p,y,_,w,E)):(C=new Date(v,b,p,y,_,w,E),f&&(C=n(C).week(f).toDate()),C)}catch(e){return new Date("")}}(t,s,n,r),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),c&&t!=this.format(s)&&(this.$d=new Date("")),o={}}else if(s instanceof Array)for(var h=s.length,f=1;f<=h;f+=1){a[1]=s[f-1];var g=r.apply(this,a);if(g.isValid()){this.$d=g.$d,this.$L=g.$L,this.init();break}f===h&&(this.$d=new Date(""))}else i.call(this,e)}}}()},1840(e){e.exports=function(){"use strict";return function(e,t,r){var n=t.prototype,i=function(e){return e&&(e.indexOf?e:e.s)},a=function(e,t,r,n,a){var o=e.name?e:e.$locale(),s=i(o[t]),l=i(o[r]),u=s||l.map(function(e){return e.slice(0,n)});if(!a)return u;var c=o.weekStart;return u.map(function(e,t){return u[(t+(c||0))%7]})},o=function(){return r.Ls[r.locale()]},s=function(e,t){return e.formats[t]||function(e){return e.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(e,t,r){return t||r.slice(1)})}(e.formats[t.toUpperCase()])},l=function(){var e=this;return{months:function(t){return t?t.format("MMMM"):a(e,"months")},monthsShort:function(t){return t?t.format("MMM"):a(e,"monthsShort","months",3)},firstDayOfWeek:function(){return e.$locale().weekStart||0},weekdays:function(t){return t?t.format("dddd"):a(e,"weekdays")},weekdaysMin:function(t){return t?t.format("dd"):a(e,"weekdaysMin","weekdays",2)},weekdaysShort:function(t){return t?t.format("ddd"):a(e,"weekdaysShort","weekdays",3)},longDateFormat:function(t){return s(e.$locale(),t)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};n.localeData=function(){return l.bind(this)()},r.localeData=function(){var e=o();return{firstDayOfWeek:function(){return e.weekStart||0},weekdays:function(){return r.weekdays()},weekdaysShort:function(){return r.weekdaysShort()},weekdaysMin:function(){return r.weekdaysMin()},months:function(){return r.months()},monthsShort:function(){return r.monthsShort()},longDateFormat:function(t){return s(e,t)},meridiem:e.meridiem,ordinal:e.ordinal}},r.months=function(){return a(o(),"months")},r.monthsShort=function(){return a(o(),"monthsShort","months",3)},r.weekdays=function(e){return a(o(),"weekdays",null,null,e)},r.weekdaysShort=function(e){return a(o(),"weekdaysShort","weekdays",3,e)},r.weekdaysMin=function(e){return a(o(),"weekdaysMin","weekdays",2,e)}}}()},5750(e){e.exports=function(){"use strict";var e={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};return function(t,r,n){var i=r.prototype,a=i.format;n.en.formats=e,i.format=function(t){void 0===t&&(t="YYYY-MM-DDTHH:mm:ssZ");var r=this.$locale().formats,n=function(t,r){return t.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(t,n,i){var a=i&&i.toUpperCase();return n||r[i]||e[i]||r[a].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(e,t,r){return t||r.slice(1)})})}(t,void 0===r?{}:r);return a.call(this,n)}}}()},3826(e){e.exports=function(){"use strict";var e="minute",t=/[+-]\d\d(?::?\d\d)?/g,r=/([+-]|\d\d)/g;return function(n,i,a){var o=i.prototype;a.utc=function(e){return new i({date:e,utc:!0,args:arguments})},o.utc=function(t){var r=a(this.toDate(),{locale:this.$L,utc:!0});return t?r.add(this.utcOffset(),e):r},o.local=function(){return a(this.toDate(),{locale:this.$L,utc:!1})};var s=o.parse;o.parse=function(e){e.utc&&(this.$u=!0),this.$utils().u(e.$offset)||(this.$offset=e.$offset),s.call(this,e)};var l=o.init;o.init=function(){if(this.$u){var e=this.$d;this.$y=e.getUTCFullYear(),this.$M=e.getUTCMonth(),this.$D=e.getUTCDate(),this.$W=e.getUTCDay(),this.$H=e.getUTCHours(),this.$m=e.getUTCMinutes(),this.$s=e.getUTCSeconds(),this.$ms=e.getUTCMilliseconds()}else l.call(this)};var u=o.utcOffset;o.utcOffset=function(n,i){var a=this.$utils().u;if(a(n))return this.$u?0:a(this.$offset)?u.call(this):this.$offset;if("string"==typeof n&&(n=function(e){void 0===e&&(e="");var n=e.match(t);if(!n)return null;var i=(""+n[0]).match(r)||["-",0,0],a=i[0],o=60*+i[1]+ +i[2];return 0===o?0:"+"===a?o:-o}(n),null===n))return this;var o=Math.abs(n)<=16?60*n:n;if(0===o)return this.utc(i);var s=this.clone();if(i)return s.$offset=o,s.$u=!1,s;var l=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();return(s=this.local().add(o+l,e)).$offset=o,s.$x.$localOffset=l,s};var c=o.format;o.format=function(e){var t=e||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return c.call(this,t)},o.valueOf=function(){var e=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*e},o.isUTC=function(){return!!this.$u},o.toISOString=function(){return this.toDate().toISOString()},o.toString=function(){return this.toDate().toUTCString()};var d=o.toDate;o.toDate=function(e){return"s"===e&&this.$offset?a(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():d.call(this)};var h=o.diff;o.diff=function(e,t,r){if(e&&this.$u===e.$u)return h.call(this,e,t,r);var n=this.local(),i=a(e).local();return h.call(n,i,t,r)}}}()},8134(e){e.exports=function(){"use strict";var e="week",t="year";return function(r,n,i){var a=n.prototype;a.week=function(r){if(void 0===r&&(r=null),null!==r)return this.add(7*(r-this.week()),"day");var n=this.$locale().yearStart||1;if(11===this.month()&&this.date()>25){var a=i(this).startOf(t).add(1,t).date(n),o=i(this).endOf(e);if(a.isBefore(o))return 1}var s=i(this).startOf(t).date(n).startOf(e).subtract(1,"millisecond"),l=this.diff(s,e,!0);return l<0?i(this).startOf("week").week():Math.ceil(l)},a.weeks=function(e){return void 0===e&&(e=null),this.week(e)}}}()},8623(e){e.exports=function(){"use strict";return function(e,t){t.prototype.weekYear=function(){var e=this.month(),t=this.week(),r=this.year();return 1===t&&11===e?r+1:0===e&&t>=52?r-1:r}}}()},6986(e){e.exports=function(){"use strict";return function(e,t){t.prototype.weekday=function(e){var t=this.$locale().weekStart||0,r=this.$W,n=(ro)){var h=t.slice(0,d);if((g=t.slice(d))===u){var m=Math.min(s,d);if((b=l.slice(0,m))===(y=h.slice(0,m)))return v(b,l.slice(m),h.slice(m),u)}}if(null===c||c===s){var f=s,g=(h=t.slice(0,f),t.slice(f));if(h===l){var p=Math.min(a-f,o-f);if((C=u.slice(u.length-p))===(_=g.slice(g.length-p)))return v(l,u.slice(0,u.length-p),g.slice(0,g.length-p),C)}}}if(n.length>0&&i&&0===i.length){var b=e.slice(0,n.index),C=e.slice(n.index+n.length);if(!(o<(m=b.length)+(p=C.length))){var y=t.slice(0,m),_=t.slice(o-p);if(b===y&&C===_)return v(b,e.slice(m,a-p),t.slice(m,o-p),C)}}return null}(e,m,f);if(b)return b}var C=i(e,m),y=e.substring(0,C);C=o(e=e.substring(C),m=m.substring(C));var _=e.substring(e.length-C),w=function(e,a){var s;if(!e)return[[1,a]];if(!a)return[[t,e]];var l=e.length>a.length?e:a,u=e.length>a.length?a:e,c=l.indexOf(u);if(-1!==c)return s=[[1,l.substring(0,c)],[0,u],[1,l.substring(c+u.length)]],e.length>a.length&&(s[0][0]=s[2][0]=t),s;if(1===u.length)return[[t,e],[1,a]];var d=function(e,t){var r=e.length>t.length?e:t,n=e.length>t.length?t:e;if(r.length<4||2*n.length=e.length?[n,a,s,l,d]:null}var s,l,u,c,d,h=a(r,n,Math.ceil(r.length/4)),m=a(r,n,Math.ceil(r.length/2));return h||m?(s=m?h&&h[4].length>m[4].length?h:m:h,e.length>t.length?(l=s[0],u=s[1],c=s[2],d=s[3]):(c=s[0],d=s[1],l=s[2],u=s[3]),[l,u,c,d,s[4]]):null}(e,a);if(d){var h=d[0],m=d[1],f=d[2],g=d[3],p=d[4],v=r(h,f),b=r(m,g);return v.concat([[0,p]],b)}return function(e,r){for(var i=e.length,a=r.length,o=Math.ceil((i+a)/2),s=o,l=2*o,u=new Array(l),c=new Array(l),d=0;di)g+=2;else if(_>a)f+=2;else if(m&&(S=s+h-C)>=0&&S=(E=i-c[S]))return n(e,r,I,_)}for(var w=-b+p;w<=b-v;w+=2){for(var E,S=s+w,A=(E=w===-b||w!==b&&c[S-1]i)v+=2;else if(A>a)p+=2;else if(!m){var I;if((y=s+h-w)>=0&&y=(E=i-E))return n(e,r,I,_)}}}return[[t,e],[1,r]]}(e,a)}(e=e.substring(0,e.length-C),m=m.substring(0,m.length-C));return y&&w.unshift([0,y]),_&&w.push([0,_]),h(w,p),g&&function(e){for(var r=!1,n=[],i=0,m=null,f=0,g=0,p=0,v=0,b=0;f0?n[i-1]:-1,g=0,p=0,v=0,b=0,m=null,r=!0)),f++;for(r&&h(e),function(e){function t(e,t){if(!e||!t)return 6;var r=e.charAt(e.length-1),n=t.charAt(0),i=r.match(s),a=n.match(s),o=i&&r.match(l),h=a&&n.match(l),m=o&&r.match(u),f=h&&n.match(u),g=m&&e.match(c),p=f&&t.match(d);return g||p?5:m||f?4:i&&!o&&h?3:o||h?2:i||a?1:0}for(var r=1;r=v&&(v=b,f=n,g=i,p=a)}e[r-1][1]!=f&&(f?e[r-1][1]=f:(e.splice(r-1,1),r--),e[r][1]=g,p?e[r+1][1]=p:(e.splice(r+1,1),r--))}r++}}(e),f=1;f=w?(_>=C.length/2||_>=y.length/2)&&(e.splice(f,0,[0,y.substring(0,_)]),e[f-1][1]=C.substring(0,C.length-_),e[f+1][1]=y.substring(_),f++):(w>=C.length/2||w>=y.length/2)&&(e.splice(f,0,[0,C.substring(0,w)]),e[f-1][0]=1,e[f-1][1]=y.substring(0,y.length-w),e[f+1][0]=t,e[f+1][1]=C.substring(w),f++),f++}f++}}(w),w}function n(e,t,n,i){var a=e.substring(0,n),o=t.substring(0,i),s=e.substring(n),l=t.substring(i),u=r(a,o),c=r(s,l);return u.concat(c)}function i(e,t){if(!e||!t||e.charAt(0)!==t.charAt(0))return 0;for(var r=0,n=Math.min(e.length,t.length),i=n,a=0;rn?e=e.substring(r-n):r=0&&p(e[d][1])){var m=e[d][1].slice(-1);if(e[d][1]=e[d][1].slice(0,-1),u=m+u,c=m+c,!e[d][1]){e.splice(d,1),a--;var f=d-1;e[f]&&1===e[f][0]&&(l++,c=e[f][1]+c,f--),e[f]&&e[f][0]===t&&(s++,u=e[f][1]+u,f--),d=f}}g(e[a][1])&&(m=e[a][1].charAt(0),e[a][1]=e[a][1].slice(1),u+=m,c+=m)}if(a0||c.length>0){u.length>0&&c.length>0&&(0!==(n=i(c,u))&&(d>=0?e[d][1]+=c.substring(0,n):(e.splice(0,0,[0,c.substring(0,n)]),a++),c=c.substring(n),u=u.substring(n)),0!==(n=o(c,u))&&(e[a][1]=c.substring(c.length-n)+e[a][1],c=c.substring(0,c.length-n),u=u.substring(0,u.length-n)));var v=l+s;0===u.length&&0===c.length?(e.splice(a-v,v),a-=v):0===u.length?(e.splice(a-v,v,[1,c]),a=a-v+1):0===c.length?(e.splice(a-v,v,[t,u]),a=a-v+1):(e.splice(a-v,v,[t,u],[1,c]),a=a-v+2)}0!==a&&0===e[a-1][0]?(e[a-1][1]+=e[a][1],e.splice(a,1)):a++,l=0,s=0,u="",c=""}""===e[e.length-1][1]&&e.pop();var b=!1;for(a=1;a=55296&&e<=56319}function f(e){return e>=56320&&e<=57343}function g(e){return f(e.charCodeAt(0))}function p(e){return m(e.charCodeAt(e.length-1))}function v(e,r,n,i){return p(e)||g(i)?null:function(e){for(var t=[],r=0;r0&&t.push(e[r]);return t}([[0,e],[t,r],[1,n],[0,i]])}function b(e,t,n,i){return r(e,t,n,i,!0)}b.INSERT=1,b.DELETE=t,b.EQUAL=0,e.exports=b},3790(e,t,r){e.exports=function e(t,r,n){function i(o,s){if(!r[o]){if(!t[o]){if(a)return a(o,!0);var l=new Error("Cannot find module '"+o+"'");throw l.code="MODULE_NOT_FOUND",l}var u=r[o]={exports:{}};t[o][0].call(u.exports,function(e){return i(t[o][1][e]||e)},u,u.exports,e,t,r,n)}return r[o].exports}for(var a=void 0,o=0;o=43)}}).catch(function(){return!1})}(e).then(function(e){return h=e})}function C(e){var t=m[e.name],r={};r.promise=new o(function(e,t){r.resolve=e,r.reject=t}),t.deferredOperations.push(r),t.dbReady?t.dbReady=t.dbReady.then(function(){return r.promise}):t.dbReady=r.promise}function y(e){var t=m[e.name].deferredOperations.pop();if(t)return t.resolve(),t.promise}function _(e,t){var r=m[e.name].deferredOperations.pop();if(r)return r.reject(t),r.promise}function w(e,t){return new o(function(r,n){if(m[e.name]=m[e.name]||{forages:[],db:null,dbReady:null,deferredOperations:[]},e.db){if(!t)return r(e.db);C(e),e.db.close()}var a=[e.name];t&&a.push(e.version);var o=i.open.apply(i,a);t&&(o.onupgradeneeded=function(t){var r=o.result;try{r.createObjectStore(e.storeName),t.oldVersion<=1&&r.createObjectStore(d)}catch(r){if("ConstraintError"!==r.name)throw r;console.warn('The database "'+e.name+'" has been upgraded from version '+t.oldVersion+" to version "+t.newVersion+', but the storage "'+e.storeName+'" already exists.')}}),o.onerror=function(e){e.preventDefault(),n(o.error)},o.onsuccess=function(){var t=o.result;t.onversionchange=function(e){e.target.close()},r(t),y(e)}})}function E(e){return w(e,!1)}function S(e){return w(e,!0)}function A(e,t){if(!e.db)return!0;var r=!e.db.objectStoreNames.contains(e.storeName),n=e.versione.db.version;if(n&&(e.version!==t&&console.warn('The database "'+e.name+"\" can't be downgraded from version "+e.db.version+" to version "+e.version+"."),e.version=e.db.version),i||r){if(r){var a=e.db.version+1;a>e.version&&(e.version=a)}return!0}return!1}function I(e){return a([v(atob(e.data))],{type:e.type})}function R(e){return e&&e.__local_forage_encoded_blob}function x(e){var t=this,r=t._initReady().then(function(){var e=m[t._dbInfo.name];if(e&&e.dbReady)return e.dbReady});return l(r,e,e),r}function T(e,t,r,n){void 0===n&&(n=1);try{var i=e.db.transaction(e.storeName,t);r(null,i)}catch(i){if(n>0&&(!e.db||"InvalidStateError"===i.name||"NotFoundError"===i.name))return o.resolve().then(function(){if(!e.db||"NotFoundError"===i.name&&!e.db.objectStoreNames.contains(e.storeName)&&e.version<=e.db.version)return e.db&&(e.version=e.db.version+1),S(e)}).then(function(){return function(e){C(e);for(var t=m[e.name],r=t.forages,n=0;n>4,c[l++]=(15&n)<<4|i>>2,c[l++]=(3&i)<<6|63&a;return u}function G(e){var t,r=new Uint8Array(e),n="";for(t=0;t>2],n+=M[(3&r[t])<<4|r[t+1]>>4],n+=M[(15&r[t+1])<<2|r[t+2]>>6],n+=M[63&r[t+2]];return r.length%3==2?n=n.substring(0,n.length-1)+"=":r.length%3==1&&(n=n.substring(0,n.length-2)+"=="),n}var Y={serialize:function(e,t){var r="";if(e&&(r=X.call(e)),e&&("[object ArrayBuffer]"===r||e.buffer&&"[object ArrayBuffer]"===X.call(e.buffer))){var n,i=L;e instanceof ArrayBuffer?(n=e,i+=k):(n=e.buffer,"[object Int8Array]"===r?i+=D:"[object Uint8Array]"===r?i+=U:"[object Uint8ClampedArray]"===r?i+=B:"[object Int16Array]"===r?i+=V:"[object Uint16Array]"===r?i+=j:"[object Int32Array]"===r?i+=F:"[object Uint32Array]"===r?i+=H:"[object Float32Array]"===r?i+=W:"[object Float64Array]"===r?i+=z:t(new Error("Failed to get type for BinaryArray"))),t(i+G(n))}else if("[object Blob]"===r){var a=new FileReader;a.onload=function(){var r="~~local_forage_type~"+e.type+"~"+G(this.result);t(L+P+r)},a.readAsArrayBuffer(e)}else try{t(JSON.stringify(e))}catch(r){console.error("Couldn't convert value into a JSON string: ",e),t(null,r)}},deserialize:function(e){if(e.substring(0,9)!==L)return JSON.parse(e);var t,r=e.substring(13),n=e.substring(9,13);if(n===P&&O.test(r)){var i=r.match(O);t=i[1],r=r.substring(i[0].length)}var o=q(r);switch(n){case k:return o;case P:return a([o],{type:t});case D:return new Int8Array(o);case U:return new Uint8Array(o);case B:return new Uint8ClampedArray(o);case V:return new Int16Array(o);case j:return new Uint16Array(o);case F:return new Int32Array(o);case H:return new Uint32Array(o);case W:return new Float32Array(o);case z:return new Float64Array(o);default:throw new Error("Unkown type: "+n)}},stringToBuffer:q,bufferToString:G};function Q(e,t,r,n){e.executeSql("CREATE TABLE IF NOT EXISTS "+t.storeName+" (id INTEGER PRIMARY KEY, key unique, value)",[],r,n)}function Z(e,t,r,n,i,a){e.executeSql(r,n,i,function(e,o){o.code===o.SYNTAX_ERR?e.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name = ?",[t.storeName],function(e,s){s.rows.length?a(e,o):Q(e,t,function(){e.executeSql(r,n,i,a)},a)},a):a(e,o)},a)}function K(e,t,r,n){var i=this;e=u(e);var a=new o(function(a,o){i.ready().then(function(){void 0===t&&(t=null);var s=t,l=i._dbInfo;l.serializer.serialize(t,function(t,u){u?o(u):l.db.transaction(function(r){Z(r,l,"INSERT OR REPLACE INTO "+l.storeName+" (key, value) VALUES (?, ?)",[e,t],function(){a(s)},function(e,t){o(t)})},function(t){if(t.code===t.QUOTA_ERR){if(n>0)return void a(K.apply(i,[e,s,r,n-1]));o(t)}})})}).catch(o)});return s(a,r),a}var $={_driver:"webSQLStorage",_initStorage:function(e){var t=this,r={db:null};if(e)for(var n in e)r[n]="string"!=typeof e[n]?e[n].toString():e[n];var i=new o(function(e,n){try{r.db=openDatabase(r.name,String(r.version),r.description,r.size)}catch(e){return n(e)}r.db.transaction(function(i){Q(i,r,function(){t._dbInfo=r,e()},function(e,t){n(t)})},n)});return r.serializer=Y,i},_support:"function"==typeof openDatabase,iterate:function(e,t){var r=this,n=new o(function(t,n){r.ready().then(function(){var i=r._dbInfo;i.db.transaction(function(r){Z(r,i,"SELECT * FROM "+i.storeName,[],function(r,n){for(var a=n.rows,o=a.length,s=0;s '__WebKitDatabaseInfoTable__'",[],function(r,n){for(var i=[],a=0;a0}var te={_driver:"localStorageWrapper",_initStorage:function(e){var t={};if(e)for(var r in e)t[r]=e[r];return t.keyPrefix=J(e,this._defaultConfig),ee()?(this._dbInfo=t,t.serializer=Y,o.resolve()):o.reject()},_support:function(){try{return"undefined"!=typeof localStorage&&"setItem"in localStorage&&!!localStorage.setItem}catch(e){return!1}}(),iterate:function(e,t){var r=this,n=r.ready().then(function(){for(var t=r._dbInfo,n=t.keyPrefix,i=n.length,a=localStorage.length,o=1,s=0;s=0;r--){var n=localStorage.key(r);0===n.indexOf(e)&&localStorage.removeItem(n)}});return s(r,e),r},length:function(e){var t=this.keys().then(function(e){return e.length});return s(t,e),t},key:function(e,t){var r=this,n=r.ready().then(function(){var t,n=r._dbInfo;try{t=localStorage.key(e)}catch(e){t=null}return t&&(t=t.substring(n.keyPrefix.length)),t});return s(n,t),n},keys:function(e){var t=this,r=t.ready().then(function(){for(var e=t._dbInfo,r=localStorage.length,n=[],i=0;i=0;t--){var r=localStorage.key(t);0===r.indexOf(e)&&localStorage.removeItem(r)}}):o.reject("Invalid arguments"),s(n,t),n}},re=function(e,t){return e===t||"number"==typeof e&&"number"==typeof t&&isNaN(e)&&isNaN(t)},ne=function(e,t){for(var r=e.length,n=0;nnull!=e&&"object"==typeof e&&!Array.isArray(e),i=(e,t)=>typeof e==typeof t?e>t:"string"==typeof e&&"number"==typeof t;function a(e,t){for(let r in e){const n=r;t.write(n,e[n])}}t.isValidPathItem=e=>"number"==typeof e||"string"==typeof e&&"__proto__"!==e;class o{constructor(e=null){this.parents=[],this.indexes=[],this.lcIdx=-1,this.idx=-1,this.container=e}ascend(){r(this.parents.length===this.indexes.length/2),0===this.idx?this.parents.length?(this.lcIdx=this.indexes.pop(),this.container=this.parents.pop(),this.idx=this.indexes.pop()):(this.lcIdx=0,this.idx=-1):(r(this.idx>0),this.idx--,n(this.container[this.idx])&&this.idx--)}getPath(){const e=[];let t=this.container,r=this.parents.length-1,i=this.idx;for(;i>=0;)e.unshift(t[i]),0===i?(i=this.indexes[2*r],t=this.parents[r--]):i-=n(t[i-1])?2:1;return e}}class s extends o{get(){return this.container?this.container.slice(this.idx+1):null}getKey(){return r(null!=this.container,"Invalid call to getKey before cursor descended"),this.container[this.idx]}getComponent(){let e;return this.container&&this.container.length>this.idx+1&&n(e=this.container[this.idx+1])?e:null}descendFirst(){let e=this.idx+1;if(!this.container||e>=this.container.length||n(this.container[e])&&e+1>=this.container.length)return!1;n(this.container[e])&&e++;const t=this.container[e];return Array.isArray(t)?(this.indexes.push(this.idx),this.parents.push(this.container),this.indexes.push(e),this.idx=0,this.container=t):this.idx=e,!0}nextSibling(){if(r(this.parents.length===this.indexes.length/2),this.idx>0||0===this.parents.length)return!1;const e=this.indexes[this.indexes.length-1]+1,t=this.parents[this.parents.length-1];return!(e>=t.length||(r(!isNaN(e)),this.indexes[this.indexes.length-1]=e,this.container=t[e],0))}_init(e,t,r,n){this.container=e,this.idx=t,this.parents=r.slice(),this.indexes=n.slice()}clone(){const e=new s;return e._init(this.container,this.idx,this.parents,this.indexes),e}*[Symbol.iterator](){if(this.descendFirst()){do{yield this.getKey()}while(this.nextSibling());this.ascend()}}traverse(e,t){const r=this.getComponent();r&&t(r,e);for(const r of this)e&&e.descend(r),this.traverse(e,t),e&&e.ascend()}eachPick(e,t){this.traverse(e,(e,r)=>{null!=e.p&&t(e.p,r)})}eachDrop(e,t){this.traverse(e,(e,r)=>{null!=e.d&&t(e.d,r)})}}t.ReadCursor=s;class l extends o{constructor(e=null){super(e),this.pendingDescent=[],this._op=e}flushDescent(){r(this.parents.length===this.indexes.length/2),null===this.container&&(this._op=this.container=[]);for(let e=0;e-1&&(this.lcIdx=a)}for(this.indexes.push(this.idx),this.parents.push(this.container),-1!==this.lcIdx&&(r(i(t,this.container[this.lcIdx][0])),a=this.lcIdx+1,this.lcIdx=-1);athis.write(t,r)),this.reset(),this}writeMove(e,t,r=0){return this.writeAtPath(e,"p",r).writeAtPath(t,"d",r)}getPath(){const e=super.getPath();return e.push(...this.pendingDescent),e}}t.WriteCursor=l,t.writeCursor=()=>new l,t.readCursor=e=>new s(e),t.advancer=function(e,t,r){let n,a;function o(n){let o;for(;a;){const s=o=e.getKey();if(null!=n){let r=!1;if(t&&"number"==typeof s&&(o=t(s,e.getComponent()),o<0&&(o=~o,r=!0)),i(o,n))return null;if(o===n&&!r)return e}r&&"number"==typeof o&&r(o,e.getComponent()),a=e.nextSibling()}return null}return a=n=!!e&&e.descendFirst(),o.end=()=>{n&&e.ascend()},o},t.eachChildOf=function(e,t,r){let n,a,o,s;for(n=a=e&&e.descendFirst(),o=s=t&&t.descendFirst();n||o;){let a=n?e.getKey():null,s=o?t.getKey():null;null!==a&&null!==s&&(i(s,a)?s=null:a!==s&&(a=null)),r(null==a?s:a,null!=a?e:null,null!=s?t:null),null!=a&&n&&(n=e.nextSibling()),null!=s&&o&&(o=t.nextSibling())}a&&e.ascend(),s&&t.ascend()}},7736(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t){if(null===t)return null;if(Array.isArray(t))return t.map(e);if("object"==typeof t){const r={};for(let n in t)r[n]=e(t[n]);return r}return t}},8453(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t,r){return t===r||null!==t&&null!==r&&"object"==typeof t&&"object"==typeof r&&(Array.isArray(t)?function(t,r){if(!Array.isArray(r))return!1;if(t.length!==r.length)return!1;for(let n=0;n{};function u(e,t){if(!e)throw new Error(t)}let c=!1;t.type={name:"json1",uri:"http://sharejs.org/types/JSONv1",readCursor:o.readCursor,writeCursor:o.writeCursor,create:e=>e,isNoop:e=>null==e,setDebug(e){c=e,l.quiet=!e},registerSubtype:_,checkValidOp:T,normalize:N,apply:function(e,t){if(l.quiet=!c,T(t),null===t)return e;const r=[];return function e(t,n){let i=t,a=0,o={root:t},s=0,l=o,c="root";function d(){for(;s=a;r--)t=e(t,n[r]);for(--a;a>=0;a--){const e=n[a];if("object"!=typeof e){const r=i.pop();t=t===C(r,e)?r:void 0===t?p(r,e):(s=e,l=t,(o=m(o=r))[s]=l,o)}else f(e)&&(u(void 0!==t,"Cannot pick up or remove undefined"),null!=e.p&&(r[e.p]=t),t=void 0)}var o,s,l;return t}(e,t),t)},transformPosition:function(e,t){e=e.slice(),T(t);const r=o.readCursor(t);let n,i,a=!1;const s=[];for(let t=0;;t++){const l=e[t],u=r.getComponent();if(u&&(void 0!==u.r?a=!0:null!=u.p&&(a=!1,n=u.p,i=t)),t>=e.length)break;let c=0;const d=o.advancer(r,void 0,(e,t)=>{f(t)&&c++});s.unshift(d);const h=d(l);if("number"==typeof l&&(e[t]-=c),!h)break}if(s.forEach(e=>e.end()),a)return null;const l=()=>{let t=0;if(null!=n){const n=r.getPath();t=n.length,e=n.concat(e.slice(i))}for(;tg(t)?~(e-s):e-s,(e,t)=>{g(t)&&s++})(n);if("number"==typeof n&&(e[t]+=s),!l)break}};return null!=n?r.eachDrop(null,e=>{e===n&&l()}):l(),e},compose:M,tryTransform:D,transform:function(e,t,r){const n=D(e,t,r);if(n.ok)return n.result;U(n.conflict)},makeInvertible:k,invert:O,invertWithDoc:function(e,t){return O(k(e,t))},RM_UNEXPECTED_CONTENT:s.ConflictType.RM_UNEXPECTED_CONTENT,DROP_COLLISION:s.ConflictType.DROP_COLLISION,BLACKHOLE:s.ConflictType.BLACKHOLE,transformNoConflict:(e,t,r)=>F(()=>!0,e,t,r),typeAllowingConflictsPred:e=>Object.assign(Object.assign({},t.type),{transform:(t,r,n)=>F(e,t,r,n)})};const d=e=>e?e.getComponent():null;function h(e){return e&&"object"==typeof e&&!Array.isArray(e)}const m=e=>Array.isArray(e)?e.slice():null!==e&&"object"==typeof e?Object.assign({},e):e,f=e=>e&&(null!=e.p||void 0!==e.r),g=e=>e&&(null!=e.d||void 0!==e.i);function p(e,t){return u(null!=e),"number"==typeof t?(u(Array.isArray(e),"Invalid key - child is not an array"),(e=e.slice()).splice(t,1)):(u(h(e),"Invalid key - child is not an object"),delete(e=Object.assign({},e))[t]),e}function v(e,t,r){return"number"==typeof t?(u(null!=e,"Container is missing for key"),u(Array.isArray(e),"Cannot use numerical key for object container"),u(e.length>=t,"Cannot insert into out of bounds index"),e.splice(t,0,r)):(u(h(e),"Cannot insert into missing item"),u(void 0===e[t],"Trying to overwrite value at key. Your op needs to remove it first"),e[t]=r),r}t.removeOp=(e,t=!0)=>o.writeCursor().writeAtPath(e,"r",t).get(),t.moveOp=(e,t)=>o.writeCursor().writeMove(e,t).get(),t.insertOp=(e,t)=>o.writeCursor().writeAtPath(e,"i",t).get(),t.replaceOp=(e,t,r)=>o.writeCursor().at(e,e=>{e.write("r",t),e.write("i",r)}).get(),t.editOp=(e,t,r,n=!1)=>o.writeCursor().at(e,e=>I(e,t,r,n)).get();const b=(e,t)=>null!=e&&("number"==typeof t?Array.isArray(e):"object"==typeof e),C=(e,t)=>b(e,t)?e[t]:void 0,y={};function _(e){let t=e.type?e.type:e;t.name&&(y[t.name]=t),t.uri&&(y[t.uri]=t)}const w=e=>{const t=y[e];if(t)return t;throw Error("Missing type: "+e)};_(r(4217));const E=(e,t)=>e+t;_({name:"number",apply:E,compose:E,invert:e=>-e,transform:e=>e});const S=e=>null==e?null:e.et?w(e.et):e.es?y["text-unicode"]:null!=e.ena?y.number:null,A=e=>e.es?e.es:null!=e.ena?e.ena:e.e,I=(e,t,r,n=!1)=>{const[i,a]="string"==typeof t?[w(t),t]:[t,t.name];!n&&i.isNoop&&i.isNoop(r)||("number"===a?e.write("ena",r):"text-unicode"===a?e.write("es",r):(e.write("et",a),e.write("e",r)))};function R(e){u("number"==typeof e),u(e>=0),u(e===(0|e))}function x(e){"number"==typeof e?R(e):u("string"==typeof e)}function T(e){if(null===e)return;const t=new Set,r=new Set,n=e=>{let n=!0,i=!1;for(let a in e){const o=e[a];if(n=!1,u("p"===a||"r"===a||"d"===a||"i"===a||"e"===a||"es"===a||"ena"===a||"et"===a,"Invalid component item '"+a+"'"),"p"===a)R(o),u(!t.has(o)),t.add(o),u(void 0===e.r);else if("d"===a)R(o),u(!r.has(o)),r.add(o),u(void 0===e.i);else if("e"===a||"es"===a||"ena"===a){u(!i),i=!0;const t=S(e);u(t,"Missing type in edit"),t.checkValidOp&&t.checkValidOp(A(e))}}u(!n)},i=(e,t,r)=>{if(!Array.isArray(e))throw Error("Op must be null or a list");if(0===e.length)throw Error("Empty descent");t||x(e[0]);let a=1,s=0,l=0;for(let t=0;t{const i=S(e);if(i){const t=A(e);I(n,i,i.normalize?i.normalize(t):t)}for(const i of["r","p","i","d"])if(void 0!==e[i]){const o="p"===i||"d"===i?(a=e[i],null==r[a]&&(r[a]=t++),r[a]):e[i];n.write(i,o)}var a}),n.get()}function M(e,t){if(T(e),T(t),null==e)return t;if(null==t)return e;let r=0;const n=o.readCursor(e),i=o.readCursor(t),a=o.writeCursor(),s=[],l=[],c=[],h=[],m=[],p=[],v=new Set;n.traverse(null,e=>{null!=e.p&&(c[e.p]=n.clone())}),i.traverse(null,e=>{null!=e.d&&(h[e.d]=i.clone())});const b=o.writeCursor();return function e(t,n,i,a,b,C,y,_){u(n||i);const w=d(n),E=d(i),R=!!E&&void 0!==E.r,x=!!w&&void 0!==w.i,T=w?w.d:null,N=E?E.p:null,M=(C||R)&&null==N;if(null!=N)a=h[N],y=l[N]=new o.WriteCursor;else if(E&&void 0!==E.r)a=null;else{const e=d(a);e&&null!=e.d&&(a=null)}const O=d(a);if(null!=T)if(t=c[T],_=s[T]=new o.WriteCursor,M)C&&!R&&_.write("r",!0);else{const e=m[T]=r++;y.write("d",e)}else if(w&&void 0!==w.i)t=null;else{const e=d(t);e&&null!=e.p&&(t=null)}let L;x?(u(void 0===b),L=w.i):L=b;const k=(null==N?!x||C||R:void 0===L)?null:y.getComponent();if(null!=N)if(void 0!==b||x);else{const e=null!=T?m[T]:r++;p[N]=e,_.write("p",e)}else R&&(x||void 0!==b||(E.r,_.write("r",E.r)));const P=M?null:S(w),D=S(O);if((P||D)&&(P&&P.name,D&&D.name),P&&D){u(P===D);const e=A(w),t=A(O),r=P.compose(e,t);I(y,P,r),v.add(O)}else P?I(y,P,A(w)):D&&(I(y,D,A(O)),v.add(O));const U="object"==typeof L&&null!=L;let B=!1,V=0,F=0,j=0,H=0,W=0;const z=o.advancer(a,(e,t)=>g(t)?H-e-1:e-H,(e,t)=>{g(t)&&H++}),X=o.advancer(t,(e,t)=>f(t)?V-e-1:e-V,(e,t)=>{f(t)&&V++});if(o.eachChildOf(n,i,(t,r,n)=>{let i,a,o=t,s=t,l=t;if("number"==typeof t){let e=t+j;a=z(e),s=e+H;let c=t+F;i=X(c),g(d(a))&&(i=null),o=c+V,l=t+W,u(o>=0,"p1PickKey is negative"),u(s>=0,"p2DropKey is negative");const h=g(d(r)),m=f(d(n));(h||m&&!M)&&W--,h&&F--,m&&j--}else i=X(t),a=z(t);_.descend(o),y.descend(s);const c=U&&!g(d(r))?L[l]:void 0,h=e(i,r,n,a,c,M,y,_);var m,p,v;U&&!M?c!==h&&(B||(L=Array.isArray(L)?L.slice():Object.assign({},L),B=!0),m=L,v=h,"number"==typeof(p=l)?(u(Array.isArray(m)),u(pe.get()),l.map(e=>e.get()),n.traverse(a,(e,t)=>{const r=e.p;if(null!=r){const e=m[r];null!=e&&t.write("p",e);const n=s[r];n&&n.get(),n&&t.mergeTree(n.get())}else void 0!==e.r&&t.write("r",e.r)}),a.reset(),a.get(),i.traverse(a,(e,t)=>{const r=e.d;if(null!=r){const e=p[r];null!=e&&t.write("d",e);const n=l[r];n&&t.mergeTree(n.get())}else void 0!==e.i&&t.write("i",e.i);const n=S(e);n&&!v.has(e)&&I(t,n,A(e))}),a.get()}function O(e){if(null==e)return null;const t=new o.ReadCursor(e),r=new o.WriteCursor;let n;const i=[],a=[];return function e(t,r,a){const o=t.getComponent();let s,l=!1;if(o){null!=o.p&&(r.write("d",o.p),i[o.p]=t.clone()),void 0!==o.r&&r.write("i",o.r),null!=o.d&&(r.write("p",o.d),a=void 0),void 0!==o.i&&(a=s=o.i);const e=S(o);e&&(void 0===a?(n||(n=new Set),n.add(o)):(A(o),a=e.apply(a,A(o)),l=!0))}let u=0;for(const n of t){r.descend(n);const i="number"==typeof n?n-u:n,o=C(a,i);g(t.getComponent())&&u++;const s=e(t,r,o);if(void 0!==a&&void 0!==s){if(l||(l=!0,a=m(a)),!b(a,i))throw Error("Cannot modify child - invalid operation");a[i]=s}r.ascend()}if(void 0===s)return l?a:void 0;r.write("r",a)}(t,r,void 0),n&&(r.reset(),function e(t,r,s){const l=r.getComponent();if(l){const e=l.d;if(null!=e&&(t=i[e],s=a[e]=o.writeCursor()),n.has(l)){const e=S(l);if(!e.invert)throw Error(`Cannot invert subtype ${e.name}`);I(s,e,e.invert(A(l)))}}let u=0,c=0;const d=o.advancer(t,(e,t)=>f(t)?u-e-1:e-u,(e,t)=>{f(t)&&u++});for(const t of r)if("number"==typeof t){const n=t-c,i=d(n),a=n+u;s.descend(a),e(i,r,s),g(r.getComponent())&&c++,s.ascend()}else s.descend(t),e(d(t),r,s),s.ascend();d.end()}(t.clone(),t,r),a.length&&(r.reset(),t.traverse(r,(e,t)=>{const r=e.p;if(null!=r){const e=a[r];e&&e.get(),e&&t.mergeTree(e.get())}}))),r.get()}const L=(e,t)=>e.some(e=>"object"==typeof e&&(Array.isArray(e)?L(e,t):t(e)));function k(e,t){if(null==e||!L(e,e=>{var t;return void 0!==e.r||null!=(null===(t=S(e))||void 0===t?void 0:t.makeInvertible)}))return e;const r=new o.ReadCursor(e),n=new o.WriteCursor;let i=!1;const s=[],l=[],c=(e,t,r)=>{const n=e.getComponent();let o=!1;if(n){null!=n.d&&t.write("d",n.d),void 0!==n.i&&t.write("i",n.i);const a=n.p;if(null!=a&&(s[a]=e.clone(),u(void 0!==r,"Operation picks up at an invalid key"),l[a]=r,t.write("p",n.p)),void 0!==n.r&&void 0===r)throw Error("Invalid doc / op in makeInvertible: removed item missing from doc");const o=S(n);o&&(o.makeInvertible?i=!0:I(t,o,A(n),!0))}let d=0;for(const n of e){t.descend(n);const i="number"==typeof n?n-d:n,a=C(r,i),s=c(e,t,a);a!==s&&(o||(o=!0,r=m(r)),void 0===s?(r=p(r,i),"number"==typeof n&&d++):r[i]=s),t.ascend()}return n&&(void 0!==n.r?(t.write("r",a.default(r)),r=void 0):null!=n.p&&(r=void 0)),r};return c(r,n,t),n.get(),i&&(n.reset(),function e(t,r,n,i,a){const u=r.getComponent();if(u){void 0!==u.i?(i=u.i,a=!0):null!=u.d&&(i=l[u.d],t=s[u.d],a=!1,u.d);let e=S(u);if(e&&e.makeInvertible){const t=A(u);I(n,e,e.makeInvertible(t,i),!0)}}let c=0,d=0;const h=o.advancer(t,(e,t)=>f(t)?c-e-1:e-c,(e,t)=>{f(t)&&c++});for(const t of r)if("number"==typeof t){const o=t-d,s=h(o),l=C(i,a?o:o+c);n.descend(t),e(s,r,n,l,a),g(r.getComponent())&&d++,n.ascend()}else{const o=C(i,t);n.descend(t),e(h(t),r,n,o,a),n.ascend()}h.end()}(r.clone(),r,n,t,!1)),n.get()}const P=e=>{if(null==e)return null;const t=e.slice();for(let r=0;rf(t)?_-e-1:e-_,(e,t)=>{f(t)&&_++}),I=o.advancer(r);for(const t of i)if("number"==typeof t){const r=t-w,n=E(r);w+=+e(I(r+_),n,i,a,l)}else{const r=E(t);e(I(t),r,i,a,l)}return E.end(),I.end(),g}(U,B,B.clone(),null,null),C.map(e=>e&&e.get()),m)return{ok:!1,conflict:m};N.map(e=>!!e);const F=[];let j=null;!function e(t,r,n,i,a){let s=!1;const l=d(r);if(f(l)){const e=l.p;null!=e?(n=C[e],i=M[e]=o.writeCursor(),s=!0,a=null):(n=null,a=r.clone())}else g(d(n))&&(n=null);const c=t.getComponent();if(c){const e=c.p;null!=e?(a&&(E[e]=a),F[e]=a||1===h&&s?null:i.getComponent(),p[e]=t.clone(),n&&(w[e]=n.clone())):void 0!==c.r&&(a||i.write("r",!0),(a||s)&&(null==j&&(j=new Set),j.add(c)))}let m=0,v=0;const b=o.advancer(r,void 0,(e,t)=>{f(t)&&m++}),y=o.advancer(n,(e,t)=>g(t)?~(e-v):e-v,(e,t)=>{g(t)&&v++});if(t)for(const r of t)if("string"==typeof r){const n=b(r),o=y(r);i.descend(r),e(t,n,o,i,a),i.ascend()}else{const n=b(r),o=r-m,s=f(d(n))?null:y(o),l=o+v;u(l>=0),i.descend(l),e(t,n,s,i,a),i.ascend()}b.end(),y.end()}(U,B,B.clone(),V,null),V.reset();let H=[];if(function e(r,l,c,y,R,T){u(l);const N=l.getComponent();let M=d(y),k=!1;const P=(e,r,n)=>e?t.moveOp(e.getPath(),r.getPath()):t.insertOp(r.getPath(),n.i);if(g(N)){const e=N.d;null!=e&&(v[e]=l.clone());const n=null!=e?F[e]:null;let o=!1;if(void 0!==N.i||null!=e&&n){let r;M&&(void 0!==M.i||null!=(r=M.d)&&!x[r])&&(o=null!=r?null!=e&&e===L[r]:i.default(M.i,N.i),o||null!=r&&1!==h&&null!=L[r]||null==m&&(m={type:s.ConflictType.DROP_COLLISION,op1:P(null!=e?p[e]:null,l,N),op2:P(null!=r?b[r]:null,y,M)})),o||(T?null==m&&(m={type:s.ConflictType.RM_UNEXPECTED_CONTENT,op1:P(null!=e?p[e]:null,l,N),op2:t.removeOp(T.getPath())}):(null!=e?(H[D]=e,R.write("d",n.p=D++)):R.write("i",a.default(N.i)),k=!0))}else if(null!=e&&!n){const t=E[e];t&&(T=t.clone())}null!=e?(r=p[e],c=_[e],y=w[e]):void 0!==N.i&&(r=c=null,o||(y=null))}else f(d(r))&&(r=c=y=null);const U=d(r),B=d(c);if(f(B)){const e=B.p;void 0!==B.r&&(!U||void 0===U.r)||x[e]?(y=null,T=c.clone()):null!=e&&(y=C[e],1!==h&&null!=L[e]||((R=O[e])||(R=O[e]=o.writeCursor()),R.reset(),T=null))}else!g(N)&&g(M)&&(y=null);M=null!=y?y.getComponent():null;const V=S(N);if(V){const e=A(N);if(T)null==m&&(m={type:s.ConflictType.RM_UNEXPECTED_CONTENT,op1:t.editOp(l.getPath(),V,e,!0),op2:t.removeOp(T.getPath())});else{const t=S(M);let r;if(t){if(V!==t)throw Error("Transforming incompatible types");const i=A(M);r=V.transform(e,i,n)}else r=a.default(e);I(R,V,r)}}let W=0,z=0,X=0,q=0,G=0,Y=0,Q=null!=r&&r.descendFirst(),Z=Q;const K=o.advancer(c,void 0,(e,t)=>{f(t)&&X++});let $=null!=y&&y.descendFirst(),J=$;for(const t of l)if("number"==typeof t){let n;const i=g(l.getComponent()),a=t-z;{let e;for(;Q&&"number"==typeof(e=r.getKey());){e+=W;const t=r.getComponent(),n=f(t);if(e>a||e===a&&(!n||0===h&&i))break;if(n){W--;const e=t.p;F[e],L.includes(e),t.d,d(O[t.d]),f(d(O[t.d])),(void 0===t.r||j&&j.has(t))&&(null==e||!F[e]||1!==h&&L.includes(e))||G--}Q=r.nextSibling()}n=Q&&e===a?r:null}const o=a-W;let s=K(o);const c=o-X;let m=null;{let e,t;for(;$&&"number"==typeof(e=y.getKey());){t=e-q;const r=y.getComponent(),n=g(r);if(t>c)break;if(t===c){if(!n){m=y;break}{if(0===h&&i){m=y;break}const e=s&&f(s.getComponent());if(0===h&&e)break}}if(n){const e=r.d;x[e],L[e],void 0===r.i&&(x[e]||null!=L[e]&&1!==h)?(x[e]||null!=L[e]&&0===h)&&(q++,Y--):q++}$=y.nextSibling()}}const p=c+q+G+Y;u(p>=0,"trying to descend to a negative index"),R.descend(p),i&&(n=s=m=null,z++),e(n,l,s,m,R,T)&&Y++,R.ascend()}else{let n;for(;Q&&(n=r.getKey(),"string"!=typeof n||!(n>t||n===t));)Q=r.nextSibling();const i=Q&&n===t?r:null,a=K(t);let o;for(;$&&(o=y.getKey(),"string"!=typeof o||!(o>t||o===t));)$=y.nextSibling();const s=$&&o===t?y:null;R.descend(t),e(i,l,a,s,R,T),R.ascend()}return K.end(),Z&&r.ascend(),J&&y.ascend(),k}(U,U.clone(),B,B.clone(),V,null),m)return{ok:!1,conflict:m};V.reset();const W=(e,t,r)=>e.traverse(t,(t,n)=>{null!=t.d&&r(t.d,e,n)});(x.length||M.length)&&(W(B,V,(e,t,r)=>{x[e]&&!N[e]&&r.write("r",!0),M[e]&&r.mergeTree(M[e].get())}),V.reset());const z=[],X=[];if((O.length||x.length)&&!m){const e=o.readCursor(P(V.get()));if(W(e,null,(e,t)=>{z[e]=t.clone()}),O.forEach(e=>{e&&W(o.readCursor(e.get()),null,(e,t)=>{z[e]=t.clone()})}),function e(t,r,n,i,a,s){l.prefix++;const u=d(r);if(u&&f(u))if(null!=u.p){a=u;const e=u.p;z[e].getPath(),n=z[e],i=X[e]=o.writeCursor()}else void 0!==u.r&&(n=null,s=!0);else g(d(n))&&(n=null);const c=t.getComponent();if(c){let e;if(null!=(e=c.d)){const t=O[e];t&&(t.get(),i.mergeTree(t.get()),n=o.readCursor(t.get()))}}let h=0,m=0;const p=o.advancer(r,void 0,(e,t)=>{f(t)&&h--}),v=o.advancer(n,(e,t)=>g(t)?-(e-m)-1:e-m,(e,t)=>{g(t)&&m++});for(const r of t)if("number"==typeof r){const n=p(r),o=r+h,l=v(o),u=o+m;i.descend(u),e(t,n,l,i,a,s),i.ascend()}else i.descend(r),e(t,p(r),v(r),i,a,s),i.ascend();p.end(),v.end()}(B,e,e.clone(),V,null,!1),V.reset(),m)return{ok:!1,conflict:m};if(V.get(),X.length){const e=X.map(e=>e?e.get():null),t=o.readCursor(P(V.get()));if(W(t,V,(t,r,n)=>{const i=e[t];i&&(n.mergeTree(i),e[t]=null)}),e.find(e=>e)){const t=o.writeCursor(),r=o.writeCursor();let n=0,i=0;e.forEach(e=>{null!=e&&W(o.readCursor(e),null,e=>{const a=H[e];t.writeMove(p[a].getPath(),v[a].getPath(),n++);const o=k[a];o&&o.forEach(e=>{x[e]||1!==h&&null!=L[e]||r.writeMove(b[e].getPath(),C[e].getPath(),i++)})})}),m={type:s.ConflictType.BLACKHOLE,op1:t.get(),op2:r.get()}}}}return m?{ok:!1,conflict:m}:{ok:!0,result:V.get()}}const U=e=>{const t=new Error("Transform detected write conflict");throw t.conflict=e,t.type=t.name="writeConflict",t},B=e=>{const t=o.writeCursor();return o.readCursor(e).traverse(t,(e,t)=>{(g(e)||S(e))&&t.write("r",!0)}),t.get()},V=(e,t)=>{const{type:r,op1:n,op2:i}=e;switch(r){case s.ConflictType.DROP_COLLISION:return"left"===t?[null,B(i)]:[B(n),null];case s.ConflictType.RM_UNEXPECTED_CONTENT:let e=!1;return o.readCursor(n).traverse(null,t=>{void 0!==t.r&&(e=!0)}),e?[null,B(i)]:[B(n),null];case s.ConflictType.BLACKHOLE:return[B(n),B(i)];default:throw Error("Unrecognised conflict: "+r)}};function F(e,t,r,n){let i=null;for(;;){const a=D(t,r,n);if(a.ok)return M(i,a.result);{const{conflict:o}=a;e(o)||U(o);const[s,l]=V(o,n);t=M(N(t),s),r=M(N(r),l),i=M(i,l)}}}},3562(e,t){"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.ConflictType=void 0,(r=t.ConflictType||(t.ConflictType={}))[r.RM_UNEXPECTED_CONTENT=1]="RM_UNEXPECTED_CONTENT",r[r.DROP_COLLISION=2]="DROP_COLLISION",r[r.BLACKHOLE=3]="BLACKHOLE"},6769(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(5373),i=r(4384);function a(e,t){return{get:e,getLength:()=>e().length,insert(r,n,a){const o=i.strPosToUni(e(),r);return t([o,n],a)},remove(r,n,a){const o=i.strPosToUni(e(),r);return t([o,{d:n}],a)},_onOp(e){n.eachOp(e,(e,t,r)=>{switch(typeof e){case"string":this.onInsert&&this.onInsert(r,e);break;case"object":const t=n.dlen(e.d);this.onRemove&&this.onRemove(r,t)}})},onInsert:null,onRemove:null}}t.default=a,a.provides={text:!0}},4217(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.type=t.remove=t.insert=void 0;const s=r(4384),l=a(r(5373)),u=o(r(6769)),c={create:e=>e,toString:e=>e,builder(e){if("string"!=typeof e)throw Error("Invalid document snapshot: "+e);const t=[];return{skip(r){let n=s.uniToStrPos(e,r);if(n>e.length)throw Error("The op is too long for this document");t.push(e.slice(0,n)),e=e.slice(n)},append(e){t.push(e)},del(t){e=e.slice(s.uniToStrPos(e,t))},build:()=>t.join("")+e}},slice:l.uniSlice},d=l.default(c),h=Object.assign(Object.assign({},d),{api:u.default});t.type=h,t.insert=(e,t)=>0===t.length?[]:0===e?[t]:[e,t],t.remove=(e,t)=>0===l.dlen(t)?[]:0===e?[{d:t}]:[e,{d:t}];var m=r(5373);Object.defineProperty(t,"makeType",{enumerable:!0,get:function(){return m.default}})},5373(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.uniSlice=t.dlen=t.eachOp=void 0;const n=r(4384),i=e=>{if(!Array.isArray(e))throw Error("Op must be an array of components");let r=null;for(let n=0;n0))throw Error("Inserts cannot be empty");break;case"number":if(!(i>0))throw Error("Skip components must be >0");if("number"==typeof r)throw Error("Adjacent skip components should be combined")}r=i}if("number"==typeof r)throw Error("Op has a trailing skip")};function a(e,r){let i=0,a=0;for(let o=0;o{n(t(e,r,i))}),m(r)}t.eachOp=a;const s=e=>e,l=e=>o(e,s);t.dlen=e=>"number"==typeof e?e:n.strPosToUni(e);const u=e=>r=>{if(r&&0!==r.d&&""!==r.d)if(0===e.length)e.push(r);else if(typeof r==typeof e[e.length-1])if("object"==typeof r){const n=e[e.length-1];n.d="string"==typeof n.d&&"string"==typeof r.d?n.d+r.d:t.dlen(n.d)+t.dlen(r.d)}else e[e.length-1]+=r;else e.push(r)},c=e=>"number"==typeof e?e:"string"==typeof e?n.strPosToUni(e):"number"==typeof e.d?e.d:n.strPosToUni(e.d);t.uniSlice=(e,t,r)=>{const i=n.uniToStrPos(e,t),a=null==r?1/0:n.uniToStrPos(e,r);return e.slice(i,a)};const d=(e,r,n)=>"number"==typeof e?null==n?e-r:Math.min(e,n)-r:t.uniSlice(e,r,n),h=e=>{let r=0,i=0;return{take:(a,o)=>{if(r===e.length)return-1===a?null:a;const s=e[r];let l;if("number"==typeof s)return-1===a||s-i<=a?(l=s-i,++r,i=0,l):(i+=a,a);if("string"==typeof s){if(-1===a||"i"===o||n.strPosToUni(s.slice(i))<=a)return l=s.slice(i),++r,i=0,l;{const e=i+n.uniToStrPos(s.slice(i),a);return l=s.slice(i,e),i=e,l}}if(-1===a||"d"===o||t.dlen(s.d)-i<=a)return l={d:d(s.d,i)},++r,i=0,l;{let e=d(s.d,i,i+a);return i+=a,{d:e}}},peek:()=>e[r]}},m=e=>(e.length>0&&"number"==typeof e[e.length-1]&&e.pop(),e);function f(e,r,a){if("left"!==a&&"right"!==a)throw Error("side ("+a+") must be 'left' or 'right'");i(e),i(r);const o=[],s=u(o),{take:l,peek:d}=h(e);for(let e=0;e0;)u=l(o,"i"),s(u),"string"!=typeof u&&(o-=c(u));break;case"string":"left"===a&&"string"==typeof d()&&s(l(-1)),s(n.strPosToUni(i));break;case"object":for(o=t.dlen(i.d);o>0;)switch(u=l(o,"i"),typeof u){case"number":o-=u;break;case"string":s(u);break;case"object":o-=t.dlen(u.d)}}}let f;for(;f=l(-1);)s(f);return m(o)}function g(e,r){i(e),i(r);const a=[],o=u(a),{take:s}=h(e);for(let e=0;e0;)l=s(a,"d"),o(l),"object"!=typeof l&&(a-=c(l));break;case"string":o(i);break;case"object":a=t.dlen(i.d);let e=0;for(;e{let i=0;for(let a=0;ai;a++){const o=r[a];switch(typeof o){case"number":i+=o;break;case"string":const r=n.strPosToUni(o);i+=r,e+=r;break;case"object":e-=Math.min(t.dlen(o.d),e-i)}}return e},v=(e,t)=>"number"==typeof e?p(e,t):e.map(e=>p(e,t));function b(e,t,r){return o(e,(e,n)=>"object"==typeof e&&"number"==typeof e.d?{d:r.slice(t,n,n+e.d)}:e)}function C(e){return o(e,e=>{switch(typeof e){case"object":if("number"==typeof e.d)throw Error("Cannot invert text op: Deleted characters missing from operation. makeInvertible must be called first.");return e.d;case"string":return{d:e};case"number":return e}})}function y(e){return o(e,e=>"object"==typeof e&&"string"==typeof e.d?{d:n.strPosToUni(e.d)}:e)}function _(e){let t=!0;return a(e,e=>{"object"==typeof e&&"number"==typeof e.d&&(t=!1)}),t}t.default=function(e){return{name:"text-unicode",uri:"http://sharejs.org/types/text-unicode",trim:m,normalize:l,checkOp:i,create(t=""){if("string"!=typeof t)throw Error("Initial data must be a string");return e.create(t)},apply(r,n){i(n);const a=e.builder(r);for(let e=0;eb(t,r,e),stripInvertible:y,invert:C,invertWithDoc:(t,r)=>C(b(t,r,e)),isNoop:e=>0===e.length}}},1247(e,t,r){"use strict";var n=r(9982),i=r(6540),a=r(961);function o(e){var t="https://react.dev/errors/"+e;if(1B||(e.current=U[B],U[B]=null,B--)}function j(e,t){B++,U[B]=e.current,e.current=t}var H,W,z=V(null),X=V(null),q=V(null),G=V(null);function Y(e,t){switch(j(q,t),j(X,e),j(z,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?vd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)e=bd(t=vd(t),e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}F(z),j(z,e)}function Q(){F(z),F(X),F(q)}function Z(e){null!==e.memoizedState&&j(G,e);var t=z.current,r=bd(t,e.type);t!==r&&(j(X,e),j(z,r))}function K(e){X.current===e&&(F(z),F(X)),G.current===e&&(F(G),ch._currentValue=D)}function $(e){if(void 0===H)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);H=t&&t[1]||"",W=-1)":-1--i||l[n]!==u[i]){var c="\n"+l[n].replace(" at new "," at ");return e.displayName&&c.includes("")&&(c=c.replace("",e.displayName)),c}}while(1<=n&&0<=i);break}}}finally{J=!1,Error.prepareStackTrace=r}return(r=e?e.displayName||e.name:"")?$(r):""}function te(e,t){switch(e.tag){case 26:case 27:case 5:return $(e.type);case 16:return $("Lazy");case 13:return e.child!==t&&null!==t?$("Suspense Fallback"):$("Suspense");case 19:return $("SuspenseList");case 0:case 15:return ee(e.type,!1);case 11:return ee(e.type.render,!1);case 1:return ee(e.type,!0);case 31:return $("Activity");default:return""}}function re(e){try{var t="",r=null;do{t+=te(e,r),r=e,e=e.return}while(e);return t}catch(e){return"\nError generating stack: "+e.message+"\n"+e.stack}}var ne=Object.prototype.hasOwnProperty,ie=n.unstable_scheduleCallback,ae=n.unstable_cancelCallback,oe=n.unstable_shouldYield,se=n.unstable_requestPaint,le=n.unstable_now,ue=n.unstable_getCurrentPriorityLevel,ce=n.unstable_ImmediatePriority,de=n.unstable_UserBlockingPriority,he=n.unstable_NormalPriority,me=n.unstable_LowPriority,fe=n.unstable_IdlePriority,ge=n.log,pe=n.unstable_setDisableYieldValue,ve=null,be=null;function Ce(e){if("function"==typeof ge&&pe(e),be&&"function"==typeof be.setStrictMode)try{be.setStrictMode(ve,e)}catch(e){}}var ye=Math.clz32?Math.clz32:function(e){return 0==(e>>>=0)?32:31-(_e(e)/we|0)|0},_e=Math.log,we=Math.LN2,Ee=256,Se=262144,Ae=4194304;function Ie(e){var t=42&e;if(0!==t)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return 261888&e;case 262144:case 524288:case 1048576:case 2097152:return 3932160&e;case 4194304:case 8388608:case 16777216:case 33554432:return 62914560&e;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Re(e,t,r){var n=e.pendingLanes;if(0===n)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=134217727&n;return 0!==s?0!==(n=s&~a)?i=Ie(n):0!==(o&=s)?i=Ie(o):r||0!==(r=s&~e)&&(i=Ie(r)):0!==(s=n&~a)?i=Ie(s):0!==o?i=Ie(o):r||0!==(r=n&~e)&&(i=Ie(r)),0===i?0:0!==t&&t!==i&&0===(t&a)&&((a=i&-i)>=(r=t&-t)||32===a&&4194048&r)?t:i}function xe(e,t){return 0===(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)}function Te(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function Ne(){var e=Ae;return!(62914560&(Ae<<=1))&&(Ae=4194304),e}function Me(e){for(var t=[],r=0;31>r;r++)t.push(e);return t}function Oe(e,t){e.pendingLanes|=t,268435456!==t&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Le(e,t,r){e.pendingLanes|=t,e.suspendedLanes&=~t;var n=31-ye(t);e.entangledLanes|=t,e.entanglements[n]=1073741824|e.entanglements[n]|261930&r}function ke(e,t){var r=e.entangledLanes|=t;for(e=e.entanglements;r;){var n=31-ye(r),i=1<=Ar),xr=String.fromCharCode(32),Tr=!1;function Nr(e,t){switch(e){case"keyup":return-1!==Er.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Mr(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Or=!1,Lr={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function kr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Lr[e.type]:"textarea"===t}function Pr(e,t,r,n){Pt?Dt?Dt.push(n):Dt=[n]:Pt=n,0<(t=nd(t,"onChange")).length&&(r=new rr("onChange","change",null,r,n),e.push({event:r,listeners:t}))}var Dr=null,Ur=null;function Br(e){Qc(e,0)}function Vr(e){if(ft($e(e)))return e}function Fr(e,t){if("change"===e)return t}var jr=!1;if(jt){var Hr;if(jt){var Wr="oninput"in document;if(!Wr){var zr=document.createElement("div");zr.setAttribute("oninput","return;"),Wr="function"==typeof zr.oninput}Hr=Wr}else Hr=!1;jr=Hr&&(!document.documentMode||9=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Jr(n)}}function tn(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?tn(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function rn(e){for(var t=gt((e=null!=e&&null!=e.ownerDocument&&null!=e.ownerDocument.defaultView?e.ownerDocument.defaultView:window).document);t instanceof e.HTMLIFrameElement;){try{var r="string"==typeof t.contentWindow.location.href}catch(e){r=!1}if(!r)break;t=gt((e=t.contentWindow).document)}return t}function nn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var an=jt&&"documentMode"in document&&11>=document.documentMode,on=null,sn=null,ln=null,un=!1;function cn(e,t,r){var n=r.window===r?r.document:9===r.nodeType?r:r.ownerDocument;un||null==on||on!==gt(n)||(n="selectionStart"in(n=on)&&nn(n)?{start:n.selectionStart,end:n.selectionEnd}:{anchorNode:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset},ln&&$r(ln,n)||(ln=n,0<(n=nd(sn,"onSelect")).length&&(t=new rr("onSelect","select",null,t,r),e.push({event:t,listeners:n}),t.target=on)))}function dn(e,t){var r={};return r[e.toLowerCase()]=t.toLowerCase(),r["Webkit"+e]="webkit"+t,r["Moz"+e]="moz"+t,r}var hn={animationend:dn("Animation","AnimationEnd"),animationiteration:dn("Animation","AnimationIteration"),animationstart:dn("Animation","AnimationStart"),transitionrun:dn("Transition","TransitionRun"),transitionstart:dn("Transition","TransitionStart"),transitioncancel:dn("Transition","TransitionCancel"),transitionend:dn("Transition","TransitionEnd")},mn={},fn={};function gn(e){if(mn[e])return mn[e];if(!hn[e])return e;var t,r=hn[e];for(t in r)if(r.hasOwnProperty(t)&&t in fn)return mn[e]=r[t];return e}jt&&(fn=document.createElement("div").style,"AnimationEvent"in window||(delete hn.animationend.animation,delete hn.animationiteration.animation,delete hn.animationstart.animation),"TransitionEvent"in window||delete hn.transitionend.transition);var pn=gn("animationend"),vn=gn("animationiteration"),bn=gn("animationstart"),Cn=gn("transitionrun"),yn=gn("transitionstart"),_n=gn("transitioncancel"),wn=gn("transitionend"),En=new Map,Sn="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function An(e,t){En.set(e,t),nt(t,[e])}Sn.push("scrollEnd");var In="function"==typeof reportError?reportError:function(e){if("object"==typeof window&&"function"==typeof window.ErrorEvent){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:"object"==typeof e&&null!==e&&"string"==typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if("object"==typeof process&&"function"==typeof process.emit)return void process.emit("uncaughtException",e);console.error(e)},Rn=[],xn=0,Tn=0;function Nn(){for(var e=xn,t=Tn=xn=0;t>=o,i-=o,ri=1<<32-ye(t)+i|r<g?(p=d,d=null):p=d.sibling;var v=m(i,d,s[g],l);if(null===v){null===d&&(d=p);break}e&&d&&null===v.alternate&&t(i,d),o=a(v,o,g),null===c?u=v:c.sibling=v,c=v,d=p}if(g===s.length)return r(i,d),di&&ii(i,g),u;if(null===d){for(;gp?(v=g,g=null):v=g.sibling;var C=m(i,g,b.value,u);if(null===C){null===g&&(g=v);break}e&&g&&null===C.alternate&&t(i,g),s=a(C,s,p),null===d?c=C:d.sibling=C,d=C,g=v}if(b.done)return r(i,g),di&&ii(i,p),c;if(null===g){for(;!b.done;p++,b=l.next())null!==(b=h(i,b.value,u))&&(s=a(b,s,p),null===d?c=b:d.sibling=b,d=b);return di&&ii(i,p),c}for(g=n(g);!b.done;p++,b=l.next())null!==(b=f(g,i,p,b.value,u))&&(e&&null!==b.alternate&&g.delete(null===b.key?p:b.key),s=a(b,s,p),null===d?c=b:d.sibling=b,d=b);return e&&g.forEach(function(e){return t(i,e)}),di&&ii(i,p),c}(l,u,c=C.call(c),d)}if("function"==typeof c.then)return b(l,u,ua(c),d);if(c.$$typeof===_)return b(l,u,Li(l,c),d);da(l,c)}return"string"==typeof c&&""!==c||"number"==typeof c||"bigint"==typeof c?(c=""+c,null!==u&&6===u.tag?(r(l,u.sibling),(d=i(u,c)).return=l,l=d):(r(l,u),(d=zn(c,l.mode,d)).return=l,l=d),s(l)):r(l,u)}return function(e,t,r,n){try{la=0;var i=b(e,t,r,n);return sa=null,i}catch(t){if(t===Ki||t===Ji)throw t;var a=Bn(29,t,null,e.mode);return a.lanes=n,a.return=e,a}}}var ma=ha(!0),fa=ha(!1),ga=!1;function pa(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function va(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function ba(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ca(e,t,r){var n=e.updateQueue;if(null===n)return null;if(n=n.shared,2&mu){var i=n.pending;return null===i?t.next=t:(t.next=i.next,i.next=t),n.pending=t,t=Pn(e),kn(e,null,r),t}return Mn(e,n,t,r),Pn(e)}function ya(e,t,r){if(null!==(t=t.updateQueue)&&(t=t.shared,4194048&r)){var n=t.lanes;r|=n&=e.pendingLanes,t.lanes=r,ke(e,r)}}function _a(e,t){var r=e.updateQueue,n=e.alternate;if(null!==n&&r===(n=n.updateQueue)){var i=null,a=null;if(null!==(r=r.firstBaseUpdate)){do{var o={lane:r.lane,tag:r.tag,payload:r.payload,callback:null,next:null};null===a?i=a=o:a=a.next=o,r=r.next}while(null!==r);null===a?i=a=t:a=a.next=t}else i=a=t;return r={baseState:n.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:n.shared,callbacks:n.callbacks},void(e.updateQueue=r)}null===(e=r.lastBaseUpdate)?r.firstBaseUpdate=t:e.next=t,r.lastBaseUpdate=t}var wa=!1;function Ea(){if(wa&&null!==zi)throw zi}function Sa(e,t,r,n){wa=!1;var i=e.updateQueue;ga=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(null!==s){i.shared.pending=null;var l=s,u=l.next;l.next=null,null===o?a=u:o.next=u,o=l;var c=e.alternate;null!==c&&(s=(c=c.updateQueue).lastBaseUpdate)!==o&&(null===s?c.firstBaseUpdate=u:s.next=u,c.lastBaseUpdate=l)}if(null!==a){var d=i.baseState;for(o=0,c=u=l=null,s=a;;){var h=-536870913&s.lane,f=h!==s.lane;if(f?(pu&h)===h:(n&h)===h){0!==h&&h===Wi&&(wa=!0),null!==c&&(c=c.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});e:{var g=e,p=s;h=t;var v=r;switch(p.tag){case 1:if("function"==typeof(g=p.payload)){d=g.call(v,d,h);break e}d=g;break e;case 3:g.flags=-65537&g.flags|128;case 0:if(null==(h="function"==typeof(g=p.payload)?g.call(v,d,h):g))break e;d=m({},d,h);break e;case 2:ga=!0}}null!==(h=s.callback)&&(e.flags|=64,f&&(e.flags|=8192),null===(f=i.callbacks)?i.callbacks=[h]:f.push(h))}else f={lane:h,tag:s.tag,payload:s.payload,callback:s.callback,next:null},null===c?(u=c=f,l=d):c=c.next=f,o|=h;if(null===(s=s.next)){if(null===(s=i.shared.pending))break;s=(f=s).next,f.next=null,i.lastBaseUpdate=f,i.shared.pending=null}}null===c&&(l=d),i.baseState=l,i.firstBaseUpdate=u,i.lastBaseUpdate=c,null===a&&(i.shared.lanes=0),Su|=o,e.lanes=o,e.memoizedState=d}}function Aa(e,t){if("function"!=typeof e)throw Error(o(191,e));e.call(t)}function Ia(e,t){var r=e.callbacks;if(null!==r)for(e.callbacks=null,e=0;ea?a:8;var o,s,l,u=k.T,c={};k.T=c,ds(e,!1,t,r);try{var d=i(),h=k.S;null!==h&&h(c,d),null!==d&&"object"==typeof d&&"function"==typeof d.then?cs(e,t,(o=n,s=[],l={status:"pending",value:null,reason:null,then:function(e){s.push(e)}},d.then(function(){l.status="fulfilled",l.value=o;for(var e=0;e<\/script>",a=a.removeChild(a.firstChild);break;case"select":a="string"==typeof n.is?s.createElement("select",{is:n.is}):s.createElement("select"),n.multiple?a.multiple=!0:n.size&&(a.size=n.size);break;default:a="string"==typeof n.is?s.createElement(i,{is:n.is}):s.createElement(i)}}a[je]=t,a[He]=n;e:for(s=t.child;null!==s;){if(5===s.tag||6===s.tag)a.appendChild(s.stateNode);else if(4!==s.tag&&27!==s.tag&&null!==s.child){s.child.return=s,s=s.child;continue}if(s===t)break e;for(;null===s.sibling;){if(null===s.return||s.return===t)break e;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=a;e:switch(hd(a,i,n),i){case"button":case"input":case"select":case"textarea":n=!!n.autoFocus;break e;case"img":n=!0;break e;default:n=!1}n&&sl(t)}}return hl(t),ll(t,t.type,null===e||e.memoizedProps,t.pendingProps,r),null;case 6:if(e&&null!=t.stateNode)e.memoizedProps!==n&&sl(t);else{if("string"!=typeof n&&null===t.stateNode)throw Error(o(166));if(e=q.current,bi(t)){if(e=t.stateNode,r=t.memoizedProps,n=null,null!==(i=ui))switch(i.tag){case 27:case 5:n=i.memoizedProps}e[je]=t,(e=!!(e.nodeValue===r||null!==n&&!0===n.suppressHydrationWarning||ud(e.nodeValue,r)))||gi(t,!0)}else(e=pd(e).createTextNode(n))[je]=t,t.stateNode=e}return hl(t),null;case 31:if(r=t.memoizedState,null===e||null!==e.memoizedState){if(n=bi(t),null!==r){if(null===e){if(!n)throw Error(o(318));if(!(e=null!==(e=t.memoizedState)?e.dehydrated:null))throw Error(o(557));e[je]=t}else Ci(),!(128&t.flags)&&(t.memoizedState=null),t.flags|=4;hl(t),e=!1}else r=yi(),null!==e&&null!==e.memoizedState&&(e.memoizedState.hydrationErrors=r),e=!0;if(!e)return 256&t.flags?(Ba(t),t):(Ba(t),null);if(128&t.flags)throw Error(o(558))}return hl(t),null;case 13:if(n=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(i=bi(t),null!==n&&null!==n.dehydrated){if(null===e){if(!i)throw Error(o(318));if(!(i=null!==(i=t.memoizedState)?i.dehydrated:null))throw Error(o(317));i[je]=t}else Ci(),!(128&t.flags)&&(t.memoizedState=null),t.flags|=4;hl(t),i=!1}else i=yi(),null!==e&&null!==e.memoizedState&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return 256&t.flags?(Ba(t),t):(Ba(t),null)}return Ba(t),128&t.flags?(t.lanes=r,t):(r=null!==n,e=null!==e&&null!==e.memoizedState,r&&(i=null,null!==(n=t.child).alternate&&null!==n.alternate.memoizedState&&null!==n.alternate.memoizedState.cachePool&&(i=n.alternate.memoizedState.cachePool.pool),a=null,null!==n.memoizedState&&null!==n.memoizedState.cachePool&&(a=n.memoizedState.cachePool.pool),a!==i&&(n.flags|=2048)),r!==e&&r&&(t.child.flags|=8192),cl(t,t.updateQueue),hl(t),null);case 4:return Q(),null===e&&Jc(t.stateNode.containerInfo),hl(t),null;case 10:return Ii(t.type),hl(t),null;case 19:if(F(Va),null===(n=t.memoizedState))return hl(t),null;if(i=!!(128&t.flags),null===(a=n.rendering))if(i)dl(n,!1);else{if(0!==Eu||null!==e&&128&e.flags)for(e=t.child;null!==e;){if(null!==(a=Fa(e))){for(t.flags|=128,dl(n,!1),e=a.updateQueue,t.updateQueue=e,cl(t,e),t.subtreeFlags=0,e=r,r=t.child;null!==r;)jn(r,e),r=r.sibling;return j(Va,1&Va.current|2),di&&ii(t,n.treeForkCount),t.child}e=e.sibling}null!==n.tail&&le()>ku&&(t.flags|=128,i=!0,dl(n,!1),t.lanes=4194304)}else{if(!i)if(null!==(e=Fa(a))){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,cl(t,e),dl(n,!0),null===n.tail&&"hidden"===n.tailMode&&!a.alternate&&!di)return hl(t),null}else 2*le()-n.renderingStartTime>ku&&536870912!==r&&(t.flags|=128,i=!0,dl(n,!1),t.lanes=4194304);n.isBackwards?(a.sibling=t.child,t.child=a):(null!==(e=n.last)?e.sibling=a:t.child=a,n.last=a)}return null!==n.tail?(e=n.tail,n.rendering=e,n.tail=e.sibling,n.renderingStartTime=le(),e.sibling=null,r=Va.current,j(Va,i?1&r|2:1&r),di&&ii(t,n.treeForkCount),e):(hl(t),null);case 22:case 23:return Ba(t),Ma(),n=null!==t.memoizedState,null!==e?null!==e.memoizedState!==n&&(t.flags|=8192):n&&(t.flags|=8192),n?!!(536870912&r)&&!(128&t.flags)&&(hl(t),6&t.subtreeFlags&&(t.flags|=8192)):hl(t),null!==(r=t.updateQueue)&&cl(t,r.retryQueue),r=null,null!==e&&null!==e.memoizedState&&null!==e.memoizedState.cachePool&&(r=e.memoizedState.cachePool.pool),n=null,null!==t.memoizedState&&null!==t.memoizedState.cachePool&&(n=t.memoizedState.cachePool.pool),n!==r&&(t.flags|=2048),null!==e&&F(Gi),null;case 24:return r=null,null!==e&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),Ii(Bi),hl(t),null;case 25:case 30:return null}throw Error(o(156,t.tag))}function fl(e,t){switch(si(t),t.tag){case 1:return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return Ii(Bi),Q(),65536&(e=t.flags)&&!(128&e)?(t.flags=-65537&e|128,t):null;case 26:case 27:case 5:return K(t),null;case 31:if(null!==t.memoizedState){if(Ba(t),null===t.alternate)throw Error(o(340));Ci()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 13:if(Ba(t),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(o(340));Ci()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return F(Va),null;case 4:return Q(),null;case 10:return Ii(t.type),null;case 22:case 23:return Ba(t),Ma(),null!==e&&F(Gi),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 24:return Ii(Bi),null;default:return null}}function gl(e,t){switch(si(t),t.tag){case 3:Ii(Bi),Q();break;case 26:case 27:case 5:K(t);break;case 4:Q();break;case 31:null!==t.memoizedState&&Ba(t);break;case 13:Ba(t);break;case 19:F(Va);break;case 10:Ii(t.type);break;case 22:case 23:Ba(t),Ma(),null!==e&&F(Gi);break;case 24:Ii(Bi)}}function pl(e,t){try{var r=t.updateQueue,n=null!==r?r.lastEffect:null;if(null!==n){var i=n.next;r=i;do{if((r.tag&e)===e){n=void 0;var a=r.create,o=r.inst;n=a(),o.destroy=n}r=r.next}while(r!==i)}}catch(e){Ec(t,t.return,e)}}function vl(e,t,r){try{var n=t.updateQueue,i=null!==n?n.lastEffect:null;if(null!==i){var a=i.next;n=a;do{if((n.tag&e)===e){var o=n.inst,s=o.destroy;if(void 0!==s){o.destroy=void 0,i=t;var l=r,u=s;try{u()}catch(e){Ec(i,l,e)}}}n=n.next}while(n!==a)}}catch(e){Ec(t,t.return,e)}}function bl(e){var t=e.updateQueue;if(null!==t){var r=e.stateNode;try{Ia(t,r)}catch(t){Ec(e,e.return,t)}}}function Cl(e,t,r){r.props=Es(e.type,e.memoizedProps),r.state=e.memoizedState;try{r.componentWillUnmount()}catch(r){Ec(e,t,r)}}function yl(e,t){try{var r=e.ref;if(null!==r){switch(e.tag){case 26:case 27:case 5:var n=e.stateNode;break;default:n=e.stateNode}"function"==typeof r?e.refCleanup=r(n):r.current=n}}catch(r){Ec(e,t,r)}}function _l(e,t){var r=e.ref,n=e.refCleanup;if(null!==r)if("function"==typeof n)try{n()}catch(r){Ec(e,t,r)}finally{e.refCleanup=null,null!=(e=e.alternate)&&(e.refCleanup=null)}else if("function"==typeof r)try{r(null)}catch(r){Ec(e,t,r)}else r.current=null}function wl(e){var t=e.type,r=e.memoizedProps,n=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":r.autoFocus&&n.focus();break e;case"img":r.src?n.src=r.src:r.srcSet&&(n.srcset=r.srcSet)}}catch(t){Ec(e,e.return,t)}}function El(e,t,r){try{var n=e.stateNode;!function(e,t,r,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var i=null,a=null,s=null,l=null,u=null,c=null,d=null;for(f in r){var h=r[f];if(r.hasOwnProperty(f)&&null!=h)switch(f){case"checked":case"value":break;case"defaultValue":u=h;default:n.hasOwnProperty(f)||cd(e,t,f,null,n,h)}}for(var m in n){var f=n[m];if(h=r[m],n.hasOwnProperty(m)&&(null!=f||null!=h))switch(m){case"type":a=f;break;case"name":i=f;break;case"checked":c=f;break;case"defaultChecked":d=f;break;case"value":s=f;break;case"defaultValue":l=f;break;case"children":case"dangerouslySetInnerHTML":if(null!=f)throw Error(o(137,t));break;default:f!==h&&cd(e,t,m,f,n,h)}}return void bt(e,s,l,u,c,d,a,i);case"select":for(a in f=s=l=m=null,r)if(u=r[a],r.hasOwnProperty(a)&&null!=u)switch(a){case"value":break;case"multiple":f=u;default:n.hasOwnProperty(a)||cd(e,t,a,null,n,u)}for(i in n)if(a=n[i],u=r[i],n.hasOwnProperty(i)&&(null!=a||null!=u))switch(i){case"value":m=a;break;case"defaultValue":l=a;break;case"multiple":s=a;default:a!==u&&cd(e,t,i,a,n,u)}return t=l,r=s,n=f,void(null!=m?_t(e,!!r,m,!1):!!n!=!!r&&(null!=t?_t(e,!!r,t,!0):_t(e,!!r,r?[]:"",!1)));case"textarea":for(l in f=m=null,r)if(i=r[l],r.hasOwnProperty(l)&&null!=i&&!n.hasOwnProperty(l))switch(l){case"value":case"children":break;default:cd(e,t,l,null,n,i)}for(s in n)if(i=n[s],a=r[s],n.hasOwnProperty(s)&&(null!=i||null!=a))switch(s){case"value":m=i;break;case"defaultValue":f=i;break;case"children":break;case"dangerouslySetInnerHTML":if(null!=i)throw Error(o(91));break;default:i!==a&&cd(e,t,s,i,n,a)}return void wt(e,m,f);case"option":for(var g in r)m=r[g],r.hasOwnProperty(g)&&null!=m&&!n.hasOwnProperty(g)&&("selected"===g?e.selected=!1:cd(e,t,g,null,n,m));for(u in n)m=n[u],f=r[u],!n.hasOwnProperty(u)||m===f||null==m&&null==f||("selected"===u?e.selected=m&&"function"!=typeof m&&"symbol"!=typeof m:cd(e,t,u,m,n,f));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var p in r)m=r[p],r.hasOwnProperty(p)&&null!=m&&!n.hasOwnProperty(p)&&cd(e,t,p,null,n,m);for(c in n)if(m=n[c],f=r[c],n.hasOwnProperty(c)&&m!==f&&(null!=m||null!=f))switch(c){case"children":case"dangerouslySetInnerHTML":if(null!=m)throw Error(o(137,t));break;default:cd(e,t,c,m,n,f)}return;default:if(xt(t)){for(var v in r)m=r[v],r.hasOwnProperty(v)&&void 0!==m&&!n.hasOwnProperty(v)&&dd(e,t,v,void 0,n,m);for(d in n)m=n[d],f=r[d],!n.hasOwnProperty(d)||m===f||void 0===m&&void 0===f||dd(e,t,d,m,n,f);return}}for(var b in r)m=r[b],r.hasOwnProperty(b)&&null!=m&&!n.hasOwnProperty(b)&&cd(e,t,b,null,n,m);for(h in n)m=n[h],f=r[h],!n.hasOwnProperty(h)||m===f||null==m&&null==f||cd(e,t,h,m,n,f)}(n,e.type,r,t),n[He]=t}catch(t){Ec(e,e.return,t)}}function Sl(e){return 5===e.tag||3===e.tag||26===e.tag||27===e.tag&&Id(e.type)||4===e.tag}function Al(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||Sl(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(27===e.tag&&Id(e.type))continue e;if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function Il(e,t,r){var n=e.tag;if(5===n||6===n)e=e.stateNode,t?(9===r.nodeType?r.body:"HTML"===r.nodeName?r.ownerDocument.body:r).insertBefore(e,t):((t=9===r.nodeType?r.body:"HTML"===r.nodeName?r.ownerDocument.body:r).appendChild(e),null!=(r=r._reactRootContainer)||null!==t.onclick||(t.onclick=Ot));else if(4!==n&&(27===n&&Id(e.type)&&(r=e.stateNode,t=null),null!==(e=e.child)))for(Il(e,t,r),e=e.sibling;null!==e;)Il(e,t,r),e=e.sibling}function Rl(e,t,r){var n=e.tag;if(5===n||6===n)e=e.stateNode,t?r.insertBefore(e,t):r.appendChild(e);else if(4!==n&&(27===n&&Id(e.type)&&(r=e.stateNode),null!==(e=e.child)))for(Rl(e,t,r),e=e.sibling;null!==e;)Rl(e,t,r),e=e.sibling}function xl(e){var t=e.stateNode,r=e.memoizedProps;try{for(var n=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);hd(t,n,r),t[je]=e,t[He]=r}catch(t){Ec(e,e.return,t)}}var Tl=!1,Nl=!1,Ml=!1,Ol="function"==typeof WeakSet?WeakSet:Set,Ll=null;function kl(e,t,r){var n=r.flags;switch(r.tag){case 0:case 11:case 15:Yl(e,r),4&n&&pl(5,r);break;case 1:if(Yl(e,r),4&n)if(e=r.stateNode,null===t)try{e.componentDidMount()}catch(e){Ec(r,r.return,e)}else{var i=Es(r.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(i,t,e.__reactInternalSnapshotBeforeUpdate)}catch(e){Ec(r,r.return,e)}}64&n&&bl(r),512&n&&yl(r,r.return);break;case 3:if(Yl(e,r),64&n&&null!==(e=r.updateQueue)){if(t=null,null!==r.child)switch(r.child.tag){case 27:case 5:case 1:t=r.child.stateNode}try{Ia(e,t)}catch(e){Ec(r,r.return,e)}}break;case 27:null===t&&4&n&&xl(r);case 26:case 5:Yl(e,r),null===t&&4&n&&wl(r),512&n&&yl(r,r.return);break;case 12:Yl(e,r);break;case 31:Yl(e,r),4&n&&Fl(e,r);break;case 13:Yl(e,r),4&n&&jl(e,r),64&n&&null!==(e=r.memoizedState)&&null!==(e=e.dehydrated)&&function(e,t){var r=e.ownerDocument;if("$~"===e.data)e._reactRetry=t;else if("$?"!==e.data||"loading"!==r.readyState)t();else{var n=function(){t(),r.removeEventListener("DOMContentLoaded",n)};r.addEventListener("DOMContentLoaded",n),e._reactRetry=n}}(e,r=Rc.bind(null,r));break;case 22:if(!(n=null!==r.memoizedState||Tl)){t=null!==t&&null!==t.memoizedState||Nl,i=Tl;var a=Nl;Tl=n,(Nl=t)&&!a?Zl(e,r,!!(8772&r.subtreeFlags)):Yl(e,r),Tl=i,Nl=a}break;case 30:break;default:Yl(e,r)}}function Pl(e){var t=e.alternate;null!==t&&(e.alternate=null,Pl(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&null!==(t=e.stateNode)&&Qe(t),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Dl=null,Ul=!1;function Bl(e,t,r){for(r=r.child;null!==r;)Vl(e,t,r),r=r.sibling}function Vl(e,t,r){if(be&&"function"==typeof be.onCommitFiberUnmount)try{be.onCommitFiberUnmount(ve,r)}catch(e){}switch(r.tag){case 26:Nl||_l(r,t),Bl(e,t,r),r.memoizedState?r.memoizedState.count--:r.stateNode&&(r=r.stateNode).parentNode.removeChild(r);break;case 27:Nl||_l(r,t);var n=Dl,i=Ul;Id(r.type)&&(Dl=r.stateNode,Ul=!1),Bl(e,t,r),Bd(r.stateNode),Dl=n,Ul=i;break;case 5:Nl||_l(r,t);case 6:if(n=Dl,i=Ul,Dl=null,Bl(e,t,r),Ul=i,null!==(Dl=n))if(Ul)try{(9===Dl.nodeType?Dl.body:"HTML"===Dl.nodeName?Dl.ownerDocument.body:Dl).removeChild(r.stateNode)}catch(e){Ec(r,t,e)}else try{Dl.removeChild(r.stateNode)}catch(e){Ec(r,t,e)}break;case 18:null!==Dl&&(Ul?(Rd(9===(e=Dl).nodeType?e.body:"HTML"===e.nodeName?e.ownerDocument.body:e,r.stateNode),zh(e)):Rd(Dl,r.stateNode));break;case 4:n=Dl,i=Ul,Dl=r.stateNode.containerInfo,Ul=!0,Bl(e,t,r),Dl=n,Ul=i;break;case 0:case 11:case 14:case 15:vl(2,r,t),Nl||vl(4,r,t),Bl(e,t,r);break;case 1:Nl||(_l(r,t),"function"==typeof(n=r.stateNode).componentWillUnmount&&Cl(r,t,n)),Bl(e,t,r);break;case 21:Bl(e,t,r);break;case 22:Nl=(n=Nl)||null!==r.memoizedState,Bl(e,t,r),Nl=n;break;default:Bl(e,t,r)}}function Fl(e,t){if(null===t.memoizedState&&null!==(e=t.alternate)&&null!==(e=e.memoizedState)){e=e.dehydrated;try{zh(e)}catch(e){Ec(t,t.return,e)}}}function jl(e,t){if(null===t.memoizedState&&null!==(e=t.alternate)&&null!==(e=e.memoizedState)&&null!==(e=e.dehydrated))try{zh(e)}catch(e){Ec(t,t.return,e)}}function Hl(e,t){var r=function(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return null===t&&(t=e.stateNode=new Ol),t;case 22:return null===(t=(e=e.stateNode)._retryCache)&&(t=e._retryCache=new Ol),t;default:throw Error(o(435,e.tag))}}(e);t.forEach(function(t){if(!r.has(t)){r.add(t);var n=xc.bind(null,e,t);t.then(n,n)}})}function Wl(e,t){var r=t.deletions;if(null!==r)for(var n=0;n title"))),hd(a,n,r),a[je]=e,et(a),n=a;break e;case"link":var s=rh("link","href",i).get(n+(r.href||""));if(s)for(var l=0;ls)break;var c=l.transferSize,d=l.initiatorType;c&&md(d)&&(o+=c*((l=l.responseEnd)ah?50:800)+t);return e.unsuspend=r,function(){e.unsuspend=null,clearTimeout(n),clearTimeout(i)}}:null}(d,f)))return Fu=a,e.cancelPendingCommit=f(gc.bind(null,e,t,a,r,n,i,o,s,l,c,d,null,h,m)),void $u(e,a,o,!u)}gc(e,t,a,r,n,i,o,s,l)}function Ku(e){for(var t=e;;){var r=t.tag;if((0===r||11===r||15===r)&&16384&t.flags&&null!==(r=t.updateQueue)&&null!==(r=r.stores))for(var n=0;np&&(o=p,p=g,g=o);var v=en(s,g),b=en(s,p);if(v&&b&&(1!==m.rangeCount||m.anchorNode!==v.node||m.anchorOffset!==v.offset||m.focusNode!==b.node||m.focusOffset!==b.offset)){var C=d.createRange();C.setStart(v.node,v.offset),m.removeAllRanges(),g>p?(m.addRange(C),m.extend(b.node,b.offset)):(C.setEnd(b.node,b.offset),m.addRange(C))}}}}for(d=[],m=s;m=m.parentNode;)1===m.nodeType&&d.push({element:m,left:m.scrollLeft,top:m.scrollTop});for("function"==typeof s.focus&&s.focus(),s=0;sr?32:r,k.T=null,r=Hu,Hu=null;var a=Bu,s=Fu;if(Uu=0,Vu=Bu=null,Fu=0,6&mu)throw Error(o(331));var l=mu;if(mu|=4,lu(a.current),eu(a,a.current,s,r),mu=l,Dc(0,!1),be&&"function"==typeof be.onPostCommitFiberRoot)try{be.onPostCommitFiberRoot(ve,a)}catch(e){}return!0}finally{P.p=i,k.T=n,Cc(e,t)}}function wc(e,t,r){t=Yn(r,t),null!==(e=Ca(e,t=Ts(e.stateNode,t,2),2))&&(Oe(e,2),Pc(e))}function Ec(e,t,r){if(3===e.tag)wc(e,e,r);else for(;null!==t;){if(3===t.tag){wc(t,e,r);break}if(1===t.tag){var n=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof n.componentDidCatch&&(null===Du||!Du.has(n))){e=Yn(r,e),null!==(n=Ca(t,r=Ns(2),2))&&(Ms(r,n,t,e),Oe(n,2),Pc(n));break}}t=t.return}}function Sc(e,t,r){var n=e.pingCache;if(null===n){n=e.pingCache=new hu;var i=new Set;n.set(t,i)}else void 0===(i=n.get(t))&&(i=new Set,n.set(t,i));i.has(r)||(_u=!0,i.add(r),e=Ac.bind(null,e,t,r),t.then(e,e))}function Ac(e,t,r){var n=e.pingCache;null!==n&&n.delete(t),e.pingedLanes|=e.suspendedLanes&r,e.warmLanes&=~r,fu===e&&(pu&r)===r&&(4===Eu||3===Eu&&(62914560&pu)===pu&&300>le()-Ou?!(2&mu)&&tc(e,0):Iu|=r,xu===pu&&(xu=0)),Pc(e)}function Ic(e,t){0===t&&(t=Ne()),null!==(e=Ln(e,t))&&(Oe(e,t),Pc(e))}function Rc(e){var t=e.memoizedState,r=0;null!==t&&(r=t.retryLane),Ic(e,r)}function xc(e,t){var r=0;switch(e.tag){case 31:case 13:var n=e.stateNode,i=e.memoizedState;null!==i&&(r=i.retryLane);break;case 19:n=e.stateNode;break;case 22:n=e.stateNode._retryCache;break;default:throw Error(o(314))}null!==n&&n.delete(t),Ic(e,r)}var Tc=null,Nc=null,Mc=!1,Oc=!1,Lc=!1,kc=0;function Pc(e){e!==Nc&&null===e.next&&(null===Nc?Tc=Nc=e:Nc=Nc.next=e),Oc=!0,Mc||(Mc=!0,Sd(function(){6&mu?ie(ce,Uc):Bc()}))}function Dc(e,t){if(!Lc&&Oc){Lc=!0;do{for(var r=!1,n=Tc;null!==n;){if(!t)if(0!==e){var i=n.pendingLanes;if(0===i)var a=0;else{var o=n.suspendedLanes,s=n.pingedLanes;a=(1<<31-ye(42|e)+1)-1,a=201326741&(a&=i&~(o&~s))?201326741&a|1:a?2|a:0}0!==a&&(r=!0,jc(n,a))}else a=pu,!(3&(a=Re(n,n===fu?a:0,null!==n.cancelPendingCommit||-1!==n.timeoutHandle)))||xe(n,a)||(r=!0,jc(n,a));n=n.next}}while(r);Lc=!1}}function Uc(){Bc()}function Bc(){Oc=Mc=!1;var e,t=0;0!==kc&&((e=window.event)&&"popstate"===e.type?e!==yd&&(yd=e,1):(yd=null,0))&&(t=kc);for(var r=le(),n=null,i=Tc;null!==i;){var a=i.next,o=Vc(i,r);0===o?(i.next=null,null===n?Tc=a:n.next=a,null===a&&(Nc=n)):(n=i,(0!==t||3&o)&&(Oc=!0)),i=a}0!==Uu&&5!==Uu||Dc(t,!1),0!==kc&&(kc=0)}function Vc(e,t){for(var r=e.suspendedLanes,n=e.pingedLanes,i=e.expirationTimes,a=-62914561&e.pendingLanes;0 title"):null)}function ih(e){return!!("stylesheet"!==e.type||3&e.state.loading)}var ah=0;function oh(){if(this.count--,0===this.count&&(0===this.imgCount||!this.waitingForImages))if(this.stylesheets)lh(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}var sh=null;function lh(e,t){e.stylesheets=null,null!==e.unsuspend&&(e.count++,sh=new Map,t.forEach(uh,e),sh=null,oh.call(e))}function uh(e,t){if(!(4&t.state.loading)){var r=sh.get(e);if(r)var n=r.get(null);else{r=new Map,sh.set(e,r);for(var i=e.querySelectorAll("link[data-precedence],style[data-precedence]"),a=0;a>>1,i=e[n];if(!(0>>1;na(l,r))ua(c,l)?(e[n]=c,e[u]=r,n=u):(e[n]=l,e[s]=r,n=s);else{if(!(ua(c,r)))break e;e[n]=c,e[u]=r,n=u}}}return t}function a(e,t){var r=e.sortIndex-t.sortIndex;return 0!==r?r:e.id-t.id}if(t.unstable_now=void 0,"object"==typeof performance&&"function"==typeof performance.now){var o=performance;t.unstable_now=function(){return o.now()}}else{var s=Date,l=s.now();t.unstable_now=function(){return s.now()-l}}var u=[],c=[],d=1,h=null,m=3,f=!1,g=!1,p=!1,v=!1,b="function"==typeof setTimeout?setTimeout:null,C="function"==typeof clearTimeout?clearTimeout:null,y="undefined"!=typeof setImmediate?setImmediate:null;function _(e){for(var t=n(c);null!==t;){if(null===t.callback)i(c);else{if(!(t.startTime<=e))break;i(c),t.sortIndex=t.expirationTime,r(u,t)}t=n(c)}}function w(e){if(p=!1,_(e),!g)if(null!==n(u))g=!0,S||(S=!0,E());else{var t=n(c);null!==t&&O(w,t.startTime-e)}}var E,S=!1,A=-1,I=5,R=-1;function x(){return!(!v&&t.unstable_now()-Re&&x());){var o=h.callback;if("function"==typeof o){h.callback=null,m=h.priorityLevel;var s=o(h.expirationTime<=e);if(e=t.unstable_now(),"function"==typeof s){h.callback=s,_(e),r=!0;break t}h===n(u)&&i(u),_(e)}else i(u);h=n(u)}if(null!==h)r=!0;else{var l=n(c);null!==l&&O(w,l.startTime-e),r=!1}}break e}finally{h=null,m=a,f=!1}r=void 0}}finally{r?E():S=!1}}}if("function"==typeof y)E=function(){y(T)};else if("undefined"!=typeof MessageChannel){var N=new MessageChannel,M=N.port2;N.port1.onmessage=T,E=function(){M.postMessage(null)}}else E=function(){b(T,0)};function O(e,r){A=b(function(){e(t.unstable_now())},r)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_forceFrameRate=function(e){0>e||125o?(e.sortIndex=a,r(c,e),null===n(u)&&e===n(c)&&(p?(C(A),A=-1):p=!0,O(w,a-o))):(e.sortIndex=s,r(u,e),g||f||(g=!0,S||(S=!0,E()))),e},t.unstable_shouldYield=x,t.unstable_wrapCallback=function(e){var t=m;return function(){var r=m;m=t;try{return e.apply(this,arguments)}finally{m=r}}}},9982(e,t,r){"use strict";e.exports=r(4477)},5072(e){"use strict";var t=[];function r(e){for(var r=-1,n=0;n0?" ".concat(r.layer):""," {")),n+=r.css,i&&(n+="}"),r.media&&(n+="}"),r.supports&&(n+="}");var a=r.sourceMap;a&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),t.styleTagTransform(n,e,t.options)}(t,e,r)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},1113(e){"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},4384(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.uniToStrPos=t.strPosToUni=void 0,t.strPosToUni=(e,t=e.length)=>{let r=0,n=0;for(;n=55296&&t<=57343&&(r++,n++)}if(n!==t)throw Error("Invalid offset - splits unicode bytes");return n-r},t.uniToStrPos=(e,t)=>{let r=0;for(;t>0;t--){const t=e.charCodeAt(r);r+=t>=55296&&t<=57343?2:1}return r}},7256(){}},a={};function o(e){var t=a[e];if(void 0!==t)return t.exports;var r=a[e]={id:e,exports:{}};return i[e].call(r.exports,r,r.exports,o),r.exports}o.m=i,o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,o.t=function(r,n){if(1&n&&(r=this(r)),8&n)return r;if("object"==typeof r&&r){if(4&n&&r.__esModule)return r;if(16&n&&"function"==typeof r.then)return r}var i=Object.create(null);o.r(i);var a={};e=e||[null,t({}),t([]),t(t)];for(var s=2&n&&r;("object"==typeof s||"function"==typeof s)&&!~e.indexOf(s);s=t(s))Object.getOwnPropertyNames(s).forEach(e=>a[e]=()=>r[e]);return a.default=()=>r,o.d(i,a),i},o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce((t,r)=>(o.f[r](e,t),t),[])),o.u=e=>e+".adapter.js",o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r={},n="yangs-toolbox:",o.l=(e,t,i,a)=>{if(r[e])r[e].push(t);else{var s,l;if(void 0!==i)for(var u=document.getElementsByTagName("script"),c=0;c{s.onerror=s.onload=null,clearTimeout(m);var i=r[e];if(delete r[e],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach(e=>e(n)),t)return t(n)},m=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),l&&document.head.appendChild(s)}},o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+"");var t=o.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var n=r.length-1;n>-1&&(!e||!/^http(s?):/.test(e));)e=r[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o.p=e})(),(()=>{var e={8792:0};o.f.j=(t,r)=>{var n=o.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var i=new Promise((r,i)=>n=e[t]=[r,i]);r.push(n[2]=i);var a=o.p+o.u(t),s=new Error;o.l(a,r=>{if(o.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var i=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+i+": "+a+")",s.name="ChunkLoadError",s.type=i,s.request=a,n[1](s)}},"chunk-"+t,t)}};var t=(t,r)=>{var n,i,[a,s,l]=r,u=0;if(a.some(t=>0!==e[t])){for(n in s)o.o(s,n)&&(o.m[n]=s[n]);l&&l(o)}for(t&&t(r);u{"use strict";var e={};o.r(e),o.d(e,{addLocale:()=>Ga,dateFromSerial:()=>go,dateToSerial:()=>fo,dec2frac:()=>so,format:()=>gs,formatColor:()=>ps,getFormatDateInfo:()=>ws,getFormatInfo:()=>_s,getLocale:()=>Xa,isDateFormat:()=>vs,isPercentFormat:()=>bs,isTextFormat:()=>Cs,isValidFormat:()=>ys,parseBool:()=>Vo,parseDate:()=>Do,parseLocale:()=>Wa,parseNumber:()=>No,parseTime:()=>Bo,parseValue:()=>Fo,round:()=>ao,tokenTypes:()=>Es,tokenize:()=>cs});var t={};o.r(t),o.d(t,{Cased_Letter:()=>Mp,Close_Punctuation:()=>Op,Connector_Punctuation:()=>Lp,Control:()=>kp,Currency_Symbol:()=>Pp,Dash_Punctuation:()=>Dp,Decimal_Number:()=>Up,Enclosing_Mark:()=>Bp,Final_Punctuation:()=>Vp,Format:()=>Fp,Initial_Punctuation:()=>jp,Letter:()=>Hp,Letter_Number:()=>Wp,Line_Separator:()=>zp,Lowercase_Letter:()=>Xp,Mark:()=>qp,Math_Symbol:()=>Gp,Modifier_Letter:()=>Yp,Modifier_Symbol:()=>Qp,Nonspacing_Mark:()=>Zp,Number:()=>Kp,Open_Punctuation:()=>$p,Other:()=>Jp,Other_Letter:()=>ev,Other_Number:()=>tv,Other_Punctuation:()=>rv,Other_Symbol:()=>nv,Paragraph_Separator:()=>iv,Private_Use:()=>av,Punctuation:()=>ov,Separator:()=>sv,Space_Separator:()=>lv,Spacing_Mark:()=>uv,Surrogate:()=>cv,Symbol:()=>dv,Titlecase_Letter:()=>hv,Unassigned:()=>mv,Uppercase_Letter:()=>fv});var r={};o.r(r),o.d(r,{ASCII:()=>gv,ASCII_Hex_Digit:()=>pv,Alphabetic:()=>vv,Any:()=>bv,Assigned:()=>Cv,Bidi_Control:()=>yv,Bidi_Mirrored:()=>_v,Case_Ignorable:()=>wv,Cased:()=>Ev,Changes_When_Casefolded:()=>Sv,Changes_When_Casemapped:()=>Av,Changes_When_Lowercased:()=>Iv,Changes_When_NFKC_Casefolded:()=>Rv,Changes_When_Titlecased:()=>xv,Changes_When_Uppercased:()=>Tv,Composition_Exclusion:()=>Nv,Dash:()=>Mv,Default_Ignorable_Code_Point:()=>Ov,Deprecated:()=>Lv,Diacritic:()=>kv,Emoji:()=>Pv,Emoji_Component:()=>Dv,Emoji_Modifier:()=>Uv,Emoji_Modifier_Base:()=>Bv,Emoji_Presentation:()=>Vv,Expands_On_NFC:()=>Fv,Expands_On_NFD:()=>jv,Expands_On_NFKC:()=>Hv,Expands_On_NFKD:()=>Wv,Extended_Pictographic:()=>zv,Extender:()=>Xv,Full_Composition_Exclusion:()=>qv,Grapheme_Base:()=>Gv,Grapheme_Extend:()=>Yv,Grapheme_Link:()=>Qv,Hex_Digit:()=>Zv,Hyphen:()=>Kv,IDS_Binary_Operator:()=>$v,IDS_Trinary_Operator:()=>Jv,IDS_Unary_Operator:()=>eb,ID_Compat_Math_Continue:()=>tb,ID_Compat_Math_Start:()=>rb,ID_Continue:()=>nb,ID_Start:()=>ib,Ideographic:()=>ab,InCB:()=>ob,Join_Control:()=>sb,Logical_Order_Exception:()=>lb,Lowercase:()=>ub,Math:()=>cb,Modifier_Combining_Mark:()=>db,NFKC_Simple_Casefold:()=>hb,Noncharacter_Code_Point:()=>mb,Other_Alphabetic:()=>fb,Other_Default_Ignorable_Code_Point:()=>gb,Other_Grapheme_Extend:()=>pb,Other_ID_Continue:()=>vb,Other_ID_Start:()=>bb,Other_Lowercase:()=>Cb,Other_Math:()=>yb,Other_Uppercase:()=>_b,Pattern_Syntax:()=>wb,Pattern_White_Space:()=>Eb,Prepended_Concatenation_Mark:()=>Sb,Quotation_Mark:()=>Ab,Radical:()=>Ib,Regional_Indicator:()=>Rb,Sentence_Terminal:()=>xb,Soft_Dotted:()=>Tb,Terminal_Punctuation:()=>Nb,Unified_Ideograph:()=>Mb,Uppercase:()=>Ob,Variation_Selector:()=>Lb,White_Space:()=>kb,XID_Continue:()=>Pb,XID_Start:()=>Db});var n={};o.r(n),o.d(n,{Arabic_Letter:()=>Ub,Arabic_Number:()=>Bb,Boundary_Neutral:()=>Vb,Common_Separator:()=>Fb,European_Number:()=>jb,European_Separator:()=>Hb,European_Terminator:()=>Wb,First_Strong_Isolate:()=>zb,Left_To_Right:()=>Xb,Left_To_Right_Embedding:()=>qb,Left_To_Right_Isolate:()=>Gb,Left_To_Right_Override:()=>Yb,Nonspacing_Mark:()=>Qb,Other_Neutral:()=>Zb,Paragraph_Separator:()=>Kb,Pop_Directional_Format:()=>$b,Pop_Directional_Isolate:()=>Jb,Right_To_Left:()=>eC,Right_To_Left_Embedding:()=>tC,Right_To_Left_Isolate:()=>rC,Right_To_Left_Override:()=>nC,Segment_Separator:()=>iC,White_Space:()=>aC});var i={};o.r(i),o.d(i,{Adlam:()=>oC,Ahom:()=>sC,Anatolian_Hieroglyphs:()=>lC,Arabic:()=>uC,Armenian:()=>cC,Avestan:()=>dC,Balinese:()=>hC,Bamum:()=>mC,Bassa_Vah:()=>fC,Batak:()=>gC,Bengali:()=>pC,Beria_Erfe:()=>vC,Bhaiksuki:()=>bC,Bopomofo:()=>CC,Brahmi:()=>yC,Braille:()=>_C,Buginese:()=>wC,Buhid:()=>EC,Canadian_Aboriginal:()=>SC,Carian:()=>AC,Caucasian_Albanian:()=>IC,Chakma:()=>RC,Cham:()=>xC,Cherokee:()=>TC,Chorasmian:()=>NC,Common:()=>MC,Coptic:()=>OC,Cuneiform:()=>LC,Cypriot:()=>kC,Cypro_Minoan:()=>PC,Cyrillic:()=>DC,Deseret:()=>UC,Devanagari:()=>BC,Dives_Akuru:()=>VC,Dogra:()=>FC,Duployan:()=>jC,Egyptian_Hieroglyphs:()=>HC,Elbasan:()=>WC,Elymaic:()=>zC,Ethiopic:()=>XC,Garay:()=>qC,Georgian:()=>GC,Glagolitic:()=>YC,Gothic:()=>QC,Grantha:()=>ZC,Greek:()=>KC,Gujarati:()=>$C,Gunjala_Gondi:()=>JC,Gurmukhi:()=>ey,Gurung_Khema:()=>ty,Han:()=>ry,Hangul:()=>ny,Hanifi_Rohingya:()=>iy,Hanunoo:()=>ay,Hatran:()=>oy,Hebrew:()=>sy,Hiragana:()=>ly,Imperial_Aramaic:()=>uy,Inherited:()=>cy,Inscriptional_Pahlavi:()=>dy,Inscriptional_Parthian:()=>hy,Javanese:()=>my,Kaithi:()=>fy,Kannada:()=>gy,Katakana:()=>py,Kawi:()=>vy,Kayah_Li:()=>by,Kharoshthi:()=>Cy,Khitan_Small_Script:()=>yy,Khmer:()=>_y,Khojki:()=>wy,Khudawadi:()=>Ey,Kirat_Rai:()=>Sy,Lao:()=>Ay,Latin:()=>Iy,Lepcha:()=>Ry,Limbu:()=>xy,Linear_A:()=>Ty,Linear_B:()=>Ny,Lisu:()=>My,Lycian:()=>Oy,Lydian:()=>Ly,Mahajani:()=>ky,Makasar:()=>Py,Malayalam:()=>Dy,Mandaic:()=>Uy,Manichaean:()=>By,Marchen:()=>Vy,Masaram_Gondi:()=>Fy,Medefaidrin:()=>jy,Meetei_Mayek:()=>Hy,Mende_Kikakui:()=>Wy,Meroitic_Cursive:()=>zy,Meroitic_Hieroglyphs:()=>Xy,Miao:()=>qy,Modi:()=>Gy,Mongolian:()=>Yy,Mro:()=>Qy,Multani:()=>Zy,Myanmar:()=>Ky,Nabataean:()=>$y,Nag_Mundari:()=>Jy,Nandinagari:()=>e_,New_Tai_Lue:()=>t_,Newa:()=>r_,Nko:()=>n_,Nushu:()=>i_,Nyiakeng_Puachue_Hmong:()=>a_,Ogham:()=>o_,Ol_Chiki:()=>s_,Ol_Onal:()=>l_,Old_Hungarian:()=>u_,Old_Italic:()=>c_,Old_North_Arabian:()=>d_,Old_Permic:()=>h_,Old_Persian:()=>m_,Old_Sogdian:()=>f_,Old_South_Arabian:()=>g_,Old_Turkic:()=>p_,Old_Uyghur:()=>v_,Oriya:()=>b_,Osage:()=>C_,Osmanya:()=>y_,Pahawh_Hmong:()=>__,Palmyrene:()=>w_,Pau_Cin_Hau:()=>E_,Phags_Pa:()=>S_,Phoenician:()=>A_,Psalter_Pahlavi:()=>I_,Rejang:()=>R_,Runic:()=>x_,Samaritan:()=>T_,Saurashtra:()=>N_,Sharada:()=>M_,Shavian:()=>O_,Siddham:()=>L_,Sidetic:()=>k_,SignWriting:()=>P_,Sinhala:()=>D_,Sogdian:()=>U_,Sora_Sompeng:()=>B_,Soyombo:()=>V_,Sundanese:()=>F_,Sunuwar:()=>j_,Syloti_Nagri:()=>H_,Syriac:()=>W_,Tagalog:()=>z_,Tagbanwa:()=>X_,Tai_Le:()=>q_,Tai_Tham:()=>G_,Tai_Viet:()=>Y_,Tai_Yo:()=>Q_,Takri:()=>Z_,Tamil:()=>K_,Tangsa:()=>$_,Tangut:()=>J_,Telugu:()=>ew,Thaana:()=>tw,Thai:()=>rw,Tibetan:()=>nw,Tifinagh:()=>iw,Tirhuta:()=>aw,Todhri:()=>ow,Tolong_Siki:()=>sw,Toto:()=>lw,Tulu_Tigalari:()=>uw,Ugaritic:()=>cw,Vai:()=>dw,Vithkuqi:()=>hw,Wancho:()=>mw,Warang_Citi:()=>fw,Yezidi:()=>gw,Yi:()=>pw,Zanabazar_Square:()=>vw});var a={};o.r(a),o.d(a,{Adlam:()=>bw,Ahom:()=>Cw,Anatolian_Hieroglyphs:()=>yw,Arabic:()=>_w,Armenian:()=>ww,Avestan:()=>Ew,Balinese:()=>Sw,Bamum:()=>Aw,Bassa_Vah:()=>Iw,Batak:()=>Rw,Bengali:()=>xw,Beria_Erfe:()=>Tw,Bhaiksuki:()=>Nw,Bopomofo:()=>Mw,Brahmi:()=>Ow,Braille:()=>Lw,Buginese:()=>kw,Buhid:()=>Pw,Canadian_Aboriginal:()=>Dw,Carian:()=>Uw,Caucasian_Albanian:()=>Bw,Chakma:()=>Vw,Cham:()=>Fw,Cherokee:()=>jw,Chorasmian:()=>Hw,Common:()=>Ww,Coptic:()=>zw,Cuneiform:()=>Xw,Cypriot:()=>qw,Cypro_Minoan:()=>Gw,Cyrillic:()=>Yw,Deseret:()=>Qw,Devanagari:()=>Zw,Dives_Akuru:()=>Kw,Dogra:()=>$w,Duployan:()=>Jw,Egyptian_Hieroglyphs:()=>eE,Elbasan:()=>tE,Elymaic:()=>rE,Ethiopic:()=>nE,Garay:()=>iE,Georgian:()=>aE,Glagolitic:()=>oE,Gothic:()=>sE,Grantha:()=>lE,Greek:()=>uE,Gujarati:()=>cE,Gunjala_Gondi:()=>dE,Gurmukhi:()=>hE,Gurung_Khema:()=>mE,Han:()=>fE,Hangul:()=>gE,Hanifi_Rohingya:()=>pE,Hanunoo:()=>vE,Hatran:()=>bE,Hebrew:()=>CE,Hiragana:()=>yE,Imperial_Aramaic:()=>_E,Inherited:()=>wE,Inscriptional_Pahlavi:()=>EE,Inscriptional_Parthian:()=>SE,Javanese:()=>AE,Kaithi:()=>IE,Kannada:()=>RE,Katakana:()=>xE,Kawi:()=>TE,Kayah_Li:()=>NE,Kharoshthi:()=>ME,Khitan_Small_Script:()=>OE,Khmer:()=>LE,Khojki:()=>kE,Khudawadi:()=>PE,Kirat_Rai:()=>DE,Lao:()=>UE,Latin:()=>BE,Lepcha:()=>VE,Limbu:()=>FE,Linear_A:()=>jE,Linear_B:()=>HE,Lisu:()=>WE,Lycian:()=>zE,Lydian:()=>XE,Mahajani:()=>qE,Makasar:()=>GE,Malayalam:()=>YE,Mandaic:()=>QE,Manichaean:()=>ZE,Marchen:()=>KE,Masaram_Gondi:()=>$E,Medefaidrin:()=>JE,Meetei_Mayek:()=>eS,Mende_Kikakui:()=>tS,Meroitic_Cursive:()=>rS,Meroitic_Hieroglyphs:()=>nS,Miao:()=>iS,Modi:()=>aS,Mongolian:()=>oS,Mro:()=>sS,Multani:()=>lS,Myanmar:()=>uS,Nabataean:()=>cS,Nag_Mundari:()=>dS,Nandinagari:()=>hS,New_Tai_Lue:()=>mS,Newa:()=>fS,Nko:()=>gS,Nushu:()=>pS,Nyiakeng_Puachue_Hmong:()=>vS,Ogham:()=>bS,Ol_Chiki:()=>CS,Ol_Onal:()=>yS,Old_Hungarian:()=>_S,Old_Italic:()=>wS,Old_North_Arabian:()=>ES,Old_Permic:()=>SS,Old_Persian:()=>AS,Old_Sogdian:()=>IS,Old_South_Arabian:()=>RS,Old_Turkic:()=>xS,Old_Uyghur:()=>TS,Oriya:()=>NS,Osage:()=>MS,Osmanya:()=>OS,Pahawh_Hmong:()=>LS,Palmyrene:()=>kS,Pau_Cin_Hau:()=>PS,Phags_Pa:()=>DS,Phoenician:()=>US,Psalter_Pahlavi:()=>BS,Rejang:()=>VS,Runic:()=>FS,Samaritan:()=>jS,Saurashtra:()=>HS,Sharada:()=>WS,Shavian:()=>zS,Siddham:()=>XS,Sidetic:()=>qS,SignWriting:()=>GS,Sinhala:()=>YS,Sogdian:()=>QS,Sora_Sompeng:()=>ZS,Soyombo:()=>KS,Sundanese:()=>$S,Sunuwar:()=>JS,Syloti_Nagri:()=>eA,Syriac:()=>tA,Tagalog:()=>rA,Tagbanwa:()=>nA,Tai_Le:()=>iA,Tai_Tham:()=>aA,Tai_Viet:()=>oA,Tai_Yo:()=>sA,Takri:()=>lA,Tamil:()=>uA,Tangsa:()=>cA,Tangut:()=>dA,Telugu:()=>hA,Thaana:()=>mA,Thai:()=>fA,Tibetan:()=>gA,Tifinagh:()=>pA,Tirhuta:()=>vA,Todhri:()=>bA,Tolong_Siki:()=>CA,Toto:()=>yA,Tulu_Tigalari:()=>_A,Ugaritic:()=>wA,Vai:()=>EA,Vithkuqi:()=>SA,Wancho:()=>AA,Warang_Citi:()=>IA,Yezidi:()=>RA,Yi:()=>xA,Zanabazar_Square:()=>TA});var s={};o.r(s),o.d(s,{C:()=>NA,F:()=>MA,S:()=>OA,T:()=>LA});var l={};o.r(l),o.d(l,{Adlam:()=>kA,Aegean_Numbers:()=>PA,Ahom:()=>DA,Alchemical_Symbols:()=>UA,Alphabetic_Presentation_Forms:()=>BA,Anatolian_Hieroglyphs:()=>VA,Ancient_Greek_Musical_Notation:()=>FA,Ancient_Greek_Numbers:()=>jA,Ancient_Symbols:()=>HA,Arabic:()=>WA,Arabic_Extended_A:()=>zA,Arabic_Extended_B:()=>XA,Arabic_Extended_C:()=>qA,Arabic_Mathematical_Alphabetic_Symbols:()=>GA,Arabic_Presentation_Forms_A:()=>YA,Arabic_Presentation_Forms_B:()=>QA,Arabic_Supplement:()=>ZA,Armenian:()=>KA,Arrows:()=>$A,Avestan:()=>JA,Balinese:()=>eI,Bamum:()=>tI,Bamum_Supplement:()=>rI,Basic_Latin:()=>nI,Bassa_Vah:()=>iI,Batak:()=>aI,Bengali:()=>oI,Beria_Erfe:()=>sI,Bhaiksuki:()=>lI,Block_Elements:()=>uI,Bopomofo:()=>cI,Bopomofo_Extended:()=>dI,Box_Drawing:()=>hI,Brahmi:()=>mI,Braille_Patterns:()=>fI,Buginese:()=>gI,Buhid:()=>pI,Byzantine_Musical_Symbols:()=>vI,CJK_Compatibility:()=>bI,CJK_Compatibility_Forms:()=>CI,CJK_Compatibility_Ideographs:()=>yI,CJK_Compatibility_Ideographs_Supplement:()=>_I,CJK_Radicals_Supplement:()=>wI,CJK_Strokes:()=>EI,CJK_Symbols_And_Punctuation:()=>SI,CJK_Unified_Ideographs:()=>AI,CJK_Unified_Ideographs_Extension_A:()=>II,CJK_Unified_Ideographs_Extension_B:()=>RI,CJK_Unified_Ideographs_Extension_C:()=>xI,CJK_Unified_Ideographs_Extension_D:()=>TI,CJK_Unified_Ideographs_Extension_E:()=>NI,CJK_Unified_Ideographs_Extension_F:()=>MI,CJK_Unified_Ideographs_Extension_G:()=>OI,CJK_Unified_Ideographs_Extension_H:()=>LI,CJK_Unified_Ideographs_Extension_I:()=>kI,CJK_Unified_Ideographs_Extension_J:()=>PI,Carian:()=>DI,Caucasian_Albanian:()=>UI,Chakma:()=>BI,Cham:()=>VI,Cherokee:()=>FI,Cherokee_Supplement:()=>jI,Chess_Symbols:()=>HI,Chorasmian:()=>WI,Combining_Diacritical_Marks:()=>zI,Combining_Diacritical_Marks_Extended:()=>XI,Combining_Diacritical_Marks_For_Symbols:()=>qI,Combining_Diacritical_Marks_Supplement:()=>GI,Combining_Half_Marks:()=>YI,Common_Indic_Number_Forms:()=>QI,Control_Pictures:()=>ZI,Coptic:()=>KI,Coptic_Epact_Numbers:()=>$I,Counting_Rod_Numerals:()=>JI,Cuneiform:()=>eR,Cuneiform_Numbers_And_Punctuation:()=>tR,Currency_Symbols:()=>rR,Cypriot_Syllabary:()=>nR,Cypro_Minoan:()=>iR,Cyrillic:()=>aR,Cyrillic_Extended_A:()=>oR,Cyrillic_Extended_B:()=>sR,Cyrillic_Extended_C:()=>lR,Cyrillic_Extended_D:()=>uR,Cyrillic_Supplement:()=>cR,Deseret:()=>dR,Devanagari:()=>hR,Devanagari_Extended:()=>mR,Devanagari_Extended_A:()=>fR,Dingbats:()=>gR,Dives_Akuru:()=>pR,Dogra:()=>vR,Domino_Tiles:()=>bR,Duployan:()=>CR,Early_Dynastic_Cuneiform:()=>yR,Egyptian_Hieroglyph_Format_Controls:()=>_R,Egyptian_Hieroglyphs:()=>wR,Egyptian_Hieroglyphs_Extended_A:()=>ER,Elbasan:()=>SR,Elymaic:()=>AR,Emoticons:()=>IR,Enclosed_Alphanumeric_Supplement:()=>RR,Enclosed_Alphanumerics:()=>xR,Enclosed_CJK_Letters_And_Months:()=>TR,Enclosed_Ideographic_Supplement:()=>NR,Ethiopic:()=>MR,Ethiopic_Extended:()=>OR,Ethiopic_Extended_A:()=>LR,Ethiopic_Extended_B:()=>kR,Ethiopic_Supplement:()=>PR,Garay:()=>DR,General_Punctuation:()=>UR,Geometric_Shapes:()=>BR,Geometric_Shapes_Extended:()=>VR,Georgian:()=>FR,Georgian_Extended:()=>jR,Georgian_Supplement:()=>HR,Glagolitic:()=>WR,Glagolitic_Supplement:()=>zR,Gothic:()=>XR,Grantha:()=>qR,Greek_And_Coptic:()=>GR,Greek_Extended:()=>YR,Gujarati:()=>QR,Gunjala_Gondi:()=>ZR,Gurmukhi:()=>KR,Gurung_Khema:()=>$R,Halfwidth_And_Fullwidth_Forms:()=>JR,Hangul_Compatibility_Jamo:()=>ex,Hangul_Jamo:()=>tx,Hangul_Jamo_Extended_A:()=>rx,Hangul_Jamo_Extended_B:()=>nx,Hangul_Syllables:()=>ix,Hanifi_Rohingya:()=>ax,Hanunoo:()=>ox,Hatran:()=>sx,Hebrew:()=>lx,High_Private_Use_Surrogates:()=>ux,High_Surrogates:()=>cx,Hiragana:()=>dx,IPA_Extensions:()=>hx,Ideographic_Description_Characters:()=>mx,Ideographic_Symbols_And_Punctuation:()=>fx,Imperial_Aramaic:()=>gx,Indic_Siyaq_Numbers:()=>px,Inscriptional_Pahlavi:()=>vx,Inscriptional_Parthian:()=>bx,Javanese:()=>Cx,Kaithi:()=>yx,Kaktovik_Numerals:()=>_x,Kana_Extended_A:()=>wx,Kana_Extended_B:()=>Ex,Kana_Supplement:()=>Sx,Kanbun:()=>Ax,Kangxi_Radicals:()=>Ix,Kannada:()=>Rx,Katakana:()=>xx,Katakana_Phonetic_Extensions:()=>Tx,Kawi:()=>Nx,Kayah_Li:()=>Mx,Kharoshthi:()=>Ox,Khitan_Small_Script:()=>Lx,Khmer:()=>kx,Khmer_Symbols:()=>Px,Khojki:()=>Dx,Khudawadi:()=>Ux,Kirat_Rai:()=>Bx,Lao:()=>Vx,Latin_1_Supplement:()=>Fx,Latin_Extended_A:()=>jx,Latin_Extended_Additional:()=>Hx,Latin_Extended_B:()=>Wx,Latin_Extended_C:()=>zx,Latin_Extended_D:()=>Xx,Latin_Extended_E:()=>qx,Latin_Extended_F:()=>Gx,Latin_Extended_G:()=>Yx,Lepcha:()=>Qx,Letterlike_Symbols:()=>Zx,Limbu:()=>Kx,Linear_A:()=>$x,Linear_B_Ideograms:()=>Jx,Linear_B_Syllabary:()=>eT,Lisu:()=>tT,Lisu_Supplement:()=>rT,Low_Surrogates:()=>nT,Lycian:()=>iT,Lydian:()=>aT,Mahajani:()=>oT,Mahjong_Tiles:()=>sT,Makasar:()=>lT,Malayalam:()=>uT,Mandaic:()=>cT,Manichaean:()=>dT,Marchen:()=>hT,Masaram_Gondi:()=>mT,Mathematical_Alphanumeric_Symbols:()=>fT,Mathematical_Operators:()=>gT,Mayan_Numerals:()=>pT,Medefaidrin:()=>vT,Meetei_Mayek:()=>bT,Meetei_Mayek_Extensions:()=>CT,Mende_Kikakui:()=>yT,Meroitic_Cursive:()=>_T,Meroitic_Hieroglyphs:()=>wT,Miao:()=>ET,Miscellaneous_Mathematical_Symbols_A:()=>ST,Miscellaneous_Mathematical_Symbols_B:()=>AT,Miscellaneous_Symbols:()=>IT,Miscellaneous_Symbols_And_Arrows:()=>RT,Miscellaneous_Symbols_And_Pictographs:()=>xT,Miscellaneous_Symbols_Supplement:()=>TT,Miscellaneous_Technical:()=>NT,Modi:()=>MT,Modifier_Tone_Letters:()=>OT,Mongolian:()=>LT,Mongolian_Supplement:()=>kT,Mro:()=>PT,Multani:()=>DT,Musical_Symbols:()=>UT,Myanmar:()=>BT,Myanmar_Extended_A:()=>VT,Myanmar_Extended_B:()=>FT,Myanmar_Extended_C:()=>jT,NKo:()=>HT,Nabataean:()=>WT,Nag_Mundari:()=>zT,Nandinagari:()=>XT,New_Tai_Lue:()=>qT,Newa:()=>GT,Number_Forms:()=>YT,Nushu:()=>QT,Nyiakeng_Puachue_Hmong:()=>ZT,Ogham:()=>KT,Ol_Chiki:()=>$T,Ol_Onal:()=>JT,Old_Hungarian:()=>eN,Old_Italic:()=>tN,Old_North_Arabian:()=>rN,Old_Permic:()=>nN,Old_Persian:()=>iN,Old_Sogdian:()=>aN,Old_South_Arabian:()=>oN,Old_Turkic:()=>sN,Old_Uyghur:()=>lN,Optical_Character_Recognition:()=>uN,Oriya:()=>cN,Ornamental_Dingbats:()=>dN,Osage:()=>hN,Osmanya:()=>mN,Ottoman_Siyaq_Numbers:()=>fN,Pahawh_Hmong:()=>gN,Palmyrene:()=>pN,Pau_Cin_Hau:()=>vN,Phags_Pa:()=>bN,Phaistos_Disc:()=>CN,Phoenician:()=>yN,Phonetic_Extensions:()=>_N,Phonetic_Extensions_Supplement:()=>wN,Playing_Cards:()=>EN,Private_Use_Area:()=>SN,Psalter_Pahlavi:()=>AN,Rejang:()=>IN,Rumi_Numeral_Symbols:()=>RN,Runic:()=>xN,Samaritan:()=>TN,Saurashtra:()=>NN,Sharada:()=>MN,Sharada_Supplement:()=>ON,Shavian:()=>LN,Shorthand_Format_Controls:()=>kN,Siddham:()=>PN,Sidetic:()=>DN,Sinhala:()=>UN,Sinhala_Archaic_Numbers:()=>BN,Small_Form_Variants:()=>VN,Small_Kana_Extension:()=>FN,Sogdian:()=>jN,Sora_Sompeng:()=>HN,Soyombo:()=>WN,Spacing_Modifier_Letters:()=>zN,Specials:()=>XN,Sundanese:()=>qN,Sundanese_Supplement:()=>GN,Sunuwar:()=>YN,Superscripts_And_Subscripts:()=>QN,Supplemental_Arrows_A:()=>ZN,Supplemental_Arrows_B:()=>KN,Supplemental_Arrows_C:()=>$N,Supplemental_Mathematical_Operators:()=>JN,Supplemental_Punctuation:()=>eM,Supplemental_Symbols_And_Pictographs:()=>tM,Supplementary_Private_Use_Area_A:()=>rM,Supplementary_Private_Use_Area_B:()=>nM,Sutton_SignWriting:()=>iM,Syloti_Nagri:()=>aM,Symbols_And_Pictographs_Extended_A:()=>oM,Symbols_For_Legacy_Computing:()=>sM,Symbols_For_Legacy_Computing_Supplement:()=>lM,Syriac:()=>uM,Syriac_Supplement:()=>cM,Tagalog:()=>dM,Tagbanwa:()=>hM,Tags:()=>mM,Tai_Le:()=>fM,Tai_Tham:()=>gM,Tai_Viet:()=>pM,Tai_Xuan_Jing_Symbols:()=>vM,Tai_Yo:()=>bM,Takri:()=>CM,Tamil:()=>yM,Tamil_Supplement:()=>_M,Tangsa:()=>wM,Tangut:()=>EM,Tangut_Components:()=>SM,Tangut_Components_Supplement:()=>AM,Tangut_Supplement:()=>IM,Telugu:()=>RM,Thaana:()=>xM,Thai:()=>TM,Tibetan:()=>NM,Tifinagh:()=>MM,Tirhuta:()=>OM,Todhri:()=>LM,Tolong_Siki:()=>kM,Toto:()=>PM,Transport_And_Map_Symbols:()=>DM,Tulu_Tigalari:()=>UM,Ugaritic:()=>BM,Unified_Canadian_Aboriginal_Syllabics:()=>VM,Unified_Canadian_Aboriginal_Syllabics_Extended:()=>FM,Unified_Canadian_Aboriginal_Syllabics_Extended_A:()=>jM,Vai:()=>HM,Variation_Selectors:()=>WM,Variation_Selectors_Supplement:()=>zM,Vedic_Extensions:()=>XM,Vertical_Forms:()=>qM,Vithkuqi:()=>GM,Wancho:()=>YM,Warang_Citi:()=>QM,Yezidi:()=>ZM,Yi_Radicals:()=>KM,Yi_Syllables:()=>$M,Yijing_Hexagram_Symbols:()=>JM,Zanabazar_Square:()=>eO,Znamenny_Musical_Notation:()=>tO});var u={};o.r(u);var c={};o.r(c),o.d(c,{Close:()=>rO,None:()=>nO,Open:()=>iO});var d={};o.r(d),o.d(d,{Aksara:()=>aO,Aksara_Prebase:()=>oO,Aksara_Start:()=>sO,Alphabetic:()=>lO,Ambiguous:()=>uO,Break_After:()=>cO,Break_Before:()=>dO,Break_Both:()=>hO,Break_Symbols:()=>mO,Carriage_Return:()=>fO,Close_Parenthesis:()=>gO,Close_Punctuation:()=>pO,Combining_Mark:()=>vO,Complex_Context:()=>bO,Conditional_Japanese_Starter:()=>CO,Contingent_Break:()=>yO,E_Base:()=>_O,E_Modifier:()=>wO,Exclamation:()=>EO,Glue:()=>SO,H2:()=>AO,H3:()=>IO,Hebrew_Letter:()=>RO,Hyphen:()=>xO,Ideographic:()=>TO,Infix_Numeric:()=>NO,Inseparable:()=>MO,JL:()=>OO,JT:()=>LO,JV:()=>kO,Line_Feed:()=>PO,Mandatory_Break:()=>DO,Next_Line:()=>UO,Nonstarter:()=>BO,Numeric:()=>VO,Open_Punctuation:()=>FO,Postfix_Numeric:()=>jO,Prefix_Numeric:()=>HO,Quotation:()=>WO,Regional_Indicator:()=>zO,Space:()=>XO,Surrogate:()=>qO,Unambiguous_Hyphen:()=>GO,Unknown:()=>YO,Virama:()=>QO,Virama_Final:()=>ZO,Word_Joiner:()=>KO,ZWJ:()=>$O,ZWSpace:()=>JO});var h={};o.r(h),o.d(h,{ALetter:()=>eL,CR:()=>tL,Double_Quote:()=>rL,Extend:()=>nL,ExtendNumLet:()=>iL,Format:()=>aL,Hebrew_Letter:()=>oL,Katakana:()=>sL,LF:()=>lL,MidLetter:()=>uL,MidNum:()=>cL,MidNumLet:()=>dL,Newline:()=>hL,Numeric:()=>mL,Other:()=>fL,Regional_Indicator:()=>gL,Single_Quote:()=>pL,WSegSpace:()=>vL,ZWJ:()=>bL});var m={};o.r(m),o.d(m,{Lowercase:()=>CL,Titlecase:()=>yL,Uppercase:()=>_L});var f={};o.r(f),o.d(f,{Bidi_Class:()=>n,Bidi_Mirroring_Glyph:()=>u,Bidi_Paired_Bracket_Type:()=>c,Binary_Property:()=>r,Block:()=>l,Case_Folding:()=>s,General_Category:()=>t,Line_Break:()=>d,Script:()=>i,Script_Extensions:()=>a,Simple_Case_Mapping:()=>m,Word_Break:()=>h});var g=o(8465),p=o.n(g);const v=Symbol("$$IDENTIFIER_DECORATOR");function b(e){return"function"==typeof e}function C(e){return!(!e||void 0===e.useClass)}function y(e){return!(!e||void 0===e.useFactory)}function _(e){return!(!e||void 0===e.useValue)}function w(e){return!(!e||void 0===e.useAsync)}const E=Symbol("AsyncHook");function S(e){return!(!e||e.__symbol!==E)}function A(e){return b(e)&&!e[v]?e.name:e.toString()}var I=class extends Error{constructor(e){super(`[redi]: ${e}`)}};let R=function(e){return e.MANY="many",e.OPTIONAL="optional",e.REQUIRED="required",e}({}),x=function(e){return e.SELF="self",e.SKIP_SELF="skipSelf",e}({});const T=Symbol("$$TARGET"),N=Symbol("$$DEPENDENCIES");var M=class extends I{constructor(e,t){super(`Could not find dependency registered on the ${e} (indexed) parameter of the constructor of "${A(t)}".`)}},O=class extends I{constructor(e,t){super(`It seems that you forgot to provide a parameter to @Required() on the ${t}th parameter of "${A(e)}"`)}},L=class extends I{constructor(e,t){super(`It seems that you register "undefined" as dependency on the ${t}th parameter of "${A(e)}". Please make sure that there is not cyclic dependency among your TypeScript files, or consider using "forwardRef". For more info please visit our website https://redi.wendell.fun/docs/faq#could-not-find-dependency-registered-on`)}};function k(e){return e[N]||[]}function P(e,t){const r=k(e).find(e=>e.paramIndex===t);if(!r)throw new M(t,e);return r}function D(e,t,r,n=R.REQUIRED,i){const a={paramIndex:r,identifier:t,quantity:n,lookUp:i,withNew:!1};if(void 0===t)throw new L(e,r);const o=e;o[T]===o?o[N].push(a):(o[N]=[a],o[T]=o)}const U=new Set,B=new Map;function V(e){if(U.has(e))return console.error(`Identifier "${e}" already exists. Returning the cached identifier decorator.`),B.get(e);const t=function(e,r,n){D(e,t,n)};return t.decoratorName=e,t.toString=()=>t.decoratorName,t[v]=!0,U.add(e),B.set(e,t),t}function F(e){return function t(){return this instanceof t?this:function(t,r,n){!function(e,t,r){P(e,t).lookUp=r}(t,n,e)}}}const j=F(x.SKIP_SELF),H=F(x.SELF);var W=class extends I{constructor(e,t,r){let n=`Expect ${function(e){return e===R.OPTIONAL?"0 or 1":"1"}(t)} dependency item(s) for id "${A(e)}" but get ${r}.`;0===r&&(n+=" Did you forget to register it?"),r>1&&(n+=" You register it more than once."),super(n),this.quantity=t,this.actual=r}};function z(e,t,r){if(t===R.OPTIONAL&&r>1||t===R.REQUIRED&&1!==r)throw new W(e,t,r)}function X(e){return function t(r){return this instanceof t?this:function(t,n,i){if(r)D(t,r,i,e);else{if(e===R.REQUIRED)throw new O(t,i);!function(e,t,r){P(e,t).quantity=r}(t,i,e)}}}}const q=X(R.MANY),G=X(R.OPTIONAL),Y=X(R.REQUIRED);function Q(e){return(t=e)&&"function"==typeof t.unwrap?e.unwrap():e;var t}const Z=[];function K(e){Z.push(e)}function $(){Z.pop()}var J=class extends I{constructor(e,t,r){var n;super(`Cannot find "${A(t)}" registered by any injector. It is the ${r}th param of "${n=e,n&&!0===n[v]?A(e):e.name}".`)}},ee=class extends I{constructor(e){super(`Cannot find "${A(e)}" registered by any injector. The stack of dependencies is: "${Z.map(e=>A(e)).join(" -> ")}".`),Z.length=0}},te=class{dependencyMap=new Map;constructor(e){this.normalizeDependencies(e).map(e=>this.add(e[0],e[1]))}add(e,t){void 0===t&&(t={useClass:e,lazy:!1});let r=this.dependencyMap.get(e);void 0===r&&(r=[],this.dependencyMap.set(e,r)),r.push(t)}delete(e){this.dependencyMap.delete(e)}get(e,t){const r=this.dependencyMap.get(e);return z(e,t,r.length),function(e,t){return e===R.MANY?t:t[0]}(t,r)}has(e){return this.dependencyMap.has(e)}dispose(){this.dependencyMap.clear()}normalizeDependencies(e){return e.map(e=>{const t=e[0];let r;return r=1===e.length?{useClass:e[0],lazy:!1}:e[1],[t,r]})}},re=class{resolvedDependencies=new Map;add(e,t){let r=this.resolvedDependencies.get(e);void 0===r&&(r=[],this.resolvedDependencies.set(e,r)),r.push(t)}has(e){return this.resolvedDependencies.has(e)}get(e,t){const r=this.resolvedDependencies.get(e);if(!r)throw new ee(e);return z(e,t,r.length),t===R.MANY?r:r[0]}dispose(){Array.from(this.resolvedDependencies.values()).forEach(e=>{e.forEach(e=>{return(t=e)&&"function"==typeof t.dispose?e.dispose():void 0;var t})}),this.resolvedDependencies.clear()}};let ne;!function(){if("undefined"!=typeof requestIdleCallback&&"undefined"!=typeof cancelIdleCallback)ne=(e,t)=>{const r=requestIdleCallback(e,"number"==typeof t?{timeout:t}:void 0);let n=!1;return()=>{n||(n=!0,cancelIdleCallback(r))}};else{const e=Object.freeze({didTimeout:!0,timeRemaining:()=>15});ne=t=>{const r=setTimeout(()=>t(e));let n=!1;return()=>{n||(n=!0,clearTimeout(r))}}}}();var ie=class{executor;disposeIdleCallback;didRun=!1;value;error;constructor(e){this.executor=()=>{try{this.value=e()}catch(e){this.error=e}finally{this.didRun=!0}},this.disposeIdleCallback=ne(()=>this.executor())}hasRun(){return this.didRun}dispose(){this.disposeIdleCallback()}getValue(){if(this.didRun||(this.disposeIdleCallback(),this.executor()),this.error)throw this.error;return this.value}};const ae=Symbol("$$NOT_INSTANTIATED_SYMBOL");var oe=class extends I{constructor(e){super(`Detecting cyclic dependency. The last identifier is "${A(e)}".`)}},se=class extends I{constructor(){super("Injector cannot be accessed after it was disposed.")}},le=class extends I{constructor(e){super(`Async item "${A(e)}" returns another async item.`)}},ue=class extends I{constructor(e){super(`Cannot get async item "${A(e)}" from sync api.`)}},ce=class extends I{constructor(e){super(`Cannot add dependency "${A(e)}" after it is already resolved.`)}},de=class extends I{constructor(e){super(`Cannot delete dependency "${A(e)}" when it is already resolved.`)}},he=class e{dependencyCollection;resolvedDependencyCollection;children=[];resolutionOngoing=0;disposingCallbacks=new Set;disposed=!1;constructor(e,t=null){this.parent=t,this.dependencyCollection=new te(e||[]),this.resolvedDependencyCollection=new re,t&&t.children.push(this)}onDispose(e){return this.disposingCallbacks.add(e),{dispose:()=>this.disposingCallbacks.delete(e)}}createChild(t){return this._ensureInjectorNotDisposed(),new e(t,this)}dispose(){this.children.forEach(e=>e.dispose()),this.children.length=0,this.dependencyCollection.dispose(),this.resolvedDependencyCollection.dispose(),this.deleteSelfFromParent(),this.disposed=!0,this.disposingCallbacks.forEach(e=>e()),this.disposingCallbacks.clear()}deleteSelfFromParent(){if(this.parent){const e=this.parent.children.indexOf(this);this.parent.children.splice(e,1)}}add(e){this._ensureInjectorNotDisposed();const t=e[0],r=e[1];if(this.resolvedDependencyCollection.has(t))throw new ce(t);void 0===r?this.dependencyCollection.add(t):w(r)||C(r)||_(r)||y(r)?this.dependencyCollection.add(t,r):this.resolvedDependencyCollection.add(t,r)}replace(e){this._ensureInjectorNotDisposed();const t=e[0];if(this.resolvedDependencyCollection.has(t))throw new ce(t);this.dependencyCollection.delete(t),this.dependencyCollection.add(t,e[1])}delete(e){if(this._ensureInjectorNotDisposed(),this.resolvedDependencyCollection.has(e))throw new de(e);this.dependencyCollection.delete(e)}invoke(e,...t){this._ensureInjectorNotDisposed();const r={get:(e,t,r)=>this._get(e,t,r),has:e=>this.has(e)};return e(r,...t)}has(e){return this.dependencyCollection.has(e)||this.parent?.has(e)||!1}get(e,t,r){this._ensureInjectorNotDisposed();const n=this._get(e,t,r);if(Array.isArray(n)&&n.some(e=>S(e))||S(n))throw new ue(e);return n}_get(e,t,r,n){let i=R.REQUIRED;if(t===R.REQUIRED||t===R.OPTIONAL||t===R.MANY?i=t:r=t,!n){const t=this.getValue(e,i,r);if(t!==ae)return t}const a=!n;return this.createDependency(e,i,r,a)}getAsync(e){this._ensureInjectorNotDisposed();const t=this.getValue(e,R.REQUIRED);if(t!==ae)return Promise.resolve(t);const r=this.createDependency(e,R.REQUIRED);return S(r)?r.whenReady():Promise.resolve(r)}createInstance(e,...t){return this._ensureInjectorNotDisposed(),this._resolveClassImpl({useClass:e},...t)}_resolveDependency(e,t,r=!0){let n;K(e);try{n=_(t)?this._resolveValueDependency(e,t):y(t)?this._resolveFactory(e,t,r):C(t)?this._resolveClass(e,t,r):(i=t)&&void 0!==i.useExisting?this._resolveExisting(e,t):this._resolveAsync(e,t),$()}catch(e){throw $(),e}var i;return n}_resolveExisting(e,t){const r=this.get(t.useExisting);return this.resolvedDependencyCollection.add(e,r),r}_resolveValueDependency(e,t){const r=t.useValue;return this.resolvedDependencyCollection.add(e,r),r}_resolveClass(e,t,r){let n;if(t.lazy){const e=new ie(()=>(this._ensureInjectorNotDisposed(),this._resolveClassImpl(t)));n=new Proxy(Object.create(null),{get(t,r){if(r in t)return t[r];const n=e.getValue();let i=n[r];return"function"!=typeof i||(i=i.bind(n),t[r]=i),i},set:(t,r,n)=>(e.getValue()[r]=n,!0)})}else n=this._resolveClassImpl(t);return e&&r&&this.resolvedDependencyCollection.add(e,n),n}_resolveClassImpl(e,...t){const r=e.useClass;this.markNewResolution(r);const n=k(r).sort((e,t)=>e.paramIndex-t.paramIndex).map(e=>({...e,identifier:Q(e.identifier)})),i=[];for(const e of n)try{const t=this._get(e.identifier,e.quantity,e.lookUp,e.withNew);i.push(t)}catch(t){if(t instanceof ee||t instanceof W&&0===t.actual)throw new J(r,e.identifier,e.paramIndex);throw t}let a=[...t];const o=n.length>0?n[0].paramIndex:a.length;if(a.length!==o){console.warn(`[redi]: Expect ${o} custom parameter(s) of ${A(r)} but get ${a.length}.`);const e=o-a.length;a=e>0?[...a,...Array.from({length:e}).fill(void 0)]:a.slice(0,o)}const s=new r(...a,...i);return e?.onInstantiation?.(s),this.markResolutionCompleted(),s}_resolveFactory(e,t,r){this.markNewResolution(e);const n=function(e,t=0){return e?e.map((e,r)=>{if(r+=t,!Array.isArray(e))return{paramIndex:r,identifier:e,quantity:R.REQUIRED,withNew:!1};const n=e.slice(0,e.length-1),i=e[e.length-1];let a,o=R.REQUIRED,s=!1;return n.forEach(e=>{e instanceof H?a=x.SELF:e instanceof j?a=x.SKIP_SELF:e instanceof G?o=R.OPTIONAL:e instanceof q?o=R.MANY:s=!0}),{paramIndex:r,identifier:i,quantity:o,lookUp:a,withNew:s}}):[]}(t.deps),i=[];for(const t of n)try{const e=this._get(t.identifier,t.quantity,t.lookUp,t.withNew);i.push(e)}catch(r){if(r instanceof ee||r instanceof W&&0===r.actual)throw new J(e,t.identifier,t.paramIndex);throw r}const a=t.useFactory.apply(null,i);return r&&this.resolvedDependencyCollection.add(e,a),this.markResolutionCompleted(),t?.onInstantiation?.(a),a}_resolveAsync(e,t){return{__symbol:E,whenReady:()=>this._resolveAsyncImpl(e,t)}}_resolveAsyncImpl(e,t){return t.useAsync().then(r=>{const n=this.getValue(e);if(n!==ae)return n;let i;if(Array.isArray(r)){const t=r[1];if(w(t))throw new le(e);i=this._resolveDependency(e,t)}else i=b(r)?this._resolveClassImpl({useClass:r,onInstantiation:t.onInstantiation}):r;return this.resolvedDependencyCollection.add(e,i),i})}getValue(t,r=R.REQUIRED,n){const i=()=>{if(this.parent)return this.parent.getValue(t,r);if(r===R.OPTIONAL)return null;if(r===R.MANY)return[];throw new W(t,R.REQUIRED,0)};return n===x.SKIP_SELF?i():t===e?this:n===x.SELF||this.resolvedDependencyCollection.has(t)||this.dependencyCollection.has(t)?(()=>this.dependencyCollection.has(t)&&!this.resolvedDependencyCollection.has(t)?ae:this.resolvedDependencyCollection.get(t,r))():i()}createDependency(e,t,r,n=!0){const i=()=>{if(this.parent)return this.parent.createDependency(e,t,void 0,n);if(t===R.OPTIONAL)return null;if(t===R.MANY)return[];throw K(e),new ee(e)};return r===x.SKIP_SELF?i():this.dependencyCollection.has(e)?(()=>{const r=this.dependencyCollection.get(e,t);let i=null;return i=Array.isArray(r)?r.map(t=>this._resolveDependency(e,t,n)):this._resolveDependency(e,r,n),i})():i()}markNewResolution(e){if(this.resolutionOngoing+=1,this.resolutionOngoing>=300)throw new oe(e)}markResolutionCompleted(){this.resolutionOngoing-=1}_ensureInjectorNotDisposed(){if(this.disposed)throw new se}};const me="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof window&&window||void 0!==o.g&&o.g,fe="REDI_GLOBAL_LOCK",ge="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node;me[fe]?ge||console.error("[redi]: You are loading scripts of redi more than once! This may cause undesired behavior in your application.\nMaybe your dependencies added redi as its dependency and bundled redi to its dist files. Or you import different versions of redi.\nFor more info please visit our website: https://redi.wendell.fun/en-US/docs/faq#import-scripts-of-redi-more-than-once"):me[fe]=!0;const pe=function(e,t){return e===t||e!=e&&t!=t},ve=function(e,t){for(var r=e.length;r--;)if(pe(e[r][0],t))return r;return-1};var be=Array.prototype.splice;function Ce(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t-1},Ce.prototype.set=function(e,t){var r=this.__data__,n=ve(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this};const ye=Ce,_e="object"==typeof o.g&&o.g&&o.g.Object===Object&&o.g;var we="object"==typeof self&&self&&self.Object===Object&&self;const Ee=_e||we||Function("return this")(),Se=Ee.Symbol;var Ae=Object.prototype,Ie=Ae.hasOwnProperty,Re=Ae.toString,xe=Se?Se.toStringTag:void 0;var Te=Object.prototype.toString;var Ne=Se?Se.toStringTag:void 0;const Me=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Ne&&Ne in Object(e)?function(e){var t=Ie.call(e,xe),r=e[xe];try{e[xe]=void 0;var n=!0}catch(e){}var i=Re.call(e);return n&&(t?e[xe]=r:delete e[xe]),i}(e):function(e){return Te.call(e)}(e)},Oe=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},Le=function(e){if(!Oe(e))return!1;var t=Me(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},ke=Ee["__core-js_shared__"];var Pe,De=(Pe=/[^.]+$/.exec(ke&&ke.keys&&ke.keys.IE_PROTO||""))?"Symbol(src)_1."+Pe:"";var Ue=Function.prototype.toString;var Be=/^\[object .+?Constructor\]$/,Ve=Function.prototype,Fe=Object.prototype,je=Ve.toString,He=Fe.hasOwnProperty,We=RegExp("^"+je.call(He).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const ze=function(e){return!(!Oe(e)||(t=e,De&&De in t))&&(Le(e)?We:Be).test(function(e){if(null!=e){try{return Ue.call(e)}catch(e){}try{return e+""}catch(e){}}return""}(e));var t},Xe=function(e,t){var r=function(e,t){return null==e?void 0:e[t]}(e,t);return ze(r)?r:void 0},qe=Xe(Ee,"Map"),Ge=Xe(Object,"create");var Ye=Object.prototype.hasOwnProperty;var Qe=Object.prototype.hasOwnProperty;function Ze(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t-1&&e%1==0&&e<=9007199254740991},Tt=function(e){return null!=e&&xt(e.length)&&!Le(e)};var Nt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Mt=Nt&&"object"==typeof module&&module&&!module.nodeType&&module,Ot=Mt&&Mt.exports===Nt?Ee.Buffer:void 0;const Lt=(Ot?Ot.isBuffer:void 0)||function(){return!1};var kt=Function.prototype,Pt=Object.prototype,Dt=kt.toString,Ut=Pt.hasOwnProperty,Bt=Dt.call(Object);var Vt={};Vt["[object Float32Array]"]=Vt["[object Float64Array]"]=Vt["[object Int8Array]"]=Vt["[object Int16Array]"]=Vt["[object Int32Array]"]=Vt["[object Uint8Array]"]=Vt["[object Uint8ClampedArray]"]=Vt["[object Uint16Array]"]=Vt["[object Uint32Array]"]=!0,Vt["[object Arguments]"]=Vt["[object Array]"]=Vt["[object ArrayBuffer]"]=Vt["[object Boolean]"]=Vt["[object DataView]"]=Vt["[object Date]"]=Vt["[object Error]"]=Vt["[object Function]"]=Vt["[object Map]"]=Vt["[object Number]"]=Vt["[object Object]"]=Vt["[object RegExp]"]=Vt["[object Set]"]=Vt["[object String]"]=Vt["[object WeakMap]"]=!1;var Ft="object"==typeof exports&&exports&&!exports.nodeType&&exports,jt=Ft&&"object"==typeof module&&module&&!module.nodeType&&module,Ht=jt&&jt.exports===Ft&&_e.process,Wt=function(){try{return jt&&jt.require&&jt.require("util").types||Ht&&Ht.binding&&Ht.binding("util")}catch(e){}}(),zt=Wt&&Wt.isTypedArray;const Xt=zt?function(e){return function(t){return e(t)}}(zt):function(e){return _t(e)&&xt(e.length)&&!!Vt[Me(e)]},qt=function(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]};var Gt=Object.prototype.hasOwnProperty;const Yt=function(e,t,r){var n=e[t];Gt.call(e,t)&&pe(n,r)&&(void 0!==r||t in e)||it(e,t,r)};var Qt=/^(?:0|[1-9]\d*)$/;const Zt=function(e,t){var r=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==r||"symbol"!=r&&Qt.test(e))&&e>-1&&e%1==0&&e0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(sr),cr=function(e,t){return ur(function(e,t,r){return t=or(void 0===t?e.length-1:t,0),function(){for(var n=arguments,i=-1,a=or(n.length-t,0),o=Array(a);++i1?r[i-1]:void 0,o=i>2?r[2]:void 0;for(a=e.length>3&&"function"==typeof a?(i--,a):void 0,o&&function(e,t,r){if(!Oe(r))return!1;var n=typeof t;return!!("number"==n?Tt(r)&&Zt(t,r.length):"string"==n&&t in r)&&pe(r[t],e)}(r[0],r[1],o)&&(a=i<3?void 0:a,i=1),t=Object(t);++n=t||r<0||d&&e-u>=a}function g(){var e=xr();if(f(e))return p(e);s=setTimeout(g,function(e){var r=t-(e-l);return d?Br(r,a-(e-u)):r}(e))}function p(e){return s=void 0,h&&n?m(e):(n=i=void 0,o)}function v(){var e=xr(),r=f(e);if(n=arguments,i=this,l=e,r){if(void 0===s)return function(e){return u=e,s=setTimeout(g,t),c?m(e):o}(l);if(d)return clearTimeout(s),s=setTimeout(g,t),m(l)}return void 0===s&&(s=setTimeout(g,t)),o}return t=Dr(t)||0,Oe(r)&&(c=!!r.leading,a=(d="maxWait"in r)?Ur(Dr(r.maxWait)||0,t):a,h="trailing"in r?!!r.trailing:h),v.cancel=function(){void 0!==s&&clearTimeout(s),u=0,n=l=i=s=void 0},v.flush=function(){return void 0===s?o:p(xr())},v},Fr=dr(function(e,t,r,n){ir(e,t,r,n)}),jr=function(e,t,r){return null==e?e:function(e,t,r,n){if(!Oe(e))return e;for(var i=-1,a=(t=Ar(t,e)).length,o=a-1,s=e;null!=s&&++i0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function Yr(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,a=r.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)o.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}return o}function Qr(e,t,r){if(r||2===arguments.length)for(var n,i=0,a=t.length;i0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(t){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,t)},t.prototype._subscribe=function(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)},t.prototype._innerSubscribe=function(e){var t=this,r=this,n=r.hasError,i=r.isStopped,a=r.observers;return n||i?rn:(this.currentObservers=null,a.push(e),new tn(function(){t.currentObservers=null,en(a,e)}))},t.prototype._checkFinalizedStatuses=function(e){var t=this,r=t.hasError,n=t.thrownError,i=t.isStopped;r?e.error(n):i&&e.complete()},t.prototype.asObservable=function(){var e=new Tn;return e.source=this,e},t.create=function(e,t){return new Ln(e,t)},t}(Tn),Ln=function(e){function t(t,r){var n=e.call(this)||this;return n.destination=t,n.source=r,n}return Wr(t,e),t.prototype.next=function(e){var t,r;null===(r=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===r||r.call(t,e)},t.prototype.error=function(e){var t,r;null===(r=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===r||r.call(t,e)},t.prototype.complete=function(){var e,t;null===(t=null===(e=this.destination)||void 0===e?void 0:e.complete)||void 0===t||t.call(e)},t.prototype._subscribe=function(e){var t,r;return null!==(r=null===(t=this.source)||void 0===t?void 0:t.subscribe(e))&&void 0!==r?r:rn},t}(On);function kn(e){return function(t){if(function(e){return Kr(null==e?void 0:e.lift)}(t))return t.lift(function(t){try{return e(t,this)}catch(e){this.error(e)}});throw new TypeError("Unable to lift unknown Observable type")}}function Pn(e,t,r,n,i){return new Dn(e,t,r,n,i)}var Dn=function(e){function t(t,r,n,i,a,o){var s=e.call(this,t)||this;return s.onFinalize=a,s.shouldUnsubscribe=o,s._next=r?function(e){try{r(e)}catch(e){t.error(e)}}:e.prototype._next,s._error=i?function(e){try{i(e)}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._error,s._complete=n?function(){try{n()}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._complete,s}return Wr(t,e),t.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var r=this.closed;e.prototype.unsubscribe.call(this),!r&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}},t}(bn);function Un(e,t){return kn(function(r,n){var i=0;r.subscribe(Pn(n,function(r){return e.call(t,r,i++)&&n.next(r)}))})}function Bn(e,t,r){var n=Kr(e)||t||r?{next:e,error:t,complete:r}:e;return n?kn(function(e,t){var r;null===(r=n.subscribe)||void 0===r||r.call(n);var i=!0;e.subscribe(Pn(t,function(e){var r;null===(r=n.next)||void 0===r||r.call(n,e),t.next(e)},function(){var e;i=!1,null===(e=n.complete)||void 0===e||e.call(n),t.complete()},function(e){var r;i=!1,null===(r=n.error)||void 0===r||r.call(n,e),t.error(e)},function(){var e,t;i&&(null===(e=n.unsubscribe)||void 0===e||e.call(n)),null===(t=n.finalize)||void 0===t||t.call(n)}))}):Rn}var Vn=function(e){function t(t,r){return e.call(this)||this}return Wr(t,e),t.prototype.schedule=function(e,t){return void 0===t&&(t=0),this},t}(tn),Fn={setInterval:function(e,t){for(var r=[],n=2;n1||s(e,t)})},t&&(n[e]=t(n[e])))}function s(e,t){try{!function(e){e.value instanceof Zr?Promise.resolve(e.value.v).then(l,u):c(a[0][2],e)}(i[e](t))}catch(e){c(a[0][3],e)}}function l(e){s("next",e)}function u(e){s("throw",e)}function c(e,t){e(t),a.shift(),a.length&&s(a[0][0],a[0][1])}}(this,arguments,function(){var t,r,n;return qr(this,function(i){switch(i.label){case 0:t=e.getReader(),i.label=1;case 1:i.trys.push([1,,9,10]),i.label=2;case 2:return[4,Zr(t.read())];case 3:return r=i.sent(),n=r.value,r.done?[4,Zr(void 0)]:[3,5];case 4:return[2,i.sent()];case 5:return[4,Zr(n)];case 6:return[4,i.sent()];case 7:return i.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}})})}function li(e){return Kr(null==e?void 0:e.getReader)}function ui(e){if(e instanceof Tn)return e;if(null!=e){if(ri(e))return i=e,new Tn(function(e){var t=i[In]();if(Kr(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")});if(ei(e))return n=e,new Tn(function(e){for(var t=0;t(e[e.UNIVER_UNKNOWN=0]="UNIVER_UNKNOWN",e[e.UNIVER_DOC=1]="UNIVER_DOC",e[e.UNIVER_SHEET=2]="UNIVER_SHEET",e[e.UNIVER_SLIDE=3]="UNIVER_SLIDE",e[e.UNIVER_PROJECT=4]="UNIVER_PROJECT",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED",e))(Pi||{}),Di=(e=>(e[e.View=0]="View",e[e.Edit=1]="Edit",e[e.ManageCollaborator=2]="ManageCollaborator",e[e.Print=3]="Print",e[e.Duplicate=4]="Duplicate",e[e.Comment=5]="Comment",e[e.Copy=6]="Copy",e[e.Share=7]="Share",e[e.Export=8]="Export",e[e.MoveWorksheet=9]="MoveWorksheet",e[e.DeleteWorksheet=10]="DeleteWorksheet",e[e.HideWorksheet=11]="HideWorksheet",e[e.RenameWorksheet=12]="RenameWorksheet",e[e.CreateWorksheet=13]="CreateWorksheet",e[e.SetWorksheetStyle=14]="SetWorksheetStyle",e[e.EditWorksheetCell=15]="EditWorksheetCell",e[e.InsertHyperlink=16]="InsertHyperlink",e[e.Sort=17]="Sort",e[e.Filter=18]="Filter",e[e.PivotTable=19]="PivotTable",e[e.FloatImg=20]="FloatImg",e[e.History=21]="History",e[e.RwHgtClWdt=22]="RwHgtClWdt",e[e.ViemRwHgtClWdt=23]="ViemRwHgtClWdt",e[e.ViewFilter=24]="ViewFilter",e[e.MoveSheet=25]="MoveSheet",e[e.DeleteSheet=26]="DeleteSheet",e[e.HideSheet=27]="HideSheet",e[e.CopySheet=28]="CopySheet",e[e.RenameSheet=29]="RenameSheet",e[e.CreateSheet=30]="CreateSheet",e[e.SelectProtectedCells=31]="SelectProtectedCells",e[e.SelectUnProtectedCells=32]="SelectUnProtectedCells",e[e.SetCellStyle=33]="SetCellStyle",e[e.SetCellValue=34]="SetCellValue",e[e.SetRowStyle=35]="SetRowStyle",e[e.SetColumnStyle=36]="SetColumnStyle",e[e.InsertRow=37]="InsertRow",e[e.InsertColumn=38]="InsertColumn",e[e.DeleteRow=39]="DeleteRow",e[e.DeleteColumn=40]="DeleteColumn",e[e.EditExtraObject=41]="EditExtraObject",e[e.Delete=42]="Delete",e[e.RecoverHistory=43]="RecoverHistory",e[e.ViewHistory=44]="ViewHistory",e[e.CreatePermissionObject=45]="CreatePermissionObject",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED",e))(Di||{}),Ui=(e=>(e[e.Reader=0]="Reader",e[e.Editor=1]="Editor",e[e.Owner=2]="Owner",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED",e))(Ui||{}),Bi=(e=>(e[e.Unkonwn=0]="Unkonwn",e[e.Workbook=1]="Workbook",e[e.Worksheet=2]="Worksheet",e[e.SelectRange=3]="SelectRange",e[e.Document=4]="Document",e[e.Slide=5]="Slide",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED",e))(Bi||{}),Vi=(e=>(e[e.SomeCollaborator=0]="SomeCollaborator",e[e.AllCollaborator=1]="AllCollaborator",e[e.OneSelf=2]="OneSelf",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED",e))(Vi||{});let Fi=e=>crypto.getRandomValues(new Uint8Array(e));var ji=o(5083);const Hi=2,Wi=4,zi=8,Xi=16,qi=32,Gi=64,Yi=128,Qi=256,Zi=512,Ki=-1,$i=1,Ji=6,ea="general",ta="hash",ra="zero",na="qmark",ia="slash",aa="group",oa="scale",sa="comma",la="break",ua="text",ca="plus",da="minus",ha="point",ma="space",fa="percent",ga="digit",pa="calendar",va="error",ba="datetime",Ca="duration",ya="condition",_a="dbnum",wa="natnum",Ea="locale",Sa="color",Aa="modifier",Ia="ampm",Ra="escaped",xa="string",Ta="skip",Na="exp",Ma="fill",Oa="paren",La="char",ka=["#000000","#FFFFFF","#FF0000","#00FF00","#0000FF","#FFFF00","#FF00FF","#00FFFF","#800000","#008000","#000080","#808000","#800080","#008080","#C0C0C0","#808080","#9999FF","#993366","#FFFFCC","#CCFFFF","#660066","#FF8080","#0066CC","#CCCCFF","#000080","#FF00FF","#FFFF00","#00FFFF","#800080","#800000","#008080","#0000FF","#00CCFF","#CCFFFF","#CCFFCC","#FFFF99","#99CCFF","#FF99CC","#CC99FF","#FFCC99","#3366FF","#33CCCC","#99CC00","#FFCC00","#FF9900","#FF6600","#666699","#969696","#003366","#339966","#003300","#333300","#993300","#993366","#333399","#333333"],Pa=["¤","$","£","¥","֏","؋","৳","฿","៛","₡","₦","₩","₪","₫","€","₭","₮","₱","₲","₴","₸","₹","₺","₼","₽","₾","₿"],Da=new RegExp("["+Pa.join("")+"]"),Ua=Object.freeze({1078:"af",1052:"sq",1118:"am",5121:"ar_DZ",15361:"ar_BH",3073:"ar_EG",2049:"ar_IQ",11265:"ar_JO",13313:"ar_KW",12289:"ar_LB",4097:"ar_LY",6145:"ar_MA",8193:"ar_OM",16385:"ar_QA",1025:"ar_SA",10241:"ar_SY",7169:"ar_TN",14337:"ar_AE",9217:"ar_YE",1067:"hy",1101:"as",2092:"az_AZ",1068:"az_AZ",1069:"eu",1059:"be",2117:"bn",1093:"bn_IN",5146:"bs",1026:"bg",1109:"my",1027:"ca",2052:"zh_CN",3076:"zh_HK",5124:"zh_MO",4100:"zh_SG",1028:"zh_TW",1050:"hr",1029:"cs",1030:"da",1125:"dv",2067:"nl_BE",1043:"nl_NL",1126:"bin",3081:"en_AU",10249:"en_BZ",4105:"en_CA",9225:"en_CB",2057:"en_GB",16393:"en_IN",6153:"en_IE",8201:"en_JM",5129:"en_NZ",13321:"en_PH",7177:"en_ZA",11273:"en_TT",1033:"en_US",12297:"en_ZW",1061:"et",1071:"mk",1080:"fo",1065:"fa",1124:"fil",1035:"fi",2060:"fr_BE",11276:"fr_CM",3084:"fr_CA",9228:"fr_CG",12300:"fr_CI",1036:"fr_FR",5132:"fr_LU",13324:"fr_ML",6156:"fr_MC",14348:"fr_MA",10252:"fr_SN",4108:"fr_CH",7180:"fr",1122:"fy_NL",2108:"gd_IE",1084:"gd",1110:"gl",1079:"ka",3079:"de_AT",1031:"de_DE",5127:"de_LI",4103:"de_LU",2055:"de_CH",1032:"el",1140:"gn",1095:"gu",1279:"en",1037:"he",1081:"hi",1038:"hu",1039:"is",1136:"ig_NG",1057:"id",1040:"it_IT",2064:"it_CH",1041:"ja",1099:"kn",1120:"ks",1087:"kk",1107:"km",1111:"kok",1042:"ko",1088:"ky",1108:"lo",1142:"la",1062:"lv",1063:"lt",2110:"ms_BN",1086:"ms_MY",1100:"ml",1082:"mt",1112:"mni",1153:"mi",1102:"mr",1104:"mn",2128:"mn",1121:"ne",1044:"no_NO",2068:"no_NO",1096:"or",1045:"pl",1046:"pt_BR",2070:"pt_PT",1094:"pa",1047:"rm",2072:"ro_MO",1048:"ro_RO",1049:"ru",2073:"ru_MO",1083:"se",1103:"sa",3098:"sr_SP",2074:"sr_SP",1072:"st",1074:"tn",1113:"sd",1115:"si",1051:"sk",1060:"sl",1143:"so",1070:"sb",11274:"es_AR",16394:"es_BO",13322:"es_CL",9226:"es_CO",5130:"es_CR",7178:"es_DO",12298:"es_EC",17418:"es_SV",4106:"es_GT",18442:"es_HN",2058:"es_MX",19466:"es_NI",6154:"es_PA",15370:"es_PY",10250:"es_PE",20490:"es_PR",1034:"es_ES",14346:"es_UY",8202:"es_VE",1089:"sw",2077:"sv_FI",1053:"sv_SE",1114:"syc",1064:"tg",1097:"ta",1092:"tt",1098:"te",1054:"th",1105:"bo",1073:"ts",1055:"tr",1090:"tk",1058:"uk",1056:"ur",2115:"uz_UZ",1091:"uz_UZ",1075:"ve",1066:"vi",1106:"cy",1076:"xh",1085:"yi",1077:"zu"}),Ba=/^([a-z\d]+)(?:[_-]([a-z\d]+))?(?:\.([a-z\d]+))?(?:@([a-z\d]+))?$/i,Va={},Fa=(e,t="")=>e.replace(/~/g,t).split(";"),ja=(e,t=0,r=0)=>(e.mmm||(e.mmm=t<1?e.mmmm.concat():e.mmmm.map(e=>{const r=e.slice(0,t%10);return r+(t<10||e===r?"":".")})),e.ddd||(e.ddd=r<1?e.dddd.concat():e.dddd.map(e=>{const t=e.slice(0,r%10);return t+(r<10||e===t?"":".")})),!e.mmm6&&e.mmmm6&&(e.mmm6=e.mmmm6),e),Ha={group:" ",decimal:".",positive:"+",negative:"-",percent:"%",exponent:"E",nan:"NaN",infinity:"∞",ampm:Fa("AM;PM"),mmmm6:Fa("Muharram;Safar;Rabiʻ I;Rabiʻ II;Jumada I;Jumada II;Rajab;Shaʻban;Ramadan;Shawwal;Dhuʻl-Qiʻdah;Dhuʻl-Hijjah"),mmm6:Fa("Muh.;Saf.;Rab. I;Rab. II;Jum. I;Jum. II;Raj.;Sha.;Ram.;Shaw.;Dhuʻl-Q.;Dhuʻl-H."),mmmm:Fa("January;February;March;April;May;June;July;August;September;October;November;December"),mmm:Fa("Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec"),dddd:Fa("Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday"),ddd:Fa("Sun;Mon;Tue;Wed;Thu;Fri;Sat"),bool:Fa("TRUE;FALSE"),preferMDY:!1};function Wa(e){const t=Ba.exec(e);if(!t)throw new SyntaxError(`Malformed locale: ${e}`);return{lang:t[1]+(t[2]?"_"+t[2]:""),language:t[1],territory:t[2]||""}}function za(e){if("number"==typeof e)return Ua[65535&e]||null;const t=parseInt(e,16);return isFinite(t)&&Ua[65535&t]?Ua[65535&t]||null:Ba.test(e)?e:null}function Xa(e){const t=za(e);let r=null;if(t){const e=Wa(t);r=Va[e.lang]||Va[e.language]||null}return r}function qa(e){return Object.assign({},Ha,e)}function Ga(e,t){const r="object"==typeof t?t:Wa(t);return Va[r.lang]=qa(e),r.language===r.lang||Va[r.language]||(Va[r.language]=qa(e)),Va[r.lang]}const Ya=qa({group:",",preferMDY:!0});Ya.isDefault=!0,Ga({group:",",ampm:Fa("上午;下午"),mmmm:Fa("一月;二月;三月;四月;五月;六月;七月;八月;九月;十月;十一月;十二月"),mmm:Fa("1月;2月;3月;4月;5月;6月;7月;8月;9月;10月;11月;12月"),dddd:Fa("~日;~一;~二;~三;~四;~五;~六","星期"),ddd:Fa("周日;周一;周二;周三;周四;周五;周六")},"zh_CN");const Qa={group:",",ampm:Fa("上午;下午"),mmmm:Fa("1月;2月;3月;4月;5月;6月;7月;8月;9月;10月;11月;12月"),mmm:Fa("1月;2月;3月;4月;5月;6月;7月;8月;9月;10月;11月;12月"),dddd:Fa("~日;~一;~二;~三;~四;~五;~六","星期"),ddd:Fa("周日;周一;周二;周三;周四;周五;周六")};Ga({...Qa,nan:"非數值",dddd:Fa("~日;~一;~二;~三;~四;~五;~六","星期")},"zh_TW"),Ga({...Qa,dddd:Fa("~日;~一;~二;~三;~四;~五;~六","星期")},"zh_HK"),Ga({...Qa,ampm:Fa("午前;午後"),dddd:Fa("日~;月~;火~;水~;木~;金~;土~","曜日"),ddd:Fa("日;月;火;水;木;金;土")},"ja"),Ga({group:",",ampm:Fa("오전;오후"),mmmm:Fa("1월;2월;3월;4월;5월;6월;7월;8월;9월;10월;11월;12월"),mmm:Fa("1월;2월;3월;4월;5월;6월;7월;8월;9월;10월;11월;12월"),dddd:Fa("일요일;월요일;화요일;수요일;목요일;금요일;토요일"),ddd:Fa("일;월;화;수;목;금;토")},"ko"),Ga({group:",",ampm:Fa("ก่อนเที่ยง;หลังเที่ยง"),mmmm:Fa("มกร~;กุมภาพันธ์;มีน~;เมษายน;พฤษภ~;มิถุนายน;กรกฎ~;สิงห~;กันยายน;ตุล~;พฤศจิกายน;ธันว~","าคม"),mmm:Fa("ม.ค.;ก.พ.;มี.ค.;เม.ย.;พ.ค.;มิ.ย.;ก.ค.;ส.ค.;ก.ย.;ต.ค.;พ.ย.;ธ.ค."),dddd:Fa("วันอาทิตย์;วันจันทร์;วันอังคาร;วันพุธ;วันพฤหัสบดี;วันศุกร์;วันเสาร์"),ddd:Fa("อา.;จ.;อ.;พ.;พฤ.;ศ.;ส.")},"th"),Ga(ja({decimal:",",ampm:Fa("dop.;odp."),mmmm:Fa("ledna;února;března;dubna;května;června;července;srpna;září;října;listopadu;prosince"),mmm:Fa("I;II;III;IV;V;VI;VII;VIII;IX;X;XI;XII"),dddd:Fa("neděle;pondělí;úterý;středa;čtvrtek;pátek;sobota"),bool:Fa("PRAVDA;NEPRAVDA")},-1,2),"cs"),Ga(ja({group:".",decimal:",",mmmm:Fa("januar;februar;marts;april;maj;juni;juli;august;september;oktober;november;december"),dddd:Fa("søn~;man~;tirs~;ons~;tors~;fre~;lør~","dag"),bool:Fa("SAND;FALSK")},13,13),"da"),Ga(ja({group:".",decimal:",",ampm:Fa("a.m.;p.m."),mmmm:Fa("januari;februari;maart;april;mei;juni;juli;augustus;september;oktober;november;december"),mmm:Fa("jan.;feb.;mrt.;apr.;mei;jun.;jul.;aug.;sep.;okt.;nov.;dec."),dddd:Fa("zondag;maandag;dinsdag;woensdag;donderdag;vrijdag;zaterdag"),bool:Fa("WAAR;ONWAAR")},-1,2),"nl"),Ga({group:",",preferMDY:!0},"en"),Ga({group:",",preferMDY:!0},"en_US"),Ga({group:","},"en_AU"),Ga({group:","},"en_CA"),Ga({group:","},"en_GB"),Ga({group:",",mmm:Fa("Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sept;Oct;Nov;Dec")},"en_IE"),Ga(ja({decimal:",",nan:"epäluku",ampm:Fa("ap.;ip."),mmmm:Fa("tammi~;helmi~;maalis~;huhti~;touko~;kesä~;heinä~;elo~;syys~;loka~;marras~;joulu~","kuuta"),mmm:Fa("tammik.;helmik.;maalisk.;huhtik.;toukok.;kesäk.;heinäk.;elok.;syysk.;lokak.;marrask.;jouluk."),dddd:Fa("sunnun~;maanan~;tiis~;keskiviikkona;tors~;perjan~;lauan~","taina"),bool:Fa("TOSI;EPÄTOSI")},-1,2),"fi");const Za=ja({group:" ",decimal:",",mmmm:Fa("janvier;février;mars;avril;mai;juin;juillet;août;septembre;octobre;novembre;décembre"),mmm:Fa("janv.;févr.;mars;avr.;mai;juin;juil.;août;sept.;oct.;nov.;déc."),dddd:Fa("~manche;lun~;mar~;mercre~;jeu~;vendre~;same~","di"),bool:Fa("VRAI;FAUX")},-1,13);Ga({...Za},"fr"),Ga({...Za,mmm:Fa("janv.;févr.;mars;avr.;mai;juin;juill.;août;sept.;oct.;nov.;déc.")},"fr_CA"),Ga({group:"'",decimal:".",...Za},"fr_CH");const Ka=ja({mmmm:Fa("Januar;Februar;März;April;Mai;Juni;Juli;August;September;Oktober;November;Dezember"),mmm:Fa("Jan.;Feb.;März;Apr.;Mai;Juni;Juli;Aug.;Sept.;Okt.;Nov.;Dez."),dddd:Fa("Sonn~;Mon~;Diens~;Mittwoch;Donners~;Frei~;Sams~","tag"),bool:Fa("WAHR;FALSCH")},-1,12);Ga({group:".",decimal:",",...Ka},"de"),Ga({group:"'",decimal:".",...Ka},"de_CH"),Ga(ja({group:".",decimal:",",ampm:Fa("π.μ.;μ.μ."),mmmm:Fa("Ιανουαρ~;Φεβρουαρ~;Μαρτ~;Απριλ~;Μαΐου;Ιουν~;Ιουλ~;Αυγούστου;Σεπτεμβρ~;Οκτωβρ~;Νοεμβρ~;Δεκεμβρ~","ίου"),mmm:Fa("Ιαν;Φεβ;Μαρ;Απρ;Μαΐ;Ιουν;Ιουλ;Αυγ;Σεπ;Οκτ;Νοε;Δεκ"),dddd:Fa("Κυριακή;Δευτέρα;Τρίτη;Τετάρτη;Πέμπτη;Παρασκευή;Σάββατο")},-1,3),"el"),Ga({decimal:",",ampm:Fa("de.;du."),mmmm:Fa("január;február;március;április;május;június;július;augusztus;szeptember;október;november;december"),mmm:Fa("jan.;febr.;márc.;ápr.;máj.;jún.;júl.;aug.;szept.;okt.;nov.;dec."),dddd:Fa("vasárnap;hétfő;kedd;szerda;csütörtök;péntek;szombat"),ddd:Fa("V;H;K;Sze;Cs;P;Szo"),bool:Fa("IGAZ;HAMIS")},"hu"),Ga(ja({group:".",decimal:",",ampm:Fa("f.h.;e.h."),mmmm:Fa("janúar;febrúar;mars;apríl;maí;júní;júlí;ágúst;september;október;nóvember;desember"),dddd:Fa("sunnu~;mánu~;þriðju~;miðviku~;fimmtu~;föstu~;laugar~","dagur")},13,13),"is"),Ga(ja({group:".",decimal:",",mmmm:Fa("Januari;Februari;Maret;April;Mei;Juni;Juli;Agustus;September;Oktober;November;Desember"),dddd:Fa("Minggu;Senin;Selasa;Rabu;Kamis;Jumat;Sabtu")},3,3),"id");const $a=ja({mmmm:Fa("gennaio;febbraio;marzo;aprile;maggio;giugno;luglio;agosto;settembre;ottobre;novembre;dicembre"),dddd:Fa("domenica;lunedì;martedì;mercoledì;giovedì;venerdì;sabato"),bool:Fa("VERO;FALSO")},3,3);Ga({group:".",decimal:",",...$a},"it"),Ga({group:"'",decimal:".",...$a},"it_CH");const Ja={decimal:",",ampm:Fa("a.m.;p.m."),mmmm:Fa("januar;februar;mars;april;mai;juni;juli;august;september;oktober;november;desember"),mmm:Fa("jan.;feb.;mar.;apr.;mai;jun.;jul.;aug.;sep.;okt.;nov.;des."),dddd:Fa("søn~;man~;tirs~;ons~;tors~;fre~;lør~","dag"),bool:Fa("SANN;USANN")};Ga(ja({...Ja},-1,13),"nb"),Ga(ja({...Ja},-1,13),"no"),Ga(ja({decimal:",",mmmm:Fa("stycznia;lutego;marca;kwietnia;maja;czerwca;lipca;sierpnia;września;października;listopada;grudnia"),dddd:Fa("niedziela;poniedziałek;wtorek;środa;czwartek;piątek;sobota"),ddd:Fa("niedz.;pon.;wt.;śr.;czw.;pt.;sob."),bool:Fa("PRAWDA;FAŁSZ")},3,-1),"pl");const eo={group:".",decimal:",",mmmm:Fa("janeiro;fevereiro;março;abril;maio;junho;julho;agosto;setembro;outubro;novembro;dezembro"),dddd:Fa("domingo;segunda-feira;terça-feira;quarta-feira;quinta-feira;sexta-feira;sábado"),bool:Fa("VERDADEIRO;FALSO")};Ga(ja(eo,13,13),"pt"),Ga(ja(eo,13,13),"pt_BR"),Ga({decimal:",",nan:"не число",mmmm:Fa("января;февраля;марта;апреля;мая;июня;июля;августа;сентября;октября;ноября;декабря"),mmm:Fa("янв.;февр.;мар.;апр.;мая;июн.;июл.;авг.;сент.;окт.;нояб.;дек."),dddd:Fa("воскресенье;понедельник;вторник;среда;четверг;пятница;суббота"),ddd:Fa("вс;пн;вт;ср;чт;пт;сб"),mmmm6:Fa("рамадан;шавваль;зуль-каада;зуль-хиджжа;мухаррам;раби-уль-авваль;раби-уль-ахир;джумад-уль-авваль;джумад-уль-ахир;раджаб;шаабан;рамадан"),mmm6:Fa("рам.;шав.;зуль-к.;зуль-х.;мух.;раб. I;раб. II;джум. I;джум. II;радж.;шааб.;рам."),bool:Fa("ИСТИНА;ЛОЖЬ")},"ru"),Ga(ja({decimal:",",mmmm:Fa("januára;februára;marca;apríla;mája;júna;júla;augusta;septembra;októbra;novembra;decembra"),dddd:Fa("nedeľa;pondelok;utorok;streda;štvrtok;piatok;sobota")},3,2),"sk");const to={group:".",decimal:",",ampm:Fa("a. m.;p. m."),mmmm:Fa("enero;febrero;marzo;abril;mayo;junio;julio;agosto;septiem~;octu~;noviem~;diciem~","bre"),mmm:Fa("ene;feb;mar;abr;may;jun;jul;ago;sept;oct;nov;dic"),dddd:Fa("domingo;lunes;martes;miércoles;jueves;viernes;sábado"),ddd:Fa("dom;lun;mar;mié;jue;vie;sáb"),bool:Fa("VERDADERO;FALSO")},ro=Fa("ene;feb;mar;abr;may;jun;jul;ago;sep;oct;nov;dic"),no=Fa("ene.;feb.;mar.;abr.;may.;jun.;jul.;ago.;sept.;oct.;nov.;dic.");Ga({...to},"es"),Ga({...to},"es_AR"),Ga({...to},"es_BO"),Ga({...to},"es_CL"),Ga({...to},"es_CO"),Ga({...to},"es_EC"),Ga({...to,mmm:ro,ampm:Fa("a.m.;p.m.")},"es_MX"),Ga({...to,mmm:no},"es_PY"),Ga({...to,mmm:no},"es_UY"),Ga({...to,mmm:no,mmmm:Fa("enero;febrero;marzo;abril;mayo;junio;julio;agosto;setiembre;octubre;noviembre;diciembre")},"es_VE"),Ga({decimal:",",ampm:Fa("fm;em"),mmmm:Fa("januari;februari;mars;april;maj;juni;juli;augusti;september;oktober;november;december"),mmm:Fa("jan.;feb.;mars;apr.;maj;juni;juli;aug.;sep.;okt.;nov.;dec."),dddd:Fa("sön~;mån~;tis~;ons~;tors~;fre~;lör~","dag"),ddd:Fa("sön;mån;tis;ons;tors;fre;lör")},"sv"),Ga(ja({group:".",decimal:",",ampm:Fa("ÖÖ;ÖS"),mmmm:Fa("Ocak;Şubat;Mart;Nisan;Mayıs;Haziran;Temmuz;Ağustos;Eylül;Ekim;Kasım;Aralık"),mmm:Fa("Oca;Şub;Mar;Nis;May;Haz;Tem;Ağu;Eyl;Eki;Kas;Ara"),dddd:Fa("Pazar;Pazartesi;Salı;Çarşamba;Perşembe;Cuma;Cumartesi"),ddd:Fa("Paz;Pzt;Sal;Çar;Per;Cum;Cmt"),bool:Fa("DOĞRU;YANLIŞ")},3,-1),"tr"),Ga({group:",",ampm:Fa("yb;yh"),mmmm:Fa("Ionawr;Chwefror;Mawrth;Ebrill;Mai;Mehefin;Gorffennaf;Awst;Medi;Hydref;Tachwedd;Rhagfyr"),mmm:Fa("Ion;Chwef;Maw;Ebr;Mai;Meh;Gorff;Awst;Medi;Hyd;Tach;Rhag"),dddd:Fa("Dydd Sul;Dydd Llun;Dydd Mawrth;Dydd Mercher;Dydd Iau;Dydd Gwener;Dydd Sadwrn"),ddd:Fa("Sul;Llun;Maw;Mer;Iau;Gwen;Sad")},"cy"),Ga({group:".",decimal:",",mmmm:Fa("yanvar;fevral;mart;aprel;may;iyun;iyul;avqust;sentyabr;oktyabr;noyabr;dekabr"),mmm:Fa("yan;fev;mar;apr;may;iyn;iyl;avq;sen;okt;noy;dek"),dddd:Fa("bazar;bazar ertəsi;çərşənbə axşamı;çərşənbə;cümə axşamı;cümə;şənbə"),ddd:Fa("B.;B.e.;Ç.a.;Ç.;C.a.;C.;Ş.")},"az"),Ga(ja({decimal:",",mmmm:Fa("студзеня;лютага;сакавіка;красавіка;мая;чэрвеня;ліпеня;жніўня;верасня;кастрычніка;лістапада;снежня"),dddd:Fa("нядзеля;панядзелак;аўторак;серада;чацвер;пятніца;субота"),ddd:Fa("нд;пн;аў;ср;чц;пт;сб")},3,-1),"be"),Ga({decimal:",",ampm:Fa("пр.об.;сл.об."),mmmm:Fa("януари;февруари;март;април;май;юни;юли;август;септември;октомври;ноември;декември"),mmm:Fa("яну;фев;март;апр;май;юни;юли;авг;сеп;окт;ное;дек"),dddd:Fa("неделя;понеделник;вторник;сряда;четвъртък;петък;събота"),ddd:Fa("нд;пн;вт;ср;чт;пт;сб"),bool:Fa("ИСТИНА;ЛОЖЬ")},"bg"),Ga({group:".",decimal:",",mmmm:Fa("de gener;de febrer;de març;d’abril;de maig;de juny;de juliol;d’agost;de setembre;d’octubre;de novembre;de desembre"),mmm:Fa("de gen.;de febr.;de març;d’abr.;de maig;de juny;de jul.;d’ag.;de set.;d’oct.;de nov.;de des."),dddd:Fa("diumenge;dilluns;dimarts;dimecres;dijous;divendres;dissabte"),ddd:Fa("dg.;dl.;dt.;dc.;dj.;dv.;ds."),ampm:Fa("a. m.;p. m.")},"ca"),Ga(ja({group:",",decimal:".",mmmm:Fa("Enero;Pebrero;Marso;Abril;Mayo;Hunyo;Hulyo;Agosto;Setyembre;Oktubre;Nobyembre;Disyembre"),dddd:Fa("Linggo;Lunes;Martes;Miyerkules;Huwebes;Biyernes;Sabado")},3,3),"fil"),Ga({group:",",decimal:".",mmmm:Fa("જાન્યુઆરી;ફેબ્રુઆરી;માર્ચ;એપ્રિલ;મે;જૂન;જુલાઈ;ઑગસ્ટ;સપ્ટેમ્બર;ઑક્ટોબર;નવેમ્બર;ડિસેમ્બર"),mmm:Fa("જાન્યુ;ફેબ્રુ;માર્ચ;એપ્રિલ;મે;જૂન;જુલાઈ;ઑગસ્ટ;સપ્ટે;ઑક્ટો;નવે;ડિસે"),dddd:Fa("રવિ~;સોમ~;મંગળ~;બુધ~;ગુરુ~;શુક્ર~;શનિ~","વાર"),ddd:Fa("રવિ;સોમ;મંગળ;બુધ;ગુરુ;શુક્ર;શનિ")},"gu"),Ga({group:",",decimal:".",ampm:Fa("לפנה״צ;אחה״צ"),dddd:Fa("~ראשון;~שני;~שלישי;~רביעי;~חמישי;~שישי;~שבת","יום "),ddd:Fa("~א׳;~ב׳;~ג׳;~ד׳;~ה׳;~ו׳;שבת","יום "),mmmm:Fa("ינואר;פברואר;מרץ;אפריל;מאי;יוני;יולי;אוגוסט;ספטמבר;אוקטובר;נובמבר;דצמבר"),mmm:Fa("ינו׳;פבר׳;מרץ;אפר׳;מאי;יוני;יולי;אוג׳;ספט׳;אוק׳;נוב׳;דצמ׳"),mmmm6:Fa("רמדאן;שוואל;ד׳ו אל־קעדה;ד׳ו אל־חיג׳ה;מוחרם;רביע אל־אוול;רביע א־ת׳אני;ג׳ומאדא אל־אולא;ג׳ומאדא א־ת׳אניה;רג׳ב;שעבאן;רמדאן"),mmm6:Fa("רמדאן;שוואל;ד׳ו אל־קעדה;ד׳ו אל־חיג׳ה;מוחרם;רביע א׳;רביע ב׳;ג׳ומאדא א׳;ג׳ומאדא ב׳;רג׳ב;שעבאן;רמדאן")},"he"),Ga(ja({group:".",decimal:",",mmmm:Fa("siječnja;veljače;ožujka;travnja;svibnja;lipnja;srpnja;kolovoza;rujna;listopada;studenoga;prosinca"),mmm:Fa("sij;velj;ožu;tra;svi;lip;srp;kol;ruj;lis;stu;pro"),dddd:Fa("nedjelja;ponedjeljak;utorak;srijeda;četvrtak;petak;subota")},-1,3),"hr"),Ga({decimal:",",mmmm:Fa("հունվարի;փետրվարի;մարտի;ապրիլի;մայիսի;հունիսի;հուլիսի;օգոստոսի;սեպտեմբերի;հոկտեմբերի;նոյեմբերի;դեկտեմբերի"),mmm:Fa("հնվ;փտվ;մրտ;ապր;մյս;հնս;հլս;օգս;սեպ;հոկ;նոյ;դեկ"),dddd:Fa("կիրակի;երկուշաբթի;երեքշաբթի;չորեքշաբթի;հինգշաբթի;ուրբաթ;շաբաթ"),ddd:Fa("կիր;երկ;երք;չրք;հնգ;ուր;շբթ")},"hy"),Ga(ja({decimal:",",mmmm:Fa("იანვარი;თებერვალი;მარტი;აპრილი;მაისი;ივნისი;ივლისი;აგვისტო;სექტემბერი;ოქტომბერი;ნოემბერი;დეკემბერი"),dddd:Fa("კვირა;ორშაბათი;სამშაბათი;ოთხშაბათი;ხუთშაბათი;პარასკევი;შაბათი")},3,3),"ka"),Ga(ja({decimal:",",mmmm:Fa("қаңтар;ақпан;наурыз;сәуір;мамыр;маусым;шілде;тамыз;қыркүйек;қазан;қараша;желтоқсан"),dddd:Fa("жексенбі;дүйсенбі;сейсенбі;сәрсенбі;бейсенбі;жұма;сенбі"),ddd:Fa("жс;дс;сс;ср;бс;жм;сб")},13,-1),"kk"),Ga({group:",",mmmm:Fa("ಜನವರಿ;ಫೆಬ್ರವರಿ;ಮಾರ್ಚ್;ಏಪ್ರಿಲ್;ಮೇ;ಜೂನ್;ಜುಲೈ;ಆಗಸ್ಟ್;ಸೆಪ್ಟೆಂಬರ್;ಅಕ್ಟೋಬರ್;ನವೆಂಬರ್;ಡಿಸೆಂಬರ್"),mmm:Fa("ಜನವರಿ;ಫೆಬ್ರವರಿ;ಮಾರ್ಚ್;ಏಪ್ರಿ;ಮೇ;ಜೂನ್;ಜುಲೈ;ಆಗಸ್ಟ್;ಸೆಪ್ಟೆಂ;ಅಕ್ಟೋ;ನವೆಂ;ಡಿಸೆಂ"),dddd:Fa("ಭಾನು~;ಸೋಮ~;ಮಂಗಳ~;ಬುಧ~;ಗುರು~;ಶುಕ್ರ~;ಶನಿ~","ವಾರ"),ddd:Fa("ಭಾನು;ಸೋಮ;ಮಂಗಳ;ಬುಧ;ಗುರು;ಶುಕ್ರ;ಶನಿ"),ampm:Fa("ಪೂರ್ವಾಹ್ನ;ಅಪರಾಹ್ನ")},"kn"),Ga({decimal:",",mmmm:Fa("sausio;vasario;kovo;balandžio;gegužės;birželio;liepos;rugpjūčio;rugsėjo;spalio;lapkričio;gruodžio"),mmm:Fa("saus.;vas.;kov.;bal.;geg.;birž.;liep.;rugp.;rugs.;spal.;lapkr.;gruod."),dddd:Fa("sekmadienis;pirmadienis;antradienis;trečiadienis;ketvirtadienis;penktadienis;šeštadienis"),ddd:Fa("sk;pr;an;tr;kt;pn;št"),ampm:Fa("priešpiet;popiet")},"lt"),Ga({decimal:",",mmmm:Fa("janvāris;februāris;marts;aprīlis;maijs;jūnijs;jūlijs;augusts;septembris;oktobris;novembris;decembris"),mmm:Fa("janv.;febr.;marts;apr.;maijs;jūn.;jūl.;aug.;sept.;okt.;nov.;dec."),dddd:Fa("svētdiena;pirmdiena;otrdiena;trešdiena;ceturtdiena;piektdiena;sestdiena"),ddd:Fa("svētd.;pirmd.;otrd.;trešd.;ceturtd.;piektd.;sestd."),ampm:Fa("priekšpusdienā;pēcpusdienā")},"lv"),Ga({group:",",decimal:".",mmmm:Fa("ജനുവരി;ഫെബ്രുവരി;മാർച്ച്;ഏപ്രിൽ;മേയ്;ജൂൺ;ജൂലൈ;ഓഗസ്റ്റ്;സെപ്റ്റംബർ;ഒക്‌ടോബർ;നവംബർ;ഡിസംബർ"),mmm:Fa("ജനു;ഫെബ്രു;മാർ;ഏപ്രി;മേയ്;ജൂൺ;ജൂലൈ;ഓഗ;സെപ്റ്റം;ഒക്ടോ;നവം;ഡിസം"),dddd:Fa("ഞായറാഴ്‌ച;തിങ്കളാഴ്‌ച;ചൊവ്വാഴ്ച;ബുധനാഴ്‌ച;വ്യാഴാഴ്‌ച;വെള്ളിയാഴ്‌ച;ശനിയാഴ്‌ച"),ddd:Fa("ഞായർ;തിങ്കൾ;ചൊവ്വ;ബുധൻ;വ്യാഴം;വെള്ളി;ശനി")},"ml"),Ga({group:",",decimal:".",mmmm:Fa("нэгдүгээ~;хоёрдугаа~;гуравдугаа~;дөрөвдүгээ~;тавдугаа~;зургаадугаа~;долоодугаа~;наймдугаа~;есдүгээ~;аравдугаа~;арван нэгдүгээ~;арван хоёрдугаа~","р сар"),mmm:Fa("1~;2~;3~;4~;5~;6~;7~;8~;9~;10~;11~;12~","-р сар"),dddd:Fa("ням;даваа;мягмар;лхагва;пүрэв;баасан;бямба"),ddd:Fa("Ня;Да;Мя;Лх;Пү;Ба;Бя"),ampm:Fa("ү.ө.;ү.х.")},"mn"),Ga({group:",",decimal:".",mmmm:Fa("जानेवारी;फेब्रुवारी;मार्च;एप्रिल;मे;जून;जुलै;ऑगस्ट;सप्टेंबर;ऑक्टोबर;नोव्हेंबर;डिसेंबर"),mmm:Fa("जाने;फेब्रु;मार्च;एप्रि;मे;जून;जुलै;ऑग;सप्टें;ऑक्टो;नोव्हें;डिसें"),dddd:Fa("रविवार;सोमवार;मंगळवार;बुधवार;गुरुवार;शुक्रवार;शनिवार"),ddd:Fa("रवि;सोम;मंगळ;बुध;गुरु;शुक्र;शनि")},"mr"),Ga(ja({group:",",decimal:".",mmmm:Fa("ဇန်နဝါရီ;ဖေဖော်ဝါရီ;မတ်;ဧပြီ;မေ;ဇွန်;ဇူလိုင်;ဩဂုတ်;စက်တင်ဘာ;အောက်တိုဘာ;နိုဝင်ဘာ;ဒီဇင်ဘာ"),mmm:Fa("ဇန်;ဖေ;မတ်;ဧ;မေ;ဇွန်;ဇူ;ဩ;စက်;အောက်;နို;ဒီ"),dddd:Fa("တနင်္ဂနွေ;တနင်္လာ;အင်္ဂါ;ဗုဒ္ဓဟူး;ကြာသပတေး;သောကြာ;စနေ"),ampm:Fa("နံနက်;ညနေ")},-1,0),"my"),Ga({group:",",decimal:".",mmmm:Fa("ਜਨਵਰੀ;ਫ਼ਰਵਰੀ;ਮਾਰਚ;ਅਪ੍ਰੈਲ;ਮਈ;ਜੂਨ;ਜੁਲਾਈ;ਅਗਸਤ;ਸਤੰਬਰ;ਅਕਤੂਬਰ;ਨਵੰਬਰ;ਦਸੰਬਰ"),mmm:Fa("ਜਨ;ਫ਼ਰ;ਮਾਰਚ;ਅਪ੍ਰੈ;ਮਈ;ਜੂਨ;ਜੁਲਾ;ਅਗ;ਸਤੰ;ਅਕਤੂ;ਨਵੰ;ਦਸੰ"),dddd:Fa("ਐਤਵਾਰ;ਸੋਮਵਾਰ;ਮੰਗਲਵਾਰ;ਬੁੱਧਵਾਰ;ਵੀਰਵਾਰ;ਸ਼ੁੱਕਰਵਾਰ;ਸ਼ਨਿੱਚਰਵਾਰ"),ddd:Fa("ਐਤ;ਸੋਮ;ਮੰਗਲ;ਬੁੱਧ;ਵੀਰ;ਸ਼ੁੱਕਰ;ਸ਼ਨਿੱਚਰ"),ampm:Fa("ਪੂ.ਦੁ.;ਬਾ.ਦੁ.")},"pa"),Ga({group:".",decimal:",",mmmm:Fa("ianuarie;februarie;martie;aprilie;mai;iunie;iulie;august;septem~;octom~;noiem~;decem~","brie"),mmm:Fa("ian.;feb.;mar.;apr.;mai;iun.;iul.;aug.;sept.;oct.;nov.;dec."),dddd:Fa("duminică;luni;marți;miercuri;joi;vineri;sâmbătă"),ddd:Fa("dum.;lun.;mar.;mie.;joi;vin.;sâm."),ampm:Fa("a.m.;p.m.")},"ro"),Ga(ja({group:".",decimal:",",mmmm:Fa("januar;februar;marec;april;maj;junij;julij;avgust;september;oktober;november;december"),mmm:Fa("jan.;feb.;mar.;apr.;maj;jun.;jul.;avg.;sep.;okt.;nov.;dec."),dddd:Fa("nedelja;ponedeljek;torek;sreda;četrtek;petek;sobota"),ampm:Fa("dop.;pop.")},-1,13),"sl"),Ga(ja({group:".",decimal:",",mmmm:Fa("јануар;фебруар;март;април;мај;јун;јул;август;септембар;октобар;новембар;децембар"),dddd:Fa("недеља;понедељак;уторак;среда;четвртак;петак;субота")},3,3),"sr"),Ga({group:",",decimal:".",mmmm:Fa("ஜனவரி;பிப்ரவரி;மார்ச்;ஏப்ரல்;மே;ஜூன்;ஜூலை;ஆகஸ்ட்;செப்டம்பர்;அக்டோபர்;நவம்பர்;டிசம்பர்"),mmm:Fa("ஜன.;பிப்.;மார்.;ஏப்.;மே;ஜூன்;ஜூலை;ஆக.;செப்.;அக்.;நவ.;டிச."),dddd:Fa("ஞாயிறு;திங்கள்;செவ்வாய்;புதன்;வியாழன்;வெள்ளி;சனி"),ddd:Fa("ஞாயி.;திங்.;செவ்.;புத.;வியா.;வெள்.;சனி")},"ta"),Ga({group:",",decimal:".",mmmm:Fa("జనవరి;ఫిబ్రవరి;మార్చి;ఏప్రిల్;మే;జూన్;జులై;ఆగస్టు;సెప్టెంబర్;అక్టోబర్;నవంబర్;డిసెంబర్"),mmm:Fa("జన;ఫిబ్ర;మార్చి;ఏప్రి;మే;జూన్;జులై;ఆగ;సెప్టెం;అక్టో;నవం;డిసెం"),dddd:Fa("ఆదివారం;సోమవారం;మంగళవారం;బుధవారం;గురువారం;శుక్రవారం;శనివారం"),ddd:Fa("ఆది;సోమ;మంగళ;బుధ;గురు;శుక్ర;శని")},"te"),Ga({decimal:",",mmmm:Fa("січня;лютого;березня;квітня;травня;червня;липня;серпня;вересня;жовтня;листопада;грудня"),mmm:Fa("січ.;лют.;бер.;квіт.;трав.;черв.;лип.;серп.;вер.;жовт.;лист.;груд."),dddd:Fa("неділю;понеділок;вівторок;середу;четвер;пʼятницю;суботу"),ddd:Fa("нд;пн;вт;ср;чт;пт;сб"),ampm:Fa("дп;пп")},"uk"),Ga({group:".",decimal:",",mmmm:Fa("~1;~2;~3;~4;~5;~6;~7;~8;~9;~10;~11;~12","tháng "),mmm:Fa("~1;~2;~3;~4;~5;~6;~7;~8;~9;~10;~11;~12","thg "),dddd:Fa("Chủ Nhật;Thứ Hai;Thứ Ba;Thứ Tư;Thứ Năm;Thứ Sáu;Thứ Bảy"),ddd:Fa("CN;Th 2;Th 3;Th 4;Th 5;Th 6;Th 7"),ampm:Fa("SA;CH")},"vi"),Ga(ja({group:"٬",decimal:"٫",ampm:Fa("ص;م"),mmmm:Fa("يناير;فبراير;مارس;أبريل;مايو;يونيو;يوليو;أغسطس;سبتمبر;أكتوبر;نوفمبر;ديسمبر"),dddd:Fa("الأحد;الاثنين;الثلاثاء;الأربعاء;الخميس;الجمعة;السبت"),mmmm6:Fa("رمضان;شوال;ذو القعدة;ذو الحجة;محرم;ربيع الأول;ربيع الآخرة;جمادى الأولى;جمادى الآخرة;رجب;شعبان;رمضان")},0,0),"ar"),Ga({group:",",decimal:".",mmmm:Fa("জানুয়ারী;ফেব্রুয়ারী;মার্চ;এপ্রিল;মে;জুন;জুলাই;আগস্ট;সেপ্টেম্বর;অক্টোবর;নভেম্বর;ডিসেম্বর"),mmm:Fa("জানু;ফেব;মার্চ;এপ্রি;মে;জুন;জুল;আগ;সেপ্টেঃ;অক্টোঃ;নভেঃ;ডিসেঃ"),dddd:Fa("রবিবার;সোমবার;মঙ্গলবার;বুধবার;বৃহস্পতিবার;শুক্রবার;শনিবার"),ddd:Fa("রবি;সোম;মঙ্গল;বুধ;বৃহস্পতি;শুক্র;শনি")},"bn"),Ga({group:",",decimal:".",mmmm:Fa("जनवरी;फ़रवरी;मार्च;अप्रैल;मई;जून;जुलाई;अगस्त;सितंबर;अक्तूबर;नवंबर;दिसंबर"),mmm:Fa("जन॰;फ़र॰;मार्च;अप्रैल;मई;जून;जुल॰;अग॰;सित॰;अक्तू॰;नव॰;दिस॰"),dddd:Fa("रविवार;सोमवार;मंगलवार;बुधवार;गुरुवार;शुक्रवार;शनिवार"),ddd:Fa("रवि;सोम;मंगल;बुध;गुरु;शुक्र;शनि"),ampm:Fa("am;pm")},"hi");const io={overflow:"######",dateErrorThrows:!1,dateErrorNumber:!0,bigintErrorNumber:!1,dateSpanLarge:!0,leap1900:!0,nbsp:!1,throws:!0,invalid:"######",locale:"",ignoreTimezone:!1,grouping:[3,3],indexColors:!0,skipChar:"",repeatChar:""};function ao(e,t=0){if("number"!=typeof e)return e;if(e<0)return-ao(-e,t);if(t){const r=10**t||1;return ao(e*r,0)/r}return Math.round(e)}const oo=1e-13;function so(e,t=2,r=2){const n=e<0?-1:1,i=10**(t||2),a=10**(r||2);let o,s,l=Math.abs(e),u=0,c=0,d=0,h=1;if((e=l)%1==0)s=[e*n,1];else if(e<1e-19)s=[n,1e19];else if(e>1e19)s=[1e19*n,1];else{do{if(l=1/(l-Math.floor(l)),o=h,h=h*Math.floor(l)+u,u=o,c=d,d=Math.floor(e*h+.5),d>=i||h>=a)return[n*c,u]}while(Math.abs(e-d/h)>=oo&&l!==Math.floor(l));s=[n*d,h]}return s}const lo=Math.floor;function uo(e,t=!0){if(t&&e>=0){if(0===e)return[1900,1,0];if(60===e)return[1900,2,29];if(e<60)return[1900,e<32?1:2,(e-1)%31+1]}let r=e+68569+2415019;const n=lo(4*r/146097);r-=lo((146097*n+3)/4);const i=lo(4e3*(r+1)/1461001);r=r-lo(1461*i/4)+31;const a=lo(80*r/2447),o=r-lo(2447*a/80);return r=lo(a/11),[0|100*(n-49)+i+r,0|a+2-12*r,0|o]}function co(e,t=0,r=!0){const n=lo(e);return t===Ji?function(e){if(60===e)throw new Error("#VALUE!");if(e<=1)return[1317,8,29];if(e<60)return[1317,e<32?9:10,1+(e-2)%30];const t=10631/30,r=.1335;let n=e+466935;const i=lo(n/10631);n-=10631*i;const a=lo((n-r)/t);n-=lo(a*t+r);const o=lo((n+28.5001)/29.5);return 13===o?[30*i+a,12,30]:[30*i+a,o,n-lo(29.5001*o-29)]}(n):t===Ki?function(e){return uo(e+1462)}(n):uo(n,r)}const ho=Math.floor,mo=86400;function fo(e,t){let r=null;if(Array.isArray(e)){const[t,n,i,a,o,s]=e;r=Date.UTC(t,null==n?0:n-1,i??1,a||0,o||0,s||0)}else if(e instanceof Date&&(r=1*e,!t||!t.ignoreTimezone)){const t=new Date;t.setUTCFullYear(e.getFullYear(),e.getMonth(),e.getDate()),t.setUTCHours(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()),r=1*t}if(null!=r&&isFinite(r)){const e=r/864e5;return e-(e<=-25509?-25568:-25569)}return null}function go(e,t){let r=0|e;const n=mo*(e-r);let i=ho(n);n-i>.9999&&(i+=1,i===mo&&(i=0,r+=1));const a=i<0?mo+i:i,[o,s,l]=co(e,0,t&&t.leap1900);return[o,s,l,ho(a/60/60)%60,ho(a/60)%60,ho(a)%60]}const po={j:"d",d:"d",D:"ddd",l:"dddd",n:"m",m:"m",M:"mmm",F:"mmmm",y:"yy",Y:"yyyy"},vo={j:"dd",d:"dd",D:"ddd",l:"dddd",n:"mm",m:"mm",M:"mmm",F:"mmmm",y:"yy",Y:"yyyy"},bo={},Co={};function yo(e,t,r=1){if(e){const n=e[0],i=e.slice(1);"!"===n?yo(i,t,4):"?"===n?yo(i,t,2):(t[n]=t[n]||{},yo(i,t[n],r))}else t.$=r}function _o(e,t){yo(e,t),yo(e+" x",t),yo(e+" l",t),yo(e+" l x",t),yo("l "+e,t),yo("l "+e+" x",t),yo(e+" D",t),yo(e+" D x",t),yo("D "+e,t),yo("D "+e+" x",t)}["!d-m-y","!d-m-Y","!j-m-y","!j-m-Y","!d-n-y","!d-n-Y","!j-n-y","!j-n-Y","?m-d-y","?m-d-Y","?m-j-y","?m-j-Y","?n-d-y","?n-d-Y","?n-j-y","?n-j-Y","d-M-y","d-M-Y","j-M-y","j-M-Y","M-d-y","M-d-Y","M-j-y","M-j-Y","d-F-y","d-F-Y","F-d-y","F-d-Y","F-j-y","F-j-Y","j-F-y","j-F-Y","y-F-d","y-F-j","y-M-d","y-M-j","Y-F-d","Y-F-j","Y-M-d","Y-m-d","Y-M-j","Y-m-j","Y-n-d","Y-n-j","j-F","j-M","d-F","d-M","n-d","n-j","n-Y","m-d","m-j","m-Y","M-Y","M-y","F-y","F-Y","Y-M","Y-n","Y-m","Y-F","Y-M"].forEach(e=>{"?"!==e[0]&&_o(e,bo),"!"!==e[0]&&_o(e,Co)});const wo=(new Date).getUTCFullYear(),Eo=" ",So=" ",Ao=" ",Io="'",Ro="٬",xo={".":[",",So,Ao,Io,Ro],",":[".",So,Ao,Io,Ro],"٫":[".",So,Ao,Io,Ro]},To=e=>e&&1===e.length&&e>="0"&&e<="9";function No(e,t={}){const r=Xa(t.locale||"")||Ya,n=r.decimal,i=[...xo[n]||[Io,Ro]];i.includes(r.group)||r.group===Eo||r.group===n||i.push(r.group);let a="",o="",s=1,l="",u=!1,c=!1,d=!1,h=!1,m=!1,f=null,g=!1,p=0;const v=[Eo,So,Ao,"+","%","(","-"].concat(Pa);for(;v.includes(e[p]);){const t=e[p];if("-"===t){if(u||c)return null;u=!0,s=-1}else if(Da.test(t)){if(m)return null;m=!0,f=t}else if("("===t){if(c||u)return null;c=!0,s=-1}else if("%"===t){if(h)return null;h=!0}p++}let b,C=!1;if(e[p]===n||To(e[p]))for(;p12)return!1;if(2===t){if(r>(e%4==0&&e%100!=0||e%400==0||1900===e?29:28))return!1}else if((4===t||6===t||9===t||11===t)&&r>30||(1===t||3===t||5===t||7===t||8===t||10===t||12===t)&&r>31)return!1;return!0}const Oo=(e,t,r=!1)=>{for(const n of t)if(e.startsWith(n[0])){let t=n[0].length;return!r||"D"!==n[2]&&"M"!==n[2]||"."!==e[t]||t++,[e.slice(0,t),n]}return["",null]},Lo=(e,t,r,n)=>{const i=r.path||"",a=Object.keys(t);for(let o=0;o=30?+a[0]+1900:+a[0]+2e3;s=Lo(e.slice(a[0].length),t[l],{...r,year:o,path:i+l},n)}}else if("Y"===l){const a=/^\d\d\d\d\b/.exec(e);a&&(s=Lo(e.slice(a[0].length),t[l],{...r,year:+a[0],path:i+l},n))}else{if("x"!==l)throw new Error(`Unknown date token "${l}"`);{const a=Bo(e,{locale:n.locale});a&&(s=Lo("",t[l],{...r,time:a.v,tf:a.z,path:i+l},n))}}if(s&&Mo(r.year||1916,r.month||1,r.day?+r.day:1))return s}}},ko=e=>e.replace(/\s+/g," ").trim().replace(/’/,"'").replace(/\.$/,"").toLowerCase(),Po=(e,t)=>{const r=e.map((e,r)=>[ko(e),r+1,t]);return r.sort((e,t)=>t[0].length-e[0].length),r};function Do(e,t={}){const r=Xa(t.locale||"")||Ya,n={mon:Po(r.mmmm,"F").concat(Po(r.mmm,"M")),mp:"."===r.mmm[0].at(-1),day:Po(r.dddd,"l").concat(Po(r.ddd,"D")),dp:"."===r.ddd[0].at(-1),locale:t.locale},i=Lo(ko(e),r.preferMDY?Co:bo,{path:""},n);if(i){if("."===i.sep&&3===i.path.length)return null;const e=+(i.year??wo);i.day||(i.day=1);let t=-1/0;if(e<1900)return null;e<=1900&&i.month<=2?t=25568:e<1e4&&(t=25569);const r=Date.UTC(e,i.month-1,i.day)/864e5+t+(i.time||0);if(r>=0&&r<=2958465){const e="0"===i._mon[0]||"0"===i.day[0]||2===i._mon.length&&2===i.day.length;return{v:r,z:i.path.replace(/[jdlDnmMFyYx]/g,t=>"x"===t?i.tf||"":(e?vo[t]:po[t])||t)}}}return null}const Uo=e=>e.replace(/\s+/g,"").trim().replace(/\./g,"").toLowerCase();function Bo(e,t={}){const r=Xa(t.locale||"")||Ya,n=/^\s*([10]?\d|2[0-4])(?::([0-5]\d|\d))?(?::([0-5]\d|\d))?(\.\d{1,10})?(?=\s*[^\s\d]|$)/.exec(e);let i="";if(n){const t=Uo(e.slice(n[0].length));if(t===Uo(r.ampm[0])||"a"===t||"am"===t)i="a";else if(t===Uo(r.ampm[1])||"p"===t||"pm"===t)i="p";else if(t)return null}if(n){const[,e,t,r,a]=n;if(a&&!r)return null;if(!i&&!t&&!r)return null;let o=1*+(e||0);if(i){if(o>=13)return null;"p"===i&&(o+=12)}return{v:(60*o*60+1*+(t||0)*60+1*+(r||0)+1*+(a||0))/86400,z:(2===e.length?"hh":"h")+":mm"+(r?":ss":"")+(i?" AM/PM":"")}}return null}function Vo(e,t={}){const r=Xa(t.locale||"")||Ya,n=e.trim().toLowerCase(),i=r.bool[0].toLowerCase();if("true"===n||n===i)return{v:!0};const a=r.bool[1].toLowerCase();return"false"===n||n===a?{v:!1}:null}function Fo(e,t){return No(e,t)??Do(e,t)??Bo(e,t)??Vo(e,t)}function jo(e,t,r){return t[r+"_max"]=e.length,t[r+"_min"]=e.replace(/#/g,"").length,t}function Ho(e,t){"string"==typeof e?t.push({type:"string",value:e}):t.push(e)}function Wo(e,t){const r=e&&e.type;return r===ta||r===ra||r===na||r===ga&&"den"===t}function zo(e){const t=[],r={scale:1,percent:!1,text:!1,date:0,date_eval:!1,date_system:$i,sec_decimals:0,general:!1,clock:24,int_pattern:[],frac_pattern:[],man_pattern:[],den_pattern:[],num_pattern:[],tokens:t};let n="int",i=null;const a=[];let o,s=!1,l=-1,u=!1,c="",d=!1;for(;++l=4&&(e.size=Wi,e.type="monthname");const t=a[a.length-1];!e.type&&t&&!t.used&&t.size&(Xi|Gi)&&(t.used=!0,e.size=qi,e.type="min",e.pad=/mm/.test(n)),e.type||(e.size=Wi,e.type="month",e.pad=/mm/.test(n),e.indeterminate=!0)}else if("s"===i){e.size=Gi,e.type="sec",e.pad=/ss/.test(n);const t=a[a.length-1];t&&t.size&qi?e.used=!0:t&&t.indeterminate&&(delete t.indeterminate,t.size=qi,t.type="min",e.used=!0)}r.date=r.date|e.size,r.date_eval=!0,a.push(e),Ho(e,t)}else if(m===Ia)r.clock=12,r.date=r.date|Xi,r.date_eval=!0,h.short="A/P"===h.value,Ho(h,t);else if(m===xa||m===Ra||m===La)Ho(h.value,t);else if(m===ya)r.condition=[h.value[0],parseFloat(h.value[1])];else if(m===Ea){const e=h.value.split("-"),n=e.length<2?"":e.slice(1).join("-"),i=e[0];i&&Ho(i,t);const a=za(n);a&&(r.locale=a);const o=parseInt(n,16);isFinite(o)&&16711680&o&&6==(o>>16&255)&&(r.date_system=Ji),s=!0}else if(m===Sa){let e,t=h.value.toLowerCase();(e=/^color\s*(\d+)$/i.exec(t))&&(t=parseInt(e[1],10)),r.color=t}else if(m===fa)r.scale=100,r.percent=!0,Ho("%",t);else if(m===ha)Ho(h,t),r.date||(r.dec_fractions=!0,n="frac");else if(m===Na)r.exponential=!0,r.exp_plus=h.value.includes("+"),n="man",Ho({type:"exp",plus:r.exp_plus},t);else if(m===Ta)Ho(h,t);else if(m===Ma)Ho(h,t);else if(m!==_a&&m!==wa)throw m===va?new SyntaxError(`Illegal character: ${c}`):new SyntaxError(`Unknown token ${m} in ${c}`)}o=h}if(r.tokensUsed=l,r.pattern=c,/^((?:\[[^\]]+\])+)(;|$)/.test(r.pattern)&&!/^\[(?:h+|m+|s+)\]/.test(r.pattern)&&Ho({type:"text"},t),r.fractions&&r.dec_fractions||r.grouping&&!r.int_pattern.length||r.fractions&&r.exponential||r.fractions&&r.den_pattern.length*r.num_pattern.length===0||d&&!r.fractions&&!r.date||r.exponential&&(r.int_pattern.length||r.frac_pattern.length)*r.man_pattern.length===0)throw new SyntaxError(`Invalid pattern: ${c}`);const h=r.int_pattern.join(""),m=r.man_pattern.join(""),f=r.frac_pattern.join("");jo(h,r,"int");let g=0;for(let e=0;e"point"===e.type);r.tokens.splice(e,0,{type:"int",value:"#"}),r.integer=!0,r.int_pattern=["#"],r.int_p="#"}if(r.fractions)for(let e=0;e1&&(r.grouping=!1),r}function Xo(e,t=0){const r=Math.floor(Math.log10(e));return t>1?Math.floor(r/t)*t:r}function qo(e,t=1){return t<-300?parseFloat(e.toExponential().split("e")[0]):e*10**-t}const Go={total:1,sign:0,period:0,int:1,frac:0},Yo=(e,t)=>e.replace(/\./,t.decimal),Qo=(e,t,r)=>{const n=Math.abs(t);let i;return i=1===e?e:ao(e,5),[Yo(i+"",r),r.exponent,t<0?r.negative:r.positive,n<10?"0":"",n]};function Zo(e,t,r,n){const i=0|r;if("string"==typeof r)e.push(r);else if(r===i)e.push(Math.abs(i));else{const t=Math.abs(r);let i=Xo(t),a=qo(t,i);10===a&&(a=1,i++);const o=function(e,t=!0){const r=Math.abs(e);if(!r)return Go;const n=t&&e<0?1:0,i=Math.floor(r),a=Math.floor(Math.log10(r)+1);let o=0,s=0;if(i!==r){o=1;const e=String(ao(r*10**-a,15));let t=e.length,n=!0,i=0;for(;i<=e.length;){if("."===e[i]){t--;break}"0"===e[i]&&n?t--:n=!1,i++}s=t-a,s<0&&(s=0,o=0)}return{total:n+Math.max(a,1)+o+s,digits:Math.max(a,0)+s,sign:n,period:o,int:Math.max(a,1),frac:s}}(t);if(i>=-4&&i<=-1){const r=t.toPrecision(10+i).replace(/\.?0+$/,"");e.push(Yo(r,n))}else if(10===i){const r=t.toFixed(10).slice(0,12).replace(/\.$/,"");e.push(Yo(r,n))}else if(Math.abs(i)<=9)if(o.total<=11){const r=ao(t,9).toFixed(o.frac);e.push(Yo(r,n))}else 9===i?e.push(Math.floor(t)):i>=0&&i<9?e.push(Yo(String(ao(t,9-i)),n)):e.push(...Qo(a,i,n));else o.total>=12?e.push(...Qo(a,i,n)):e.push(Yo(ao(t,9).toFixed(o.frac),n))}return e}function Ko(e,t=!1){return"0"===e?"0":"?"===e?t?" ":" ":""}const $o=86400,Jo=(e,t,r)=>r?e<-694324||t>=35830291:e<0||t>=2958466;function es(e,t,r,n){let i="",a="",o="",s="",l="",u="",c=0,d=0;if("bigint"==typeof e){if(!(e<=Number.MAX_SAFE_INTEGER&&e>=Number.MIN_SAFE_INTEGER))return r.bigintErrorNumber?String(e):r.overflow;d=e=Number(e)}else d=Math.trunc(e);let h=0,m=0,f=1,g=0,p=0,v=0,b=0,C=0,y=0;const _=n||Ya;if(!t.text&&isFinite(t.scale)&&1!==t.scale&&(e=function(e){if(0===e)return e;const t=Math.ceil(Math.log10(e<0?-e:e)),r=10**(16-Math.floor(t));return isFinite(r)?Math.round(e*r)/r:0}(e*t.scale)),t.exponential){let r=Math.abs(e);r&&(c=Xo(r,t.int_max)),e&&!t.integer&&c++,r=qo(r,c),1===t.int_max&&10===ao(r,t.frac_max)&&(r=1,c++),e=e<0?-r:r,i+=Math.abs(c)}if(t.integer){const r=Math.abs(ao(e,t.fractions?1:t.frac_max));u+=r<1?"":Math.floor(r)}const w=r.grouping[0]??3,E=r.grouping[1]??w;t.dec_fractions&&(l=String(ao(e,t.frac_max)).split(".")[1]||"");const S=!t.error&&(t.num_p.includes("0")||t.den_p.includes("0"));let A=S;if(t.fractions){A=S||!!(e%1);const r=Math.abs(t.integer?e%1:e);if(r)if(A=!0,t.denominator&&isFinite(t.denominator))s+=t.denominator,o+=ao(r*t.denominator),"0"===o&&(o="",s="",A=S);else{const e=so(r,1/0,t.den_max);o+=e[0],s+=e[1],t.integer&&"0"===o&&(o="",s="",A=S)}else e||t.integer||(A=!0,o="0",s="1");!t.integer||A||Math.trunc(e)||(u="0")}if(t.date){d=Math.trunc(e);const n=$o*(e-d);if(h=Math.floor(n),y=n-h,Math.abs(y)<1e-6?y=0:y>.9999&&(y=0,h+=1,h===$o&&(h=0,d+=1)),y){const e=t.date&Zi||t.date&Qi||t.date&Yi;(e===Zi&&y>.9995||e===Qi&&y>.995||e===Yi&&y>.95||!e&&y>=.5)&&(h++,y=0)}if(d||t.date_system){const n=co(e,t.date_system,r.leap1900);m=n[0],f=n[1],g=n[2]}if(h){const e=h<0?$o+h:h;C=Math.floor(e)%60,b=Math.floor(e/60)%60,v=Math.floor(e/60/60)%60}if(p=(6+d)%7,t.date_eval&&Jo(e,d+h/$o,r.dateSpanLarge)){if(r.dateErrorThrows)throw new Error("Date out of bounds");return r.dateErrorNumber?Zo(e<0?[_.negative]:[],0,e,_).join(""):r.overflow}}const I=Ko("?",r.nbsp);c<0?a="-":t.exp_plus&&(a="+");const R=[],x=(e,t,n,i)=>{const a=!i&&e.length>t.length?n.length+e.length-t.length:n.length;e.length0||t.den_min>0)&&R.push(S.value.replace(/./g,I)):"num+int"===S.rule?A&&u?R.push(S.value.replace(/ /g,I)):t.den_min>0&&(u||t.num_min)&&R.push(S.value.replace(/./g,I)):"den"===S.rule&&(A?R.push(S.value.replace(/ /g,I)):(t.den_min>0||t.den_min>0)&&R.push(S.value.replace(/./g,I))):R.push(S.value.replace(/ /g,I));else if("space"===M)"num+int"===S.rule?(A||t.num_min||t.den_min)&&(u||t.num_min)&&R.push(I):R.push(I);else if("error"===M)R.push(r.invalid);else if("point"===M)R.push(t.date?S.value:_.decimal);else if("general"===M)Zo(R,0,e,_);else if("exp"===M)R.push(_.exponent);else if("minus"===M)S.volatile&&t.date||S.volatile&&(e>=0||"number"!=typeof e)||(S.volatile&&!t.fractions&&(t.integer||t.dec_fractions)?(e<0&&u&&"0"!==u||l)&&R.push(_.negative):R.push(_.negative));else if("plus"===M)R.push(_.positive);else if("text"===M)R.push(e);else if("fill"===M)r.fillChar&&R.push(r.fillChar,S.value);else if("skip"===M)r.skipChar?R.push(r.skipChar,S.value):R.push(r.nbsp?" ":" ");else if("div"===M)A?R.push("/"):t.num_min>0||t.den_min>0?R.push(I):R.push(Ko("#",r.nbsp));else if("int"===M)if(1===t.int_pattern.length){const e=t.int_p;let n="";for(let i=Math.max(t.int_min,u.length);i>0;i--){const a=u.charAt(u.length-i),o=a?"":e.charAt(e.length-i)||e[0];let s="";if(t.grouping){const e=i-1-w;e>=0&&!(e%E)&&(s=a||"0"===o?_.group:Ko("?",r.nbsp))}n+=(a||Ko(o,r.nbsp))+s}R.push(n)}else N.int+=x(u,t.int_p,S.num,N.int);else if("frac"===M){const e=N.frac;for(let t=0;t"===r?t=e>i:"<"===r?t=e="===r?t=e>=i:"<="===r?t=e<=i:"<>"===r&&(t=e!==i)}else t=!0;if(t)return n}}}function ns(e){return!!(e[0]&&e[0].percent||e[1]&&e[1].percent||e[2]&&e[2].percent||e[3]&&e[3].percent)}function is(e){return!!(e[0]&&e[0].date||e[1]&&e[1].date||e[2]&&e[2].date||e[3]&&e[3].date)}function as(e){const[t,r,n,i]=e;return!(t&&!t.generated||r&&!r.generated||n&&!n.generated||!i||!i.text||i.generated)}const os={text:15,datetime:10.8,date:10.8,time:10.8,percent:10.6,currency:10.4,grouped:10.2,scientific:6,number:4,fraction:2,general:0,error:0},ss=[["DMY",1],["DM",2],["MY",3],["MDY",4],["MD",5],["hmsa",6],["hma",7],["hms",8],["hm",9]],ls=[[ea,/^General/i,0],[ta,/^#/,0],[ra,/^0/,0],[na,/^\?/,0],[ia,/^\//,0],[la,/^;/,0],[ua,/^@/,0],[ca,/^\+/,0],[da,/^-/,0],[ha,/^\./,0],[ma,/^ /,0],[fa,/^%/,0],[ga,/^[1-9]/,0],[pa,/^(?:B[12])/i,0],[va,/^B$/,0],[ba,/^(?:[hH]+|[mM]+|[sS]+|[yY]+|[bB]+|[dD]+|[gG]+|[aA]{3,}|e+)/,0],[Ca,/^(?:\[(h+|m+|s+)\])/i,1],[ya,/^\[(<[=>]?|>=?|=)\s*(-?[.\d]+)\]/,[1,2]],[_a,/^\[(DBNum[0-4]?\d)\]/i,1],[wa,/^\[(NatNum[0-4]?\d)\]/i,1],[Ea,/^\[\$([^\]]+)\]/,1],[Sa,/^\[(black|blue|cyan|green|magenta|red|white|yellow|color\s*\d+)\]/i,1],[Aa,/^\[([^\]]+)\]/,1],[Ia,/^(?:AM\/PM|am\/pm|A\/P)/,0],[Ra,/^\\(.)/,1],[xa,/^"([^"]*?)"/,1],[Ta,/^_(\\.|.)/,1],[Na,/^[Ee]([+-])/,1],[Ma,/^\*(\\.|.)/,1],[Oa,/^[()]/,0],[va,/^[EÈÉÊËèéêëĒēĔĕĖėĘęĚěȄȅȆȇȨȩNnÑñŃńŅņŇňǸǹ["*/\\_]/,0],[La,/^./,0]],us=e=>{const t=(e||"\0").charCodeAt(0);return 63===t||35===t||t>=48&&t<=57};function cs(e){let t=0;const r=[],n=[];for(;ts[e]):s[o||0],raw:s[0]},r.push(e),a=s[0].length;break}}n.length&&";"===e.raw&&(n.length=0),n.length&&us(e.raw)&&(n.forEach(e=>e.type=aa),n.length=0)}if(!a){const e=i[0];a=1,r.push({type:La,value:e,raw:e})}t+=a}return r}const ds=e=>{const t=e.condition;t&&t[1]<0&&("<"===t[0]||"<="===t[0]||"="===t[0])||e.tokens.unshift({type:"minus",volatile:!0})},hs=(e,t=null)=>{const r={};for(const t in e)Array.isArray(e[t])?r[t]=[...e[t]]:r[t]=e[t];return t&&r.tokens.unshift(t),r.generated=!0,r};const ms=Object.create({});function fs(e,t=!1){e||(e="General");let r=ms[e];if(!r)try{r=function(e){const t=[];let r,n=!1,i=null,a=0,o=!1,s=0,l=0,u=cs(e);do{if(o=zo(u),(o.date||o.general)&&(o.int_pattern.length||o.frac_pattern.length||1!==o.scale||o.text))throw new Error("Illegal format");if(o.condition&&(l++,n=!0),o.text){if(i)throw new Error("Unexpected partition");i=o}o.locale&&(r=za(o.locale)),t.push(o),a="break"===u[o.tokensUsed]?.type?1:0,u=u.slice(o.tokensUsed+a),s++}while(a&&s<4&&l<3);if(a)throw new Error("Unexpected partition");if(l>2)throw new Error("Unexpected condition");const c=t[3];if(c&&(c.int_pattern.length||c.frac_pattern.length||c.date))throw new Error("Unexpected partition");if(n){const e=t.length;if(1===e&&(t[1]=zo(cs("General")),t[1].generated=!0),e<3){const e=t[0],r=t[1];if(ds(e),r.condition)ds(r);else{const t=e.condition;("="===t[0]||t[1]>=0&&(">"===t[0]||">="===t[0]))&&r.tokens.unshift({type:"minus",volatile:!0})}}else t.forEach(ds)}else{if(t.length<4&&i)for(let e=0,r=t.length;e",0],t[1].condition=["<",0],t[2].condition=null}return{pattern:e,partitions:t,locale:r}}(e),ms[e]=r}catch(n){if(t)throw n;const i={tokens:[{type:"error"}],error:n.message};r={pattern:e,partitions:[i,i,i,i],error:n.message,locale:null}}return r}function gs(e,t,r={}){const n=Object.assign({},io,r),i=fs(e,n.throws);return function(e,t,r){const n=t.partitions,i=Xa(t.locale||r.locale),a=n[3]?n[3]:ts;if("boolean"==typeof e&&(e=(i||Ya).bool[e?0:1]),null==e)return"";const o="bigint"==typeof e;if("number"!=typeof e&&!o)return es(e,a,r,i);if(!o&&!isFinite(e)){const t=i||Ya;return isNaN(e)?t.nan:(e<0?t.negative:"")+t.infinity}const s=rs(e,n);return s?es(e,s,r,i):r.overflow}(fo(t,n)??t,i,n)}function ps(e,t,r){const n=Object.assign({},io,r),i=fs(e,n.throws);return function(e,t,r){const n=t.partitions;let i=n[3],a=null;return"number"!=typeof e&&"bigint"!=typeof e||!isFinite(e)||(i=rs(e,n)),i&&i.color&&(a=i.color),a&&"number"==typeof a&&r.indexColors&&(a=ka[a-1]||"#000"),a}(fo(t,n)??t,i,n)}function vs(e){return is(fs(e,!1).partitions)}function bs(e){return ns(fs(e,!1).partitions)}function Cs(e){return as(fs(e,!1).partitions)}function ys(e){try{return fs(e,!0),!0}catch(e){return!1}}function _s(e,t={}){const r=fs(e,!1);return r.info||(r.info=function(e,t=null){const[r,n]=e,i=r.frac_max,a={type:"general",isDate:is(e),isText:as(e),isPercent:ns(e),maxDecimals:r.general?9:i,scale:r.scale??1,color:0,parentheses:0,grouped:r.grouping?1:0},o=!a.isDate&&!a.isText&&!r.error&&r.tokens.some(e=>"string"===e.type&&(t?e.value===t:Da.test(e.value)));let s="G",l=i>=0?Math.min(15,i):"",u="",c="";if(n&&n.color&&(c="-",a.color=1),r.parens&&(u="()",a.parentheses=1),o)s="C",a.type="currency";else if(r.error)a.type="error",a.maxDecimals=0;else if(a.isDate){let e=0,t=0,n="";r.tokens.forEach(r=>{const i=r.type;/^(b-)?year/.test(i)?(n+="Y",t++):i.startsWith("month")?(n+="M",t++):/^(week)?day/.test(i)?(n+="D",t++):"hour"!==i&&"min"!==i&&"sec"!==i&&"ampm"!==i||(n+=i[0],e++)}),a.type="date",t&&e?a.type="datetime":!t&&e&&(a.type="time");const i=ss.find(e=>n.startsWith(e[0]));s=i?"D":"G",l=i?i[1]:""}else a.isText?(s="G",a.type="text",l="",a.maxDecimals=0):r.general?(s="G",a.type="general",l=""):r.fractions?(s="G",a.type="fraction",l=""):r.exponential?(s="S",a.type="scientific"):a.isPercent?(s="P",a.type="percent"):r.grouping?(s=",",a.type="grouped"):(r.int_max||i)&&(s="F",a.type="number");return a.code=s+l+c+u,a.level=os[a.type],Object.freeze(a)}(r.partitions,t?.currency)),r.info}function ws(e){const t=fs(e,!1);return t.dateInfo||(t.dateInfo=function(e){const[t]=e;return{year:!!(t.date&Hi),month:!!(t.date&Wi),day:!!(t.date&zi),hours:!!(t.date&Xi),minutes:!!(t.date&qi),seconds:!!(t.date&Gi),clockType:12===t.clock?12:24}}(t.partitions)),t.dateInfo}const Es=Object.freeze({AMPM:Ia,BREAK:la,CALENDAR:pa,CHAR:La,COLOR:Sa,COMMA:sa,CONDITION:ya,DATETIME:ba,DBNUM:_a,DIGIT:ga,DURATION:Ca,ERROR:va,ESCAPED:Ra,EXP:Na,FILL:Ma,GENERAL:ea,GROUP:aa,HASH:ta,LOCALE:Ea,MINUS:da,MODIFIER:Aa,NATNUM:wa,PAREN:Oa,PERCENT:fa,PLUS:ca,POINT:ha,QMARK:na,SCALE:oa,SKIP:Ta,SLASH:ia,SPACE:ma,STRING:xa,TEXT:ua,ZERO:ra});var Ss=o(4353),As=o.n(Ss),Is=o(7375),Rs=o.n(Is),xs=o(445),Ts=o.n(xs),Ns=o(1840),Ms=o.n(Ns),Os=o(5750),Ls=o.n(Os),ks=o(3826),Ps=o.n(ks),Ds=o(6986),Us=o.n(Ds),Bs=o(8134),Vs=o.n(Bs),Fs=o(8623),js=o.n(Fs);function Hs(e,t,r=0,n=e.length-1,i=zs){for(;n>r;){if(n-r>600){const a=n-r+1,o=t-r+1,s=Math.log(a),l=.5*Math.exp(2*s/3),u=.5*Math.sqrt(s*l*(a-l)/a)*(o-a/2<0?-1:1);Hs(e,t,Math.max(r,Math.floor(t-o*l/a+u)),Math.min(n,Math.floor(t+(a-o)*l/a+u)),i)}const a=e[t];let o=r,s=n;for(Ws(e,r,t),i(e[n],a)>0&&Ws(e,r,n);o0;)s--}0===i(e[r],a)?Ws(e,r,s):(s++,Ws(e,s,n)),s<=t&&(r=s+1),t<=s&&(n=s-1)}}function Ws(e,t,r){const n=e[t];e[t]=e[r],e[r]=n}function zs(e,t){return et?1:0}class Xs{constructor(e=9){this._maxEntries=Math.max(4,e),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()}all(){return this._all(this.data,[])}search(e){let t=this.data;const r=[];if(!nl(e,t))return r;const n=this.toBBox,i=[];for(;t;){for(let a=0;a=0&&i[t].children.length>this._maxEntries;)this._split(i,t),t--;this._adjustParentBBoxes(n,i,t)}_split(e,t){const r=e[t],n=r.children.length,i=this._minEntries;this._chooseSplitAxis(r,i,n);const a=this._chooseSplitIndex(r,i,n),o=il(r.children.splice(a,r.children.length-a));o.height=r.height,o.leaf=r.leaf,Gs(r,this.toBBox),Gs(o,this.toBBox),t?e[t-1].children.push(o):this._splitRoot(r,o)}_splitRoot(e,t){this.data=il([e,t]),this.data.height=e.height+1,this.data.leaf=!1,Gs(this.data,this.toBBox)}_chooseSplitIndex(e,t,r){let n,i=1/0,a=1/0;for(let o=t;o<=r-t;o++){const t=Ys(e,0,o,this.toBBox),s=Ys(e,o,r,this.toBBox),l=tl(t,s),u=$s(t)+$s(s);l=t;n--){const t=e.children[n];Qs(o,e.leaf?i(t):t),s+=Js(o)}return s}_adjustParentBBoxes(e,t,r){for(let n=r;n>=0;n--)Qs(t[n],e)}_condense(e){for(let t,r=e.length-1;r>=0;r--)0===e[r].children.length?r>0?(t=e[r-1].children,t.splice(t.indexOf(e[r]),1)):this.clear():Gs(e[r],this.toBBox)}}function qs(e,t,r){if(!r)return t.indexOf(e);for(let n=0;n=e.minX&&t.maxY>=e.minY}function il(e){return{children:e,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function al(e,t,r,n,i){const a=[t,r];for(;a.length;){if((r=a.pop())-(t=a.pop())<=n)continue;const o=t+Math.ceil((r-t)/n/2)*n;Hs(e,o,t,r,i),a.push(t,o,o,r)}}var ol=o(5606),sl=o.n(ol);const ll={white:"#FFFFFF",black:"#000000",primary:{50:"#F3F5FF",100:"#E9EDFF",200:"#D2DAFA",300:"#BAC6F8",400:"#6280F9",500:"#466AF7",600:"#2C53F1",700:"#143EE3",800:"#083AD1",900:"#1033BF"},gray:{50:"#F9FAFB",100:"#EEEFF1",200:"#E3E5EA",300:"#A8B0BD",400:"#7D8698",500:"#4E5565",600:"#31363F",700:"#272A2F",800:"#1F2124",900:"#1B1C1F"},blue:{50:"#EBF5FF",100:"#E1EFFE",200:"#C3DDFD",300:"#A4CAFE",400:"#76A9FA",500:"#3F83F8",600:"#1C64F2",700:"#1A56DB",800:"#1E429F",900:"#233876"},red:{50:"#FDF2F2",100:"#FDE8E8",200:"#FBD5D5",300:"#F8B4B4",400:"#F98080",500:"#F05252",600:"#E02424",700:"#C81E1E",800:"#9B1C1C",900:"#771D1D"},orange:{50:"#FFF8F1",100:"#FEECDC",200:"#FCD9BD",300:"#FDBA8C",400:"#FF8A4C",500:"#FF5A1F",600:"#D03801",700:"#B43403",800:"#8A2C0D",900:"#771D1D"},yellow:{50:"#FDFCEA",100:"#FFF4B9",200:"#FCDC6A",300:"#FAC815",400:"#F1B312",500:"#D49D0F",600:"#AB7F0E",700:"#9A6D15",800:"#725213",900:"#634312"},green:{50:"#F3FAF7",100:"#DEF7EC",200:"#BCF0DA",300:"#84E1BC",400:"#31C48D",500:"#0DA471",600:"#057A55",700:"#046C4E",800:"#03543F",900:"#014737"},jiqing:{50:"#EDFAFA",100:"#D5F5F6",200:"#AFECEF",300:"#7EDCE2",400:"#16BDCA",500:"#0694A2",600:"#047481",700:"#036672",800:"#05505C",900:"#014451"},indigo:{50:"#F3F5FF",100:"#E9EDFF",200:"#D2DAFA",300:"#BAC6F8",400:"#6280F9",500:"#466AF7",600:"#2C53F1",700:"#143EE3",800:"#083AD1",900:"#1033BF"},purple:{50:"#F6F5FF",100:"#EDEBFE",200:"#DCD7FE",300:"#CABFFD",400:"#AC94FA",500:"#9061F9",600:"#7E3AF2",700:"#6C2BD9",800:"#5521B5",900:"#4A1D96"},pink:{50:"#FDF2F8",100:"#FCE8F3",200:"#FAD1E8",300:"#F8B4D9",400:"#F17EB8",500:"#E74694",600:"#D61F69",700:"#BF125D",800:"#99154B",900:"#751A3D"},"loop-color":{1:"purple.400",2:"green.500",3:"blue.500",4:"yellow.400",5:"pink.300",6:"jiqing.600",7:"orange.400",8:"gray.800",9:"indigo.500",10:"red.300",11:"green.600",12:"yellow.700"}},ul=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];class cl{static from(e){if(!(e instanceof ArrayBuffer))throw new Error("Data must be an instance of ArrayBuffer.");const[t,r]=new Uint8Array(e,0,2);if(219!==t)throw new Error("Data does not appear to be in a KDBush format.");const n=r>>4;if(1!==n)throw new Error(`Got v${n} data when expected v1.`);const i=ul[15&r];if(!i)throw new Error("Unrecognized array type.");const[a]=new Uint16Array(e,2,1),[o]=new Uint32Array(e,4,1);return new cl(o,a,i,e)}constructor(e,t=64,r=Float64Array,n){if(isNaN(e)||e<0)throw new Error(`Unpexpected numItems value: ${e}.`);this.numItems=+e,this.nodeSize=Math.min(Math.max(+t,2),65535),this.ArrayType=r,this.IndexArrayType=e<65536?Uint16Array:Uint32Array;const i=ul.indexOf(this.ArrayType),a=2*e*this.ArrayType.BYTES_PER_ELEMENT,o=e*this.IndexArrayType.BYTES_PER_ELEMENT,s=(8-o%8)%8;if(i<0)throw new Error(`Unexpected typed array class: ${r}.`);n&&n instanceof ArrayBuffer?(this.data=n,this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+o+s,2*e),this._pos=2*e,this._finished=!0):(this.data=new ArrayBuffer(8+a+o+s),this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+o+s,2*e),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+i]),new Uint16Array(this.data,2,1)[0]=t,new Uint32Array(this.data,4,1)[0]=e)}add(e,t){const r=this._pos>>1;return this.ids[r]=r,this.coords[this._pos++]=e,this.coords[this._pos++]=t,r}finish(){const e=this._pos>>1;if(e!==this.numItems)throw new Error(`Added ${e} items when expected ${this.numItems}.`);return dl(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(e,t,r,n){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:i,coords:a,nodeSize:o}=this,s=[0,i.length-1,0],l=[];for(;s.length;){const u=s.pop()||0,c=s.pop()||0,d=s.pop()||0;if(c-d<=o){for(let o=d;o<=c;o++){const s=a[2*o],u=a[2*o+1];s>=e&&s<=r&&u>=t&&u<=n&&l.push(i[o])}continue}const h=d+c>>1,m=a[2*h],f=a[2*h+1];m>=e&&m<=r&&f>=t&&f<=n&&l.push(i[h]),(0===u?e<=m:t<=f)&&(s.push(d),s.push(h-1),s.push(1-u)),(0===u?r>=m:n>=f)&&(s.push(h+1),s.push(c),s.push(1-u))}return l}within(e,t,r){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:n,coords:i,nodeSize:a}=this,o=[0,n.length-1,0],s=[],l=r*r;for(;o.length;){const u=o.pop()||0,c=o.pop()||0,d=o.pop()||0;if(c-d<=a){for(let r=d;r<=c;r++)gl(i[2*r],i[2*r+1],e,t)<=l&&s.push(n[r]);continue}const h=d+c>>1,m=i[2*h],f=i[2*h+1];gl(m,f,e,t)<=l&&s.push(n[h]),(0===u?e-r<=m:t-r<=f)&&(o.push(d),o.push(h-1),o.push(1-u)),(0===u?e+r>=m:t+r>=f)&&(o.push(h+1),o.push(c),o.push(1-u))}return s}}function dl(e,t,r,n,i,a){if(i-n<=r)return;const o=n+i>>1;hl(e,t,o,n,i,a),dl(e,t,r,n,o-1,1-a),dl(e,t,r,o+1,i,1-a)}function hl(e,t,r,n,i,a){for(;i>n;){if(i-n>600){const o=i-n+1,s=r-n+1,l=Math.log(o),u=.5*Math.exp(2*l/3),c=.5*Math.sqrt(l*u*(o-u)/o)*(s-o/2<0?-1:1);hl(e,t,r,Math.max(n,Math.floor(r-s*u/o+c)),Math.min(i,Math.floor(r+(o-s)*u/o+c)),a)}const o=t[2*r+a];let s=n,l=i;for(ml(e,t,n,r),t[2*i+a]>o&&ml(e,t,n,i);so;)l--}t[2*n+a]===o?ml(e,t,n,l):(l++,ml(e,t,l,i)),l<=r&&(n=l+1),r<=l&&(i=l-1)}}function ml(e,t,r,n){fl(e,r,n),fl(t,2*r,2*n),fl(t,2*r+1,2*n+1)}function fl(e,t,r){const n=e[t];e[t]=e[r],e[r]=n}function gl(e,t,r,n){const i=e-r,a=t-n;return i*i+a*a}const pl=typeof o.g<"u"?o.g:typeof self<"u"?self:window;function vl(e,t){let r=e.indexOf(t);return r>-1&&(e.splice(r,1),!0)}function bl(e,t){let r=new Set,n=[];for(let i of e){let e=t(i);r.has(e)||(r.add(e),n.push(i))}return n}function Cl(e,t){if(0===e.length)return e;let r=t%e.length;return e.slice(r).concat(e.slice(0,r))}const yl=new Set(["true","false"]);function _l(e){return yl.has(e.toLowerCase())}const wl="__INTERNAL_EDITOR__",El=`${wl}DOCS_NORMAL`,Sl=`${wl}DOCS_FORMULA_BAR`,Al=`${wl}ZEN_EDITOR`,Il=`${wl}COMMENT_EDITOR`,Rl="\r\n",xl=Symbol("AUTO_HEIGHT_FOR_MERGED_CELLS");function Tl(e){return`${wl}${e}`}function Nl(e){return e.startsWith(wl)}function Ml(e,t){t.forEach(t=>e.add(t))}function Ol(e,t){t.forEach(([t])=>{e.has(t)&&e.get(t)})}function Ll(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;let r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;let i=Object.prototype.hasOwnProperty.bind(t);for(let n=0;n{r=a,e.apply(this,i)},t)):(r=a,e.apply(this,i))}}function Ul(e){return Ul="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ul(e)}function Bl(e,t,r){return(t=function(e){var t=function(e){if("object"!=Ul(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=Ul(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Ul(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}let Vl=((Fl={})[Fl.Style=1]="Style",Fl[Fl.Value=2]="Value",Fl);var Fl;function jl(e){return`sheet_interceptor_${e}`}const Hl=e=>function(t,r){let n=-1,i=t;for(let t=0;t<=e.length;t++){if(t<=n)throw Error("[SheetInterceptorService]: next() called multiple times!");if(n=t,t===e.length)return i;let a=e[t],o=!1;if(i=a.handler(i,r,e=>(o=!0,e)),!o)break}return i};var Wl=class{constructor(e){Bl(this,"_interceptorsByName",new Map),Bl(this,"_interceptorPoints",void 0),this._interceptorPoints=e}fetchThroughInterceptors(e,t){let r=e,n=this._interceptorsByName.get(r);return t&&(n=n.filter(t)),Hl(n||[])}intercept(e,t){let r=e;this._interceptorsByName.has(r)||this._interceptorsByName.set(r,[]);let n=this._interceptorsByName.get(r);return n.push(t),this._interceptorsByName.set(r,n.sort((e,t)=>{var r,n;return(null==(r=t.priority)?0:r)-(null==(n=e.priority)?0:n)})),()=>vl(this._interceptorsByName.get(r),t)}getInterceptPoints(){return this._interceptorPoints}dispose(){this._interceptorsByName.clear()}};function zl(e,t,r){let n=[e,t,r].map(e=>e<=.03928?e/12.92:((e+.055)/1.055)**2.4);return.2126*n[0]+.7152*n[1]+.0722*n[2]}zl(1,1,1),zl(0,0,0);const Xl=[[.333,-.667,-.667,0,1],[-.667,.333,-.667,0,1],[-.667,-.667,.333,0,1],[0,0,0,1,0]];function ql(e){return function(e){return e.map(e=>Math.round(255*e))}(function(e){let t=e[0],r=e[1],n=e[2],i=[Xl[0][0]*t+Xl[0][1]*r+Xl[0][2]*n+Xl[0][4],Xl[1][0]*t+Xl[1][1]*r+Xl[1][2]*n+Xl[1][4],Xl[2][0]*t+Xl[2][1]*r+Xl[2][2]*n+Xl[2][4]];return i=i.map(e=>e>1?1:e<0?0:e),i}(function(e){return e.map(e=>e/255)}(e)))}var Gl=class{constructor(){Bl(this,"cursor",0)}reset(){return this.cursor=0,this}moveCursor(e){this.cursor+=e}moveCursorTo(e){this.cursor=e}};function Yl(e){return/^-?\d+(\.\d+)?$/.test(e)}function Ql(e){return Number(e)>2**53-1||e.length>=18}var Zl=class e{constructor(){Bl(this,"_data",[])}static create(){return new e}add(e){this._data.indexOf(e)>-1||this._data.push(e)}delete(e){let t=this._data.indexOf(e);this._data.splice(t,1)}getData(){return this._data}};function Kl(e){let t=new MessageChannel,r=!1;return t.port1.onmessage=()=>{r||e()},t.port2.postMessage(null),()=>{r=!0,t.port1.onmessage=null,t.port1.close(),t.port2.close()}}function $l(e,t){return t.forEach(t=>e.add(t)),e}function Jl(e){let t=!1;return e?function(e){return e instanceof tn||e instanceof On||e&&"closed"in e&&void 0!==e.unsubscribe}(e)?{dispose:()=>e.unsubscribe()}:"function"==typeof e?{dispose:()=>{t||(t=!0,e())}}:e:Jl(()=>{})}var eu=class{constructor(){Bl(this,"_disposables",new Set)}add(e){let t=Jl(e);return this._disposables.add(t),{dispose:(e=!1)=>{e||t.dispose(),this._disposables.delete(t)}}}dispose(){this._disposables.forEach(e=>{e.dispose()}),this._disposables.clear()}},tu=class{constructor(){Bl(this,"_disposed",!1),Bl(this,"_collection",new eu)}disposeWithMe(e){return this._collection.add(e)}ensureNotDisposed(){if(this._disposed)throw Error("[Disposable]: object is disposed!")}dispose(){this._disposed||(this._disposed=!0,this._collection.dispose())}},ru=class extends tu{constructor(...e){super(...e),Bl(this,"dispose$",new On)}dispose(){super.dispose(),this.dispose$.next(),this.dispose$.complete()}},nu=class extends tu{};const iu=new Set("ac.ad.ae.aero.af.ag.ai.al.am.ao.aq.ar.arpa.as.asia.at.au.aw.ax.az.ba.bb.bd.be.bf.bg.bh.bi.biz.bj.bm.bn.bo.br.bs.bt.bv.bw.by.bz.ca.cat.cc.cd.cf.cg.ch.ci.ck.cl.cm.cn.co.com.coop.cr.cu.cv.cw.cx.cy.cz.de.dj.dk.dm.do.dz.ec.edu.ee.eg.er.es.et.eu.fi.fj.fk.fm.fo.fr.ga.gb.gd.ge.gf.gg.gh.gi.gl.gm.gn.gov.gp.gq.gr.gs.gt.gu.gw.gy.hk.hm.hn.hr.ht.hu.id.ie.il.im.in.info.int.io.iq.ir.is.it.je.jm.jo.jobs.jp.ke.kg.kh.ki.km.kn.kp.kr.kw.ky.kz.la.lb.lc.li.lk.lr.ls.lt.lu.lv.ly.ma.mc.md.me.mg.mh.mil.mk.ml.mm.mn.mo.mobi.mp.mq.mr.ms.mt.mu.museum.mv.mw.mx.my.mz.na.name.nc.ne.net.nf.ng.ni.nl.no.np.nr.nu.nz.om.onion.org.pa.pe.pf.pg.ph.pk.pl.pm.pn.post.pr.pro.ps.pt.pw.py.qa.re.ro.rs.ru.rw.sa.sb.sc.sd.se.sg.sh.si.sj.sk.sl.sm.sn.so.sr.ss.st.su.sv.sx.sy.sz.tc.td.tel.tf.tg.th.tj.tk.tl.tm.tn.to.tr.tt.tv.tw.tz.ua.ug.uk.us.uy.uz.va.vc.ve.vg.vi.vn.vu.wf.ws.yt.za.zm.zw".split(".")),au=RegExp("^(?:(?:(?:https?|ftp):)?\\/\\/)?(?:\\S+(?::\\S*)?@)?(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z0-9\\u00a1-\\uffff][a-z0-9\\u00a1-\\uffff_-]{0,62})?[a-z0-9\\u00a1-\\uffff]\\.)+(?:[a-z\\u00a1-\\uffff]{2,}\\.?))(?::\\d{2,5})?(?:[/?#]\\S*)?$","i");function ou(e){return/^[a-zA-Z]+:\/\//.test(e)}function su(e){return ou(e)?e:function(e){return/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/.test(e)}(e)?`mailto://${e}`:`https://${e}`}function lu(e,t){return uu.getValueType(e)===uu.getValueType(t)&&(uu.isArray(e)?function(e,t){if(e.length!==t.length)return!1;for(let r=0,n=e.length;r-1)return"Linux";if(t){if(e.indexOf("Windows NT 5.0")>-1||e.indexOf("Windows 2000")>-1)return"Windows 2000";if(e.indexOf("Windows NT 5.1")>-1||e.indexOf("Windows XP")>-1)return"Windows XP";if(e.indexOf("Windows NT 5.2")>-1||e.indexOf("Windows 2003")>-1)return"Windows 2003";if(e.indexOf("Windows NT 6.0")>-1||e.indexOf("Windows Vista")>-1)return"Windows Vista";if(e.indexOf("Windows NT 6.1")>-1||e.indexOf("Windows 7")>-1)return"Windows 7";if(e.indexOf("Windows NT 10")>-1||e.indexOf("Windows 10")>-1)return"Windows 10";if(e.indexOf("Windows NT 11")>-1||e.indexOf("Windows 11")>-1)return"Windows 11"}return"Unknown system"}static getBrowserType(){let e=navigator.userAgent,t=e.indexOf("Opera")>-1,r=e.indexOf("compatible")>-1&&e.indexOf("MSIE")>-1&&!t,n=e.indexOf("Trident")>-1&&e.indexOf("rv:11.0")>-1,i=e.indexOf("Edge")>-1,a=e.indexOf("Firefox")>-1,o=e.indexOf("Safari")>-1&&-1===e.indexOf("Chrome"),s=e.indexOf("Chrome")>-1&&e.indexOf("Safari")>-1;if(r){RegExp("MSIE (\\d+\\.\\d+);").test(e);let t=Number.parseFloat(RegExp.$1);return 7===t?"IE7":8===t?"IE8":9===t?"IE9":10===t?"IE10":"0"}return a?"FF":t?"Opera":o?"Safari":s?"Chrome":i?"Edge":n?"IE11":"Unknown browser"}static deepMerge(t,...r){function n(t,r){t.forEach((t,a)=>{if(e.isArray(t)){var o;let e=null==(o=r[a])?[]:o;return r[a]=e,void n(t,e)}if(e.isObject(t)){var s;let e=null==(s=r[a])?{}:s;return r[a]=e,void i(t,e)}r[a]=t})}function i(t,r){Object.keys(t).forEach(a=>{let o=t[a];if(e.isObject(o)){var s;let e=null==(s=r[a])?{}:s;return r[a]=e,void i(o,e)}if(e.isArray(o)){var l;let e=null==(l=r[a])?[]:l;return r[a]=e,void n(o,e)}r[a]=o})}function a(r){Object.keys(r).forEach(a=>{let o=r[a];if(e.isArray(o)){var s;let e=null==(s=t[a])?[]:s;return t[a]=e,void n(o,e)}if(e.isObject(o)){var l;let e=null==(l=t[a])?{}:l;return t[a]=e,void i(o,e)}t[a]=o})}return r.forEach(e=>e&&a(e)),t}static diffValue(e,t){return lu(e,t)}static deepClone(t){if(!this.isDefine(t))return t;if(this.isRegExp(t))return new RegExp(t);if(this.isDate(t))return new Date(t);if(this.isArray(t)){let r=[];return t.forEach((t,n)=>{r[n]=e.deepClone(t)}),r}if(this.isObject(t)){let r={};return Object.keys(t).forEach(n=>{let i=t[n];r[n]=e.deepClone(i)}),Object.setPrototypeOf(r,Object.getPrototypeOf(t)),r}return t}static getValueType(e){return Object.prototype.toString.apply(e)}static isDefine(e){return null!=e}static isBlank(e){return!this.isDefine(e)||!!this.isString(e)&&""===e.trim()}static isPlainObject(e){return!!this.isDefine(e)&&Object.getPrototypeOf(e)===Object.getPrototypeOf({})}static isDate(e){return"[object Date]"===this.getValueType(e)}static isRegExp(e){return"[object RegExp]"===this.getValueType(e)}static isArray(e){return"[object Array]"===this.getValueType(e)}static isString(e){return"[object String]"===this.getValueType(e)}static isNumber(e){return"[object Number]"===this.getValueType(e)}static isStringNumber(e){return!isNaN(Number.parseFloat(e))&&isFinite(e)}static isObject(e){return"[object Object]"===this.getValueType(e)}static isEmptyObject(e){for(let t in e)return!1;return!0}static isTablet(){return/ipad|android|android 3.0|xoom|sch-i800|playbook|tablet|kindle/i.test(navigator.userAgent.toLowerCase())}static isIPhone(){return/iPhone/i.test(navigator.userAgent)}static isLegalUrl(e){return function(e){if(!Number.isNaN(+e))return!1;if(e.startsWith("http://localhost:3002")||e.startsWith("localhost:3002"))return!0;if(au.test(e)){if(ou(e))return!0;try{let t=new URL(su(e)).hostname.split(".").pop();if(t&&iu.has(t))return!0}catch{return!1}}return!1}(e)}static normalizeUrl(e){return su(e)}static topLevelDomainCombiningString(){return[...iu].join("|")}static removeNull(t){return this.isObject(t)&&Object.keys(t).forEach(r=>{let n=t[r];null==n?delete t[r]:e.removeNull(n)}),t}static numToWord(e){let t="";for(;e>0;){let r=e%26;r=0===r?r=26:r,t=String.fromCharCode(96+r)+t,e=(e-r)/26}return t.toLocaleUpperCase()}static ABCatNum(e){if(null==e||0===e.length)return NaN;let t=e.toLowerCase().split(""),r=t.length,n=0,i=0;for(let e=0;e=0;)t=String.fromCharCode(e%26+97)+t,e=Math.floor(e/26)-1;return t.toUpperCase()}static commonExtend(e,t){let r={};for(let t in e)r[t]=e[t];for(let e in t)null!=t[e]&&(r[e]=t[e]);return r}static hasIntersectionBetweenTwoRanges(e,t,r,n){return t>=r&&n>=e}static isStartValidPosition(e){return/^[A-Za-zА-Яа-яЁё_]/.test(e)}static isValidParameter(e){let t=/[~!@#$%^&*()+=\-{}\[\]\|:;"'<>,?\/ ]+/.test(e),r=e.length<=255;return!t&&r}static clamp(e,t,r){return Math.max(t,Math.min(r,e))}static now(){return performance&&performance.now?performance.now():Date.now()}};function cu(e=21,t){return t?((e,t=21)=>((e,t,r)=>{let n=(2<{let o="";for(;;){let t=r(i),s=0|i;for(;s--;)if(o+=e[t[s]&n]||"",o.length>=a)return o}}})(e,0|t,Fi))(t,e)():((e=21)=>{let t="",r=crypto.getRandomValues(new Uint8Array(e|=0));for(;e--;)t+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[63&r[e]];return t})(e)}function du(...e){let t={};for(let r=e.length-1;r>=0;r--){let n=e[r];if(n){let e=Object.keys(n);for(let r of e)void 0===t[r]&&(t[r]=n[r])}}return t}const hu=()=>typeof process<"u"&&null!=process.versions&&null!=process.versions.node;function mu(e){let t=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\*/g,".*").replace(/\\\?/g,".");return RegExp(`^${t}$`,"i")}let fu=function(e){return e[e.DEFAULT_SERIES=0]="DEFAULT_SERIES",e[e.ALTERNATE_SERIES=1]="ALTERNATE_SERIES",e}({}),gu=function(e){return e[e.NONE=0]="NONE",e[e.THIN=1]="THIN",e[e.HAIR=2]="HAIR",e[e.DOTTED=3]="DOTTED",e[e.DASHED=4]="DASHED",e[e.DASH_DOT=5]="DASH_DOT",e[e.DASH_DOT_DOT=6]="DASH_DOT_DOT",e[e.DOUBLE=7]="DOUBLE",e[e.MEDIUM=8]="MEDIUM",e[e.MEDIUM_DASHED=9]="MEDIUM_DASHED",e[e.MEDIUM_DASH_DOT=10]="MEDIUM_DASH_DOT",e[e.MEDIUM_DASH_DOT_DOT=11]="MEDIUM_DASH_DOT_DOT",e[e.SLANT_DASH_DOT=12]="SLANT_DASH_DOT",e[e.THICK=13]="THICK",e}({}),pu=function(e){return e.TOP="top",e.BOTTOM="bottom",e.LEFT="left",e.RIGHT="right",e.NONE="none",e.ALL="all",e.OUTSIDE="outside",e.INSIDE="inside",e.HORIZONTAL="horizontal",e.VERTICAL="vertical",e.TLBR="tlbr",e.TLBC_TLMR="tlbc_tlmr",e.TLBR_TLBC_TLMR="tlbr_tlbc_tlmr",e.BLTR="bl_tr",e.MLTR_BCTR="mltr_bctr",e}({}),vu=function(e){return e[e.UNSUPPORTED=0]="UNSUPPORTED",e[e.RGB=1]="RGB",e[e.HEX=2]="HEX",e[e.THEME=3]="THEME",e}({}),bu=function(e){return e[e.ON=0]="ON",e[e.OFF=1]="OFF",e}({}),Cu=function(e){return e[e.PASTE_NORMAL=0]="PASTE_NORMAL",e[e.PASTE_NO_BORDERS=1]="PASTE_NO_BORDERS",e[e.PASTE_FORMAT=2]="PASTE_FORMAT",e[e.PASTE_FORMULA=3]="PASTE_FORMULA",e[e.PASTE_DATA_VALIDATION=4]="PASTE_DATA_VALIDATION",e[e.PASTE_VALUES=5]="PASTE_VALUES",e[e.PASTE_CONDITIONAL_FORMATTING=6]="PASTE_CONDITIONAL_FORMATTING",e[e.PASTE_COLUMN_WIDTHS=7]="PASTE_COLUMN_WIDTHS",e}({}),yu=function(e){return e[e.LEFT=0]="LEFT",e[e.RIGHT=1]="RIGHT",e}({}),_u=function(e){return e[e.DOCUMENT=0]="DOCUMENT",e[e.PROJECT=1]="PROJECT",e}({}),wu=function(e){return e[e.COLUMNS=0]="COLUMNS",e[e.ROWS=1]="ROWS",e}({}),Eu=function(e){return e[e.UP=0]="UP",e[e.RIGHT=1]="RIGHT",e[e.DOWN=2]="DOWN",e[e.LEFT=3]="LEFT",e}({});function Su(e){switch(e){case Eu.LEFT:return Eu.RIGHT;case Eu.RIGHT:return Eu.LEFT;case Eu.UP:return Eu.DOWN;case Eu.DOWN:return Eu.UP}}let Au=function(e){return e[e.INTERPOLATION_POINT_TYPE_UNSPECIFIED=0]="INTERPOLATION_POINT_TYPE_UNSPECIFIED",e[e.MIN=1]="MIN",e[e.MAX=2]="MAX",e[e.NUMBER=3]="NUMBER",e[e.PERCENT=4]="PERCENT",e[e.PERCENTILE=5]="PERCENTILE",e}({}),Iu=function(e){return e.EN_US="enUS",e.FR_FR="frFR",e.ZH_CN="zhCN",e.RU_RU="ruRU",e.ZH_TW="zhTW",e.VI_VN="viVN",e.FA_IR="faIR",e.JA_JP="jaJP",e.KO_KR="koKR",e.ES_ES="esES",e.CA_ES="caES",e.SK_SK="skSK",e}({}),Ru=function(e){return e[e.PERSON=0]="PERSON",e[e.FILE=1]="FILE",e[e.DATE=2]="DATE",e[e.LOCATION=3]="LOCATION",e[e.EVENT=4]="EVENT",e}({}),xu=function(e){return e[e.RANGE=0]="RANGE",e[e.SHEET=1]="SHEET",e}({}),Tu=(function(e){e.Line="line",e.LineInv="lineInv",e.Triangle="triangle",e.RtTriangle="rtTriangle",e.Rect="rect",e.Diamond="diamond",e.Parallelogram="parallelogram",e.Trapezoid="trapezoid",e.NonIsocelesTrapezoid="nonIsocelesTrapezoid",e.Pentagon="pentagon",e.Hexagon="hexagon",e.Heptagon="heptagon",e.Octagon="octagon",e.Decagon="decagon",e.Dodecagon="dodecagon",e.Star4="star4",e.Star5="star5",e.Star6="star6",e.Star7="star7",e.Star8="star8",e.Star10="star10",e.Star12="star12",e.Star16="star16",e.Star24="star24",e.Star32="star32",e.RoundRect="roundRect",e.Round1Rect="round1Rect",e.Round2SameRect="round2SameRect",e.Round2DiagRect="round2DiagRect",e.Ellipse="ellipse"}({}),function(e){e.RightArrow="rightArrow",e.LeftArrow="leftArrow",e.UpArrow="upArrow",e.DownArrow="downArrow",e.LeftRightArrow="leftRightArrow",e.UpDownArrow="upDownArrow",e.QuadArrow="quadArrow",e.LeftRightUpArrow="leftRightUpArrow",e.BentArrow="bentArrow",e.UturnArrow="uturnArrow",e.CircularArrow="circularArrow",e.NotchedRightArrow="notchedRightArrow",e.HomePlate="homePlate",e.Chevron="chevron",e.LeftCircularArrow="leftCircularArrow",e.LeftRightCircularArrow="leftRightCircularArrow"}({}),function(e){e.Plaque="plaque",e.Can="can",e.Cube="cube",e.Bevel="bevel",e.Donut="donut",e.NoSmoking="noSmoking",e.BlockArc="blockArc",e.FoldedCorner="foldedCorner"}({}),function(e){e.SmileyFace="smileyFace",e.Heart="heart",e.LightningBolt="lightningBolt",e.Sun="sun",e.Moon="moon",e.Cloud="cloud",e.Arc="arc",e.Backpack="backpack",e.Frame="frame",e.HalfFrame="halfFrame",e.Corner="corner",e.Chord="chord",e.Pie="pie",e.Teardrop="teardrop",e.WedgeRectCallout="wedgeRectCallout",e.WedgeRRectCallout="wedgeRRectCallout",e.WedgeEllipseCallout="wedgeEllipseCallout",e.CloudCallout="cloudCallout",e.BorderCallout1="borderCallout1",e.BorderCallout2="borderCallout2",e.BorderCallout3="borderCallout3",e.AccentCallout1="accentCallout1",e.AccentCallout2="accentCallout2",e.AccentCallout3="accentCallout3",e.Callout1="callout1",e.Callout2="callout2",e.Callout3="callout3",e.ActionButtonBackPrevious="actionButtonBackPrevious",e.ActionButtonEnd="actionButtonEnd",e.ActionButtonForwardNext="actionButtonForwardNext",e.ActionButtonHelp="actionButtonHelp",e.ActionButtonHome="actionButtonHome",e.ActionButtonInformation="actionButtonInformation",e.ActionButtonMovie="actionButtonMovie",e.ActionButtonReturn="actionButtonReturn",e.ActionButtonSound="actionButtonSound"}({}),function(e){return e[e.RELATIVE_DATE_UNSPECIFIED=0]="RELATIVE_DATE_UNSPECIFIED",e[e.PAST_YEAR=1]="PAST_YEAR",e[e.PAST_MONTH=2]="PAST_MONTH",e[e.PAST_WEEK=3]="PAST_WEEK",e[e.YESTERDAY=4]="YESTERDAY",e[e.TODAY=5]="TODAY",e[e.TOMORROW=6]="TOMORROW",e}({})),Nu=function(e){return e[e.GRID=0]="GRID",e[e.KANBAN=1]="KANBAN",e[e.GANTT=2]="GANTT",e}({}),Mu=function(e){return e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.LEFT_TO_RIGHT=1]="LEFT_TO_RIGHT",e[e.RIGHT_TO_LEFT=2]="RIGHT_TO_LEFT",e}({}),Ou=function(e){return e[e.DASH=0]="DASH",e[e.DASH_DOT_DOT_HEAVY=1]="DASH_DOT_DOT_HEAVY",e[e.DASH_DOT_HEAVY=2]="DASH_DOT_HEAVY",e[e.DASHED_HEAVY=3]="DASHED_HEAVY",e[e.DASH_LONG=4]="DASH_LONG",e[e.DASH_LONG_HEAVY=5]="DASH_LONG_HEAVY",e[e.DOT_DASH=6]="DOT_DASH",e[e.DOT_DOT_DASH=7]="DOT_DOT_DASH",e[e.DOTTED=8]="DOTTED",e[e.DOTTED_HEAVY=9]="DOTTED_HEAVY",e[e.DOUBLE=10]="DOUBLE",e[e.NONE=11]="NONE",e[e.SINGLE=12]="SINGLE",e[e.THICK=13]="THICK",e[e.WAVE=14]="WAVE",e[e.WAVY_DOUBLE=15]="WAVY_DOUBLE",e[e.WAVY_HEAVY=16]="WAVY_HEAVY",e[e.WORDS=17]="WORDS",e}({}),Lu=function(e){return e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e[e.JUSTIFIED=4]="JUSTIFIED",e[e.BOTH=5]="BOTH",e[e.DISTRIBUTED=6]="DISTRIBUTED",e}({}),ku=function(e){return e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.TOP=1]="TOP",e[e.MIDDLE=2]="MIDDLE",e[e.BOTTOM=3]="BOTTOM",e}({}),Pu=function(e){return e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.OVERFLOW=1]="OVERFLOW",e[e.CLIP=2]="CLIP",e[e.WRAP=3]="WRAP",e}({}),Du=function(e){return e[e.NORMAL=0]="NORMAL",e[e.ITALIC=1]="ITALIC",e}({}),Uu=function(e){return e[e.NORMAL=0]="NORMAL",e[e.BOLD=1]="BOLD",e}({}),Bu=function(e){return e[e.NORMAL=1]="NORMAL",e[e.SUBSCRIPT=2]="SUBSCRIPT",e[e.SUPERSCRIPT=3]="SUPERSCRIPT",e}({}),Vu=function(e){return e[e.FALSE=0]="FALSE",e[e.TRUE=1]="TRUE",e}({}),Fu=function(e){return e[e.STRING=1]="STRING",e[e.NUMBER=2]="NUMBER",e[e.BOOLEAN=3]="BOOLEAN",e[e.FORCE_STRING=4]="FORCE_STRING",e}({}),ju=function(e){return e[e.DARK1=0]="DARK1",e[e.LIGHT1=1]="LIGHT1",e[e.DARK2=2]="DARK2",e[e.LIGHT2=3]="LIGHT2",e[e.ACCENT1=4]="ACCENT1",e[e.ACCENT2=5]="ACCENT2",e[e.ACCENT3=6]="ACCENT3",e[e.ACCENT4=7]="ACCENT4",e[e.ACCENT5=8]="ACCENT5",e[e.ACCENT6=9]="ACCENT6",e[e.HYPERLINK=10]="HYPERLINK",e[e.FOLLOWED_HYPERLINK=11]="FOLLOWED_HYPERLINK",e}({}),Hu=function(e){return e.OFFICE="Office",e.OFFICE_2007_2010="Office 2007-2010",e.GRAYSCALE="Grayscale",e.BLUE_WARM="Blue Warm",e.BLUE="Blue",e.BLUE_II="Blue II",e.BLUE_GREEN="Blue Green",e.GREEN="Green",e.GREEN_YELLOW="Green Yellow",e.YELLOW="Yellow",e.YELLOW_ORANGE="Yellow Orange",e.ORANGE="Orange",e.ORANGE_RED="Orange Red",e.RED_ORANGE="Red Orange",e.RED="Red",e.RED_VIOLET="Red Violet",e.VIOLET="Violet",e.VIOLET_II="Violet II",e.MEDIAN="Median",e.PAPER="Paper",e.MARQUEE="Marquee",e.SLIPSTREAM="Slipstream",e.Aspect="Aspect",e}({}),Wu=(function(e){e[e.character=0]="character",e[e.paragraph=1]="paragraph",e[e.table=2]="table",e[e.numbering=3]="numbering"}({}),function(e){e[e.TAB=0]="TAB",e[e.SPACE=1]="SPACE",e[e.NOTHING=2]="NOTHING"}({}),function(e){return e[e.BULLET=0]="BULLET",e[e.NONE=1]="NONE",e[e.DECIMAL=2]="DECIMAL",e[e.DECIMAL_ZERO=3]="DECIMAL_ZERO",e[e.UPPER_LETTER=4]="UPPER_LETTER",e[e.LOWER_LETTER=5]="LOWER_LETTER",e[e.UPPER_ROMAN=6]="UPPER_ROMAN",e[e.LOWER_ROMAN=7]="LOWER_ROMAN",e[e.ORDINAL=8]="ORDINAL",e[e.CARDINAL_TEXT=9]="CARDINAL_TEXT",e[e.ORDINAL_TEXT=10]="ORDINAL_TEXT",e[e.HEX=11]="HEX",e[e.CHICAGO=12]="CHICAGO",e[e.IDEOGRAPH_DIGITAL=13]="IDEOGRAPH_DIGITAL",e[e.JAPANESE_COUNTING=14]="JAPANESE_COUNTING",e[e.AIUEO=15]="AIUEO",e[e.IROHA=16]="IROHA",e[e.DECIMAL_FULL_WIDTH=17]="DECIMAL_FULL_WIDTH",e[e.DECIMAL_HALF_WIDTH=18]="DECIMAL_HALF_WIDTH",e[e.JAPANESE_LEGAL=19]="JAPANESE_LEGAL",e[e.JAPANESE_DIGITAL_TEN_THOUSAND=20]="JAPANESE_DIGITAL_TEN_THOUSAND",e[e.DECIMAL_ENCLOSED_CIRCLE=21]="DECIMAL_ENCLOSED_CIRCLE",e[e.DECIMAL_FULL_WIDTH2=22]="DECIMAL_FULL_WIDTH2",e[e.AIUEO_FULL_WIDTH=23]="AIUEO_FULL_WIDTH",e[e.IROHA_FULL_WIDTH=24]="IROHA_FULL_WIDTH",e[e.GANADA=25]="GANADA",e[e.CHOSUNG=26]="CHOSUNG",e[e.DECIMAL_ENCLOSED_FULLSTOP=27]="DECIMAL_ENCLOSED_FULLSTOP",e[e.DECIMAL_ENCLOSED_PAREN=28]="DECIMAL_ENCLOSED_PAREN",e[e.DECIMAL_ENCLOSED_CIRCLE_CHINESE=29]="DECIMAL_ENCLOSED_CIRCLE_CHINESE",e[e.IDEOGRAPH_ENCLOSED_CIRCLE=30]="IDEOGRAPH_ENCLOSED_CIRCLE",e[e.IDEOGRAPH_TRADITIONAL=31]="IDEOGRAPH_TRADITIONAL",e[e.IDEOGRAPH_ZODIAC=32]="IDEOGRAPH_ZODIAC",e[e.IDEOGRAPH_ZODIAC_TRADITIONAL=33]="IDEOGRAPH_ZODIAC_TRADITIONAL",e[e.TAIWANESE_COUNTING=34]="TAIWANESE_COUNTING",e[e.IDEOGRAPH_LEGAL_TRADITIONAL=35]="IDEOGRAPH_LEGAL_TRADITIONAL",e[e.TAIWANESE_COUNTING_THOUSAND=36]="TAIWANESE_COUNTING_THOUSAND",e[e.TAIWANESE_DIGITAL=37]="TAIWANESE_DIGITAL",e[e.CHINESE_COUNTING=38]="CHINESE_COUNTING",e[e.CHINESE_LEGAL_SIMPLIFIED=39]="CHINESE_LEGAL_SIMPLIFIED",e[e.CHINESE_COUNTING_THOUSAND=40]="CHINESE_COUNTING_THOUSAND",e[e.KOREAN_DIGITAL=41]="KOREAN_DIGITAL",e[e.KOREAN_COUNTING=42]="KOREAN_COUNTING",e[e.KOREAN_LEGAL=43]="KOREAN_LEGAL",e[e.KOREAN_DIGITAL2=44]="KOREAN_DIGITAL2",e[e.VIETNAMESE_COUNTING=45]="VIETNAMESE_COUNTING",e[e.RUSSIAN_LOWER=46]="RUSSIAN_LOWER",e[e.RUSSIAN_UPPER=47]="RUSSIAN_UPPER",e[e.NUMBER_IN_DASH=48]="NUMBER_IN_DASH",e[e.HEBREW1=49]="HEBREW1",e[e.HEBREW2=50]="HEBREW2",e[e.ARABIC_ALPHA=51]="ARABIC_ALPHA",e[e.ARABIC_ABJAD=52]="ARABIC_ABJAD",e[e.HINDI_VOWELS=53]="HINDI_VOWELS",e[e.HINDI_CONSONANTS=54]="HINDI_CONSONANTS",e[e.HINDI_NUMBERS=55]="HINDI_NUMBERS",e[e.HINDI_COUNTING=56]="HINDI_COUNTING",e[e.THAI_LETTERS=57]="THAI_LETTERS",e[e.THAI_NUMBERS=58]="THAI_NUMBERS",e[e.THAI_COUNTING=59]="THAI_COUNTING",e[e.CUSTOM=60]="CUSTOM",e}({})),zu=function(e){return e[e.BULLET_ALIGNMENT_UNSPECIFIED=0]="BULLET_ALIGNMENT_UNSPECIFIED",e[e.START=1]="START",e[e.CENTER=2]="CENTER",e[e.END=3]="END",e[e.BOTH=4]="BOTH",e}({}),Xu=function(e){return e[e.HYPERLINK=0]="HYPERLINK",e[e.FIELD=1]="FIELD",e[e.SDT=2]="SDT",e[e.BOOKMARK=3]="BOOKMARK",e[e.COMMENT=4]="COMMENT",e[e.CUSTOM=5]="CUSTOM",e[e.MENTION=6]="MENTION",e[e.UNI_FORMULA=7]="UNI_FORMULA",e[e.DELTED=9999]="DELTED",e}({}),qu=function(e){return e[e.COMMENT=0]="COMMENT",e[e.DELETED=9999]="DELETED",e}({}),Gu=function(e){return e[e.DRAWING=0]="DRAWING",e[e.CUSTOM=1]="CUSTOM",e}({}),Yu=function(e){return e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.TRADITIONAL=1]="TRADITIONAL",e[e.MODERN=2]="MODERN",e}({}),Qu=function(e){return e[e.DEFAULT=0]="DEFAULT",e[e.LINES=1]="LINES",e[e.LINES_AND_CHARS=2]="LINES_AND_CHARS",e[e.SNAP_TO_CHARS=3]="SNAP_TO_CHARS",e}({}),Zu=function(e){return e[e.SECTION_TYPE_UNSPECIFIED=0]="SECTION_TYPE_UNSPECIFIED",e[e.CONTINUOUS=1]="CONTINUOUS",e[e.NEXT_PAGE=2]="NEXT_PAGE",e[e.EVEN_PAGE=3]="EVEN_PAGE",e[e.ODD_PAGE=4]="ODD_PAGE",e}({}),Ku=function(e){return e[e.COLUMN_SEPARATOR_STYLE_UNSPECIFIED=0]="COLUMN_SEPARATOR_STYLE_UNSPECIFIED",e[e.NONE=1]="NONE",e[e.BETWEEN_EACH_COLUMN=2]="BETWEEN_EACH_COLUMN",e}({}),$u=(function(e){e[e.NORMAL=0]="NORMAL",e[e.TBRL=1]="TBRL",e[e.LRTBV=2]="LRTBV"}({}),function(e){e[e.TEXT_RUN=0]="TEXT_RUN",e[e.AUTO_TEXT=1]="AUTO_TEXT",e[e.PAGE_BREAK=2]="PAGE_BREAK",e[e.COLUMN_BREAK=3]="COLUMN_BREAK",e[e.FOOT_NOTE_REFERENCE=4]="FOOT_NOTE_REFERENCE",e[e.HORIZONTAL_RULE=5]="HORIZONTAL_RULE",e[e.EQUATION=6]="EQUATION",e[e.DRAWING=7]="DRAWING",e[e.PERSON=8]="PERSON",e[e.RICH_LINK=9]="RICH_LINK"}({}),function(e){return e[e.BOTH_SIDES=0]="BOTH_SIDES",e[e.LEFT=1]="LEFT",e[e.RIGHT=2]="RIGHT",e[e.LARGEST=3]="LARGEST",e}({})),Ju=function(e){return e[e.INLINE=0]="INLINE",e[e.WRAP_NONE=1]="WRAP_NONE",e[e.WRAP_POLYGON=2]="WRAP_POLYGON",e[e.WRAP_SQUARE=3]="WRAP_SQUARE",e[e.WRAP_THROUGH=4]="WRAP_THROUGH",e[e.WRAP_TIGHT=5]="WRAP_TIGHT",e[e.WRAP_TOP_AND_BOTTOM=6]="WRAP_TOP_AND_BOTTOM",e}({}),ec=function(e){return e[e.NAMED_STYLE_TYPE_UNSPECIFIED=0]="NAMED_STYLE_TYPE_UNSPECIFIED",e[e.NORMAL_TEXT=1]="NORMAL_TEXT",e[e.TITLE=2]="TITLE",e[e.SUBTITLE=3]="SUBTITLE",e[e.HEADING_1=4]="HEADING_1",e[e.HEADING_2=5]="HEADING_2",e[e.HEADING_3=6]="HEADING_3",e[e.HEADING_4=7]="HEADING_4",e[e.HEADING_5=8]="HEADING_5",e}({}),tc=function(e){return e[e.AUTO=0]="AUTO",e[e.AT_LEAST=1]="AT_LEAST",e[e.EXACT=2]="EXACT",e}({}),rc=function(e){return e[e.DASH_STYLE_UNSPECIFIED=0]="DASH_STYLE_UNSPECIFIED",e[e.SOLID=1]="SOLID",e[e.DOT=2]="DOT",e[e.DASH=3]="DASH",e}({}),nc=(function(e){e[e.TAB_STOP_ALIGNMENT_UNSPECIFIED=0]="TAB_STOP_ALIGNMENT_UNSPECIFIED",e[e.START=1]="START",e[e.CENTER=2]="CENTER",e[e.END=3]="END"}({}),function(e){return e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SPECIFIED=1]="SPECIFIED",e}({})),ic=function(e){return e[e.START=0]="START",e[e.CENTER=1]="CENTER",e[e.END=2]="END",e}({}),ac=(function(e){e[e.AUTO_FIT=0]="AUTO_FIT",e[e.FIXED=1]="FIXED"}({}),function(e){return e[e.NONE=0]="NONE",e[e.WRAP=1]="WRAP",e}({})),oc=function(e){return e[e.AUTO=0]="AUTO",e[e.AT_LEAST=1]="AT_LEAST",e[e.EXACT=2]="EXACT",e}({}),sc=function(e){return e[e.CONTENT_ALIGNMENT_UNSPECIFIED=0]="CONTENT_ALIGNMENT_UNSPECIFIED",e[e.BOTH=1]="BOTH",e[e.TOP=2]="TOP",e[e.CENTER=3]="CENTER",e[e.BOTTOM=4]="BOTTOM",e}({}),lc=function(e){return e.NORMAL="normal",e.BOLD="bold",e.ITALIC="italic",e}({}),uc=function(e){return e[e.PAGE=0]="PAGE",e[e.COLUMN=1]="COLUMN",e[e.CHARACTER=2]="CHARACTER",e[e.MARGIN=3]="MARGIN",e[e.INSIDE_MARGIN=4]="INSIDE_MARGIN",e[e.OUTSIDE_MARGIN=5]="OUTSIDE_MARGIN",e[e.LEFT_MARGIN=6]="LEFT_MARGIN",e[e.RIGHT_MARGIN=7]="RIGHT_MARGIN",e}({}),cc=function(e){return e[e.PAGE=0]="PAGE",e[e.PARAGRAPH=1]="PARAGRAPH",e[e.LINE=2]="LINE",e[e.MARGIN=3]="MARGIN",e[e.TOP_MARGIN=4]="TOP_MARGIN",e[e.BOTTOM_MARGIN=5]="BOTTOM_MARGIN",e[e.INSIDE_MARGIN=6]="INSIDE_MARGIN",e[e.OUTSIDE_MARGIN=7]="OUTSIDE_MARGIN",e}({}),dc=function(e){return e[e.POINT=0]="POINT",e[e.LINE=1]="LINE",e[e.CHARACTER=2]="CHARACTER",e[e.PIXEL=3]="PIXEL",e[e.PERCENT=4]="PERCENT",e}({}),hc=function(e){return e[e.CENTER=0]="CENTER",e[e.INSIDE=1]="INSIDE",e[e.LEFT=2]="LEFT",e[e.OUTSIDE=3]="OUTSIDE",e[e.RIGHT=4]="RIGHT",e[e.BOTH=5]="BOTH",e[e.DISTRIBUTE=6]="DISTRIBUTE",e}({}),mc=function(e){return e[e.BOTTOM=0]="BOTTOM",e[e.CENTER=1]="CENTER",e[e.INSIDE=2]="INSIDE",e[e.OUTSIDE=3]="OUTSIDE",e[e.TOP=4]="TOP",e}({}),fc=(function(e){e[e.compressPunctuation=0]="compressPunctuation",e[e.compressPunctuationAndJapaneseKana=1]="compressPunctuationAndJapaneseKana",e[e.doNotCompress=2]="doNotCompress"}({}),function(e){return e[e.PORTRAIT=0]="PORTRAIT",e[e.LANDSCAPE=1]="LANDSCAPE",e}({})),gc=function(e){return e.Letter="Letter",e.Tabloid="Tabloid",e.Legal="Legal",e.Statement="Statement",e.Executive="Executive",e.Folio="Folio",e.A3="A3",e.A4="A4",e.A5="A5",e.B4="B4",e.B5="B5",e}({});const pc=[gc.A3,gc.A4,gc.A5,gc.B4,gc.B5,gc.Letter,gc.Tabloid,gc.Legal,gc.Statement,gc.Executive,gc.Folio];let vc=function(e){return e[e.forward=0]="forward",e[e.backward=1]="backward",e[e.front=2]="front",e[e.back=3]="back",e}({}),bc=function(e){return e[e.UNRECOGNIZED=-1]="UNRECOGNIZED",e[e.DRAWING_IMAGE=0]="DRAWING_IMAGE",e[e.DRAWING_SHAPE=1]="DRAWING_SHAPE",e[e.DRAWING_CHART=2]="DRAWING_CHART",e[e.DRAWING_TABLE=3]="DRAWING_TABLE",e[e.DRAWING_SMART_ART=4]="DRAWING_SMART_ART",e[e.DRAWING_VIDEO=5]="DRAWING_VIDEO",e[e.DRAWING_GROUP=6]="DRAWING_GROUP",e[e.DRAWING_UNIT=7]="DRAWING_UNIT",e[e.DRAWING_DOM=8]="DRAWING_DOM",e}({}),Cc=function(e){return e[e.SLIDE=0]="SLIDE",e[e.MASTER=1]="MASTER",e[e.LAYOUT=2]="LAYOUT",e[e.HANDOUT_MASTER=3]="HANDOUT_MASTER",e[e.NOTES_MASTER=4]="NOTES_MASTER",e}({});(function(e){e[e.SHAPE=0]="SHAPE",e[e.IMAGE=1]="IMAGE",e[e.TEXT=2]="TEXT",e[e.SPREADSHEET=3]="SPREADSHEET",e[e.DOCUMENT=4]="DOCUMENT",e[e.SLIDE=5]="SLIDE"})({}),function(e){e[e.RELATIVE_SLIDE_LINK_UNSPECIFIED=0]="RELATIVE_SLIDE_LINK_UNSPECIFIED",e[e.NEXT_SLIDE=1]="NEXT_SLIDE",e[e.PREVIOUS_SLIDE=2]="PREVIOUS_SLIDE",e[e.FIRST_SLIDE=3]="FIRST_SLIDE",e[e.LAST_SLIDE=4]="LAST_SLIDE"}({});const yc=["s","c","cl","t"],_c=["rgb","th"],wc=["s","cl"],Ec=["t","r","b","l","tl_br","tl_bc","tl_mr","bl_tr","ml_tr","bc_tr"],Sc=["a","v"],Ac=["t","r","b","l"],Ic=["ff","fs","it","bl","ul","bbl","st","ol","bg","bd","cl","va","n","tr","td","ht","vt","tb","pd"];let Rc=function(e){return e[e.COVER=0]="COVER",e[e.REPLACE=1]="REPLACE",e}({}),xc=function(e){return e.RETAIN="r",e.INSERT="i",e.DELETE="d",e}({});const Tc=V("univer.config-service");var Nc=class{constructor(){Bl(this,"_configChanged$",new On),Bl(this,"configChanged$",this._configChanged$.asObservable()),Bl(this,"_config",new Map)}dispose(){this._config.clear(),this._configChanged$.complete()}getConfig(e){return this._config.get(e)}setConfig(e,t,r){var n;let{merge:i=!1}=r||{},a=null==(n=this._config.get(e))?{}:n;a=i?hr(a,t):t,this._config.set(e,a),this._configChanged$.next({[e]:a})}deleteConfig(e){return this._config.delete(e)}subscribeConfigValue$(e){return new Tn(t=>{Object.prototype.hasOwnProperty.call(this._config,e)&&t.next(this._config.get(e));let r=this.configChanged$.pipe(Un(t=>Object.prototype.hasOwnProperty.call(t,e))).subscribe(r=>t.next(r[e]));return()=>r.unsubscribe()})}};const Mc=V("univer.context-service");var Oc=class extends tu{constructor(...e){super(...e),Bl(this,"_contextChanged$",new On),Bl(this,"contextChanged$",this._contextChanged$.asObservable()),Bl(this,"_contextMap",new Map)}dispose(){super.dispose(),this._contextChanged$.complete(),this._contextMap.clear()}getContextValue(e){var t;return null!=(t=this._contextMap.get(e))&&t}setContextValue(e,t){this._contextMap.set(e,t),this._contextChanged$.next({[e]:t})}subscribeContextValue$(e){return new Tn(t=>{let r=this._contextChanged$.pipe(Un(t=>void 0!==t[e])).subscribe(r=>t.next(r[e]));return this._contextMap.has(e)&&t.next(this._contextMap.get(e)),()=>r.unsubscribe()})}};let Lc=function(e){return e[e.SILENT=0]="SILENT",e[e.ERROR=1]="ERROR",e[e.WARN=2]="WARN",e[e.INFO=3]="INFO",e[e.VERBOSE=4]="VERBOSE",e}({});const kc=V("univer.log");var Pc=class extends tu{constructor(...e){super(...e),Bl(this,"_logLevel",Lc.INFO),Bl(this,"_deduction",new Set)}dispose(){super.dispose(),this._logLevel=Lc.INFO,this._deduction.clear()}debug(...e){this._logLevel>=Lc.VERBOSE&&this._log(console.debug,...e)}log(...e){this._logLevel>=Lc.INFO&&this._log(console.log,...e)}warn(...e){this._logLevel>=Lc.WARN&&this._log(console.warn,...e)}error(...e){this._logLevel>=Lc.ERROR&&this._log(console.error,...e)}deprecate(...e){this._logLevel>=Lc.WARN&&this._logWithDeduplication(console.error,...e)}setLogLevel(e){this._logLevel=e}_log(e,...t){let r=t[0];/^\[(.*?)\]/g.test(r)?e(`${r}`,...t.slice(1)):e(...t)}_logWithDeduplication(e,...t){let r=function(...e){return e.map(e=>JSON.stringify(e)).join("")}(...t);this._deduction.has(r)||(this._deduction.add(r),this._log(e,...t))}};function Dc(e,t){return function(r,n){t(r,n,e)}}function Uc(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}let Bc=function(e){return e[e.COMMAND=0]="COMMAND",e[e.OPERATION=1]="OPERATION",e[e.MUTATION=2]="MUTATION",e}({});const Vc=V("univer.core.command-service");var Fc=class{constructor(){Bl(this,"_commands",new Map),Bl(this,"_commandTypes",new Map)}registerCommand(e){if(this._commands.has(e.id))throw Error(`[CommandRegistry]: command "${e.id}" has been registered before.`);return this._commands.set(e.id,e),this._commandTypes.set(e.id,e.type),Jl(()=>{this.unregisterCommand(e.id)})}unregisterCommand(e){this._commands.delete(e),this._commandTypes.delete(e)}hasCommand(e){return this._commands.has(e)}getCommand(e){return this._commands.has(e)?[this._commands.get(e)]:null}getCommandType(e){return this._commandTypes.get(e)}};const jc={id:"nil",type:Bc.COMMAND,handler:()=>!0};let Hc=class extends tu{constructor(e,t,r){super(),this._injector=e,this._logService=t,this._configService=r,Bl(this,"_commandRegistry",void 0),Bl(this,"_beforeCommandExecutionListeners",[]),Bl(this,"_commandExecutedListeners",[]),Bl(this,"_collabMutationListeners",[]),Bl(this,"_multiCommandDisposables",new Map),Bl(this,"_commandExecutingLevel",0),Bl(this,"_commandExecutionStack",[]),this._commandRegistry=new Fc,this.registerCommand(jc)}dispose(){super.dispose(),this._commandExecutedListeners.length=0,this._beforeCommandExecutionListeners.length=0,this._collabMutationListeners.length=0}disposed(){return this._disposed}hasCommand(e){return this._commandRegistry.hasCommand(e)}registerCommand(e){return this._commandRegistry.registerCommand(e)}unregisterCommand(e){var t;this._commandRegistry.unregisterCommand(e),null==(t=this._multiCommandDisposables.get(e))||t.dispose()}registerMultipleCommand(e){return this._registerMultiCommand(e)}beforeCommandExecuted(e){if(-1===this._beforeCommandExecutionListeners.indexOf(e))return this._beforeCommandExecutionListeners.push(e),Jl(()=>{let t=this._beforeCommandExecutionListeners.indexOf(e);this._beforeCommandExecutionListeners.splice(t,1)});throw Error("[CommandService]: could not add a listener twice.")}onCommandExecuted(e){if(-1===this._commandExecutedListeners.indexOf(e))return this._commandExecutedListeners.push(e),Jl(()=>{let t=this._commandExecutedListeners.indexOf(e);this._commandExecutedListeners.splice(t,1)});throw Error("[CommandService]: could not add a listener twice.")}onMutationExecutedForCollab(e){if(-1===this._collabMutationListeners.indexOf(e))return this._collabMutationListeners.push(e),Jl(()=>{let t=this._collabMutationListeners.indexOf(e);this._collabMutationListeners.splice(t,1)});throw Error("[CommandService]: could not add a collab mutation listener twice.")}async executeCommand(e,t,r){try{let n=this._commandRegistry.getCommand(e);if(n){let[e]=n,i={id:e.id,type:e.type,params:t},a=this._pushCommandExecutionStack(i),o=null==r?{}:r;this._beforeCommandExecutionListeners.forEach(e=>e(i,o));let s=await this._execute(e,t,o);return o.syncOnly||this._commandExecutedListeners.forEach(e=>e(i,o)),e.type===Bc.MUTATION&&this._collabMutationListeners.forEach(e=>e(i,o)),a.dispose(),s}throw Error(`[CommandService]: command "${e}" is not registered.`)}catch(e){if(e instanceof kl)return!1;throw e}}syncExecuteCommand(e,t,r){try{let i=this._commandRegistry.getCommand(e);if(i){let[e]=i,a={id:e.id,type:e.type,params:t};if(e.type===Bc.MUTATION){let e=function(e,t){for(let r=e.length-1;r>-1;r--){let n=e[r];if(t(n))return n}return null}(this._commandExecutionStack,e=>e.type===Bc.COMMAND);var n;e&&(a.params=null==(n=a.params)?{}:n,a.params.trigger=e.id)}let o=this._pushCommandExecutionStack(a),s=null==r?{}:r;this._beforeCommandExecutionListeners.forEach(e=>e(a,s));let l=this._syncExecute(e,t,s);return s.syncOnly||this._commandExecutedListeners.forEach(e=>e(a,s)),e.type===Bc.MUTATION&&this._collabMutationListeners.forEach(e=>e(a,s)),o.dispose(),l}throw Error(`[CommandService]: command "${e}" is not registered.`)}catch(e){if(e instanceof kl)return!1;throw e}}_pushCommandExecutionStack(e){return this._commandExecutionStack.push(e),Jl(()=>vl(this._commandExecutionStack,e))}_registerMultiCommand(e){let t,r=this._commandRegistry.getCommand(e.id);if(r){if(!0!==r[0].multi)throw Error("Command has registered as a single command.");t=r[0]}else{t=new Wc(e.id);let r=new eu;r.add(this._commandRegistry.registerCommand(t)),r.add(Jl(()=>{this._multiCommandDisposables.delete(e.id)})),this._multiCommandDisposables.set(e.id,r)}let n=t.registerImplementation(e);return Jl(()=>{var r;n.dispose(),t.hasImplementations()||null==(r=this._multiCommandDisposables.get(e.id))||r.dispose()})}async _execute(e,t,r){if(null!=r&&r.syncOnly)return!0;let n;!1!==this._configService.getConfig("command.logExecution")&&this._logService.debug("[CommandService]",`${"|-".repeat(Math.max(this._commandExecutingLevel,0))}executing command "${e.id}"`),this._commandExecutingLevel++;try{n=await this._injector.invoke(e.handler,t,r),this._commandExecutingLevel--}catch(e){throw n=!1,this._commandExecutingLevel=0,e}return n}_syncExecute(e,t,r){if(null!=r&&r.syncOnly)return!0;let n;!1!==this._configService.getConfig("command.logExecution")&&this._logService.debug("[CommandService]",`${"|-".repeat(Math.max(0,this._commandExecutingLevel))}executing command "${e.id}".`),this._commandExecutingLevel++;try{if(n=this._injector.invoke(e.handler,t,r),n instanceof Promise)throw TypeError("[CommandService]: Command handler should not return a promise.");this._commandExecutingLevel--}catch(e){throw n=!1,this._commandExecutingLevel=0,e}return n}};Hc=Uc([Dc(0,Y(he)),Dc(1,kc),Dc(2,Tc)],Hc);var Wc=class{constructor(e){this.id=e,Bl(this,"name",void 0),Bl(this,"multi",!0),Bl(this,"type",Bc.COMMAND),Bl(this,"priority",0),Bl(this,"_implementations",[]),Bl(this,"handler",async(e,t)=>{if(!this._implementations.length)return!1;let r=e.get(kc),n=e.get(Mc),i=e.get(he);for(let e of this._implementations){let a=e.command.preconditions;if((!a||a&&a(n))&&(r.debug("[MultiCommand]",`executing implementation "${e.command.name}".`),await i.invoke(e.command.handler,t)))return!0}return!1}),this.name=e}registerImplementation(e){let t={command:e};return this._implementations.push(t),this._implementations.sort((e,t)=>t.command.priority-e.command.priority),Jl(()=>{let e=this._implementations.indexOf(t);this._implementations.splice(e,1)})}hasImplementations(){return this._implementations.length>0}};function zc(e,t,r){return function(e){for(let[t,r]of e.entries())try{if(!r())return{index:t,result:!1}}catch(e){return{index:t,result:!1,error:e}}return{result:!0,index:-1}}(e.map(e=>()=>t.syncExecuteCommand(e.id,e.params,r)))}function Xc(e,t,r){return async function(e){for(let[t,r]of e.entries())try{if(!await r())return{index:t,result:!1}}catch(e){return{index:t,result:!1,error:e}}return{result:!0,index:-1}}(e.map(e=>()=>t.executeCommand(e.id,e.params,r)))}function qc(e){return new Tn(t=>{let r=e((...e)=>t.next(e));return()=>null==r?void 0:r.dispose()})}function Gc(e){return function(t){return new Tn(r=>(t.subscribe({next:t=>{r.next(t),e(t)&&r.complete()},complete:()=>r.complete(),error:e=>r.error(e)}),()=>r.unsubscribe()))}}function Yc(e=0){return t=>{let r=[];return t.pipe(Bn(e=>r.push(e)),Gn(e),Yn(()=>r),Bn(()=>r=[]))}}function Qc(e,t,r=!1){let n=e.length-1;if(t<0||t=e[n-20]?function(e,t){let r=0,n=e.length-1;if(t=e[e.length-1])return e.length-1;for(;r<=n;){if(e[r]===t){for(;re[r]&&te[n-1]&&t2||Math.abs(l-n)>2||Math.abs(h-f)>2||Math.abs(m-g)>2||Math.abs(d-o)>1}const Kc={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchealmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,132,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],darkyellow:[139,128,0],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,255,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midbightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,203],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[119,128,144],slategrey:[119,128,144],snow:[255,255,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],transparent:[255,255,255,0],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,5]};var $c=class e{static mix(t,r,n){var i,a;n=Math.min(1,Math.max(0,n));let o=new e(t).toRgb(),s=new e(r).toRgb(),l=null==(i=o.a)?1:i,u=null==(a=s.a)?1:a;return new e({r:(s.r-o.r)*n+o.r,g:(s.g-o.g)*n+o.g,b:(s.b-o.b)*n+o.b,a:(u-l)*n+l})}static getContrastRatio(t,r){let n=new e(t).getLuminance(),i=new e(r).getLuminance();return(Math.max(n,i)+.05)/(Math.min(n,i)+.05)}constructor(t){if(Bl(this,"_color",void 0),Bl(this,"_rgbColor",void 0),Bl(this,"_isValid",!1),null==t)return void this._setNullColor();if(t instanceof e)return this._color={...t._color},void(this._rgbColor={...t._rgbColor});let r=td(t);if(null==r)return void this._setNullColor();this._color=r;let n=od(this._color);null!=n?(this._rgbColor=n,this._isValid=!0):this._setNullColor()}get isValid(){return this._isValid}toRgb(){return this._rgbColor}toRgbString(){let{r:e,g:t,b:r,a:n=1}=this.toRgb(),i=n<1;return`rgb${i?"a":""}(${e},${t},${r}${i?`,${n}`:""})`}toString(){return this.toRgbString()}toHexString(e){let{r:t,g:r,b:n,a:i=1}=this.toRgb(),a=i<1,o=[Jc(Math.round(t).toString(16)),Jc(Math.round(r).toString(16)),Jc(Math.round(n).toString(16)),Jc(Math.round(255*i).toString(16))];return e&&o[0][0]===o[0][1]&&o[1][0]===o[1][1]&&o[2][0]===o[2][1]&&o[3][0]===o[3][1]?a?`#${o[0][0]}${o[1][0]}${o[2][0]}${o[3][0]}`:`#${o[0][0]}${o[1][0]}${o[2][0]}`:a?`#${o[0]}${o[1]}${o[2]}${o[3]}`:`#${o[0]}${o[1]}${o[2]}`}toHsv(){return dd(this.toRgb())}toHsl(){return cd(this.toRgb())}lighten(t=10){let r=this.toHsl();return r.l+=t,r.l=Math.min(Math.max(r.l,0),100),new e(r)}darken(t=10){let r=this.toHsl();return r.l-=t,r.l=Math.min(Math.max(r.l,0),100),new e(r)}setAlpha(t){return new e({...this._rgbColor,a:t})}getLuminance(){let{r:e,g:t,b:r}=this.toRgb();return e=ed(e),t=ed(t),r=ed(r),Number((.2126*e+.7152*t+.0722*r).toFixed(3))}getBrightness(){let{r:e,g:t,b:r}=this.toRgb();return(299*e+587*t+114*r)/1e3}getAlpha(){var e;return null==(e=this._color.a)?1:e}isDark(){return this.getBrightness()<128}isLight(){return!this.isDark()}_setNullColor(){this._isValid=!1,this._color={r:0,g:0,b:0,a:0},this._rgbColor={r:0,g:0,b:0,a:0}}};const Jc=e=>1===e.length?`0${e}`:e,ed=e=>(e/=255)<=.03928?e/12.92:((e+.055)/1.055)**2.4,td=e=>{if(hd(e)){if("r"in e){let t={r:Math.round(e.r),g:Math.round(e.g),b:Math.round(e.b)};return void 0!==e.a&&(t.a=e.a),t}if("l"in e){let t={h:Math.round(e.h),s:e.s,l:e.l};return void 0!==e.a&&(t.a=e.a),t}let t={h:Math.round(e.h),s:e.s,v:e.v};return void 0!==e.a&&(t.a=e.a),t}let t=e.trim().toLowerCase();if(Kc[t]){let e=Kc[t],r={r:Math.round(e[0]),g:Math.round(e[1]),b:Math.round(e[2])};return r.a=e[3]||1,r}return t.startsWith("#")?rd(t):t.startsWith("rgb")?nd(t):t.startsWith("hsl")?id(t):t.startsWith("hsv")?ad(t):void 0},rd=e=>{let t=e.substring(1),r=RegExp(`.{1,${t.length>=6?2:1}}`,"g"),n=t.match(r);if(!n||n.length<3)throw Error(`The color '${e}' is illegal hex color`);1===n[0].length&&(n=n.map(e=>e+e));let i={r:Number.parseInt(n[0],16),g:Number.parseInt(n[1],16),b:Number.parseInt(n[2],16)};return n.length>3&&(i.a=Number.parseInt(n[3],16)/255),i},nd=e=>{let t=e.indexOf("(");if(-1===t)throw Error(`The color '${e}' is illegal rgb color`);let r=e.substring(t+1,e.length-1).split(",");if(r.length<3)throw Error(`The color '${e}' is illegal rgb color`);let n={r:Number.parseInt(r[0],10),g:Number.parseInt(r[1],10),b:Number.parseInt(r[2],10)};return r.length>3&&(n.a=Number.parseFloat(r[3])),n},id=e=>{let t=e.indexOf("(");if(-1===t)throw Error(`The color '${e}' is illegal hsl color`);let r=e.substring(t+1,e.length-1).split(",");if(r.length<3)throw Error(`The color '${e}' is illegal hsl color`);let n={h:Number.parseInt(r[0],10),s:Number.parseFloat(r[1]),l:Number.parseFloat(r[2])};return r.length>3&&(n.a=Number.parseFloat(r[3])),n},ad=e=>{let t=e.indexOf("(");if(-1===t)throw Error(`The color '${e}' is illegal hsv color`);let r=e.substring(t+1,e.length-1).split(",");if(r.length<3)throw Error(`The color '${e}' is illegal hsv color`);let n={h:Number.parseInt(r[0],10),s:Number.parseFloat(r[1]),v:Number.parseFloat(r[2])};return r.length>3&&(n.a=Number.parseFloat(r[3])),n},od=e=>{let t=td(e);if(null!=t)return"r"in t?t:"l"in t?ld(t):ud(t)},sd=(e,t,r)=>(r<0&&(r+=1),r>1&&--r,r<1/6?e+6*(t-e)*r:r<.5?t:r<2/3?e+(t-e)*(2/3-r)*6:e),ld=e=>{let{h:t,s:r,l:n}=e;t/=360,r/=100,n/=100;let i=0,a=0,o=0;if(0===r)i=a=o=n;else{let e=n<.5?n*(1+r):n+r-n*r,s=2*n-e;i=sd(s,e,t+1/3),a=sd(s,e,t),o=sd(s,e,t-1/3)}let s={r:Math.round(255*i),g:Math.round(255*a),b:Math.round(255*o)};return void 0!==e.a&&(s.a=e.a),s},ud=e=>{let{h:t,s:r,v:n}=e;t=t/360*6,r/=100,n/=100;let i=Math.floor(t),a=t-i,o=n*(1-r),s=n*(1-a*r),l=n*(1-(1-a)*r),u=i%6,c={r:255*[n,s,o,o,l,n][u],g:255*[l,n,n,s,o,o][u],b:255*[o,o,l,n,n,s][u]};return void 0!==e.a&&(c.a=e.a),c},cd=e=>{let{r:t,g:r,b:n}=e;t/=255,r/=255,n/=255;let i,a,o=Math.max(t,r,n),s=Math.min(t,r,n),l=(o+s)/2;if(o===s)i=a=0;else{let e=o-s;switch(a=l>.5?e/(2-o-s):e/(o+s),o){case t:i=(r-n)/e+(r{let{r:t,g:r,b:n}=e;t/=255,r/=255,n/=255;let i,a=Math.max(t,r,n),o=Math.min(t,r,n),s=a,l=a-o,u=0===a?0:l/a;if(a===o)i=0;else{switch(a){case t:i=(r-n)/l+(r!(e=>null==e)(e)&&"object"==typeof e;function md(e){return!!(/^#(?:[Ff]{3}|[Ff]{6})\b/.test(e)||/^rgb\s*\(\s*255\s*,\s*255\s*,\s*255\s*\)$/.test(e)||/^rgba\s*\(\s*255\s*,\s*255\s*,\s*255\s*,\s*(1|1\.0*|0?\.\d+)\)$/.test(e)||/^hsl\s*\(\s*0*\s*,\s*0%*\s*,\s*100%*\s*\)$/.test(e)||/^hsla\s*\(\s*0*\s*,\s*0%*\s*,\s*100%*\s*,\s*(1|1\.0*|0?\.\d+)\)$/.test(e))}function fd(e){return e&&(void 0!==e.s||void 0!==e.p||void 0!==e.v||void 0!==e.t||void 0!==e.f||void 0!==e.si||void 0!==e.custom)}function gd(e){if(null==e)return!0;let{v:t,f:r,si:n,p:i,custom:a}=e;return!(null!=t&&("string"!=typeof t||0!==t.length)||null!=r&&r.length>0||null!=n&&n.length>0||null!=i||null!=a)}let pd=function(e){return e[e.NORMAL=0]="NORMAL",e[e.ROW=1]="ROW",e[e.COLUMN=2]="COLUMN",e[e.ALL=3]="ALL",e}({}),vd=function(e){return e[e.NONE=0]="NONE",e[e.ROW=1]="ROW",e[e.COLUMN=2]="COLUMN",e[e.ALL=3]="ALL",e}({}),bd=function(e){return e.NONE="none",e.BACKWARD="backward",e.FORWARD="forward",e}({}),Cd=function(e){return e.RECT="RECT",e.TEXT="TEXT",e}({}),yd=function(e){return e.Raw="raw",e.Intercepted="intercepted",e.Both="both",e}({});const _d={[Hu.OFFICE]:{[ju.ACCENT1]:"#4472C4",[ju.ACCENT2]:"#ED7D31",[ju.ACCENT3]:"#A5A5A5",[ju.ACCENT4]:"#70AD47",[ju.ACCENT5]:"#5B9BD5",[ju.ACCENT6]:"#70AD47",[ju.DARK1]:"#000000",[ju.DARK2]:"#44546A",[ju.LIGHT1]:"#FFFFFF",[ju.LIGHT2]:"#E7E6E6",[ju.HYPERLINK]:"#0563C1",[ju.FOLLOWED_HYPERLINK]:"#954F72"}};function wd(e){return"@@@"===e||"@"===e}function Ed(e){return null==e||"General"===e}const Sd=(e,t)=>{if(e&&!t||!e&&t)return!1;let r=e=>{let t=cs(e),r="",n=!1,i=!1;for(let e of t)if(e.type!==Es.POINT){if((!i||e.type!==Es.MINUS)&&e.type!==Es.SKIP){if(e.type===Es.COLOR){i=!0;continue}i=!1,n&&e.type===Es.ZERO||(n=!1,n||(r+=e.value||""))}}else n=!0;return r};return r(e)===r(t)},Ad=new Set(["m d"]),Id=new Set(["h:mm AM/PM","hh:mm AM/PM"]),Rd=new Set(["$","¥","₽","₫","NT$","€","₩","﷼"]),xd=e=>{var t,r;let n=null==(t=null==(r=Do(e))?Bo(e):r)?No(e):t;if(!n)return null;let{z:i}=n;if(i){if(Ad.has(i)||Id.has(i)&&!/\s(A|AM|P|PM)$/i.test(e))return null;if(i.includes("#,##0")){if(/[.,]$/.test(e))return null;let t=e.replace(RegExp(`^[${[...Rd].join("")}]+`),"").trim();if(t.includes(",")&&!/^-?\d{1,3}(,\d{3})*(\.\d+)?$/.test(t))return null}}return n};function Td(e){let t=0,r=Object.keys(e);for(let e of r){let r=Number(e);t=Math.max(t,r)}return t+1}function Nd(e,t,r){let n=Object.keys(r).reduce((e,t)=>Math.max(e,Number.parseInt(t)),0)+1;for(let i=e;i0){let r={},i=0;for(let a=e;a<=t;a++)n[a]&&(r[i]=n[a],i++);return r}return{}}function Ld(e,t,r,n){let i=e>r;if(!i&&e+t>r)throw Error("Invalid move operation");i?function(e,t,r,n){let i=n,a=[];for(let r=e;r=r;n--){let e=i[n];i[n+t]=e,void 0===e&&delete i[n+t]}a.forEach((e,t)=>{i[r+t]=e,void 0===e&&delete i[r+t]})}(e,t,r,n):function(e,t,r,n){let i=n,a=[];for(let r=e;r{i[r+n-t]=e,void 0===e&&delete i[r+n-t]})}(e,t,r,n)}var kd=class e{constructor(e={}){Bl(this,"_matrix",void 0),this._setOriginValue(e)}static MakeObjectMatrixSize(t){return new e({[t-1]:{}})}getMatrix(){return this._matrix}forEach(e){let t=this._matrix,r=Object.keys(t);for(let n of r){let r=Number(n);if(!1===e(r,t[r]))return this}return this}forRow(e){let t=this._matrix,r=Object.keys(t);for(let n of r){let r=Number(n),i=t[r];if(!1===e(r,Object.keys(i).map(e=>Number(e))))return this}return this}forValue(e){let t=this._matrix;for(let r in t){let n=Number(r),i=t[n];if(i)for(let t in i){let r=Number(t);if(!1===e(n,r,i[r]))return this}}return this}swapRow(e,t){let r=this._matrix[e],n=this._matrix[t];this._matrix[e]=n,this._matrix[t]=r}getRow(e){return this._matrix[e]}getRowOrCreate(e){let t=this.getRow(e);return null==t&&(t={},this._matrix[e]=t),t}reset(){this._setOriginValue({})}hasValue(){let e=this._matrix,t=Object.keys(e);if(0===t.length)return!1;for(let r of t){let t=e[Number(r)];if(Object.keys(t).length>0)return!0}return!1}getValue(e,t){var r;return null==(r=this._matrix)||null==(r=r[e])?void 0:r[t]}setValue(e,t,r){this.getRowOrCreate(e)[t]=r}deleteValue(e,t){var r;null==(r=this._matrix)||null==(r=r[e])||delete r[t]}realDeleteValue(e,t){var r;if(null==(r=this._matrix)||null==(r=r[e])||delete r[t],this.getRow(e)){let t=this.getRow(e);if(null==t)return;var n;0===Object.keys(t).length&&(null==(n=this._matrix)||delete n[e])}}setRow(e,t){this._matrix[e]=t}moveRows(e,t,r){Ld(e,t,r,this._matrix)}moveColumns(e,t,r){this.forEach((n,i)=>{Ld(e,t,r,i)})}insertRows(e,t){let r=Object.keys(this._matrix);for(let n=r.length-1;n>=0;n--){let i=Number(r[n]);if(i>=e){let e=this._matrix[i];delete this._matrix[i],this._matrix[i+t]=e}}}insertColumns(e,t){let r=Object.keys(this._matrix);for(let n=0;n=0;r--){let n=Number(o[r]);if(n>=e){let e=a[n];delete a[n],a[n+t]=e}}}}removeRows(e,t){Nd(e,t,this._matrix)}removeColumns(e,t){this.forEach((r,n)=>{n&&Nd(e,t,n)})}getFragment(t,r,n,i){let a=new e,o=0;for(let e=t;e<=r;e++){let t={},r=0;for(let a=n;a<=i;a++)t[r]=this.getValue(e,a),r++;a.setRow(o,t),o++}return a}getSlice(t,r,n,i){let a=new e;for(let e=t;e<=r;e++)for(let t=n;t<=i;t++){let r=this.getValue(e,t);r&&a.setValue(e,t,uu.deepClone(r))}return a}getSliceDataAndCellCountByRows(t,r){let n=new e,i=0;for(let e=t;e<=r;e++){let t=this.getRow(e);t&&(n.setRow(e,t),i+=Object.keys(t).length)}return{sliceData:n,cellCount:i}}getSizeOf(){return Object.keys(this._matrix).length}getLength(){return Td(this._matrix)}getRange(){let e=this.getLength()-1,t=0,r=this.getLength();for(let e=0;et?e:t}}return{startRow:0,startColumn:0,endRow:e,endColumn:t}}getRealRange(){let e=Object.keys(this._matrix),t=e.length,r=t>0?Number(e[0]):0,n=t>0?Number(e[t-1]):0,i=-1/0,a=0;for(let t of e){let e=this.getRow(Number(t));if(e){let t=Object.keys(e);if(t.length>0){let e=Number(t[0]),r=Number(t[t.length-1]);(i===-1/0||ea&&(a=r)}}}return i===-1/0&&(i=0),{startRow:r,endRow:n,startColumn:i,endColumn:a}}getRealRowRange(){let e=Object.keys(this._matrix),t=e.length;return{startRow:t>0?Number(e[0]):0,endRow:t>0?Number(e[t-1]):0}}toNativeArray(){let e=[];return this.forValue((t,r,n)=>{e.push(n)}),e}toArray(){let e=[];return this.forRow((t,r)=>{null==e[t]&&(e[t]=[]),r.forEach(r=>{e[t][r]=this.getValue(t,r)})}),e}toFullArray(){let{endColumn:e,endRow:t}=this.getRange(),r=[];for(let n=0;n<=t;n++){let t=Array(e+1).fill(void 0);r.push(t)}return this.forValue((e,t,n)=>{r[e][t]=n}),r}toJSON(){return this._matrix}clone(){let e=JSON.stringify(this._matrix);return JSON.parse(e)}getData(){let e=JSON.stringify(this._matrix);return JSON.parse(e)}getArrayData(){let t=0,r=0,n=!1,i=!1,a=new e;return this.forEach((e,o)=>{n||(n=!0,t=e),Object.keys(o).forEach(n=>{let o=Number(n);i?o0&&(e=+i[0],t=+i[i.length-1]);for(let e of i){let t=Object.keys(this._matrix[e]);t.length>0&&(r=Math.min(r,+t[0]),n=Math.max(n,+t[t.length-1]))}return{startRow:e,endRow:t,startColumn:r,endColumn:n}}getDataRange(){let e=0,t=0,r=0,n=-1,i=!1,a=!1;return this.forEach((o,s)=>{if(i||(i=!0,e=o),null==s)return;let l=Td(s)-1;l>r&&(r=l),Object.keys(s).forEach(e=>{let r=Number(e);a?rn&&(n=o)}),{startRow:e,startColumn:t,endRow:n,endColumn:r}}getDiscreteRanges(){let e=[];return this.forEach((t,r)=>{Object.keys(r).forEach(r=>{let n=Number(r),i=!1;for(let r of e)if(t>=r.startRow&&t<=r.endRow+1&&n>=r.startColumn&&n<=r.endColumn+1){r.endRow=Math.max(t,r.endRow),r.endColumn=Math.max(n,r.endColumn),i=!0;break}i||e.push({startRow:t,endRow:t,startColumn:n,endColumn:n})})}),e}merge(e){this.forValue((t,r)=>{let n=e.getValue(t,r);null!=n&&this.setValue(t,r,n)})}concatRows(e){let t=e.getMatrix();for(let e in t){let r=Number(e);this.setRow(r,t[r])}}_setOriginValue(e={}){this._matrix=e}};function Pd(e){let{actualRow:t,actualColumn:r,isMerged:n,isMergedMainCell:i,mergeInfo:a}=e,{startY:o,endY:s,startX:l,endX:u}=e,c=t,d=r,h=t,m=r;if(n&&a){let{startRow:e,startColumn:t,endRow:r,endColumn:n,startY:i,endY:f,startX:g,endX:p}=a;c=e,d=t,h=r,m=n,o=i,s=f,l=g,u=p}return i&&(o=a.startY,s=a.endY,l=a.startX,u=a.endX,h=a.endRow,m=a.endColumn),{startRow:c,startColumn:d,endRow:h,endColumn:m,startY:o,endY:s,startX:l,endX:u}}function Dd(e){return function(e){var t;return!e||0===((null==e||null==(t=e.v)?void 0:t.toString())||"").length&&!e.p}(e)&&!1!==(null==e?void 0:e.coverable)}function Ud(e){if(e){if(e.rgb)return new $c(e.rgb).toHexString();if(null!=e.th){var t;let r=null==(t=_d[Hu.OFFICE])?void 0:t[e.th];if(r)return new $c(r).toRgbString()}}return null}function Bd(e){return uu.isString(e)&&"="===e.substring(0,1)&&e.length>1}function Vd(e){return uu.isString(e)&&e.length>0}function Fd(e,t=!1){let r="",n=new Map([["ff",()=>{e.ff&&(r+=`font-family: ${e.ff}; `)}],["fs",()=>{if(e.fs){let t=e.fs;e.va&&(t/=2),r+=`font-size: ${t}pt; `}}],["it",()=>{e.it&&(r+="font-style: italic; ")}],["bl",()=>{e.bl&&(r+="font-weight: bold; ")}],["ul",()=>{var t;null!=(t=e.ul)&&t.s&&(r.indexOf("text-decoration-line")>-1?r=r.replace(/(text-decoration-line:\s*[^;]+)(?=;)/g,(e,t)=>`${t} underline`):r+="text-decoration: underline; ",e.ul.cl&&-1===r.indexOf("text-decoration-color")&&(r+=`text-decoration-color: ${Ud(e.ul.cl)}; `),e.ul.t&&-1===r.indexOf("text-decoration-style")&&(r+=`text-decoration-style: ${e.ul.t} `))}],["st",()=>{var t;null!=(t=e.st)&&t.s&&(r.indexOf("text-decoration-line")>-1?r=r.replace(/(text-decoration-line:\s*[^;]+)(?=;)/g,(e,t)=>`${t} line-through`):r+="text-decoration-line: line-through; ",e.st.cl&&-1===r.indexOf("text-decoration-color")&&(r+=`text-decoration-color: ${Ud(e.st.cl)}; `),e.st.t&&-1===r.indexOf("text-decoration-style")&&(r+=`text-decoration-style: ${e.st.t} `))}],["ol",()=>{var t;null!=(t=e.ol)&&t.s&&(r.indexOf("text-decoration-line")>-1?r=r.replace(/(text-decoration-line:\s*[^;]+)(?=;)/g,(e,t)=>`${t} overline`):r+="text-decoration-line: overline; ",e.ol.cl&&-1===r.indexOf("text-decoration-color")&&(r+=`text-decoration-color: ${Ud(e.ol.cl)}; `),e.ol.t&&-1===r.indexOf("text-decoration-style")&&(r+=`text-decoration-style: ${e.ol.t} `))}],["bg",()=>{e.bg&&(r+=`background: ${Ud(e.bg)}; `)}],["bd",()=>{var t,n,i,a,o,s,l,u,c,d,h,m;null!=(t=e.bd)&&t.b&&(r+=`border-bottom: ${jd(null==(o=e.bd)?void 0:o.b.s)} ${null==(s=Ud(e.bd.b.cl))?"":s}; `),null!=(n=e.bd)&&n.t&&(r+=`border-top: ${jd(null==(l=e.bd)?void 0:l.t.s)} ${null==(u=Ud(e.bd.t.cl))?"":u}; `),null!=(i=e.bd)&&i.r&&(r+=`border-right: ${jd(null==(c=e.bd)?void 0:c.r.s)} ${null==(d=Ud(e.bd.r.cl))?"":d}; `),null!=(a=e.bd)&&a.l&&(r+=`border-left: ${jd(null==(h=e.bd)?void 0:h.l.s)} ${null==(m=Ud(e.bd.l.cl))?"":m}; `)}],["cl",()=>{e.cl&&(r+=`color: ${Ud(e.cl)}; `)}],["va",()=>{e.va===Bu.SUBSCRIPT?r+="vertical-align: sub; ":e.va===Bu.SUPERSCRIPT&&(r+="vertical-align: super; ")}],["td",()=>{e.td===Mu.LEFT_TO_RIGHT?r+="direction: ltr; ":e.td===Mu.RIGHT_TO_LEFT&&(r+="direction: rtl; ")}],["tr",()=>{var t,n,i;e.tr&&(r+=`--data-rotate: (${null==(t=e.tr)?void 0:t.a}deg${null!=(n=e.tr)&&n.v?` ,${null==(i=e.tr)?void 0:i.v}`:""});`)}],["ht",()=>{e.ht===Lu.LEFT?r+="text-align: left; ":e.ht===Lu.RIGHT?r+="text-align: right; ":e.ht===Lu.CENTER?r+="text-align: center; ":e.ht===Lu.JUSTIFIED&&(r+="text-align: justify; ")}],["vt",()=>{e.vt===ku.BOTTOM?r+="vertical-align: bottom; ":e.vt===ku.TOP?r+="vertical-align: top; ":e.vt===ku.MIDDLE&&(r+="vertical-align: middle; ")}],["tb",()=>{e.tb===Pu.CLIP?r+="white-space: nowrap; overflow-x: hidden; ":e.tb===Pu.WRAP&&(r+="white-space: normal;")}],["pd",()=>{var t,n,i,a,o,s,l,u;let c=`${null==(t=e.pd)?void 0:t.b}pt`,d=`${null==(n=e.pd)?void 0:n.t}pt`,h=`${null==(i=e.pd)?void 0:i.l}pt`,m=`${null==(a=e.pd)?void 0:a.r}pt`;null!=(o=e.pd)&&o.b&&(r+=`padding-bottom: ${c}; `),null!=(s=e.pd)&&s.t&&(r+=`padding-top: ${d}; `),null!=(l=e.pd)&&l.l&&(r+=`padding-left: ${h}; `),null!=(u=e.pd)&&u.r&&(r+=`padding-right: ${m}; `)}]]),i=["bd","tr","tb"];for(let r in e){var a;t&&i.includes(r)||null==(a=n.get(r))||a()}return r}function jd(e){let t="";return e===gu.NONE?t="none":e===gu.THIN?t="0.5pt solid":e===gu.HAIR?t="0.5pt double":e===gu.DOTTED?t="0.5pt dotted":e===gu.DASHED||e===gu.DASH_DOT?t="0.5pt dashed":e===gu.DASH_DOT_DOT?t="0.5pt dotted":e===gu.DOUBLE?t="0.5pt double":e===gu.MEDIUM?t="1pt solid":e===gu.MEDIUM_DASHED||e===gu.MEDIUM_DASH_DOT?t="1pt dashed":e===gu.MEDIUM_DASH_DOT_DOT?t="1pt dotted":e===gu.SLANT_DASH_DOT?t="0.5pt dashed":e===gu.THICK&&(t="1.5pt solid"),t}function Hd(e){let t=0;if("none"===(e=e.trim()))t=gu.NONE;else if("0.5pt solid"===e)t=gu.THIN;else if("0.5pt double"===e)t=gu.HAIR;else if("0.5pt dotted"===e)t=gu.DOTTED;else if("0.5pt dashed"===e)t=gu.DASHED;else if("1pt solid"===e)t=gu.MEDIUM;else if("1pt dashed"===e)t=gu.MEDIUM_DASHED;else if("1pt dotted"===e)t=gu.MEDIUM_DASH_DOT_DOT;else if("1.5pt solid"===e)t=gu.THICK;else{if(e.includes("none"))return gu.NONE;t=gu.THIN}return t}function Wd(e,t){let{startRow:r,endRow:n,startColumn:i,endColumn:a,rangeType:o}=e;if(r<0||i<0||n<0||a<0||(!Number.isNaN(r)||!Number.isNaN(n))&&o===pd.COLUMN||(!Number.isNaN(i)||!Number.isNaN(a))&&o===pd.ROW||o!==pd.ROW&&o!==pd.COLUMN&&(Number.isNaN(i)||Number.isNaN(r)||Number.isNaN(a)||Number.isNaN(n)))return!1;if(t){let e=t.getRowCount(),r=t.getColumnCount();if(n>=e||a>=r)return!1}return!0}function zd(e,t){return{startRow:e,endRow:e,startColumn:t,endColumn:t}}function Xd(e){if(Bd(e))return{f:e,v:null,p:null};if(function(e){return null!=e&&("string"==typeof e||"number"==typeof e||"boolean"==typeof e)}(e)){if("string"==typeof e){let t=xd(e);if(t&&t.z)return{v:t.v,p:null,f:null,s:{n:{pattern:t.z||"General"}}}}return{v:e,p:null,f:null}}return fd(e),e}function qd(e,t){let r=new kd,{startRow:n,startColumn:i,endRow:a,endColumn:o}=t;if(uu.isArray(e))for(let t=0;t<=a-n;t++)for(let a=0;a<=o-i;a++)r.setValue(t+n,a+i,Xd(e[t][a]));else new kd(e).forValue((e,t,n)=>{r.setValue(e,t,Xd(n))});return r.getMatrix()}function Gd(e,t){return Object.prototype.toString.call(e)===Object.prototype.toString.call(t)&&("[object Object]"===Object.prototype.toString.call(e)||"[object Array]"===Object.prototype.toString.call(e)?Object.keys(e).length===Object.keys(t).length&&Object.keys(e).every(r=>Gd(e[r],t[r])):e===t)}function Yd(e,t){let r=e.ts||{},n=t.ts||{};return e.sId===t.sId&&Gd(r,n)}function Qd(e,t,r,n){if(e>t)throw Error("a1 should be less than a2");if(r>n)throw Error("b1 should be less than b2");if(t=t)return[];let i=n-r+1;return en?[e,t-i]:r<=e&&ne&&n>=t?[e,r-1]:[e,t]}function Zd(e,t,r){return e.slice(0,t)+r+e.slice(t)}function Kd(e,t,r){return t>r?e:e.slice(0,t)+e.slice(r)}function $d(e){if(null==e||"boolean"==typeof e)return!1;if("number"==typeof e)return!isNaN(e);if("string"==typeof e){let t=e.trim();return""!==t&&!isNaN(Number(t))}return!1}function Jd(e){if(0===e.length)return[];let t=e.slice().sort((e,t)=>(Array.isArray(e)?e[0]:e)-(Array.isArray(t)?t[0]:t)),r=[],n=Array.isArray(t[0])?t[0][0]:t[0],i=n;for(let e=1;ee[0]-t[0]),r=[],[n,i]=t[0];for(let e=1;evl(this._onShiftListeners,e));throw Error("[LRUMap]: the listener has been registered!")}constructor(...e){if(Bl(this,"_keymap",void 0),Bl(this,"size",0),Bl(this,"limit",void 0),Bl(this,"oldest",void 0),Bl(this,"newest",void 0),Bl(this,"_onShiftListeners",[]),mh.hasLength(e,1)){if(mh.isNumber(e[0])){let t=e[0];return void this._initialize(t,void 0)}if(mh.isIterable(e[0])){let t=e[0];return void this._initialize(0,t)}}else if(mh.hasLength(e,2)){let t=e[0],r=e[1];this._initialize(t,r)}}_initialize(e,t){this.oldest=void 0,this.newest=void 0,this.size=0,this.limit=e,this._keymap=new Map,t&&(this.assign(t),e<1&&(this.limit=this.size))}_markEntryAsUsed(e){e!==this.newest&&(e[oh]&&(e===this.oldest&&(this.oldest=e[oh]),e[oh][sh]=e[sh]),e[sh]&&(e[sh][oh]=e[oh]),e[oh]=void 0,e[sh]=this.newest,this.newest&&(this.newest[oh]=e),this.newest=e)}assign(e){let t,r=this.limit||Number.MAX_VALUE;this._keymap.clear();let n=e[Symbol.iterator]();for(let e=n.next();!e.done;e=n.next()){let n=new dh(e.value[0],e.value[1]);if(this._keymap.set(n.key,n),t?(t[oh]=n,n[sh]=t):this.oldest=n,t=n,0===r--)throw Error("overflow")}this.newest=t,this.size=this._keymap.size}set(e,t){let r=this._keymap.get(e);return r?(r.value=t,this._markEntryAsUsed(r),this):(this._keymap.set(e,r=new dh(e,t)),this.newest?(this.newest[oh]=r,r[sh]=this.newest):this.oldest=r,this.newest=r,++this.size,this.size>this.limit&&this.shift(),this)}shift(){let e=this.oldest;if(e)return this.oldest&&this.oldest[oh]?(this.oldest=this.oldest[oh],this.oldest[sh]=void 0):(this.oldest=void 0,this.newest=void 0),e[oh]=e[sh]=void 0,this._keymap.delete(e.key),--this.size,this._onShiftListeners.forEach(t=>t(e)),[e.key,e.value]}get(e){let t=this._keymap.get(e);if(t)return this._markEntryAsUsed(t),t.value}has(e){return this._keymap.has(e)}find(e){let t=this._keymap.get(e);return t?t.value:void 0}delete(e){let t=this._keymap.get(e);if(t)return this._keymap.delete(t.key),t[oh]&&t[sh]?(t[sh][oh]=t[oh],t[oh][sh]=t[sh]):t[oh]?(t[oh][sh]=void 0,this.oldest=t[oh]):t[sh]?(t[sh][oh]=void 0,this.newest=t[sh]):this.oldest=this.newest=void 0,this.size--,t.value}clear(){this.oldest=void 0,this.newest=void 0,this.size=0,this._keymap.clear()}keys(){return new lh(this.oldest)}values(){return new uh(this.oldest)}entries(){return this[Symbol.iterator]()}[ah](){return new ch(this.oldest)}forEach(e,t){"object"!=typeof t&&(t=this);let r=this.oldest;for(;r;)e.call(t,r.value,r.key,this),r=r[oh]}toJSON(){let e=Array(this.size),t=0,r=this.oldest;for(;r;)e[t++]={key:r.key,value:r.value},r=r[oh];return e}toString(){let e="",t=this.oldest;for(;t;)e+=`${String(t.key)}:${t.value}`,t=t[oh],t&&(e+=" < ");return e}},mh=class{static hasLength(e,t){return e.length===t}static getValueType(e){return Object.prototype.toString.apply(e)}static isObject(e){return"[object Object]"===this.getValueType(e)}static isIterable(e){return null!=e[Symbol.iterator]}static isNumber(e){return"[object Number]"===this.getValueType(e)}};function fh(e){let t=0;for(let r=0;r90)return-1;t=26*t+(n-64)}return t}const gh=1048576,ph=16384,vh={ff:"Arial",fs:11,it:Vu.FALSE,bl:Vu.FALSE,ul:{s:Vu.FALSE},st:{s:Vu.FALSE},ol:{s:Vu.FALSE},tr:{a:0,v:Vu.FALSE},td:Mu.UNSPECIFIED,cl:{rgb:"#000000"},bg:{rgb:"#fff"},ht:Lu.UNSPECIFIED,vt:ku.UNSPECIFIED,tb:Pu.UNSPECIFIED,pd:{t:0,r:0,b:0,l:0},n:null,bd:{b:null,l:null,r:null,t:null}},bh={id:"default_slide",title:"defaultSlide",pageSize:{width:300,height:300}},Ch=[El,Al,Sl],yh={[ec.HEADING_1]:{fs:20,bl:1},[ec.HEADING_2]:{fs:18,bl:1},[ec.HEADING_3]:{fs:16,bl:1},[ec.HEADING_4]:{fs:14,bl:1},[ec.HEADING_5]:{fs:12,bl:1},[ec.NORMAL_TEXT]:null,[ec.TITLE]:{fs:26,bl:1},[ec.SUBTITLE]:{fs:15,cl:{rgb:"#999999"}},[ec.NAMED_STYLE_TYPE_UNSPECIFIED]:null},_h={[ec.HEADING_1]:{spaceAbove:{v:20},spaceBelow:{v:10}},[ec.HEADING_2]:{spaceAbove:{v:18},spaceBelow:{v:10}},[ec.HEADING_3]:{spaceAbove:{v:16},spaceBelow:{v:10}},[ec.HEADING_4]:{spaceAbove:{v:14},spaceBelow:{v:8}},[ec.HEADING_5]:{spaceAbove:{v:12},spaceBelow:{v:8}},[ec.NORMAL_TEXT]:{spaceAbove:{v:0},spaceBelow:{v:0}},[ec.TITLE]:{spaceAbove:{v:0},spaceBelow:{v:7}},[ec.SUBTITLE]:{spaceAbove:{v:0},spaceBelow:{v:16}},[ec.NAMED_STYLE_TYPE_UNSPECIFIED]:null};!function(e){e.ARRAY_CONVERTOR="ARRAY_CONVERTOR",e.MATRIX_CONVERTOR="MATRIX_CONVERTOR"}({});const wh={[gc.A3]:{width:1123,height:1587},[gc.A4]:{width:794,height:1124},[gc.A5]:{width:559,height:794},[gc.B4]:{width:944,height:1344},[gc.B5]:{width:665,height:944},[gc.Executive]:{width:696,height:1008},[gc.Folio]:{width:816,height:1248},[gc.Legal]:{width:816,height:1344},[gc.Letter]:{width:816,height:1056},[gc.Statement]:{width:528,height:816},[gc.Tabloid]:{width:1056,height:1632}};function Eh(e,t){let{textRuns:r=[]}=t,n=0;for(let t of r){let{ts:r={},st:i,ed:a}=t;if(null==r[e])return Vu.FALSE;switch(e){case"bl":case"it":if(r[e]===Vu.FALSE)return Vu.FALSE;break;case"ul":case"st":if(r[e].s===Vu.FALSE)return Vu.FALSE;break;default:throw Error(`unknown style key: ${e} in IStyleBase`)}n+=a-i}return t.dataStream.indexOf("\r\n")===n?Vu.TRUE:Vu.FALSE}var Sh=class e{constructor(e,t,r){this._deps=r,Bl(this,"_range",void 0),Bl(this,"_worksheet",void 0),this._range=t,this._worksheet=e}static foreach(e,t){let{startRow:r,startColumn:n,endRow:i,endColumn:a}=e;for(let e=r;e<=i;e++)for(let r=n;r<=a;r++)t(e,r)}getRangeData(){return this._range}getValue(){return this.getValues()[0][0]}getValues(){let{startRow:e,endRow:t,startColumn:r,endColumn:n}=this._range,i=[];for(let a=e;a<=t;a++){let e=[];for(let t=r;t<=n;t++)e.push(this.getMatrix().getValue(a,t)||null);i.push(e)}return i}getMatrix(){let{startRow:e,endRow:t,startColumn:r,endColumn:n}=this._range,i=this._worksheet.getCellMatrix(),a=new kd;for(let o=e;o<=t;o++)for(let e=r;e<=n;e++)a.setValue(o,e,i.getValue(o,e)||null);return a}getMatrixObject(){let{startRow:e,endRow:t,startColumn:r,endColumn:n}=this._range,i=this._worksheet.getCellMatrix(),a=new kd;for(let o=e;o<=t;o++)for(let t=r;t<=n;t++)a.setValue(o-e,t-r,i.getValue(o,t)||{});return a}getA1Notation(){let e,t,{startRow:r,endRow:n,startColumn:i,endColumn:a}=this._range;return it.map(t=>{var r;let n=e.getStyleByCell(t);return(null==n||null==(r=n.bg)?void 0:r.rgb)||vh.bg.rgb}))}getCell(t,r){let{startRow:n,startColumn:i}=this._range,a={startRow:n+t,endRow:n+t,startColumn:i+r,endColumn:i+r};return new e(this._worksheet,a,this._deps)}getColumn(){return this._range.startColumn}getObjectValue(e={}){return this.getObjectValues(e)[0][0]}getObjectValues(e={}){let{startRow:t,endRow:r,startColumn:n,endColumn:i}=this._range,a=this._worksheet.getCellMatrix().getFragment(t,r,n,i).getData();if(e.isIncludeStyle){let e=this._deps.getStyles();for(let s=0;s<=r-t;s++)for(let t=0;t<=i-n;t++){var o;if(null==a||null==(null==a||null==(o=a[s])?void 0:o[t]))continue;let r=a[s][t].s;r&&(a[s][t].s=e.get(r))}}return a}getFontColor(){return this.getFontColors()[0][0]}getFontColors(){let e=this._deps.getStyles();return this.getValues().map(t=>t.map(t=>{var r;let n=e.getStyleByCell(t);return(null==n||null==(r=n.cl)?void 0:r.rgb)||vh.cl.rgb}))}getFontFamilies(){return this._getStyles("ff")}getFontFamily(){return this.getFontFamilies()[0][0]}getUnderlines(){return this._getStyles("ul")}getUnderline(){var e,t;let{p:r}=null==(e=this.getValue())?{}:e;return r&&Array.isArray(null==(t=r.body)?void 0:t.textRuns)&&r.body.textRuns.length>0?Eh("ul",r.body)===Vu.TRUE?{s:Vu.TRUE}:{s:Vu.FALSE}:this.getUnderlines()[0][0]}getOverlines(){return this._getStyles("ol")}getOverline(){return this.getOverlines()[0][0]}getStrikeThrough(){var e,t;let{p:r}=null==(e=this.getValue())?{}:e;return r&&Array.isArray(null==(t=r.body)?void 0:t.textRuns)&&r.body.textRuns.length>0?Eh("st",r.body)===Vu.TRUE?{s:Vu.TRUE}:{s:Vu.FALSE}:this.getStrikeThroughs()[0][0]}getStrikeThroughs(){return this._getStyles("st")}getFontSize(){var e,t;let r=(null==(e=this.getValue())?void 0:e.p)||{};return r&&Array.isArray(null==(t=r.body)?void 0:t.textRuns)&&r.body.textRuns.length>0&&r.body.textRuns.some(e=>{var t;return null!=(null==e||null==(t=e.ts)?void 0:t.fs)})?Math.max(...r.body.textRuns.map(e=>{var t;return(null==e||null==(t=e.ts)?void 0:t.fs)||0})):this.getFontSizes()[0][0]}getFontSizes(){return this._getStyles("fs")}getBorder(){return this.getBorders()[0][0]}getBorders(){return this._getStyles("bd")}getFontStyle(){var e,t;let{p:r}=null==(e=this.getValue())?{}:e;return r&&Array.isArray(null==(t=r.body)?void 0:t.textRuns)&&r.body.textRuns.length>0?Eh("it",r.body)===Vu.TRUE?Du.ITALIC:Du.NORMAL:this._getFontStyles()[0][0]}_getFontStyles(){return this._getStyles("it")}getFontWeight(){var e,t;let{p:r}=null==(e=this.getValue())?{}:e;return r&&Array.isArray(null==(t=r.body)?void 0:t.textRuns)&&r.body.textRuns.length>0?Eh("bl",r.body)===Vu.TRUE?Uu.BOLD:Uu.NORMAL:this._getFontWeights()[0][0]}_getFontWeights(){return this._getStyles("bl")}getGridId(){return this._worksheet.getSheetId()}getHeight(){let{_range:e,_worksheet:t}=this,{startRow:r,endRow:n}=e,i=0;for(let e=0;e<=n-r;e++)i+=t.getRowHeight(e);return i}getHorizontalAlignment(){return this.getHorizontalAlignments()[0][0]}getHorizontalAlignments(){return this._getStyles("ht")}getLastColumn(){return this._range.endColumn}getLastRow(){return this._range.endRow}getNumColumns(){let{startColumn:e,endColumn:t}=this._range;return t-e+1}getNumRows(){let{startRow:e,endRow:t}=this._range;return t-e+1}getRichTextValue(){return this.getRichTextValues()[0][0]}getRichTextValues(){return this.getValues().map(e=>e.map(e=>(null==e?void 0:e.p)||""))}getRowIndex(){return this._range.startRow}getSheet(){return this._worksheet}getTextDirection(){return this.getTextDirections()[0][0]}getTextDirections(){return this._getStyles("td")}getTextRotation(){return this.getTextRotations()[0][0]}getTextRotations(){return this._getStyles("tr")}getTextStyle(){return this.getTextStyles()[0][0]}getTextStyles(){let e=this._deps.getStyles();return this.getValues().map(t=>t.map(t=>e.getStyleByCell(t)))}getVerticalAlignment(){return this.getVerticalAlignments()[0][0]}getVerticalAlignments(){return this._getStyles("vt")}getWidth(){let{_range:e,_worksheet:t}=this,{startColumn:r,endColumn:n}=e,i=0;for(let e=0;e<=n-r;e++)i+=t.getColumnWidth(e);return i}getWrap(){return this.getWrapStrategy()===Pu.WRAP?Vu.TRUE:Vu.FALSE}getWrapStrategies(){return this._getStyles("tb")}getWrapStrategy(){return this.getWrapStrategies()[0][0]}forEach(t){e.foreach(this._range,t)}_getStyles(e){let t=this._deps.getStyles();return this.getValues().map(r=>r.map(r=>{let n=t&&t.getStyleByCell(r);return n&&n[e]||vh[e]}))}};function Ah(e,t,r,n=!1){if(0===t&&0===r)return e;let i={...e},a=i.startAbsoluteRefType||vd.NONE,o=i.endAbsoluteRefType||vd.NONE,s=i.rangeType||pd.NORMAL;if(!n&&a===vd.ALL&&o===vd.ALL)return i;let l=Ih(i.startRow,r,i.startColumn,t,s),u=Ih(i.endRow,r,i.endColumn,t,s);return n||a===vd.NONE&&o===vd.NONE?i={...i,startRow:l.row,startColumn:l.column,endRow:u.row,endColumn:u.column}:(a===vd.NONE?i={...i,startRow:l.row,startColumn:l.column}:a===vd.COLUMN?i={...i,startRow:l.row}:a===vd.ROW&&(i={...i,startColumn:l.column}),o===vd.NONE?i={...i,endRow:u.row,endColumn:u.column}:o===vd.COLUMN?i={...i,endRow:u.row}:o===vd.ROW&&(i={...i,endColumn:u.column}),i)}function Ih(e,t,r,n,i){return i===pd.NORMAL?{row:e+t,column:r+n}:i===pd.ROW?{row:e+t,column:r}:i===pd.COLUMN?{row:e,column:r+n}:{row:e,column:r}}function Rh(e){let t=new Set,r=new Set;for(let n of e)t.add(n.startColumn),t.add(n.endColumn+1),r.add(n.startRow),r.add(n.endRow+1);let n=Array.from(t).sort((e,t)=>e-t),i=Array.from(r).sort((e,t)=>e-t);e.sort((e,t)=>e.startRow-t.startRow||e.startColumn-t.startColumn);let a=[];for(let t=0;tu)break;if(t.startRow<=l&&t.endRow>=u&&t.startColumn<=o&&t.endColumn>=s){a.push({startColumn:o,endColumn:s,startRow:l,endRow:u});break}}}return a}function xh(e,t){let r=Th(e.startRow,e.endRow,t.startRow,t.endRow),n=Th(e.startColumn,e.endColumn,t.startColumn,t.endColumn);if(!r||!n)return null;let[i,a]=r,[o,s]=n;return{startRow:i,endRow:a,startColumn:o,endColumn:s,rangeType:Nh(e.rangeType,t.rangeType,i,a,o,s)}}function Th(e,t,r,n){let i=isNaN(e)?-1/0:e,a=isNaN(t)?1/0:t,o=isNaN(r)?-1/0:r,s=isNaN(n)?1/0:n,l=Math.max(i,o),u=Math.min(a,s);return l<=u?[l===-1/0?NaN:l,u===1/0?NaN:u]:null}function Nh(e,t,r,n,i,a){let o=void 0===e?Mh(r,n,i,a):e,s=void 0===t?Mh(r,n,i,a):t;return o===pd.ALL||s===pd.ALL?o===s?o:o===pd.ALL?s:o:o===s?o:(o===pd.NORMAL||pd.NORMAL,pd.NORMAL)}function Mh(e,t,r,n){let i=!isNaN(e)&&!isNaN(t),a=!isNaN(r)&&!isNaN(n);return i&&a?pd.NORMAL:i?pd.ROW:a?pd.COLUMN:pd.ALL}Bl(Sh,"transformRange",(e,t)=>{let r=t.getMaxColumns()-1,n=t.getMaxRows()-1;return e.rangeType===pd.ALL?{startColumn:0,startRow:0,endColumn:r,endRow:n}:e.rangeType===pd.COLUMN?{startRow:0,endRow:n,startColumn:e.startColumn,endColumn:e.endColumn}:e.rangeType===pd.ROW?{startColumn:0,endColumn:r,startRow:e.startRow,endRow:e.endRow}:{startColumn:e.startColumn,endColumn:Math.min(e.endColumn,r),startRow:e.startRow,endRow:Math.min(e.endRow,n)}});var Oh=class e{static clone(e){return void 0===e.rangeType?{startRow:e.startRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn}:{startRow:e.startRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn,rangeType:e.rangeType}}static equals(e,t){return null!=e&&null!=t&&e.endRow===t.endRow&&e.endColumn===t.endColumn&&e.startRow===t.startRow&&e.startColumn===t.startColumn&&(e.rangeType===t.rangeType||void 0===e.rangeType&&t.rangeType===pd.NORMAL||void 0===t.rangeType&&e.rangeType===pd.NORMAL)}static simpleRangesIntersect(e,t){let{startRow:r,endRow:n,startColumn:i,endColumn:a}=e,{startRow:o,endRow:s,startColumn:l,endColumn:u}=t;return r<=s&&n>=o&&i<=u&&a>=l}static intersects(e,t){if(e.rangeType===pd.ROW&&t.rangeType===pd.COLUMN||e.rangeType===pd.COLUMN&&t.rangeType===pd.ROW)return!0;if(e.rangeType===pd.ROW&&t.rangeType===pd.ROW)return e.startRow<=t.endRow&&e.endRow>=t.startRow;if(e.rangeType===pd.COLUMN&&t.rangeType===pd.COLUMN)return e.startColumn<=t.endColumn&&e.endColumn>=t.startColumn;let r=Number.isNaN(e.startRow)?0:e.startRow,n=Number.isNaN(e.endRow)?gh-1:e.endRow,i=Number.isNaN(e.startColumn)?0:e.startColumn,a=Number.isNaN(e.endColumn)?ph-1:e.endColumn,o=Number.isNaN(t.startRow)?0:t.startRow,s=Number.isNaN(t.endRow)?gh-1:t.endRow,l=Number.isNaN(t.startColumn)?0:t.startColumn,u=Number.isNaN(t.endColumn)?ph-1:t.endColumn,c=Math.abs(i+a-l-u),d=Math.abs(i-a)+Math.abs(l-u),h=Math.abs(r+n-o-s),m=Math.abs(r-n)+Math.abs(o-s);return c<=d&&h<=m}static doAnyRangesIntersect(e,t){let r=new Xs;return r.load(e.map(e=>({minX:e.startColumn,minY:e.startRow,maxX:e.endColumn,maxY:e.endRow}))),t.some(e=>r.search({minX:e.startColumn,minY:e.startRow,maxX:e.endColumn,maxY:e.endRow}).length>0)}static getIntersects(e,t){let r,n,i,a,o=e.startRow,s=e.endRow,l=e.startColumn,u=e.endColumn,c=t.startRow,d=t.endRow,h=t.startColumn,m=t.endColumn;return c<=s?(n=c>=o?c:o,d>=o?(a=d>=s?s:d,h<=u?(r=h>l?h:l,m>=l?(i=m>=u?u:m,{startRow:n,endRow:a,startColumn:r,endColumn:i,rangeType:pd.NORMAL}):null):null):null):null}static contains(e,t){return e.startRow<=t.startRow&&e.endRow>=t.endRow&&e.startColumn<=t.startColumn&&e.endColumn>=t.endColumn}static realContain(t,r){return e.contains(t,r)&&(t.startRowr.endRow||t.startColumnr.endColumn)}static union(...e){return e.reduce((e,t)=>({startRow:Math.min(e.startRow,t.startRow),startColumn:Math.min(e.startColumn,t.startColumn),endRow:Math.max(e.endRow,t.endRow),endColumn:Math.max(e.endColumn,t.endColumn),rangeType:pd.NORMAL}),e[0])}static realUnion(...t){let r=t.some(e=>e.rangeType===pd.COLUMN),n=t.some(e=>e.rangeType===pd.ROW),i=e.union(...t);return{startColumn:n?NaN:i.startColumn,endColumn:n?NaN:i.endColumn,startRow:r?NaN:i.startRow,endRow:r?NaN:i.endRow,rangeType:n?pd.ROW:r?pd.COLUMN:pd.NORMAL}}static subtract(e,t){if(t.startRow>e.endRow||t.endRowe.endColumn||t.endColumn=e.startRow&&r.push({startRow:e.startRow,startColumn:e.startColumn,endRow:t.startRow-1,endColumn:e.endColumn}),t.endRow<=e.endRow&&r.push({startRow:t.endRow+1,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn});let n=Math.max(e.startRow,t.startRow),i=Math.min(e.endRow,t.endRow);return t.startColumn>=e.startColumn&&r.push({startRow:n,startColumn:e.startColumn,endRow:i,endColumn:t.startColumn-1}),t.endColumn<=e.endColumn&&r.push({startRow:n,startColumn:t.endColumn+1,endRow:i,endColumn:e.endColumn}),r.filter(e=>e.startRow<=e.endRow&&e.startColumn<=e.endColumn)}static mergeRanges(e){return function(e){return function(e){e.sort((e,t)=>e.startColumn-t.startColumn||e.startRow-t.startRow);let t={};for(let r of e)t[r.startColumn]||(t[r.startColumn]=[]),t[r.startColumn].push(r);let r=[];for(let e in t){let n=t[+e];n.sort((e,t)=>e.startRow-t.startRow);let i=n[0];for(let e=1;ee.startRow-t.startRow||e.startColumn-t.startColumn);let t={};for(let r of e)t[r.startRow]||(t[r.startRow]=[]),t[r.startRow].push(r);let r=[];for(let e in t){let n=t[+e];n.sort((e,t)=>e.startColumn-t.startColumn);let i=n[0];for(let e=1;e{r=function(e,t){let r=[];return e.forEach(e=>{r.push(...Oh.subtract(e,t))}),Oh.mergeRanges(r)}(r,e)}),r}static hasIntersectionBetweenTwoRect(e,t){return!(e.left>t.right||e.rightt.bottom||e.bottome.startRow-t.startRow||e.startColumn-t.startColumn)}};function Lh(e,t){if(0===e.length||0===e[0].length)return null;let r=Array(e[0].length).fill(0),n=0,i=null;for(let a=0;an&&(n=o.area,i={startColumn:o.start,startRow:a-o.height+1,endColumn:o.end,endRow:a})}return i}function kh(e){let t=[],r=0,n={area:0,height:0,start:0,end:0},i=0;for(;i=e[t[t.length-1]])t.push(i++);else{let a=e[t.pop()],o=0===t.length?i:i-t[t.length-1]-1;a*o>r&&(r=a*o,n={area:r,height:a,start:0===t.length?0:t[t.length-1]+1,end:i-1})}for(;t.length>0;){let a=e[t.pop()],o=0===t.length?i:i-t[t.length-1]-1;a*o>r&&(r=a*o,n={area:r,height:a,start:0===t.length?0:t[t.length-1]+1,end:i-1})}return n}function Ph(e,t){Sh.foreach(t,(t,r)=>{e[t][r]=void 0})}function Dh(e,t){let r=e.toFullArray(),n=[];for(;;){let e=Lh(r,t);if(!e)break;n.push(e),Ph(r,e)}return n}Bl(Oh,"getRelativeRange",(e,t)=>({startRow:e.startRow-t.startRow,endRow:e.endRow-e.startRow,startColumn:e.startColumn-t.startColumn,endColumn:e.endColumn-e.startColumn})),Bl(Oh,"getPositionRange",(e,t,r)=>({...r||{},startRow:r&&[vd.ROW,vd.ALL].includes(r.startAbsoluteRefType||0)?r.startRow:e.startRow+t.startRow,endRow:r&&[vd.ROW,vd.ALL].includes(r.endAbsoluteRefType||0)?r.endRow:e.endRow+e.startRow+t.startRow,startColumn:r&&[vd.COLUMN,vd.ALL].includes(r.startAbsoluteRefType||0)?r.startColumn:e.startColumn+t.startColumn,endColumn:r&&[vd.COLUMN,vd.ALL].includes(r.endAbsoluteRefType||0)?r.endColumn:e.endColumn+e.startColumn+t.startColumn})),Bl(Oh,"moveHorizontal",(e,t=0,r=0)=>({...e,startColumn:e.startColumn+t,endColumn:e.endColumn+t+r})),Bl(Oh,"moveVertical",(e,t=0,r=0)=>({...e,startRow:e.startRow+t,endRow:e.endRow+t+r})),Bl(Oh,"moveOffset",(e,t,r)=>{let n={...e};switch(e.startAbsoluteRefType){case vd.ROW:n.startColumn+=t;break;case vd.COLUMN:n.startRow+=r;break;case vd.ALL:break;case vd.NONE:default:n.startRow+=r,n.startColumn+=t}switch(e.endAbsoluteRefType){case vd.ROW:n.endColumn+=t;break;case vd.COLUMN:n.endRow+=r;break;case vd.ALL:break;case vd.NONE:default:n.endRow+=r,n.endColumn+=t}return n});var Uh=class{constructor(e,t){Bl(this,"_values",[]),Bl(this,"_keys",[]),Bl(this,"_keyMaps",new Map),this._values=e,this._keys=t,e.forEach(e=>{this._initKeyMap(e)})}_initKeyMap(e){this._keys.forEach(t=>{let r=e[t],n=this._keyMaps.get(t)||new Map;n.set(r,e),this._keyMaps.set(t,n)})}getValue(e,t){let r=t||this._keys;for(let t=0;t{let t=this._keyMaps.get(e),n=r[e];null==t||t.delete(n)});let e=this._values.findIndex(e=>e===r);this._values.splice(e,1)}}getValues(){return this._values}getKeyMap(e){var t;return[...(null==(t=this._keyMaps.get(e))?void 0:t.keys())||[]]}clear(){this._values=[],this._keys=[],this._keyMaps.clear()}};function Bh(e,t,r,n){return{forEach(i){for(let a=e;a<=t;a++)for(let e=r;e<=n;e++)i(a,e)}}}function Vh(e){let t="";for(;e>=0;)t=String.fromCharCode(e%26+65)+t,e=Math.floor(e/26)-1;return t}function Fh(e,t=!1){let r=97;return t&&(r=65),function(e,t){let r="";for(;t>0;)r+=e,t--;return r}(String.fromCharCode(e%26+r),Math.floor(e/26)+1)}function jh(e,t){return e.zIndex>t.zIndex?1:e.zIndex===t.zIndex?0:-1}function Hh(e,t){return e.zIndex>t.zIndex?-1:e.zIndex===t.zIndex?0:1}function Wh(e="index",t=1){return(r,n)=>r[e]>n[e]?t:r[e]===n[e]?0:-t}function zh(e,t=!1){let r=[];for(let n of e){let{st:e,ed:i,ts:a}=n;if(void 0===n.sId&&delete n.sId,e===i||!t&&uu.isEmptyObject(a)&&null==n.sId)continue;if(0===r.length){r.push(n);continue}let o=r.pop();Yd(n,o)&&uu.hasIntersectionBetweenTwoRanges(o.st,o.ed,n.st,n.ed)?r.push({...n,st:o.st,ed:i}):r.push(o,n)}return r}function Xh(e,t,r,n){var i;let{textRuns:a}=e;if(null==a)return;let o=[],s=a.length,l=!1,u=null==(i=t.textRuns)?[]:i;if(u.length)for(let e of u)e.st+=n,e.ed+=n;for(let e=0;ei&&n=n&&(t.startIndex+=r),-1===s&&a>=n&&(s=e),o.push(t.startIndex)}let l=-1;if(a){for(let e=0,t=a.length;e=n&&(t.startIndex+=r)}let a=t.sectionBreaks;if(a){for(let e=0,t=a.length;e=n&&(t.startIndex+=r)}let a=t.customBlocks;if(a){for(let e=0,t=a.length;en?(t.startIndex+=r,t.endIndex+=r):o>n&&(t.endIndex+=r)}let a=t.tables;if(a){for(let e=0,t=a.length;ee.split("$")[0];function Kh(e){if(e.length<=1)return e;e.sort((e,t)=>e.startIndex-t.startIndex);let t=[],r={...e[0]};r.rangeId=Zh(r.rangeId);for(let n=1;n=i.startIndex?r.endIndex=i.endIndex:(t.push(r),r={...i})}t.push(r);let n=Object.create(null);for(let e=0,r=t.length;ee.startIndex=t),n=e[r];n&&e.splice(r,1,{rangeId:n.rangeId,rangeType:n.rangeType,startIndex:n.startIndex,endIndex:t-1,properties:{...n.properties}},{rangeId:n.rangeId,rangeType:n.rangeType,startIndex:t,endIndex:n.endIndex,properties:{...n.properties}})}function Jh(e){if(e.length<=1)return e;e.sort((e,t)=>e.startIndex-t.startIndex);let t=[],r={...e[0]};for(let n=1;n=i.startIndex?r.endIndex=i.endIndex:(t.push(r),r={...i})}return t.push(r),t}function em(e,t){e.filter(e=>e.startIndex=t).forEach(r=>{let n=e.indexOf(r);e.splice(n,1,{id:r.id,type:r.type,startIndex:r.startIndex,endIndex:t-1},{id:r.id,type:r.type,startIndex:t,endIndex:r.endIndex})})}function tm(e,t,r){let{textRuns:n}=e,i=r,a=r+t,o=[];if(n){let r=[];for(let e=0,s=n.length;e=u?o.push({...s,st:l-i,ed:u-i}):(l<=i&&u>=a?(o.push({...s,st:i-i,ed:a-i}),s.ed-=t):i>=l&&il&&a<=u?(o.push({...s,st:l-i,ed:a-i}),s.st=a-t,s.ed-=t):l>=a&&(s.st-=t,s.ed-=t),r.push(s))}e.textRuns=r}return 0===o.length&&o.push({st:0,ed:t,ts:{}}),o}function rm(e,t,r){let{paragraphs:n}=e,i=r,a=r+t,o=[],s=null,l=!1;if(n){let u=[];for(let e=0,c=n.length;e=i&&d=a&&(c.startIndex-=t),u.push(c),null==s&&l&&(s=c))}e.paragraphs=u}return o}function nm(e,t,r){let{sectionBreaks:n}=e,i=r,a=r+t-1,o=[];if(n){let s=[];for(let e=0,l=n.length;e=i&&u<=a?o.push({...l,startIndex:u-r}):(u>a&&(l.startIndex-=t),s.push(l))}e.sectionBreaks=s}return o}function im(e,t,r){let{customBlocks:n=[]}=e,i=r,a=r+t-1,o=[];if(n){let s=[];for(let e=0,l=n.length;e=i&&u<=a?o.push({...l,startIndex:u-r}):(u>a&&(l.startIndex-=t),s.push(l))}e.customBlocks=s}return n.length&&!e.customBlocks&&(e.customBlocks=n),o}function am(e,t,r){let{tables:n}=e,i=r,a=r+t-1,o=[];if(n){let s=[];for(let e=0,l=n.length;e=c)o.push({...l,startIndex:u-r,endIndex:c-r});else{if(u<=i&&c>=a){let e=Qd(u,c,i,a);if(0===e.length||(l.startIndex=e[0],l.endIndex=e[1],l.startIndex===l.endIndex))continue}else a[...e,...e,...e].map((e,t)=>({glyphFormat:` %${t+1}`,glyphSymbol:e,bulletAlignment:zu.START,textStyle:{fs:12},startNumber:0,paragraphProperties:{hanging:{v:21},indentStart:{v:21*t}}})),cm=e=>e.map((e,t)=>({...e,bulletAlignment:zu.START,textStyle:{fs:12},startNumber:0,paragraphProperties:{hanging:{v:21},indentStart:{v:21*t}}})),dm=(e,t)=>Array(9).fill(0).map((r,n)=>({glyphFormat:` %${n+1}`,glyphSymbol:e,bulletAlignment:zu.START,textStyle:{fs:16},startNumber:0,paragraphProperties:{hanging:{v:21},indentStart:{v:21*n},textStyle:t}})),hm={[sm.BULLET_LIST]:{listType:sm.BULLET_LIST,nestingLevel:um(["●","○","■"])},[sm.BULLET_LIST_1]:{listType:sm.BULLET_LIST,nestingLevel:um(["❖","➢","■"])},[sm.BULLET_LIST_2]:{listType:sm.BULLET_LIST,nestingLevel:um(["✔","●","◆"])},[sm.BULLET_LIST_3]:{listType:sm.BULLET_LIST,nestingLevel:um(["■","◆","○"])},[sm.BULLET_LIST_4]:{listType:sm.BULLET_LIST,nestingLevel:um(["✧","○","■"])},[sm.BULLET_LIST_5]:{listType:sm.BULLET_LIST,nestingLevel:um(["➢","○","◆"])},[sm.ORDER_LIST]:{listType:sm.ORDER_LIST,nestingLevel:cm([{glyphFormat:"%1.",glyphType:Wu.DECIMAL},{glyphFormat:"%2.",glyphType:Wu.LOWER_LETTER},{glyphFormat:"%3.",glyphType:Wu.LOWER_ROMAN},{glyphFormat:"%4.",glyphType:Wu.DECIMAL},{glyphFormat:"%5.",glyphType:Wu.LOWER_LETTER},{glyphFormat:"%6.",glyphType:Wu.LOWER_ROMAN},{glyphFormat:"%7.",glyphType:Wu.DECIMAL},{glyphFormat:"%8.",glyphType:Wu.LOWER_LETTER},{glyphFormat:"%9.",glyphType:Wu.LOWER_ROMAN}])},[sm.ORDER_LIST_1]:{listType:sm.ORDER_LIST,nestingLevel:cm([{glyphFormat:"%1)",glyphType:Wu.DECIMAL},{glyphFormat:"%2)",glyphType:Wu.LOWER_LETTER},{glyphFormat:"%3)",glyphType:Wu.LOWER_ROMAN},{glyphFormat:"%4)",glyphType:Wu.DECIMAL},{glyphFormat:"%5)",glyphType:Wu.LOWER_LETTER},{glyphFormat:"%6)",glyphType:Wu.LOWER_ROMAN},{glyphFormat:"%7)",glyphType:Wu.DECIMAL},{glyphFormat:"%8)",glyphType:Wu.LOWER_LETTER},{glyphFormat:"%9)",glyphType:Wu.LOWER_ROMAN}])},[sm.ORDER_LIST_2]:{listType:sm.ORDER_LIST,nestingLevel:cm(["%1.","%1.%2.","%1.%2.%3.","%1.%2.%3.%4.","%1.%2.%3.%4.%5.","%1.%2.%3.%4.%5.%6.","%1.%2.%3.%4.%5.%6.%7."].map(e=>({glyphFormat:e,glyphType:Wu.DECIMAL})))},[sm.ORDER_LIST_3]:{listType:sm.ORDER_LIST,nestingLevel:cm([{glyphFormat:"%1.",glyphType:Wu.UPPER_LETTER},{glyphFormat:"%2.",glyphType:Wu.LOWER_LETTER},{glyphFormat:"%3.",glyphType:Wu.LOWER_ROMAN},{glyphFormat:"%4.",glyphType:Wu.UPPER_LETTER},{glyphFormat:"%5.",glyphType:Wu.LOWER_LETTER},{glyphFormat:"%6.",glyphType:Wu.LOWER_ROMAN},{glyphFormat:"%7.",glyphType:Wu.UPPER_LETTER},{glyphFormat:"%8.",glyphType:Wu.LOWER_LETTER},{glyphFormat:"%9.",glyphType:Wu.LOWER_ROMAN}])},[sm.ORDER_LIST_4]:{listType:sm.ORDER_LIST,nestingLevel:cm([{glyphFormat:"%1.",glyphType:Wu.UPPER_LETTER},{glyphFormat:"%2.",glyphType:Wu.DECIMAL},{glyphFormat:"%3.",glyphType:Wu.LOWER_ROMAN},{glyphFormat:"%4.",glyphType:Wu.UPPER_LETTER},{glyphFormat:"%5.",glyphType:Wu.DECIMAL},{glyphFormat:"%6.",glyphType:Wu.LOWER_ROMAN},{glyphFormat:"%7.",glyphType:Wu.UPPER_LETTER},{glyphFormat:"%8.",glyphType:Wu.DECIMAL},{glyphFormat:"%9.",glyphType:Wu.LOWER_ROMAN}])},[sm.ORDER_LIST_5]:{listType:sm.ORDER_LIST,nestingLevel:cm([{glyphFormat:"%1.",glyphType:Wu.DECIMAL_ZERO},{glyphFormat:"%2.",glyphType:Wu.LOWER_LETTER},{glyphFormat:"%3.",glyphType:Wu.LOWER_ROMAN},{glyphFormat:"%4.",glyphType:Wu.DECIMAL_ZERO},{glyphFormat:"%5.",glyphType:Wu.LOWER_LETTER},{glyphFormat:"%6.",glyphType:Wu.LOWER_ROMAN},{glyphFormat:"%7.",glyphType:Wu.DECIMAL_ZERO},{glyphFormat:"%8.",glyphType:Wu.LOWER_LETTER},{glyphFormat:"%9.",glyphType:Wu.LOWER_ROMAN}])},[sm.CHECK_LIST]:{listType:sm.CHECK_LIST,nestingLevel:dm("☐")},[sm.CHECK_LIST_CHECKED]:{listType:sm.CHECK_LIST_CHECKED,nestingLevel:dm("☑",{st:{s:Vu.TRUE}})}},mm=e=>{let{glyphFormat:t,glyphType:r}=e,n=uu.deepClone(hm[sm.ORDER_LIST]);return n.nestingLevel[0].glyphFormat=t,n.nestingLevel[0].glyphType=r,n},fm={[sm.ORDER_LIST_QUICK_2]:mm(lm[om.ORDER_LIST_QUICK_2]),[sm.ORDER_LIST_QUICK_3]:mm(lm[om.ORDER_LIST_QUICK_3]),[sm.ORDER_LIST_QUICK_4]:mm(lm[om.ORDER_LIST_QUICK_4]),[sm.ORDER_LIST_QUICK_6]:mm(lm[om.ORDER_LIST_QUICK_6])};Object.assign(hm,fm);const gm={[om.ORDER_LIST_QUICK_1]:sm.ORDER_LIST,[om.ORDER_LIST_QUICK_2]:sm.ORDER_LIST_QUICK_2,[om.ORDER_LIST_QUICK_3]:sm.ORDER_LIST_QUICK_3,[om.ORDER_LIST_QUICK_4]:sm.ORDER_LIST_QUICK_4,[om.ORDER_LIST_QUICK_5]:sm.ORDER_LIST_3,[om.ORDER_LIST_QUICK_6]:sm.ORDER_LIST_QUICK_6,[om.ORDER_LIST_QUICK_7]:sm.ORDER_LIST_5,[om.BULLET_LIST]:sm.BULLET_LIST};function pm(e,t,r,n,i){let{textRuns:a}=e,{textRuns:o}=t;if(null==a||null==o)return;let s=tm(e,r,n);return i!==Rc.REPLACE&&(t.textRuns=vm(o,s,i)),Xh(e,t,r,n),s}function vm(e,t,r){if(0===t.length)return e;e=uu.deepClone(e),t=uu.deepClone(t);let n=[],i=e.length,a=t.length,o=0,s=0,l=null;function u(){return!!l&&(n.push(l),l=null,!0)}for(;or.st&&n.push(r),n.push({st:Math.max(a,h),ed:Math.min(c,m),ts:i,sId:g}),cu.st?u:null}}u();let c=n[n.length-1],d=e[i-1],h=t[a-1];return c&&c.ed!==Math.max(d.ed,h.ed)&&(d.ed>h.ed?n.push(d):n.push(h)),zh(n)}function bm(e,t,r,n,i){let{paragraphs:a}=e,{paragraphs:o}=t;if(null==a||null==o)return;let s=rm(e,r,n);if(i!==Rc.REPLACE){let e=[];for(let t of o){let{startIndex:r,paragraphStyle:n,bullet:a}=t,o=[];for(let e of s){let t,s,{startIndex:l,paragraphStyle:u,bullet:c}=e;if(i===Rc.COVER?(t={...u,...n},s={listId:"",listType:sm.BULLET_LIST,nestingLevel:0,textStyle:{},...c,...a}):(t={...n,...u},s={listId:"",listType:sm.BULLET_LIST,nestingLevel:0,textStyle:{},...a,...c}),r===l){o.push({startIndex:r,paragraphStyle:t,bullet:s});break}}e.push(...o),o=[]}t.paragraphs=e}return qh(e,t,r,n),s}function Cm(e,t,r,n,i){let{sectionBreaks:a}=e,{sectionBreaks:o}=t;if(null==a||null==o)return;let s=nm(e,r,n);if(i!==Rc.REPLACE){let e=[];for(let t of o){let{startIndex:r}=t,n=[];for(let e of s){let{startIndex:a}=e;if(r===a){i===Rc.COVER?n.push({...e,...t}):n.push({...t,...e});break}}e.push(...n),n=[]}t.sectionBreaks=e}return Gh(e,t,r,n),s}function ym(e,t,r,n,i){let{customBlocks:a=[]}=e,{customBlocks:o}=t;if(null==a||null==o)return;let s=im(e,r,n);if(i!==Rc.REPLACE){let e=[];for(let t of o){let{startIndex:r}=t,n=[];for(let e of s){let{startIndex:a}=e;if(r===a){i===Rc.COVER?n.push({...e,...t}):n.push({...t,...e});break}}e.push(...n),n=[]}t.customBlocks=e}return Yh(e,t,r,n),a.length&&!e.customBlocks&&(e.customBlocks=a),s}function _m(e,t,r,n,i){let{tables:a}=e,{tables:o}=t;if(null==a||null==o)return;let s=am(e,r,n);if(i!==Rc.REPLACE){let e=[];for(let t of o){let{startIndex:r,endIndex:n}=t,a=[];for(let e of s){let{startIndex:o,endIndex:s}=e;if(o>=r&&s<=n){i===Rc.COVER?a.push({...e,...t}):a.push({...t,...e});break}}e.push(...a),a=[]}t.tables=e}return Qh(e,t,r,n),s}function wm(e,t,r,n,i){e.customRanges||(e.customRanges=[]),$h(e.customRanges,n),$h(e.customRanges,n+r);let a=n,o=n+r-1,{customRanges:s}=t,l=[],u=new Map;return e.customRanges.forEach(e=>{let{startIndex:t,endIndex:r}=e;t>=a&&r<=o?u.set(e.rangeId,e):l.push(e)}),s?(s.forEach(e=>{let{startIndex:t,endIndex:r}=e;l.push({...e,startIndex:t+n,endIndex:r+n})}),e.customRanges=Kh(l),[]):[]}function Em(e,t,r,n,i){e.customDecorations||(e.customDecorations=[]),em(e.customDecorations,n),em(e.customDecorations,n+r);let a=[],{customDecorations:o}=e,{customDecorations:s=[]}=t;if(i===Rc.REPLACE){for(let e=0;e=n&&s<=n+r-1&&a.push(t)}s.forEach(e=>{let{startIndex:t,endIndex:r}=e;o.push({...e,startIndex:t+n,endIndex:r+n})})}else for(let e of s){let{id:t}=e;if(e.type===qu.DELETED){let e=o.filter(e=>e.id===t);e.length&&a.push(...e)}else o.push({...e,startIndex:e.startIndex+n,endIndex:e.endIndex+n})}for(let e of a){let{id:t}=e,r=o.findIndex(e=>e.id===t);-1!==r&&o.splice(r,1)}return e.customDecorations=Jh(o),a}let Sm=function(e){return e[e.copy=0]="copy",e[e.cut=1]="cut",e}({});function Am(e,t,r,n=!0){let{textRuns:i}=e;if(i){let e=[];for(let n of i){let i=uu.deepClone(n),{st:a,ed:o}=i;uu.hasIntersectionBetweenTwoRanges(a,o,t,r)&&(t>=a&&t<=o?e.push({...i,st:t,ed:Math.min(r,o)}):r>=a&&r<=o?e.push({...i,st:Math.max(t,a),ed:r}):e.push(i))}return zh(e.map(e=>{let{st:r,ed:n}=e;return{...e,st:r-t,ed:n-t}}))}if(n)return[{st:0,ed:r-t,ts:{}}]}function Im(e,t,r,n=!0,i=Sm.cut){let{dataStream:a}=e,o={dataStream:a.slice(t,r)};o.textRuns=Am(e,t,r,n);let s=function(e,t,r){let{tables:n=[]}=e,i=[];for(let e of n){let n=uu.deepClone(e),{startIndex:a,endIndex:o}=n;a>=t&&o<=r&&i.push({...n,startIndex:a-t,endIndex:o-t})}return i}(e,t,r);if(s.length&&(o.tables=s),o.paragraphs=function(e,t,r){let{paragraphs:n=[]}=e,i=[];for(let e of n){let{startIndex:n}=e;if(n>=t&&n({...e,startIndex:e.startIndex-t}))}(e,t,r),i===Sm.cut){let i=function(e,t,r){if(null==e.customDecorations)return;let{customDecorations:n=[]}=e,i=[];return n.forEach(e=>{if(Math.max(e.startIndex,t)<=Math.min(e.endIndex,r-1)){let n=uu.deepClone(e);i.push({...n,startIndex:Math.max(n.startIndex-t,0),endIndex:Math.min(n.endIndex,r-1)-t})}}),i}(e,t,r);i?o.customDecorations=i:n&&(o.customDecorations=[])}let{customRanges:l}=function(e,t,r){if(null==e.customRanges)return{};let{customRanges:n}=e;return{customRanges:n.filter(e=>Math.max(e.startIndex,t)<=Math.min(e.endIndex,r-1)).map(e=>({...e,startIndex:Math.max(e.startIndex,t),endIndex:Math.min(e.endIndex,r-1)})).map(e=>({...e,startIndex:e.startIndex-t,endIndex:e.endIndex-t})),leftOffset:0,rightOffset:0}}(e,t,r);return l?o.customRanges=l:n&&(o.customRanges=[]),o.customBlocks=function(e,t,r){let{customBlocks:n=[]}=e,i=[];for(let e of n){let{startIndex:n}=e;n>=t&&n({...e,startIndex:e.startIndex-t}))}(e,t,r),o}function Rm(e,t,r=Rc.COVER){if(""!==t.dataStream)throw Error("Cannot compose other body with non-empty dataStream");let n={dataStream:e.dataStream},{textRuns:i,paragraphs:a=[],customRanges:o,customDecorations:s=[]}=e,{textRuns:l,paragraphs:u=[],customRanges:c,customDecorations:d=[]}=t;n.textRuns=function(e,t,r){return null==e||null==t?null==e?t:e:vm(e,t,r)}(l,i,r),n.customRanges=function(e,t,r){if(null==e||null==t)return null==e?t:e;if(0===t.length||0===e.length)return e;if(t.length>1||e.length>1)throw Error("Cannot cover multiple customRanges");return r===Rc.REPLACE?[{...e[0]}]:[{...t[0],...e[0]}]}(c,o,r);let h=function(e,t,r){return 0===t.length||0===e.length||r===Rc.REPLACE?e:[...e,...t.filter(t=>!e.some(e=>t.id===e.id))]}(d,s,r);h.length&&(n.customDecorations=h);let m=[],f=0,g=0;for(;f=n-r?(e=n-r,this._index+=1,this._offset=0):this._offset+=e,t.t===xc.DELETE||t.t===xc.RETAIN&&null==t.body?uu.deepClone({...t,len:e}):uu.deepClone({...t,len:e,body:Im(t.body,r,r+e,!1)})}return{t:xc.RETAIN,len:1/0}}peek(){return this._actions[this._index]}peekLength(){return this._actions[this._index]?this._actions[this._index].len-this._offset:1/0}peekType(){let e=this._actions[this._index];return e?e.t:xc.RETAIN}rest(){if(!this.hasNext())return[];if(0===this._offset)return this._actions.slice(this._index);{let e=this._offset,t=this._index,r=this.next(),n=this._actions.slice(this._index);return this._offset=e,this._index=t,[r].concat(n)}}};function Nm(e,t){let r=new Gl;return r.reset(),t.forEach(t=>{let n=uu.deepClone(t);switch(n.t){case xc.RETAIN:{let{coverType:t,body:i,len:a}=n;null!=i&&function(e,t,r,n,i=Rc.COVER){(function(e,t,r,n,i){pm(e,t,r,n,i),bm(e,t,r,n,i),Cm(e,t,r,n,i),ym(e,t,r,n,i),_m(e,t,r,n,i),wm(e,t,r,n),Em(e,t,r,n,i)})(e,t,r,n,i)}(e,i,a,r.cursor,t),r.moveCursor(a);break}case xc.INSERT:{let{body:t,len:i}=n;(function(e,t,r,n){0!==r&&function(e,t,r,n){e.dataStream=Zd(e.dataStream,n,t.dataStream),Xh(e,t,r,n),qh(e,t,r,n),Gh(e,t,r,n),Yh(e,t,r,n),Qh(e,t,r,n),function(e,t,r,n){e.customRanges||(e.customRanges=[]);let{customRanges:i}=e;$h(i,n);for(let e=0,t=i.length;e=n&&(t.startIndex+=r,t.endIndex+=r)}let a=[];if(t.customRanges){for(let e=0,r=t.customRanges.length;e=n&&(t.startIndex+=r,t.endIndex+=r)}let a=[];if(t.customDecorations){for(let e=0,r=t.customDecorations.length;e=i&&u<=a)o.push(s);else{if(Math.max(i,l)<=Math.min(a,u)){let e=Qd(l,u,i,a);if(0===e.length)continue;s.startIndex=e[0],s.endIndex=e[1]}else a=a&&c<=o)s.push(l);else{if(Math.max(a,u)<=Math.min(o,c)){let e=Qd(u,c,a,o);if(0===e.length)continue;l.startIndex=e[0],l.endIndex=e[1]}else or.st&&a.push(),a.push({st:Math.max(o,m),ed:Math.min(s,f),ts:v,sId:p}),sn.st?n:null}}d();let h=a[a.length-1],m=t[o-1],f=e[s-1];return h.ed!==Math.max(m.ed,f.ed)&&(m.ed>f.ed?a.push(m):a.push(f)),zh(a,!0)}(u,m,i,o,r?Mm.COVER_ONLY_NOT_EXISTED:Mm.COVER);v&&(s.textRuns=v);let b=function(e,t,r,n,i){if(null==e||null==t)return t;if(0===e.length||0===t.length)return[];if(e.length>1||t.length>1)throw Error("CustomRanges is only supported transform for length one now.");let a=e[0],o=t[0];if(r===Rc.REPLACE)return i===Mm.COVER_ONLY_NOT_EXISTED?[uu.deepClone(a)]:[uu.deepClone(o)];if(n===Rc.REPLACE){let e=uu.deepClone(o);return i===Mm.COVER_ONLY_NOT_EXISTED&&Object.assign(e,uu.deepClone(a)),[e]}{let e=uu.deepClone(o);return i===Mm.COVER_ONLY_NOT_EXISTED&&Object.assign(e,uu.deepClone(a)),[e]}}(d,g,i,o,r?Mm.COVER_ONLY_NOT_EXISTED:Mm.COVER);b&&(s.customRanges=b);let C=function(e,t){if(null==e||null==t)return t;if(0===e.length||0===t.length)return uu.deepClone(t);let r=[];for(let n of t){let{id:t,type:i}=n,a=!1;for(let o of e)if(o.id===t){(o.type===qu.DELETED||i===qu.DELETED)&&(a=!0,r.push({...n,type:qu.DELETED}));break}a||r.push(n)}return r}(h,p);C&&(s.customDecorations=C);let y=[],_=0,w=0;for(;_1){for(let t of e)this.push(t);return this}let t=this._actions.length,r=this._actions[t-1],n=uu.deepClone(e[0]);if(n.t===xc.RETAIN&&0===n.len&&null==n.body)return this;if("object"==typeof r){if(r.t===xc.DELETE&&n.t===xc.DELETE)return r.len+=n.len,this;if(r.t===xc.DELETE&&n.t===xc.INSERT&&(--t,r=this._actions[t-1],null==r))return this._actions.unshift(n),this;if(r.t===xc.RETAIN&&n.t===xc.RETAIN&&null==r.body&&null==n.body)return r.len+=n.len,this;if(r.t===xc.INSERT&&km(r.body)&&n.t===xc.INSERT&&km(n.body))return r.len+=n.len,r.body.dataStream+=n.body.dataStream,this}return t===this._actions.length?this._actions.push(n):this._actions.splice(t,0,n),this}trimEndUselessRetainAction(){let e=this._actions[this._actions.length-1];for(;e&&e.t===xc.RETAIN&&xm(e);)this._actions.pop(),e=this._actions[this._actions.length-1];return this}};Bl(Pm,"id","text-x"),Bl(Pm,"uri","https://github.com/dream-num/univer#text-x"),Object.defineProperty(Pm,"name",{value:"text-x"});var Dm=class e{static registerSubtype(e){var t;null==e||this._subTypes.has(e.name)&&(null==(t=this._subTypes.get(e.name))?void 0:t.id)!==Pm.id||(this._subTypes.set(e.name,e),ji.type.registerSubtype(e))}static apply(e,t){if(!ji.type.isNoop(t))return ji.type.apply(e,t)}static compose(e,t){return ji.type.compose(e,t)}static transform(e,t,r){return ji.type.transform(e,t,r)}static transformPosition(e,t,r="right"){return e&&2===e.length&&"body"===e[0]&&e[1].et===Pm.name?Pm.transformPosition(e[1].e,t,"left"===r):t}static invertWithDoc(e,t){return ji.type.invertWithDoc(e,t)}static isNoop(e){return ji.type.isNoop(e)}static getInstance(){return null==this._instance&&(this._instance=new e),this._instance}removeOp(e,t){return ji.removeOp(e,t)}moveOp(e,t){return ji.moveOp(e,t)}insertOp(e,t){return ji.insertOp(e,t)}replaceOp(e,t,r){return ji.replaceOp(e,t,r)}editOp(e,t=["body"]){return ji.editOp(t,Pm.name,e)}};Bl(Dm,"uri","https://github.com/dream-num/univer#json-x"),Bl(Dm,"_subTypes",new Map),Bl(Dm,"_instance",null),Dm.registerSubtype(Pm);let Um=function(e){return e.PARAGRAPH="PARAGRAPH",e.SECTION_BREAK="SECTION_BREAK",e.TABLE="TABLE",e.TABLE_ROW="TABLE_ROW",e.TABLE_CELL="TABLE_CELL",e.CUSTOM_BLOCK="CUSTOM_BLOCK",e}({}),Bm=function(e){return e.PARAGRAPH="\r",e.SECTION_BREAK="\n",e.TABLE_START="",e.TABLE_ROW_START="",e.TABLE_CELL_START="",e.TABLE_CELL_END="",e.TABLE_ROW_END="",e.TABLE_END="",e.CUSTOM_RANGE_START="",e.CUSTOM_RANGE_END="",e.COLUMN_BREAK="\v",e.PAGE_BREAK="\f",e.DOCS_END="\0",e.TAB="\t",e.CUSTOM_BLOCK="\b",e.LETTER="",e.SPACE=" ",e}({});const Vm=[Bm.TABLE_START,Bm.TABLE_ROW_START,Bm.TABLE_CELL_START,Bm.TABLE_CELL_END,Bm.TABLE_ROW_END,Bm.TABLE_END],Fm=e=>{let t=e.endsWith("\r\n")?e.slice(0,-2):e;return Vm.reduce((e,t)=>e.replaceAll(t,""),t)},jm={id:"default_doc",documentStyle:{}};var Hm=class extends nu{getUnitId(){throw Error("Method not implemented.")}constructor(e){var t;super(),Bl(this,"type",Pi.UNIVER_DOC),Bl(this,"_name$",new Qn("")),Bl(this,"name$",this._name$.asObservable()),Bl(this,"snapshot",void 0),this.snapshot={...jm,...e},this._name$.next(null==(t=this.snapshot.title)?"No Title":t)}getRev(){var e;return null==(e=this.snapshot.rev)?1:e}incrementRev(){this.snapshot.rev=this.getRev()+1}setRev(e){this.snapshot.rev=e}setName(e){this.snapshot.title=e,this._name$.next(e)}get drawings(){return this.snapshot.drawings}get documentStyle(){return this.snapshot.documentStyle}get lists(){return this.snapshot.lists}get zoomRatio(){var e;return(null==(e=this.snapshot.settings)?void 0:e.zoomRatio)||1}resetDrawing(e,t){this.snapshot.drawings=e,this.snapshot.drawingsOrder=t}getBody(){return this.snapshot.body}getSnapshot(){return this.snapshot}getBulletPresetList(){var e;let t=null==(e=this.snapshot.lists)?{}:e;return{...hm,...t}}updateDocumentId(e){this.snapshot.id=e}updateDocumentRenderConfig(e){let{documentStyle:t}=this.snapshot;null==t.renderConfig?t.renderConfig=e:t.renderConfig={...t.renderConfig,...e}}getDocumentStyle(){return this.snapshot.documentStyle}updateDocumentStyle(e){null==this.snapshot.documentStyle?this.snapshot.documentStyle=e:this.snapshot.documentStyle={...this.snapshot.documentStyle,...e}}updateDocumentDataMargin(e){let{t,l:r,b:n,r:i}=e,{documentStyle:a}=this.snapshot;null!=t&&(a.marginTop=t),null!=r&&(a.marginLeft=r),null!=n&&(a.marginBottom=n),null!=i&&(a.marginRight=i)}updateDocumentDataPageSize(e,t){let{documentStyle:r}=this.snapshot;r.pageSize?(void 0!==e&&(r.pageSize.width=e),void 0!==t&&(r.pageSize.height=t)):r.pageSize={width:null==e?1/0:e,height:null==t?1/0:t}}updateDrawing(e,t){let{drawings:r}=this,{width:n,height:i,left:a,top:o}=t,s=null==r?void 0:r[e];if(!s)return;let l=s.docTransform;l.size.width=n,l.size.height=i,l.positionH.posOffset=a,l.positionV.posOffset=o}setZoomRatio(e=1){this.snapshot.settings?this.snapshot.settings.zoomRatio=e:this.snapshot.settings={zoomRatio:e}}setDisabled(e){this.snapshot.disabled=e}getDisabled(){return this.snapshot.disabled}getTitle(){return this.snapshot.title}},Wm=class e extends Hm{constructor(e){var t,r;super(uu.isEmptyObject(e)?function(e=cu(6),t=Iu.EN_US,r=""){return{id:e,locale:t,title:r,tableSource:{},drawings:{},drawingsOrder:[],headers:{},footers:{},body:{dataStream:"\r\n",textRuns:[],customBlocks:[],tables:[],paragraphs:[{startIndex:0,paragraphStyle:{spaceAbove:{v:5},lineSpacing:1,spaceBelow:{v:0}}}],sectionBreaks:[{startIndex:1}]},documentStyle:{pageSize:{width:595/.75,height:842/.75},documentFlavor:Yu.TRADITIONAL,marginTop:50,marginBottom:50,marginRight:50,marginLeft:50,renderConfig:{zeroWidthParagraphBreak:Vu.FALSE,vertexAngle:0,centerAngle:0,background:{rgb:"#ccc"}},autoHyphenation:Vu.TRUE,doNotHyphenateCaps:Vu.FALSE,consecutiveHyphenLimit:2,defaultHeaderId:"",defaultFooterId:"",evenPageHeaderId:"",evenPageFooterId:"",firstPageHeaderId:"",firstPageFooterId:"",evenAndOddHeaders:Vu.FALSE,useFirstPageHeaderFooter:Vu.FALSE,marginHeader:30,marginFooter:30},settings:{}}}():e),Bl(this,"_unitId",void 0),Bl(this,"headerModelMap",new Map),Bl(this,"footerModelMap",new Map),Bl(this,"change$",new Qn(0)),this._unitId=null==(t=this.snapshot.id)?cu(6):t,this._initializeHeaderFooterModel(),this._name$.next(null==(r=this.snapshot.title)?"":r)}dispose(){super.dispose(),this.headerModelMap.forEach(e=>{e.dispose()}),this.footerModelMap.forEach(e=>{e.dispose()}),this._name$.complete()}getDrawings(){return this.snapshot.drawings}getDrawingsOrder(){return this.snapshot.drawingsOrder}getCustomRanges(){var e;return null==(e=this.snapshot.body)?void 0:e.customRanges}getCustomDecorations(){var e;return null==(e=this.snapshot.body)?void 0:e.customDecorations}getSettings(){return this.snapshot.settings}reset(e){if(e.id&&e.id!==this._unitId)throw Error("Cannot reset a document model with a different unit id!");this.snapshot={...jm,...e},this._initializeHeaderFooterModel(),this.change$.next(this.change$.value+1)}getSelfOrHeaderFooterModel(e){if(null!=e){if(this.headerModelMap.has(e))return this.headerModelMap.get(e);if(this.footerModelMap.has(e))return this.footerModelMap.get(e)}return this}getUnitId(){return this._unitId}apply(e){if(!Dm.isNoop(e))return this.snapshot=Dm.apply(this.snapshot,e),null!=e&&e.some(e=>Array.isArray(e)&&("headers"===(null==e?void 0:e[0])||"footers"===(null==e?void 0:e[0])))&&(this.headerModelMap.clear(),this.footerModelMap.clear(),this._initializeHeaderFooterModel()),this.change$.next(this.change$.value+1),this.snapshot}sliceBody(e,t,r=Sm.copy){let n=this.getBody();if(null!=n)return Im(n,e,t,!1,r)}_initializeHeaderFooterModel(){let{headers:t,footers:r}=this.getSnapshot();if(t)for(let r in t){let n=t[r];this.headerModelMap.set(r,new e(n)),this.headerModelMap.get(r).updateDocumentId(this.getUnitId())}if(r)for(let t in r){let n=r[t];this.footerModelMap.set(t,new e(n)),this.footerModelMap.get(t).updateDocumentId(this.getUnitId())}}updateDocumentId(e){super.updateDocumentId(e),this._unitId=e}getPlainText(){var e,t;return Fm(null==(e=null==(t=this.getBody())?void 0:t.dataStream)?"":e)}};function zm(e,t,r,n){return e<=r&&t>=r||e>=r&&e<=n}function Xm(e,t,r,n){let i=[];for(let a=0,o=r.length;at)break}return i}function qm(e,t,r=0,n=null,i=!0){e.sort((e,t)=>e.startOffset-t.startOffset);let a=[],{paragraphs:o=[]}=t,s=null==o?void 0:o.find(t=>t.startIndex>=e[0].startOffset&&t.startIndex{let{startOffset:t,endOffset:r}=e;t>l&&(a.push({t:xc.RETAIN,len:t-l}),l=t),lt.startIndex-r>=e[e.length-1].endOffset-1);t&&(t.startIndex>l&&(a.push({t:xc.RETAIN,len:t.startIndex-l}),l=t.startIndex),a.push({t:xc.RETAIN,len:1,body:{dataStream:"",paragraphs:[{...t,startIndex:0,bullet:null==s?void 0:s.bullet}]},coverType:Rc.REPLACE}))}return a}function Gm(e,t){return!((null==e?void 0:e.length)!==(null==t?void 0:t.length)||null==e||!e.every((e,r)=>JSON.stringify(e)===JSON.stringify(null==t?void 0:t[r])))}function Ym(e,t,r,n){let{startOffset:i,endOffset:a}=e,o=null==n?Km(t,r):n,s=[],l=-1;for(let e=0;el&&i<=r||a>l&&a<=r||r>=i&&r<=a)&&s.push(t),l=r}return s}function Qm(e,t,r){let n=[],i=Km(t,r);for(let a of e){let e=Ym(a,t,r,i);n.push(...e)}return n}const Zm=[Bm.PARAGRAPH,Bm.TABLE_START,Bm.TABLE_END,Bm.TABLE_ROW_START,Bm.TABLE_CELL_START,Bm.TABLE_CELL_END];function Km(e,t){let r=[];for(let n=0;n=0;)o--;r.push({...i,paragraphStart:o+1,paragraphEnd:i.startIndex})}return r}function $m(e,t){return t.some(t=>e.startIndex>t.startIndex&&e.startIndex{var t,c,d;let h=function(e,t){var r,n,i,a,o;let s=Xm(e.startOffset,e.collapsed?e.startOffset:e.endOffset-1,null==(r=t.customRanges)?[]:r),l=Math.min(e.startOffset,null==(n=null==(i=s[0])?void 0:i.startIndex)?1/0:n),u=Math.max(e.endOffset,(null==(a=null==(o=s[s.length-1])?void 0:o.endIndex)?-1/0:a)+1);return{startOffset:l,endOffset:u,collapsed:l===u}}(e,o);if(!h||!o)return!1;let{startOffset:m,endOffset:f}=h,g=null==(t=o.customRanges)?[]:t,p=(e,t,o)=>{var u,c,d,h;let m=Xm(e,t,g,n),f=Math.min(null==(u=null==(c=m[0])?void 0:c.startIndex)?1/0:u,e),p=Math.max(null==(d=null==(h=m[m.length-1])?void 0:h.endIndex)?-1/0:d,t),v={rangeId:o?`${r}$${o}`:r,rangeType:n,startIndex:0,endIndex:p-f,wholeEntity:i,properties:{...a}};l.push({t:xc.RETAIN,len:f-s}),l.push({t:xc.RETAIN,len:p-f+1,body:{dataStream:"",customRanges:[v]},coverType:Rc.COVER}),s=p+1},v=(null==(c=o.paragraphs)?[]:c).filter(e=>e.startIndexm),b=(null==(d=o.customBlocks)?[]:d).filter(e=>e.startIndexm);(function(e,t){let r=[],n=e[0];for(let i of t)ie[1]||(ne.startIndex),...b.map(e=>e.startIndex)]).forEach(([e,t],r)=>p(e,t,r)),u=!0,l.selections=[{startOffset:h.endOffset,endOffset:h.endOffset,collapsed:!0}]}),!!u&&l},delete:function(e){var t,r;let{rangeId:n,segmentId:i,documentDataModel:a,insert:o}=e,s=null==(t=a.getSelfOrHeaderFooterModel(i).getBody())||null==(t=t.customRanges)?void 0:t.find(e=>e.rangeId===n);if(!s)return!1;let{startIndex:l,endIndex:u}=s,c=new Pm,d=u-l+1;c.push({t:xc.RETAIN,len:l}),c.push({t:xc.RETAIN,len:d,body:{dataStream:"",customRanges:[]}}),o&&c.push({t:xc.INSERT,body:o,len:o.dataStream.length});let h=u+1+(null==(r=null==o?void 0:o.dataStream.length)?0:r);return c.selections=[{startOffset:h,endOffset:h,collapsed:!0}],c},copyCustomRange:function(e){return{...uu.deepClone(e),rangeId:cu()}},getCustomRangesInterestsWithSelection:function(e,t){let r=[];for(let n=0,i=t.length;n0&&i.push({t:xc.RETAIN,len:o-a}),i.push({t:xc.RETAIN,body:{dataStream:"",customDecorations:[{id:r,type:n,startIndex:0,endIndex:s-o-1}]},len:s-o}),a=s}return i},delete:function(e){var t;let{id:r,segmentId:n,documentDataModel:i}=e,a=null==i?void 0:i.getBody();if(!i||!a)return!1;let o=null==(t=i.getSelfOrHeaderFooterModel(n))||null==(t=t.getBody())||null==(t=t.customDecorations)?void 0:t.find(e=>e.id===r);if(!o)return!1;let s=new Pm,{startIndex:l,endIndex:u}=o,c=u-l+1;return s.push({t:xc.RETAIN,len:l}),s.push({t:xc.RETAIN,len:c,body:{dataStream:"",customDecorations:[{startIndex:0,endIndex:c-1,id:r,type:qu.DELETED}]}}),s}}),Bl(Jm,"selection",{replace:e=>{var t;let{selection:r,body:n,doc:i}=e,a=r.segmentId,o=null==(t=i.getSelfOrHeaderFooterModel(a))?void 0:t.getBody();if(!o)return!1;let s=r.collapsed?null:Im(o,r.startOffset,r.endOffset),l=sl()(s?s.dataStream:"",n.dataStream),u=0,c=l.map(([e,t])=>{switch(e){case 0:{let e={t:xc.RETAIN,body:{...Im(n,u,u+t.length,!1),dataStream:""},len:t.length};return u+=t.length,e}case 1:{let e={t:xc.INSERT,body:Im(n,u,u+t.length),len:t.length};return u+=t.length,e}default:return{t:xc.DELETE,len:t.length}}}),d=new Pm;return d.push({t:xc.RETAIN,len:r.startOffset}),d.push(...c),d},makeSelection:function(e,t){if(void 0===t)return{startOffset:e,endOffset:e,collapsed:!0};if(t{var t;let{selection:r,body:n,doc:i,themeService:a}=e,o=r.segmentId,s=null==(t=i.getSelfOrHeaderFooterModel(o))?void 0:t.getBody();if(!s)return!1;let l=r.collapsed?null:Im(s,r.startOffset,r.endOffset),u=sl()(l?l.dataStream:"",n.dataStream),c=0,d=u.map(([e,t])=>{switch(e){case 0:{let e=Am(n,c,c+t.length,!1),r=Am(l,c,c+t.length,!1),i={t:xc.RETAIN,body:Gm(e,r)?void 0:{textRuns:null==e?void 0:e.map(e=>{var t,r,n,i;return{...e,ts:{...e.ts,cl:null!=(t=e.ts)&&null!=(t=t.cl)&&null!=(t=t.rgb)&&t.includes(".")?{rgb:a.getColorFromTheme(null==(r=null==(n=e.ts)||null==(n=n.cl)?void 0:n.rgb)?"":r)}:null==(i=e.ts)?void 0:i.cl}}}),dataStream:""},len:t.length};return c+=t.length,i}case 1:{let e={t:xc.INSERT,body:Im(n,c,c+t.length),len:t.length};return c+=t.length,e}default:return{t:xc.DELETE,len:t.length}}});if(d.every(e=>e.t===xc.RETAIN&&!e.body))return!1;let h=new Pm;return h.push({t:xc.RETAIN,len:r.startOffset}),h.push(...d),h},retain:function(e,t,r=0){let n=[],i=r;return e.forEach(e=>{let{startOffset:r,endOffset:a}=e;r>i&&(n.push({t:xc.RETAIN,len:r-i}),i=r),a>i&&(n.push({t:xc.RETAIN,len:a-i,body:{...uu.deepClone(t),dataStream:""}}),i=a)}),n}}),Bl(Jm,"range",{isIntersects:function(e,t,r,n){return Math.max(e,r)<=Math.min(t,n)},getParagraphsInRange:Ym,getParagraphsInRanges:Qm}),Bl(Jm,"transform",{getPlainText:Fm,fromPlainText:e=>{let t=e.replace(/\n/g,"\r"),r=[],n=[],i=0,a="",o=(o,s=!0)=>{let l=t.slice(i,o);if(uu.isLegalUrl(l)){let t=cu(),u=`${l}`,c={startIndex:i,endIndex:i+u.length-1,rangeId:t,rangeType:Xu.HYPERLINK,properties:{url:e}};n.push(c),a+=u,i=o+1,s&&(a+="\r",r.push({startIndex:o}))}else a+=t.slice(i,o+1),i=o+1,s&&r.push({startIndex:o})},s=0;for(let e=0;e!e||""===Fm(e).replaceAll("\r","")}),Bl(Jm,"paragraph",{bullet:{set:e=>{var t;let{paragraphs:r,listType:n,segmentId:i,document:a}=e;if(null==(null==(t=a.getSelfOrHeaderFooterModel(i).getBody())?void 0:t.paragraphs))return!1;let o=cu(6),s=new Gl;s.reset();let l=new Pm;for(let e of r){var u;let{startIndex:t,paragraphStyle:r={},bullet:i}=e;l.push({t:xc.RETAIN,len:t-s.cursor}),l.push({t:xc.RETAIN,len:1,body:{dataStream:"",paragraphs:[{startIndex:0,paragraphStyle:r,bullet:{nestingLevel:null==(u=null==i?void 0:i.nestingLevel)?0:u,textStyle:(null==i?void 0:i.listType)===n?i.textStyle:{fs:20},listType:n,listId:o}}]},coverType:Rc.REPLACE}),s.moveCursorTo(t+1)}return l},switch:e=>{var t,r;let{paragraphs:n,segmentId:i,document:a}=e,o=e.listType,s=null==(t=null==(r=a.getSelfOrHeaderFooterModel(i).getBody())?void 0:r.paragraphs)?[]:t,l=n.every(e=>{var t;return 0===(null==(t=e.bullet)?void 0:t.listType.indexOf(o))}),u=cu(6);if(1===n.length){let e=s.indexOf(n[0]),t=s[e-1],r=s[e+1];t&&t.bullet&&0===t.bullet.listType.indexOf(o)?(u=t.bullet.listId,o!==sm.CHECK_LIST&&(o=t.bullet.listType)):r&&r.bullet&&0===r.bullet.listType.indexOf(o)&&(u=r.bullet.listId,o!==sm.CHECK_LIST&&(o=r.bullet.listType))}let c=new Gl;c.reset();let d=new Pm;for(let e of n){var h;let{startIndex:t,paragraphStyle:r={},bullet:n}=e;d.push({t:xc.RETAIN,len:t-c.cursor}),d.push({t:xc.RETAIN,len:1,body:{dataStream:"",paragraphs:[l?{paragraphStyle:r,startIndex:0}:{startIndex:0,paragraphStyle:{...r},bullet:{nestingLevel:null==(h=null==n?void 0:n.nestingLevel)?0:h,textStyle:{fs:20},listType:o,listId:u}}]},coverType:Rc.REPLACE}),c.moveCursorTo(t+1)}return d},toggleChecklist:e=>{var t;let{paragraphIndex:r,segmentId:n,document:i}=e,a=null==(t=i.getSelfOrHeaderFooterModel(n).getBody())?void 0:t.paragraphs;if(null==a)return!1;let o=a.find(e=>e.startIndex===r);if(null==o||!o.bullet||-1===o.bullet.listType.indexOf(sm.CHECK_LIST))return!1;let s=new Gl;s.reset();let l=new Pm,{startIndex:u,paragraphStyle:c={}}=o,d=o.bullet.listType===sm.CHECK_LIST?sm.CHECK_LIST_CHECKED:sm.CHECK_LIST;return l.push({t:xc.RETAIN,len:u-s.cursor}),l.push({t:xc.RETAIN,len:1,body:{dataStream:"",paragraphs:[{...o,paragraphStyle:c,startIndex:0,bullet:{...o.bullet,listType:d}}]},coverType:Rc.REPLACE}),s.moveCursorTo(u+1),l},changeNestLevel:e=>{var t,r,n;let{paragraphs:i,document:a,type:o}=e,s=new Gl;s.reset();let l=new Pm,u=null==(t=a.getSnapshot().lists)?{}:t,c=null==(r=null==(n=a.getBody())?void 0:n.tables)?[]:r,d={...hm,...u};for(let e of i){let{startIndex:t,paragraphStyle:r={},bullet:n}=e,i=$m(e,c);if(l.push({t:xc.RETAIN,len:t-s.cursor}),n){let e=d[n.listType].nestingLevel.length-1;i&&(e=Math.min(e,2)),l.push({t:xc.RETAIN,len:1,body:{dataStream:"",paragraphs:[{startIndex:0,paragraphStyle:{...r},bullet:{...n,nestingLevel:Math.max(Math.min(n.nestingLevel+o,e),0)}}]},coverType:Rc.REPLACE})}else l.push({t:xc.RETAIN,len:1});s.moveCursorTo(t+1)}return l}},style:{set:e=>{var t,r,n,i;let{textRanges:a,segmentId:o,document:s,style:l,paragraphTextRun:u,cursor:c,deleteLen:d,textX:h}=e,m=s.getSelfOrHeaderFooterModel(o),f=Qm(a,null==(t=null==(r=m.getBody())?void 0:r.paragraphs)?[]:t,null==(n=null==(i=m.getBody())?void 0:i.dataStream)?"":n),g=new Gl;c&&g.moveCursorTo(c);let p=null==h?new Pm:h;f.sort((e,t)=>e.startIndex-t.startIndex);let v=Math.max(0,f[0].paragraphStart-1);v>g.cursor&&(p.push({t:xc.RETAIN,len:v-g.cursor}),g.moveCursorTo(v)),d&&p.push({t:xc.DELETE,len:d});for(let e of f){let{startIndex:t,paragraphStyle:r={}}=e,n=t-g.cursor;p.push({t:xc.RETAIN,len:n,...u?{body:{dataStream:"",textRuns:[{ts:u,st:0,ed:n}]},coverType:Rc.REPLACE}:null}),p.push({t:xc.RETAIN,len:1,body:{dataStream:"",paragraphs:[{startIndex:0,paragraphStyle:{...r,...l}}]},coverType:Rc.REPLACE}),g.moveCursorTo(t+1)}return p}},util:{transform:Km,getParagraphsInRange:Ym,getParagraphsInRanges:Qm}}),Bl(Jm,"drawing",{add:e=>{var t,r;let{selection:n,documentDataModel:i,drawings:a}=e,{collapsed:o,startOffset:s,segmentId:l}=n,u=new Pm,c=Dm.getInstance(),d=[],h=i.getSelfOrHeaderFooterModel(l).getBody();if(!h)return!1;let m=null==(t=null==(r=i.getSnapshot().drawingsOrder)?void 0:r.length)?0:t,f=0;if(o)s>0&&u.push({t:xc.RETAIN,len:s});else{var g,p;let e=qm([n],h,0,null,!1);u.push(...e);let t=function(e,t){let r=[],{customBlocks:n=[]}=e;for(let e of t){let{startOffset:t,endOffset:i}=e;if(null!=t&&null!=i)for(let e of n){let{startIndex:n}=e;n>=t&&na.indexOf(e)>a.indexOf(t)?-1:a.indexOf(e)0)for(let e of o){let t=r[e],n=a.indexOf(e);if(null==t||n<0)continue;let i=c.removeOp(["drawings",e],t),o=c.removeOp(["drawingsOrder",n],e);d.push(i),d.push(o),f++}}u.push({t:xc.INSERT,body:{dataStream:"\b".repeat(a.length),customBlocks:a.map((e,t)=>({startIndex:t,blockId:e.drawingId}))},len:a.length});let v=function(e,t=""){if(!t)return["body"];let{headers:r,footers:n}=e.getSnapshot();if(null==r&&null==n)throw Error("Document data model must have headers or footers when update by segment id");if(null!=(null==r?void 0:r[t]))return["headers",t,"body"];if(null!=(null==n?void 0:n[t]))return["footers",t,"body"];throw Error("Segment id not found in headers or footers")}(i,l),b=c.editOp(u.serialize(),v);d.push(b);for(let e of a){let{drawingId:t}=e,r=c.insertOp(["drawings",t],e),n=c.insertOp(["drawingsOrder",m-f],t);d.push(r),d.push(n)}return d.reduce((e,t)=>Dm.compose(e,t),null)}});var tf=class e{static create(t={}){return new e(t)}constructor(e={}){Bl(this,"_style",void 0),this._style=e}get fontFamily(){return this._style.ff}get fontSize(){return this._style.fs}get italic(){return this._style.it===Vu.TRUE}get bold(){return this._style.bl===Vu.TRUE}get underline(){return this._style.ul&&nf.create(this._style.ul)}get bottomBorderLine(){return this._style.bbl&&nf.create(this._style.bbl)}get strikethrough(){return this._style.st&&nf.create(this._style.st)}get overline(){return this._style.ol&&nf.create(this._style.ol)}get background(){return this._style.bg}get border(){return this._style.bd}get color(){return this._style.cl}get verticalAlign(){return this._style.va}get numberFormat(){return this._style.n}copy(){return rf.create(uu.deepClone(this._style))}getValue(){return{...this._style}}},rf=class e extends tf{static create(t={}){return new e(t)}constructor(e={}){super(e)}setFontFamily(e){return this._style.ff=e,this}setFontSize(e){return this._style.fs=e,this}setItalic(e){return this._style.it=e?1:0,this}setBold(e){return this._style.bl=e?1:0,this}setUnderline(e){return this._style.ul=e.build(),this}setBottomBorderLine(e){return this._style.bbl=e.build(),this}setStrikethrough(e){return this._style.st=e.build(),this}setOverline(e){return this._style.ol=e.build(),this}setBackground(e){return this._style.bg=e,this}setBorder(e){return this._style.bd=e,this}setColor(e){return this._style.cl=e,this}setVerticalAlign(e){return this._style.va=e,this}copy(){return e.create(uu.deepClone(this._style))}build(){return this.getValue()}},nf=class e{static create(t={s:1}){return new e(t)}constructor(e={s:1}){Bl(this,"_decoration",void 0),this._decoration=e}get show(){return this._decoration.s===Vu.TRUE}get followFontColor(){return this._decoration.c===Vu.TRUE}get color(){return this._decoration.cl}get type(){return this._decoration.t}setShow(e){return this._decoration.s=e?1:0,this}setFollowFontColor(e){return this._decoration.c=e?1:0,this}setColor(e){return this._decoration.cl=e,this}setLineType(e){return this._decoration.t=e,this}copy(){return e.create(uu.deepClone(this._decoration))}build(){return{...this._decoration}}},af=class e{static create(t={}){return new e(t)}constructor(e={}){Bl(this,"_style",void 0),this._style=e}get indentFirstLine(){return this._style.indentFirstLine}get hanging(){return this._style.hanging}get indentStart(){return this._style.indentStart}get tabStops(){return this._style.tabStops}get indentEnd(){return this._style.indentEnd}get textStyle(){return this._style.textStyle}get headingId(){return this._style.headingId}get namedStyleType(){return this._style.namedStyleType}get horizontalAlign(){return this._style.horizontalAlign}get lineSpacing(){return this._style.lineSpacing}get direction(){return this._style.direction}get spacingRule(){return this._style.spacingRule}get snapToGrid(){return this._style.snapToGrid}get spaceAbove(){return this._style.spaceAbove}get spaceBelow(){return this._style.spaceBelow}get borderBetween(){return this._style.borderBetween}get borderTop(){return this._style.borderTop}get borderBottom(){return this._style.borderBottom}get borderLeft(){return this._style.borderLeft}get borderRight(){return this._style.borderRight}get keepLines(){return this._style.keepLines===Vu.TRUE}get keepNext(){return this._style.keepNext===Vu.TRUE}get wordWrap(){return this._style.wordWrap===Vu.TRUE}get widowControl(){return this._style.widowControl===Vu.TRUE}get shading(){return this._style.shading}get suppressHyphenation(){return this._style.suppressHyphenation===Vu.TRUE}copy(){return of.create(uu.deepClone(this._style))}getValue(){return this._style}},of=class e extends af{static create(t={}){return new e(t)}constructor(e={}){super(e)}setIndentFirstLine(e){return this._style.indentFirstLine=e,this}setHanging(e){return this._style.hanging=e,this}setIndentStart(e){return this._style.indentStart=e,this}setTabStops(e){return this._style.tabStops=e,this}setIndentEnd(e){return this._style.indentEnd=e,this}setTextStyle(e){return this._style.textStyle=e,this}setHeadingId(e){return this._style.headingId=e,this}setNamedStyleType(e){return this._style.namedStyleType=e,this}setHorizontalAlign(e){return this._style.horizontalAlign=e,this}setLineSpacing(e){return this._style.lineSpacing=e,this}setDirection(e){return this._style.direction=e,this}setSpacingRule(e){return this._style.spacingRule=e,this}setSnapToGrid(e){return this._style.snapToGrid=e?1:0,this}setSpaceAbove(e){return this._style.spaceAbove=e,this}setSpaceBelow(e){return this._style.spaceBelow=e,this}setBorderBetween(e){return this._style.borderBetween=e,this}setBorderTop(e){return this._style.borderTop=e,this}setBorderBottom(e){return this._style.borderBottom=e,this}setBorderLeft(e){return this._style.borderLeft=e,this}setBorderRight(e){return this._style.borderRight=e,this}setKeepLines(e){return this._style.keepLines=e?1:0,this}setKeepNext(e){return this._style.keepNext=e?1:0,this}setWordWrap(e){return this._style.wordWrap=e?1:0,this}setWidowControl(e){return this._style.widowControl=e?1:0,this}setShading(e){return this._style.shading=e,this}setSuppressHyphenation(e){return this._style.suppressHyphenation=e?1:0,this}copy(){return e.create(uu.deepClone(this._style))}build(){return this.getValue()}},sf=class e{static create(t){return new e(t)}static createByBody(t){return new e({body:t,id:"d",documentStyle:{}})}constructor(e){if(Bl(this,"_data",void 0),!e.body)throw Error("Invalid document data, body is required");this._data=ef(e)}copy(){return lf.create(uu.deepClone(this._data))}slice(e,t){let{body:r,...n}=this._data;return lf.create({...uu.deepClone(n),body:Im(r,e,t)})}toPlainText(){var e,t;return Jm.transform.getPlainText(null==(e=null==(t=this._data.body)?void 0:t.dataStream)?"":e).replaceAll("\r","\n")}getParagraphStyle(){var e;return af.create(null==(e=this._data.body)||null==(e=e.paragraphs)?void 0:e[0].paragraphStyle)}getParagraphBullet(){var e;return null==(e=this._data.body)||null==(e=e.paragraphs)?void 0:e[0].bullet}getParagraphs(){var e,t;let r=null==(e=null==(t=this._data.body)?void 0:t.paragraphs)?[]:e,n=0;return r.map(e=>{let t=this.slice(n,e.startIndex);return n=e.startIndex,t})}getTextRuns(){var e,t;return(null==(e=null==(t=this._data.body)?void 0:t.textRuns)?[]:e).map(e=>({...e,ts:e.ts?tf.create(e.ts):null}))}getLinks(){var e,t;return null==(e=null==(t=this._data.body)||null==(t=t.customRanges)?void 0:t.filter(e=>e.rangeType===Xu.HYPERLINK))?[]:e}getData(){return this._data}},lf=class e extends sf{static newEmptyData(){return ef({id:"d",documentStyle:{},drawings:{},drawingsOrder:[],body:{dataStream:"\r\n",customBlocks:[],customRanges:[],paragraphs:[{startIndex:0}],textRuns:[],tables:[],sectionBreaks:[]}})}static create(t){return new e(null==t?e.newEmptyData():t)}constructor(e){super(e),Bl(this,"_doc",void 0),this._doc=new Wm(e)}insertText(e,t,r){var n,i;let a,o,s=(null==(n=null==(i=this._data.body)?void 0:i.dataStream.length)?2:n)-2;if("string"==typeof e?a=e:(s=Math.min(e,s),a=t),o="object"==typeof t?t instanceof rf?t.build():t:r instanceof rf?r.build():r,!a)return this;let l={dataStream:a,textRuns:o?[{ts:o,st:s,ed:s+a.length}]:[]},u=Jm.selection.replace({doc:this._doc,selection:{startOffset:s,endOffset:s,collapsed:!0},body:l});if(!u)throw Error("Insert text failed, please check.");return Pm.apply(this._doc.getBody(),u.serialize()),this}insertRichText(e,t){var r,n;let i,a=(null==(r=null==(n=this._data.body)?void 0:n.dataStream.length)?2:r)-2;"object"==typeof e?i=e instanceof sf?e.getData():e:(a=Math.min(e,a),i=t instanceof sf?t.getData():t);let o=Jm.selection.replace({doc:this._doc,selection:{startOffset:a,endOffset:a,collapsed:!0},body:i.body});if(!o)throw Error("Insert text failed, please check.");return Pm.apply(this._doc.getBody(),o.serialize()),this}delete(e,t){if(void 0!==t){if(!t)return this;let r=Jm.selection.delete([{startOffset:e,endOffset:e+t,collapsed:!0}],this._data.body);Pm.apply(this._doc.getBody(),r)}return this}setStyle(e,t,r){let n={dataStream:"",textRuns:[{ts:r instanceof rf?r.build():r,st:0,ed:t-e}]},i=Jm.selection.retain([{startOffset:e,endOffset:t,collapsed:!0}],n);return Pm.apply(this._doc.getBody(),i),this}setLink(e,t,r){let n=Jm.customRange.add({rangeType:Xu.HYPERLINK,rangeId:cu(),properties:{url:r},ranges:[{startOffset:e,endOffset:t,collapsed:!1}],body:this._data.body});if(!n)throw Error("Insert text failed, please check.");return Pm.apply(this._doc.getBody(),n.serialize()),this}cancelLink(e,t){if("string"==typeof e){let t=Jm.customRange.delete({rangeId:e,documentDataModel:this._doc});if(!t)throw Error("Insert text failed, please check.");Pm.apply(this._doc.getBody(),t.serialize())}else this.slice(e,t).getLinks().forEach(e=>{let t=Jm.customRange.delete({rangeId:e.rangeId,documentDataModel:this._doc});if(!t)throw Error("Insert text failed, please check.");Pm.apply(this._doc.getBody(),t.serialize())});return this}updateLink(e,t){var r;let n=null==(r=this._data.body)||null==(r=r.customRanges)?void 0:r.find(t=>t.rangeId===e);if(!n)throw Error("Link not found");return n.properties.url=t,this}insertParagraph(e,t){let r,n;var i,a;return"object"==typeof e?(r={dataStream:"\r",paragraphs:[{startIndex:0,paragraphStyle:e.build()}]},n=(null==(i=null==(a=this._data.body)?void 0:a.dataStream.length)?2:i)-2):(n=e,r={dataStream:"\r",paragraphs:[{startIndex:0,paragraphStyle:null==t?void 0:t.build()}]}),this.insertRichText(n,sf.create({body:r,id:"d",documentStyle:{}})),this}insertLink(t,r,n){let i="",a="";"string"==typeof t?(i=t,a=r):(i=r,a=n);let o=e.createByBody({dataStream:i,customRanges:[{rangeType:Xu.HYPERLINK,rangeId:cu(),properties:{url:a},startIndex:0,endIndex:i.length-1}]});return"number"==typeof t?this.insertRichText(t,o):this.insertRichText(o)}},uf=class{constructor(){Bl(this,"skipNextObservers",!1),Bl(this,"lastReturnValue",void 0),Bl(this,"isStopPropagation",!1)}stopPropagation(){this.isStopPropagation=!0}},cf=class extends On{constructor(...e){super(...e),Bl(this,"_sortedObservers",[])}unsubscribe(){super.unsubscribe(),this._sortedObservers.length=0}complete(){super.complete(),this._sortedObservers.length=0}subscribeEvent(e){let t;t="function"==typeof e?{next:([t,r])=>e(t,r)}:e;let r=super.subscribe(t);return this._sortedObservers.push(t),this._sortedObservers.sort((e,t)=>{var r,n;return(null==(r=e.priority)?0:r)-(null==(n=t.priority)?0:n)}),r.add(()=>this._sortedObservers=this._sortedObservers.filter(e=>e!==t)),r}clearObservers(){this._sortedObservers.forEach(e=>{var t;return null==(t=e.complete)?void 0:t.call(e)}),this._sortedObservers.length=0}emitEvent(e){if(!this.closed){let r=new uf;r.lastReturnValue=e;for(let n of this._sortedObservers){var t;if(r.lastReturnValue=null==(t=n.next)?void 0:t.call(n,[e,r]),r.skipNextObservers)return{handled:!0,lastReturnValue:r.lastReturnValue,stopPropagation:r.isStopPropagation}}return{handled:this._sortedObservers.length>0,lastReturnValue:r.lastReturnValue,stopPropagation:r.isStopPropagation}}throw Error("[EventSubject]: cannot emit event on a closed subject.")}};function df(e){return new Tn(t=>{let r=e.subscribeEvent(e=>{t.next(e)});return()=>r.unsubscribe()})}const hf=V("core.resource-manager.service"),mf={[Ui.Editor]:"Editor",[Ui.Owner]:"Owner",[Ui.Reader]:"Reader",[Ui.UNRECOGNIZED]:"UNRECOGNIZED"},ff=e=>e?{userID:`${mf[e]}_${cu(8)}`,name:mf[e],avatar:""}:{userID:"",name:"",avatar:"",anonymous:!0,canBindAnonymous:!1};var gf=class extends tu{constructor(...e){super(...e),Bl(this,"_model",new Map),Bl(this,"_userChange$",new On),Bl(this,"userChange$",this._userChange$.asObservable()),Bl(this,"_currentUser$",new Qn(ff())),Bl(this,"currentUser$",this._currentUser$.asObservable())}dispose(){super.dispose(),this._model.clear(),this._userChange$.complete(),this._currentUser$.complete()}getCurrentUser(){return this._currentUser$.getValue()}setCurrentUser(e){this.addUser(e),this._currentUser$.next(e)}addUser(e){this._model.set(e.userID,e),this._userChange$.next({type:"add",user:e})}getUser(e,t){let r=this._model.get(e);if(r)return r;t&&t()}delete(e){let t=this.getUser(e);this._model.delete(e),t&&this._userChange$.next({type:"delete",user:t})}clear(){this._model.clear(),this._userChange$.next({type:"clear"})}list(){return Array.from(this._model.values())}};let pf=class{constructor(e,t){this._resourceManagerService=e,this._userManagerService=t,Bl(this,"_permissionMap",new Map([])),Bl(this,"_permissionOverrides",new Map),this._initSnapshot(),this._initDefaultUser()}_initDefaultUser(){let e=this._userManagerService.getCurrentUser();e&&e.userID||this._userManagerService.setCurrentUser(ff(Ui.Owner))}_getRole(e){let t=this._userManagerService.getCurrentUser();return!!t&&((e,t)=>e.startsWith(mf[t]))(t.userID,e)}_initSnapshot(){this._resourceManagerService.registerPluginResource({toJson:e=>{let t=[...this._permissionMap.keys()].reduce((e,t)=>(e[t]=this._permissionMap.get(t),e),{});return JSON.stringify(t)},parseJson:e=>JSON.parse(e),pluginName:"SHEET_AuthzIoMockService_PLUGIN",businesses:[Pi.UNIVER_SHEET,Pi.UNIVER_DOC,Pi.UNIVER_SLIDE],onLoad:(e,t)=>{for(let e in t)this._permissionMap.set(e,t[e])},onUnLoad:()=>{this._permissionMap.clear()}})}async create(e){let t=cu(8),{objectType:r,selectRangeObject:n,worksheetObject:i}=e,a=n||i,o={objectType:r,unitID:(null==a?void 0:a.unitID)||"",name:(null==a?void 0:a.name)||"",strategies:[{action:6,role:Ui.Owner},{action:16,role:Ui.Owner},{action:17,role:Ui.Owner},{action:18,role:Ui.Owner},{action:19,role:Ui.Owner},{action:33,role:Ui.Owner},{action:34,role:Ui.Owner},{action:35,role:Ui.Owner},{action:36,role:Ui.Owner},{action:37,role:Ui.Owner},{action:38,role:Ui.Owner},{action:39,role:Ui.Owner},{action:40,role:Ui.Owner}],selectRangeObject:n};return this._permissionMap.set(t,o),t}async allowed(e){let{objectID:t,actions:r}=e,n=this._permissionMap.get(t);return n?r.map(e=>{let r=`${t}:${e}`;if(this._permissionOverrides.has(r))return{action:e,allowed:this._permissionOverrides.get(r)};let i=n.strategies.find(t=>t.action===e);return i?{action:e,allowed:this._getRole(i.role)}:{action:e,allowed:this._getRole(Ui.Owner)||this._getRole(Ui.Editor)}}):r.map(e=>({action:e,allowed:this._getRole(Ui.Owner)||this._getRole(Ui.Editor)}))}async batchAllowed(e){let t=await Promise.all(e.map(e=>this.allowed(e)));return e.map((e,r)=>({unitID:e.unitID,objectID:e.objectID,actions:t[r]}))}async list(e){let t=[],r=[{action:6,role:Ui.Owner},{action:16,role:Ui.Owner},{action:17,role:Ui.Owner},{action:18,role:Ui.Owner},{action:19,role:Ui.Owner},{action:33,role:Ui.Owner},{action:34,role:Ui.Owner},{action:35,role:Ui.Owner},{action:36,role:Ui.Owner},{action:37,role:Ui.Owner},{action:38,role:Ui.Owner},{action:39,role:Ui.Owner},{action:40,role:Ui.Owner}];return e.objectIDs.forEach(n=>{let i=this._permissionMap.get(n),a=(null==i?void 0:i.strategies)||r,o={objectID:n,unitID:e.unitID,objectType:(null==i?void 0:i.objectType)||3,name:(null==i?void 0:i.name)||"",shareOn:!1,shareRole:Ui.Owner,shareScope:-1,scope:{read:Vi.AllCollaborator,edit:Vi.AllCollaborator},creator:ff(Ui.Owner),strategies:a.map(e=>({action:e.action,role:e.role})),actions:e.actions.map(e=>{let t=`${n}:${e}`;if(this._permissionOverrides.has(t))return{action:e,allowed:this._permissionOverrides.get(t)};let r=a.find(t=>t.action===e);return r?{action:e,allowed:this._getRole(r.role)}:{action:e,allowed:this._getRole(Ui.Owner)||this._getRole(Ui.Editor)}})};t.push(o)}),t}async listCollaborators(){return[]}async listRoles(){return{roles:[],actions:[]}}async deleteCollaborator(){}async update(e){let{objectID:t,strategies:r}=e,n=this._permissionMap.get(t);n&&r&&(n.strategies=r.map(e=>({action:e.action,role:e.role})),this._permissionMap.set(t,n),r.forEach(e=>{e.role===Ui.Reader?this.setPermissionOverride(t,e.action,!1):(e.role===Ui.Owner||e.role===Ui.Editor)&&this.clearPermissionOverride(t,e.action)}))}setPermissionOverride(e,t,r){let n=`${e}:${t}`;this._permissionOverrides.set(n,r)}clearPermissionOverride(e,t){let r=`${e}:${t}`;this._permissionOverrides.delete(r)}clearAllOverrides(e){let t=[];this._permissionOverrides.forEach((r,n)=>{n.startsWith(`${e}:`)&&t.push(n)}),t.forEach(e=>this._permissionOverrides.delete(e))}async updateCollaborator(){}async createCollaborator(){}async putCollaborators(e){}};pf=Uc([Dc(0,hf),Dc(1,Y(gf))],pf);const vf=V("IAuthzIoIoService"),bf=V("univer.confirm-service"),Cf="FOCUSING_UNIT",yf="FOCUSING_SHEET",_f="FOCUSING_DOC",wf="FOCUSING_SLIDE",Ef="FOCUSING_EDITOR_BUT_HIDDEN",Sf="EDITOR_ACTIVATED",Af="FOCUSING_EDITOR_INPUT_FORMULA",If="FOCUSING_FX_BAR_EDITOR",Rf="FOCUSING_UNIVER_EDITOR",xf="FOCUSING_EDITOR_INPUT_FORMULA",Tf="FOCUSING_COMMENT_EDITOR",Nf="FOCUSING_COMMON_DRAWINGS",Mf="FOCUSING_SHAPE_TEXT_EDITOR";var Of=class extends tu{constructor(...e){super(...e),Bl(this,"_error$",new On),Bl(this,"error$",this._error$.asObservable())}dispose(){this._error$.complete()}emit(e){this._error$.next({errorKey:e})}};let Lf=function(e){return e.URL="URL",e.UUID="UUID",e.BASE64="BASE64",e}({}),kf=function(e){return e.SUCCUSS="0",e.ERROR_EXCEED_SIZE="1",e.ERROR_IMAGE_TYPE="2",e.ERROR_UPLOAD_COUNT_LIMIT="3",e.ERROR_IMAGE="4",e}({});const Pf=V("core.image-io.service"),Df=V("core.url-image.service");var Uf="0.19.0",Bf=class{constructor(e={}){Bl(this,"_styles",void 0),Bl(this,"_cacheMap",new hh(1e5)),this._styles=e,this._generateCacheMap()}each(e){return Object.entries(this._styles).forEach(e),this}search(e,t){return this._cacheMap.has(t)?this._cacheMap.get(t):this._getExistingStyleId(e)||"-1"}get(e){return"string"==typeof e?(e=String(e),this._styles[e]):e}add(e,t){let r=cu(6);return this._styles[r]=e,this._cacheMap.set(t,r),r}setValue(e){if(null==e)return;let t=JSON.stringify(e),r=this.search(e,t);return"-1"===r?this.add(e,t):r}addCustomStyle(e,t){null!=t&&(this._styles[e]=t,this._cacheMap.set(JSON.stringify(t),e))}remove(e){let t=this._styles[e];t&&(delete this._styles[e],this._cacheMap.delete(JSON.stringify(t)))}toJSON(){return this._styles}getStyleByCell(e){let t;t=e&&uu.isObject(e.s)?e.s:(null==e?void 0:e.s)&&this.get(e.s);let r=null==e?void 0:e.interceptorStyle;return r?{...t,...r}:t}_generateCacheMap(){let{_styles:e,_cacheMap:t}=this;for(let r in e){let n=JSON.stringify(e[r]);t.set(n,r)}}_getExistingStyleId(e){let{_styles:t}=this;for(let r in t)if(uu.diffValue(t[r],e))return r;return null}};const Vf=(e,t)=>t.length===e.length&&!e.some(e=>t.some(t=>!Oh.equals(t,e))),Ff={t:0,b:2,l:2,r:2};function jf(e,t,r={}){let n=e.length,{textRotation:i,paddingData:a,horizontalAlign:o=Lu.UNSPECIFIED,verticalAlign:s=ku.UNSPECIFIED,wrapStrategy:l=Pu.UNSPECIFIED,cellValueType:u}=r,{t:c,r:d,b:h,l:m}=a||Ff,{vertexAngle:f,centerAngle:g}=Gf(i);return new Wm({id:"d",body:{dataStream:`${e}\r\n`,textRuns:[{ts:t,st:0,ed:n}],paragraphs:[{startIndex:n,paragraphStyle:{horizontalAlign:o}}],sectionBreaks:[{startIndex:n+1}]},documentStyle:{pageSize:{width:1/0,height:1/0},marginTop:c,marginBottom:h,marginRight:d,marginLeft:m,renderConfig:{horizontalAlign:o,verticalAlign:s,centerAngle:g,vertexAngle:f,wrapStrategy:l,cellValueType:u}},drawings:{},drawingsOrder:[]})}function Hf(e){if(!e)return{};let{ff:t,fs:r,it:n,bl:i,ul:a,st:o,ol:s,cl:l}=e,u={};return t&&(u.ff=t),r&&(u.fs=r),n&&(u.it=n),i&&(u.bl=i),a&&(u.ul=a),o&&(u.st=o),s&&(u.ol=s),l&&(u.cl=l),u}function Wf(e,t,r){var n;let i=e.getBody();if(null!=(n=i.customRanges)&&n.some(e=>e.rangeType===Xu.HYPERLINK))return;let a=Jm.customRange.add({ranges:[{startOffset:0,endOffset:i.dataStream.length-1,collapsed:!1}],rangeId:r,rangeType:Xu.HYPERLINK,body:i,properties:{url:t,refId:r}});a&&Pm.apply(i,a.serialize())}function zf(e){return null!=e}function Xf(){return{p:null,s:null,v:null,t:null,f:null,si:null,ref:null,xf:null}}function qf(e){let t=vh.ff,r=vh.fs;if(!e){let e=`${r}pt ${t}`;return{fontCache:e,fontString:e,fontSize:r,originFontSize:r,fontFamily:t}}let n=lc.ITALIC;(0===e.it||void 0===e.it)&&(n=lc.NORMAL);let i=lc.BOLD;(0===e.bl||void 0===e.bl)&&(i=lc.NORMAL);let a=r;e.fs&&(a=Math.ceil(e.fs));let o=t;if(e.ff){let r=e.ff;r=r.replace(/"/g,"").replace(/'/g,""),r.indexOf(" ")>-1&&(r=`"${r}"`),null==r&&(r=t),o=r}let{va:s}=e,l=a;if(s===Bu.SUBSCRIPT||s===Bu.SUPERSCRIPT){let{sbr:e,spr:t}=function(e,t){return(e=>({sbr:.6,sbo:e,spr:.6,spo:e}))(t)}(0,l);l*=s===Bu.SUBSCRIPT?e:t}let u=`${n} ${i} ${l}pt ${o}`;return{fontCache:u,fontString:`${u}, "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif `,fontSize:l,originFontSize:a,fontFamily:o}}function Gf(e){let{a:t=0,v:r=Vu.FALSE}=e||{a:0,v:Vu.FALSE},n=0,i=t;return r===Vu.TRUE&&(n=90,i=90),{centerAngle:n,vertexAngle:i}}function Yf(e){if("object"!=typeof e||!e)return e;if(Array.isArray(e)){let t=e.length,r=Array(t);for(let n=0;n=0;t--){let r=Number(i[t]);r>=e&&(this._columnData[r+n]=this._columnData[r],delete this._columnData[r])}for(let n=e;n<=t;n++){let t=null==r?void 0:r[n-e];null!=t&&Object.keys(t).length>0&&(this._columnData[n]={...t})}}removeColumn(e){delete this._columnData[e]}getColumnOrCreate(e){let{_columnData:t}=this,r=t[e];if(r)return r;let n={};return this._columnData[e]=n,n}setCustomMetadata(e,t){let r=this.getColumn(e);r&&(r.custom=t)}getCustomMetadata(e){var t;return null==(t=this.getColumn(e))?void 0:t.custom}},rg=class{constructor(e,t,r){this._config=e,this._viewModel=t,Bl(this,"_rowData",void 0),this._rowData=r}getRowData(){return this._rowData}getRowStyle(e){var t;return null==(t=this._rowData[e])?void 0:t.s}setRowStyle(e,t){this.getRowOrCreate(e).s=t}getRowDatas(e,t){let r={},n=0;for(let i=e;i=0;t--){let r=Number(i[t]);r>=e&&(this._rowData[r+n]=this._rowData[r],delete this._rowData[r])}for(let n=e;n<=t;n++){let t=null==r?void 0:r[n-e];null!=t&&Object.keys(t).length>0&&(this._rowData[n]={...t})}}removeRow(e){delete this._rowData[e]}getRowOrCreate(e){let{_rowData:t}=this,r=t[e];if(r)return r;let n={};return t[e]=n,n}getHiddenRows(e=0,t=this.getSize()-1){let r=[],n=!1,i=-1;for(let a=e;a<=t;a++){let e=this.getRowRawVisible(a);n&&e?(n=!1,r.push({startRow:i,endRow:a-1,startColumn:0,endColumn:0,rangeType:pd.ROW})):!n&&!e&&(n=!0,i=a)}return n&&r.push({startRow:i,endRow:t,startColumn:0,endColumn:0,rangeType:pd.ROW}),r}getVisibleRows(e=0,t=this.getSize()-1){let r=[],n=!1,i=-1;for(let a=e;a<=t;a++){let e=this.getRowRawVisible(a);n&&!e?(n=!1,r.push({startRow:i,endRow:a-1,startColumn:0,endColumn:0,rangeType:pd.ROW})):!n&&e&&(n=!0,i=a)}return n&&r.push({startRow:i,endRow:t,startColumn:0,endColumn:0,rangeType:pd.ROW}),r}getRowRawVisible(e){let t=this.getRow(e);return!t||t.hd!==Vu.TRUE}getSize(){return Td(this._rowData)}setCustomMetadata(e,t){let r=this.getRow(e);r&&(r.custom=t)}getCustomMetadata(e){var t;return null==(t=this.getRow(e))?void 0:t.custom}};function ng(e){let t={name:"Sheet1",id:"sheet-01",tabColor:"",hidden:Vu.FALSE,rowCount:1e3,columnCount:20,zoomRatio:1,freeze:{xSplit:0,ySplit:0,startRow:-1,startColumn:-1},scrollTop:0,scrollLeft:0,defaultColumnWidth:88,defaultRowHeight:24,mergeData:[],cellData:{},rowData:{},columnData:{},showGridlines:Vu.TRUE,rowHeader:{width:46,hidden:Vu.FALSE},columnHeader:{height:20,hidden:Vu.FALSE},rightToLeft:Vu.FALSE};return Object.keys(t).forEach(r=>{let n=r;void 0===e[n]&&(e[n]=t[n])}),e}var ig=class extends tu{constructor(e){super(),Bl(this,"_cellCache",new Map),Bl(this,"_rowCache",new Map),Bl(this,"_columnCache",new Map),Bl(this,"_hasRow",!1),Bl(this,"_hasColumn",!1),Bl(this,"_hasAll",!1),Bl(this,"_allIndex",-1),Bl(this,"_mergeData",void 0),Bl(this,"_rangeMap",new hh(5e4)),this._init(e.concat())}_init(e){this._mergeData=e,this._createCache(e)}_clearCache(){this._cellCache.clear(),this._rowCache.clear(),this._columnCache.clear(),this._hasAll=!1,this._allIndex=-1,this._rangeMap.clear(),this._hasColumn=!1,this._hasRow=!1}_createCache(e){let t=0;for(let r of e){let{rangeType:e}=r;e===pd.ROW?this._createRowCache(r,t):e===pd.COLUMN?this._createColumnCache(r,t):e===pd.ALL?this._createCellAllCache(t):this._createCellCache(r,t),t++}}rebuild(e){this._clearCache(),this._init(e.concat())}_createRowCache(e,t){let{startRow:r,endRow:n}=e;for(let e=r;e<=n;e++)this._rowCache.set(e,t),this._hasRow=!0}_createColumnCache(e,t){let{startColumn:r,endColumn:n}=e;for(let e=r;e<=n;e++)this._columnCache.set(e,t),this._hasColumn=!0}_createCellAllCache(e){this._hasAll=!0,this._allIndex=e}_createCellCache(e,t){for(let r=e.startRow;r<=e.endRow;r++){let n=this._cellCache.get(r);null==n&&(n=new Map,this._cellCache.set(r,n));for(let r=e.startColumn;r<=e.endColumn;r++)n.set(r,t)}}add(e){this._mergeData.push(e),this._clearCache(),this._createCache(this._mergeData)}remove(e,t){let r=this._getMergeDataIndex(e,t);-1!==r&&(this._mergeData.splice(r,1),this._clearCache(),this._createCache(this._mergeData))}getMergedCell(e,t){let r=this._getMergeDataIndex(e,t);return-1===r?null:this._mergeData[r]}getMergeDataIndex(e,t){return this._getMergeDataIndex(e,t)}isRowContainsMergedCell(e){return!(!this._hasAll&&uu.isEmptyObject(this._columnCache))||this._mergeData.some(t=>t.startRow<=e&&e<=t.endRow)}isColumnContainsMergedCell(e){return!(!this._hasAll&&uu.isEmptyObject(this._rowCache))||this._mergeData.some(t=>t.startColumn<=e&&e<=t.endColumn)}getMergedCellRange(e,t,r,n){let i=[],a=`${e}-${t}-${r}-${n}`;if(this._rangeMap.has(a))return this._getRangeFromCache(a);let o=0,s=[];for(let a of this._mergeData||[])Oh.intersects(a,{startRow:e,endRow:r,startColumn:t,endColumn:n})&&(i.push({...a}),s.push(o)),o++;return this._rangeMap.set(a,s),i}_getRangeFromCache(e){let t=this._rangeMap.get(e)||[],r=[];for(let e of t)r.push({...this._mergeData[e]});return r}_getMergeDataIndex(e,t){var r;if(this._hasAll)return this._allIndex;if(this._hasRow){let t=this._rowCache.get(e);if(void 0!==t)return t}if(this._hasColumn){let e=this._columnCache.get(t);if(void 0!==e)return e}let n=null==(r=this._cellCache.get(e))?void 0:r.get(t);return void 0===n?-1:n}getMergeDataSnapshot(){return this._mergeData}dispose(){this._clearCache(),this._mergeData=[]}},ag=class extends tu{constructor(e){super(),this.getRawCell=e,Bl(this,"_cellContentInterceptor",null),Bl(this,"_rowFilteredInterceptor",null)}dispose(){super.dispose(),this._cellContentInterceptor=null,this._rowFilteredInterceptor=null}getCell(e,t,r,n){return this._cellContentInterceptor?this._cellContentInterceptor.getCell(e,t,Vl.Value|Vl.Style,r,n):this.getRawCell(e,t)}getCellValueOnly(e,t){return this._cellContentInterceptor?this._cellContentInterceptor.getCell(e,t,Vl.Value):this.getRawCell(e,t)}getCellStyleOnly(e,t){return this._cellContentInterceptor?this._cellContentInterceptor.getCell(e,t,Vl.Style):this.getRawCell(e,t)}getRowFiltered(e){var t,r;return null!=(t=null==(r=this._rowFilteredInterceptor)?void 0:r.getRowFiltered(e))&&t}registerCellContentInterceptor(e){if(this._cellContentInterceptor)throw Error("[SheetViewModel]: Interceptor already registered.");return this._cellContentInterceptor=e,Jl(()=>this._cellContentInterceptor=null)}registerRowFilteredInterceptor(e){if(this._rowFilteredInterceptor)throw Error("[SheetViewModel]: Interceptor already registered.");return this._rowFilteredInterceptor=e,Jl(()=>this._rowFilteredInterceptor=null)}};const og={isDeepClone:!1,displayRawFormula:!1,ignoreTextRotation:!1};var sg=class e{constructor(e,t,r){var n;this.unitId=e,this._styles=r,Bl(this,"_sheetId",void 0),Bl(this,"_snapshot",void 0),Bl(this,"_cellData",void 0),Bl(this,"_rowManager",void 0),Bl(this,"_columnManager",void 0),Bl(this,"_viewModel",void 0),Bl(this,"_spanModel",void 0),Bl(this,"_isRowStylePrecedeColumnStyle",!0),Bl(this,"_getCellHeight",void 0),this._snapshot=ng(t);let{columnData:i,rowData:a,cellData:o}=this._snapshot;this._sheetId=null==(n=this._snapshot.id)?cu(6):n,this._cellData=new kd(o),this._viewModel=new ag((e,t)=>this.getCellRaw(e,t)),this._rowManager=new rg(this._snapshot,this._viewModel,a),this._columnManager=new tg(this._snapshot,i),this._spanModel=new ig(this._snapshot.mergeData)}__interceptViewModel(e){e(this._viewModel)}__registerGetCellHeight(e){return this._getCellHeight=e,Jl(()=>{this._getCellHeight=null})}getSnapshot(){return this._snapshot}getCellHeight(e,t){return this._getCellHeight?this._getCellHeight(e,t):this._snapshot.defaultRowHeight}setMergeData(e){this._snapshot.mergeData=e,this.getSpanModel().rebuild(e)}getSpanModel(){return this._spanModel}setIsRowStylePrecedeColumnStyle(e){this._isRowStylePrecedeColumnStyle=e}getStyleDataByHash(e){return{...this._styles.get(e)}}setStyleData(e){return this._styles.setValue(e)}getColumnStyle(e,t=!1){return t?this._columnManager.getColumnStyle(e):this._styles.get(this._columnManager.getColumnStyle(e))}setColumnStyle(e,t){this._columnManager.setColumnStyle(e,t)}getRowStyle(e,t=!1){return t?this._rowManager.getRowStyle(e):this._styles.get(this._rowManager.getRowStyle(e))}setRowStyle(e,t){this._rowManager.setRowStyle(e,t)}getDefaultCellStyle(){return this._snapshot.defaultStyle}getDefaultCellStyleInternal(){let e=this._snapshot.defaultStyle;return this._styles.get(e)}setDefaultCellStyle(e){this._snapshot.defaultStyle=e}getCellStyle(e,t){let r=this.getCell(e,t);if(r){let e=r.s;return"string"==typeof e?this._styles.get(e):e}return null}getComposedCellStyle(e,t,r){let n=this.getDefaultCellStyleInternal(),i=this.getRowStyle(e),a=this.getColumnStyle(t),o=this.getCell(e,t),s=this._styles.getStyleByCell(o);return(null==r?this._isRowStylePrecedeColumnStyle:r)?du(n,a,i,null==o?void 0:o.themeStyle,s):du(n,i,a,null==o?void 0:o.themeStyle,s)}getComposedCellStyleByCellData(e,t,r,n){let i=this.getDefaultCellStyleInternal(),a=this.getRowStyle(e),o=this.getColumnStyle(t),s=this._styles.getStyleByCell(r);return(null==n?this._isRowStylePrecedeColumnStyle:n)?du(i,o,a,null==r?void 0:r.themeStyle,s):du(i,a,o,null==r?void 0:r.themeStyle,s)}getComposedCellStyleWithoutSelf(e,t,r,n){let i=void 0===r?this.getComposedCellStyle(e,t,n):this.getComposedCellStyleByCellData(e,t,r,n),a=this.getCellRaw(e,t);if(!a||!a.s)return i;let o="string"==typeof a.s?this._styles.get(a.s):a.s;if(!o)return i;for(let e in o)e in i&&delete i[e];return i}getCellMatrix(){return this._cellData}getCellMatrixPrintRange(){let e=this.getCellMatrix(),t=this.getMergeData(),r=-1,n=-1,i=-1,a=-1,o=!1,s=!1;return e.forEach((t,l)=>{Object.keys(l).forEach(l=>{let u=+l,c=e.getValue(t,u),d=null!=c&&c.s?this._styles.get(c.s):null,h=(null==d?void 0:d.bd)&&(d.bd.b||d.bd.l||d.bd.r||d.bd.t||d.bd.bc_tr||d.bd.bl_tr||d.bd.ml_tr||d.bd.tl_bc||d.bd.tl_br||d.bd.tl_mr);(c&&(null!==c.v&&void 0!==c.v&&""!==c.v||c.p)||null!=d&&d.bg||h)&&(o?r=Math.min(r,t):(r=t,o=!0),n=Math.max(n,t),s?i=Math.min(i,u):(s=!0,i=u),a=Math.max(a,u))})}),t.forEach(e=>{o?r=Math.min(r,e.startRow):(r=e.startRow,o=!0),n=Math.max(n,e.endRow),s?i=Math.min(i,e.startColumn):(i=e.startColumn,o=!0),a=Math.max(a,e.endColumn)}),o&&s?{startColumn:i,startRow:r,endColumn:a,endRow:n}:null}getRowManager(){return this._rowManager}getUnitId(){return this.unitId}getSheetId(){return this._sheetId}getColumnManager(){return this._columnManager}getName(){return this._snapshot.name}clone(){let{_snapshot:t}=this,r=eg(t);return new e(this.unitId,r,this._styles)}getMergeData(){return this._spanModel.getMergeDataSnapshot()}getMergedCell(e,t){return this._spanModel.getMergedCell(e,t)}getMergedCellRange(e,t,r,n){return this._spanModel.getMergedCellRange(e,t,r,n)}isRowContainsMergedCell(e){return this._spanModel.isRowContainsMergedCell(e)}isColumnContainsMergedCell(e){return this._spanModel.isColumnContainsMergedCell(e)}getCellInfoInMergeData(e,t){let r=this.getMergedCell(e,t),n=!1,i=!1,a=e,o=t,s=e,l=t;if(r){let{startRow:u,endRow:c,startColumn:d,endColumn:h}=r;e===u&&t===d?(a=c,o=h,s=u,l=d,i=!0):e>=u&&e<=c&&t>=d&&t<=h&&(a=c,o=h,s=u,l=d,n=!0)}return{actualRow:e,actualColumn:t,isMergedMainCell:i,isMerged:n,endRow:a,endColumn:o,startRow:s,startColumn:l}}getCell(e,t){return e<0||t<0?null:this._viewModel.getCell(e,t)}getCellValueOnly(e,t){return e<0||t<0?null:this._viewModel.getCellValueOnly(e,t)}getCellStyleOnly(e,t){return e<0||t<0?null:this._viewModel.getCellStyleOnly(e,t)}getCellRaw(e,t){return this.getCellMatrix().getValue(e,t)}getCellWithFilteredInterceptors(e,t,r,n){return this._viewModel.getCell(e,t,r,n)}getRowFiltered(e){return this._viewModel.getRowFiltered(e)}getRangeFilterRows(e){let t=[];for(let r=e.startRow;r<=e.endRow;r++)this.getRowFiltered(r)&&t.push(r);return t}getMatrixWithMergedCells(e,t,r,n,i=yd.Raw){let a=this.getCellMatrix(),o=this._spanModel.getMergedCellRange(e,t,r,n),s=new kd;return Bh(e,r,t,n).forEach((e,t)=>{let r;if(i===yd.Raw)r=this.getCellRaw(e,t);else if(i===yd.Intercepted)r=this.getCell(e,t);else if(i===yd.Both){let i=this.getCellRaw(e,t);if(i){var n;r={...i};let a=null==(n=this.getCell(e,t))?void 0:n.v;zf(a)&&r&&(r.displayV=String(a))}}r&&s.setValue(e,t,r)}),o.forEach(e=>{let{startColumn:t,startRow:r,endColumn:n,endRow:i}=e;Bh(r,i,t,n).forEach((e,o)=>{e===r&&o===t&&s.setValue(e,o,{...a.getValue(e,o),rowSpan:i-r+1,colSpan:n-t+1}),(e!==r||o!==t)&&s.realDeleteValue(e,o)})}),s}getRange(e,t,r,n){return new Sh(this,"object"==typeof e?e:{startRow:e,startColumn:t,endColumn:n||t,endRow:r||e},{getStyles:()=>this._styles})}getScrollLeftTopFromSnapshot(){return{scrollLeft:this._snapshot.scrollLeft,scrollTop:this._snapshot.scrollTop}}getZoomRatio(){return this._snapshot.zoomRatio||1}getConfig(){return this._snapshot}getFreeze(){return this._snapshot.freeze}getMaxColumns(){let{_snapshot:e}=this,{columnCount:t}=e;return t}getMaxRows(){let{_snapshot:e}=this,{rowCount:t}=e;return t}getRowCount(){return this._snapshot.rowCount}setRowCount(e){this._snapshot.rowCount=e}getColumnCount(){return this._snapshot.columnCount}setColumnCount(e){this._snapshot.columnCount=e}isSheetHidden(){return this._snapshot.hidden}hasHiddenGridlines(){let{_snapshot:e}=this,{showGridlines:t}=e;return 0===t}getGridlinesColor(){return this.getConfig().gridlinesColor}getTabColor(){let{_snapshot:e}=this,{tabColor:t}=e;return t}getColumnWidth(e){return this.getColumnManager().getColumnWidth(e)}getRowHeight(e){return this._viewModel.getRowFiltered(e)?0:this.getRowManager().getRowHeight(e)}isRowFiltered(e){return this._viewModel.getRowFiltered(e)}getRowVisible(e){return!this.isRowFiltered(e)&&this.getRowRawVisible(e)}getRowRawVisible(e){return this.getRowManager().getRowRawVisible(e)}getHiddenRows(e,t){let r=this.getMaxColumns()-1,n=this._rowManager.getHiddenRows(e,t);return n.forEach(e=>e.endColumn=r),n}getColVisible(e){return this._columnManager.getColVisible(e)}getHiddenCols(e,t){let r=this.getMaxRows()-1,n=this._columnManager.getHiddenCols(e,t);return n.forEach(e=>e.endRow=r),n}getVisibleRows(){let e=this.getRowCount();return this._rowManager.getVisibleRows(0,e-1)}getVisibleCols(){let e=this.getColumnCount();return this._columnManager.getVisibleCols(0,e-1)}isRightToLeft(){let{_snapshot:e}=this,{rightToLeft:t}=e;return t}getLastRowWithContent(){return this._cellData.getRealRowRange().endRow}getLastColumnWithContent(){return this.getDataRealRange().endColumn}getDataRealRange(){return this._cellData.getRealRange()}getDataRangeScope(){return this._cellData.getStartEndScope()}cellHasValue(e){return e&&(void 0!==e.v||void 0!==e.f||void 0!==e.p)}iterateByRow(e,t=!0){let{startRow:r,startColumn:n,endRow:i,endColumn:a}=e,o=this;return{[Symbol.iterator]:()=>{let e=r,s=n;return{next(){for(;;){if(s>a&&(e+=1,s=n),e>i)return{done:!0,value:void 0};let r=o.getCell(e,s),l=!r,u=o.getMergedCell(e,s);if(u){if(e!==u.startRow||s!==u.startColumn){s=u.endColumn+1;continue}if(l&&t){s=u.endColumn+1;continue}let n={row:e,col:s,value:r};return n.colSpan=u.endColumn-u.startColumn+1,n.rowSpan=u.endRow-u.startRow+1,s=u.endColumn+1,{done:!1,value:n}}if(!l||!t){let t={row:e,col:s,value:r};return s+=1,{done:!1,value:t}}s+=1}}}}}}iterateByColumn(e,t=!0,r=!0){let{startRow:n,startColumn:i,endRow:a,endColumn:o}=e,s=this;return{[Symbol.iterator]:()=>{let e=n,l=i;return{next(){for(;;){if(e>a&&(l+=1,e=n),l>o)return{done:!0,value:void 0};let i=s.getMergedCell(e,l);if(i){let n=e!==i.startRow,a=n||l!==i.startColumn;if(r&&a||!r&&n){e=i.endRow+1;continue}let o=s.getCell(i.startRow,i.startColumn);if(!o&&t){e=i.endRow+1;continue}let u={row:e,col:i.startColumn,value:o};return u.colSpan=i.endColumn-i.startColumn+1,u.rowSpan=i.endRow-i.startRow+1,e=i.endRow+1,{done:!1,value:u}}let u=s.getCell(e,l);if(u||!t){let t={row:e,col:l,value:u};return e+=1,{done:!1,value:t}}e+=1}}}}}}getCellDocumentModel(e,t,r=og){var n;if(!e)return;let i,{isDeepClone:a,displayRawFormula:o,ignoreTextRotation:s}={...og,...r},l="document",u=function(e){if(!e)return{};let{tr:t,td:r,ht:n,vt:i,tb:a,pd:o}=e;return{textRotation:t,textDirection:r,horizontalAlign:n,verticalAlign:i,wrapStrategy:a,paddingData:o}}(t),c=s?vh.tr:u.textRotation||vh.tr,d=u.horizontalAlign||vh.ht,h=u.verticalAlign||vh.vt,m=u.wrapStrategy||vh.tb,f=u.paddingData||Ff;if(e.f&&o)i=jf(e.f.toString(),{},{verticalAlign:h}),d=vh.ht;else if(e.p){let{centerAngle:t,vertexAngle:r}=Gf(c);i=this._updateConfigAndGetDocumentModel(a?uu.deepClone(e.p):e.p,d,f,{horizontalAlign:d,verticalAlign:h,centerAngle:t,vertexAngle:r,wrapStrategy:m,zeroWidthParagraphBreak:1})}else if(null!=e.v){let r=Hf(t);l=qf(r).fontCache;let n=lg(e);e.t===Fu.FORCE_STRING&&o&&(n=`'${n}`),i=jf(n,r,{...u,textRotation:c,cellValueType:e.t})}return i&&e.linkUrl&&e.linkId&&Wf(i,e.linkUrl,e.linkId),{documentModel:i,fontString:l,textRotation:c,wrapStrategy:m,verticalAlign:h,horizontalAlign:d,paddingData:f,fill:null==t||null==(n=t.bg)?void 0:n.rgb}}_updateConfigAndGetDocumentModel(e,t,r,n){var i,a,o,s,l;if(!n||null==(i=e.body)||!i.dataStream)return;e.documentStyle||(e.documentStyle={}),e.documentStyle.marginTop=null==(a=r.t)?0:a,e.documentStyle.marginBottom=null==(o=r.b)?2:o,e.documentStyle.marginLeft=null==(s=r.l)?2:s,e.documentStyle.marginRight=null==(l=r.r)?2:l,e.documentStyle.pageSize={width:1/0,height:1/0},e.documentStyle.renderConfig={...e.documentStyle.renderConfig,...n};let u=e.body.paragraphs||[];for(let e of u)e.paragraphStyle||(e.paragraphStyle={}),e.paragraphStyle.horizontalAlign=t;return new Wm(e)}getBlankCellDocumentModel(e,t,r){let n=this.getComposedCellStyleByCellData(t,r,e),i=Hf(n),a=this.getCellDocumentModel(e,n,{ignoreTextRotation:!0});if(null!=a)return null==a.documentModel&&(a.documentModel=jf("",i)),a;let o="document",s=vh.tr,l=vh.ht,u=vh.vt,c=vh.tb,d=Ff;return o=qf({}).fontCache,{documentModel:jf("",i),fontString:o,textRotation:s,wrapStrategy:c,verticalAlign:u,horizontalAlign:l,paddingData:d}}getCellDocumentModelWithFormula(e,t,r){let n=this.getComposedCellStyleByCellData(t,r,e);return this.getCellDocumentModel(e,n,{isDeepClone:!0,displayRawFormula:!0,ignoreTextRotation:!0})}getCustomMetadata(){return this._snapshot.custom}setCustomMetadata(e){this._snapshot.custom=e}};function lg(e){var t;if(!e)return"";let r=null==(t=e.p)||null==(t=t.body)?void 0:t.dataStream;if(r)return Jm.transform.getPlainText(r);let n=e.v;return"string"==typeof n?e.t===Fu.BOOLEAN?n.toUpperCase():n.replace(/[\r\n]/g,""):"number"==typeof n?e.t===Fu.BOOLEAN?n?"TRUE":"FALSE":n.toString():"boolean"==typeof n?n?"TRUE":"FALSE":""}let ug=class extends nu{get _activeSheet(){return this._activeSheet$.getValue()}get name(){return this._name$.getValue()}static isIRangeType(e){return"string"==typeof e||"startRow"in e||"row"in e}constructor(e={},t){super(),this._logService=t,Bl(this,"type",Pi.UNIVER_SHEET),Bl(this,"_sheetCreated$",new On),Bl(this,"sheetCreated$",this._sheetCreated$.asObservable()),Bl(this,"_sheetDisposed$",new On),Bl(this,"sheetDisposed$",this._sheetDisposed$.asObservable()),Bl(this,"_activeSheet$",new Qn(null)),Bl(this,"activeSheet$",this._activeSheet$.asObservable()),Bl(this,"_worksheets",void 0),Bl(this,"_styles",void 0),Bl(this,"_snapshot",void 0),Bl(this,"_unitId",void 0),Bl(this,"_count",void 0),Bl(this,"_name$",void 0),Bl(this,"name$",void 0);let r=function(e="",t=Iu.ZH_CN,r=""){return{id:e,sheetOrder:[],name:r,appVersion:Uf,locale:t,styles:{},sheets:{},resources:[]}}();uu.isEmptyObject(e)?this._snapshot=r:this._snapshot=uu.commonExtend(r,e);let{styles:n}=this._snapshot;(null==this._snapshot.id||0===this._snapshot.id.length)&&(this._snapshot.id=cu(6)),this._unitId=this._snapshot.id,this._styles=new Bf(n),this._count=1,this._worksheets=new Map,this._name$=new Qn(e.name||""),this.name$=this._name$.asObservable(),this._parseWorksheetSnapshots()}dispose(){super.dispose(),this._sheetCreated$.complete(),this._sheetDisposed$.complete(),this._activeSheet$.complete(),this._name$.complete(),Array.from(this._worksheets.keys()).forEach(e=>{this._removeSheet(e)})}save(){return uu.deepClone(this._snapshot)}getSnapshot(){return this._snapshot}getName(){return this._snapshot.name}setName(e){this._name$.next(e),this._snapshot.name=e}getUnitId(){return this._unitId}getRev(){var e;return null==(e=this._snapshot.rev)?1:e}incrementRev(){this._snapshot.rev=this.getRev()+1}setRev(e){this._snapshot.rev=e}addWorksheet(e,t,r){let{sheets:n,sheetOrder:i}=this._snapshot;if(n[e])return!1;n[e]=r,i.splice(t,0,e),this.ensureSheetOrderUnique();let a=new sg(this._unitId,r,this._styles);return this._worksheets.set(e,a),this._sheetCreated$.next(a),!0}getSheetOrders(){return this._snapshot.sheetOrder}ensureSheetOrderUnique(){let e=new Set,t=[];for(let r of this._snapshot.sheetOrder)e.has(r)||(e.add(r),t.push(r));this._snapshot.sheetOrder=t,e.clear()}getWorksheets(){return this._worksheets}getActiveSpreadsheet(){return this}getStyles(){return this._styles}addStyles(e){Object.entries(e).forEach(([e,t])=>{this._styles.addCustomStyle(e,t)})}removeStyles(e){e.forEach(e=>{this._styles.remove(e)})}getConfig(){return this._snapshot}getIndexBySheetId(e){let{sheetOrder:t}=this._snapshot;return t.findIndex(t=>t===e)}getActiveSheet(e){if(!this._activeSheet&&void 0===e)throw Error(`[Workbook]: no active Worksheet on Workbook ${this._unitId}!`);return this._activeSheet}ensureActiveSheet(){let e=this._activeSheet;if(e)return e;let t=this._snapshot.sheetOrder;for(let e=0,r=t.length;ethis._worksheets.get(e)===this._activeSheet)}getSheetSize(){return this._snapshot.sheetOrder.length}getSheets(){let{sheetOrder:e}=this._snapshot;return e.map(e=>this._worksheets.get(e))}getSheetsName(){let{sheetOrder:e}=this._snapshot,t=[];return e.forEach(e=>{let r=this._worksheets.get(e);r&&t.push(r.getName())}),t}getSheetIndex(e){let{sheetOrder:t}=this._snapshot;return t.findIndex(t=>e.getSheetId()===t)}getSheetBySheetName(e){let{sheetOrder:t}=this._snapshot,r=t.find(t=>this._worksheets.get(t).getName()===e);return this._worksheets.get(r)}getSheetBySheetId(e){return this._worksheets.get(e)}getSheetByIndex(e){let{sheetOrder:t}=this._snapshot;return this._worksheets.get(t[e])}getHiddenWorksheets(){return this.getSheets().filter(e=>e.getConfig().hidden===Vu.TRUE).map(e=>e.getConfig().id)}getUnhiddenWorksheets(){return this.getSheets().filter(e=>e.getConfig().hidden!==Vu.TRUE).map(e=>e.getConfig().id)}load(e){this._snapshot=e}checkSheetName(e){return this.getSheetsName().some(t=>t.toLowerCase()===e.toLowerCase())}uniqueSheetName(e="Sheet1"){let t=e;for(;this.checkSheetName(t);)t=e+this._count,this._count++;return t}generateNewSheetName(e){let t=e+this._count;for(;this.checkSheetName(t);)t=e+this._count,this._count++;return t}_parseWorksheetSnapshots(){let{_snapshot:e,_worksheets:t}=this,{sheets:r,sheetOrder:n}=e;if(uu.isEmptyObject(r)){let e=cu();r[e]={id:e}}for(let e in r){let i=r[e],{name:a}=i;i.name=this.uniqueSheetName(a),i.name!==a&&this._logService.debug("[Workbook]",`The worksheet name ${a} is duplicated, we changed it to ${i.name}. Please fix the problem in your snapshot.`);let o=new sg(this._unitId,i,this._styles);t.set(e,o),n.includes(e)||n.push(e)}this.ensureSheetOrderUnique(),this.ensureActiveSheet()}getCustomMetadata(){return this._snapshot.custom}setCustomMetadata(e){this._snapshot.custom=e}};ug=Uc([Dc(1,kc)],ug);var cg=class extends nu{get _activePage(){let e=this._activePage$.getValue();if(!e){var t,r;let e=null==(t=this.getPageOrder())?void 0:t[0];return e?null==(r=this.getPages())?void 0:r[e]:null}return e}constructor(e){var t;super(),Bl(this,"type",Pi.UNIVER_SLIDE),Bl(this,"_activePage$",new Qn(null)),Bl(this,"activePage$",this._activePage$.asObservable()),Bl(this,"_name$",void 0),Bl(this,"name$",void 0),Bl(this,"_snapshot",void 0),Bl(this,"_unitId",void 0),this._snapshot={...bh,...e},this._unitId=null==(t=this._snapshot.id)?cu(6):t,this._name$=new Qn(this._snapshot.title),this.name$=this._name$.asObservable()}setName(e){var t;this._snapshot.title=e,this._name$.next(e),this._unitId=null==(t=this._snapshot.id)?cu(6):t}getRev(){return 0}incrementRev(){}setRev(e){}getSnapshot(){return this._snapshot}getUnitId(){return this._unitId}getPages(){var e;return null==(e=this._snapshot.body)?void 0:e.pages}getPageOrder(){var e;return null==(e=this._snapshot.body)?void 0:e.pageOrder}getPage(e){let t=this.getPages();return null==t?void 0:t[e]}getElementsByPage(e){var t;return null==(t=this.getPage(e))?void 0:t.pageElements}getElement(e,t){var r;return null==(r=this.getElementsByPage(e))?void 0:r[t]}getPageSize(){return this._snapshot.pageSize}getBlankPage(){let e=cu(6);return{id:e,pageType:Cc.SLIDE,zIndex:10,title:e,description:"",pageBackgroundFill:{rgb:"rgb(255,255,255)"},pageElements:{}}}setActivePage(e){this._activePage$.next(e)}getActivePage(){return this._activePage}updatePage(e,t){this._snapshot.body&&(this._snapshot.body.pages[e]=t)}appendPage(e){var t;if(!this._snapshot.body)return;this._snapshot.body.pages[e.id]=e;let r=this._activePage,n=this._snapshot.body.pageOrder.indexOf(null==(t=null==r?void 0:r.id)?"":t);this._snapshot.body.pageOrder.splice(n+1,0,e.id)}};const dg=V("univer.current");let hg=class extends tu{constructor(e,t,r){super(),this._injector=e,this._contextService=t,this._logService=r,Bl(this,"_unitsByType",new Map),Bl(this,"_createHandler",void 0),Bl(this,"_ctorByType",new Map),Bl(this,"_currentUnits",new Map),Bl(this,"_currentUnits$",new Qn(this._currentUnits)),Bl(this,"currentUnits$",this._currentUnits$.asObservable()),Bl(this,"_unitAdded$",new On),Bl(this,"unitAdded$",this._unitAdded$.asObservable()),Bl(this,"_unitDisposed$",new On),Bl(this,"unitDisposed$",this._unitDisposed$.asObservable()),Bl(this,"_focused$",new Qn(null)),Bl(this,"focused$",this._focused$.asObservable())}dispose(){super.dispose(),this._focused$.complete(),this._currentUnits$.complete(),this._unitAdded$.complete(),this._currentUnits.forEach(e=>null==e?void 0:e.dispose()),this._currentUnits.clear(),this._unitsByType.clear()}__setCreateHandler(e){this._createHandler=e}createUnit(e,t,r){return this._createHandler(e,t,this._ctorByType.get(e),r)}registerCtorForType(e,t){return this._ctorByType.set(e,t),{dispose:()=>{this._ctorByType.delete(e)}}}getCurrentTypeOfUnit$(e){return this.currentUnits$.pipe(Yn(t=>{var r;return null==(r=t.get(e))?null:r}),Zn())}getCurrentUnitForType(e){return this._currentUnits.get(e)}getCurrentUnitOfType(e){return this.getCurrentUnitForType(e)}setCurrentUnitForType(e){let t=this._getUnitById(e);if(!t)throw Error(`[UniverInstanceService]: no document with unitId ${e}!`);this._currentUnits.set(t[1],t[0]),this._currentUnits$.next(this._currentUnits)}getTypeOfUnitAdded$(e){return this._unitAdded$.pipe(Un(t=>t.type===e))}__addUnit(e,t){var r;this._logService.debug(`[UniverInstanceService]: Adding unit with id ${e.getUnitId()}`);let n=e.type;this._unitsByType.has(n)||this._unitsByType.set(n,[]);let i=this._unitsByType.get(n),a=e.getUnitId();if(-1!==i.findIndex(e=>e.getUnitId()===a))throw Error(`[UniverInstanceService]: cannot create a unit with the same unit id: ${a}.`);i.push(e),this._unitAdded$.next(e),(null==(r=null==t?void 0:t.makeCurrent)||r)&&this.setCurrentUnitForType(e.getUnitId())}getTypeOfUnitDisposed$(e){return this.unitDisposed$.pipe(Un(t=>t.type===e))}getUnit(e,t){var r;let n=null==(r=this._getUnitById(e))?void 0:r[0];return t&&(null==n?void 0:n.type)!==t?null:n}getCurrentUniverDocInstance(){return this.getCurrentUnitForType(Pi.UNIVER_DOC)}getUniverDocInstance(e){return this.getUnit(e,Pi.UNIVER_DOC)}getUniverSheetInstance(e){return this.getUnit(e,Pi.UNIVER_SHEET)}getAllUnitsForType(e){var t;return null==(t=this._unitsByType.get(e))?[]:t}changeDoc(e,t){let r=this.getAllUnitsForType(Pi.UNIVER_DOC),n=r.find(t=>t.getUnitId()===e);if(null!=n){let e=r.indexOf(n);r.splice(e,1)}this.__addUnit(t)}get focused(){var e;let t=this._focused$.getValue();return t?null==(e=this._getUnitById(t))?void 0:e[0]:null}focusUnit(e){this._focused$.next(e),this.focused instanceof ug?(this._contextService.setContextValue(Cf,!0),this._contextService.setContextValue(_f,!1),this._contextService.setContextValue(yf,!0),this._contextService.setContextValue(wf,!1),this.setCurrentUnitForType(e)):this.focused instanceof Wm?(this._contextService.setContextValue(Cf,!0),this._contextService.setContextValue(_f,!0),this._contextService.setContextValue(yf,!1),this._contextService.setContextValue(wf,!1),this.setCurrentUnitForType(e)):this.focused instanceof cg?(this._contextService.setContextValue(Cf,!0),this._contextService.setContextValue(_f,!1),this._contextService.setContextValue(yf,!1),this._contextService.setContextValue(wf,!0),this.setCurrentUnitForType(e)):(this._contextService.setContextValue(Cf,!1),this._contextService.setContextValue(_f,!1),this._contextService.setContextValue(yf,!1),this._contextService.setContextValue(wf,!1))}getFocusedUnit(){return this.focused}getUnitType(e){let t=this._getUnitById(e);return t?t[1]:Pi.UNRECOGNIZED}disposeUnit(e){this._logService.debug(`[UniverInstanceService]: Disposing unit with id ${e}`);let t=this._getUnitById(e);if(!t)return this._logService.debug(`[UniverInstanceService]: No unit found with id ${e}`),!1;let[r,n]=t,i=this._unitsByType.get(n),a=i.indexOf(r);return i.splice(a,1),this._tryResetCurrentOnRemoval(e,n),this._tryResetFocusOnRemoval(e),this._unitDisposed$.next(r),r.dispose(),!0}_tryResetCurrentOnRemoval(e,t){let r=this.getCurrentUnitForType(t);(null==r?void 0:r.getUnitId())===e&&(this._currentUnits.set(t,null),this._currentUnits$.next(this._currentUnits))}_tryResetFocusOnRemoval(e){var t;(null==(t=this.focused)?void 0:t.getUnitId())===e&&this._focused$.next(null)}_getUnitById(e){for(let[t,r]of this._unitsByType){let n=r.find(t=>t.getUnitId()===e);if(n)return[n,t]}}};hg=Uc([Dc(0,Y(he)),Dc(1,Mc),Dc(2,Y(kc))],hg);let mg=function(e){return e[e.Starting=0]="Starting",e[e.Ready=1]="Ready",e[e.Rendered=2]="Rendered",e[e.Steady=3]="Steady",e}({});const fg={[mg.Starting]:"Starting",[mg.Ready]:"Ready",[mg.Rendered]:"Rendered",[mg.Steady]:"Steady"};var gg=class extends Error{constructor(e){super(`[LifecycleService]: lifecycle stage "${fg[e]}" will never be reached!`),this.name="LifecycleUnreachableError"}};let pg=class extends tu{constructor(e){super(),this._logService=e,Bl(this,"_lifecycle$",new Qn(mg.Starting)),Bl(this,"lifecycle$",this._lifecycle$.asObservable()),Bl(this,"_lock",!1),this._reportProgress(mg.Starting)}get stage(){return this._lifecycle$.getValue()}set stage(e){if(this._lock)throw Error("[LifecycleService]: cannot set new stage when related logic is all handled!");if(et>=e),Gc(t=>t===e),Yn(()=>{}))).catch(t=>"EmptyError"===t.name?Promise.reject(new gg(e)):Promise.reject(t))}subscribeWithPrevious(){return Ei(vg(this.stage),this._lifecycle$.pipe(Si(1))).pipe(Gc(e=>e===mg.Steady))}_reportProgress(e){this._logService.debug("[LifecycleService]",`lifecycle progressed to "${fg[e]}".`)}};function vg(e){switch(e){case mg.Starting:return Ai(mg.Starting);case mg.Ready:return Ai(mg.Starting,mg.Ready);case mg.Rendered:return Ai(mg.Starting,mg.Ready,mg.Rendered);default:return Ai(mg.Starting,mg.Ready,mg.Rendered,mg.Steady)}}pg=Uc([Dc(0,kc)],pg);const bg=V("ILocalStorageService");var Cg=class extends tu{get _currentLocale(){return this._currentLocale$.value}constructor(){super(),Bl(this,"_currentLocale$",new Qn(Iu.ZH_CN)),Bl(this,"currentLocale$",this._currentLocale$.asObservable()),Bl(this,"_locales",null),Bl(this,"localeChanged$",new On),Bl(this,"t",(e,...t)=>{if(!this._locales)throw Error("[LocaleService]: Locale not initialized");let r=e.split("."),n=this.resolveKeyPath(this._locales[this._currentLocale],r);if("string"==typeof n){let e=n;return t.forEach((t,r)=>{e=e.replace(`{${r}}`,t)}),e}return e}),this.disposeWithMe(Jl(()=>{this._locales=null,this._currentLocale$.complete(),this.localeChanged$.complete()}))}load(e){var t;this._locales=hr(null==(t=this._locales)?{}:t,e)}setLocale(e){this._currentLocale$.next(e),this.localeChanged$.next()}getLocales(){var e;return null==(e=this._locales)?void 0:e[this._currentLocale]}getCurrentLocale(){return this._currentLocale}resolveKeyPath(e,t){let r=t.shift();if(r&&e&&r in e){let n=e[r];return t.length>0&&("object"==typeof n||Array.isArray(n))?this.resolveKeyPath(n,t):n}return null}};let yg=class{constructor(e){this._userManagerService=e}async list(e){return{list:[{type:Ru.PERSON,mentions:[{objectType:Ru.PERSON,objectId:this._userManagerService.getCurrentUser().userID,label:this._userManagerService.getCurrentUser().name,metadata:{icon:this._userManagerService.getCurrentUser().avatar}}],metadata:{},title:"PEOPLE"}],page:e.page,size:e.size,total:1}}};yg=Uc([Dc(0,Y(gf))],yg);const _g=V("univer.service.mention-io");let wg=function(e){return e.INIT="init",e.FETCHING="fetching",e.DONE="done",e}({});const Eg=V("univer.permission-service");var Sg=class extends tu{constructor(...e){super(...e),Bl(this,"_permissionPointMap",new Map),Bl(this,"_permissionPointUpdate$",new On),Bl(this,"permissionPointUpdate$",this._permissionPointUpdate$.asObservable()),Bl(this,"_showComponents",!0)}setShowComponents(e){this._showComponents=e}getShowComponents(){return this._showComponents}deletePermissionPoint(e){let t=this._permissionPointMap.get(e);t&&(t.complete(),this._permissionPointMap.delete(e))}addPermissionPoint(e){let t=e instanceof Qn,r=t?e.getValue():e;return!!r.id&&(this._permissionPointMap.get(r.id)?(console.warn(`${r.id} PermissionPoint already exists`),!1):(this._permissionPointMap.set(r.id,t?e:new Qn(r)),this._permissionPointUpdate$.next(r),!0))}updatePermissionPoint(e,t){let r=this._permissionPointMap.get(e);if(!r)return;let n=r.getValue();n.value=t,n.status=wg.DONE,r.next(n),this._permissionPointUpdate$.next(n)}clearPermissionMap(){this._permissionPointMap.clear()}getPermissionPoint(e){let t=this._permissionPointMap.get(e);if(t)return t.getValue()}getPermissionPoint$(e){let t=this._permissionPointMap.get(e);if(t)return t}composePermission$(e){return Oi(e.map(e=>{var t;let r=null==(t=this._permissionPointMap)?void 0:t.get(e);if(!r)throw Error(`[PermissionService]: ${e} permissionPoint does not exist!`);return r.asObservable()})).pipe(Yn(e=>e))}composePermission(e){return e.map(e=>{var t;let r=null==(t=this._permissionPointMap)?void 0:t.get(e);if(!r)throw Error(`[PermissionService]: ${e} permissionPoint does not exist!`);return r.getValue()})}getAllPermissionPoint(){let e=new Map;return this._permissionPointMap.forEach((t,r)=>{e.set(r,t)}),e}};function Ag(e,t){if(!t)return e;let r=[];for(let n of e){let e=t.find(([e])=>e===n[0]);if(e){if(null===e[1])continue;r.push([n[0],e[1]])}else r.push(n)}return r}const Ig=Symbol("DependentOn");var Rg=class extends tu{onStarting(){}onReady(){}onRendered(){}onSteady(){}getUnitType(){return this.constructor.type}getPluginName(){return this.constructor.pluginName}};Bl(Rg,"pluginName",void 0),Bl(Rg,"packageName","@univerjs/core"),Bl(Rg,"version",Uf),Bl(Rg,"type",Pi.UNIVER_UNKNOWN);var xg=class{constructor(){Bl(this,"_plugins",[])}addPlugin(e){this._plugins.push(e)}removePlugins(){let e=this._plugins.slice();return this._plugins.length=0,e}forEachPlugin(e){this._plugins.forEach(e)}};function Tg(...e){return function(t){t[Ig]=e}}let Ng=class{constructor(e,t,r){this._injector=e,this._lifecycleService=t,this._logService=r,Bl(this,"_pluginRegistry",new Map),Bl(this,"_pluginStore",new xg),Bl(this,"_seenPlugins",new Set),Bl(this,"_loadedPlugins",new Set),Bl(this,"_loadedPluginTypes",new Set([Pi.UNIVER_UNKNOWN])),Bl(this,"_flushTimerByType",new Map)}dispose(){this._pluginStore.removePlugins().forEach(e=>e.dispose()),this._flushTimerByType.forEach(e=>clearTimeout(e))}registerPlugin(e,t){this._assertPluginValid(e);let r={plugin:e,options:t};this._pluginRegistry.set(e.pluginName,r),this._logService.debug("[PluginService]",`Plugin "${e.pluginName}" registered.`);let{type:n}=e;this._loadedPluginTypes.has(n)&&(n===Pi.UNIVER_UNKNOWN?this._loadFromPlugins([r]):this._flushType(n))}startPluginsForType(e){this._loadedPluginTypes.has(e)||this._loadPluginsForType(e)}_loadPluginsForType(e){let t=Array.from(this._pluginRegistry.keys()),r=[];t.forEach(t=>{let n=this._pluginRegistry.get(t);n.plugin.type===e&&r.push(n)}),this._loadFromPlugins(r),this._loadedPluginTypes.add(e)}_assertPluginValid(e){let{type:t,pluginName:r,packageName:n,version:i}=e;if(t===Pi.UNRECOGNIZED)throw Error(`[PluginService]: invalid plugin type for ${e.name}. Please assign a "type" to your plugin.`);if(!r)throw Error(`[PluginService]: no plugin name for ${e.name}. Please assign a "pluginName" to your plugin.`);if(i&&i!==Rg.version)throw Error(`[PluginService]: package "${null==n?"UNKNOWN":n}" version mismatch. Plugin version is "${i}" but @univerjs/core version is "${Rg.version}". Please make sure all @univerjs packages use the same version.`);if(this._seenPlugins.has(r))throw Error(`[PluginService]: duplicated plugin name for "${r}". Maybe a plugin that dependents on "${r} has already registered it. In that case please register "${r}" before the that plugin.`);this._seenPlugins.add(e.pluginName)}_flushType(e){void 0===this._flushTimerByType.get(e)&&this._flushTimerByType.set(e,setTimeout(()=>{this._loadPluginsForType(e),this._flushTimerByType.delete(e)},4))}_loadFromPlugins(e){let t=[],r=new Set,n=e=>{let{plugin:i}=e,{pluginName:a}=i;if(this._loadedPlugins.has(a)||r.has(a))return;r.add(a),this._pluginRegistry.delete(a);let o=i[Ig];o&&o.forEach(e=>{let t=this._pluginRegistry.get(e.pluginName);if(t)n(t);else if(!this._seenPlugins.has(e.pluginName)&&!r.has(e.pluginName)){if(i.type===Pi.UNIVER_UNKNOWN&&e.type!==Pi.UNIVER_UNKNOWN)throw Error(`[PluginService]: cannot register a plugin with Univer type that depends on a plugin with other type. The dependent is ${i.pluginName} and the dependency is ${e.pluginName}.`);i.type!==e.type&&e.type!==Pi.UNIVER_UNKNOWN&&this._logService.debug("[PluginService]",`Plugin "${a}" depends on "${e.pluginName}" which has different type.`),this._logService.debug("[PluginService]",`Plugin "${a}" depends on "${e.pluginName}" which is not registered. Univer will automatically register it with default configuration.`),this._assertPluginValid(e),n({plugin:e,options:void 0})}}),t.push(e)};e.forEach(e=>n(e));let i=t.map(e=>this._initPlugin(e.plugin,e.options));this._pluginsRunLifecycle(i)}_pluginsRunLifecycle(e){let t=this._lifecycleService.stage;if(vg(t).subscribe(t=>this._runStage(e,t)),t!==mg.Steady){let t=this._lifecycleService.lifecycle$.pipe(Si(1)).subscribe(r=>{this._runStage(e,r),r===mg.Steady&&t.unsubscribe()})}}_runStage(e,t){e.forEach(e=>{switch(t){case mg.Starting:e.onStarting();break;case mg.Ready:e.onReady();break;case mg.Rendered:e.onRendered();break;case mg.Steady:e.onSteady()}})}_initPlugin(e,t){let r=this._injector.createInstance(e,t);return this._pluginStore.addPlugin(r),this._loadedPlugins.add(e.pluginName),this._logService.debug("[PluginService]",`Plugin "${r.getPluginName()}" loaded.`),r}};Ng=Uc([Dc(0,Y(he)),Dc(1,Y(pg)),Dc(2,kc)],Ng);const Mg=V("resource-loader-service");let Og=class extends tu{constructor(e){super(),this._logService=e,Bl(this,"_resourceMap",new Map),Bl(this,"_register$",new On),Bl(this,"register$",this._register$.asObservable())}getAllResourceHooks(){return[...this._resourceMap.values()]}getResources(e,t){return t?this.getResourcesByType(e,t):this.getAllResourceHooks().map(t=>{let r=t.toJson(e);return{name:t.pluginName,data:r}})}getResourcesByType(e,t){return this.getAllResourceHooks().filter(e=>e.businesses.includes(t)).map(t=>{let r=t.toJson(e);return{name:t.pluginName,data:r}})}registerPluginResource(e){let t=e.pluginName;if(this._resourceMap.has(t))throw Error(`the pluginName is registered {${t}}`);return this._resourceMap.set(t,e),this._register$.next(e),Jl(()=>this._resourceMap.delete(t))}disposePluginResource(e){this._resourceMap.delete(e)}loadResources(e,t){this.getAllResourceHooks().forEach(r=>{var n;let i=null==t||null==(n=t.find(e=>e.name===r.pluginName))?void 0:n.data;if(i)try{let t=r.parseJson(i);r.onLoad(e,t)}catch(e){this._logService.error("[ResourceManagerService]","loadResources error",e)}})}unloadResources(e,t){this.getAllResourceHooks().filter(e=>e.businesses.includes(t)).forEach(t=>{t.onUnLoad(e)})}dispose(){this._register$.complete(),this._resourceMap.clear()}};Og=Uc([Dc(0,kc)],Og);var Lg=class extends tu{get darkMode(){return this._darkMode$.getValue()}constructor(){super(),Bl(this,"_darkMode$",new Qn(!1)),Bl(this,"darkMode$",this._darkMode$.asObservable()),Bl(this,"_validColorCache",new Map),Bl(this,"_currentTheme",ll),Bl(this,"_currentTheme$",new Qn(this._currentTheme)),Bl(this,"currentTheme$",this._currentTheme$.asObservable()),this.disposeWithMe(Jl(()=>{this._currentTheme=ll,this._currentTheme$.complete(),this._darkMode$.complete()}))}isValidThemeColor(e){if(this._validColorCache.has(e))return this._validColorCache.get(e);let t=!1,r=e.split(".");if(1===r.length)t=e in ll;else if(2===r.length){let[e,n]=r;t=e in ll&&n in this._currentTheme[e]}return this._validColorCache.set(e,t),t}getCurrentTheme(){return this._currentTheme}setTheme(e){this._currentTheme=e,this._currentTheme$.next(e)}setDarkMode(e){this._darkMode$.next(e)}getColorFromTheme(e){return Rr(this._currentTheme,e)}},kg=function(e){return e[e.WAITING=0]="WAITING",e[e.CREATED=1]="CREATED",e}(kg||{});const Pg=V("univer.undo-redo.service");var Dg=class{dispose(){}async dispatchToHandlers(){return!1}};const Ug="univer.command.redo",Bg="univer.command.undo",Vg=new class extends Dg{constructor(...e){super(...e),Bl(this,"type",Bc.COMMAND),Bl(this,"id",Bg)}handler(e){let t=e.get(Pg),r=t.pitchTopUndoElement();if(!r)return!1;let n=e.get(Vc);return!!zc(r.undoMutations,n)&&(t.popUndoToRedo(),!0)}},Fg=new class extends Dg{constructor(...e){super(...e),Bl(this,"type",Bc.COMMAND),Bl(this,"id",Ug)}handler(e){let t=e.get(Pg),r=t.pitchTopRedoElement();if(!r)return!1;let n=e.get(Vc);return!!zc(r.redoMutations,n)&&(t.popRedoToUndo(),!0)}};let jg=class extends tu{constructor(e,t,r){super(),this._univerInstanceService=e,this._commandService=t,this._contextService=r,Bl(this,"undoRedoStatus$",void 0),Bl(this,"_undoRedoStatus$",new Qn({undos:0,redos:0})),Bl(this,"_undoStacks",new Map),Bl(this,"_redoStacks",new Map),Bl(this,"_batchingStatus",new Map),this.undoRedoStatus$=this._undoRedoStatus$.asObservable(),this.disposeWithMe(this._commandService.registerCommand(Vg)),this.disposeWithMe(this._commandService.registerCommand(Fg)),this.disposeWithMe(Jl(()=>this._undoRedoStatus$.complete())),this.disposeWithMe(Jl(this._univerInstanceService.focused$.subscribe(()=>this._updateStatus())))}pushUndoRedo(e){let{unitID:t}=e,r=this._getRedoStack(t,!0),n=this._getUndoStack(t,!0);if(r.length=0,this._batchingStatus.has(e.unitID)){let t=this._batchingStatus.get(e.unitID),r=this._pitchUndoElement(e.unitID);t!==kg.WAITING&&r?this._tryBatchingElements(r,e):(i(e),this._batchingStatus.set(e.unitID,kg.CREATED))}else i(e);function i(e){n.push(e),n.length>20&&n.splice(0,1)}this._updateStatus()}clearUndoRedo(e){let t=this._getRedoStack(e);t&&(t.length=0);let r=this._getUndoStack(e);r&&(r.length=0),this._updateStatus()}pitchTopUndoElement(){let e=this._getFocusedUnitId();return this._pitchUndoElement(e)}pitchTopRedoElement(){let e=this._getFocusedUnitId();return this._pitchRedoElement(e)}_pitchUndoElement(e){let t=this._getUndoStack(e);return null!=t&&t.length?t[t.length-1]:null}_pitchRedoElement(e){let t=this._getRedoStack(e);return null!=t&&t.length?t[t.length-1]:null}popUndoToRedo(){let e=this._getUndoStackForFocused().pop();e&&(e.redoMutations.length>0&&this._getRedoStackForFocused().push(e),this._updateStatus())}popRedoToUndo(){let e=this._getRedoStackForFocused().pop();e&&(this._getUndoStackForFocused().push(e),this._updateStatus())}rollback(e,t){let r=t||this._getFocusedUnitId(),n=this._getUndoStack(r),i=null==n?void 0:n[(null==n?void 0:n.length)-1];i&&i.id===e&&(n.pop(),zc(i.undoMutations,this._commandService))}__tempBatchingUndoRedo(e){if(this._batchingStatus.has(e))throw Error("[LocalUndoRedoService]: cannot batching undo redo twice at the same time!");return this._batchingStatus.set(e,kg.WAITING),Jl(()=>this._batchingStatus.delete(e))}_updateStatus(){var e,t;let r=this._getFocusedUnitId(),n=r&&(null==(e=this._undoStacks.get(r))?void 0:e.length)||0,i=r&&(null==(t=this._redoStacks.get(r))?void 0:t.length)||0;this._undoRedoStatus$.next({undos:n,redos:i})}_getUndoStack(e,t=!1){let r=this._undoStacks.get(e);return!r&&t&&(r=[],this._undoStacks.set(e,r)),r||null}_getRedoStack(e,t=!1){let r=this._redoStacks.get(e);return!r&&t&&(r=[],this._redoStacks.set(e,r)),r||null}_getUndoStackForFocused(){let e=this._getFocusedUnitId();if(!e)throw Error("No focused univer instance!");return this._getUndoStack(e,!0)}_getRedoStackForFocused(){let e=this._getFocusedUnitId();if(!e)throw Error("No focused univer instance!");return this._getRedoStack(e,!0)}_tryBatchingElements(e,t){e.redoMutations.push(...t.redoMutations),e.undoMutations.push(...t.undoMutations)}_getFocusedUnitId(){let e="",t=this._contextService.getContextValue(yf),r=this._contextService.getContextValue(If),n=this._contextService.getContextValue(Sf);var i,a;if(t)if(r)e=Sl;else if(n)e=El;else{var o,s;e=null==(o=null==(s=this._univerInstanceService.getFocusedUnit())?void 0:s.getUnitId())?"":o}else e=null==(i=null==(a=this._univerInstanceService.getFocusedUnit())?void 0:a.getUnitId())?"":i;return e}};jg=Uc([Dc(0,dg),Dc(1,Vc),Dc(2,Mc)],jg);var Hg=class{constructor(e,t=1e3){this._injector=e,Bl(this,"_imageCacheMap",void 0),this._imageCacheMap=new hh(t)}_getImageCacheKey(e,t){return`${e}-${t}`}getImage(e,t,r,n){let i=this._getImageCacheKey(e,t);return this._imageCacheMap.get(i)||((async()=>{let a=new Image,o=this._injector.has(Pf)?this._injector.get(Pf):null,s=this._injector.has(Df)?this._injector.get(Df):null;if(e===Lf.UUID)try{a.src=await(null==o?void 0:o.getImage(t))||""}catch(e){console.error(e)}else if(e===Lf.URL)try{a.src=await(null==s?void 0:s.getImage(t))||t}catch{a.src=t}else a.src=t;a.onload=()=>{a.removeAttribute("data-error"),null==r||r()},a.onerror=()=>{a.setAttribute("data-error","true"),null==n||n()},this._imageCacheMap.set(i,a)})(),null)}},Wg=class{constructor(e=!1){this._enableOneCellCache=e,Bl(this,"_tree",new Map),Bl(this,"_oneCellCache",new Map),Bl(this,"_kdTree",new Map)}dispose(){this.clear()}getTree(e,t){return this._tree.has(e)||this._tree.set(e,new Map),this._tree.get(e).has(t)||this._tree.get(e).set(t,new Xs),this._tree.get(e).get(t)}_getOneCellCache(e,t,r,n){return this._oneCellCache.has(e)||this._oneCellCache.set(e,new Map),this._oneCellCache.get(e).has(t)||this._oneCellCache.get(e).set(t,new Map),this._oneCellCache.get(e).get(t).has(r)||this._oneCellCache.get(e).get(t).set(r,new Map),this._oneCellCache.get(e).get(t).get(r).has(n)||this._oneCellCache.get(e).get(t).get(r).set(n,new Set),this._oneCellCache.get(e).get(t).get(r).get(n)}_removeOneCellCache(e,t,r,n,i){let a=this._oneCellCache.get(e);if(!a)return;let o=a.get(t);if(!o)return;let s=o.get(r);if(!s)return;let l=s.get(n);l&&l.delete(i)}_removeCellCacheByRange(e){let{unitId:t,sheetId:r,range:n,id:i}=e,a=this._oneCellCache.get(t);if(!a)return;let o=a.get(r);if(!o)return;let{startRow:s,startColumn:l,endRow:u,endColumn:c}=n;for(let e=s;e<=u;e++){let t=o.get(e);if(t)for(let e=l;e<=c;e++){let r=t.get(e);r&&r.delete(i)}}}_insertOneCellCache(e,t,r,n,i){this._getOneCellCache(e,t,r,n).add(i)}_getRdTreeItems(e){let t=[];for(let[r,n]of e)for(let[e,i]of n)t.push({x:e,y:r,ids:i});return t}_searchByOneCellCache(e){var t;let{unitId:r,sheetId:n,range:i}=e,{startRow:a,startColumn:o,endRow:s,endColumn:l}=i,u=null==(t=this._kdTree.get(r))?void 0:t.get(n);if(!u)return[];let{tree:c,items:d}=u,h=c.range(o,a,l,s),m=[];for(let e of h){let t=d[e];m.push(...Array.from(t.ids))}return m}openKdTree(){for(let[t,r]of this._oneCellCache){this._kdTree.has(t)||this._kdTree.set(t,new Map);for(let[n,i]of r){var e;let r=this._getRdTreeItems(i),a=new cl(r.length);null==(e=this._kdTree.get(t))||e.set(n,{tree:a,items:r});for(let e of r)a.add(e.x,e.y);a.finish()}}}closeKdTree(){for(let[t,r]of this._oneCellCache)for(let[n,i]of r){var e;null==(e=this._kdTree.get(t))||e.set(n,void 0)}}insert(e){let{unitId:t,sheetId:r,range:n,id:i}=e;if(!t||0===t.length)return;let{startRow:a,endRow:o,startColumn:s,endColumn:l}=n;if(this._enableOneCellCache&&a===o&&s===l)return void this._insertOneCellCache(t,r,a,s,i);let u=this.getTree(t,r);Number.isNaN(a)&&(a=0),Number.isNaN(s)&&(s=0),Number.isNaN(o)&&(o=1/0),Number.isNaN(l)&&(l=1/0),u.insert({minX:s,minY:a,maxX:l,maxY:o,id:i})}bulkInsert(e){for(let t of e)this.insert(t)}*searchGenerator(e){var t;let{unitId:r,sheetId:n,range:i}=e;if(this._enableOneCellCache){let t=this._searchByOneCellCache(e);for(let e of t)yield e}let a=null==(t=this._tree.get(r))?void 0:t.get(n);if(!a)return;let o=a.search({minX:i.startColumn,minY:i.startRow,maxX:i.endColumn,maxY:i.endRow});for(let e of o)yield e.id}bulkSearch(e,t){let r=new Set;for(let n of e)for(let e of this.searchGenerator(n))!0!==(null==t?void 0:t.has(e))&&r.add(e);return r}removeById(e,t){var r,n;t?(null==(r=this._tree.get(e))||r.delete(t),null==(n=this._oneCellCache.get(e))||n.delete(t)):(this._tree.delete(e),this._oneCellCache.delete(e))}_removeRTreeItem(e){let{unitId:t,sheetId:r,range:n,id:i}=e,a=this.getTree(t,r),o=a.search({minX:n.startColumn,minY:n.startRow,maxX:n.endColumn,maxY:n.endRow});for(let e=0;e{e[r]={},t.forEach((t,n)=>{e[r][n]=t.toJSON()})}),e}fromJSON(e){this._tree.clear();for(let t in e){this._tree.set(t,new Map);for(let r in e[t]){let n=new Xs;n.fromJSON(e[t][r]),this._tree.get(t).set(r,n)}}}};let zg=class extends tu{constructor(e){super(),this._localeService=e,Bl(this,"_fontLocale",void 0),Bl(this,"_dirty",!0),this._localeInitial()}get dirty(){return this._dirty}getFontLocale(){return this._fontLocale}makeDirty(e){this._dirty=e}dispose(){super.dispose(),this._fontLocale=null}_localeInitial(){}};zg=Uc([Dc(0,Y(Cg))],zg);let Xg=class extends zg{constructor(e,t,r,n,i,a){super(r),this.worksheet=e,this._styles=t,this._contextService=n,this._configService=i,this._injector=a,Bl(this,"_worksheetData",void 0),Bl(this,"_renderRawFormula",!1),Bl(this,"_cellData",void 0),Bl(this,"_imageCacheMap",void 0),Bl(this,"_skipAutoHeightForMergedCells",!0),Bl(this,"_rowTotalHeight",0),Bl(this,"_columnTotalWidth",0),Bl(this,"_rowHeaderWidth",0),Bl(this,"_columnHeaderHeight",0),Bl(this,"_rowHeightAccumulation",[]),Bl(this,"_columnWidthAccumulation",[]),Bl(this,"_marginTop",0),Bl(this,"_marginLeft",0),Bl(this,"_scaleX",void 0),Bl(this,"_scaleY",void 0),Bl(this,"_scrollX",void 0),Bl(this,"_scrollY",void 0),this._worksheetData=this.worksheet.getConfig(),this._cellData=this.worksheet.getCellMatrix(),this._imageCacheMap=new Hg(this._injector),this.initConfig()}initConfig(){var e,t;this._skipAutoHeightForMergedCells=!(null!=(e=this._configService.getConfig(xl))&&e),this.worksheet.setIsRowStylePrecedeColumnStyle(null!=(t=this._configService.getConfig("isRowStylePrecedeColumnStyle"))&&t)}resetCache(){}getWorksheetConfig(){return this._worksheetData}getLocation(){return[this.worksheet.getUnitId(),this.worksheet.getSheetId()]}set columnHeaderHeight(e){this._columnHeaderHeight=e,this._worksheetData.columnHeader.height=e}set rowHeaderWidth(e){this._rowHeaderWidth=e,this._worksheetData.rowHeader.width=e}get rowHeightAccumulation(){return this._rowHeightAccumulation}get rowTotalHeight(){return this._rowTotalHeight}get columnWidthAccumulation(){return this._columnWidthAccumulation}get columnTotalWidth(){return this._columnTotalWidth}get rowHeaderWidth(){return this._rowHeaderWidth}get columnHeaderHeight(){return this._columnHeaderHeight}setMarginLeft(e){this._marginLeft=e}setMarginTop(e){this._marginTop=e}setScale(e,t){this._updateLayout(),this._scaleX=e,this._scaleY=t||e,this._updateLayout()}setScroll(e,t){uu.isDefine(e)&&(this._scrollX=e),uu.isDefine(t)&&(this._scrollY=t)}get scrollX(){return this._scrollX}get scrollY(){return this._scrollY}get scaleX(){return this._scaleX}get scaleY(){return this._scaleY}get rowHeaderWidthAndMarginLeft(){return this.rowHeaderWidth+this._marginLeft}get columnHeaderHeightAndMarginTop(){return this.columnHeaderHeight+this._marginTop}get imageCacheMap(){return this._imageCacheMap}_generateRowMatrixCache(e,t,r){let n=0,i=[],a=t;for(let t=0;t0?o:i,n.hd===Vu.TRUE&&(e=0)}n+=e,i.push(n)}return{rowTotalHeight:n,rowHeightAccumulation:i}}_generateColumnMatrixCache(e,t,r){let n=0,i=[],a=t;for(let t=0;tr){let o=this._columnWidthAccumulation.length-1;for(let s=t;s>=r;s--){let r=s;if(!Dd(this.worksheet.getCell(e,r))&&r!==t||this.intersectMergeRange(e,r))return r===t?r:r+1>o?o:r+1;let{startX:l,endX:u}=qg(e,r,this.rowHeightAccumulation,this.columnWidthAccumulation);if(i===Lu.CENTER&&r===t?a+=(u-l)/2:a+=u-l,n{e.businesses.forEach(t=>{switch(t){case Pi.UNRECOGNIZED:case Pi.UNIVER_UNKNOWN:case Pi.UNIVER_SLIDE:case Pi.UNIVER_DOC:this._univerInstanceService.getAllUnitsForType(Pi.UNIVER_DOC).forEach(t=>{let r=(t.getSnapshot().resources||[]).find(t=>t.name===e.pluginName);if(r)try{let n=e.parseJson(r.data);e.onLoad(t.getUnitId(),n)}catch{console.error(`Load Document{${t.getUnitId()}} Resources{${e.pluginName}} Data Error.`)}});break;case Pi.UNIVER_SHEET:this._univerInstanceService.getAllUnitsForType(Pi.UNIVER_SHEET).forEach(t=>{let r=(t.getSnapshot().resources||[]).find(t=>t.name===e.pluginName);if(r)try{let n=e.parseJson(r.data);e.onLoad(t.getUnitId(),n)}catch{console.error(`Load Workbook{${t.getUnitId()}} Resources{${e.pluginName}} Data Error.`)}})}})};this._resourceManagerService.getAllResourceHooks().forEach(t=>e(t)),this.disposeWithMe(this._resourceManagerService.register$.subscribe(t=>e(t))),this.disposeWithMe(this._univerInstanceService.getTypeOfUnitAdded$(Pi.UNIVER_SHEET).subscribe(e=>{this._resourceManagerService.loadResources(e.getUnitId(),e.getSnapshot().resources)})),this.disposeWithMe(this._univerInstanceService.getTypeOfUnitAdded$(Pi.UNIVER_DOC).subscribe(e=>{Nl(e.getUnitId())||this._resourceManagerService.loadResources(e.getUnitId(),e.getSnapshot().resources)})),this.disposeWithMe(this._univerInstanceService.getTypeOfUnitDisposed$(Pi.UNIVER_SHEET).subscribe(e=>{this._resourceManagerService.unloadResources(e.getUnitId(),Pi.UNIVER_SHEET)})),this.disposeWithMe(this._univerInstanceService.getTypeOfUnitDisposed$(Pi.UNIVER_DOC).subscribe(e=>{this._resourceManagerService.unloadResources(e.getUnitId(),Pi.UNIVER_DOC)}))}saveUnit(e){let t=this._univerInstanceService.getUnit(e);if(!t)return null;let r=this._resourceManagerService.getResources(e,t.type),n=uu.deepClone(t.getSnapshot());return n.resources=r,n}};Jg=Uc([Dc(0,Y(hf)),Dc(1,Y(dg))],Jg);var ep=class{get _univerInstanceService(){return this._injector.get(dg)}get _pluginService(){return this._injector.get(Ng)}constructor(e={},t){Bl(this,"_startedTypes",new Set),Bl(this,"_injector",void 0),Bl(this,"_disposingCallbacks",new eu);let r=this._injector=function(e,t){let r=Ag([[Of],[Cg],[Lg],[pg],[Ng],[gf],[dg,{useClass:hg}],[Eg,{useClass:Sg}],[kc,{useClass:Pc,lazy:!0}],[Vc,{useClass:Hc}],[Pg,{useClass:jg,lazy:!0}],[Tc,{useClass:Nc}],[Mc,{useClass:Oc}],[hf,{useClass:Og,lazy:!0}],[Mg,{useClass:Jg,lazy:!0}],[vf,{useClass:pf}],[_g,{useClass:yg,lazy:!0}]],t),n=e?e.createChild(r):new he(r);return Ol(n,[[gf],[Mg]]),n}(t,null==e?void 0:e.override),{theme:n,darkMode:i,locale:a,locales:o,logLevel:s,logCommandExecution:l}=e;n&&this._injector.get(Lg).setTheme(n),i&&this._injector.get(Lg).setDarkMode(i),o&&this._injector.get(Cg).load(o),a&&this._injector.get(Cg).setLocale(a),s&&this._injector.get(kc).setLogLevel(s),void 0!==l&&this._injector.get(Tc).setConfig("command.logExecution",l),this._init(r)}__getInjector(){return this._injector}onDispose(e){let t=this._disposingCallbacks.add(Jl(e));return Jl(()=>t.dispose(!0))}dispose(){this._disposingCallbacks.dispose(),this._injector.dispose()}setLocale(e){this._injector.get(Cg).setLocale(e)}createUnit(e,t){return this._univerInstanceService.createUnit(e,t)}createUniverSheet(e){return this._injector.get(kc).warn("[Univer]","Univer.createUniverSheet is deprecated, use createUnit instead"),this._univerInstanceService.createUnit(Pi.UNIVER_SHEET,e)}createUniverDoc(e){return this._injector.get(kc).warn("[Univer]","Univer.createUniverDoc is deprecated, use createUnit instead"),this._univerInstanceService.createUnit(Pi.UNIVER_DOC,e)}createUniverSlide(e){return this._injector.get(kc).warn("[Univer]","Univer.createUniverSlide is deprecated, use createUnit instead"),this._univerInstanceService.createUnit(Pi.UNIVER_SLIDE,e)}_init(e){this._univerInstanceService.registerCtorForType(Pi.UNIVER_SHEET,ug),this._univerInstanceService.registerCtorForType(Pi.UNIVER_DOC,Wm),this._univerInstanceService.registerCtorForType(Pi.UNIVER_SLIDE,cg);let t=e.get(dg);t.__setCreateHandler((r,n,i,a)=>{if(!this._startedTypes.has(r)){this._pluginService.startPluginsForType(r),this._startedTypes.add(r);let o=e.createInstance(i,n);return t.__addUnit(o,a),this._tryProgressToReady(),o}let o=e.createInstance(i,n);return t.__addUnit(o,a),o})}_tryProgressToReady(){this._injector.get(pg).stage{let[t,r]=e;this._pluginService.registerPlugin(t,r)})}};(function(){let e=new Map,t=0;"function"!=typeof pl.requestIdleCallback&&(pl.requestIdleCallback=function(r){let n=Date.now(),i=++t,a=setTimeout(function(){e.delete(i);let t=Math.max(0,50-(Date.now()-n));r({didTimeout:0===t,timeRemaining:()=>t})},1);return e.set(i,a),i}),"function"!=typeof pl.cancelIdleCallback&&(pl.cancelIdleCallback=function(t){let r=e.get(t);void 0!==r&&(clearTimeout(r),e.delete(t))})})(),"function"!=typeof pl.Array.prototype.findLastIndex&&(pl.Array.prototype.findLastIndex=function(e,t){if(null==this)throw TypeError("Array.prototype.findLastIndex called on null or undefined");if("function"!=typeof e)throw TypeError("callback must be a function");for(let r=(this.length>>>0)-1;r>=0;r--)if(r in this&&e.call(t,this[r],r,this))return r;return-1}),"function"!=typeof pl.Array.prototype.findLast&&(pl.Array.prototype.findLast=function(e,t){let r=this.findLastIndex(e,t);return-1===r?void 0:this[r]}),"function"!=typeof pl.String.prototype.at&&(pl.String.prototype.at=function(e){if(null==this)throw TypeError("String.prototype.at called on null or undefined");let t=this.length;if(e<0&&(e=t+e),!(e<0||e>=t))return this.charAt(e)});var tp=class extends tu{static extend(e){Object.getOwnPropertyNames(e.prototype).forEach(t=>{"constructor"!==t&&(this.prototype[t]=e.prototype[t])}),Object.getOwnPropertyNames(e).forEach(t=>{"prototype"!==t&&"name"!==t&&"length"!==t&&(this[t]=e[t])})}};const rp=Symbol("initializers"),np=Symbol("manualInit");var ip,ap=class extends tu{constructor(e){if(super(),this._injector=e,this.constructor[np])return;let t=this,r=Object.getPrototypeOf(this)[rp];r&&r.forEach(function(r){r.apply(t,[e])})}_initialize(e,...t){}_runInitializers(...e){let t=Object.getPrototypeOf(this)[rp];null!=t&&t.length&&t.forEach(t=>t.apply(this,e))}static _enableManualInit(){this[np]=!0}static extend(e){Object.getOwnPropertyNames(e.prototype).forEach(t=>{if("_initialize"===t){let t=this.prototype[rp];t||(t=[],this.prototype[rp]=t),t.push(e.prototype._initialize)}else"constructor"!==t&&(this.prototype[t]=e.prototype[t])}),Object.getOwnPropertyNames(e).forEach(t=>{"prototype"!==t&&"name"!==t&&"length"!==t&&(this[t]=e[t])})}};function op(e,t){return function(r,n){t(r,n,e)}}function sp(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}let lp=ip=class extends tp{constructor(e,t){super(),this._blob=e,this._injector=t}copyBlob(){return this._injector.createInstance(ip,this._blob)}getAs(e){let t=this.copyBlob();return t.setContentType(e),t}getDataAsString(e){return null===this._blob?Promise.resolve(""):void 0===e?this._blob.text():new Promise((t,r)=>{this._blob.arrayBuffer().then(r=>{t(new TextDecoder(e).decode(r))}).catch(e=>{r(Error(`Failed to read Blob as ArrayBuffer: ${e.message}`))})})}getBytes(){return this._blob?this._blob.arrayBuffer().then(e=>new Uint8Array(e)):Promise.reject(Error("Blob is undefined or null."))}setBytes(e){return this._blob=new Blob([e.buffer]),this}setDataFromString(e,t){let r=null==t?"text/plain":t;return this._blob=new Blob([e],{type:r}),this}getContentType(){var e;return null==(e=this._blob)?void 0:e.type}setContentType(e){var t;return this._blob=null==(t=this._blob)?void 0:t.slice(0,this._blob.size,e),this}};function up(e){return up="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},up(e)}function cp(e,t,r){return(t=function(e){var t=function(e){if("object"!=up(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=up(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==up(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}lp=ip=sp([op(1,Y(he))],lp);var dp=class e{static get(){if(this._instance)return this._instance;let t=new e;return this._instance=t,t}static extend(e){Object.getOwnPropertyNames(e.prototype).forEach(t=>{"constructor"!==t&&(this.prototype[t]=e.prototype[t])}),Object.getOwnPropertyNames(e).forEach(t=>{"prototype"!==t&&"name"!==t&&"length"!==t&&(this[t]=e[t])})}constructor(){for(let t in e.prototype)this[t]=e.prototype[t]}get AbsoluteRefType(){return vd}get UniverInstanceType(){return Pi}get LifecycleStages(){return mg}get DataValidationType(){return $g}get DataValidationErrorStyle(){return Yg}get DataValidationRenderMode(){return Zg}get DataValidationOperator(){return Qg}get DataValidationStatus(){return Kg}get CommandType(){return Bc}get BaselineOffset(){return Bu}get BooleanNumber(){return Vu}get HorizontalAlign(){return Lu}get TextDecoration(){return Ou}get TextDirection(){return Mu}get VerticalAlign(){return ku}get WrapStrategy(){return Pu}get BorderType(){return pu}get BorderStyleTypes(){return gu}get AutoFillSeries(){return fu}get ColorType(){return vu}get CommonHideTypes(){return bu}get CopyPasteType(){return Cu}get DeleteDirection(){return yu}get DeveloperMetadataVisibility(){return _u}get Dimension(){return wu}get Direction(){return Eu}get InterpolationPointType(){return Au}get LocaleType(){return Iu}get MentionType(){return Ru}get ProtectionType(){return xu}get RelativeDate(){return Tu}get SheetTypes(){return Nu}get ThemeColorType(){return ju}};cp(dp,"_instance",void 0);var hp=class e{static get(){if(this._instance)return this._instance;let t=new e;return this._instance=t,t}static extend(e){Object.getOwnPropertyNames(e.prototype).forEach(t=>{"constructor"!==t&&(this.prototype[t]=e.prototype[t])}),Object.getOwnPropertyNames(e).forEach(t=>{"prototype"!==t&&"name"!==t&&"length"!==t&&(this[t]=e[t])})}constructor(){for(let t in e.prototype)this[t]=e.prototype[t]}get DocCreated(){return"DocCreated"}get DocDisposed(){return"DocDisposed"}get LifeCycleChanged(){return"LifeCycleChanged"}get Redo(){return"Redo"}get Undo(){return"Undo"}get BeforeRedo(){return"BeforeRedo"}get BeforeUndo(){return"BeforeUndo"}get CommandExecuted(){return"CommandExecuted"}get BeforeCommandExecute(){return"BeforeCommandExecute"}};cp(hp,"_instance",void 0);let mp=class extends tp{constructor(e,t){super(),this._injector=e,this._lifecycleService=t}onStarting(e){return Jl(this._lifecycleService.lifecycle$.pipe(Un(e=>e===mg.Starting)).subscribe(e))}onReady(e){return Jl(this._lifecycleService.lifecycle$.pipe(Un(e=>e===mg.Ready)).subscribe(e))}onRendered(e){return Jl(this._lifecycleService.lifecycle$.pipe(Un(e=>e===mg.Rendered)).subscribe(e))}onSteady(e){return Jl(this._lifecycleService.lifecycle$.pipe(Un(e=>e===mg.Steady)).subscribe(e))}onBeforeUndo(e){return this._injector.get(Vc).beforeCommandExecuted(t=>{if(t.id===Vg.id){let t=this._injector.get(Pg).pitchTopUndoElement();t&&e(t)}})}onUndo(e){return this._injector.get(Vc).onCommandExecuted(t=>{if(t.id===Vg.id){let t=this._injector.get(Pg).pitchTopUndoElement();t&&e(t)}})}onBeforeRedo(e){return this._injector.get(Vc).beforeCommandExecuted(t=>{if(t.id===Fg.id){let t=this._injector.get(Pg).pitchTopRedoElement();t&&e(t)}})}onRedo(e){return this._injector.get(Vc).onCommandExecuted(t=>{if(t.id===Fg.id){let t=this._injector.get(Pg).pitchTopRedoElement();t&&e(t)}})}};mp=sp([op(0,Y(he)),op(1,Y(pg))],mp);let fp=class extends ap{constructor(e,t){super(t),this.doc=e}};fp=sp([op(1,Y(he))],fp);var gp=class{constructor(){cp(this,"_eventRegistry",new Map),cp(this,"_eventHandlerMap",new Map),cp(this,"_eventHandlerRegisted",new Map)}_ensureEventRegistry(e){return this._eventRegistry.has(e)||this._eventRegistry.set(e,new Zl),this._eventRegistry.get(e)}registerEventHandler(e,t){let r=this._eventHandlerMap.get(e);return r?r.add(t):this._eventHandlerMap.set(e,new Set([t])),this._ensureEventRegistry(e).getData().length&&this._initEventHandler(e),Jl(()=>{var r,n,i;null==(r=this._eventHandlerMap.get(e))||r.delete(t),null==(n=this._eventHandlerRegisted.get(e))||null==(n=n.get(t))||n.dispose(),null==(i=this._eventHandlerRegisted.get(e))||i.delete(t)})}removeEvent(e,t){let r=this._ensureEventRegistry(e);if(r.delete(t),0===r.getData().length){let t=this._eventHandlerRegisted.get(e);null==t||t.forEach(e=>e.dispose()),this._eventHandlerRegisted.delete(e)}}_initEventHandler(e){let t=this._eventHandlerRegisted.get(e),r=this._eventHandlerMap.get(e);r&&(!t||0===t.size)&&(t=new Map,this._eventHandlerRegisted.set(e,t),null==r||r.forEach(e=>{null==t||t.set(e,Jl(e()))}))}addEvent(e,t){return this._ensureEventRegistry(e).add(t),this._initEventHandler(e),Jl(()=>this.removeEvent(e,t))}fireEvent(e,t){var r;return null==(r=this._eventRegistry.get(e))||r.getData().forEach(e=>{e(t)}),t.cancel}};let pp=class extends tp{constructor(e,t){super(),this._injector=e,this._userManagerService=t}getCurrentUser(){return this._userManagerService.getCurrentUser()}};pp=sp([op(0,Y(he)),op(1,Y(gf))],pp);var vp,bp=class t{static get(){if(this._instance)return this._instance;let e=new t;return this._instance=e,e}static extend(e){Object.getOwnPropertyNames(e.prototype).forEach(t=>{"constructor"!==t&&(this.prototype[t]=e.prototype[t])}),Object.getOwnPropertyNames(e).forEach(t=>{"prototype"!==t&&"name"!==t&&"length"!==t&&(this[t]=e[t])})}get rectangle(){return Oh}get numfmt(){return e}get tools(){return uu}};cp(bp,"_instance",void 0);const Cp=Symbol("initializers");let yp=vp=class extends tu{static newAPI(e){return(e instanceof ep?e.__getInjector():e).createInstance(vp)}_initialize(e){}static extend(e){Object.getOwnPropertyNames(e.prototype).forEach(t=>{if("_initialize"===t){let t=this.prototype[Cp];t||(t=[],this.prototype[Cp]=t),t.push(e.prototype._initialize)}else"constructor"!==t&&(this.prototype[t]=e.prototype[t])}),Object.getOwnPropertyNames(e).forEach(t=>{"prototype"!==t&&"name"!==t&&"length"!==t&&(this[t]=e[t])})}constructor(e,t,r,n){super(),this._injector=e,this._commandService=t,this._univerInstanceService=r,this._lifecycleService=n,cp(this,"_eventRegistry",new gp),cp(this,"registerEventHandler",(e,t)=>this._eventRegistry.registerEventHandler(e,t)),this.disposeWithMe(this.registerEventHandler(this.Event.LifeCycleChanged,()=>Jl(this._lifecycleService.lifecycle$.subscribe(e=>{this.fireEvent(this.Event.LifeCycleChanged,{stage:e})})))),this._initUnitEvent(this._injector),this._initBeforeCommandEvent(this._injector),this._initCommandEvent(this._injector),this._injector.onDispose(()=>{this.dispose()});let i=Object.getPrototypeOf(this)[Cp];if(i){let t=this;i.forEach(function(r){r.apply(t,[e])})}}_initCommandEvent(e){let t=e.get(Vc);this.disposeWithMe(this.registerEventHandler(this.Event.Redo,()=>t.onCommandExecuted(e=>{let{id:t,type:r,params:n}=e;if(e.id===Fg.id){let e={id:t,type:r,params:n};this.fireEvent(this.Event.Redo,e)}}))),this.disposeWithMe(this.registerEventHandler(this.Event.Undo,()=>t.onCommandExecuted(e=>{let{id:t,type:r,params:n}=e;if(e.id===Vg.id){let e={id:t,type:r,params:n};this.fireEvent(this.Event.Undo,e)}}))),this.disposeWithMe(this.registerEventHandler(this.Event.CommandExecuted,()=>t.onCommandExecuted((e,t)=>{let{id:r,type:n,params:i}=e;if(e.id!==Fg.id&&e.id!==Vg.id){let e={id:r,type:n,params:i,options:t};this.fireEvent(this.Event.CommandExecuted,e)}})))}_initBeforeCommandEvent(e){let t=e.get(Vc);this.disposeWithMe(this.registerEventHandler(this.Event.BeforeRedo,()=>t.beforeCommandExecuted(e=>{let{id:t,type:r,params:n}=e;if(e.id===Fg.id){let e={id:t,type:r,params:n};if(this.fireEvent(this.Event.BeforeRedo,e),e.cancel)throw new Pl}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeUndo,()=>t.beforeCommandExecuted(e=>{let{id:t,type:r,params:n}=e;if(e.id===Vg.id){let e={id:t,type:r,params:n};if(this.fireEvent(this.Event.BeforeUndo,e),e.cancel)throw new Pl}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeCommandExecute,()=>t.beforeCommandExecuted((e,t)=>{let{id:r,type:n,params:i}=e;if(e.id!==Fg.id&&e.id!==Vg.id){let e={id:r,type:n,params:i,options:t};if(this.fireEvent(this.Event.BeforeCommandExecute,e),e.cancel)throw new Pl}})))}_initUnitEvent(e){let t=e.get(dg);this.disposeWithMe(this.registerEventHandler(this.Event.DocDisposed,()=>t.unitDisposed$.subscribe(e=>{e.type===Pi.UNIVER_DOC&&this.fireEvent(this.Event.DocDisposed,{unitId:e.getUnitId(),unitType:e.type,snapshot:e.getSnapshot()})}))),this.disposeWithMe(this.registerEventHandler(this.Event.DocCreated,()=>t.unitAdded$.subscribe(t=>{if(t.type===Pi.UNIVER_DOC){let r=t,n=e.createInstance(fp,r);this.fireEvent(this.Event.DocCreated,{unitId:t.getUnitId(),type:t.type,doc:n,unit:n})}})))}disposeUnit(e){return this._univerInstanceService.disposeUnit(e)}getCurrentLifecycleStage(){return this._injector.get(pg).stage}undo(){return this._commandService.executeCommand(Vg.id)}redo(){return this._commandService.executeCommand(Fg.id)}toggleDarkMode(e){this._injector.get(Lg).setDarkMode(e)}loadLocales(e,t){this._injector.get(Cg).load({[e]:t})}setLocale(e){this._injector.get(Cg).setLocale(e)}onBeforeCommandExecute(e){return this._commandService.beforeCommandExecuted((t,r)=>{e(t,r)})}onCommandExecuted(e){return this._commandService.onCommandExecuted((t,r)=>{e(t,r)})}executeCommand(e,t,r){return this._commandService.executeCommand(e,t,r)}syncExecuteCommand(e,t,r){return this._commandService.syncExecuteCommand(e,t,r)}getHooks(){return this._injector.createInstance(mp)}get Enum(){return dp.get()}get Event(){return hp.get()}get Util(){return bp.get()}addEvent(e,t){if(!e||!t)throw Error("Cannot add empty event");return this._eventRegistry.addEvent(e,t)}fireEvent(e,t){return this._eventRegistry.fireEvent(e,t)}getUserManager(){return this._injector.createInstance(pp)}newBlob(){return this._injector.createInstance(lp,null)}newRichText(e){return lf.create(e)}newRichTextValue(e){return sf.create(e)}newParagraphStyle(e){return of.create(e)}newParagraphStyleValue(e){return af.create(e)}newTextStyle(e){return rf.create(e)}newTextStyleValue(e){return tf.create(e)}newTextDecoration(e){return new nf(e)}};yp=vp=sp([op(0,Y(he)),op(1,Vc),op(2,dg),op(3,Y(pg))],yp);var _p=o(3605);class wp{isEmpty(){return this._isEmpty()}toString(e){if(this.isEmpty())throw new Error("Output is empty.");return this._toString(e)}toRegExp(e){return new RegExp(this.toString(e),e)}}class Ep extends wp{constructor(...e){super(),this.data=[];for(const t of e)t instanceof Ep?this.data.push(...t.data):this.data.push(Ap(t));this._unique()}union(...e){return new Ep(this,...e)}subtract(...e){const t=this.data.slice(),r=[];let n=0;const{data:i}=new Ep(...e);for(;0!==t.length;){const e=t.shift(),[a,o]=e;let s;do{s=!0;const l=i[n];if(void 0===l){r.push(e);break}const[u,c]=l;c=65536){r.push(...e.slice(n));break}if(o>=65536){t.push([a,65535]),r.push([65536,o],...e.slice(n+1));break}t.push(i)}return{normal:t,surrogate:xp(r)}}(e),i=[];return 0!==r.length&&i.push(Rp(r,!1)),i.push(...function(e){const t=[];if(0!==e.entire.data.length){const r=e.entire.toString(),n=`[${[56320,57343].map(e=>Np(e,!1)).join("-")}]`;t.push(`${r}${n}`)}for(const{h:r,l:n}of e.partial){const e=Np(r,!1),i=n.toString();t.push(`${e}${i}`)}return t}(n)),i.join("|")}(this.data,e)}_unique(){this.data.sort(Ip);const e=[];let t=null;for(const r of this.data)null===t||t[1]+1new Ep(...e);function Ap(e){if("number"==typeof e&&(e<0||e>1114111))throw new Error(`Invalid unicode code point detected: ${e<0?e:`0x${e.toString(16)}`}`);const[t]=[e].map(e=>"object"!=typeof e?[e,e]:e).map(e=>e.map(e=>"string"==typeof e?function(e){if(1!==e.length){const t=`${e.length} (${JSON.stringify(e)})`;throw new Error(`Expected length = 1, but received ${t}.`)}return e.charCodeAt(0)}(e):e));return t}function Ip(e,t){return e[0]-t[0]}function Rp(e,t){return`[${e.map(([e,r])=>e===r?Np(e,t):`${Np(e,t)}-${Np(r,t)}`).join("")}]`}function xp(e){const t=[],r=[];for(const[t,r]of e){const e=Tp(t),a=Tp(r);if(e.h!==a.h){56320===e.l?n(e.h):i(e.h,e.l,57343);for(let t=e.h+1;t({h:e,l:new Ep(...t)}))};function n(e){t.push(e)}function i(e,t,n){const i=r[r.length-1];void 0!==i&&i.h===e?i.l.push([t,n]):r.push({h:e,l:[[t,n]]})}}function Tp(e){return{h:Math.floor((e-65536)/1024)+55296,l:(e-65536)%1024+56320}}function Np(e,t){const r=e.toString(16);return t?`\\u{${r}}`:`\\u${"0".repeat(4-r.length)}${r}`}const Mp=[[65,90],[97,122],181,[192,214],[216,246],[248,442],[444,447],[452,659],[662,687],[880,883],[886,887],[891,893],895,902,[904,906],908,[910,929],[931,1013],[1015,1153],[1162,1327],[1329,1366],[1376,1416],[4256,4293],4295,4301,[4304,4346],[4349,4351],[5024,5109],[5112,5117],[7296,7306],[7312,7354],[7357,7359],[7424,7467],[7531,7543],[7545,7578],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8450,8455,[8458,8467],8469,[8473,8477],8484,8486,8488,[8490,8493],[8495,8500],8505,[8508,8511],[8517,8521],8526,[8579,8580],[11264,11387],[11390,11492],[11499,11502],[11506,11507],[11520,11557],11559,11565,[42560,42605],[42624,42651],[42786,42863],[42865,42887],[42891,42894],[42896,42972],[42997,42998],43002,[43824,43866],[43872,43880],[43888,43967],[64256,64262],[64275,64279],[65313,65338],[65345,65370],[66560,66639],[66736,66771],[66776,66811],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[68736,68786],[68800,68850],[68944,68965],[68976,68997],[71840,71903],[93760,93823],[93856,93880],[93883,93907],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[122624,122633],[122635,122654],[122661,122666],[125184,125251]],Op=[41,93,125,3899,3901,5788,8262,8318,8334,8969,8971,9002,10089,10091,10093,10095,10097,10099,10101,10182,10215,10217,10219,10221,10223,10628,10630,10632,10634,10636,10638,10640,10642,10644,10646,10648,10713,10715,10749,11811,11813,11815,11817,11862,11864,11866,11868,12297,12299,12301,12303,12305,12309,12311,12313,12315,[12318,12319],64830,65048,65078,65080,65082,65084,65086,65088,65090,65092,65096,65114,65116,65118,65289,65341,65373,65376,65379],Lp=[95,[8255,8256],8276,[65075,65076],[65101,65103],65343],kp=[[0,31],[127,159]],Pp=[36,[162,165],1423,1547,[2046,2047],[2546,2547],2555,2801,3065,3647,6107,[8352,8385],43064,65020,65129,65284,[65504,65505],[65509,65510],[73693,73696],123647,126128],Dp=[45,1418,1470,5120,6150,[8208,8213],11799,11802,[11834,11835],11840,11869,12316,12336,12448,[65073,65074],65112,65123,65293,68974,69293],Up=[[48,57],[1632,1641],[1776,1785],[1984,1993],[2406,2415],[2534,2543],[2662,2671],[2790,2799],[2918,2927],[3046,3055],[3174,3183],[3302,3311],[3430,3439],[3558,3567],[3664,3673],[3792,3801],[3872,3881],[4160,4169],[4240,4249],[6112,6121],[6160,6169],[6470,6479],[6608,6617],[6784,6793],[6800,6809],[6992,7001],[7088,7097],[7232,7241],[7248,7257],[42528,42537],[43216,43225],[43264,43273],[43472,43481],[43504,43513],[43600,43609],[44016,44025],[65296,65305],[66720,66729],[68912,68921],[68928,68937],[69734,69743],[69872,69881],[69942,69951],[70096,70105],[70384,70393],[70736,70745],[70864,70873],[71248,71257],[71360,71369],[71376,71395],[71472,71481],[71904,71913],[72016,72025],[72688,72697],[72784,72793],[73040,73049],[73120,73129],[73184,73193],[73552,73561],[90416,90425],[92768,92777],[92864,92873],[93008,93017],[93552,93561],[118e3,118009],[120782,120831],[123200,123209],[123632,123641],[124144,124153],[124401,124410],[125264,125273],[130032,130041]],Bp=[[1160,1161],6846,[8413,8416],[8418,8420],[42608,42610]],Vp=[187,8217,8221,8250,11779,11781,11786,11789,11805,11809],Fp=[173,[1536,1541],1564,1757,1807,[2192,2193],2274,6158,[8203,8207],[8234,8238],[8288,8292],[8294,8303],65279,[65529,65531],69821,69837,[78896,78911],[113824,113827],[119155,119162],917505,[917536,917631]],jp=[171,8216,[8219,8220],8223,8249,11778,11780,11785,11788,11804,11808],Hp=[[65,90],[97,122],170,181,186,[192,214],[216,246],[248,705],[710,721],[736,740],748,750,[880,884],[886,887],[890,893],895,902,[904,906],908,[910,929],[931,1013],[1015,1153],[1162,1327],[1329,1366],1369,[1376,1416],[1488,1514],[1519,1522],[1568,1610],[1646,1647],[1649,1747],1749,[1765,1766],[1774,1775],[1786,1788],1791,1808,[1810,1839],[1869,1957],1969,[1994,2026],[2036,2037],2042,[2048,2069],2074,2084,2088,[2112,2136],[2144,2154],[2160,2183],[2185,2191],[2208,2249],[2308,2361],2365,2384,[2392,2401],[2417,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,2510,[2524,2525],[2527,2529],[2544,2545],2556,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],2654,[2674,2676],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],2749,2768,[2784,2785],2809,[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,[2908,2909],[2911,2913],2929,2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3024,[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3160,3162],[3164,3165],[3168,3169],3200,[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],3261,[3292,3294],[3296,3297],[3313,3314],[3332,3340],[3342,3344],[3346,3386],3389,3406,[3412,3414],[3423,3425],[3450,3455],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3585,3632],[3634,3635],[3648,3654],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3760],[3762,3763],3773,[3776,3780],3782,[3804,3807],3840,[3904,3911],[3913,3948],[3976,3980],[4096,4138],4159,[4176,4181],[4186,4189],4193,[4197,4198],[4206,4208],[4213,4225],4238,[4256,4293],4295,4301,[4304,4346],[4348,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4992,5007],[5024,5109],[5112,5117],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5873,5880],[5888,5905],[5919,5937],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],6103,6108,[6176,6264],[6272,6276],[6279,6312],6314,[6320,6389],[6400,6430],[6480,6509],[6512,6516],[6528,6571],[6576,6601],[6656,6678],[6688,6740],6823,[6917,6963],[6981,6988],[7043,7072],[7086,7087],[7098,7141],[7168,7203],[7245,7247],[7258,7293],[7296,7306],[7312,7354],[7357,7359],[7401,7404],[7406,7411],[7413,7414],7418,[7424,7615],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8305,8319,[8336,8348],8450,8455,[8458,8467],8469,[8473,8477],8484,8486,8488,[8490,8493],[8495,8505],[8508,8511],[8517,8521],8526,[8579,8580],[11264,11492],[11499,11502],[11506,11507],[11520,11557],11559,11565,[11568,11623],11631,[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],11823,[12293,12294],[12337,12341],[12347,12348],[12353,12438],[12445,12447],[12449,12538],[12540,12543],[12549,12591],[12593,12686],[12704,12735],[12784,12799],[13312,19903],[19968,42124],[42192,42237],[42240,42508],[42512,42527],[42538,42539],[42560,42606],[42623,42653],[42656,42725],[42775,42783],[42786,42888],[42891,42972],[42993,43009],[43011,43013],[43015,43018],[43020,43042],[43072,43123],[43138,43187],[43250,43255],43259,[43261,43262],[43274,43301],[43312,43334],[43360,43388],[43396,43442],43471,[43488,43492],[43494,43503],[43514,43518],[43520,43560],[43584,43586],[43588,43595],[43616,43638],43642,[43646,43695],43697,[43701,43702],[43705,43709],43712,43714,[43739,43741],[43744,43754],[43762,43764],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43866],[43868,43881],[43888,44002],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],[64256,64262],[64275,64279],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65136,65140],[65142,65276],[65313,65338],[65345,65370],[65382,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[66176,66204],[66208,66256],[66304,66335],[66349,66368],[66370,66377],[66384,66421],[66432,66461],[66464,66499],[66504,66511],[66560,66717],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67008,67059],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67904,67929],[67968,68023],[68030,68031],68096,[68112,68115],[68117,68119],[68121,68149],[68192,68220],[68224,68252],[68288,68295],[68297,68324],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[68736,68786],[68800,68850],[68864,68899],[68938,68965],[68975,68997],[69248,69289],[69296,69297],[69314,69319],[69376,69404],69415,[69424,69445],[69488,69505],[69552,69572],[69600,69622],[69635,69687],[69745,69746],69749,[69763,69807],[69840,69864],[69891,69926],69956,69959,[69968,70002],70006,[70019,70066],[70081,70084],70106,70108,[70144,70161],[70163,70187],[70207,70208],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70366],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70480,[70493,70497],[70528,70537],70539,70542,[70544,70581],70583,70609,70611,[70656,70708],[70727,70730],[70751,70753],[70784,70831],[70852,70853],70855,[71040,71086],[71128,71131],[71168,71215],71236,[71296,71338],71352,[71424,71450],[71488,71494],[71680,71723],[71840,71903],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71983],71999,72001,[72096,72103],[72106,72144],72161,72163,72192,[72203,72242],72250,72272,[72284,72329],72349,[72368,72440],[72640,72672],[72704,72712],[72714,72750],72768,[72818,72847],[72960,72966],[72968,72969],[72971,73008],73030,[73056,73061],[73063,73064],[73066,73097],73112,[73136,73179],[73440,73458],73474,[73476,73488],[73490,73523],73648,[73728,74649],[74880,75075],[77712,77808],[77824,78895],[78913,78918],[78944,82938],[82944,83526],[90368,90397],[92160,92728],[92736,92766],[92784,92862],[92880,92909],[92928,92975],[92992,92995],[93027,93047],[93053,93071],[93504,93548],[93760,93823],[93856,93880],[93883,93907],[93952,94026],94032,[94099,94111],[94176,94177],94179,[94194,94195],[94208,101589],[101631,101662],[101760,101874],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[122624,122654],[122661,122666],[122928,122989],[123136,123180],[123191,123197],123214,[123536,123565],[123584,123627],[124112,124139],[124368,124397],124400,[124608,124638],[124640,124642],[124644,124645],[124647,124653],[124656,124660],[124670,124671],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125184,125251],125259,[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[131072,173791],[173824,178205],[178208,183981],[183984,191456],[191472,192093],[194560,195101],[196608,201546],[201552,210041]],Wp=[[5870,5872],[8544,8578],[8581,8584],12295,[12321,12329],[12344,12346],[42726,42735],[65856,65908],66369,66378,[66513,66517],[74752,74862],[94196,94198]],zp=[8232],Xp=[[97,122],181,[223,246],[248,255],257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,[311,312],314,316,318,320,322,324,326,[328,329],331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,[382,384],387,389,392,[396,397],402,405,[409,411],414,417,419,421,424,[426,427],429,432,436,438,[441,442],[445,447],454,457,460,462,464,466,468,470,472,474,[476,477],479,481,483,485,487,489,491,493,[495,496],499,501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,545,547,549,551,553,555,557,559,561,[563,569],572,[575,576],578,583,585,587,589,[591,659],[662,687],881,883,887,[891,893],912,[940,974],[976,977],[981,983],985,987,989,991,993,995,997,999,1001,1003,1005,[1007,1011],1013,1016,[1019,1020],[1072,1119],1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1218,1220,1222,1224,1226,1228,[1230,1231],1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,[1376,1416],[4304,4346],[4349,4351],[5112,5117],[7296,7304],7306,[7424,7467],[7531,7543],[7545,7578],7681,7683,7685,7687,7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,[7829,7837],7839,7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,7893,7895,7897,7899,7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,7931,7933,[7935,7943],[7952,7957],[7968,7975],[7984,7991],[8e3,8005],[8016,8023],[8032,8039],[8048,8061],[8064,8071],[8080,8087],[8096,8103],[8112,8116],[8118,8119],8126,[8130,8132],[8134,8135],[8144,8147],[8150,8151],[8160,8167],[8178,8180],[8182,8183],8458,[8462,8463],8467,8495,8500,8505,[8508,8509],[8518,8521],8526,8580,[11312,11359],11361,[11365,11366],11368,11370,11372,11377,[11379,11380],[11382,11387],11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,[11491,11492],11500,11502,11507,[11520,11557],11559,11565,42561,42563,42565,42567,42569,42571,42573,42575,42577,42579,42581,42583,42585,42587,42589,42591,42593,42595,42597,42599,42601,42603,42605,42625,42627,42629,42631,42633,42635,42637,42639,42641,42643,42645,42647,42649,42651,42787,42789,42791,42793,42795,42797,[42799,42801],42803,42805,42807,42809,42811,42813,42815,42817,42819,42821,42823,42825,42827,42829,42831,42833,42835,42837,42839,42841,42843,42845,42847,42849,42851,42853,42855,42857,42859,42861,42863,[42865,42872],42874,42876,42879,42881,42883,42885,42887,42892,42894,42897,[42899,42901],42903,42905,42907,42909,42911,42913,42915,42917,42919,42921,42927,42933,42935,42937,42939,42941,42943,42945,42947,42952,42954,42957,42959,42961,42963,42965,42967,42969,42971,42998,43002,[43824,43866],[43872,43880],[43888,43967],[64256,64262],[64275,64279],[65345,65370],[66600,66639],[66776,66811],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[68800,68850],[68976,68997],[71872,71903],[93792,93823],[93883,93907],[119834,119859],[119886,119892],[119894,119911],[119938,119963],[119990,119993],119995,[119997,120003],[120005,120015],[120042,120067],[120094,120119],[120146,120171],[120198,120223],[120250,120275],[120302,120327],[120354,120379],[120406,120431],[120458,120485],[120514,120538],[120540,120545],[120572,120596],[120598,120603],[120630,120654],[120656,120661],[120688,120712],[120714,120719],[120746,120770],[120772,120777],120779,[122624,122633],[122635,122654],[122661,122666],[125218,125251]],qp=[[768,879],[1155,1161],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],2045,[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2199,2207],[2250,2273],[2275,2307],[2362,2364],[2366,2383],[2385,2391],[2402,2403],[2433,2435],2492,[2494,2500],[2503,2504],[2507,2509],2519,[2530,2531],2558,[2561,2563],2620,[2622,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2691],2748,[2750,2757],[2759,2761],[2763,2765],[2786,2787],[2810,2815],[2817,2819],2876,[2878,2884],[2887,2888],[2891,2893],[2901,2903],[2914,2915],2946,[3006,3010],[3014,3016],[3018,3021],3031,[3072,3076],3132,[3134,3140],[3142,3144],[3146,3149],[3157,3158],[3170,3171],[3201,3203],3260,[3262,3268],[3270,3272],[3274,3277],[3285,3286],[3298,3299],3315,[3328,3331],[3387,3388],[3390,3396],[3398,3400],[3402,3405],3415,[3426,3427],[3457,3459],3530,[3535,3540],3542,[3544,3551],[3570,3571],3633,[3636,3642],[3655,3662],3761,[3764,3772],[3784,3790],[3864,3865],3893,3895,3897,[3902,3903],[3953,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4139,4158],[4182,4185],[4190,4192],[4194,4196],[4199,4205],[4209,4212],[4226,4237],4239,[4250,4253],[4957,4959],[5906,5909],[5938,5940],[5970,5971],[6002,6003],[6068,6099],6109,[6155,6157],6159,[6277,6278],6313,[6432,6443],[6448,6459],[6679,6683],[6741,6750],[6752,6780],6783,[6832,6877],[6880,6891],[6912,6916],[6964,6980],[7019,7027],[7040,7042],[7073,7085],[7142,7155],[7204,7223],[7376,7378],[7380,7400],7405,7412,[7415,7417],[7616,7679],[8400,8432],[11503,11505],11647,[11744,11775],[12330,12335],[12441,12442],[42607,42610],[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43043,43047],43052,[43136,43137],[43188,43205],[43232,43249],43263,[43302,43309],[43335,43347],[43392,43395],[43443,43456],43493,[43561,43574],43587,[43596,43597],[43643,43645],43696,[43698,43700],[43703,43704],[43710,43711],43713,[43755,43759],[43765,43766],[44003,44010],[44012,44013],64286,[65024,65039],[65056,65071],66045,66272,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],[68900,68903],[68969,68973],[69291,69292],[69370,69375],[69446,69456],[69506,69509],[69632,69634],[69688,69702],69744,[69747,69748],[69759,69762],[69808,69818],69826,[69888,69890],[69927,69940],[69957,69958],70003,[70016,70018],[70067,70080],[70089,70092],[70094,70095],[70188,70199],70206,70209,[70367,70378],[70400,70403],[70459,70460],[70462,70468],[70471,70472],[70475,70477],70487,[70498,70499],[70502,70508],[70512,70516],[70584,70592],70594,70597,[70599,70602],[70604,70608],70610,[70625,70626],[70709,70726],70750,[70832,70851],[71087,71093],[71096,71104],[71132,71133],[71216,71232],[71339,71351],[71453,71467],[71724,71738],[71984,71989],[71991,71992],[71995,71998],72e3,[72002,72003],[72145,72151],[72154,72160],72164,[72193,72202],[72243,72249],[72251,72254],72263,[72273,72283],[72330,72345],[72544,72551],[72751,72758],[72760,72767],[72850,72871],[72873,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[73098,73102],[73104,73105],[73107,73111],[73459,73462],[73472,73473],73475,[73524,73530],[73534,73538],73562,78912,[78919,78933],[90398,90415],[92912,92916],[92976,92982],94031,[94033,94087],[94095,94098],94180,[94192,94193],[113821,113822],[118528,118573],[118576,118598],[119141,119145],[119149,119154],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],123023,[123184,123190],123566,[123628,123631],[124140,124143],[124398,124399],124643,124646,[124654,124655],124661,[125136,125142],[125252,125258],[917760,917999]],Gp=[43,[60,62],124,126,172,177,215,247,1014,[1542,1544],8260,8274,[8314,8316],[8330,8332],8472,[8512,8516],8523,[8592,8596],[8602,8603],8608,8611,8614,8622,[8654,8655],8658,8660,[8692,8959],[8992,8993],9084,[9115,9139],[9180,9185],9655,9665,[9720,9727],9839,[10176,10180],[10183,10213],[10224,10239],[10496,10626],[10649,10711],[10716,10747],[10750,11007],[11056,11076],[11079,11084],64297,65122,[65124,65126],65291,[65308,65310],65372,65374,65506,[65513,65516],[69006,69007],118512,120513,120539,120571,120597,120629,120655,120687,120713,120745,120771,[126704,126705],[129232,129240]],Yp=[[688,705],[710,721],[736,740],748,750,884,890,1369,1600,[1765,1766],[2036,2037],2042,2074,2084,2088,2249,2417,3654,3782,4348,6103,6211,6823,[7288,7293],[7468,7530],7544,[7579,7615],8305,8319,[8336,8348],[11388,11389],11631,11823,12293,[12337,12341],12347,[12445,12446],[12540,12542],40981,[42232,42237],42508,42623,[42652,42653],[42775,42783],42864,42888,[42993,42996],[43e3,43001],43471,43494,43632,43741,[43763,43764],[43868,43871],43881,65392,[65438,65439],[67456,67461],[67463,67504],[67506,67514],68942,68975,69317,73177,[92992,92995],[93504,93506],[93547,93548],[94099,94111],[94176,94177],94179,[94194,94195],[110576,110579],[110581,110587],[110589,110590],[122928,122989],[123191,123197],124139,124671,125259],Qp=[94,96,168,175,180,184,[706,709],[722,735],[741,747],749,[751,767],885,[900,901],2184,8125,[8127,8129],[8141,8143],[8157,8159],[8173,8175],[8189,8190],[12443,12444],[42752,42774],[42784,42785],[42889,42890],43867,[43882,43883],[64434,64450],65342,65344,65507,[127995,127999]],Zp=[[768,879],[1155,1159],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],2045,[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2199,2207],[2250,2273],[2275,2306],2362,2364,[2369,2376],2381,[2385,2391],[2402,2403],2433,2492,[2497,2500],2509,[2530,2531],2558,[2561,2562],2620,[2625,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2690],2748,[2753,2757],[2759,2760],2765,[2786,2787],[2810,2815],2817,2876,2879,[2881,2884],2893,[2901,2902],[2914,2915],2946,3008,3021,3072,3076,3132,[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3170,3171],3201,3260,3263,3270,[3276,3277],[3298,3299],[3328,3329],[3387,3388],[3393,3396],3405,[3426,3427],3457,3530,[3538,3540],3542,3633,[3636,3642],[3655,3662],3761,[3764,3772],[3784,3790],[3864,3865],3893,3895,3897,[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4141,4144],[4146,4151],[4153,4154],[4157,4158],[4184,4185],[4190,4192],[4209,4212],4226,[4229,4230],4237,4253,[4957,4959],[5906,5908],[5938,5939],[5970,5971],[6002,6003],[6068,6069],[6071,6077],6086,[6089,6099],6109,[6155,6157],6159,[6277,6278],6313,[6432,6434],[6439,6440],6450,[6457,6459],[6679,6680],6683,6742,[6744,6750],6752,6754,[6757,6764],[6771,6780],6783,[6832,6845],[6847,6877],[6880,6891],[6912,6915],6964,[6966,6970],6972,6978,[7019,7027],[7040,7041],[7074,7077],[7080,7081],[7083,7085],7142,[7144,7145],7149,[7151,7153],[7212,7219],[7222,7223],[7376,7378],[7380,7392],[7394,7400],7405,7412,[7416,7417],[7616,7679],[8400,8412],8417,[8421,8432],[11503,11505],11647,[11744,11775],[12330,12333],[12441,12442],42607,[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43045,43046],43052,[43204,43205],[43232,43249],43263,[43302,43309],[43335,43345],[43392,43394],43443,[43446,43449],[43452,43453],43493,[43561,43566],[43569,43570],[43573,43574],43587,43596,43644,43696,[43698,43700],[43703,43704],[43710,43711],43713,[43756,43757],43766,44005,44008,44013,64286,[65024,65039],[65056,65071],66045,66272,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],[68900,68903],[68969,68973],[69291,69292],[69370,69375],[69446,69456],[69506,69509],69633,[69688,69702],69744,[69747,69748],[69759,69761],[69811,69814],[69817,69818],69826,[69888,69890],[69927,69931],[69933,69940],70003,[70016,70017],[70070,70078],[70089,70092],70095,[70191,70193],70196,[70198,70199],70206,70209,70367,[70371,70378],[70400,70401],[70459,70460],70464,[70502,70508],[70512,70516],[70587,70592],70606,70608,70610,[70625,70626],[70712,70719],[70722,70724],70726,70750,[70835,70840],70842,[70847,70848],[70850,70851],[71090,71093],[71100,71101],[71103,71104],[71132,71133],[71219,71226],71229,[71231,71232],71339,71341,[71344,71349],71351,71453,71455,[71458,71461],[71463,71467],[71727,71735],[71737,71738],[71995,71996],71998,72003,[72148,72151],[72154,72155],72160,[72193,72202],[72243,72248],[72251,72254],72263,[72273,72278],[72281,72283],[72330,72342],[72344,72345],72544,[72546,72548],72550,[72752,72758],[72760,72765],72767,[72850,72871],[72874,72880],[72882,72883],[72885,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[73104,73105],73109,73111,[73459,73460],[73472,73473],[73526,73530],73536,73538,73562,78912,[78919,78933],[90398,90409],[90413,90415],[92912,92916],[92976,92982],94031,[94095,94098],94180,[113821,113822],[118528,118573],[118576,118598],[119143,119145],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],123023,[123184,123190],123566,[123628,123631],[124140,124143],[124398,124399],124643,124646,[124654,124655],124661,[125136,125142],[125252,125258],[917760,917999]],Kp=[[48,57],[178,179],185,[188,190],[1632,1641],[1776,1785],[1984,1993],[2406,2415],[2534,2543],[2548,2553],[2662,2671],[2790,2799],[2918,2927],[2930,2935],[3046,3058],[3174,3183],[3192,3198],[3302,3311],[3416,3422],[3430,3448],[3558,3567],[3664,3673],[3792,3801],[3872,3891],[4160,4169],[4240,4249],[4969,4988],[5870,5872],[6112,6121],[6128,6137],[6160,6169],[6470,6479],[6608,6618],[6784,6793],[6800,6809],[6992,7001],[7088,7097],[7232,7241],[7248,7257],8304,[8308,8313],[8320,8329],[8528,8578],[8581,8585],[9312,9371],[9450,9471],[10102,10131],11517,12295,[12321,12329],[12344,12346],[12690,12693],[12832,12841],[12872,12879],[12881,12895],[12928,12937],[12977,12991],[42528,42537],[42726,42735],[43056,43061],[43216,43225],[43264,43273],[43472,43481],[43504,43513],[43600,43609],[44016,44025],[65296,65305],[65799,65843],[65856,65912],[65930,65931],[66273,66299],[66336,66339],66369,66378,[66513,66517],[66720,66729],[67672,67679],[67705,67711],[67751,67759],[67835,67839],[67862,67867],[68028,68029],[68032,68047],[68050,68095],[68160,68168],[68221,68222],[68253,68255],[68331,68335],[68440,68447],[68472,68479],[68521,68527],[68858,68863],[68912,68921],[68928,68937],[69216,69246],[69405,69414],[69457,69460],[69573,69579],[69714,69743],[69872,69881],[69942,69951],[70096,70105],[70113,70132],[70384,70393],[70736,70745],[70864,70873],[71248,71257],[71360,71369],[71376,71395],[71472,71483],[71904,71922],[72016,72025],[72688,72697],[72784,72812],[73040,73049],[73120,73129],[73184,73193],[73552,73561],[73664,73684],[74752,74862],[90416,90425],[92768,92777],[92864,92873],[93008,93017],[93019,93025],[93552,93561],[93824,93846],[94196,94198],[118e3,118009],[119488,119507],[119520,119539],[119648,119672],[120782,120831],[123200,123209],[123632,123641],[124144,124153],[124401,124410],[125127,125135],[125264,125273],[126065,126123],[126125,126127],[126129,126132],[126209,126253],[126255,126269],[127232,127244],[130032,130041]],$p=[40,91,123,3898,3900,5787,8218,8222,8261,8317,8333,8968,8970,9001,10088,10090,10092,10094,10096,10098,10100,10181,10214,10216,10218,10220,10222,10627,10629,10631,10633,10635,10637,10639,10641,10643,10645,10647,10712,10714,10748,11810,11812,11814,11816,11842,11861,11863,11865,11867,12296,12298,12300,12302,12304,12308,12310,12312,12314,12317,64831,65047,65077,65079,65081,65083,65085,65087,65089,65091,65095,65113,65115,65117,65288,65339,65371,65375,65378],Jp=[[0,31],[127,159],173,[888,889],[896,899],907,909,930,1328,[1367,1368],[1419,1420],1424,[1480,1487],[1515,1518],[1525,1541],1564,1757,[1806,1807],[1867,1868],[1970,1983],[2043,2044],[2094,2095],2111,[2140,2141],2143,[2155,2159],[2192,2198],2274,2436,[2445,2446],[2449,2450],2473,2481,[2483,2485],[2490,2491],[2501,2502],[2505,2506],[2511,2518],[2520,2523],2526,[2532,2533],[2559,2560],2564,[2571,2574],[2577,2578],2601,2609,2612,2615,[2618,2619],2621,[2627,2630],[2633,2634],[2638,2640],[2642,2648],2653,[2655,2661],[2679,2688],2692,2702,2706,2729,2737,2740,[2746,2747],2758,2762,[2766,2767],[2769,2783],[2788,2789],[2802,2808],2816,2820,[2829,2830],[2833,2834],2857,2865,2868,[2874,2875],[2885,2886],[2889,2890],[2894,2900],[2904,2907],2910,[2916,2917],[2936,2945],2948,[2955,2957],2961,[2966,2968],2971,2973,[2976,2978],[2981,2983],[2987,2989],[3002,3005],[3011,3013],3017,[3022,3023],[3025,3030],[3032,3045],[3067,3071],3085,3089,3113,[3130,3131],3141,3145,[3150,3156],3159,3163,[3166,3167],[3172,3173],[3184,3190],3213,3217,3241,3252,[3258,3259],3269,3273,[3278,3284],[3287,3291],3295,[3300,3301],3312,[3316,3327],3341,3345,3397,3401,[3408,3411],[3428,3429],3456,3460,[3479,3481],3506,3516,[3518,3519],[3527,3529],[3531,3534],3541,3543,[3552,3557],[3568,3569],[3573,3584],[3643,3646],[3676,3712],3715,3717,3723,3748,3750,[3774,3775],3781,3783,3791,[3802,3803],[3808,3839],3912,[3949,3952],3992,4029,4045,[4059,4095],4294,[4296,4300],[4302,4303],4681,[4686,4687],4695,4697,[4702,4703],4745,[4750,4751],4785,[4790,4791],4799,4801,[4806,4807],4823,4881,[4886,4887],[4955,4956],[4989,4991],[5018,5023],[5110,5111],[5118,5119],[5789,5791],[5881,5887],[5910,5918],[5943,5951],[5972,5983],5997,6001,[6004,6015],[6110,6111],[6122,6127],[6138,6143],6158,[6170,6175],[6265,6271],[6315,6319],[6390,6399],6431,[6444,6447],[6460,6463],[6465,6467],[6510,6511],[6517,6527],[6572,6575],[6602,6607],[6619,6621],[6684,6685],6751,[6781,6782],[6794,6799],[6810,6815],[6830,6831],[6878,6879],[6892,6911],6989,[7156,7163],[7224,7226],[7242,7244],[7307,7311],[7355,7356],[7368,7375],[7419,7423],[7958,7959],[7966,7967],[8006,8007],[8014,8015],8024,8026,8028,8030,[8062,8063],8117,8133,[8148,8149],8156,[8176,8177],8181,8191,[8203,8207],[8234,8238],[8288,8303],[8306,8307],8335,[8349,8351],[8386,8399],[8433,8447],[8588,8591],[9258,9279],[9291,9311],[11124,11125],[11508,11512],11558,[11560,11564],[11566,11567],[11624,11630],[11633,11646],[11671,11679],11687,11695,11703,11711,11719,11727,11735,11743,[11870,11903],11930,[12020,12031],[12246,12271],12352,[12439,12440],[12544,12548],12592,12687,[12774,12782],12831,[42125,42127],[42183,42191],[42540,42559],[42744,42751],[42973,42992],[43053,43055],[43066,43071],[43128,43135],[43206,43213],[43226,43231],[43348,43358],[43389,43391],43470,[43482,43485],43519,[43575,43583],[43598,43599],[43610,43611],[43715,43738],[43767,43776],[43783,43784],[43791,43792],[43799,43807],43815,43823,[43884,43887],[44014,44015],[44026,44031],[55204,55215],[55239,55242],[55292,63743],[64110,64111],[64218,64255],[64263,64274],[64280,64284],64311,64317,64319,64322,64325,[64976,65007],[65050,65055],65107,65127,[65132,65135],65141,[65277,65280],[65471,65473],[65480,65481],[65488,65489],[65496,65497],[65501,65503],65511,[65519,65531],[65534,65535],65548,65575,65595,65598,[65614,65615],[65630,65663],[65787,65791],[65795,65798],[65844,65846],65935,[65949,65951],[65953,65999],[66046,66175],[66205,66207],[66257,66271],[66300,66303],[66340,66348],[66379,66383],[66427,66431],66462,[66500,66503],[66518,66559],[66718,66719],[66730,66735],[66772,66775],[66812,66815],[66856,66863],[66916,66926],66939,66955,66963,66966,66978,66994,67002,[67005,67007],[67060,67071],[67383,67391],[67414,67423],[67432,67455],67462,67505,[67515,67583],[67590,67591],67593,67638,[67641,67643],[67645,67646],67670,[67743,67750],[67760,67807],67827,[67830,67834],[67868,67870],[67898,67902],[67930,67967],[68024,68027],[68048,68049],68100,[68103,68107],68116,68120,[68150,68151],[68155,68158],[68169,68175],[68185,68191],[68256,68287],[68327,68330],[68343,68351],[68406,68408],[68438,68439],[68467,68471],[68498,68504],[68509,68520],[68528,68607],[68681,68735],[68787,68799],[68851,68857],[68904,68911],[68922,68927],[68966,68968],[68998,69005],[69008,69215],69247,69290,[69294,69295],[69298,69313],[69320,69327],[69337,69369],[69416,69423],[69466,69487],[69514,69551],[69580,69599],[69623,69631],[69710,69713],[69750,69758],69821,[69827,69839],[69865,69871],[69882,69887],69941,[69960,69967],[70007,70015],70112,[70133,70143],70162,[70210,70271],70279,70281,70286,70302,[70314,70319],[70379,70383],[70394,70399],70404,[70413,70414],[70417,70418],70441,70449,70452,70458,[70469,70470],[70473,70474],[70478,70479],[70481,70486],[70488,70492],[70500,70501],[70509,70511],[70517,70527],70538,[70540,70541],70543,70582,70593,[70595,70596],70598,70603,70614,[70617,70624],[70627,70655],70748,[70754,70783],[70856,70863],[70874,71039],[71094,71095],[71134,71167],[71237,71247],[71258,71263],[71277,71295],[71354,71359],[71370,71375],[71396,71423],[71451,71452],[71468,71471],[71495,71679],[71740,71839],[71923,71934],[71943,71944],[71946,71947],71956,71959,71990,[71993,71994],[72007,72015],[72026,72095],[72104,72105],[72152,72153],[72165,72191],[72264,72271],[72355,72367],[72441,72447],[72458,72543],[72552,72639],[72674,72687],[72698,72703],72713,72759,[72774,72783],[72813,72815],[72848,72849],72872,[72887,72959],72967,72970,[73015,73017],73019,73022,[73032,73039],[73050,73055],73062,73065,73103,73106,[73113,73119],[73130,73135],[73180,73183],[73194,73439],[73465,73471],73489,[73531,73533],[73563,73647],[73649,73663],[73714,73726],[74650,74751],74863,[74869,74879],[75076,77711],[77811,77823],[78896,78911],[78934,78943],[82939,82943],[83527,90367],[90426,92159],[92729,92735],92767,[92778,92781],92863,[92874,92879],[92910,92911],[92918,92927],[92998,93007],93018,93026,[93048,93052],[93072,93503],[93562,93759],[93851,93855],[93881,93882],[93908,93951],[94027,94030],[94088,94094],[94112,94175],[94181,94191],[94199,94207],[101590,101630],[101663,101759],[101875,110575],110580,110588,110591,[110883,110897],[110899,110927],[110931,110932],[110934,110947],[110952,110959],[111356,113663],[113771,113775],[113789,113791],[113801,113807],[113818,113819],[113824,117759],[118013,118015],[118452,118457],[118481,118495],[118513,118527],[118574,118575],[118599,118607],[118724,118783],[119030,119039],[119079,119080],[119155,119162],[119275,119295],[119366,119487],[119508,119519],[119540,119551],[119639,119647],[119673,119807],119893,119965,[119968,119969],[119971,119972],[119975,119976],119981,119994,119996,120004,120070,[120075,120076],120085,120093,120122,120127,120133,[120135,120137],120145,[120486,120487],[120780,120781],[121484,121498],121504,[121520,122623],[122655,122660],[122667,122879],122887,[122905,122906],122914,122917,[122923,122927],[122990,123022],[123024,123135],[123181,123183],[123198,123199],[123210,123213],[123216,123535],[123567,123583],[123642,123646],[123648,124111],[124154,124367],[124411,124414],[124416,124607],124639,[124662,124669],[124672,124895],124903,124908,124911,124927,[125125,125126],[125143,125183],[125260,125263],[125274,125277],[125280,126064],[126133,126208],[126270,126463],126468,126496,126499,[126501,126502],126504,126515,126520,126522,[126524,126529],[126531,126534],126536,126538,126540,126544,126547,[126549,126550],126552,126554,126556,126558,126560,126563,[126565,126566],126571,126579,126584,126589,126591,126602,[126620,126624],126628,126634,[126652,126703],[126706,126975],[127020,127023],[127124,127135],[127151,127152],127168,127184,[127222,127231],[127406,127461],[127491,127503],[127548,127551],[127561,127567],[127570,127583],[127590,127743],[128729,128731],[128749,128751],[128765,128767],[128986,128991],[129004,129007],[129009,129023],[129036,129039],[129096,129103],[129114,129119],[129160,129167],[129198,129199],[129212,129215],[129218,129231],[129241,129279],[129624,129631],[129646,129647],[129661,129663],[129675,129677],129735,[129737,129740],[129757,129758],[129771,129774],[129785,129791],129939,[130043,131071],[173792,173823],[178206,178207],[183982,183983],[191457,191471],[192094,194559],[195102,196607],[201547,201551],[210042,917759],[918e3,1114111]],ev=[170,186,443,[448,451],[660,661],[1488,1514],[1519,1522],[1568,1599],[1601,1610],[1646,1647],[1649,1747],1749,[1774,1775],[1786,1788],1791,1808,[1810,1839],[1869,1957],1969,[1994,2026],[2048,2069],[2112,2136],[2144,2154],[2160,2183],[2185,2191],[2208,2248],[2308,2361],2365,2384,[2392,2401],[2418,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,2510,[2524,2525],[2527,2529],[2544,2545],2556,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],2654,[2674,2676],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],2749,2768,[2784,2785],2809,[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,[2908,2909],[2911,2913],2929,2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3024,[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3160,3162],[3164,3165],[3168,3169],3200,[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],3261,[3292,3294],[3296,3297],[3313,3314],[3332,3340],[3342,3344],[3346,3386],3389,3406,[3412,3414],[3423,3425],[3450,3455],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3585,3632],[3634,3635],[3648,3653],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3760],[3762,3763],3773,[3776,3780],[3804,3807],3840,[3904,3911],[3913,3948],[3976,3980],[4096,4138],4159,[4176,4181],[4186,4189],4193,[4197,4198],[4206,4208],[4213,4225],4238,[4352,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4992,5007],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5873,5880],[5888,5905],[5919,5937],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],6108,[6176,6210],[6212,6264],[6272,6276],[6279,6312],6314,[6320,6389],[6400,6430],[6480,6509],[6512,6516],[6528,6571],[6576,6601],[6656,6678],[6688,6740],[6917,6963],[6981,6988],[7043,7072],[7086,7087],[7098,7141],[7168,7203],[7245,7247],[7258,7287],[7401,7404],[7406,7411],[7413,7414],7418,[8501,8504],[11568,11623],[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],12294,12348,[12353,12438],12447,[12449,12538],12543,[12549,12591],[12593,12686],[12704,12735],[12784,12799],[13312,19903],[19968,40980],[40982,42124],[42192,42231],[42240,42507],[42512,42527],[42538,42539],42606,[42656,42725],42895,42999,[43003,43009],[43011,43013],[43015,43018],[43020,43042],[43072,43123],[43138,43187],[43250,43255],43259,[43261,43262],[43274,43301],[43312,43334],[43360,43388],[43396,43442],[43488,43492],[43495,43503],[43514,43518],[43520,43560],[43584,43586],[43588,43595],[43616,43631],[43633,43638],43642,[43646,43695],43697,[43701,43702],[43705,43709],43712,43714,[43739,43740],[43744,43754],43762,[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43968,44002],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65136,65140],[65142,65276],[65382,65391],[65393,65437],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[66176,66204],[66208,66256],[66304,66335],[66349,66368],[66370,66377],[66384,66421],[66432,66461],[66464,66499],[66504,66511],[66640,66717],[66816,66855],[66864,66915],[67008,67059],[67072,67382],[67392,67413],[67424,67431],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67904,67929],[67968,68023],[68030,68031],68096,[68112,68115],[68117,68119],[68121,68149],[68192,68220],[68224,68252],[68288,68295],[68297,68324],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[68864,68899],[68938,68941],68943,[69248,69289],[69296,69297],[69314,69316],[69318,69319],[69376,69404],69415,[69424,69445],[69488,69505],[69552,69572],[69600,69622],[69635,69687],[69745,69746],69749,[69763,69807],[69840,69864],[69891,69926],69956,69959,[69968,70002],70006,[70019,70066],[70081,70084],70106,70108,[70144,70161],[70163,70187],[70207,70208],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70366],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70480,[70493,70497],[70528,70537],70539,70542,[70544,70581],70583,70609,70611,[70656,70708],[70727,70730],[70751,70753],[70784,70831],[70852,70853],70855,[71040,71086],[71128,71131],[71168,71215],71236,[71296,71338],71352,[71424,71450],[71488,71494],[71680,71723],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71983],71999,72001,[72096,72103],[72106,72144],72161,72163,72192,[72203,72242],72250,72272,[72284,72329],72349,[72368,72440],[72640,72672],[72704,72712],[72714,72750],72768,[72818,72847],[72960,72966],[72968,72969],[72971,73008],73030,[73056,73061],[73063,73064],[73066,73097],73112,[73136,73176],[73178,73179],[73440,73458],73474,[73476,73488],[73490,73523],73648,[73728,74649],[74880,75075],[77712,77808],[77824,78895],[78913,78918],[78944,82938],[82944,83526],[90368,90397],[92160,92728],[92736,92766],[92784,92862],[92880,92909],[92928,92975],[93027,93047],[93053,93071],[93507,93546],[93952,94026],94032,[94208,101589],[101631,101662],[101760,101874],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],122634,[123136,123180],123214,[123536,123565],[123584,123627],[124112,124138],[124368,124397],124400,[124608,124638],[124640,124642],[124644,124645],[124647,124653],[124656,124660],124670,[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[131072,173791],[173824,178205],[178208,183981],[183984,191456],[191472,192093],[194560,195101],[196608,201546],[201552,210041]],tv=[[178,179],185,[188,190],[2548,2553],[2930,2935],[3056,3058],[3192,3198],[3416,3422],[3440,3448],[3882,3891],[4969,4988],[6128,6137],6618,8304,[8308,8313],[8320,8329],[8528,8543],8585,[9312,9371],[9450,9471],[10102,10131],11517,[12690,12693],[12832,12841],[12872,12879],[12881,12895],[12928,12937],[12977,12991],[43056,43061],[65799,65843],[65909,65912],[65930,65931],[66273,66299],[66336,66339],[67672,67679],[67705,67711],[67751,67759],[67835,67839],[67862,67867],[68028,68029],[68032,68047],[68050,68095],[68160,68168],[68221,68222],[68253,68255],[68331,68335],[68440,68447],[68472,68479],[68521,68527],[68858,68863],[69216,69246],[69405,69414],[69457,69460],[69573,69579],[69714,69733],[70113,70132],[71482,71483],[71914,71922],[72794,72812],[73664,73684],[93019,93025],[93824,93846],[119488,119507],[119520,119539],[119648,119672],[125127,125135],[126065,126123],[126125,126127],[126129,126132],[126209,126253],[126255,126269],[127232,127244]],rv=[[33,35],[37,39],42,44,[46,47],[58,59],[63,64],92,161,167,[182,183],191,894,903,[1370,1375],1417,1472,1475,1478,[1523,1524],[1545,1546],[1548,1549],1563,[1565,1567],[1642,1645],1748,[1792,1805],[2039,2041],[2096,2110],2142,[2404,2405],2416,2557,2678,2800,3191,3204,3572,3663,[3674,3675],[3844,3858],3860,3973,[4048,4052],[4057,4058],[4170,4175],4347,[4960,4968],5742,[5867,5869],[5941,5942],[6100,6102],[6104,6106],[6144,6149],[6151,6154],[6468,6469],[6686,6687],[6816,6822],[6824,6829],[6990,6991],[7002,7008],[7037,7039],[7164,7167],[7227,7231],[7294,7295],[7360,7367],7379,[8214,8215],[8224,8231],[8240,8248],[8251,8254],[8257,8259],[8263,8273],8275,[8277,8286],[11513,11516],[11518,11519],11632,[11776,11777],[11782,11784],11787,[11790,11798],[11800,11801],11803,[11806,11807],[11818,11822],[11824,11833],[11836,11839],11841,[11843,11855],[11858,11860],[12289,12291],12349,12539,[42238,42239],[42509,42511],42611,42622,[42738,42743],[43124,43127],[43214,43215],[43256,43258],43260,[43310,43311],43359,[43457,43469],[43486,43487],[43612,43615],[43742,43743],[43760,43761],44011,[65040,65046],65049,65072,[65093,65094],[65097,65100],[65104,65106],[65108,65111],[65119,65121],65128,[65130,65131],[65281,65283],[65285,65287],65290,65292,[65294,65295],[65306,65307],[65311,65312],65340,65377,[65380,65381],[65792,65794],66463,66512,66927,67671,67871,67903,[68176,68184],68223,[68336,68342],[68409,68415],[68505,68508],69328,[69461,69465],[69510,69513],[69703,69709],[69819,69820],[69822,69825],[69952,69955],[70004,70005],[70085,70088],70093,70107,[70109,70111],[70200,70205],70313,[70612,70613],[70615,70616],[70731,70735],[70746,70747],70749,70854,[71105,71127],[71233,71235],[71264,71276],71353,[71484,71486],71739,[72004,72006],72162,[72255,72262],[72346,72348],[72350,72354],[72448,72457],72673,[72769,72773],[72816,72817],[73463,73464],[73539,73551],73727,[74864,74868],[77809,77810],[92782,92783],92917,[92983,92987],92996,[93549,93551],[93847,93850],94178,113823,[121479,121483],124415,[125278,125279]],nv=[166,169,174,176,1154,[1421,1422],[1550,1551],1758,1769,[1789,1790],2038,2554,2928,[3059,3064],3066,3199,3407,3449,[3841,3843],3859,[3861,3863],[3866,3871],3892,3894,3896,[4030,4037],[4039,4044],[4046,4047],[4053,4056],[4254,4255],[5008,5017],5741,6464,[6622,6655],[7009,7018],[7028,7036],[8448,8449],[8451,8454],[8456,8457],8468,[8470,8471],[8478,8483],8485,8487,8489,8494,[8506,8507],8522,[8524,8525],8527,[8586,8587],[8597,8601],[8604,8607],[8609,8610],[8612,8613],[8615,8621],[8623,8653],[8656,8657],8659,[8661,8691],[8960,8967],[8972,8991],[8994,9e3],[9003,9083],[9085,9114],[9140,9179],[9186,9257],[9280,9290],[9372,9449],[9472,9654],[9656,9664],[9666,9719],[9728,9838],[9840,10087],[10132,10175],[10240,10495],[11008,11055],[11077,11078],[11085,11123],[11126,11263],[11493,11498],[11856,11857],[11904,11929],[11931,12019],[12032,12245],[12272,12287],12292,[12306,12307],12320,[12342,12343],[12350,12351],[12688,12689],[12694,12703],[12736,12773],12783,[12800,12830],[12842,12871],12880,[12896,12927],[12938,12976],[12992,13311],[19904,19967],[42128,42182],[43048,43051],[43062,43063],43065,[43639,43641],[64451,64466],[64832,64847],[64912,64913],[64968,64975],[65021,65023],65508,65512,[65517,65518],[65532,65533],[65847,65855],[65913,65929],[65932,65934],[65936,65948],65952,[66e3,66044],[67703,67704],68296,[69329,69336],71487,[73685,73692],[73697,73713],[92988,92991],92997,113820,[117760,117999],[118010,118012],[118016,118451],[118458,118480],[118496,118511],[118608,118723],[118784,119029],[119040,119078],[119081,119140],[119146,119148],[119171,119172],[119180,119209],[119214,119274],[119296,119361],119365,[119552,119638],[120832,121343],[121399,121402],[121453,121460],[121462,121475],[121477,121478],123215,126124,126254,[126976,127019],[127024,127123],[127136,127150],[127153,127167],[127169,127183],[127185,127221],[127245,127405],[127462,127490],[127504,127547],[127552,127560],[127568,127569],[127584,127589],[127744,127994],[128e3,128728],[128732,128748],[128752,128764],[128768,128985],[128992,129003],129008,[129024,129035],[129040,129095],[129104,129113],[129120,129159],[129168,129197],[129200,129211],[129216,129217],[129280,129623],[129632,129645],[129648,129660],[129664,129674],[129678,129734],129736,[129741,129756],[129759,129770],[129775,129784],[129792,129938],[129940,130031],130042],iv=[8233],av=[[57344,63743],[983040,1048573],[1048576,1114109]],ov=[[33,35],[37,42],[44,47],[58,59],[63,64],[91,93],95,123,125,161,167,171,[182,183],187,191,894,903,[1370,1375],[1417,1418],1470,1472,1475,1478,[1523,1524],[1545,1546],[1548,1549],1563,[1565,1567],[1642,1645],1748,[1792,1805],[2039,2041],[2096,2110],2142,[2404,2405],2416,2557,2678,2800,3191,3204,3572,3663,[3674,3675],[3844,3858],3860,[3898,3901],3973,[4048,4052],[4057,4058],[4170,4175],4347,[4960,4968],5120,5742,[5787,5788],[5867,5869],[5941,5942],[6100,6102],[6104,6106],[6144,6154],[6468,6469],[6686,6687],[6816,6822],[6824,6829],[6990,6991],[7002,7008],[7037,7039],[7164,7167],[7227,7231],[7294,7295],[7360,7367],7379,[8208,8231],[8240,8259],[8261,8273],[8275,8286],[8317,8318],[8333,8334],[8968,8971],[9001,9002],[10088,10101],[10181,10182],[10214,10223],[10627,10648],[10712,10715],[10748,10749],[11513,11516],[11518,11519],11632,[11776,11822],[11824,11855],[11858,11869],[12289,12291],[12296,12305],[12308,12319],12336,12349,12448,12539,[42238,42239],[42509,42511],42611,42622,[42738,42743],[43124,43127],[43214,43215],[43256,43258],43260,[43310,43311],43359,[43457,43469],[43486,43487],[43612,43615],[43742,43743],[43760,43761],44011,[64830,64831],[65040,65049],[65072,65106],[65108,65121],65123,65128,[65130,65131],[65281,65283],[65285,65290],[65292,65295],[65306,65307],[65311,65312],[65339,65341],65343,65371,65373,[65375,65381],[65792,65794],66463,66512,66927,67671,67871,67903,[68176,68184],68223,[68336,68342],[68409,68415],[68505,68508],68974,69293,69328,[69461,69465],[69510,69513],[69703,69709],[69819,69820],[69822,69825],[69952,69955],[70004,70005],[70085,70088],70093,70107,[70109,70111],[70200,70205],70313,[70612,70613],[70615,70616],[70731,70735],[70746,70747],70749,70854,[71105,71127],[71233,71235],[71264,71276],71353,[71484,71486],71739,[72004,72006],72162,[72255,72262],[72346,72348],[72350,72354],[72448,72457],72673,[72769,72773],[72816,72817],[73463,73464],[73539,73551],73727,[74864,74868],[77809,77810],[92782,92783],92917,[92983,92987],92996,[93549,93551],[93847,93850],94178,113823,[121479,121483],124415,[125278,125279]],sv=[32,160,5760,[8192,8202],[8232,8233],8239,8287,12288],lv=[32,160,5760,[8192,8202],8239,8287,12288],uv=[2307,2363,[2366,2368],[2377,2380],[2382,2383],[2434,2435],[2494,2496],[2503,2504],[2507,2508],2519,2563,[2622,2624],2691,[2750,2752],2761,[2763,2764],[2818,2819],2878,2880,[2887,2888],[2891,2892],2903,[3006,3007],[3009,3010],[3014,3016],[3018,3020],3031,[3073,3075],[3137,3140],[3202,3203],3262,[3264,3268],[3271,3272],[3274,3275],[3285,3286],3315,[3330,3331],[3390,3392],[3398,3400],[3402,3404],3415,[3458,3459],[3535,3537],[3544,3551],[3570,3571],[3902,3903],3967,[4139,4140],4145,4152,[4155,4156],[4182,4183],[4194,4196],[4199,4205],[4227,4228],[4231,4236],4239,[4250,4252],5909,5940,6070,[6078,6085],[6087,6088],[6435,6438],[6441,6443],[6448,6449],[6451,6456],[6681,6682],6741,6743,6753,[6755,6756],[6765,6770],6916,6965,6971,[6973,6977],[6979,6980],7042,7073,[7078,7079],7082,7143,[7146,7148],7150,[7154,7155],[7204,7211],[7220,7221],7393,7415,[12334,12335],[43043,43044],43047,[43136,43137],[43188,43203],[43346,43347],43395,[43444,43445],[43450,43451],[43454,43456],[43567,43568],[43571,43572],43597,43643,43645,43755,[43758,43759],43765,[44003,44004],[44006,44007],[44009,44010],44012,69632,69634,69762,[69808,69810],[69815,69816],69932,[69957,69958],70018,[70067,70069],[70079,70080],70094,[70188,70190],[70194,70195],70197,[70368,70370],[70402,70403],[70462,70463],[70465,70468],[70471,70472],[70475,70477],70487,[70498,70499],[70584,70586],70594,70597,[70599,70602],[70604,70605],70607,[70709,70711],[70720,70721],70725,[70832,70834],70841,[70843,70846],70849,[71087,71089],[71096,71099],71102,[71216,71218],[71227,71228],71230,71340,[71342,71343],71350,71454,[71456,71457],71462,[71724,71726],71736,[71984,71989],[71991,71992],71997,72e3,72002,[72145,72147],[72156,72159],72164,72249,[72279,72280],72343,72545,72549,72551,72751,72766,72873,72881,72884,[73098,73102],[73107,73108],73110,[73461,73462],73475,[73524,73525],[73534,73535],73537,[90410,90412],[94033,94087],[94192,94193],[119141,119142],[119149,119154]],cv=[[55296,57343]],dv=[36,43,[60,62],94,96,124,126,[162,166],[168,169],172,[174,177],180,184,215,247,[706,709],[722,735],[741,747],749,[751,767],885,[900,901],1014,1154,[1421,1423],[1542,1544],1547,[1550,1551],1758,1769,[1789,1790],2038,[2046,2047],2184,[2546,2547],[2554,2555],2801,2928,[3059,3066],3199,3407,3449,3647,[3841,3843],3859,[3861,3863],[3866,3871],3892,3894,3896,[4030,4037],[4039,4044],[4046,4047],[4053,4056],[4254,4255],[5008,5017],5741,6107,6464,[6622,6655],[7009,7018],[7028,7036],8125,[8127,8129],[8141,8143],[8157,8159],[8173,8175],[8189,8190],8260,8274,[8314,8316],[8330,8332],[8352,8385],[8448,8449],[8451,8454],[8456,8457],8468,[8470,8472],[8478,8483],8485,8487,8489,8494,[8506,8507],[8512,8516],[8522,8525],8527,[8586,8587],[8592,8967],[8972,9e3],[9003,9257],[9280,9290],[9372,9449],[9472,10087],[10132,10180],[10183,10213],[10224,10626],[10649,10711],[10716,10747],[10750,11123],[11126,11263],[11493,11498],[11856,11857],[11904,11929],[11931,12019],[12032,12245],[12272,12287],12292,[12306,12307],12320,[12342,12343],[12350,12351],[12443,12444],[12688,12689],[12694,12703],[12736,12773],12783,[12800,12830],[12842,12871],12880,[12896,12927],[12938,12976],[12992,13311],[19904,19967],[42128,42182],[42752,42774],[42784,42785],[42889,42890],[43048,43051],[43062,43065],[43639,43641],43867,[43882,43883],64297,[64434,64466],[64832,64847],[64912,64913],[64968,64975],[65020,65023],65122,[65124,65126],65129,65284,65291,[65308,65310],65342,65344,65372,65374,[65504,65510],[65512,65518],[65532,65533],[65847,65855],[65913,65929],[65932,65934],[65936,65948],65952,[66e3,66044],[67703,67704],68296,[69006,69007],[69329,69336],71487,[73685,73713],[92988,92991],92997,113820,[117760,117999],[118010,118012],[118016,118451],[118458,118480],[118496,118512],[118608,118723],[118784,119029],[119040,119078],[119081,119140],[119146,119148],[119171,119172],[119180,119209],[119214,119274],[119296,119361],119365,[119552,119638],120513,120539,120571,120597,120629,120655,120687,120713,120745,120771,[120832,121343],[121399,121402],[121453,121460],[121462,121475],[121477,121478],123215,123647,126124,126128,126254,[126704,126705],[126976,127019],[127024,127123],[127136,127150],[127153,127167],[127169,127183],[127185,127221],[127245,127405],[127462,127490],[127504,127547],[127552,127560],[127568,127569],[127584,127589],[127744,128728],[128732,128748],[128752,128764],[128768,128985],[128992,129003],129008,[129024,129035],[129040,129095],[129104,129113],[129120,129159],[129168,129197],[129200,129211],[129216,129217],[129232,129240],[129280,129623],[129632,129645],[129648,129660],[129664,129674],[129678,129734],129736,[129741,129756],[129759,129770],[129775,129784],[129792,129938],[129940,130031],130042],hv=[453,456,459,498,[8072,8079],[8088,8095],[8104,8111],8124,8140,8188],mv=[[888,889],[896,899],907,909,930,1328,[1367,1368],[1419,1420],1424,[1480,1487],[1515,1518],[1525,1535],1806,[1867,1868],[1970,1983],[2043,2044],[2094,2095],2111,[2140,2141],2143,[2155,2159],[2194,2198],2436,[2445,2446],[2449,2450],2473,2481,[2483,2485],[2490,2491],[2501,2502],[2505,2506],[2511,2518],[2520,2523],2526,[2532,2533],[2559,2560],2564,[2571,2574],[2577,2578],2601,2609,2612,2615,[2618,2619],2621,[2627,2630],[2633,2634],[2638,2640],[2642,2648],2653,[2655,2661],[2679,2688],2692,2702,2706,2729,2737,2740,[2746,2747],2758,2762,[2766,2767],[2769,2783],[2788,2789],[2802,2808],2816,2820,[2829,2830],[2833,2834],2857,2865,2868,[2874,2875],[2885,2886],[2889,2890],[2894,2900],[2904,2907],2910,[2916,2917],[2936,2945],2948,[2955,2957],2961,[2966,2968],2971,2973,[2976,2978],[2981,2983],[2987,2989],[3002,3005],[3011,3013],3017,[3022,3023],[3025,3030],[3032,3045],[3067,3071],3085,3089,3113,[3130,3131],3141,3145,[3150,3156],3159,3163,[3166,3167],[3172,3173],[3184,3190],3213,3217,3241,3252,[3258,3259],3269,3273,[3278,3284],[3287,3291],3295,[3300,3301],3312,[3316,3327],3341,3345,3397,3401,[3408,3411],[3428,3429],3456,3460,[3479,3481],3506,3516,[3518,3519],[3527,3529],[3531,3534],3541,3543,[3552,3557],[3568,3569],[3573,3584],[3643,3646],[3676,3712],3715,3717,3723,3748,3750,[3774,3775],3781,3783,3791,[3802,3803],[3808,3839],3912,[3949,3952],3992,4029,4045,[4059,4095],4294,[4296,4300],[4302,4303],4681,[4686,4687],4695,4697,[4702,4703],4745,[4750,4751],4785,[4790,4791],4799,4801,[4806,4807],4823,4881,[4886,4887],[4955,4956],[4989,4991],[5018,5023],[5110,5111],[5118,5119],[5789,5791],[5881,5887],[5910,5918],[5943,5951],[5972,5983],5997,6001,[6004,6015],[6110,6111],[6122,6127],[6138,6143],[6170,6175],[6265,6271],[6315,6319],[6390,6399],6431,[6444,6447],[6460,6463],[6465,6467],[6510,6511],[6517,6527],[6572,6575],[6602,6607],[6619,6621],[6684,6685],6751,[6781,6782],[6794,6799],[6810,6815],[6830,6831],[6878,6879],[6892,6911],6989,[7156,7163],[7224,7226],[7242,7244],[7307,7311],[7355,7356],[7368,7375],[7419,7423],[7958,7959],[7966,7967],[8006,8007],[8014,8015],8024,8026,8028,8030,[8062,8063],8117,8133,[8148,8149],8156,[8176,8177],8181,8191,8293,[8306,8307],8335,[8349,8351],[8386,8399],[8433,8447],[8588,8591],[9258,9279],[9291,9311],[11124,11125],[11508,11512],11558,[11560,11564],[11566,11567],[11624,11630],[11633,11646],[11671,11679],11687,11695,11703,11711,11719,11727,11735,11743,[11870,11903],11930,[12020,12031],[12246,12271],12352,[12439,12440],[12544,12548],12592,12687,[12774,12782],12831,[42125,42127],[42183,42191],[42540,42559],[42744,42751],[42973,42992],[43053,43055],[43066,43071],[43128,43135],[43206,43213],[43226,43231],[43348,43358],[43389,43391],43470,[43482,43485],43519,[43575,43583],[43598,43599],[43610,43611],[43715,43738],[43767,43776],[43783,43784],[43791,43792],[43799,43807],43815,43823,[43884,43887],[44014,44015],[44026,44031],[55204,55215],[55239,55242],[55292,55295],[64110,64111],[64218,64255],[64263,64274],[64280,64284],64311,64317,64319,64322,64325,[64976,65007],[65050,65055],65107,65127,[65132,65135],65141,[65277,65278],65280,[65471,65473],[65480,65481],[65488,65489],[65496,65497],[65501,65503],65511,[65519,65528],[65534,65535],65548,65575,65595,65598,[65614,65615],[65630,65663],[65787,65791],[65795,65798],[65844,65846],65935,[65949,65951],[65953,65999],[66046,66175],[66205,66207],[66257,66271],[66300,66303],[66340,66348],[66379,66383],[66427,66431],66462,[66500,66503],[66518,66559],[66718,66719],[66730,66735],[66772,66775],[66812,66815],[66856,66863],[66916,66926],66939,66955,66963,66966,66978,66994,67002,[67005,67007],[67060,67071],[67383,67391],[67414,67423],[67432,67455],67462,67505,[67515,67583],[67590,67591],67593,67638,[67641,67643],[67645,67646],67670,[67743,67750],[67760,67807],67827,[67830,67834],[67868,67870],[67898,67902],[67930,67967],[68024,68027],[68048,68049],68100,[68103,68107],68116,68120,[68150,68151],[68155,68158],[68169,68175],[68185,68191],[68256,68287],[68327,68330],[68343,68351],[68406,68408],[68438,68439],[68467,68471],[68498,68504],[68509,68520],[68528,68607],[68681,68735],[68787,68799],[68851,68857],[68904,68911],[68922,68927],[68966,68968],[68998,69005],[69008,69215],69247,69290,[69294,69295],[69298,69313],[69320,69327],[69337,69369],[69416,69423],[69466,69487],[69514,69551],[69580,69599],[69623,69631],[69710,69713],[69750,69758],[69827,69836],[69838,69839],[69865,69871],[69882,69887],69941,[69960,69967],[70007,70015],70112,[70133,70143],70162,[70210,70271],70279,70281,70286,70302,[70314,70319],[70379,70383],[70394,70399],70404,[70413,70414],[70417,70418],70441,70449,70452,70458,[70469,70470],[70473,70474],[70478,70479],[70481,70486],[70488,70492],[70500,70501],[70509,70511],[70517,70527],70538,[70540,70541],70543,70582,70593,[70595,70596],70598,70603,70614,[70617,70624],[70627,70655],70748,[70754,70783],[70856,70863],[70874,71039],[71094,71095],[71134,71167],[71237,71247],[71258,71263],[71277,71295],[71354,71359],[71370,71375],[71396,71423],[71451,71452],[71468,71471],[71495,71679],[71740,71839],[71923,71934],[71943,71944],[71946,71947],71956,71959,71990,[71993,71994],[72007,72015],[72026,72095],[72104,72105],[72152,72153],[72165,72191],[72264,72271],[72355,72367],[72441,72447],[72458,72543],[72552,72639],[72674,72687],[72698,72703],72713,72759,[72774,72783],[72813,72815],[72848,72849],72872,[72887,72959],72967,72970,[73015,73017],73019,73022,[73032,73039],[73050,73055],73062,73065,73103,73106,[73113,73119],[73130,73135],[73180,73183],[73194,73439],[73465,73471],73489,[73531,73533],[73563,73647],[73649,73663],[73714,73726],[74650,74751],74863,[74869,74879],[75076,77711],[77811,77823],[78934,78943],[82939,82943],[83527,90367],[90426,92159],[92729,92735],92767,[92778,92781],92863,[92874,92879],[92910,92911],[92918,92927],[92998,93007],93018,93026,[93048,93052],[93072,93503],[93562,93759],[93851,93855],[93881,93882],[93908,93951],[94027,94030],[94088,94094],[94112,94175],[94181,94191],[94199,94207],[101590,101630],[101663,101759],[101875,110575],110580,110588,110591,[110883,110897],[110899,110927],[110931,110932],[110934,110947],[110952,110959],[111356,113663],[113771,113775],[113789,113791],[113801,113807],[113818,113819],[113828,117759],[118013,118015],[118452,118457],[118481,118495],[118513,118527],[118574,118575],[118599,118607],[118724,118783],[119030,119039],[119079,119080],[119275,119295],[119366,119487],[119508,119519],[119540,119551],[119639,119647],[119673,119807],119893,119965,[119968,119969],[119971,119972],[119975,119976],119981,119994,119996,120004,120070,[120075,120076],120085,120093,120122,120127,120133,[120135,120137],120145,[120486,120487],[120780,120781],[121484,121498],121504,[121520,122623],[122655,122660],[122667,122879],122887,[122905,122906],122914,122917,[122923,122927],[122990,123022],[123024,123135],[123181,123183],[123198,123199],[123210,123213],[123216,123535],[123567,123583],[123642,123646],[123648,124111],[124154,124367],[124411,124414],[124416,124607],124639,[124662,124669],[124672,124895],124903,124908,124911,124927,[125125,125126],[125143,125183],[125260,125263],[125274,125277],[125280,126064],[126133,126208],[126270,126463],126468,126496,126499,[126501,126502],126504,126515,126520,126522,[126524,126529],[126531,126534],126536,126538,126540,126544,126547,[126549,126550],126552,126554,126556,126558,126560,126563,[126565,126566],126571,126579,126584,126589,126591,126602,[126620,126624],126628,126634,[126652,126703],[126706,126975],[127020,127023],[127124,127135],[127151,127152],127168,127184,[127222,127231],[127406,127461],[127491,127503],[127548,127551],[127561,127567],[127570,127583],[127590,127743],[128729,128731],[128749,128751],[128765,128767],[128986,128991],[129004,129007],[129009,129023],[129036,129039],[129096,129103],[129114,129119],[129160,129167],[129198,129199],[129212,129215],[129218,129231],[129241,129279],[129624,129631],[129646,129647],[129661,129663],[129675,129677],129735,[129737,129740],[129757,129758],[129771,129774],[129785,129791],129939,[130043,131071],[173792,173823],[178206,178207],[183982,183983],[191457,191471],[192094,194559],[195102,196607],[201547,201551],[210042,917504],[917506,917535],[917632,917759],[918e3,983039],[1048574,1048575],[1114110,1114111]],fv=[[65,90],[192,214],[216,222],256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,313,315,317,319,321,323,325,327,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,[376,377],379,381,[385,386],388,[390,391],[393,395],[398,401],[403,404],[406,408],[412,413],[415,416],418,420,[422,423],425,428,[430,431],[433,435],437,[439,440],444,452,455,458,461,463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,497,500,[502,504],506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,[570,571],[573,574],577,[579,582],584,586,588,590,880,882,886,895,902,[904,906],908,[910,911],[913,929],[931,939],975,[978,980],984,986,988,990,992,994,996,998,1e3,1002,1004,1006,1012,1015,[1017,1018],[1021,1071],1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,[1216,1217],1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,[1329,1366],[4256,4293],4295,4301,[5024,5109],7305,[7312,7354],[7357,7359],7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,[7944,7951],[7960,7965],[7976,7983],[7992,7999],[8008,8013],8025,8027,8029,8031,[8040,8047],[8120,8123],[8136,8139],[8152,8155],[8168,8172],[8184,8187],8450,8455,[8459,8461],[8464,8466],8469,[8473,8477],8484,8486,8488,[8490,8493],[8496,8499],[8510,8511],8517,8579,[11264,11311],11360,[11362,11364],11367,11369,11371,[11373,11376],11378,11381,[11390,11392],11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42873,42875,[42877,42878],42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,[42922,42926],[42928,42932],42934,42936,42938,42940,42942,42944,42946,[42948,42951],42953,[42955,42956],42958,42960,42962,42964,42966,42968,42970,42972,42997,[65313,65338],[66560,66599],[66736,66771],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[68736,68786],[68944,68965],[71840,71871],[93760,93791],[93856,93880],[119808,119833],[119860,119885],[119912,119937],119964,[119966,119967],119970,[119973,119974],[119977,119980],[119982,119989],[120016,120041],[120068,120069],[120071,120074],[120077,120084],[120086,120092],[120120,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120172,120197],[120224,120249],[120276,120301],[120328,120353],[120380,120405],[120432,120457],[120488,120512],[120546,120570],[120604,120628],[120662,120686],[120720,120744],120778,[125184,125217]],gv=[[0,127]],pv=[[48,57],[65,70],[97,102]],vv=[[65,90],[97,122],170,181,186,[192,214],[216,246],[248,705],[710,721],[736,740],748,750,837,[867,884],[886,887],[890,893],895,902,[904,906],908,[910,929],[931,1013],[1015,1153],[1162,1327],[1329,1366],1369,[1376,1416],[1456,1469],1471,[1473,1474],[1476,1477],1479,[1488,1514],[1519,1522],[1552,1562],[1568,1623],[1625,1631],[1646,1747],[1749,1756],[1761,1768],[1773,1775],[1786,1788],1791,[1808,1855],[1869,1969],[1994,2026],[2036,2037],2042,[2048,2071],[2074,2092],[2112,2136],[2144,2154],[2160,2183],[2185,2191],2199,[2208,2249],[2260,2271],[2275,2281],[2288,2363],[2365,2380],[2382,2384],[2389,2403],[2417,2435],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],[2493,2500],[2503,2504],[2507,2508],2510,2519,[2524,2525],[2527,2531],[2544,2545],2556,[2561,2563],[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2622,2626],[2631,2632],[2635,2636],2641,[2649,2652],2654,[2672,2677],[2689,2691],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],[2749,2757],[2759,2761],[2763,2764],2768,[2784,2787],[2809,2812],[2817,2819],[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],[2877,2884],[2887,2888],[2891,2892],[2902,2903],[2908,2909],[2911,2915],2929,[2946,2947],[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],[3006,3010],[3014,3016],[3018,3020],3024,3031,[3072,3084],[3086,3088],[3090,3112],[3114,3129],[3133,3140],[3142,3144],[3146,3148],[3157,3158],[3160,3162],[3164,3165],[3168,3171],[3200,3203],[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],[3261,3268],[3270,3272],[3274,3276],[3285,3286],[3292,3294],[3296,3299],[3313,3315],[3328,3340],[3342,3344],[3346,3386],[3389,3396],[3398,3400],[3402,3404],3406,[3412,3415],[3423,3427],[3450,3455],[3457,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3535,3540],3542,[3544,3551],[3570,3571],[3585,3642],[3648,3654],3661,[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3769],[3771,3773],[3776,3780],3782,3789,[3804,3807],3840,[3904,3911],[3913,3948],[3953,3971],[3976,3991],[3993,4028],[4096,4150],4152,[4155,4159],[4176,4239],[4250,4253],[4256,4293],4295,4301,[4304,4346],[4348,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4992,5007],[5024,5109],[5112,5117],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5870,5880],[5888,5907],[5919,5939],[5952,5971],[5984,5996],[5998,6e3],[6002,6003],[6016,6067],[6070,6088],6103,6108,[6176,6264],[6272,6314],[6320,6389],[6400,6430],[6432,6443],[6448,6456],[6480,6509],[6512,6516],[6528,6571],[6576,6601],[6656,6683],[6688,6750],[6753,6772],6823,[6847,6848],[6860,6862],[6912,6963],[6965,6979],[6981,6988],[7040,7081],[7084,7087],[7098,7141],[7143,7153],[7168,7222],[7245,7247],[7258,7293],[7296,7306],[7312,7354],[7357,7359],[7401,7404],[7406,7411],[7413,7414],7418,[7424,7615],[7635,7668],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8305,8319,[8336,8348],8450,8455,[8458,8467],8469,[8473,8477],8484,8486,8488,[8490,8493],[8495,8505],[8508,8511],[8517,8521],8526,[8544,8584],[9398,9449],[11264,11492],[11499,11502],[11506,11507],[11520,11557],11559,11565,[11568,11623],11631,[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[11744,11775],11823,[12293,12295],[12321,12329],[12337,12341],[12344,12348],[12353,12438],[12445,12447],[12449,12538],[12540,12543],[12549,12591],[12593,12686],[12704,12735],[12784,12799],[13312,19903],[19968,42124],[42192,42237],[42240,42508],[42512,42527],[42538,42539],[42560,42606],[42612,42619],[42623,42735],[42775,42783],[42786,42888],[42891,42972],[42993,43013],[43015,43047],[43072,43123],[43136,43203],43205,[43250,43255],43259,[43261,43263],[43274,43306],[43312,43346],[43360,43388],[43392,43442],[43444,43455],43471,[43488,43503],[43514,43518],[43520,43574],[43584,43597],[43616,43638],[43642,43710],43712,43714,[43739,43741],[43744,43759],[43762,43765],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43866],[43868,43881],[43888,44010],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],[64256,64262],[64275,64279],[64285,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65136,65140],[65142,65276],[65313,65338],[65345,65370],[65382,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65856,65908],[66176,66204],[66208,66256],[66304,66335],[66349,66378],[66384,66426],[66432,66461],[66464,66499],[66504,66511],[66513,66517],[66560,66717],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67008,67059],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67904,67929],[67968,68023],[68030,68031],[68096,68099],[68101,68102],[68108,68115],[68117,68119],[68121,68149],[68192,68220],[68224,68252],[68288,68295],[68297,68324],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[68736,68786],[68800,68850],[68864,68903],[68938,68965],68969,[68975,68997],[69248,69289],[69291,69292],[69296,69297],[69314,69319],[69370,69372],[69376,69404],69415,[69424,69445],[69488,69505],[69552,69572],[69600,69622],[69632,69701],[69745,69749],[69760,69816],69826,[69840,69864],[69888,69938],[69956,69959],[69968,70002],70006,[70016,70079],[70081,70084],[70094,70095],70106,70108,[70144,70161],[70163,70196],70199,[70206,70209],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70376],[70400,70403],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],[70461,70468],[70471,70472],[70475,70476],70480,70487,[70493,70499],[70528,70537],70539,70542,[70544,70581],[70583,70592],70594,70597,[70599,70602],[70604,70605],70609,70611,[70656,70721],[70723,70725],[70727,70730],[70751,70753],[70784,70849],[70852,70853],70855,[71040,71093],[71096,71102],[71128,71133],[71168,71230],71232,71236,[71296,71349],71352,[71424,71450],[71453,71466],[71488,71494],[71680,71736],[71840,71903],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],[71995,71996],[71999,72002],[72096,72103],[72106,72151],[72154,72159],72161,[72163,72164],[72192,72242],[72245,72254],[72272,72343],72349,[72368,72440],[72544,72551],[72640,72672],[72704,72712],[72714,72758],[72760,72766],72768,[72818,72847],[72850,72871],[72873,72886],[72960,72966],[72968,72969],[72971,73014],73018,[73020,73021],[73023,73025],73027,[73030,73031],[73056,73061],[73063,73064],[73066,73102],[73104,73105],[73107,73110],73112,[73136,73179],[73440,73462],[73472,73488],[73490,73530],[73534,73536],73648,[73728,74649],[74752,74862],[74880,75075],[77712,77808],[77824,78895],[78913,78918],[78944,82938],[82944,83526],[90368,90414],[92160,92728],[92736,92766],[92784,92862],[92880,92909],[92928,92975],[92992,92995],[93027,93047],[93053,93071],[93504,93548],[93760,93823],[93856,93880],[93883,93907],[93952,94026],[94031,94087],[94095,94111],[94176,94177],94179,[94192,94198],[94208,101589],[101631,101662],[101760,101874],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],113822,[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[122624,122654],[122661,122666],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[122928,122989],123023,[123136,123180],[123191,123197],123214,[123536,123565],[123584,123627],[124112,124139],[124368,124397],124400,[124608,124638],[124640,124661],[124670,124671],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125184,125251],125255,125259,[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[127280,127305],[127312,127337],[127344,127369],[131072,173791],[173824,178205],[178208,183981],[183984,191456],[191472,192093],[194560,195101],[196608,201546],[201552,210041]],bv=[[0,1114111]],Cv=[[0,887],[890,895],[900,906],908,[910,929],[931,1327],[1329,1366],[1369,1418],[1421,1423],[1425,1479],[1488,1514],[1519,1524],[1536,1805],[1807,1866],[1869,1969],[1984,2042],[2045,2093],[2096,2110],[2112,2139],2142,[2144,2154],[2160,2193],[2199,2435],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],[2492,2500],[2503,2504],[2507,2510],2519,[2524,2525],[2527,2531],[2534,2558],[2561,2563],[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],2620,[2622,2626],[2631,2632],[2635,2637],2641,[2649,2652],2654,[2662,2678],[2689,2691],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],[2748,2757],[2759,2761],[2763,2765],2768,[2784,2787],[2790,2801],[2809,2815],[2817,2819],[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],[2876,2884],[2887,2888],[2891,2893],[2901,2903],[2908,2909],[2911,2915],[2918,2935],[2946,2947],[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],[3006,3010],[3014,3016],[3018,3021],3024,3031,[3046,3066],[3072,3084],[3086,3088],[3090,3112],[3114,3129],[3132,3140],[3142,3144],[3146,3149],[3157,3158],[3160,3162],[3164,3165],[3168,3171],[3174,3183],[3191,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],[3260,3268],[3270,3272],[3274,3277],[3285,3286],[3292,3294],[3296,3299],[3302,3311],[3313,3315],[3328,3340],[3342,3344],[3346,3396],[3398,3400],[3402,3407],[3412,3427],[3430,3455],[3457,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],3530,[3535,3540],3542,[3544,3551],[3558,3567],[3570,3572],[3585,3642],[3647,3675],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3773],[3776,3780],3782,[3784,3790],[3792,3801],[3804,3807],[3840,3911],[3913,3948],[3953,3991],[3993,4028],[4030,4044],[4046,4058],[4096,4293],4295,4301,[4304,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4957,4988],[4992,5017],[5024,5109],[5112,5117],[5120,5788],[5792,5880],[5888,5909],[5919,5942],[5952,5971],[5984,5996],[5998,6e3],[6002,6003],[6016,6109],[6112,6121],[6128,6137],[6144,6169],[6176,6264],[6272,6314],[6320,6389],[6400,6430],[6432,6443],[6448,6459],6464,[6468,6509],[6512,6516],[6528,6571],[6576,6601],[6608,6618],[6622,6683],[6686,6750],[6752,6780],[6783,6793],[6800,6809],[6816,6829],[6832,6877],[6880,6891],[6912,6988],[6990,7155],[7164,7223],[7227,7241],[7245,7306],[7312,7354],[7357,7367],[7376,7418],[7424,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8132],[8134,8147],[8150,8155],[8157,8175],[8178,8180],[8182,8190],[8192,8292],[8294,8305],[8308,8334],[8336,8348],[8352,8385],[8400,8432],[8448,8587],[8592,9257],[9280,9290],[9312,11123],[11126,11507],[11513,11557],11559,11565,[11568,11623],[11631,11632],[11647,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[11744,11869],[11904,11929],[11931,12019],[12032,12245],[12272,12351],[12353,12438],[12441,12543],[12549,12591],[12593,12686],[12688,12773],[12783,12830],[12832,42124],[42128,42182],[42192,42539],[42560,42743],[42752,42972],[42993,43052],[43056,43065],[43072,43127],[43136,43205],[43214,43225],[43232,43347],[43359,43388],[43392,43469],[43471,43481],[43486,43518],[43520,43574],[43584,43597],[43600,43609],[43612,43714],[43739,43766],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43883],[43888,44013],[44016,44025],[44032,55203],[55216,55238],[55243,55291],[55296,64109],[64112,64217],[64256,64262],[64275,64279],[64285,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64975],[65008,65049],[65056,65106],[65108,65126],[65128,65131],[65136,65140],[65142,65276],65279,[65281,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65504,65510],[65512,65518],[65529,65533],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65792,65794],[65799,65843],[65847,65934],[65936,65948],65952,[66e3,66045],[66176,66204],[66208,66256],[66272,66299],[66304,66339],[66349,66378],[66384,66426],[66432,66461],[66463,66499],[66504,66517],[66560,66717],[66720,66729],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66927,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67008,67059],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67671,67742],[67751,67759],[67808,67826],[67828,67829],[67835,67867],[67871,67897],[67903,67929],[67968,68023],[68028,68047],[68050,68099],[68101,68102],[68108,68115],[68117,68119],[68121,68149],[68152,68154],[68159,68168],[68176,68184],[68192,68255],[68288,68326],[68331,68342],[68352,68405],[68409,68437],[68440,68466],[68472,68497],[68505,68508],[68521,68527],[68608,68680],[68736,68786],[68800,68850],[68858,68903],[68912,68921],[68928,68965],[68969,68997],[69006,69007],[69216,69246],[69248,69289],[69291,69293],[69296,69297],[69314,69319],[69328,69336],[69370,69415],[69424,69465],[69488,69513],[69552,69579],[69600,69622],[69632,69709],[69714,69749],[69759,69826],69837,[69840,69864],[69872,69881],[69888,69940],[69942,69959],[69968,70006],[70016,70111],[70113,70132],[70144,70161],[70163,70209],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70313],[70320,70378],[70384,70393],[70400,70403],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],[70459,70468],[70471,70472],[70475,70477],70480,70487,[70493,70499],[70502,70508],[70512,70516],[70528,70537],70539,70542,[70544,70581],[70583,70592],70594,70597,[70599,70602],[70604,70613],[70615,70616],[70625,70626],[70656,70747],[70749,70753],[70784,70855],[70864,70873],[71040,71093],[71096,71133],[71168,71236],[71248,71257],[71264,71276],[71296,71353],[71360,71369],[71376,71395],[71424,71450],[71453,71467],[71472,71494],[71680,71739],[71840,71922],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],[71995,72006],[72016,72025],[72096,72103],[72106,72151],[72154,72164],[72192,72263],[72272,72354],[72368,72440],[72448,72457],[72544,72551],[72640,72673],[72688,72697],[72704,72712],[72714,72758],[72760,72773],[72784,72812],[72816,72847],[72850,72871],[72873,72886],[72960,72966],[72968,72969],[72971,73014],73018,[73020,73021],[73023,73031],[73040,73049],[73056,73061],[73063,73064],[73066,73102],[73104,73105],[73107,73112],[73120,73129],[73136,73179],[73184,73193],[73440,73464],[73472,73488],[73490,73530],[73534,73562],73648,[73664,73713],[73727,74649],[74752,74862],[74864,74868],[74880,75075],[77712,77810],[77824,78933],[78944,82938],[82944,83526],[90368,90425],[92160,92728],[92736,92766],[92768,92777],[92782,92862],[92864,92873],[92880,92909],[92912,92917],[92928,92997],[93008,93017],[93019,93025],[93027,93047],[93053,93071],[93504,93561],[93760,93850],[93856,93880],[93883,93907],[93952,94026],[94031,94087],[94095,94111],[94176,94180],[94192,94198],[94208,101589],[101631,101662],[101760,101874],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[113820,113827],[117760,118012],[118016,118451],[118458,118480],[118496,118512],[118528,118573],[118576,118598],[118608,118723],[118784,119029],[119040,119078],[119081,119274],[119296,119365],[119488,119507],[119520,119539],[119552,119638],[119648,119672],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120779],[120782,121483],[121499,121503],[121505,121519],[122624,122654],[122661,122666],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[122928,122989],123023,[123136,123180],[123184,123197],[123200,123209],[123214,123215],[123536,123566],[123584,123641],123647,[124112,124153],[124368,124410],124415,[124608,124638],[124640,124661],[124670,124671],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125127,125142],[125184,125259],[125264,125273],[125278,125279],[126065,126132],[126209,126269],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[126704,126705],[126976,127019],[127024,127123],[127136,127150],[127153,127167],[127169,127183],[127185,127221],[127232,127405],[127462,127490],[127504,127547],[127552,127560],[127568,127569],[127584,127589],[127744,128728],[128732,128748],[128752,128764],[128768,128985],[128992,129003],129008,[129024,129035],[129040,129095],[129104,129113],[129120,129159],[129168,129197],[129200,129211],[129216,129217],[129232,129240],[129280,129623],[129632,129645],[129648,129660],[129664,129674],[129678,129734],129736,[129741,129756],[129759,129770],[129775,129784],[129792,129938],[129940,130042],[131072,173791],[173824,178205],[178208,183981],[183984,191456],[191472,192093],[194560,195101],[196608,201546],[201552,210041],917505,[917536,917631],[917760,917999],[983040,1048573],[1048576,1114109]],yv=[1564,[8206,8207],[8234,8238],[8294,8297]],_v=[[40,41],60,62,91,93,123,125,171,187,[3898,3901],[5787,5788],[8249,8250],[8261,8262],[8317,8318],[8333,8334],8512,[8705,8708],[8712,8717],8721,[8725,8726],[8730,8733],[8735,8738],8740,8742,[8747,8755],8761,[8763,8780],[8786,8789],[8799,8800],8802,[8804,8811],[8813,8844],[8847,8850],8856,[8866,8867],[8870,8888],[8894,8895],[8905,8909],[8912,8913],[8918,8941],[8944,8959],[8968,8971],[8992,8993],[9001,9002],[10088,10101],10176,[10179,10182],[10184,10185],[10187,10189],[10195,10198],[10204,10206],[10210,10223],[10627,10648],[10651,10656],[10658,10671],10680,[10688,10693],10697,[10702,10706],[10708,10709],[10712,10716],10721,[10723,10725],[10728,10729],[10740,10745],[10748,10749],[10762,10780],[10782,10785],10788,10790,10793,[10795,10798],[10804,10805],[10812,10814],[10839,10840],[10852,10853],[10858,10861],[10863,10864],[10867,10868],[10873,10915],[10918,10925],[10927,10966],10972,10974,[10978,10982],[10988,10990],10995,[10999,11003],11005,11262,[11778,11781],[11785,11786],[11788,11789],[11804,11805],[11808,11817],[11861,11868],[12296,12305],[12308,12315],[65113,65118],[65124,65125],[65288,65289],65308,65310,65339,65341,65371,65373,[65375,65376],[65378,65379],120539,120597,120655,120713,120771],wv=[39,46,58,94,96,168,173,175,180,[183,184],[688,879],[884,885],890,[900,901],903,[1155,1161],1369,1375,[1425,1469],1471,[1473,1474],[1476,1477],1479,1524,[1536,1541],[1552,1562],1564,1600,[1611,1631],1648,[1750,1757],[1759,1768],[1770,1773],1807,1809,[1840,1866],[1958,1968],[2027,2037],2042,2045,[2070,2093],[2137,2139],2184,[2192,2193],[2199,2207],[2249,2306],2362,2364,[2369,2376],2381,[2385,2391],[2402,2403],2417,2433,2492,[2497,2500],2509,[2530,2531],2558,[2561,2562],2620,[2625,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2690],2748,[2753,2757],[2759,2760],2765,[2786,2787],[2810,2815],2817,2876,2879,[2881,2884],2893,[2901,2902],[2914,2915],2946,3008,3021,3072,3076,3132,[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3170,3171],3201,3260,3263,3270,[3276,3277],[3298,3299],[3328,3329],[3387,3388],[3393,3396],3405,[3426,3427],3457,3530,[3538,3540],3542,3633,[3636,3642],[3654,3662],3761,[3764,3772],3782,[3784,3790],[3864,3865],3893,3895,3897,[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4141,4144],[4146,4151],[4153,4154],[4157,4158],[4184,4185],[4190,4192],[4209,4212],4226,[4229,4230],4237,4253,4348,[4957,4959],[5906,5908],[5938,5939],[5970,5971],[6002,6003],[6068,6069],[6071,6077],6086,[6089,6099],6103,6109,[6155,6159],6211,[6277,6278],6313,[6432,6434],[6439,6440],6450,[6457,6459],[6679,6680],6683,6742,[6744,6750],6752,6754,[6757,6764],[6771,6780],6783,6823,[6832,6877],[6880,6891],[6912,6915],6964,[6966,6970],6972,6978,[7019,7027],[7040,7041],[7074,7077],[7080,7081],[7083,7085],7142,[7144,7145],7149,[7151,7153],[7212,7219],[7222,7223],[7288,7293],[7376,7378],[7380,7392],[7394,7400],7405,7412,[7416,7417],[7468,7530],7544,[7579,7679],8125,[8127,8129],[8141,8143],[8157,8159],[8173,8175],[8189,8190],[8203,8207],[8216,8217],8228,8231,[8234,8238],[8288,8292],[8294,8303],8305,8319,[8336,8348],[8400,8432],[11388,11389],[11503,11505],11631,11647,[11744,11775],11823,12293,[12330,12333],[12337,12341],12347,[12441,12446],[12540,12542],40981,[42232,42237],42508,[42607,42610],[42612,42621],42623,[42652,42655],[42736,42737],[42752,42785],42864,[42888,42890],[42993,42996],[43e3,43001],43010,43014,43019,[43045,43046],43052,[43204,43205],[43232,43249],43263,[43302,43309],[43335,43345],[43392,43394],43443,[43446,43449],[43452,43453],43471,[43493,43494],[43561,43566],[43569,43570],[43573,43574],43587,43596,43632,43644,43696,[43698,43700],[43703,43704],[43710,43711],43713,43741,[43756,43757],[43763,43764],43766,[43867,43871],[43881,43883],44005,44008,44013,64286,[64434,64450],[65024,65039],65043,[65056,65071],65106,65109,65279,65287,65294,65306,65342,65344,65392,[65438,65439],65507,[65529,65531],66045,66272,[66422,66426],[67456,67461],[67463,67504],[67506,67514],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],[68900,68903],68942,[68969,68973],68975,[69291,69292],69317,[69370,69375],[69446,69456],[69506,69509],69633,[69688,69702],69744,[69747,69748],[69759,69761],[69811,69814],[69817,69818],69821,69826,69837,[69888,69890],[69927,69931],[69933,69940],70003,[70016,70017],[70070,70078],[70089,70092],70095,[70191,70193],70196,[70198,70199],70206,70209,70367,[70371,70378],[70400,70401],[70459,70460],70464,[70502,70508],[70512,70516],[70587,70592],70606,70608,70610,[70625,70626],[70712,70719],[70722,70724],70726,70750,[70835,70840],70842,[70847,70848],[70850,70851],[71090,71093],[71100,71101],[71103,71104],[71132,71133],[71219,71226],71229,[71231,71232],71339,71341,[71344,71349],71351,71453,71455,[71458,71461],[71463,71467],[71727,71735],[71737,71738],[71995,71996],71998,72003,[72148,72151],[72154,72155],72160,[72193,72202],[72243,72248],[72251,72254],72263,[72273,72278],[72281,72283],[72330,72342],[72344,72345],72544,[72546,72548],72550,[72752,72758],[72760,72765],72767,[72850,72871],[72874,72880],[72882,72883],[72885,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[73104,73105],73109,73111,73177,[73459,73460],[73472,73473],[73526,73530],73536,73538,73562,[78896,78912],[78919,78933],[90398,90409],[90413,90415],[92912,92916],[92976,92982],[92992,92995],[93504,93506],[93547,93548],94031,[94095,94111],[94176,94177],[94179,94180],[94194,94195],[110576,110579],[110581,110587],[110589,110590],[113821,113822],[113824,113827],[118528,118573],[118576,118598],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[122928,122989],123023,[123184,123197],123566,[123628,123631],[124139,124143],[124398,124399],124643,124646,[124654,124655],124661,124671,[125136,125142],[125252,125259],[127995,127999],917505,[917536,917631],[917760,917999]],Ev=[[65,90],[97,122],170,181,186,[192,214],[216,246],[248,442],[444,447],[452,659],[662,696],[704,705],[736,740],837,[880,883],[886,887],[890,893],895,902,[904,906],908,[910,929],[931,1013],[1015,1153],[1162,1327],[1329,1366],[1376,1416],[4256,4293],4295,4301,[4304,4346],[4348,4351],[5024,5109],[5112,5117],[7296,7306],[7312,7354],[7357,7359],[7424,7615],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8305,8319,[8336,8348],8450,8455,[8458,8467],8469,[8473,8477],8484,8486,8488,[8490,8493],[8495,8500],8505,[8508,8511],[8517,8521],8526,[8544,8575],[8579,8580],[9398,9449],[11264,11492],[11499,11502],[11506,11507],[11520,11557],11559,11565,[42560,42605],[42624,42653],[42786,42887],[42891,42894],[42896,42972],[42993,42998],[43e3,43002],[43824,43866],[43868,43881],[43888,43967],[64256,64262],[64275,64279],[65313,65338],[65345,65370],[66560,66639],[66736,66771],[66776,66811],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],67456,[67459,67461],[67463,67504],[67506,67514],[68736,68786],[68800,68850],[68944,68965],[68976,68997],[71840,71903],[93760,93823],[93856,93880],[93883,93907],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[122624,122633],[122635,122654],[122661,122666],[122928,122989],[125184,125251],[127280,127305],[127312,127337],[127344,127369]],Sv=[[65,90],181,[192,214],[216,223],256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,313,315,317,319,321,323,325,327,[329,330],332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,[376,377],379,381,383,[385,386],388,[390,391],[393,395],[398,401],[403,404],[406,408],[412,413],[415,416],418,420,[422,423],425,428,[430,431],[433,435],437,[439,440],444,[452,453],[455,456],[458,459],461,463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,[497,498],500,[502,504],506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,[570,571],[573,574],577,[579,582],584,586,588,590,837,880,882,886,895,902,[904,906],908,[910,911],[913,929],[931,939],962,[975,977],[981,982],984,986,988,990,992,994,996,998,1e3,1002,1004,1006,[1008,1009],[1012,1013],1015,[1017,1018],[1021,1071],1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,[1216,1217],1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,[1329,1366],1415,[4256,4293],4295,4301,[5112,5117],[7296,7305],[7312,7354],[7357,7359],7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,[7834,7835],7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,[7944,7951],[7960,7965],[7976,7983],[7992,7999],[8008,8013],8025,8027,8029,8031,[8040,8047],[8064,8111],[8114,8116],[8119,8124],[8130,8132],[8135,8140],[8152,8155],[8168,8172],[8178,8180],[8183,8188],8486,[8490,8491],8498,[8544,8559],8579,[9398,9423],[11264,11311],11360,[11362,11364],11367,11369,11371,[11373,11376],11378,11381,[11390,11392],11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42873,42875,[42877,42878],42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,[42922,42926],[42928,42932],42934,42936,42938,42940,42942,42944,42946,[42948,42951],42953,[42955,42956],42958,42960,42962,42964,42966,42968,42970,42972,42997,[43888,43967],[64256,64262],[64275,64279],[65313,65338],[66560,66599],[66736,66771],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[68736,68786],[68944,68965],[71840,71871],[93760,93791],[93856,93880],[125184,125217]],Av=[[65,90],[97,122],181,[192,214],[216,246],[248,311],[313,396],[398,425],[428,441],[444,445],447,[452,544],[546,563],[570,596],[598,599],601,[603,604],[608,609],[611,614],[616,620],623,[625,626],629,637,640,[642,643],[647,652],658,[669,670],837,[880,883],[886,887],[891,893],895,902,[904,906],908,[910,929],[931,977],[981,1013],[1015,1019],[1021,1153],[1162,1327],[1329,1366],[1377,1415],[4256,4293],4295,4301,[4304,4346],[4349,4351],[5024,5109],[5112,5117],[7296,7306],[7312,7354],[7357,7359],7545,7549,7566,[7680,7835],7838,[7840,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8486,[8490,8491],8498,8526,[8544,8575],[8579,8580],[9398,9449],[11264,11376],[11378,11379],[11381,11382],[11390,11491],[11499,11502],[11506,11507],[11520,11557],11559,11565,[42560,42605],[42624,42651],[42786,42799],[42802,42863],[42873,42887],[42891,42893],[42896,42900],[42902,42926],[42928,42972],[42997,42998],43859,[43888,43967],[64256,64262],[64275,64279],[65313,65338],[65345,65370],[66560,66639],[66736,66771],[66776,66811],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[68736,68786],[68800,68850],[68944,68965],[68976,68997],[71840,71903],[93760,93823],[93856,93880],[93883,93907],[125184,125251]],Iv=[[65,90],[192,214],[216,222],256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,313,315,317,319,321,323,325,327,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,[376,377],379,381,[385,386],388,[390,391],[393,395],[398,401],[403,404],[406,408],[412,413],[415,416],418,420,[422,423],425,428,[430,431],[433,435],437,[439,440],444,[452,453],[455,456],[458,459],461,463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,[497,498],500,[502,504],506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,[570,571],[573,574],577,[579,582],584,586,588,590,880,882,886,895,902,[904,906],908,[910,911],[913,929],[931,939],975,984,986,988,990,992,994,996,998,1e3,1002,1004,1006,1012,1015,[1017,1018],[1021,1071],1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,[1216,1217],1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,[1329,1366],[4256,4293],4295,4301,[5024,5109],7305,[7312,7354],[7357,7359],7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,[7944,7951],[7960,7965],[7976,7983],[7992,7999],[8008,8013],8025,8027,8029,8031,[8040,8047],[8072,8079],[8088,8095],[8104,8111],[8120,8124],[8136,8140],[8152,8155],[8168,8172],[8184,8188],8486,[8490,8491],8498,[8544,8559],8579,[9398,9423],[11264,11311],11360,[11362,11364],11367,11369,11371,[11373,11376],11378,11381,[11390,11392],11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42873,42875,[42877,42878],42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,[42922,42926],[42928,42932],42934,42936,42938,42940,42942,42944,42946,[42948,42951],42953,[42955,42956],42958,42960,42962,42964,42966,42968,42970,42972,42997,[65313,65338],[66560,66599],[66736,66771],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[68736,68786],[68944,68965],[71840,71871],[93760,93791],[93856,93880],[125184,125217]],Rv=[[65,90],160,168,170,173,175,[178,181],[184,186],[188,190],[192,214],[216,223],256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,[306,308],310,313,315,317,[319,321],323,325,327,[329,330],332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,[376,377],379,381,383,[385,386],388,[390,391],[393,395],[398,401],[403,404],[406,408],[412,413],[415,416],418,420,[422,423],425,428,[430,431],[433,435],437,[439,440],444,[452,461],463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,[497,500],[502,504],506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,[570,571],[573,574],577,[579,582],584,586,588,590,[688,696],[728,733],[736,740],[832,833],[835,837],847,880,882,884,886,890,[894,895],[900,906],908,[910,911],[913,929],[931,939],962,[975,982],984,986,988,990,992,994,996,998,1e3,1002,1004,1006,[1008,1010],[1012,1013],1015,[1017,1018],[1021,1071],1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,[1216,1217],1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,[1329,1366],1415,1564,[1653,1656],[2392,2399],[2524,2525],2527,2611,2614,[2649,2651],2654,[2908,2909],3635,3763,[3804,3805],3852,3907,3917,3922,3927,3932,3945,3955,[3957,3961],3969,3987,3997,4002,4007,4012,4025,[4256,4293],4295,4301,4348,[4447,4448],[5112,5117],[6068,6069],[6155,6159],[7296,7305],[7312,7354],[7357,7359],[7468,7470],[7472,7482],[7484,7501],[7503,7530],7544,[7579,7615],7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,[7834,7835],7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,[7944,7951],[7960,7965],[7976,7983],[7992,7999],[8008,8013],8025,8027,8029,8031,[8040,8047],8049,8051,8053,8055,8057,8059,8061,[8064,8111],[8114,8116],[8119,8132],[8135,8143],8147,[8152,8155],[8157,8159],8163,[8168,8175],[8178,8180],[8183,8190],[8192,8207],8209,8215,[8228,8230],[8234,8239],[8243,8244],[8246,8247],8252,8254,[8263,8265],8279,[8287,8305],[8308,8334],[8336,8348],8360,[8448,8451],[8453,8455],[8457,8467],[8469,8470],[8473,8477],[8480,8482],8484,8486,8488,[8490,8493],[8495,8505],[8507,8512],[8517,8521],[8528,8575],8579,8585,[8748,8749],[8751,8752],[9001,9002],[9312,9450],10764,[10868,10870],10972,[11264,11311],11360,[11362,11364],11367,11369,11371,[11373,11376],11378,11381,[11388,11392],11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,11631,11935,12019,[12032,12245],12288,12342,[12344,12346],[12443,12444],12447,12543,[12593,12686],[12690,12703],[12800,12830],[12832,12871],[12880,12926],[12928,13311],42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,[42652,42653],42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42864,42873,42875,[42877,42878],42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,[42922,42926],[42928,42932],42934,42936,42938,42940,42942,42944,42946,[42948,42951],42953,[42955,42956],42958,42960,42962,42964,42966,42968,42970,42972,[42993,42997],[43e3,43001],[43868,43871],43881,[43888,43967],[63744,64013],64016,64018,[64021,64030],64032,64034,[64037,64038],[64042,64109],[64112,64217],[64256,64262],[64275,64279],64285,[64287,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65020],[65024,65049],[65072,65092],[65095,65106],[65108,65126],[65128,65131],[65136,65138],65140,[65142,65276],65279,[65281,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65504,65510],[65512,65518],[65520,65528],[66560,66599],[66736,66771],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[67457,67461],[67463,67504],[67506,67514],[68736,68786],[68944,68965],[71840,71871],[93760,93791],[93856,93880],[113824,113827],[117974,118009],[119134,119140],[119155,119162],[119227,119232],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120779],[120782,120831],[122928,122989],[125184,125217],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[127232,127242],[127248,127278],[127280,127311],[127338,127340],127376,[127488,127490],[127504,127547],[127552,127560],[127568,127569],[130032,130041],[194560,195101],[917504,921599]],xv=[[97,122],181,[223,246],[248,255],257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,311,314,316,318,320,322,324,326,[328,329],331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,[382,384],387,389,392,396,402,405,[409,411],414,417,419,421,424,429,432,436,438,441,445,447,452,[454,455],[457,458],460,462,464,466,468,470,472,474,[476,477],479,481,483,485,487,489,491,493,[495,497],499,501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,547,549,551,553,555,557,559,561,563,572,[575,576],578,583,585,587,589,[591,596],[598,599],601,[603,604],[608,609],[611,614],[616,620],623,[625,626],629,637,640,[642,643],[647,652],658,[669,670],837,881,883,887,[891,893],912,[940,974],[976,977],[981,983],985,987,989,991,993,995,997,999,1001,1003,1005,[1007,1011],1013,1016,1019,[1072,1119],1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1218,1220,1222,1224,1226,1228,[1230,1231],1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,[1377,1415],[5112,5117],[7296,7304],7306,7545,7549,7566,7681,7683,7685,7687,7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,[7829,7835],7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,7893,7895,7897,7899,7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,7931,7933,[7935,7943],[7952,7957],[7968,7975],[7984,7991],[8e3,8005],[8016,8023],[8032,8039],[8048,8061],[8064,8071],[8080,8087],[8096,8103],[8112,8116],[8118,8119],8126,[8130,8132],[8134,8135],[8144,8147],[8150,8151],[8160,8167],[8178,8180],[8182,8183],8526,[8560,8575],8580,[9424,9449],[11312,11359],11361,[11365,11366],11368,11370,11372,11379,11382,11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,11491,11500,11502,11507,[11520,11557],11559,11565,42561,42563,42565,42567,42569,42571,42573,42575,42577,42579,42581,42583,42585,42587,42589,42591,42593,42595,42597,42599,42601,42603,42605,42625,42627,42629,42631,42633,42635,42637,42639,42641,42643,42645,42647,42649,42651,42787,42789,42791,42793,42795,42797,42799,42803,42805,42807,42809,42811,42813,42815,42817,42819,42821,42823,42825,42827,42829,42831,42833,42835,42837,42839,42841,42843,42845,42847,42849,42851,42853,42855,42857,42859,42861,42863,42874,42876,42879,42881,42883,42885,42887,42892,42897,[42899,42900],42903,42905,42907,42909,42911,42913,42915,42917,42919,42921,42933,42935,42937,42939,42941,42943,42945,42947,42952,42954,42957,42959,42961,42963,42965,42967,42969,42971,42998,43859,[43888,43967],[64256,64262],[64275,64279],[65345,65370],[66600,66639],[66776,66811],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[68800,68850],[68976,68997],[71872,71903],[93792,93823],[93883,93907],[125218,125251]],Tv=[[97,122],181,[223,246],[248,255],257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,311,314,316,318,320,322,324,326,[328,329],331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,[382,384],387,389,392,396,402,405,[409,411],414,417,419,421,424,429,432,436,438,441,445,447,[453,454],[456,457],[459,460],462,464,466,468,470,472,474,[476,477],479,481,483,485,487,489,491,493,[495,496],[498,499],501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,547,549,551,553,555,557,559,561,563,572,[575,576],578,583,585,587,589,[591,596],[598,599],601,[603,604],[608,609],[611,614],[616,620],623,[625,626],629,637,640,[642,643],[647,652],658,[669,670],837,881,883,887,[891,893],912,[940,974],[976,977],[981,983],985,987,989,991,993,995,997,999,1001,1003,1005,[1007,1011],1013,1016,1019,[1072,1119],1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1218,1220,1222,1224,1226,1228,[1230,1231],1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,[1377,1415],[4304,4346],[4349,4351],[5112,5117],[7296,7304],7306,7545,7549,7566,7681,7683,7685,7687,7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,[7829,7835],7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,7893,7895,7897,7899,7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,7931,7933,[7935,7943],[7952,7957],[7968,7975],[7984,7991],[8e3,8005],[8016,8023],[8032,8039],[8048,8061],[8064,8116],[8118,8119],8124,8126,[8130,8132],[8134,8135],8140,[8144,8147],[8150,8151],[8160,8167],[8178,8180],[8182,8183],8188,8526,[8560,8575],8580,[9424,9449],[11312,11359],11361,[11365,11366],11368,11370,11372,11379,11382,11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,11491,11500,11502,11507,[11520,11557],11559,11565,42561,42563,42565,42567,42569,42571,42573,42575,42577,42579,42581,42583,42585,42587,42589,42591,42593,42595,42597,42599,42601,42603,42605,42625,42627,42629,42631,42633,42635,42637,42639,42641,42643,42645,42647,42649,42651,42787,42789,42791,42793,42795,42797,42799,42803,42805,42807,42809,42811,42813,42815,42817,42819,42821,42823,42825,42827,42829,42831,42833,42835,42837,42839,42841,42843,42845,42847,42849,42851,42853,42855,42857,42859,42861,42863,42874,42876,42879,42881,42883,42885,42887,42892,42897,[42899,42900],42903,42905,42907,42909,42911,42913,42915,42917,42919,42921,42933,42935,42937,42939,42941,42943,42945,42947,42952,42954,42957,42959,42961,42963,42965,42967,42969,42971,42998,43859,[43888,43967],[64256,64262],[64275,64279],[65345,65370],[66600,66639],[66776,66811],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[68800,68850],[68976,68997],[71872,71903],[93792,93823],[93883,93907],[125218,125251]],Nv=[[2392,2399],[2524,2525],2527,2611,2614,[2649,2651],2654,[2908,2909],3907,3917,3922,3927,3932,3945,3958,3960,3987,3997,4002,4007,4012,4025,10972,64285,64287,[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64334],[119134,119140],[119227,119232]],Mv=[45,1418,1470,5120,6150,[8208,8213],8275,8315,8331,8722,11799,11802,[11834,11835],11840,11869,12316,12336,12448,[65073,65074],65112,65123,65293,68974,69293],Ov=[173,847,1564,[4447,4448],[6068,6069],[6155,6159],[8203,8207],[8234,8238],[8288,8303],12644,[65024,65039],65279,65440,[65520,65528],[113824,113827],[119155,119162],[917504,921599]],Lv=[329,1651,3959,3961,[6051,6052],[8298,8303],[9001,9002],917505],kv=[94,96,168,175,180,[183,184],[688,846],[848,855],[861,866],[884,885],890,[900,901],[1155,1159],1369,[1425,1469],1471,[1473,1474],[1476,1477],1479,[1611,1618],[1623,1624],[1759,1760],[1765,1766],[1770,1772],[1840,1866],[1958,1968],[2027,2037],[2072,2073],[2200,2207],[2249,2258],[2275,2302],2364,2381,[2385,2388],2417,2492,2509,2620,2637,2748,2765,[2813,2815],2876,2893,2901,3021,3132,3149,3260,3277,[3387,3388],3405,3530,3642,[3655,3660],3662,3770,[3784,3788],[3864,3865],3893,3895,3897,[3902,3903],[3970,3972],[3974,3975],4038,4151,[4153,4154],[4195,4196],[4201,4205],[4231,4237],4239,[4250,4251],[4957,4959],[5908,5909],5940,[6089,6099],6109,[6457,6459],6752,[6773,6780],6783,[6832,6846],[6849,6859],[6863,6877],[6880,6891],6964,6980,[7019,7027],[7082,7083],7142,[7154,7155],[7222,7223],[7288,7293],[7376,7400],7405,7412,[7415,7417],[7468,7530],[7579,7614],[7620,7631],[7669,7679],8125,[8127,8129],[8141,8143],[8157,8159],[8173,8175],[8189,8190],[11503,11505],11823,[12330,12335],[12441,12444],12540,42607,[42620,42621],42623,[42652,42653],[42736,42737],[42752,42785],[42888,42890],42993,[43e3,43001],43014,43052,43204,[43232,43249],[43307,43310],43347,43443,43456,43493,[43643,43645],[43711,43714],43766,[43867,43871],[43881,43883],[44012,44013],64286,[65056,65071],65342,65344,65392,[65438,65439],65507,66272,[67456,67461],[67463,67504],[67506,67514],[68152,68154],68159,[68325,68326],[68898,68903],68942,[68969,68973],69370,[69373,69375],[69446,69456],[69506,69509],69702,69744,[69817,69818],[69939,69940],70003,70080,[70090,70092],[70197,70198],[70377,70378],[70459,70460],70477,[70502,70508],[70512,70516],[70606,70608],[70610,70611],[70625,70626],70722,70726,[70850,70851],[71103,71104],71231,[71350,71351],71467,[71737,71738],[71997,71998],72003,72160,72244,72263,72345,72767,73026,[73028,73029],73111,73177,[73537,73538],73562,[78919,78933],90415,[92912,92916],[92976,92982],[93547,93548],[94095,94111],[94192,94193],[110576,110579],[110581,110587],[110589,110590],[118528,118573],[118576,118598],[119143,119145],[119149,119154],[119163,119170],[119173,119179],[119210,119213],[122928,122989],[123184,123190],123566,[123628,123631],[124398,124399],[125136,125142],[125252,125254],[125256,125258]],Pv=[35,42,[48,57],169,174,8252,8265,8482,8505,[8596,8601],[8617,8618],[8986,8987],9e3,9167,[9193,9203],[9208,9210],9410,[9642,9643],9654,9664,[9723,9726],[9728,9732],9742,9745,[9748,9749],9752,9757,9760,[9762,9763],9766,9770,[9774,9775],[9784,9786],9792,9794,[9800,9811],[9823,9824],9827,[9829,9830],9832,9851,[9854,9855],[9874,9879],9881,[9883,9884],[9888,9889],9895,[9898,9899],[9904,9905],[9917,9918],[9924,9925],9928,[9934,9935],9937,[9939,9940],[9961,9962],[9968,9973],[9975,9978],9981,9986,9989,[9992,9997],9999,10002,10004,10006,10013,10017,10024,[10035,10036],10052,10055,10060,10062,[10067,10069],10071,[10083,10084],[10133,10135],10145,10160,10175,[10548,10549],[11013,11015],[11035,11036],11088,11093,12336,12349,12951,12953,126980,127183,[127344,127345],[127358,127359],127374,[127377,127386],[127462,127487],[127489,127490],127514,127535,[127538,127546],[127568,127569],[127744,127777],[127780,127891],[127894,127895],[127897,127899],[127902,127984],[127987,127989],[127991,128253],[128255,128317],[128329,128334],[128336,128359],[128367,128368],[128371,128378],128391,[128394,128397],128400,[128405,128406],[128420,128421],128424,[128433,128434],128444,[128450,128452],[128465,128467],[128476,128478],128481,128483,128488,128495,128499,[128506,128591],[128640,128709],[128715,128722],[128725,128728],[128732,128741],128745,[128747,128748],128752,[128755,128764],[128992,129003],129008,[129292,129338],[129340,129349],[129351,129535],[129648,129660],[129664,129674],[129678,129734],129736,[129741,129756],[129759,129770],[129775,129784]],Dv=[35,42,[48,57],8205,8419,65039,[127462,127487],[127995,127999],[129456,129459],[917536,917631]],Uv=[[127995,127999]],Bv=[9757,9977,[9994,9997],127877,[127938,127940],127943,[127946,127948],[128066,128067],[128070,128080],[128102,128120],128124,[128129,128131],[128133,128135],128143,128145,128170,[128372,128373],128378,128400,[128405,128406],[128581,128583],[128587,128591],128675,[128692,128694],128704,128716,129292,129295,[129304,129311],129318,[129328,129337],[129340,129342],129399,[129461,129462],[129464,129465],129467,[129485,129487],[129489,129501],[129731,129733],[129776,129784]],Vv=[[8986,8987],[9193,9196],9200,9203,[9725,9726],[9748,9749],[9800,9811],9855,9875,9889,[9898,9899],[9917,9918],[9924,9925],9934,9940,9962,[9970,9971],9973,9978,9981,9989,[9994,9995],10024,10060,10062,[10067,10069],10071,[10133,10135],10160,10175,[11035,11036],11088,11093,126980,127183,127374,[127377,127386],[127462,127487],127489,127514,127535,[127538,127542],[127544,127546],[127568,127569],[127744,127776],[127789,127797],[127799,127868],[127870,127891],[127904,127946],[127951,127955],[127968,127984],127988,[127992,128062],128064,[128066,128252],[128255,128317],[128331,128334],[128336,128359],128378,[128405,128406],128420,[128507,128591],[128640,128709],128716,[128720,128722],[128725,128728],[128732,128735],[128747,128748],[128756,128764],[128992,129003],129008,[129292,129338],[129340,129349],[129351,129535],[129648,129660],[129664,129674],[129678,129734],129736,[129741,129756],[129759,129770],[129775,129784]],Fv=[836,[2392,2399],[2524,2525],2527,2611,2614,[2649,2651],2654,[2908,2909],3907,3917,3922,3927,3932,3945,3955,[3957,3958],3960,3969,3987,3997,4002,4007,4012,4025,10972,64285,64287,[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64334],[119134,119140],[119227,119232]],jv=[[192,197],[199,207],[209,214],[217,221],[224,229],[231,239],[241,246],[249,253],[255,271],[274,293],[296,304],[308,311],[313,318],[323,328],[332,337],[340,357],[360,382],[416,417],[431,432],[461,476],[478,483],[486,496],[500,501],[504,539],[542,543],[550,563],836,[901,902],[904,906],908,[910,912],[938,944],[970,974],[979,980],[1024,1025],1027,1031,[1036,1038],1049,1081,[1104,1105],1107,1111,[1116,1118],[1142,1143],[1217,1218],[1232,1235],[1238,1239],[1242,1247],[1250,1255],[1258,1269],[1272,1273],[1570,1574],1728,1730,1747,2345,2353,2356,[2392,2399],[2507,2508],[2524,2525],2527,2611,2614,[2649,2651],2654,2888,[2891,2892],[2908,2909],2964,[3018,3020],3144,3264,[3271,3272],[3274,3275],[3402,3404],3546,[3548,3550],3907,3917,3922,3927,3932,3945,3955,[3957,3958],3960,3969,3987,3997,4002,4007,4012,4025,4134,6918,6920,6922,6924,6926,6930,6971,6973,[6976,6977],6979,[7680,7833],7835,[7840,7929],[7936,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],[8129,8132],[8134,8147],[8150,8155],[8157,8174],[8178,8180],[8182,8188],8491,[8602,8603],8622,[8653,8655],8708,8713,8716,8740,8742,8769,8772,8775,8777,8800,8802,[8813,8817],[8820,8821],[8824,8825],[8832,8833],[8836,8837],[8840,8841],[8876,8879],[8928,8931],[8938,8941],10972,12364,12366,12368,12370,12372,12374,12376,12378,12380,12382,12384,12386,12389,12391,12393,[12400,12401],[12403,12404],[12406,12407],[12409,12410],[12412,12413],12436,12446,12460,12462,12464,12466,12468,12470,12472,12474,12476,12478,12480,12482,12485,12487,12489,[12496,12497],[12499,12500],[12502,12503],[12505,12506],[12508,12509],12532,[12535,12538],12542,[44032,55203],64285,64287,[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64334],67017,67044,69786,69788,69803,[69934,69935],[70475,70476],70531,70533,70542,70545,70597,[70599,70600],[70843,70844],70846,[71098,71099],71992,[90401,90408],[93544,93546],[119134,119140],[119227,119232]],Hv=[168,175,180,184,[188,190],[306,307],[319,320],329,[452,460],[497,499],[728,733],836,890,[900,901],1415,[1653,1656],[2392,2399],[2524,2525],2527,2611,2614,[2649,2651],2654,[2908,2909],3635,3763,[3804,3805],3907,3917,3922,3927,3932,3945,3955,[3957,3961],3969,3987,3997,4002,4007,4012,4025,7834,8125,[8127,8129],[8141,8143],[8157,8159],[8173,8174],[8189,8190],8215,[8229,8230],[8243,8244],[8246,8247],8252,8254,[8263,8265],8279,8360,[8448,8449],8451,[8453,8454],8457,8470,[8480,8482],8507,[8528,8543],[8545,8547],[8549,8552],[8554,8555],[8561,8563],[8565,8568],[8570,8571],8585,[8748,8749],[8751,8752],[9321,9397],10764,[10868,10870],10972,[12443,12444],12447,12543,[12800,12830],[12832,12867],[12880,12895],[12924,12925],[12977,13007],[13055,13311],[64256,64262],[64275,64279],64285,64287,[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335],64477,[64490,64507],[64512,64829],[64848,64911],[64914,64967],[65008,65020],65049,65072,[65097,65100],[65136,65138],65140,[65142,65151],[65269,65276],65507,[119134,119140],[119227,119232],[127232,127242],[127248,127274],[127277,127278],[127306,127311],[127338,127340],127376,[127488,127489],[127552,127560]],Wv=[168,175,180,184,[188,190],[192,197],[199,207],[209,214],[217,221],[224,229],[231,239],[241,246],[249,253],[255,271],[274,293],[296,304],[306,311],[313,320],[323,329],[332,337],[340,357],[360,382],[416,417],[431,432],[452,476],[478,483],[486,501],[504,539],[542,543],[550,563],[728,733],836,890,[900,902],[904,906],908,[910,912],[938,944],[970,974],[979,980],[1024,1025],1027,1031,[1036,1038],1049,1081,[1104,1105],1107,1111,[1116,1118],[1142,1143],[1217,1218],[1232,1235],[1238,1239],[1242,1247],[1250,1255],[1258,1269],[1272,1273],1415,[1570,1574],[1653,1656],1728,1730,1747,2345,2353,2356,[2392,2399],[2507,2508],[2524,2525],2527,2611,2614,[2649,2651],2654,2888,[2891,2892],[2908,2909],2964,[3018,3020],3144,3264,[3271,3272],[3274,3275],[3402,3404],3546,[3548,3550],3635,3763,[3804,3805],3907,3917,3922,3927,3932,3945,3955,[3957,3961],3969,3987,3997,4002,4007,4012,4025,4134,6918,6920,6922,6924,6926,6930,6971,6973,[6976,6977],6979,[7680,7835],[7840,7929],[7936,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8125],[8127,8132],[8134,8147],[8150,8155],[8157,8174],[8178,8180],[8182,8190],8215,[8229,8230],[8243,8244],[8246,8247],8252,8254,[8263,8265],8279,8360,[8448,8449],8451,[8453,8454],8457,8470,[8480,8482],8491,8507,[8528,8543],[8545,8547],[8549,8552],[8554,8555],[8561,8563],[8565,8568],[8570,8571],8585,[8602,8603],8622,[8653,8655],8708,8713,8716,8740,8742,[8748,8749],[8751,8752],8769,8772,8775,8777,8800,8802,[8813,8817],[8820,8821],[8824,8825],[8832,8833],[8836,8837],[8840,8841],[8876,8879],[8928,8931],[8938,8941],[9321,9397],10764,[10868,10870],10972,12364,12366,12368,12370,12372,12374,12376,12378,12380,12382,12384,12386,12389,12391,12393,[12400,12401],[12403,12404],[12406,12407],[12409,12410],[12412,12413],12436,[12443,12444],[12446,12447],12460,12462,12464,12466,12468,12470,12472,12474,12476,12478,12480,12482,12485,12487,12489,[12496,12497],[12499,12500],[12502,12503],[12505,12506],[12508,12509],12532,[12535,12538],[12542,12543],[12800,12830],[12832,12867],[12880,12895],[12910,12926],[12977,13007],[13055,13311],[44032,55203],[64256,64262],[64275,64279],64285,64287,[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335],[64420,64421],[64432,64433],64477,[64490,64507],[64512,64829],[64848,64911],[64914,64967],[65008,65020],65049,65072,[65097,65100],[65136,65138],65140,[65142,65151],[65153,65164],[65269,65276],65507,67017,67044,69786,69788,69803,[69934,69935],[70475,70476],70531,70533,70542,70545,70597,[70599,70600],[70843,70844],70846,[71098,71099],71992,[90401,90408],[93544,93546],[119134,119140],[119227,119232],[127232,127242],[127248,127274],[127277,127278],[127306,127311],[127338,127340],127376,[127488,127489],127507,[127552,127560]],zv=[169,174,8252,8265,8482,8505,[8596,8601],[8617,8618],[8986,8987],9e3,9167,[9193,9203],[9208,9210],9410,[9642,9643],9654,9664,[9723,9726],[9728,9732],9742,9745,[9748,9749],9752,9757,9760,[9762,9763],9766,9770,[9774,9775],[9784,9786],9792,9794,[9800,9811],[9823,9824],9827,[9829,9830],9832,9851,[9854,9855],[9874,9879],9881,[9883,9884],[9888,9889],9895,[9898,9899],[9904,9905],[9917,9918],[9924,9925],9928,[9934,9935],9937,[9939,9940],[9961,9962],[9968,9973],[9975,9978],9981,9986,9989,[9992,9997],9999,10002,10004,10006,10013,10017,10024,[10035,10036],10052,10055,10060,10062,[10067,10069],10071,[10083,10084],[10133,10135],10145,10160,10175,[10548,10549],[11013,11015],[11035,11036],11088,11093,12336,12349,12951,12953,126980,[127020,127023],[127124,127135],[127151,127152],127168,[127183,127184],[127222,127231],[127344,127345],[127358,127359],127374,[127377,127386],[127406,127461],[127489,127503],127514,127535,[127538,127546],[127548,127551],[127561,127583],[127590,127777],[127780,127891],[127894,127895],[127897,127899],[127902,127984],[127987,127989],[127991,127994],[128e3,128253],[128255,128317],[128329,128334],[128336,128359],[128367,128368],[128371,128378],128391,[128394,128397],128400,[128405,128406],[128420,128421],128424,[128433,128434],128444,[128450,128452],[128465,128467],[128476,128478],128481,128483,128488,128495,128499,[128506,128591],[128640,128709],[128715,128722],[128725,128741],128745,[128747,128752],[128755,128767],[128986,129023],[129036,129039],[129096,129103],[129114,129119],[129160,129167],[129198,129199],[129212,129215],[129218,129231],[129241,129279],[129292,129338],[129340,129349],[129351,129535],[129624,129631],[129646,129791],[130048,131069]],Xv=[183,[720,721],1600,2042,2673,2811,2901,3654,3782,6154,6211,6823,7222,7291,12293,[12337,12341],[12445,12446],[12540,12542],40981,42508,43471,43494,43632,43741,[43763,43764],65392,[67457,67458],68942,68970,68975,70199,70493,[70610,70611],[71110,71112],72344,73177,[92994,92995],[94176,94177],94179,[94194,94195],[123196,123197],124399,[125252,125254]],qv=[[832,833],[835,836],884,894,903,[2392,2399],[2524,2525],2527,2611,2614,[2649,2651],2654,[2908,2909],3907,3917,3922,3927,3932,3945,3955,[3957,3958],3960,3969,3987,3997,4002,4007,4012,4025,8049,8051,8053,8055,8057,8059,8061,8123,8126,8137,8139,8147,8155,8163,8171,[8174,8175],8185,8187,8189,[8192,8193],8486,[8490,8491],[9001,9002],10972,[63744,64013],64016,64018,[64021,64030],64032,64034,[64037,64038],[64042,64109],[64112,64217],64285,64287,[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64334],[119134,119140],[119227,119232],[194560,195101]],Gv=[[32,126],[160,172],[174,767],[880,887],[890,895],[900,906],908,[910,929],[931,1154],[1162,1327],[1329,1366],[1369,1418],[1421,1423],1470,1472,1475,1478,[1488,1514],[1519,1524],[1542,1551],1563,[1565,1610],[1632,1647],[1649,1749],1758,[1765,1766],1769,[1774,1805],1808,[1810,1839],[1869,1957],1969,[1984,2026],[2036,2042],[2046,2069],2074,2084,2088,[2096,2110],[2112,2136],2142,[2144,2154],[2160,2191],[2208,2249],[2307,2361],2363,[2365,2368],[2377,2380],[2382,2384],[2392,2401],[2404,2432],[2434,2435],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,[2495,2496],[2503,2504],[2507,2508],2510,[2524,2525],[2527,2529],[2534,2557],2563,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2622,2624],[2649,2652],2654,[2662,2671],[2674,2676],2678,2691,[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],[2749,2752],2761,[2763,2764],2768,[2784,2785],[2790,2801],2809,[2818,2819],[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,2880,[2887,2888],[2891,2892],[2908,2909],[2911,2913],[2918,2935],2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3007,[3009,3010],[3014,3016],[3018,3020],3024,[3046,3066],[3073,3075],[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3137,3140],[3160,3162],[3164,3165],[3168,3169],[3174,3183],[3191,3200],[3202,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],[3261,3262],3265,[3267,3268],[3292,3294],[3296,3297],[3302,3311],[3313,3315],[3330,3340],[3342,3344],[3346,3386],3389,[3391,3392],[3398,3400],[3402,3404],[3406,3407],[3412,3414],[3416,3425],[3430,3455],[3458,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3536,3537],[3544,3550],[3558,3567],[3570,3572],[3585,3632],[3634,3635],[3647,3654],[3663,3675],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3760],[3762,3763],3773,[3776,3780],3782,[3792,3801],[3804,3807],[3840,3863],[3866,3892],3894,3896,[3898,3911],[3913,3948],3967,3973,[3976,3980],[4030,4037],[4039,4044],[4046,4058],[4096,4140],4145,4152,[4155,4156],[4159,4183],[4186,4189],[4193,4208],[4213,4225],[4227,4228],[4231,4236],[4238,4252],[4254,4293],4295,4301,[4304,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4960,4988],[4992,5017],[5024,5109],[5112,5117],[5120,5788],[5792,5880],[5888,5905],[5919,5937],[5941,5942],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],6070,[6078,6085],[6087,6088],[6100,6108],[6112,6121],[6128,6137],[6144,6154],[6160,6169],[6176,6264],[6272,6276],[6279,6312],6314,[6320,6389],[6400,6430],[6435,6438],[6441,6443],[6448,6449],[6451,6456],6464,[6468,6509],[6512,6516],[6528,6571],[6576,6601],[6608,6618],[6622,6678],[6681,6682],[6686,6741],6743,6753,[6755,6756],[6765,6770],[6784,6793],[6800,6809],[6816,6829],[6916,6963],[6974,6977],[6981,6988],[6990,7018],[7028,7039],[7042,7073],[7078,7079],[7086,7141],7143,[7146,7148],7150,[7164,7211],[7220,7221],[7227,7241],[7245,7306],[7312,7354],[7357,7367],7379,7393,[7401,7404],[7406,7411],[7413,7415],7418,[7424,7615],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8132],[8134,8147],[8150,8155],[8157,8175],[8178,8180],[8182,8190],[8192,8202],[8208,8231],[8239,8287],[8304,8305],[8308,8334],[8336,8348],[8352,8385],[8448,8587],[8592,9257],[9280,9290],[9312,11123],[11126,11502],[11506,11507],[11513,11557],11559,11565,[11568,11623],[11631,11632],[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[11776,11869],[11904,11929],[11931,12019],[12032,12245],[12272,12329],[12336,12351],[12353,12438],[12443,12543],[12549,12591],[12593,12686],[12688,12773],[12783,12830],[12832,42124],[42128,42182],[42192,42539],[42560,42606],42611,[42622,42653],[42656,42735],[42738,42743],[42752,42972],[42993,43009],[43011,43013],[43015,43018],[43020,43044],[43047,43051],[43056,43065],[43072,43127],[43136,43203],[43214,43225],[43250,43262],[43264,43301],[43310,43334],43346,[43359,43388],[43395,43442],[43444,43445],[43450,43451],[43454,43455],[43457,43469],[43471,43481],[43486,43492],[43494,43518],[43520,43560],[43567,43568],[43571,43572],[43584,43586],[43588,43595],43597,[43600,43609],[43612,43643],[43645,43695],43697,[43701,43702],[43705,43709],43712,43714,[43739,43755],[43758,43765],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43883],[43888,44004],[44006,44007],[44009,44012],[44016,44025],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],[64256,64262],[64275,64279],64285,[64287,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64975],[65008,65023],[65040,65049],[65072,65106],[65108,65126],[65128,65131],[65136,65140],[65142,65276],[65281,65437],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65504,65510],[65512,65518],[65532,65533],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65792,65794],[65799,65843],[65847,65934],[65936,65948],65952,[66e3,66044],[66176,66204],[66208,66256],[66273,66299],[66304,66339],[66349,66378],[66384,66421],[66432,66461],[66463,66499],[66504,66517],[66560,66717],[66720,66729],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66927,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67008,67059],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67671,67742],[67751,67759],[67808,67826],[67828,67829],[67835,67867],[67871,67897],[67903,67929],[67968,68023],[68028,68047],[68050,68096],[68112,68115],[68117,68119],[68121,68149],[68160,68168],[68176,68184],[68192,68255],[68288,68324],[68331,68342],[68352,68405],[68409,68437],[68440,68466],[68472,68497],[68505,68508],[68521,68527],[68608,68680],[68736,68786],[68800,68850],[68858,68899],[68912,68921],[68928,68965],[68974,68997],[69006,69007],[69216,69246],[69248,69289],69293,[69296,69297],[69314,69319],[69328,69336],[69376,69415],[69424,69445],[69457,69465],[69488,69505],[69510,69513],[69552,69579],[69600,69622],69632,[69634,69687],[69703,69709],[69714,69743],[69745,69746],69749,[69762,69810],[69815,69816],[69819,69820],[69822,69825],[69840,69864],[69872,69881],[69891,69926],69932,[69942,69959],[69968,70002],[70004,70006],[70018,70069],70079,[70081,70088],[70093,70094],[70096,70111],[70113,70132],[70144,70161],[70163,70190],[70194,70195],[70200,70205],[70207,70208],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70313],[70320,70366],[70368,70370],[70384,70393],[70402,70403],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70463,[70465,70468],[70471,70472],[70475,70476],70480,[70493,70499],[70528,70537],70539,70542,[70544,70581],70583,[70585,70586],70602,[70604,70605],70609,[70611,70613],[70615,70616],[70656,70711],[70720,70721],70725,[70727,70747],70749,[70751,70753],[70784,70831],[70833,70834],70841,[70843,70844],70846,70849,[70852,70855],[70864,70873],[71040,71086],[71088,71089],[71096,71099],71102,[71105,71131],[71168,71218],[71227,71228],71230,[71233,71236],[71248,71257],[71264,71276],[71296,71338],71340,[71342,71343],[71352,71353],[71360,71369],[71376,71395],[71424,71450],71454,[71456,71457],71462,[71472,71494],[71680,71726],71736,71739,[71840,71922],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71983],[71985,71989],[71991,71992],[71999,72002],[72004,72006],[72016,72025],[72096,72103],[72106,72147],[72156,72159],[72161,72164],72192,[72203,72242],[72249,72250],[72255,72262],72272,[72279,72280],[72284,72329],72343,[72346,72354],[72368,72440],[72448,72457],72545,72549,72551,[72640,72673],[72688,72697],[72704,72712],[72714,72751],72766,[72768,72773],[72784,72812],[72816,72847],72873,72881,72884,[72960,72966],[72968,72969],[72971,73008],73030,[73040,73049],[73056,73061],[73063,73064],[73066,73102],[73107,73108],73110,73112,[73120,73129],[73136,73179],[73184,73193],[73440,73458],[73461,73464],[73474,73488],[73490,73525],[73534,73535],[73539,73561],73648,[73664,73713],[73727,74649],[74752,74862],[74864,74868],[74880,75075],[77712,77810],[77824,78895],[78913,78918],[78944,82938],[82944,83526],[90368,90397],[90410,90412],[90416,90425],[92160,92728],[92736,92766],[92768,92777],[92782,92862],[92864,92873],[92880,92909],92917,[92928,92975],[92983,92997],[93008,93017],[93019,93025],[93027,93047],[93053,93071],[93504,93561],[93760,93850],[93856,93880],[93883,93907],[93952,94026],[94032,94087],[94099,94111],[94176,94179],[94194,94198],[94208,101589],[101631,101662],[101760,101874],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],113820,113823,[117760,118012],[118016,118451],[118458,118480],[118496,118512],[118608,118723],[118784,119029],[119040,119078],[119081,119140],[119146,119148],[119171,119172],[119180,119209],[119214,119274],[119296,119361],119365,[119488,119507],[119520,119539],[119552,119638],[119648,119672],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120779],[120782,121343],[121399,121402],[121453,121460],[121462,121475],[121477,121483],[122624,122654],[122661,122666],[122928,122989],[123136,123180],[123191,123197],[123200,123209],[123214,123215],[123536,123565],[123584,123627],[123632,123641],123647,[124112,124139],[124144,124153],[124368,124397],[124400,124410],124415,[124608,124638],[124640,124642],[124644,124645],[124647,124653],[124656,124660],[124670,124671],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125127,125135],[125184,125251],125259,[125264,125273],[125278,125279],[126065,126132],[126209,126269],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[126704,126705],[126976,127019],[127024,127123],[127136,127150],[127153,127167],[127169,127183],[127185,127221],[127232,127405],[127462,127490],[127504,127547],[127552,127560],[127568,127569],[127584,127589],[127744,128728],[128732,128748],[128752,128764],[128768,128985],[128992,129003],129008,[129024,129035],[129040,129095],[129104,129113],[129120,129159],[129168,129197],[129200,129211],[129216,129217],[129232,129240],[129280,129623],[129632,129645],[129648,129660],[129664,129674],[129678,129734],129736,[129741,129756],[129759,129770],[129775,129784],[129792,129938],[129940,130042],[131072,173791],[173824,178205],[178208,183981],[183984,191456],[191472,192093],[194560,195101],[196608,201546],[201552,210041]],Yv=[[768,879],[1155,1161],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],2045,[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2199,2207],[2250,2273],[2275,2306],2362,2364,[2369,2376],2381,[2385,2391],[2402,2403],2433,2492,2494,[2497,2500],2509,2519,[2530,2531],2558,[2561,2562],2620,[2625,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2690],2748,[2753,2757],[2759,2760],2765,[2786,2787],[2810,2815],2817,2876,[2878,2879],[2881,2884],2893,[2901,2903],[2914,2915],2946,3006,3008,3021,3031,3072,3076,3132,[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3170,3171],3201,3260,[3263,3264],3266,[3270,3272],[3274,3277],[3285,3286],[3298,3299],[3328,3329],[3387,3388],3390,[3393,3396],3405,3415,[3426,3427],3457,3530,3535,[3538,3540],3542,3551,3633,[3636,3642],[3655,3662],3761,[3764,3772],[3784,3790],[3864,3865],3893,3895,3897,[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4141,4144],[4146,4151],[4153,4154],[4157,4158],[4184,4185],[4190,4192],[4209,4212],4226,[4229,4230],4237,4253,[4957,4959],[5906,5909],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],6086,[6089,6099],6109,[6155,6157],6159,[6277,6278],6313,[6432,6434],[6439,6440],6450,[6457,6459],[6679,6680],6683,6742,[6744,6750],6752,6754,[6757,6764],[6771,6780],6783,[6832,6877],[6880,6891],[6912,6915],[6964,6973],[6978,6980],[7019,7027],[7040,7041],[7074,7077],[7080,7085],7142,[7144,7145],7149,[7151,7155],[7212,7219],[7222,7223],[7376,7378],[7380,7392],[7394,7400],7405,7412,[7416,7417],[7616,7679],8204,[8400,8432],[11503,11505],11647,[11744,11775],[12330,12335],[12441,12442],[42607,42610],[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43045,43046],43052,[43204,43205],[43232,43249],43263,[43302,43309],[43335,43345],43347,[43392,43394],43443,[43446,43449],[43452,43453],43456,43493,[43561,43566],[43569,43570],[43573,43574],43587,43596,43644,43696,[43698,43700],[43703,43704],[43710,43711],43713,[43756,43757],43766,44005,44008,44013,64286,[65024,65039],[65056,65071],[65438,65439],66045,66272,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],[68900,68903],[68969,68973],[69291,69292],[69370,69375],[69446,69456],[69506,69509],69633,[69688,69702],69744,[69747,69748],[69759,69761],[69811,69814],[69817,69818],69826,[69888,69890],[69927,69931],[69933,69940],70003,[70016,70017],[70070,70078],70080,[70089,70092],70095,[70191,70193],[70196,70199],70206,70209,70367,[70371,70378],[70400,70401],[70459,70460],70462,70464,70477,70487,[70502,70508],[70512,70516],70584,[70587,70592],70594,70597,[70599,70601],[70606,70608],70610,[70625,70626],[70712,70719],[70722,70724],70726,70750,70832,[70835,70840],70842,70845,[70847,70848],[70850,70851],71087,[71090,71093],[71100,71101],[71103,71104],[71132,71133],[71219,71226],71229,[71231,71232],71339,71341,[71344,71351],71453,71455,[71458,71461],[71463,71467],[71727,71735],[71737,71738],71984,[71995,71998],72003,[72148,72151],[72154,72155],72160,[72193,72202],[72243,72248],[72251,72254],72263,[72273,72278],[72281,72283],[72330,72342],[72344,72345],72544,[72546,72548],72550,[72752,72758],[72760,72765],72767,[72850,72871],[72874,72880],[72882,72883],[72885,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[73104,73105],73109,73111,[73459,73460],[73472,73473],[73526,73530],[73536,73538],73562,78912,[78919,78933],[90398,90409],[90413,90415],[92912,92916],[92976,92982],94031,[94095,94098],94180,[94192,94193],[113821,113822],[118528,118573],[118576,118598],[119141,119145],[119149,119154],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],123023,[123184,123190],123566,[123628,123631],[124140,124143],[124398,124399],124643,124646,[124654,124655],124661,[125136,125142],[125252,125258],[917536,917631],[917760,917999]],Qv=[2381,2509,2637,2765,2893,3021,3149,3277,[3387,3388],3405,3530,3642,3770,3972,[4153,4154],[5908,5909],5940,6098,6752,6980,[7082,7083],[7154,7155],11647,43014,43052,43204,43347,43456,43766,44013,68159,69702,69744,69759,69817,[69939,69940],70080,70197,70378,70477,[70606,70608],70722,70850,71103,71231,71350,71467,71737,[71997,71998],72160,72244,72263,72345,72767,[73028,73029],73111,[73537,73538],90415],Zv=[[48,57],[65,70],[97,102],[65296,65305],[65313,65318],[65345,65350]],Kv=[45,173,1418,6150,[8208,8209],11799,12539,65123,65293,65381],$v=[[12272,12273],[12276,12285],12783],Jv=[[12274,12275]],eb=[[12286,12287]],tb=[[178,179],185,8304,[8308,8318],[8320,8334],8706,8711,8734,120513,120539,120571,120597,120629,120655,120687,120713,120745,120771],rb=[8706,8711,8734,120513,120539,120571,120597,120629,120655,120687,120713,120745,120771],nb=[[48,57],[65,90],95,[97,122],170,181,183,186,[192,214],[216,246],[248,705],[710,721],[736,740],748,750,[768,884],[886,887],[890,893],895,[902,906],908,[910,929],[931,1013],[1015,1153],[1155,1159],[1162,1327],[1329,1366],1369,[1376,1416],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1488,1514],[1519,1522],[1552,1562],[1568,1641],[1646,1747],[1749,1756],[1759,1768],[1770,1788],1791,[1808,1866],[1869,1969],[1984,2037],2042,2045,[2048,2093],[2112,2139],[2144,2154],[2160,2183],[2185,2191],[2199,2273],[2275,2403],[2406,2415],[2417,2435],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],[2492,2500],[2503,2504],[2507,2510],2519,[2524,2525],[2527,2531],[2534,2545],2556,2558,[2561,2563],[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],2620,[2622,2626],[2631,2632],[2635,2637],2641,[2649,2652],2654,[2662,2677],[2689,2691],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],[2748,2757],[2759,2761],[2763,2765],2768,[2784,2787],[2790,2799],[2809,2815],[2817,2819],[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],[2876,2884],[2887,2888],[2891,2893],[2901,2903],[2908,2909],[2911,2915],[2918,2927],2929,[2946,2947],[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],[3006,3010],[3014,3016],[3018,3021],3024,3031,[3046,3055],[3072,3084],[3086,3088],[3090,3112],[3114,3129],[3132,3140],[3142,3144],[3146,3149],[3157,3158],[3160,3162],[3164,3165],[3168,3171],[3174,3183],[3200,3203],[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],[3260,3268],[3270,3272],[3274,3277],[3285,3286],[3292,3294],[3296,3299],[3302,3311],[3313,3315],[3328,3340],[3342,3344],[3346,3396],[3398,3400],[3402,3406],[3412,3415],[3423,3427],[3430,3439],[3450,3455],[3457,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],3530,[3535,3540],3542,[3544,3551],[3558,3567],[3570,3571],[3585,3642],[3648,3662],[3664,3673],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3773],[3776,3780],3782,[3784,3790],[3792,3801],[3804,3807],3840,[3864,3865],[3872,3881],3893,3895,3897,[3902,3911],[3913,3948],[3953,3972],[3974,3991],[3993,4028],4038,[4096,4169],[4176,4253],[4256,4293],4295,4301,[4304,4346],[4348,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4957,4959],[4969,4977],[4992,5007],[5024,5109],[5112,5117],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5870,5880],[5888,5909],[5919,5940],[5952,5971],[5984,5996],[5998,6e3],[6002,6003],[6016,6099],6103,[6108,6109],[6112,6121],[6155,6157],[6159,6169],[6176,6264],[6272,6314],[6320,6389],[6400,6430],[6432,6443],[6448,6459],[6470,6509],[6512,6516],[6528,6571],[6576,6601],[6608,6618],[6656,6683],[6688,6750],[6752,6780],[6783,6793],[6800,6809],6823,[6832,6845],[6847,6877],[6880,6891],[6912,6988],[6992,7001],[7019,7027],[7040,7155],[7168,7223],[7232,7241],[7245,7293],[7296,7306],[7312,7354],[7357,7359],[7376,7378],[7380,7418],[7424,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],[8204,8205],[8255,8256],8276,8305,8319,[8336,8348],[8400,8412],8417,[8421,8432],8450,8455,[8458,8467],8469,[8472,8477],8484,8486,8488,[8490,8505],[8508,8511],[8517,8521],8526,[8544,8584],[11264,11492],[11499,11507],[11520,11557],11559,11565,[11568,11623],11631,[11647,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[11744,11775],[12293,12295],[12321,12335],[12337,12341],[12344,12348],[12353,12438],[12441,12447],[12449,12543],[12549,12591],[12593,12686],[12704,12735],[12784,12799],[13312,19903],[19968,42124],[42192,42237],[42240,42508],[42512,42539],[42560,42607],[42612,42621],[42623,42737],[42775,42783],[42786,42888],[42891,42972],[42993,43047],43052,[43072,43123],[43136,43205],[43216,43225],[43232,43255],43259,[43261,43309],[43312,43347],[43360,43388],[43392,43456],[43471,43481],[43488,43518],[43520,43574],[43584,43597],[43600,43609],[43616,43638],[43642,43714],[43739,43741],[43744,43759],[43762,43766],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43866],[43868,43881],[43888,44010],[44012,44013],[44016,44025],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],[64256,64262],[64275,64279],[64285,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65024,65039],[65056,65071],[65075,65076],[65101,65103],[65136,65140],[65142,65276],[65296,65305],[65313,65338],65343,[65345,65370],[65381,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65856,65908],66045,[66176,66204],[66208,66256],66272,[66304,66335],[66349,66378],[66384,66426],[66432,66461],[66464,66499],[66504,66511],[66513,66517],[66560,66717],[66720,66729],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67008,67059],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67904,67929],[67968,68023],[68030,68031],[68096,68099],[68101,68102],[68108,68115],[68117,68119],[68121,68149],[68152,68154],68159,[68192,68220],[68224,68252],[68288,68295],[68297,68326],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[68736,68786],[68800,68850],[68864,68903],[68912,68921],[68928,68965],[68969,68973],[68975,68997],[69248,69289],[69291,69292],[69296,69297],[69314,69319],[69370,69404],69415,[69424,69456],[69488,69509],[69552,69572],[69600,69622],[69632,69702],[69734,69749],[69759,69818],69826,[69840,69864],[69872,69881],[69888,69940],[69942,69951],[69956,69959],[69968,70003],70006,[70016,70084],[70089,70092],[70094,70106],70108,[70144,70161],[70163,70199],[70206,70209],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70378],[70384,70393],[70400,70403],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],[70459,70468],[70471,70472],[70475,70477],70480,70487,[70493,70499],[70502,70508],[70512,70516],[70528,70537],70539,70542,[70544,70581],[70583,70592],70594,70597,[70599,70602],[70604,70611],[70625,70626],[70656,70730],[70736,70745],[70750,70753],[70784,70853],70855,[70864,70873],[71040,71093],[71096,71104],[71128,71133],[71168,71232],71236,[71248,71257],[71296,71352],[71360,71369],[71376,71395],[71424,71450],[71453,71467],[71472,71481],[71488,71494],[71680,71738],[71840,71913],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],[71995,72003],[72016,72025],[72096,72103],[72106,72151],[72154,72161],[72163,72164],[72192,72254],72263,[72272,72345],72349,[72368,72440],[72544,72551],[72640,72672],[72688,72697],[72704,72712],[72714,72758],[72760,72768],[72784,72793],[72818,72847],[72850,72871],[72873,72886],[72960,72966],[72968,72969],[72971,73014],73018,[73020,73021],[73023,73031],[73040,73049],[73056,73061],[73063,73064],[73066,73102],[73104,73105],[73107,73112],[73120,73129],[73136,73179],[73184,73193],[73440,73462],[73472,73488],[73490,73530],[73534,73538],[73552,73562],73648,[73728,74649],[74752,74862],[74880,75075],[77712,77808],[77824,78895],[78912,78933],[78944,82938],[82944,83526],[90368,90425],[92160,92728],[92736,92766],[92768,92777],[92784,92862],[92864,92873],[92880,92909],[92912,92916],[92928,92982],[92992,92995],[93008,93017],[93027,93047],[93053,93071],[93504,93548],[93552,93561],[93760,93823],[93856,93880],[93883,93907],[93952,94026],[94031,94087],[94095,94111],[94176,94177],[94179,94180],[94192,94198],[94208,101589],[101631,101662],[101760,101874],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[113821,113822],[118e3,118009],[118528,118573],[118576,118598],[119141,119145],[119149,119154],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[120782,120831],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122624,122654],[122661,122666],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[122928,122989],123023,[123136,123180],[123184,123197],[123200,123209],123214,[123536,123566],[123584,123641],[124112,124153],[124368,124410],[124608,124638],[124640,124661],[124670,124671],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125136,125142],[125184,125259],[125264,125273],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[130032,130041],[131072,173791],[173824,178205],[178208,183981],[183984,191456],[191472,192093],[194560,195101],[196608,201546],[201552,210041],[917760,917999]],ib=[[65,90],[97,122],170,181,186,[192,214],[216,246],[248,705],[710,721],[736,740],748,750,[880,884],[886,887],[890,893],895,902,[904,906],908,[910,929],[931,1013],[1015,1153],[1162,1327],[1329,1366],1369,[1376,1416],[1488,1514],[1519,1522],[1568,1610],[1646,1647],[1649,1747],1749,[1765,1766],[1774,1775],[1786,1788],1791,1808,[1810,1839],[1869,1957],1969,[1994,2026],[2036,2037],2042,[2048,2069],2074,2084,2088,[2112,2136],[2144,2154],[2160,2183],[2185,2191],[2208,2249],[2308,2361],2365,2384,[2392,2401],[2417,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,2510,[2524,2525],[2527,2529],[2544,2545],2556,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],2654,[2674,2676],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],2749,2768,[2784,2785],2809,[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,[2908,2909],[2911,2913],2929,2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3024,[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3160,3162],[3164,3165],[3168,3169],3200,[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],3261,[3292,3294],[3296,3297],[3313,3314],[3332,3340],[3342,3344],[3346,3386],3389,3406,[3412,3414],[3423,3425],[3450,3455],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3585,3632],[3634,3635],[3648,3654],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3760],[3762,3763],3773,[3776,3780],3782,[3804,3807],3840,[3904,3911],[3913,3948],[3976,3980],[4096,4138],4159,[4176,4181],[4186,4189],4193,[4197,4198],[4206,4208],[4213,4225],4238,[4256,4293],4295,4301,[4304,4346],[4348,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4992,5007],[5024,5109],[5112,5117],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5870,5880],[5888,5905],[5919,5937],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],6103,6108,[6176,6264],[6272,6312],6314,[6320,6389],[6400,6430],[6480,6509],[6512,6516],[6528,6571],[6576,6601],[6656,6678],[6688,6740],6823,[6917,6963],[6981,6988],[7043,7072],[7086,7087],[7098,7141],[7168,7203],[7245,7247],[7258,7293],[7296,7306],[7312,7354],[7357,7359],[7401,7404],[7406,7411],[7413,7414],7418,[7424,7615],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8305,8319,[8336,8348],8450,8455,[8458,8467],8469,[8472,8477],8484,8486,8488,[8490,8505],[8508,8511],[8517,8521],8526,[8544,8584],[11264,11492],[11499,11502],[11506,11507],[11520,11557],11559,11565,[11568,11623],11631,[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[12293,12295],[12321,12329],[12337,12341],[12344,12348],[12353,12438],[12443,12447],[12449,12538],[12540,12543],[12549,12591],[12593,12686],[12704,12735],[12784,12799],[13312,19903],[19968,42124],[42192,42237],[42240,42508],[42512,42527],[42538,42539],[42560,42606],[42623,42653],[42656,42735],[42775,42783],[42786,42888],[42891,42972],[42993,43009],[43011,43013],[43015,43018],[43020,43042],[43072,43123],[43138,43187],[43250,43255],43259,[43261,43262],[43274,43301],[43312,43334],[43360,43388],[43396,43442],43471,[43488,43492],[43494,43503],[43514,43518],[43520,43560],[43584,43586],[43588,43595],[43616,43638],43642,[43646,43695],43697,[43701,43702],[43705,43709],43712,43714,[43739,43741],[43744,43754],[43762,43764],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43866],[43868,43881],[43888,44002],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],[64256,64262],[64275,64279],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65136,65140],[65142,65276],[65313,65338],[65345,65370],[65382,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65856,65908],[66176,66204],[66208,66256],[66304,66335],[66349,66378],[66384,66421],[66432,66461],[66464,66499],[66504,66511],[66513,66517],[66560,66717],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67008,67059],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67904,67929],[67968,68023],[68030,68031],68096,[68112,68115],[68117,68119],[68121,68149],[68192,68220],[68224,68252],[68288,68295],[68297,68324],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[68736,68786],[68800,68850],[68864,68899],[68938,68965],[68975,68997],[69248,69289],[69296,69297],[69314,69319],[69376,69404],69415,[69424,69445],[69488,69505],[69552,69572],[69600,69622],[69635,69687],[69745,69746],69749,[69763,69807],[69840,69864],[69891,69926],69956,69959,[69968,70002],70006,[70019,70066],[70081,70084],70106,70108,[70144,70161],[70163,70187],[70207,70208],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70366],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70480,[70493,70497],[70528,70537],70539,70542,[70544,70581],70583,70609,70611,[70656,70708],[70727,70730],[70751,70753],[70784,70831],[70852,70853],70855,[71040,71086],[71128,71131],[71168,71215],71236,[71296,71338],71352,[71424,71450],[71488,71494],[71680,71723],[71840,71903],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71983],71999,72001,[72096,72103],[72106,72144],72161,72163,72192,[72203,72242],72250,72272,[72284,72329],72349,[72368,72440],[72640,72672],[72704,72712],[72714,72750],72768,[72818,72847],[72960,72966],[72968,72969],[72971,73008],73030,[73056,73061],[73063,73064],[73066,73097],73112,[73136,73179],[73440,73458],73474,[73476,73488],[73490,73523],73648,[73728,74649],[74752,74862],[74880,75075],[77712,77808],[77824,78895],[78913,78918],[78944,82938],[82944,83526],[90368,90397],[92160,92728],[92736,92766],[92784,92862],[92880,92909],[92928,92975],[92992,92995],[93027,93047],[93053,93071],[93504,93548],[93760,93823],[93856,93880],[93883,93907],[93952,94026],94032,[94099,94111],[94176,94177],94179,[94194,94198],[94208,101589],[101631,101662],[101760,101874],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[122624,122654],[122661,122666],[122928,122989],[123136,123180],[123191,123197],123214,[123536,123565],[123584,123627],[124112,124139],[124368,124397],124400,[124608,124638],[124640,124642],[124644,124645],[124647,124653],[124656,124660],[124670,124671],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125184,125251],125259,[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[131072,173791],[173824,178205],[178208,183981],[183984,191456],[191472,192093],[194560,195101],[196608,201546],[201552,210041]],ab=[[12294,12295],[12321,12329],[12344,12346],[13312,19903],[19968,40959],[63744,64109],[64112,64217],94180,[94194,94198],[94208,101589],[101631,101662],[101760,101874],[110960,111355],[131072,173791],[173824,178205],[178208,183981],[183984,191456],[191472,192093],[194560,195101],[196608,201546],[201552,210041]],ob=[[768,879],[1155,1161],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],2045,[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2199,2207],[2250,2273],[2275,2306],[2325,2362],2364,[2369,2376],2381,[2385,2399],[2402,2403],[2424,2431],2433,[2453,2472],[2474,2480],2482,[2486,2489],2492,2494,[2497,2500],2509,2519,[2524,2525],2527,[2530,2531],[2544,2545],2558,[2561,2562],2620,[2625,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2690],[2709,2728],[2730,2736],[2738,2739],[2741,2745],2748,[2753,2757],[2759,2760],2765,[2786,2787],[2809,2815],2817,[2837,2856],[2858,2864],[2866,2867],[2869,2873],2876,[2878,2879],[2881,2884],2893,[2901,2903],[2908,2909],2911,[2914,2915],2929,2946,3006,3008,3021,3031,3072,3076,[3093,3112],[3114,3129],3132,[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3160,3162],[3170,3171],3201,3260,[3263,3264],3266,[3270,3272],[3274,3277],[3285,3286],[3298,3299],[3328,3329],[3349,3388],3390,[3393,3396],3405,3415,[3426,3427],3457,3530,3535,[3538,3540],3542,3551,3633,[3636,3642],[3655,3662],3761,[3764,3772],[3784,3790],[3864,3865],3893,3895,3897,[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4096,4138],[4141,4144],[4146,4151],[4153,4154],[4157,4159],[4176,4181],[4184,4193],[4197,4198],[4206,4226],[4229,4230],[4237,4238],4253,[4957,4959],[5906,5909],[5938,5940],[5970,5971],[6002,6003],[6016,6069],[6071,6077],6086,[6089,6099],6109,[6155,6157],6159,[6277,6278],6313,[6432,6434],[6439,6440],6450,[6457,6459],[6679,6680],6683,[6688,6740],6742,[6744,6750],6752,6754,[6757,6764],[6771,6780],6783,[6832,6877],[6880,6891],[6912,6915],[6923,6924],[6931,6973],[6978,6988],[7019,7027],[7040,7041],[7043,7072],[7074,7077],[7080,7087],[7099,7101],7142,[7144,7145],7149,[7151,7155],[7212,7219],[7222,7223],[7376,7378],[7380,7392],[7394,7400],7405,7412,[7416,7417],[7616,7679],8205,[8400,8432],[11503,11505],11647,[11744,11775],[12330,12335],[12441,12442],[42607,42610],[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43045,43046],43052,[43204,43205],[43232,43249],43263,[43302,43309],[43335,43345],43347,[43392,43394],[43401,43403],[43407,43443],[43446,43449],[43452,43453],43456,[43488,43493],[43495,43503],[43514,43518],[43561,43566],[43569,43570],[43573,43574],43587,43596,[43616,43631],[43633,43635],43642,43644,[43646,43647],43696,[43698,43700],[43703,43704],[43710,43711],43713,[43744,43754],[43756,43757],43766,[43968,43994],44005,44008,44013,64286,[65024,65039],[65056,65071],[65438,65439],66045,66272,[66422,66426],[68096,68099],[68101,68102],[68108,68115],[68117,68119],[68121,68149],[68152,68154],68159,[68325,68326],[68900,68903],[68969,68973],[69291,69292],[69370,69375],[69446,69456],[69506,69509],69633,[69688,69702],69744,[69747,69748],[69759,69761],[69811,69814],[69817,69818],69826,[69888,69931],[69933,69940],69956,69959,70003,[70016,70017],[70070,70078],70080,[70089,70092],70095,[70191,70193],[70196,70199],70206,70209,70367,[70371,70378],[70400,70401],[70459,70460],70462,70464,70477,70487,[70502,70508],[70512,70516],[70528,70537],70539,70542,[70544,70581],70584,[70587,70592],70594,70597,[70599,70601],[70606,70608],70610,[70625,70626],[70712,70719],[70722,70724],70726,70750,70832,[70835,70840],70842,70845,[70847,70848],[70850,70851],71087,[71090,71093],[71100,71101],[71103,71104],[71132,71133],[71219,71226],71229,[71231,71232],71339,71341,[71344,71351],71453,71455,[71458,71461],[71463,71467],[71727,71735],[71737,71738],[71936,71942],71945,[71948,71955],[71957,71958],[71960,71984],[71995,71998],72003,[72148,72151],[72154,72155],72160,[72192,72248],[72251,72254],72263,[72272,72278],[72281,72323],[72330,72342],[72344,72345],72544,[72546,72548],72550,[72752,72758],[72760,72765],72767,[72850,72871],[72874,72880],[72882,72883],[72885,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[73104,73105],73109,73111,[73459,73460],[73472,73473],[73476,73488],[73490,73523],[73526,73530],[73536,73538],73562,78912,[78919,78933],[90398,90409],[90413,90415],[92912,92916],[92976,92982],94031,[94095,94098],94180,[94192,94193],[113821,113822],[118528,118573],[118576,118598],[119141,119145],[119149,119154],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],123023,[123184,123190],123566,[123628,123631],[124140,124143],[124398,124399],124643,124646,[124654,124655],124661,[125136,125142],[125252,125258],[127995,127999],[917536,917631],[917760,917999]],sb=[[8204,8205]],lb=[[3648,3652],[3776,3780],[6581,6583],6586,[43701,43702],43705,[43707,43708]],ub=[[97,122],170,181,186,[223,246],[248,255],257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,[311,312],314,316,318,320,322,324,326,[328,329],331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,[382,384],387,389,392,[396,397],402,405,[409,411],414,417,419,421,424,[426,427],429,432,436,438,[441,442],[445,447],454,457,460,462,464,466,468,470,472,474,[476,477],479,481,483,485,487,489,491,493,[495,496],499,501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,545,547,549,551,553,555,557,559,561,[563,569],572,[575,576],578,583,585,587,589,[591,659],[662,696],[704,705],[736,740],837,881,883,887,[890,893],912,[940,974],[976,977],[981,983],985,987,989,991,993,995,997,999,1001,1003,1005,[1007,1011],1013,1016,[1019,1020],[1072,1119],1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1218,1220,1222,1224,1226,1228,[1230,1231],1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,[1376,1416],[4304,4346],[4348,4351],[5112,5117],[7296,7304],7306,[7424,7615],7681,7683,7685,7687,7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,[7829,7837],7839,7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,7893,7895,7897,7899,7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,7931,7933,[7935,7943],[7952,7957],[7968,7975],[7984,7991],[8e3,8005],[8016,8023],[8032,8039],[8048,8061],[8064,8071],[8080,8087],[8096,8103],[8112,8116],[8118,8119],8126,[8130,8132],[8134,8135],[8144,8147],[8150,8151],[8160,8167],[8178,8180],[8182,8183],8305,8319,[8336,8348],8458,[8462,8463],8467,8495,8500,8505,[8508,8509],[8518,8521],8526,[8560,8575],8580,[9424,9449],[11312,11359],11361,[11365,11366],11368,11370,11372,11377,[11379,11380],[11382,11389],11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,[11491,11492],11500,11502,11507,[11520,11557],11559,11565,42561,42563,42565,42567,42569,42571,42573,42575,42577,42579,42581,42583,42585,42587,42589,42591,42593,42595,42597,42599,42601,42603,42605,42625,42627,42629,42631,42633,42635,42637,42639,42641,42643,42645,42647,42649,[42651,42653],42787,42789,42791,42793,42795,42797,[42799,42801],42803,42805,42807,42809,42811,42813,42815,42817,42819,42821,42823,42825,42827,42829,42831,42833,42835,42837,42839,42841,42843,42845,42847,42849,42851,42853,42855,42857,42859,42861,[42863,42872],42874,42876,42879,42881,42883,42885,42887,42892,42894,42897,[42899,42901],42903,42905,42907,42909,42911,42913,42915,42917,42919,42921,42927,42933,42935,42937,42939,42941,42943,42945,42947,42952,42954,42957,42959,42961,42963,42965,42967,42969,42971,[42993,42996],42998,[43e3,43002],[43824,43866],[43868,43881],[43888,43967],[64256,64262],[64275,64279],[65345,65370],[66600,66639],[66776,66811],[66967,66977],[66979,66993],[66995,67001],[67003,67004],67456,[67459,67461],[67463,67504],[67506,67514],[68800,68850],[68976,68997],[71872,71903],[93792,93823],[93883,93907],[119834,119859],[119886,119892],[119894,119911],[119938,119963],[119990,119993],119995,[119997,120003],[120005,120015],[120042,120067],[120094,120119],[120146,120171],[120198,120223],[120250,120275],[120302,120327],[120354,120379],[120406,120431],[120458,120485],[120514,120538],[120540,120545],[120572,120596],[120598,120603],[120630,120654],[120656,120661],[120688,120712],[120714,120719],[120746,120770],[120772,120777],120779,[122624,122633],[122635,122654],[122661,122666],[122928,122989],[125218,125251]],cb=[43,[60,62],94,124,126,172,177,215,247,[976,978],981,[1008,1009],[1012,1014],[1542,1544],8214,[8242,8244],8256,8260,8274,[8289,8292],[8314,8318],[8330,8334],[8400,8412],8417,[8421,8422],[8427,8431],8450,8455,[8458,8467],8469,[8472,8477],8484,[8488,8489],[8492,8493],[8495,8497],[8499,8504],[8508,8521],8523,[8592,8615],[8617,8622],[8624,8625],[8630,8631],[8636,8667],8669,[8676,8677],[8692,8959],[8968,8971],[8992,8993],9084,[9115,9141],9143,9168,[9180,9186],[9632,9633],[9646,9655],[9660,9665],[9670,9671],[9674,9675],[9679,9683],9698,9700,[9703,9708],[9720,9727],[9733,9734],9792,9794,[9824,9827],[9837,9839],[10176,10239],[10496,11007],[11056,11076],[11079,11084],64297,[65121,65126],65128,65291,[65308,65310],65340,65342,65372,65374,65506,[65513,65516],[69006,69007],118512,[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120779],[120782,120831],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[126704,126705],[129232,129240]],db=[[1620,1621],1624,1756,1763,[1767,1768],[2250,2251],[2253,2255],2259,2291],hb=[[65,90],160,168,170,173,175,[178,181],[184,186],[188,190],[192,214],[216,222],256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,[306,308],310,313,315,317,[319,321],323,325,327,[329,330],332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,[376,377],379,381,383,[385,386],388,[390,391],[393,395],[398,401],[403,404],[406,408],[412,413],[415,416],418,420,[422,423],425,428,[430,431],[433,435],437,[439,440],444,[452,461],463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,[497,500],[502,504],506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,[570,571],[573,574],577,[579,582],584,586,588,590,[688,696],[728,733],[736,740],[832,833],[835,837],847,880,882,884,886,890,[894,895],[900,906],908,[910,911],[913,929],[931,939],962,[975,982],984,986,988,990,992,994,996,998,1e3,1002,1004,1006,[1008,1010],[1012,1013],1015,[1017,1018],[1021,1071],1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,[1216,1217],1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,[1329,1366],1415,1564,[1653,1656],[2392,2399],[2524,2525],2527,2611,2614,[2649,2651],2654,[2908,2909],3635,3763,[3804,3805],3852,3907,3917,3922,3927,3932,3945,3955,[3957,3961],3969,3987,3997,4002,4007,4012,4025,[4256,4293],4295,4301,4348,[4447,4448],[5112,5117],[6068,6069],[6155,6159],[7296,7305],[7312,7354],[7357,7359],[7468,7470],[7472,7482],[7484,7501],[7503,7530],7544,[7579,7615],7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,[7834,7835],7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,[7944,7951],[7960,7965],[7976,7983],[7992,7999],[8008,8013],8025,8027,8029,8031,[8040,8047],8049,8051,8053,8055,8057,8059,8061,[8072,8079],[8088,8095],[8104,8111],[8120,8129],[8136,8143],8147,[8152,8155],[8157,8159],8163,[8168,8175],[8184,8190],[8192,8207],8209,8215,[8228,8230],[8234,8239],[8243,8244],[8246,8247],8252,8254,[8263,8265],8279,[8287,8305],[8308,8334],[8336,8348],8360,[8448,8451],[8453,8455],[8457,8467],[8469,8470],[8473,8477],[8480,8482],8484,8486,8488,[8490,8493],[8495,8505],[8507,8512],[8517,8521],[8528,8575],8579,8585,[8748,8749],[8751,8752],[9001,9002],[9312,9450],10764,[10868,10870],10972,[11264,11311],11360,[11362,11364],11367,11369,11371,[11373,11376],11378,11381,[11388,11392],11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,11631,11935,12019,[12032,12245],12288,12342,[12344,12346],[12443,12444],12447,12543,[12593,12686],[12690,12703],[12800,12830],[12832,12871],[12880,12926],[12928,13311],42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,[42652,42653],42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42864,42873,42875,[42877,42878],42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,[42922,42926],[42928,42932],42934,42936,42938,42940,42942,42944,42946,[42948,42951],42953,[42955,42956],42958,42960,42962,42964,42966,42968,42970,42972,[42993,42997],[43e3,43001],[43868,43871],43881,[43888,43967],[63744,64013],64016,64018,[64021,64030],64032,64034,[64037,64038],[64042,64109],[64112,64217],[64256,64262],[64275,64279],64285,[64287,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65020],[65024,65049],[65072,65092],[65095,65106],[65108,65126],[65128,65131],[65136,65138],65140,[65142,65276],65279,[65281,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65504,65510],[65512,65518],[65520,65528],[66560,66599],[66736,66771],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[67457,67461],[67463,67504],[67506,67514],[68736,68786],[68944,68965],[71840,71871],[93760,93791],[93856,93880],[113824,113827],[117974,118009],[119134,119140],[119155,119162],[119227,119232],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120779],[120782,120831],[122928,122989],[125184,125217],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[127232,127242],[127248,127278],[127280,127311],[127338,127340],127376,[127488,127490],[127504,127547],[127552,127560],[127568,127569],[130032,130041],[194560,195101],[917504,921599]],mb=[[64976,65007],[65534,65535],[131070,131071],[196606,196607],[262142,262143],[327678,327679],[393214,393215],[458750,458751],[524286,524287],[589822,589823],[655358,655359],[720894,720895],[786430,786431],[851966,851967],[917502,917503],[983038,983039],[1048574,1048575],[1114110,1114111]],fb=[837,[867,879],[1456,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1623],[1625,1631],1648,[1750,1756],[1761,1764],[1767,1768],1773,1809,[1840,1855],[1958,1968],[2070,2071],[2075,2083],[2085,2087],[2089,2092],2199,[2260,2271],[2275,2281],[2288,2307],[2362,2363],[2366,2380],[2382,2383],[2389,2391],[2402,2403],[2433,2435],[2494,2500],[2503,2504],[2507,2508],2519,[2530,2531],[2561,2563],[2622,2626],[2631,2632],[2635,2636],2641,[2672,2673],2677,[2689,2691],[2750,2757],[2759,2761],[2763,2764],[2786,2787],[2810,2812],[2817,2819],[2878,2884],[2887,2888],[2891,2892],[2902,2903],[2914,2915],2946,[3006,3010],[3014,3016],[3018,3020],3031,[3072,3076],[3134,3140],[3142,3144],[3146,3148],[3157,3158],[3170,3171],[3201,3203],[3262,3268],[3270,3272],[3274,3276],[3285,3286],[3298,3299],3315,[3328,3331],[3390,3396],[3398,3400],[3402,3404],3415,[3426,3427],[3457,3459],[3535,3540],3542,[3544,3551],[3570,3571],3633,[3636,3642],3661,3761,[3764,3769],[3771,3772],3789,[3953,3971],[3981,3991],[3993,4028],[4139,4150],4152,[4155,4158],[4182,4185],[4190,4192],[4194,4196],[4199,4205],[4209,4212],[4226,4237],4239,[4250,4253],[5906,5907],[5938,5939],[5970,5971],[6002,6003],[6070,6088],[6277,6278],6313,[6432,6443],[6448,6456],[6679,6683],[6741,6750],[6753,6772],[6847,6848],[6860,6862],[6912,6916],[6965,6979],[7040,7042],[7073,7081],[7084,7085],[7143,7153],[7204,7222],[7635,7668],[9398,9449],[11744,11775],[42612,42619],[42654,42655],43010,43019,[43043,43047],[43136,43137],[43188,43203],43205,43263,[43302,43306],[43335,43346],[43392,43395],[43444,43455],43493,[43561,43574],43587,[43596,43597],[43643,43645],43696,[43698,43700],[43703,43704],43710,[43755,43759],43765,[44003,44010],64286,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68900,68903],68969,[69291,69292],[69370,69372],[69632,69634],[69688,69701],[69747,69748],[69760,69762],[69808,69816],69826,[69888,69890],[69927,69938],[69957,69958],[70016,70018],[70067,70079],[70094,70095],[70188,70196],70199,70206,70209,[70367,70376],[70400,70403],[70462,70468],[70471,70472],[70475,70476],70487,[70498,70499],[70584,70592],70594,70597,[70599,70602],[70604,70605],[70709,70721],[70723,70725],[70832,70849],[71087,71093],[71096,71102],[71132,71133],[71216,71230],71232,[71339,71349],[71453,71466],[71724,71736],[71984,71989],[71991,71992],[71995,71996],72e3,72002,[72145,72151],[72154,72159],72164,[72193,72202],[72245,72249],[72251,72254],[72273,72283],[72330,72343],[72544,72551],[72751,72758],[72760,72766],[72850,72871],[72873,72886],[73009,73014],73018,[73020,73021],[73023,73025],73027,73031,[73098,73102],[73104,73105],[73107,73110],[73459,73462],[73472,73473],73475,[73524,73530],[73534,73536],[90398,90414],94031,[94033,94087],[94095,94098],[94192,94193],113822,[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],123023,124643,124646,[124654,124655],124661,125255,[127280,127305],[127312,127337],[127344,127369]],gb=[847,[4447,4448],[6068,6069],8293,12644,65440,[65520,65528],917504,[917506,917535],[917632,917759],[918e3,921599]],pb=[2494,2519,2878,2903,3006,3031,3264,3266,[3271,3272],[3274,3275],[3285,3286],3390,3415,3535,3551,5909,5940,6965,6971,6973,[6979,6980],7082,[7154,7155],8204,[12334,12335],43347,43456,[65438,65439],70080,70197,70462,70477,70487,70584,70594,70597,[70599,70601],70607,70832,70845,71087,71350,71984,71997,73537,[94192,94193],[119141,119142],[119149,119154],[917536,917631]],vb=[183,903,[4969,4977],6618,[8204,8205],12539,65381],bb=[[6277,6278],8472,8494,[12443,12444]],Cb=[170,186,[688,696],[704,705],[736,740],837,890,4348,[7468,7530],7544,[7579,7615],8305,8319,[8336,8348],[8560,8575],[9424,9449],[11388,11389],[42652,42653],42864,[42993,42996],[43e3,43001],[43868,43871],43881,67456,[67459,67461],[67463,67504],[67506,67514],[122928,122989]],yb=[94,[976,978],981,[1008,1009],[1012,1013],8214,[8242,8244],8256,[8289,8292],[8317,8318],[8333,8334],[8400,8412],8417,[8421,8422],[8427,8431],8450,8455,[8458,8467],8469,[8473,8477],8484,[8488,8489],[8492,8493],[8495,8497],[8499,8504],[8508,8511],[8517,8521],[8597,8601],[8604,8607],[8609,8610],[8612,8613],8615,[8617,8621],[8624,8625],[8630,8631],[8636,8653],[8656,8657],8659,[8661,8667],8669,[8676,8677],[8968,8971],[9140,9141],9143,9168,9186,[9632,9633],[9646,9654],[9660,9664],[9670,9671],[9674,9675],[9679,9683],9698,9700,[9703,9708],[9733,9734],9792,9794,[9824,9827],[9837,9838],[10181,10182],[10214,10223],[10627,10648],[10712,10715],[10748,10749],65121,65123,65128,65340,65342,[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[120782,120831],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651]],_b=[[8544,8559],[9398,9423],[127280,127305],[127312,127337],[127344,127369]],wb=[[33,47],[58,64],[91,94],96,[123,126],[161,167],169,[171,172],174,[176,177],182,187,191,215,247,[8208,8231],[8240,8254],[8257,8275],[8277,8286],[8592,9311],[9472,10101],[10132,11263],[11776,11903],[12289,12291],[12296,12320],12336,[64830,64831],[65093,65094]],Eb=[[9,13],32,133,[8206,8207],[8232,8233]],Sb=[[1536,1541],1757,1807,[2192,2193],2274,69821,69837],Ab=[34,39,171,187,[8216,8223],[8249,8250],11842,[12300,12303],[12317,12319],[65089,65092],65282,65287,[65378,65379]],Ib=[[11904,11929],[11931,12019],[12032,12245]],Rb=[[127462,127487]],xb=[33,46,63,1417,[1565,1567],1748,[1792,1794],2041,2103,2105,[2109,2110],[2404,2405],[4170,4171],4962,[4967,4968],5742,[5941,5942],[6100,6101],6147,6153,[6468,6469],[6824,6827],[6990,6991],[7002,7003],[7006,7007],[7037,7039],[7227,7228],[7294,7295],8228,[8252,8253],[8263,8265],[11513,11515],11822,11836,[11859,11860],12290,42239,[42510,42511],42739,42743,[43126,43127],[43214,43215],43311,[43464,43465],[43613,43615],[43760,43761],44011,65042,[65045,65046],65106,[65110,65111],65281,65294,65311,65377,[68182,68183],[69461,69465],[69510,69513],[69703,69704],[69822,69825],[69953,69955],[70085,70086],70093,[70110,70111],[70200,70201],[70203,70204],70313,[70612,70613],[70731,70732],[71106,71107],[71113,71127],[71233,71234],[71484,71486],72004,72006,[72258,72259],[72347,72348],[72769,72770],[73463,73464],[73539,73540],[92782,92783],92917,[92983,92984],92996,[93550,93551],93848,113823,121480],Tb=[[105,106],303,585,616,669,690,1011,1110,1112,7522,7574,7588,7592,7725,7883,8305,[8520,8521],11388,[119842,119843],[119894,119895],[119946,119947],[119998,119999],[120050,120051],[120102,120103],[120154,120155],[120206,120207],[120258,120259],[120310,120311],[120362,120363],[120414,120415],[120466,120467],122650,[122956,122957],122984],Nb=[33,44,46,[58,59],63,894,903,1417,1475,1548,1563,[1565,1567],1748,[1792,1802],1804,[2040,2041],[2096,2101],[2103,2110],2142,[2404,2405],[3674,3675],3848,[3853,3858],[4170,4171],[4961,4968],5742,[5867,5869],[5941,5942],[6100,6102],6106,[6146,6149],[6152,6153],[6468,6469],[6824,6827],[6990,6991],[7002,7003],[7005,7007],[7037,7039],[7227,7231],[7294,7295],8228,[8252,8253],[8263,8265],[11513,11515],11822,11836,11841,11852,[11854,11855],[11859,11860],[12289,12290],[42238,42239],[42509,42511],[42739,42743],[43126,43127],[43214,43215],43311,[43463,43465],[43613,43615],43743,[43760,43761],44011,65042,[65045,65046],[65104,65106],[65108,65111],65281,65292,65294,[65306,65307],65311,65377,65380,66463,66512,67671,67871,[68182,68183],[68336,68341],[68410,68415],[68505,68508],[69461,69465],[69510,69513],[69703,69709],[69822,69825],[69953,69955],[70085,70086],70093,[70110,70111],[70200,70204],70313,[70612,70613],[70731,70733],[70746,70747],[71106,71109],[71113,71127],[71233,71234],[71484,71486],72004,72006,[72258,72259],[72347,72348],[72353,72354],[72769,72771],72817,[73463,73464],[73539,73540],[74864,74868],[92782,92783],92917,[92983,92985],92996,[93550,93551],[93847,93848],113823,[121479,121482]],Mb=[[13312,19903],[19968,40959],[64014,64015],64017,[64019,64020],64031,64033,[64035,64036],[64039,64041],[131072,173791],[173824,178205],[178208,183981],[183984,191456],[191472,192093],[196608,201546],[201552,210041]],Ob=[[65,90],[192,214],[216,222],256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,313,315,317,319,321,323,325,327,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,[376,377],379,381,[385,386],388,[390,391],[393,395],[398,401],[403,404],[406,408],[412,413],[415,416],418,420,[422,423],425,428,[430,431],[433,435],437,[439,440],444,452,455,458,461,463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,497,500,[502,504],506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,[570,571],[573,574],577,[579,582],584,586,588,590,880,882,886,895,902,[904,906],908,[910,911],[913,929],[931,939],975,[978,980],984,986,988,990,992,994,996,998,1e3,1002,1004,1006,1012,1015,[1017,1018],[1021,1071],1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,[1216,1217],1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,[1329,1366],[4256,4293],4295,4301,[5024,5109],7305,[7312,7354],[7357,7359],7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,[7944,7951],[7960,7965],[7976,7983],[7992,7999],[8008,8013],8025,8027,8029,8031,[8040,8047],[8120,8123],[8136,8139],[8152,8155],[8168,8172],[8184,8187],8450,8455,[8459,8461],[8464,8466],8469,[8473,8477],8484,8486,8488,[8490,8493],[8496,8499],[8510,8511],8517,[8544,8559],8579,[9398,9423],[11264,11311],11360,[11362,11364],11367,11369,11371,[11373,11376],11378,11381,[11390,11392],11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42873,42875,[42877,42878],42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,[42922,42926],[42928,42932],42934,42936,42938,42940,42942,42944,42946,[42948,42951],42953,[42955,42956],42958,42960,42962,42964,42966,42968,42970,42972,42997,[65313,65338],[66560,66599],[66736,66771],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[68736,68786],[68944,68965],[71840,71871],[93760,93791],[93856,93880],[119808,119833],[119860,119885],[119912,119937],119964,[119966,119967],119970,[119973,119974],[119977,119980],[119982,119989],[120016,120041],[120068,120069],[120071,120074],[120077,120084],[120086,120092],[120120,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120172,120197],[120224,120249],[120276,120301],[120328,120353],[120380,120405],[120432,120457],[120488,120512],[120546,120570],[120604,120628],[120662,120686],[120720,120744],120778,[125184,125217],[127280,127305],[127312,127337],[127344,127369]],Lb=[[6155,6157],6159,[65024,65039],[917760,917999]],kb=[[9,13],32,133,160,5760,[8192,8202],[8232,8233],8239,8287,12288],Pb=[[48,57],[65,90],95,[97,122],170,181,183,186,[192,214],[216,246],[248,705],[710,721],[736,740],748,750,[768,884],[886,887],[891,893],895,[902,906],908,[910,929],[931,1013],[1015,1153],[1155,1159],[1162,1327],[1329,1366],1369,[1376,1416],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1488,1514],[1519,1522],[1552,1562],[1568,1641],[1646,1747],[1749,1756],[1759,1768],[1770,1788],1791,[1808,1866],[1869,1969],[1984,2037],2042,2045,[2048,2093],[2112,2139],[2144,2154],[2160,2183],[2185,2191],[2199,2273],[2275,2403],[2406,2415],[2417,2435],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],[2492,2500],[2503,2504],[2507,2510],2519,[2524,2525],[2527,2531],[2534,2545],2556,2558,[2561,2563],[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],2620,[2622,2626],[2631,2632],[2635,2637],2641,[2649,2652],2654,[2662,2677],[2689,2691],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],[2748,2757],[2759,2761],[2763,2765],2768,[2784,2787],[2790,2799],[2809,2815],[2817,2819],[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],[2876,2884],[2887,2888],[2891,2893],[2901,2903],[2908,2909],[2911,2915],[2918,2927],2929,[2946,2947],[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],[3006,3010],[3014,3016],[3018,3021],3024,3031,[3046,3055],[3072,3084],[3086,3088],[3090,3112],[3114,3129],[3132,3140],[3142,3144],[3146,3149],[3157,3158],[3160,3162],[3164,3165],[3168,3171],[3174,3183],[3200,3203],[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],[3260,3268],[3270,3272],[3274,3277],[3285,3286],[3292,3294],[3296,3299],[3302,3311],[3313,3315],[3328,3340],[3342,3344],[3346,3396],[3398,3400],[3402,3406],[3412,3415],[3423,3427],[3430,3439],[3450,3455],[3457,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],3530,[3535,3540],3542,[3544,3551],[3558,3567],[3570,3571],[3585,3642],[3648,3662],[3664,3673],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3773],[3776,3780],3782,[3784,3790],[3792,3801],[3804,3807],3840,[3864,3865],[3872,3881],3893,3895,3897,[3902,3911],[3913,3948],[3953,3972],[3974,3991],[3993,4028],4038,[4096,4169],[4176,4253],[4256,4293],4295,4301,[4304,4346],[4348,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4957,4959],[4969,4977],[4992,5007],[5024,5109],[5112,5117],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5870,5880],[5888,5909],[5919,5940],[5952,5971],[5984,5996],[5998,6e3],[6002,6003],[6016,6099],6103,[6108,6109],[6112,6121],[6155,6157],[6159,6169],[6176,6264],[6272,6314],[6320,6389],[6400,6430],[6432,6443],[6448,6459],[6470,6509],[6512,6516],[6528,6571],[6576,6601],[6608,6618],[6656,6683],[6688,6750],[6752,6780],[6783,6793],[6800,6809],6823,[6832,6845],[6847,6877],[6880,6891],[6912,6988],[6992,7001],[7019,7027],[7040,7155],[7168,7223],[7232,7241],[7245,7293],[7296,7306],[7312,7354],[7357,7359],[7376,7378],[7380,7418],[7424,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],[8204,8205],[8255,8256],8276,8305,8319,[8336,8348],[8400,8412],8417,[8421,8432],8450,8455,[8458,8467],8469,[8472,8477],8484,8486,8488,[8490,8505],[8508,8511],[8517,8521],8526,[8544,8584],[11264,11492],[11499,11507],[11520,11557],11559,11565,[11568,11623],11631,[11647,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[11744,11775],[12293,12295],[12321,12335],[12337,12341],[12344,12348],[12353,12438],[12441,12442],[12445,12447],[12449,12543],[12549,12591],[12593,12686],[12704,12735],[12784,12799],[13312,19903],[19968,42124],[42192,42237],[42240,42508],[42512,42539],[42560,42607],[42612,42621],[42623,42737],[42775,42783],[42786,42888],[42891,42972],[42993,43047],43052,[43072,43123],[43136,43205],[43216,43225],[43232,43255],43259,[43261,43309],[43312,43347],[43360,43388],[43392,43456],[43471,43481],[43488,43518],[43520,43574],[43584,43597],[43600,43609],[43616,43638],[43642,43714],[43739,43741],[43744,43759],[43762,43766],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43866],[43868,43881],[43888,44010],[44012,44013],[44016,44025],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],[64256,64262],[64275,64279],[64285,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64605],[64612,64829],[64848,64911],[64914,64967],[65008,65017],[65024,65039],[65056,65071],[65075,65076],[65101,65103],65137,65139,65143,65145,65147,65149,[65151,65276],[65296,65305],[65313,65338],65343,[65345,65370],[65381,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65856,65908],66045,[66176,66204],[66208,66256],66272,[66304,66335],[66349,66378],[66384,66426],[66432,66461],[66464,66499],[66504,66511],[66513,66517],[66560,66717],[66720,66729],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67008,67059],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67904,67929],[67968,68023],[68030,68031],[68096,68099],[68101,68102],[68108,68115],[68117,68119],[68121,68149],[68152,68154],68159,[68192,68220],[68224,68252],[68288,68295],[68297,68326],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[68736,68786],[68800,68850],[68864,68903],[68912,68921],[68928,68965],[68969,68973],[68975,68997],[69248,69289],[69291,69292],[69296,69297],[69314,69319],[69370,69404],69415,[69424,69456],[69488,69509],[69552,69572],[69600,69622],[69632,69702],[69734,69749],[69759,69818],69826,[69840,69864],[69872,69881],[69888,69940],[69942,69951],[69956,69959],[69968,70003],70006,[70016,70084],[70089,70092],[70094,70106],70108,[70144,70161],[70163,70199],[70206,70209],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70378],[70384,70393],[70400,70403],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],[70459,70468],[70471,70472],[70475,70477],70480,70487,[70493,70499],[70502,70508],[70512,70516],[70528,70537],70539,70542,[70544,70581],[70583,70592],70594,70597,[70599,70602],[70604,70611],[70625,70626],[70656,70730],[70736,70745],[70750,70753],[70784,70853],70855,[70864,70873],[71040,71093],[71096,71104],[71128,71133],[71168,71232],71236,[71248,71257],[71296,71352],[71360,71369],[71376,71395],[71424,71450],[71453,71467],[71472,71481],[71488,71494],[71680,71738],[71840,71913],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],[71995,72003],[72016,72025],[72096,72103],[72106,72151],[72154,72161],[72163,72164],[72192,72254],72263,[72272,72345],72349,[72368,72440],[72544,72551],[72640,72672],[72688,72697],[72704,72712],[72714,72758],[72760,72768],[72784,72793],[72818,72847],[72850,72871],[72873,72886],[72960,72966],[72968,72969],[72971,73014],73018,[73020,73021],[73023,73031],[73040,73049],[73056,73061],[73063,73064],[73066,73102],[73104,73105],[73107,73112],[73120,73129],[73136,73179],[73184,73193],[73440,73462],[73472,73488],[73490,73530],[73534,73538],[73552,73562],73648,[73728,74649],[74752,74862],[74880,75075],[77712,77808],[77824,78895],[78912,78933],[78944,82938],[82944,83526],[90368,90425],[92160,92728],[92736,92766],[92768,92777],[92784,92862],[92864,92873],[92880,92909],[92912,92916],[92928,92982],[92992,92995],[93008,93017],[93027,93047],[93053,93071],[93504,93548],[93552,93561],[93760,93823],[93856,93880],[93883,93907],[93952,94026],[94031,94087],[94095,94111],[94176,94177],[94179,94180],[94192,94198],[94208,101589],[101631,101662],[101760,101874],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[113821,113822],[118e3,118009],[118528,118573],[118576,118598],[119141,119145],[119149,119154],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[120782,120831],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122624,122654],[122661,122666],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[122928,122989],123023,[123136,123180],[123184,123197],[123200,123209],123214,[123536,123566],[123584,123641],[124112,124153],[124368,124410],[124608,124638],[124640,124661],[124670,124671],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125136,125142],[125184,125259],[125264,125273],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[130032,130041],[131072,173791],[173824,178205],[178208,183981],[183984,191456],[191472,192093],[194560,195101],[196608,201546],[201552,210041],[917760,917999]],Db=[[65,90],[97,122],170,181,186,[192,214],[216,246],[248,705],[710,721],[736,740],748,750,[880,884],[886,887],[891,893],895,902,[904,906],908,[910,929],[931,1013],[1015,1153],[1162,1327],[1329,1366],1369,[1376,1416],[1488,1514],[1519,1522],[1568,1610],[1646,1647],[1649,1747],1749,[1765,1766],[1774,1775],[1786,1788],1791,1808,[1810,1839],[1869,1957],1969,[1994,2026],[2036,2037],2042,[2048,2069],2074,2084,2088,[2112,2136],[2144,2154],[2160,2183],[2185,2191],[2208,2249],[2308,2361],2365,2384,[2392,2401],[2417,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,2510,[2524,2525],[2527,2529],[2544,2545],2556,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],2654,[2674,2676],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],2749,2768,[2784,2785],2809,[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,[2908,2909],[2911,2913],2929,2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3024,[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3160,3162],[3164,3165],[3168,3169],3200,[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],3261,[3292,3294],[3296,3297],[3313,3314],[3332,3340],[3342,3344],[3346,3386],3389,3406,[3412,3414],[3423,3425],[3450,3455],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3585,3632],3634,[3648,3654],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3760],3762,3773,[3776,3780],3782,[3804,3807],3840,[3904,3911],[3913,3948],[3976,3980],[4096,4138],4159,[4176,4181],[4186,4189],4193,[4197,4198],[4206,4208],[4213,4225],4238,[4256,4293],4295,4301,[4304,4346],[4348,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4992,5007],[5024,5109],[5112,5117],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5870,5880],[5888,5905],[5919,5937],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],6103,6108,[6176,6264],[6272,6312],6314,[6320,6389],[6400,6430],[6480,6509],[6512,6516],[6528,6571],[6576,6601],[6656,6678],[6688,6740],6823,[6917,6963],[6981,6988],[7043,7072],[7086,7087],[7098,7141],[7168,7203],[7245,7247],[7258,7293],[7296,7306],[7312,7354],[7357,7359],[7401,7404],[7406,7411],[7413,7414],7418,[7424,7615],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8305,8319,[8336,8348],8450,8455,[8458,8467],8469,[8472,8477],8484,8486,8488,[8490,8505],[8508,8511],[8517,8521],8526,[8544,8584],[11264,11492],[11499,11502],[11506,11507],[11520,11557],11559,11565,[11568,11623],11631,[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[12293,12295],[12321,12329],[12337,12341],[12344,12348],[12353,12438],[12445,12447],[12449,12538],[12540,12543],[12549,12591],[12593,12686],[12704,12735],[12784,12799],[13312,19903],[19968,42124],[42192,42237],[42240,42508],[42512,42527],[42538,42539],[42560,42606],[42623,42653],[42656,42735],[42775,42783],[42786,42888],[42891,42972],[42993,43009],[43011,43013],[43015,43018],[43020,43042],[43072,43123],[43138,43187],[43250,43255],43259,[43261,43262],[43274,43301],[43312,43334],[43360,43388],[43396,43442],43471,[43488,43492],[43494,43503],[43514,43518],[43520,43560],[43584,43586],[43588,43595],[43616,43638],43642,[43646,43695],43697,[43701,43702],[43705,43709],43712,43714,[43739,43741],[43744,43754],[43762,43764],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43866],[43868,43881],[43888,44002],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],[64256,64262],[64275,64279],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64605],[64612,64829],[64848,64911],[64914,64967],[65008,65017],65137,65139,65143,65145,65147,65149,[65151,65276],[65313,65338],[65345,65370],[65382,65437],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65856,65908],[66176,66204],[66208,66256],[66304,66335],[66349,66378],[66384,66421],[66432,66461],[66464,66499],[66504,66511],[66513,66517],[66560,66717],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67008,67059],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67904,67929],[67968,68023],[68030,68031],68096,[68112,68115],[68117,68119],[68121,68149],[68192,68220],[68224,68252],[68288,68295],[68297,68324],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[68736,68786],[68800,68850],[68864,68899],[68938,68965],[68975,68997],[69248,69289],[69296,69297],[69314,69319],[69376,69404],69415,[69424,69445],[69488,69505],[69552,69572],[69600,69622],[69635,69687],[69745,69746],69749,[69763,69807],[69840,69864],[69891,69926],69956,69959,[69968,70002],70006,[70019,70066],[70081,70084],70106,70108,[70144,70161],[70163,70187],[70207,70208],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70366],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70480,[70493,70497],[70528,70537],70539,70542,[70544,70581],70583,70609,70611,[70656,70708],[70727,70730],[70751,70753],[70784,70831],[70852,70853],70855,[71040,71086],[71128,71131],[71168,71215],71236,[71296,71338],71352,[71424,71450],[71488,71494],[71680,71723],[71840,71903],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71983],71999,72001,[72096,72103],[72106,72144],72161,72163,72192,[72203,72242],72250,72272,[72284,72329],72349,[72368,72440],[72640,72672],[72704,72712],[72714,72750],72768,[72818,72847],[72960,72966],[72968,72969],[72971,73008],73030,[73056,73061],[73063,73064],[73066,73097],73112,[73136,73179],[73440,73458],73474,[73476,73488],[73490,73523],73648,[73728,74649],[74752,74862],[74880,75075],[77712,77808],[77824,78895],[78913,78918],[78944,82938],[82944,83526],[90368,90397],[92160,92728],[92736,92766],[92784,92862],[92880,92909],[92928,92975],[92992,92995],[93027,93047],[93053,93071],[93504,93548],[93760,93823],[93856,93880],[93883,93907],[93952,94026],94032,[94099,94111],[94176,94177],94179,[94194,94198],[94208,101589],[101631,101662],[101760,101874],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[122624,122654],[122661,122666],[122928,122989],[123136,123180],[123191,123197],123214,[123536,123565],[123584,123627],[124112,124139],[124368,124397],124400,[124608,124638],[124640,124642],[124644,124645],[124647,124653],[124656,124660],[124670,124671],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125184,125251],125259,[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[131072,173791],[173824,178205],[178208,183981],[183984,191456],[191472,192093],[194560,195101],[196608,201546],[201552,210041]],Ub=[1544,1547,1549,[1563,1610],[1645,1647],[1649,1749],[1765,1766],[1774,1775],[1786,1805],[1807,1808],[1810,1839],[1869,1957],1969,[2144,2154],[2160,2191],[2208,2249],[64336,64450],[64467,64829],[64848,64911],[64914,64967],[65008,65020],[65136,65140],[65142,65276],[68864,68899],[69314,69319],[69424,69445],[69457,69465],[126065,126132],[126209,126269],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651]],Bb=[[1536,1541],[1632,1641],[1643,1644],1757,[2192,2193],2274,[68912,68921],[68928,68937],[69216,69246]],Vb=[[0,8],[14,27],[127,132],[134,159],173,6158,[8203,8205],[8288,8292],[8298,8303],65279,[113824,113827],[119155,119162],917505,[917536,917631]],Fb=[44,[46,47],58,160,1548,8239,8260,65104,65106,65109,65292,[65294,65295],65306],jb=[[48,57],[178,179],185,[1776,1785],8304,[8308,8313],[8320,8329],[9352,9371],[65296,65305],[66273,66299],[118e3,118009],[120782,120831],[127232,127242],[130032,130041]],Hb=[43,45,[8314,8315],[8330,8331],8722,64297,[65122,65123],65291,65293],Wb=[[35,37],[162,165],[176,177],1423,[1545,1546],1642,[2546,2547],2555,2801,3065,3647,6107,[8240,8244],[8352,8385],8494,8723,[43064,43065],65119,[65129,65130],[65283,65285],[65504,65505],[65509,65510],[73693,73696],123647],zb=[8296],Xb=[[65,90],[97,122],170,181,186,[192,214],[216,246],[248,696],[699,705],[720,721],[736,740],750,[880,883],[886,887],[890,893],895,902,[904,906],908,[910,929],[931,1013],[1015,1154],[1162,1327],[1329,1366],[1369,1417],[2307,2361],2363,[2365,2368],[2377,2380],[2382,2384],[2392,2401],[2404,2432],[2434,2435],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],[2493,2496],[2503,2504],[2507,2508],2510,2519,[2524,2525],[2527,2529],[2534,2545],[2548,2554],[2556,2557],2563,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2622,2624],[2649,2652],2654,[2662,2671],[2674,2676],2678,2691,[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],[2749,2752],2761,[2763,2764],2768,[2784,2785],[2790,2800],2809,[2818,2819],[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],[2877,2878],2880,[2887,2888],[2891,2892],2903,[2908,2909],[2911,2913],[2918,2935],2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],[3006,3007],[3009,3010],[3014,3016],[3018,3020],3024,3031,[3046,3058],[3073,3075],[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3137,3140],[3160,3162],[3164,3165],[3168,3169],[3174,3183],3191,[3199,3200],[3202,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],[3261,3268],[3270,3272],[3274,3275],[3285,3286],[3292,3294],[3296,3297],[3302,3311],[3313,3315],[3330,3340],[3342,3344],[3346,3386],[3389,3392],[3398,3400],[3402,3404],[3406,3407],[3412,3425],[3430,3455],[3458,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3535,3537],[3544,3551],[3558,3567],[3570,3572],[3585,3632],[3634,3635],[3648,3654],[3663,3675],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3760],[3762,3763],3773,[3776,3780],3782,[3792,3801],[3804,3807],[3840,3863],[3866,3892],3894,3896,[3902,3911],[3913,3948],3967,3973,[3976,3980],[4030,4037],[4039,4044],[4046,4058],[4096,4140],4145,4152,[4155,4156],[4159,4183],[4186,4189],[4193,4208],[4213,4225],[4227,4228],[4231,4236],[4238,4252],[4254,4293],4295,4301,[4304,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4960,4988],[4992,5007],[5024,5109],[5112,5117],[5121,5759],[5761,5786],[5792,5880],[5888,5905],5909,[5919,5937],[5940,5942],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],6070,[6078,6085],[6087,6088],[6100,6106],6108,[6112,6121],[6160,6169],[6176,6264],[6272,6276],[6279,6312],6314,[6320,6389],[6400,6430],[6435,6438],[6441,6443],[6448,6449],[6451,6456],[6470,6509],[6512,6516],[6528,6571],[6576,6601],[6608,6618],[6656,6678],[6681,6682],[6686,6741],6743,6753,[6755,6756],[6765,6770],[6784,6793],[6800,6809],[6816,6829],[6916,6963],6965,6971,[6973,6977],[6979,6988],[6990,7018],[7028,7039],[7042,7073],[7078,7079],7082,[7086,7141],7143,[7146,7148],7150,[7154,7155],[7164,7211],[7220,7221],[7227,7241],[7245,7306],[7312,7354],[7357,7367],7379,7393,[7401,7404],[7406,7411],[7413,7415],7418,[7424,7615],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8206,8305,8319,[8336,8348],8450,8455,[8458,8467],8469,[8473,8477],8484,8486,8488,[8490,8493],[8495,8505],[8508,8511],[8517,8521],[8526,8527],[8544,8584],[9014,9082],9109,[9372,9449],9900,[10240,10495],[11264,11492],[11499,11502],[11506,11507],[11520,11557],11559,11565,[11568,11623],[11631,11632],[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[12293,12295],[12321,12329],[12334,12335],[12337,12341],[12344,12348],[12353,12438],[12445,12447],[12449,12538],[12540,12543],[12549,12591],[12593,12686],[12688,12735],[12784,12828],[12832,12879],[12896,12923],[12927,12976],[12992,13003],[13008,13174],[13179,13277],[13280,13310],[13312,19903],[19968,42124],[42192,42508],[42512,42539],[42560,42606],[42624,42653],[42656,42735],[42738,42743],[42786,42887],[42889,42972],[42993,43009],[43011,43013],[43015,43018],[43020,43044],43047,[43056,43063],[43072,43123],[43136,43203],[43214,43225],[43250,43262],[43264,43301],[43310,43334],[43346,43347],[43359,43388],[43395,43442],[43444,43445],[43450,43451],[43454,43469],[43471,43481],[43486,43492],[43494,43518],[43520,43560],[43567,43568],[43571,43572],[43584,43586],[43588,43595],43597,[43600,43609],[43612,43643],[43645,43695],43697,[43701,43702],[43705,43709],43712,43714,[43739,43755],[43758,43765],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43881],[43888,44004],[44006,44007],[44009,44012],[44016,44025],[44032,55203],[55216,55238],[55243,55291],[55296,64109],[64112,64217],[64256,64262],[64275,64279],[65313,65338],[65345,65370],[65382,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],65792,65794,[65799,65843],[65847,65855],[65933,65934],[66e3,66044],[66176,66204],[66208,66256],[66304,66339],[66349,66378],[66384,66421],[66432,66461],[66463,66499],[66504,66517],[66560,66717],[66720,66729],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66927,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67008,67059],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],69632,[69634,69687],[69703,69709],[69734,69743],[69745,69746],69749,[69762,69810],[69815,69816],[69819,69825],69837,[69840,69864],[69872,69881],[69891,69926],69932,[69942,69959],[69968,70002],[70004,70006],[70018,70069],[70079,70088],[70093,70094],[70096,70111],[70113,70132],[70144,70161],[70163,70190],[70194,70195],70197,[70200,70205],[70207,70208],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70313],[70320,70366],[70368,70370],[70384,70393],[70402,70403],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],[70461,70463],[70465,70468],[70471,70472],[70475,70477],70480,70487,[70493,70499],[70528,70537],70539,70542,[70544,70581],[70583,70586],70594,70597,[70599,70602],[70604,70605],70607,70609,[70611,70613],[70615,70616],[70656,70711],[70720,70721],70725,[70727,70747],70749,[70751,70753],[70784,70834],70841,[70843,70846],70849,[70852,70855],[70864,70873],[71040,71089],[71096,71099],71102,[71105,71131],[71168,71218],[71227,71228],71230,[71233,71236],[71248,71257],[71296,71338],71340,[71342,71343],71350,[71352,71353],[71360,71369],[71376,71395],[71424,71450],71454,[71456,71457],71462,[71472,71494],[71680,71726],71736,71739,[71840,71922],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],71997,[71999,72002],[72004,72006],[72016,72025],[72096,72103],[72106,72147],[72156,72159],[72161,72164],72192,[72199,72200],[72203,72242],[72249,72250],[72255,72262],72272,[72279,72280],[72284,72329],72343,[72346,72354],[72368,72440],[72448,72457],72545,72549,72551,[72640,72673],[72688,72697],[72704,72712],[72714,72751],[72766,72773],[72784,72812],[72816,72847],72873,72881,72884,[72960,72966],[72968,72969],[72971,73008],73030,[73040,73049],[73056,73061],[73063,73064],[73066,73102],[73107,73108],73110,73112,[73120,73129],[73136,73179],[73184,73193],[73440,73458],[73461,73464],[73474,73488],[73490,73525],[73534,73535],73537,[73539,73561],73648,[73664,73684],[73727,74649],[74752,74862],[74864,74868],[74880,75075],[77712,77810],[77824,78911],[78913,78918],[78944,82938],[82944,83526],[90368,90397],[90410,90412],[90416,90425],[92160,92728],[92736,92766],[92768,92777],[92782,92862],[92864,92873],[92880,92909],92917,[92928,92975],[92983,92997],[93008,93017],[93019,93025],[93027,93047],[93053,93071],[93504,93561],[93760,93850],[93856,93880],[93883,93907],[93952,94026],[94032,94087],[94099,94111],[94176,94177],94179,[94192,94198],[94208,101589],[101631,101662],[101760,101874],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],113820,113823,[117974,117999],[118608,118723],[118784,119029],[119040,119078],[119081,119142],[119146,119154],[119171,119172],[119180,119209],[119214,119272],[119488,119507],[119520,119539],[119648,119672],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[120832,121343],[121399,121402],[121453,121460],[121462,121475],[121477,121483],[122624,122654],[122661,122666],[122928,122989],[123136,123180],[123191,123197],[123200,123209],[123214,123215],[123536,123565],[123584,123627],[123632,123641],[124112,124139],[124144,124153],[124368,124397],[124400,124410],124415,[124608,124638],[124640,124642],[124644,124645],[124647,124653],[124656,124660],[124670,124671],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[127248,127278],[127280,127337],[127344,127404],[127462,127490],[127504,127547],[127552,127560],[127568,127569],[131072,173791],[173824,178205],[178208,183981],[183984,191456],[191472,192093],[194560,195101],[196608,201546],[201552,210041],[983040,1048573],[1048576,1114109]],qb=[8234],Gb=[8294],Yb=[8237],Qb=[[768,879],[1155,1161],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],2045,[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2199,2207],[2250,2273],[2275,2306],2362,2364,[2369,2376],2381,[2385,2391],[2402,2403],2433,2492,[2497,2500],2509,[2530,2531],2558,[2561,2562],2620,[2625,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2690],2748,[2753,2757],[2759,2760],2765,[2786,2787],[2810,2815],2817,2876,2879,[2881,2884],2893,[2901,2902],[2914,2915],2946,3008,3021,3072,3076,3132,[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3170,3171],3201,3260,[3276,3277],[3298,3299],[3328,3329],[3387,3388],[3393,3396],3405,[3426,3427],3457,3530,[3538,3540],3542,3633,[3636,3642],[3655,3662],3761,[3764,3772],[3784,3790],[3864,3865],3893,3895,3897,[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4141,4144],[4146,4151],[4153,4154],[4157,4158],[4184,4185],[4190,4192],[4209,4212],4226,[4229,4230],4237,4253,[4957,4959],[5906,5908],[5938,5939],[5970,5971],[6002,6003],[6068,6069],[6071,6077],6086,[6089,6099],6109,[6155,6157],6159,[6277,6278],6313,[6432,6434],[6439,6440],6450,[6457,6459],[6679,6680],6683,6742,[6744,6750],6752,6754,[6757,6764],[6771,6780],6783,[6832,6877],[6880,6891],[6912,6915],6964,[6966,6970],6972,6978,[7019,7027],[7040,7041],[7074,7077],[7080,7081],[7083,7085],7142,[7144,7145],7149,[7151,7153],[7212,7219],[7222,7223],[7376,7378],[7380,7392],[7394,7400],7405,7412,[7416,7417],[7616,7679],[8400,8432],[11503,11505],11647,[11744,11775],[12330,12333],[12441,12442],[42607,42610],[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43045,43046],43052,[43204,43205],[43232,43249],43263,[43302,43309],[43335,43345],[43392,43394],43443,[43446,43449],[43452,43453],43493,[43561,43566],[43569,43570],[43573,43574],43587,43596,43644,43696,[43698,43700],[43703,43704],[43710,43711],43713,[43756,43757],43766,44005,44008,44013,64286,[65024,65039],[65056,65071],66045,66272,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],[68900,68903],[68969,68973],[69291,69292],[69370,69375],[69446,69456],[69506,69509],69633,[69688,69702],69744,[69747,69748],[69759,69761],[69811,69814],[69817,69818],69826,[69888,69890],[69927,69931],[69933,69940],70003,[70016,70017],[70070,70078],[70089,70092],70095,[70191,70193],70196,[70198,70199],70206,70209,70367,[70371,70378],[70400,70401],[70459,70460],70464,[70502,70508],[70512,70516],[70587,70592],70606,70608,70610,[70625,70626],[70712,70719],[70722,70724],70726,70750,[70835,70840],70842,[70847,70848],[70850,70851],[71090,71093],[71100,71101],[71103,71104],[71132,71133],[71219,71226],71229,[71231,71232],71339,71341,[71344,71349],71351,71453,71455,[71458,71461],[71463,71467],[71727,71735],[71737,71738],[71995,71996],71998,72003,[72148,72151],[72154,72155],72160,[72193,72198],[72201,72202],[72243,72248],[72251,72254],72263,[72273,72278],[72281,72283],[72330,72342],[72344,72345],72544,[72546,72548],72550,[72752,72758],[72760,72765],[72850,72871],[72874,72880],[72882,72883],[72885,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[73104,73105],73109,73111,[73459,73460],[73472,73473],[73526,73530],73536,73538,73562,78912,[78919,78933],[90398,90409],[90413,90415],[92912,92916],[92976,92982],94031,[94095,94098],94180,[113821,113822],[118528,118573],[118576,118598],[119143,119145],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],123023,[123184,123190],123566,[123628,123631],[124140,124143],[124398,124399],124643,124646,[124654,124655],124661,[125136,125142],[125252,125258],[917760,917999]],Zb=[[33,34],[38,42],[59,64],[91,96],[123,126],161,[166,169],[171,172],[174,175],180,[182,184],[187,191],215,247,[697,698],[706,719],[722,735],[741,749],[751,767],[884,885],894,[900,901],903,1014,1418,[1421,1422],[1542,1543],[1550,1551],1758,1769,[2038,2041],[3059,3064],3066,[3192,3198],[3898,3901],[5008,5017],5120,[5787,5788],[6128,6137],[6144,6154],6464,[6468,6469],[6622,6655],8125,[8127,8129],[8141,8143],[8157,8159],[8173,8175],[8189,8190],[8208,8231],[8245,8259],[8261,8286],[8316,8318],[8332,8334],[8448,8449],[8451,8454],[8456,8457],8468,[8470,8472],[8478,8483],8485,8487,8489,[8506,8507],[8512,8516],[8522,8525],[8528,8543],[8585,8587],[8592,8721],[8724,9013],[9083,9108],[9110,9257],[9280,9290],[9312,9351],[9450,9899],[9901,10239],[10496,11123],[11126,11263],[11493,11498],[11513,11519],[11776,11869],[11904,11929],[11931,12019],[12032,12245],[12272,12287],[12289,12292],[12296,12320],12336,[12342,12343],[12349,12351],[12443,12444],12448,12539,[12736,12773],12783,[12829,12830],[12880,12895],[12924,12926],[12977,12991],[13004,13007],[13175,13178],[13278,13279],13311,[19904,19967],[42128,42182],[42509,42511],42611,[42622,42623],[42752,42785],42888,[43048,43051],[43124,43127],[43882,43883],[64451,64466],[64830,64847],[64912,64913],[64968,64975],[65021,65023],[65040,65049],[65072,65103],65105,65108,[65110,65118],[65120,65121],[65124,65126],65128,65131,[65281,65282],[65286,65290],[65307,65312],[65339,65344],[65371,65381],[65506,65508],[65512,65518],[65529,65533],65793,[65856,65932],[65936,65948],65952,67871,[68409,68415],68974,[69328,69336],[69714,69733],[71264,71276],[73685,73692],[73697,73713],94178,[117760,117973],[118010,118012],[118016,118451],[118458,118480],[118496,118512],[119273,119274],[119296,119361],119365,[119552,119638],120513,120539,120571,120597,120629,120655,120687,120713,120745,120771,[126704,126705],[126976,127019],[127024,127123],[127136,127150],[127153,127167],[127169,127183],[127185,127221],[127243,127247],127279,[127338,127343],127405,[127584,127589],[127744,128728],[128732,128748],[128752,128764],[128768,128985],[128992,129003],129008,[129024,129035],[129040,129095],[129104,129113],[129120,129159],[129168,129197],[129200,129211],[129216,129217],[129232,129240],[129280,129623],[129632,129645],[129648,129660],[129664,129674],[129678,129734],129736,[129741,129756],[129759,129770],[129775,129784],[129792,129938],[129940,130031],130042],Kb=[10,13,[28,30],133,8233],$b=[8236],Jb=[8297],eC=[1470,1472,1475,1478,[1488,1514],[1519,1524],[1984,2026],[2036,2037],2042,[2046,2069],2074,2084,2088,[2096,2110],[2112,2136],2142,8207,64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67671,67742],[67751,67759],[67808,67826],[67828,67829],[67835,67867],[67872,67897],[67903,67929],[67968,68023],[68028,68047],[68050,68096],[68112,68115],[68117,68119],[68121,68149],[68160,68168],[68176,68184],[68192,68255],[68288,68324],[68331,68342],[68352,68405],[68416,68437],[68440,68466],[68472,68497],[68505,68508],[68521,68527],[68608,68680],[68736,68786],[68800,68850],[68858,68863],[68938,68965],[68975,68997],[69006,69007],[69248,69289],69293,[69296,69297],[69376,69415],[69488,69505],[69510,69513],[69552,69579],[69600,69622],[124928,125124],[125127,125135],[125184,125251],125259,[125264,125273],[125278,125279]],tC=[8235],rC=[8295],nC=[8238],iC=[9,11,31],aC=[12,32,5760,[8192,8202],8232,8287,12288],oC=[[125184,125259],[125264,125273],[125278,125279]],sC=[[71424,71450],[71453,71467],[71472,71494]],lC=[[82944,83526]],uC=[[1536,1540],[1542,1547],[1549,1562],[1564,1566],[1568,1599],[1601,1610],[1622,1647],[1649,1756],[1758,1791],[1872,1919],[2160,2193],[2199,2273],[2275,2303],[64336,64829],[64832,64975],[65008,65023],[65136,65140],[65142,65276],[69216,69246],[69314,69319],[69328,69336],[69370,69375],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[126704,126705]],cC=[[1329,1366],[1369,1418],[1421,1423],[64275,64279]],dC=[[68352,68405],[68409,68415]],hC=[[6912,6988],[6990,7039]],mC=[[42656,42743],[92160,92728]],fC=[[92880,92909],[92912,92917]],gC=[[7104,7155],[7164,7167]],pC=[[2432,2435],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],[2492,2500],[2503,2504],[2507,2510],2519,[2524,2525],[2527,2531],[2534,2558]],vC=[[93856,93880],[93883,93907]],bC=[[72704,72712],[72714,72758],[72760,72773],[72784,72812]],CC=[[746,747],[12549,12591],[12704,12735]],yC=[[69632,69709],[69714,69749],69759],_C=[[10240,10495]],wC=[[6656,6683],[6686,6687]],EC=[[5952,5971]],SC=[[5120,5759],[6320,6389],[72368,72383]],AC=[[66208,66256]],IC=[[66864,66915],66927],RC=[[69888,69940],[69942,69959]],xC=[[43520,43574],[43584,43597],[43600,43609],[43612,43615]],TC=[[5024,5109],[5112,5117],[43888,43967]],NC=[[69552,69579]],MC=[[0,64],[91,96],[123,169],[171,185],[187,191],215,247,[697,735],[741,745],[748,767],884,894,901,903,1541,1548,1563,1567,1600,1757,2274,[2404,2405],3647,[4053,4056],4347,[5867,5869],[5941,5942],[6146,6147],6149,7379,7393,[7401,7404],[7406,7411],[7413,7415],7418,[8192,8203],[8206,8292],[8294,8304],[8308,8318],[8320,8334],[8352,8385],[8448,8485],[8487,8489],[8492,8497],[8499,8525],[8527,8543],[8585,8587],[8592,9257],[9280,9290],[9312,10239],[10496,11123],[11126,11263],[11776,11869],[12272,12292],12294,[12296,12320],[12336,12343],[12348,12351],[12443,12444],12448,[12539,12540],[12688,12703],[12736,12773],12783,[12832,12895],[12927,13007],13055,[13144,13311],[19904,19967],[42752,42785],[42888,42890],[43056,43065],43310,43471,43867,[43882,43883],[64830,64831],[65040,65049],[65072,65106],[65108,65126],[65128,65131],65279,[65281,65312],[65339,65344],[65371,65381],65392,[65438,65439],[65504,65510],[65512,65518],[65529,65533],[65792,65794],[65799,65843],[65847,65855],[65936,65948],[66e3,66044],[66273,66299],[113824,113827],[117760,118012],[118016,118451],[118458,118480],[118496,118512],[118608,118723],[118784,119029],[119040,119078],[119081,119142],[119146,119162],[119171,119172],[119180,119209],[119214,119274],[119488,119507],[119520,119539],[119552,119638],[119648,119672],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120779],[120782,120831],[126065,126132],[126209,126269],[126976,127019],[127024,127123],[127136,127150],[127153,127167],[127169,127183],[127185,127221],[127232,127405],[127462,127487],[127489,127490],[127504,127547],[127552,127560],[127568,127569],[127584,127589],[127744,128728],[128732,128748],[128752,128764],[128768,128985],[128992,129003],129008,[129024,129035],[129040,129095],[129104,129113],[129120,129159],[129168,129197],[129200,129211],[129216,129217],[129232,129240],[129280,129623],[129632,129645],[129648,129660],[129664,129674],[129678,129734],129736,[129741,129756],[129759,129770],[129775,129784],[129792,129938],[129940,130042],917505,[917536,917631]],OC=[[994,1007],[11392,11507],[11513,11519]],LC=[[73728,74649],[74752,74862],[74864,74868],[74880,75075]],kC=[[67584,67589],67592,[67594,67637],[67639,67640],67644,67647],PC=[[77712,77810]],DC=[[1024,1156],[1159,1327],[7296,7306],7467,7544,[11744,11775],[42560,42655],[65070,65071],[122928,122989],123023],UC=[[66560,66639]],BC=[[2304,2384],[2389,2403],[2406,2431],[43232,43263],[72448,72457]],VC=[[71936,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],[71995,72006],[72016,72025]],FC=[[71680,71739]],jC=[[113664,113770],[113776,113788],[113792,113800],[113808,113817],[113820,113823]],HC=[[77824,78933],[78944,82938]],WC=[[66816,66855]],zC=[[69600,69622]],XC=[[4608,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4957,4988],[4992,5017],[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[124896,124902],[124904,124907],[124909,124910],[124912,124926]],qC=[[68928,68965],[68969,68997],[69006,69007]],GC=[[4256,4293],4295,4301,[4304,4346],[4348,4351],[7312,7354],[7357,7359],[11520,11557],11559,11565],YC=[[11264,11359],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922]],QC=[[66352,66378]],ZC=[[70400,70403],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],[70460,70468],[70471,70472],[70475,70477],70480,70487,[70493,70499],[70502,70508],[70512,70516]],KC=[[880,883],[885,887],[890,893],895,900,902,[904,906],908,[910,929],[931,993],[1008,1023],[7462,7466],[7517,7521],[7526,7530],7615,[7936,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8132],[8134,8147],[8150,8155],[8157,8175],[8178,8180],[8182,8190],8486,43877,[65856,65934],65952,[119296,119365]],$C=[[2689,2691],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],[2748,2757],[2759,2761],[2763,2765],2768,[2784,2787],[2790,2801],[2809,2815]],JC=[[73056,73061],[73063,73064],[73066,73102],[73104,73105],[73107,73112],[73120,73129]],ey=[[2561,2563],[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],2620,[2622,2626],[2631,2632],[2635,2637],2641,[2649,2652],2654,[2662,2678]],ty=[[90368,90425]],ry=[[11904,11929],[11931,12019],[12032,12245],12293,12295,[12321,12329],[12344,12347],[13312,19903],[19968,40959],[63744,64109],[64112,64217],[94178,94179],[94192,94198],[131072,173791],[173824,178205],[178208,183981],[183984,191456],[191472,192093],[194560,195101],[196608,201546],[201552,210041]],ny=[[4352,4607],[12334,12335],[12593,12686],[12800,12830],[12896,12926],[43360,43388],[44032,55203],[55216,55238],[55243,55291],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500]],iy=[[68864,68903],[68912,68921]],ay=[[5920,5940]],oy=[[67808,67826],[67828,67829],[67835,67839]],sy=[[1425,1479],[1488,1514],[1519,1524],[64285,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335]],ly=[[12353,12438],[12445,12447],[110593,110879],110898,[110928,110930],127488],uy=[[67648,67669],[67671,67679]],cy=[[768,879],[1157,1158],[1611,1621],1648,[2385,2388],[6832,6877],[6880,6891],[7376,7378],[7380,7392],[7394,7400],7405,7412,[7416,7417],[7616,7679],[8204,8205],[8400,8432],[12330,12333],[12441,12442],[65024,65039],[65056,65069],66045,66272,70459,[118528,118573],[118576,118598],[119143,119145],[119163,119170],[119173,119179],[119210,119213],[917760,917999]],dy=[[68448,68466],[68472,68479]],hy=[[68416,68437],[68440,68447]],my=[[43392,43469],[43472,43481],[43486,43487]],fy=[[69760,69826],69837],gy=[[3200,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],[3260,3268],[3270,3272],[3274,3277],[3285,3286],[3292,3294],[3296,3299],[3302,3311],[3313,3315]],py=[[12449,12538],[12541,12543],[12784,12799],[13008,13054],[13056,13143],[65382,65391],[65393,65437],[110576,110579],[110581,110587],[110589,110590],110592,[110880,110882],110933,[110948,110951]],vy=[[73472,73488],[73490,73530],[73534,73562]],by=[[43264,43309],43311],Cy=[[68096,68099],[68101,68102],[68108,68115],[68117,68119],[68121,68149],[68152,68154],[68159,68168],[68176,68184]],yy=[94180,[101120,101589],101631],_y=[[6016,6109],[6112,6121],[6128,6137],[6624,6655]],wy=[[70144,70161],[70163,70209]],Ey=[[70320,70378],[70384,70393]],Sy=[[93504,93561]],Ay=[[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3773],[3776,3780],3782,[3784,3790],[3792,3801],[3804,3807]],Iy=[[65,90],[97,122],170,186,[192,214],[216,246],[248,696],[736,740],[7424,7461],[7468,7516],[7522,7525],[7531,7543],[7545,7614],[7680,7935],8305,8319,[8336,8348],[8490,8491],8498,8526,[8544,8584],[11360,11391],[42786,42887],[42891,42972],[42993,43007],[43824,43866],[43868,43876],[43878,43881],[64256,64262],[65313,65338],[65345,65370],[67456,67461],[67463,67504],[67506,67514],[122624,122654],[122661,122666]],Ry=[[7168,7223],[7227,7241],[7245,7247]],xy=[[6400,6430],[6432,6443],[6448,6459],6464,[6468,6479]],Ty=[[67072,67382],[67392,67413],[67424,67431]],Ny=[[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786]],My=[[42192,42239],73648],Oy=[[66176,66204]],Ly=[[67872,67897],67903],ky=[[69968,70006]],Py=[[73440,73464]],Dy=[[3328,3340],[3342,3344],[3346,3396],[3398,3400],[3402,3407],[3412,3427],[3430,3455]],Uy=[[2112,2139],2142],By=[[68288,68326],[68331,68342]],Vy=[[72816,72847],[72850,72871],[72873,72886]],Fy=[[72960,72966],[72968,72969],[72971,73014],73018,[73020,73021],[73023,73031],[73040,73049]],jy=[[93760,93850]],Hy=[[43744,43766],[43968,44013],[44016,44025]],Wy=[[124928,125124],[125127,125142]],zy=[[68e3,68023],[68028,68047],[68050,68095]],Xy=[[67968,67999]],qy=[[93952,94026],[94031,94087],[94095,94111]],Gy=[[71168,71236],[71248,71257]],Yy=[[6144,6145],6148,[6150,6169],[6176,6264],[6272,6314],[71264,71276]],Qy=[[92736,92766],[92768,92777],[92782,92783]],Zy=[[70272,70278],70280,[70282,70285],[70287,70301],[70303,70313]],Ky=[[4096,4255],[43488,43518],[43616,43647],[71376,71395]],$y=[[67712,67742],[67751,67759]],Jy=[[124112,124153]],e_=[[72096,72103],[72106,72151],[72154,72164]],t_=[[6528,6571],[6576,6601],[6608,6618],[6622,6623]],r_=[[70656,70747],[70749,70753]],n_=[[1984,2042],[2045,2047]],i_=[94177,[110960,111355]],a_=[[123136,123180],[123184,123197],[123200,123209],[123214,123215]],o_=[[5760,5788]],s_=[[7248,7295]],l_=[[124368,124410],124415],u_=[[68736,68786],[68800,68850],[68858,68863]],c_=[[66304,66339],[66349,66351]],d_=[[68224,68255]],h_=[[66384,66426]],m_=[[66464,66499],[66504,66517]],f_=[[69376,69415]],g_=[[68192,68223]],p_=[[68608,68680]],v_=[[69488,69513]],b_=[[2817,2819],[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],[2876,2884],[2887,2888],[2891,2893],[2901,2903],[2908,2909],[2911,2915],[2918,2935]],C_=[[66736,66771],[66776,66811]],y_=[[66688,66717],[66720,66729]],__=[[92928,92997],[93008,93017],[93019,93025],[93027,93047],[93053,93071]],w_=[[67680,67711]],E_=[[72384,72440]],S_=[[43072,43127]],A_=[[67840,67867],67871],I_=[[68480,68497],[68505,68508],[68521,68527]],R_=[[43312,43347],43359],x_=[[5792,5866],[5870,5880]],T_=[[2048,2093],[2096,2110]],N_=[[43136,43205],[43214,43225]],M_=[[70016,70111],[72544,72551]],O_=[[66640,66687]],L_=[[71040,71093],[71096,71133]],k_=[[67904,67929]],P_=[[120832,121483],[121499,121503],[121505,121519]],D_=[[3457,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],3530,[3535,3540],3542,[3544,3551],[3558,3567],[3570,3572],[70113,70132]],U_=[[69424,69465]],B_=[[69840,69864],[69872,69881]],V_=[[72272,72354]],F_=[[7040,7103],[7360,7367]],j_=[[72640,72673],[72688,72697]],H_=[[43008,43052]],W_=[[1792,1805],[1807,1866],[1869,1871],[2144,2154]],z_=[[5888,5909],5919],X_=[[5984,5996],[5998,6e3],[6002,6003]],q_=[[6480,6509],[6512,6516]],G_=[[6688,6750],[6752,6780],[6783,6793],[6800,6809],[6816,6829]],Y_=[[43648,43714],[43739,43743]],Q_=[[124608,124638],[124640,124661],[124670,124671]],Z_=[[71296,71353],[71360,71369]],K_=[[2946,2947],[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],[3006,3010],[3014,3016],[3018,3021],3024,3031,[3046,3066],[73664,73713],73727],$_=[[92784,92862],[92864,92873]],J_=[94176,[94208,101119],[101632,101662],[101760,101874]],ew=[[3072,3084],[3086,3088],[3090,3112],[3114,3129],[3132,3140],[3142,3144],[3146,3149],[3157,3158],[3160,3162],[3164,3165],[3168,3171],[3174,3183],[3191,3199]],tw=[[1920,1969]],rw=[[3585,3642],[3648,3675]],nw=[[3840,3911],[3913,3948],[3953,3991],[3993,4028],[4030,4044],[4046,4052],[4057,4058]],iw=[[11568,11623],[11631,11632],11647],aw=[[70784,70855],[70864,70873]],ow=[[67008,67059]],sw=[[73136,73179],[73184,73193]],lw=[[123536,123566]],uw=[[70528,70537],70539,70542,[70544,70581],[70583,70592],70594,70597,[70599,70602],[70604,70613],[70615,70616],[70625,70626]],cw=[[66432,66461],66463],dw=[[42240,42539]],hw=[[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004]],mw=[[123584,123641],123647],fw=[[71840,71922],71935],gw=[[69248,69289],[69291,69293],[69296,69297]],pw=[[40960,42124],[42128,42182]],vw=[[72192,72263]],bw=[1567,1600,8271,11841,[125184,125259],[125264,125273],[125278,125279]],Cw=[[71424,71450],[71453,71467],[71472,71494]],yw=[[82944,83526]],_w=[[1536,1540],[1542,1756],[1758,1791],[1872,1919],[2160,2193],[2199,2273],[2275,2303],8271,11841,[64336,64975],[65008,65023],[65136,65140],[65142,65276],[66272,66299],[69216,69246],[69314,69319],[69328,69336],[69370,69375],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[126704,126705]],ww=[776,[1329,1366],[1369,1418],[1421,1423],[64275,64279]],Ew=[183,[11824,11825],[68352,68405],[68409,68415]],Sw=[[6912,6988],[6990,7039]],Aw=[[42656,42743],[92160,92728]],Iw=[[92880,92909],[92912,92917]],Rw=[[7104,7155],[7164,7167]],xw=[700,[2385,2386],[2404,2405],[2432,2435],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],[2492,2500],[2503,2504],[2507,2510],2519,[2524,2525],[2527,2531],[2534,2558],7376,7378,[7381,7382],7384,7393,7402,7405,7410,[7413,7415],43249],Tw=[[93856,93880],[93883,93907]],Nw=[[72704,72712],[72714,72758],[72760,72773],[72784,72812]],Mw=[711,[713,715],729,[746,747],[12289,12291],[12296,12305],[12307,12319],[12330,12333],12336,12343,12539,[12549,12591],[12704,12735],[65093,65094],[65377,65381]],Ow=[[69632,69709],[69714,69749],69759],Lw=[[10240,10495]],kw=[[6656,6683],[6686,6687],43471],Pw=[[5941,5942],[5952,5971]],Dw=[[5120,5759],[6320,6389],[72368,72383]],Uw=[183,8282,8285,11825,[66208,66256]],Bw=[772,817,862,[66864,66915],66927],Vw=[[2534,2543],[4160,4169],[69888,69940],[69942,69959]],Fw=[[43520,43574],[43584,43597],[43600,43609],[43612,43615]],jw=[[768,770],772,[779,780],[803,804],[816,817],[5024,5109],[5112,5117],[43888,43967]],Hw=[[69552,69579]],Ww=[[0,64],[91,96],[123,169],[171,182],[184,185],[187,191],215,247,[697,699],[701,710],712,716,[718,726],728,[730,735],[741,745],[748,767],894,901,903,1541,1757,2274,3647,[4053,4056],[8192,8203],[8206,8238],[8240,8270],[8272,8281],[8283,8284],[8286,8292],[8294,8304],[8308,8318],[8320,8334],[8352,8385],[8448,8485],[8487,8489],[8492,8497],[8499,8525],[8527,8543],[8585,8587],[8592,9257],[9280,9290],[9312,10239],[10496,11123],[11126,11263],[11776,11798],[11800,11823],[11826,11835],[11837,11840],11842,[11844,11869],12288,12292,12306,12320,12342,[12872,12895],12927,[12977,12991],[13004,13007],[13169,13178],[13184,13279],13311,[19904,19967],[42760,42785],[42888,42890],43867,[43882,43883],[65040,65049],[65072,65092],[65095,65106],[65108,65126],[65128,65131],65279,[65281,65312],[65339,65344],[65371,65376],[65504,65510],[65512,65518],[65529,65533],[65936,65948],[66e3,66044],[117760,118012],[118016,118451],[118458,118480],[118496,118512],[118608,118723],[118784,119029],[119040,119078],[119081,119142],[119146,119162],[119171,119172],[119180,119209],[119214,119274],[119488,119507],[119520,119539],[119552,119638],[119666,119672],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120779],[120782,120831],[126065,126132],[126209,126269],[126976,127019],[127024,127123],[127136,127150],[127153,127167],[127169,127183],[127185,127221],[127232,127405],[127462,127487],[127489,127490],[127504,127547],[127552,127560],[127584,127589],[127744,128728],[128732,128748],[128752,128764],[128768,128985],[128992,129003],129008,[129024,129035],[129040,129095],[129104,129113],[129120,129159],[129168,129197],[129200,129211],[129216,129217],[129232,129240],[129280,129623],[129632,129645],[129648,129660],[129664,129674],[129678,129734],129736,[129741,129756],[129759,129770],[129775,129784],[129792,129938],[129940,130042],917505,[917536,917631]],zw=[183,768,[772,773],775,[884,885],[994,1007],[11392,11507],[11513,11519],11799,[66272,66299]],Xw=[[73728,74649],[74752,74862],[74864,74868],[74880,75075]],qw=[[65792,65794],[65799,65843],[65847,65855],[67584,67589],67592,[67594,67637],[67639,67640],67644,67647],Gw=[[65792,65793],[77712,77810]],Yw=[700,[768,770],772,774,776,779,785,[1024,1327],[7296,7306],7467,7544,7672,[11744,11775],11843,[42560,42655],[65070,65071],[122928,122989],123023],Qw=[[66560,66639]],Zw=[700,[2304,2386],[2389,2431],[7376,7414],[7416,7417],8432,[43056,43065],[43232,43263],[72448,72457]],Kw=[[71936,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],[71995,72006],[72016,72025]],$w=[[2404,2415],[43056,43065],[71680,71739]],Jw=[183,[775,776],778,[803,804],11836,[113664,113770],[113776,113788],[113792,113800],[113808,113817],[113820,113827]],eE=[[77824,78933],[78944,82938]],tE=[183,773,[66816,66855]],rE=[[69600,69622]],nE=[782,[4608,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4957,4988],[4992,5017],[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[124896,124902],[124904,124907],[124909,124910],[124912,124926]],iE=[1548,1563,1567,[68928,68965],[68969,68997],[69006,69007]],aE=[183,1417,[4256,4293],4295,4301,[4304,4351],[7312,7354],[7357,7359],8282,[11520,11557],11559,11565,11825],oE=[183,771,773,1156,1159,1417,4347,8282,[11264,11359],11843,42607,[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922]],sE=[183,[772,773],776,817,[66352,66378]],lE=[[2385,2386],[2404,2405],[3046,3059],7376,[7378,7379],[7410,7412],[7416,7417],8432,[70400,70403],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],[70459,70468],[70471,70472],[70475,70477],70480,70487,[70493,70499],[70502,70508],[70512,70516],[73680,73681],73683],uE=[183,[768,769],772,774,776,787,834,837,[880,887],[890,893],895,900,902,[904,906],908,[910,929],[931,993],[1008,1023],[7462,7466],[7517,7521],[7526,7530],[7615,7617],[7936,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8132],[8134,8147],[8150,8155],[8157,8175],[8178,8180],[8182,8190],8285,8486,43877,[65856,65934],65952,[119296,119365]],cE=[[2385,2386],[2404,2405],[2689,2691],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],[2748,2757],[2759,2761],[2763,2765],2768,[2784,2787],[2790,2801],[2809,2815],[43056,43065]],dE=[183,[2404,2405],[73056,73061],[73063,73064],[73066,73102],[73104,73105],[73107,73112],[73120,73129]],hE=[[2385,2386],[2404,2405],[2561,2563],[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],2620,[2622,2626],[2631,2632],[2635,2637],2641,[2649,2652],2654,[2662,2678],[43056,43065]],mE=[2405,[90368,90425]],fE=[183,[11904,11929],[11931,12019],[12032,12245],[12272,12287],[12289,12291],[12293,12305],[12307,12319],[12321,12333],12336,[12343,12351],12539,[12688,12703],[12736,12773],12783,[12832,12871],[12928,12976],[12992,13003],13055,[13144,13168],[13179,13183],[13280,13310],[13312,19903],[19968,40959],[42752,42759],[63744,64109],[64112,64217],[65093,65094],[65377,65381],[94178,94179],[94192,94198],[119648,119665],[127568,127569],[131072,173791],[173824,178205],[178208,183981],[183984,191456],[191472,192093],[194560,195101],[196608,201546],[201552,210041]],gE=[[4352,4607],[12289,12291],[12296,12305],[12307,12319],[12334,12336],12343,12539,[12593,12686],[12800,12830],[12896,12926],[43360,43388],[44032,55203],[55216,55238],[55243,55291],[65093,65094],[65377,65381],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500]],pE=[1548,1563,1567,1600,1748,[68864,68903],[68912,68921]],vE=[[5920,5942]],bE=[[67808,67826],[67828,67829],[67835,67839]],CE=[[775,776],[1425,1479],[1488,1514],[1519,1524],[64285,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335]],yE=[[12289,12291],[12296,12305],[12307,12319],[12336,12341],12343,[12348,12349],[12353,12438],[12441,12448],[12539,12540],[65093,65094],[65377,65381],65392,[65438,65439],[110593,110879],110898,[110928,110930],127488],_E=[[67648,67669],[67671,67679]],wE=[783,786,[788,802],[806,812],815,[818,833],[835,836],[838,855],[857,861],[863,866],[2387,2388],[6832,6877],[6880,6891],[7618,7671],7673,[7675,7679],[8204,8205],[8400,8431],[65024,65039],[65056,65069],66045,[118528,118573],[118576,118598],[119143,119145],[119163,119170],[119173,119179],[119210,119213],[917760,917999]],EE=[[68448,68466],[68472,68479]],SE=[[68416,68437],[68440,68447]],AE=[[43392,43469],[43471,43481],[43486,43487]],IE=[[2406,2415],11825,[43056,43065],[69760,69826],69837],RE=[[2385,2386],[2404,2405],[3200,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],[3260,3268],[3270,3272],[3274,3277],[3285,3286],[3292,3294],[3296,3299],[3302,3311],[3313,3315],7376,[7378,7379],7386,7410,7412,[43056,43061]],xE=[773,803,[12289,12291],[12296,12305],[12307,12319],[12336,12341],12343,[12348,12349],[12441,12444],[12448,12543],[12784,12799],[13008,13054],[13056,13143],[65093,65094],[65377,65439],[110576,110579],[110581,110587],[110589,110590],110592,[110880,110882],110933,[110948,110951]],TE=[[73472,73488],[73490,73530],[73534,73562]],NE=[[43264,43311]],ME=[[68096,68099],[68101,68102],[68108,68115],[68117,68119],[68121,68149],[68152,68154],[68159,68168],[68176,68184]],OE=[94180,[101120,101589],101631],LE=[[6016,6109],[6112,6121],[6128,6137],[6624,6655]],kE=[[2790,2799],[43056,43065],[70144,70161],[70163,70209]],PE=[[2404,2405],[43056,43065],[70320,70378],[70384,70393]],DE=[[93504,93561]],UE=[[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3773],[3776,3780],3782,[3784,3790],[3792,3801],[3804,3807]],BE=[[65,90],[97,122],170,183,186,[192,214],[216,246],[248,696],700,711,[713,715],717,727,729,[736,740],[768,782],[784,785],787,[803,805],[813,814],[816,817],856,862,[867,879],[1157,1158],[2385,2386],4347,[7424,7461],[7468,7516],[7522,7525],[7531,7543],[7545,7614],7672,[7680,7935],8239,8305,8319,[8336,8348],8432,[8490,8491],8498,8526,[8544,8584],[11360,11391],11799,[42752,42759],[42786,42887],[42891,42972],[42993,43007],43310,[43824,43866],[43868,43876],[43878,43881],[64256,64262],[65313,65338],[65345,65370],[67456,67461],[67463,67504],[67506,67514],[122624,122654],[122661,122666]],VE=[[7168,7223],[7227,7241],[7245,7247]],FE=[2405,[6400,6430],[6432,6443],[6448,6459],6464,[6468,6479]],jE=[[65799,65843],[67072,67382],[67392,67413],[67424,67431]],HE=[[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65792,65794],[65799,65843],[65847,65855]],WE=[700,717,[12298,12299],[42192,42239],73648],zE=[8282,[66176,66204]],XE=[183,11825,[67872,67897],67903],qE=[183,[2404,2415],[43056,43065],[69968,70006]],GE=[[73440,73464]],YE=[[2385,2386],[2404,2405],[3328,3340],[3342,3344],[3346,3396],[3398,3400],[3402,3407],[3412,3427],[3430,3455],7386,7410,[43056,43058]],QE=[1600,[2112,2139],2142],ZE=[1600,[68288,68326],[68331,68342]],KE=[[72816,72847],[72850,72871],[72873,72886]],$E=[[2404,2405],[72960,72966],[72968,72969],[72971,73014],73018,[73020,73021],[73023,73031],[73040,73049]],JE=[[93760,93850]],eS=[[43744,43766],[43968,44013],[44016,44025]],tS=[[124928,125124],[125127,125142]],rS=[[68e3,68023],[68028,68047],[68050,68095]],nS=[8285,[67968,67999]],iS=[[93952,94026],[94031,94087],[94095,94111]],aS=[[43056,43065],[71168,71236],[71248,71257]],oS=[[6144,6169],[6176,6264],[6272,6314],8239,[12289,12290],[12296,12299],[71264,71276]],sS=[[92736,92766],[92768,92777],[92782,92783]],lS=[[2662,2671],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70313]],uS=[[4096,4255],43310,[43488,43518],[43616,43647],[71376,71395]],cS=[[67712,67742],[67751,67759]],dS=[[124112,124153]],hS=[2385,[2404,2405],[3302,3311],7401,7410,7418,[43056,43061],[72096,72103],[72106,72151],[72154,72164]],mS=[[6528,6571],[6576,6601],[6608,6618],[6622,6623]],fS=[[2385,2386],7381,[7383,7384],7394,7401,7403,7405,[70656,70747],[70749,70753]],gS=[1548,1563,1567,[1984,2042],[2045,2047],[64830,64831]],pS=[94177,[110960,111355]],vS=[[123136,123180],[123184,123197],[123200,123209],[123214,123215]],bS=[[5760,5788]],CS=[[7248,7295]],yS=[[2404,2405],[124368,124410],124415],_S=[8282,8285,11825,11841,[68736,68786],[68800,68850],[68858,68863]],wS=[[66304,66339],[66349,66351]],ES=[[68224,68255]],SS=[183,768,[774,776],787,1155,[66384,66426]],AS=[[66464,66499],[66504,66517]],IS=[[69376,69415]],RS=[[68192,68223]],xS=[8282,11824,[68608,68680]],TS=[1600,68338,[69488,69513]],NS=[[2385,2386],[2404,2405],[2817,2819],[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],[2876,2884],[2887,2888],[2891,2893],[2901,2903],[2908,2909],[2911,2915],[2918,2935],7386,7410],MS=[769,772,779,856,[66736,66771],[66776,66811]],OS=[[66688,66717],[66720,66729]],LS=[[92928,92997],[93008,93017],[93019,93025],[93027,93047],[93053,93071]],kS=[[67680,67711]],PS=[[72384,72440]],DS=[[6146,6147],6149,8239,12290,[43072,43127]],US=[[67840,67867],67871],BS=[1600,[68480,68497],[68505,68508],[68521,68527]],VS=[[43312,43347],43359],FS=[[5792,5880]],jS=[[2048,2093],[2096,2110],11825],HS=[[43136,43205],[43214,43225]],WS=[2385,7383,7385,[7388,7389],7392,7402,7405,[43056,43061],43064,[70016,70111],[72544,72551]],zS=[183,[66640,66687]],XS=[[71040,71093],[71096,71133]],qS=[[67904,67929]],GS=[[120832,121483],[121499,121503],[121505,121519]],YS=[[2404,2405],[3457,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],3530,[3535,3540],3542,[3544,3551],[3558,3567],[3570,3572],7410,[70113,70132]],QS=[1600,[69424,69465]],ZS=[[69840,69864],[69872,69881]],KS=[[72272,72354]],$S=[[7040,7103],[7360,7367]],JS=[[768,769],771,781,784,813,817,[72640,72673],[72688,72697]],eA=[[2404,2405],[2534,2543],[43008,43052]],tA=[[771,772],[775,776],778,[803,805],[813,814],[816,817],1548,[1563,1564],1567,1600,[1611,1621],1648,[1792,1805],[1807,1866],[1869,1871],[2144,2154],7672,7674],rA=[[5888,5909],5919,[5941,5942]],nA=[[5941,5942],[5984,5996],[5998,6e3],[6002,6003]],iA=[[768,769],[775,776],780,[4160,4169],[6480,6509],[6512,6516]],aA=[[6688,6750],[6752,6780],[6783,6793],[6800,6809],[6816,6829]],oA=[[43648,43714],[43739,43743]],sA=[[124608,124638],[124640,124661],[124670,124671]],lA=[[2404,2405],[43056,43065],[71296,71353],[71360,71369]],uA=[[2385,2386],[2404,2405],[2946,2947],[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],[3006,3010],[3014,3016],[3018,3021],3024,3031,[3046,3066],7386,43251,70401,70403,[70459,70460],[73664,73713],73727],cA=[[92784,92862],[92864,92873]],dA=[[12272,12287],12783,94176,[94208,101119],[101632,101662],[101760,101874]],hA=[[2385,2386],[2404,2405],[3072,3084],[3086,3088],[3090,3112],[3114,3129],[3132,3140],[3142,3144],[3146,3149],[3157,3158],[3160,3162],[3164,3165],[3168,3171],[3174,3183],[3191,3199],[7381,7382],7384,7386,7410],mA=[1548,[1563,1564],1567,[1632,1641],[1920,1969],65010,65021],fA=[700,727,771,817,[3585,3642],[3648,3675]],gA=[[3840,3911],[3913,3948],[3953,3991],[3993,4028],[4030,4044],[4046,4052],[4057,4058],[12296,12299]],pA=[770,772,[774,777],803,[11568,11623],[11631,11632],11647],vA=[[2385,2386],[2404,2405],7381,7394,7410,[43056,43065],[70784,70855],[70864,70873]],bA=[769,772,775,785,787,862,[67008,67059]],CA=[[73136,73179],[73184,73193]],yA=[700,[123536,123566]],_A=[[3302,3311],7410,7412,[43056,43061],43249,[70528,70537],70539,70542,[70544,70581],[70583,70592],70594,70597,[70599,70602],[70604,70613],[70615,70616],[70625,70626]],wA=[[66432,66461],66463],EA=[[42240,42539]],SA=[[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004]],AA=[[123584,123641],123647],IA=[[71840,71922],71935],RA=[1548,1563,1567,[1632,1641],[69248,69289],[69291,69293],[69296,69297]],xA=[[12289,12290],[12296,12305],[12308,12315],12539,[40960,42124],[42128,42182],[65377,65381]],TA=[[72192,72263]],NA=[],MA=[],OA=[],LA=[],kA=[[125184,125279]],PA=[[65792,65855]],DA=[[71424,71503]],UA=[[128768,128895]],BA=[[64256,64335]],VA=[[82944,83583]],FA=[[119296,119375]],jA=[[65856,65935]],HA=[[65936,65999]],WA=[[1536,1791]],zA=[[2208,2303]],XA=[[2160,2207]],qA=[[69312,69375]],GA=[[126464,126719]],YA=[[64336,65023]],QA=[[65136,65279]],ZA=[[1872,1919]],KA=[[1328,1423]],$A=[[8592,8703]],JA=[[68352,68415]],eI=[[6912,7039]],tI=[[42656,42751]],rI=[[92160,92735]],nI=[[0,127]],iI=[[92880,92927]],aI=[[7104,7167]],oI=[[2432,2559]],sI=[[93856,93919]],lI=[[72704,72815]],uI=[[9600,9631]],cI=[[12544,12591]],dI=[[12704,12735]],hI=[[9472,9599]],mI=[[69632,69759]],fI=[[10240,10495]],gI=[[6656,6687]],pI=[[5952,5983]],vI=[[118784,119039]],bI=[[13056,13311]],CI=[[65072,65103]],yI=[[63744,64255]],_I=[[194560,195103]],wI=[[11904,12031]],EI=[[12736,12783]],SI=[[12288,12351]],AI=[[19968,40959]],II=[[13312,19903]],RI=[[131072,173791]],xI=[[173824,177983]],TI=[[177984,178207]],NI=[[178208,183983]],MI=[[183984,191471]],OI=[[196608,201551]],LI=[[201552,205743]],kI=[[191472,192095]],PI=[[205744,210047]],DI=[[66208,66271]],UI=[[66864,66927]],BI=[[69888,69967]],VI=[[43520,43615]],FI=[[5024,5119]],jI=[[43888,43967]],HI=[[129536,129647]],WI=[[69552,69599]],zI=[[768,879]],XI=[[6832,6911]],qI=[[8400,8447]],GI=[[7616,7679]],YI=[[65056,65071]],QI=[[43056,43071]],ZI=[[9216,9279]],KI=[[11392,11519]],$I=[[66272,66303]],JI=[[119648,119679]],eR=[[73728,74751]],tR=[[74752,74879]],rR=[[8352,8399]],nR=[[67584,67647]],iR=[[77712,77823]],aR=[[1024,1279]],oR=[[11744,11775]],sR=[[42560,42655]],lR=[[7296,7311]],uR=[[122928,123023]],cR=[[1280,1327]],dR=[[66560,66639]],hR=[[2304,2431]],mR=[[43232,43263]],fR=[[72448,72543]],gR=[[9984,10175]],pR=[[71936,72031]],vR=[[71680,71759]],bR=[[127024,127135]],CR=[[113664,113823]],yR=[[74880,75087]],_R=[[78896,78943]],wR=[[77824,78895]],ER=[[78944,82943]],SR=[[66816,66863]],AR=[[69600,69631]],IR=[[128512,128591]],RR=[[127232,127487]],xR=[[9312,9471]],TR=[[12800,13055]],NR=[[127488,127743]],MR=[[4608,4991]],OR=[[11648,11743]],LR=[[43776,43823]],kR=[[124896,124927]],PR=[[4992,5023]],DR=[[68928,69007]],UR=[[8192,8303]],BR=[[9632,9727]],VR=[[128896,129023]],FR=[[4256,4351]],jR=[[7312,7359]],HR=[[11520,11567]],WR=[[11264,11359]],zR=[[122880,122927]],XR=[[66352,66383]],qR=[[70400,70527]],GR=[[880,1023]],YR=[[7936,8191]],QR=[[2688,2815]],ZR=[[73056,73135]],KR=[[2560,2687]],$R=[[90368,90431]],JR=[[65280,65519]],ex=[[12592,12687]],tx=[[4352,4607]],rx=[[43360,43391]],nx=[[55216,55295]],ix=[[44032,55215]],ax=[[68864,68927]],ox=[[5920,5951]],sx=[[67808,67839]],lx=[[1424,1535]],ux=[[56192,56319]],cx=[[55296,56191]],dx=[[12352,12447]],hx=[[592,687]],mx=[[12272,12287]],fx=[[94176,94207]],gx=[[67648,67679]],px=[[126064,126143]],vx=[[68448,68479]],bx=[[68416,68447]],Cx=[[43392,43487]],yx=[[69760,69839]],_x=[[119488,119519]],wx=[[110848,110895]],Ex=[[110576,110591]],Sx=[[110592,110847]],Ax=[[12688,12703]],Ix=[[12032,12255]],Rx=[[3200,3327]],xx=[[12448,12543]],Tx=[[12784,12799]],Nx=[[73472,73567]],Mx=[[43264,43311]],Ox=[[68096,68191]],Lx=[[101120,101631]],kx=[[6016,6143]],Px=[[6624,6655]],Dx=[[70144,70223]],Ux=[[70320,70399]],Bx=[[93504,93567]],Vx=[[3712,3839]],Fx=[[128,255]],jx=[[256,383]],Hx=[[7680,7935]],Wx=[[384,591]],zx=[[11360,11391]],Xx=[[42784,43007]],qx=[[43824,43887]],Gx=[[67456,67519]],Yx=[[122624,122879]],Qx=[[7168,7247]],Zx=[[8448,8527]],Kx=[[6400,6479]],$x=[[67072,67455]],Jx=[[65664,65791]],eT=[[65536,65663]],tT=[[42192,42239]],rT=[[73648,73663]],nT=[[56320,57343]],iT=[[66176,66207]],aT=[[67872,67903]],oT=[[69968,70015]],sT=[[126976,127023]],lT=[[73440,73471]],uT=[[3328,3455]],cT=[[2112,2143]],dT=[[68288,68351]],hT=[[72816,72895]],mT=[[72960,73055]],fT=[[119808,120831]],gT=[[8704,8959]],pT=[[119520,119551]],vT=[[93760,93855]],bT=[[43968,44031]],CT=[[43744,43775]],yT=[[124928,125151]],_T=[[68e3,68095]],wT=[[67968,67999]],ET=[[93952,94111]],ST=[[10176,10223]],AT=[[10624,10751]],IT=[[9728,9983]],RT=[[11008,11263]],xT=[[127744,128511]],TT=[[118464,118527]],NT=[[8960,9215]],MT=[[71168,71263]],OT=[[42752,42783]],LT=[[6144,6319]],kT=[[71264,71295]],PT=[[92736,92783]],DT=[[70272,70319]],UT=[[119040,119295]],BT=[[4096,4255]],VT=[[43616,43647]],FT=[[43488,43519]],jT=[[71376,71423]],HT=[[1984,2047]],WT=[[67712,67759]],zT=[[124112,124159]],XT=[[72096,72191]],qT=[[6528,6623]],GT=[[70656,70783]],YT=[[8528,8591]],QT=[[110960,111359]],ZT=[[123136,123215]],KT=[[5760,5791]],$T=[[7248,7295]],JT=[[124368,124415]],eN=[[68736,68863]],tN=[[66304,66351]],rN=[[68224,68255]],nN=[[66384,66431]],iN=[[66464,66527]],aN=[[69376,69423]],oN=[[68192,68223]],sN=[[68608,68687]],lN=[[69488,69551]],uN=[[9280,9311]],cN=[[2816,2943]],dN=[[128592,128639]],hN=[[66736,66815]],mN=[[66688,66735]],fN=[[126208,126287]],gN=[[92928,93071]],pN=[[67680,67711]],vN=[[72384,72447]],bN=[[43072,43135]],CN=[[66e3,66047]],yN=[[67840,67871]],_N=[[7424,7551]],wN=[[7552,7615]],EN=[[127136,127231]],SN=[[57344,63743]],AN=[[68480,68527]],IN=[[43312,43359]],RN=[[69216,69247]],xN=[[5792,5887]],TN=[[2048,2111]],NN=[[43136,43231]],MN=[[70016,70111]],ON=[[72544,72575]],LN=[[66640,66687]],kN=[[113824,113839]],PN=[[71040,71167]],DN=[[67904,67935]],UN=[[3456,3583]],BN=[[70112,70143]],VN=[[65104,65135]],FN=[[110896,110959]],jN=[[69424,69487]],HN=[[69840,69887]],WN=[[72272,72367]],zN=[[688,767]],XN=[[65520,65535]],qN=[[7040,7103]],GN=[[7360,7375]],YN=[[72640,72703]],QN=[[8304,8351]],ZN=[[10224,10239]],KN=[[10496,10623]],$N=[[129024,129279]],JN=[[10752,11007]],eM=[[11776,11903]],tM=[[129280,129535]],rM=[[983040,1048575]],nM=[[1048576,1114111]],iM=[[120832,121519]],aM=[[43008,43055]],oM=[[129648,129791]],sM=[[129792,130047]],lM=[[117760,118463]],uM=[[1792,1871]],cM=[[2144,2159]],dM=[[5888,5919]],hM=[[5984,6015]],mM=[[917504,917631]],fM=[[6480,6527]],gM=[[6688,6831]],pM=[[43648,43743]],vM=[[119552,119647]],bM=[[124608,124671]],CM=[[71296,71375]],yM=[[2944,3071]],_M=[[73664,73727]],wM=[[92784,92879]],EM=[[94208,100351]],SM=[[100352,101119]],AM=[[101760,101887]],IM=[[101632,101759]],RM=[[3072,3199]],xM=[[1920,1983]],TM=[[3584,3711]],NM=[[3840,4095]],MM=[[11568,11647]],OM=[[70784,70879]],LM=[[67008,67071]],kM=[[73136,73199]],PM=[[123536,123583]],DM=[[128640,128767]],UM=[[70528,70655]],BM=[[66432,66463]],VM=[[5120,5759]],FM=[[6320,6399]],jM=[[72368,72383]],HM=[[42240,42559]],WM=[[65024,65039]],zM=[[917760,917999]],XM=[[7376,7423]],qM=[[65040,65055]],GM=[[66928,67007]],YM=[[123584,123647]],QM=[[71840,71935]],ZM=[[69248,69311]],KM=[[42128,42191]],$M=[[40960,42127]],JM=[[19904,19967]],eO=[[72192,72271]],tO=[[118528,118735]],rO=[41,93,125,3899,3901,5788,8262,8318,8334,8969,8971,9002,10089,10091,10093,10095,10097,10099,10101,10182,10215,10217,10219,10221,10223,10628,10630,10632,10634,10636,10638,10640,10642,10644,10646,10648,10713,10715,10749,11811,11813,11815,11817,11862,11864,11866,11868,12297,12299,12301,12303,12305,12309,12311,12313,12315,65114,65116,65118,65289,65341,65373,65376,65379],nO=[[0,39],[42,90],92,[94,122],124,[126,3897],[3902,5786],[5789,8260],[8263,8316],[8319,8332],[8335,8967],[8972,9e3],[9003,10087],[10102,10180],[10183,10213],[10224,10626],[10649,10711],[10716,10747],[10750,11809],[11818,11860],[11869,12295],[12306,12307],[12316,65112],[65119,65287],[65290,65338],65340,[65342,65370],65372,65374,65377,[65380,1114111]],iO=[40,91,123,3898,3900,5787,8261,8317,8333,8968,8970,9001,10088,10090,10092,10094,10096,10098,10100,10181,10214,10216,10218,10220,10222,10627,10629,10631,10633,10635,10637,10639,10641,10643,10645,10647,10712,10714,10748,11810,11812,11814,11816,11861,11863,11865,11867,12296,12298,12300,12302,12304,12308,12310,12312,12314,65113,65115,65117,65288,65339,65371,65375,65378],aO=[[6917,6963],[6981,6988],[43396,43442],[69637,69687],[69745,69746],69749,[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],[70496,70497],[70546,70581],[71936,71942],71945,[71948,71955],[71957,71958],[71960,71983],[73476,73488],[73490,73523]],oO=[[69635,69636],70609,71999,72001,73474],sO=[[6992,7001],[7104,7141],[43472,43481],[43520,43560],[43600,43609],[69734,69743],70480,[70494,70495],[70528,70537],70539,70542,[70544,70545],[72016,72025],[73440,73457],[73552,73561],[90368,90397],[90416,90425]],lO=[35,38,42,[60,62],[64,90],[94,122],126,166,169,172,[174,175],181,[192,214],[216,246],[248,710],[718,719],[721,727],732,734,[736,767],[880,887],[890,893],895,[900,906],908,[910,929],[931,1154],[1162,1327],[1329,1366],[1369,1416],[1421,1422],1472,1475,[1523,1524],[1542,1544],[1550,1551],[1568,1610],[1645,1647],[1649,1747],1749,1758,[1765,1766],1769,[1774,1775],[1786,1805],[1807,1808],[1810,1839],[1869,1957],1969,[1994,2026],[2036,2039],2042,[2048,2069],2074,2084,2088,[2096,2110],[2112,2136],2142,[2144,2154],[2160,2191],[2208,2249],[2308,2361],2365,2384,[2392,2401],[2416,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,2510,[2524,2525],[2527,2529],[2544,2545],[2548,2552],2554,[2556,2557],[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],2654,[2674,2676],2678,[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],2749,2768,[2784,2785],2800,2809,[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,[2908,2909],[2911,2913],[2928,2935],2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3024,[3056,3064],3066,[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3160,3162],[3164,3165],[3168,3169],[3192,3200],[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],3261,[3292,3294],[3296,3297],[3313,3314],[3332,3340],[3342,3344],[3346,3386],3389,[3406,3407],[3412,3414],[3416,3425],[3440,3448],[3450,3455],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],3572,3663,3840,3845,3859,[3861,3863],[3866,3871],[3882,3891],3894,3896,[3904,3911],[3913,3948],[3976,3980],[4032,4037],[4039,4044],[4046,4047],[4052,4056],[4172,4175],[4256,4293],4295,4301,[4304,4351],[4608,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],4960,[4962,4988],[4992,5017],[5024,5109],[5112,5117],[5121,5759],[5761,5786],[5792,5866],[5870,5880],[5888,5905],[5919,5937],[5952,5969],[5984,5996],[5998,6e3],6105,[6128,6137],[6144,6145],6151,6154,[6176,6264],[6272,6276],[6279,6312],6314,[6320,6389],[6400,6430],6464,[6624,6678],[6686,6687],[7043,7072],[7086,7087],[7098,7103],[7164,7203],[7245,7247],[7258,7293],[7296,7306],[7312,7354],[7357,7367],7379,[7401,7404],[7406,7411],[7413,7414],7418,[7424,7615],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8132],[8134,8147],[8150,8155],[8157,8175],[8178,8180],[8182,8188],8190,8215,[8226,8227],8248,[8254,8259],[8266,8277],8284,[8289,8292],[8304,8305],[8309,8316],8320,[8325,8332],[8336,8348],[8448,8450],8452,[8454,8456],[8458,8466],[8468,8469],[8471,8480],[8483,8490],[8492,8527],8543,[8556,8559],[8570,8584],[8586,8587],[8602,8657],8659,[8661,8703],8705,[8708,8710],[8713,8714],[8716,8718],8720,8724,[8726,8729],[8731,8732],[8737,8738],8740,8742,8749,[8751,8755],[8760,8763],[8766,8775],[8777,8779],[8781,8785],[8787,8799],[8802,8803],[8808,8809],[8812,8813],[8816,8833],[8836,8837],[8840,8852],[8854,8856],[8858,8868],[8870,8894],[8896,8942],[8944,8967],[8972,8977],[8979,8985],[8988,9e3],[9003,9199],[9204,9257],[9280,9290],9471,[9548,9551],[9589,9599],[9616,9617],[9622,9631],9634,[9642,9649],[9652,9653],[9656,9659],[9662,9663],[9666,9669],[9673,9674],[9676,9677],[9682,9697],[9702,9710],[9712,9727],9732,[9735,9736],[9738,9741],[9744,9747],9753,[9760,9784],[9788,9791],9793,[9795,9823],9826,9830,9835,9838,[9840,9854],[9856,9885],[9888,9916],9934,9954,[9956,9959],[9989,9991],[9998,10070],[10072,10074],10081,[10085,10087],[10132,10180],[10183,10213],[10224,10239],[10241,10626],[10649,10711],[10716,10747],[10750,11092],[11098,11123],[11126,11502],[11506,11507],11517,[11520,11557],11559,11565,[11568,11623],11631,[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],11798,[11802,11803],[11806,11807],11823,11826,[11829,11833],11839,11851,11853,[11856,11858],[19904,19967],[42192,42237],[42240,42508],[42512,42527],[42538,42539],[42560,42606],42611,[42622,42653],[42656,42735],42738,[42752,42972],[42993,43009],[43011,43013],[43015,43018],[43020,43042],[43048,43051],[43056,43063],43065,[43072,43123],[43138,43187],[43250,43259],[43261,43262],[43274,43301],[43312,43334],43359,[43744,43754],[43762,43764],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43883],[43888,44002],[64256,64262],[64275,64279],64297,[64336,64829],[64832,64975],[65008,65019],[65021,65023],[65136,65140],[65142,65276],[65512,65518],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65799,65843],[65847,65934],[65936,65948],65952,[66e3,66044],[66176,66204],[66208,66256],[66273,66299],[66304,66339],[66349,66378],[66384,66421],[66432,66461],[66464,66499],[66504,66511],[66513,66517],[66560,66717],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66927,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67008,67059],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67672,67742],[67751,67759],[67808,67826],[67828,67829],[67835,67867],[67872,67897],[67903,67929],[67968,68023],[68028,68047],[68050,68096],[68112,68115],[68117,68119],[68121,68149],[68160,68168],68184,[68192,68255],[68288,68324],[68331,68335],[68352,68405],[68416,68437],[68440,68466],[68472,68497],[68505,68508],[68521,68527],[68608,68680],[68736,68786],[68800,68850],[68858,68899],[68938,68965],[68975,68997],[69006,69007],[69216,69246],[69248,69289],[69296,69297],[69314,69319],[69329,69336],[69376,69415],[69424,69445],[69457,69465],[69488,69505],[69510,69513],[69552,69579],[69600,69622],[69763,69807],[69819,69820],[69840,69864],[69891,69926],69956,69959,[69968,70002],70004,70006,[70019,70066],[70081,70084],70087,70093,70106,70108,[70113,70132],[70144,70161],[70163,70187],70202,70205,[70207,70208],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70366],[70656,70708],[70727,70730],70735,70749,[70751,70753],[70784,70831],[70852,70855],[71040,71086],[71110,71112],[71128,71131],[71168,71215],[71235,71236],[71296,71338],[71352,71353],[71680,71723],71739,[71840,71903],[71914,71922],71935,[72096,72103],[72106,72144],72161,72163,72192,[72203,72242],72250,72256,72262,72272,[72284,72329],72349,[72368,72440],[72640,72673],[72704,72712],[72714,72750],72768,[72794,72812],[72818,72847],[72960,72966],[72968,72969],[72971,73008],73030,[73056,73061],[73063,73064],[73066,73097],73112,[73136,73179],73648,[73664,73692],[73697,73713],[73728,74649],[74752,74862],[74880,75075],[77712,77810],[77824,78423],[78430,78465],[78467,78469],[78474,78712],[78716,78894],[78913,78918],[78944,82938],[82944,83405],[83408,83526],[92160,92728],[92736,92766],[92784,92862],[92880,92909],[92928,92975],[92986,92995],92997,[93019,93025],[93027,93047],[93053,93071],[93504,93549],[93760,93846],[93849,93850],[93856,93880],[93883,93907],[93952,94026],94032,[94099,94111],[101120,101589],101631,[110576,110579],[110581,110587],[110589,110590],[113664,113770],[113776,113788],[113792,113800],[113808,113817],113820,[117760,117999],[118010,118012],[118016,118451],[118458,118480],[118496,118512],[118608,118723],[118784,119029],[119040,119078],[119081,119140],[119146,119148],[119171,119172],[119180,119209],[119214,119274],[119296,119361],119365,[119488,119507],[119520,119539],[119552,119638],[119648,119672],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120779],[120832,121343],[121399,121402],[121453,121460],[121462,121475],[121477,121478],121483,[122624,122654],[122661,122666],[122928,122989],[123136,123180],[123191,123197],[123214,123215],[123536,123565],[123584,123627],[124112,124139],[124368,124397],124400,124415,[124608,124638],[124640,124642],[124644,124645],[124647,124653],[124656,124660],[124670,124671],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125127,125135],[125184,125251],125259,[126065,126123],[126125,126127],[126129,126132],[126209,126269],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[126704,126705],[127245,127247],[127278,127279],[127338,127343],127405,[127900,127901],[127925,127926],127932,128160,128162,128164,128175,[128177,128178],[128256,128262],[128279,128292],[128306,128329],[128468,128475],[128500,128505],[128592,128629],[128636,128639],[128768,128883],[128887,128890],[128896,128980],[129024,129035],[129040,129095],[129104,129113],[129120,129159],[129168,129197],[129200,129211],[129216,129217],[129232,129240],[129280,129291],[129536,129623],[129792,129938],[129940,130031],130042],uO=[[167,168],170,[178,179],[182,186],[188,190],215,247,711,[713,715],717,720,[728,731],733,[8213,8214],[8224,8225],8251,8308,8319,[8321,8324],8453,8467,[8481,8482],8491,[8528,8542],[8544,8555],[8560,8569],8585,[8592,8601],8658,8660,8704,[8706,8707],[8711,8712],8715,8719,8721,8725,8730,[8733,8736],8739,8741,[8743,8748],8750,[8756,8759],[8764,8765],8776,8780,8786,[8800,8801],[8804,8807],[8810,8811],[8814,8815],[8834,8835],[8838,8839],8853,8857,8869,8895,8978,[9312,9470],[9472,9547],[9552,9588],[9600,9615],[9618,9621],[9632,9633],[9635,9641],[9650,9651],[9654,9655],[9660,9661],[9664,9665],[9670,9672],9675,[9678,9681],[9698,9701],9711,[9733,9734],9737,[9742,9743],[9750,9751],9792,9794,[9824,9825],[9827,9829],9831,[9833,9834],[9836,9837],9839,[9886,9887],[9929,9932],9938,[9941,9943],[9946,9947],[9949,9950],9955,[9960,9961],[9963,9968],9974,[9979,9980],10071,[10102,10131],[11093,11097],[12872,12879],65533,[127232,127244],[127248,127277],[127280,127337],[127344,127404]],cO=[9,124,173,[2404,2405],[3674,3675],3851,3892,3967,3973,[4030,4031],4050,[4170,4171],4961,5760,[5867,5869],[5941,5942],[6100,6101],6104,6106,[6148,6149],[6990,6991],[7002,7003],[7005,7008],[7037,7039],[7227,7231],[7294,7295],[8192,8198],[8200,8202],8231,8278,[8280,8283],[8285,8287],10240,[11514,11516],11519,11632,[11790,11797],11801,[11818,11821],[11824,11825],[11827,11828],[11836,11838],11841,[11843,11850],11852,[11854,11855],12288,[42238,42239],42509,42511,[42739,42743],[43214,43215],[43310,43311],[43463,43465],43471,[43584,43586],[43588,43595],[43613,43615],[43760,43761],44011,[65792,65794],66463,66512,67671,67871,[68176,68183],[68336,68341],[68409,68415],69328,[69703,69704],[69822,69825],[69952,69955],[70085,70086],70088,[70109,70111],[70200,70201],[70203,70204],70313,70461,70493,[70731,70734],[70746,70747],[71106,71107],[71113,71127],[71233,71234],[71484,71486],[72004,72006],[72257,72260],[72346,72348],[72353,72354],[72769,72773],73458,[73463,73464],[73539,73540],73727,[74864,74868],[92782,92783],92917,[92983,92985],92996,[93550,93551],[93847,93848],113823,[121479,121482]],dO=[180,712,716,735,3191,3204,[3841,3844],[3846,3847],[3849,3850],[4048,4049],4051,6150,8189,[43124,43125],43260,70005,70107,71105,[71264,71276],72162,72255,72261,[72350,72352],[72448,72457],72816],hO=[8212,[11834,11835]],mO=[47],fO=[13],gO=[41,93,11862,11864,11866,11868],pO=[125,3899,3901,5788,8262,8318,8334,8969,8971,9002,10089,10091,10093,10095,10097,10099,10101,10182,10215,10217,10219,10221,10223,10628,10630,10632,10634,10636,10638,10640,10642,10644,10646,10648,10713,10715,10749,11811,11813,11815,11817,[12289,12290],12297,12299,12301,12303,12305,12309,12311,12313,12315,[12318,12319],64830,[65040,65042],65048,65078,65080,65082,65084,65086,65088,65090,65092,65096,65104,65106,65114,65116,65118,65289,65292,65294,65341,65373,[65376,65377],[65379,65380],[78427,78429],78466,78471,78473,[78714,78715],78904,78909,78911,83407],vO=[[0,8],[14,31],[127,132],[134,159],[768,859],[867,879],[1155,1161],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],1564,[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],2045,[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2199,2207],[2250,2273],[2275,2307],[2362,2364],[2366,2383],[2385,2391],[2402,2403],[2433,2435],2492,[2494,2500],[2503,2504],[2507,2509],2519,[2530,2531],2558,[2561,2563],2620,[2622,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2691],2748,[2750,2757],[2759,2761],[2763,2765],[2786,2787],[2810,2815],[2817,2819],2876,[2878,2884],[2887,2888],[2891,2893],[2901,2903],[2914,2915],2946,[3006,3010],[3014,3016],[3018,3021],3031,[3072,3076],3132,[3134,3140],[3142,3144],[3146,3149],[3157,3158],[3170,3171],[3201,3203],3260,[3262,3268],[3270,3272],[3274,3277],[3285,3286],[3298,3299],3315,[3328,3331],[3387,3388],[3390,3396],[3398,3400],[3402,3405],3415,[3426,3427],[3457,3459],3530,[3535,3540],3542,[3544,3551],[3570,3571],[3864,3865],3893,3895,3897,[3902,3903],[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4957,4959],[5906,5909],[5938,5940],[5970,5971],[6002,6003],[6155,6157],6159,[6277,6278],6313,[6432,6443],[6448,6459],[6679,6683],6783,[6832,6877],[6880,6890],[6912,6916],[6964,6979],[7019,7027],[7040,7042],[7073,7085],[7142,7153],[7204,7223],[7376,7378],[7380,7400],7405,7412,[7415,7417],[7616,7628],[7630,7675],[7677,7679],8204,[8206,8207],[8234,8238],[8294,8303],[8400,8432],[11503,11505],11647,[11744,11775],[12330,12335],12341,[12441,12442],[42607,42610],[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43043,43047],43052,[43136,43137],[43188,43205],[43232,43249],43263,[43302,43309],[43335,43347],[43392,43395],[43443,43455],[43561,43574],43587,[43596,43597],[43755,43759],[43765,43766],[44003,44010],[44012,44013],64286,[65024,65039],65057,65059,65061,65064,65066,65068,65071,[65529,65531],66045,66272,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],[68900,68903],[68969,68973],[69291,69292],[69370,69375],[69446,69456],[69506,69509],[69632,69634],[69688,69701],69744,[69747,69748],[69760,69762],[69808,69818],69826,[69888,69890],[69927,69940],[69957,69958],70003,[70016,70018],[70067,70080],[70089,70092],[70094,70095],[70188,70199],70206,70209,[70367,70378],[70400,70403],[70459,70460],[70462,70468],[70471,70472],[70475,70476],70487,[70498,70499],[70502,70508],[70512,70516],[70584,70592],70594,70597,[70599,70602],[70604,70607],70610,[70625,70626],[70709,70726],70750,[70832,70851],[71087,71093],[71096,71104],[71132,71133],[71216,71232],[71339,71351],[71724,71738],[71984,71989],[71991,71992],[71995,71997],72e3,[72002,72003],[72145,72151],[72154,72160],72164,[72193,72202],[72243,72249],[72251,72254],72263,[72273,72283],[72330,72345],[72544,72551],[72751,72758],[72760,72767],[72850,72871],[72873,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[73098,73102],[73104,73105],[73107,73111],[73459,73462],[73472,73473],73475,[73524,73530],[73534,73537],73562,78912,[78919,78933],[90398,90415],[92912,92916],[92976,92982],94031,[94033,94087],[94095,94098],[94192,94193],[113821,113822],[113824,113827],[118528,118573],[118576,118598],[119141,119145],[119149,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],123023,[123184,123190],123566,[123628,123631],[124140,124143],[124398,124399],124643,124646,[124654,124655],124661,[125136,125142],[125252,125258],917505,[917536,917631],[917760,917999]],bO=[[3585,3642],[3648,3662],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3773],[3776,3780],3782,[3784,3790],[3804,3807],[4096,4159],[4176,4239],[4250,4255],[6016,6099],6103,[6108,6109],[6480,6509],[6512,6516],[6528,6571],[6576,6601],[6622,6623],[6688,6750],[6752,6780],[6816,6829],[43488,43503],[43514,43518],[43616,43714],[43739,43743],[71424,71450],[71453,71467],[71482,71483],[71487,71494]],CO=[12353,12355,12357,12359,12361,12387,12419,12421,12423,12430,[12437,12438],12449,12451,12453,12455,12457,12483,12515,12517,12519,12526,[12533,12534],12540,[12784,12799],[65383,65392],110898,[110928,110930],110933,[110948,110951]],yO=[65532],_O=[9757,9977,[9994,9997],127877,[127938,127940],127943,[127946,127948],[128066,128067],[128070,128080],[128102,128120],128124,[128129,128131],[128133,128135],128143,128145,128170,[128372,128373],128378,128400,[128405,128406],[128581,128583],[128587,128591],128675,[128692,128694],128704,128716,129292,129295,[129304,129311],129318,[129328,129337],[129340,129342],129399,[129461,129462],[129464,129465],129467,[129485,129487],[129489,129501],[129731,129733],[129776,129784]],wO=[[127995,127999]],EO=[33,63,1478,1563,[1565,1567],1748,2041,[3853,3857],3860,[6146,6147],[6152,6153],[6468,6469],[10082,10083],11513,11518,11822,[11859,11860],42510,[43126,43127],[65045,65046],[65110,65111],65281,65311,[71108,71109],72817],SO=[160,[860,866],3848,3852,3858,[4057,4058],6158,6891,7629,7676,8199,8209,8239,65056,65058,65060,[65062,65063],65065,65067,[65069,65070],69759,[78896,78902],[78905,78907],94180],AO=[44032,44060,44088,44116,44144,44172,44200,44228,44256,44284,44312,44340,44368,44396,44424,44452,44480,44508,44536,44564,44592,44620,44648,44676,44704,44732,44760,44788,44816,44844,44872,44900,44928,44956,44984,45012,45040,45068,45096,45124,45152,45180,45208,45236,45264,45292,45320,45348,45376,45404,45432,45460,45488,45516,45544,45572,45600,45628,45656,45684,45712,45740,45768,45796,45824,45852,45880,45908,45936,45964,45992,46020,46048,46076,46104,46132,46160,46188,46216,46244,46272,46300,46328,46356,46384,46412,46440,46468,46496,46524,46552,46580,46608,46636,46664,46692,46720,46748,46776,46804,46832,46860,46888,46916,46944,46972,47e3,47028,47056,47084,47112,47140,47168,47196,47224,47252,47280,47308,47336,47364,47392,47420,47448,47476,47504,47532,47560,47588,47616,47644,47672,47700,47728,47756,47784,47812,47840,47868,47896,47924,47952,47980,48008,48036,48064,48092,48120,48148,48176,48204,48232,48260,48288,48316,48344,48372,48400,48428,48456,48484,48512,48540,48568,48596,48624,48652,48680,48708,48736,48764,48792,48820,48848,48876,48904,48932,48960,48988,49016,49044,49072,49100,49128,49156,49184,49212,49240,49268,49296,49324,49352,49380,49408,49436,49464,49492,49520,49548,49576,49604,49632,49660,49688,49716,49744,49772,49800,49828,49856,49884,49912,49940,49968,49996,50024,50052,50080,50108,50136,50164,50192,50220,50248,50276,50304,50332,50360,50388,50416,50444,50472,50500,50528,50556,50584,50612,50640,50668,50696,50724,50752,50780,50808,50836,50864,50892,50920,50948,50976,51004,51032,51060,51088,51116,51144,51172,51200,51228,51256,51284,51312,51340,51368,51396,51424,51452,51480,51508,51536,51564,51592,51620,51648,51676,51704,51732,51760,51788,51816,51844,51872,51900,51928,51956,51984,52012,52040,52068,52096,52124,52152,52180,52208,52236,52264,52292,52320,52348,52376,52404,52432,52460,52488,52516,52544,52572,52600,52628,52656,52684,52712,52740,52768,52796,52824,52852,52880,52908,52936,52964,52992,53020,53048,53076,53104,53132,53160,53188,53216,53244,53272,53300,53328,53356,53384,53412,53440,53468,53496,53524,53552,53580,53608,53636,53664,53692,53720,53748,53776,53804,53832,53860,53888,53916,53944,53972,54e3,54028,54056,54084,54112,54140,54168,54196,54224,54252,54280,54308,54336,54364,54392,54420,54448,54476,54504,54532,54560,54588,54616,54644,54672,54700,54728,54756,54784,54812,54840,54868,54896,54924,54952,54980,55008,55036,55064,55092,55120,55148,55176],IO=[[44033,44059],[44061,44087],[44089,44115],[44117,44143],[44145,44171],[44173,44199],[44201,44227],[44229,44255],[44257,44283],[44285,44311],[44313,44339],[44341,44367],[44369,44395],[44397,44423],[44425,44451],[44453,44479],[44481,44507],[44509,44535],[44537,44563],[44565,44591],[44593,44619],[44621,44647],[44649,44675],[44677,44703],[44705,44731],[44733,44759],[44761,44787],[44789,44815],[44817,44843],[44845,44871],[44873,44899],[44901,44927],[44929,44955],[44957,44983],[44985,45011],[45013,45039],[45041,45067],[45069,45095],[45097,45123],[45125,45151],[45153,45179],[45181,45207],[45209,45235],[45237,45263],[45265,45291],[45293,45319],[45321,45347],[45349,45375],[45377,45403],[45405,45431],[45433,45459],[45461,45487],[45489,45515],[45517,45543],[45545,45571],[45573,45599],[45601,45627],[45629,45655],[45657,45683],[45685,45711],[45713,45739],[45741,45767],[45769,45795],[45797,45823],[45825,45851],[45853,45879],[45881,45907],[45909,45935],[45937,45963],[45965,45991],[45993,46019],[46021,46047],[46049,46075],[46077,46103],[46105,46131],[46133,46159],[46161,46187],[46189,46215],[46217,46243],[46245,46271],[46273,46299],[46301,46327],[46329,46355],[46357,46383],[46385,46411],[46413,46439],[46441,46467],[46469,46495],[46497,46523],[46525,46551],[46553,46579],[46581,46607],[46609,46635],[46637,46663],[46665,46691],[46693,46719],[46721,46747],[46749,46775],[46777,46803],[46805,46831],[46833,46859],[46861,46887],[46889,46915],[46917,46943],[46945,46971],[46973,46999],[47001,47027],[47029,47055],[47057,47083],[47085,47111],[47113,47139],[47141,47167],[47169,47195],[47197,47223],[47225,47251],[47253,47279],[47281,47307],[47309,47335],[47337,47363],[47365,47391],[47393,47419],[47421,47447],[47449,47475],[47477,47503],[47505,47531],[47533,47559],[47561,47587],[47589,47615],[47617,47643],[47645,47671],[47673,47699],[47701,47727],[47729,47755],[47757,47783],[47785,47811],[47813,47839],[47841,47867],[47869,47895],[47897,47923],[47925,47951],[47953,47979],[47981,48007],[48009,48035],[48037,48063],[48065,48091],[48093,48119],[48121,48147],[48149,48175],[48177,48203],[48205,48231],[48233,48259],[48261,48287],[48289,48315],[48317,48343],[48345,48371],[48373,48399],[48401,48427],[48429,48455],[48457,48483],[48485,48511],[48513,48539],[48541,48567],[48569,48595],[48597,48623],[48625,48651],[48653,48679],[48681,48707],[48709,48735],[48737,48763],[48765,48791],[48793,48819],[48821,48847],[48849,48875],[48877,48903],[48905,48931],[48933,48959],[48961,48987],[48989,49015],[49017,49043],[49045,49071],[49073,49099],[49101,49127],[49129,49155],[49157,49183],[49185,49211],[49213,49239],[49241,49267],[49269,49295],[49297,49323],[49325,49351],[49353,49379],[49381,49407],[49409,49435],[49437,49463],[49465,49491],[49493,49519],[49521,49547],[49549,49575],[49577,49603],[49605,49631],[49633,49659],[49661,49687],[49689,49715],[49717,49743],[49745,49771],[49773,49799],[49801,49827],[49829,49855],[49857,49883],[49885,49911],[49913,49939],[49941,49967],[49969,49995],[49997,50023],[50025,50051],[50053,50079],[50081,50107],[50109,50135],[50137,50163],[50165,50191],[50193,50219],[50221,50247],[50249,50275],[50277,50303],[50305,50331],[50333,50359],[50361,50387],[50389,50415],[50417,50443],[50445,50471],[50473,50499],[50501,50527],[50529,50555],[50557,50583],[50585,50611],[50613,50639],[50641,50667],[50669,50695],[50697,50723],[50725,50751],[50753,50779],[50781,50807],[50809,50835],[50837,50863],[50865,50891],[50893,50919],[50921,50947],[50949,50975],[50977,51003],[51005,51031],[51033,51059],[51061,51087],[51089,51115],[51117,51143],[51145,51171],[51173,51199],[51201,51227],[51229,51255],[51257,51283],[51285,51311],[51313,51339],[51341,51367],[51369,51395],[51397,51423],[51425,51451],[51453,51479],[51481,51507],[51509,51535],[51537,51563],[51565,51591],[51593,51619],[51621,51647],[51649,51675],[51677,51703],[51705,51731],[51733,51759],[51761,51787],[51789,51815],[51817,51843],[51845,51871],[51873,51899],[51901,51927],[51929,51955],[51957,51983],[51985,52011],[52013,52039],[52041,52067],[52069,52095],[52097,52123],[52125,52151],[52153,52179],[52181,52207],[52209,52235],[52237,52263],[52265,52291],[52293,52319],[52321,52347],[52349,52375],[52377,52403],[52405,52431],[52433,52459],[52461,52487],[52489,52515],[52517,52543],[52545,52571],[52573,52599],[52601,52627],[52629,52655],[52657,52683],[52685,52711],[52713,52739],[52741,52767],[52769,52795],[52797,52823],[52825,52851],[52853,52879],[52881,52907],[52909,52935],[52937,52963],[52965,52991],[52993,53019],[53021,53047],[53049,53075],[53077,53103],[53105,53131],[53133,53159],[53161,53187],[53189,53215],[53217,53243],[53245,53271],[53273,53299],[53301,53327],[53329,53355],[53357,53383],[53385,53411],[53413,53439],[53441,53467],[53469,53495],[53497,53523],[53525,53551],[53553,53579],[53581,53607],[53609,53635],[53637,53663],[53665,53691],[53693,53719],[53721,53747],[53749,53775],[53777,53803],[53805,53831],[53833,53859],[53861,53887],[53889,53915],[53917,53943],[53945,53971],[53973,53999],[54001,54027],[54029,54055],[54057,54083],[54085,54111],[54113,54139],[54141,54167],[54169,54195],[54197,54223],[54225,54251],[54253,54279],[54281,54307],[54309,54335],[54337,54363],[54365,54391],[54393,54419],[54421,54447],[54449,54475],[54477,54503],[54505,54531],[54533,54559],[54561,54587],[54589,54615],[54617,54643],[54645,54671],[54673,54699],[54701,54727],[54729,54755],[54757,54783],[54785,54811],[54813,54839],[54841,54867],[54869,54895],[54897,54923],[54925,54951],[54953,54979],[54981,55007],[55009,55035],[55037,55063],[55065,55091],[55093,55119],[55121,55147],[55149,55175],[55177,55203]],RO=[[1488,1514],[1519,1522],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335]],xO=[45],TO=[7004,[7009,7018],[7028,7036],[8986,8987],[9200,9203],[9728,9731],[9748,9749],9752,[9754,9756],[9758,9759],[9785,9787],9832,9855,[9917,9928],9933,[9935,9937],[9939,9940],[9944,9945],9948,[9951,9953],9962,[9969,9973],[9975,9976],9978,[9981,9988],[9992,9993],10084,[11904,11929],[11931,12019],[12032,12245],[12272,12287],[12291,12292],[12294,12295],[12306,12307],[12320,12329],[12336,12340],[12342,12346],[12349,12351],12354,12356,12358,12360,[12362,12386],[12388,12418],12420,12422,[12424,12429],[12431,12436],12447,12450,12452,12454,12456,[12458,12482],[12484,12514],12516,12518,[12520,12525],[12527,12532],[12535,12538],12543,[12549,12591],[12593,12686],[12688,12773],12783,[12800,12830],[12832,12871],[12880,19903],[19968,40980],[40982,42124],[42128,42182],[43457,43462],[43466,43469],[43486,43487],43612,[63744,64255],[65072,65076],[65093,65094],[65097,65103],65105,65112,[65119,65126],65128,65131,[65282,65283],[65286,65287],[65290,65291],65293,[65295,65305],[65308,65310],[65312,65338],65340,[65342,65370],65372,65374,65382,[65393,65437],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65506,65508],[69705,69709],[69714,69733],70583,[70611,70613],[70615,70616],[73541,73551],[94196,94198],[94208,101119],[101632,101662],[101760,101874],[110592,110882],[110960,111355],[126976,127231],[127406,127461],[127488,127876],[127878,127899],[127902,127924],[127927,127931],[127933,127937],[127941,127942],[127944,127945],[127949,127994],[128e3,128065],[128068,128069],[128081,128101],[128121,128123],[128125,128128],128132,[128136,128142],128144,[128146,128159],128161,128163,[128165,128169],[128171,128174],128176,[128179,128255],[128263,128278],[128293,128305],[128330,128371],[128374,128377],[128379,128399],[128401,128404],[128407,128467],[128476,128499],[128506,128580],[128584,128586],[128640,128674],[128676,128691],[128695,128703],[128705,128715],[128717,128767],[128884,128886],[128891,128895],[128981,129023],[129293,129294],[129296,129303],[129312,129317],[129319,129327],[129338,129339],[129343,129398],[129400,129460],129463,129466,[129468,129484],129488,[129502,129535],[129624,129730],[129734,129775],[129785,129791],[130048,131069],[131072,196605],[196608,262141]],NO=[44,46,[58,59],894,1417,[1548,1549],2040,8260],MO=[[8228,8230],8943,65049,68342],OO=[[4352,4447],[43360,43388]],LO=[[4520,4607],[55243,55291]],kO=[[4448,4519],[55216,55238]],PO=[10],DO=[[11,12],[8232,8233]],UO=[133],BO=[6102,[8252,8253],[8263,8265],12293,12316,[12347,12348],[12443,12446],12448,12539,[12541,12542],40981,[65043,65044],[65108,65109],[65306,65307],65381,[65438,65439],[94176,94179],[94194,94195],[128633,128635]],VO=[[48,57],[1536,1541],[1632,1641],[1643,1644],1757,[1776,1785],[1984,1993],[2192,2193],2274,[2406,2415],[2534,2543],[2662,2671],[2790,2799],[2918,2927],[3046,3055],[3174,3183],[3302,3311],[3430,3439],[3558,3567],[3664,3673],[3792,3801],[3872,3881],[4160,4169],[4240,4249],[6112,6121],[6160,6169],[6470,6479],[6608,6618],[6784,6793],[6800,6809],[7088,7097],[7232,7241],[7248,7257],[42528,42537],[43216,43225],[43264,43273],[43504,43513],[44016,44025],[66720,66729],[68912,68921],[68928,68937],69821,69837,[69872,69881],[69942,69951],[70096,70105],[70384,70393],[70736,70745],[70864,70873],[71248,71257],[71360,71369],[71376,71395],[71472,71481],[71904,71913],[72688,72697],[72784,72793],[73040,73049],[73120,73129],[73184,73193],[92768,92777],[92864,92873],[93008,93017],[93552,93561],[118e3,118009],[120782,120831],[123200,123209],[123632,123641],[124144,124153],[124401,124410],[125264,125273],[130032,130041]],FO=[40,91,123,161,191,3898,3900,5787,8218,8222,8261,8317,8333,8968,8970,9001,10088,10090,10092,10094,10096,10098,10100,10181,10214,10216,10218,10220,10222,10627,10629,10631,10633,10635,10637,10639,10641,10643,10645,10647,10712,10714,10748,11800,11810,11812,11814,11816,11842,11861,11863,11865,11867,12296,12298,12300,12302,12304,12308,12310,12312,12314,12317,64831,65047,65077,65079,65081,65083,65085,65087,65089,65091,65095,65113,65115,65117,65288,65339,65371,65375,65378,[78424,78426],78470,78472,78713,78895,78903,78908,78910,83406,[125278,125279]],jO=[37,162,176,[1545,1547],1642,[2546,2547],2553,3449,[8240,8247],8279,8359,8374,8379,8382,8384,8451,8457,43064,65020,65130,65285,65504,[73693,73696],126124,126128],HO=[36,43,92,[163,165],177,1423,[2046,2047],2555,2801,3065,3647,6107,[8352,8358],[8360,8373],[8375,8378],[8380,8381],8383,[8385,8399],8470,[8722,8723],65129,65284,65505,[65509,65510],123647],WO=[34,39,171,187,[8216,8217],[8219,8221],8223,[8249,8250],[10075,10080],[11776,11789],[11804,11805],[11808,11809],[128630,128632]],zO=[[127462,127487]],XO=[32],qO=[[55296,57343]],GO=[1418,1470,5120,8208,[8210,8211],11799,11840,11869,68974,69293],YO=[[888,889],[896,899],907,909,930,1328,[1367,1368],[1419,1420],1424,[1480,1487],[1515,1518],[1525,1535],1806,[1867,1868],[1970,1983],[2043,2044],[2094,2095],2111,[2140,2141],2143,[2155,2159],[2194,2198],2436,[2445,2446],[2449,2450],2473,2481,[2483,2485],[2490,2491],[2501,2502],[2505,2506],[2511,2518],[2520,2523],2526,[2532,2533],[2559,2560],2564,[2571,2574],[2577,2578],2601,2609,2612,2615,[2618,2619],2621,[2627,2630],[2633,2634],[2638,2640],[2642,2648],2653,[2655,2661],[2679,2688],2692,2702,2706,2729,2737,2740,[2746,2747],2758,2762,[2766,2767],[2769,2783],[2788,2789],[2802,2808],2816,2820,[2829,2830],[2833,2834],2857,2865,2868,[2874,2875],[2885,2886],[2889,2890],[2894,2900],[2904,2907],2910,[2916,2917],[2936,2945],2948,[2955,2957],2961,[2966,2968],2971,2973,[2976,2978],[2981,2983],[2987,2989],[3002,3005],[3011,3013],3017,[3022,3023],[3025,3030],[3032,3045],[3067,3071],3085,3089,3113,[3130,3131],3141,3145,[3150,3156],3159,3163,[3166,3167],[3172,3173],[3184,3190],3213,3217,3241,3252,[3258,3259],3269,3273,[3278,3284],[3287,3291],3295,[3300,3301],3312,[3316,3327],3341,3345,3397,3401,[3408,3411],[3428,3429],3456,3460,[3479,3481],3506,3516,[3518,3519],[3527,3529],[3531,3534],3541,3543,[3552,3557],[3568,3569],[3573,3584],[3643,3646],[3676,3712],3715,3717,3723,3748,3750,[3774,3775],3781,3783,3791,[3802,3803],[3808,3839],3912,[3949,3952],3992,4029,4045,[4059,4095],4294,[4296,4300],[4302,4303],4681,[4686,4687],4695,4697,[4702,4703],4745,[4750,4751],4785,[4790,4791],4799,4801,[4806,4807],4823,4881,[4886,4887],[4955,4956],[4989,4991],[5018,5023],[5110,5111],[5118,5119],[5789,5791],[5881,5887],[5910,5918],[5943,5951],[5972,5983],5997,6001,[6004,6015],[6110,6111],[6122,6127],[6138,6143],[6170,6175],[6265,6271],[6315,6319],[6390,6399],6431,[6444,6447],[6460,6463],[6465,6467],[6510,6511],[6517,6527],[6572,6575],[6602,6607],[6619,6621],[6684,6685],6751,[6781,6782],[6794,6799],[6810,6815],[6830,6831],[6878,6879],[6892,6911],6989,[7156,7163],[7224,7226],[7242,7244],[7307,7311],[7355,7356],[7368,7375],[7419,7423],[7958,7959],[7966,7967],[8006,8007],[8014,8015],8024,8026,8028,8030,[8062,8063],8117,8133,[8148,8149],8156,[8176,8177],8181,8191,8293,[8306,8307],8335,[8349,8351],[8433,8447],[8588,8591],[9258,9279],[9291,9311],[11124,11125],[11508,11512],11558,[11560,11564],[11566,11567],[11624,11630],[11633,11646],[11671,11679],11687,11695,11703,11711,11719,11727,11735,11743,[11870,11903],11930,[12020,12031],[12246,12271],12352,[12439,12440],[12544,12548],12592,12687,[12774,12782],12831,[42125,42127],[42183,42191],[42540,42559],[42744,42751],[42973,42992],[43053,43055],[43066,43071],[43128,43135],[43206,43213],[43226,43231],[43348,43358],[43389,43391],43470,[43482,43485],43519,[43575,43583],[43598,43599],[43610,43611],[43715,43738],[43767,43776],[43783,43784],[43791,43792],[43799,43807],43815,43823,[43884,43887],[44014,44015],[44026,44031],[55204,55215],[55239,55242],[55292,55295],[57344,63743],[64263,64274],[64280,64284],64311,64317,64319,64322,64325,[64976,65007],[65050,65055],65107,65127,[65132,65135],65141,[65277,65278],65280,[65471,65473],[65480,65481],[65488,65489],[65496,65497],[65501,65503],65511,[65519,65528],[65534,65535],65548,65575,65595,65598,[65614,65615],[65630,65663],[65787,65791],[65795,65798],[65844,65846],65935,[65949,65951],[65953,65999],[66046,66175],[66205,66207],[66257,66271],[66300,66303],[66340,66348],[66379,66383],[66427,66431],66462,[66500,66503],[66518,66559],[66718,66719],[66730,66735],[66772,66775],[66812,66815],[66856,66863],[66916,66926],66939,66955,66963,66966,66978,66994,67002,[67005,67007],[67060,67071],[67383,67391],[67414,67423],[67432,67455],67462,67505,[67515,67583],[67590,67591],67593,67638,[67641,67643],[67645,67646],67670,[67743,67750],[67760,67807],67827,[67830,67834],[67868,67870],[67898,67902],[67930,67967],[68024,68027],[68048,68049],68100,[68103,68107],68116,68120,[68150,68151],[68155,68158],[68169,68175],[68185,68191],[68256,68287],[68327,68330],[68343,68351],[68406,68408],[68438,68439],[68467,68471],[68498,68504],[68509,68520],[68528,68607],[68681,68735],[68787,68799],[68851,68857],[68904,68911],[68922,68927],[68966,68968],[68998,69005],[69008,69215],69247,69290,[69294,69295],[69298,69313],[69320,69327],[69337,69369],[69416,69423],[69466,69487],[69514,69551],[69580,69599],[69623,69631],[69710,69713],[69750,69758],[69827,69836],[69838,69839],[69865,69871],[69882,69887],69941,[69960,69967],[70007,70015],70112,[70133,70143],70162,[70210,70271],70279,70281,70286,70302,[70314,70319],[70379,70383],[70394,70399],70404,[70413,70414],[70417,70418],70441,70449,70452,70458,[70469,70470],[70473,70474],[70478,70479],[70481,70486],[70488,70492],[70500,70501],[70509,70511],[70517,70527],70538,[70540,70541],70543,70582,70593,[70595,70596],70598,70603,70614,[70617,70624],[70627,70655],70748,[70754,70783],[70856,70863],[70874,71039],[71094,71095],[71134,71167],[71237,71247],[71258,71263],[71277,71295],[71354,71359],[71370,71375],[71396,71423],[71451,71452],[71468,71471],[71495,71679],[71740,71839],[71923,71934],[71943,71944],[71946,71947],71956,71959,71990,[71993,71994],[72007,72015],[72026,72095],[72104,72105],[72152,72153],[72165,72191],[72264,72271],[72355,72367],[72441,72447],[72458,72543],[72552,72639],[72674,72687],[72698,72703],72713,72759,[72774,72783],[72813,72815],[72848,72849],72872,[72887,72959],72967,72970,[73015,73017],73019,73022,[73032,73039],[73050,73055],73062,73065,73103,73106,[73113,73119],[73130,73135],[73180,73183],[73194,73439],[73465,73471],73489,[73531,73533],[73563,73647],[73649,73663],[73714,73726],[74650,74751],74863,[74869,74879],[75076,77711],[77811,77823],[78934,78943],[82939,82943],[83527,90367],[90426,92159],[92729,92735],92767,[92778,92781],92863,[92874,92879],[92910,92911],[92918,92927],[92998,93007],93018,93026,[93048,93052],[93072,93503],[93562,93759],[93851,93855],[93881,93882],[93908,93951],[94027,94030],[94088,94094],[94112,94175],[94181,94191],[94199,94207],[101590,101630],[101663,101759],[101875,110575],110580,110588,110591,[110883,110897],[110899,110927],[110931,110932],[110934,110947],[110952,110959],[111356,113663],[113771,113775],[113789,113791],[113801,113807],[113818,113819],[113828,117759],[118013,118015],[118452,118457],[118481,118495],[118513,118527],[118574,118575],[118599,118607],[118724,118783],[119030,119039],[119079,119080],[119275,119295],[119366,119487],[119508,119519],[119540,119551],[119639,119647],[119673,119807],119893,119965,[119968,119969],[119971,119972],[119975,119976],119981,119994,119996,120004,120070,[120075,120076],120085,120093,120122,120127,120133,[120135,120137],120145,[120486,120487],[120780,120781],[121484,121498],121504,[121520,122623],[122655,122660],[122667,122879],122887,[122905,122906],122914,122917,[122923,122927],[122990,123022],[123024,123135],[123181,123183],[123198,123199],[123210,123213],[123216,123535],[123567,123583],[123642,123646],[123648,124111],[124154,124367],[124411,124414],[124416,124607],124639,[124662,124669],[124672,124895],124903,124908,124911,124927,[125125,125126],[125143,125183],[125260,125263],[125274,125277],[125280,126064],[126133,126208],[126270,126463],126468,126496,126499,[126501,126502],126504,126515,126520,126522,[126524,126529],[126531,126534],126536,126538,126540,126544,126547,[126549,126550],126552,126554,126556,126558,126560,126563,[126565,126566],126571,126579,126584,126589,126591,126602,[126620,126624],126628,126634,[126652,126703],[126706,126975],[129036,129039],[129096,129103],[129114,129119],[129160,129167],[129198,129199],[129212,129215],[129218,129231],[129241,129279],129939,[130043,130047],[131070,131071],[196606,196607],[262142,917504],[917506,917535],[917632,917759],[918e3,1114111]],QO=[6980,43456,69702,70477,70608,71998,73538],ZO=[[7154,7155]],KO=[8288,65279],$O=[8205],JO=[8203],eL=[[65,90],[97,122],170,181,184,186,[192,214],[216,246],[248,727],[734,767],[880,884],[886,887],[890,893],895,902,[904,906],908,[910,929],[931,1013],[1015,1153],[1162,1327],[1329,1366],[1369,1372],1374,[1376,1416],1418,1523,[1568,1610],[1646,1647],[1649,1747],1749,[1765,1766],[1774,1775],[1786,1788],1791,[1807,1808],[1810,1839],[1869,1957],1969,[1994,2026],[2036,2037],2042,[2048,2069],2074,2084,2088,[2112,2136],[2144,2154],[2160,2183],[2185,2191],[2208,2249],[2308,2361],2365,2384,[2392,2401],[2417,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,2510,[2524,2525],[2527,2529],[2544,2545],2556,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],2654,[2674,2676],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],2749,2768,[2784,2785],2809,[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,[2908,2909],[2911,2913],2929,2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3024,[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3160,3162],[3164,3165],[3168,3169],3200,[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],3261,[3292,3294],[3296,3297],[3313,3314],[3332,3340],[3342,3344],[3346,3386],3389,3406,[3412,3414],[3423,3425],[3450,3455],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],3840,[3904,3911],[3913,3948],[3976,3980],[4256,4293],4295,4301,[4304,4346],[4348,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4992,5007],[5024,5109],[5112,5117],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5870,5880],[5888,5905],[5919,5937],[5952,5969],[5984,5996],[5998,6e3],[6176,6264],[6272,6276],[6279,6312],6314,[6320,6389],[6400,6430],[6656,6678],[6917,6963],[6981,6988],[7043,7072],[7086,7087],[7098,7141],[7168,7203],[7245,7247],[7258,7293],[7296,7306],[7312,7354],[7357,7359],[7401,7404],[7406,7411],[7413,7414],7418,[7424,7615],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8305,8319,[8336,8348],8450,8455,[8458,8467],8469,[8473,8477],8484,8486,8488,[8490,8493],[8495,8505],[8508,8511],[8517,8521],8526,[8544,8584],[9398,9449],[11264,11492],[11499,11502],[11506,11507],[11520,11557],11559,11565,[11568,11623],11631,[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],11823,12293,[12347,12348],[12549,12591],[12593,12686],[12704,12735],[40960,42124],[42192,42237],[42240,42508],[42512,42527],[42538,42539],[42560,42606],[42623,42653],[42656,42735],[42760,42972],[42993,43009],[43011,43013],[43015,43018],[43020,43042],[43072,43123],[43138,43187],[43250,43255],43259,[43261,43262],[43274,43301],[43312,43334],[43360,43388],[43396,43442],43471,[43520,43560],[43584,43586],[43588,43595],[43744,43754],[43762,43764],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43881],[43888,44002],[44032,55203],[55216,55238],[55243,55291],[64256,64262],[64275,64279],[64336,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65136,65140],[65142,65276],[65313,65338],[65345,65370],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65856,65908],[66176,66204],[66208,66256],[66304,66335],[66349,66378],[66384,66421],[66432,66461],[66464,66499],[66504,66511],[66513,66517],[66560,66717],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67008,67059],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67904,67929],[67968,68023],[68030,68031],68096,[68112,68115],[68117,68119],[68121,68149],[68192,68220],[68224,68252],[68288,68295],[68297,68324],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[68736,68786],[68800,68850],[68864,68899],[68938,68965],[68975,68997],[69248,69289],[69296,69297],[69314,69319],[69376,69404],69415,[69424,69445],[69488,69505],[69552,69572],[69600,69622],[69635,69687],[69745,69746],69749,[69763,69807],[69840,69864],[69891,69926],69956,69959,[69968,70002],70006,[70019,70066],[70081,70084],70106,70108,[70144,70161],[70163,70187],[70207,70208],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70366],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70480,[70493,70497],[70528,70537],70539,70542,[70544,70581],70583,70609,70611,[70656,70708],[70727,70730],[70751,70753],[70784,70831],[70852,70853],70855,[71040,71086],[71128,71131],[71168,71215],71236,[71296,71338],71352,[71680,71723],[71840,71903],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71983],71999,72001,[72096,72103],[72106,72144],72161,72163,72192,[72203,72242],72250,72272,[72284,72329],72349,[72368,72440],[72640,72672],[72704,72712],[72714,72750],72768,[72818,72847],[72960,72966],[72968,72969],[72971,73008],73030,[73056,73061],[73063,73064],[73066,73097],73112,[73136,73179],[73440,73458],73474,[73476,73488],[73490,73523],73648,[73728,74649],[74752,74862],[74880,75075],[77712,77808],[77824,78895],[78913,78918],[78944,82938],[82944,83526],[90368,90397],[92160,92728],[92736,92766],[92784,92862],[92880,92909],[92928,92975],[92992,92995],[93027,93047],[93053,93071],[93504,93548],[93760,93823],[93856,93880],[93883,93907],[93952,94026],94032,[94099,94111],[94176,94177],94179,[113664,113770],[113776,113788],[113792,113800],[113808,113817],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[122624,122654],[122661,122666],[122928,122989],[123136,123180],[123191,123197],123214,[123536,123565],[123584,123627],[124112,124139],[124368,124397],124400,[124608,124638],[124640,124642],[124644,124645],[124647,124653],[124656,124660],[124670,124671],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125184,125251],125259,[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[127280,127305],[127312,127337],[127344,127369]],tL=[13],rL=[34],nL=[[768,879],[1155,1161],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],2045,[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2199,2207],[2250,2273],[2275,2307],[2362,2364],[2366,2383],[2385,2391],[2402,2403],[2433,2435],2492,[2494,2500],[2503,2504],[2507,2509],2519,[2530,2531],2558,[2561,2563],2620,[2622,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2691],2748,[2750,2757],[2759,2761],[2763,2765],[2786,2787],[2810,2815],[2817,2819],2876,[2878,2884],[2887,2888],[2891,2893],[2901,2903],[2914,2915],2946,[3006,3010],[3014,3016],[3018,3021],3031,[3072,3076],3132,[3134,3140],[3142,3144],[3146,3149],[3157,3158],[3170,3171],[3201,3203],3260,[3262,3268],[3270,3272],[3274,3277],[3285,3286],[3298,3299],3315,[3328,3331],[3387,3388],[3390,3396],[3398,3400],[3402,3405],3415,[3426,3427],[3457,3459],3530,[3535,3540],3542,[3544,3551],[3570,3571],3633,[3636,3642],[3655,3662],3761,[3764,3772],[3784,3790],[3864,3865],3893,3895,3897,[3902,3903],[3953,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4139,4158],[4182,4185],[4190,4192],[4194,4196],[4199,4205],[4209,4212],[4226,4237],4239,[4250,4253],[4957,4959],[5906,5909],[5938,5940],[5970,5971],[6002,6003],[6068,6099],6109,[6155,6157],6159,[6277,6278],6313,[6432,6443],[6448,6459],[6679,6683],[6741,6750],[6752,6780],6783,[6832,6877],[6880,6891],[6912,6916],[6964,6980],[7019,7027],[7040,7042],[7073,7085],[7142,7155],[7204,7223],[7376,7378],[7380,7400],7405,7412,[7415,7417],[7616,7679],8204,[8400,8432],[11503,11505],11647,[11744,11775],[12330,12335],[12441,12442],[42607,42610],[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43043,43047],43052,[43136,43137],[43188,43205],[43232,43249],43263,[43302,43309],[43335,43347],[43392,43395],[43443,43456],43493,[43561,43574],43587,[43596,43597],[43643,43645],43696,[43698,43700],[43703,43704],[43710,43711],43713,[43755,43759],[43765,43766],[44003,44010],[44012,44013],64286,[65024,65039],[65056,65071],[65438,65439],66045,66272,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],[68900,68903],[68969,68973],[69291,69292],[69370,69375],[69446,69456],[69506,69509],[69632,69634],[69688,69702],69744,[69747,69748],[69759,69762],[69808,69818],69826,[69888,69890],[69927,69940],[69957,69958],70003,[70016,70018],[70067,70080],[70089,70092],[70094,70095],[70188,70199],70206,70209,[70367,70378],[70400,70403],[70459,70460],[70462,70468],[70471,70472],[70475,70477],70487,[70498,70499],[70502,70508],[70512,70516],[70584,70592],70594,70597,[70599,70602],[70604,70608],70610,[70625,70626],[70709,70726],70750,[70832,70851],[71087,71093],[71096,71104],[71132,71133],[71216,71232],[71339,71351],[71453,71467],[71724,71738],[71984,71989],[71991,71992],[71995,71998],72e3,[72002,72003],[72145,72151],[72154,72160],72164,[72193,72202],[72243,72249],[72251,72254],72263,[72273,72283],[72330,72345],[72544,72551],[72751,72758],[72760,72767],[72850,72871],[72873,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[73098,73102],[73104,73105],[73107,73111],[73459,73462],[73472,73473],73475,[73524,73530],[73534,73538],73562,78912,[78919,78933],[90398,90415],[92912,92916],[92976,92982],94031,[94033,94087],[94095,94098],94180,[94192,94193],[113821,113822],[118528,118573],[118576,118598],[119141,119145],[119149,119154],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],123023,[123184,123190],123566,[123628,123631],[124140,124143],[124398,124399],124643,124646,[124654,124655],124661,[125136,125142],[125252,125258],[127995,127999],[917536,917631],[917760,917999]],iL=[95,8239,[8255,8256],8276,[65075,65076],[65101,65103],65343],aL=[173,1564,6158,[8206,8207],[8234,8238],[8288,8292],[8294,8303],65279,[65529,65531],[78896,78911],[113824,113827],[119155,119162],917505],oL=[[1488,1514],[1519,1522],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335]],sL=[[12337,12341],[12443,12444],[12448,12538],[12540,12543],[12784,12799],[13008,13054],[13056,13143],[65382,65437],[110576,110579],[110581,110587],[110589,110590],110592,[110880,110882],110933,[110948,110951]],lL=[10],uL=[58,183,903,1375,1524,8231,65043,65109,65306],cL=[44,59,894,1417,[1548,1549],1644,2040,8260,65104,65108,65292,65307],dL=[46,[8216,8217],8228,65106,65287,65294],hL=[[11,12],133,[8232,8233]],mL=[[48,57],[1536,1541],[1632,1641],1643,1757,[1776,1785],[1984,1993],[2192,2193],2274,[2406,2415],[2534,2543],[2662,2671],[2790,2799],[2918,2927],[3046,3055],[3174,3183],[3302,3311],[3430,3439],[3558,3567],[3664,3673],[3792,3801],[3872,3881],[4160,4169],[4240,4249],[6112,6121],[6160,6169],[6470,6479],[6608,6618],[6784,6793],[6800,6809],[6992,7001],[7088,7097],[7232,7241],[7248,7257],[42528,42537],[43216,43225],[43264,43273],[43472,43481],[43504,43513],[43600,43609],[44016,44025],[65296,65305],[66720,66729],[68912,68921],[68928,68937],[69734,69743],69821,69837,[69872,69881],[69942,69951],[70096,70105],[70384,70393],[70736,70745],[70864,70873],[71248,71257],[71360,71369],[71376,71395],[71472,71481],[71904,71913],[72016,72025],[72688,72697],[72784,72793],[73040,73049],[73120,73129],[73184,73193],[73552,73561],[90416,90425],[92768,92777],[92864,92873],[93008,93017],[93552,93561],[118e3,118009],[120782,120831],[123200,123209],[123632,123641],[124144,124153],[124401,124410],[125264,125273],[130032,130041]],fL=[[0,9],[14,31],33,[35,38],[40,43],45,47,[60,64],[91,94],96,[123,132],[134,169],[171,172],[174,180],182,185,[187,191],215,247,[728,733],885,[888,889],[896,901],907,909,930,1014,1154,1328,[1367,1368],1373,[1419,1424],1470,1472,1475,1478,[1480,1487],[1515,1518],[1525,1535],[1542,1547],[1550,1551],1563,[1565,1567],1642,1645,1748,1758,1769,[1789,1790],[1792,1806],[1867,1868],[1970,1983],[2038,2039],2041,[2043,2044],[2046,2047],[2094,2111],[2140,2143],[2155,2159],2184,[2194,2198],[2404,2405],2416,2436,[2445,2446],[2449,2450],2473,2481,[2483,2485],[2490,2491],[2501,2502],[2505,2506],[2511,2518],[2520,2523],2526,[2532,2533],[2546,2555],2557,[2559,2560],2564,[2571,2574],[2577,2578],2601,2609,2612,2615,[2618,2619],2621,[2627,2630],[2633,2634],[2638,2640],[2642,2648],2653,[2655,2661],[2678,2688],2692,2702,2706,2729,2737,2740,[2746,2747],2758,2762,[2766,2767],[2769,2783],[2788,2789],[2800,2808],2816,2820,[2829,2830],[2833,2834],2857,2865,2868,[2874,2875],[2885,2886],[2889,2890],[2894,2900],[2904,2907],2910,[2916,2917],2928,[2930,2945],2948,[2955,2957],2961,[2966,2968],2971,2973,[2976,2978],[2981,2983],[2987,2989],[3002,3005],[3011,3013],3017,[3022,3023],[3025,3030],[3032,3045],[3056,3071],3085,3089,3113,[3130,3131],3141,3145,[3150,3156],3159,3163,[3166,3167],[3172,3173],[3184,3199],3204,3213,3217,3241,3252,[3258,3259],3269,3273,[3278,3284],[3287,3291],3295,[3300,3301],3312,[3316,3327],3341,3345,3397,3401,[3407,3411],[3416,3422],[3428,3429],[3440,3449],3456,3460,[3479,3481],3506,3516,[3518,3519],[3527,3529],[3531,3534],3541,3543,[3552,3557],[3568,3569],[3572,3632],[3634,3635],[3643,3654],3663,[3674,3760],[3762,3763],[3773,3783],3791,[3802,3839],[3841,3863],[3866,3871],[3882,3892],3894,3896,[3898,3901],3912,[3949,3952],3973,3992,[4029,4037],[4039,4138],4159,[4170,4181],[4186,4189],4193,[4197,4198],[4206,4208],[4213,4225],4238,[4254,4255],4294,[4296,4300],[4302,4303],4347,4681,[4686,4687],4695,4697,[4702,4703],4745,[4750,4751],4785,[4790,4791],4799,4801,[4806,4807],4823,4881,[4886,4887],[4955,4956],[4960,4991],[5008,5023],[5110,5111],[5118,5120],[5741,5742],[5787,5791],[5867,5869],[5881,5887],[5910,5918],[5941,5951],[5972,5983],5997,6001,[6004,6067],[6100,6108],[6110,6111],[6122,6154],[6170,6175],[6265,6271],[6315,6319],[6390,6399],6431,[6444,6447],[6460,6469],[6480,6607],[6619,6655],[6684,6740],6751,[6781,6782],[6794,6799],[6810,6831],[6878,6879],[6892,6911],[6989,6991],[7002,7018],[7028,7039],[7156,7167],[7224,7231],[7242,7244],[7294,7295],[7307,7311],[7355,7356],[7360,7375],7379,[7419,7423],[7958,7959],[7966,7967],[8006,8007],[8014,8015],8024,8026,8028,8030,[8062,8063],8117,8125,[8127,8129],8133,[8141,8143],[8148,8149],[8156,8159],[8173,8177],8181,[8189,8191],8199,8203,[8208,8215],[8218,8227],[8229,8230],[8240,8254],[8257,8259],[8261,8275],[8277,8286],8293,8304,[8306,8318],[8320,8335],[8349,8399],[8433,8449],[8451,8454],[8456,8457],8468,[8470,8472],[8478,8483],8485,8487,8489,8494,[8506,8507],[8512,8516],[8522,8525],[8527,8543],[8585,9397],[9450,11263],[11493,11498],[11508,11519],11558,[11560,11564],[11566,11567],[11624,11630],[11632,11646],[11671,11679],11687,11695,11703,11711,11719,11727,11735,11743,[11776,11822],[11824,12287],[12289,12292],[12294,12329],12336,[12342,12346],[12349,12440],[12445,12447],12539,[12544,12548],12592,[12687,12703],[12736,12783],[12800,13007],13055,[13144,40959],[42125,42191],[42238,42239],[42509,42511],[42540,42559],42611,42622,[42738,42759],[42973,42992],[43048,43051],[43053,43071],[43124,43135],[43206,43215],[43226,43231],[43256,43258],43260,[43310,43311],[43348,43359],[43389,43391],[43457,43470],[43482,43492],[43494,43503],[43514,43519],[43575,43583],[43598,43599],[43610,43642],[43646,43695],43697,[43701,43702],[43705,43709],43712,[43714,43743],[43760,43761],[43767,43776],[43783,43784],[43791,43792],[43799,43807],43815,43823,[43882,43887],44011,[44014,44015],[44026,44031],[55204,55215],[55239,55242],[55292,64255],[64263,64274],[64280,64284],64297,64311,64317,64319,64322,64325,[64434,64466],[64830,64847],[64912,64913],[64968,65007],[65020,65023],[65040,65042],[65044,65055],[65072,65074],[65077,65100],65105,65107,[65110,65135],65141,[65277,65278],[65280,65286],[65288,65291],65293,65295,[65308,65312],[65339,65342],65344,[65371,65381],[65471,65473],[65480,65481],[65488,65489],[65496,65497],[65501,65528],[65532,65535],65548,65575,65595,65598,[65614,65615],[65630,65663],[65787,65855],[65909,66044],[66046,66175],[66205,66207],[66257,66271],[66273,66303],[66336,66348],[66379,66383],[66427,66431],[66462,66463],[66500,66503],66512,[66518,66559],[66718,66719],[66730,66735],[66772,66775],[66812,66815],[66856,66863],[66916,66927],66939,66955,66963,66966,66978,66994,67002,[67005,67007],[67060,67071],[67383,67391],[67414,67423],[67432,67455],67462,67505,[67515,67583],[67590,67591],67593,67638,[67641,67643],[67645,67646],[67670,67679],[67703,67711],[67743,67807],67827,[67830,67839],[67862,67871],[67898,67903],[67930,67967],[68024,68029],[68032,68095],68100,[68103,68107],68116,68120,[68150,68151],[68155,68158],[68160,68191],[68221,68223],[68253,68287],68296,[68327,68351],[68406,68415],[68438,68447],[68467,68479],[68498,68607],[68681,68735],[68787,68799],[68851,68863],[68904,68911],[68922,68927],[68966,68968],68974,[68998,69247],69290,[69293,69295],[69298,69313],[69320,69369],[69405,69414],[69416,69423],[69457,69487],[69510,69551],[69573,69599],[69623,69631],[69703,69733],[69750,69758],[69819,69820],[69822,69825],[69827,69836],[69838,69839],[69865,69871],[69882,69887],69941,[69952,69955],[69960,69967],[70004,70005],[70007,70015],[70085,70088],70093,70107,[70109,70143],70162,[70200,70205],[70210,70271],70279,70281,70286,70302,[70313,70319],[70379,70383],[70394,70399],70404,[70413,70414],[70417,70418],70441,70449,70452,70458,[70469,70470],[70473,70474],[70478,70479],[70481,70486],[70488,70492],[70500,70501],[70509,70511],[70517,70527],70538,[70540,70541],70543,70582,70593,[70595,70596],70598,70603,[70612,70624],[70627,70655],[70731,70735],[70746,70749],[70754,70783],70854,[70856,70863],[70874,71039],[71094,71095],[71105,71127],[71134,71167],[71233,71235],[71237,71247],[71258,71295],[71353,71359],[71370,71375],[71396,71452],[71468,71471],[71482,71679],[71739,71839],[71914,71934],[71943,71944],[71946,71947],71956,71959,71990,[71993,71994],[72004,72015],[72026,72095],[72104,72105],[72152,72153],72162,[72165,72191],[72255,72262],[72264,72271],[72346,72348],[72350,72367],[72441,72543],[72552,72639],[72673,72687],[72698,72703],72713,72759,[72769,72783],[72794,72817],[72848,72849],72872,[72887,72959],72967,72970,[73015,73017],73019,73022,[73032,73039],[73050,73055],73062,73065,73103,73106,[73113,73119],[73130,73135],[73180,73183],[73194,73439],[73463,73471],73489,[73531,73533],[73539,73551],[73563,73647],[73649,73727],[74650,74751],[74863,74879],[75076,77711],[77809,77823],[78934,78943],[82939,82943],[83527,90367],[90426,92159],[92729,92735],92767,[92778,92783],92863,[92874,92879],[92910,92911],[92917,92927],[92983,92991],[92996,93007],[93018,93026],[93048,93052],[93072,93503],[93549,93551],[93562,93759],[93824,93855],[93881,93882],[93908,93951],[94027,94030],[94088,94094],[94112,94175],94178,[94181,94191],[94194,110575],110580,110588,110591,[110593,110879],[110883,110932],[110934,110947],[110952,113663],[113771,113775],[113789,113791],[113801,113807],[113818,113820],113823,[113828,117999],[118010,118527],[118574,118575],[118599,119140],[119146,119148],[119171,119172],[119180,119209],[119214,119361],[119365,119807],119893,119965,[119968,119969],[119971,119972],[119975,119976],119981,119994,119996,120004,120070,[120075,120076],120085,120093,120122,120127,120133,[120135,120137],120145,[120486,120487],120513,120539,120571,120597,120629,120655,120687,120713,120745,120771,[120780,120781],[120832,121343],[121399,121402],[121453,121460],[121462,121475],[121477,121498],121504,[121520,122623],[122655,122660],[122667,122879],122887,[122905,122906],122914,122917,[122923,122927],[122990,123022],[123024,123135],[123181,123183],[123198,123199],[123210,123213],[123215,123535],[123567,123583],[123642,124111],[124154,124367],[124411,124607],124639,[124662,124669],[124672,124895],124903,124908,124911,124927,[125125,125135],[125143,125183],[125260,125263],[125274,126463],126468,126496,126499,[126501,126502],126504,126515,126520,126522,[126524,126529],[126531,126534],126536,126538,126540,126544,126547,[126549,126550],126552,126554,126556,126558,126560,126563,[126565,126566],126571,126579,126584,126589,126591,126602,[126620,126624],126628,126634,[126652,127279],[127306,127311],[127338,127343],[127370,127461],[127488,127994],[128e3,130031],[130042,917504],[917506,917535],[917632,917759],[918e3,1114111]],gL=[[127462,127487]],pL=[39],vL=[32,5760,[8192,8198],[8200,8202],8287,12288],bL=[8205],CL=[],yL=[],_L=[];function wL(e){const t=Object.keys(e);if(0===t.length)throw new Error("Expected at least one category, but received 0.");if(t.some(t=>{const r=e[t];return void 0===r||0===r.length}))throw new Error("Expected at least one sub category, but received 0.");return t.map(t=>{const r=e[t].map(e=>function(e,t){const r=f[e][t];return(new Ep).union(...r)}(t,e));return(new Ep).union(...r)}).reduce((e,t)=>e.intersect(t))}const EL=wL({Script:["Han","Katakana","Hiragana","Hangul","Bopomofo"],General_Category:["Other_Letter","Letter_Number","Other_Symbol","Modifier_Letter"]}),SL=wL({Block:["CJK_Compatibility","CJK_Symbols_And_Punctuation","Vertical_Forms","CJK_Compatibility_Forms","Small_Form_Variants","Halfwidth_And_Fullwidth_Forms","Ideographic_Description_Characters","Kanbun","CJK_Strokes","Enclosed_CJK_Letters_And_Months","Katakana"]}).subtract(EL),AL=Sp(EL,SL);function IL(){for(var e=[],t=0;t0&&(t=new wn({next:function(e){return g.next(e)},error:function(e){c=!0,d(),n=OL(h,i,e),g.error(e)},complete:function(){u=!0,d(),n=OL(h,o),g.complete()}}),ui(e).subscribe(t))})(e)}}function OL(e,t){for(var r=[],n=2;n=r)){var i,a=t.charCodeAt(n);return a>=55296&&a<=56319&&r>n+1&&(i=t.charCodeAt(n+1))>=56320&&i<=57343?1024*(a-55296)+i-56320+65536:a}},xL?xL(String.prototype,"codePointAt",{value:TL,configurable:!0,writable:!0}):String.prototype.codePointAt=TL);var DL=new kL,UL=new kL,BL=new Uint8Array(30),VL=new Uint16Array(30),FL=new Uint8Array(30),jL=new Uint16Array(30),HL=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),WL=new kL,zL=new Uint8Array(320);function XL(e,t,r,n){var i,a;for(i=0;i>>=1,t}function QL(e,t,r){if(!t)return r;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>16-t;return e.tag>>>=t,e.bitcount-=t,n+r}function ZL(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>=1,++i,r+=t.table[i],n-=t.table[i]}while(n>=0);return e.tag=a,e.bitcount-=i,t.trans[r+n]}function KL(e,t,r){var n,i,a,o,s,l;for(n=QL(e,5,257),i=QL(e,5,1),a=QL(e,4,4),o=0;o<19;++o)zL[o]=0;for(o=0;o8;)e.sourceIndex--,e.bitcount-=8;if((t=256*(t=e.source[e.sourceIndex+1])+e.source[e.sourceIndex])!==(65535&~(256*e.source[e.sourceIndex+3]+e.source[e.sourceIndex+2])))return-3;for(e.sourceIndex+=4,r=t;r;--r)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,0}!function(e,t){var r;for(r=0;r<7;++r)e.table[r]=0;for(e.table[7]=24,e.table[8]=152,e.table[9]=112,r=0;r<24;++r)e.trans[r]=256+r;for(r=0;r<144;++r)e.trans[24+r]=r;for(r=0;r<8;++r)e.trans[168+r]=280+r;for(r=0;r<112;++r)e.trans[176+r]=144+r;for(r=0;r<5;++r)t.table[r]=0;for(t.table[5]=32,r=0;r<32;++r)t.trans[r]=r}(DL,UL),XL(BL,VL,4,3),XL(FL,jL,2,1),BL[28]=0,VL[28]=258;function ek(e,t,r,n,i){return Math.pow(1-i,3)*e+3*Math.pow(1-i,2)*i*t+3*(1-i)*Math.pow(i,2)*r+Math.pow(i,3)*n}function tk(){this.x1=Number.NaN,this.y1=Number.NaN,this.x2=Number.NaN,this.y2=Number.NaN}function rk(){this.commands=[],this.fill="black",this.stroke=null,this.strokeWidth=1}function nk(e){throw new Error(e)}function ik(e,t){e||nk(t)}tk.prototype.isEmpty=function(){return isNaN(this.x1)||isNaN(this.y1)||isNaN(this.x2)||isNaN(this.y2)},tk.prototype.addPoint=function(e,t){"number"==typeof e&&((isNaN(this.x1)||isNaN(this.x2))&&(this.x1=e,this.x2=e),ethis.x2&&(this.x2=e)),"number"==typeof t&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=t,this.y2=t),tthis.y2&&(this.y2=t))},tk.prototype.addX=function(e){this.addPoint(e,null)},tk.prototype.addY=function(e){this.addPoint(null,e)},tk.prototype.addBezier=function(e,t,r,n,i,a,o,s){var l=[e,t],u=[r,n],c=[i,a],d=[o,s];this.addPoint(e,t),this.addPoint(o,s);for(var h=0;h<=1;h++){var m=6*l[h]-12*u[h]+6*c[h],f=-3*l[h]+9*u[h]-9*c[h]+3*d[h],g=3*u[h]-3*l[h];if(0!==f){var p=Math.pow(m,2)-4*g*f;if(!(p<0)){var v=(-m+Math.sqrt(p))/(2*f);0=0&&n>0&&(r+=" "),r+=t(i)}return r}e=void 0!==e?e:2;for(var n="",i=0;i"},rk.prototype.toDOMElement=function(e){var t=this.toPathData(e),r=document.createElementNS("http://www.w3.org/2000/svg","path");return r.setAttribute("d",t),r};var ak={fail:nk,argument:ik,assert:ik},ok=2147483648,sk={},lk={},uk={};function ck(e){return function(){return e}}lk.BYTE=function(e){return ak.argument(e>=0&&e<=255,"Byte value should be between 0 and 255."),[e]},uk.BYTE=ck(1),lk.CHAR=function(e){return[e.charCodeAt(0)]},uk.CHAR=ck(1),lk.CHARARRAY=function(e){void 0===e&&(e="",console.warn("Undefined CHARARRAY encountered and treated as an empty string. This is probably caused by a missing glyph name."));for(var t=[],r=0;r>8&255,255&e]},uk.USHORT=ck(2),lk.SHORT=function(e){return e>=32768&&(e=-(65536-e)),[e>>8&255,255&e]},uk.SHORT=ck(2),lk.UINT24=function(e){return[e>>16&255,e>>8&255,255&e]},uk.UINT24=ck(3),lk.ULONG=function(e){return[e>>24&255,e>>16&255,e>>8&255,255&e]},uk.ULONG=ck(4),lk.LONG=function(e){return e>=ok&&(e=-(2*ok-e)),[e>>24&255,e>>16&255,e>>8&255,255&e]},uk.LONG=ck(4),lk.FIXED=lk.ULONG,uk.FIXED=uk.ULONG,lk.FWORD=lk.SHORT,uk.FWORD=uk.SHORT,lk.UFWORD=lk.USHORT,uk.UFWORD=uk.USHORT,lk.LONGDATETIME=function(e){return[0,0,0,0,e>>24&255,e>>16&255,e>>8&255,255&e]},uk.LONGDATETIME=ck(8),lk.TAG=function(e){return ak.argument(4===e.length,"Tag should be exactly 4 ASCII characters."),[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]},uk.TAG=ck(4),lk.Card8=lk.BYTE,uk.Card8=uk.BYTE,lk.Card16=lk.USHORT,uk.Card16=uk.USHORT,lk.OffSize=lk.BYTE,uk.OffSize=uk.BYTE,lk.SID=lk.USHORT,uk.SID=uk.USHORT,lk.NUMBER=function(e){return e>=-107&&e<=107?[e+139]:e>=108&&e<=1131?[247+((e-=108)>>8),255&e]:e>=-1131&&e<=-108?[251+((e=-e-108)>>8),255&e]:e>=-32768&&e<=32767?lk.NUMBER16(e):lk.NUMBER32(e)},uk.NUMBER=function(e){return lk.NUMBER(e).length},lk.NUMBER16=function(e){return[28,e>>8&255,255&e]},uk.NUMBER16=ck(3),lk.NUMBER32=function(e){return[29,e>>24&255,e>>16&255,e>>8&255,255&e]},uk.NUMBER32=ck(5),lk.REAL=function(e){var t=e.toString(),r=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(t);if(r){var n=parseFloat("1e"+((r[2]?+r[2]:0)+r[1].length));t=(Math.round(e*n)/n).toString()}for(var i="",a=0,o=t.length;a>8&255,t[t.length]=255&n}return t},uk.UTF16=function(e){return 2*e.length};var dk={"x-mac-croatian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈ƫȅ ÀÃÕŒœĐ—“”‘’÷◊©⁄€‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ","x-mac-cyrillic":"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю","x-mac-gaelic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØḂ±≤≥ḃĊċḊḋḞḟĠġṀæøṁṖṗɼƒſṠ«»… ÀÃÕŒœ–—“”‘’ṡẛÿŸṪ€‹›Ŷŷṫ·Ỳỳ⁊ÂÊÁËÈÍÎÏÌÓÔ♣ÒÚÛÙıÝýŴŵẄẅẀẁẂẃ","x-mac-greek":"Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦€ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ­","x-mac-icelandic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüݰ¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-inuit":"ᐃᐄᐅᐆᐊᐋᐱᐲᐳᐴᐸᐹᑉᑎᑏᑐᑑᑕᑖᑦᑭᑮᑯᑰᑲᑳᒃᒋᒌᒍᒎᒐᒑ°ᒡᒥᒦ•¶ᒧ®©™ᒨᒪᒫᒻᓂᓃᓄᓅᓇᓈᓐᓯᓰᓱᓲᓴᓵᔅᓕᓖᓗᓘᓚᓛᓪᔨᔩᔪᔫᔭ… ᔮᔾᕕᕖᕗ–—“”‘’ᕘᕙᕚᕝᕆᕇᕈᕉᕋᕌᕐᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᙱᙲᙳᙴᙵᙶᖖᖠᖡᖢᖣᖤᖥᖦᕼŁł","x-mac-ce":"ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ",macintosh:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-romanian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂȘ∞±≤≥¥µ∂∑∏π∫ªºΩăș¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›Țț‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-turkish":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙˆ˜¯˘˙˚¸˝˛ˇ"};sk.MACSTRING=function(e,t,r,n){var i=dk[n];if(void 0!==i){for(var a="",o=0;o=-128&&e<=127}function gk(e,t,r){for(var n=0,i=e.length;t>8&255,l+256&255)}return a}lk.MACSTRING=function(e,t){var r=function(e){if(!hk)for(var t in hk={},dk)hk[t]=new String(t);var r=hk[e];if(void 0!==r){if(mk){var n=mk.get(r);if(void 0!==n)return n}var i=dk[e];if(void 0!==i){for(var a={},o=0;o=128&&void 0===(a=r[a]))return;n[i]=a}return n}},uk.MACSTRING=function(e,t){var r=lk.MACSTRING(e,t);return void 0!==r?r.length:0},lk.VARDELTAS=function(e){for(var t=0,r=[];t=-128&&n<=127?pk(e,t,r):vk(e,t,r)}return r},lk.INDEX=function(e){for(var t=1,r=[t],n=[],i=0;i>8,t[d+1]=255&h,t=t.concat(n[c])}return t},uk.TABLE=function(e){for(var t=0,r=e.fields.length,n=0;n0)return new Lk(this.data,this.offset+t).parseStruct(e)},Lk.prototype.parsePointer32=function(e){var t=this.parseOffset32();if(t>0)return new Lk(this.data,this.offset+t).parseStruct(e)},Lk.prototype.parseListOfLists=function(e){for(var t=this.parseOffset16List(),r=t.length,n=this.relativeOffset,i=new Array(r),a=0;a=0;i-=1){var a=Pk.getUShort(e,t+4+8*i),o=Pk.getUShort(e,t+4+8*i+2);if(3===a&&(0===o||1===o||10===o)||0===a&&(0===o||1===o||2===o||3===o||4===o)){n=Pk.getULong(e,t+4+8*i+4);break}}if(-1===n)throw new Error("No valid cmap sub-tables found.");var s=new Pk.Parser(e,t+n);if(r.format=s.parseUShort(),12===r.format)!function(e,t){var r;t.parseUShort(),e.length=t.parseULong(),e.language=t.parseULong(),e.groupCount=r=t.parseULong(),e.glyphIndexMap={};for(var n=0;n>1,t.skip("uShort",3),e.glyphIndexMap={};for(var o=new Pk.Parser(r,n+i+14),s=new Pk.Parser(r,n+i+16+2*a),l=new Pk.Parser(r,n+i+16+4*a),u=new Pk.Parser(r,n+i+16+6*a),c=n+i+16+8*a,d=0;d0;t-=1)if(e.get(t).unicode>65535){console.log("Adding CMAP format 12 (needed!)"),r=!1;break}var n=[{name:"version",type:"USHORT",value:0},{name:"numTables",type:"USHORT",value:r?1:2},{name:"platformID",type:"USHORT",value:3},{name:"encodingID",type:"USHORT",value:1},{name:"offset",type:"ULONG",value:r?12:20}];r||(n=n.concat([{name:"cmap12PlatformID",type:"USHORT",value:3},{name:"cmap12EncodingID",type:"USHORT",value:10},{name:"cmap12Offset",type:"ULONG",value:0}])),n=n.concat([{name:"format",type:"USHORT",value:4},{name:"cmap4Length",type:"USHORT",value:0},{name:"language",type:"USHORT",value:0},{name:"segCountX2",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);var i=new Rk.Table("cmap",n);for(i.segments=[],t=0;t>4,a=15&n;if(15===i)break;if(t+=r[i],15===a)break;t+=r[a]}return parseFloat(t)}(e);if(t>=32&&t<=246)return t-139;if(t>=247&&t<=250)return 256*(t-247)+e.parseByte()+108;if(t>=251&&t<=254)return 256*-(t-251)-e.parseByte()-108;throw new Error("Invalid b0 "+t)}function rP(e,t,r){t=void 0!==t?t:0;var n=new Pk.Parser(e,t),i=[],a=[];for(r=void 0!==r?r:e.length;n.relativeOffset>1,h.length=0,f=!0}return function r(u){for(var b,C,E,S,A,I,R,x,T,N,M,O,L=0;L1&&!f&&(y=h.shift()+c,f=!0),v+=h.pop(),_(p,v);break;case 5:for(;h.length>0;)p+=h.shift(),v+=h.shift(),d.lineTo(p,v);break;case 6:for(;h.length>0&&(p+=h.shift(),d.lineTo(p,v),0!==h.length);)v+=h.shift(),d.lineTo(p,v);break;case 7:for(;h.length>0&&(v+=h.shift(),d.lineTo(p,v),0!==h.length);)p+=h.shift(),d.lineTo(p,v);break;case 8:for(;h.length>0;)n=p+h.shift(),i=v+h.shift(),a=n+h.shift(),o=i+h.shift(),p=a+h.shift(),v=o+h.shift(),d.curveTo(n,i,a,o,p,v);break;case 10:A=h.pop()+l,(I=s[A])&&r(I);break;case 11:return;case 12:switch(k=u[L],L+=1,k){case 35:n=p+h.shift(),i=v+h.shift(),a=n+h.shift(),o=i+h.shift(),R=a+h.shift(),x=o+h.shift(),T=R+h.shift(),N=x+h.shift(),M=T+h.shift(),O=N+h.shift(),p=M+h.shift(),v=O+h.shift(),h.shift(),d.curveTo(n,i,a,o,R,x),d.curveTo(T,N,M,O,p,v);break;case 34:n=p+h.shift(),i=v,a=n+h.shift(),o=i+h.shift(),R=a+h.shift(),x=o,T=R+h.shift(),N=o,M=T+h.shift(),O=v,p=M+h.shift(),d.curveTo(n,i,a,o,R,x),d.curveTo(T,N,M,O,p,v);break;case 36:n=p+h.shift(),i=v+h.shift(),a=n+h.shift(),o=i+h.shift(),R=a+h.shift(),x=o,T=R+h.shift(),N=o,M=T+h.shift(),O=N+h.shift(),p=M+h.shift(),d.curveTo(n,i,a,o,R,x),d.curveTo(T,N,M,O,p,v);break;case 37:n=p+h.shift(),i=v+h.shift(),a=n+h.shift(),o=i+h.shift(),R=a+h.shift(),x=o+h.shift(),T=R+h.shift(),N=x+h.shift(),M=T+h.shift(),O=N+h.shift(),Math.abs(M-p)>Math.abs(O-v)?p=M+h.shift():v=O+h.shift(),d.curveTo(n,i,a,o,R,x),d.curveTo(T,N,M,O,p,v);break;default:console.log("Glyph "+t.index+": unknown operator 1200"+k),h.length=0}break;case 14:h.length>0&&!f&&(y=h.shift()+c,f=!0),g&&(d.closePath(),g=!1);break;case 19:case 20:w(),L+=m+7>>3;break;case 21:h.length>2&&!f&&(y=h.shift()+c,f=!0),v+=h.pop(),_(p+=h.pop(),v);break;case 22:h.length>1&&!f&&(y=h.shift()+c,f=!0),_(p+=h.pop(),v);break;case 24:for(;h.length>2;)n=p+h.shift(),i=v+h.shift(),a=n+h.shift(),o=i+h.shift(),p=a+h.shift(),v=o+h.shift(),d.curveTo(n,i,a,o,p,v);p+=h.shift(),v+=h.shift(),d.lineTo(p,v);break;case 25:for(;h.length>6;)p+=h.shift(),v+=h.shift(),d.lineTo(p,v);n=p+h.shift(),i=v+h.shift(),a=n+h.shift(),o=i+h.shift(),p=a+h.shift(),v=o+h.shift(),d.curveTo(n,i,a,o,p,v);break;case 26:for(h.length%2&&(p+=h.shift());h.length>0;)n=p,i=v+h.shift(),a=n+h.shift(),o=i+h.shift(),p=a,v=o+h.shift(),d.curveTo(n,i,a,o,p,v);break;case 27:for(h.length%2&&(v+=h.shift());h.length>0;)n=p+h.shift(),i=v,a=n+h.shift(),o=i+h.shift(),p=a+h.shift(),v=o,d.curveTo(n,i,a,o,p,v);break;case 28:b=u[L],C=u[L+1],h.push((b<<24|C<<16)>>16),L+=2;break;case 29:A=h.pop()+e.gsubrsBias,(I=e.gsubrs[A])&&r(I);break;case 30:for(;h.length>0&&(n=p,i=v+h.shift(),a=n+h.shift(),o=i+h.shift(),p=a+h.shift(),v=o+(1===h.length?h.shift():0),d.curveTo(n,i,a,o,p,v),0!==h.length);)n=p+h.shift(),i=v,a=n+h.shift(),o=i+h.shift(),v=o+h.shift(),p=a+(1===h.length?h.shift():0),d.curveTo(n,i,a,o,p,v);break;case 31:for(;h.length>0&&(n=p+h.shift(),i=v,a=n+h.shift(),o=i+h.shift(),v=o+h.shift(),p=a+(1===h.length?h.shift():0),d.curveTo(n,i,a,o,p,v),0!==h.length);)n=p,i=v+h.shift(),a=n+h.shift(),o=i+h.shift(),p=a+h.shift(),v=o+(1===h.length?h.shift():0),d.curveTo(n,i,a,o,p,v);break;default:k<32?console.log("Glyph "+t.index+": unknown operator "+k):k<247?h.push(k-139):k<251?(b=u[L],L+=1,h.push(256*(k-247)+b+108)):k<255?(b=u[L],L+=1,h.push(256*-(k-251)-b-108)):(b=u[L],C=u[L+1],E=u[L+2],S=u[L+3],L+=4,h.push((b<<24|C<<16|E<<8|S)/65536))}}}(r),t.advanceWidth=y,d}function dP(e,t){var r,n=Vk.indexOf(e);return n>=0&&(r=n),(n=t.indexOf(e))>=0?r=n+Vk.length:(r=Vk.length+t.length,t.push(e)),r}function hP(e,t,r){for(var n={},i=0;i=n)throw new Error("CFF table CID Font FDSelect has bad FD index value "+i+" (FD count "+n+")");a.push(i)}else{if(3!==s)throw new Error("CFF Table CID Font FDSelect table has unsupported format "+s);var u,c=o.parseCard16(),d=o.parseCard16();if(0!==d)throw new Error("CFF Table CID Font FDSelect format 3 range has bad initial GID "+d);for(var h=0;h=n)throw new Error("CFF table CID Font FDSelect has bad FD index value "+i+" (FD count "+n+")");if(u>r)throw new Error("CFF Table CID Font FDSelect format 3 range has bad GID "+u);for(;d=1&&(r.ulCodePageRange1=n.parseULong(),r.ulCodePageRange2=n.parseULong()),r.version>=2&&(r.sxHeight=n.parseShort(),r.sCapHeight=n.parseShort(),r.usDefaultChar=n.parseUShort(),r.usBreakChar=n.parseUShort(),r.usMaxContent=n.parseUShort()),r},zP=function(e){return new Rk.Table("OS/2",[{name:"version",type:"USHORT",value:3},{name:"xAvgCharWidth",type:"SHORT",value:0},{name:"usWeightClass",type:"USHORT",value:0},{name:"usWidthClass",type:"USHORT",value:0},{name:"fsType",type:"USHORT",value:0},{name:"ySubscriptXSize",type:"SHORT",value:650},{name:"ySubscriptYSize",type:"SHORT",value:699},{name:"ySubscriptXOffset",type:"SHORT",value:0},{name:"ySubscriptYOffset",type:"SHORT",value:140},{name:"ySuperscriptXSize",type:"SHORT",value:650},{name:"ySuperscriptYSize",type:"SHORT",value:699},{name:"ySuperscriptXOffset",type:"SHORT",value:0},{name:"ySuperscriptYOffset",type:"SHORT",value:479},{name:"yStrikeoutSize",type:"SHORT",value:49},{name:"yStrikeoutPosition",type:"SHORT",value:258},{name:"sFamilyClass",type:"SHORT",value:0},{name:"bFamilyType",type:"BYTE",value:0},{name:"bSerifStyle",type:"BYTE",value:0},{name:"bWeight",type:"BYTE",value:0},{name:"bProportion",type:"BYTE",value:0},{name:"bContrast",type:"BYTE",value:0},{name:"bStrokeVariation",type:"BYTE",value:0},{name:"bArmStyle",type:"BYTE",value:0},{name:"bLetterform",type:"BYTE",value:0},{name:"bMidline",type:"BYTE",value:0},{name:"bXHeight",type:"BYTE",value:0},{name:"ulUnicodeRange1",type:"ULONG",value:0},{name:"ulUnicodeRange2",type:"ULONG",value:0},{name:"ulUnicodeRange3",type:"ULONG",value:0},{name:"ulUnicodeRange4",type:"ULONG",value:0},{name:"achVendID",type:"CHARARRAY",value:"XXXX"},{name:"fsSelection",type:"USHORT",value:0},{name:"usFirstCharIndex",type:"USHORT",value:0},{name:"usLastCharIndex",type:"USHORT",value:0},{name:"sTypoAscender",type:"SHORT",value:0},{name:"sTypoDescender",type:"SHORT",value:0},{name:"sTypoLineGap",type:"SHORT",value:0},{name:"usWinAscent",type:"USHORT",value:0},{name:"usWinDescent",type:"USHORT",value:0},{name:"ulCodePageRange1",type:"ULONG",value:0},{name:"ulCodePageRange2",type:"ULONG",value:0},{name:"sxHeight",type:"SHORT",value:0},{name:"sCapHeight",type:"SHORT",value:0},{name:"usDefaultChar",type:"USHORT",value:0},{name:"usBreakChar",type:"USHORT",value:0},{name:"usMaxContext",type:"USHORT",value:0}],e)},XP=function(e){for(var t=0;t=r.begin&&e=Hk.length){var o=n.parseChar();r.names.push(n.parseString(o))}break;case 2.5:r.numberOfGlyphs=n.parseUShort(),r.offset=new Array(r.numberOfGlyphs);for(var s=0;st.value.tag?1:-1}),t.fields=t.fields.concat(n),t.fields=t.fields.concat(i),t}function aD(e,t,r){for(var n=0;n0)return e.glyphs.get(i).getMetrics()}return r}function oD(e){for(var t=0,r=0;rp||void 0===t)&&p>0&&(t=p),u 123 are reserved for internal usage");m|=1<0?SP(O):void 0,P=GP(),D=vP(e.glyphs,{version:e.getEnglishName("version"),fullName:x,familyName:I,weightName:R,postScriptName:T,unitsPerEm:e.unitsPerEm,fontBBox:[0,C.yMin,C.ascender,C.advanceWidthMax]}),U=e.metas&&Object.keys(e.metas).length>0?eD(e.metas):void 0,B=[y,_,w,E,L,A,P,D,S];k&&B.push(k),e.tables.gsub&&B.push($P(e.tables.gsub)),U&&B.push(U);for(var V=iD(B),F=rD(V.encode()),j=V.fields,H=!1,W=0;W>>1,a=e[i].tag;if(a===t)return i;a>>1,a=e[i];if(a===t)return i;a>>1,o=(r=e[a]).start;if(o===t)return r;o0)return t>(r=e[n-1]).end?0:r}function dD(e,t){this.font=e,this.tableName=t}function hD(e){dD.call(this,e,"gpos")}function mD(e){dD.call(this,e,"gsub")}function fD(e,t){var r=e.length;if(r!==t.length)return!1;for(var n=0;n0?(a=e.parseByte(),0===(t&i)&&(a=-a),a=r+a):a=(t&i)>0?r:r+e.parseShort(),a}function bD(e,t,r){var n,i,a=new Pk.Parser(t,r);if(e.numberOfContours=a.parseShort(),e._xMin=a.parseShort(),e._yMin=a.parseShort(),e._xMax=a.parseShort(),e._yMax=a.parseShort(),e.numberOfContours>0){for(var o=e.endPointIndices=[],s=0;s0)for(var d=a.parseByte(),h=0;h0){var m,f=[];if(u>0){for(var g=0;g=0,f.push(m);for(var p=0,v=0;v0?(2&n)>0?(_.dx=a.parseShort(),_.dy=a.parseShort()):_.matchedPoints=[a.parseUShort(),a.parseUShort()]:(2&n)>0?(_.dx=a.parseChar(),_.dy=a.parseChar()):_.matchedPoints=[a.parseByte(),a.parseByte()],(8&n)>0?_.xScale=_.yScale=a.parseF2Dot14():(64&n)>0?(_.xScale=a.parseF2Dot14(),_.yScale=a.parseF2Dot14()):(128&n)>0&&(_.xScale=a.parseF2Dot14(),_.scale01=a.parseF2Dot14(),_.scale10=a.parseF2Dot14(),_.yScale=a.parseF2Dot14()),e.components.push(_),y=!!(32&n)}if(256&n){e.instructionLength=a.parseUShort(),e.instructions=[];for(var w=0;wt.points.length-1||n.matchedPoints[1]>i.points.length-1)throw Error("Matched points out of range in "+t.name);var o=t.points[n.matchedPoints[0]],s=i.points[n.matchedPoints[1]],l={xScale:n.xScale,scale01:n.scale01,scale10:n.scale10,yScale:n.yScale,dx:0,dy:0};s=CD([s],l)[0],l.dx=o.x-s.x,l.dy=o.y-s.y,a=CD(i.points,l)}t.points=t.points.concat(a)}}return yD(t.points)}dD.prototype={searchTag:lD,binSearch:uD,getTable:function(e){var t=this.font.tables[this.tableName];return!t&&e&&(t=this.font.tables[this.tableName]=this.createDefaultTable()),t},getScriptNames:function(){var e=this.getTable();return e?e.scripts.map(function(e){return e.tag}):[]},getDefaultScriptName:function(){var e=this.getTable();if(e){for(var t=!1,r=0;r=0)return n[i].script;if(t){var a={tag:e,script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}};return n.splice(-1-i,0,a),a.script}}},getLangSysTable:function(e,t,r){var n=this.getScriptTable(e,r);if(n){if(!t||"dflt"===t||"DFLT"===t)return n.defaultLangSys;var i=lD(n.langSysRecords,t);if(i>=0)return n.langSysRecords[i].langSys;if(r){var a={tag:t,langSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]}};return n.langSysRecords.splice(-1-i,0,a),a.langSys}}},getFeatureTable:function(e,t,r,n){var i=this.getLangSysTable(e,t,n);if(i){for(var a,o=i.featureIndexes,s=this.font.tables[this.tableName].features,l=0;l=s[u-1].tag,"Features must be added in alphabetical order."),a={tag:r,feature:{params:0,lookupListIndexes:[]}},s.push(a),o.push(u),a.feature}}},getLookupTables:function(e,t,r,n,i){var a=this.getFeatureTable(e,t,r,i),o=[];if(a){for(var s,l=a.lookupListIndexes,u=this.font.tables[this.tableName].lookups,c=0;c=0?r:-1;case 2:var n=cD(e.ranges,t);return n?n.index+t-n.start:-1}},expandCoverage:function(e){if(1===e.format)return e.glyphs;for(var t=[],r=e.ranges,n=0;n1,'Multiple: "by" must be an array of two or more ids');var i=gD(this.getLookupTables(r,n,e,2,!0)[0],1,{substFormat:1,coverage:{format:1,glyphs:[]},sequences:[]});ak.assert(1===i.coverage.format,"Multiple: unable to modify coverage table format "+i.coverage.format);var a=t.sub,o=this.binSearch(i.coverage.glyphs,a);o<0&&(o=-1-o,i.coverage.glyphs.splice(o,0,a),i.sequences.splice(o,0,0)),i.sequences[o]=t.by},mD.prototype.addAlternate=function(e,t,r,n){var i=gD(this.getLookupTables(r,n,e,3,!0)[0],1,{substFormat:1,coverage:{format:1,glyphs:[]},alternateSets:[]});ak.assert(1===i.coverage.format,"Alternate: unable to modify coverage table format "+i.coverage.format);var a=t.sub,o=this.binSearch(i.coverage.glyphs,a);o<0&&(o=-1-o,i.coverage.glyphs.splice(o,0,a),i.alternateSets.splice(o,0,0)),i.alternateSets[o]=t.by},mD.prototype.addLigature=function(e,t,r,n){var i=this.getLookupTables(r,n,e,4,!0)[0],a=i.subtables[0];a||(a={substFormat:1,coverage:{format:1,glyphs:[]},ligatureSets:[]},i.subtables[0]=a),ak.assert(1===a.coverage.format,"Ligature: unable to modify coverage table format "+a.coverage.format);var o=t.sub[0],s=t.sub.slice(1),l={ligGlyph:t.by,components:s},u=this.binSearch(a.coverage.glyphs,o);if(u>=0){for(var c=a.ligatureSets[u],d=0;d=176&&r<=183)i+=r-176+1;else if(r>=184&&r<=191)i+=2*(r-184+1);else if(t&&1===a&&27===r)break}while(a>0);e.ip=i}function XD(e,t){exports.DEBUG&&console.log(t.step,"SVTCA["+e.axis+"]"),t.fv=t.pv=t.dpv=e}function qD(e,t){exports.DEBUG&&console.log(t.step,"SPVTCA["+e.axis+"]"),t.pv=t.dpv=e}function GD(e,t){exports.DEBUG&&console.log(t.step,"SFVTCA["+e.axis+"]"),t.fv=e}function YD(e,t){var r,n,i=t.stack,a=i.pop(),o=i.pop(),s=t.z2[a],l=t.z1[o];exports.DEBUG&&console.log("SPVTL["+e+"]",a,o),e?(r=s.y-l.y,n=l.x-s.x):(r=l.x-s.x,n=l.y-s.y),t.pv=t.dpv=BD(r,n)}function QD(e,t){var r,n,i=t.stack,a=i.pop(),o=i.pop(),s=t.z2[a],l=t.z1[o];exports.DEBUG&&console.log("SFVTL["+e+"]",a,o),e?(r=s.y-l.y,n=l.x-s.x):(r=l.x-s.x,n=l.y-s.y),t.fv=BD(r,n)}function ZD(e){exports.DEBUG&&console.log(e.step,"POP[]"),e.stack.pop()}function KD(e,t){var r=t.stack.pop(),n=t.z0[r],i=t.fv,a=t.pv;exports.DEBUG&&console.log(t.step,"MDAP["+e+"]",r);var o=a.distance(n,FD);e&&(o=t.round(o)),i.setRelative(n,FD,o,a),i.touch(n),t.rp0=t.rp1=r}function $D(e,t){var r,n,i,a=t.z2,o=a.length-2;exports.DEBUG&&console.log(t.step,"IUP["+e.axis+"]");for(var s=0;s1?"loop "+(t.loop-s)+": ":"")+"SHP["+(e?"rp1":"rp2")+"]",u)}t.loop=1}function eU(e,t){var r=t.stack,n=e?t.rp1:t.rp2,i=(e?t.z0:t.z1)[n],a=t.fv,o=t.pv,s=r.pop(),l=t.z2[t.contours[s]],u=l;exports.DEBUG&&console.log(t.step,"SHC["+e+"]",s);var c=o.distance(i,i,!1,!0);do{u!==i&&a.setRelative(u,u,c,o),u=u.nextPointOnContour}while(u!==l)}function tU(e,t){var r,n,i=t.stack,a=e?t.rp1:t.rp2,o=(e?t.z0:t.z1)[a],s=t.fv,l=t.pv,u=i.pop();switch(exports.DEBUG&&console.log(t.step,"SHZ["+e+"]",u),u){case 0:r=t.tZone;break;case 1:r=t.gZone;break;default:throw new Error("Invalid zone")}for(var c=l.distance(o,o,!1,!0),d=r.length-2,h=0;h",s),t.stack.push(Math.round(64*s))}function oU(e,t){var r=t.stack,n=r.pop(),i=t.fv,a=t.pv,o=t.ppem,s=t.deltaBase+16*(e-1),l=t.deltaShift,u=t.z0;exports.DEBUG&&console.log(t.step,"DELTAP["+e+"]",n,r);for(var c=0;c>4)===o){var m=(15&h)-8;m>=0&&m++,exports.DEBUG&&console.log(t.step,"DELTAPFIX",d,"by",m*l);var f=u[d];i.setRelative(f,f,m*l,a)}}}function sU(e,t){var r=t.stack,n=r.pop();exports.DEBUG&&console.log(t.step,"ROUND[]"),r.push(64*t.round(n/64))}function lU(e,t){var r=t.stack,n=r.pop(),i=t.ppem,a=t.deltaBase+16*(e-1),o=t.deltaShift;exports.DEBUG&&console.log(t.step,"DELTAC["+e+"]",n,r);for(var s=0;s>4)===i){var c=(15&u)-8;c>=0&&c++;var d=c*o;exports.DEBUG&&console.log(t.step,"DELTACFIX",l,"by",d),t.cvt[l]+=d}}}function uU(e,t){var r,n,i=t.stack,a=i.pop(),o=i.pop(),s=t.z2[a],l=t.z1[o];exports.DEBUG&&console.log(t.step,"SDPVTL["+e+"]",a,o),e?(r=s.y-l.y,n=l.x-s.x):(r=l.x-s.x,n=l.y-s.y),t.dpv=BD(r,n)}function cU(e,t){var r=t.stack,n=t.prog,i=t.ip;exports.DEBUG&&console.log(t.step,"PUSHB["+e+"]");for(var a=0;a=0?1:-1,s=Math.abs(s),e&&(u=a.cvt[d],n&&Math.abs(s-u)":"_")+(n?"R":"_")+(0===i?"Gr":1===i?"Bl":2===i?"Wh":"")+"]",e?d+"("+a.cvt[d]+","+u+")":"",h,"(d =",o,"->",l*s,")"),a.rp1=a.rp0,a.rp2=h,t&&(a.rp0=h)}function mU(e){this.char=e,this.state={},this.activeState=null}function fU(e,t,r){this.contextName=r,this.startIndex=e,this.endOffset=t}function gU(e,t,r){this.contextName=e,this.openRange=null,this.ranges=[],this.checkStart=t,this.checkEnd=r}function pU(e,t){this.context=e,this.index=t,this.length=e.length,this.current=e[t],this.backtrack=e.slice(0,t),this.lookahead=e.slice(t+1)}function vU(e){this.eventId=e,this.subscribers=[]}function bU(e){var t=this,r=["start","end","next","newToken","contextStart","contextEnd","insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD","updateContextsRanges"];r.forEach(function(e){Object.defineProperty(t.events,e,{value:new vU(e)})}),e&&r.forEach(function(r){var n=e[r];"function"==typeof n&&t.events[r].subscribe(n)}),["insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD"].forEach(function(e){t.events[e].subscribe(t.updateContextsRanges)})}function CU(e){this.tokens=[],this.registeredContexts={},this.contextCheckers=[],this.events={},this.registeredModifiers=[],bU.call(this,e)}function yU(e){return/[\u0600-\u065F\u066A-\u06D2\u06FA-\u06FF]/.test(e)}function _U(e){return/[\u0630\u0690\u0621\u0631\u0661\u0671\u0622\u0632\u0672\u0692\u06C2\u0623\u0673\u0693\u06C3\u0624\u0694\u06C4\u0625\u0675\u0695\u06C5\u06E5\u0676\u0696\u06C6\u0627\u0677\u0697\u06C7\u0648\u0688\u0698\u06C8\u0689\u0699\u06C9\u068A\u06CA\u066B\u068B\u06CB\u068C\u068D\u06CD\u06FD\u068E\u06EE\u06FE\u062F\u068F\u06CF\u06EF]/.test(e)}function wU(e){return/[\u0600-\u0605\u060C-\u060E\u0610-\u061B\u061E\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED]/.test(e)}function EU(e){return/[A-z]/.test(e)}function SU(e){this.font=e,this.features={}}function AU(e){this.id=e.id,this.tag=e.tag,this.substitution=e.substitution}function IU(e,t){if(!e)return-1;switch(t.format){case 1:return t.glyphs.indexOf(e);case 2:for(var r=t.ranges,n=0;n=i.start&&e<=i.end){var a=e-i.start;return i.index+a}}break;default:return-1}return-1}function RU(e,t){return-1===IU(e,t.coverage)?null:e+t.deltaGlyphId}function xU(e,t){var r=IU(e,t.coverage);return-1===r?null:t.substitute[r]}function TU(e,t){for(var r=[],n=0;n2)){var r=this.font,n=this._prepState;if(!n||n.ppem!==t){var i=this._fpgmState;if(!i){HD.prototype=jD,(i=this._fpgmState=new HD("fpgm",r.tables.fpgm)).funcs=[],i.font=r,exports.DEBUG&&(console.log("---EXEC FPGM---"),i.step=-1);try{ED(i)}catch(e){return console.log("Hinting error in FPGM:"+e),void(this._errorState=3)}}HD.prototype=i,(n=this._prepState=new HD("prep",r.tables.prep)).ppem=t;var a=r.tables.cvt;if(a)for(var o=n.cvt=new Array(a.length),s=t/r.unitsPerEm,l=0;l1))try{return SD(e,n)}catch(e){return this._errorState<1&&(console.log("Hinting error:"+e),console.log("Note: further hinting errors are silenced")),void(this._errorState=1)}}},SD=function(e,t){var r,n,i,a=t.ppem/t.font.unitsPerEm,o=a,s=e.components;if(HD.prototype=t,s){var l=t.font;n=[],r=[];for(var u=0;u1?"loop "+(e.loop-r)+": ":"")+"SHPIX[]",o,i),n.setRelative(s,s,i),n.touch(s)}e.loop=1},function(e){for(var t=e.stack,r=e.rp1,n=e.rp2,i=e.loop,a=e.z0[r],o=e.z1[n],s=e.fv,l=e.dpv,u=e.z2;i--;){var c=t.pop(),d=u[c];exports.DEBUG&&console.log(e.step,(e.loop>1?"loop "+(e.loop-i)+": ":"")+"IP[]",c,r,"<->",n),s.interpolate(d,a,o,l),s.touch(d)}e.loop=1},rU.bind(void 0,0),rU.bind(void 0,1),function(e){for(var t=e.stack,r=e.rp0,n=e.z0[r],i=e.loop,a=e.fv,o=e.pv,s=e.z1;i--;){var l=t.pop(),u=s[l];exports.DEBUG&&console.log(e.step,(e.loop>1?"loop "+(e.loop-i)+": ":"")+"ALIGNRP[]",l),a.setRelative(u,n,0,o),a.touch(u)}e.loop=1},function(e){exports.DEBUG&&console.log(e.step,"RTDG[]"),e.round=ND},nU.bind(void 0,0),nU.bind(void 0,1),function(e){var t=e.prog,r=e.ip,n=e.stack,i=t[++r];exports.DEBUG&&console.log(e.step,"NPUSHB[]",i);for(var a=0;ar?1:0)},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"GTEQ[]",r,n),t.push(n>=r?1:0)},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"EQ[]",r,n),t.push(r===n?1:0)},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"NEQ[]",r,n),t.push(r!==n?1:0)},function(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"ODD[]",r),t.push(Math.trunc(r)%2?1:0)},function(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"EVEN[]",r),t.push(Math.trunc(r)%2?0:1)},function(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"IF[]",t),t||(zD(e,!0),exports.DEBUG&&console.log(e.step,"EIF[]"))},function(e){exports.DEBUG&&console.log(e.step,"EIF[]")},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"AND[]",r,n),t.push(r&&n?1:0)},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"OR[]",r,n),t.push(r||n?1:0)},function(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"NOT[]",r),t.push(r?0:1)},oU.bind(void 0,1),function(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"SDB[]",t),e.deltaBase=t},function(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"SDS[]",t),e.deltaShift=Math.pow(.5,t)},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"ADD[]",r,n),t.push(n+r)},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"SUB[]",r,n),t.push(n-r)},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"DIV[]",r,n),t.push(64*n/r)},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"MUL[]",r,n),t.push(n*r/64)},function(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"ABS[]",r),t.push(Math.abs(r))},function(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"NEG[]",r),t.push(-r)},function(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"FLOOR[]",r),t.push(64*Math.floor(r/64))},function(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"CEILING[]",r),t.push(64*Math.ceil(r/64))},sU.bind(void 0,0),sU.bind(void 0,1),sU.bind(void 0,2),sU.bind(void 0,3),void 0,void 0,void 0,void 0,function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"WCVTF[]",r,n),e.cvt[n]=r*e.ppem/e.font.unitsPerEm},oU.bind(void 0,2),oU.bind(void 0,3),lU.bind(void 0,1),lU.bind(void 0,2),lU.bind(void 0,3),function(e){var t,r=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"SROUND[]",r),e.round=kD,192&r){case 0:t=.5;break;case 64:t=1;break;case 128:t=2;break;default:throw new Error("invalid SROUND value")}switch(e.srPeriod=t,48&r){case 0:e.srPhase=0;break;case 16:e.srPhase=.25*t;break;case 32:e.srPhase=.5*t;break;case 48:e.srPhase=.75*t;break;default:throw new Error("invalid SROUND value")}r&=15,e.srThreshold=0===r?0:(r/8-.5)*t},function(e){var t,r=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"S45ROUND[]",r),e.round=kD,192&r){case 0:t=Math.sqrt(2)/2;break;case 64:t=Math.sqrt(2);break;case 128:t=2*Math.sqrt(2);break;default:throw new Error("invalid S45ROUND value")}switch(e.srPeriod=t,48&r){case 0:e.srPhase=0;break;case 16:e.srPhase=.25*t;break;case 32:e.srPhase=.5*t;break;case 48:e.srPhase=.75*t;break;default:throw new Error("invalid S45ROUND value")}r&=15,e.srThreshold=0===r?0:(r/8-.5)*t},void 0,void 0,function(e){exports.DEBUG&&console.log(e.step,"ROFF[]"),e.round=xD},void 0,function(e){exports.DEBUG&&console.log(e.step,"RUTG[]"),e.round=OD},function(e){exports.DEBUG&&console.log(e.step,"RDTG[]"),e.round=LD},ZD,ZD,void 0,void 0,void 0,void 0,void 0,function(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"SCANCTRL[]",t)},uU.bind(void 0,0),uU.bind(void 0,1),function(e){var t=e.stack,r=t.pop(),n=0;exports.DEBUG&&console.log(e.step,"GETINFO[]",r),1&r&&(n=35),32&r&&(n|=4096),t.push(n)},void 0,function(e){var t=e.stack,r=t.pop(),n=t.pop(),i=t.pop();exports.DEBUG&&console.log(e.step,"ROLL[]"),t.push(n),t.push(r),t.push(i)},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"MAX[]",r,n),t.push(Math.max(n,r))},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"MIN[]",r,n),t.push(Math.min(n,r))},function(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"SCANTYPE[]",t)},function(e){var t=e.stack.pop(),r=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"INSTCTRL[]",t,r),t){case 1:return void(e.inhibitGridFit=!!r);case 2:return void(e.ignoreCvt=!!r);default:throw new Error("invalid INSTCTRL[] selector")}},void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,cU.bind(void 0,1),cU.bind(void 0,2),cU.bind(void 0,3),cU.bind(void 0,4),cU.bind(void 0,5),cU.bind(void 0,6),cU.bind(void 0,7),cU.bind(void 0,8),dU.bind(void 0,1),dU.bind(void 0,2),dU.bind(void 0,3),dU.bind(void 0,4),dU.bind(void 0,5),dU.bind(void 0,6),dU.bind(void 0,7),dU.bind(void 0,8),hU.bind(void 0,0,0,0,0,0),hU.bind(void 0,0,0,0,0,1),hU.bind(void 0,0,0,0,0,2),hU.bind(void 0,0,0,0,0,3),hU.bind(void 0,0,0,0,1,0),hU.bind(void 0,0,0,0,1,1),hU.bind(void 0,0,0,0,1,2),hU.bind(void 0,0,0,0,1,3),hU.bind(void 0,0,0,1,0,0),hU.bind(void 0,0,0,1,0,1),hU.bind(void 0,0,0,1,0,2),hU.bind(void 0,0,0,1,0,3),hU.bind(void 0,0,0,1,1,0),hU.bind(void 0,0,0,1,1,1),hU.bind(void 0,0,0,1,1,2),hU.bind(void 0,0,0,1,1,3),hU.bind(void 0,0,1,0,0,0),hU.bind(void 0,0,1,0,0,1),hU.bind(void 0,0,1,0,0,2),hU.bind(void 0,0,1,0,0,3),hU.bind(void 0,0,1,0,1,0),hU.bind(void 0,0,1,0,1,1),hU.bind(void 0,0,1,0,1,2),hU.bind(void 0,0,1,0,1,3),hU.bind(void 0,0,1,1,0,0),hU.bind(void 0,0,1,1,0,1),hU.bind(void 0,0,1,1,0,2),hU.bind(void 0,0,1,1,0,3),hU.bind(void 0,0,1,1,1,0),hU.bind(void 0,0,1,1,1,1),hU.bind(void 0,0,1,1,1,2),hU.bind(void 0,0,1,1,1,3),hU.bind(void 0,1,0,0,0,0),hU.bind(void 0,1,0,0,0,1),hU.bind(void 0,1,0,0,0,2),hU.bind(void 0,1,0,0,0,3),hU.bind(void 0,1,0,0,1,0),hU.bind(void 0,1,0,0,1,1),hU.bind(void 0,1,0,0,1,2),hU.bind(void 0,1,0,0,1,3),hU.bind(void 0,1,0,1,0,0),hU.bind(void 0,1,0,1,0,1),hU.bind(void 0,1,0,1,0,2),hU.bind(void 0,1,0,1,0,3),hU.bind(void 0,1,0,1,1,0),hU.bind(void 0,1,0,1,1,1),hU.bind(void 0,1,0,1,1,2),hU.bind(void 0,1,0,1,1,3),hU.bind(void 0,1,1,0,0,0),hU.bind(void 0,1,1,0,0,1),hU.bind(void 0,1,1,0,0,2),hU.bind(void 0,1,1,0,0,3),hU.bind(void 0,1,1,0,1,0),hU.bind(void 0,1,1,0,1,1),hU.bind(void 0,1,1,0,1,2),hU.bind(void 0,1,1,0,1,3),hU.bind(void 0,1,1,1,0,0),hU.bind(void 0,1,1,1,0,1),hU.bind(void 0,1,1,1,0,2),hU.bind(void 0,1,1,1,0,3),hU.bind(void 0,1,1,1,1,0),hU.bind(void 0,1,1,1,1,1),hU.bind(void 0,1,1,1,1,2),hU.bind(void 0,1,1,1,1,3)],mU.prototype.setState=function(e,t){return this.state[e]=t,this.activeState={key:e,value:this.state[e]},this.activeState},mU.prototype.getState=function(e){return this.state[e]||null},CU.prototype.inboundIndex=function(e){return e>=0&&e0&&e<=this.lookahead.length:return this.lookahead[e-1];default:return null}},CU.prototype.rangeToText=function(e){if(e instanceof fU)return this.getRangeTokens(e).map(function(e){return e.char}).join("")},CU.prototype.getText=function(){return this.tokens.map(function(e){return e.char}).join("")},CU.prototype.getContext=function(e){return this.registeredContexts[e]||null},CU.prototype.on=function(e,t){var r=this.events[e];return r?r.subscribe(t):null},CU.prototype.dispatch=function(e,t){var r=this,n=this.events[e];n instanceof vU&&n.subscribers.forEach(function(e){e.apply(r,t||[])})},CU.prototype.registerContextChecker=function(e,t,r){if(this.getContext(e))return{FAIL:"context name '"+e+"' is already registered."};if("function"!=typeof t)return{FAIL:"missing context start check."};if("function"!=typeof r)return{FAIL:"missing context end check."};var n=new gU(e,t,r);return this.registeredContexts[e]=n,this.contextCheckers.push(n),n},CU.prototype.getRangeTokens=function(e){var t=e.startIndex+e.endOffset;return[].concat(this.tokens.slice(e.startIndex,t))},CU.prototype.getContextRanges=function(e){var t=this.getContext(e);return t?t.ranges:{FAIL:"context checker '"+e+"' is not registered."}},CU.prototype.resetContextsRanges=function(){var e=this.registeredContexts;for(var t in e)e.hasOwnProperty(t)&&(e[t].ranges=[])},CU.prototype.updateContextsRanges=function(){this.resetContextsRanges();for(var e=this.tokens.map(function(e){return e.char}),t=0;t=0;r--){var n=t[r],i=_U(n),a=wU(n);if(!i&&!a)return!0;if(i)return!1}return!1}(o)&&(u|=1),function(e){if(_U(e.current))return!1;for(var t=0;t=1.2&&(i.markGlyphSets=r.parsePointer(aB)),i},sB=new Array(10);sB[1]=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();return 1===t?{posFormat:1,coverage:this.parsePointer(Lk.coverage),value:this.parseValueRecord()}:2===t?{posFormat:2,coverage:this.parsePointer(Lk.coverage),values:this.parseValueRecordList()}:void ak.assert(!1,"0x"+e.toString(16)+": GPOS lookup type 1 format must be 1 or 2.")},sB[2]=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();ak.assert(1===t||2===t,"0x"+e.toString(16)+": GPOS lookup type 2 format must be 1 or 2.");var r=this.parsePointer(Lk.coverage),n=this.parseUShort(),i=this.parseUShort();if(1===t)return{posFormat:t,coverage:r,valueFormat1:n,valueFormat2:i,pairSets:this.parseList(Lk.pointer(Lk.list(function(){return{secondGlyph:this.parseUShort(),value1:this.parseValueRecord(n),value2:this.parseValueRecord(i)}})))};if(2===t){var a=this.parsePointer(Lk.classDef),o=this.parsePointer(Lk.classDef),s=this.parseUShort(),l=this.parseUShort();return{posFormat:t,coverage:r,valueFormat1:n,valueFormat2:i,classDef1:a,classDef2:o,class1Count:s,class2Count:l,classRecords:this.parseList(s,Lk.list(l,function(){return{value1:this.parseValueRecord(n),value2:this.parseValueRecord(i)}}))}}},sB[3]=function(){return{error:"GPOS Lookup 3 not supported"}},sB[4]=function(){return{error:"GPOS Lookup 4 not supported"}},sB[5]=function(){return{error:"GPOS Lookup 5 not supported"}},sB[6]=function(){return{error:"GPOS Lookup 6 not supported"}},sB[7]=function(){return{error:"GPOS Lookup 7 not supported"}},sB[8]=function(){return{error:"GPOS Lookup 8 not supported"}},sB[9]=function(){return{error:"GPOS Lookup 9 not supported"}};new Array(10);var lB=function(e,t){var r=new Lk(e,t=t||0),n=r.parseVersion(1);return ak.argument(1===n||1.1===n,"Unsupported GPOS table version "+n),1===n?{version:n,scripts:r.parseScriptList(),features:r.parseFeatureList(),lookups:r.parseLookupList(sB)}:{version:n,scripts:r.parseScriptList(),features:r.parseFeatureList(),lookups:r.parseLookupList(sB),variations:r.parseFeatureVariationsList()}},uB=function(e,t){var r=new Pk.Parser(e,t),n=r.parseUShort();if(0===n)return function(e){var t={};e.skip("uShort");var r=e.parseUShort();ak.argument(0===r,"Unsupported kern sub-table version."),e.skip("uShort",2);var n=e.parseUShort();e.skip("uShort",3);for(var i=0;i1&&console.warn("Only the first kern subtable is supported."),e.skip("uLong");var r=255&e.parseUShort();if(e.skip("uShort"),0===r){var n=e.parseUShort();e.skip("uShort",3);for(var i=0;i!!e&&"none"!==e;let YB;function QB(e){const t=VB(e)?$B(e):e;return GB(t.transform)||GB(t.translate)||GB(t.scale)||GB(t.rotate)||GB(t.perspective)||!ZB()&&(GB(t.backdropFilter)||GB(t.filter))||XB.test(t.willChange||"")||qB.test(t.contain||"")}function ZB(){return null==YB&&(YB="undefined"!=typeof CSS&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),YB}function KB(e){return/^(html|body|#document)$/.test(PB(e))}function $B(e){return DB(e).getComputedStyle(e)}function JB(e){return VB(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function eV(e){if("html"===PB(e))return e;const t=e.assignedSlot||e.parentNode||jB(e)&&e.host||UB(e);return jB(t)?t.host:t}function tV(e){const t=eV(e);return KB(t)?e.ownerDocument?e.ownerDocument.body:e.body:FB(t)&&HB(t)?t:tV(t)}function rV(e,t,r){var n;void 0===t&&(t=[]),void 0===r&&(r=!0);const i=tV(e),a=i===(null==(n=e.ownerDocument)?void 0:n.body),o=DB(i);if(a){const e=nV(o);return t.concat(o,o.visualViewport||[],HB(i)?i:[],e&&r?rV(e):[])}return t.concat(i,rV(i,[],r))}function nV(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}const iV=["top","right","bottom","left"],aV=Math.min,oV=Math.max,sV=Math.round,lV=Math.floor,uV=e=>({x:e,y:e}),cV={left:"right",right:"left",bottom:"top",top:"bottom"};function dV(e,t,r){return oV(e,aV(t,r))}function hV(e,t){return"function"==typeof e?e(t):e}function mV(e){return e.split("-")[0]}function fV(e){return e.split("-")[1]}function gV(e){return"x"===e?"y":"x"}function pV(e){return"y"===e?"height":"width"}function vV(e){const t=e[0];return"t"===t||"b"===t?"y":"x"}function bV(e){return gV(vV(e))}function CV(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const yV=["left","right"],_V=["right","left"],wV=["top","bottom"],EV=["bottom","top"];function SV(e){const t=mV(e);return cV[t]+e.slice(t.length)}function AV(e){return"number"!=typeof e?function(e){return{top:0,right:0,bottom:0,left:0,...e}}(e):{top:e,right:e,bottom:e,left:e}}function IV(e){const{x:t,y:r,width:n,height:i}=e;return{width:n,height:i,top:r,left:t,right:t+n,bottom:r+i,x:t,y:r}}let RV=function(e){return e.RECT="rect",e.CIRCLE="circle",e.PATH="path",e}({});!function(e){e[e.XY=0]="XY",e[e.X=1]="X",e[e.Y=2]="Y"}({});const xV='"Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif';new Map;let TV=function(e){return e.DEFAULT="default",e.AUTO="auto",e.CROSSHAIR="crosshair",e.POINTER="pointer",e.MOVE="move",e.EAST_RESIZE="e-resize",e.NORTH_EAST_RESIZE="ne-resize",e.NORTH_WEST_RESIZE="nw-resize",e.NORTH_RESIZE="n-resize",e.SOUTH_EAST_RESIZE="se-resize",e.SOUTH_WEST_RESIZE="sw-resize",e.SOUTH_RESIZE="s-resize",e.WEST_RESIZE="w-resize",e.TEXT="text",e.WAIT="wait",e.HELP="help",e.CELL="cell",e.NONE="none",e.VERTICAL_TEXT="vertical-text",e.NO_DROP="no-drop",e.GRAB="grab",e.GRABBING="grabbing",e.ALL_SCROLL="all-scroll",e.COLUMN_RESIZE="col-resize",e.ROW_RESIZE="row-resize",e.PROGRESS="progress",e.NOT_ALLOWED="not-allowed",e.ZOOM_IN="zoom-in",e.ZOOM_OUT="zoom-out",e}({});!function(e){e[e.noClip=0]="noClip",e[e.DOC_SIZE=1]="DOC_SIZE",e[e.CONTENT_SIZE_LEFT=2]="CONTENT_SIZE_LEFT",e[e.CONTENT_SIZE_CENTER=3]="CONTENT_SIZE_CENTER",e[e.CONTENT_SIZE_Right=4]="CONTENT_SIZE_Right"}({});const NV="rgb(0,0,0)";let MV=function(e){return e.TOP="t",e.BOTTOM="b",e.LEFT="l",e.RIGHT="r",e.TL_BR="tl_br",e.TL_BC="tl_bc",e.TL_MR="tl_mr",e.BL_TR="bl_tr",e.ML_TR="ml_tr",e.BC_TR="bc_tr",e}({}),OV=function(e){return e[e.UP=0]="UP",e[e.DOWN=1]="DOWN",e}({}),LV=function(e){return e.ENGINE="Engine",e.SCENE="Scene",e.BASE_OBJECT="BaseObject",e.SCENE_VIEWER="SceneViewer",e.CANVAS="Canvas",e.VIEWPORT="Viewport",e.LAYER="Layer",e.GROUP="Group",e.IMAGE="Image",e.SHAPE="Shape",e.TEXT="Text",e}({});const kV=.5,PV=Math.PI/180,DV=180/Math.PI,UV="rgb(",BV=(e,t)=>e?null==t?`${UV+e.join(",")})`:`${"rgba("+e.join(",")},${t})`:`${UV}0,0,0)`,VV=(e,t)=>uu.isNumber(e)?e:t&&e&&uu.isString(e)&&"%"===e.substr(e.length-1,1)?Number.parseFloat(e)/100*t:0,FV=(e,t)=>(t||(t=window),t.requestPostAnimationFrame?t.requestPostAnimationFrame(e):t.requestAnimationFrame?t.requestAnimationFrame(e):t.msRequestAnimationFrame?t.msRequestAnimationFrame(e):t.webkitRequestAnimationFrame?t.webkitRequestAnimationFrame(e):t.mozRequestAnimationFrame?t.mozRequestAnimationFrame(e):t.oRequestAnimationFrame?t.oRequestAnimationFrame(e):setTimeout(e,16)),jV=(e,t)=>(t||(t=window),t.requestPostAnimationFrame?t.cancelPostAnimationFrame(e):t.requestAnimationFrame?t.cancelAnimationFrame(e):t.msRequestAnimationFrame?t.msCancelAnimationFrame(e):t.webkitRequestAnimationFrame?t.webkitCancelAnimationFrame(e):t.mozRequestAnimationFrame?t.mozCancelAnimationFrame(e):t.oRequestAnimationFrame?t.oCancelAnimationFrame(e):clearTimeout(e)),HV=()=>{let e=document.createElement("canvas");try{e.style=e.style||{}}catch(e){console.error(e)}return e},WV=e=>e*DV,zV=e=>e*PV,XV=()=>{let e="pointer";return typeof window<"u"&&!window.PointerEvent&&typeof navigator<"u"&&(e="mouse"),uu.isTablet()&&!uu.isIPhone()&&!(document&&"ontouchend"in document)&&(e="mouse"),e};function qV(e){return Object.prototype.toString.apply(e)}function GV(e){return"[object Function]"===qV(e)}function YV(e){return"[object String]"===qV(e)}function QV(e,t){return t=10**t,Math.round(e*t)/t}function ZV(e,t){return Math.round(e*t)/t}function KV(e){let t=vh.ff,r=vh.fs;if(!e){let e=`${r}pt ${t}`;return{fontCache:e,fontString:e,fontSize:r,originFontSize:r,fontFamily:t}}let n=lc.ITALIC;(0===e.it||void 0===e.it)&&(n=lc.NORMAL);let i=lc.BOLD;(0===e.bl||void 0===e.bl)&&(i=lc.NORMAL);let a=r;e.fs&&(a=Math.ceil(e.fs));let o=a,s=t;if(e.ff){let r=e.ff;r=r.replace(/"/g,"").replace(/'/g,""),r.indexOf(" ")>-1&&(r=`"${r}"`),null==r&&(r=t),s=r}let{va:l}=e;if(l===Bu.SUBSCRIPT||l===Bu.SUPERSCRIPT){let{sbr:e,spr:t}=wF.getBaselineOffsetInfo(s,o);o*=l===Bu.SUBSCRIPT?e:t}let u=`${n} ${i} ${o}pt ${s}`;return{fontCache:u,fontString:`${u}, ${xV} `,fontSize:o,originFontSize:a,fontFamily:s}}const $V=Sp(EL).toRegExp();function JV(e){return $V.test(e)}const eF=Sp(AL).toRegExp();function tF(e){return eF.test(e)}const rF=Sp(SL).toRegExp();function nF(e){return rF.test(e)}const iF=new Intl.Segmenter(void 0,{granularity:"grapheme"});function aF(e){var t,r;return null==(t=null==(r=iF.segment(e)[Symbol.iterator]().next().value)?void 0:r.segment)?null:t}function oF(e){return!!(/\p{Extended_Pictographic}/u.test(e)||/^\p{Regional_Indicator}{2}$/u.test(e)||/^[0-9#*]\uFE0F?\u20E3$/u.test(e))}function sF(e){let t=aF(e);return!!t&&oF(t)}function lF(e){return/[\u0600-\u06FF]|[\u0750-\u0750]|[\u0870-\u08FF]|[\uFB50-\uFDFF]|[\uFE70-\uFEFF]/gi.test(e)}function uF(e){return/[\u0180-\u024F]/gi.test(e)}function cF(e){return/\s+/g.test(e)}function dF(e){return["”","’",",","。",".","、",":",";","?","!","》",")","』","」","】","〗","〕","〉","]","}"].indexOf(e)>-1}function hF(e){return["“","‘","《","(","『","「","【","〖","〔","〈","[","{"].indexOf(e)>-1}function mF(e){return["・","·"].indexOf(e)>-1}function fF(e){let{scaleX:t=1,scaleY:r=1}=e;return Math.max(t,r)}function gF(e){return Number(e.replace(/px/gi,""))}function pF(e){return e/.75}function vF(e){return.75*e}function bF(e,t,r){for(let n of e)if(t>=n.startRow&&t<=n.endRow&&r>=n.startColumn&&r<=n.endColumn)return!0;return!1}function CF(e){return CF="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},CF(e)}function yF(e,t,r){return(t=function(e){var t=function(e){if("object"!=CF(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=CF(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==CF(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const _F=e=>({sbr:.6,sbo:e,spr:.6,spo:e});var wF=class{static get globalFontMeasureCache(){return this._globalFontMeasureCache}static setFontMeasureCache(e,t,r){this._globalFontMeasureCache.has(e)||this._globalFontMeasureCache.set(e,new Map);let n=this._globalFontMeasureCache.get(e);n&&n.set(t,r)}static clearFontMeasureCache(e){let t=e.split("/");if(1===t.length){let e=t[0];this._globalFontMeasureCache.delete(e)}else{if(2!==t.length)return!1;{var r;let e=t[0],n=t[1];null==(r=this._globalFontMeasureCache.get(e))||r.delete(n)}}return!0}static getFontMeasureCache(e,t){var r;return null==(r=this._globalFontMeasureCache.get(e))?void 0:r.get(t)}static autoCleanFontMeasureCache(e=1e6){let t=0,r=!1;for(let n of this._globalFontMeasureCache){let[,i]=n;if(t+=i.size,t>e){r=!0;break}}if(r){let t=0;for(let r of this._globalFontMeasureCache){let[n,i]=r;if(t+=i.size,t>e/2){let r=t-e/2;this._clearMeasureCache(r,i);break}this._globalFontMeasureCache.delete(n)}return!0}return!1}static getBaselineOffsetInfo(e,t){if(0===this._fontDataMap.size)return _F(t);let r=e.split(",");for(let e of r){e=e.replace(/'/g,"");let r=this._fontDataMap.get(e);if(!r)continue;let{subscriptSizeRatio:n,subscriptOffset:i,superscriptSizeRatio:a,superscriptOffset:o}=r;return{sbr:n,sbo:i*t,spr:a,spo:o*t}}return _F(t)}static getTextSizeByDom(e,t){if(t in this._getTextHeightCache)return this._getTextHeightCache[t];let r=document.getElementById("universheetTextSizeTest");r||(r=document.createElement("span"),r.id="universheetTextSizeTest",document.getElementsByTagName("body")[0].appendChild(r)),r.style.cssText+=`float:left;white-space:nowrap;visibility:hidden;margin:0;padding:0;;${t}`,r.textContent=e;let n=r.getBoundingClientRect(),i={width:n.width,height:n.height};return this._getTextHeightCache[t]=i,i}static getTextSize(e,t){let{fontString:r,fontSize:n,fontFamily:i}=t,a=this._getBoundingBoxByFont(i,n);if(!a){let n=this.getMeasureText(e,r);a=this._calculateBoundingBoxByMeasureText(n,t)}return a}static getBBoxFromGlyphInfo(e,t){var r;let n=e.glyph,i=e.font,{y1:a,y2:o}=e.boundingBox,s=pF(t.fontSize)/i.unitsPerEm,{ascender:l,descender:u}=i;return this._calculateBoundingBoxByMeasureText({width:(null==(r=n.advanceWidth)?0:r)*s,fontBoundingBoxAscent:l*s,fontBoundingBoxDescent:Math.abs(u*s),actualBoundingBoxAscent:o*s,actualBoundingBoxDescent:Math.abs(a*s)},t)}static getMeasureText(e,t){if(this._context||(this._context=document.createElement("canvas").getContext("2d")),!this._context)return{width:0,fontBoundingBoxAscent:0,fontBoundingBoxDescent:0,actualBoundingBoxAscent:0,actualBoundingBoxDescent:0};let r=this._context,n=this.getFontMeasureCache(t,e);if(null!=n)return n;r.font=t;let{width:i,fontBoundingBoxAscent:a,fontBoundingBoxDescent:o,actualBoundingBoxAscent:s,actualBoundingBoxDescent:l}=r.measureText(e),u={width:i,fontBoundingBoxAscent:a,fontBoundingBoxDescent:o,actualBoundingBoxAscent:s,actualBoundingBoxDescent:l};if(null==a||null==o||Number.isNaN(a)||Number.isNaN(o)){let e=this.getTextSizeByDom("0",t).height;"top"===r.textBaseline?(u.fontBoundingBoxAscent=u.actualBoundingBoxAscent=e,u.fontBoundingBoxDescent=u.actualBoundingBoxDescent=0):"middle"===r.textBaseline?(u.fontBoundingBoxDescent=u.actualBoundingBoxDescent=e/2,u.fontBoundingBoxAscent=u.actualBoundingBoxAscent=e/2):(u.fontBoundingBoxDescent=u.actualBoundingBoxDescent=0,u.fontBoundingBoxAscent=u.actualBoundingBoxAscent=e)}return this.setFontMeasureCache(t,e,u),u}static _clearMeasureCache(e,t){let r=0;for(let n of t){let[i]=n;if(r>e)break;t.delete(i),r++}return!0}static _getBoundingBoxByFont(e,t=28,r=""){let n=this._fontDataMap.get(e);if(!n)return;let{notDefWidth:i,ascender:a,descender:o,typoAscender:s,typoDescender:l,strikeoutPosition:u,subscriptSizeRatio:c,subscriptOffset:d,superscriptSizeRatio:h,superscriptOffset:m,hdmxData:f,glyphHorizonMap:g}=n,p=null==f?void 0:f.indexOf(Math.floor(t)),v=g.get(r.charCodeAt(0)),b=i;if(v){let{width:e,pixelsPerEm:t=[]}=v;b=p?t[p]:e}return{width:b*t,ba:a*t,bd:o*t,aba:s*t,abd:l*t,sp:u*t,sbr:c,sbo:d*t,spr:h,spo:m*t}}static _calculateBoundingBoxByMeasureText(e,t){let{width:r,fontBoundingBoxAscent:n,fontBoundingBoxDescent:i,actualBoundingBoxAscent:a,actualBoundingBoxDescent:o}=e,{fontSize:s,originFontSize:l}=t,u=l/s,c=n*u,d=i*u;return{width:r,ba:c,bd:d,aba:a,abd:o,sp:(n+i)/2,sbr:.6,spr:.6,sbo:.141*(c+d),spo:.4*(c+d)}}};yF(wF,"_getTextHeightCache",{}),yF(wF,"_context",void 0),yF(wF,"_fontDataMap",new Map),yF(wF,"_globalFontMeasureCache",new Map);let EF=function(e){return e[e.BODY=0]="BODY",e[e.HEADER=1]="HEADER",e[e.FOOTER=2]="FOOTER",e[e.CELL=3]="CELL",e}({}),SF=(function(e){e[e.GLYPH=0]="GLYPH",e[e.DIVIDE=1]="DIVIDE",e[e.LINE=2]="LINE",e[e.COLUMN=3]="COLUMN",e[e.SECTION=4]="SECTION",e[e.PAGE=5]="PAGE",e[e.DRAWING=6]="DRAWING",e[e.BULLET=7]="BULLET",e[e.HEADER=8]="HEADER",e[e.FOOTER=9]="FOOTER",e[e.ALL=10]="ALL"}({}),function(e){return e[e.SECTION=0]="SECTION",e[e.PAGE=1]="PAGE",e[e.COLUMN=2]="COLUMN",e}({})),AF=function(e){return e[e.PARAGRAPH=0]="PARAGRAPH",e[e.BLOCK=1]="BLOCK",e}({}),IF=function(e){return e[e.LETTER=0]="LETTER",e[e.WORD=1]="WORD",e[e.LIST=2]="LIST",e[e.PLACEHOLDER=3]="PLACEHOLDER",e[e.TAB=4]="TAB",e[e.IMAGE=5]="IMAGE",e[e.AT=6]="AT",e[e.MATH=7]="MATH",e[e.MULTI_LINE=8]="MULTI_LINE",e[e.CUSTOM=9]="CUSTOM",e}({}),RF=function(e){return e[e.VERTICAL=0]="VERTICAL",e[e.HORIZONTAL=1]="HORIZONTAL",e[e.AUTO=2]="AUTO",e}({});function xF(e,t){var r;let n=null==e||null==(r=e.parent)?void 0:r.parent;if(null==n||null==t)return;let i=t.paragraphs;if(null!=i)for(let e=0;en.x?n.x:i,i=in.y?n.y:a,a=ar.x?t.x:r.x,t.y>r.y?t.y:r.y)}static PointInTriangle(e,t,r,n){let i=.5*(-r.y*n.x+t.y*(-r.x+n.x)+t.x*(r.y-n.y)+r.x*n.y),a=i<0?-1:1,o=(t.y*n.x-t.x*n.y+(n.y-t.y)*e.x+(t.x-n.x)*e.y)*a,s=(t.x*r.y-t.y*r.x+(t.y-r.y)*e.x+(r.x-t.x)*e.y)*a;return o>0&&s>0&&o+s<2*i*a}static Distance(t,r){return Math.sqrt(e.DistanceSquared(t,r))}static DistanceSquared(e,t){let r=e.x-t.x,n=e.y-t.y;return r*r+n*n}static Center(t,r){return e.CenterToRef(t,r,e.Zero())}static CenterToRef(e,t,r){return r.copyFromFloats((e.x+t.x)/2,(e.y+t.y)/2)}static DistanceOfPointFromSegment(t,r,n){let i=e.DistanceSquared(r,n);if(0===i)return e.Distance(t,r);let a=n.subtract(r),o=Math.max(0,Math.min(1,e.Dot(t.subtract(r),a)/i)),s=r.add(a.multiplyByFloats(o,o));return e.Distance(t,s)}static create(t,r){return new e(t,r)}toString(){return`{X: ${this.x} Y: ${this.y}}`}getClassName(){return"Vector2"}getHashCode(){let e=0|this.x;return e=397*e^this.y,e}toArray(e,t=0){return e[t]=this.x,e[t+1]=this.y,this}fromArray(t,r=0){return e.FromArrayToRef(t,r,this),this}asArray(){let e=[];return this.toArray(e,0),e}copyFrom(e){return this.x=e.x,this.y=e.y,this}copyFromFloats(e,t){return this.x=e,this.y=t,this}set(e,t){return this.copyFromFloats(e,t)}add(t){return new e(this.x+t.x,this.y+t.y)}addToRef(e,t){return t.x=this.x+e.x,t.y=this.y+e.y,this}addByPoint(t,r){return new e(this.x+t,this.y+r)}addInPlace(e){return this.x+=e.x,this.y+=e.y,this}subtract(t){return new e(this.x-t.x,this.y-t.y)}subtractByPoint(t,r){return new e(this.x-t,this.y-r)}subtractToRef(e,t){return t.x=this.x-e.x,t.y=this.y-e.y,this}subtractInPlace(e){return this.x-=e.x,this.y-=e.y,this}multiplyInPlace(e){return this.x*=e.x,this.y*=e.y,this}multiply(t){return new e(this.x*t.x,this.y*t.y)}multiplyToRef(e,t){return t.x=this.x*e.x,t.y=this.y*e.y,this}multiplyByFloats(t,r){return new e(this.x*t,this.y*r)}divide(t){return new e(this.x/t.x,this.y/t.y)}divideToRef(e,t){return t.x=this.x/e.x,t.y=this.y/e.y,this}divideInPlace(e){return this.divideToRef(e,this)}negate(){return new e(-this.x,-this.y)}negateInPlace(){return this.x*=-1,this.y*=-1,this}negateToRef(e){return e.copyFromFloats(-1*this.x,-1*this.y)}scaleInPlace(e){return this.x*=e,this.y*=e,this}scale(t){let r=new e(0,0);return this.scaleToRef(t,r),r}scaleToRef(e,t){return t.x=this.x*e,t.y=this.y*e,this}scaleAndAddToRef(e,t){return t.x+=this.x*e,t.y+=this.y*e,this}equals(e){return e&&this.x===e.x&&this.y===e.y}floor(){return new e(Math.floor(this.x),Math.floor(this.y))}fract(){return new e(this.x-Math.floor(this.x),this.y-Math.floor(this.y))}rotate(e){let t=Math.cos(e),r=Math.sin(e),n=t*this.x-r*this.y,i=r*this.x+t*this.y;return this.x=n,this.y=i,this}rotateToRef(e,t){let r=Math.cos(e),n=Math.sin(e);return t.x=r*this.x-n*this.y,t.y=n*this.x+r*this.y,this}rotateByPoint(t,r=e.create(0,0)){let n=Math.cos(t),i=Math.sin(t),a=r.x+(this.x-r.x)*n-(this.y-r.y)*i,o=r.y+(this.x-r.x)*i+(this.y-r.y)*n;return this.x=a,this.y=o,this}transformCoordinateOnRotate(e){let t=Math.sqrt(this.x**2+this.y**2),r=-e+Math.atan2(this.y,this.x);return this.x=t*Math.cos(r),this.y=t*Math.sin(r),this}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}lengthSquared(){return this.x*this.x+this.y*this.y}normalize(){return e.NormalizeToRef(this,this),this}clone(){return new e(this.x,this.y)}};function NF(e,t,r,n){let i=0,a=0,o=0,s=0,{startX:l,startY:u,endX:c,endY:d}=n;t===MV.TOP?(i=l-r,a=u,o=c+r,s=u):t===MV.BOTTOM?(i=l-r,a=d,o=c-r,s=d):t===MV.LEFT?(i=l,a=u-r,o=l,s=d+r):t===MV.RIGHT&&(i=c,a=u-r,o=c,s=d+r),e.beginPath(),e.moveToByPrecision(i,a),e.lineToByPrecision(o,s),e.stroke(),e.closePathByEnv()}function MF(e,t,r,n){t!==gu.DOUBLE||r!==MV.TL_BR&&r!==MV.BL_TR?function(e,t,r){let n=0,i=0,a=0,o=0,{startX:s,startY:l,endX:u,endY:c}=r;switch(t){case MV.TL_BR:n=s,i=l,a=u,o=c;break;case MV.TL_BC:n=s,i=l,a=(s+u)/2,o=c;break;case MV.TL_MR:n=s,i=l,a=u,o=(l+c)/2;break;case MV.BL_TR:n=s,i=c,a=u,o=l;break;case MV.ML_TR:n=s,i=(l+c)/2,a=u,o=l;break;case MV.BC_TR:n=(s+u)/2,i=c,a=u,o=l}e.beginPath(),e.moveToByPrecision(n,i),e.lineToByPrecision(a,o),e.closePathByEnv(),e.stroke()}(e,r,n):function(e,t,r){let n=0,i=0,a=0,o=0,s=0,l=0,u=0,c=0,{startX:d,startY:h,endX:m,endY:f}=r;switch(t){case MV.TL_BR:n=d,i=h+1.5,a=m-1.5,o=f,s=d+1.5,l=h,u=m,c=f-1.5;break;case MV.BL_TR:n=d,i=f-1.5,a=m-1.5,o=h,s=d+1.5,l=f,u=m,c=h+1.5}e.beginPath(),e.moveToByPrecision(n,i),e.lineToByPrecision(a,o),e.closePathByEnv(),e.stroke(),e.beginPath(),e.moveToByPrecision(s,l),e.lineToByPrecision(u,c),e.closePathByEnv(),e.stroke()}(e,r,n)}function OF(e,t){t===gu.HAIR?e.setLineDash([1,1]):t===gu.DASH_DOT_DOT||t===gu.MEDIUM_DASH_DOT_DOT?e.setLineDash([2,2,5,2,2]):t===gu.DASH_DOT||t===gu.MEDIUM_DASH_DOT||t===gu.SLANT_DASH_DOT?e.setLineDash([2,5,2]):t===gu.DOTTED?e.setLineDash([2]):t===gu.DASHED||t===gu.MEDIUM_DASHED?e.setLineDash([3]):e.setLineDash([0])}function LF(e){let t=1;return e===gu.MEDIUM||e===gu.MEDIUM_DASH_DOT||e===gu.MEDIUM_DASHED||e===gu.MEDIUM_DASH_DOT_DOT?t=2:e===gu.THICK&&(t=3),t}function kF(e,t,r,n,i=TF.create(0,0)){let a=e.add(t).rotateByPoint(n),o=n-r;return a.subtract(t).rotateByPoint(o,a).add(i).transformCoordinateOnRotate(o)}function PF(e,t,r){let n=[],i=0,a=0,o=0,s=0,l=0,u=function(e){return e>0?OV.DOWN:OV.UP}(r),c=e.length;r=Math.abs(r);let d=Math.tan(r),h=Math.sin(r),m=Math.cos(r);if(u===OV.UP){let r=0;for(let i=0;ia&&(a=u),0===i&&(o+=s*h,l+=s*m)}o+=r/h+t*m,l-=a}else{var f;let r=0,l=-1,u=[];for(let n=c-1;n>=0;n--){let{lineHeight:i=0}=e[n],s=i/d,f=(t+s)*h;u.unshift(i/d),f>a&&(a=f,r=s,l=n),o+=0===n?i*h:n===c-1?t*m+i/h:i/h}let g=(null==(f=e[l])?void 0:f.lineHeight)||0,p=0;for(let t=l+1;t<=c-1;t++){let{lineHeight:r=0}=e[t];g+=r,p+=u[t]||0,n[t]=-p}p=0;for(let t=l-1;t>=0;t--){let{lineHeight:r=0}=e[t];p+=u[t+1]||0,n[t]=p,i+=r}n[l]=0,1===c&&(o+=t*m),s=g/h-r*m}return{rotateTranslateXList:n,rotatedHeight:a,rotatedWidth:o,fixOffsetX:s,fixOffsetY:l,rotateTranslateY:i}}function DF(e,t,r,n){let i=zV(t),a=r.clone().rotateByPoint(i,e),o=n.clone().rotateByPoint(i,e),s=a.clone();return s.rotateByPoint(zV(-t),o),s}function UF(e,t,r){let n=2**53-1,i=2**53-1,a=-(2**53-1),o=-(2**53-1);return r.forEach(e=>{let{left:t=0,top:r=0,width:s=0,height:l=0}=e;n=Math.min(n,t),i=Math.min(i,r),a=Math.max(a,t+s),o=Math.max(o,r+l)}),{left:n+e,top:i+t,width:a-n,height:o-i,angle:0,scaleX:1,scaleY:1}}function BF(e,t,r,n,i){let{left:a=0,top:o=0,width:s=0,height:l=0,angle:u=0}=e,{left:c=0,top:d=0,angle:h=0,flipX:m=!1,flipY:f=!1}=t,g=a,p=o,v=s,b=l;if(i&&i.width>0&&i.height>0){let e=VF(i,{left:c,top:d,width:r,height:n},{left:a,top:o,width:s,height:l});g=e.left,p=e.top,v=e.width,b=e.height}let C=c+r/2,y=d+n/2,_=e.flipX||!1,w=e.flipY||!1,E=g,S=p;m&&(E=2*C-(E+v/2)-v/2,_=!_),f&&(S=2*y-(S+b/2)-b/2,w=!w);let A=E+v/2,I=S+b/2,R=DF(new TF(C,y),h,new TF(E,S),new TF(A,I));return{left:R.x,top:R.y,width:v,height:b,angle:h+u,flipX:_,flipY:w}}function VF(e,t,r){if(!e)return{left:r.left,top:r.top,width:r.width,height:r.height};let{left:n,top:i,width:a,height:o}=e,{left:s,top:l,width:u,height:c}=t;return{left:s+(r.left-n)/a*u,top:l+(r.top-i)/o*c,width:r.width/a*u,height:r.height/o*c}}let FF=function(e){return e[e.PointerMove=0]="PointerMove",e[e.PointerDown=1]="PointerDown",e[e.PointerUp=2]="PointerUp",e[e.Dblclick=3]="Dblclick",e[e.Keyboard=4]="Keyboard",e}({});var jF=class{};yF(jF,"DOM_DELTA_PIXEL",0),yF(jF,"DOM_DELTA_LINE",1),yF(jF,"DOM_DELTA_PAGE",2);let HF=function(e){return e[e.Generic=0]="Generic",e[e.Keyboard=1]="Keyboard",e[e.Mouse=2]="Mouse",e[e.Touch=3]="Touch",e}({}),WF=function(e){return e[e.Horizontal=0]="Horizontal",e[e.Vertical=1]="Vertical",e[e.LeftClick=2]="LeftClick",e[e.MiddleClick=3]="MiddleClick",e[e.RightClick=4]="RightClick",e[e.BrowserBack=5]="BrowserBack",e[e.BrowserForward=6]="BrowserForward",e[e.MouseWheelX=7]="MouseWheelX",e[e.MouseWheelY=8]="MouseWheelY",e[e.MouseWheelZ=9]="MouseWheelZ",e[e.DeltaHorizontal=10]="DeltaHorizontal",e[e.DeltaVertical=11]="DeltaVertical",e[e.FakeMove=12]="FakeMove",e}({}),zF=function(e){return e[e.translate=0]="translate",e[e.resize=1]="resize",e[e.scale=2]="scale",e[e.skew=3]="skew",e[e.flip=4]="flip",e[e.all=5]="all",e}({});const XF=[new TF(0,0),new TF(1,1)];var qF=class{constructor(e=XF){this._lines=e}intersection(e){if(this._lines.length<1||e.length<1)return;let t=[];for(let r=1;r=0)return!1;let l=(i.x-r.x)*(a.y-r.y)-(i.y-r.y)*(a.x-r.x);if(l*(l+o-s)>=0)return!1;let u=l/(s-o),c=u*(n.x-r.x),d=u*(n.y-r.y);return new TF(r.x+c,r.y+d)}};const GF=1e3;var YF=class extends tu{constructor(e=60){super(),yF(this,"_enabled",!0),yF(this,"_rollingFrameTime",void 0),yF(this,"_lastFrameTimeMs",void 0),yF(this,"_frameCountInLastSecond",0),yF(this,"_lastSecondTimeMs",void 0),yF(this,"_recFPSValueLastSecond",60),this._rollingFrameTime=new QF(e)}dispose(){super.dispose()}get averageFrameTime(){return this._rollingFrameTime.averageFrameTime}get averageFrameTimeVariance(){return this._rollingFrameTime.variance}get instantaneousFrameTime(){return this._rollingFrameTime.history(0)}get averageFPS(){return this._recFPSValueLastSecond}get instantaneousFPS(){let e=this._rollingFrameTime.history(0);return 0===e?0:GF/e}get isSaturated(){return this._rollingFrameTime.isSaturated()}get isEnabled(){return this._enabled}sampleFrame(e=this.now()){if(this._enabled){if(this._frameCountInLastSecond++,null!=this._lastSecondTimeMs){if(this._lastSecondTimeMs<=e-GF){let t=e-this._lastSecondTimeMs;this._recFPSValueLastSecond=Math.round(this._frameCountInLastSecond/t*GF),this._lastSecondTimeMs=e,this._frameCountInLastSecond=0}}else this._lastSecondTimeMs=e;if(null!=this._lastFrameTimeMs){let t=e-this._lastFrameTimeMs;this._rollingFrameTime.addFrameTime(t),this._rollingFrameTime.calcAverageFrameTime()}}}endFrame(e){this.sampleFrame(e),this._lastFrameTimeMs=e}now(){return performance&&performance.now?performance.now():Date.now()}enable(){this._enabled=!0}disable(){this._enabled=!1,this._lastFrameTimeMs=null}reset(){this._lastFrameTimeMs=null,this._rollingFrameTime.reset()}},QF=class{constructor(e){yF(this,"averageFrameTime",16.67),yF(this,"variance",0),yF(this,"_samples",[]),yF(this,"_sampleCount",0),yF(this,"_pos",0),yF(this,"_m2",0),this._samples=Array(e),this.reset()}calcAverageFrameTime(){let e,t=this.history(0);if(this.isSaturated()){let t=this._samples[this._pos];e=t-this.averageFrameTime,this._m2-=e*(t-this.averageFrameTime)}else this._sampleCount++;let r=Math.min(...this._samples),n=Math.min(...this._samples),i=this._samples.filter(e=>e!==n&&e!==r);this.averageFrameTime=i.reduce((e,t)=>e+t,0)/i.length,e=t-this.averageFrameTime,this._m2+=e*(t-this.averageFrameTime),this.variance=this._m2/(this._sampleCount-1)}addFrameTime(e){this._samples[this._pos]=e,this._pos=++this._pos%this._samples.length}history(e){if(e>=this._sampleCount||e>=this._samples.length)return 0;let t=this._wrapPosition(this._pos-1);return this._samples[this._wrapPosition(t-e)]}isSaturated(){return this._sampleCount>=this._samples.length}reset(){this.averageFrameTime=16.67,this.variance=0,this._sampleCount=0,this._pos=0,this._m2=0}_wrapPosition(e){let t=this._samples.length;return(e%t+t)%t}};const ZF={strokeWidth:1.5,stroke:"rgba(0, 0, 0, 0)",strokeActive:"rgba(0, 0, 0, 1)",fill:"rgba(0, 0, 0, 0.2)"};function KF(e){let t=e.getScene().findViewportByPosToScene(TF.FromArray([e.offsetX,e.offsetY]));if(!t)return{scrollX:0,scrollY:0};let r=t.transScroll2ViewportScrollValue(t.scrollX,t.scrollY);return{scrollX:r.x,scrollY:r.y}}function $F(e){let{a:t=0,v:r=Vu.FALSE}=e||{a:0,v:Vu.FALSE},n=0,i=t;return r===Vu.TRUE&&(n=90,i=90),{centerAngle:n,vertexAngle:i}}const JF=[1,0,0,1,0,0];var ej=class e{constructor(e=JF){yF(this,"dirty",!1),yF(this,"_m",void 0),this._m=e&&e.slice()||JF}static create(e=JF){return new this(e)}reset(){this._m[0]=1,this._m[1]=0,this._m[2]=0,this._m[3]=1,this._m[4]=0,this._m[5]=0}copy(){return new e(this._m)}copyInto(e){e._m[0]=this._m[0],e._m[1]=this._m[1],e._m[2]=this._m[2],e._m[3]=this._m[3],e._m[4]=this._m[4],e._m[5]=this._m[5]}applyPoint(e,t=!1){let r=this._m,n=r[0]*e.x+r[2]*e.y,i=r[1]*e.x+r[3]*e.y;return t?new TF(n,i):new TF(n+r[4],i+r[5])}translate(e,t){return this._m[4]+=this._m[0]*e+this._m[2]*t,this._m[5]+=this._m[1]*e+this._m[3]*t,this}scale(e,t){return this._m[0]*=e,this._m[1]*=e,this._m[2]*=t,this._m[3]*=t,this}rotate(e){let t=zV(e),r=Math.cos(t),n=Math.sin(t),i=this._m[0]*r+this._m[2]*n,a=this._m[1]*r+this._m[3]*n,o=this._m[0]*-n+this._m[2]*r,s=this._m[1]*-n+this._m[3]*r;return this._m[0]=i,this._m[1]=a,this._m[2]=o,this._m[3]=s,this}getTranslation(){return{x:this._m[4],y:this._m[5]}}skew(e,t){let r=this._m[0]+this._m[2]*t,n=this._m[1]+this._m[3]*t,i=this._m[2]+this._m[0]*e,a=this._m[3]+this._m[1]*e;return this._m[0]=r,this._m[1]=n,this._m[2]=i,this._m[3]=a,this}multiply(e){let t=this._m[0]*e._m[0]+this._m[2]*e._m[1],r=this._m[1]*e._m[0]+this._m[3]*e._m[1],n=this._m[0]*e._m[2]+this._m[2]*e._m[3],i=this._m[1]*e._m[2]+this._m[3]*e._m[3],a=this._m[0]*e._m[4]+this._m[2]*e._m[5]+this._m[4],o=this._m[1]*e._m[4]+this._m[3]*e._m[5]+this._m[5];return this._m[0]=t,this._m[1]=r,this._m[2]=n,this._m[3]=i,this._m[4]=a,this._m[5]=o,this}invert(){let e=1/(this._m[0]*this._m[3]-this._m[1]*this._m[2]),t=this._m[3]*e,r=-this._m[1]*e,n=-this._m[2]*e,i=this._m[0]*e,a=e*(this._m[2]*this._m[5]-this._m[3]*this._m[4]),o=e*(this._m[1]*this._m[4]-this._m[0]*this._m[5]);return this._m[0]=t,this._m[1]=r,this._m[2]=n,this._m[3]=i,this._m[4]=a,this._m[5]=o,this}getMatrix(){return this._m}getMatrixByAccurate(e=3){return this._m.map(t=>QV(t,e))}setAbsolutePosition(e){let t=this._m[0],r=this._m[1],n=this._m[2],i=this._m[3],a=this._m[4],o=this._m[5],s=(t*(e.y-o)-r*(e.x-a))/(t*i-r*n),l=(e.x-a-n*s)/t;return this.translate(l,s)}decompose(){let e=this._m[0],t=this._m[1],r=this._m[2],n=this._m[3],i=e*n-t*r,a={x:this._m[4],y:this._m[5],angle:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(0!==e||0!==t){let o=Math.sqrt(e*e+t*t);a.angle=t>0?Math.acos(e/o):-Math.acos(e/o),a.scaleX=o,a.scaleY=i/o,a.skewX=(e*r+t*n)/i,a.skewY=0}else if(0!==r||0!==n){let o=Math.sqrt(r*r+n*n);a.angle=Math.PI/2-(n>0?Math.acos(-r/o):-Math.acos(r/o)),a.scaleX=i/o,a.scaleY=o,a.skewX=0,a.skewY=(e*r+t*n)/i}return a.angle=WV(a.angle),a}makeBoundingBoxFromPoints(e){if(this)for(let t=0;t{let r=window.navigator.userAgent.replace(/[^a-zA-Z0-9]/g,"").split(""),n="";for(let e=0;e{void 0!==e[t]&&(r[t]=this[t],this[t]=e[t])}),this._setTransForm(),this.onTransformChange$.emitEvent({type:zF.all,value:e,preValue:r}),this}isRender(e){return!this._forceRender&&e&&!this.isInGroup}getParent(){return this._parent}getState(){return{left:this.left,top:this.top,width:this.width,height:this.height,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY}}getRealBound(){var e,t;let r,{width:n,height:i,left:a,top:o}=this;if(this.isInGroup&&(null==(e=this.parent)?void 0:e.classType)===LV.GROUP&&null!=(t=this.parent)&&t.getBaseBound&&(r=this.parent.getBaseBound()),r){let e=this.getParent(),t={top:e.top||0,left:e.left,width:e.width||0,height:e.height||0},s=VF(r,t,{width:n,height:i,left:a,top:o});n=s.width,i=s.height,a=s.left-t.left-t.width/2,o=s.top-t.top-t.height/2}return{left:a,top:o,width:n,height:i}}hide(){this._visible=!1,this._makeDirtyMix()}show(){this._visible=!0,this._makeDirtyMix()}render(e,t){}isHit(e){let t=this.getInverseCoord(e);return t.x>=-this.strokeWidth/2&&t.x<=this.width+this.strokeWidth/2&&t.y>=-this.strokeWidth/2&&t.y<=this.height+this.strokeWidth/2}triggerPointerMove(e){var t,r;return!(null==(t=this.onPointerMove$.emitEvent(e))||!t.stopPropagation)||(null==(r=this._parent)||r.triggerPointerMove(e),!1)}triggerPointerDown(e){var t,r;return!(null==(t=this.onPointerDown$.emitEvent(e))||!t.stopPropagation)||(null==(r=this._parent)||r.triggerPointerDown(e),!1)}triggerPointerUp(e){var t,r;return!(null==(t=this.onPointerUp$.emitEvent(e))||!t.stopPropagation)||(null==(r=this._parent)||r.triggerPointerUp(e),!1)}triggerSingleClick(e){var t,r;return!(null==(t=this.onSingleClick$.emitEvent(e))||!t.stopPropagation)||(null==(r=this._parent)||r.triggerSingleClick(e),!1)}triggerClick(e){var t,r;return!(null==(t=this.onClick$.emitEvent(e))||!t.stopPropagation)||(null==(r=this._parent)||r.triggerClick(e),!1)}triggerDblclick(e){var t,r;return!(null==(t=this.onDblclick$.emitEvent(e))||!t.stopPropagation)||(null==(r=this._parent)||r.triggerDblclick(e),!1)}triggerTripleClick(e){var t,r;return!(null==(t=this.onTripleClick$.emitEvent(e))||!t.stopPropagation)||(null==(r=this._parent)||r.triggerTripleClick(e),!1)}triggerMouseWheel(e){var t,r;return!(null==(t=this.onMouseWheel$.emitEvent(e))||!t.stopPropagation)||(null==(r=this._parent)||r.triggerMouseWheel(e),!1)}triggerPointerOut(e){var t,r;return!(null==(t=this.onPointerOut$.emitEvent(e))||!t.stopPropagation)||(null==(r=this._parent)||r.triggerPointerOut(e),!1)}triggerPointerLeave(e){var t,r;return!(null==(t=this.onPointerLeave$.emitEvent(e))||!t.stopPropagation)||(null==(r=this._parent)||r.triggerPointerLeave(e),!1)}triggerPointerOver(e){var t;return!!this.onPointerOver$.emitEvent(e)||(null==(t=this._parent)||t.triggerPointerOver(e),!1)}triggerPointerEnter(e){var t,r;return!(null==(t=this.onPointerEnter$.emitEvent(e))||!t.stopPropagation)||(null==(r=this._parent)||r.triggerPointerEnter(e),!1)}triggerPointerCancel(e){var t,r;return!(null==(t=this.onPointerEnter$.emitEvent(e))||!t.stopPropagation)||(null==(r=this._parent)||r.triggerPointerCancel(e),!1)}triggerDragLeave(e){var t,r;return!(null==(t=this.onDragLeave$.emitEvent(e))||!t.stopPropagation)||(null==(r=this._parent)||r.triggerDragLeave(e),!1)}triggerDragOver(e){var t,r;return!(null==(t=this.onDragOver$.emitEvent(e))||!t.stopPropagation)||(null==(r=this._parent)||r.triggerDragOver(e),!1)}triggerDragEnter(e){var t,r;return!(null==(t=this.onDragEnter$.emitEvent(e))||!t.stopPropagation)||(null==(r=this._parent)||r.triggerDragEnter(e),!1)}triggerDrop(e){var t,r;return!(null==(t=this.onDrop$.emitEvent(e))||!t.stopPropagation)||(null==(r=this._parent)||r.triggerDrop(e),!1)}dispose(){var e;super.dispose(),this.onTransformChange$.complete(),this.onPointerDown$.complete(),this.onPointerMove$.complete(),this.onPointerUp$.complete(),this.onMouseWheel$.complete(),this.onPointerOut$.complete(),this.onPointerLeave$.complete(),this.onPointerOver$.complete(),this.onPointerEnter$.complete(),this.onDragLeave$.complete(),this.onDragOver$.complete(),this.onDragEnter$.complete(),this.onDrop$.complete(),this.onSingleClick$.complete(),this.onClick$.complete(),this.onDblclick$.complete(),this.onTripleClick$.complete(),this.onIsAddedToParent$.complete(),null==(e=this.parent)||e.removeObject(this),this.onDispose$.emitEvent(this),this._makeDirtyMix(),this.onDispose$.complete(),this._parent=null,this._layer=null,this.transform=null}toJson(){let e={};return tj.forEach(t=>{this[t]&&(e[t]=this[t])}),e}getScene(){let e=this.parent;for(;e;){if(e.classType===LV.SCENE)return e;e=e.getParent()}return null}resetCursor(){var e;null==(e=this.getScene())||e.resetCursor()}setCursor(e){var t;this._cursor=e,null==(t=this.getScene())||t.setCursor(e)}getEngine(){let e=this.getParent();for(;null!=e;){if(e.classType===LV.ENGINE)return e;e=e.getParent()}return null}getObjects(){return[]}getLayerIndex(){return null==this._layer?1:this._layer.zIndex}applyTransform(){var e;null==(e=this.getScene())||e.attachTransformerTo(this)}removeTransform(){var e;null==(e=this.getScene())||e.detachTransformerFrom(this)}getInverseCoord(e){return this.ancestorTransform.invert().applyPoint(e)}_setTransForm(){this.transform=ej.create().composeMatrix({left:this.left+this.strokeWidth/2,top:this.top+this.strokeWidth/2,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY}),this._makeDirtyMix()}_makeDirtyMix(){this.debounceParentDirty?this.makeDirty(!0):this.makeDirtyNoDebounce(!0)}},ij=class{constructor(e,t){yF(this,"__mode","rendering"),yF(this,"_transformCache",void 0),yF(this,"canvas",void 0),yF(this,"_context",void 0),yF(this,"_systemType",void 0),yF(this,"_browserType",void 0),yF(this,"renderConfig",{}),yF(this,"_canvasColorService",void 0),yF(this,"_id",void 0),yF(this,"_normalizedCachedFont",void 0),this.canvas=e.canvas,this._context=e,this._canvasColorService=null==t?void 0:t.canvasColorService}getId(){return this._id}setId(e){this._id=e}isContextLost(){return this._context.isContextLost()}get globalAlpha(){return this._context.globalAlpha}set globalAlpha(e){this._context.globalAlpha=e}get globalCompositeOperation(){return this._context.globalCompositeOperation}set globalCompositeOperation(e){this._context.globalCompositeOperation=e}get fillStyle(){return this._context.fillStyle}set fillStyle(e){this._context.fillStyle=this._canvasColorService&&"string"==typeof e?this._canvasColorService.getRenderColor(e):e}get strokeStyle(){return this._context.strokeStyle}set strokeStyle(e){this._context.strokeStyle=this._canvasColorService&&"string"==typeof e?this._canvasColorService.getRenderColor(e):e}get filter(){return this._context.filter}set filter(e){this._context.filter=e}get imageSmoothingEnabled(){return this._context.imageSmoothingEnabled}set imageSmoothingEnabled(e){this._context.imageSmoothingEnabled=e}get imageSmoothingQuality(){return this._context.imageSmoothingQuality}set imageSmoothingQuality(e){this._context.imageSmoothingQuality=e}get lineCap(){return this._context.lineCap}set lineCap(e){this._context.lineCap=e}get lineDashOffset(){return this._context.lineDashOffset}set lineDashOffset(e){this._context.lineDashOffset=e}get lineJoin(){return this._context.lineJoin}set lineJoin(e){this._context.lineJoin=e}get lineWidth(){return this._context.lineWidth}set lineWidth(e){this._context.lineWidth=e}setLineWidthByPrecision(e){let{scaleX:t,scaleY:r}=this._getScale();this._context.lineWidth=e/Math.max(t,r)}get miterLimit(){return this._context.miterLimit}set miterLimit(e){this._context.miterLimit=e}get shadowBlur(){return this._context.shadowBlur}set shadowBlur(e){this._context.shadowBlur=e}get shadowColor(){return this._context.shadowColor}set shadowColor(e){this._context.shadowColor=e}get shadowOffsetX(){return this._context.shadowOffsetX}set shadowOffsetX(e){this._context.shadowOffsetX=e}get shadowOffsetY(){return this._context.shadowOffsetY}set shadowOffsetY(e){this._context.shadowOffsetY=e}get direction(){return this._context.direction}set direction(e){this._context.direction=e}get font(){if(this._normalizedCachedFont)return this._normalizedCachedFont;let e=this._context.font;return this._normalizedCachedFont=e,e}set font(e){this._context.font=e,this._normalizedCachedFont=""}get fontKerning(){return this._context.fontKerning}set fontKerning(e){this._context.fontKerning=e}get fontStretch(){return this._context.fontStretch}set fontStretch(e){this._context.fontStretch=e}get fontVariantCaps(){return this._context.fontVariantCaps}set fontVariantCaps(e){this._context.fontVariantCaps=e}get letterSpacing(){return this._context.letterSpacing}set letterSpacing(e){this._context.letterSpacing=e}get textRendering(){return this._context.textRendering}set textRendering(e){this._context.textRendering=e}get wordSpacing(){return this._context.wordSpacing}set wordSpacing(e){this._context.wordSpacing=e}get textAlign(){return this._context.textAlign}set textAlign(e){this._context.textAlign=e}get textBaseline(){return this._context.textBaseline}set textBaseline(e){this._context.textBaseline=e}_getScale(){let{a:e,b:t,c:r,d:n}=this.getTransform();return{scaleX:Math.sqrt(e*e+t*t),scaleY:Math.sqrt(r*r+n*n)}}getScale(){return this._getScale()}getContextAttributes(){return this._context.getContextAttributes()}isPointInStroke(...e){return this._context.isPointInStroke(...e)}createConicGradient(e,t,r){return this._context.createConicGradient(e,t,r)}roundRect(e,t,r,n,i){this._context.roundRect(e,t,r,n,i)}roundRectByPrecision(e,t,r,n,i){let{scaleX:a,scaleY:o}=this._getScale();e=ZV(e,a),t=ZV(t,o),r=ZV(r,a),n=ZV(n,o),this.roundRect(e,t,r,n,i)}getTransform(){return this._transformCache||this._context.getTransform()}resetTransform(){this._transformCache=null,this._context.resetTransform()}drawFocusIfNeeded(...e){return this._context.drawFocusIfNeeded(...e)}reset(){this._transformCache=null,this._context.reset()}arc(e,t,r,n,i,a){this._context.arc(e,t,Math.max(0,r),n,i,a)}arcByPrecision(e,t,r,n,i,a){let{scaleX:o,scaleY:s}=this._getScale();e=ZV(e,o),t=ZV(t,s),this.arc(e,t,r,n,i,a)}arcTo(e,t,r,n,i){this._context.arcTo(e,t,r,n,i)}arcToByPrecision(e,t,r,n,i){let{scaleX:a,scaleY:o}=this._getScale();e=ZV(e,a),t=ZV(t,o),r=ZV(r,a),n=ZV(n,o),this.arcTo(e,t,r,n,i)}beginPath(){this._context.beginPath()}bezierCurveTo(e,t,r,n,i,a){this._context.bezierCurveTo(e,t,r,n,i,a)}bezierCurveToByPrecision(e,t,r,n,i,a){let{scaleX:o,scaleY:s}=this._getScale();i=ZV(i,o),a=ZV(a,s),e=ZV(e,o),t=ZV(t,s),r=ZV(r,o),n=ZV(n,s),this.bezierCurveTo(e,t,r,n,i,a)}clearRect(e,t,r,n){this._context.clearRect(e,t,r,n)}clearRectByPrecision(e,t,r,n){let{scaleX:i,scaleY:a}=this._getScale();e=ZV(e,i),t=ZV(t,a),r=ZV(r,i),n=ZV(n,a),this.clearRect(e,t,r,n)}clip(...e){this._context.clip(...e)}closePath(){this._context.closePath()}getSystemType(){return this._systemType||(this._systemType=uu.getSystemType()),this._systemType}getBrowserType(){return this._browserType||(this._browserType=uu.getBrowserType()),this._browserType}closePathByEnv(){let e="Mac"===this.getSystemType(),t="Chrome"===this.getBrowserType();e&&t||this._context.closePath()}createImageData(...e){if(0===e.length)throw Error("arguments is zero");return 1===e.length?this._context.createImageData(e[0]):2===e.length?this._context.createImageData(e[0],e[1]):this._context.createImageData(e[0],e[1],e[1])}createLinearGradient(e,t,r,n){return this._context.createLinearGradient(e,t,r,n)}createPattern(e,t){return this._context.createPattern(e,t)}createRadialGradient(e,t,r,n,i,a){return this._context.createRadialGradient(e,t,r,n,i,a)}drawImage(...e){let t=e,r=this._context;3===t.length?r.drawImage(e[0],e[1],e[2]):5===t.length?r.drawImage(e[0],e[1],e[2],e[3],e[4]):9===t.length&&r.drawImage(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])}ellipse(e,t,r,n,i,a,o,s){this._context.ellipse(e,t,r,n,i,a,o,s)}isPointInPath(...e){return this._context.isPointInPath(...e)}fill(...e){this._context.fill(...e)}fillRect(e,t,r,n){this._context.fillRect(e,t,r,n)}fillRectByPrecision(e,t,r,n){let{scaleX:i,scaleY:a}=this._getScale();e=ZV(e,i),t=ZV(t,a),r=ZV(r,i),n=ZV(n,a),this.fillRect(e,t,r,n)}strokeRect(e,t,r,n){this._context.strokeRect(e,t,r,n)}strokeRectPrecision(e,t,r,n){let{scaleX:i,scaleY:a}=this._getScale();e=ZV(e,i),t=ZV(t,a),r=ZV(r,i),n=ZV(n,a),this.strokeRect(e,t,r,n)}fillText(e,t,r,n){n?this._context.fillText(e,t,r,n):this._context.fillText(e,t,r)}fillTextPrecision(e,t,r,n){let{scaleX:i,scaleY:a}=this._getScale();t=ZV(t,i),r=ZV(r,a),n?(n=ZV(n,i),this._context.fillText(e,t,r,n)):this._context.fillText(e,t,r)}measureText(e){return this._context.measureText(e)}getImageData(e,t,r,n){return this._context.getImageData(e,t,r,n)}lineTo(e,t){this._context.lineTo(e,t)}lineToByPrecision(e,t){let{scaleX:r,scaleY:n}=this._getScale();e=ZV(e,r),t=ZV(t,n),this.lineTo(e,t)}moveTo(e,t){this._context.moveTo(e,t)}moveToByPrecision(e,t){let{scaleX:r,scaleY:n}=this._getScale();e=ZV(e,r),t=ZV(t,n),this.moveTo(e,t)}moveToByPrecisionLog(e,t){let{scaleX:r,scaleY:n}=this._getScale(),i=ZV(e,r),a=ZV(t,n);this.moveTo(i,a)}rect(e,t,r,n){this._context.rect(e,t,r,n)}rectByPrecision(e,t,r,n){let{scaleX:i,scaleY:a}=this._getScale();e=ZV(e,i),t=ZV(t,a),r=ZV(r,i),n=ZV(n,a),this.rect(e,t,r,n)}putImageData(e,t,r){this._context.putImageData(e,t,r)}quadraticCurveTo(e,t,r,n){this._context.quadraticCurveTo(e,t,r,n)}restore(){this._transformCache=null,this._normalizedCachedFont="",this._context.restore()}rotate(e){this._transformCache=null,this._context.rotate(e)}save(){this._context.save()}scale(e,t){this._transformCache=null,this._context.scale(e,t)}setLineDash(e){this._context.setLineDash?this._context.setLineDash(e):"mozDash"in this._context?this._context.mozDash=e:"webkitLineDash"in this._context&&(this._context.webkitLineDash=e)}getLineDash(){return this._context.getLineDash()}setTransform(...e){this._transformCache=null,this._normalizedCachedFont="",this._context.setTransform(...e)}stroke(e){e?this._context.stroke(e):this._context.stroke()}strokeText(e,t,r,n){this._context.strokeText(e,t,r,n)}strokeTextByPrecision(e,t,r,n){let{scaleX:i,scaleY:a}=this._getScale();t=ZV(t,i),r=ZV(r,a),n&&(n=ZV(n,i)),this.strokeText(e,t,r,n)}transform(e,t,r,n,i,a){this._transformCache=null,this._context.transform(e,t,r,n,i,a)}translate(e,t){this._transformCache=null,this._context.translate(e,t)}translateWithPrecision(e,t){let{scaleX:r,scaleY:n}=this._getScale();e=ZV(e,r),t=ZV(t,n),this._transformCache=null,this._context.translate(e,t)}translateWithPrecisionRatio(e,t){this._transformCache=null;let{scaleX:r,scaleY:n}=this._getScale();this._context.translate(e/r,t/n)}clearRectForTexture(e,t,r,n){this.clearRectByPrecision(e,t,r,n)}setGlobalCompositeOperation(e){this._context.globalCompositeOperation=e}},aj=class extends ij{},oj=class extends ij{constructor(...e){super(...e),yF(this,"__mode","printing")}clearRect(e,t,r,n){let{scaleX:i,scaleY:a}=this._getScale();e=ZV(e,i),t=ZV(t,a),r=ZV(r,i),n=ZV(n,a),this._context.save(),this._context.fillStyle=BV([255,255,255]),this._context.fillRect(e,t,r,n),this._context.restore()}clearRectForTexture(e,t,r,n){}setGlobalCompositeOperation(e){}};let sj=function(e){return e[e.Rendering=0]="Rendering",e[e.Printing=1]="Printing",e}({});var lj=class{constructor(e){yF(this,"isCache",!1),yF(this,"_pixelRatio",1),yF(this,"_canvasEle",void 0),yF(this,"_context",void 0),yF(this,"_width",0),yF(this,"_height",0);let t=e||{};this._canvasEle=HV(),this._canvasEle.style.padding="0",this._canvasEle.style.margin="0",this._canvasEle.style.border="0",this._canvasEle.style.background="transparent",this._canvasEle.style.position="absolute",this._canvasEle.style.top="0",this._canvasEle.style.left="0",this._canvasEle.style.zIndex="8",this._canvasEle.dataset.uComp="render-canvas",this._canvasEle.tabIndex=1,this._canvasEle.style.touchAction="none",this._canvasEle.style.outline="0";let r=this._canvasEle.getContext("2d");if(null==r)throw Error("context is not support");t.mode===sj.Printing?this._context=new oj(r):this._context=new aj(r,{canvasColorService:t.colorService}),this.setSize(t.width,t.height,t.pixelRatio)}getCanvasEle(){return this._canvasEle}getContext(){return this._context}getPixelRatio(){return this._pixelRatio}getWidth(){return this._width}getHeight(){return this._height}setId(e){this._canvasEle.id=e}setSize(e,t,r){var n;this._pixelRatio=r||function(){let e=1,t=HV().getContext("2d");return e=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),e<1?1:e}();let i=this.getCanvasEle();i&&void 0!==e&&(i.width=e*this._pixelRatio,this._width=i.width/this._pixelRatio,i.style.width=`${this._width}px`),i&&void 0!==t&&(i.height=t*this._pixelRatio,this._height=i.height/this._pixelRatio,i.style.height=`${this._height}px`),null==(n=this.getContext())||n.setTransform(this._pixelRatio,0,0,this._pixelRatio,0,0)}setPixelRatio(e){0===this._width||0===this._height||(e<1&&(e=1),this.setSize(this._width,this._height,e))}dispose(){var e;this.clear(),null==(e=this._canvasEle)||e.remove(),this._canvasEle=null,this._context=null}clear(){this.getContext().clearRect(0,0,this._width*this._pixelRatio,this._height*this._pixelRatio)}toDataURL(e,t){try{return this.getCanvasEle().toDataURL(e,t)}catch{try{return this.getCanvasEle().toDataURL()}catch(e){let{message:t}=e;return console.error(`Unable to get data URL. ${t} For more info read https://universheet.net/docs/Canvas.html.`),""}}}},uj=class extends nj{constructor(...e){super(...e),yF(this,"_extensions",new Map)}get extensions(){return this._extensions}register(...e){let t=new eu;for(let r of e)r.parent=this,this._extensions.set(r.uKey,r),t.add(Jl(()=>{this._extensions.delete(r.uKey),r.parent=null}));return this.disposeWithMe(t),t}getExtensionsByOrder(){let e=Array.from(this._extensions.values());return e.sort(jh),e}getExtensionByKey(e){return this._extensions.get(e)}draw(e,t){}dispose(){super.dispose();for(let e of this._extensions.values())e.dispose();this._extensions.clear()}},cj=class{constructor(){yF(this,"uKey",""),yF(this,"type",void 0),yF(this,"Z_INDEX",0),yF(this,"parent",void 0),yF(this,"translateX",0),yF(this,"translateY",0),yF(this,"extensionOffset",{})}get zIndex(){return this.Z_INDEX}draw(e,t,r,n,i){}clearCache(){}_getScale(e){return fF(e)}dispose(){this.extensionOffset={},this.parent=null}};const dj=Zl.create(),hj=Zl.create(),mj=Zl.create(),fj=Zl.create();var gj=class extends uj{constructor(e,t){super(e),this._skeleton=t}getSkeleton(){return this._skeleton}updateSkeleton(e){var t;this._skeleton=e,null==(t=this.getScene())||t.updateTransformerZero(e.rowHeaderWidth,e.columnHeaderHeight)}render(e,t){if(!this.visible)return this.makeDirty(!1),this;e.save(),this._draw(e,t),e.restore()}getParentScale(){let{scaleX:e=1,scaleY:t=1}=this.parent;return this.parent.classType===LV.SCENE_VIEWER&&(e=this.parent.ancestorScaleX||1,t=this.parent.ancestorScaleY||1),{scaleX:e,scaleY:t}}getScrollXYByRelativeCoords(e){return{x:0,y:0}}dispose(){super.dispose(),this._skeleton=null}},pj=class extends gj{_draw(e,t){this.draw(e,t)}},vj=class extends pj{getDocuments(){throw Error("Method not implemented.")}getNoMergeCellPositionByIndex(e,t){throw Error("Method not implemented.")}getSelectionBounding(e,t,r,n){throw Error("Method not implemented.")}constructor(e,t){super(e,t),yF(this,"_columnHeaderLayoutExtension",void 0),this._initialDefaultExtension(),this.makeDirty(!0)}get columnHeaderLayoutExtension(){return this._columnHeaderLayoutExtension}draw(e,t){let r=this.getSkeleton();if(!r)return;let n=this.getParentScale();r.updateVisibleRange(t);let i=r.rowColumnSegment;if(!i||-1===i.startColumn&&-1===i.endColumn)return;let{rowHeaderWidth:a}=r;e.translateWithPrecision(a,0);let o=this.getExtensionsByOrder();for(let t of o)t.draw(e,n,r)}isHit(e){let t=this.getInverseCoord(e),r=this.getSkeleton();if(!r)return!1;let{rowHeaderWidth:n,columnHeaderHeight:i}=r;return t.x>n&&t.y>=0&&t.y<=i}_initialDefaultExtension(){mj.getData().forEach(e=>{this.register(e)}),this._columnHeaderLayoutExtension=this.getExtensionByKey("DefaultColumnHeaderLayoutExtension")}setCustomHeader(e,t){this.makeDirty(!0),this._columnHeaderLayoutExtension.configHeaderColumn(e,t)}};!function(e){e[e.OFF=0]="OFF",e[e.ON=1]="ON"}({});let bj=function(e){return e.VIEW_MAIN="viewMain",e.VIEW_MAIN_LEFT_TOP="viewMainLeftTop",e.VIEW_MAIN_TOP="viewMainTop",e.VIEW_MAIN_LEFT="viewMainLeft",e.VIEW_ROW_TOP="viewRowTop",e.VIEW_ROW_BOTTOM="viewRowBottom",e.VIEW_COLUMN_LEFT="viewColumnLeft",e.VIEW_COLUMN_RIGHT="viewColumnRight",e.VIEW_LEFT_TOP="viewLeftTop",e}({});const Cj=[bj.VIEW_MAIN,bj.VIEW_MAIN_LEFT_TOP,bj.VIEW_MAIN_TOP,bj.VIEW_MAIN_LEFT],yj=[bj.VIEW_ROW_TOP,bj.VIEW_ROW_BOTTOM,bj.VIEW_COLUMN_LEFT,bj.VIEW_COLUMN_RIGHT,bj.VIEW_LEFT_TOP];let _j=function(e){return e[e.GRID=0]="GRID",e}({});const wj="sheet-ext-";var Ej=class extends cj{constructor(...e){super(...e),yF(this,"type",_j.GRID)}isRenderDiffRangesByCell(e,t){if(null==t||0===t.length)return!0;for(let r of t){let{startRow:t,startColumn:n,endRow:i,endColumn:a}=r;if(Oh.intersects(e,{startRow:t,endRow:i,startColumn:n,endColumn:a}))return!0}return!1}isRenderDiffRangesByColumn(e,t,r){if(null==r||0===r.length)return!0;for(let n of r){let{startColumn:r,endColumn:i}=n;if(Oh.intersects({startRow:0,endRow:0,startColumn:e,endColumn:t},{startRow:0,endRow:0,startColumn:r,endColumn:i}))return!0}return!1}isRenderDiffRangesByRow(e,t,r){if(null==r||0===r.length)return!0;for(let n of r){let{startRow:r,endRow:i}=n;if(Oh.intersects({startRow:e,endRow:t,startColumn:0,endColumn:0},{startRow:r,endRow:i,startColumn:0,endColumn:0}))return!0}return!1}isRowInRanges(e,t,r){if(null==r||0===r.length)return!0;for(let n of r){let{startRow:r,endRow:i}=n;if(e>=r&&e<=i||t>=r&&t<=i||Oh.intersects({startRow:e,endRow:t,startColumn:0,endColumn:0},{startRow:r,endRow:i,startColumn:0,endColumn:0}))return!0}return!1}};dj.add(class extends Ej{constructor(...e){super(...e),yF(this,"uKey","DefaultBackgroundExtension"),yF(this,"Z_INDEX",21),yF(this,"PRINTING_Z_INDEX",21)}get zIndex(){var e;return null!=(e=this.parent)&&e.isPrinting?this.PRINTING_Z_INDEX:this.Z_INDEX}draw(e,t,r,n,{viewRanges:i,checkOutOfViewBound:a}){let{stylesCache:o,worksheet:s,rowHeightAccumulation:l,columnTotalWidth:u,columnWidthAccumulation:c,rowTotalHeight:d}=r,{background:h,backgroundPositions:m}=o;if(!(s&&h&&l&&c&&void 0!==u&&void 0!==d))return;e.save();let{scaleX:f,scaleY:g}=e.getScale(),p={ctx:e,backgroundPositions:m,scaleX:f,scaleY:g,checkOutOfViewBound:a,viewRanges:i,diffRanges:n,spreadsheetSkeleton:r},v=[];i.forEach(e=>{let t=r.worksheet.getMergedCellRange(e.startRow,e.startColumn,e.endRow,e.endColumn);v.push(...t)});let b=t=>{let n=h[t],a=(e,t,i)=>{if(-1!==r.worksheet.getSpanModel().getMergeDataIndex(e,t))return;let a=r.getCellByIndexWithNoHeader(e,t);a&&(i||n.getValue(e,t))&&(p.cellInfo=a,this.renderBGByCell(p,e,t))};e.fillStyle=t||BV([255,255,255]);let o=new Path2D;p.backgroundPaths=o,e.beginPath();let s=n.getSizeOf();i.reduce((e,t)=>e+(t.endRow-t.startRow)*(t.endColumn-t.startColumn),0){Sh.foreach(e,a)}):n.forValue(a),e.fill(o),e.closePath()},C=t=>{let n=h[t];e.fillStyle=t||BV([255,255,255]);let i=new Path2D;p.backgroundPaths=i,e.beginPath(),v.forEach(e=>{if(n.getValue(e.startRow,e.startColumn)){let t=r.getCellWithCoordByIndex(e.startRow,e.startColumn,!1);if(!t)return;p.cellInfo=t,this.renderBGByCell(p,e.startRow,e.startColumn)}}),e.fill(i),e.closePath()},y=Object.keys(h);for(let e=0;e0?l:s;if(c=p.startY,d=p.endY,h=p.startX,m=p.endX,!f&&!g&&!bF(v,t,r))return!0;if(f||g){let e=!0;for(let t=p.startRow;t<=p.endRow;t++)if(n.worksheet.getRowVisible(t)){e=!1;break}if(e)return!0;let t=!0;for(let e=p.startColumn;e<=p.endColumn;e++)if(n.worksheet.getColVisible(e)){t=!1;break}if(t)return!0}else if(!n.worksheet.getRowVisible(t)||!n.worksheet.getColVisible(r))return!0;let b=ZV(h,a),C=ZV(c,o),y=ZV(m,a),_=ZV(d,o);i.rect(b,C,y-b,_-C)}}),dj.add(class extends Ej{constructor(...e){super(...e),yF(this,"uKey","DefaultBorderExtension"),yF(this,"Z_INDEX",50),yF(this,"preStyle",void 0),yF(this,"preColor",void 0)}draw(e,t,r,n,{viewRanges:i}){let{stylesCache:a,overflowCache:o,worksheet:s,rowHeightAccumulation:l,columnTotalWidth:u,columnWidthAccumulation:c,rowTotalHeight:d}=r;if(!s||!l||!c||void 0===u||void 0===d)return;let{border:h}=a;if(!h)return;e.save(),e.translateWithPrecisionRatio(kV,kV);let m={ctx:e,precisionScale:this._getScale(e.getScale()),overflowCache:o,diffRanges:n,viewRanges:i,spreadsheetSkeleton:r};e.beginPath(),i.forEach(e=>{Sh.foreach(e,(e,t)=>{let r=h.getValue(e,t);r&&this.renderBorderByCell(m,e,t,r)})}),e.closePath(),e.restore()}renderBorderByCell(e,t,r,n){let{ctx:i,precisionScale:a,overflowCache:o,spreadsheetSkeleton:s,diffRanges:l}=e,u=s.getCellWithCoordByIndex(t,r,!1),{startY:c,endY:d,startX:h,endX:m}=u,{isMerged:f,isMergedMainCell:g,mergeInfo:p}=u;if(!(f||s.worksheet.getRowVisible(t)&&s.worksheet.getColVisible(r))||!this.isRenderDiffRangesByRow(p.startRow,p.endRow,l))return!0;for(let s in n){let{type:l,style:u,color:v}=n[s];if(u===gu.NONE)continue;let b=c,C=d,y=h,_=m;if(l!==MV.TOP&&l!==MV.BOTTOM&&l!==MV.LEFT&&l!==MV.RIGHT){if(f)return!0;g&&(b=p.startY,C=p.endY,y=p.startX,_=p.endX)}let w=LF(u);OF(i,u),i.setLineWidthByPrecision(w),i.strokeStyle=v||"rgb(0,0,0)",MF(i,u,l,{startX:y,startY:b,endX:_,endY:C}),!this._getOverflowExclusion(o,l,t,r)&&(NF(i,l,(w-1)/2/a,{startX:y,startY:b,endX:_,endY:C}),u===gu.DOUBLE&&(l===MV.LEFT||l===MV.RIGHT||l===MV.TOP||l===MV.BOTTOM)&&this._renderDoubleBorder({renderBorderContext:e,row:t,col:r,type:l,lineWidth:w,startX:y,startY:b,endX:_,endY:C}))}}_getOverflowExclusion(e,t,r,n){let i=!1;return t===MV.TOP||t===MV.BOTTOM||null==e||e.forRow((a,o)=>{if(a!==r)return!0;o.forEach(r=>{let{startColumn:o,endColumn:s}=e.getValue(a,r);if(t===MV.LEFT&&n>o&&n<=s||t===MV.RIGHT&&n>=o&&n{u.save(),u.lineCap="round",u.globalCompositeOperation="destination-out",NF(u,n,m,e),u.restore()},p=e=>{let{startXOffset:t,startYOffset:r,endXOffset:i,endYOffset:c}=e;NF(u,n,m,{startX:a-t,startY:o-r,endX:s+i,endY:l+c})},v=e=>{let{startXOffset:t,startYOffset:r,endXOffset:i,endYOffset:c}=e;NF(u,n,m,{startX:a+t,startY:o+r,endX:s-i,endY:l-c})},b=this._getSpecificCellBorder(h,t,r-1),C=this._getSpecificCellBorder(h,t,r+1),y=this._getSpecificCellBorder(h,t-1,r),_=this._getSpecificCellBorder(h,t+1,r),w={startX:a,startY:o,endX:s,endY:l},E={startXOffset:f,startYOffset:f,endXOffset:f,endYOffset:f},S={startXOffset:f,startYOffset:f,endXOffset:f,endYOffset:f};if(n===MV.LEFT||n===MV.RIGHT){if(y.bottom&&y.bottom.style!==gu.DOUBLE)S.startYOffset=0,E.startYOffset=0;else{var A,I,R,x;let e=this._getSpecificCellBorder(h,t-1,r-1),i=this._getSpecificCellBorder(h,t-1,r+1);n===MV.LEFT&&((null==(A=b.top)?void 0:A.style)===gu.DOUBLE||(null==(I=e.bottom)?void 0:I.style)===gu.DOUBLE)||n===MV.RIGHT&&((null==(R=C.top)?void 0:R.style)===gu.DOUBLE||(null==(x=i.bottom)?void 0:x.style)===gu.DOUBLE)?S.startYOffset=-f:n===MV.LEFT&&e.bottom&&e.bottom.style!==gu.DOUBLE||n===MV.RIGHT&&i.bottom&&i.bottom.style!==gu.DOUBLE?S.startYOffset=0:S.startYOffset=f,E.startYOffset=f}if(_.top&&_.top.style!==gu.DOUBLE)S.endYOffset=0,E.endYOffset=0;else{var T,N,M,O;let e=this._getSpecificCellBorder(h,t+1,r-1),i=this._getSpecificCellBorder(h,t+1,r+1);n===MV.LEFT&&((null==(T=b.bottom)?void 0:T.style)===gu.DOUBLE||(null==(N=e.top)?void 0:N.style)===gu.DOUBLE)||n===MV.RIGHT&&((null==(M=C.bottom)?void 0:M.style)===gu.DOUBLE||(null==(O=i.top)?void 0:O.style)===gu.DOUBLE)?S.endYOffset=-f:n===MV.LEFT&&e.top&&e.top.style!==gu.DOUBLE||n===MV.RIGHT&&i.top&&i.top.style!==gu.DOUBLE?S.endYOffset=0:S.endYOffset=f,E.endYOffset=f}w.startY=o-f,w.endY=l+f,g(w),(n===MV.LEFT&&!b.right||n===MV.RIGHT&&!C.left)&&p(S),v(E)}else if(n===MV.TOP||n===MV.BOTTOM){if(b.right&&b.right.style!==gu.DOUBLE)S.startXOffset=0,E.startXOffset=0;else{var L,k,P,D;let e=this._getSpecificCellBorder(h,t-1,r-1),i=this._getSpecificCellBorder(h,t+1,r-1);n===MV.TOP&&((null==(L=y.left)?void 0:L.style)===gu.DOUBLE||(null==(k=e.right)?void 0:k.style)===gu.DOUBLE)||n===MV.BOTTOM&&((null==(P=_.left)?void 0:P.style)===gu.DOUBLE||(null==(D=i.right)?void 0:D.style)===gu.DOUBLE)?S.startXOffset=-f:n===MV.TOP&&e.right&&e.right.style!==gu.DOUBLE||n===MV.BOTTOM&&i.right&&i.right.style!==gu.DOUBLE?S.startXOffset=0:S.startXOffset=f,E.startXOffset=f}if(C.left&&C.left.style!==gu.DOUBLE)S.endXOffset=0,E.endXOffset=0;else{var U,B,V,F;let e=this._getSpecificCellBorder(h,t-1,r+1),i=this._getSpecificCellBorder(h,t+1,r+1);n===MV.TOP&&((null==(U=y.right)?void 0:U.style)===gu.DOUBLE||(null==(B=e.left)?void 0:B.style)===gu.DOUBLE)||n===MV.BOTTOM&&((null==(V=_.right)?void 0:V.style)===gu.DOUBLE||(null==(F=i.left)?void 0:F.style)===gu.DOUBLE)?S.endXOffset=-f:n===MV.TOP&&e.left&&e.left.style!==gu.DOUBLE||n===MV.BOTTOM&&i.left&&i.left.style!==gu.DOUBLE?S.endXOffset=0:S.endXOffset=f,E.endXOffset=f}w.startX=a-f,w.endX=s+f,g(w),(n===MV.TOP&&!y.bottom||n===MV.BOTTOM&&!_.top)&&p(S),v(E)}}_getSpecificCellBorder(e,t,r){let n=e.getValue(t,r),i=null,a=null,o=null,s=null;return n&&(n[MV.LEFT]&&Object.prototype.hasOwnProperty.call(n[MV.LEFT],"type")&&(i=n[MV.LEFT]),n[MV.RIGHT]&&Object.prototype.hasOwnProperty.call(n[MV.RIGHT],"type")&&(a=n[MV.RIGHT]),n[MV.TOP]&&Object.prototype.hasOwnProperty.call(n[MV.TOP],"type")&&(o=n[MV.TOP]),n[MV.BOTTOM]&&Object.prototype.hasOwnProperty.call(n[MV.BOTTOM],"type")&&(s=n[MV.BOTTOM])),{left:i,right:a,top:o,bottom:s}}});const Sj={fontSize:13,fontFamily:xV,fontColor:"#000000",backgroundColor:BV([248,249,250]),borderColor:BV([217,217,217]),textAlign:"center",textBaseline:"middle"};mj.add(new class extends Ej{constructor(e){super(),yF(this,"uKey","DefaultColumnHeaderLayoutExtension"),yF(this,"Z_INDEX",10),yF(this,"columnsCfg",{}),yF(this,"headerStyle",{}),yF(this,"columnsCfgOfWorksheet",new Map),yF(this,"headerStyleOfWorksheet",new Map),e&&this.configHeaderColumn(e)}configHeaderColumn(e,t){var r,n,i,a;t?(this.columnsCfgOfWorksheet.set(t,null==(r=e.columnsCfg)?{}:r),this.headerStyleOfWorksheet.set(t,null==(n=e.headerStyle)?{}:n)):(this.columnsCfg=null==(i=e.columnsCfg)?{}:i,this.headerStyle=null==(a=e.headerStyle)?{}:a)}getColumnsCfg(e){var t;let r=null==(t=this.columnsCfgOfWorksheet.get(e))?{}:t;return{...this.columnsCfg,...r}}getHeaderStyle(e){var t;let r=null==(t=this.headerStyleOfWorksheet.get(e))?{}:t;return{...Sj,...this.headerStyle,...r}}getCfgOfCurrentColumn(e,t,r){let n,i;return e[r]?("string"==typeof e[r]&&(e[r]={text:e[r]}),i=e[r],n={...t,...i}):n={...t,text:Vh(r)},[n,Object.keys(i||{}).length>1]}setStyleToCtx(e,t){t.textAlign&&(e.textAlign=t.textAlign),t.textBaseline&&(e.textBaseline=t.textBaseline),t.fontColor&&(e.fillStyle=t.fontColor),t.borderColor&&(e.strokeStyle=t.borderColor),t.fontSize&&(e.font=`${t.fontSize}px ${xV}`)}draw(e,t,r){let{rowColumnSegment:n,columnHeaderHeight:i=0}=r,{startColumn:a,endColumn:o}=n;if(!r||0===i)return;let{rowHeightAccumulation:s,columnTotalWidth:l,columnWidthAccumulation:u,rowTotalHeight:c,worksheet:d}=r;if(!s||!u||void 0===l||void 0===c)return;let h=this.getColumnsCfg(d.getSheetId()),m=this.getHeaderStyle(d.getSheetId()),f=this._getScale(t);this.setStyleToCtx(e,m),e.save(),e.fillStyle=m.backgroundColor,e.fillRectByPrecision(0,0,l,i),e.restore(),e.setLineWidthByPrecision(1),e.translateWithPrecisionRatio(kV,kV);let g=0;for(let t=a-1;t<=o;t++){if(t<0||t>u.length-1)continue;let r=u[t];if(g===r)continue;let n={left:g,top:0,right:r,bottom:i,width:r-g,height:i},[a,o]=this.getCfgOfCurrentColumn(h,m,t);o&&a.backgroundColor&&(e.save(),e.fillStyle=a.backgroundColor,e.fillRectByPrecision(n.left,n.top,n.width,n.height),e.restore()),e.beginPath(),e.moveToByPrecision(n.right,0),e.lineToByPrecision(n.right,n.height),e.stroke();let s=(()=>{switch(a.textAlign){case"center":default:return n.left+(n.right-n.left)/2;case"right":return n.right-3;case"left":return n.left+3}})(),l=n.height/2+1;o&&(e.save(),e.beginPath(),this.setStyleToCtx(e,a),e.rectByPrecision(n.left,n.top,n.width,n.height),e.clip()),e.fillText(a.text,s,l),o&&e.restore(),g=r}let p=i-.5/f;e.beginPath(),e.moveToByPrecision(0,p),e.lineToByPrecision(l,p),e.stroke()}}),dj.add(class extends Ej{constructor(...e){super(...e),yF(this,"Z_INDEX",55),yF(this,"uKey","DefaultCustomExtension")}draw(e,t,r,n){let{worksheet:i,rowColumnSegment:a}=r;if(!i)return;let o=new Set,s=i.getSheetId();Sh.foreach(a,(t,a)=>{if(!i.getRowVisible(t)||!i.getColVisible(a))return;let l=r.getCellWithCoordByIndex(t,a,!1),{mergeInfo:u}=l,c=i.getCell(t,a);if(l.isMerged&&(c=i.getCell(u.startRow,u.startColumn)),null==c||!c.customRender)return;if(!this.isRenderDiffRangesByRow(u.startRow,u.endRow,n))return!0;if(l.isMerged||l.isMergedMainCell){let e=(e=>{let{startRow:t,endRow:r,startColumn:n,endColumn:i}=e;return`${t}-${r}-${n}-${i}`})(u);if(o.has(e))return;o.add(e)}l.isMerged&&(l=r.getCellWithCoordByIndex(u.startRow,u.startColumn,!1));let d={data:c,style:r.getStyles().getStyleByCell(c),primaryWithCoord:l,subUnitId:s,row:t,col:a,worksheet:i,unitId:i.unitId},h=c.customRender.sort(jh);e.save(),h.forEach(t=>{t.drawWith(e,d,r,this.parent)}),e.restore()})}});let Aj=function(e){return e.Normal="Normal",e.Mandatory="Mandatory",e.Hyphen="Hyphen",e.Link="Link",e}({});var Ij=class{constructor(e,t=Aj.Normal){this.position=e,this.type=t}};const Rj=[[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4,4,4,4,4],[0,4,4,1,1,4,4,4,4,1,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,4,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[4,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,1,0,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,1,1,1,1,0,0,4,2,4,1,1,1,1,1,0,1,1,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,0,1,4,4,4,0,0,1,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,0,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,4,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,1,1,1,1,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,1,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0]];var xj=class{constructor(){yF(this,"_rules",new Map)}add(e,t){this._rules.set(e,t)}shouldBreak(e,t,r){for(let n of this._rules.values())if(n(e,t,r))return!0;return!1}},Tj=new Uint8Array([0,8,14,0,0,0,0,0,176,232,0,0,1,181,15,74,240,237,157,11,140,93,69,25,199,231,178,187,183,123,31,187,237,46,108,193,194,22,104,41,200,242,48,128,104,16,129,152,162,64,42,10,193,42,24,121,104,2,65,177,4,9,69,41,193,104,73,35,193,84,20,104,144,152,74,140,109,80,1,149,87,12,175,68,64,162,60,42,9,136,196,70,194,35,40,132,84,222,34,40,18,255,195,153,113,103,103,231,253,58,183,244,158,228,151,57,103,158,223,124,243,205,227,204,57,231,222,141,3,132,220,0,110,5,119,129,191,129,127,128,127,130,255,130,129,65,66,58,131,254,238,56,88,0,22,129,41,240,1,240,97,135,116,71,128,163,12,225,199,130,229,224,100,112,58,88,1,86,130,11,193,197,66,188,75,192,247,193,85,224,26,176,17,220,0,174,7,183,128,59,193,239,192,67,224,81,240,56,75,251,36,115,159,3,47,129,55,192,155,128,12,17,50,12,230,129,113,176,0,44,2,83,96,95,112,16,56,20,44,101,225,203,192,9,44,156,94,127,30,124,9,124,5,124,21,156,7,46,4,23,179,240,239,130,43,192,143,216,245,79,193,117,67,85,249,55,195,189,3,220,203,242,167,242,61,0,247,17,176,25,252,21,60,11,30,27,168,174,183,128,87,216,245,91,112,27,205,42,77,11,238,24,152,0,147,205,42,124,11,139,191,164,89,185,123,179,184,156,3,154,211,28,194,56,2,124,140,33,198,53,113,12,226,30,47,197,63,11,229,157,228,145,135,11,95,20,242,251,50,206,87,128,149,224,34,176,166,57,93,223,181,56,95,7,214,75,229,111,196,245,213,194,245,181,184,254,21,248,141,144,150,114,23,75,119,159,224,191,137,234,20,60,209,172,236,158,242,44,206,159,3,47,130,55,192,59,160,57,7,233,160,251,209,57,85,30,19,112,39,193,30,115,166,203,221,23,231,7,206,209,215,243,35,8,59,220,16,238,194,39,144,254,83,224,179,224,20,112,6,56,27,156,15,190,9,86,131,75,193,229,96,29,88,15,54,176,50,175,99,238,205,112,239,0,247,130,7,193,163,96,51,11,123,6,238,243,224,37,141,156,175,9,254,111,225,188,49,60,147,237,132,243,54,24,5,243,193,66,176,4,236,7,14,6,135,129,143,131,99,193,114,112,50,56,29,172,0,43,135,171,252,47,128,251,109,240,29,118,253,61,184,235,134,253,117,182,158,165,217,0,247,58,143,244,55,7,148,117,187,148,230,30,225,250,90,102,99,15,192,239,17,176,121,184,234,207,207,12,251,241,2,120,21,252,155,234,187,5,61,131,241,86,117,190,160,101,78,187,72,8,159,178,196,237,211,167,79,58,248,56,80,183,28,125,250,244,233,211,167,79,159,62,125,182,46,246,239,209,251,182,131,91,51,247,67,180,251,32,173,106,47,143,158,31,129,243,95,10,97,71,181,236,233,63,141,56,159,99,241,78,129,251,49,184,147,224,12,156,159,205,242,62,31,238,69,96,13,88,11,126,0,174,6,63,105,85,251,56,63,135,123,99,107,230,254,16,229,54,248,253,204,80,246,221,8,191,31,60,0,30,4,15,129,77,224,143,224,225,126,88,63,172,31,214,15,235,135,37,15,251,51,120,2,60,213,170,246,76,235,228,249,86,189,212,93,255,62,125,122,153,216,117,236,203,232,99,111,130,183,91,225,207,233,72,91,237,63,12,255,121,96,39,176,43,216,75,138,183,15,174,15,2,135,130,165,96,25,56,174,93,201,117,34,220,211,218,245,143,63,59,204,173,184,18,252,9,116,231,233,57,26,92,2,238,84,132,189,45,93,127,112,140,144,243,192,45,96,203,88,229,183,219,56,33,95,0,87,130,95,131,151,193,211,173,74,119,167,130,107,192,147,84,135,29,66,14,0,4,247,31,159,233,84,215,34,23,131,43,26,211,220,203,226,114,182,224,122,223,46,33,159,4,95,3,95,7,55,129,87,193,129,35,240,3,55,130,87,70,102,230,179,173,49,54,58,83,111,125,250,244,233,179,45,113,252,168,121,238,63,19,243,209,57,154,249,159,114,110,123,246,154,133,135,173,66,216,106,41,237,26,92,175,101,126,203,53,239,94,209,247,178,214,37,126,47,203,196,101,154,250,173,51,212,155,178,30,225,251,209,119,229,20,241,126,193,252,110,178,228,97,227,118,133,126,85,240,248,247,176,248,191,23,202,125,152,157,63,46,248,109,166,235,48,240,119,232,249,5,184,175,180,171,119,195,222,130,219,192,250,97,78,167,186,158,11,119,71,176,51,187,190,0,105,23,119,166,247,21,247,193,249,65,157,105,25,14,197,249,249,112,151,194,93,6,142,5,203,193,201,29,181,204,13,216,224,233,157,105,185,22,130,21,138,184,60,254,42,176,82,40,143,198,191,8,215,107,88,30,107,225,174,99,225,116,15,116,61,206,55,26,242,187,161,163,214,59,221,119,165,123,171,183,34,252,174,206,204,52,247,225,122,19,245,3,127,1,79,179,60,158,135,251,50,59,127,29,238,219,154,114,229,250,12,98,93,214,1,243,192,68,119,118,89,147,221,234,124,73,119,186,110,54,246,67,220,131,187,213,187,127,135,9,121,30,137,243,163,193,113,221,114,253,203,133,19,123,76,158,58,56,141,233,224,76,131,46,206,210,132,157,11,255,85,93,55,219,200,73,104,221,87,39,108,127,250,110,226,165,221,233,115,58,151,92,198,174,175,130,251,227,66,182,182,81,83,206,245,221,234,221,201,27,133,246,186,173,155,255,153,86,104,61,238,102,114,222,223,3,246,85,39,155,28,219,232,49,196,219,12,158,242,108,211,103,183,2,253,202,182,177,165,59,253,174,249,182,202,235,158,227,201,127,104,252,17,232,83,177,54,236,140,148,25,155,82,49,15,242,238,144,64,102,170,199,93,70,42,119,49,220,41,112,192,72,253,246,46,218,61,253,70,64,23,78,229,62,132,233,225,112,184,75,71,102,167,95,6,191,19,60,116,117,34,139,123,90,132,30,232,122,239,204,204,122,212,201,127,206,200,204,240,111,20,104,207,111,49,157,173,73,212,143,14,115,144,217,54,174,175,69,30,151,143,84,223,145,252,144,185,235,71,170,176,13,35,254,243,248,245,72,115,11,184,19,252,86,72,255,7,156,63,12,30,7,79,10,254,207,225,252,69,240,58,248,23,120,135,133,13,226,222,191,51,58,29,111,28,231,243,217,245,66,184,123,142,206,94,55,236,47,236,23,156,202,210,125,136,249,125,148,185,71,194,125,77,40,255,152,209,106,159,129,158,159,196,220,83,225,158,33,229,191,255,232,204,122,158,141,235,115,13,251,19,180,63,174,26,245,215,223,123,137,213,84,183,131,225,115,87,47,141,177,161,108,24,104,252,159,9,66,172,140,129,37,96,17,99,15,135,52,174,236,13,112,187,65,32,22,193,208,75,90,228,221,199,103,239,158,83,63,122,108,39,132,161,9,201,60,230,210,45,185,142,35,195,140,174,64,83,186,206,13,97,117,216,174,96,153,114,249,180,45,27,236,122,130,244,143,169,109,28,85,159,220,83,227,159,131,65,214,14,180,207,183,4,168,125,238,206,224,231,124,140,24,35,211,54,205,211,241,184,227,82,90,145,1,233,154,144,188,253,109,247,204,249,247,122,249,189,6,183,15,209,6,248,181,171,206,100,155,18,211,140,91,210,150,160,84,191,221,26,24,12,76,163,35,68,134,208,118,148,215,42,182,182,173,219,238,114,66,117,65,199,124,62,103,113,255,22,209,207,97,189,206,152,208,110,19,138,243,38,115,109,243,247,72,15,193,219,197,103,253,161,91,175,139,237,223,22,144,215,241,62,58,111,10,46,167,110,219,206,61,118,187,222,31,181,53,186,207,61,182,52,137,189,238,29,75,28,89,127,170,184,60,142,171,62,82,183,235,123,193,166,228,241,247,189,132,143,30,186,196,111,140,115,25,239,114,218,95,78,157,200,105,232,216,204,251,180,120,143,41,222,215,149,144,85,39,191,236,175,139,87,210,214,115,149,43,218,155,207,253,191,169,125,83,244,159,208,121,44,119,25,49,245,207,105,19,41,245,107,203,203,87,190,49,70,201,113,77,238,47,117,180,143,216,127,82,180,143,152,167,169,175,202,126,54,29,133,206,59,124,189,173,202,155,251,183,20,229,169,198,209,186,219,39,5,166,118,177,201,16,179,14,80,245,75,87,123,81,233,160,116,123,196,234,59,181,28,33,253,161,69,236,237,95,106,62,42,213,255,67,108,90,182,185,58,250,189,78,206,84,122,55,233,192,54,78,228,186,15,224,227,176,235,250,110,107,232,255,174,109,146,187,255,155,218,208,117,191,95,148,185,244,51,130,146,99,145,105,76,138,209,127,76,93,234,208,117,10,189,187,150,151,219,254,93,242,214,173,19,101,82,142,199,190,54,233,219,223,197,118,112,29,211,57,123,245,8,178,92,173,200,252,186,30,122,228,247,133,189,170,27,174,31,95,187,80,233,100,92,66,244,27,20,206,199,216,117,83,193,32,75,39,63,147,176,141,7,169,239,187,229,231,82,220,165,71,67,112,99,198,215,84,107,179,49,7,255,210,115,162,235,24,197,251,71,236,216,46,218,150,110,109,193,159,95,199,140,139,58,121,99,251,160,107,249,186,244,239,171,153,5,53,179,115,205,228,90,75,153,198,13,121,157,100,234,71,185,169,179,236,210,229,211,163,65,102,142,31,190,178,218,198,189,80,92,215,129,161,178,251,148,175,91,251,228,148,193,167,222,169,203,159,138,40,63,245,154,142,235,126,72,184,230,182,39,174,127,83,237,3,164,106,63,190,14,228,242,143,75,254,178,141,241,247,209,114,200,95,199,189,179,205,174,74,174,205,100,253,136,215,188,61,98,215,45,177,247,114,190,246,107,186,167,203,133,73,191,60,78,93,247,125,220,182,92,245,23,75,234,241,47,246,222,73,164,228,145,67,54,81,159,163,142,240,113,86,60,23,253,92,112,145,223,71,22,213,218,182,14,66,108,136,167,141,221,143,208,29,161,118,227,187,254,201,57,159,200,118,230,243,222,132,78,230,212,251,63,185,112,93,247,219,218,75,182,185,24,91,21,219,220,212,23,84,182,145,178,239,132,126,91,144,2,185,236,58,108,131,175,117,117,125,132,51,40,93,239,192,100,222,85,144,95,142,183,61,153,249,173,206,0,153,254,174,116,64,113,45,198,165,204,21,160,249,241,111,96,117,186,108,91,16,101,160,229,12,49,116,186,25,102,178,53,132,184,166,248,166,254,215,86,232,180,43,93,207,87,164,245,89,103,200,253,216,229,27,52,94,63,241,123,42,249,27,43,151,244,161,247,99,226,248,210,50,208,182,132,251,166,109,43,206,99,202,104,121,180,147,235,156,21,179,159,192,237,93,110,195,54,113,107,23,49,157,207,187,195,174,118,147,227,251,72,83,217,170,239,12,85,223,169,154,208,149,231,155,206,85,47,114,251,230,40,207,71,166,208,186,168,228,146,253,84,225,220,149,191,75,182,181,173,74,23,114,29,76,186,51,217,144,139,61,132,180,181,173,220,20,253,193,164,27,211,117,10,251,73,149,191,171,206,98,117,23,43,151,47,115,19,200,64,15,241,57,113,168,172,252,222,216,167,204,28,58,149,239,213,99,242,138,153,87,117,248,206,31,57,233,6,166,145,237,34,135,92,62,125,40,69,89,161,50,184,234,210,39,31,213,181,171,191,156,71,108,253,92,245,238,154,38,71,255,54,213,219,166,55,158,15,15,31,85,148,51,73,210,140,39,33,117,212,233,48,133,46,99,218,93,101,115,92,127,170,56,41,100,46,165,127,91,189,75,227,186,191,45,219,178,201,166,119,215,196,87,245,7,57,76,236,119,58,61,169,228,80,229,163,146,103,210,80,174,10,149,174,38,37,74,217,136,120,61,160,129,134,241,231,146,178,252,244,104,4,184,57,230,225,80,123,231,50,149,236,35,174,122,170,163,76,95,183,78,189,149,44,187,148,173,164,178,107,25,211,62,170,252,14,130,188,135,219,36,110,207,87,108,184,190,183,164,123,54,163,27,163,108,152,246,253,197,125,106,34,213,83,28,3,197,107,122,152,250,132,156,63,127,199,70,181,47,174,210,211,246,12,221,94,58,81,148,161,171,147,174,44,62,166,187,212,197,247,249,119,46,248,239,75,54,4,191,33,225,220,86,23,34,165,181,197,27,18,206,197,116,161,207,238,117,113,85,254,252,89,140,232,71,219,96,49,59,183,185,185,41,85,142,173,124,151,122,219,194,22,147,217,207,128,135,36,120,155,244,154,254,83,213,95,101,127,139,137,218,14,99,100,142,193,150,191,109,125,152,163,29,66,117,227,251,188,43,102,206,77,53,127,235,214,19,190,239,75,164,150,65,156,227,68,92,245,43,203,228,251,30,71,14,125,234,100,240,177,15,215,103,161,161,240,239,131,248,90,194,231,253,26,159,103,194,49,239,51,185,148,239,139,143,126,92,236,199,86,94,142,239,26,114,63,187,167,101,212,241,205,148,169,189,235,60,66,244,77,15,221,252,97,122,167,116,74,227,239,75,157,223,223,77,101,212,171,171,45,139,58,158,32,246,123,46,57,239,16,157,135,126,199,228,58,110,248,212,223,119,140,146,243,142,29,175,119,4,59,21,164,116,121,190,123,32,41,191,237,148,243,174,227,251,78,89,134,247,215,76,206,181,82,87,211,166,244,183,141,39,136,223,239,32,231,254,141,229,210,240,61,151,210,229,202,235,227,216,117,225,48,153,222,43,226,191,37,45,239,179,209,247,96,114,173,79,85,243,9,47,215,213,149,211,153,230,170,134,224,82,249,249,94,129,248,188,200,86,142,13,254,222,170,234,158,185,14,91,229,101,207,103,46,175,167,44,171,74,135,13,201,245,217,99,144,247,25,154,158,121,196,66,2,101,207,85,62,215,109,67,58,231,122,74,181,167,84,130,148,123,108,190,136,253,137,218,110,75,10,231,239,166,218,250,155,235,26,70,28,175,118,35,213,190,92,29,253,217,182,222,239,133,177,134,207,73,41,101,240,93,115,202,109,87,151,30,100,157,184,220,207,213,37,31,183,165,58,202,157,146,202,143,89,79,228,182,55,151,103,152,174,182,224,210,246,186,114,76,107,178,18,246,228,170,19,91,63,176,201,95,234,247,40,196,113,126,76,145,62,102,12,138,197,197,190,75,247,145,28,121,166,236,167,42,221,213,113,152,246,73,117,123,161,185,214,162,174,242,202,178,211,195,69,215,252,55,251,82,218,149,139,29,119,200,236,113,199,117,191,144,143,49,165,214,43,57,199,179,208,57,211,71,46,213,248,94,215,24,192,203,20,191,151,118,25,15,228,124,228,247,143,84,118,198,207,125,126,95,96,92,202,63,100,125,229,219,150,186,247,181,38,164,60,235,154,203,92,234,108,122,14,94,114,124,201,209,127,85,101,212,113,136,178,168,108,222,7,158,223,148,116,174,170,187,202,159,191,31,40,30,49,242,184,180,163,107,251,152,214,56,170,177,208,119,28,229,54,45,143,51,186,50,93,230,178,88,251,228,191,159,202,223,195,145,127,131,215,118,15,20,114,63,32,150,47,199,245,105,191,216,250,203,191,93,236,66,233,241,49,102,190,183,233,52,86,127,177,196,254,14,156,239,243,123,209,54,67,127,115,174,174,246,143,89,243,233,214,107,177,71,204,28,66,132,115,121,61,227,242,110,28,37,100,15,57,70,255,169,219,132,183,203,184,144,87,9,187,19,235,31,99,63,41,177,149,45,251,169,214,219,99,158,186,244,109,191,82,54,33,207,161,226,252,227,211,63,114,216,187,13,83,249,117,204,177,114,253,67,222,195,245,157,111,82,233,143,191,187,154,186,109,98,237,211,5,23,125,218,250,123,170,246,136,237,15,49,99,187,73,254,84,135,234,158,206,197,182,197,249,120,130,148,63,196,242,67,246,71,93,143,148,227,71,105,218,100,246,111,232,229,28,163,117,196,62,47,228,121,132,142,189,37,244,47,30,13,1,57,158,236,199,227,19,77,252,220,50,235,228,244,205,103,208,0,47,71,229,199,93,211,26,41,247,92,18,99,31,169,218,45,116,62,10,221,47,54,245,53,221,252,234,211,231,98,229,240,89,227,170,224,97,169,215,103,37,198,146,216,54,85,205,213,177,253,40,197,189,141,136,252,13,170,238,127,150,108,235,143,94,155,143,93,203,143,217,123,168,123,61,34,203,31,35,71,236,119,179,169,72,209,94,185,222,93,44,49,230,152,198,96,219,115,159,82,253,205,54,246,228,30,223,82,143,129,190,117,46,217,246,190,243,98,110,114,181,173,74,175,185,230,65,159,54,20,227,170,158,141,197,140,185,41,116,22,59,255,196,150,149,218,206,83,146,66,63,177,117,9,181,83,223,126,159,123,158,74,161,203,16,185,100,157,197,236,23,250,252,6,123,142,242,83,180,75,234,249,223,102,159,114,250,208,250,243,163,14,27,18,105,91,174,125,9,249,13,65,113,125,153,250,119,9,83,231,215,205,32,111,142,117,250,46,133,80,149,61,169,241,79,129,170,13,74,150,161,243,23,127,75,84,165,7,85,120,105,22,42,144,229,83,201,107,35,133,108,62,229,249,200,163,146,79,142,235,90,151,73,67,158,62,182,165,114,117,101,233,210,134,246,1,211,216,29,219,134,174,115,68,206,188,115,213,205,102,183,46,237,23,154,191,107,153,41,40,173,199,144,114,76,125,189,212,239,58,139,191,117,106,250,31,175,212,54,225,59,238,250,150,153,218,174,82,235,61,119,249,169,229,79,37,95,174,254,26,91,63,221,122,199,197,126,125,214,18,62,246,238,179,70,40,185,46,203,85,134,106,45,19,83,158,105,125,20,179,38,172,99,13,28,187,126,141,189,55,143,221,31,41,165,39,215,122,255,15]);const Nj=18===new Uint8Array(new Uint32Array([305419896]).buffer)[0],Mj=(e,t,r)=>{let n=e[t];e[t]=e[r],e[r]=n};var Oj=class{constructor(){yF(this,"table",new Uint16Array(16)),yF(this,"trans",new Uint16Array(288))}},Lj=class{constructor(e,t){yF(this,"source",void 0),yF(this,"dest",void 0),yF(this,"sourceIndex",void 0),yF(this,"tag",void 0),yF(this,"bitcount",void 0),yF(this,"destLen",void 0),yF(this,"ltree",void 0),yF(this,"dtree",void 0),this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new Oj,this.dtree=new Oj}};const kj=new Oj,Pj=new Oj,Dj=new Uint8Array(30),Uj=new Uint16Array(30),Bj=new Uint8Array(30),Vj=new Uint16Array(30),Fj=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),jj=new Oj,Hj=new Uint8Array(320);function Wj(e,t,r,n){let i,a;for(i=0;i>>=1,t}function Gj(e,t,r){if(!t)return r;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>16-t;return e.tag>>>=t,e.bitcount-=t,n+r}function Yj(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>=1,++i,r+=t.table[i],n-=t.table[i]}while(n>=0);return e.tag=a,e.bitcount-=i,t.trans[r+n]}function Qj(e,t,r){let n,i,a,o=Gj(e,5,257),s=Gj(e,5,1),l=Gj(e,4,4);for(n=0;n<19;++n)Hj[n]=0;for(n=0;n8;)e.sourceIndex--,e.bitcount-=8;if(t=e.source[e.sourceIndex+1],t=256*t+e.source[e.sourceIndex],r=e.source[e.sourceIndex+3],r=256*r+e.source[e.sourceIndex+2],t!==(65535&~r))return-3;for(e.sourceIndex+=4,n=t;n;--n)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,0}function $j(e,t){let r,n,i,a=new Lj(e,t);do{switch(r=qj(a),n=Gj(a,2,0),n){case 0:i=Kj(a);break;case 1:i=Zj(a,kj,Pj);break;case 2:Qj(a,a.ltree,a.dtree),i=Zj(a,a.ltree,a.dtree);break;default:i=-3}if(0!==i)throw Error("Data error")}while(!r);return a.destLen{Nj&&(e=>{let t=e.length;for(let r=0;r1114111?this.errorValue:e<55296||e>56319&&e<=65535?(t=(this.data[e>>5]<<2)+(31&e),this.data[t]):e<=65535?(t=(this.data[2048+(e-55296>>5)]<<2)+(31&e),this.data[t]):e>11)],t=this.data[t+(e>>5&63)],t=(t<<2)+(31&e),this.data[t]):this.data[this.data.length-4]}}(Tj);function eH(e){switch(e){case 33:case 39:case 40:case 42:return 12;case 35:return 5;default:return e}}function tH(e){switch(e){case 37:case 38:return 34;case 41:return 22;default:return e}}var rH=class{constructor(e){this.content=e,yF(this,"_pos",0),yF(this,"_lastPos",0),yF(this,"_curClass",null),yF(this,"_codePoint",null),yF(this,"_lastCodePoint",null),yF(this,"_nextClass",null),yF(this,"_LB8a",!1),yF(this,"_LB21a",!1),yF(this,"_LB30a",0),yF(this,"_rule",new xj)}use(e){return e(this),this}addRule(e,t){return this._rule.add(e,t),this}nextBreakPoint(){if(null==this._curClass){let e=this._nextCharClass();this._curClass=tH(e),this._nextClass=e,this._LB8a=31===e,this._LB30a=0}for(;this._pos=55296&&e<=56319&&t>=56320&&t<=57343?(this._pos++,1024*(e-55296)+(t-56320)+65536):e}_nextCharClass(){let e=this._getNextCodePoint(),t=Jj.get(e);return this._lastCodePoint=this._codePoint,this._codePoint=e,eH(t)}_getSimpleBreak(){switch(this._nextClass){case 41:return!1;case 34:case 37:case 38:return this._curClass=34,!1;case 36:return this._curClass=36,!1}return null}_getPairTableBreak(e){let t=!1;switch(Rj[this._curClass][this._nextClass]){case 0:t=!0;break;case 1:t=41===e;break;case 2:if(t=41===e,!t)return t=!1,t;break;case 3:if(41!==e)return t}return this._LB8a&&(t=!1),!this._LB21a||16!==this._curClass&&17!==this._curClass?this._LB21a=13===this._curClass:(t=!1,this._LB21a=!1),28===this._curClass?(this._LB30a++,2===this._LB30a&&28===this._nextClass&&(t=!0,this._LB30a=0)):this._LB30a=0,this._curClass=this._nextClass,t}},nH=class{constructor(e,t,r,n,i){this._text=e,this._fontStyle=t,this._warp=r,this._width=n,this._height=i,yF(this,"_lineBreaker",void 0),yF(this,"_lines",[]),yF(this,"_dirty",!0),yF(this,"_lastBreakLength",0),this._lineBreaker=new rH(this._text)}calculate(){if(!this._dirty)return this._lines;if(this._dirty=!1,this._lines=[],0===this._text.length){let e=wF.getMeasureText("A",this._fontStyle);return this._lines.push({text:"",width:0,height:e.fontBoundingBoxAscent+e.fontBoundingBoxDescent,baseline:e.fontBoundingBoxAscent}),this._lines}if(!this._warp){let e=wF.getMeasureText(this._text,this._fontStyle);return this._lines.push({text:this._text,width:e.width,height:e.fontBoundingBoxAscent+e.fontBoundingBoxDescent,baseline:e.fontBoundingBoxAscent}),this._lines}let e=0,t={text:"",width:0,height:0,baseline:0},r=0;for(;;){let n=this._lineBreaker.nextBreakPoint();if(!n)break;let{position:i}=n,a=this._text.slice(e,i),o=wF.getMeasureText(a,this._fontStyle);if(o.width+t.width>this._width)if(o.width>this._width){if(t.text.length>0){if(this._lines.push(t),r+=t.height,r>this._height)break;t={text:"",width:0,height:0,baseline:0}}let e=a;for(;e.length>0;){let n=0,i="",a=0,o=Math.min(this._lastBreakLength,e.length);0===o&&(o=Math.min(10,e.length));let s=e.slice(0,o),l=wF.getMeasureText(s,this._fontStyle);if(l.width+t.width<=this._width){n=o;for(let r=o+1;r<=e.length&&(s=e.slice(0,r),l=wF.getMeasureText(s,this._fontStyle),l.width+t.width<=this._width);r++)n=r}else{n=0;for(let r=o-1;r>=1;r--)if(s=e.slice(0,r),l=wF.getMeasureText(s,this._fontStyle),l.width+t.width<=this._width){n=r;break}}if(n>0&&(this._lastBreakLength=n),n>0&&(i=e.slice(0,n),a=wF.getMeasureText(i,this._fontStyle).width),0===n&&0===t.text.length&&(n=1,i=e[0],a=wF.getMeasureText(i,this._fontStyle).width),!(n>0))break;{t.text+=i,t.width+=a;let o=wF.getMeasureText(t.text,this._fontStyle);if(t.height=o.fontBoundingBoxAscent+o.fontBoundingBoxDescent,t.baseline=o.fontBoundingBoxAscent,e=e.slice(n),e.length>0){if(this._lines.push(t),r+=t.height,r>this._height)break;t={text:"",width:0,height:0,baseline:0}}}}}else if(t.text.length>0){if(this._lines.push(t),r+=t.height,r>this._height)break;t={text:a,width:o.width,height:o.fontBoundingBoxAscent+o.fontBoundingBoxDescent,baseline:o.fontBoundingBoxAscent}}else t={text:a,width:o.width,height:o.fontBoundingBoxAscent+o.fontBoundingBoxDescent,baseline:o.fontBoundingBoxAscent};else t.text+=a,t.width+=o.width,t.baseline=o.fontBoundingBoxAscent,t.height=o.fontBoundingBoxAscent+o.fontBoundingBoxDescent;e=i}return t.text.length>0&&this._lines.push(t),this._lines}getLines(){return this._lines}getTotalHeight(){return this._lines.reduce((e,t)=>e+t.height,0)}getTotalWidth(){return this._lines.reduce((e,t)=>Math.max(e,t.width),0)}makeDirty(){this._dirty=!0,this._lastBreakLength=0}};const iH=new Set(tj),aH=["hoverCursor","moveCursor","fillRule","globalCompositeOperation","paintFirst","stroke","strokeScaleEnabled","fill","fillAfterStrokeEnabled","hitStrokeWidth","strokeLineJoin","strokeLineCap","shadowColor","shadowBlur","shadowOffset","shadowOffsetX","shadowOffsetY","shadowOpacity","shadowEnabled","shadowForStrokeEnabled","strokeDashArray","strokeDashOffset","strokeMiterLimit"];var oH=class extends nj{constructor(e,t){super(e),yF(this,"_hoverCursor",void 0),yF(this,"_moveCursor",null),yF(this,"_fillRule","nonzero"),yF(this,"_globalCompositeOperation","source-over"),yF(this,"_paintFirst","fill"),yF(this,"_stroke",void 0),yF(this,"_strokeScaleEnabled",!1),yF(this,"_fill",void 0),yF(this,"_fillAfterStrokeEnabled",!1),yF(this,"_hitStrokeWidth",0),yF(this,"_strokeLineJoin","round"),yF(this,"_strokeLineCap","round"),yF(this,"_shadowColor",void 0),yF(this,"_shadowBlur",0),yF(this,"_shadowOffset",void 0),yF(this,"_shadowOffsetX",0),yF(this,"_shadowOffsetY",0),yF(this,"_shadowOpacity",0),yF(this,"_shadowEnabled",!1),yF(this,"_shadowForStrokeEnabled",!1),yF(this,"_strokeDashArray",void 0),yF(this,"_strokeDashOffset",0),yF(this,"_strokeMiterLimit",0),yF(this,"_type",RV.RECT),yF(this,"objectType",rj.SHAPE),this._initialProps(t)}get hoverCursor(){return this._hoverCursor}get moveCursor(){return this._moveCursor}get fillRule(){return this._fillRule}get globalCompositeOperation(){return this._globalCompositeOperation}get paintFirst(){return this._paintFirst}get stroke(){return this._stroke}get strokeScaleEnabled(){return this._strokeScaleEnabled}get fill(){return this._fill}get fillAfterStrokeEnabled(){return this._fillAfterStrokeEnabled}get hitStrokeWidth(){return this._hitStrokeWidth}get strokeLineJoin(){return this._strokeLineJoin}get strokeLineCap(){return this._strokeLineCap}get shadowColor(){return this._shadowColor}get shadowBlur(){return this._shadowBlur}get shadowOffset(){return this._shadowOffset}get shadowOffsetX(){return this._shadowOffsetX}get shadowOffsetY(){return this._shadowOffsetY}get shadowOpacity(){return this._shadowOpacity}get shadowEnabled(){return this._shadowEnabled}get shadowForStrokeEnabled(){return this._shadowForStrokeEnabled}get strokeDashArray(){return this._strokeDashArray}get strokeDashOffset(){return this._strokeDashOffset}get strokeMiterLimit(){return this._strokeMiterLimit}static drawWith(e,t){}static _renderPaintInOrder(e,t){"stroke"===t.paintFirst?(this._renderStroke(e,t),this._renderFill(e,t)):(this._renderFill(e,t),this._renderStroke(e,t))}static _renderFill(e,t){t.fill&&(e.save(),this._setFillStyles(e,t),"evenodd"===t.fillRule?e.fill("evenodd"):e.fill(),e.restore())}static _renderStroke(e,t){let{stroke:r,strokeWidth:n,strokeScaleEnabled:i}=t;!r||0===n||(e.save(),this._setStrokeStyles(e,t),e.stroke(),e.restore())}static _removeShadow(e){}static _setFillStyles(e,t){e.fillStyle=t.fill}static _setStrokeStyles(e,t){let{strokeWidth:r,strokeLineCap:n,strokeDashOffset:i,strokeLineJoin:a,strokeMiterLimit:o,stroke:s}=t;e.lineWidth=r,e.lineCap=n,e.lineDashOffset=i,e.lineJoin=a,e.miterLimit=o,e.strokeStyle=s}render(e,t){if(!this.visible)return this.makeDirty(!1),this;if(this.isRender(t)){let{top:e,left:r,bottom:n,right:i}=t.viewBound;if(this.width+this.strokeWidth+this.left{if(void 0===e[t])return!0;iH.has(t)||(this[`_${t}`]=e[t])}),this.makeDirty(!0)),this}getPropByKey(e){return this[`_${String(e)}`]}toJson(){let e={};return aH.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}_draw(e,t){}_initialProps(e){if(!e)return;let t=Object.keys(e);if(0===t.length)return;let r={},n=!1,i=void 0!==(null==e?void 0:e.rotateEnabled),a=void 0!==(null==e?void 0:e.resizeEnabled),o=void 0!==(null==e?void 0:e.borderEnabled);if(i||a||o){let t=this.transformerConfig||{};i&&(t.rotateEnabled=null==e?void 0:e.rotateEnabled),a&&(t.resizeEnabled=null==e?void 0:e.resizeEnabled),o&&(t.borderEnabled=null==e?void 0:e.borderEnabled),this.transformerConfig={...t}}t.forEach(t=>{if(void 0===e[t])return!0;iH.has(t)?(r[t]=e[t],n=!0):this[`_${t}`]=e[t]}),n&&this.transformByState(r),this.makeDirty(!0)}};const sH=["text","fontStyle","warp","hAlign","vAlign","width","height","color"];var lH=class e extends oH{constructor(e,t){var r,n,i;super(e,t),yF(this,"text",void 0),yF(this,"fontStyle",void 0),yF(this,"warp",void 0),yF(this,"hAlign",void 0),yF(this,"vAlign",void 0),yF(this,"skeleton",void 0),this.width=t.width,this.height=t.height,this.text=t.text,this.fontStyle=t.fontStyle,this.warp=null!=(r=t.warp)&&r,this.hAlign=null==(n=t.hAlign)?Lu.LEFT:n,this.vAlign=null==(i=t.vAlign)?ku.TOP:i,this.skeleton=new nH(t.text,t.fontStyle,!!t.warp,t.width,t.height)}static drawWith(e,t,r){var n;let{text:i,fontStyle:a,warp:o,hAlign:s,vAlign:l,width:u,height:c,left:d=0,top:h=0,cellValueType:m}=t,f=null==r?new nH(i,a,!!o,u,l===ku.TOP?c:1/0):r,g=f.calculate(),p=f.getTotalHeight(),v=h+(l===ku.TOP?0:l===ku.MIDDLE?(c-p)/2:c-p);e.save(),e.font=a,e.fillStyle=null==(n=t.color)?NV:n;for(let r of g){let n=r.height,i=r.width,a=0;if(o||!(u{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}},uH=class{constructor(){yF(this,"_translateX",0),yF(this,"_translateY",0),yF(this,"_translateSaveList",[])}get x(){return this._translateX}get y(){return this._translateY}reset(){this.translateBy(0,0),this._translateSaveList=[]}translateBy(e=0,t=0){this._translateX=e,this._translateY=t}translate(e=0,t=0){this._translateX+=e,this._translateY+=t}translateSave(){this._translateSaveList.push({x:this._translateX,y:this._translateY})}translateRestore(){let e=this._translateSaveList.pop();e&&(this._translateX=e.x,this._translateY=e.y)}translatePagePadding(e){let{marginTop:t=0,marginBottom:r=0,marginLeft:n=0,marginRight:i=0}=e;this.translate(n,t)}restorePagePadding(e){let{marginTop:t=0,marginBottom:r=0,marginLeft:n=0,marginRight:i=0}=e;this.translate(-n,-t)}translatePage(e,t=RF.VERTICAL,r=0,n=0,i=0,a=0){let{pageWidth:o,pageHeight:s}=e,l=0,u=0;return t===RF.VERTICAL?l+=s+n:t===RF.HORIZONTAL&&(u+=o+r),this.translate(u,l),{x:u,y:l}}translateSection(e){let{top:t=0}=e;return this.translate(0,t),{x:0,y:t}}translateColumn(e){let{left:t}=e;return this.translate(t,0),{x:t,y:0}}translateLine(e,t=!1,r=!1){let{top:n,marginBottom:i=0,marginTop:a=0,paddingTop:o=0,paddingBottom:s=0}=e,l=n+(t?a:0)+(r?o:0);return this.translate(0,l),{x:0,y:l}}translateDivide(e){let{left:t,paddingLeft:r}=e,n=t+r;return this.translate(n,0),{x:n,y:0}}translateGlyph(e){let{left:t}=e;return this.translate(t,0),{x:t,y:0}}},cH=class e{constructor(e,t){this.nodeType=e,this.content=t,yF(this,"children",[]),yF(this,"parent",void 0),yF(this,"startIndex",-1),yF(this,"endIndex",-1),yF(this,"blocks",[])}static create(t,r){return new e(t,r)}dispose(){this.children.forEach(e=>{e.dispose()}),this.parent=null,this.blocks=[]}getProps(){let{children:e,parent:t,startIndex:r,endIndex:n,nodeType:i,content:a}=this;return{children:e,parent:t,startIndex:r,endIndex:n,nodeType:i,content:a}}addBlocks(e){this.blocks=this.blocks.concat(e)}setIndexRange(e,t){this.startIndex=e,this.endIndex=t}insertText(e,t){this.content=Zd(this.content||"",t-this.startIndex,e)}exclude(e){let{startIndex:t,endIndex:r}=this;return er}plus(e){this.startIndex+=e,this.endIndex+=e,this._addIndexForBlock(e)}selfPlus(e,t){this.endIndex+=e,null==t&&(t=this.startIndex),this._addIndexForBlock(e,t)}split(t){let{children:r,parent:n,startIndex:i,nodeType:a,content:o=""}=this.getProps();if(this.exclude(t))return;let s=t-i,l=s,u=o.slice(0,s),c=e.create(a,u);c.parent=n,c.setIndexRange(0,s-1);let d=o.slice(l),h=e.create(a,d);h.parent=n,h.setIndexRange(l,l+d.length-1);let m=[],f=[];for(let e of r){let{startIndex:r}=e;if(e.exclude(t))t=t&&(this.blocks[r]=n+e)}}_resetBlocks(){if(this.nodeType===Um.PARAGRAPH&&null!=this.content&&0!==this.content.length){this.blocks=[];for(let e=0,t=this.content.length;ee.startIndex===n.table.startIndex&&e.endIndex===n.table.endIndex+1);e&&a.set(e.tableId,{table:n.table})}l.pop()}e.setIndexRange(h-r.length+1,h),e.addBlocks(d),d.length=0,r="",c.length>0?s.push(e):o.push(e)}else if(n===Bm.SECTION_BREAK){let e=cH.create(Um.SECTION_BREAK),t=c.length>0?s:o;if(0===t.length){let e=cH.create(Um.PARAGRAPH,"");e.setIndexRange(h,h-1),t.push(e)}hH(e,t);let r=t[t.length-1];r&&r.content&&(r.content+=Bm.SECTION_BREAK),c.length>0?hH(c[c.length-1],[e],Um.TABLE_CELL):i.push(e),t.length=0}else if(n===Bm.TABLE_START){let e=cH.create(Um.TABLE);l.push({table:e,isFinished:!1})}else if(n===Bm.TABLE_ROW_START){let e=cH.create(Um.TABLE_ROW);u.push(e)}else if(n===Bm.TABLE_CELL_START){let e=cH.create(Um.TABLE_CELL);c.push(e)}else if(n===Bm.TABLE_END)l[l.length-1].isFinished=!0,r="";else if(n===Bm.TABLE_ROW_END){let e=u.pop();hH(l[l.length-1].table,[e],Um.TABLE)}else if(n===Bm.TABLE_CELL_END){let e=c.pop();hH(u[u.length-1],[e],Um.TABLE_ROW)}else n===Bm.CUSTOM_BLOCK&&d.push(h),r+=n}return{sectionList:i,tableNodeCache:a}}var fH=class e{constructor(e){if(this._documentDataModel=e,yF(this,"_interceptor",null),yF(this,"_cacheSize",1e3),yF(this,"_textRunsCache",new Map),yF(this,"_paragraphCache",new Map),yF(this,"_sectionBreakCache",new Map),yF(this,"_customBlockCache",new Map),yF(this,"_tableCache",new Map),yF(this,"_tableNodeCache",new Map),yF(this,"_children",[]),yF(this,"_editArea",dH.BODY),yF(this,"_editAreaChange$",new Qn(null)),yF(this,"editAreaChange$",this._editAreaChange$.asObservable()),yF(this,"_headerTreeMap",new Map),yF(this,"_footerTreeMap",new Map),yF(this,"_segmentViewModels$",new Qn([])),yF(this,"segmentViewModels$",this._segmentViewModels$.asObservable()),null==e.getBody())return;let t=e.getBody(),{sectionList:r,tableNodeCache:n}=mH(t.dataStream,t.tables);this._buildAllCache(),this._children=r,this._tableNodeCache=n,this._buildHeaderFooterViewModel()}registerCustomRangeInterceptor(e){return this._interceptor=e,Jl(()=>this._interceptor=null)}dispose(){this._children.forEach(e=>{e.dispose()}),this._textRunsCache.clear(),this._paragraphCache.clear(),this._sectionBreakCache.clear(),this._customBlockCache.clear(),this._tableCache.clear(),this._tableNodeCache.clear(),this._segmentViewModels$.complete(),this._editAreaChange$.complete()}getHeaderFooterTreeMap(){return{headerTreeMap:this._headerTreeMap,footerTreeMap:this._footerTreeMap}}getEditArea(){return this._editArea}setEditArea(e){e!==this._editArea&&(this._editArea=e,this._editAreaChange$.next(e))}getChildren(){return this._children}getBody(){return this._documentDataModel.getBody()}getSnapshot(){return this._documentDataModel.getSnapshot()}getDataModel(){return this._documentDataModel}getSelfOrHeaderFooterViewModel(e){return null==e?this:this._headerTreeMap.has(e)?this._headerTreeMap.get(e):this._footerTreeMap.has(e)?this._footerTreeMap.get(e):this}reset(e){this._documentDataModel=e;let t=e.getBody(),{sectionList:r,tableNodeCache:n}=mH(t.dataStream,t.tables);this._children=r,this._tableNodeCache=n,this._buildAllCache(),this._buildHeaderFooterViewModel()}getSectionBreak(e){return this._sectionBreakCache.get(e)}getParagraph(e){return this._paragraphCache.get(e)}getTextRun(e){let t=Math.floor(e/this._cacheSize),r=this._textRunsCache.get(t);return null==r?void 0:r.get(e%this._cacheSize)}getCustomBlock(e){return this._customBlockCache.get(e)}getCustomBlockWithoutSetCurrentIndex(e){let t=this.getBody().customBlocks;if(null!=t)for(let r=0;r=n.startIndex&&e<=n.endIndex)return n}}getCustomRange(e){return this._interceptor?this._interceptor.getCustomRange(e):this.getCustomRangeRaw(e)}getCustomDecorationRaw(e){let t=this.getBody().customDecorations;if(null!=t)for(let r=0,n=t.length;r=n.startIndex&&e<=n.endIndex)return n}}getCustomDecoration(e){return this._interceptor?this._interceptor.getCustomDecoration(e):this.getCustomDecorationRaw(e)}_buildAllCache(){this._buildTextRunsCache(),this._buildParagraphCache(),this._buildSectionBreakCache(),this._buildCustomBlockCache(),this._buildTableCache()}_buildParagraphCache(){var e,t;this._paragraphCache.clear();let r=null==(e=null==(t=this.getBody())?void 0:t.paragraphs)?[]:e;for(let e of r){let{startIndex:t}=e;this._paragraphCache.set(t,e)}}_buildSectionBreakCache(){var e,t;this._sectionBreakCache.clear();let r=null==(e=null==(t=this.getBody())?void 0:t.sectionBreaks)?[]:e;for(let e of r){let{startIndex:t}=e;this._sectionBreakCache.set(t,e)}}_buildCustomBlockCache(){var e,t;this._customBlockCache.clear();let r=null==(e=null==(t=this.getBody())?void 0:t.customBlocks)?[]:e;for(let e of r){let{startIndex:t}=e;this._customBlockCache.set(t,e)}}_buildTableCache(){var e;this._tableCache.clear();let t=null==(e=this.getBody())?void 0:e.tables,r=this.getSnapshot().tableSource;if(null!=t&&null!=r)for(let e of t){let{startIndex:t,tableId:n}=e,i=r[n];null!=i&&this._tableCache.set(t,{table:e,tableSource:i})}}_buildTextRunsCache(){var e,t;let r=null==(e=null==(t=this.getBody())?void 0:t.textRuns)?[]:e;this._textRunsCache.clear();for(let e of r){let{st:t,ed:r}=e;for(let n=t;n-1)return{content:"",raw:t,ts:o,fontStyle:a,width:0,bBox:{width:0,ba:0,bd:0,aba:0,abd:0,sp:0,sbr:0,sbo:0,spr:0,spo:0},xOffset:0,left:0,isJustifiable:!1,adjustability:vH(t,0),glyphType:IF.PLACEHOLDER,streamType:t,count:1};t===Bm.PARAGRAPH&&(d=Bm.PARAGRAPH);let h=null,m=0;h=i&&i.boundingBox&&i.font?wF.getBBoxFromGlyphInfo(i,a):wF.getTextSize(t,a);let{width:f=0}=h,g=null==n?f:n;if(fW(l,u)&&(g=f+(tF(t)?s:s/2),l===Qu.SNAP_TO_CHARS&&(m=(g-f)/2)),i&&0!==i.kerning&&i.font){let e=pF(a.fontSize)/i.font.unitsPerEm,t=i.kerning*e;g+=t,m+=t}return{content:t,ts:o,fontStyle:a,width:g,bBox:h,xOffset:m,left:0,glyphType:e,streamType:d,isJustifiable:pH(t),adjustability:vH(t,g),count:t.length,raw:t}}function SH(e,t=0){let r,n=e.length;for(let i=0;it+r?void 0:e+a}let{top:h=0,height:m=0}=kH(s,a,o,n,i);return h-=c,m+=d,h+mt+r?void 0:h+m}function MH(e,t){Object.assign(e,t)}function OH(e,t,r,n,i){let{top:a,height:o,left:s,width:l,angle:u=0}=e,{top:c=0,left:d=0,width:h=0,height:m=0}=kH(u,s,l,a,o);return!(c+mt+r||d+hn+i)}function LH(e,t,r,n){let{aTop:i,height:a,aLeft:o,width:s,angle:l=0,drawingOrigin:u}=e,{layoutType:c}=u;if(c===Ju.WRAP_NONE||c===Ju.WRAP_TOP_AND_BOTTOM)return;if(c===Ju.WRAP_POLYGON){let{start:e=[0,0],lineTo:i}=u;if(!i)return;let a=[];a.push(new TF(e[0],e[1]));for(let e=0;e=a+i)return;let g=r-c,p=n+c+d,v=function(e,t,r,n){let i=xH.BOTH;return e===$u.LEFT?i=xH.LEFT:e===$u.RIGHT?i=xH.RIGHT:e===$u.LARGEST&&(i=t>n-t-r?xH.LEFT:xH.RIGHT),i}(u,g,p,o);return v===xH.LEFT?p=o-g:v===xH.RIGHT&&(g=0,p=r+n+d),{left:g,width:p}}function BH(e,t){return{glyphGroup:[],width:t,left:e,paddingLeft:0,isFull:!1,st:0,ed:0}}function VH(e=[],t=Ku.NONE,r=0,n=0,i=1/0,a=1/0){let o=[],s=0,l=0;if(0===e.length)o.push(jH(n,i,0,Ku.NONE));else for(let r=0;r{e.parent=u}),u}function FH(e,t){e.isFull=t}function jH(e,t,r,n){return{lines:[],left:e,width:t,height:0,spaceWidth:r,separator:n,st:0,ed:0,drawingLRIds:[],isFull:!1}}function HH(e){return e[e.length-1]}function WH(e,t,r){let{marginTop:n,marginBottom:i,pageHeight:a}=e,o=a-n-i;return r&&(o-=t.repeatRowHeight),o}function zH(e,t,r,n,i,a,o,s,l,u=!1){let c=WH(t,l,!1),d=WH(t,l,!0),{children:h,startIndex:m,endIndex:f}=a,g=s.tableRows[o],{trHeight:p,cantSplit:v}=g,b=[],{hRule:C,val:y}=p,_=v===Vu.TRUE&&p.hRule===oc.AUTO,w=l.remainHeight<=72,E=HH(r),S=[0];for(let t of h){let r=h.indexOf(t),a=BW(e,n,t,i,s,o,r,_&&!w?l.remainHeight:d,c);for(;b.length{let a=UW(e,i,s,o,n).page;return a.parent=t,a}),b.push(t)}for(;S.length0;){let a=b.shift(),c=E.rows[E.rows.length-1];(l.remainHeight<72||l.remainHeight0&&(E=GH(m,f,s),r.push(E),l.repeatRow&&!1===u&&0!==o&&a.index!==c.index))&&(l.remainHeight=WH(t,l,!1),zH(e,t,r,n,i,l.repeatRow,0,s,l,!0)),E=HH(r),a.top=l.rowTop,E.height+=a.height,E.rows.push(a),a.parent=E,l.remainHeight-=a.height,l.rowTop+=a.height}}function XH(e,t){for(let r=0;ri+a?e.bBox:t}(e,s);return{content:n,ts:{...e.ts,st:{s:Vu.FALSE}},fontStyle:o,width:c,xOffset:0,bBox:h,left:d,isJustifiable:pH(n),adjustability:vH(n,c),glyphType:IF.LIST,streamType:Bm.LETTER,count:0,raw:n}}(t[0],s,m),g=s.paragraphProperties||{};i.paragraphStyle=function(e,t){let r=(e,t,n)=>"v"===n?"number"==typeof t&&"number"==typeof e?Math.max(t,e):null==t?e:t:"object"==typeof t?Fr(e,t,r):null==t?e:t;return Fr(e,t,r)}(i.paragraphStyle,{...g,hanging:{v:f.width}}),JH(e,[f,...t],r,n,i,a,o)}else JH(e,t,r,n,i,a,o);else $H(e,t,r,n,i,a,o);return[...r]}function $H(e,t,r,n,i,a,o=Aj.Normal,s){let l=function(e){let t=cW(e);if(t)for(let e=0;ed.width){MH(d,{isFull:!0});let u=function(e){var t;let r=null==(t=e.parent)?void 0:t.parent;if(null==r)return 0;let n=0;for(let e=r.lines.length-1;e>=0;e--){let t=r.lines[e];if(t.divides[t.divides.length-1].breakType!==Aj.Hyphen)break;n++}return n}(l.divide),{consecutiveHyphenLimit:c=1/0}=n;if(!l.isLast||1!==t.length||t[0].content!==Bm.SPACE&&t[0].content!==Bm.PARAGRAPH)if(l.isLast&&!function(e,t,r){if(e.length<=1)return!1;let n=t,i=!1;for(let t of e){if(t.content===Bm.SPACE||t.content===Bm.PARAGRAPH||t.streamType===Bm.SECTION_BREAK)break;if(n+=t.width,n>r){i=!0;break}}return i}(t,f,d.width)&&function(e){if(e.length<=1)return!1;let t=!1;for(let r of e)if(r.content===Bm.SPACE&&(t=!0),t&&r.content!==Bm.SPACE&&r.content!==Bm.PARAGRAPH&&r.streamType!==Bm.SECTION_BREAK)return!1;return t}(t))AH(d,t,f);else if(0===(null==d?void 0:d.glyphGroup.length)){let a=[];for(;t.length;)if(a.push(t.shift()),sW(a)>d.width){a.length>1&&t.unshift(a.pop());break}a.length>0&&AH(d,a,f),t.length&&$H(e,t,r,n,i,!1,o,s)}else if(u>c){let l=function(e){let t=[],r=e.glyphGroup.pop();for(;r&&" "!==r.content;)t.unshift(r),r=e.glyphGroup.pop();return 0===e.glyphGroup.length&&(e.glyphGroup.push(...t),t.length=0),t}(d);l.length>0&&(MH(d,{breakType:Aj.Normal}),$H(e,l,r,n,i,a,Aj.Hyphen)),$H(e,t,r,n,i,a,o,s)}else $H(e,t,r,n,i,a,o,s);else AH(d,t,f)}else if(h&&g&&g>0&&f>=d.width-g&&o===Aj.Hyphen&&d.breakType===Aj.Normal)MH(d,{isFull:!0}),$H(e,t,r,n,i,a,o,s);else{let s=d.parent,l=function(e){let t,r=e.length,n=-1/0;for(let i=0;ie.glyphGroup)}(s),u=[],c=1;l.length>2&&l[0].glyphType===IF.LIST?(u=[l[0],l[1]],c=2):u=[l[0]];let{paragraphStart:d}=s.parent.lines.pop();JH(e,u,r,n,i,d,o,g+p);for(let t=c;te.bBox.ba)),v=Math.max(...t.map(e=>e.bBox.bd)),b=s||p+v,{paragraphStyle:C={},paragraphNonInlineSkeDrawings:y,skeTablesInParagraph:_,skeHeaders:w,skeFooters:E,pDrawingAnchor:S,paragraphIndex:A}=i,{namedStyleType:I}=C,R=void 0===I?null:_h[I],{spaceAbove:x,spaceBelow:T,indentFirstLine:N,hanging:M,indentStart:O,indentEnd:L}={...C,spaceAbove:null==(l=C.spaceAbove)?null==R?void 0:R.spaceAbove:l,spaceBelow:null==(u=C.spaceBelow)?null==R?void 0:R.spaceBelow:u},{paragraphLineGapDefault:k,linePitch:P,lineSpacing:D,spacingRule:U,snapToGrid:B,gridType:V}=gW(n,i),{paddingTop:F,paddingBottom:j,contentHeight:H,lineSpacingApply:W}=aW(b,k,P,V,D,U,B),{marginTop:z,spaceBelowApply:X}=function(e,t=0,r,n,i,a){let o=hW(n,t);if(i){let e=hW(r,t);if(a){let{spaceBelowApply:t}=a;if(e0){var re,ne;let r=null==(re=e.paragraphConfigCache.get($))||null==(re=re.get(g.paragraphIndex))?void 0:re.paragraphNonInlineSkeDrawings,n=[...null==(ne=null==r?void 0:r.values())?[]:ne].filter(e=>e.drawingOrigin.docTransform.positionV.relativeFrom===cc.LINE).filter(e=>t.includes(e.drawingId));n.length>0&&eW(e,g.top,g.lineHeight,f,n,g.paragraphIndex,a)}}var ie,ae;null!=y&&y.size>0&&eW(e,Y,q,f,[...y.values()].filter(e=>e.drawingOrigin.docTransform.positionV.relativeFrom!==cc.LINE),i.paragraphIndex,a,null==S||null==(ie=S.get(A))?void 0:ie.top),null!=_&&_.length>0&&(te=function(e,t,r,n,i,a,o,s,l,u){if(0===o.length)return!1;let c=o.find(e=>!1===e.hasPositioned);if(null==c)return!1;let{tableId:d,table:h}=c,{tableSource:m}=h;if(!1===c.isSlideTable)switch(m.textWrap){case ac.NONE:h.top=t;break;case ac.WRAP:!function(e,t,r,n,i,a,o){let s=function(e,t,r,n,i){var a,o,s;let l=null==(a=t.parent)?void 0:a.parent;if(null==l)return;let u=oW(t),{tableSource:c,width:d,height:h}=e,{positionH:m,positionV:f}=c.position;return{left:null==(o=CW(m,t,l,d,u))?0:o,top:null==(s=yW(f,l,r,n,h,i,u))?0:s}}(t,i,r,n,o);if(null==s)return;let{tableId:l,width:u,height:c,tableSource:d}=t,{left:h,top:m}=s;tW(e,[{id:l,top:m,left:h,width:u,height:c,angle:0,type:IW.TABLE,positionV:d.position.positionV}],i,a),t.top=m,t.left=h}(e,h,t,r,i,s,u);break;default:throw Error(`Unsupported table text wrap type: ${m.textWrap}`)}let{top:f,left:g,height:p}=h;if(!e.isDirty&&f+p>a.height&&!1===c.isSlideTable){o.pop();let t=a.height-f,{segmentId:r}=n,i=e.viewModel.getSelfOrHeaderFooterViewModel(r),s=c.tableNode;!function(e,t){let{startIndex:r,endIndex:n}=t;for(let t of e.values())for(let e of t){let t=e.findIndex(e=>e.paragraph.startIndex>r&&e.paragraph.startIndex-1&&e.splice(t)}}(e.skeletonResourceReference.skeListLevel,s);let{fromCurrentPage:u,skeTables:d}=function(e,t,r,n,i,a){var o;let s=[],{startIndex:l,endIndex:u,children:c}=n,d=null==(o=r.getTableByStartIndex(l))?void 0:o.tableSource;if(null==d)return console.warn("Table not found when creating table skeletons"),{skeTables:s,fromCurrentPage:!1};let h=d.tableRows[0].repeatHeaderRow===Vu.TRUE,m=GH(l,u,d),f={rowTop:0,tableWidth:0,remainHeight:a,repeatRow:h?c[0]:null,repeatRowHeight:0};s.push(m);for(let n of c)zH(e,t,s,r,i,n,c.indexOf(n),d,f);return function(e,t,r,n){let{pageWidth:i,marginLeft:a=0,marginRight:o=0}=t,{tableWidth:s}=e,l=qH(i-a-o,s,n.align,n.indent),u=0;for(let e of r)e.width=s,e.left=l,e.st=e.rows[0].st-1,e.ed=e.rows[e.rows.length-1].ed+1,r.length>1&&(e.tableId=QH(n.tableId,u),u++)}(f,t,s,d),{skeTables:s,fromCurrentPage:s[0].height<=a}}(e,n,i,s,l,t);if(d.forEach((e,t)=>{e.top=0===t&&u?f:0,e.left=g}),u){let e=d.shift();n.skeTables.set(e.tableId,e),e.parent=n,o.push({table:e,tableId:e.tableId,hasPositioned:!0,isSlideTable:!0,tableNode:s})}return o.push(...d.map(e=>({table:e,tableId:e.tableId,hasPositioned:!1,isSlideTable:!0,tableNode:s}))),!0}return n.skeTables.set(d,h),h.parent=n,c.hasPositioned=!0,c!==o[o.length-1]}(e,Y,q,h,f,G,_,i.paragraphIndex,n,null==S||null==(ae=S.get(A))?void 0:ae.top));let oe=function(e=15.6,t=0,r,n,i){let a=t,o=r.skeDrawings,s=new Map(Array.from(r.skeTables).filter(([e,t])=>t.tableSource.textWrap===ac.NONE)),l=null==n?void 0:n.skeDrawings,u=null==i?void 0:i.skeDrawings;return n&&l&&l.forEach(i=>{let o=NH(PH(i,n,r,!0),e,t);o&&(a=Math.max(a,o))}),i&&u&&u.forEach(n=>{let o=NH(PH(n,i,r,!1),e,t);o&&(a=Math.max(a,o))}),null==o||o.forEach(r=>{let n=NH(r,e,t);n&&(a=Math.max(a,n))}),null==s||s.forEach(r=>{let n=function(e,t,r){let{top:n,height:i}=e;if(!(n+it+r))return n+i}(r,e,t);n&&(a=Math.max(a,n))}),a}(q,Y,h,J,ee);if(q+oe>G.height&&f.lines.length>0&&h.sections.length>0||te){if(FH(f,!0),nW(e,t,r,n,i,a,o,s),a&&y&&y.size>0)for(let t of y.values())h.skeDrawings.has(t.drawingId)&&h.skeDrawings.delete(t.drawingId),e.floatObjectsCache.has(t.drawingId)&&(e.floatObjectsCache.delete(t.drawingId),e.isDirty=!1,e.layoutStartPointer[$]=null);return}let se=g?g.lineIndex+1:0,{charSpace:le,defaultTabStop:ue}=function(e,t){let{paragraphStyle:r={}}=t,{charSpace:n=0,gridType:i=Qu.LINES,defaultTabStop:a=36,documentTextStyle:o={}}=e,{fs:s=14}=o,{snapToGrid:l=Vu.TRUE}=r;return{charSpace:n,documentFontSize:s,defaultTabStop:a,gridType:i,snapToGrid:l}}(n,i),{paddingLeft:ce,paddingRight:de}=function(e,t,r,n,i,a=!1){let o=hW(e,i),s=hW(t,i),l=hW(r,i);return o>0&&a&&(l+=o),s>0&&!a&&(l+=s),{paddingLeft:l,paddingRight:hW(n,i)}}(N,M,O,L,mW(le,ue,V,B),a);if(ce+de>=f.width){let e=ce/(ce+de);ce=f.width*e-.5,de=f.width-ce-.5}let he=function(e,t,r,n,i=0,a=!1,o,s,l,u){var c,d;let{lineHeight:h=15.6,lineTop:m=0,contentHeight:f=0,paddingLeft:g=0,paddingRight:p=0,paddingTop:v=0,paddingBottom:b=0,marginTop:C=0,spaceBelowApply:y=0}=r,{skeTablesInParagraph:_}=o,w=null==(c=s.skeDrawings)?new Map:c,E=null==(d=s.skeTables)?new Map:d,S=null==l?void 0:l.skeDrawings,A=null==u?void 0:u.skeDrawings,I=function(e,t){return{paragraphIndex:t,type:e,divides:[],lineHeight:0,contentHeight:0,top:0,asc:0,dsc:0,paddingTop:0,paddingBottom:0,marginTop:0,marginBottom:0,spaceBelowApply:0,divideLen:0,st:-1,ed:-1,isBehindTable:!1,tableId:"",lineIndex:0,paragraphStart:!1}}(t,e);if(I.lineIndex=i,I.paragraphStart=a,I.contentHeight=f,I.top=m,I.lineHeight=h,I.paddingTop=v,I.paddingBottom=b,I.marginTop=C,I.spaceBelowApply=y,a&&Array.isArray(_)&&_.length>0){let e=_[_.length-1].tableId;I.isBehindTable=!0,I.tableId=e}I.divides=function(e,t,r,n,i,a,o,s,l,u,c,d){let h=[];return h.push({left:0,width:n},{left:r-i,width:i}),o&&u&&u.forEach(n=>{let i=LH(PH(n,o,a,!0),e,t,r);i&&h.push(i)}),s&&c&&c.forEach(n=>{let i=LH(PH(n,s,a,!1),e,t,r);i&&h.push(i)}),null==l||l.forEach(n=>{let i=LH(n,e,t,r);i&&h.push(i)}),d&&d.size>0&&d.forEach(n=>{let{left:i,top:a,width:o,height:s,tableSource:l}=n,{dist:u}=l,c=UH(a,s,i,o,t,e,r,u);c&&h.push(c)}),function(e,t){t.sort((e,t)=>e.left>t.left?1:-1);let r=[],n=0,i=t.length;for(let a=0;an){let t=o-n;t=tt.drawingOrigin.layoutType!==Ju.INLINE)),S,A,new Map(Array.from(E).filter(([e,t])=>t.tableSource.textWrap===ac.WRAP)));for(let e of I.divides)e.parent=I;return I}(A,AF.PARAGRAPH,{lineHeight:q,contentHeight:H,lineTop:oe,paddingLeft:ce,paddingRight:de,paddingTop:F,paddingBottom:j,marginTop:z,spaceBelowApply:X},f.width,se,a,i,h,J,ee);f.lines.push(he),he.parent=f,function(e,t,r,n){if(n)if(n.has(e)){let r=n.get(e);null==r||r.elements.push(t)}else n.set(e,{elements:[t],paragraphIndex:e,top:r})}(A,he,Y,S),$H(e,t,r,n,i,a,o,s)}function eW(e,t,r,n,i,a,o,s){if(0===i.length)return;let l=function(e,t,r,n,i,a=[]){var o;let s=null==(o=r.parent)?void 0:o.parent;if(null==s||0===a.length)return;let l=new Map,u=oW(r);if(!u||n){for(let n of a){var c,d;let{drawingOrigin:a}=n;if(!a)continue;let{docTransform:o}=a,{positionH:h,positionV:m,size:f,angle:g}=o,{width:p=0,height:v=0}=f;n.aLeft=null==(c=CW(h,r,s,p,u))?0:c,n.aTop=null==(d=yW(m,s,e,t,v,i,u))?0:d,n.width=p,n.height=v,n.angle=g,n.initialState=!0,n.columnLeft=r.left,n.lineTop=e,n.lineHeight=t,n.isPageBreak=u,n.blockAnchorTop=null==i?e:i,l.set(n.drawingId,n)}return l}}(t,r,n,o,s,i);null==l||0===l.size||(tW(e,[...l.values()].filter(e=>{let t=e.drawingOrigin.layoutType;return t!==Ju.INLINE&&t!==Ju.WRAP_NONE}).map(e=>{let{drawingOrigin:t,drawingId:r,aTop:n,aLeft:i,width:a,height:o,angle:s}=e,l=t.docTransform.positionV;return{id:r,top:n,left:i,width:a,height:o,angle:s,type:IW.IMAGE,positionV:l}}),n,a),function(e,t){var r;let n=null==(r=e.parent)?void 0:r.parent;if(null!=t&&0!==t.size&&null!=n)for(let e of t.values()){let t=n.skeDrawings.get(e.drawingId);if(t)if(t.drawingOrigin.layoutType===Ju.WRAP_TOP_AND_BOTTOM){let r=t.aTop>e.aTop?t:e;n.skeDrawings.set(e.drawingId,r)}else n.skeDrawings.set(e.drawingId,e);else n.skeDrawings.set(e.drawingId,e)}}(n,l))}function tW(e,t,r,n){var i;let a=null==(i=r.parent)?void 0:i.parent;if(0===t.length||null==a)return;let o=!1;for(let r of t){var s,l;let t=e.floatObjectsCache.get(r.id);if(null==t||t.page.segmentId!==a.segmentId)continue;let i=null==(s=t.page.sections[0])||null==(s=s.columns[0])||null==(s=s.lines[0])?void 0:s.paragraphIndex,u=null==(l=a.sections[0])||null==(l=l.columns[0])||null==(l=l.lines[0])?void 0:l.paragraphIndex;t.page&&i&&u&&i!==u&&(t.page.skeDrawings.delete(r.id),e.floatObjectsCache.delete(r.id),bW([t.page],r=>{let{lineHeight:i,top:a}=r,s=r.parent;if(o||null==s)return;let{width:l,left:u}=s;var c;OH(t.floatObject,i,a,u,l)&&(o=!0,e.isDirty=!0,e.layoutStartPointer[t.page.segmentId]=Math.min(r.paragraphIndex,null==(c=e.layoutStartPointer[t.page.segmentId])?1/0:c),e.paragraphsOpenNewPage.add(n))}))}o=!1,bW([a],n=>{let{lineHeight:i,top:s}=n,{width:l,left:u}=r;if(!o)for(let r of t.values()){let t=r;if(e.floatObjectsCache.has(r.id)){let n=e.floatObjectsCache.get(r.id),i=rW(e,r);if((null==n?void 0:n.page.segmentId)!==a.segmentId)continue;if(!i)continue;var c;t=null==(c=null==n?void 0:n.floatObject)?r:c}if(OH(t,i,s,u,l)){var d;o=!0,e.isDirty=!0,e.layoutStartPointer[a.segmentId]=Math.min(n.paragraphIndex,null==(d=e.layoutStartPointer[a.segmentId])?1/0:d);let t=e.floatObjectsCache.get(r.id);null==t&&(t={count:0,floatObject:r,page:a},e.floatObjectsCache.set(r.id,t)),t.count++,t.floatObject=r,t.page=a}}})}function rW(e,t){let{relativeFrom:r}=t.positionV,n=e.floatObjectsCache.get(t.id);if(null==n)return!1;if(r===cc.PARAGRAPH||r===cc.LINE){let{count:e,floatObject:r}=n;if(e<5&&Math.abs(t.top-r.top)>5)return!0}return!1}function nW(e,t,r,n,i,a,o=Aj.Normal,s){!0===function(e){let t=uW(e),r=t.columns.length;for(let e=0;e=0;e--){let t=r[e].lines,n=t.length;if(!(n<=0))for(let e=n-1;e>=0;e--)if(t[e].paragraphStart)return!1}return!0}function sW(e){let t=e.length,r=0;for(let n=0;n=r.st?a:r.st,d=r.ed)}t.st=p?c+1:c,t.ed=d>=t.st?d:t.st,t.width=h,t.asc=m,t.dsc=f,s=Math.max(s,h),a=t.ed}t.st=r+1,t.ed=a>=t.st?a:t.st,t.height=o,t.width=s,u+=s,l=Math.max(l,t.height),i=t.ed}t.st=r+1,t.ed=i>=t.st?i:t.st,t.height=l,s+=l,o=Math.max(o,u),a=t.ed}for(let e of n.values()){let{ed:t}=e;a=Math.max(a,t)}t.st=i+1,t.ed=a>=t.st?a:t.st,t.height=s,t.width=o,r=t.ed}}function vW(e,t){bW(t,(t,r,n,i)=>{var a,o;let{segmentId:s}=i,l=null==(a=e.paragraphConfigCache.get(s))?void 0:a.get(t.paragraphIndex),u=null==l?void 0:l.paragraphInlineSkeDrawings,c=null==(o=e.skeletonResourceReference)||null==(o=o.drawingAnchor)||null==(o=o.get(s))?void 0:o.get(t.paragraphIndex);u&&u.size>0&&function(e,t,r){var n;let i=e.parent,a=null==e||null==(n=e.parent)||null==(n=n.parent)?void 0:n.parent;if(null==a||null==i)return;let o=oW(i),s=new Map,{top:l,lineHeight:u,marginBottom:c=0}=e;for(let n of e.divides)for(let a of n.glyphGroup)if(a.streamType===Bm.CUSTOM_BLOCK&&0!==a.width){let{drawingId:d}=a;if(null==d)continue;let h=null==t?void 0:t.get(d),m=null==h?void 0:h.drawingOrigin;if(null==m||null==h)continue;let{docTransform:f}=m,{size:g,angle:p}=f,{width:v=0,height:b=0}=g,C=a.bBox.bd+a.bBox.ba;h.aLeft=n.left+n.paddingLeft+a.left+.5*a.width-.5*v||0,h.aTop=l+u-.5*C-.5*b-c,h.width=v,h.height=b,h.angle=p,h.isPageBreak=o,h.lineTop=l,h.columnLeft=i.left,h.blockAnchorTop=null==r?l:r,h.lineHeight=e.lineHeight,s.set(h.drawingId,h)}a.skeDrawings=new Map([...a.skeDrawings,...s])}(t,u,null==c?void 0:c.top);let d=null==l?void 0:l.paragraphStyle;if(t.divides.length>0){let e=t.divides[t.divides.length-1],r=e.glyphGroup[e.glyphGroup.length-1];(null==r?void 0:r.streamType)===Bm.PARAGRAPH&&null!=d&&d.borderBottom&&(t.borderBottom=d.borderBottom)}})}function bW(e,t){for(let r of e){let{sections:e}=r;for(let n of e){let{columns:e}=n;for(let i of e){let{lines:e}=i;for(let a of e)t&&GV(t)&&t(a,i,n,r)}}}}function CW(e,t,r,n,i=!1){let{relativeFrom:a,align:o,posOffset:s,percent:l}=e;if(null!=o)if(o===hc.INSIDE||o===hc.OUTSIDE)a===uc.MARGIN||uc.PAGE;else{if(a===uc.COLUMN){let{width:e,left:r}=t,i=0;return o===hc.LEFT?i=r:o===hc.RIGHT?i=r+e-n:o===hc.CENTER&&(i=r+e/2-n/2),i}if(a!==uc.LEFT_MARGIN&&a!==uc.MARGIN&&a!==uc.RIGHT_MARGIN&&a!==uc.INSIDE_MARGIN&&a!==uc.OUTSIDE_MARGIN&&a===uc.PAGE){let{pageWidth:e}=r,t=0;return o===hc.RIGHT?t=e-n:o===hc.CENTER&&(t=e/2-n/2),t}}else{if(s){let{pageWidth:e,marginLeft:o,marginRight:l}=r,u=e-l,c=0;return a===uc.COLUMN?c=(i?0:(null==t?void 0:t.left)||0)+s:a===uc.LEFT_MARGIN||(a===uc.MARGIN?c=s+o:a===uc.RIGHT_MARGIN||a===uc.INSIDE_MARGIN||a===uc.OUTSIDE_MARGIN||a===uc.PAGE&&(c=s)),c+n>u&&(c=u-n),c}if(l){let{pageWidth:e,marginLeft:t,marginRight:n}=r;if(a!==uc.LEFT_MARGIN&&a!==uc.MARGIN&&a!==uc.RIGHT_MARGIN&&a!==uc.INSIDE_MARGIN&&a!==uc.OUTSIDE_MARGIN&&a===uc.PAGE)return l*e}}}function yW(e,t,r,n,i,a,o=!1){let{relativeFrom:s,align:l,posOffset:u,percent:c}=e;if(null!=l){if(s===cc.LINE){let e=0;return l===mc.BOTTOM?e=r+n-i:l===mc.TOP?e=r:l===mc.CENTER&&(e=r+n/2-i/2),e}if(s!==cc.TOP_MARGIN&&s!==cc.MARGIN&&s!==cc.BOTTOM_MARGIN&&s!==cc.INSIDE_MARGIN&&s!==cc.OUTSIDE_MARGIN&&s===cc.PAGE){let{pageHeight:e}=t,r=0;return l===mc.BOTTOM?r=e-i:l===mc.CENTER&&(r=e/2-i/2),r}}else{if(null!=u){let e=0,{marginTop:n}=t;return s===cc.LINE?e=(r||0)+u:s===cc.TOP_MARGIN||(s===cc.MARGIN?e=u:s===cc.BOTTOM_MARGIN||s===cc.INSIDE_MARGIN||s===cc.OUTSIDE_MARGIN||(s===cc.PAGE?e=u-n:s===cc.PARAGRAPH&&(e=(o?0:null==a?r:a)+u))),e}if(null!=c){let{pageHeight:e,marginBottom:r,marginTop:n}=t;if(s!==cc.TOP_MARGIN&&s!==cc.MARGIN&&s!==cc.BOTTOM_MARGIN&&s!==cc.INSIDE_MARGIN&&s!==cc.OUTSIDE_MARGIN&&s===cc.PAGE)return c*e}}}function _W(e){let t=0;for(let r of e.glyphGroup)t+=r.width;return t}const wW=new kd;function EW(e,t,r){let{ts:n,fontStyle:i}=e,{gridType:a=Qu.LINES,charSpace:o=0,pageSize:s={width:1/0,height:1/0},marginRight:l=0,marginLeft:u=0}=t,{snapToGrid:c=Vu.TRUE}=r;return{fontStyle:i,textStyle:n,charSpace:o,gridType:a,snapToGrid:c,pageWidth:s.width||1/0-u-l}}const SW={ts:{},st:0,ed:0};function AW(e,t,r,n,i){let{gridType:a=Qu.LINES,charSpace:o=0,documentTextStyle:s={},pageSize:l={width:1/0,height:1/0},marginRight:u=0,marginLeft:c=0,renderConfig:d={}}=n,{paragraphStyle:h={},bullet:m}=i,{isRenderStyle:f}=d,{startIndex:g}=r,p=t.getTextRun(e+g),v=f===Vu.FALSE||null==p?SW:p,b=t.getCustomDecoration(e+g),C=b&&!1!==b.show,y=C?function(e){return e.type===qu.COMMENT?{bbl:{s:Vu.TRUE,cl:{rgb:"#fcdf7e"},c:Vu.FALSE},...e.active?{bg:{rgb:"#faedc2"}}:null}:null}(b):null,_=t.getCustomRange(e+g),w=_&&!1!==_.show,E=w?function(e){var t;return e.rangeType===Xu.HYPERLINK||e.rangeType===Xu.MENTION||e.rangeType===Xu.CUSTOM?{...null==(t=e.active)||t?{ul:{s:Vu.TRUE}}:null,cl:{rgb:"#274fee"}}:null}(_):null,S=w||C||!!m||(null==h?void 0:h.namedStyleType),{st:A,ed:I}=v,{ts:R={}}=v,x=wW.getValue(A,I);if(x&&!S&&p)return x;let{snapToGrid:T=Vu.TRUE,namedStyleType:N}=h,M=m?function(e,t){var r;let{listType:n}=e;return null==(r=t.getDataModel().getBulletPresetList()[n].nestingLevel[0].paragraphProperties)?void 0:r.textStyle}(m,t):null,O=N?yh[N]:null;R={...s,...O,...R,...y,...E,...M};let L={fontStyle:KV(R),textStyle:{...s,...R},charSpace:o,gridType:a,snapToGrid:T,pageWidth:l.width||1/0-c-u};return!S&&p&&wW.setValue(A,I,L),L}let IW=function(e){return e.IMAGE="IMAGE",e.TABLE="TABLE",e}({});const RW={columnProperties:[],columnSeparatorType:Ku.NONE,sectionType:Zu.SECTION_TYPE_UNSPECIFIED,startIndex:0},xW={width:1/0,height:1/0},TW={pageNumberStart:1,pageSize:{width:pF(595),height:1/0},marginTop:pF(50),marginBottom:pF(50),marginRight:pF(50),marginLeft:pF(50),renderConfig:{vertexAngle:0,centerAngle:0,background:{rgb:"#FFFFFF"}},defaultHeaderId:"",defaultFooterId:"",evenPageHeaderId:"",evenPageFooterId:"",firstPageHeaderId:"",firstPageFooterId:"",evenAndOddHeaders:Vu.FALSE,useFirstPageHeaderFooter:Vu.FALSE,marginHeader:0,marginFooter:0},NW={columnProperties:[],columnSeparatorType:Ku.NONE,sectionType:Zu.SECTION_TYPE_UNSPECIFIED};function MW(e,t){var r;let{viewModel:n,dataModel:i,docsConfig:a}=e,o=n.getChildren()[t],{documentStyle:s}=i,{documentFlavor:l}=s,u=n.getSectionBreak(o.endIndex)||RW;l===Yu.MODERN&&(u=Object.assign({},u,NW),s=Object.assign({},s,TW));let{pageNumberStart:c=1,pageSize:d=xW,pageOrient:h=fc.PORTRAIT,defaultHeaderId:m,defaultFooterId:f,evenPageHeaderId:g,evenPageFooterId:p,firstPageHeaderId:v,firstPageFooterId:b,useFirstPageHeaderFooter:C,evenAndOddHeaders:y,marginTop:_=0,marginBottom:w=0,marginRight:E=0,marginLeft:S=0,marginHeader:A=0,marginFooter:I=0,autoHyphenation:R=Vu.FALSE,doNotHyphenateCaps:x=Vu.FALSE,consecutiveHyphenLimit:T=1/0,hyphenationZone:N,renderConfig:M={horizontalAlign:Lu.LEFT,verticalAlign:ku.TOP,centerAngle:0,vertexAngle:0,wrapStrategy:Pu.UNSPECIFIED}}=s,{charSpace:O=0,linePitch:L=15.6,gridType:k=Qu.LINES,pageNumberStart:P=c,pageSize:D=d,pageOrient:U=h,marginTop:B=_,marginBottom:V=w,marginRight:F=E,marginLeft:j=S,marginHeader:H=A,marginFooter:W=I,defaultHeaderId:z=m,defaultFooterId:X=f,evenPageHeaderId:q=g,evenPageFooterId:G=p,firstPageHeaderId:Y=v,firstPageFooterId:Q=b,useFirstPageHeaderFooter:Z=C,evenAndOddHeaders:K=y,columnProperties:$=[],columnSeparatorType:J=Ku.NONE,contentDirection:ee,sectionType:te,textDirection:re,renderConfig:ne=M}=u,ie=n.getChildren()[t+1],ae=null==(r=n.getSectionBreak(null==ie?void 0:ie.endIndex))?void 0:r.sectionType,oe={defaultHeaderId:z,evenPageHeaderId:q,firstPageHeaderId:Y},se={defaultFooterId:X,evenPageFooterId:G,firstPageFooterId:Q};return null===D.width&&(D.width=1/0),null===D.height&&(D.height=1/0),{charSpace:O,linePitch:L,gridType:k,pageNumberStart:P,pageSize:D,pageOrient:U,marginTop:B,marginBottom:V,marginRight:F,marginLeft:j,marginHeader:H,marginFooter:W,headerIds:oe,footerIds:se,useFirstPageHeaderFooter:Z,evenAndOddHeaders:K,columnProperties:$,columnSeparatorType:J,contentDirection:ee,sectionType:te,sectionTypeNext:ae,textDirection:re,renderConfig:ne,autoHyphenation:R,doNotHyphenateCaps:x,consecutiveHyphenLimit:T,hyphenationZone:N,...a}}function OW(e){var t;e.isDirty=!1,null==(t=e.skeleton.drawingAnchor)||t.clear()}function LW(e,t){let r=[...t],n=null;for(;r.length>0;){let t=r.shift();if("pages"===t){let t=r.shift();n=e.pages[t]}else if("skeTables"===t){var i;let e=r.shift();r.shift();let t=r.shift();r.shift();let a=r.shift();n=null==(i=n.skeTables)||null==(i=i.get(e))||null==(i=i.rows[t])?void 0:i.cells[a]}}return n}function kW(e){return(e-100)/2}function PW(e,t,r,n=1,i=SF.SECTION){let a=function(e=EF.BODY,t=""){return{sections:[],headerId:"",footerId:"",pageWidth:0,pageHeight:0,pageOrient:fc.PORTRAIT,pageNumber:1,pageNumberStart:1,verticalAlign:!1,angle:0,width:0,height:0,left:0,marginLeft:0,marginRight:0,originMarginTop:0,marginTop:0,originMarginBottom:0,marginBottom:0,breakType:SF.SECTION,st:0,ed:0,skeDrawings:new Map,skeTables:new Map,type:e,segmentId:t}}(),{pageNumberStart:o=1,pageSize:s={width:1/0,height:1/0},pageOrient:l=fc.PORTRAIT,headerIds:u={},footerIds:c={},useFirstPageHeaderFooter:d,evenAndOddHeaders:h,footerTreeMap:m,headerTreeMap:f,columnProperties:g=[],columnSeparatorType:p,marginTop:v=0,marginBottom:b=0,marginHeader:C=0,marginFooter:y=0,marginLeft:_=0,marginRight:w=0,renderConfig:E={}}=t,{skeHeaders:S,skeFooters:A}=r,{width:I=1/0,height:R=1/0}=s;a.pageNumber=n,a.pageNumberStart=o,a.renderConfig=E,a.marginLeft=_,a.marginRight=w,a.breakType=i,a.pageWidth=I,a.width=0,a.pageHeight=R,a.height=0,a.pageOrient=l;let x,T,{defaultHeaderId:N,evenPageHeaderId:M,firstPageHeaderId:O}=u,{defaultFooterId:L,evenPageFooterId:k,firstPageFooterId:P}=c,D=null==N?"":N,U=null==L?"":L;var B,V,F,j;(n===o&&d===Vu.TRUE?(D=null==O?"":O,U=null==P?"":P):n%2==0&&h===Vu.TRUE&&(D=null==M?"":M,U=null==k?"":k),D)&&(null!=(B=S.get(D))&&B.has(I)?x=null==(V=S.get(D))?void 0:V.get(I):f&&f.has(D)&&(x=DW(e,f.get(D),t,r,D,!0),S.set(D,new Map([[I,x]]))),a.headerId=D);U&&(null!=(F=A.get(U))&&F.has(I)?T=null==(j=A.get(U))?void 0:j.get(I):m&&m.has(U)&&(T=DW(e,m.get(U),t,r,U,!1),A.set(U,new Map([[I,T]]))),a.footerId=U);a.originMarginTop=v,a.originMarginBottom=b,a.marginTop=VW(v,x,R),a.marginBottom=VW(b,T,R);let H=a.sections,W=H[H.length-1],{marginTop:z,marginBottom:X,marginLeft:q,marginRight:G}=a,Y=I-q-G,Q=R-z-X,Z=0;W&&(Z=W.top+W.height);let K=VH(g,p,Z,0,Y,Q-Z);return K.parent=a,H.push(K),a}function DW(e,t,r,n,i,a=!0,o,s=0){let{lists:l,footerTreeMap:u,headerTreeMap:c,localeService:d,pageSize:h,drawings:m,marginLeft:f=0,marginRight:g=0,marginHeader:p=0,marginFooter:v=0}=r,b={lists:l,footerTreeMap:u,headerTreeMap:c,pageSize:{width:((null==h?void 0:h.width)||1/0)-f-g,height:kW((null==h?void 0:h.height)||1/0)-(a?p:v)-5},localeService:d,drawings:m};null==o&&((o=PW(e,b,n)).type=a?EF.HEADER:EF.FOOTER,o.segmentId=i);let C=e.layoutStartPointer[i];e.layoutStartPointer[i]=null;let y=Iz(e,t,t.getChildren()[0],o,b,C).pages[0];return e.isDirty&&s<10?(s++,OW(e),DW(e,t,r,n,i,a,o,s)):(pW([y]),a?Object.assign(y,{marginTop:p,marginBottom:5}):Object.assign(y,{marginTop:5,marginBottom:v}),y)}function UW(e,t,r,n,i,a=1/0,o=1/0){var s,l;let{lists:u,footerTreeMap:c,headerTreeMap:d,localeService:h,drawings:m}=t,{skeletonResourceReference:f}=e,{cellMargin:g,tableRows:p,tableColumns:v,tableId:b}=r,{start:C={v:10},end:y={v:10},top:_={v:5},bottom:w={v:5}}=null==(s=null==(l=p[n].tableCells[i].margin)?g:l)?{}:s,E=v[i].size.width.v,S=o,A={lists:u,footerTreeMap:c,headerTreeMap:d,pageSize:{width:E,height:S},marginTop:_.v,marginBottom:w.v,marginLeft:C.v,marginRight:y.v,localeService:h,drawings:m},I=PW(e,Object.assign({},A,{pageSize:{width:E,height:Number.isFinite(a)?a:S}}),f);return I.type=EF.CELL,I.segmentId=b,{page:I,sectionBreakConfig:A}}function BW(e,t,r,n,i,a,o,s=1/0,l=1/0){let u=r.children[0],{page:c,sectionBreakConfig:d}=UW(e,n,i,a,o,s,l),{pages:h}=Iz(e,t,u,c,d);for(let e of h)e.type=EF.CELL,e.segmentId=i.tableId;return pW(h,r.startIndex),vW(e,h),h}function VW(e,t,r){if(!t||0===t.sections[0].columns[0].lines.length)return e;let n=t.height+t.marginTop+t.marginBottom,i=kW(r);return Math.min(i,Math.max(e,n))}function FW(){return[]}function jW(e){return e.length>0&&!/\s|(?![\'])[\!-\@\[-\`\{-\~\u2013-\u203C]/.test(e)}function HW(e,t,r){let n=e;for(let e=0;e<=r;e++)n+=t[e].length;return n}function WW(e){switch(e){case"–":case"—":return.2;case".":case",":return.8;case":":case";":return.3;case"،":case"۔":return.4;default:return 0}}function zW(e){let{glyphGroup:t}=e,r=0;for(let e of t){let[t,n]=e.adjustability.shrinkability;r+=t+n}return r}function XW(e){let{glyphGroup:t}=e,r=0;for(let e of t){let[t,n]=e.adjustability.stretchability;r+=t+n}return r}function qW(e){let t=e.glyphGroup.filter(e=>e.isJustifiable).length;return tF(e.glyphGroup[e.glyphGroup.length-1].content)?t-1:t}function GW(e,t,r){for(let n of e.glyphGroup){let e=(t<0?n.adjustability.shrinkability[0]:n.adjustability.stretchability[0])*t,i=(t<0?n.adjustability.shrinkability[1]:n.adjustability.stretchability[1])*t;n.isJustifiable&&(i+=r),n.width+=e+i,n.xOffset+=e}SH(e.glyphGroup)}function YW(e,t){return(e+t).toString()}function QW(e,t=!1){let r={m:1e3,cm:900,d:500,cd:400,c:100,xc:90,l:50,xl:40,x:10,ix:9,v:5,iv:4,i:1};t&&(r={M:1e3,CM:900,D:500,CD:400,C:100,XC:90,L:50,XL:40,X:10,IX:9,V:5,IV:4,I:1});let n="";for(let t in r)for(;e>=r[t];)n+=t,e-=r[t];return n}function ZW(e,t=1){return{listId:e,symbol:"●",ts:{ff:"Arial",fs:9},startIndexItem:t,paragraphProperties:{indentFirstLine:{v:0},hanging:{v:21},indentStart:{v:0}}}}function KW(e=1,t){let{startNumber:r,glyphType:n,glyphSymbol:i}=t;return i||(n?function(e,t,r){return function(e,t,r){return r===Wu.DECIMAL?YW(e,t):r===Wu.DECIMAL_ZERO?function(e,t){let r=e+t;return r<10?`0${r}`:r.toString()}(e,t):r===Wu.UPPER_LETTER?function(e,t){return Fh(e+t-1,!0)}(e,t):r===Wu.LOWER_LETTER?function(e,t){return Fh(e+t-1,!1)}(e,t):r===Wu.UPPER_ROMAN?function(e,t){return QW(e+t,!0)}(e,t):r===Wu.LOWER_ROMAN?function(e,t){return QW(e+t,!1)}(e,t):YW(e,t)}(e,t,r)}(e,r,n):"●")}function $W(e){if(""===e)return{level:0,suffix:""};let t=e.split(""),r="",n="",i=!1,a=/[0-9]/g;return t.forEach(e=>{!i&&a.test(`${r}${e}`)?r+=e:(i=!0,n+=e)}),{level:Number.parseInt(r)-1,suffix:n}}function JW(e){let{drawingId:t}=e;return{drawingId:t,aLeft:0,aTop:0,width:0,height:0,angle:0,initialState:!1,drawingOrigin:e,columnLeft:0,lineHeight:0,lineTop:0,blockAnchorTop:0,isPageBreak:!1}}function ez(e){return e.pageNumber+1}function tz(e,t,r,n,i,a,o){let{skeletonResourceReference:s}=e,{lists:l,drawings:u={},localeService:c}=a,{endIndex:d,blocks:h=[],children:m}=i,{segmentId:f}=n,g=t.getParagraph(d)||{startIndex:0},{paragraphStyle:p={},bullet:v}=g,{skeHeaders:b,skeFooters:C,skeListLevel:y,drawingAnchor:_}=s,w=new Map,E=new Map,S=null==_?void 0:_.get(f);null==S&&(S=new Map,null==_||_.set(f,S));let A={paragraphIndex:d,paragraphStyle:uu.deepClone(p),paragraphNonInlineSkeDrawings:w,paragraphInlineSkeDrawings:E,skeTablesInParagraph:o?[{tableId:o.tableId,table:o,hasPositioned:!1,isSlideTable:!1,tableNode:m[0]}]:void 0,skeHeaders:b,skeFooters:C,pDrawingAnchor:S},I=e.paragraphConfigCache.get(f);if(null==I&&(I=new Map,e.paragraphConfigCache.set(f,I)),I.has(d)){var R;A.bulletSkeleton=null==(R=I.get(d))?void 0:R.bulletSkeleton}else{let e=function(e,t,r){if(!e||!t)return;let{listId:n,listType:i,nestingLevel:a=0,textStyle:o}=e,s=t[i];var l,u;return s&&s.nestingLevel?s.nestingLevel[a]?function(e,t,r,n,i){var a,o;let s,l=r[t],{bulletAlignment:u,glyphFormat:c,textStyle:d={},glyphType:h,glyphSymbol:m}=l,f={...i,...d},g=KV(f);return s=m||function(e,t,r,n){let i=e.split("%"),a=[i[0]];for(let e=1;e=0;e--)if(Array.isArray(null==i?void 0:i[e])){var s,l;let t=i[e].length;o[e]=null==(s=null==(l=i[e][t-1])?void 0:l.bullet)?null:s}else o[e]=null;return o}(v,y));(function(e,t,r,n){if(!t||!r)return;let{listId:i,nestingLevel:a}=t,o=[...(null==n?void 0:n.get(i))||[]];null==o[a]&&(o[a]=[]),o[a].push({bullet:r,paragraph:e}),o.splice(a+1),null==n||n.set(i,o)})(g,v,e,y),A.bulletSkeleton=e}for(let e=0,r=h.length;e{0!==i.length&&(x=KH(e,i,x,a,A,T,o),T=!1)};if(n.endsWith(Bm.PAGE_BREAK))t(),x.push(PW(e,a,s,ez(x[x.length-1]),SF.PAGE)),w.clear(),E.clear();else{if(n.endsWith(Bm.COLUMN_BREAK)){t();let r=x[x.length-1],n=dW(r);n&&!n.isLast?FH(n.column,!0):x.push(PW(e,a,s,ez(r),SF.COLUMN));continue}t()}}return x}let rz=function(e){return e.Af="af",e.As="as",e.Be="be",e.Bg="bg",e.Bn="bn",e.Ca="ca",e.Cop="cop",e.Cs="cs",e.Cu="cu",e.Cy="cy",e.Da="da",e.De1901="de-1901",e.De1996="de-1996",e.DeCh1901="de-ch-1901",e.ElMonoton="el-monoton",e.ElPolyton="el-polyton",e.EnGb="en-gb",e.EnUs="en-us",e.Es="es",e.Et="et",e.Eu="eu",e.Fi="fi",e.Fr="fr",e.Fur="fur",e.Ga="ga",e.Gl="gl",e.Grc="grc",e.Gu="gu",e.Hi="hi",e.Hr="hr",e.Hsb="hsb",e.Hu="hu",e.Hy="hy",e.Ia="ia",e.Id="id",e.Is="is",e.It="it",e.Ka="ka",e.Kmr="kmr",e.Kn="kn",e.LaXClassic="la-x-classic",e.LaXLiturgic="la-x-liturgic",e.La="la",e.Lt="lt",e.Lv="lv",e.Ml="ml",e.MnCyrlXLmc="mn-cyrl-x-lmc",e.MnCyrl="mn-cyrl",e.Mr="mr",e.MulEthi="mul-ethi",e.Nb="nb",e.Nl="nl",e.Nn="nn",e.No="no",e.Oc="oc",e.Or="or",e.Pa="pa",e.Pi="pi",e.Pl="pl",e.Pms="pms",e.Pt="pt",e.Rm="rm",e.Ro="ro",e.Ru="ru",e.Sa="sa",e.ShCyrl="sh-cyrl",e.ShLatn="sh-latn",e.Sk="sk",e.Sl="sl",e.SrCyrl="sr-cyrl",e.Sv="sv",e.Ta="ta",e.Te="te",e.Th="th",e.Tk="tk",e.Tr="tr",e.Uk="uk",e.ZhLatnPinyin="zh-latn-pinyin",e.UNKNOWN="unknown",e}({});var nz=class{constructor(e,t,r,n=!1){this._lineBreaker=e,this._hyphen=t,this._lang=r,this._doNotHyphenateCaps=n,yF(this,"_curBreak",null),yF(this,"_nextBreak",new Ij(0)),yF(this,"_isInWord",!1),yF(this,"_word",""),yF(this,"_hyphenIndex",-1),yF(this,"_hyphenSlice",[]),yF(this,"content",""),this.content=e.content}nextBreakPoint(){if(this._isInWord){if(this._hyphenIndex0&&e===e.toUpperCase()}(e)&&this._doNotHyphenateCaps||this._nextBreak.type===Aj.Link?this._nextBreak:(this._isInWord=!0,this._word=e,this._hyphenSlice=this._hyphen.hyphenate(this._word,this._lang),this._hyphenIndex=0,this.nextBreakPoint())}}},iz=function(e){return e.Alphabetic="Alphabetic",e.Digit="Digit",e.Open="Open",e.Other="Other",e}(iz||{});function az(e){return/[a-z]/i.test(e)?iz.Alphabetic:/[0-9]/.test(e)?iz.Digit:"("===e||"["===e?iz.Open:iz.Other}const oz=/[a-z\d!#$%&*+,-./:;=?@_~\\]/i,sz=/[!,.;:?']$/g;var lz=class{constructor(e){this._lineBreaker=e,yF(this,"_curBreak",null),yF(this,"_nextBreak",new Ij(0)),yF(this,"_isInLink",!1),yF(this,"_link",""),yF(this,"_index",-1),yF(this,"_linkSlice",[]),yF(this,"content",""),this.content=e.content}nextBreakPoint(){if(this._isInLink){if(this._index0&&n!==iz.Open&&(a===iz.Other?a===iz.Other:a!==n)){let o=e.slice(r,i);if(o.length<16)t.push(o);else for(let e=0;et[1]?uz.GREATER:uz.LESS:e[0]>t[0]?uz.GREATER:uz.LESS}const pz=new class{constructor(){yF(this,"isReady",!1),yF(this,"_fontBook",new Map),this._loadFontsToBook()}async _loadFontsToBook(){if(!this.isReady&&await async function(){var e;if(typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope||typeof window>"u"||null==window.navigator||null==(null==(e=window.navigator)?void 0:e.permissions))return!1;try{return"granted"===(await window.navigator.permissions.query({name:"local-fonts"})).state}catch{return!1}}()&&"queryLocalFonts"in window&&("object"!=typeof navigator||!navigator.userAgent.includes("Electron")))try{let e=await window.queryLocalFonts({postscriptNames:[]});for(let t of e){let{family:e,style:r}=t,n=this._fontBook.get(e);null==n&&(n=new Map,this._fontBook.set(e,n));let i=await(await t.blob()).arrayBuffer();n.set(r,{font:t,buffer:i})}this.isReady=!0}catch(e){console.error(e)}}findBestMatchFontByStyle(e){let t=e.ff,r=this._fontBook.get(t);if(null==r)return;let n=null,i=[1/0,1/0];for(let t of r.values()){let{font:r}=t,a=fz(hz(r),mz(e));(null==n||gz(i,a)===uz.GREATER)&&(n=t,i=a)}return n}getValidFontFamilies(e){return e.filter(e=>this._fontBook.has(e))}},vz=new Map,bz=new Map;function Cz(e,t,r,n,i){var a,o,s;let l=0,u=n[l];for(;r.has(u);)l++,u=n[l];if(!u)return[{char:e,start:t,end:t+e.length,glyph:null,font:null,kerning:0,boundingBox:null}];r.add(u);let{font:c,buffer:d}=pz.findBestMatchFontByStyle({ff:u,bl:null==(a=i.bl)?Vu.FALSE:a,it:null==(o=i.it)?Vu.FALSE:o}),h=vz.get(c.fullName);h||(h=mB(d),vz.set(c.fullName,h));let m=[],f=h.stringToGlyphs(e),g=null==(s=e.match(/[\s\S]/gu))?[]:s,p=0,v=0;for(;p=o){let e=Math.min(t.adjustability.shrinkability[1],o);IH(t,e),RH(n,o-e)}}}function Az(e,t,r,n,i){wW.reset();let{content:a="",children:o}=r,s=null;1===o.length&&o[0].nodeType===Um.TABLE&&(s=function(e,t,r,n,i){var a;let{startIndex:o,endIndex:s,children:l}=n,u=null==(a=r.getTableByStartIndex(o))?void 0:a.tableSource;if(null==u)return console.warn("Table not found when creating table skeleton"),null;let c=GH(o,s,u),d=0,h=0;for(let t of l){let{children:n,startIndex:a,endIndex:o}=t,s=l.indexOf(t),m=u.tableRows[s],{trHeight:f}=m,g=YH(a,o,s,m,!1,c),{hRule:p,val:v}=f;c.rows.push(g);let b=0,C=0;for(let t of n){let a=BW(e,r,t,i,u,s,n.indexOf(t))[0],{marginTop:o=0,marginBottom:l=0}=a,c=a.height+o+l;a.left=b,b+=a.pageWidth,a.parent=g,g.cells.push(a),C=Math.max(C,c)}p===oc.AT_LEAST?C=Math.max(C,v.v):p===oc.EXACT&&(C=v.v);for(let e of g.cells)e.pageHeight=C;let y=u.tableRows[s];for(let e=0;e=a&&r<=t?o.push({...e,st:r-a,ed:Math.min(n,t)-a}):n>=a&&n<=t&&o.push({...e,st:Math.max(r,a)-a,ed:n-a})}return{dataStream:r.substring(a,t+1),textRuns:o}}(r.getBody(),m),w=[];a&&(w=function(e){if(!pz.isReady)return[];let t=JSON.stringify(e);if(bz.has(t))return bz.get(t);let r=function(e){let{dataStream:t,textRuns:r=[]}=e,n=0,i=[];for(let e of r){let{st:r,ed:a,ts:o={}}=e;r!==n&&i.push({content:t.substring(n,r)}),i.push({content:t.substring(r,a),style:o}),n=a}return n!==t.length&&i.push({content:t.substring(n)}),i}(e),n=[],i=0;for(let e of r){var a;let{content:t,style:r={}}=e,o=xV.split(",").map(e=>e.trim().replace(/["']/g,""));o.unshift(null==(a=r.ff)?"Arial":a),o=pz.getValidFontFamilies(o),n.push(...Cz(t,i,new Set,o,r)),i+=t.length}return function(e){if(e.length<2)return;let t=e[0].font,r=e[0].glyph;for(let n=1;n9===e)}(h),function(e){e.addRule("break_before_and_after_slash_b",(e,t)=>8===e||8===t)}(h),h=new lz(h);let E=y.detect(t),S=function(e,t){let{suppressHyphenation:r=Vu.FALSE}=e,{autoHyphenation:n=Vu.FALSE}=t;return r===Vu.FALSE&&n===Vu.TRUE}(g,i),A=i.doNotHyphenateCaps===Vu.TRUE;for(E!==rz.UNKNOWN&&S&&(C.hasPattern(E)?h=new nz(h,C,E,A):C.loadPattern(E));o=h.nextBreakPoint();){let e=t.slice(v,o.position),h=[];if(pz.isReady&&a){let e=[],t=0;for(t=b;to.position)break;e.push(r)}b=t;for(let t of e){let{start:e,char:a}=t,o=AW(e,r,n,i,f);if(a===Bm.TAB){let e=yH(o,mW(l,u,s,p));h.push(e)}else if(sF(a)){let e=CH(a,o);h.push(e)}else{let e=CH(a,o,void 0,t);h.push(e)}}}else{let t=e,a=v;for(;t.length>0;){var I;let e=null==(I=t.match(/^[\s\S]/gu))?void 0:I[0];if(null==e)break;if(e===Bm.CUSTOM_BLOCK){let o=AW(a,r,n,i,f),s=null,l=r.getCustomBlockWithoutSetCurrentIndex(n.startIndex+a);if(null!=l){let{blockId:e}=l,t=c[e];if(t.layoutType===Ju.INLINE){let{angle:e}=t.docTransform,{width:r=0,height:n=0}=t.docTransform.size,i=kH(e,0,r,0,n);s=wH(o,i.width,i.height,t.drawingId)}else s=wH(o,0,0,t.drawingId)}null==s&&(s=CH(e,o)),h.push(s),a+=e.length,t=t.substring(e.length)}else if(/\s/.test(e)||tF(e)){let o=AW(a,r,n,i,f),c=null;if(e===Bm.TAB)c=yH(o,mW(l,u,s,p));else if(e===Bm.PARAGRAPH){var R;c=(null==(R=i.renderConfig)?void 0:R.zeroWidthParagraphBreak)===Vu.TRUE?CH(e,o,0):CH(e,o)}else c=CH(e,o);h.push(c),a+=e.length,t=t.substring(e.length)}else if(sF(t)){let{step:e,glyphGroup:o}=wz(a,t,r,n,i,f);h.push(...o),a+=e,t=t.substring(e)}else if(lF(e)){let{step:e,glyphGroup:o}=_z(a,t,r,n,i,f);h.push(...o),a+=e,t=t.substring(e)}else if(uF(e)){let{step:e,glyphGroup:o}=Ez(a,t,r,n,i,f);h.push(...o),a+=e,t=t.substring(e)}else{let{step:e,glyphGroup:o}=yz(a,t,r,n,i,f);h.push(...o),a+=e,t=t.substring(e)}}}Sz(h);let m=[[]];for(let e=0;ee.content).join("");d.push({text:t,glyphs:e,breakPointType:e===g?o.type:Aj.Normal})}v=o.position}return function(e){let t=e.flatMap(e=>e.glyphs),r=null,n=t.length,i=/[a-z\d]/i;for(let e=0;e{if(e.paragraphIndex!==a.startIndex)return;let{paragraphStyle:t={}}=a,{horizontalAlign:r=Lu.UNSPECIFIED}=t;(function(e){for(let t of e.divides){let e=t.glyphGroup.length;if(e<2)continue;let r=t.glyphGroup[0],n=t.glyphGroup[e-1];hF(r.content)&&RH(r,r.adjustability.shrinkability[0]),dF(n.content)&&IH(n,n.adjustability.shrinkability[1]),SH(t.glyphGroup)}})(e),function(e){for(let t of e.divides){let e=t.glyphGroup[t.glyphGroup.length-1];if(e&&t.isFull&&JV(e.content)&&e.width-e.xOffset>e.bBox.width){let t=e.width-e.xOffset-e.bBox.width;e.width-=t,e.adjustability.shrinkability[1]=0}}}(e),function(e,t,r,n,i){for(let t of e.divides){let{glyphGroup:e,breakType:r}=t,a=e[e.length-1];if(a&&jW(a.content)&&r===Aj.Hyphen){let e=_H(EW(a,n,i));e.parent=a.parent,e.left=a.left+a.width,t.glyphGroup.push(e),t.width-=e.width}}}(e,0,0,n,t),function(e,t){let{divides:r}=e;for(let e=0;e1){let t=n.glyphGroup[n.glyphGroup.length-1];e+=WW(t.content)*t.width}let r=0,o=0,s=zW(n),l=XW(n);if(e<0&&s>0)r=Math.max(e/s,-1),e=Math.min(e+s,0);else if(t===Lu.JUSTIFIED){l>0&&(r=Math.min(e/l,1),e=Math.max(e-l,0));let t=qW(n);t>0&&e>0&&(o=e/t,e=0)}(0!==r||0!==o)&&(GW(n,r,o),a=_W(n))}t===Lu.CENTER?n.paddingLeft=(i-a)/2:t===Lu.RIGHT&&(n.paddingLeft=i-a),n.paddingLeft=Math.max(n.paddingLeft,0)}}}(e,r)})}(l,t,r,i),l}function Iz(e,t,r,n,i,a){let o=[],s=new Map,l=0;if(null!=a){let{startIndex:e,endIndex:t}=r;if(a>=e&&a<=t)for(let e=0;e0&&(u=o[o.length-1]),s.nodeType===Um.PARAGRAPH&&(e.paragraphsOpenNewPage.has(s.endIndex)&&(u=PW(e,i,e.skeletonResourceReference,u.pageNumber+1)),l=Az(e,t,s,u,i)),0===l.length&&(l=FW()),Rz(o,l),e.isDirty)break}let{segmentId:u}=n;return e.isDirty&&null!=e.layoutStartPointer[u]&&function(e,t){let r=!1;for(let n=0;n=0&&(n.columns[r].isFull=!1),n.columns.splice(e);break}}if(r){let e=t+1;i.sections.splice(e);break}}if(r){let e=n+1;t.splice(Math.max(e,1));break}}}(e.layoutStartPointer[u],o),{pages:o,renderedBlockIdMap:s}}function Rz(e,t){e[e.length-1]===t[0]&&t.splice(0,1),e.push(...t)}const xz={[rz.Af]:()=>o.e(8462).then(o.bind(o,8462)),[rz.As]:()=>o.e(9223).then(o.bind(o,9223)),[rz.Be]:()=>o.e(9299).then(o.bind(o,9299)),[rz.Bg]:()=>o.e(7467).then(o.bind(o,7467)),[rz.Bn]:()=>o.e(3629).then(o.bind(o,3629)),[rz.Ca]:()=>o.e(6918).then(o.bind(o,6918)),[rz.Cop]:()=>o.e(1738).then(o.bind(o,1738)),[rz.Cs]:()=>o.e(302).then(o.bind(o,302)),[rz.Cu]:()=>o.e(6557).then(o.bind(o,6557)),[rz.Cy]:()=>o.e(9501).then(o.bind(o,9501)),[rz.Da]:()=>o.e(6182).then(o.bind(o,6182)),[rz.De1901]:()=>o.e(3982).then(o.bind(o,3982)),[rz.De1996]:()=>o.e(3369).then(o.bind(o,3369)),[rz.DeCh1901]:()=>o.e(9125).then(o.bind(o,9125)),[rz.ElMonoton]:()=>o.e(7493).then(o.bind(o,7493)),[rz.ElPolyton]:()=>o.e(2261).then(o.bind(o,2261)),[rz.EnGb]:()=>o.e(5707).then(o.bind(o,5707)),[rz.EnUs]:()=>Promise.resolve().then(o.bind(o,3605)).then(e=>e.n),[rz.Es]:()=>o.e(1136).then(o.bind(o,1136)),[rz.Et]:()=>o.e(9044).then(o.bind(o,9044)),[rz.Eu]:()=>o.e(4873).then(o.bind(o,4873)),[rz.Fi]:()=>o.e(5658).then(o.bind(o,5658)),[rz.Fr]:()=>o.e(1321).then(o.bind(o,1321)),[rz.Fur]:()=>o.e(2795).then(o.bind(o,2795)),[rz.Ga]:()=>o.e(6598).then(o.bind(o,6598)),[rz.Gl]:()=>o.e(7951).then(o.bind(o,7951)),[rz.Grc]:()=>o.e(7340).then(o.bind(o,7340)),[rz.Gu]:()=>o.e(5162).then(o.bind(o,5162)),[rz.Hi]:()=>o.e(9413).then(o.bind(o,9413)),[rz.Hr]:()=>o.e(6620).then(o.bind(o,6620)),[rz.Hsb]:()=>o.e(8598).then(o.bind(o,8598)),[rz.Hu]:()=>o.e(2325).then(o.bind(o,2325)),[rz.Hy]:()=>o.e(2368).then(o.bind(o,2368)),[rz.Ia]:()=>o.e(4822).then(o.bind(o,4822)),[rz.Id]:()=>o.e(5643).then(o.bind(o,5643)),[rz.Is]:()=>o.e(677).then(o.bind(o,677)),[rz.It]:()=>o.e(9141).then(o.bind(o,9141)),[rz.Ka]:()=>o.e(3932).then(o.bind(o,3932)),[rz.Kmr]:()=>o.e(1048).then(o.bind(o,1048)),[rz.Kn]:()=>o.e(1180).then(o.bind(o,1180)),[rz.La]:()=>o.e(8307).then(o.bind(o,8307)),[rz.LaXClassic]:()=>o.e(679).then(o.bind(o,679)),[rz.LaXLiturgic]:()=>o.e(9968).then(o.bind(o,9968)),[rz.Lt]:()=>o.e(2124).then(o.bind(o,2124)),[rz.Lv]:()=>o.e(6309).then(o.bind(o,6309)),[rz.Ml]:()=>o.e(854).then(o.bind(o,854)),[rz.MnCyrl]:()=>o.e(8013).then(o.bind(o,8013)),[rz.MnCyrlXLmc]:()=>o.e(4314).then(o.bind(o,4314)),[rz.Mr]:()=>o.e(7001).then(o.bind(o,7001)),[rz.MulEthi]:()=>o.e(9648).then(o.bind(o,9648)),[rz.Nb]:()=>o.e(3742).then(o.bind(o,3742)),[rz.Nl]:()=>o.e(4939).then(o.bind(o,4939)),[rz.Nn]:()=>o.e(5629).then(o.bind(o,5629)),[rz.No]:()=>o.e(9377).then(o.bind(o,9377)),[rz.Oc]:()=>o.e(6845).then(o.bind(o,6845)),[rz.Or]:()=>o.e(2647).then(o.bind(o,2647)),[rz.Pa]:()=>o.e(3970).then(o.bind(o,3970)),[rz.Pi]:()=>o.e(1162).then(o.bind(o,1162)),[rz.Pl]:()=>o.e(4859).then(o.bind(o,4859)),[rz.Pms]:()=>o.e(8302).then(o.bind(o,8302)),[rz.Pt]:()=>o.e(2944).then(o.bind(o,2944)),[rz.Rm]:()=>o.e(1281).then(o.bind(o,1281)),[rz.Ro]:()=>o.e(2222).then(o.bind(o,2222)),[rz.Ru]:()=>o.e(8648).then(o.bind(o,8648)),[rz.Sa]:()=>o.e(7956).then(o.bind(o,7956)),[rz.ShCyrl]:()=>o.e(4721).then(o.bind(o,4721)),[rz.ShLatn]:()=>o.e(1478).then(o.bind(o,1478)),[rz.Sk]:()=>o.e(34).then(o.bind(o,34)),[rz.Sl]:()=>o.e(168).then(o.bind(o,168)),[rz.SrCyrl]:()=>o.e(5510).then(o.bind(o,5510)),[rz.Sv]:()=>o.e(4290).then(o.bind(o,4290)),[rz.Ta]:()=>o.e(7898).then(o.bind(o,7898)),[rz.Te]:()=>o.e(1781).then(o.bind(o,1781)),[rz.Th]:()=>o.e(2635).then(o.bind(o,2635)),[rz.Tk]:()=>o.e(6681).then(o.bind(o,6681)),[rz.Tr]:()=>o.e(5469).then(o.bind(o,5469)),[rz.Uk]:()=>o.e(1061).then(o.bind(o,1061)),[rz.ZhLatnPinyin]:()=>o.e(3509).then(o.bind(o,3509))};function Tz(e){let[t,r]=e;return{levelsTable:t.split(","),pattern:JSON.parse(r)}}function Nz(e){let t=0;return[function(){return e[t++]},function(){return e.length===t+1}]}var Mz=class e{static getInstance(){return null==this._instance&&(this._instance=new e),this._instance}constructor(){yF(this,"_patterns",new Map),yF(this,"_hyphenCache",new Map),this._preloadPatterns(),this.loadPattern(rz.EnGb)}_preloadPatterns(){this._patterns.set(rz.EnUs,Tz(_p.t)),this._loadExceptionsToCache(rz.EnUs,_p.t)}_loadExceptionsToCache(e,t){if(t.length<3)return;let r=t[2];for(let t of r){let r=t.replace(/-/g,""),n=t.split("-"),i=this._hyphenCache.get(e);null==i&&(i=new Map,this._hyphenCache.set(e,i)),i.set(r,n)}}async loadPattern(e){let t=xz[e];if(!t)return;let r=await t(),n=Array.isArray(r)?r:null==r?void 0:r[function(e){return e.split("-").filter(Boolean).map(e=>e[0].toUpperCase()+e.slice(1)).join("")}(e)];null!=n&&(this._patterns.set(e,Tz(n)),this._loadExceptionsToCache(e,n))}fetchHyphenCache(e){return this._hyphenCache.get(e)}hasPattern(e){return this._patterns.has(e)}hyphenate(e,t){let r=this._hyphenCache.get(t);if(null!=r&&r.has(e))return r.get(e);if(!this._patterns.has(t))throw Error(`Language pattern not found for ${t}, please load pattern before hyphenating`);let n,i,a,o,s,l,u,c,d,{levelsTable:h,pattern:m}=this._patterns.get(t),f=Array(e.length+1).fill(0),[g,p]=function(e){let t=0,r=e;return[function(){return r=e.slice(t++),r.length<3?[]:r},function(){return 2===t}]}(`.${e.toLocaleLowerCase()}.`.split("")),v=-1;for(;(n=g()).length>0;)for(v++,p()&&v--,a=m,u=Nz(n),c=u[0],d=u[1];(i=c())&&void 0!==a[i];)if(o=a[i],a=o[0],s=o[1],void 0===a&&(a={},s=o),!d()&&void 0!==s){l=h[s];for(let e=0;ei&&(i=a,r=n)}return[r,i]}(e=e.slice(0,2048),EB);return a[0]&&a[0]in RB?function(e,t){const r=t[0][1],n=300*e.length-r;let i=-1;for(;++i{let{width:n,height:i}=e;t=Math.max(this._initialWidth,n),this._initialWidth=t,r+=i}),{actualWidth:t,actualHeight:r}}_getPageActualWidth(e){let t=-1/0;for(let r of e.sections)for(let e of r.columns)for(let r of e.lines){let e=0;for(let t of r.divides)for(let r of t.glyphGroup)e+=r.width;t=Math.max(t,e)}return t}getPageSize(){return this.getViewModel().getDataModel().documentStyle.pageSize}findPositionByGlyph(e,t){let r=e.parent,n=null==r?void 0:r.parent,i=null==n?void 0:n.parent,a=null==i?void 0:i.parent,o=null==a?void 0:a.parent,s=this.getSkeletonData();if(!(r&&i&&a&&o&&s))return;let l=o.type,u=r.glyphGroup.indexOf(e),c=n.divides.indexOf(r),d=i.lines.indexOf(n),h=a.columns.indexOf(i),m=o.sections.indexOf(a),f=-1,g=kz(o);switch(l){case EF.HEADER:case EF.FOOTER:f=0;break;case EF.BODY:f=s.pages.indexOf(o);break;case EF.CELL:f=g[1];break;default:throw Error("Invalid page type")}return{glyph:u,divide:c,line:d,column:h,section:m,page:f,segmentPage:t,pageType:l,path:g}}findCharIndexByPosition(e){let t=this.findGlyphByPosition(e),r=null==t?void 0:t.parent;if(null==r)return;let{st:n,glyphGroup:i}=r,a=n;for(let e of i){if(e===t)break;a+=e.count}return e.isBack?a:a+t.count}findNodePositionByCharIndex(e,t=!0,r="",n=-1){let i=this._findNodeByIndex(e,r,n);if(null==i)return;let a=this.getSkeletonData();if(!a)return;let o=a.pages,{glyph:s,divide:l,line:u,column:c,section:d,page:h,segmentPageIndex:m,pageType:f}=i,g=kz(h),p=-1;switch(f){case EF.HEADER:case EF.FOOTER:p=0;break;case EF.BODY:p=o.indexOf(h);break;case EF.CELL:p=g[1];break;default:throw Error("Invalid page type")}return{glyph:l.glyphGroup.indexOf(s),divide:u.divides.indexOf(l),line:c.lines.indexOf(u),column:d.columns.indexOf(c),section:h.sections.indexOf(d),page:p,pageType:f,segmentPage:m,isBack:t,path:g}}findNodeByCharIndex(e,t="",r=-1){let n=this._findNodeByIndex(e,t,r);return null==n?void 0:n.glyph}findGlyphByPosition(e){if(null==e)return;let t=this.getSkeletonData();if(null==t)return;let{pages:r,skeFooters:n,skeHeaders:i}=t,{divide:a,line:o,column:s,section:l,segmentPage:u,pageType:c,path:d,isBack:h}=e,{glyph:m}=e,f=null;if(c===EF.HEADER||c===EF.FOOTER){f=r[u];let{headerId:e,footerId:t,pageWidth:a}=f;if(c===EF.HEADER){var g;let t=null==(g=i.get(e))?void 0:g.get(a);if(null==t)return;f=t}else if(c===EF.FOOTER){var p;let e=null==(p=n.get(t))?void 0:p.get(a);if(null==e)return;f=e}}else f=LW(t,d);if(null==f)return;let v=f.sections[l].columns[s].lines[o].divides[a].glyphGroup;return m=Math.min(m,v.length-1),v[m].glyphType===IF.LIST&&(m+=1),v[m]}findEditAreaByCoord(e,t,r,n){let{x:i,y:a}=e,o=dH.BODY,s=-1,l=null,u=this.getSkeletonData();if(null==u)return{editArea:o,page:l,pageNumber:s};this._findLiquid.reset();let{pages:c}=u;for(let e=0,u=c.length;ethis._findLiquid.x&&ithis._findLiquid.y&&athis._findLiquid.x&&ithis._findLiquid.y+d&&athis._findLiquid.x&&ithis._findLiquid.y+f-h&&a=h&&o<=m&&s>=f&&s<=g;if(0===u&&t===EF.BODY){let e=0===i,t=i===l-1,n=r.originMarginTop/2;p=!(!e||!t)||(e?s<=g+n:t?s>=f-n:s>=f-n&&s<=g+n)}switch(t){case EF.HEADER:this._findLiquid.translatePagePadding({...e,marginLeft:r.marginLeft});break;case EF.FOOTER:{let t=r.pageHeight-e.height-e.marginBottom;this._findLiquid.translate(r.marginLeft,t);break}default:this._findLiquid.translatePagePadding(r)}if(p){let e=1/0;for(let r of c){let{columns:l}=r;this._findLiquid.translateSave(),this._findLiquid.translateSection(r);for(let r of l){let{lines:l}=r;this._findLiquid.translateSave(),this._findLiquid.translateColumn(r);for(let r=0;r=l&&s<=h){if(o>=m&&o<=v)return{node:r,segmentPage:t===EF.BODY?-1:i,segmentId:n,ratioX:o/(m+v),ratioY:s/(l+h)};e!==-1/0&&(a.nearestNodeList=[],a.nearestNodeDistanceList=[]),a.nearestNodeList.push({node:r,segmentPage:t===EF.BODY?-1:i,segmentId:n,ratioX:o/(m+v),ratioY:s/(l+h)}),a.nearestNodeDistanceList.push({coordInPage:p,distance:b,nestLevel:u}),e=-1/0}else f0)for(let e of d.values()){var b,C,y;let{top:t,left:r,rows:c}=e;null==(b=this._findLiquid)||b.translateSave(),null==(C=this._findLiquid)||C.translate(r,t);for(let e of c){var _,w,E;let{top:t,cells:r,isRepeatRow:c}=e;if(!c){null==(_=this._findLiquid)||_.translateSave(),null==(w=this._findLiquid)||w.translate(0,t);for(let e of r){var S,A,I,R;let{left:t}=e;null==(S=this._findLiquid)||S.translateSave(),null==(A=this._findLiquid)||A.translate(t,0),v=null==(I=v)?this._collectNearestNode(e,EF.CELL,e,n,i,a,o,s,l,u+1):I,null==(R=this._findLiquid)||R.translateRestore()}null==(E=this._findLiquid)||E.translateRestore()}}null==(y=this._findLiquid)||y.translateRestore()}if(v)return this._findLiquid.translateRestore(),v;this._findLiquid.translateRestore()}_getNearestNode(e,t){if(0===t.length)return;if(1===t.length)return e[0];let r=t[0];for(let e=1;er.nestLevel)r=t[e];else if(i===r.nestLevel)if(a===r.coordInPage){if(n=n&&s<=t){o=e;break}}for(let t=o,n=r.getChildren().length;t{let r=t.has(e);return t.add(e),!r})}(e),pW(n.pages),vW(e,n.pages);for(let t of n.skeHeaders.values())for(let r of t.values())vW(e,[r]);for(let t of n.skeFooters.values())for(let r of t.values())vW(e,[r]);return function(e,t){for(let r of e)r.parent=t}(n.pages,n),n}_addNewSectionByContinuous(e,t,r){let n=e.sections,i=n[n.length-1],{pageWidth:a,pageHeight:o,marginTop:s,marginBottom:l,marginLeft:u,marginRight:c}=e,d=a-u-c,h=o-s-l,m=((null==i?void 0:i.top)||0)+((null==i?void 0:i.height)||0),f=VH(t,r,m,0,d,h-m);f.parent=e,n.push(f)}_findNodeByIndex(e,t="",r=-1){let n=this.getSkeletonData();if(null==n)return;let{pages:i,skeFooters:a,skeHeaders:o}=n;for(let n of i){let u=i.indexOf(n);if(t&&u!==r)continue;let{pageWidth:c,skeTables:d}=n,h=n;if(t){var s,l;let e=null==(s=o.get(t))?void 0:s.get(c),r=null==(l=a.get(t))?void 0:l.get(c);if(e)h=e;else{if(!r)continue;h=r}}if(""===t){let t=!1;for(let r of d.values()){let{rows:n}=r;for(let r of n){let{cells:n}=r;for(let r of n){let{st:n,ed:i}=r;if(e>=n&&e<=i){h=r,t=!0;break}}if(t)break}if(t)break}}let{sections:m,st:f,ed:g}=h;if(!(eg))for(let t of m){let{columns:n,st:i,ed:a}=t;if(!(ea))for(let i of n){let{lines:n,st:a,ed:o}=i;if(!(eo))for(let a of n){let{divides:n,st:o,ed:s}=a,l=n.length;if(!(es))for(let o=0;oc)continue;let d=e-u;for(let e of l)if(d-=e.count,d<0)return{page:h,pageType:h.type,section:t,column:i,line:a,divide:s,glyph:e,segmentPageIndex:r}}}}}}}};function Dz(e,t,r={}){let n=e.length,{textRotation:i,paddingData:a,horizontalAlign:o=Lu.UNSPECIFIED,verticalAlign:s=ku.UNSPECIFIED,wrapStrategy:l=Pu.UNSPECIFIED,cellValueType:u}=r,{t:c,r:d,b:h,l:m}=a||jz,{vertexAngle:f,centerAngle:g}=$F(i);return new Wm({id:"d",body:{dataStream:`${e}${Rl}`,textRuns:[{ts:t,st:0,ed:n}],paragraphs:[{startIndex:n,paragraphStyle:{horizontalAlign:o}}],sectionBreaks:[{startIndex:n+1}]},documentStyle:{pageSize:{width:1/0,height:1/0},marginTop:c,marginBottom:h,marginRight:d,marginLeft:m,renderConfig:{horizontalAlign:o,verticalAlign:s,centerAngle:g,vertexAngle:f,wrapStrategy:l,cellValueType:u}},drawings:{},drawingsOrder:[]})}function Uz(e){if(!e)return{};let{ff:t,fs:r,it:n,bl:i,ul:a,st:o,ol:s,cl:l}=e,u={};return t&&(u.ff=t),r&&(u.fs=r),n&&(u.it=n),i&&(u.bl=i),a&&(u.ul=a),o&&(u.st=o),s&&(u.ol=s),l&&(u.cl=l),u}function Bz(e,t){return function(r,n){t(r,n,e)}}function Vz(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}const Fz={isDeepClone:!1,displayRawFormula:!1,ignoreTextRotation:!1},jz={t:0,b:2,l:2,r:2},Hz="RENDER_RAW_FORMULA";let Wz=class extends Xg{constructor(e,t,r,n,i,a){super(e,t,r,n,i,a),yF(this,"_drawingRange",{startRow:-1,endRow:-1,startColumn:-1,endColumn:-1}),yF(this,"_cacheRangeMap",new Map),yF(this,"_visibleRangeMap",new Map),yF(this,"_overflowCache",new kd),yF(this,"_stylesCache",{background:{},backgroundPositions:new kd,fontMatrix:new kd,border:new kd}),yF(this,"_clearTaskId",null),yF(this,"_handleBgMatrix",new kd),yF(this,"_handleBorderMatrix",new kd),yF(this,"_showGridlines",Vu.TRUE),yF(this,"_gridlinesColor",void 0),yF(this,"_scene",null),this._updateLayout(),this.disposeWithMe(this._contextService.subscribeContextValue$(Hz).pipe(RL(!1),Zn()).subscribe(e=>{this._renderRawFormula=e,this._resetCache(),this.makeDirty(!0)})),this.disposeWithMe(this.worksheet.__registerGetCellHeight((e,t)=>{var r;return null==(r=this.calculateAutoHeightForCell(e,t))?0:r}))}setScene(e){this._scene=e,this.disposeWithMe(this._scene.onTransformChange$.subscribeEvent(e=>{this.setScale(e.value.scaleX||1,e.value.scaleY)}))}_updateLayout(){let{showGridlines:e,gridlinesColor:t}=this._worksheetData;this._showGridlines=e,this._gridlinesColor=t,super._updateLayout()}get rowColumnSegment(){return this._drawingRange}visibleRangeByViewportKey(e){return this._cacheRangeMap.get(e)}get stylesCache(){return this._stylesCache}get overflowCache(){return this._overflowCache}get showGridlines(){return this._showGridlines}get gridlinesColor(){return this._gridlinesColor}dispose(){super.dispose(),this._drawingRange={startRow:-1,endRow:-1,startColumn:-1,endColumn:-1},this._stylesCache={background:{},backgroundPositions:new kd,fontMatrix:new kd,border:new kd},this._handleBgMatrix.reset(),this._handleBorderMatrix.reset(),this._overflowCache.reset()}getStyles(){return this._styles}setOverflowCache(e){this._overflowCache=e}getFont(e,t){let r=this.stylesCache.fontMatrix;return r&&r.getValue(e,t)||null}updateVisibleRange(e){if(!this._worksheetData||!this.rowHeightAccumulation||!this.columnWidthAccumulation)return!1;if(e){let t=this.getRangeByViewport(e);this._visibleRangeMap.set(e.viewportKey,t);let r=this.getCacheRangeByViewport(e);this._drawingRange=r,this._cacheRangeMap.set(e.viewportKey,r)}return!0}getVisibleRangeByViewport(e){return this._visibleRangeMap.get(e)}getVisibleRanges(){return this._visibleRangeMap}_clearCacheOutOfVisibleRange(e,t,r,n){this._clearTaskId&&cancelIdleCallback(this._clearTaskId),this._clearTaskId=requestIdleCallback(()=>{this._stylesCache.fontMatrix.forValue((i,a)=>{(it+100||an+100)&&this._stylesCache.fontMatrix.realDeleteValue(i,a)}),this._clearTaskId=null})}setStylesCache(e){if(!this._worksheetData||!this.rowHeightAccumulation||!this.columnWidthAccumulation)return;this.updateVisibleRange(e);let t=this._drawingRange,r=this.columnWidthAccumulation,{startRow:n,endRow:i,startColumn:a,endColumn:o}=t;if(-1===o||-1===i)return;let s=[],l=n,u=Math.max(0,a-20),c=Math.min(r.length-1,o+20);for(let e=n;e<=i;e++)if(!1!==this.worksheet.getRowVisible(e)){e===i&&s.push({startRow:l,endRow:e,startColumn:a,endColumn:o});for(let t=a;t<=o;t++)this._setStylesCacheForOneCell(e,t,{cacheItem:{bg:!0,border:!0}});for(let t=u;t=e)a.add(n),r.push({row:n,autoHeight:o});else{let e=this._calculateRowAutoHeight(n);a.add(n),r.push({row:n,autoHeight:e})}}else{let e=this._calculateRowAutoHeight(n);a.add(n),r.push({row:n,autoHeight:e})}}}return r}calculateAutoHeightForCell(e,t){var r,n,i,a,o,s,l;let{columnData:u,defaultColumnWidth:c}=this._worksheetData,d=this.worksheet.getCellInfoInMergeData(e,t);if(this._skipAutoHeightForMergedCells&&(d.isMerged||d.isMergedMainCell))return;let h=this.worksheet.getCell(e,t),m=this.worksheet.getComposedCellStyleByCellData(e,t,h);if(null!=h&&h.interceptorAutoHeight){let e=h.interceptorAutoHeight();if(e)return e}let f=(null==(r=null==h||null==(n=h.fontRenderExtension)?void 0:n.leftOffset)?0:r)+(null==(i=null==h||null==(a=h.fontRenderExtension)?void 0:a.rightOffset)?0:i),{vertexAngle:g,centerAngle:p}=$F(null==(o=null==m?void 0:m.tr)?{a:0}:o),v=(null==h?void 0:h.p)||g||p,b=null==(s=null==(l=u[t])?void 0:l.w)?c:s;if(d.isMergedMainCell){let e=d.startColumn,t=d.endColumn;b=Array.from({length:t-e+1},(t,r)=>e+r).reduce((e,t)=>{var r,n;return e+(null==(r=null==(n=u[t])?void 0:n.w)?c:r)},0)}if(b-=f,v){var C;let e=h&&this.worksheet.getCellDocumentModel(h,m);if(null==e)return;let{documentModel:t,textRotation:r,wrapStrategy:n}=e;if(null==t)return;let i=new fH(t),{vertexAngle:a}=$F(r);"number"==typeof b&&n===Pu.WRAP&&t.updateDocumentDataPageSize(b);let o=Pz.create(i,this._localeService);o.calculate();let{height:s=0}=null==(C=qz(o,a))?{}:C;if(o){let e=o.getSkeletonData(),{marginTop:t,marginBottom:r,marginLeft:n,marginRight:i}=e.pages[e.pages.length-1],l=Math.abs(zV(a));s+=t*Math.cos(l)+i*Math.sin(l)+r*Math.cos(l)+n*Math.sin(l)}return s}{var y,_,w,E,S,A,I,R;if(void 0===(null==h?void 0:h.v)||null===(null==h?void 0:h.v))return;let e=null==(y=null==(_=m.pd)?void 0:_.l)?jz.l:y,t=null==(w=null==(E=m.pd)?void 0:E.r)?jz.r:w,r=null==(S=null==(A=m.pd)?void 0:A.t)?jz.t:S,n=null==(I=null==(R=m.pd)?void 0:R.b)?jz.b:I;if((null==m?void 0:m.tb)===Pu.WRAP){let i=new nH(`${h.v}`,KV(m).fontCache,(null==m?void 0:m.tb)===Pu.WRAP,b-e-t,1/0);return i.calculate(),i.getTotalHeight()+r+n}{let e=wF.getMeasureText("A",KV(m).fontCache);return e.fontBoundingBoxAscent+e.fontBoundingBoxDescent+r+n}}}_calculateRowAutoHeight(e){let{columnCount:t,defaultRowHeight:r}=this._worksheetData,n=r;for(let r=0;r[...Array.from({length:t-e+1},(t,r)=>r+e),...r])(Math.max(0,i-1e4),Math.min(o,a+1e4),s),c=Math.max(0,e-1),d=this.columnWidthAccumulation[e]-this.columnWidthAccumulation[c];0===e&&(d=this.columnWidthAccumulation[e]);for(let n=0;n=a))continue;let f=this._getMeasuredWidthByCell(c,o,e,d);var h,m;if(c.fontRenderExtension&&(f+=((null==(h=c.fontRenderExtension)?void 0:h.leftOffset)||0)+((null==(m=c.fontRenderExtension)?void 0:m.rightOffset)||0)),r=Math.max(r,f),r>=2e3)return 2e3}return 0===r?d:Math.max(2,r)}getColWidth(e){let t=Math.max(0,e-1);return this.columnWidthAccumulation[e]-this.columnWidthAccumulation[t]}getRowHeight(e){let t=Math.max(0,e-1);return this.rowHeightAccumulation[e]-this.rowHeightAccumulation[t]}_getMeasuredWidthByCell(e,t,r,n){var i,a;let o=0;if(null!=(i=e.fontRenderExtension)&&i.isSkip&&null!=e&&e.interceptorAutoWidth){var s;let t=null==(s=e.interceptorAutoWidth)?void 0:s.call(e);if(t)return t}let l=this.worksheet.getComposedCellStyleByCellData(t,r,e),u=this.worksheet.getCellDocumentModel(e,l);if(null==u)return o;let{documentModel:c,textRotation:d}=u;if(null==c)return o;let h=new fH(c),{vertexAngle:m}=$F(d);(null==l?void 0:l.tb)===Pu.WRAP?c.updateDocumentDataPageSize(n,1/0):c.updateDocumentDataPageSize(1/0,1/0);let f=Pz.create(h,this._localeService);if(f.calculate(),o=(null==(a=qz(f,m))?{width:0}:a).width,f){let e=f.getSkeletonData(),{marginTop:t,marginBottom:r,marginLeft:n,marginRight:i}=e.pages[e.pages.length-1],a=Math.abs(zV(m));o+=t*Math.sin(a)+i*Math.cos(a)+r*Math.sin(a)+n*Math.cos(a)}return o}getRangeByBounding(e){return this._getRangeByViewBounding(this.rowHeightAccumulation,this.columnWidthAccumulation,null==e?void 0:e.cacheBound)}getRangeByViewport(e){return this._getRangeByViewBounding(this.rowHeightAccumulation,this.columnWidthAccumulation,null==e?void 0:e.viewBound)}getCacheRangeByViewport(e,t){return this._getRangeByViewBounding(this.rowHeightAccumulation,this.columnWidthAccumulation,null==e?void 0:e.cacheBound,t)}getRangeByViewBound(e){return this._getRangeByViewBounding(this.rowHeightAccumulation,this.columnWidthAccumulation,e)}appendToOverflowCache(e,t,r,n){this._overflowCache.setValue(e,t,{startRow:e,endRow:e,startColumn:r,endColumn:n})}getOverflowPosition(e,t,r,n,i){var a;let o=null==(a=null==e?void 0:e.width)?0:a,s=n,l=n;return t===Lu.CENTER?(s=this._getOverflowBound(r,n,0,o/2,t),l=this._getOverflowBound(r,n,i-1,o/2,t)):t===Lu.RIGHT?s=this._getOverflowBound(r,n,0,o):l=this._getOverflowBound(r,n,i-1,o),{startColumn:s,endColumn:l}}calculateCellIndexByPosition(e,t,r,n,i){return this.getCellWithCoordByOffset(e,t,r,n,i)}getCellPositionByOffset(e,t,r,n,i,a){return this.getCellIndexByOffset(e,t,r,n,i,a)}getCellWithMergeInfoByIndex(e,t){return this.worksheet.getCellInfoInMergeData(e,t)}getColumnPositionByOffsetX(e,t,r,n){return this.getColumnIndexByOffsetX(e,t,r,n)}getRowPositionByOffsetY(e,t,r,n){return this.getRowIndexByOffsetY(e,t,r,n)}getCellByIndex(e,t){return this.getCellWithCoordByIndex(e,t)}getCellByIndexWithNoHeader(e,t){return this.getCellWithCoordByIndex(e,t,!1)}getBlankCellDocumentModel(e){let t=this._getCellDocumentModel(e,{ignoreTextRotation:!0}),r=Uz(this._styles.getStyleByCell(e));if(null!=t)return null==t.documentModel&&(t.documentModel=Dz("",r)),t;let n="document",i=vh.tr,a=vh.ht,o=vh.vt,s=vh.tb,l=jz;return n=KV({}).fontCache,{documentModel:Dz("",r),fontString:n,textRotation:i,wrapStrategy:s,verticalAlign:o,horizontalAlign:a,paddingData:l}}getCellDocumentModelWithFormula(e){return this._getCellDocumentModel(e,{isDeepClone:!0,displayRawFormula:!0,ignoreTextRotation:!0})}_getCellDocumentModel(e,t=Fz){var r;let{isDeepClone:n,displayRawFormula:i,ignoreTextRotation:a}={...Fz,...t},o=this._styles.getStyleByCell(e);if(!e)return;let s,l="document",u=function(e){if(!e)return{};let{tr:t,td:r,ht:n,vt:i,tb:a,pd:o}=e;return{textRotation:t,textDirection:r,horizontalAlign:n,verticalAlign:i,wrapStrategy:a,paddingData:o}}(o),c=a?vh.tr:u.textRotation||vh.tr,d=u.horizontalAlign||vh.ht,h=u.verticalAlign||vh.vt,m=u.wrapStrategy||vh.tb,f=u.paddingData||jz;if(e.f&&i)s=Dz(e.f.toString(),{},{verticalAlign:h}),d=vh.ht;else if(e.p){let{centerAngle:t,vertexAngle:r}=$F(c);s=this._updateConfigAndGetDocumentModel(n?uu.deepClone(e.p):e.p,d,f,{horizontalAlign:d,verticalAlign:h,centerAngle:t,vertexAngle:r,wrapStrategy:m,zeroWidthParagraphBreak:1})}else if(null!=e.v){let t=Uz(o);l=KV(t).fontCache;let r=lg(e);e.t===Fu.FORCE_STRING&&i&&(r=`'${r}`),s=Dz(r,t,{...u,textRotation:c,cellValueType:e.t})}return s&&e.linkUrl&&e.linkId&&Wf(s,e.linkUrl,e.linkId),{documentModel:s,fontString:l,textRotation:c,wrapStrategy:m,verticalAlign:h,horizontalAlign:d,paddingData:f,fill:null==o||null==(r=o.bg)?void 0:r.rgb}}_calculateOverflowCell(e,t,r){let{documentSkeleton:n,vertexAngle:i=0,centerAngle:a=0,horizontalAlign:o,wrapStrategy:s}=r,{t:l=Fu.STRING}=this._cellData.getValue(e,t)||{},u=o;if(o===Lu.UNSPECIFIED&&(90===a&&90===i?u=Lu.CENTER:(i>0&&90!==i||-90===i)&&(u=Lu.RIGHT)),s!==Pu.OVERFLOW&&s!==Pu.UNSPECIFIED||l===Fu.NUMBER||l===Fu.BOOLEAN||o===Lu.JUSTIFIED){if(s===Pu.WRAP&&0!==i){if(this.intersectMergeRange(e,t))return!0;let{startY:r,endY:a}=this.getCellWithCoordByIndex(e,t),o=a-r;n.getViewModel().getDataModel().updateDocumentDataPageSize(o),n.calculate();let s=qz(n,i);if(!s)return!0;let{startColumn:l,endColumn:c}=this.getOverflowPosition(s,u,e,t,this.getColumnCount());if(l===c)return!0;this.appendToOverflowCache(e,t,l,c)}}else{if(this.intersectMergeRange(e,t))return!0;let a;if(n)a=qz(n,i);else{let e=wF.getMeasureText(`${r.cellData.v}`,r.fontString);a={width:e.width,height:e.fontBoundingBoxDescent+e.fontBoundingBoxAscent}}if(!a)return!0;if(0!==i){let{startY:r,endY:n,startX:o,endX:s}=this.getCellWithCoordByIndex(e,t),l=s-o,u=n-r;a.height>u&&(a={width:u/Math.tan(Math.abs(i))+l,height:u})}let{startColumn:o,endColumn:s}=this.getOverflowPosition(a,u,e,t,this.getColumnCount());if(o===s)return!0;this.appendToOverflowCache(e,t,o,s)}return!1}_getRangeByViewBounding(e,t,r,n){let i=e.length,a=t.length;if(!r)return{startRow:0,endRow:i-1,startColumn:0,endColumn:a-1};let o=Qc(e,Math.round(r.top)-this.columnHeaderHeightAndMarginTop),s=Math.round(r.bottom)-this.columnHeaderHeightAndMarginTop,l=Qc(e,s);l{this._stylesCache.fontMatrix.realDeleteValue(e,t)})}this.makeDirty(!0)}_setBorderStylesCache(e,t,r,n){if(!uu.isDefine(this._handleBorderMatrix.getValue(e,t))&&((null==n?void 0:n.cacheItem)||{bg:!0,border:!0}).border&&(this._handleBorderMatrix.setValue(e,t,!0),r&&r.bd)){let i=null==n?void 0:n.mergeRange;i?(this._setMergeBorderProps(MV.TOP,this._stylesCache,i),this._setMergeBorderProps(MV.BOTTOM,this._stylesCache,i),this._setMergeBorderProps(MV.LEFT,this._stylesCache,i),this._setMergeBorderProps(MV.RIGHT,this._stylesCache,i)):this.intersectMergeRange(e,t)||(this._setBorderProps(e,t,MV.TOP,r,this._stylesCache),this._setBorderProps(e,t,MV.BOTTOM,r,this._stylesCache),this._setBorderProps(e,t,MV.LEFT,r,this._stylesCache),this._setBorderProps(e,t,MV.RIGHT,r,this._stylesCache)),this._setBorderProps(e,t,MV.TL_BR,r,this._stylesCache),this._setBorderProps(e,t,MV.TL_BC,r,this._stylesCache),this._setBorderProps(e,t,MV.TL_MR,r,this._stylesCache),this._setBorderProps(e,t,MV.BL_TR,r,this._stylesCache),this._setBorderProps(e,t,MV.ML_TR,r,this._stylesCache),this._setBorderProps(e,t,MV.BC_TR,r,this._stylesCache)}}_setBgStylesCache(e,t,r,n){if(!uu.isDefine(this._handleBgMatrix.getValue(e,t))&&((null==n?void 0:n.cacheItem)||{bg:!0,border:!0}).bg&&(this._handleBgMatrix.setValue(e,t,!0),r&&r.bg&&r.bg.rgb)){var i;let n=r.bg.rgb;this._stylesCache.background[n]||(this._stylesCache.background[n]=new kd),this._stylesCache.background[n].setValue(e,t,n);let a=this.getCellWithCoordByIndex(e,t,!1);null==(i=this._stylesCache.backgroundPositions)||i.setValue(e,t,a)}}_setFontStylesCache(e,t,r,n){var i;if(gd(r))return;let a={cellData:r,imageCacheMap:this._imageCacheMap},o=this._stylesCache.fontMatrix.getValue(e,t);if(o)return o.cellData=r,void this._stylesCache.fontMatrix.setValue(e,t,o);this._stylesCache.fontMatrix.setValue(e,t,a);let{vertexAngle:s,centerAngle:l}=$F(null==(i=null==n?void 0:n.tr)?{a:0}:i),u=null!=r&&r.p||s||l?this.worksheet.getCellDocumentModel(r,n,{displayRawFormula:this._renderRawFormula}):null;if(u){let{documentModel:e}=u;if(e){let{fontString:t,wrapStrategy:i,verticalAlign:o,horizontalAlign:c}=u,d=new fH(e);if(d){let e=Pz.create(d,this._localeService);e.calculate(),a={documentSkeleton:e,vertexAngle:s,centerAngle:l,verticalAlign:o,horizontalAlign:c,wrapStrategy:i,imageCacheMap:this._imageCacheMap,cellData:r,fontString:t,style:n}}}}else{let e=KV(null==n?void 0:n).fontCache,{vt:t,ht:i,tb:o}=null==n?{}:n;a={documentSkeleton:void 0,vertexAngle:s,centerAngle:l,verticalAlign:null==t?ku.UNSPECIFIED:t,horizontalAlign:null==i?Lu.UNSPECIFIED:i,wrapStrategy:null==o?Pu.OVERFLOW:o,imageCacheMap:this._imageCacheMap,cellData:r,fontString:e,style:n}}this._calculateOverflowCell(e,t,a),this._stylesCache.fontMatrix.setValue(e,t,a)}_setStylesCacheForOneCell(e,t,r){if(-1===e||-1===t)return;r||(r={cacheItem:{bg:!0,border:!0}});let{isMerged:n,isMergedMainCell:i,startRow:a,startColumn:o,endRow:s,endColumn:l}=this.worksheet.getCellInfoInMergeData(e,t);if(n&&(r.mergeRange={startRow:a,startColumn:o,endRow:s,endColumn:l}),(!1===this.worksheet.getColVisible(t)||!1===this.worksheet.getRowVisible(e))&&(n&&!i||!i))return;let u=this.worksheet.getCell(e,t)||this.worksheet.getCellRaw(e,t),c=this.worksheet.getComposedCellStyleByCellData(e,t,u);!u&&0===Object.keys(c).length||(this._setBgStylesCache(e,t,c,r),this._setBorderStylesCache(e,t,c,r),this._setFontStylesCache(e,t,{...u,s:c},c))}_setMergeBorderProps(e,t,r){if(!this.worksheet||!t.border)return;let n=[],i=r.startRow,a=r.endRow,o=r.startRow,s=r.startColumn;e===MV.TOP?(o=r.startRow,i=r.startColumn,a=r.endColumn):e===MV.BOTTOM?(o=r.endRow,i=r.startColumn,a=r.endColumn):e===MV.LEFT?(s=r.startColumn,i=r.startRow,a=r.endRow):e===MV.RIGHT&&(s=r.endColumn,i=r.startRow,a=r.endRow);for(let t=i;t<=a;t++){var l,u,c;e===MV.TOP||e===MV.BOTTOM?s=t:(e===MV.LEFT||e===MV.RIGHT)&&(o=t);let r=this.worksheet.getCell(o,s);if(!r)break;let i=null==(l=r.themeStyle)?void 0:l.bd,a=this.worksheet.getComposedCellStyleByCellData(o,s,r);if(!a&&!i)break;let d=null==(u=null==a||null==(c=a.bd)?void 0:c[e])?null==i?void 0:i[e]:u;if(d){let e=Ud(d.cl)||"rgb(0,0,0)";n.push({r:o,c:s,style:d.s,color:e})}}n.forEach(r=>{let{r:n,c:i,style:a,color:o}=r;t.border.getValue(n,i)||t.border.setValue(n,i,{}),t.border.getValue(n,i)[e]={type:e,style:a,color:o}})}_setBorderProps(e,t,r,n,i){var a;let o=null==(a=n.bd)?void 0:a[r];if(!o||!i.border)return;let s=Ud(o.cl)||"rgb(0,0,0)",l=i.border;var u;if(l.getValue(e,t)||l.setValue(e,t,{[r]:{}}),r===MV.TOP){if(null!=(u=l.getValue(e-1,t))&&u[MV.BOTTOM]&&md(s))return}else if(r===MV.LEFT){var c;if(null!=(c=l.getValue(e,t-1))&&c[MV.RIGHT]&&md(s))return}l.getValue(e,t)[r]={type:r,style:o.s,color:s}}getDistanceFromTopLeft(e,t){return{x:this.colStartX(t),y:this.rowStartY(e)}}colStartX(e){let t=this.columnWidthAccumulation,r=e-1;return-1===r?0:t[r]}rowStartY(e){let t=this.rowHeightAccumulation,r=e-1;return-1===r?0:t[r]}getHiddenRowsInRange(e){let t=[];for(let r=e.startRow;r<=e.endRow;r++)this.worksheet.getRowVisible(r)||t.push(r);return t}getHiddenColumnsInRange(e){let t=[];for(let r=e.startColumn;r<=e.endColumn;r++)this.worksheet.getColVisible(r)||t.push(r);return t}convertTransformToOffsetX(e,t,r){let{x:n}=r;return(e-n)*t}convertTransformToOffsetY(e,t,r){let{y:n}=r;return(e-n)*t}};function zz(e,t,r){let{x:n}=r;return(e-n)*t}function Xz(e,t,r){let{y:n}=r;return(e-n)*t}function qz(e,t=0){let r=null==e?void 0:e.getSkeletonData(),n=zV(t);if(!r)return null;let{pages:i}=r;if(!i||0===i.length)return null;let a=i[i.length-1];if(!a)return null;let{width:o,height:s}=a;if(0===n)return{width:o,height:s};if(Math.abs(n)===Math.PI/2)return{width:s,height:o};let l=0,u=0,c=[];!function(e,t){for(let r of e){let{sections:e}=r;for(let r of e){let{columns:e}=r;for(let r of e)t&&GV(t)&&t(r)}}}([a],e=>{let{lines:t,width:r,spaceWidth:i}=e,{rotatedHeight:a,rotatedWidth:o}=PF(t,r,n);u+=a,c.push({rotatedWidth:o,spaceWidth:i})});let d=c.length;for(let e=0;e0)try{e.drawImage(this._imageFallback,t,r,n,i)}catch(e){console.error("Failed to draw fallback image:",e)}}draw(e,t,r,n,i){let{stylesCache:a,worksheet:o}=r,{fontMatrix:s}=a;if(!r||!o||!s)return;let{rowHeightAccumulation:l,columnTotalWidth:u,columnWidthAccumulation:c,rowTotalHeight:d}=r;if(!l||!c||void 0===u||void 0===d||!o)return;let h=this._getScale(t),{viewRanges:m=[],checkOutOfViewBound:f}=i,g={ctx:e,scale:h,columnTotalWidth:u,rowTotalHeight:d,viewRanges:m,checkOutOfViewBound:f||!0,diffRanges:n,spreadsheetSkeleton:r};e.save();let p=[],v=new Set,b=r.getRowCount()-1,C=r.getColumnCount()-1;m.forEach(e=>{e.startColumn-=20,e.endColumn+=20,e=function(e,t,r){return{startRow:uu.clamp(e.startRow,0,t),endRow:uu.clamp(e.endRow,0,t),startColumn:uu.clamp(e.startColumn,0,r),endColumn:uu.clamp(e.endColumn,0,r)}}(e,b,C),r.worksheet.getMergedCellRange(e.startRow,e.startColumn,e.endRow,e.endColumn).forEach(e=>{let t=r.worksheet.getSpanModel().getMergeDataIndex(e.startRow,e.startColumn);v.has(t)||(v.add(t),p.push(e))}),Sh.foreach(e,(e,t)=>{if(-1!==r.worksheet.getSpanModel().getMergeDataIndex(e,t))return;let n=r.getCellWithCoordByIndex(e,t,!1);n&&(g.cellInfo=n,this._renderFontEachCell(g,e,t,s))})}),p.forEach(e=>{g.cellInfo=r.getCellWithCoordByIndex(e.startRow,e.startColumn,!1),this._renderFontEachCell(g,e.startRow,e.startColumn,s)}),e.restore()}_renderFontEachCell(e,t,r,n){var i;let{ctx:a,viewRanges:o,diffRanges:s,spreadsheetSkeleton:l,cellInfo:u}=e,{startY:c,endY:d,startX:h,endX:m}=u,{isMerged:f,isMergedMainCell:g,mergeInfo:p}=u;if(e.startX=h,e.startY=c,e.endX=m,e.endY=d,f&&!g)return!0;g&&(e.startX=p.startX,e.startY=p.startY,e.endX=p.endX,e.endY=p.endY);let v=n.getValue(t,r);if(!v)return!0;e.fontCache=v;let b=l.overflowCache.getValue(t,r),C=s&&s.length>0?s:o,y=!g&&!f;if(!b&&y&&!bF(C,t,r))return!0;if(y){if(!l.worksheet.getRowVisible(t)||!l.worksheet.getColVisible(r))return!0}else{let e=!0;for(let t=p.startRow;t<=p.endRow;t++)if(l.worksheet.getRowVisible(t)){e=!1;break}if(e)return!0;let t=!0;for(let e=p.startColumn;e<=p.endColumn;e++)if(l.worksheet.getColVisible(e)){t=!1;break}if(t)return!0}let _=l.worksheet.getCell(t,r)||{};return!(null==_||null==(i=_.fontRenderExtension)||!i.isSkip)||(a.save(),a.beginPath(),e.overflowRectangle=b,this._clipByRenderBounds(e,t,r),a.translate(e.startX+kV,e.startY+kV),v.documentSkeleton?this._renderDocuments(a,t,r,e,l.overflowCache):this._renderText(a,t,r,e,l.overflowCache),a.closePath(),a.restore(),v.documentSkeleton&&null!=(w=v.documentSkeleton.getViewModel().getDataModel().getDrawingsOrder())&&w.length&&(a.save(),a.beginPath(),this._clipByRenderBounds(e,t,r,1),this._renderImages(a,v,e.startX,e.startY,e.endX,e.endY),a.closePath(),a.restore()),e.startX=0,e.startY=0,e.endX=0,e.endY=0,e.overflowRectangle=null,!1);var w}_renderImages(e,t,r,n,i,a){var o;let{documentSkeleton:s,verticalAlign:l,horizontalAlign:u}=t,c=s.getSkeletonData().pages[0].height,d=s.getSkeletonData().pages[0].width,h=r,m=n;switch(l){case ku.TOP:m=n+2;break;case ku.MIDDLE:m=(n+a)/2-c/2;break;default:m=a-c-2}switch(u){case Lu.RIGHT:h=i-d-2;break;case Lu.CENTER:h=(r+i)/2-d/2;break;default:h=r+2}let f=s.getViewModel().getDataModel().getDrawings(),g=null==(o=s.getSkeletonData())?void 0:o.pages[0].skeDrawings;null==g||g.forEach(r=>{let n=null==f?void 0:f[r.drawingId];if(n){let i=t.imageCacheMap.getImage(n.imageSourceType,n.source,()=>{var e;null==(e=this.parent)||e.makeDirty()},()=>{var e;null==(e=this.parent)||e.makeDirty()}),a=h+r.aLeft,o=m+r.aTop,s=r.width,l=r.height,u=r.angle,{rotatedHeight:c,rotatedWidth:d}=function(e,t,r){let n=r*Math.PI/180;return{rotatedWidth:Math.abs(e*Math.cos(n))+Math.abs(t*Math.sin(n)),rotatedHeight:Math.abs(e*Math.sin(n))+Math.abs(t*Math.cos(n))}}(s,l,u);if(i&&i.complete){let t=u*Math.PI/180;if(e.save(),e.translate(a+d/2,o+c/2),e.rotate(t),"true"===i.getAttribute("data-error"))this._drawFallbackImage(e,-d/2,-c/2,s,l);else try{e.drawImage(i,-d/2,-c/2,s,l)}catch{this._drawFallbackImage(e,-d/2,-c/2,s,l)}e.restore()}}})}_clipByRenderBounds(e,t,r,n=0){var i,a,o,s;let{ctx:l,scale:u,overflowRectangle:c,fontCache:d}=e,{startX:h,endX:m,startY:f,endY:g}=e,{horizontalAlign:p=0,vertexAngle:v=0,centerAngle:b=0}=d,C=p;p===Lu.UNSPECIFIED&&(90===b&&90===v?C=Lu.CENTER:(v>0&&90!==v||-90===v)&&(C=Lu.RIGHT));let y=null==(i=null==d||null==(a=d.cellData)||null==(a=a.fontRenderExtension)?void 0:a.rightOffset)?0:i,_=null==(o=null==d||null==(s=d.cellData)||null==(s=s.fontRenderExtension)?void 0:s.leftOffset)?0:o,w=!0;0===v&&(h+=_,m-=y,(0!==y||0!==_)&&(w=!1));let E=m-h,S=g-f;if(c&&w){let{startColumn:i,startRow:a,endColumn:o,endRow:s}=c,{spreadsheetSkeleton:d}=e,{rowHeightAccumulation:m,columnWidthAccumulation:g}=d;i===o&&i===r?(l.rectByPrecision(h+1/u,f+1/u,E-2/u,S-2/u),l.clip()):C===Lu.CENTER?this._clipRectangleForOverflow(l,a,s,i,o,u,m,g,n):C===Lu.RIGHT?this._clipRectangleForOverflow(l,a,t,i,r,u,m,g,n):this._clipRectangleForOverflow(l,t,s,r,o,u,m,g,n)}else l.rectByPrecision(h+1/u,f+1/u,E-2/u,S-2/u),l.clip();e.startX=h,e.startY=f,e.endX=m,e.endY=g}_renderText(e,t,r,n,i){var a,o,s,l,u,c,d,h,m,f;let{fontCache:g}=n;if(!g)return;let p=null==(a=null==(o=g.style)?void 0:o.pd)?jz:a,v=null==(s=p.l)?jz.l:s,b=null==(l=p.r)?jz.r:l,C=null==(u=p.t)?jz.t:u,y=null==(c=p.b)?jz.b:c,{vertexAngle:_=0,wrapStrategy:w,cellData:E}=g;if(void 0===(null==E?void 0:E.v)||null===(null==E?void 0:E.v))return;let S=lg(E),{startX:A,startY:I,endX:R,endY:x}=n,T=R-A-v-b,N=x-I-C-y,M=g.horizontalAlign;g.horizontalAlign===Lu.UNSPECIFIED&&(E.t===Fu.NUMBER||!uu.isDefine(E.t)&&"number"==typeof E.v?M=Lu.RIGHT:E.t===Fu.BOOLEAN&&(M=Lu.CENTER)),lH.drawWith(e,{text:S,fontStyle:g.fontString,warp:w===Pu.WRAP&&0===_,hAlign:M,vAlign:g.verticalAlign,width:T,height:N,left:v,top:C,color:null==(d=g.style)||null==(d=d.cl)?void 0:d.rgb,strokeLine:!(null==(h=g.style)||null==(h=h.st)||!h.s),underline:!(null==(m=g.style)||null==(m=m.ul)||!m.s),underlineType:null==(f=g.style)||null==(f=f.ul)?void 0:f.t,cellValueType:E.t})}_renderDocuments(e,t,r,n,i){let a=this.getDocuments();if(null==a)throw Error("documents is null");let{fontCache:o}=n;if(!o)return;let{documentSkeleton:s,vertexAngle:l=0,wrapStrategy:u}=o;if(!s)return;let c=s.getViewModel().getDataModel(),{startX:d,startY:h,endX:m,endY:f}=n,g=m-d,p=f-h;u===Pu.WRAP&&0===l?(c.updateDocumentDataPageSize(m-d),s.calculate()):c.updateDocumentDataPageSize(1/0);let v=i.getValue(t,r);if((u!==Pu.WRAP||0!==l)&&v){let e=qz(s),t=c.getSnapshot().documentStyle;if(e&&t){let{width:r}=e,{marginRight:n=0,marginLeft:i=0}=t;s.getViewModel().getDataModel().updateDocumentDataPageSize(r+i+n),s.calculate()}let r=v.endColumn,i=v.startColumn,a=v.startRow,o=v.endRow,l=n.spreadsheetSkeleton.getCellWithCoordByIndex(o,r);m=l.endX,f=l.endY;let u=n.spreadsheetSkeleton.getCellWithCoordByIndex(a,i);d=u.startX,h=u.startY}let b={right:m-d,bottom:f-h};s.makeDirty(!1),a.resize(g,p),a.changeSkeleton(s).render(e,{viewBound:{left:0,top:0,right:b.right,bottom:b.bottom}})}_clipRectangleForOverflow(e,t,r,n,i,a,o,s,l=0){let u=o[t-1]||0,c=o[r]||o[o.length-1],d=s[n-1]||0,h=s[i]||s[s.length-1];e.rectByPrecision(d+l,u+l,h-d-2*l,c-u-2*l),e.clip()}}),dj.add(class extends Ej{constructor(...e){super(...e),yF(this,"Z_INDEX",60),yF(this,"uKey","DefaultMarkerExtension")}draw(e,t,r,n){if("printing"===e.__mode)return;let{worksheet:i,rowColumnSegment:a}=r;if(!i)return;let o=new Set;Sh.foreach(a,(t,a)=>{var s,l,u,c;if(!i.getRowVisible(t)||!i.getColVisible(a))return;let d=i.getCell(t,a),h=r.getCellWithCoordByIndex(t,a,!1),{isMerged:m,isMergedMainCell:f,mergeInfo:g}=h,{startY:p,endY:v,startX:b,endX:C}=h;if((f||m)&&(p=g.startY,v=g.endY,b=g.startX,C=g.endX),m){let e={row:g.startRow,col:g.startColumn};d=i.getCell(e.row,e.col)}if(!this.isRenderDiffRangesByRow(g.startRow,g.endRow,n))return!0;if(h.isMerged||h.isMergedMainCell){let e=(e=>{let{startRow:t,endRow:r,startColumn:n,endColumn:i}=e;return`${t}-${r}-${n}-${i}`})(g);if(o.has(e))return;o.add(e)}if(d){if(null!=(s=d.markers)&&s.tr){e.save();let t=d.markers.tr,r=C,n=p;e.fillStyle=t.color,e.moveTo(r,n),e.beginPath(),e.lineTo(r-t.size,n),e.lineTo(r,n+t.size),e.lineTo(r,n),e.closePath(),e.fill(),e.restore()}if(null!=(l=d.markers)&&l.tl){e.save();let t=d.markers.tl,r=b,n=p;e.fillStyle=t.color,e.moveTo(r,n),e.beginPath(),e.lineTo(r+t.size,n),e.lineTo(r,n+t.size),e.lineTo(r,n),e.closePath(),e.fill(),e.restore()}if(null!=(u=d.markers)&&u.br){e.save();let t=d.markers.br,r=C,n=v;e.fillStyle=t.color,e.moveTo(r,n),e.beginPath(),e.lineTo(r-t.size,n),e.lineTo(r,n-t.size),e.lineTo(r,n),e.closePath(),e.fill(),e.restore()}if(null!=(c=d.markers)&&c.bl){e.save();let t=d.markers.bl,r=b,n=v;e.fillStyle=t.color,e.moveTo(r,n),e.beginPath(),e.lineTo(r+t.size,n),e.lineTo(r,n-t.size),e.lineTo(r,n),e.closePath(),e.fill(),e.restore()}}})}});const Gz={fontSize:13,fontFamily:xV,fontColor:"#000000",backgroundColor:BV([248,249,250]),borderColor:BV([217,217,217]),textAlign:"center",textBaseline:"middle"};hj.add(new class extends Ej{constructor(e){super(),yF(this,"uKey","DefaultRowHeaderLayoutExtension"),yF(this,"Z_INDEX",10),yF(this,"rowsCfg",{}),yF(this,"headerStyle",{}),yF(this,"rowsCfgOfWorksheet",new Map),yF(this,"headerStyleOfWorksheet",new Map),e&&this.configHeaderRow(e)}configHeaderRow(e,t){var r,n,i,a;t?(this.rowsCfgOfWorksheet.set(t,null==(r=e.rowsCfg)?{}:r),this.headerStyleOfWorksheet.set(t,null==(n=e.headerStyle)?{}:n)):(this.rowsCfg=null==(i=e.rowsCfg)?{}:i,this.headerStyle=null==(a=e.headerStyle)?{}:a)}getRowsCfg(e){var t;let r=null==(t=this.rowsCfgOfWorksheet.get(e))?{}:t;return{...this.rowsCfg,...r}}getHeaderStyle(e){var t;let r=null==(t=this.headerStyleOfWorksheet.get(e))?{}:t;return{...Gz,...this.headerStyle,...r}}getCfgOfCurrentRow(e,t,r){let n,i;return e[r]?("string"==typeof e[r]&&(e[r]={text:e[r]}),i=e[r],n={...t,...i}):n={...t,text:`${r+1}`},[n,Object.keys(i||{}).length>1]}setStyleToCtx(e,t){t.textAlign&&(e.textAlign=t.textAlign),t.textBaseline&&(e.textBaseline=t.textBaseline),t.fontColor&&(e.fillStyle=t.fontColor),t.borderColor&&(e.strokeStyle=t.borderColor),t.fontSize&&(e.font=`${t.fontSize}px ${xV}`)}draw(e,t,r){let{rowColumnSegment:n,rowHeaderWidth:i=0}=r,{startRow:a,endRow:o}=n;if(!r||0===i)return;let{rowHeightAccumulation:s,columnTotalWidth:l,columnWidthAccumulation:u,rowTotalHeight:c,worksheet:d}=r;if(!s||!u||void 0===l||void 0===c)return;let h=this.getRowsCfg(d.getSheetId()),m=this.getHeaderStyle(d.getSheetId()),f=this._getScale(t);this.setStyleToCtx(e,m),e.save(),e.fillStyle=m.backgroundColor,e.fillRectByPrecision(0,0,i,c),e.restore(),e.setLineWidthByPrecision(1),e.translateWithPrecisionRatio(kV,kV);let g=0,p=s.length;for(let t=a-1;t<=o;t++){if(t<0||t>p-1)continue;let r=s[t];if(g===r)continue;let n={left:0,top:g,right:i,bottom:r,width:i,height:r-g},[a,o]=this.getCfgOfCurrentRow(h,m,t);o&&a.backgroundColor&&(e.save(),e.fillStyle=a.backgroundColor,e.fillRectByPrecision(n.left,n.top,n.width,n.height),e.restore()),e.beginPath(),e.moveToByPrecision(n.left,n.bottom),e.lineToByPrecision(n.right,n.bottom),e.stroke();let l=(()=>{switch(a.textAlign){case"center":default:return n.left+(n.right-n.left)/2;case"right":return n.right-1;case"left":return n.left+1}})(),u=g+(r-g)/2+1;o&&(e.save(),e.beginPath(),this.setStyleToCtx(e,a),e.rectByPrecision(n.left,n.top,n.width,n.height),e.clip()),e.fillText(a.text,l,u),o&&e.restore(),g=r}let v=i-.5/f;e.beginPath(),e.moveToByPrecision(v,0),e.lineToByPrecision(v,c),e.stroke()}});var Yz=class extends pj{getDocuments(){throw Error("Method not implemented.")}getNoMergeCellPositionByIndex(e,t){throw Error("Method not implemented.")}getSelectionBounding(e,t,r,n){throw Error("Method not implemented.")}constructor(e,t){super(e,t),yF(this,"_rowHeaderLayoutExtension",void 0),this._initialDefaultExtension(),this.makeDirty(!0)}get rowHeaderLayoutExtension(){return this._rowHeaderLayoutExtension}draw(e,t){let r=this.getSkeleton();if(!r)return;let n=this.getParentScale();r.updateVisibleRange(t);let i=r.rowColumnSegment;if(!i||-1===i.startRow&&-1===i.endRow)return;let{columnHeaderHeight:a}=r;e.translateWithPrecision(0,a);let o=this.getExtensionsByOrder();for(let t of o)t.draw(e,n,r)}isHit(e){let t=this.getInverseCoord(e),r=this.getSkeleton();if(!r)return!1;let{rowHeaderWidth:n,columnHeaderHeight:i}=r;return t.x>=0&&t.x<=n&&t.y>i}_initialDefaultExtension(){hj.getData().forEach(e=>{this.register(e)}),this._rowHeaderLayoutExtension=this.getExtensionByKey("DefaultRowHeaderLayoutExtension")}setCustomHeader(e,t){this.makeDirty(!0),this._rowHeaderLayoutExtension.configHeaderRow(e,t)}},Qz=class extends uj{constructor(e,t,r){super(e),this._skeleton=t,yF(this,"pageMarginLeft",0),yF(this,"pageMarginTop",0),yF(this,"pageLayoutType",RF.VERTICAL),this._setConfig(r)}getSkeleton(){return this._skeleton}setSkeleton(e){this._skeleton=e}_setConfig(e){null==(null==e?void 0:e.pageMarginLeft)?this.pageMarginLeft=17:this.pageMarginLeft=null==e?void 0:e.pageMarginLeft,null==(null==e?void 0:e.pageMarginTop)?this.pageMarginTop=14:this.pageMarginTop=null==e?void 0:e.pageMarginTop,null==(null==e?void 0:e.pageLayoutType)?this.pageLayoutType=RF.VERTICAL:this.pageLayoutType=null==e?void 0:e.pageLayoutType}render(e,t){if(!this.visible)return this.makeDirty(!1),this;if(!this._skeleton)return;let r=this.transform.getMatrix();e.save(),e.transform(r[0],r[1],r[2],r[3],r[4],r[5]),this._draw(e,t),e.restore()}getParentScale(){if(!this.parent)return{scaleX:1,scaleY:1};let{scaleX:e=1,scaleY:t=1}=this.parent;return this.parent.classType===LV.SCENE&&(e=this.parent.ancestorScaleX||1,t=this.parent.ancestorScaleY||1),{scaleX:e,scaleY:t}}isSkipByDiffBounds(e,t,r,n){if(null==n)return!1;let{pageWidth:i,pageHeight:a,marginBottom:o,marginTop:s,marginLeft:l,marginRight:u}=e,c=r+i+l+u,d=t+a+o+s,{left:h,top:m,right:f,bottom:g}=n.viewBound;return cf&&i!==1/0||t>g&&a!==1/0}};let Zz=function(e){return e[e.SPAN=0]="SPAN",e[e.LINE=1]="LINE",e}({});var Kz=class extends cj{constructor(...e){super(...e),yF(this,"type",Zz.SPAN),yF(this,"translateX",0),yF(this,"translateY",0)}};fj.add(new class extends Kz{constructor(...e){super(...e),yF(this,"uKey","DefaultDocsBackgroundExtension"),yF(this,"Z_INDEX",10),yF(this,"_preBackgroundColor","")}draw(e,t,r){var n;let i=null==(n=r.parent)?void 0:n.parent;if(null==i)return;let{contentHeight:a=0}=i,{ts:o,width:s,content:l}=r;if(null==(null==o?void 0:o.bg))return;let{bg:u}=o,c=Ud(u),{spanStartPoint:d=TF.create(0,0)}=this.extensionOffset;c&&"\r"!==l&&(e.fillStyle=c,e.fillRect(d.x-.5,d.y+1,s+1,a+2))}clearCache(){this._preBackgroundColor=""}}),fj.add(new class extends Kz{constructor(...e){super(...e),yF(this,"uKey","DefaultDocsBorderExtension"),yF(this,"Z_INDEX",50),yF(this,"_preBorderStyle",void 0),yF(this,"_preBorderColor","")}draw(e,t,r){var n;let i=null==(n=r.parent)?void 0:n.parent;if(!i)return;let{asc:a=0,lineHeight:o=0}=i,{ts:s,left:l,width:u}=r;if(!s)return;let{bd:c}=s;if(!c)return;let d=this._getScale(e.getScale()),h=this._createBorderCache(c);e.save(),e.translateWithPrecisionRatio(kV,kV);let{spanStartPoint:m=TF.create(0,0)}=this.extensionOffset;for(let t of h.keys()){let r=h.get(t);if(!r)continue;let{s:n,cl:i}=r,a=Ud(i)||"rgb(0,0,0)",s=LF(n);n!==this._preBorderStyle&&(OF(e,n),e.setLineWidthByPrecision(s),this._preBorderStyle=n),a!==this._preBorderColor&&(e.strokeStyle=a||"rgb(0,0,0)",this._preBorderColor=a),NF(e,t,(s-1)/2/d,{startX:m.x,startY:m.y,endX:m.x+u,endY:m.y+o})}e.restore()}clearCache(){this._preBorderStyle=null,this._preBorderColor=""}_createBorderCache(e){let{t,b:r,l:n,r:i}=e,a=new Map;return t&&a.set(MV.TOP,t),r&&a.set(MV.BOTTOM,r),n&&a.set(MV.LEFT,n),i&&a.set(MV.RIGHT,i),a}});const $z=["checked"];var Jz=class e extends oH{constructor(e,t){super(e,t),yF(this,"_checked",!1),uu.isDefine(t.checked)&&(this._checked=t.checked)}get checked(){return this._checked}static drawWith(e,t){let{width:r=16,height:n=16,fill:i,checked:a,top:o=0,left:s=0}=t,l=new Path2D("M12 2.65381H4C3.17157 2.65381 2.5 3.32538 2.5 4.15381V12.1538C2.5 12.9822 3.17157 13.6538 4 13.6538H12C12.8284 13.6538 13.5 12.9822 13.5 12.1538V4.15381C13.5 3.32538 12.8284 2.65381 12 2.65381ZM4 1.65381C2.61929 1.65381 1.5 2.7731 1.5 4.15381V12.1538C1.5 13.5345 2.61929 14.6538 4 14.6538H12C13.3807 14.6538 14.5 13.5345 14.5 12.1538V4.15381C14.5 2.7731 13.3807 1.65381 12 1.65381H4Z"),u=new Path2D("M3.99243 1.65381C2.61172 1.65381 1.49243 2.77295 1.49243 4.15381V12.1538C1.49243 13.5347 2.61172 14.6538 3.99243 14.6538H11.9924C13.3731 14.6538 14.4924 13.5347 14.4924 12.1538V4.15381C14.4924 2.77295 13.3731 1.65381 11.9924 1.65381H3.99243ZM12.3779 6.3623C12.6317 6.1084 12.6317 5.69678 12.3779 5.44287C12.1241 5.18896 11.7125 5.18896 11.4586 5.44287L7.21062 9.69092L5.00681 7.4873C4.75296 7.2334 4.3414 7.2334 4.08755 7.4873C3.83372 7.74072 3.83372 8.15234 4.08757 8.40625L6.85709 11.1758C7.05234 11.3711 7.36893 11.3711 7.56418 11.1758L12.3779 6.3623Z");e.save(),e.translate(s,o),e.scale(r/16,n/16),i&&(e.fillStyle=i),a?e.fill(u,"evenodd"):e.fill(l,"evenodd"),e.restore()}_draw(t){e.drawWith(t,this)}toJson(){let e={};return $z.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}};const eX=["radius"];var tX=class e extends oH{constructor(e,t){super(e,t),yF(this,"objectType",rj.RECT),yF(this,"_radius",0),yF(this,"_opacity",1),yF(this,"_visualHeight",void 0),yF(this,"_visualWidth",void 0),null!=t&&t.radius&&(this._radius=t.radius),null!=t&&t.visualHeight&&(this._visualHeight=t.visualHeight),null!=t&&t.visualWidth&&(this._visualWidth=t.visualWidth)}get visualHeight(){return this._visualHeight}get visualWidth(){return this._visualWidth}get radius(){return this._radius}get opacity(){return this._opacity}setObjectType(e){this.objectType=e}setOpacity(e){this._opacity=e}static drawWith(e,t){var r,n,i;let{radius:a,width:o,height:s}=t;if(a=null==(r=a)?0:r,o=null==(n=o)?0:n,s=null==(i=s)?0:i,e.save(),e.beginPath(),t.strokeDashArray&&e.setLineDash(t.strokeDashArray),t.visualHeight&&(e.translate(0,(s-(t.visualHeight||0))/2),s=t.visualHeight),t.visualWidth&&(e.translate((o-(t.visualWidth||0))/2,0),o=t.visualWidth),a){let t=0,r=0,n=0,i=0;t=r=n=i=Math.min(a,o/2,s/2),e.moveTo(t,0),e.lineTo(o-r,0),e.arc(o-r,r,r,3*Math.PI/2,0,!1),e.lineTo(o,s-i),e.arc(o-i,s-i,i,0,Math.PI/2,!1),e.lineTo(n,s),e.arc(n,s-n,n,Math.PI/2,Math.PI,!1),e.lineTo(0,t),e.arc(t,t,t,Math.PI,3*Math.PI/2,!1)}else e.rect(0,0,o,s);e.closePath(),this._renderPaintInOrder(e,t),e.restore()}toJson(){let e={};return eX.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}_draw(t){e.drawWith(t,this)}},rX=class e extends tX{static drawWith(e,t){var r,n,i,a,o;let{radius:s,left:l,top:u,width:c,height:d}=t;if(s=null==(r=s)?0:r,c=null==(n=c)?0:n,d=null==(i=d)?0:i,l=null==(a=l)?0:a,u=null==(o=u)?0:o,e.beginPath(),e.setLineDash(t.strokeDashArray),s){let t=0,r=0,n=0,i=0;t=r=n=i=Math.min(s,c/2,d/2),e.moveTo(t,0),e.lineTo(c-r,0),e.arc(c-r,r,r,3*Math.PI/2,0,!1),e.lineTo(c,d-i),e.arc(c-i,d-i,i,0,Math.PI/2,!1),e.lineTo(n,d),e.arc(n,d-n,n,Math.PI/2,Math.PI,!1),e.lineTo(0,t),e.arc(t,t,t,Math.PI,3*Math.PI/2,!1)}else e.rect(l,u,c,d);e.closePath(),this._renderPaintInOrder(e,t)}_draw(t,r){let{radius:n,paintFirst:i,stroke:a,strokeWidth:o,fill:s,strokeScaleEnabled:l,fillRule:u,strokeLineCap:c,strokeDashOffset:d,strokeLineJoin:h,strokeMiterLimit:m,strokeDashArray:f}=this,g=this.getParent().transform,p=g.getMatrix()[4],v=g.getMatrix()[5],b={left:p,top:v,right:p+this.width,bottom:v+this.height},{left:C,top:y,right:_,bottom:w}=b,E=_-C,S=w-y;if(r){let e=Oh.getIntersectionBetweenTwoRect(b,r.cacheBound);e&&(C=e.left-p,y=e.top-v,_=e.right,w=e.bottom,E=e.width,S=e.height)}e.drawWith(t,{radius:n,paintFirst:i,stroke:a,strokeWidth:o,fill:s,strokeScaleEnabled:l,fillRule:u,strokeLineCap:c,strokeDashOffset:d,strokeLineJoin:h,strokeMiterLimit:m,strokeDashArray:f,width:E,height:S,left:C,top:y})}},nX=class extends oH{constructor(e,t){super(e,t),yF(this,"_props",void 0),yF(this,"_native",void 0),yF(this,"_renderByCropper",!1),yF(this,"_transformCalculateSrcRect",!0),yF(this,"objectType",rj.IMAGE),yF(this,"isDrawingObject",!0),this._props={...t},t.image?(this._native=t.image,this._native.crossOrigin="anonymous",this.makeDirty(!0)):t.url&&(this._native=document.createElement("img"),this._native.src=t.url,this._native.crossOrigin="anonymous",this._native.onload=()=>{var r,n;null==(r=t.success)||r.call(t),this.makeDirty(!0),null==(n=this.getEngine())||null==(n=n.activeScene)||n.onFileLoaded$.emitEvent(e)},this._native.onerror=()=>{t.fail?t.fail():(this._native.src="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTMwNC4xMjggNDU2LjE5MmM0OC42NCAwIDg4LjA2NC0zOS40MjQgODguMDY0LTg4LjA2NHMtMzkuNDI0LTg4LjA2NC04OC4wNjQtODguMDY0LTg4LjA2NCAzOS40MjQtODguMDY0IDg4LjA2NCAzOS40MjQgODguMDY0IDg4LjA2NCA4OC4wNjR6bTAtMTE2LjIyNGMxNS4zNiAwIDI4LjE2IDEyLjI4OCAyOC4xNiAyOC4xNnMtMTIuMjg4IDI4LjE2LTI4LjE2IDI4LjE2LTI4LjE2LTEyLjI4OC0yOC4xNi0yOC4xNiAxMi4yODgtMjguMTYgMjguMTYtMjguMTZ6IiBmaWxsPSIjZTZlNmU2Ii8+PHBhdGggZD0iTTg4Ny4yOTYgMTU5Ljc0NEgxMzYuNzA0Qzk2Ljc2OCAxNTkuNzQ0IDY0IDE5MiA2NCAyMzIuNDQ4djU1OS4xMDRjMCAzOS45MzYgMzIuMjU2IDcyLjcwNCA3Mi43MDQgNzIuNzA0aDE5OC4xNDRMNTAwLjIyNCA2ODguNjRsLTM2LjM1Mi0yMjIuNzIgMTYyLjMwNC0xMzAuNTYtNjEuNDQgMTQzLjg3MiA5Mi42NzIgMjE0LjAxNi0xMDUuNDcyIDE3MS4wMDhoMzM1LjM2QzkyNy4yMzIgODY0LjI1NiA5NjAgODMyIDk2MCA3OTEuNTUyVjIzMi40NDhjMC0zOS45MzYtMzIuMjU2LTcyLjcwNC03Mi43MDQtNzIuNzA0em0tMTM4Ljc1MiA3MS42OHYuNTEySDg1Ny42YzE2LjM4NCAwIDMwLjIwOCAxMy4zMTIgMzAuMjA4IDMwLjIwOHYzOTkuODcyTDY3My4yOCA0MDguMDY0bDc1LjI2NC0xNzYuNjR6TTMwNC42NCA3OTIuMDY0SDE2NS44ODhjLTE2LjM4NCAwLTMwLjIwOC0xMy4zMTItMzAuMjA4LTMwLjIwOHYtOS43MjhsMTM4Ljc1Mi0xNjQuMzUyIDEwNC45NiAxMjQuNDE2LTc0Ljc1MiA3OS44NzJ6bTgxLjkyLTM1NS44NGwzNy4zNzYgMjI4Ljg2NC0uNTEyLjUxMi0xNDIuODQ4LTE2OS45ODRjLTMuMDcyLTMuNTg0LTkuMjE2LTMuNTg0LTEyLjI4OCAwTDEzNS42OCA2NTIuOFYyNjIuMTQ0YzAtMTYuMzg0IDEzLjMxMi0zMC4yMDggMzAuMjA4LTMwLjIwOGg0NzQuNjI0TDM4Ni41NiA0MzYuMjI0em01MDEuMjQ4IDMyNS42MzJjMCAxNi44OTYtMTMuMzEyIDMwLjIwOC0yOS42OTYgMzAuMjA4SDY4MC45Nmw1Ny4zNDQtOTMuMTg0LTg3LjU1Mi0yMDIuMjQgNy4xNjgtNy42OCAyMjkuODg4IDI3Mi44OTZ6IiBmaWxsPSIjZTZlNmU2Ii8+PC9zdmc+",this.makeDirty(!0))}),this._init()}get srcRect(){return this._props.srcRect}get prstGeom(){return this._props.prstGeom}get opacity(){var e;return null==(e=this._props.opacity)?1:e}setOpacity(e){this._props.opacity=e,this.makeDirty(!0)}get classType(){return LV.IMAGE}transformByStateCloseCropper(e){this._transformCalculateSrcRect=!1,this.transformByState(e),this._transformCalculateSrcRect=!0}changeSource(e){null==this._native&&(this._native=document.createElement("img")),this._native.src=e,this._native.onload=()=>{this.makeDirty(!0)}}resetSize(){null!=this._native&&(this.transformByState({width:this._native.width,height:this._native.height}),this.setSrcRect(null))}setPrstGeom(e){this._props.prstGeom=e}setSrcRect(e){this._props.srcRect=e,this.makeDirty(!0)}getProps(){return this._props}getNative(){return this._native}getNativeSize(){return null==this._native?{width:this.width,height:this.height}:{width:this._native.width,height:this._native.height}}closeRenderByCropper(){this._renderByCropper=!1}openRenderByCropper(){this._renderByCropper=!0,this._transformBySrcRect()}calculateTransformWithSrcRect(){let{left:e,top:t,width:r,height:n}=this;if(null==this.srcRect)return{left:e,top:t,width:r,height:n,angle:this.angle};let{left:i=0,top:a=0,right:o=0,bottom:s=0}=this.srcRect;return{left:e-i,top:t-a,width:r+o+i,height:n+s+a,angle:this.angle}}_transformBySrcRect(){if(null==this.srcRect)return;let{left:e=0,top:t=0,right:r=0,bottom:n=0}=this.srcRect,{width:i,height:a}=this,{left:o,top:s,width:l,height:u}=this.calculateTransformWithSrcRect();if(0!==this.angle){let r=(i+this.strokeWidth)/2,n=(a+this.strokeWidth)/2,c=l/2-e,d=u/2-t,h=DF(new TF(r,n),this.angle,new TF(o,s),new TF(c,d));o=h.x,s=h.y}this.transformByState({left:o,top:s,width:l,height:u})}render(e,t){if(!this.visible)return this.makeDirty(!1),this;if(!this.transform)return this;let{width:r,height:n,left:i,top:a}=this,o=this.getRealBound();if(r=o.width,n=o.height,i=o.left,a=o.top,this.isRender(t)){let{top:e,left:o,bottom:s,right:l}=t.viewBound;if(r+this.strokeWidth+i{this._updateSrcRectByTransform(e)})}_updateSrcRectByTransform(e){if(null==this.srcRect||!this._transformCalculateSrcRect)return;let{width:t,height:r,left:n,top:i,angle:a}=this,{width:o=0,height:s=0,left:l=0,top:u=0,angle:c}=e.preValue,{left:d=0,top:h=0,right:m=0,bottom:f=0}=this.srcRect,g=d,p=h,v=m,b=f,C=!1;0!==o&&o!==t&&(g=t*(d/o),v=t*(m/o),C=!0),0!==s&&s!==r&&(p=r*(h/s),b=r*(f/s),C=!0),C&&this.setSrcRect({left:g,top:p,right:v,bottom:b})}set transform(e){this._transform=e}get transform(){this._transform||this._setTransForm();let e=this._transform.clone();return this.transformForAngle(e)}isHit(e){let{left:t,top:r,width:n,height:i}=this.getRealBound(),a=t+n/2,o=r+i/2,s=this.transform.getMatrix(),l=new ej([s[0],s[1],s[2],s[3],a,o]),u=this.getParent(),c=(this.isInGroup&&(null==u?void 0:u.classType)===LV.GROUP?u.ancestorTransform.multiply(l):l).invert().applyPoint(e),d=n/2,h=i/2;return c.x>=-d-this.strokeWidth/2&&c.x<=d+this.strokeWidth/2&&c.y>=-h-this.strokeWidth/2&&c.y<=h+this.strokeWidth/2}};const iX=["dataArray"];var aX=class e extends oH{constructor(t,r){super(t,r),yF(this,"_dataArray",[]),yF(this,"_pathLength",0),yF(this,"_selfRectCache",{left:0,top:0,width:0,height:0}),yF(this,"_reCalculateCache",!0),null!=r&&r.data?this._dataArray=e.parsePathData(r.data):null!=r&&r.dataArray&&(this._dataArray=r.dataArray);for(let e=0;e{let{type:t,preValue:r}=e;if(t===zF.resize||t===zF.all){this._reCalculateCache=!0;let e,t,{left:n,top:i,width:a,height:o}=this._getSelfRect(),{width:s,height:l}=r;e=s?this.width-s:0,t=l?this.height-l:0;let u=e/a,c=t/o;this.scaleX+=u,this.scaleY+=c,this.left-=n*u,this.top-=i*c,this._setTransForm()}})}get dataArray(){return this._dataArray}static drawWith(e,t){let r=t.dataArray;if(r){e.beginPath();for(let t=0;ta?n:a,d=n>a?1:n/a,h=n>a?a/n:1;e.translate(t,r),e.rotate(l),e.scale(d,h),e.arc(0,0,c,o,o+s,!!(1-u)),e.scale(1/d,1/h),e.rotate(-l),e.translate(-t,-r);break}case"z":e.closePath()}}this._renderPaintInOrder(e,t)}}static getLineLength(e,t,r,n){return Math.sqrt((r-e)*(r-e)+(n-t)*(n-t))}static getPointOnLine(e,t,r,n,i,a,o){void 0===a&&(a=t),void 0===o&&(o=r);let s=(i-r)/(n-t+1e-8),l=Math.sqrt(e*e/(1+s*s));n0&&!isNaN(c[0]);){let e,t,n,i,o,u,d,h,m,f,g,p=[],v=s,b=l;switch(r){case"l":s+=c.shift()||0,l+=c.shift()||0,e="L",p.push(s,l);break;case"L":s=c.shift()||0,l=c.shift()||0,p.push(s,l);break;case"m":{let t=c.shift()||0,n=c.shift()||0;if(s+=t,l+=n,e="M",a.length>2&&"z"===a[a.length-1].command)for(let e=a.length-2;e>=0;e--)if("M"===a[e].command){s=a[e].points[0]+t,l=a[e].points[1]+n;break}p.push(s,l),r="l";break}case"M":s=c.shift()||0,l=c.shift()||0,e="M",p.push(s,l),r="L";break;case"h":s+=c.shift()||0,e="L",p.push(s,l);break;case"H":s=c.shift()||0,e="L",p.push(s,l);break;case"v":l+=c.shift()||0,e="L",p.push(s,l);break;case"V":l=c.shift()||0,e="L",p.push(s,l);break;case"C":p.push(c.shift()||0,c.shift()||0,c.shift()||0,c.shift()||0),s=c.shift()||0,l=c.shift()||0,p.push(s,l);break;case"c":p.push(s+(c.shift()||0),l+(c.shift()||0),s+(c.shift()||0),l+(c.shift()||0)),s+=c.shift()||0,l+=c.shift()||0,e="C",p.push(s,l);break;case"S":n=s,i=l,t=a[a.length-1],"C"===t.command&&(n=s+(s-t.points[2]),i=l+(l-t.points[3])),p.push(n,i,c.shift()||0,c.shift()||0),s=c.shift()||0,l=c.shift()||0,e="C",p.push(s,l);break;case"s":n=s,i=l,t=a[a.length-1],"C"===t.command&&(n=s+(s-t.points[2]),i=l+(l-t.points[3])),p.push(n,i,s+(c.shift()||0),l+(c.shift()||0)),s+=c.shift()||0,l+=c.shift()||0,e="C",p.push(s,l);break;case"Q":p.push(c.shift()||0,c.shift()||0),s=c.shift()||0,l=c.shift()||0,p.push(s,l);break;case"q":p.push(s+(c.shift()||0),l+(c.shift()||0)),s+=c.shift()||0,l+=c.shift()||0,e="Q",p.push(s,l);break;case"T":n=s,i=l,t=a[a.length-1],"Q"===t.command&&(n=s+(s-t.points[0]),i=l+(l-t.points[1])),s=c.shift()||0,l=c.shift()||0,e="Q",p.push(n,i,s,l);break;case"t":n=s,i=l,t=a[a.length-1],"Q"===t.command&&(n=s+(s-t.points[0]),i=l+(l-t.points[1])),s+=c.shift()||0,l+=c.shift()||0,e="Q",p.push(n,i,s,l);break;case"A":o=c.shift()||0,u=c.shift()||0,d=c.shift()||0,h=c.shift()||0,m=c.shift()||0,f=s,g=l,s=c.shift()||0,l=c.shift()||0,e="A",p=this.convertEndpointToCenterParameterization(f,g,s,l,h,m,o,u,d);break;case"a":o=c.shift()||0,u=c.shift()||0,d=c.shift()||0,h=c.shift()||0,m=c.shift()||0,f=s,g=l,s+=c.shift()||0,l+=c.shift()||0,e="A",p=this.convertEndpointToCenterParameterization(f,g,s,l,h,m,o,u,d)}a.push({command:e||r,points:p,start:{x:v,y:b},pathLength:this.calcLength(v,b,e||r,p)})}("z"===r||"Z"===r)&&a.push({command:"z",points:[],start:{x:0,y:0},pathLength:0})}return a}static calcLength(t,r,n,i){let a,o,s,l,u=e;switch(n){case"L":return u.getLineLength(t,r,i[0],i[1]);case"C":for(a=0,o=u.getPointOnCubicBezier(0,t,r,i[0],i[1],i[2],i[3],i[4],i[5]),l=.01;l<=1;l+=.01)s=u.getPointOnCubicBezier(l,t,r,i[0],i[1],i[2],i[3],i[4],i[5]),a+=u.getLineLength(o.x,o.y,s.x,s.y),o=s;return a;case"Q":for(a=0,o=u.getPointOnQuadraticBezier(0,t,r,i[0],i[1],i[2],i[3]),l=.01;l<=1;l+=.01)s=u.getPointOnQuadraticBezier(l,t,r,i[0],i[1],i[2],i[3]),a+=u.getLineLength(o.x,o.y,s.x,s.y),o=s;return a;case"A":{a=0;let e=i[4],t=i[5],r=i[4]+t,n=Math.PI/180;if(Math.abs(e-r)r;l-=n)s=u.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],l,0),a+=u.getLineLength(o.x,o.y,s.x,s.y),o=s;else for(l=e+n;l1&&(o*=Math.sqrt(h),s*=Math.sqrt(h));let m=Math.sqrt((o*o*(s*s)-o*o*(d*d)-s*s*(c*c))/(o*o*(d*d)+s*s*(c*c)));i===a&&(m*=-1),isNaN(m)&&(m=0);let f=m*o*d/s,g=m*-s*c/o,p=(e+r)/2+Math.cos(u)*f-Math.sin(u)*g,v=(t+n)/2+Math.sin(u)*f+Math.cos(u)*g,b=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),C=(e,t)=>(e[0]*t[0]+e[1]*t[1])/(b(e)*b(t)),y=(e,t)=>(e[0]*t[1]=1&&(S=0),0===a&&S>0&&(S-=2*Math.PI),1===a&&S<0&&(S+=2*Math.PI),[p,v,o,s,_,S,u,a]}toJson(){let e={};return iX.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}getState(){let{left:e,top:t,width:r,height:n}=this.getRect();return{left:e,top:t,width:r,height:n,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY}}getRect(){let{left:e,top:t,width:r,height:n}=this._getSelfRect();return{left:e*this.scaleX+this.left,top:t*this.scaleY+this.top,width:r*this.scaleX,height:n*this.scaleY}}getLength(){return this._pathLength}getPointAtLength(t){let r,n=0,i=this.dataArray.length;if(!i)return null;for(;nthis.dataArray[n].pathLength;)t-=this.dataArray[n].pathLength,++n;if(n===i)return r=this.dataArray[n-1].points.slice(-2),{x:r[0],y:r[1]};if(t<.01)return r=this.dataArray[n].points.slice(0,2),{x:r[0],y:r[1]};let a=this.dataArray[n],o=a.points;switch(a.command){case"L":return e.getPointOnLine(t,a.start.x,a.start.y,o[0],o[1]);case"C":return e.getPointOnCubicBezier(t/a.pathLength,a.start.x,a.start.y,o[0],o[1],o[2],o[3],o[4],o[5]);case"Q":return e.getPointOnQuadraticBezier(t/a.pathLength,a.start.x,a.start.y,o[0],o[1],o[2],o[3]);case"A":{let r=o[0],n=o[1],i=o[2],s=o[3],l=o[4],u=o[5],c=o[6];return l+=u*t/a.pathLength,e.getPointOnEllipticalArc(r,n,i,s,l,c)}}return null}_draw(t){e.drawWith(t,this)}_setFixBoundingBox(){let{left:e,top:t,width:r,height:n}=this._getSelfRect(),i=this.width/r,a=this.height/n;this.left-=e*i,this.top-=t*a,this.scaleX=i,this.scaleY=a,this.width=r,this.height=n,this._setTransForm()}_getSelfRect(){if(!this._reCalculateCache)return this._selfRectCache;let t=[];this.dataArray.forEach(r=>{if("A"===r.command){let n=r.points[4],i=r.points[5],a=r.points[4]+i,o=Math.PI/180;if(Math.abs(n-a)a;i-=o){let n=e.getPointOnEllipticalArc(r.points[0],r.points[1],r.points[2],r.points[3],i,0);t.push(n.x,n.y)}else for(let i=n+o;i{let{type:t,value:r,preValue:n}=e;(t===zF.resize||t===zF.all)&&this.resizePolygon(n)})}get pointsGroup(){return this._pointsGroup}static drawWith(e,t){var r;let{pointsGroup:n}=t;n=null==(r=n)?[[]]:r,t.strokeDashArray&&e.setLineDash(t.strokeDashArray),e.beginPath();for(let t of n){e.moveTo(t[0].x,t[0].y);for(let r=1;r=-this.strokeWidth/2&&t.x<=this.width+this.strokeWidth/2&&t.y>=-this.strokeWidth/2&&t.y<=this.height+this.strokeWidth/2&&this._contains(t))}_contains(e){let t=!1;for(let r of this._pointsGroup){let n=0,i=r.length;for(let t=0;te.y!=o.y>e.y){let t=a.x+(e.y-a.y)*(o.x-a.x)/(o.y-a.y);e.x=Math.min(t.x,r.x)&&e.x<=Math.max(t.x,r.x)&&e.y>=Math.min(t.y,r.y)&&e.y<=Math.max(t.y,r.y)}updatePointGroup(e){this._pointsGroup=e,this._setFixBoundingBox()}resizePolygon(e){let t,r,{left:n,top:i,width:a,height:o}=this._getSelfRect(),{width:s,height:l}=e;t=s?this.width-s:0,r=l?this.height-l:0;let u=t/a,c=r/o;this.scaleX+=u,this.scaleY+=c,this.left-=n*u,this.top-=i*c,this._setTransForm()}toJson(){let e={};return oX.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}getState(){let{left:e,top:t,width:r,height:n}=this.getRect();return{left:e,top:t,width:r,height:n,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY}}getRect(){let{left:e,top:t,width:r,height:n}=this._getSelfRect();return{left:e*this.scaleX+this.left,top:t*this.scaleY+this.top,width:r*this.scaleX,height:n*this.scaleY}}_draw(t){e.drawWith(t,this)}_setFixBoundingBox(){let{width:e,height:t,left:r,top:n}=this._getSelfRect();this.left+=r,this.top+=n,this.width=e,this.height=t;let i=this.pointsGroup;for(let e of i)for(let t of e)t.x-=r,t.y-=n;this._setTransForm()}_getSelfRect(){let e=this.pointsGroup,t=e[0][0].x,r=e[0][0].x,n=e[0][0].y,i=e[0][0].y;for(let a of e)for(let e of a)t=Math.min(t,e.x),r=Math.max(r,e.x),n=Math.min(n,e.y),i=Math.max(i,e.y);return{left:t,top:n,width:r-t,height:i-n}}},lX=class e extends tu{constructor(e,t){super(),yF(this,"_enableHorizontal",!0),yF(this,"_enableVertical",!0),yF(this,"horizontalThumbSize",0),yF(this,"horizontalMinusMiniThumb",0),yF(this,"horizontalTrackWidth",0),yF(this,"horizonScrollTrack",void 0),yF(this,"horizonThumbRect",void 0),yF(this,"verticalThumbSize",0),yF(this,"verticalTrackHeight",0),yF(this,"verticalMinusMiniThumb",0),yF(this,"verticalScrollTrack",void 0),yF(this,"verticalThumbRect",void 0),yF(this,"placeholderBarRect",void 0),yF(this,"_viewport",void 0),yF(this,"_mainScene",void 0),yF(this,"_lastX",-1),yF(this,"_lastY",-1),yF(this,"_isHorizonMove",!1),yF(this,"_isVerticalMove",!1),yF(this,"_horizonPointerMoveSub",void 0),yF(this,"_horizonPointerUpSub",void 0),yF(this,"_verticalPointerMoveSub",void 0),yF(this,"_verticalPointerUpSub",void 0),yF(this,"_thumbDefaultBackgroundColor","rgba(24, 28, 42, 0.20)"),yF(this,"_thumbHoverBackgroundColor","rgba(24, 28, 42, 0.30)"),yF(this,"_thumbActiveBackgroundColor","rgba(24, 28, 42, 0.40)"),yF(this,"_trackBackgroundColor","rgba(255,255,255,0.5)"),yF(this,"_trackBorderColor","rgba(255,255,255,0.7)"),yF(this,"_trackThickness",10),yF(this,"_vThumbMargin",2),yF(this,"_hThumbMargin",2),yF(this,"_trackBorderThickness",1),yF(this,"_thumbLengthRatio",1),yF(this,"_minThumbSizeH",17),yF(this,"_minThumbSizeV",17),yF(this,"_eventSub",new tn),yF(this,"_viewportH",0),yF(this,"_viewportW",0),yF(this,"_contentW",0),yF(this,"_contentH",0),e||console.warn("Missing viewport"),this.setProps(t),this._viewport=e,this._initialScrollRect(),this._initialVerticalEvent(),this._initialHorizontalEvent(),this._viewport.setScrollBar(this)}setProps(e){if(!e)return;let t=Object.keys(e);0!==t.length&&(t.forEach(t=>{void 0!==e[t]&&(this[`_${t}`]=e[t])}),uu.isDefine(e.thumbBackgroundColor)&&(this._thumbDefaultBackgroundColor=e.thumbBackgroundColor),uu.isDefine(e.barSize)&&(this._trackThickness=e.barSize),uu.isDefine(e.barBorder)&&(this._trackBorderThickness=e.barBorder),uu.isDefine(e.thumbMargin)&&(this._hThumbMargin=e.thumbMargin,this._vThumbMargin=e.thumbMargin))}get enableHorizontal(){return this._enableHorizontal}set enableHorizontal(e){this._enableHorizontal=e}get enableVertical(){return this._enableVertical}set enableVertical(e){this._enableVertical=e}get limitX(){var e;return null!=(e=this.horizonThumbRect)&&e.visible?this.horizontalTrackWidth-this.horizontalThumbSize:0}get limitY(){var e;return null!=(e=this.verticalThumbRect)&&e.visible?this.verticalTrackHeight-this.verticalThumbSize:0}get ratioScrollX(){if(!1===this._enableHorizontal||void 0===this.horizontalThumbSize||void 0===this.horizontalTrackWidth)return 1;let e=(this.horizontalThumbSize-this.horizontalMinusMiniThumb)*this.miniThumbRatioX/this.horizontalTrackWidth;return Number.isNaN(e)?1:e}get ratioScrollY(){if(!1===this._enableVertical||void 0===this.verticalThumbSize||void 0===this.verticalTrackHeight)return 1;let e=(this.verticalThumbSize-this.verticalMinusMiniThumb)*this.miniThumbRatioY/this.verticalTrackHeight;return Number.isNaN(e)?1:e}get miniThumbRatioX(){let e=this.horizontalTrackWidth-this.horizontalThumbSize;if(0===e)return 0;let t=this.horizontalTrackWidth-(this.horizontalThumbSize-this.horizontalMinusMiniThumb);return 0===t?0:e/t}get miniThumbRatioY(){let e=this.verticalTrackHeight-this.verticalThumbSize;if(0===e)return 0;let t=this.verticalTrackHeight-(this.verticalThumbSize-this.verticalMinusMiniThumb);return 0===t?0:e/t}hasHorizonThumb(){var e;return(null==(e=this.horizonThumbRect)?void 0:e.visible)||!1}hasVerticalThumb(){var e;return(null==(e=this.verticalThumbRect)?void 0:e.visible)||!1}get scrollHorizonThumbThickness(){return Math.max(0,this._trackThickness-2*this._hThumbMargin)}get scrollVerticalThumbThickness(){return Math.max(0,this._trackThickness-2*this._vThumbMargin)}set barSize(e){this._trackThickness=e}get barSize(){return this._trackThickness}set trackThickness(e){this._trackThickness=e}get trackThickness(){return this._trackThickness}get totalSize(){return this._trackThickness+this._trackBorderThickness}static attachTo(t,r){return new e(t,r)}dispose(){var e,t,r,n,i,a,o,s,l;super.dispose(),null==(e=this.horizonScrollTrack)||e.dispose(),null==(t=this.horizonThumbRect)||t.dispose(),null==(r=this.verticalScrollTrack)||r.dispose(),null==(n=this.verticalThumbRect)||n.dispose(),null==(i=this.placeholderBarRect)||i.dispose(),this.horizonScrollTrack=null,this.horizonThumbRect=null,this.verticalScrollTrack=null,this.verticalThumbRect=null,this.placeholderBarRect=null,null==(a=this._horizonPointerMoveSub)||a.unsubscribe(),null==(o=this._horizonPointerUpSub)||o.unsubscribe(),null==(s=this._verticalPointerMoveSub)||s.unsubscribe(),null==(l=this._verticalPointerUpSub)||l.unsubscribe(),this._eventSub.unsubscribe(),this._mainScene=null,this._viewport.removeScrollBar()}render(e,t=0,r=0){let{scrollX:n,scrollY:i}=this._viewport;e.save();let a=new ej([1,0,0,1,t,r]).getMatrix();e.transform(a[0],a[1],a[2],a[3],a[4],a[5]),this._enableHorizontal&&(this.horizonScrollTrack.render(e),this.horizonThumbRect.translate(n).render(e)),this._enableVertical&&(this.verticalScrollTrack.render(e),this.verticalThumbRect.translate(void 0,i).render(e)),this._enableHorizontal&&this._enableVertical&&this.placeholderBarRect.render(e),e.restore()}_resizeHorizontal(){var e;let t=this._viewportH,r=this._viewportW,n=this._contentW;if(this._enableHorizontal)if(this.horizontalMinusMiniThumb=0,this.horizontalTrackWidth=r-(this._enableVertical?this._trackThickness:0)-this._trackBorderThickness,this.horizontalThumbSize=this.horizontalTrackWidth*(this.horizontalTrackWidth-this._trackBorderThickness)/n*this._thumbLengthRatio,this.horizontalThumbSize=r-(this._trackThickness+2)){var i;null==(i=this.horizonThumbRect)||i.setProps({visible:!1})}else{var a,o,s;null!=(a=this.horizonThumbRect)&&a.visible||null==(s=this.horizonThumbRect)||s.setProps({visible:!0}),null==(o=this.horizonThumbRect)||o.transformByState({left:this._viewport.scrollX,top:t-this._trackThickness+this._hThumbMargin,width:this.horizontalThumbSize,height:this.scrollHorizonThumbThickness})}}_resizeVertical(){var e;let t=this._viewportH,r=this._viewportW,n=this._contentH;if(this._enableVertical)if(this.verticalMinusMiniThumb=0,this.verticalTrackHeight=t-(this._enableHorizontal?this._trackThickness:0)-this._trackBorderThickness,this.verticalThumbSize=this.verticalTrackHeight*this.verticalTrackHeight/n*this._thumbLengthRatio,this.verticalThumbSize=t-this._trackThickness){var i;null==(i=this.verticalThumbRect)||i.setProps({visible:!1})}else{var a,o,s;null!=(a=this.verticalThumbRect)&&a.visible||null==(s=this.verticalThumbRect)||s.setProps({visible:!0}),null==(o=this.verticalThumbRect)||o.transformByState({left:r-this._trackThickness+this._vThumbMargin,top:this._viewport.scrollY,width:this.scrollVerticalThumbThickness,height:this.verticalThumbSize})}}_resizeRightBottomCorner(){let e=this._viewportH,t=this._viewportW;var r;this._enableHorizontal&&this._enableVertical&&(null==(r=this.placeholderBarRect)||r.transformByState({left:t-this._trackThickness,top:e-this._trackThickness,width:Math.max(0,this._trackThickness-this._trackBorderThickness),height:Math.max(0,this._trackThickness-this._trackBorderThickness)}))}resize(e=0,t=0,r=0,n=0){0===e&&0===e||(this._viewportH=t,this._viewportW=e,this._contentW=r,this._contentH=n,this._resizeHorizontal(),this._resizeVertical(),this._resizeRightBottomCorner())}makeDirty(e){var t,r,n,i,a;null==(t=this.horizonScrollTrack)||t.makeDirty(e),null==(r=this.horizonThumbRect)||r.makeDirty(e),null==(n=this.verticalScrollTrack)||n.makeDirty(e),null==(i=this.verticalThumbRect)||i.makeDirty(e),null==(a=this.placeholderBarRect)||a.makeDirty(e),this.makeViewDirty(e)}makeViewDirty(e){(this._mainScene||this._viewport.scene).makeDirty(e)}pick(e){var t,r,n,i;return null!=(t=this.horizonThumbRect)&&t.isHit(e)?this.horizonThumbRect:null!=(r=this.verticalThumbRect)&&r.isHit(e)?this.verticalThumbRect:null!=(n=this.horizonScrollTrack)&&n.isHit(e)?this.horizonScrollTrack:null!=(i=this.verticalScrollTrack)&&i.isHit(e)?this.verticalScrollTrack:null}_initialScrollRect(){this._enableHorizontal&&(this.horizonScrollTrack=new tX("__horizonBarRect__",{fill:this._trackBackgroundColor,strokeWidth:this._trackBorderThickness,stroke:this._trackBorderColor}),this.horizonThumbRect=new tX("__horizonThumbRect__",{radius:6,fill:this._thumbDefaultBackgroundColor})),this._enableVertical&&(this.verticalScrollTrack=new tX("__verticalBarRect__",{fill:this._trackBackgroundColor,strokeWidth:this._trackBorderThickness,stroke:this._trackBorderColor}),this.verticalThumbRect=new tX("__verticalThumbRect__",{radius:6,fill:this._thumbDefaultBackgroundColor})),this._enableHorizontal&&this._enableVertical&&(this.placeholderBarRect=new tX("__placeholderBarRect__",{fill:this._trackBackgroundColor,strokeWidth:this._trackBorderThickness,stroke:this._trackBorderColor}))}_initialVerticalEvent(){if(!this._enableVertical)return;let e=this._mainScene||this._viewport.scene;this.verticalThumbRect&&this._eventSub.add(this.verticalThumbRect.onPointerEnter$.subscribeEvent((e,t)=>{this._verticalHoverFunc(this._thumbHoverBackgroundColor,e,t)})),this.verticalThumbRect&&this._eventSub.add(this.verticalThumbRect.onPointerLeave$.subscribeEvent((e,t)=>{this._verticalHoverLeaveFunc(this._thumbDefaultBackgroundColor,e,t)})),this.verticalScrollTrack&&this._eventSub.add(this.verticalScrollTrack.onPointerDown$.subscribeEvent((e,t)=>{let r=e;this._viewport.scrollToBarPos({y:r.offsetY-this._viewport.top-this.verticalThumbSize/2}),t.stopPropagation()})),this.verticalThumbRect&&this._eventSub.add(this.verticalThumbRect.onPointerDown$.subscribeEvent((t,r)=>{let n=t,i=this.verticalThumbRect;this._isVerticalMove=!0,this._lastX=n.offsetX,this._lastY=n.offsetY,null==i||i.setProps({fill:this._thumbActiveBackgroundColor}),e.setCaptureObject(this.verticalThumbRect),e.disableObjectsEvent(),this.makeViewDirty(!0),r.stopPropagation()})),this._verticalPointerMoveSub=e.onPointerMove$.subscribeEvent((t,r)=>{var n;let i=t;this._isVerticalMove&&(this._viewport.scrollByBarDeltaValue({y:i.offsetY-this._lastY}),this._lastY=i.offsetY,null==(n=e.getEngine())||n.setCapture())}),this._verticalPointerUpSub=e.onPointerUp$.subscribeEvent((t,r)=>{let n=this.verticalThumbRect;this._isVerticalMove=!1,e.releaseCapturedObject(),e.enableObjectsEvent(),null==n||n.setProps({fill:this._thumbHoverBackgroundColor}),this.makeViewDirty(!0)})}_horizonHoverFunc(e,t,r){this._hThumbMargin=1,this._resizeHorizontal(),this._resizeRightBottomCorner(),this._hoverFunc(e,this.horizonThumbRect)(t,r)}_horizonHoverLeaveFunc(e,t,r){this._hThumbMargin=2,this._resizeHorizontal(),this._resizeRightBottomCorner(),this._hoverFunc(e,this.horizonThumbRect)(t,r)}_verticalHoverFunc(e,t,r){this._vThumbMargin=1,this._resizeVertical(),this._resizeRightBottomCorner(),this._hoverFunc(e,this.verticalThumbRect)(t,r)}_verticalHoverLeaveFunc(e,t,r){this._vThumbMargin=2,this._resizeVertical(),this._resizeRightBottomCorner(),this._hoverFunc(e,this.verticalThumbRect)(t,r)}_hoverFunc(e,t){return(r,n)=>{t.setProps({fill:e}),this._resizeHorizontal(),this.makeViewDirty(!0)}}_initialHorizontalEvent(){if(!this._enableHorizontal)return;let e=this._mainScene||this._viewport.scene;this.horizonThumbRect&&this._eventSub.add(this.horizonThumbRect.onPointerEnter$.subscribeEvent((e,t)=>{this._horizonHoverFunc(this._thumbHoverBackgroundColor,e,t)})),this.horizonThumbRect&&this._eventSub.add(this.horizonThumbRect.onPointerLeave$.subscribeEvent((e,t)=>{this._horizonHoverLeaveFunc(this._thumbDefaultBackgroundColor,e,t)})),this.horizonScrollTrack&&this._eventSub.add(this.horizonScrollTrack.onPointerDown$.subscribeEvent((e,t)=>{let r=e;this._viewport.scrollToBarPos({x:r.offsetX-this._viewport.left-this.horizontalThumbSize/2}),t.stopPropagation()})),this.horizonThumbRect&&this._eventSub.add(this.horizonThumbRect.onPointerDown$.subscribeEvent((t,r)=>{var n;let i=t;this._isHorizonMove=!0,this._lastX=i.offsetX,this._lastY=i.offsetY,null==(n=this.horizonThumbRect)||n.setProps({fill:this._thumbActiveBackgroundColor}),this.makeViewDirty(!0),e.setCaptureObject(this.horizonThumbRect),e.disableObjectsEvent(),r.stopPropagation()})),this._horizonPointerMoveSub=e.onPointerMove$.subscribeEvent((t,r)=>{var n;let i=t;this._isHorizonMove&&(this._viewport.scrollByBarDeltaValue({x:i.offsetX-this._lastX}),this._lastX=i.offsetX,null==(n=e.getEngine())||n.setCapture())}),this._horizonPointerUpSub=e.onPointerUp$.subscribeEvent((t,r)=>{var n;this._isHorizonMove=!1,e.releaseCapturedObject(),e.enableObjectsEvent(),null==(n=this.horizonThumbRect)||n.setProps({fill:this._thumbHoverBackgroundColor}),this.makeViewDirty(!0)})}};fj.add(new class extends Kz{constructor(){super(),yF(this,"uKey","DefaultDocsFontAndBaseLineExtension"),yF(this,"Z_INDEX",20),yF(this,"_preFontColor",""),yF(this,"actualFontMap",{})}draw(e,t,r,n,i){var a;if(null==(a=r.parent)||!a.parent)return;let{ts:o,content:s,fontStyle:l,bBox:u}=r,{spanPointWithFont:c=TF.create(0,0)}=this.extensionOffset;if(null==s)return;if(!o)return void this._fillText(e,r,c);let d=(null==l?void 0:l.fontString)||"";d&&e.font!==this.actualFontMap[d]&&(e.font=d,this.actualFontMap[d]=e.font);let{cl:h,va:m}=o,f=Ud(h)||"rgb(0,0,0)";f&&this._preFontColor!==f&&(e.fillStyle=f),m===Bu.SUPERSCRIPT?c.y+=-u.spo:m===Bu.SUBSCRIPT&&(c.y+=u.sbo),this._fillText(e,r,c)}_fillText(e,t,r){let{renderConfig:n,spanStartPoint:i,centerPoint:a}=this.extensionOffset,{content:o,width:s,bBox:l}=t,{aba:u,abd:c}=l;if(null==o||null==i||null==a)return;let{vertexAngle:d,centerAngle:h}=null==n?{}:n;if(90!==d||90!==h||tF(o))if("☐"!==o&&"☑"!==o||t.glyphType!==IF.LIST)e.fillText(o,r.x,r.y);else{var m,f;let n=Math.ceil(1.2*(null==(m=null==(f=t.ts)?void 0:f.fs)?12:m));e.save();let i=t.bBox.aba-t.bBox.abd,a=r.y,s=a-i,l=s+(a-s-n)/2,u=r.x;e.translate(u-.5,l-.5),Jz.drawWith(e,{width:n,height:n,checked:"☑"===o}),e.restore()}else e.save(),e.translate(i.x+a.x,i.y+a.y),e.rotate(Math.PI/2),e.translate(-s/2,(u+c)/2-c),e.fillText(o,0,0),e.restore()}clearCache(){this._preFontColor=""}}),fj.add(new class extends Kz{constructor(...e){super(...e),yF(this,"uKey","DefaultDocsLineExtension"),yF(this,"Z_INDEX",40),yF(this,"_preBackgroundColor","")}draw(e,t,r){var n;let i=null==(n=r.parent)?void 0:n.parent,{ts:a,bBox:o,content:s}=r;if(null==i||null==a||"\r"===s)return;let{asc:l,dsc:u}=i,{sp:c,spo:d,sbo:h,bd:m}=o,f=fF(t),{ul:g,st:p,ol:v,va:b,bbl:C}=a;if(g){let t=l+u;this._drawLine(e,r,g,t,f)}if(C){let t=l+u+3;this._drawLine(e,r,C,t,f,2)}if(p){let t=l+m-c-.5;b===Bu.SUPERSCRIPT?t-=d:b===Bu.SUBSCRIPT&&(t+=h),this._drawLine(e,r,p,t,f)}v&&this._drawLine(e,r,v,-1.5,f)}clearCache(){this._preBackgroundColor=""}_drawLine(e,t,r,n,i,a=1){var o;let{s,cl:l,t:u,c=Vu.TRUE}=r;if(s!==Vu.TRUE)return;null==c&&(c=Vu.TRUE);let{originTranslate:d=TF.create(0,0),alignOffset:h=TF.create(0,0),renderConfig:m={}}=this.extensionOffset,{left:f,width:g}=t,{centerAngle:p=0,vertexAngle:v=0}=m;e.save(),e.strokeStyle=(c===Vu.TRUE?Ud(null==(o=t.ts)?void 0:o.cl):Ud(l))||"rgb(0,0,0)",this._setLineType(e,null==u?Ou.SINGLE:u,a),n+=this._isDouble(u)?-.8:0;let b=zV(p),C=zV(v),y=kF(d.addByPoint(f,n),TF.create(0,0),b,C,h),_=kF(d.addByPoint(f+g,n),TF.create(0,0),b,C,h);e.beginPath(),e.moveTo(y.x,y.y),this._drawLineTo(e,y.x,_.x,_.y,u),this._isDouble(u)&&(e.moveTo(y.x,y.y+2),this._drawLineTo(e,y.x,_.x,_.y+2,u)),e.stroke(),e.restore()}_drawLineTo(e,t,r,n,i){if(this._isWave(i))for(let i=t;i"DefaultDocsBackgroundExtension"===e.uKey),c=l.filter(e=>e.type===Zz.SPAN&&"DefaultDocsBackgroundExtension"!==e.uKey),d=0,h=0;for(let r=0,n=i.length;r0&&this._drawTable(e,n,R,l,u,c,D,U,B,I,s);let F=null==(m=a.get(S))?void 0:m.get(E),j=TF.create(k,null==(f=null==F?void 0:F.marginTop)?0:f);F&&this._drawHeaderFooter(F,e,l,u,c,j,U,B,I,s,n,!0),this._startRotation(e,V);for(let r of p){let{columns:i}=r;this._drawLiquid.translateSection(r);for(let r of i){let{lines:i,width:a}=r;this._drawLiquid.translateSave(),this._drawLiquid.translateColumn(r);let o=i.length,d=D,h=null;if(0!==B){let{rotateTranslateXList:e,rotatedHeight:t,rotatedWidth:r,fixOffsetX:n,fixOffsetY:o,rotateTranslateY:s}=PF(i,a,B),l=r;t>this.height&&O!==Pu.WRAP&&(O===Pu.OVERFLOW||B>0)&&(l=this.height/Math.tan(Math.abs(B)));let u=this._horizontalHandler(l,C,y,T,M,N),c=this._verticalHandler(t,v,b,x)-o;t>this.height&&(c=B<0?this.height-(t+o):-o),d=TF.create(u+n,c),this._drawLiquid.translate(0,-s),h=e}else O===Pu.WRAP&&(T!==Lu.UNSPECIFIED||L!==Fu.NUMBER)&&(d.x=C);for(let r=0;r(c.pageHeight-100)/2){this._drawLiquid.translateRestore();continue}}else if(r-m+p.y+C<(c.pageHeight-100)/2+100){this._drawLiquid.translateRestore();continue}let a=g.length;for(let e=0;e0&&90!==i||-90===i||o===Fu.NUMBER?Lu.RIGHT:o===Fu.BOOLEAN?Lu.CENTER:Lu.LEFT);let s=0;return s=n===Lu.CENTER?(this.width-e)/2:n===Lu.RIGHT?this.width-e-r:t,s}_verticalHandler(e,t,r,n){let i=0;return i=n===ku.MIDDLE?(this.height-e)/2:n===ku.TOP?t:this.height-e-r,i}_startRotation(e,t){e.rotate(t||0)}_resetRotation(e,t){e.rotate(-t||0)}_initialDefaultExtension(){fj.getData().forEach(e=>{this.register(e)})}},dX=class extends gj{constructor(e,t,r=!0){super(e,t),this._allowCache=r,yF(this,"_backgroundExtension",void 0),yF(this,"_borderExtension",void 0),yF(this,"_fontExtension",void 0),yF(this,"_refreshIncrementalState",!1),yF(this,"_dirtyBounds",[]),yF(this,"_forceDisableGridlines",!1),yF(this,"_documents",new cX("__SHEET_EXTENSION_FONT_DOCUMENT_INSTANCE__",void 0,{pageMarginLeft:0,pageMarginTop:0})),yF(this,"isPrinting",!1),this._initialDefaultExtension(),this.makeDirty(!0)}get backgroundExtension(){return this._backgroundExtension}get borderExtension(){return this._borderExtension}get fontExtension(){return this._fontExtension}getDocuments(){return this._documents}get allowCache(){return this._allowCache}get forceDisableGridlines(){return this._forceDisableGridlines}dispose(){var e;super.dispose(),null==(e=this._documents)||e.dispose(),this._documents=null,this._backgroundExtension=null,this._borderExtension=null,this._fontExtension=null}draw(e,t){var r;let n=this.getSkeleton();if(!n)return;this._drawAuxiliary(e);let i=this.getParentScale(),a=this._refreshIncrementalState&&t.diffBounds?null==(r=t.diffBounds)?void 0:r.map(e=>n.getRangeByViewBound(e)):[],o=[n.getCacheRangeByViewport(t,this.isPrinting)],s=this.getExtensionsByOrder(),l=this.getScene();for(let r of s){let s=`${wj}${r.uKey}`,u=uu.now();r.draw(e,i,n,a,{viewRanges:o,checkOutOfViewBound:!0,viewportKey:t.viewportKey,viewBound:t.cacheBound,diffBounds:t.diffBounds}),this.addRenderFrameTimeMetricToScene(s,uu.now()-u,l)}}addRenderFrameTimeMetricToScene(e,t,r){var n;(r=null==(n=r)?this.getScene():n).getEngine().renderFrameTimeMetric$.next([e,t])}addRenderTagToScene(e,t,r){var n;(r=null==(n=r)?this.getScene():n).getEngine().renderFrameTags$.next([e,t])}getScene(){return super.getScene()}isHit(e){let t=this.getInverseCoord(e),r=this.getSkeleton();if(!r)return!1;let{rowHeaderWidth:n,columnHeaderHeight:i}=r;return t.x>n&&t.y>i}getNoMergeCellPositionByIndex(e,t){let r=this.getSkeleton();return r?r.getNoMergeCellWithCoordByIndex(e,t):{startX:0,startY:0,endX:0,endY:0}}getScrollXYByRelativeCoords(e){let t=0,r=0,n=this.getParent().findViewportByPosToScene(e);return n&&(t+=n.viewportScrollX||0,r+=n.viewportScrollY||0),{x:t,y:r}}isForceDirty(){return this._forceDirty}makeForceDirty(e=!0){this.makeDirty(e),this._forceDirty=e}setForceDisableGridlines(e){this._forceDisableGridlines=e}getSelectionBounding(e,t,r,n){var i;return null==(i=this.getSkeleton())?void 0:i.expandRangeByMerge({startRow:e,startColumn:t,endRow:r,endColumn:n})}makeDirty(e=!0){var t;return null==(t=this.getParent())||t.getViewports().forEach(t=>t.markDirty(e)),super.makeDirty(e),!1===e&&(this._dirtyBounds=[]),this}setDirtyArea(e){this._dirtyBounds=e}renderByViewports(e,t,r){let{diffBounds:n,diffX:i,diffY:a,viewPortPosition:o,cacheCanvas:s,leftOrigin:l,topOrigin:u,bufferEdgeX:c,bufferEdgeY:d,isDirty:h,isForceDirty:m}=t,{rowHeaderWidth:f,columnHeaderHeight:g}=r,{a:p=1,d:v=1}=e.getTransform(),b=c*p/window.devicePixelRatio,C=d*v/window.devicePixelRatio,y=s.getContext();y.save();let _=m||this.isForceDirty(),w=h||this.isDirty();0===n.length||0===i&&0===a||_||w?(w||_)&&(this.addRenderTagToScene("scrolling",!1),this.refreshCacheCanvas(t,{cacheCanvas:s,cacheCtx:y,mainCtx:e,topOrigin:u,leftOrigin:l,bufferEdgeX:c,bufferEdgeY:d})):(0!==n.length||0!==i||0!==a)&&(this.addRenderTagToScene("scrolling",!0),this.paintNewAreaForScrolling(t,{cacheCanvas:s,cacheCtx:y,mainCtx:e,topOrigin:u,leftOrigin:l,bufferEdgeX:c,bufferEdgeY:d,scaleX:p,scaleY:v,columnHeaderHeight:g,rowHeaderWidth:f}));let E=b*Math.min(1,window.devicePixelRatio),S=C*Math.min(1,window.devicePixelRatio),{left:A,top:I,right:R,bottom:x}=o,T=R-A+f,N=x-I+g;this._applyCache(s,e,E,S,T,N,A,I,T,N),y.restore()}paintNewAreaForScrolling(e,t){let{cacheCanvas:r,cacheCtx:n,mainCtx:i,topOrigin:a,leftOrigin:o,bufferEdgeX:s,bufferEdgeY:l,scaleX:u,scaleY:c,columnHeaderHeight:d,rowHeaderWidth:h}=t,{shouldCacheUpdate:m,diffCacheBounds:f,diffX:g,diffY:p}=e;n.save(),n.setTransform(1,0,0,1,0,0),n.globalCompositeOperation="copy",n.drawImage(r.getCanvasEle(),g*u,p*c),n.restore(),this._refreshIncrementalState=!0;let v=i.getTransform();if(n.setTransform(v.a,v.b,v.c,v.d,0,0),n.translateWithPrecision(v.e/v.a-o+s,v.f/v.d-a+l),m)for(let t of f){let{left:r,right:i,bottom:a,top:o}=t,s=r-h,l=o-d,u=i-r,c=a-o;n.clearRectByPrecision(s,l,u,c),n.save(),n.beginPath(),n.rectByPrecision(s,l,u,c),n.closePath(),n.clip(),this.draw(n,{...e,diffBounds:[t]}),n.restore()}this._refreshIncrementalState=!1}refreshCacheCanvas(e,t){let{cacheCanvas:r,cacheCtx:n,mainCtx:i,topOrigin:a,leftOrigin:o,bufferEdgeX:s,bufferEdgeY:l}=t;n.save(),n.setTransform(1,0,0,1,0,0),r.clear(),n.restore(),n.save();let u=i.getTransform();n.setTransform(u.a,u.b,u.c,u.d,0,0),n.translateWithPrecision(u.e/u.a-o+s,u.f/u.d-a+l),this.draw(n,e),n.restore()}render(e,t){var r;if(!this.visible)return this.makeDirty(!1),this;let n=this.getSkeleton();if(!n)return;n.setStylesCache(t);let i=n.rowColumnSegment;if(!i||-1===i.startRow&&-1===i.endRow||-1===i.startColumn&&-1===i.endColumn)return;e.save();let{rowHeaderWidth:a,columnHeaderHeight:o}=n;e.translateWithPrecision(a,o),null==(r=this.getScene())||r.updateTransformerZero(n.rowHeaderWidth,n.columnHeaderHeight);let{viewportKey:s}=t;return Cj.includes(s)?t&&t.cacheCanvas?this.renderByViewports(e,t,n):this._draw(e,t):yj.includes(s)||(t&&t.cacheCanvas?this.renderByViewports(e,t,n):this._draw(e,t)),e.restore(),this}_applyCache(e,t,r=0,n=0,i=0,a=0,o=0,s=0,l=0,u=0){if(!t)return;let c=e.getPixelRatio(),d=e.getContext();d.save(),t.save(),t.setTransform(1,0,0,1,0,0),d.setTransform(1,0,0,1,0,0),t.imageSmoothingEnabled=!1,t.drawImage(e.getCanvasEle(),r*c,n*c,i*c,a*c,o*c,s*c,l*c,u*c),t.restore(),d.restore()}_draw(e,t){this.draw(e,t)}_getAncestorSize(){let e=this._getAncestorParent();if(e){if(e.classType===LV.ENGINE){let t=e.getCanvas();return{width:t.getWidth(),height:t.getHeight()}}if(e.classType===LV.SCENE_VIEWER)return{width:e.width,height:e.height}}}_getAncestorParent(){let e=this.parent;for(;e;){if(e.classType===LV.ENGINE||e.classType===LV.SCENE_VIEWER)return e;e=(null==e?void 0:e.getParent)&&(null==e?void 0:e.getParent())}}_initialDefaultExtension(){dj.getData().sort(jh).forEach(e=>{this.register(new e)}),this._backgroundExtension=this.getExtensionByKey("DefaultBackgroundExtension"),this._borderExtension=this.getExtensionByKey("DefaultBorderExtension"),this._fontExtension=this.getExtensionByKey("DefaultFontExtension")}_drawAuxiliary(e){var t;let r=this.getSkeleton();if(null==r)return;let{rowColumnSegment:n,overflowCache:i,showGridlines:a,gridlinesColor:o,worksheet:s}=r,{startRow:l,endRow:u,startColumn:c,endColumn:d}=n;if(!r||a===Vu.FALSE||this._forceDisableGridlines)return;let{rowHeightAccumulation:h,columnTotalWidth:m,columnWidthAccumulation:f,rowTotalHeight:g}=r;if(!h||!f||void 0===m||void 0===g)return;e.save(),e.setLineWidthByPrecision(1),e.strokeStyle=null==(t=null==o?e.renderConfig.gridlinesColor:o)?BV([214,216,219]):t;let p=f.length,v=h.length,b=u-l+1,C=d-c+1,y=Math.ceil(.4*b),_=Math.ceil(.4*C),w=Math.max(Math.floor(l-y),0),E=Math.min(Math.ceil(u+y),v-1),S=Math.min(Math.ceil(d+_),p-1),A=Math.max(Math.floor(c-_),0),I=f[A-1]||0,R=h[w-1]||0,x=f[S],T=h[E];e.translateWithPrecisionRatio(kV,kV),e.beginPath(),e.moveToByPrecision(I,R),e.lineToByPrecision(x,R),e.moveToByPrecision(I,R),e.lineToByPrecision(I,T),e.closePathByEnv(),e.stroke();let N=[],M=l;for(let t=w;t<=E;t++){if(!1===s.getRowVisible(t)?Mv-1)continue;let r=h[t];e.beginPath(),e.moveToByPrecision(I,r),e.lineToByPrecision(x,r),e.closePathByEnv(),e.stroke()}for(let t=A;t<=S;t++){if(t<0||t>p-1)continue;let r=f[t];e.beginPath(),e.moveToByPrecision(r,R),e.lineToByPrecision(r,T),e.closePathByEnv(),e.stroke()}let O=[];for(let e of N){let t=r.getCurrentRowColumnSegmentMergeData(e);O.push(...t)}this._clearRectangle(e,h,f,O),this._clearRectangle(e,h,f,i.toNativeArray()),e.restore()}_clearRectangle(e,t,r,n){if(null!=n)for(let l of n){var i,a,o,s;let{startRow:n,endRow:u,startColumn:c,endColumn:d}=l,h=null==(i=t[n-1])?0:i,m=null==(a=t[u])?t[t.length-1]:a,f=null==(o=r[c-1])?0:o,g=null==(s=r[d])?r[r.length-1]:s;e.clearRectByPrecision(f,h,g-f,m-h),e.beginPath(),e.moveToByPrecision(f,h),e.lineToByPrecision(g,h),e.lineToByPrecision(g,m),e.lineToByPrecision(f,m),e.lineToByPrecision(f,h),e.stroke(),e.closePath()}}testShowRuler(e,t){let{cacheBound:r}=t,{rowHeaderWidth:n,columnHeaderHeight:i}=this.getSkeleton(),{left:a,top:o,right:s,bottom:l}=r,u=e=>e+(100-e%100),c=u(a),d=u(s),h=u(o),m=u(l);e.save(),e.beginPath(),e.strokeStyle="#000000",e.fillStyle="#000000",e.font="16px Arial",e.lineWidth=1,e.textAlign="center",e.textBaseline="middle";for(let t=c;t<=d;t+=50)e.beginPath(),e.strokeStyle=t%100==0?"red":"#aaa",e.moveTo(t-n,o-i),e.lineTo(t-n,l-i),e.stroke(),e.closePath();for(let t=h;t<=m;t+=50)e.beginPath(),e.strokeStyle=t%100==0?"red":"#aaa",e.moveTo(a-n,t-i),e.lineTo(s-n,t-i),e.stroke(),e.closePath();e.fillStyle="#666";for(let t=c;t<=d;t+=100)for(let r=h;r<=m;r+=100)e.fillText(`${t},${r}`,t-n,r-i);e.closePath(),e.restore()}testGetRandomLightColor(){let e="#";for(let t=0;t<6;t++)e+="ABCDEF"[Math.floor(6*Math.random())];return Number.parseInt(e.substring(1,3),16)+Number.parseInt(e.substring(3,5),16)+Number.parseInt(e.substring(5,7),16)<610?this.testGetRandomLightColor():e}};!function(e){e.UserInfo="userInfo",e.Text="text",e.Image="image"}({});var hX=class extends tu{constructor(e,t=[],r=1,n=!1){super(),this._scene=e,this._zIndex=r,this._allowCache=n,yF(this,"_objects",[]),yF(this,"_cacheCanvas",void 0),yF(this,"_dirty",!0),yF(this,"_debounceDirtyFunc",void 0),this.addObjects(t),this._allowCache&&this._initialCacheCanvas()}get scene(){return this._scene}get zIndex(){return this._zIndex}enableCache(){this._allowCache=!0,this._initialCacheCanvas()}disableCache(){var e;this._allowCache=!1,null==(e=this._cacheCanvas)||e.dispose(),this._cacheCanvas=null}isAllowCache(){return this._allowCache}getObjectsByOrder(){let e=[];this._objects.sort(jh);for(let t of this._objects)!t.isInGroup&&t.visible&&e.push(t);return e}getObjectsByOrderForPick(){let e=[];this._objects.sort(jh);for(let t of this._objects)t.visible&&t.evented&&e.push(t);return e}getObjects(){return this._objects}addObject(e){if(e.classType===LV.GROUP){let t=e.getObjects();for(let e of t)this.scene.getObject(e.oKey)||(this._objects.push(e),this.scene.setObjectBehavior(e),this._layerBehavior(e))}return this._objects.push(e),this.scene.setObjectBehavior(e),this._layerBehavior(e),this.makeDirty(!0),this}removeObject(e){let t=this.getObjects(),r=t.length;if(e instanceof nj){for(let n=0;n{this.addObject(e)}),this}removeObjects(e){let t=this.getObjects();for(let r=t.length-1;r>=0;r--){let n=t[r],i=e.length;if(0===i)break;for(let a=0;a{this.makeDirty(e),this._debounceDirtyFunc=null})}isDirty(){return this._dirty}render(e,t=!1){var r;let n=e||(null==(r=this._scene.getEngine())?void 0:r.getCanvas().getContext());if(n)if(this._allowCache&&this._cacheCanvas){if(this.isDirty()){let e=this._cacheCanvas.getContext();this._cacheCanvas.clear(),e.save(),e.setTransform(n.getTransform()),this._draw(e,t),e.restore()}this._applyCache(n)}else n.save(),this._draw(n,t),n.restore();return this.makeDirty(!1),this}_layerBehavior(e){this.disposeWithMe(Jl(e.onTransformChange$.subscribeEvent(()=>{this.makeDirty(!0)}))),e.layer=this}_initialCacheCanvas(){let e=this.scene.getEngine();e&&this.disposeWithMe(e.onTransformChange$.subscribeEvent(()=>{this._resizeCacheCanvas()})),this._cacheCanvas=new lj({colorService:null==e?void 0:e.canvasColorService})}_draw(e,t){let r=this._scene.getViewports().filter(e=>e.shouldIntoRender()),n=this.getObjectsByOrder();for(let[i,a]of r.entries())a.render(e,n,t);n.forEach(e=>{var t;e.makeDirty(!1),null==(t=e.makeForceDirty)||t.call(e,!1)})}_applyCache(e){if(!e||null==this._cacheCanvas)return;let t=this._cacheCanvas.getWidth(),r=this._cacheCanvas.getHeight();0!==t&&0!==r&&e.drawImage(this._cacheCanvas.getCanvasEle(),0,0,t,r)}_resizeCacheCanvas(){let e=this._scene.getEngine();var t;e&&(null==(t=this._cacheCanvas)||t.setSize(e.width,e.height)),this.makeDirty(!0)}clear(){this._objects=[]}dispose(){var e,t;super.dispose(),[...this.getObjects()].forEach(e=>{e.dispose()}),this.clear(),null==(e=this._debounceDirtyFunc)||e.call(this),this._debounceDirtyFunc=null,null==(t=this._cacheCanvas)||t.dispose(),this._cacheCanvas=null}};!function(e){e.LEFT="__slideNavigationLeft__",e.RIGHT="__slideNavigationRight__"}({});var mX=class e extends Qz{constructor(e,t,r){super(e,t,r),yF(this,"_drawLiquid",void 0),this._drawLiquid=new uH,this.makeDirty(!0)}static create(t,r,n){return new e(t,r,n)}draw(e,t){var r,n;let i=null==(r=this.getSkeleton())?void 0:r.getSkeletonData(),a=null==(n=this.getSkeleton())?void 0:n.getViewModel().getDataModel();if(null==i||null==a)return;let{documentFlavor:o}=a.getSnapshot().documentStyle;if(o!==Yu.TRADITIONAL)return;this._drawLiquid.reset();let{pages:s}=i,l=0,u=0;for(let r=0,n=s.length;re.getState()))}get width(){return this._selfSizeMode?super.width:this.getState().width||0}get height(){return this._selfSizeMode?super.height:this.getState().height||0}set width(e){if(this._selfSizeMode)return void(super.width=e);let t=e-this.width;this._objects.forEach(e=>{e.resize(e.width+t)})}set height(e){if(this._selfSizeMode)return void(super.height=e);let t=e-this.height;this._objects.forEach(e=>{e.resize(void 0,e.height+t)})}get maxZIndex(){let e=0;for(let t of this._objects)e=Math.max(e,t.zIndex);return e}openSelfSizeMode(){this._selfSizeMode=!0}closeSelfSizeMode(){this._selfSizeMode=!1}reCalculateObjects(){if(this._selfSizeMode)return;let{left:e=0,top:t=0}=this.getState();for(let r of this._objects)r.transformByState({left:r.left-e,top:r.top-t});this.transformByState({left:e,top:t})}addObjects(...e){for(let t of e)this.addObject(t)}addObject(e){let t=e;if(YV(e)){let r=this.getScene();if(t=null==r?void 0:r.getObject(e),!t)return;t.parent=this,t.isInGroup=!0,t.groupKey=this.oKey,this._objects.push(t)}else e.parent=this,e.isInGroup=!0,e.groupKey=this.oKey,this._objects.push(e)}removeObject(e){let t=this.getObjects(),r=t.length;if(YV(e))for(let n=0;n{e.dispose()}),this._clear(),super.dispose()}},gX=class extends fX{constructor(...e){super(...e),yF(this,"_selfSizeMode",!0),yF(this,"_baseBound",{left:0,top:0,width:0,height:0})}setBaseBound(e){this._baseBound={...e}}getBaseBound(){return{...this._baseBound}}get ancestorTransform(){let{left:e,top:t,width:r,height:n}=this.getRealBound(),i=this.transform.getMatrix(),a=e+r/2,o=t+n/2,s=new ej([i[0],i[1],i[2],i[3],a,o]),l=this.getParent();return this.isInGroup&&(null==l?void 0:l.classType)===LV.GROUP?l.ancestorTransform.multiply(s):s}render(e,t){let{left:r,top:n,width:i,height:a}=this.getRealBound();e.save();let o=this.transform.getMatrix(),s=r+i/2,l=n+a/2;e.transform(o[0],o[1],o[2],o[3],s,l);let u=this.getObjectsByOrder();for(let r=0;rd||c.y<-h||c.y>h)return!1;let m=this.getObjectsByOrder();for(let t=0;t{e.dispose(),null==t||t.removeObject(e)}),this._objects=[],super.dispose(),null==t||t.removeObject(this)}};const pX=V("univer.engine-render.canvas-color.service");let vX=class extends tu{constructor(e){super(),this._themeService=e,yF(this,"_cache",new Map),yF(this,"_invertAlgo",ql)}getRenderColor(e){if(!this._themeService.darkMode)return e;if(this._cache.has(e))return this._cache.get(e);let t="";if(e.startsWith("#"))if(t=function(e){let t=Math.round(e[0]),r=Math.round(e[1]),n=Math.round(e[2]);return`#${t.toString(16).padStart(2,"0")}${r.toString(16).padStart(2,"0")}${n.toString(16).padStart(2,"0")}`}(this._invertAlgo(function(e){let t,r,n,i=e.replace(/^#/,"");return 3===i.length||4===i.length?(t=Number.parseInt(i.charAt(0)+i.charAt(0),16),r=Number.parseInt(i.charAt(1)+i.charAt(1),16),n=Number.parseInt(i.charAt(2)+i.charAt(2),16)):(t=Number.parseInt(i.substring(0,2),16),r=Number.parseInt(i.substring(2,4),16),n=Number.parseInt(i.substring(4,6),16)),[t,r,n]}(e))),5===e.length){let r=e.charAt(4);t+=r+r}else 9===e.length&&(t+=e.substring(7,9));else if(e.startsWith("rgba")){let r=e.slice(5,-1).split(","),n=this._invertAlgo(r.slice(0,3).map(Number));t=`rgba(${n[0]},${n[1]},${n[2]},${r[3]})`}else if(e.startsWith("rgb")){let r=e.slice(4,-1).split(","),n=this._invertAlgo(r.map(Number));t=`rgb(${n[0]},${n[1]},${n[2]})`}else{if(this._themeService.isValidThemeColor(e))return this._themeService.getColorFromTheme(e);if(!new $c(e).isValid)throw Error(`[CanvasColorService]: illegal color "${e}"`);{let{r,g:n,b:i,a}=new $c(e).toRgb(),o=this._invertAlgo([r,n,i]);t=`rgba(${o[0]},${o[1]},${o[2]}, ${a})`}}return this._cache.set(e,t),t}};vX=Vz([Bz(0,Y(Lg))],vX);let bX=class extends tu{get clientRect$(){return this._rect$||(this._rect$=new Tn(e=>{if(!this._container)throw Error("[Engine]: cannot subscribe to rect changes when container is not set!");let t=function(e){return new Tn(t=>{let r=function(e,t){let r=e,n=[...r?rV(r):[]];n.forEach(e=>{e.addEventListener("scroll",t,{passive:!0}),e.addEventListener("resize",t)});let i=r?function(e,t){let r,n=null,i=UB(e);function a(){clearTimeout(r),null==n||n.disconnect(),n=null}return function o(s=!1,l=1){a();let{left:u,top:c,width:d,height:h}=e.getBoundingClientRect();if(s||t(),!d||!h)return;let m={rootMargin:`${-lV(c)}px ${-lV(i.clientWidth-(u+d))}px ${-lV(i.clientHeight-(c+h))}px ${-lV(u)}px`,threshold:oV(0,aV(1,l))||1},f=!0;function g(e){let t=e[0].intersectionRatio;if(t!==l){if(!f)return o();t?o(!1,t):r=setTimeout(()=>{o(!1,1e-7)},1e3)}f=!1}try{n=new IntersectionObserver(g,{...m,root:i.ownerDocument})}catch{n=new IntersectionObserver(g,m)}n.observe(e)}(!0),a}(r,t):null,a=null;return t(),()=>{n.forEach(e=>{e.removeEventListener("scroll",t),e.removeEventListener("resize",t)}),null==i||i(),null==a||a.disconnect(),a=null}}(e,()=>t.next());return()=>r()})}(this._container).subscribe(()=>e.next());return()=>{t.unsubscribe(),this._rect$=null}})).pipe(LL(1))}get unitId(){return this._unitId}get elapsedTime(){return uu.now()-this._renderStartTime}get width(){return this.getCanvas().getWidth()}get height(){return this.getCanvas().getHeight()}get classType(){return LV.ENGINE}get activeScene(){return this._activeScene}constructor(e,t,r){super(),this.canvasColorService=r,yF(this,"renderEvenInBackground",!0),yF(this,"_beginFrame$",new On),yF(this,"beginFrame$",this._beginFrame$.asObservable()),yF(this,"_endFrame$",new On),yF(this,"endFrame$",this._endFrame$.asObservable()),yF(this,"renderFrameTimeMetric$",new On),yF(this,"renderFrameTags$",new On),yF(this,"onInputChanged$",new cf),yF(this,"onTransformChange$",new cf),yF(this,"_scenes",{}),yF(this,"_activeScene",null),yF(this,"_renderStartTime",0),yF(this,"_rect$",null),yF(this,"_container",void 0),yF(this,"_canvas",void 0),yF(this,"_renderingQueueLaunched",!1),yF(this,"_renderFrameTasks",[]),yF(this,"_requestNewFrameHandler",-1),yF(this,"_frameId",-1),yF(this,"_usingSafari","safari"===uu.getBrowserType()),yF(this,"_resizeObserver",void 0),yF(this,"_fps",60),yF(this,"_deltaTime",0),yF(this,"_performanceMonitor",void 0),yF(this,"_pointerClickEvent",void 0),yF(this,"_pointerDblClickEvent",void 0),yF(this,"_pointerMoveEvent",void 0),yF(this,"_pointerDownEvent",void 0),yF(this,"_pointerUpEvent",void 0),yF(this,"_pointerOutEvent",void 0),yF(this,"_pointerCancelEvent",void 0),yF(this,"_pointerBlurEvent",void 0),yF(this,"_pointerWheelEvent",void 0),yF(this,"_pointerEnterEvent",void 0),yF(this,"_pointerLeaveEvent",void 0),yF(this,"_dragEnterEvent",void 0),yF(this,"_dragLeaveEvent",void 0),yF(this,"_dragOverEvent",void 0),yF(this,"_dropEvent",void 0),yF(this,"_remainCapture",-1),yF(this,"_pointerPosRecord",{}),yF(this,"_mouseId",-1),yF(this,"_isUsingFirefox",-1!==navigator.userAgent.indexOf("Firefox")),yF(this,"_previousWidth",-1e3),yF(this,"_previousHeight",-1e3),yF(this,"_unitId",""),yF(this,"_resizeListenerDisposable",void 0),yF(this,"_renderFunction",e=>{let t=!0;this.renderEvenInBackground||(t=!1),t&&(this._beginFrame(e),this._renderFrame(e),this._endFrame(e)),this._renderFrameTasks.length>0?this._requestNewFrameHandler=FV(this._renderFunction):this._renderingQueueLaunched=!1}),this._unitId=null==e?"":e;let n=Object.assign({},{elementHeight:1,elementWidth:1,renderMode:sj.Rendering,dpr:1},t);this._canvas=new lj({mode:n.renderMode,width:n.elementWidth,height:n.elementHeight,pixelRatio:n.dpr,colorService:this.canvasColorService}),this._performanceMonitor=new YF,this._handleKeyboardAction(),this._handlePointerAction(),this._handleDragAction(),n.renderMode!==sj.Printing&&this._matchMediaHandler()}getScenes(){return this._scenes}getScene(e){return this._scenes[e]}hasScene(e){return e in this._scenes}addScene(e){let t=e.sceneKey;return this.hasScene(t)&&console.warn("Scenes has same key, it will be covered"),this._scenes[t]=e,e}setActiveScene(e){let t=this.getScene(e);return t&&(this._activeScene=t),t}hasActiveScene(){return null!=this._activeScene}get requestNewFrameHandler(){return this._requestNewFrameHandler}get frameId(){return this._frameId}setCanvasCursor(e){this.getCanvas().getCanvasEle().style.cursor=e}clearCanvas(){this.getCanvas().clear()}getCanvas(){return this._canvas}getCanvasElement(){return this.getCanvas().getCanvasEle()}setCapture(){try{this.getCanvasElement().setPointerCapture(this._remainCapture)}catch{console.warn("no capture")}}getPixelRatio(){return this.getCanvas().getPixelRatio()}mount(e,t=!0){this.setContainer(e,t)}unmount(){if(this._clearResizeListener(),!this._container)throw Error("[Engine]: cannot unmount when container is not set!");this._container.removeChild(this.getCanvasElement()),this._container=null}setContainer(e,t=!0){if(this._container!==e&&(this._container=e,this._container.appendChild(this.getCanvasElement()),this._clearResizeListener(),t)){let e;this.resize(),this._resizeObserver=new ResizeObserver(()=>{e||(e=window.requestIdleCallback(()=>{this.resize(),e=void 0}))}),this._resizeObserver.observe(this._container),this._resizeListenerDisposable=Jl(()=>{this._resizeObserver.unobserve(this._container),void 0!==e&&window.cancelIdleCallback(e)})}}_clearResizeListener(){var e;null==(e=this._resizeListenerDisposable)||e.dispose(),this._resizeListenerDisposable=void 0}resize(){if(!this._container)return;let{width:e,height:t}=function(e){let{borderTopWidth:t,borderLeftWidth:r,borderRightWidth:n,borderBottomWidth:i,width:a,height:o}=getComputedStyle(e);return{top:gF(t),left:gF(r),right:gF(n),bottom:gF(i),width:gF(a),height:gF(o)}}(this._container);e===this._previousWidth&&t===this._previousHeight||(this._previousWidth=e,this._previousHeight=t,this.resizeBySize(e,t))}dprChange(){let e=this._previousWidth,t=this._previousHeight;this.resizeBySize(e,t)}resizeBySize(e,t){let r=this.width,n=this.height;this.getCanvas().setSize(e,t),this.onTransformChange$.emitEvent({type:zF.resize,value:{width:e,height:t},preValue:{width:r,height:n}})}dispose(){var e;super.dispose();let t={...this.getScenes()};Object.keys(t).forEach(e=>{t[e].dispose()}),this._scenes={};let r=XV(),n=this.getCanvasElement();n.removeEventListener("click",this._pointerClickEvent),n.removeEventListener("dblclick",this._pointerDblClickEvent),n.removeEventListener(`${r}leave`,this._pointerLeaveEvent),n.removeEventListener(`${r}enter`,this._pointerEnterEvent),n.removeEventListener(`${r}move`,this._pointerMoveEvent),n.removeEventListener(`${r}down`,this._pointerDownEvent),n.removeEventListener(`${r}up`,this._pointerUpEvent),n.removeEventListener(`${r}out`,this._pointerOutEvent),n.removeEventListener(`${r}cancel`,this._pointerCancelEvent),n.removeEventListener("blur",this._pointerBlurEvent),n.removeEventListener("dragenter",this._dragEnterEvent),n.removeEventListener("dragleave",this._dragLeaveEvent),n.removeEventListener("dragover",this._dragOverEvent),n.removeEventListener("drop",this._dropEvent),n.removeEventListener(this._getWheelEventName(),this._pointerWheelEvent),this._renderFrameTasks=[],this._performanceMonitor.dispose(),this.getCanvas().dispose(),null==(e=this._resizeObserver)||e.disconnect(),this.onTransformChange$.complete(),this._beginFrame$.complete(),this._endFrame$.complete(),this.renderFrameTags$.complete(),this.renderFrameTimeMetric$.complete(),this._clearResizeListener(),this._container=null}addFunction2RenderLoop(e){-1===this._renderFrameTasks.indexOf(e)&&this._renderFrameTasks.push(e)}startRenderLoop(){this._renderingQueueLaunched||(this._renderStartTime=performance.now(),this._renderingQueueLaunched=!0,this._requestNewFrameHandler=FV(this._renderFunction))}runRenderLoop(e){this.addFunction2RenderLoop(e),this.startRenderLoop()}stopRenderLoop(e){if(!e)return this._renderFrameTasks.length=0,void this._cancelFrame();let t=this._renderFrameTasks.indexOf(e);t>=0&&(this._renderFrameTasks.splice(t,1),0===this._renderFrameTasks.length&&this._cancelFrame())}_beginFrame(e){this._frameId++,this._beginFrame$.next(this._frameId)}_endFrame(e){this._performanceMonitor.endFrame(e),this._fps=this._performanceMonitor.averageFPS,this._deltaTime=this._performanceMonitor.instantaneousFrameTime||0,this._endFrame$.next({FPS:this.getFps(),frameTime:this.getDeltaTime(),elapsedTime:this.elapsedTime})}getFps(){return this._fps}getDeltaTime(){return this._deltaTime}_renderFrame(e){for(let e=0;e"u"){if("function"==typeof cancelAnimationFrame)return cancelAnimationFrame(this._requestNewFrameHandler)}else{let{cancelAnimationFrame:e}=this._getHostWindow()||window;if("function"==typeof e)return e(this._requestNewFrameHandler)}return clearTimeout(this._requestNewFrameHandler)}}_getHostWindow(){var e;return typeof window>"u"?null:null!=(e=this.getCanvasElement().ownerDocument)&&e.defaultView?this.getCanvasElement().ownerDocument.defaultView:window}_handleKeyboardAction(){let e=this.getCanvasElement();e.addEventListener("keydown",e=>{let t=e;t.deviceType=HF.Keyboard,t.inputIndex=e.keyCode,this.onInputChanged$.emitEvent(t)}),e.addEventListener("keyup",e=>{let t=e;t.deviceType=HF.Keyboard,t.inputIndex=e.keyCode,this.onInputChanged$.emitEvent(t)})}_handlePointerAction(){let e=XV();this._pointerClickEvent=e=>{let t=this._getPointerType(e),r=e;r.deviceType=t,this.onInputChanged$.emitEvent(r)},this._pointerDblClickEvent=e=>{let t=this._getPointerType(e),r=e;r.deviceType=t,this.onInputChanged$.emitEvent(r)},this._pointerMoveEvent=e=>{let t=e,r=this._getPointerType(t);this._pointerPosRecord[WF.Horizontal]=t.clientX,this._pointerPosRecord[WF.Vertical]=t.clientY,this._pointerPosRecord[WF.DeltaHorizontal]=t.movementX,this._pointerPosRecord[WF.DeltaVertical]=t.movementY;let n=t;n.deviceType=r,n.inputIndex=WF.Horizontal,this.onInputChanged$.emitEvent(n),this._usingSafari||(n.inputIndex=t.button+2,this.onInputChanged$.emitEvent(n))},this._pointerDownEvent=e=>{let t=e,r=this._getPointerType(t),n=this._pointerPosRecord[WF.Horizontal],i=this._pointerPosRecord[WF.Vertical];r===HF.Mouse?(-1===this._mouseId&&(void 0===t.pointerId?this._mouseId=this._isUsingFirefox?0:1:this._mouseId=t.pointerId),document.pointerLockElement||(this._remainCapture=this._mouseId)):t.pointerId&&!document.pointerLockElement&&(this._remainCapture=t.pointerId),this._pointerPosRecord[WF.Horizontal]=t.clientX,this._pointerPosRecord[WF.Vertical]=t.clientY;let a=t;a.deviceType=r,n!==t.clientX&&(a.inputIndex=WF.Horizontal,this.onInputChanged$.emitEvent(a)),i!==t.clientY&&(a.inputIndex=WF.Vertical,this.onInputChanged$.emitEvent(a)),a.inputIndex=t.button+2,this.onInputChanged$.emitEvent(a)},this._pointerUpEvent=e=>{let t=e,r=this._getPointerType(t),n=this._pointerPosRecord[WF.Horizontal],i=this._pointerPosRecord[WF.Vertical];this._pointerPosRecord[WF.Horizontal]=t.clientX,this._pointerPosRecord[WF.Vertical]=t.clientY;let a=t;a.deviceType=r,n!==t.clientX&&(a.inputIndex=WF.Horizontal,this.onInputChanged$.emitEvent(a)),i!==t.clientY&&(a.inputIndex=WF.Vertical,this.onInputChanged$.emitEvent(a)),a.inputIndex=t.button+2;let o=this.getCanvasElement();r===HF.Mouse&&this._mouseId>=0&&o.hasPointerCapture(this._mouseId)?(this._remainCapture=this._mouseId,o.releasePointerCapture(this._mouseId)):a.pointerId&&o.hasPointerCapture(a.pointerId)&&(this._remainCapture=a.pointerId,o.releasePointerCapture(a.pointerId)),this.onInputChanged$.emitEvent(a),r!==HF.Mouse&&(this._pointerPosRecord={})},this._pointerEnterEvent=e=>{let t=this._getPointerType(e),r=e;r.deviceType=t,this.onInputChanged$.emitEvent(r)},this._pointerLeaveEvent=e=>{let t=this._getPointerType(e),r=e;r.deviceType=t,this.onInputChanged$.emitEvent(r)},this._pointerOutEvent=e=>{let t=this._getPointerType(e),r=e;r.deviceType=t,this.onInputChanged$.emitEvent(r)},this._pointerCancelEvent=e=>{let t=this._getPointerType(e),r=e;r.deviceType=t,this.onInputChanged$.emitEvent(r)},this._pointerBlurEvent=()=>{this._mouseId>=0&&this.getCanvasElement().hasPointerCapture(this._mouseId),this._pointerPosRecord={}},this._pointerWheelEvent=e=>{let t=HF.Mouse;this._pointerPosRecord[WF.MouseWheelX]=e.deltaX||0,this._pointerPosRecord[WF.MouseWheelY]=e.deltaY||e.wheelDelta||0,this._pointerPosRecord[WF.MouseWheelZ]=e.deltaZ||0;let r=e;r.deviceType=t,0!==this._pointerPosRecord[WF.MouseWheelX]&&(r.currentState=this._pointerPosRecord[WF.MouseWheelX]),0!==this._pointerPosRecord[WF.MouseWheelY]&&(r.currentState=this._pointerPosRecord[WF.MouseWheelY]),0!==this._pointerPosRecord[WF.MouseWheelZ]&&(r.currentState=this._pointerPosRecord[WF.MouseWheelZ]),this.onInputChanged$.emitEvent(r)};let t=this.getCanvasElement();t.addEventListener("click",this._pointerClickEvent),t.addEventListener("dblclick",this._pointerDblClickEvent),t.addEventListener(`${e}enter`,this._pointerEnterEvent),t.addEventListener(`${e}leave`,this._pointerLeaveEvent),t.addEventListener(`${e}move`,this._pointerMoveEvent),t.addEventListener(`${e}down`,this._pointerDownEvent),t.addEventListener(`${e}up`,this._pointerUpEvent),t.addEventListener(`${e}out`,this._pointerOutEvent),t.addEventListener(`${e}cancel`,this._pointerCancelEvent),t.addEventListener("blur",this._pointerBlurEvent),t.addEventListener(this._getWheelEventName(),this._pointerWheelEvent,!!this._getPassive()&&{passive:!1})}_handleDragAction(){this._dragEnterEvent=e=>{let t=this._getPointerType(e),r=e;r.deviceType=t,r.currentState=4,this.onInputChanged$.emitEvent(r)},this._dragLeaveEvent=e=>{let t=this._getPointerType(e),r=e;r.deviceType=t,r.currentState=5,this.onInputChanged$.emitEvent(r)},this._dragOverEvent=e=>{e.preventDefault();let t=this._getPointerType(e),r=this._pointerPosRecord[WF.Horizontal],n=this._pointerPosRecord[WF.Vertical];this._pointerPosRecord[WF.Horizontal]=e.clientX,this._pointerPosRecord[WF.Vertical]=e.clientY,this._pointerPosRecord[WF.DeltaHorizontal]=e.movementX,this._pointerPosRecord[WF.DeltaVertical]=e.movementY;let i=e;i.deviceType=t,r!==e.clientX&&(i.inputIndex=WF.Horizontal,i.currentState=this._pointerPosRecord[WF.Horizontal],this.onInputChanged$.emitEvent(i)),n!==e.clientY&&(i.inputIndex=WF.Vertical,i.currentState=this._pointerPosRecord[WF.Vertical],this.onInputChanged$.emitEvent(i)),0!==this._pointerPosRecord[WF.DeltaHorizontal]&&(i.inputIndex=WF.DeltaHorizontal,i.currentState=this._pointerPosRecord[WF.DeltaHorizontal],this.onInputChanged$.emitEvent(i)),0!==this._pointerPosRecord[WF.DeltaVertical]&&(i.inputIndex=WF.DeltaVertical,i.currentState=this._pointerPosRecord[WF.DeltaVertical],this.onInputChanged$.emitEvent(i)),this._usingSafari||(i.inputIndex=e.button+2,i.currentState=this._pointerPosRecord[e.button+2],this.onInputChanged$.emitEvent(i))},this._dropEvent=e=>{let t=this._getPointerType(e),r=e;r.deviceType=t,r.currentState=6,this.onInputChanged$.emitEvent(r)};let e=this.getCanvasElement();e.addEventListener("dragenter",this._dragEnterEvent),e.addEventListener("dragleave",this._dragLeaveEvent),e.addEventListener("dragover",this._dragOverEvent),e.addEventListener("drop",this._dropEvent)}_getWheelEventName(){return"onwheel"in document.createElement("div")?"wheel":void 0===document.onmousewheel?"DOMMouseScroll":"mousewheel"}_getPassive(){let e=!1,t=()=>{};try{let r={passive:{get(){e=!0}}},n=this.getCanvasElement();n.addEventListener("test",t,r),n.removeEventListener("test",t,r)}catch{}return e}_getPointerType(e){let t=HF.Mouse;return("touch"===e.pointerType||"pen"===e.pointerType||e.touches)&&(t=HF.Touch),t}_matchMediaHandler(){var e;if(null==(e=window)||!e.matchMedia)return;let t=window.matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`),r=()=>{this.dprChange()};t.addEventListener("change",r),this.disposeWithMe(Jl(()=>{t.removeEventListener("change",r)}))}};bX=Vz([Bz(2,pX)],bX);const CX="engine-render.config";Symbol(CX);const yX={};var _X=class e extends tu{constructor(e){super(),yF(this,"_scene",void 0),yF(this,"_alreadyAttached",!1),yF(this,"_onInput$",void 0),yF(this,"_currentMouseEnterPicked",void 0),yF(this,"_startingPosition",new TF(1/0,1/0)),yF(this,"_delayedTimeout",-1),yF(this,"_delayedTripeTimeout",-1),yF(this,"_doubleClickOccurred",0),yF(this,"_tripleClickState",!1),yF(this,"_currentObject",void 0),yF(this,"_clickTimeout",null),yF(this,"_clickCount",0),this._scene=e}dispose(){super.dispose(),this.detachControl(),this._scene=null,this._currentMouseEnterPicked=null,this._currentObject=null,this._startingPosition=null,clearTimeout(this._delayedTimeout),clearTimeout(this._delayedTripeTimeout),this._onClick=null,this._onDblClick=null,this._onPointerMove=null,this._onPointerDown=null,this._onPointerUp=null,this._onPointerEnter=null,this._onPointerLeave=null,this._onMouseWheel=null,this._onKeyDown=null,this._onKeyUp=null,this._onDragEnter=null,this._onDragLeave=null,this._onDragOver=null,this._onDrop=null}mouseLeaveEnterHandler(e){let t=this._currentObject||this.capturedObject;var r;if(null==t)null==(r=this._currentMouseEnterPicked)||r.triggerPointerLeave(e),this._currentMouseEnterPicked=null;else if(t!==this._currentMouseEnterPicked){let r=this._currentMouseEnterPicked;this._currentMouseEnterPicked=t,null==r||r.triggerPointerLeave(e),null==t||t.triggerPointerEnter(e)}}dragLeaveEnterHandler(e){let t=this._currentObject;var r;if(null==t)null==(r=this._currentMouseEnterPicked)||r.triggerDragLeave(e),this._currentMouseEnterPicked=null;else if(t!==this._currentMouseEnterPicked){let r=this._currentMouseEnterPicked;this._currentMouseEnterPicked=t,null==r||r.triggerDragLeave(e),null==t||t.triggerDragEnter(e)}}_onClick(e){void 0===e.pointerId&&(e.pointerId=0),this._clickCount++,this._clickTimeout||(this._clickTimeout=setTimeout(()=>{if(1===this._clickCount){let t=this._getObjectAtPos(e.offsetX,e.offsetY);(null==t||!t.triggerSingleClick(e))&&this._shouldDispatchEventToScene(t)&&this._scene.onPointerDown$.emitEvent(e)}else this._clickCount;clearTimeout(this._clickTimeout),this._clickTimeout=null,this._clickCount=0},300));let t=this._getObjectAtPos(e.offsetX,e.offsetY);(null==t||!t.triggerClick(e))&&this._shouldDispatchEventToScene(t)&&this._scene.onPointerDown$.emitEvent(e)}_onDblClick(e){void 0===e.pointerId&&(e.pointerId=0);let t=this._getObjectAtPos(e.offsetX,e.offsetY);(null==t||!t.triggerDblclick(e))&&this._shouldDispatchEventToScene(t)&&this._scene.onPointerDown$.emitEvent(e)}_onPointerEnter(e){void 0===e.pointerId&&(e.pointerId=0),this._currentObject=this._getObjectAtPos(e.offsetX,e.offsetY),this.mouseLeaveEnterHandler(e)}_onPointerLeave(e){void 0===e.pointerId&&(e.pointerId=0),this._currentObject=null,this.mouseLeaveEnterHandler(e)}_onPointerMove(e){var t;void 0===e.pointerId&&(e.pointerId=0);let r=this._currentObject=this._getObjectAtPos(e.offsetX,e.offsetY),n=null==(t=r||this.capturedObject)?void 0:t.triggerPointerMove(e);var i;this.mouseLeaveEnterHandler(e),!n&&this._shouldDispatchEventToScene(r)&&(this._scene.onPointerMove$.emitEvent(e),null==(i=this._scene.getEngine())||i.setCapture())}_onPointerDown(e){void 0===e.pointerId&&(e.pointerId=0);let t=this._getObjectAtPos(e.offsetX,e.offsetY);(null==t||!t.triggerPointerDown(e))&&this._shouldDispatchEventToScene(t)&&this._scene.onPointerDown$.emitEvent(e)}_onPointerUp(e){void 0===e.pointerId&&(e.pointerId=0);let t=this._getObjectAtPos(e.offsetX,e.offsetY);!(null!=t&&t.triggerPointerUp(e))&&this._shouldDispatchEventToScene(t)&&this._scene.onPointerUp$.emitEvent(e),this._prePointerDoubleOrTripleClick(e)}_onPointerCancel(e){this._scene.onPointerCancel$.emitEvent(e);let t=this._getObjectAtPos(e.offsetX,e.offsetY);null==t||t.triggerPointerCancel(e)}_onPointerOut(e){this._scene.onPointerOut$.emitEvent(e);let t=this._getObjectAtPos(e.offsetX,e.offsetY);null==t||t.triggerPointerOut(e)}_onMouseWheel(e){let t=this._getObjectAtPos(e.offsetX,e.offsetY),r=null==t?void 0:t.triggerMouseWheel(e);this._scene.getMainViewport().onMouseWheel$.emitEvent(e),!r&&this._shouldDispatchEventToScene(t)&&this._scene.onMouseWheel$.emitEvent(e)}_onKeyDown(e){this._scene.onKeyDown$.emitEvent(e)}_onKeyUp(e){this._scene.onKeyUp$.emitEvent(e)}_onDragEnter(e){var t;this._currentObject=this._getObjectAtPos(e.offsetX,e.offsetY),null==(t=this._currentObject)||t.triggerDragOver(e),this.dragLeaveEnterHandler(e)}_onDragLeave(e){this._currentObject=null,this.dragLeaveEnterHandler(e)}_onDragOver(e){var t;this._currentObject=this._getObjectAtPos(e.offsetX,e.offsetY);let r=null==(t=this._currentObject)?void 0:t.triggerDragOver(e);var n;this.dragLeaveEnterHandler(e),!r&&this._shouldDispatchEventToScene(this._currentObject)&&(this._scene.onDragOver$.emitEvent(e),null==(n=this._scene.getEngine())||n.setCapture())}_onDrop(e){let t=this._getObjectAtPos(e.offsetX,e.offsetY);(null==t||!t.triggerDrop(e))&&this._shouldDispatchEventToScene(t)&&this._scene.onDrop$.emitEvent(e)}attachControl(e){var t,r,n,i,a,o;let s=null==(t=null==e?void 0:e.enableDown)||t,l=null==(r=null==e?void 0:e.enableUp)||r,u=null==(n=null==e?void 0:e.enableMove)||n,c=null==(i=null==e?void 0:e.enableWheel)||i,d=null==(a=null==e?void 0:e.enableEnter)||a,h=null==(o=null==e?void 0:e.enableLeave)||o,m=this._scene.getEngine();m&&(this._onInput$=m.onInputChanged$.subscribeEvent(e=>{let t=e;if(e.deviceType===HF.Keyboard)switch(e.type){case"keydown":this._onKeyDown(t);break;case"keyup":this._onKeyUp(t)}if(e.deviceType===HF.Mouse||e.deviceType===HF.Touch)switch(e.type){case"wheel":case"DOMMouseScroll":case"mousewheel":c&&this._onMouseWheel(t);break;case"click":this._onClick(t);break;case"pointerout":this._onPointerOut(t);break;case"pointercancel":this._onPointerCancel(t);break;case"pointerleave":this._onPointerLeave(t);break;case"pointermove":u&&this._onPointerMove(t);break;case"pointerup":l&&e.inputIndex>=WF.LeftClick&&e.inputIndex<=WF.RightClick&&this._onPointerUp(t);break;case"pointerdown":s&&e.inputIndex>=WF.LeftClick&&e.inputIndex<=WF.RightClick&&this._onPointerDown(t)}if(e.dataTransfer)switch(e.type){case"dragenter":d&&this._onDragEnter(t);break;case"dragover":{let r=e.inputIndex===WF.Horizontal||e.inputIndex===WF.Vertical||e.inputIndex===WF.DeltaHorizontal||e.inputIndex===WF.DeltaVertical;u&&r&&this._onDragOver(t);break}case"dragleave":h&&this._onDragLeave(t);break;case"drop":this._onDrop(t)}}),this.disposeWithMe(Jl(this._onInput$)),this._alreadyAttached=!0)}detachControl(){var e;this._alreadyAttached&&this._scene.getEngine()&&(null==(e=this._onInput$)||e.unsubscribe(),this._alreadyAttached=!1)}_getObjectAtPos(e,t){var r;return null==(r=this._scene)?void 0:r.pick(TF.FromArray([e,t]))}_shouldDispatchEventToScene(e){return null==e||!this._scene.objectsEvented&&!this._isObjectInSceneViewer(e)}_isObjectInSceneViewer(e){if(e&&e.classType===LV.BASE_OBJECT){let t=e.getScene();if(t)return t.getParent().classType===LV.SCENE_VIEWER}return!1}_isPointerSwiping(t,r){return Math.abs(this._startingPosition.x-t)>e.DragMovementThreshold||Math.abs(this._startingPosition.y-r)>e.DragMovementThreshold}_prePointerDoubleOrTripleClick(t){let{clientX:r,clientY:n}=t;var i,a;this._isPointerSwiping(r,n)&&this._resetDoubleClickParam(),this._delayedTimeout=setTimeout(()=>{this._resetDoubleClickParam()},e.DoubleClickDelay),this._doubleClickOccurred+=1,this._tripleClickState&&(null==(i=this._scene)||null==(i=i.pick(TF.FromArray([t.offsetX,t.offsetY])))||i.triggerTripleClick(t),this._scene.onTripleClick$.emitEvent(t)),2===this._doubleClickOccurred&&(null==(a=this._scene)||null==(a=a.pick(TF.FromArray([t.offsetX,t.offsetY])))||a.triggerDblclick(t),this._scene.onDblclick$.emitEvent(t),this._resetDoubleClickParam(),this._tripleClickState=!0,clearTimeout(this._delayedTripeTimeout),this._delayedTripeTimeout=setTimeout(()=>{this._tripleClickState=!1},e.TripleClickDelay)),this._startingPosition.x=r,this._startingPosition.y=n}_resetDoubleClickParam(){this._doubleClickOccurred=0,clearTimeout(this._delayedTimeout)}get capturedObject(){return this._scene._capturedObject}};yF(_X,"DragMovementThreshold",2),yF(_X,"LongPressDelay",500),yF(_X,"DoubleClickDelay",500),yF(_X,"TripleClickDelay",300),yF(_X,"ExclusiveDoubleClickMode",!1);let wX=function(e){return e[e.NONE=0]="NONE",e[e.X=1]="X",e[e.Y=2]="Y",e[e.ALL=3]="ALL",e}({});const EX={t:0,b:15,l:0,r:60};var SX=class e{constructor(e,t=wX.ALL,r=EX){this._scene=e,this._scrollTimerType=t,this._thresholdAutoMove=r,yF(this,"_requestNewFrameNumber",-1),yF(this,"_viewport",void 0),yF(this,"_offsetX",0),yF(this,"_offsetY",0),yF(this,"_moveX",0),yF(this,"_moveY",0),yF(this,"_scrollX",0),yF(this,"_scrollY",0),yF(this,"_scrollFunction",void 0)}static create(t,r=wX.ALL,n){return new e(t,r,n)}get offsetX(){return this._offsetX}get offsetY(){return this._offsetY}set scrollTimerType(e){this._scrollTimerType=e}get scrollTimerType(){return this._scrollTimerType}setActiveViewport(e){this._viewport=e}getActiveViewport(){return this._viewport}startScroll(e,t,r){this._offsetX=e,this._offsetY=t,this._moveX=e,this._moveY=t,this._viewport=null==r?this._scene.findViewportByPosToScene(TF.FromArray([e,t])):r,this._runRenderLoop()}_autoScroll(e){let t=(null==e?void 0:e.top)||0,r=t+((null==e?void 0:e.height)||0),n=(null==e?void 0:e.left)||0,i=n+((null==e?void 0:e.width)||0),{t:a=0,b:o=0,r:s=0,l=0}=this._thresholdAutoMove,u=0,c=0,d=!1;if(this._scrollTimerType&wX.X&&(this._moveXi-s&&(u=this._moveX-i+s,d=!0)),this._scrollTimerType&wX.Y&&(this._moveYr-o&&(c=this._moveY-r+o,d=!0)),!d)return;null==e||e.scrollByViewportDeltaVal({viewportScrollX:u,viewportScrollY:c});let h=null==e?void 0:e.transScroll2ViewportScrollValue(u,c);this._scrollX=(null==h?void 0:h.x)||0,this._scrollY=(null==h?void 0:h.y)||0}scrolling(e,t,r){this._moveX=e,this._moveY=t,this._scrollFunction=r}stopScroll(){jV(this._requestNewFrameNumber)}dispose(){this.stopScroll(),delete this._scrollFunction}getScene(){return this._scene}_runRenderLoop(){this._autoScroll(this._viewport),this._scrollFunction&&this._scrollFunction(this._scrollX,this._scrollY),this._requestNewFrameNumber=FV(this._runRenderLoop.bind(this))}},AX=function(e){return e.RESIZE_LT="__SpreadsheetTransformerResizeLT__",e.RESIZE_CT="__SpreadsheetTransformerResizeCT__",e.RESIZE_RT="__SpreadsheetTransformerResizeRT__",e.RESIZE_LM="__SpreadsheetTransformerResizeLM__",e.RESIZE_RM="__SpreadsheetTransformerResizeRM__",e.RESIZE_LB="__SpreadsheetTransformerResizeLB__",e.RESIZE_CB="__SpreadsheetTransformerResizeCB__",e.RESIZE_RB="__SpreadsheetTransformerResizeRB__",e.OUTLINE="__SpreadsheetTransformerOutline__",e.ROTATE_LINE="__SpreadsheetTransformerRotateLine__",e.ROTATE="__SpreadsheetTransformerRotate__",e.GROUP="__SpreadsheetTransformer__",e}(AX||{});const IX=[AX.RESIZE_LT,AX.RESIZE_CT,AX.RESIZE_RT,AX.RESIZE_LM,AX.RESIZE_RM,AX.RESIZE_LB,AX.RESIZE_CB,AX.RESIZE_RB];var RX=function(e){return e[e.MOVE_START=0]="MOVE_START",e[e.MOVING=1]="MOVING",e[e.MOVE_END=2]="MOVE_END",e}(RX||{});const xX=new Set([rj.CHART]);var TX=class extends tu{constructor(e,t){super(),this._scene=e,yF(this,"isCropper",!1),yF(this,"hoverEnabled",!1),yF(this,"hoverEnterFunc",void 0),yF(this,"hoverLeaveFunc",void 0),yF(this,"resizeEnabled",!0),yF(this,"rotateEnabled",!0),yF(this,"rotationSnaps",[]),yF(this,"rotationSnapTolerance",5),yF(this,"rotateAnchorOffset",50),yF(this,"rotateSize",10),yF(this,"rotateCornerRadius",10),yF(this,"borderEnabled",!0),yF(this,"borderStroke","rgb(97, 97, 97)"),yF(this,"borderStrokeWidth",1),yF(this,"borderDash",[]),yF(this,"borderSpacing",0),yF(this,"anchorFill","rgb(255, 255, 255)"),yF(this,"anchorStroke","rgb(185, 185, 185)"),yF(this,"anchorStrokeWidth",1),yF(this,"anchorSize",10),yF(this,"anchorCornerRadius",10),yF(this,"keepRatio",!0),yF(this,"centeredScaling",!1),yF(this,"zeroLeft",0),yF(this,"zeroTop",0),yF(this,"enabledAnchors",[1,1,1,1,1,1,1,1]),yF(this,"flipEnabled",!1),yF(this,"ignoreStroke",!1),yF(this,"boundBoxFunc",void 0),yF(this,"useSingleNodeRotation",!1),yF(this,"shouldOverdrawWholeArea",!1),yF(this,"_changeStart$",new On),yF(this,"changeStart$",this._changeStart$.asObservable()),yF(this,"_changing$",new On),yF(this,"changing$",this._changing$.asObservable()),yF(this,"_changeEnd$",new On),yF(this,"changeEnd$",this._changeEnd$.asObservable()),yF(this,"_clearControl$",new On),yF(this,"clearControl$",this._clearControl$.asObservable()),yF(this,"_createControl$",new On),yF(this,"createControl$",this._createControl$.asObservable()),yF(this,"_startOffsetX",-1),yF(this,"_startOffsetY",-1),yF(this,"_startStateMap",new Map),yF(this,"_viewportScrollX",-1),yF(this,"_viewportScrollY",-1),yF(this,"_topScenePointerMoveSub",void 0),yF(this,"_topScenePointerUpSub",void 0),yF(this,"_cancelFocusSubscription",void 0),yF(this,"_transformerControlMap",new Map),yF(this,"_selectedObjectMap",new Map),yF(this,"_subscriptionObjectMap",new Map),yF(this,"_copperControl",void 0),yF(this,"_copperSelectedObject",void 0),yF(this,"_moveBufferSkip",!1),yF(this,"_debounceClearFunc",void 0),this._initialProps(t)}updateZeroPoint(e,t){this.zeroLeft=e,this.zeroTop=t}changeNotification(){return this._changing$.next({objects:this._selectedObjectMap,type:RX.MOVE_START}),this}getSelectedObjectMap(){return this._selectedObjectMap}resetProps(e){this._initialProps(e)}getScene(){return this._scene}clearControls(e=!1){this._clearControls(e)}updateControl(){this._updateControl()}debounceRefreshControls(){this._debounceClearFunc&&this._debounceClearFunc(),this._debounceClearFunc=Kl(()=>{this.refreshControls(),this._debounceClearFunc=null})}clearSelectedObjects(){var e;this._selectedObjectMap.clear(),null==(e=this._cancelFocusSubscription)||e.unsubscribe(),this._cancelFocusSubscription=null,this._clearControls(!0)}refreshControls(){return this._clearControlMap(),this._selectedObjectMap.forEach(e=>{this._createControl(e)}),this}createControlForCopper(e){this._createControl(e,!1)}clearCopperControl(){var e;null==(e=this._copperControl)||e.dispose(),this._copperControl=null}setSelectedControl(e){e=this._findGroupObject(e),this._selectedObjectMap.set(e.oKey,e),this._createControl(e)}_getConfig(e){let t=e.transformerConfig,{isCropper:r,hoverEnabled:n,hoverEnterFunc:i,hoverLeaveFunc:a,resizeEnabled:o,rotateEnabled:s,rotationSnaps:l,rotationSnapTolerance:u,rotateAnchorOffset:c,rotateSize:d,rotateCornerRadius:h,borderEnabled:m,borderStroke:f,borderStrokeWidth:g,borderDash:p,borderSpacing:v,anchorFill:b,anchorStroke:C,anchorStrokeWidth:y,anchorSize:_,anchorCornerRadius:w,keepRatio:E,centeredScaling:S,enabledAnchors:A,flipEnabled:I,ignoreStroke:R,boundBoxFunc:x,useSingleNodeRotation:T,shouldOverdrawWholeArea:N}=this;var M,O,L,k,P,D,U,B,V,F,j,H,W,z,X,q,G,Y,Q,Z,K,$,J,ee,te,re,ne,ie,ae;return null!=t&&(r=null==(M=t.isCropper)?r:M,n=null==(O=t.hoverEnabled)?n:O,i=null==(L=t.hoverEnterFunc)?i:L,a=null==(k=t.hoverLeaveFunc)?a:k,o=null==(P=t.resizeEnabled)?o:P,s=null==(D=t.rotateEnabled)?s:D,l=null==(U=t.rotationSnaps)?l:U,u=null==(B=t.rotationSnapTolerance)?u:B,c=null==(V=t.rotateAnchorOffset)?c:V,d=null==(F=t.rotateSize)?d:F,h=null==(j=t.rotateCornerRadius)?h:j,m=null==(H=t.borderEnabled)?m:H,f=null==(W=t.borderStroke)?f:W,g=null==(z=t.borderStrokeWidth)?g:z,p=null==(X=t.borderDash)?p:X,v=null==(q=t.borderSpacing)?v:q,b=null==(G=t.anchorFill)?b:G,C=null==(Y=t.anchorStroke)?C:Y,y=null==(Q=t.anchorStrokeWidth)?y:Q,_=null==(Z=t.anchorSize)?_:Z,w=null==(K=t.anchorCornerRadius)?w:K,E=null==($=t.keepRatio)?E:$,S=null==(J=t.centeredScaling)?S:J,A=null==(ee=t.enabledAnchors)?A:ee,I=null==(te=t.flipEnabled)?I:te,R=null==(re=t.ignoreStroke)?R:re,x=null==(ne=t.boundBoxFunc)?x:ne,T=null==(ie=t.useSingleNodeRotation)?T:ie,N=null==(ae=t.shouldOverdrawWholeArea)?N:ae),{isCropper:r,hoverEnabled:n,hoverEnterFunc:i,hoverLeaveFunc:a,resizeEnabled:o,rotateEnabled:s,rotationSnaps:l,rotationSnapTolerance:u,rotateAnchorOffset:c,rotateSize:d,rotateCornerRadius:h,borderEnabled:m,borderStroke:f,borderStrokeWidth:g,borderDash:p,borderSpacing:v,anchorFill:b,anchorStroke:C,anchorStrokeWidth:y,anchorSize:_,anchorCornerRadius:w,keepRatio:E,centeredScaling:S,enabledAnchors:A,flipEnabled:I,ignoreStroke:R,boundBoxFunc:x,useSingleNodeRotation:T,shouldOverdrawWholeArea:N}}attachTo(e){this.hoverEnabled&&(this.hoverEnterFunc&&e.onPointerEnter$.subscribeEvent(this.hoverEnterFunc),this.hoverLeaveFunc&&e.onPointerLeave$.subscribeEvent(this.hoverLeaveFunc)),this.detachFrom(e);let t=e.onPointerDown$.subscribeEvent((t,r)=>{let{offsetX:n,offsetY:i}=t;this._startOffsetX=n,this._startOffsetY=i;let{isCropper:a}=this._getConfig(e),o=this._getTopScene();if(!o)return;this._addCancelObserver(o),o.disableObjectsEvent();let s=SX.create(o);s.startScroll(n,i);let{scrollX:l,scrollY:u}=KF(s);this._viewportScrollX=l,this._viewportScrollY=u,a?(this._copperSelectedObject=e,this._changeStart$.next({target:e,objects:new Map([[e.oKey,e]]),type:RX.MOVE_START})):(this._updateActiveObjectList(e,t),this._changeStart$.next({target:e,objects:this._selectedObjectMap,type:RX.MOVE_START})),this._moveBufferSkip=!1;let c=o.onPointerMove$.subscribeEvent(e=>{let{offsetX:t,offsetY:r}=e;this._moving(t,r,s,a),!a&&this._clearControlMap(),s.scrolling(t,r,()=>{this._moving(t,r,s,a)})}),d=o.onPointerUp$.subscribeEvent(t=>{null==c||c.unsubscribe(),null==d||d.unsubscribe(),o.enableObjectsEvent(),!a&&this.refreshControls(),s.dispose();let{offsetX:r,offsetY:n}=t;a?this._changeEnd$.next({objects:new Map([[e.oKey,e]]),type:RX.MOVE_END,offsetX:r,offsetY:n,event:t}):this._changeEnd$.next({objects:this._selectedObjectMap,type:RX.MOVE_END,offsetX:r,offsetY:n,event:t})});r.stopPropagation()});return this.disposeWithMe(Jl(t)),this._subscriptionObjectMap.set(e.oKey,t),e}detachFrom(e){let t=this._subscriptionObjectMap.get(e.oKey);return t&&(t.unsubscribe(),this._subscriptionObjectMap.delete(e.oKey)),e}dispose(){var e,t,r;super.dispose(),null==(e=this._topScenePointerMoveSub)||e.unsubscribe(),null==(t=this._topScenePointerUpSub)||t.unsubscribe(),null==(r=this._cancelFocusSubscription)||r.unsubscribe(),this._cancelFocusSubscription=null,this._topScenePointerMoveSub=null,this._topScenePointerUpSub=null,this._cancelFocusSubscription=null,this._transformerControlMap.forEach(e=>e.dispose()),this._selectedObjectMap.forEach(e=>e.dispose()),this._changeStart$.complete(),this._changing$.complete(),this._changeEnd$.complete()}_initialProps(e){if(!e)return;let t=Object.keys(e);0!==t.length&&t.forEach(t=>{if(void 0===e[t])return!0;this[t]=e[t]})}_checkMoveBoundary(e,t,r,n,i,a,o){let{left:s,top:l,width:u,height:c}=e;return t+s+na+this.zeroLeft&&(t=this.zeroLeft+a-u-s-n),r+l+c+i>o+this.zeroTop&&(r=this.zeroTop+o-c-l-i),{moveLeft:t,moveTop:r}}_moving(e,t,r,n=!1){let{scrollX:i,scrollY:a}=KF(r),o=e-this._viewportScrollX+i,s=t-this._viewportScrollY+a,{ancestorScaleX:l,ancestorScaleY:u,ancestorLeft:c,ancestorTop:d}=this._scene,h=this._smoothAccuracy((o-this._startOffsetX)/l,n),m=this._smoothAccuracy((s-this._startOffsetY)/u,n);if(this._moveBufferBlocker(e,t))return;let f=this._getTopScene();if(!f)return;let{width:g,height:p}=f;if(n){if(this._copperSelectedObject){let r=this._copperSelectedObject,n=this._checkMoveBoundary(r,h,m,c,d,g,p);h=n.moveLeft,m=n.moveTop,r.translate(h+r.left,m+r.top),this._changing$.next({objects:new Map([[r.oKey,r]]),moveX:h,moveY:m,type:RX.MOVING,offsetX:e,offsetY:t})}}else{let r=Array.from(this._selectedObjectMap.values());for(let e=0;e{e.translate(h+e.left,m+e.top)}),this._changing$.next({objects:this._selectedObjectMap,moveX:h,moveY:m,type:RX.MOVING,offsetX:e,offsetY:t})}this._startOffsetX=o,this._startOffsetY=s}_moveBufferBlocker(e,t){return!this._moveBufferSkip&&Math.abs(e-this._startOffsetX)<2&&Math.abs(t-this._startOffsetY)<2||(this._moveBufferSkip=!0,!1)}_anchorMoving(e,t,r,n,i,a=!1,o){let{scrollX:s,scrollY:l}=KF(n),u=t-this._viewportScrollX+s,c=r-this._viewportScrollY+l;if(this._moveBufferBlocker(t,r))return;let d=o instanceof fX;a?(this._moveFunc(o,e,u,c,i,a,d),this._changing$.next({objects:new Map([[o.oKey,o]]),type:RX.MOVING,offsetX:t,offsetY:r})):(this._selectedObjectMap.forEach(t=>{this._moveFunc(t,e,u,c,i,a,d)}),this._changing$.next({objects:this._selectedObjectMap,type:RX.MOVING,offsetX:t,offsetY:r})),i&&e!==AX.RESIZE_CT&&e!==AX.RESIZE_CB&&e!==AX.RESIZE_LM&&e!==AX.RESIZE_RM&&!d||(this._startOffsetX=u,this._startOffsetY=c)}_moveFunc(e,t,r,n,i,a=!1,o=!1){let{left:s,top:l,width:u,height:c,angle:d}=e,h=this._startStateMap.get(e.oKey)||{},m={},{moveLeft:f,moveTop:g}=this._getMovePoint(r,n,e);if(i&&t!==AX.RESIZE_CT&&t!==AX.RESIZE_CB&&t!==AX.RESIZE_LM&&t!==AX.RESIZE_RM&&!o)switch(t){case AX.RESIZE_LT:m=this._resizeLeftTop(e,f,g,h);break;case AX.RESIZE_RT:m=this._resizeRightTop(e,f,g,h);break;case AX.RESIZE_LB:m=this._resizeLeftBottom(e,f,g,h);break;case AX.RESIZE_RB:m=this._resizeRightBottom(e,f,g,h)}else m=this._updateCloseKeepRatioState(t,s,l,u,c,f,g);e.transformByState(this._applyRotationForResult(m,{left:s,top:l,width:u,height:c},d,a))}_getMovePoint(e,t,r){let{ancestorScaleX:n,ancestorScaleY:i}=this._scene,{left:a,top:o,width:s,height:l,angle:u}=r,c=new TF(a+s/2,o+l/2),d=new TF(e,t);d.rotateByPoint(zV(-u),c);let h=new TF(this._startOffsetX,this._startOffsetY);return h.rotateByPoint(zV(-u),c),{moveLeft:(d.x-h.x)/n,moveTop:(d.y-h.y)/i}}_applyRotationForResult(e,t,r,n=!1){if(0===r)return e;let{left:i=0,top:a=0,width:o=0,height:s=0}=e,{left:l=0,top:u=0,width:c=0,height:d=0}=t,h=o/2+i-l,m=s/2+a-u,f=DF(new TF(c/2,d/2),r,new TF(i,a),new TF(h,m));return{width:this._smoothAccuracy(o,n),height:this._smoothAccuracy(s,n),left:this._smoothAccuracy(f.x,n),top:this._smoothAccuracy(f.y,n)}}_updateCloseKeepRatioState(e,t,r,n,i,a,o){let s={left:t,top:r,width:n,height:i};switch(e){case AX.RESIZE_LT:s.width=n-a<20?20:n-a,s.height=i-o<20?20:i-o,s.left=t+n-s.width,s.top=r+i-s.height;break;case AX.RESIZE_CT:s.height=i-o<20?20:i-o,s.top=r+i-s.height;break;case AX.RESIZE_RT:s.width=n+a<20?20:n+a,s.height=i-o<20?20:i-o,s.top=r+i-s.height;break;case AX.RESIZE_LM:s.width=n-a<20?20:n-a,s.left=t+n-s.width;break;case AX.RESIZE_RM:s.width=a+n<20?20:a+n;break;case AX.RESIZE_LB:s.width=n-a<20?20:n-a,s.height=i+o<20?20:i+o,s.left=s.width<=20?t:t+a;break;case AX.RESIZE_CB:s.height=o+i<20?20:o+i;break;case AX.RESIZE_RB:s.width=a+n<20?20:a+n,s.height=o+i<20?20:o+i}return s}_getLimitedSize(e,t){let r=20,n=20;return e>t?r*=Math.abs(e/t):n*=Math.abs(t/e),{limitWidth:r,limitHeight:n}}_resizeLeftTop(e,t,r,n){let{left:i=0,top:a=0,width:o=0,height:s=0}=e.getState(),{width:l=o,height:u=s,left:c=i,top:d=a}=n,h=l/u,{moveLeft:m,moveTop:f}=this._fixMoveLtRb(t,r,l,u,h),g=l-m,p=u-f,{limitWidth:v,limitHeight:b}=this._getLimitedSize(l,u);return gi?o=a/i:a=o*i,{moveLeft:a,moveTop:o}}_fixMoveLbRt(e,t,r,n,i){let a=e,o=t;return Math.abs((r-a)/(n+o))>i?o=-a/i:a=-o*i,{moveLeft:a,moveTop:o}}_attachEventToAnchor(e,t=AX.RESIZE_LT,r){this.disposeWithMe(Jl(e.onPointerDown$.subscribeEvent((e,n)=>{let{offsetX:i,offsetY:a}=e;this._startOffsetX=i,this._startOffsetY=a;let o=this._getTopScene(),{keepRatio:s,isCropper:l}=this._getConfig(r);if(null==o)return;o.disableObjectsEvent();let u=SX.create(o);u.startScroll(i,a);let{scrollX:c,scrollY:d}=KF(u);this._viewportScrollX=c,this._viewportScrollY=d;let{ancestorLeft:h,ancestorTop:m}=this._scene,{width:f,height:g}=o,p=this._getRotateAnchorCursor(t);if(l){this._changeStart$.next({objects:new Map([[r.oKey,r]]),type:RX.MOVE_START});let{width:e,height:t,left:n,top:i}=r.getState();this._startStateMap.set(r.oKey,{width:e,height:t,left:n,top:i})}else this._clearControlMap(),this._changeStart$.next({objects:this._selectedObjectMap,type:RX.MOVE_START}),this._selectedObjectMap.forEach(e=>{let{width:t,height:r,left:n,top:i}=e.getState();this._startStateMap.set(e.oKey,{width:t,height:r,left:n,top:i})});this._moveBufferSkip=!1,this._topScenePointerMoveSub=o.onPointerMove$.subscribeEvent(e=>{let{offsetX:n,offsetY:i}=e;this._anchorMoving(t,n,i,u,s,l,r),u.scrolling(n,i,()=>{this._anchorMoving(t,n,i,u,s,l,r)}),o.setCursor(p)}),this._topScenePointerUpSub=o.onPointerUp$.subscribeEvent(e=>{var t,n;null==(t=this._topScenePointerMoveSub)||t.unsubscribe(),null==(n=this._topScenePointerUpSub)||n.unsubscribe(),o.enableObjectsEvent(),o.resetCursor(),u.dispose(),this._startStateMap.clear();let{offsetX:i,offsetY:a}=e;l?(this._recoverySizeBoundary([r],h,m,f,g),this._changeEnd$.next({objects:new Map([[r.oKey,r]]),type:RX.MOVE_END,offsetX:i,offsetY:a,event:e})):(this._recoverySizeBoundary(Array.from(this._selectedObjectMap.values()),h,m,f,g),this._changeEnd$.next({objects:this._selectedObjectMap,type:RX.MOVE_END,offsetX:i,offsetY:a,event:e})),this.refreshControls()}),n.stopPropagation()})))}_recoverySizeBoundary(e,t,r,n,i){for(let a=0;an+this.zeroLeft&&(d.width=this.zeroLeft+n-s-t),l+ri+this.zeroTop&&(d.height=this.zeroTop+i-l-r),o.transformByState(d)}}_attachEventToRotate(e,t){this.disposeWithMe(Jl(e.onPointerDown$.subscribeEvent((e,r)=>{let{offsetX:n,offsetY:i}=e;this._startOffsetX=n,this._startOffsetY=i;let a=this._getTopScene();if(null==a)return;a.disableObjectsEvent();let o=a.getScrollXYInfoByViewport(TF.create(n,i));this._viewportScrollX=o.x,this._viewportScrollY=o.y;let s=this._getRotateAnchorCursor(AX.ROTATE_LINE),{ancestorLeft:l,ancestorTop:u,width:c,height:d,angle:h}=t,m=c/2+l,f=d/2+u;this._clearControlMap(),this._changeStart$.next({objects:this._selectedObjectMap,type:RX.MOVE_START}),this._moveBufferSkip=!1;let g=a.onPointerMove$.subscribeEvent(e=>{let{offsetX:t,offsetY:r}=e;this._rotateMoving(t,r,m,f,h),a.setCursor(s)}),p=a.onPointerUp$.subscribeEvent(e=>{null==g||g.unsubscribe(),null==p||p.unsubscribe(),a.enableObjectsEvent(),a.resetCursor(),this.refreshControls();let{offsetX:t,offsetY:r}=e;this._changeEnd$.next({objects:this._selectedObjectMap,type:RX.MOVE_END,offsetX:t,offsetY:r,event:e})});r.stopPropagation()})))}_rotateMoving(e,t,r,n,i){let{ancestorScaleX:a,ancestorScaleY:o}=this._scene;if(this._moveBufferBlocker(e,t))return;let s=i+WV(Math.atan2((t-n)/o+this._viewportScrollY,(e-r)/a+this._viewportScrollX)-Math.atan2((this._startOffsetY-n)/o+this._viewportScrollY,(this._startOffsetX-r)/a+this._viewportScrollX));s<0&&(s=360+s),s%=360,s=this._smoothAccuracy(s),this._selectedObjectMap.forEach(e=>{e.transformByState({angle:s})}),this._changing$.next({objects:this._selectedObjectMap,angle:s,type:RX.MOVING,offsetX:e,offsetY:t})}_getOutlinePosition(e,t,r,n){return{left:r-n,top:-r-this.borderStrokeWidth,width:e+2*r,height:t+2*r}}_getRotateAnchorCursor(e){let t=TV.NORTH_WEST_RESIZE;switch(e){case AX.ROTATE:case AX.ROTATE_LINE:t=TV.MOVE;break;case AX.RESIZE_LT:break;case AX.RESIZE_CT:t=TV.NORTH_RESIZE;break;case AX.RESIZE_RT:t=TV.NORTH_EAST_RESIZE;break;case AX.RESIZE_LM:t=TV.WEST_RESIZE;break;case AX.RESIZE_RM:t=TV.EAST_RESIZE;break;case AX.RESIZE_LB:t=TV.SOUTH_WEST_RESIZE;break;case AX.RESIZE_CB:t=TV.SOUTH_RESIZE;break;case AX.RESIZE_RB:t=TV.SOUTH_EAST_RESIZE}return t}_getCopperAnchorPosition(e,t,r,n){let{borderStrokeWidth:i,borderSpacing:a,anchorSize:o}=this._getConfig(n),s=0,l=0,u=o,c=o/4;switch(e){case AX.RESIZE_LT:s+=-a-i,l+=-a-i;break;case AX.RESIZE_CT:s+=r/2-u/2,l+=-a-i;break;case AX.RESIZE_RT:s+=r+a-i-u,l+=-a-i;break;case AX.RESIZE_LM:s+=a-i,l+=t/2-u/2;break;case AX.RESIZE_RM:s+=r+a-i-c,l+=t/2-u/2;break;case AX.RESIZE_LB:s+=-this.borderSpacing-i,l+=t+a-i-u;break;case AX.RESIZE_CB:s+=r/2-u/2,l+=t+a-i-c;break;case AX.RESIZE_RB:s+=r+a-i-u,l+=t+a-i-u}return{left:s,top:l}}_getRotateAnchorPosition(e,t,r,n){let{rotateAnchorOffset:i,rotateSize:a,borderStrokeWidth:o,borderSpacing:s,anchorSize:l}=this._getConfig(n),u=-l/2,c=-l/2;switch(e){case AX.ROTATE:u=r/2-a/2,c=-i-s-2*o-a;break;case AX.ROTATE_LINE:u=r/2,c=-i-s-o;break;case AX.RESIZE_LT:u+=-s-o,c+=-s-o;break;case AX.RESIZE_CT:u+=r/2,c+=-s-o;break;case AX.RESIZE_RT:u+=r+s-o,c+=-s-o;break;case AX.RESIZE_LM:u+=s-o,c+=t/2;break;case AX.RESIZE_RM:u+=r+s-o,c+=t/2;break;case AX.RESIZE_LB:u+=-this.borderSpacing-o,c+=t+s-o;break;case AX.RESIZE_CB:u+=r/2,c+=t+s-o;break;case AX.RESIZE_RB:u+=r+s-o,c+=t+s-o}return{left:u,top:c}}_createResizeAnchor(e,t,r){let{height:n=0,width:i=0,scaleX:a=1,scaleY:o=1}=t.getState(),{anchorFill:s,anchorStroke:l,anchorStrokeWidth:u,anchorCornerRadius:c,anchorSize:d}=this._getConfig(t),{left:h,top:m}=this._getRotateAnchorPosition(e,n,i,t),f=this._getRotateAnchorCursor(e),g=new tX(`${e}_${r}`,{zIndex:r-1,fill:s,stroke:l,strokeWidth:u,width:d,height:d,radius:c,left:h,top:m});return this._attachHover(g,f,TV.DEFAULT),g}_createCopperResizeAnchor(e,t,r){let n,{height:i=0,width:a=0,scaleX:o=1,scaleY:s=1}=t.getState(),{anchorFill:l,anchorStroke:u,anchorStrokeWidth:c,anchorSize:d}=this._getConfig(t),{left:h,top:m}=this._getCopperAnchorPosition(e,i,a,t),f=this._getRotateAnchorCursor(e),g=`${e}_${r}`,p={zIndex:r-1,fill:l,stroke:u,strokeWidth:c,width:d,height:d,left:h,top:m},v=d,b=d/4;return f===TV.EAST_RESIZE||f===TV.WEST_RESIZE?(p.width=b,p.height=v,n=new tX(g,p)):f===TV.NORTH_RESIZE||f===TV.SOUTH_RESIZE?(p.width=v,p.height=b,n=new tX(g,p)):f===TV.NORTH_EAST_RESIZE?(p.pointsGroup=this._getNorthEastPoints(v,b),n=new sX(g,p)):f===TV.NORTH_WEST_RESIZE?(p.pointsGroup=this._getNorthWestPoints(v,b),n=new sX(g,p)):f===TV.SOUTH_EAST_RESIZE?(p.pointsGroup=this._getSouthEastPoints(v,b),n=new sX(g,p)):f===TV.SOUTH_WEST_RESIZE&&(p.pointsGroup=this._getSouthWestPoints(v,b),n=new sX(g,p)),this._attachHover(n,f,TV.DEFAULT),n}_getNorthEastPoints(e,t){let r=e-t;return[[{x:0,y:0},{x:e,y:0},{x:e,y:e},{x:r,y:e},{x:r,y:t},{x:0,y:t}]]}_getNorthWestPoints(e,t){return[[{x:0,y:0},{x:e,y:0},{x:e,y:t},{x:t,y:t},{x:t,y:e},{x:0,y:e}]]}_getSouthEastPoints(e,t){let r=e-t;return[[{x:r,y:0},{x:e,y:0},{x:e,y:e},{x:0,y:e},{x:0,y:r},{x:r,y:r},{x:r,y:0}]]}_getSouthWestPoints(e,t){let r=e-t;return[[{x:0,y:0},{x:t,y:0},{x:t,y:r},{x:e,y:r},{x:e,y:e},{x:0,y:e},{x:0,y:0}]]}_checkTransformerType(e){return e.indexOf(AX.OUTLINE)>-1?AX.OUTLINE:e.indexOf(AX.ROTATE)>-1?AX.ROTATE:e.indexOf(AX.ROTATE_LINE)>-1?AX.ROTATE_LINE:e.indexOf(AX.RESIZE_LT)>-1?AX.RESIZE_LT:e.indexOf(AX.RESIZE_CT)>-1?AX.RESIZE_CT:e.indexOf(AX.RESIZE_RT)>-1?AX.RESIZE_RT:e.indexOf(AX.RESIZE_LM)>-1?AX.RESIZE_LM:e.indexOf(AX.RESIZE_RM)>-1?AX.RESIZE_RM:e.indexOf(AX.RESIZE_LB)>-1?AX.RESIZE_LB:e.indexOf(AX.RESIZE_CB)>-1?AX.RESIZE_CB:e.indexOf(AX.RESIZE_RB)>-1?AX.RESIZE_RB:void 0}_updateControlIterator(e){this._transformerControlMap.forEach((t,r)=>{let n=this._selectedObjectMap.get(r);if(!n)return!0;e(t,n)})}_updateControl(){this._updateControlIterator((e,t)=>{let{left:r,top:n,height:i,width:a,angle:o}=t.getState();e.transformByState({left:r,top:n,height:i,width:a,angle:o}),e.show(),e.makeDirty(!0)})}_hideControl(){this._transformerControlMap.forEach(e=>{e.hide(),e.makeDirty(!0)})}_attachHover(e,t,r){this.disposeWithMe(Jl(e.onPointerEnter$.subscribeEvent(()=>{e.cursor=t}))),this.disposeWithMe(Jl(e.onPointerLeave$.subscribeEvent(()=>{e.cursor=r})))}_clearControls(e=!1){this._clearControlMap(),this._clearControl$.next(e)}clearControlByIds(e){for(let t of e)this._selectedObjectMap.delete(t);this.refreshControls()}_clearControlMap(){this._transformerControlMap.forEach(e=>{e.dispose()}),this._transformerControlMap.clear()}_createControl(e,t=!0){let{left:r=0,top:n=0,height:i=0,width:a=0}=e.getState(),o=e.angle,{isCropper:s,resizeEnabled:l,rotateEnabled:u,rotateAnchorOffset:c,rotateSize:d,rotateCornerRadius:h,borderEnabled:m,borderStroke:f,borderStrokeWidth:g,borderSpacing:p,enabledAnchors:v}=this._getConfig(e);if(t&&s)return;let b=e.oKey,C=this._selectedObjectMap.size+e.maxZIndex+5e3,y=e.getLayerIndex()||2,_=[];if(m&&!s){let e=new tX(`${AX.OUTLINE}_${C}`,{zIndex:C-1,evented:!1,strokeWidth:g,stroke:f,...this._getOutlinePosition(a,i,p,g)});_.push(e)}if(l&&!s){let{left:t,top:r}=this._getRotateAnchorPosition(AX.ROTATE_LINE,i,a,e);if(u){let n=new tX(`${AX.ROTATE_LINE}_${C}`,{zIndex:C-1,evented:!1,left:t,top:r,height:c,width:1,strokeWidth:g,stroke:f}),{left:o,top:s}=this._getRotateAnchorPosition(AX.ROTATE,i,a,e),l=this._getRotateAnchorCursor(AX.ROTATE),u=new tX(`${AX.ROTATE}_${C}`,{zIndex:C-1,left:o,top:s,height:d,width:d,radius:h,strokeWidth:2*g,stroke:f});this._attachEventToRotate(u,e),this._attachHover(u,l,TV.DEFAULT),_.push(n,u)}}if(l)for(let t=0,r=v.length;t{this.clearSelectedObjects()})}_smoothAccuracy(e,t=!1,r=1){return QV(e,t?3:r)}},NX=class extends tu{constructor(e,t,r){var n;if(super(),this._parent=t,yF(this,"_sceneKey",""),yF(this,"_width",100),yF(this,"_height",100),yF(this,"_scaleX",1),yF(this,"_scaleY",1),yF(this,"_transform",new ej),yF(this,"_evented",!0),yF(this,"_layers",[]),yF(this,"_viewports",[]),yF(this,"_cursor",TV.DEFAULT),yF(this,"_defaultCursor",TV.DEFAULT),yF(this,"_addObject$",new Qn(this)),yF(this,"addObject$",this._addObject$.asObservable()),yF(this,"onTransformChange$",new cf),yF(this,"onFileLoaded$",new cf),yF(this,"onPointerDown$",new cf),yF(this,"onPointerMove$",new cf),yF(this,"onPointerUp$",new cf),yF(this,"onPointerEnter$",new cf),yF(this,"onPointerOut$",new cf),yF(this,"onPointerCancel$",new cf),yF(this,"onPointerLeave$",new cf),yF(this,"onDragEnter$",new cf),yF(this,"onDragOver$",new cf),yF(this,"onDragLeave$",new cf),yF(this,"onDrop$",new cf),yF(this,"onClick$",new cf),yF(this,"onSingleClick$",new cf),yF(this,"onDblclick$",new cf),yF(this,"onTripleClick$",new cf),yF(this,"onMouseWheel$",new cf),yF(this,"onKeyDown$",new cf),yF(this,"onKeyUp$",new cf),yF(this,"_beforeRender$",new Qn(null)),yF(this,"beforeRender$",this._beforeRender$.asObservable()),yF(this,"_afterRender$",new Qn(null)),yF(this,"afterRender$",this._afterRender$.asObservable()),yF(this,"_transformer",void 0),yF(this,"_inputManager",void 0),yF(this,"_capturedObject",null),this._sceneKey=e,r&&this.transformByState(r),this._parent.classType===LV.ENGINE){let t=this._parent;t.addScene(this),t.hasActiveScene()||t.setActiveScene(e),this._inputManager=new _X(this)}else this._parent.classType===LV.SCENE_VIEWER&&this._parent.addSubScene(this);this.disposeWithMe(Jl(null==(n=this._parent)?void 0:n.onTransformChange$.subscribeEvent(e=>{this._transformHandler()})))}get classType(){return LV.SCENE}get transform(){return this._transform}get width(){return this._width}get height(){return this._height}get scaleX(){return this._scaleX}get scaleY(){return this._scaleY}get sceneKey(){return this._sceneKey}get objectsEvented(){return this._evented}set transform(e){this._transform=e}set width(e){this._width=e}set height(e){this._height=e}set scaleX(e){this._scaleX=e}set scaleY(e){this._scaleY=e}get ancestorScaleX(){let e=this.getParent(),t=1;return e.classType===LV.SCENE_VIEWER&&(t=e.ancestorScaleX),this.scaleX*t}get ancestorScaleY(){let e=this.getParent(),t=1;return e.classType===LV.SCENE_VIEWER&&(t=e.ancestorScaleY),this.scaleY*t}getAncestorScale(){return{scaleX:this.ancestorScaleX||1,scaleY:this.ancestorScaleY||1}}get ancestorLeft(){let e=this.getParent(),t=0;return e.classType===LV.SCENE_VIEWER&&(t=e.ancestorLeft),t}get ancestorTop(){let e=this.getParent(),t=0;return e.classType===LV.SCENE_VIEWER&&(t=e.ancestorTop),t}set cursor(e){this.setCursor(e)}attachControl(e){var t;if(this._parent.classType===LV.ENGINE)return null==(t=this._inputManager)||t.attachControl(e),this}detachControl(){var e;return null==(e=this._inputManager)||e.detachControl(),this}makeDirty(e=!0){var t;return this._layers.forEach(t=>{t.makeDirty(e)}),this._parent.classType===LV.SCENE_VIEWER&&(null==(t=this._parent)||t.makeDirty(e)),this}makeDirtyNoParent(e=!0){return this._layers.forEach(t=>{t.makeDirty(e)}),this}enableLayerCache(...e){e.forEach(e=>{this.getLayer(e).enableCache()})}disableLayerCache(...e){e.forEach(e=>{this.getLayer(e).disableCache()})}isDirty(){for(let e=0;e{void 0!==e[t]&&(r[t]=this[t],this[t]=e[t])}),this._transformHandler(),this.onTransformChange$.emitEvent({type:zF.all,value:e,preValue:r}))}getParent(){return this._parent}getEngine(){if(this._parent.classType===LV.ENGINE)return this._parent;let e=this._parent;for(;e;){if(e.classType===LV.ENGINE)return e;e=null==e?void 0:e.getParent()}return null}getLayers(){return this._layers}getLayer(e=1){for(let t of this._layers)if(t.zIndex===e)return t;let t=new hX(this,[],e);return this.addLayer(t),t}findLayerByZIndex(e=1){for(let t of this.getLayers())if(t.zIndex===e)return t}getLayerMaxZIndex(){let e=Number.MIN_VALUE;for(let t=0;t=e&&(e=r.zIndex)}return e}addLayer(...e){this._layers.push(...e)}addObjects(e,t=1){var r;return null==(r=this.getLayer(t))||r.addObjects(e),this._addObject$.next(this),this}addObject(e,t=1){var r;return null==(r=this.getLayer(t))||r.addObject(e),this._addObject$.next(this),this}setObjectBehavior(e){e.parent||(e.parent=this),e.onIsAddedToParent$.emitEvent(this)}removeObject(e){if(null==e)return;let t=this.getLayers();for(let r of t)r.removeObject(e);return this}removeObjects(e){if(null==e)return;let t=this.getLayers();for(let r of t)r.removeObjects(e);return this}getObjectsByLayer(e){let t=[];this._layers.sort(jh);for(let r of this._layers)r.zIndex===e&&t.push(...r.getObjects());return t}getAllObjects(){let e=[];this._layers.sort(jh);for(let t of this._layers)e.push(...t.getObjects());return e}getAllObjectsByOrder(){let e=[];this._layers.sort(jh);for(let t of this._layers)e.push(...t.getObjectsByOrder());return e}getAllObjectsByDescOrder(e=!1){let t=[],r=e?Hh:jh;this._layers.sort(r);for(let e of this._layers)t.push(...e.getObjectsByOrder().sort(r));return t}getAllObjectsByOrderForPick(e=!1){let t=[],r=e?Hh:jh;this._layers.sort(r);for(let e of this._layers)t.push(...e.getObjectsByOrderForPick().sort(r));return t}getObject(e){for(let t of this._layers){let r=t.getObjectsByOrder();for(let t of r)if(t.oKey===e)return t}}getObjectIncludeInGroup(e){for(let t of this._layers){let r=t.getObjects();for(let t of r)if(t.oKey===e)return t}}fuzzyMathObjects(e,t=!1){let r=[];for(let n of this._layers){let i=n.getObjectsByOrder();for(let n of i)(t?n.oKey.startsWith(e):n.oKey.indexOf(e)>-1)&&r.push(n)}return r}addViewport(...e){return this._viewports.push(...e),this}removeViewport(e){for(let t=0,r=this._viewports.length;t{this.render(e),FV(t)})}attachTransformerTo(e){var t;this._transformer||this.initTransformer(),null==(t=this._transformer)||t.attachTo(e)}detachTransformerFrom(e){var t;null==(t=this._transformer)||t.detachFrom(e)}initTransformer(e){this._transformer?this._transformer.resetProps(e):this._transformer=new TX(this,e)}getTransformerByCreate(){return this._transformer||this.initTransformer(),this._transformer}getTransformer(){return this._transformer}updateTransformerZero(e,t){var r;null==(r=this._transformer)||r.updateZeroPoint(e,t)}findViewportByPosToScene(e){return this._viewports.find(t=>t.isHit(e))}getActiveViewportByCoord(e){return e=this.getCoordRelativeToViewport(e),this.findViewportByPosToScene(e)}getVpScrollXYInfoByPosToVp(e,t){return this.getScrollXYInfoByViewport(e,t)}getScrollXYInfoByViewport(e,t){return t||(t=this.findViewportByPosToScene(e)||this.getDefaultViewport()),this.getViewportScrollXY(t)}getDefaultViewport(){return this.getViewport("viewMain")}getViewportScrollXY(e){let t=0,r=0;return e&&(t+=e.viewportScrollX||0,r+=e.viewportScrollY||0),{x:t,y:r}}getRelativeToViewportCoord(e){return this.getCoordRelativeToViewport(e)}getCoordRelativeToViewport(e){let t=this.getParent(),r=[];for(;t;)(t.classType===LV.SCENE||t.classType===LV.SCENE_VIEWER)&&r.push(t),t=(null==t?void 0:t.getParent)&&(null==t?void 0:t.getParent());r.reverse();for(let t of r)if(t.classType===LV.SCENE){let r=t.getActiveViewportByCoord(e);if(r){let t=r.viewportScrollX||0,n=r.viewportScrollY||0;e=e.addByPoint(t,n)}}else t.classType===LV.SCENE_VIEWER&&(e=t.transform.clone().invert().applyPoint(e));return e}clearLayer(){this._layers=[]}clearViewports(){this._viewports=[]}getPrecisionScale(){var e;let t=(null==(e=this.getEngine())?void 0:e.getPixelRatio())||1,{scaleX:r,scaleY:n}=this.getAncestorScale();return{scaleX:r*t,scaleY:n*t}}dispose(){var e,t,r;let n=[...this.getLayers()];n.forEach(e=>{e.dispose()}),n=[];let i=[...this.getViewports()];i.forEach(e=>{e.dispose()}),i=[],this.clearLayer(),this.clearViewports(),this.detachControl(),null==(e=this.onTransformChange$)||e.complete(),null==(t=this._inputManager)||t.dispose(),this._inputManager=null,null==(r=this._transformer)||r.dispose(),this._transformer=null,this.onFileLoaded$.complete(),this.onClick$.complete(),this.onPointerDown$.complete(),this.onPointerMove$.complete(),this.onPointerUp$.complete(),this.onPointerEnter$.complete(),this.onPointerLeave$.complete(),this.onPointerOut$.complete(),this.onPointerCancel$.complete(),this.onDragEnter$.complete(),this.onDragOver$.complete(),this.onDragLeave$.complete(),this.onDrop$.complete(),this.onSingleClick$.complete(),this.onDblclick$.complete(),this.onTripleClick$.complete(),this.onMouseWheel$.complete(),this.onKeyDown$.complete(),this.onKeyUp$.complete(),this._addObject$.complete(),super.dispose()}pick(e){let t=this.getActiveViewportByCoord(e);if(t||(t=this._viewports[0]),!this.objectsEvented||!t)return null;let r=t.pickScrollBar(e);if(r)return r;let n=t.transformVector2SceneCoord(e),i=null,a=this.getAllObjectsByOrderForPick().reverse(),o=a.length;for(let e=0;e{e.resetCanvasSizeAndUpdateScroll()}),this.makeDirty(!0)}disableObjectsEvent(){this._evented=!1}enableObjectsEvent(){this._evented=!0}get capturedObject(){return this._capturedObject}setCaptureObject(e){this._capturedObject=e}releaseCapturedObject(){this._capturedObject=null}};let MX=class extends tu{get unitId(){return this._renderContext.unitId}get type(){return this._renderContext.type}set isMainScene(e){this._renderContext.isMainScene=e}get isMainScene(){return this._renderContext.isMainScene}set engine(e){this._renderContext.engine=e}get engine(){return this._renderContext.engine}set mainComponent(e){this._renderContext.mainComponent=e}get mainComponent(){return this._renderContext.mainComponent}set scene(e){this._renderContext.scene=e}get scene(){return this._renderContext.scene}get components(){return this._renderContext.components}constructor(e,t){super(),yF(this,"isRenderUnit",!0),yF(this,"_activated$",new Qn(!0)),yF(this,"activated$",this._activated$.pipe(Zn())),yF(this,"_injector",void 0),yF(this,"_renderContext",void 0),this._injector=t.createChild(),this._renderContext={unit:e.unit,unitId:e.unit.getUnitId(),type:e.unit.type,components:new Map,mainComponent:null,isMainScene:e.isMainScene,engine:e.engine,scene:e.scene,activated$:this.activated$,activate:()=>this._activated$.next(!0),deactivate:()=>this._activated$.next(!1)}}dispose(){this._injector.dispose(),super.dispose(),this._activated$.next(!1),this._activated$.complete(),this._renderContext.unit=null,this._renderContext.components.clear()}with(e){return this._injector.get(e)}addRenderDependencies(e){this._initDependencies(e)}_initDependencies(e){let t=this._injector;e.forEach(e=>{let[r,n]=Array.isArray(e)?e:[e,null];if(n){if(!C(n))throw Error("[RenderUnit]: render dependency could only be an class!");t.add([r,{useFactory:()=>t.createInstance(n.useClass,this._renderContext)}])}else t.add([r,{useFactory:()=>t.createInstance(r,this._renderContext)}])}),e.forEach(e=>{let[r]=Array.isArray(e)?e:[e,null];t.get(r)})}getRenderContext(){return this._renderContext}activate(){this._renderContext.activate()}deactivate(){this._renderContext.deactivate()}};MX=Vz([Bz(1,Y(he))],MX);const OX={width:1500,height:1e3};let LX=class extends tu{get defaultEngine(){return this._defaultEngine||(this._defaultEngine=new bX),this._defaultEngine}constructor(e,t,r){super(),this._injector=e,this._univerInstanceService=t,this._themeService=r,yF(this,"_defaultEngine",void 0),yF(this,"_renderMap",new Map),yF(this,"_createRender$",new On),yF(this,"createRender$",this._createRender$.asObservable()),yF(this,"_renderCreated$",new On),yF(this,"created$",this._renderCreated$.asObservable()),yF(this,"_renderDisposed$",new On),yF(this,"disposed$",this._renderDisposed$.asObservable()),yF(this,"_renderDependencies",new Map),this._initDarkModeListener()}dispose(){super.dispose(),this._renderMap.forEach(e=>this._disposeItem(e)),this._renderDependencies.clear(),this._renderMap.clear(),this._renderCreated$.complete(),this._renderDisposed$.complete()}registerRenderModules(e,t){this._renderDependencies.has(e)||this._renderDependencies.set(e,[]);let r=this._renderDependencies.get(e);r.push(...t);for(let[r,n]of this._renderMap)n.type===e&&this._tryAddRenderDependencies(n,t);return Jl(()=>{t.forEach(e=>vl(r,e))})}registerRenderModule(e,t){this._renderDependencies.has(e)||this._renderDependencies.set(e,[]);let r=this._renderDependencies.get(e);r.push(t);for(let[r,n]of this._renderMap)n.type===e&&this._tryAddRenderDependencies(n,[t]);return Jl(()=>vl(r,t))}_getRenderDepsByType(e){var t;return Array.from(null==(t=this._renderDependencies.get(e))?[]:t)}_initDarkModeListener(){this.disposeWithMe(this._themeService.darkMode$.subscribe(()=>{this.getRenderAll().forEach(e=>{e.components.forEach(e=>{e.makeForceDirty(!0),e.makeDirty(!0)})})}))}create(e){this._createRender$.next(e)}createRender(e){let t=this._createRender(e,this._injector.createInstance(bX,e,void 0));return this._renderCreated$.next(t),t}getAllRenderersOfType(e){let t=[];for(let[r,n]of this._renderMap)n.type===e&&t.push(n);return t}_tryAddRenderDependencies(e,t){e instanceof MX&&e.addRenderDependencies(t)}_createRender(e,t,r=!0){let n=this.getRenderById(e),i=!0;null!=n&&n.engine===t&&(i=!1),this._disposeItem(n,i);let a,{width:o,height:s}=OX,l=new NX("_UNIVER_SCENE_"+e,t,{width:o,height:s}),u=this._univerInstanceService.getUnit(e);if(u){let n=this._univerInstanceService.getUnitType(e),i=this._getRenderDepsByType(n);a=this._injector.createInstance(MX,{unit:u,engine:t,scene:l,isMainScene:r}),this._addRenderUnit(e,a),this._tryAddRenderDependencies(a,i)}else a={isThumbNail:!0,type:Pi.UNIVER_SLIDE,unitId:e,engine:t,scene:l,mainComponent:null,components:new Map,isMainScene:r,with:e=>null},this._addRenderUnit(e,a);return a}addRender(e,t){this._addRenderUnit(e,t)}_addRenderUnit(e,t){this._renderMap.set(e,t)}removeRender(e){let t=this._renderMap.get(e);null!=t&&this._disposeItem(t),this._renderMap.delete(e)}has(e){return this._renderMap.has(e)}getRenderById(e){return this._renderMap.get(e)}getRenderUnitById(e){return this._renderMap.get(e)}getRenderAll(){return this._renderMap}_disposeItem(e,t=!0){if(null==e)return;let{engine:r,scene:n,components:i}=e;null==i||i.forEach(e=>e.dispose()),n.dispose(),function(e){return!!e&&"function"==typeof e.dispose}(e)&&e.dispose(),t&&r.dispose(),this._renderDisposed$.next(e.unitId)}};LX=Vz([Bz(0,Y(he)),Bz(1,dg),Bz(2,Y(Lg))],LX);const kX=V("engine-render.render-manager.service");function PX(e,t,r){let n=t.getCurrentUnitOfType(e);return null==n?null:r.getRenderUnitById(n.getUnitId())}function DX(e,t,r,n){let i=PX(e,r,n);return i?i.with(t):null}var UX=class{constructor(){yF(this,"_renderConfig",{ok:"111"}),yF(this,"_updateSignal$",new On),yF(this,"updateSignal$",this._updateSignal$.pipe(Gn(4)))}setRenderConfig(e,t){null!=t?this._renderConfig[e]=t:delete this._renderConfig[e]}getRenderConfig(){return this._renderConfig}};const BX=V("univer.render-engine");let VX=class extends Rg{constructor(e=yX,t,r){super(),this._config=e,this._injector=t,this._configService=r;let{...n}=hr({},yX,this._config);this._configService.setConfig(CX,n)}onStarting(){Ml(this._injector,[[UX],[pX,{useClass:vX}],[BX,{useClass:bX}],[kX,{useClass:LX}]])}};yF(VX,"pluginName","UNIVER_RENDER_ENGINE_PLUGIN"),yF(VX,"packageName","@univerjs/engine-render"),yF(VX,"version","0.19.0"),VX=Vz([Bz(1,Y(he)),Bz(2,Tc)],VX);var FX=class{constructor(e,t,r){var n;yF(this,"_viewportKey",""),yF(this,"_scrollX",0),yF(this,"_scrollY",0),yF(this,"_preScrollX",0),yF(this,"_preScrollY",0),yF(this,"_viewportScrollX",0),yF(this,"_viewportScrollY",0),yF(this,"_preViewportScrollX",0),yF(this,"_preViewportScrollY",0),yF(this,"_sceneWCurrVpAfterScale",0),yF(this,"_sceneHCurrVpAfterScale",0),yF(this,"_sceneWidthAfterScale",void 0),yF(this,"_sceneHeightAfterScale",void 0),yF(this,"onMouseWheel$",new cf),yF(this,"onScrollAfter$",new cf),yF(this,"onScrollEnd$",new cf),yF(this,"onScrollByBar$",new cf),yF(this,"onResized$",new On),yF(this,"_topOrigin",0),yF(this,"_leftOrigin",0),yF(this,"_bottomOrigin",0),yF(this,"_rightOrigin",0),yF(this,"_widthOrigin",void 0),yF(this,"_heightOrigin",void 0),yF(this,"_top",0),yF(this,"_left",0),yF(this,"_bottom",0),yF(this,"_right",0),yF(this,"_width",void 0),yF(this,"_height",void 0),yF(this,"_scene",void 0),yF(this,"_scrollBar",void 0),yF(this,"_isWheelPreventDefaultX",!1),yF(this,"_isWheelPreventDefaultY",!1),yF(this,"_scrollStopNum",0),yF(this,"_clipViewport",!0),yF(this,"_active",!0),yF(this,"_paddingStartX",0),yF(this,"_paddingEndX",0),yF(this,"_paddingStartY",0),yF(this,"_paddingEndY",0),yF(this,"_marginLeft",0),yF(this,"_marginTop",0),yF(this,"_cacheBound",void 0),yF(this,"_preCacheBound",void 0),yF(this,"_preCacheVisibleBound",void 0),yF(this,"_viewBound",{top:0,left:0,bottom:0,right:0}),yF(this,"_preViewBound",void 0),yF(this,"_isDirty",!0),yF(this,"_cacheCanvas",null),yF(this,"_allowCache",!1),yF(this,"bufferEdgeX",0),yF(this,"bufferEdgeY",0),yF(this,"scrollAnimationFrameId",null),yF(this,"_isForceDirty",!0),this._viewportKey=e,this._scene=t,this._scene.addViewport(this),this._active=!uu.isDefine(null==r?void 0:r.active)||(null==r?void 0:r.active),this.setViewportSize(r),this.initCacheCanvas(r,t),this._isWheelPreventDefaultX=(null==r?void 0:r.isWheelPreventDefaultX)||!1,this._isWheelPreventDefaultY=(null==r?void 0:r.isWheelPreventDefaultY)||!1,this.resetCanvasSizeAndUpdateScroll(),this.getBounding(),null==(n=this.scene.getEngine())||n.onTransformChange$.subscribeEvent(()=>{this.markForceDirty(!0)}),this.markForceDirty(!0)}initCacheCanvas(e,t){var r;this._allowCache=(null==e?void 0:e.allowCache)||!1,this._allowCache&&(this._cacheCanvas=new lj({colorService:null==(r=t.getEngine())?void 0:r.canvasColorService}),this.bufferEdgeX=(null==e?void 0:e.bufferEdgeX)||0,this.bufferEdgeY=(null==e?void 0:e.bufferEdgeY)||0)}get scene(){return this._scene}get width(){return this._width}get height(){return this._height}get viewportKey(){return this._viewportKey}get topOrigin(){return this._topOrigin}get leftOrigin(){return this._leftOrigin}get bottomOrigin(){return this._bottomOrigin}get rightOrigin(){return this._rightOrigin}get top(){return this._top}get left(){return this._left}get bottom(){return this._bottom}get right(){return this._right}get isWheelPreventDefaultX(){return this._isWheelPreventDefaultX}get isWheelPreventDefaultY(){return this._isWheelPreventDefaultY}set width(e){this._width=e}set height(e){let t=this.scene.getParent().height;uu.isDefine(e)?this._height=uu.clamp(e,0,t):this._height=e}get isActive(){return!(!1===this._active||(this.height||0)<=0||(this.width||0)<=0)&&this._active}set viewportScrollX(e){this._viewportScrollX=e}get viewportScrollX(){return this._viewportScrollX}set viewportScrollY(e){this._viewportScrollY=e}get viewportScrollY(){return this._viewportScrollY}set scrollX(e){this._scrollX=e}set scrollY(e){this._scrollY=e}get scrollX(){return this._scrollX}get scrollY(){return this._scrollY}set top(e){var t;this._topOrigin=e,this._top=VV(e,null==(t=this._scene)||null==(t=t.getParent())?void 0:t.height)}set left(e){var t;this._leftOrigin=e,this._left=VV(e,null==(t=this.scene.getParent())?void 0:t.width)}set bottom(e){var t;this._bottomOrigin=e,this._bottom=VV(e,null==(t=this.scene.getParent())?void 0:t.height)}set right(e){var t;this._rightOrigin=e,this._right=VV(e,null==(t=this.scene.getParent())?void 0:t.width)}get viewBound(){return this._viewBound}get cacheBound(){return this._cacheBound}set cacheBound(e){this._cacheBound=e}get preCacheBound(){return this._preCacheBound}set preCacheBound(e){this._preCacheBound=e,this._preCacheVisibleBound=Object.assign({},e)}get _deltaScrollX(){return this.scrollX-this._preScrollX}get _deltaScrollY(){return this.scrollY-this._preScrollY}get _deltaViewportScrollX(){return this.viewportScrollX-this._preViewportScrollX}get _deltaViewportScrollY(){return this.viewportScrollY-this._preViewportScrollY}get canvas(){return this._cacheCanvas}enable(){this._active=!0}disable(){this._active=!1}resetCanvasSizeAndUpdateScroll(){this._resizeCacheCanvas(),this._updateScrollByViewportScrollValue(),this.onResized$.next({width:this._width,height:this._height,left:this._left,top:this._top,paddingStartX:this._paddingStartX,paddingEndX:this._paddingEndX,paddingStartY:this._paddingStartY,paddingEndY:this._paddingEndY})}setScrollBar(e){this._scrollBar=e,this._updateScrollByViewportScrollValue()}removeScrollBar(){this._scrollBar=null}resizeWhenFreezeChange(e){0!==Object.keys(e).length&&(this.setViewportSize(e),this.resetCanvasSizeAndUpdateScroll())}setPadding(e){let{startX:t=0,startY:r=0,endX:n=0,endY:i=0}=e;this._paddingStartX=t,this._paddingEndX=n,this._paddingStartY=r,this._paddingEndY=i,this.resetCanvasSizeAndUpdateScroll()}resetPadding(){this.setPadding({startX:0,endX:0,startY:0,endY:0})}setMargin(e,t){this._marginLeft=e,this._marginTop=t}scrollToBarPos(e){return this._scrollToBarPosCore(e)}scrollByBarDeltaValue(e,t=!0){let r=this.scrollX+(e.x||0),n=this.scrollY+(e.y||0);return this._scrollToBarPosCore({x:r,y:n},t)}scrollToViewportPos(e,t=!0){if(!this._scrollBar||!1===this.isActive)return;let{viewportScrollX:r,viewportScrollY:n}=e;return this._scrollToViewportPosCore({viewportScrollX:r,viewportScrollY:n},t)}scrollByViewportDeltaVal(e,t=!0){if(!this._scrollBar||!1===this.isActive)return;let r=this.viewportScrollX+(e.viewportScrollX||0),n=this.viewportScrollY+(e.viewportScrollY||0);return this._scrollToViewportPosCore({viewportScrollX:r,viewportScrollY:n},t)}transViewportScroll2ScrollValue(e,t){let r=e-this._paddingStartX,n=t-this._paddingStartY;if(this._scrollBar){r*=this._scrollBar.ratioScrollX,n*=this._scrollBar.ratioScrollY;let{scaleX:e,scaleY:t}=this.scene;r*=e,n*=t}else void 0!==this.scrollX&&(r=this.scrollX),void 0!==this.scrollY&&(n=this.scrollY);return{x:r,y:n}}transScroll2ViewportScrollValue(e,t){let r=e,n=t;if(this._scrollBar){let{scaleX:e,scaleY:t}=this.scene;0===this._scrollBar.ratioScrollX?r=void 0===this.viewportScrollX?0:this.viewportScrollX:(r/=this._scrollBar.ratioScrollX,r/=e),0===this._scrollBar.ratioScrollY?n=void 0===this.viewportScrollY?0:this.viewportScrollY:(n/=this._scrollBar.ratioScrollY,n/=t)}else r=void 0===this.viewportScrollX?0:this.viewportScrollX,n=void 0===this.viewportScrollY?0:this.viewportScrollY;let{scaleX:i,scaleY:a}=this._scene.getPrecisionScale();return{x:ZV(r+this._paddingStartX,i),y:ZV(n+this._paddingStartY,a)}}getViewportScrollByScrollXY(){let e=this.scrollX,t=this.scrollY;return this.transScroll2ViewportScrollValue(e,t)}getScrollBar(){return this._scrollBar}updateScrollVal(e){this._preScrollX=this.scrollX,this._preScrollY=this.scrollY;let{scrollX:t,scrollY:r,viewportScrollX:n,viewportScrollY:i}=e;return void 0!==t&&(this.scrollX=t),void 0!==r&&(this.scrollY=r),void 0!==n&&(this._preViewportScrollX=this.viewportScrollX,this.viewportScrollX=n),void 0!==i&&(this._preViewportScrollY=this.viewportScrollY,this.viewportScrollY=i),this}getScrollBarTransForm(){let e=ej.create();return e.multiply(ej.create([1,0,0,1,this._left,this._top])),e}shouldIntoRender(){return!(!1===this.isActive||null==this.width||null==this.height||this.width<=1||this.height<=1)}render(e,t=[],r=!1){var n;if(!this.shouldIntoRender())return;let i=e||(null==(n=this._scene.getEngine())?void 0:n.getCanvas().getContext()),a=this._scene.transform.clone();a.multiply(ej.create([1,0,0,1,-this.viewportScrollX||0,-this.viewportScrollY||0]));let o=a.getMatrix();i.save(),this._clipViewport&&(i.beginPath(),i.rect(this.left,this.top,this.width||0,this.height||0),i.clip()),i.transform(o[0],o[1],o[2],o[3],o[4],o[5]);let s=this.calcViewportInfo();for(let e=0,r=t.length;e0&&(this._preCacheVisibleBound.right-=m),f<0?this._preCacheVisibleBound.top-=f:f>0&&(this._preCacheVisibleBound.bottom-=f));let b=this.expandBounds(g),C=this._calcCacheUpdate(c,this._preCacheVisibleBound,m,f);return C&&(v=this._calcDiffCacheBound(this._preCacheBound,p)),{viewBound:c,diffBounds:h,diffX:m,diffY:f,viewPortPosition:g,viewportKey:this.viewportKey,isDirty:this.isDirty?2:0,isForceDirty:this.isForceDirty,allowCache:this._allowCache,cacheBound:p,diffCacheBounds:v,cacheViewPortPosition:b,shouldCacheUpdate:C,sceneTrans:e,cacheCanvas:this._cacheCanvas,leftOrigin:this._leftOrigin,topOrigin:this._topOrigin,bufferEdgeX:this.bufferEdgeX,bufferEdgeY:this.bufferEdgeY,updatePrevCacheBounds:e=>{this.updatePrevCacheBounds(e)}}}getBounding(){return this.calcViewportInfo()}transformVector2SceneCoord(e){let t=this.scene.transform.clone().invert(),r=this.getViewportScrollByScrollXY();return t.applyPoint(e).add(TF.FromArray([r.x,r.y]))}getAbsoluteVector(e){let t=this.scene.transform.clone(),r=this.getViewportScrollByScrollXY();return t.applyPoint(e.subtract(TF.FromArray([r.x,r.y])))}onMouseWheel(e,t){if(!this._scrollBar||!1===this.isActive)return;let r=0,n=0,i=this._scene.width;r=(this.width||1)/i*e.deltaX;let a=this._scene.height,o=this.height||1;e.shiftKey?r=o/a*e.deltaY*3:n=o/a*e.deltaY;let s=this.scrollByBarDeltaValue({x:r,y:n});s&&!s.isLimitedX&&!s.isLimitedY&&(e.preventDefault(),this._scene.getParent().classType===LV.SCENE_VIEWER&&t.stopPropagation()),this._isWheelPreventDefaultX&&this._isWheelPreventDefaultY&&e.preventDefault(),this._scene.makeDirty(!0)}isHit(e){if(!1===this.isActive)return!1;let{width:t,height:r}=this._calcViewPortSize();return e.x>=this.left&&e.x<=this.left+(t||0)&&e.y>=this.top&&e.y<=this.top+(r||0)}pickScrollBar(e){if(!this._scrollBar)return;let t=this.getScrollBarTransForm().invert().applyPoint(e);return this._scrollBar.pick(t)}openClip(){this._clipViewport=!0}closeClip(){this._clipViewport=!1}dispose(){var e,t;this.onMouseWheel$.complete(),this.onScrollAfter$.complete(),this.onScrollEnd$.complete(),null==(e=this._scrollBar)||e.dispose(),null==(t=this._cacheCanvas)||t.dispose(),this._scene.removeViewport(this._viewportKey)}limitedScroll(e,t){var r,n,i,a;if(!this._scrollBar)return{scrollX:0,scrollY:0,isLimitedX:!1,isLimitedY:!1};e=null==(r=e)?this.scrollX:r,t=null==(n=t)?this.scrollY:n;let{height:o,width:s}=this._calcViewPortSize();this._sceneWCurrVpAfterScale<=s&&(e=0),this._sceneHCurrVpAfterScale<=o&&(t=0);let l=null==(i=this._scrollBar)?void 0:i.limitX,u=null==(a=this._scrollBar)?void 0:a.limitY,c=!1,d=!1;return(e<0||e>l)&&(c=!0),(t<0||t>u)&&(d=!0),{scrollX:e=uu.clamp(e,0,l),scrollY:t=uu.clamp(t,0,u),isLimitedX:c,isLimitedY:d}}_limitViewportScroll(e,t){var r,n;let{width:i,height:a}=this._calcViewPortSize(),o=this._paddingEndY-this._paddingStartY,s=this._paddingEndX-this._paddingStartX,l=this.scene.scaleY,u=this.scene.scaleX,c=null==(r=null==(n=this.getScrollBar())?void 0:n.totalSize)?0:r,d=this._sceneWidthAfterScale-this._marginLeft*u-s*u-i+c,h=this._sceneHeightAfterScale-this._marginTop*l-o*l-a+c;return{viewportScrollX:uu.clamp(e,this._paddingStartX,d/u),viewportScrollY:uu.clamp(t,this._paddingStartY,h/l),isLimitedX:e>d,isLimitedY:t>h}}markDirty(e){void 0===e&&(e=!0),this._isDirty=e}get isDirty(){return this._isDirty}markForceDirty(e){void 0===e&&(e=!0),this._isForceDirty=e}resetPrevCacheBounds(){this._preCacheBound=null}get isForceDirty(){return this._isForceDirty}_resizeCacheCanvas(){var e;let{width:t,height:r}=this._calcViewPortSize();this.width=t,this.height=r;let n=this.scene.scaleX,i=this.scene.scaleY,a=0===t?0:t+2*this.bufferEdgeX*n,o=0===r?0:r+2*this.bufferEdgeY*i;null==(e=this._cacheCanvas)||e.setSize(a,o),this.cacheBound=this._viewBound,this.preCacheBound=null,this.markForceDirty(!0)}_updateScrollByViewportScrollValue(){if(!this.width||this.width<0||!this.height||this.height<0)return;let{width:e,height:t}=this._calcViewPortSize(),r=(this._scene.width-this._marginLeft-this._paddingEndX)*this._scene.scaleX,n=(this._scene.height-this._marginTop-this._paddingEndY)*this._scene.scaleY;if(this._sceneWCurrVpAfterScale=r,this._sceneHCurrVpAfterScale=n,this._sceneWidthAfterScale=this._scene.width*this._scene.scaleX,this._sceneHeightAfterScale=this._scene.height*this._scene.scaleY,this._scrollBar){this._scrollBar.resize(e,t,r,n);let i=this.viewportScrollX,a=this.viewportScrollY;this.scrollToViewportPos({viewportScrollX:i,viewportScrollY:a})}this.markForceDirty(!0)}_calcViewPortSize(){let e,t,{width:r,height:n}=this._scene.getParent(),{scaleX:i=1,scaleY:a=1}=this._scene,o=this._leftOrigin*i,s=this._topOrigin*a;return this._left=o,this._top=s,e=uu.isDefine(this._widthOrigin)?(this._widthOrigin||0)*i:r-(this._left+this._right),t=uu.isDefine(this._heightOrigin)?(this._heightOrigin||0)*a:n-(this._top+this._bottom),{width:e,height:t,parentHeight:n}}_afterRender(){}_emitScrollEnd$(e){clearTimeout(this._scrollStopNum),this._scrollStopNum=setTimeout(()=>{var t,r;this.onScrollEnd$.emitEvent({rawScrollX:e.rawScrollX,rawScrollY:e.rawScrollY,viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,viewportScrollX:this.viewportScrollX,viewportScrollY:this.viewportScrollY,limitX:null==(t=this._scrollBar)?void 0:t.limitX,limitY:null==(r=this._scrollBar)?void 0:r.limitY,isTrigger:!1})},2)}_scrollToBarPosCore(e,t=!0){var r,n,i,a,o;if(null==this._scrollBar)return;let s=e.x,l=e.y,u=this.limitedScroll(s,l),c=this.transScroll2ViewportScrollValue(u.scrollX,u.scrollY);this.scrollX=s=u.scrollX,this.scrollY=l=u.scrollY,this.viewportScrollX=c.x,this.viewportScrollY=c.y;let d={viewport:this,scrollX:s,scrollY:l,viewportScrollX:c.x,viewportScrollY:c.y,rawScrollX:e.x,rawScrollY:e.y,limitX:null==(r=this._scrollBar)?void 0:r.limitX,limitY:null==(n=this._scrollBar)?void 0:n.limitY,isTrigger:t};return null==(i=this._scrollBar)||i.makeDirty(!0),this.onScrollAfter$.emitEvent(d),this._emitScrollEnd$(d),this.onScrollByBar$.emitEvent({viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,viewportScrollX:this.viewportScrollX,viewportScrollY:this.viewportScrollY,limitX:null==(a=this._scrollBar)?void 0:a.limitX,limitY:null==(o=this._scrollBar)?void 0:o.limitY,isTrigger:t}),u}_scrollToViewportPosCore(e,t=!0){var r,n,i,a,o;if(null==this._scrollBar)return;let s=null==(r=e.viewportScrollX)?this.viewportScrollX:r,l=null==(n=e.viewportScrollY)?this.viewportScrollY:n,u=this.transViewportScroll2ScrollValue(s,l),c=this._limitViewportScroll(s,l);s=c.viewportScrollX,l=c.viewportScrollY;let d=this.transViewportScroll2ScrollValue(s,l),h=d.x,m=d.y;this._preScrollX=this.scrollX,this._preScrollY=this.scrollY,this._preViewportScrollX=this.viewportScrollX,this._preViewportScrollY=this.viewportScrollY,this.scrollX=h,this.scrollY=m,this.viewportScrollX=s,this.viewportScrollY=l;let f={isTrigger:t,viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,viewportScrollX:s,viewportScrollY:l,rawScrollX:u.x,rawScrollY:u.y,limitX:null==(i=this._scrollBar)?void 0:i.limitX,limitY:null==(a=this._scrollBar)?void 0:a.limitY};return null==(o=this._scrollBar)||o.makeDirty(!0),this.onScrollAfter$.emitEvent(f),this._emitScrollEnd$(f),c}expandBounds(e){return{left:e.left-this.bufferEdgeX-0,right:e.right+this.bufferEdgeX+0,top:e.top-this.bufferEdgeY-0,bottom:e.bottom+this.bufferEdgeY+0}}updatePrevCacheBounds(e){e&&(this.preCacheBound=this.cacheBound=this.expandBounds(e))}_calcCacheUpdate(e,t,r,n){if(!this._cacheCanvas)return 0;if(!t)return 1;let i=e.right>t.right||e.topt.bottom?1:0,a=this.bufferEdgeX/50,o=this.bufferEdgeY/50;return(t.right-e.right=e.endRow||t.endRow<=e.startRow||t.startColumn>=e.endColumn||t.endColumn<=e.startColumn)return[e];let r=[];t.startRow>e.startRow&&r.push({startRow:e.startRow,startColumn:e.startColumn,endRow:t.startRow,endColumn:e.endColumn}),t.endRowe.startColumn&&r.push({startRow:n,startColumn:e.startColumn,endRow:i,endColumn:t.startColumn}),t.endColumn{let{startRow:t,endRow:r,startColumn:n,endColumn:i}=e;return{left:n,top:t,right:i,bottom:r}})}_calcDiffCacheBound(e,t){if(!e)return[t];let r=[];t.lefte.right&&r.push({top:t.top,bottom:t.bottom,left:e.right,right:t.right}),t.tope.bottom&&r.push({top:e.bottom,bottom:t.bottom,left:Math.max(e.left,t.left),right:Math.min(e.right,t.right)});let n=this.bufferEdgeX,i=this.bufferEdgeY;for(let e of r)e.left-=n,e.right+=n,e.top-=i,e.bottom+=i;return r}_drawScrollbar(e){if(!this._scrollBar)return;let t=this._scene.getParent();(t.classType===LV.SCENE_VIEWER||t.classType===LV.ENGINE)&&this._scrollBar.render(e)}setViewportSize(e){uu.isDefine(null==e?void 0:e.top)&&(this.top=e.top),uu.isDefine(null==e?void 0:e.left)&&(this.left=e.left),uu.isDefine(null==e?void 0:e.bottom)&&(this.bottom=e.bottom),uu.isDefine(null==e?void 0:e.right)&&(this.right=e.right),uu.isDefine(null==e?void 0:e.width)&&(this.width=null==e?void 0:e.width,this._widthOrigin=null==e?void 0:e.width),uu.isDefine(null==e?void 0:e.height)&&(this.height=null==e?void 0:e.height,this._heightOrigin=null==e?void 0:e.height)}};function jX(e){return kn(function(t,r){ui(e).subscribe(Pn(r,function(){return r.complete()},mn)),!r.closed&&t.subscribe(r)})}const HX={id:"doc.operation.set-selections",type:Bc.OPERATION,handler:()=>!0};function WX(e){return WX="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},WX(e)}function zX(e,t,r){return(t=function(e){var t=function(e){if("object"!=WX(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=WX(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==WX(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function XX(e,t){return function(r,n){t(r,n,e)}}function qX(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}let GX=class extends ru{constructor(e,t){super(),this._commandService=e,this._univerInstanceService=t,zX(this,"_currentSelection",null),zX(this,"_textSelectionInfo",new Map),zX(this,"_textSelection$",new On),zX(this,"textSelection$",this._textSelection$.asObservable()),zX(this,"_refreshSelection$",new Qn(null)),zX(this,"refreshSelection$",this._refreshSelection$.asObservable()),this._listenCurrentUnit()}_listenCurrentUnit(){this._univerInstanceService.getCurrentTypeOfUnit$(Pi.UNIVER_DOC).pipe(jX(this.dispose$)).subscribe(e=>{if(null==e)return;let t=e.getUnitId();this._setCurrentSelectionNotRefresh({unitId:t,subUnitId:t})})}__getCurrentSelection(){return this._currentSelection}getSelectionInfo(e=this._currentSelection){return this._getTextRanges(e)}refreshSelection(e=this._currentSelection){null!=e&&this._refresh(e)}__TEST_ONLY_setCurrentSelection(e){this._currentSelection=e,this._refresh(e)}getTextRanges(e=this._currentSelection){var t;return null==(t=this._getTextRanges(e))?void 0:t.textRanges}getRectRanges(e=this._currentSelection){var t;return null==(t=this._getTextRanges(e))?void 0:t.rectRanges}getDocRanges(e=this._currentSelection){var t,r;return[...null==(t=this.getTextRanges(e))?[]:t,...null==(r=this.getRectRanges(e))?[]:r].filter(e=>null!=e.startOffset&&null!=e.endOffset).sort((e,t)=>e.startOffset>t.startOffset?1:e.startOffsete.isActive)}getActiveRectRange(){let e=this._getTextRanges(this._currentSelection);if(null==e)return;let{rectRanges:t}=e;return t.find(e=>e.isActive)}__TEST_ONLY_add(e,t=!0){null!=this._currentSelection&&this._addByParam({...this._currentSelection,textRanges:e,rectRanges:[],segmentId:"",segmentPage:-1,isEditing:t,style:ZF})}replaceTextRanges(e,t=!0,r){return this.replaceDocRanges(e,this._currentSelection,t,r)}replaceDocRanges(e,t=this._currentSelection,r=!0,n){if(null==t)return;let{unitId:i,subUnitId:a}=t;this._refreshSelection$.next({unitId:i,subUnitId:a,docRanges:e,isEditing:r,options:n})}__replaceTextRangesWithNoRefresh(e,t){if(null==this._currentSelection)return;let r={...e,...t};this._replaceByParam(r),this._textSelection$.next(r);let{unitId:n,subUnitId:i,segmentId:a,style:o,textRanges:s,rectRanges:l,isEditing:u}=r,c=[...s,...l].filter(e=>null!=e.startOffset&&null!=e.endOffset).sort((e,t)=>e.startOffset>t.startOffset?1:e.startOffset{e&&e.getUnitId()===this._context.unitId&&this._update(e)})}dispose(){super.dispose(),this._currentSkeletonBefore$.complete(),this._currentSkeleton$.complete()}getSkeleton(){return this._skeleton}getViewModel(){return this._docViewModel}_init(){let e=this._context.unit;this._update(e)}_update(e){let t=this._context.unitId;if(null==e.getBody())return;this._docViewModel&&Nl(t)?(this._docViewModel.reset(e),this._context.unit=e):this._docViewModel||(this._docViewModel=this._buildDocViewModel(e)),this._skeleton||(this._skeleton=this._buildSkeleton(this._docViewModel));let r=this._skeleton;r.calculate(),this._currentSkeletonBefore$.next(r),this._currentSkeleton$.next(r),this._currentViewModel$.next(this._docViewModel)}_buildSkeleton(e){return Pz.create(e,this._localeService)}_buildDocViewModel(e){return new fH(e)}};YX=qX([XX(1,Y(Cg)),XX(2,dg)],YX);var QX=class extends ru{constructor(){super(),zX(this,"_docStateChangeParams$",new Qn(null)),zX(this,"docStateChangeParams$",this._docStateChangeParams$.asObservable())}emitStateChangeInfo(e){this._docStateChangeParams$.next(e)}dispose(){super.dispose(),this._docStateChangeParams$.complete()}};const ZX="doc.mutation.rich-text-editing",KX={id:ZX,type:Bc.MUTATION,handler:(e,t)=>{var r,n;let{unitId:i,segmentId:a="",actions:o,textRanges:s,prevTextRanges:l,trigger:u,noHistory:c,isCompositionEnd:d,noNeedSetTextRange:h,debounce:m,isEditing:f=!0,isSync:g,syncer:p}=t,v=e.get(dg),b=e.get(kX),C=e.get(QX),y=v.getUniverDocInstance(i),_=null==(r=b.getRenderById(i))?void 0:r.with(YX).getViewModel();if(null==y||null==_)throw Error(`DocumentDataModel or documentViewModel not found for unitId: ${i}`);let w=e.get(GX),E=null==(n=w.getDocRanges())?[]:n,S=!!y.getSnapshot().disabled;if(Dm.isNoop(o)||o&&0===o.length||S)return{unitId:i,actions:[],textRanges:E};let A=Dm.invertWithDoc(o,y.getSnapshot());y.apply(o),_.reset(y),!h&&s&&null!=u&&!g&&queueMicrotask(()=>{w.replaceDocRanges(s,{unitId:i,subUnitId:i},f,t.options)});let I={commandId:ZX,unitId:i,segmentId:a,trigger:u,noHistory:c,debounce:m,redoState:{actions:o,textRanges:s},undoState:{actions:A,textRanges:null==l?E:l},isCompositionEnd:d,isSync:g,syncer:p};return C.emitStateChangeInfo(I),{unitId:i,actions:A,textRanges:E}}},$X={id:"doc.mutation.rename-doc",type:Bc.MUTATION,handler:(e,t)=>{let r=e.get(dg).getUnit(t.unitId,Pi.UNIVER_DOC);return!!r&&(r.setName(t.name),!0)}},JX="docs.config";Symbol(JX);const eq={};let tq=class extends tu{constructor(e,t,r){super(),this._commandService=e,this._textSelectionManagerService=t,this._univerInstanceService=r,this._initSelectionChange()}_transformCustomRange(e,t){var r;let{startOffset:n,endOffset:i,collapsed:a}=t,o=null==(r=e.getCustomRanges())?void 0:r.filter(e=>!(!e.wholeEntity||n<=e.startIndex&&i>e.endIndex)&&(a?e.startIndex=i:Jm.range.isIntersects(n,i-1,e.startIndex,e.endIndex)));if(null!=o&&o.length){let e=n,r=i;return o.forEach(t=>{e=Math.min(t.startIndex,e),r=Math.max(t.endIndex+1,r)}),{...t,startOffset:e,endOffset:r,collapsed:e===r}}return t}_initSelectionChange(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===HX.id){let{unitId:t,ranges:r,isEditing:n}=e.params,i=this._univerInstanceService.getUnit(t);if(!i)return;let a=r.map(e=>this._transformCustomRange(i,e));a.some((e,t)=>r[t]!==e)&&this._textSelectionManagerService.replaceTextRanges(a,n)}}))}};tq=qX([XX(0,Vc),XX(1,Y(GX)),XX(2,dg)],tq);let rq=class extends Rg{constructor(e=eq,t,r){super(),this._config=e,this._injector=t,this._configService=r;let{...n}=hr({},eq,this._config);this._configService.setConfig(JX,n)}onStarting(){this._initializeDependencies(),this._initializeCommands()}_initializeCommands(){[KX,$X,HX].forEach(e=>{this._injector.get(Vc).registerCommand(e)})}_initializeDependencies(){[[GX],[QX],[tq]].forEach(e=>this._injector.add(e))}onReady(){this._injector.get(tq)}};zX(rq,"pluginName","DOCS_PLUGIN"),zX(rq,"packageName","@univerjs/docs"),zX(rq,"version","0.19.0"),rq=qX([XX(1,Y(he)),XX(2,Tc)],rq);const nq={CUSTOM_RANGE:jl("CUSTOM_RANGE"),CUSTOM_DECORATION:jl("CUSTOM_DECORATION")};let iq=class extends tu{constructor(e,t){super(),this._context=e,this._docSkeletonManagerService=t,zX(this,"_interceptorsByName",new Map);let r=this._docSkeletonManagerService.getViewModel(),n=r.getDataModel().getUnitId();if(n===El||n===Sl)return;this.disposeWithMe(this.interceptDocumentViewModel(r)),this.disposeWithMe(this.intercept(nq.CUSTOM_RANGE,{priority:-1,handler:(e,t,r)=>r(e)}));let i=new eu;r.segmentViewModels$.subscribe(e=>{i.dispose(),i=new eu,e.forEach(e=>{i.add(this.interceptDocumentViewModel(e))})}),this.disposeWithMe(i)}intercept(e,t){let r=e;this._interceptorsByName.has(r)||this._interceptorsByName.set(r,[]);let n=this._interceptorsByName.get(r);return n.push(t),this._interceptorsByName.set(r,n.sort((e,t)=>{var r,n;return(null==(r=t.priority)?0:r)-(null==(n=e.priority)?0:n)})),this.disposeWithMe(Jl(()=>vl(this._interceptorsByName.get(r),t)))}fetchThroughInterceptors(e){let t=e;return Hl(this._interceptorsByName.get(t)||[])}interceptDocumentViewModel(e){let t=new eu;return t.add(e.registerCustomRangeInterceptor({getCustomRange:t=>{var r;return this.fetchThroughInterceptors(nq.CUSTOM_RANGE)(e.getCustomRangeRaw(t),{index:t,unitId:e.getDataModel().getUnitId(),customRanges:null==(r=e.getDataModel().getCustomRanges())?[]:r})},getCustomDecoration:t=>{var r;return this.fetchThroughInterceptors(nq.CUSTOM_DECORATION)(e.getCustomDecorationRaw(t),{index:t,unitId:e.getDataModel().getUnitId(),customDecorations:null==(r=e.getDataModel().getCustomDecorations())?[]:r})}})),t}};function aq(e,t){return kn(function(r,n){var i=null,a=0,o=!1,s=function(){return o&&!i&&n.complete()};r.subscribe(Pn(n,function(r){null==i||i.unsubscribe();var o=0,l=a++;ui(e(r,l)).subscribe(i=Pn(n,function(e){return n.next(t?t(r,e,l,o++):e)},function(){i=null,s()}))},function(){o=!0,s()}))})}function oq(e){return!!e&&(e instanceof Tn||Kr(e.lift)&&Kr(e.subscribe))}iq=qX([XX(1,Y(YX))],iq);var sq=["addListener","removeListener"],lq=["addEventListener","removeEventListener"],uq=["on","off"];function cq(e,t,r,n){if(Kr(r)&&(n=r,r=void 0),n)return cq(e,t,r).pipe(Mi(n));var i=Yr(function(e){return Kr(e.addEventListener)&&Kr(e.removeEventListener)}(e)?lq.map(function(n){return function(i){return e[n](t,i,r)}}):function(e){return Kr(e.addListener)&&Kr(e.removeListener)}(e)?sq.map(dq(e,t)):function(e){return Kr(e.on)&&Kr(e.off)}(e)?uq.map(dq(e,t)):[],2),a=i[0],o=i[1];if(!a&&ei(e))return hi(function(e){return cq(e,t,r)})(ui(e));if(!a)throw new TypeError("Invalid event target");return new Tn(function(e){var t=function(){for(var t=[],r=0;r=2;return function(n){return n.pipe(e?Un(function(t,r){return e(t,r,n)}):Rn,hq(1),r?function(e){return kn(function(t,r){var n=!1;t.subscribe(Pn(r,function(e){n=!0,r.next(e)},function(){n||r.next(e),r.complete()}))})}(t):(void 0===(i=function(){return new $n})&&(i=mq),kn(function(e,t){var r=!1;e.subscribe(Pn(t,function(e){r=!0,t.next(e)},function(){return r?t.complete():t.error(i())}))})));var i}}function gq(e,t,r){void 0===e&&(e=0),void 0===r&&(r=qn);var n=-1;return null!=t&&(gi(t)?r=t:n=t),new Tn(function(t){var i,a=(i=e)instanceof Date&&!isNaN(i)?+e-r.now():e;a<0&&(a=0);var o=0;return r.schedule(function(){t.closed||(t.next(o++),0<=n?this.schedule(void 0,n):t.complete())},a)})}function pq(e,t,r){void 0===t&&(t=Xn);var n=gq(e,t);return function(e,t){return kn(function(e,r){var i=null!=t?t:{},a=i.leading,o=void 0===a||a,s=i.trailing,l=void 0!==s&&s,u=!1,c=null,d=null,h=!1,m=function(){null==d||d.unsubscribe(),d=null,l&&(p(),h&&r.complete())},f=function(){d=null,h&&r.complete()},g=function(e){return d=ui(n).subscribe(Pn(r,m,f))},p=function(){if(u){u=!1;var e=c;c=null,r.next(e),!h&&g()}};e.subscribe(Pn(r,function(e){u=!0,c=e,(!d||d.closed)&&(o?p():g())},function(){h=!0,(!(l&&u&&d)||d.closed)&&r.complete()}))})}(0,r)}var vq={schedule:function(e){var t=requestAnimationFrame,r=cancelAnimationFrame,n=vq.delegate;n&&(t=n.requestAnimationFrame,r=n.cancelAnimationFrame);var i=t(function(t){r=void 0,e(t)});return new tn(function(){return null==r?void 0:r(i)})},requestAnimationFrame:function(){for(var e=[],t=0;t0?e.prototype.requestAsyncId.call(this,t,r,n):(t.actions.push(this),t._scheduled||(t._scheduled=vq.requestAnimationFrame(function(){return t.flush(void 0)})))},t.prototype.recycleAsyncId=function(t,r,n){var i;if(void 0===n&&(n=0),null!=n?n>0:this.delay>0)return e.prototype.recycleAsyncId.call(this,t,r,n);var a=t.actions;null!=r&&r===t._scheduled&&(null===(i=a[a.length-1])||void 0===i?void 0:i.id)!==r&&(vq.cancelAnimationFrame(r),t._scheduled=void 0)},t}(jn),Cq=new(function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Wr(t,e),t.prototype.flush=function(e){var t;this._active=!0,e?t=e.id:(t=this._scheduled,this._scheduled=void 0);var r,n=this.actions;e=e||n.shift();do{if(r=e.execute(e.state,e.delay))break}while((e=n[0])&&e.id===t&&n.shift());if(this._active=!1,r){for(;(e=n[0])&&e.id===t&&n.shift();)e.unsubscribe();throw r}},t}(zn))(bq);function yq(e,t){return kn(function(e,t,r){return function(n,i){var a=r,o=t,s=0;n.subscribe(Pn(i,function(t){var r=s++;o=a?e(o,t,r):(a=!0,t),i.next(o)},void 0))}}(e,t,arguments.length>=2))}var _q=o(6540),wq=o.t(_q,2);function Eq({ref:e,...t}){const{icon:r,id:n,className:i,extend:a,...o}=t,s=`univerjs-icon univerjs-icon-${n} ${i||""}`.trim(),l=(0,_q.useRef)(`_${Math.random().toString(36).substring(2,8)}`);return Sq(r,`${n}`,{defIds:r.defIds,idSuffix:l.current},{ref:e,className:s,...o},a)}function Sq(e,t,r,n,i){return(0,_q.createElement)(e.tag,{key:t,...Aq(e,r,i),...n},(function(e,t){const{defIds:r}=t;return r&&0!==r.length&&"defs"===e.tag&&e.children?.length?{...e,children:e.children.map(e=>"string"==typeof e.attrs.id&&r&&r.includes(e.attrs.id)?{...e,attrs:{...e.attrs,id:e.attrs.id+t.idSuffix}}:e)}:e}(e,r).children||[]).map((n,a)=>Sq(n,`${t}-${e.tag}-${a}`,r,void 0,i)))}function Aq(e,t,r){const n={...e.attrs};r?.colorChannel1&&"colorChannel1"===n.fill&&(n.fill=r.colorChannel1),"mask"===e.tag&&n.id&&(n.id=n.id+t.idSuffix),Object.entries(n).forEach(([e,r])=>{"mask"===e&&"string"==typeof r&&(n[e]=r.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))});const{defIds:i}=t;return i&&0!==i.length?("use"===e.tag&&n["xlink:href"]&&(n["xlink:href"]=n["xlink:href"]+t.idSuffix),Object.entries(n).forEach(([e,r])=>{"string"==typeof r&&(n[e]=r.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))}),n):n}Eq.displayName="UniverIcon";const Iq={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M4.06641 3.49366C4.06641 2.27555 5.14145 1.3916 6.33307 1.3916C7.52469 1.3916 8.59974 2.27555 8.59974 3.49366V6.49777C8.59974 7.71586 7.52469 8.59982 6.33307 8.59982C5.14145 8.59982 4.06641 7.71586 4.06641 6.49777V3.49366ZM6.33307 2.5916C5.68376 2.5916 5.26641 3.05264 5.26641 3.49366V6.49777C5.26641 6.93878 5.68376 7.39982 6.33307 7.39982C6.98239 7.39982 7.39974 6.93878 7.39974 6.49777V3.49366C7.39974 3.05264 6.98239 2.5916 6.33307 2.5916Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M10.0664 3.49366C10.0664 2.27555 11.1415 1.3916 12.3331 1.3916C13.5247 1.3916 14.5997 2.27555 14.5997 3.49366V6.49777C14.5997 7.71586 13.5247 8.59982 12.3331 8.59982C11.1415 8.59982 10.0664 7.71586 10.0664 6.49777V3.49366ZM12.3331 2.5916C11.6838 2.5916 11.2664 3.05264 11.2664 3.49366V6.49777C11.2664 6.93878 11.6838 7.39982 12.3331 7.39982C12.9824 7.39982 13.3997 6.93878 13.3997 6.49777V3.49366C13.3997 3.05264 12.9824 2.5916 12.3331 2.5916Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M12.4242 9.5417C12.1899 9.30739 11.81 9.30739 11.5756 9.5417C11.3413 9.77602 11.3413 10.1559 11.5756 10.3902L12.5514 11.366H6.3334C6.00203 11.366 5.7334 11.6346 5.7334 11.966C5.7334 12.2973 6.00203 12.566 6.3334 12.566H12.5514L11.5756 13.5417C11.3413 13.776 11.3413 14.1559 11.5756 14.3902C11.81 14.6245 12.1899 14.6245 12.4242 14.3902L14.4159 12.3985C14.5294 12.2893 14.6001 12.1359 14.6001 11.966C14.6001 11.796 14.5294 11.6426 14.4159 11.5334L12.4242 9.5417Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.3999 8.3002C1.3999 7.96882 1.66853 7.7002 1.9999 7.7002H2.33324C2.66461 7.7002 2.93324 7.96882 2.93324 8.3002C2.93324 8.63157 2.66461 8.9002 2.33324 8.9002H1.9999C1.66853 8.9002 1.3999 8.63157 1.3999 8.3002Z"}}]},Rq=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"add-digits-icon",ref:t,icon:Iq}))});Rq.displayName="AddDigitsIcon";const xq={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M2.2498 3.65005C2.2498 2.87685 2.87661 2.25005 3.64981 2.25005H7.9998C8.33118 2.25005 8.5998 1.98142 8.5998 1.65005C8.5998 1.31868 8.33118 1.05005 7.9998 1.05005H3.64981C2.21387 1.05005 1.0498 2.21411 1.0498 3.65005V12.35C1.0498 13.786 2.21386 14.95 3.6498 14.95H12.3498C13.7857 14.95 14.9498 13.786 14.9498 12.3501V8.00005C14.9498 7.66868 14.6812 7.40005 14.3498 7.40005C14.0184 7.40005 13.7498 7.66868 13.7498 8.00005V9.23974L12.2385 8.1063C11.7252 7.72129 11.0068 7.7723 10.5531 8.22605L9.00869 9.77041L6.73916 7.8251C6.24387 7.40055 5.5095 7.41278 5.02864 7.85359L2.2498 10.4009V3.65005ZM2.2498 12.0287V12.35C2.2498 13.1232 2.87661 13.75 3.6498 13.75H12.3498C13.123 13.75 13.7498 13.1232 13.7498 12.3501V10.7397L11.5186 9.06631C11.4829 9.03956 11.433 9.04314 11.4016 9.07458L9.92249 10.5537L11.1015 11.5642C11.3531 11.7799 11.3822 12.1587 11.1666 12.4103C10.9509 12.6619 10.5721 12.691 10.3205 12.4753L5.9582 8.7362C5.92384 8.70674 5.87288 8.70758 5.83952 8.73816L2.2498 12.0287Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M11.8097 1.14783C12.1411 1.14783 12.4097 1.41646 12.4097 1.74783V3.297H14.1541C14.4855 3.297 14.7541 3.56563 14.7541 3.897C14.7541 4.22837 14.4855 4.497 14.1541 4.497H12.4097V6.24167C12.4097 6.57304 12.1411 6.84167 11.8097 6.84167C11.4783 6.84167 11.2097 6.57304 11.2097 6.24167V4.497H9.6603C9.32893 4.497 9.0603 4.22837 9.0603 3.897C9.0603 3.56563 9.32893 3.297 9.6603 3.297H11.2097V1.74783C11.2097 1.41646 11.4783 1.14783 11.8097 1.14783Z"}}]},Tq=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"add-image-icon",ref:t,icon:xq}))});Tq.displayName="AddImageIcon";const Nq={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M11.3606 3.74168C11.6086 3.49373 12.0106 3.49373 12.2585 3.74168C12.5065 3.98963 12.5065 4.39164 12.2585 4.6396L4.63947 12.2586C4.39152 12.5066 3.98951 12.5066 3.74156 12.2586C3.49361 12.0107 3.49361 11.6087 3.74156 11.3607L11.3606 3.74168Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M4.82544 4.82556H4.19052C3.83986 4.82556 3.5556 5.10982 3.5556 5.46048C3.5556 5.81114 3.83986 6.0954 4.19052 6.0954H4.82544V6.73032C4.82544 7.08098 5.1097 7.36524 5.46036 7.36524C5.81102 7.36524 6.09528 7.08098 6.09528 6.73032V6.0954H6.7302C7.08086 6.0954 7.36512 5.81114 7.36512 5.46048C7.36512 5.10982 7.08086 4.82556 6.7302 4.82556H6.09528V4.19064C6.09528 3.83998 5.81102 3.55572 5.46036 3.55572C5.1097 3.55572 4.82544 3.83998 4.82544 4.19064V4.82556Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M8.3175 10.8573C8.3175 10.5066 8.60176 10.2224 8.95242 10.2224H11.4921C11.8428 10.2224 12.127 10.5066 12.127 10.8573C12.127 11.208 11.8428 11.4922 11.4921 11.4922H8.95242C8.60176 11.4922 8.3175 11.208 8.3175 10.8573Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.33337 2.9208C1.33337 2.04416 2.04403 1.3335 2.92068 1.3335H13.0794C13.9561 1.3335 14.6667 2.04416 14.6667 2.9208V13.0795C14.6667 13.9562 13.9561 14.6668 13.0794 14.6668H2.92068C2.04404 14.6668 1.33337 13.9562 1.33337 13.0795V2.9208ZM2.92068 2.60334C2.74535 2.60334 2.60322 2.74547 2.60322 2.9208V13.0795C2.60322 13.2549 2.74534 13.397 2.92068 13.397H13.0794C13.2547 13.397 13.3969 13.2549 13.3969 13.0795V2.9208C13.3969 2.74546 13.2547 2.60334 13.0794 2.60334H2.92068Z",fillRule:"evenodd",clipRule:"evenodd"}}]},Mq=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"addition-and-subtraction-icon",ref:t,icon:Nq}))});Mq.displayName="AdditionAndSubtractionIcon";const Oq={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"colorChannel1",d:"M8.60231 5.77597L9.38125 6.55432C9.61658 6.78947 9.99797 6.78932 10.2331 6.554C10.4683 6.31867 10.4681 5.93728 10.2328 5.70214L8.44939 3.92009C8.33908 3.79657 8.1786 3.7188 7.99995 3.7188C7.84562 3.71861 7.6906 3.77736 7.57281 3.89506L5.76712 5.69933C5.5318 5.93447 5.53165 6.31587 5.76679 6.55119C6.00193 6.78652 6.38332 6.78667 6.61865 6.55153L7.3976 5.77319L7.3976 10.2246L6.61865 9.44621C6.38333 9.21107 6.00194 9.21121 5.76679 9.44654C5.53165 9.68186 5.53179 10.0633 5.76712 10.2984L7.55051 12.0804C7.66082 12.204 7.82131 12.2817 7.99995 12.2817L8.00089 12.2817C8.15512 12.2819 8.30939 12.2231 8.4271 12.1055L10.2328 10.3012C10.4681 10.0661 10.4683 9.68467 10.2331 9.44934C9.99798 9.21402 9.61659 9.21387 9.38126 9.44901L8.60231 10.2274L8.60231 5.77597Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M13.7039 3.24701C14.0539 3.24701 14.3377 2.96327 14.3377 2.61325C14.3377 2.26324 14.0539 1.97949 13.7039 1.97949L2.29627 1.97949C1.94625 1.97949 1.66251 2.26324 1.66251 2.61325C1.66251 2.96327 1.94625 3.24701 2.29627 3.24701L13.7039 3.24701Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M13.7039 14.0209C14.0539 14.0209 14.3377 13.7372 14.3377 13.3872C14.3377 13.0371 14.0539 12.7534 13.7039 12.7534L2.29627 12.7534C1.94625 12.7534 1.66251 13.0371 1.66251 13.3872C1.66251 13.7372 1.94625 14.0209 2.29627 14.0209L13.7039 14.0209Z"}}]},Lq=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"adjust-height-double-icon",ref:t,icon:Oq}))});Lq.displayName="AdjustHeightDoubleIcon";const kq={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"colorChannel1",d:"M5.77574 7.3974L6.5541 6.61846C6.78924 6.38313 6.78909 6.00174 6.55377 5.7666C6.31844 5.53145 5.93705 5.5316 5.70191 5.76692L3.91987 7.55032C3.79634 7.66063 3.71857 7.82111 3.71857 7.99976C3.71838 8.15409 3.77713 8.30912 3.89483 8.42691L5.6991 10.2326C5.93425 10.4679 6.31564 10.4681 6.55096 10.2329C6.78629 9.99778 6.78644 9.61639 6.5513 9.38106L5.77296 8.60211L10.2243 8.60211L9.44598 9.38106C9.21084 9.61638 9.21099 9.99777 9.44631 10.2329C9.68164 10.4681 10.063 10.4679 10.2982 10.2326L12.0802 8.4492C12.2037 8.33889 12.2815 8.1784 12.2815 7.99976L12.2815 7.99882C12.2816 7.84459 12.2229 7.69032 12.1052 7.57261L10.301 5.76693C10.0658 5.5316 9.68444 5.53145 9.44911 5.76659C9.21379 6.00173 9.21364 6.38312 9.44878 6.61845L10.2271 7.3974L5.77574 7.3974Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M3.24683 2.29598C3.24683 1.94596 2.96308 1.66222 2.61307 1.66222C2.26305 1.66222 1.97931 1.94596 1.97931 2.29598L1.97931 13.7036C1.97931 14.0537 2.26305 14.3374 2.61307 14.3374C2.96308 14.3374 3.24683 14.0537 3.24683 13.7036L3.24683 2.29598Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M14.0207 2.29598C14.0207 1.94596 13.737 1.66222 13.387 1.66222C13.037 1.66222 12.7532 1.94596 12.7532 2.29598L12.7532 13.7036C12.7532 14.0537 13.037 14.3374 13.387 14.3374C13.737 14.3374 14.0207 14.0537 14.0207 13.7036L14.0207 2.29598Z"}}]},Pq=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"adjust-width-double-icon",ref:t,icon:kq}))});Pq.displayName="AdjustWidthDoubleIcon";const Dq={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.3999 13.6999C1.3999 13.3685 1.66853 13.0999 1.9999 13.0999H13.9999C14.3313 13.0999 14.5999 13.3685 14.5999 13.6999C14.5999 14.0312 14.3313 14.2999 13.9999 14.2999H1.9999C1.66853 14.2999 1.3999 14.0312 1.3999 13.6999Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M7.57564 10.3914C7.80995 10.6257 8.18985 10.6257 8.42417 10.3914L10.4242 8.3914C10.6585 8.15709 10.6585 7.77719 10.4242 7.54287C10.1899 7.30856 9.80995 7.30856 9.57564 7.54287L7.9999 9.11861L6.42417 7.54287C6.18985 7.30856 5.80995 7.30856 5.57564 7.54287C5.34132 7.77719 5.34132 8.15709 5.57564 8.3914L7.57564 10.3914Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M7.9999 10.5671C8.33127 10.5671 8.5999 10.2985 8.5999 9.96714V2.30047C8.5999 1.9691 8.33127 1.70047 7.9999 1.70047C7.66853 1.70047 7.3999 1.9691 7.3999 2.30047V9.96714C7.3999 10.2985 7.66853 10.5671 7.9999 10.5671Z",fillRule:"evenodd",clipRule:"evenodd"}}]},Uq=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"align-bottom-icon",ref:t,icon:Dq}))});Uq.displayName="AlignBottomIcon";const Bq={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.9999 1.89941C1.66853 1.89941 1.3999 2.16804 1.3999 2.49941C1.3999 2.83078 1.66853 3.09941 1.9999 3.09941H13.9999C14.3313 3.09941 14.5999 2.83078 14.5999 2.49941C14.5999 2.16804 14.3313 1.89941 13.9999 1.89941H1.9999Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.9999 5.56641C1.66853 5.56641 1.3999 5.83504 1.3999 6.16641C1.3999 6.49778 1.66853 6.76641 1.9999 6.76641H13.9999C14.3313 6.76641 14.5999 6.49778 14.5999 6.16641C14.5999 5.83504 14.3313 5.56641 13.9999 5.56641H1.9999Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.3999 9.8334C1.3999 9.50203 1.66853 9.2334 1.9999 9.2334H13.9999C14.3313 9.2334 14.5999 9.50203 14.5999 9.8334C14.5999 10.1648 14.3313 10.4334 13.9999 10.4334H1.9999C1.66853 10.4334 1.3999 10.1648 1.3999 9.8334Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.9999 12.9004C1.66853 12.9004 1.3999 13.169 1.3999 13.5004C1.3999 13.8318 1.66853 14.1004 1.9999 14.1004H13.9999C14.3313 14.1004 14.5999 13.8318 14.5999 13.5004C14.5999 13.169 14.3313 12.9004 13.9999 12.9004H1.9999Z"}}]},Vq=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"align-text-both-icon",ref:t,icon:Bq}))});Vq.displayName="AlignTextBothIcon";const Fq={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.3999 2.3002C1.3999 2.63157 1.66853 2.9002 1.9999 2.9002H13.9999C14.3313 2.9002 14.5999 2.63157 14.5999 2.3002C14.5999 1.96882 14.3313 1.7002 13.9999 1.7002H1.9999C1.66853 1.7002 1.3999 1.96882 1.3999 2.3002Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M8.22957 5.47839C8.30034 5.50767 8.36664 5.55107 8.42417 5.6086L10.4242 7.6086C10.6585 7.84291 10.6585 8.22281 10.4242 8.45713C10.1899 8.69144 9.80995 8.69144 9.57564 8.45713L8.5999 7.48139V13.6995C8.5999 14.0309 8.33127 14.2995 7.9999 14.2995C7.66853 14.2995 7.3999 14.0309 7.3999 13.6995V7.48139L6.42417 8.45713C6.18985 8.69144 5.80995 8.69144 5.57564 8.45713C5.34132 8.22281 5.34132 7.84291 5.57564 7.6086L7.57541 5.60882C7.7522 5.43203 8.01209 5.38841 8.22957 5.47839Z"}}]},jq=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"align-top-icon",ref:t,icon:Fq}))});jq.displayName="AlignTopIcon";const Hq={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M7.9999 1.12915C8.03875 1.12915 8.07673 1.13284 8.11352 1.13989H12.2599C13.6958 1.13989 14.8599 2.30395 14.8599 3.73989V7.88619C14.867 7.92301 14.8707 7.96102 14.8707 7.9999C14.8707 8.03878 14.867 8.0768 14.8599 8.11362V12.2599C14.8599 13.6958 13.6958 14.8599 12.2599 14.8599H8.11362C8.0768 14.867 8.03878 14.8707 7.9999 14.8707C7.96102 14.8707 7.92301 14.867 7.88619 14.8599H3.73989C2.30396 14.8599 1.13989 13.6958 1.13989 12.2599V8.11352C1.13284 8.07673 1.12915 8.03875 1.12915 7.9999C1.12915 7.96106 1.13284 7.92308 1.13989 7.88629V3.73989C1.13989 2.30396 2.30395 1.13989 3.73989 1.13989H7.88629C7.92308 1.13284 7.96106 1.12915 7.9999 1.12915ZM2.33989 8.5999V12.2599C2.33989 13.0331 2.9667 13.6599 3.73989 13.6599H7.3999V8.5999H2.33989ZM7.3999 7.3999H2.33989V3.73989C2.33989 2.9667 2.96669 2.33989 3.73989 2.33989H7.3999V7.3999ZM8.5999 8.5999V13.6599H12.2599C13.0331 13.6599 13.6599 13.0331 13.6599 12.2599V8.5999H8.5999ZM13.6599 7.3999H8.5999V2.33989H12.2599C13.0331 2.33989 13.6599 2.96669 13.6599 3.73989V7.3999Z",fillRule:"evenodd",clipRule:"evenodd"}}]},Wq=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"all-border-icon",ref:t,icon:Hq}))});Wq.displayName="AllBorderIcon";const zq={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8.5999 5.9999C8.5999 5.66853 8.33127 5.3999 7.9999 5.3999C7.66853 5.3999 7.3999 5.66853 7.3999 5.9999V7.40329L6.004 7.4051C5.67263 7.40553 5.40435 7.67451 5.40479 8.00588C5.40522 8.33725 5.6742 8.60553 6.00557 8.6051L7.3999 8.60329V9.9999C7.3999 10.3313 7.66853 10.5999 7.9999 10.5999C8.33127 10.5999 8.5999 10.3313 8.5999 9.9999V8.60172L10.0004 8.5999C10.3317 8.59947 10.6 8.33049 10.5996 7.99912C10.5992 7.66775 10.3302 7.39947 9.9988 7.3999L8.5999 7.40172V5.9999Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M7.99958 1.73315C4.53861 1.73315 1.73291 4.53885 1.73291 7.99982C1.73291 11.4608 4.53861 14.2665 7.99958 14.2665C9.51395 14.2665 10.9029 13.7293 11.9862 12.8351L13.2422 14.0908C13.4765 14.3251 13.8564 14.3251 14.0907 14.0907C14.325 13.8564 14.325 13.4765 14.0906 13.2422L12.8347 11.9866C13.729 10.9033 14.2662 9.51428 14.2662 7.99982C14.2662 4.53885 11.4605 1.73315 7.99958 1.73315ZM2.93291 7.99982C2.93291 5.20159 5.20135 2.93315 7.99958 2.93315C10.7978 2.93315 13.0662 5.20159 13.0662 7.99982C13.0662 10.7981 10.7978 13.0665 7.99958 13.0665C5.20135 13.0665 2.93291 10.7981 2.93291 7.99982Z",fillRule:"evenodd",clipRule:"evenodd"}}]},Xq=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"amplify-icon",ref:t,icon:zq}))});Xq.displayName="AmplifyIcon";const qq={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M2.29713 1.98047C1.94717 1.98047 1.66348 2.26416 1.66348 2.61412C1.66348 2.96408 1.94717 3.24777 2.29713 3.24777H13.7028C14.0528 3.24777 14.3365 2.96408 14.3365 2.61412C14.3365 2.26416 14.0528 1.98047 13.7028 1.98047H2.29713Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M2.29713 12.7525C1.94717 12.7525 1.66348 13.0362 1.66348 13.3862C1.66348 13.7361 1.94717 14.0198 2.29713 14.0198H13.7028C14.0528 14.0198 14.3365 13.7361 14.3365 13.3862C14.3365 13.0362 14.0528 12.7525 13.7028 12.7525H2.29713Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M7.42163 4.25588L4.25471 11.2231C4.10989 11.5417 4.25077 11.9174 4.56935 12.0622C4.88794 12.207 5.2636 12.0661 5.40841 11.7475L6.24766 9.90119H9.75197L10.5912 11.7475C10.736 12.0661 11.1117 12.207 11.4303 12.0622C11.7489 11.9174 11.8897 11.5417 11.7449 11.2231L8.578 4.25589C8.5675 4.23244 8.55557 4.20961 8.54227 4.18755C8.49012 4.10102 8.41688 4.0262 8.32579 3.97171C8.301 3.95688 8.27527 3.94377 8.24878 3.93246C8.16764 3.89775 8.08309 3.8813 7.99981 3.88135C7.88457 3.88142 7.77177 3.91309 7.67384 3.97171C7.58714 4.02361 7.5121 4.09664 7.45735 4.18755C7.44406 4.20961 7.43213 4.23244 7.42163 4.25588ZM9.17592 8.63388L7.99981 6.04644L6.8237 8.63388H9.17592Z",fillRule:"evenodd",clipRule:"evenodd"}}]},Gq=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"auto-height-double-icon",ref:t,icon:qq}))});Gq.displayName="AutoHeightDoubleIcon";const Yq={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.98032 13.7028C1.98032 14.0527 2.26401 14.3364 2.61397 14.3364C2.96392 14.3364 3.24762 14.0527 3.24762 13.7028L3.24762 2.29706C3.24762 1.9471 2.96392 1.66341 2.61397 1.66341C2.26401 1.66341 1.98032 1.9471 1.98032 2.29706L1.98032 13.7028Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M12.7524 13.7028C12.7524 14.0527 13.0361 14.3364 13.386 14.3364C13.736 14.3364 14.0197 14.0527 14.0197 13.7028L14.0197 2.29706C14.0197 1.9471 13.736 1.66341 13.386 1.66341C13.0361 1.66341 12.7524 1.9471 12.7524 2.29706L12.7524 13.7028Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M7.42187 4.25588L4.25495 11.2231C4.11014 11.5417 4.25101 11.9174 4.5696 12.0622C4.88819 12.207 5.26385 12.0661 5.40866 11.7475L6.2479 9.90119H9.75222L10.5915 11.7475C10.7363 12.0661 11.1119 12.207 11.4305 12.0622C11.7491 11.9174 11.89 11.5417 11.7452 11.2231L8.57825 4.25589C8.56775 4.23244 8.55582 4.20961 8.54252 4.18755C8.49037 4.10102 8.41713 4.0262 8.32603 3.97171C8.30125 3.95688 8.27551 3.94377 8.24902 3.93246C8.16788 3.89775 8.08333 3.8813 8.00006 3.88135C7.88481 3.88142 7.77201 3.91309 7.67409 3.97171C7.58739 4.02361 7.51235 4.09664 7.4576 4.18755C7.4443 4.20961 7.43237 4.23244 7.42187 4.25588ZM9.17617 8.63388L8.00006 6.04644L6.82395 8.63388H9.17617Z",fillRule:"evenodd",clipRule:"evenodd"}}]},Qq=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"auto-width-double-icon",ref:t,icon:Yq}))});Qq.displayName="AutoWidthDoubleIcon";const Zq={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M2.5999 2.2001C2.5999 1.86873 2.33127 1.6001 1.9999 1.6001C1.66853 1.6001 1.3999 1.86873 1.3999 2.2001V13.8001C1.3999 14.1315 1.66853 14.4001 1.9999 14.4001C2.33127 14.4001 2.5999 14.1315 2.5999 13.8001V2.2001Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M14.5999 2.2001C14.5999 1.86873 14.3313 1.6001 13.9999 1.6001C13.6685 1.6001 13.3999 1.86873 13.3999 2.2001V13.8001C13.3999 14.1315 13.6685 14.4001 13.9999 14.4001C14.3313 14.4001 14.5999 14.1315 14.5999 13.8001V2.2001Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M6.424 8.24239C6.65832 8.4767 6.65832 8.8566 6.424 9.09091L6.11502 9.3999H9.33307C10.1063 9.3999 10.7331 8.7731 10.7331 7.9999C10.7331 7.22671 10.1063 6.5999 9.33307 6.5999H4.6666L4.66645 5.3999H9.33307C10.769 5.3999 11.9331 6.56396 11.9331 7.9999C11.9331 9.43584 10.769 10.5999 9.33307 10.5999H6.11485L6.424 10.9091C6.65832 11.1434 6.65832 11.5233 6.424 11.7576C6.18969 11.9919 5.80979 11.9919 5.57548 11.7576L4.24214 10.4242C4.00783 10.1899 4.00783 9.81003 4.24214 9.57572L5.57548 8.24239C5.80979 8.00807 6.18969 8.00807 6.424 8.24239Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M4.6666 6.5999C4.33523 6.5999 4.06641 6.33127 4.06641 5.9999C4.06641 5.66853 4.33508 5.3999 4.66645 5.3999L4.6666 6.5999Z"}}]},Kq=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"autowrap-icon",ref:t,icon:Zq}))});Kq.displayName="AutowrapIcon";const $q={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M2.36977 4.66364C2.67525 3.75535 3.95995 3.75535 4.26543 4.66364L6.0261 9.89866C6.13173 10.2127 5.96275 10.553 5.64867 10.6586C5.33459 10.7643 4.99434 10.5953 4.8887 10.2812L3.3176 5.60982L1.7465 10.2812C1.64086 10.5953 1.30062 10.7643 0.986532 10.6586C0.672449 10.553 0.503468 10.2127 0.609102 9.89866L2.36977 4.66364Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.6333 7.87051C1.6333 7.53914 1.90193 7.27051 2.2333 7.27051H4.52594C4.85732 7.27051 5.12594 7.53914 5.12594 7.87051C5.12594 8.20188 4.85732 8.47051 4.52594 8.47051H2.2333C1.90193 8.47051 1.6333 8.20188 1.6333 7.87051Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M9.26385 10.0162C8.9281 10.853 7.74343 10.853 7.40768 10.0162L6.02978 6.58181C5.90639 6.27427 6.05568 5.92493 6.36322 5.80154C6.67076 5.67815 7.0201 5.82744 7.14349 6.13498L8.33577 9.10668L9.52805 6.13498C9.65143 5.82744 10.0008 5.67815 10.3083 5.80154C10.6159 5.92493 10.7651 6.27427 10.6418 6.58181L9.26385 10.0162Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M14.8178 5.68628C15.1491 5.68628 15.4178 5.95491 15.4178 6.28628L15.4178 10.845C15.4178 11.9648 14.51 12.8726 13.3901 12.8726H12.8888C11.8122 12.8726 10.9395 11.9999 10.9395 10.9233C10.9395 10.5919 11.2081 10.3233 11.5395 10.3233C11.8708 10.3233 12.1395 10.5919 12.1395 10.9233C12.1395 11.3371 12.4749 11.6726 12.8888 11.6726H13.3901C13.8472 11.6726 14.2178 11.3021 14.2178 10.845L14.2178 6.28628C14.2178 5.95491 14.4864 5.68628 14.8178 5.68628Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M10.9395 7.82632C10.9395 6.58966 11.942 5.58716 13.1786 5.58716C14.4153 5.58716 15.4178 6.58966 15.4178 7.82632C15.4178 9.06297 14.4153 10.0655 13.1786 10.0655C11.942 10.0655 10.9395 9.06297 10.9395 7.82632ZM13.1786 6.78716C12.6047 6.78716 12.1395 7.2524 12.1395 7.82632C12.1395 8.40023 12.6047 8.86547 13.1786 8.86547C13.7525 8.86547 14.2178 8.40023 14.2178 7.82632C14.2178 7.2524 13.7525 6.78716 13.1786 6.78716Z",fillRule:"evenodd",clipRule:"evenodd"}}]},Jq=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"avg-icon",ref:t,icon:$q}))});Jq.displayName="AvgIcon";const eG={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 17",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M13.5853 14.7987L2.27159 3.485L3.12012 2.63647L14.4338 13.9502L13.5853 14.7987Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M1.69629 12.8102L1.69629 14.1743C1.69629 14.8371 2.23355 15.3743 2.89629 15.3743L4.26042 15.3743L4.26042 14.0443L3.02629 14.0443L3.02629 12.8102L1.69629 12.8102ZM4.26042 2.06128L2.89629 2.06128C2.23355 2.06128 1.69629 2.59854 1.69629 3.26128L1.69629 4.62541L3.02629 4.62541L3.02629 3.39128L4.26042 3.39128L4.26042 2.06128ZM1.69629 10.0819L3.02629 10.0819L3.02629 7.35367L1.69629 7.35367L1.69629 10.0819ZM6.98868 2.06128L6.98868 3.39128L9.71693 3.39128L9.71693 2.06128L6.98868 2.06128ZM12.4452 2.06128L12.4452 3.39128L13.6793 3.39128L13.6793 4.62541L15.0093 4.62541L15.0093 3.26128C15.0093 2.59854 14.4721 2.06128 13.8093 2.06128L12.4452 2.06128ZM15.0093 7.35367L13.6793 7.35367L13.6793 10.0819L15.0093 10.0819L15.0093 7.35367ZM15.0093 12.8102L13.6793 12.8102L13.6793 14.0443L12.4452 14.0443L12.4452 15.3743L13.8093 15.3743C14.4721 15.3743 15.0093 14.8371 15.0093 14.1743L15.0093 12.8102ZM9.71693 15.3743L9.71693 14.0443L6.98868 14.0443L6.98868 15.3743L9.71693 15.3743Z",fillRule:"evenodd",clipRule:"evenodd"}}]},tG=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"back-slash-double-icon",ref:t,icon:eG}))});tG.displayName="BackSlashDoubleIcon";const rG={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M4.65791 1.30005C3.77355 1.30005 3.05664 2.01696 3.05664 2.90132V12.8588C3.05664 13.8755 3.88086 14.6998 4.89759 14.6998H9.1016C11.2233 14.6998 12.9433 12.9798 12.9433 10.8581C12.9433 9.13925 11.8145 7.68407 10.2578 7.1934C10.8806 6.56856 11.2655 5.70659 11.2655 4.75472C11.2655 2.84676 9.71883 1.30005 7.81087 1.30005H4.65791ZM4.25664 2.90132C4.25664 2.6797 4.4363 2.50005 4.65791 2.50005H7.81087C9.05609 2.50005 10.0655 3.5095 10.0655 4.75472C10.0655 5.99993 9.05609 7.00938 7.81087 7.00938H4.25664V2.90132ZM4.25664 12.8588V8.21636H9.1016C10.5606 8.21636 11.7433 9.39909 11.7433 10.8581C11.7433 12.317 10.5606 13.4998 9.1016 13.4998H4.89759C4.5436 13.4998 4.25664 13.2128 4.25664 12.8588Z",fillRule:"evenodd",clipRule:"evenodd"}}]},nG=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"bold-icon",ref:t,icon:rG}))});nG.displayName="BoldIcon";const iG={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M2.59219 1.3667C1.70853 1.3667 0.992188 2.08304 0.992188 2.9667V4.9667C0.992188 5.85036 1.70853 6.5667 2.59219 6.5667H11.2694C12.1531 6.5667 12.8694 5.85036 12.8694 4.9667V4.79985H13.8075V8.18642C13.8075 8.38777 13.6579 8.55773 13.4581 8.58321L7.10511 9.39341C6.30618 9.4953 5.70752 10.1752 5.70752 10.9806V14.0332C5.70752 14.3646 5.97615 14.6332 6.30752 14.6332C6.63889 14.6332 6.90752 14.3646 6.90752 14.0332V10.9806C6.90752 10.7792 7.05718 10.6092 7.25692 10.5838L13.6099 9.77356C14.4089 9.67168 15.0075 8.99182 15.0075 8.18642V4.19985C15.0075 3.86848 14.7389 3.59985 14.4075 3.59985H12.8694V2.9667C12.8694 2.08304 12.1531 1.3667 11.2694 1.3667H2.59219ZM2.19219 2.9667C2.19219 2.74579 2.37127 2.5667 2.59219 2.5667H11.2694C11.4903 2.5667 11.6694 2.74579 11.6694 2.9667V4.9667C11.6694 5.18761 11.4903 5.3667 11.2694 5.3667H2.59219C2.37127 5.3667 2.19219 5.18761 2.19219 4.9667V2.9667Z",fillRule:"evenodd",clipRule:"evenodd"}}]},aG=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"brush-icon",ref:t,icon:iG}))});aG.displayName="BrushIcon";const oG={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.14014 3.73989C1.14014 2.30396 2.3042 1.13989 3.74014 1.13989H12.2601C13.6961 1.13989 14.8601 2.30395 14.8601 3.73989V4.86989C14.8601 5.20126 14.5915 5.46989 14.2601 5.46989C13.9288 5.46989 13.6601 5.20126 13.6601 4.86989V3.73989C13.6601 2.96669 13.0333 2.33989 12.2601 2.33989H8.34014V3.20284C8.34014 3.20446 8.34014 3.20608 8.34014 3.2077V6.73989C8.34014 7.62355 7.62379 8.33989 6.74014 8.33989H2.70277C2.70112 8.3399 2.69947 8.3399 2.69781 8.33989H2.34014V12.2599C2.34014 13.0331 2.96694 13.6599 3.74014 13.6599H12.2601C13.0333 13.6599 13.6601 13.0331 13.6601 12.2599V11.7299C13.6601 11.3985 13.9288 11.1299 14.2601 11.1299C14.5915 11.1299 14.8601 11.3985 14.8601 11.7299V12.2599C14.8601 13.6958 13.6961 14.8599 12.2601 14.8599H3.74014C2.3042 14.8599 1.14014 13.6958 1.14014 12.2599V3.73989ZM4.26409 7.13989H6.74014C6.96105 7.13989 7.14014 6.96081 7.14014 6.73989V4.55237L4.26409 7.13989ZM7.14014 2.93819V2.33989H6.28159L2.34044 5.614L2.34056 7.13989H2.46992L7.14014 2.93819ZM2.34032 4.05403L4.40368 2.33989H3.74029C2.96705 2.33989 2.34023 2.96676 2.34029 3.74L2.34032 4.05403Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M8.73877 9.00298C8.73877 9.55526 9.18649 10.003 9.73877 10.003H11.7792C12.1106 10.003 12.3792 9.73435 12.3792 9.40298C12.3792 9.07161 12.1106 8.80298 11.7792 8.80298H10.7874L12.2304 7.36157C12.7051 6.88734 13.4743 6.88754 13.9488 7.36202C14.4234 7.83667 14.4234 8.60624 13.9488 9.0809L13.2095 9.82016C12.9752 10.0545 12.9752 10.4344 13.2095 10.6687C13.4439 10.903 13.8238 10.903 14.0581 10.6687L14.7973 9.92943C15.7406 8.98614 15.7406 7.45678 14.7973 6.51349C13.8544 5.57056 12.3257 5.57015 11.3823 6.51259L9.93877 7.95459V6.96255C9.93877 6.63118 9.67014 6.36255 9.33877 6.36255C9.0074 6.36255 8.73877 6.63118 8.73877 6.96255V9.00298Z"}}]},sG=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"cancel-freeze-icon",ref:t,icon:oG}))});sG.displayName="CancelFreezeIcon";const lG={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M12.5939 1.13916L10.6607 1.1392C9.55628 1.13922 8.66093 2.03448 8.66077 3.13893L8.66063 4.19191C8.66059 4.52328 8.92918 4.79194 9.26055 4.79199C9.59192 4.79204 9.86059 4.52344 9.86063 4.19207L9.86077 3.13909C9.86084 2.69731 10.219 2.33921 10.6608 2.3392L12.594 2.33916C13.0358 2.33915 13.394 2.69732 13.394 3.13916L13.394 12.8612C13.394 13.303 13.0358 13.6612 12.594 13.6612H10.6606C10.2188 13.6612 9.86063 13.303 9.86063 12.8612V11.8084C9.86063 11.4771 9.592 11.2084 9.26063 11.2084C8.92926 11.2084 8.66063 11.4771 8.66063 11.8084V12.8612C8.66063 13.9658 9.55606 14.8612 10.6606 14.8612H12.594C13.6986 14.8612 14.594 13.9658 14.594 12.8612L14.594 3.13915C14.594 2.03457 13.6985 1.13914 12.5939 1.13916Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M5.33888 1.13919L3.40568 1.13926C2.30114 1.13931 1.40575 2.03474 1.40576 3.13928L1.40586 12.8612C1.40587 13.9658 2.3013 14.8612 3.40586 14.8612H5.33896C6.44353 14.8612 7.33896 13.9658 7.33896 12.8612V11.8084C7.33896 11.4771 7.07033 11.2084 6.73896 11.2084C6.40759 11.2084 6.13896 11.4771 6.13896 11.8084V12.8612C6.13896 13.303 5.78079 13.6612 5.33896 13.6612H3.40586C2.96403 13.6612 2.60586 13.303 2.60586 12.8612L2.60576 3.13927C2.60576 2.69745 2.96391 2.33928 3.40573 2.33926L5.33893 2.33919C5.78077 2.33917 6.13896 2.69735 6.13896 3.13919V4.192C6.13896 4.52337 6.40759 4.792 6.73896 4.792C7.07033 4.792 7.33896 4.52337 7.33896 4.192V3.13919C7.33896 2.03459 6.44348 1.13914 5.33888 1.13919Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M9.20731 5.99993C8.973 6.23424 8.973 6.61414 9.20731 6.84845L10.0912 7.73235C10.2474 7.88856 10.2474 8.14182 10.0912 8.29803L9.20731 9.18192C8.973 9.41624 8.973 9.79614 9.20731 10.0305C9.44163 10.2648 9.82153 10.2648 10.0558 10.0305L10.9397 9.14654C11.5646 8.52171 11.5646 7.50867 10.9397 6.88384L10.0558 5.99993C9.82153 5.76561 9.44163 5.76561 9.20731 5.99993Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M5.94379 5.99993C6.1781 5.76561 6.558 5.76561 6.79232 5.99993C7.02663 6.23424 7.02663 6.61414 6.79232 6.84845L5.90842 7.73235C5.75221 7.88856 5.75221 8.14182 5.90842 8.29803L6.79232 9.18193C7.02663 9.41624 7.02663 9.79614 6.79232 10.0305C6.558 10.2648 6.1781 10.2648 5.94379 10.0305L5.0599 9.14656C4.43506 8.52172 4.43506 7.50866 5.0599 6.88382L5.94379 5.99993Z"}}]},uG=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"cancel-merge-icon",ref:t,icon:lG}))});uG.displayName="CancelMergeIcon";const cG={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"colorChannel1",d:"M5.36831 3.22148C5.36831 1.94497 6.40313 0.910156 7.67964 0.910156C8.95615 0.910156 9.99097 1.94497 9.99097 3.22149V6.74754H8.72649V3.22149C8.72649 2.64333 8.2578 2.17464 7.67964 2.17464C7.10148 2.17464 6.63279 2.64333 6.63279 3.22148V6.74754H5.36831V3.22148Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M5.00091 5.47314C3.33644 5.47314 1.9499 6.74914 1.81192 8.40788L1.54428 11.6254C1.38911 13.4909 2.86133 15.0906 4.73327 15.0906H13.6667C14.175 15.0906 14.5544 14.6228 14.4495 14.1255L13.0262 7.37781C12.792 6.26766 11.8125 5.47314 10.6779 5.47314H5.00091ZM10.6779 6.75314H5.00091C4.00223 6.75314 3.1703 7.51874 3.08751 8.51399L2.81988 11.7315C2.72677 12.8508 3.61011 13.8106 4.73327 13.8106H5.7695C5.26362 13.0554 5.05585 12.0527 5.31224 11.047C5.40861 10.6689 5.76242 10.4493 6.10249 10.5564C6.44256 10.6636 6.64012 11.0569 6.54374 11.4349C6.27517 12.4885 6.92898 13.6738 7.87916 13.8106H9.01412C8.50824 13.0554 8.30047 12.0527 8.55686 11.047C8.65324 10.6689 9.00704 10.4493 9.34711 10.5564C9.68719 10.6636 9.88474 11.0569 9.78837 11.4349C9.51979 12.4885 10.1736 13.6738 11.1238 13.8106H13.0749L11.7738 7.64199C11.6645 7.12392 11.2073 6.75314 10.6779 6.75314Z",fillRule:"evenodd",clipRule:"evenodd"}}]},dG=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"clear-format-double-icon",ref:t,icon:cG}))});dG.displayName="ClearFormatDoubleIcon";const hG={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M0.361328 7.79626C0.361328 6.0459 1.78028 4.62695 3.53064 4.62695C4.18424 4.62695 4.80612 4.90867 5.23714 5.40001L5.30149 5.47337C5.52001 5.72247 5.49522 6.10156 5.24612 6.32009C4.99701 6.53861 4.61792 6.51382 4.3994 6.26471L4.33504 6.19135C4.13187 5.95975 3.83873 5.82695 3.53064 5.82695C2.44302 5.82695 1.56133 6.70864 1.56133 7.79626V8.21416C1.56133 9.29594 2.43828 10.1729 3.52006 10.1729C3.83123 10.1729 4.12678 10.0366 4.32877 9.79988L4.39405 9.72339C4.60916 9.47133 4.98788 9.44138 5.23994 9.65649C5.492 9.8716 5.52195 10.2503 5.30684 10.5024L5.24156 10.5789C4.81157 11.0827 4.18244 11.3729 3.52006 11.3729C1.77554 11.3729 0.361328 9.95868 0.361328 8.21416V7.79626Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M13.2084 4.92822C13.5398 4.92822 13.8084 5.19685 13.8084 5.52822V9.97297C13.8084 10.0834 13.8979 10.173 14.0084 10.173H15.0384C15.3698 10.173 15.6384 10.4416 15.6384 10.773C15.6384 11.1043 15.3698 11.373 15.0384 11.373H14.0084C13.2352 11.373 12.6084 10.7462 12.6084 9.97297V5.52822C12.6084 5.19685 12.877 4.92822 13.2084 4.92822Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M10.9893 7.42715C10.9893 7.09578 11.2579 6.82715 11.5893 6.82715H14.9428C15.2742 6.82715 15.5428 7.09578 15.5428 7.42715C15.5428 7.75852 15.2742 8.02715 14.9428 8.02715H11.5893C11.2579 8.02715 10.9893 7.75852 10.9893 7.42715Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M9.46366 8.71622C9.46366 8.18879 8.9622 7.80569 8.45332 7.94436L8.12019 8.03514C7.68503 8.15373 7.38311 8.54894 7.38311 8.99996V10.7731C7.38311 11.1044 7.11448 11.3731 6.78311 11.3731C6.45173 11.3731 6.18311 11.1044 6.18311 10.7731V8.99996C6.18311 8.0077 6.84733 7.13825 7.80469 6.87736L8.13782 6.78658C9.41001 6.43991 10.6637 7.39764 10.6637 8.71622V10.7731C10.6637 11.1044 10.395 11.3731 10.0637 11.3731C9.73229 11.3731 9.46366 11.1044 9.46366 10.7731V8.71622Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M6.79079 6.75531C7.12216 6.75528 7.39081 7.02389 7.39084 7.35526L7.39109 10.773C7.39112 11.1043 7.12251 11.373 6.79114 11.373C6.45977 11.373 6.19112 11.1044 6.19109 10.7731L6.19084 7.35535C6.19081 7.02398 6.45942 6.75533 6.79079 6.75531Z",fillRule:"evenodd",clipRule:"evenodd"}}]},mG=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"cnt-icon",ref:t,icon:hG}))});mG.displayName="CntIcon";const fG={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M9.92206 2.45064C9.98634 2.12556 9.77492 1.80992 9.44984 1.74564C9.12477 1.68136 8.80913 1.89278 8.74485 2.21785L6.41152 14.0179C6.34724 14.3429 6.55865 14.6586 6.88373 14.7228C7.20881 14.7871 7.52444 14.5757 7.58872 14.2506L9.92206 2.45064Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M5.14972 3.90157C5.38815 4.1317 5.39487 4.51154 5.16473 4.74996L2.55461 7.45409C2.01739 8.01066 2.03336 8.89745 2.59029 9.43431L5.14944 11.9013C5.38802 12.1313 5.39498 12.5111 5.165 12.7497C4.93502 12.9883 4.55519 12.9952 4.31662 12.7652L1.75746 10.2983C0.723174 9.30122 0.693506 7.65434 1.69121 6.6207L4.30133 3.91657C4.53146 3.67815 4.9113 3.67143 5.14972 3.90157Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M10.8505 3.90157C11.0889 3.67143 11.4688 3.67815 11.6989 3.91657L14.309 6.6207C15.3067 7.65434 15.2771 9.30122 14.2428 10.2983L11.6836 12.7652C11.4451 12.9952 11.0652 12.9883 10.8352 12.7497C10.6053 12.5111 10.6122 12.1313 10.8508 11.9013L13.41 9.43431C13.9669 8.89745 13.9829 8.01066 13.4456 7.45409L10.8355 4.74996C10.6054 4.51154 10.6121 4.1317 10.8505 3.90157Z"}}]},gG=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"code-icon",ref:t,icon:fG}))});gG.displayName="CodeIcon";const pG={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"colorChannel1",d:"M5.59 1.51H10.46V14.46H5.59z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.34863 2.53325C1.34863 1.87051 1.88589 1.33325 2.54863 1.33325H13.482C14.1447 1.33325 14.682 1.87051 14.682 2.53325V13.4666C14.682 14.1294 14.1447 14.6666 13.482 14.6666H2.54863C1.88589 14.6666 1.34863 14.1294 1.34863 13.4666V2.53325ZM13.082 2.63325C13.2477 2.63325 13.382 2.76757 13.382 2.93325V5.09946C13.382 5.26515 13.2477 5.39946 13.082 5.39946H10.9708C10.8052 5.39946 10.6708 5.26515 10.6708 5.09946V2.93325C10.6708 2.76757 10.8052 2.63325 10.9708 2.63325H13.082ZM9.37085 2.93325C9.37085 2.76757 9.23653 2.63325 9.07085 2.63325H6.95974C6.79406 2.63325 6.65974 2.76757 6.65974 2.93325V5.09946C6.65974 5.26515 6.79406 5.39946 6.95974 5.39946L9.07085 5.39946C9.23654 5.39946 9.37085 5.26515 9.37085 5.09946V2.93325ZM5.35974 2.93325C5.35974 2.76757 5.22543 2.63325 5.05974 2.63325H2.94863C2.78295 2.63325 2.64863 2.76757 2.64863 2.93325V5.09946C2.64863 5.26515 2.78295 5.39946 2.94863 5.39946H5.05974C5.22543 5.39946 5.35974 5.26515 5.35974 5.09946V2.93325ZM2.94863 6.69946C2.78295 6.69946 2.64863 6.83378 2.64863 6.99946V9.11045C2.64863 9.27613 2.78295 9.41045 2.94863 9.41045H5.05974C5.22543 9.41045 5.35974 9.27613 5.35974 9.11045V6.99946C5.35974 6.83378 5.22543 6.69946 5.05974 6.69946H2.94863ZM2.94863 10.7104C2.78295 10.7104 2.64863 10.8448 2.64863 11.0104V13.0666C2.64863 13.2323 2.78295 13.3666 2.94863 13.3666H5.05974C5.22543 13.3666 5.35974 13.2323 5.35974 13.0666V11.0104C5.35974 10.8448 5.22543 10.7104 5.05974 10.7104H2.94863ZM6.65974 13.0666C6.65974 13.2323 6.79406 13.3666 6.95974 13.3666H9.07085C9.23653 13.3666 9.37085 13.2323 9.37085 13.0666V11.0104C9.37085 10.8448 9.23653 10.7104 9.07085 10.7104L6.95974 10.7104C6.79406 10.7104 6.65974 10.8448 6.65974 11.0104V13.0666ZM10.6708 13.0666C10.6708 13.2323 10.8052 13.3666 10.9708 13.3666H13.082C13.2477 13.3666 13.382 13.2323 13.382 13.0666V11.0104C13.382 10.8448 13.2477 10.7104 13.082 10.7104H10.9708C10.8052 10.7104 10.6708 10.8448 10.6708 11.0104V13.0666ZM13.082 9.41045C13.2477 9.41045 13.382 9.27613 13.382 9.11045V6.99946C13.382 6.83378 13.2477 6.69946 13.082 6.69946H10.9708C10.8052 6.69946 10.6708 6.83378 10.6708 6.99946V9.11045C10.6708 9.27613 10.8052 9.41045 10.9708 9.41045H13.082ZM6.95974 9.41045C6.79406 9.41045 6.65974 9.27613 6.65974 9.11045V6.99946C6.65974 6.83378 6.79406 6.69946 6.95974 6.69946L9.07085 6.69946C9.23653 6.69946 9.37085 6.83378 9.37085 6.99946V9.11045C9.37085 9.27613 9.23653 9.41045 9.07085 9.41045H6.95974Z",fillRule:"evenodd",clipRule:"evenodd"}}]},vG=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"conditions-double-icon",ref:t,icon:pG}))});vG.displayName="ConditionsDoubleIcon";const bG={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"colorChannel1",d:"M5.4004 2.60213C5.25792 2.60213 5.14241 2.71763 5.14241 2.86011V4.32679C5.14241 4.67752 4.85809 4.96184 4.50736 4.96184C4.15663 4.96184 3.87231 4.67752 3.87231 4.32679V2.86011C3.87231 2.01618 4.55646 1.33203 5.4004 1.33203H13.14C13.984 1.33203 14.6681 2.01618 14.6681 2.86011V10.5998C14.6681 11.4437 13.984 12.1278 13.14 12.1278H11.6568C11.3061 12.1278 11.0218 11.8435 11.0218 11.4928C11.0218 11.1421 11.3061 10.8577 11.6568 10.8577H13.14C13.2825 10.8577 13.398 10.7422 13.398 10.5998V2.86011C13.398 2.71763 13.2825 2.60213 13.14 2.60213H5.4004Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.33203 5.40015C1.33203 4.55622 2.01618 3.87207 2.86011 3.87207H10.5998C11.4437 3.87207 12.1278 4.55622 12.1278 5.40015V13.1398C12.1278 13.9837 11.4437 14.6679 10.5998 14.6679H2.86011C2.01618 14.6679 1.33203 13.9837 1.33203 13.1398V5.40015ZM2.86011 5.14217C2.71763 5.14217 2.60213 5.25767 2.60213 5.40015V13.1398C2.60213 13.2823 2.71763 13.3978 2.86011 13.3978H10.5998C10.7422 13.3978 10.8577 13.2823 10.8577 13.1398V5.40015C10.8577 5.25767 10.7422 5.14217 10.5998 5.14217H2.86011Z",fillRule:"evenodd",clipRule:"evenodd"}}]},CG=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"copy-double-icon",ref:t,icon:bG}))});CG.displayName="CopyDoubleIcon";const yG={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M2.50095 1.84399C2.73322 1.60765 3.11311 1.60435 3.34945 1.83662L8.00012 6.40726L12.6508 1.83662C12.8871 1.60435 13.267 1.60765 13.4993 1.84399C13.7316 2.08032 13.7283 2.46021 13.4919 2.69248L8.85611 7.24852L10.8941 9.25146C11.1382 9.17563 11.3976 9.13477 11.6667 9.13477C13.1026 9.13477 14.2667 10.2988 14.2667 11.7348C14.2667 13.1707 13.1026 14.3348 11.6667 14.3348C10.2307 14.3348 9.06665 13.1707 9.06665 11.7348C9.06665 11.0143 9.35973 10.3622 9.83319 9.89129L8.00012 8.08978L6.16708 9.89127C6.64055 10.3622 6.93364 11.0142 6.93364 11.7348C6.93364 13.1707 5.76958 14.3348 4.33364 14.3348C2.8977 14.3348 1.73364 13.1707 1.73364 11.7348C1.73364 10.2988 2.8977 9.13477 4.33364 9.13477C4.60263 9.13477 4.86208 9.17562 5.10612 9.25145L7.14413 7.24852L2.50831 2.69248C2.27197 2.46021 2.26868 2.08032 2.50095 1.84399ZM2.93364 11.7348C2.93364 10.9616 3.56044 10.3348 4.33364 10.3348C5.10684 10.3348 5.73364 10.9616 5.73364 11.7348C5.73364 12.508 5.10684 13.1348 4.33364 13.1348C3.56044 13.1348 2.93364 12.508 2.93364 11.7348ZM10.2667 11.7348C10.2667 10.9616 10.8935 10.3348 11.6667 10.3348C12.4398 10.3348 13.0667 10.9616 13.0667 11.7348C13.0667 12.508 12.4398 13.1348 11.6667 13.1348C10.8935 13.1348 10.2667 12.508 10.2667 11.7348Z",fillRule:"evenodd",clipRule:"evenodd"}}]},_G=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"cut-icon",ref:t,icon:yG}))});_G.displayName="CutIcon";const wG={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M7.69148 5.44796C7.69148 5.07977 7.393 4.7813 7.02481 4.7813H3.25445C2.88626 4.7813 2.58779 5.07977 2.58779 5.44796V10.5516C2.58779 10.9198 2.88626 11.2183 3.25445 11.2183H7.02481C7.393 11.2183 7.69148 10.9198 7.69148 10.5516V5.44796ZM2.58779 3.50537C1.88311 3.50537 1.31186 4.07662 1.31186 4.7813V11.2183C1.31186 11.923 1.88311 12.4942 2.58779 12.4942H7.69148C8.39613 12.4942 8.96739 11.923 8.96739 11.2183V4.7813C8.96739 4.07662 8.39613 3.50537 7.69148 3.50537H2.58779Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M11.8919 10.4557C11.9671 10.4869 12.0496 10.5041 12.1361 10.5041C12.2226 10.5041 12.3051 10.4869 12.3803 10.4557C12.4555 10.4246 12.526 10.3784 12.5872 10.3172L14.5011 8.40335C14.7502 8.15421 14.7502 7.75028 14.5011 7.50114C14.2519 7.252 13.848 7.252 13.5989 7.50114L12.774 8.32595V6.13406C12.774 5.78172 12.4884 5.49609 12.1361 5.49609C11.7837 5.49609 11.4981 5.78172 11.4981 6.13406V8.32595L10.6733 7.50114C10.4241 7.252 10.0202 7.252 9.77106 7.50114C9.52192 7.75028 9.52192 8.15421 9.77106 8.40335L11.6847 10.3169M6.97288 9.84189C6.69858 10.1235 6.25386 10.1235 5.97956 9.84189L5.17866 9.01974L4.37769 9.84195C4.1034 10.1235 3.65867 10.1235 3.38437 9.84195C3.11008 9.56038 3.11008 9.10385 3.38437 8.82228L4.18534 8.00007L3.38439 7.17787C3.11009 6.8963 3.11009 6.43977 3.38439 6.1582C3.65869 5.87663 4.10341 5.87663 4.37771 6.1582L5.17866 6.9804L5.97954 6.15826C6.25384 5.87669 6.69857 5.87669 6.97287 6.15826C7.24716 6.43984 7.24716 6.89636 6.97286 7.17793L6.17198 8.00007L6.97288 8.82222C7.24718 9.10379 7.24718 9.56031 6.97288 9.84189Z",fillRule:"evenodd",clipRule:"evenodd"}}]},EG=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"delete-cell-move-down-double-icon",ref:t,icon:wG}))});EG.displayName="DeleteCellMoveDownDoubleIcon";const SG={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8.29012 10.552C8.29012 10.9202 8.5886 11.2187 8.95679 11.2187L12.7271 11.2187C13.0953 11.2187 13.3938 10.9202 13.3938 10.552L13.3938 5.44836C13.3938 5.08016 13.0953 4.7817 12.7271 4.7817L8.95678 4.7817C8.5886 4.7817 8.29012 5.08016 8.29012 5.44836L8.29012 10.552ZM13.3938 12.4946C14.0985 12.4946 14.6697 11.9234 14.6697 11.2187L14.6697 4.7817C14.6697 4.07703 14.0985 3.50576 13.3938 3.50576L8.29012 3.50576C7.58547 3.50576 7.0142 4.07703 7.0142 4.7817L7.0142 11.2187C7.0142 11.9234 7.58547 12.4946 8.29012 12.4946L13.3938 12.4946Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M1.37899 7.7562C1.34779 7.83142 1.33053 7.9139 1.33053 8.0004C1.33053 8.0869 1.34779 8.16938 1.37899 8.2446C1.41013 8.31985 1.45626 8.39034 1.51739 8.45151L3.43133 10.3654C3.68046 10.6145 4.08439 10.6145 4.33353 10.3654C4.58266 10.1163 4.58266 9.71232 4.33353 9.46318L3.50873 8.63836L5.70059 8.63836C6.05293 8.63836 6.33855 8.35273 6.33855 8.0004C6.33855 7.64806 6.05293 7.36244 5.70059 7.36244L3.50873 7.36244L4.33353 6.53762C4.58266 6.28848 4.58266 5.88455 4.33353 5.63541C4.08439 5.38627 3.68046 5.38627 3.43133 5.63541L1.51773 7.54899M9.00896 6.15858C9.28326 5.87701 9.72798 5.87701 10.0023 6.15858L10.8032 6.98073L11.6042 6.15852C11.8784 5.87695 12.3232 5.87695 12.5975 6.15852C12.8718 6.44009 12.8718 6.89661 12.5975 7.17819L11.7965 8.00041L12.5975 8.8226C12.8718 9.10417 12.8718 9.56069 12.5975 9.84227C12.3232 10.1238 11.8784 10.1238 11.6041 9.84227L10.8032 9.02007L10.0023 9.84221C9.728 10.1238 9.28327 10.1238 9.00897 9.84221C8.73468 9.56063 8.73468 9.10411 9.00898 8.82254L9.80987 8.00041L9.00896 7.17825C8.73466 6.89668 8.73466 6.44016 9.00896 6.15858Z",fillRule:"evenodd",clipRule:"evenodd"}}]},AG=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"delete-cell-shift-left-double-icon",ref:t,icon:SG}))});AG.displayName="DeleteCellShiftLeftDoubleIcon";const IG={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M7.70985 5.44796C7.70985 5.07977 7.41137 4.7813 7.04318 4.7813H3.27282C2.90463 4.7813 2.60616 5.07977 2.60616 5.44796V10.5516C2.60616 10.9198 2.90463 11.2183 3.27282 11.2183H7.04318C7.41137 11.2183 7.70985 10.9198 7.70985 10.5516V5.44796ZM2.60616 3.50537C1.90148 3.50537 1.33023 4.07662 1.33023 4.7813V11.2183C1.33023 11.923 1.90148 12.4942 2.60616 12.4942H7.70985C8.4145 12.4942 8.98576 11.923 8.98576 11.2183V4.7813C8.98576 4.07662 8.4145 3.50537 7.70985 3.50537H2.60616Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M14.621 8.2438C14.6522 8.16858 14.6695 8.0861 14.6695 7.9996C14.6695 7.9131 14.6522 7.83062 14.621 7.7554C14.5899 7.68015 14.5438 7.60966 14.4826 7.54849L12.5687 5.63461C12.3196 5.38547 11.9156 5.38547 11.6665 5.63461C11.4174 5.88375 11.4174 6.28768 11.6665 6.53682L12.4913 7.36164H10.2994C9.94711 7.36164 9.66148 7.64727 9.66148 7.9996C9.66148 8.35194 9.94711 8.63756 10.2994 8.63756H12.4913L11.6665 9.46238C11.4174 9.71152 11.4174 10.1155 11.6665 10.3646C11.9156 10.6137 12.3196 10.6137 12.5687 10.3646L14.4823 8.45101M6.99107 9.84142C6.71677 10.123 6.27205 10.123 5.99775 9.84142L5.19685 9.01927L4.39588 9.84148C4.12159 10.1231 3.67686 10.1231 3.40256 9.84148C3.12826 9.55991 3.12826 9.10339 3.40256 8.82181L4.20353 7.99959L3.40258 7.1774C3.12828 6.89583 3.12828 6.43931 3.40258 6.15773C3.67688 5.87616 4.1216 5.87616 4.3959 6.15773L5.19685 6.97993L5.99773 6.15779C6.27203 5.87622 6.71676 5.87622 6.99106 6.15779C7.26535 6.43937 7.26535 6.89589 6.99105 7.17746L6.19017 7.99959L6.99107 8.82175C7.26537 9.10332 7.26537 9.55984 6.99107 9.84142Z",fillRule:"evenodd",clipRule:"evenodd"}}]},RG=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"delete-cell-shift-right-double-icon",ref:t,icon:IG}))});RG.displayName="DeleteCellShiftRightDoubleIcon";const xG={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M7.69172 10.552C7.69172 10.9202 7.39324 11.2187 7.02506 11.2187H3.2547C2.8865 11.2187 2.58803 10.9202 2.58803 10.552V5.44836C2.58803 5.08016 2.8865 4.7817 3.2547 4.7817H7.02506C7.39324 4.7817 7.69172 5.08016 7.69172 5.44836V10.552ZM2.58803 12.4946C1.88335 12.4946 1.3121 11.9234 1.3121 11.2187V4.7817C1.3121 4.07703 1.88335 3.50576 2.58803 3.50576H7.69172C8.39637 3.50576 8.96764 4.07703 8.96764 4.7817V11.2187C8.96764 11.9234 8.39637 12.4946 7.69172 12.4946H2.58803Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M11.892 5.54431C11.9672 5.51312 12.0497 5.49591 12.1362 5.49591C12.2227 5.49591 12.3052 5.51312 12.3804 5.54431C12.4557 5.57545 12.5261 5.62159 12.5873 5.68276L14.5012 7.59665C14.7503 7.84579 14.7503 8.24972 14.5012 8.49886C14.2521 8.748 13.8481 8.748 13.599 8.49886L12.7741 7.67405V9.86594C12.7741 10.2183 12.4885 10.5039 12.1362 10.5039C11.7839 10.5039 11.4983 10.2183 11.4983 9.86594V7.67405L10.6734 8.49886C10.4243 8.748 10.0203 8.748 9.77121 8.49886C9.52207 8.24972 9.52207 7.84579 9.77121 7.59665L11.6848 5.68305M6.97304 6.15811C6.69874 5.87653 6.25401 5.87654 5.97972 6.15811L5.17881 6.98026L4.37784 6.15805C4.10355 5.87647 3.65882 5.87647 3.38453 6.15805C3.11023 6.43962 3.11023 6.89615 3.38453 7.17772L4.18549 7.99993L3.38454 8.82213C3.11024 9.1037 3.11024 9.56023 3.38454 9.8418C3.65884 10.1234 4.10356 10.1234 4.37786 9.8418L5.17881 9.0196L5.9797 9.84174C6.254 10.1233 6.69872 10.1233 6.97302 9.84174C7.24732 9.56016 7.24732 9.10364 6.97302 8.82207L6.17213 7.99993L6.97304 7.17778C7.24734 6.89621 7.24734 6.43969 6.97304 6.15811Z",fillRule:"evenodd",clipRule:"evenodd"}}]},TG=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"delete-cell-shift-up-double-icon",ref:t,icon:xG}))});TG.displayName="DeleteCellShiftUpDoubleIcon";const NG={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M11.9503 1.33317C12.6866 1.33317 13.2836 1.9301 13.2836 2.6665V13.3332C13.2836 14.0695 12.6866 14.6665 11.9503 14.6665H9.28359C8.54721 14.6665 7.95026 14.0696 7.95026 13.3332L7.95026 2.6665C7.95026 1.9301 8.54721 1.33317 9.28359 1.33317H11.9503ZM11.9503 2.6665V13.3332H9.28359V2.6665H11.9503Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M3.8542 6.29716C3.59385 6.03681 3.17174 6.03681 2.91139 6.29716C2.65104 6.55751 2.65104 6.97962 2.91139 7.23997L3.67157 8.00014L2.9114 8.76031C2.65105 9.02066 2.65105 9.44277 2.9114 9.70312C3.17175 9.96347 3.59387 9.96347 3.85421 9.70312L4.61437 8.94296L5.37459 9.70318C5.63494 9.96352 6.05705 9.96353 6.31741 9.70318C6.57775 9.44283 6.57775 9.02072 6.31741 8.76036L5.55718 8.00014L6.31742 7.23991C6.57777 6.97956 6.57777 6.55745 6.31742 6.2971C6.05707 6.03675 5.63496 6.03675 5.37461 6.2971L4.61437 7.05734L3.8542 6.29716Z",fillRule:"evenodd",clipRule:"evenodd"}}]},MG=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"delete-column-double-icon",ref:t,icon:NG}))});MG.displayName="DeleteColumnDoubleIcon";const OG={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M14.6666 11.9502C14.6666 12.6866 14.0697 13.2835 13.3333 13.2835H2.66665C1.93027 13.2835 1.33331 12.6866 1.33331 11.9502V9.28353C1.33331 8.54715 1.93027 7.9502 2.66665 7.9502L13.3333 7.9502C14.0697 7.9502 14.6666 8.54715 14.6666 9.28353V11.9502ZM13.3333 11.9502H2.66665V9.28353H13.3333V11.9502Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M9.60134 3.85438C9.86169 3.59403 9.86169 3.17192 9.60134 2.91157C9.34099 2.65122 8.91888 2.65122 8.65853 2.91157L7.89835 3.67175L7.13819 2.91159C6.87784 2.65124 6.45573 2.65124 6.19538 2.91159C5.93503 3.17194 5.93503 3.59405 6.19538 3.8544L6.95554 4.61456L6.19532 5.37478C5.93497 5.63513 5.93497 6.05724 6.19532 6.31759C6.45567 6.57794 6.87778 6.57794 7.13813 6.31759L7.89835 5.55737L8.65859 6.3176C8.91893 6.57796 9.34105 6.57796 9.60139 6.3176C9.86175 6.05726 9.86175 5.63514 9.60139 5.3748L8.84116 4.61456L9.60134 3.85438Z",fillRule:"evenodd",clipRule:"evenodd"}}]},LG=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"delete-row-double-icon",ref:t,icon:OG}))});LG.displayName="DeleteRowDoubleIcon";const kG={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M3.00004 1.3335C2.07957 1.3335 1.33337 2.07969 1.33337 3.00016V13.0002C1.33337 13.9143 2.06935 14.6566 2.98108 14.6667C2.99252 14.6671 3.00399 14.6671 3.01547 14.6668H13C13.9205 14.6668 14.6667 13.9207 14.6667 13.0002V11.8335C14.6667 11.4653 14.3682 11.1668 14 11.1668C13.6319 11.1668 13.3334 11.4653 13.3334 11.8335V13.0002C13.3334 13.1843 13.1842 13.3335 13 13.3335H5.25636C5.61522 13.016 5.95119 12.6637 6.25105 12.2868C7.06748 11.2609 7.66671 9.98799 7.66671 8.66683V2.66683H13C13.1841 2.66683 13.3334 2.81606 13.3334 3.00016V4.66683C13.3334 5.03502 13.6319 5.3335 14 5.3335C14.3682 5.3335 14.6667 5.03502 14.6667 4.66683V3.00016C14.6667 2.0797 13.9205 1.3335 13 1.3335H3.00004ZM6.33337 2.66683H3.00004C2.81595 2.66683 2.66671 2.81607 2.66671 3.00016V13.0002C2.66671 13.1484 2.76345 13.274 2.89725 13.3173C3.70845 12.9437 4.55406 12.2781 5.20773 11.4566C5.90507 10.5803 6.33337 9.59203 6.33337 8.66683V2.66683Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M12.4714 5.86209C12.2111 5.60174 11.789 5.60174 11.5286 5.86209C11.2683 6.12244 11.2683 6.54455 11.5286 6.8049L12.3906 7.66683H10C9.63185 7.66683 9.33337 7.96531 9.33337 8.3335C9.33337 8.70169 9.63185 9.00016 10 9.00016H12.3906L11.5286 9.86209C11.2683 10.1224 11.2683 10.5446 11.5286 10.8049C11.789 11.0653 12.2111 11.0653 12.4714 10.8049L14.4714 8.8049C14.5935 8.68286 14.6583 8.52528 14.6659 8.36548C14.6665 8.35482 14.6667 8.34416 14.6667 8.3335L12.4714 5.86209Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M12.4714 5.86209L14.4714 7.86209C14.6001 7.9907 14.6651 8.15878 14.6667 8.32734L12.4714 5.86209Z"}}]},PG=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"direct-export-icon",ref:t,icon:kG}))});PG.displayName="DirectExportIcon";const DG={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M7.3999 2.8999V1.6C7.3999 1.26863 7.66853 1 7.9999 1C8.33127 1 8.5999 1.26863 8.5999 1.6V2.8999H10.2044C11.6655 2.8999 12.8499 4.08431 12.8499 5.54536C12.8499 5.87673 12.5813 6.14536 12.2499 6.14536C11.9185 6.14536 11.6499 5.87673 11.6499 5.54536C11.6499 4.74705 11.0028 4.0999 10.2044 4.0999H5.7384C4.97155 4.0999 4.3499 4.72155 4.3499 5.4884C4.3499 6.14439 4.80899 6.71087 5.45074 6.84677L10.7977 7.97906C11.994 8.23242 12.8499 9.28849 12.8499 10.5114C12.8499 11.941 11.691 13.0999 10.2614 13.0999H8.5999V14.4C8.5999 14.7314 8.33127 15 7.9999 15C7.66853 15 7.3999 14.7314 7.3999 14.4V13.0999H5.79536C4.33431 13.0999 3.1499 11.9155 3.1499 10.4544C3.1499 10.1231 3.41853 9.85445 3.7499 9.85445C4.08127 9.85445 4.3499 10.1231 4.3499 10.4544C4.3499 11.2527 4.99705 11.8999 5.79536 11.8999H10.2614C11.0283 11.8999 11.6499 11.2782 11.6499 10.5114C11.6499 9.85542 11.1908 9.28893 10.5491 9.15303L5.20214 8.02074C4.00575 7.76739 3.1499 6.71132 3.1499 5.4884C3.1499 4.05881 4.30881 2.8999 5.7384 2.8999H7.3999Z"}}]},UG=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"dollar-icon",ref:t,icon:DG}))});UG.displayName="DollarIcon";const BG={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"colorChannel1",d:"M3.99992 1.33301H2.66659C1.93021 1.33301 1.33325 1.92996 1.33325 2.66634V3.99967H2.66659V2.66634L3.99992 2.66634V1.33301Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M1.33325 9.33301H2.66659V6.66634H1.33325V9.33301Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M6.66659 1.33301V2.66634H7.33325V5.33301H8.66659V2.66634H9.33325V1.33301H6.66659Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M11.9999 1.33301V2.66634H13.3333V3.99967H14.6666V2.66634C14.6666 1.92996 14.0696 1.33301 13.3333 1.33301H11.9999Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M14.6666 6.66634H13.3333V7.33301H10.6666V8.66634H13.3333V9.33301H14.6666V6.66634Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M7.33325 13.333V10.6663H8.66659V13.333H7.33325Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M5.33325 7.33301H2.66659V8.66634H5.33325V7.33301Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.33325 13.3333V12H2.66659L2.66659 13.3333H13.3333V12H14.6666V13.3333C14.6666 14.0697 14.0696 14.6667 13.3333 14.6667H2.66659C1.93021 14.6667 1.33325 14.0697 1.33325 13.3333Z"}}]},VG=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"down-border-double-icon",ref:t,icon:BG}))});VG.displayName="DownBorderDoubleIcon";const FG={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M2.35381 3.65517C2.35381 2.88198 2.98061 2.25518 3.75381 2.25518H8.10381C8.43518 2.25518 8.70381 1.98655 8.70381 1.65518C8.70381 1.3238 8.43518 1.05518 8.10381 1.05518H3.75381C2.31787 1.05518 1.15381 2.21923 1.15381 3.65517V12.3552C1.15381 13.7911 2.31787 14.9552 3.75381 14.9552H12.4538C13.8897 14.9552 15.0538 13.7911 15.0538 12.3552V8.00518C15.0538 7.6738 14.7852 7.40518 14.4538 7.40518C14.1224 7.40518 13.8538 7.6738 13.8538 8.00518V9.24469L12.3428 8.11143C11.8294 7.72642 11.1111 7.77744 10.6573 8.23119L9.11281 9.77567L6.84342 7.83047C6.34812 7.40592 5.61375 7.41815 5.13289 7.85896L2.35381 10.4064V3.65517ZM2.35381 12.0343V12.3552C2.35381 13.1284 2.98061 13.7552 3.75381 13.7552H12.4538C13.227 13.7552 13.8538 13.1284 13.8538 12.3552V10.7447L11.6228 9.07144C11.5871 9.04469 11.5373 9.04827 11.5058 9.07971L10.0266 10.5589L11.2057 11.5696C11.4573 11.7853 11.4865 12.164 11.2708 12.4156C11.0552 12.6672 10.6764 12.6964 10.4248 12.4807L6.06245 8.74157C6.02809 8.71212 5.97713 8.71296 5.94377 8.74353L2.35381 12.0343Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M10.3911 3.84419C10.6254 3.60988 11.0053 3.60988 11.2396 3.84419L11.8818 4.48643V1.93496C11.8818 1.60359 12.1505 1.33496 12.4818 1.33496C12.8132 1.33496 13.0818 1.60359 13.0818 1.93496V4.48676L13.7244 3.84419C13.9587 3.60988 14.3386 3.60988 14.5729 3.84419C14.8072 4.07851 14.8072 4.45841 14.5729 4.69272L12.9063 6.35939C12.6719 6.5937 12.292 6.5937 12.0577 6.35939L10.3911 4.69272C10.1568 4.45841 10.1568 4.07851 10.3911 3.84419Z"}}]},jG=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"download-image-icon",ref:t,icon:FG}))});jG.displayName="DownloadImageIcon";const HG={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M5.84964 5.80918C6.71946 3.63548 8.84516 2.2 11.3295 2.2C11.8324 2.2 12.3198 2.26279 12.7846 2.38065C13.1058 2.46209 13.4322 2.26773 13.5137 1.94652C13.5951 1.62532 13.4008 1.2989 13.0795 1.21746C12.5191 1.07535 11.9327 1 11.3295 1C8.17278 1 5.49724 2.96009 4.57394 5.80918H3.06582C2.73445 5.80918 2.46582 6.07781 2.46582 6.40918C2.46582 6.74055 2.73445 7.00918 3.06582 7.00918H4.29808C4.25287 7.33297 4.22949 7.66376 4.22949 8C4.22949 8.33608 4.25284 8.6667 4.29801 8.99033H3.06582C2.73445 8.99033 2.46582 9.25896 2.46582 9.59033C2.46582 9.9217 2.73445 10.1903 3.06582 10.1903H4.57378C5.49693 13.0397 8.1726 15 11.3295 15C11.9336 15 12.5209 14.9244 13.0821 14.7819C13.4033 14.7003 13.5975 14.3738 13.5159 14.0527C13.4344 13.7315 13.1079 13.5373 12.7867 13.6188C12.3213 13.737 11.8332 13.8 11.3295 13.8C8.84497 13.8 6.71914 12.3643 5.84944 10.1903H11.4291C11.7605 10.1903 12.0291 9.9217 12.0291 9.59033C12.0291 9.25896 11.7605 8.99033 11.4291 8.99033H5.51225C5.45783 8.66834 5.42949 8.33748 5.42949 8C5.42949 7.66235 5.45786 7.33133 5.51233 7.00918H11.4291C11.7605 7.00918 12.0291 6.74055 12.0291 6.40918C12.0291 6.07781 11.7605 5.80918 11.4291 5.80918H5.84964Z"}}]},WG=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"euro-icon",ref:t,icon:HG}))});WG.displayName="EuroIcon";const zG={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M3.65005 1.05005C2.21411 1.05005 1.05005 2.21411 1.05005 3.65005V12.35C1.05005 13.7859 2.21411 14.95 3.65005 14.95H14.35C14.6813 14.95 14.95 14.6813 14.95 14.35C14.95 14.0186 14.6813 13.75 14.35 13.75H3.65005C2.87685 13.75 2.25005 13.1232 2.25005 12.35V3.65005C2.25005 2.87685 2.87685 2.25005 3.65005 2.25005H14.35C14.6813 2.25005 14.95 1.98142 14.95 1.65005C14.95 1.31868 14.6813 1.05005 14.35 1.05005H3.65005Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M11.6167 5.26668C11.851 5.03236 12.2309 5.03236 12.4652 5.26668L14.7743 7.57575C15.0086 7.81007 15.0086 8.18997 14.7743 8.42428L12.4652 10.7334C12.2309 10.9677 11.851 10.9677 11.6167 10.7334C11.3823 10.499 11.3823 10.1191 11.6167 9.88483L12.9015 8.60002H6.63784C6.30647 8.60002 6.03784 8.3314 6.03784 8.00002C6.03784 7.66865 6.30647 7.40002 6.63784 7.40002H12.9015L11.6167 6.11521C11.3823 5.88089 11.3823 5.50099 11.6167 5.26668Z"}}]},XG=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"export-icon",ref:t,icon:zG}))});XG.displayName="ExportIcon";const qG={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M7.99967 10.6663C7.47226 10.6663 6.95669 10.5099 6.51815 10.2169C6.07962 9.92391 5.73783 9.50743 5.536 9.02016C5.33416 8.53289 5.28135 7.99672 5.38425 7.47943C5.48714 6.96215 5.74112 6.487 6.11406 6.11406C6.487 5.74112 6.96215 5.48714 7.47943 5.38425C7.99672 5.28135 8.53289 5.33416 9.02016 5.536C9.50743 5.73783 9.92391 6.07962 10.2169 6.51815C10.5099 6.95669 10.6663 7.47226 10.6663 7.99967C10.6663 8.70692 10.3854 9.3852 9.88529 9.88529C9.3852 10.3854 8.70692 10.6663 7.99967 10.6663ZM7.99967 6.66634C7.73597 6.66634 7.47818 6.74454 7.25891 6.89105C7.03965 7.03756 6.86875 7.2458 6.76784 7.48943C6.66692 7.73306 6.64051 8.00115 6.69196 8.25979C6.74341 8.51844 6.8704 8.75601 7.05687 8.94248C7.24334 9.12895 7.48091 9.25594 7.73955 9.30739C7.9982 9.35883 8.26628 9.33243 8.50992 9.23151C8.75355 9.1306 8.96179 8.9597 9.1083 8.74043C9.25481 8.52117 9.33301 8.26338 9.33301 7.99967C9.33301 7.64605 9.19253 7.30691 8.94248 7.05687C8.69243 6.80682 8.3533 6.66634 7.99967 6.66634Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M7.99967 12.6663C3.69701 12.6663 1.33301 9.16101 1.33301 7.99967C1.33301 6.89034 4.40767 3.33301 7.99967 3.33301C11.5917 3.33301 14.6663 6.89034 14.6663 7.99967C14.6663 9.16101 12.3023 12.6663 7.99967 12.6663ZM2.67501 8.01834C3.14932 9.02475 3.90405 9.87286 4.84857 10.4608C5.79309 11.0488 6.88725 11.3517 7.99967 11.333C9.1121 11.3517 10.2063 11.0488 11.1508 10.4608C12.0953 9.87286 12.85 9.02475 13.3243 8.01834C13.0823 7.37167 10.8363 4.66634 7.99967 4.66634C5.16301 4.66634 2.91701 7.37167 2.67501 8.01834Z"}}]},GG=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"eye-outline-icon",ref:t,icon:qG}))});GG.displayName="EyeOutlineIcon";const YG={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M0.571533 12.0016V4.69797C0.571533 3.37249 1.64605 2.29797 2.97153 2.29797H5.00397C5.90947 2.29797 6.77882 2.65328 7.42511 3.2875C7.84704 3.70155 8.4146 3.93351 9.00576 3.93351H11.6938C12.8536 3.93351 13.7938 4.87372 13.7938 6.03351V6.83533H13.8982C15.064 6.83533 15.8384 8.04207 15.3527 9.10188L13.6724 12.7686C13.4118 13.3374 12.8435 13.702 12.2179 13.702H2.17045C1.20587 13.702 0.515561 12.8793 0.571533 12.0016ZM1.77153 4.69797C1.77153 4.03523 2.30879 3.49797 2.97153 3.49797H5.00397C5.59513 3.49797 6.16269 3.72993 6.58462 4.14399C7.23091 4.77821 8.10026 5.13351 9.00576 5.13351H11.6938C12.1909 5.13351 12.5938 5.53646 12.5938 6.03351V6.83533H4.64069C3.6604 6.83533 2.76344 7.38669 2.32081 8.26136L1.77153 9.34679V4.69797ZM1.77153 12.1373V12.0664C1.77594 12.0179 1.78952 11.9689 1.81355 11.9214L3.39152 8.80319C3.62986 8.33222 4.11284 8.03533 4.64069 8.03533H13.8982C14.1896 8.03533 14.3832 8.33701 14.2618 8.60197L12.5815 12.2687C12.5164 12.4109 12.3743 12.502 12.2179 12.502H2.17045C1.95161 12.502 1.78924 12.3326 1.77153 12.1373Z",fillRule:"evenodd",clipRule:"evenodd"}}]},QG=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"folder-icon",ref:t,icon:YG}))});QG.displayName="FolderIcon";const ZG={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"colorChannel1",d:"M1.98682 13.4992C1.98682 12.5603 2.74793 11.7992 3.68682 11.7992H14.2868C15.2257 11.7992 15.9868 12.5603 15.9868 13.4992V13.4992C15.9868 14.4381 15.2257 15.1992 14.2868 15.1992H3.68682C2.74793 15.1992 1.98682 14.4381 1.98682 13.4992V13.4992Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M10.3014 1.70389C9.85268 0.479568 8.12109 0.479557 7.67238 1.70389L4.72235 9.75326C4.60832 10.0644 4.76811 10.4091 5.07924 10.5231C5.39038 10.6371 5.73504 10.4773 5.84907 10.1662L6.99975 7.02646C7.03588 7.03324 7.07314 7.03679 7.11123 7.03679H10.9778L12.1247 10.1662C12.2387 10.4773 12.5834 10.6371 12.8945 10.5231C13.2057 10.4091 13.3654 10.0644 13.2514 9.75326L10.3014 1.70389ZM10.538 5.83679L9.17467 2.11682C9.11057 1.94192 8.8632 1.94192 8.7991 2.11682L7.43576 5.83679H10.538Z",fillRule:"evenodd",clipRule:"evenodd"}}]},KG=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"font-color-double-icon",ref:t,icon:ZG}))});KG.displayName="FontColorDoubleIcon";const $G={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M4.92494 2.4224C5.37364 1.19807 7.10523 1.19807 7.55394 2.4224L11.7284 13.8128C11.8425 14.124 11.6827 14.4686 11.3716 14.5827C11.0604 14.6967 10.7158 14.5369 10.6017 14.2258L9.02773 9.93099C9.02555 9.93101 9.02338 9.93102 9.0212 9.93102H3.74372C3.6469 9.93102 3.55544 9.90809 3.47447 9.86736L1.87714 14.2258C1.76312 14.5369 1.41845 14.6967 1.10732 14.5827C0.796186 14.4686 0.636401 14.124 0.750429 13.8128L4.92494 2.4224ZM3.89093 8.73102H8.58795L6.42722 2.83533C6.36312 2.66043 6.11576 2.66042 6.05165 2.83533L3.89093 8.73102Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M13.0504 2.47954C13.0504 2.14817 12.7818 1.87954 12.4504 1.87954C12.1191 1.87954 11.8504 2.14817 11.8504 2.47954V4.11554H10.2144C9.88305 4.11554 9.61442 4.38417 9.61442 4.71554C9.61442 5.04691 9.88305 5.31554 10.2144 5.31554H11.8504V6.95155C11.8504 7.28292 12.1191 7.55155 12.4504 7.55155C12.7818 7.55155 13.0504 7.28292 13.0504 6.95155V5.31554H14.6864C15.0178 5.31554 15.2864 5.04691 15.2864 4.71554C15.2864 4.38417 15.0178 4.11554 14.6864 4.11554H13.0504V2.47954Z"}}]},JG=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"font-size-increase-icon",ref:t,icon:$G}))});JG.displayName="FontSizeIncreaseIcon";const eY={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M4.92469 2.4224C5.3734 1.19807 7.10499 1.19807 7.5537 2.4224L11.7282 13.8128C11.8422 14.124 11.6824 14.4686 11.3713 14.5827C11.0602 14.6967 10.7155 14.5369 10.6015 14.2258L9.02748 9.93099C9.02539 9.93101 9.0233 9.93102 9.0212 9.93102H3.74372C3.64682 9.93102 3.55528 9.90805 3.47426 9.86726L1.8769 14.2258C1.76287 14.5369 1.41821 14.6967 1.10708 14.5827C0.795942 14.4686 0.636156 14.124 0.750185 13.8128L4.92469 2.4224ZM3.89068 8.73102H8.58771L6.42698 2.83533C6.36288 2.66043 6.11551 2.66042 6.05141 2.83533L3.89068 8.73102Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M9.61442 4.71554C9.61442 4.38417 9.88305 4.11554 10.2144 4.11554H14.6864C15.0178 4.11554 15.2864 4.38417 15.2864 4.71554C15.2864 5.04691 15.0178 5.31554 14.6864 5.31554H10.2144C9.88305 5.31554 9.61442 5.04691 9.61442 4.71554Z"}}]},tY=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"font-size-reduce-icon",ref:t,icon:eY}))});tY.displayName="FontSizeReduceIcon";const rY={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.14014 12.2599C1.14014 13.6958 2.3042 14.8599 3.74014 14.8599H12.2601C13.6961 14.8599 14.8601 13.6958 14.8601 12.2599V3.73989C14.8601 2.30395 13.6961 1.13989 12.2601 1.13989H3.74014C2.3042 1.13989 1.14014 2.30396 1.14014 3.73989V12.2599ZM2.68766 13.1831C2.47131 12.9367 2.34014 12.6136 2.34014 12.2599V11.9756L5.68213 8.21656V9.69237L2.68766 13.1831ZM3.85969 13.6599H5.68213V11.5354L3.85969 13.6599ZM6.88213 13.6599H12.2601C13.0333 13.6599 13.6601 13.0331 13.6601 12.2599V3.73989C13.6601 2.96669 13.0333 2.33989 12.2601 2.33989H6.88213V13.6599ZM5.68213 2.33989H5.10563L2.34014 5.5448V6.99379L5.68213 3.23472V2.33989ZM2.34014 8.79985V10.1696L5.68213 6.4105V5.04078L2.34014 8.79985ZM2.3405 3.70754L3.50344 2.35982C2.85328 2.47053 2.35588 3.02952 2.3405 3.70754Z",fillRule:"evenodd",clipRule:"evenodd"}}]},nY=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"freeze-column-icon",ref:t,icon:rY}))});nY.displayName="FreezeColumnIcon";const iY={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M3.74015 1.13989C2.30421 1.13989 1.14015 2.30396 1.14015 3.73989V5.32866C1.14013 5.33155 1.14013 5.33444 1.14015 5.33732V12.2599C1.14015 13.6958 2.30421 14.8599 3.74015 14.8599H12.2602C13.6961 14.8599 14.8602 13.6958 14.8602 12.2599V3.73989C14.8602 2.46491 13.9424 1.40427 12.7315 1.18251C12.6397 1.14703 12.5407 1.13477 12.4436 1.14626C12.383 1.14204 12.3218 1.13989 12.2602 1.13989H3.74015ZM10.9392 2.33989H9.5695L5.81042 5.68188H7.18015L10.9392 2.33989ZM7.76344 2.33989H6.2816L2.34015 5.61425V5.68188H4.00437L7.76344 2.33989ZM2.34015 6.88188V12.2599C2.34015 13.0331 2.96695 13.6599 3.74015 13.6599H12.2602C13.0334 13.6599 13.6602 13.0331 13.6602 12.2599V6.88188H2.34015ZM13.6602 5.68188V4.48357L12.2714 5.68188H13.6602ZM13.4806 3.05349C13.3067 2.745 13.0193 2.50905 12.675 2.40238L8.98621 5.68188H10.4346L13.4806 3.05349ZM2.34015 4.05418L4.4037 2.33989H3.74015C2.96695 2.33989 2.34015 2.9667 2.34015 3.73989V4.05418Z",fillRule:"evenodd",clipRule:"evenodd"}}]},aY=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"freeze-row-icon",ref:t,icon:iY}))});aY.displayName="FreezeRowIcon";const oY={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.14014 3.73989C1.14014 2.30396 2.3042 1.13989 3.74014 1.13989H12.2601C12.3218 1.13989 12.383 1.14204 12.4436 1.14627C12.5406 1.13479 12.6397 1.14699 12.7315 1.18252C13.9424 1.4043 14.8601 2.46492 14.8601 3.73989V12.2599C14.8601 13.6905 13.7047 14.8513 12.2761 14.8598L12.2572 14.8599L3.74014 14.8599C2.3042 14.8599 1.14014 13.6958 1.14014 12.2599V3.73989ZM12.2677 13.6599L12.2601 13.6599H7.99297L7.99256 8.10687C7.99254 7.88594 8.17163 7.70684 8.39256 7.70684H13.6572V12.2599C13.6572 13.0296 13.0361 13.6542 12.2677 13.6599ZM8.39256 6.50684H9.82177L13.4929 3.07581C13.3217 2.75868 13.0317 2.51513 12.6826 2.40475L8.25499 6.51267C8.30033 6.50881 8.34621 6.50684 8.39256 6.50684ZM13.6601 4.56202L11.5792 6.50684H13.6601V4.56202ZM6.81297 7.85057C6.79953 7.93405 6.79255 8.01969 6.79256 8.10696L6.79265 9.36615L2.72441 13.2234C2.48625 12.9724 2.34014 12.6332 2.34014 12.2599V12.0005L6.81297 7.85057ZM4.00811 13.6599H6.79297L6.79277 11.0197L4.00811 13.6599ZM9.57168 2.33989H10.9882L2.34014 10.3635V8.8534L9.57168 2.33989ZM7.77864 2.33989L2.34014 7.2384V5.61425L6.28159 2.33989H7.77864ZM4.40368 2.33989L2.34014 4.05418V3.73989C2.34014 2.9667 2.96694 2.33989 3.74014 2.33989H4.40368Z",fillRule:"evenodd",clipRule:"evenodd"}}]},sY=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"freeze-to-selected-icon",ref:t,icon:oY}))});sY.displayName="FreezeToSelectedIcon";const lY={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M3.09318 3.78608C2.21639 2.9026 2.84219 1.3999 4.08689 1.3999H11.2079C11.7676 1.3999 12.3041 1.62335 12.6984 2.02063L13.2584 2.58488C13.4918 2.82009 13.4904 3.19998 13.2552 3.4334C13.02 3.66683 12.6401 3.66538 12.4066 3.43018L11.8467 2.86593C11.6777 2.69566 11.4477 2.5999 11.2079 2.5999H4.08689C3.90907 2.5999 3.81967 2.81458 3.94493 2.94079L8.24218 7.27082C8.66782 7.69971 8.66782 8.39164 8.24218 8.82053L3.94493 13.1506C3.81967 13.2768 3.90907 13.4915 4.08689 13.4915H11.2079C11.4477 13.4915 11.6777 13.3957 11.8467 13.2254L12.4066 12.6612C12.6401 12.426 13.02 12.4245 13.2552 12.658C13.4904 12.8914 13.4918 13.2713 13.2584 13.5065L12.6984 14.0707C12.3041 14.468 11.7676 14.6915 11.2079 14.6915H4.08689C2.84218 14.6915 2.2164 13.1888 3.09318 12.3053L7.32053 8.04568L3.09318 3.78608Z",fillRule:"evenodd",clipRule:"evenodd"}}]},uY=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"function-icon",ref:t,icon:lY}))});uY.displayName="FunctionIcon";const cY={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.33325 2.60309C1.33325 1.90178 1.90178 1.33325 2.60309 1.33325H13.3967C14.0981 1.33325 14.6666 1.90178 14.6666 2.60309V13.3967C14.6666 14.0981 14.0981 14.6666 13.3967 14.6666H2.60309C1.90178 14.6666 1.33325 14.0981 1.33325 13.3967V2.60309ZM10.5396 13.3967H13.3967V10.5396H10.5396V13.3967ZM9.26976 10.5396V13.3967H6.41262V10.5396H9.26976ZM10.5396 9.26976H13.3967V6.73008H10.5396V9.26976ZM9.26976 6.73008V9.26976H6.41262V6.73008H9.26976ZM10.5396 5.46024H13.3967V2.60309H10.5396V5.46024ZM9.26976 2.60309V5.46024H6.41262V2.60309H9.26976ZM2.60309 2.60309H5.14278V5.46024H2.60309V2.60309ZM2.60309 6.73008H5.14278V9.26976H2.60309V6.73008ZM2.60309 10.5396H5.14278V13.3967H2.60309V10.5396Z",fillRule:"evenodd",clipRule:"evenodd"}}]},dY=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"grid-icon",ref:t,icon:cY}))});dY.displayName="GridIcon";const hY={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M4.9999 3.90137C4.66853 3.90137 4.3999 4.17 4.3999 4.50137C4.3999 4.83274 4.66853 5.10137 4.9999 5.10137H10.9999C11.3313 5.10137 11.5999 4.83274 11.5999 4.50137C11.5999 4.17 11.3313 3.90137 10.9999 3.90137H4.9999Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M4.9999 10.8987C4.66853 10.8987 4.3999 11.1673 4.3999 11.4987C4.3999 11.8301 4.66853 12.0987 4.9999 12.0987H10.9999C11.3313 12.0987 11.5999 11.8301 11.5999 11.4987C11.5999 11.1673 11.3313 10.8987 10.9999 10.8987H4.9999Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M12.7 2.0999H3.30005C2.85822 2.0999 2.50005 2.45807 2.50005 2.8999V13.0999C2.50005 13.5417 2.85822 13.8999 3.30005 13.8999H12.7C13.1419 13.8999 13.5 13.5417 13.5 13.0999V2.8999C13.5 2.45808 13.1419 2.0999 12.7 2.0999ZM3.30005 0.899902C2.19548 0.899902 1.30005 1.79533 1.30005 2.8999V13.0999C1.30005 14.2045 2.19548 15.0999 3.30005 15.0999H12.7C13.8046 15.0999 14.7 14.2045 14.7 13.0999V2.8999C14.7 1.79533 13.8046 0.899902 12.7 0.899902H3.30005Z",fillRule:"evenodd",clipRule:"evenodd"}}]},mY=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"header-footer-icon",ref:t,icon:hY}))});mY.displayName="HeaderFooterIcon";const fY={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8.01519 4.9156C7.65059 4.9156 7.29055 4.96431 6.93757 5.05194C6.6062 5.1342 6.2709 4.93226 6.18864 4.60089C6.10638 4.26953 6.30831 3.93422 6.63968 3.85196C7.0796 3.74275 7.53991 3.6792 8.01519 3.6792C9.93752 3.6792 11.6225 4.71575 12.781 5.67605C13.3691 6.16346 13.8434 6.64946 14.171 7.01358C14.3351 7.19604 14.4633 7.34895 14.5515 7.45755C14.5956 7.51187 14.6298 7.5552 14.6535 7.58568C14.6653 7.60092 14.6745 7.61296 14.6811 7.62157L14.6889 7.63188L14.6913 7.63506L14.6921 7.63614C14.6921 7.63614 14.6927 7.63689 14.1972 8.0066C14.6927 8.37631 14.6925 8.37646 14.6925 8.37646L14.6921 8.37705L14.6913 8.37814L14.6889 8.38131L14.6811 8.39163C14.6745 8.40023 14.6653 8.41227 14.6535 8.42752C14.6298 8.458 14.5956 8.50132 14.5515 8.55565C14.4633 8.66425 14.3351 8.81715 14.171 8.99961C13.8434 9.36373 13.3691 9.84973 12.781 10.3371C12.5182 10.555 12.1284 10.5186 11.9106 10.2557C11.6927 9.99285 11.7291 9.60313 11.992 9.38524C12.5227 8.94536 12.9537 8.50406 13.2518 8.1727C13.3051 8.11347 13.354 8.05788 13.3984 8.0066C13.354 7.95531 13.3051 7.89972 13.2518 7.84049C12.9537 7.50913 12.5227 7.06783 11.992 6.62795C10.9131 5.73365 9.50709 4.9156 8.01519 4.9156ZM14.1972 8.0066L14.6925 8.37646C14.8562 8.15715 14.8563 7.8562 14.6927 7.63689L14.1972 8.0066ZM4.11981 5.75748C4.3377 6.02035 4.30123 6.41007 4.03837 6.62795C3.50769 7.06783 3.07669 7.50913 2.7786 7.84049C2.72531 7.89972 2.67639 7.95531 2.63203 8.0066C2.67639 8.05788 2.72531 8.11347 2.7786 8.17271C3.07669 8.50406 3.50769 8.94536 4.03837 9.38524C5.11729 10.2795 6.5233 11.0976 8.01519 11.0976C8.38283 11.0976 8.74582 11.0481 9.10157 10.9591C9.43279 10.8762 9.76846 11.0776 9.85131 11.4088C9.93417 11.74 9.73283 12.0757 9.40162 12.1585C8.95841 12.2694 8.49443 12.334 8.01519 12.334C6.09287 12.334 4.40788 11.2974 3.24935 10.3371C2.66132 9.84973 2.18698 9.36373 1.85941 8.99961C1.69527 8.81715 1.56704 8.66425 1.47887 8.55565C1.43476 8.50132 1.4006 8.458 1.37692 8.42752C1.36508 8.41227 1.35585 8.40023 1.3493 8.39162L1.34149 8.38131L1.3391 8.37813L1.33829 8.37705C1.33829 8.37705 1.33773 8.37631 1.8332 8.0066C1.33773 7.63689 1.33785 7.63673 1.33785 7.63673L1.3391 7.63506L1.34149 7.63188L1.3493 7.62157C1.35585 7.61296 1.36508 7.60092 1.37692 7.58568C1.4006 7.5552 1.43476 7.51187 1.47887 7.45755C1.56704 7.34895 1.69527 7.19604 1.85941 7.01358C2.18698 6.64946 2.66132 6.16346 3.24935 5.67605C3.51221 5.45816 3.90193 5.49462 4.11981 5.75748ZM1.8332 8.0066L1.33785 7.63673C1.1742 7.85604 1.17464 8.15774 1.33829 8.37705L1.8332 8.0066Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M3.8775 2.99454C3.63608 2.75312 3.24466 2.75312 3.00323 2.99454C2.76181 3.23596 2.76181 3.62739 3.00323 3.86881L6.11167 6.97725C5.94588 7.28339 5.85153 7.63423 5.85153 8.00647C5.85153 9.20144 6.82025 10.1702 8.01523 10.1702C8.38756 10.1702 8.73834 10.0758 9.04444 9.91001L12.1095 12.9751C12.3509 13.2165 12.7424 13.2165 12.9838 12.9751C13.2252 12.7337 13.2252 12.3422 12.9838 12.1008L3.8775 2.99454ZM8.0668 8.93237L7.08932 7.9549C7.0884 7.97197 7.08793 7.98916 7.08793 8.00647C7.08793 8.5186 7.5031 8.93377 8.01523 8.93377C8.03254 8.93377 8.04973 8.9333 8.0668 8.93237Z",fillRule:"evenodd",clipRule:"evenodd"}}]},gY=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"hide-double-icon",ref:t,icon:fY}))});gY.displayName="HideDoubleIcon";const pY={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"colorChannel1",d:"M1.33325 13.333V11.9997H2.66659L2.66659 13.333H3.99992V14.6663H2.66659C1.93021 14.6663 1.33325 14.0694 1.33325 13.333Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M2.66659 1.33301H3.99992V2.66634L2.66659 2.66634V3.99967H1.33325V2.66634C1.33325 1.92996 1.93021 1.33301 2.66659 1.33301Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M2.66659 9.33301H1.33325V6.66634H2.66659V9.33301Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M6.66659 2.66634V1.33301H9.33325V2.66634H8.66496V3.9855H7.33496V2.66634H6.66659Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M11.9999 2.66634V1.33301H13.3333C14.0696 1.33301 14.6666 1.92996 14.6666 2.66634V3.99967H13.3333V2.66634H11.9999Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M13.3333 6.66634H14.6666V9.33301H13.3333V6.66634Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M13.3333 11.9997H14.6666V13.333C14.6666 14.0694 14.0696 14.6663 13.3333 14.6663H11.9999V13.333H13.3333V11.9997Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M9.33325 13.333V14.6663H6.66659V13.333H7.33496V12.0138H8.66496V13.333H9.33325Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M7.33496 6.66159L7.33496 9.33768H8.66496V6.66159H7.33496Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M8.66687 7.33423H7.33354L2.66687 7.33431V8.66764H7.33354L8.66687 8.66756L13.3335 8.66764V7.33431L8.66687 7.33423Z"}}]},vY=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"horizontal-border-double-icon",ref:t,icon:pY}))});vY.displayName="HorizontalBorderDoubleIcon";const bY={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.9999 1.89941C1.66853 1.89941 1.3999 2.16804 1.3999 2.49941C1.3999 2.83078 1.66853 3.09941 1.9999 3.09941H13.9999C14.3313 3.09941 14.5999 2.83078 14.5999 2.49941C14.5999 2.16804 14.3313 1.89941 13.9999 1.89941H1.9999Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M3.33315 5.56641C3.00178 5.56641 2.73315 5.83504 2.73315 6.16641C2.73315 6.49778 3.00178 6.76641 3.33315 6.76641H12.6665C12.9979 6.76641 13.2665 6.49778 13.2665 6.16641C13.2665 5.83504 12.9979 5.56641 12.6665 5.56641H3.33315Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.3999 9.8334C1.3999 9.50203 1.66853 9.2334 1.9999 9.2334H13.9999C14.3313 9.2334 14.5999 9.50203 14.5999 9.8334C14.5999 10.1648 14.3313 10.4334 13.9999 10.4334H1.9999C1.66853 10.4334 1.3999 10.1648 1.3999 9.8334Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M3.33315 12.9004C3.00178 12.9004 2.73315 13.169 2.73315 13.5004C2.73315 13.8318 3.00178 14.1004 3.33315 14.1004H12.6665C12.9979 14.1004 13.2665 13.8318 13.2665 13.5004C13.2665 13.169 12.9979 12.9004 12.6665 12.9004H3.33315Z"}}]},CY=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"horizontally-icon",ref:t,icon:bY}))});CY.displayName="HorizontallyIcon";const yY={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M5.91296 6.82256L5.89774 6.82237L2.83868 6.8223C1.89982 6.82228 1.13874 6.06119 1.13872 5.12234L1.13867 3.32265C1.13865 2.38375 1.89977 1.62261 2.83866 1.62261L5.90639 1.62259L5.91296 1.62256L5.91953 1.62259L10.0821 1.62258L10.0868 1.62256L10.0914 1.62258L13.1607 1.62256C14.0996 1.62256 14.8607 2.38368 14.8607 3.32256V5.12253C14.8607 6.06143 14.0996 6.82256 13.1607 6.82253L10.0975 6.82246L10.0868 6.82256L10.076 6.82246L5.92815 6.82237L5.91296 6.82256ZM10.6868 5.62248L13.1607 5.62253C13.4368 5.62254 13.6607 5.39868 13.6607 5.12253V3.32256C13.6607 3.04642 13.4368 2.82256 13.1607 2.82256L10.6868 2.82257V5.62248ZM9.48679 2.82258V5.62245L6.51296 5.62238V2.82259L9.48679 2.82258ZM5.31296 2.8226V5.62236L2.8387 5.6223C2.56257 5.62229 2.33872 5.39845 2.33872 5.12231L2.33867 3.32262C2.33867 3.04647 2.56252 2.82261 2.83867 2.82261L5.31296 2.8226Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.1387 10.8773L1.13878 12.6773C1.13883 13.6162 1.89994 14.3772 2.8388 14.3772L5.90638 14.3772L5.91296 14.3772L5.91955 14.3772L10.0775 14.3772C10.0806 14.3772 10.0837 14.3772 10.0868 14.3772C10.0899 14.3772 10.093 14.3772 10.0961 14.3772L13.1607 14.3772C14.0996 14.3771 14.8607 13.616 14.8607 12.6772V10.8772C14.8607 9.93836 14.0996 9.17725 13.1607 9.17725H2.8387C1.89978 9.17725 1.13865 9.93841 1.1387 10.8773ZM9.48679 10.3772H6.51296V13.1772L9.48679 13.1772V10.3772ZM10.6868 13.1772V10.3772H13.1607C13.4369 10.3772 13.6607 10.6011 13.6607 10.8772V12.6772C13.6607 12.9533 13.4369 13.1771 13.1607 13.1772L10.6868 13.1772ZM5.31296 13.1772V10.3772H2.8387C2.56254 10.3772 2.33868 10.6011 2.3387 10.8773L2.33878 12.6773C2.33879 12.9534 2.56265 13.1772 2.83879 13.1772L5.31296 13.1772Z",fillRule:"evenodd",clipRule:"evenodd"}}]},_Y=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"horizontal-merge-icon",ref:t,icon:yY}))});_Y.displayName="HorizontalMergeIcon";const wY={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8.6 1.99991C8.60001 1.66854 8.33138 1.39991 8.00001 1.3999C7.66864 1.3999 7.40001 1.66853 7.4 1.9999L7.39996 7.3999H1.9999C1.66853 7.3999 1.3999 7.66853 1.3999 7.9999C1.3999 8.33127 1.66853 8.5999 1.9999 8.5999H7.39995L7.3999 13.9999C7.3999 14.3313 7.66853 14.5999 7.9999 14.5999C8.33127 14.5999 8.5999 14.3313 8.5999 13.9999L8.59995 8.5999H13.9999C14.3313 8.5999 14.5999 8.33127 14.5999 7.9999C14.5999 7.66853 14.3313 7.3999 13.9999 7.3999H8.59996L8.6 1.99991Z"}}]},EY=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"increase-icon",ref:t,icon:wY}))});EY.displayName="IncreaseIcon";const SY={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"colorChannel1",d:"M1.33325 11.9997V13.333C1.33325 14.0694 1.93021 14.6663 2.66659 14.6663H3.99992V13.333H2.66659L2.66659 11.9997H1.33325ZM3.99992 1.33301H2.66659C1.93021 1.33301 1.33325 1.92996 1.33325 2.66634V3.99967H2.66659V2.66634L3.99992 2.66634V1.33301ZM1.33325 9.33301H2.66659V6.66634H1.33325V9.33301ZM6.66659 1.33301V2.66634H9.33325V1.33301H6.66659ZM11.9999 1.33301V2.66634H13.3333V3.99967H14.6666V2.66634C14.6666 1.92996 14.0696 1.33301 13.3333 1.33301H11.9999ZM14.6666 6.66634H13.3333V9.33301H14.6666V6.66634ZM14.6666 11.9997H13.3333V13.333H11.9999V14.6663H13.3333C14.0696 14.6663 14.6666 14.0694 14.6666 13.333V11.9997ZM9.33325 14.6663V13.333H6.66659V14.6663H9.33325Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M8.66693 7.33415V2.66748H7.3336V7.33415H2.66693V8.66748H7.3336V13.3341H8.66693V8.66748H13.3336V7.33415H8.66693Z"}}]},AY=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"inner-border-double-icon",ref:t,icon:SY}))});AY.displayName="InnerBorderDoubleIcon";const IY={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M7.66105 5.44796C7.66105 5.07977 7.36257 4.7813 6.99439 4.7813H3.22403C2.85583 4.7813 2.55736 5.07977 2.55736 5.44796V10.5516C2.55736 10.9198 2.85583 11.2183 3.22403 11.2183H6.99439C7.36257 11.2183 7.66105 10.9198 7.66105 10.5516V5.44796ZM2.55736 3.50537C1.85268 3.50537 1.28143 4.07662 1.28143 4.7813V11.2183C1.28143 11.923 1.85268 12.4942 2.55736 12.4942H7.66105C8.3657 12.4942 8.93697 11.923 8.93697 11.2183V4.7813C8.93697 4.07662 8.3657 3.50537 7.66105 3.50537H2.55736Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M11.9225 10.465C11.9977 10.4962 12.0802 10.5134 12.1667 10.5134C12.2532 10.5134 12.3357 10.4962 12.4109 10.465C12.4862 10.4338 12.5567 10.3877 12.6178 10.3265L14.5317 8.41263C14.7808 8.16349 14.7808 7.75956 14.5317 7.51042C14.2826 7.26128 13.8786 7.26128 13.6295 7.51042L12.8047 8.33523V6.14333C12.8047 5.791 12.5191 5.50537 12.1667 5.50537C11.8144 5.50537 11.5288 5.791 11.5288 6.14333V8.33523L10.7039 7.51042C10.4548 7.26128 10.0509 7.26128 9.80172 7.51042C9.55258 7.75956 9.55258 8.16349 9.80172 8.41263L11.7153 10.3262",fillRule:"evenodd",clipRule:"evenodd"}}]},RY=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"insert-cell-down-double-icon",ref:t,icon:IY}))});RY.displayName="InsertCellDownDoubleIcon";const xY={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M7.56614 5.44796C7.56614 5.07977 7.26766 4.7813 6.89948 4.7813H3.12912C2.76092 4.7813 2.46245 5.07977 2.46245 5.44796V10.5516C2.46245 10.9198 2.76092 11.2183 3.12912 11.2183H6.89948C7.26766 11.2183 7.56614 10.9198 7.56614 10.5516V5.44796ZM2.46245 3.50537C1.75777 3.50537 1.18652 4.07662 1.18652 4.7813V11.2183C1.18652 11.923 1.75777 12.4942 2.46245 12.4942H7.56614C8.27079 12.4942 8.84206 11.923 8.84206 11.2183V4.7813C8.84206 4.07662 8.27079 3.50537 7.56614 3.50537H2.46245Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M14.7651 8.2438C14.7963 8.16858 14.8135 8.0861 14.8135 7.9996C14.8135 7.9131 14.7963 7.83062 14.7651 7.7554C14.7339 7.68015 14.6878 7.60966 14.6266 7.54849L12.7127 5.63461C12.4636 5.38547 12.0597 5.38547 11.8105 5.63461C11.5614 5.88375 11.5614 6.28768 11.8105 6.53682L12.6353 7.36164H10.4434C10.0911 7.36164 9.80548 7.64727 9.80548 7.9996C9.80548 8.35194 10.0911 8.63756 10.4434 8.63756H12.6353L11.8105 9.46238C11.5614 9.71152 11.5614 10.1155 11.8105 10.3646C12.0597 10.6137 12.4636 10.6137 12.7127 10.3646L14.6263 8.45101",fillRule:"evenodd",clipRule:"evenodd"}}]},TY=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"insert-cell-shift-right-double-icon",ref:t,icon:xY}))});TY.displayName="InsertCellShiftRightDoubleIcon";const NY={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M2.53337 14C2.35658 14 2.18704 13.9297 2.06203 13.8047C1.93703 13.6797 1.86681 13.5101 1.86681 13.3333C1.86681 13.1565 1.93703 12.987 2.06203 12.862C2.18704 12.7369 2.35658 12.6667 2.53337 12.6667L13.4667 12.6667C13.6435 12.6667 13.813 12.7369 13.938 12.862C14.063 12.987 14.1333 13.1565 14.1333 13.3333C14.1333 13.5101 14.063 13.6797 13.938 13.8047C13.813 13.9297 13.6435 14 13.4667 14L2.53337 14ZM2.53337 3.33333C2.35658 3.33331 2.18703 3.26306 2.06203 3.13804C1.93703 3.01301 1.86681 2.84346 1.86681 2.66667C1.86681 2.48987 1.93703 2.32032 2.06203 2.1953C2.18703 2.07028 2.35658 2.00003 2.53337 2L13.4667 2C13.6435 2.00003 13.813 2.07028 13.938 2.1953C14.063 2.32032 14.1333 2.48987 14.1333 2.66667C14.1333 2.84346 14.063 3.01301 13.938 3.13803C13.813 3.26306 13.6435 3.33331 13.4667 3.33333L2.53337 3.33333Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M11.0573 7.33327L10.1953 6.47127C10.0703 6.34627 10.0001 6.17672 10.0001 5.99994C10.0001 5.82315 10.0703 5.65361 10.1953 5.52861C10.3203 5.4036 10.4899 5.33337 10.6667 5.33337C10.8434 5.33337 11.013 5.4036 11.138 5.52861L13.138 7.5286C13.2 7.59046 13.2491 7.66393 13.2827 7.74481C13.3162 7.82569 13.3335 7.91238 13.3335 7.99994C13.3335 8.08749 13.3162 8.17419 13.2827 8.25507C13.2491 8.33594 13.2 8.40941 13.138 8.47127L11.138 10.4713C11.0761 10.5332 11.0026 10.5823 10.9217 10.6158C10.8409 10.6493 10.7542 10.6665 10.6667 10.6665C10.5791 10.6665 10.4925 10.6493 10.4116 10.6158C10.3307 10.5823 10.2572 10.5332 10.1953 10.4713C10.1334 10.4094 10.0843 10.3359 10.0508 10.255C10.0173 10.1742 10.0001 10.0875 10.0001 9.99994C10.0001 9.9124 10.0173 9.82573 10.0508 9.74486C10.0843 9.66398 10.1334 9.5905 10.1953 9.52861L11.0573 8.6666L3.33333 8.66661C3.15652 8.66661 2.98695 8.59637 2.86193 8.47134C2.7369 8.34632 2.66666 8.17675 2.66666 7.99994C2.66666 7.82313 2.7369 7.65356 2.86193 7.52853C2.98695 7.40351 3.15652 7.33327 3.33333 7.33327L11.0573 7.33327Z"}}]},MY=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"insert-double-icon",ref:t,icon:NY}))});MY.displayName="InsertDoubleIcon";const OY={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M13.3333 13.4087C14.0697 13.4087 14.6666 12.8117 14.6666 12.0754L14.6666 9.40869C14.6666 8.67231 14.0697 8.07536 13.3333 8.07536L2.66663 8.07536C1.93023 8.07536 1.33329 8.67231 1.33329 9.40869L1.33329 12.0754C1.33329 12.8117 1.93023 13.4087 2.66663 13.4087L13.3333 13.4087ZM2.66663 12.0754L13.3333 12.0754L13.3333 9.40869L2.66663 9.40869L2.66663 12.0754Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M7.74168 2.59137C8.10987 2.59137 8.40835 2.88984 8.40835 3.25804L8.40835 4.33309L9.48348 4.33309C9.85167 4.33309 10.1501 4.63156 10.1501 4.99976C10.1501 5.36794 9.85167 5.66642 9.48348 5.66642L8.40835 5.66642L8.40835 6.74154C8.40835 7.10973 8.10987 7.4082 7.74168 7.4082C7.37349 7.4082 7.07501 7.10973 7.07501 6.74154L7.07501 5.66642L5.99998 5.66642C5.63179 5.66642 5.33331 5.36794 5.33331 4.99976C5.33331 4.63156 5.63179 4.33309 5.99998 4.33309L7.07501 4.33309L7.07501 3.25804C7.07501 2.88984 7.37349 2.59137 7.74168 2.59137Z",fillRule:"evenodd",clipRule:"evenodd"}}]},LY=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"insert-row-above-double-icon",ref:t,icon:OY}))});LY.displayName="InsertRowAboveDoubleIcon";const kY={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M2.66671 2.59131C1.93033 2.59131 1.33337 3.18826 1.33337 3.92464L1.33337 6.59131C1.33337 7.32769 1.93033 7.92464 2.66671 7.92464L13.3334 7.92464C14.0698 7.92464 14.6667 7.32769 14.6667 6.59131L14.6667 3.92464C14.6667 3.18826 14.0698 2.59131 13.3334 2.59131L2.66671 2.59131ZM13.3334 3.92464L2.66671 3.92464L2.66671 6.59131L13.3334 6.59131L13.3334 3.92464Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M8.25838 13.4086C7.8902 13.4086 7.59172 13.1102 7.59172 12.742L7.59172 11.6669L6.51658 11.6669C6.14839 11.6669 5.84992 11.3684 5.84991 11.0002C5.84991 10.6321 6.14839 10.3336 6.51658 10.3336L7.59172 10.3336L7.59171 9.25846C7.59171 8.89027 7.89019 8.5918 8.25838 8.5918C8.62657 8.5918 8.92505 8.89027 8.92505 9.25846L8.92505 10.3336L10.0001 10.3336C10.3683 10.3336 10.6667 10.6321 10.6667 11.0002C10.6667 11.3684 10.3683 11.6669 10.0001 11.6669L8.92505 11.6669L8.92505 12.742C8.92505 13.1102 8.62658 13.4086 8.25838 13.4086Z",fillRule:"evenodd",clipRule:"evenodd"}}]},PY=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"insert-row-below-double-icon",ref:t,icon:kY}))});PY.displayName="InsertRowBelowDoubleIcon";const DY={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M9.80385 1.40005H11.9997C12.3311 1.40005 12.5997 1.66868 12.5997 2.00005C12.5997 2.33143 12.3311 2.60005 11.9997 2.60005H10.1185L7.12251 13.4001H9.33324C9.66461 13.4001 9.93324 13.6687 9.93324 14.0001C9.93324 14.3314 9.66461 14.6001 9.33324 14.6001H6.34785C6.33847 14.6003 6.32905 14.6003 6.31962 14.6001H3.9999C3.66853 14.6001 3.3999 14.3314 3.3999 14.0001C3.3999 13.6687 3.66853 13.4001 3.9999 13.4001H5.87719L8.87322 2.60005H6.66641C6.33504 2.60005 6.06641 2.33143 6.06641 2.00005C6.06641 1.66868 6.33504 1.40005 6.66641 1.40005H9.52916C9.61698 1.37929 9.71064 1.3781 9.80385 1.40005Z"}}]},UY=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"italic-icon",ref:t,icon:DY}))});UY.displayName="ItalicIcon";const BY={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M3.39986 6.33339C3.39986 6.00202 3.66849 5.73339 3.99986 5.73339H4.66652C4.99789 5.73339 5.26652 6.00202 5.26652 6.33339C5.26652 6.66476 4.99789 6.93339 4.66652 6.93339H3.99986C3.66849 6.93339 3.39986 6.66476 3.39986 6.33339Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M6.99986 5.73339C6.66849 5.73339 6.39986 6.00202 6.39986 6.33339C6.39986 6.66476 6.66849 6.93339 6.99986 6.93339H7.66652C7.99789 6.93339 8.26652 6.66476 8.26652 6.33339C8.26652 6.00202 7.99789 5.73339 7.66652 5.73339H6.99986Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M9.06636 6.33339C9.06636 6.00202 9.33499 5.73339 9.66636 5.73339H11.9997C12.3311 5.73339 12.5997 6.00202 12.5997 6.33339C12.5997 6.66476 12.3311 6.93339 11.9997 6.93339H9.66636C9.33499 6.93339 9.06636 6.66476 9.06636 6.33339Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M3.99986 8.73339C3.66849 8.73339 3.39986 9.00202 3.39986 9.33339C3.39986 9.66476 3.66849 9.93339 3.99986 9.93339H11.9999C12.3312 9.93339 12.5999 9.66476 12.5999 9.33339C12.5999 9.00202 12.3312 8.73339 11.9999 8.73339H3.99986Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M3.33338 1.73345L12.6667 1.7334C14.1026 1.73339 15.2667 2.89745 15.2667 4.3334V11C15.2667 12.4359 14.1027 13.6 12.6667 13.6H3.33355C1.89763 13.6 0.733583 12.4359 0.73355 11L0.733398 4.33351C0.733366 2.89755 1.89742 1.73346 3.33338 1.73345ZM12.6667 2.9334L3.33339 2.93345C2.56018 2.93346 1.93338 3.56028 1.9334 4.33348L1.93355 11C1.93357 11.7732 2.56036 12.4 3.33355 12.4H12.6667C13.4399 12.4 14.0667 11.7732 14.0667 11V4.3334C14.0667 3.5602 13.4399 2.93339 12.6667 2.9334Z",fillRule:"evenodd",clipRule:"evenodd"}}]},VY=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"keyboard-icon",ref:t,icon:BY}))});VY.displayName="KeyboardIcon";const FY={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"colorChannel1",d:"M14.6664 3.99967L14.6664 2.66634C14.6664 1.92996 14.0694 1.33301 13.333 1.33301L11.9997 1.33301L11.9997 2.66634L13.333 2.66634L13.333 3.99967L14.6664 3.99967Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M6.66638 1.33301L6.66638 2.66634L9.33305 2.66634L9.33305 1.33301L6.66638 1.33301Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M14.6664 6.66634L13.333 6.66634L13.333 7.33301L10.6664 7.33301L10.6664 8.66634L13.333 8.66634L13.333 9.33301L14.6664 9.33301L14.6664 6.66634Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M14.6664 11.9997L13.333 11.9997L13.333 13.333L11.9997 13.333L11.9997 14.6663L13.333 14.6663C14.0694 14.6663 14.6664 14.0694 14.6664 13.333L14.6664 11.9997Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M9.33305 14.6663L9.33305 13.333L8.66638 13.333L8.66638 10.6663L7.33305 10.6663L7.33305 13.333L6.66638 13.333L6.66638 14.6663L9.33305 14.6663Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M2.66638 7.33301L5.33305 7.33301L5.33305 8.66634L2.66638 8.66634L2.66638 7.33301Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M8.66638 5.33301L8.66638 2.66634L7.33305 2.66634L7.33305 5.33301L8.66638 5.33301Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M2.66667 1.33301L4 1.33301L4 2.66634L2.66667 2.66634L2.66667 13.333L4 13.333L4 14.6663L2.66667 14.6663C1.93029 14.6663 1.33333 14.0694 1.33333 13.333L1.33333 2.66634C1.33333 1.92996 1.93029 1.33301 2.66667 1.33301Z"}}]},jY=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"left-border-double-icon",ref:t,icon:FY}))});jY.displayName="LeftBorderDoubleIcon";const HY={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M3.2987 2.39556L14.424 7.49259L13.9241 8.58354L4.06409 4.06617L8.58147 13.9262L7.49051 14.426L2.39348 3.30078L2.08524 3.15956L2.20701 2.89377L2.06653 2.58713L2.42214 2.42421L2.58506 2.0686L2.89169 2.20909L3.15748 2.08732L3.2987 2.39556Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M1.34351 12.0924L1.34351 13.4565C1.34351 14.1193 1.88077 14.6565 2.54351 14.6565L3.90764 14.6565L3.90764 13.3265L2.67351 13.3265L2.67351 12.0924L1.34351 12.0924ZM3.90763 1.34351L2.54351 1.34351C1.88076 1.34351 1.34351 1.88076 1.34351 2.54351L1.34351 3.90764L2.67351 3.90764L2.67351 2.67351L3.90763 2.67351L3.90763 1.34351ZM1.34351 9.36415L2.67351 9.36415L2.67351 6.63589L1.34351 6.63589L1.34351 9.36415ZM6.63589 1.34351L6.63589 2.67351L9.36415 2.67351L9.36415 1.34351L6.63589 1.34351ZM12.0924 1.34351L12.0924 2.67351L13.3265 2.67351L13.3265 3.90763L14.6565 3.90763L14.6565 2.54351C14.6565 1.88076 14.1193 1.34351 13.4565 1.34351L12.0924 1.34351ZM14.6565 6.63589L13.3265 6.63589L13.3265 9.36415L14.6565 9.36415L14.6565 6.63589ZM14.6565 12.0924L13.3265 12.0924L13.3265 13.3265L12.0924 13.3265L12.0924 14.6565L13.4565 14.6565C14.1193 14.6565 14.6565 14.1193 14.6565 13.4565L14.6565 12.0924ZM9.36415 14.6565L9.36415 13.3265L6.63589 13.3265L6.63589 14.6565L9.36415 14.6565Z",fillRule:"evenodd",clipRule:"evenodd"}}]},WY=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"left-double-diagonal-double-icon",ref:t,icon:HY}))});WY.displayName="LeftDoubleDiagonalDoubleIcon";const zY={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M13.4322 2.66683C13.4322 1.93045 12.8352 1.3335 12.0989 1.3335H9.43219C8.69581 1.3335 8.09886 1.93045 8.09886 2.66683V13.3335C8.09886 14.0699 8.69581 14.6668 9.43219 14.6668H12.0989C12.8352 14.6668 13.4322 14.0699 13.4322 13.3335V2.66683ZM12.0989 13.3335V2.66683H9.43219V13.3335H12.0989Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M2.56769 7.99978C2.56769 7.63159 2.86616 7.33311 3.23435 7.33311H4.30941V6.25798C4.30941 5.88979 4.60788 5.59131 4.97607 5.59131C5.34426 5.59131 5.64274 5.88979 5.64274 6.25798V7.33311H6.71785C7.08604 7.33311 7.38452 7.63159 7.38452 7.99978C7.38452 8.36797 7.08604 8.66644 6.71785 8.66644H5.64274V9.74148C5.64274 10.1097 5.34426 10.4081 4.97607 10.4081C4.60788 10.4081 4.30941 10.1097 4.30941 9.74148V8.66644H3.23435C2.86616 8.66644 2.56769 8.36797 2.56769 7.99978Z",fillRule:"evenodd",clipRule:"evenodd"}}]},XY=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"left-insert-column-double-icon",ref:t,icon:zY}))});XY.displayName="LeftInsertColumnDoubleIcon";const qY={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.9999 1.89941C1.66853 1.89941 1.3999 2.16804 1.3999 2.49941C1.3999 2.83078 1.66853 3.09941 1.9999 3.09941H13.9999C14.3313 3.09941 14.5999 2.83078 14.5999 2.49941C14.5999 2.16804 14.3313 1.89941 13.9999 1.89941H1.9999Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.9999 5.56641C1.66853 5.56641 1.3999 5.83504 1.3999 6.16641C1.3999 6.49778 1.66853 6.76641 1.9999 6.76641H11.3332C11.6646 6.76641 11.9332 6.49778 11.9332 6.16641C11.9332 5.83504 11.6646 5.56641 11.3332 5.56641H1.9999Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.3999 9.8334C1.3999 9.50203 1.66853 9.2334 1.9999 9.2334H13.9999C14.3313 9.2334 14.5999 9.50203 14.5999 9.8334C14.5999 10.1648 14.3313 10.4334 13.9999 10.4334H1.9999C1.66853 10.4334 1.3999 10.1648 1.3999 9.8334Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.9999 12.9004C1.66853 12.9004 1.3999 13.169 1.3999 13.5004C1.3999 13.8318 1.66853 14.1004 1.9999 14.1004H11.3332C11.6646 14.1004 11.9332 13.8318 11.9332 13.5004C11.9332 13.169 11.6646 12.9004 11.3332 12.9004H1.9999Z"}}]},GY=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"left-justifying-icon",ref:t,icon:qY}))});GY.displayName="LeftJustifyingIcon";const YY={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.3732 3.94019C0.82475 2.75718 2.04917 1.53276 3.23218 2.0812L10.0657 5.24921C10.3663 5.38859 10.497 5.74529 10.3576 6.04592C10.2183 6.34656 9.86157 6.47728 9.56094 6.33791L6.86664 5.08883L4.42613 7.52934C4.41111 7.54436 4.3955 7.55841 4.37936 7.5715L5.6299 10.2689C5.76928 10.5696 5.63855 10.9263 5.33791 11.0656C5.03728 11.205 4.68058 11.0743 4.54121 10.7737L1.3732 3.94019ZM2.72746 3.1699L5.70713 4.55128L3.84327 6.41514L2.46189 3.43547C2.38354 3.26647 2.55846 3.09155 2.72746 3.1699Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M4.56311 13.7359C4.32879 13.9702 4.32879 14.3501 4.56311 14.5844C4.79742 14.8188 5.17732 14.8188 5.41163 14.5844L13.3083 6.68776L13.3842 8.21165C13.4006 8.54261 13.6823 8.79755 14.0133 8.78108C14.3442 8.76461 14.5992 8.48295 14.5827 8.15199L14.4844 6.17786C14.4413 5.3118 13.3917 4.90732 12.7786 5.52046L4.56311 13.7359Z"}}]},QY=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"left-rotation-forty-five-degrees-icon",ref:t,icon:YY}))});QY.displayName="LeftRotationFortyFiveDegreesIcon";const ZY={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M11.4046 13.9395C11.4046 14.2708 11.6732 14.5395 12.0046 14.5395C12.336 14.5395 12.6046 14.2708 12.6046 13.9395V2.77186L13.7358 3.79578C13.9815 4.01815 14.3609 3.99927 14.5833 3.75359C14.8057 3.50792 14.7868 3.12849 14.5411 2.90612L13.0757 1.57967C12.4328 0.997761 11.4046 1.45394 11.4046 2.32106V13.9395Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M2.22244 9.26836C0.998116 8.81966 0.998119 7.08807 2.22245 6.63936L9.29456 4.04749C9.60569 3.93346 9.95036 4.09325 10.0644 4.40438C10.1784 4.71551 10.0186 5.06018 9.70749 5.1742L6.91911 6.19613V9.64753C6.91911 9.66877 6.918 9.68974 6.91585 9.71041L9.70749 10.7335C10.0186 10.8476 10.1784 11.1922 10.0644 11.5033C9.95036 11.8145 9.60569 11.9743 9.29456 11.8602L2.22244 9.26836ZM2.63538 7.76608L5.71911 6.63592V9.27181L2.63538 8.14165C2.46047 8.07755 2.46047 7.83018 2.63538 7.76608Z",fillRule:"evenodd",clipRule:"evenodd"}}]},KY=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"left-rotation-ninety-degrees-icon",ref:t,icon:ZY}))});KY.displayName="LeftRotationNinetyDegreesIcon";const $Y={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 17",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M2.33875 3.57255L2.23657 3.79614L2.72883 4.0211L7.58275 14.6428L8.67419 14.144L5.10931 6.34311L13.5649 14.7987L14.4134 13.9502L5.96172 5.49847L13.7573 9.0609L14.2561 7.96947L3.63438 3.11555L3.40942 2.62329L3.18782 2.72456L3.09973 2.63647L2.93861 2.7976L2.73534 2.70471L2.60444 2.99116L2.31799 3.12206L2.41088 3.32533L2.2512 3.485L2.33875 3.57255Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M1.6759 12.8102L1.6759 14.1743C1.6759 14.8371 2.21316 15.3743 2.8759 15.3743L4.24003 15.3743L4.24003 14.0443L3.0059 14.0443L3.0059 12.8102L1.6759 12.8102ZM4.24003 2.06128L2.8759 2.06128C2.21316 2.06128 1.6759 2.59854 1.6759 3.26128L1.6759 4.62541L3.0059 4.62541L3.0059 3.39128L4.24003 3.39128L4.24003 2.06128ZM1.6759 10.0819L3.0059 10.0819L3.0059 7.35367L1.6759 7.35367L1.6759 10.0819ZM6.96829 2.06128L6.96829 3.39128L9.69655 3.39128L9.69655 2.06128L6.96829 2.06128ZM12.4248 2.06128L12.4248 3.39128L13.6589 3.39128L13.6589 4.62541L14.9889 4.62541L14.9889 3.26128C14.9889 2.59854 14.4517 2.06128 13.7889 2.06128L12.4248 2.06128ZM14.9889 7.35367L13.6589 7.35367L13.6589 10.0819L14.9889 10.0819L14.9889 7.35367ZM14.9889 12.8102L13.6589 12.8102L13.6589 14.0443L12.4248 14.0443L12.4248 15.3743L13.7889 15.3743C14.4517 15.3743 14.9889 14.8371 14.9889 14.1743L14.9889 12.8102ZM9.69655 15.3743L9.69655 14.0443L6.96829 14.0443L6.96829 15.3743L9.69655 15.3743Z",fillRule:"evenodd",clipRule:"evenodd"}}]},JY=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"left-tridiagonal-double-icon",ref:t,icon:$Y}))});JY.displayName="LeftTridiagonalDoubleIcon";const eQ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M4.96708 8.23432V11.6842C4.96708 12.0156 5.2357 12.2842 5.56708 12.2842C5.89845 12.2842 6.16708 12.0156 6.16708 11.6842V5.62199C6.16708 4.70621 4.87775 4.5088 4.60373 5.38261L3.2564 9.67905L1.90905 5.3826C1.64268 4.53318 0.345703 4.6789 0.345703 5.62021V11.6842C0.345703 12.0156 0.614332 12.2842 0.945703 12.2842C1.27707 12.2842 1.5457 12.0156 1.5457 11.6842V8.23428L2.49305 11.2552C2.72747 12.0027 3.78534 12.0027 4.01975 11.2552L4.96708 8.23432Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M9.59409 8.3393C9.59409 7.86618 9.18572 7.49641 8.71492 7.54323L7.64429 7.64971C7.31454 7.6825 7.02065 7.44178 6.98785 7.11203C6.95506 6.78229 7.19578 6.48839 7.52553 6.4556L8.59616 6.34912C9.77317 6.23206 10.7941 7.15649 10.7941 8.3393V11.684C10.7941 12.0154 10.5255 12.284 10.1941 12.284C9.86272 12.284 9.59409 12.0154 9.59409 11.684V8.3393Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M6.79541 10.2064C6.79541 9.10233 7.69047 8.20728 8.79458 8.20728C9.89869 8.20728 10.7938 9.10233 10.7938 10.2064C10.7938 11.3106 9.89869 12.2056 8.79458 12.2056C7.69047 12.2056 6.79541 11.3106 6.79541 10.2064ZM8.79458 9.40728C8.35321 9.40728 7.99541 9.76508 7.99541 10.2064C7.99541 10.6478 8.35321 11.0056 8.79458 11.0056C9.23595 11.0056 9.59375 10.6478 9.59375 10.2064C9.59375 9.76508 9.23595 9.40728 8.79458 9.40728Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M15.386 6.62139C15.6666 6.79764 15.7454 7.16426 15.562 7.44024L12.5296 12.0032C12.3462 12.2791 11.9701 12.36 11.6894 12.1837C11.4088 12.0075 11.33 11.6409 11.5135 11.3649L14.5458 6.80196C14.7292 6.52598 15.1054 6.44513 15.386 6.62139Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M11.6892 6.62139C11.4086 6.79764 11.3298 7.16426 11.5132 7.44024L14.5456 12.0032C14.729 12.2791 15.1051 12.36 15.3857 12.1837C15.6664 12.0075 15.7451 11.6409 15.5617 11.3649L12.5294 6.80196C12.3459 6.52598 11.9698 6.44513 11.6892 6.62139Z",fillRule:"evenodd",clipRule:"evenodd"}}]},tQ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"max-icon",ref:t,icon:eQ}))});tQ.displayName="MaxIcon";const rQ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.66504 2.8666C1.66504 2.53523 1.93367 2.2666 2.26504 2.2666H13.735C14.0664 2.2666 14.335 2.53523 14.335 2.8666C14.335 3.19797 14.0664 3.4666 13.735 3.4666H2.26504C1.93367 3.4666 1.66504 3.19797 1.66504 2.8666Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.66504 8.00002C1.66504 7.66865 1.93367 7.40002 2.26504 7.40002H13.735C14.0664 7.40002 14.335 7.66865 14.335 8.00002C14.335 8.3314 14.0664 8.60002 13.735 8.60002H2.26504C1.93367 8.60002 1.66504 8.3314 1.66504 8.00002Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M2.26504 12.5334C1.93367 12.5334 1.66504 12.8021 1.66504 13.1334C1.66504 13.4648 1.93367 13.7334 2.26504 13.7334H13.735C14.0664 13.7334 14.335 13.4648 14.335 13.1334C14.335 12.8021 14.0664 12.5334 13.735 12.5334H2.26504Z"}}]},nQ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"menu-icon",ref:t,icon:rQ}))});nQ.displayName="MenuIcon";const iQ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M12.5939 1.13916L10.6607 1.1392C9.5563 1.13922 8.66094 2.03448 8.66079 3.13893L8.66064 4.19191C8.6606 4.52328 8.92919 4.79194 9.26056 4.79199C9.59193 4.79204 9.8606 4.52344 9.86064 4.19207L9.86079 3.13909C9.86085 2.69731 10.219 2.33921 10.6608 2.3392L12.594 2.33916C13.0358 2.33915 13.394 2.69732 13.394 3.13916L13.394 7.40012H10.4947L11.0464 6.84845C11.2807 6.61414 11.2807 6.23424 11.0464 5.99993C10.8121 5.76561 10.4322 5.76561 10.1979 5.99993L9.31395 6.88384C8.68914 7.50867 8.68914 8.52171 9.31396 9.14654L10.1979 10.0305C10.4322 10.2648 10.8121 10.2648 11.0464 10.0305C11.2807 9.79614 11.2807 9.41624 11.0464 9.18192L10.4646 8.60012H13.394L13.394 12.8612C13.394 13.303 13.0359 13.6612 12.594 13.6612H10.6606C10.2188 13.6612 9.86064 13.303 9.86064 12.8612V11.8084C9.86064 11.4771 9.59202 11.2084 9.26064 11.2084C8.92927 11.2084 8.66064 11.4771 8.66064 11.8084V12.8612C8.66064 13.9658 9.55607 14.8612 10.6606 14.8612H12.594C13.6986 14.8612 14.594 13.9658 14.594 12.8612L14.594 8.0066L14.594 8.00012L14.594 7.99363L14.594 3.13915C14.594 2.03457 13.6985 1.13914 12.5939 1.13916Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M5.33889 1.13919L3.4057 1.13926C2.30115 1.13931 1.40576 2.03474 1.40578 3.13928L1.40582 7.99139L1.40576 8.00012L1.40582 8.00886L1.40587 12.8612C1.40588 13.9658 2.30131 14.8612 3.40587 14.8612H5.33897C6.44354 14.8612 7.33897 13.9658 7.33897 12.8612V11.8084C7.33897 11.4771 7.07034 11.2084 6.73897 11.2084C6.4076 11.2084 6.13897 11.4771 6.13897 11.8084V12.8612C6.13897 13.303 5.7808 13.6612 5.33897 13.6612H3.40587C2.96405 13.6612 2.60588 13.303 2.60587 12.8612L2.60583 8.60012H5.53538L4.95357 9.18193C4.71925 9.41624 4.71925 9.79614 4.95357 10.0305C5.18788 10.2648 5.56778 10.2648 5.8021 10.0305L6.68599 9.14656C7.31083 8.52172 7.31083 7.50866 6.68599 6.88382L5.8021 5.99993C5.56778 5.76561 5.18788 5.76561 4.95357 5.99993C4.71925 6.23424 4.71925 6.61414 4.95357 6.84845L5.50523 7.40012H2.60582L2.60578 3.13927C2.60577 2.69745 2.96393 2.33928 3.40574 2.33926L5.33894 2.33919C5.78078 2.33917 6.13897 2.69735 6.13897 3.13919V4.192C6.13897 4.52337 6.4076 4.792 6.73897 4.792C7.07034 4.792 7.33897 4.52337 7.33897 4.192V3.13919C7.33897 2.03459 6.44349 1.13914 5.33889 1.13919Z"}}]},aQ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"merge-all-icon",ref:t,icon:iQ}))});aQ.displayName="MergeAllIcon";const oQ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8.6707 7.03525C9.0573 7.03525 9.3707 6.72185 9.3707 6.33525C9.3707 5.94866 9.0573 5.63525 8.6707 5.63525C8.28411 5.63525 7.9707 5.94866 7.9707 6.33525C7.9707 6.72185 8.28411 7.03525 8.6707 7.03525Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M8.671 12.2842C8.33963 12.2842 8.071 12.0156 8.071 11.6842L8.071 8.20615C8.071 7.87478 8.33962 7.60615 8.671 7.60615C9.00237 7.60615 9.271 7.87478 9.271 8.20615L9.271 11.6842C9.271 12.0156 9.00237 12.2842 8.671 12.2842Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M13.5105 9.62735C13.5105 9.09992 13.0091 8.71683 12.5002 8.8555L12.1671 8.94628C11.7319 9.06486 11.43 9.46007 11.43 9.9111V11.6842C11.43 12.0156 11.1614 12.2842 10.83 12.2842C10.4986 12.2842 10.23 12.0156 10.23 11.6842V9.9111C10.23 8.91884 10.8942 8.04938 11.8516 7.7885L12.1847 7.69771C13.4569 7.35104 14.7105 8.30878 14.7105 9.62735V11.6842C14.7105 12.0156 14.4419 12.2842 14.1105 12.2842C13.7792 12.2842 13.5105 12.0156 13.5105 11.6842V9.62735Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M10.8377 7.66644C11.169 7.66642 11.4377 7.93503 11.4377 8.2664L11.438 11.6841C11.438 12.0155 11.1694 12.2841 10.838 12.2842C10.5066 12.2842 10.238 12.0156 10.238 11.6842L10.2377 8.26649C10.2377 7.93512 10.5063 7.66647 10.8377 7.66644Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M5.91043 8.23408V11.684C5.91043 12.0154 6.17906 12.284 6.51043 12.284C6.84181 12.284 7.11043 12.0154 7.11043 11.684V5.62174C7.11043 4.70597 5.82111 4.50856 5.54709 5.38237L4.19976 9.67881L2.85241 5.38235C2.58604 4.53293 1.28906 4.67865 1.28906 5.61997V11.684C1.28906 12.0154 1.55769 12.284 1.88906 12.284C2.22043 12.284 2.48906 12.0154 2.48906 11.684V8.23404L3.43641 11.255C3.67082 12.0025 4.7287 12.0025 4.9631 11.255L5.91043 8.23408Z",fillRule:"evenodd",clipRule:"evenodd"}}]},sQ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"min-icon",ref:t,icon:oQ}))});sQ.displayName="MinIcon";const lQ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M11.3536 6.14645C11.5488 6.34171 11.5488 6.65829 11.3536 6.85355L8.35355 9.85355C8.15829 10.0488 7.84171 10.0488 7.64645 9.85355L4.64645 6.85355C4.45118 6.65829 4.45118 6.34171 4.64645 6.14645C4.84171 5.95118 5.15829 5.95118 5.35355 6.14645L8 8.79289L10.6464 6.14645C10.8417 5.95118 11.1583 5.95118 11.3536 6.14645Z",fillRule:"evenodd",clipRule:"evenodd"}}]},uQ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"more-down-icon",ref:t,icon:lQ}))});uQ.displayName="MoreDownIcon";const cQ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M7.1349 1.3999C6.80353 1.3999 6.5349 1.66853 6.5349 1.9999C6.5349 2.33127 6.80353 2.5999 7.1349 2.5999H7.67993V4.55065C7.67993 4.88203 7.94856 5.15065 8.27993 5.15065C8.6113 5.15065 8.87993 4.88203 8.87993 4.55065V2.5999H9.4049C9.73627 2.5999 10.0049 2.33127 10.0049 1.9999C10.0049 1.66853 9.73627 1.3999 9.4049 1.3999H7.1349Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M2.5999 7.1349C2.5999 6.80353 2.33127 6.5349 1.9999 6.5349C1.66853 6.5349 1.3999 6.80353 1.3999 7.1349V9.4049C1.3999 9.73627 1.66853 10.0049 1.9999 10.0049C2.33127 10.0049 2.5999 9.73627 2.5999 9.4049V8.86968H4.54992C4.88129 8.86968 5.14992 8.60105 5.14992 8.26968C5.14992 7.93831 4.88129 7.66968 4.54992 7.66968H2.5999V7.1349Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M15.1399 7.1349C15.1399 6.80353 14.8713 6.5349 14.5399 6.5349C14.2085 6.5349 13.9399 6.80353 13.9399 7.1349V7.66968H12.0099C11.6786 7.66968 11.4099 7.93831 11.4099 8.26968C11.4099 8.60105 11.6786 8.86968 12.0099 8.86968H13.9399V9.4049C13.9399 9.73627 14.2085 10.0049 14.5399 10.0049C14.8713 10.0049 15.1399 9.73627 15.1399 9.4049V8.27463L15.1399 8.26968L15.1399 8.26472V7.1349Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M7.1349 13.9399C6.80353 13.9399 6.5349 14.2085 6.5349 14.5399C6.5349 14.8713 6.80353 15.1399 7.1349 15.1399H8.24962C8.25966 15.1404 8.26977 15.1407 8.27993 15.1407C8.2901 15.1407 8.3002 15.1404 8.31024 15.1399H9.4049C9.73627 15.1399 10.0049 14.8713 10.0049 14.5399C10.0049 14.2085 9.73627 13.9399 9.4049 13.9399H8.87993V12.0107C8.87993 11.6793 8.6113 11.4107 8.27993 11.4107C7.94856 11.4107 7.67993 11.6793 7.67993 12.0107V13.9399H7.1349Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M2.60991 4.00967C2.60991 3.23647 3.23671 2.60967 4.00991 2.60967H4.33991C4.67128 2.60967 4.93991 2.34104 4.93991 2.00967C4.93991 1.6783 4.67128 1.40967 4.33991 1.40967H4.00991C2.57397 1.40967 1.40991 2.57373 1.40991 4.00967V4.33967C1.40991 4.67104 1.67854 4.93967 2.00991 4.93967C2.34128 4.93967 2.60991 4.67104 2.60991 4.33967V4.00967Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M12.1999 1.40967C11.8685 1.40967 11.5999 1.6783 11.5999 2.00967C11.5999 2.34104 11.8685 2.60967 12.1999 2.60967H12.5299C13.3031 2.60967 13.9299 3.23647 13.9299 4.00967V4.33967C13.9299 4.67104 14.1985 4.93967 14.5299 4.93967C14.8613 4.93967 15.1299 4.67104 15.1299 4.33967V4.00967C15.1299 2.57373 13.9659 1.40967 12.5299 1.40967H12.1999Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M2.60991 12.1997C2.60991 11.8683 2.34128 11.5997 2.00991 11.5997C1.67854 11.5997 1.40991 11.8683 1.40991 12.1997V12.5297C1.40991 13.9656 2.57397 15.1297 4.00991 15.1297H4.33991C4.67128 15.1297 4.93991 14.861 4.93991 14.5297C4.93991 14.1983 4.67128 13.9297 4.33991 13.9297H4.00991C3.23671 13.9297 2.60991 13.3029 2.60991 12.5297V12.1997Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M15.1299 12.1997C15.1299 11.8683 14.8613 11.5997 14.5299 11.5997C14.1985 11.5997 13.9299 11.8683 13.9299 12.1997V12.5297C13.9299 13.3029 13.3031 13.9297 12.5299 13.9297H12.1999C11.8685 13.9297 11.5999 14.1983 11.5999 14.5297C11.5999 14.861 11.8685 15.1297 12.1999 15.1297H12.5299C13.9659 15.1297 15.1299 13.9656 15.1299 12.5297V12.1997Z"}}]},dQ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"no-border-icon",ref:t,icon:cQ}))});dQ.displayName="NoBorderIcon";const hQ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M12.665 2.66496H3.33496C2.96493 2.66496 2.66496 2.96493 2.66496 3.33496V12.665C2.66496 13.035 2.96493 13.335 3.33496 13.335H12.665C13.035 13.335 13.335 13.035 13.335 12.665V3.33496C13.335 2.96493 13.035 2.66496 12.665 2.66496ZM3.33496 1.33496C2.23039 1.33496 1.33496 2.23039 1.33496 3.33496V12.665C1.33496 13.7695 2.23039 14.665 3.33496 14.665H12.665C13.7695 14.665 14.665 13.7695 14.665 12.665V3.33496C14.665 2.23039 13.7695 1.33496 12.665 1.33496H3.33496Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M13.2559 14.1963L1.64941 2.58984L2.58987 1.64939L14.1963 13.2558L13.2559 14.1963Z",fillRule:"evenodd",clipRule:"evenodd"}}]},mQ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"no-color-double-icon",ref:t,icon:hQ}))});mQ.displayName="NoColorDoubleIcon";const fQ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M6.671 2.24246C7.1197 1.01814 8.85129 1.01814 9.3 2.24246L11.8919 9.31458C12.0059 9.62571 11.8461 9.97038 11.535 10.0844C11.2238 10.1984 10.8792 10.0386 10.7652 9.72751L9.74324 6.93913H6.29183C6.2706 6.93913 6.24962 6.93802 6.22895 6.93587L5.20584 9.72751C5.09181 10.0386 4.74715 10.1984 4.43601 10.0844C4.12488 9.97038 3.96509 9.62571 4.07912 9.31458L6.671 2.24246ZM8.17328 2.6554L9.30345 5.73913H6.66755L7.79771 2.6554C7.86181 2.48049 8.10918 2.48049 8.17328 2.6554Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.9999 11.4246C1.66853 11.4246 1.3999 11.6933 1.3999 12.0246C1.3999 12.356 1.66853 12.6246 1.9999 12.6246H13.1675L12.1436 13.7558C11.9212 14.0015 11.9401 14.3809 12.1858 14.6033C12.4314 14.8257 12.8109 14.8068 13.0332 14.5611L14.3597 13.0957C14.9416 12.4528 14.4854 11.4246 13.6183 11.4246H1.9999Z"}}]},gQ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"no-rotation-icon",ref:t,icon:fQ}))});gQ.displayName="NoRotationIcon";const pQ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.65465 3.96697V2.9942C1.65465 2.9188 1.64353 2.86563 1.62465 2.83387C1.61052 2.81011 1.58943 2.79243 1.53852 2.79243H1.44483C1.23836 2.79243 1.07099 2.62506 1.07099 2.41859C1.07099 2.23956 1.19714 2.09152 1.36369 2.04728C1.4425 2.02634 1.51336 2.00423 1.57642 1.98104C1.65529 1.94986 1.73286 1.91381 1.80913 1.87285C1.8974 1.82544 1.99768 1.79517 2.10303 1.79517C2.41692 1.79517 2.67137 2.04962 2.67137 2.36351V4.02047C2.67137 4.12385 2.75517 4.20765 2.85855 4.20765C3.0614 4.20765 3.22585 4.3721 3.22585 4.57495V4.63332C3.22585 4.86842 3.03527 5.059 2.80018 5.059H1.41884C1.1829 5.059 0.993164 4.86511 0.993164 4.63087C0.993164 4.39932 1.18072 4.20765 1.41398 4.20765C1.5469 4.20765 1.65465 4.09989 1.65465 3.96697Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M0.949709 9.2145C1.14957 9.02907 1.33226 8.85497 1.49677 8.69321C1.6914 8.50496 1.84244 8.33306 1.95136 8.17747C2.05826 8.02476 2.10492 7.89219 2.10492 7.77781C2.10492 7.65255 2.07293 7.57986 2.02759 7.53865L2.0245 7.5357C1.97641 7.48761 1.9103 7.46013 1.81635 7.46013C1.71986 7.46013 1.6383 7.47348 1.5822 7.51611L1.58034 7.51749C1.42279 7.63092 1.19425 7.67086 1.03149 7.50811L1.02187 7.49849C0.868433 7.34505 0.852261 7.07998 1.03819 6.93364C1.12802 6.86293 1.21897 6.8051 1.31109 6.76081C1.48788 6.67257 1.69616 6.63037 1.93278 6.63037C2.15191 6.63037 2.34929 6.67491 2.52246 6.76665C2.69563 6.85514 2.83257 6.98323 2.93172 7.14966C3.03175 7.31758 3.08022 7.51184 3.08022 7.72929C3.08022 7.91104 3.03028 8.09333 2.93429 8.27521C2.84374 8.45283 2.72797 8.62691 2.58859 8.79616C2.51109 8.88842 2.43304 8.97759 2.35442 9.06369C2.34919 9.06941 2.34388 9.07573 2.33892 9.08228C2.34542 9.08201 2.35268 9.08151 2.36075 9.08073C2.46266 9.07087 2.54985 9.06576 2.62168 9.06576H2.78662C3.02915 9.06576 3.22576 9.26237 3.22576 9.5049C3.22576 9.74742 3.02915 9.94403 2.78662 9.94403H1.23472C1.00261 9.94403 0.814453 9.75587 0.814453 9.52376C0.814453 9.40615 0.86379 9.29421 0.949709 9.2145Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.2579 14.674C1.45109 14.7553 1.67487 14.7946 1.92711 14.7946C2.1451 14.7946 2.34841 14.7599 2.53619 14.6895L2.53746 14.689C2.7264 14.6148 2.88145 14.5071 2.99952 14.3647L3.00018 14.3639C3.12167 14.2138 3.18089 14.0326 3.18089 13.8252C3.18089 13.6181 3.12169 13.4411 2.99737 13.3022C2.91596 13.2112 2.81864 13.1388 2.70642 13.0846C2.80611 13.023 2.88805 12.9505 2.95017 12.8661C3.04138 12.7422 3.08609 12.5977 3.08609 12.4365C3.08609 12.1403 2.97594 11.9041 2.7521 11.7404C2.53645 11.5772 2.25212 11.5002 1.90815 11.5002C1.7136 11.5002 1.52963 11.5372 1.35712 11.6115C1.28512 11.6418 1.21426 11.6776 1.14456 11.7188C0.938688 11.8404 0.928034 12.1099 1.06649 12.2774C1.21291 12.4544 1.46028 12.4561 1.63989 12.363C1.70891 12.3286 1.78521 12.3109 1.87023 12.3109C1.96356 12.3109 2.01717 12.3317 2.04691 12.3578C2.07449 12.3821 2.09529 12.4231 2.09529 12.4981C2.09529 12.5709 2.0658 12.6284 1.99667 12.6764C1.96042 12.6999 1.8978 12.7216 1.80025 12.7355C1.61051 12.7625 1.44118 12.9145 1.44118 13.1237C1.44118 13.3319 1.60937 13.4885 1.80489 13.5068C1.87785 13.5136 1.93575 13.5234 1.97985 13.5355C2.07997 13.562 2.12905 13.596 2.14927 13.6246C2.17519 13.6614 2.19008 13.7078 2.19008 13.7684C2.19008 13.8334 2.16583 13.8754 2.1142 13.9064C2.05357 13.9428 1.96521 13.965 1.84179 13.965C1.749 13.965 1.6547 13.9433 1.55817 13.8981C1.363 13.7983 1.08846 13.8083 0.942801 14.01L0.936366 14.0189C0.827321 14.1699 0.821861 14.401 0.994678 14.5262C1.07406 14.5836 1.16225 14.633 1.2579 14.674Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M5.13037 2.827C4.799 2.827 4.53037 3.09563 4.53037 3.427C4.53037 3.75837 4.799 4.027 5.13037 4.027H15.1489C15.4803 4.027 15.7489 3.75837 15.7489 3.427C15.7489 3.09563 15.4803 2.827 15.1489 2.827H5.13037Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M4.53037 8.28711C4.53037 7.95574 4.799 7.68711 5.13037 7.68711H15.1489C15.4803 7.68711 15.7489 7.95574 15.7489 8.28711C15.7489 8.61848 15.4803 8.88711 15.1489 8.88711H5.13037C4.799 8.88711 4.53037 8.61848 4.53037 8.28711Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M5.13037 12.5475C4.799 12.5475 4.53037 12.8161 4.53037 13.1475C4.53037 13.4788 4.799 13.7475 5.13037 13.7475H15.1489C15.4803 13.7475 15.7489 13.4788 15.7489 13.1475C15.7489 12.8161 15.4803 12.5475 15.1489 12.5475H5.13037Z"}}]},vQ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"order-icon",ref:t,icon:pQ}))});vQ.displayName="OrderIcon";const bQ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M13.3333 2.66634H2.66659V13.333H13.3333V2.66634ZM2.66659 1.33301C1.93021 1.33301 1.33325 1.92996 1.33325 2.66634V13.333C1.33325 14.0694 1.93021 14.6663 2.66659 14.6663H13.3333C14.0696 14.6663 14.6666 14.0694 14.6666 13.333V2.66634C14.6666 1.92996 14.0696 1.33301 13.3333 1.33301H2.66659Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M7.33311 2.66748V5.33415H8.66644V2.66748H7.33311Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M7.33311 10.6675V13.3341H8.66644V10.6675H7.33311Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M13.3331 7.33415H10.6664V8.66748H13.3331V7.33415Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M5.33311 7.33415H2.66644V8.66748H5.33311V7.33415Z"}}]},CQ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"outer-border-double-icon",ref:t,icon:bQ}))});CQ.displayName="OuterBorderDoubleIcon";const yQ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M7.9999 0.733154C8.33127 0.733154 8.5999 1.00178 8.5999 1.33315V5.33315C8.5999 5.66453 8.33127 5.93315 7.9999 5.93315C7.66853 5.93315 7.3999 5.66453 7.3999 5.33315V1.33315C7.3999 1.00178 7.66853 0.733154 7.9999 0.733154Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M2.46621 2.73315C2.79758 2.73315 3.06621 3.00178 3.06621 3.33315V12.6665C3.06621 12.9979 2.79758 13.2665 2.46621 13.2665C2.13484 13.2665 1.86621 12.9979 1.86621 12.6665V3.33315C1.86621 3.00178 2.13484 2.73315 2.46621 2.73315Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M5.3334 7.3999C5.00203 7.3999 4.7334 7.66853 4.7334 7.9999C4.7334 8.33127 5.00203 8.5999 5.3334 8.5999H12.603L11.9252 9.28591C11.6922 9.52163 11.6945 9.90152 11.9302 10.1344C12.166 10.3673 12.5458 10.3651 12.7788 10.1293L14.4577 8.43018C14.69 8.19509 14.6884 7.81641 14.4542 7.58324L12.7753 5.91184C12.5404 5.67806 12.1605 5.67891 11.9267 5.91375C11.6929 6.14859 11.6938 6.52849 11.9286 6.76228L12.5691 7.3999H5.3334Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M8.5999 10.6667C8.5999 10.3353 8.33127 10.0667 7.9999 10.0667C7.66853 10.0667 7.3999 10.3353 7.3999 10.6667V14.6667C7.3999 14.998 7.66853 15.2667 7.9999 15.2667C8.33127 15.2667 8.5999 14.998 8.5999 14.6667V10.6667Z"}}]},_Q=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"overflow-icon",ref:t,icon:yQ}))});_Q.displayName="OverflowIcon";const wQ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8.01281 1.36643C8.79386 0.585377 10.0602 0.585378 10.8412 1.36643L12.9223 3.44752C13.7034 4.22857 13.7034 5.4949 12.9223 6.27595L9.36445 9.83383C8.5834 10.6149 7.31707 10.6149 6.53602 9.83383L4.45493 7.75273C3.67388 6.97168 3.67388 5.70535 4.45493 4.9243L8.01281 1.36643ZM9.9927 2.21495C9.68028 1.90253 9.17375 1.90253 8.86133 2.21495L5.30346 5.77283L5.29671 5.77966L10.839 6.66224L12.0738 5.42742C12.3862 5.115 12.3862 4.60847 12.0738 4.29605L9.9927 2.21495Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M14.5179 9.48875C14.5179 9.99175 14.1101 10.3995 13.607 10.3995C13.1041 10.3995 12.6963 9.99175 12.6963 9.48875C12.6963 9.1773 13.0455 8.59966 13.3114 8.20487C13.4549 7.99177 13.7591 7.99177 13.9027 8.20486C14.1687 8.59965 14.5179 9.1773 14.5179 9.48875Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M1.98682 13.4992C1.98682 12.5603 2.74793 11.7992 3.68682 11.7992H14.2868C15.2257 11.7992 15.9868 12.5603 15.9868 13.4992V13.4992C15.9868 14.4381 15.2257 15.1992 14.2868 15.1992H3.68682C2.74793 15.1992 1.98682 14.4381 1.98682 13.4992V13.4992Z"}}]},EQ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"paint-bucket-double-icon",ref:t,icon:wQ}))});EQ.displayName="PaintBucketDoubleIcon";const SQ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"colorChannel1",d:"M7.74692 9.12463C7.74692 9.46018 8.01893 9.73219 8.35448 9.73219H11.4933C11.8288 9.73219 12.1009 9.46018 12.1009 9.12463C12.1009 8.78909 11.8288 8.51707 11.4933 8.51707H8.35448C8.01893 8.51707 7.74692 8.78909 7.74692 9.12463Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M10.8636 10.8523C10.8636 11.1879 10.5915 11.4599 10.256 11.4599H8.35448C8.01893 11.4599 7.74692 11.1879 7.74692 10.8523C7.74692 10.5168 8.01893 10.2447 8.35448 10.2447H10.256C10.5915 10.2447 10.8636 10.5168 10.8636 10.8523Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M5.4791 1.98268C5.47913 1.71529 5.87912 1.49854 6.37252 1.49854C6.86593 1.49854 7.26592 1.71529 7.26595 1.98268H7.62187C8.22277 1.98268 8.72459 2.39534 8.84412 2.9452H9.39563C10.0856 2.9452 10.6449 3.48923 10.6449 4.16032V6.00569H12.1261C13.161 6.00569 14 6.82174 14 7.82838V11.334C14 11.8174 13.8025 12.281 13.4511 12.6228L12.0693 13.9647C11.7179 14.3065 11.2412 14.4985 10.7442 14.4985H7.91116C7.05024 14.4985 6.32492 14.0431 6.10535 13.2737H3.34925C2.6593 13.2737 2.09998 12.7297 2.09998 12.0586V4.16032C2.09998 3.48923 2.6593 2.9452 3.34925 2.9452H3.90107C4.0206 2.39534 4.52241 1.98268 5.12332 1.98268H5.4791ZM3.97249 4.16032H3.24925L3.24925 12.0586H6.03725V7.82838C6.03725 6.82174 6.87623 6.00569 7.91116 6.00569H9.49563V4.16032H8.7727C8.58289 4.59611 8.13909 4.90183 7.62187 4.90183H5.12332C4.6061 4.90183 4.1623 4.59611 3.97249 4.16032ZM5.12332 2.89403H7.62187C7.79436 2.89403 7.93419 3.03003 7.93419 3.19781V3.68671C7.93419 3.85448 7.79436 3.99049 7.62187 3.99049H5.12332C4.95083 3.99049 4.811 3.85448 4.811 3.68671V3.19781C4.811 3.03003 4.95083 2.89403 5.12332 2.89403ZM7.91116 7.11157C7.56618 7.11157 7.28652 7.38359 7.28652 7.71913V12.7851C7.28652 13.1206 7.56618 13.3927 7.91116 13.3927H10.7442C10.8401 13.3927 10.9337 13.3712 11.0182 13.3311C11.1373 13.2746 11.1859 13.1423 11.1859 13.0134V12.0066C11.1859 11.8724 11.2978 11.7636 11.4358 11.7636H12.4709C12.6034 11.7636 12.7394 11.7163 12.7975 11.6004C12.8388 11.5182 12.8608 11.4272 12.8608 11.334V7.71913C12.8608 7.38359 12.5811 7.11157 12.2362 7.11157H7.91116Z",fillRule:"evenodd",clipRule:"evenodd"}}]},AQ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"paste-special-double-icon",ref:t,icon:SQ}))});AQ.displayName="PasteSpecialDoubleIcon";const IQ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.85059 4.06725C1.85059 2.84302 2.84302 1.85059 4.06725 1.85059C5.29148 1.85059 6.28392 2.84302 6.28392 4.06725C6.28392 5.29148 5.29148 6.28392 4.06725 6.28392C2.84302 6.28392 1.85059 5.29148 1.85059 4.06725ZM4.06725 2.95059C3.45053 2.95059 2.95059 3.45053 2.95059 4.06725C2.95059 4.68397 3.45053 5.18392 4.06725 5.18392C4.68397 5.18392 5.18392 4.68397 5.18392 4.06725C5.18392 3.45053 4.68397 2.95059 4.06725 2.95059Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M9.7168 11.933C9.7168 10.7087 10.7092 9.71631 11.9335 9.71631C13.1577 9.71631 14.1501 10.7087 14.1501 11.933C14.1501 13.1572 13.1577 14.1496 11.9335 14.1496C10.7092 14.1496 9.7168 13.1572 9.7168 11.933ZM11.9335 10.8163C11.3167 10.8163 10.8168 11.3163 10.8168 11.933C10.8168 12.5497 11.3167 13.0496 11.9335 13.0496C12.5502 13.0496 13.0501 12.5497 13.0501 11.933C13.0501 11.3163 12.5502 10.8163 11.9335 10.8163Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M13.5241 3.32407C13.7584 3.08975 13.7584 2.70986 13.5241 2.47554C13.2898 2.24123 12.9099 2.24123 12.6755 2.47554L2.47554 12.6755C2.24123 12.9099 2.24123 13.2898 2.47554 13.5241C2.70986 13.7584 3.08975 13.7584 3.32407 13.5241L13.5241 3.32407Z"}}]},RQ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"percent-icon",ref:t,icon:IQ}))});RQ.displayName="PercentIcon";const xQ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M3.35928 2.57764C3.61338 1.77872 4.36128 1.19995 5.24437 1.19995C6.12746 1.19995 6.87537 1.77872 7.12947 2.57764H11.7885C13.4928 2.57764 14.7999 3.8461 14.7997 5.5888C14.7995 7.33129 13.4929 8.59984 11.7885 8.59984H6.63121L6.6224 8.5999H4.21143C3.16019 8.5999 2.4001 9.34071 2.4002 10.4109C2.40029 11.4814 3.16029 12.2221 4.21143 12.2221H8.87045C9.12449 11.4231 9.87245 10.8442 10.7556 10.8442C11.6388 10.8442 12.3868 11.4231 12.6408 12.2222H14.1999C14.5312 12.2222 14.7999 12.4908 14.7999 12.8222C14.7999 13.1535 14.5312 13.4222 14.1999 13.4222H12.6407C12.3866 14.221 11.6387 14.7998 10.7556 14.7998C9.87252 14.7998 9.12461 14.221 8.87051 13.4221H4.21143C2.50701 13.4221 1.20035 12.1536 1.2002 10.4111C1.20004 8.66836 2.50712 7.3999 4.21143 7.3999H6.61326L6.62208 7.39984H11.7885C12.8396 7.39984 13.5996 6.65912 13.5997 5.58868C13.5998 4.51844 12.8397 3.77764 11.7885 3.77764H7.12952C6.87548 4.57664 6.12753 5.1555 5.24437 5.1555C4.36122 5.1555 3.61327 4.57664 3.35922 3.77764H1.8002C1.46882 3.77764 1.2002 3.50901 1.2002 3.17764C1.2002 2.84627 1.46882 2.57764 1.8002 2.57764H3.35928ZM4.46671 3.16449C4.47377 2.74105 4.81924 2.39995 5.24437 2.39995C5.67026 2.39995 6.0162 2.74226 6.02207 3.16675L6.02197 3.17764L6.02207 3.1886C6.01625 3.61314 5.67029 3.95549 5.24437 3.95549C4.81921 3.95549 4.47372 3.61435 4.46671 3.19085L4.46685 3.17764L4.46671 3.16449ZM9.97788 12.8307C9.98254 13.2562 10.329 13.5998 10.7556 13.5998C11.1815 13.5998 11.5274 13.2575 11.5333 12.8331C11.5332 12.8294 11.5332 12.8258 11.5332 12.8222C11.5332 12.8185 11.5332 12.8148 11.5333 12.8111C11.5275 12.3866 11.1815 12.0442 10.7556 12.0442C10.3289 12.0442 9.98248 12.3878 9.97788 12.8134C9.97792 12.8163 9.97794 12.8192 9.97794 12.8221C9.97794 12.825 9.97792 12.8278 9.97788 12.8307Z",fillRule:"evenodd",clipRule:"evenodd"}}]},TQ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"piping-icon",ref:t,icon:xQ}))});TQ.displayName="PipingIcon";const NQ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M11.273 2.72206C11.0214 2.50641 10.9922 2.12763 11.2079 1.87603C11.4235 1.62444 11.8023 1.59531 12.0539 1.81097L14.3833 3.80761C14.5134 3.91733 14.5962 4.08137 14.5967 4.26477L14.5967 4.2665C14.5967 4.41745 14.541 4.55538 14.4489 4.66083C14.44 4.67109 14.4307 4.68108 14.421 4.69077L12.0877 7.02411C11.8534 7.25842 11.4735 7.25843 11.2392 7.02412C11.0049 6.78981 11.0049 6.40991 11.2392 6.17559L12.5482 4.8665H6.63324C4.40569 4.8665 2.5999 6.67229 2.5999 8.89984C2.5999 11.1274 4.40569 12.9332 6.63324 12.9332H11.9972C12.3286 12.9332 12.5972 13.2018 12.5972 13.5332C12.5972 13.8645 12.3286 14.1332 11.9972 14.1332H6.63324C3.74295 14.1332 1.3999 11.7901 1.3999 8.89984C1.3999 6.00955 3.74295 3.6665 6.63324 3.6665H12.3748L11.273 2.72206Z"}}]},MQ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"redo-icon",ref:t,icon:NQ}))});MQ.displayName="RedoIcon";const OQ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M6.33307 1.3916C5.14145 1.3916 4.06641 2.27555 4.06641 3.49366V6.49777C4.06641 7.71586 5.14145 8.59982 6.33307 8.59982C7.52469 8.59982 8.59974 7.71586 8.59974 6.49777V3.49366C8.59974 2.27555 7.52469 1.3916 6.33307 1.3916ZM5.26641 3.49366C5.26641 3.05264 5.68376 2.5916 6.33307 2.5916C6.98239 2.5916 7.39974 3.05264 7.39974 3.49366V6.49777C7.39974 6.93878 6.98239 7.39982 6.33307 7.39982C5.68376 7.39982 5.26641 6.93878 5.26641 6.49777V3.49366Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M7.90913 9.5417C8.14345 9.30739 8.52335 9.30739 8.75766 9.5417C8.99198 9.77602 8.99198 10.1559 8.75766 10.3902L7.78193 11.366H13.9999C14.3313 11.366 14.5999 11.6346 14.5999 11.966C14.5999 12.2973 14.3313 12.566 13.9999 12.566H7.78193L8.75766 13.5417C8.99198 13.776 8.99198 14.1559 8.75766 14.3902C8.52335 14.6245 8.14345 14.6245 7.90913 14.3902L5.91739 12.3985C5.80388 12.2893 5.73324 12.1359 5.73324 11.966C5.73324 11.796 5.80388 11.6426 5.91739 11.5334L7.90913 9.5417Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.3999 8.3002C1.3999 7.96882 1.66853 7.7002 1.9999 7.7002H2.33324C2.66461 7.7002 2.93324 7.96882 2.93324 8.3002C2.93324 8.63157 2.66461 8.9002 2.33324 8.9002H1.9999C1.66853 8.9002 1.3999 8.63157 1.3999 8.3002Z"}}]},LQ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"reduce-digits-icon",ref:t,icon:OQ}))});LQ.displayName="ReduceDigitsIcon";const kQ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M2.53331 14C2.35652 14 2.18697 13.9297 2.06197 13.8047C1.93697 13.6797 1.86675 13.5101 1.86675 13.3333C1.86675 13.1565 1.93697 12.987 2.06197 12.862C2.18697 12.7369 2.35652 12.6667 2.53331 12.6667L13.4666 12.6667C13.6434 12.6667 13.813 12.7369 13.938 12.862C14.063 12.987 14.1332 13.1565 14.1332 13.3333C14.1332 13.5101 14.063 13.6797 13.938 13.8047C13.813 13.9297 13.6434 14 13.4666 14L2.53331 14ZM2.53331 3.33333C2.35652 3.33331 2.18697 3.26306 2.06197 3.13804C1.93697 3.01301 1.86675 2.84346 1.86675 2.66667C1.86675 2.48987 1.93697 2.32032 2.06197 2.1953C2.18697 2.07028 2.35652 2.00003 2.53331 2L13.4666 2C13.6434 2.00003 13.813 2.07028 13.938 2.1953C14.063 2.32032 14.1332 2.48987 14.1332 2.66667C14.1332 2.84346 14.063 3.01301 13.938 3.13803C13.813 3.26306 13.6434 3.33331 13.4666 3.33333L2.53331 3.33333Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M10.8142 10.8141C10.5588 11.0695 10.1447 11.0695 9.88929 10.8141L7.97868 8.90354L6.14021 10.742C5.89652 10.9857 5.50142 10.9857 5.25774 10.742C5.01405 10.4983 5.01405 10.1032 5.25774 9.85955L7.09621 8.02107L5.18561 6.11047C4.93021 5.85507 4.93021 5.44098 5.18561 5.18557C5.44101 4.93017 5.8551 4.93017 6.11051 5.18557L8.02111 7.09618L9.85959 5.2577C10.1033 5.01401 10.4984 5.01401 10.7421 5.2577C10.9857 5.50139 10.9857 5.89648 10.7421 6.14017L8.90358 7.97865L10.8142 9.88925C11.0696 10.1447 11.0696 10.5587 10.8142 10.8141Z"}}]},PQ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"reduce-double-icon",ref:t,icon:kQ}))});PQ.displayName="ReduceDoubleIcon";const DQ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.3999 7.9999C1.3999 7.66853 1.66853 7.3999 1.9999 7.3999H13.9999C14.3313 7.3999 14.5999 7.66853 14.5999 7.9999C14.5999 8.33127 14.3313 8.5999 13.9999 8.5999H1.9999C1.66853 8.5999 1.3999 8.33127 1.3999 7.9999Z",fillRule:"evenodd",clipRule:"evenodd"}}]},UQ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"reduce-icon",ref:t,icon:DQ}))});UQ.displayName="ReduceIcon";const BQ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"colorChannel1",d:"M1.33325 3.99992L1.33325 2.66659C1.33325 1.93021 1.93021 1.33325 2.66659 1.33325L3.99992 1.33325L3.99992 2.66659L2.66659 2.66659L2.66659 3.99992L1.33325 3.99992Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M9.33325 1.33325L9.33325 2.66658L6.66659 2.66659L6.66659 1.33325L9.33325 1.33325Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M1.33325 6.66659L2.66659 6.66659L2.66659 7.33325L5.33325 7.33325L5.33325 8.66659L2.66659 8.66659L2.66659 9.33325L1.33325 9.33325L1.33325 6.66659Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M1.33325 11.9999L2.66659 11.9999L2.66659 13.3333L3.99992 13.3333L3.99992 14.6666L2.66659 14.6666C1.93021 14.6666 1.33325 14.0696 1.33325 13.3333L1.33325 11.9999Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M6.66659 14.6666L6.66659 13.3333L7.33325 13.3333L7.33325 10.6666L8.66659 10.6666L8.66659 13.3333L9.33325 13.3333L9.33325 14.6666L6.66659 14.6666Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M13.3333 7.33325L10.6666 7.33325L10.6666 8.66659L13.3333 8.66658L13.3333 7.33325Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M7.33325 5.33325L7.33325 2.66659L8.66659 2.66659L8.66659 5.33325L7.33325 5.33325Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M13.3333 1.33325L12 1.33325L12 2.66659L13.3333 2.66659L13.3333 13.3333L12 13.3333L12 14.6666L13.3333 14.6666C14.0697 14.6666 14.6667 14.0696 14.6667 13.3333L14.6667 2.66659C14.6667 1.93021 14.0697 1.33325 13.3333 1.33325Z"}}]},VQ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"right-border-double-icon",ref:t,icon:BQ}))});VQ.displayName="RightBorderDoubleIcon";const FQ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 17",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M13.2368 2.87507L2.11162 7.97208L2.61144 9.06304L12.4714 4.54568L7.95409 14.4057L9.04505 14.9055L14.1421 3.78029L14.4503 3.63905L14.3286 3.37322L14.469 3.0666L14.1134 2.90369L13.9505 2.5481L13.6439 2.68857L13.3781 2.56678L13.2368 2.87507Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M4.44524 1.82495L3.08111 1.82495C2.41837 1.82495 1.88111 2.36221 1.88111 3.02495L1.88111 4.38908L3.21111 4.38908L3.21111 3.15495L4.44524 3.15495L4.44524 1.82495ZM15.1941 4.38908L15.1941 3.02495C15.1941 2.36221 14.6569 1.82495 13.9941 1.82495L12.63 1.82495L12.63 3.15495L13.8641 3.15495L13.8641 4.38908L15.1941 4.38908ZM7.17349 1.82495L7.17349 3.15495L9.90175 3.15495L9.90175 1.82495L7.17349 1.82495ZM15.1941 7.11734L13.8641 7.11734L13.8641 9.84559L15.1941 9.84559L15.1941 7.11734ZM15.1941 12.5739L13.8641 12.5739L13.8641 13.808L12.63 13.808L12.63 15.138L13.9941 15.138C14.6569 15.138 15.1941 14.6007 15.1941 13.938L15.1941 12.5739ZM9.90175 15.138L9.90175 13.808L7.17349 13.808L7.17349 15.138L9.90175 15.138ZM4.44524 15.138L4.44524 13.808L3.21111 13.808L3.21111 12.5739L1.88111 12.5739L1.88111 13.938C1.88111 14.6007 2.41837 15.138 3.08111 15.138L4.44524 15.138ZM1.88111 9.8456L3.21111 9.8456L3.21111 7.11734L1.88111 7.11734L1.88111 9.8456Z",fillRule:"evenodd",clipRule:"evenodd"}}]},jQ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"right-double-diagonal-double-icon",ref:t,icon:FQ}))});jQ.displayName="RightDoubleDiagonalDoubleIcon";const HQ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M2.56781 13.3332C2.56781 14.0695 3.16476 14.6665 3.90114 14.6665L6.56781 14.6665C7.30419 14.6665 7.90114 14.0695 7.90114 13.3332L7.90114 2.6665C7.90114 1.9301 7.30419 1.33317 6.56781 1.33317L3.90114 1.33317C3.16476 1.33317 2.56781 1.9301 2.56781 2.6665L2.56781 13.3332ZM3.90114 2.6665L3.90114 13.3332L6.56781 13.3332L6.56781 2.6665L3.90114 2.6665Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M13.4323 8.00022C13.4323 8.36841 13.1338 8.66689 12.7656 8.66689L11.6906 8.66689L11.6906 9.74202C11.6906 10.1102 11.3921 10.4087 11.0239 10.4087C10.6557 10.4087 10.3573 10.1102 10.3573 9.74202L10.3573 8.66689L9.28215 8.66689C8.91396 8.66689 8.61548 8.36841 8.61548 8.00022C8.61548 7.63203 8.91396 7.33356 9.28214 7.33356L10.3573 7.33356L10.3573 6.25852C10.3573 5.89033 10.6557 5.59186 11.0239 5.59186C11.3921 5.59186 11.6906 5.89033 11.6906 6.25852L11.6906 7.33356L12.7656 7.33356C13.1338 7.33356 13.4323 7.63203 13.4323 8.00022Z",fillRule:"evenodd",clipRule:"evenodd"}}]},WQ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"right-insert-column-double-icon",ref:t,icon:HQ}))});WQ.displayName="RightInsertColumnDoubleIcon";const zQ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.9999 1.89941C1.66853 1.89941 1.3999 2.16804 1.3999 2.49941C1.3999 2.83078 1.66853 3.09941 1.9999 3.09941H13.9999C14.3313 3.09941 14.5999 2.83078 14.5999 2.49941C14.5999 2.16804 14.3313 1.89941 13.9999 1.89941H1.9999Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M4.66665 5.56641C4.33528 5.56641 4.06665 5.83504 4.06665 6.16641C4.06665 6.49778 4.33528 6.76641 4.66665 6.76641H14C14.3314 6.76641 14.6 6.49778 14.6 6.16641C14.6 5.83504 14.3314 5.56641 14 5.56641H4.66665Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.3999 9.8334C1.3999 9.50203 1.66853 9.2334 1.9999 9.2334H13.9999C14.3313 9.2334 14.5999 9.50203 14.5999 9.8334C14.5999 10.1648 14.3313 10.4334 13.9999 10.4334H1.9999C1.66853 10.4334 1.3999 10.1648 1.3999 9.8334Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M4.66665 12.9004C4.33528 12.9004 4.06665 13.169 4.06665 13.5004C4.06665 13.8318 4.33528 14.1004 4.66665 14.1004H14C14.3314 14.1004 14.6 13.8318 14.6 13.5004C14.6 13.169 14.3314 12.9004 14 12.9004H4.66665Z"}}]},XQ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"right-justifying-icon",ref:t,icon:zQ}))});XQ.displayName="RightJustifyingIcon";const qQ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M12.1994 1.49307C13.3824 0.944623 14.6068 2.16904 14.0584 3.35206L10.8904 10.1855C10.751 10.4862 10.3943 10.6169 10.0937 10.4775C9.79302 10.3381 9.66229 9.98144 9.80166 9.68081L11.0507 6.98651L8.61023 4.546C8.59522 4.53098 8.58116 4.51537 8.56807 4.49924L5.87063 5.74977C5.57 5.88915 5.2133 5.75842 5.07392 5.45779C4.93455 5.15715 5.06528 4.80045 5.36591 4.66108L12.1994 1.49307ZM12.9697 2.84734L11.5883 5.82701L9.72443 3.96315L12.7041 2.58177C12.8731 2.50342 13.048 2.67833 12.9697 2.84734Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M2.40366 4.68273C2.16934 4.44842 1.78945 4.44842 1.55513 4.68273C1.32082 4.91705 1.32082 5.29695 1.55513 5.53126L9.45182 13.4279L7.92792 13.5038C7.59696 13.5203 7.34202 13.8019 7.35849 14.1329C7.37497 14.4639 7.65662 14.7188 7.98758 14.7023L9.96172 14.6041C10.8278 14.5609 11.2323 13.5113 10.6191 12.8982L2.40366 4.68273Z"}}]},GQ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"right-rotation-forty-five-degrees-icon",ref:t,icon:qQ}))});GQ.displayName="RightRotationFortyFiveDegreesIcon";const YQ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"g",attrs:{fill:"currentColor",clipPath:"url(#right-rotation-ninety-degrees-icon_clip0_927_166)"},children:[{tag:"path",attrs:{d:"M3.11339 1.41934C3.11339 1.08797 2.84476 0.819336 2.51339 0.819336C2.18201 0.819336 1.91338 1.08797 1.91338 1.41934V12.5869L0.782193 11.563C0.53652 11.3406 0.157091 11.3595 -0.0652855 11.6052C-0.287662 11.8509 -0.268776 12.2303 -0.0231021 12.4527L1.44231 13.7791C2.08518 14.361 3.11338 13.9049 3.11338 13.0377L3.11339 1.41934Z"}},{tag:"path",attrs:{d:"M12.2955 9.26826C13.5199 8.81955 13.5199 7.08797 12.2955 6.63926L5.22343 4.04738C4.9123 3.93336 4.56763 4.09314 4.45361 4.40428C4.33958 4.71541 4.49936 5.06007 4.8105 5.1741L7.59888 6.19602V9.64743C7.59888 9.66866 7.59999 9.68964 7.60214 9.71031L4.8105 10.7334C4.49936 10.8474 4.33958 11.1921 4.45361 11.5032C4.56763 11.8144 4.9123 11.9742 5.22343 11.8601L12.2955 9.26826ZM11.8826 7.76597L8.79888 6.63581V9.27171L11.8826 8.14155C12.0575 8.07745 12.0575 7.83008 11.8826 7.76597Z",fillRule:"evenodd",clipRule:"evenodd"}}]},{tag:"defs",attrs:{},children:[{tag:"clipPath",attrs:{id:"right-rotation-ninety-degrees-icon_clip0_927_166"},children:[{tag:"path",attrs:{fill:"white",d:"M0 0H16V16H0z"}}]}]}],defIds:["right-rotation-ninety-degrees-icon_clip0_927_166"]},QQ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"right-rotation-ninety-degrees-icon",ref:t,icon:YQ}))});QQ.displayName="RightRotationNinetyDegreesIcon";const ZQ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M11.9445 1.55649C12.2184 1.744 12.2895 2.11755 12.1033 2.39085L9.24342 6.58659H12.8001C13.1315 6.58659 13.4001 6.85522 13.4001 7.18659C13.4001 7.51796 13.1315 7.78659 12.8001 7.78659H8.5999V9.91276H13.2221C13.5534 9.91276 13.8221 10.1814 13.8221 10.5128C13.8221 10.8441 13.5534 11.1128 13.2221 11.1128H8.5999V14.0877C8.5999 14.4191 8.33127 14.6877 7.9999 14.6877C7.66853 14.6877 7.3999 14.4191 7.3999 14.0877V11.1128H2.77773C2.44636 11.1128 2.17773 10.8441 2.17773 10.5128C2.17773 10.1814 2.44636 9.91276 2.77773 9.91276H7.3999V7.78659H3.2001C2.86873 7.78659 2.6001 7.51796 2.6001 7.18659C2.6001 6.85522 2.86873 6.58659 3.2001 6.58659H6.75736L3.89753 2.39085C3.71125 2.11755 3.78234 1.744 4.05631 1.55649C4.33029 1.36899 4.7034 1.43854 4.88968 1.71184L7.94595 6.19577C7.96752 6.22741 7.98564 6.2604 8.00039 6.29429C8.01514 6.2604 8.03326 6.22741 8.05483 6.19577L11.1111 1.71184C11.2974 1.43854 11.6705 1.36899 11.9445 1.55649Z"}}]},KQ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"rmb-icon",ref:t,icon:ZQ}))});KQ.displayName="RmbIcon";const $Q={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M9.72502 1.02051H6.07803C4.97346 1.02051 4.07803 1.91594 4.07803 3.02051V7.57046H3.00039C2.66902 7.57046 2.40039 7.83909 2.40039 8.17046C2.40039 8.50183 2.66902 8.77046 3.00039 8.77046H4.07803V10.4854H3.00039C2.66902 10.4854 2.40039 10.754 2.40039 11.0854C2.40039 11.4167 2.66902 11.6854 3.00039 11.6854H4.07803V14.3795C4.07803 14.7108 4.34666 14.9795 4.67803 14.9795C5.0094 14.9795 5.27803 14.7108 5.27803 14.3795V11.6854H10.3637C10.695 11.6854 10.9637 11.4167 10.9637 11.0854C10.9637 10.754 10.695 10.4854 10.3637 10.4854H5.27803V8.77046H9.72503C11.8651 8.77046 13.6 7.03557 13.6 4.89548C13.6 2.75539 11.8651 1.02051 9.72502 1.02051ZM9.72503 7.57046H5.27803V3.12051C5.27803 2.62345 5.68097 2.22051 6.17803 2.22051H9.72502C11.2024 2.22051 12.4 3.41814 12.4 4.89548C12.4 6.37283 11.2024 7.57046 9.72503 7.57046Z",fillRule:"evenodd",clipRule:"evenodd"}}]},JQ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"rouble-icon",ref:t,icon:$Q}))});JQ.displayName="RoubleIcon";const eZ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M4.66628 8.66683C5.03447 8.66683 5.33294 8.36835 5.33294 8.00016C5.33294 7.63197 5.03447 7.3335 4.66628 7.3335C4.29809 7.3335 3.99961 7.63197 3.99961 8.00016C3.99961 8.36835 4.29809 8.66683 4.66628 8.66683Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M5.99935 10.0002C5.99935 10.3684 5.70087 10.6668 5.33268 10.6668C4.96449 10.6668 4.66602 10.3684 4.66602 10.0002C4.66602 9.63197 4.96449 9.3335 5.33268 9.3335C5.70087 9.3335 5.99935 9.63197 5.99935 10.0002Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M3.33268 10.6668C3.70087 10.6668 3.99935 10.3684 3.99935 10.0002C3.99935 9.63197 3.70087 9.3335 3.33268 9.3335C2.96449 9.3335 2.66602 9.63197 2.66602 10.0002C2.66602 10.3684 2.96449 10.6668 3.33268 10.6668Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M7.33294 8.00016C7.33294 8.36835 7.03447 8.66683 6.66628 8.66683C6.29809 8.66683 5.99961 8.36835 5.99961 8.00016C5.99961 7.63197 6.29809 7.3335 6.66628 7.3335C7.03447 7.3335 7.33294 7.63197 7.33294 8.00016Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M7.33268 10.6668C7.70087 10.6668 7.99935 10.3684 7.99935 10.0002C7.99935 9.63197 7.70087 9.3335 7.33268 9.3335C6.96449 9.3335 6.66602 9.63197 6.66602 10.0002C6.66602 10.3684 6.96449 10.6668 7.33268 10.6668Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M9.33294 8.00016C9.33294 8.36835 9.03447 8.66683 8.66628 8.66683C8.29809 8.66683 7.99961 8.36835 7.99961 8.00016C7.99961 7.63197 8.29809 7.3335 8.66628 7.3335C9.03447 7.3335 9.33294 7.63197 9.33294 8.00016Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M9.33268 10.6668C9.70087 10.6668 9.99935 10.3684 9.99935 10.0002C9.99935 9.63197 9.70087 9.3335 9.33268 9.3335C8.96449 9.3335 8.66602 9.63197 8.66602 10.0002C8.66602 10.3684 8.96449 10.6668 9.33268 10.6668Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M11.3329 8.00016C11.3329 8.36835 11.0345 8.66683 10.6663 8.66683C10.2981 8.66683 9.99961 8.36835 9.99961 8.00016C9.99961 7.63197 10.2981 7.3335 10.6663 7.3335C11.0345 7.3335 11.3329 7.63197 11.3329 8.00016Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M11.3327 10.6668C11.7009 10.6668 11.9993 10.3684 11.9993 10.0002C11.9993 9.63197 11.7009 9.3335 11.3327 9.3335C10.9645 9.3335 10.666 9.63197 10.666 10.0002C10.666 10.3684 10.9645 10.6668 11.3327 10.6668Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M13.3329 8.00016C13.3329 8.36835 13.0345 8.66683 12.6663 8.66683C12.2981 8.66683 11.9996 8.36835 11.9996 8.00016C11.9996 7.63197 12.2981 7.3335 12.6663 7.3335C13.0345 7.3335 13.3329 7.63197 13.3329 8.00016Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M4.99961 12.0002C4.99961 11.632 5.29809 11.3335 5.66628 11.3335H10.3329C10.7011 11.3335 10.9996 11.632 10.9996 12.0002C10.9996 12.3684 10.7011 12.6668 10.3329 12.6668H5.66628C5.29809 12.6668 4.99961 12.3684 4.99961 12.0002Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M13.9999 2.00016C13.9999 1.63197 13.7014 1.3335 13.3332 1.3335C12.965 1.3335 12.6665 1.63197 12.6665 2.00016V3.37516H11.3332C10.7809 3.37516 10.3332 3.82287 10.3332 4.37516V5.3335H1.99935C1.26297 5.3335 0.666016 5.93045 0.666016 6.66683V13.3335C0.666016 14.0699 1.26297 14.6668 1.99935 14.6668H13.9993C14.7357 14.6668 15.3327 14.0699 15.3327 13.3335V6.66683C15.3327 5.93045 14.7357 5.3335 13.9993 5.3335H11.6665V4.7085H12.9999C13.5522 4.7085 13.9999 4.26079 13.9999 3.7085V2.00016ZM1.99935 6.66683V13.3335H13.9993V6.66683H1.99935Z",fillRule:"evenodd",clipRule:"evenodd"}}]},tZ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"shortcut-icon",ref:t,icon:eZ}))});tZ.displayName="ShortcutIcon";const rZ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 17",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M2.27177 13.714L13.5855 2.40025L14.434 3.24878L3.1203 14.5625L2.27177 13.714Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M4.2603 1.82495L2.89617 1.82495C2.23343 1.82495 1.69617 2.36221 1.69617 3.02495L1.69617 4.38908L3.02617 4.38908L3.02617 3.15495L4.2603 3.15495L4.2603 1.82495ZM15.0092 4.38908L15.0092 3.02495C15.0092 2.36221 14.4719 1.82495 13.8092 1.82495L12.4451 1.82495L12.4451 3.15495L13.6792 3.15495L13.6792 4.38908L15.0092 4.38908ZM6.98856 1.82495L6.98856 3.15495L9.71681 3.15495L9.71681 1.82495L6.98856 1.82495ZM15.0092 7.11734L13.6792 7.11734L13.6792 9.84559L15.0092 9.84559L15.0092 7.11734ZM15.0092 12.5739L13.6792 12.5739L13.6792 13.808L12.4451 13.808L12.4451 15.138L13.8092 15.138C14.4719 15.138 15.0092 14.6007 15.0092 13.938L15.0092 12.5739ZM9.71681 15.138L9.71681 13.808L6.98856 13.808L6.98856 15.138L9.71681 15.138ZM4.2603 15.138L4.2603 13.808L3.02617 13.808L3.02617 12.5739L1.69617 12.5739L1.69617 13.938C1.69617 14.6007 2.23343 15.138 2.89617 15.138L4.2603 15.138ZM1.69617 9.8456L3.02617 9.8456L3.02617 7.11734L1.69617 7.11734L1.69617 9.8456Z",fillRule:"evenodd",clipRule:"evenodd"}}]},nZ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"slash-double-icon",ref:t,icon:rZ}))});nZ.displayName="SlashDoubleIcon";const iZ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8.00033 1.20996C6.43345 1.20996 5.23596 1.88077 4.64804 2.94304C4.06338 3.99943 4.15123 5.32084 4.90099 6.47062C5.08199 6.7482 5.45374 6.82648 5.73131 6.64548C6.00888 6.46448 6.08716 6.09273 5.90616 5.81516C5.36418 4.98402 5.35768 4.13897 5.69797 3.52412C6.035 2.91515 6.78176 2.40996 8.00033 2.40996C9.19423 2.40996 10.0017 2.93409 10.5236 3.46755C10.7871 3.73682 10.9756 4.00712 11.0974 4.20903C11.158 4.30951 11.2013 4.39164 11.2284 4.44625C11.2419 4.47351 11.2514 4.49377 11.2568 4.50588L11.2621 4.51771C11.3901 4.82216 11.7407 4.96686 12.046 4.83992C12.3519 4.71267 12.4968 4.36149 12.3695 4.05552L11.8231 4.28278C12.3695 4.05552 12.3697 4.0558 12.3695 4.05552L12.3691 4.05437L12.3685 4.05298L12.367 4.04953L12.3629 4.03993L12.3498 4.01036C12.3388 3.98619 12.3234 3.95326 12.3033 3.91282C12.2632 3.83203 12.2043 3.72072 12.1249 3.58908C11.9666 3.32674 11.7235 2.97805 11.3814 2.62834C10.6921 1.92381 9.59192 1.20996 8.00033 1.20996Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M2.11953 8.5999H7.88935C10.1109 9.46549 10.5895 10.7649 10.4268 11.6869C10.2475 12.703 9.26939 13.5898 8.00009 13.5898C6.63323 13.5898 5.77631 13.0502 5.25534 12.528C4.99021 12.2623 4.80823 11.9965 4.69365 11.7993C4.63659 11.7011 4.59698 11.6211 4.5727 11.5686C4.56059 11.5424 4.55236 11.5231 4.54774 11.512L4.54352 11.5016C4.4267 11.193 4.0823 11.0363 3.77279 11.1516C3.46228 11.2673 3.30438 11.6129 3.4201 11.9234L3.9649 11.7203C3.4201 11.9234 3.41998 11.9231 3.4201 11.9234L3.4206 11.9247L3.42118 11.9263L3.42262 11.9301L3.42661 11.9403C3.42977 11.9484 3.43394 11.9588 3.43914 11.9713C3.44956 11.9965 3.46418 12.0304 3.48334 12.0719C3.52161 12.1547 3.57828 12.2682 3.65608 12.4021C3.81124 12.6692 4.0534 13.0223 4.40584 13.3756C5.12 14.0914 6.27196 14.7898 8.00009 14.7898C9.82574 14.7898 11.3236 13.5101 11.6085 11.8955C11.812 10.7422 11.3901 9.55402 10.2665 8.5999H13.8804C14.2117 8.5999 14.4803 8.33127 14.4803 7.9999C14.4803 7.66853 14.2117 7.3999 13.8804 7.3999H8.01411C8.0048 7.39968 7.99551 7.39969 7.98625 7.3999H2.11953C1.78816 7.3999 1.51953 7.66853 1.51953 7.9999C1.51953 8.33127 1.78816 8.5999 2.11953 8.5999Z"}}]},aZ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"strikethrough-icon",ref:t,icon:iZ}))});aZ.displayName="StrikethroughIcon";const oZ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 17",width:"1em",height:"1em"},children:[{tag:"path",attrs:{stroke:"currentColor",d:"M2.08596 14.1387L10.3379 2.66873",strokeLinecap:"round",strokeWidth:1.2}},{tag:"path",attrs:{stroke:"currentColor",d:"M10.3379 14.1387L2.08596 2.66873",strokeLinecap:"round",strokeWidth:1.2}},{tag:"path",attrs:{stroke:"currentColor",d:"M12.8098 10.0174C13.4565 9.45285 14.781 9.44507 15.0272 10.5759C15.2798 11.736 13.8101 13.2515 12.7376 14.1033C12.7227 14.1151 12.7315 14.1389 12.7505 14.1388L15.2251 14.1388",strokeLinecap:"round",strokeWidth:1.2}}]},sZ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"subscript-icon",ref:t,icon:oZ}))});sZ.displayName="SubscriptIcon";const lZ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M0.394135 6.52121C0.394135 5.4474 1.26463 4.5769 2.33844 4.5769H3.90929C4.24066 4.5769 4.50929 4.84553 4.50929 5.1769C4.50929 5.50828 4.24066 5.7769 3.90929 5.7769H2.33844C1.92737 5.7769 1.59414 6.11014 1.59414 6.52121C1.59414 6.93228 1.92737 7.26552 2.33844 7.26552H2.45171C3.59368 7.26552 4.50929 8.20288 4.50929 9.33362C4.50929 10.4761 3.58419 11.4231 2.43051 11.4231H0.893457C0.562086 11.4231 0.293457 11.1544 0.293457 10.8231C0.293457 10.4917 0.562086 10.2231 0.893457 10.2231H2.43051C2.91024 10.2231 3.30929 9.82458 3.30929 9.33362C3.30929 8.85437 2.91974 8.46552 2.45171 8.46552H2.33844C1.26463 8.46552 0.394135 7.59502 0.394135 6.52121Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M15.1061 11.4231C14.7747 11.4231 14.5061 11.1545 14.5061 10.8231L14.5061 8.31006C14.5061 7.97762 14.2366 7.70812 13.9041 7.70812C13.5717 7.70812 13.3022 7.97762 13.3022 8.31006L13.3022 10.8231C13.3022 11.1545 13.0335 11.4231 12.7022 11.4231C12.3708 11.4231 12.1022 11.1545 12.1022 10.8231L12.1022 8.31006C12.1022 7.31488 12.9089 6.50812 13.9041 6.50812C14.8993 6.50812 15.7061 7.31488 15.7061 8.31006L15.7061 10.8231C15.7061 11.1545 15.4374 11.4231 15.1061 11.4231Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M12.7022 11.4231C12.3709 11.4231 12.1022 11.1545 12.1022 10.8231L12.1022 8.31006C12.1022 7.97762 11.8327 7.70812 11.5003 7.70812C11.1679 7.70812 10.8984 7.97762 10.8984 8.31006L10.8984 10.8231C10.8984 11.1545 10.6297 11.4231 10.2984 11.4231C9.967 11.4231 9.69837 11.1545 9.69837 10.8231L9.69837 8.31006C9.69837 7.31488 10.5051 6.50812 11.5003 6.50812C12.4955 6.50812 13.3022 7.31488 13.3022 8.31006L13.3022 10.8231C13.3022 11.1545 13.0336 11.4231 12.7022 11.4231Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M5.58193 6.69556C5.9133 6.69556 6.18193 6.96419 6.18193 7.29556L6.18193 9.43683C6.18193 9.87101 6.53391 10.223 6.96809 10.223C7.40228 10.223 7.75425 9.87101 7.75425 9.43683L7.75425 7.29556C7.75425 6.96419 8.02288 6.69556 8.35425 6.69556C8.68563 6.69556 8.95425 6.96419 8.95425 7.29556L8.95425 9.43683C8.95425 10.5338 8.06502 11.423 6.96809 11.423C5.87117 11.423 4.98193 10.5338 4.98193 9.43683L4.98193 7.29556C4.98193 6.96419 5.25056 6.69556 5.58193 6.69556Z",fillRule:"evenodd",clipRule:"evenodd"}}]},uZ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"sum-icon",ref:t,icon:lZ}))});uZ.displayName="SumIcon";const cZ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 17",width:"1em",height:"1em"},children:[{tag:"path",attrs:{stroke:"currentColor",d:"M2.10904 14.4537L10.299 3.06987",strokeLinecap:"round",strokeWidth:1.2}},{tag:"path",attrs:{stroke:"currentColor",d:"M10.2989 14.4537L2.10899 3.06987",strokeLinecap:"round",strokeWidth:1.2}},{tag:"path",attrs:{stroke:"currentColor",d:"M12.7525 3.35933C13.3943 2.79901 14.7089 2.79129 14.9533 3.91363C15.204 5.06487 13.7456 6.56876 12.6812 7.41429C12.6663 7.4261 12.6751 7.44982 12.6941 7.44982L15.1497 7.44977",strokeLinecap:"round",strokeWidth:1.2}}]},dZ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"superscript-icon",ref:t,icon:cZ}))});dZ.displayName="SuperscriptIcon";const hZ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M2.21572 1.80029C2.54709 1.80029 2.81572 2.06892 2.81572 2.40029V14.0003C2.81572 14.3317 2.54709 14.6003 2.21572 14.6003C1.88435 14.6003 1.61572 14.3317 1.61572 14.0003V2.40029C1.61572 2.06892 1.88435 1.80029 2.21572 1.80029Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M13.7841 1.80029C14.1155 1.80029 14.3841 2.06892 14.3841 2.40029V14.0003C14.3841 14.3317 14.1155 14.6003 13.7841 14.6003C13.4527 14.6003 13.1841 14.3317 13.1841 14.0003V8.60259H7.13467C6.8033 8.60259 6.53467 8.33396 6.53467 8.00259C6.53467 7.67122 6.8033 7.40259 7.13467 7.40259H13.1841V2.40029C13.1841 2.06892 13.4527 1.80029 13.7841 1.80029Z"}}]},mZ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"truncation-icon",ref:t,icon:hZ}))});mZ.displayName="TruncationIcon";const fZ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M4.46416 2.03237C4.46416 1.701 4.19553 1.43237 3.86416 1.43237C3.53279 1.43237 3.26416 1.701 3.26416 2.03237V7.33338C3.26416 10.0313 5.35834 12.2667 7.9999 12.2667C10.6415 12.2667 12.7356 10.0313 12.7356 7.33338V2.03237C12.7356 1.701 12.467 1.43237 12.1356 1.43237C11.8043 1.43237 11.5356 1.701 11.5356 2.03237V7.33338C11.5356 9.42194 9.92656 11.0667 7.9999 11.0667C6.07325 11.0667 4.46416 9.42194 4.46416 7.33338V2.03237Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M2.66641 13.4663C2.33504 13.4663 2.06641 13.7349 2.06641 14.0663C2.06641 14.3977 2.33504 14.6663 2.66641 14.6663H13.3331C13.6644 14.6663 13.9331 14.3977 13.9331 14.0663C13.9331 13.7349 13.6644 13.4663 13.3331 13.4663H2.66641Z"}}]},gZ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"underline-icon",ref:t,icon:fZ}))});gZ.displayName="UnderlineIcon";const pZ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M4.72365 2.72206C4.97524 2.50641 5.00437 2.12763 4.78872 1.87603C4.57306 1.62444 4.19428 1.59531 3.94269 1.81097L1.61333 3.80761C1.48281 3.91768 1.3999 4.08241 1.3999 4.2665C1.3999 4.41745 1.45564 4.55538 1.54766 4.66083C1.55661 4.67109 1.56594 4.68108 1.57563 4.69077L3.9089 7.02411C4.14321 7.25842 4.52311 7.25843 4.75743 7.02412C4.99175 6.78981 4.99175 6.40991 4.75744 6.17559L3.44839 4.8665H9.36337C11.5909 4.8665 13.3967 6.67229 13.3967 8.89984C13.3967 11.1274 11.5909 12.9332 9.36337 12.9332H3.99937C3.668 12.9332 3.39937 13.2018 3.39937 13.5332C3.39937 13.8645 3.668 14.1332 3.99937 14.1332H9.36337C12.2537 14.1332 14.5967 11.7901 14.5967 8.89984C14.5967 6.00955 12.2537 3.6665 9.36337 3.6665H3.62183L4.72365 2.72206Z"}}]},vZ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"undo-icon",ref:t,icon:pZ}))});vZ.displayName="UndoIcon";const bZ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M3.03012 3.14006C3.03012 3.59845 2.65851 3.97006 2.20012 3.97006C1.74172 3.97006 1.37012 3.59845 1.37012 3.14006C1.37012 2.68166 1.74172 2.31006 2.20012 2.31006C2.65851 2.31006 3.03012 2.68166 3.03012 3.14006Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M4.53027 2.54014C4.1989 2.54014 3.93027 2.80877 3.93027 3.14014C3.93027 3.47151 4.1989 3.74014 4.53027 3.74014H14.5488C14.8802 3.74014 15.1488 3.47151 15.1488 3.14014C15.1488 2.80877 14.8802 2.54014 14.5488 2.54014H4.53027Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M2.20012 8.82992C2.65851 8.82992 3.03012 8.45832 3.03012 7.99992C3.03012 7.54153 2.65851 7.16992 2.20012 7.16992C1.74172 7.16992 1.37012 7.54153 1.37012 7.99992C1.37012 8.45832 1.74172 8.82992 2.20012 8.82992Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M4.53027 7.4C4.1989 7.4 3.93027 7.66863 3.93027 8C3.93027 8.33137 4.1989 8.6 4.53027 8.6H14.5488C14.8802 8.6 15.1488 8.33137 15.1488 8C15.1488 7.66863 14.8802 7.4 14.5488 7.4H4.53027Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M2.20012 13.6905C2.65851 13.6905 3.03012 13.3189 3.03012 12.8605C3.03012 12.4021 2.65851 12.0305 2.20012 12.0305C1.74172 12.0305 1.37012 12.4021 1.37012 12.8605C1.37012 13.3189 1.74172 13.6905 2.20012 13.6905Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M4.53027 12.2604C4.1989 12.2604 3.93027 12.529 3.93027 12.8604C3.93027 13.1917 4.1989 13.4604 4.53027 13.4604H14.5488C14.8802 13.4604 15.1488 13.1917 15.1488 12.8604C15.1488 12.529 14.8802 12.2604 14.5488 12.2604H4.53027Z"}}]},CZ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"unorder-icon",ref:t,icon:bZ}))});CZ.displayName="UnorderIcon";const yZ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"colorChannel1",d:"M4.0001 14.667H2.66677C1.93039 14.667 1.33344 14.07 1.33344 13.3337V12.0003H2.66677V13.3337L4.0001 13.3337V14.667Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M1.33344 6.66699H2.66677V9.33366H1.33344V6.66699Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M6.66677 14.667V13.3337H7.33344V10.667H8.66677V13.3337H9.33344V14.667H6.66677Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M12.0001 14.667V13.3337H13.3334V12.0003H14.6668V13.3337C14.6668 14.07 14.0698 14.667 13.3334 14.667H12.0001Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M14.6668 9.33366H13.3334V8.66699H10.6668V7.33366H13.3334V6.66699H14.6668V9.33366Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M7.33344 2.66699V5.33366H8.66677V2.66699H7.33344Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M5.33344 8.66699H2.66677V7.33366H5.33344V8.66699Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.33344 2.66789V4.00122H2.66677L2.66677 2.66789H13.3334V4.00122H14.6668V2.66789C14.6668 1.93151 14.0698 1.33455 13.3334 1.33455H2.66677C1.93039 1.33455 1.33344 1.93151 1.33344 2.66789Z"}}]},_Z=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"up-border-double-icon",ref:t,icon:yZ}))});_Z.displayName="UpBorderDoubleIcon";const wZ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"colorChannel1",d:"M2.66699 1.33325L4.00033 1.33325L4.00033 2.66658L2.66699 2.66659L2.66699 3.99992L1.33366 3.99992L1.33366 2.66659C1.33366 1.93021 1.93061 1.33325 2.66699 1.33325Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M14.667 2.66659L14.667 3.99992L13.3337 3.99992L13.3337 2.66659L12.0003 2.66659L12.0003 1.33325L13.3337 1.33325C14.07 1.33325 14.667 1.93021 14.667 2.66659Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M6.66699 2.66658L6.66699 1.33325L9.33366 1.33325L9.33366 2.66659L6.66699 2.66658Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M13.3337 6.66659L14.667 6.66659L14.667 9.33325L13.3337 9.33325L13.3337 8.66496L12.0145 8.66496L12.0145 7.33496L13.3337 7.33496L13.3337 6.66659Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M13.3337 11.9999L14.667 11.9999L14.667 13.3333C14.667 14.0696 14.07 14.6666 13.3337 14.6666L12.0003 14.6666L12.0003 13.3333L13.3337 13.3333L13.3337 11.9999Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M9.33366 13.3333L9.33366 14.6666L6.66699 14.6666L6.66699 13.3333L9.33366 13.3333Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M4.00032 13.3333L4.00032 14.6666L2.66699 14.6666C1.93061 14.6666 1.33366 14.0696 1.33366 13.3333L1.33366 11.9999L2.66699 11.9999L2.66699 13.3333L4.00032 13.3333Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M2.66699 9.33325L1.33366 9.33325L1.33366 6.66658L2.66699 6.66658L2.66699 7.33496L3.98624 7.33496L3.98624 8.66496L2.66699 8.66496L2.66699 9.33325Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M9.33841 7.33496L6.66232 7.33496L6.66232 8.66496L9.33841 8.66496L9.33841 7.33496Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M8.66577 8.66675L8.66577 7.33342L8.66569 2.66675L7.33236 2.66675L7.33236 7.33341L7.33244 8.66675L7.33236 13.3334L8.66569 13.3334L8.66577 8.66675Z"}}]},EZ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"vertical-border-double-icon",ref:t,icon:wZ}))});EZ.displayName="VerticalBorderDoubleIcon";const SZ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M7.9999 0.733398C8.33127 0.733398 8.5999 1.00203 8.5999 1.3334V4.55137L9.57564 3.57564C9.80995 3.34132 10.1899 3.34132 10.4242 3.57564C10.6585 3.80995 10.6585 4.18985 10.4242 4.42417L8.42417 6.42417C8.18985 6.65848 7.80995 6.65848 7.57564 6.42417L5.57564 4.42417C5.34132 4.18985 5.34132 3.80995 5.57564 3.57564C5.80995 3.34132 6.18985 3.34132 6.42417 3.57564L7.3999 4.55137V1.3334C7.3999 1.00203 7.66853 0.733398 7.9999 0.733398Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M5.57564 11.5756L7.57564 9.57564C7.80995 9.34132 8.18985 9.34132 8.42417 9.57564L10.4242 11.5756C10.6585 11.81 10.6585 12.1899 10.4242 12.4242C10.1899 12.6585 9.80995 12.6585 9.57564 12.4242L8.5999 11.4484V14.6665C8.5999 14.9979 8.33127 15.2665 7.9999 15.2665C7.66853 15.2665 7.3999 14.9979 7.3999 14.6665V11.4484L6.42417 12.4242C6.18985 12.6585 5.80995 12.6585 5.57564 12.4242C5.34132 12.1899 5.34132 11.81 5.57564 11.5756Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.9999 7.40015C1.66853 7.40015 1.3999 7.66878 1.3999 8.00015C1.3999 8.33152 1.66853 8.60015 1.9999 8.60015H13.9999C14.3313 8.60015 14.5999 8.33152 14.5999 8.00015C14.5999 7.66878 14.3313 7.40015 13.9999 7.40015H1.9999Z"}}]},AZ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"vertical-center-icon",ref:t,icon:SZ}))});AZ.displayName="VerticalCenterIcon";const IZ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 17",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M2.2157 2.90265C2.2157 2.16628 2.81264 1.56934 3.54901 1.56934H6.21565C6.95202 1.56934 7.54896 2.16628 7.54896 2.90265V13.5692C7.54896 14.3056 6.95202 14.9025 6.21565 14.9025H3.54901C2.81264 14.9025 2.2157 14.3056 2.2157 13.5692V2.90265ZM3.54901 2.90265H6.21565V5.5622H3.54901V2.90265ZM3.54901 6.89552V9.57631H6.21565V6.89552H3.54901ZM3.54901 13.5692V10.9096H6.21565V13.5692H3.54901Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M10.2156 2.90265C10.2156 2.16628 10.8125 1.56934 11.5489 1.56934H14.2155C14.9519 1.56934 15.5489 2.16628 15.5489 2.90265V13.5692C15.5489 14.3056 14.9519 14.9025 14.2155 14.9025H11.5489C10.8125 14.9025 10.2156 14.3056 10.2156 13.5692V2.90265ZM11.5489 2.90265H14.2155V5.5622H11.5489V2.90265ZM11.5489 6.89552V9.57631H14.2155V6.89552H11.5489ZM11.5489 13.5692V10.9096H14.2155V13.5692H11.5489Z",fillRule:"evenodd",clipRule:"evenodd"}}]},RZ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"vertical-integration-icon",ref:t,icon:IZ}))});RZ.displayName="VerticalIntegrationIcon";const xZ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M4.55504 2.73208C4.55504 2.40071 4.28641 2.13208 3.95504 2.13208C3.62367 2.13208 3.35504 2.40071 3.35504 2.73208V12.5172L2.21439 11.5276C1.96409 11.3104 1.58515 11.3373 1.36799 11.5876C1.15084 11.8379 1.17771 12.2169 1.42801 12.434L2.89972 13.7108C3.54718 14.2726 4.55504 13.8127 4.55504 12.9555L4.55504 2.73208Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M9.00725 4.01095C9.45595 2.78663 11.1875 2.78662 11.6362 4.01095L14.743 12.488C14.8571 12.7992 14.6973 13.1438 14.3861 13.2578C14.075 13.3719 13.7303 13.2121 13.6163 12.9009L12.4148 9.62242H8.36729C8.32154 9.62242 8.27699 9.6173 8.23417 9.6076L7.02719 12.9009C6.91316 13.2121 6.5685 13.3719 6.25736 13.2578C5.94623 13.1438 5.78644 12.7992 5.90047 12.488L9.00725 4.01095ZM10.5095 4.42388L11.975 8.42242H8.66853L10.134 4.42389C10.1981 4.24898 10.4454 4.24898 10.5095 4.42388Z",fillRule:"evenodd",clipRule:"evenodd"}}]},TZ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"vertical-text-icon",ref:t,icon:xZ}))});TZ.displayName="VerticalTextIcon";const NZ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8.00016 1.33203C6.68162 1.33203 5.39269 1.72302 4.29636 2.45557C3.20004 3.18811 2.34555 4.2293 1.84097 5.44747C1.33638 6.66565 1.20436 8.00609 1.4616 9.2993C1.71883 10.5925 2.35377 11.7804 3.28612 12.7127C4.21847 13.6451 5.40636 14.28 6.69956 14.5373C7.99277 14.7945 9.33321 14.6625 10.5514 14.1579C11.7696 13.6533 12.8108 12.7988 13.5433 11.7025C14.2758 10.6062 14.6668 9.31724 14.6668 7.9987C14.6649 6.23118 13.9619 4.53662 12.7121 3.2868C11.4622 2.03697 9.76768 1.33397 8.00016 1.33203ZM7.66683 3.9987C7.86461 3.9987 8.05795 4.05735 8.2224 4.16723C8.38685 4.27711 8.51502 4.43329 8.59071 4.61601C8.6664 4.79874 8.6862 4.99981 8.64762 5.19379C8.60903 5.38777 8.51379 5.56595 8.37394 5.7058C8.23409 5.84566 8.0559 5.9409 7.86192 5.97948C7.66794 6.01807 7.46687 5.99826 7.28415 5.92258C7.10142 5.84689 6.94524 5.71872 6.83536 5.55427C6.72548 5.38982 6.66683 5.19648 6.66683 4.9987C6.66683 4.73348 6.77219 4.47913 6.95972 4.29159C7.14726 4.10405 7.40162 3.9987 7.66683 3.9987ZM9.3335 11.332H6.66683C6.49002 11.332 6.32045 11.2618 6.19543 11.1368C6.0704 11.0117 6.00016 10.8422 6.00016 10.6654C6.00016 10.4886 6.0704 10.319 6.19543 10.194C6.32045 10.0689 6.49002 9.9987 6.66683 9.9987H7.3335V7.9987H6.66683C6.49002 7.9987 6.32045 7.92846 6.19543 7.80343C6.0704 7.67841 6.00016 7.50884 6.00016 7.33203C6.00016 7.15522 6.0704 6.98565 6.19543 6.86063C6.32045 6.7356 6.49002 6.66536 6.66683 6.66536H8.00016C8.17698 6.66536 8.34655 6.7356 8.47157 6.86063C8.59659 6.98565 8.66683 7.15522 8.66683 7.33203V9.9987H9.3335C9.51031 9.9987 9.67988 10.0689 9.8049 10.194C9.92993 10.319 10.0002 10.4886 10.0002 10.6654C10.0002 10.8422 9.92993 11.0117 9.8049 11.1368C9.67988 11.2618 9.51031 11.332 9.3335 11.332Z"}}]},MZ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"info-icon",ref:t,icon:NZ}))});MZ.displayName="InfoIcon";const OZ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M3.71274 2.86421C3.47843 2.6299 3.09853 2.6299 2.86421 2.86421C2.6299 3.09853 2.6299 3.47843 2.86421 3.71274L7.15154 8.00007L2.86421 12.2874C2.6299 12.5217 2.6299 12.9016 2.86421 13.1359C3.09853 13.3702 3.47843 13.3702 3.71274 13.1359L8.00007 8.84859L12.2874 13.1359C12.5217 13.3702 12.9016 13.3702 13.1359 13.1359C13.3702 12.9016 13.3702 12.5217 13.1359 12.2874L8.84859 8.00007L13.1359 3.71274C13.3702 3.47843 13.3702 3.09853 13.1359 2.86421C12.9016 2.6299 12.5217 2.6299 12.2874 2.86421L8.00007 7.15154L3.71274 2.86421Z"}}]},LZ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"close-icon",ref:t,icon:OZ}))});LZ.displayName="CloseIcon";const kZ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M0.811013 7.27739C0.533711 7.51821 0.50413 7.93822 0.744942 8.21552C0.985753 8.49283 1.40577 8.52241 1.68307 8.28159L1.89249 8.09973V13.0201C1.89249 13.9397 2.63793 14.6851 3.55749 14.6851H5.32136C6.24091 14.6851 6.98636 13.9397 6.98636 13.0201V9.84218C6.98636 9.65717 7.13634 9.50718 7.32136 9.50718H8.67823C8.86325 9.50718 9.01323 9.65716 9.01323 9.84218V13.0201C9.01323 13.9397 9.75868 14.6851 10.6782 14.6851H12.4421C13.3617 14.6851 14.1071 13.9397 14.1071 13.0201V8.09963L14.3165 8.28148C14.5938 8.52229 15.0138 8.49271 15.2546 8.21541C15.4954 7.93811 15.4659 7.51809 15.1886 7.27728L8.567 1.52707C8.24167 1.24456 7.75801 1.24455 7.43267 1.52708L0.811013 7.27739ZM12.7771 6.94465L7.99984 2.79605L3.22249 6.94475V13.0201C3.22249 13.2051 3.37247 13.3551 3.55749 13.3551H5.32136C5.50637 13.3551 5.65636 13.2051 5.65636 13.0201V9.84218C5.65636 8.92263 6.4018 8.17718 7.32136 8.17718H8.67823C9.59779 8.17718 10.3432 8.92263 10.3432 9.84218V13.0201C10.3432 13.2051 10.4932 13.3551 10.6782 13.3551H12.4421C12.6271 13.3551 12.7771 13.2051 12.7771 13.0201V6.94465Z",fillRule:"evenodd",clipRule:"evenodd"}}]},PZ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"home-icon",ref:t,icon:kZ}))});PZ.displayName="HomeIcon";const DZ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.9999 1.3667C1.66853 1.3667 1.3999 1.63533 1.3999 1.9667C1.3999 2.29807 1.66853 2.5667 1.9999 2.5667H13.9999C14.3313 2.5667 14.5999 2.29807 14.5999 1.9667C14.5999 1.63533 14.3313 1.3667 13.9999 1.3667H1.9999Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.9999 13.4334C1.66853 13.4334 1.3999 13.7021 1.3999 14.0334C1.3999 14.3648 1.66853 14.6334 1.9999 14.6334H13.9999C14.3313 14.6334 14.5999 14.3648 14.5999 14.0334C14.5999 13.7021 14.3313 13.4334 13.9999 13.4334H1.9999Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M9.49336 10.4244C9.25905 10.19 9.25905 9.81015 9.49336 9.57583L10.4691 8.6001L4.08291 8.6001C3.75154 8.6001 3.48291 8.33147 3.48291 8.0001C3.48291 7.66873 3.75154 7.4001 4.08291 7.4001L10.4691 7.4001L9.49336 6.42436C9.25905 6.19005 9.25905 5.81015 9.49336 5.57583C9.72767 5.34152 10.1076 5.34152 10.3419 5.57583L12.3419 7.57583C12.5762 7.81015 12.5762 8.19005 12.3419 8.42436L10.3419 10.4244C10.1076 10.6587 9.72767 10.6587 9.49336 10.4244Z"}}]},UZ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"insert-icon",ref:t,icon:DZ}))});UZ.displayName="InsertIcon";const BZ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8 0.866961C5.018 0.866961 2 1.78296 2 3.53363V12.3675C2 14.1182 5.018 15.0342 8 15.0342C10.982 15.0342 14 14.1182 14 12.3675V3.53363C14 1.78296 10.982 0.866961 8 0.866961ZM12.6667 12.3675C12.6667 12.7542 11.0313 13.7008 8 13.7008C4.96867 13.7008 3.33333 12.7542 3.33333 12.3675V9.86434C4.49067 10.4797 6.24933 10.7977 8 10.7977C9.75067 10.7977 11.5093 10.4797 12.6667 9.86434V12.3675ZM12.6667 8.131C12.6667 8.51767 11.0313 9.46434 8 9.46434C4.96867 9.46434 3.33333 8.51767 3.33333 8.131L3.33333 5.26696C4.49067 5.88229 6.24933 6.20029 8 6.20029C9.75067 6.20029 11.5093 5.88229 12.6667 5.26696V8.131ZM8 4.86696C4.96867 4.86696 3.33333 3.92029 3.33333 3.53363C3.33333 3.14696 4.96867 2.20029 8 2.20029C11.0313 2.20029 12.6667 3.14696 12.6667 3.53363C12.6667 3.92029 11.0313 4.86696 8 4.86696Z"}}]},VZ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"database-icon",ref:t,icon:BZ}))});VZ.displayName="DatabaseIcon";const FZ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M7.46613 5.2614C7.99641 5.15377 8.54607 5.209 9.04566 5.42016C9.54527 5.63133 9.9725 5.98902 10.2732 6.44821C10.5739 6.90741 10.7345 7.44742 10.7345 7.99994C10.7345 8.74088 10.446 9.45122 9.93293 9.97475C9.41991 10.4982 8.72439 10.7921 7.99945 10.7921C7.45882 10.7921 6.93021 10.6285 6.48047 10.3219C6.03072 10.0152 5.67998 9.57922 5.47282 9.06887C5.26565 8.55852 5.21142 7.99686 5.31705 7.45498C5.42268 6.9131 5.68338 6.41554 6.06598 6.02513C6.44856 5.63474 6.93584 5.36903 7.46613 5.2614ZM7.99945 6.50637C7.70941 6.50637 7.42599 6.59414 7.18504 6.75842C6.94411 6.92269 6.75652 7.15604 6.64579 7.4288C6.53508 7.70156 6.50613 8.00161 6.56255 8.29108C6.61898 8.58055 6.7583 8.84663 6.96308 9.05559C7.16788 9.26456 7.42896 9.40703 7.7134 9.46476C7.99784 9.5225 8.29266 9.49286 8.56052 9.37964C8.82836 9.26643 9.05707 9.07481 9.21789 8.82922C9.3787 8.58364 9.46445 8.29505 9.46445 7.99994C9.46445 7.60424 9.31042 7.22449 9.03583 6.94429C8.76119 6.66405 8.38842 6.50637 7.99945 6.50637Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.06445 7.99994C1.06445 7.86432 1.111 7.68433 1.20506 7.46997C1.29865 7.25669 1.43723 7.01393 1.61634 6.75416C1.97451 6.23466 2.49209 5.65088 3.12753 5.10347C4.3995 4.00771 6.13495 3.06494 7.99945 3.06494C9.86395 3.06494 11.5994 4.00771 12.8714 5.10347C13.5068 5.65088 14.0244 6.23466 14.3826 6.75416C14.5617 7.01393 14.7003 7.25669 14.7938 7.46997C14.8879 7.68433 14.9345 7.86432 14.9345 7.99994C14.9345 8.29406 14.7859 8.75016 14.4847 9.27371C14.1847 9.79497 13.7374 10.3759 13.1495 10.9188C11.974 12.0042 10.2392 12.9349 7.99945 12.9349C5.75972 12.9349 4.02489 12.0042 2.84937 10.9188C2.26147 10.3759 1.81418 9.79497 1.51423 9.27371C1.21296 8.75016 1.06445 8.29406 1.06445 7.99994ZM7.99945 4.36351C6.48933 4.36351 5.14092 5.09788 4.14125 5.91406C3.64087 6.32258 3.22616 6.75295 2.92026 7.12521C2.61595 7.49554 2.415 7.81359 2.34753 7.99756L2.33827 8.0228L2.34954 8.0472C2.85275 9.13669 3.65354 10.055 4.65594 10.6918C5.65805 11.3283 6.81899 11.6563 7.99945 11.6364C9.17991 11.6563 10.3409 11.3283 11.343 10.6918C12.3454 10.055 13.1462 9.13669 13.6494 8.0472L13.6606 8.0228L13.6514 7.99756C13.5839 7.81359 13.383 7.49554 13.0786 7.12521C12.7727 6.75295 12.358 6.32258 11.8577 5.91406C10.858 5.09788 9.50957 4.36351 7.99945 4.36351Z",fillRule:"evenodd",clipRule:"evenodd"}}]},jZ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"eye-icon",ref:t,icon:FZ}))});jZ.displayName="EyeIcon";const HZ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8 3.30078C8.55228 3.30078 9 2.85307 9 2.30078C9 1.7485 8.55228 1.30078 8 1.30078C7.44772 1.30078 7 1.7485 7 2.30078C7 2.85307 7.44772 3.30078 8 3.30078Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M8 9.00012C8.55228 9.00012 9 8.55241 9 8.00012C9 7.44784 8.55228 7.00012 8 7.00012C7.44772 7.00012 7 7.44784 7 8.00012C7 8.55241 7.44772 9.00012 8 9.00012Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M9 13.6995C9 14.2517 8.55228 14.6995 8 14.6995C7.44772 14.6995 7 14.2517 7 13.6995C7 13.1472 7.44772 12.6995 8 12.6995C8.55228 12.6995 9 13.1472 9 13.6995Z"}}]},WZ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"more-function-icon",ref:t,icon:HZ}))});WZ.displayName="MoreFunctionIcon";const zZ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M14.1544 3.75557C14.3887 3.98988 14.3887 4.36978 14.1544 4.6041L6.51409 12.2444C6.40157 12.3569 6.24896 12.4201 6.08983 12.4201C5.9307 12.4201 5.77808 12.3569 5.66556 12.2444L1.84541 8.42425C1.6111 8.18993 1.6111 7.81003 1.84541 7.57572C2.07973 7.34141 2.45963 7.34141 2.69394 7.57572L6.08983 10.9716L13.3059 3.75557C13.5402 3.52126 13.9201 3.52126 14.1544 3.75557Z",fillRule:"evenodd",clipRule:"evenodd"}}]},XZ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"check-mark-icon",ref:t,icon:zZ}))});XZ.displayName="CheckMarkIcon";const qZ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M5.90913 3.57564C6.14345 3.34132 6.52335 3.34132 6.75766 3.57564L10.7577 7.57564C10.992 7.80995 10.992 8.18985 10.7577 8.42417L6.75766 12.4242C6.52335 12.6585 6.14345 12.6585 5.90913 12.4242C5.67482 12.1899 5.67482 11.81 5.90913 11.5756L9.48487 7.9999L5.90913 4.42417C5.67482 4.18985 5.67482 3.80995 5.90913 3.57564Z",fillRule:"evenodd",clipRule:"evenodd"}}]},GZ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"more-icon",ref:t,icon:qZ}))});GZ.displayName="MoreIcon";const YZ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M10.3536 12.3536C10.1583 12.5488 9.84171 12.5488 9.64645 12.3536L6.64645 9.35355C6.45118 9.15829 6.45118 8.84171 6.64645 8.64645L9.64645 5.64645C9.84171 5.45118 10.1583 5.45118 10.3536 5.64645C10.5488 5.84171 10.5488 6.15829 10.3536 6.35355L7.70711 9L10.3536 11.6464C10.5488 11.8417 10.5488 12.1583 10.3536 12.3536Z",fillRule:"evenodd",clipRule:"evenodd"}}]},QZ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"more-left-icon",ref:t,icon:YZ}))});QZ.displayName="MoreLeftIcon";const ZZ={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M6.14645 4.64645C6.34171 4.45118 6.65829 4.45118 6.85355 4.64645L9.85355 7.64645C10.0488 7.84171 10.0488 8.15829 9.85355 8.35355L6.85355 11.3536C6.65829 11.5488 6.34171 11.5488 6.14645 11.3536C5.95118 11.1583 5.95118 10.8417 6.14645 10.6464L8.79289 8L6.14645 5.35355C5.95118 5.15829 5.95118 4.84171 6.14645 4.64645Z",fillRule:"evenodd",clipRule:"evenodd"}}]},KZ=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"more-right-icon",ref:t,icon:ZZ}))});KZ.displayName="MoreRightIcon";var $Z=o(4848);const JZ=(0,_q.createContext)({injector:null});JZ.displayName="RediContext";const eK=JZ.Provider;function tK(e,t){return function(r){return(0,$Z.jsx)(eK,{value:{injector:t},children:(0,$Z.jsx)(e,{...r})})}}JZ.Consumer;var rK=class extends I{constructor(){super("Using dependency injection outside of a RediContext.")}};function nK(){const e=(0,_q.useContext)(JZ);if(!e.injector)throw new rK;return e.injector}function iK(e,t,r){const n=nK();return(0,_q.useMemo)(()=>n.get(e,t,r),[e,t,r])}function aK(e,t,r,n){if("function"==typeof e&&!n)throw new I("Expected deps to be provided when observable is a function!");const i=(0,_q.useMemo)(()=>e,[...void 0!==n?n:[e]]),a=(0,_q.useRef)(void 0),o=(0,_q.useRef)(null),s=(0,_q.useRef)(!1),[l,u]=(0,_q.useState)(0),c=(0,_q.useRef)(t??void 0);if(a.current!==i&&(o.current&&(o.current.unsubscribe(),o.current=null),a.current=i,i&&(o.current=function(e){return"function"==typeof e?e():e}(i).subscribe(e=>{c.current=e,!1===s.current?s.current=!0:u(e=>(e+1)%Number.MAX_SAFE_INTEGER)}))),r&&!s.current)throw new Error("[redi]: Expect `shouldHaveSyncValue` but not getting a sync value!");return s.current=!0,c.current}const oK="REDI_CONTEXT_LOCK",sK="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,lK="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof window&&window||void 0!==o.g&&o.g;lK[oK]?sK||console.error('[redi]: "RediContext" is already created. You may import "RediContext" from different paths. Use "import { RediContext } from \'@wendellhu/redi/react-bindings\'; instead."'):lK[oK]=!0;const uK={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8.24483 4.80026C8.24487 4.46889 7.97627 4.20023 7.6449 4.2002C7.31353 4.20016 7.04487 4.46876 7.04483 4.80013L7.04443 8.40306C7.04442 8.56222 7.10763 8.71486 7.22017 8.82739L9.64664 11.2539C9.88095 11.4882 10.2608 11.4882 10.4952 11.2539C10.7295 11.0195 10.7295 10.6396 10.4952 10.4053L8.24446 8.15463L8.24483 4.80026Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M8.14248 0.899902C4.22126 0.899902 1.04248 4.07868 1.04248 7.9999C1.04248 11.9211 4.22126 15.0999 8.14248 15.0999C12.0637 15.0999 15.2425 11.9211 15.2425 7.9999C15.2425 4.07868 12.0637 0.899902 8.14248 0.899902ZM2.24248 7.9999C2.24248 4.74142 4.884 2.0999 8.14248 2.0999C11.401 2.0999 14.0425 4.74142 14.0425 7.9999C14.0425 11.2584 11.401 13.8999 8.14248 13.8999C4.884 13.8999 2.24248 11.2584 2.24248 7.9999Z",fillRule:"evenodd",clipRule:"evenodd"}}]},cK=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"clock-icon",ref:t,icon:uK}))});cK.displayName="ClockIcon";const dK={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M4.64645 9.85355C4.45118 9.65829 4.45118 9.34171 4.64645 9.14645L7.64645 6.14645C7.84171 5.95118 8.15829 5.95118 8.35355 6.14645L11.3536 9.14645C11.5488 9.34171 11.5488 9.65829 11.3536 9.85355C11.1583 10.0488 10.8417 10.0488 10.6464 9.85355L8 7.20711L5.35355 9.85355C5.15829 10.0488 4.84171 10.0488 4.64645 9.85355Z",fillRule:"evenodd",clipRule:"evenodd"}}]},hK=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"more-up-icon",ref:t,icon:dK}))});hK.displayName="MoreUpIcon";const mK={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8.04883 5.38216C8.04883 5.01397 7.75035 4.71549 7.38216 4.71549C7.01397 4.71549 6.71549 5.01397 6.71549 5.38216V6.71897L5.3865 6.7207C5.01831 6.72117 4.72022 7.02004 4.7207 7.38823C4.72118 7.75642 5.02005 8.05451 5.38824 8.05403L6.71549 8.0523V9.38216C6.71549 9.75035 7.01397 10.0488 7.38216 10.0488C7.75035 10.0488 8.04883 9.75035 8.04883 9.38216V8.05056L9.38304 8.04883C9.75123 8.04835 10.0493 7.74948 10.0488 7.38129C10.0484 7.0131 9.74949 6.71502 9.3813 6.7155L8.04883 6.71723V5.38216Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M7.38216 1.04883C3.88437 1.04883 1.04883 3.88437 1.04883 7.38216C1.04883 10.88 3.88437 13.7155 7.38216 13.7155C8.89089 13.7155 10.2764 13.1879 11.3643 12.3072L13.813 14.7559C14.0733 15.0162 14.4954 15.0162 14.7558 14.7559C15.0161 14.4955 15.0161 14.0734 14.7558 13.8131L12.3071 11.3644C13.1879 10.2765 13.7155 8.89095 13.7155 7.38216C13.7155 3.88437 10.88 1.04883 7.38216 1.04883ZM2.38216 7.38216C2.38216 4.62075 4.62075 2.38216 7.38216 2.38216C10.1436 2.38216 12.3822 4.62075 12.3822 7.38216C12.3822 10.1436 10.1436 12.3822 7.38216 12.3822C4.62075 12.3822 2.38216 10.1436 2.38216 7.38216Z",fillRule:"evenodd",clipRule:"evenodd"}}]},fK=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"zoom-in-icon",ref:t,icon:mK}))});fK.displayName="ZoomInIcon";const gK={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M4.71549 7.38216C4.71549 7.01397 5.01397 6.71549 5.38216 6.71549H9.38216C9.75035 6.71549 10.0488 7.01397 10.0488 7.38216C10.0488 7.75035 9.75035 8.04883 9.38216 8.04883H5.38216C5.01397 8.04883 4.71549 7.75035 4.71549 7.38216Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.04883 7.38216C1.04883 3.88437 3.88437 1.04883 7.38216 1.04883C10.88 1.04883 13.7155 3.88437 13.7155 7.38216C13.7155 8.89095 13.1879 10.2765 12.3071 11.3644L14.7558 13.8131C15.0161 14.0734 15.0161 14.4955 14.7558 14.7559C14.4954 15.0162 14.0733 15.0162 13.813 14.7559L11.3643 12.3072C10.2764 13.1879 8.89089 13.7155 7.38216 13.7155C3.88437 13.7155 1.04883 10.88 1.04883 7.38216ZM7.38216 2.38216C4.62075 2.38216 2.38216 4.62075 2.38216 7.38216C2.38216 10.1436 4.62075 12.3822 7.38216 12.3822C10.1436 12.3822 12.3822 10.1436 12.3822 7.38216C12.3822 4.62075 10.1436 2.38216 7.38216 2.38216Z",fillRule:"evenodd",clipRule:"evenodd"}}]},pK=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"zoom-out-icon",ref:t,icon:gK}))});pK.displayName="ZoomOutIcon";const vK={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M5.65252 5.41446C5.86681 5.53124 6.00016 5.75579 6.00016 5.99984V9.99984C6.00016 10.368 5.70168 10.6665 5.3335 10.6665C4.96531 10.6665 4.66683 10.368 4.66683 9.99984V7.22312L4.36151 7.42005C4.05209 7.61961 3.63948 7.53056 3.43992 7.22115C3.24035 6.91173 3.3294 6.49912 3.63882 6.29956L4.97215 5.43959C5.17724 5.30731 5.43822 5.29767 5.65252 5.41446Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M12.3335 5.99984C12.3335 5.75579 12.2001 5.53124 11.9858 5.41446C11.7716 5.29767 11.5106 5.30731 11.3055 5.43959L9.97215 6.29956C9.66274 6.49912 9.57368 6.91173 9.77325 7.22115C9.97281 7.53056 10.3854 7.61961 10.6948 7.42005L11.0002 7.22312V9.99984C11.0002 10.368 11.2986 10.6665 11.6668 10.6665C12.035 10.6665 12.3335 10.368 12.3335 9.99984V5.99984Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M8.00008 5.99984C8.36827 5.99984 8.66675 6.29831 8.66675 6.6665V6.99984C8.66675 7.36803 8.36827 7.6665 8.00008 7.6665C7.63189 7.6665 7.33341 7.36803 7.33341 6.99984V6.6665C7.33341 6.29831 7.63189 5.99984 8.00008 5.99984Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M8.66675 8.99984C8.66675 8.63165 8.36827 8.33317 8.00008 8.33317C7.63189 8.33317 7.33341 8.63165 7.33341 8.99984V9.33317C7.33341 9.70136 7.63189 9.99984 8.00008 9.99984C8.36827 9.99984 8.66675 9.70136 8.66675 9.33317V8.99984Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M0.666748 2.99984C0.666748 2.26346 1.2637 1.6665 2.00008 1.6665H14.0001C14.7365 1.6665 15.3334 2.26346 15.3334 2.99984V12.9998C15.3334 13.7362 14.7365 14.3332 14.0001 14.3332H2.00008C1.26371 14.3332 0.666748 13.7362 0.666748 12.9998V2.99984ZM14.0001 2.99984H2.00008V12.9998H14.0001V2.99984Z",fillRule:"evenodd",clipRule:"evenodd"}}]},bK=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"one-to-one-icon",ref:t,icon:vK}))});bK.displayName="OneToOneIcon";const CK={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"#0B9EFB",d:"M8.79993 14.0166C8.79993 14.4585 8.44176 14.8166 7.99993 14.8166C4.23529 14.8166 1.18345 11.7648 1.18345 8.00017C1.18345 4.23554 4.23529 1.18369 7.99993 1.1837C11.7646 1.1837 14.8164 4.23554 14.8164 8.00017C14.8164 8.442 14.4582 8.80017 14.0164 8.80017C13.5746 8.80017 13.2164 8.442 13.2164 8.00017C13.2164 5.11919 10.8809 2.7837 7.99993 2.7837C5.11895 2.7837 2.78345 5.11919 2.78345 8.00017C2.78345 10.8812 5.11895 13.2166 7.99993 13.2166C8.44176 13.2166 8.79993 13.5748 8.79993 14.0166Z",fillOpacity:.2,fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"#0B9EFB",d:"M7.20007 1.98384C7.20007 1.54201 7.55824 1.18384 8.00007 1.18384C11.7647 1.18384 14.8165 4.23568 14.8165 8.00032C14.8165 11.765 11.7647 14.8168 8.00007 14.8168C4.23543 14.8168 1.18359 11.765 1.18359 8.00032C1.18359 7.55849 1.54177 7.20031 1.98359 7.20031C2.42542 7.20031 2.78359 7.55849 2.78359 8.00032C2.78359 10.8813 5.11909 13.2168 8.00007 13.2168C10.8811 13.2168 13.2165 10.8813 13.2165 8.00032C13.2165 5.11933 10.8811 2.78384 8.00007 2.78384C7.55824 2.78384 7.20007 2.42567 7.20007 1.98384Z",fillRule:"evenodd",clipRule:"evenodd"}}]},yK=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"loading-multi-icon",ref:t,icon:CK}))});yK.displayName="LoadingMultiIcon";const _K={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8 15C11.866 15 15 11.866 15 8C15 4.13401 11.866 1 8 1C4.13401 1 1 4.13401 1 8C1 11.866 4.13401 15 8 15ZM11.7245 6.42417C11.9588 6.18985 11.9588 5.80995 11.7245 5.57564C11.4901 5.34132 11.1102 5.34132 10.8759 5.57564L7.3002 9.15137L5.72446 7.57564C5.49014 7.34132 5.11025 7.34132 4.87593 7.57564C4.64162 7.80995 4.64162 8.18985 4.87593 8.42417L6.87593 10.4242C7.11025 10.6585 7.49014 10.6585 7.72446 10.4242L11.7245 6.42417Z",fillRule:"evenodd",clipRule:"evenodd"}}]},wK=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"success-icon",ref:t,icon:_K}))});wK.displayName="SuccessIcon";const EK={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M15 8C15 11.866 11.866 15 8 15C4.13401 15 1 11.866 1 8C1 4.13401 4.13401 1 8 1C11.866 1 15 4.13401 15 8ZM8.00008 12.3671C8.46031 12.3671 8.83342 11.994 8.83342 11.5338C8.83342 11.0735 8.46031 10.7004 8.00008 10.7004C7.53985 10.7004 7.16675 11.0735 7.16675 11.5338C7.16675 11.994 7.53985 12.3671 8.00008 12.3671ZM8.5999 4.4335C8.5999 4.10213 8.33127 3.8335 7.9999 3.8335C7.66853 3.8335 7.3999 4.10213 7.3999 4.4335V9.36683C7.3999 9.6982 7.66853 9.96683 7.9999 9.96683C8.33127 9.96683 8.5999 9.6982 8.5999 9.36683V4.4335Z",fillRule:"evenodd",clipRule:"evenodd"}}]},SK=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"warning-icon",ref:t,icon:EK}))});SK.displayName="WarningIcon";const AK={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M15 8C15 11.866 11.866 15 8 15C4.13401 15 1 11.866 1 8C1 4.13401 4.13401 1 8 1C11.866 1 15 4.13401 15 8ZM10.3097 5.69014C10.544 5.92445 10.544 6.30435 10.3097 6.53867L8.84843 7.9999L10.3099 9.46137C10.5442 9.69569 10.5442 10.0756 10.3099 10.3099C10.0756 10.5442 9.69569 10.5442 9.46137 10.3099L7.9999 8.84843L6.53842 10.3099C6.30411 10.5442 5.92421 10.5442 5.6899 10.3099C5.45558 10.0756 5.45558 9.69569 5.6899 9.46137L7.15137 7.9999L5.69014 6.53867C5.45583 6.30435 5.45583 5.92445 5.69014 5.69014C5.92445 5.45583 6.30435 5.45583 6.53867 5.69014L7.9999 7.15137L9.46113 5.69014C9.69544 5.45583 10.0753 5.45583 10.3097 5.69014Z",fillRule:"evenodd",clipRule:"evenodd"}}]},IK=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"error-icon",ref:t,icon:AK}))});IK.displayName="ErrorIcon";const RK={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8.85869 12.9216C8.38445 13.4708 7.61555 13.4708 7.14131 12.9216L0.358114 5.06726C-0.406895 4.18144 0.134916 2.66683 1.2168 2.66683L14.7832 2.66683C15.8651 2.66683 16.4069 4.18144 15.6419 5.06726L8.85869 12.9216Z"}}]},xK=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"dropdown-icon",ref:t,icon:RK}))});function TK(e){var t,r,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e)){var i=e.length;for(t=0;t{const t=PK(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:n}=e;return{getClassGroupId:e=>{const r=e.split("-");return""===r[0]&&1!==r.length&&r.shift(),OK(r,t)||kK(e)},getConflictingClassGroupIds:(e,t)=>{const i=r[e]||[];return t&&n[e]?[...i,...n[e]]:i}}},OK=(e,t)=>{if(0===e.length)return t.classGroupId;const r=e[0],n=t.nextPart.get(r),i=n?OK(e.slice(1),n):void 0;if(i)return i;if(0===t.validators.length)return;const a=e.join("-");return t.validators.find(({validator:e})=>e(a))?.classGroupId},LK=/^\[(.+)\]$/,kK=e=>{if(LK.test(e)){const t=LK.exec(e)[1],r=t?.substring(0,t.indexOf(":"));if(r)return"arbitrary.."+r}},PK=e=>{const{theme:t,prefix:r}=e,n={nextPart:new Map,validators:[]};return VK(Object.entries(e.classGroups),r).forEach(([e,r])=>{DK(r,n,e,t)}),n},DK=(e,t,r,n)=>{e.forEach(e=>{if("string"!=typeof e)return"function"==typeof e?BK(e)?void DK(e(n),t,r,n):void t.validators.push({validator:e,classGroupId:r}):void Object.entries(e).forEach(([e,i])=>{DK(i,UK(t,e),r,n)});(""===e?t:UK(t,e)).classGroupId=r})},UK=(e,t)=>{let r=e;return t.split("-").forEach(e=>{r.nextPart.has(e)||r.nextPart.set(e,{nextPart:new Map,validators:[]}),r=r.nextPart.get(e)}),r},BK=e=>e.isThemeGetter,VK=(e,t)=>t?e.map(([e,r])=>[e,r.map(e=>"string"==typeof e?t+e:"object"==typeof e?Object.fromEntries(Object.entries(e).map(([e,r])=>[t+e,r])):e)]):e,FK=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,r=new Map,n=new Map;const i=(i,a)=>{r.set(i,a),t++,t>e&&(t=0,n=r,r=new Map)};return{get(e){let t=r.get(e);return void 0!==t?t:void 0!==(t=n.get(e))?(i(e,t),t):void 0},set(e,t){r.has(e)?r.set(e,t):i(e,t)}}},jK=e=>{const{separator:t,experimentalParseClassName:r}=e,n=1===t.length,i=t[0],a=t.length,o=e=>{const r=[];let o,s=0,l=0;for(let u=0;ul?o-l:void 0}};return r?e=>r({className:e,parseClassName:o}):o},HK=e=>{if(e.length<=1)return e;const t=[];let r=[];return e.forEach(e=>{"["===e[0]?(t.push(...r.sort(),e),r=[]):r.push(e)}),t.push(...r.sort()),t},WK=/\s+/;function zK(){let e,t,r=0,n="";for(;r{if("string"==typeof e)return e;let t,r="";for(let n=0;nt(e),e());return r=(e=>({cache:FK(e.cacheSize),parseClassName:jK(e),...MK(e)}))(l),n=r.cache.get,i=r.cache.set,a=o,o(s)};function o(e){const t=n(e);if(t)return t;const a=((e,t)=>{const{parseClassName:r,getClassGroupId:n,getConflictingClassGroupIds:i}=t,a=[],o=e.trim().split(WK);let s="";for(let e=o.length-1;e>=0;e-=1){const t=o[e],{modifiers:l,hasImportantModifier:u,baseClassName:c,maybePostfixModifierPosition:d}=r(t);let h=Boolean(d),m=n(h?c.substring(0,d):c);if(!m){if(!h){s=t+(s.length>0?" "+s:s);continue}if(m=n(c),!m){s=t+(s.length>0?" "+s:s);continue}h=!1}const f=HK(l).join(":"),g=u?f+"!":f,p=g+m;if(a.includes(p))continue;a.push(p);const v=i(m,h);for(let e=0;e0?" "+s:s)}return s})(e,r);return i(e,a),a}return function(){return a(zK.apply(null,arguments))}}const GK=e=>{const t=t=>t[e]||[];return t.isThemeGetter=!0,t},YK=/^\[(?:([a-z-]+):)?(.+)\]$/i,QK=/^\d+\/\d+$/,ZK=new Set(["px","full","screen"]),KK=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,$K=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,JK=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,e$=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,t$=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,r$=e=>i$(e)||ZK.has(e)||QK.test(e),n$=e=>v$(e,"length",b$),i$=e=>Boolean(e)&&!Number.isNaN(Number(e)),a$=e=>v$(e,"number",i$),o$=e=>Boolean(e)&&Number.isInteger(Number(e)),s$=e=>e.endsWith("%")&&i$(e.slice(0,-1)),l$=e=>YK.test(e),u$=e=>KK.test(e),c$=new Set(["length","size","percentage"]),d$=e=>v$(e,c$,C$),h$=e=>v$(e,"position",C$),m$=new Set(["image","url"]),f$=e=>v$(e,m$,_$),g$=e=>v$(e,"",y$),p$=()=>!0,v$=(e,t,r)=>{const n=YK.exec(e);return!!n&&(n[1]?"string"==typeof t?n[1]===t:t.has(n[1]):r(n[2]))},b$=e=>$K.test(e)&&!JK.test(e),C$=()=>!1,y$=e=>e$.test(e),_$=e=>t$.test(e),w$=qK((Symbol.toStringTag,()=>{const e=GK("colors"),t=GK("spacing"),r=GK("blur"),n=GK("brightness"),i=GK("borderColor"),a=GK("borderRadius"),o=GK("borderSpacing"),s=GK("borderWidth"),l=GK("contrast"),u=GK("grayscale"),c=GK("hueRotate"),d=GK("invert"),h=GK("gap"),m=GK("gradientColorStops"),f=GK("gradientColorStopPositions"),g=GK("inset"),p=GK("margin"),v=GK("opacity"),b=GK("padding"),C=GK("saturate"),y=GK("scale"),_=GK("sepia"),w=GK("skew"),E=GK("space"),S=GK("translate"),A=()=>["auto",l$,t],I=()=>[l$,t],R=()=>["",r$,n$],x=()=>["auto",i$,l$],T=()=>["","0",l$],N=()=>[i$,l$];return{cacheSize:500,separator:":",theme:{colors:[p$],spacing:[r$,n$],blur:["none","",u$,l$],brightness:N(),borderColor:[e],borderRadius:["none","","full",u$,l$],borderSpacing:I(),borderWidth:R(),contrast:N(),grayscale:T(),hueRotate:N(),invert:T(),gap:I(),gradientColorStops:[e],gradientColorStopPositions:[s$,n$],inset:A(),margin:A(),opacity:N(),padding:I(),saturate:N(),scale:N(),sepia:T(),skew:N(),space:I(),translate:I()},classGroups:{aspect:[{aspect:["auto","square","video",l$]}],container:["container"],columns:[{columns:[u$]}],"break-after":[{"break-after":["auto","avoid","all","avoid-page","page","left","right","column"]}],"break-before":[{"break-before":["auto","avoid","all","avoid-page","page","left","right","column"]}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top",l$]}],overflow:[{overflow:["auto","hidden","clip","visible","scroll"]}],"overflow-x":[{"overflow-x":["auto","hidden","clip","visible","scroll"]}],"overflow-y":[{"overflow-y":["auto","hidden","clip","visible","scroll"]}],overscroll:[{overscroll:["auto","contain","none"]}],"overscroll-x":[{"overscroll-x":["auto","contain","none"]}],"overscroll-y":[{"overscroll-y":["auto","contain","none"]}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[g]}],"inset-x":[{"inset-x":[g]}],"inset-y":[{"inset-y":[g]}],start:[{start:[g]}],end:[{end:[g]}],top:[{top:[g]}],right:[{right:[g]}],bottom:[{bottom:[g]}],left:[{left:[g]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",o$,l$]}],basis:[{basis:A()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",l$]}],grow:[{grow:T()}],shrink:[{shrink:T()}],order:[{order:["first","last","none",o$,l$]}],"grid-cols":[{"grid-cols":[p$]}],"col-start-end":[{col:["auto",{span:["full",o$,l$]},l$]}],"col-start":[{"col-start":x()}],"col-end":[{"col-end":x()}],"grid-rows":[{"grid-rows":[p$]}],"row-start-end":[{row:["auto",{span:[o$,l$]},l$]}],"row-start":[{"row-start":x()}],"row-end":[{"row-end":x()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",l$]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",l$]}],gap:[{gap:[h]}],"gap-x":[{"gap-x":[h]}],"gap-y":[{"gap-y":[h]}],"justify-content":[{justify:["normal","start","end","center","between","around","evenly","stretch"]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal","start","end","center","between","around","evenly","stretch","baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":["start","end","center","between","around","evenly","stretch","baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[b]}],px:[{px:[b]}],py:[{py:[b]}],ps:[{ps:[b]}],pe:[{pe:[b]}],pt:[{pt:[b]}],pr:[{pr:[b]}],pb:[{pb:[b]}],pl:[{pl:[b]}],m:[{m:[p]}],mx:[{mx:[p]}],my:[{my:[p]}],ms:[{ms:[p]}],me:[{me:[p]}],mt:[{mt:[p]}],mr:[{mr:[p]}],mb:[{mb:[p]}],ml:[{ml:[p]}],"space-x":[{"space-x":[E]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[E]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",l$,t]}],"min-w":[{"min-w":[l$,t,"min","max","fit"]}],"max-w":[{"max-w":[l$,t,"none","full","min","max","fit","prose",{screen:[u$]},u$]}],h:[{h:[l$,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[l$,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[l$,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[l$,t,"auto","min","max","fit"]}],"font-size":[{text:["base",u$,n$]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",a$]}],"font-family":[{font:[p$]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",l$]}],"line-clamp":[{"line-clamp":["none",i$,a$]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",r$,l$]}],"list-image":[{"list-image":["none",l$]}],"list-style-type":[{list:["none","disc","decimal",l$]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[v]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[v]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:["solid","dashed","dotted","double","none","wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",r$,n$]}],"underline-offset":[{"underline-offset":["auto",r$,l$]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:I()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",l$]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",l$]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[v]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top",h$]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",d$]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},f$]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[f]}],"gradient-via-pos":[{via:[f]}],"gradient-to-pos":[{to:[f]}],"gradient-from":[{from:[m]}],"gradient-via":[{via:[m]}],"gradient-to":[{to:[m]}],rounded:[{rounded:[a]}],"rounded-s":[{"rounded-s":[a]}],"rounded-e":[{"rounded-e":[a]}],"rounded-t":[{"rounded-t":[a]}],"rounded-r":[{"rounded-r":[a]}],"rounded-b":[{"rounded-b":[a]}],"rounded-l":[{"rounded-l":[a]}],"rounded-ss":[{"rounded-ss":[a]}],"rounded-se":[{"rounded-se":[a]}],"rounded-ee":[{"rounded-ee":[a]}],"rounded-es":[{"rounded-es":[a]}],"rounded-tl":[{"rounded-tl":[a]}],"rounded-tr":[{"rounded-tr":[a]}],"rounded-br":[{"rounded-br":[a]}],"rounded-bl":[{"rounded-bl":[a]}],"border-w":[{border:[s]}],"border-w-x":[{"border-x":[s]}],"border-w-y":[{"border-y":[s]}],"border-w-s":[{"border-s":[s]}],"border-w-e":[{"border-e":[s]}],"border-w-t":[{"border-t":[s]}],"border-w-r":[{"border-r":[s]}],"border-w-b":[{"border-b":[s]}],"border-w-l":[{"border-l":[s]}],"border-opacity":[{"border-opacity":[v]}],"border-style":[{border:["solid","dashed","dotted","double","none","hidden"]}],"divide-x":[{"divide-x":[s]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[s]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[v]}],"divide-style":[{divide:["solid","dashed","dotted","double","none"]}],"border-color":[{border:[i]}],"border-color-x":[{"border-x":[i]}],"border-color-y":[{"border-y":[i]}],"border-color-s":[{"border-s":[i]}],"border-color-e":[{"border-e":[i]}],"border-color-t":[{"border-t":[i]}],"border-color-r":[{"border-r":[i]}],"border-color-b":[{"border-b":[i]}],"border-color-l":[{"border-l":[i]}],"divide-color":[{divide:[i]}],"outline-style":[{outline:["","solid","dashed","dotted","double","none"]}],"outline-offset":[{"outline-offset":[r$,l$]}],"outline-w":[{outline:[r$,n$]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:R()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[v]}],"ring-offset-w":[{"ring-offset":[r$,n$]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",u$,g$]}],"shadow-color":[{shadow:[p$]}],opacity:[{opacity:[v]}],"mix-blend":[{"mix-blend":["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity","plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"]}],filter:[{filter:["","none"]}],blur:[{blur:[r]}],brightness:[{brightness:[n]}],contrast:[{contrast:[l]}],"drop-shadow":[{"drop-shadow":["","none",u$,l$]}],grayscale:[{grayscale:[u]}],"hue-rotate":[{"hue-rotate":[c]}],invert:[{invert:[d]}],saturate:[{saturate:[C]}],sepia:[{sepia:[_]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[r]}],"backdrop-brightness":[{"backdrop-brightness":[n]}],"backdrop-contrast":[{"backdrop-contrast":[l]}],"backdrop-grayscale":[{"backdrop-grayscale":[u]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[c]}],"backdrop-invert":[{"backdrop-invert":[d]}],"backdrop-opacity":[{"backdrop-opacity":[v]}],"backdrop-saturate":[{"backdrop-saturate":[C]}],"backdrop-sepia":[{"backdrop-sepia":[_]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[o]}],"border-spacing-x":[{"border-spacing-x":[o]}],"border-spacing-y":[{"border-spacing-y":[o]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",l$]}],duration:[{duration:N()}],ease:[{ease:["linear","in","out","in-out",l$]}],delay:[{delay:N()}],animate:[{animate:["none","spin","ping","pulse","bounce",l$]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[y]}],"scale-x":[{"scale-x":[y]}],"scale-y":[{"scale-y":[y]}],rotate:[{rotate:[o$,l$]}],"translate-x":[{"translate-x":[S]}],"translate-y":[{"translate-y":[S]}],"skew-x":[{"skew-x":[w]}],"skew-y":[{"skew-y":[w]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",l$]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",l$]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":I()}],"scroll-mx":[{"scroll-mx":I()}],"scroll-my":[{"scroll-my":I()}],"scroll-ms":[{"scroll-ms":I()}],"scroll-me":[{"scroll-me":I()}],"scroll-mt":[{"scroll-mt":I()}],"scroll-mr":[{"scroll-mr":I()}],"scroll-mb":[{"scroll-mb":I()}],"scroll-ml":[{"scroll-ml":I()}],"scroll-p":[{"scroll-p":I()}],"scroll-px":[{"scroll-px":I()}],"scroll-py":[{"scroll-py":I()}],"scroll-ps":[{"scroll-ps":I()}],"scroll-pe":[{"scroll-pe":I()}],"scroll-pt":[{"scroll-pt":I()}],"scroll-pr":[{"scroll-pr":I()}],"scroll-pb":[{"scroll-pb":I()}],"scroll-pl":[{"scroll-pl":I()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",l$]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[r$,n$,a$]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}})),E$=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,S$=NK,A$=(e,t)=>r=>{var n;if(null==(null==t?void 0:t.variants))return S$(e,null==r?void 0:r.class,null==r?void 0:r.className);const{variants:i,defaultVariants:a}=t,o=Object.keys(i).map(e=>{const t=null==r?void 0:r[e],n=null==a?void 0:a[e];if(null===t)return null;const o=E$(t)||E$(n);return i[e][o]}),s=r&&Object.entries(r).reduce((e,t)=>{let[r,n]=t;return void 0===n||(e[r]=n),e},{}),l=null==t||null===(n=t.compoundVariants)||void 0===n?void 0:n.reduce((e,t)=>{let{class:r,className:n,...i}=t;return Object.entries(i).every(e=>{let[t,r]=e;return Array.isArray(r)?r.includes({...a,...s}[t]):{...a,...s}[t]===r})?[...e,r,n]:e},[]);return S$(e,o,l,null==r?void 0:r.class,null==r?void 0:r.className)};function I$(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function R$(...e){return t=>{let r=!1;const n=e.map(e=>{const n=I$(e,t);return r||"function"!=typeof n||(r=!0),n});if(r)return()=>{for(let t=0;t{let{children:n,...i}=e;M$(n)&&"function"==typeof N$&&(n=N$(n._payload));const a=_q.Children.toArray(n),o=a.find(D$);if(o){const e=o.props.children,n=a.map(t=>t===o?_q.Children.count(e)>1?_q.Children.only(null):_q.isValidElement(e)?e.props.children:null:t);return(0,$Z.jsx)(t,{...i,ref:r,children:_q.isValidElement(e)?_q.cloneElement(e,void 0,n):null})}return(0,$Z.jsx)(t,{...i,ref:r,children:n})});return r.displayName=`${e}.Slot`,r}var L$=O$("Slot");function k$(e){const t=_q.forwardRef((e,t)=>{let{children:r,...n}=e;if(M$(r)&&"function"==typeof N$&&(r=N$(r._payload)),_q.isValidElement(r)){const e=function(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}(r),i=function(e,t){const r={...t};for(const n in t){const i=e[n],a=t[n];/^on[A-Z]/.test(n)?i&&a?r[n]=(...e)=>{const t=a(...e);return i(...e),t}:i&&(r[n]=i):"style"===n?r[n]={...i,...a}:"className"===n&&(r[n]=[i,a].filter(Boolean).join(" "))}return{...e,...r}}(n,r.props);return r.type!==_q.Fragment&&(i.ref=t?R$(t,e):e),_q.cloneElement(r,i)}return _q.Children.count(r)>1?_q.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var P$=Symbol("radix.slottable");function D$(e){return _q.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===P$}function U$(e,t,{checkForDefaultPrevented:r=!0}={}){return function(n){if(e?.(n),!1===r||!n.defaultPrevented)return t?.(n)}}function B$(e,t=[]){let r=[];const n=()=>{const t=r.map(e=>_q.createContext(e));return function(r){const n=r?.[e]||t;return _q.useMemo(()=>({[`__scope${e}`]:{...r,[e]:n}}),[r,n])}};return n.scopeName=e,[function(t,n){const i=_q.createContext(n),a=r.length;r=[...r,n];const o=t=>{const{scope:r,children:n,...o}=t,s=r?.[e]?.[a]||i,l=_q.useMemo(()=>o,Object.values(o));return(0,$Z.jsx)(s.Provider,{value:l,children:n})};return o.displayName=t+"Provider",[o,function(r,o){const s=o?.[e]?.[a]||i,l=_q.useContext(s);if(l)return l;if(void 0!==n)return n;throw new Error(`\`${r}\` must be used within \`${t}\``)}]},V$(n,...t)]}function V$(...e){const t=e[0];if(1===e.length)return t;const r=()=>{const r=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){const n=r.reduce((t,{useScope:r,scopeName:n})=>({...t,...r(e)[`__scope${n}`]}),{});return _q.useMemo(()=>({[`__scope${t.scopeName}`]:n}),[n])}};return r.scopeName=t.scopeName,r}"undefined"==typeof window||!window.document||window.document.createElement;var F$=globalThis?.document?_q.useLayoutEffect:()=>{},j$=wq[" useId ".trim().toString()]||(()=>{}),H$=0;function W$(e){const[t,r]=_q.useState(j$());return F$(()=>{e||r(e=>e??String(H$++))},[e]),e||(t?`radix-${t}`:"")}var z$=wq[" useInsertionEffect ".trim().toString()]||F$;function X$({prop:e,defaultProp:t,onChange:r=()=>{},caller:n}){const[i,a,o]=function({defaultProp:e,onChange:t}){const[r,n]=_q.useState(e),i=_q.useRef(r),a=_q.useRef(t);return z$(()=>{a.current=t},[t]),_q.useEffect(()=>{i.current!==r&&(a.current?.(r),i.current=r)},[r,i]),[r,n,a]}({defaultProp:t,onChange:r}),s=void 0!==e,l=s?e:i;{const t=_q.useRef(void 0!==e);_q.useEffect(()=>{const e=t.current;if(e!==s){const t=e?"controlled":"uncontrolled",r=s?"controlled":"uncontrolled";console.warn(`${n} is changing from ${t} to ${r}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}t.current=s},[s,n])}const u=_q.useCallback(t=>{if(s){const r=function(e){return"function"==typeof e}(t)?t(e):t;r!==e&&o.current?.(r)}else a(t)},[s,e,a,o]);return[l,u]}Symbol("RADIX:SYNC_STATE");var q$=o(961),G$=o.t(q$,2);function Y$(e){const t=_q.forwardRef((e,t)=>{const{children:r,...n}=e;if(_q.isValidElement(r)){const e=function(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}(r),i=function(e,t){const r={...t};for(const n in t){const i=e[n],a=t[n];/^on[A-Z]/.test(n)?i&&a?r[n]=(...e)=>{const t=a(...e);return i(...e),t}:i&&(r[n]=i):"style"===n?r[n]={...i,...a}:"className"===n&&(r[n]=[i,a].filter(Boolean).join(" "))}return{...e,...r}}(n,r.props);return r.type!==_q.Fragment&&(i.ref=t?R$(t,e):e),_q.cloneElement(r,i)}return _q.Children.count(r)>1?_q.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Q$=Symbol("radix.slottable");function Z$(e){return _q.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===Q$}var K$=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{const r=function(e){const t=Y$(e),r=_q.forwardRef((e,r)=>{const{children:n,...i}=e,a=_q.Children.toArray(n),o=a.find(Z$);if(o){const e=o.props.children,n=a.map(t=>t===o?_q.Children.count(e)>1?_q.Children.only(null):_q.isValidElement(e)?e.props.children:null:t);return(0,$Z.jsx)(t,{...i,ref:r,children:_q.isValidElement(e)?_q.cloneElement(e,void 0,n):null})}return(0,$Z.jsx)(t,{...i,ref:r,children:n})});return r.displayName=`${e}.Slot`,r}(`Primitive.${t}`),n=_q.forwardRef((e,n)=>{const{asChild:i,...a}=e,o=i?r:t;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,$Z.jsx)(o,{...a,ref:n})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function $$(e,t){e&&q$.flushSync(()=>e.dispatchEvent(t))}function J$(e){const t=_q.useRef(e);return _q.useEffect(()=>{t.current=e}),_q.useMemo(()=>(...e)=>t.current?.(...e),[])}var eJ,tJ="dismissableLayer.update",rJ=_q.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),nJ=_q.forwardRef((e,t)=>{const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:n,onPointerDownOutside:i,onFocusOutside:a,onInteractOutside:o,onDismiss:s,...l}=e,u=_q.useContext(rJ),[c,d]=_q.useState(null),h=c?.ownerDocument??globalThis?.document,[,m]=_q.useState({}),f=x$(t,e=>d(e)),g=Array.from(u.layers),[p]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),v=g.indexOf(p),b=c?g.indexOf(c):-1,C=u.layersWithOutsidePointerEventsDisabled.size>0,y=b>=v,_=function(e,t=globalThis?.document){const r=J$(e),n=_q.useRef(!1),i=_q.useRef(()=>{});return _q.useEffect(()=>{const e=e=>{if(e.target&&!n.current){let n=function(){oJ("dismissableLayer.pointerDownOutside",r,a,{discrete:!0})};const a={originalEvent:e};"touch"===e.pointerType?(t.removeEventListener("click",i.current),i.current=n,t.addEventListener("click",i.current,{once:!0})):n()}else t.removeEventListener("click",i.current);n.current=!1},a=window.setTimeout(()=>{t.addEventListener("pointerdown",e)},0);return()=>{window.clearTimeout(a),t.removeEventListener("pointerdown",e),t.removeEventListener("click",i.current)}},[t,r]),{onPointerDownCapture:()=>n.current=!0}}(e=>{const t=e.target,r=[...u.branches].some(e=>e.contains(t));y&&!r&&(i?.(e),o?.(e),e.defaultPrevented||s?.())},h),w=function(e,t=globalThis?.document){const r=J$(e),n=_q.useRef(!1);return _q.useEffect(()=>{const e=e=>{e.target&&!n.current&&oJ("dismissableLayer.focusOutside",r,{originalEvent:e},{discrete:!1})};return t.addEventListener("focusin",e),()=>t.removeEventListener("focusin",e)},[t,r]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}(e=>{const t=e.target;[...u.branches].some(e=>e.contains(t))||(a?.(e),o?.(e),e.defaultPrevented||s?.())},h);return function(e,t=globalThis?.document){const r=J$(e);_q.useEffect(()=>{const e=e=>{"Escape"===e.key&&r(e)};return t.addEventListener("keydown",e,{capture:!0}),()=>t.removeEventListener("keydown",e,{capture:!0})},[r,t])}(e=>{b===u.layers.size-1&&(n?.(e),!e.defaultPrevented&&s&&(e.preventDefault(),s()))},h),_q.useEffect(()=>{if(c)return r&&(0===u.layersWithOutsidePointerEventsDisabled.size&&(eJ=h.body.style.pointerEvents,h.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(c)),u.layers.add(c),aJ(),()=>{r&&1===u.layersWithOutsidePointerEventsDisabled.size&&(h.body.style.pointerEvents=eJ)}},[c,h,r,u]),_q.useEffect(()=>()=>{c&&(u.layers.delete(c),u.layersWithOutsidePointerEventsDisabled.delete(c),aJ())},[c,u]),_q.useEffect(()=>{const e=()=>m({});return document.addEventListener(tJ,e),()=>document.removeEventListener(tJ,e)},[]),(0,$Z.jsx)(K$.div,{...l,ref:f,style:{pointerEvents:C?y?"auto":"none":void 0,...e.style},onFocusCapture:U$(e.onFocusCapture,w.onFocusCapture),onBlurCapture:U$(e.onBlurCapture,w.onBlurCapture),onPointerDownCapture:U$(e.onPointerDownCapture,_.onPointerDownCapture)})});nJ.displayName="DismissableLayer";var iJ=_q.forwardRef((e,t)=>{const r=_q.useContext(rJ),n=_q.useRef(null),i=x$(t,n);return _q.useEffect(()=>{const e=n.current;if(e)return r.branches.add(e),()=>{r.branches.delete(e)}},[r.branches]),(0,$Z.jsx)(K$.div,{...e,ref:i})});function aJ(){const e=new CustomEvent(tJ);document.dispatchEvent(e)}function oJ(e,t,r,{discrete:n}){const i=r.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});t&&i.addEventListener(e,t,{once:!0}),n?$$(i,a):i.dispatchEvent(a)}iJ.displayName="DismissableLayerBranch";var sJ="focusScope.autoFocusOnMount",lJ="focusScope.autoFocusOnUnmount",uJ={bubbles:!1,cancelable:!0},cJ=_q.forwardRef((e,t)=>{const{loop:r=!1,trapped:n=!1,onMountAutoFocus:i,onUnmountAutoFocus:a,...o}=e,[s,l]=_q.useState(null),u=J$(i),c=J$(a),d=_q.useRef(null),h=x$(t,e=>l(e)),m=_q.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;_q.useEffect(()=>{if(n){let e=function(e){if(m.paused||!s)return;const t=e.target;s.contains(t)?d.current=t:fJ(d.current,{select:!0})},t=function(e){if(m.paused||!s)return;const t=e.relatedTarget;null!==t&&(s.contains(t)||fJ(d.current,{select:!0}))},r=function(e){if(document.activeElement===document.body)for(const t of e)t.removedNodes.length>0&&fJ(s)};document.addEventListener("focusin",e),document.addEventListener("focusout",t);const n=new MutationObserver(r);return s&&n.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",t),n.disconnect()}}},[n,s,m.paused]),_q.useEffect(()=>{if(s){gJ.add(m);const e=document.activeElement;if(!s.contains(e)){const t=new CustomEvent(sJ,uJ);s.addEventListener(sJ,u),s.dispatchEvent(t),t.defaultPrevented||(function(e,{select:t=!1}={}){const r=document.activeElement;for(const n of e)if(fJ(n,{select:t}),document.activeElement!==r)return}(dJ(s).filter(e=>"A"!==e.tagName),{select:!0}),document.activeElement===e&&fJ(s))}return()=>{s.removeEventListener(sJ,u),setTimeout(()=>{const t=new CustomEvent(lJ,uJ);s.addEventListener(lJ,c),s.dispatchEvent(t),t.defaultPrevented||fJ(e??document.body,{select:!0}),s.removeEventListener(lJ,c),gJ.remove(m)},0)}}},[s,u,c,m]);const f=_q.useCallback(e=>{if(!r&&!n)return;if(m.paused)return;const t="Tab"===e.key&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){const t=e.currentTarget,[n,a]=function(e){const t=dJ(e);return[hJ(t,e),hJ(t.reverse(),e)]}(t);n&&a?e.shiftKey||i!==a?e.shiftKey&&i===n&&(e.preventDefault(),r&&fJ(a,{select:!0})):(e.preventDefault(),r&&fJ(n,{select:!0})):i===t&&e.preventDefault()}},[r,n,m.paused]);return(0,$Z.jsx)(K$.div,{tabIndex:-1,...o,ref:h,onKeyDown:f})});function dJ(e){const t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{const t="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function hJ(e,t){for(const r of e)if(!mJ(r,{upTo:t}))return r}function mJ(e,{upTo:t}){if("hidden"===getComputedStyle(e).visibility)return!0;for(;e;){if(void 0!==t&&e===t)return!1;if("none"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1}function fJ(e,{select:t=!1}={}){if(e&&e.focus){const r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&function(e){return e instanceof HTMLInputElement&&"select"in e}(e)&&t&&e.select()}}cJ.displayName="FocusScope";var gJ=function(){let e=[];return{add(t){const r=e[0];t!==r&&r?.pause(),e=pJ(e,t),e.unshift(t)},remove(t){e=pJ(e,t),e[0]?.resume()}}}();function pJ(e,t){const r=[...e],n=r.indexOf(t);return-1!==n&&r.splice(n,1),r}var vJ=_q.forwardRef((e,t)=>{const{container:r,...n}=e,[i,a]=_q.useState(!1);F$(()=>a(!0),[]);const o=r||i&&globalThis?.document?.body;return o?q$.createPortal((0,$Z.jsx)(K$.div,{...n,ref:t}),o):null});vJ.displayName="Portal";var bJ=e=>{const{present:t,children:r}=e,n=function(e){const[t,r]=_q.useState(),n=_q.useRef(null),i=_q.useRef(e),a=_q.useRef("none"),o=e?"mounted":"unmounted",[s,l]=function(e,t){return _q.useReducer((e,r)=>t[e][r]??e,e)}(o,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return _q.useEffect(()=>{const e=CJ(n.current);a.current="mounted"===s?e:"none"},[s]),F$(()=>{const t=n.current,r=i.current;if(r!==e){const n=a.current,o=CJ(t);l(e?"MOUNT":"none"===o||"none"===t?.display?"UNMOUNT":r&&n!==o?"ANIMATION_OUT":"UNMOUNT"),i.current=e}},[e,l]),F$(()=>{if(t){let e;const r=t.ownerDocument.defaultView??window,o=a=>{const o=CJ(n.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(l("ANIMATION_END"),!i.current)){const n=t.style.animationFillMode;t.style.animationFillMode="forwards",e=r.setTimeout(()=>{"forwards"===t.style.animationFillMode&&(t.style.animationFillMode=n)})}},s=e=>{e.target===t&&(a.current=CJ(n.current))};return t.addEventListener("animationstart",s),t.addEventListener("animationcancel",o),t.addEventListener("animationend",o),()=>{r.clearTimeout(e),t.removeEventListener("animationstart",s),t.removeEventListener("animationcancel",o),t.removeEventListener("animationend",o)}}l("ANIMATION_END")},[t,l]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:_q.useCallback(e=>{n.current=e?getComputedStyle(e):null,r(e)},[])}}(t),i="function"==typeof r?r({present:n.isPresent}):_q.Children.only(r),a=x$(n.ref,function(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}(i));return"function"==typeof r||n.isPresent?_q.cloneElement(i,{ref:a}):null};function CJ(e){return e?.animationName||"none"}bJ.displayName="Presence";var yJ=0;function _J(){_q.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??wJ()),document.body.insertAdjacentElement("beforeend",e[1]??wJ()),yJ++,()=>{1===yJ&&document.querySelectorAll("[data-radix-focus-guard]").forEach(e=>e.remove()),yJ--}},[])}function wJ(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var EJ="right-scroll-bar-position",SJ="width-before-scroll-bar";function AJ(e,t){return"function"==typeof e?e(t):e&&(e.current=t),e}var IJ="undefined"!=typeof window?_q.useLayoutEffect:_q.useEffect,RJ=new WeakMap;function xJ(e){return e}var TJ=function(e){void 0===e&&(e={});var t=function(e,t){void 0===t&&(t=xJ);var r=[],n=!1,i={read:function(){if(n)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return r.length?r[r.length-1]:e},useMedium:function(e){var i=t(e,n);return r.push(i),function(){r=r.filter(function(e){return e!==i})}},assignSyncMedium:function(e){for(n=!0;r.length;){var t=r;r=[],t.forEach(e)}r={push:function(t){return e(t)},filter:function(){return r}}},assignMedium:function(e){n=!0;var t=[];if(r.length){var i=r;r=[],i.forEach(e),t=r}var a=function(){var r=t;t=[],r.forEach(e)},o=function(){return Promise.resolve().then(a)};o(),r={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),r}}}};return i}(null);return t.options=zr({async:!0,ssr:!1},e),t}(),NJ=function(){},MJ=_q.forwardRef(function(e,t){var r=_q.useRef(null),n=_q.useState({onScrollCapture:NJ,onWheelCapture:NJ,onTouchMoveCapture:NJ}),i=n[0],a=n[1],o=e.forwardProps,s=e.children,l=e.className,u=e.removeScrollBar,c=e.enabled,d=e.shards,h=e.sideCar,m=e.noRelative,f=e.noIsolation,g=e.inert,p=e.allowPinchZoom,v=e.as,b=void 0===v?"div":v,C=e.gapMode,y=Xr(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),_=h,w=function(e,t){var r,n,i,a=(r=t||null,n=function(t){return e.forEach(function(e){return AJ(e,t)})},i=(0,_q.useState)(function(){return{value:r,callback:n,facade:{get current(){return i.value},set current(e){var t=i.value;t!==e&&(i.value=e,i.callback(e,t))}}}})[0],i.callback=n,i.facade);return IJ(function(){var t=RJ.get(a);if(t){var r=new Set(t),n=new Set(e),i=a.current;r.forEach(function(e){n.has(e)||AJ(e,null)}),n.forEach(function(e){r.has(e)||AJ(e,i)})}RJ.set(a,e)},[e]),a}([r,t]),E=zr(zr({},y),i);return _q.createElement(_q.Fragment,null,c&&_q.createElement(_,{sideCar:TJ,removeScrollBar:u,shards:d,noRelative:m,noIsolation:f,inert:g,setCallbacks:a,allowPinchZoom:!!p,lockRef:r,gapMode:C}),o?_q.cloneElement(_q.Children.only(s),zr(zr({},E),{ref:w})):_q.createElement(b,zr({},E,{className:l,ref:w}),s))});MJ.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},MJ.classNames={fullWidth:SJ,zeroRight:EJ};var OJ=function(e){var t=e.sideCar,r=Xr(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var n=t.read();if(!n)throw new Error("Sidecar medium not found");return _q.createElement(n,zr({},r))};OJ.isSideCarExport=!0;var LJ=function(){var e=0,t=null;return{add:function(r){0==e&&(t=function(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=o.nc;return t&&e.setAttribute("nonce",t),e}())&&(function(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}(t,r),function(e){(document.head||document.getElementsByTagName("head")[0]).appendChild(e)}(t)),e++},remove:function(){! --e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},kJ=function(){var e,t=(e=LJ(),function(t,r){_q.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&r])});return function(e){var r=e.styles,n=e.dynamic;return t(r,n),null}},PJ={left:0,top:0,right:0,gap:0},DJ=function(e){return parseInt(e||"",10)||0},UJ=kJ(),BJ="data-scroll-locked",VJ=function(e,t,r,n){var i=e.left,a=e.top,o=e.right,s=e.gap;return void 0===r&&(r="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(n,";\n padding-right: ").concat(s,"px ").concat(n,";\n }\n body[").concat(BJ,"] {\n overflow: hidden ").concat(n,";\n overscroll-behavior: contain;\n ").concat([t&&"position: relative ".concat(n,";"),"margin"===r&&"\n padding-left: ".concat(i,"px;\n padding-top: ").concat(a,"px;\n padding-right: ").concat(o,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(s,"px ").concat(n,";\n "),"padding"===r&&"padding-right: ".concat(s,"px ").concat(n,";")].filter(Boolean).join(""),"\n }\n \n .").concat(EJ," {\n right: ").concat(s,"px ").concat(n,";\n }\n \n .").concat(SJ," {\n margin-right: ").concat(s,"px ").concat(n,";\n }\n \n .").concat(EJ," .").concat(EJ," {\n right: 0 ").concat(n,";\n }\n \n .").concat(SJ," .").concat(SJ," {\n margin-right: 0 ").concat(n,";\n }\n \n body[").concat(BJ,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(s,"px;\n }\n")},FJ=function(){var e=parseInt(document.body.getAttribute(BJ)||"0",10);return isFinite(e)?e:0},jJ=function(e){var t=e.noRelative,r=e.noImportant,n=e.gapMode,i=void 0===n?"margin":n;_q.useEffect(function(){return document.body.setAttribute(BJ,(FJ()+1).toString()),function(){var e=FJ()-1;e<=0?document.body.removeAttribute(BJ):document.body.setAttribute(BJ,e.toString())}},[]);var a=_q.useMemo(function(){return function(e){if(void 0===e&&(e="margin"),"undefined"==typeof window)return PJ;var t=function(e){var t=window.getComputedStyle(document.body),r=t["padding"===e?"paddingLeft":"marginLeft"],n=t["padding"===e?"paddingTop":"marginTop"],i=t["padding"===e?"paddingRight":"marginRight"];return[DJ(r),DJ(n),DJ(i)]}(e),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])}}(i)},[i]);return _q.createElement(UJ,{styles:VJ(a,!t,i,r?"":"!important")})},HJ=!1;if("undefined"!=typeof window)try{var WJ=Object.defineProperty({},"passive",{get:function(){return HJ=!0,!0}});window.addEventListener("test",WJ,WJ),window.removeEventListener("test",WJ,WJ)}catch(e){HJ=!1}var zJ=!!HJ&&{passive:!1},XJ=function(e,t){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return"hidden"!==r[t]&&!(r.overflowY===r.overflowX&&!function(e){return"TEXTAREA"===e.tagName}(e)&&"visible"===r[t])},qJ=function(e,t){var r=t.ownerDocument,n=t;do{if("undefined"!=typeof ShadowRoot&&n instanceof ShadowRoot&&(n=n.host),GJ(e,n)){var i=YJ(e,n);if(i[1]>i[2])return!0}n=n.parentNode}while(n&&n!==r.body);return!1},GJ=function(e,t){return"v"===e?function(e){return XJ(e,"overflowY")}(t):function(e){return XJ(e,"overflowX")}(t)},YJ=function(e,t){return"v"===e?function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]}(t):function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]}(t)},QJ=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},ZJ=function(e){return[e.deltaX,e.deltaY]},KJ=function(e){return e&&"current"in e?e.current:e},$J=function(e){return"\n .block-interactivity-".concat(e," {pointer-events: none;}\n .allow-interactivity-").concat(e," {pointer-events: all;}\n")},JJ=0,e1=[];function t1(e){for(var t=null;null!==e;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const r1=(n1=function(e){var t=_q.useRef([]),r=_q.useRef([0,0]),n=_q.useRef(),i=_q.useState(JJ++)[0],a=_q.useState(kJ)[0],o=_q.useRef(e);_q.useEffect(function(){o.current=e},[e]),_q.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(i));var t=Qr([e.lockRef.current],(e.shards||[]).map(KJ),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add("allow-interactivity-".concat(i))}),function(){document.body.classList.remove("block-interactivity-".concat(i)),t.forEach(function(e){return e.classList.remove("allow-interactivity-".concat(i))})}}},[e.inert,e.lockRef.current,e.shards]);var s=_q.useCallback(function(e,t){if("touches"in e&&2===e.touches.length||"wheel"===e.type&&e.ctrlKey)return!o.current.allowPinchZoom;var i,a=QJ(e),s=r.current,l="deltaX"in e?e.deltaX:s[0]-a[0],u="deltaY"in e?e.deltaY:s[1]-a[1],c=e.target,d=Math.abs(l)>Math.abs(u)?"h":"v";if("touches"in e&&"h"===d&&"range"===c.type)return!1;var h=window.getSelection(),m=h&&h.anchorNode;if(m&&(m===c||m.contains(c)))return!1;var f=qJ(d,c);if(!f)return!0;if(f?i=d:(i="v"===d?"h":"v",f=qJ(d,c)),!f)return!1;if(!n.current&&"changedTouches"in e&&(l||u)&&(n.current=i),!i)return!0;var g=n.current||i;return function(e,t,r,n){var i=function(e,t){return"h"===e&&"rtl"===t?-1:1}(e,window.getComputedStyle(t).direction),a=i*n,o=r.target,s=t.contains(o),l=!1,u=a>0,c=0,d=0;do{if(!o)break;var h=YJ(e,o),m=h[0],f=h[1]-h[2]-i*m;(m||f)&&GJ(e,o)&&(c+=f,d+=m);var g=o.parentNode;o=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!s&&o!==document.body||s&&(t.contains(o)||t===o));return(u&&(Math.abs(c)<1||!1)||!u&&(Math.abs(d)<1||!1))&&(l=!0),l}(g,t,e,"h"===g?l:u)},[]),l=_q.useCallback(function(e){var r=e;if(e1.length&&e1[e1.length-1]===a){var n="deltaY"in r?ZJ(r):QJ(r),i=t.current.filter(function(e){return e.name===r.type&&(e.target===r.target||r.target===e.shadowParent)&&(t=e.delta,i=n,t[0]===i[0]&&t[1]===i[1]);var t,i})[0];if(i&&i.should)r.cancelable&&r.preventDefault();else if(!i){var l=(o.current.shards||[]).map(KJ).filter(Boolean).filter(function(e){return e.contains(r.target)});(l.length>0?s(r,l[0]):!o.current.noIsolation)&&r.cancelable&&r.preventDefault()}}},[]),u=_q.useCallback(function(e,r,n,i){var a={name:e,delta:r,target:n,should:i,shadowParent:t1(n)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),c=_q.useCallback(function(e){r.current=QJ(e),n.current=void 0},[]),d=_q.useCallback(function(t){u(t.type,ZJ(t),t.target,s(t,e.lockRef.current))},[]),h=_q.useCallback(function(t){u(t.type,QJ(t),t.target,s(t,e.lockRef.current))},[]);_q.useEffect(function(){return e1.push(a),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:h}),document.addEventListener("wheel",l,zJ),document.addEventListener("touchmove",l,zJ),document.addEventListener("touchstart",c,zJ),function(){e1=e1.filter(function(e){return e!==a}),document.removeEventListener("wheel",l,zJ),document.removeEventListener("touchmove",l,zJ),document.removeEventListener("touchstart",c,zJ)}},[]);var m=e.removeScrollBar,f=e.inert;return _q.createElement(_q.Fragment,null,f?_q.createElement(a,{styles:$J(i)}):null,m?_q.createElement(jJ,{noRelative:e.noRelative,gapMode:e.gapMode}):null)},TJ.useMedium(n1),OJ);var n1,i1=_q.forwardRef(function(e,t){return _q.createElement(MJ,zr({},e,{ref:t,sideCar:r1}))});i1.classNames=MJ.classNames;const a1=i1;var o1=new WeakMap,s1=new WeakMap,l1={},u1=0,c1=function(e){return e&&(e.host||c1(e.parentNode))},d1=function(e,t,r){void 0===r&&(r="data-aria-hidden");var n=Array.from(Array.isArray(e)?e:[e]),i=t||function(e){return"undefined"==typeof document?null:(Array.isArray(e)?e[0]:e).ownerDocument.body}(e);return i?(n.push.apply(n,Array.from(i.querySelectorAll("[aria-live], script"))),function(e,t,r,n){var i=function(e,t){return t.map(function(t){if(e.contains(t))return t;var r=c1(t);return r&&e.contains(r)?r:(console.error("aria-hidden",t,"in not contained inside",e,". Doing nothing"),null)}).filter(function(e){return Boolean(e)})}(t,Array.isArray(e)?e:[e]);l1[r]||(l1[r]=new WeakMap);var a=l1[r],o=[],s=new Set,l=new Set(i),u=function(e){e&&!s.has(e)&&(s.add(e),u(e.parentNode))};i.forEach(u);var c=function(e){e&&!l.has(e)&&Array.prototype.forEach.call(e.children,function(e){if(s.has(e))c(e);else try{var t=e.getAttribute(n),i=null!==t&&"false"!==t,l=(o1.get(e)||0)+1,u=(a.get(e)||0)+1;o1.set(e,l),a.set(e,u),o.push(e),1===l&&i&&s1.set(e,!0),1===u&&e.setAttribute(r,"true"),i||e.setAttribute(n,"true")}catch(t){console.error("aria-hidden: cannot operate on ",e,t)}})};return c(t),s.clear(),u1++,function(){o.forEach(function(e){var t=o1.get(e)-1,i=a.get(e)-1;o1.set(e,t),a.set(e,i),t||(s1.has(e)||e.removeAttribute(n),s1.delete(e)),i||e.removeAttribute(r)}),--u1||(o1=new WeakMap,o1=new WeakMap,s1=new WeakMap,l1={})}}(n,i,r,"aria-hidden")):function(){return null}};function h1(e){const t=_q.forwardRef((e,t)=>{const{children:r,...n}=e;if(_q.isValidElement(r)){const e=function(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}(r),i=function(e,t){const r={...t};for(const n in t){const i=e[n],a=t[n];/^on[A-Z]/.test(n)?i&&a?r[n]=(...e)=>{const t=a(...e);return i(...e),t}:i&&(r[n]=i):"style"===n?r[n]={...i,...a}:"className"===n&&(r[n]=[i,a].filter(Boolean).join(" "))}return{...e,...r}}(n,r.props);return r.type!==_q.Fragment&&(i.ref=t?R$(t,e):e),_q.cloneElement(r,i)}return _q.Children.count(r)>1?_q.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var m1=Symbol("radix.slottable");function f1(e){return _q.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===m1}var g1="Dialog",[p1,v1]=B$(g1),[b1,C1]=p1(g1),y1=e=>{const{__scopeDialog:t,children:r,open:n,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=_q.useRef(null),l=_q.useRef(null),[u,c]=X$({prop:n,defaultProp:i??!1,onChange:a,caller:g1});return(0,$Z.jsx)(b1,{scope:t,triggerRef:s,contentRef:l,contentId:W$(),titleId:W$(),descriptionId:W$(),open:u,onOpenChange:c,onOpenToggle:_q.useCallback(()=>c(e=>!e),[c]),modal:o,children:r})};y1.displayName=g1;var _1="DialogTrigger",w1=_q.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=C1(_1,r),a=x$(t,i.triggerRef);return(0,$Z.jsx)(K$.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":H1(i.open),...n,ref:a,onClick:U$(e.onClick,i.onOpenToggle)})});w1.displayName=_1;var E1="DialogPortal",[S1,A1]=p1(E1,{forceMount:void 0}),I1=e=>{const{__scopeDialog:t,forceMount:r,children:n,container:i}=e,a=C1(E1,t);return(0,$Z.jsx)(S1,{scope:t,forceMount:r,children:_q.Children.map(n,e=>(0,$Z.jsx)(bJ,{present:r||a.open,children:(0,$Z.jsx)(vJ,{asChild:!0,container:i,children:e})}))})};I1.displayName=E1;var R1="DialogOverlay",x1=_q.forwardRef((e,t)=>{const r=A1(R1,e.__scopeDialog),{forceMount:n=r.forceMount,...i}=e,a=C1(R1,e.__scopeDialog);return a.modal?(0,$Z.jsx)(bJ,{present:n||a.open,children:(0,$Z.jsx)(N1,{...i,ref:t})}):null});x1.displayName=R1;var T1=function(e){const t=h1(e),r=_q.forwardRef((e,r)=>{const{children:n,...i}=e,a=_q.Children.toArray(n),o=a.find(f1);if(o){const e=o.props.children,n=a.map(t=>t===o?_q.Children.count(e)>1?_q.Children.only(null):_q.isValidElement(e)?e.props.children:null:t);return(0,$Z.jsx)(t,{...i,ref:r,children:_q.isValidElement(e)?_q.cloneElement(e,void 0,n):null})}return(0,$Z.jsx)(t,{...i,ref:r,children:n})});return r.displayName=`${e}.Slot`,r}("DialogOverlay.RemoveScroll"),N1=_q.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=C1(R1,r);return(0,$Z.jsx)(a1,{as:T1,allowPinchZoom:!0,shards:[i.contentRef],children:(0,$Z.jsx)(K$.div,{"data-state":H1(i.open),...n,ref:t,style:{pointerEvents:"auto",...n.style}})})}),M1="DialogContent",O1=_q.forwardRef((e,t)=>{const r=A1(M1,e.__scopeDialog),{forceMount:n=r.forceMount,...i}=e,a=C1(M1,e.__scopeDialog);return(0,$Z.jsx)(bJ,{present:n||a.open,children:a.modal?(0,$Z.jsx)(L1,{...i,ref:t}):(0,$Z.jsx)(k1,{...i,ref:t})})});O1.displayName=M1;var L1=_q.forwardRef((e,t)=>{const r=C1(M1,e.__scopeDialog),n=_q.useRef(null),i=x$(t,r.contentRef,n);return _q.useEffect(()=>{const e=n.current;if(e)return d1(e)},[]),(0,$Z.jsx)(P1,{...e,ref:i,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:U$(e.onCloseAutoFocus,e=>{e.preventDefault(),r.triggerRef.current?.focus()}),onPointerDownOutside:U$(e.onPointerDownOutside,e=>{const t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;(2===t.button||r)&&e.preventDefault()}),onFocusOutside:U$(e.onFocusOutside,e=>e.preventDefault())})}),k1=_q.forwardRef((e,t)=>{const r=C1(M1,e.__scopeDialog),n=_q.useRef(!1),i=_q.useRef(!1);return(0,$Z.jsx)(P1,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(n.current||r.triggerRef.current?.focus(),t.preventDefault()),n.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(n.current=!0,"pointerdown"===t.detail.originalEvent.type&&(i.current=!0));const a=t.target,o=r.triggerRef.current?.contains(a);o&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&i.current&&t.preventDefault()}})}),P1=_q.forwardRef((e,t)=>{const{__scopeDialog:r,trapFocus:n,onOpenAutoFocus:i,onCloseAutoFocus:a,...o}=e,s=C1(M1,r),l=_q.useRef(null),u=x$(t,l);return _J(),(0,$Z.jsxs)($Z.Fragment,{children:[(0,$Z.jsx)(cJ,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,$Z.jsx)(nJ,{role:"dialog",id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":H1(s.open),...o,ref:u,onDismiss:()=>s.onOpenChange(!1)})}),(0,$Z.jsxs)($Z.Fragment,{children:[(0,$Z.jsx)(q1,{titleId:s.titleId}),(0,$Z.jsx)(G1,{contentRef:l,descriptionId:s.descriptionId})]})]})}),D1="DialogTitle",U1=_q.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=C1(D1,r);return(0,$Z.jsx)(K$.h2,{id:i.titleId,...n,ref:t})});U1.displayName=D1;var B1="DialogDescription",V1=_q.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=C1(B1,r);return(0,$Z.jsx)(K$.p,{id:i.descriptionId,...n,ref:t})});V1.displayName=B1;var F1="DialogClose",j1=_q.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=C1(F1,r);return(0,$Z.jsx)(K$.button,{type:"button",...n,ref:t,onClick:U$(e.onClick,()=>i.onOpenChange(!1))})});function H1(e){return e?"open":"closed"}j1.displayName=F1;var W1="DialogTitleWarning",[z1,X1]=function(e,t){const r=_q.createContext(t),n=e=>{const{children:t,...n}=e,i=_q.useMemo(()=>n,Object.values(n));return(0,$Z.jsx)(r.Provider,{value:i,children:t})};return n.displayName=e+"Provider",[n,function(n){const i=_q.useContext(r);if(i)return i;if(void 0!==t)return t;throw new Error(`\`${n}\` must be used within \`${e}\``)}]}(W1,{contentName:M1,titleName:D1,docsSlug:"dialog"}),q1=({titleId:e})=>{const t=X1(W1),r=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return _q.useEffect(()=>{e&&(document.getElementById(e)||console.error(r))},[r,e]),null},G1=({contentRef:e,descriptionId:t})=>{const r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${X1("DialogDescriptionWarning").contentName}}.`;return _q.useEffect(()=>{const n=e.current?.getAttribute("aria-describedby");t&&n&&(document.getElementById(t)||console.warn(r))},[r,e,t]),null},Y1=y1,Q1=I1,Z1=x1,K1=O1,$1=U1,J1=V1,e0=j1;function t0(e,t,r){let{reference:n,floating:i}=e;const a=vV(t),o=bV(t),s=pV(o),l=mV(t),u="y"===a,c=n.x+n.width/2-i.width/2,d=n.y+n.height/2-i.height/2,h=n[s]/2-i[s]/2;let m;switch(l){case"top":m={x:c,y:n.y-i.height};break;case"bottom":m={x:c,y:n.y+n.height};break;case"right":m={x:n.x+n.width,y:d};break;case"left":m={x:n.x-i.width,y:d};break;default:m={x:n.x,y:n.y}}switch(fV(t)){case"start":m[o]-=h*(r&&u?-1:1);break;case"end":m[o]+=h*(r&&u?-1:1)}return m}async function r0(e,t){var r;void 0===t&&(t={});const{x:n,y:i,platform:a,rects:o,elements:s,strategy:l}=e,{boundary:u="clippingAncestors",rootBoundary:c="viewport",elementContext:d="floating",altBoundary:h=!1,padding:m=0}=hV(t,e),f=AV(m),g=s[h?"floating"===d?"reference":"floating":d],p=IV(await a.getClippingRect({element:null==(r=await(null==a.isElement?void 0:a.isElement(g)))||r?g:g.contextElement||await(null==a.getDocumentElement?void 0:a.getDocumentElement(s.floating)),boundary:u,rootBoundary:c,strategy:l})),v="floating"===d?{x:n,y:i,width:o.floating.width,height:o.floating.height}:o.reference,b=await(null==a.getOffsetParent?void 0:a.getOffsetParent(s.floating)),C=await(null==a.isElement?void 0:a.isElement(b))&&await(null==a.getScale?void 0:a.getScale(b))||{x:1,y:1},y=IV(a.convertOffsetParentRelativeRectToViewportRelativeRect?await a.convertOffsetParentRelativeRectToViewportRelativeRect({elements:s,rect:v,offsetParent:b,strategy:l}):v);return{top:(p.top-y.top+f.top)/C.y,bottom:(y.bottom-p.bottom+f.bottom)/C.y,left:(p.left-y.left+f.left)/C.x,right:(y.right-p.right+f.right)/C.x}}function n0(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function i0(e){return iV.some(t=>e[t]>=0)}const a0=new Set(["left","top"]);function o0(e){const t=$B(e);let r=parseFloat(t.width)||0,n=parseFloat(t.height)||0;const i=FB(e),a=i?e.offsetWidth:r,o=i?e.offsetHeight:n,s=sV(r)!==a||sV(n)!==o;return s&&(r=a,n=o),{width:r,height:n,$:s}}function s0(e){return VB(e)?e:e.contextElement}function l0(e){const t=s0(e);if(!FB(t))return uV(1);const r=t.getBoundingClientRect(),{width:n,height:i,$:a}=o0(t);let o=(a?sV(r.width):r.width)/n,s=(a?sV(r.height):r.height)/i;return o&&Number.isFinite(o)||(o=1),s&&Number.isFinite(s)||(s=1),{x:o,y:s}}const u0=uV(0);function c0(e){const t=DB(e);return ZB()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:u0}function d0(e,t,r,n){void 0===t&&(t=!1),void 0===r&&(r=!1);const i=e.getBoundingClientRect(),a=s0(e);let o=uV(1);t&&(n?VB(n)&&(o=l0(n)):o=l0(e));const s=function(e,t,r){return void 0===t&&(t=!1),!(!r||t&&r!==DB(e))&&t}(a,r,n)?c0(a):uV(0);let l=(i.left+s.x)/o.x,u=(i.top+s.y)/o.y,c=i.width/o.x,d=i.height/o.y;if(a){const e=DB(a),t=n&&VB(n)?DB(n):n;let r=e,i=nV(r);for(;i&&n&&t!==r;){const e=l0(i),t=i.getBoundingClientRect(),n=$B(i),a=t.left+(i.clientLeft+parseFloat(n.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(n.paddingTop))*e.y;l*=e.x,u*=e.y,c*=e.x,d*=e.y,l+=a,u+=o,r=DB(i),i=nV(r)}}return IV({width:c,height:d,x:l,y:u})}function h0(e,t){const r=JB(e).scrollLeft;return t?t.left+r:d0(UB(e)).left+r}function m0(e,t){const r=e.getBoundingClientRect();return{x:r.left+t.scrollLeft-h0(e,r),y:r.top+t.scrollTop}}function f0(e,t,r){let n;if("viewport"===t)n=function(e,t){const r=DB(e),n=UB(e),i=r.visualViewport;let a=n.clientWidth,o=n.clientHeight,s=0,l=0;if(i){a=i.width,o=i.height;const e=ZB();(!e||e&&"fixed"===t)&&(s=i.offsetLeft,l=i.offsetTop)}const u=h0(n);if(u<=0){const e=n.ownerDocument,t=e.body,r=getComputedStyle(t),i="CSS1Compat"===e.compatMode&&parseFloat(r.marginLeft)+parseFloat(r.marginRight)||0,o=Math.abs(n.clientWidth-t.clientWidth-i);o<=25&&(a-=o)}else u<=25&&(a+=u);return{width:a,height:o,x:s,y:l}}(e,r);else if("document"===t)n=function(e){const t=UB(e),r=JB(e),n=e.ownerDocument.body,i=oV(t.scrollWidth,t.clientWidth,n.scrollWidth,n.clientWidth),a=oV(t.scrollHeight,t.clientHeight,n.scrollHeight,n.clientHeight);let o=-r.scrollLeft+h0(e);const s=-r.scrollTop;return"rtl"===$B(n).direction&&(o+=oV(t.clientWidth,n.clientWidth)-i),{width:i,height:a,x:o,y:s}}(UB(e));else if(VB(t))n=function(e,t){const r=d0(e,!0,"fixed"===t),n=r.top+e.clientTop,i=r.left+e.clientLeft,a=FB(e)?l0(e):uV(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:n*a.y}}(t,r);else{const r=c0(e);n={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return IV(n)}function g0(e,t){const r=eV(e);return!(r===t||!VB(r)||KB(r))&&("fixed"===$B(r).position||g0(r,t))}function p0(e,t,r){const n=FB(t),i=UB(t),a="fixed"===r,o=d0(e,!0,a,t);let s={scrollLeft:0,scrollTop:0};const l=uV(0);function u(){l.x=h0(i)}if(n||!n&&!a)if(("body"!==PB(t)||HB(i))&&(s=JB(t)),n){const e=d0(t,!0,a,t);l.x=e.x+t.clientLeft,l.y=e.y+t.clientTop}else i&&u();a&&!n&&i&&u();const c=!i||n||a?uV(0):m0(i,s);return{x:o.left+s.scrollLeft-l.x-c.x,y:o.top+s.scrollTop-l.y-c.y,width:o.width,height:o.height}}function v0(e){return"static"===$B(e).position}function b0(e,t){if(!FB(e)||"fixed"===$B(e).position)return null;if(t)return t(e);let r=e.offsetParent;return UB(e)===r&&(r=r.ownerDocument.body),r}function C0(e,t){const r=DB(e);if(zB(e))return r;if(!FB(e)){let t=eV(e);for(;t&&!KB(t);){if(VB(t)&&!v0(t))return t;t=eV(t)}return r}let n=b0(e,t);for(;n&&WB(n)&&v0(n);)n=b0(n,t);return n&&KB(n)&&v0(n)&&!QB(n)?r:n||function(e){let t=eV(e);for(;FB(t)&&!KB(t);){if(QB(t))return t;if(zB(t))return null;t=eV(t)}return null}(e)||r}const y0={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:r,offsetParent:n,strategy:i}=e;const a="fixed"===i,o=UB(n),s=!!t&&zB(t.floating);if(n===o||s&&a)return r;let l={scrollLeft:0,scrollTop:0},u=uV(1);const c=uV(0),d=FB(n);if((d||!d&&!a)&&(("body"!==PB(n)||HB(o))&&(l=JB(n)),d)){const e=d0(n);u=l0(n),c.x=e.x+n.clientLeft,c.y=e.y+n.clientTop}const h=!o||d||a?uV(0):m0(o,l);return{width:r.width*u.x,height:r.height*u.y,x:r.x*u.x-l.scrollLeft*u.x+c.x+h.x,y:r.y*u.y-l.scrollTop*u.y+c.y+h.y}},getDocumentElement:UB,getClippingRect:function(e){let{element:t,boundary:r,rootBoundary:n,strategy:i}=e;const a="clippingAncestors"===r?zB(t)?[]:function(e,t){const r=t.get(e);if(r)return r;let n=rV(e,[],!1).filter(e=>VB(e)&&"body"!==PB(e)),i=null;const a="fixed"===$B(e).position;let o=a?eV(e):e;for(;VB(o)&&!KB(o);){const t=$B(o),r=QB(o);r||"fixed"!==t.position||(i=null),(a?!r&&!i:!r&&"static"===t.position&&i&&("absolute"===i.position||"fixed"===i.position)||HB(o)&&!r&&g0(e,o))?n=n.filter(e=>e!==o):i=t,o=eV(o)}return t.set(e,n),n}(t,this._c):[].concat(r),o=[...a,n],s=f0(t,o[0],i);let l=s.top,u=s.right,c=s.bottom,d=s.left;for(let e=1;ee+"-"+i),t&&(a=a.concat(a.map(CV)))),a}(s,g,f,y));const E=[s,..._],S=await l.detectOverflow(t,p),A=[];let I=(null==(n=a.flip)?void 0:n.overflows)||[];if(c&&A.push(S[v]),d){const e=function(e,t,r){void 0===r&&(r=!1);const n=fV(e),i=bV(e),a=pV(i);let o="x"===i?n===(r?"end":"start")?"right":"left":"start"===n?"bottom":"top";return t.reference[a]>t.floating[a]&&(o=SV(o)),[o,SV(o)]}(i,o,y);A.push(S[e[0]],S[e[1]])}if(I=[...I,{placement:i,overflows:A}],!A.every(e=>e<=0)){var R,x;const e=((null==(R=a.flip)?void 0:R.index)||0)+1,t=E[e];if(t&&("alignment"!==d||b===vV(t)||I.every(e=>vV(e.placement)!==b||e.overflows[0]>0)))return{data:{index:e,overflows:I},reset:{placement:t}};let r=null==(x=I.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:x.placement;if(!r)switch(m){case"bestFit":{var T;const e=null==(T=I.filter(e=>{if(w){const t=vV(e.placement);return t===b||"y"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:T[0];e&&(r=e);break}case"initialPlacement":r=s}if(i!==r)return{reset:{placement:r}}}return{}}}},E0=e=>({name:"arrow",options:e,async fn(t){const{x:r,y:n,placement:i,rects:a,platform:o,elements:s,middlewareData:l}=t,{element:u,padding:c=0}=hV(e,t)||{};if(null==u)return{};const d=AV(c),h={x:r,y:n},m=bV(i),f=pV(m),g=await o.getDimensions(u),p="y"===m,v=p?"top":"left",b=p?"bottom":"right",C=p?"clientHeight":"clientWidth",y=a.reference[f]+a.reference[m]-h[m]-a.floating[f],_=h[m]-a.reference[m],w=await(null==o.getOffsetParent?void 0:o.getOffsetParent(u));let E=w?w[C]:0;E&&await(null==o.isElement?void 0:o.isElement(w))||(E=s.floating[C]||a.floating[f]);const S=y/2-_/2,A=E/2-g[f]/2-1,I=aV(d[v],A),R=aV(d[b],A),x=I,T=E-g[f]-R,N=E/2-g[f]/2+S,M=dV(x,N,T),O=!l.arrow&&null!=fV(i)&&N!==M&&a.reference[f]/2-(Nr&&(m=r)}if(u){var v,b;const e="y"===h?"width":"height",t=a0.has(mV(i)),r=a.reference[d]-a.floating[e]+(t&&(null==(v=o.offset)?void 0:v[d])||0)+(t?0:p.crossAxis),n=a.reference[d]+a.reference[e]+(t?0:(null==(b=o.offset)?void 0:b[d])||0)-(t?p.crossAxis:0);fn&&(f=n)}return{[h]:m,[d]:f}}}},A0=(e,t,r)=>{const n=new Map,i={platform:y0,...r},a={...i.platform,_c:n};return(async(e,t,r)=>{const{placement:n="bottom",strategy:i="absolute",middleware:a=[],platform:o}=r,s=o.detectOverflow?o:{...o,detectOverflow:r0},l=await(null==o.isRTL?void 0:o.isRTL(t));let u=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:c,y:d}=t0(u,n,l),h=n,m=0;const f={};for(let r=0;r{t.current=e}),t}const M0=(e,t)=>{const r=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var r,n;const{x:i,y:a,placement:o,middlewareData:s}=t,l=await async function(e,t){const{placement:r,platform:n,elements:i}=e,a=await(null==n.isRTL?void 0:n.isRTL(i.floating)),o=mV(r),s=fV(r),l="y"===vV(r),u=a0.has(o)?-1:1,c=a&&l?-1:1,d=hV(t,e);let{mainAxis:h,crossAxis:m,alignmentAxis:f}="number"==typeof d?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&"number"==typeof f&&(m="end"===s?-1*f:f),l?{x:m*c,y:h*u}:{x:h*u,y:m*c}}(t,e);return o===(null==(r=s.offset)?void 0:r.placement)&&null!=(n=s.arrow)&&n.alignmentOffset?{}:{x:i+l.x,y:a+l.y,data:{...l,placement:o}}}}}(e);return{name:r.name,fn:r.fn,options:[e,t]}},O0=(e,t)=>{const r=function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){const{x:r,y:n,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:l={fn:e=>{let{x:t,y:r}=e;return{x:t,y:r}}},...u}=hV(e,t),c={x:r,y:n},d=await a.detectOverflow(t,u),h=vV(mV(i)),m=gV(h);let f=c[m],g=c[h];if(o){const e="y"===m?"bottom":"right";f=dV(f+d["y"===m?"top":"left"],f,f-d[e])}if(s){const e="y"===h?"bottom":"right";g=dV(g+d["y"===h?"top":"left"],g,g-d[e])}const p=l.fn({...t,[m]:f,[h]:g});return{...p,data:{x:p.x-r,y:p.y-n,enabled:{[m]:o,[h]:s}}}}}}(e);return{name:r.name,fn:r.fn,options:[e,t]}},L0=(e,t)=>({fn:S0(e).fn,options:[e,t]}),k0=(e,t)=>{const r=w0(e);return{name:r.name,fn:r.fn,options:[e,t]}},P0=(e,t)=>{const r=function(e){return void 0===e&&(e={}),{name:"size",options:e,async fn(t){var r,n;const{placement:i,rects:a,platform:o,elements:s}=t,{apply:l=()=>{},...u}=hV(e,t),c=await o.detectOverflow(t,u),d=mV(i),h=fV(i),m="y"===vV(i),{width:f,height:g}=a.floating;let p,v;"top"===d||"bottom"===d?(p=d,v=h===(await(null==o.isRTL?void 0:o.isRTL(s.floating))?"start":"end")?"left":"right"):(v=d,p="end"===h?"top":"bottom");const b=g-c.top-c.bottom,C=f-c.left-c.right,y=aV(g-c[p],b),_=aV(f-c[v],C),w=!t.middlewareData.shift;let E=y,S=_;if(null!=(r=t.middlewareData.shift)&&r.enabled.x&&(S=C),null!=(n=t.middlewareData.shift)&&n.enabled.y&&(E=b),w&&!h){const e=oV(c.left,0),t=oV(c.right,0),r=oV(c.top,0),n=oV(c.bottom,0);m?S=f-2*(0!==e||0!==t?e+t:oV(c.left,c.right)):E=g-2*(0!==r||0!==n?r+n:oV(c.top,c.bottom))}await l({...t,availableWidth:S,availableHeight:E});const A=await o.getDimensions(s.floating);return f!==A.width||g!==A.height?{reset:{rects:!0}}:{}}}}(e);return{name:r.name,fn:r.fn,options:[e,t]}},D0=(e,t)=>{const r=function(e){return void 0===e&&(e={}),{name:"hide",options:e,async fn(t){const{rects:r,platform:n}=t,{strategy:i="referenceHidden",...a}=hV(e,t);switch(i){case"referenceHidden":{const e=n0(await n.detectOverflow(t,{...a,elementContext:"reference"}),r.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:i0(e)}}}case"escaped":{const e=n0(await n.detectOverflow(t,{...a,altBoundary:!0}),r.floating);return{data:{escapedOffsets:e,escaped:i0(e)}}}default:return{}}}}}(e);return{name:r.name,fn:r.fn,options:[e,t]}},U0=(e,t)=>{const r=(e=>({name:"arrow",options:e,fn(t){const{element:r,padding:n}="function"==typeof e?e(t):e;return r&&(i=r,{}.hasOwnProperty.call(i,"current"))?null!=r.current?E0({element:r.current,padding:n}).fn(t):{}:r?E0({element:r,padding:n}).fn(t):{};var i}}))(e);return{name:r.name,fn:r.fn,options:[e,t]}};var B0=_q.forwardRef((e,t)=>{const{children:r,width:n=10,height:i=5,...a}=e;return(0,$Z.jsx)(K$.svg,{...a,ref:t,width:n,height:i,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:(0,$Z.jsx)("polygon",{points:"0,0 30,0 15,10"})})});B0.displayName="Arrow";var V0=B0,F0="Popper",[j0,H0]=B$(F0),[W0,z0]=j0(F0),X0=e=>{const{__scopePopper:t,children:r}=e,[n,i]=_q.useState(null);return(0,$Z.jsx)(W0,{scope:t,anchor:n,onAnchorChange:i,children:r})};X0.displayName=F0;var q0="PopperAnchor",G0=_q.forwardRef((e,t)=>{const{__scopePopper:r,virtualRef:n,...i}=e,a=z0(q0,r),o=_q.useRef(null),s=x$(t,o),l=_q.useRef(null);return _q.useEffect(()=>{const e=l.current;l.current=n?.current||o.current,e!==l.current&&a.onAnchorChange(l.current)}),n?null:(0,$Z.jsx)(K$.div,{...i,ref:s})});G0.displayName=q0;var Y0="PopperContent",[Q0,Z0]=j0(Y0),K0=_q.forwardRef((e,t)=>{const{__scopePopper:r,side:n="bottom",sideOffset:i=0,align:a="center",alignOffset:o=0,arrowPadding:s=0,avoidCollisions:l=!0,collisionBoundary:u=[],collisionPadding:c=0,sticky:d="partial",hideWhenDetached:h=!1,updatePositionStrategy:m="optimized",onPlaced:f,...g}=e,p=z0(Y0,r),[v,b]=_q.useState(null),C=x$(t,e=>b(e)),[y,_]=_q.useState(null),w=function(e){const[t,r]=_q.useState(void 0);return F$(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});const t=new ResizeObserver(t=>{if(!Array.isArray(t))return;if(!t.length)return;const n=t[0];let i,a;if("borderBoxSize"in n){const e=n.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;r({width:i,height:a})});return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}r(void 0)},[e]),t}(y),E=w?.width??0,S=w?.height??0,A=n+("center"!==a?"-"+a:""),I="number"==typeof c?c:{top:0,right:0,bottom:0,left:0,...c},R=Array.isArray(u)?u:[u],x=R.length>0,T={padding:I,boundary:R.filter(t2),altBoundary:x},{refs:N,floatingStyles:M,placement:O,isPositioned:L,middlewareData:k}=function(e){void 0===e&&(e={});const{placement:t="bottom",strategy:r="absolute",middleware:n=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:l,open:u}=e,[c,d]=_q.useState({x:0,y:0,strategy:r,placement:t,middlewareData:{},isPositioned:!1}),[h,m]=_q.useState(n);R0(h,n)||m(n);const[f,g]=_q.useState(null),[p,v]=_q.useState(null),b=_q.useCallback(e=>{e!==w.current&&(w.current=e,g(e))},[]),C=_q.useCallback(e=>{e!==E.current&&(E.current=e,v(e))},[]),y=a||f,_=o||p,w=_q.useRef(null),E=_q.useRef(null),S=_q.useRef(c),A=null!=l,I=N0(l),R=N0(i),x=N0(u),T=_q.useCallback(()=>{if(!w.current||!E.current)return;const e={placement:t,strategy:r,middleware:h};R.current&&(e.platform=R.current),A0(w.current,E.current,e).then(e=>{const t={...e,isPositioned:!1!==x.current};N.current&&!R0(S.current,t)&&(S.current=t,q$.flushSync(()=>{d(t)}))})},[h,t,r,R,x]);I0(()=>{!1===u&&S.current.isPositioned&&(S.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[u]);const N=_q.useRef(!1);I0(()=>(N.current=!0,()=>{N.current=!1}),[]),I0(()=>{if(y&&(w.current=y),_&&(E.current=_),y&&_){if(I.current)return I.current(y,_,T);T()}},[y,_,T,I,A]);const M=_q.useMemo(()=>({reference:w,floating:E,setReference:b,setFloating:C}),[b,C]),O=_q.useMemo(()=>({reference:y,floating:_}),[y,_]),L=_q.useMemo(()=>{const e={position:r,left:0,top:0};if(!O.floating)return e;const t=T0(O.floating,c.x),n=T0(O.floating,c.y);return s?{...e,transform:"translate("+t+"px, "+n+"px)",...x0(O.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:t,top:n}},[r,s,O.floating,c.x,c.y]);return _q.useMemo(()=>({...c,update:T,refs:M,elements:O,floatingStyles:L}),[c,T,M,O,L])}({strategy:"fixed",placement:A,whileElementsMounted:(...e)=>function(e,t,r,n){void 0===n&&(n={});const{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o="function"==typeof ResizeObserver,layoutShift:s="function"==typeof IntersectionObserver,animationFrame:l=!1}=n,u=s0(e),c=i||a?[...u?rV(u):[],...t?rV(t):[]]:[];c.forEach(e=>{i&&e.addEventListener("scroll",r,{passive:!0}),a&&e.addEventListener("resize",r)});const d=u&&s?function(e,t){let r,n=null;const i=UB(e);function a(){var e;clearTimeout(r),null==(e=n)||e.disconnect(),n=null}return function o(s,l){void 0===s&&(s=!1),void 0===l&&(l=1),a();const u=e.getBoundingClientRect(),{left:c,top:d,width:h,height:m}=u;if(s||t(),!h||!m)return;const f={rootMargin:-lV(d)+"px "+-lV(i.clientWidth-(c+h))+"px "+-lV(i.clientHeight-(d+m))+"px "+-lV(c)+"px",threshold:oV(0,aV(1,l))||1};let g=!0;function p(t){const n=t[0].intersectionRatio;if(n!==l){if(!g)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}1!==n||_0(u,e.getBoundingClientRect())||o(),g=!1}try{n=new IntersectionObserver(p,{...f,root:i.ownerDocument})}catch(e){n=new IntersectionObserver(p,f)}n.observe(e)}(!0),a}(u,r):null;let h,m=-1,f=null;o&&(f=new ResizeObserver(e=>{let[n]=e;n&&n.target===u&&f&&t&&(f.unobserve(t),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var e;null==(e=f)||e.observe(t)})),r()}),u&&!l&&f.observe(u),t&&f.observe(t));let g=l?d0(e):null;return l&&function t(){const n=d0(e);g&&!_0(g,n)&&r(),g=n,h=requestAnimationFrame(t)}(),r(),()=>{var e;c.forEach(e=>{i&&e.removeEventListener("scroll",r),a&&e.removeEventListener("resize",r)}),null==d||d(),null==(e=f)||e.disconnect(),f=null,l&&cancelAnimationFrame(h)}}(...e,{animationFrame:"always"===m}),elements:{reference:p.anchor},middleware:[M0({mainAxis:i+S,alignmentAxis:o}),l&&O0({mainAxis:!0,crossAxis:!1,limiter:"partial"===d?L0():void 0,...T}),l&&k0({...T}),P0({...T,apply:({elements:e,rects:t,availableWidth:r,availableHeight:n})=>{const{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty("--radix-popper-available-width",`${r}px`),o.setProperty("--radix-popper-available-height",`${n}px`),o.setProperty("--radix-popper-anchor-width",`${i}px`),o.setProperty("--radix-popper-anchor-height",`${a}px`)}}),y&&U0({element:y,padding:s}),r2({arrowWidth:E,arrowHeight:S}),h&&D0({strategy:"referenceHidden",...T})]}),[P,D]=n2(O),U=J$(f);F$(()=>{L&&U?.()},[L,U]);const B=k.arrow?.x,V=k.arrow?.y,F=0!==k.arrow?.centerOffset,[j,H]=_q.useState();return F$(()=>{v&&H(window.getComputedStyle(v).zIndex)},[v]),(0,$Z.jsx)("div",{ref:N.setFloating,"data-radix-popper-content-wrapper":"",style:{...M,transform:L?M.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:j,"--radix-popper-transform-origin":[k.transformOrigin?.x,k.transformOrigin?.y].join(" "),...k.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,$Z.jsx)(Q0,{scope:r,placedSide:P,onArrowChange:_,arrowX:B,arrowY:V,shouldHideArrow:F,children:(0,$Z.jsx)(K$.div,{"data-side":P,"data-align":D,...g,ref:C,style:{...g.style,animation:L?void 0:"none"}})})})});K0.displayName=Y0;var $0="PopperArrow",J0={top:"bottom",right:"left",bottom:"top",left:"right"},e2=_q.forwardRef(function(e,t){const{__scopePopper:r,...n}=e,i=Z0($0,r),a=J0[i.placedSide];return(0,$Z.jsx)("span",{ref:i.onArrowChange,style:{position:"absolute",left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[i.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[i.placedSide],visibility:i.shouldHideArrow?"hidden":void 0},children:(0,$Z.jsx)(V0,{...n,ref:t,style:{...n.style,display:"block"}})})});function t2(e){return null!==e}e2.displayName=$0;var r2=e=>({name:"transformOrigin",options:e,fn(t){const{placement:r,rects:n,middlewareData:i}=t,a=0!==i.arrow?.centerOffset,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[l,u]=n2(r),c={start:"0%",center:"50%",end:"100%"}[u],d=(i.arrow?.x??0)+o/2,h=(i.arrow?.y??0)+s/2;let m="",f="";return"bottom"===l?(m=a?c:`${d}px`,f=-s+"px"):"top"===l?(m=a?c:`${d}px`,f=`${n.floating.height+s}px`):"right"===l?(m=-s+"px",f=a?c:`${h}px`):"left"===l&&(m=`${n.floating.width+s}px`,f=a?c:`${h}px`),{data:{x:m,y:f}}}});function n2(e){const[t,r="center"]=e.split("-");return[t,r]}var i2=X0,a2=G0,o2=K0,s2=e2;function l2(e){const t=_q.forwardRef((e,t)=>{const{children:r,...n}=e;if(_q.isValidElement(r)){const e=function(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}(r),i=function(e,t){const r={...t};for(const n in t){const i=e[n],a=t[n];/^on[A-Z]/.test(n)?i&&a?r[n]=(...e)=>{const t=a(...e);return i(...e),t}:i&&(r[n]=i):"style"===n?r[n]={...i,...a}:"className"===n&&(r[n]=[i,a].filter(Boolean).join(" "))}return{...e,...r}}(n,r.props);return r.type!==_q.Fragment&&(i.ref=t?R$(t,e):e),_q.cloneElement(r,i)}return _q.Children.count(r)>1?_q.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var u2=Symbol("radix.slottable");function c2(e){return _q.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===u2}var d2="Popover",[h2,m2]=B$(d2,[H0]),f2=H0(),[g2,p2]=h2(d2),v2=e=>{const{__scopePopover:t,children:r,open:n,defaultOpen:i,onOpenChange:a,modal:o=!1}=e,s=f2(t),l=_q.useRef(null),[u,c]=_q.useState(!1),[d,h]=X$({prop:n,defaultProp:i??!1,onChange:a,caller:d2});return(0,$Z.jsx)(i2,{...s,children:(0,$Z.jsx)(g2,{scope:t,contentId:W$(),triggerRef:l,open:d,onOpenChange:h,onOpenToggle:_q.useCallback(()=>h(e=>!e),[h]),hasCustomAnchor:u,onCustomAnchorAdd:_q.useCallback(()=>c(!0),[]),onCustomAnchorRemove:_q.useCallback(()=>c(!1),[]),modal:o,children:r})})};v2.displayName=d2;var b2="PopoverAnchor",C2=_q.forwardRef((e,t)=>{const{__scopePopover:r,...n}=e,i=p2(b2,r),a=f2(r),{onCustomAnchorAdd:o,onCustomAnchorRemove:s}=i;return _q.useEffect(()=>(o(),()=>s()),[o,s]),(0,$Z.jsx)(a2,{...a,...n,ref:t})});C2.displayName=b2;var y2="PopoverTrigger",_2=_q.forwardRef((e,t)=>{const{__scopePopover:r,...n}=e,i=p2(y2,r),a=f2(r),o=x$(t,i.triggerRef),s=(0,$Z.jsx)(K$.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":k2(i.open),...n,ref:o,onClick:U$(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?s:(0,$Z.jsx)(a2,{asChild:!0,...a,children:s})});_2.displayName=y2;var w2="PopoverPortal",[E2,S2]=h2(w2,{forceMount:void 0}),A2=e=>{const{__scopePopover:t,forceMount:r,children:n,container:i}=e,a=p2(w2,t);return(0,$Z.jsx)(E2,{scope:t,forceMount:r,children:(0,$Z.jsx)(bJ,{present:r||a.open,children:(0,$Z.jsx)(vJ,{asChild:!0,container:i,children:n})})})};A2.displayName=w2;var I2="PopoverContent",R2=_q.forwardRef((e,t)=>{const r=S2(I2,e.__scopePopover),{forceMount:n=r.forceMount,...i}=e,a=p2(I2,e.__scopePopover);return(0,$Z.jsx)(bJ,{present:n||a.open,children:a.modal?(0,$Z.jsx)(T2,{...i,ref:t}):(0,$Z.jsx)(N2,{...i,ref:t})})});R2.displayName=I2;var x2=function(e){const t=l2(e),r=_q.forwardRef((e,r)=>{const{children:n,...i}=e,a=_q.Children.toArray(n),o=a.find(c2);if(o){const e=o.props.children,n=a.map(t=>t===o?_q.Children.count(e)>1?_q.Children.only(null):_q.isValidElement(e)?e.props.children:null:t);return(0,$Z.jsx)(t,{...i,ref:r,children:_q.isValidElement(e)?_q.cloneElement(e,void 0,n):null})}return(0,$Z.jsx)(t,{...i,ref:r,children:n})});return r.displayName=`${e}.Slot`,r}("PopoverContent.RemoveScroll"),T2=_q.forwardRef((e,t)=>{const r=p2(I2,e.__scopePopover),n=_q.useRef(null),i=x$(t,n),a=_q.useRef(!1);return _q.useEffect(()=>{const e=n.current;if(e)return d1(e)},[]),(0,$Z.jsx)(a1,{as:x2,allowPinchZoom:!0,children:(0,$Z.jsx)(M2,{...e,ref:i,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:U$(e.onCloseAutoFocus,e=>{e.preventDefault(),a.current||r.triggerRef.current?.focus()}),onPointerDownOutside:U$(e.onPointerDownOutside,e=>{const t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey,n=2===t.button||r;a.current=n},{checkForDefaultPrevented:!1}),onFocusOutside:U$(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),N2=_q.forwardRef((e,t)=>{const r=p2(I2,e.__scopePopover),n=_q.useRef(!1),i=_q.useRef(!1);return(0,$Z.jsx)(M2,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(n.current||r.triggerRef.current?.focus(),t.preventDefault()),n.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(n.current=!0,"pointerdown"===t.detail.originalEvent.type&&(i.current=!0));const a=t.target,o=r.triggerRef.current?.contains(a);o&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&i.current&&t.preventDefault()}})}),M2=_q.forwardRef((e,t)=>{const{__scopePopover:r,trapFocus:n,onOpenAutoFocus:i,onCloseAutoFocus:a,disableOutsidePointerEvents:o,onEscapeKeyDown:s,onPointerDownOutside:l,onFocusOutside:u,onInteractOutside:c,...d}=e,h=p2(I2,r),m=f2(r);return _J(),(0,$Z.jsx)(cJ,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,$Z.jsx)(nJ,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:c,onEscapeKeyDown:s,onPointerDownOutside:l,onFocusOutside:u,onDismiss:()=>h.onOpenChange(!1),children:(0,$Z.jsx)(o2,{"data-state":k2(h.open),role:"dialog",id:h.contentId,...m,...d,ref:t,style:{...d.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),O2="PopoverClose",L2=_q.forwardRef((e,t)=>{const{__scopePopover:r,...n}=e,i=p2(O2,r);return(0,$Z.jsx)(K$.button,{type:"button",...n,ref:t,onClick:U$(e.onClick,()=>i.onOpenChange(!1))})});function k2(e){return e?"open":"closed"}L2.displayName=O2,_q.forwardRef((e,t)=>{const{__scopePopover:r,...n}=e,i=f2(r);return(0,$Z.jsx)(s2,{...i,...n,ref:t})}).displayName="PopoverArrow";var P2=v2,D2=_2,U2=A2,B2=R2;function V2(e){const t=F2(e),r=_q.forwardRef((e,r)=>{const{children:n,...i}=e,a=_q.Children.toArray(n),o=a.find(H2);if(o){const e=o.props.children,n=a.map(t=>t===o?_q.Children.count(e)>1?_q.Children.only(null):_q.isValidElement(e)?e.props.children:null:t);return(0,$Z.jsx)(t,{...i,ref:r,children:_q.isValidElement(e)?_q.cloneElement(e,void 0,n):null})}return(0,$Z.jsx)(t,{...i,ref:r,children:n})});return r.displayName=`${e}.Slot`,r}function F2(e){const t=_q.forwardRef((e,t)=>{const{children:r,...n}=e;if(_q.isValidElement(r)){const e=function(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}(r),i=function(e,t){const r={...t};for(const n in t){const i=e[n],a=t[n];/^on[A-Z]/.test(n)?i&&a?r[n]=(...e)=>{const t=a(...e);return i(...e),t}:i&&(r[n]=i):"style"===n?r[n]={...i,...a}:"className"===n&&(r[n]=[i,a].filter(Boolean).join(" "))}return{...e,...r}}(n,r.props);return r.type!==_q.Fragment&&(i.ref=t?R$(t,e):e),_q.cloneElement(r,i)}return _q.Children.count(r)>1?_q.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var j2=Symbol("radix.slottable");function H2(e){return _q.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===j2}function W2(e){const t=e+"CollectionProvider",[r,n]=B$(t),[i,a]=r(t,{collectionRef:{current:null},itemMap:new Map}),o=e=>{const{scope:t,children:r}=e,n=_q.useRef(null),a=_q.useRef(new Map).current;return(0,$Z.jsx)(i,{scope:t,itemMap:a,collectionRef:n,children:r})};o.displayName=t;const s=e+"CollectionSlot",l=V2(s),u=_q.forwardRef((e,t)=>{const{scope:r,children:n}=e,i=x$(t,a(s,r).collectionRef);return(0,$Z.jsx)(l,{ref:i,children:n})});u.displayName=s;const c=e+"CollectionItemSlot",d="data-radix-collection-item",h=V2(c),m=_q.forwardRef((e,t)=>{const{scope:r,children:n,...i}=e,o=_q.useRef(null),s=x$(t,o),l=a(c,r);return _q.useEffect(()=>(l.itemMap.set(o,{ref:o,...i}),()=>{l.itemMap.delete(o)})),(0,$Z.jsx)(h,{[d]:"",ref:s,children:n})});return m.displayName=c,[{Provider:o,Slot:u,ItemSlot:m},function(t){const r=a(e+"CollectionConsumer",t);return _q.useCallback(()=>{const e=r.collectionRef.current;if(!e)return[];const t=Array.from(e.querySelectorAll(`[${d}]`));return Array.from(r.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[r.collectionRef,r.itemMap])},n]}Map;var z2=_q.createContext(void 0);function X2(e){const t=_q.useContext(z2);return e||t||"ltr"}var q2="rovingFocusGroup.onEntryFocus",G2={bubbles:!1,cancelable:!0},Y2="RovingFocusGroup",[Q2,Z2,K2]=W2(Y2),[$2,J2]=B$(Y2,[K2]),[e3,t3]=$2(Y2),r3=_q.forwardRef((e,t)=>(0,$Z.jsx)(Q2.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,$Z.jsx)(Q2.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,$Z.jsx)(n3,{...e,ref:t})})}));r3.displayName=Y2;var n3=_q.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:r,orientation:n,loop:i=!1,dir:a,currentTabStopId:o,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:l,onEntryFocus:u,preventScrollOnEntryFocus:c=!1,...d}=e,h=_q.useRef(null),m=x$(t,h),f=X2(a),[g,p]=X$({prop:o,defaultProp:s??null,onChange:l,caller:Y2}),[v,b]=_q.useState(!1),C=J$(u),y=Z2(r),_=_q.useRef(!1),[w,E]=_q.useState(0);return _q.useEffect(()=>{const e=h.current;if(e)return e.addEventListener(q2,C),()=>e.removeEventListener(q2,C)},[C]),(0,$Z.jsx)(e3,{scope:r,orientation:n,dir:f,loop:i,currentTabStopId:g,onItemFocus:_q.useCallback(e=>p(e),[p]),onItemShiftTab:_q.useCallback(()=>b(!0),[]),onFocusableItemAdd:_q.useCallback(()=>E(e=>e+1),[]),onFocusableItemRemove:_q.useCallback(()=>E(e=>e-1),[]),children:(0,$Z.jsx)(K$.div,{tabIndex:v||0===w?-1:0,"data-orientation":n,...d,ref:m,style:{outline:"none",...e.style},onMouseDown:U$(e.onMouseDown,()=>{_.current=!0}),onFocus:U$(e.onFocus,e=>{const t=!_.current;if(e.target===e.currentTarget&&t&&!v){const t=new CustomEvent(q2,G2);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){const e=y().filter(e=>e.focusable);s3([e.find(e=>e.active),e.find(e=>e.id===g),...e].filter(Boolean).map(e=>e.ref.current),c)}}_.current=!1}),onBlur:U$(e.onBlur,()=>b(!1))})})}),i3="RovingFocusGroupItem",a3=_q.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:r,focusable:n=!0,active:i=!1,tabStopId:a,children:o,...s}=e,l=W$(),u=a||l,c=t3(i3,r),d=c.currentTabStopId===u,h=Z2(r),{onFocusableItemAdd:m,onFocusableItemRemove:f,currentTabStopId:g}=c;return _q.useEffect(()=>{if(n)return m(),()=>f()},[n,m,f]),(0,$Z.jsx)(Q2.ItemSlot,{scope:r,id:u,focusable:n,active:i,children:(0,$Z.jsx)(K$.span,{tabIndex:d?0:-1,"data-orientation":c.orientation,...s,ref:t,onMouseDown:U$(e.onMouseDown,e=>{n?c.onItemFocus(u):e.preventDefault()}),onFocus:U$(e.onFocus,()=>c.onItemFocus(u)),onKeyDown:U$(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void c.onItemShiftTab();if(e.target!==e.currentTarget)return;const t=function(e,t,r){const n=function(e,t){return"rtl"!==t?e:"ArrowLeft"===e?"ArrowRight":"ArrowRight"===e?"ArrowLeft":e}(e.key,r);return"vertical"===t&&["ArrowLeft","ArrowRight"].includes(n)||"horizontal"===t&&["ArrowUp","ArrowDown"].includes(n)?void 0:o3[n]}(e,c.orientation,c.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let i=h().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)i.reverse();else if("prev"===t||"next"===t){"prev"===t&&i.reverse();const a=i.indexOf(e.currentTarget);i=c.loop?(n=a+1,(r=i).map((e,t)=>r[(n+t)%r.length])):i.slice(a+1)}setTimeout(()=>s3(i))}var r,n}),children:"function"==typeof o?o({isCurrentTabStop:d,hasTabStop:null!=g}):o})})});a3.displayName=i3;var o3={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function s3(e,t=!1){const r=document.activeElement;for(const n of e){if(n===r)return;if(n.focus({preventScroll:t}),document.activeElement!==r)return}}var l3=r3,u3=a3;function c3(e){const t=_q.forwardRef((e,t)=>{const{children:r,...n}=e;if(_q.isValidElement(r)){const e=function(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}(r),i=function(e,t){const r={...t};for(const n in t){const i=e[n],a=t[n];/^on[A-Z]/.test(n)?i&&a?r[n]=(...e)=>{const t=a(...e);return i(...e),t}:i&&(r[n]=i):"style"===n?r[n]={...i,...a}:"className"===n&&(r[n]=[i,a].filter(Boolean).join(" "))}return{...e,...r}}(n,r.props);return r.type!==_q.Fragment&&(i.ref=t?R$(t,e):e),_q.cloneElement(r,i)}return _q.Children.count(r)>1?_q.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var d3=Symbol("radix.slottable");function h3(e){return _q.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===d3}var m3=["Enter"," "],f3=["ArrowUp","PageDown","End"],g3=["ArrowDown","PageUp","Home",...f3],p3={ltr:[...m3,"ArrowRight"],rtl:[...m3,"ArrowLeft"]},v3={ltr:["ArrowLeft"],rtl:["ArrowRight"]},b3="Menu",[C3,y3,_3]=W2(b3),[w3,E3]=B$(b3,[_3,H0,J2]),S3=H0(),A3=J2(),[I3,R3]=w3(b3),[x3,T3]=w3(b3),N3=e=>{const{__scopeMenu:t,open:r=!1,children:n,dir:i,onOpenChange:a,modal:o=!0}=e,s=S3(t),[l,u]=_q.useState(null),c=_q.useRef(!1),d=J$(a),h=X2(i);return _q.useEffect(()=>{const e=()=>{c.current=!0,document.addEventListener("pointerdown",t,{capture:!0,once:!0}),document.addEventListener("pointermove",t,{capture:!0,once:!0})},t=()=>c.current=!1;return document.addEventListener("keydown",e,{capture:!0}),()=>{document.removeEventListener("keydown",e,{capture:!0}),document.removeEventListener("pointerdown",t,{capture:!0}),document.removeEventListener("pointermove",t,{capture:!0})}},[]),(0,$Z.jsx)(i2,{...s,children:(0,$Z.jsx)(I3,{scope:t,open:r,onOpenChange:d,content:l,onContentChange:u,children:(0,$Z.jsx)(x3,{scope:t,onClose:_q.useCallback(()=>d(!1),[d]),isUsingKeyboardRef:c,dir:h,modal:o,children:n})})})};N3.displayName=b3;var M3=_q.forwardRef((e,t)=>{const{__scopeMenu:r,...n}=e,i=S3(r);return(0,$Z.jsx)(a2,{...i,...n,ref:t})});M3.displayName="MenuAnchor";var O3="MenuPortal",[L3,k3]=w3(O3,{forceMount:void 0}),P3=e=>{const{__scopeMenu:t,forceMount:r,children:n,container:i}=e,a=R3(O3,t);return(0,$Z.jsx)(L3,{scope:t,forceMount:r,children:(0,$Z.jsx)(bJ,{present:r||a.open,children:(0,$Z.jsx)(vJ,{asChild:!0,container:i,children:n})})})};P3.displayName=O3;var D3="MenuContent",[U3,B3]=w3(D3),V3=_q.forwardRef((e,t)=>{const r=k3(D3,e.__scopeMenu),{forceMount:n=r.forceMount,...i}=e,a=R3(D3,e.__scopeMenu),o=T3(D3,e.__scopeMenu);return(0,$Z.jsx)(C3.Provider,{scope:e.__scopeMenu,children:(0,$Z.jsx)(bJ,{present:n||a.open,children:(0,$Z.jsx)(C3.Slot,{scope:e.__scopeMenu,children:o.modal?(0,$Z.jsx)(F3,{...i,ref:t}):(0,$Z.jsx)(j3,{...i,ref:t})})})})}),F3=_q.forwardRef((e,t)=>{const r=R3(D3,e.__scopeMenu),n=_q.useRef(null),i=x$(t,n);return _q.useEffect(()=>{const e=n.current;if(e)return d1(e)},[]),(0,$Z.jsx)(W3,{...e,ref:i,trapFocus:r.open,disableOutsidePointerEvents:r.open,disableOutsideScroll:!0,onFocusOutside:U$(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>r.onOpenChange(!1)})}),j3=_q.forwardRef((e,t)=>{const r=R3(D3,e.__scopeMenu);return(0,$Z.jsx)(W3,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>r.onOpenChange(!1)})}),H3=function(e){const t=c3(e),r=_q.forwardRef((e,r)=>{const{children:n,...i}=e,a=_q.Children.toArray(n),o=a.find(h3);if(o){const e=o.props.children,n=a.map(t=>t===o?_q.Children.count(e)>1?_q.Children.only(null):_q.isValidElement(e)?e.props.children:null:t);return(0,$Z.jsx)(t,{...i,ref:r,children:_q.isValidElement(e)?_q.cloneElement(e,void 0,n):null})}return(0,$Z.jsx)(t,{...i,ref:r,children:n})});return r.displayName=`${e}.Slot`,r}("MenuContent.ScrollLock"),W3=_q.forwardRef((e,t)=>{const{__scopeMenu:r,loop:n=!1,trapFocus:i,onOpenAutoFocus:a,onCloseAutoFocus:o,disableOutsidePointerEvents:s,onEntryFocus:l,onEscapeKeyDown:u,onPointerDownOutside:c,onFocusOutside:d,onInteractOutside:h,onDismiss:m,disableOutsideScroll:f,...g}=e,p=R3(D3,r),v=T3(D3,r),b=S3(r),C=A3(r),y=y3(r),[_,w]=_q.useState(null),E=_q.useRef(null),S=x$(t,E,p.onContentChange),A=_q.useRef(0),I=_q.useRef(""),R=_q.useRef(0),x=_q.useRef(null),T=_q.useRef("right"),N=_q.useRef(0),M=f?a1:_q.Fragment,O=f?{as:H3,allowPinchZoom:!0}:void 0;_q.useEffect(()=>()=>window.clearTimeout(A.current),[]),_J();const L=_q.useCallback(e=>T.current===x.current?.side&&function(e,t){if(!t)return!1;return function(e,t){const{x:r,y:n}=e;let i=!1;for(let e=0,a=t.length-1;en!=d>n&&r<(c-l)*(n-u)/(d-u)+l&&(i=!i)}return i}({x:e.clientX,y:e.clientY},t)}(e,x.current?.area),[]);return(0,$Z.jsx)(U3,{scope:r,searchRef:I,onItemEnter:_q.useCallback(e=>{L(e)&&e.preventDefault()},[L]),onItemLeave:_q.useCallback(e=>{L(e)||(E.current?.focus(),w(null))},[L]),onTriggerLeave:_q.useCallback(e=>{L(e)&&e.preventDefault()},[L]),pointerGraceTimerRef:R,onPointerGraceIntentChange:_q.useCallback(e=>{x.current=e},[]),children:(0,$Z.jsx)(M,{...O,children:(0,$Z.jsx)(cJ,{asChild:!0,trapped:i,onMountAutoFocus:U$(a,e=>{e.preventDefault(),E.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:(0,$Z.jsx)(nJ,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:u,onPointerDownOutside:c,onFocusOutside:d,onInteractOutside:h,onDismiss:m,children:(0,$Z.jsx)(l3,{asChild:!0,...C,dir:v.dir,orientation:"vertical",loop:n,currentTabStopId:_,onCurrentTabStopIdChange:w,onEntryFocus:U$(l,e=>{v.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,$Z.jsx)(o2,{role:"menu","aria-orientation":"vertical","data-state":v6(p.open),"data-radix-menu-content":"",dir:v.dir,...b,...g,ref:S,style:{outline:"none",...g.style},onKeyDown:U$(g.onKeyDown,e=>{const t=e.target.closest("[data-radix-menu-content]")===e.currentTarget,r=e.ctrlKey||e.altKey||e.metaKey,n=1===e.key.length;t&&("Tab"===e.key&&e.preventDefault(),!r&&n&&(e=>{const t=I.current+e,r=y().filter(e=>!e.disabled),n=document.activeElement,i=r.find(e=>e.ref.current===n)?.textValue,a=function(e,t,r){const n=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=r?e.indexOf(r):-1;let a=(o=e,s=Math.max(i,0),o.map((e,t)=>o[(s+t)%o.length]));var o,s;1===n.length&&(a=a.filter(e=>e!==r));const l=a.find(e=>e.toLowerCase().startsWith(n.toLowerCase()));return l!==r?l:void 0}(r.map(e=>e.textValue),t,i),o=r.find(e=>e.textValue===a)?.ref.current;!function e(t){I.current=t,window.clearTimeout(A.current),""!==t&&(A.current=window.setTimeout(()=>e(""),1e3))}(t),o&&setTimeout(()=>o.focus())})(e.key));const i=E.current;if(e.target!==i)return;if(!g3.includes(e.key))return;e.preventDefault();const a=y().filter(e=>!e.disabled).map(e=>e.ref.current);f3.includes(e.key)&&a.reverse(),function(e){const t=document.activeElement;for(const r of e){if(r===t)return;if(r.focus(),document.activeElement!==t)return}}(a)}),onBlur:U$(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(A.current),I.current="")}),onPointerMove:U$(e.onPointerMove,y6(e=>{const t=e.target,r=N.current!==e.clientX;if(e.currentTarget.contains(t)&&r){const t=e.clientX>N.current?"right":"left";T.current=t,N.current=e.clientX}}))})})})})})})});V3.displayName=D3;var z3=_q.forwardRef((e,t)=>{const{__scopeMenu:r,...n}=e;return(0,$Z.jsx)(K$.div,{role:"group",...n,ref:t})});z3.displayName="MenuGroup";var X3=_q.forwardRef((e,t)=>{const{__scopeMenu:r,...n}=e;return(0,$Z.jsx)(K$.div,{...n,ref:t})});X3.displayName="MenuLabel";var q3="MenuItem",G3="menu.itemSelect",Y3=_q.forwardRef((e,t)=>{const{disabled:r=!1,onSelect:n,...i}=e,a=_q.useRef(null),o=T3(q3,e.__scopeMenu),s=B3(q3,e.__scopeMenu),l=x$(t,a),u=_q.useRef(!1);return(0,$Z.jsx)(Q3,{...i,ref:l,disabled:r,onClick:U$(e.onClick,()=>{const e=a.current;if(!r&&e){const t=new CustomEvent(G3,{bubbles:!0,cancelable:!0});e.addEventListener(G3,e=>n?.(e),{once:!0}),$$(e,t),t.defaultPrevented?u.current=!1:o.onClose()}}),onPointerDown:t=>{e.onPointerDown?.(t),u.current=!0},onPointerUp:U$(e.onPointerUp,e=>{u.current||e.currentTarget?.click()}),onKeyDown:U$(e.onKeyDown,e=>{const t=""!==s.searchRef.current;r||t&&" "===e.key||m3.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});Y3.displayName=q3;var Q3=_q.forwardRef((e,t)=>{const{__scopeMenu:r,disabled:n=!1,textValue:i,...a}=e,o=B3(q3,r),s=A3(r),l=_q.useRef(null),u=x$(t,l),[c,d]=_q.useState(!1),[h,m]=_q.useState("");return _q.useEffect(()=>{const e=l.current;e&&m((e.textContent??"").trim())},[a.children]),(0,$Z.jsx)(C3.ItemSlot,{scope:r,disabled:n,textValue:i??h,children:(0,$Z.jsx)(u3,{asChild:!0,...s,focusable:!n,children:(0,$Z.jsx)(K$.div,{role:"menuitem","data-highlighted":c?"":void 0,"aria-disabled":n||void 0,"data-disabled":n?"":void 0,...a,ref:u,onPointerMove:U$(e.onPointerMove,y6(e=>{n?o.onItemLeave(e):(o.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:U$(e.onPointerLeave,y6(e=>o.onItemLeave(e))),onFocus:U$(e.onFocus,()=>d(!0)),onBlur:U$(e.onBlur,()=>d(!1))})})})}),Z3=_q.forwardRef((e,t)=>{const{checked:r=!1,onCheckedChange:n,...i}=e;return(0,$Z.jsx)(i6,{scope:e.__scopeMenu,checked:r,children:(0,$Z.jsx)(Y3,{role:"menuitemcheckbox","aria-checked":b6(r)?"mixed":r,...i,ref:t,"data-state":C6(r),onSelect:U$(i.onSelect,()=>n?.(!!b6(r)||!r),{checkForDefaultPrevented:!1})})})});Z3.displayName="MenuCheckboxItem";var K3="MenuRadioGroup",[$3,J3]=w3(K3,{value:void 0,onValueChange:()=>{}}),e6=_q.forwardRef((e,t)=>{const{value:r,onValueChange:n,...i}=e,a=J$(n);return(0,$Z.jsx)($3,{scope:e.__scopeMenu,value:r,onValueChange:a,children:(0,$Z.jsx)(z3,{...i,ref:t})})});e6.displayName=K3;var t6="MenuRadioItem",r6=_q.forwardRef((e,t)=>{const{value:r,...n}=e,i=J3(t6,e.__scopeMenu),a=r===i.value;return(0,$Z.jsx)(i6,{scope:e.__scopeMenu,checked:a,children:(0,$Z.jsx)(Y3,{role:"menuitemradio","aria-checked":a,...n,ref:t,"data-state":C6(a),onSelect:U$(n.onSelect,()=>i.onValueChange?.(r),{checkForDefaultPrevented:!1})})})});r6.displayName=t6;var n6="MenuItemIndicator",[i6,a6]=w3(n6,{checked:!1}),o6=_q.forwardRef((e,t)=>{const{__scopeMenu:r,forceMount:n,...i}=e,a=a6(n6,r);return(0,$Z.jsx)(bJ,{present:n||b6(a.checked)||!0===a.checked,children:(0,$Z.jsx)(K$.span,{...i,ref:t,"data-state":C6(a.checked)})})});o6.displayName=n6;var s6=_q.forwardRef((e,t)=>{const{__scopeMenu:r,...n}=e;return(0,$Z.jsx)(K$.div,{role:"separator","aria-orientation":"horizontal",...n,ref:t})});s6.displayName="MenuSeparator";var l6=_q.forwardRef((e,t)=>{const{__scopeMenu:r,...n}=e,i=S3(r);return(0,$Z.jsx)(s2,{...i,...n,ref:t})});l6.displayName="MenuArrow";var u6="MenuSub",[c6,d6]=w3(u6),h6=e=>{const{__scopeMenu:t,children:r,open:n=!1,onOpenChange:i}=e,a=R3(u6,t),o=S3(t),[s,l]=_q.useState(null),[u,c]=_q.useState(null),d=J$(i);return _q.useEffect(()=>(!1===a.open&&d(!1),()=>d(!1)),[a.open,d]),(0,$Z.jsx)(i2,{...o,children:(0,$Z.jsx)(I3,{scope:t,open:n,onOpenChange:d,content:u,onContentChange:c,children:(0,$Z.jsx)(c6,{scope:t,contentId:W$(),triggerId:W$(),trigger:s,onTriggerChange:l,children:r})})})};h6.displayName=u6;var m6="MenuSubTrigger",f6=_q.forwardRef((e,t)=>{const r=R3(m6,e.__scopeMenu),n=T3(m6,e.__scopeMenu),i=d6(m6,e.__scopeMenu),a=B3(m6,e.__scopeMenu),o=_q.useRef(null),{pointerGraceTimerRef:s,onPointerGraceIntentChange:l}=a,u={__scopeMenu:e.__scopeMenu},c=_q.useCallback(()=>{o.current&&window.clearTimeout(o.current),o.current=null},[]);return _q.useEffect(()=>c,[c]),_q.useEffect(()=>{const e=s.current;return()=>{window.clearTimeout(e),l(null)}},[s,l]),(0,$Z.jsx)(M3,{asChild:!0,...u,children:(0,$Z.jsx)(Q3,{id:i.triggerId,"aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":i.contentId,"data-state":v6(r.open),...e,ref:R$(t,i.onTriggerChange),onClick:t=>{e.onClick?.(t),e.disabled||t.defaultPrevented||(t.currentTarget.focus(),r.open||r.onOpenChange(!0))},onPointerMove:U$(e.onPointerMove,y6(t=>{a.onItemEnter(t),t.defaultPrevented||e.disabled||r.open||o.current||(a.onPointerGraceIntentChange(null),o.current=window.setTimeout(()=>{r.onOpenChange(!0),c()},100))})),onPointerLeave:U$(e.onPointerLeave,y6(e=>{c();const t=r.content?.getBoundingClientRect();if(t){const n=r.content?.dataset.side,i="right"===n,o=i?-5:5,l=t[i?"left":"right"],u=t[i?"right":"left"];a.onPointerGraceIntentChange({area:[{x:e.clientX+o,y:e.clientY},{x:l,y:t.top},{x:u,y:t.top},{x:u,y:t.bottom},{x:l,y:t.bottom}],side:n}),window.clearTimeout(s.current),s.current=window.setTimeout(()=>a.onPointerGraceIntentChange(null),300)}else{if(a.onTriggerLeave(e),e.defaultPrevented)return;a.onPointerGraceIntentChange(null)}})),onKeyDown:U$(e.onKeyDown,t=>{const i=""!==a.searchRef.current;e.disabled||i&&" "===t.key||p3[n.dir].includes(t.key)&&(r.onOpenChange(!0),r.content?.focus(),t.preventDefault())})})})});f6.displayName=m6;var g6="MenuSubContent",p6=_q.forwardRef((e,t)=>{const r=k3(D3,e.__scopeMenu),{forceMount:n=r.forceMount,...i}=e,a=R3(D3,e.__scopeMenu),o=T3(D3,e.__scopeMenu),s=d6(g6,e.__scopeMenu),l=_q.useRef(null),u=x$(t,l);return(0,$Z.jsx)(C3.Provider,{scope:e.__scopeMenu,children:(0,$Z.jsx)(bJ,{present:n||a.open,children:(0,$Z.jsx)(C3.Slot,{scope:e.__scopeMenu,children:(0,$Z.jsx)(W3,{id:s.contentId,"aria-labelledby":s.triggerId,...i,ref:u,align:"start",side:"rtl"===o.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{o.isUsingKeyboardRef.current&&l.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:U$(e.onFocusOutside,e=>{e.target!==s.trigger&&a.onOpenChange(!1)}),onEscapeKeyDown:U$(e.onEscapeKeyDown,e=>{o.onClose(),e.preventDefault()}),onKeyDown:U$(e.onKeyDown,e=>{const t=e.currentTarget.contains(e.target),r=v3[o.dir].includes(e.key);t&&r&&(a.onOpenChange(!1),s.trigger?.focus(),e.preventDefault())})})})})})});function v6(e){return e?"open":"closed"}function b6(e){return"indeterminate"===e}function C6(e){return b6(e)?"indeterminate":e?"checked":"unchecked"}function y6(e){return t=>"mouse"===t.pointerType?e(t):void 0}p6.displayName=g6;var _6=N3,w6=M3,E6=P3,S6=V3,A6=z3,I6=X3,R6=Y3,x6=Z3,T6=e6,N6=r6,M6=o6,O6=s6,L6=l6,k6=h6,P6=f6,D6=p6,U6="DropdownMenu",[B6,V6]=B$(U6,[E3]),F6=E3(),[j6,H6]=B6(U6),W6=e=>{const{__scopeDropdownMenu:t,children:r,dir:n,open:i,defaultOpen:a,onOpenChange:o,modal:s=!0}=e,l=F6(t),u=_q.useRef(null),[c,d]=X$({prop:i,defaultProp:a??!1,onChange:o,caller:U6});return(0,$Z.jsx)(j6,{scope:t,triggerId:W$(),triggerRef:u,contentId:W$(),open:c,onOpenChange:d,onOpenToggle:_q.useCallback(()=>d(e=>!e),[d]),modal:s,children:(0,$Z.jsx)(_6,{...l,open:c,onOpenChange:d,dir:n,modal:s,children:r})})};W6.displayName=U6;var z6="DropdownMenuTrigger",X6=_q.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,disabled:n=!1,...i}=e,a=H6(z6,r),o=F6(r);return(0,$Z.jsx)(w6,{asChild:!0,...o,children:(0,$Z.jsx)(K$.button,{type:"button",id:a.triggerId,"aria-haspopup":"menu","aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?"open":"closed","data-disabled":n?"":void 0,disabled:n,...i,ref:R$(t,a.triggerRef),onPointerDown:U$(e.onPointerDown,e=>{n||0!==e.button||!1!==e.ctrlKey||(a.onOpenToggle(),a.open||e.preventDefault())}),onKeyDown:U$(e.onKeyDown,e=>{n||(["Enter"," "].includes(e.key)&&a.onOpenToggle(),"ArrowDown"===e.key&&a.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(e.key)&&e.preventDefault())})})})});X6.displayName=z6;var q6=e=>{const{__scopeDropdownMenu:t,...r}=e,n=F6(t);return(0,$Z.jsx)(E6,{...n,...r})};q6.displayName="DropdownMenuPortal";var G6="DropdownMenuContent",Y6=_q.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,i=H6(G6,r),a=F6(r),o=_q.useRef(!1);return(0,$Z.jsx)(S6,{id:i.contentId,"aria-labelledby":i.triggerId,...a,...n,ref:t,onCloseAutoFocus:U$(e.onCloseAutoFocus,e=>{o.current||i.triggerRef.current?.focus(),o.current=!1,e.preventDefault()}),onInteractOutside:U$(e.onInteractOutside,e=>{const t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey,n=2===t.button||r;i.modal&&!n||(o.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});Y6.displayName=G6,_q.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,i=F6(r);return(0,$Z.jsx)(A6,{...i,...n,ref:t})}).displayName="DropdownMenuGroup",_q.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,i=F6(r);return(0,$Z.jsx)(I6,{...i,...n,ref:t})}).displayName="DropdownMenuLabel";var Q6=_q.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,i=F6(r);return(0,$Z.jsx)(R6,{...i,...n,ref:t})});Q6.displayName="DropdownMenuItem";var Z6=_q.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,i=F6(r);return(0,$Z.jsx)(x6,{...i,...n,ref:t})});Z6.displayName="DropdownMenuCheckboxItem";var K6=_q.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,i=F6(r);return(0,$Z.jsx)(T6,{...i,...n,ref:t})});K6.displayName="DropdownMenuRadioGroup";var $6=_q.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,i=F6(r);return(0,$Z.jsx)(N6,{...i,...n,ref:t})});$6.displayName="DropdownMenuRadioItem";var J6=_q.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,i=F6(r);return(0,$Z.jsx)(M6,{...i,...n,ref:t})});J6.displayName="DropdownMenuItemIndicator";var e4=_q.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,i=F6(r);return(0,$Z.jsx)(O6,{...i,...n,ref:t})});e4.displayName="DropdownMenuSeparator",_q.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,i=F6(r);return(0,$Z.jsx)(L6,{...i,...n,ref:t})}).displayName="DropdownMenuArrow";var t4=_q.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,i=F6(r);return(0,$Z.jsx)(P6,{...i,...n,ref:t})});t4.displayName="DropdownMenuSubTrigger";var r4=_q.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,i=F6(r);return(0,$Z.jsx)(D6,{...i,...n,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});r4.displayName="DropdownMenuSubContent";var n4,i4=W6,a4=X6,o4=q6,s4=Y6,l4=Q6,u4=Z6,c4=K6,d4=$6,h4=J6,m4=e4,f4=e=>{const{__scopeDropdownMenu:t,children:r,open:n,onOpenChange:i,defaultOpen:a}=e,o=F6(t),[s,l]=X$({prop:n,defaultProp:a??!1,onChange:i,caller:"DropdownMenuSub"});return(0,$Z.jsx)(k6,{...o,open:s,onOpenChange:l,children:r})},g4=t4,p4=r4,v4="HoverCard",[b4,C4]=B$(v4,[H0]),y4=H0(),[_4,w4]=b4(v4),E4=e=>{const{__scopeHoverCard:t,children:r,open:n,defaultOpen:i,onOpenChange:a,openDelay:o=700,closeDelay:s=300}=e,l=y4(t),u=_q.useRef(0),c=_q.useRef(0),d=_q.useRef(!1),h=_q.useRef(!1),[m,f]=X$({prop:n,defaultProp:i??!1,onChange:a,caller:v4}),g=_q.useCallback(()=>{clearTimeout(c.current),u.current=window.setTimeout(()=>f(!0),o)},[o,f]),p=_q.useCallback(()=>{clearTimeout(u.current),d.current||h.current||(c.current=window.setTimeout(()=>f(!1),s))},[s,f]),v=_q.useCallback(()=>f(!1),[f]);return _q.useEffect(()=>()=>{clearTimeout(u.current),clearTimeout(c.current)},[]),(0,$Z.jsx)(_4,{scope:t,open:m,onOpenChange:f,onOpen:g,onClose:p,onDismiss:v,hasSelectionRef:d,isPointerDownOnContentRef:h,children:(0,$Z.jsx)(i2,{...l,children:r})})};E4.displayName=v4;var S4="HoverCardTrigger",A4=_q.forwardRef((e,t)=>{const{__scopeHoverCard:r,...n}=e,i=w4(S4,r),a=y4(r);return(0,$Z.jsx)(a2,{asChild:!0,...a,children:(0,$Z.jsx)(K$.a,{"data-state":i.open?"open":"closed",...n,ref:t,onPointerEnter:U$(e.onPointerEnter,L4(i.onOpen)),onPointerLeave:U$(e.onPointerLeave,L4(i.onClose)),onFocus:U$(e.onFocus,i.onOpen),onBlur:U$(e.onBlur,i.onClose),onTouchStart:U$(e.onTouchStart,e=>e.preventDefault())})})});A4.displayName=S4;var I4="HoverCardPortal",[R4,x4]=b4(I4,{forceMount:void 0}),T4=e=>{const{__scopeHoverCard:t,forceMount:r,children:n,container:i}=e,a=w4(I4,t);return(0,$Z.jsx)(R4,{scope:t,forceMount:r,children:(0,$Z.jsx)(bJ,{present:r||a.open,children:(0,$Z.jsx)(vJ,{asChild:!0,container:i,children:n})})})};T4.displayName=I4;var N4="HoverCardContent",M4=_q.forwardRef((e,t)=>{const r=x4(N4,e.__scopeHoverCard),{forceMount:n=r.forceMount,...i}=e,a=w4(N4,e.__scopeHoverCard);return(0,$Z.jsx)(bJ,{present:n||a.open,children:(0,$Z.jsx)(O4,{"data-state":a.open?"open":"closed",...i,onPointerEnter:U$(e.onPointerEnter,L4(a.onOpen)),onPointerLeave:U$(e.onPointerLeave,L4(a.onClose)),ref:t})})});M4.displayName=N4;var O4=_q.forwardRef((e,t)=>{const{__scopeHoverCard:r,onEscapeKeyDown:n,onPointerDownOutside:i,onFocusOutside:a,onInteractOutside:o,...s}=e,l=w4(N4,r),u=y4(r),c=_q.useRef(null),d=x$(t,c),[h,m]=_q.useState(!1);return _q.useEffect(()=>{if(h){const e=document.body;return n4=e.style.userSelect||e.style.webkitUserSelect,e.style.userSelect="none",e.style.webkitUserSelect="none",()=>{e.style.userSelect=n4,e.style.webkitUserSelect=n4}}},[h]),_q.useEffect(()=>{if(c.current){const e=()=>{m(!1),l.isPointerDownOnContentRef.current=!1,setTimeout(()=>{""!==document.getSelection()?.toString()&&(l.hasSelectionRef.current=!0)})};return document.addEventListener("pointerup",e),()=>{document.removeEventListener("pointerup",e),l.hasSelectionRef.current=!1,l.isPointerDownOnContentRef.current=!1}}},[l.isPointerDownOnContentRef,l.hasSelectionRef]),_q.useEffect(()=>{c.current&&function(e){const t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP});for(;r.nextNode();)t.push(r.currentNode);return t}(c.current).forEach(e=>e.setAttribute("tabindex","-1"))}),(0,$Z.jsx)(nJ,{asChild:!0,disableOutsidePointerEvents:!1,onInteractOutside:o,onEscapeKeyDown:n,onPointerDownOutside:i,onFocusOutside:U$(a,e=>{e.preventDefault()}),onDismiss:l.onDismiss,children:(0,$Z.jsx)(o2,{...u,...s,onPointerDown:U$(s.onPointerDown,e=>{e.currentTarget.contains(e.target)&&m(!0),l.hasSelectionRef.current=!1,l.isPointerDownOnContentRef.current=!0}),ref:d,style:{...s.style,userSelect:h?"text":void 0,WebkitUserSelect:h?"text":void 0,"--radix-hover-card-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-hover-card-content-available-width":"var(--radix-popper-available-width)","--radix-hover-card-content-available-height":"var(--radix-popper-available-height)","--radix-hover-card-trigger-width":"var(--radix-popper-anchor-width)","--radix-hover-card-trigger-height":"var(--radix-popper-anchor-height)"}})})});function L4(e){return t=>"touch"===t.pointerType?void 0:e()}_q.forwardRef((e,t)=>{const{__scopeHoverCard:r,...n}=e,i=y4(r);return(0,$Z.jsx)(s2,{...i,...n,ref:t})}).displayName="HoverCardArrow";var k4=E4,P4=A4,D4=T4,U4=M4;const B4=Array(12).fill(0),V4=({visible:e,className:t})=>_q.createElement("div",{className:["sonner-loading-wrapper",t].filter(Boolean).join(" "),"data-visible":e},_q.createElement("div",{className:"sonner-spinner"},B4.map((e,t)=>_q.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${t}`})))),F4=_q.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},_q.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),j4=_q.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},_q.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),H4=_q.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},_q.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),W4=_q.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},_q.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),z4=_q.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},_q.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),_q.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"}));let X4=1;const q4=new class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{const t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{var t;const{message:r,...n}=e,i="number"==typeof(null==e?void 0:e.id)||(null==(t=e.id)?void 0:t.length)>0?e.id:X4++,a=this.toasts.find(e=>e.id===i),o=void 0===e.dismissible||e.dismissible;return this.dismissedToasts.has(i)&&this.dismissedToasts.delete(i),a?this.toasts=this.toasts.map(t=>t.id===i?(this.publish({...t,...e,id:i,title:r}),{...t,...e,id:i,dismissible:o,title:r}):t):this.addToast({title:r,...n,dismissible:o,id:i}),i},this.dismiss=e=>(e?(this.dismissedToasts.add(e),requestAnimationFrame(()=>this.subscribers.forEach(t=>t({id:e,dismiss:!0})))):this.toasts.forEach(e=>{this.subscribers.forEach(t=>t({id:e.id,dismiss:!0}))}),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:"error"}),this.success=(e,t)=>this.create({...t,type:"success",message:e}),this.info=(e,t)=>this.create({...t,type:"info",message:e}),this.warning=(e,t)=>this.create({...t,type:"warning",message:e}),this.loading=(e,t)=>this.create({...t,type:"loading",message:e}),this.promise=(e,t)=>{if(!t)return;let r;void 0!==t.loading&&(r=this.create({...t,promise:e,type:"loading",message:t.loading,description:"function"!=typeof t.description?t.description:void 0}));const n=Promise.resolve(e instanceof Function?e():e);let i,a=void 0!==r;const o=n.then(async e=>{if(i=["resolve",e],_q.isValidElement(e))a=!1,this.create({id:r,type:"default",message:e});else if(G4(e)&&!e.ok){a=!1;const n="function"==typeof t.error?await t.error(`HTTP error! status: ${e.status}`):t.error,i="function"==typeof t.description?await t.description(`HTTP error! status: ${e.status}`):t.description,o="object"!=typeof n||_q.isValidElement(n)?{message:n}:n;this.create({id:r,type:"error",description:i,...o})}else if(e instanceof Error){a=!1;const n="function"==typeof t.error?await t.error(e):t.error,i="function"==typeof t.description?await t.description(e):t.description,o="object"!=typeof n||_q.isValidElement(n)?{message:n}:n;this.create({id:r,type:"error",description:i,...o})}else if(void 0!==t.success){a=!1;const n="function"==typeof t.success?await t.success(e):t.success,i="function"==typeof t.description?await t.description(e):t.description,o="object"!=typeof n||_q.isValidElement(n)?{message:n}:n;this.create({id:r,type:"success",description:i,...o})}}).catch(async e=>{if(i=["reject",e],void 0!==t.error){a=!1;const n="function"==typeof t.error?await t.error(e):t.error,i="function"==typeof t.description?await t.description(e):t.description,o="object"!=typeof n||_q.isValidElement(n)?{message:n}:n;this.create({id:r,type:"error",description:i,...o})}}).finally(()=>{a&&(this.dismiss(r),r=void 0),null==t.finally||t.finally.call(t)}),s=()=>new Promise((e,t)=>o.then(()=>"reject"===i[0]?t(i[1]):e(i[1])).catch(t));return"string"!=typeof r&&"number"!=typeof r?{unwrap:s}:Object.assign(r,{unwrap:s})},this.custom=(e,t)=>{const r=(null==t?void 0:t.id)||X4++;return this.create({jsx:e(r),id:r,...t}),r},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},G4=e=>e&&"object"==typeof e&&"ok"in e&&"boolean"==typeof e.ok&&"status"in e&&"number"==typeof e.status,Y4=Object.assign((e,t)=>{const r=(null==t?void 0:t.id)||X4++;return q4.addToast({title:e,...t,id:r}),r},{success:q4.success,info:q4.info,warning:q4.warning,error:q4.error,custom:q4.custom,message:q4.message,promise:q4.promise,dismiss:q4.dismiss,loading:q4.loading},{getHistory:()=>q4.toasts,getToasts:()=>q4.getActiveToasts()});function Q4(e){return void 0!==e.label}!function(e){if("undefined"==typeof document)return;let t=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",t.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");const Z4=3,K4=14;function $4(...e){return e.filter(Boolean).join(" ")}const J4=e=>{var t,r,n,i,a,o,s,l,u;const{invert:c,toast:d,unstyled:h,interacting:m,setHeights:f,visibleToasts:g,heights:p,index:v,toasts:b,expanded:C,removeToast:y,defaultRichColors:_,closeButton:w,style:E,cancelButtonStyle:S,actionButtonStyle:A,className:I="",descriptionClassName:R="",duration:x,position:T,gap:N,expandByDefault:M,classNames:O,icons:L,closeButtonAriaLabel:k="Close toast"}=e,[P,D]=_q.useState(null),[U,B]=_q.useState(null),[V,F]=_q.useState(!1),[j,H]=_q.useState(!1),[W,z]=_q.useState(!1),[X,q]=_q.useState(!1),[G,Y]=_q.useState(!1),[Q,Z]=_q.useState(0),[K,$]=_q.useState(0),J=_q.useRef(d.duration||x||4e3),ee=_q.useRef(null),te=_q.useRef(null),re=0===v,ne=v+1<=g,ie=d.type,ae=!1!==d.dismissible,oe=d.className||"",se=d.descriptionClassName||"",le=_q.useMemo(()=>p.findIndex(e=>e.toastId===d.id)||0,[p,d.id]),ue=_q.useMemo(()=>{var e;return null!=(e=d.closeButton)?e:w},[d.closeButton,w]),ce=_q.useMemo(()=>d.duration||x||4e3,[d.duration,x]),de=_q.useRef(0),he=_q.useRef(0),me=_q.useRef(0),fe=_q.useRef(null),[ge,pe]=T.split("-"),ve=_q.useMemo(()=>p.reduce((e,t,r)=>r>=le?e:e+t.height,0),[p,le]),be=(()=>{const[e,t]=_q.useState(document.hidden);return _q.useEffect(()=>{const e=()=>{t(document.hidden)};return document.addEventListener("visibilitychange",e),()=>window.removeEventListener("visibilitychange",e)},[]),e})(),Ce=d.invert||c,ye="loading"===ie;he.current=_q.useMemo(()=>le*N+ve,[le,ve]),_q.useEffect(()=>{J.current=ce},[ce]),_q.useEffect(()=>{F(!0)},[]),_q.useEffect(()=>{const e=te.current;if(e){const t=e.getBoundingClientRect().height;return $(t),f(e=>[{toastId:d.id,height:t,position:d.position},...e]),()=>f(e=>e.filter(e=>e.toastId!==d.id))}},[f,d.id]),_q.useLayoutEffect(()=>{if(!V)return;const e=te.current,t=e.style.height;e.style.height="auto";const r=e.getBoundingClientRect().height;e.style.height=t,$(r),f(e=>e.find(e=>e.toastId===d.id)?e.map(e=>e.toastId===d.id?{...e,height:r}:e):[{toastId:d.id,height:r,position:d.position},...e])},[V,d.title,d.description,f,d.id,d.jsx,d.action,d.cancel]);const _e=_q.useCallback(()=>{H(!0),Z(he.current),f(e=>e.filter(e=>e.toastId!==d.id)),setTimeout(()=>{y(d)},200)},[d,y,f,he]);_q.useEffect(()=>{if(d.promise&&"loading"===ie||d.duration===1/0||"loading"===d.type)return;let e;return C||m||be?(()=>{if(me.current{null==d.onAutoClose||d.onAutoClose.call(d,d),_e()},J.current)),()=>clearTimeout(e)},[C,m,d,ie,be,_e]),_q.useEffect(()=>{d.delete&&(_e(),null==d.onDismiss||d.onDismiss.call(d,d))},[_e,d.delete]);const we=d.icon||(null==L?void 0:L[ie])||(e=>{switch(e){case"success":return F4;case"info":return H4;case"warning":return j4;case"error":return W4;default:return null}})(ie);var Ee,Se;return _q.createElement("li",{tabIndex:0,ref:te,className:$4(I,oe,null==O?void 0:O.toast,null==d||null==(t=d.classNames)?void 0:t.toast,null==O?void 0:O.default,null==O?void 0:O[ie],null==d||null==(r=d.classNames)?void 0:r[ie]),"data-sonner-toast":"","data-rich-colors":null!=(Ee=d.richColors)?Ee:_,"data-styled":!Boolean(d.jsx||d.unstyled||h),"data-mounted":V,"data-promise":Boolean(d.promise),"data-swiped":G,"data-removed":j,"data-visible":ne,"data-y-position":ge,"data-x-position":pe,"data-index":v,"data-front":re,"data-swiping":W,"data-dismissible":ae,"data-type":ie,"data-invert":Ce,"data-swipe-out":X,"data-swipe-direction":U,"data-expanded":Boolean(C||M&&V),"data-testid":d.testId,style:{"--index":v,"--toasts-before":v,"--z-index":b.length-v,"--offset":`${j?Q:he.current}px`,"--initial-height":M?"auto":`${K}px`,...E,...d.style},onDragEnd:()=>{z(!1),D(null),fe.current=null},onPointerDown:e=>{2!==e.button&&!ye&&ae&&(ee.current=new Date,Z(he.current),e.target.setPointerCapture(e.pointerId),"BUTTON"!==e.target.tagName&&(z(!0),fe.current={x:e.clientX,y:e.clientY}))},onPointerUp:()=>{var e,t,r;if(X||!ae)return;fe.current=null;const n=Number((null==(e=te.current)?void 0:e.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),i=Number((null==(t=te.current)?void 0:t.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),a=(new Date).getTime()-(null==(r=ee.current)?void 0:r.getTime()),o="x"===P?n:i,s=Math.abs(o)/a;if(Math.abs(o)>=45||s>.11)return Z(he.current),null==d.onDismiss||d.onDismiss.call(d,d),B("x"===P?n>0?"right":"left":i>0?"down":"up"),_e(),void q(!0);var l,u;null==(l=te.current)||l.style.setProperty("--swipe-amount-x","0px"),null==(u=te.current)||u.style.setProperty("--swipe-amount-y","0px"),Y(!1),z(!1),D(null)},onPointerMove:t=>{var r,n,i;if(!fe.current||!ae)return;if((null==(r=window.getSelection())?void 0:r.toString().length)>0)return;const a=t.clientY-fe.current.y,o=t.clientX-fe.current.x;var s;const l=null!=(s=e.swipeDirections)?s:function(e){const[t,r]=e.split("-"),n=[];return t&&n.push(t),r&&n.push(r),n}(T);!P&&(Math.abs(o)>1||Math.abs(a)>1)&&D(Math.abs(o)>Math.abs(a)?"x":"y");let u={x:0,y:0};const c=e=>1/(1.5+Math.abs(e)/20);if("y"===P){if(l.includes("top")||l.includes("bottom"))if(l.includes("top")&&a<0||l.includes("bottom")&&a>0)u.y=a;else{const e=a*c(a);u.y=Math.abs(e)0)u.x=o;else{const e=o*c(o);u.x=Math.abs(e)0||Math.abs(u.y)>0)&&Y(!0),null==(n=te.current)||n.style.setProperty("--swipe-amount-x",`${u.x}px`),null==(i=te.current)||i.style.setProperty("--swipe-amount-y",`${u.y}px`)}},ue&&!d.jsx&&"loading"!==ie?_q.createElement("button",{"aria-label":k,"data-disabled":ye,"data-close-button":!0,onClick:ye||!ae?()=>{}:()=>{_e(),null==d.onDismiss||d.onDismiss.call(d,d)},className:$4(null==O?void 0:O.closeButton,null==d||null==(n=d.classNames)?void 0:n.closeButton)},null!=(Se=null==L?void 0:L.close)?Se:z4):null,(ie||d.icon||d.promise)&&null!==d.icon&&(null!==(null==L?void 0:L[ie])||d.icon)?_q.createElement("div",{"data-icon":"",className:$4(null==O?void 0:O.icon,null==d||null==(i=d.classNames)?void 0:i.icon)},d.promise||"loading"===d.type&&!d.icon?d.icon||function(){var e,t;return(null==L?void 0:L.loading)?_q.createElement("div",{className:$4(null==O?void 0:O.loader,null==d||null==(t=d.classNames)?void 0:t.loader,"sonner-loader"),"data-visible":"loading"===ie},L.loading):_q.createElement(V4,{className:$4(null==O?void 0:O.loader,null==d||null==(e=d.classNames)?void 0:e.loader),visible:"loading"===ie})}():null,"loading"!==d.type?we:null):null,_q.createElement("div",{"data-content":"",className:$4(null==O?void 0:O.content,null==d||null==(a=d.classNames)?void 0:a.content)},_q.createElement("div",{"data-title":"",className:$4(null==O?void 0:O.title,null==d||null==(o=d.classNames)?void 0:o.title)},d.jsx?d.jsx:"function"==typeof d.title?d.title():d.title),d.description?_q.createElement("div",{"data-description":"",className:$4(R,se,null==O?void 0:O.description,null==d||null==(s=d.classNames)?void 0:s.description)},"function"==typeof d.description?d.description():d.description):null),_q.isValidElement(d.cancel)?d.cancel:d.cancel&&Q4(d.cancel)?_q.createElement("button",{"data-button":!0,"data-cancel":!0,style:d.cancelButtonStyle||S,onClick:e=>{Q4(d.cancel)&&ae&&(null==d.cancel.onClick||d.cancel.onClick.call(d.cancel,e),_e())},className:$4(null==O?void 0:O.cancelButton,null==d||null==(l=d.classNames)?void 0:l.cancelButton)},d.cancel.label):null,_q.isValidElement(d.action)?d.action:d.action&&Q4(d.action)?_q.createElement("button",{"data-button":!0,"data-action":!0,style:d.actionButtonStyle||A,onClick:e=>{Q4(d.action)&&(null==d.action.onClick||d.action.onClick.call(d.action,e),e.defaultPrevented||_e())},className:$4(null==O?void 0:O.actionButton,null==d||null==(u=d.classNames)?void 0:u.actionButton)},d.action.label):null)};function e7(){if("undefined"==typeof window)return"ltr";if("undefined"==typeof document)return"ltr";const e=document.documentElement.getAttribute("dir");return"auto"!==e&&e?e:window.getComputedStyle(document.documentElement).direction}function t7(e,t){const r={};return[e,t].forEach((e,t)=>{const n=1===t,i=n?"--mobile-offset":"--offset",a=n?"16px":"24px";function o(e){["top","right","bottom","left"].forEach(t=>{r[`${i}-${t}`]="number"==typeof e?`${e}px`:e})}"number"==typeof e||"string"==typeof e?o(e):"object"==typeof e?["top","right","bottom","left"].forEach(t=>{void 0===e[t]?r[`${i}-${t}`]=a:r[`${i}-${t}`]="number"==typeof e[t]?`${e[t]}px`:e[t]}):o(a)}),r}const r7=_q.forwardRef(function(e,t){const{id:r,invert:n,position:i="bottom-right",hotkey:a=["altKey","KeyT"],expand:o,closeButton:s,className:l,offset:u,mobileOffset:c,theme:d="light",richColors:h,duration:m,style:f,visibleToasts:g=Z4,toastOptions:p,dir:v=e7(),gap:b=K4,icons:C,containerAriaLabel:y="Notifications"}=e,[_,w]=_q.useState([]),E=_q.useMemo(()=>r?_.filter(e=>e.toasterId===r):_.filter(e=>!e.toasterId),[_,r]),S=_q.useMemo(()=>Array.from(new Set([i].concat(E.filter(e=>e.position).map(e=>e.position)))),[E,i]),[A,I]=_q.useState([]),[R,x]=_q.useState(!1),[T,N]=_q.useState(!1),[M,O]=_q.useState("system"!==d?d:"undefined"!=typeof window&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),L=_q.useRef(null),k=a.join("+").replace(/Key/g,"").replace(/Digit/g,""),P=_q.useRef(null),D=_q.useRef(!1),U=_q.useCallback(e=>{w(t=>{var r;return(null==(r=t.find(t=>t.id===e.id))?void 0:r.delete)||q4.dismiss(e.id),t.filter(({id:t})=>t!==e.id)})},[]);return _q.useEffect(()=>q4.subscribe(e=>{e.dismiss?requestAnimationFrame(()=>{w(t=>t.map(t=>t.id===e.id?{...t,delete:!0}:t))}):setTimeout(()=>{q$.flushSync(()=>{w(t=>{const r=t.findIndex(t=>t.id===e.id);return-1!==r?[...t.slice(0,r),{...t[r],...e},...t.slice(r+1)]:[e,...t]})})})}),[_]),_q.useEffect(()=>{if("system"!==d)return void O(d);if("system"===d&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?O("dark"):O("light")),"undefined"==typeof window)return;const e=window.matchMedia("(prefers-color-scheme: dark)");try{e.addEventListener("change",({matches:e})=>{O(e?"dark":"light")})}catch(t){e.addListener(({matches:e})=>{try{O(e?"dark":"light")}catch(e){console.error(e)}})}},[d]),_q.useEffect(()=>{_.length<=1&&x(!1)},[_]),_q.useEffect(()=>{const e=e=>{var t,r;a.every(t=>e[t]||e.code===t)&&(x(!0),null==(r=L.current)||r.focus()),"Escape"!==e.code||document.activeElement!==L.current&&!(null==(t=L.current)?void 0:t.contains(document.activeElement))||x(!1)};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[a]),_q.useEffect(()=>{if(L.current)return()=>{P.current&&(P.current.focus({preventScroll:!0}),P.current=null,D.current=!1)}},[L.current]),_q.createElement("section",{ref:t,"aria-label":`${y} ${k}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},S.map((t,r)=>{var i;const[a,d]=t.split("-");return E.length?_q.createElement("ol",{key:t,dir:"auto"===v?e7():v,tabIndex:-1,ref:L,className:l,"data-sonner-toaster":!0,"data-sonner-theme":M,"data-y-position":a,"data-x-position":d,style:{"--front-toast-height":`${(null==(i=A[0])?void 0:i.height)||0}px`,"--width":"356px","--gap":`${b}px`,...f,...t7(u,c)},onBlur:e=>{D.current&&!e.currentTarget.contains(e.relatedTarget)&&(D.current=!1,P.current&&(P.current.focus({preventScroll:!0}),P.current=null))},onFocus:e=>{e.target instanceof HTMLElement&&"false"===e.target.dataset.dismissible||D.current||(D.current=!0,P.current=e.relatedTarget)},onMouseEnter:()=>x(!0),onMouseMove:()=>x(!0),onMouseLeave:()=>{T||x(!1)},onDragEnd:()=>x(!1),onPointerDown:e=>{e.target instanceof HTMLElement&&"false"===e.target.dataset.dismissible||N(!0)},onPointerUp:()=>N(!1)},E.filter(e=>!e.position&&0===r||e.position===t).map((r,i)=>{var a,l;return _q.createElement(J4,{key:r.id,icons:C,index:i,toast:r,defaultRichColors:h,duration:null!=(a=null==p?void 0:p.duration)?a:m,className:null==p?void 0:p.className,descriptionClassName:null==p?void 0:p.descriptionClassName,invert:n,visibleToasts:g,closeButton:null!=(l=null==p?void 0:p.closeButton)?l:s,interacting:T,position:t,style:null==p?void 0:p.style,unstyled:null==p?void 0:p.unstyled,classNames:null==p?void 0:p.classNames,cancelButtonStyle:null==p?void 0:p.cancelButtonStyle,actionButtonStyle:null==p?void 0:p.actionButtonStyle,closeButtonAriaLabel:null==p?void 0:p.closeButtonAriaLabel,removeToast:U,toasts:E.filter(e=>e.position==r.position),heights:A.filter(e=>e.position==r.position),setHeights:I,expandByDefault:o,gap:b,expanded:R,swipeDirections:e.swipeDirections})})):null}))});function n7(){return n7=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const r=O$(`Primitive.${t}`),n=_q.forwardRef((e,n)=>{const{asChild:i,...a}=e,o=i?r:t;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,$Z.jsx)(o,{...a,ref:n})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{}),w7="horizontal",E7=["horizontal","vertical"],S7=_q.forwardRef((e,t)=>{const{decorative:r,orientation:n=w7,...i}=e,a=function(e){return E7.includes(e)}(n)?n:w7,o=r?{role:"none"}:{"aria-orientation":"vertical"===a?a:void 0,role:"separator"};return(0,$Z.jsx)(_7.div,{"data-orientation":a,...o,...i,ref:t})});S7.displayName="Separator";var A7=S7,I7=o(5338),R7=o.t(I7,2);function x7(...e){return w$(NK(e))}const T7=A$("\n univer-relative univer-inline-block univer-overflow-hidden univer-whitespace-nowrap univer-bg-gray-200\n univer-text-center univer-align-middle univer-text-white\n ",{variants:{shape:{circle:"univer-rounded-full",square:"univer-rounded"},size:{middle:"univer-size-9 univer-leading-9",small:"univer-size-7 univer-leading-7"}},defaultVariants:{shape:"circle",size:"middle"}});function N7(e){let{children:t,className:r,style:n,title:i,alt:a,shape:o="circle",size:s="middle",src:l,fit:u="fill",onError:c,onLoad:d}=e,h="number"==typeof s?{width:`${s}px`,height:`${s}px`,lineHeight:`${s}px`}:{},m={objectFit:u};return(0,$Z.jsxs)("span",{className:x7(T7({shape:o,size:"number"==typeof s?"middle":s}),{"univer-bg-transparent":l},r),style:{...h,...n,...l&&m},children:[l&&(0,$Z.jsx)("img",{className:"univer-block univer-size-full",src:l,title:i,alt:a,onError:c,onLoad:d}),t]})}const M7=A$("\n univer-box-border univer-inline-flex univer-cursor-pointer univer-select-none univer-items-center\n univer-justify-center univer-gap-2 univer-whitespace-nowrap univer-rounded-md univer-border univer-border-solid\n univer-text-sm univer-font-medium univer-transition-colors\n disabled:univer-pointer-events-none disabled:univer-cursor-not-allowed disabled:univer-opacity-50\n [&_svg]:univer-pointer-events-none [&_svg]:univer-size-4 [&_svg]:univer-shrink-0\n ",{variants:{variant:{default:"\n univer-border-gray-200 univer-bg-white univer-text-gray-700\n hover:univer-bg-gray-100\n active:univer-bg-gray-200\n dark:!univer-border-gray-600 dark:!univer-bg-gray-700 dark:!univer-text-white\n dark:hover:!univer-bg-gray-600\n dark:active:!univer-bg-gray-700\n ",primary:"\n univer-border-primary-600 univer-bg-primary-600 univer-text-white\n hover:univer-bg-primary-500\n active:univer-bg-primary-700\n ",danger:"\n univer-border-red-500 univer-bg-red-500 univer-text-white\n hover:univer-border-red-400 hover:univer-bg-red-400\n active:univer-border-red-600 active:univer-bg-red-600\n ",text:"\n univer-border-transparent univer-bg-transparent univer-text-gray-900\n hover:univer-bg-gray-100\n active:univer-bg-gray-200\n dark:!univer-text-white\n dark:hover:!univer-bg-gray-700\n dark:active:!univer-bg-gray-600\n ",link:"\n univer-underline-current univer-border-transparent univer-bg-transparent univer-text-primary-600\n univer-underline-offset-4\n hover:univer-text-primary-500 hover:univer-underline\n active:univer-text-primary-700\n ",ghost:"\n univer-border-transparent univer-bg-transparent univer-text-gray-900\n hover:univer-bg-gray-100\n active:univer-bg-gray-200\n dark:!univer-text-white\n dark:hover:!univer-bg-gray-700\n dark:active:!univer-bg-gray-600\n "},size:{small:"univer-h-6 univer-rounded-md univer-px-1.5 univer-text-xs",middle:"univer-h-8 univer-rounded-lg univer-px-2 univer-text-sm",large:"univer-h-10 univer-rounded-lg univer-px-3 univer-text-sm"}},defaultVariants:{variant:"default",size:"middle"}}),O7=(0,_q.forwardRef)(({className:e,variant:t,size:r,asChild:n=!1,...i},a)=>(0,$Z.jsx)(n?L$:"button",{className:x7(M7({variant:t,size:r,className:e})),ref:a,"data-u-comp":"button",...i}));O7.displayName="Button";const L7=({className:e,orientation:t="horizontal",children:r})=>{let n=_q.Children.count(r),i="horizontal"===t,a="vertical"===t;return(0,$Z.jsx)("div",{className:x7("univer-grid",{"univer-grid-flow-row":a,"univer-w-fit":a},e),children:_q.Children.map(r,(e,t)=>{let r=0===t,o=t===n-1;return(0,_q.cloneElement)(e,{className:x7({"!univer-rounded-l-none":i&&!r,"!univer-rounded-r-none":i&&!o,"!univer-border-l-0":i&&!r,"!univer-rounded-t-none":a&&!r,"!univer-rounded-b-none":a&&!o,"!univer-border-t-0":a&&!r},e.props.className)})})})};function k7(){return typeof window<"u"&&typeof document<"u"}const P7=(0,_q.createContext)({mountContainer:k7()?document.body:null});function D7(e){let{children:t,locale:r,mountContainer:n}=e,i=(0,_q.useMemo)(()=>({locale:r,mountContainer:n}),[r,n]);return(0,$Z.jsx)(P7.Provider,{value:i,children:t})}const U7="univer-scrollbar-thin univer-scrollbar-track-gray-50 univer-scrollbar-thumb-gray-300 dark:!univer-scrollbar-track-gray-900 dark:!univer-scrollbar-thumb-gray-700",B7="univer-border-gray-200 dark:!univer-border-gray-600 univer-border-solid",V7=x7(B7,"univer-border"),F7=x7(B7,"univer-border-l univer-border-b univer-border-t-0 univer-border-r-0"),j7=x7(B7,"univer-border-l univer-border-b-0 univer-border-t-0 univer-border-r-0"),H7=x7(B7,"univer-border-l-0 univer-border-b-0 univer-border-t univer-border-r-0"),W7=x7(B7,"univer-border-l-0 univer-border-b univer-border-t-0 univer-border-r-0"),z7=x7(B7,"univer-border-l-0 univer-border-b-0 univer-border-t-0 univer-border-r"),X7="univer-divide-gray-200 dark:!univer-divide-gray-600 univer-divide-x univer-divide-y-0 univer-divide-solid";function q7(e){let{className:t,value:r,onValueChange:n}=e;return(0,$Z.jsxs)("div",{"data-u-comp":"time-input",className:"univer-relative univer-mx-auto univer-mt-1 univer-w-fit",children:[(0,$Z.jsx)(cK,{className:"univer-absolute univer-left-2 univer-top-1/2 -univer-translate-y-1/2 univer-text-gray-600 dark:!univer-text-gray-400"}),(0,$Z.jsx)("input",{className:x7("univer-block univer-h-7 univer-w-fit univer-appearance-none univer-rounded-md univer-bg-transparent univer-pl-6 univer-pr-2 univer-text-center univer-text-gray-800 univer-shadow univer-outline-none univer-transition-all univer-duration-200 focus:univer-border-primary-600 dark:!univer-text-white dark:focus:!univer-border-primary-500 [&::-webkit-calendar-picker-indicator]:univer-hidden [&::-webkit-calendar-picker-indicator]:univer-appearance-none",V7,t),type:"time",step:"1",value:As()(r).format("HH:mm:ss"),onChange:function(e){let[t,i,a]=e.target.value.split(":").map(Number),o=new Date(null==r?Date.now():r);o.setHours(t,i,a,0),null==n||n(o)}})]})}function G7(e){let{className:t,...r}=e;return(0,$Z.jsx)("button",{className:x7("univer-size-7 univer-rounded-md univer-border-none univer-bg-transparent univer-p-1 univer-transition-all hover:univer-bg-gray-200 dark:hover:!univer-bg-gray-600",t),type:"button",...r})}function Y7(e){let{className:t,max:r,min:n,showTime:i=!1,value:a,onValueChange:o}=e,{locale:s}=(0,_q.useContext)(P7),{year:l,weekDays:u,months:c}=null==s?void 0:s.Calendar,d=new Date,[h,m]=(0,_q.useState)((null==a?d:a).getFullYear()),[f,g]=(0,_q.useState)((null==a?d:a).getMonth()),p=function(e,t){return new Date(e,t+1,0).getDate()}(h,f),v=function(e,t){return new Date(e,t,1).getDay()}(h,f),b=(0,_q.useMemo)(()=>{let e=[];for(let t=0;tr)}return(0,$Z.jsxs)("div",{"data-u-comp":"calendar",className:x7("univer-mx-auto univer-max-w-xs univer-select-none univer-rounded univer-bg-white univer-text-gray-900 dark:!univer-bg-gray-900 dark:!univer-text-white",t),children:[(0,$Z.jsxs)("nav",{className:"univer-mb-4 univer-flex univer-items-center univer-justify-between",children:[(0,$Z.jsx)(G7,{className:"univer-text-lg univer-text-gray-500 dark:!univer-text-gray-200","aria-label":"Previous Month",onClick:function(){g(e=>0===e?(m(e=>e-1),11):e-1)},children:(0,$Z.jsx)(KZ,{className:"univer-rotate-180"})}),(0,$Z.jsxs)("span",{className:"univer-flex univer-gap-0.5 univer-text-sm univer-font-medium",children:[(0,$Z.jsx)("span",{children:h}),(0,$Z.jsx)("span",{children:l}),(0,$Z.jsx)("span",{children:c[f]})]}),(0,$Z.jsx)(G7,{className:"univer-text-lg univer-text-gray-500 dark:!univer-text-gray-200","aria-label":"Next Month",onClick:function(){g(e=>11===e?(m(e=>e+1),0):e+1)},children:(0,$Z.jsx)(KZ,{})})]}),(0,$Z.jsx)("div",{className:"univer-mb-1 univer-grid univer-grid-cols-7 univer-gap-1 univer-text-center univer-text-sm univer-text-gray-500 dark:!univer-text-gray-200",children:u.map(e=>(0,$Z.jsx)("div",{children:e},e))}),(0,$Z.jsx)("div",{className:"univer-grid univer-grid-cols-7 univer-gap-1 univer-text-center",children:b.map((e,t)=>e?(0,$Z.jsx)(G7,{className:x7({"!univer-bg-primary-600 univer-font-bold univer-text-white":!y(e)&&C(e),"dark:!univer-text-white":!y(e)&&!C(e),"!univer-bg-primary-600 univer-text-white":y(e)&&C(e),"univer-font-semibold univer-text-primary-600 dark:!univer-text-primary-500":y(e)&&!C(e),"univer-cursor-not-allowed univer-opacity-40":_(e),"univer-hover:bg-primary-100 univer-cursor-pointer univer-text-gray-800":!C(e)&&!_(e)}),onClick:()=>function(e){var t,r,n;if(_(e))return;let i=null==(t=null==a?void 0:a.getHours())?d.getHours():t,s=null==(r=null==a?void 0:a.getMinutes())?d.getMinutes():r,l=null==(n=null==a?void 0:a.getSeconds())?d.getSeconds():n;null==o||o(new Date(h,f,e,i,s,l))}(e),disabled:_(e),children:e},t):(0,$Z.jsx)("div",{},t))}),i&&(0,$Z.jsx)(q7,{value:a,onValueChange:function(e){var t;let r=e.getHours(),n=e.getMinutes(),i=e.getSeconds(),s=new Date(h,f,null==(t=null==a?void 0:a.getDate())?d.getDate():t,r,n,i);null==o||o(s)}})]})}function Q7({emptyText:e}){return(0,$Z.jsx)("section",{className:"univer-h-8 univer-px-2 univer-pr-32 univer-text-sm/8 univer-text-gray-600 dark:!univer-text-gray-200",children:e})}function Z7(e){let{value:t,options:r=[],onChange:n,contentClassName:i,wrapperClassName:a}=e,{locale:o}=(0,_q.useContext)(P7),s=(0,_q.useMemo)(()=>{let e=[r];return t.forEach((t,r)=>{let n=e[r].find(e=>e.value===t);null!=n&&n.children&&e.push(n.children)}),e},[t]);return(0,$Z.jsxs)("section",{"data-u-comp":"cascader-list",className:x7("univer-overflow-auto-y univer-grid univer-h-full univer-max-h-80 univer-grid-flow-col univer-rounded univer-py-2 univer-text-gray-900 dark:!univer-text-white [&>ul:not(:last-child)]:univer-border-0 [&>ul:not(:last-child)]:univer-border-r [&>ul:not(:last-child)]:univer-border-solid [&>ul:not(:last-child)]:univer-border-r-gray-200",V7,U7,a),children:[s.map((e,r)=>e.length?(0,$Z.jsx)("ul",{className:x7("univer-m-0 univer-h-full univer-max-h-full univer-list-none univer-overflow-auto univer-px-2",U7,i),children:e.map(e=>(0,$Z.jsx)("li",{children:(0,$Z.jsxs)("a",{className:x7("univer-relative univer-block univer-h-8 univer-cursor-pointer univer-rounded univer-text-sm/8",{"univer-px-7":r>0,"univer-px-1.5":0===r,"univer-bg-gray-200 dark:!univer-bg-gray-600":e.value===t[r]}),onClick:()=>function(e,r){if(r===t[e])return;if(t[e+1]){let i=t.slice(0,e+1);return i[e]=r,void n(i)}let i=[...t];i[e]=r,n(i)}(r,e.value),children:[r>0&&(0,$Z.jsx)("span",{className:"univer-absolute univer-left-2 univer-flex univer-h-full univer-items-center",children:e.value===t[r]&&(0,$Z.jsx)(XZ,{className:"univer-text-primary-600"})}),(0,$Z.jsx)("span",{children:e.label})]})},e.value))},r):(0,$Z.jsx)(Q7,{emptyText:null==o?void 0:o.CascaderList.empty},r)),t.length<=0&&(0,$Z.jsx)(Q7,{emptyText:null==o?void 0:o.CascaderList.empty})]})}function K7(e){let{children:t,className:r,style:n,value:i,disabled:a,direction:o="horizontal",onChange:s}=e,l=e=>{i.includes(e)?s(i.filter(t=>t!==e)):s([...i,e])};return(0,$Z.jsx)("div",{className:x7("univer-flex univer-gap-2",{"univer-flex-col":"vertical"===o},r),style:n,children:_q.Children.map(t,(e,t)=>(0,_q.isValidElement)(e)?(0,_q.cloneElement)(e,{key:t,children:e.props.children,checked:!!e.props.value&&i.includes(e.props.value),disabled:null==a?e.props.disabled:a,onChange:l}):e)})}function $7(e){let{children:t,className:r,style:n,checked:i=!1,indeterminate:a=!1,value:o,disabled:s=!1,onChange:l,contentClassName:u}=e,c=(0,_q.useRef)(null);return(0,$Z.jsxs)("label",{"data-u-comp":"checkbox",className:x7("univer-box-border univer-inline-flex univer-items-center univer-gap-2 univer-text-sm",{"univer-cursor-pointer univer-text-gray-900 dark:!univer-text-white":!s,"univer-text-gray-400":s},r),style:n,children:[(0,$Z.jsxs)("span",{className:"univer-relative univer-block",children:[(0,$Z.jsx)("input",{ref:c,className:"univer-absolute univer-size-0 univer-opacity-0",type:"checkbox",checked:i,disabled:s,onChange:function(e){if(e.stopPropagation(),l&&!s)if(void 0!==o)null==l||l(o);else{var t,r;let e=null!=(t=null==c||null==(r=c.current)?void 0:r.checked)&&t;null==l||l(e)}}}),(0,$Z.jsxs)("span",{className:x7("univer-relative univer-box-border univer-flex univer-size-4 univer-items-center univer-justify-center univer-overflow-hidden univer-rounded univer-border univer-border-solid univer-transition-colors",{"univer-opacity-50":s,"univer-border-primary-600 univer-bg-primary-600":i||a,"univer-border-gray-300 univer-bg-gray-50 dark:!univer-border-gray-500 dark:!univer-bg-gray-600":!i&&!a}),children:[i&&(0,$Z.jsx)(XZ,{className:"univer-absolute univer-left-1/2 univer-top-1/2 univer-block univer-size-3 -univer-translate-x-1/2 -univer-translate-y-1/2 univer-text-white"}),a&&!i&&(0,$Z.jsx)("span",{className:"univer-absolute univer-left-1/2 univer-top-1/2 univer-block univer-h-0.5 univer-w-2.5 -univer-translate-x-1/2 -univer-translate-y-1/2 univer-rounded univer-bg-white"})]})]}),(0,$Z.jsx)("span",{className:x7("univer-select-none",u),children:t})]})}const J7=Y1,e9=Q1,t9=(0,_q.forwardRef)(({className:e,...t},r)=>(0,$Z.jsx)(Z1,{ref:r,className:x7("data-[state=open]:univer-animate-in data-[state=open]:univer-fade-in-0 data-[state=closed]:univer-animate-out data-[state=closed]:univer-fade-out-0 univer-fixed univer-inset-0 univer-z-[1080] univer-bg-[rgba(0,0,0,0.8)]",e),...t}));t9.displayName=Z1.displayName;const r9=(0,_q.forwardRef)(({className:e,children:t,closable:r=!0,onClickClose:n,...i},a)=>(0,$Z.jsxs)(e9,{children:[(0,$Z.jsx)(t9,{}),(0,$Z.jsxs)(K1,{ref:a,className:x7("data-[state=open]:univer-animate-in data-[state=open]:univer-fade-in-0 data-[state=open]:univer-zoom-in-95 data-[state=open]:univer-slide-in-from-left-1/2 data-[state=open]:univer-slide-in-from-top-[48%] data-[state=closed]:univer-animate-out data-[state=closed]:univer-fade-out-0 data-[state=closed]:univer-zoom-out-95 data-[state=closed]:univer-slide-out-to-left-1/2 data-[state=closed]:univer-slide-out-to-top-[48%] univer-fixed univer-left-1/2 univer-top-1/2 univer-z-[1080] univer-box-border univer-grid univer-w-full univer-max-w-lg -univer-translate-x-1/2 -univer-translate-y-1/2 univer-gap-4 univer-bg-white univer-p-4 univer-text-gray-500 univer-shadow-md univer-duration-200 sm:!univer-rounded-lg dark:!univer-bg-gray-700 dark:!univer-text-gray-400",V7,e),...i,children:[t,r&&(0,$Z.jsxs)(e0,{className:"univer-absolute univer-right-4 univer-top-4 univer-size-6 univer-cursor-pointer univer-rounded-sm univer-border-none univer-bg-transparent univer-p-0 univer-transition-opacity hover:univer-opacity-100 disabled:univer-pointer-events-none",onClick:n,children:[(0,$Z.jsx)(LZ,{className:"univer-size-4 univer-text-gray-400"}),(0,$Z.jsx)("span",{className:"univer-sr-only",children:"Close"})]})]})]}));r9.displayName=K1.displayName;const n9=({className:e,...t})=>(0,$Z.jsx)("div",{className:x7("univer-flex univer-flex-col univer-space-y-1.5 univer-text-center sm:!univer-text-left",e),...t});n9.displayName="DialogHeader";const i9=({className:e,...t})=>(0,$Z.jsx)("div",{className:x7("univer-flex univer-flex-col-reverse sm:!univer-flex-row sm:!univer-justify-end sm:!univer-space-x-2",e),...t});i9.displayName="DialogFooter";const a9=(0,_q.forwardRef)(({className:e,...t},r)=>(0,$Z.jsx)($1,{ref:r,className:x7("univer-my-0 univer-text-lg univer-font-semibold univer-leading-none univer-tracking-tight univer-text-gray-900 dark:!univer-text-white",e),...t}));a9.displayName=$1.displayName;const o9=(0,_q.forwardRef)(({className:e,...t},r)=>(0,$Z.jsx)(J1,{ref:r,className:x7("univer-text-sm univer-text-gray-500",e),...t}));function s9(e){var t,r,n,i;let{className:a,children:o,style:s,open:l=!1,title:u,width:c,draggable:d=!1,defaultPosition:h,footer:m,mask:f=!0,keyboard:g=!0,closable:p=!0,maskClosable:v=!0,showOk:b,showCancel:C,onOpenChange:y,onClose:_,onOk:w,onCancel:E}=e,{locale:S}=(0,_q.useContext)(P7),{position:A,isDragging:I,setElementRef:R,handleMouseDown:x}=function(e={}){let t=(0,_q.useCallback)(()=>{let{innerWidth:e,innerHeight:t}=window;return{x:Math.max(0,(e-0)/2),y:Math.max(0,(t-0)/2)}},[]),{defaultPosition:r=t(),enabled:n=!1}=e,[i,a]=(0,_q.useState)(r),[o,s]=(0,_q.useState)(!1),l=(0,_q.useRef)(null),u=(0,_q.useRef)({x:0,y:0}),c=(0,_q.useRef)({x:0,y:0}),d=(0,_q.useRef)(!1);(0,_q.useEffect)(()=>{if(!l.current||d.current||e.defaultPosition)return;let{width:t,height:r}=l.current.getBoundingClientRect(),{innerWidth:n,innerHeight:i}=window,o=Math.max(0,(n-t)/2),s=Math.max(0,(i-r)/2);a({x:o,y:s}),u.current={x:o,y:s},d.current=!0},[e.defaultPosition]);let h=(0,_q.useCallback)((e,t)=>{if(!l.current)return{x:e,y:t};let r=l.current.getBoundingClientRect(),{clientWidth:n,clientHeight:i}=document.documentElement,a=u.current.x+(e-c.current.x),o=u.current.y+(t-c.current.y);return a<0&&(a=0),o<0&&(o=0),a+r.width>n&&(a=n-r.width),o+r.height>i&&(o=i-r.height),{x:a,y:o}},[]),m=(0,_q.useCallback)(e=>{n&&(e.preventDefault(),e.stopPropagation(),u.current={...i},c.current={x:e.clientX,y:e.clientY},s(!0),document.body.style.userSelect="none")},[n,i]),f=(0,_q.useCallback)(e=>{o&&(e.preventDefault(),e.stopPropagation(),a(h(e.clientX,e.clientY)))},[o,h]),g=(0,_q.useCallback)(()=>{s(!1),document.body.style.userSelect=""},[]);return(0,_q.useEffect)(()=>{if(n)return document.addEventListener("mousemove",f),document.addEventListener("mouseup",g),()=>{document.removeEventListener("mousemove",f),document.removeEventListener("mouseup",g)}},[n,f,g]),{position:i,isDragging:o,elementRef:l,setElementRef:t=>{if(l.current=t,t&&!d.current&&!e.defaultPosition){let{width:e,height:r}=t.getBoundingClientRect(),{innerWidth:n,innerHeight:i}=window,o=Math.max(0,(n-e)/2),s=Math.max(0,(i-r)/2);a({x:o,y:s}),u.current={x:o,y:s},d.current=!0}},handleMouseDown:m}}({defaultPosition:h,enabled:d}),T=null==m?b||C?(0,$Z.jsxs)("div",{className:"univer-flex univer-justify-end univer-gap-2",children:[C&&(0,$Z.jsx)(O7,{onClick:E,children:null==(t=null==S||null==(r=S.Confirm)?void 0:r.cancel)?"Cancel":t}),b&&(0,$Z.jsx)(O7,{variant:"primary",onClick:w,children:null==(n=null==S||null==(i=S.Confirm)?void 0:i.confirm)?"OK":n})]}):null:m,N=(0,_q.useCallback)(e=>{e&&d&&R(e)},[d,R]),M=(0,_q.useCallback)(e=>{!f&&!e||(null==y||y(e),e||null==_||_())},[_,y]);function O(){null==y||y(!1),null==_||_()}return(0,$Z.jsx)(J7,{open:l,onOpenChange:M,modal:!1!==f,children:(0,$Z.jsxs)(r9,{ref:N,className:x7(a,{"!univer-animate-none":d}),style:{...s,width:c?"number"==typeof c?`${c}px`:c:void 0,maxWidth:c?"initial":void 0,...d?{position:"absolute",margin:0,left:0,top:0,transform:`translate(${A.x}px, ${A.y}px)`,transition:I?"none":void 0,cursor:I?"grabbing":void 0}:{}},closable:p,onClickClose:O,onEscapeKeyDown:e=>{g&&O(),e.preventDefault()},onPointerDownOutside:e=>{v&&O(),e.preventDefault()},children:[(0,$Z.jsxs)(n9,{className:x7({"!univer-hidden":!u}),"data-drag-handle":d?"true":void 0,style:{cursor:d?"grab":void 0,userSelect:d?"none":void 0,touchAction:d?"none":void 0},onMouseDown:d?x:void 0,children:[(0,$Z.jsx)(a9,{children:u}),(0,$Z.jsx)(o9,{className:"univer-hidden"})]}),o,T&&(0,$Z.jsx)(i9,{children:T})]})})}o9.displayName=J1.displayName;const l9=(e,t,r)=>{let n=(r/=100)*(t/=100),i=n*(1-Math.abs(e/60%2-1)),a=r-n,o=0,s=0,l=0;return e>=0&&e<60?(o=n,s=i,l=0):e>=60&&e<120?(o=i,s=n,l=0):e>=120&&e<180?(o=0,s=n,l=i):e>=180&&e<240?(o=0,s=i,l=n):e>=240&&e<300?(o=i,s=0,l=n):e>=300&&e<360&&(o=n,s=0,l=i),[Math.round(255*(o+a)),Math.round(255*(s+a)),Math.round(255*(l+a))]},u9=(e,t,r)=>{let n=e=>e.toString(16).padStart(2,"0");return`#${n(e)}${n(t)}${n(r)}`},c9=(e,t,r)=>{e/=255,t/=255,r/=255;let n=Math.max(e,t,r),i=n-Math.min(e,t,r),a=0,o=0;return 0!==n&&(o=i/n),0!==i&&(n===e?a=(t-r)/i+(t{4===e.length&&(e=`#${e.slice(1).split("").map(e=>e+e).join("")}`);let[t,r,n]=e.match(/\w\w/g).map(e=>Number.parseInt(e,16));return c9(t,r,n)},h9=(e,t,r)=>{let[n,i,a]=l9(e,t,r);return u9(n,i,a)},m9=(e,t,r,n)=>{let[i,a,o]=l9(e,t,r);return`rgba(${i}, ${a}, ${o}, ${n})`};function f9({hsv:e,onChange:t}){let[r,n]=(0,_q.useState)(""),i=(0,_q.useMemo)(()=>h9(e[0],e[1],e[2]),[e]);(0,_q.useEffect)(()=>{n(i.replace(/^#/,""))},[i]);let a=e=>/^[0-9A-Fa-f]{6}$/.test(e);return(0,$Z.jsxs)($Z.Fragment,{children:[(0,$Z.jsx)("input",{className:x7("univer-w-full univer-px-2 !univer-pl-4 univer-uppercase focus:univer-border-primary-500 focus:univer-outline-none dark:!univer-text-white",V7),value:r,onChange:e=>{let r=e.target.value.trim();if(!(r.length>6)&&(""===r||/^[0-9A-Fa-f]*$/.test(r))&&(n(r),a(r))){let e=d9(r);e&&t&&t(...e)}},onBlur:()=>{a(r)||n(i.replace(/^#/,""))},maxLength:6,spellCheck:!1}),(0,$Z.jsx)("span",{className:"univer-absolute univer-left-1.5 univer-top-1/2 -univer-translate-y-1/2 univer-text-sm univer-text-gray-400",children:"#"})]})}function g9({hsv:e,alpha:t,format:r,onChange:n}){let[i,a]=(0,_q.useState)({r:0,g:0,b:0,a:1});(0,_q.useEffect)(()=>{let[r,n,i]=l9(e[0],e[1],e[2]);a({r:Math.round(r),g:Math.round(n),b:Math.round(i),a:null==t?1:t})},[e,t]);let o=(t,r)=>{if("a"===t){if(""!==r&&!/^\d*\.?\d*$/.test(r))return;let t=""===r?0:Number.parseFloat(r);if(t>1)return;return a({...i,a:t}),void(n&&n(e[0],e[1],e[2],t))}if(""!==r&&!/^\d*$/.test(r))return;let o=""===r?0:Number.parseInt(r,10);if(o>255)return;let s={...i,[t]:o};a(s),n&&n(...c9(s.r,s.g,s.b),i.a)},s=()=>{let[r,n,i]=l9(e[0],e[1],e[2]);a({r:Math.round(r),g:Math.round(n),b:Math.round(i),a:null==t?1:t})};return(0,$Z.jsxs)("div",{className:"univer-flex univer-items-center univer-gap-2 [&>input]:univer-w-11 [&>input]:univer-border-gray-200 [&>input]:focus:univer-border-primary-500 dark:[&>input]:!univer-border-gray-600 dark:[&>input]:!univer-text-white",children:[(0,$Z.jsx)("input",{value:i.r,onChange:e=>o("r",e.target.value),onBlur:s,maxLength:3}),(0,$Z.jsx)("input",{value:i.g,onChange:e=>o("g",e.target.value),onBlur:s,maxLength:3}),(0,$Z.jsx)("input",{value:i.b,onChange:e=>o("b",e.target.value),onBlur:s,maxLength:3}),"rgba"===r&&(0,$Z.jsx)("input",{value:i.a,onChange:e=>o("a",e.target.value),onBlur:s,maxLength:4})]})}const p9=[["#FFFFFF","#E1EFFE","#FDE8E8","#FEECDC","#FFF4B9","#DEF7EC","#D5F5F6","#EDEBFE","#FCE8F3"],["#CDD0D8","#A4CAFE","#F8B4B4","#FDBA8C","#FAC815","#84E1BC","#7EDCE2","#CABFFD","#F8B4D9"],["#979DAC","#3F83F8","#F05252","#FF5A1F","#D49D0F","#0DA471","#0694A2","#9061F9","#E74694"],["#414657","#1A56DB","#C81E1E","#B43403","#9A6D15","#046C4E","#036672","#6C2BD9","#BF125D"],["#000000","#233876","#771D1D","#8A2C0D","#634312","#014737","#014451","#4A1D96","#751A3D"]],v9=(0,_q.memo)(function({hsv:e,onChange:t,onChanged:r}){let n=(0,_q.useRef)(null),i=(0,_q.useRef)(null),[a,o]=(0,_q.useState)(!1);(0,_q.useEffect)(()=>{let t=n.current;if(!t)return;let r=t.getContext("2d");if(!r)return;let i=r.createLinearGradient(0,0,t.width,0);i.addColorStop(0,`hsl(${e[0]}, 0%, 50%)`),i.addColorStop(1,`hsl(${e[0]}, 100%, 50%)`),r.fillStyle=i,r.fillRect(0,0,t.width,t.height);let a=r.createLinearGradient(0,0,0,t.height);a.addColorStop(0,"rgba(255, 255, 255, 0)"),a.addColorStop(1,"rgba(0, 0, 0, 1)"),r.fillStyle=a,r.fillRect(0,0,t.width,t.height)},[e]);let s=r=>{r.stopPropagation();let i=n.current;if(!i)return;let a=i.getBoundingClientRect(),o=Math.max(0,Math.min(r.clientX-a.left,a.width)),s=Math.max(0,Math.min(r.clientY-a.top,a.height)),l=o/a.width*100,u=100-s/a.height*100;t(e[0],l,u)},l=(0,_q.useCallback)(()=>{o(!1)},[e]);function u(){null==r||r(e[0],e[1],e[2])}return(0,_q.useEffect)(()=>{var e;return null==(e=i.current)||e.addEventListener("mouseup",u),window.addEventListener("pointerup",l),window.addEventListener("mouseup",l),()=>{var e;null==(e=i.current)||e.removeEventListener("mouseup",u),window.removeEventListener("pointerup",l),window.removeEventListener("mouseup",l)}},[e]),(0,_q.useEffect)(()=>{let e=()=>{o(!1)};return window.addEventListener("pointerup",e),window.addEventListener("mouseup",e),()=>{window.removeEventListener("pointerup",e),window.removeEventListener("mouseup",e)}},[]),(0,$Z.jsxs)("div",{"data-u-comp":"color-picker-spectrum",ref:i,className:"univer-relative univer-overflow-hidden",children:[(0,$Z.jsx)("canvas",{ref:n,className:"univer-size-full univer-cursor-crosshair univer-rounded",onPointerDown:e=>{o(!0),s(e)},onPointerMove:e=>a&&s(e)}),(0,$Z.jsx)("div",{className:"univer-pointer-events-none univer-absolute univer-left-0 univer-top-0 univer-size-4 univer-rounded-full univer-border-2 univer-border-white univer-shadow-md univer-ring-2 univer-ring-white univer-will-change-transform",style:(()=>{var t,r,n,o;let s=null==(t=null==(r=i.current)?void 0:r.clientWidth)?0:t,l=null==(n=null==(o=i.current)?void 0:o.clientHeight)?0:n;return{transform:`translate(${e[1]/100*s-8}px, ${(100-e[2])/100*l-8}px)`,transition:a?"none":"transform 0.1s ease-out"}})()})]})}),b9=(0,_q.memo)(function({hsv:e,onChange:t,onChanged:r}){let[n,i]=(0,_q.useState)(!1),a=(0,_q.useRef)(null),o=(0,_q.useRef)(null),s=(0,_q.useCallback)(r=>{var n,i;let s=a.current;if(!s)return;let l=null==(n=null==(i=o.current)?void 0:i.clientWidth)?0:n,u=s.getBoundingClientRect(),c=u.width-l;if(c<=0)return void t(0,e[1],e[2]);let d=Math.max(0,Math.min(r-u.left,c));t(Math.round(d/c*360),e[1],e[2])},[e,t]),l=(0,_q.useCallback)(e=>{e.stopPropagation(),n&&s(e.clientX)},[n,s]),u=(0,_q.useCallback)(()=>{i(!1),null==r||r(e[0],e[1],e[2])},[e,r]);return(0,_q.useEffect)(()=>(n&&(window.addEventListener("pointermove",l),window.addEventListener("pointerup",u),window.addEventListener("mouseup",u)),()=>{window.removeEventListener("pointermove",l),window.removeEventListener("pointerup",u),window.removeEventListener("mouseup",u)}),[n,l,u]),(0,$Z.jsx)("div",{"data-u-comp":"color-picker-hue-slider",className:"univer-relative univer-w-full univer-select-none",children:(0,$Z.jsx)("div",{ref:a,className:"univer-relative univer-h-2 univer-w-full univer-cursor-pointer univer-rounded-full univer-shadow-inner",style:{background:"linear-gradient(to right,\n hsl(0, 100%, 50%),\n hsl(60, 100%, 50%),\n hsl(120, 100%, 50%),\n hsl(180, 100%, 50%),\n hsl(240, 100%, 50%),\n hsl(300, 100%, 50%),\n hsl(360, 100%, 50%))"},onPointerDown:e=>{i(!0),s(e.clientX)},children:(0,$Z.jsx)("div",{ref:o,className:"univer-absolute univer-top-1/2 univer-box-border univer-size-2 univer-rounded-full univer-bg-transparent univer-shadow-md univer-ring-2 univer-ring-white univer-transition-transform univer-duration-75 univer-will-change-transform",style:{left:(()=>{var t,r,n,i;let s=Math.min(Math.max(e[0],0),360),l=null==(t=null==(r=o.current)?void 0:r.clientWidth)?0:t,u=null==(n=null==(i=a.current)?void 0:i.clientWidth)?0:n;return s/360*(100-(u>0?l/u*100:0))+"%"})(),transform:"translateY(-50%)",transition:n?"none":"all 0.1s ease-out"}})})})}),C9=(0,_q.memo)(function({hsv:e,alpha:t,onChange:r,onChanged:n}){let[i,a]=(0,_q.useState)(!1),o=(0,_q.useRef)(null),s=(0,_q.useRef)(null),l=(0,_q.useCallback)(e=>{var t,n;let i=o.current;if(!i)return;let a=null==(t=null==(n=s.current)?void 0:n.clientWidth)?0:t,l=i.getBoundingClientRect(),u=l.width-a;if(u<=0)return void r(0);let c=Math.max(0,Math.min(e-l.left,u));r(Math.round(c/u*100)/100)},[r]),u=(0,_q.useCallback)(e=>{i&&l(e.clientX)},[i,l]),c=(0,_q.useCallback)(()=>{a(!1),null==n||n(t)},[t]);(0,_q.useEffect)(()=>(i&&(window.addEventListener("pointermove",u),window.addEventListener("pointerup",c),window.addEventListener("mouseup",c)),()=>{window.removeEventListener("pointermove",u),window.removeEventListener("pointerup",c),window.removeEventListener("mouseup",c)}),[i,u,c]);let d=l9(...e);return(0,$Z.jsxs)("div",{className:"univer-relative univer-w-full univer-select-none",children:[(0,$Z.jsx)("div",{className:"univer-absolute univer-inset-0 univer-rounded-full",style:{backgroundImage:"linear-gradient(45deg, #E3E5EA 25%, transparent 25%), linear-gradient(-45deg, #E3E5EA 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #E3E5EA 75%), linear-gradient(-45deg, transparent 75%, #E3E5EA 75%)",backgroundPosition:"0 0, 0 4px, 4px -4px, -4px 0",backgroundSize:"8px 8px"}}),(0,$Z.jsx)("div",{ref:o,className:"univer-relative univer-h-2 univer-w-full univer-cursor-pointer univer-rounded-full univer-shadow-inner",style:{background:`linear-gradient(to right, transparent, rgb(${d.join(",")}))`},onPointerDown:e=>{a(!0),l(e.clientX)},children:(0,$Z.jsx)("div",{ref:s,className:"univer-absolute univer-top-1/2 univer-box-border univer-size-2 univer-rounded-full univer-bg-transparent univer-shadow-md univer-ring-2 univer-ring-white univer-transition-transform univer-duration-75 univer-will-change-transform",style:{left:(()=>{var e,r,n,i;let a=Math.min(Math.max(100*t,0),100),l=null==(e=null==(r=s.current)?void 0:r.clientWidth)?0:e,u=null==(n=null==(i=o.current)?void 0:i.clientWidth)?0:n;return a/100*(100-(u>0?l/u*100:0))+"%"})(),transform:"translateY(-50%)",transition:i?"none":"all 0.1s ease-out"}})})]})}),y9=(0,_q.memo)(function({hsv:e,alpha:t,format:r,onChange:n}){return(0,$Z.jsx)("div",{className:"dark:![&_input]:univer-border-gray-600 dark:![&_input]:univer-text-white univer-flex univer-gap-2 [&_input]:univer-box-border [&_input]:univer-flex [&_input]:univer-h-7 [&_input]:univer-items-center [&_input]:univer-rounded [&_input]:univer-border [&_input]:univer-border-solid [&_input]:univer-border-gray-200 [&_input]:univer-bg-transparent [&_input]:univer-px-1.5 [&_input]:univer-text-sm [&_input]:univer-text-gray-700 [&_input]:univer-outline-none",children:(0,$Z.jsxs)("div",{className:"univer-relative univer-flex univer-flex-1 univer-gap-2",children:[(0,$Z.jsx)(f9,{hsv:e,onChange:n}),(0,$Z.jsx)(g9,{hsv:e,alpha:t,format:r,onChange:n})]})})}),_9=(0,_q.memo)(function({hsv:e,onChange:t}){let r=(0,_q.useCallback)(e=>{let[r,n,i]=d9(e);t(r,n,i)},[t]),n=h9(e[0],e[1],e[2]);return(0,$Z.jsx)("div",{"data-u-comp":"color-picker-presets",className:"univer-grid univer-content-center univer-gap-2",children:p9.map((e,t)=>(0,$Z.jsx)("div",{className:"univer-grid univer-grid-flow-col univer-items-center univer-justify-between univer-gap-2",children:e.map((e,i)=>(0,$Z.jsx)("button",{type:"button",className:x7("univer-box-border univer-size-5 univer-cursor-pointer univer-rounded-full univer-border univer-border-solid univer-border-transparent univer-bg-gray-300 univer-transition-shadow",{"univer-ring-2 univer-ring-offset-2 univer-ring-offset-white dark:!univer-ring-primary-600 dark:!univer-ring-offset-gray-600":e.toUpperCase()===n.toUpperCase(),"!univer-border-gray-200":0===t&&0===i}),style:{backgroundColor:e},onClick:()=>r(e)},i))},t))})});function w9({format:e="hex",value:t,onChange:r}){if(!k7)return null;let{locale:n}=(0,_q.useContext)(P7),[i,a]=(0,_q.useState)([0,100,100]),[o,s]=(0,_q.useState)(1),[l,u]=(0,_q.useState)(!1),c=(0,_q.useCallback)((e,t,r)=>l9(e,t,r),[]);function d(e,t,r){a([e,t,r])}function h(e){s(e)}function m(t,n,i,a=o){if("hex"===e){let[e,a,o]=c(t,n,i),s=u9(e,a,o);null==r||r(s)}else if("rgba"===e){let[e,o,s]=c(t,n,i);null==r||r(`rgba(${e}, ${o}, ${s}, ${a})`)}}return(0,_q.useEffect)(()=>{try{let r=t||("hex"===e?"#000000":"rgba(0, 0, 0, 1)");if("hex"===e){let[e,t,n]=d9(r);a([e,t,n]),s(1)}else if("rgba"===e){let[e,t,n,i]=(e=>{let t=e.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d*\.?\d+))?\)/);if(!t)throw Error("Invalid RGBA string");return[Number.parseInt(t[1],10),Number.parseInt(t[2],10),Number.parseInt(t[3],10),t[4]?Number.parseFloat(t[4]):1]})(r),[o,l,u]=c9(e,t,n);a([o,l,u]),s(i)}}catch(e){console.error("Invalid value:",e)}},[t,e]),(0,$Z.jsxs)("div",{"data-u-comp":"color-picker",className:"univer-cursor-default univer-space-y-2 univer-rounded-lg",onClick:e=>e.stopPropagation(),children:[(0,$Z.jsx)(_9,{hsv:i,onChange:(e,t,r)=>{d(e,t,r),h(1),m(e,t,r,1)}}),(0,$Z.jsx)("div",{className:"univer-flex univer-h-7 univer-items-center",children:(0,$Z.jsx)("a",{className:"univer-cursor-pointer univer-gap-2 univer-text-sm univer-text-gray-900 univer-transition-opacity hover:univer-opacity-80 dark:!univer-text-white",onClick:()=>u(!0),children:null==n?void 0:n.ColorPicker.more})}),(0,$Z.jsx)(s9,{className:"!univer-w-fit !univer-p-2.5",closable:!1,maskClosable:!1,open:l,onOpenChange:u,children:(0,$Z.jsxs)("div",{className:"univer-grid univer-w-64 univer-gap-2",children:[(0,$Z.jsx)(v9,{hsv:i,onChange:d}),(0,$Z.jsxs)("div",{className:"univer-flex univer-items-center univer-gap-2",children:[(0,$Z.jsx)("div",{className:"univer-size-6 univer-flex-shrink-0 univer-rounded-sm",style:{backgroundColor:"hex"===e?h9(...i):m9(...i,o)}}),(0,$Z.jsxs)("div",{className:"univer-flex-1 univer-space-y-2",children:[(0,$Z.jsx)(b9,{hsv:i,onChange:d}),"rgba"===e&&(0,$Z.jsx)(C9,{hsv:i,alpha:o,onChange:h})]})]}),(0,$Z.jsx)(y9,{hsv:i,alpha:o,format:e,onChange:(e,t,r,n)=>{d(e,t,r),void 0!==n&&h(n)}}),(0,$Z.jsxs)("footer",{className:"univer-flex univer-items-center univer-justify-end univer-gap-2",children:[(0,$Z.jsx)(O7,{onClick:()=>u(!1),children:null==n?void 0:n.ColorPicker.cancel}),(0,$Z.jsx)(O7,{variant:"primary",onClick:function(){let[t,n,a]=i;if("hex"===e){let e=h9(t,n,a);null==r||r(e)}else if("rgba"===e){let[e,i,s]=c(t,n,a);null==r||r(`rgba(${e}, ${i}, ${s}, ${o})`)}u(!1)},children:null==n?void 0:n.ColorPicker.confirm})]})]})})]})}function E9(e){let{locale:t,cancelText:r,confirmText:n,onClose:i,onConfirm:a,closable:o=!0}=e;return(0,$Z.jsxs)("footer",{className:"univer-flex univer-items-center univer-justify-end univer-gap-2",children:[o&&(0,$Z.jsx)(O7,{onClick:i,children:null==r?null==t?void 0:t.Confirm.cancel:r}),(0,$Z.jsx)(O7,{variant:"primary",onClick:a,children:null==n?null==t?void 0:t.Confirm.confirm:n})]})}function S9(e){let{children:t,visible:r=!1,title:n,cancelText:i,confirmText:a,width:o,onClose:s,onConfirm:l,closable:u=!0}=e,{locale:c}=(0,_q.useContext)(P7);return(0,$Z.jsx)(s9,{open:r,title:n,maskClosable:!1,footer:(0,$Z.jsx)(E9,{locale:c,cancelText:i,confirmText:a,onClose:s,onConfirm:l,closable:u}),onClose:s,width:o,closable:u,children:t})}function A9({...e}){return(0,$Z.jsx)(P2,{"data-slot":"popover",...e})}function I9({...e}){return(0,$Z.jsx)(D2,{"data-slot":"popover-trigger",...e})}function R9({className:e,align:t="center",sideOffset:r=4,...n}){return(0,$Z.jsx)(U2,{children:(0,$Z.jsx)(B2,{"data-slot":"popover-content",align:t,sideOffset:r,className:x7("univer-outline-hidden data-[state=open]:univer-animate-in data-[state=open]:univer-fade-in-0 data-[state=open]:univer-zoom-in-95 data-[state=closed]:univer-animate-out data-[state=closed]:univer-fade-out-0 data-[state=closed]:univer-zoom-out-95 data-[side=bottom]:univer-slide-in-from-top-2 data-[side=left]:univer-slide-in-from-right-2 data-[side=right]:univer-slide-in-from-left-2 data-[side=top]:univer-slide-in-from-bottom-2 univer-z-[1080] univer-max-h-[--radix-popper-available-height] univer-overflow-y-auto univer-rounded-md univer-bg-white univer-text-gray-900 univer-shadow-md dark:!univer-bg-gray-900 dark:!univer-text-white dark:focus-visible:!univer-border-gray-600",V7,U7,e),...n})})}function x9(e){let{children:t,overlay:r,disabled:n,open:i,onOpenChange:a,...o}=e,[s,l]=(0,_q.useState)(!1),u=void 0!==i,c=u?i:s;return(0,$Z.jsxs)(A9,{open:c,onOpenChange:function(e){n||(u||l(e),null==a||a(e))},children:[(0,$Z.jsx)(I9,{asChild:!0,children:t}),(0,$Z.jsx)(R9,{...o,children:r})]})}function T9(e){let{list:t,onListChange:r,idKey:n,itemRender:i,className:a,style:o,draggableHandle:s,rowHeight:l,margin:u=[0,0],onDragStart:c,onDragStop:d,...h}=e,[m,f]=(0,_q.useState)(t),g=(0,_q.useRef)(t),[p,v]=(0,_q.useState)(null),[b,C]=(0,_q.useState)(null),[y,_]=(0,_q.useState)(null),[w,E]=(0,_q.useState)(null),[S,A]=(0,_q.useState)(!1),I=(0,_q.useRef)(null),R=(0,_q.useRef)({x:0,y:0}),x=(0,_q.useRef)({width:0,height:0}),T=(0,_q.useRef)(null),N=(0,_q.useRef)(null),M=(0,_q.useRef)(null),O=(0,_q.useRef)(-1);(0,_q.useEffect)(()=>{p||(f(t),g.current=t)},[p,t]),(0,_q.useEffect)(()=>{A(typeof document<"u")},[]),(0,_q.useEffect)(()=>{let e=T.current;e&&(e.replaceChildren(),y&&e.appendChild(y))},[y]),(0,_q.useEffect)(()=>{if(!p)return;let e=e=>{let t=M.current;if(!t||I.current!==e.pointerId)return;E({x:e.clientX-R.current.x,y:e.clientY-R.current.y});let r=document.elementFromPoint(e.clientX,e.clientY),n=null==r?void 0:r.closest("[data-draggable-list-item-id]"),i=null==n?void 0:n.dataset.draggableListItemId;!i||i===t||(C(i),f(e=>{let r=e.findIndex(e=>k(e)===t),n=e.findIndex(e=>k(e)===i);if(r<0||n<0||r===n)return e;let a=function(e,t,r){if(t===r||t<0||r<0||t>=e.length||r>=e.length)return e;let n=[...e],[i]=n.splice(t,1);return n.splice(r,0,i),n}(e,r,n);return g.current=a,a}))},t=e=>{if(I.current!==e.pointerId)return;let t=M.current,n=O.current,i=g.current;if(t){let e=i.findIndex(e=>k(e)===t);null==d||d(void 0,{y:n},{y:e}),n>=0&&r([...i])}I.current=null,N.current=null,M.current=null,O.current=-1,C(null),_(null),E(null),v(null)};return window.addEventListener("pointermove",e),window.addEventListener("pointerup",t),window.addEventListener("pointercancel",t),()=>{window.removeEventListener("pointermove",e),window.removeEventListener("pointerup",t),window.removeEventListener("pointercancel",t)}},[p,d,r]);let L=(0,_q.useMemo)(()=>{let[e,t]=u;return{rowGap:`${t}px`,paddingLeft:e?`${e}px`:void 0,paddingRight:e?`${e}px`:void 0,...o}},[u,o]),k=e=>String(e[n]),P=p?m.find(e=>k(e)===p):null;return(0,$Z.jsxs)($Z.Fragment,{children:[(0,$Z.jsx)("div",{...h,className:x7("univer-flex univer-flex-col",p&&"univer-cursor-grabbing univer-select-none",a),style:L,children:m.map((e,t)=>{let r=k(e),n=p===r,a=b===r&&!n;return(0,$Z.jsxs)("div",{"data-draggable-list-item-id":r,className:x7("univer-relative univer-transition-all univer-duration-150",n&&"univer-opacity-0",a&&"\n univer-bg-primary-50/60\n dark:!univer-bg-primary-900/20\n univer-rounded univer-border univer-border-primary-200\n dark:!univer-border-primary-700\n "),onPointerDownCapture:e=>{if(null!==I.current||(N.current=s?e.target.closest(s)?r:null:r,N.current!==r))return;let n=e.currentTarget.getBoundingClientRect();R.current={x:e.clientX-n.left,y:e.clientY-n.top},x.current={width:n.width,height:n.height},E({x:n.left,y:n.top}),_(e.currentTarget.cloneNode(!0)),I.current=e.pointerId,M.current=r,O.current=t,v(r),g.current=m,null==c||c(void 0,{y:t}),e.preventDefault(),e.currentTarget.setPointerCapture(e.pointerId)},style:{...l?{minHeight:`${l}px`}:void 0,cursor:p?"grabbing":void 0},children:[n&&(0,$Z.jsx)("div",{className:"\n univer-bg-primary-50/50 univer-absolute univer-inset-0 univer-rounded\n univer-border univer-border-dashed univer-border-primary-300\n "}),i(e,t)]},r)})}),S&&P&&w&&(0,q$.createPortal)((0,$Z.jsx)("div",{className:x7("univer-pointer-events-none univer-fixed univer-rounded-md univer-border univer-border-gray-200 univer-bg-white univer-shadow-lg dark:!univer-border-gray-700 dark:!univer-bg-gray-800"),style:{zIndex:2147483647,left:`${w.x}px`,top:`${w.y}px`,width:`${x.current.width}px`,height:`${x.current.height}px`,opacity:.95},children:y?(0,$Z.jsx)("div",{ref:T}):i(P,m.findIndex(e=>k(e)===k(P)))}),document.body)]})}function N9({...e}){return(0,$Z.jsx)(i4,{"data-slot":"dropdown-menu",...e})}function M9({...e}){return(0,$Z.jsx)(o4,{"data-slot":"dropdown-menu-portal",...e})}function O9({...e}){return(0,$Z.jsx)(a4,{"data-slot":"dropdown-menu-trigger",...e})}function L9({...e}){return(0,$Z.jsx)(f4,{"data-slot":"dropdown-menu-sub",...e})}function k9({...e}){return(0,$Z.jsx)(c4,{"data-slot":"dropdown-menu-radio-group",...e})}function P9({className:e,inset:t,children:r,...n}){return(0,$Z.jsxs)(g4,{"data-slot":"dropdown-menu-sub-trigger","data-inset":t,className:x7("univer-flex univer-cursor-default univer-select-none univer-items-center univer-justify-between univer-gap-2 univer-rounded univer-px-2 univer-py-1.5 univer-text-sm univer-outline-none data-[state=open]:univer-bg-gray-100 focus:univer-bg-gray-100 dark:data-[state=open]:!univer-bg-gray-600 dark:focus:!univer-bg-gray-600 [&_svg]:univer-pointer-events-none [&_svg]:univer-size-4 [&_svg]:univer-shrink-0",e),...n,children:[r,(0,$Z.jsx)(KZ,{className:"ml-auto"})]})}function D9({className:e,...t}){return(0,$Z.jsx)(p4,{"data-slot":"dropdown-menu-sub-content",className:x7("data-[state=open]:univer-animate-in data-[state=open]:univer-fade-in-0 data-[state=open]:univer-zoom-in-95 data-[state=closed]:univer-animate-out data-[state=closed]:univer-fade-out-0 data-[state=closed]:univer-zoom-out-95 data-[side=bottom]:univer-slide-in-from-top-2 data-[side=left]:univer-slide-in-from-right-2 data-[side=right]:univer-slide-in-from-left-2 data-[side=top]:univer-slide-in-from-bottom-2 univer-z-[1080] univer-box-border univer-max-h-[--radix-popper-available-height] univer-overflow-y-auto univer-rounded-md univer-bg-white univer-p-1.5 univer-text-gray-900 univer-shadow-md dark:!univer-bg-gray-700 dark:!univer-text-white",V7,U7,e),...t})}function U9({className:e,sideOffset:t=4,...r}){return(0,$Z.jsx)(o4,{children:(0,$Z.jsx)(s4,{"data-slot":"dropdown-menu-content",sideOffset:t,className:x7("data-[state=open]:univer-animate-in data-[state=open]:univer-fade-in-0 data-[state=open]:univer-zoom-in-95 data-[state=closed]:univer-animate-out data-[state=closed]:univer-fade-out-0 data-[state=closed]:univer-zoom-out-95 data-[side=bottom]:univer-slide-in-from-top-2 data-[side=left]:univer-slide-in-from-right-2 data-[side=right]:univer-slide-in-from-left-2 data-[side=top]:univer-slide-in-from-bottom-2 univer-z-[1080] univer-box-border univer-max-h-[--radix-popper-available-height] univer-overflow-y-auto univer-rounded-md univer-bg-white univer-p-1.5 univer-text-gray-900 univer-shadow-md dark:!univer-bg-gray-700 dark:!univer-text-white",V7,U7,e),...r})})}function B9({className:e,inset:t,variant:r="default",...n}){return(0,$Z.jsx)(l4,{"data-slot":"dropdown-menu-item","data-inset":t,"data-variant":r,className:x7("univer-relative univer-flex univer-cursor-default univer-select-none univer-items-center univer-gap-2 univer-rounded univer-px-2 univer-py-1.5 univer-text-sm univer-outline-none univer-transition-colors data-[disabled]:univer-pointer-events-none data-[disabled]:univer-opacity-50 focus:univer-bg-gray-100 dark:focus:!univer-bg-gray-600 [&>svg]:univer-size-4 [&>svg]:univer-shrink-0",e),...n})}function V9({className:e,children:t,hideIndicator:r,checked:n,...i}){return(0,$Z.jsxs)(u4,{"data-slot":"dropdown-menu-checkbox-item",className:x7("univer-relative univer-flex univer-cursor-default univer-select-none univer-items-center univer-rounded univer-py-1.5 univer-pr-2 univer-text-sm univer-outline-none univer-transition-colors data-[disabled]:univer-pointer-events-none data-[disabled]:univer-opacity-50 focus:univer-bg-gray-100 dark:focus:!univer-bg-gray-600",{"univer-pl-8":!r,"univer-pl-2":r},e),checked:n,...i,children:[!r&&(0,$Z.jsx)("span",{className:"univer-absolute univer-left-2 univer-flex univer-size-3.5 univer-items-center univer-justify-center",children:(0,$Z.jsx)(h4,{children:(0,$Z.jsx)(XZ,{className:"univer-block univer-size-4 univer-fill-current univer-text-primary-600"})})}),t]})}function F9({className:e,children:t,hideIndicator:r,...n}){return(0,$Z.jsxs)(d4,{"data-slot":"dropdown-menu-radio-item",className:x7("univer-relative univer-flex univer-cursor-default univer-select-none univer-items-center univer-rounded univer-py-1.5 univer-pr-2 univer-text-sm univer-outline-none univer-transition-colors data-[disabled]:univer-pointer-events-none data-[disabled]:univer-opacity-50 focus:univer-bg-gray-100 dark:focus:!univer-bg-gray-600",{"univer-pl-8":!r,"univer-pl-2":r},e),...n,children:[!r&&(0,$Z.jsx)("span",{className:"univer-absolute univer-left-2 univer-flex univer-size-3.5 univer-items-center univer-justify-center",children:(0,$Z.jsx)(h4,{children:(0,$Z.jsx)(XZ,{className:"univer-block univer-size-4 univer-fill-current univer-text-primary-600"})})}),t]})}function j9({className:e,...t}){return(0,$Z.jsx)(m4,{className:x7("-univer-mx-1 univer-my-1 univer-h-px univer-bg-gray-200 dark:!univer-bg-gray-600",e),...t})}function H9(e){let{children:t,items:r,disabled:n,open:i,onOpenChange:a,...o}=e,[s,l]=(0,_q.useState)(!1),u=void 0!==i,c=u?i:s;function d(e,t){let{className:r,type:n}=e;return"separator"===n?(0,$Z.jsx)(j9,{className:r},t):"radio"===n?(0,$Z.jsx)(k9,{className:r,value:e.value,onValueChange:e.onSelect,children:e.options.map((t,r)=>{if(!("type"in t)){if(void 0===t.value)throw Error("[DropdownMenu]: `value` is required");return(0,$Z.jsx)(F9,{value:t.value,disabled:t.disabled,hideIndicator:e.hideIndicator,children:t.label},t.value)}return"separator"===t.type?(0,$Z.jsx)(j9,{className:t.className},r):null})},t):"checkbox"===n?(0,$Z.jsx)(V9,{className:r,disabled:e.disabled,checked:e.checked,onSelect:()=>{var t;null==(t=e.onSelect)||t.call(e,e.value)},children:e.label},t):"item"===n?(0,$Z.jsx)(B9,{className:r,disabled:e.disabled,onSelect:()=>{var t;null==(t=e.onSelect)||t.call(e,e)},children:e.children},t):"subItem"===n?(0,$Z.jsxs)(L9,{children:[(0,$Z.jsx)(P9,{children:e.children}),(0,$Z.jsx)(M9,{children:(0,$Z.jsx)(D9,{sideOffset:12,children:null==(i=e.options)?void 0:i.map((e,t)=>d(e,t))})})]},t):void 0;var i}return(0,$Z.jsxs)(N9,{modal:!1,open:c,onOpenChange:function(e){n||(u||l(e),null==a||a(e))},children:[(0,$Z.jsx)(O9,{asChild:!0,children:t}),(0,$Z.jsx)(U9,{className:"univer-text-sm",collisionPadding:{top:12,bottom:12},onWheel:e=>e.stopPropagation(),...o,children:r.map((e,t)=>d(e,t))})]})}const W9=(0,_q.createContext)(!1),z9=e=>{let{label:t,desc:r,children:n,style:i,className:a,error:o,contentStyle:s,collapsable:l=!1,defaultCollapsed:u=!1}=e,[c,d]=(0,_q.useState)(u);return(0,$Z.jsx)(W9.Provider,{value:!0,children:(0,$Z.jsxs)("div",{"data-u-comp":"form-layout",className:x7("univer-mb-3 univer-flex univer-flex-col",a),style:i,children:[t&&(0,$Z.jsxs)("div",{className:x7("univer-mb-2 univer-flex univer-min-h-3.5 univer-items-center univer-text-sm univer-text-gray-900 dark:!univer-text-white",{"univer-cursor-pointer":l}),onClick:()=>d(!c),children:[t,l&&(0,$Z.jsx)(hK,{className:x7("univer-ml-1 univer-transition-transform",{"univer-rotate-180":c})})]}),c&&l?null:(0,$Z.jsxs)($Z.Fragment,{children:[r&&(0,$Z.jsx)("div",{className:"univer-mt-1 univer-text-sm univer-text-gray-600 dark:!univer-text-gray-200",children:r}),n?(0,$Z.jsxs)("div",{className:x7("last:univer-mb-0 [&_[data-u-comp=input]]:univer-w-full [&_[data-u-comp=select]]:univer-w-full",{"[&_[data-u-comp=input]]:univer-border-red-500":o,"[&_[data-u-comp=select]]:univer-border-red-500":o}),style:s,children:[n,o?(0,$Z.jsx)("div",{className:"univer-mt-1 univer-text-xs univer-text-red-500",children:o}):null]}):null]})]})})},X9=e=>(0,$Z.jsx)("div",{className:"univer-flex univer-justify-between [&_[data-u-comp=form-layout]]:univer-max-w-[calc(50%-8px)] [&_[data-u-comp=form-layout]]:univer-shrink [&_[data-u-comp=form-layout]]:univer-grow",children:e.children});function q9(e){let{className:t,value:r=0,total:n=0,loop:i,text:a,onChange:o}=e,s=(0,_q.useMemo)(()=>null==a?`${r}/${n}`:a,[r,n,a]),l=n>0;return(0,$Z.jsx)("div",{"data-u-comp":"pager",className:x7("univer-flex univer-flex-shrink-0 univer-items-center univer-text-sm univer-text-gray-700 dark:!univer-text-gray-400",t),children:l?(0,$Z.jsxs)($Z.Fragment,{children:[(0,$Z.jsx)("button",{"data-u-comp":"pager-left-arrow",className:"univer-inline-flex univer-size-4 univer-cursor-pointer univer-items-center univer-rounded univer-border-none univer-bg-transparent univer-p-0 hover:univer-bg-gray-50 dark:hover:!univer-bg-gray-600",type:"button",role:"button",onClick:()=>{1===r?i&&(null==o||o(n)):null==o||o(r-1)},children:(0,$Z.jsx)(QZ,{})}),(0,$Z.jsx)("span",{className:"univer-mx-1",children:s}),(0,$Z.jsx)("button",{"data-u-comp":"pager-right-arrow",className:"univer-inline-flex univer-size-4 univer-cursor-pointer univer-items-center univer-rounded univer-border-none univer-bg-transparent univer-p-0 hover:univer-bg-gray-50 dark:hover:!univer-bg-gray-600",type:"button",role:"button",onClick:()=>{r===n?i&&(null==o||o(1)):null==o||o(r+1)},children:(0,$Z.jsx)(KZ,{})})]}):(0,$Z.jsx)("div",{className:"univer-mx-1",children:s})})}const G9="\n univer-flex univer-cursor-pointer univer-items-center univer-justify-center univer-border-none\n univer-bg-transparent univer-p-0 univer-text-current\n hover:univer-text-white\n";function Y9(e){let{className:t,images:r,open:n,onOpenChange:i}=e,[a,o]=(0,_q.useState)(!1),[s,l]=(0,_q.useState)(0),[u,c]=(0,_q.useState)(1),d=(0,_q.useRef)(null),h=(0,_q.useMemo)(()=>r[s],[s,r]);if((0,_q.useEffect)(()=>{n&&d.current&&d.current.focus()},[n]),(0,_q.useEffect)(()=>{if(!n)return;let e=e=>{"Escape"===e.key&&(null==i||i(!1))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[n,i]),(0,_q.useEffect)(()=>{if(!n){let e=setTimeout(()=>{o(!1)},150);return()=>clearTimeout(e)}o(!0)},[n]),(0,_q.useEffect)(()=>{if(!n)return;let e=e=>{e.preventDefault();let t=.001*-e.deltaY;c(e=>Math.min(Math.max(.5,e+t),2))};return window.addEventListener("wheel",e,{passive:!1}),()=>{window.removeEventListener("wheel",e)}},[n]),!n&&!a)return null;function m(e){if("reset"===e)return void c(1);let t=u+e;t<.5||t>2||c(t)}return(0,q$.createPortal)((0,$Z.jsxs)("div",{"data-u-comp":"gallery",role:"dialog","aria-modal":"true","aria-label":"Image gallery",tabIndex:-1,ref:d,className:x7("univer-absolute univer-inset-0 univer-z-[1080] univer-flex univer-size-full univer-select-none univer-items-center univer-justify-center",{"univer-animate-in univer-fade-in":n,"univer-animate-out univer-fade-out":!n},t),children:[(0,$Z.jsx)("div",{className:"univer-absolute univer-inset-0 univer-size-full univer-bg-gray-900 univer-opacity-80","aria-hidden":"true",onClick:()=>null==i?void 0:i(!1)}),(0,$Z.jsx)("div",{className:"univer-relative",children:h&&(0,$Z.jsx)("img",{className:"univer-max-h-[40vh] univer-max-w-[60vw] univer-transition-transform univer-duration-300 univer-ease-out",style:{transform:`scale(${u})`},src:h,alt:`Image ${s+1} of ${r.length}`,draggable:!1})}),(0,$Z.jsxs)("footer",{className:"univer-absolute univer-bottom-6 univer-left-1/2 univer-flex -univer-translate-x-1/2 univer-items-center univer-gap-3 univer-rounded-full univer-bg-gray-800 univer-px-6 univer-py-3 univer-text-gray-400",children:[(0,$Z.jsx)(q9,{className:"!univer-text-gray-400 [&_[data-u-comp=pager-left-arrow]:hover]:!univer-bg-gray-600 [&_[data-u-comp=pager-right-arrow]:hover]:!univer-bg-gray-600",value:s+1,total:r.length,onChange:e=>l(e-1)}),(0,$Z.jsx)("button",{type:"button","aria-label":"Zoom in",className:G9,onClick:()=>m(.25),children:(0,$Z.jsx)(fK,{"aria-hidden":"true"})}),(0,$Z.jsx)("button",{type:"button","aria-label":"Zoom out",className:G9,onClick:()=>m(-.25),children:(0,$Z.jsx)(pK,{"aria-hidden":"true"})}),(0,$Z.jsx)("button",{type:"button","aria-label":"Reset zoom",className:G9,onClick:()=>m("reset"),children:(0,$Z.jsx)(bK,{"aria-hidden":"true"})})]})]}),document.body)}const Q9=A$("\n univer-box-border univer-w-full univer-rounded-md univer-bg-white univer-transition-colors univer-duration-200\n placeholder:univer-text-gray-400\n focus:univer-border-primary-600 focus:univer-outline-none focus:univer-ring-2 focus:univer-ring-primary-50\n dark:!univer-bg-gray-700 dark:!univer-text-white\n dark:focus:!univer-ring-primary-900\n ",{variants:{size:{mini:"univer-h-7 univer-px-1.5 univer-text-sm",small:"univer-h-8 univer-px-2 univer-text-sm",middle:"univer-h-10 univer-px-3 univer-text-base",large:"univer-h-12 univer-px-4 univer-text-lg"}},defaultVariants:{size:"small"}}),Z9=(0,_q.forwardRef)(({autoFocus:e=!1,className:t,style:r,type:n="text",placeholder:i,value:a,size:o="small",allowClear:s=!1,disabled:l=!1,onClick:u,onKeyDown:c,onChange:d,onFocus:h,onBlur:m,slot:f,inputClass:g,inputStyle:p,...v},b)=>{let C=(0,_q.useMemo)(()=>s&&a&&!l||f,[s,l,f,a]),[y,_]=(0,_q.useState)(0),w=(0,_q.useRef)(null);return(0,_q.useEffect)(()=>{let e=null;return f&&w.current&&(e=new MutationObserver(()=>{w.current&&_(w.current.offsetWidth+8)}),e.observe(w.current,{childList:!0,subtree:!0}),_(w.current.offsetWidth+8)),()=>null==e?void 0:e.disconnect()},[w.current]),(0,_q.useEffect)(()=>{s&&(!f||!w.current)&&_(26)},[]),(0,$Z.jsxs)("div",{"data-u-comp":"input",className:x7("univer-relative univer-inline-flex univer-w-full univer-items-center univer-rounded-md",l&&"univer-cursor-not-allowed",t),style:r,children:[(0,$Z.jsx)("input",{ref:b,type:n,className:x7(Q9({size:o}),V7,l&&"\n univer-cursor-not-allowed univer-bg-gray-50 univer-text-gray-400\n dark:!univer-text-gray-500\n ",s&&!f&&"univer-pr-8",g),placeholder:i,value:a,disabled:l,autoFocus:e,onClick:u,onKeyDown:c,onChange:e=>{null==d||d(e.target.value)},onFocus:h,onBlur:m,style:{...p,paddingRight:y},...v}),C&&(0,$Z.jsxs)("div",{className:"univer-absolute univer-right-2 univer-flex univer-items-center univer-gap-1 univer-rounded-full",ref:w,children:[f,s&&a&&!l&&(0,$Z.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),null==d||d("")},className:"univer-flex univer-size-4 univer-cursor-pointer univer-items-center univer-rounded-full univer-border-none univer-bg-transparent univer-p-1 univer-text-gray-400 univer-transition-colors univer-duration-200 hover:univer-text-gray-500 focus:univer-outline-none",children:(0,$Z.jsx)(LZ,{className:"univer-size-3"})})]})]})}),K9=(0,_q.forwardRef)(({value:e,defaultValue:t,size:r="small",min:n=-(2**53-1),max:i=2**53-1,step:a=1,precision:o,formatter:s,parser:l,controls:u=!0,className:c,inputClassName:d,controlsClassName:h,disabled:m,onChange:f,onKeyDown:g,onPressEnter:p,onFocus:v,onBlur:b,allowEmpty:C=!1},y)=>{let[_,w]=(0,_q.useState)(void 0===e?void 0===t?null:t:e),E=(0,_q.useRef)(_),[S,A]=(0,_q.useState)(T(_)),I=(0,_q.useRef)(null),R=(0,_q.useRef)(null),x=(0,_q.useRef)(null);function T(e){if(null==e)return"";let t=e;return void 0!==o&&(t=Number(e).toFixed(o)),s?s(t):String(t)}function N(e){if(m)return;let t,r=e?a:-a;t=null===_?null===E.current?n>0?n:0:E.current:_;let o=t+r;void 0!==i&&o>i&&(o=i),void 0!==n&&o{void 0!==e&&e!==_&&(w(e),E.current=e,A(T(e)))},[e]),(0,_q.useEffect)(()=>{null!==_&&(E.current=_)},[_]),(0,_q.useEffect)(()=>()=>{R.current&&clearTimeout(R.current),x.current&&clearInterval(x.current)},[]);let O=m||void 0!==i&&null!==_&&_>=i,L=m||void 0!==n&&null!==_&&_<=n;return(0,$Z.jsx)("div",{className:x7("univer-inline-block",c),children:(0,$Z.jsxs)("div",{className:"univer-relative univer-w-full",children:[(0,$Z.jsx)(Z9,{ref:e=>{y&&("function"==typeof y?y(e):y.current=e),I.current=e},className:x7("univer-box-border",d),size:r,value:S,disabled:m,onChange:function(e){if(A(e),C&&""===e)return w(null),void(null==f||f(null));let t=function(e){if(!e)return null;let t=e;l&&(t=l(e));try{let e,r=t.replace(/[^\d.-]/g,"").split("."),a=r[0],s=r.length>1?r.slice(1).join(""):"",l=Number(a+(s?`.${s}`:""));if(Number.isNaN(l))return null;if(void 0!==o){let t=10**o,r=Math.round(l*t)/t;e=r.toString().includes("e")?Number.parseFloat(r.toFixed(o)):r}else e=l.toString().includes("e")?Number.parseFloat(l.toFixed(16).replace(/\.?0+$/,"")):l;return void 0!==i&&e>i&&(e=i),void 0!==n&&ei&&(t=i),void 0!==n&&te.preventDefault(),onClick:()=>{O||M(!0)},children:"+"}),(0,$Z.jsx)("span",{className:x7("univer-box-border univer-flex univer-h-1/2 univer-w-5 univer-cursor-pointer univer-items-center univer-justify-center univer-border-none univer-bg-transparent univer-p-0 univer-transition-colors hover:univer-bg-gray-100 dark:!univer-text-white dark:hover:!univer-bg-gray-600",L&&"univer-cursor-not-allowed univer-opacity-60"),role:"button","aria-label":"decrement","aria-disabled":L,tabIndex:-1,onMouseDown:e=>e.preventDefault(),onClick:()=>{L||M(!1)},children:"-"})]})]})})});function $9({items:e,value:t,defaultValue:r,onChange:n,className:i=""}){let[a,o]=(0,_q.useState)(void 0===t?r||e[0].value:t),[s,l]=(0,_q.useState)({}),u=(0,_q.useRef)(new Map),c=(0,_q.useRef)(null);(0,_q.useEffect)(()=>{void 0!==t&&t!==a&&o(t)},[t]);let d=(e,t)=>{let r=u.current.get(e),n=t?u.current.get(t):null;if(r&&c.current){let e=c.current.getBoundingClientRect(),t=r.getBoundingClientRect(),i=t.left-e.left-4;if(n){let r=n.getBoundingClientRect().left-e.left-4;l({"--slide-from":`${r}px`,"--slide-to":`${i}px`,width:`${t.width}px`,transform:`translateX(${i}px)`})}else l({width:`${t.width}px`,transform:`translateX(${i}px)`})}};return(0,_q.useEffect)(()=>{d(a)},[a]),(0,$Z.jsxs)("div",{"data-u-comp":"segmented",ref:c,className:x7("univer-relative univer-box-border univer-flex univer-gap-4 univer-rounded-lg univer-bg-gray-100 univer-p-1 dark:!univer-bg-gray-800",i),children:[(0,$Z.jsx)("div",{className:"univer-animate-univer-slide univer-absolute univer-h-6 univer-rounded-md univer-bg-white univer-shadow-sm univer-transition-all univer-duration-200 dark:!univer-bg-gray-700 dark:!univer-text-gray-400",style:s}),e.map(e=>(0,$Z.jsx)("button",{ref:t=>{t&&u.current.set(e.value,t)},className:x7("univer-relative univer-box-border univer-flex-1 univer-cursor-pointer univer-border-none univer-bg-transparent univer-px-3 univer-py-1 univer-text-xs univer-font-medium univer-transition-colors",{"univer-text-gray-900 dark:!univer-text-white":a===e.value,"univer-text-gray-500 hover:univer-text-gray-900 dark:hover:!univer-text-white":a!==e.value}),type:"button",onClick:()=>(e=>{let t=a;o(e),null==n||n(e),d(e,t)})(e.value),children:e.label},String(e.value)))]})}function J9(e){let{children:t,className:r,asChild:n=!0,title:i,placement:a="bottom",showIfEllipsis:o=!1,visible:s,onVisibleChange:l}=e,[u,c]=(0,_q.useState)(!1),d=void 0!==s,h=d?s:u,m=(0,_q.useRef)(null),f=(0,_q.useRef)(null),g=(0,_q.useRef)(null),[p,v]=(0,_q.useState)(null),[b,C]=(0,_q.useState)(a);function y(){d?null==l||l(!0):c(!0)}function _(){d?null==l||l(!1):c(!1)}(0,_q.useLayoutEffect)(()=>{if(!h)return;let e=m.current,t=f.current;if(!e||!t)return;let r=e.getBoundingClientRect(),n=t.getBoundingClientRect(),i=window.innerWidth,o=window.innerHeight,s=[a,"bottom","top","right","left"],l=a,u=0,c=0,d=e=>{let t=0,i=0;return"bottom"===e?(t=r.bottom+8,i=r.left+r.width/2-n.width/2):"top"===e?(t=r.top-n.height-8,i=r.left+r.width/2-n.width/2):"left"===e?(t=r.top+r.height/2-n.height/2,i=r.left-n.width-8):(t=r.top+r.height/2-n.height/2,i=r.right+8),{t,l:i}};for(let e of s){let{t,l:r}=d(e),a=r>=0&&r+n.width<=i,s=t>=0&&t+n.height<=o;if(a&&s){l=e,u=t,c=r;break}}if(!u&&!c){let e=d(a);u=Math.min(Math.max(0,e.t),o-n.height),c=Math.min(Math.max(0,e.l),i-n.width)}C(l),v({top:Math.round(u+window.scrollY),left:Math.round(c+window.scrollX)})},[h,a]),(0,_q.useEffect)(()=>{if(!h)return;let e=()=>{if(!m.current||!f.current)return;let e=m.current.getBoundingClientRect(),t=f.current.getBoundingClientRect(),r=0,n=0;"bottom"===b?(r=e.bottom+8,n=e.left+e.width/2-t.width/2):"top"===b?(r=e.top-t.height-8,n=e.left+e.width/2-t.width/2):"left"===b?(r=e.top+e.height/2-t.height/2,n=e.left-t.width-8):(r=e.top+e.height/2-t.height/2,n=e.right+8),v({top:Math.round(r+window.scrollY),left:Math.round(n+window.scrollX)})};return window.addEventListener("scroll",e,!0),window.addEventListener("resize",e),()=>{window.removeEventListener("scroll",e,!0),window.removeEventListener("resize",e)}},[h,b]);let w={ref:e=>m.current=e,onMouseEnter:()=>{o&&m.current&&!function(e){return Math.abs(e.scrollWidth-e.clientWidth)>1}(m.current)||y()},onMouseLeave:()=>_(),onFocus:()=>y(),onBlur:()=>_()},E=n?(0,$Z.jsx)("span",{...w,className:"univer-inline-block univer-max-w-full univer-truncate",children:t}):(0,$Z.jsx)("button",{type:"button",...w,children:t}),S=null;var A,I;return typeof document<"u"&&h&&i&&document.body&&(S=(0,q$.createPortal)((0,$Z.jsxs)("div",{ref:f,role:"tooltip",className:x7("univer-animate-in univer-fade-in-0 univer-zoom-in-95 univer-pointer-events-auto univer-absolute univer-z-[1081] univer-box-border univer-w-fit univer-max-w-sm univer-text-balance univer-rounded-lg univer-bg-gray-700 univer-px-2.5 univer-py-2 univer-text-xs univer-font-medium univer-text-white univer-shadow-lg univer-drop-shadow-sm dark:!univer-bg-gray-100 dark:!univer-text-gray-900",r),style:{top:null==(A=null==p?void 0:p.top)?-9999:A,left:null==(I=null==p?void 0:p.left)?-9999:I},onMouseEnter:()=>y(),onMouseLeave:()=>_(),children:[(0,$Z.jsx)("div",{className:"univer-break-words",children:i}),(0,$Z.jsx)("div",{ref:g,className:"univer-absolute univer-size-2.5 univer-rotate-45 univer-rounded-sm univer-bg-gray-700 dark:!univer-bg-gray-100",style:{..."bottom"===b&&{top:-5,left:"50%",transform:"translateX(-50%) rotate(45deg)"},..."top"===b&&{bottom:-5,left:"50%",transform:"translateX(-50%) rotate(45deg)"},..."left"===b&&{right:-5,top:"50%",transform:"translateY(-50%) rotate(45deg)"},..."right"===b&&{left:-5,top:"50%",transform:"translateY(-50%) rotate(45deg)"}}})]}),document.body)),(0,$Z.jsxs)($Z.Fragment,{children:[E,S]})}const e5=k4,t5=D4,r5=P4,n5=(0,_q.forwardRef)(({className:e,align:t="center",sideOffset:r=4,...n},i)=>(0,$Z.jsx)(U4,{ref:i,align:t,sideOffset:r,className:x7("data-[state=open]:univer-animate-in data-[state=open]:univer-fade-in-0 data-[state=open]:univer-zoom-in-95 data-[state=closed]:univer-animate-out data-[state=closed]:univer-fade-out-0 data-[state=closed]:univer-zoom-out-95 data-[side=bottom]:univer-slide-in-from-top-2 data-[side=left]:univer-slide-in-from-right-2 data-[side=right]:univer-slide-in-from-left-2 data-[side=top]:univer-slide-in-from-bottom-2 univer-z-[1080] univer-w-64 univer-origin-[--radix-hover-card-content-transform-origin] univer-rounded-md univer-bg-white univer-text-gray-900 univer-shadow-md univer-outline-none dark:!univer-bg-gray-900 dark:!univer-text-white",V7,e),...n}));function i5(e){let{children:t,overlay:r,disabled:n,openDelay:i=200,open:a,onOpenChange:o,...s}=e,[l,u]=(0,_q.useState)(!1),c=void 0!==a,d=c?a:l;return(0,$Z.jsxs)(e5,{open:d,onOpenChange:function(e){n||(c||u(e),null==o||o(e))},openDelay:i,children:[(0,$Z.jsx)(r5,{asChild:!0,children:t}),(0,$Z.jsx)(t5,{children:(0,$Z.jsx)(n5,{...s,children:r})})]})}function a5(e){let{keyboard:t,className:r}=e,n=t.split("+");return(0,$Z.jsx)("span",{className:x7("univer-inline-block univer-h-6 univer-select-none univer-whitespace-nowrap univer-rounded-md univer-bg-gray-50 univer-px-2 univer-font-mono univer-text-xs/6 univer-font-medium univer-text-gray-700 dark:!univer-bg-gray-700 dark:!univer-text-white",V7,r),children:n.map((e,t)=>(0,$Z.jsxs)($Z.Fragment,{children:[(0,$Z.jsx)("kbd",{className:"univer-inline-block univer-h-full",children:e}),t(0,$Z.jsx)(r7,{id:s5,position:"top-center",visibleToasts:4,closeButton:!1,expand:!1,icons:{loading:u5},offset:{top:16},className:x7("[&_[data-sonner-toast]]:univer-bg-white/95 dark:[&_[data-sonner-toast]]:!univer-bg-gray-800/95 [&_[data-sonner-toast]]:univer-rounded-2xl [&_[data-sonner-toast]]:univer-border [&_[data-sonner-toast]]:univer-border-solid [&_[data-sonner-toast]]:univer-border-gray-200 [&_[data-sonner-toast]]:univer-shadow-[0_16px_40px_-20px_rgba(15,23,42,0.55)] [&_[data-sonner-toast]]:univer-backdrop-blur-sm dark:[&_[data-sonner-toast]]:!univer-border-gray-600",e),toastOptions:{duration:3e3,classNames:{toast:"\n univer-group univer-min-h-0 univer-min-w-[320px] univer-max-w-[520px] univer-px-3.5 univer-py-3\n univer-font-sans univer-transition-all univer-duration-300\n ",title:"\n univer-m-0 univer-font-sans univer-text-sm univer-font-medium univer-leading-5 univer-text-gray-700\n dark:!univer-text-gray-100\n ",content:"univer-gap-2.5",icon:"[&>svg]:univer-block [&>svg]:univer-size-4",success:h5[o5.Success],info:h5[o5.Info],warning:h5[o5.Warning],error:h5[o5.Error],loading:h5[o5.Loading]}},...t}),f5=e=>{if(void 0!==e)return Y4.dismiss(e),void l5.delete(e);l5.forEach(e=>{Y4.dismiss(e)}),l5.clear()},g5=[-9999,-9999];function p5(e){let{children:t,visible:r=!1,offset:n=[0,0],overflowVisible:i=!1,placementY:a="below"}=e,o=(0,_q.useRef)(null),[s,l]=(0,_q.useState)(g5),{mountContainer:u}=(0,_q.useContext)(P7),c=()=>{let e=o.current;if(!e)return null;let[t,r]=n,{clientWidth:i,clientHeight:s}=e,{innerWidth:l,innerHeight:u}=window,c=Math.max(0,l-i-2),d=Math.max(0,u-s-2),h=Math.min(Math.max(t,0),c),m="above"===a?r-s:r;return[h,Math.min(Math.max(m,0),d)]};return(0,_q.useLayoutEffect)(()=>{if(!r)return void l(g5);let e=c();e&&l(e)},[n,a,r]),(0,_q.useEffect)(()=>{if(!r)return;let e=()=>{let e=c();e&&l(e)};return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}},[n,a,r]),(0,q$.createPortal)((0,$Z.jsx)(y7,{in:r,nodeRef:o,timeout:500,classNames:{enter:"univer-popup-enter",enterActive:"univer-popup-enter-active",enterDone:"univer-popup-enter-done",exitActive:"univer-popup-exit",exitDone:"univer-popup-exit-active"},children:(0,$Z.jsx)("section",{ref:o,className:"univer-popup",style:{left:s[0]+2,top:s[1]+2,overflow:i?"visible":void 0},onContextMenu:function(e){e.preventDefault()},children:t})}),u)}function v5(e){let{children:t,className:r,style:n,value:i,disabled:a=!1,direction:o="horizontal",onChange:s}=e,l=e=>{s(e)};return(0,$Z.jsx)("div",{className:x7("univer-flex univer-gap-2",{"univer-flex-col":"vertical"===o},r),style:n,children:_q.Children.map(t,(e,t)=>(0,_q.isValidElement)(e)?(0,_q.cloneElement)(e,{key:t,children:e.props.children,value:e.props.value,checked:i===e.props.value,disabled:null==a?e.props.disabled:a,onChange:l}):e)})}function b5(e){let{children:t,checked:r,value:n,disabled:i=!1,onChange:a}=e,o=(0,_q.useRef)(null);return(0,$Z.jsxs)("label",{"data-u-comp":"radio",className:x7("univer-box-border univer-inline-flex univer-items-center univer-gap-2 univer-text-sm",{"univer-cursor-pointer univer-text-gray-900 dark:!univer-text-white":!i,"univer-text-gray-400":i}),children:[(0,$Z.jsxs)("span",{className:"univer-relative univer-block",children:[(0,$Z.jsx)("input",{ref:o,className:"univer-absolute univer-size-0 univer-opacity-0",type:"radio",checked:r,disabled:i,onChange:function(e){if(e.stopPropagation(),a&&!i)if(void 0!==n)a&&a(n);else{let e=o.current.checked;a&&a(e)}}}),(0,$Z.jsx)("span",{className:x7("univer-relative univer-box-border univer-flex univer-size-4 univer-items-center univer-justify-center univer-overflow-hidden univer-rounded-full univer-border univer-border-solid univer-transition-colors",{"univer-opacity-50":i,"univer-border-primary-600 univer-bg-primary-600 dark:!univer-bg-primary-600":r,"univer-border-gray-300 univer-bg-gray-50 dark:!univer-border-gray-500 dark:!univer-bg-gray-600":!r}),children:r&&(0,$Z.jsx)("span",{className:"univer-absolute univer-left-1/2 univer-top-1/2 univer-block univer-size-2 -univer-translate-x-1/2 -univer-translate-y-1/2 univer-rounded-full univer-bg-white"})})]}),(0,$Z.jsx)("span",{children:t})]})}function C5(e){let{value:t,options:r=[],hideCheckMark:n=!1,onChange:i,multiple:a,className:o,optionClassName:s}=e,l=Array.isArray(t)?t:[t];return(0,$Z.jsx)("ul",{className:x7("univer-m-0 univer-grid univer-max-h-80 univer-list-none univer-gap-1 univer-overflow-y-auto univer-rounded univer-p-1.5",V7,U7,o),children:r.map((e,t)=>{let r=l.indexOf(e.value)>-1;return(0,$Z.jsx)("li",{children:(0,$Z.jsxs)("a",{className:x7("univer-relative univer-block univer-cursor-pointer univer-select-none univer-rounded univer-py-1.5 univer-pl-8 univer-pr-2 univer-text-sm univer-text-gray-900 univer-transition-colors hover:univer-bg-gray-100 dark:!univer-text-white dark:hover:!univer-bg-gray-600",s,{"univer-bg-gray-200 dark:!univer-bg-gray-500":r}),onClick:()=>function(e){let t=l.indexOf(e);i(a?t>-1?l.filter(t=>t===e):[...l,e]:t>-1?void 0:e)}(e.value),children:[!n&&r&&(0,$Z.jsx)(XZ,{className:"univer-absolute univer-left-0 univer-top-1/2 -univer-translate-y-1/2 univer-pl-2 univer-text-primary-600"}),(0,$Z.jsx)("span",{style:{color:e.color},children:e.label})]})},t)})})}const y5=x7("univer-box-border univer-inline-flex univer-h-8 univer-min-w-36 univer-items-center univer-justify-between univer-gap-2 univer-rounded-lg univer-bg-white univer-px-2.5 univer-transition-colors univer-duration-200 dark:!univer-bg-gray-700 dark:!univer-text-white",V7);function _5(e){let{className:t,value:r,disabled:n=!1,options:i=[],borderless:a=!1,onChange:o}=e,[s,l]=(0,_q.useState)(!1),u=(0,_q.useMemo)(()=>{let e=[];for(let t of i)t.options?(t.options.forEach(t=>{e.push({label:t.label,value:t.value,disabled:t.disabled})}),e.push({type:"separator"})):e.push({label:t.label,value:t.value,disabled:t.disabled});return[{type:"radio",value:r,hideIndicator:!0,options:e,onSelect:e=>{o(e)}}]},[i]),c=(0,_q.useMemo)(()=>{let e=null;for(let t of i)if(t.options){for(let n of t.options)if(n.value===r){e=n.label;break}}else if(t.value===r){e=t.label;break}return e||r},[i,r]);return(0,$Z.jsx)(H9,{className:"max-h univer-w-[--radix-popper-anchor-width] univer-min-w-36",align:"start",open:s,items:u,disabled:n,onOpenChange:function(e){l(e)},children:(0,$Z.jsxs)("div",{"data-u-comp":"select",className:x7(y5,{"univer-border-primary-600 univer-outline-none univer-ring-2 univer-ring-primary-50 dark:!univer-ring-primary-900":s&&!a,"univer-border-transparent univer-bg-transparent hover:univer-border-transparent":a,"univer-cursor-not-allowed":n,"hover:univer-border-primary-600":!n&&!a,"univer-cursor-pointer":!n&&!s},t),children:[(0,$Z.jsx)("div",{className:"univer-flex-1 univer-truncate univer-text-sm univer-text-gray-500 dark:!univer-text-white",children:c}),(0,$Z.jsx)(uQ,{className:"univer-flex-shrink-0 dark:!univer-text-white"})]})})}function w5({className:e,orientation:t="horizontal",decorative:r=!0,...n}){return(0,$Z.jsx)(A7,{"data-u-comp":"separator","data-slot":"separator-root",decorative:r,orientation:t,className:x7("univer-shrink-0 univer-bg-gray-200 data-[orientation=horizontal]:univer-h-px data-[orientation=vertical]:univer-h-full data-[orientation=horizontal]:univer-w-full data-[orientation=vertical]:univer-w-px dark:!univer-bg-gray-600",e),...n})}const E5=e=>{let{defaultChecked:t=!1,onChange:r}=e,[n,i]=(0,_q.useState)(t);return(0,_q.useEffect)(()=>{i(t)},[t]),(0,$Z.jsx)("div",{className:"univer-h-4",children:(0,$Z.jsxs)("label",{className:"univer-relative univer-inline-block univer-h-4 univer-w-7",children:[(0,$Z.jsx)("input",{className:"univer-size-0 univer-opacity-0",type:"checkbox",checked:n,onChange:()=>{i(!n),null==r||r(!n)}}),(0,$Z.jsx)("span",{className:x7("univer-absolute univer-inset-0 univer-cursor-pointer univer-rounded-2xl univer-transition-colors univer-duration-200",{"univer-bg-primary-600":n,"univer-bg-gray-200 dark:!univer-bg-gray-600":!n}),children:(0,$Z.jsx)("span",{className:x7("univer-absolute univer-bottom-0.5 univer-left-0.5 univer-size-3 univer-rounded-full univer-bg-white univer-transition-transform univer-duration-200",{"univer-translate-x-3":n})})})]})})};function S5({visibleToasts:e,...t}){return(0,$Z.jsx)(r7,{className:"dark:![&_[data-description]]:univer-text-gray-200 [&_[data-description]]:univer-text-sm [&_[data-description]]:univer-text-gray-600 [&_[data-icon]>svg]:univer-relative [&_[data-icon]>svg]:univer-top-1 [&_[data-icon]]:univer-self-baseline [&_[data-sonner-toast]]:univer-shadow-md [&_[data-title]]:univer-text-sm [&_[data-title]]:univer-text-gray-900",toastOptions:{classNames:{content:"univer-leading-normal",success:"[&_[data-icon]]:univer-text-green-500",info:"[&_[data-icon]]:univer-text-primary-600",error:"[&_[data-icon]]:univer-text-red-500",warning:"[&_[data-icon]]:univer-text-yellow-500"}},visibleToasts:null==e?5:e,...t})}function A5(e){let{data:t,itemKey:r,children:n,height:i,itemHeight:a,overscan:o=2,className:s,style:l}=e,[u,c]=(0,_q.useState)(0);if(!i||!a||a<=0)return(0,$Z.jsx)("div",{className:s,style:l,children:t.map((e,t)=>{let i="function"==typeof r?r(e):e[r];return(0,$Z.jsx)("div",{children:n(e,t)},i)})});let d=Math.max(0,Math.floor(u/a)-o),h=Math.ceil(i/a)+2*o,m=Math.min(t.length,d+h),f=d*a,g=t.length*a,p=t.slice(d,m);return(0,$Z.jsx)("div",{className:s,style:{...l,height:i,overflowY:"auto"},onScroll:e=>c(e.currentTarget.scrollTop),children:(0,$Z.jsx)("div",{style:{height:g,position:"relative"},children:(0,$Z.jsx)("div",{style:{transform:`translateY(${f}px)`},children:p.map((e,t)=>{let i="function"==typeof r?r(e):e[r];return(0,$Z.jsx)("div",{children:n(e,d+t)},i)})})})})}(0,_q.forwardRef)((e,t)=>{let r=(0,_q.useRef)(null),n=(0,_q.useRef)({width:0,height:0}),{className:i,onResize:a,onValueChange:o,...s}=e;return(0,_q.useImperativeHandle)(t,()=>r.current,[]),(0,_q.useLayoutEffect)(()=>{let e=r.current;if(e&&a){let t=new ResizeObserver(e=>{let{width:t,height:r}=e[0].target.getBoundingClientRect();0===t||0===r||(n.current.width!==t||n.current.height!==r)&&(n.current={width:t,height:r},a(t,r))});return t.observe(e),()=>{t.unobserve(e),t.disconnect()}}},[a]),(0,$Z.jsx)("textarea",{ref:r,"data-u-comp":"textarea","data-slot":"textarea",className:x7("univer-box-border univer-flex univer-w-full univer-resize univer-rounded-md univer-bg-transparent univer-p-2 univer-text-base univer-text-gray-900 univer-outline-none univer-transition-[color,box-shadow] placeholder:univer-text-gray-200 disabled:univer-cursor-not-allowed disabled:univer-opacity-50 dark:!univer-text-white",V7,U7,i),onChange:function(e){let t=e.target.value;null==o||o(t)},...s})});let I5=function(e){return e[e.ONLY_LEAF_NODE=0]="ONLY_LEAF_NODE",e[e.ALL=1]="ALL",e}({});function R5(e,t,r=1){let n=[];return e.forEach(e=>{n.push({...e,level:r}),e.children&&t.has(e.key)&&n.push(...R5(e.children,t,r+1))}),n}function x5(e){let{data:t=[],defaultCache:r,style:n,defaultExpandAll:i=!1,selectionMode:a=I5.ALL,valueGroup:o=[],onChange:s,onExpend:l,height:u=200,itemHeight:c=32,attachRender:d}=e,[h,m]=(0,_q.useState)({}),f=(0,_q.useMemo)(()=>new Set,[]),g=(0,_q.useMemo)(()=>((e,t)=>{let r=null==t?new Map:t,n=e;return{findNodePathFromTreeWithCache:e=>{let t=r.get(e);if(t)return t;let i=((e,t)=>{let r=[],n=e=>{var i;if(r.push(e.key),t===e.key||null!=(i=e.children)&&i.length&&e.children.some(n))return!0;r.pop()};return e.some(n),r})(n,e);return i.map((e,t,r)=>{let n=[];for(let e=0;e<=t;e++)n.push(r[e]);return n}).reverse().forEach(e=>{let t=e[e.length-1];r.set(t,e)}),i},reset:e=>{r.clear(),e&&(n=e)}}})(t,r),[t,r]),p=(0,_q.useMemo)(()=>{let e=new Set;return o.forEach(t=>{g.findNodePathFromTreeWithCache(t).forEach(t=>e.add(t))}),e},[o,g]);(0,_q.useEffect)(()=>{i&&t.forEach(function e(t){var r;f.add(t.key),null==(r=t.children)||r.forEach(e)}),m({})},[i,t]);let v=(0,_q.useMemo)(()=>R5(t,f),[t,h,f]);function b(e){var t;null!=(t=e.children)&&t.length&&(f.has(e.key)?f.delete(e.key):f.add(e.key),m({})),(a!==I5.ONLY_LEAF_NODE||!e.children)&&(null==l||l(e.key))}function C(t){let{title:r,key:n,level:i=0}=t,a=e.treeNodeClassName,o=f.has(n),l=p.has(n),u=((e,t)=>{let r=t.children||[],n=t=>{var r;return null!=(r=t.children)&&r.length?!!t.children.every(n):e.has(t.key)};return!!r.length&&r.some(e=>!n(e))})(p,t);return(0,$Z.jsx)("div",{className:x7("univer-relative univer-text-[13px]",a),style:{paddingLeft:20*i+"px"},children:(0,$Z.jsxs)("div",{className:"univer-relative univer-my-1 univer-flex univer-w-full univer-items-center",children:[t.children&&t.children.length>0&&(0,$Z.jsx)("span",{className:x7("univer-absolute univer-left-[-16px] univer-top-1/2 univer-flex univer--translate-y-1/2 univer-items-center univer-justify-center univer-text-[8px]",{"univer-rotate-[-90deg]":!o}),onClick:e=>{e.stopPropagation(),b(t)},children:(0,$Z.jsx)(xK,{})}),(0,$Z.jsx)($7,{checked:l&&!u,indeterminate:l&&u,onChange:()=>{null==s||s(t)}}),(0,$Z.jsx)("div",{className:"\n univer-mx-1 univer-flex univer-h-full univer-shrink univer-items-center univer-overflow-hidden\n univer-text-ellipsis univer-whitespace-nowrap\n ",onClick:e=>{e.stopPropagation(),b(t)},children:(0,$Z.jsx)(J9,{className:"univer-block",showIfEllipsis:!0,placement:"top",title:r,children:(0,$Z.jsx)("span",{className:"univer-block",children:r})})}),d&&d(t)]})},n)}return(0,$Z.jsx)("section",{className:"\n univer-relative univer-select-none univer-text-gray-900\n dark:!univer-text-white\n ",children:(0,$Z.jsx)("div",{className:"univer-m-0 univer-h-full univer-list-none univer-p-0",style:n,children:(0,$Z.jsx)(A5,{data:v,itemKey:e=>e.key,height:u,itemHeight:c,children:e=>C(e)})})})}const T5=new WeakMap;function N5(e,t){let r=T5.get(t);r||(r=(0,I7.createRoot)(t),T5.set(t,r)),r.render(e)}function M5(e){let t=T5.get(e);t&&(t.unmount(),T5.delete(e))}const O5=new Set;let L5;var k5=o(3790),P5=o.n(k5);function D5(e){return D5="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},D5(e)}function U5(e,t,r){return(t=function(e){var t=function(e){if("object"!=D5(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=D5(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==D5(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var B5=class extends tu{constructor(...e){super(...e),U5(this,"_open$",new Qn(!1)),U5(this,"open$",this._open$.pipe(Zn()))}get isOpen(){return this._open$.getValue()}dispose(){super.dispose(),this._open$.next(!1),this._open$.complete()}open(){this._open$.next(!0)}close(){this._open$.next(!1)}};V("ui.left-sidebar.service");const V5=V("ui.sidebar.service"),F5="ShortcutPanel",j5={id:"base-ui.operation.toggle-shortcut-panel",type:Bc.OPERATION,handler:e=>{let t=e.get(B5),r=e.get(V5);return t.isOpen?(t.close(),r.close()):(t.open(),r.open({header:{title:"shortcut-panel.title"},children:{label:F5}})),!0}},H5={AddDigitsIcon:Rq,AddImageIcon:Tq,AdditionAndSubtractionIcon:Mq,AdjustHeightDoubleIcon:Lq,AdjustWidthDoubleIcon:Pq,AlignBottomIcon:Uq,AlignTextBothIcon:Vq,AlignTopIcon:jq,AllBorderIcon:Wq,AmplifyIcon:Xq,AutoHeightDoubleIcon:Gq,AutoWidthDoubleIcon:Qq,AutowrapIcon:Kq,AvgIcon:Jq,BackSlashDoubleIcon:tG,BoldIcon:nG,BrushIcon:aG,CancelFreezeIcon:sG,CancelMergeIcon:uG,ClearFormatDoubleIcon:dG,CntIcon:mG,CodeIcon:gG,ConditionsDoubleIcon:vG,CopyDoubleIcon:CG,CutIcon:_G,DeleteCellMoveDownDoubleIcon:EG,DeleteCellShiftLeftDoubleIcon:AG,DeleteCellShiftRightDoubleIcon:RG,DeleteCellShiftUpDoubleIcon:TG,DeleteColumnDoubleIcon:MG,DeleteRowDoubleIcon:LG,DirectExportIcon:PG,DollarIcon:UG,DownBorderDoubleIcon:VG,DownloadImageIcon:jG,EuroIcon:WG,ExportIcon:XG,EyeOutlineIcon:GG,FolderIcon:QG,FontColorDoubleIcon:KG,FontSizeIncreaseIcon:JG,FontSizeReduceIcon:tY,FreezeColumnIcon:nY,FreezeRowIcon:aY,FreezeToSelectedIcon:sY,FunctionIcon:uY,GridIcon:dY,HeaderFooterIcon:mY,HideDoubleIcon:gY,HorizontalBorderDoubleIcon:vY,HorizontallyIcon:CY,HorizontalMergeIcon:_Y,IncreaseIcon:EY,InnerBorderDoubleIcon:AY,InsertCellDownDoubleIcon:RY,InsertCellShiftRightDoubleIcon:TY,InsertDoubleIcon:MY,InsertRowAboveDoubleIcon:LY,InsertRowBelowDoubleIcon:PY,ItalicIcon:UY,KeyboardIcon:VY,LeftBorderDoubleIcon:jY,LeftDoubleDiagonalDoubleIcon:WY,LeftInsertColumnDoubleIcon:XY,LeftJustifyingIcon:GY,LeftRotationFortyFiveDegreesIcon:QY,LeftRotationNinetyDegreesIcon:KY,LeftTridiagonalDoubleIcon:JY,MaxIcon:tQ,MenuIcon:nQ,MergeAllIcon:aQ,MinIcon:sQ,MoreDownIcon:uQ,NoBorderIcon:dQ,NoColorDoubleIcon:mQ,NoRotationIcon:gQ,OrderIcon:vQ,OuterBorderDoubleIcon:CQ,OverflowIcon:_Q,PaintBucketDoubleIcon:EQ,PasteSpecialDoubleIcon:AQ,PercentIcon:RQ,PipingIcon:TQ,RedoIcon:MQ,ReduceDigitsIcon:LQ,ReduceDoubleIcon:PQ,ReduceIcon:UQ,RightBorderDoubleIcon:VQ,RightDoubleDiagonalDoubleIcon:jQ,RightInsertColumnDoubleIcon:WQ,RightJustifyingIcon:XQ,RightRotationFortyFiveDegreesIcon:GQ,RightRotationNinetyDegreesIcon:QQ,RmbIcon:KQ,RoubleIcon:JQ,ShortcutIcon:tZ,SlashDoubleIcon:nZ,StrikethroughIcon:aZ,SubscriptIcon:sZ,SumIcon:uZ,SuperscriptIcon:dZ,TruncationIcon:mZ,UnderlineIcon:gZ,UndoIcon:vZ,UnorderIcon:CZ,UpBorderDoubleIcon:_Z,VerticalBorderDoubleIcon:EZ,VerticalCenterIcon:AZ,VerticalIntegrationIcon:RZ,VerticalTextIcon:TZ};var W5=class extends tu{constructor(){super(),U5(this,"_components",new Map),U5(this,"_componentsReverse",new Map),U5(this,"reactUtils",{createElement:_q.createElement,useEffect:_q.useEffect,useRef:_q.useRef}),U5(this,"_handler",{react:e=>e});for(let e in H5)this.register(e,H5[e]);this.disposeWithMe(Jl(()=>{for(let e in H5)this._components.delete(e),this._componentsReverse.delete(H5[e])}))}register(e,t,r){let{framework:n="react"}=r||{};if("vue3"===n&&!this._handler.vue3)throw Error("[ComponentManager] Vue3 support is no longer built-in since v0.9.0, please install @univerjs/ui-adapter-vue3 plugin.");return this._components.has(e)&&console.warn(`Component ${e} already exists.`),this._components.set(e,{framework:n,component:t}),this._componentsReverse.set(t,e),Jl(()=>{this._components.delete(e),this._componentsReverse.delete(t)})}getKey(e){return this._componentsReverse.get(e)}setHandler(e,t){this._handler[e]=t}get(e){if(!e)return;let t=this._components.get(e);if(!t)return;let r=this._handler[t.framework];if(!r)throw Error(`[ComponentManager] No handler found for framework: ${t.framework}`);return r(t.component,e)}delete(e){this._components.delete(e)}},z5=class{constructor(){U5(this,"_list",new Map)}setIndex(e,t){this._list.set(e,t)}getIndex(e){return this._list.get(e)}removeIndex(e){this._list.delete(e)}getMaxIndex(){let e=-9999999;return this._list.forEach(t=>{+t>e&&(e=+t)}),e}};function X5(e,t,r,n){let i=e.get(dg);return new Tn(e=>{let a=i.focused$.subscribe(a=>{if(null==a||r&&r!==a||n&&(Array.isArray(n)?n.includes(a):n===a))return e.next(!0);let o=i.getUnitType(a);e.next(o!==t)}),o=i.getFocusedUnit();if(null==o)return e.next(!0);let s=i.getUnitType(o.getUnitId());return e.next(s!==t),()=>a.unsubscribe()})}function q5(e,t){return t&&e?(["type","icon","title","tooltip"].forEach(r=>{void 0!==t[r]&&(e[r]=t[r])}),["hidden","disabled","activated"].forEach(r=>{!function(e,t,r){void 0!==r&&(e[t]?e[t]=e[t].pipe(aq(()=>new Qn(r))):e[t]=new Tn(e=>{e.next(r)}))}(e,`${r}$`,t[r])}),e):e}const G5=e=>{let{value:t,selections:r}=e,n=iK(Cg);return(0,$Z.jsx)("div",{className:"univer-truncate univer-text-sm",children:(0,_q.useMemo)(()=>{var e,i;return null==t?"":n.t(null==(e=null==(i=r.find(e=>e.value===t))?void 0:i.label)?"":e)},[t,r])})},Y5="UI_PLUGIN_COMMON_LABEL_COMPONENT";function Q5(e){let{className:t,title:r,icon:n,label:i,value:a,value$:o}=e,s=iK(Cg),l=iK(W5),[u,c]=(0,_q.useState)(a),[d,h]=(0,_q.useState)(""),m=[],f=0;(0,_q.useEffect)(()=>{if(o){let e=o.subscribe(e=>{c(e)});return()=>{e.unsubscribe()}}},[o]);let g=(0,_q.useMemo)(()=>null==a?u:a,[u,a]);(0,_q.useEffect)(()=>{let e=null;return oq(n)?e=n.subscribe(e=>{h(e)}):h(null==n?"":n),()=>{null==e||e.unsubscribe()}},[n]);let p=(0,_q.useMemo)(()=>!(!g||"string"!=typeof g)&&new $c(g).isValid,[g]);if(n){let e=l.get(null==d?"":d);e&&m.push((0,$Z.jsx)(e,{className:"univer-text-base",extend:{colorChannel1:p?g:"var(--univer-primary-600)"}},f++))}if(i){let r="string"==typeof i,n=r?{...e}:{...null==i?void 0:i.props,...e},a=r?i:null==i?void 0:i.name,o=l.get(a);o?m.push((0,$Z.jsx)(o,{...n,className:t,value:g},f++)):m.push((0,$Z.jsx)("span",{className:t,children:s.t(a)},f++))}return r&&m.push((0,$Z.jsx)("span",{className:t,children:"string"==typeof r?s.t(r):r},f++)),(0,$Z.jsx)($Z.Fragment,{children:m})}const Z5=e=>{var t,r;let{value:n,text:i}=e,a=yh[n],o=iK(Cg);return(0,$Z.jsx)("span",{className:x7("univer-text-sm",{"univer-font-bold":null==a?void 0:a.bl}),style:{fontSize:null==a?void 0:a.fs,color:null==(t=null==a||null==(r=a.cl)?void 0:r.rgb)?void 0:t},children:o.t(i)})},K5="UI_COMPONENT_HEADING_ITEM";function $5(e){let t=(0,_q.useRef)(e);return t.current=e,(0,_q.useCallback)((...e)=>{var r;return null==(r=t.current)?void 0:r.call(t,...e)},[])}function J5(e,t){let r=$5(()=>{if(!e||!t)return;let r=e.style,{y:n,height:i}=e.getBoundingClientRect(),a=t.getBoundingClientRect(),o=e.scrollHeight>i,s=n<0||n+i>a.height;if(!s&&!o)return r.overflowY="",void(r.maxHeight="");s&&(r.overflowY="auto",r.maxHeight=n<0?`${e.scrollHeight+n}px`:a.height-n+"px")});(0,_q.useEffect)(()=>{if(!k7()||!e||!t)return;r();let n=function(e){return L5||(L5=new ResizeObserver((...e)=>{O5.forEach(t=>t(...e))})),{observe(t,r){O5.add(e),L5.observe(t,r)},unobserve(t){O5.delete(e),L5.unobserve(t)}}}(r);return n.observe(e),()=>{n.unobserve(e)}},[e,t])}function e8(e){let t=iK(Tc);return aK((0,_q.useMemo)(()=>t.subscribeConfigValue$(e),[t]),t.getConfig(e))}function t8(e){iK(Cg);let t=iK(W5),{value:r,min:n=0,max:i=400,disabled:a=!1,resetPoint:o=100,shortcuts:s,onChange:l}=e,u=(0,_q.useRef)(null),[c,d]=(0,_q.useState)(!1);function h(e){if(a)return;let t=r+e;r+e<=n?t=n:r+e>=i&&(t=i),l&&l(t)}let m=(0,_q.useMemo)(()=>r<=o?50/(o-n)*(r-n):r<=i?.5*o+(r-o)/(i-o)*50:void 0,[n,i,o,r]),f=[{type:"radio",value:r.toString(),options:s.map(e=>({value:e.toString(),label:`${e}%`})),onSelect:e=>function(e){a||(d(!1),l&&l(e))}(+e)}],g=t.get("ReduceIcon"),p=t.get("IncreaseIcon");return(0,$Z.jsxs)("div",{className:x7("univer-flex univer-select-none univer-items-center univer-gap-1",{"univer-cursor-not-allowed":a}),children:[(0,$Z.jsx)(O7,{className:"univer-size-6 univer-p-0",size:"small",variant:"text",disabled:r<=n||a,onClick:()=>h(-10),children:(0,$Z.jsx)(g,{})}),(0,$Z.jsx)("div",{className:"univer-relative univer-hidden univer-h-0.5 univer-rounded-2xl univer-bg-gray-400 univer-px-1.5 sm:!univer-block",style:{width:"116px"},children:(0,$Z.jsxs)("div",{ref:u,role:"track",className:"univer-relative univer-h-0.5",children:[(0,$Z.jsx)("a",{className:"univer-absolute univer-left-1/2 univer-top-1/2 univer-box-border univer-block univer-size-0.5 -univer-translate-x-1/2 -univer-translate-y-1/2 univer-cursor-pointer univer-rounded-full univer-bg-white",role:"button",onClick:function(){a||l&&l(o)}},"reset-button"),(0,$Z.jsx)("button",{className:x7("univer-absolute univer-top-[calc(50%-6px)] univer-size-3 -univer-translate-x-1/2 univer-rounded-full univer-border-none univer-bg-white univer-shadow univer-transition-colors",{"hover:univer-gray-200 univer-cursor-pointer":!a,"univer-cursor-not-allowed":a}),role:"handle",type:"button",style:{left:`${m}%`},onPointerDown:function(e){if(a)return;e.preventDefault();let t=u.current,r=!0;function s(e){if(r){let r=e.clientX-t.getBoundingClientRect().x;r<=0?r=0:r>=116&&(r=116);let a=r/116,s=0;s=a<=.5?n+a*(o-n)*2:o+(a-.5)*(i-o)*2,l&&l(Math.ceil(s))}}function c(){r=!1,document.removeEventListener("pointermove",s),window.removeEventListener("pointerup",c)}window.addEventListener("pointermove",s),window.addEventListener("pointerup",c),window.addEventListener("pointerout",function(e){null===e.relatedTarget&&c()})}})]})}),(0,$Z.jsx)(O7,{className:"univer-size-6 univer-p-0",size:"small",variant:"text",disabled:r>=i||a,onClick:()=>h(10),children:(0,$Z.jsx)(p,{})}),(0,$Z.jsx)(H9,{align:"end",items:f,open:c,onOpenChange:d,children:(0,$Z.jsxs)(O7,{size:"small",variant:"text",children:[r,"%"]})})]})}const r8="UI_COLOR_PICKER_COMPONENT",n8="ui.config";Symbol(n8);const i8={};function a8(e,t){return function(r,n){t(r,n,e)}}function o8(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}const s8=V("univer.font-service"),l8=[{value:"Arial",label:"fontFamily.arial",category:"sans-serif"},{value:"Times New Roman",label:"fontFamily.times-new-roman",category:"serif"},{value:"Tahoma",label:"fontFamily.tahoma",category:"sans-serif"},{value:"Verdana",label:"fontFamily.verdana",category:"sans-serif"},{value:"Microsoft YaHei",label:"fontFamily.microsoft-yahei",category:"sans-serif"},{value:"SimSun",label:"fontFamily.simsun",category:"serif"},{value:"SimHei",label:"fontFamily.simhei",category:"sans-serif"},{value:"Kaiti",label:"fontFamily.kaiti",category:"serif"},{value:"FangSong",label:"fontFamily.fangsong",category:"serif"},{value:"NSimSun",label:"fontFamily.nsimsun",category:"serif"},{value:"STXinwei",label:"fontFamily.stxinwei",category:"serif"},{value:"STXingkai",label:"fontFamily.stxingkai",category:"serif"},{value:"STLiti",label:"fontFamily.stliti",category:"serif"}];let u8=class{constructor(e){this._configService=e,U5(this,"fonts$",new Qn([]));let t=this._configService.getConfig(n8),{customFontFamily:r}=null==t?{}:t,n=[];n=r?Array.isArray(r)?[...l8,...r]:r.override?[...r.list]:[...l8,...r.list]:[...l8],this.fonts$.next(n)}dispose(){this.resetToDefaults(),this.fonts$.complete()}getFonts(){return this.fonts$.getValue()}getFontByValue(e){return this.getFonts().find(t=>t.value===e)}isFontSupported(e){let t=document.createElement("canvas").getContext("2d");if(!t)return!1;let r="abcdefghijklmnopqrstuvwxyz0123456789",n="72px",i=["monospace","serif","sans-serif"],a={};return i.forEach(e=>{t.font=`${n} ${e}`,a[e]=t.measureText(r).width}),i.some(i=>(t.font=`${n} "${e}", ${i}`,t.measureText(r).width!==a[i]))}addFont(e){if(this.getFontByValue(e.value))throw Error(`[FontService]: Font with value "${e.value}" already exists.`);let t=[...this.getFonts(),e].sort();this.fonts$.next(t)}updateFont(e,t){let r=this.getFonts(),n=r.findIndex(t=>t.value===e);if(-1===n)throw Error(`Font with value "${e}" not found.`);let i={...r[n],...t},a=[...r];a[n]=i,this.fonts$.next(a)}removeFont(e){let t=this.getFonts();if(-1===t.findIndex(t=>t.value===e))return!1;let r=t.filter(t=>t.value!==e);return this.fonts$.next(r),!0}resetToDefaults(){this.fonts$.next([...l8])}};u8=o8([a8(0,Tc)],u8);const c8=({id:e,value:t,disabled$:r})=>{let n=aK(r),i=iK(Vc),a=iK(Cg),o=iK(s8),[s,l]=(0,_q.useState)(""),[u,c]=(0,_q.useState)([]);(0,_q.useEffect)(()=>{let e=o.fonts$.subscribe(e=>{c(e)});return()=>{e.unsubscribe()}},[]);let d=(0,_q.useMemo)(()=>{if(null==t)return"";let e=`${null==t?"":t}`.replace(/\s/g,""),r=u.find(t=>t.value===e);return r?a.t(r.label):a.t(t)},[t,u]);function h(){l(t)}function m(t){i.executeCommand(e,{value:t})}return(0,_q.useMemo)(()=>{l(d)},[t]),(0,$Z.jsx)("div",{className:"univer-w-32 univer-truncate univer-text-sm",style:{fontFamily:t},children:(0,$Z.jsx)("input",{className:"univer-block univer-h-6 univer-border-none univer-bg-transparent univer-leading-6 focus:univer-outline-none dark:!univer-text-white [&_input:focus]:!univer-ring-0 [&_input]:univer-h-6 [&_input]:univer-w-7 [&_input]:univer-border-none [&_input]:!univer-bg-transparent [&_input]:univer-p-0 [&_input]:univer-text-sm",type:"text",value:s,onChange:function(e){l(e.target.value)},onKeyDown:function(e){e.stopPropagation(),!n&&("Enter"===e.key?function(){if(s.toLowerCase()===t.toLowerCase())return void h();let e=u.find(e=>e.value.toLowerCase()===s.trim().toLowerCase());e?m(e.value):h()}():"Escape"===e.key&&(e.preventDefault(),h()))},onBlur:function(){s!==t&&h()},disabled:n})})},d8=({id:e,value:t})=>{let r=iK(Vc),n=iK(s8),[i,a]=(0,_q.useState)([]);(0,_q.useEffect)(()=>{let e=n.fonts$.subscribe(e=>{a(e)});return()=>{e.unsubscribe()}},[]);let o=iK(Cg);function s(t){r.executeCommand(e,{value:t})}return(0,$Z.jsx)("ul",{className:"univer-m-0 univer-list-none univer-p-0 univer-text-sm",style:{fontFamily:t},children:i.map(e=>(0,$Z.jsx)("li",{children:(0,$Z.jsxs)("button",{className:"univer-flex univer-h-7 univer-w-full univer-appearance-none univer-items-center univer-justify-between univer-gap-6 univer-rounded univer-border-none univer-bg-transparent univer-px-2 hover:univer-bg-gray-100 dark:!univer-text-white dark:hover:!univer-bg-gray-700",style:{fontFamily:e.value},type:"button",onClick:()=>s(e.value),children:[o.t(e.label),!n.isFontSupported(e.value)&&(0,$Z.jsx)(J9,{title:o.t("fontFamily.not-supported"),children:(0,$Z.jsx)(MZ,{className:"univer-text-gray-300 dark:!univer-text-gray-400"})})]})},e.value))})},h8="UI_FONT_FAMILY_COMPONENT",m8="UI_FONT_FAMILY_ITEM_COMPONENT",f8=e=>{let{value:t,min:r,max:n,onChange:i,disabled$:a}=e,o=aK(a),[s,l]=(0,_q.useState)(Number(null==t?0:t)),u=(0,_q.useMemo)(()=>Number(null==t?s:t),[t]);return(0,$Z.jsx)("div",{className:"univer-h-6 univer-w-7 univer-text-sm",children:(0,$Z.jsx)(K9,{className:"univer-block univer-h-6 univer-border-none univer-bg-transparent univer-leading-6 [&_input:focus]:!univer-ring-0 [&_input]:univer-h-6 [&_input]:univer-w-7 [&_input]:univer-border-none [&_input]:!univer-bg-transparent [&_input]:univer-p-0 [&_input]:univer-text-sm",value:u,controls:!1,min:r,max:n,onKeyDown:function(e){e.stopPropagation(),"Enter"===e.code&&i(s)},onChange:function(e){null!==e&&l(e)},disabled:o})})},g8=[{label:"9",value:9},{label:"10",value:10},{label:"11",value:11},{label:"12",value:12},{label:"14",value:14},{label:"16",value:16},{label:"18",value:18},{label:"20",value:20},{label:"22",value:22},{label:"24",value:24},{label:"26",value:26},{label:"28",value:28},{label:"36",value:36},{label:"48",value:48},{label:"72",value:72}],p8=[{label:"toolbar.heading.normal",value:ec.NORMAL_TEXT},{label:"toolbar.heading.title",value:ec.TITLE},{label:"toolbar.heading.subTitle",value:ec.SUBTITLE},{label:"toolbar.heading.1",value:ec.HEADING_1},{label:"toolbar.heading.2",value:ec.HEADING_2},{label:"toolbar.heading.3",value:ec.HEADING_3},{label:"toolbar.heading.4",value:ec.HEADING_4},{label:"toolbar.heading.5",value:ec.HEADING_5}],v8="UI_FONT_SIZE_COMPONENT";function b8(e){let{barColor:t,progress:r,onTerminate:n,onClearProgress:i}=e,{count:a,done:o,label:s=""}=r,l=(0,_q.useRef)(null),[u,c]=(0,_q.useState)(!1);return(0,_q.useEffect)(()=>{let e=l.current;if(0===a&&0===o)return c(!1),void(e.style.width="0%");if(a>0){c(!0);let t=Math.floor(o/a*100);o===a?requestAnimationFrame(()=>{e.style.width=t-1+"%",requestAnimationFrame(()=>{e.style.width=`${t}%`})}):e.style.width=`${t}%`}let t=()=>{o===a&&(c(!1),i&&i())};return e.addEventListener("transitionend",t),()=>{e.removeEventListener("transitionend",t)}},[a,o]),(0,$Z.jsxs)("div",{className:x7("univer-mx-2 univer-flex univer-items-center univer-gap-2",{"univer-flex":u,"univer-hidden univer-w-0":!u}),children:[(0,$Z.jsx)(J9,{showIfEllipsis:!0,title:s,children:(0,$Z.jsx)("span",{className:"univer-w-24 univer-truncate univer-text-right univer-text-xs",children:s})}),(0,$Z.jsx)("div",{className:"univer-h-1 univer-w-40 univer-overflow-hidden univer-rounded-lg univer-bg-gray-200",children:(0,$Z.jsx)("div",{ref:l,className:"univer-h-full univer-bg-primary-600 univer-transition-[width]",style:{backgroundColor:t}})}),(0,$Z.jsx)("button",{className:"univer-flex univer-size-4 univer-cursor-pointer univer-items-center univer-justify-center univer-border-none univer-bg-transparent univer-p-0 hover:univer-opacity-50",type:"button",onClick:n,children:(0,$Z.jsx)(LZ,{className:"univer-size-3.5 dark:!univer-text-white"})})]})}const C8=V("ui.message.service");let y8=class extends tu{constructor(e,t){super(),this._errorService=e,this._messageService=t,this.disposeWithMe(this._errorService.error$.subscribe(e=>{this._messageService.show({content:e.errorKey,type:o5.Error})}))}};y8=o8([a8(0,Y(Of)),a8(1,C8)],y8);const _8="univer.command.copy",w8={id:_8,name:_8,multi:!0,priority:0,type:Bc.COMMAND,preconditions:()=>!1,handler:()=>!0},E8="univer.command.cut",S8={id:E8,name:E8,multi:!0,priority:0,type:Bc.COMMAND,preconditions:()=>!1,handler:async()=>!0},A8="univer.command.paste",I8={id:A8,name:A8,multi:!0,priority:0,type:Bc.COMMAND,preconditions:()=>!1,handler:()=>!0},R8="sheet.command.paste-by-short-key";let x8=function(e){return e[e.UNKNOWN=0]="UNKNOWN",e[e.BACKSPACE=8]="BACKSPACE",e[e.TAB=9]="TAB",e[e.ENTER=13]="ENTER",e[e.SHIFT=16]="SHIFT",e[e.CTRL=17]="CTRL",e[e.ESC=27]="ESC",e[e.SPACE=32]="SPACE",e[e.ARROW_LEFT=37]="ARROW_LEFT",e[e.ARROW_UP=38]="ARROW_UP",e[e.ARROW_RIGHT=39]="ARROW_RIGHT",e[e.ARROW_DOWN=40]="ARROW_DOWN",e[e.INSERT=45]="INSERT",e[e.DELETE=46]="DELETE",e[e.Digit0=48]="Digit0",e[e.Digit1=49]="Digit1",e[e.Digit2=50]="Digit2",e[e.Digit3=51]="Digit3",e[e.Digit4=52]="Digit4",e[e.Digit5=53]="Digit5",e[e.Digit6=54]="Digit6",e[e.Digit7=55]="Digit7",e[e.Digit8=56]="Digit8",e[e.Digit9=57]="Digit9",e[e.A=65]="A",e[e.B=66]="B",e[e.C=67]="C",e[e.D=68]="D",e[e.E=69]="E",e[e.F=70]="F",e[e.G=71]="G",e[e.H=72]="H",e[e.I=73]="I",e[e.J=74]="J",e[e.K=75]="K",e[e.L=76]="L",e[e.M=77]="M",e[e.N=78]="N",e[e.O=79]="O",e[e.P=80]="P",e[e.Q=81]="Q",e[e.R=82]="R",e[e.S=83]="S",e[e.T=84]="T",e[e.U=85]="U",e[e.V=86]="V",e[e.W=87]="W",e[e.X=88]="X",e[e.Y=89]="Y",e[e.Z=90]="Z",e[e.F1=112]="F1",e[e.F2=113]="F2",e[e.F3=114]="F3",e[e.F4=115]="F4",e[e.F5=116]="F5",e[e.F6=117]="F6",e[e.F7=118]="F7",e[e.F8=119]="F8",e[e.F9=120]="F9",e[e.F10=121]="F10",e[e.F11=122]="F11",e[e.F12=123]="F12",e[e.NUM_LOCK=144]="NUM_LOCK",e[e.SCROLL_LOCK=145]="SCROLL_LOCK",e[e.EQUAL=187]="EQUAL",e[e.COMMA=188]="COMMA",e[e.MINUS=189]="MINUS",e[e.PERIOD=190]="PERIOD",e[e.BACK_SLASH=220]="BACK_SLASH",e}({});const T8={[x8.BACKSPACE]:"Backspace",[x8.TAB]:"Tab",[x8.ENTER]:"Enter",[x8.DELETE]:"Del",[x8.ESC]:"Esc",[x8.SPACE]:"Space",[x8.ARROW_LEFT]:"←",[x8.ARROW_RIGHT]:"→",[x8.ARROW_UP]:"↑",[x8.ARROW_DOWN]:"↓",[x8.Digit0]:"0",[x8.Digit1]:"1",[x8.Digit2]:"2",[x8.Digit3]:"3",[x8.Digit4]:"4",[x8.Digit5]:"5",[x8.Digit6]:"6",[x8.Digit7]:"7",[x8.Digit8]:"8",[x8.Digit9]:"9",[x8.A]:"A",[x8.B]:"B",[x8.C]:"C",[x8.D]:"D",[x8.E]:"E",[x8.F]:"F",[x8.G]:"G",[x8.H]:"H",[x8.I]:"I",[x8.J]:"J",[x8.K]:"K",[x8.L]:"L",[x8.M]:"M",[x8.N]:"N",[x8.O]:"O",[x8.P]:"P",[x8.Q]:"Q",[x8.R]:"R",[x8.S]:"S",[x8.T]:"T",[x8.U]:"U",[x8.V]:"V",[x8.W]:"W",[x8.X]:"X",[x8.Y]:"Y",[x8.Z]:"Z",[x8.F1]:"F1",[x8.F2]:"F2",[x8.F3]:"F3",[x8.F4]:"F4",[x8.F5]:"F5",[x8.F6]:"F6",[x8.F7]:"F7",[x8.F8]:"F8",[x8.F9]:"F9",[x8.F10]:"F10",[x8.F11]:"F11",[x8.F12]:"F12",[x8.MINUS]:"-",[x8.EQUAL]:"=",[x8.PERIOD]:".",[x8.COMMA]:",",[x8.BACK_SLASH]:"\\"};let N8=function(e){return e[e.SHIFT=1024]="SHIFT",e[e.ALT=2048]="ALT",e[e.CTRL_COMMAND=4096]="CTRL_COMMAND",e[e.MAC_CTRL=8192]="MAC_CTRL",e}({});const M8=["app-layout","button","sheet-bar-append-button","render-canvas","workbench-layout"],O8=V("ui.layout-service");let L8=class extends tu{get isFocused(){return this._isFocused}constructor(e,t){super(),this._contextService=e,this._univerInstanceService=t,U5(this,"_rootContainerElement",null),U5(this,"_isFocused",!1),U5(this,"_focusHandlers",new Map),U5(this,"_contentElements",[]),U5(this,"_allContainers",[]),this._initUniverFocusListener(),this._initEditorStatus()}get rootContainerElement(){return this._rootContainerElement}focus(){let e,t=this._univerInstanceService.getFocusedUnit();t&&(t instanceof ug?e=this._focusHandlers.get(Pi.UNIVER_SHEET):t instanceof Wm?e=this._focusHandlers.get(Pi.UNIVER_DOC):t instanceof cg&&(e=this._focusHandlers.get(Pi.UNIVER_SLIDE)),e&&e(t.getUnitId()))}registerFocusHandler(e,t){if(this._focusHandlers.has(e))throw Error(`[DesktopLayoutService]: handler of type ${e} bas been registered!`);return this._focusHandlers.set(e,t),Jl(()=>this._focusHandlers.delete(e))}registerContentElement(e){if(-1===this._contentElements.indexOf(e))return this._contentElements.push(e),Jl(()=>vl(this._contentElements,e));throw Error("[DesktopLayoutService]: content container already registered!")}getContentElement(){return this._contentElements[0]}registerRootContainerElement(e){if(this._rootContainerElement)throw Error("[DesktopLayoutService]: root container already registered!");this._rootContainerElement=e;let t=this.registerContainerElement(e);return Jl(()=>{this._rootContainerElement=null,t.dispose()})}registerContainerElement(e){if(-1===this._allContainers.indexOf(e))return this._allContainers.push(e),Jl(()=>vl(this._allContainers,e));throw Error("[LayoutService]: container already registered!")}checkElementInCurrentContainers(e){return this._allContainers.some(t=>t.contains(e))}checkContentIsFocused(){return this._contentElements.some(e=>e===document.activeElement||e.contains(document.activeElement))}_initUniverFocusListener(){this.disposeWithMe(cq(window,"focusin").subscribe(e=>{var t;let r=e.target;null!=(t=this._rootContainerElement)&&t.contains(r)&&M8.some(e=>r.dataset.uComp===e)?queueMicrotask(()=>this.focus()):(r&&this.checkElementInCurrentContainers(r)?this._isFocused=!0:this._isFocused=!1,this._contextService.setContextValue("FOCUSING_UNIVER",this._isFocused),this._contextService.setContextValue(Rf,k8()))}))}_initEditorStatus(){this._contextService.setContextValue(Rf,k8())}};function k8(){var e;return"editor"===(null==(e=document.activeElement)?void 0:e.dataset.uComp)}L8=o8([a8(0,Mc),a8(1,dg)],L8);const P8=V("ui.platform.service");var D8=class{get isMac(){return/Mac/.test(navigator.appVersion)}get isWindows(){return/Windows/.test(navigator.appVersion)}get isLinux(){return/Linux/.test(navigator.appVersion)}};const U8=V("ui.shortcut.service");let B8=class extends tu{constructor(e,t,r,n){super(),this._commandService=e,this._platformService=t,this._contextService=r,this._layoutService=n,U5(this,"_shortCutMapping",new Map),U5(this,"_commandIDMapping",new Map),U5(this,"_shortcutChanged$",new On),U5(this,"shortcutChanged$",this._shortcutChanged$.asObservable()),U5(this,"_forceEscaped",!1),U5(this,"_forceDisabled",!1),this.disposeWithMe(function(e,t,r){return window.addEventListener(e,t,r),Jl(()=>window.removeEventListener(e,t,r))}("keydown",e=>{this._resolveKeyboardEvent(e)},{capture:!0}))}getAllShortcuts(){return Array.from(this._shortCutMapping.values()).map(e=>Array.from(e.values())).flat()}registerShortcut(e){let t=this._getBindingFromItem(e);if(!t)return Jl(()=>{});let r=this._shortCutMapping.get(t);r?r.add(e):this._shortCutMapping.set(t,new Set([e]));let n=e.id,i=this._commandIDMapping.get(n);return i?i.add(e):this._commandIDMapping.set(n,new Set([e])),this._emitShortcutChanged(),Jl(()=>{var r,i,a,o;null==(r=this._shortCutMapping.get(t))||r.delete(e),0===(null==(i=this._shortCutMapping.get(t))?void 0:i.size)&&this._shortCutMapping.delete(t),null==(a=this._commandIDMapping.get(n))||a.delete(e),0===(null==(o=this._commandIDMapping.get(n))?void 0:o.size)&&this._commandIDMapping.delete(n),this._emitShortcutChanged()})}getShortcutDisplayOfCommand(e){let t=this._commandIDMapping.get(e);if(!t)return null;let r=t.values().next().value;return r?this.getShortcutDisplay(r):null}getShortcutDisplay(e){var t;let r=this._getBindingFromItem(e);if(!r)return null;let n=r&N8.CTRL_COMMAND,i=r&N8.SHIFT,a=r&N8.ALT,o=r&N8.MAC_CTRL,s=null==(t=T8[255&r])?"<->":t;return this._platformService.isMac?`${n?"⌘+":""}${i?"⇧+":""}${a?"⌥+":""}${o?"⌃+":""}${s}`:`${n?"Ctrl+":""}${i?"Shift+":""}${a?"Alt+":""}${s}`}_emitShortcutChanged(){this._shortcutChanged$.next()}forceEscape(){return this._forceEscaped=!0,Jl(()=>this._forceEscaped=!1)}forceDisable(){return this._forceDisabled=!0,Jl(()=>{this._forceDisabled=!1})}_resolveKeyboardEvent(e){let t=this.dispatch(e);t&&(this._commandService.executeCommand(t.id,t.staticParameters),e.preventDefault())}dispatch(e){if(this._forceEscaped||this._forceDisabled||this._layoutService&&!this._layoutService.checkElementInCurrentContainers(e.target))return;let t=this._deriveBindingFromEvent(e);if(null===t)return;let r=this._shortCutMapping.get(t);return void 0!==r?Array.from(r).sort((e,t)=>{var r,n;return(null==(r=t.priority)?0:r)-(null==(n=e.priority)?0:n)}).find(e=>{var t,r;return null==(t=null==(r=e.preconditions)?void 0:r.call(e,this._contextService))||t}):void 0}_getBindingFromItem(e){return this._platformService.isMac&&e.mac?e.mac:this._platformService.isWindows&&e.win?e.win:this._platformService.isLinux&&e.linux?e.linux:e.binding}_deriveBindingFromEvent(e){let{shiftKey:t,metaKey:r,altKey:n,keyCode:i}=e,a=i;return t&&(a|=N8.SHIFT),n&&(a|=N8.ALT),(this._platformService.isMac?r:e.ctrlKey)&&(a|=N8.CTRL_COMMAND),this._platformService.isMac&&e.ctrlKey&&(a|=N8.MAC_CTRL),a}};function V8(e){return e.getContextValue(Rf)}function F8(e){return e.getContextValue(Rf)&&!(e.getContextValue(Sf)||e.getContextValue(If))}B8=o8([a8(0,Vc),a8(1,P8),a8(2,Mc),a8(3,G(O8))],B8);const j8={id:w8.id,description:"shortcut.copy",group:"1_common-edit",binding:x8.C|N8.CTRL_COMMAND,preconditions:V8},H8={id:S8.id,description:"shortcut.cut",group:"1_common-edit",binding:x8.X|N8.CTRL_COMMAND,preconditions:V8},W8={id:I8.id,description:"shortcut.paste",group:"1_common-edit",binding:x8.V|N8.CTRL_COMMAND,preconditions:()=>!1},z8={id:Vg.id,description:"shortcut.undo",group:"1_common-edit",binding:x8.Z|N8.CTRL_COMMAND,preconditions:F8},X8={id:Fg.id,description:"shortcut.redo",group:"1_common-edit",binding:x8.Y|N8.CTRL_COMMAND,preconditions:F8};let q8=class extends tu{constructor(e,t){super(),this._shortcutService=e,this._commandService=t,this.initialize()}initialize(){this._registerCommands(),this._registerShortcuts()}_registerCommands(){[S8,w8,I8].forEach(e=>this.disposeWithMe(this._commandService.registerMultipleCommand(e)))}_registerShortcuts(){let e=[z8,X8];e.push(H8,j8,W8),e.forEach(e=>this.disposeWithMe(this._shortcutService.registerShortcut(e)))}};q8=o8([a8(0,U8),a8(1,Vc)],q8);let G8=function(e){return e.RIBBON="ribbon",e.CONTEXT_MENU="contextMenu",e}({}),Y8=function(e){return e.START="ribbon.start",e.INSERT="ribbon.insert",e.FORMULAS="ribbon.formulas",e.DATA="ribbon.data",e.VIEW="ribbon.view",e.OTHERS="ribbon.others",e}({}),Q8=function(e){return e.HISTORY="ribbon.start.history",e.FORMAT="ribbon.start.format",e.LAYOUT="ribbon.start.layout",e.OTHERS="ribbon.start.others",e}({}),Z8=function(e){return e.EDIT="ribbon.insert.edit",e.MEDIA="ribbon.insert.media",e.OTHERS="ribbon.insert.others",e}({}),K8=function(e){return e.BASIC="ribbon.formulas.basic",e.OTHERS="ribbon.formulas.others",e}({}),$8=function(e){return e.FORMULAS="ribbon.data.formulas",e.RULES="ribbon.data.rules",e.ORGANIZATION="ribbon.data.organization",e.OTHERS="ribbon.data.others",e}({}),J8=function(e){return e.DISPLAY="ribbon.view.display",e.VISIBILITY="ribbon.view.Visibility",e.OTHERS="ribbon.view.others",e}({}),eee=function(e){return e.OTHERS="ribbon.others.others",e}({}),tee=function(e){return e.MAIN_AREA="contextMenu.mainArea",e.COL_HEADER="contextMenu.colHeader",e.ROW_HEADER="contextMenu.rowHeader",e.FOOTER_TABS="contextMenu.footerTabs",e.FOOTER_MENU="contextMenu.footerMenu",e.PARAGRAPH="contextMenu.paragraph",e.DRAWING="contextMenu.drawing",e}({}),ree=function(e){return e.QUICK="contextMenu.quick",e.FORMAT="contextMenu.format",e.LAYOUT="contextMenu.layout",e.DATA="contextMenu.data",e.OTHERS="contextMenu.others",e}({});const nee=V("univer.menu-manager-service");let iee=class extends tu{constructor(e,t){super(),this._injector=e,this._configService=t,U5(this,"menuChanged$",new On),U5(this,"_menu",{[G8.RIBBON]:{[Y8.START]:{order:0,[Q8.HISTORY]:{order:0},[Q8.FORMAT]:{order:1},[Q8.LAYOUT]:{order:2},[Q8.OTHERS]:{order:3}},[Y8.INSERT]:{order:1,[Z8.EDIT]:{order:0},[Z8.MEDIA]:{order:1},[Z8.OTHERS]:{order:2}},[Y8.FORMULAS]:{order:2,[K8.BASIC]:{order:0},[K8.OTHERS]:{order:1}},[Y8.DATA]:{order:3,[$8.FORMULAS]:{order:0},[$8.RULES]:{order:1},[$8.ORGANIZATION]:{order:2},[$8.OTHERS]:{order:3}},[Y8.VIEW]:{order:4,[J8.DISPLAY]:{order:0},[J8.VISIBILITY]:{order:0},[J8.OTHERS]:{order:0}},[Y8.OTHERS]:{order:5,[eee.OTHERS]:{order:0}}},[G8.CONTEXT_MENU]:{[tee.MAIN_AREA]:{order:0,[ree.QUICK]:{order:-1,quickLayout:"icon"},[ree.FORMAT]:{order:0},[ree.LAYOUT]:{order:1},[ree.DATA]:{order:2},[ree.OTHERS]:{order:3}},[tee.PARAGRAPH]:{order:0,[ree.QUICK]:{order:-1,quickLayout:"icon"},[ree.FORMAT]:{order:0},[ree.LAYOUT]:{order:1},[ree.DATA]:{order:2},[ree.OTHERS]:{order:3}},[tee.COL_HEADER]:{order:1,[ree.QUICK]:{order:-1,quickLayout:"icon"},[ree.FORMAT]:{order:0},[ree.LAYOUT]:{order:1},[ree.DATA]:{order:2},[ree.OTHERS]:{order:3}},[tee.ROW_HEADER]:{order:2,[ree.QUICK]:{order:-1,quickLayout:"icon"},[ree.FORMAT]:{order:0},[ree.LAYOUT]:{order:1},[ree.DATA]:{order:2},[ree.OTHERS]:{order:3}},[tee.FOOTER_TABS]:{order:3,[ree.FORMAT]:{order:0},[ree.LAYOUT]:{order:1},[ree.DATA]:{order:2},[ree.OTHERS]:{order:3}},[tee.FOOTER_MENU]:{order:4,[ree.OTHERS]:{order:3}},[tee.DRAWING]:{order:5,[ree.OTHERS]:{order:3}}}})}dispose(){this.menuChanged$.complete()}mergeMenu(e,t){let r=null==t?this._menu:t;for(let[t,n]of Object.entries(r))if(t in e){let n=t;r[n]=hr({},r[n],e[n]),this.menuChanged$.next()}else"object"==typeof n&&this.mergeMenu(e,n)}appendRootMenu(e){this._menu=hr({},this._menu,e),this.menuChanged$.next()}_buildMenuSchema(e){let t=[];for(let[r,n]of Object.entries(e)){let e={key:r,order:n.order,title:n.title,quickLayout:n.quickLayout};if(n.menuItemFactory){let t=this._injector.invoke(n.menuItemFactory);if(t){let r=this._configService.getConfig("menu");if(r&&t.id in r){let n=t.id;e.item=q5(t,r[n])}else e.item=t}}if("object"==typeof n){let r=this._buildMenuSchema(n);r.length>0&&(e.children=r.sort((e,t)=>e.order-t.order)),(e.item||e.children)&&t.push(e)}}return t}getMenuByPositionKey(e){let t=r=>{if(e in r)return this._buildMenuSchema(r[e]);for(let n in r){if(n===e)return this._buildMenuSchema(r[n]);if("object"==typeof r[n]){let e=t(r[n]);if(e)return e}}};return t(this._menu)}getFlatMenuByPositionKey(e){return function e(t){return t.reduce((t,r)=>r.children?[...t,r,...e(r.children)]:[...t,r],[])}(this.getMenuByPositionKey(e))}};function aee(){let e=iK(U8),t=iK(Cg),r=aK(t.currentLocale$),[n,i]=(0,_q.useState)([]),a=(0,_q.useCallback)(()=>{let r=new Map,n=e.getAllShortcuts().filter(e=>!!e.group);for(let i of n){var a;let n=i.group,o={title:t.t(null==(a=i.description)?i.id:a),shortcut:e.getShortcutDisplay(i)};if(!/\d+_[a-zA-Z0-9]/.test(n))throw Error(`[ShortcutPanel]: Invalid shortcut group: ${n}!`);r.has(n)||r.set(n,[]),r.get(n).push(o)}i(Array.from(r.entries()).map(([e,r])=>{let n=e.split("_")[0],i=e.slice(n.length+1);return{sequence:+n,name:t.t(i),items:bl(r,e=>e.title+e.shortcut)}}).sort((e,t)=>e.sequence-t.sequence))},[e,t,r]);return(0,_q.useEffect)(()=>{a();let t=e.shortcutChanged$.subscribe(()=>a());return()=>t.unsubscribe()},[e,a]),(0,$Z.jsx)("ul",{className:"univer-m-0 univer-list-none univer-p-0 univer-text-gray-900 dark:!univer-text-white",children:n.map(e=>(0,$Z.jsxs)("li",{children:[(0,$Z.jsx)("div",{className:"univer-flex univer-h-10 univer-items-center univer-text-sm univer-font-semibold",children:e.name}),(0,$Z.jsx)("ul",{className:x7("univer-list-none univer-p-0","univer-divide-gray-200 dark:!univer-divide-gray-600 univer-divide-y univer-divide-x-0 univer-divide-solid"),children:e.items.map(e=>(0,$Z.jsxs)("li",{className:"univer-flex univer-h-10 univer-items-center univer-justify-between univer-py-0.5 univer-text-sm last:univer-border-b-0",children:[(0,$Z.jsx)("span",{className:"univer-line-clamp-2",children:e.title}),e.shortcut&&(0,$Z.jsx)(a5,{keyboard:e.shortcut})]},`${e.title}-${e.shortcut}`))})]},e.name))})}iee=o8([a8(0,Y(he)),a8(1,Tc)],iee);const oee={id:j5.id,binding:N8.CTRL_COMMAND|x8.BACK_SLASH,description:"shortcut.shortcut-panel",group:"10_global-shortcut"};let see=class extends tu{constructor(e,t,r,n,i){super(),this._menuManagerService=n,this.disposeWithMe(t.register(F5,aee)),this.disposeWithMe(i.registerCommand(j5)),this.disposeWithMe(r.registerShortcut(oee))}};see=o8([a8(0,Y(he)),a8(1,Y(W5)),a8(2,U8),a8(3,nee),a8(4,Vc)],see);let lee=function(e){return e[e.BUTTON=0]="BUTTON",e[e.SELECTOR=1]="SELECTOR",e[e.BUTTON_SELECTOR=2]="BUTTON_SELECTOR",e[e.SUBITEMS=3]="SUBITEMS",e}({});const uee=(e,t)=>{let r=e.get(Pg),n=e.get(Mc);return Oi([r.undoRedoStatus$.pipe(Yn(e=>t?e.undos<=0:e.redos<=0)),Ei([Ai({}),n.contextChanged$])]).pipe(Yn(([e])=>e||n.getContextValue(Sf)||n.getContextValue(If)))},cee={[Q8.HISTORY]:{[Vg.id]:{order:0,menuItemFactory:function(e){return{id:Vg.id,type:lee.BUTTON,icon:"UndoIcon",title:"Undo",tooltip:"toolbar.undo",disabled$:uee(e,!0)}}},[Fg.id]:{order:1,menuItemFactory:function(e){return{id:Fg.id,type:lee.BUTTON,icon:"RedoIcon",title:"Redo",tooltip:"toolbar.redo",disabled$:uee(e,!1)}}}},[Q8.OTHERS]:{[j5.id]:{order:1,menuItemFactory:function(){return{id:j5.id,title:"toggle-shortcut-panel",tooltip:"toggle-shortcut-panel",icon:"ShortcutIcon",type:lee.BUTTON}}}}};let dee=function(e){return e.GLOBAL="global",e.HEADER="header",e.HEADER_MENU="header-menu",e.CONTENT="content",e.FOOTER="footer",e.LEFT_SIDEBAR="left-sidebar",e.FLOATING="floating",e.UNIT="unit",e.CUSTOM_HEADER="custom-header",e.CUSTOM_LEFT="custom-left",e.CUSTOM_RIGHT="custom-right",e.CUSTOM_FOOTER="custom-footer",e.TOOLBAR="toolbar",e}({});const hee=V("ui.parts.service");var mee=class extends tu{constructor(...e){super(...e),U5(this,"_componentsByPart",new Map),U5(this,"_componentRegistered$",new On),U5(this,"componentRegistered$",this._componentRegistered$.asObservable()),U5(this,"_uiVisible",new Map),U5(this,"_uiVisibleChange$",new On),U5(this,"uiVisibleChange$",this._uiVisibleChange$.asObservable())}dispose(){super.dispose(),this._componentsByPart.clear(),this._uiVisible.clear(),this._componentRegistered$.complete(),this._uiVisibleChange$.complete()}setUIVisible(e,t){this._uiVisible.set(e,t),this._uiVisibleChange$.next({ui:e,visible:t})}isUIVisible(e){var t;return null==(t=this._uiVisible.get(e))||t}registerComponent(e,t){let r=t(),n=(this._componentsByPart.get(e)||this._componentsByPart.set(e,new Set).get(e)).add(r);return this._componentRegistered$.next(e),Jl(()=>{n.delete(r),0===n.size&&this._componentsByPart.delete(e),this._componentRegistered$.next(e)})}getComponents(e){return new Set([...this._componentsByPart.get(e)||new Set])}},fee=class{constructor(){U5(this,"_domLayerMap",new Map),U5(this,"_domLayers$",new Qn([])),U5(this,"domLayers$",this._domLayers$.asObservable())}get domLayers(){return Array.from(this._domLayerMap.entries())}_notice(){this._domLayers$.next(Array.from(this._domLayerMap.entries()))}updateFloatDom(e,t){let r=this._domLayerMap.get(e);r&&(this._domLayerMap.set(e,{...r,...t}),this._notice())}addFloatDom(e){this._domLayerMap.set(e.id,e),this._notice()}removeFloatDom(e){this._domLayerMap.delete(e)&&this._notice()}removeAll(){this._domLayerMap.clear(),this._notice()}};const gee=(0,_q.memo)(e=>{var t,r;let{layer:n,id:i}=e,a=(0,_q.useMemo)(()=>n.position$.pipe(Zn((e,t)=>e.absolute.left===t.absolute.left&&e.absolute.top===t.absolute.top&&e.endX-e.startX===t.endX-t.startX&&e.endY-e.startY===t.endY-t.startY)),[n.position$]),o=iK(dg),s=aK((0,_q.useMemo)(()=>n.position$.pipe(fq()),[n.position$])),l=(0,_q.useRef)(null),u=(0,_q.useRef)(null),c=(0,_q.useRef)(`transform: rotate(${null==s?void 0:s.rotate}deg) translate(${null==s?void 0:s.startX}px, ${null==s?void 0:s.startY}px)`),d=(0,_q.useRef)(null==(t=null==s?void 0:s.startY)?0:t),h=(0,_q.useRef)(null==(r=null==s?void 0:s.startX)?0:r),m=(0,_q.useRef)({}),f="string"==typeof n.componentKey?iK(W5).get(n.componentKey):n.componentKey,g=(0,_q.useMemo)(()=>({data:n.data,...n.props}),[n.data,n.props]);(0,_q.useEffect)(()=>{let e=n.position$.subscribe(e=>{var t;c.current=`rotate(${e.rotate}deg)`,d.current=e.startY,h.current=e.startX,l.current&&(l.current.style.transform=c.current,l.current.style.top=`${d.current}px`,l.current.style.left=`${h.current}px`,l.current.style.opacity=`${null==(t=e.opacity)?1:t}`)}),t=a.subscribe(e=>{if(l.current&&(l.current.style.width=`${Math.max(e.endX-e.startX-2,0)}px`,l.current.style.height=`${Math.max(e.endY-e.startY-2,0)}px`),u.current){let t={width:e.width-4+"px",height:e.height-4+"px",left:`${e.absolute.left?0:"auto"}`,top:`${e.absolute.top?0:"auto"}`,right:`${e.absolute.left?"auto":0}`,bottom:`${e.absolute.top?"auto":0}`};u.current.style.width=t.width,u.current.style.height=t.height,u.current.style.left=t.left,u.current.style.top=t.top,u.current.style.right=t.right,u.current.style.bottom=t.bottom,m.current=t}});return()=>{e.unsubscribe(),t.unsubscribe()}},[n.position$,a]);let p=o.getUnit(n.unitId),v=p instanceof Wm?p.getDisabled():void 0,b=(0,_q.useMemo)(()=>f?(0,$Z.jsx)(f,{...g,unitId:n.unitId,unit:p,floatDomId:n.id,context:{docDisabled:v,root:u}}):null,[f,g]);return s?(0,$Z.jsx)("div",{ref:l,className:"univer-z-10",style:{position:"absolute",top:d.current,left:h.current,width:Math.max(s.endX-s.startX-2,0),height:Math.max(s.endY-s.startY-2,0),transform:c.current,overflow:"hidden",transformOrigin:"center center"},onPointerMove:e=>{n.onPointerMove(e.nativeEvent)},onPointerDown:e=>{n.onPointerDown(e.nativeEvent)},onPointerUp:e=>{n.onPointerUp(e.nativeEvent)},onWheel:e=>{n.onWheel(e.nativeEvent)},children:(0,$Z.jsx)("div",{id:i,ref:u,className:"univer-absolute univer-overflow-hidden",style:{...m.current},children:b})}):null}),pee=({unitId:e})=>{var t;let r=iK(dg),n=aK(iK(fee).domLayers$),i=aK(r.focused$),a=e||i;return null==n||null==(t=n.filter(e=>e[1].unitId===a))?void 0:t.map(e=>{var t;return(0,$Z.jsx)(gee,{id:null==(t=e[1].domId)?e[0]:t,layer:e[1]},e[0])})},vee=V("ui.popup.service");var bee=class extends tu{constructor(...e){super(...e),U5(this,"_popupMap",new Map),U5(this,"_popups$",new Qn([])),U5(this,"popups$",this._popups$.asObservable()),U5(this,"_activePopupId",null)}get popups(){return Array.from(this._popupMap.entries())}get activePopupId(){return this._activePopupId}_update(){this._popups$.next(Array.from(this._popupMap.entries()))}dispose(){super.dispose(),this._popups$.next([]),this._popups$.complete(),this._popupMap.clear()}addPopup(e){let t=cu();return this._popupMap.set(t,{...e,onActiveChange:e=>{e?this._activePopupId=t:this._activePopupId===t&&(this._activePopupId=null)}}),this._update(),t}removePopup(e){this._popupMap.delete(e)&&this._update()}removeAll(){this._popupMap.clear(),this._update()}};const Cee=(0,_q.createContext)({current:void 0});function yee(e){let{position:t,width:r,height:n,containerHeight:i,containerWidth:a,direction:o="vertical",noPushMinimumGap:s=!1}=e,l=s?-1/0:8,u=s?1/0:i-n-8,c=s?-1/0:8,d=s?1/0:a-r-8;if("vertical"===o||0===o.indexOf("top")||0===o.indexOf("bottom")){let e,{left:i,top:s,right:h,bottom:m}=t,f="vertical"===o&&m>u||o.indexOf("top")>-1?{top:Math.max(Math.min(s-n,u),l)}:{top:Math.max(Math.min(m,u),l)};if(o.includes("center")){let t=(h-i-r)/2;e=Math.max(i+t,c)+r>a?{left:Math.max(Math.min(d,h-r-t),c)}:{left:Math.max(c,Math.min(i+t,d))}}else e=o.includes("right")?{left:Math.max(Math.min(h-r,d),c)}:o.includes("left")?{left:Math.max(Math.min(i,d),c)}:i+r>a?Math.max(h-r,c)<8?{left:Math.max(Math.min(i,d),c)}:{left:Math.max(Math.min(h-r,d),c)}:{left:Math.max(Math.min(i,d),c)};return{...f,...e}}let h,{left:m,top:f,right:g,bottom:p}=t,v=o.includes("left")?{left:Math.max(Math.min(m-r,d),c)}:{left:Math.max(Math.min(g,d),c)};if(o.includes("center")){let e=(p-f-n)/2;h=Math.max(f+e,l)+n>i?{top:Math.max(Math.min(u,p-n-e),l)}:{top:Math.max(l,Math.min(f+e,u))}}else h=o.includes("top")?{top:Math.max(Math.min(f,u),l)}:o.includes("bottom")?{top:Math.max(Math.min(p-n,u),l)}:f+n>i?Math.max(p-n,l)<8?{top:Math.max(Math.min(f,u),l)}:{top:Math.max(Math.min(p-n,u),l)}:{top:Math.max(Math.min(f,u),l)};return{...h,...v}}function _ee(e){var t;let{mask:r,portal:n,children:i,anchorRect$:a,direction:o="vertical",onClickOutside:s,excludeOutside:l,excludeRects:u,onPointerEnter:c,onPointerLeave:d,onClick:h,hidden:m,onContextMenu:f,zIndex:g=1020,maskZIndex:p=100,onMaskClick:v,noPushMinimumGap:b,autoRelayout:C=!0}=e,y=(0,_q.useRef)(null),_=$5(null==s?()=>{}:s),w=$5(null==f?()=>{}:f),E=(0,_q.useRef)({top:-9999,left:-9999}),S=u,A=iK(Tc),I=(0,_q.useRef)(void 0),R=A.getConfig(n8),x=null==(t=null==R?void 0:R.popupRootId)?"univer-popup-portal":t,T=$5(e=>{requestAnimationFrame(()=>{if(!y.current)return;let{clientWidth:t,clientHeight:r}=y.current,n=window.innerWidth,i=window.innerHeight;E.current=yee({position:e,width:t,height:r,containerWidth:n,containerHeight:i,direction:o,noPushMinimumGap:b}),y.current.style.top=`${E.current.top}px`,y.current.style.left=`${E.current.left}px`})});(0,_q.useEffect)(()=>{let e;return y.current&&(e=new ResizeObserver(()=>{C&&I.current&&T(I.current)}),e.observe(y.current)),()=>{null==e||e.disconnect()}},[y.current,C]),(0,_q.useEffect)(()=>{let e=a.subscribe(e=>{I.current=e,T(e)});return()=>e.unsubscribe()},[a,o]),(0,_q.useEffect)(()=>{let e=e=>{var t;if(l&&(l.indexOf(e.target)>-1||l.some(t=>t.contains(e.target))))return;let r=e.clientX,n=e.clientY,i=[...null==(t=null==S?void 0:S.current)?[]:t];I.current&&i.push(I.current);for(let e of i)if(r<=e.right&&r>=e.left&&n<=e.bottom&&n>=e.top)return;_(e)};return window.addEventListener("pointerdown",e),()=>{window.removeEventListener("pointerdown",e)}},[_,l,S]),(0,_q.useEffect)(()=>{let e=e=>{e.ctrlKey&&0===e.button||w()};return window.addEventListener("contextmenu",e),()=>{window.removeEventListener("contextmenu",e)}},[w]);let N=(0,$Z.jsxs)($Z.Fragment,{children:[r&&(0,$Z.jsx)("div",{"data-u-comp":"rect-popup-mask",className:"univer-fixed univer-inset-0 univer-z-[100]",style:{zIndex:p},onClick:v}),(0,$Z.jsx)("section",{"data-u-comp":"rect-popup",ref:y,className:x7("univer-pointer-events-auto univer-fixed univer-left-[-9999px] univer-top-[-9999px] univer-z-[1020]",{"univer-hidden":m,"univer-animate-in univer-fade-in-70":!m}),style:{...E.current,zIndex:g},onPointerDown:e=>e.stopPropagation(),onClick:h,onPointerEnter:c,onPointerLeave:d,children:(0,$Z.jsx)(Cee.Provider,{value:I,children:i})})]});return n?document.getElementById(x)?(0,q$.createPortal)(N,document.getElementById(x)):null:N}_ee.calcPopupPosition=yee,_ee.useContext=()=>(0,_q.useContext)(Cee);const wee=({popup:e,children:t})=>{let[r,n]=(0,_q.useState)(!1),i=(0,_q.useMemo)(()=>e.anchorRect$.pipe(pq(0,Cq),Yn(t=>{var r;let{bottom:n,left:i,right:a,top:o}=t,[s=0,l=0]=null==(r=e.offset)?[]:r;return{left:i-s,right:a+s,top:o-l,bottom:n+l}})),[e.anchorRect$,e.offset]),a=(0,_q.useMemo)(()=>{var t,r;return null==(t=null==(r=e.hiddenRects$)?void 0:r.pipe(pq(0,Cq)))?Ai([]):t},[e.hiddenRects$]),o=function(e,t){let r=(0,_q.useRef)(t);return(0,_q.useEffect)(()=>{if(e){let t=function(e){return"function"==typeof e?e():e}(e).subscribe(e=>{r.current=e});return()=>t.unsubscribe()}},[e]),r}((0,_q.useMemo)(()=>{var t;return null==(t=e.excludeRects$)?void 0:t.pipe(pq(0,Cq))},[e.excludeRects$]),e.excludeRects),{canvasElement:s,hideOnInvisible:l=!0,hiddenType:u="destroy"}=e;return(0,_q.useEffect)(()=>{if(!l)return;let e=Oi([i,a]).subscribe(([e,t])=>{let{top:r,left:i,bottom:a,right:o}=s.getBoundingClientRect(),l=e.bottom-e.top,u=e.right-e.left,c=t.some(t=>{let r=Math.min(.5*l,10),n=Math.min(.5*u,10);return e.top>=t.top-r&&e.bottom<=t.bottom+r&&e.left>=t.left-n&&e.right<=t.right+n});e.bottoma||e.righto||c?n(!0):n(!1)});return()=>e.unsubscribe()},[s,l,i,a]),r&&"destroy"===u?null:(0,$Z.jsx)(_ee,{...e,hidden:r,anchorRect$:i,direction:e.direction,onClickOutside:e.onClickOutside,excludeOutside:e.excludeOutside,excludeRects:o,...e.customActive?null:{onPointerEnter:()=>{var t;return null==(t=e.onActiveChange)?void 0:t.call(e,!0)},onPointerLeave:()=>{var t;return null==(t=e.onActiveChange)?void 0:t.call(e,!1)}},onClick:e.onClick,onContextMenu:e.onContextMenu,children:t})};function Eee(){let e=iK(vee),t=iK(W5);return aK(e.popups$,void 0,!0).map(e=>{let[r,n]=e,i=t.get(n.componentKey);return(0,$Z.jsx)(wee,{popup:n,children:i?(0,$Z.jsx)(i,{popup:n}):null},r)})}const See=V("univer.ribbon-service");let Aee=class extends tu{constructor(e,t){super(),this._menuManagerService=e,this._univerInstanceService=t,U5(this,"_ribbon$",new Qn([])),U5(this,"ribbon$",this._ribbon$.asObservable()),U5(this,"_activatedTab$",new Qn(Y8.START)),U5(this,"activatedTab$",this._activatedTab$.asObservable()),U5(this,"_collapsedIds$",new Qn([])),U5(this,"collapsedIds$",this._collapsedIds$.asObservable()),U5(this,"_fakeToolbarVisible$",new Qn(!1)),U5(this,"fakeToolbarVisible$",this._fakeToolbarVisible$.asObservable()),this._initRibbonSubscription()}setActivatedTab(e){this._activatedTab$.next(e)}setCollapsedIds(e){this._collapsedIds$.next(e)}setFakeToolbarVisible(e){this._fakeToolbarVisible$.next(e)}_initRibbonSubscription(){this.disposeWithMe(Oi([this._menuManagerService.menuChanged$.pipe(RL(void 0)),this._univerInstanceService.focused$.pipe(RL(void 0))]).subscribe(()=>{this._updateRibbon()}))}_updateRibbon(){let e=this._menuManagerService.getMenuByPositionKey(G8.RIBBON),t=[],r=[];for(let i of e)if(i.children)for(let e of i.children)if(e.children)for(let i of e.children){var n;null!=(n=i.item)&&n.hidden$&&(t.push(i.item.hidden$),r.push(i.key))}0!==t.length?Oi(t).pipe(RL(Array(t.length).fill(!1))).subscribe(t=>{let n=[],i=t.map((e,t)=>e?r[t]:null).filter(e=>!!e);for(let t of e){var a,o;let e={...t,children:[]};if(null!=(a=t.children)&&a.length)for(let r of t.children){var s;let t={...r,children:[]},n=!0;if(null!=(s=r.children)&&s.length){var l;for(let e of r.children)if(!i.includes(e.key)){var u;null==(u=t.children)||u.push(e)}null!=(l=t.children)&&l.every(e=>{var t;return 0===(null==(t=e.children)?void 0:t.length)})&&(n=!1)}var c;n&&(null==(c=e.children)||c.push(t))}null!=(o=e.children)&&o.length&&e.children.every(e=>{var t;return null==(t=e.children)?void 0:t.length})&&n.push(e)}this._ribbon$.next(n)}).unsubscribe():this._ribbon$.next(e)}};function Iee(e){let{components:t,fallback:r,sharedProps:n}=e;return t&&0!==t.size?Array.from(t.values()).map((e,t)=>{var r;return(0,_q.createElement)(e,{key:`${null==(r=e.displayName)?t:r}`,...n})}):null==r?null:r}function Ree(e,t){var r;let n=null==(r=null==t?void 0:t.get(hee))?iK(hee):r,i=aK((0,_q.useMemo)(()=>n.uiVisibleChange$.pipe(Un(t=>t.ui===e)),[e,n])),a=(0,_q.useRef)(0);return(0,_q.useMemo)(()=>n.isUIVisible(e)?n.getComponents(e):new Set,[aK(()=>n.componentRegistered$.pipe(Un(t=>t===e),Gn(200),Yn(()=>a.current+=1),RL(a.current+=1)),void 0,void 0,[n,e,i])])}function xee({ribbon:e,activatedTab:t,onSelectTab:r}){let n=iK(Cg);return(0,$Z.jsx)("div",{className:"univer-flex univer-size-full univer-items-center univer-justify-center univer-gap-1 univer-overflow-x-auto univer-rounded-md univer-bg-gray-50 univer-px-3 dark:!univer-bg-gray-900",role:"tablist","aria-label":n.t("ribbon.menu"),children:e.map(e=>{let i=t===e.key;return(0,$Z.jsx)("button",{type:"button",role:"tab","aria-selected":i,title:n.t(e.key),onClick:()=>r(e),className:x7("univer-focus:outline-none univer-focus:ring-2 univer-focus:ring-primary-500 dark:!univer-focus:ring-primary-300 univer-flex univer-cursor-pointer univer-appearance-none univer-items-center univer-gap-1 univer-rounded-sm univer-border-none univer-px-2 univer-py-1 univer-text-sm univer-transition-colors",i?"\n univer-bg-primary-50 univer-font-semibold univer-text-primary-600 univer-shadow-sm\n dark:!univer-bg-primary-900 dark:!univer-text-primary-300\n ":"\n univer-hover:bg-gray-100\n dark:!univer-hover:bg-gray-700\n univer-bg-transparent univer-text-gray-700\n dark:!univer-text-gray-200\n "),children:n.t(e.key)},e.key)})})}Aee=o8([a8(0,nee),a8(1,dg)],Aee);const Tee={[Y8.START]:PZ,[Y8.INSERT]:UZ,[Y8.FORMULAS]:uY,[Y8.DATA]:VZ,[Y8.VIEW]:jZ,[Y8.OTHERS]:WZ};function Nee({ribbon:e,activatedTab:t,onSelectTab:r}){let n=iK(Cg),[i,a]=(0,_q.useState)(!1);return(0,$Z.jsx)(i5,{className:"univer-max-w-96 !univer-rounded-xl",align:"start",open:i,overlay:(0,$Z.jsx)("div",{className:"univer-grid univer-gap-1 univer-px-2 univer-py-1",children:e.map(e=>{let t=Tee[e.key];return(0,$Z.jsxs)("a",{"data-u-comp":"ribbon-group-btn",className:"univer-box-border univer-flex univer-cursor-pointer univer-items-center univer-gap-2.5 univer-rounded-lg univer-px-2 univer-py-1.5 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",role:"button",onClick:()=>function(e){r(e),a(!1)}(e),children:[(0,$Z.jsx)("span",{className:x7("univer-box-border univer-flex univer-size-9 univer-flex-shrink-0 univer-items-center univer-justify-center univer-rounded-lg",V7),children:(0,$Z.jsx)(t,{className:"univer-text-gray-500 dark:!univer-text-gray-300"})}),(0,$Z.jsxs)("span",{className:"univer-flex univer-flex-col",children:[(0,$Z.jsx)("strong",{className:"univer-text-sm univer-font-semibold univer-text-gray-800 dark:!univer-text-gray-200",children:n.t(e.key)}),(0,$Z.jsx)("span",{className:"univer-text-xs univer-text-gray-400",children:n.t(`${e.key}Desc`)})]})]},e.key)})}),onOpenChange:a,children:(0,$Z.jsxs)("a",{className:"univer-mr-2 univer-flex univer-h-7 univer-cursor-pointer univer-items-center univer-gap-1.5 univer-whitespace-nowrap !univer-rounded-full univer-bg-gray-700 univer-pl-3 univer-pr-2 univer-text-sm univer-text-white dark:!univer-bg-gray-200 dark:!univer-text-gray-800",onClick:()=>a(!0),children:[n.t(t),(0,$Z.jsx)(uQ,{className:"univer-text-gray-200 dark:!univer-text-gray-500"})]})})}const Mee="\nuniver-box-border univer-flex univer-h-6 univer-min-w-6 univer-cursor-pointer univer-items-center\nuniver-justify-center univer-rounded univer-border-none univer-bg-transparent univer-p-0\nuniver-text-gray-900 univer-outline-none univer-transition-colors univer-animate-in univer-fade-in\ndark:!univer-text-white dark:hover:!univer-bg-gray-700 dark:disabled:!univer-text-gray-600\ndisabled:univer-cursor-not-allowed disabled:univer-text-gray-300 disabled:hover:univer-bg-transparent\nhover:univer-bg-gray-100 whitespace-nowrap univer-w-max\n";function Oee(e){let{children:t,className:r,style:n,disabled:i=!1,active:a=!1,noIcon:o,onClick:s,onDoubleClick:l,...u}=e;return(0,$Z.jsx)("button",{type:"button",className:x7(Mee,r,{"univer-px-2":o,"!univer-bg-gray-200 dark:!univer-bg-gray-500":a}),style:n,disabled:i,onClick:e=>{i?e.preventDefault():s&&s(e)},onDoubleClick:e=>{i?e.preventDefault():l&&l(e)},...u,children:t})}const Lee=(0,_q.createContext)({dropdownVisible:!1,setDropdownVisible:e=>{}}),kee=(0,_q.forwardRef)((e,t)=>{let{children:r,...n}=e,i=(0,_q.useRef)(null),[a,o]=(0,_q.useState)(!1),[s,l]=(0,_q.useState)(!1);function u(e){l(e),o(!1)}let c=(0,_q.useMemo)(()=>({dropdownVisible:s,setDropdownVisible:u}),[s]);return(0,_q.useImperativeHandle)(t,()=>({el:i.current})),n.title?(0,$Z.jsx)(J9,{visible:a,onVisibleChange:function(e){o(!s&&e)},...n,children:(0,$Z.jsx)("span",{ref:i,children:(0,$Z.jsx)(Lee.Provider,{value:c,children:r})})}):(0,$Z.jsx)("span",{ref:i,children:r})});function Pee(e){let{children:t,overlay:r,disabled:n,align:i="start"}=e,{dropdownVisible:a,setDropdownVisible:o}=(0,_q.useContext)(Lee);return(0,$Z.jsx)(x9,{align:i,overlay:(0,$Z.jsx)("div",{className:"univer-grid univer-gap-2",children:r}),disabled:n,open:a,onOpenChange:function(e){o(e)},children:(0,$Z.jsx)("div",{className:"univer-h-full",onClick:e=>e.stopPropagation(),children:t})})}function Dee({icon:e,value:t,option:r,onOptionSelect:n}){var i;let a="string"==typeof r.label||"object"==typeof r.label&&!1!==(null==(i=r.label)?void 0:i.selectable);return(0,$Z.jsxs)("div",{className:x7("univer-relative univer-flex univer-items-center univer-gap-2",{"univer-pl-6":a}),children:[a&&String(t)===String(r.value)&&(0,$Z.jsx)(XZ,{className:"univer-absolute univer-left-1 univer-top-0.5 univer-text-primary-600"}),(0,$Z.jsx)(Q5,{className:"univer-text-sm",icon:e,value$:r.value$,value:r.value,label:r.label,onChange:e=>{null==n||n({value:e,label:null==r?void 0:r.label,commandId:null==r?void 0:r.commandId})}})]})}function Uee({menuId:e,slot:t,value:r,options:n,children:i,disabled:a,onOptionSelect:o}){let{dropdownVisible:s,setDropdownVisible:l}=(0,_q.useContext)(Lee),u=iK(nee),[c,d]=(0,_q.useState)({}),h=(0,_q.useMemo)(()=>e?u.getMenuByPositionKey(e):[],[e]),m=(0,_q.useMemo)(()=>h.filter(e=>{var t;return e.children?!c[(null==(t=e.key)?void 0:t.toString())||""]:!c[e.key]}),[h,c]);function f(e){l(e)}if((0,_q.useEffect)(()=>{let e=[];return h.forEach(t=>{if(t.children){let r=Oi(t.children.map(e=>{var t,r;return null==(t=null==(r=e.item)?void 0:r.hidden$)?Ai(!1):t})).subscribe(e=>{let r=e.every(e=>!0===e);d(e=>({...e,[t.key]:r}))});e.push(r)}else{var r;if(null!=(r=t.item)&&r.hidden$){let r=t.item.hidden$.subscribe(e=>{d(r=>({...r,[t.key]:e}))});e.push(r)}}}),()=>{e.forEach(e=>null==e?void 0:e.unsubscribe()),d({})}},[h]),t)return(0,$Z.jsx)(Pee,{disabled:a,overlay:n.map((e,t)=>(0,$Z.jsx)(Dee,{value:r,option:e,onOptionSelect:o},t)),children:i});if(null!=n&&n.length){let e=n.map(e=>{var t;return{type:"item",className:x7({"focus:univer-bg-white":"string"!=typeof e.label&&!1===(null==(t=e.label)?void 0:t.hoverable)}),children:(0,$Z.jsx)(Dee,{icon:e.icon,value:r,option:e,onOptionSelect:o}),disabled:e.disabled,onSelect:()=>{void 0!==e.value&&(null==o||o({...e}))}}});for(let t of m){if(!t.item)continue;let{title:n,id:i,commandId:a,icon:s}=t.item;if(!n)throw Error("Menu item title is required");e.push({type:"item",children:(0,$Z.jsx)(Dee,{icon:s,value:r,option:{label:{name:n,selectable:!1}}}),onSelect:()=>{null==o||o({commandId:a,id:i})}})}return(0,$Z.jsx)(H9,{align:"start",items:e,disabled:a,open:s,onOpenChange:f,children:i})}{let e=[];for(let t of m){var g;if(t.item){let{title:n,id:i,commandId:a,icon:s}=t.item;if(!n)throw Error("Menu item title is required");e.push({type:"item",children:(0,$Z.jsx)(Dee,{icon:s,value:r,option:{label:{name:n,selectable:!1}}}),onSelect:()=>{null==o||o({commandId:a,id:i})}})}else null!=(g=t.children)&&g.length}return(0,$Z.jsx)(H9,{align:"start",items:e,disabled:a,open:s,onOpenChange:f,children:i})}}const Bee=(0,_q.forwardRef)((e,t)=>{let r=iK(Cg),n=iK(Vc),i=iK(O8),a=iK(W5),{value:o,hidden:s,disabled:l,activated:u,selectionsValue:c}=function(e){let t,{disabled$:r,hidden$:n,activated$:i,value$:a}=e;if(function(e){return e.type===lee.BUTTON_SELECTOR}(e)){let{selections:r}=e;var o;Array.isArray(r)&&(t=null==r||null==(o=r[0])?void 0:o.value$)}let[s,l]=(0,_q.useState)(),[u,c]=(0,_q.useState)(!1),[d,h]=(0,_q.useState)(!1),[m,f]=(0,_q.useState)(!1),[g,p]=(0,_q.useState)();return(0,_q.useEffect)(()=>{let e=[];return r&&e.push(r.subscribe(e=>c(e))),n&&e.push(n.subscribe(e=>f(e))),i&&e.push(i.subscribe(e=>h(e))),a&&e.push(a.subscribe(e=>l(e))),t&&e.push(t.subscribe(e=>p(e))),()=>e.forEach(e=>e.unsubscribe())},[i,r,n,a,t]),{disabled:u,value:s,activated:d,hidden:m,selectionsValue:g}}(e),d=(e,t)=>{i.focus(),n.executeCommand(e,t)},{tooltip:h,shortcut:m,icon:f,title:g,label:p,id:v,commandId:b,type:C,slot:y,params:_}=e,w=r.t(null==h?"":h)+(m?` (${m})`:""),{selections:E}=e,S=aK((0,_q.useMemo)(()=>oq(E)?E:new Tn(e=>{e.next(E)}),[E])),A=aK((0,_q.useMemo)(()=>oq(f)?f:new Tn(e=>{var t,r;let n=null==(t=null==S||null==(r=S.find(e=>e.value===o))?void 0:r.icon)?f:t;e.next(n)}),[f,S,o]),void 0,!0);return!s&&(0,$Z.jsx)(kee,{ref:t,title:w,placement:"bottom",children:function(){switch(C){case lee.BUTTON_SELECTOR:case lee.SELECTOR:case lee.SUBITEMS:return function(t){var r;let n=e.selectionsCommandId,i=null==b?v:b,a=null==(r=null==n?b:n)?v:r;function s(e){if(l)return;let t=a;e.id&&(t=e.id),d(t,{value:e.value})}function h(e){l||d(a,{value:e})}return t===lee.BUTTON_SELECTOR?(0,$Z.jsxs)("div",{"data-u-command":v,"data-disabled":l,className:x7("univer-toolbar-button-selector-root univer-animate-in univer-fade-in univer-group univer-relative univer-flex univer-h-6 univer-cursor-pointer univer-items-center univer-rounded univer-pr-5 univer-text-sm univer-transition-colors hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",{"univer-text-gray-900 dark:!univer-text-white":!l,"univer-pointer-events-none univer-cursor-not-allowed univer-text-gray-300 dark:!univer-text-gray-600":l}),children:[(0,$Z.jsx)("div",{className:x7("univer-toolbar-button-selector-main univer-relative univer-z-[1] univer-flex univer-h-full univer-items-center univer-rounded-l univer-px-1 univer-transition-colors hover:univer-bg-gray-200 dark:hover:!univer-bg-gray-600",{"univer-bg-gray-200 dark:!univer-bg-gray-500":u,"univer-bg-gray-100":u&&l}),onClick:function(){l||t===lee.BUTTON_SELECTOR&&d(i,{value:o})},children:(0,$Z.jsx)(Q5,{icon:A,title:g,value:null==c?o:c,label:p,onChange:h})}),(0,$Z.jsx)(Uee,{menuId:v,slot:y,value:o,options:S,disabled:l,onOptionSelect:s,children:(0,$Z.jsx)("div",{className:x7("univer-toolbar-button-selector-trigger univer-absolute univer-right-0 univer-top-0 univer-box-border univer-flex univer-h-6 univer-w-5 univer-items-center univer-justify-center univer-rounded-r univer-transition-colors hover:univer-bg-gray-200 dark:hover:!univer-bg-gray-600",{"univer-pointer-events-none univer-cursor-not-allowed univer-text-gray-300 dark:!univer-text-gray-600":l,"univer-bg-gray-200 dark:!univer-bg-gray-500":u,"univer-bg-gray-100":u&&l}),"data-disabled":l,children:(0,$Z.jsx)(uQ,{})})})]}):(0,$Z.jsx)(Uee,{menuId:v,slot:y,value:o,options:S,disabled:l,onOptionSelect:s,children:(0,$Z.jsxs)("div",{"data-u-command":v,className:x7("univer-toolbar-selector-root univer-animate-in univer-fade-in univer-relative univer-flex univer-h-6 univer-cursor-pointer univer-items-center univer-gap-2 univer-whitespace-nowrap univer-rounded univer-px-1 univer-transition-colors hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",{"univer-text-gray-900 dark:!univer-text-white":!l,"univer-pointer-events-none univer-cursor-not-allowed univer-text-gray-300 dark:!univer-text-gray-600":l,"univer-bg-gray-200":u,"univer-bg-gray-100":u&&l}),children:[(0,$Z.jsx)(Q5,{icon:A,title:g,value:o,label:p,onChange:h}),(0,$Z.jsx)("div",{className:x7("univer-toolbar-selector-trigger univer-flex univer-h-full univer-items-center",{"univer-pointer-events-none univer-cursor-not-allowed univer-text-gray-300 dark:!univer-text-gray-600":l}),children:(0,$Z.jsx)(uQ,{})})]})})}(C);case lee.BUTTON:default:return function(){var t;let r=a.get("string"==typeof p?p:null==(t=null==p?void 0:p.name)?"":t),n=(null==o?"function"==typeof _:o)?_():_;return(0,$Z.jsx)(Oee,{"data-u-command":v,className:"univer-text-sm",noIcon:!f,active:u,disabled:l,onClick:()=>{var t;return d(null==(t=e.commandId)?e.id:t,n)},onDoubleClick:()=>e.subId&&d(e.subId),children:r?(0,$Z.jsx)(Q5,{title:g,value:o,label:p}):f?(0,$Z.jsx)(Q5,{icon:f}):(0,$Z.jsx)(Q5,{title:g})})}()}}()})});function Vee(e){let{ribbonType:t,headerMenuComponents:r,headerMenu:n=!0}=e,i=iK(See),a=iK(Cg),o=(0,_q.useRef)(null),s=(0,_q.useRef)({}),l=aK(i.ribbon$,[]),u=aK(i.activatedTab$,Y8.START),c=aK(i.collapsedIds$,[]),d=aK(i.fakeToolbarVisible$,!1),h=(0,_q.useMemo)(()=>{if("simple"===t){let e=[{key:Y8.START,children:[],order:0}];return l.forEach(t=>{var r;null==(r=t.children)||r.forEach(t=>{var r;null==(r=e[0].children)||r.push(t)})}),e}return l},[t,l]),m=(0,_q.useCallback)(e=>{s.current={},i.setActivatedTab(e.key)},[]),f=(0,_q.useMemo)(()=>{var e,t;let r=null==(e=null==(t=h.find(e=>e.key===u))?void 0:t.children)?[]:e,n=[],i=[];for(let e of r)if(e.children){let t=e.children.filter(e=>!c.includes(e.key));t.length>0&&n.push({...e,children:t}),t.lengthc.includes(e.key))})}return{allGroups:r,visibleGroups:n,hiddenGroups:i}},[c,h,u]);(0,_q.useEffect)(()=>{let e=null,t=new ResizeObserver(Dl(t=>{for(let r of t)i.setFakeToolbarVisible(!0),e=requestAnimationFrame(()=>{var e,t;let{width:n}=r.contentRect,a=Object.values(s.current).sort((e,t)=>e.order-t.order||e.groupOrder-t.groupOrder||e.itemOrder-t.itemOrder),o=[],l=32;l+=8*((null==(e=null==(t=h.find(e=>e.key===u))?void 0:t.children)?[]:e).length-1);for(let{el:e,key:t}of a){let{width:r}=e.getBoundingClientRect();l+=r+8,l>n&&o.push(t)}i.setCollapsedIds(o),i.setFakeToolbarVisible(!1)})},10));return t.observe(o.current),()=>{e&&cancelAnimationFrame(e),t.disconnect()}},[h,u]);let g=(0,_q.useMemo)(()=>(0,$Z.jsx)("div",{"aria-hidden":"true",className:x7("univer-invisible univer-absolute -univer-left-[99999] -univer-top-[99999] univer-box-border univer-flex univer-h-10 univer-min-w-min univer-items-center univer-px-3 univer-opacity-0",{"univer-hidden":!d},X7,W7),children:f.allGroups.map((e,t)=>{var r,n;return((null==(r=e.children)?void 0:r.length)||e.item)&&(0,$Z.jsx)(_q.Fragment,{children:(0,$Z.jsx)("div",{className:"univer-grid univer-shrink-0 univer-grid-flow-col univer-gap-2 univer-px-2",children:e.children&&(null==(n=e.children)?void 0:n.map(r=>r.item&&(0,$Z.jsx)(Bee,{...r.item,ref:n=>{null!=n&&n.el&&(s.current[r.key]={el:n.el,key:r.key,order:t,groupOrder:e.order,itemOrder:r.order})}},r.key)))})},e.key)})}),[f.allGroups,d]);return(0,$Z.jsxs)($Z.Fragment,{children:[(0,$Z.jsxs)("div",{"data-u-comp":"ribbon-header-menu",className:x7("univer-relative univer-select-none",{"univer-h-9":"classic"===t||r&&r.size>0}),children:["classic"===t&&h.length>1&&(0,$Z.jsx)(xee,{ribbon:h,activatedTab:u,onSelectTab:m}),n&&r&&r.size>0&&(0,$Z.jsx)("div",{className:"univer-absolute univer-right-2 univer-top-0 univer-flex univer-h-full univer-items-center univer-gap-2 [&>*]:univer-inline-flex [&>*]:univer-h-6 [&>*]:univer-items-center [&>*]:univer-rounded [&>*]:univer-px-1 [&>*]:univer-transition-colors hover:[&>*]:univer-bg-gray-100",children:(0,$Z.jsx)(Iee,{components:r})})]}),(0,$Z.jsxs)("div",{className:x7("univer-box-border univer-grid univer-h-10 univer-grid-flow-col univer-items-center univer-px-3 univer-text-sm",{"univer-grid-cols-[1fr] univer-justify-center":"classic"===t,"univer-grid-cols-[auto,1fr]":h.length>1&&"classic"!==t,"univer-grid-cols-none":1===h.length},W7),children:["collapsed"===t&&h.length>1&&(0,$Z.jsx)(Nee,{ribbon:h,activatedTab:u,onSelectTab:m}),(0,$Z.jsxs)("div",{"data-u-comp":"ribbon-toolbar",ref:o,className:x7("univer-flex univer-overflow-hidden",X7,{"univer-justify-center":"classic"===t}),role:"toolbar","aria-label":a.t(u),children:[f.visibleGroups.map(e=>{var t,r;return((null==(t=e.children)?void 0:t.length)||e.item)&&(0,$Z.jsx)(_q.Fragment,{children:(0,$Z.jsx)("div",{className:"univer-grid univer-shrink-0 univer-grid-flow-col univer-gap-2 univer-px-2",children:e.children&&(null==(r=e.children)?void 0:r.map(e=>e.item&&(0,$Z.jsx)(Bee,{...e.item},e.key)))})},e.key)}),c.length>0&&(0,$Z.jsx)("div",{"data-u-comp":"ribbon-toolbar-more",className:"univer-pl-2 rtl:univer-pr-2",children:(0,$Z.jsx)(x9,{collisionPadding:{right:12,left:12},onOpenAutoFocus:e=>e.preventDefault(),overlay:(0,$Z.jsx)("div",{className:"univer-box-border univer-grid univer-max-w-[--radix-popper-available-width] univer-gap-2 univer-p-2",children:f.hiddenGroups.map(e=>{var t;return(0,$Z.jsx)("div",{className:"univer-flex univer-items-center univer-gap-2",children:(0,$Z.jsx)("div",{className:"univer-flex univer-flex-wrap univer-gap-2",children:e.children?null==(t=e.children)?void 0:t.map(e=>e.item&&(0,$Z.jsx)(Bee,{...e.item},e.key)):e.item&&(0,$Z.jsx)(Bee,{...e.item},e.key)})},e.key)})}),children:(0,$Z.jsx)("button",{type:"button",className:Mee,"aria-label":a.t("ribbon.more"),"aria-haspopup":"true",children:(0,$Z.jsx)(WZ,{})})})})]})]}),g]})}var Fee=class extends tu{constructor(...e){super(...e),U5(this,"_styleSheetId","univer-theme-css-variables")}injectThemeToHead(e){let t=function(e,t="--univer"){let r=[];return function e(n,i=""){for(let a in n){let o=n[a],s=i?`${i}-${a}`:a;"object"==typeof o&&o?e(o,s):r.push(`${t}-${s}: ${o};`)}}(e),r.join("\n")}(e),r=document.getElementById(this._styleSheetId);r&&r.remove();let n=document.createElement("style");n.setAttribute("id",this._styleSheetId),n.textContent=`:root {\n${t}\n}`,document.head.appendChild(n)}dispose(){super.dispose()}};const jee=V("ui.contextmenu.service");var Hee=class extends tu{constructor(...e){super(...e),U5(this,"_currentHandler",null),U5(this,"disabled",!1)}get visible(){var e,t;return null!=(e=null==(t=this._currentHandler)?void 0:t.visible)&&e}disable(){this.disabled=!0}enable(){this.disabled=!1}triggerContextMenu(e,t){var r;e.stopPropagation(),!this.disabled&&(null==(r=this._currentHandler)||r.handleContextMenu(e,t))}hideContextMenu(){var e;null==(e=this._currentHandler)||e.hideContextMenu()}registerContextMenuHandler(e){if(this._currentHandler)throw Error("There is already a context menu handler!");return this._currentHandler=e,Jl(()=>this._currentHandler=null)}};const Wee=V("ui.contextmenu.host.service");var zee=class extends tu{constructor(...e){super(...e),U5(this,"_menuMap",new Map),U5(this,"_activeMenuId",null)}get activeMenuId(){return this._activeMenuId}registerMenu(e,t){return this._menuMap.set(e,t),Jl(()=>{this._menuMap.delete(e),this._activeMenuId===e&&(this._activeMenuId=null)})}activateMenu(e){this.hideActiveMenu(e),this._activeMenuId=e}deactivateMenu(e){this._activeMenuId===e&&(this._activeMenuId=null)}hideActiveMenu(e){if(!this._activeMenuId||this._activeMenuId===e)return;let t=this._menuMap.get(this._activeMenuId);this._activeMenuId=null,null==t||t()}};function Xee({items:e}){return(0,$Z.jsx)("div",{className:"univer-menu-item-group univer-flex univer-flex-wrap univer-gap-2.5 univer-p-1 univer-px-0",children:e.map(e=>{let t=(0,$Z.jsx)("div",{className:x7("univer-flex univer-size-6 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-md hover:univer-bg-gray-50 dark:hover:!univer-bg-gray-900",{"univer-bg-gray-50 dark:!univer-bg-gray-900":e.active},e.className),onClick:()=>e.onClick(),children:(0,$Z.jsx)(e.Icon,{className:"univer-size-4 univer-text-gray-900 dark:!univer-text-gray-200"})},e.key);return e.tooltip?(0,$Z.jsx)(J9,{title:e.tooltip,children:t},e.key):t})})}function qee(e){let{menuSchema:t,onOptionSelect:r}=e,n=iK(W5),i=iK(Cg),a=t.item,o=aK(null==a?void 0:a.disabled$,!1),s=aK(null==a?void 0:a.hidden$,!1),l=aK(null==a?void 0:a.activated$,!1);if(!a||s)return null;let u=a.icon?n.get(a.icon):null;return(0,$Z.jsxs)("button",{type:"button",className:x7("univer-relative univer-box-border univer-flex univer-size-12 univer-w-full univer-appearance-none univer-flex-col univer-items-center univer-justify-center univer-gap-0.5 univer-rounded-lg univer-border-none univer-bg-white univer-p-0 univer-font-medium univer-text-gray-700 univer-outline-none univer-transition-all focus-visible:univer-ring-2 focus-visible:univer-ring-primary-600 focus-visible:univer-ring-offset-0 dark:!univer-bg-gray-700 dark:!univer-text-gray-100",o?"univer-cursor-not-allowed univer-opacity-60":"\n univer-cursor-pointer\n hover:univer-bg-gray-50\n dark:hover:!univer-bg-gray-600\n ",l&&"\n univer-bg-primary-50 univer-text-primary-700 univer-ring-1 univer-ring-primary-600\n dark:!univer-bg-primary-900 dark:!univer-text-primary-100\n "),disabled:o,onClick:()=>{var e;o||null==r||r({label:null==(e=a.id)?t.key:e,commandId:a.commandId,id:a.id,tooltip:a.tooltip&&i.t(a.tooltip)})},children:[u&&(0,$Z.jsx)(u,{className:"univer-text-base",extend:{colorChannel1:"var(--univer-primary-600)"}}),(0,$Z.jsx)("span",{className:"univer-break-words univer-text-center univer-text-xs univer-leading-4",children:a.title?i.t(a.title):t.key})]})}function Gee(e){let{item:t,onOptionSelect:r}=e,[n,i]=(0,_q.useState)([]),a=iK(W5),o=iK(Cg);return(0,_q.useEffect)(()=>{if(!t.children)return;let e=t.children.map(e=>{var t,r;return function(e){let t=new Qn(!1);return e.subscribe(t),t}(null==(t=null==(r=e.item)?void 0:r.activated$)?Ai(!1):t)}),r=Oi(e).subscribe(e=>{let r=e.map((e,r)=>({actived:e,item:t.children[r].item.id})).filter(e=>e.actived);0===r.length?i([]):i(r.map(e=>e.item))});return()=>{r.unsubscribe(),e.forEach(e=>{e.complete()})}},[t]),t.children?(0,$Z.jsx)(Xee,{items:t.children.map(e=>{var t,i;return{key:e.key,onClick:()=>{var t,n,i,a,s,l;null==r||r({label:null==(t=null==(n=e.item)?void 0:n.id)?e.key:t,commandId:null==(i=e.item)?void 0:i.commandId,id:null==(a=e.item)?void 0:a.id,tooltip:(null==(s=e.item)?void 0:s.tooltip)&&o.t(null==(l=e.item)?void 0:l.tooltip)})},className:"",Icon:a.get(e.item.icon),active:n.includes(null==(t=null==(i=e.item)?void 0:i.id)?"":t)}})}):null}function Yee(e){var t;let{item:r,onOptionSelect:n}=e;return null!=(t=r.children)&&t.length?(0,$Z.jsx)("div",{className:"univer-item-center univer-grid univer-grid-cols-3 univer-gap-1.5 univer-py-1",children:r.children.map(e=>(0,$Z.jsx)(qee,{menuSchema:e,onOptionSelect:n},e.key))}):null}const Qee="univer-inline-flex univer-items-center univer-gap-2";function Zee(e){return"object"==typeof e&&!1===(null==e?void 0:e.selectable)}function Kee(e){return"object"==typeof e&&!1===(null==e?void 0:e.hoverable)}function $ee(e){var t,r;let{menuType:n,menuSessionVersion:i=0,className:a,onOptionSelect:o}=e,s=iK(nee),l=iK(O8),[u,c]=(0,_q.useState)(null),[d,h]=(0,_q.useState)(()=>typeof window>"u"?240:Math.max(120,window.innerHeight-16)),m=(0,_q.useMemo)(()=>n?s.getMenuByPositionKey(n):[],[s,n,aK((0,_q.useMemo)(()=>s.menuChanged$.pipe(RL(void 0),yq(e=>e+1,0)),[s]),0),i]),f=null==(t=null==(r=l.rootContainerElement)||null==(r=r.ownerDocument)?void 0:r.body)?typeof document<"u"?document.body:null:t;return J5(u,l.rootContainerElement),(0,_q.useEffect)(()=>{var e,t;let r=null==(e=null==(t=l.rootContainerElement)||null==(t=t.ownerDocument)?void 0:t.defaultView)?typeof window<"u"?window:null:e;if(!r)return;let n=0,i=()=>{n&&r.cancelAnimationFrame(n),n=r.requestAnimationFrame(()=>{h(Math.max(120,r.innerHeight-16))})};return i(),r.addEventListener("resize",i),()=>{n&&r.cancelAnimationFrame(n),r.removeEventListener("resize",i)}},[l.rootContainerElement]),n?(0,$Z.jsx)("div",{ref:c,className:x7("univer-box-border univer-grid univer-min-w-52 univer-max-w-full univer-gap-1 univer-overflow-y-auto univer-overscroll-contain univer-rounded-md univer-bg-white univer-px-2 univer-py-1 univer-text-sm univer-text-gray-900 univer-shadow-md dark:!univer-bg-gray-700 dark:!univer-text-white",V7,U7,a),style:{maxHeight:d},onWheel:e=>e.stopPropagation(),children:(0,$Z.jsx)(Jee,{menuSchemas:m,submenuPortalContainer:f,onOptionSelect:o,maxMenuHeight:d})}):null}function Jee(e){let{menuSchemas:t,submenuPortalContainer:r,onOptionSelect:n,maxMenuHeight:i}=e,a=iK(Cg),o=function(e){let[t,r]=(0,_q.useState)({});return(0,_q.useEffect)(()=>{let t=e.map(e=>{var t;return null!=(t=e.children)&&t.length?Oi(e.children.map(e=>{var t,r;return null==(t=null==(r=e.item)?void 0:r.hidden$)?Ai(!1):t})).subscribe(t=>{let n=t.every(e=>!0===e);r(t=>({...t,[e.key]:n}))}):null});return()=>{t.forEach(e=>null==e?void 0:e.unsubscribe()),r({})}},[e]),t}(t),s=(0,_q.useMemo)(()=>t.filter(e=>!e.children||!o[e.key]),[o,t]);return(0,$Z.jsx)($Z.Fragment,{children:s.map((e,t)=>{var o;let l=t!==s.length-1;return e.item?(0,$Z.jsx)(ete,{menuKey:e.key,menuItem:e.item,submenuPortalContainer:r,onOptionSelect:n,maxMenuHeight:i},e.key):null!=(o=e.children)&&o.length?e.quickLayout?(0,$Z.jsx)("div",{className:x7("univer-py-1",l&&W7),children:"tile"===e.quickLayout?(0,$Z.jsx)(Yee,{item:e,onOptionSelect:n}):(0,$Z.jsx)(Gee,{item:e,onOptionSelect:n})},e.key):(0,$Z.jsxs)("div",{className:x7("univer-grid univer-gap-1 univer-py-1",l&&W7),children:[e.title&&(0,$Z.jsx)("strong",{className:"univer-px-2 univer-text-xs univer-font-semibold univer-text-gray-600 dark:!univer-text-gray-300",children:a.t(e.title)}),e.children.map(e=>e.item&&(0,$Z.jsx)(ete,{menuKey:e.key,menuItem:e.item,submenuPortalContainer:r,onOptionSelect:n,maxMenuHeight:i},e.key))]},e.key):null})})}function ete(e){let{menuKey:t,menuItem:r,submenuPortalContainer:n,onOptionSelect:i,maxMenuHeight:a}=e,o=iK(nee),s=aK(r.disabled$,!1),l=aK(r.activated$,!1),u=aK(r.hidden$,!1),c=aK(r.value$),d=r,h=aK(oq(d.selections)?d.selections:void 0),[m,f]=(0,_q.useState)(c),[g,p]=(0,_q.useState)(!1),[v,b]=(0,_q.useState)({left:0,top:0}),[C,y]=(0,_q.useState)(!1),[_,w]=(0,_q.useState)("right"),E=(0,_q.useRef)(null),S=(0,_q.useRef)(null),A=(0,_q.useMemo)(()=>r.type!==lee.SELECTOR&&r.type!==lee.BUTTON_SELECTOR?[]:h||(Array.isArray(d.selections)?d.selections:[]),[r.type,h,d.selections]),I=(0,_q.useMemo)(()=>r.type===lee.SUBITEMS&&r.id?o.getMenuByPositionKey(r.id):[],[r.id,r.type,o]),R=A.length>0,x=I.length>0,T=R||x;if((0,_q.useEffect)(()=>{f(c)},[c]),(0,_q.useEffect)(()=>{if(!g)return void y(!1);let e=()=>{let e=E.current,t=S.current;if(!e||!t)return;let r=e.getBoundingClientRect(),n=t.getBoundingClientRect(),i=r.right-2,a=r.left-n.width+2,o=i+n.width+8>window.innerWidth&&a>=8,s=o?a:i;w(o?"left":"right");let l=window.innerHeight-8-n.height;b({left:s,top:l<8?8:Math.min(Math.max(r.top,8),l)}),y(!0)},t=window.requestAnimationFrame(e);return window.addEventListener("resize",e),window.addEventListener("scroll",e,!0),()=>{window.cancelAnimationFrame(t),window.removeEventListener("resize",e),window.removeEventListener("scroll",e,!0)}},[g,R,x]),u)return null;let N=x7("univer-relative univer-flex univer-min-h-8 univer-w-full univer-items-center univer-justify-between univer-gap-3 univer-rounded-md univer-border-none univer-bg-transparent univer-px-2 univer-text-left univer-text-sm dark:!univer-text-white",s?"univer-cursor-not-allowed univer-opacity-60":"\n univer-cursor-pointer\n hover:univer-bg-gray-50\n dark:hover:!univer-bg-gray-600\n ",l&&"\n univer-bg-gray-200\n dark:!univer-bg-gray-600\n "),M=(0,$Z.jsxs)("span",{className:Qee,children:[(0,$Z.jsx)(Q5,{value:m,title:r.title,label:r.label,icon:r.icon,onChange:e=>{f($d(e)&&"string"==typeof e?Number.parseInt(e):e)}}),r.shortcut&&` (${r.shortcut})`]}),O=r.type===lee.BUTTON||r.type===lee.BUTTON_SELECTOR,L=Zee(r.label),k=x7(N,Kee(r.label)&&"\n hover:univer-bg-transparent\n dark:hover:!univer-bg-transparent\n ");return(0,$Z.jsxs)("div",{ref:E,className:"univer-relative",onMouseEnter:()=>{T&&!s&&(y(!1),p(!0))},onMouseLeave:e=>{if(T){var t;let r=e.relatedTarget;if(r&&null!=(t=S.current)&&t.contains(r))return;p(!1)}},children:[L?(0,$Z.jsxs)("div",{className:k,"aria-disabled":s,children:[M,T&&(0,$Z.jsx)(GZ,{className:"univer-size-3.5 univer-text-gray-400 dark:!univer-text-gray-200"})]}):(0,$Z.jsxs)("button",{type:"button",className:k,disabled:s,onClick:()=>{if(T)return y(!1),void p(!0);if(!O)return;let e=r;null==i||i({commandId:e.commandId,value:m,id:e.id,label:t})},children:[M,T&&(0,$Z.jsx)(GZ,{className:"univer-size-3.5 univer-text-gray-400 dark:!univer-text-gray-200"})]}),T&&g&&(n?(0,q$.createPortal)((0,$Z.jsx)("div",{ref:S,"data-u-context-menu-submenu":"true",className:"univer-z-[1080] univer-w-max univer-max-w-[calc(100vw-16px)]",style:{position:"fixed",left:v.left,top:v.top,paddingLeft:"right"===_?20:0,paddingRight:"left"===_?20:0,maxHeight:a,visibility:C?"visible":"hidden",pointerEvents:C?"auto":"none"},onMouseLeave:e=>{var t;let r=e.relatedTarget;r&&null!=(t=E.current)&&t.contains(r)||p(!1)},onWheel:e=>e.stopPropagation(),children:(0,$Z.jsxs)("div",{className:x7("univer-overflow-y-auto univer-overscroll-contain univer-rounded-md univer-border univer-border-solid univer-border-gray-200 univer-bg-white univer-p-2 univer-shadow-md dark:!univer-border-gray-600 dark:!univer-bg-gray-700",U7),style:{maxHeight:a},children:[R&&(0,$Z.jsx)("div",{className:"univer-grid univer-gap-1",children:A.map((e,n)=>{var a;let o=`${r.id}-${null==(a=e.label)?e.id:a}-${n}`,s=void 0!==m&&String(m)===String(e.value),l=!Zee(e.label),u=!Kee(e.label),c=x7("univer-relative univer-flex univer-min-h-8 univer-w-full univer-items-center univer-rounded-md univer-border-none univer-bg-transparent univer-px-2 univer-text-left univer-text-sm dark:!univer-text-white",e.disabled?"univer-cursor-not-allowed univer-opacity-60":u&&"\n univer-cursor-pointer\n hover:univer-bg-gray-50\n dark:hover:!univer-bg-gray-600\n "),d=(0,$Z.jsxs)($Z.Fragment,{children:[l&&s&&(0,$Z.jsx)(XZ,{className:"\n univer-absolute univer-left-0 univer-size-4\n univer-text-primary-600\n "}),(0,$Z.jsx)("span",{className:x7(Qee,l&&s&&"\n univer-pl-4\n "),children:(0,$Z.jsx)(Q5,{value$:e.value$,value:e.value,label:e.label,icon:e.icon,onChange:n=>{null==i||i({...e,value:n,id:r.id,label:t,commandId:e.commandId})}})})]});return l?(0,$Z.jsx)("button",{type:"button",className:c,disabled:e.disabled,onClick:()=>{null==i||i({...e,id:r.id,label:t,commandId:e.commandId})},children:d},o):(0,$Z.jsx)("div",{className:c,"aria-disabled":e.disabled,children:d},o)})}),x&&(0,$Z.jsx)(Jee,{menuSchemas:I,submenuPortalContainer:n,onOptionSelect:i,maxMenuHeight:a})]})}),n):null)]})}function tte(e){let{hostId:t,visible:r,anchorRect:n,menuType:i,anchorVertical:a="bottom",menuOffset:o=0,onRequestClose:s,onOptionSelect:l}=e,u=(0,_q.useRef)(null),c=iK(Wee),d=(0,_q.useRef)(s),h=(0,_q.useRef)(0),m=(0,_q.useRef)(r),f=(0,_q.useRef)(i);(0,_q.useEffect)(()=>{d.current=s},[s]),r&&(!m.current||i!==f.current)&&(h.current+=1),m.current=r,f.current=i,(0,_q.useEffect)(()=>{let e=c.registerMenu(t,()=>{d.current()});return()=>{e.dispose(),c.deactivateMenu(t)}},[c,t]),(0,_q.useLayoutEffect)(()=>{r?c.activateMenu(t):c.deactivateMenu(t)},[c,t,r]),(0,_q.useEffect)(()=>{if(!r)return;let e=e=>e instanceof Element&&e.closest("[data-u-context-menu-submenu]"),t=t=>{e(t.target)||u.current&&!u.current.contains(t.target)&&d.current()},n=e=>{"Escape"===e.key&&d.current()},i=t=>{var r;e(t.target)||null!=(r=u.current)&&r.contains(t.target)||t.preventDefault(),t.stopPropagation()};return document.addEventListener("pointerdown",t),document.addEventListener("keydown",n),document.addEventListener("wheel",i,{capture:!0,passive:!1}),()=>{document.removeEventListener("pointerdown",t),document.removeEventListener("keydown",n),document.removeEventListener("wheel",i,!0)}},[r]);let g=(0,_q.useMemo)(()=>{if(!n)return[0,0];let e="top"===a?n.top:n.bottom,t="top"===a?e-o:e+o;return[n.left,t]},[n,a,o]);return(0,$Z.jsx)(p5,{visible:r&&!!n,offset:g,overflowVisible:!0,placementY:"top"===a?"above":"below",children:(0,$Z.jsx)("section",{ref:u,children:i&&(0,$Z.jsx)($ee,{menuType:i,menuSessionVersion:h.current,onOptionSelect:l})})})}function rte(){let[e,t]=(0,_q.useState)(!1),[r,n]=(0,_q.useState)(""),[i,a]=(0,_q.useState)(null),o=(0,_q.useRef)(e),s=iK(jee),l=iK(Vc),u=nK();function c(e,r){t(!1),requestAnimationFrame(()=>{n(r),a({left:e.clientX,top:e.clientY,bottom:e.clientY}),t(!0)})}function d(){t(!1)}return o.current=e,(0,_q.useEffect)(()=>{let e=s.registerContextMenuHandler({handleContextMenu:c,hideContextMenu(){d()},get visible(){return o.current}});return()=>{e.dispose()}},[s]),(0,$Z.jsx)(tte,{hostId:"desktop-context-menu",visible:e,anchorRect:i,menuType:r,onRequestClose:d,onOptionSelect:e=>{let{label:t,commandId:r,value:n}=e;l&&l.executeCommand(null==r?t:r,{value:n}),u.get(O8).focus(),d()}})}const nte=V("univer.global-zone-service");function ite(){let e=iK(nte),[t,r]=(0,_q.useState)(!1),n=aK(e.componentKey$,e.componentKey),i=iK(W5),a=(0,_q.useMemo)(()=>{let e=i.get(null==n?"":n);if(e)return e},[n,i]);return(0,_q.useEffect)(()=>{let t=e.visible$.subscribe(e=>{r(e)});return()=>{t.unsubscribe()}},[e.visible$]),t?(0,$Z.jsx)("section",{className:x7("univer-absolute univer-bg-gray-100",{"univer-hidden":!t,"univer-inset-0 univer-z-[100] univer-block univer-size-full":t}),children:a&&(0,$Z.jsx)(a,{})}):null}function ate(){let e=iK(V5),t=aK(e.sidebarOptions$),r=(0,_q.useRef)(null),n=(0,_q.useMemo)(()=>{if(!t)return null;let e={...t};for(let r of["children","header","footer"]){let n=r;if(t[n]){let{key:r,...i}=t[n];i&&(e[n]=(0,$Z.jsx)(Q5,{...i},r))}}return e},[t]);(0,_q.useEffect)(()=>(r.current&&e.setContainer(r.current),()=>{e.setContainer(void 0)}),[e]),(0,_q.useEffect)(()=>{let t=t=>{e.scrollEvent$.next(t)},n=r.current;return n&&n.addEventListener("scroll",t),()=>{null==n||n.removeEventListener("scroll",t)}},[e]);let i=(0,_q.useMemo)(()=>null!=n&&n.visible?"number"==typeof n.width?`${n.width}px`:n.width:0,[n]);return(0,$Z.jsx)("section",{"data-u-comp":"sidebar",className:x7("univer-relative univer-h-full univer-bg-white univer-text-gray-900 dark:!univer-bg-gray-900 dark:!univer-text-white",{"univer-w-96 univer-translate-x-0":null==n?void 0:n.visible,"univer-w-0 univer-translate-x-full":!(null!=n&&n.visible)}),style:{width:i},children:(0,$Z.jsxs)("section",{ref:r,className:x7("univer-box-border univer-grid univer-h-0 univer-min-h-full univer-grid-rows-[auto_1fr_auto] univer-overflow-y-auto",F7,U7),children:[(0,$Z.jsxs)("header",{className:"univer-sticky univer-top-0 univer-z-10 univer-box-border univer-flex univer-cursor-default univer-items-center univer-justify-between univer-bg-white univer-p-4 univer-pb-2 univer-text-base univer-font-medium univer-text-gray-800 dark:!univer-bg-gray-900 dark:!univer-text-white",children:[null==n?void 0:n.header,(0,$Z.jsx)("a",{className:"univer-cursor-pointer univer-text-gray-500 dark:!univer-text-gray-300",onClick:function(){var r;let n={...t,visible:!1};e.options.visible=!1,e.sidebarOptions$.next(n),null==n||null==(r=n.onClose)||r.call(n)},children:(0,$Z.jsx)(LZ,{})})]}),(0,$Z.jsx)("section",{className:"univer-box-border univer-cursor-default univer-px-4",style:null==n?void 0:n.bodyStyle,children:null==n?void 0:n.children}),(null==n?void 0:n.footer)&&(0,$Z.jsx)("footer",{className:"univer-sticky univer-bottom-0 univer-box-border univer-bg-white univer-p-4 dark:!univer-bg-gray-900",children:n.footer})]})})}const ote=V("univer.zen-zone-service");function ste(){let e=iK(ote),[t,r]=(0,_q.useState)(!1),[n,i]=(0,_q.useState)(),a=aK(e.temporaryHidden$),o=iK(W5);(0,_q.useEffect)(()=>{let t=[e.visible$.subscribe(e=>{r(e)}),e.componentKey$.subscribe(e=>{i(e)})];return()=>{t.forEach(e=>{e.unsubscribe()})}},[]);let s=(0,_q.useMemo)(()=>{let e=o.get(null==n?"":n);if(e)return e},[n]);return(0,$Z.jsx)("section",{className:x7("univer-absolute univer-z-[-1] univer-flex",{"univer-animate-in univer-fade-in univer-inset-0 univer-z-[100] univer-bg-gray-100":t,"univer-hidden":a}),children:(0,$Z.jsx)("div",{className:"univer-relative univer-flex-1",children:s&&(0,$Z.jsx)(s,{})})})}function lte(e){let t=e8(n8);return(0,$Z.jsx)(ute,{...e,...t})}function ute(e){var t;let{header:r=!0,toolbar:n=!0,footer:i=!0,headerMenu:a=!0,contextMenu:o=!0,ribbonType:s="classic",mountContainer:l,onRendered:u}=e,c=iK(Cg),d=iK(Lg),h=iK(Fee),m=(0,_q.useRef)(null),f=iK(Tc).getConfig(n8),g=Ree(dee.CUSTOM_HEADER),p=Ree(dee.FOOTER),v=Ree(dee.HEADER),b=Ree(dee.HEADER_MENU),C=Ree(dee.CONTENT),y=Ree(dee.LEFT_SIDEBAR),_=Ree(dee.GLOBAL),w=Ree(dee.TOOLBAR),E=null==(t=null==f?void 0:f.popupRootId)?"univer-popup-portal":t;(0,_q.useLayoutEffect)(()=>{let e=d.currentTheme$.subscribe(e=>{h.injectThemeToHead(e)});return()=>{e.unsubscribe()}},[]);let[S,A]=(0,_q.useState)(!1);(0,_q.useLayoutEffect)(()=>{let e=d.darkMode$.subscribe(e=>{A(e),e?document.documentElement.classList.add("univer-dark"):document.documentElement.classList.remove("univer-dark")});return()=>{e.unsubscribe()}},[]),(0,_q.useEffect)(()=>{m.current&&(null==u||u(m.current))},[u]);let[I,R]=(0,_q.useState)(c.getLocales()),x=(0,_q.useMemo)(()=>document.createElement("div"),[]);return(0,_q.useEffect)(()=>{document.body.appendChild(x);let e=[c.localeChanged$.subscribe(()=>{R(c.getLocales())})];return()=>{e.forEach(e=>e.unsubscribe()),document.body.removeChild(x)}},[c,l,x]),(0,$Z.jsxs)(D7,{locale:null==I?void 0:I.design,mountContainer:x,children:[(0,$Z.jsxs)("div",{"data-u-comp":"workbench-layout",className:x7("univer-flex univer-h-full univer-min-h-0 univer-flex-col univer-bg-white dark:!univer-bg-gray-800",{"univer-dark":S}),tabIndex:-1,onBlur:e=>e.stopPropagation(),onContextMenu:e=>e.preventDefault(),children:[(0,$Z.jsx)("div",{className:"univer-relative univer-flex univer-min-h-0 univer-flex-col univer-bg-white dark:!univer-bg-gray-800",children:(0,$Z.jsx)(Iee,{components:g},"custom-header")}),r&&n&&(0,$Z.jsx)("header",{"data-u-comp":"headerbar",className:"univer-relative univer-z-10 univer-w-full univer-overflow-hidden",children:(0,$Z.jsx)(Iee,{components:w,sharedProps:{ribbonType:s,headerMenuComponents:b,headerMenu:a}},"toolbar")}),(0,$Z.jsxs)("section",{className:"univer-relative univer-flex univer-min-h-0 univer-flex-1 univer-flex-col",children:[(0,$Z.jsxs)("div",{className:"univer-grid univer-h-full univer-grid-cols-[auto_1fr_auto] univer-grid-rows-[100%] univer-overflow-hidden",children:[(0,$Z.jsx)("aside",{"data-u-comp":"left-sidebar",className:"univer-h-full",children:(0,$Z.jsx)(Iee,{components:y},"left-sidebar")}),(0,$Z.jsxs)("section",{className:x7("univer-relative univer-grid univer-flex-1 univer-grid-rows-[auto_1fr] univer-overflow-hidden univer-bg-white dark:!univer-bg-gray-800",W7),children:[(0,$Z.jsx)("header",{children:r&&(0,$Z.jsx)(Iee,{components:v},"header")}),(0,$Z.jsx)("section",{className:"univer-relative univer-overflow-hidden dark:!univer-bg-gray-900",ref:m,"data-range-selector":!0,onContextMenu:e=>e.preventDefault(),children:(0,$Z.jsx)(Iee,{components:C},"content")})]}),(0,$Z.jsx)("aside",{"data-u-comp":"right-sidebar",className:"univer-z-[100] univer-h-full",children:(0,$Z.jsx)(ate,{})})]}),i&&(0,$Z.jsx)("footer",{children:(0,$Z.jsx)(Iee,{components:p,sharedProps:{contextMenu:o}},"footer")}),(0,$Z.jsx)(ste,{})]})]}),(0,$Z.jsx)(Iee,{components:_},"global"),(0,$Z.jsx)(ite,{}),o&&(0,$Z.jsx)(rte,{}),(0,$Z.jsx)(cte,{}),(0,$Z.jsx)("div",{id:E})]})}function cte(){let{mountContainer:e}=(0,_q.useContext)(P7);return(0,q$.createPortal)((0,$Z.jsx)(Iee,{components:Ree(dee.FLOATING)},"floating"),e)}var dte=class extends tu{constructor(e,t,r,n,i){super(),this._injector=e,this._instanceService=t,this._layoutService=r,this._lifecycleService=n,this._renderManagerService=i,U5(this,"_steadyTimeout",void 0),U5(this,"_renderTimeout",void 0),U5(this,"_currentRenderId",null)}dispose(){super.dispose(),clearTimeout(this._steadyTimeout),clearTimeout(this._renderTimeout),delete this._instanceService,delete this._layoutService,delete this._lifecycleService,delete this._renderManagerService}_bootstrapWorkbench(){this.disposeWithMe(this.bootstrap(async(e,t)=>{this._layoutService&&(this.disposeWithMe(this._layoutService.registerRootContainerElement(t)),this.disposeWithMe(this._layoutService.registerContentElement(e)));try{await this._lifecycleService.onStage(mg.Ready),this._renderTimeout=window.setTimeout(()=>{let t=this._renderManagerService.getRenderAll();for(let[r]of t)if(this._changeRenderUnit(r,e))break;this.disposeWithMe(this._instanceService.focused$.subscribe(t=>{t&&this._changeRenderUnit(t,e)})),this.disposeWithMe(this._renderManagerService.created$.subscribe(t=>{var r;t.unitId===(null==(r=this._instanceService.getFocusedUnit())?void 0:r.getUnitId())&&this._changeRenderUnit(t.unitId,e)})),this.disposeWithMe(this._renderManagerService.disposed$.subscribe(e=>{this._currentRenderId===e&&(this._currentRenderId=null)})),this._lifecycleService.stage=mg.Rendered,this._steadyTimeout=window.setTimeout(()=>{this._lifecycleService.stage=mg.Steady},3e3)},300)}catch(e){if(clearTimeout(this._steadyTimeout),clearTimeout(this._renderTimeout),e instanceof gg)return;throw e}}))}_changeRenderUnit(e,t){if(this._currentRenderId===e)return!1;let r=this._renderManagerService.getRenderById(e);if(!r||!r.unitId||Nl(r.unitId))return!1;let n=this._currentRenderId?this._renderManagerService.getRenderById(this._currentRenderId):null;return null==n||n.deactivate(),null==n||n.engine.unmount(),r.engine.mount(t),r.activate(),this._currentRenderId=e,!0}};let hte=class extends dte{constructor(e,t,r,n,i,a,o,s,l){super(t,a,i,r,n),this._config=e,this._componentManager=l,o.mergeMenu(cee),this._initBuiltinComponents(s),this._registerComponents(),this._bootstrapWorkbench()}_registerComponents(){[[Y5,G5],[K5,Z5],[h8,c8],[m8,d8],[v8,f8],[r8,w9]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}dispose(){super.dispose(),this._componentManager.dispose()}bootstrap(e){return function(e,t,r){let n,i=t.container;n="string"==typeof i?document.getElementById(i)||mte(i):i instanceof HTMLElement?i:mte("univer");let a=tK(lte,e),o=e=>r(e,n);return N5((0,$Z.jsx)(a,{...t,mountContainer:n,onRendered:o}),n),Jl(()=>{M5(n)})}(this._injector,this._config,e)}_initBuiltinComponents(e){this.disposeWithMe(e.registerComponent(dee.FLOATING,()=>tK(Eee,this._injector))),this.disposeWithMe(e.registerComponent(dee.CONTENT,()=>tK(pee,this._injector))),this.disposeWithMe(e.registerComponent(dee.TOOLBAR,()=>tK(Vee,this._injector)))}};function mte(e){let t=document.createElement("div");return t.id=e,t}hte=o8([a8(1,Y(he)),a8(2,Y(pg)),a8(3,kX),a8(4,O8),a8(5,dg),a8(6,nee),a8(7,hee),a8(8,Y(W5))],hte);const fte=V("univer.ui.ui-controller");var gte="@univerjs/ui",pte="0.19.0";const vte="\nuniver-m-0 univer-flex univer-appearance-none univer-items-center univer-justify-center\nuniver-border-0 univer-bg-transparent univer-p-0 univer-leading-none univer-outline-none\n";function bte(e){var t;let{headerMenuComponents:r,headerMenu:n=!0}=e,i=iK(Cg),a=iK(See),o=aK(a.ribbon$,[]),s=aK(a.activatedTab$,Y8.START),l=(0,_q.useMemo)(()=>{let e=o.findIndex(e=>e.key===s);return-1===e?0:e},[s,o]),u=o[l],c=null==(t=null==u?void 0:u.children)?[]:t,d=!!(n&&r&&r.size>0),h=(0,_q.useRef)(null),[m,f]=(0,_q.useState)(!1),[g,p]=(0,_q.useState)(!1);if((0,_q.useEffect)(()=>{!u&&o.length>0&&a.setActivatedTab(o[0].key)},[u,o,a]),(0,_q.useEffect)(()=>{let e=h.current;if(!e)return;let t=()=>{let{scrollLeft:t,clientWidth:r,scrollWidth:n}=e;f(t>4),p(t+r{r.disconnect(),e.removeEventListener("scroll",t)}},[u]),0===o.length&&!d)return null;function v(e){let t=o[e];t&&a.setActivatedTab(t.key)}function b(e){let t=h.current;t&&t.scrollBy({left:"left"===e?-168:168,behavior:"smooth"})}return(0,$Z.jsxs)("div",{"data-u-comp":"mobile-ribbon",className:x7("univer-flex univer-flex-col univer-gap-1.5 univer-bg-gray-50 univer-px-3 univer-py-1.5 univer-text-sm dark:!univer-bg-gray-900",W7),children:[(0,$Z.jsxs)("div",{className:"\n univer-grid univer-grid-cols-[28px_minmax(0,1fr)_auto] univer-items-center univer-gap-1.5\n univer-px-0.5 univer-py-0.5\n ",children:[(0,$Z.jsx)("div",{className:"univer-flex univer-items-center",children:(0,$Z.jsx)("button",{type:"button",className:x7(vte,"univer-size-7 univer-rounded-md univer-text-gray-500 univer-transition-colors hover:univer-bg-gray-100 active:univer-bg-gray-200 dark:!univer-text-gray-300 dark:hover:!univer-bg-gray-700 dark:active:!univer-bg-gray-600",{"univer-opacity-40":0===l}),disabled:0===l,"aria-label":"Previous",onClick:()=>v(l-1),children:(0,$Z.jsx)(GZ,{className:"univer-rotate-180 univer-text-sm"})})}),(0,$Z.jsx)("div",{className:"univer-flex univer-min-w-0 univer-items-center univer-justify-center univer-gap-2.5",children:o.map((e,t)=>{let r=t===l;return(0,$Z.jsxs)("button",{type:"button",role:"tab","aria-selected":r,className:x7(`\n ${vte}\n univer-relative univer-shrink-0 univer-px-1 univer-py-1 univer-text-sm\n univer-font-semibold univer-transition-colors\n `,r?"\n univer-text-primary-600\n dark:!univer-text-primary-400\n ":"\n univer-text-gray-700\n dark:!univer-text-gray-200\n "),onClick:()=>v(t),children:[i.t(e.key),r&&(0,$Z.jsx)("span",{className:"\n univer-absolute univer-bottom-0 univer-left-1/2 univer-h-0.5 univer-w-8\n -univer-translate-x-1/2 univer-rounded-full univer-bg-primary-600\n dark:!univer-bg-primary-400\n "})]},e.key)})}),(0,$Z.jsxs)("div",{className:"univer-flex univer-items-center univer-gap-1",children:[(0,$Z.jsx)("button",{type:"button",className:x7(`\n ${vte}\n univer-size-7 univer-rounded-md univer-text-gray-500 univer-transition-colors\n hover:univer-bg-gray-100\n active:univer-bg-gray-200\n dark:!univer-text-gray-300\n dark:hover:!univer-bg-gray-700\n dark:active:!univer-bg-gray-600\n `,{"univer-opacity-40":l>=o.length-1}),disabled:l>=o.length-1,"aria-label":"Next",onClick:()=>v(l+1),children:(0,$Z.jsx)(GZ,{className:"univer-text-sm"})}),d&&(0,$Z.jsx)("div",{className:"\n univer-flex univer-items-center univer-gap-1\n [&>*]:univer-m-0 [&>*]:univer-inline-flex [&>*]:univer-min-h-7 [&>*]:univer-min-w-7\n [&>*]:univer-appearance-none [&>*]:univer-items-center [&>*]:univer-justify-center\n [&>*]:univer-rounded-md [&>*]:univer-border-0 [&>*]:univer-px-1.5\n [&>*]:univer-leading-none [&>*]:univer-outline-none\n ",children:(0,$Z.jsx)(Iee,{components:r})})]})]}),(0,$Z.jsxs)("div",{className:x7("univer-grid univer-grid-cols-[22px_minmax(0,1fr)_22px] univer-items-center univer-gap-1.5 univer-rounded-xl univer-bg-white univer-px-2 univer-py-1 dark:!univer-bg-gray-800",V7),children:[(0,$Z.jsx)("button",{type:"button",className:x7(`\n ${vte}\n univer-h-8 univer-w-5 univer-text-gray-500 univer-transition-colors\n dark:!univer-text-gray-300\n `,{"univer-opacity-30":!m}),disabled:!m,"aria-label":"Previous",onClick:()=>b("left"),children:(0,$Z.jsx)(QZ,{className:"univer-text-sm"})}),(0,$Z.jsx)("div",{ref:h,"data-u-comp":"mobile-ribbon-toolbar",className:"univer-flex univer-min-w-0 univer-items-center univer-gap-1.5 univer-overflow-x-auto univer-scroll-smooth univer-px-0.5 [&::-webkit-scrollbar]:univer-hidden",children:c.map((e,t)=>{var r,n;let i=null==(r=null==(n=e.children)?void 0:n.filter(e=>!!e.item))?[]:r;return i.length?(0,$Z.jsx)("div",{className:x7("univer-flex univer-shrink-0 univer-items-center univer-gap-0.5 univer-pr-1.5 rtl:univer-pl-1.5 rtl:univer-pr-0",{[z7]:t!==c.length-1}),children:i.map(e=>e.item&&(0,$Z.jsx)("div",{className:x7("[&_button]:!univer-font-inherit univer-flex univer-h-8 univer-shrink-0 univer-items-center univer-rounded-md [&_*]:univer-box-border [&_.univer-custom-label]:univer-text-sm [&_.univer-custom-label]:univer-leading-none [&_.univer-toolbar-button-selector-main]:!univer-h-8 [&_.univer-toolbar-button-selector-main]:!univer-rounded-none [&_.univer-toolbar-button-selector-main]:!univer-rounded-l-md [&_.univer-toolbar-button-selector-main]:!univer-px-1.5 [&_.univer-toolbar-button-selector-root]:!univer-h-8 [&_.univer-toolbar-button-selector-root]:univer-overflow-hidden [&_.univer-toolbar-button-selector-root]:!univer-rounded-md [&_.univer-toolbar-button-selector-root]:!univer-pr-0 [&_.univer-toolbar-button-selector-trigger]:!univer-static [&_.univer-toolbar-button-selector-trigger]:!univer-h-8 [&_.univer-toolbar-button-selector-trigger]:!univer-w-6 [&_.univer-toolbar-button-selector-trigger]:!univer-rounded-none [&_.univer-toolbar-button-selector-trigger]:!univer-rounded-r-md [&_.univer-toolbar-selector-root]:!univer-h-8 [&_.univer-toolbar-selector-root]:!univer-gap-1 [&_.univer-toolbar-selector-root]:!univer-rounded-md [&_.univer-toolbar-selector-root]:!univer-px-1.5 [&_.univer-toolbar-selector-trigger]:!univer-pl-0.5 [&_.univer-tooltip]:univer-inline-flex [&_.univer-tooltip]:univer-h-full [&_.univer-tooltip]:univer-items-center [&_[data-u-command]]:!univer-h-8 [&_[data-u-command]]:!univer-min-h-8 [&_[data-u-command]]:!univer-rounded-md [&_[data-u-command]]:!univer-px-1.5 [&_button]:!univer-h-8 [&_button]:!univer-min-w-8 [&_button]:!univer-rounded-md [&_button]:!univer-px-1.5","\n[&_button]:!univer-m-0 [&_button]:!univer-appearance-none [&_button]:!univer-border-0\n[&_button]:!univer-bg-transparent [&_button]:!univer-p-0 [&_button]:!univer-leading-none\n[&_button]:!univer-outline-none\n[&_input]:!univer-m-0 [&_input]:!univer-appearance-none [&_input]:!univer-border-0\n[&_input]:!univer-bg-transparent [&_input]:!univer-p-0 [&_input]:!univer-leading-none\n[&_input]:!univer-outline-none\n"),children:(0,$Z.jsx)(Bee,{...e.item})},e.key))},e.key):null})}),(0,$Z.jsx)("button",{type:"button",className:x7(`\n ${vte}\n univer-h-8 univer-w-5 univer-text-gray-500 univer-transition-colors\n dark:!univer-text-gray-300\n `,{"univer-opacity-30":!g}),disabled:!g,"aria-label":"Next",onClick:()=>b("right"),children:(0,$Z.jsx)(KZ,{className:"univer-text-sm"})})]})]})}function Cte(e){var t;let{menuType:r,onOptionSelect:n,schemas:i}=e,a=iK(nee),[o,s]=(0,_q.useState)([]),l=(0,_q.useMemo)(()=>i||(r?a.getMenuByPositionKey(r):[]),[i,a,aK((0,_q.useMemo)(()=>a.menuChanged$.pipe(yq(e=>e+1,0),RL(0)),[a]),0),r]);(0,_q.useEffect)(()=>{s([])},[r,i]);let u=null==(t=o[o.length-1])?null:t;return r||i?(0,$Z.jsxs)("div",{className:"univer-flex univer-max-h-[min(72vh,560px)] univer-flex-col univer-overflow-hidden",children:[u&&(0,$Z.jsxs)("header",{className:"\n univer-grid univer-grid-cols-[32px_minmax(0,1fr)_32px] univer-items-center univer-gap-3\n univer-border-0 univer-border-b univer-border-solid univer-border-gray-200 univer-bg-white\n univer-px-4 univer-py-3\n ",children:[(0,$Z.jsx)("button",{type:"button","aria-label":"Back",className:"\n univer-flex univer-size-8 univer-appearance-none univer-items-center univer-justify-center\n univer-rounded-full univer-border-0 univer-bg-transparent univer-p-0 univer-text-gray-700\n hover:univer-bg-gray-100\n active:univer-bg-gray-200\n ",onClick:()=>s(e=>e.slice(0,-1)),children:(0,$Z.jsx)(QZ,{className:"univer-text-base"})}),(0,$Z.jsx)("div",{className:"\n univer-min-w-0 univer-truncate univer-text-center univer-text-sm univer-font-semibold\n univer-text-gray-900\n ",children:u.title}),(0,$Z.jsx)("div",{className:"univer-size-8","aria-hidden":"true"})]}),(0,$Z.jsxs)("div",{className:"univer-flex-1 univer-overflow-y-auto univer-px-4 univer-pb-2 univer-pt-1",children:["options"!==(null==u?void 0:u.kind)&&(0,$Z.jsx)("div",{className:"univer-overflow-hidden univer-rounded-2xl univer-bg-white",children:(0,$Z.jsx)(yte,{schemas:"schema"===(null==u?void 0:u.kind)?u.schemas:l,menuType:r,onExecute:n,onOpenView:e=>s(t=>[...t,e])})}),"options"===(null==u?void 0:u.kind)&&(0,$Z.jsx)("div",{className:"univer-overflow-hidden univer-rounded-2xl univer-bg-white",children:(0,$Z.jsx)(wte,{menuKey:u.menuKey,menuItem:u.menuItem,options:u.options,currentValue:u.currentValue,onExecute:n})})]})]}):null}function yte(e){let{schemas:t,menuType:r,onExecute:n,onOpenView:i}=e,a=iK(Cg),o=function(e){let[t,r]=(0,_q.useState)({});return(0,_q.useEffect)(()=>{let t=e.map(e=>{var t;if(null==(t=e.children)||!t.length)return null;let n=Ate(e.children).map(e=>{var t,r;return null==(t=null==(r=e.item)?void 0:r.hidden$)?Ai(!1):t});return n.length?Oi(n).subscribe(t=>{let n=t.every(e=>!0===e);r(t=>({...t,[e.key]:n}))}):null});return()=>{t.forEach(e=>null==e?void 0:e.unsubscribe()),r({})}},[e]),t}(t),s=(0,_q.useMemo)(()=>t.filter(e=>{var t;return null!=(t=e.children)&&t.length?!o[e.key]:!!e.item}),[o,t]);return(0,$Z.jsx)($Z.Fragment,{children:s.map((e,t)=>{var o;return e.item?(0,$Z.jsx)(_te,{schema:e,menuType:r,onExecute:n,onOpenView:i,bordered:t!==s.length-1},e.key):null!=(o=e.children)&&o.length?(0,$Z.jsxs)("section",{className:x7("univer-grid",t!==s.length-1&&W7),children:[e.title&&(0,$Z.jsx)("div",{className:"\n univer-px-4 univer-pb-1 univer-pt-3 univer-text-xs univer-font-medium univer-uppercase\n univer-tracking-[0.08em] univer-text-gray-500\n ",children:a.t(e.title)}),e.children.map((t,a)=>(0,$Z.jsx)(_te,{schema:t,menuType:r,onExecute:n,onOpenView:i,bordered:a!==e.children.length-1},t.key))]},e.key):null})})}function _te(e){let{schema:t,menuType:r,onExecute:n,onOpenView:i,bordered:a}=e,o=function(e){var t;let{schema:r,menuType:n,onOpenView:i}=e,a=iK(nee),o=iK(Cg),s=r.item,l=s,u=aK(null==s?void 0:s.disabled$,!1),c=aK(null==s?void 0:s.hidden$,!1),d=aK(null==s?void 0:s.value$),h=aK(l&&oq(l.selections)?l.selections:void 0),m=(0,_q.useMemo)(()=>!l||(null==s?void 0:s.type)!==lee.SELECTOR&&(null==s?void 0:s.type)!==lee.BUTTON_SELECTOR?[]:h||(Array.isArray(l.selections)?l.selections:[]),[null==s?void 0:s.type,h,l]),f=(0,_q.useMemo)(()=>s&&s.type===lee.SUBITEMS&&s.id?a.getMenuByPositionKey(s.id):[],[s,a]);if(!s)return null;let g=null==(t=r.children)?[]:t,p=g.length>0||m.length>0||f.length>0;return{menuItem:s,disabled:u,hidden:c,value:d,currentValueText:"string"==typeof d||"number"==typeof d?String(d):"",hasSubmenu:p,onPress:e=>{if(g.length>0)return void i({kind:"schema",title:Ste(r,o),schemas:g});if(m.length>0&&l)return void i({kind:"options",title:Ste(r,o),options:m,menuItem:l,menuKey:r.key,currentValue:d});if(f.length>0)return void i({kind:"schema",title:Ste(r,o),schemas:f});if(s.type!==lee.BUTTON&&s.type!==lee.BUTTON_SELECTOR)return;let t=s;null==e||e({commandId:t.commandId,value:d,id:t.id,label:r.key,params:t.params})}}}({schema:t,menuType:r,onOpenView:i});if(!o||o.hidden)return null;let{menuItem:s,disabled:l,value:u,currentValueText:c,hasSubmenu:d,onPress:h}=o;return(0,$Z.jsxs)("button",{type:"button",className:x7("univer-flex univer-min-h-[56px] univer-w-full univer-appearance-none univer-items-center univer-gap-3 univer-border-0 univer-bg-white univer-px-4 univer-py-3 univer-text-left univer-transition-colors enabled:hover:univer-bg-gray-50 enabled:active:univer-bg-gray-100 disabled:univer-cursor-not-allowed disabled:univer-opacity-40",a&&W7),disabled:l,onClick:()=>h(n),children:[(0,$Z.jsx)("div",{className:"\n univer-flex univer-min-w-0 univer-flex-1 univer-items-center univer-gap-3 univer-text-gray-900\n [&>span]:univer-truncate [&>span]:univer-text-sm [&>span]:univer-font-medium\n [&>svg]:univer-shrink-0 [&>svg]:univer-text-lg [&>svg]:univer-text-gray-700\n ",children:(0,$Z.jsx)(Q5,{value:u,title:s.title,label:s.label,icon:s.icon})}),c&&(0,$Z.jsx)("span",{className:"\n univer-max-w-[32%] univer-truncate univer-text-xs univer-font-medium univer-text-gray-400\n ",children:c}),d&&(0,$Z.jsx)(GZ,{className:"univer-shrink-0 univer-text-base univer-text-gray-400"})]})}function wte(e){let{options:t,menuKey:r,menuItem:n,currentValue:i,onExecute:a}=e;return(0,$Z.jsx)($Z.Fragment,{children:t.map((e,o)=>{var s;return(0,$Z.jsx)(Ete,{option:e,menuKey:r,menuItem:n,currentValue:i,bordered:o!==t.length-1,onExecute:a},`${r}-${String(null==(s=e.value)?o:s)}`)})})}function Ete(e){var t;let{option:r,menuKey:n,menuItem:i,currentValue:a,bordered:o,onExecute:s}=e,l=aK(r.value$),u=null==(t=r.value)?l:t,c=u===a;return(0,$Z.jsxs)("button",{type:"button",className:x7("univer-relative univer-flex univer-min-h-[56px] univer-w-full univer-appearance-none univer-items-center univer-gap-3 univer-border-0 univer-bg-white univer-px-4 univer-py-3 univer-text-left univer-transition-colors enabled:hover:univer-bg-gray-50 enabled:active:univer-bg-gray-100 disabled:univer-cursor-not-allowed disabled:univer-opacity-40",o&&W7),disabled:r.disabled,onClick:()=>{null==s||s({...r,value:u,id:i.id,label:n,commandId:r.commandId})},children:[(0,$Z.jsx)("div",{className:"\n univer-flex univer-min-w-0 univer-flex-1 univer-items-center univer-gap-3 univer-text-gray-900\n [&>span]:univer-truncate [&>span]:univer-text-sm [&>span]:univer-font-medium\n [&>svg]:univer-shrink-0 [&>svg]:univer-text-lg [&>svg]:univer-text-gray-700\n ",children:(0,$Z.jsx)(Q5,{value$:r.value$,value:u,label:r.label,icon:r.icon})}),c&&(0,$Z.jsx)(XZ,{className:"univer-shrink-0 univer-text-base univer-text-primary-600"})]})}function Ste(e,t){let r=e.item;return"string"==typeof(null==r?void 0:r.title)?t.t(r.title):"string"==typeof(null==r?void 0:r.label)?t.t(r.label):"string"==typeof e.title?t.t(e.title):e.key}function Ate(e){return e.reduce((e,t)=>{var r;return null!=(r=t.children)&&r.length?[...e,...Ate(t.children)]:t.item?[...e,t]:e},[])}const Ite="mobile-context-menu";function Rte(){let[e,t]=(0,_q.useState)(!1),[r,n]=(0,_q.useState)(""),i=(0,_q.useRef)(e),a=iK(Wee),o=iK(jee),s=iK(Vc),l=iK(O8),u=iK(Cg),{mountContainer:c}=(0,_q.useContext)(P7);function d(e,r){a.activateMenu(Ite),n(r),t(!0)}function h(){t(!1),a.deactivateMenu(Ite)}i.current=e,(0,_q.useEffect)(()=>{let e=a.registerMenu(Ite,()=>{t(!1)}),r=o.registerContextMenuHandler({handleContextMenu:d,hideContextMenu(){h()},get visible(){return i.current}});return()=>{r.dispose(),e.dispose(),a.deactivateMenu(Ite)}},[a,o]);let m=(0,_q.useMemo)(()=>{switch(r){case tee.ROW_HEADER:return u.t("row");case tee.COL_HEADER:return u.t("column");default:return""}},[u,r]);return c&&e?(0,q$.createPortal)((0,$Z.jsxs)("div",{className:"univer-fixed univer-inset-0 univer-z-[1080] univer-flex univer-items-end",children:[(0,$Z.jsx)("button",{type:"button","aria-label":u.t("rangeSelector.cancel"),className:"univer-absolute univer-inset-0 univer-bg-[rgba(15,23,42,0.32)] univer-backdrop-blur-[2px]",onClick:h}),(0,$Z.jsxs)("section",{role:"dialog","aria-modal":"true",className:"\n univer-relative univer-z-[1] univer-mx-auto univer-flex univer-max-h-[80vh] univer-w-full\n univer-max-w-[560px] univer-flex-col univer-overflow-hidden univer-rounded-t-[28px] univer-bg-gray-50\n univer-shadow-[0_-16px_48px_rgba(15,23,42,0.18)]\n ",style:{paddingBottom:"calc(env(safe-area-inset-bottom, 0px) + 8px)"},onPointerDown:e=>e.stopPropagation(),children:[(0,$Z.jsxs)("div",{className:"univer-flex univer-flex-col univer-gap-3 univer-px-4 univer-pb-3 univer-pt-3",children:[(0,$Z.jsx)("div",{className:"univer-mx-auto univer-h-1.5 univer-w-10 univer-rounded-full univer-bg-gray-300"}),(0,$Z.jsxs)("div",{className:"univer-flex univer-items-center univer-justify-between univer-gap-3",children:[(0,$Z.jsx)("div",{className:"univer-min-w-0 univer-flex-1",children:m&&(0,$Z.jsx)("div",{className:"univer-truncate univer-text-sm univer-font-semibold univer-text-gray-900",children:m})}),(0,$Z.jsx)("button",{type:"button","aria-label":u.t("rangeSelector.cancel"),className:"\n univer-flex univer-size-8 univer-shrink-0 univer-appearance-none univer-items-center\n univer-justify-center univer-rounded-full univer-border-0 univer-bg-white univer-p-0\n univer-leading-none univer-text-gray-600 univer-shadow-sm univer-outline-none\n univer-ring-0 univer-transition-colors\n hover:univer-bg-gray-100\n active:univer-bg-gray-200\n ",style:{margin:0},onClick:h,children:(0,$Z.jsx)(LZ,{className:"univer-size-4 univer-text-current"})})]})]}),r&&(0,$Z.jsx)(Cte,{menuType:r,onOptionSelect:e=>{var t,r;let n=null==(t=null==(r=e.commandId)?e.id:r)?e.label:t,i="function"==typeof e.params?e.params():e.params,a=void 0===e.value?i:{value:e.value};n&&(l.focus(),s.executeCommand(n,a),h())}})]})]}),c):null}function xte(e){let{header:t=!0,toolbar:r=!0,footer:n=!0,headerMenu:i=!0,ribbonType:a="classic",contextMenu:o=!0,mountContainer:s,onRendered:l}=e,u=iK(Cg),c=iK(Lg),d=iK(Fee),h=(0,_q.useRef)(null),m=Ree(dee.FOOTER),f=Ree(dee.HEADER),g=Ree(dee.HEADER_MENU),p=Ree(dee.CONTENT),v=Ree(dee.LEFT_SIDEBAR),b=Ree(dee.GLOBAL),C=Ree(dee.TOOLBAR),[y,_]=(0,_q.useState)(!1);(0,_q.useEffect)(()=>{let e=c.darkMode$.subscribe(e=>{_(e)});return()=>{e.unsubscribe()}},[]),(0,_q.useEffect)(()=>{h.current&&(null==l||l(h.current))},[l]);let[w,E]=(0,_q.useState)(u.getLocales()),S=(0,_q.useMemo)(()=>document.createElement("div"),[]);return(0,_q.useLayoutEffect)(()=>{let e=c.currentTheme$.subscribe(e=>{d.injectThemeToHead(e)});return()=>{e.unsubscribe()}},[]),(0,_q.useEffect)(()=>{document.body.appendChild(S);let e=[u.localeChanged$.subscribe(()=>{E(u.getLocales())})];return()=>{e.forEach(e=>e.unsubscribe()),document.body.removeChild(S)}},[u,s,S]),(0,$Z.jsxs)(D7,{locale:null==w?void 0:w.design,mountContainer:S,children:[(0,$Z.jsxs)("div",{"data-u-comp":"app-layout",className:x7("univer-relative univer-flex univer-h-full univer-min-h-0 univer-flex-col univer-bg-white dark:!univer-bg-gray-800",{"univer-dark":y}),tabIndex:-1,onBlur:e=>e.stopPropagation(),onContextMenu:e=>e.preventDefault(),children:[t&&r&&(0,$Z.jsx)("header",{"data-u-comp":"headerbar",className:"univer-relative univer-z-10 univer-w-full univer-overflow-hidden",children:(0,$Z.jsx)(Iee,{components:C,sharedProps:{ribbonType:a,headerMenuComponents:g,headerMenu:i}},"toolbar")}),(0,$Z.jsxs)("section",{className:"univer-relative univer-flex univer-min-h-0 univer-flex-1 univer-flex-col",children:[(0,$Z.jsxs)("div",{className:"univer-grid univer-h-full univer-grid-cols-[auto_1fr_auto] univer-grid-rows-[100%] univer-overflow-hidden",children:[(0,$Z.jsx)("aside",{className:"univer-h-full",children:(0,$Z.jsx)(Iee,{components:v},"left-sidebar")}),(0,$Z.jsxs)("section",{className:x7("univer-relative univer-grid univer-flex-1 univer-grid-rows-[auto_1fr] univer-overflow-hidden univer-bg-white dark:!univer-bg-gray-800",W7),children:[(0,$Z.jsx)("header",{className:"univer-w-screen",children:t&&(0,$Z.jsx)(Iee,{components:f},"header")}),(0,$Z.jsx)("section",{ref:h,className:"univer-relative univer-overflow-hidden","data-range-selector":!0,onContextMenu:e=>e.preventDefault(),children:(0,$Z.jsx)(Iee,{components:p},"content")})]}),(0,$Z.jsx)("aside",{className:"univer-h-full",children:(0,$Z.jsx)(ate,{})})]}),n&&(0,$Z.jsx)("footer",{children:(0,$Z.jsx)(Iee,{components:m},"footer")}),(0,$Z.jsx)(ite,{}),(0,$Z.jsx)(ste,{})]})]}),(0,$Z.jsx)(Iee,{components:b},"global"),o&&(0,$Z.jsx)(Rte,{})]})}let Tte=class extends dte{constructor(e,t,r,n,i,a,o,s,l){super(t,a,i,r,n),this._config=e,this._componentManager=l,o.mergeMenu(cee),this._initBuiltinComponents(s),this._registerComponents(),this._bootstrapWorkbench()}dispose(){super.dispose(),this._componentManager.dispose()}bootstrap(e){return function(e,t,r){let n,i=t.container;n="string"==typeof i?document.getElementById(i)||Nte(i):i instanceof HTMLElement?i:Nte("univer");let a=tK(xte,e),o=e=>r(e,n);return N5((0,$Z.jsx)(a,{...t,mountContainer:n,onRendered:o}),n),Jl(()=>{M5(n)})}(this._injector,this._config,e)}_registerComponents(){[[Y5,G5],[K5,Z5],[h8,c8],[m8,d8],[v8,f8],[r8,w9]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}_initBuiltinComponents(e){this.disposeWithMe(e.registerComponent(dee.CONTENT,()=>tK(Eee,this._injector))),this.disposeWithMe(e.registerComponent(dee.CONTENT,()=>tK(pee,this._injector))),this.disposeWithMe(e.registerComponent(dee.TOOLBAR,()=>tK(bte,this._injector)))}};function Nte(e){let t=document.createElement("div");return t.id=e,t}Tte=o8([a8(1,Y(he)),a8(2,Y(pg)),a8(3,kX),a8(4,O8),a8(5,dg),a8(6,nee),a8(7,hee),a8(8,Y(W5))],Tte);const Mte=V("ui.notification.service"),Ote=V("univer.ui.before-close-service");let Lte=class{constructor(e){this._notificationService=e,U5(this,"_beforeUnloadCallbacks",[]),U5(this,"_onCloseCallbacks",[]),this._init()}registerBeforeClose(e){return this._beforeUnloadCallbacks.push(e),{dispose:()=>{this._beforeUnloadCallbacks=this._beforeUnloadCallbacks.filter(t=>t!==e)}}}registerOnClose(e){return this._onCloseCallbacks.push(e),{dispose:()=>{this._onCloseCallbacks=this._onCloseCallbacks.filter(t=>t!==e)}}}_init(){window.addEventListener("beforeunload",e=>{let t=e,r=this._beforeUnloadCallbacks.map(e=>e()).filter(e=>!!e).join("\n");if(r)return this._notificationService.show({type:"error",title:"Some changes are not saved",content:r}),void 0===t&&(t=window.event),t.returnValue=r,r}),window.addEventListener("unload",()=>{this._onCloseCallbacks.forEach(e=>e())})}};function kte(e,t){e.querySelectorAll(t.strippedSelector).forEach(e=>e.remove()),e.querySelectorAll("*").forEach(e=>{for(let{name:t}of Array.from(e.attributes))t.startsWith("on")&&e.removeAttribute(t)})}function Pte(){return void 0!==navigator.clipboard&&void 0!==navigator.clipboard.readText}Lte=o8([a8(0,Mte)],Lte);const Dte="text/plain",Ute="text/html",Bte="image/png",Vte="image/jpeg",Fte="image/bmp",jte="image/webp",Hte=new Set([Fte,Vte,jte,Bte]),Wte=new Set(["base","button","embed","form","frame","frameset","head","iframe","input","link","meta","object","script","select","style","template","textarea"]),zte=new Set("a.b.blockquote.br.caption.code.col.colgroup.dd.div.dl.dt.em.font.h1.h2.h3.h4.h5.h6.hr.i.img.li.ol.p.pre.s.span.strike.strong.sub.sup.table.tbody.td.tfoot.th.thead.tr.u.ul".split(".")),Xte=new Set("align.alt.aria-colindex.aria-colspan.aria-label.aria-labelledby.aria-rowindex.aria-rowspan.bgcolor.border.cellpadding.cellspacing.class.colspan.color.dir.face.headers.height.href.lang.rel.role.rowspan.size.src.style.target.title.valign.width".split(".")),qte=V("univer.clipboard-interface-service");let Gte=class extends tu{get supportClipboard(){return Pte()}constructor(e,t,r){super(),this._localeService=e,this._logService=t,this._notificationService=r}async write(e,t){if(!this.supportClipboard)return this._legacyCopyHtml(t);try{return await navigator.clipboard.write([new ClipboardItem({[Dte]:new Blob([e],{type:Dte}),[Ute]:new Blob([t],{type:Ute})})])}catch(e){this._logService.error("[BrowserClipboardService]",e),this._showClipboardAuthenticationNotification()}}async writeText(e){if(!this.supportClipboard)return this._legacyCopyText(e);try{return await navigator.clipboard.writeText(e)}catch(e){this._logService.error("[BrowserClipboardService]",e),this._showClipboardAuthenticationNotification()}}async read(){if(!this.supportClipboard)throw Error("[BrowserClipboardService] read() is not supported on this platform.");try{return navigator.clipboard.read()}catch(e){return this._logService.error("[BrowserClipboardService]",e),this._showClipboardAuthenticationNotification(),[]}}async readText(){if(!this.supportClipboard)throw Error("[BrowserClipboardService] read() is not supported on this platform.");try{return await navigator.clipboard.readText()}catch(e){return this._logService.error("[BrowserClipboardService]",e),this._showClipboardAuthenticationNotification(),""}}_legacyCopyHtml(e){let t=document.activeElement,r=function(){let e=document.createElement("div");return e.contentEditable="true",e.style.position="absolute",e.style.opacity="0",e.style.height="1px",e.style.width="1px",e}();document.body.appendChild(r),r.replaceChildren(function(e){let t=(new DOMParser).parseFromString(e,Ute);kte(t,{strippedSelector:"script, iframe, object, embed"});let r=document.createDocumentFragment();return Array.from(t.body.childNodes).forEach(e=>{let t=Yte(e);t&&r.appendChild(t)}),r}(e));try{Qte(r),document.execCommand("copy")}finally{t instanceof HTMLElement&&t.focus(),document.body.removeChild(r)}}_legacyCopyText(e){let t=document.activeElement,r=function(){let e=document.createElement("textarea");return e.style.position="absolute",e.style.height="1px",e.style.width="1px",e.style.opacity="0",e.readOnly=!0,e}();document.body.appendChild(r),r.value=e;try{Qte(r),document.execCommand("copy")}finally{t instanceof HTMLElement&&t.focus(),document.body.removeChild(r)}}_showClipboardAuthenticationNotification(){var e;null==(e=this._notificationService)||e.show({type:"warning",title:this._localeService.t("clipboard.authentication.title"),content:this._localeService.t("clipboard.authentication.content")})}};function Yte(e){var t;if(e.nodeType===Node.TEXT_NODE)return document.createTextNode(null==(t=e.textContent)?"":t);if(e.nodeType!==Node.ELEMENT_NODE)return null;let r=e,n=r.tagName.toLowerCase();if(Wte.has(n))return null;if(!zte.has(n)){let e=document.createDocumentFragment();return Array.from(r.childNodes).forEach(t=>{let r=Yte(t);r&&e.appendChild(r)}),e}let i=document.createElement(n);return function(e,t){Array.from(e.attributes).forEach(e=>{let r=e.name.toLowerCase();if(!r.startsWith("on")){if(r.startsWith("data-")||r.startsWith("aria-"))return void t.setAttribute(e.name,e.value);if(Xte.has(r)){if("href"===r||"src"===r){let n=function(e,t){let r=e.trim();return r&&(r.startsWith("#")||/^(?:https?:|mailto:|tel:)/i.test(r)||t&&/^data:image\/[a-z0-9.+-]+;base64,/i.test(r)||/^(?:\/|\.\/|\.\.\/)/.test(r))?r:null}(e.value,"src"===r);return void(n&&t.setAttribute(e.name,n))}if("style"===r){let r=function(e){let t=document.createElement("div");t.style.cssText=e;let r=[];return Array.from(t.style).forEach(e=>{let n=t.style.getPropertyValue(e).trim();!n||function(e){return/(expression\s*\(|url\s*\(|javascript:|vbscript:|mocha:|-moz-binding|behavior\s*:|@import)/i.test(e)}(n)||r.push(`${e}: ${n}`)}),r.join("; ")}(e.value);return void(r&&t.setAttribute(e.name,r))}t.setAttribute(e.name,e.value)}}})}(r,i),Array.from(r.childNodes).forEach(e=>{let t=Yte(e);t&&i.appendChild(t)}),i}function Qte(e){if(e instanceof HTMLTextAreaElement){let t=e.hasAttribute("readonly");return t||e.setAttribute("readonly",""),e.select(),e.setSelectionRange(0,e.value.length),t||e.removeAttribute("readonly"),e.value}e.hasAttribute("contenteditable")&&e.focus();let t=document.createRange();t.selectNodeContents(e);let r=window.getSelection();if(!r)throw Error();return r.removeAllRanges(),r.addRange(t),r.toString()}Gte=o8([a8(0,Y(Cg)),a8(1,kc),a8(2,G(Mte))],Gte);const Zte=e=>{let{children:t,onClose:r,onConfirm:n}=e,[i]=(0,_q.useState)({}),a=t?(0,_q.cloneElement)(t,{hooks:i}):null;return(0,$Z.jsx)(S9,{...e,children:a,onClose:()=>{let e=i.beforeClose;if(e){let t=e();if(t.cancel)return;return void(null==r||r(t))}null==r||r()},onConfirm:()=>{let e=i.beforeConfirm;if(e){let t=e();if(t.cancel)return;return void(null==n||n(t))}null==n||n()}})};function Kte(){let e=iK(bf),[t,r]=(0,_q.useState)([]);(0,_q.useEffect)(()=>{let t=e.confirmOptions$.subscribe(e=>{r(e)});return()=>{t.unsubscribe()}},[]);let n=t.map(e=>{let{children:t,title:r,...n}=e,i=n;for(let t of["children","title"]){let r=t,n=e[r];n&&(i[r]=(0,$Z.jsx)(Q5,{...n}))}return i});return null==n?void 0:n.map((e,t)=>(0,$Z.jsx)(Zte,{...e,children:e.children},t))}let $te=class extends tu{constructor(e,t){super(),this._injector=e,this._uiPartsService=t,U5(this,"_confirmOptions",[]),U5(this,"confirmOptions$",new Qn([])),this._initUIPart()}open(e){return this._confirmOptions.find(t=>t.id===e.id)?this._confirmOptions=this._confirmOptions.map(t=>({...t.id===e.id?e:t,visible:t.id===e.id||t.visible})):this._confirmOptions.push({...e,visible:!0}),this.confirmOptions$.next(this._confirmOptions),Jl(()=>{this._confirmOptions=[],this.confirmOptions$.next([])})}confirm(e){return new Promise(t=>{let r=this.open({...e,onConfirm:()=>{r.dispose(),t(!0)},onClose:()=>{r.dispose(),t(!1)}})})}close(e){this._confirmOptions=this._confirmOptions.map(t=>({...t,visible:t.id!==e&&t.visible})),this.confirmOptions$.next([...this._confirmOptions])}_initUIPart(){this.disposeWithMe(this._uiPartsService.registerComponent(dee.GLOBAL,()=>tK(Kte,this._injector)))}};$te=o8([a8(0,Y(he)),a8(1,hee)],$te);const Jte=V("univer.ui.dialog-service");function ere(){let e=iK(Jte),[t,r]=(0,_q.useState)([]);(0,_q.useEffect)(()=>{let t=e.getDialogs$().subscribe(e=>{r(e)});return()=>t.unsubscribe()},[]);let n=(0,_q.useMemo)(()=>t.map(e=>{let{children:t,title:r,footer:n,...i}=e,a=i;for(let t of["children","title","footer"]){let r=t,n=e[r];n&&(a[r]=(0,$Z.jsx)(Q5,{...n}))}return a}),[t]);return null==n?void 0:n.map(e=>(0,$Z.jsx)(s9,{...e},e.id))}let tre=class extends tu{constructor(e,t){super(),this._injector=e,this._uiPartsService=t,U5(this,"_dialogOptions",[]),U5(this,"_dialogOptions$",new On),this._initUIPart()}dispose(){super.dispose(),this._dialogOptions=[],this._dialogOptions$.complete()}open(e){return this._dialogOptions.find(t=>t.id===e.id)?this._dialogOptions=this._dialogOptions.map(t=>({...t.id===e.id?e:t,open:t.id===e.id||t.open})):this._dialogOptions.push({...e,open:!0}),this._dialogOptions$.next(this._dialogOptions),Jl(()=>{this._dialogOptions=[],this._dialogOptions$.next([])})}close(e){this._dialogOptions=this._dialogOptions.map(t=>({...t,open:t.id!==e&&t.open})),this._dialogOptions$.next([...this._dialogOptions])}closeAll(e){let t=new Set(e);this._dialogOptions=this._dialogOptions.map(e=>({...e,open:!!t.has(e.id)&&e.open})),this._dialogOptions$.next([...this._dialogOptions])}getDialogs$(){return this._dialogOptions$.asObservable()}_initUIPart(){this.disposeWithMe(this._uiPartsService.registerComponent(dee.GLOBAL,()=>tK(ere,this._injector)))}};tre=o8([a8(0,Y(he)),a8(1,hee)],tre);const rre=V("univer.ui.gallery-service");function nre(){let e=aK(iK(rre).gallery$);return e?(0,$Z.jsx)(Y9,{...e}):null}let ire=class extends tu{constructor(e,t){super(),this._injector=e,this._uiPartsService=t,U5(this,"gallery$",new On),this._initUIPart()}dispose(){super.dispose()}open(e){return this.gallery$.next({open:!0,...e}),Jl(()=>{this.gallery$.complete()})}close(){this.gallery$.next({open:!1,images:[]})}_initUIPart(){this.disposeWithMe(this._uiPartsService.registerComponent(dee.GLOBAL,()=>tK(nre,this._injector)))}};ire=o8([a8(0,Y(he)),a8(1,hee)],ire);let are=class{constructor(e){this._componentManager=e,U5(this,"visible$",new On),U5(this,"componentKey$",new On),U5(this,"_componentKey","")}get componentKey(){return this._componentKey}set(e,t){return this._componentManager.register(e,t),this.componentKey$.next(e),this._componentKey=e,Jl(()=>{this._componentManager.delete(e),this.visible$.complete(),this.componentKey$.complete()})}open(){this.visible$.next(!0)}close(){this.visible$.next(!1)}};are=o8([a8(0,Y(W5))],are);var ore=class extends tu{openFile(e){return new Promise(t=>{var r,n;let i=document.createElement("input");i.type="file",i.accept=null==(r=null==e?void 0:e.accept)?"":r,i.multiple=null!=(n=null==e?void 0:e.multiple)&&n,i.onchange=e=>{let r=e.target.files;r&&t(Array.from(r))},i.click()})}downloadFile(e,t){let r=document.createElement("a");r.download=t,r.href=window.URL.createObjectURL(e),r.click()}};const sre=V("univer-ui.local-file.service");var lre=class{getItem(e){return P5().getItem(e)}setItem(e,t){return P5().setItem(e,t)}removeItem(e){return P5().removeItem(e)}clear(){return P5().clear()}key(e){return P5().key(e)}keys(){return P5().keys()}iterate(e){return P5().iterate(e)}};function ure(){return(0,$Z.jsx)(m5,{theme:aK(iK(Lg).darkMode$)?"dark":"light"})}let cre=0,dre=class extends tu{constructor(e,t){super(),this._injector=e,this._uiPartsService=t,this._initUIPart()}_initUIPart(){this.disposeWithMe(this._uiPartsService.registerComponent(dee.GLOBAL,()=>tK(ure,this._injector)))}dispose(){super.dispose(),f5()}show(e){var t;let r=null==(t=e.id)?`message-${Date.now()}-${cre}`:t;return cre+=1,(({content:e,duration:t,id:r,onClose:n,type:i=o5.Info})=>{let a=null==r?(()=>{let e=`univer-message-${c5}`;return c5+=1,e})():r,o=(e=>{switch(e){case o5.Success:return Y4.success;case o5.Warning:return Y4.warning;case o5.Error:return Y4.error;case o5.Loading:return Y4.loading;case o5.Info:default:return Y4.info}})(i),s=!1,l=()=>{s||(s=!0,l5.delete(a),null==n||n())};o(e,{id:a,toasterId:s5,duration:null==t?3e3:t,icon:i===o5.Loading?void 0:d5[i],onDismiss:l,onAutoClose:l}),l5.add(a)})(Object.assign({},e,{id:r})),Jl(()=>f5(r))}remove(e){f5(e)}removeAll(){f5()}};function hre(){return(0,$Z.jsx)(S5,{theme:aK(iK(Lg).darkMode$)?"dark":"light"})}dre=o8([a8(0,Y(he)),a8(1,hee)],dre);let mre=class extends tu{constructor(e,t){super(),this._injector=e,this._uiPartsService=t,this._initUIPart()}show(e){return(e=>{let{type:t="message",title:r,content:n,duration:i,closable:a=!0,position:o="top-right"}=e;Y4[t](r,{position:o,description:n,duration:i,closeButton:a})})(e),Jl(()=>{})}_initUIPart(){this.disposeWithMe(this._uiPartsService.registerComponent(dee.GLOBAL,()=>tK(hre,this._injector)))}};mre=o8([a8(0,Y(he)),a8(1,hee)],mre);var fre=class{constructor(){U5(this,"_sidebarOptions",{}),U5(this,"sidebarOptions$",new On),U5(this,"scrollEvent$",new On),U5(this,"_container",void 0)}get visible(){return this._sidebarOptions.visible||!1}get options(){return this._sidebarOptions}open(e){return this._sidebarOptions={...e,id:e.id,visible:!0},this.sidebarOptions$.next(this._sidebarOptions),Jl(()=>{this.close()})}close(e){e&&this._sidebarOptions.id!==e||(this._sidebarOptions={...this._sidebarOptions,visible:!1},this.sidebarOptions$.next(this._sidebarOptions),this._sidebarOptions.onClose&&this._sidebarOptions.onClose())}getContainer(){return this._container}setContainer(e){this._container=e}};let gre=class{get visible(){return this._visible}get temporaryHidden(){return this._temporaryHidden$.getValue()}constructor(e){this._componentManager=e,U5(this,"visible$",new Qn(!1)),U5(this,"componentKey$",new NL),U5(this,"_temporaryHidden$",new Qn(!1)),U5(this,"temporaryHidden$",this._temporaryHidden$.asObservable()),U5(this,"_visible",!1)}dispose(){this.visible$.next(!1),this.visible$.complete(),this.componentKey$.complete()}hide(){this._temporaryHidden$.next(!0)}show(){this._temporaryHidden$.next(!1)}set(e,t){return this._componentManager.register(e,t),this.componentKey$.next(e),Jl(()=>{this._componentManager.delete(e),this.visible$.complete(),this.componentKey$.complete()})}open(){this._visible=!0,this.visible$.next(!0)}close(){this._visible=!1,this.visible$.next(!1)}};gre=o8([a8(0,Y(W5))],gre);let pre=class extends Rg{constructor(e=i8,t,r,n){super(),this._config=e,this._contextService=t,this._injector=r,this._configService=n;let{menu:i,...a}=hr({popupRootId:`univer-popup-portal-${cu(6)}`},i8,this._config);a.disableAutoFocus&&this._contextService.setContextValue("DISABLE_AUTO_FOCUS",!0),i&&this._configService.setConfig("menu",i,{merge:!0}),this._configService.setConfig(n8,a)}onStarting(){Ml(this._injector,Ag([[W5],[Fee],[z5],[B5],[hee,{useClass:mee}],[O8,{useClass:L8}],[See,{useClass:Aee}],[U8,{useClass:B8}],[P8,{useClass:D8}],[nee,{useClass:iee}],[Wee,{useClass:zee}],[jee,{useClass:Hee}],[qte,{useClass:Gte,lazy:!0}],[Mte,{useClass:mre,lazy:!0}],[rre,{useClass:ire,lazy:!0}],[Jte,{useClass:tre,lazy:!0}],[bf,{useClass:$te,lazy:!0}],[V5,{useClass:fre,lazy:!0}],[ote,{useClass:gre,lazy:!0}],[nte,{useClass:are,lazy:!0}],[C8,{useClass:dre,lazy:!0}],[bg,{useClass:lre,lazy:!0}],[Ote,{useClass:Lte}],[sre,{useClass:ore}],[vee,{useClass:bee}],[s8,{useClass:u8}],[fee],[fte,{useFactory:e=>e.createInstance(Tte,this._config),deps:[he]}],[q8],[y8],[see]],this._config.override)),Ol(this._injector,[[fte],[y8]])}onReady(){Ol(this._injector,[[q8]])}onSteady(){Ol(this._injector,[[see]])}};U5(pre,"pluginName","UNIVER_MOBILE_UI_PLUGIN"),U5(pre,"packageName",gte),U5(pre,"version",pte),pre=o8([Tg(VX),a8(1,Mc),a8(2,Y(he)),a8(3,Tc)],pre);const vre="DISABLE_AUTO_FOCUS";let bre=class extends Rg{constructor(e=i8,t,r,n){super(),this._config=e,this._contextService=t,this._injector=r,this._configService=n;let{menu:i,...a}=hr({popupRootId:`univer-popup-portal-${cu(6)}`},i8,this._config);a.disableAutoFocus&&this._contextService.setContextValue(vre,!0),i&&this._configService.setConfig("menu",i,{merge:!0}),this._configService.setConfig(n8,a)}onStarting(){Ml(this._injector,Ag([[W5],[Fee],[z5],[B5],[hee,{useClass:mee}],[O8,{useClass:L8}],[See,{useClass:Aee}],[U8,{useClass:B8}],[P8,{useClass:D8}],[nee,{useClass:iee}],[Wee,{useClass:zee}],[jee,{useClass:Hee}],[qte,{useClass:Gte,lazy:!0}],[Mte,{useClass:mre,lazy:!0}],[rre,{useClass:ire,lazy:!0}],[Jte,{useClass:tre,lazy:!0}],[bf,{useClass:$te,lazy:!0}],[V5,{useClass:fre,lazy:!0}],[ote,{useClass:gre,lazy:!0}],[nte,{useClass:are,lazy:!0}],[C8,{useClass:dre,lazy:!0}],[bg,{useClass:lre,lazy:!0}],[Ote,{useClass:Lte}],[sre,{useClass:ore}],[vee,{useClass:bee}],[s8,{useClass:u8}],[fee],[fte,{useFactory:e=>e.createInstance(hte,this._config),deps:[he]}],[q8],[y8],[see]],this._config.override)),Ol(this._injector,[[fte],[y8]])}onReady(){Ol(this._injector,[[q8]])}onSteady(){Ol(this._injector,[[see]])}};U5(bre,"pluginName","UNIVER_UI_PLUGIN"),U5(bre,"packageName",gte),U5(bre,"version",pte),bre=o8([Tg(VX),a8(1,Mc),a8(2,Y(he)),a8(3,Tc)],bre);const Cre=e=>{let t=iK(V5).getContainer();(0,_q.useEffect)(()=>{if(t)return t.addEventListener("mousedown",e),()=>{t.removeEventListener("mousedown",e)}},[e,t])};function yre(e){return 0===e.length?e:e.replace(/^\s+|\s+$/gm,"")}function _re(e,t){let r;r=" "===t?e.trim().split(t):e.trim().split(t).slice(0,-1),r.forEach(e=>`${e.trim()})`);let n={};return 1===r.length?n={t:r[0],r:r[0],b:r[0],l:r[0]}:2===r.length?n={t:r[0],r:r[1],b:r[0],l:r[1]}:3===r.length?n={t:r[0],r:r[1],b:r[2],l:r[1]}:4===r.length&&(n={t:r[0],r:r[1],b:r[2],l:r[3]}),n}const wre=(0,_q.memo)(e=>{var t,r;let{layer:n,id:i,position:a}=e,o=iK(dg),s=(0,_q.useRef)(null),l=(0,_q.useRef)(null),u=(0,_q.useRef)(`transform: rotate(${null==a?void 0:a.rotate}deg) translate(${null==a?void 0:a.startX}px, ${null==a?void 0:a.startY}px)`),c=(0,_q.useRef)(null==(t=null==a?void 0:a.startY)?0:t),d=(0,_q.useRef)(null==(r=null==a?void 0:a.startX)?0:r),h="string"==typeof n.componentKey?iK(W5).get(n.componentKey):n.componentKey,m=(0,_q.useMemo)(()=>({data:n.data,...n.props}),[n.data,n.props]),f={width:a.width-4+"px",height:a.height-4+"px",left:`${a.absolute.left?0:"auto"}`,top:`${a.absolute.top?0:"auto"}`,right:`${a.absolute.left?"auto":0}`,bottom:`${a.absolute.top?"auto":0}`};u.current=`rotate(${a.rotate}deg)`,c.current=a.startY,d.current=a.startX;let g=o.getUnit(n.unitId),p=(0,_q.useMemo)(()=>h?(0,$Z.jsx)(h,{...m,unitId:n.unitId,unit:g,floatDomId:n.id,context:{root:l}}):null,[h,m]);return a?(0,$Z.jsx)("div",{ref:s,className:"univer-absolute univer-z-10 univer-origin-center univer-overflow-hidden",style:{top:c.current,left:d.current,width:Math.max(a.endX-a.startX-2,0),height:Math.max(a.endY-a.startY-2,0),transform:u.current},onPointerMove:e=>{n.onPointerMove(e.nativeEvent)},onPointerDown:e=>{n.onPointerDown(e.nativeEvent)},onPointerUp:e=>{n.onPointerUp(e.nativeEvent)},onWheel:e=>{n.onWheel(e.nativeEvent)},children:(0,$Z.jsx)("div",{ref:l,id:i,className:"univer-absolute univer-overflow-hidden",style:{...f},children:p})}):null}),Ere=["image/png","image/jpeg","image/jpg","image/gif","image/bmp"],Sre=V("univer.drawing-manager.service"),Are={id:"drawing.operation.set-drawing-selected",type:Bc.OPERATION,handler:(e,t)=>{let r=e.get(Sre);return null!=t&&(r.focusDrawing(t),!0)}},Ire="drawing.config";Symbol(Ire);const Rre={};function xre(e){return xre="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},xre(e)}function Tre(e,t,r){return(t=function(e){var t=function(e){if("object"!=xre(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=xre(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==xre(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Nre=function(e){return e.data="data",e.order="order",e}(Nre||{}),Mre=class{constructor(){Tre(this,"drawingManagerData",{}),Tre(this,"_oldDrawingManagerData",{}),Tre(this,"_focusDrawings",[]),Tre(this,"_remove$",new On),Tre(this,"remove$",this._remove$.asObservable()),Tre(this,"_add$",new On),Tre(this,"add$",this._add$.asObservable()),Tre(this,"_update$",new On),Tre(this,"update$",this._update$.asObservable()),Tre(this,"_order$",new On),Tre(this,"order$",this._order$.asObservable()),Tre(this,"_group$",new On),Tre(this,"group$",this._group$.asObservable()),Tre(this,"_ungroup$",new On),Tre(this,"ungroup$",this._ungroup$.asObservable()),Tre(this,"_refreshTransform$",new On),Tre(this,"refreshTransform$",this._refreshTransform$.asObservable()),Tre(this,"_visible$",new On),Tre(this,"visible$",this._visible$.asObservable()),Tre(this,"_focus$",new On),Tre(this,"focus$",this._focus$.asObservable()),Tre(this,"_featurePluginUpdate$",new On),Tre(this,"featurePluginUpdate$",this._featurePluginUpdate$.asObservable()),Tre(this,"_featurePluginAdd$",new On),Tre(this,"featurePluginAdd$",this._featurePluginAdd$.asObservable()),Tre(this,"_featurePluginRemove$",new On),Tre(this,"featurePluginRemove$",this._featurePluginRemove$.asObservable()),Tre(this,"_featurePluginOrderUpdate$",new On),Tre(this,"featurePluginOrderUpdate$",this._featurePluginOrderUpdate$.asObservable()),Tre(this,"_featurePluginGroupUpdate$",new On),Tre(this,"featurePluginGroupUpdate$",this._featurePluginGroupUpdate$.asObservable()),Tre(this,"_featurePluginUngroupUpdate$",new On),Tre(this,"featurePluginUngroupUpdate$",this._featurePluginUngroupUpdate$.asObservable()),Tre(this,"_visible",!0),Tre(this,"_editable",!0)}dispose(){this._remove$.complete(),this._add$.complete(),this._update$.complete(),this._order$.complete(),this._focus$.complete(),this._featurePluginUpdate$.complete(),this._featurePluginAdd$.complete(),this._featurePluginRemove$.complete(),this._featurePluginOrderUpdate$.complete(),this.drawingManagerData={},this._oldDrawingManagerData={}}visibleNotification(e){this._visible$.next(e)}refreshTransform(e){e.forEach(e=>{let t=this._getCurrentBySearch(e);null!=t&&(t.transform=e.transform,t.transforms=e.transforms,t.isMultiTransform=e.isMultiTransform)}),this.refreshTransformNotification(e)}getDrawingDataForUnit(e){return this.drawingManagerData[e]||{}}removeDrawingDataForUnit(e){let t=this.drawingManagerData[e];if(null==t)return;delete this.drawingManagerData[e];let r=[];Object.keys(t).forEach(n=>{let i=t[n];null!=(null==i?void 0:i.data)&&Object.keys(i.data).forEach(t=>{r.push({unitId:e,subUnitId:n,drawingId:t})})}),r.length>0&&this.removeNotification(r)}registerDrawingData(e,t){this.drawingManagerData[e]=t}initializeNotification(e){let t=[],r=this.drawingManagerData[e];null!=r&&(Object.keys(r).forEach(n=>{this._establishDrawingMap(e,n);let i=r[n];Object.keys(i.data).forEach(r=>{let a=i.data[r];a.unitId=e,a.subUnitId=n,t.push(a)})}),t.length>0&&this.addNotification(t))}getDrawingData(e,t){return this._getDrawingData(e,t)}setDrawingData(e,t,r){this.drawingManagerData[e][t].data=r}getBatchAddOp(e){let t=[],r=[],n=[];e.forEach(e=>{let{op:i,invertOp:a}=this._addByParam(e);t.push({unitId:e.unitId,subUnitId:e.subUnitId,drawingId:e.drawingId}),r.push(i),n.push(a)});let i=r.reduce(ji.type.compose,null),a=n.reduce(ji.type.compose,null),{unitId:o,subUnitId:s}=e[0];return{undo:a,redo:i,unitId:o,subUnitId:s,objects:t}}getBatchRemoveOpInOder(e){if(0===e.length)return{undo:null,redo:null,unitId:"",subUnitId:"",objects:[]};let t=this.getDrawingOrder(e[0].unitId,e[0].subUnitId),r=new Map;return t.forEach((e,t)=>{r.set(e,t)}),e.sort((e,t)=>{var n,i;return(null==(n=r.get(e.drawingId))?-1/0:n)-(null==(i=r.get(t.drawingId))?-1/0:i)}),this.getBatchRemoveOp(e)}getBatchRemoveOp(e){var t;let r=new Set,n=[];e.forEach(e=>{let t=this.getDrawingByParam(e);if((null==t?void 0:t.drawingType)===bc.DRAWING_GROUP){let t=this.getDrawingsByGroupNested(e);if(t){let{flatChildren:e,groups:i}=t;[...null==e?[]:e,...i].forEach(e=>{r.has(e.drawingId)||(r.add(e.drawingId),n.push({unitId:e.unitId,subUnitId:e.subUnitId,drawingId:e.drawingId}))})}else r.has(e.drawingId)||(r.add(e.drawingId),n.push(e))}else r.has(e.drawingId)||(r.add(e.drawingId),n.push(e))});let{unitId:i,subUnitId:a}=null==(t=n[0])?e[0]:t,o=this._getDrawingOrder(i,a),s=new Map;o.forEach((e,t)=>s.set(e,t)),n.sort((e,t)=>{var r,n;return(null==(r=s.get(e.drawingId))?-1/0:r)-(null==(n=s.get(t.drawingId))?-1/0:n)});let l=[],u=[];n.forEach(e=>{let{op:t,invertOp:r}=this._removeByParam(e);l.unshift(t),u.push(r)});let c=l.reduce(ji.type.compose,null);return{undo:u.reduce(ji.type.compose,null),redo:c,unitId:i,subUnitId:a,objects:n}}getBatchUpdateOp(e){let t=[],r=[],n=[];e.forEach(e=>{let{op:i,invertOp:a}=this._updateByParam(e);t.push({unitId:e.unitId,subUnitId:e.subUnitId,drawingId:e.drawingId}),r.push(i),n.push(a)});let i=r.reduce(ji.type.compose,null),a=n.reduce(ji.type.compose,null),{unitId:o,subUnitId:s}=e[0];return{undo:a,redo:i,unitId:o,subUnitId:s,objects:t}}removeNotification(e){this._remove$.next(e)}addNotification(e){this._add$.next(e)}updateNotification(e){this._update$.next(e)}orderNotification(e){this._order$.next(e)}groupUpdateNotification(e){this._group$.next(e)}ungroupUpdateNotification(e){this._ungroup$.next(e)}refreshTransformNotification(e){this._refreshTransform$.next(e)}getGroupDrawingOp(e){let t=[],{unitId:r,subUnitId:n}=e[0].parent;e.forEach(e=>{t.push(this._getGroupDrawingOp(e))});let i=t.reduce(ji.type.compose,null);return{undo:ji.type.invertWithDoc(i,this.drawingManagerData),redo:i,unitId:r,subUnitId:n,objects:e}}getUngroupDrawingOp(e){let t=[],{unitId:r,subUnitId:n}=e[0].parent;e.forEach(e=>{t.push(this._getUngroupDrawingOp(e))});let i=t.reduce(ji.type.compose,null);return{undo:ji.type.invertWithDoc(i,this.drawingManagerData),redo:i,unitId:r,subUnitId:n,objects:e}}getDrawingsByGroup(e){let{unitId:t,subUnitId:r,drawingId:n}=e;if(null==this.getDrawingByParam({unitId:t,subUnitId:r,drawingId:n}))return[];let i=this._getDrawingData(t,r),a=[];return Object.keys(i).forEach(e=>{let t=i[e];t.groupId===n&&a.push(t)}),a}getDrawingsByGroupNested(e){let{unitId:t,subUnitId:r}=e,n=this.getDrawingByParam(e);if(!n)return null;let i=this._getDrawingData(t,r),a=new Map;Object.values(i).forEach(e=>{null!=e.groupId&&(a.has(e.groupId)||a.set(e.groupId,[]),a.get(e.groupId).push(e.drawingId))});let o=[],s=[],l={},u=e=>{var t;let{drawingId:r}=e,n=null==(t=a.get(r))?[]:t;l[r]={drawingId:r,children:n},n.forEach(e=>{let t=i[e];t&&(t.drawingType===bc.DRAWING_GROUP?(u(t),s.push(t)):o.push(t))})};return u(n),s.push(n),{nestedIdRecord:l,flatChildren:o,groups:s}}_getGroupDrawingOp(e){let{parent:t,children:r}=e,{unitId:n,subUnitId:i,drawingId:a}=t,o=[];o.push(ji.insertOp([n,i,Nre.data,a],t));let s=-1/0;return r.forEach(e=>{let{unitId:t,subUnitId:r,drawingId:n}=e,i=this._hasDrawingOrder({unitId:t,subUnitId:r,drawingId:n});s=Math.max(s,i),o.push(...this._getUpdateParamCompareOp(e,this.getDrawingByParam({unitId:t,subUnitId:r,drawingId:n})))}),s===-1/0&&(s=this._getDrawingOrder(n,i).length),o.push(ji.insertOp([n,i,Nre.order,s],a)),o.reduce(ji.type.compose,null)}_getUngroupDrawingOp(e){let{parent:t,children:r}=e,{unitId:n,subUnitId:i,drawingId:a}=t,o=[];return r.forEach(e=>{let{unitId:t,subUnitId:r,drawingId:n}=e;o.push(...this._getUpdateParamCompareOp(e,this.getDrawingByParam({unitId:t,subUnitId:r,drawingId:n})))}),o.push(ji.removeOp([n,i,Nre.data,a],!0)),o.push(ji.removeOp([n,i,Nre.order,this._getDrawingOrder(n,i).indexOf(a)],!0)),o.reduce(ji.type.compose,null)}applyJson1(e,t,r){this._establishDrawingMap(e,t),this._oldDrawingManagerData={...this.drawingManagerData},this.drawingManagerData=ji.type.apply(this.drawingManagerData,r)}featurePluginUpdateNotification(e){this._featurePluginUpdate$.next(e)}featurePluginOrderUpdateNotification(e){this._featurePluginOrderUpdate$.next(e)}featurePluginAddNotification(e){this._featurePluginAdd$.next(e)}featurePluginRemoveNotification(e){this._featurePluginRemove$.next(e)}featurePluginGroupUpdateNotification(e){this._featurePluginGroupUpdate$.next(e)}featurePluginUngroupUpdateNotification(e){this._featurePluginUngroupUpdate$.next(e)}getDrawingByParam(e){return this._getCurrentBySearch(e)}getOldDrawingByParam(e){return this._getOldBySearch(e)}getDrawingOKey(e){let[t,r,n]=e.split("#-#");return this._getCurrentBySearch({unitId:t,subUnitId:r,drawingId:n})}focusDrawing(e){if(null==e||0===e.length)return this._focusDrawings=[],void this._focus$.next([]);let t=[];e.forEach(e=>{var r;let{unitId:n,subUnitId:i,drawingId:a}=e,o=null==(r=this._getDrawingData(n,i))?void 0:r[a];null!=o&&t.push(o)}),t.length>0&&(this._focusDrawings=t,this._focus$.next(t))}getFocusDrawings(){let e=[];return this._focusDrawings.forEach(t=>{var r;let{unitId:n,subUnitId:i,drawingId:a}=t,o=null==(r=this._getDrawingData(n,i))?void 0:r[a];null!=o&&e.push(o)}),e}getDrawingOrder(e,t){return this._getDrawingOrder(e,t)}setDrawingOrder(e,t,r){this.drawingManagerData[e][t].order=r}orderUpdateNotification(e){this._order$.next(e)}getForwardDrawingsOp(e){let{unitId:t,subUnitId:r,drawingIds:n}=e,i=[],a=this.getDrawingOrder(t,r),o=[...n];n.forEach(e=>{let n=this._hasDrawingOrder({unitId:t,subUnitId:r,drawingId:e});if(-1===n||n===a.length-1)return;let s=ji.moveOp([t,r,Nre.order,n],[t,r,Nre.order,n+1]);i.push(s),o.includes(a[n+1])||o.push(a[n+1])});let s=i.reduce(ji.type.compose,null);return{undo:ji.type.invertWithDoc(s,this.drawingManagerData),redo:s,unitId:t,subUnitId:r,objects:{...e,drawingIds:o}}}getBackwardDrawingOp(e){let{unitId:t,subUnitId:r,drawingIds:n}=e,i=[],a=this.getDrawingOrder(t,r),o=[...n];n.forEach(e=>{let n=this._hasDrawingOrder({unitId:t,subUnitId:r,drawingId:e});if(-1===n||0===n)return;let s=ji.moveOp([t,r,Nre.order,n],[t,r,Nre.order,n-1]);i.push(s),o.includes(a[n-1])||o.push(a[n-1])});let s=i.reduce(ji.type.compose,null);return{undo:ji.type.invertWithDoc(s,this.drawingManagerData),redo:s,unitId:t,subUnitId:r,objects:{...e,drawingIds:o}}}getFrontDrawingsOp(e){let{unitId:t,subUnitId:r,drawingIds:n}=e,i=this._getOrderFromSearchParams(t,r,n),a=[...n],o=this.getDrawingOrder(t,r),s=[];i.forEach(e=>{let{drawingId:n}=e,i=this._getDrawingCount(t,r)-1,l=ji.moveOp([t,r,Nre.order,this._getDrawingOrder(t,r).indexOf(n)],[t,r,Nre.order,i]);s.push(l),a.includes(o[i])||a.push(o[i])});let l=s.reduce(ji.type.compose,null);return{undo:ji.type.invertWithDoc(l,this.drawingManagerData),redo:l,unitId:t,subUnitId:r,objects:{...e,drawingIds:a}}}getBackDrawingsOp(e){let{unitId:t,subUnitId:r,drawingIds:n}=e,i=this._getOrderFromSearchParams(t,r,n,!0),a=[...n],o=this.getDrawingOrder(t,r),s=[];i.forEach(e=>{let{drawingId:n}=e,i=ji.moveOp([t,r,Nre.order,this._getDrawingOrder(t,r).indexOf(n)],[t,r,Nre.order,0]);s.push(i),a.includes(o[0])||a.push(o[0])});let l=s.reduce(ji.type.compose,null);return{undo:ji.type.invertWithDoc(l,this.drawingManagerData),redo:l,unitId:t,subUnitId:r,objects:{...e,drawingIds:a}}}_getDrawingCount(e,t){return this.getDrawingOrder(e,t).length||0}_getOrderFromSearchParams(e,t,r,n=!1){return r.map(r=>({drawingId:r,zIndex:this._hasDrawingOrder({unitId:e,subUnitId:t,drawingId:r})})).sort(!1===n?jh:Hh)}_hasDrawingOrder(e){if(null==e)return-1;let{unitId:t,subUnitId:r,drawingId:n}=e;return this._establishDrawingMap(t,r),this._getDrawingOrder(t,r).indexOf(n)}_getCurrentBySearch(e){var t;if(null==e)return;let{unitId:r,subUnitId:n,drawingId:i}=e;return null==(t=this.drawingManagerData[r])||null==(t=t[n])||null==(t=t.data)?void 0:t[i]}_getOldBySearch(e){var t;if(null==e)return;let{unitId:r,subUnitId:n,drawingId:i}=e;return null==(t=this._oldDrawingManagerData[r])||null==(t=t[n])||null==(t=t.data)?void 0:t[i]}_establishDrawingMap(e,t,r){var n;return this.drawingManagerData[e]||(this.drawingManagerData[e]={}),this.drawingManagerData[e][t]||(this.drawingManagerData[e][t]={data:{},order:[]}),null==r?null:null==(n=this.drawingManagerData[e][t].data)?void 0:n[r]}_addByParam(e){let{unitId:t,subUnitId:r,drawingId:n}=e;this._establishDrawingMap(t,r,n);let i=[ji.insertOp([t,r,Nre.data,n],e),ji.insertOp([t,r,Nre.order,this._getDrawingOrder(t,r).length],n)].reduce(ji.type.compose,null);return{op:i,invertOp:ji.type.invertWithDoc(i,this.drawingManagerData)}}_removeByParam(e){if(null==e)return{op:[],invertOp:[]};let{unitId:t,subUnitId:r,drawingId:n}=e;if(null==this._establishDrawingMap(t,r,n))return{op:[],invertOp:[]};let i=[ji.removeOp([t,r,Nre.data,n],!0),ji.removeOp([t,r,Nre.order,this._getDrawingOrder(t,r).indexOf(n)],!0)].reduce(ji.type.compose,null);return{op:i,invertOp:ji.type.invertWithDoc(i,this.drawingManagerData)}}_updateByParam(e){let{unitId:t,subUnitId:r,drawingId:n}=e,i=this._establishDrawingMap(t,r,n);if(null==i)return{op:[],invertOp:[]};let a=this._getUpdateParamCompareOp(e,i).reduce(ji.type.compose,null);return{op:a,invertOp:ji.type.invertWithDoc(a,this.drawingManagerData)}}_getUpdateParamCompareOp(e,t){let{unitId:r,subUnitId:n,drawingId:i}=e,a=[];return Object.keys(e).forEach(o=>{let s=e[o],l=t[o];l!==s&&a.push(ji.replaceOp([r,n,Nre.data,i,o],l,s))}),a}_getDrawingData(e,t){var r;return(null==(r=this.drawingManagerData[e])||null==(r=r[t])?void 0:r.data)||{}}_getDrawingOrder(e,t){var r;return(null==(r=this.drawingManagerData[e])||null==(r=r[t])?void 0:r.order)||[]}getDrawingVisible(){return this._visible}getDrawingEditable(){return this._editable}setDrawingVisible(e){this._visible=e}setDrawingEditable(e){this._editable=e}},Ore=class extends Mre{},Lre=class{constructor(){Tre(this,"_waitCount",0),Tre(this,"_change$",new On),Tre(this,"change$",this._change$),Tre(this,"_imageSourceCache",new Map)}setWaitCount(e){this._waitCount=e,this._change$.next(e)}getImageSourceCache(e,t){if(t===Lf.BASE64){let t=new Image;return t.src=e,t}return this._imageSourceCache.get(e)}addImageSourceCache(e,t,r){t===Lf.BASE64||null==r||this._imageSourceCache.set(e,r)}async getImage(e){return Promise.resolve(e)}async saveImage(e){return new Promise((t,r)=>{if(!Ere.includes(e.type))return r(Error(kf.ERROR_IMAGE_TYPE)),void this._decreaseWaiting();if(e.size>5242880)return r(Error(kf.ERROR_EXCEED_SIZE)),void this._decreaseWaiting();let n=new FileReader;n.readAsDataURL(e),n.onload=e=>{var n;let i=null==(n=e.target)?void 0:n.result;if(null==i)return r(Error(kf.ERROR_IMAGE)),void this._decreaseWaiting();t({imageId:cu(6),imageSourceType:Lf.BASE64,source:i,base64Cache:i,status:kf.SUCCUSS}),this._decreaseWaiting()}})}_decreaseWaiting(){--this._waitCount,this._change$.next(this._waitCount)}},kre=class extends tu{constructor(...e){super(...e),Tre(this,"_urlImageDownloader",null)}registerURLImageDownloader(e){return this._urlImageDownloader=e,Jl(()=>{this._urlImageDownloader=null})}async getImage(e){if(this._urlImageDownloader)try{return await this._urlImageDownloader(e)}catch(t){console.error(`Custom downloader failed for ${e}, falling back to default behavior:`,t)}return e}async downloadImage(e){if(this._urlImageDownloader)try{let t=await this._urlImageDownloader(e);return await(await fetch(t)).blob()}catch(t){console.error(`Custom downloader failed for ${e}, falling back to default fetch:`,t)}return await(await fetch(e)).blob()}};function Pre(e,t){return function(r,n){t(r,n,e)}}let Dre=class extends Rg{constructor(e=Rre,t,r,n){super(),this._config=e,this._injector=t,this._configService=r,this._commandService=n;let{...i}=hr({},Rre,this._config);this._configService.setConfig(Ire,i)}onStarting(){this._initCommands(),this._initDependencies()}_initDependencies(){var e;Ag([[Pf,{useClass:Lre}],[Df,{useClass:kre}],[Sre,{useClass:Ore}]],null==(e=this._config)?void 0:e.override).forEach(e=>this._injector.add(e))}_initCommands(){[Are].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e)))}};function Ure({unitId:e,subUnitId:t,drawingId:r},n){return"number"==typeof n?`${e}#-#${t}#-#${r}#-#${n}`:`${e}#-#${t}#-#${r}`}Tre(Dre,"pluginName","UNIVER_DRAWING_PLUGIN"),Tre(Dre,"packageName","@univerjs/drawing"),Tre(Dre,"version","0.19.0"),Dre=function(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}([Pre(1,Y(he)),Pre(2,Tc),Pre(3,Vc)],Dre);const Bre=async e=>new Promise((t,r)=>{let n=new Image;n.src=e,n.onload=()=>{t({width:n.width,height:n.height,image:n})},n.onerror=e=>{r(e)}}),Vre={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M3.0999 2.66689C3.0999 2.33552 2.83127 2.06689 2.4999 2.06689C2.16853 2.06689 1.8999 2.33552 1.8999 2.66689V13.3336C1.8999 13.6649 2.16853 13.9336 2.4999 13.9336C2.83127 13.9336 3.0999 13.6649 3.0999 13.3336V8.5999H8.2334V13.3336C8.2334 13.6649 8.50203 13.9336 8.8334 13.9336C9.16477 13.9336 9.4334 13.6649 9.4334 13.3336V2.66689C9.4334 2.33552 9.16477 2.06689 8.8334 2.06689C8.50203 2.06689 8.2334 2.33552 8.2334 2.66689V7.3999H3.0999V2.66689Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M14.0999 6.33879C14.0999 6.09377 13.9509 5.87336 13.7236 5.78203C13.4962 5.6907 13.2362 5.74679 13.0667 5.92373L11.4753 7.58486C11.2461 7.82415 11.2542 8.20396 11.4935 8.43319C11.7328 8.66243 12.1126 8.65427 12.3419 8.41499L12.8999 7.83245V13.3333C12.8999 13.6646 13.1686 13.9333 13.4999 13.9333C13.8313 13.9333 14.0999 13.6646 14.0999 13.3333V6.33879Z"}}]},Fre=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"h1-icon",ref:t,icon:Vre}))});Fre.displayName="H1Icon";const jre={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M2.5999 2.66689C2.5999 2.33552 2.33127 2.06689 1.9999 2.06689C1.66853 2.06689 1.3999 2.33552 1.3999 2.66689V13.3336C1.3999 13.6649 1.66853 13.9336 1.9999 13.9336C2.33127 13.9336 2.5999 13.6649 2.5999 13.3336V8.5999H7.3999V13.3336C7.3999 13.6649 7.66853 13.9336 7.9999 13.9336C8.33127 13.9336 8.5999 13.6649 8.5999 13.3336V2.66689C8.5999 2.33552 8.33127 2.06689 7.9999 2.06689C7.66853 2.06689 7.3999 2.33552 7.3999 2.66689V7.3999H2.5999V2.66689Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M11.2667 8.33356C11.2667 7.67245 11.8201 7.26689 12.3333 7.26689C12.8465 7.26689 13.4 7.67244 13.4 8.33356C13.4 8.62807 13.2712 8.94814 12.9954 9.32391C12.7183 9.70153 12.3394 10.0744 11.9174 10.4803L11.8355 10.559C11.4524 10.9268 11.0365 11.3263 10.7149 11.7373C10.3718 12.1759 10.0667 12.7122 10.0667 13.3336C10.0667 13.6649 10.3353 13.9336 10.6667 13.9336H14C14.3314 13.9336 14.6 13.6649 14.6 13.3336C14.6 13.0022 14.3314 12.7336 14 12.7336H11.4782C11.5286 12.6531 11.5889 12.5676 11.6601 12.4767C11.9269 12.1355 12.2843 11.792 12.6877 11.4043L12.7492 11.3452C13.1606 10.9496 13.615 10.5079 13.9629 10.0338C14.3122 9.55787 14.6 8.98906 14.6 8.33356C14.6 6.88362 13.3757 6.06689 12.3333 6.06689C11.291 6.06689 10.0667 6.88361 10.0667 8.33356C10.0667 8.66493 10.3353 8.93356 10.6667 8.93356C10.998 8.93356 11.2667 8.66493 11.2667 8.33356Z"}}]},Hre=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"h2-icon",ref:t,icon:jre}))});Hre.displayName="H2Icon";const Wre={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M2.5999 2.66689C2.5999 2.33552 2.33127 2.06689 1.9999 2.06689C1.66853 2.06689 1.3999 2.33552 1.3999 2.66689V13.3336C1.3999 13.6649 1.66853 13.9336 1.9999 13.9336C2.33127 13.9336 2.5999 13.6649 2.5999 13.3336V8.5999H7.3999V13.3336C7.3999 13.6649 7.66853 13.9336 7.9999 13.9336C8.33127 13.9336 8.5999 13.6649 8.5999 13.3336V2.66689C8.5999 2.33552 8.33127 2.06689 7.9999 2.06689C7.66853 2.06689 7.3999 2.33552 7.3999 2.66689V7.3999H2.5999V2.66689Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M10.6667 6.06689C10.3353 6.06689 10.0667 6.33552 10.0667 6.66689C10.0667 6.99827 10.3353 7.26689 10.6667 7.26689H12.7732L11.193 9.29853C11.0524 9.47942 11.027 9.72465 11.1277 9.93051C11.2283 10.1364 11.4375 10.2669 11.6667 10.2669C12.2418 10.2669 12.6786 10.4115 12.9585 10.6354C13.2204 10.845 13.4 11.166 13.4 11.6669C13.4 12.1622 13.2254 12.3937 13.0567 12.5202C12.8588 12.6686 12.5829 12.7336 12.3333 12.7336C11.7271 12.7336 11.3432 12.4858 11.1106 12.23C10.8877 11.9848 10.5082 11.9667 10.2631 12.1896C10.0179 12.4125 9.99979 12.792 10.2227 13.0372C10.6568 13.5147 11.3522 13.9336 12.3333 13.9336C12.7504 13.9336 13.3078 13.8319 13.7767 13.4802C14.2746 13.1068 14.6 12.5049 14.6 11.6669C14.6 10.8345 14.2796 10.1555 13.7081 9.69837C13.4342 9.47923 13.117 9.32231 12.7746 9.21971L14.4736 7.03526C14.6143 6.85437 14.6397 6.60914 14.539 6.40328C14.4383 6.19743 14.2291 6.06689 14 6.06689H10.6667Z"}}]},zre=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"h3-icon",ref:t,icon:Wre}))});zre.displayName="H3Icon";const Xre={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M2.4334 2.66689C2.4334 2.33552 2.16477 2.06689 1.8334 2.06689C1.50203 2.06689 1.2334 2.33552 1.2334 2.66689V13.3336C1.2334 13.6649 1.50203 13.9336 1.8334 13.9336C2.16477 13.9336 2.4334 13.6649 2.4334 13.3336V8.5999H7.2334V13.3336C7.2334 13.6649 7.50203 13.9336 7.8334 13.9336C8.16477 13.9336 8.4334 13.6649 8.4334 13.3336V2.66689C8.4334 2.33552 8.16477 2.06689 7.8334 2.06689C7.50203 2.06689 7.2334 2.33552 7.2334 2.66689V7.3999H2.4334V2.66689Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M13.7591 6.66645C13.7591 6.40387 13.5884 6.1718 13.3377 6.09364C13.087 6.01549 12.8147 6.10941 12.6654 6.32546L9.67321 10.6577C9.60398 10.7579 9.56689 10.8769 9.56689 10.9987V11.6731C9.56689 12.0045 9.83552 12.2731 10.1669 12.2731H12.5591V13.3331C12.5591 13.6645 12.8278 13.9331 13.1591 13.9331C13.4905 13.9331 13.7591 13.6645 13.7591 13.3331V12.2731H14.1669C14.4983 12.2731 14.7669 12.0045 14.7669 11.6731C14.7669 11.3417 14.4983 11.0731 14.1669 11.0731H13.7591V6.66645ZM12.5591 8.59091V11.0731H10.8447L12.5591 8.59091Z",fillRule:"evenodd",clipRule:"evenodd"}}]},qre=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"h4-icon",ref:t,icon:Xre}))});qre.displayName="H4Icon";const Gre={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M2.5999 2.66689C2.5999 2.33552 2.33127 2.06689 1.9999 2.06689C1.66853 2.06689 1.3999 2.33552 1.3999 2.66689V13.3336C1.3999 13.6649 1.66853 13.9336 1.9999 13.9336C2.33127 13.9336 2.5999 13.6649 2.5999 13.3336V8.5999H7.3999V13.3336C7.3999 13.6649 7.66853 13.9336 7.9999 13.9336C8.33127 13.9336 8.5999 13.6649 8.5999 13.3336V2.66689C8.5999 2.33552 8.33127 2.06689 7.9999 2.06689C7.66853 2.06689 7.3999 2.33552 7.3999 2.66689V7.3999H2.5999V2.66689Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M10.6669 6.40332C10.3355 6.40332 10.0669 6.67195 10.0669 7.00332V9.34492C10.0669 9.67629 10.3355 9.94492 10.6669 9.94492C10.7822 9.94492 10.8899 9.91238 10.9814 9.85599C10.9901 9.85195 11.0027 9.84632 11.0192 9.83936C11.0764 9.81533 11.1692 9.78033 11.2927 9.74447C11.5397 9.67268 11.8996 9.60022 12.3336 9.60022C12.4975 9.60022 12.5978 9.63412 12.6624 9.67167C12.7263 9.70877 12.79 9.76953 12.8503 9.87834C12.983 10.1181 13.0669 10.5337 13.0669 11.1669C13.0669 11.8061 12.9802 12.1936 12.8338 12.414C12.7252 12.5775 12.5275 12.7336 12.0002 12.7336C11.6445 12.7336 11.4936 12.622 11.4192 12.5328C11.3289 12.4245 11.2669 12.2453 11.2669 12.0028C11.2669 11.6714 10.9983 11.4028 10.6669 11.4028C10.3355 11.4028 10.0669 11.6714 10.0669 12.0028C10.0669 12.4244 10.1716 12.9106 10.4979 13.3016C10.8401 13.7118 11.356 13.9336 12.0002 13.9336C12.8063 13.9336 13.4419 13.6673 13.8334 13.0779C14.1869 12.5456 14.2669 11.8497 14.2669 11.1669C14.2669 10.4781 14.1841 9.81027 13.9002 9.29724C13.7521 9.02964 13.545 8.79662 13.2651 8.63403C12.986 8.4719 12.6697 8.40022 12.3336 8.40022C11.9239 8.40022 11.5627 8.44957 11.2669 8.51389V7.60332H13.3336C13.6649 7.60332 13.9336 7.33469 13.9336 7.00332C13.9336 6.67195 13.6649 6.40332 13.3336 6.40332H10.6669Z"}}]},Yre=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"h5-icon",ref:t,icon:Gre}))});Yre.displayName="H5Icon";const Qre={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M2.06641 1.9999C2.06641 1.66853 2.33504 1.3999 2.66641 1.3999H13.3331C13.6644 1.3999 13.9331 1.66853 13.9331 1.9999V3.64434C13.9331 3.97571 13.6644 4.24434 13.3331 4.24434C13.0017 4.24434 12.7331 3.97571 12.7331 3.64434V2.5999H8.59966V13.3999H10.6665C10.9979 13.3999 11.2665 13.6685 11.2665 13.9999C11.2665 14.3313 10.9979 14.5999 10.6665 14.5999L7.99966 14.5999L5.33315 14.5999C5.00178 14.5999 4.73315 14.3313 4.73315 13.9999C4.73315 13.6685 5.00178 13.3999 5.33315 13.3999H7.39966V2.5999H3.26641V3.64434C3.26641 3.97571 2.99778 4.24434 2.66641 4.24434C2.33504 4.24434 2.06641 3.97571 2.06641 3.64434V1.9999Z"}}]},Zre=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"text-type-icon",ref:t,icon:Qre}))});Zre.displayName="TextTypeIcon";const Kre={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 20 20",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M10.5547 14.1884C10.2599 14.5214 9.74019 14.5214 9.4454 14.1884L3.71321 7.71335C3.29002 7.23532 3.6294 6.48161 4.26784 6.48161L15.7322 6.48161C16.3707 6.48161 16.7101 7.23532 16.2869 7.71335L10.5547 14.1884Z"}}]},$re=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"down-icon",ref:t,icon:Kre}))});$re.displayName="DownIcon";const Jre={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M10.4713 3.52876C10.7317 3.78911 10.7317 4.21122 10.4713 4.47157L6.94273 8.00016L10.4713 11.5288C10.7317 11.7891 10.7317 12.2112 10.4713 12.4716C10.211 12.7319 9.78886 12.7319 9.52851 12.4716L5.52851 8.47157C5.26816 8.21122 5.26816 7.78911 5.52851 7.52876L9.52851 3.52876C9.78886 3.26841 10.211 3.26841 10.4713 3.52876Z",fillRule:"evenodd",clipRule:"evenodd"}}]},ene=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"left-icon",ref:t,icon:Jre}))});ene.displayName="LeftIcon";const tne={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.9834 3.98332C1.9834 3.61513 2.28188 3.31665 2.65007 3.31665H13.3167C13.6849 3.31665 13.9834 3.61513 13.9834 3.98332C13.9834 4.35151 13.6849 4.64998 13.3167 4.64998H2.65007C2.28188 4.64998 1.9834 4.35151 1.9834 3.98332Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.9834 7.98267C1.9834 7.61448 2.28188 7.316 2.65007 7.316H10.6501C11.0183 7.316 11.3167 7.61448 11.3167 7.98267C11.3167 8.35086 11.0183 8.64933 10.6501 8.64933H2.65007C2.28188 8.64933 1.9834 8.35086 1.9834 7.98267Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M2.65007 11.316C2.28188 11.316 1.9834 11.6145 1.9834 11.9827C1.9834 12.3509 2.28188 12.6493 2.65007 12.6493H7.9834C8.35159 12.6493 8.65006 12.3509 8.65006 11.9827C8.65006 11.6145 8.35159 11.316 7.9834 11.316H2.65007Z"}}]},rne=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"catalogue-icon",ref:t,icon:tne}))});rne.displayName="CatalogueIcon";const nne={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M4.96372 2.59116C5.19803 2.35684 5.19803 1.97695 4.96372 1.74263C4.7294 1.50832 4.3495 1.50832 4.11519 1.74263L2.53945 3.31837L1.96372 2.74263C1.7294 2.50832 1.3495 2.50832 1.11519 2.74263C0.880874 2.97695 0.880874 3.35684 1.11519 3.59116L2.11519 4.59116C2.3495 4.82547 2.7294 4.82547 2.96372 4.59116L4.96372 2.59116Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M14.4605 2.56689H6.8981C6.56672 2.56689 6.2981 2.83552 6.2981 3.16689C6.2981 3.49827 6.56672 3.76689 6.8981 3.76689H14.4605C14.7918 3.76689 15.0605 3.49827 15.0605 3.16689C15.0605 2.83552 14.7918 2.56689 14.4605 2.56689Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M6.8981 7.2334C6.56672 7.2334 6.2981 7.50203 6.2981 7.8334C6.2981 8.16477 6.56672 8.4334 6.8981 8.4334H14.4605C14.7918 8.4334 15.0605 8.16477 15.0605 7.8334C15.0605 7.50203 14.7918 7.2334 14.4605 7.2334H6.8981Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M6.2981 12.4999C6.2981 12.1685 6.56672 11.8999 6.8981 11.8999H14.4605C14.7918 11.8999 15.0605 12.1685 15.0605 12.4999C15.0605 12.8313 14.7918 13.0999 14.4605 13.0999H6.8981C6.56672 13.0999 6.2981 12.8313 6.2981 12.4999Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M2.87279 5.8999C1.80504 5.8999 0.939453 6.76549 0.939453 7.83324C0.939453 8.90099 1.80504 9.76657 2.87279 9.76657C3.94054 9.76657 4.80612 8.90099 4.80612 7.83324C4.80612 6.76549 3.94054 5.8999 2.87279 5.8999ZM2.13945 7.83324C2.13945 7.42823 2.46778 7.0999 2.87279 7.0999C3.2778 7.0999 3.60612 7.42823 3.60612 7.83324C3.60612 8.23824 3.2778 8.56657 2.87279 8.56657C2.46778 8.56657 2.13945 8.23824 2.13945 7.83324Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M0.939453 12.5002C0.939453 11.4325 1.80504 10.5669 2.87279 10.5669C3.94054 10.5669 4.80612 11.4325 4.80612 12.5002C4.80612 13.568 3.94054 14.4336 2.87279 14.4336C1.80504 14.4336 0.939453 13.568 0.939453 12.5002ZM2.87279 11.7669C2.46778 11.7669 2.13945 12.0952 2.13945 12.5002C2.13945 12.9052 2.46778 13.2336 2.87279 13.2336C3.2778 13.2336 3.60612 12.9052 3.60612 12.5002C3.60612 12.0952 3.2778 11.7669 2.87279 11.7669Z",fillRule:"evenodd",clipRule:"evenodd"}}]},ine=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"todo-list-double-icon",ref:t,icon:nne}))});ine.displayName="TodoListDoubleIcon";const ane={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M5.3313 1.4667C5.3313 1.13533 5.59993 0.866699 5.9313 0.866699H10.069C10.4004 0.866699 10.669 1.13533 10.669 1.4667C10.669 1.79807 10.4004 2.0667 10.069 2.0667H5.9313C5.59993 2.0667 5.3313 1.79807 5.3313 1.4667Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.09985 3.64443C1.09985 3.31306 1.36848 3.04443 1.69985 3.04443H14.2999C14.6312 3.04443 14.8999 3.31306 14.8999 3.64443C14.8999 3.9758 14.6312 4.24443 14.2999 4.24443H1.69985C1.36848 4.24443 1.09985 3.9758 1.09985 3.64443Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M6.12398 8.30171C6.35829 8.0674 6.73819 8.0674 6.97251 8.30171L8.00007 9.32928L9.02764 8.30171C9.26195 8.0674 9.64185 8.0674 9.87617 8.30171C10.1105 8.53603 10.1105 8.91593 9.87617 9.15024L8.8486 10.1778L9.87617 11.2054C10.1105 11.4397 10.1105 11.8196 9.87617 12.0539C9.64185 12.2882 9.26195 12.2882 9.02764 12.0539L8.00007 11.0263L6.97251 12.0539C6.73819 12.2882 6.35829 12.2882 6.12398 12.0539C5.88966 11.8196 5.88966 11.4397 6.12398 11.2054L7.15154 10.1778L6.12398 9.15024C5.88966 8.91593 5.88966 8.53603 6.12398 8.30171Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M4.75332 5.22217C3.86966 5.22217 3.15332 5.93851 3.15332 6.82217V12.5331C3.15332 13.9691 4.31738 15.1332 5.75332 15.1332H10.2465C11.6825 15.1332 12.8465 13.9691 12.8465 12.5331V6.82217C12.8465 5.93851 12.1302 5.22217 11.2465 5.22217H4.75332ZM4.35332 6.82217C4.35332 6.60125 4.53241 6.42217 4.75332 6.42217H11.2465C11.4674 6.42217 11.6465 6.60125 11.6465 6.82217V12.5331C11.6465 13.3063 11.0197 13.9332 10.2465 13.9332H5.75332C4.98012 13.9332 4.35332 13.3063 4.35332 12.5331V6.82217Z",fillRule:"evenodd",clipRule:"evenodd"}}]},one=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"delete-icon",ref:t,icon:ane}))});one.displayName="DeleteIcon";const sne={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M10.9913 10.8779C11.4971 10.8779 11.9073 11.2882 11.9073 11.7939C11.9073 12.2997 11.4971 12.71 10.9913 12.71C10.4857 12.7099 10.0754 12.2996 10.0753 11.7939C10.0753 11.2882 10.4857 10.878 10.9913 10.8779Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M11.9572 8.51465C12.5471 8.51471 13.0936 8.82742 13.3927 9.33594L14.3419 10.9502C14.6291 11.4386 14.6479 12.037 14.3966 12.5391L14.3419 12.6377L13.3927 14.252C13.0936 14.7605 12.5471 15.0732 11.9572 15.0732H10.0255C9.50941 15.0731 9.02688 14.8339 8.71399 14.4336L8.59094 14.252L7.64075 12.6377C7.33466 12.1169 7.33466 11.471 7.64075 10.9502L8.59094 9.33594L8.71399 9.1543C9.02688 8.75387 9.50935 8.51477 10.0255 8.51465H11.9572ZM10.0255 9.84473C9.93678 9.84483 9.85287 9.87988 9.79114 9.94043L9.73743 10.0098L8.78723 11.624C8.72565 11.7288 8.72564 11.8591 8.78723 11.9639L9.73743 13.5781L9.79114 13.6475C9.85286 13.7079 9.93684 13.7431 10.0255 13.7432H11.9572C12.0757 13.7431 12.186 13.6803 12.2462 13.5781L13.1954 11.9639L13.2306 11.8809C13.2536 11.7953 13.2415 11.7025 13.1954 11.624L12.2462 10.0098C12.186 9.90756 12.0758 9.84479 11.9572 9.84473H10.0255Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M10.5031 0.926758C11.9748 0.926758 13.1679 2.12013 13.1681 3.5918V6.41602C13.1679 6.78314 12.8702 7.08105 12.5031 7.08105C12.1361 7.08084 11.8382 6.783 11.838 6.41602V3.5918C11.8378 2.85467 11.2402 2.25684 10.5031 2.25684H4.0929C3.35572 2.25684 2.75813 2.85467 2.75793 3.5918V12.085C2.75818 12.8221 3.35574 13.4199 4.0929 13.4199H6.18958L6.32434 13.4326C6.62712 13.4947 6.85444 13.7639 6.85461 14.085C6.8544 14.406 6.62705 14.6742 6.32434 14.7363L6.18958 14.75H4.0929C2.62121 14.75 1.4281 13.5566 1.42786 12.085V3.5918C1.42806 2.12013 2.62118 0.926758 4.0929 0.926758H10.5031Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M8.04993 6.42969C8.35293 6.49172 8.58118 6.75971 8.58118 7.08105C8.581 7.40229 8.35289 7.67047 8.04993 7.73242L7.91614 7.74609H4.73547C4.36833 7.74609 4.07063 7.44816 4.07043 7.08105C4.07043 6.71379 4.3682 6.41602 4.73547 6.41602H7.91614L8.04993 6.42969Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M10.1007 3.92188C10.4034 3.98418 10.631 4.25215 10.631 4.57324C10.6309 4.8943 10.4033 5.16233 10.1007 5.22461L9.96594 5.23828H4.73547C4.36824 5.23828 4.0705 4.94046 4.07043 4.57324C4.07043 4.20597 4.3682 3.9082 4.73547 3.9082H9.96594L10.1007 3.92188Z"}}]},lne=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"doc-setting-icon",ref:t,icon:sne}))});function une(e){for(var t,r,n=[],i=1;i=0?di(r,a,u,o,!0):i=!0,u();var c=Pn(r,function(e){var t,r,i=n.slice();try{for(var a=Gr(i),o=a.next();!o.done;o=a.next()){var u=o.value,c=u.buffer;c.push(e),s<=c.length&&l(u)}}catch(e){t={error:e}}finally{try{o&&!o.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}},function(){for(;null==n?void 0:n.length;)r.next(n.shift().buffer);null==c||c.unsubscribe(),r.complete(),r.unsubscribe()},void 0,function(){return n=null});t.subscribe(c)})}lne.displayName="DocSettingIcon";let cne=function(e){return e.MAIN="__Document_Render_Main__",e.BACKGROUND="__Document_Render_Background__",e}({}),dne=function(e){return e.VIEW_MAIN="viewMain",e.VIEW_TOP="viewTop",e.VIEW_LEFT="viewLeft",e.VIEW_LEFT_TOP="viewLeftTop",e}({});function hne(e){let{mainComponent:t,scene:r,engine:n,components:i}=e;return{document:t,docBackground:i.get(cne.BACKGROUND),scene:r,engine:n}}function mne(e,t,r,n,i){let{textRuns:a=[],dataStream:o}=e,s={st:0,ed:0,ts:{}};if(i&&o.startsWith("="))return s;for(let e=a.length-1;e>=0;e--){let r=a[e],{st:n,ed:i}=r;t>n&&t<=i&&(s.st=n,s.ed=i,s.ts={...s.ts,...r.ts})}if(0===t){let e=null==a?void 0:a[0];e&&0===e.st&&(s.ts={...s.ts,...e.ts})}return n&&(s.ts={...s.ts,...n}),s}function fne(e,t,r){if(r){let r=e.find(e=>t>=e.startIndex&&t<=e.endIndex+1);return null!=r&&r.wholeEntity?null:r}let n=e.find(e=>t>e.startIndex&&t<=e.endIndex);return null!=n&&n.wholeEntity?null:n}function gne(e,t){return e.filter(e=>t>e.startIndex&&t<=e.endIndex)}function pne(e){return{left:e.positionH.posOffset,top:e.positionV.posOffset,width:e.size.width,height:e.size.height}}function vne(e){return vne="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},vne(e)}function bne(e,t,r){return(t=function(e){var t=function(e){if("object"!=vne(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=vne(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==vne(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Cne(e,t){return function(r,n){t(r,n,e)}}function yne(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}let _ne=class extends tu{constructor(e,t){super(),this._univerInstanceService=e,this._textSelectionManagerService=t,bne(this,"_matches",new Map)}registerAutoFormat(e){let t=this._matches.get(e.id);return t?(t.push(e),t.sort((e,t)=>{var r,n;return(null==(r=t.priority)?0:r)-(null==(n=e.priority)?0:n)})):this._matches.set(e.id,[e]),Jl(()=>{let t=this._matches.get(e.id);if(t){let r=t.findIndex(t=>t===e);r>=0&&t.splice(r,1)}})}onAutoFormat(e,t){var r,n;let i=null==(r=this._matches.get(e))?[]:r,a=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_DOC),o=this._textSelectionManagerService.getDocRanges(),s=null==(n=o.find(e=>e.isActive))?o[0]:n;if(a&&s){var l,u,c,d,h,m,f;let r=a.getSelfOrHeaderFooterModel(s.segmentId),n={unit:r,selection:s,isBody:!s.segmentId,paragraphs:Jm.range.getParagraphsInRange(s,null==(l=null==(u=r.getBody())?void 0:u.paragraphs)?[]:l,null==(c=null==(d=r.getBody())?void 0:d.dataStream)?"":c),customRanges:Jm.customRange.getCustomRangesInterestsWithSelection(s,null==(h=null==(m=r.getBody())?void 0:m.customRanges)?[]:h),commandId:e,commandParams:t},o=i.find(e=>e.match(n));return null==(f=null==o?void 0:o.getMutations(n))?[]:f}return[]}};_ne=yne([Cne(0,dg),Cne(1,Y(GX))],_ne);const wne={id:"doc.command.tab",type:Bc.COMMAND,handler:async(e,t)=>(await Xc(e.get(_ne).onAutoFormat(wne.id,t),e.get(Vc))).result},Ene={id:"doc.command.after-space",type:Bc.COMMAND,handler:async e=>(await Xc(e.get(_ne).onAutoFormat(Ene.id),e.get(Vc))).result},Sne={id:"doc.command.enter",type:Bc.COMMAND,handler:async e=>(await Xc(e.get(_ne).onAutoFormat(Sne.id),e.get(Vc))).result},Ane={ff:"Arial",fs:11};let Ine=class extends tu{constructor(e,t,r){super(),this._textSelectionManagerService=e,this._univerInstanceService=t,this._renderManagerService=r,bne(this,"_cacheStyle",null),this._init()}_init(){this._listenDocRangeChange()}_listenDocRangeChange(){this.disposeWithMe(this._textSelectionManagerService.textSelection$.subscribe(()=>{this._clearStyleCache()}))}getStyleCache(){return this._cacheStyle}getDefaultStyle(){var e;let t=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_DOC);if(null==t)return{...Ane};let r=null==t?void 0:t.getUnitId(),n=null==(e=this._renderManagerService.getRenderById(r))?void 0:e.with(YX),i=null==n?void 0:n.getViewModel();return null==i||i.getEditArea()===dH.BODY?{...Ane}:{...Ane,fs:9}}setStyleCache(e){this._cacheStyle={...this._cacheStyle,...e}}_clearStyleCache(){this._cacheStyle=null}};function Rne(e,t){var r;return null==(r=e.get(kX).getRenderById(t))?void 0:r.with(YX)}function xne(e,t=""){if(!t)return["body"];let{headers:r,footers:n}=e.getSnapshot();if(null==r&&null==n)throw Error("Document data model must have headers or footers when update by segment id");if(null!=(null==r?void 0:r[t]))return["headers",t,"body"];if(null!=(null==n?void 0:n[t]))return["footers",t,"body"];throw Error("Segment id not found in headers or footers")}function Tne(e,t,r){let n=[];for(let t=0,r=e.length;t{var r,n,i,a;let o=e.get(GX),s=e.get(dg),l=e.get(Vc),u=e.get(Ine),c=null==(r=null==t?void 0:t.textRange)?o.getActiveTextRange():r,d=o.getRectRanges();if(null==c)return!1;if(d&&d.length){let{startOffset:e}=c;return o.replaceDocRanges([{startOffset:e,endOffset:e}]),!0}let{horizontalLine:h}=null==t?{}:t,{segmentId:m}=c,f=s.getCurrentUnitForType(Pi.UNIVER_DOC),g=null==f?void 0:f.getSelfOrHeaderFooterModel(null==m?"":m).getBody();if(null==f||null==g)return!1;let p=f.getUnitId(),{startOffset:v,endOffset:b}=c,C=(null==(n=g.paragraphs)?[]:n).find(e=>e.startIndex>=v);if(!C)return!1;let y=v===C.startIndex,_=C.startIndex,w=mne(g,b,u.getDefaultStyle(),u.getStyleCache()),E={dataStream:Bm.PARAGRAPH,paragraphs:Tne(Bm.PARAGRAPH,C,h),textRuns:[{st:0,ed:1,ts:{...w.ts}}]};if(null==f)return!1;let S=o.getActiveTextRange();if(null==g)return!1;let{collapsed:A}=c,I=E.dataStream.length,R=[{startOffset:v+I,endOffset:v+I,style:null==S?void 0:S.style,collapsed:A}],x={id:KX.id,params:{unitId:p,actions:[],textRanges:R,debounce:!0}},T=new Pm,N=Dm.getInstance();if(A)v>0&&T.push({t:xc.RETAIN,len:v}),T.push({t:xc.INSERT,body:E,len:E.dataStream.length});else{let e=Jm.selection.delete([c],g,0,E);T.push(...e)}var M;((null==(i=C.bullet)?void 0:i.listType)===sm.CHECK_LIST_CHECKED||null!=(a=C.paragraphStyle)&&a.headingId)&&(c.endOffset<_&&T.push({t:xc.RETAIN,len:_-c.endOffset}),T.push({t:xc.RETAIN,len:1,body:{dataStream:"",paragraphs:[{...C,paragraphStyle:{...C.paragraphStyle,...y?{headingId:void 0,namedStyleType:void 0}:null},startIndex:0,bullet:null!=(M=C.paragraphStyle)&&M.headingId?void 0:{...C.bullet,listType:sm.CHECK_LIST}}]},coverType:Rc.REPLACE})),x.params.textRanges=[{startOffset:v+I,endOffset:v+I,collapsed:A}];let O=xne(f,m);return x.params.actions=N.editOp(T.serialize(),O),!!l.syncExecuteCommand(x.id,x.params)}};let Mne=function(e){return e[e.ABOVE=0]="ABOVE",e[e.BELLOW=1]="BELLOW",e}({}),One=function(e){return e[e.LEFT=0]="LEFT",e[e.RIGHT=1]="RIGHT",e}({});function Lne(){return{margin:{start:{v:10},end:{v:10},top:{v:5},bottom:{v:5}}}}function kne(e){let t={margin:{start:{v:10},end:{v:10},top:{v:5},bottom:{v:5}}};return{tableCells:[...Array(e).fill(null).map(()=>uu.deepClone(t))],trHeight:{val:{v:30},hRule:oc.AUTO}}}function Pne(e){return{size:{type:nc.SPECIFIED,width:{v:e}}}}function Dne(e,t,r){let n=Pne(r/t),i=kne(t);return{tableRows:[...Array(e).fill(null).map(()=>uu.deepClone(i))],tableColumns:[...Array(t).fill(null).map(()=>uu.deepClone(n))],tableId:cu(6),align:ic.START,indent:{v:0},textWrap:ac.NONE,position:{positionH:{relativeFrom:uc.PAGE,posOffset:0},positionV:{relativeFrom:cc.PAGE,posOffset:0}},dist:{distB:0,distL:0,distR:0,distT:0},cellMargin:{start:{v:10},end:{v:10},top:{v:5},bottom:{v:5}},size:{type:nc.UNSPECIFIED,width:{v:r}}}}function Une(e,t){if(!e&&!t)return null;if(t&&t.length>0){let e=1/0,r=-1/0;for(let n of t){let{startOffset:t,endOffset:i,segmentId:a}=n;null==t||null==i||null==a||(e=Math.min(e,t),r=Math.max(r,i))}if(Number.isFinite(e)&&Number.isFinite(r))return{startOffset:e,endOffset:r,segmentId:""}}else if(e){let{startOffset:t,endOffset:r,segmentId:n}=e;return null==t||null==r||null==n?null:{startOffset:t,endOffset:r,segmentId:n}}}function Bne(){let e=`${Bm.TABLE_CELL_START}\r\n${Bm.TABLE_CELL_END}`,t=[],r=[];return t.push({startIndex:1,paragraphStyle:{spaceAbove:{v:3},lineSpacing:2,spaceBelow:{v:0}}}),r.push({startIndex:2}),{dataStream:e,paragraphs:t,sectionBreaks:r}}function Vne(e,t){var r;let{startOffset:n,endOffset:i,segmentId:a}=e,o=t.getSelfOrHeaderFooterViewModel(a),s=null==(r=t.getBody())||null==(r=r.tables)||null==(r=r.find(e=>n>=e.startIndex&&i<=e.endIndex))?void 0:r.tableId,l=[],u=-1,c=0,d=-1,h=!1;for(let e of o.getChildren()){for(let t of e.children){let{children:e}=t,r=e[0];if(r){if(nr.endIndex)continue;d=r.startIndex+3;for(let e of r.children){let t=r.children.indexOf(e),{startIndex:a,endIndex:o}=e;n>=a&&n<=o?(u=a,l.push(t),c+=o-a+1):(a>n&&o=a&&i<=o)&&(l.push(t),c+=o-a+1),l.length===r.children.length&&(h=!0)}}if(l.length)break}if(l.length)break}return null==s||0===l.length?null:{tableId:s,rowIndexes:l,offset:u,len:c,cursor:d,selectWholeTable:h}}function Fne(e,t){var r;let{startOffset:n,endOffset:i,segmentId:a}=e,o=t.getSelfOrHeaderFooterViewModel(a),s=null==(r=t.getBody())||null==(r=r.tables)||null==(r=r.find(e=>n>=e.startIndex&&i<=e.endIndex))?void 0:r.tableId,l=-1,u=0,c=-1;for(let e of o.getChildren()){for(let t of e.children){let{children:e}=t,r=e[0];if(r){if(nr.endIndex)continue;l=r.startIndex,u=r.endIndex-r.startIndex+1,c=r.startIndex}if(r)break}if(u>0)break}return null==s?null:{tableId:s,offset:l,len:u,cursor:c}}function jne(e,t){var r;let{startOffset:n,endOffset:i,segmentId:a}=e,o=t.getSelfOrHeaderFooterViewModel(a),s=null==(r=t.getBody())||null==(r=r.tables)||null==(r=r.find(e=>n>=e.startIndex&&i<=e.endIndex))?void 0:r.tableId,l=[],u=null,c=-1,d=-1,h=-1,m=-1;for(let e of o.getChildren()){for(let t of e.children){let{children:e}=t,r=e[0];if(r){if(nr.endIndex)continue;u=r;for(let e of r.children){let t=r.children.indexOf(e);for(let r of e.children){let a=e.children.indexOf(r);n>=r.startIndex&&n<=r.endIndex&&(d=t,h=a),i>=r.startIndex&&i<=r.endIndex&&(m=a)}}}if(u)break}if(u)break}if(null==u||null==s||-1===d)return null;let f=u.children[d];for(let e=h;e<=m;e++){let t=f.children[e];l.push({retain:t.startIndex+1,delete:t.endIndex-t.startIndex-3})}return c=u.startIndex+3,{offsets:l,tableId:s,cursor:c,rowCount:u.children.length}}let Hne=function(e){return e[e.NEXT=0]="NEXT",e[e.PREV=1]="PREV",e}({});const Wne=Ch,zne={id:"doc.command.inner-paste",type:Bc.COMMAND,handler:async(e,t)=>{var r,n;let{segmentId:i,textRanges:a,doc:o}=t,s=e.get(Vc),l=e.get(GX),u=e.get(dg),c=l.getTextRanges(),d=l.getRectRanges(),{body:h,tableSource:m,drawings:f}=o;if(!Array.isArray(c)||0===c.length||null==h)return!1;let g=u.getCurrentUniverDocInstance(),p=null==g?void 0:g.getSelfOrHeaderFooterModel(i).getBody();if(null==g||null==p)return!1;let v=g.getUnitId(),b={id:KX.id,params:{unitId:v,actions:[],textRanges:a,segmentId:i}},C=new Gl;C.reset();let y=new Pm,_=Dm.getInstance(),w=[],E=!(null==(r=h.tables)||!r.length),S=!(null==(n=h.customBlocks)||!n.length);if(E&&i||E&&function(e){return e.some(e=>{let{startNodePosition:t}=e;return!!t&&(null==t?void 0:t.path.indexOf("cells"))>-1})}(c)||c.length&&null!=d&&d.length)return!1;for(let e=0;e({...e,startIndex:0,endIndex:h.dataStream.length-1}))),i)y.push({t:xc.RETAIN,len:a}),y.push({t:xc.INSERT,body:o,len:h.dataStream.length});else{let e=Jm.selection.delete([t],h,C.cursor,o,1===c.length);y.push(...e)}C.reset(),C.moveCursor(n)}let T=xne(g,i);return w.push(_.editOp(y.serialize(),T)),b.params.actions=w.reduce((e,t)=>Dm.compose(e,t),null),!!s.syncExecuteCommand(b.id,b.params)}};function Xne(e,t){let{startOffset:r,endOffset:n}=e,i=t.some(e=>e.startIndex===n),a=Math.max(r,i?n-1:n);return{...e,endOffset:a,collapsed:r===a}}const qne={id:"doc.command.inner-cut",type:Bc.COMMAND,handler:(e,t)=>{var r;let n=e.get(GX),i=e.get(Vc),a=e.get(dg),{segmentId:o,textRanges:s,selections:l=n.getTextRanges(),rectRanges:u=n.getRectRanges()}=t;if(!(Array.isArray(l)&&0!==l.length||Array.isArray(u)&&0!==u.length))return!1;let c=null==(r=a.getCurrentUniverDocInstance())?void 0:r.getUnitId();if(!c)return!1;let d=a.getUniverDocInstance(c);if(null==d)return!1;let h=Rne(e,c);if(null==h)return!1;let m=h.getViewModel(),f={id:KX.id,params:{unitId:c,actions:[],textRanges:s}};return f.params.actions=function(e,t,r,n,i){let a=[];if(Array.isArray(e)&&0!==(null==e?void 0:e.length)&&(a=function(e,t,r){var n,i;let a=t.getSelfOrHeaderFooterModel(r).getBody(),o=new Pm,s=Dm.getInstance(),l=[];if(null==a)return l;let{tables:u=[]}=a,c=new Gl;c.reset();for(let t=0;t=t&&nf.indexOf(e)>f.indexOf(t)?-1:f.indexOf(e)0)for(let e of g){let t=m[e],r=f.indexOf(e);if(null==t||r<0)continue;let n=s.removeOp(["drawings",e],t),i=s.removeOp(["drawingsOrder",r],e);l.push(n),l.push(i)}return l.reduce((e,t)=>Dm.compose(e,t),null)}(e,r,i)),Array.isArray(t)&&0!==(null==t?void 0:t.length)){let e=function(e,t,r,n){let i=[];if(null==t.getSelfOrHeaderFooterModel(n).getBody())return i;let a=new Pm,o=Dm.getInstance(),s=new Gl;s.reset();for(let t of e){let{startOffset:e,endOffset:l,spanEntireRow:u,spanEntireTable:c}=t;if(null!=e&&null!=l)if(c){let t=Fne({startOffset:e,endOffset:l,segmentId:n},r);if(null==t)continue;let{offset:u,len:c,tableId:d}=t;u-s.cursor>0&&a.push({t:xc.RETAIN,len:u-s.cursor}),a.push({t:xc.DELETE,len:c});let h=o.removeOp(["tableSource",d]);i.push(h),s.moveCursorTo(u+c)}else if(u){let t=Vne({startOffset:e,endOffset:l,segmentId:n},r);if(null==t)continue;let{offset:u,rowIndexes:c,len:d,tableId:h}=t;u-s.cursor>0&&a.push({t:xc.RETAIN,len:u-s.cursor}),a.push({t:xc.DELETE,len:d});for(let e of c.reverse()){let t=o.removeOp(["tableSource",h,"tableRows",e]);i.push(t)}s.moveCursorTo(u+d)}else{let t=jne({startOffset:e,endOffset:l,segmentId:n},r);if(null==t)continue;let{offsets:i}=t;for(let e of i){let{retain:t,delete:r}=e;t-s.cursor>0&&a.push({t:xc.RETAIN,len:t-s.cursor}),a.push({t:xc.DELETE,len:r}),s.moveCursorTo(t+r)}}}let l=xne(t,n);return i.push(o.editOp(a.serialize(),l)),i.reduce((e,t)=>Dm.compose(e,t),null)}(t,r,n,i);a=null==a||0===a.length?e:Dm.compose(a,Dm.transform(e,a,"right"))}return a}(l,u,d,m,o),!!i.syncExecuteCommand(f.id,f.params)}};let Gne=function(e){return e[e.LEFT=0]="LEFT",e[e.RIGHT=1]="RIGHT",e}({});const Yne={id:"doc.command.insert-text",type:Bc.COMMAND,handler:async(e,t)=>{var r;let n=e.get(Vc),{range:i,segmentId:a,body:o,unitId:s,cursorOffset:l}=t,u=e.get(GX),c=e.get(dg).getUnit(s,Pi.UNIVER_DOC);if(null==c)return!1;let d=u.getActiveTextRange(),h=c.getSelfOrHeaderFooterModel(null==(r=null==d?void 0:d.segmentId)?"":r).getBody();if(null==h)return!1;let{startOffset:m,collapsed:f}=i,g=null==l?o.dataStream.length:l,p=[{startOffset:m+g,endOffset:m+g,style:null==d?void 0:d.style,collapsed:f}],v={id:KX.id,params:{unitId:s,actions:[],textRanges:p,debounce:!0}},b=new Pm,C=Dm.getInstance();if(f)m>0&&b.push({t:xc.RETAIN,len:m}),b.push({t:xc.INSERT,body:o,len:o.dataStream.length});else{let e=Jm.selection.delete([i],h,0,o);b.push(...e)}v.params.textRanges=[{startOffset:m+g,endOffset:m+g,collapsed:f}];let y=xne(c,a);return v.params.actions=C.editOp(b.serialize(),y),!!n.syncExecuteCommand(v.id,v.params)}},Qne={id:"doc.command.delete-text",type:Bc.COMMAND,handler:async(e,t)=>{var r;let n=e.get(Vc),i=e.get(dg),{range:a,segmentId:o,unitId:s,direction:l,len:u=1}=t,c=i.getUnit(s,Pi.UNIVER_DOC),d=null==c?void 0:c.getSelfOrHeaderFooterModel(o).getBody();if(null==c||null==d)return!1;let{startOffset:h}=a,m=l===Gne.LEFT?h-u:h,f=l===Gne.LEFT?h-1:h+u-1,g=null==(r=d.customRanges)?void 0:r.find(e=>e.startIndex<=m&&e.endIndex>=f);null!=g&&g.wholeEntity&&(m=g.startIndex,f=Math.max(f,g.endIndex));let p={id:KX.id,params:{unitId:s,actions:[],textRanges:[{startOffset:m,endOffset:m,collapsed:!0}],debounce:!0}},v=new Pm,b=Dm.getInstance();v.push({t:xc.RETAIN,len:m-0}),v.push({t:xc.DELETE,len:f-m+1});let C=xne(c,o);return p.params.actions=b.editOp(v.serialize(),C),!!n.syncExecuteCommand(p.id,p.params)}},Zne={id:"doc.command.update-text",type:Bc.COMMAND,handler:async(e,t)=>{let{range:r,segmentId:n,updateBody:i,coverType:a,unitId:o,textRanges:s}=t,l=e.get(Vc),u=e.get(dg).getCurrentUniverDocInstance();if(null==u)return!1;let c={id:KX.id,params:{unitId:o,actions:[],textRanges:s}},d=new Pm,h=Dm.getInstance(),{startOffset:m,endOffset:f}=r;d.push({t:xc.RETAIN,len:m}),d.push({t:xc.RETAIN,body:i,len:f-m,coverType:a});let g=xne(u,n);return c.params.actions=h.editOp(d.serialize(),g),!!l.syncExecuteCommand(c.id,c.params)}};function Kne(e){var t,r,n,i;let a=e.get(dg),o=e.get(GX).getActiveTextRange(),s=a.getCurrentUnitOfType(Pi.UNIVER_DOC);return!(!(o&&o.collapsed&&s)||o.segmentId)&&Jm.range.getParagraphsInRange(o,null==(t=null==(r=s.getBody())?void 0:r.paragraphs)?[]:t,null==(n=null==(i=s.getBody())?void 0:i.dataStream)?"":n)[0]}const $ne={id:"doc.command.delete-custom-block",type:Bc.COMMAND,handler:async(e,t)=>{var r;let n=e.get(GX),i=e.get(dg),a=e.get(Vc),o=n.getActiveTextRange(),s=i.getCurrentUniverDocInstance();if(null==o||null==s)return!1;let{direction:l,range:u,unitId:c,drawingId:d}=t,{startOffset:h,segmentId:m,style:f}=o,g=l===Gne.LEFT?h-1:h,p=[{startOffset:g,endOffset:g,style:f}],v={id:KX.id,params:{unitId:c,actions:[],textRanges:p,prevTextRanges:[u]}},b=new Pm,C=Dm.getInstance(),y=[];h>0&&b.push({t:xc.RETAIN,len:l===Gne.LEFT?h-1:h}),b.push({t:xc.DELETE,len:1});let _=xne(s,m);y.push(C.editOp(b.serialize(),_));let w=(null==(r=s.getDrawings())?{}:r)[d],E=s.getDrawingsOrder().indexOf(d),S=C.removeOp(["drawings",d],w),A=C.removeOp(["drawingsOrder",E],d);return y.push(S),y.push(A),v.params.actions=y.reduce((e,t)=>Dm.compose(e,t),null),!!a.syncExecuteCommand(v.id,v.params)}},Jne={id:"doc.command.merge-two-paragraph",type:Bc.COMMAND,handler:async(e,t)=>{let r=e.get(GX),n=e.get(dg),i=e.get(Vc),{direction:a,range:o}=t,s=r.getActiveTextRange(),l=r.getTextRanges();if(null==s||null==l)return!1;let{segmentId:u,style:c}=s,d=n.getCurrentUnitForType(Pi.UNIVER_DOC),h=null==d?void 0:d.getSelfOrHeaderFooterModel(u).getBody();if(null==d||null==h)return!1;let m=h.dataStream,f=s,g=d.getUnitId(),{startOffset:p,collapsed:v}=f;if(!v)return!1;let b,C,y=a===Gne.LEFT?p:p+1;for(let e of h.paragraphs){if(e.startIndex>=y){C=e;break}b=e}if(null==b||null==C)return!1;let _=a===Gne.LEFT?p-1:p,w=[{startOffset:_,endOffset:_,style:c}],E={id:KX.id,params:{unitId:g,actions:[],textRanges:w,prevTextRanges:[o]}},S=new Pm,A=Dm.getInstance();b.startIndex>0&&S.push({t:xc.RETAIN,len:b.startIndex}),S.push({t:xc.DELETE,len:1}),C.startIndex>b.startIndex+1&&S.push({t:xc.RETAIN,len:C.startIndex-b.startIndex-1});let I=Object.values(Bm),R=m[b.startIndex-1];(R&&!I.includes(R)||" "===R)&&S.push({t:xc.RETAIN,len:1,coverType:Rc.REPLACE,body:{dataStream:"",paragraphs:[{...uu.deepClone(b),startIndex:0}]}});let x=xne(d,u);return E.params.actions=A.editOp(S.serialize(),x),!!i.syncExecuteCommand(E.id,E.params)}},eie={id:"doc.command.remove-horizontal-line",type:Bc.COMMAND,handler:async e=>{var t;let r=e.get(GX),n=e.get(dg),i=e.get(Vc),a=r.getActiveTextRange(),o=r.getTextRanges();if(null==a||null==o)return!1;let{segmentId:s,style:l}=a,u=n.getCurrentUnitForType(Pi.UNIVER_DOC),c=null==u?void 0:u.getSelfOrHeaderFooterModel(s).getBody();if(null==u||null==c)return!1;let d=a,h=u.getUnitId(),{startOffset:m,collapsed:f}=d;if(!f)return!1;let g=null==(t=c.paragraphs)?void 0:t.find(e=>e.startIndex===m-1);if(null==g)return!1;let p=[{startOffset:m,endOffset:m,style:l}],v={id:KX.id,params:{unitId:h,actions:[],textRanges:p}},b=new Pm,C=Dm.getInstance();g.startIndex>0&&b.push({t:xc.RETAIN,len:g.startIndex}),b.push({t:xc.RETAIN,len:1,coverType:Rc.REPLACE,body:{dataStream:"",paragraphs:[{...uu.deepClone({...g,paragraphStyle:{...g.paragraphStyle,borderBottom:void 0}}),startIndex:0}]}});let y=xne(u,s);return v.params.actions=C.editOp(b.serialize(),y),!!i.syncExecuteCommand(v.id,v.params)}};function tie(e,t){let r=0;if(null==e||0===e.length){if("number"==typeof t[0].startOffset){let e=t[0],{spanEntireRow:n,spanEntireTable:i}=e;r=i?e.startOffset-3:n?e.startRow>0?e.startOffset-6:e.startOffset:t[0].startOffset}}else if(e.length>0&&t.length>0){let n=e[0],i=t[0];if(null!=n.startOffset&&null!=i.startOffset)if(n.startOffset=i.startOffset){let{spanEntireRow:e,spanEntireTable:t}=i;t?r=i.startOffset-3:e&&(r=i.startOffset-6)}}return r}const rie={id:"doc.command.delete-left",type:Bc.COMMAND,handler:async e=>{let t=e.get(GX),r=e.get(dg),n=e.get(Vc),i=!0,a=r.getCurrentUniverDocInstance();if(null==a)return!1;let o=Rne(e,a.getUnitId()),s=t.getActiveTextRange(),l=t.getRectRanges(),u=t.getTextRanges(),c=null==o?void 0:o.getSkeleton();if(null==c)return!1;if(null!=l&&l.length){let e=tie(u,l),t=l[0].segmentId,r=[{startOffset:e,endOffset:e}];return n.executeCommand(qne.id,{segmentId:t,textRanges:r})}if(null==s||null==u)return!1;let{segmentId:d,style:h,segmentPage:m}=s,f=a.getSelfOrHeaderFooterModel(d).getBody();if(null==f)return!1;let g=s,{startOffset:p,collapsed:v}=g,b=c.findNodeByCharIndex(p,d,m),C=function(e){var t;let r=null==e?void 0:e.parent;return null!=r&&(null==(t=r.glyphGroup[0])?void 0:t.glyphType)===IF.LIST}(b),y=function(e,t){let r=xF(e,t);if(null==r)return!1;let{paragraphStyle:n}=r;return null!=n&&function(e){var t;return!(null==e||(null==e.indentStart||0===e.indentStart.v)&&null==e.hanging||0===(null==(t=e.hanging)?void 0:t.v))}(n)}(b,f),_=p,w=c.findNodeByCharIndex(p-1,d,m);if(function(e){let t=null==e?void 0:e.parent,r=null==t?void 0:t.parent,n=null==t?void 0:t.glyphGroup,i=null==r?void 0:r.divides;if(n&&e&&i&&t){let r=n.indexOf(e),a=i.indexOf(t);if(0===a&&0===r||0===a&&1===r&&n[0].glyphType===IF.LIST)return!0}return!1}(b)&&w!==b&&(!0===C||!0===y)&&v){let e=xF(b,f);if(null==e)return!1;let t=null==e?void 0:e.startIndex,r={startIndex:0},o=e.paragraphStyle;if(!0===C){let t=e.paragraphStyle;if(t){r.paragraphStyle=t;let{hanging:e}=t;e&&(r.paragraphStyle.indentStart=e,r.paragraphStyle.hanging=void 0)}}else if(!0===y){let t=e.bullet;t&&(r.bullet=t),null!=o&&(r.paragraphStyle={...o},delete r.paragraphStyle.hanging,delete r.paragraphStyle.indentStart)}let s=[{startOffset:_,endOffset:_,style:h}];i=await n.executeCommand(Zne.id,{unitId:a.getUnitId(),updateBody:{dataStream:"",paragraphs:[{...r}]},range:{startOffset:t,endOffset:t+1},textRanges:s,coverType:Rc.REPLACE,segmentId:d})}else if(!0===v){if(null==w)return!0;if("\r"===w.content){var E,S;let e=null==(E=f.paragraphs)?void 0:E.find(e=>e.startIndex===p-1);i=null!=e&&null!=(S=e.paragraphStyle)&&S.borderBottom?await n.executeCommand(eie.id):await n.executeCommand(Jne.id,{direction:Gne.LEFT,range:g})}else if("\b"===w.streamType){var A,I,R;let e=null==(A=a.getSnapshot().drawings)?void 0:A[null==(I=w.drawingId)?"":I];if(null==e)return!0;let t=null==(R=a.getBody())||null==(R=R.customBlocks)?void 0:R.find(e=>e.blockId===w.drawingId);if(e.layoutType===Ju.INLINE||(null==t?void 0:t.blockType)===Gu.CUSTOM){let e=a.getUnitId();i=await n.executeCommand($ne.id,{direction:Gne.LEFT,range:s,unitId:e,drawingId:w.drawingId})}else{let e=c.findNodeByCharIndex(p-2);if(null==e)return!0;_-=w.count,_-=e.count;let t=[{startOffset:_,endOffset:_,style:h}];i=await n.executeCommand(Qne.id,{unitId:a.getUnitId(),range:{...s,startOffset:s.startOffset-1,endOffset:s.endOffset-1},segmentId:d,direction:Gne.LEFT,len:e.count,textRanges:t})}}else _-=w.count,i=await n.executeCommand(Qne.id,{unitId:a.getUnitId(),range:g,segmentId:d,direction:Gne.LEFT,len:w.count})}else{let e=iie(g,[g]);i=await n.executeCommand(qne.id,{segmentId:d,textRanges:e,selections:[g]})}return i}},nie={id:"doc.command.delete-right",type:Bc.COMMAND,handler:async e=>{let t=e.get(GX),r=e.get(dg).getCurrentUniverDocInstance();if(!r)return!1;let n=Rne(e,r.getUnitId()),i=e.get(Vc),a=t.getActiveTextRange(),o=t.getRectRanges(),s=t.getTextRanges(),l=null==n?void 0:n.getSkeleton();if(null!=o&&o.length){let e=tie(s,o),t=o[0].segmentId,r=[{startOffset:e,endOffset:e}];return i.executeCommand(qne.id,{segmentId:t,textRanges:r})}if(null==a||null==l||null==s)return!1;let{segmentId:u,style:c,segmentPage:d}=a,h=null==r?void 0:r.getSelfOrHeaderFooterModel(u).getBody();if(!r||!h)return!1;let m=a,{startOffset:f,endOffset:g,collapsed:p}=m;if(f===h.dataStream.length-2&&p)return!0;let v=!1;if(!0===p){let e=l.findNodeByCharIndex(f,u,d),t=l.findNodeByCharIndex(f+1);if(e.streamType===Bm.PARAGRAPH&&(null==t?void 0:t.streamType)===Bm.SECTION_BREAK)return!1;if("\r"===e.content)v=await i.executeCommand(Jne.id,{direction:Gne.RIGHT,range:a});else if("\b"===e.streamType){var b,C;let n=null==(b=r.getSnapshot().drawings)?void 0:b[null==(C=e.drawingId)?"":C];if(null==n)return!0;if(n.layoutType===Ju.INLINE){let t=r.getUnitId();v=await i.executeCommand($ne.id,{direction:Gne.RIGHT,range:a,unitId:t,drawingId:e.drawingId})}else{if(null==t)return!0;let e=[{startOffset:f+1,endOffset:f+1,style:c}];v=await i.executeCommand(Qne.id,{unitId:r.getUnitId(),range:{...a,startOffset:f+1,endOffset:g+1},segmentId:u,direction:Gne.RIGHT,textRanges:e,len:t.count})}}else{let t=[{startOffset:f,endOffset:f,style:c}];v=await i.executeCommand(Qne.id,{unitId:r.getUnitId(),range:m,segmentId:u,direction:Gne.RIGHT,textRanges:t,len:e.count})}}else{let e=iie(m,[m]);v=await i.executeCommand(qne.id,{segmentId:u,textRanges:e,selections:[m]})}return v}};function iie(e,t){let r=e.endOffset;for(let n of t){let{startOffset:t,endOffset:i}=n;null==t||null==i||i<=e.endOffset&&(r-=i-t)}return[{startOffset:r,endOffset:r,style:e.style}]}const aie={id:"doc.command.delete-current-paragraph",type:Bc.COMMAND,handler:async e=>{var t,r;let n=e.get(dg),i=e.get(Vc),a=n.getCurrentUnitOfType(Pi.UNIVER_DOC);if(!a)return!1;let o=null==(t=null==(r=a.getBody())?void 0:r.dataStream)?"":t,s=Kne(e);if(!s)return!1;let l=Jm.selection.delete([{startOffset:s.paragraphStart,endOffset:"\n"===o[s.paragraphEnd+1]?s.paragraphEnd:s.paragraphEnd+1,collapsed:!1}],a.getBody(),0,void 0,!0),u=xne(a),c={unitId:a.getUnitId(),actions:Dm.getInstance().editOp(l,u),textRanges:[{startOffset:s.paragraphStart,endOffset:s.paragraphStart,collapsed:!0}]};return i.syncExecuteCommand(KX.id,c)}},oie=new class{constructor(){bne(this,"_cache",new hh(10))}set(e,t){this._cache.set(e,t)}get(e){return this._cache.get(e)}clear(){this._cache.clear()}};function sie(e){let t=e.style,r={},n=e.tagName.toLowerCase();switch(n){case"b":case"em":case"strong":r.bl=Vu.TRUE;break;case"s":r.st={s:Vu.TRUE};break;case"u":r.ul={s:Vu.TRUE};break;case"i":r.it=Vu.TRUE;break;case"sub":case"sup":r.va="sup"===n?Bu.SUPERSCRIPT:Bu.SUBSCRIPT}for(let e=0;e400||"bold"===String(i))&&(r.bl=Vu.TRUE);break;case"text-decoration":/underline/.test(i)?r.ul={s:Vu.TRUE}:/overline/.test(i)?r.ol={s:Vu.TRUE}:/line-through/.test(i)&&(r.st={s:Vu.TRUE});break;case"color":try{let e=new $c(i);e.isValid&&(r.cl={rgb:e.toRgbString()})}catch{}break;case"background-color":{let e=new $c(i);e.isValid&&(r.bg={rgb:e.toRgbString()});break}}}return r}function lie(e,t){let r=e.tagName.toLowerCase();return"string"==typeof t?r===t:Array.isArray(t)?t.some(e=>e===r):t(e)}var uie=class e{constructor(){bne(this,"_tableCache",[]),bne(this,"_styleCache",new Map),bne(this,"_styleRules",[]),bne(this,"_afterProcessRules",[])}static use(e){if(this._pluginList.includes(e))throw Error(`Univer paste plugin ${e.name} already added`);this._pluginList.push(e)}convert(t,r={}){var n;let i=e._pluginList.find(e=>e.checkPasteType(t)),a=function(e){let t=`${e}`;return(new DOMParser).parseFromString(t,"text/html").querySelector("#univer-root")}(t),o={body:{dataStream:"",paragraphs:[],sectionBreaks:[],tables:[],textRuns:[],customBlocks:[]},tableSource:{},id:null==(n=null==r?void 0:r.unitId)?"":n};return i&&(this._styleRules=[...i.stylesRules],this._afterProcessRules=[...i.afterProcessRules]),this._tableCache=[],this._styleCache.clear(),this._process(null,a.childNodes,o),this._styleCache.clear(),this._styleRules=[],this._afterProcessRules=[],o}_process(e,t,r){let n=r.body;for(let s of t)if(s.nodeType===Node.TEXT_NODE){var i,a;if(""===(null==(i=s.nodeValue)?void 0:i.trim()))continue;let t,r=null==(a=s.nodeValue)?void 0:a.replace(/[\r\n]/g,"");e&&this._styleCache.has(e)&&(t=this._styleCache.get(e)),n.dataStream+=r,t&&Object.getOwnPropertyNames(t).length&&n.textRuns.push({st:n.dataStream.length-r.length,ed:n.dataStream.length,ts:t})}else if("IMG"===s.nodeName){let e=s,t=e.dataset.imageSourceType,i=t===Lf.UUID?e.dataset.source:e.src;if(i&&t){var o;let a=Number(e.dataset.width||100),s=Number(e.dataset.height||100),l=Number(e.dataset.docTransformWidth||a),u=Number(e.dataset.docTransformHeight||s),c=cu(6);null==(o=r.body)||null==(o=o.customBlocks)||o.push({startIndex:n.dataStream.length,blockId:c}),n.dataStream+="\b",r.drawings||(r.drawings={}),r.drawings[c]={drawingId:c,title:"",description:"",imageSourceType:t,source:i,transform:{width:a,height:s,left:0},docTransform:{size:{width:l,height:u},angle:0,positionH:{relativeFrom:uc.PAGE,posOffset:0},positionV:{relativeFrom:cc.PARAGRAPH,posOffset:0}},layoutType:Ju.INLINE,drawingType:bc.DRAWING_IMAGE,unitId:r.id||"",subUnitId:r.id||""}}}else{if(Gg.includes(s.nodeName.toLowerCase()))continue;if(s.nodeType===Node.ELEMENT_NODE){let t=s,n=this._processBeforeLink(t,r),i=e?this._styleCache.get(e):{},a=this._styleRules.find(({filter:e})=>lie(s,e)),o=a?a.getStyle(s):sie(s);this._styleCache.set(s,{...i,...o});let{childNodes:l}=s;this._processBeforeTable(s,r),this._process(s,l,r),this._processAfterTable(s,r);let u=this._afterProcessRules.find(({filter:e})=>lie(s,e));u&&u.handler(r,s),this._processAfterLink(t,r,n)}}}_processBeforeTable(e,t){let r=e.tagName.toUpperCase(),n=t.body;switch(r){case"TABLE":{var i;"\r"!==n.dataStream[n.dataStream.length-1]&&(n.dataStream+="\r",null==n.paragraphs&&(n.paragraphs=[]),null==(i=n.paragraphs)||i.push({startIndex:n.dataStream.length-1}));let e=Dne(0,0,660);this._tableCache.push({table:e,startIndex:n.dataStream.length}),n.dataStream+=Bm.TABLE_START;break}case"TR":{let e=kne(0);this._tableCache[this._tableCache.length-1].table.tableRows.push(e),n.dataStream+=Bm.TABLE_ROW_START;break}case"TD":{let e={margin:{start:{v:10},end:{v:10},top:{v:5},bottom:{v:5}}},t=this._tableCache[this._tableCache.length-1].table;t.tableRows[t.tableRows.length-1].tableCells.push(e),n.dataStream+=Bm.TABLE_CELL_START;break}}}_processAfterTable(e,t){let r=e.tagName.toUpperCase(),n=t.body;null==t.tableSource&&(t.tableSource={}),null==n.tables&&(n.tables=[]),null==n.sectionBreaks&&(n.sectionBreaks=[]);let{tableSource:i}=t;switch(r){case"TABLE":{let{startIndex:e,table:t}=this._tableCache.pop(),r=t.tableRows[0].tableCells.length,a=Pne(660/r);t.tableColumns=[...Array(r).fill(null).map(()=>uu.deepClone(a))],i[t.tableId]=t,n.dataStream+=Bm.TABLE_END,n.tables.push({startIndex:e,endIndex:n.dataStream.length,tableId:t.tableId});break}case"TR":n.dataStream+=Bm.TABLE_ROW_END;break;case"TD":var a,o;"\r"!==n.dataStream[n.dataStream.length-1]&&(null==(o=n.paragraphs)||o.push({startIndex:n.dataStream.length}),n.dataStream+="\r"),null==(a=n.sectionBreaks)||a.push({startIndex:n.dataStream.length}),n.dataStream+=`\n${Bm.TABLE_CELL_END}`}}_processBeforeLink(e,t){return t.body.dataStream.length}_processAfterLink(e,t,r){let n=t.body,i=e;var a,o;"A"===i.tagName.toUpperCase()&&(n.customRanges=null==(a=n.customRanges)?[]:a,n.customRanges.push({startIndex:r,endIndex:n.dataStream.length-1,rangeId:null==(o=i.dataset.rangeid)?cu():o,rangeType:Xu.HYPERLINK,properties:{url:i.href}}))}};bne(uie,"_pluginList",[]);const cie={name:"univer-doc-paste-plugin-lark",checkPasteType:e=>/lark-record-clipboard/i.test(e),stylesRules:[{filter:["s"],getStyle(e){let t=sie(e);return{st:{s:Vu.TRUE},...t}}}],afterProcessRules:[{filter:e=>"DIV"===e.tagName&&/ace-line/i.test(e.className),handler(e){let t=e.body;null==t.paragraphs&&(t.paragraphs=[]),t.paragraphs.push({startIndex:t.dataStream.length}),t.dataStream+="\r"}}]};function die(e){let t=e.style,r={};for(let e=0;e/UniverNormal/i.test(e),stylesRules:[],afterProcessRules:[{filter:e=>"P"===e.tagName&&/UniverNormal/i.test(e.className),handler(e,t){let r=e.body;null==r.paragraphs&&(r.paragraphs=[]);let n={startIndex:r.dataStream.length},i=die(t);i&&(n.paragraphStyle=i),r.paragraphs.push(n),r.dataStream+="\r"}}]},mie={name:"univer-doc-paste-plugin-word",checkPasteType:e=>/word|mso/i.test(e),stylesRules:[{filter:["b"],getStyle(e){let t=sie(e);return{bl:Vu.TRUE,...t}}}],afterProcessRules:[{filter:e=>"P"===e.tagName,handler(e,t){let r=e.body;null==r.paragraphs&&(r.paragraphs=[]);let n={startIndex:r.dataStream.length},i=die(t);i&&(n.paragraphStyle=i),r.paragraphs.push(n),r.dataStream+="\r"}}]};function fie(e){var t,r;return`{let t="";return Object.keys(e).forEach(r=>{void 0!==e[r]&&(t+=` ${r}=${e[r]}`)}),t})({"data-doc-transform-height":e.docTransform.size.height,"data-doc-transform-width":e.docTransform.size.width,"data-width":null==(t=e.transform)?void 0:t.width,"data-height":null==(r=e.transform)?void 0:r.height,"data-image-source-type":e.imageSourceType,"data-source":e.imageSourceType===Lf.UUID?e.source:void 0,src:e.source})}>`}function gie(e,t){let{st:r,ed:n,ts:i={}}=t,{ff:a,fs:o,it:s,bl:l,ul:u,st:c,ol:d,bg:h,cl:m,va:f}=i,g=e.slice(r,n),p=[];return s===Vu.TRUE&&(g=`${g}`),f===Bu.SUPERSCRIPT?g=`${g}`:f===Bu.SUBSCRIPT&&(g=`${g}`),(null==u?void 0:u.s)===Vu.TRUE&&(g=`${g}`),(null==c?void 0:c.s)===Vu.TRUE&&(g=`${g}`),l===Vu.TRUE&&(g=`${g}`),a&&p.push(`font-family: ${a}`),m&&p.push(`color: ${m.rgb}`),o&&p.push(`font-size: ${o}pt`),d&&p.push("text-decoration: overline"),h&&p.push(`background: ${h.rgb}`),p.length?`${g}`:g}function pie(e,t,r){let{dataStream:n,textRuns:i=[]}=e;if(t===r)return"";let a=t,o=[];for(let e of i){let{st:i,ed:s}=e;uu.hasIntersectionBetweenTwoRanges(t,r,i,s)&&(i>a?(o.push(n.slice(a,i)),o.push(gie(n,{...e,ed:Math.min(s,r)}))):o.push(gie(n,{...e,st:a,ed:Math.min(s,r)}))),a=Math.max(t,Math.min(s,r))}return a!==r&&o.push(n.slice(a,r)),o.join("")}function vie(e){let t=e.body||{},{paragraphs:r=[],sectionBreaks:n=[]}=t,{dataStream:i=""}=t;i.endsWith("\r\n")||(i+="\r\n",r.push({startIndex:i.length-2}),n.push({startIndex:i.length-1}),t.dataStream=i,t.paragraphs=r,t.sectionBreaks=n);let a={html:""},o=mH(i).sectionList;for(let t of o)bie(t,e,a);return a.html}function bie(e,t,r){switch(e.nodeType){case Um.SECTION_BREAK:for(let n of e.children)bie(n,t,r);break;case Um.PARAGRAPH:{var n,i;let{children:a,startIndex:o,endIndex:s}=e,{paragraphStyle:l={}}=null==(n=null==(i=t.body)||null==(i=i.paragraphs)?void 0:i.find(e=>e.startIndex===s))?{}:n,{spaceAbove:u,spaceBelow:c,lineSpacing:d}=l,h=[];if(null!=u&&("number"==typeof u?h.push(`margin-top: ${u}px`):h.push(`margin-top: ${u.v}px`)),null!=c&&("number"==typeof c?h.push(`margin-bottom: ${c}px`):h.push(`margin-bottom: ${c.v}px`)),null!=d&&h.push(`line-height: ${d}`),r.html+=`

    `,a.length)for(let e of a)bie(e,t,r);r.html+=`${function(e,t,r){let n=e.body,i=e.drawings||{},{customRanges:a=[],customBlocks:o=[]}=n||{},s=[...o],l=a.filter(e=>e.startIndex>=t&&e.endIndex<=r),u=t,c="",d=(e,t)=>{let r="",a=0,o=e,l=s.findIndex(r=>e<=r.startIndex&&t>=r.startIndex);if(-1===l)return r=pie(n,e,t),{sliceHtml:r,customBlockLength:a};for(;-1!==l;){let e=s[l];s.splice(l,1),r+=pie(n,o,e.startIndex);let u=i[e.blockId];u&&u.drawingType===bc.DRAWING_IMAGE&&(r+=fie(u),a++),o=e.startIndex+1,l=s.findIndex(e=>o<=e.startIndex&&t>=e.startIndex)}return r+=pie(n,o,t+1),{sliceHtml:r,customBlockLength:a}};l.forEach(e=>{let{startIndex:t,endIndex:r,rangeType:n,rangeId:i}=e,a=d(u,t);c+=a.sliceHtml;let o=d(t,r+1);var s,l;n===Xu.HYPERLINK?c+=`${o.sliceHtml}`:c+=o.sliceHtml,u=r+1+(a.customBlockLength+o.customBlockLength)});let h=d(u,r);return c+=h.sliceHtml,c}(t,o,s)}

    `;break}case Um.TABLE:{let{children:n}=e;r.html+='';for(let e of n)bie(e,t,r);r.html+="
    ";break}case Um.TABLE_ROW:{let{children:n}=e;r.html+='';for(let e of n)bie(e,t,r);r.html+="";break}case Um.TABLE_CELL:{let{children:n}=e;r.html+='';for(let e of n)bie(e,t,r);r.html+="";break}default:throw Error(`Unknown node type: ${e.nodeType}`)}}var Cie=class{convert(e){if(0===e.length)throw Error("The bodyList length at least to be 1");let t="";for(let r of uu.deepClone(e))t+=vie(r);return t}};function yie(e,t,r){var n,i,a;let o=Im(e,t,r+2);return o.dataStream=Bm.TABLE_START+Bm.TABLE_ROW_START+Bm.TABLE_CELL_START+o.dataStream+Bm.TABLE_CELL_END+Bm.TABLE_ROW_END+Bm.TABLE_END,null==(n=o.textRuns)||n.forEach(e=>{let{st:t,ed:r}=e;e.st=t+3,e.ed=r+3}),null==(i=o.tables)||i.forEach(e=>{let{startIndex:t,endIndex:r}=e;e.startIndex=t+3,e.endIndex=r+3}),null==(a=o.paragraphs)||a.forEach(e=>{let{startIndex:t}=e;e.startIndex=t+3}),o}uie.use(mie),uie.use(cie),uie.use(hie);const _ie=V("doc.clipboard-service");let wie=class extends tu{constructor(e,t,r,n,i){super(),this._univerInstanceService=e,this._logService=t,this._commandService=r,this._clipboardInterfaceService=n,this._docSelectionManagerService=i,bne(this,"_clipboardHooks",[]),bne(this,"_htmlToUDM",new uie),bne(this,"_umdToHtml",new Cie)}async copy(e=Sm.copy,t){var r;let{newSnapshotList:n=[],needCache:i=!1,snapshot:a,ranges:o}=null==(r=this._getDocumentBodyInRanges(e,t))?{}:r;if(0===n.length||null==a)return!1;try{var s;let e=!(null==o||null==(s=o[0])||!s.segmentId);this._setClipboardData(n,!e&&i)}catch(e){return this._logService.error("[DocClipboardService] copy failed",e),!1}return!0}async cut(e){return this._cut(e)}async paste(e){let t=await this._genDocDataFromClipboardItems(e);return this._paste(t)}async legacyPaste(e){let{html:t,text:r,files:n}=e,i=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_DOC),a=(null==i?void 0:i.getUnitId())||"";if(!t&&!r&&n.length&&(t=await this._createImagePasteHtml(n)),!t&&!r)return this._logService.warn("[DocClipboardController] html and text cannot be both empty!"),!1;let o=this._genDocDataFromHtmlAndText(t,r,a);if(a===El){if(r){let e=Jm.transform.fromPlainText(r);return this._paste({body:e})}o.body.textRuns=[]}return this._paste(o)}async _cut(e){var t,r,n,i,a;let o=null==(t=null==(r=null==e?void 0:e.filter(e=>e.rangeType===Cd.TEXT))?this._docSelectionManagerService.getTextRanges():r)?[]:t,s=null==(n=null==(i=null==e?void 0:e.filter(e=>e.rangeType===Cd.RECT))?this._docSelectionManagerService.getRectRanges():i)?[]:n,{segmentId:l,endOffset:u,style:c}=null==(a=o[0])?{}:a;if(null==l&&this._logService.error("[DocClipboardController] segmentId is not existed"),0===o.length&&0===s.length)return!1;this.copy(Sm.cut,e);try{let e=0;if(s.length>0)e=tie(o,s);else if(null!=u){e=u;for(let t of o){let{startOffset:r,endOffset:n}=t;null==r||null==n||n<=u&&(e-=n-r)}}let t=[{startOffset:e,endOffset:e,style:c}];return this._commandService.executeCommand(qne.id,{segmentId:l,textRanges:t,rectRanges:s,selections:o})}catch{return this._logService.error("[DocClipboardController] cut content failed"),!1}}async _paste(e){var t,r,n;let{body:i}=e;if(null==i)return!1;let a=function(e){let{dataStream:t,textRuns:r,paragraphs:n,customRanges:i,customDecorations:a,tables:o}=e,s=0,l=0;null==i||i.forEach(e=>{e.startIndex<0&&(s=Math.max(s,-e.startIndex)),e.endIndex>t.length-1&&(l=Math.max(l,e.endIndex-t.length+1))});let u=`${t}`;return r&&(r[0]&&(r[0].st=r[0].st-s),r[r.length-1]&&(r[r.length-1].ed=r[r.length-1].ed+l)),null==r||r.forEach(e=>{e.st+=s,e.ed+=s}),null==n||n.forEach(e=>{e.startIndex+=s}),null==i||i.forEach(e=>{e.startIndex+=s,e.endIndex+=s}),null==a||a.forEach(e=>{e.startIndex+=s,e.endIndex+=l}),null==o||o.forEach(e=>{e.startIndex+=s,e.endIndex+=l}),{...e,dataStream:u,textRuns:r,paragraphs:n,customRanges:i,customDecorations:a,tables:o}}(i);if(null==(t=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_DOC))||!t.getUnitId())return!1;this._clipboardHooks.forEach(e=>{e.onBeforePaste&&(a=e.onBeforePaste(a))}),a.customRanges=null==(r=a.customRanges)?void 0:r.map(Jm.customRange.copyCustomRange),null==(n=a.paragraphs)||n.forEach(e=>{var t;null!=(t=e.paragraphStyle)&&t.headingId&&(e.paragraphStyle.headingId=cu(6))});let{segmentId:o,endOffset:s,style:l}=this._docSelectionManagerService.getActiveTextRange()||{},u=this._docSelectionManagerService.getTextRanges();if(null==o&&this._logService.error("[DocClipboardController] segmentId does not exist!"),null==s||null==u)return!1;try{let t=s;for(let e of u){let{startOffset:r,endOffset:n}=e;null==r||null==n||n<=s&&(t+=a.dataStream.length-(n-r))}let r=[{startOffset:t,endOffset:t,style:l}];return this._commandService.executeCommand(zne.id,{doc:{...e,body:a},segmentId:o,textRanges:r})}catch{return this._logService.error("[DocClipboardController]","clipboard is empty."),!1}}async _setClipboardData(e,t=!0){var r;let n=cu(6),i=(e.length>1?e.map(e=>{var t;return(null==(t=e.body)?void 0:t.dataStream)||""}).join("\n"):(null==(r=e[0].body)?void 0:r.dataStream)||"").replaceAll(Bm.TABLE_START,"").replaceAll(Bm.TABLE_END,"").replaceAll(Bm.TABLE_ROW_START,"").replaceAll(Bm.TABLE_ROW_END,"").replaceAll(Bm.TABLE_CELL_START,"").replaceAll(Bm.TABLE_CELL_END,"").replaceAll("\r\n"," "),a=this._umdToHtml.convert(e);if(1===e.length&&t){var o;a=a.replace(/(<[a-z]+)/,(e,t)=>`${t} data-copy-id="${n}"`);let t=e[0],r={body:t.body};if(null!=(o=t.body)&&null!=(o=o.customBlocks)&&o.length){r.drawings={};for(let e of t.body.customBlocks){var s;let{blockId:n}=e,i=null==(s=t.drawings)?void 0:s[n];if(i){let t=cu(6);e.blockId=t,r.drawings[t]={...uu.deepClone(i),drawingId:t}}}}oie.set(n,r)}return this._clipboardInterfaceService.write(i,a)}addClipboardHook(e){return this._clipboardHooks.push(e),Jl(()=>{let t=this._clipboardHooks.indexOf(e);t>-1&&this._clipboardHooks.splice(t,1)})}_getDocumentBodyInRanges(e,t){var r;let n=this._univerInstanceService.getCurrentUniverDocInstance(),i=null==t?this._docSelectionManagerService.getDocRanges():t,a=[],o=!0;if(null==n||0===i.length)return;let s=i[0].segmentId,l=null==n||null==(r=n.getSelfOrHeaderFooterModel(s))?void 0:r.getBody(),u=n.getSnapshot();if(null!=l){for(let t of i){let{startOffset:r,endOffset:i,collapsed:u,rangeType:c}=t;if(u||null==r||null==i)continue;if(c===Cd.RECT){o=!1;let e,{spanEntireRow:n}=t;e=yie(l,r,i),a.push(e);continue}let d={startOffset:r,endOffset:i,collapsed:u},h=n.getSelfOrHeaderFooterModel(s).sliceBody(d.startOffset,d.endOffset,e);null!=h&&a.push(h)}return{newSnapshotList:a.map(e=>({...u,body:e})),needCache:o,snapshot:u,ranges:i}}}async _genDocDataFromClipboardItems(e){try{let t="",r="",n=[];for(let i of e)for(let e of i.types)switch(e){case Dte:r=await i.getType(e).then(e=>e&&e.text());break;case Ute:t=await i.getType(e).then(e=>e&&e.text());break;case Fte:case Vte:case jte:case Bte:{let t=await i.getType(e),r=new File([t],`pasted_image.${e.split("/")[1]}`,{type:e});n.push(r);break}}return!t&&!r&&n.length&&(t=await this._createImagePasteHtml(n)),this._genDocDataFromHtmlAndText(t,r)}catch(e){return Promise.reject(e)}}_genDocDataFromHtmlAndText(e,t,r){if(!e){if(t)return{body:Jm.transform.fromPlainText(t)};throw Error("[DocClipboardService] html and text cannot be both empty!")}let n=function(e){let t=e.match(/data-copy-id="([^\s]+)"/);return t&&t[1]?t[1]:null}(e);if(n){let e=oie.get(n);if(e)return e}if(!r){let e=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_DOC);r=(null==e?void 0:e.getUnitId())||""}let i=this._htmlToUDM.convert(e,{unitId:r});return n&&oie.set(n,i),i}async _createImagePasteHtml(e){var t,r;let n={id:"",documentStyle:{},body:{dataStream:"",customBlocks:[]},drawings:{}},i=null==(t=null==(r=this._clipboardHooks.find(e=>e.onBeforePasteImage))?void 0:r.onBeforePasteImage)?async e=>{let t=new FileReader;return new Promise(r=>{t.onloadend=function(){r({source:t.result,imageSourceType:Lf.BASE64})},t.readAsDataURL(e)})}:t;return await Promise.all(e.map(async(e,t)=>{var r;let a=await i(e);if(!a)return Promise.resolve();let{width:o=100,height:s=100}=await(e=>{let t=new Image;return new Promise(r=>{t.src="string"==typeof e?e:URL.createObjectURL(e),t.onload=()=>{let e=Math.min(500,t.naturalWidth);r({width:e,height:e*(t.naturalHeight/t.naturalWidth)})}})})(e),l=`paste_image_id_${t}`,u=n.body,c=n.drawings;u.dataStream+="\b",null==(r=u.customBlocks)||r.push({startIndex:t,blockId:l}),c[l]={drawingId:l,unitId:"",subUnitId:"",imageSourceType:a.imageSourceType,title:"",source:a.source,description:"",layoutType:Ju.INLINE,drawingType:bc.DRAWING_IMAGE,transform:{width:o,height:s,angle:0},docTransform:{angle:0,size:{width:o,height:s},positionH:{relativeFrom:uc.CHARACTER,posOffset:0},positionV:{relativeFrom:cc.LINE,posOffset:0}}}})),this._umdToHtml.convert([n])}};function Eie(e){return e.getContextValue(_f)||e.getContextValue(Sf)}wie=yne([Cne(0,dg),Cne(1,kc),Cne(2,Vc),Cne(3,qte),Cne(4,Y(GX))],wie);const Sie={id:w8.id,name:"doc.command.copy",type:Bc.COMMAND,multi:!0,priority:999,preconditions:Eie,handler:async e=>e.get(_ie).copy()},Aie={id:"doc.command.copy-current-paragraph",type:Bc.COMMAND,handler:async e=>{let t=e.get(_ie),r=Kne(e);return!!r&&t.copy(Sm.copy,[{startOffset:r.paragraphStart,endOffset:r.paragraphEnd+1,collapsed:!1}])}},Iie={id:S8.id,name:"doc.command.cut",type:Bc.COMMAND,multi:!0,priority:999,preconditions:Eie,handler:async e=>e.get(_ie).cut()},Rie={id:"doc.command.cut-current-paragraph",type:Bc.COMMAND,handler:async e=>{let t=e.get(_ie),r=Kne(e);return!!r&&t.cut([{startOffset:r.paragraphStart,endOffset:r.paragraphEnd+1,collapsed:!1,rangeType:Cd.TEXT}])}},xie={id:I8.id,name:"doc.command.paste",type:Bc.COMMAND,multi:!0,priority:999,preconditions:Eie,handler:async e=>{let t=e.get(_ie),r=await e.get(qte).read();return 0!==r.length&&t.paste(r)}},Tie={id:"doc.command.horizontal-line",type:Bc.COMMAND,handler:(e,t)=>e.get(Vc).syncExecuteCommand(Nne.id,{horizontalLine:{padding:5,color:{rgb:"#CDD0D8"},width:1,dashStyle:rc.SOLID},textRange:null==t?void 0:t.insertRange})},Nie={id:"doc.command.insert-horizontal-line-bellow",type:Bc.COMMAND,handler:e=>{let t=e.get(Vc),r=Kne(e);return!!r&&t.syncExecuteCommand(Tie.id,{insertRange:{startOffset:r.startIndex+1,endOffset:r.startIndex+1}})}},Mie={id:"doc.command.select-all",type:Bc.COMMAND,handler:async e=>{var t;let r=e.get(dg),n=e.get(GX),i=r.getCurrentUnitForType(Pi.UNIVER_DOC),a=n.getDocRanges(),o=null==(t=a.find(e=>e.isActive))?a[0]:t;if(null==i||null==o)return!1;let{segmentId:s}=o,l=i.getUnitId(),u=i.getSelfOrHeaderFooterModel(s).getSnapshot().body;if(null==u)return!1;let{tables:c=[],dataStream:d}=u;if("\r\n"===d)return!0;let h=[],m=0;for(let e of c){let{startIndex:t,endIndex:r}=e;m!==t&&h.push({startOffset:m,endOffset:t-1,rangeType:Cd.TEXT}),h.push({startOffset:t+3,endOffset:r-5,rangeType:Cd.RECT}),m=r}return m!==u.dataStream.length-2&&h.push({startOffset:m,endOffset:u.dataStream.length-2,rangeType:Cd.TEXT}),n.replaceDocRanges(h,{unitId:l,subUnitId:l},!1),!0}};var Oie=class extends ru{constructor(e){super(),this._context=e,bne(this,"_previousActiveRange",null),bne(this,"_undoMutationParamsCache",[]),bne(this,"_redoMutationParamsCache",[])}clearUndoRedoMutationParamsCache(){this._undoMutationParamsCache=[],this._redoMutationParamsCache=[]}getUndoRedoMutationParamsCache(){return{undoCache:this._undoMutationParamsCache,redoCache:this._redoMutationParamsCache}}setUndoRedoMutationParamsCache({undoCache:e=[],redoCache:t=[]}){this._undoMutationParamsCache=e,this._redoMutationParamsCache=t}getActiveRange(){return this._previousActiveRange}setActiveRange(e){this._previousActiveRange=e}pushUndoRedoMutationParams(e,t){this._undoMutationParamsCache.push(e),this._redoMutationParamsCache.push(t)}fetchComposedUndoRedoMutationParams(){if(0===this._undoMutationParamsCache.length||null==this._previousActiveRange||0===this._redoMutationParamsCache.length)return null;let{unitId:e}=this._undoMutationParamsCache[0],t={unitId:e,actions:this._undoMutationParamsCache.reverse().reduce((e,t)=>Dm.compose(e,t.actions),null),textRanges:[]};return{redoMutationParams:{unitId:e,actions:this._redoMutationParamsCache.reduce((e,t)=>Dm.compose(e,t.actions),null),textRanges:[]},undoMutationParams:t,previousActiveRange:this._previousActiveRange}}dispose(){this._undoMutationParamsCache=[],this._redoMutationParamsCache=[],this._previousActiveRange=null}};const Lie={id:"doc.command.ime-input",type:Bc.COMMAND,handler:async(e,t)=>{var r,n,i;let{unitId:a,newText:o,oldTextLen:s,isCompositionEnd:l,isCompositionStart:u}=t,c=e.get(Vc),d=e.get(kX),h=e.get(dg),m=e.get(Ine),f=null==(r=d.getRenderById(a))?void 0:r.with(Oie),g=h.getUnit(a,Pi.UNIVER_DOC);if(null==g||null==f)return!1;let p=f.getActiveRange();if(null==p)return!1;let{style:v,segmentId:b}=p,C=g.getSelfOrHeaderFooterModel(b).getBody();if(null==C)return!1;let y=p;Object.assign(p,y);let{startOffset:_,endOffset:w}=p,E=o.length,S=[{startOffset:_+E,endOffset:_+E,collapsed:!0,style:v}],A={id:KX.id,params:{unitId:a,actions:[],textRanges:S}},I=(m.getDefaultStyle(),m.getStyleCache()),R=fne(null==(n=C.customRanges)?[]:n,_+s,Ch.includes(a)),x=mne(C,u?w:_+s,0,I,Ch.includes(a)),T=gne(null==(i=C.customDecorations)?[]:i,_+s),N=new Pm,M=Dm.getInstance();if(!p.collapsed&&u){let e=Jm.selection.delete([p],C,0,null,!1);N.push(...e),A.params.textRanges=[{startOffset:_+E,endOffset:_+E,collapsed:!0}]}else N.push({t:xc.RETAIN,len:_});s>0&&N.push({t:xc.DELETE,len:s}),N.push({t:xc.INSERT,body:{dataStream:o,textRuns:x?[{...x,st:0,ed:o.length}]:[],customRanges:R?[{...R,startIndex:0,endIndex:o.length-1}]:[],customDecorations:T.map(e=>({...e,startIndex:0,endIndex:o.length-1}))},len:o.length});let O=xne(g,b);A.params.actions=M.editOp(N.serialize(),O),A.params.noHistory=!l,A.params.isCompositionEnd=l;let L=c.syncExecuteCommand(A.id,A.params);return f.pushUndoRedoMutationParams(L,A.params),!!L}};function kie(e,t,r){return r.executeCommand(iae.id,{preCommandId:e,...null==t?{}:t})}const Pie="doc.command.set-inline-format-bold",Die={id:Pie,type:Bc.COMMAND,handler:async(e,t)=>kie(Pie,t,e.get(Vc))},Uie="doc.command.set-inline-format-italic",Bie={id:Uie,type:Bc.COMMAND,handler:async(e,t)=>kie(Uie,t,e.get(Vc))},Vie="doc.command.set-inline-format-underline",Fie={id:Vie,type:Bc.COMMAND,handler:async(e,t)=>kie(Vie,t,e.get(Vc))},jie="doc.command.set-inline-format-strikethrough",Hie={id:jie,type:Bc.COMMAND,handler:async(e,t)=>kie(jie,t,e.get(Vc))},Wie="doc.command.set-inline-format-subscript",zie={id:Wie,type:Bc.COMMAND,handler:async(e,t)=>kie(Wie,t,e.get(Vc))},Xie="doc.command.set-inline-format-superscript",qie={id:Xie,type:Bc.COMMAND,handler:async(e,t)=>kie(Xie,t,e.get(Vc))},Gie="doc.command.set-inline-format-fontsize",Yie={id:Gie,type:Bc.COMMAND,handler:async(e,t)=>kie(Gie,t,e.get(Vc))},Qie="doc.command.set-inline-format-font-family",Zie={id:Qie,type:Bc.COMMAND,handler:async(e,t)=>kie(Qie,t,e.get(Vc))},Kie="doc.command.set-inline-format-text-color",$ie={id:Kie,type:Bc.COMMAND,handler:async(e,t)=>kie(Kie,t,e.get(Vc))},Jie="doc.command.set-inline-format-text-background-color",eae={id:Jie,type:Bc.COMMAND,handler:async(e,t)=>kie(Jie,t,e.get(Vc))},tae="doc.command.reset-inline-format-text-background-color",rae={id:tae,type:Bc.COMMAND,handler:async(e,t)=>kie(tae,t,e.get(Vc))},nae={[Die.id]:"bl",[Bie.id]:"it",[Fie.id]:"ul",[Hie.id]:"st",[Yie.id]:"fs",[Zie.id]:"ff",[$ie.id]:"cl",[eae.id]:"bg",[rae.id]:"bg",[zie.id]:"va",[qie.id]:"va"},iae={id:"doc.command.set-inline-format",type:Bc.COMMAND,handler:async(e,t)=>{var r;let{value:n,preCommandId:i}=t,a=e.get(Vc),o=e.get(GX),s=e.get(dg),l=e.get(Ine),u=o.getDocRanges(),c=null==(r=u.find(e=>e.isActive))?u[0]:r;if(0===u.length)return!1;let{segmentId:d}=u[0],h=s.getCurrentUnitForType(Pi.UNIVER_DOC);if(null==h)return!1;let m=h.getSelfOrHeaderFooterModel(d).getBody();if(null==m)return!1;let f,g=h.getUnitId();switch(i){case Die.id:case Bie.id:case Fie.id:case Hie.id:case zie.id:case qie.id:f=function(e,t){return aae(e,nae[t],t)}(oae(m,c,l.getDefaultStyle()),i);break;case Yie.id:case Zie.id:f=n;break;case $ie.id:case eae.id:f={rgb:n};break;case rae.id:f={rgb:null};break;default:throw Error(`Unknown command: ${i} in handleInlineFormat`)}let p={id:KX.id,params:{unitId:g,actions:[],textRanges:u}},v=new Pm,b=Dm.getInstance(),C=new Gl;C.reset();for(let e of u){let{startOffset:t,endOffset:r,rangeType:n}=e;if(null==t||null==r)continue;if(n===Cd.RECT&&--t,t===r){let e=l.getStyleCache(),t=nae[i];l.setStyleCache({[t]:void 0===(null==e?void 0:e[t])?f:aae(e,t,i)});continue}let a={dataStream:"",textRuns:[{st:0,ed:r-t,ts:{[nae[i]]:f}}]},o=t-C.cursor;0!==o&&v.push({t:xc.RETAIN,len:o}),v.push({t:xc.RETAIN,body:a,len:r-t}),C.reset(),C.moveCursor(r)}let y=xne(h,d);return p.params.actions=b.editOp(v.serialize(),y),!!a.syncExecuteCommand(p.id,p.params)}};function aae(e,t,r){return/bl|it/.test(t)?(null==e?void 0:e[t])===Vu.TRUE?Vu.FALSE:Vu.TRUE:/ul|st/.test(t)?function(e){return"object"==typeof e&&!!e}(null==e?void 0:e[t])&&(null==e?void 0:e[t]).s===Vu.TRUE?{s:Vu.FALSE}:{s:Vu.TRUE}:/va/.test(t)?r===zie.id?(null==e?void 0:e[t])===Bu.SUBSCRIPT?Bu.NORMAL:Bu.SUBSCRIPT:(null==e?void 0:e[t])===Bu.SUPERSCRIPT?Bu.NORMAL:Bu.SUPERSCRIPT:void 0}function oae(e,t,r){var n,i,a,o,s,l,u,c;let{startOffset:d,endOffset:h,collapsed:m}=t;if(m){var f;let t=null==(f=e.textRuns)?[]:f,n=null;for(let e=t.length-1;e>=0;e--){let r=t[e];if(r.st{var t;return null==e||null==(t=e.ts)?void 0:t.fs}).filter(Boolean);p.fs=p.fs?Math.max(p.fs,...v):v.length?Math.max(...v):void 0,p.fs=!p.fs||Number.isNaN(p.fs)?void 0:p.fs,p.ff=null==(n=null==(i=g.find(e=>{var t;return null!=(null==(t=e.ts)?void 0:t.ff)}))||null==(i=i.ts)?void 0:i.ff)?p.ff:n,p.it=g.length&&g.every(e=>{var t;return(null==(t=e.ts)?void 0:t.it)===Vu.TRUE})?Vu.TRUE:Vu.FALSE,p.bl=g.length&&g.every(e=>{var t;return(null==(t=e.ts)?void 0:t.bl)===Vu.TRUE})?Vu.TRUE:Vu.FALSE,p.ul=g.length&&g.every(e=>{var t;return(null==(t=e.ts)||null==(t=t.ul)?void 0:t.s)===Vu.TRUE})?null==(a=g[0].ts)?void 0:a.ul:p.ul,p.st=g.length&&g.every(e=>{var t;return(null==(t=e.ts)||null==(t=t.st)?void 0:t.s)===Vu.TRUE})?null==(o=g[0].ts)?void 0:o.st:p.st,p.bg=null==(s=null==(l=g.find(e=>{var t;return null!=(null==(t=e.ts)?void 0:t.bg)}))||null==(l=l.ts)?void 0:l.bg)?p.bg:s,p.cl=null==(u=null==(c=g.find(e=>{var t;return null!=(null==(t=e.ts)?void 0:t.cl)}))||null==(c=c.ts)?void 0:c.cl)?p.cl:u;let b=g.filter(e=>{var t;return null!=(null==e||null==(t=e.ts)?void 0:t.va)});if(b.length>0&&b.length===g.length){var C;let e=null==(C=b[0].ts)?void 0:C.va,t=!0;for(let r=1;r{let{unitId:r,snapshot:n,textRanges:i,segmentId:a="",options:o}=t,s=e.get(dg),l=e.get(Vc),u=e.get(GX),c=s.getUnit(r,Pi.UNIVER_DOC),d=null==c?void 0:c.getSelfOrHeaderFooterModel(a).getSnapshot();if(null==c||null==d)return!1;let{body:h,tableSource:m,footers:f,headers:g,lists:p,drawings:v,drawingsOrder:b,documentStyle:C}=uu.deepClone(n),{body:y,tableSource:_,footers:w,headers:E,lists:S,drawings:A,drawingsOrder:I,documentStyle:R}=d;if(null==h||null==y)return!1;if(uu.diffValue(h,y)&&i)return u.replaceDocRanges(i,{unitId:r,subUnitId:r},!1),!0;let x={id:KX.id,params:{unitId:r,actions:[],textRanges:i}};o&&(x.params.options=o);let T=[],N=Dm.getInstance();if(!uu.diffValue(R,C)){let e=N.replaceOp(["documentStyle"],R,C);null!=e&&T.push(e)}if(!uu.diffValue(h,y)){let e=N.replaceOp(["body"],y,h);null!=e&&T.push(e)}if(!uu.diffValue(m,_)){let e=N.replaceOp(["tableSource"],_,m);null!=e&&T.push(e)}if(!uu.diffValue(f,w)){let e=N.replaceOp(["footers"],w,f);null!=e&&T.push(e)}if(!uu.diffValue(g,E)){let e=N.replaceOp(["headers"],E,g);null!=e&&T.push(e)}if(!uu.diffValue(p,S)){let e=N.replaceOp(["lists"],S,p);null!=e&&T.push(e)}if(!uu.diffValue(v,A)){let e=N.replaceOp(["drawings"],A,v);null!=e&&T.push(e)}if(!uu.diffValue(b,I)){let e=N.replaceOp(["drawingsOrder"],I,b);null!=e&&T.push(e)}return x.params.actions=T.reduce((e,t)=>Dm.compose(e,t),null),!!l.syncExecuteCommand(x.id,x.params)}},lae={id:"doc.command-replace-content",type:Bc.COMMAND,handler:async(e,t)=>{let{unitId:r,body:n,textRanges:i,segmentId:a="",options:o}=t,s=e.get(dg),l=e.get(Vc),u=e.get(GX),c=s.getUnit(r,Pi.UNIVER_DOC),d=null==c?void 0:c.getSelfOrHeaderFooterModel(a).getSnapshot().body;if(null==c||null==d)return!1;let h=cae(r,a,c,d,n);return h.params.textRanges=i,o&&(h.params.options=o),null==h.params.actions&&i?(u.replaceDocRanges(i,{unitId:r,subUnitId:r},!1),!0):!!l.syncExecuteCommand(h.id,h.params)}},uae={id:"doc.command-cover-content",type:Bc.COMMAND,handler:(e,t)=>{let{unitId:r,body:n,segmentId:i="",textRanges:a}=t,o=e.get(dg),s=e.get(Vc),l=e.get(Pg),u=o.getUniverDocInstance(r),c=null==u?void 0:u.getSnapshot().body;if(null==u||null==c)return!1;let d=cae(r,i,u,c,n);return d.params.noNeedSetTextRange=!0,d.params.noHistory=!0,d.params.textRanges=a,s.syncExecuteCommand(d.id,d.params),l.clearUndoRedo(r),!0}};function cae(e,t,r,n,i){let a={id:KX.id,params:{unitId:e,actions:[],textRanges:[]}},o=function(e,t,r,n){let i=new Pm,a=Dm.getInstance(),o=(null==r?void 0:r.dataStream.length)-2;o>0&&i.push({t:xc.DELETE,len:o}),n.dataStream.length>0&&i.push({t:xc.INSERT,body:n,len:n.dataStream.length});let s=xne(t,e);return a.editOp(i.serialize(),s)}(t,r,n,i);return a.params.actions=o,a}const dae={id:"doc.command.replace-selection",type:Bc.COMMAND,handler(e,t){var r;if(!t)return!1;let n=e.get(Vc),{unitId:i,body:a,textRanges:o}=t,s=e.get(dg).getUnit(i),l=e.get(GX);if(!s)return!1;let u=s.getBody(),c=null==(r=t.selection)?l.getActiveTextRange():r;if(!c||!u)return!1;let d={id:KX.id,params:{unitId:i,actions:[],textRanges:o,debounce:!0}},h=new Pm,m=Dm.getInstance();return h.push(...Jm.selection.delete([c],u,0,a)),d.params.actions=m.editOp(h.serialize()),n.syncExecuteCommand(d.id,d.params)}},hae={id:"doc.command.replace-text-runs",type:Bc.COMMAND,handler:(e,t)=>{let{unitId:r,body:n,textRanges:i,segmentId:a="",options:o}=t,s=e.get(dg),l=e.get(Vc),u=e.get(Lg),c=s.getUnit(r,Pi.UNIVER_DOC),d=null==c?void 0:c.getSelfOrHeaderFooterModel(a).getSnapshot().body;if(null==c||null==d)return!1;let h=Jm.selection.replaceTextRuns({doc:c,body:n,selection:{startOffset:0,endOffset:d.dataStream.length-2,collapsed:!1},themeService:u});if(!h)return!1;let m={id:KX.id,params:{unitId:r,actions:[],textRanges:i,noHistory:!0}},f=Dm.getInstance(),g=xne(c,a);return m.params.actions=f.editOp(h.serialize(),g),m.params.textRanges=i,o&&(m.params.options=o),!!l.syncExecuteCommand(m.id,m.params)}},mae={id:"doc.command.insert-custom-range",type:Bc.COMMAND,handler:(e,t)=>{if(!t)return!1;let r=e.get(Vc),{unitId:n,rangeId:i=cu(),textRanges:a,properties:o,text:s,wholeEntity:l}=t,u={unitId:n,textRanges:a,body:{dataStream:s,customRanges:[{startIndex:0,endIndex:s.length-1,rangeId:i,rangeType:Xu.CUSTOM,properties:o,wholeEntity:l}]}};return r.syncExecuteCommand(dae.id,u)}},fae={id:"doc.command.list-operation",type:Bc.COMMAND,handler:(e,t)=>{var r,n,i,a,o,s;let l=e.get(GX),u=e.get(dg),c=e.get(Vc),d=t.listType,h=u.getCurrentUnitForType(Pi.UNIVER_DOC),m=null==(r=null==(n=t.docRange)?l.getDocRanges():n)?[]:r;if(null==h||0===m.length)return!1;let f=m[0].segmentId,g=h.getSelfOrHeaderFooterModel(f),p=null==(i=null==(a=g.getBody())?void 0:a.paragraphs)?[]:i,v=null==(o=null==(s=g.getBody())?void 0:s.dataStream)?"":o;if(!p.length)return!1;let b=Jm.range.getParagraphsInRanges(m,p,v),C=h.getUnitId(),y={id:KX.id,params:{unitId:C,actions:[],textRanges:m,isEditing:!1}};(new Gl).reset();let _=Jm.paragraph.bullet.switch({paragraphs:b,listType:d,document:h,segmentId:f}),w=Dm.getInstance(),E=xne(h,f);return y.params.actions=w.editOp(_.serialize(),E),!!c.syncExecuteCommand(y.id,y.params)}},gae={id:"doc.command.change-list-type",type:Bc.COMMAND,handler:(e,t)=>{var r,n,i,a,o;let s=e.get(GX),l=e.get(dg),u=e.get(Vc),{listType:c}=t,d=l.getCurrentUnitForType(Pi.UNIVER_DOC),h=null==(r=t.docRange)?s.getDocRanges():r;if(null==d||null==h||!h.length)return!1;let{segmentId:m}=h[0],f=d.getSelfOrHeaderFooterModel(m),g=null==(n=null==(i=f.getBody())?void 0:i.paragraphs)?[]:n,p=null==(a=null==(o=f.getBody())?void 0:o.dataStream)?"":a;if(!g.length)return!1;let v=Jm.range.getParagraphsInRanges(h,g,p),b=d.getUnitId(),C=Jm.paragraph.bullet.set({paragraphs:v,listType:c,segmentId:m,document:d});if(!C)return!1;let y=Dm.getInstance(),_={id:KX.id,params:{unitId:b,actions:[],textRanges:h,isEditing:!1}},w=xne(d,m);return _.params.actions=y.editOp(C.serialize(),w),!!u.syncExecuteCommand(_.id,_.params)}};let pae=function(e){return e[e.increase=1]="increase",e[e.decrease=-1]="decrease",e}({});const vae={id:"doc.command.change-list-nesting-level",type:Bc.COMMAND,handler:(e,t)=>{var r,n,i,a,o;if(!t)return!1;let{type:s}=t,l=e.get(GX),u=e.get(dg),c=e.get(Vc),d=u.getCurrentUnitForType(Pi.UNIVER_DOC),h=l.getActiveTextRange();if(null==d||null==h)return!1;let{segmentId:m}=h,f=null==(r=l.getDocRanges())?[]:r,g=d.getSelfOrHeaderFooterModel(m),p=null==(n=null==(i=g.getBody())?void 0:i.paragraphs)?[]:n,v=null==(a=null==(o=g.getBody())?void 0:o.dataStream)?"":a;if(!p.length)return!1;let b=Jm.range.getParagraphsInRange(h,p,v),C=d.getUnitId(),y=Dm.getInstance(),_=Jm.paragraph.bullet.changeNestLevel({paragraphs:b,type:s,segmentId:m,document:d}),w={id:KX.id,params:{unitId:C,actions:[],textRanges:f,isEditing:!1}},E=xne(d,m);return w.params.actions=y.editOp(_.serialize(),E),!!c.syncExecuteCommand(w.id,w.params)}},bae={id:"doc.command.bullet-list",type:Bc.COMMAND,handler:(e,t)=>{let r=e.get(Vc);return null!=t&&t.value?r.syncExecuteCommand(gae.id,{listType:t.value,docRange:t.docRange}):r.syncExecuteCommand(fae.id,{listType:sm.BULLET_LIST,docRange:null==t?void 0:t.docRange})}},Cae={id:"doc.command.check-list",type:Bc.COMMAND,handler:(e,t)=>{let r=e.get(Vc);return null!=t&&t.value?r.syncExecuteCommand(gae.id,{listType:t.value,docRange:t.docRange}):r.syncExecuteCommand(fae.id,{listType:sm.CHECK_LIST,docRange:null==t?void 0:t.docRange})}},yae={id:"doc.command.toggle-check-list",type:Bc.COMMAND,handler:(e,t)=>{var r;if(!t)return!1;let n=e.get(dg),i=e.get(Vc),{index:a,segmentId:o,textRanges:s}=t,l=n.getCurrentUnitForType(Pi.UNIVER_DOC);if(null==l||null==(null==(r=l.getSelfOrHeaderFooterModel(o).getBody())?void 0:r.paragraphs))return!1;let u=l.getUnitId(),c={id:KX.id,params:{unitId:u,actions:[],textRanges:null==s?[]:s,segmentId:o,isEditing:!1}},d=Jm.paragraph.bullet.toggleChecklist({document:l,paragraphIndex:a,segmentId:o});if(!d)return!1;let h=Dm.getInstance(),m=xne(l,o);return c.params.actions=h.editOp(d.serialize(),m),!!i.syncExecuteCommand(c.id,c.params)}},_ae={id:"doc.command.order-list",type:Bc.COMMAND,handler:(e,t)=>{let r=e.get(Vc);return null!=t&&t.value?r.syncExecuteCommand(gae.id,{listType:t.value}):r.syncExecuteCommand(fae.id,{listType:sm.ORDER_LIST})}},wae={id:"doc.command.quick-list",type:Bc.COMMAND,handler(e,t){var r,n,i;if(!t)return!1;let a=e.get(GX),o=e.get(dg),s=e.get(Vc),l=o.getCurrentUnitForType(Pi.UNIVER_DOC),u=a.getActiveTextRange();if(null==l||null==u)return!1;let{segmentId:c,startOffset:d}=u,{listType:h,paragraph:m}=t,{paragraphStart:f,paragraphEnd:g}=m,p=new Pm,v=Dm.getInstance(),{paragraphStyle:b={}}=m,C=(hm[h].nestingLevel[0].paragraphProperties||{}).textStyle,y=cu(6),_=null==(r=null==(n=l.getBody())?void 0:n.paragraphs)?[]:r,w=_.findIndex(e=>e.startIndex===m.startIndex),E=_[w-1],S=_[w+1];E&&E.bullet&&0===E.bullet.listType.indexOf(h)?y=E.bullet.listId:S&&S.bullet&&0===S.bullet.listType.indexOf(h)&&(y=S.bullet.listId);let A={id:KX.id,params:{unitId:l.getUnitId(),actions:[],textRanges:[{startOffset:f,endOffset:f,collapsed:!0}],isEditing:!1}};p.push({t:xc.RETAIN,len:f}),p.push({t:xc.DELETE,len:d-f}),g>d&&p.push({t:xc.RETAIN,len:g-d}),p.push({t:xc.RETAIN,len:1,body:{dataStream:"",paragraphs:[{startIndex:0,paragraphStyle:{...b,textStyle:{...b.textStyle,...C},indentFirstLine:void 0},bullet:{...null==(i=m.bullet)?{nestingLevel:0,textStyle:{fs:20}}:i,listType:h,listId:y}}]}});let I=xne(l,c);return A.params.actions=v.editOp(p.serialize(),I),!!s.syncExecuteCommand(A.id,A.params)}};function Eae(e,t){var r,n;let i=e.get(Vc),a=Kne(e);if(!a)return!1;let o=e.get(dg).getCurrentUnitOfType(Pi.UNIVER_DOC);if(!o)return!1;let s=Jm.selection.replace({doc:o,selection:{startOffset:a.startIndex+1,endOffset:a.startIndex+1,collapsed:!0},body:{dataStream:"\r",paragraphs:[{startIndex:0,paragraphStyle:{...a.paragraphStyle},bullet:{listType:t,listId:(null==(r=a.bullet)?void 0:r.listType)===t?a.bullet.listId:cu(6),nestingLevel:(null==(n=a.bullet)?void 0:n.listType)===t?a.bullet.nestingLevel:0}}]}});if(!s)return!1;let l={id:KX.id,params:{unitId:o.getUnitId(),actions:[],textRanges:[{startOffset:a.startIndex+1,endOffset:a.startIndex+1,collapsed:!0}],isEditing:!1}},u=Dm.getInstance(),c=xne(o);return l.params.actions=u.editOp(s.serialize(),c),!!i.syncExecuteCommand(l.id,l.params)}const Sae={id:"doc.command.insert-bullet-list-bellow",type:Bc.COMMAND,handler:e=>Eae(e,sm.BULLET_LIST)},Aae={id:"doc.command.insert-order-list-bellow",type:Bc.COMMAND,handler:e=>Eae(e,sm.ORDER_LIST)},Iae={id:"doc.command.insert-check-list-bellow",type:Bc.COMMAND,handler:e=>Eae(e,sm.CHECK_LIST)},Rae={id:"doc.command.align-action",type:Bc.COMMAND,handler:(e,t)=>{var r,n,i,a;let o=e.get(GX),s=e.get(dg),l=e.get(Vc),{alignType:u}=t,c=s.getCurrentUniverDocInstance();if(null==c)return!1;let d=o.getDocRanges();if(0===d.length)return!1;let h=d[0].segmentId,m=c.getSelfOrHeaderFooterModel(h),f=null==(r=null==(n=m.getBody())?void 0:n.paragraphs)?[]:r,g=null==(i=null==(a=m.getBody())?void 0:a.dataStream)?"":i;if(null==f)return!1;let p=Jm.range.getParagraphsInRanges(d,f,g),v=c.getUnitId(),b=p.every(e=>{var t;return(null==(t=e.paragraphStyle)?void 0:t.horizontalAlign)===u}),C={id:KX.id,params:{unitId:v,actions:[],textRanges:d}},y=new Gl;y.reset();let _=new Pm,w=Dm.getInstance();for(let e of p){let{startIndex:t}=e;_.push({t:xc.RETAIN,len:t-y.cursor});let r={...e.paragraphStyle,horizontalAlign:b?Lu.UNSPECIFIED:u};_.push({t:xc.RETAIN,len:1,body:{dataStream:"",paragraphs:[{...e,paragraphStyle:r,startIndex:0}]},coverType:Rc.REPLACE}),y.moveCursorTo(t+1)}let E=xne(c,h);return C.params.actions=w.editOp(_.serialize(),E),!!l.syncExecuteCommand(C.id,C.params)}},xae={id:"doc.command.align-left",type:Bc.COMMAND,handler:e=>e.get(Vc).syncExecuteCommand(Rae.id,{alignType:Lu.LEFT})},Tae={id:"doc.command.align-center",type:Bc.COMMAND,handler:e=>e.get(Vc).syncExecuteCommand(Rae.id,{alignType:Lu.CENTER})},Nae={id:"doc.command.align-right",type:Bc.COMMAND,handler:e=>e.get(Vc).syncExecuteCommand(Rae.id,{alignType:Lu.RIGHT})},Mae={id:"doc.command.align-justify",type:Bc.COMMAND,handler:e=>e.get(Vc).syncExecuteCommand(Rae.id,{alignType:Lu.JUSTIFIED})},Oae={id:"doc.operation.set-zoom-ratio",type:Bc.OPERATION,handler:(e,t)=>{let r=e.get(dg).getUnit(t.unitId,Pi.UNIVER_DOC);return!!r&&(r.setZoomRatio(t.zoomRatio),!0)}},Lae={type:Bc.COMMAND,id:"doc.command.set-zoom-ratio",handler:async(e,t)=>{var r;let n=e.get(Vc),i=e.get(Pg),a=e.get(dg),o=null==(r=a.getCurrentUniverDocInstance())?void 0:r.getUnitId();if(!o)return!1;let s=1;var l,u;if(t&&(o=null==(l=t.documentId)?o:l,s=null==(u=t.zoomRatio)?s:u),!a.getUniverDocInstance(o))return!1;let c={zoomRatio:s,unitId:o},d=((e,t)=>{let r=e.get(dg).getUnit(t.unitId,Pi.UNIVER_DOC);return null==r||r.setZoomRatio(t.zoomRatio),{...t}})(e,c);return!!n.syncExecuteCommand(Oae.id,c)&&(i.pushUndoRedo({unitID:o,undoMutations:[{id:Oae.id,params:d}],redoMutations:[{id:Oae.id,params:c}]}),!0)}},kae={id:"doc.command.set-paragraph-named-style",type:Bc.COMMAND,handler(e,t){var r;if(!t)return!1;let n=e.get(dg).getCurrentUnitOfType(Pi.UNIVER_DOC);if(!n)return!1;let i=n.getUnitId(),a=e.get(GX),o=null==(r=t.textRanges)?a.getTextRanges({unitId:i,subUnitId:i}):r;if(null==o||!o.length)return!1;let s=o[0].segmentId,l=Jm.paragraph.style.set({document:n.getSelfOrHeaderFooterModel(s),textRanges:o,style:{namedStyleType:t.value,headingId:t.value&&t.value!==ec.NORMAL_TEXT?cu(6):void 0,spaceAbove:void 0,spaceBelow:void 0,lineSpacing:void 0},paragraphTextRun:{}}),u={id:KX.id,params:{actions:[],textRanges:o,unitId:i,segmentId:s}},c=Dm.getInstance(),d=xne(n,s);return u.params.actions=c.editOp(l.serialize(),d),!!e.get(Vc).syncExecuteCommand(u.id,u.params)}},Pae={id:"doc.command.quick-heading",type:Bc.COMMAND,handler(e,t){var r,n,i,a;if(!t)return!1;let{value:o}=t,s=e.get(GX),l=e.get(dg),u=e.get(Vc),c=l.getCurrentUnitForType(Pi.UNIVER_DOC),d=s.getActiveTextRange();if(null==c||null==d||!d.collapsed)return!1;let{segmentId:h,startOffset:m}=d,f=c.getSelfOrHeaderFooterModel(h),g=null==(r=null==(n=f.getBody())?void 0:n.paragraphs)?[]:r,p=null==(i=null==(a=f.getBody())?void 0:a.dataStream)?"":i,v=Jm.paragraph.util.getParagraphsInRange(d,g,p)[0];if(!v)return!1;let{paragraphStart:b}=v,C=new Pm,y=Dm.getInstance(),{paragraphStyle:_={}}=v,w={id:KX.id,params:{unitId:c.getUnitId(),actions:[],textRanges:[{startOffset:b,endOffset:b,collapsed:!0}],isEditing:!1}};C.push({t:xc.RETAIN,len:b}),Jm.paragraph.style.set({textRanges:[d],document:c,style:{..._,headingId:cu(6),namedStyleType:o},cursor:m,deleteLen:m-b,textX:C,paragraphTextRun:{}});let E=xne(c,h);return w.params.actions=y.editOp(C.serialize(),E),!!u.syncExecuteCommand(w.id,w.params)}},Dae={"#":ec.HEADING_1,"##":ec.HEADING_2,"###":ec.HEADING_3,"####":ec.HEADING_4,"#####":ec.HEADING_5},Uae={id:"doc.command.h1-heading",type:Bc.COMMAND,handler:e=>e.get(Vc).syncExecuteCommand(kae.id,{value:ec.HEADING_1})},Bae={id:"doc.command.h2-heading",type:Bc.COMMAND,handler:e=>e.get(Vc).syncExecuteCommand(kae.id,{value:ec.HEADING_2})},Vae={id:"doc.command.h3-heading",type:Bc.COMMAND,handler:e=>e.get(Vc).syncExecuteCommand(kae.id,{value:ec.HEADING_3})},Fae={id:"doc.command.h4-heading",type:Bc.COMMAND,handler:e=>e.get(Vc).syncExecuteCommand(kae.id,{value:ec.HEADING_4})},jae={id:"doc.command.h5-heading",type:Bc.COMMAND,handler:e=>e.get(Vc).syncExecuteCommand(kae.id,{value:ec.HEADING_5})},Hae={id:"doc.command.normal-text-heading",type:Bc.COMMAND,handler:e=>e.get(Vc).syncExecuteCommand(kae.id,{value:ec.NORMAL_TEXT})},Wae={id:"doc.command.title",type:Bc.COMMAND,handler:e=>e.get(Vc).syncExecuteCommand(kae.id,{value:ec.TITLE})},zae={id:"doc.command.subtitle-heading",type:Bc.COMMAND,handler:e=>e.get(Vc).syncExecuteCommand(kae.id,{value:ec.SUBTITLE})};let Xae=function(e){return e[e.NORMAL=0]="NORMAL",e[e.START=1]="START",e[e.END=2]="END",e}({}),qae=function(e){return e[e.page=0]="page",e[e.section=1]="section",e[e.column=2]="column",e[e.line=3]="line",e[e.divide=4]="divide",e[e.glyph=5]="glyph",e}({});const Gae={page:0,section:1,column:2,line:3,divide:4,glyph:5};function Yae(e,t){return!(e.page>t.page||!(e.paget.section||!(e.sectiont.column||!(e.columnt.line||!(e.linet.divide||!(e.dividet.glyph||(e.glyph,t.glyph,0)))))))}function Qae(e,t){return Yae(e,t)?{start:e,end:t}:{start:t,end:e}}function Zae(e){let t=e.length;if(0===t)return;let r=e[0],n=e[t-1],i=1===e.length&&r.collapsed;return{startOffset:r.startOffset,endOffset:n.endOffset,collapsed:i}}function Kae(e){let{startX:t,startY:r,endX:n,endY:i}=e,a=[];return a.push({x:t,y:r}),a.push({x:n,y:r}),a.push({x:n,y:i}),a.push({x:t,y:i}),a.push({x:t,y:r}),a}var $ae=class{constructor(e,t){this._documentOffsetConfig=e,this._docSkeleton=t,bne(this,"_liquid",new uH),bne(this,"_currentStartState",{page:Xae.NORMAL,section:Xae.NORMAL,column:Xae.NORMAL,line:Xae.NORMAL,divide:Xae.NORMAL,glyph:Xae.NORMAL}),bne(this,"_currentEndState",{page:Xae.NORMAL,section:Xae.NORMAL,column:Xae.NORMAL,line:Xae.NORMAL,divide:Xae.NORMAL,glyph:Xae.NORMAL})}getRangePointData(e,t){let r=[],n=[],i=[];if(null==e||null==t)return{borderBoxPointGroup:r,contentBoxPointGroup:n,cursorList:i};if(!this._isValidPosition(e,t))throw Error("\n Invalid positions in NodePositionConvertToCursor,\n they are not in the same segment page when in header or footer.");let{start:a,end:o}=Qae(e,t);return this._selectionIterator(a,o,(e,t,s,l,u,c)=>{let{lineHeight:d,asc:h,paddingTop:m,marginTop:f,marginBottom:g}=c,{glyphGroup:p,st:v}=u;if(0===p.length)return;let b,C,{x:y,y:_}=this._liquid,w=p[e],E=p[t],S=p[e-1],A=(null==w?void 0:w.left)||0,I=(null==w?void 0:w.width)||0,R=(null==E?void 0:E.left)||0,x=(null==E?void 0:E.width)||0,T=(null==w?void 0:w.glyphType)===IF.LIST,{startOffset:N,endOffset:M}=function(e,t,r,n){let i=n,a=n;for(let n=0;n=0;){let e,i=qae[n];if(e=t?this._currentStartState[i]:this._currentEndState[i],void 0===e)return;if(void 0===r&&(r=e),e!==r)return Xae.NORMAL;n--}return r}_getSelectionRuler(e,t,r,n,i){let a=0,o=n,s=qae[e],l=qae[e+1];if(null===l||null===s)return{start_next:a,end_next:o};let u=t[s],c=r[s];this._setNodePositionState(s,u,c,i);let d=this._checkPreviousNodePositionState(e),h=this._checkPreviousNodePositionState(e,!1);return d===Xae.START&&(a=t[l]),h===Xae.END&&(o=r[l]),{start_next:a,end_next:o}}_selectionIterator(e,t,r){let n=this._docSkeleton;if(!n)return[];let{pageType:i,path:a}=e;this._liquid.reset();let o=n.getSkeletonData();if(null==o)return[];let{pages:s,skeHeaders:l,skeFooters:u}=o,{page:c,segmentPage:d}=e,{page:h,segmentPage:m}=t;if(this._resetCurrentNodePositionState(),null==this._documentOffsetConfig)return[];let{pageLayoutType:f,pageMarginLeft:g,pageMarginTop:p}=this._documentOffsetConfig,v=i===EF.BODY||i===EF.CELL?c:d;for(let e=0;es)&&l<=u}function roe(e){return 0===e.sections[0].columns[0].lines.length}function noe(e,t,r){let n=t,i=r,a=e[n],o=e[i];for(;n=c&&e.index<=h){let t=noe(e.cells,d,m);if(null==t)continue;let[n,i]=t,a={startX:o+n.left+l,startY:s+e.top,endX:o+i.left+i.pageWidth+l,endY:s+e.top+e.height};r.push(Kae(a))}this._liquid.translateRestore(),this._liquid.restorePagePadding(t),this._liquid.translatePage(t,f,g,p)}return{pointGroup:r,startRow:c,startColumn:d,endRow:h,endColumn:m,tableId:u}}getNodePositionGroup(e,t){let r=[],n=this._docSkeleton.findCharIndexByPosition(e),i=this._docSkeleton.findCharIndexByPosition(t);if(null==n||null==i)return;let a=n{let t=1/0,r=-1/0,n=1/0,i=-1/0;return e.forEach(e=>{t=Math.min(e.x,t),r=Math.max(e.x,r),i=Math.max(e.y,i),n=Math.min(e.y,n)}),{left:t,right:r,top:n,bottom:i}})}var soe=class{constructor(e,t,r,n,i,a=ZF,o="",s=-1){this._scene=e,this._document=t,this._docSkeleton=r,this.anchorNodePosition=n,this.focusNodePosition=i,this.style=a,this._segmentId=o,this._segmentPage=s,bne(this,"rangeType",Cd.TEXT),bne(this,"_current",!1),bne(this,"_rangeShape",void 0),bne(this,"_anchorShape",void 0),bne(this,"_cursorList",[]),bne(this,"_anchorBlinkTimer",null),this._anchorBlink(),this.refresh()}_anchorBlink(){setTimeout(()=>{this._anchorShape&&this._anchorShape.visible&&this.deactivateStatic()},500),this._anchorBlinkTimer=setInterval(()=>{this._anchorShape&&this._anchorShape.visible&&(this.activeStatic(),setTimeout(()=>{this.deactivateStatic()},500))},1e3)}get startOffset(){var e;let{startOffset:t}=null==(e=Zae(this._cursorList))?{}:e,r=this._docSkeleton.getViewModel().getDataModel().getSelfOrHeaderFooterModel(this._segmentId).getBody();if(null==t||null==r)return t;let n=r.dataStream.length-2;return Math.min(n,t)}get endOffset(){var e;let{endOffset:t}=null==(e=Zae(this._cursorList))?{}:e,r=this._docSkeleton.getViewModel().getDataModel().getSelfOrHeaderFooterModel(this._segmentId).getBody();if(null==t||null==r)return t;let n=r.dataStream.length-2;return Math.min(t,n)}get collapsed(){let{startOffset:e,endOffset:t}=this;return null!=e&&e===t}get startNodePosition(){if(null==this.anchorNodePosition)return null;if(null==this.focusNodePosition)return this.anchorNodePosition;let{start:e}=Qae(this.anchorNodePosition,this.focusNodePosition);return e}get endNodePosition(){if(null==this.anchorNodePosition)return this.focusNodePosition;if(null==this.focusNodePosition)return null;let{end:e}=Qae(this.anchorNodePosition,this.focusNodePosition);return e}get direction(){let{collapsed:e,anchorNodePosition:t,focusNodePosition:r}=this;return e||null==t||null==r?bd.NONE:Yae(t,r)?bd.FORWARD:bd.BACKWARD}get segmentId(){return this._segmentId}get segmentPage(){return this._segmentPage}getAbsolutePosition(){let e=this.anchorNodePosition,t=this.focusNodePosition;if(this._isEmpty())return;let r=this._document.getOffsetConfig(),{docsLeft:n,docsTop:i}=r,a=new $ae(r,this._docSkeleton);if(this._isCollapsed()){let{contentBoxPointGroup:t,cursorList:r}=a.getRangePointData(e,e);if(this._setCursorList(r),0===t.length)return;let o=aoe(t);return{...o,left:o.left+n,top:o.top+i}}let{borderBoxPointGroup:o,cursorList:s}=a.getRangePointData(e,t);if(this._setCursorList(s),0===o.length)return;let l=aoe(o);return{...l,left:l.left+n,top:l.top+i}}getAnchor(){return this._anchorShape}activeStatic(){var e,t;null==(e=this._anchorShape)||e.setProps({stroke:(null==(t=this.style)?void 0:t.strokeActive)||BV(Kc.black,1)})}deactivateStatic(){var e,t;null==(e=this._anchorShape)||e.setProps({stroke:(null==(t=this.style)?void 0:t.stroke)||BV(Kc.black,0)})}isActive(){return!0===this._current}activate(){this._current=!0}deactivate(){this._current=!1}dispose(){var e,t;null==(e=this._rangeShape)||e.dispose(),this._rangeShape=null,null==(t=this._anchorShape)||t.dispose(),this._anchorShape=null,this._anchorBlinkTimer&&(clearInterval(this._anchorBlinkTimer),this._anchorBlinkTimer=null)}isIntersection(e){let{startOffset:t,endOffset:r}=this,{startOffset:n,endOffset:i}=e;return null!=t&&null!=r&&null!=n&&null!=i&&t<=i&&r>=n}refresh(){var e,t;let{_document:r,_docSkeleton:n}=this,i=this.anchorNodePosition,a=this.focusNodePosition;if(null==(e=this._anchorShape)||e.hide(),null==(t=this._rangeShape)||t.hide(),this._isEmpty())return;let o=r.getOffsetConfig(),{docsLeft:s,docsTop:l}=o,u=new $ae(o,n);if(this._isCollapsed()){let{contentBoxPointGroup:e,cursorList:t}=u.getRangePointData(i,i);if(this._setCursorList(t),e.length>0){let t=n.findGlyphByPosition(i);this._createOrUpdateAnchor(e,s,l,t)}return}let{borderBoxPointGroup:c,cursorList:d}=u.getRangePointData(i,a);this._setCursorList(d),c.length>0&&this._createOrUpdateRange(c,s,l)}_isEmpty(){return null==this.anchorNodePosition&&null==this.focusNodePosition}_isCollapsed(){let e=this.anchorNodePosition,t=this.focusNodePosition;if(null!=e&&null==t)return!0;if(null==e||null==t)return!1;let r=Object.keys(Gae);for(let n of r)if(e[n]!==t[n])return!1;return e.isBack===t.isBack}_createOrUpdateRange(e,t,r){var n;if(this._rangeShape)return this._rangeShape.translate(t,r),this._rangeShape.updatePointGroup(e),void this._rangeShape.show();let i=new sX("__TestSelectionRange__"+cu(6),{pointsGroup:e,fill:(null==(n=this.style)?void 0:n.fill)||BV(Kc.black,.3),left:t,top:r,evented:!1,debounceParentDirty:!1});this._rangeShape=i,this._scene.addObject(i,3)}_createOrUpdateAnchor(e,t,r,n){var i,a,o;let s=aoe(e),{left:l}=s,{top:u,height:c}=s;c<14&&(u-=14-c,c=14);let d=l+t,h=u+r,m=(null==n||null==(i=n.ts)?void 0:i.it)===Vu.TRUE;if(m&&(d+=c*Math.tan(12*Math.PI/180)/2),this._anchorShape)return this._anchorShape.transformByState({left:d,top:h,height:c}),this._anchorShape.show(),void(m?this._anchorShape.skew(-12,0):this._anchorShape.skew(0,0));let f=new tX("__TestSelectionAnchor__"+cu(6),{left:d,top:h,height:c,strokeWidth:(null==(a=this.style)?void 0:a.strokeWidth)||1,stroke:(null==(o=this.style)?void 0:o.strokeActive)||BV(Kc.black,1),evented:!1});m&&f.skew(-12,0),this._anchorShape=f,this._scene.addObject(f,3),this.activeStatic()}_setCursorList(e){0!==e.length&&(this._cursorList=e)}};function loe(e,t,r,n,i,a=ZF,o="",s=-1){let l=new ioe(t.getOffsetConfig(),r).getNodePositionGroup(n,i);return(null==l?[]:l).map(n=>new uoe(e,t,r,n.anchor,n.focus,a,o,s))}var uoe=class{constructor(e,t,r,n,i,a=ZF,o="",s=-1){this._scene=e,this._document=t,this._docSkeleton=r,this.anchorNodePosition=n,this.focusNodePosition=i,this.style=a,this._segmentId=o,this._segmentPage=s,bne(this,"rangeType",Cd.RECT),bne(this,"_rangeShape",void 0),bne(this,"_current",!1),bne(this,"_startRow",void 0),bne(this,"_startCol",void 0),bne(this,"_endRow",void 0),bne(this,"_endCol",void 0),bne(this,"_tableId",void 0),this.refresh()}get startOffset(){let{startNodePosition:e}=this;return this._docSkeleton.findCharIndexByPosition(e)}get endOffset(){let{endNodePosition:e}=this;return this._docSkeleton.findCharIndexByPosition(e)}get collapsed(){return!1}get startRow(){return this._startRow}get startColumn(){return this._startCol}get endRow(){return this._endRow}get endColumn(){return this._endCol}get tableId(){return this._tableId}get segmentId(){return this._segmentId}get segmentPage(){return this._segmentPage}get spanEntireRow(){var e;let t=null==(e=this._docSkeleton.getViewModel().getSnapshot().tableSource)?void 0:e[this._tableId],{_startCol:r,_endCol:n}=this;if(null==t)throw Error("Table is not found.");let{tableColumns:i}=t;return 0===r&&n===i.length-1}get spanEntireColumn(){var e;let t=null==(e=this._docSkeleton.getViewModel().getSnapshot().tableSource)?void 0:e[this._tableId],{_startRow:r,_endRow:n}=this;if(null==t)throw Error("Table is not found.");let{tableRows:i}=t;return 0===r&&n===i.length-1}get spanEntireTable(){return this.spanEntireRow&&this.spanEntireColumn}get startNodePosition(){let{anchorNodePosition:e,focusNodePosition:t}=this;return toe(e,t)?e:t}get endNodePosition(){let{anchorNodePosition:e,focusNodePosition:t}=this;return toe(e,t)?t:e}get direction(){let{anchorNodePosition:e,focusNodePosition:t}=this;return toe(e,t)?bd.FORWARD:bd.BACKWARD}isActive(){return!0===this._current}activate(){this._current=!0}deactivate(){this._current=!1}dispose(){var e;null==(e=this._rangeShape)||e.dispose(),this._rangeShape=null}isIntersection(e){let{startRow:t,startColumn:r,endRow:n,endColumn:i}=this,{startRow:a,startColumn:o,endRow:s,endColumn:l}=e,u={left:r,top:t,right:i,bottom:n},c={left:o,top:a,right:l,bottom:s};return Oh.hasIntersectionBetweenTwoRect(u,c)}refresh(){var e;null==(e=this._rangeShape)||e.hide();let{startNodePosition:t,endNodePosition:r,_document:n,_docSkeleton:i}=this,a=n.getOffsetConfig(),{docsLeft:o,docsTop:s}=a,l=new ioe(a,i).getRangePointData(t,r);if(null==l)return;let{pointGroup:u=[],startRow:c,endRow:d,startColumn:h,endColumn:m,tableId:f}=l;(null==u?void 0:u.length)>0&&this._createOrUpdateRange(u,o,s),this._updateTableInfo(c,d,h,m,f)}_updateTableInfo(e,t,r,n,i){this._startRow=e,this._endRow=t,this._startCol=r,this._endCol=n,this._tableId=i}_createOrUpdateRange(e,t,r){var n;if(this._rangeShape)return this._rangeShape.translate(t,r),this._rangeShape.updatePointGroup(e),void this._rangeShape.show();let i=new sX("__DocTableRectRange__"+cu(6),{pointsGroup:e,fill:(null==(n=this.style)?void 0:n.fill)||BV(Kc.black,.3),left:t,top:r,evented:!1,debounceParentDirty:!1});this._rangeShape=i,this._scene.addObject(i,3)}};function coe(e,t,r,n,i,a,o,s,l=!0,u=!0){let c=i.findNodePositionByCharIndex(e,l,o,s),d=i.findNodePositionByCharIndex(t,u,o,s);if(null!=c&&null!=d)return new soe(r,n,i,c,d,a,o,s)}function doe(e,t,r,n,i,a,o,s){let l=i.findNodePositionByCharIndex(e,!0,o,s),u=i.findNodePositionByCharIndex(t,!0,o,s);if(null!=l&&null!=u)return new uoe(r,n,i,l,u,a,o,s)}function hoe(e,t,r,n,i,a,o,s){let l=[],u=[],c=[r,n,i,e,t,a,o,s];if(eoe(i,e,t)){if(Jae(e,t))return l.push(new soe(...c)),{textRanges:l,rectRanges:u};{let e=loe(...c);return u.push(...e),{textRanges:l,rectRanges:u}}}if(function(e,t){let{path:r}=e,{path:n}=t;if(r.length!==n.length||-1===r.indexOf("cells"))return!1;let i=r.indexOf("skeTables")+1,a=r.indexOf("rows")+1,o=r.indexOf("cells")+1,{tableId:s,sliceIndex:l}=ZH(r[i]),{tableId:u,sliceIndex:c}=ZH(n[i]);if(s!==u)return!1;let d=r[a],h=n[a],m=r[o],f=n[o];return!(d===h&&m===f&&l===c)}(e,t)){let e=loe(...c);return u.push(...e),{textRanges:l,rectRanges:u}}let d=i.getViewModel().getSelfOrHeaderFooterViewModel(o),h=i.findCharIndexByPosition(e),m=i.findCharIndexByPosition(t);if(null==h||null==m)return;let f=h<=m?bd.FORWARD:bd.BACKWARD,g=Math.min(h,m),p=Math.max(h,m),v=g,b=p;for(let e of d.getChildren())for(let t of e.children){let{startIndex:c,endIndex:d,children:h}=t,m=e.children.indexOf(t),C=e.children[m+1],y=h[0],_=!1;if(y){let{startIndex:e,endIndex:t,children:c}=y,d=null,h=null,m=c.find(e=>e.startIndex<=g&&e.endIndex>=g),C=c.find(e=>e.startIndex<=p&&e.endIndex>=p);if(g>e&&ge&&pg&&t=c&&b<=d||_){let e=i.findNodePositionByCharIndex(v,!0,o,s),t=i.findNodePositionByCharIndex(b,!_,o,s),c=f===bd.FORWARD?e:t,d=f===bd.FORWARD?t:e;if(u.length&&uu.diffValue(c,d))continue;l.push(new soe(r,n,i,c,d,a,o,s))}}return{textRanges:l,rectRanges:u}}function moe(e){let t=null==e?void 0:e.getCanvasElement();if(!t)return{left:0,top:0};let{top:r,left:n}=function(e){let t=e.getBoundingClientRect(),r=document.body,n=document.documentElement,i=window.pageYOffset||n.scrollTop||r.scrollTop,a=window.pageXOffset||n.scrollLeft||r.scrollLeft,o=n.clientTop||r.clientTop,s=n.clientLeft||r.clientLeft;return{top:t.top+i-o,left:t.left+a-s}}(t);return{left:n,top:r}}function foe(e){var t;let r=null==(t=e.parent)?void 0:t.parent,n=null==r?void 0:r.parent;if(null==r||null==n)return;let{paragraphIndex:i}=r,a=n.lines.filter(e=>e.paragraphIndex===i),o=-1,s="",l=!1;for(let t of a)for(let r of t.divides)for(let t of r.glyphGroup)l||(o+=t.count),t===e&&(l=!0),s+=t.count>0?t.content:"";return{st:a[0].st,ed:i,content:s,nodeIndex:o}}function goe(e){let{startOffset:t,endOffset:r,collapsed:n,rangeType:i,startNodePosition:a,endNodePosition:o,direction:s,segmentId:l,segmentPage:u}=e;return{startOffset:t,endOffset:r,collapsed:n,rangeType:i,startNodePosition:a,endNodePosition:o,direction:s,segmentId:l,segmentPage:u,isActive:e.isActive()}}function poe(e){let t=goe(e),{startRow:r,startColumn:n,endRow:i,endColumn:a,tableId:o,spanEntireRow:s,spanEntireColumn:l,spanEntireTable:u}=e;return{...t,startRow:r,startColumn:n,endRow:i,endColumn:a,tableId:o,spanEntireRow:s,spanEntireColumn:l,spanEntireTable:u}}let voe=class extends ru{get isOnPointerEvent(){return this._onPointerEvent}get isFocusing(){return this._input===document.activeElement}get canFocusing(){return this.isFocusing||document.activeElement===document.body||null===document.activeElement}constructor(e,t,r,n,i){super(),this._context=e,this._layoutService=t,this._logService=r,this._univerInstanceService=n,this._docSkeletonManagerService=i,bne(this,"_onInputBefore$",new On),bne(this,"onInputBefore$",this._onInputBefore$.asObservable()),bne(this,"_onKeydown$",new On),bne(this,"onKeydown$",this._onKeydown$.asObservable()),bne(this,"_onInput$",new On),bne(this,"onInput$",this._onInput$.asObservable()),bne(this,"_onCompositionstart$",new Qn(null)),bne(this,"onCompositionstart$",this._onCompositionstart$.asObservable()),bne(this,"_onCompositionupdate$",new Qn(null)),bne(this,"onCompositionupdate$",this._onCompositionupdate$.asObservable()),bne(this,"_onCompositionend$",new Qn(null)),bne(this,"onCompositionend$",this._onCompositionend$.asObservable()),bne(this,"_onSelectionStart$",new Qn(null)),bne(this,"onSelectionStart$",this._onSelectionStart$.asObservable()),bne(this,"onChangeByEvent$",Ei(this._onInput$,this._onKeydown$.pipe(Un(e=>e.event.keyCode===x8.BACKSPACE)),this._onCompositionend$)),bne(this,"_onPaste$",new On),bne(this,"onPaste$",this._onPaste$.asObservable()),bne(this,"_textSelectionInner$",new Qn(null)),bne(this,"textSelectionInner$",this._textSelectionInner$.asObservable()),bne(this,"_onFocus$",new On),bne(this,"onFocus$",this._onFocus$.asObservable()),bne(this,"_onBlur$",new On),bne(this,"onBlur$",this._onBlur$.asObservable()),bne(this,"_onPointerDown$",new On),bne(this,"onPointerDown$",this._onPointerDown$.asObservable()),bne(this,"_container",void 0),bne(this,"_inputParent",void 0),bne(this,"_input",void 0),bne(this,"_scrollTimers",[]),bne(this,"_rangeList",[]),bne(this,"_rangeListCache",[]),bne(this,"_rectRangeList",[]),bne(this,"_rectRangeListCache",[]),bne(this,"_anchorNodePosition",null),bne(this,"_focusNodePosition",null),bne(this,"_currentSegmentId",""),bne(this,"_currentSegmentPage",-1),bne(this,"_selectionStyle",ZF),bne(this,"_onPointerEvent",!1),bne(this,"_viewPortObserverMap",new Map),bne(this,"_isIMEInputApply",!1),bne(this,"_scenePointerMoveSubs",[]),bne(this,"_scenePointerUpSubs",[]),bne(this,"_reserveRanges",!1),this._initDOM(),this._registerContainer(),this._setSystemHighlightColorToStyle(),this._listenCurrentUnitChange()}_listenCurrentUnitChange(){this._univerInstanceService.getCurrentTypeOfUnit$(Pi.UNIVER_DOC).pipe(jX(this.dispose$)).subscribe(e=>{null!=e&&e.getUnitId()!==this._context.unitId&&!this._reserveRanges&&this.removeAllRanges()})}get activeViewPort(){return this._context.scene.getViewports()[0]}setSegment(e){this._currentSegmentId=e}getSegment(){return this._currentSegmentId}setSegmentPage(e){this._currentSegmentPage=e}getSegmentPage(){return this._currentSegmentPage}setReserveRangesStatus(e){this._reserveRanges=e}_setRangeStyle(e=ZF){this._selectionStyle=e}addDocRanges(e,t=!0,r){let{_currentSegmentId:n,_currentSegmentPage:i,_selectionStyle:a}=this,{scene:o,mainComponent:s}=this._context,l=s,u=this._docSkeletonManagerService.getSkeleton(),c=(e,t)=>{let r=function(e,t,r,n,i,a,o,s){let l=i.findNodePositionByCharIndex(e,!0,o,s),u=i.findNodePositionByCharIndex(t,!0,o,s);if(null!=l&&null!=u)return hoe(l,u,r,n,i,a,o,s)}(e,t,o,l,u,a,n,i);if(null==r)return;let{textRanges:s,rectRanges:c}=r;for(let e of s)this._addTextRange(e);this._addRectRanges(c)};for(let t of e){let{startOffset:e,endOffset:r,rangeType:s,startNodePosition:d,endNodePosition:h}=t;if(s===Cd.RECT){let t=doe(e,r,o,l,u,a,n,i);t&&this._addRectRanges([t])}else if(s===Cd.TEXT)try{let t=null;t=d&&h?coe(d.isBack?e:e-1,h.isBack?r:r-1,o,l,u,a,n,i,d.isBack,h.isBack):coe(e,r,o,l,u,a,n,i),t&&this._addTextRange(t)}catch{c(e,r)}else c(e,r)}this._textSelectionInner$.next({textRanges:this._getAllTextRanges(),rectRanges:this._getAllRectRanges(),segmentId:n,segmentPage:i,style:a,isEditing:t,options:r}),e.length&&!1!==(null==r?void 0:r.shouldFocus)&&this._updateInputPosition(null==r?void 0:r.forceFocus)}setCursorManually(e,t){let r=this._findNodeByCoord(e,t,{strict:!0,segmentId:this._currentSegmentId,segmentPage:this._currentSegmentPage}),n=this._getNodePosition(r);null!=n?((null==r?void 0:r.node.streamType)===Bm.PARAGRAPH&&(n.isBack=!0),this._createTextRangeByAnchorPosition(n),this._textSelectionInner$.next({textRanges:this._getAllTextRanges(),rectRanges:this._getAllRectRanges(),segmentId:this._currentSegmentId,segmentPage:this._currentSegmentPage,style:this._selectionStyle,isEditing:!1})):this._removeAllRanges()}sync(){this._updateInputPosition()}activate(e,t,r=!1){this._ensureHostContainer();let n=e,i=t,a=this._container.parentElement;if(a){let e=a.getBoundingClientRect();n-=e.left,i-=e.top}this._container.style.left=`${n}px`,this._container.style.top=`${i}px`,this._container.style.zIndex="1000",(this.canFocusing||r)&&this.focus()}hasFocus(){return document.activeElement===this._input}focus(){this._input.focus()}blur(){this._input.blur()}deactivate(){this._container.style.left="0px",this._container.style.top="0px"}__handleDblClick(e){let{offsetX:t,offsetY:r}=e,n=this._findNodeByCoord(t,r,{strict:!1,segmentId:this._currentSegmentId,segmentPage:this._currentSegmentPage});if(null==n||null==n.node)return;let i=foe(n.node);if(null==i)return;let{content:a,st:o,nodeIndex:s}=i;if(-1===s)return;let l=new Intl.Segmenter(void 0,{granularity:"word"}).segment(a),u=-1/0,c=-1/0;for(let{segment:e,index:t,isWordLike:r}of l)if(t<=s&&st.startOffset<=e&&t.endOffset>e)||"number"==typeof e&&c.rectRanges.some(t=>t.startOffset<=e&&t.endOffset>=e))return}let{segmentId:d,segmentPage:h}=l;d&&this._currentSegmentId&&d!==this._currentSegmentId&&this.setSegment(d),d&&h!==this._currentSegmentPage&&this.setSegmentPage(h),this._anchorNodePosition=u,e.shiftKey&&this._getActiveRangeInstance()?this._updateActiveRangePosition(u):e.ctrlKey?this._removeAllCollapsedTextRanges():this._isEmpty()||this._removeAllRanges(),n.disableObjectsEvent();let m=SX.create(n);this._scrollTimers.push(m),m.startScroll(o,s),this._onSelectionStart$.next(null==(t=this._getActiveRangeInstance())?void 0:t.startNodePosition),null==(r=n.getTransformer())||r.clearSelectedObjects();let f=o,g=s;this._onPointerEvent=!0,this._scenePointerMoveSubs.push(n.onPointerMove$.subscribeEvent(e=>{let{offsetX:t,offsetY:r}=e;n.setCursor(TV.TEXT),!(Math.sqrt((t-f)**2+(r-g)**2)<3)&&(this._moving(t,r),m.scrolling(t,r,()=>{this._moving(t,r)}),f=t,g=r)})),this._scenePointerUpSubs.push(n.onPointerUp$.subscribeEvent(()=>{if([...this._scenePointerMoveSubs,...this._scenePointerUpSubs].forEach(e=>{e.unsubscribe()}),this._onPointerEvent=!1,n.enableObjectsEvent(),this._anchorNodePosition&&!this._focusNodePosition){if(e.ctrlKey)return void this._disposeScrollTimers();let t=new soe(n,i,a,this._anchorNodePosition,void 0,this._selectionStyle,this._currentSegmentId,this._currentSegmentPage);this._addTextRange(t)}else if(this._anchorNodePosition&&this._focusNodePosition){for(let t of this._rangeListCache)e.ctrlKey&&t.collapsed?t.dispose():this._addTextRange(t);this._addRectRanges(this._rectRangeListCache),this._rangeListCache=[],this._rectRangeListCache=[]}this._anchorNodePosition=null,this._focusNodePosition=null;let t={textRanges:this._getAllTextRanges(),rectRanges:this._getAllRectRanges(),segmentId:this._currentSegmentId,segmentPage:this._currentSegmentPage,style:this._selectionStyle,isEditing:!1};this._textSelectionInner$.next(t),this._disposeScrollTimers(),this._updateInputPosition(!0)}))}removeAllRanges(){this._removeAllRanges(),this.deactivate()}getActiveTextRange(){return this._getActiveRangeInstance()}_disposeScrollTimers(){this._scrollTimers.forEach(e=>{null==e||e.dispose()}),this._scrollTimers=[]}_setSystemHighlightColorToStyle(){let{r:e,g:t,b:r,a:n}=function(){let e=document.createElement("div");e.style.width="0",e.style.height="0",e.style.backgroundColor="highlight",document.body.append(e);let t=getComputedStyle(e).backgroundColor;return e.remove(),new $c(t).toRgb()}(),i={strokeWidth:1,stroke:"rgba(0, 0, 0, 0)",strokeActive:"rgba(0, 0, 0, 1)",fill:`rgba(${e}, ${t}, ${r}, ${null==n?.3:n})`};this._setRangeStyle(i)}_getAllTextRanges(){return this._rangeList.map(goe)}_getAllRectRanges(){return this._rectRangeList.map(poe)}getAllTextRanges(){return this._getAllTextRanges()}getAllRectRanges(){return this._getAllRectRanges()}_getActiveRange(){let e=this._rangeList.find(e=>e.isActive());if(null==e)return null;let{startOffset:t,endOffset:r}=e;return null==t||null==r?null:goe(e)}_getActiveRangeInstance(){return this._rangeList.find(e=>e.isActive())}dispose(){super.dispose(),this._detachEvent(),this._removeAllRanges(),this._container.remove()}_initDOM(){let{unitId:e}=this._context,t=document.createElement("div");t.style.position="fixed",t.style.left="0px",t.style.top="0px",t.id=`univer-doc-selection-container-${e}`;let r=document.createElement("div"),n=document.createElement("div");r.appendChild(n),t.appendChild(r),this._container=t,this._inputParent=r,this._input=n,this._initInput(),this._initInputEvents();let i=this._layoutService.rootContainerElement;(null!=i&&i.isConnected?i:document.body).appendChild(t)}_registerContainer(){this.disposeWithMe(this._layoutService.registerContainerElement(this._container))}_initInput(){this._inputParent.style.cssText="\n position:absolute;\n height:1px;\n width:1px;\n overflow: hidden;\n ",this._input.contentEditable="true",this._input.dataset.uComp="editor",this._input.id=`__editor_${this._context.unitId}`,this._input.style.cssText="\n position: absolute;\n overflow: hidden;\n opacity: 1;\n background: #000;\n color: transparent;\n outline: none;\n z-index: -2;\n caret-color: transparent;\n white-space: pre-wrap;\n user-select: text;\n "}_ensureHostContainer(){let e=this._layoutService.rootContainerElement;null!=e&&e.isConnected?this._container.parentElement!==e&&e.appendChild(this._container):this._container.parentElement!==document.body&&document.body.appendChild(this._container)}_getNodePosition(e){if(null==e)return;let{node:t,ratioX:r,segmentPage:n}=e,i=this._docSkeletonManagerService.getSkeleton().findPositionByGlyph(t,n);if(null==i)return;let a=r<.5;return t.glyphType===IF.LIST&&(a=!0),{...i,isBack:a}}_interactTextRanges(e){let t=[];for(let r of this._rangeList)e.some(e=>e.isIntersection(r))?r.dispose():t.push(r);this._rangeList=t}_interactRectRanges(e){let t=[];for(let r of this._rectRangeList)e.some(e=>e.isIntersection(r))?r.dispose():t.push(r);this._rectRangeList=t}_removeAllRanges(){this._removeAllTextRanges(),this._removeAllRectRanges()}_removeAllCacheRanges(){this._rangeListCache.forEach(e=>{e.dispose()}),this._rectRangeListCache.forEach(e=>{e.dispose()}),this._rangeListCache=[],this._rectRangeListCache=[]}_removeAllTextRanges(){this._rangeList.forEach(e=>{e.dispose()}),this._rangeList=[]}_removeAllRectRanges(){this._rectRangeList.forEach(e=>{e.dispose()}),this._rectRangeList=[]}_removeAllCollapsedTextRanges(){for(let e of this._rangeList)e.collapsed&&e.dispose()}_deactivateAllTextRanges(){this._rangeList.forEach(e=>{e.deactivate()})}_deactivateAllRectRanges(){this._rectRangeList.forEach(e=>{e.deactivate()})}_addTextRangesToCache(e){this._rangeListCache.push(...e)}_addTextRange(e){this._deactivateAllTextRanges(),e.activate(),this._rangeList.push(e)}_addRectRangesToCache(e){this._rectRangeListCache.push(...e)}_addRectRanges(e){0!==e.length&&(this._deactivateAllRectRanges(),e[e.length-1].activate(),this._rectRangeList.push(...e))}_createTextRangeByAnchorPosition(e){this._removeAllRanges();let{scene:t,mainComponent:r}=this._context,n=new soe(t,r,this._docSkeletonManagerService.getSkeleton(),e,void 0,this._selectionStyle,this._currentSegmentId,this._currentSegmentPage);this._addTextRange(n)}_updateActiveRangePosition(e){let t=this._getActiveRangeInstance();if(null==t||null==t.anchorNodePosition)return void this._logService.error("[DocSelectionRenderService] _updateActiveRangeFocusPosition: active range has no anchor");this._removeAllRanges(),this._anchorNodePosition=t.anchorNodePosition,this._focusNodePosition=e;let{scene:r,mainComponent:n}=this._context,i=this._docSkeletonManagerService.getSkeleton(),{_anchorNodePosition:a,_focusNodePosition:o,_selectionStyle:s,_currentSegmentId:l,_currentSegmentPage:u}=this;if(null==a||null==o||null==n)return;let c=hoe(a,o,r,n,i,s,l,u);if(null==c)return;let{textRanges:d,rectRanges:h}=c;this._addTextRangesToCache(d),this._addRectRangesToCache(h),this.deactivate()}_isEmpty(){return 0===this._rangeList.length&&0===this._rectRangeList.length}_getCanvasOffset(){var e;return moe(null==(e=this._context.scene)?void 0:e.getEngine())}_updateInputPosition(e=!1){let t=this._getActiveRangeInstance(),r=null==t?void 0:t.getAnchor();if(!r||r&&!r.visible||null==this.activeViewPort)return void this.focus();let{left:n,top:i}=r,{x:a,y:o}=this.activeViewPort.getAbsoluteVector(TF.FromArray([n,i])),{left:s,top:l}=this._getCanvasOffset();s+=a,l+=o,this.activate(s,l,e)}_moving(e,t){var r;let{_currentSegmentId:n,_currentSegmentPage:i}=this,a=this._findNodeByCoord(e,t,{strict:!0,segmentId:n,segmentPage:i}),o=this._getNodePosition(a);if(null==o||null==a)return;let s=null==a?void 0:a.node.parent,l=null==s?void 0:s.glyphGroup[s.glyphGroup.indexOf(a.node)+1];(null==a?void 0:a.node.streamType)===Bm.PARAGRAPH&&(null==l?void 0:l.streamType)===Bm.SECTION_BREAK&&(o.isBack=!0),this._focusNodePosition=o,this._removeAllCacheRanges();let{_anchorNodePosition:u,_selectionStyle:c}=this,{scene:d,mainComponent:h}=this._context,m=this._docSkeletonManagerService.getSkeleton();if(null==u||null==h)return;let f=hoe(u,o,d,h,m,c,n,i);if(null==f)return;let{textRanges:g,rectRanges:p}=f;this._rangeList.length>0&&g.length>0&&this._interactTextRanges(g),this._rectRangeList.length>0&&p.length>0&&this._interactRectRanges(p),this._addTextRangesToCache(g),this._addRectRangesToCache(p),this.deactivate(),null==(r=this._context.scene)||null==(r=r.getEngine())||r.setCapture()}__attachScrollEvent(){let e=this.activeViewPort;if(!e)return;let{unitId:t}=this._context;if(this._viewPortObserverMap.has(t))return;let r=e.onScrollAfter$.subscribeEvent(e=>{if(!e.viewport)return;let t=this._getActiveRangeInstance();null==t||t.activeStatic()}),n=e.onScrollEnd$.subscribeEvent(e=>{let t=e.viewport;if(!t)return;let r=t.getBounding(),n=this._getActiveRangeInstance(),i=null==n?void 0:n.getAnchor();if(i&&(!i||i.visible)){if(r){let{left:e,top:t,right:a,bottom:o}=r.viewBound;if(i.lefta||i.topo)return void(null==n||n.deactivateStatic())}this._updateInputPosition()}});this._viewPortObserverMap.set(t,{scrollBefore:r,scrollStop:n})}_initInputEvents(){this.disposeWithMe(cq(this._input,"keydown").subscribe(e=>{this._isIMEInputApply||this._eventHandle(e,e=>{this._onKeydown$.next(e)})})),this.disposeWithMe(cq(this._input,"input").subscribe(e=>{if("historyUndo"!==e.inputType&&"historyRedo"!==e.inputType){if(this._rectRangeList.length>0)return e.stopPropagation(),e.preventDefault();this._isIMEInputApply||this._eventHandle(e,e=>{this._onInputBefore$.next(e),this._onInput$.next(e)})}})),this.disposeWithMe(cq(this._input,"compositionstart").subscribe(e=>{if(this._rectRangeList.length>0)return e.stopPropagation(),e.preventDefault();this._isIMEInputApply=!0,this._eventHandle(e,e=>{this._onCompositionstart$.next(e)})})),this.disposeWithMe(cq(this._input,"compositionend").subscribe(e=>{this._isIMEInputApply=!1,this._eventHandle(e,e=>{this._onCompositionend$.next(e)})})),this.disposeWithMe(cq(this._input,"compositionupdate").subscribe(e=>{this._eventHandle(e,e=>{this._onInputBefore$.next(e),this._onCompositionupdate$.next(e)})})),this.disposeWithMe(cq(this._input,"paste").subscribe(e=>{this._eventHandle(e,e=>{this._onPaste$.next(e)})})),this.disposeWithMe(cq(this._input,"focus").subscribe(e=>{this._eventHandle(e,e=>{this._onFocus$.next(e)})})),this.disposeWithMe(cq(this._input,"blur").subscribe(e=>{this._eventHandle(e,e=>{this._onBlur$.next(e)})}))}_eventHandle(e,t){let r=this._input.textContent||"";this._input.innerHTML="",t({event:e,content:r,activeRange:this._getActiveRange(),rangeList:this._getAllTextRanges()})}_getTransformCoordForDocumentOffset(e,t){let{documentTransform:r}=this._context.mainComponent.getOffsetConfig();if(null==this.activeViewPort||null==r)return;let n=this.activeViewPort.transformVector2SceneCoord(TF.FromArray([e,t]));return n?r.clone().invert().applyPoint(n):void 0}_findNodeByCoord(e,t,r){let n=this._getTransformCoordForDocumentOffset(e,t);if(null==n)return;let i=this._context.mainComponent,a=this._docSkeletonManagerService.getSkeleton(),{pageLayoutType:o=RF.VERTICAL,pageMarginLeft:s,pageMarginTop:l}=i.getOffsetConfig();return a.findNodeByCoord(n,o,s,l,r)}_detachEvent(){this._onInputBefore$.complete(),this._onKeydown$.complete(),this._onInput$.complete(),this._onCompositionstart$.complete(),this._onCompositionupdate$.complete(),this._onCompositionend$.complete(),this._onSelectionStart$.complete(),this._textSelectionInner$.complete(),this._onPaste$.complete(),this._onFocus$.complete(),this._onBlur$.complete(),this._onPointerDown$.complete()}};voe=yne([Cne(1,O8),Cne(2,kc),Cne(3,dg),Cne(4,Y(YX))],voe);const boe={id:"doc.command.switch-mode",type:Bc.COMMAND,handler:e=>{var t,r;let n=e.get(Vc),i=e.get(kX),a=e.get(GX),o=e.get(dg).getCurrentUniverDocInstance();if(null==o)return!1;let s=o.getUnitId(),l=null==(t=i.getRenderById(s))?void 0:t.with(YX).getSkeleton(),u=null==(r=i.getRenderById(s))?void 0:r.with(voe);if(null==l||null==u)return!1;let c,d=null==u?void 0:u.getSegment(),h=null==u?void 0:u.getSegmentPage(),m=o.getSnapshot().documentStyle.documentFlavor,f=a.getDocRanges(),g={id:KX.id,params:{unitId:s,actions:[],textRanges:m===Yu.TRADITIONAL&&d?[]:f}},p=Dm.getInstance(),v=[];if(c=void 0===m?p.insertOp(["documentStyle","documentFlavor"],Yu.MODERN):m===Yu.MODERN?p.replaceOp(["documentStyle","documentFlavor"],m,Yu.TRADITIONAL):p.replaceOp(["documentStyle","documentFlavor"],m,Yu.MODERN),!c)return!1;if(v.push(c),m!==Yu.MODERN){var b;let{drawings:e={},body:t}=o.getSnapshot(),r=null==(b=null==t?void 0:t.customBlocks)?[]:b;for(let t in e){var C,y;let n=e[t],i=r.find(e=>e.blockId===t);if(null==i)continue;let a=n.docTransform.positionV,{relativeFrom:o,posOffset:s}=a;if(o===cc.PARAGRAPH)continue;let{startIndex:u}=i,c=l.findNodeByCharIndex(u,d,h),m=null==c||null==(C=c.parent)?void 0:C.parent,f=null==m?void 0:m.parent,g=null==f?void 0:f.lines.find(e=>e.paragraphIndex===(null==m?void 0:m.paragraphIndex)&&e.paragraphStart),b=null==f||null==(y=f.parent)?void 0:y.parent;if(null==c||null==m||null==g||null==f||null==b)continue;let _=0;o===cc.LINE?_-=m.top:o===cc.PAGE&&(_+=b.marginTop),_+=g.top;let w={...a,relativeFrom:cc.PARAGRAPH,posOffset:(null==s?0:s)-_},E=p.replaceOp(["drawings",t,"docTransform","positionV"],a,w);E&&v.push(E)}}return g.params.actions=v.reduce((e,t)=>Dm.compose(e,t),null),!!n.syncExecuteCommand(g.id,g.params)}},Coe={id:"doc.command.create-table",type:Bc.COMMAND,handler:async(e,t)=>{var r,n;let{rowCount:i,colCount:a}=t,o=e.get(GX),s=e.get(dg),l=e.get(Vc),u=e.get(Ine),c=o.getActiveTextRange();if(null==c)return!1;let{segmentId:d,segmentPage:h}=c,m=s.getCurrentUniverDocInstance(),f=null==m?void 0:m.getSelfOrHeaderFooterModel(d).getBody();if(null==m||null==f)return!1;let g=m.getUnitId(),p=Rne(e,g),v=null==p?void 0:p.getSkeleton();if(null==v)return!1;let{startOffset:b}=c,C=(null==(r=f.paragraphs)?[]:r).find(e=>e.startIndex>=b),y=v.findNodeByCharIndex(b,d,h);if(null==y)return!1;let _=new Pm,w=Dm.getInstance(),E=[],S=b+4,A=[{startOffset:S,endOffset:S,collapsed:!0}],I={id:KX.id,params:{unitId:g,actions:[],textRanges:A}};b>0&&_.push({t:xc.RETAIN,len:b}),_.push({t:xc.INSERT,body:{dataStream:Bm.PARAGRAPH,paragraphs:Tne(Bm.PARAGRAPH,C)},len:1});let R=mne(f,b,u.getDefaultStyle(),u.getStyleCache()),{dataStream:x,paragraphs:T,sectionBreaks:N}=function(e,t){let r=Bm.TABLE_START,n=[],i=[];for(let a=0;aDm.compose(e,t),null),!!l.syncExecuteCommand(I.id,I.params)}},yoe={id:"doc.table.delete-rows",type:Bc.COMMAND,handler:async e=>{let t=e.get(GX),r=e.get(dg),n=e.get(Vc),i=t.getRectRanges(),a=Une(t.getActiveTextRange(),i);if(null==a)return!1;let{segmentId:o}=a,s=r.getCurrentUniverDocInstance(),l=null==s?void 0:s.getSelfOrHeaderFooterModel(o).getBody();if(null==s||null==l)return!1;let u=Rne(e,s.getUnitId());if(null==u)return!1;let c=u.getViewModel(),d=null==s?void 0:s.getUnitId(),h=new Pm,m=Dm.getInstance(),f=Vne(a,c);if(null==f)return!1;let{offset:g,rowIndexes:p,len:v,tableId:b,cursor:C,selectWholeTable:y}=f;if(y)return n.executeCommand(woe.id);let _=[],w=[{startOffset:C,endOffset:C,collapsed:!0}],E={id:KX.id,params:{unitId:d,actions:[],textRanges:w}};g>0&&h.push({t:xc.RETAIN,len:g}),h.push({t:xc.DELETE,len:v});let S=xne(s,o);_.push(m.editOp(h.serialize(),S));for(let e of p.reverse()){let t=m.removeOp(["tableSource",b,"tableRows",e]);_.push(t)}return E.params.actions=_.reduce((e,t)=>Dm.compose(e,t),null),!!n.syncExecuteCommand(E.id,E.params)}},_oe={id:"doc.table.delete-columns",type:Bc.COMMAND,handler:async e=>{let t=e.get(GX),r=e.get(dg),n=e.get(Vc),i=t.getRectRanges(),a=Une(t.getActiveTextRange(),i);if(null==a)return!1;let{segmentId:o}=a,s=r.getCurrentUniverDocInstance(),l=null==s?void 0:s.getSelfOrHeaderFooterModel(o).getBody();if(null==s||null==l)return!1;let u=Rne(e,s.getUnitId());if(null==u)return!1;let c=u.getViewModel(),d=null==s?void 0:s.getUnitId(),h=new Pm,m=Dm.getInstance(),f=function(e,t){var r;let{startOffset:n,endOffset:i,segmentId:a}=e,o=t.getSelfOrHeaderFooterViewModel(a),s=null==(r=t.getBody())||null==(r=r.tables)||null==(r=r.find(e=>n>=e.startIndex&&i<=e.endIndex))?void 0:r.tableId,l=[],u=null,c=[],d=-1,h=-1,m=-1;for(let e of o.getChildren()){for(let t of e.children){let{children:e}=t,r=e[0];if(r){if(nr.endIndex)continue;u=r;for(let e of r.children)for(let t of e.children){let r=e.children.indexOf(t);n>=t.startIndex&&n<=t.endIndex&&(h=r),i>=t.startIndex&&i<=t.endIndex&&(m=r)}}if(u)break}if(u)break}if(null==u||null==s)return null;for(let e=h;e<=m;e++)c.push(e);let f=0;for(let e of u.children){let t=e.children[h],r=e.children[m];l.push({retain:t.startIndex-f,delete:r.endIndex-t.startIndex+1}),f=r.endIndex+1}return d=u.startIndex+3,{offsets:l,tableId:s,columnIndexes:c,cursor:d,selectWholeTable:c.length===u.children[0].children.length,rowCount:u.children.length}}(a,c);if(null==f)return!1;let{offsets:g,columnIndexes:p,tableId:v,cursor:b,rowCount:C,selectWholeTable:y}=f;if(y)return n.executeCommand(woe.id);let _=[],w=[{startOffset:b,endOffset:b,collapsed:!0}],E={id:KX.id,params:{unitId:d,actions:[],textRanges:w}};for(let e of g){let{retain:t,delete:r}=e;t>0&&h.push({t:xc.RETAIN,len:t}),h.push({t:xc.DELETE,len:r})}let S=xne(s,o);_.push(m.editOp(h.serialize(),S)),p.reverse();for(let e=0;eDm.compose(e,t),null),!!n.syncExecuteCommand(E.id,E.params)}},woe={id:"doc.table.delete-table",type:Bc.COMMAND,handler:async e=>{let t=e.get(GX),r=e.get(dg),n=e.get(Vc),i=t.getRectRanges(),a=Une(t.getActiveTextRange(),i);if(null==a)return!1;let{segmentId:o}=a,s=r.getCurrentUniverDocInstance(),l=null==s?void 0:s.getSelfOrHeaderFooterModel(o).getBody();if(null==s||null==l)return!1;let u=Rne(e,s.getUnitId());if(null==u)return!1;let c=u.getViewModel(),d=null==s?void 0:s.getUnitId(),h=new Pm,m=Dm.getInstance(),f=Fne(a,c);if(null==f)return!1;let{offset:g,len:p,tableId:v,cursor:b}=f,C=[],y=[{startOffset:b,endOffset:b,collapsed:!0}],_={id:KX.id,params:{unitId:d,actions:[],textRanges:y}};g>0&&h.push({t:xc.RETAIN,len:g}),h.push({t:xc.DELETE,len:p});let w=xne(s,o);C.push(m.editOp(h.serialize(),w));let E=m.removeOp(["tableSource",v]);return C.push(E),_.params.actions=C.reduce((e,t)=>Dm.compose(e,t),null),!!n.syncExecuteCommand(_.id,_.params)}},Eoe="doc.command.table-insert-row",Soe="doc.command.table-insert-column",Aoe={id:"doc.command.table-insert-row-above",type:Bc.COMMAND,handler:async e=>e.get(Vc).executeCommand(Eoe,{position:Mne.ABOVE})},Ioe={id:"doc.command.table-insert-row-bellow",type:Bc.COMMAND,handler:async e=>e.get(Vc).executeCommand(Eoe,{position:Mne.BELLOW})},Roe={id:"doc.command.table-insert-column-left",type:Bc.COMMAND,handler:async e=>e.get(Vc).executeCommand(Soe,{position:One.LEFT})},xoe={id:"doc.command.table-insert-column-right",type:Bc.COMMAND,handler:async e=>e.get(Vc).executeCommand(Soe,{position:One.RIGHT})},Toe={id:Eoe,type:Bc.COMMAND,handler:async(e,t)=>{let{position:r}=t,n=e.get(GX),i=e.get(dg),a=e.get(Vc),o=n.getRectRanges(),s=Une(n.getActiveTextRange(),o);if(null==s)return!1;let{segmentId:l}=s,u=i.getCurrentUnitForType(Pi.UNIVER_DOC),c=null==u?void 0:u.getSelfOrHeaderFooterModel(l).getBody();if(null==u||null==c)return!1;let d=Rne(e,u.getUnitId());if(null==d)return!1;let h=d.getViewModel(),m=null==u?void 0:u.getUnitId(),f=new Pm,g=Dm.getInstance(),p=function(e,t,r){var n;let{startOffset:i,endOffset:a,segmentId:o}=e,s=r.getSelfOrHeaderFooterViewModel(o),l=t===Mne.ABOVE?i:a,u=null,c=null==(n=r.getBody())||null==(n=n.tables)||null==(n=n.find(e=>l>=e.startIndex&&l<=e.endIndex))?void 0:n.tableId,d=0;for(let e of s.getChildren()){for(let t of e.children){let{children:e}=t,r=e[0];if(r)for(let e of r.children)if(e.startIndex<=l&&l<=e.endIndex){d=r.children.indexOf(e),u=e;break}if(u)break}if(u)break}return null==u||null==c?null:{offset:t===Mne.ABOVE?u.startIndex:u.endIndex+1,colCount:u.children.length,tableId:c,insertRowIndex:t===Mne.ABOVE?d:d+1}}(s,r,h);if(null==p)return!1;let{offset:v,colCount:b,tableId:C,insertRowIndex:y}=p,_=[],w=v+2,E=[{startOffset:w,endOffset:w,collapsed:!0}],S={id:KX.id,params:{unitId:m,actions:[],textRanges:E}};v>0&&f.push({t:xc.RETAIN,len:v});let A=function(e){let t=Bm.TABLE_ROW_START,r=[],n=[];for(let i=0;iDm.compose(e,t),null),!!a.syncExecuteCommand(S.id,S.params)}},Noe={id:Soe,type:Bc.COMMAND,handler:async(e,t)=>{var r,n,i;let{position:a}=t,o=e.get(GX),s=e.get(dg),l=e.get(Vc),u=o.getRectRanges(),c=Une(o.getActiveTextRange(),u);if(null==c)return!1;let{segmentId:d}=c,h=s.getCurrentUniverDocInstance(),m=null==h?void 0:h.getSelfOrHeaderFooterModel(d).getBody();if(null==h||null==m)return!1;let f=Rne(e,h.getUnitId());if(null==f)return!1;let g=f.getViewModel(),p=null==h?void 0:h.getUnitId(),v=new Pm,b=Dm.getInstance(),C=function(e,t,r){var n;let{startOffset:i,endOffset:a,segmentId:o}=e,s=r.getSelfOrHeaderFooterViewModel(o),l=t===One.LEFT?i:a,u=null==(n=r.getBody())||null==(n=n.tables)||null==(n=n.find(e=>l>=e.startIndex&&l<=e.endIndex))?void 0:n.tableId,c=[],d=null,h=-1;for(let e of s.getChildren()){for(let t of e.children){let{children:e}=t,r=e[0];if(r){if(lr.endIndex)continue;d=r;for(let e of r.children){for(let t of e.children){let r=e.children.indexOf(t);if(l>=t.startIndex&&l<=t.endIndex){h=r;break}}if(-1!==h)break}}if(d)break}if(d)break}if(null==d||null==u||-1===h)return null;let m=0;for(let e of d.children){let r=e.children[h],n=t===One.LEFT?r.startIndex:r.endIndex+1;c.push(n-m),m=n}return{offsets:c,tableId:u,columnIndex:h,rowCount:d.children.length}}(c,a,g);if(null==C)return!1;let{offsets:y,columnIndex:_,tableId:w,rowCount:E}=C,S=[],A=y[0]+1,I=[{startOffset:A,endOffset:A,collapsed:!0}],R={id:KX.id,params:{unitId:p,actions:[],textRanges:I}};for(let e of y){v.push({t:xc.RETAIN,len:e});let t=Bne();v.push({t:xc.INSERT,body:t,len:t.dataStream.length})}let x=xne(h,d);S.push(b.editOp(v.serialize(),x));for(let e=0;eDm.compose(e,t),null),!!l.syncExecuteCommand(R.id,R.params)}},Moe={id:"doc.table.tab-in-table",type:Bc.COMMAND,handler:async(e,t)=>{var r;let{shift:n}=t,i=e.get(GX),a=i.getDocRanges(),o=e.get(Vc),s=e.get(dg).getCurrentUniverDocInstance();if(!s)return!1;let l=null==(r=a.find(e=>e.isActive))?a[0]:r,u=Rne(e,s.getUnitId()),c=null==u?void 0:u.getSkeleton(),d=null==c?void 0:c.getViewModel().getSelfOrHeaderFooterViewModel(null==l?void 0:l.segmentId);if(null==d||null==l)return!1;let h=null;if(h=function(e,t,r){let{startOffset:n}=t,i=null;for(let t of e.getChildren()){for(let e of t.children){let t=e.children[0];if(t&&n>t.startIndex&&nt.startIndex&&n-1)break}if(-1===a||-1===o||null==s)return null;let l=null;if(r===Hne.NEXT){if(l=s.children[a+1],!l){let e=i.children[o+1];e&&(l=e.children[0])}}else if(l=s.children[a-1],!l){let e=i.children[o-1];e&&(l=e.children[e.children.length-1])}if(l){let{startIndex:e,endIndex:t}=l;return{startOffset:e+1,endOffset:t-2}}}(d,l,n?Hne.PREV:Hne.NEXT),h){let{startOffset:e,endOffset:t}=h,r=[{startOffset:e,endOffset:t}];return i.replaceDocRanges(r),!0}return!1!==n||await o.executeCommand(Toe.id,{position:Mne.BELLOW})}},Ooe="COMPONENT_DOC_CREATE_TABLE_CONFIRM",Loe="doc.component.create-table-confirm",koe={id:"doc.operation.create-table",type:Bc.COMMAND,handler:async e=>{let t=e.get(Cg),r=e.get(bf),n=e.get(Vc),i={rowCount:3,colCount:5};return await r.open({id:Loe,children:{label:{name:Ooe,props:{handleRowColChange:(e,t)=>{i.rowCount=e,i.colCount=t},tableCreateParams:i}}},width:"auto",title:{title:t.t("toolbar.table.insert")},onConfirm:()=>{n.executeCommand(Coe.id,i),r.close(Loe)},onClose:()=>{r.close(Loe)}}),!0}},Poe={id:"doc.operation.move-cursor",type:Bc.OPERATION,handler:(e,t)=>!!t},Doe={id:"doc.operation.move-selection",type:Bc.OPERATION,handler:(e,t)=>!!t};function Uoe(e){var t;let{dataStream:r}=null==(t=e.body)?{}:t,n=[Bm.TABLE_START,Bm.TABLE_CELL_END,Bm.TABLE_CELL_START,Bm.TABLE_END,Bm.TABLE_ROW_END,Bm.TABLE_ROW_START,Bm.COLUMN_BREAK,Bm.PAGE_BREAK,Bm.TAB,Bm.DOCS_END,Bm.CUSTOM_BLOCK];if("string"==typeof r)for(let e=0;e{this._blur$.next(e);let t=this.getDocumentData();this._change$.next({target:this,data:t})})),this.disposeWithMe(e.onFocus$.subscribe(e=>{this._focus$.next(e)})),this.disposeWithMe(e.onPaste$.subscribe(e=>{this._paste$.next(e)})),this.disposeWithMe(Ei(e.onInput$,e.onKeydown$.pipe(Un(e=>{let t=e.event;return t.ctrlKey||t.metaKey?[x8.X,x8.V].includes(t.keyCode):[x8.BACKSPACE].includes(t.keyCode)})),e.onCompositionupdate$,e.onCompositionend$,e.onPaste$).subscribe(e=>{if(null==e)return;let{content:t=""}=e,r=this.getDocumentData();this._input$.next({target:this,content:t,data:r,isComposing:"compositionupdate"===e.event.type})})),this.disposeWithMe(this._docSelectionManagerService.textSelection$.subscribe(e=>{if(null==e)return;let{unitId:t,subUnitId:r,...n}=e;t===this.getEditorId()&&this._selectionChange$.next(n)}))}isFocus(){let e=this._param.render.with(voe);return e.isFocusing&&!!e.getActiveTextRange()}focus(){let e=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_DOC),t=this.getEditorId();(null==e||e.getUnitId()!==t)&&this._univerInstanceService.setCurrentUnitForType(t),this._param.render.with(voe).focus()}blur(){this._param.render.with(voe).blur()}select(){let e=this.getDocumentData();return this.setSelectionRanges([{startOffset:0,endOffset:e.body?e.body.dataStream.length-2:0}])}setSelectionRanges(e,t=!0){let r=this.getEditorId(),n={unitId:r,subUnitId:r};return this._docSelectionManagerService.replaceDocRanges(e,n,!1,{shouldFocus:t})}getSelectionRanges(){let e=this.getEditorId(),t={unitId:e,subUnitId:e};return this._docSelectionManagerService.getDocRanges(t)}getCursorPosition(){var e,t;return null==(e=null==(t=this.getSelectionRanges().find(e=>e.collapsed))?void 0:t.startOffset)?-1:e}getEditorId(){return this._getEditorId()}getDocumentData(){return this._getDocDataModel().getSnapshot()}getDocumentDataModel(){return this._getDocDataModel()}setDocumentData(e,t){this._commandService.syncExecuteCommand(sae.id,{unitId:this.getEditorId(),snapshot:e,textRanges:t})}replaceText(e,t=!0){let r=this.getDocumentData();this.setDocumentData({...r,body:{dataStream:`${e}\r\n`,paragraphs:[{startIndex:0}],customRanges:[],sectionBreaks:[],tables:[],textRuns:[]}},"object"==typeof t?t:t?[{startOffset:e.length,endOffset:e.length,collapsed:!0}]:null)}clearUndoRedoHistory(){let e=this.getEditorId();return this._undoRedoService.clearUndoRedo(e)}dispose(){let e=this._getDocDataModel();null==e||e.dispose()}get editorUnitId(){return this._param.editorUnitId}get params(){return this._param}get cancelDefaultResizeListener(){return this._param.cancelDefaultResizeListener}get render(){return this._param.render}isReadOnly(){return!0===this._param.readonly}getBoundingClientRect(){return this._param.editorDom.getBoundingClientRect()}get editorDOM(){return this._param.editorDom}isVisible(){return this._param.visible}getSkeleton(){var e;return null==(e=this._injector.get(kX).getRenderById(this._getEditorId()))?void 0:e.with(YX).getSkeleton()}isSheetEditor(){return Nl(this._getEditorId())}getValue(){var e;return((null==(e=this._getDocDataModel().getBody())?void 0:e.dataStream)||"").replace(/\r\n/g,"").replace(/\n/g,"").replace(/\n/g,"")}getBody(){return this._getDocDataModel().getBody()}update(e){this._param={...this._param,...e}}updateCanvasStyle(){var e;let t=this._getDocDataModel();if(null==t)return;let r={};null!=(e=this._param.canvasStyle)&&e.fontSize&&(null==r.textStyle&&(r.textStyle={}),r.textStyle.fs=this._param.canvasStyle.fontSize),t.updateDocumentStyle(r)}_getDocDataModel(){let e=this._getEditorId();return this._univerInstanceService.getUnit(e,Pi.UNIVER_DOC)}_getEditorId(){var e;return(null==(e=this._param.initialSnapshot)?void 0:e.id)||this._param.editorUnitId||""}};const Voe=["editor","render-canvas"];let Foe=class extends tu{constructor(e,t,r,n,i,a,o){super(),this._univerInstanceService=e,this._renderManagerService=t,this._docSelectionManagerService=r,this._contextService=n,this._commandService=i,this._undoRedoService=a,this._injector=o,bne(this,"_editors",new Map),bne(this,"_focusEditorUnitId",void 0),bne(this,"_blur$",new On),bne(this,"blur$",this._blur$.asObservable()),bne(this,"_focus$",new On),bne(this,"focus$",this._focus$.asObservable()),this._initUniverFocusListener()}_initUniverFocusListener(){this.disposeWithMe(cq(window,"focusin").subscribe(e=>{let t=e.target;this._blurSheetEditor(t)}))}_blurSheetEditor(e){if(Voe.some(t=>e.dataset.uComp===t))return;let t=this.getFocusEditor();t&&!0!==t.isSheetEditor()&&this.blur()}_setFocusId(e){this._focusEditorUnitId=e}getFocusId(){return this._focusEditorUnitId}getFocusEditor(){if(this._focusEditorUnitId)return this.getEditor(this._focusEditorUnitId)}isEditor(e){return this._editors.has(e)}isSheetEditor(e){let t=this._editors.get(e);return!(!t||!t.isSheetEditor())}blur(e){let t=this.getFocusEditor();e&&(null==t||t.setSelectionRanges([])),null==t||t.blur(),this._contextService.setContextValue(Sf,!1),this._contextService.setContextValue(xf,!1),this._contextService.setContextValue(Tf,!1),this._setFocusId(null),this._blur$.next(null)}focus(e){if(e===this._focusEditorUnitId||(this._focusEditorUnitId&&this.blur(),null==e))return;let t=this.getEditor(e);if(null==t)return;this._univerInstanceService.setCurrentUnitForType(e);let r=t.getValue().length;this._contextService.setContextValue(Sf,!0),Nl(e)||this._contextService.setContextValue(xf,!0),function(e){return e.startsWith(Il)}(e)&&this._contextService.setContextValue(Tf,!0),t.focus(),this._setFocusId(e),this._focus$.next({startOffset:r,endOffset:r})}dispose(){this._editors.clear(),super.dispose()}getEditor(e=this._getCurrentEditorUnitId()){return this._editors.get(e)}getAllEditor(){return this._editors}register(e,t){let{initialSnapshot:r,canvasStyle:n={}}=e,i=r.id;null==this._univerInstanceService.getUnit(i,Pi.UNIVER_DOC)&&this._univerInstanceService.createUnit(Pi.UNIVER_DOC,r||this._getBlank(i),{makeCurrent:!1});let a=this._renderManagerService.getRenderById(i);if(null==a&&(this._renderManagerService.create(i),a=this._renderManagerService.getRenderById(i)),a){a.engine.setContainer(t);let r=new Boe({...e,render:a,editorDom:t,canvasStyle:n},this._univerInstanceService,this._docSelectionManagerService,this._commandService,this._undoRedoService,this._injector);var o;this._editors.set(i,r),e.scrollBar||null==(o=a.mainComponent)||null==(o=o.getScene())||null==(o=o.getViewports())||null==(o=o[0].getScrollBar())||o.dispose()}return Jl(()=>{this._unRegister(i)})}_unRegister(e){let t=this._editors.get(e);null!=t&&(this._renderManagerService.removeRender(e),t.dispose(),this._editors.delete(e),this._univerInstanceService.disposeUnit(e))}_getCurrentEditorUnitId(){return this._univerInstanceService.getCurrentUniverDocInstance().getUnitId()}_getBlank(e){return{id:e,body:{dataStream:`${Rl}`,textRuns:[],paragraphs:[{startIndex:0}]},documentStyle:{renderConfig:{verticalAlign:ku.TOP,horizontalAlign:Lu.LEFT},marginLeft:3,marginTop:0,marginRight:3}}}};Foe=yne([Cne(0,dg),Cne(1,kX),Cne(2,Y(GX)),Cne(3,Mc),Cne(4,Vc),Cne(5,Pg),Cne(6,Y(he))],Foe);const joe=V("univer.editor.service"),Hoe="COMPONENT_DOC_HEADER_FOOTER_PANEL",Woe=e=>{let t=iK(Cg),r=iK(dg),n=iK(kX),i=iK(Vc),a=iK(O8),{unitId:o}=e,s=n.getRenderById(o).with(voe),[l,u]=(0,_q.useState)({}),c=(e,t)=>{var l;u(r=>({...r,[t]:e?Vu.TRUE:Vu.FALSE}));let c=r.getUniverDocInstance(o),d=null==c?void 0:c.getSnapshot().documentStyle,h=null==(l=n.getRenderById(o))?void 0:l.with(YX),m=null==h?void 0:h.getViewModel();if(null==d||null==m)return;let f=m.getEditArea(),g=!1,p=s.getSegmentPage(),v=!1;if("useFirstPageHeaderFooter"===t&&!0===e&&((f===dH.HEADER&&!d.firstPageHeaderId||f===dH.FOOTER&&!d.firstPageFooterId)&&(g=!0),g&&0===p&&(v=!0)),"evenAndOddHeaders"===t&&!0===e&&((f===dH.HEADER&&!d.evenPageHeaderId||f===dH.FOOTER&&!d.evenPageFooterId)&&(g=!0),g&&p%2==1&&(v=!0)),g){let r=cu(6);v&&s.setSegment(r),i.executeCommand($oe,{unitId:o,segmentId:r,headerFooterProps:{[t]:e?Vu.TRUE:Vu.FALSE}})}else{let r=s.getSegmentPage(),n=s.getSegment(),a=function(e,t,r){let{useFirstPageHeaderFooter:n,evenAndOddHeaders:i,defaultHeaderId:a,defaultFooterId:o,firstPageHeaderId:s,firstPageFooterId:l,evenPageHeaderId:u,evenPageFooterId:c}=e;return t===dH.HEADER?n===Vu.TRUE&&0===r?s:i===Vu.TRUE&&r%2==1?u:a:n===Vu.TRUE&&0===r?l:i===Vu.TRUE&&r%2==1?c:o}({...d,[t]:e?Vu.TRUE:Vu.FALSE},f,r);a&&a!==n&&s.setSegment(a),i.executeCommand($oe,{unitId:o,headerFooterProps:{[t]:e?Vu.TRUE:Vu.FALSE}})}a.focus()},d=async(e,t)=>{u(r=>({...r,[t]:e})),await i.executeCommand($oe,{unitId:o,headerFooterProps:{[t]:e}}),s.removeAllRanges(),s.blur()};return(0,_q.useEffect)(()=>{let e=r.getUniverDocInstance(o),t=null==e?void 0:e.getSnapshot().documentStyle;if(t){let{marginHeader:e=0,marginFooter:r=0,useFirstPageHeaderFooter:n=Vu.FALSE,evenAndOddHeaders:i=Vu.FALSE}=t;u({marginHeader:e,marginFooter:r,useFirstPageHeaderFooter:n,evenAndOddHeaders:i})}},[o]),(0,$Z.jsxs)("div",{className:"univer-grid univer-gap-4",children:[(0,$Z.jsxs)("div",{className:"univer-grid univer-gap-2",children:[(0,$Z.jsx)("div",{children:(0,$Z.jsx)($7,{checked:l.useFirstPageHeaderFooter===Vu.TRUE,onChange:e=>{c(e,"useFirstPageHeaderFooter")},children:t.t("headerFooter.firstPageCheckBox")})}),(0,$Z.jsx)("div",{children:(0,$Z.jsx)($7,{checked:l.evenAndOddHeaders===Vu.TRUE,onChange:e=>{c(e,"evenAndOddHeaders")},children:t.t("headerFooter.oddEvenCheckBox")})})]}),(0,$Z.jsxs)("div",{className:"univer-mb-1 univer-flex",children:[(0,$Z.jsxs)("div",{children:[(0,$Z.jsx)("span",{children:t.t("headerFooter.headerTopMargin")}),(0,$Z.jsx)(K9,{className:"univer-mt-1.5 univer-w-4/5",min:0,max:200,precision:1,value:l.marginHeader,onChange:e=>{d(e,"marginHeader")}})]}),(0,$Z.jsxs)("div",{children:[(0,$Z.jsx)("span",{children:t.t("headerFooter.footerBottomMargin")}),(0,$Z.jsx)(K9,{className:"univer-mt-1.5 univer-w-4/5",min:0,max:200,precision:1,value:l.marginFooter,onChange:e=>{d(e,"marginFooter")}})]})]}),(0,$Z.jsx)("div",{className:"univer-flex univer-justify-end",children:(0,$Z.jsx)(O7,{onClick:()=>{i.executeCommand(tse.id,{unitId:o})},children:t.t("headerFooter.closeHeaderFooter")})})]})},zoe=()=>{var e;let t=iK(Cg),r=iK(kX),n=iK(dg).getCurrentUniverDocInstance().getUnitId(),i=(null==(e=r.getRenderById(n))?void 0:e.with(YX)).getViewModel(),[a,o]=(0,_q.useState)(!0);return(0,_q.useEffect)(()=>{o(i.getEditArea()!==dH.BODY);let e=i.editAreaChange$.subscribe(e=>{null!=e&&o(e!==dH.BODY)});return()=>{e.unsubscribe()}},[]),(0,$Z.jsx)("div",{className:"univer-text-sm",children:a?(0,$Z.jsx)(Woe,{unitId:n}):(0,$Z.jsx)("div",{className:"univer-text-gray-400",children:t.t("headerFooter.disableText")})})};var Xoe=class e extends oH{constructor(e,t){super(e,t),bne(this,"color",void 0),bne(this,"text",void 0),this.color=null==t?void 0:t.color,this.text=null==t?void 0:t.text}static drawWith(e,t){let{text:r,color:n}=t;e.save(),e.font="13px Source Han Sans CN";let i=e.measureText(r).width;if(function(e,t){var r,n,i;let{radius:a,width:o,height:s}=t;a=null==(r=a)?0:r,o=null==(n=o)?30:n,s=null==(i=s)?30:i;let l=0;l=Math.min(a,o/2,s/2),e.beginPath(),e.moveTo(0,0),e.lineTo(o,0),e.lineTo(o,s-l),e.arc(o-l,s-l,l,0,Math.PI/2,!1),e.lineTo(0,s),e.lineTo(0,0),e.closePath(),t.fill&&(e.save(),e.fillStyle=t.fill,"evenodd"===t.fillRule?e.fill("evenodd"):e.fill(),e.restore())}(e,{height:18,width:Math.min(i+12,200),radius:4,fill:n,evented:!1}),e.fillStyle="rgba(58, 96, 247, 1)",i>188){let t="",n=0;for(let i of r){let r=e.measureText(i).width;if(!(n+r<=188-e.measureText("...").width)){t+="...";break}t+=i,n+=r}e.fillText(t,6,14)}else e.fillText(r,6,14);e.restore()}_draw(t){e.drawWith(t,this)}};const qoe="rgba(58, 96, 247, 1)",Goe="rgba(58, 96, 247, 0.08)";let Yoe=function(e){return e[e.FIRST_PAGE_HEADER=0]="FIRST_PAGE_HEADER",e[e.FIRST_PAGE_FOOTER=1]="FIRST_PAGE_FOOTER",e[e.DEFAULT_HEADER=2]="DEFAULT_HEADER",e[e.DEFAULT_FOOTER=3]="DEFAULT_FOOTER",e[e.EVEN_PAGE_HEADER=4]="EVEN_PAGE_HEADER",e[e.EVEN_PAGE_FOOTER=5]="EVEN_PAGE_FOOTER",e}({}),Qoe=class extends tu{constructor(e,t,r,n,i,a,o,s,l){super(),this._context=e,this._commandService=t,this._editorService=r,this._instanceSrv=n,this._renderManagerService=i,this._docSkeletonManagerService=a,this._docSelectionRenderService=o,this._localeService=s,this._componentManager=l,bne(this,"_loadedMap",new WeakSet),this._initialize()}_initialize(){this._init(),this._drawHeaderFooterLabel(),this._initCustomComponents(),this._listenSwitchMode()}dispose(){super.dispose()}_listenSwitchMode(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(KX.id===e.id){let e=this._context.unit,t=this._docSkeletonManagerService.getViewModel().getEditArea(),r=e.getSnapshot().documentStyle.documentFlavor;t!==dH.BODY&&r===Yu.MODERN&&this._commandService.executeCommand(tse.id,{unitId:this._context.unitId})}}))}_initCustomComponents(){this._componentManager.get("COMPONENT_DOC_HEADER_FOOTER_PANEL")||this.disposeWithMe(this._componentManager.register(Hoe,zoe))}_init(){let{unitId:e}=this._context,t=hne(this._context);null==t||null==t.document||this._loadedMap.has(t.document)||(this._initialMain(e),this._loadedMap.add(t.document))}_initialMain(e){let{document:t}=hne(this._context);this.disposeWithMe(t.onDblclick$.subscribeEvent(async r=>{if(this._isEditorReadOnly(e)||!this._isTraditionalMode())return;let{offsetX:n,offsetY:i}=r,{pageLayoutType:a=RF.VERTICAL,pageMarginLeft:o,pageMarginTop:s}=t.getOffsetConfig(),l=this._getTransformCoordForDocumentOffset(n,i);if(null==l)return;let u=this._docSkeletonManagerService.getViewModel(),c=this._docSkeletonManagerService.getSkeleton(),d=u.getEditArea(),{editArea:h,pageNumber:m}=c.findEditAreaByCoord(l,a,o,s);if(d===h)return;u.setEditArea(h);let{createType:f,headerFooterId:g}=function(e,t,r){let{documentStyle:n}=e.getDataModel().getSnapshot(),{defaultHeaderId:i,defaultFooterId:a,evenPageHeaderId:o,evenPageFooterId:s,firstPageHeaderId:l,firstPageFooterId:u,evenAndOddHeaders:c,useFirstPageHeaderFooter:d}=n;switch(t){case dH.BODY:return{createType:null,headerFooterId:null};case dH.HEADER:return d!==Vu.TRUE||l?c!==Vu.TRUE||r%2!=0||o?i?{createType:null,headerFooterId:i}:{createType:Yoe.DEFAULT_HEADER,headerFooterId:null}:{createType:Yoe.EVEN_PAGE_HEADER,headerFooterId:null}:{createType:Yoe.FIRST_PAGE_HEADER,headerFooterId:null};case dH.FOOTER:return d!==Vu.TRUE||u?c!==Vu.TRUE||r%2!=0||s?a?{createType:null,headerFooterId:a}:{createType:Yoe.DEFAULT_FOOTER,headerFooterId:null}:{createType:Yoe.EVEN_PAGE_FOOTER,headerFooterId:null}:{createType:Yoe.FIRST_PAGE_FOOTER,headerFooterId:null};default:throw Error(`Invalid editArea: ${t}`)}}(u,h,m);if(h===dH.BODY)this._docSelectionRenderService.setSegment(""),this._docSelectionRenderService.setSegmentPage(-1),this._docSelectionRenderService.setCursorManually(n,i);else if(null!=f){let t=cu(6);this._docSelectionRenderService.setSegment(t),this._docSelectionRenderService.setSegmentPage(m),await this._commandService.executeCommand(Joe.id,{unitId:e,createType:f,segmentId:t})}else null!=g&&(this._docSelectionRenderService.setSegment(g),this._docSelectionRenderService.setSegmentPage(m),this._docSelectionRenderService.setCursorManually(n,i))}))}_getTransformCoordForDocumentOffset(e,t){let{document:r,scene:n}=hne(this._context),{documentTransform:i}=r.getOffsetConfig(),a=n.getViewports()[0];if(null==a)return;let o=a.transformVector2SceneCoord(TF.FromArray([e,t]));return i.clone().invert().applyPoint(o)}_drawHeaderFooterLabel(){let e=this._localeService;this.disposeWithMe(this._instanceSrv.getCurrentTypeOfUnit$(Pi.UNIVER_DOC).subscribe(t=>{if(null==t)return;let r=t.getUnitId(),n=this._renderManagerService.getRenderById(r);if(this._editorService.isEditor(r)||null==this._instanceSrv.getUniverDocInstance(r)||null==n)return;let{mainComponent:i}=n,a=i;this.disposeWithMe(Jl(a.pageRender$.subscribe(t=>{if(this._editorService.isEditor(r)||!this._isTraditionalMode())return;let n=this._docSkeletonManagerService.getViewModel().getEditArea()===dH.BODY,{page:i,pageLeft:a,pageTop:o,ctx:s}=t,{pageWidth:l,pageHeight:u,marginTop:c,marginBottom:d}=i;if(s.save(),s.translate(a-.5,o-.5),n?(tX.drawWith(s,{left:0,top:0,width:l,height:c,fill:"rgba(255, 255, 255, 0.5)"}),s.save(),s.translate(0,u-d),tX.drawWith(s,{left:0,top:0,width:l,height:d,fill:"rgba(255, 255, 255, 0.5)"}),s.restore()):(s.save(),s.translate(0,c),tX.drawWith(s,{left:0,top:c,width:l,height:u-c-d,fill:"rgba(255, 255, 255, 0.5)"}),s.restore()),!n){let t={dataArray:[{command:"M",points:[0,c]},{command:"L",points:[l,c]}],strokeWidth:1,stroke:qoe},r={dataArray:[{command:"M",points:[0,u-d]},{command:"L",points:[l,u-d]}],strokeWidth:1,stroke:qoe};aX.drawWith(s,t),aX.drawWith(s,r),s.translate(0,c+1),Xoe.drawWith(s,{text:e.t("headerFooter.header"),color:Goe}),s.translate(0,u-c-d),Xoe.drawWith(s,{text:e.t("headerFooter.footer"),color:Goe})}s.restore()})))}))}_isEditorReadOnly(e){let t=this._editorService.getEditor(e);return!!t&&t.isReadOnly()}_isTraditionalMode(){return this._context.unit.getSnapshot().documentStyle.documentFlavor===Yu.TRADITIONAL}};Qoe=yne([Cne(1,Vc),Cne(2,joe),Cne(3,dg),Cne(4,kX),Cne(5,Y(YX)),Cne(6,Y(voe)),Cne(7,Y(Cg)),Cne(8,Y(W5))],Qoe);const Zoe={id:"sidebar.operation.doc-header-footer-panel",type:Bc.OPERATION,handler:async(e,t)=>{let r=e.get(V5),n=e.get(Cg);return"open"===t.value?r.open({header:{title:n.t("headerFooter.panel")},children:{label:Hoe},onClose:()=>{},width:400}):r.close(),!0}};function Koe(e,t,r,n){let i=Dm.getInstance(),a=null==e?cu(6):e,o=t===Yoe.DEFAULT_HEADER||t===Yoe.FIRST_PAGE_HEADER||t===Yoe.EVEN_PAGE_HEADER,s=i.insertOp([o?"headers":"footers",a],{[o?"headerId":"footerId"]:a,body:{dataStream:"\r\n",textRuns:[{st:0,ed:0,ts:{fs:9}}],customBlocks:[],paragraphs:[{startIndex:0,paragraphStyle:{spaceAbove:{v:0},lineSpacing:1.5,spaceBelow:{v:0}}}],sectionBreaks:[{startIndex:1}]}});n.push(s);let l=cu(6),u=i.insertOp([o?"footers":"headers",l],{[o?"footerId":"headerId"]:l,body:{dataStream:"\r\n",textRuns:[{st:0,ed:0,ts:{fs:9}}],customBlocks:[],paragraphs:[{startIndex:0,paragraphStyle:{spaceAbove:{v:0},lineSpacing:1.5,spaceBelow:{v:0}}}],sectionBreaks:[{startIndex:1}]}});n.push(u);let c="defaultHeaderId",d="defaultFooterId";switch(t){case Yoe.DEFAULT_HEADER:c="defaultHeaderId",d="defaultFooterId";break;case Yoe.DEFAULT_FOOTER:c="defaultFooterId",d="defaultHeaderId";break;case Yoe.FIRST_PAGE_HEADER:c="firstPageHeaderId",d="firstPageFooterId";break;case Yoe.FIRST_PAGE_FOOTER:c="firstPageFooterId",d="firstPageHeaderId";break;case Yoe.EVEN_PAGE_HEADER:c="evenPageHeaderId",d="evenPageFooterId";break;case Yoe.EVEN_PAGE_FOOTER:c="evenPageFooterId",d="evenPageHeaderId";break;default:throw Error(`Unknown header footer type: ${t}`)}for(let[e,t]of[[c,a],[d,l]])if(null!=r[e]){let a=i.replaceOp(["documentStyle",e],r[e],t);n.push(a)}else{let r=i.insertOp(["documentStyle",e],t);n.push(r)}return n}const $oe="doc.command.core-header-footer",Joe={id:$oe,type:Bc.COMMAND,handler:async(e,t)=>{var r;let n=e.get(Vc),i=e.get(dg),a=e.get(kX),{unitId:o,segmentId:s,createType:l,headerFooterProps:u}=t,c=null==(r=a.getRenderById(o))?void 0:r.with(YX),d=i.getUniverDocInstance(o),h=null==c?void 0:c.getViewModel();if(null==d||null==h)return!1;let m=h.getEditArea(),{documentStyle:f}=d.getSnapshot(),g=null!=(null==u?void 0:u.marginFooter)||null!=(null==u?void 0:u.marginHeader),p={id:KX.id,params:{unitId:o,actions:[],textRanges:[{startOffset:0,endOffset:0,collapsed:!0}],debounce:!0}};g&&(p.params.noNeedSetTextRange=!0);let v=Dm.getInstance(),b=[];return null!=l&&Koe(s,l,f,b),null!=u&&Object.keys(u).forEach(e=>{let t,r=u[e],n=f[e];r!==n&&(t=void 0===n?v.insertOp(["documentStyle",e],r):v.replaceOp(["documentStyle",e],n,r),b.push(t),"useFirstPageHeaderFooter"!==e||r!==Vu.TRUE||f.firstPageHeaderId?"evenAndOddHeaders"===e&&r===Vu.TRUE&&!f.evenPageHeaderId&&Koe(s,m===dH.HEADER?Yoe.EVEN_PAGE_HEADER:Yoe.EVEN_PAGE_FOOTER,f,b):Koe(s,m===dH.HEADER?Yoe.FIRST_PAGE_HEADER:Yoe.FIRST_PAGE_FOOTER,f,b))}),0!==b.length&&(p.params.actions=b.reduce((e,t)=>Dm.compose(e,t),null),!!n.syncExecuteCommand(p.id,p.params))}},ese={id:"doc.command.open-header-footer-panel",type:Bc.COMMAND,handler:async(e,t)=>e.get(Vc).executeCommand(Zoe.id,{value:"open"})},tse={id:"doc.command.close-header-footer",type:Bc.COMMAND,handler:async(e,t)=>{var r;let n=e.get(Vc),i=e.get(kX),a=e.get(GX),o=e.get(dg),{unitId:s}=t,l=i.getRenderById(s);if(null==l)return!1;let{scene:u}=l,c=u.getTransformerByCreate(),d=l.with(YX),h=l.with(voe),m=null==d?void 0:d.getSkeleton(),f=null==d?void 0:d.getViewModel();return null!=f&&null!=m&&(a.replaceDocRanges([]),c.clearSelectedObjects(),h.setSegment(""),h.setSegmentPage(-1),f.setEditArea(dH.BODY),m.calculate(),null==(r=l.mainComponent)||r.makeDirty(!0),queueMicrotask(()=>{let e=o.getUnit(s),t=null==e?void 0:e.getSnapshot();if(null==t)return;let r=Uoe(t);a.replaceDocRanges([{startOffset:r,endOffset:r}])}),n.executeCommand(Zoe.id,{value:"close"}),!0)}},rse="UI_PLUGIN_DOCS",nse=e=>{let{value:t,onChange:r,options:n}=e;return(0,$Z.jsx)("div",{className:"univer-grid univer-grid-cols-3 univer-gap-2 univer-p-1.5",children:n.map(e=>(0,$Z.jsx)("a",{className:x7("univer-block univer-h-20 univer-w-[72px] univer-cursor-pointer univer-overflow-hidden univer-rounded univer-transition-all hover:univer-border-primary-500",V7,{"univer-border-primary-500":t===e.value}),onClick:()=>{r(e.value)},children:(0,$Z.jsx)("img",{className:"univer-size-full",src:e.img,draggable:!1})},e.value))})},ise=[{value:sm.ORDER_LIST,img:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEA2ADYAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/CABEIAPQA2AMBEQACEQEDEQH/xAAzAAEAAgMBAQEAAAAAAAAAAAAABwkGCAoFBAMBAQADAQEAAAAAAAAAAAAAAAACAwQBBf/aAAwDAQACEAMQAAAA7+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACrPRXpvZDoUx3gAAAAAAAAAAAfgc027P0wYdAxI12AAAAAAAAMuNiAADmf3Z7hc1u7dU/iMYAAAAAAAAPtMnAAINnHyDYmEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANdZxpZ1VSZHt8mS4YwQUAAAAAZOTqAAAAVM6K9WLIaG3Q6j/P0zhHvmGCAAAAAHqGdAAAAESy5UDpqsJpnjnW+VMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVPortYz2AAAAAAAAAAAACnDTVcfmtGPkOgAGQkwgAAAAAAAHN1to6MMV/qnikYgAHtEnAAAAAAAAGgN0Isly1HPYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEcuUc66bn8tuwcJAAAAAAAAAAACn7TVaznt5wNufpnw6BhZhYAAAAAAAPaJOABBE488WynpNxXyPHoj4j4AAAAAAAGQkwgApU1Uw1LljdNkISjbJntAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH//EACoQAAEEAgIBAgYCAwAAAAAAAAYABQcXBAgJFgMKEAECFSBAYDA4FDpw/9oACAEBAAEIAP1PkJ5Ph/SMkjyEwngx3J3W2nknkmDt1/yfhi43wyfnzfhwP/3Z58vc6ycjDFXTIxOyES7IRLshEuyES7IRLshEuyES7IRLshEuyES7IRLshEuyES7IRLshEuyES7IRIFe3nMKmvHy/t4H/AO7PPkhPkT1GNtxzfQodTi3Ybrh+bAz68D1Xgeq8D1Xgeq8D1Xgeq8D1Xgeq8D1Xgeq8D1Xgeq8D1Xgeq8D1Xgeq8D03Bo21Znhz8D7Yl1pgeCSmXTaIGHUnWgX2CK9rB7/hO2x3OMaa3y4a60xnxR7+TrG7HLu3PD/tPs47TXvFx4bg+xk45jUNuWfgWGYKwzBWGYKwzBWGYKwzBWGYKwzBWGYKwzBWGYINMiR1JG3Az/4ebLdeTtCOPyTpyheNeEuDDuKhyWdx/T9/JAfh5OuVvD1djzZfXyWpGk+IoxTy047425LXl1QOqqB1VQOqqB1VQOqqB1VQOqqB1VQOqqB1VQOpmj5mY3LGdMT+GdYLijZeJTiDJwC/T5aei2A3BT9AmgmtGss5zHsDCut/GxqXqhsNsFs/Cv7gT8nWSO8p4Pxn/J+UW7rzkz84MYaHYXsVO2QxsOe6YlrkStciVrkStciVrkSFZBeXx+wGvL/BkH/aNgxZL6yYTo2MeYiFn+vM+Y0qoVUKqFVCqhQ9HH0F4w3b8J80CEHzkeDeRzy7D8U0X7EchGtPIY9/rs7TtE2s0TG05Tl4PUFYTqN3MNau7SwfuTC4rPuvX5HLVoZNvIJ8mm0YB7q6h0aBjg9PHpucPwPTdyYy7G/sXl/VPpyt5W8reVvK3lbyt5W8reVvK3lbyt5W8reVvIekf688YbT9uy+ykO6iQmdbBTy1RRvFz2+dmOthYiiKNIEjQMhyHPY7E3En+lf4FUESqgiVUESqgiVUESqgiVUESqgiVUESqgiVUESqgiVUESqgiVUESqgiQrHzyxv2A6Zf2c0HGjO/JqCwHHMU+LUT1Cvg8Xj8Ph0WirfyLmmRsfe/jH0S2j0yINqXrZH9m//EAD0QAAEDAgMGBAIIBAYDAAAAAAUCAwQBBgAHEggRExSUpZXU1eUV0wkQICIjM0BgISQwWRYXQkRit2Rwtv/aAAgBAQAJPwD9p5DZw7T21TngDKE8lMlsrQSnYZuo+ekS4SvG7NMxdsW5CIuN/E58AHcEuHF1TJMKKORIIxrsBlL22dNocNloNse1QlqDrRytJxC2aoO9bOtUvb41kpcoAeYtKLAGF7nOXOSkxBrMz4s+7NlyJP6mOxSY4w3Fcl0abpJXGZcddajrfoniqYadfecbaquraHHnVpTRTi61/uKXl/21tIfXIfiyG+R4b8d1xh5GsjDQvQ60pK06kKUhWlVNSVKTXfStaYPmvFJ3z8HzXik75+D5rxSd8/B814pO+fg+a8UnfPwfNeKTvn4PmvFJ3z8HzXik75+D5rxSd8/B814pO+fg+a8UnfPwfNeKTvn4PmvFJ3z8HzXik75+D5rxSd8/B814pO+fg+a8UnfPwXKSo7nPcRiRPlvsr0Dpi0a2nXVIVpWlK06k10qSlVN1aUr9r+4peX/bW0hjNFMzacy/BKP3BZC7cuWMOq1HFDTpQYLu2QKbtcsdChTIwoVEQirstiK/K4SH3gx5kVhnjxH+HxWuI61r4TqHm/xGVtup0utoV91dN+7dXemtaVEdwKedwI7gU87gR3Ap53AjuBTzuBHcCnncCO4FPO4EdwKedwI7gU87gR3Ap53AjuBTzuBHcCnncCO4FPO4EdwKedwI7gU87gR3Ap53AjuBTzuBHcCnncDeBLY4nCd5ye7o4rS2XPw3pTjStTTi0/eRXdv303KpStPs5YWzYN1593pJzEziOAWJDM7MG9phE2WlXIfU/JfQ8RfJXIcmLWwhhurxOTWjdKKTROSeX4jaLvgEzbV15vQgbDV4Gg7LECJViRN31abkyYYoXBnkozDBMlBHQYJCZKiRGGW//ROVf+defYe1loypy0XPHDolwXiVnwgwyQUklSwGGoJbqiK7oPQ6mhcokGCzx0CdGnyozqfpbtu/K/aTvkBAuorlzs55gwMqsmMoj5aJHnsWPNsK0VM2/en+E1qaFnnhMi2x5abGnMxZUyM58ZI5iIzuzZ2H70tKPZ+fKg0MGZzOyoveIQct167x45NYyLjGj4IIq5PlSiRmei63oBgsZn2++dLfU9wJbHJ8J3htO6OLPisufhvIcaVqacWn7yK7t++m5VKVoX7eL8lgv28X5LBft4vyWC/bxfksF+3i/JYL9vF+SwX7eL8lgv28X5LBft4vyWC/bxfksF+3i/JYJceI/wA5xWuTgNa+FAlPN/iMxW3U6XW0K+6um/durvTWtK/0YkOuac07Z+XFl3ATHNGBlkEr3KKhyb0liZLT0AjJCiYpH4DGKocDquiSDWXhlhyJIYjthbXe05mPctnDb/vnNIxtS3haWWcFwoGaPFZeXom1CQwVbeXUOO84+K5wwWjMikc2zMiD1MwolyH7wyDFhMpA2W113Lcpm8idyCAhMuJmG27quB6QXuAOSNQicu2ysp51My3XRTsZdYimMZzZcX7mfksQQKzWsS1brEGbmsIkqVJHuQrkFwpLsmBJhk4csSSaWmqhRiM+JJUikmlxaYW+3HlcHiLjqbQ9TgPtSEaFOtvIpvWymitTat6aqpTdWtFUmmuog+nYmmuog+nYmmuog+nYmmuog+nYmmuog+nYmmuog+nYmmuog+nYmmuog+nYmmuog+nYmmuog+nYmmuog+nYklHJEXjcNEh6ItmvHYdjr1pahMrruQ8qqdLidyqJrXfSlU1/o2WKzAytzFDqCXXaxejyY82NSQxNhy4suI7HnijAcnFhGAJwXKhlgZqBALipkQhDjSG889u3M/IcW6yqLsv5hbU1xO7PNI8Z2j0Uc7Y1ngrOnPDI7lK1TBcuBTLyVLblUfacWhVmv2TeOd9rZa2VdYITMbh2AJtfKW2htpWQGsyy4USKKtWCLBiYMWscemjLnCqqjaNW6ljFbezX2lJ06dmHPmXSaLhoqjVxO3hc0W1Ak6Q5EAwbmu1bdwFIieZajy4sSEDoHDMJGfvHZfzVJMXflw9fj20QzMo1aA3TaZi7G349t/AHkEbGZqHdtErfDt3jHR9/LrbDNsT9CJ736qfbadn66ti4hngXHOW7Hculd+R7ozDEtyGLmq9SSwMpDtsYmo1LNW6uJeXr3vVpT6kMuSIvK8NEhLi2a8eZHjr1pacZXXch5VU6XE7lUTWu+lKprCC9PO9RxCC9PO9RxCC9PO9RxCC9PO9RxCC9PO9RxGGNx5XNcRcdmWh6nAhyJCNCnZryKb1sporU2remqqU3VrRVP0P9s8v/APd5w4MCohs0iY6HDySERgoWaHNJeIODB7ryJc9EBlaXZi4rLqYrSkuP1QitK/VI5Tm+X/mODx+HwJTEn8ris6tXB0fmJ06tX8d2mtw9p9zxcPafc8XD2n3PFw9p9zxcPafc8Geb5TmP5f4dwOJx4r8b83nntOnja/y1atOn+G/VT9DmBcjF62bs9StnuNlu2MFqtaaGlGrqNKuF8qpXxZsmh26pDNIraeVq3EZVWupa8Zs5q2zfmzgJCCB9gApo5dnXMxapu57iAJW/MjuFLejSSN3F494QBrr0G6hHBhcATJdJkCX7dvYTl7lfl6JWZui6DK3asRWKutRYcKFDitSCBc0XISIooECFRZhc4XmQhQqFLny2GHPox/pH7i2U0sVKq2iIGTMFwI5acdt10he0QUwZlCHrSiMx35Xxx284w9MRCVzpA+SusRF6xb5y3u1D7cUg3HkjyYgvAUloxbVyBpzbJAHcYSSqkckNmNJVTUzMiOyxsyDNk/qDuX8XZ6sLahs3NjattO8j1wByd95cWzPFRagbYhiLYuAdcUytulL8rQLccwIKeMPW8+uZRTFZMGbb1jWBYdtyCBIhMdgW/a1o2lbQ1T8mTIdXWKMCggYmGpa1V5eEPgxq/lMtbqCFgtlzNrbyzENbNw1sVKCiq2pEnHJLkq34D0eHGQHYtc1YFvt8jEaaizLemiHtEgU5Fi/UO5/n+b/3fK8LleW/8aRxOJzH/DTo/wBWr7tvd29sxb3dvbMW93b2zFvd29sxb3dvbMW93b2zFvd29sxb3dvbMW93b2zFvd29sxb3dvbMW93b2zFvd29sxb3dvbMW93b2zFvd29swG5Tm+Y/mPiPH4fAivyfyuRZ1auDo/MTp1av47tNfsXbGs3LXL8ZSeYJOIVJnz5ch5EQRb1vjG60kGbkuEm9GFAxMb8WZOktUWtiOl+Qy/dOxN9FKQlwrgsfZ9t+e3C2gNqkFEkUm27c+ZRqkaQ1b1nmHW45iGxVPwb4fQau1rfuWXUXm21ZgXL7LLL4Kxb9n2fb7C2BgYYwtx5SEKecflzJkyW/JIlSpGTLKmSsuaWLTZpKbKlPfU9CZ5HnuLzjj7ermeT4fD4MaRv3cuvXq0bt6d2rfXTNC9RO9OxNC9RO9OxNC9RO9OxNC9RO9OxNC9RO9OxNC9RO9OxNC9RO9OxNC9RO9OxNC9RO9OxNC9RO9OxNC9RO9OxNC9RO9OxNC9RO9OxNC9RO9OxNC9RO9OxNC9RO9OxJGOR4vNcREd6Wt6vHhyI6NCXYTKK7lvJqrU4ncmiq031pRNfsZ4WNlPaWV2YB7Mq9QV/W0UuoJe9ysDBYnL958NCaegTo1tw5d9MzIRlp+DMZuSjKor6KvUT9K/s4sssoQ0001si5aNtNNNpohttttGWlEoQhNKJQhNKJSmlKUpSlKUxtS5e7TxYwRtt7LchYOVNvZWt2gOhxi6Llhk49v27bzZlZeTIDPxHpLclcNMCQhtbaZCkq2zLt2rWc8MyB902ANPv3S9BsQaPm3hLJF0R7pNm0hT96JuQUwbt+2FMW6MatQYhmaZouNUX+5v//EADkRAAICAAQDBAUJCQAAAAAAAAECAxESITFBAARREzJAYWBxc6HwFCIzgZGxssHRIzRCQ1NUcJPx/9oACAECAQE/APROGAyhnLrHGh+ezHTK8hufKx+XHNxRRrAYgadCxJJtu6QSCaBz2A93i+b+i5P2I/DH4vm/ouT9iPwx8GGQRCYr+zJoNY6kaXYFirr7x4ppHcKGYkIKUH+EZCh9g4MkhQRlzgBsLeQPxtp/gqMIzqHbAhPzmq6Gv2nQdLvhuYhRisfLRMgNBnGJmA3xHMXtrXuHMxoFimjXAsoNpdhWGteWo6CtBdeJ5WJZplRu7RYgZE1tfnvWdXXXhuacMVijjjAJAURgtrVMSDZ65DPjnMfYcv2gAe2xAACjQyoZA1r58FHVVZlYK3dJBAPqO/iEdo2DocLLmCPj7RweclOYWJX/AKixjH67JOf1cPM7oqMbCFiOpLGySdTZPDzySIkbm1Tu5AbUL60Mh+vpiIL5cz9ouTVg3OYGt5HO6ru534sRIeVabPGJcAzyqlOnXPxa/uD+3H4V4/LxQmIgMFCi+PFvdAV024TmGSF4QqkPeZ1FgA+vQV0PX0eRGdgiAszGgB8adToBx8jN4DPAJNMGLO+mmvlXEkbxMUcUw942IO4PXxPLTJD2rEHGYysZABAY9cxWdZja+MyazJJ9ZJP3knjnv5CsbkWECTc3lr53iP13v4mNGkcIgtjp+ZPQDc8FouUsJUvMaFz3IzuFG5H/AEju8MzOxZiWZjZJ3+PdoPE8rOkBdmQsWAUEEAgb5+eWnTjtOT/t5P8AYf14laFsPZRtHV4sTFr0rUmqz4nljlEeCIR4VokVnpllVgVkTnnt6T//xAA2EQACAQEFAwkGBwEAAAAAAAABAhEDABIhMUFAYYETMlFgcZGhsfAiQlJywdIjNENTcHOS4f/aAAgBAwEBPwDqm9QIQoBZjko+p08bUXdjUDnFWiBEDOQO7ftdHn1vnPm210efW+c+bWvqWKT7Q0/7l67dqCqpJAgsZO82urevQLxwnX+CmJCkqJaMBv8AWNhTciWquGOMKYA3QM+EWpM156bGShwPSN/hvx2mq5RCRngBunX1rYUVIl2ZiRJN7DhutRjlal0ysYHiLBlJIBBIzAOW0EBgQRIOYsKCZS5HwlvZ7hHnYIqsWAgkAbgBAEDhZaaqzMBBbPzw49ceU/EFO6cRN7TKe7SZzwjay7Csqe6Unjjrw2s/mF/r+7ayk1BUnJbsd+PjZqYZ1eTK6aYeWePT1eJCgkmAMzbl9RTqFfijx6I42Vg4DKZB9QdpqIXugRdDAsDOIHRh2+FsAOgDuAFqH6hHNLm72Y/SPQ2lmCgschaHrYtKU9F95uid2vlPOsAFAAEAZDaatNqgUAgAEkzqdO7Hvtdr/uL/AJH22QOJvsGyiBEdOgtTRkvXnLSZGeGeOJzOvZ1n/9k="},{value:sm.ORDER_LIST_1,img:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEA2ADYAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/CABEIAPQA2AMBEQACEQEDEQH/xAAyAAEAAgMBAQEAAAAAAAAAAAAABwkGCAoFAwQBAQADAQAAAAAAAAAAAAAAAAACAwQB/9oADAMBAAIQAxAAAADv4AAAAAAAAAAAAAAAAAAAAAAAAAAAABB8+ThDoAAAAAAAAAAAqz0V6b2Q8ProwxXgAAAAAAAAAAD4HNNuzyjHt82S7Ked1gPIAAAAAAABlxsQAAcz+7PlvO9F2K/6mJHwAAAAAAAB+0ycAAg2cdIrY2n57AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABh/eZhzoAAAAAAAAAAAA50dtHRdivAAAAAAAAAAA11nGlnVVJkexTLnR1ivxggoAAAAAycnUAAAAqZ0V6sWQ0NuhuPVPo4xX+YYIAAAAAeoZ0AAAARLLlQOmqwmmem1kbmM1oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGId5X1dDSa2HQbjvAAAAAAAAAAAHmFS2mrUGyPR1ivx8h0AAyEmEAAAAAAAHh9c+Wyjzjo6xX+KRiAAe0ScAAAAAAAD8ZofdDSy2F5+S4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACI5co5103P5battFd5mS4AAAAAAAAAACn7TVaznt5wNufK+d6PMV/wCIiQAAAAAAAHtEnAAgiceeLZT0m4r6CtdPR5iv88g0AAAAAAAGQkwgApU1Uw1Lli9Nlbt1fQ3jvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/8QAKRAAAAYCAQQCAgIDAAAAAAAAAAUGBwgXBAkDAQIKFhVAIGAwODY5UP/aAAgBAQABCAD/ALTfSSZF03SeJkkL9jYTs+T8I1I3jJonRjMma0p3J2TI6a+zPNy4ObQNdmxJNfY6YuN0ye/N6aH/AO7O/IeTqSYRhqhcBQcyGN81QIlHHxkFAoD7hPjvh4fZFEPZFEPZFEPZFEPZFEPZFEPZFEPZFEPZFEPZFEPZFEPZFEPZFEPZFEPZFEPZFEEKdnOYqivHy/x0P/3Z35DyJO7JexCwY19pbg4ODF4OHGxhkoVK5mRkZeRXiPFeI8V4jxXiPFeI8V4jxXiPFeI8V4jxXiPFeI8V4jxXiPFeI8V4jxXiPBcjU2VZnDn4H4tLGlh2JVLurZoEfBp0FTtEX8/5CfqyMcNAOPhmxi3n2isz5NeG9rkb4v8Ary2Xb4tpG93FrGls9Uc/H1bcjd2XOn+U8nDZ65xa8Jg+Qpz9EEYapH/LQsjHMKk2ZZ+BYawFhrAWGsBYawFhrAWGsBYawFhrAWGsBYawFhrAI1ZKQ1UhbgZ/8O7Ka7nQI1+Oc+TLtrpLYxdtUnHZmP4/fYwfDs62t4cXd1nbyv3NHThCJOg5Kcc8Lckry6oToqhOiqE6KoToqhOiqE6KoToqhOiqE6KoToqhOgmb4mIzLGNMT+F9WLaiS7SrhjHwRfj5Q9S2AXIo+YSAkaIyvm8cgWVipEx+VtsmldsRlx+3uCrOqBQS3XXTWFsA49oEbFW8xzqnXB3E6Zc1NQy7+wd5XLgkxvm4+j6Zj2zygen5AyB2B9ORn98unR6CUKo2yCMhzzTEtdRC11ELXUQtdRC11EEq4JyeH2AV5f0FP/jahHi4/wCqJIib3d1e/wAgXVIyxUFCT/PE+YUioRUIqEVCKhCebj4E4wzb6Jjh9piX5xf3674NIzWjFnHjukdVTGu04kiZp7QpK/rr7Ps00ZmmWz5PlweQVhGqbuZNRdlKx8yWXSr+x610SBdxr5wzZ1gyO+vtqgY9uwTshs2CPNTVHNojDA6OPG5w+A6LtmLutvsy6UZuj0vSRIgZZnx5dn54t4W8LeFvC3hbwt4W8LeFvC3hbwt4W8LeFvBPOP8APHGGU/jJeSjOxEZNdSCfkqaicW+3nJl1IVomibRhG0RjOM5tn6cbqbZNFzCkIN8TkzyozweGqFEKoUQqhRCqFEKoUQqhRCqFEKoUQqhRCqFEKoUQqhRCqFEKoUQqhRCqFEEq3xyRn2AaZf4boNaL77NUKwbctTxRE8hXg4uPh4YNtfPdpyRyu2euvkr5p27O5cbQsz9m/8QAPhAAAQQBAgMGBAMFBQkAAAAABAIDBQYBAAcIEhMRFJSl1NUVldPlCSFAICIjM2AWJDBZtxAXMkFQVVe0tf/aAAgBAQAJPwD/AK1fgJrdjYEyuhbvUN2OnYawU1dtCIkqwWSLOxcYmUiZ0AZ0yLnIJyUhix8suNHqSQPl39RsNvDxPcVO+EHKSeymy21sEp0ObzHnpiXJK42zlMXWK4FIuN/EzwIOwFhi8xhIQscgiRGtkHKXbh04h4bbSNo9VhKpHVHa2TElt1YO606qy9fjWZSywEfMVIUCMl7POWeSJEjWTPiz7ppZBOfhlF30n1cAXFehD2AYyWq16NxNbU2OXwwO7ksqrySp60GHP5SS4JtlU4NL/cVLSz+oHYwY4w2K4XhpvBKxmXHXWh1v4T1VMNOvvONtZXltDjzq0pwpxec/5ily/wBWuJDSktStC3j2Ot1ZJx+T4k6u6sVXvIi+dOWiURFolsYcThzOGlOp5MYVlxCOlIzdWr8ue3ytI6ZslEiGFI5GHXmEcj7zieVl51pPZ2NuuIxhWdTcu0y1LyTTTTUkY22222Y8lDbaEvYShCE4wlCE4wlKcYxjGMY1PzXzQ76+p+a+aHfX1PzXzQ76+p+a+aHfX1PzXzQ76+p+a+aHfX1PzXzQ76+p+a+aHfX1PzXzQ76+p+a+aHfX1PzXzQ76+p+a+aHfX1PzXzQ76+p+a+aHfX1PzXzQ76+p+a+aHfX1LyhQ7nfuowQeW+yvkjjFo52nXVIVyrSlaeZOeVSUqx2ZxjP7X+Ypcv8AVriQ0tb9440OMihxxYLGHHHB9qtuWXHdwbAS2ytp1kGuH3CozhhPeGFIjoyScZypbK1sMtDjDtNsDjsNoZYYYZRhtpllpvCW2mmm0pQ22hKUIQnCU4wnGMf7IvqEFPukPud+kUc7z7inXV8iDEoTzLUpXKhKUp7exKcYxjGojzCU9bqI8wlPW6iPMJT1uojzCU9bqI8wlPW6iPMJT1uojzCU9bqI8wlPW6iPMJT1uojzCU9bqI8wlPW6iPMJT1uojzCU9bqI8wlPW6iPMJT1uojzCU9bqN6BbHU6TvfD3eTqtLZc/hvFONK5mnFp/eRns7e3HYrGM4/Z2wrNBte/d0J3E3inIFghk7cG7GSM3LFWSfU+S+h6RfkrJOGLWwhhvL0mTnDeMKThM7t7J1vbfamM2U4KqLSpezS8nTK7OInHN075uQ3P1WvxsVe7CuWLiIoSqSNijEV2elAzz+8R4b5v9LXmn3yPgZ+Rqk6dTLNC2gOFtMQkdctWpYqDNOYjp+LQYIuRhzFsyISSh1EjNYfayr9UMqM4bfxdqGdeAgG0NiQVT4vdoAD82k6MZxleEqvcUoEuyuMISVNXPdaDWSpqPrwuMfp9q/8AfXv3D1ZaNqdtFnx0cJYLjKnhQ0YRKEystAhqhK6qRXaJ4PM1FlSUNCnxwBwx5QzqfxbuO/a/iTvMABapXbnhz3BA2q2Y2in5YQc9ijm0KoqZr90/smtTUXPPRJFbj5Y0Y5kUowZz4zI7iI3u3Z4H7pUh6fvyqGDg5nc7ai7iSDldet8fHJyMixxseDBSrh5RUlMnotbwExLTJ9ffnZbPTte1H4lOzsfEOIYQt1yKs7JVjngcvKdaV3WQVtxEimBcyWT2V8r60YZR26e6BbHc+k702neTqnisufw3kONK5mnFp/eRns7e3HYrGM4l/L4v0Wpfy+L9FqX8vi/Ral/L4v0Wpfy+L9FqX8vi/Ral/L4v0Wpfy+L9FqX8vi/Ral/L4v0Wpfy+L9FqS64j/fOq13MBrn6QBTzf8RkVt1PK62hX7q8dvZ2Z7U5zjP8AgiB53TNnaftxS7BJxzUxGUiSu8ooMm6FxJLTwEiTCxIsj8BGlUOQ6rQTBrlw5aOQTDSPGFxd8Tm49lp0bf7zulMcUtwqW2YLkpDNT0qXt7E1SSjIqt7dBjvOPxXfJiWGZikd7ZMEj1MhCWSfuGwcXCbSQ221rstlmblJ2SIhJOXiTJtu1WB4iXsEPJTQUmXW5Up51JlddinRl5EUxpCpWXtfFqjiZvkcKjrEQm2uw7IBklLGsuuIGQNKVo7cruLzrRGMPVo5tWE5U2Mfpb7Y5XR6ix1Noex0H2iEcinW3kY7VspwrmbV2pyrGOzOcKwbNeIB9u0bNeIB9u0bNeIB9u0bNeIB9u0bNeIB9u0bNeIB9u0bNeIB9u0bNeIB9u0bNeIB9u0bNeIB9u0bNeIB9u0TKOEC9bpoIeEWznrsOjr50tBMrz2IeVlPK4nsVhOc9uMZTn/BpcVuBtbuLDqhLXVpfDyRzRsEMGhliliOjnxUxDyYoUxAzkWUHLQc0ABLxRgkgGMQ3vnx27n7DxbrKheF/cLimsTvDzgcZ3Dwsc7RqfBU456MHcxnKQXLApl5KltlYfacWhVNfpNx3vq22tKtcFEmNh0CJq+0tajalSIamUsIQWKqoMXBxIIuR49OGXOllWG0c3Zih/2FLjYoLho4INu5G2026m0/YCCdeLsu5pDtMm7JDwE5uzMOOTQkS7JN2WsNWW91+TQuNkAHHf6vr1htuaXULLbMVSpApk7XZs1yGNmMV6sxq3h0SFhmu5/DYUFb7KS5IkZhTzeHMrTw7W3YePD3Ftu1ZNOusqm2RVsjYyKhy3ZuDnnqzUfjMUWLP5hZsVdeaYi5+PmYRB0rgJZapyYmK/tZNn8UXBvLT58nJku8OG68rHS81t61LTC+tIL23s1sjWMPNqIfmJ47cQ7HSCiMNtfqMpw+HGHlM5UnmTh0cV15vKk5/wCJOFoT2p/54/LR1ckdxZHczcarEk1avj1mJzE1mRDGi0IixnXmkPoaeXh57C+Z5XZnOMdmkuDm720viC4crh0kqbbm6xBRL5kOCY50VoeRE2DeNE40hC+qgkIPLqmmcoyvSGXCBe69NBCXFs565g46+dLTjK89iHlZTyuJ7FYTnPbjGU5ChfDne46ChfDne46ChfDne46ChfDne46ChfDne46GjGxyu9dRY7JaHsdAMghHIp015GO1bKcK5m1dqcqxjsznCsfoP+xy3/oEa/8AN28//wBmO0nviOG7Z7fbiYu7rXOQzCRlvj5qAr/eksN4wKUTaNsayNlJJKeRqbiiFMYQSKk/RHdO993/ALx0ev0+gUwT/K6rPNzdHk/mJ5ebm/Ps5c2Hyn7nqw+U/c9WHyn7nqw+U/c9WHyn7nqZ733TvH93+HdDqdcV8b+b357l5etz/wAtXNy8v5dvNj9AtTaDgyg1uJxjKm0lMLYUtOM/llScLyrGM/lnOPz/AC1erbuZW67ZrrfF2Obr7WLGQuxutSJoA0DVmTXj1jYE6YAkcMVInuLSwwO8QttpW2t72k3O4n7orafYnavc2sydKvW2fCjta/HRlSbs9RlRwJKBse4BcBByU7HSYOHVvVIOxAOqGtLynf6du0Tt7tft7ErmbRaJlbuWBWMutChhBBitESEvNS8gQLFQUFFCmS85LmBRUUEWeWww5+GP+I/YuFNLGZVXEQBsyC5COVMdt12QuwkUxMlRD1SEZHfK+OO3MaPSIhKziI8leREXUW87b21D7Ysg2OTHycRLgKS1MVqyQxzbMhB2OEJVgeSjTGkqxzMmCOlxpgJpO49p3SnNrZQTiJ4VtzdxbAdP3e6cN25OY0pymyk7NkLlLOVtJKTMRX/jLiijDj3LUytTEVBRqMfp53b8Xh6oXFDTd2OK2p3KesEPJ3vbisnxQuYGsBxFYsEdYjM12UvmcQtjMhIp6Yerz6zMKYySCbXqNQKHWyJCSkDHQK/VqjUq1GqfJJIdXkWMhYKDiQ1LWrPdwo8EbP8AKZa7MRC4Lhc3a48txJrhujW4oqFis1QQ6cJcKr4Dw4YyIdirzVAr7fcRGmhTK8bEPchEU4KK60Gfu7NbucJt6ypbrTcvXJ1uHjKjHmYR2tlJYm95Z6TAbcwnLctHxjmcrS2jLGm+t3EIozpc/T6vdmHHun1OVfJz8nLz8i+Xt7eVXZ2Zr3m32zVe82+2ar3m32zVe82+2ar3m32zVe82+2ar3m32zVe82+2ar3m32zVe82+2ar3m32zVe82+2ar3m32zVe82+2ar3m32zVe82+2ahu6d77x/ePiPX6fQFfJ/ldxZ5ubo8n8xPLzc359nLn9i2jU3bXb+MwfMSTiFEnnlkPIEiK9X4xvOCJmyWGTeGioOJG/imHEtYWtgdL5DL9p4JvwpZAsKwUfh9r57YXEBxUwQhGDa7Z9yprAxDVep8w62PMBsZT8G+H4jV1av2UvMXu21TIXb7bLb6FYr9Pp9fYWxGQ0Ywtx5SEKecfLMMMLfJkZWVkSS5WZlSzZaWNNkjSinsNGWat727qcQ9hGxlayIyq7dIoNuANU0w8hxI0gxtrd/476UsJehEpx3lHemE6UhLxseaI0p3KsNpcJGcZQpzKUrVhGFLxleUoWrCe3OEqz+WTYXxB3t2jYXxB3t2jYXxB3t2jYXxB3t2jYXxB3t2jYXxB3t2jYXxB3t2jYXxB3t2jYXxB3t2jYXxB3t2jYXxB3t2jYXxB3t2jYXxB3t2jYXxB3t2jYXxB3t2jYXxB3t2iYxwcXvXUQO8Wt7PXDIHRyJdCZRnsW8nKuZxPYnCs47c4wnP7G+FG2nqW124E9uVdYK/VqUtUJd7KxGRcTt+8/DBNPAHDVsMu9MmBTLT4JjNkwyoV9GXsJ/Ff4cWWWUIaaaa4RdtG2mmm04Q2222jbTCUIQnGEoQnGEpTjGMYxjGMa4qduuJiRkjq8Xt5K0bayubVDUuJjxJjFpHl24GvV1iV+KPvRBI5JaCFANx5KUuNIfVhSly2x20MUVwQ8F0k807iMsUHT5NT+7e6dXey6pkyHl7Q7YRK/LtY5Do26TYJDA5sWtkb+pv//EAD0RAAIBAQUEBgUJCQAAAAAAAAECEQMABBIhMUBBUWETIjJxkaEjQmCBsRQzNFNzgrLB8ENQUlRykpPR8f/aAAgBAgEBPwD99MjqquRCvOE5EGNdDkRwMHaaNA1Qzl1p00PXZjplOQ3nlI/K17pUqa0DSBh0LEkmW7JBIJgHPcB5Woelu9aidUHTU+MjtD35D7xO1Xv5q5/Yj8NO1w+kAbmVwe6J+IFjkSOBPx2m9/NXP7Efhp2uXVNWsdKVJv7m0Hvg7U1R3ChmJCCFB9UZCB4CxqqKAooGlmx1SYAJHZCwTkOcZjT2XKlYxAiRIkESDoRO7ntZ9NdMXr3Yx30208DpwCnjtFMIzqHbAhPWaJga+J0HCZs14ooxWndqTIDAZxiZgN+I5id2seQvNNAtKtTXAtUGUmQrDWOWo4CNBMWuefyhDo1BifdkPxbRdaS1qyo3ZgsQMiY3Tz3xnExxs16cMVpU6dMAkBRTBbWIYkGTxyGdr5j6C79IAHlsQAAgwMoGQMa87XXqUrzVOUU+jU8Wfd44fHw2dHamwdDhZcwR+vEWN8qnMLSV/rFpjH3ySc/dZ6zuioxkIWI4ksZJJ1Mk2qVEFCnRpmc8dVoIlzouYBIXugwCPbBRJAkCSBJyAkxJO4DfavR6CoFDh+qGkCIMnIiTBynXQg2vAFSnSvIAlh0dUD6xRkfvAeGHjtIteqSUaxRJw4VOZk52o9a6XlT6hRxyJOfiFjaRqO+1/wDpB/oX4WpdS53hv42RBziCfJj4eG01qpr1MZAUkAQDllzNrw6qlKhTYMtMYnZTIao2sHeBJiOMbvZ5EZ2CICzMYAH604nQC3yMzgNegKmmDFnPDTXlFqlN6TFHEMPMbiDvB42rIrUqVdFChupUVRAWou8AaYgCfDjtF2rJR6ViDjNMrTIAIDHjmIzjMbptmTGZJPeST8STa/fsFYzUWiBU3mctec4j7532ode63pD6oWoOREz5KNopo1RwiCWOn5k8AN5sWpXSQkVbxoXPYpneFG8j/pHZszM7FmJZmMknf+vLQWu/Vu97c6FVQcyZHliHjtF1rpQLsyFiwCgggEDfnzy04W6S5/y9T/If92qtRbD0NNk1xSxadIiSdM7Vj0NCnQ0ZvS1e89lT3CJ7h7T/AP/EADcRAAIBAgIGBwYFBQAAAAAAAAECEQMhAEESMUBRYXEiMoGRscHwE0JSYHKhBDNDktFQU4LS4f/aAAgBAwEBPwD+tBgSQDdYkbp1bS9QIQoBZjqUeZy++KLuxqBzdWiBEDXIHdxxU6FRKmR6DduqfHsG1UevW+s+LY/Efl8mGBcDltNHr1vrPi2K9wiDW7juGvxG1BVUkgQWMnicBCahdogCEAm28mwvyyPD5XBB1EHK2/a+pWj3aonkw/nxbhtDEhSVEtFhx9XwKbkS1VwxvCmAOEDX2RikzaT02MlDY7xx+3G+K9vZtmrj738toquUQka7AcJz9Z4FFSJdmYkSTpW7OGKMe1qaJlYse0Yq9J6Sb20jyH/J2ggMCCJB1jAoJqlyPhLdHuEeOAiqxYCCQBwAEAQOzCqxqM7CPdQWMLvtv77kfOBMAm5gTA1nlxxTf2izoxci958MUzou9I5dJfpOV90987VRcuktrkjdipatSbfK+v3bV+H/AC/8j5YfpV6a/CCx4eoG1U0FNdGZuTOKYJZ6jAgsYUGxCjhx5ZTn8vEhQSTAGs49vmKdQr8UffdHbhWDgMpkH1BxTYh3psSY6Sk6ypy4x/O0VEL6IEaIYFgZuButz+2LAbgO4AYofqEdUudHlfyj0MVLVaTb5U8vTHaGYKCx1DEPWu0pTyX3m3Twz8J62AAoAAgDUMVb1aIzBJ7BB8jtFWm1QKAQACSZzOXdfvxo1/7i/tH+uEDidNg26BEb8hhOnUapkOgnZrI8uZ+Z/wD/2Q=="},{value:sm.ORDER_LIST_2,img:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEA2ADYAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/CABEIAPQA2AMBEQACEQEDEQH/xAAzAAEAAgMBAQEAAAAAAAAAAAAABwoGCAkFBAMBAQADAQEAAAAAAAAAAAAAAAACAwQBBf/aAAwDAQACEAMQAAAAv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLPRXpvZCwpjvAAAAAAAAAAAA/ArTbs9mDDoGJGuwAAAAAAABlxsQAAVn92fsLmt3bqn8RjAAAAAAAAB9pk4ABBs4+QbEwkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMB7ytZuotI4NGoNkeXmiqwDjvAAAAAAAAAAGH95Wz3UWfMGiMZc4EbKbIuG8YwQUAAAAAZOTqAAACs/uz9+sd8vx7XB3Ud2Md02x75hggAAAAB6hnQAAANQbYeEbf1z1mnGO5c35pmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOWd9ewsZbhVS4B7KLAOO/D+84q6qu7WS4AAAAAAAAAcZtNXrHVrPZVP9DPbZ87TrhOPATZTaKwaBj5DoABkJMIAAAABpFbDVmyPXLNbXL3UWN8N/wBZWi3Z7JuHR6Z4pGIAB7RJwAAAABD0uRFLmv8AZGQI9ybiXI91xnyOJc6o57AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIjlzhzrp7P5bdg4SAAAAAAAAAAAHH7TV1Zz21wNuezPh0DCzCwAAAAAAAe0ScACCJxrxbKbJuK+R49EfEfAAAAAAAAyEmEAHFTVTDUudG6bIQlHrJntAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH//xAAqEAABAwQCAAQHAQEAAAAAAAAGAAcIBAUJFwMWChAVYAEgMDg5OkACFP/aAAgBAQABCAD2nkJyfD8IyRvGTCcGMyZrSncnJMHTX/p+FLTfCp/3W/DA/wDezny8zqpqKMVulRSdkIl2QiXZCJdkIl2QiXZCJdkIl2QiXZCJdkIl2QiXZCJdkIl2QiXZCJdkIl2QiQLe7zWFVrp6v5cD/wB7OfJCeROIxtMc3gUOq426jutHzUFfrwPWvA9a8D1rwPWvA9a8D1rwPWvA9a8D1rwPWvA9a8D1rwPWvA9a8D1rwPWvA9W4NG7VWcNfQfK0saWHYkpd02aCwxJjQLyCK5WD3ux0nSb5k28LXYdYj8QeRO3OCEzNxBUyZ3xcgM3dI5coMZOWeQM753SkYdxf5j9vQV1g6+t65mYkZGwzJB4doUD0dsq0DokAEVOVDr9k3Lp5mVxrLUN3KvoNhmC2GYLYZgthmC2GYLYZgthmC2GYLYZgthmC2GYINMiS6kltoK/6Ga78n/h8U+EimHjQLW43kHS1VNW01PWUcOv2TcuiIJJx+E3nEI6E6vNpp75bam11eqB1aoHVqgdWqB1aoHVqgdWqB1aoHVqgdWqB1aoHVZm+s1juVNdKT6EhoPMPJ95Itvs6s58fEaMijdiTYyZGRuxho2PCAwBQpYxtpcPpNoYcLGlE1z5rNpP4t91ZDcucT8ewUSfErx+yu55xQ8ZCVVTz8/BS8HNU1M6vEHxei44gGzjEo9cMBasVupy5sec67Ky0yMD0JI7/AMk6IGxLaSMGVKVgXgJ/EJClHIbY3FCTFvifOdD2NEK4DQxauMClFEpg5mt5a2mkgQAwY2nib4jgTd+RVdqix2GvulJtciW1yJbXIltciW1yJCrg3m+X6gtdX9PJn+N7IIsBP4hIUq13i0Xun5Kuy+Jy+0qGSuVzttmoKu63ji5eLn4uPm4XX/acjMq69Wa2VdsoLkiGz+vWestK1CtQrUK1CtQoebj0G8Ud2+pIZn7bIZgXyYG8xAiAMxDh83UPR/F1i8bjFu2bntu3eRKAQfkRbBpWwM8hUJhXITFg7i4YxZj8PRTjozUcBMmx7BpNkkbzJHzz0xUtrPd+oiv0ae3X2fZpozNMbPk+XB4gqiuo3uYai7KVj5ksuKv7Hr+jLVAx7cgn+IbNgH3W6hzaBlwvV48NzR8F6t2TF3W38i8v6p6ctvLby28tvLby28tvLby28tvLby28tvLby28tvIecf168Udp+WS8lGdiIyZ1IJ+bU1E4s9vPZjqQrRNE2jCNoGM4znkdidxJ/Sv8Ag1QRLVBEtUES1QRLVBEtUES1QRLVBEtUES1QRLVBEtUES1QRLVBEtUES1QRIVb682O/UF0q/kzQY0X3yagrBty1PFETxCvBxcfDwwWaqfjXWlxqed+MeCUo4ZEEqb1JH3N//xAA9EAABBAECAwYDBAoCAQUAAAAEAgMFBgEABwgSExEUlKXU1ZXT5RUhIrcJECAjMDNAWFlgJFZCRGJktbb/2gAIAQEACT8A/wBT2G3h4nuKnfCDlJPZTZba2CU6HN5jz0xLklcbZymLrFcCkXG/tM8CDsBYYvMYSELHIIkRrZByl24dOIeG20jaPVYSqR1R2tkxJbdWDutOqsvX41mUssBHzFSFAjJezzlnkiRI1kz7WfdNLIJ/qR2MGOMNiuF4abwSsZlx11odb+E9VTDTr7zjbWV5bQ486tKcKcXnP+RS5fm1xIfrIfFIb7j03x3XGHkc8iGhfI60pK08yFKQrlVjmSpSc9uM5xqfmvih3z9T818UO+fqfmvih3z9T818UO+fqfmvih3z9T818UO+fqfmvih3z9T818UO+fqfmvih3z9T818UO+fqfmvih3z9T818UO+fqfmvih3z9T818UO+fqfmvih3z9T818UO+fqfmvih3z9S8oUO537qMEHlvsr5I4xaOdp11SFcq0pWnmTnlUlKsdmcYz+1/kUuX5tcSGt0UmcTm38EqfsFIXXLKNHZaHio2dlIyLtpEU3V5adhYWZjJSViApV0tgV8rpIfehp5mK0z1xH+n1Wuo61z9J1Dzf7xlbbqeV1tCvwrx29nZntTnOMxHmEp63UR5hKet1EeYSnrdRHmEp63UR5hKet1EeYSnrdRHmEp63UR5hKet1EeYSnrdRHmEp63UR5hKet1EeYSnrdRHmEp63UR5hKet1EeYSnrdRHmEp63UR5hKet1G9AtjqdJ3vh7vJ1Wlsufu3inGlczTi0/iRns7e3HYrGM4/Z2wrNBte/d0J3E3inIFghk7cG7GSM3LFWSfU+S+h6RfkrJOGLWwhhvL0mTnDeMKThOye38RxF3iCZrVr3eCg2GrhNQ7LAAmWCDe3LTZJIcVFgnyQzDEnJAxwIMgYUIIwy3/tlriqNt1Q4cift9tm3HWoqChxlIS8aYphp9/LaVuNtpQyy68664hpptbi0pztF9o8JHEHxAY2UmuJLeClW2HTu3IRc3SALyPsLF5m60VEiUMC8QCpGfucVIGGS9gDDeqUSxFOOTWtzBaDCzL8gBU4tmLlrBaLtMxozRREJVK9CBmmyJyGyBeu+9gSKjkkskS0lHh5USjYIbh62r2t2gou5+2dJucLNg78sxl4zTZKtSu5hb887X2FW6nW2Ot4dfiq0GuDEmI2PXNTWRHpGQ/pqhXb9Q7SKgCzU23RAU/WbFHoJYL+zpyEkmSI6WjnXxmVER5474ZSEdElh1lS21V+DqlXgOJjdSMgq3WokCCgIWNGt3CagaPiYeLHFjo0EdH4GBAx2WGk/hbbTj7v1bYUPcGxbWSxdg21l7pVYWzmUKwm9xw/YqiuaDNxAWHsjQksTsYkaWFQzlApjKHXkuf268MH5Q8N363ugWx3PpO9Np3k6p4rLn7t5DjSuZpxafxIz2dvbjsVjGcS/l8X6LUv5fF+i1L+XxfotS/l8X6LUv5fF+i1L+XxfotS/l8X6LUv5fF+i1L+XxfotS/l8X6LUv5fF+i1JdcR/vnVa7mA1z9IAp5v8AeMitup5XW0K/CvHb2dme1Oc4z/A/um3b/wD2HCdrd/bzZioS9hj6pF2Tci1xFShz7HKNkvhQ4p0wUKw8YsUM091CFZwLGgnyRamAAiiGSGCwy2GihCxXWyBihiG0usEDvtKW08w80tLjTralNuNqStCspzjOf7deGD8oeG7W8+2sBvvf4UixUnaOXuEIBf7RCjd/6h8JWSTG5M9paYmYcFSwwp01mFmng232oeSWLpb7Y5XR6ix1Noex0H2iEcinW3kY7VspwrmbV2pyrGOzOcKwbNeIB9u0bNeIB9u0bNeIB9u0bNeIB9u0bNeIB9u0bNeIB9u0bNeIB9u0bNeIB9u0bNeIB9u0bNeIB9u0bNeIB9u0TKOEC9bpoIeEWznrsOjr50tBMrz2IeVlPK4nsVhOc9uMZTn+BH2Yu/8AB7dJy+7LkQljJhosGw2E+kSUk5YY1llxqeFUTt9XMsivraS0hotGFZwUrKa5YZ2u0e7CX2tvVa0ydSlwZpgAyJLYUfGqzgiMl4qQLj5ER9lxfTW2UA+DIjCmsxzEPWqpBxNbr0QLlzI0VBwYA8XExw+XluvZYBAFHGay6445ltpPOtau1WQLI1vpxE1Sm0zck8yxEF1oqEokDUq5ANxFdWykeJJbjKVBJKIaecUS82S6rCckKximzhXEVtVBhQtblQ7VKgVclyIZmBoCbnayM4gWUnIAWdOGjSlvNDLZSEmRDkMxoGR/9qt0Vufv0LDypdQ4bdv5kaX3Hmjo+MLlFE20eKZmHNs6WACEXKz9ztgQ4oULHyT8QBPyY7MOTRmttX94IKcmHaOxY121mAVC3Gx1PoN2JyDra5JJOIDB/UVCg5Z733Xke6HeHnmhhhmnHyCH3EMsMMMoy468865lLbTTTaVLccWpKEITlSs4TjOdR8Zxc7kz249RpN/IoN1ZB2u2qGtJ5kewzPboRMDcIOVvrzwBywKFDNEEoFiZx6elIF+PHDkNXapbd0qCYUTNW68WKIqtaiR0pUrL0jOThYMaGjsSrsUQS3hXZnCe3P3a28mLrtjMUS9WdriZlJU6swtklqKJNPyLe3dIkKuo+1UvJ8MVAIup05X0lzQUymNhjYyPEkpb+k2YrY/EZu9wccYExdt3ph6UsluceltgLyGcHWyJ8+RDo8YWAywAdH0oOAHlRWUYmEyDuXHV/wDSLz+cO4umXyK1eqtYabYRxSHAyX4OzxJcJLMjls5w8K+6AcQhohrOHGHFJdRnCk41tBVtpKa5+k74dZCTHg0HHzdkk8bZb/tolrfbp4yWttwlWWV90FkbNNypYQCGY4N0ePHYGa1R07jbcRd2r9/zUn5ufgo+SsNXbkEwuZZ+tycRJHRg7kk8+TEqOQBJZQ2NJsGAKIDfqddotIqv6NmYiKzUalDR9ercBFjy3EH0QIiGihxY+PFbypS8MjDtoy4tbisZWtas/qQy4QL3XpoIS4tnPXMHHXzpacZXnsQ8rKeVxPYrCc57cYynIUL4c73HQUL4c73HQUL4c73HQUL4c73HQUL4c73HQ0Y2OV3rqLHZLQ9joBkEI5FOmvIx2rZThXM2rtTlWMdmc4Vj+H/ZFxXfkPfdf9IvP5w7i6lI6XEaKLBdKizhjx2zQH1inBuPCOutoKDJbcHLHUrDw77a2XkIcSpOP8mHDt+Wm/mpAGJiwGFknyUkWwCAEM1jtcILMKcaHGYbx963XnENox96lYxpxDzLyEOtOtLS40604nC23G3EZylaFpzhSFpzlKk5xnGc4zjOv8dc9/8AbcQWpaMjzpslwOGDOPFELly2WVEOixg77rbx5LQ6FvuMCoddQylTqk4QnKsaI7p3vu//ACOj1+n0CmCf5XVZ5ubo8n8xPLzc339nLmw+U/U9WHyn6nqw+U/U9WHyn6nqw+U/U9TPe+6d4/4/2d0Op1xXxv5vfnuXl63P/LVzcvL93bzY/hzB1dh98dntzNn5WwRjDBUlBRu5lLm6WdMR4xWcCknRgs26aIwTnDDz7Dbb2cNqVq52a2VjbypWmoi3QxAkDajhLVP2SeKOR9lc40bIhOWR9kEgXmyzkUcjsy7zY1uluLumPuhuKq/SUlfMxgjcXkaKHhIsCMhoZpqObOxHDN4n57CUF2EloRTg4IUdHgC7gWTboDabiFofELHSlYjIuULl5mh167V4SvGsyqkssRh7N2KIJKY7SmnQR0tYyhxzV8t+20PdJCqy2LXTcsPHhn1KxR9iAZkYcxxqPsMKSQAls2HOcabUvu54z4siAEUzYLHaq5sxQYGhQ9ithAxFglw4MXDCDJBQbAwbHOrmSKCIw2LGhJGjx8ZZGQrO4dmGu+3mwxuw4W2zUXFLqsjEmlXkpc8VLLV9rtSKFXktCRmk92zgEfOc9rjmt290dvZjhMt7lmh4KklhpjbUwuy1W2d1w+bhT9SllylRjmCrLBoXIFxWUhvNZfj4c2O/127RO3u1+3sSuZtFomVu5YFYy60KGEEGK0RIS81LyBAsVBQUUKZLzkuYFFRQRZ5bDDn6Mf8ASP2LhTSxmVVxEAbMguQjlTHbddkLsJFMTJUQ9UhGR3yvtx25jR6REJWcRHkryIi6i3nbe2ofbFkGxyY+TiJcBSWpitWSGObZkIOxwhKsDyUaY0lWOZkwR0uNMBNJ/qJ3b8Xh6oXFDTd2OK2p3KesEPJ3vbisnxQuYGsBxFYsEdYjM12UvmcQtjMhIp6Yerz6zMKYySCbXqNQKHWyJCSkDHQK/VqjUq1GqfJJIdXkWMhYKDiQ1LWrPdwo8EbP8plrsxELguFzdrjy3EmuG6NbiioWKzVBDpwlwqvgPDhjIh2KvNUCvt9xEaaFMrxsQ9yERTgov6o7v/f+9/8Aq+69Luvdv/jEdTqd4/8AZy8n/lzfhr3m30zVe82+mar3m30zVe82+mar3m30zVe82+mar3m30zVe82+mar3m30zVe82+mar3m30zVe82+mar3m30zVe82+mar3m30zVe82+mahu6d77x/wAj7R6/T6Ar5P8AK7izzc3R5P5ieXm5vv7OXP7FtGpu2u38Zg+YknEKJPPLIeQJEV6vxjecETNksMm8NFQcSN+9MOJawtbA6XyGX7TwTfopZAsKwUfh9r57YXEBxUwQhGDa7Z9yprAxDVep8w62PMBsZT9jfZ+I1dWr9lLzF7ttUyF2+2y2+hWK/T6fX2FsRkNGMLceUhCnnHyzDDC3yZGVlZEkuVmZUs2WljTZI0op79TwTPce/dXvjj7fN3nufT6fRGI7ezu6+fm5OztT2c3bnlNhfEHe3aNhfEHe3aNhfEHe3aNhfEHe3aNhfEHe3aNhfEHe3aNhfEHe3aNhfEHe3aNhfEHe3aNhfEHe3aNhfEHe3aNhfEHe3aNhfEHe3aNhfEHe3aNhfEHe3aNhfEHe3aJjHBxe9dRA7xa3s9cMgdHIl0JlGexbycq5nE9icKzjtzjCc/sb4UbaepbXbgT25V1gr9WpS1Ql3srEZFxO37z8ME08AcNWwy70yYFMtPgmM2TDKhX0Zewn9K/w4sssoQ0001wi7aNtNNNpwhttttG2mEoQhOMJQhOMJSnGMYxjGMY1xS7e8T0tMSNbe23kKDtTXtrW6hHBjS6LKHJj1+u15uZXLkkQz4jxLZKw0gEIbW2khSVcZlt4rWd8NyI+00CNn37S8DRI2PNuBclLoHtM3NphZ+6JskUxN1+sKYrsY1VIxDJszhY2Yv8A2b//xAA6EQEAAQIEAwMICQMFAAAAAAABAgMRABIhMQRBUUBhcRATMjM0YHOyIiOBkaGxwdHwFELxNUNUk8P/2gAIAQIBAT8A906NBqkps406cH6cpO2l9Dm91z9McXSpU40GkNpwZKreXoooth15B+Ha+L9VwfwT5afa+L9VwfwT5aeGjUKRWY/VrYlc6pte4XLXt+Z2qVScyJKSkC0R/tNCx9xhqVGBTZuQbkb6D/OW3vbGMpyIxLyWwHNwcGRpVZVJfWQhn83FHLcUztnezoO3PUtilRqVpZacbpa7sA81f89MV+HhSo05xnnlKbGSJk0uOXS+iWvfXXTbs4sUYqJsjZPB5Y4ZWhxqqrTjddV0qc/ISlESMpBItIFMx0bbnc4q+w8P8SfzVO0cL6jjPhx/KpiMJzbQjKTa9oituunkq+w8P8SfzVMEJsWZGTAbMgco97tzPvOzwqzpxqQja1UIyuX0LmnT0nFGtOhJlBLplbly2/5mFVV1VVeq6uGrOVOFJtkgrHTW6q3ftcRr1I0pURMkm7prra4PRt+3vXR4epWSxlhcvOWkS7bS9szyA522xWp+aqzp3zZU1ta9wdrvXr5KPB1Kgyn9XHKpmPpSt0io5dS691t/IDJtEZLsAr9xifCTp0WrOQSGJ5s1S9vSR0dRtZ08dOyUqtSVTh6bJyRq07R0D0ze27437scZ7TV8T5Y4FikjcRPEbmOEqTq1qsqkmT5ie+x9KGgFgO4DyU6k6Us1OWWVkvYdHfcfvwLLgKqqrXFVuvq93stD19H4tP5zHGe01fE+WPk4D1tT4E/mh5Y/6fU+Mf8An2WEsk4TC7CUZB1yo2/DFWo1akqiAyRtuaAfpjiOIeIlGTGMcsbac+e7y6HLFGs0JSkBLNBhrfQUb6eGKNVo1CoBK19HvLb8nvxUm1JymgMlbGxfBWShKhlLSnnza3vpp0/txR4howqwIxkVCyvLRPtNdn9/d6EJTkQgMpSbAfzbq7Bj+jb5GvQKm2TNrfptv3WxUpzpSYTLSPxOSPMevaeGrQo+dkjnabGmgISeupbW2pyvjVbaqviq/mrjjv8AYjJvUjRCpzb6b998z9t+faacJVJkIF5O36r0Dm4ZUuEuQtV4jZm+hTeZE5p/lPRxKUpyZSWUpN1ef8/DY7TwteFBnKUGTIIiIIc9e/TbpjznB/8AHqf9j++KsqMsvmqcqdr5s0mV9rbra2uK9WnVKeSkU8sbKW1200tcLaLrry95/wD/xAA5EQACAQEFBQQIBAcBAAAAAAABAhEDABIhMUFAUXGRsRBhcoETIjIzNGCh8ARCwdFDUlOSwtLh8f/aAAgBAwEBPwD5TeoEIUAsxyUfqdPrai7sagc4q0QIgZyBy79ro+3W8Z6ttdH263jPVrX1LFJ9Yaf9y++O1BVUkgQWMnvNrq3r0C8cJ1+bSQASTAGZsa0ugUeqzReIOOU3eE68t9mdUEsY3bzwFqdVndlK3QACAc9M+IM5bOQCIIBG44i1UAPQAwF44DivYQDBIBjKRMcN1l+IqeFei7RV95Q8R6rYsFEsQBliY7F+IqeFei2vKCFkScQJxPls7IGKsZlDI+mfKzorgBtDOGFgIEDIYWCAOXxlgAd2EftY01LhyPWHLunh81vVVBiZbRRn57h3n62Rr6hoidM9Y7HrqpAHrGRMHAeeOPd2EgCSQBvOAstYNUCKJEH1uG4ajDP7OyOihajAesVaTnod+Xlaj7pOB6mxEgg5ERztWVURQoAHpB0bM5nz7GVXEMJEzH/liAPxCACB6PIZfm2Wp7t/A3Q2o+6Tgep7PxHsL4x0btPxCeA/5bKwvKV3gjmIsi3VCzMAics7U6YpggEmTOP3zOtqiekAExDBuU/vZ0DqVJInUd3WyrdULnAjGxSagqTkt2Of72emHKkki6dNdfI4Zj5eJCgkmAMzb0+op1Cv80fXdHnZWDgMpkH7g7TUQvdAi6GBYGcQN2HH6WwA3AcgBah/EI9kubvDH9I+xtLMFBY5C0PWxaUp6L+Zt092vSfasAFAAEAZDaatNqgUAgAEkzqdOWPO12v/AFF/tH+tkDib7BsogRG/QWpoyXrzlpMjPDPHE5nXh8z/AP/Z"},{value:sm.ORDER_LIST_3,img:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEA2ADYAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/CABEIAPQA2AMBEQACEQEDEQH/xAAzAAEAAgMBAQEAAAAAAAAAAAAABwkGCAoFBAMBAQADAQEAAAAAAAAAAAAAAAACAwQBBf/aAAwDAQACEAMQAAAA7+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcdPpZewDzdXrAAAAAAAAAAAA1LsjURpqk6Pb3clw8g1gAAAAAAABlxsQADmI355/r7oddHoOx3bt1T/ExEAAAAAAAH2mTgAgicZ3hKBpx842KhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa6zjSzqqkyPb5MlwxggoAAAAAycnUAAAAqZ0V6sWQ0Nuh1H+fpnCPfMMEAAAAAPUM6AAAAIllyoHTVYTTPHOt8qZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACqfRXaxnsAAAAAAAAAAAAFOGmq4/NaMfIdAAMhJhAAAAAAAAObrbR0YYr/VPFIxAAPaJOAAAAAAAANAboRZLlqOewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACte+vR26G9tM7HaLAAAAAAAAAAABzG7895GS6h7XT1F4NA+IiQAAAAAAAHtEnAA5evQz2c551N6K+rDz9I88g0AAAAAAAGQkwgApz01QxOORc7NsJWyZ7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB//8QAKRAAAAYCAQMEAwADAAAAAAAAAAUGBwgXBAkDAgoWEBUgQAEwYBk6cP/aAAgBAQABCAD+Unrt9m238+XqcOOpAfE6pIiVTp77E7JREEL4hP8AyZP9X+t/GVOmFbtQ+nb3yGVbkwkzo2O16KDl5OEhO+bh8kUQ8kUQ8kUQ8kUQ8kUQ8kUQ8kUQ8kUQ8kUQ8kUQ8kUQ8kUQ8kUQ8kUQ8kUQ8kUQQp2c5iqK8fL+G8fPM5tSwgRp0ReL288e8LGx8LCYllCnSbuva5pSjk2JxG4ps8GvTqGTj8OZj5GJkV4jxXiPFeI8V4jxXiPFeI8V4jxXiPFeI8V4jxXiPFeI8V4jxXiPFeI8V4jwXI1NlWZw5+B8C2MTBFEgD+VBeHtjAwMj8lu857+uI8aOSRvFLrk/4RLZdvi2kb3cWsaWz1Rz8fVtyN3Zc6f5TycNnrnFrwmD6LIxzCpNmWfgWGsBYawFhrAWGsBYawFhrAWGsBYawFhrAWGsBYawCNWSkNVIW4Gf+ndlNdzoEa/HOfJl210lsYu2qTjszH7fvoYPh2dbW8OLreSXj47TjOe0TYg5Kcc8Lckry6oToqhOiqE6KoToqhOiqE6KoToqhOiqE6KoToqhOgmb4mIzLGNMT9L6sW1El2lXDGPgi+3yh6lsAuRR8wkBI0RlfN45AsrG/WxEuKEhpBSfZX+wU+zrJTu09D6z+j7Stmu+RPvBbCB2F6Ko2yCMhzzTEtdRC11ELXUQtdRC11EEq4JyeH2AV5f0XB/2jWMGSekmEaFhHmBQk/vxPmFIqEVCKhFQioQnm49hOMM2+keQCSB5seRuxzlkPqma+RGwiNOww7/ndjGzto9a5Wy2e6HF3AqX/PLx/jmgttSiRsGz1kkmY+x3CxwUJ5+tLB+f8s64RcHHyc3Mh1CiZvdw21knYZehlme3l2fni3hbwt4W8LeFvC3hbwt4W8LeFvC3hbwt4W8E84/vxxhlPx7jFHplwnh03IFa/wCErVEH7agg027ItauLB30N8TkzyozweGqFEKoUQqhRCqFEKoUQqhRCqFEKoUQqhRCqFEKoUQqhRCqFEKoUQqhRCqFEEq3xyRn2AaZfw2065XqntlxEVLD9UXe4M6unq6fxGLT24BTKhLzh2Cv9BCTzqbKoyTDQ/wDTf//EADkQAAAGAAMGBAMHBAIDAAAAAAECAwQFBgAHEggRE5Sl1RSV1OUJFdMQICEiM0BgFhcjJDAxWXC2/9oACAEBAAk/AP4pPKrfDz+Hdmjs5ZObXtfaVOtv0LvYMwbbMRmYR/nstWZO2xknGzISmWyKtfmIiMj5es198q3eHsLYszINpeAscTGz0HKszio0k4eXZoyEZINTiBRO2esnCDlA4gAmSVKO4N+79yqxD+1WXU3MVtjIKlSbT1+fplhMuqwYTHIYf6lvMnX4Q3DEyhE3x1SkPwxKJSyGaXxGahmJnrm9Zp5kZeXZ27PCKLIZYWJ4DxmRynO0yJbUe7+HWZ6Ym+DMLtkFBEVXBjs8+NgrMmzbK+ZEI9VVNKs4imPHKVAcOEXCp3SbFlDIPaExVWRaFXWy/kOE2IVId/2KHSWSiJJVJVI5k1E1E2axiKJnKIGIchgAxDlEDFMACAgIYn5rzR99fE/NeaPvr4n5rzR99fE/NeaPvr4n5rzR99fE/NeaPvr4n5rzR99fE/NeaPvr4n5rzR99fE/NeaPvr4n5rzR99fE/NeaPvr4n5rzR99fE/NeaPvr4n5rzR99fE/NeaPvr4l5R03U8dxEHD92uifRHPDk1pKqmIbScpTl1FHSYpTBuEAH7s7Lx0VnPeU9oTahkawuqnLVzJaipzhItFZb5bIxKKsgwh8xpuKQnCLMULjA5dun0csm+jTqbcHxRWjNogk1aNGu1uzbtmrZumVJBu3QSyxIkigikQiaSSZCppplKQhSlKABmDmjdNmL4m+VTqoEu+ddqaWe0qbStXsLt7Cf1BZo+s19OyTrifkIurwoqNvGCpnwJ5JdczNNwOaJR2q3FbGyJ5fp1uyrMygWmLZkDBL2lKKPXGtk/tyge9BFOZJExq6ZFYqovHDdkrgnEbukVW66eoxNaK6ZklSayGKcuohjF1EMUxd+8pgEAHER1CU9biI6hKetxEdQlPW4iOoSnrcRHUJT1uIjqEp63ER1CU9biI6hKetxEdQlPW4iOoSnrcRHUJT1uIjqEp63ER1CU9biI6hKetxEdQlPW4iOoSnrcRvAdocThK+Mfq6OKkdFT/Gs6USNqSUOX8xB3b94bjAAh9zK2robQ9oqCNCnM2RQcr2t5Tm5IUiNfK4cOVWrOPKSuw5dDFq2OYGptahvFPPEYytrOYr/KS2oXvLORnEnZZKj3Bqo0Wb2GuyMe7ZPY6RSWYMVyqorgHHZM1xKKrVA6eSlBPtLIV0aojnKeFSNdEYQYpSAFFJ8JhRTfDXlla2MyRuE0NbVUrwyHyU5mI/8AojKv+9efcPVjkypy0O/jo5pYLjKv2UNGOJRzKy0CzNCV00ie0TzMZqLdSUNCv45g+bP3TZUvxbtu/K/aTvMAwtUrlzs55gsMqsmMop+WaN36FHe0KomRr90/pM5koueWiXFbj5Z62fItXTxsp85kcxCZ3Zs7D90qTen58mhmcHM5nZUXdpIKV1a3x8cUWxLHGx7GClVH7p1JTL8lrWYTEtMv6+vOy32LcB2h4PhK8NJXRxX7VFT/ABrEUSNqSUOX8xB3b94bjAAhL9Pi/RYl+nxfosS/T4v0WJfp8X6LEv0+L9FiX6fF+ixL9Pi/RYl+nxfosS/T4v0WJfp8X6LEv0+L9FiS47RfxnFS8GwS18Jg6WT/AMiLVNUulVMhvynDfu3DvKIgP/C0Zjmm9naflxS7BJxyUxGUiSu8oZm5ujuJcpLMJFzCxLWR+QtpUikOa0OYM8uzlo4jmGkdsLa72nMx7LTo2/3nNKY2pbhUss2KkpDJT0q7y9iapJRkVW8umbdZReK8ZMSzZGKJ4tF40jzIsmlkn7hkHFwmUkNlta7LZZm5SdkiISTl4l5Np2qwLOJewQ8lNMpN3W5V0sqV5XVYpVscWhkMZzZcX3M/JaQJFZrUSq2uImbNQpIzpzHqMrJFsnKrlg5ZybN3EySRyiaKmGy8TJA1kkjtQwddNu64PEO3MmRYOAuk4JoMqmsQN50SgbUmbeUTAG4RAwPZrmGPbsPZrmGPbsPZrmGPbsPZrmGPbsPZrmGPbsPZrmGPbsPZrmGPbsPZrmGPbsPZrmGPbsPZrmGPbsPZrmGPbsOZRRw143DI4WaHRHjoKtz6ypMkTjuIsYS6VC7jAUR3gAlH/hpcVmBlbmLDmhLXVpcFit3rYHCD1m7au2ird/FTEPJtWUxAzkW6Zy0HNMGEvFPGkgzbOE889u3M/IeLVRM12X8wtqaxK7PIN2yoLNY5WjU+Cpz5aMbqAIlYqWAyKxTHTdAukochqavSbjnfVstaVa4KJeJs6BE1fKWtRtSpENTKWyaNYqqsYuDiWLUW8eUEVOEJgTJq3BRpWvZr7Sj58+zDfvLTNS8M1NNWJW4WZrVIR84UaQLGzW06dglGhfEpN3bVoygwh4ZAsZ/Mdl/NWSQt+XC18W2iEXgJVCN01OYtia7et/IFiSNGRGHVqMreFbfGKx9+ONYRrD/QR+t+6f1suz9ati6Qzwl45Sut1LSe+N7RmHEpuELMKwOUIwGdbjCjGlRFMVCrH171hAPsIio4a+F4ZHBVDojx3jdufWVJRE47iLGEulQu4wFEd4AJRZQvLvu44ZQvLvu44ZQvLvu44ZQvLvu44ZQvLvu44bRibd14riHbouyLBwGbhwTQZV6sQN50SgbUmbeUTAG4RAwfsf8Axny//wB3nDiYimk3NEeKw8O5kGiEpLJRyRVpBSMj1ViO35GCJyqvDtUVStUjFUXEhBAfsceE8X4f/Y4PH4fAdIOf0uKjq1cHR+oXTq1fju0jYek+54sPSfc8WHpPueLD0n3PFh6T7niZ8X4TxH+v8u4HE47Vdt+r45bTp42v9M2rTp/DfqD9jmBZELrTdnp1s9tst04yLNVnsM6mrVNGsK8qY3zZOTIranCINUy+FFNoiYR1HPjNnNWs3zZwiYSIj6BBPY49OsyFVm7PYoAp13jdSUrzZzI26Xb3BhGqrMbVEcFlwIlyrJyEl/HcsM6c1X+fFylaJRa5klX6zZLE4sUY3iVk2KkXYbbVlnbmWWmWTCHZw/zN89fHFuVsQ5keL8L34taaIqEBVRLZRjllSJCYAUOmkfMNAqqhS7xImZZEpzABRVTAROE7cqnm7lykd1fsiM5Kktl9m9VI9N8SLVk3lfO9lomUj2cmojGy69bn5sa8/dRzSxEiV5eII+/cSkdBwMH8QOnzE3NzD5tGREPERlyyieyUpKST1VBnHx0ezQWdvnztZFs0bIqrrqppJnOG2PsqoookOqqqrtC5RpppJplE6iiih7eBSEIUBMc5hApSgIiIAAjhUt1yM2YdmW5UTah2iaSzcq5SZl3eegMxK/T8uoq+MShWL9NQx7zRpls8j3skZ9HU96DM7mLprZ4h9ifG8CydPOFr4fF8Mgotw+JpPo16NOvQfTv36Tbtw17q3tmK91b2zFe6t7ZivdW9sxXure2Yr3VvbMV7q3tmK91b2zFe6t7ZivdW9sxXure2Yr3VvbMV7q3tmK91b2zFe6t7ZivdW9sxDeE8X4j/AGPmPH4fAaruf0vAo6tXB0fqF06tX47tI/chmdjpt428K9T7bXpEpzx89WbNaMp4WehnxEzpqHZykU9dsXJSKEOZBc4FOURAwbDOSHlUz3rEncKHkDt5Z0SeQueuyateLXasqV3D6w5YVlpmxT61aZSedwE/XlMxgnpaVYPEflxYBlFtFGleslijHf2GIVZ7HvWiRlRMCZVHLZREhlBKU5gIBjgJxKQ5gLvECmH8BewvMPu3YewvMPu3YewvMPu3YewvMPu3YewvMPu3YewvMPu3YewvMPu3YewvMPu3YewvMPu3YewvMPu3YewvMPu3YewvMPu3YewvMPu3YewvMPu3YewvMPu3YewvMPu3Ycxijdr4riEbrOzrDx2bhuTQVVkiQdx1iibUoXcUDCG8QAo/czko2TF+2Us5nGdEBOXqsSVrj3NiZK1eRq50otkB2zgsXNVlu8dtZJJZm9QMDdRI6ZlCj8UDZbIJiiAHLsn1cTEEQ3AYoHqZyCYv/YayGLvD8xTBvAdsO37ce0Tly3cp5PRrqmRWXGT2UTx6m5RcStaokW9fRSkm2BfxcMaIi6hEx0uJp51CytgbxMvF7ZV0y72fMnqynF3/AGb2UjZyRFukWi9nXfFZQ7CRbU2Rjr+2l4SJtrizRziXjG1fReRTl8sSHbwf8m//xAA9EQACAQIEAwQFBw0BAAAAAAABAhEDIQAEEjETQVEyQGFxFGCRodEiI1OBk8HhEDRCQ1RkcHJzgpKxsvD/2gAIAQIBAT8A9VKOWpNRVXHz1dXamZNgoBGxiCIN5ME9DBEEg7ix7zSpmrUSmP0mAPgN2P1CTjMV4zQZOzRKooG0IflDyJkeIjGcQLV1r2Kyiop5Se177/3d5ynzVOtmSBKjRTnYsY+Ki3InHpjn9Vl/svxw7elZVmhQ9BphBA0EXgSYEXP8mOBU4XG0/NzEyOumYmY1W8+8cRygp6joBkLym9/efyLUdNQRioYQ0cx0PtxxH0cPUdEzpm07/wC7xtN9/wCBNMIzqHbQhPymiYG/tOw6TOGzFFGK08tSZAYDONTMBz1G4nlvHuGZpoFpVqa6FqgykyFYbx4bjoI2Ex3nK0lrVlRuzBYgWJjlPjzi8THXDZpwxWlTp0wCQFFMFt4hiQZPWwvjOa+Bl+IAHltQAAgwLQLAxv44KOqqzKwVuySCAfI8+8I7U2DodLLcEf8AvaMHOVTcLSV/pFpjX5ySb/Vh6zuioxkIWI6ksZJJ3Mk4evUqIlNzKp2bAcoE9YFh8fXEUJy5r8RbNGjmbgbzY3mI7N572KSHKtWvrFXQL2iFO3W/e1/MH/rj/lcfd3oViKBoQIL69XOYAjpywmYZKL0QqkPNzuJAB89hHQ9fV6hQavrhlUIJYsSBF+gO0GZx6H+8Zf7T8MVcvUowWgq2zqdSnwm1/MX5bHvOSEpmgLk0iABzs2ODV+iqf4N8MEGlkmp1bPUcNTQ9pQCpJK7rsd+vU95yRIXMkGCKUg9CAxBx6VmPpX9v4YRjmaFfiwXorrSpADbMdJIAkHTAH3gd5y1daPEDqWFRdJAMWvPuOOJk/wBnqfaH44fMg0zSo0hSRu1cszebWMdZm1pi2Eq01oVKZpBnY2qWkC3M3Ecote/j6zf/xAA5EQACAQEEBAwCCwEAAAAAAAABAhEDABIhMUBBYYETIlFSYHGRkqGx0fAjMhA0QlNjcHJzwdLh8f/aAAgBAwEBPwDoo9Vw5K/IhUNtnPVOzcOW2eOku1xWbkHjq8bU6fwiDm4JO/LswPXagxKXTmhKndl6btJrcdkpA5mWjkHsnrjZbgF59Tvf5ZRwNUCSVqCJPOnxP9rX1v3J40TG6e2MdIurevRxoidn0MqtEiYMjYbXVvXoF7ljH3GHVh+RLEhSVEtGA2+8bCm5EtVcMcYUwBsgZ7otSZrz02MlDgeUbfDbjpNVyiEjPADZOv3rsKKkS7MxIkm9hu2WoxwtS6ZWMDvFgykkAgkZgHLSCAwIIkHMWFBMpcjmluL2CPOwRVYsBBIA2ACAIG6y01VmYCC2fnhv6Y8J8QU7pxE3tWU9mqZzwjSy7CsqfZKTvx17tLP1hf2/7aWUmoKk5Ldjtx8bNTDOryZXVqw8s8eXo9UqCnEgm8YEW4b8Op3bJUV5AkEZgiD78tek1vmo/r/lbX05694ethD1wy4hVIZhkTBETkcx2bNJrgFqQOReD1ErbgaXMHj62YcFUp3JAc3WWSRmBOOvHw5J0mrTZ7pUgFTOO70tdr/eL3f8stI3r7tfYZYQBu8sosyMaisHIUDFfeGOuf8AnSb/2Q=="},{value:sm.ORDER_LIST_4,img:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEA2ADYAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/CABEIAPQA2AMBEQACEQEDEQH/xAAzAAEAAgMBAQEAAAAAAAAAAAAABwkGCAoFBAMBAQADAQEAAAAAAAAAAAAAAAACAwQBBf/aAAwDAQACEAMQAAAA7+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcdPpZewDzdXrAAAAAAAAAAAA1LsjURpqk6Pb3clw8g1gAAAAAAABlxsQADmI355/r7oddHoOx3bt1T/ExEAAAAAAAH2mTgAgicZ3hKBpx842KhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAV8XQ0+theRkuAAAAAAAAAAAAjOXOevZR0wYdAxggoAAAAAycnUAAAAA5n92e/PHfNse+YYIAAAAAeoZ0AAAAAag2wwbrfemYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqn0V2sZ7AAAAAAAAAAAABThpquPzWjHyHQADISYQAAAAAAADm620dGGK/wBU8UjEAA9ok4AAAAAAAA0BuhFkuWo57AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK1769Hbob20zsdosAAAAAAAAAAAHMbvz3kZLqHtdPUXg0D4iJAAAAAAAAe0ScADl69DPZznnU3or6sPP0jzyDQAAAAAAAZCTCACnPTVDE45Fzs2wlbJnsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/xAApEAABAwQCAAYCAwEAAAAAAAAGAAUXBAcICQMWAgoQFUBgASAZMDg6/9oACAEBAAEIAPqmeu33Nu3+fN6rh46sD8zlLEyk498jOzKJgwvxCv8A5Mv+r/W/TFOmE3tRfTy9+QxXcnCSuxsu16EHLycLC983D2QiXZCJdkIl2QiXZCJdkIl2QiXZCJdkIl2QiXZCJdkIl2QiXZCJdkIl2QiQK9vNYVNdPV/pvHr3PNrLDAjToF0vl58e6Kmp6KisTZRp0m7r7XWlaOTYniNxZs8GvTxKpp+Gsp6ikqI8D1Hgeo8D1Hgeo8D1Hgeo8D1Hgeo8D1Hgeo8D1Hgeo8D1Hgeo8D1Hgem4NG2qs4a+g/RtxisE0ZAP+VDer24wWByPqbd117/HiPjRyZG8WXXJ9uzt2b4p69GVmnPTbsqyM2EF2dDLkN8l7svaEmuOMXgJND/+2d+XqZONY1DblX0EhmCkMwUhmCkMwUhmCkMwUhmCkMwUhmCkMwUhmCDTIkdSRtoK/wDr0P8A+2d+SZ8k8fiC9hNjayJ5aad8balrq4oHVFA6ooHVFA6ooHVFA6ooHVFA6ooHVFA6ooHUzW+ZmNypnSk/rxpwesPidcTJy6FoAzWniYB5unmwce+4E+zqpHdp4PrP8Hyi3Ne+TPvBthgdRehU7VDGw17pSSuRKVyJSuRKVyJSuRIVuC8vj9QNdX8G4P8A1G2MVS+slE6NjHWIhZ/fmesaVEKiFRCohUQoetx7C8Ubt8J8wCEHzY8G7HOXIfVNa/IjYRjTsMe/ruxjZ3aPWu12Wr7ocXmBRf8APLx/jmwW2pYkbBq8yErMfI8ws8NA9frSw/v/AC514RcHHyc3MDkITm95hu1mTuGXo5Vnt7dX16l5S8peUvKXlLyl5S8peUvKXlLyl5S8peUvIeuP788UbT+vmMQ8ZuFeHTcAmv8ACVqiV+7UMGm3ZFrVpcHfR3pOSvanOh4YoIlFBEooIlFBEooIlFBEooIlFBEooIlFBEooIlFBEooIlFBEooIlFBEhW3zyxv1A6Vf6badct6s9qvEQpsP4sXfMGeLw+Lw/jGLT3cBpyoF84dgt/sEMnrqbKsZMwwf7N//EADkQAAAGAAMGBAMGBgMBAAAAAAECAwQFBgAHEggRE5Sl1RSV1OUJFdMQICEzQGAWFyIjJFkwMbe2/9oACAEBAAk/AP2pPKrfDz+Hdmjs5ZObXtfaVOtv0LvYMwbbMRmYR/nstWZO2xknGzISmWyKtfmIiMj5es198q3eHsLYszINpeAscTGz0HKszio0k4eXZoyEZINTiBRO2esnCDlA4gAmSVKO4N+79SqxD+VWXU3MVtjIKlSbT1+fplhMuqwYTHIYf4lvMnX4Q3DEyhE3x1SkPwxKJSyGaXxGahmJnrm9Zp5kZeXZ27PCKLIZYWJ4DxmRynO0yJbUe7+HWZ6Ym+DMLtkFBEVXBjs8+NgrMmzbK+ZEI9VVNKs4imPHKVAcOEXCp3SbFlDIPaExVWRaFXWy/kOE2IVId/2KHSWSiJJVJVI5k1E1E2axiKJnKIGIchgAxDlEDFMACAgIYn5rzR99fE/NeaPvr4n5rzR99fE/NeaPvr4n5rzR99fE/NeaPvr4n5rzR99fE/NeaPvr4n5rzR99fE/NeaPvr4n5rzR99fE/NeaPvr4n5rzR99fE/NeaPvr4n5rzR99fE/NeaPvr4l5R03U8dxEHD92uifRHPDk1pKqmIbScpTl1FHSYpTBuEAH7s7Lx0VnPeU9oTahkawuqnLVzJaipzhItFZb5bIxKKsgwh8xpuKQnCLMULjA5dun0csm+jTqbcHxRWjNogk1aNGu1uzbtmrZumVJBu3QSyxIkigikQiaSSZCppplKQhSlKABmDmjdNmL4m+VTqoEu+ddqaWe0qbStXsLt7CfxBZo+s19OyTrifkIurwoqNvGCpnwJ5JdczNNwOaJR2q3FbGyJ5fp1uyrMygWmLZkDBL2lKKPXGtk/lyge9BFOZJExq6ZFYqovHDdkrgnEbukVW66eoxNaK6ZklSayGKcuohjF1EMUxd+8pgEAHER1CU9biI6hKetxEdQlPW4iOoSnrcRHUJT1uIjqEp63ER1CU9biI6hKetxEdQlPW4iOoSnrcRHUJT1uIjqEp63ER1CU9biI6hKetxEdQlPW4iOoSnrcRvAdocThK+Mfq6OKkdFT+2s6USNqSUOX+og7t+8NxgAQ+5lbV0Noe0VBGhTmbIoOV7W8pzckKRGvlcOHKrVnHlJXYcuhi1bHMDU2tQ3inniMZW1nMV/lJbUL3lnIziTsslR7g1UaLN7DXZGPdsnsdIpLMGK5VUVwDjsma4lFVqgdPJSgn2lkK6NURzlPCpGuiMIMUpACik+EwopvhryytbGZI3CaGtqqV4ZD5KczEf3daJyQzHuzFdfKzJSgVyTtmaGaL4jssa3jqvFNEk4pp4uVUSjU5KxzEJFeMVTakdqvFUGq2U1PyUf7NeckBl7XMuYRjPpXCng/d5hsZ+pZly8zOP2s/baw/p7eKkJCIgam0PIpShgh0UlW7dp+pywoNhzVpMU4hKVmNO1KDl7rTYl44VdvmNTskgxcytbQkHCplJEIV0xM/EqRXhlyIIlT/wBily/9a2kPtW4DtDwfCV4aSujiv2qKn9tYiiRtSShy/wBRB3b94bjAAhL9Pi/RYl+nxfosS/T4v0WJfp8X6LEv0+L9FiX6fF+ixL9Pi/RYl+nxfosS/T4v0WJfp8X6LEv0+L9FiS47RfxnFS8GwS18Jg6WT/uItU1S6VUyG/pOG/duHeURAf8Aj/2KXL/1raQxnPlrK5/U2CbWa05OsbhCOcxIKBdpMXCUpI1VN4aWQbFbSsQ7ciLbWzaTMM7dkQby8aq6wddNu64PEO3MmRYOAuk4JoMqmsQN50SgbUmbeUTAG4RAwPZrmGPbsPZrmGPbsPZrmGPbsPZrmGPbsPZrmGPbsPZrmGPbsPZrmGPbsPZrmGPbsPZrmGPbsPZrmGPbsPZrmGPbsOZRRw143DI4WaHRHjoKtz6ypMkTjuIsYS6VC7jAUR3gAlH/AI4+zM7XtcZrSGc2cS09Y3M4xe3aTnLbYXS8AyXRSJBRwyV1nDEj0DKpkRUbJAfc3KI0uaR2kcxIJaEm5p1aph5WGir2Ji4CXnYWrLLCxjZ2bg4dlFyLkp1WgN/FqMWLJ3IyDl1+8Nl/NWSQt+XC18W2iEXgJVCN01OYtia7et/IFiSNGRGHVqMreFbfGKx9+ONYRrD/AEEfrfqn9bLs/WrYukM8JeOUrrdS0nvje0ZhxKbhCzCsDlCMBnW4woxpURTFQqx9e9YQD7CIqOGvheGRwVQ6I8d43bn1lSUROO4ixhLpULuMBRHeACUWULy77uOGULy77uOGULy77uOGULy77uOGULy77uOG0Ym3deK4h26LsiwcBm4cE0GVerEDedEoG1Jm3lEwBuEQMH6H/WfL/wD3ecOJiKaTc0R4rDw7mQaISkslHJFWkFIyPVWI7fkYInKq8O1RVK1SMVRcSEEB+xx4Txfh/wDI4PH4fAdIOfyuKjq1cHR+YXTq1fju0jYek+54sPSfc8WHpPueLD0n3PFh6T7niZ8X4TxH+P8ALuBxOO1Xbfm+OW06eNr/ACzatOn8N+oP0OYFkQutN2enWz22y3TjIs1WewzqatU0awrypjfNk5MitqcIg1TL4UU2iJhHUc+M2c1azfNnCJhIiPoEE9jj06zIVWbs9igCnXeN1JSvNnMjbpdvcGEaqsxtURwWXAiXKsnISX7dywzpzVf58XKVolFrmSVfrNksTixRjeJWTYqRdhttWWduZZaZZMIdnD/M3z18cW5WxDmR4vwvfi1poioQFVEtlGOWVIkJgBQ6aR8w0CqqFLvEiZlkSnMAFFVMBE4TtyqebuXKR3V+yIzkqS2X2b1Uj03xItWTeV872WiZSPZyaiMbLr1ufmxrz91HNLESJXl4gj79RKR0HAwfxA6fMTc3MPm0ZEQ8RGXLKJ7JSkpJPVUGcfHR7NBZ2+fO1kWzRsiquuqmkmc4bY+yqiiiQ6qqqu0LlGmmkmmUTqKKKHt4FIQhQExzmEClKAiIgACOFS3XIzZh2ZblRNqHaJpLNyrlJmXd56AzEr9Py6ir4xKFYv01DHvNGmWzyPeyRn0dT3oMzuYumtniH2J8bwLJ084Wvh8XwyCi3D4mk+jXo069B9O/fpNu3DXure2Yr3VvbMV7q3tmK91b2zFe6t7ZivdW9sxXure2Yr3VvbMV7q3tmK91b2zFe6t7ZivdW9sxXure2Yr3VvbMV7q3tmK91b2zEN4TxfiP8j5jx+HwGq7n8rwKOrVwdH5hdOrV+O7SP3IZnY6beNvCvU+216RKc8fPVmzWjKeFnoZ8RM6ah2cpFPXbFyUihDmQXOBTlEQMGwzkh5VM96xJ3Ch5A7eWdEnkLnrsmrXi12rKldw+sOWFZaZsU+tWmUnncBP15TMYJ6WlWDxH5cWAZRbRRpXrJYox39hiFWex71okZUTAmVRy2URIZQSlOYCAY4CcSkOYC7xAph/AXsLzD7t2HsLzD7t2HsLzD7t2HsLzD7t2HsLzD7t2HsLzD7t2HsLzD7t2HsLzD7t2HsLzD7t2HsLzD7t2HsLzD7t2HsLzD7t2HsLzD7t2HsLzD7t2HsLzD7t2HsLzD7t2HMYo3a+K4hG6zs6w8dm4bk0FVZIkHcdYom1KF3FAwhvEAKP3M5KNkxftlLOZxnRATl6rEla49zYmStXkaudKLZAds4LFzVZbvHbWSSWZvUDA3USOmZQo/FA2WyCYogBy7J9XExBENwGKB6mcgmL/ANhrIYu8P6imDeA7Ydv249onLlu5TyejXVMisuMnsonj1Nyi4la1RIt6+ilJNsC/i4Y0RF1CJjpcTTzqFlbA3iZeL2yrpl3s+ZPVlOLv+zeykbOSIt0i0Xs674rKHYSLamyMdf20vCRNtcWaOcS8Y2r6LyKcvliQ7eD/AHN//8QAPBEAAQMCAwUDCQQLAAAAAAAAAQIDERIhAAQxEzJAQVFgYXEUI3ORk6Gy0eEzU4HBECI0QkNUZHKCkrH/2gAIAQIBAT8A7KM5ZpTKUrHnn0rU2ZNgkAjQxBEG8mCehgiCQdRY8S02XXENj95QB7hqo/gJOMw/GaCkbrJShIGkIP6w8CZHeIxnEBLtadx5IcSeUne99/8ALicp5pt7MkCUihudCox80i3InHliz/Cy/svrhavKsqpUJC2FTCBAoIvAkwIuf7MbBzZbanzcxMjrTMTMVW8eI2iygN1GgGQnlN7+8/oS4tFQQopChCo5jofXjaLo2dRomaZtOv8A28aTfXte0w48TQBSN5ajCU85J+QOMywhkMlCivaJKioxB3SCkRYGeZNo4oKUElIUQk3KQSAT3jQ/jjN/ZZP0I+Fvi839lk/Qj4W8ULCQspVQTAVBpJ6TpyPqPFOOrcS2lUQ2mlMCLQBfroMF9wtBkkUAyBAnWYJ6SZ7YhicuX9omyoo5m4Gs2N5iN288WGkHKqevWHaBe0Qk6db8Wn9gX6cfCnH5cUHiGCxAgrrq5zAEdOWEZhSGVshKSFzc6iQAfHQR0PXs8wwp+uFJSECVFRIEX6A6QZnHkf8AUZf2n0w7l3GYKoKVaLSaknum1/EX5aHickJRmgLktEADnZWNi7905/or5YILWSU27ZbiwptB3kgFJJKdU6HXr1PE5IkJzJBghqQehAUQceVZj71fr+mEKOZYf2sFbKa0OQArRRpJAEg0wB+YHE5Z9LO0C0lQcTSQDFrz7jjaZP8Al3PaH54XmQWy0y0GkK3rlSleKrGOsza0xbCHW0sONloKWo2ctIFuZuI5Ra9+/tN//8QAOBEAAQIEAQcKBAcBAAAAAAAAAQIRAxIhMQATQEFhcYGRIjJRUmCSobHR8CNy0uEQNEJTY3PB8f/aAAgBAwEBPwDsouKsLJTzEFIVre+h9W4dOL1zlapEqV0Dx0eOIcP4RBusEnfbhQ7cQFEolN0EpO63puzmNy1IhA3LqboHsna2rGQT14ne+2EjIxQHJTEDOes/ifqxOmeR+Uztufi1c4lTNM3KZn1fgpKVM4di41HEqZpmE3S1fbU2U7XriJRc1NgKk7B64hRFLK5gBKWbSL0OsNqzpgSCwcWLVGw4g8+N8581Z3B58b5z5qxMl5XEwqQ9eGdJQElRDuoudtbccCGkLK25R102t2xynxBDlNQ82iz8NDvejZ2VqEZKP0lD766d2dn8wn+v6s7KHiCI9kytxr44VDClpW5dOjRTyvXp7PRIghs4JmLBsZb+OJ3cIiJW4Dgi4IY+/LTnMbnQfn/1OJ0ddPeHrgMuOFJqEpIUoWJYhnsbjhqzmOAVQgbFbHYSnGRhdQePrhQyUSHI4CzKpLki4D1018Oh85iw1LlKSAUl67vTEsf9xPd+2EwjNOtU6hajAbvKzYUhRiJUFkJAqn3Sul/+dpv/2Q=="},{value:sm.ORDER_LIST_5,img:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEA2ADYAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/CABEIAPQA2AMBEQACEQEDEQH/xAAyAAEAAgMBAQAAAAAAAAAAAAAABwkGCAoFBAEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF/9oADAMBAAIQAxAAAADv4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKxr669bobzVSoz11dlPmagAAAAAAAAAAOavdn6VMOjmr3Z/hOmLDoA1JAAAAAAAMuNiAAc6e2i1LPZV5orjzvLxst0qx7Ise4WAAAAAAAfaZOAD4SqvRXatnshmcfV53N+dybgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUfaqa/b4dVPn6Pa50QUYwAAAAZOTqAAAAAcuu/PXpdX1vedp2rrn9hgp5YAAAB6hnQAAAABVJorw7vNpa5bh1zyTgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADWyccN63FrkAAAAAAAAAAABqpZHBu83kqmIeMeAMhJhAAAAAAAABoNdCK5Rs6z2+mRieKAe0ScAAAAAAAACEp8gGUfj633pmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEsuUX66b2cl1al9fnlxma0AAAAAAAAAAc127P0c4tHOXto29qlofdDp/waAIkPiAAAAAAPaJOABzUbs/Svh0c2W7POsJTLDtuee0CDTzwAAAAADISYQAadWwqI0V3AZref7ZRujVLYqE7Ys9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//EACkQAAAGAgIBAwUAAwAAAAAAAAAFBgcIFwQJAgMWAQoQFSAwQGA3OXD/2gAIAQEAAQgA/k9rc/TDX/HIqVjf8oGb3MFA8nvw9c+zVOy9gsq5QOtNDeVN5yTCMrhRE/X2u93JWbldFrdm4094eKUbN9+zV8fcscePBtdcnDh8+SKIeSKIeSKIeSKIeSKIeSKIeSKIeSKIeSKIeSKIeSKIeSKIeSKIeSKIeSKIIU7OcxVFePl/Zv5RKzbDMgRsuQ/bsfgr0sD3Sd9fb6t8tlejpq7Dl/7lr/G+uYS4l6w8HWWOH+kY0TsIB9mub95mrFeI8V4jxXiPFeI8V4jxXiPFeI8V4jxXiPFeI8V4jxXiPFeI8V4jxXiPBcjU2VZnTn4H2GZYWnRaYExzjaMNS+G5PF1uguLi8oL8EpKXxjSw8lcJFFr7vmwbNSYbU8Z9+0WjEm3KQS6AQX/CJft1s/l5M3sjg085mrm1pZQCWnIyybPi9VJ0hVBR8LJZKQqUhlgYFhrAWGsBYawFhrAWGsBYawFhrAWGsBYawCNWSkNVIW4Gf+POM3o21bSJoxIW2/qBmvaC0QPTGQ/rIZjIyxdZpx5BlxiXm5fgmxSDlviY8Msk0y6oToqhOiqE6KoToqhOiqE6KoToqhOiqE6CZviYjMsY0xPxy106RVlm+WHJzu46LIE57SOq2K5l9rpi9ORh0RHWQKNSCbb5IJRBI7+vmFIj1iZGN6ZIekBJZZE44mNHKHK/ZnS7ixYKF0rXwbzWm/bgyhgfGGQLrfCqcE5Iz7PK8S11ELXUQtdRBKuCcnh9gFeX+ltU/wBZ8/BpN5ceGqCDfPmTnRMoi3FOU+FC3H144zDYVCKhFQhPNx9BOMM2/TkqyRXJSPT3R6PG7gchULr46NeHdrcgMjtbkZi6NSI/m30fRqI0tMtnwe/j7htMdRBxeQxZR6WwkU1KFe5mZY7jWXj0+BhFdoIn7m2XkC/nRE15/wBbef6+j/Sy1Ea/TrtTqf7k/wBiT7tA/b2Mk7+2DX8Wad9frvwmRkmlnJ/fqYp9wJT6hWKan5MnS+nmOfgC3hbwt4W8LeFvC3hbwt4W8LeFvC3gnnH+vHGGU/buR49TSbO9IUnz4aQOy1Zybv5Rks5toLv5UgOzXRrE12apUtD9TqiSb5/Ju2Z9nmpnndNUKIVQohVCiFUKIVQohVCiFUKIVQohVCiFUKIVQohVCiFUKIJVvjkjPsA0y/snfCRodgsbVjG55OuEvuAchFdkbDCEcMmsgNGNCxlZKM2mrcBEE3eJQsEkoqb+C9VpjPV+zyCEnpqm0Ws6Of8ASf/EADoQAAEEAQIEAwYCCgEFAAAAAAQCAwUGAQAHCBESExSUpRWV09TV5QkhEBYXICIjJDNAYDBYWXC1t//aAAgBAQAJPwD/AFOnjbl8Q29G4EBsdw3bbFd9YVl3WuKCcRhk0OIQGYRXoFodRRogxsc5LyT8LXEysQ5OtSYn4tY0lxM+zM2t/h0M2K2+xw/Fy6RfaGdrRrEp7EeGM8S0zA4tzNBDbThbzyXBsOqncQDm2V+4eP2i1Tiuo4UfJOqpF62dgE2S5kQcMRl+ccipasuB2GLinvFmxxxchUFHS0lAFnEbMbk8LXBjuBxMbXbWD787zUqqM7h8RRNmMPKOiaLUbMLZ4qH2vzX4yRILtcHiVljZHMSO1Za6SiUr7v8Aj4derUPuHvLuOwEvn4J20RCaTLRB60JyjD5kSbS4x4RbuXPA991Q6UYMKS/ocMylF8Rm3F4XCOoSVFe19xD99JC4JcAfw4I6maWYyxKsray27gFsdaFMpw2lKUIR+IntAlCE4wlKUpgLPhKUpxywlKcYxjGMYxjGMcsfl+5PzXvQ74+p+a96HfH1PzXvQ74+p+a96HfH1PzXvQ74+p+a96HfH1PzXvQ74+p+a96HfH1PzXvQ74+p+a96HfH1PzXvQ74+p+a96HfH1PzXvQ74+p+a96HfH1PzXvQ74+peUKHc8d3GCDy32V9EcYtHW066pCulaUrT1Jz0qSlWOWcYz+7WJW4j/h88RwVn3ersC0hUsTsduJK05u5SqVKXjkwAVTY2uZew28mKTeHpwxCIiNlCGeKXZtezDFZ/WldlbukQqRyLkBMg3CpqXiMW7N0eS40EzRMweLi5LutwyYT2mtIua1IU4/8AEZ4obRu5Q67LNJakxNma1PXFdAdISplD6Rval2uUdCrW8UPJV+MibAAQQHNtFk/9xXaH/wBDaNWwmobcw8vBwCzI+ElrHLSM7YjPBxMREwkKKXIHGEKS+S5hDSWRQAzTinmRhXXE2Bi1bcboVKDu9KsI45YaZWu2IBmRjSXAZBgWRjiuw+ls2MkhRJKNMQ+BICjGDvsN6iPUJT53UR6hKfO6iPUJT53UR6hKfO6iPUJT53UR6hKfO6iPUJT53UR6hKfO6iPUJT53UR6hKfO6iPUJT53UR6hKfO6iPUJT53UR6hKfO6iPUJT53Ub2C2O52nfGHu9HdaWy5/LeKcaV1NOLT/EjPLnzxyVjGcfuR4MtDywJcZKxUmIwfGycaew4KdHyAJTbopoJorroxYhLTjBDDjjLza21qTngi2qxaUSftZEc6deSNu0meJcLwhOz5Ftd2kSAl51WEROKRiKQwloVAWBWGWWwQ4uKiwxo6NjY4ZgKPjo8JhAwYIIYyGhhAxBmmxxhh222GGG0NNIQ2hKcbYVnc4Hbq6Ru4lIGszBD7Vau0Qy+xG2SNwOSNlEiGyUQ2ytzLjeEur5t55/ltzWd09tLGsB6XqNrCyZHEFRZjR8acwttxgyPkY8xhsgKSjihDxV4z2SEYWvCq5D1CkUqAiarUarXgB4uCrlcgQWIyGhIiOFQ2MDHRseMwIIMyhLbLDSEJxyx/wCCdybvwNcBdH29jLJb+J3bVVVL3Z3yvpqYY0ij0CWRNfrZQRYj2ziMwe2DBsJIrNtkJIy0DHVuCR+IlxX8WG0NL3HoFb354eOMi8J3fYtdLt8w1EGmVa6SrWHqkY5KYh4gNMHAhS8Y7LLmMWEsIWSgZpTq4qyQsXPRi32ssPrj5gFiRCU8yrOVMuqGIby41nOctrzlGc5zj9Ml2BGPB9prwYDvR3QBXnP5jwrjqup1xav4l55c+WOScYxiX9Pi/ktS/p8X8lqX9Pi/ktS/p8X8lqX9Pi/ktS/p8X8lqX9Pi/ktS/p8X8lqX9Pi/ktSXfEf8Z3WvBgNdfaAKeb/AJjIrbqel1tCv4V458uWeac5xn/j4nt5OGfhM4GWKdCj7NcPNyTtduVvtYp7D4spbLnd2hiJ2SpbcmCek6LFAchg4SXog0cmMnzjbTL33elziV3LtdTH24o924h9x9xcy9birAIdebdOUmfmzo/9Xo+PGXHtWA8JoVm1yUMKA5k5XQ3uxRNnKK9SNrayNaNwbFH1yJLsMtTg346ECIkHmvGypQsfInIBES8SmOjZKRcbQDHmkMHBykVKBiyMZJxxTBsfIx5rCCQzgTBlujFhljOtkClDuOMPsOIdaWttaVZ0TKNkFdnuIHeEQzjsMNDo6EuhPLxzQynKupxXNWVZxyxnCcGzXmAfp2jZrzAP07Rs15gH6do2a8wD9O0bNeYB+naNmvMA/TtGzXmAfp2jZrzAP07Rs15gH6domUcIF73bQQ8ItnPfYdHX1paCZXnkh5WU9LieSsJznnjGU5/47Tv9w5cRKIUevTO8/ClunnZ+9W2KBHGBjmrSfmAsYciYBGCDQzUwyAHMkQosdESEgbHwsGPGw27m7Nl3uGqoG6XEDu1uzYb7xGWqLptvgbzCw2NzZlDi67CqsVbhy5WIqcPAx854Mf2uOa6KG6NWJ+boO3ExWZ+kkwNokq5Z4CVqsEXWAiB5oDP9U2bXZGRiJQSRFMDLaMyYgdmVDjDwYtqDqNIrcFUKrCsOkvsQ9brUWLDQcWy+a8SY81HxgQojbpZBBLiGcLfeddypav8Ab9ubXu1naCknW/8AZ7SulM/Y8CvjD5aQUsY3EXEx+Csy1lm8R8kqBrQEvMoi5NYCQCNpbTsg/uhHTRi9ubcZmUkIjMLZZiueMj5pURX3J+uTXsj2xW512vwa5aGNDNxGDoeR1f5L0eNfNouHrd3cemkSoKJSMZs1No03PwjshGuqQ2eGiQBHUQI4tKCGsKaUrGFZzomKL3F3V2zBtNtJhIxqGiXpYiRkhnFgxbK3GgmMtCtYwyhak4VhWef5/pGjHBxfC9tZDJa3s98MchfWpo1lGeS3lYT0tp5JwnGeecZVkKF8ud9R0FC+XO+o6ChfLnfUdDRjY5Xiu4sdktD2OwGQQjoU6a8jHNbKcK6m1c05VjHLOcKx/hf9H3EP/wDLLPpSUIRsfGKWtWcJSlKZiaypSlZ5YSlOMZznOc4xjGOefy1LRk7DnJcUFKw54snGlpaecHdUKcE6+KQlt9p1hzLTq8IeacbVyWhScamfCeL8P/T+zu/2+wKwN/d8cz1dXZ6/7aenq6fz5dWbD6T9z1YfSfuerD6T9z1M+L8J4j+n9ndjud8V8b+7457p6e91/wBtXV09P5c+rH+FNyFaht7tqr3tXK2GKHHLk4OPvdbka2XKx4pmcCkGAMSKyR2Sc4YcdbSh3PRnOr3d5Lbz9g1r2BN3AjHgq3fHa7bombh5CaBcFZMiwJhkacIyw06IdGPZbSxIAmhPEivbh3Lc2JEuVqu5FmujYAhXtK1Oh5IAiIiMxkOFhRmo8dxALb5SnpQiVlXX+7JLZa/1u6RVA2w29h3Zu02eXy8pkQZC0MDCBhiNESEvMShrw8ZCQcUKZLTUqWJGRgZRpTDC/wAOH8Q+O4SXncPscTjmzY7lRxW1LxyuxYSZRMaPUEjJfOXLs2stPhm0NNNPSDyQU26Mve2G5EExYqhaYlTnhZKPecdHebdYIbZMj5OMPHLiZqHkBxpSFmQT4iUEFkAiR2tluIPjW4ooGOYmLjs7wvUEm7FbdRhIwpbJO4E+hXg4Rahz4158WOEnCIpuQDVPoiMlh4J2T3+4JuJ6VDdkKhtVxOU9uoJ3DFQ2t9DNDsCiEIl5N8VkosIA+LiEzI47iq0TOuNvtMf42XSNrN/eJqW3R3phcPKaHs9T2fxV8B1kxtvDmDAJeFsl/QUwWzkUc1iIOSh18dDocHDvVZ6HXXXa07GBOV92vuBZjVwbkMtjMcuHXHZyAuMUNkJQWci5YyxnLeiinNt+E/jCJn9ngjzCjiYWgbuG3gGOr7DxXPKBY2P2yhZEppntjvT0/NSiWu9JkOuyW39v4oeKLiMtm7u4V9oU9NWoWTrEgICZWoEmfsVVqEs+7GWeX3Al3WFRDY6HrEpbTi05Q2yoGY4wccZNR3EqYkK00faqTtTFzEE7ZLJYMhJekoCpETMRGWNRRqGY42O27tconLjFXknBv0wXe8CaUH3fafb7vhn3Ge52/Z6+jr6Oro619PPl1K5c8171b7ZqverfbNV71b7ZqverfbNV71b7ZqverfbNV71b7ZqverfbNV71b7ZqverfbNV71b7ZqverfbNV71b7ZqG8J4vxH9R7R7/b7Ar5P9rwLPV1dno/uJ6erq/Pl05/cykTb6O37vGx9vsJquxC1qS3HepMbUyJM5eWxwmiBpi3SjxBDzbI4VZMKe5jjvZTp1J+3u4PF5AbT0WcDy0uJn07OmbookpMIhC3FEtGwVrpEsIrpZxgOXbdcwtwjLYlBhd8eNc2Mcf3M3Dn3OvZThNgn0Dtv2XcOQbYKDlLRENHhkqgyMORcPIHQ0aeFbLKYnb43cmd4quPDdcNad0+JG+ZcKcjGi89JFT2pizu8/U6u0C2DDEF5d9py4MYOMOzXK34SoRn6S4hLJsgaW0l18zDiWySXHkJcwkBacLwleMLwla04VzxhSsfnk2F8wd9O0bC+YO+naNhfMHfTtGwvmDvp2jYXzB307RsL5g76do2F8wd9O0bC+YO+naNhfMHfTtGwvmDvp2jYXzB307RsL5g76do2F8wd9O0TGODi+K7iB3i1vZ74ZA6OhLoTKM8lvJyrqcTyThWcc84wnP7jZwcNPPgT9Vt8KgXNm26v0Dl9davFZcLbcZRIxuSjI84ZXbRMV2VnK+++yLLPuJ/En4bE7IvRn6lO8RYu21zc4uc0bsqiXH2xHINiBRbn4VCMrsatz3bg1JEkGtXv2owxNLQS7BUwORMOs1gQ05OXa7zr7khYrpaFhYYS6ZLybmMNhjqSzEQYsXXo1bcfEhJR+I9w8VOyb+3szcfdu0S/DrFXy03O1nEnHOlyVlv1Ws074VJ8rLSDUc1INgokZaTPywow8l9z8U3h+n6mFYYUu0QQfCnt1HlzVdGkhnpqJFPZ26ZeCJkY1BIbBbTzTgzryXm3W1IwrHGZb+EwbZPcqUtt/Yqy7Ey5dQZFyrLiZgdVemIps+w0luCmh4OCsiSq1Kt3CSVIOhpEy1I/wCyf//EADsRAAEDAQYCBgcFCQAAAAAAAAECAxESAAQTITFBUWEiMkBxkbEQFGBzocHwM1JygdEjNEJwgpKisuH/2gAIAQIBAT8A9k7uzjLgmlCQVrVwSOHM/qdrY10qo9W/ZzFdaq4+9Hxif0s8wW3Q2k1BdJbPEKMCdpnI+O9mro0nES4tLjqW1KoQTSiNyREqnYxHA5HtF3yu17I1pQJ5GZHx9F5zYuat6Cmd+jTHh87XHrP+4V5jtFzIVjMExjIhJOlaQY85/KNYtgu14eGquYiDxiZ0jnMc7XxQBaZSZwGwknaogT5CeeW1rj1n/cK8xZttbqqECVQTqBkOZspJQopUIUkkEcCOzaZi3rd4ppxVREbVf3RV+cz6ELWiaFFNQpMbg7WQtTagpCilQ0IsSVEkkkkkknUk6k/yJbUw21WpIdeJgNqmlAzzOyp+Y0zNmlNXpRaUw22opUULbFMEDKQNdzmYMRGhBEEg6gx4dphN2YacDaXHHZNSxUlAGgA0nPXXIzsBc3n3XMwnDSDJCEpgkZAEAGeXDW1C1uKShJUZUYSCTE65bW0yPaG7y42jDhC0TIS4moA65ZjfPvt629UlQKUhE0oSkBAJBBNI1ME5mYnKzbzjSytBAUoEGQCDJnTvz/5YkkkkySSSeJOZPtg0jEcSioJqMVHQfqeA3MCzzeE4puoLpjpDeQDpJgiYIkwe1NJC3W0K0UtKT3EgGz6EtvOITNKVQJzMdqu/27PvUf7C16/eHfxn5W01y7ShVC0LAkoUFAcYM2U8S9jQKqwuk5iRBjuys+8X3KykJMAQOXEnU/KB7OIQpaghAlSjAA+vE7W9TM0h9jE+5XnPDTXlFlJUhRSoQpJgg/Xhxs3dlLRiKUhpsmApxUVfhG/wnazl1UhGIlaHWxqpszHeNh5bx2e6dBu8vDrIbCUngVTn+RAtJmZMzM7zxnja+dJN3e3cahXNSYz/AMvhyteXkulAbkNtoCUgiIO5gE7R4WumTd5Wr7PCKTOhUQYA2J2/qHHs926TF7QOtQFAbkJmcvDx9F66LV1bOobqI3FVPzB+hZphNGM+Shqeikddw8E8AePkM7PXguAISkNtJ6rafNR3PlzOZ7M06plYWnUZEHRQOoP1kYNsW5zWGHKtcOoYc698cqYj+GzrqnnC4vU7DQAaAd3xOZzNnLzdnQkLYWQgUpAXAA7hA2Fi5c4MMLBgwcQ5HbezDrbQcraS5UmEzGRz4gwDOZGeQ9pf/8QANREAAgEBBQUFBwMFAAAAAAAAAQIRAwASITFBE0BRYXGBkaHB0RAzYHKx8PEEIjJSYnDS4f/aAAgBAwEBPwD4TqPcWQJYmFHEn78tbXK0Xtr+7O7Au9OHbFkqBkLEQVm8OBAkx2elnrObpUFVJAvECW6ZiPvlvFX3tEc58R6eyl7ysP7h4lrfqMk+beK4IuVBjcaSORj0jtttEi9eEROflnPLPS1AGHc4bRiR0xj6m36jJPmszBBebKwIYAgyDiDu+xpzNwT2x3THh7GVWi8AYMjrYqGEMJB0sAAIGAGAH+CXFRmuglEAxYZk8BjI/OeFnD0gHDswkAq5nA89O7tsDIBGonecatR1LFVSMFMFuZPD/muNqyIi4E3icASThqbBgqKWIAhc+m8tSVjexVuKmCeufrbYpBBk3oliZbAznp2CzU1ZQpGAiMcRGFgIEDIYD4wZrqloJgTA++/lZGvqGiJ0O9OSEYjMKSOoFqbFkVjmRj371U92/wAjfQ2o+6Tp5m2e8sLyleII7xFggCbOTEETkcbU0FNboJOJOPP4cJCgkmAMzbb67N7v9UYRx4R22BDAEGQcjZqoU3QrOwzCiY62WqGN0hkbQMInp+N3rYtSTRmlhyER525acLUcDUTRWw6GfS1JCgYtBZmJJH4Gs99q+LUgP5XpHEDDHph4Hhu9XCpRbS9BOgxEefd7KOL1m0LwOyfUWeob2zpiX1Oi9ef4xOFkphSWJvOc2P0HAfeAw3d0DqVPYdQeP3pa5W/jtFjK9BvR685nnNkQIoUaeJ4my0qqyVdQWMkxMntBsFrzjUWPlH+tqiM9265WDJ55Y56efxL/AP/Z"}],ase=e=>(0,$Z.jsx)(nse,{...e,options:ise}),ose=[{value:sm.BULLET_LIST,img:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEA2ADYAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/CABEIAPQA2AMBEQACEQEDEQH/xAA1AAEAAQUBAQEAAAAAAAAAAAAACAYHCQoLBQEEAQEAAwEBAQAAAAAAAAAAAAAAAgMEBQEG/9oADAMBAAIQAxAAAADf4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABqsdDPqc9DNtjc/TtT8/QAAAAAAAAAAAOK79Ryrce+XH897UXy/VAiSAAAAAAAVcSIAAOYl3efgD2U5/cd3Ts4XQAosAAAAAAA/aVOAAeUY+bq8gtVnreAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDeun4ZAaZzkqmAAAAAAAAAABi10VyprlKGuWA/XTnwyXCmCxQAAAABU5fUAAAEVrIwCthloz2YMNdOwbjvHmFCAAAAAHqFdAAAAEMLYQithmby3eiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAClvfNZDfQMkdE8uua0AAAAAAAAAACyM48YT6bljcG5unfj5G0U+WdAAKhLwgAAAAAAsjOPGE+m5Y3Bubp34+RtHilsQAD2i5wAAAAAAPD9YYdNQmDXKfNMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIY2w199lOwVjumZVMAAAAAAAAAAAchX6PmQAuhP6mfXr+c6YFlwAAAAAAD2i5wABxwfpeXFSyMra5djz5rqAR9AAAAAAAKhLwgAGKnRXrRbs+y3h0ZWM9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//xAAnEAABBAIBAwMFAQAAAAAAAAAGAAUIFwcJBAEQFgMKYBogMDhAFf/aAAgBAQABCAD4pu19wryoQHzpFCI3TfZtz6FfpGPTSb7hn15vHrPFGXf9GYsiFmXstZOyqeLDuQyzEeW8XZVAu/khEvJCJeSES8kIl5IRLyQiXkhEvJCJeSES8kIl5IRLyQiXkhEvJCJeSESBXt55hU18fl/bvp1TZQhBKPJObQ9aFNU2TJvyixzms1714HqvA9V4HqvA9V4HqvA9V4HqvA9V4HqvA9V4HqvA9V4HqvA9V4HpuDRtq5no8/gfa+MTITs7mOkvXUJq/wCpX6pp1YWBiFmdvHhj5aX7LZby9yqe4W1Eunre4XwP6XJyDzIHz3xLPbGxEVg38+67OJfHTVnMjKYFCuO4TFCKWBY/ACyyy8CN2/8AiEZgHYyceY1Dblz+BYZgrDMFYZgrDMFYZgrDMFYZgrDMFYZgrDMFYZgg0yJHUkbeBz/wThjGzzLiPIGMLzqr2ENGRAplhNKjJ2VcZ4VCnnI+XoWvjtsz2Ov+zBv7PLTx3xt5LXy6oHVVA6qoHVVA6qoHVVA6qoHVVA6qoHVVA6qoHUzY+ZmNy4zpxPwy515w2nS0t7dKAH9vvrKFSRnJilnZ2geam1iYPlxyXNuPwkxPHn6uXW8vq5dby1vboYubQzbJIHgH+eTP63yC7+z8/ZCYfcqduQxsPPdOJa5ErXIla5ErXIla5EhXILy+P3Aa+X+aTP63yC7+z8/ZCYfchZ/95n5jSqhVQqoVUKqFD2OP8F44bt+cmHGUxGyARI/pyNMy+nI0zKH2sCDMCCQxLom/H5qbAIp6/cf8PIUnunu9IZeV+lwesLZ/xS2A4+5GQ4w/0bPJqGM9ppZoz2RLWLNI0gZNLCmeRrvbyt5W8reVvK3lbyt5W8reVvK3lbyt5W8h7I/+88cNp+6cEYS+GssM7RuM1B6LphM6WGDI2BneqCJVQRKqCJVQRKqCJVQRKqCJVQRKqCJVQRKqCJVQRKqCJVQRKqCJCuPnljfuA6cv7dlun6KOztga+Rlrr7PDKPlfq8bprR0/RT1iMDvyMT/Jv//EADsQAAEEAQIDBgMDCwUBAAAAAAQCAwUGAQAHEhOlCBEUlNTVldPlEBUjFyAhIiQwM0BXYLYJFpeo19j/2gAIAQEACT8A/tSEq9w7QsKGA/uduPbGlTVL2jIlBg5OPqsXXhnx0Wy+Pw5TR8qqRNYgKiguOELCsUuRKRlf7al++8misFpjs1bbDNUyrDqneQ7S80bNTeF/WyjIz0M43lrhRnGcJT3QlUpXaEmAH/yZbk1RtcJS94DYoMgyQrUvXjCiW6luG5GiOSkdiKNcrVvdakwYuLq0ixDQs7/MEkmXbcncC4Xu2klvqJJdsdrsEhOTOXX14wpxSTzn0YzwpxhKcYShCcYTjT5I14203Dpd+p5AbSnymrPULHG2CBWOwj9Yh3EpHi8A+O/n57mu7PH3fmT818UO+fqfmvih3z9T818UO+fqfmvih3z9T818UO+fqfmvih3z9T818UO+fqfmvih3z9T818UO+fqfmvih3z9T818UO+fqfmvih3z9T818UO+fqfmvih3z9T818UO+fqXlCh3PHcxgg8t9lfBHGLRxtOuqQrhWlK08Sc8KkpVjuzjGfzqdKy/ZM30u85fqXdYSKcdr221hucs7MTW01qWC24PV1w03JEi0FySUwLZqr93NxxZs1FWMON1S5aL7JOx1yib1dbpMx5AkDuRY6jIplIHaqpvkoabszspPx4jV8ci1ujVurIkWZE0Calq6JI/bEdQlPW6iOoSnrdRHUJT1uojqEp63UR1CU9bqI6hKet1EdQlPW6iOoSnrdRHUJT1uojqEp63UR1CU9bqI6hKet1EdQlPW6iOoSnrdRHUJT1uo3kFsczlO+MPd4Oa0tlz8N4pxpXE04tP6yM93f347lYxnH5sPFWGvzYJMZMwU5HiS0PLxpjSmC4+TjD2SAjwSmVrZJEKYdYfaUpt1tSFZxnsI9mf77dKyaprG19fxXcEZdS9xNU3A2KeyjmJxnDDME2xjHEnDeEqUnMLE1yAiBkBxUHAxocRDxgjec5QLHxkeyOEEMjKs5QwMw00nOc9ycd+f7u2M223Iqm1tiNo26Hbf7Rs3MwnZngbuCkZyQrm3ETU1/wC8N1ioptx1g2XrzZoYxbkfIJhZCqSMTYJd7sCdtetRrTkhYNlqiBuJsnudIhDcRZEdtjapMVup4lnWGlCCP3FcrxLdaQzCyBK8ZTEWnbzcbbOzEUDfbYjccD7m3P2V3DBcKYKrVtis8OViluAHOQM4whsaVYENGIHjJ6JnoKI/lzDI22C7cRNGiJWOVluRhlbwX2o7PmTccQlaHAz4WPvZcoEewtJMeUI0aNnBA7eowOMgdt9tazEkrDaU199WYmPak7lajON15a5O22w2ZskmvLq0eNk3ks4bHS00jWGoxv8A1FuzZ2g9qt8IEdxxsGasPZmqQW6NN3GLBbThh20fc8XE0keTeypbUDHnjMYZcPPUd9j3ILY8HyneW07wc08Vlz8N5DjSuJpxaf1kZ7u/vx3KxjOJfp8X6LUv0+L9FqX6fF+i1L9Pi/Ral+nxfotS/T4v0Wpfp8X6LUv0+L9FqX6fF+i1L9Pi/Ral+nxfotSXPEf8ZzWvBgNcfKAKeb/EZFbdTwutoV+qvHf3d2e9Oc4z+4KFjk7w7bTlahZg5t54Gv3NlLUzQbMYOP8AtBItYvEXXrAQKz3OlMxqx21JU5hWJFjZ/wD1COzRFR2026+0t8IGgpnclNPDDiK/uvtoQW60JfYO9V9MPPlvV7LjqJA8mRDj81SRrkzK3+n7Y0GvMeIm7je7FFVeuRrecZ5aSZaYKEDS+QrHKEFw6okx/KRxWnn1obVX5+D7HvZk2vtHZv7FMtY4uRgTd6rjbJQlnebfeKipPOSGKq2EmRokS+oYFUsE9DILZCsdatMOF9i32xyuTzFjqbQ9jkPtEI4FOtvIx3rZThXE2rvTlWMd2c4Vg2a8wD7do2a8wD7do2a8wD7do2a8wD7do2a8wD7do2a8wD7do2a8wD7do2a8wD7do2a8wD7do2a8wD7do2a8wD7domUcIF53LQQ8ItnPPYdHXxpaCZXnuQ8rKeFxPcrCc578YynP7nYmpbkSEIwseuXLCpSrbi1planHcDwW4VQPgrgDHJKXg5cH98OQBhrbL8hFGZbTjW1l+3uIri3F12G343j3E3LqUPh1ttrLLVQkptiuSIuG20J8HORsqIrhQpxla2WFNRcdBwcMCLGRENDgjRkVFRoLKBwo+NjgmmBAQRB222BRBWWmB2UIaabQhKU4/u5g4mHpNWsNulRoxth6SIja3ElzJzEeyUSEK6c6KE62I2SYIw4+ptLxLDeVOo2T7bv/ABvsP/8ASetk+27/AMb7D/8A0nqhb+VCY2tq0TbrATvBV9vICNMjZiWVDCsQ71L3T3AKIObKRlx9s0OPYSx3KbJdc/Cx/L/0R3X/AMDnvt/ojRf88e+1DLhAvheWghLi2c88wcdfGlpxlee5Dysp4XE9ysJznvxjKchQvlzvcdBQvlzvcdBQvlzvcdBQvlzvcdBQvlzvcdDRjY5XiuYsdktD2OQGQQjgU6a8jHetlOFcTau9OVYx3ZzhWP339Ed1/wDA577f6I0X/PHvtI8J4vw/7Ryefy+QUwT/AAuazxcXJ4P4ieHi4v093Dmw9J+p6sPSfqerD0n6nqw9J+p6sPSfqepnxfhPEfs/3dyOZzxXxv4vjnuHh53H/DVxcPD+jv4sfvg/vGvWqDlq5PR/iCw/Hws4ARGSgfiwHxThfFAlPseIDJHLY4+YO+y8lDiexx/2F7VP/uOuxx/2F7VP/uOtj/yUWG/QYFctsh+Uvd+9fe0LGHqkwg/CblX+4ggcg5WX/ERgwZbnfy3n3Ge5v+4Nz4+mDTTpAtQqYA70/uBejBFCoNHp9OjuZKyrUdk0PMvLLQLBQiSxFTMqBgsbL3Zl7TGKVkrDT1lw5tfmxNic1SclNVHN0wA6vDXC7gZVwZznOVN83GU4UrdGOuw0P4Fq4VI0ciA3BoJ8gh9QoFzp0mlmVivEuCHMx0uwg2tzqwDnK9Ny4wrr6f5iYKOqxVqlartBCrKU/HVLZ+syRkfRYaMZSrIzCy4tCbBPviIaalbTNTcxlCVnqTjU3IR1WGt8JV94YUVS3Bbfs3ZJcAG/wJoHGlg0lqGy5N1xZCXExdriYKYaQp4BCVfbXurfTNV7q30zVe6t9M1XurfTNV7q30zVe6t9M1XurfTNV7q30zVe6t9M1XurfTNV7q30zVe6t9M1XurfTNV7q30zVe6t9M1DeE8X4j9o+8efy+QK+T/C8CzxcXJ4P4ieHi4v093Dn82NkAS9stw7DEQBh4mQ/wDc1FfPeOoNyAR3cCoy3U8mGsAOW8/htH+GeS0Sw+w1qNKPM3Nv0JFz5Izb6mq9RRCkSV+tkg4P+IPHVenhzM0U4hSXVpDSMLxmPjtOfabC+YO9u0bC+YO9u0bC+YO9u0bC+YO9u0bC+YO9u0bC+YO9u0bC+YO9u0bC+YO9u0bC+YO9u0bC+YO9u0bC+YO9u0bC+YO9u0bC+YO9u0bC+YO9u0bC+YO9u0TGODi+K5iB3i1vZ54ZA6OBLoTKM9y3k5VxOJ7k4VnHfnGE5/NAmKLvFU4oiJo2+dA8CNcYiOceWY1XrICeO/FXintyC1lpgplts6NUVKKq09WSpmULK7cdBzR8FZwzN52UsWLW4FzU9y3avjcDMQ0VlnizltNveZw7hOOblKs5SDL3veG2x6Yu675X1IT9ylYhBfjUVqvBAstRNLqmCUsPkREK14uafCjiLNLTr8VFOA/3N//EADoRAAEDAAYFCQYGAwAAAAAAAAECAxEABCExQVESQGFxkRATFBUiMmBysQVCUoGh0jNTgpKiwSMkQ//aAAgBAgEBPwDwpVanzo5xyQg91IsKts4J+p2C/odWiOaHFU8Zn60rVS5oFxskoHeSbSnaDinDMYk2kawlISlKU3JAA3AQORQCkqSblJIM5EQdZqlYS62lBMOIABBNqgBGkM5xyOyOSt1hLSFIBlxQgAXpB945WXZnZOsgkGQYIuIsIp0l+I55yPMZ43/WhJJkkknE2nxcGG20hVZWpJUJS0gAuEZqJsTOR4zYP9JfZ/zNHBZ0VJ/UBbG6N4o6yppQBhSVCULTalacwfUYboJ1eqoC6w0k3aRO/RBVHzijqy44tZvUoncMB8hA5EnTqbgP/FaFJOQcOiRum2M41hpzmnEOfCoEjMXEfMSKVhkgl1vtMrOklQtCZvSrIg2W+s0SlSyEpBUTcAJPAUdhhgMSC4tQW6BB0AB2UTnicrcCJ1ht51r8NZTN4vSd6TI+cTQ1x8ggKCZv0EpSeMTwNL7T4vAkgC8kDiYp1c/8bX7l/ZTq5/42v3L+yj9Vcq4SVlBCiQNEqNwm2Up1hHfR50+o5faXca859NYR30edPqOX2l3GvOfTWASCCLwZG8U6bWvzf4N/ZTpta/N/g39lHX3XgA4vSAMjspEH9IHiBplx5Wi2mYvNwG8+gvOAp1a7HfbnLtRxj+qOsuMq0XExkb0q3H+rxiBrLDQZaSgC2JUc1G8n0GQAHI+0HmloIEwSk5KAsPGw5iRrLTgdbQse8kE7DiN4MjkdcDTa1n3QY2nADaTGssVlxgnRgpN6DcdoyO3iDFOskx+EZy0xHHRn6UfrLj57ViRcgXDacSdpuwjxP//EADYRAAECAQYLBgcBAAAAAAAAAAECEQMAITFBUZEQEhMyQGFxgaGx8BQiYHLB0QQjQ1Ki0uGC/9oACAEDAQE/APCkaPiHFTOqsmgatZ5cstEd8c8GuZpQo+OcVTBVRFB9jwOqvSCXJJpJJO/ACQQRSCCNo0mNDKFEgd1RcGx6jZq1b8EGGVqBI7oLk2tULddg3aVkobviJumuo4eLzEUokQgCBMVqzQdVvVVPz0z9xYsnB3FmveSFhYcTETKSaQbD1xcaRFJTDURSzXkD1khISlKRUONZ3mfARixkkfUSoH/Id+Q0hacdKk2jjUdxlDW4xFTLTMQa2oItcWcmkSAHJAFpkj5kTKN3EgpQaHNZ2Uj+g6SpCF5yQddd4nkIEMTsT5iSLvfxgSwJsBN0u0w7F3D9pdph2LuH7ShxUxCQkKDB5wPQnSF5qvKeRw/DZyvL6jSF5qvKeRw/DZyvL6jSCHBBoM0shC+38le8shC+38le8kw0IJKQxM1JPMnxAtaUB1FrBWdgl2lL5qmtme7+yQtKw6S9orG0dCzSYiytZUdg1Crq3BDWULCr9YrHVekrSUKKTUeFR3ifAhJUoJFZ4VncJ9JiQkxKZiKCKdmsdBnl2UvnhrWnuf1lDhJh0Tk0k07NQ6Pif//Z"},{value:sm.BULLET_LIST_1,img:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEA2ADYAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/CABEIAPQA2AMBEQACEQEDEQH/xAA0AAEAAgMBAQEAAAAAAAAAAAAABwoGCAkFCwQBAQADAQEBAAAAAAAAAAAAAAACBAUDAQb/2gAMAwEAAhADEAAAAL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPPPQAAAAAAAAAAAANbpx+Wlv5/1QMDQn6EgAAAAAAAAAANY+kfly72fd/wAm3SZ1an1IcHQnyEhqSAAAAAAAZcbEAAHAO3xoza1O+Bk3e6tTqBhYAAAAAAB+0ycAAHHqzy7C1uoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGsXSPAG3xsg0u8tR9AAAAAAAAAAAArLXq/Am5xsL0+9kij3GMEFAAAAAGTk6gAAAHy0N/P6W8J3e8q3sPCQ8wwQAAAAA9QzoAAAGvE46u9I9KeHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYt75WQv8AAdI+E+utbqAAAAAAAAAABCM4/GE+myxcGzbN+PIujHyHQADISYQAAAAAAQjOPxhPpssXBs2zfjyLo8UjEAA9ok4AAAAAAHh+uMNnkNwect+eMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMP8AfKeWlWuM5trJPAAAAAAAAAAAGH++UrNSrrBOO3vOV0HMt5J4ELgAAAAAAHtEnAAhSXlEDXp7C85QpON7jJuSxH0a+gAAAAAAGQkwgAEMy8ola1O+Lk3JWj6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/EACwQAAEEAQIFAgYDAQAAAAAAAAYABwgXBQQJAgMKEBYaQAEVIDA4YBgZOVD/2gAIAQEAAQgA/wC18Mti+LKczB8PuZWPSbMgwb0uGz2H3XJ14idfNnvwxjeAse9iWhcxyfbzLfE9jZF96HybAW3bZ04SdPMn5yP4Lxn/ANrFrt4KeXPnl8J98UWncNH6juz7yOJ28kIl5IRLyQiXkhEvJCJeSES8kIl5IRLyQiXkhEvJCJeSES8kIl5IRLyQiQLm8zrCrF6fV/TI/axhdEx4nx3bG+4d5OeHHPDh3AOCNu1vDuQb3M3uyOB3rwPVeB6rwPVeB6rwPVeB6rwPVeB6rwPVeB6rwPVeB6rwPVeB6rwPWODRvFazk6/QfViNjmBeGnpq59aP9tmQwWWkvHBz2lE4I7u0429YrjPdw1kX4ZmSTd4Z2WF9zP6VuB2QpzZaV2pe7efhNpHIycloA7OnUBYXcTJ8THl3uxlkdZihvJa/QWGYKwzBWGYKwzBWGYKwzBWGYKwzBWGYKwzBWGYINMiTKkmN0Gv+zvdTVJNyvcWJ8e0W3B0sjzO58cE6M+40RPjrDxutG1UbO2ZxOnzmN1OL1dUDqqgdVUDqqgdVUDqqgdVUDqqgdVUDqqgdVUDqwzfYbB5LTZTSfYla17lvdH5y2caeAm05DDbnH9NymK/cDkuxrfhJieZn1cu28vVy7by23t6GLm6GbOSBsD7eTP43yC79H5+SEw+5VltRg8Dr8ppLXIla5ErXIla5ErXIkKuDmc5ntBi9X96TP43yC79H5+SEw+5Dh/n2H1mJVQqoVUKqFVCh5uPkOY0eW++TDmFMRsgESP05GzMvTkbMyh9tgQZgQSGJdE39fcFwQhqAgqcpysN1Yodqp76kfygcYijhig4dgnt3BcEIagIKnKcpyOpWjlJ2T7jxokL6ZnJ/yr8oTQdSrF2N8oAGLLIhxiKOGKDh2CdreVvK3lbyt5W8reVvK3lbyt5W8reVvK3kPOP8+zGjxP0yLjy0crWXPo/vpzel6dgHmcVj7s/33QIsz+uZYHpcnEOpojeLb9i2Oa2NbRATFMr2qgiVUESqgiVUESqgiVUESqgiVUESqgiVUESqgiVUESqgiVUESqgiQq32Zwee0GU1f0yFYBqpSsu4LAPbhulVkRxz31LQZljWRbCNzRgTGMx+zf/EAEYQAAEDAwEEBgYECwcFAAAAAAQDBQYBAgcAERITpQgUFZTU1RAWF5XT5QkjM0AYGSAhIiQmMFdgtiUnN5eo19g0NUVGUP/aAAgBAQAJPwD/AO05N9z2i3ouyrPQwerok1kkLhjuSjfRTrdjeuWKUKiZcjQdUgZdCxS5VFS237zi47pAZjxxjoyaxbBcbdgBJTLlOOqGEraKot2je1IXjObiQi1iGvj4MwujLEm55lCje0k5Vdi+kKW7dnubYUgbWDucHqbbS7CBEGTKsRsxdYjZY3ixVBVI4E5JGTBuaM5RSk1uLH3AuSch4/aJlJsJzE9vKlsHKNpamSIbYIrQjqd6lyJYVXIJqfBAjwQpQxxySpubA3/d8MybpATvG8LPkUdxTElEE3aRloXpJXrqUvUoaszsI6q0hkAzEK6yQlja3BCOs7q8KBhLZWcXjOzw42AvDORYYpj9/wAfqGWX2YUVhaBdELMYWIUTEbI+Isme2npoSkB0SmyVskr0Asi/hm+wP23/AIBnaMV/x0/672jep/A/xF/8n1vqnbf/ALT7J/b9/ZOsnnC5sFOuZEIlRJwpjQXGlHDi34Kug9xtLbsZ3W04JDOoT22q97Zpc9UyBS2UWYglWBJvkWENEnkmIZosKvJIQ5HWXVUbjrxbqX0QKssTdWtJ0EaJEg0ngoSiPxuRpujA2+h/eveh3x9P7170O+Pp/eveh3x9P7170O+Pp/eveh3x9P7170O+Pp/eveh3x9P7170O+Pp/eveh3x9P7170O+Pp/eveh3x9P7170O+Pp/eveh3x9P7170O+Pp/eveh3x9O7oUOp17iIEHlro37jcZfZvpKq3WXbt9tt9u9bXduttupsrSlfyui1MM5Zix3CHHJMX6LsDTZboKdmUQxQs7L7BElw98aTJ2Kpvjom3WPQ7GqA+TqJQV7yJc02UygTfl68mjNZDbaH3YsuxZcf1i3BtsModVO7GtydaUoDQqr7V9r670e/X79ptdFWUYK6QOQYG0ZDknRqnNzMpDYhmpwJtOty48RAUPduyHRKztNuvcuyaVLObptKIHHMuIOSrf6WjmDp43TRzB08bpo5g6eN00cwdPG6aOYOnjdNHMHTxumjmDp43TRzB08bpo5g6eN00cwdPG6aOYOnjdNHMHTxumjmDp43TRzB08bpo5g6eN028AtDicJXrh6u5xUr0VPq1ilErt5JS+39KyuzbtpsupStPysdW0mStqcjAxPVFu9jrRmKriqaXmoGK9U2WS5alUSRG2q3qw2SehM3EaKStURzb/5tnEhxdkZ3YlXTE2U4k+O0Zk2Nsrx+tHjH8wan9gXEe29JvkQoaD8m2FILu0XMfGFW+ojqSnfg1xzHiPHuRZbhbN/ST6P7CGZlHow5Lx1IVI1MY90ruj7H0RzVgW1O5vlxGSsRtPYgkPdGmi0YdJQ4VA1kyH5Yxy/8SxtlkJehXlsqWhanUxrO6vfUhpfG6qqaTswuyAL00kXdWcgBSKVSp95iDvPejt9IdBlRsnYnhjwwNkoYuk7gj1ebwssx9rfTAgbmWZY3lQrLNuzkrVDJM3iPb841MJZhDcU9KboFdKM9dY+SuuPFsYPnR/zZdwFraMudOj2bK0ILIEClFVuHKGEFokLQecvJ62Pj+A0Kh4RlsB6RaLAQ4ky3GMakszwbJ6NiVVTHBxIEReH3DKhaVqtwaE4LdYeqsIoHTIiT25skeN9C3ALQ6nwleGkrucU8VFT6taxRK7eSUvt/Ssrs27abLqUrR35e1+C078va/Bad+XtfgtO/L2vwWnfl7X4LTvy9r8Fp35e1+C078va/Bad+XtfgtO/L2vwWnfl7X4LTlxxF+ucVLqYCW/wgClk/rERU1bd1VOy79G+m3ZsrttrWlf3KL5P8a4uOvwJ0do3EAT5EVMEGR0JskcvjrOzolEvR2SZlc5OjOQEDVyOhw8NbiUlFWmylH5xwNjxbqjkJhKKkN5maJKLW9Je0aWO11jhH8Yglj1pRYSicimNtty4JrXFHBOwqzE0SxPDB+AoWJHQa9qSA5BKqNrxLZIaoXIpc+XJ1usueJG6Obhwq0QsItQtsSt9F66Y5XB4l49ydi1OAukRZuXKprWU23o20u3k7tttbqU2VrS6hr13gHy7Rr13gHy7Rr13gHy7Rr13gHy7Rr13gHy7Rr13gHy7Rr13gHy7Rr13gHy7Rr13gHy7Rr13gHy7Rr13gHy7RLooQLxuHYQsJejXjoKj379qQSN9dli11bd1S3ZdS2tdtKVtr+4yKLiKV5SYFYGRlFVtKeXKCxOTKptc4fYs0ClNtx00tiJDyFD1FXllHZ5Ea3SBU++jRQA3HCDlktZuoDJM6T2gckyzI+KlRM5NN+uEHFijObs2LRyGAMDKvZYlceIeXZcYp/OCBxLPCYtIZc6jNiaCzkQ2xtpLeTkG9EokIVU5UUJVMRMkwRBRe5O1YlBOtytmE+m7/AJb4H/5J6wn03f8ALfA//JPUCz5EHjFsWaZdICcwRfHjA2mNrw7XMwqDOtC8p5AKIOTKsqoumaG3oWobLkyVVPqqfd/4I5X/AKDfvT/BGC/14t6bEVCBeq8Owi1S9GvHMHHv37UlEb67LFrq27qluy6lta7aUrbUJl7ud5joJl7ud5joJl7ud5joJl7ud5joJl7ud5joZsTHK61xLx0S7FqcAMgizcuVNWsptvRtpdvJ3bba3UpsrWl1P338Ecr/ANBv3p/gjBf68W9JHVOt9X/WODx+HwCkCfsuKjvb3B3PtLd3e3vz7N2sh5T8z1IeU/M9SHlPzPUh5T8z1IeU/M9PPW+qdY/V+zuBxOOKuN9r15bd3eNv/Z3b27u/m271P3wfaMelTG7Rx+b+sFh9fZXwAhsdA+tgLinC9aBKXQ6wGSOWhv8AEHXRWtsUt6HH+oXpU/7466HH+oXpU/746wf7KJDPmMCOS1w9peX512syth9zmEH1TJU/mIIHAOuqv1hsGDLU28NZdRHYn/MEqY4RAYQxnySWy2SHoNbGwMbWhcSc4uJxN1iSKCKVldlNtVFlK2IIWKLqJp3Y36j9HyXwYK3TmrW43ZgbXRJyVtpnNwaE1b+NDzuLagbjZFuvlAEXRHkApREpRLhjhI2WXwuXsrdI4tKY44iu7DIGF3FSNbHdocwlVhDm84RZIgYkdW9JVK+26277xKmOEQGEMZ8klstkh6DWxsDG1oXEnOLicTdYkigilZXZTbVRZStiCFii6iad2CmqUfRXZYY08Sujy9tLrfk5EtN4qSNnVzbRCLSw472km3OAEWZxkZ9DBWZjnbA6WzZtWihefof+Kr9T/b3+Fr64RLtP2PbnbPqRxOP2P64dj/Xe0vqns39Uv26/7t/d3rB7ZC/otMZMSWI41NWdtfPaSE5put6q2b02QhdUxxgxZ65pTzG3EAnJkiFcXLIzm5EzAxSBKyNll8Ll7K3SOLSmOOIruwyBhdxUjWx3aHMJVYQ5vOEWSIGJHVvSVSvtutu9Me5t8s1HubfLNR7m3yzUe5t8s1HubfLNR7m3yzUe5t8s1HubfLNR7m3yzUe5t8s1HubfLNR7m3yzUe5t8s1HubfLNR7m3yzTN1TrfWP1jtHj8PgCrk/ZdRR3t7g7n2lu7vb359m7X8iJizXF+SGfseSMZKig61tUCh3Fqd2k9CtpTS/x94DAfGB4DvsLa3hvDNQuoojSlcpssU+jsx+0lZXknSpdXqOMbwpi9vWKKLghbUetaMwZOACCJQkUmPBpAWVkSum6ahSxAEHJ6M8d/E2+oP4PnbHZ8j9et7tXj+2rsvrfbHqf2x/bXV+B7YOu/wB7nbfrz+xOsuM8p+jemTODlqN9JlhfY48ylzxs6LoFN2NmltCvWDdckuIZSCTXORm5THhcbUpOd2rnZfjm6JAQbF+NGJKPRGMt1VlEQQrV1zCySSiVFjHJ2d3Ms55fXlwXIcnp7cHB2ciSTzSF1PQay94O8u0ay94O8u0ay94O8u0ay94O8u0ay94O8u0ay94O8u0ay94O8u0ay94O8u0ay94O8u0ay94O8u0ay94O8u0ay94O8u0ay94O8u0ay94O8u0ay94O8u0S2KDi9a4lg6xd61eOGQPZuWqhI2V2XrW1u3lLdltLq021pS2v5MZSl2McmsSjBKGW8hcJe5Gi6BwDi2uAt6ZbY9MjqIC8sjoKpaQ3OoAZiVa3I0trMd3oQN/BnFekeOq0WS13gyzkqkhjEOL3cTq+aLuCo2uDko2qQhtbaUm9Kk3EN8HMigMJxhjRgHjcQjQFy6yQICKixK65JZSq5rk6ujgSY7vbu4LkOLw8HnOjiSQaYQtf/M3/xAA7EQACAQEEBgQLCAMAAAAAAAABAhEDABIhMQQTQVFSYRQiMkAFQmBxcoGRobHS8BAVIzRTkqLxUGKC/9oACAECAQE/AP8ANRt2ZT3qmoZ1DtcRmguRgPrDkJBOFjo9E0dTdFyMDtB454ue3I4YWdQrsqsHUEgMMj9ezcSMe8UkV6iozBFYwWOz+8hOEnHCx0akaWpuwgyO0Hini3nbllhbWv8Aldcuqv3dbj2N08Pu2XrmNujUdTqbvVzveNe454vdGERhaooR2UMHCkgMMj9esbiRj3hNIq1FTRzUCKTdNQzN3hJ3eycASFt0WjqdTd6ud7xr3HO/3RhEYWevVRG0cVA6AkBxMleEHh/oEr3rpVY0dTewyveNd4Z3e+MJjDyupPq3ViAyzDKRIZTgwIPLLnBtV0akzxRe6xUOtNz1aikSDTc+sXWMyDjFnRkYq6lWGwiPXzG4jA96o0zpVIU5AeieqxmDTeeqSNoYSOWA22TRa0BKzU61PZJYOvNHuz6iYOWAm2k6GaAvq4KTkxAcfAN6seUSe86LSFCgL0Bm67k4ROQJ2XR75tX8IKsrRF9uM9geba3uHns9R6jXnYseezzDIDkO8U2VHVmW8FM3cpIyBO6YnPDC1bSKtc9dursQYKPVtPMyfLECSAMyQPaYt93V+Ol+5/kt93V+Ol+5/ktX0Wpo4UuUIYkC6WOQnGVXvCdtPTX4j7fCXYpemfh3hO2npr8R9vhLsUvTPw7wCQQRmDI84t03Sv1f4U/kt03Sv1f4U/ktVr1awAqPeAMjqqIP/IHlAqliFUEsTAAzJsfBx1MhprZkeKf9BzGxsicMsQQQSCCCDBBwII2HvCqWIVQSxMADMmw0F6dNXRyNIU3oB6uXYHPmcDJBwxt0/wDDi4ekTc1cGL2U74nxc5wyxs2g1HpmozTXY3ipiI4Z4tx7I7OWNiCCQQQQYIOBBGw93R2psHQwymQfrMEYEbRbp6mkCqk1ibopwSL3FzXcMycOduh1ruvvnpM34wj0Z3xhw+LEY26eBSN5SK4N0oQQL3FyG8Zzhzs7s7F2Msxkn69gGwd4R2psHUwymQfrYdosfCCam8B+LlcxieKeHlns52dmdi7GWYyT9e7yn//EADYRAAECAwQFCgYDAQAAAAAAAAECEQAhMQMSUWETQEFxoRQiMlJgcoGRwfEEEKKx0fAz0uFC/9oACAEDAQE/AOyiiQkkC8QHA2n94swnGkXfvvzuDYNhl6wkkpBIukh2NR++7HWFEpSSBeIEhjAtFhd9+dwIwbD3rOLif5rhvs9yXSxbHjtu3o0q79958G6rYe9ZwkkpBIKSRMHZ++eLHWFWaEk2oSVEBwkUfFsfcAmNKu/feeGxuq2Hu7zhNmkkWhSUqIe6aA4tj7kBWtaJF++08Nj4tjwedZ9rlpvJIBY7CJMRQ+fCEWqwl1hwCQpSapIreTxcbM4BCg6SCMRrS1aFd5nTaCYHWTt8QZ5zMG1Q95AUhWTMe8mh3+M4sra+bpDKycg/jxlnrNsvSLlMDmpbbn4ng0I+HJmvmjAdL8DichCUpSGSABl6mp8dYUCUkAsTJ8Aatm1M4RZoRQT6xr/nh2xJYE4AnyjlNngvyH9o5TZ4L8h/aLO1TaEhIUGDzA9CdYX0Vd0/Y/P4bpK7vqNYX0Vd0/Y/P4bpK7vqNYIcEGhlGgsur9SvzGgsur9SvzCbNCCSkMTKpP3J7QEgAklgKmOU8+nMpnv/AMwzgEEOJg0OsEgAklgKmDbpUopUl7Myz73tMVE5Hk/O6Q0bXrzimG/OjTygW6UqCUpazEn2793E1M5QCCHEwaHV1JCgUkODWOTkLLlrMTKpUw350aeUaZD6O6NE13a+/d9X/TvKOTkrkXszO9J2w350aeUABIAAYCg1hSQoFJDg1jkyr7PzK3trYNjnTblAASAAGAoO0/8A/9k="},{value:sm.BULLET_LIST_2,img:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEA2ADYAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/CABEIAPQA2AMBEQACEQEDEQH/xAA1AAEAAQUBAQEAAAAAAAAAAAAACgYHCAkLBQMEAQEAAwEBAQAAAAAAAAAAAAAAAwQFAgEG/9oADAMBAAIQAxAAAACfwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY8d832469EAAAAAAAAAAAGsueOJbo1p/8Aj3fuAAAAAAAAAACkPWuaeOJvoVp5OTcuPz6BiSAAAAAAAVcZEAAHO72aObsXc2fLtgCiwAAAAAAD9pU4ABaDry3vXmUMfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh26VXVVYjmyZdvYHD2AAAAAAAAAABq1sR8mD6HNEielP0wsO+KYLFAAAAAFTl9QAAAYrSc8hn6PMtL15MozLU8HJuDzChAAAAAD1CugAAADC6XjX9NxvBqTeiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYRS8R1rsEwbNtAAAAAAAAAAADCmXjlk7+fhFLxN7y7c27KtinyzoABUJeEAAAAAAFg++eXXvZ+rSxH0Nsa9Klz7A8UtiAAe0XOAAAAAAALB986RbUUjalOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABaXryFlqVJx+Vc9jwAAAAAAAAAAAIXepVkMUptlkEgFlwAAAAAAD2i5wAKQ9c7Tao3j496C+PdAGPoAAAAAABUJeEAA1G2Yqb9blqsoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/xAAoEAABBAMAAgEDBAMAAAAAAAAGAAUHFwQICQoWECBAYAIDFTABGFD/2gAIAQEAAQgA/wC3J+3ep8JEuMFzOzvDQQtDW/sH3HXTfTB516PyhO+DwK5Fue+8iP3RPenFxcbCxsfDw/tpAN2KMwM0kco0C7EaQ9H3MiFoE6yS4T9mOyMLc9oXh+JgKB4sj2GIt+fZCJeyES9kIl7IRL2QiXshEvZCJeyES9kIl7IRL2QiXshEvZCJeyES9kIkCvbzmFTXj5f099uZh1zk2VYt/NOvEf07/c/V+zsLvmYfRXgeq8D1Xgeq8D1Xgeq8D1Xgeq8D1Xgeq8D1Xgeq8D1Xgeq8D1Xgem4NG2rM/Zz8D6Z9gmMNm4bkOBpm0v1SAdIdYIg1djT8u6ZeUuzwrIhVB+hkS+WF0QEDDHc5V5y9Itf+mEIfql+Evt+104l+unLPciUwL48XubyqNOqILGLT8GTjmNQ25Z+BYZgrDMFYZgrDMFYZgrDMFYZgrDMFYZgrDMFYZgg0yJHUkbcDP/o3h1jZ9y9R9gdYXmdYMlPWuWjmD5qXinc8jpxlol6HSJ8PLTjvjbkteXVA6qoHVVA6qoHVVA6qoHVVA6qoHVVA6qoHVVA6maPmZjcsZ0xP6du+eOme9rPgte0cT+OHyZikoxSz/DOztA81NrEwfl+/m/kCc6YEep0nTk35MH+xc9ksGbz/AHG/W+UG87NeyDYCcd/N/J76LT29TpOi8f7vdk5uSBaF7tfBU7ZDGw57piWuRK1yJWuRK1yJWuRIVkF5fH7Aa8v+7ZvWSFtwIWM4Bn7q5yjmnl9NP6holbGxye3JvZmbg1wabdRW0b2828+CFn/nmfMaVUKqFVCqhVQoejj+BeMN2+w2b1khbcCFjOAZ+5XePFC3PmaTafpJ/IZ4m6O9bYakyepZ1X6x9pevW6mbHunY7gOTUPsbW8/ceUju2Sm5BDfKmB+UHPQO5u6hAsKt3zbyt5W8reVvK3lbyt5W8reVvK3lbyt5W8h6R/554w2n6ZADG+RwM0j52ZNod8/G/wB6TWAi/wAfuIj3pR1WmfojsP8ARVBEqoIlVBEqoIlVBEqoIlVBEqoIlVBEqoIlVBEqoIlVBEqoIlVBEhWPnljfsB0y/p7JcwxTppq05hmBwh0Ue9DefUfBUhfk/wD/xAA6EAABBAECAwYEAgkEAwAAAAAEAgMFBgEABxITpREUlNTV5QgVldMQIBYhIiMkMDNAYBc0VHIYUHP/2gAIAQEACT8A/wDd/E98PG0dxNQK6HU9z96ttqDZS2juHITg0Fa7LEyj6DMLR3VbQq0kcaeVlfFjtlI6cgpyOBmISbhzhpOImIiTGaNjZSLkgnXw5COkA32SwThHnhixnmn2HXGnELz/AHBEcrdKTQxtxsTESLbJTMtu5bxzW4It6PfzhqRjqdGBzV/mo91TTcjD1U2Mw8gg4fChpjcradq6S0lSYLcEouaJ+IzdgWUy9Y7ne3ZbvBFm26q8th8M0Mpx0G8XFsuFk3H4Ks2ODmx2BAxGGhRBBWmxxhRh20tMDjsNJQ0ywy0hLbTTaUtttpShCcJxjGP7bEvmtUGqWG52HEBAzNpnMwlYiS5qV+T1qugyc/YJPuIT/cYaFjjpSSJ5YYAhBLzbSrvOQW49b55T21O68ZFUzcOYgR+LmWqrRAk/PA2iAYwntkXYSVNkIDDgqrHHQ6T4/JVlKJ2U2lvatpFTMCS0bF/PhFLn/iX3eYay5mOkl0atV+Ur0Jh5To5qKE87FEYbtTiXoEasbd7X1CCpFOghu1aQIGux7EcCl8hfa8ce+2x3qTky1OnSsk+VJHvvmlPvOfjPzX1Q77+p+a+qHff1PzX1Q77+p+a+qHff1PzX1Q77+p+a+qHff1PzX1Q77+p+a+qHff1PzX1Q77+p+a+qHff1PzX1Q77+p+a+qHff1PzX1Q77+p+a+qHff1PzX1Q77+peUKHc79zGCDy32V8EcYtHG066pCuFaUrTxJzwqSlWOzOMZ/MRY9t9ndx7vibbkdsyTasd8OO+JaXjHwIQ6BfGIr9PvakyMzUXQlCx0PIrnqRhgCLRVxZQHnkHv/8Aj7tOWakYh7PAuJuW7lhbyQh41t8h5yiQEdKjuDcxCLlHOrKw68hj8kR1CU87qI6hKed1EdQlPO6iOoSnndRHUJTzuojqEp53UR1CU87qI6hKed1EdQlPO6iOoSnndRHUJTzuojqEp53UR1CU87qI6hKed1EdQlPO6jeQWxzOU73w93g5rS2XP3bxTjSuJpxaf2kZ7O3tx2KxjOPy1kO3ba7nVs6s2eGLaZWvu5SUuBysW+8y/wDLLDASLQc7W5phvvsHPR0dLgrbMCZcSSZJVbaetrisTskOKLKWeelZM+xWy1SQ4eMDjmWS0S8vMuCNLeQCgxsFsh9sZDqv8uodN3YmKcefX7PvzuI5Jn7bKsAD7Q54m3NXrspDSFyj455JwKrdJT8RCmSI3PhIuxwChJeRo3w/7wUl0ptUtU26lNbeTKAMP4ceYrNugZ49qIOW1jI7J1grVyGZQrjcjCHcYXomRh5ivHDwO6G11mUIm57aWYll18UKWwE46JJwc2OOQdVbRHKzHzoTBTS2o6ci52DiP7cwyNtgu3ETRoiVjlZbkYZW8F9qOz5k3HEJWhwM+Fj72XKBHsLSTHlCNGjZwQO3+Jbuax8Rm2u6+39ujFvv9yc/QuiTu80BM4ESru65aMkNuXYwE15GXRIywzorDiEyJCHvwe5BbHc+U7y2neDmnisufu3kONK4mnFp/aRns7e3HYrGM4l+nxfktS/T4vyWpfp8X5LUv0+L8lqX6fF+S1L9Pi/Jal+nxfktS/T4vyWpfp8X5LUv0+L8lqX6fF+S1Jc8R/vnNa7mA1x8oAp5v94yK26nhdbQr9leO3s7M9qc5xn+QULHJ3h22nK1CzBzbzwNfubKWpmg2Ywcf+IJFrF4i69YCBWex0pmNWO2pKnMKxT5Wi7l7dzhMDZq7LMLadZfZ7HBjwH8pwzJwcwE4PLQM2Ct6Nm4cwKUjiCAi2Hl6r0jA7d1Gq2PbvYR+TFeCVerlaeKDu9xg8vN4UZWahW2pmnuSDSe5SdhsxogRjhVUmRW/wAFvtjlcnmLHU2h7HIfaIRwKdbeRjtWynCuJtXanKsY7M5wrBs14gH07Rs14gH07Rs14gH07Rs14gH07Rs14gH07Rs14gH07Rs14gH07Rs14gH07Rs14gH07Rs14gH07Rs14gH07RMo4QLzuWgh4RbOeew6OvjS0EyvPYh5WU8LiexWE5z24xlOf5Ow9Q3LNhxnRa/b1Zk6xuFXB3cuOd1hNwakfB28OM7y5312CzMO180xtp6RijMt4xrYCY3JOAfUQBGbsbi2+5VdhxSeHCSqpmRj69OMITlXCLZI6ZGypXGtpbiGlNxcdBwcMCLGRENDgjRkVFRoLKBwo+NjgmmBAQRB222BRBWWmB2UIaabQhKU4/y+a/5EVt9t9FEDfpnunc+7KeCqlUCeV/0InJwhHyqtRXMkpJz/AGwxYlI2s/1Tu5ZPw+bhQSPlFMqvzclDMLszfDTXf/iPV9xZBbHzKVfejbIkTvcYUz/cST6gx3/kNFpEQppVq3MvhYRhkPTK0y72tNvlNBFGSkuXhMdAQwh0qcpSR2xyJr/kRW3u3sUQT+hm1lM7yp4Kq1UJ5X/QicnCEfNbLK8ySknP9qKJq2PlllvxVM+HHfiwFOEEkkkOMxte2i3Nk31LdefedWNFUG5mOKcccULWLC8pSouS/FDLhAvdeWghLi2c88wcdfGlpxleexDysp4XE9isJzntxjKchQvhzvUdBQvhzvUdBQvhzvUdBQvhzvUdBQvhzvUdDRjY5XeuYsdktD2OQGQQjgU6a8jHatlOFcTau1OVYx2ZzhWP51MBu+3F3ByOcCRjDMlDyTOFqirPWJVKFFQFpgClYNhZoLKSBCE5bcw+G+UKQk677E3c48jZTescDLMbZ41nOX11izoYwoWA3FgBVITNQqlpHkh0pnoFT8W+tAUedLzEucJGRUVGCEHyUnJHkNigx8eCK26UacaU60MIIM06QSQ62yy2txaU5rYMv8UsuC1J7cbcSbQ58b8PMaeP2tyEg3nmim7wmiu5QWWjLo9DHdci4txc4uQkGPwI7p3vu/8AEcnn8vkFME/0uazxcXJ4P6ieHi4v19nDmw9J9z1Yek+56sPSfc9WHpPuerD0n3PUz3vuneP4f5dyOZzxXxv6vfnuHh53H/TVxcPD+rt4sfz6YDd9uLuDkc4EjGGZKHkmcLVFWesSqUKKgLTAFKwbCzQWUkCEJy25h8N8oUi3g/EHuPE2mWH+HY6TgcARu19JXnKY6zyEURzRTd4TRXXAi5sTGYmuDtuOVlKDJJ4oX/IZn5BtztPT5q7W2SQ2kgvEZDCrI7jFh5cazIzksRhiJgYlpxJEtMnARo3aQU1jN5pPwp7FwRjViuhbW0u3G5sFtVtamT7qEbdrLuPVJ6bue4E+02sCIgKudSmrPMpOejw6rW4qbm4OdKtMxGw8YBLWY4KMjTrHJBhMDnTpkdCiAQwBUuU27IEBRIIUYK8QtgAQcVtplH9w2dY7tuLY6Jdd3oavPc+SnJidmEgbHbN90RngeOnLA+Dfzo8hTTqX2NtTB18osjGRIozdOcFDuu/t1BQl5227qSoA+ZgcaRU20QTVqejhqlNaU0K1mGjcTDoI8xOTLpP417q3tmq91b2zVe6t7ZqvdW9s1Xure2ar3VvbNV7q3tmq91b2zVe6t7ZqvdW9s1Xure2ar3VvbNV7q3tmq91b2zVe6t7ZqG7p3vvH8R8x5/L5Ar5P9LuLPFxcng/qJ4eLi/X2cOfySdkhYu81Sw1CSmKbYZSo26KBskSXDlyVXtUI+LMVuwgsGLJhpyLJYPipBoc4R1DzCM4mLDvr8Nk3L/paLSrhIGgVbejbiZeKRC7nbeTZ7E87t7uGMpJMTa8w+JGKXaYiTg7MBZQ4+DlWErsuNmpEvd2QKdEYcgSN7txHJGC2qrgQ5bmXB4fbusx1gnqsyBh5dbJo9HYdWwy4L3j8hsL4g707RsL4g707RsL4g707RsL4g707RsL4g707RsL4g707RsL4g707RsL4g707RsL4g707RsL4g707RsL4g707RsL4g707RsL4g707RsL4g707RsL4g707RMY4OL3rmIHeLW9nnhkDo4EuhMoz2LeTlXE4nsThWcducYTn8rMVD/EHtkiUt/w+3kxlpChLNkVtUnQZk7Lo62KfuQOEJDS7jjyx4WWYr9tUGe5XER5dbdrO9260vLby7yxZ7ISZeEsFnSKDWage6Mlb7btUosTWgZGLKKJ+W2l6z5a7v3p1hH+T/wD/xAA3EQACAQEFBQQIBQUAAAAAAAABAhEDBCExQVEAEkBhgSIycZEFEBNCYHKxwSNSodHwUGKCkuL/2gAIAQIBAT8A/ra06jCVpuw1VWI8wI2IIJBEEXEHEHQ8TZqPtqqp7vec6KMfO5RzM7Wy0iiooUey0AErduLFwGjEeQ5kEcOoLEKMWIAkgCSYEk3DxN21azVaEFwCp95ZKg6EwIPjjltZ1FlszVnHaYb0HGMEXqTJ8eWzMXYsxlmJJPM8TY64r0zRqwzKI7V++nOcSMD0Ou3pGr3KI+dvoo01PlxSO1NldTDKZH7HkcCMxtVqGrUao1xY4DIAQB0AA+L6FgLqHrErN4Qd6P7iZidImMSDcG9HUSIUup1kN5gi/oRtWoPQfdfA3qwwYcuYzGXhBPD2VA9opKcN4nx3QWjrHrt6BrOWzRlI6kKena/QcRSqeyqJU/KwJGowI6iRsjrUUOhlWEg/zAjMZH1ekKy7ooqZYkM/IC8DxJg+A58TTrVaR/DcrOIxU+KmR1idmttoYRv7vyqAfOJHQjbG8/GFGi9ZwiDxOSjU/YZ7Wiw7iB6UtujtqbyYxYfddMOJo0XrOETxJOCjMn9szdtRopQQIg+Zs2Op+wy9VssmNakNS6D9WX6kdRxFOo1Ng6GGH8g6g5jaz2hbQsi5x3l05jVTkcsDthebgMTta7X7WadMxTHeb8//AD9cTxNOo1Ng6GGH8g6g5ja0W16yhFG4sDfg946fLyzz+IkRnZUUSzEAdfsMSchtUs9ls1IGqDUc3DtMpZoyAIAUamYGMmATeSQIE3DTlffdz4mwUgA1oe4KCFJwAA7bdBd/ttaKxr1C57ouQaLl1OJ58gOIU7pDXGCDBEgwZvGY1Gexp0bbSDgBKgESMVYe6wzXMTfBkRftbGFCzrRS7e7PPdW9j/kYB1k8VZq5oVJ9xoDjlqOa4jW8Z7WuqK1ZiplFAVcYIGJ6mfER8Uf/xAAzEQEAAQICBwYFAwUAAAAAAAABAgMRITEAEkBBUWGRBHGBobHBECJg0fAyQlJQctLh8f/aAAgBAwEBPwD+tsomDKI80PXaqs9SDLfkd7l0z8NKNLXdeeJfC/7ni8Q83uTaFsLwx46QqwqYDjwcHvOP5fSotWqQHAbf5Phj00AiAZBY2mtTacteOAu7DVfs7unDTs0f1Tf7T1fbz2pCQiXHP89NIRIRImR/18/q+p2iykAbYMnK/Lj3+pmdpmONk4Wt0T3HSnUjULnibx/Mn3ubRVWNOSZ2t1Q9/j2dSoH8hHwL+20TjrxlHiee58HRGKiWTM+HZ4N9dMASPNyXuDDveTtMoQn+qI89/Ux0KFMb2v3tzp9/rGc4043fA3r+Zu7SlX1m07F35Xccn2eu0zmU46z4HF4aTnKctaXgbg4Hwo1soTeUX2fZ2iUSQxkXH866VKbTeI5Ps8/hRo6vzS/VuP4/79NplEkMZFx/OulOgQWS6zf5eR9/qJSIycgu6RqVas7RSJvwGxzuYvda/Iu6efPae0TvanHNstvKPo9NKcCnEN+cni/YyNoS4nHDDB8HdprToTYuMc7OScTOzx54Y6URqVGbux8XI8MU4WNqq0ypG37jGL7dz9ndpRhqQBLLi+x087/VH//Z"},{value:sm.BULLET_LIST_3,img:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEA2ADYAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/CABEIAPQA2AMBEQACEQEDEQH/xAA0AAEAAgMBAQEAAAAAAAAAAAAABwkGCgsIBQQBAQEAAwEBAAAAAAAAAAAAAAADAgQFAQb/2gAMAwEAAhADEAAAAN/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGj71dTxfXD2hLPeC5W2AAAAAAAAAAAOTF9Fzas7ztMhTrO/O9IDySAAAAAAAZceiAADkxfRc2rO87TIU6zvzvSAwsAAAAAAA/aZOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVTbEtXTfhvrcjc/cAAAAAAAAAAAVyXnyre/z4Dzx21efs9BTjboxggoAAAAAycnUAAAGEe+cz/u6FIm1Lpg8Lfvx1LD5hggAAAAB9QzoAAAAwj3yrPYncHrVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFM+zKMsvLTdenpjDIAAAAAAAAAACuu2GV+PdMs9f8A3I7AGnYY+Q6AAZCTCAAAAAADxBXCIMvLN4U19NyGwlp3HxSMQAD7RJwAAAAAABWLeflWmNzetWScfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKmNiUWZJTxWz69QAAAAAAAAAAByYvoubVnedpkKdZ353pAQuAAAAAAAfaJOAAOTF9Fzas7ztMhTrO/O9IDz6AAAAAAAZCTCAAa8m7CAs/J9w92G9K4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8QAJxAAAAYCAQMEAwEAAAAAAAAAAAUGBwgXBAkWAxA5CiBAYBUaMAL/2gAIAQEAAQgA+qbEfUtTriRNqR8bW4/bl2QjXd6lqdct5tRwja4/yN2vldnN20leV2DPs5IohyRRDkiiHJFEOSKIckUQ5IohyRRDkiiHJFEOSKIckUQ5IohyRRDkiiCFOznMVRXj5ft3a+V2c3bSV5XYM+yvEeK8R4rxHivEeK8R4rxHivEeK8R4rxHivEeK8R4rxHivEeK8R4rxHguRqbKszo5+B912ubXGW1fMt/pTKbU36lp1yB+1Kgdi5YZlp2Wl5yTfH2mbByLWrE9TSGMZOScemYL0rN/n+Hp2t0bmM447ba+3w7LIxzCpNmWfgWGsBYawFhrAWGsBYawFhrAWGsBYawFhrAWGsBYawCNWSkNVIW4Gf/Bym1QLxIFWta6W67SivtbC+yHSa1tW1XzxL5JNa1ulHSigdbCBx3RdHsclOOeFuSV5dUJ0VQnRVCdFUJ0VQnRVCdFUJ0VQnRVCdFUJ0VQnQTN8TEZljGmJ/Fym1QLxIFWta6WuXSjEbWwvnSdJrfuEgNt/WxHuVUU4CGk/NvDFdLJXUlYmS9YObjPFD4R2+Ptpkwpof65ZXyBROt6ISHhLD5nGXSY4ngQi3utmXtj2VRtkEZDnmmJa6iFrqIWuoha6iFrqIJVwTk8PsAry/wC2yWLmZNKCsmozlOqidKbmTGxMFKlysrGwsbIzc1jloVbKtw3TlM1fZQk/54nzCkVCKhFQioRUITzcfgTjDNvgS41NRglc4fQfjFzNHHWdXH6CZl20TPNawbdJhpGX+vvbvN1Zxzddcse8v7G+mYMlvN1ZyMddDMezXyN2vldnN20leV2DPst4W8LeFvC3hbwt4W8LeFvC3hbwt4W8LeCecf8APHGGU+7dr5XZzdtJXldgz7KoUQqhRCqFEKoUQqhRCqFEKoUQqhRCqFEKoUQqhRCqFEKoUQqhRCqFEEq3xyRn2AaZftlJ6aWCkt5ButJJx/1Gtbwi36aWCkSJBtTJJuPs3//EAD4QAAEDAgIHBQQHCAMBAAAAAAQCAwUBBgAHCBESE5Sl1RSV09TlEBVXtQkgMDNAYHIWFyEiIySX2Bg3qNf/2gAIAQEACT8A/KmU+iXN2Nk/mKbaNtSt72LnDJXYdGjx8eUh+dOgc+LbhyTquFuJW5HwUYxVCUUoMlVFKVknoRf43z4/2TxlPolwljZwZihWjcsrZFi5wxt2AxpEfIFLfgjp7Pi5IcY6jgjaUOSEFJsUQpdKjKVVKk/iPjdKfJoX2fG6L+TTX1J+a70O8fE/Nd6HePifmu9DvHxPzXeh3j4n5rvQ7x8T813od4+J+a70O8fE/Nd6HePifmu9DvHxPzXeh3j4n5rvQ7x8T813od4+J+a70O8fE/Nd6HePifmu9DvHxLyhQ7nbt4wQeW+yvYjjFo22nXVIVsrSladpNdlSUqpqrSlfrfG6U+TQvs+N0X8mmvqRHMJTzuIjmEp53ERzCU87iI5hKedxEcwlPO4iOYSnncRHMJTzuIjmEp53ERzCU87iI5hKedxEcwlPO4iOYSnncRHMJTzuIjmEp53ERzCU87iN3BbG83TvbD3djetLZc/pvFONK2mnFp/mRXVr101KpStPzqoG9s9r2BPHyUyUHPozJXRJM0qwu57nWxVRUBl1AFKQqamlIS/JPpTAwKX5R9awr3/a3KDO29y5uEzV93sh/wDHy5J4lDbUR7uAa/6Q+4E93oSSfYu798DunR70u1SQBl4eXBEk4qVjCxz42TjTx2ygZCPOFcdFNBNFdaJELGddHJHdbeZcW2tKq/h7CuPMe4HpUKycv7aioyUXbj19T4xy4MnMC5wxnQ7Qs8ZQTzxxxb7Jss+geAgW3peSHqzeZ17Zj3sdUg44itWY2HjWarTFWxbEUlahYC1oAVVAoWFColgRhKnHFPmPlFEYEvDNTJjMi4wrRyOloWNlbtvXJm6JkitBYFuOj2TZWYylOIW4+cGwy89l9XtM4CmluJlAxvY9uC2Ox7p3dtO7G9PFZc/pvIcaVtNOLT/MiurXrpqVSlaS/L4vyWJfl8X5LEvy+L8liX5fF+SxL8vi/JYl+XxfksS/L4vyWJfl8X5LEvy+L8liX5fF+SxL8vi/JYkt+I/2zetdjAa290AU83/UZFbdTsutoV/KumvVqrrTWtK/YWlB33l5fcGbbl3WjcYTchCzsLIN1aJCNGdp+l4chlTRQRTTBoT45Y7D7Y85fehvfc4pm0bueS5ITWU81IOLcGy3zIJbR+pmzrxeS0Lc4rVAjaj3EO+wZaU5feYd9zgVuWjaNuBOSEzOzMg5RsYMMZun6niCHlNCBCNPmmvjhjvvtjwd96ZF9waWbvu9lLchDZUQ0g2h0nLbLYl1H6WbwvBlLRdzltVCCqPbo7DBfsW+2OVud4sdTaHqbh9ohGwp1t5FNa2U0VtNq1pqqlNVa0VQ2a4gHp2DZriAenYNmuIB6dg2a4gHp2DZriAenYNmuIB6dg2a4gHp2DZriAenYNmuIB6dg2a4gHp2DZriAenYJlHCBd9u0EPCLZrv2HR17aWgmV11IeVVOy4nUqia110pVNfsbSg77y8vuDNty7rRuMJuQhZ2FkG6tEhGjO0/S8OQypooIppg0J8csdh9secvvMO+5yYZtG7swUhSE1lPllIOJdGy2s8ltH6mbgvB5LVwXOK0EEbUcQd9gv8AOGjFmFp/aR1hvqjczmrEnYqw8iMmZuq0oRB5n563GORacXPt7Bzb0OOpTDUnGnW2bNR9xCHxoX0TEfd+Tce04fdEron6RFpZl5nWXDD7RJp7WWMhrl8wSRAGn1qCgnYMWq0b0iXDbqltd7MXjZciUVESQz4z8TdFnXPHUb97Wfe1tG0RJW3c0VV5lZABre6LCICmIkqShJKNky/w5S469rQy6HgrKl2krU/AXjmddVu5VWtcgyUJVSpVtz17R86LR1KhqkRzXa0qG3tKxYzNw0tSHu3Nq6FJaem8wM4LqjA5XMC77gluzsHTBJU48/Hw7smp8uNtiOg4NL6xotjVhlEDlN9Ktkbm+VmHlzE0GjrbG0kNGqJpmGZm2PEi0aHZlbgsd0mMk1MjtuSs9dN03BIvnGmbYfsQy4QL2XdoIS4tmu/MHHXtpacZXXUh5VU7LidSqJrXXSlU1CheHO6jgKF4c7qOAoXhzuo4CheHO6jgKF4c7qOBoxscrtW8WOyWh6m4DIIRsKdNeRTWtlNFbTataaqpTVWtFU+2cabuXMzLU5uyO0loACczFtKRjr7y4HkznKVQHEk33a9ujy5Skq7PGOlu7C6oompqLa0p8jooLKrSnyZnquRd+2FmnY6E2vPykpbh+7k2oC6z41ych5JpJkey4cTbpEiueg5cUYhgQMRh0ossp1scYUYdtTr5BD7qkNMsMtIU4664pLbbaVLWpKU1rR5NwaJf0bGVV/5K5e5rB0oTbWbGk9nSKuIzLfsCSWMO3K2vaWXhLsDJy8e+eI+cJAy0YSVAXlHlq9hHZO19n/uNzv8Ad7gpgn7res7W1udj7xOztbX8dWzW4eU+p4uHlPqeLh5T6ni4eU+p4uHlPqeJntfZO0f2/u7cbzfivjfe9ue2dnfbf3atrZ2f4a9qn28jmto06UAQqBBNJzRYv43KDN0wYcZgYQO6ZGOHMhrvFZbCjBqkzkO/cLUXGiREbcEaA2lpP0kX0gGlPlQ0ulTcmrlzaRZOX91st0b7MNfYtsDKlbnQO43R9p+kpGnNkUo6wWzVZFH7DtnLTLazQax9tWbaMWxEwsWw484US4gdhNFEHHmPkSErJmOESUtJElSUmWWeUQQ5+X9KL9js0ctZx23L1tj9yekVcPuWaZZZIdD99WrlHOW9I7LJDK+0RMseIrb2Uv1UlSU6Y/8A560qf/h2NKL9sc0cypxq3LKtj9yekVb3vqaeZeIaD99XVlHB29HbTI7y+0S0sAInY2VP0UpKVfiPjdKfJoX2fG6L+TTX1Le5t6Zi3ubemYt7m3pmLe5t6Zi3ubemYt7m3pmLe5t6Zi3ubemYt7m3pmLe5t6Zi3ubemYt7m3pmLe5t6Zi3ubemYt7m3pmIbsna+0f3HvHf7vcCvk/ddhZ2trc7H3idna2v46tmv1fjdKfJoX2fG6L+TTX1DYXiDunYNheIO6dg2F4g7p2DYXiDunYNheIO6dg2F4g7p2DYXiDunYNheIO6dg2F4g7p2DYXiDunYNheIO6dg2F4g7p2DYXiDunYNheIO6dg2F4g7p2CYxwcXtW8QO8Wt6u/DIHRsJdCZRXUt5NVbTidSaKrTXWlE1+rmxpaQl85wXSRd1yxVkX1k9G2mDJEDCirYggZ7Ie5JgYGjYjakNyE7Jv0WpdakqTVKU52abv+SMh/wDWzGbGlpN3zk/dI93W1FXvfWT0laZ0kOMUKhidBgch7bmCQatluKW3HzsY/VaUVoSlNFJV+Zv/xAA5EQACAQEEBgcGBAcAAAAAAAABAgMRAAQhMRJAQVGBwRATNFJhcqEUImBxkdIVMlOSQnCiscLw8f/aAAgBAgEBPwD4UhuMUkSOzSAstTQrThVCfW34dB35f3J9lprjFHE7q0hKrUVK040QH11m69ni8nM9F67PL5OY1m69ni8nM9F67PL5OY/kTd7u14agwQfmbd4Dex2DibXi4qUBhFGQUK98D/Px25brZYHAjMaxd4TPIEqFGZJzoM9EbT/04WjjWJQiCij13knaTtPRfbqrK0y0VlFXrgGA2+Dbt+WdNYVipDKSGBqCMwbXW9CcaLUEoGI2MO8vMbPlZmVVLMQFAqScgLXq9NO2itREDgNrHvNyGz56yrFSGUkMDUEZg2nvUk4VWoFAFQuTN3jyGQ+MUu/uCSaRYUP5agl2G9UGNPHjSlupuz+6l5o2zrEKqT5v4eNbSRvExRxQjiCNhB2g/wC46xd4xJPGhyLVPiFBYjiBS08hllZjlUhRuUYAAbMM/Gp6K9bdG0sWu7ronboSGmjXcD/YDWIJOqljc5K2PlODehNLXiIxuSMY3OlG4yZTiMd4yP1pQ9DDqLt1bYSTsrldqxriul4k4gHx2jWY7xJGuh7rx/pyLpLw2jgabaW9r0cY4IY27wWrD5VwH0szM5LMSzHMk1J+IEul4dQ6x1VhUHTQVHyLA/UW9ivX6X9cf32e6XhFLtHRVFSdNDQfIMT9BrN17PF5OZ6L12eXycxrN17PF5OZ6L12eXycxrMd+ljRUVYyFFBUNXjRwPS34jP3Iv2v99pL9LIjIyxgMKGgavCrkenxP//EADYRAQABAgMDBg4CAwAAAAAAAAECAxEAITFAUWEQEjNBctEEExQyUmBxkaGxssHh8GLScIGi/9oACAEDAQE/APVSfhE4zlEI2FMxv9WPKam6Huf7Yh4ROU4xSNlDIb/VtNXpJ9p5KXSQ7RtNXpJ9p5KXSQ7R/gmpUKZvk6H3eHzxSro2m3F19F7vltNSfi48613Q3X48MSkyWUm68lCqiQbo5HWn4+W0IIiXHUxVpNNuZxdHdwfs4BUAuuhilSKZdzk6u7gfd69pQREuOpiFKNNUzXReo3Hf64yq5sYRZyNbZA8XT9trjn1TOVK5/GQoezr+GIyjM50W58R3PH902irJjTlI1DL2rb74pxIRDhd4rq/vVyW5lYtpUG5/KOd/d8VdoqR58JR3mXtMz4mKc+fEv5xlI6xMtOP41OQfGVecebTEHqZOtvYbuDom0ypxk87OMvSi2fz88eJv59Scjdex/vAAWAA6j1ga1OKjKyZOUu7Hj6Xpf8y7sFanJAldcjKXdtNXpJ9p5KXSQ7RtNXpJ9p5KXSQ7RtMvB4SkyWV1vklvpx5NT3z95/XEfB4RkSGVxvmlvp9Z/wD/2Q=="},{value:sm.BULLET_LIST_4,img:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEA2ADYAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/CABEIAPQA2AMBEQACEQEDEQH/xAA3AAEAAQQDAQEBAAAAAAAAAAAACgYHCAkDBQsCAQQBAQADAQEBAAAAAAAAAAAAAAACAwQFAQb/2gAMAwEAAhADEAAAAJ/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOj9d54AAAAAAAAAAAA4iEB1ck3/la+UAAAAAAAAAAAtjLzz/AHsYos2/PKcwaJ//AB9tzo+jEkAAAAAAAq4yIAAMQbI+Zb3ef6Z3C6GYVcgKLAAAAAAAP7SpwAAYr2RyorkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANDeun8NgNM85KpgAAAAAAAAAAatdFeVNcsoa5aD9dO/DJcKYLFAAAAAFTl9QAAAYrWRwCthtoz2aMNdMg3HeOsKEAAAAAO0K6AAAAMMLYYRWw3N5buxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABS3vkZDfQNkdE9uua0AAAAAAAAAACyM4+MJ9NyxMG5umfHyNop8s6AAVCXhAAAAAABZGcfGE+m5YmDc3TPj5G0dKWxAAO6LnAAAAAAA6P1ph01DMGuWfNMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABqL01bdM1oAAAAAAAAAAA4yPNto857tYfRl4m6Qpjv5QWXAAAAAAAO6LnAAtrLyKn0M8C7r455vI2SsefouTH0Y+gAAAAAAFQl4QAAR+dlEgbHeAAAAAAAAAAAAPk+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf/8QAKxAAAQIGAQMCBwEBAAAAAAAABgAXAwQFBwgJFgIKEAFAFRkaIDA4YBJQ/9oACAEBAAEIAP8AtckovJOI+nuY8eBKwI0zMxN/FuunfS4CgR4E1AgzMt7e7R6T24EJ8lEt1u7rYJdWqFeI1UWlLd1sFtXUBPEmmWlPCq4ohIEZj45IRLkhEuSES5IRLkhEuSES5IRLkhEuSES5IRLkhEuSES5IRLkhEuSESBa3WZwqpcvN/bmvg3jtn7Zas2TyI9NRWSXzOoesWLhRgtjjgFZujWZx38t4HpvA9N4HpvA9N4HpvA9N4HpvA9N4HpvA9N4HpvA9N4HpvA9N4HqnBo3SpyDPyH3dOLAL0Zp9eaEP+uL9luW+Xt1T2y2omqRu4XsPCmbgzmB+e9pc9rbERWDe33XXxL8dNWeZF0wLCvHcJxQxSsLj8AK7NFkMbt/+IRmAeDKozlKG6lPyDhmCcMwThmCcMwThmCcMwThmCcMwThmCcMwThmCDTIkqpJTZCf8AwZw4x0fMvEfIHGGs6q9hFIuIFUXCbKi511bZ2VCqzce72Ftcq2zPY7X9mFP8Vmky9cpszS5tqB1NQOpqB1NQOpqB1NQOpqB1NQOpqB1NQOpqB1Ua31GodSlqpKfhy5154bZ00mn07KAH7ffWUKklHJimj0ekD1KptCoH9ccl1Nt+EmJ5Wfq5dby+rl1vLW9uhxc2hm1yQOwPt8mf1vyC89n5+yGYfkqq0xQ6DP1SUdciTrkSdciTrkSdciQrcGs1yvSFLm/zZM/rfkF57Pz9kMw/JDR/j1HnKSmhTQpoU0KaFD1uPgNYk6t+cmHKKYjZAIkf05GmZfTkaZlh9rAwZwIJDEuxN/oPmS2/6tx/rrv6PcRYsKBCiRo20XuGMUsKhEiBLARMjL3Rr/8AplJF1c9wpinmwJC4DfuBHgTUCDMy3h3k7yd5O8neTvJ3k7yd5O8neTvJ3k7yd5D1x/j1Yk6T9t1bM2ivoKTYLenaN2v1mbgiJTeHXfxAr5bwFauu18syAiI7d7Ypa2zdo7HC8sEWX8NQRJqCJNQRJqCJNQRJqCJNQRJqCJNQRJqCJNQRJqCJNQRJqCJNQRIVt9WaHXpCqTf3dGpa3EPe905zdPuv89Pp1evX6fxn/8QAPhAAAQMDAQUGAwMLBAMAAAAAAwIEBQEGBwAREhMUpQgVlNTV5RCV0xYzQAkXICEiIyQwV2C2l6jX2CUxUP/aAAgBAQAJPwD/AO0/BW4qQf2kVF72xymFq/7sS/3K7N4Cn1Ft94e/uERsLw+IHi/iTCbNmwiHcODkQEAABRUhTGKSqRiEIaVLIRakoQhNVKrRNK11dQldiOmPwdi9N4tk17nLHquel0qzq5G7FQqIVvltwZoWUZrFUmJmreaS1cPKVYGMJw2cCGdu4ARBgHAZFCCMEo6qGURRqSsZEKUhaFUUmtU1pX8RhvI+cpZmIhBWRi+QxbHXM84dE12gNlrJGMLcUnZVS6jHPFerQIiGrJ05U3bOMEZA/J/43fM3Ubeti3ISS/PBla3HLhy235q91wsAyb48uFkMSDQePRvIadbrkY2Tvi87cfKZ/DAmQ+3/AIviGzVtbVm2k1nJDNeJrSCdtGDpBXk2YTMYrHFvqdt0oi8jNQQ8C2owh4y+bLt1uJqPDWQ8GTToQ1uLHyXKYsl7iZLVRW/vvMSZHydbSxUqmih706F5wii5li0c0cNW/wAJ+a+aPvr6n5r5o++vqfmvmj76+p+a+aPvr6n5r5o++vqfmvmj76+p+a+aPvr6n5r5o++vqfmvmj76+p+a+aPvr6n5r5o++vqfmvmj76+p+a+aPvr6n5r5o++vqfmvmj76+peUdNyc9xAOH7s4V7kc8WjfEUqkK3VpStO8mu6pKVU2VpSv6VkMbjiXAHri0brbhA3vfGdzuG3Ba3hYVw8NbuFmGhEAU5b0UWIn2Yaw1yR0vCOXUeYTUGQy3uZmK/yNHarTXiMUae7E5mpQNCkTAGsECp0UasyXlJ1SLLMQVw1U2TYkdbke3asl3deLhs2cX5ky4m4OG6uy/bk4SXs1KuzLOVs0qsUNANTUh7bjYiFbNWAfjEdQlPO6iOoSnndRHUJTzuojqEp53UR1CU87qI6hKed1EdQlPO6iOoSnndRHUJTzuojqEp53UR1CU87qI6hKed1EdQlPO6iOoSnndRHUJTzuo3gOwcThF5x+Xc4olhJ+7M6IJW8Ii0/tIrs27abFUpWn6UbHjyCTs2V7OpnyWrdDw8CrJAcgJOs6AcY5UGaiZVMc9FiaIC1BRYVFSL+7sGY2yRamLbie2NlDtv8AaNm5mE7M8De7FLYkhbmOIm01/bDKzqKGQoHsvbw3rNs7JHyCYWQtSRibglzdgTtr21GiJIXBha0WGRMJ5OkWTbeduI7GN1SbUdp0ligEpo0PeK5XeWUSAwsg5XSqYi6ceZGxncziwM7YIyOw7myfhXIbEjoDq2rtiq7tVtXZGD4kDOAQNtKgaPWzhvGT0TPQUR+HePI27GuOImxoiVjlVHIwyswX7aOH3k3HOErQRm/hY++3coyfgWlzHumgnratHDceoxnGQON8a2zEuVsxKF31czmPFJ3ldTzfKZa5O7bsezNySa6lWjnZMyQ0G3SISNUFGD/KLdmztB4qzhAtyEGxmrh7M1pMso2bkZ2xGmgC3R3PFxNkt5M1VLFAx79sCgSP36n3wNwHYOT4ReGIu5xX7UJP3ZkEEreERaf2kV2bdtNiqUrSX6fF+S1L9Pi/Jal+nxfktS/T4vyWpfp8X5LUv0+L8lqX6fF+S1L9Pi/Jal+nxfktS/T4vyWpfp8X5LUlx2h+c4ouTYC3+EwdGH+8C1GVO6UaFfsrpt2bK7U1rSv8h01jk5hxtOW1CzD4ZjMbfvMKRTNg3M8bt/4hy1ti+Iu3rgcNQ7Cugxq241JUSiqSIMP/AJQjs0RUdibK+Jb8cNoKZySmz2bOIt/K+NHDsoml+wd9W+mHn3ZreqQqJB+5kWcfW1JG3JmVv+z8Y2DbwOYm7xvu4oq17cjR1pXhpcy0w6aM0ncKpwmjWhVOXh6pbtRGOtA1W/PwfY97MmL7o7N/Yplrji5GBe5qvG7JRyHM2d4qKk61cAtUbJMjYkSdTZiqWZGhkOwsrjtq6Ydl8FnG3dcHiLbqGg1OAcThG4oozIptWFNFbw1bU1VSmytaKo9mvEMfTtPZrxDH07T2a8Qx9O09mvEMfTtPZrxDH07T2a8Qx9O09mvEMfTtPZrxDH07T2a8Qx9O09mvEMfTtPZrxDH07TmUI4a8bhocGaLDXjgK3XvpEyCuuxBlVTukTsVRNa7aUqmv8nBNpZIkIQC29uXlRUpa2RbaCtRC0bwWQrQfwV4MY5LpdHy4PvgkA8ejCeQinlRpprFl/ZucW4si7dhs8ZjyJku0oehRjFUIrQkpsFuSLWgxoTyc5GyrRW6hRArWEChRcdBwcMxaxkRDQ7FtGRUVGsQobso+NjmQgNGLFo3GMDVo1CIDcKECENCEpTT+7gPnMPZNrXDd0q2jBgNJOI224l3MvgR4XTlk1K+K1ZFG0G5eNAEOoaTOQDqoqMJ9t3/TfA//AGT1hPtu/wCm+B/+yerCz5aExi21om7rgc5gtfHkBGvI2YllQzUEOay8p5AdOHw3SKkON6zjwJBsUNyUn7qn4f8Aojlf/A574/0RsX/PDfFASOGvK8NDhJFhrx3jduvfSIgV12IMqqd0idiqJrXbSlU1ZQvh33qOmUL4d96jplC+Hfeo6ZQvh33qOmUL4d96jptGDbuua4i24XaDU4DNw4RuKK9Mim1YU0VvDVtTVVKbK1oqn87+iOV/8Dnvj/RGxf8APDfFxynN8v8AxHB4/D4DoDn7rih3t7g7n3id3e3v17N2tw9J9z1cPSfc9XD0n3PVw9J9z1cPSfc9TPN8pzH8P3dwOJx2p233vPG3d3jb/wB2re3d39W3ep/OZ9429dUHLW5PR/MO2fPws4wcRkoz5tgdq+a80xdHBzDNy3dg3+I3OEyUET2OP9wvap/5x12OP9wvap/5x1g/81Fw39BsLcu2Q/OXl++u9oWMfqk2TPlMlX/eLFhwHyqn5iMbM3ZNvDMcgdg/7huRmUiOy2m4CUScXCa52rOKvpdhr4zke7LrwjVpeFUNG51GAYDYy0ma1GL8QQYQhGspSlWkYhCGmqyEIRdaJQNCaVUtaq0SlNK1rWlKVrq7bQ7THafex7+PgbfsSej7mxnjeYqpwwpL5UvOCeOYyrmDeBOY2O4F46ux87aDjJutnsZAU8HJFzFz9TJAsuUycR+tdy0yCCaRPhn6OVbUUIGSGOomdB8gNohEchrSPTRtS7bU7NvanE2ZRMzat5yooDHOSJgYUBXO4uvWXIGFCqbc7iw4/uSSZXYxkHdYeDpeLRp385MJw2cCGdu4ARBgHAZFCCMEo6qGURRqSsZEKUhaFUUmtU1pX4291b2zVvdW9s1b3VvbNW91b2zVvdW9s1b3VvbNW91b2zVvdW9s1b3VvbNW91b2zVvdW9s1b3VvbNW91b2zVvdW9s1b3VvbNQ3Kc3zH8R3jx+HwGp3P3XIh3t7g7n3id3e3v17N2v6GL8f5Zsx8lVHVr5HtCAvOCIpVUKoakZcLCQaCcjWMRQuhCQ5bmEE4CjMIa0sVYmy3FNns467P7+YdvsV5FS3Cty5irFezRncpji73yqGrEM3Eq8x+8dcjCDjbIYkNONrbnPtx9o/sh9kO63n2k+1fefcv2b7l4PeHfne//jO6+X5zn/4Tg8f9jTBOW8qTUewmWfZ/j5qVi8a4zIZTd+1Y3nLW5JRsnka72SRjbzMch+3x40MaThSR17tBtZ4mL8e4ls5n+tta2NrOt6yYAS95a1FpE23HxrFRyEKUpXCwqMYxSlKRZCkUr4PYXxD707T2F8Q+9O09hfEPvTtPYXxD707T2F8Q+9O09hfEPvTtPYXxD707T2F8Q+9O09hfEPvTtPYXxD707T2F8Q+9O09hfEPvTtPYXxD707T2F8Q+9O09hfEPvTtOYwjdrzXEQ3M7WavHZuG6NxJWQUV2LMmqt4idiaKrTbWlE1/StZiKw/zBucwiiG7Bu2h1drAlxJx0e5nDWiyN3hy2a6c36cyWjZynIpGt1LcFkuIcn4pKaLUlKVL2U3lJRVVUJqr/AN1Smq11TStdiarVWmyqq7f7M//EADwRAAECAgYFCAkDBQAAAAAAAAECEQMSAAQhMUFRExRAcbEQIjJhcoGRogUVI0JSYIKh0kNTkiQzUGLB/9oACAECAQE/AP8ANMWfB2fr2vU1aoze1m0rY3NJvl81m0pAUQCpKBmqZvKFH7UqtVgpaJOmMrAjopPUHNvWq7AA8laqsFTxJ0wVG8lpVHrHxH/W03kE0UAksFJWM0zN5kpP22iFFXBWFoLZjBQyIxHC8W01lGg0/utdjNdLvms3W3UixVxlFay5wGCRkBgON5t2rSHRaLCefvlb5vECHDSFVlaklQdMJABiEZqJsS+R8XsH9Evm+2hHBZlUn6gLW3NvFIsFUJQBZSVB0LTalacweIw3MTs9VQF1iEk3TE75QVN3tSKsxIi1m9SidwwHcGHIkz1OID+itCknIRDKRue1s22iFE0URET4VAkZi4jvDilYgkExYfOgrMyVC0Je9KsiDZbxeiUqWQlIKibgA58BSK0CAIDgxFqC4oDGQAc1D54nK3Ah9ohxosL+2spe8XpO9Jcd7PQ1yOQQFBL3yJSk+LP4Gl9p+bwHIAvJA8S1PV0f44X8l/hT1dH+OF/Jf4Uj1WJVwkrKCFEgSlRuD2ulO0I6aO2niOX0l0IXbPDaEdNHbTxHL6S6ELtnhtAJBBF4LjeKa7Wv3fJD/Cmu1r93yQ/wpFjxYwAiLmALjmpDH6QPmHQHVtM36jfQzPuns2qr1KJFIKwYcPEqDKUMkg8TZk91JEyaOUSSyy4SszUj1OJCJKAVw8CA6kjJQ/6LMS120JUpBdKik5pJB+1KvX1pITG5yTZP7yes4KGeONt1HDTOGZ3wa93yalYr61Epg81IsnYTK3P0Rl72Li6ilKWXUoqOaiSfvtOsq1TQvbPK726Npm8bOzZ80f/EADkRAAECAQgFCQgDAQAAAAAAAAECEQMAEiExQVFhcRNAkaHBBBAjMlJgcrHwFCJCgYKi0dJDUJLh/9oACAEDAQE/AP7rDW9MNM/wNMfe+3drJJAoBVgG4kSixVl0sUC60jE3HDaeaFFWGSxWLrQM7hjtEgSRSCnAtwJ1haErDKGRtGI9Zy0StJo7XrwrfZTurkhCUBkjM2nE+stamifPtmzd797zEUokQgCBQVq6oOF/qyvp00+4sXUg/Is215IWFhxQRQpJrBuPre41iKSmGoitm2kDjJCQlKUiwb7T8zTzETYySP5EqB+kO/kNYWmelSbxvsPyMoa3ExVC00EG1qiL3F3k0iQA5IAvMkdJE0je4kFKDU5tOVY/6DrKkIX1kg427RTIQIYpYnxEkbPz3wJYE3AnZL2mHcvYP2l7TDuXsH7ShxUxCQkKDB6QOBOsL6qvCfI8/Jusrw8RrC+qrwnyPPybrK8PEawQ4INRoloIXZ+5X5loIXZ+5X5kmGhBJSGJorJ8ye8Ok6XRv8L/AFVt/mnWokdKKEspWFQzPAU5SnGdOcznd7XlDjpWAFGarGo5Hgac9YIBoIBzDyicnBDooPZsOVx3ZSYu1tTWvKHycAOuk9mwZ3ndnXIACgAAYBvLWdGNNPaia+E6rypzp70f/9k="},{value:sm.BULLET_LIST_5,img:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEA2ADYAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/CABEIAPQA2AMBEQACEQEDEQH/xAA2AAEAAQQDAQEBAAAAAAAAAAAACgYHCAkDBAULAQIBAQADAQEAAAAAAAAAAAAAAAACAwQFAf/aAAwDAQACEAMQAAAAn8AAAAAAAAAAAAAAAAAAAAAAAAAAAA6oO0AAAAAAAAAAAAfyRHejl3ZZbtmVFgAAAAAAAAAAAGkbVTFP6Ge9kfZ+3H284MSQAAAAAACrjIgAAgK9fHREvJxPJ15MQkBRYAAAAAAB3SpwAcBr5uhsNpmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABob10/hsBpnnJVMAAAAAAAAAADVroryprllDXLQfrp34ZLhTBYoAAAAAqcvqAAADFayOAVsNtGezRhrpkG47x5hQgAAAAB6hXQAAABhhbDCK2G5vLd6IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABhFbCOttomDc3UAAAAAAAAAAAMKbYfLJ7/PwithN75eubdytYp8s6AAVCXhAAAAAABYOcfl197n6tNFf0NuNulS8/QPFLYgAHtFzgAAAAAACwc46RdVUjbFeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0yOztokLY7/c8AAAAAAAAAAAAaK9dOuu6Gxume83JcBZcAAAAAAA9oucAARR+hmgzdbJOJ5WuWDztPODH0AAAAAAAqEvCADgIk3RzSeMGi9EfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/xAApEAAABgIABQQCAwAAAAAAAAAABQYHCBcECQIDChAWASBAYBUwFBhQ/9oACAEBAAEIAP8AYzs7BK8HMMzPBzsE0wcMzLPk8XDw8fDxcHG2jXbA9fmxiQUU4ZxW2jMo/wAtuWwTsfJ3ofwWZje3OwNMSr6jtIzXQHObmSeorfPsC5zzksaxi83mZGNj8/m9vJFEPJFEPJFEPJFEPJFEPJFEPJFEPJFEPJFEPJFEPJFEPJFEPJFEPJFEPJFEEKdnOYqivHy/b1TE3zt+JGtlrsZvW/0t79Ph6kDoTri1DuNULG6xGtjP3rxHivEeK8R4rxHivEeK8R4rxHivEeK8R4rxHivEeK8R4rxHivEeK8R4LkamyrM5OfgezK4cnjxsjhw4h6xouRAU6udpOfb1fstlvL11V6y2ok053ULsPyslwcyB892lns2yiVaG+PuufFXx01ZzIdNBQrjuiYoRSYWPyADskuBG7f8AxCWaA7LIxzCpNmWfgWGsBYawFhrAWGsBYawFhrAWGsBYawFhrAWGsBYawCNWSkNVIW4Gf+icMYyeZcR5AxhOdVewgocRFEsJpUOc6rZsqijlx3ehaeG2zPY6f7MC/sclOOeFuSV5dUJ0VQnRVCdFUJ0VQnRVCdFUJ0VQnRVCdFUJ0VQnQTN8TEZljGmJ+mXOvOG06SkvLpQIfp99ZSVUhOplSTk5QniotIiD7fPyfjCa6WEOn0fTU31MH9i37UrGTn+RPqeTG67I9qCQD4z8n4/exZ+zp9H0HT/b7snNyUFAubXZVG2QRkOeaYlrqIWuoha6iFrqIWuoglXBOTw+wCvL/dJuMjLTAZZZsC/21zVG9Or56eJNKUsLDI7Mi8mJtDWhotiKWpuXkvOyhJ/zxPmFIqEVCKhFQioQnm4/AnGGbfAk3GRlpgMss2Bf7Vd08TLa+XpWz/OT9fMcbIzC/OxMRiN5vPat5Hhils0TKmTa0TxIrkd8nZKSEEQpRMdshM1Q70F4jHB66uomAm/KG0zVHymcXPe3hbwt4W8LeFvC3hbwt4W8LeFvC3hbwt4J5x/zxxhlPu6qaevIZaMCWhOiYsw6krNNxcRrYz63+lvYVj/QgdCdeLi42FjY+Hh9qoUQqhRCqFEKoUQqhRCqFEKoUQqhRCqFEKoUQqhRCqFEKoUQqhRCqFEEq3xyRn2AaZfsysjl4mNkZfN9dEbv7MJkOXOvZgwsdWNi63ZU08fPs/8A/8QAOhAAAQMDAQYEAwUHBQEAAAAABAIDBQEGBwAIERITFKWU1NXlFZXTCRAgM0AWISIjJDBgFzRQVHJz/9oACAEBAAk/AP8AmDBY6NjhSDpCQOIZEBBBEZWQWYYWQttgUUVhtx8gh9xDLLKFuOLShKlUMFkY2RFHOj5AEhksE4EtlBAhgZY63GChSmHG3xyGHFsvMrQ42tSFJVX9SlK0LTVK0KpRSVJVTcpKk130UlVK1pWlaVpWld1f3ay7aU/iWdtkraq2WtjHaIMlB8L5KxDcdxSf+r+NMM5DGqTIYUyniG+ZBY1sW8A5W0LptyXHvXIIbTAhBRtr3tse7YQIYap3Zd2iwk2ldcma9SjTxOILtKQHaubrXIKQS5AzFlkfGpaEZbuAy04UEhFE/qbhgrRzxsD5fs/JmKDpt58ZjIMNf05EY3yhgM14Ft6SXC5ctOa5EizHsKIS7b4RDxUXGMycmL9mbgfI0Q2h9VvzRmUrtAvax5F3gUmcsG+I60xrns6YbdaZcUVByYiDm2uilWJCNeJCewrlzbyxbNzTSLdt5+dbvPabxXZVCG2HiyMylRFq25fkTACOrLPPzGNbjJpLQojmRrJilVq2K+E68w064GUoZZIjjjaVrFIUGQWGp8dVatOqELKGq4hVWCHmqpcV90/NfNDvr6n5r5od9fU/NfNDvr6n5r5od9fU/NfNDvr6n5r5od9fU/NfNDvr6n5r5od9fU/NfNDvr6n5r5od9fU/NfNDvr6n5r5od9fU/NfNDvr6n5r5od9fU/NfNDvr6l5QodzruYwQeW+yvgjjFo42nXVIVwrSlaeJNeFSUqpurSlfxKlboiMMnRl25IgrWHLmTbuz3esVyLQtIWMjGy35Y6w7HmadKxHocJVcGQ52FLE+IQLVES8rs5YvfcHkGcQw/RE53uoGi6L6eaUQ2dBYqFMa3VrSWYn7vZpzhDrUgiKtGIxJa2LrWaQNWTdhxFEXJdRwzXKTMXpdsisu5LumFJqqlJCekznmG1dMJ0wiGh2/viO4SnndRHcJTzuojuEp53UR3CU87qI7hKed1EdwlPO6iO4SnndRHcJTzuojuEp53UR3CU87qI7hKed1EdwlPO6iO4SnndRHcJTzuojuEp53UbyC2OZynesPd4Oa0tlz+W8U40riacWn+JFd2/fTcqlK0/A6wOYph1Ij5Q7hYzJNW1UYdIEaKCdKYbdqlbo7ZgjjzdFNoKHUqjqLZfyXtK5Mn5+78pbTOU0gXJlq77ru44iVus2OkKBjxliQ8xJmFvLt2yY+FBcYWyzKLlnx0mK/y/BmNskWpi24jbGyhtv7Rs3MwmzPA3uCkZyQtzHETaa/2wysVFNuOsGy9vNmhjFuR8gmFkLUkYm4Jd7YE217ajWnJC4MLWiBkTCeTpEIbiLIjsY3VJit2nSWdYaUII/eK5XiW60hmFkCV0qmIunHmRsZ3MRYGdsEZHA+DZPwrkMFwpgq2rtiq8NViluAHOQM4whsaVYENGIHjJ6JnoKI/TmGRt2C44ibGiJWOVVuRhlZgv20cPmTccQlaHAz4WPvsuUCPYWkmPKEaNGrQgdvUYHGQON8a2zEkrDaU18auYmPak7yuozjdeWuTu27DZm5JNdXVo62TeSzRsdLTSNUajG/tFtmzaDxVnCBHccbBmrh2ZrSCyjZuRiwW00Yduj4PFxNkjyb1VLagY88ZijLh56jvue5BbHR8p3ltO8HNPFZc/lvIcaVxNOLT/Eiu7fvpuVSlaS/b4vyWpft8X5LUv2+L8lqX7fF+S1L9vi/Jal+3xfktS/b4vyWpft8X5LUv2+L8lqX7fF+S1L9vi/JakueI/1nNa6MBrj5QBTzf8xkVt1PC62hX8K6b926u9Na0r/YKFjk5hxtOW1CzBzbzwNv3mylqZsG5jBx/wCoJFti+Iu3rgIFZ3OlMxqx21JU5RVJFjD/ANoRs0RUdibK+Jb8IGgpnJKbPDDiLfyvjQgt1oS/YO+rfTDz5b1vVcdRIHkyIcfW1JG3JmVv+z8Y2DbzHUTd433cUVa9uRrdaV5aSZaYKEDS+QqnKEFo6okx+qRxWnn1obVb8/B7HuzJi+6Nm/Yplrji5GBNzVeN2ShLOZs7xUVJ1qQxarYSZGxIl9QwKpYJ6GQWyFcdtXTDhfct9scrk8xY6m0PU5D7RCOBTrbyKb1sporibVvTVVKbq1oqhs14gH07Rs14gH07Rs14gH07Rs14gH07Rs14gH07Rs14gH07Rs14gH07Rs14gH07Rs14gH07Rs14gH07Rs14gH07RMo4QLzuWgh4RbNeew6OvjS0Eyuu5Dyqp4XE7lUTWu+lKpr/AGcE2lkiQhGFj25eVFSlrZFtplanHaDwWQrQPgrwBjklLocuD+MOQBhrbL8hFGVbTTWLL+zcRbi3F27DZ4zHkTJdpQ9HW22qstWhJTbFuSItG20J6OcjZURXChTjK1ssKai46Dg4YEWMiIaHBGjIqKjQWUDhR8bHBNMCAgiDttsCiCstMDsoQ002hCUpp/l81/2IrH2Poogb9s8p3n0yngrUtQJ5X/gicnCEfCraiuZJSTn+2GLEsjFn+qd7lk7PmQoJHwizLV+LkoZhcM34aa7/APEe18iyC2PiUq+9G3IkTq4wpn9RJPqDHf8AgNi2REKaVdWTL8LCMMh7Mtpl3e02+U0EUZKS5dEx0BDCHSpylJHbHImv+xFY9x7FEE/sZiyzOpU8FatqhPK/8ETk4Qj4rcsrzJKSc/2oomrsfLLLfirM2cc8XAU4QSSSQ4zG29iLJsm+pbrz7zqxoqwbzMcU444oW2LheUpUXJfehlwgXpeWghLi2a88wcdfGlpxlddyHlVTwuJ3Komtd9KVTUKF8Od6joKF8Od6joKF8Od6joKF8Od6joKF8Od6joaMbHK6rmLHZLQ9TkBkEI4FOmvIpvWymiuJtW9NVUpurWiqf3rMBvfHF7g1HOBIpRmSh5Jmi1RVz2xKpQoqAumAKVQ2FmgqpIEITVtyj4b5QpCTr3wTe5x5GFM1jgVZjbnjWa1fXbFzoYooWAyLACqQmahVLSPJDpTPQKn4t9aAo86XmJc4SMioqMEIPkpOSPIbFBj48EVt0o040p1oYQQZp0gkh1tlltbi0prbYMvtSy4LUnjjHEm0OfG7PMaePvbkJBuvNFNzCaK7VBZaKuj2GO65Fxbi5xchIMfcR0nV9P8A1HJ5/L5BTBP5XNZ4uLk8H5ieHi4v37uGtw9p9z1cPafc9XD2n3PVw9p9z1cPafc9TPV9J1H9P8O5HM54r435vXPcPDzuP8tXFw8P7t/FT+/ZgN744vcGo5wJFKMyUPJM0WqKue2JVKFFQF0wBSqGws0FVJAhCatuUfDfKFIu8HaDyPE3TLD7Ox0nA0AjcX2SutUx1zyEURzRTcwmiuuBFzYlKxNuDtuOWylBkk8UL/j8gTElFBkjDSobQT5caQ+wtpmQFZkRTo94kNxSSWGjwiwnHW0oKFIYqtpeNTMKX3s+5HGxddG1ZY9uzpuzXcr9yKOkMS3Le0cms1cWElZetFkOftYmVKuCzZfhl5F+ZswQVyEjbhg7stO5ooGdtu57ZlgJ63rghJQZsyNmISaiyCo2WipER1ooGQAJIELGdbfHecaWlVf1MJGSez/fEYHsV/aJ29KxI8za0hgrJMyhnE2YLthChiow4PFGRzR4S6DTQJWUlLOugO1wmaBc5GvtUdmXBqzXSZu6NiPM9/S1+7HOTpFx+hhibZBelHLo2f7klXquurnceltR5jqQYNwaAt1Lix52C2cNpRE0zbDWOLrv22btx/f8868kRlvC+brfcbsjILUic4OFDRhSrbumbNJbHt+35plNTVffb3dvbNW93b2zVvd29s1b3dvbNW93b2zVvd29s1b3dvbNW93b2zVvd29s1b3dvbNW93b2zVvd29s1b3dvbNW93b2zVvd29s1DdJ1fUf1HxHn8vkCvk/ldCzxcXJ4PzE8PFxfv3cNfwyjScjbULrNwZCQw4iplv4Ks2bYJoh1NKpfEdyLfcYHDxxTalslwVo37Fkt0oS0quJLpyjdDrg1ZN2HESPbdqhEu8pExel2yCxLbtGHSqi6UkJ6TBZfcRUYTqS1tDuS8VtG5QYQPIM4hh+tGwRap1UUX081UloGdyqUG7urWksxAWg9Wrwh1qTo9GjFjsCBiMNCiCCtNjjCjDtpaYHHYaShplhlpCW2mm0pbbbSlCE0TSlKfcbC+IO9O0bC+IO9O0bC+IO9O0bC+IO9O0bC+IO9O0bC+IO9O0bC+IO9O0bC+IO9O0bC+IO9O0bC+IO9O0bC+IO9O0bC+IO9O0bC+IO9O0bC+IO9O0bC+IO9O0TGODi9VzEDvFrerzwyB0cCXQmUV3LeTVXE4ncmiq031pRNfwJfW0Kw6Q4kUUk0lTbLanFpHDDaIMLfqlNaNCiMPEkOVS0w046tKK3NMYtsC87iYTirZVsuZCLyHD4gtxtuPx3amRb0AckbesR+kCOwbd8DZHxmYkrkmLjklztozJT7dMW2fiXH0PvWLblnRLUeyQWtKUvykwaqrspcM4XRKanT08dJTR600Wae+unF/lH//xAA6EQACAQEGAwQHBQkBAAAAAAABAgMRAAQSITFRQEFxIjJhgRNSYJGhscEQQnKC8AUUIyQzQ1Bi0eL/2gAIAQIBAT8A/wAxrbTI8WzQzQpJKpDA+jklQdpWAGFnH3lZRmTmCKLaS7ugxqRJHykTMfmGqneuXKp4q6dt2hIJSZSrU+6R2lfaqkfG0dxaI4kvDLuMAofBhioR1tebpDgL4liYDM0pGx/BmVrstehPE3CIIjTNkWyUnKiDU56VPwA3tPf0SqwgO3rHuDpzb4DxNpJHlbFIxY+Og8ANAOnEyTySgKThjUALGuSgDTqRufKntgII41DXl2UsKrEgBkI3YnJa7H31yH8k/Z/jRHk5wsv5gM6dKdRaWFomANGVhVHXNXXcH5jl0oTw91QPeIlOmInrhBannS0rmSR3OrMT0HIeQoPsU47nID/ZdGU7CQ4SOlc6b04iKT0UiSeqwJG40I8xUWvEJBMsfahc4lYZha6q2xByz+dbKrOQqgsToAKn3C0tIIBBUGR2DygUOAAdlK78ztnyIrxEc0sX9NytdRqp6qajzpWxvk5BAYLXXAqqffSvuNtcz7YQwvM4RB1PJRufoOdrxccCB4qthHbU5k01YfVdtOJhheZwidSToo5k/wDOZytDCkCBEH4m5sdz9By+y+XTWaIbl0HxZfmR5jiI5GjYOhow/VDuDzFrveFvC1GTjvLt4jdTyPLQ20zOQGpte736WscZpGO83r/+fnqeJjkaNg6GjD9UO4PMWvF9eZQijAtBjoe8dvw+HPn7QfHws90xKskDYg64hGT2xTJgDo2E5HQjLI62IIJBBBGRByIOxHFQEyRtACcan0sJBoca95Qcu8uYzyIrYCWQBbzd5H5CVVpIvXKjgbHrmbTXOWIYgC6UriAIZR/uhzXx1A5kcT+z4cUhlPdjyHi5H0GfUi0kscS4pGCjlXU+AGpPS09/d6rF2F9Y989OS+VT4jif3tYIligAYgdqQjslj3io1OehNBSmRFnd5GxOxZtyfgNh4DL2o//EADQRAAIAAgYGCAcBAQAAAAAAAAECAxEAITFBUWESIkBxgZEEEGChscHR8BMjMkJScuFDgv/aAAgBAwEBPwDsoA6OyoRKWkqNYReAZ1EGzG00WICdEzRvxao8DYRhLltUapQ4qZCCM51FeNGj6Yk0NTxMxuNopCjPMLIuObAb6p8eY2npDzYILqzmxsHAeOVIfR2at9UYfcfTxyoqqgkokPHeb9pSGqTNrGssbSTbu4dsDEZiRCAIFRdvpByx93W/PWvUcYVg8DKXOdEcOJioiplNoOB998xtEUlYbEWylzIHnRFCqqi4d954mvqI0Yykf6KwP/InPwG0OumrLiO+48DSG8xoNU61EG+VhGMxh4SoSAJkgDE0T5kT4ktRQVQ2TN53Wj+g7SyI/wBSg538xXQQIYrkT+xJHL17Yu6w1meAvJ92m6kKPpGTyEzqm4ZHyPPaXcQ10jwGJwo7s7aTcBcBgOqDGsRzkp8j5HaGUMCrCYPvnSJDMM4g2HyOfVBg6Os31XD8f74bSyhgVYTB986Q4AQlidIz1ch69oVjSJWIJFTIsAdHInCYsuOVLaxWDtUTUYRPtOpE/U2E1XG3KQoSi1woirihM0Pmp3bqqJGR6jqtZImYO42HuOG09IeShBa1u4ep8DRVZzJQSfdpsHGidHUVvrHD7f73DI7T8ExGLxJgGxRbK6ZrAzAvnZRVCiSgAZe69/aj/9k="}],sse=e=>(0,$Z.jsx)(nse,{...e,options:ose}),lse=`${rse}_ORDER_LIST_TYPE_COMPONENT`,use=`${rse}_BULLET_LIST_TYPE_COMPONENT`,cse=e=>{let t=Object.keys(wh).find(t=>{let{width:r,height:n}=wh[t];return e.width===r&&e.height===n});return null==t?"A4":t};function dse(e){let{hooks:t}=e,r=iK(dg).getCurrentUnitOfType(Pi.UNIVER_DOC).getDocumentStyle(),n=iK(Cg),[i,a]=(0,_q.useState)(()=>{var e,t,n,i,a,o,s,l,u;return{paperSize:cse(r.pageSize),pageSise:{width:null==(e=null==(t=r.pageSize)?void 0:t.width)?0:e,height:null==(n=null==(i=r.pageSize)?void 0:i.height)?0:n},orientation:null==(a=r.pageOrient)?fc.PORTRAIT:a,margins:{top:null==(o=r.marginTop)?0:o,bottom:null==(s=r.marginBottom)?0:s,left:null==(l=r.marginLeft)?0:l,right:null==(u=r.marginRight)?0:u}}});(0,_q.useEffect)(()=>{t.beforeClose=()=>i,t.beforeConfirm=()=>i},[i]);let o=(e,t)=>{a(r=>({...r,margins:{...r.margins,[e]:t||0}}))};return(0,$Z.jsxs)("div",{className:"univer-flex univer-flex-col univer-gap-4",children:[(0,$Z.jsxs)("div",{className:"univer-flex univer-flex-col univer-gap-2",children:[(0,$Z.jsx)("label",{className:"univer-text-sm univer-font-medium univer-text-gray-900 dark:!univer-text-white",children:n.t("page-settings.paper-size")}),(0,$Z.jsx)(_5,{value:i.paperSize,onChange:e=>{a(t=>({...t,paperSize:e,pageSise:wh[e]}))},options:pc.map(e=>({label:n.t(`page-settings.page-size.${e.toLocaleLowerCase()}`),value:e}))})]}),(0,$Z.jsxs)("div",{className:"univer-flex univer-flex-col univer-gap-2",children:[(0,$Z.jsx)("label",{className:"univer-text-sm univer-font-medium univer-text-gray-900 dark:!univer-text-white",children:n.t("page-settings.custom-paper-size")}),(0,$Z.jsxs)("div",{className:"univer-flex univer-flex-col univer-gap-2.5",children:[(0,$Z.jsxs)("div",{className:"univer-flex univer-gap-2.5",children:[(0,$Z.jsxs)("div",{className:"univer-flex univer-flex-1 univer-flex-col univer-gap-2",children:[(0,$Z.jsx)("label",{className:"univer-text-sm univer-font-medium univer-text-gray-500",children:n.t("page-settings.top")}),(0,$Z.jsx)(K9,{precision:2,max:i.pageSise.height/2,value:i.margins.top,onChange:e=>o("top",e)})]}),(0,$Z.jsxs)("div",{className:"univer-flex univer-flex-1 univer-flex-col univer-gap-2",children:[(0,$Z.jsx)("label",{className:"univer-text-sm univer-font-medium univer-text-gray-500",children:n.t("page-settings.bottom")}),(0,$Z.jsx)(K9,{precision:2,max:i.pageSise.height/2,value:i.margins.bottom,onChange:e=>o("bottom",e)})]})]}),(0,$Z.jsxs)("div",{className:"univer-flex univer-gap-2.5",children:[(0,$Z.jsxs)("div",{className:"univer-flex univer-flex-1 univer-flex-col univer-gap-2",children:[(0,$Z.jsx)("label",{className:"univer-text-sm univer-font-medium univer-text-gray-500",children:n.t("page-settings.left")}),(0,$Z.jsx)(K9,{precision:2,max:i.pageSise.width/2,value:i.margins.left,onChange:e=>o("left",e)})]}),(0,$Z.jsxs)("div",{className:"univer-flex univer-flex-1 univer-flex-col univer-gap-2",children:[(0,$Z.jsx)("label",{className:"univer-text-sm univer-font-medium univer-text-gray-500",children:n.t("page-settings.right")}),(0,$Z.jsx)(K9,{precision:2,max:i.pageSise.width/2,value:i.margins.right,onChange:e=>o("right",e)})]})]})]})]})]})}const hse="docs.component.page-setting",mse={id:"docs.command.page-setup",type:Bc.COMMAND,handler:(e,t)=>{if(!t)return!1;let r=e.get(dg),n=e.get(Vc),i=r.getCurrentUnitOfType(Pi.UNIVER_DOC);if(!i)return!1;let{marginLeft:a,marginRight:o,marginBottom:s,marginTop:l,pageOrient:u,pageSize:c}=t,d=Dm.getInstance(),{marginBottom:h,marginLeft:m,marginRight:f,marginTop:g,pageOrient:p,pageSize:v}=i.getDocumentStyle(),b=[];if(void 0===h){let e=d.insertOp(["documentStyle","marginBottom"],s);e&&b.push(e)}else{let e=d.replaceOp(["documentStyle","marginBottom"],h,s);e&&b.push(e)}if(void 0===m){let e=d.insertOp(["documentStyle","marginLeft"],a);e&&b.push(e)}else{let e=d.replaceOp(["documentStyle","marginLeft"],m,a);e&&b.push(e)}if(void 0===f){let e=d.insertOp(["documentStyle","marginRight"],o);e&&b.push(e)}else{let e=d.replaceOp(["documentStyle","marginRight"],f,o);e&&b.push(e)}if(void 0===g){let e=d.insertOp(["documentStyle","marginTop"],l);e&&b.push(e)}else{let e=d.replaceOp(["documentStyle","marginTop"],g,l);e&&b.push(e)}if(void 0===v){let e=d.insertOp(["documentStyle","pageSize"],c);e&&b.push(e)}else{let e=d.replaceOp(["documentStyle","pageSize"],v,c);e&&b.push(e)}if(void 0===p){let e=d.insertOp(["documentStyle","pageOrient"],u);e&&b.push(e)}else{let e=d.replaceOp(["documentStyle","pageOrient"],p,u);e&&b.push(e)}let C={id:KX.id,params:{unitId:i.getUnitId(),actions:[],textRanges:void 0}};return C.params.actions=b.reduce((e,t)=>Dm.compose(e,t),null),!!n.syncExecuteCommand(C.id,C.params)}},fse={id:"docs.operation.open-page-setting",type:Bc.OPERATION,handler:e=>{let t=e.get(bf),r=e.get(Vc),n=e.get(Cg),i=t.open({id:hse,title:{label:n.t("page-settings.document-setting")},children:{label:hse},width:528,onClose:()=>{i.dispose()},onConfirm:e=>{if(i.dispose(),!e)return;let t=wh[e.paperSize];r.executeCommand(mse.id,{pageOrient:e.orientation,marginTop:e.margins.top,marginBottom:e.margins.bottom,marginLeft:e.margins.left,marginRight:e.margins.right,pageSize:t})},confirmText:n.t("page-settings.confirm"),cancelText:n.t("page-settings.cancel")});return!0}};function gse(e){let t=e.get(dg),r=e.get(kX);return new Tn(e=>{let n=t.focused$.subscribe(n=>{if(null==n||t.getUnitType(n)!==Pi.UNIVER_DOC)return e.next(!0);let i=r.getRenderById(n);if(null==i)return e.next(!0);i.with(YX).getViewModel().editAreaChange$.subscribe(t=>{e.next(t===dH.HEADER||t===dH.FOOTER)})});return()=>n.unsubscribe()})}function pse(e){let t=e.get(dg),r=e.get(Vc);return new Tn(e=>{let n=r.onCommandExecuted(r=>{if(r.id===KX.id){let{unitId:n}=r.params,i=t.getUnit(n);if(null==i)return void e.next(!0);let{documentStyle:a}=i.getSnapshot();e.next((null==a?void 0:a.documentFlavor)!==Yu.TRADITIONAL)}}),i=t.focused$.subscribe(r=>{if(null==r)return e.next(!0);let n=t.getUniverDocInstance(r),i=null==n?void 0:n.getSnapshot().documentStyle.documentFlavor;e.next(i!==Yu.TRADITIONAL)}),a=t.getCurrentUniverDocInstance();if(null==a)return e.next(!0);let o=null==a?void 0:a.getSnapshot().documentStyle.documentFlavor;return e.next(o!==Yu.TRADITIONAL),()=>{n.dispose(),i.unsubscribe()}})}function vse(e){let t=e.get(GX),r=e.get(dg);return new Tn(n=>{let i=t.textSelection$.subscribe(t=>{if(null==t)return void n.next(!0);let{textRanges:i}=t;if(1!==i.length)return void n.next(!0);let{collapsed:a,startNodePosition:o,startOffset:s}=i[0];if(!a||null==s)return void n.next(!0);let l=r.getCurrentUniverDocInstance();if(null==l)return void n.next(!0);let u=Rne(e,l.getUnitId());if(null!=u)if(u.getViewModel().getCustomRangeRaw(s))n.next(!0);else{if(null!=o){let{path:e}=o;if(-1!==e.indexOf("cells"))return void n.next(!0)}n.next(!1)}else n.next(!0)});return()=>i.unsubscribe()})}function bse(e){let t=e.get(GX);return new Tn(e=>{let r=t.textSelection$.subscribe(t=>{if(null==t)return void e.next(!0);let{textRanges:r,rectRanges:n}=t;0!==r.length||0!==n.length?e.next(!1):e.next(!0)});return()=>r.unsubscribe()})}const Cse="doc.menu.table",yse=e=>new Tn(t=>{let r,n=e.get(dg),i=e.get(GX),a=n.focused$.subscribe(e=>{if(null==r||r.unsubscribe(),null==e)return;let a=n.getUniverDocInstance(e);null!=a&&(r=i.textSelection$.subscribe(()=>{var e;let r=i.getDocRanges(),n=null==(e=r.find(e=>e.isActive))?r[0]:e;if(n){var o,s,l,u;let e,r=a.getSelfOrHeaderFooterModel(null==n?void 0:n.segmentId);if(Jm.range.getParagraphsInRange(n,null==(o=null==(s=r.getBody())?void 0:s.paragraphs)?[]:o,null==(l=null==(u=r.getBody())?void 0:u.dataStream)?"":l).every(t=>{var r;return e||(e=null==(r=t.bullet)?void 0:r.listType),t.bullet&&t.bullet.listType===e}))return void t.next(e)}t.next(void 0)}))});return()=>{a.unsubscribe(),null==r||r.unsubscribe()}});function _se(e){return{id:_ae.id,type:lee.BUTTON_SELECTOR,slot:!0,selections:[{label:{name:lse,hoverable:!1,selectable:!1},value$:yse(e)}],icon:"OrderIcon",tooltip:"toolbar.order",hidden$:X5(e,Pi.UNIVER_DOC),disabled$:bse(e),activated$:yse(e).pipe(Yn(e=>!(!e||0!==e.indexOf("ORDER_LIST"))))}}function wse(e){return{id:bae.id,type:lee.BUTTON_SELECTOR,slot:!0,selections:[{label:{name:use,hoverable:!1,selectable:!1},value$:yse(e)}],icon:"UnorderIcon",tooltip:"toolbar.unorder",disabled$:bse(e),hidden$:X5(e,Pi.UNIVER_DOC),activated$:yse(e).pipe(Yn(e=>!(!e||0!==e.indexOf("BULLET_LIST"))))}}function Ese(e){return{id:Cae.id,type:lee.BUTTON,icon:"TodoListDoubleIcon",tooltip:"toolbar.checklist",disabled$:bse(e),hidden$:X5(e,Pi.UNIVER_DOC),activated$:yse(e).pipe(Yn(e=>!(!e||0!==e.indexOf("CHECK_LIST"))))}}function Sse(e){var t,r,n,i;let a=e.get(dg),o=e.get(GX),s=e.get(Ine),l=a.getCurrentUnitForType(Pi.UNIVER_DOC),u=o.getDocRanges(),c=null==(t=u.find(e=>e.isActive))?u[0]:t,d=s.getDefaultStyle(),h=null==(r=s.getStyleCache())?{}:r,m=Ase(e),f=null!=m&&null!=(n=m.paragraphStyle)&&n.namedStyleType?yh[null==m||null==(i=m.paragraphStyle)?void 0:i.namedStyleType]:null;if(null==l||null==c)return{ts:{...d,...f,...h}};let{segmentId:g}=c,p=l.getSelfOrHeaderFooterModel(g).getBody();if(null==p)return{ts:{...d,...f,...h}};let v=oae(p,c,{});return uu.deleteNull(v),{ts:{...d,...f,...v,...h}}}function Ase(e){var t,r;let n=e.get(dg),i=e.get(GX),a=n.getCurrentUniverDocInstance(),o=i.getDocRanges(),s=null==(t=o.find(e=>e.isActive))?o[0]:t;if(null==a||null==s)return;let{startOffset:l,segmentId:u}=s,c=null==(r=a.getSelfOrHeaderFooterModel(u).getBody())?void 0:r.paragraphs;if(null==c)return;let d=-1;for(let e of c){let{startIndex:t}=e;if(l>d&&l<=t)return e;d=t}return null}const Ise={[ec.HEADING_1]:Uae,[ec.HEADING_2]:Bae,[ec.HEADING_3]:Vae,[ec.HEADING_4]:Fae,[ec.HEADING_5]:jae,[ec.NORMAL_TEXT]:Hae,[ec.TITLE]:Wae,[ec.SUBTITLE]:zae,[ec.NAMED_STYLE_TYPE_UNSPECIFIED]:Hae},Rse={[ec.HEADING_1]:{key:"H1Icon",component:Fre},[ec.HEADING_2]:{key:"H2Icon",component:Hre},[ec.HEADING_3]:{key:"H3Icon",component:zre},[ec.HEADING_4]:{key:"H4Icon",component:qre},[ec.HEADING_5]:{key:"H5Icon",component:Yre},[ec.NORMAL_TEXT]:{key:"TextTypeIcon",component:Zre},[ec.TITLE]:{key:"TextTypeIcon",component:Zre},[ec.SUBTITLE]:{key:"TextTypeIcon",component:Zre},[ec.NAMED_STYLE_TYPE_UNSPECIFIED]:{key:"TextTypeIcon",component:Zre}},xse=e=>t=>{let r=t.get(Vc),n=t.get(W5),i=Rse[e];return n.get(i.key)||n.register(i.key,i.component),{id:Ise[e].id,type:lee.BUTTON,icon:i.key,tooltip:"toolbar.heading.tooltip",disabled$:bse(t),hidden$:X5(t,Pi.UNIVER_DOC),activated$:new Tn(n=>{let i=ec.NORMAL_TEXT,a=()=>{var r,a;let o=Ase(t);if(null==o)return void n.next(i===e);let s=null==(r=null==(a=o.paragraphStyle)?void 0:a.namedStyleType)?i:r;n.next(s===e)},o=r.onCommandExecuted(e=>{let t=e.id;(t===HX.id||t===Yie.id)&&a()});return a(),o.dispose})}},Tse=xse(ec.HEADING_1),Nse=xse(ec.HEADING_2),Mse=xse(ec.HEADING_3),Ose=xse(ec.HEADING_4),Lse=xse(ec.HEADING_5),kse=xse(ec.NORMAL_TEXT);ec.TITLE,ec.SUBTITLE;const Pse="doc.menu.insert-bellow";function Dse(e,t){let r=Use(e.left,e.top,t),n=Use(e.right,e.bottom,t);return{left:r.x,top:r.y,right:n.x,bottom:n.y}}function Use(e,t,r){let{scaleX:n,scaleY:i}=r.getAncestorScale(),a=r.getViewport(dne.VIEW_MAIN);if(!a)return{x:e,y:t};let{viewportScrollX:o,viewportScrollY:s}=a;return{x:(e-o)*n,y:(t-s)*i}}function Bse(e,t,r){let{scaleX:n,scaleY:i}=r.getAncestorScale(),a=r.getViewport(dne.VIEW_MAIN);if(!a)return{x:e,y:t};let{viewportScrollX:o,viewportScrollY:s}=a;return{x:e/n+o,y:t/i+s}}const Vse=(e,t)=>{let{scene:r,mainComponent:n,engine:i}=t,a=t.with(YX).getSkeleton(),o=a.findNodePositionByCharIndex(e.startOffset,!0,e.segmentId,e.segmentPage),s=e.collapsed?e.startOffset:e.endOffset-1,l=a.findNodePositionByCharIndex(s,!0,e.segmentId,e.segmentPage);if(!l||!o)return;let u=n.getOffsetConfig(),{docsLeft:c,docsTop:d}=u,h=i.getCanvasElement(),m=h.getBoundingClientRect(),f=gF(h.style.width),{top:g,left:p,width:v}=m,b=v/f,{scaleX:C,scaleY:y}=r.getAncestorScale(),{borderBoxPointGroup:_}=new $ae(u,a).getRangePointData(o,l);return ooe(_).map(e=>Dse(e,r)).map(e=>({left:(e.left+c*C)*b+p,right:(e.right+c*C)*b+p,top:(e.top+d*y)*b+g,bottom:(e.bottom+d*y)*b+g}))};let Fse=class extends tu{constructor(e,t,r,n){super(),this._globalPopupManagerService=e,this._renderManagerService=t,this._univerInstanceService=r,this._commandService=n}_createRectPositionObserver(e,t){let r=()=>{let{scene:r,engine:n}=t,i="function"==typeof e?e():e,a=n.getCanvasElement(),o=a.getBoundingClientRect(),s=gF(a.style.width),l=Dse(i,r),{top:u,left:c,width:d}=o,h=d/s;return{left:l.left*h+c,right:l.right*h+c,top:l.top*h+u,bottom:l.bottom*h+u}},n=r(),i=new Qn(n),a=new eu;a.add(this._commandService.onCommandExecuted(e=>{if(e.id===Oae.id||e.id===KX.id){let e=r();e&&i.next(e)}}));let o=t.scene.getViewport(dne.VIEW_MAIN);return o&&a.add(o.onScrollAfter$.subscribeEvent(()=>{i.next(r())})),{position:n,position$:i,disposable:a}}_createObjectPositionObserver(e,t){return this._createRectPositionObserver(()=>{let{left:t,top:r,width:n,height:i}=e;return{left:t,right:t+n,top:r,bottom:r+i}},t)}_createRangePositionObserver(e,t){var r;let n=null==(r=Vse(e,t))?[]:r,i=new Qn(n),a=new eu;a.add(this._commandService.onCommandExecuted(r=>{if((r.id===Oae.id||r.id===KX.id)&&r.params.unitId===t.unitId){let r=Vse(e,t);r&&i.next(r)}}));let o=t.scene.getViewport(dne.VIEW_MAIN);return o&&a.add(o.onScrollAfter$.subscribeEvent(()=>{let r=Vse(e,t);r&&i.next(r)})),{positions:n,positions$:i,disposable:a}}attachPopupToRect(e,t,r){let n=this._renderManagerService.getRenderById(r);if(!n)throw Error(`Current render not found, unitId: ${r}`);let{position:i,position$:a,disposable:o}=this._createRectPositionObserver(e,n),s=this._globalPopupManagerService.addPopup({...t,unitId:r,subUnitId:"default",anchorRect:i,anchorRect$:a,canvasElement:n.engine.getCanvasElement()});return{dispose:()=>{this._globalPopupManagerService.removePopup(s),a.complete(),o.dispose()},canDispose:()=>this._globalPopupManagerService.activePopupId!==s}}attachPopupToObject(e,t,r){let n=this._renderManagerService.getRenderById(r);if(!n)throw Error(`Current render not found, unitId: ${r}`);let{position:i,position$:a,disposable:o}=this._createObjectPositionObserver(e,n),s=this._globalPopupManagerService.addPopup({...t,unitId:r,subUnitId:"default",anchorRect:i,anchorRect$:a,canvasElement:n.engine.getCanvasElement()});return{dispose:()=>{this._globalPopupManagerService.removePopup(s),a.complete(),o.dispose()},canDispose:()=>this._globalPopupManagerService.activePopupId!==s}}attachPopupToRange(e,t,r){if(!this._univerInstanceService.getUnit(r))throw Error(`Document not found, unitId: ${r}`);let{direction:n="top",multipleDirection:i}=t,a=this._renderManagerService.getRenderById(r);if(!a)throw Error(`Current render not found, unitId: ${r}`);let{positions:o,positions$:s,disposable:l}=this._createRangePositionObserver(e,a),u=s.pipe(Yn(e=>n.includes("top")?e[0]:e[e.length-1])),c=this._globalPopupManagerService.addPopup({...t,unitId:r,subUnitId:"default",anchorRect:n.includes("top")?o[0]:o[o.length-1],anchorRect$:u,excludeRects:o,excludeRects$:s,direction:["top","bottom","horizontal"].some(e=>n.includes(e))&&o.length>1?null==i?n:i:n,canvasElement:a.engine.getCanvasElement()});return{dispose:()=>{this._globalPopupManagerService.removePopup(c),s.complete(),l.dispose()},canDispose:()=>this._globalPopupManagerService.activePopupId!==c}}};Fse=yne([Cne(0,Y(vee)),Cne(1,kX),Cne(2,dg),Cne(3,Vc)],Fse);const jse=(e,t,r,n)=>{let i=[];for(let a of e){let e=a.top;for(let o of a.columns){let s=o.left,l=1===a.colCount?n:o.width,u=null;for(let n of o.lines){let a=n.paragraphIndex;if(n.paragraphStart){u&&(i.push(u),u=null);let o={top:t+e+n.top,left:r+s,right:r+s+l,bottom:t+e+n.top+n.lineHeight};u={paragraphStart:n.st,paragraphEnd:a,startIndex:a,rect:o,fisrtLine:{top:t+e+n.top+n.marginTop+n.paddingTop,left:r+s,right:r+s+l,bottom:t+e+n.top+n.marginTop+n.paddingTop+n.contentHeight}}}else u&&u.startIndex===a&&(u.rect.bottom=t+e+n.top+n.lineHeight)}u&&i.push(u)}}return i},Hse=(e,t,r,n=-1)=>{let i=r.findPositionByGlyph(e,n);if(!i)return;let a=t.getOffsetConfig(),o={...i,isBack:!0},{borderBoxPointGroup:s}=new $ae(a,r).getRangePointData(o,o),l=ooe(s)[0];return{top:l.top+a.docsTop,bottom:l.bottom+a.docsTop,left:l.left+a.docsLeft,right:l.left+a.docsLeft+e.width}};function Wse(e,t,r){let{left:n,right:i,top:a,bottom:o}=r;return e>=n&&e<=i&&t>=a&&t<=o}let zse=class extends tu{get hoverParagraph(){return this._hoverParagraph$.value}get hoverParagraphLeft(){return this._hoverParagraphLeft$.value}get _skeleton(){return this._docSkeletonManagerService.getSkeleton()}get _documents(){return this._context.mainComponent}constructor(e,t){super(),this._context=e,this._docSkeletonManagerService=t,bne(this,"_hoverCustomRanges$",new Qn([])),bne(this,"hoverCustomRanges$",this._hoverCustomRanges$.pipe(Zn((e,t)=>e.length===t.length&&e.every((e,r)=>t[r].range.rangeId===e.range.rangeId&&t[r].segmentId===e.segmentId&&t[r].segmentPageIndex===e.segmentPageIndex&&t[r].range.startIndex===e.range.startIndex)))),bne(this,"_clickCustomRanges$",new On),bne(this,"clickCustomRanges$",this._clickCustomRanges$.asObservable()),bne(this,"_hoverBullet$",new On),bne(this,"hoverBullet$",this._hoverBullet$.pipe(Zn((e,t)=>(null==e?void 0:e.paragraph.startIndex)===(null==t?void 0:t.paragraph.startIndex)&&(null==e?void 0:e.segmentId)===(null==t?void 0:t.segmentId)&&(null==e?void 0:e.segmentPageIndex)===(null==t?void 0:t.segmentPageIndex)))),bne(this,"_clickBullet$",new On),bne(this,"clickBullets$",this._clickBullet$.asObservable()),bne(this,"_hoverParagraph$",new Qn(null)),bne(this,"hoverParagraph$",this._hoverParagraph$.pipe(Zn((e,t)=>(null==e?void 0:e.startIndex)===(null==t?void 0:t.startIndex)&&(null==e?void 0:e.segmentId)===(null==t?void 0:t.segmentId)&&(null==e?void 0:e.pageIndex)===(null==t?void 0:t.pageIndex)))),bne(this,"hoverParagraphRealTime$",this._hoverParagraph$.asObservable()),bne(this,"_hoverParagraphLeft$",new Qn(null)),bne(this,"hoverParagraphLeft$",this._hoverParagraphLeft$.pipe(Zn((e,t)=>(null==e?void 0:e.startIndex)===(null==t?void 0:t.startIndex)&&(null==e?void 0:e.segmentId)===(null==t?void 0:t.segmentId)&&(null==e?void 0:e.pageIndex)===(null==t?void 0:t.pageIndex)))),bne(this,"hoverParagraphLeftRealTime$",this._hoverParagraphLeft$.asObservable()),bne(this,"_hoverTableCell$",new On),bne(this,"hoverTableCell$",this._hoverTableCell$.pipe(Zn((e,t)=>(null==e?void 0:e.rowIndex)===(null==t?void 0:t.rowIndex)&&(null==e?void 0:e.colIndex)===(null==t?void 0:t.colIndex)&&(null==e?void 0:e.tableId)===(null==t?void 0:t.tableId)&&(null==e?void 0:e.pageIndex)===(null==t?void 0:t.pageIndex)))),bne(this,"hoverTableCellRealTime$",this._hoverTableCell$.asObservable()),bne(this,"_hoverTable$",new On),bne(this,"hoverTable$",this._hoverTable$.pipe(Zn((e,t)=>(null==e?void 0:e.tableId)===(null==t?void 0:t.tableId)&&(null==e?void 0:e.pageIndex)===(null==t?void 0:t.pageIndex)))),bne(this,"hoverTableRealTime$",this._hoverTable$.asObservable()),bne(this,"_customRangeDirty",!0),bne(this,"_bulletDirty",!0),bne(this,"_paragraphDirty",!0),bne(this,"_customRangeBounds",[]),bne(this,"_bulletBounds",[]),bne(this,"_paragraphBounds",new Map),bne(this,"_paragraphLeftBounds",[]),bne(this,"_tableParagraphBounds",new Map),bne(this,"_segmentParagraphBounds",new Map),bne(this,"_tableCellBounds",new Map),bne(this,"_tableBounds",new Map),this._initResetDirty(),this._initEvents(),this._initPointer()}dispose(){this._hoverCustomRanges$.complete(),this._clickCustomRanges$.complete(),super.dispose()}_initPointer(){let e=TV.TEXT;this.disposeWithMe(this.hoverCustomRanges$.subscribe(t=>{t.length?(e=this._context.scene.getCursor(),this._context.scene.setCursor(TV.POINTER)):this._context.scene.setCursor(e)}))}_initResetDirty(){this.disposeWithMe(this._skeleton.dirty$.subscribe(()=>{this._customRangeDirty=!0,this._bulletDirty=!0,this._paragraphDirty=!0})),this.disposeWithMe(df(this._context.engine.onTransformChange$).pipe(Un(e=>e.type===zF.resize)).subscribe(()=>{this._customRangeDirty=!0,this._bulletDirty=!0,this._paragraphDirty=!0}))}_initEvents(){this.disposeWithMe(df(this._context.scene.onPointerMove$).pipe(pq(30)).subscribe(e=>{if(e.buttons>0)return this._hoverBullet$.next(null),this._hoverCustomRanges$.next([]),this._hoverParagraph$.next(null),this._hoverParagraphLeft$.next(null),this._hoverTableCell$.next(null),void this._hoverTable$.next(null);let{x:t,y:r}=Bse(e.offsetX,e.offsetY,this._context.scene);this._hoverCustomRanges$.next(this._calcActiveRanges({x:t,y:r})),this._hoverParagraph$.next(this._calcActiveParagraph({x:t,y:r})),this._hoverParagraphLeft$.next(this._calcActiveParagraphLeft({x:t,y:r})),this._hoverBullet$.next(this._calcActiveBullet({x:t,y:r}))})),this.disposeWithMe(this._context.scene.onPointerEnter$.subscribeEvent(()=>{this._hoverBullet$.next(null),this._hoverCustomRanges$.next([])}));let e=df(this._context.mainComponent.onPointerDown$),t=df(this._context.scene.onPointerUp$);this.disposeWithMe(e.pipe(aq(e=>t.pipe(hq(1),Yn(t=>({down:e,up:t})))),Un(({down:e,up:t})=>e.target===t.target&&t.timeStamp-e.timeStamp<300)).subscribe(({down:e})=>{if(2===e.button)return;let t=Bse(e.offsetX,e.offsetY,this._context.scene),r=this._calcActiveRanges(t);r.length&&this._clickCustomRanges$.next(r.pop());let n=this._calcActiveBullet(t);n&&this._clickBullet$.next(n)}))}_buildCustomRangeBoundsBySegment(e,t=-1){var r,n;let i=null==(r=null==(n=this._context.unit.getSelfOrHeaderFooterModel(e))||null==(n=n.getBody())?void 0:n.customRanges)?[]:r,a=[];return i.forEach(r=>{let n=((e,t,r,n)=>{let i=r.findNodePositionByCharIndex(e.startOffset,!0,e.segmentId,n),a=r.getSkeletonData(),o=e.collapsed?e.startOffset:e.endOffset-1;if(e.segmentId){var s,l,u,c,d;let t=null==(s=Array.from(null==(l=null==a||null==(u=a.skeFooters.get(e.segmentId))?void 0:u.values())?[]:l)[0])?Array.from(null==(c=null==a||null==(d=a.skeHeaders.get(e.segmentId))?void 0:d.values())?[]:c)[0]:s;t&&(o=Math.min(t.ed,o))}let h=r.findNodePositionByCharIndex(o,!0,e.segmentId,n);if(!h||!i)return;let m=t.getOffsetConfig(),{borderBoxPointGroup:f}=new $ae(m,r).getRangePointData(i,h);return ooe(f).map(e=>({top:e.top+m.docsTop-4,bottom:e.bottom+m.docsTop+4,left:e.left+m.docsLeft,right:e.right+m.docsLeft}))})({startOffset:r.startIndex,endOffset:r.endIndex+1,collapsed:!1,segmentId:e},this._documents,this._skeleton,t);if(!n)return null;a.push({customRange:r,rects:n,segmentId:e,segmentPageIndex:t})}),a}_buildCustomRangeBounds(){var e;if(!this._customRangeDirty)return;this._customRangeDirty=!1;let t=[];t.push(...this._buildCustomRangeBoundsBySegment()),null==(e=this._skeleton.getSkeletonData())||e.pages.forEach((e,r)=>{e.headerId&&t.push(...this._buildCustomRangeBoundsBySegment(e.headerId,r)),e.footerId&&t.push(...this._buildCustomRangeBoundsBySegment(e.footerId,r))}),this._customRangeBounds=t}_calcActiveRanges(e){this._buildCustomRangeBounds();let{x:t,y:r}=e;return this._customRangeBounds.filter(e=>e.rects.some(e=>Wse(t,r,e))).map(e=>({segmentId:e.segmentId,range:e.customRange,segmentPageIndex:e.segmentPageIndex,rects:e.rects}))}_buildBulletBoundsBySegment(e,t=-1){var r,n;let i=null==(r=this._context.unit.getSelfOrHeaderFooterModel(e))?void 0:r.getBody(),a=(null==(n=null==i?void 0:i.paragraphs)?[]:n).filter(e=>e.bullet&&0===e.bullet.listType.indexOf("CHECK_LIST")),o=[],s=this._skeleton.getSkeletonData();if(!s)return o;let l=r=>{for(let i of r){let r=[...i.sections];if(i.skeTables){let e=Array.from(i.skeTables.values());r.push(...e.map(e=>e.rows.map(e=>e.cells.map(e=>e.sections))).flat(4))}for(let i of r)for(let r of i.columns)for(let i of r.lines)if(i.paragraphStart){let r=a.find(e=>e.startIndex===i.paragraphIndex);if(r){var n;let a=null==i||null==(n=i.divides)||null==(n=n[0])||null==(n=n.glyphGroup)?void 0:n[0];if(!a)continue;let s=Hse(a,this._documents,this._skeleton,t);if(!s)continue;o.push({rect:s,segmentId:e,segmentPageIndex:t,paragraph:r})}}}return o};if(e){var u,c,d;let t=null==(u=null==(c=s.skeFooters.get(e))?void 0:c.values())?null==(d=s.skeHeaders.get(e))?void 0:d.values():u;return t?l(Array.from(t)):o}return l(s.pages)}_buildBulletBounds(){var e;this._bulletDirty&&(this._bulletDirty=!1,this._bulletBounds=[],this._bulletBounds.push(...this._buildBulletBoundsBySegment()),null==(e=this._skeleton.getSkeletonData())||e.pages.forEach((e,t)=>{e.headerId&&this._bulletBounds.push(...this._buildBulletBoundsBySegment(e.headerId,t)),e.footerId&&this._bulletBounds.push(...this._buildBulletBoundsBySegment(e.footerId,t))}))}_calcActiveBullet(e){this._buildBulletBounds();let{x:t,y:r}=e;return this._bulletBounds.find(e=>Wse(t,r,e.rect))}_buildParagraphBoundsBySegment(e){let t=this._skeleton.getSkeletonData(),r=this._documents.getOffsetConfig();if(!t)return null;let n=t=>{let n=new Map,i=(t,r,i,a)=>{jse(t.sections,i,a,t.pageWidth-t.marginLeft-t.marginRight).forEach(t=>{if(n.has(t.startIndex)){let e=n.get(t.startIndex);e&&(e.rect.bottom=t.rect.bottom,e.rects.push(t.rect))}else n.set(t.startIndex,{rect:t.rect,paragraphStart:t.paragraphStart,paragraphEnd:t.paragraphEnd,startIndex:t.startIndex,rects:[t.rect],pageIndex:r,segmentId:e,firstLine:t.fisrtLine})})};for(let n=0;n{let i=t.left+s,l=t.top+o,u=i+t.width,c=l+t.height,d=t.tableId;this._tableBounds.set(d,{rect:{left:i,top:l,right:u,bottom:c},pageIndex:n,tableId:d}),t.rows.forEach((i,o)=>{i.cells.forEach((s,l)=>{let u=((a.pageHeight===1/0?0:a.pageHeight)+r.pageMarginTop)*n+t.top+r.docsTop+a.marginTop+i.top+s.marginTop,c=t.left+r.docsLeft+a.marginLeft+s.left+s.marginLeft,h=jse(s.sections,u,c,s.pageWidth-s.marginLeft-s.marginRight),m=this._tableParagraphBounds.get(d);m||(m=[],this._tableParagraphBounds.set(d,m)),m.push(...h.map(t=>({rect:t.rect,paragraphStart:t.paragraphStart,paragraphEnd:t.paragraphEnd,startIndex:t.startIndex,pageIndex:n,segmentId:e,rowIndex:o,colIndex:l,firstLine:t.fisrtLine,tableId:d})));let f=this._tableCellBounds.get(d);f||(f=[],this._tableCellBounds.set(d,f)),f.push({rect:{top:u,left:c,right:c+s.pageWidth-s.marginLeft-s.marginRight,bottom:u+s.pageHeight-s.marginBottom-s.marginTop},pageIndex:n,rowIndex:o,colIndex:l,tableId:d})})})}),i(a,n,o,s)}return n};if(e){var i,a,o;let r=null==(i=null==(a=t.skeFooters.get(e))?void 0:a.values())?null==(o=t.skeHeaders.get(e))?void 0:o.values():i;return r?n(Array.from(r)):null}return n(t.pages)}_buildParagraphBounds(){var e,t;if(!this._paragraphDirty)return;this._paragraphDirty=!1,this._tableParagraphBounds=new Map,this._tableCellBounds=new Map,this._tableBounds=new Map,this._paragraphBounds=null==(e=this._buildParagraphBoundsBySegment())?new Map:e,this._paragraphLeftBounds=Array.from(this._paragraphBounds.values()).map(e=>({...e,rect:{left:e.rect.left-60,right:e.rect.left,top:e.rect.top,bottom:e.rect.bottom}}));let r=e=>{var t;this._segmentParagraphBounds.set(e,null==(t=this._buildParagraphBoundsBySegment(e))?new Map:t)};null==(t=this._skeleton.getSkeletonData())||t.pages.forEach(e=>{e.headerId&&r(e.headerId),e.footerId&&r(e.footerId)})}_calcActiveParagraph(e){this._buildParagraphBounds();let t,{x:r,y:n}=e,i=Array.from(this._tableBounds.values()).find(e=>Wse(r,n,e.rect));if(this._hoverTable$.next(i),i){var a,o;let e=null==(a=this._tableCellBounds.get(i.tableId))?void 0:a.find(e=>Wse(r,n,e.rect));if(this._hoverTableCell$.next(e),!e)return null;let t=null==(o=this._tableParagraphBounds.get(e.tableId))?void 0:o.filter(t=>t.colIndex===e.colIndex&&t.rowIndex===e.rowIndex),s=null==t?void 0:t.find(e=>Wse(r,n,e.rect));return s&&{...s,rects:[s.rect]}}for(let e of this._paragraphBounds){let i=e[1];if(i.rects.some(e=>Wse(r,n,e))){t=i;break}}return t}_calcActiveParagraphLeft(e){this._buildParagraphBounds();let{x:t,y:r}=e;return this._paragraphLeftBounds.find(e=>Wse(t,r,e.rect))}get paragraphBounds(){return this._buildParagraphBounds(),this._paragraphBounds}findParagraphBoundByIndex(e){return this._buildParagraphBounds(),this._paragraphBounds.get(e)||Array.from(this._tableParagraphBounds.values()).flat().find(t=>t.startIndex===e)}};zse=yne([Cne(1,Y(YX))],zse);const Xse=[Yie.id,Die.id,Bie.id,Fie.id,Hie.id,zie.id,qie.id,$ie.id,eae.id];function qse(e){let{avaliableMenus:t=Xse}=e,r=iK(nee),[n,i]=(0,_q.useState)([]);return(0,_q.useEffect)(()=>{function e(){let e=r.getFlatMenuByPositionKey(G8.RIBBON),n=[];for(let r of t){let t=e.find(e=>e.key===r);t&&n.push(t)}i(n)}e();let n=r.menuChanged$.subscribe(e);return()=>{n.unsubscribe()}},[r]),(0,$Z.jsx)("div",{className:x7("univer-box-border univer-flex univer-rounded univer-bg-white univer-py-1.5 univer-shadow-sm dark:!univer-border-gray-700 dark:!univer-bg-gray-900",V7),children:n.map(e=>e.item&&(0,$Z.jsx)("div",{className:"univer-flex univer-flex-nowrap univer-gap-2 univer-px-2",children:(0,$Z.jsx)(Bee,{...e.item},e.key)},e.key))})}const Gse="univer.doc.float-menu";function Yse(e,t){if(null==e||null==t)return!1;let{glyph:r,...n}=e,{glyph:i,...a}=t;return Gd(n,a)}const Qse=[Bm.CUSTOM_BLOCK,Bm.PARAGRAPH];let Zse=class extends tu{constructor(e,t,r,n,i,a){super(),this._context=e,this._docSelectionManagerService=t,this._docCanvasPopManagerService=r,this._componentManager=n,this._univerInstanceService=i,this._docSelectionRenderService=a,bne(this,"_floatMenu",null),!Nl(this._context.unitId)&&(this._registerFloatMenu(),this._initSelectionChange(),this.disposeWithMe(()=>{this._hideFloatMenu()}))}get floatMenu(){return this._floatMenu}_registerFloatMenu(){this.disposeWithMe(this._componentManager.register(Gse,qse))}_initSelectionChange(){this.disposeWithMe(this._docSelectionRenderService.onSelectionStart$.subscribe(()=>{this._hideFloatMenu()})),this.disposeWithMe(this._docSelectionManagerService.textSelection$.subscribe(e=>{let{unitId:t,textRanges:r}=e;if(t!==this._context.unitId)return;let n=r.length>0&&r.find(e=>!e.collapsed);if(n){var i,a;if(n.startOffset===(null==(i=this._floatMenu)?void 0:i.start)&&n.endOffset===(null==(a=this._floatMenu)?void 0:a.end))return;return this._hideFloatMenu(),void this._showFloatMenu(t,n)}this._hideFloatMenu()}))}_hideFloatMenu(){var e;null==(e=this._floatMenu)||e.disposable.dispose(),this._floatMenu=null}_showFloatMenu(e,t){var r,n;let i=this._univerInstanceService.getUnit(e,Pi.UNIVER_DOC);if(!i||i.getDisabled())return;let a=null==(r=i.getBody())?void 0:r.dataStream[t.startOffset];if(t.endOffset-t.startOffset===1&&a&&Qse.includes(a))return;let o=null==(n=i.getBody())||null==(n=n.customRanges)?void 0:n.filter(e=>e.wholeEntity);return null!=o&&o.some(e=>e.startIndex===t.startOffset&&e.endIndex===t.endOffset-1)?void 0:(this._floatMenu={disposable:this._docCanvasPopManagerService.attachPopupToRange(t,{componentKey:Gse,direction:"backward"===t.direction||Yse(t.startNodePosition,t.endNodePosition)?"top-center":"bottom-center",offset:[0,4]},e),start:t.startOffset,end:t.endOffset},Jl(()=>this._hideFloatMenu()))}};Zse=yne([Cne(1,Y(GX)),Cne(2,Y(Fse)),Cne(3,Y(W5)),Cne(4,Y(dg)),Cne(5,Y(voe))],Zse);let Kse=class extends tu{get activeParagraph(){var e;return null==(e=this._paragrahMenu)?void 0:e.paragraph}constructor(e,t,r,n,i,a){super(),this._context=e,this._docSelectionManagerService=t,this._docEventManagerService=r,this._docPopupManagerService=n,this._docSkeletonManagerService=i,this._floatMenuService=a,bne(this,"_paragrahMenu",null),!Nl(this._context.unitId)&&this._init()}_isCursorInActiveParagraph(){if(!this._paragrahMenu)return!1;let e=this._docSelectionManagerService.getActiveTextRange();return!(null==e||!e.collapsed||null==e||!e.collapsed||e.startOffsetthis._paragrahMenu.paragraph.paragraphEnd)}setParagraphMenuActive(e){this._paragrahMenu&&(this._paragrahMenu.active=e,this._isCursorInActiveParagraph()||this._docSelectionManagerService.replaceDocRanges([{startOffset:this._paragrahMenu.paragraph.paragraphStart,endOffset:this._paragrahMenu.paragraph.paragraphStart}]))}_init(){let e=e=>{if(this._docSkeletonManagerService.getViewModel().getEditArea()===dH.BODY&&!this._floatMenuService.floatMenu&&!this._context.unit.getDisabled()){var t;if(null!=(t=this._paragrahMenu)&&t.active)return;if(e)return void this.showParagraphMenu(e)}this.hideParagraphMenu(!0)};this.disposeWithMe(Oi([this._docEventManagerService.hoverParagraphRealTime$,this._docEventManagerService.hoverParagraphLeft$]).pipe(pq(16)).subscribe(([t,r])=>{e(null==t?r:t)}));let t=0;this.disposeWithMe(this._context.scene.getViewport(dne.VIEW_MAIN).onScrollAfter$.subscribeEvent(e=>{t!==e.scrollY&&(t=e.scrollY,this.hideParagraphMenu(!0))})),this.disposeWithMe(this._docEventManagerService.clickCustomRanges$.subscribe(()=>{this.hideParagraphMenu(!0)}))}showParagraphMenu(e){var t,r,n;if((null==(t=this._paragrahMenu)?void 0:t.paragraph.startIndex)===e.startIndex)return;this.hideParagraphMenu(!0);let i=null==(r=null==(n=this._context.unit.getBody())?void 0:n.dataStream)?"":r,a=e?i.slice(e.paragraphStart,e.paragraphEnd):"";"\b"===a||""===a||(this._paragrahMenu={paragraph:e,disposable:this._docPopupManagerService.attachPopupToRect(e.firstLine,{componentKey:"doc.paragraph.menu",direction:"left-center",onClickOutside:()=>{this._docSelectionManagerService.textSelection$.pipe(fq()).subscribe(()=>{this._isCursorInActiveParagraph()||this.hideParagraphMenu(!0)})},zIndex:101},this._context.unitId),active:!1})}hideParagraphMenu(e=!1){this._paragrahMenu&&(this._paragrahMenu.disposable.canDispose()||e)&&(this._paragrahMenu.disposable.dispose(),this._paragrahMenu=null)}};Kse=yne([Cne(1,Y(GX)),Cne(2,Y(zse)),Cne(3,Y(Fse)),Cne(4,Y(YX)),Cne(5,Y(Zse))],Kse);const $se=({popup:e})=>{var t,r;let[n,i]=(0,_q.useState)(!1),a=(0,_q.useRef)(null),o=iK(Vc),s=iK(O8),l=(0,_q.useRef)(null),u=(0,_q.useRef)(!1),c=iK(kX),d=iK(dg),h=c.getRenderById(e.unitId),m=d.getUnit(e.unitId,Pi.UNIVER_DOC),f=null==h?void 0:h.with(Kse),g=null==h?void 0:h.with(zse),p=aK(null==g?void 0:g.hoverParagraph$),v=aK(null==g?void 0:g.hoverParagraphLeft$),b=null==(t=null==p?v:p)?void 0:t.startIndex,C=(0,_q.useMemo)(()=>{var e;return null==m||null==(e=m.getBody())||null==(e=e.paragraphs)?void 0:e.find(e=>e.startIndex===b)},[m,p]),y=null==C||null==(r=C.paragraphStyle)?void 0:r.namedStyleType,_=Rse[null==y?ec.NORMAL_TEXT:y],w=(0,_q.useMemo)(()=>new Qn({left:0,right:0,top:0,bottom:0}),[]),E=()=>{i(!1),null==f||f.hideParagraphMenu(!0)};return(0,$Z.jsxs)($Z.Fragment,{children:[(0,$Z.jsxs)("div",{"data-u-comp":"paragraph-menu",ref:l,className:x7("univer-mr-1 univer-inline-flex univer-h-7 univer-cursor-pointer univer-items-center univer-gap-1 univer-rounded-full univer-px-2.5 univer-py-0 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-600",V7,{"univer-bg-gray-100 dark:!univer-bg-gray-700":n,"univer-bg-white dark:!univer-bg-gray-700":!n}),onMouseEnter:t=>{var r,n,i,a,o,s;null==(r=e.onPointerEnter)||r.call(e,t),u.current=!0;let c=null==(n=l.current)?void 0:n.getBoundingClientRect();w.next({left:(null==(i=null==c?void 0:c.left)?0:i)-4,right:null==(a=null==c?void 0:c.right)?0:a,top:null==(o=null==c?void 0:c.top)?0:o,bottom:null==(s=null==c?void 0:c.bottom)?0:s})},onMouseLeave:()=>{u.current=!1},onClick:()=>{i(!0),null==f||f.setParagraphMenuActive(!0)},children:[(0,$Z.jsx)(_.component,{className:"univer-size-4 univer-text-gray-900 dark:!univer-text-white"}),(0,$Z.jsx)($re,{className:"univer-size-3 univer-text-gray-600 dark:!univer-text-gray-200"})]}),n&&(0,$Z.jsx)(_ee,{portal:!0,mask:!0,maskZIndex:100,anchorRect$:w,direction:"left",onMaskClick:E,children:(0,$Z.jsx)("section",{ref:a,onMouseEnter:t=>{var r;null==(r=e.onPointerEnter)||r.call(e,t),u.current=!0},onMouseLeave:()=>{u.current=!1},children:(0,$Z.jsx)($ee,{className:"univer-w-[212px]",menuType:tee.PARAGRAPH,onOptionSelect:e=>{let{label:t,commandId:r,value:n}=e;o&&o.executeCommand(null==r?t:r,{value:n}),s.focus(),E()}})})})]})},Jse={id:"doc-paragraph-setting.command",type:Bc.COMMAND,handler:async(e,t)=>{var r,n,i,a,o;let s=e.get(GX),l=e.get(dg),u=e.get(Vc),c=l.getCurrentUnitForType(Pi.UNIVER_DOC),d=s.getDocRanges();if(!c||0===d.length||!t)return!1;let h=d[0].segmentId,m=c.getUnitId(),f=c.getSelfOrHeaderFooterModel(h),g=null==(r=null==(n=f.getBody())?void 0:n.paragraphs)?[]:r,p=null==(i=null==(a=f.getBody())?void 0:a.dataStream)?"":i,v=null==(o=Jm.range.getParagraphsInRanges(d,g,p))?[]:o,b={id:KX.id,params:{unitId:m,actions:[],textRanges:d}},C=new Gl;C.reset();let y=new Pm,_=Dm.getInstance();for(let e of v){let{startIndex:r}=e;y.push({t:xc.RETAIN,len:r-C.cursor});let n={...e.paragraphStyle,...t.paragraph};y.push({t:xc.RETAIN,len:1,body:{dataStream:"",paragraphs:[{...e,paragraphStyle:n,startIndex:0}]},coverType:Rc.REPLACE}),C.moveCursorTo(r+1)}let w=xne(c,h);return b.params.actions=_.editOp(y.serialize(),w),!!u.syncExecuteCommand(b.id,b.params)}},ele=e=>{let{value:t,onChange:r,className:n="",min:i=0,max:a=100,step:o=1}=e,s=(0,_q.useRef)(null);return(0,$Z.jsx)(K9,{step:o,ref:s,min:i,max:a,value:t,onChange:e=>{r(null==e?0:e).finally(()=>{setTimeout(()=>{var e;null==(e=s.current)||e.focus()},30)})},className:n})};function tle(){let e=iK(Cg),t=(0,_q.useMemo)(()=>[{label:e.t("toolbar.alignLeft"),value:String(Lu.LEFT),icon:(0,$Z.jsx)(GY,{})},{label:e.t("toolbar.alignCenter"),value:String(Lu.CENTER),icon:(0,$Z.jsx)(CY,{})},{label:e.t("toolbar.alignRight"),value:String(Lu.RIGHT),icon:(0,$Z.jsx)(XQ,{})},{label:e.t("toolbar.alignJustify"),value:String(Lu.JUSTIFIED),icon:(0,$Z.jsx)(Vq,{})}],[]),r=(()=>{var e,t,r,n,i;let a=iK(dg).getCurrentUnitForType(Pi.UNIVER_DOC),o=(()=>{let e=iK(GX),t=iK(ile),r=(0,_q.useMemo)(()=>e.getDocRanges(),[]);return(0,_q.useEffect)(()=>{r.length||t.closePanel()},[r]),r})();if(!a||0===o.length)return[];let s=o[0].segmentId,l=a.getSelfOrHeaderFooterModel(s),u=null==(e=null==(t=l.getBody())?void 0:t.paragraphs)?[]:e,c=null==(r=null==(n=l.getBody())?void 0:n.dataStream)?"":r;return null==(i=Jm.range.getParagraphsInRanges(o,u,c))?[]:i})(),[n,i]=((e,t)=>{let r=iK(Vc),[n,i]=(0,_q.useState)(()=>{var r,n;let i=e[0];return i?String(null==(r=null==(n=i.paragraphStyle)?void 0:n.horizontalAlign)?t:r):t});return[n,e=>(i(e),r.executeCommand(Jse.id,{paragraph:{horizontalAlign:Number(e)}}))]})(r,t[0].value),[a,o]=(e=>{let t=iK(Vc),[r,n]=(0,_q.useState)(()=>{var t;let r=e[0];return r?hW(null==(t=r.paragraphStyle)?void 0:t.indentStart,0):0});return[r,e=>(n(e),t.executeCommand(Jse.id,{paragraph:{indentStart:{v:e}}}))]})(r),[s,l]=(e=>{let t=iK(Vc),[r,n]=(0,_q.useState)(()=>{var t;let r=e[0];return r?hW(null==(t=r.paragraphStyle)?void 0:t.indentEnd,0):0});return[r,e=>(n(e),t.executeCommand(Jse.id,{paragraph:{indentEnd:{v:e}}}))]})(r),[u,c]=(e=>{let t=iK(Vc),[r,n]=(0,_q.useState)(()=>{var t;let r=e[0];return r?hW(null==(t=r.paragraphStyle)?void 0:t.indentFirstLine,0):0});return[r,e=>(n(e),t.executeCommand(Jse.id,{paragraph:{indentFirstLine:{v:e}}}))]})(r),[d,h]=(e=>{let t=iK(Vc),[r,n]=(0,_q.useState)(()=>{var t;let r=e[0];return r?hW(null==(t=r.paragraphStyle)?void 0:t.hanging,0):0});return[r,e=>(n(e),t.executeCommand(Jse.id,{paragraph:{hanging:{v:e}}}))]})(r),[m,f]=(e=>{let t=iK(Vc),[r,n]=(0,_q.useState)(()=>{var t;let r=e[0];return r?hW(null==(t=r.paragraphStyle)?void 0:t.spaceAbove,0):0});return[r,e=>(n(e),t.executeCommand(Jse.id,{paragraph:{spaceAbove:{v:e}}}))]})(r),[g,p]=(e=>{let t=iK(Vc),[r,n]=(0,_q.useState)(()=>{var t;let r=e[0];return r?hW(null==(t=r.paragraphStyle)?void 0:t.spaceBelow,0):0});return[r,e=>(n(e),t.executeCommand(Jse.id,{paragraph:{spaceBelow:{v:e}}}))]})(r),{lineSpacing:[v,b],spacingRule:[C,y]}=(e=>{let t=iK(Vc),r=iK(kX),n=iK(dg),i=(0,_q.useMemo)(()=>{var e;let t=n.getCurrentUnitForType(Pi.UNIVER_DOC);if(t)return null==(e=r.getRenderById(null==t?void 0:t.getUnitId()))?void 0:e.with(YX).getSkeleton()},[]),a=(0,_q.useMemo)(()=>new Qn({}),[]),[o,s]=(0,_q.useState)(()=>{var t,r;let n=e[0];return n?null==(t=null==(r=n.paragraphStyle)?void 0:r.lineSpacing)?1:t:1}),l=(0,_q.useRef)(o),[u,c]=(0,_q.useState)(()=>{var t,r;let n=e[0];return n?null==(t=null==(r=n.paragraphStyle)?void 0:r.spacingRule)?tc.AUTO:t:tc.AUTO}),d=async e=>{s(e),a.next({lineSpacing:e,spacingRule:u})};return(0,_q.useEffect)(()=>{let e=a.pipe(Un(e=>!!Object.keys(e).length),une(16),Un(e=>!!e.length),Yn(e=>e.reduce((e,t)=>(Object.keys(t).forEach(r=>{e[r]=t[r]}),e),{}))).subscribe(e=>t.executeCommand(Jse.id,{paragraph:{...e}}));return()=>e.unsubscribe()},[]),{lineSpacing:[o,d],spacingRule:[u,async t=>{if(t!==u){let r=l.current;if(t===tc.AT_LEAST){let t=null==i?void 0:i.findNodeByCharIndex(e[0].startIndex),n=null==t?void 0:t.parent,a=null==n?void 0:n.parent;void 0!==(null==a?void 0:a.contentHeight)&&(r=Math.max(a.contentHeight,r))}else r>5&&(r=2);l.current=o,d(r),c(t),a.next({spacingRule:t})}}]}})(r),_=(0,_q.useMemo)(()=>C===tc.AUTO?{min:1,max:5,step:v<2?.5:1}:{min:1,max:100},[C,v]);return(0,$Z.jsxs)("div",{children:[(0,$Z.jsx)("div",{className:"univer-t-4 univer-text-sm univer-font-medium",children:e.t("doc.paragraphSetting.alignment")}),(0,$Z.jsx)("div",{className:x7("univer-mt-4 univer-box-border univer-flex univer-w-full univer-items-center univer-justify-between univer-gap-1 univer-rounded-md univer-p-1",V7),children:t.map(e=>(0,$Z.jsx)(J9,{title:e.label,placement:"bottom",children:(0,$Z.jsx)("span",{className:x7("hover:univer-bg-black/60 univer-flex univer-cursor-pointer univer-items-center univer-justify-center univer-rounded univer-bg-none univer-px-3 univer-py-1",{"univer-bg-blend-color-dodge/90":n===e.value}),onClick:()=>i(e.value),children:e.icon})},e.value))}),(0,$Z.jsx)("div",{className:"univer-t-4 univer-text-sm univer-font-medium",children:e.t("doc.paragraphSetting.indentation")}),(0,$Z.jsxs)("div",{children:[(0,$Z.jsxs)("div",{className:"univer-item-center univer-flex univer-justify-between",children:[(0,$Z.jsxs)("div",{className:"univer-mt-3 univer-text-xs",children:[e.t("doc.paragraphSetting.left"),"(px)"]}),(0,$Z.jsx)(ele,{className:"univer-mt-4",value:a,onChange:e=>o(null==e?0:e)})]}),(0,$Z.jsxs)("div",{className:"univer-item-center univer-flex univer-justify-between",children:[(0,$Z.jsxs)("div",{className:"univer-mt-3 univer-text-xs",children:[e.t("doc.paragraphSetting.right"),"(px)"]}),(0,$Z.jsx)(ele,{className:"univer-mt-4",value:s,onChange:e=>l(null==e?0:e)})]}),(0,$Z.jsxs)("div",{className:"univer-item-center univer-flex univer-justify-between",children:[(0,$Z.jsxs)("div",{className:"univer-mt-3 univer-text-xs",children:[e.t("doc.paragraphSetting.firstLine"),"(px)"]}),(0,$Z.jsx)(ele,{className:"univer-mt-4",value:u,onChange:e=>c(null==e?0:e)})]}),(0,$Z.jsxs)("div",{className:"univer-item-center univer-flex univer-justify-between",children:[(0,$Z.jsxs)("div",{className:"univer-mt-3 univer-text-xs",children:[e.t("doc.paragraphSetting.hanging"),"(px)"]}),(0,$Z.jsx)(ele,{className:"univer-mt-4",value:d,onChange:e=>h(null==e?0:e)})]})]}),(0,$Z.jsx)("div",{className:"univer-t-4 univer-text-sm univer-font-medium",children:e.t("doc.paragraphSetting.spacing")}),(0,$Z.jsxs)("div",{children:[(0,$Z.jsxs)("div",{className:"univer-justify-betweenuniver-item-center univer-flex",children:[(0,$Z.jsxs)("div",{className:"univer-mt-3 univer-text-xs",children:[e.t("doc.paragraphSetting.before"),"(px)"]}),(0,$Z.jsx)(ele,{className:"univer-mt-4",value:m,onChange:e=>f(null==e?0:e)})]}),(0,$Z.jsxs)("div",{className:"univer-item-center univer-flex univer-justify-between",children:[(0,$Z.jsxs)("div",{className:"univer-mt-3 univer-text-xs",children:[e.t("doc.paragraphSetting.after"),"(px)"]}),(0,$Z.jsx)(ele,{className:"univer-mt-4",value:g,onChange:e=>p(null==e?0:e)})]}),(0,$Z.jsxs)("div",{className:"item-center univer-flex univer-justify-between",children:[(0,$Z.jsx)("div",{className:"univer-mt-3 univer-text-xs",children:e.t("doc.paragraphSetting.lineSpace")}),(0,$Z.jsxs)("div",{className:"univer-mt-4 univer-flex univer-w-[162px] univer-flex-col univer-gap-1.5",children:[(0,$Z.jsx)(_5,{value:`${C}`,options:[{label:e.t("doc.paragraphSetting.multiSpace"),value:`${tc.AUTO}`},{label:e.t("doc.paragraphSetting.fixedValue"),value:`${tc.AT_LEAST}`}],onChange:e=>y(Number(e))}),(0,$Z.jsx)(ele,{..._,value:v,onChange:e=>b(null==e?0:e)})]})]})]})]})}function rle(){let e=iK(Vc),t=aK(iK(Cg).currentLocale$),[r,n]=(0,_q.useState)(""),i=(0,_q.useMemo)(()=>Vr(()=>n(cu(4)),300),[]),a=(0,_q.useRef)([]);return(0,_q.useEffect)(()=>{let t=e.onCommandExecuted(e=>{if(HX.id===e.id){let t=e.params.ranges;((e,t)=>t.length===e.length&&e.some(e=>t.some(t=>t.startOffset===e.startOffset&&t.endOffset===e.endOffset)))(t,a.current)||n(cu(4)),a.current=t}KX.id===e.id&&e.params.trigger!==Jse.id&&i()});return()=>t.dispose()},[i]),(0,_q.useEffect)(()=>{n(cu(4))},[t]),(0,_q.useEffect)(()=>()=>i.cancel(),[i]),(0,$Z.jsx)(tle,{},r)}const nle="doc_ui_paragraph-setting-panel";let ile=class extends tu{constructor(e,t,r){super(),this._commandService=e,this._componentManager=t,this._sidebarService=r,bne(this,"_id",void 0),this._init()}_init(){this.disposeWithMe(this._componentManager.register(nle,rle))}openPanel(){let e={header:{title:"doc.slider.paragraphSetting"},id:this._id,children:{label:nle},width:300};this._sidebarService.open(e)}closePanel(){this._sidebarService.close(this._id)}};ile=yne([Cne(0,Vc),Cne(1,Y(W5)),Cne(2,Y(V5))],ile);const ale={id:"sidebar.operation.doc-paragraph-setting-panel",type:Bc.OPERATION,handler:e=>(e.get(ile).openPanel(),!0)},ole=e=>{let t=e.get(GX);return new Tn(e=>{let r=t.textSelection$.subscribe(()=>{t.getDocRanges().some(e=>!1===e.collapsed||e.rangeType===Cd.RECT)?e.next(!1):e.next(!0)});return()=>r.unsubscribe()})};function sle(e,t,r){let n=t.getRectRanges(),i=t.getActiveTextRange();if(n&&n.length&&function(e){if(e.length<2)return!0;let t=e.map(e=>e.tableId);return t.every(e=>e===t[0])}(n)&&null==i)e.next(!1);else{if(i&&(null==n||0===n.length)){var a;let{segmentId:t,startOffset:n,endOffset:o}=i,s=r.getCurrentUniverDocInstance(),l=null==s||null==(a=s.getSelfOrHeaderFooterModel(t).getBody())?void 0:a.tables;if(l&&l.length&&l.some(e=>{let{startIndex:t,endIndex:r}=e;return n>t&&nt&&o{let t=e.get(GX),r=e.get(dg);return new Tn(e=>{let n=t.textSelection$.subscribe(()=>{sle(e,t,r)});return sle(e,t,r),()=>n.unsubscribe()})},ule="doc.menu.table-insert",cle="doc.menu.table-delete",dle={[Q8.FORMAT]:{[Die.id]:{order:0,menuItemFactory:function(e){let t=e.get(Vc);return{id:Die.id,type:lee.BUTTON,icon:"BoldIcon",title:"Set bold",tooltip:"toolbar.bold",activated$:new Tn(r=>{let n=()=>{var t;let n=Sse(e);if(null==n)return void r.next(!1);let i=null==(t=n.ts)?void 0:t.bl;r.next(i===Vu.TRUE)},i=t.onCommandExecuted(e=>{let t=e.id;(t===HX.id||t===iae.id)&&n()});return n(),i.dispose}),disabled$:bse(e),hidden$:X5(e,Pi.UNIVER_DOC)}}},[Bie.id]:{order:1,menuItemFactory:function(e){let t=e.get(Vc);return{id:Bie.id,type:lee.BUTTON,icon:"ItalicIcon",title:"Set italic",tooltip:"toolbar.italic",activated$:new Tn(r=>{let n=()=>{var t;let n=Sse(e);if(null==n)return void r.next(!1);let i=null==(t=n.ts)?void 0:t.it;r.next(i===Vu.TRUE)},i=t.onCommandExecuted(e=>{let t=e.id;(t===HX.id||t===iae.id)&&n()});return n(),i.dispose}),disabled$:bse(e),hidden$:X5(e,Pi.UNIVER_DOC)}}},[Fie.id]:{order:2,menuItemFactory:function(e){let t=e.get(Vc);return{id:Fie.id,type:lee.BUTTON,icon:"UnderlineIcon",title:"Set underline",tooltip:"toolbar.underline",activated$:new Tn(r=>{let n=()=>{var t;let n=Sse(e);if(null==n)return void r.next(!1);let i=null==(t=n.ts)?void 0:t.ul;r.next((null==i?void 0:i.s)===Vu.TRUE)},i=t.onCommandExecuted(e=>{let t=e.id;(t===HX.id||t===iae.id)&&n()});return n(),i.dispose}),disabled$:bse(e),hidden$:X5(e,Pi.UNIVER_DOC)}}},[Hie.id]:{order:3,menuItemFactory:function(e){let t=e.get(Vc);return{id:Hie.id,type:lee.BUTTON,icon:"StrikethroughIcon",title:"Set strike through",tooltip:"toolbar.strikethrough",activated$:new Tn(r=>{let n=()=>{var t;let n=Sse(e);if(null==n)return void r.next(!1);let i=null==(t=n.ts)?void 0:t.st;r.next((null==i?void 0:i.s)===Vu.TRUE)},i=t.onCommandExecuted(e=>{let t=e.id;(t===HX.id||t===iae.id)&&n()});return n(),i.dispose}),disabled$:bse(e),hidden$:X5(e,Pi.UNIVER_DOC)}}},[zie.id]:{order:4,menuItemFactory:function(e){let t=e.get(Vc);return{id:zie.id,type:lee.BUTTON,icon:"SubscriptIcon",tooltip:"toolbar.subscript",activated$:new Tn(r=>{let n=()=>{var t;let n=Sse(e);if(null==n)return void r.next(!1);let i=null==(t=n.ts)?void 0:t.va;r.next(i===Bu.SUBSCRIPT)},i=t.onCommandExecuted(e=>{let t=e.id;(t===HX.id||t===iae.id)&&n()});return n(),i.dispose}),disabled$:bse(e),hidden$:X5(e,Pi.UNIVER_DOC)}}},[qie.id]:{order:5,menuItemFactory:function(e){let t=e.get(Vc);return{id:qie.id,type:lee.BUTTON,icon:"SuperscriptIcon",tooltip:"toolbar.superscript",activated$:new Tn(r=>{let n=()=>{var t;let n=Sse(e);if(null==n)return void r.next(!1);let i=null==(t=n.ts)?void 0:t.va;r.next(i===Bu.SUPERSCRIPT)},i=t.onCommandExecuted(e=>{let t=e.id;(t===HX.id||t===iae.id)&&n()});return n(),i.dispose}),disabled$:bse(e),hidden$:X5(e,Pi.UNIVER_DOC)}}},[kae.id]:{order:5.5,menuItemFactory:function(e){let t=e.get(Vc);return{id:kae.id,type:lee.SELECTOR,tooltip:"toolbar.heading.tooltip",label:{name:Y5,props:{selections:p8}},selections:p8.map(e=>({label:{name:K5,props:{value:e.value,text:e.label}},value:e.value})),value$:new Tn(r=>{let n=ec.NORMAL_TEXT,i=()=>{var t,i;let a=Ase(e);if(null==a)return void r.next(n);let o=null==(t=null==(i=a.paragraphStyle)?void 0:i.namedStyleType)?n:t;r.next(o)},a=t.onCommandExecuted(e=>{let t=e.id;(t===HX.id||t===Yie.id)&&i()});return i(),a.dispose}),disabled$:bse(e),hidden$:X5(e,Pi.UNIVER_DOC)}}},[Yie.id]:{order:6,menuItemFactory:function(e){let t=e.get(Vc);return{id:Yie.id,type:lee.SELECTOR,tooltip:"toolbar.fontSize",label:{name:v8,props:{min:1,max:400}},selections:g8,value$:new Tn(r=>{let n=vh.fs,i=()=>{var t;let i=Sse(e);if(null==i)return void r.next(n);let a=null==(t=i.ts)?void 0:t.fs;r.next(null==a?n:a)},a=t.onCommandExecuted(e=>{let t=e.id;(t===HX.id||t===Yie.id)&&i()});return i(),a.dispose}),disabled$:bse(e),hidden$:X5(e,Pi.UNIVER_DOC)}}},[Zie.id]:{order:7,menuItemFactory:function(e){let t=e.get(Vc);return{id:Zie.id,tooltip:"toolbar.font",type:lee.SELECTOR,label:h8,selections:[{label:{name:m8,hoverable:!1,selectable:!1,props:{id:Zie.id}}}],value$:new Tn(r=>{let n=vh.ff,i=()=>{var t;let i=Sse(e);if(null==i)return void r.next(n);let a=null==(t=i.ts)?void 0:t.ff;r.next(null==a?n:a)},a=t.onCommandExecuted(e=>{let t=e.id;(t===HX.id||t===Zie.id)&&i()});return i(),a.dispose}),disabled$:bse(e),hidden$:X5(e,Pi.UNIVER_DOC)}}},[$ie.id]:{order:8,menuItemFactory:function(e){let t=e.get(Vc),r=e.get(Lg);return{id:$ie.id,icon:"FontColorDoubleIcon",tooltip:"toolbar.textColor.main",type:lee.BUTTON_SELECTOR,selections:[{label:{name:r8,hoverable:!1,selectable:!1},value$:new Tn(r=>{let n=vh.cl.rgb,i=()=>{var t;let i=Sse(e);if(!i)return void r.next(n);let a=null==(t=i.ts)||null==(t=t.cl)?void 0:t.rgb;r.next(null==a?n:a)},a=t.onCommandExecuted(e=>{e.id===$ie.id&&i()});return i(),a.dispose})}],value$:new Tn(e=>{let n=r.getColorFromTheme("gray.900"),i=t.onCommandExecuted(t=>{if(t.id===$ie.id){let r=t.params.value;e.next(null==r?n:r)}});return e.next(n),i.dispose}),disabled$:bse(e),hidden$:X5(e,Pi.UNIVER_DOC)}}},[eae.id]:{order:9,menuItemFactory:function(e){let t=e.get(Vc),r=e.get(Lg);return{id:eae.id,tooltip:"toolbar.fillColor.main",type:lee.BUTTON_SELECTOR,icon:"PaintBucketDoubleIcon",selections:[{label:{name:r8,hoverable:!1,selectable:!1},value$:new Tn(r=>{let n=vh.bg.rgb,i=()=>{var t;let i=Sse(e);if(!i)return void r.next(n);let a=null==(t=i.ts)||null==(t=t.bg)?void 0:t.rgb;r.next(null==a?n:a)},a=t.onCommandExecuted(e=>{e.id===eae.id&&i()});return i(),a.dispose})}],value$:new Tn(e=>{let n=r.getColorFromTheme("primary.600"),i=t.onCommandExecuted(t=>{if(t.id===eae.id){let r=t.params.value;e.next(null==r?n:r)}});return e.next(n),i.dispose}),disabled$:bse(e),hidden$:X5(e,Pi.UNIVER_DOC)}},[rae.id]:{order:0,menuItemFactory:function(e){return{id:rae.id,type:lee.BUTTON,title:"toolbar.resetColor",icon:"NoColorDoubleIcon"}}}}},[Q8.LAYOUT]:{[xae.id]:{order:2,menuItemFactory:function(e){let t=e.get(Vc);return{id:xae.id,type:lee.BUTTON,icon:"LeftJustifyingIcon",tooltip:"toolbar.alignLeft",disabled$:bse(e),activated$:new Tn(r=>{let n=t.onCommandExecuted(t=>{let n=t.id;if(n===HX.id||n===Rae.id){var i;let t=Ase(e);if(null==t)return;let n=null==(i=t.paragraphStyle)?void 0:i.horizontalAlign;r.next(n===Lu.LEFT)}});return r.next(!1),n.dispose}),hidden$:X5(e,Pi.UNIVER_DOC,void 0,Al)}}},[Tae.id]:{order:3,menuItemFactory:function(e){let t=e.get(Vc);return{id:Tae.id,type:lee.BUTTON,icon:"HorizontallyIcon",tooltip:"toolbar.alignCenter",activated$:new Tn(r=>{let n=t.onCommandExecuted(t=>{let n=t.id;if(n===HX.id||n===Rae.id){var i;let t=Ase(e);if(null==t)return;let n=null==(i=t.paragraphStyle)?void 0:i.horizontalAlign;r.next(n===Lu.CENTER)}});return r.next(!1),n.dispose}),disabled$:bse(e),hidden$:X5(e,Pi.UNIVER_DOC,void 0,Al)}}},[Nae.id]:{order:4,menuItemFactory:function(e){let t=e.get(Vc);return{id:Nae.id,type:lee.BUTTON,icon:"RightJustifyingIcon",tooltip:"toolbar.alignRight",activated$:new Tn(r=>{let n=t.onCommandExecuted(t=>{let n=t.id;if(n===HX.id||n===Rae.id){var i;let t=Ase(e);if(null==t)return;let n=null==(i=t.paragraphStyle)?void 0:i.horizontalAlign;r.next(n===Lu.RIGHT)}});return r.next(!1),n.dispose}),disabled$:bse(e),hidden$:X5(e,Pi.UNIVER_DOC,void 0,Al)}}},[Mae.id]:{order:5,menuItemFactory:function(e){let t=e.get(Vc);return{id:Mae.id,type:lee.BUTTON,icon:"AlignTextBothIcon",tooltip:"toolbar.alignJustify",activated$:new Tn(r=>{let n=t.onCommandExecuted(t=>{let n=t.id;if(n===HX.id||n===Rae.id){var i;let t=Ase(e);if(null==t)return;let n=null==(i=t.paragraphStyle)?void 0:i.horizontalAlign;r.next(n===Lu.JUSTIFIED)}});return r.next(!1),n.dispose}),disabled$:bse(e),hidden$:X5(e,Pi.UNIVER_DOC,void 0,Al)}}},[Tie.id]:{order:6,menuItemFactory:function(e){return{id:Tie.id,type:lee.BUTTON,icon:"ReduceIcon",tooltip:"toolbar.horizontalLine",disabled$:bse(e),hidden$:X5(e,Pi.UNIVER_DOC,void 0,Al)}}},[_ae.id]:{order:7,menuItemFactory:_se},[bae.id]:{order:8,menuItemFactory:wse},[Cae.id]:{order:9,menuItemFactory:Ese},[ese.id]:{order:10,menuItemFactory:function(e){return{id:ese.id,type:lee.BUTTON,icon:"HeaderFooterIcon",tooltip:"toolbar.headerFooter",hidden$:Oi(X5(e,Pi.UNIVER_DOC,void 0,Al),pse(e),(e,t)=>e||t)}}},[boe.id]:{order:11,menuItemFactory:function(e){let t=e.get(Vc),r=e.get(dg);return{id:boe.id,type:lee.BUTTON,icon:"KeyboardIcon",tooltip:"toolbar.documentFlavor",hidden$:X5(e,Pi.UNIVER_DOC,void 0,Al),activated$:new Tn(e=>{var n;let i=t.onCommandExecuted(t=>{if(t.id===KX.id){var n;let t=r.getCurrentUnitForType(Pi.UNIVER_DOC);e.next((null==t||null==(n=t.getSnapshot())?void 0:n.documentStyle.documentFlavor)===Yu.MODERN)}}),a=r.getCurrentUnitForType(Pi.UNIVER_DOC);return e.next((null==a||null==(n=a.getSnapshot())?void 0:n.documentStyle.documentFlavor)===Yu.MODERN),()=>i.dispose()})}}},[fse.id]:{order:12,menuItemFactory:function(e){return{id:fse.id,type:lee.BUTTON,icon:"DocumentSettingIcon",tooltip:"toolbar.pageSetup",hidden$:X5(e,Pi.UNIVER_DOC)}}}},[Z8.MEDIA]:{[Cse]:{order:2,menuItemFactory:function(e){return{id:Cse,type:lee.SUBITEMS,icon:"GridIcon",tooltip:"toolbar.table.main",disabled$:vse(e),hidden$:Oi(X5(e,Pi.UNIVER_DOC,void 0,Al),gse(e),(e,t)=>e||t)}},[koe.id]:{order:0,menuItemFactory:function(e){return{id:koe.id,title:"toolbar.table.insert",type:lee.BUTTON,hidden$:X5(e,Pi.UNIVER_DOC)}}}}},[tee.MAIN_AREA]:{[ree.QUICK]:{quickLayout:"tile",[Sie.name]:{order:0,menuItemFactory:e=>({id:Sie.name,commandId:Sie.id,type:lee.BUTTON,icon:"CopyDoubleIcon",title:"rightClick.copy",disabled$:ole(e),hidden$:X5(e,Pi.UNIVER_DOC)})},[Iie.id]:{order:1,menuItemFactory:e=>({id:Iie.id,type:lee.BUTTON,icon:"CopyDoubleIcon",title:"rightClick.cut",disabled$:ole(e),hidden$:X5(e,Pi.UNIVER_DOC)})},[xie.id]:{order:2,menuItemFactory:e=>({id:xie.id,type:lee.BUTTON,icon:"PasteSpecialDoubleIcon",title:"rightClick.paste",hidden$:X5(e,Pi.UNIVER_DOC)})}},[ree.FORMAT]:{[rie.id]:{order:0,menuItemFactory:e=>({id:rie.id,type:lee.BUTTON,icon:"PasteSpecialDoubleIcon",title:"rightClick.delete",disabled$:ole(e),hidden$:X5(e,Pi.UNIVER_DOC)})}},[ree.LAYOUT]:{[ale.id]:{order:0,menuItemFactory:e=>({id:ale.id,type:lee.BUTTON,icon:"MenuIcon",title:"doc.menu.paragraphSetting",hidden$:X5(e,Pi.UNIVER_DOC)})},[ule]:{order:1,menuItemFactory:function(e){return{id:ule,type:lee.SUBITEMS,title:"table.insert",icon:"InsertDoubleIcon",hidden$:Oi(X5(e,Pi.UNIVER_DOC),lle(e),(e,t)=>e||t)}},[Aoe.id]:{order:1,menuItemFactory:function(e){return{id:Aoe.id,type:lee.BUTTON,title:"table.insertRowAbove",icon:"InsertRowAboveDoubleIcon",disabled$:lle(e),hidden$:X5(e,Pi.UNIVER_DOC)}}},[Ioe.id]:{order:2,menuItemFactory:function(e){return{id:Ioe.id,type:lee.BUTTON,title:"table.insertRowBelow",icon:"InsertRowBelowDoubleIcon",disabled$:lle(e),hidden$:X5(e,Pi.UNIVER_DOC)}}},[Roe.id]:{order:3,menuItemFactory:function(e){return{id:Roe.id,type:lee.BUTTON,title:"table.insertColumnLeft",icon:"LeftInsertColumnDoubleIcon",disabled$:lle(e),hidden$:X5(e,Pi.UNIVER_DOC)}}},[xoe.id]:{order:4,menuItemFactory:function(e){return{id:xoe.id,type:lee.BUTTON,title:"table.insertColumnRight",icon:"RightInsertColumnDoubleIcon",disabled$:lle(e),hidden$:X5(e,Pi.UNIVER_DOC)}}}},[cle]:{order:2,menuItemFactory:function(e){return{id:cle,type:lee.SUBITEMS,title:"table.delete",icon:"ReduceDoubleIcon",hidden$:Oi(X5(e,Pi.UNIVER_DOC),lle(e),(e,t)=>e||t)}},[yoe.id]:{order:1,menuItemFactory:function(e){return{id:yoe.id,type:lee.BUTTON,title:"table.deleteRows",icon:"DeleteRowDoubleIcon",disabled$:lle(e),hidden$:X5(e,Pi.UNIVER_DOC)}}},[_oe.id]:{order:2,menuItemFactory:function(e){return{id:_oe.id,type:lee.BUTTON,title:"table.deleteColumns",icon:"DeleteColumnDoubleIcon",disabled$:lle(e),hidden$:X5(e,Pi.UNIVER_DOC)}}},[woe.id]:{order:3,menuItemFactory:function(e){return{id:woe.id,type:lee.BUTTON,title:"table.deleteTable",icon:"GridIcon",disabled$:lle(e),hidden$:X5(e,Pi.UNIVER_DOC)}}}}}},[tee.PARAGRAPH]:{[ree.QUICK]:{[Uae.id]:{order:0,menuItemFactory:Tse},[Bae.id]:{order:1,menuItemFactory:Nse},[Vae.id]:{order:2,menuItemFactory:Mse},[Fae.id]:{order:3,menuItemFactory:Ose},[jae.id]:{order:4,menuItemFactory:Lse},[Hae.id]:{order:5,menuItemFactory:kse},[_ae.id]:{order:6,menuItemFactory:_se},[bae.id]:{order:7,menuItemFactory:wse},[Cae.id]:{order:8,menuItemFactory:Ese}},[ree.FORMAT]:{[Aie.id]:{order:0,menuItemFactory:e=>({id:Aie.id,type:lee.BUTTON,icon:"CopyDoubleIcon",title:"rightClick.copy"})},[Rie.id]:{order:1,menuItemFactory:e=>({id:Rie.id,type:lee.BUTTON,icon:"CutIcon",title:"rightClick.cut"})},[aie.id]:{order:2,menuItemFactory:e=>({id:aie.id,type:lee.BUTTON,icon:"DeleteIcon",title:"rightClick.delete"})}},[ree.LAYOUT]:{[Pse]:{menuItemFactory:function(e){return{id:Pse,type:lee.SUBITEMS,title:"rightClick.insertBellow"}},[Sae.id]:{order:0,menuItemFactory:e=>({id:Sae.id,type:lee.BUTTON,icon:"UnorderIcon",title:"rightClick.bulletList"})},[Aae.id]:{order:1,menuItemFactory:e=>({id:Aae.id,type:lee.BUTTON,icon:"OrderIcon",title:"rightClick.orderList"})},[Iae.id]:{order:2,menuItemFactory:e=>({id:Iae.id,type:lee.BUTTON,icon:"TodoListDoubleIcon",title:"rightClick.checkList"})},[Nie.id]:{order:3,menuItemFactory:e=>({id:Nie.id,type:lee.BUTTON,icon:"ReduceIcon",title:"toolbar.horizontalLine"})}}}}};function hle(e){return e.getContextValue(_f)&&e.getContextValue(Rf)&&!e.getContextValue(Nf)}const mle={id:wne.id,binding:x8.TAB,preconditions:hle},fle={id:wne.id,binding:x8.TAB|N8.SHIFT,preconditions:hle,staticParameters:{shift:!0}},gle={id:Die.id,binding:x8.B|N8.CTRL_COMMAND,preconditions:hle},ple={id:Bie.id,binding:x8.I|N8.CTRL_COMMAND,preconditions:hle},vle={id:Fie.id,binding:x8.U|N8.CTRL_COMMAND,preconditions:hle},ble={id:Hie.id,binding:x8.X|N8.SHIFT|N8.CTRL_COMMAND,preconditions:hle},Cle={id:zie.id,binding:x8.COMMA|N8.CTRL_COMMAND,preconditions:hle},yle={id:qie.id,binding:x8.PERIOD|N8.CTRL_COMMAND,preconditions:hle},_le={id:xae.id,binding:x8.L|N8.CTRL_COMMAND|N8.SHIFT,preconditions:hle},wle={id:Nae.id,binding:x8.R|N8.CTRL_COMMAND|N8.SHIFT,preconditions:hle},Ele={id:Tae.id,binding:x8.E|N8.CTRL_COMMAND|N8.SHIFT,preconditions:hle},Sle={id:Mae.id,binding:x8.J|N8.CTRL_COMMAND|N8.SHIFT,preconditions:hle},Ale={id:_ae.id,binding:x8.Digit7|N8.CTRL_COMMAND|N8.SHIFT,preconditions:hle},Ile={id:bae.id,binding:x8.Digit8|N8.CTRL_COMMAND|N8.SHIFT,preconditions:hle},Rle="docs-ui.config";Symbol(Rle);const xle={toc:!1,footer:!0},Tle=[50,80,100,130,150,170,200,400],Nle=[10,400];function Mle(){let e=iK(Vc),t=iK(dg),[r,n]=(0,_q.useState)(null),[i,a]=(0,_q.useState)(100),o=(0,_q.useCallback)(()=>{var e,t;if(!r)return 100;let n=100*(null==(e=null==(t=r.getSettings())?void 0:t.zoomRatio)?1:e);return Math.round(n)},[r]);return(0,_q.useEffect)(()=>{let e=t.getCurrentTypeOfUnit$(Pi.UNIVER_DOC).subscribe(e=>{e&&(n(e),a(o()))});return()=>{e.unsubscribe()}},[t,o]),(0,_q.useEffect)(()=>e.onCommandExecuted(e=>{e.id===Oae.id&&a(o())}).dispose,[e,o]),(0,$Z.jsx)(t8,{min:Nle[0],value:i,shortcuts:Tle,onChange:function(t){if(a(t),null==r)return;let n=t/100;e.executeCommand(Oae.id,{unitId:r.getUnitId(),zoomRatio:n})}})}function Ole(e){return(0,$Z.jsx)("section",{className:"univer-flex univer-flex-shrink-0 univer-justify-end",children:(0,$Z.jsx)(Mle,{})})}function Lle(){var e;let t=e8(Rle);return(null==(e=null==t?void 0:t.footer)||e)&&(0,$Z.jsxs)("div",{className:"univer-box-border univer-flex univer-items-center univer-justify-between univer-px-5 univer-py-1.5",children:[(0,$Z.jsx)("div",{}),(0,$Z.jsx)(Ole,{})]})}function kle(){let e=iK(dg);return aK(()=>e.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET),void 0,void 0,[])?null:(0,$Z.jsx)(Lle,{})}const Ple=(0,_q.forwardRef)((e,t)=>{let{menus:r,onClick:n,className:i,style:a,mode:o,maxHeight:s,activeId:l,open:u,onOpenChange:c,maxWidth:d,wrapperClass:h,wrapperStyle:m,iconClass:f,iconStyle:g}=e,p="side-bar"===o,v=(0,_q.useRef)(null),b=(0,_q.useRef)(r);b.current=r;let C=(0,_q.useMemo)(()=>({scrollTo:e=>{var t;if(!b.current||-1===b.current.findIndex(t=>t.id===e)||!v.current)return;let r=document.getElementById(`univer-side-menu-${e}`);if(!r)return;let n=r.offsetTop,i=v.current.clientHeight,a=v.current.scrollHeight-i,o=Math.max(0,Math.min(n-i/2+r.clientHeight/2,a));null==(t=v.current)||t.scrollTo({behavior:"smooth",top:o})}}),[]);return(0,_q.useImperativeHandle)(t,()=>C),(0,_q.useEffect)(()=>{l&&C.scrollTo(l)},[l,C]),(0,$Z.jsxs)("div",{className:x7("univer-relative",h),style:m,children:[(0,$Z.jsx)("div",{onClick:()=>null==c?void 0:c(!u),className:x7("univer-absolute univer-left-5 univer-top-4 univer-z-[100] univer-flex univer-size-8 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-full univer-bg-white univer-text-gray-800 univer-shadow-sm dark:!univer-bg-gray-600 dark:!univer-text-gray-200",f),style:g,children:(0,$Z.jsx)(u?ene:rne,{})}),(0,$Z.jsx)("div",{className:x7(i,"univer-absolute univer-left-0 univer-top-0 univer-box-border univer-flex univer-min-w-[180px] univer-flex-col univer-px-4 univer-pb-4 univer-pt-14 univer-transition-all univer-duration-300",{"univer-rounded-r-2xl univer-bg-white univer-shadow univer-backdrop-blur-[10px] dark:!univer-bg-gray-900":p}),style:{...a,transform:u?"translateX(0)":"translateX(-100%)",maxHeight:s,opacity:u?1:0,maxWidth:null==d?"side-bar"===o?320:180:d,paddingRight:"float"===o?void 0:0},children:(0,$Z.jsx)("div",{ref:v,className:x7("univer-flex-1 univer-overflow-y-auto univer-overflow-x-hidden",U7),children:null==r?void 0:r.map(e=>(0,$Z.jsx)("div",{id:`univer-side-menu-${e.id}`,className:x7("univer-font-[500] univer-truncate univer-h-[24px] univer-mb-2 univer-leading-[24px] univer-cursor-pointer univer-pr-1 ",{"univer-text-base univer-font-semibold":e.isTitle,"univer-text-sm univer-font-semibold":1===e.level,"univer-text-sm":e.level>1,"univer-text-gray-500 dark:!univer-text-gray-400":e.id!==l,"univer-text-gray-800 dark:!univer-text-gray-200":e.id===l}),style:{paddingLeft:12*(e.level-1)},onClick:()=>{null==n||n(e)},children:e.text},e.id))})})]})}),Dle="__title";function Ule(){let e=e8(Rle);return null!=e&&e.toc?(0,$Z.jsx)(Ble,{}):null}function Ble(){var e,t,r,n,i,a,o,s,l;let u=iK(Vc),c=iK(dg),d=aK((0,_q.useMemo)(()=>c.getCurrentTypeOfUnit$(Pi.UNIVER_DOC),[])),h=iK(kX),m=null==(e=null==d||null==(t=d.getBody())?void 0:t.dataStream)?"":e,[f,g]=(0,_q.useState)(0),[p,v]=(0,_q.useState)(void 0),b=null==(r=null==d?void 0:d.getUnitId())?"":r,C=h.getRenderById(b),y=null==d?void 0:d.getTitle(),_=null==C?void 0:C.with(zse),w=null==_?void 0:_.paragraphBounds,E=null==(n=null==C||null==(i=C.mainComponent)?void 0:i.left)?0:n,S=null==(a=null==C?void 0:C.engine.height)?0:a,A=null==(o=null==C?void 0:C.scene.scaleY)?1:o,I=null==(s=null==d||null==(l=d.getBody())?void 0:l.paragraphs)?[]:s,R=(0,_q.useMemo)(()=>{let e=new Map;return I.forEach(t=>{e.set(t.startIndex,t)}),e},[I]);aK((0,_q.useMemo)(()=>null!=C&&C.engine.onTransformChange$?df(null==C?void 0:C.engine.onTransformChange$).pipe(pq(33)):Ai(null),[null==C?void 0:C.engine.onTransformChange$]));let x=E<180?"float":"side-bar",T=1/0,N=null==I?void 0:I.filter(e=>{var t;return void 0!==(null==(t=e.paragraphStyle)?void 0:t.namedStyleType)&&e.paragraphStyle.namedStyleType!==ec.SUBTITLE&&e.paragraphStyle.namedStyleType!==ec.NORMAL_TEXT}).map(e=>{var t;let r=(e=>{switch(e){case ec.HEADING_1:return 1;case ec.HEADING_2:return 2;case ec.HEADING_3:return 3;case ec.HEADING_4:return 4;case ec.HEADING_5:return 5;case ec.TITLE:default:return 1}})(e.paragraphStyle.namedStyleType);T=Math.min(T,r);let n=null==w?void 0:w.get(e.startIndex);if(!n)return null;let{paragraphStart:i,paragraphEnd:a}=n;return{id:e.paragraphStyle.headingId,text:Fm(m.slice(i,a)),level:r,isTitle:(null==(t=e.paragraphStyle)?void 0:t.namedStyleType)===ec.TITLE}}).filter(e=>null==e?void 0:e.text),M=$5(e=>{let t=e.viewportScrollY,r=function(e,t,r,n){if(!e)return;let i=Array.from(e.values()),a=i.findIndex(e=>e.paragraphStart!==e.paragraphEnd&&e.rect.topr);if(-1===a)return;let o=null==i?void 0:i.findLastIndex(e=>e.paragraphStart!==e.paragraphEnd&&e.rect.topr);for(let e=a;e<=o;e++){var s;let r=i[e],n=t.get(r.startIndex);if(null!=n&&null!=(s=n.paragraphStyle)&&s.headingId)return n.paragraphStyle.headingId}for(let e=a;e>=0;e--){var l;let r=i[e],n=t.get(r.startIndex);if(null!=n&&null!=(l=n.paragraphStyle)&&l.headingId)return n.paragraphStyle.headingId}}(w,R,t,t+S/A);r&&v(r)}),O=null!=N&&N.find(e=>e.isTitle)?N:[...y?[{id:Dle,text:y,level:1,isTitle:!0}]:[],...null==N?[]:N].filter(Boolean),[L,k]=(0,_q.useState)(!0);(0,_q.useEffect)(()=>{let e=Vr(g,100),t=u.onCommandExecuted(t=>{t.id===KX.id&&t.params.unitId===(null==d?void 0:d.getUnitId())&&e(e=>e+1)});return()=>{t.dispose()}},[u,d]),(0,_q.useEffect)(()=>{let e=null==C?void 0:C.scene.getViewport(dne.VIEW_MAIN);if(!e)return;let t=df(e.onScrollAfter$).pipe(pq(33)).subscribe(M);return()=>{t.unsubscribe()}},[C]);let P=$5(e=>{let t=null==C?void 0:C.scene.getViewport(dne.VIEW_MAIN);if(!t)return;if(e.id===Dle)return void t.scrollToViewportPos({viewportScrollY:0});let r=I.find(t=>{var r;return(null==(r=t.paragraphStyle)?void 0:r.headingId)===e.id});if(!r)return;let n=null==w?void 0:w.get(r.startIndex);n&&(t.scrollToViewportPos({viewportScrollY:n.rect.top}),v(e.id))});return d&&!Nl(b)&&null!=O&&O.length?(0,$Z.jsx)("div",{className:"univer-absolute univer-bottom-0 univer-left-0 univer-top-0 univer-z-[100] univer-w-[0px]",children:(0,$Z.jsx)(Ple,{menus:O,open:L,onOpenChange:k,mode:x,maxWidth:"float"===x?void 0:Math.floor(E)-10,wrapperClass:"univer-mt-12",activeId:p,onClick:P,maxHeight:S-48})}):null}let Vle=class extends tu{constructor(e,t,r,n,i,a,o,s,l){super(),this._injector=e,this._componentManager=t,this._commandService=r,this._layoutService=n,this._menuManagerService=i,this._uiPartsService=a,this._univerInstanceService=o,this._shortcutService=s,this._configService=l,this._init()}_initCustomComponents(){[[use,sse],[lse,ase],["TodoListDoubleIcon",ine],["doc.paragraph.menu",$se],["DeleteIcon",one],[hse,dse],["DocumentSettingIcon",lne]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}_initUiParts(){this.disposeWithMe(this._uiPartsService.registerComponent(dee.FOOTER,()=>tK(kle,this._injector))),this.disposeWithMe(this._uiPartsService.registerComponent(dee.CONTENT,()=>tK(Ule,this._injector)))}_initMenus(){this._menuManagerService.mergeMenu(dle)}_initShortCut(){[gle,ple,vle,ble,Cle,yle,Ele,Sle,wle,_le,Ale,Ile,mle].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}_init(){this._initCustomComponents(),this._initMenus(),this._initFocusHandler(),this._initCommands(),this._initUiParts(),this._initShortCut()}_initCommands(){[Joe,ese,Zoe].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e)))}_initFocusHandler(){this.disposeWithMe(this._layoutService.registerFocusHandler(Pi.UNIVER_DOC,e=>{this._injector.get(kX).getRenderById(e).with(voe).focus()}))}};Vle=yne([Cne(0,Y(he)),Cne(1,Y(W5)),Cne(2,Vc),Cne(3,O8),Cne(4,nee),Cne(5,hee),Cne(6,dg),Cne(7,U8),Cne(8,Tc)],Vle);let Fle=class extends ru{constructor(e,t,r,n){super(),this._context=e,this._textSelectionManagerService=t,this._editorService=r,this._docSkeletonManagerService=n,this._init()}_init(){this._textSelectionManagerService.textSelection$.pipe(jX(this.dispose$)).subscribe(e=>{if(null==e)return;let{isEditing:t,unitId:r}=e;r!==this._context.unitId||!t||this._context.unitId!==El&&this._scrollToSelection()})}scrollToRange(e){let t=this._docSkeletonManagerService.getSkeleton();if(!t)return;let{startOffset:r}=e,n=t.findNodePositionByCharIndex(r);n&&this.scrollToNode(n)}scrollToNode(e){var t;let{unitId:r,scene:n,mainComponent:i}=this._context,a=this._docSkeletonManagerService.getSkeleton();if(null==i||null==a)return;let o=i.getOffsetConfig(),{docsLeft:s,docsTop:l}=o,{contentBoxPointGroup:u}=new $ae(o,a).getRangePointData(e,e),{left:c,top:d,height:h}=aoe(u),m=c+s,f=d+l,g=n.getViewport(dne.VIEW_MAIN),p=this._editorService.getEditor(r);if(null==g)return;let{left:v,top:b,right:C,bottom:y}=g.getBounding().viewBound,_=0,w=0,E=p?null==(t=p.params.backScrollOffset)?0:t:100;fy-h&&(_=f-y+h+E),mC-1.5&&(w=m-C+1.5);let S=g.transViewportScroll2ScrollValue(w,_);g.scrollByBarDeltaValue(S)}_scrollToSelection(){let e=this._textSelectionManagerService.getActiveTextRange();if(null==e)return;let{collapsed:t,startNodePosition:r}=e;t&&this.scrollToNode(r)}};Fle=yne([Cne(1,Y(GX)),Cne(2,joe),Cne(3,Y(YX))],Fle);let jle=class extends ru{constructor(e,t,r,n,i,a,o){super(),this._context=e,this._commandService=t,this._docSelectionRenderService=r,this._docSkeletonManagerService=n,this._editorService=i,this._renderManagerService=a,this._univerInstanceService=o,this._addNewRender(),this._initRenderRefresh(),this._initCommandListener()}reRender(e){var t;let r=null==(t=this._renderManagerService.getRenderById(e))?void 0:t.with(YX),n=null==r?void 0:r.getSkeleton();if(!n||n.getViewModel().getDataModel().getSnapshot().disabled)return;n.calculate();let i=this._editorService.getEditor(e);var a;!this._editorService.isEditor(e)||null!=i&&i.params.scrollBar?this._recalculateSizeBySkeleton(n):null==(a=this._context.mainComponent)||a.makeDirty()}_addNewRender(){let{scene:e,engine:t}=this._context,r=new FX(dne.VIEW_MAIN,e,{left:0,top:0,bottom:0,right:0,isWheelPreventDefaultX:!0});e.attachControl(),e.onMouseWheel$.subscribeEvent((t,n)=>{let i=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_DOC);if((null==i?void 0:i.getUnitId())!==this._context.unitId)return;let a=t;if(a.ctrlKey){let t=Math.abs(a.deltaX),r=t<40?.2:t<80?.4:.2;r*=a.deltaY>0?-1:1,e.scaleX<1&&(r/=2),e.scaleX+r>4?e.scale(4,4):e.scaleX+r<.1?e.scale(.1,.1):a.preventDefault()}else r.onMouseWheel(a,n)}),new lX(r),e.addLayer(new hX(e,[],2),new hX(e,[],4)),this._addComponent();let n=()=>e.render();this.disposeWithMe(this._context.activated$.subscribe(e=>{e?t.runRenderLoop(n):t.stopRenderLoop(n)})),this._docSelectionRenderService.__attachScrollEvent()}_addComponent(){let{scene:e,unit:t,components:r}=this._context,n={pageMarginLeft:20,pageMarginTop:20},i=new cX(cne.MAIN,void 0,n);i.zIndex=10;let a=new mX(cne.BACKGROUND,void 0,n);a.zIndex=10,this._context.mainComponent=i,r.set(cne.MAIN,i),r.set(cne.BACKGROUND,a),e.addObjects([i],2),e.addObjects([a],0),null==this._editorService.getEditor(t.getUnitId())&&e.enableLayerCache(2)}_initRenderRefresh(){this._docSkeletonManagerService.currentSkeletonBefore$.pipe(jX(this.dispose$)).subscribe(e=>{this._create(e)})}_create(e){if(!e)return;let{mainComponent:t,components:r}=this._context,n=t,i=r.get(cne.BACKGROUND);n.changeSkeleton(e),i.changeSkeleton(e);let{unitId:a}=this._context,o=this._editorService.getEditor(a);var s;!this._editorService.isEditor(a)||null!=o&&o.params.scrollBar?this._recalculateSizeBySkeleton(e):null==(s=this._context.mainComponent)||s.makeDirty()}_initCommandListener(){let e=[KX.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(e.includes(t.id)){let{unitId:e}=t.params;this.reRender(e)}}))}_recalculateSizeBySkeleton(e){var t;let{mainComponent:r,scene:n,unitId:i,components:a}=this._context,o=r,s=a.get(cne.BACKGROUND),l=null==(t=e.getSkeletonData())?void 0:t.pages;if(null==l)return;let u=0,c=0,d=this._context.unit.getSnapshot().documentStyle.documentFlavor;for(let e=0,t=l.length;e{let{selection:t,paragraphs:r,unit:n}=e;if(1===r.length&&t.startOffset===r[0].paragraphStart&&r[0].bullet){var i;let e=null==(i=n.getBody())?void 0:i.paragraphs,t=null==e?void 0:e.filter(e=>{var t;return(null==(t=e.bullet)?void 0:t.listId)===r[0].bullet.listId});return 0!==(null==t?void 0:t.findIndex(e=>e.startIndex===r[0].startIndex))}return!!(r.length>1&&r.some(e=>e.bullet))},getMutations(e){let t=e.commandParams;return[{id:vae.id,params:{type:null!=t&&t.shift?pae.decrease:pae.increase}}]},priority:100})),this.disposeWithMe(this._docAutoFormatService.registerAutoFormat({id:wne.id,match:e=>{let{selection:t,unit:r}=e,{startNodePosition:n,endNodePosition:i}=t,a=this._renderManagerService.getRenderById(r.getUnitId()),o=null==a?void 0:a.with(YX).getSkeleton();return null!=o&&!!(n&&i&&eoe(o,n,i)||n&&!i&&n.path.indexOf("cells")>-1)},getMutations(e){let t=e.commandParams;return[{id:Moe.id,params:{shift:!(null==t||!t.shift)}}]},priority:99}))}_initSpaceAutoFormat(){this.disposeWithMe(this._docAutoFormatService.registerAutoFormat({id:Ene.id,match:e=>{var t;let{selection:r,paragraphs:n,unit:i}=e;if(!r.collapsed||1!==n.length||!r.collapsed)return!1;let a=null==(t=i.getBody())?void 0:t.dataStream.slice(n[0].paragraphStart,r.startOffset-1);return!(!a||!Object.keys(gm).includes(a)&&!Object.keys(Dae).includes(a))},getMutations(e){var t;let{paragraphs:r,unit:n,selection:i}=e,a=null==(t=n.getBody())?void 0:t.dataStream.slice(r[0].paragraphStart,i.startOffset-1);if(a&&Object.keys(gm).includes(a)){let e=gm[a];return[{id:wae.id,params:{listType:e,paragraph:r[0]}}]}if(a&&Object.keys(Dae).includes(a)){let e=Dae[a];return[{id:Pae.id,params:{value:e}}]}return[]}}))}_initExitListAutoFormat(){this.disposeWithMe(this._docAutoFormatService.registerAutoFormat({id:Sne.id,match:e=>{let{paragraphs:t}=e;return!(1!==t.length||!t[0].bullet||t[0].paragraphStart!==t[0].paragraphEnd)},getMutations:e=>{let t=e.paragraphs[0].bullet;return t?t.nestingLevel>0?[{id:vae.id,params:{type:pae.decrease}}]:[{id:fae.id,params:{listType:e.paragraphs[0].bullet.listType}}]:[]}}))}_initDefaultEnterFormat(){this.disposeWithMe(this._docAutoFormatService.registerAutoFormat({id:Sne.id,match:()=>!0,getMutations:()=>[{id:Nne.id}],priority:-9999}))}};function zle(e){let t=null==e?void 0:e.parent,r=null,n=null;if(null==e||null==t)return{lineBeforeTable:r,lineAfterTable:n};let{st:i,ed:a}=e;return bW(t.type===EF.CELL?[t]:t.parent.pages,e=>{e.st===a+1?n=e:e.ed===i-1&&(r=e)}),{lineBeforeTable:r,lineAfterTable:n}}function Xle(e){return 0===e.sections[0].columns[0].lines.length}function qle(e){let t=e.parent,r=null==t?void 0:t.parent,n=null==r?void 0:r.tableId;if(null==t||null==r)return;let i=t.cells.indexOf(e),a=r.rows[r.rows.indexOf(t)+1];if(null==a&&n.indexOf("#-#")){var o;let[e,t]=n.split("#-#"),i=null==(o=r.parent)||null==(o=o.parent)?void 0:o.pages,s=`${e}#-#${Number.parseInt(t)+1}`;if(i)for(let e of i){let{skeTables:t}=e;if(t.has(s)){let e=t.get(s);if(null!=e&&e.rows.length){a=e.rows.find(e=>!e.isRepeatRow);break}}}}if(null!=a){let e=a.cells[i];return Xle(e)?qle(e):e}}function Gle(e){let t=e.parent,r=null==t?void 0:t.parent;if(null==t||null==r)return;let n=r.rows[r.rows.indexOf(t)-1],i=t.cells.indexOf(e);if((null==n||n.isRepeatRow)&&r.tableId.indexOf("#-#")){var a;let[e,t]=r.tableId.split("#-#"),i=null==(a=r.parent)||null==(a=a.parent)?void 0:a.pages,o=`${e}#-#${Number.parseInt(t)-1}`;if(i)for(let e of i){let{skeTables:t}=e;if(t.has(o)){let e=t.get(o);if(null!=e&&e.rows.length){n=e.rows[e.rows.length-1];break}}}}if(null!=n){let e=n.cells[i];return Xle(e)?Gle(e):e}}Wle=yne([Cne(0,Y(_ne)),Cne(1,kX)],Wle);let Yle=class extends tu{constructor(e,t,r,n){super(),this._univerInstanceService=e,this._renderManagerService=t,this._textSelectionManagerService=r,this._commandService=n,bne(this,"_onInputSubscription",void 0),this._commandExecutedListener()}dispose(){var e;super.dispose(),null==(e=this._onInputSubscription)||e.unsubscribe()}_commandExecutedListener(){let e=[Poe.id,Doe.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(!e.includes(t.id))return;let r=t.params;switch(t.id){case Poe.id:return this._handleMoveCursor(r.direction);case Doe.id:return this._handleShiftMoveSelection(r.direction);default:throw Error("Unknown command")}}))}_handleShiftMoveSelection(e){var t,r;let n=this._textSelectionManagerService.getActiveTextRange(),i=this._textSelectionManagerService.getTextRanges(),a=this._univerInstanceService.getCurrentUniverDocInstance();if(null==a)return;let o=null==(t=this._renderManagerService.getRenderById(a.getUnitId()))?void 0:t.with(YX).getSkeleton(),s=this._getDocObject();if(null==n||null==o||null==s)return;let{startOffset:l,endOffset:u,style:c,collapsed:d,direction:h,segmentId:m,startNodePosition:f,endNodePosition:g,segmentPage:p}=n;if(i.length>1){let t=1/0,r=-1/0;for(let e of i)t=Math.min(t,e.startOffset),r=Math.max(r,e.endOffset);return void this._textSelectionManagerService.replaceTextRanges([{startOffset:e===Eu.LEFT||e===Eu.UP?r:t,endOffset:e===Eu.LEFT||e===Eu.UP?t:r,style:c}],!1)}let v=d||h===bd.FORWARD?l:u,b=d||h===bd.FORWARD?u:l,C=null==(r=a.getSelfOrHeaderFooterModel(m).getBody().dataStream.length)?1/0:r;if(e===Eu.LEFT||e===Eu.RIGHT){var y;let t=o.findNodeByCharIndex(b-1,m,p),r=o.findNodeByCharIndex(b,m,p);b=e===Eu.RIGHT?b+r.count:b-(null==(y=null==t?void 0:t.count)?0:y),b=Math.min(C-2,Math.max(0,b)),this._textSelectionManagerService.replaceTextRanges([{startOffset:v,endOffset:b,style:c}],!1),this._scrollToFocusNodePosition(a.getUnitId(),b)}else{let t=o.findNodeByCharIndex(b,m,p),r=s.document.getOffsetConfig(),n=d?f:h===bd.FORWARD?g:f,i=this._getTopOrBottomPosition(o,t,n,e===Eu.DOWN,!0);if(null==i){let t=e===Eu.UP?0:C-2;if(t===b)return;return void this._textSelectionManagerService.replaceTextRanges([{startOffset:v,endOffset:t,style:c}],!1)}let l=new $ae(r,o).getRangePointData(i,i).cursorList[0];this._textSelectionManagerService.replaceTextRanges([{startOffset:v,endOffset:l.endOffset,style:c}],!1),this._scrollToFocusNodePosition(a.getUnitId(),l.endOffset)}}_handleMoveCursor(e){var t,r,n;let i=this._textSelectionManagerService.getActiveTextRange(),a=this._textSelectionManagerService.getTextRanges(),o=this._univerInstanceService.getCurrentUniverDocInstance();if(null==o)return!1;let s=null==(t=this._renderManagerService.getRenderById(o.getUnitId()))?void 0:t.with(YX).getSkeleton(),l=this._getDocObject();if(null==i||null==s||null==l||null==a)return;let{startOffset:u,endOffset:c,style:d,collapsed:h,segmentId:m,startNodePosition:f,endNodePosition:g,segmentPage:p}=i,v=o.getSelfOrHeaderFooterModel(m).getBody();if(null==v)return;let b=null==(r=v.dataStream.length)?1/0:r,C=null==(n=o.getCustomRanges())?[]:n;if(e===Eu.LEFT||e===Eu.RIGHT){let t;if(!i.collapsed||a.length>1){let r=1/0,n=-1/0;for(let e of a)r=Math.min(r,e.startOffset),n=Math.max(n,e.endOffset);t=e===Eu.LEFT?r:n}else{let r=s.findNodeByCharIndex(u-1,m,p),n=s.findNodeByCharIndex(u,m,p),i=s.findNodeByCharIndex(u+1,m,p);var y;t=e===Eu.LEFT?Math.max(0,u-(null==(y=null==r?void 0:r.count)?1:y)):Math.min(b-2,c+n.count+((null==i?void 0:i.streamType)===Bm.SECTION_BREAK?1:0))}let r=[Bm.TABLE_START,Bm.TABLE_END,Bm.TABLE_ROW_START,Bm.TABLE_ROW_END,Bm.TABLE_CELL_START,Bm.TABLE_CELL_END,Bm.SECTION_BREAK];if(e===Eu.LEFT)for(;r.includes(v.dataStream[t]);)t--;else for(;r.includes(v.dataStream[t]);)t++;C.filter(e=>e.wholeEntity&&e.startIndex=t).forEach(r=>{t=e===Eu.LEFT?Math.min(r.startIndex,t):Math.max(r.endIndex+1,t)}),this._textSelectionManagerService.replaceTextRanges([{startOffset:Math.max(0,t),endOffset:Math.max(0,t),style:d}],!1),this._scrollToFocusNodePosition(o.getUnitId(),t)}else{let t=s.findNodeByCharIndex(u,m,p),r=s.findNodeByCharIndex(c,m,p),n=l.document.getOffsetConfig(),i=this._getTopOrBottomPosition(s,e===Eu.UP||h?t:r,e===Eu.UP||h?f:g,e===Eu.DOWN);if(null==i){let t;return t=h?e===Eu.UP?0:b-2:e===Eu.UP?u:c,void this._textSelectionManagerService.replaceTextRanges([{startOffset:Math.max(0,t),endOffset:Math.max(0,t),style:d}],!1)}let a=new $ae(n,s).getRangePointData(i,i).cursorList[0];this._textSelectionManagerService.replaceTextRanges([{...a,style:d}],!1),this._scrollToFocusNodePosition(o.getUnitId(),a.endOffset)}}_getTopOrBottomPosition(e,t,r,n,i=!1){if(null==t||null==r)return;let a=this._getGlyphLeftOffsetInLine(t),o=this._getNextOrPrevLine(t,n,i);if(null==o)return;let s=this._matchPositionByLeftOffset(e,o,a,r);return null!=s?{...s,isBack:!0}:void 0}_getGlyphLeftOffsetInLine(e){let t=e.parent;if(null==t)return-1/0;let r=t.left,{left:n}=e;return r+n}_matchPositionByLeftOffset(e,t,r,n){let i={distance:1/0};for(let e of t.divides){let t=e.left;for(let n of e.glyphGroup){if(n.streamType===Bm.SECTION_BREAK)continue;let{left:e}=n,a=t+e,o=Math.abs(r-a);o{let r=iK(Cg),[n,i]=(0,_q.useState)(3),[a,o]=(0,_q.useState)(5);function s(t,r){i(t),o(r),e(t,r)}return(0,_q.useEffect)(()=>{i(t.rowCount),o(t.colCount)},[t]),(0,$Z.jsxs)("div",{className:"univer-flex univer-items-center univer-justify-between univer-gap-2",children:[(0,$Z.jsxs)("div",{className:"univer-flex univer-items-center univer-gap-2",children:[(0,$Z.jsx)("span",{children:r.t("toolbar.table.rowCount")}),(0,$Z.jsx)(K9,{className:"univer-w-28",min:1,max:20,precision:0,value:n,onChange:e=>{s(e,a)}})]}),(0,$Z.jsxs)("div",{className:"univer-flex univer-items-center univer-gap-2",children:[(0,$Z.jsx)("span",{children:r.t("toolbar.table.colCount")}),(0,$Z.jsx)(K9,{className:"univer-w-28",min:1,max:20,precision:0,value:a,onChange:e=>{s(n,e)}})]})]})};let Kle=class extends tu{constructor(e,t){super(),this._commandService=e,this._componentManager=t,this._initialize()}_initialize(){this._init(),this._registerCommands(),this._initCustomComponents()}_registerCommands(){[koe].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e)))}_initCustomComponents(){let e=this._componentManager;this.disposeWithMe(e.register(Ooe,Zle))}_init(){}};Kle=yne([Cne(0,Vc),Cne(1,Y(W5))],Kle);let $le=class extends tu{constructor(e,t,r,n,i){super(),this._context=e,this._docSkeletonManagerService=t,this._commandService=r,this._docEventManagerService=n,this._textSelectionManagerService=i,this._initPointerDownObserver(),this._initHoverCursor()}_initPointerDownObserver(){this._docEventManagerService.clickBullets$.subscribe(e=>{let t=this._textSelectionManagerService.getTextRanges();this._commandService.executeCommand(yae.id,{index:e.paragraph.startIndex,segmentId:e.segmentId,textRanges:t})})}_initHoverCursor(){this.disposeWithMe(this._docEventManagerService.hoverBullet$.subscribe(e=>{e?this._context.mainComponent.setCursor(TV.POINTER):this._context.mainComponent.setCursor(TV.TEXT)}))}_getTransformCoordForDocumentOffset(e,t,r,n){let{documentTransform:i}=e.getOffsetConfig(),a=t.transformVector2SceneCoord(TF.FromArray([r,n]));if(a)return i.clone().invert().applyPoint(a)}};$le=yne([Cne(1,Y(YX)),Cne(2,Vc),Cne(3,Y(zse)),Cne(4,Y(GX))],$le);let Jle=class extends ru{constructor(e,t,r,n,i,a){super(),this._context=e,this._commandService=t,this._docClipboardService=r,this._docSelectionRenderService=n,this._contextService=i,this._editorService=a,this._init()}_init(){this._initLegacyPasteCommand()}_initLegacyPasteCommand(){var e;null==(e=this._docSelectionRenderService)||e.onPaste$.pipe(jX(this.dispose$)).subscribe(e=>{var t,r,n,i;if(!Eie(this._contextService))return;e.event.preventDefault();let a=e.event,o=null==(t=a.clipboardData)?void 0:t.getData(Ute),s=null==(r=a.clipboardData)?void 0:r.getData(Dte),l=[...(null==(n=a.clipboardData)?void 0:n.items)||[]].filter(e=>Hte.has(e.type)).map(e=>e.getAsFile()).filter(e=>!!e);this._editorService.getEditor(this._context.unitId)&&(null==(i=o)?"":i).indexOf("")>-1&&(o=""),this._docClipboardService.legacyPaste({html:o,text:s,files:l})})}};Jle=yne([Cne(1,Vc),Cne(2,_ie),Cne(3,Y(voe)),Cne(4,Mc),Cne(5,joe)],Jle);const eue=[Rl,Sl,El,Al];let tue=class extends tu{constructor(e,t,r){super(),this._context=e,this._contextMenuService=t,this._commandService=r,eue.includes(this._context.unitId)||(this._initPointerDown(),this._initEditChange())}_initPointerDown(){var e;let t=(null==(e=this._context)||null==(e=e.mainComponent)?void 0:e.onPointerDown$).subscribeEvent(e=>{2===e.button&&this._contextMenuService.triggerContextMenu(e,tee.MAIN_AREA)});this.disposeWithMe(t)}_initEditChange(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{e.id===KX.id&&this._contextMenuService.visible&&this._contextMenuService.hideContextMenu()}))}};tue=yne([Cne(1,jee),Cne(2,Vc)],tue);let rue=class extends tu{constructor(e,t,r,n,i,a,o){super(),this._context=e,this._univerInstanceService=t,this._editorService=r,this._commandService=n,this._docSelectionRenderService=i,this._docSkeletonManagerService=a,this._renderManagerService=o,bne(this,"_initialEditors",new Set),this._initialize()}_initialize(){this._editorService.getAllEditor().forEach(e=>{let t=e.getEditorId();t===this._context.unitId&&(this._initialEditors.has(t)||(this._initialEditors.add(t),this._resize(t)))}),this._commandExecutedListener(),this._initialBlur(),this._initialFocus()}_resize(e){if(null==e)return;let t=this._editorService.getEditor(e);if(!0===(null==t?void 0:t.cancelDefaultResizeListener))return;let r=this._univerInstanceService.getUniverDocInstance(e);if(!r)return;let n=this._docSkeletonManagerService.getSkeleton();if(null==t||null==t.render||null==n||null==r)return;n.calculate();let{marginTop:i=0,marginBottom:a=0,marginLeft:o=0,marginRight:s=0}=r.getSnapshot().documentStyle,{scene:l,mainComponent:u}=t.render,{actualHeight:c,actualWidth:d}=n.getActualSize();c+=i+a,d+=o+s;let{width:h,height:m}=t.getBoundingClientRect(),f=Math.max(d,h),g=Math.max(c,m);l.transformByState({width:f,height:g}),null==u||u.resize(f,g)}_initialBlur(){this.disposeWithMe(this._editorService.blur$.subscribe(()=>{this._docSelectionRenderService.blur()})),this.disposeWithMe(this._docSelectionRenderService.onBlur$.subscribe(()=>{let{unitId:e}=this._context,t=this._editorService.getEditor(e),r=this._editorService.getFocusEditor();null==t||t.isSheetEditor()||r&&r.getEditorId()===e||e.includes("range_selector")||e.includes("embedding_formula_editor")||this._editorService.blur()}))}_initialFocus(){let e=["univer-formula-search","univer-formula-help","formula-help-decorator","univer-formula-help-param"];this.disposeWithMe(cq(window,"mousedown").subscribe(t=>{(function(e,t){return t.some(t=>e.indexOf(t)>-1)})(t.target.classList[0]||"",e)&&t.stopPropagation()}));let t=new eu;this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET).subscribe(e=>{if(t.dispose(),!e)return;let r=e.getUnitId(),n=this._renderManagerService.getRenderById(r),i=null==n?void 0:n.engine.getCanvas().getCanvasEle();if(null==i)return;let a=cq(i,"mousedown").subscribe(e=>{e.stopPropagation()});t.add(a)})),this.disposeWithMe(()=>t.dispose())}_commandExecutedListener(){let e=[KX.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(e.includes(t.id)){let{unitId:e}=t.params;if(this._editorService.isSheetEditor(e)||e!==this._context.unitId)return;let r=this._editorService.getEditor(e);r&&!r.params.scrollBar&&this._resize(e)}}))}};rue=yne([Cne(1,dg),Cne(2,joe),Cne(3,Vc),Cne(4,Y(voe)),Cne(5,Y(YX)),Cne(6,kX)],rue);let nue=class extends tu{constructor(e,t,r,n,i,a){super(),this._context=e,this._docSelectionRenderService=t,this._docImeInputManagerService=r,this._docSkeletonManagerService=n,this._docStateEmitService=i,this._commandService=a,bne(this,"_previousIMEContent",""),bne(this,"_isCompositionStart",!0),bne(this,"_onStartSubscription",void 0),bne(this,"_onUpdateSubscription",void 0),bne(this,"_onEndSubscription",void 0),this._initialize()}dispose(){var e,t,r;null==(e=this._onStartSubscription)||e.unsubscribe(),null==(t=this._onUpdateSubscription)||t.unsubscribe(),null==(r=this._onEndSubscription)||r.unsubscribe()}_initialize(){this._initialOnCompositionstart(),this._initialOnCompositionUpdate(),this._initialOnCompositionend()}_initialOnCompositionstart(){this._onStartSubscription=this._docSelectionRenderService.onCompositionstart$.subscribe(e=>{if(null==e)return;this._resetIME();let{activeRange:t}=e;null!=t&&this._docImeInputManagerService.setActiveRange(uu.deepClone(t))})}_initialOnCompositionUpdate(){this._onUpdateSubscription=this._docSelectionRenderService.onCompositionupdate$.subscribe(e=>{this._updateContent(e,!0)})}_initialOnCompositionend(){this._onEndSubscription=this._docSelectionRenderService.onCompositionend$.subscribe(e=>{this._updateContent(e,!1)})}async _updateContent(e,t){if(null==e)return;let r=this._context.unitId,n=this._docSkeletonManagerService.getSkeleton(),{event:i,activeRange:a}=e;if(null==n||null==a)return;let o=i.data;if(o!==this._previousIMEContent||!t){if(!t&&o===this._previousIMEContent)return this._finalizeComposition(),void this._resetIME();await this._commandService.executeCommand(Lie.id,{unitId:r,newText:o,oldTextLen:this._previousIMEContent.length,isCompositionStart:this._isCompositionStart,isCompositionEnd:!t}),t?(this._isCompositionStart&&(this._isCompositionStart=!1),this._previousIMEContent=o):this._resetIME()}}_finalizeComposition(){let e=this._docImeInputManagerService.getActiveRange();null!=e&&this._docStateEmitService.emitStateChangeInfo({commandId:KX.id,unitId:this._context.unitId,segmentId:e.segmentId,trigger:Lie.id,redoState:{actions:[],textRanges:[e]},undoState:{actions:[],textRanges:[e]},isCompositionEnd:!0})}_resetIME(){this._previousIMEContent="",this._isCompositionStart=!0,this._docImeInputManagerService.clearUndoRedoMutationParamsCache(),this._docImeInputManagerService.setActiveRange(null)}};nue=yne([Cne(1,Y(voe)),Cne(2,Y(Oie)),Cne(3,Y(YX)),Cne(4,Y(QX)),Cne(5,Vc)],nue);let iue=class extends tu{constructor(e,t,r,n,i){super(),this._context=e,this._docSelectionRenderService=t,this._docSkeletonManagerService=r,this._commandService=n,this._docMenuStyleService=i,bne(this,"_onInputSubscription",void 0),this._init()}dispose(){var e;super.dispose(),null==(e=this._onInputSubscription)||e.unsubscribe()}_init(){this._initialNormalInput()}_initialNormalInput(){this._onInputSubscription=this._docSelectionRenderService.onInput$.subscribe(async e=>{var t,r;if(null==e)return;let{unitId:n}=this._context,{event:i,content:a="",activeRange:o}=e,s=i,l=this._docSkeletonManagerService.getSkeleton();if(null==s.data||null==l||null==o)return;let{segmentId:u}=o,c=this._context.unit.getSelfOrHeaderFooterModel(u).getBody(),d=(this._docMenuStyleService.getDefaultStyle(),this._docMenuStyleService.getStyleCache()),h=fne(null==(t=null==c?void 0:c.customRanges)?[]:t,o.endOffset,Ch.includes(n)),m=mne(c,o.endOffset,0,d,Ch.includes(n)),f=gne(null==(r=null==c?void 0:c.customDecorations)?[]:r,o.endOffset);await this._commandService.executeCommand(Yne.id,{unitId:n,body:{dataStream:a,textRuns:m?[{...m,st:0,ed:a.length}]:[],customRanges:h?[{...h,startIndex:0,endIndex:a.length-1}]:[],customDecorations:f.map(e=>({...e,startIndex:0,endIndex:a.length-1}))},range:o,segmentId:u})," "===a&&await this._commandService.executeCommand(Ene.id)})}};iue=yne([Cne(1,Y(voe)),Cne(2,Y(YX)),Cne(3,Vc),Cne(4,Y(Ine))],iue);var aue=class extends tu{constructor(e){super(),this._context=e}calculatePagePosition(){var e,t;if(this._disposed)return;let r=hne(this._context),n=null==(e=null==(t=this._context.unit.getSettings())?void 0:t.zoomRatio)?1:e,{document:i,scene:a,docBackground:o}=r,s=null==a?void 0:a.getParent(),{width:l,height:u,pageMarginLeft:c,pageMarginTop:d}=i;if(null==s||l===1/0||u===1/0)return;let{width:h,height:m}=s,f=0,g=d,p=0,v=0,b=1/0;h>(l+2*c)*n?(f=h/2-l*n/2,f/=n,p=(h-2*c)/n,b=0):(f=c,p=l+2*c,b=(p-h/n)/2),v=m>u?(m-2*d)/n:u+2*d,a.resize(p,v),h<=1&&(f=-1e4,g=-1e4),i.translate(f,g),o.translate(f,g);let C=a.getViewport(dne.VIEW_MAIN);return b!==1/0&&null!=C&&C.scrollToViewportPos({viewportScrollX:b}),this}};let oue=class extends tu{constructor(e,t,r){super(),this._context=e,this._docPageLayoutService=t,this._textSelectionManagerService=r;let n=this._context.unitId;if(Nl(n)&&n!==Al)return this;this._initResize()}_initResize(){this.disposeWithMe(df(this._context.engine.onTransformChange$).pipe(Un(e=>e.type===zF.resize),pq(0,Cq)).subscribe(()=>{this._disposed||(this._docPageLayoutService.calculatePagePosition(),this._textSelectionManagerService.refreshSelection())}))}};oue=yne([Cne(1,Y(aue)),Cne(2,Y(GX))],oue);let sue=class extends tu{constructor(e,t,r,n,i,a,o){super(),this._context=e,this._commandService=t,this._editorService=r,this._instanceSrv=n,this._docSelectionRenderService=i,this._docSkeletonManagerService=a,this._docSelectionManagerService=o,bne(this,"_loadedMap",new WeakSet),this._initialize()}_initialize(){this._init(),this._skeletonListener(),this._commandExecutedListener(),this._refreshListener(),this._syncSelection()}_init(){let{unitId:e}=this._context,t=hne(this._context);null==t||null==t.document||this._loadedMap.has(t.document)||(this._initialMain(e),this._loadedMap.add(t.document))}_refreshListener(){this.disposeWithMe(this._docSelectionManagerService.refreshSelection$.subscribe(e=>{if(null==e)return;let{unitId:t,docRanges:r,isEditing:n,options:i}=e;t===this._context.unitId&&(this._docSelectionRenderService.removeAllRanges(),this._docSelectionRenderService.addDocRanges(r,n,i))}))}_syncSelection(){this.disposeWithMe(this._docSelectionRenderService.textSelectionInner$.subscribe(e=>{null!=e&&this._docSelectionManagerService.__replaceTextRangesWithNoRefresh(e,{unitId:this._context.unitId,subUnitId:this._context.unitId})}))}_initialMain(e){let{document:t,scene:r}=hne(this._context);this.disposeWithMe(t.onPointerEnter$.subscribeEvent(()=>{this._isEditorReadOnly(e)||(t.cursor=TV.TEXT)})),this.disposeWithMe(t.onPointerLeave$.subscribeEvent(()=>{t.cursor=TV.DEFAULT,r.resetCursor()})),this.disposeWithMe(t.onPointerDown$.subscribeEvent((r,n)=>{if(this._isEditorReadOnly(e))return;let i=this._instanceSrv.getCurrentUnitForType(Pi.UNIVER_DOC);(null==i?void 0:i.getUnitId())!==e&&this._instanceSrv.setCurrentUnitForType(e);let a=this._docSkeletonManagerService.getSkeleton(),{offsetX:o,offsetY:s}=r,l=this._getTransformCoordForDocumentOffset(o,s);if(null!=l){let{pageLayoutType:e=RF.VERTICAL,pageMarginLeft:r,pageMarginTop:n}=t.getOffsetConfig(),{editArea:i}=a.findEditAreaByCoord(l,e,r,n),o=this._docSkeletonManagerService.getViewModel(),s=o.getEditArea();s!==dH.BODY&&i!==dH.BODY&&i!==s&&o.setEditArea(i)}if(this._docSelectionRenderService.__onPointDown(r),this._editorService.getEditor(e)){this._setEditorFocus(e);let{offsetX:t,offsetY:n}=r;setTimeout(()=>{e===this._editorService.getFocusId()||this._docSelectionRenderService.isOnPointerEvent||(this._setEditorFocus(e),this._docSelectionRenderService.setCursorManually(t,n))},0)}2!==r.button&&n.stopPropagation()})),this.disposeWithMe(t.onDblclick$.subscribeEvent(t=>{this._isEditorReadOnly(e)||this._docSelectionRenderService.__handleDblClick(t)})),this.disposeWithMe(t.onTripleClick$.subscribeEvent(t=>{this._isEditorReadOnly(e)||this._docSelectionRenderService.__handleTripleClick(t)}))}_getTransformCoordForDocumentOffset(e,t){let{document:r,scene:n}=hne(this._context),{documentTransform:i}=r.getOffsetConfig(),a=n.getViewports()[0];if(null==a)return;let o=a.transformVector2SceneCoord(TF.FromArray([e,t]));return i.clone().invert().applyPoint(o)}_isEditorReadOnly(e){let t=this._editorService.getEditor(e);return!!t&&t.isReadOnly()}_setEditorFocus(e){this._editorService.focus(e)}_commandExecutedListener(){let e=[Oae.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(e.includes(t.id)){var r;let{unitId:e}=t.params;if(e!==(null==(r=this._docSelectionManagerService.__getCurrentSelection())?void 0:r.unitId))return;this._docSelectionManagerService.refreshSelection()}}))}_skeletonListener(){this.disposeWithMe(this._docSkeletonManagerService.currentSkeleton$.subscribe(e=>{if(!e)return;let{unitId:t}=this._context;if(!Nl(t)){this._docSelectionRenderService.focus();let e=Uoe(this._context.unit.getSnapshot());this._docSelectionManagerService.replaceDocRanges([{startOffset:e,endOffset:e}],{unitId:t,subUnitId:t},!1)}}))}};sue=yne([Cne(1,Vc),Cne(2,joe),Cne(3,dg),Cne(4,Y(voe)),Cne(5,Y(YX)),Cne(6,Y(GX))],sue);let lue=class extends tu{constructor(e,t,r,n,i,a,o,s,l){super(),this._context=e,this._contextService=t,this._docSkeletonManagerService=r,this._univerInstanceService=n,this._commandService=i,this._textSelectionManagerService=a,this._editorService=o,this._docPageLayoutService=s,this._renderManagerService=l,bne(this,"_isSheetEditor",!1),bne(this,"_initTimer",void 0),bne(this,"_updateTimer",void 0),this._initSkeletonListener(),this._initCommandExecutedListener(),this._initRenderRefresher(),this._isSheetEditor=this._context.unitId===El;let u=this._univerInstanceService.getCurrentUnitOfType(Pi.UNIVER_SHEET),c=u&&this._renderManagerService.getRenderById(u.getUnitId());this._initTimer=window.setTimeout(()=>this.updateViewZoom(c&&this._isSheetEditor?c.scene.scaleX:1,!0),20),Nl(this._context.unitId)||this._initZoomEventListener()}dispose(){window.clearTimeout(this._initTimer),window.clearTimeout(this._updateTimer)}_initRenderRefresher(){this._docSkeletonManagerService.currentSkeleton$.subscribe(e=>{if(null==e)return;let{unitId:t,scene:r}=this._context;this._editorService.isEditor(t)||this.disposeWithMe(r.onMouseWheel$.subscribeEvent(e=>{if(!e.ctrlKey||!this._contextService.getContextValue(_f))return;let t=this._univerInstanceService.getCurrentUniverDocInstance();if(!t)return;let{documentFlavor:n}=t.getSnapshot().documentStyle;if(n===Yu.MODERN)return;let i=Math.abs(e.deltaX),a=i<40?.2:i<80?.4:.2;a*=e.deltaY>0?-1:1,r.scaleX<1&&(a/=2);let o=t.zoomRatio,s=+Number.parseFloat(`${o+a}`).toFixed(1);s=s>=4?4:s<=.1?.1:s,this._commandService.executeCommand(Lae.id,{zoomRatio:s,unitId:t.getUnitId()}),e.preventDefault()}))})}_initSkeletonListener(){this.disposeWithMe(this._docSkeletonManagerService.currentSkeleton$.subscribe(e=>{if(null==e)return;let t=this._univerInstanceService.getCurrentUniverDocInstance();t&&(this._updateTimer=window.setTimeout(()=>{let e=this._univerInstanceService.getCurrentUnitOfType(Pi.UNIVER_SHEET),r=e&&this._renderManagerService.getRenderById(e.getUnitId()),n=this._isSheetEditor?(null==r?void 0:r.scene.scaleX)||1:t.zoomRatio;this.updateViewZoom(n,!1)}))}))}_initCommandExecutedListener(){let e=[Oae.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(e.includes(t.id)&&t.params.unitId===this._context.unitId){let e=this._context.unit.zoomRatio||1;this.updateViewZoom(e)}})),this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{e.id===boe.id&&this._commandService.executeCommand(Lae.id,{zoomRatio:1,unitId:this._context.unitId})}))}updateViewZoom(e,t=!0){var r;let n=hne(this._context);n.scene.scale(e,e),this._editorService.isEditor(this._context.unitId)||this._docPageLayoutService.calculatePagePosition(),t&&!this._editorService.isEditor(this._context.unitId)&&this._textSelectionManagerService.refreshSelection(),!Nl(this._context.unitId)&&(null==(r=n.scene.getTransformer())||r.clearSelectedObjects())}_initZoomEventListener(){let e=this._context.scene;this.disposeWithMe(e.onMouseWheel$.subscribeEvent(t=>{if(!t.ctrlKey)return;let r=Math.abs(t.deltaX),n=r<40?.2:r<80?.4:.2;n*=t.deltaY>0?-1:1,e.scaleX<1&&(n/=2);let i=this._context.unit.zoomRatio,a=+Number.parseFloat(`${i+n}`).toFixed(1);a=a>=4?4:a<=.1?.1:a,this._commandService.executeCommand(Lae.id,{zoomRatio:Math.round(10*a)/10,documentId:this._context.unitId}),t.preventDefault()}))}};lue=yne([Cne(1,Mc),Cne(2,Y(YX)),Cne(3,dg),Cne(4,Vc),Cne(5,Y(GX)),Cne(6,joe),Cne(7,Y(aue)),Cne(8,kX)],lue);const uue=jl("PRINTING_COMPONENT_COLLECT"),cue=jl("PRINTING_DOM_COLLECT");var due=class extends tu{constructor(){super(),bne(this,"_printComponentMap",new Map),bne(this,"interceptor",new Wl({PRINTING_COMPONENT_COLLECT:uue,PRINTING_DOM_COLLECT:cue})),this.disposeWithMe(this.interceptor.intercept(this.interceptor.getInterceptPoints().PRINTING_COMPONENT_COLLECT,{priority:-1,handler:e=>e})),this.disposeWithMe(this.interceptor.intercept(this.interceptor.getInterceptPoints().PRINTING_DOM_COLLECT,{priority:-1,handler:e=>e}))}registerPrintComponent(e,t){this._printComponentMap.set(e,t)}getPrintComponent(e){return this._printComponentMap.get(e)}};let hue=class extends ru{constructor(e,t,r,n,i){super(),this._undoRedoService=e,this._commandService=t,this._univerInstanceService=r,this._docStateEmitService=n,this._renderManagerService=i,bne(this,"_docStateChange$",new Qn(null)),bne(this,"docStateChange$",this._docStateChange$.asObservable()),bne(this,"_historyStateCache",new Map),bne(this,"_changeStateCache",new Map),bne(this,"_historyTimer",null),bne(this,"_changeStateCacheTimer",null),this._initialize(),this._listenDocStateChange()}getStateCache(e){var t,r;return{history:null==(t=this._historyStateCache.get(e))?[]:t,collaboration:null==(r=this._changeStateCache.get(e))?[]:r}}setStateCache(e,t){this._historyStateCache.set(e,t.history),this._changeStateCache.set(e,t.collaboration)}_setChangeState(e){this._cacheChangeState(e,"history"),this._cacheChangeState(e,"collaboration")}_initialize(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{if(e.id===Bg||e.id===Ug){let e=this._univerInstanceService.getCurrentUniverDocInstance();if(null==e)return;let t=e.getUnitId();this._pushHistory(t),this._emitChangeState(t)}}))}_listenDocStateChange(){this._docStateEmitService.docStateChangeParams$.pipe(jX(this.dispose$)).subscribe(e=>{var t;if(null==e)return;let{isCompositionEnd:r,isSync:n,syncer:i,...a}=e,o=null==(t=this._renderManagerService.getRenderById(n?i:e.unitId))?void 0:t.with(Oie);if(null!=o){if(r){let e=o.fetchComposedUndoRedoMutationParams();if(null==e)throw Error("historyParams is null in RichTextEditingMutation");let{undoMutationParams:t,redoMutationParams:r,previousActiveRange:n}=e;a.redoState.actions=r.actions,a.undoState.actions=t.actions,a.undoState.textRanges=[n]}this._setChangeState(a)}})}_cacheChangeState(e,t="history"){let{trigger:r,unitId:n,noHistory:i,debounce:a=!1}=e;if(i||null==r||"history"===t&&(r===Ug||r===Bg))return;let o="history"===t?this._historyStateCache:this._changeStateCache,s="history"===t?this._pushHistory.bind(this):this._emitChangeState.bind(this);if(o.has(n)){let t=o.get(n);null==t||t.push(e)}else o.set(n,[e]);a?"history"===t?(this._historyTimer&&clearTimeout(this._historyTimer),this._historyTimer=setTimeout(()=>{s(n)},300)):(this._changeStateCacheTimer&&clearTimeout(this._changeStateCacheTimer),this._changeStateCacheTimer=setTimeout(()=>{s(n)},300)):s(n)}_pushHistory(e){let t=this._undoRedoService,r=this._historyStateCache.get(e);if(!Array.isArray(r)||0===r.length)return;let n=r.length,i=r[0].commandId,a=r[0],o=r[n-1],s={unitId:e,actions:r.reduce((e,t)=>Dm.compose(e,t.redoState.actions),null),textRanges:o.redoState.textRanges},l={unitId:e,actions:r.reverse().reduce((e,t)=>Dm.compose(e,t.undoState.actions),null),textRanges:a.undoState.textRanges};t.pushUndoRedo({unitID:e,undoMutations:[{id:i,params:l}],redoMutations:[{id:i,params:s}]}),r.length=0}_emitChangeState(e){let t=this._changeStateCache.get(e);if(!Array.isArray(t)||0===t.length)return;let r=t.length,{commandId:n,trigger:i,segmentId:a,noHistory:o,debounce:s}=t[0],l=t[0],u=t[r-1],c={commandId:n,unitId:e,trigger:i,redoState:{unitId:e,actions:t.reduce((e,t)=>Dm.compose(e,t.redoState.actions),null),textRanges:u.redoState.textRanges},undoState:{unitId:e,actions:t.reverse().reduce((e,t)=>Dm.compose(e,t.undoState.actions),null),textRanges:l.undoState.textRanges},segmentId:a,noHistory:o,debounce:s};t.length=0,this._docStateChange$.next(c)}};hue=yne([Cne(0,Y(Pg)),Cne(1,Vc),Cne(2,dg),Cne(3,Y(QX)),Cne(4,kX)],hue);const mue="univer-doc-main-canvas";let fue=class extends ru{constructor(e,t){super(),this._instanceSrv=e,this._renderManagerService=t,this._init()}_init(){this._renderManagerService.createRender$.pipe(jX(this.dispose$)).subscribe(e=>this._createRenderWithId(e)),this._instanceSrv.getAllUnitsForType(Pi.UNIVER_DOC).forEach(e=>this._createRenderer(e)),this._instanceSrv.getTypeOfUnitAdded$(Pi.UNIVER_DOC).pipe(jX(this.dispose$)).subscribe(e=>this._createRenderer(e)),this._instanceSrv.getTypeOfUnitDisposed$(Pi.UNIVER_DOC).pipe(jX(this.dispose$)).subscribe(e=>this._disposeRenderer(e))}_createRenderer(e){var t;let r=e.getUnitId(),n=null==(t=this._instanceSrv.getCurrentUnitForType(Pi.UNIVER_DOC))?void 0:t.getUnitId();this._renderManagerService.created$.subscribe(e=>{e.unitId===n&&(e.engine.getCanvas().setId(mue),e.engine.getCanvas().getContext().setId(mue))}),this._renderManagerService.has(r)||this._createRenderWithId(r)}_createRenderWithId(e){this._renderManagerService.createRender(e)}_disposeRenderer(e){let t=e.getUnitId();this._renderManagerService.removeRender(t)}};fue=yne([Cne(0,dg),Cne(1,kX)],fue);const gue={id:Sne.id,preconditions:function(e){return e.getContextValue(_f)&&e.getContextValue(Rf)&&!e.getContextValue(Nf)},binding:x8.ENTER},pue={id:rie.id,preconditions:hle,binding:x8.BACKSPACE},vue={id:nie.id,preconditions:hle,binding:x8.DELETE},bue={id:Poe.id,binding:x8.ARROW_UP,preconditions:hle,staticParameters:{direction:Eu.UP}},Cue={id:Poe.id,binding:x8.ARROW_DOWN,preconditions:hle,staticParameters:{direction:Eu.DOWN}},yue={id:Poe.id,binding:x8.ARROW_LEFT,preconditions:hle,staticParameters:{direction:Eu.LEFT}},_ue={id:Poe.id,binding:x8.ARROW_RIGHT,preconditions:hle,staticParameters:{direction:Eu.RIGHT}},wue={id:Doe.id,binding:x8.ARROW_UP|N8.SHIFT,preconditions:hle,staticParameters:{direction:Eu.UP}},Eue={id:Doe.id,binding:x8.ARROW_DOWN|N8.SHIFT,preconditions:hle,staticParameters:{direction:Eu.DOWN}},Sue={id:Doe.id,binding:x8.ARROW_LEFT|N8.SHIFT,preconditions:hle,staticParameters:{direction:Eu.LEFT}},Aue={id:Doe.id,binding:x8.ARROW_RIGHT|N8.SHIFT,preconditions:hle,staticParameters:{direction:Eu.RIGHT}},Iue={id:Mie.id,binding:x8.A|N8.CTRL_COMMAND,preconditions:e=>e.getContextValue(Rf)&&(e.getContextValue(_f)||e.getContextValue(Sf))};let Rue=class extends Rg{constructor(e=xle,t,r,n,i,a){super(),this._config=e,this._injector=t,this._renderManagerSrv=r,this._commandService=n,this._logService=i,this._configService=a;let{menu:o,...s}=hr({},xle,this._config);o&&this._configService.setConfig("menu",o,{merge:!0}),this._configService.setConfig(Rle,s),this._initDependencies(t),this._initializeShortcut(),this._initCommand()}onReady(){this._initRenderBasics(),this._markDocAsFocused(),Ol(this._injector,[[hue],[fue]])}onRendered(){this._initRenderModules(),Ol(this._injector,[[Wle],[Yle],[ile],[Kle],[Vle]])}_initCommand(){[rie,nie,Die,Bie,Fie,Hie,zie,qie,Yie,Zie,$ie,rae,eae,iae,Nne,Yne,Qne,$ne,Zne,Jne,eie,Oae,_ae,bae,fae,xae,Tae,Nae,Rae,Mae,Tie,Coe,Toe,Aoe,Ioe,Noe,Roe,xoe,yoe,_oe,woe,tse,Moe,wne,Ene,Sne,vae,gae,Cae,yae,wae,Lie,boe,Jse,zne,qne,lae,sae,uae,Lae,Mie,ale,Poe,Doe,hae,dae,mae,kae,Pae,aie,Aie,Rie,Uae,Bae,Vae,Fae,jae,Hae,Wae,zae,Sae,Aae,Iae,Nie,mse,fse].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))}),[Sie,Iie,xie].forEach(e=>this.disposeWithMe(this._commandService.registerMultipleCommand(e)))}_initializeShortcut(){[bue,Cue,_ue,yue,wue,Eue,Sue,Aue,Iue,pue,vue,gue,fle].forEach(e=>{this._injector.get(U8).registerShortcut(e)})}_initDependencies(e){Ag([[due],[Jle],[rue],[Vle],[Wle],[Kle],[Yle],[ile],[joe,{useClass:Foe}],[_ie,{useClass:wie}],[Fse],[fue],[hue],[_ne],[Ine]],this._config.override).forEach(t=>e.add(t))}_markDocAsFocused(){let e=this._injector.get(dg),t=this._injector.get(joe);try{let r=e.getCurrentUnitForType(Pi.UNIVER_DOC);if(!r)return;let n=r.getUnitId();t.isEditor(n)||e.focusUnit(r.getUnitId())}catch(e){this._logService.warn(e)}}_initRenderBasics(){[[YX],[voe],[iq],[aue],[Oie],[jle],[lue]].forEach(e=>{this._renderManagerSrv.registerRenderModule(Pi.UNIVER_DOC,e)})}_initRenderModules(){[[zse],[Zse],[Kse],[Fle],[sue],[Qoe],[oue],[tue],[$le],[Jle],[iue],[nue],[rue]].forEach(e=>{this._renderManagerSrv.registerRenderModule(Pi.UNIVER_DOC,e)})}};function xue(e,t,r){let n=iK(Vc),i=iK(U8),a=(0,_q.useMemo)(()=>cu(4),[]);(0,_q.useEffect)(()=>{if(!r||!e||!t)return;let o=`sheet.operation.editor-${r.getEditorId()}-keyboard-${a}`,s=new eu;return s.add(n.registerCommand({id:o,type:Bc.OPERATION,handler(e,r){let{keyCode:n,metaKey:i}=r;t.handler(n,i)}})),t.keyCodes.map(e=>({id:o,binding:e.metaKey?e.keyCode|e.metaKey:e.keyCode,preconditions:()=>!0,priority:901,staticParameters:{eventType:FF.Keyboard,keyCode:e.keyCode,metaKey:e.metaKey}})).forEach(e=>{s.add(i.registerShortcut(e))}),()=>{s.dispose()}},[n,t,r,e,a,i])}bne(Rue,"pluginName","DOC_UI_PLUGIN"),bne(Rue,"packageName","@univerjs/docs-ui"),bne(Rue,"version","0.19.0"),Rue=yne([Tg(VX),Cne(1,Y(he)),Cne(2,kX),Cne(3,Vc),Cne(4,kc),Cne(5,Tc)],Rue);const Tue=(e,t=!0,r,n)=>{let i=(0,_q.useCallback)(()=>{if(e){let{scene:r,mainComponent:n}=e.render,i=e.render.with(YX),{width:a,height:o}=e.getBoundingClientRect();i.getViewModel().getDataModel().updateDocumentDataPageSize(t?1/0:a,1/0),r.transformByState({width:a,height:o}),null==n||n.resize(a,o)}},[e,t]),a=(0,_q.useMemo)(()=>Vr(()=>{if(!r||!e||!r)return;let i=e.render.with(YX).getSkeleton(),{scene:a,mainComponent:o}=e.render,s=a.getViewport(dne.VIEW_MAIN),{actualWidth:l,actualHeight:u}=i.getActualSize(),{width:c,height:d}=e.getBoundingClientRect(),h=null==s?void 0:s.getScrollBar(),m=Math.max(l,c),f=Math.max(u,d);if(a.transformByState({width:m,height:f}),null==o||o.resize(m,f),t)if(l>c)null==h?s&&new lX(s,{barSize:8,enableVertical:!1,enableHorizontal:!0,minThumbSizeV:8}):null==s||s.resetCanvasSizeAndUpdateScroll(),n&&(null==s||s.scrollToBarPos({x:1/0,y:0}));else{var g;h=null,null==s||s.scrollToBarPos({x:0,y:0}),null==s||null==(g=s.getScrollBar())||g.dispose()}else if(u>d)null==h?s&&(h=new lX(s,{enableHorizontal:!1,enableVertical:!0,barSize:8,minThumbSizeV:8})):null==s||s.resetCanvasSizeAndUpdateScroll(),n&&(null==s||s.scrollToBarPos({x:0,y:1/0}));else{var p;h=null,null==s||s.scrollToBarPos({x:0,y:0}),null==s||null==(p=s.getScrollBar())||p.dispose()}},30),[e,r,t,n]);return(0,_q.useEffect)(()=>{if(r&&e){let e=setTimeout(()=>{i(),a()},500);return()=>{clearTimeout(e)}}},[e,r,i,a]),(0,_q.useEffect)(()=>{if(r&&e){let t=e.input$.subscribe(()=>{a()});return()=>{t.unsubscribe()}}},[e,r,a]),{resize:i,checkScrollBar:a}},Nue=e=>{let{className:t,autoFocus:r,onFocusChange:n,initialValue:i,onClickOutside:a,keyboardEventConfig:o,moveCursor:s=!0,style:l,isSingle:u,editorId:c,onHeightChange:d,onChange:h,defaultHeight:m=32,maxHeight:f=32,icon:g,editorRef:p,placeholder:v,noStyle:b}=e;iK(joe);let C=$5(n),y=$5(a),[_,w]=(0,_q.useState)(m),E=(0,_q.useRef)(null),S=(0,_q.useMemo)(()=>null==c?Tl(`RICH_TEXT_EDITOR-${cu(4)}`):c,[c]),A=function(e){let{editorId:t,initialValue:r,container:n,autoFocus:i,isSingle:a}=e,o=(0,_q.useMemo)(()=>null!=i&&i,[]),[s,l]=(0,_q.useState)(),u=iK(joe);return(0,_q.useLayoutEffect)(()=>{if(n.current){let s="string"==typeof r?void 0:uu.deepClone(r),c={body:{dataStream:"string"==typeof r?`${r}\r\n`:"\r\n",textRuns:[],customBlocks:[],customDecorations:[],customRanges:[],paragraphs:[{startIndex:0}]},...s,documentStyle:{...null==s?void 0:s.documentStyle,pageSize:{width:a?1/0:n.current.clientWidth,height:1/0}},id:t},d=u.register({autofocus:!0,editorUnitId:t,initialSnapshot:c},n.current),h=u.getEditor(t);if(l(h),o){var e,i;u.focus(t);let r=(null==(e=null==(i=c.body)?void 0:i.dataStream.length)?2:e)-2;h.setSelectionRanges([{startOffset:r,endOffset:r}])}return()=>{null==d||d.dispose()}}},[]),s}({editorId:S,initialValue:i,container:E,autoFocus:r,isSingle:u}),I=iK(kX).getRenderById(S),R=function(e){var t;let r=iK(kX).getRenderById(e),n=null==r?void 0:r.with(voe),i=aK(null==n?void 0:n.textSelectionInner$);return!(null==(t=null==n?void 0:n.isFocusing)||!t||null==i||!i.textRanges.some(e=>e.collapsed))}(S),x=(0,_q.useRef)(null),[T,N]=(0,_q.useState)(()=>{var e,t;return!Jm.transform.getPlainText(null==(e=null==A||null==(t=A.getDocumentData().body)?void 0:t.dataStream)?"":e)}),{checkScrollBar:M}=Tue(A,u,!0,!0);(0,_q.useLayoutEffect)(()=>{if(p&&A){if("function"==typeof p)return void p(A);p.current=A}},[A]);let O=$5(e=>{var t,r;let n=null==I?void 0:I.with(YX),i=null==n?void 0:n.getSkeleton().getActualSize();i&&(null==d||d(i.actualHeight),w(Math.max(m,Math.min(i.actualHeight+10,f)))),null==h||h(e,Fm(null==(t=null==(r=e.body)?void 0:r.dataStream)?"":t)),M()});return(0,_q.useEffect)(()=>{var e,t;N(!Jm.transform.getPlainText(null==(e=null==A||null==(t=A.getDocumentData().body)?void 0:t.dataStream)?"":e));let r=null==A?void 0:A.selectionChange$.subscribe(()=>{var e,t;N(!Jm.transform.getPlainText(null==(e=null==A||null==(t=A.getDocumentData().body)?void 0:t.dataStream)?"":e))});return()=>null==r?void 0:r.unsubscribe()},[A]),aK(null==A?void 0:A.blur$),aK(null==A?void 0:A.focus$),(0,_q.useEffect)(()=>{var e,t;let r=null==A?void 0:A.getDocumentData();null==C||C(R,Fm(null==(e=null==r||null==(t=r.body)?void 0:t.dataStream)?"":e))},[R,C]),((e,t,r)=>{let n=iK(joe);(0,_q.useEffect)(()=>{let i=i=>{var a;n.getFocusId()===e&&(null==(a=i.target)||null==(a=a.dataset)?void 0:a.editorid)!==e&&t.current&&!t.current.contains(i.target)&&(null==r||r())},a=setTimeout(()=>{document.addEventListener("click",i)},100);return()=>{document.removeEventListener("click",i),clearTimeout(a)}},[e,n,r,t])})(S,x,y),((e,t,r,n)=>{let i=iK(Vc),a=iK(U8);(0,_q.useRef)(t).current=t;let o=(0,_q.useRef)(n);o.current=n,(0,_q.useEffect)(()=>{if(!r||!e)return;let t=`doc.rich-text-editor.${r.getEditorId()}`,n=new eu;return n.add(i.registerCommand({id:t,type:Bc.OPERATION,handler(e,t){let{keyCode:r}=t;((e,t)=>{if(o.current)return void o.current(e,t);let r=Eu.LEFT;e===x8.ARROW_DOWN?r=Eu.DOWN:e===x8.ARROW_UP?r=Eu.UP:e===x8.ARROW_RIGHT&&(r=Eu.RIGHT),t===N8.SHIFT?i.executeCommand(Doe.id,{direction:r}):i.executeCommand(Poe.id,{direction:r})})(r)}})),[{keyCode:x8.ARROW_DOWN},{keyCode:x8.ARROW_LEFT},{keyCode:x8.ARROW_RIGHT},{keyCode:x8.ARROW_UP},{keyCode:x8.ARROW_DOWN,metaKey:N8.SHIFT},{keyCode:x8.ARROW_LEFT,metaKey:N8.SHIFT},{keyCode:x8.ARROW_RIGHT,metaKey:N8.SHIFT},{keyCode:x8.ARROW_UP,metaKey:N8.SHIFT},{keyCode:x8.ARROW_DOWN,metaKey:N8.CTRL_COMMAND},{keyCode:x8.ARROW_LEFT,metaKey:N8.CTRL_COMMAND},{keyCode:x8.ARROW_RIGHT,metaKey:N8.CTRL_COMMAND},{keyCode:x8.ARROW_UP,metaKey:N8.CTRL_COMMAND},{keyCode:x8.ARROW_DOWN,metaKey:N8.CTRL_COMMAND|N8.SHIFT},{keyCode:x8.ARROW_LEFT,metaKey:N8.CTRL_COMMAND|N8.SHIFT},{keyCode:x8.ARROW_RIGHT,metaKey:N8.CTRL_COMMAND|N8.SHIFT},{keyCode:x8.ARROW_UP,metaKey:N8.CTRL_COMMAND|N8.SHIFT}].map(({keyCode:e,metaKey:r})=>({id:t,binding:r?e|r:e,preconditions:()=>!0,priority:900,staticParameters:{eventType:FF.Keyboard,keyCode:e}})).forEach(e=>{n.add(a.registerShortcut(e))}),()=>{n.dispose()}},[i,r,e,a])})(R&&s,!1,A),xue(R,o,A),function(e,t){let r=iK(Vc);(0,_q.useEffect)(()=>{if(!e)return;let n=r.onCommandExecuted(r=>{if(r.id===KX.id){var n,i;if(r.params.unitId!==e.getEditorId())return;let a=e.getDocumentData();t(a,Fm(null==(n=null==(i=a.body)?void 0:i.dataStream)?"":n))}});return()=>{n.dispose()}},[e,t,r])}(A,O),(0,$Z.jsx)("div",{className:t,style:l,children:(0,$Z.jsxs)("div",{className:x7({"univer-border-primary-500":R&&!b,"\n univer-relative univer-box-border univer-flex univer-h-8 univer-w-full univer-items-center\n univer-justify-around univer-gap-2 univer-rounded-md univer-pb-0.5 univer-pl-1.5 univer-pr-2\n univer-pt-1.5\n ":!b,"univer-size-full":b,[V7]:!b}),style:{height:_},ref:x,children:[(0,$Z.jsx)("div",{ref:E,className:"univer-relative univer-size-full",onMouseUp:()=>null==A?void 0:A.focus()}),g,T?(0,$Z.jsx)("div",{className:"univer-absolute univer-left-[5px] univer-top-[5px] univer-text-sm univer-text-gray-500",children:v}):null]})})};function Mue(e){return kn(function(t,r){var n=null,i=null,a=function(){null==i||i.unsubscribe();var t=n;n=[],t&&r.next(t),ui(e()).subscribe(i=Pn(r,a,mn))};a(),t.subscribe(Pn(r,function(e){return null==n?void 0:n.push(e)},function(){n&&r.next(n),r.complete()},void 0,function(){return n=i=null}))})}const Oue=class e{constructor(e,t){this.low=e,this.high=t}clone(){return new e(this.low,this.high)}get max(){return this.clone()}less_than(e){return this.lowt.high?this.high:t.high)}output(){return[this.low,this.high]}static comparable_max(e,t){return e.merge(t)}static comparable_less_than(e,t){return er&&([t,r]=[r,t]),this.item.key=new Oue(t,r)}this.max=this.item.key?this.item.key.max:void 0}isNil(){return void 0===this.item.key&&void 0===this.item.value&&null===this.left&&null===this.right&&1===this.color}_value_less_than(e){return this.item.value&&e.item.value&&this.item.value.less_than?this.item.value.less_than(e.item.value):this.item.valuee++),e}get keys(){let e=[];return this.tree_walk(this.root,t=>e.push(t.item.key.output?t.item.key.output():t.item.key)),e}get values(){let e=[];return this.tree_walk(this.root,t=>e.push(t.item.value)),e}get items(){let e=[];return this.tree_walk(this.root,t=>e.push({key:t.item.key.output?t.item.key.output():t.item.key,value:t.item.value})),e}isEmpty(){return null==this.root||this.root===this.nil_node}clear(){this.root=null}insert(e,t=e){if(void 0===e)return;let r=new Lue(e,t,this.nil_node,this.nil_node,null,0);return this.tree_insert(r),this.recalc_max(r),r}exist(e,t=e){let r=new Lue(e,t);return!!this.tree_search(this.root,r)}remove(e,t=e){let r=new Lue(e,t),n=this.tree_search(this.root,r);return n&&this.tree_delete(n),n}search(e,t=(e,t)=>e===t?t.output():e){let r=new Lue(e),n=[];return this.tree_search_interval(this.root,r,n),n.map(e=>t(e.item.value,e.item.key))}intersect_any(e){let t=new Lue(e);return this.tree_find_any_interval(this.root,t)}forEach(e){this.tree_walk(this.root,t=>e(t.item.key,t.item.value))}map(e){const t=new kue;return this.tree_walk(this.root,r=>t.insert(r.item.key,e(r.item.value,r.item.key))),t}*iterate(e,t=(e,t)=>e===t?t.output():e){let r;for(e?r=this.tree_search_nearest_forward(this.root,new Lue(e)):this.root&&(r=this.local_minimum(this.root));r;)yield t(r.item.value,r.item.key),r=this.tree_successor(r)}recalc_max(e){let t=e;for(;null!=t.parent;)t.parent.update_max(),t=t.parent}tree_insert(e){let t=this.root,r=null;if(null==this.root||this.root===this.nil_node)this.root=e;else{for(;t!==this.nil_node;)r=t,t=e.less_than(t)?t.left:t.right;e.parent=r,e.less_than(r)?r.left=e:r.right=e}this.insert_fixup(e)}insert_fixup(e){let t,r;for(t=e;t!==this.root&&0===t.parent.color;)t.parent===t.parent.parent.left?(r=t.parent.parent.right,0===r.color?(t.parent.color=1,r.color=1,t.parent.parent.color=0,t=t.parent.parent):(t===t.parent.right&&(t=t.parent,this.rotate_left(t)),t.parent.color=1,t.parent.parent.color=0,this.rotate_right(t.parent.parent))):(r=t.parent.parent.left,0===r.color?(t.parent.color=1,r.color=1,t.parent.parent.color=0,t=t.parent.parent):(t===t.parent.left&&(t=t.parent,this.rotate_right(t)),t.parent.color=1,t.parent.parent.color=0,this.rotate_left(t.parent.parent)));this.root.color=1}tree_delete(e){let t,r;t=e.left===this.nil_node||e.right===this.nil_node?e:this.tree_successor(e),r=t.left!==this.nil_node?t.left:t.right,r.parent=t.parent,t===this.root?this.root=r:(t===t.parent.left?t.parent.left=r:t.parent.right=r,t.parent.update_max()),this.recalc_max(r),t!==e&&(e.copy_data(t),e.update_max(),this.recalc_max(e)),1===t.color&&this.delete_fixup(r)}delete_fixup(e){let t,r=e;for(;r!==this.root&&null!=r.parent&&1===r.color;)r===r.parent.left?(t=r.parent.right,0===t.color&&(t.color=1,r.parent.color=0,this.rotate_left(r.parent),t=r.parent.right),1===t.left.color&&1===t.right.color?(t.color=0,r=r.parent):(1===t.right.color&&(t.color=0,t.left.color=1,this.rotate_right(t),t=r.parent.right),t.color=r.parent.color,r.parent.color=1,t.right.color=1,this.rotate_left(r.parent),r=this.root)):(t=r.parent.left,0===t.color&&(t.color=1,r.parent.color=0,this.rotate_right(r.parent),t=r.parent.left),1===t.left.color&&1===t.right.color?(t.color=0,r=r.parent):(1===t.left.color&&(t.color=0,t.right.color=1,this.rotate_left(t),t=r.parent.left),t.color=r.parent.color,r.parent.color=1,t.left.color=1,this.rotate_right(r.parent),r=this.root));r.color=1}tree_search(e,t){if(null!=e&&e!==this.nil_node)return t.equal_to(e)?e:t.less_than(e)?this.tree_search(e.left,t):this.tree_search(e.right,t)}tree_search_nearest_forward(e,t){let r,n=e;for(;n&&n!==this.nil_node;)n.less_than(t)?n.intersect(t)?(r=n,n=n.left):n=n.right:(r&&!n.less_than(r)||(r=n),n=n.left);return r||null}tree_search_interval(e,t,r){null!=e&&e!==this.nil_node&&(e.left===this.nil_node||e.not_intersect_left_subtree(t)||this.tree_search_interval(e.left,t,r),e.intersect(t)&&r.push(e),e.right===this.nil_node||e.not_intersect_right_subtree(t)||this.tree_search_interval(e.right,t,r))}tree_find_any_interval(e,t){let r=!1;return null!=e&&e!==this.nil_node&&(e.left===this.nil_node||e.not_intersect_left_subtree(t)||(r=this.tree_find_any_interval(e.left,t)),r||(r=e.intersect(t)),r||e.right===this.nil_node||e.not_intersect_right_subtree(t)||(r=this.tree_find_any_interval(e.right,t))),r}local_minimum(e){let t=e;for(;null!=t.left&&t.left!==this.nil_node;)t=t.left;return t}local_maximum(e){let t=e;for(;null!=t.right&&t.right!==this.nil_node;)t=t.right;return t}tree_successor(e){let t,r,n;if(e.right!==this.nil_node)t=this.local_minimum(e.right);else{for(r=e,n=e.parent;null!=n&&n.right===r;)r=n,n=n.parent;t=n}return t}rotate_left(e){let t=e.right;e.right=t.left,t.left!==this.nil_node&&(t.left.parent=e),t.parent=e.parent,e===this.root?this.root=t:e===e.parent.left?e.parent.left=t:e.parent.right=t,t.left=e,e.parent=t,null!=e&&e!==this.nil_node&&e.update_max(),t=e.parent,null!=t&&t!==this.nil_node&&t.update_max()}rotate_right(e){let t=e.left;e.left=t.right,t.right!==this.nil_node&&(t.right.parent=e),t.parent=e.parent,e===this.root?this.root=t:e===e.parent.left?e.parent.left=t:e.parent.right=t,t.right=e,e.parent=t,null!==e&&e!==this.nil_node&&e.update_max(),t=e.parent,null!=t&&t!==this.nil_node&&t.update_max()}tree_walk(e,t){null!=e&&e!==this.nil_node&&(this.tree_walk(e.left,t),t(e),this.tree_walk(e.right,t))}testRedBlackProperty(){let e=!0;return this.tree_walk(this.root,function(t){0===t.color&&(1===t.left.color&&1===t.right.color||(e=!1))}),e}testBlackHeightProperty(e){let t=0,r=0,n=0;if(1===e.color&&t++,r=e.left!==this.nil_node?this.testBlackHeightProperty(e.left):1,n=e.right!==this.nil_node?this.testBlackHeightProperty(e.right):1,r!==n)throw new Error("Red-black height property violated");return t+=r,t}}var Pue,Due,Uue=9e15,Bue=1e9,Vue="0123456789abcdef",Fue="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",jue="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Hue={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-Uue,maxE:Uue,crypto:!1},Wue=!0,zue="[DecimalError] ",Xue=zue+"Invalid argument: ",que=zue+"Precision limit exceeded",Gue=zue+"crypto unavailable",Yue="[object Decimal]",Que=Math.floor,Zue=Math.pow,Kue=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,$ue=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Jue=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,ece=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,tce=1e7,rce=Fue.length-1,nce=jue.length-1,ice={toStringTag:Yue};function ace(e){var t,r,n,i=e.length-1,a="",o=e[0];if(i>0){for(a+=o,t=1;tr)throw Error(Xue+e)}function sce(e,t,r,n){var i,a,o,s;for(a=e[0];a>=10;a/=10)--t;return--t<0?(t+=7,i=0):(i=Math.ceil((t+1)/7),t%=7),a=Zue(10,7-t),s=e[i]%a|0,null==n?t<3?(0==t?s=s/100|0:1==t&&(s=s/10|0),o=r<4&&99999==s||r>3&&49999==s||5e4==s||0==s):o=(r<4&&s+1==a||r>3&&s+1==a/2)&&(e[i+1]/a/100|0)==Zue(10,t-2)-1||(s==a/2||0==s)&&!(e[i+1]/a/100|0):t<4?(0==t?s=s/1e3|0:1==t?s=s/100|0:2==t&&(s=s/10|0),o=(n||r<4)&&9999==s||!n&&r>3&&4999==s):o=((n||r<4)&&s+1==a||!n&&r>3&&s+1==a/2)&&(e[i+1]/a/1e3|0)==Zue(10,t-3)-1,o}function lce(e,t,r){for(var n,i,a=[0],o=0,s=e.length;or-1&&(void 0===a[n+1]&&(a[n+1]=0),a[n+1]+=a[n]/r|0,a[n]%=r)}return a.reverse()}ice.absoluteValue=ice.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),cce(e)},ice.ceil=function(){return cce(new this.constructor(this),this.e+1,2)},ice.clampedTo=ice.clamp=function(e,t){var r=this,n=r.constructor;if(e=new n(e),t=new n(t),!e.s||!t.s)return new n(NaN);if(e.gt(t))throw Error(Xue+t);return r.cmp(e)<0?e:r.cmp(t)>0?t:new n(r)},ice.comparedTo=ice.cmp=function(e){var t,r,n,i,a=this,o=a.d,s=(e=new a.constructor(e)).d,l=a.s,u=e.s;if(!o||!s)return l&&u?l!==u?l:o===s?0:!o^l<0?1:-1:NaN;if(!o[0]||!s[0])return o[0]?l:s[0]?-u:0;if(l!==u)return l;if(a.e!==e.e)return a.e>e.e^l<0?1:-1;for(t=0,r=(n=o.length)<(i=s.length)?n:i;ts[t]^l<0?1:-1;return n===i?0:n>i^l<0?1:-1},ice.cosine=ice.cos=function(){var e,t,r=this,n=r.constructor;return r.d?r.d[0]?(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+7,n.rounding=1,r=function(e,t){var r,n,i;if(t.isZero())return t;(n=t.d.length)<32?i=(1/Ice(4,r=Math.ceil(n/3))).toString():(r=16,i="2.3283064365386962890625e-10"),e.precision+=r,t=Ace(e,1,t.times(i),new e(1));for(var a=r;a--;){var o=t.times(t);t=o.times(o).minus(o).times(8).plus(1)}return e.precision-=r,t}(n,Rce(n,r)),n.precision=e,n.rounding=t,cce(2==Due||3==Due?r.neg():r,e,t,!0)):new n(1):new n(NaN)},ice.cubeRoot=ice.cbrt=function(){var e,t,r,n,i,a,o,s,l,u,c=this,d=c.constructor;if(!c.isFinite()||c.isZero())return new d(c);for(Wue=!1,(a=c.s*Zue(c.s*c,1/3))&&Math.abs(a)!=1/0?n=new d(a.toString()):(r=ace(c.d),(a=((e=c.e)-r.length+1)%3)&&(r+=1==a||-2==a?"0":"00"),a=Zue(r,1/3),e=Que((e+1)/3)-(e%3==(e<0?-1:2)),(n=new d(r=a==1/0?"5e"+e:(r=a.toExponential()).slice(0,r.indexOf("e")+1)+e)).s=c.s),o=(e=d.precision)+3;;)if(u=(l=(s=n).times(s).times(s)).plus(c),n=uce(u.plus(c).times(s),u.plus(l),o+2,1),ace(s.d).slice(0,o)===(r=ace(n.d)).slice(0,o)){if("9999"!=(r=r.slice(o-3,o+1))&&(i||"4999"!=r)){+r&&(+r.slice(1)||"5"!=r.charAt(0))||(cce(n,e+1,1),t=!n.times(n).times(n).eq(c));break}if(!i&&(cce(s,e+1,0),s.times(s).times(s).eq(c))){n=s;break}o+=4,i=1}return Wue=!0,cce(n,e,d.rounding,t)},ice.decimalPlaces=ice.dp=function(){var e,t=this.d,r=NaN;if(t){if(r=7*((e=t.length-1)-Que(this.e/7)),e=t[e])for(;e%10==0;e/=10)r--;r<0&&(r=0)}return r},ice.dividedBy=ice.div=function(e){return uce(this,new this.constructor(e))},ice.dividedToIntegerBy=ice.divToInt=function(e){var t=this.constructor;return cce(uce(this,new t(e),0,1,1),t.precision,t.rounding)},ice.equals=ice.eq=function(e){return 0===this.cmp(e)},ice.floor=function(){return cce(new this.constructor(this),this.e+1,3)},ice.greaterThan=ice.gt=function(e){return this.cmp(e)>0},ice.greaterThanOrEqualTo=ice.gte=function(e){var t=this.cmp(e);return 1==t||0===t},ice.hyperbolicCosine=ice.cosh=function(){var e,t,r,n,i,a=this,o=a.constructor,s=new o(1);if(!a.isFinite())return new o(a.s?1/0:NaN);if(a.isZero())return s;r=o.precision,n=o.rounding,o.precision=r+Math.max(a.e,a.sd())+4,o.rounding=1,(i=a.d.length)<32?t=(1/Ice(4,e=Math.ceil(i/3))).toString():(e=16,t="2.3283064365386962890625e-10"),a=Ace(o,1,a.times(t),new o(1),!0);for(var l,u=e,c=new o(8);u--;)l=a.times(a),a=s.minus(l.times(c.minus(l.times(c))));return cce(a,o.precision=r,o.rounding=n,!0)},ice.hyperbolicSine=ice.sinh=function(){var e,t,r,n,i=this,a=i.constructor;if(!i.isFinite()||i.isZero())return new a(i);if(t=a.precision,r=a.rounding,a.precision=t+Math.max(i.e,i.sd())+4,a.rounding=1,(n=i.d.length)<3)i=Ace(a,2,i,i,!0);else{e=(e=1.4*Math.sqrt(n))>16?16:0|e,i=Ace(a,2,i=i.times(1/Ice(5,e)),i,!0);for(var o,s=new a(5),l=new a(16),u=new a(20);e--;)o=i.times(i),i=i.times(s.plus(o.times(l.times(o).plus(u))))}return a.precision=t,a.rounding=r,cce(i,t,r,!0)},ice.hyperbolicTangent=ice.tanh=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+7,n.rounding=1,uce(r.sinh(),r.cosh(),n.precision=e,n.rounding=t)):new n(r.s)},ice.inverseCosine=ice.acos=function(){var e=this,t=e.constructor,r=e.abs().cmp(1),n=t.precision,i=t.rounding;return-1!==r?0===r?e.isNeg()?fce(t,n,i):new t(0):new t(NaN):e.isZero()?fce(t,n+4,i).times(.5):(t.precision=n+6,t.rounding=1,e=new t(1).minus(e).div(e.plus(1)).sqrt().atan(),t.precision=n,t.rounding=i,e.times(2))},ice.inverseHyperbolicCosine=ice.acosh=function(){var e,t,r=this,n=r.constructor;return r.lte(1)?new n(r.eq(1)?0:NaN):r.isFinite()?(e=n.precision,t=n.rounding,n.precision=e+Math.max(Math.abs(r.e),r.sd())+4,n.rounding=1,Wue=!1,r=r.times(r).minus(1).sqrt().plus(r),Wue=!0,n.precision=e,n.rounding=t,r.ln()):new n(r)},ice.inverseHyperbolicSine=ice.asinh=function(){var e,t,r=this,n=r.constructor;return!r.isFinite()||r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+2*Math.max(Math.abs(r.e),r.sd())+6,n.rounding=1,Wue=!1,r=r.times(r).plus(1).sqrt().plus(r),Wue=!0,n.precision=e,n.rounding=t,r.ln())},ice.inverseHyperbolicTangent=ice.atanh=function(){var e,t,r,n,i=this,a=i.constructor;return i.isFinite()?i.e>=0?new a(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(e=a.precision,t=a.rounding,n=i.sd(),Math.max(n,e)<2*-i.e-1?cce(new a(i),e,t,!0):(a.precision=r=n-i.e,i=uce(i.plus(1),new a(1).minus(i),r+e,1),a.precision=e+4,a.rounding=1,i=i.ln(),a.precision=e,a.rounding=t,i.times(.5))):new a(NaN)},ice.inverseSine=ice.asin=function(){var e,t,r,n,i=this,a=i.constructor;return i.isZero()?new a(i):(t=i.abs().cmp(1),r=a.precision,n=a.rounding,-1!==t?0===t?((e=fce(a,r+4,n).times(.5)).s=i.s,e):new a(NaN):(a.precision=r+6,a.rounding=1,i=i.div(new a(1).minus(i.times(i)).sqrt().plus(1)).atan(),a.precision=r,a.rounding=n,i.times(2)))},ice.inverseTangent=ice.atan=function(){var e,t,r,n,i,a,o,s,l,u=this,c=u.constructor,d=c.precision,h=c.rounding;if(u.isFinite()){if(u.isZero())return new c(u);if(u.abs().eq(1)&&d+4<=nce)return(o=fce(c,d+4,h).times(.25)).s=u.s,o}else{if(!u.s)return new c(NaN);if(d+4<=nce)return(o=fce(c,d+4,h).times(.5)).s=u.s,o}for(c.precision=s=d+10,c.rounding=1,e=r=Math.min(28,s/7+2|0);e;--e)u=u.div(u.times(u).plus(1).sqrt().plus(1));for(Wue=!1,t=Math.ceil(s/7),n=1,l=u.times(u),o=new c(u),i=u;-1!==e;)if(i=i.times(l),a=o.minus(i.div(n+=2)),i=i.times(l),void 0!==(o=a.plus(i.div(n+=2))).d[t])for(e=t;o.d[e]===a.d[e]&&e--;);return r&&(o=o.times(2<this.d.length-2},ice.isNaN=function(){return!this.s},ice.isNegative=ice.isNeg=function(){return this.s<0},ice.isPositive=ice.isPos=function(){return this.s>0},ice.isZero=function(){return!!this.d&&0===this.d[0]},ice.lessThan=ice.lt=function(e){return this.cmp(e)<0},ice.lessThanOrEqualTo=ice.lte=function(e){return this.cmp(e)<1},ice.logarithm=ice.log=function(e){var t,r,n,i,a,o,s,l,u=this,c=u.constructor,d=c.precision,h=c.rounding;if(null==e)e=new c(10),t=!0;else{if(r=(e=new c(e)).d,e.s<0||!r||!r[0]||e.eq(1))return new c(NaN);t=e.eq(10)}if(r=u.d,u.s<0||!r||!r[0]||u.eq(1))return new c(r&&!r[0]?-1/0:1!=u.s?NaN:r?0:1/0);if(t)if(r.length>1)a=!0;else{for(i=r[0];i%10==0;)i/=10;a=1!==i}if(Wue=!1,o=_ce(u,s=d+5),n=t?mce(c,s+10):_ce(e,s),sce((l=uce(o,n,s,1)).d,i=d,h))do{if(o=_ce(u,s+=10),n=t?mce(c,s+10):_ce(e,s),l=uce(o,n,s,1),!a){+ace(l.d).slice(i+1,i+15)+1==1e14&&(l=cce(l,d+1,0));break}}while(sce(l.d,i+=10,h));return Wue=!0,cce(l,d,h)},ice.minus=ice.sub=function(e){var t,r,n,i,a,o,s,l,u,c,d,h,m=this,f=m.constructor;if(e=new f(e),!m.d||!e.d)return m.s&&e.s?m.d?e.s=-e.s:e=new f(e.d||m.s!==e.s?m:NaN):e=new f(NaN),e;if(m.s!=e.s)return e.s=-e.s,m.plus(e);if(u=m.d,h=e.d,s=f.precision,l=f.rounding,!u[0]||!h[0]){if(h[0])e.s=-e.s;else{if(!u[0])return new f(3===l?-0:0);e=new f(m)}return Wue?cce(e,s,l):e}if(r=Que(e.e/7),c=Que(m.e/7),u=u.slice(),a=c-r){for((d=a<0)?(t=u,a=-a,o=h.length):(t=h,r=c,o=u.length),a>(n=Math.max(Math.ceil(s/7),o)+2)&&(a=n,t.length=1),t.reverse(),n=a;n--;)t.push(0);t.reverse()}else{for((d=(n=u.length)<(o=h.length))&&(o=n),n=0;n0;--n)u[o++]=0;for(n=h.length;n>a;){if(u[--n](o=(a=Math.ceil(s/7))>o?a+1:o+1)&&(i=o,r.length=1),r.reverse();i--;)r.push(0);r.reverse()}for((o=u.length)-(i=c.length)<0&&(i=o,r=c,c=u,u=r),t=0;i;)t=(u[--i]=u[i]+c[i]+t)/tce|0,u[i]%=tce;for(t&&(u.unshift(t),++n),o=u.length;0==u[--o];)u.pop();return e.d=u,e.e=hce(u,n),Wue?cce(e,s,l):e},ice.precision=ice.sd=function(e){var t,r=this;if(void 0!==e&&e!==!!e&&1!==e&&0!==e)throw Error(Xue+e);return r.d?(t=gce(r.d),e&&r.e+1>t&&(t=r.e+1)):t=NaN,t},ice.round=function(){var e=this,t=e.constructor;return cce(new t(e),e.e+1,t.rounding)},ice.sine=ice.sin=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+7,n.rounding=1,r=function(e,t){var r,n=t.d.length;if(n<3)return t.isZero()?t:Ace(e,2,t,t);r=(r=1.4*Math.sqrt(n))>16?16:0|r,t=Ace(e,2,t=t.times(1/Ice(5,r)),t);for(var i,a=new e(5),o=new e(16),s=new e(20);r--;)i=t.times(t),t=t.times(a.plus(i.times(o.times(i).minus(s))));return t}(n,Rce(n,r)),n.precision=e,n.rounding=t,cce(Due>2?r.neg():r,e,t,!0)):new n(NaN)},ice.squareRoot=ice.sqrt=function(){var e,t,r,n,i,a,o=this,s=o.d,l=o.e,u=o.s,c=o.constructor;if(1!==u||!s||!s[0])return new c(!u||u<0&&(!s||s[0])?NaN:s?o:1/0);for(Wue=!1,0==(u=Math.sqrt(+o))||u==1/0?(((t=ace(s)).length+l)%2==0&&(t+="0"),u=Math.sqrt(t),l=Que((l+1)/2)-(l<0||l%2),n=new c(t=u==1/0?"5e"+l:(t=u.toExponential()).slice(0,t.indexOf("e")+1)+l)):n=new c(u.toString()),r=(l=c.precision)+3;;)if(n=(a=n).plus(uce(o,a,r+2,1)).times(.5),ace(a.d).slice(0,r)===(t=ace(n.d)).slice(0,r)){if("9999"!=(t=t.slice(r-3,r+1))&&(i||"4999"!=t)){+t&&(+t.slice(1)||"5"!=t.charAt(0))||(cce(n,l+1,1),e=!n.times(n).eq(o));break}if(!i&&(cce(a,l+1,0),a.times(a).eq(o))){n=a;break}r+=4,i=1}return Wue=!0,cce(n,l,c.rounding,e)},ice.tangent=ice.tan=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+10,n.rounding=1,(r=r.sin()).s=1,r=uce(r,new n(1).minus(r.times(r)).sqrt(),e+10,0),n.precision=e,n.rounding=t,cce(2==Due||4==Due?r.neg():r,e,t,!0)):new n(NaN)},ice.times=ice.mul=function(e){var t,r,n,i,a,o,s,l,u,c=this,d=c.constructor,h=c.d,m=(e=new d(e)).d;if(e.s*=c.s,!(h&&h[0]&&m&&m[0]))return new d(!e.s||h&&!h[0]&&!m||m&&!m[0]&&!h?NaN:h&&m?0*e.s:e.s/0);for(r=Que(c.e/7)+Que(e.e/7),(l=h.length)<(u=m.length)&&(a=h,h=m,m=a,o=l,l=u,u=o),a=[],n=o=l+u;n--;)a.push(0);for(n=u;--n>=0;){for(t=0,i=l+n;i>n;)s=a[i]+m[n]*h[i-n-1]+t,a[i--]=s%tce|0,t=s/tce|0;a[i]=(a[i]+t)%tce|0}for(;!a[--o];)a.pop();return t?++r:a.shift(),e.d=a,e.e=hce(a,r),Wue?cce(e,d.precision,d.rounding):e},ice.toBinary=function(e,t){return xce(this,2,e,t)},ice.toDecimalPlaces=ice.toDP=function(e,t){var r=this,n=r.constructor;return r=new n(r),void 0===e?r:(oce(e,0,Bue),void 0===t?t=n.rounding:oce(t,0,8),cce(r,e+r.e+1,t))},ice.toExponential=function(e,t){var r,n=this,i=n.constructor;return void 0===e?r=dce(n,!0):(oce(e,0,Bue),void 0===t?t=i.rounding:oce(t,0,8),r=dce(n=cce(new i(n),e+1,t),!0,e+1)),n.isNeg()&&!n.isZero()?"-"+r:r},ice.toFixed=function(e,t){var r,n,i=this,a=i.constructor;return void 0===e?r=dce(i):(oce(e,0,Bue),void 0===t?t=a.rounding:oce(t,0,8),r=dce(n=cce(new a(i),e+i.e+1,t),!1,e+n.e+1)),i.isNeg()&&!i.isZero()?"-"+r:r},ice.toFraction=function(e){var t,r,n,i,a,o,s,l,u,c,d,h,m=this,f=m.d,g=m.constructor;if(!f)return new g(m);if(u=r=new g(1),n=l=new g(0),o=(a=(t=new g(n)).e=gce(f)-m.e-1)%7,t.d[0]=Zue(10,o<0?7+o:o),null==e)e=a>0?t:u;else{if(!(s=new g(e)).isInt()||s.lt(u))throw Error(Xue+s);e=s.gt(t)?a>0?t:u:s}for(Wue=!1,s=new g(ace(f)),c=g.precision,g.precision=a=7*f.length*2;d=uce(s,t,0,1,1),1!=(i=r.plus(d.times(n))).cmp(e);)r=n,n=i,i=u,u=l.plus(d.times(i)),l=i,i=t,t=s.minus(d.times(i)),s=i;return i=uce(e.minus(r),n,0,1,1),l=l.plus(i.times(u)),r=r.plus(i.times(n)),l.s=u.s=m.s,h=uce(u,n,a,1).minus(m).abs().cmp(uce(l,r,a,1).minus(m).abs())<1?[u,n]:[l,r],g.precision=c,Wue=!0,h},ice.toHexadecimal=ice.toHex=function(e,t){return xce(this,16,e,t)},ice.toNearest=function(e,t){var r=this,n=r.constructor;if(r=new n(r),null==e){if(!r.d)return r;e=new n(1),t=n.rounding}else{if(e=new n(e),void 0===t?t=n.rounding:oce(t,0,8),!r.d)return e.s?r:e;if(!e.d)return e.s&&(e.s=r.s),e}return e.d[0]?(Wue=!1,r=uce(r,e,0,t,1).times(e),Wue=!0,cce(r)):(e.s=r.s,r=e),r},ice.toNumber=function(){return+this},ice.toOctal=function(e,t){return xce(this,8,e,t)},ice.toPower=ice.pow=function(e){var t,r,n,i,a,o,s=this,l=s.constructor,u=+(e=new l(e));if(!(s.d&&e.d&&s.d[0]&&e.d[0]))return new l(Zue(+s,u));if((s=new l(s)).eq(1))return s;if(n=l.precision,a=l.rounding,e.eq(1))return cce(s,n,a);if((t=Que(e.e/7))>=e.d.length-1&&(r=u<0?-u:u)<=9007199254740991)return i=vce(l,s,r,n),e.s<0?new l(1).div(i):cce(i,n,a);if((o=s.s)<0){if(tl.maxE+1||t0?o/0:0):(Wue=!1,l.rounding=s.s=1,r=Math.min(12,(t+"").length),(i=yce(e.times(_ce(s,n+r)),n)).d&&sce((i=cce(i,n+5,1)).d,n,a)&&(t=n+10,+ace((i=cce(yce(e.times(_ce(s,t+r)),t),t+5,1)).d).slice(n+1,n+15)+1==1e14&&(i=cce(i,n+1,0))),i.s=o,Wue=!0,l.rounding=a,cce(i,n,a))},ice.toPrecision=function(e,t){var r,n=this,i=n.constructor;return void 0===e?r=dce(n,n.e<=i.toExpNeg||n.e>=i.toExpPos):(oce(e,1,Bue),void 0===t?t=i.rounding:oce(t,0,8),r=dce(n=cce(new i(n),e,t),e<=n.e||n.e<=i.toExpNeg,e)),n.isNeg()&&!n.isZero()?"-"+r:r},ice.toSignificantDigits=ice.toSD=function(e,t){var r=this.constructor;return void 0===e?(e=r.precision,t=r.rounding):(oce(e,1,Bue),void 0===t?t=r.rounding:oce(t,0,8)),cce(new r(this),e,t)},ice.toString=function(){var e=this,t=e.constructor,r=dce(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+r:r},ice.truncated=ice.trunc=function(){return cce(new this.constructor(this),this.e+1,1)},ice.valueOf=ice.toJSON=function(){var e=this,t=e.constructor,r=dce(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+r:r};var uce=function(){function e(e,t,r){var n,i=0,a=e.length;for(e=e.slice();a--;)n=e[a]*t+i,e[a]=n%r|0,i=n/r|0;return i&&e.unshift(i),e}function t(e,t,r,n){var i,a;if(r!=n)a=r>n?1:-1;else for(i=a=0;it[i]?1:-1;break}return a}function r(e,t,r,n){for(var i=0;r--;)e[r]-=i,i=e[r]1;)e.shift()}return function(n,i,a,o,s,l){var u,c,d,h,m,f,g,p,v,b,C,y,_,w,E,S,A,I,R,x,T=n.constructor,N=n.s==i.s?1:-1,M=n.d,O=i.d;if(!(M&&M[0]&&O&&O[0]))return new T(n.s&&i.s&&(M?!O||M[0]!=O[0]:O)?M&&0==M[0]||!O?0*N:N/0:NaN);for(l?(m=1,c=n.e-i.e):(l=tce,m=7,c=Que(n.e/m)-Que(i.e/m)),R=O.length,A=M.length,b=(v=new T(N)).d=[],d=0;O[d]==(M[d]||0);d++);if(O[d]>(M[d]||0)&&c--,null==a?(w=a=T.precision,o=T.rounding):w=s?a+(n.e-i.e)+1:a,w<0)b.push(1),f=!0;else{if(w=w/m+2|0,d=0,1==R){for(h=0,O=O[0],w++;(d1&&(O=e(O,h,l),M=e(M,h,l),R=O.length,A=M.length),S=R,y=(C=M.slice(0,R)).length;y=l/2&&++I;do{h=0,(u=t(O,C,R,y))<0?(_=C[0],R!=y&&(_=_*l+(C[1]||0)),(h=_/I|0)>1?(h>=l&&(h=l-1),1==(u=t(g=e(O,h,l),C,p=g.length,y=C.length))&&(h--,r(g,R=10;h/=10)d++;v.e=d+c*m-1,cce(v,s?a+v.e+1:a,o,f)}return v}}();function cce(e,t,r,n){var i,a,o,s,l,u,c,d,h,m=e.constructor;e:if(null!=t){if(!(d=e.d))return e;for(i=1,s=d[0];s>=10;s/=10)i++;if((a=t-i)<0)a+=7,o=t,l=(c=d[h=0])/Zue(10,i-o-1)%10|0;else if((h=Math.ceil((a+1)/7))>=(s=d.length)){if(!n)break e;for(;s++<=h;)d.push(0);c=l=0,i=1,o=(a%=7)-7+1}else{for(c=s=d[h],i=1;s>=10;s/=10)i++;l=(o=(a%=7)-7+i)<0?0:c/Zue(10,i-o-1)%10|0}if(n=n||t<0||void 0!==d[h+1]||(o<0?c:c%Zue(10,i-o-1)),u=r<4?(l||n)&&(0==r||r==(e.s<0?3:2)):l>5||5==l&&(4==r||n||6==r&&(a>0?o>0?c/Zue(10,i-o):0:d[h-1])%10&1||r==(e.s<0?8:7)),t<1||!d[0])return d.length=0,u?(t-=e.e+1,d[0]=Zue(10,(7-t%7)%7),e.e=-t||0):d[0]=e.e=0,e;if(0==a?(d.length=h,s=1,h--):(d.length=h+1,s=Zue(10,7-a),d[h]=o>0?(c/Zue(10,i-o)%Zue(10,o)|0)*s:0),u)for(;;){if(0==h){for(a=1,o=d[0];o>=10;o/=10)a++;for(o=d[0]+=s,s=1;o>=10;o/=10)s++;a!=s&&(e.e++,d[0]==tce&&(d[0]=1));break}if(d[h]+=s,d[h]!=tce)break;d[h--]=0,s=1}for(a=d.length;0===d[--a];)d.pop()}return Wue&&(e.e>m.maxE?(e.d=null,e.e=NaN):e.e0?a=a.charAt(0)+"."+a.slice(1)+pce(n):o>1&&(a=a.charAt(0)+"."+a.slice(1)),a=a+(e.e<0?"e":"e+")+e.e):i<0?(a="0."+pce(-i-1)+a,r&&(n=r-o)>0&&(a+=pce(n))):i>=o?(a+=pce(i+1-o),r&&(n=r-i-1)>0&&(a=a+"."+pce(n))):((n=i+1)0&&(i+1===o&&(a+="."),a+=pce(n))),a}function hce(e,t){var r=e[0];for(t*=7;r>=10;r/=10)t++;return t}function mce(e,t,r){if(t>rce)throw Wue=!0,r&&(e.precision=r),Error(que);return cce(new e(Fue),t,1,!0)}function fce(e,t,r){if(t>nce)throw Error(que);return cce(new e(jue),t,r,!0)}function gce(e){var t=e.length-1,r=7*t+1;if(t=e[t]){for(;t%10==0;t/=10)r--;for(t=e[0];t>=10;t/=10)r++}return r}function pce(e){for(var t="";e--;)t+="0";return t}function vce(e,t,r,n){var i,a=new e(1),o=Math.ceil(n/7+4);for(Wue=!1;;){if(r%2&&Tce((a=a.times(t)).d,o)&&(i=!0),0===(r=Que(r/2))){r=a.d.length-1,i&&0===a.d[r]&&++a.d[r];break}Tce((t=t.times(t)).d,o)}return Wue=!0,a}function bce(e){return 1&e.d[e.d.length-1]}function Cce(e,t,r){for(var n,i,a=new e(t[0]),o=0;++o17)return new h(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:NaN);for(null==t?(Wue=!1,l=f):l=t,s=new h(.03125);e.e>-2;)e=e.times(s),d+=5;for(l+=n=Math.log(Zue(2,d))/Math.LN10*2+5|0,r=a=o=new h(1),h.precision=l;;){if(a=cce(a.times(e),l,1),r=r.times(++c),ace((s=o.plus(uce(a,r,l,1))).d).slice(0,l)===ace(o.d).slice(0,l)){for(i=d;i--;)o=cce(o.times(o),l,1);if(null!=t)return h.precision=f,o;if(!(u<3&&sce(o.d,l-n,m,u)))return cce(o,h.precision=f,m,Wue=!0);h.precision=l+=10,r=a=s=new h(1),c=0,u++}o=s}}function _ce(e,t){var r,n,i,a,o,s,l,u,c,d,h,m=1,f=e,g=f.d,p=f.constructor,v=p.rounding,b=p.precision;if(f.s<0||!g||!g[0]||!f.e&&1==g[0]&&1==g.length)return new p(g&&!g[0]?-1/0:1!=f.s?NaN:g?0:f);if(null==t?(Wue=!1,c=b):c=t,p.precision=c+=10,n=(r=ace(g)).charAt(0),!(Math.abs(a=f.e)<15e14))return u=mce(p,c+2,b).times(a+""),f=_ce(new p(n+"."+r.slice(1)),c-10).plus(u),p.precision=b,null==t?cce(f,b,v,Wue=!0):f;for(;n<7&&1!=n||1==n&&r.charAt(1)>3;)n=(r=ace((f=f.times(e)).d)).charAt(0),m++;for(a=f.e,n>1?(f=new p("0."+r),a++):f=new p(n+"."+r.slice(1)),d=f,l=o=f=uce(f.minus(1),f.plus(1),c,1),h=cce(f.times(f),c,1),i=3;;){if(o=cce(o.times(h),c,1),ace((u=l.plus(uce(o,new p(i),c,1))).d).slice(0,c)===ace(l.d).slice(0,c)){if(l=l.times(2),0!==a&&(l=l.plus(mce(p,c+2,b).times(a+""))),l=uce(l,new p(m),c,1),null!=t)return p.precision=b,l;if(!sce(l.d,c-10,v,s))return cce(l,p.precision=b,v,Wue=!0);p.precision=c+=10,u=o=f=uce(d.minus(1),d.plus(1),c,1),h=cce(f.times(f),c,1),i=s=1}l=u,i+=2}}function wce(e){return String(e.s*e.s/0)}function Ece(e,t){var r,n,i;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(r<0&&(r=n),r+=+t.slice(n+1),t=t.substring(0,n)):r<0&&(r=t.length),n=0;48===t.charCodeAt(n);n++);for(i=t.length;48===t.charCodeAt(i-1);--i);if(t=t.slice(n,i)){if(i-=n,e.e=r=r-n-1,e.d=[],n=(r+1)%7,r<0&&(n+=7),ne.constructor.maxE?(e.d=null,e.e=NaN):e.e-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),ece.test(t))return Ece(e,t)}else if("Infinity"===t||"NaN"===t)return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if($ue.test(t))r=16,t=t.toLowerCase();else if(Kue.test(t))r=2;else{if(!Jue.test(t))throw Error(Xue+t);r=8}for((a=t.search(/p/i))>0?(l=+t.slice(a+1),t=t.substring(2,a)):t=t.slice(2),o=(a=t.indexOf("."))>=0,n=e.constructor,o&&(a=(s=(t=t.replace(".","")).length)-a,i=vce(n,new n(r),a,2*a)),a=c=(u=lce(t,r,tce)).length-1;0===u[a];--a)u.pop();return a<0?new n(0*e.s):(e.e=hce(u,c),e.d=u,Wue=!1,o&&(e=uce(e,i,4*s)),l&&(e=e.times(Math.abs(l)<54?Zue(2,l):pde.pow(2,l))),Wue=!0,e)}function Ace(e,t,r,n,i){var a,o,s,l,u=e.precision,c=Math.ceil(u/7);for(Wue=!1,l=r.times(r),s=new e(n);;){if(o=uce(s.times(l),new e(t++*t++),u,1),s=i?n.plus(o):n.minus(o),n=uce(o.times(l),new e(t++*t++),u,1),void 0!==(o=s.plus(n)).d[c]){for(a=c;o.d[a]===s.d[a]&&a--;);if(-1==a)break}a=s,s=n,n=o,o=a}return Wue=!0,o.d.length=c+1,o}function Ice(e,t){for(var r=e;--t;)r*=e;return r}function Rce(e,t){var r,n=t.s<0,i=fce(e,e.precision,1),a=i.times(.5);if((t=t.abs()).lte(a))return Due=n?4:1,t;if((r=t.divToInt(i)).isZero())Due=n?3:2;else{if((t=t.minus(r.times(i))).lte(a))return Due=bce(r)?n?2:3:n?4:1,t;Due=bce(r)?n?1:4:n?3:2}return t.minus(i).abs()}function xce(e,t,r,n){var i,a,o,s,l,u,c,d,h,m=e.constructor,f=void 0!==r;if(f?(oce(r,1,Bue),void 0===n?n=m.rounding:oce(n,0,8)):(r=m.precision,n=m.rounding),e.isFinite()){for(f?(i=2,16==t?r=4*r-3:8==t&&(r=3*r-2)):i=t,(o=(c=dce(e)).indexOf("."))>=0&&(c=c.replace(".",""),(h=new m(1)).e=c.length-o,h.d=lce(dce(h),10,i),h.e=h.d.length),a=l=(d=lce(c,10,i)).length;0==d[--l];)d.pop();if(d[0]){if(o<0?a--:((e=new m(e)).d=d,e.e=a,d=(e=uce(e,h,r,n,0,i)).d,a=e.e,u=Pue),o=d[r],s=i/2,u=u||void 0!==d[r+1],u=n<4?(void 0!==o||u)&&(0===n||n===(e.s<0?3:2)):o>s||o===s&&(4===n||u||6===n&&1&d[r-1]||n===(e.s<0?8:7)),d.length=r,u)for(;++d[--r]>i-1;)d[r]=0,r||(++a,d.unshift(1));for(l=d.length;!d[l-1];--l);for(o=0,c="";o1)if(16==t||8==t){for(o=16==t?4:3,--l;l%o;l++)c+="0";for(l=(d=lce(c,i,t)).length;!d[l-1];--l);for(o=1,c="1.";ol)for(a-=l;a--;)c+="0";else at)return e.length=t,!0}function Nce(e){return new this(e).abs()}function Mce(e){return new this(e).acos()}function Oce(e){return new this(e).acosh()}function Lce(e,t){return new this(e).plus(t)}function kce(e){return new this(e).asin()}function Pce(e){return new this(e).asinh()}function Dce(e){return new this(e).atan()}function Uce(e){return new this(e).atanh()}function Bce(e,t){e=new this(e),t=new this(t);var r,n=this.precision,i=this.rounding,a=n+4;return e.s&&t.s?e.d||t.d?!t.d||e.isZero()?(r=t.s<0?fce(this,n,i):new this(0)).s=e.s:!e.d||t.isZero()?(r=fce(this,a,1).times(.5)).s=e.s:t.s<0?(this.precision=a,this.rounding=1,r=this.atan(uce(e,t,a,1)),t=fce(this,a,1),this.precision=n,this.rounding=i,r=e.s<0?r.minus(t):r.plus(t)):r=this.atan(uce(e,t,a,1)):(r=fce(this,a,1).times(t.s>0?.25:.75)).s=e.s:r=new this(NaN),r}function Vce(e){return new this(e).cbrt()}function Fce(e){return cce(e=new this(e),e.e+1,2)}function jce(e,t,r){return new this(e).clamp(t,r)}function Hce(e){if(!e||"object"!=typeof e)throw Error(zue+"Object expected");var t,r,n,i=!0===e.defaults,a=["precision",1,Bue,"rounding",0,8,"toExpNeg",-Uue,0,"toExpPos",0,Uue,"maxE",0,Uue,"minE",-Uue,0,"modulo",0,9];for(t=0;t=a[t+1]&&n<=a[t+2]))throw Error(Xue+r+": "+n);this[r]=n}if(r="crypto",i&&(this[r]=Hue[r]),void 0!==(n=e[r])){if(!0!==n&&!1!==n&&0!==n&&1!==n)throw Error(Xue+r+": "+n);if(n){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw Error(Gue);this[r]=!0}else this[r]=!1}return this}function Wce(e){return new this(e).cos()}function zce(e){return new this(e).cosh()}function Xce(e,t){return new this(e).div(t)}function qce(e){return new this(e).exp()}function Gce(e){return cce(e=new this(e),e.e+1,3)}function Yce(){var e,t,r=new this(0);for(Wue=!1,e=0;e=429e7?t[a]=crypto.getRandomValues(new Uint32Array(1))[0]:s[a++]=i%1e7;else{if(!crypto.randomBytes)throw Error(Gue);for(t=crypto.randomBytes(n*=4);a=214e7?crypto.randomBytes(4).copy(t,a):(s.push(i%1e7),a+=4);a=n/4}else for(;a=10;i/=10)n++;n<7&&(r-=7-n)}return o.e=r,o.d=s,o}function ode(e){return cce(e=new this(e),e.e+1,this.rounding)}function sde(e){return(e=new this(e)).d?e.d[0]?e.s:0*e.s:e.s||NaN}function lde(e){return new this(e).sin()}function ude(e){return new this(e).sinh()}function cde(e){return new this(e).sqrt()}function dde(e,t){return new this(e).sub(t)}function hde(){var e=0,t=arguments,r=new this(t[e]);for(Wue=!1;r.s&&++ea.maxE?(i.e=NaN,i.d=null):e.e=10;r/=10)t++;return void(Wue?t>a.maxE?(i.e=NaN,i.d=null):t=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}const Sde="rpc.remote-sync.service",Ade=V(Sde);let Ide=class{constructor(e){this._commandService=e}async syncMutation(e,t){let{fromCollab:r,...n}=t||{};return this._commandService.syncExecuteCommand(e.mutationInfo.id,e.mutationInfo.params,{...n,onlyLocal:!0,fromSync:!0})}};Ide=Ede([wde(0,Vc)],Ide);const Rde="univer.remote-instance-service",xde=V(Rde);let Tde=class{constructor(e,t,r){this._univerInstanceService=e,this._commandService=t,this._logService=r}whenReady(){return Promise.resolve(!0)}async syncMutation(e,t){return this._applyMutation(e.mutationInfo,t)}async createInstance(e){this._logService.debug(`[WebWorkerRemoteInstanceService]: Creating instance with id ${e.unitID}`);let{type:t,snapshot:r}=e;try{if(t===Pi.UNIVER_SHEET)return this._univerInstanceService.createUnit(Pi.UNIVER_SHEET,r),!0;throw Error(`[WebWorkerRemoteInstanceService]: cannot create replica for document type: ${t}.`)}catch(e){throw e instanceof Error?e:TypeError(`${e}`)}}async disposeInstance(e){return this._logService.debug(`[WebWorkerRemoteInstanceService]: Disposing instance with id ${e.unitID}`),this._univerInstanceService.disposeUnit(e.unitID)}_applyMutation(e,t){let{id:r,params:n}=e,{fromCollab:i,...a}=t||{};return this._commandService.syncExecuteCommand(r,n,{...a,onlyLocal:!0,fromSync:!0})}};function Nde(e){return Nde="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Nde(e)}function Mde(e,t,r){return(t=function(e){var t=function(e){if("object"!=Nde(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=Nde(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Nde(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ode(e){let t=e;return new class{call(e,r){let n=t[e];if("function"==typeof n){let e=r?n.apply(t,r):n.call(t);return e instanceof Promise||(e=Promise.resolve(e)),e}throw Error(`[RPC]: method not found for ${e}!`)}subscribe(e,r){let n=t[e];if("function"==typeof n){let e=r?n.apply(t,r):n.call(t);return oq(e)?e:Ai(e)}throw Error(`[RPC]: observable method not found for ${e}!`)}}}function Lde(e){return new Proxy({},{get(t,r){if("dispose"!==r)return function(...t){return function(e){return e.endsWith("$")}(r)?e.subscribe(r,t):e.call(r,t)}}})}Tde=Ede([wde(0,dg),wde(1,Vc),wde(2,kc)],Tde);var kde=function(e){return e[e.REQUEST_INITIALIZATION=50]="REQUEST_INITIALIZATION",e[e.CALL=100]="CALL",e[e.SUBSCRIBE=101]="SUBSCRIBE",e[e.UNSUBSCRIBE=102]="UNSUBSCRIBE",e}(kde||{}),Pde=function(e){return e[e.INITIALIZE=0]="INITIALIZE",e[e.CALL_SUCCESS=201]="CALL_SUCCESS",e[e.CALL_FAILURE=202]="CALL_FAILURE",e[e.SUBSCRIBE_NEXT=300]="SUBSCRIBE_NEXT",e[e.SUBSCRIBE_ERROR=301]="SUBSCRIBE_ERROR",e[e.SUBSCRIBE_COMPLETE=302]="SUBSCRIBE_COMPLETE",e}(Pde||{}),Dde=class extends ru{constructor(e){super(),this._protocol=e,Mde(this,"_initialized",new Qn(!1)),Mde(this,"_lastRequestCounter",0),Mde(this,"_pendingRequests",new Map),this._protocol.send({type:kde.REQUEST_INITIALIZATION}),this._protocol.onMessage.pipe(jX(this.dispose$)).subscribe(e=>this._onMessage(e))}dispose(){this._pendingRequests.clear()}getChannel(e){return{call:(t,r)=>this._disposed?Promise.reject(Error("[ChannelClient]: client is disposed!")):this._remoteCall(e,t,r),subscribe:(t,r)=>{if(this._disposed)throw Error("[ChannelClient]: client is disposed!");return this._remoteSubscribe(e,t,r)}}}_whenReady(){return Jn(this._initialized.pipe(Un(e=>e),hq(1)))}_remoteCall(e,t,r){return this._initialized.getValue()?this._doRemoteCall(e,t,r):this._whenReady().then(()=>this._doRemoteCall(e,t,r))}_doRemoteCall(e,t,r){let n=++this._lastRequestCounter,i={seq:n,type:kde.CALL,channelName:e,method:t,args:r},a=this._pendingRequests;return new Promise((e,t)=>{this._pendingRequests.set(n,{handle(r){switch(r.type){case Pde.CALL_SUCCESS:a.delete(n),e(r.data);break;case Pde.CALL_FAILURE:a.delete(n),t(r.data);break;default:throw Error("[ChannelClient]: unknown response type!")}}}),this._sendRequest(i)})}_remoteSubscribe(e,t,r){return new Tn(n=>{let i=-1,a=()=>{i=++this._lastRequestCounter;let a=kde.SUBSCRIBE,o={seq:i,type:a,channelName:e,method:t,args:r};this._pendingRequests.set(i,{handle(e){switch(e.type){case Pde.SUBSCRIBE_NEXT:n.next(e.data);break;case Pde.SUBSCRIBE_ERROR:n.error(e.data);break;case Pde.SUBSCRIBE_COMPLETE:n.complete();break;default:throw Error("[ChannelClient]: unknown response type!")}}}),this._sendRequest(o)};return this._initialized.getValue()?a():this._whenReady().then(a),()=>{if(-1===i)return;let r={type:kde.UNSUBSCRIBE,seq:i,channelName:e,method:t};this._sendRequest(r)}})}_sendRequest(e){this._protocol.send(e)}_onMessage(e){let{type:t,seq:r}=e;switch(t){case Pde.INITIALIZE:this._initialized.next(!0);break;case Pde.CALL_SUCCESS:case Pde.CALL_FAILURE:case Pde.SUBSCRIBE_NEXT:case Pde.SUBSCRIBE_COMPLETE:case Pde.SUBSCRIBE_ERROR:{var n;let{_pendingRequests:i}=this;null==(n=i.get(r))||n.handle(e),t!==Pde.SUBSCRIBE_NEXT&&i.delete(r);break}}}},Ude=class extends ru{constructor(e){super(),this._protocol=e,Mde(this,"_channels",new Map),Mde(this,"_subscriptions",new Map),this._protocol.onMessage.pipe(jX(this.dispose$)).subscribe(e=>this._onRequest(e)),this._sendInitialize()}dispose(){super.dispose(),this._subscriptions.clear(),this._channels.clear()}registerChannel(e,t){this._channels.set(e,t)}_onRequest(e){switch(e.type){case kde.REQUEST_INITIALIZATION:this._sendInitialize();break;case kde.CALL:this._onMethodCall(e);break;case kde.SUBSCRIBE:this._onSubscribe(e);break;case kde.UNSUBSCRIBE:this._onUnsubscribe(e)}}_sendInitialize(){this._sendResponse({seq:-1,type:Pde.INITIALIZE})}_onMethodCall(e){let t,{channelName:r,method:n,args:i}=e,a=this._channels.get(r);try{if(!a)throw Error(`[ChannelServer]: Channel ${r} not found!`);t=i?a.call(n,i):a.call(n)}catch(e){t=Promise.reject(e instanceof Error?e:Error(String(e)))}t.then(t=>{this._sendResponse({seq:e.seq,type:Pde.CALL_SUCCESS,data:t})}).catch(t=>{t instanceof Error?this._sendResponse({seq:e.seq,type:Pde.CALL_FAILURE,data:t.message}):this._sendResponse({seq:e.seq,type:Pde.CALL_FAILURE,data:String(t)})})}_onSubscribe(e){let{channelName:t,seq:r}=e,n=this._channels.get(t);try{if(!n)throw Error(`[ChannelServer]: Channel ${t} not found!`);let i=n.subscribe(e.method,e.args).subscribe({next:e=>{this._sendResponse({seq:r,type:Pde.SUBSCRIBE_NEXT,data:e})},error:e=>{this._sendResponse({seq:r,type:Pde.SUBSCRIBE_ERROR,data:e.message}),this._sendResponse({seq:r,type:Pde.SUBSCRIBE_COMPLETE})},complete:()=>{this._sendResponse({seq:r,type:Pde.SUBSCRIBE_COMPLETE})}});this._subscriptions.set(e.seq,i)}catch(t){t instanceof Error?this._sendResponse({seq:e.seq,type:Pde.SUBSCRIBE_ERROR,data:t.message}):this._sendResponse({seq:e.seq,type:Pde.SUBSCRIBE_ERROR,data:String(t)})}}_onUnsubscribe(e){let t=this._subscriptions.get(e.seq);t&&(t.unsubscribe(),this._subscriptions.delete(e.seq))}_sendResponse(e){this._protocol.send(e)}};const Bde=V("IRPCChannelService");var Vde=class{constructor(e){Mde(this,"_client",void 0),Mde(this,"_server",void 0),this._client=new Dde(e),this._server=new Ude(e)}dispose(){this._client.dispose(),this._server.dispose()}requestChannel(e){return this._client.getChannel(e)}registerChannel(e,t){this._server.registerChannel(e,t)}};let Fde=class extends ru{constructor(e,t,r,n,i){super(),this._injector=e,this._commandService=t,this._univerInstanceService=r,this._rpcChannelService=n,this._remoteSyncService=i,Mde(this,"_remoteInstanceService",void 0),Mde(this,"_syncingUnits",new Set),Mde(this,"_syncingMutations",new Set),this._initRPCChannels(),this._init()}registerSyncingMutations(e){this._syncingMutations.add(e.id)}syncUnit(e){return this._syncingUnits.add(e),Jl(()=>this._syncingUnits.delete(e))}_initRPCChannels(){this._rpcChannelService.registerChannel(Sde,Ode(this._remoteSyncService)),this._injector.add([xde,{useFactory:()=>Lde(this._rpcChannelService.requestChannel(Rde))}]),this._remoteInstanceService=this._injector.get(xde)}_init(){this._univerInstanceService.getTypeOfUnitAdded$(Pi.UNIVER_SHEET).pipe(jX(this.dispose$)).subscribe(e=>{this._syncingUnits.add(e.getUnitId()),this._remoteInstanceService.createInstance({unitID:e.getUnitId(),type:Pi.UNIVER_SHEET,snapshot:e.getSnapshot()})}),this._univerInstanceService.getTypeOfUnitDisposed$(Pi.UNIVER_SHEET).pipe(jX(this.dispose$)).subscribe(e=>{this._syncingUnits.delete(e.getUnitId()),this._remoteInstanceService.disposeInstance({unitID:e.getUnitId()})}),this.disposeWithMe(this._commandService.onCommandExecuted((e,t)=>{let{type:r,params:n,id:i}=e,a=(null==n?void 0:n.unitId)||"";r===Bc.MUTATION&&(!a||this._syncingUnits.has(a))&&(null==t||!t.fromSync)&&this._syncingMutations.has(i)&&this._remoteInstanceService.syncMutation({mutationInfo:e},t)}))}};Fde=Ede([wde(0,Y(he)),wde(1,Vc),wde(2,dg),wde(3,Bde),wde(4,Ade)],Fde);let jde=class extends tu{constructor(e,t,r,n){super(),this._injector=e,this._remoteInstanceService=t,this._commandService=r,this._rpcChannelService=n,Mde(this,"_remoteSyncService",void 0),this._initRPCChannels(),this._init()}_initRPCChannels(){this._rpcChannelService.registerChannel(Rde,Ode(this._remoteInstanceService)),this._injector.add([Ade,{useFactory:()=>Lde(this._rpcChannelService.requestChannel(Sde))}]),this._remoteSyncService=this._injector.get(Ade)}_init(){this.disposeWithMe(this._commandService.onCommandExecuted((e,t)=>{e.type===Bc.MUTATION&&(null==t||!t.fromSync)&&this._remoteSyncService.syncMutation({mutationInfo:e},t)}))}};jde=Ede([wde(0,Y(he)),wde(1,xde),wde(2,Vc),wde(3,Bde)],jde);var Hde="@univerjs/rpc",Wde="0.19.0";let zde=class extends Rg{constructor(e=Cde,t,r){super(),this._config=e,this._injector=t,this._configService=r,Mde(this,"_internalWorker",null);let{...n}=hr({},Cde,this._config);this._configService.setConfig(bde,n)}dispose(){super.dispose(),this._internalWorker&&(this._internalWorker.terminate(),this._internalWorker=null)}onStarting(){let{workerURL:e}=this._config;if(!e)throw Error("[UniverRPCMainThreadPlugin]: The workerURL is required for the RPC main thread plugin.");let t=e instanceof Worker?e:new Worker(e);this._internalWorker=e instanceof Worker?null:t;let r=function(e){return{send(t){e.postMessage(t)},onMessage:new Tn(t=>{let r=e=>{t.next(e.data)};return e.addEventListener("message",r),()=>e.removeEventListener("message",r)}).pipe(LL(1))}}(t);[[Bde,{useFactory:()=>new Vde(r)}],[Fde],[Ade,{useClass:Ide}]].forEach(e=>this._injector.add(e)),this._injector.get(Fde)}};Mde(zde,"pluginName","UNIVER_RPC_MAIN_THREAD_PLUGIN"),Mde(zde,"packageName",Hde),Mde(zde,"version",Wde),zde=Ede([wde(1,Y(he)),wde(2,Tc)],zde);let Xde=class extends Rg{constructor(e=_de,t,r){super(),this._config=e,this._injector=t,this._configService=r;let{...n}=hr({},_de,this._config);this._configService.setConfig(yde,n)}onStarting(){[[jde],[Bde,{useFactory:()=>new Vde({send(e){postMessage(e)},onMessage:new Tn(e=>{let t=t=>{e.next(t.data)};return addEventListener("message",t),()=>removeEventListener("message",t)}).pipe(LL(1))})}],[xde,{useClass:Tde}]].forEach(e=>this._injector.add(e)),this._injector.get(jde)}};Mde(Xde,"pluginName","UNIVER_RPC_WORKER_THREAD_PLUGIN"),Mde(Xde,"packageName",Hde),Mde(Xde,"version",Wde),Xde=Ede([wde(1,Y(he)),wde(2,Tc)],Xde);let qde=function(e){return e.FALSE="FALSE",e.TRUE="TRUE",e}({}),Gde=function(e){return e[e.SUCCESS=0]="SUCCESS",e[e.ERROR=1]="ERROR",e}({}),Yde=function(e){return e.ALL="#All",e.DATA="#Data",e.HEADERS="#Headers",e.TOTALS="#Totals",e.THIS_ROW="#This Row",e}({}),Qde=function(e){return e[e.FRONT=0]="FRONT",e[e.BACK=1]="BACK",e}({});function Zde(e){return Zde="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Zde(e)}function Kde(e,t,r){return(t=function(e){var t=function(e){if("object"!=Zde(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=Zde(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Zde(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var $de=class{constructor(e){Kde(this,"_cache",void 0),this._cache=new hh(e)}set(e,t){let r=this._hash(e);this._cache.set(r,t)}get(e){let t=this._hash(e);return this._cache.get(t)}clear(){this._cache.clear()}delete(e){this._cache.delete(this._hash(e))}forEach(e,t){this._cache.forEach(e,t)}_hash(e){return e.length<=64?e:function(e){let t=0;for(let r=0;r>>0}(e).toString()}};let Jde=function(e){return e.DIV_BY_ZERO="#DIV/0!",e.NAME="#NAME?",e.VALUE="#VALUE!",e.NUM="#NUM!",e.NA="#N/A",e.CYCLE="#CYCLE!",e.REF="#REF!",e.SPILL="#SPILL!",e.CALC="#CALC!",e.ERROR="#ERROR!",e.CONNECT="#GETTING_DATA",e.NULL="#NULL!",e}({});const ehe=new Set(Object.values(Jde)),the=[...new Set(Object.values(Jde).map(e=>e.length))];var rhe=class{constructor(){Kde(this,"pattern","")}dispose(){}getPattern(){return this.pattern}setPattern(e){this.pattern=e}isError(){return!1}isAsyncObject(){return!1}isAsyncArrayObject(){return!1}isReferenceObject(){return!1}isArray(){return!1}isValueObject(){return!1}isEqualType(e){return!1}};let nhe=function(e){return e.PLUS="+",e.MINUS="-",e.MULTIPLY="*",e.DIVIDED="/",e.CONCATENATE="&",e.POWER="^",e.EQUALS="=",e.NOT_EQUAL="<>",e.GREATER_THAN=">",e.GREATER_THAN_OR_EQUAL=">=",e.LESS_THAN="<",e.LESS_THAN_OR_EQUAL="<=",e}({}),ihe=function(e){return e.EQUALS="=",e.NOT_EQUAL="<>",e.GREATER_THAN=">",e.GREATER_THAN_OR_EQUAL=">=",e.LESS_THAN="<",e.LESS_THAN_OR_EQUAL="<=",e}({});const ahe=new Map([[nhe.NOT_EQUAL,4],[nhe.LESS_THAN,4],[nhe.GREATER_THAN_OR_EQUAL,4],[nhe.EQUALS,4],[nhe.GREATER_THAN,4],[nhe.LESS_THAN_OR_EQUAL,4],[nhe.CONCATENATE,3],[nhe.PLUS,2],[nhe.MINUS,2],[nhe.DIVIDED,1],[nhe.MULTIPLY,1],[nhe.POWER,0]]),ohe=new Set(ahe.keys()),she=new Set([nhe.EQUALS,nhe.NOT_EQUAL,nhe.GREATER_THAN,nhe.GREATER_THAN_OR_EQUAL,nhe.LESS_THAN,nhe.LESS_THAN_OR_EQUAL]);let lhe=function(e){return e.OPEN_BRACKET="(",e.CLOSE_BRACKET=")",e.COMMA=",",e.SINGLE_QUOTATION="'",e.DOUBLE_QUOTATION='"',e.OPEN_BRACES="{",e.CLOSE_BRACES="}",e.COLON=":",e.OPEN_SQUARE_BRACKET="[",e.CLOSE_SQUARE_BRACKET="]",e}({}),uhe=function(e){return e.PERCENTAGE="%",e.POUND="#",e}({});const che=new Set([uhe.PERCENTAGE,uhe.POUND]);let dhe=function(e){return e.AT="@",e.MINUS="-",e.PLUS="+",e}({});var hhe=class extends rhe{constructor(e){super(),this._rawValue=e,Kde(this,"_customData",void 0)}isValueObject(){return!0}toUnitRange(){return{range:{startColumn:-1,startRow:-1,endRow:-1,endColumn:-1},sheetId:"",unitId:""}}getValue(){return 0}getArrayValue(){return[]}setValue(e){}setArrayValue(e){}withCustomData(e){return this._customData=e,this}getCustomData(){return this._customData}isCube(){return!1}isString(){return!1}isNumber(){return!1}isBoolean(){return!1}isLambda(){return!1}isDateFormat(){return!1}isError(){return!1}isNull(){return!1}isHyperlink(){return!1}isImage(){return!1}sum(){return fhe.create(Jde.VALUE)}max(){return fhe.create(Jde.VALUE)}min(){return fhe.create(Jde.VALUE)}count(){return fhe.create(Jde.VALUE)}countA(){return fhe.create(Jde.VALUE)}countBlank(){return fhe.create(Jde.VALUE)}getNegative(){return fhe.create(Jde.VALUE)}getReciprocal(){return fhe.create(Jde.VALUE)}plus(e){return fhe.create(Jde.VALUE)}minus(e){return fhe.create(Jde.VALUE)}multiply(e){return fhe.create(Jde.VALUE)}divided(e){return fhe.create(Jde.VALUE)}mod(e){return fhe.create(Jde.VALUE)}map(e){return fhe.create(Jde.NAME)}mapValue(e){return fhe.create(Jde.NAME)}compare(e,t,r=!1){return fhe.create(Jde.NAME)}isEqual(e){return this.compare(e,ihe.EQUALS)}isNotEqual(e){return this.compare(e,ihe.NOT_EQUAL)}isGreaterThanOrEqual(e){return this.compare(e,ihe.GREATER_THAN_OR_EQUAL)}isLessThanOrEqual(e){return this.compare(e,ihe.LESS_THAN_OR_EQUAL)}isLessThan(e){return this.compare(e,ihe.LESS_THAN)}isGreaterThan(e){return this.compare(e,ihe.GREATER_THAN)}concatenateFront(e){return fhe.create(Jde.NAME)}concatenateBack(e){return fhe.create(Jde.NAME)}plusBy(e){return fhe.create(Jde.VALUE)}minusBy(e){return fhe.create(Jde.VALUE)}multiplyBy(e){return fhe.create(Jde.VALUE)}dividedBy(e){return fhe.create(Jde.VALUE)}modInverse(e){return fhe.create(Jde.VALUE)}compareBy(e,t,r=!1){return fhe.create(Jde.NAME)}concatenate(e,t=Qde.FRONT){let r=this.getValue().toString();if("string"==typeof e)t===Qde.FRONT?r=e+r:r+=e;else if("number"==typeof e)t===Qde.FRONT?r=e.toString()+r:r+=e.toString();else if("boolean"==typeof e){let n=e?"TRUE":"FALSE";t===Qde.FRONT?r=n+r:r+=n}return r}pow(e){return fhe.create(Jde.VALUE)}powInverse(e){return fhe.create(Jde.VALUE)}sqrt(){return fhe.create(Jde.VALUE)}cbrt(){return fhe.create(Jde.VALUE)}cos(){return fhe.create(Jde.VALUE)}cosh(){return fhe.create(Jde.VALUE)}acos(){return fhe.create(Jde.VALUE)}acosh(){return fhe.create(Jde.VALUE)}sin(){return fhe.create(Jde.VALUE)}sinh(){return fhe.create(Jde.VALUE)}asin(){return fhe.create(Jde.VALUE)}asinh(){return fhe.create(Jde.VALUE)}tan(){return fhe.create(Jde.VALUE)}tanh(){return fhe.create(Jde.VALUE)}atan(){return fhe.create(Jde.VALUE)}atan2(e){return fhe.create(Jde.VALUE)}atan2Inverse(e){return fhe.create(Jde.VALUE)}atanh(){return fhe.create(Jde.VALUE)}mean(){return this}median(){return this}var(){return this}std(){return this}log(){return fhe.create(Jde.VALUE)}log10(){return fhe.create(Jde.VALUE)}exp(){return fhe.create(Jde.VALUE)}abs(){return fhe.create(Jde.VALUE)}round(e){return fhe.create(Jde.VALUE)}roundInverse(e){return fhe.create(Jde.VALUE)}floor(e){return fhe.create(Jde.VALUE)}floorInverse(e){return fhe.create(Jde.VALUE)}ceil(e){return fhe.create(Jde.VALUE)}ceilInverse(e){return fhe.create(Jde.VALUE)}convertToNumberObjectValue(){return fhe.create(Jde.VALUE)}convertToBooleanObjectValue(){return fhe.create(Jde.VALUE)}};const mhe=new $de(1e3);var fhe=class e extends hhe{static create(t,r=""){let n=`${t}-${r}`,i=mhe.get(n);if(i)return i;let a=new e(t,r);return mhe.set(n,a),a}constructor(e,t=""){super(e),this._errorType=e,this._errorContent=t}getValue(){return this._errorType}getErrorType(){return this._errorType}getErrorContent(){return this._errorContent}isEqualType(e){return e.getErrorType()===this.getErrorType()}isError(){return!0}};const ghe="yyyy/mm/dd;@",phe=864e5;function vhe(e){let t=Date.UTC(1900,0,1),r=Date.UTC(1900,1,28),n=Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()),i=(n-t)/phe;return n>r&&(i+=1),Math.floor(i)+1}function bhe(e){let t=Date.UTC(1900,0,1,0,0,0),r=Date.UTC(1900,1,28,0,0,0),n=Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()),i=(n-t)/phe;return n>r&&(i+=1),i+1}function Che(e){let t=Date.UTC(1900,0,1),r=Date.UTC(1900,1,28),n=Math.floor(e)-1;return n>(r-t)/phe&&--n,new Date(t+n*phe)}function yhe(e){let t=Date.UTC(1900,0,1,0,0,0),r=e-1;return r>(Date.UTC(1900,1,28,0,0,0)-t)/phe&&--r,r<0&&(r=e),new Date(t+r*phe)}function _he(e){if(!/^\d{4}[-/](0?[1-9]|1[012])[-/](0?[1-9]|[12][0-9]|3[01])$/.test(e))return!1;let t=e.replace(/-/g,"/").replace(/T.+/,""),r=new Date(`${t}`);if(Number.isNaN(r.getTime()))return!1;let n=`${r.getFullYear()}-${(r.getMonth()+1).toString().padStart(2,"0")}-${r.getDate().toString().padStart(2,"0")}`;return e.replace(/\//g,"-").split("-").map(e=>e.padStart(2,"0")).join("-")===n}function whe(e){return Do(e)}function Ehe(e){return Bo(e)}function She(e){return _s(e).isDate}const Ahe={1:[6,0],2:[0,1],3:[1,2],4:[2,3],5:[3,4],6:[4,5],7:[5,6],11:[0],12:[1],13:[2],14:[3],15:[4],16:[5],17:[6]};function Ihe(e){return!!("string"==typeof e&&/^[0|1]{7}/.test(e)||Ahe[Number(e)])}function Rhe(e){if(!Ihe(e))return[];if("string"==typeof e&&/^[0|1]{7}/.test(e)){let t=[];for(let r=1;r<=e.length;r++)"1"==`${e[r-1]}`&&(r===e.length?t.push(0):t.push(r));return t}return Ahe[Number(e)]||[]}function xhe(e,t,r=1,n){let i=Rhe(r),a=Math.floor(e),o=Math.floor(t),s=o>a?a:o,l=0,u=Math.abs(Math.floor(t)-Math.floor(e))+1;for(let e=0;e0&&n.some(e=>Math.floor(e)===t))continue;let r=Mhe(t);i.includes(r)||l++}return o>=a?l:-l}function The(e,t,r=1,n){let i=Rhe(r),a=Math.floor(e),o=a,s=Math.abs(t);for(let e=1;e<=s;e++){let r=t<0?a-e:a+e;if(r<0)return fhe.create(Jde.NUM);if(n&&n.length>0&&n.some(e=>Math.floor(e)===r)){s++;continue}let l=Mhe(r);i.includes(l)?s++:o=r}return o}function Nhe(e){if(e.isError())return e;let t=e.getValue();if(e.isString()){let e;if(whe(`${t}`))e=whe(`${t}`).v;else if(Ehe(`${t}`))e=Ehe(`${t}`).v;else{if(!$d(t))return fhe.create(Jde.VALUE);e=+t}return e instanceof Date&&(e=bhe(e)),+e<0||+e>2958465?fhe.create(Jde.NUM):+e}{let t=+e.getValue();return t<0||t>2958465?fhe.create(Jde.NUM):t}}function Mhe(e){let t=60===Math.floor(e),r=Che(e),n=Date.UTC(1900,1,28),i=Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate());return!t&&i<=n&&(r=new Date(i-phe)),r.getUTCDay()}function Ohe(e,t,r){switch(r){case 0:return function(e,t){let r=Che(e),n=e>0?r.getUTCFullYear():1900,i=e>0?r.getUTCMonth()+1:1,a=e>0?r.getUTCDate():0,o=Che(t),s=t>0?o.getUTCFullYear():1900,l=t>0?o.getUTCMonth()+1:1,u=t>0?o.getUTCDate():0;2===i?Che(e+1).getUTCMonth()+1===3&&(a=30):31===a&&(a=30),31===u&&(a<30?(o=Che(t+1),s=o.getUTCFullYear(),l=o.getUTCMonth()+1,u=o.getUTCDate()):u=30);let c=360*(s-n),d=t>=e?30-a:-a,h=t>=e?u:u-30,m=30*(t>=e?l-i-1:l-i+1);return{days:Math.abs(c+d+h+m),yearDays:360}}(e,t);case 1:return function(e,t){let r,n,i=Che(e),a=e>0?i.getUTCFullYear():1900,o=Che(t),s=t>0?o.getUTCFullYear():1900,l=Math.abs(t-e),u=Math.abs(s-a)+1;if(s0?r.getUTCFullYear():1900,i=e>0?r.getUTCMonth()+1:1,a=e>0?r.getUTCDate():0,o=Che(t),s=t>0?o.getUTCFullYear():1900,l=t>0?o.getUTCMonth()+1:1,u=t>0?o.getUTCDate():0;31===a&&(a=30),31===u&&(u=30);let c=360*(s-n),d=t>=e?30-a:-a,h=t>=e?u:u-30,m=30*(t>=e?l-i-1:l-i+1);return{days:Math.abs(c+d+h+m),yearDays:360}}(e,t)}}const Lhe=[31,29,31,30,31,30,31,31,30,31,30,31],khe=[31,28,31,30,31,30,31,31,30,31,30,31];function Phe(e,t){return function(e){return e%4==0&&e%100!=0||e%400==0}(e)?Lhe[t]:khe[t]}function Dhe(e){return function(e){return e%4==0&&e%100!=0||e%400==0||1900===e}(e)?366:365}function Uhe(e,t){switch(t){case 0:case 2:case 4:return 360;case 1:return Dhe(Che(e).getUTCFullYear());case 3:return 365;default:return-1}}function Bhe(e,t,r){return Phe(e,t)===r}function Vhe(e,t){let r=e.getUTCFullYear(),n=e.getUTCMonth();return Bhe(r,n,e.getUTCDate())?(e.setUTCDate(1),e.setUTCMonth(e.getUTCMonth()+t),r=e.getUTCFullYear(),n=e.getUTCMonth(),e.setUTCDate(Phe(r,n))):e.setUTCMonth(e.getUTCMonth()+t),e}let Fhe=function(e){return e[e.Financial=0]="Financial",e[e.Date=1]="Date",e[e.Math=2]="Math",e[e.Statistical=3]="Statistical",e[e.Lookup=4]="Lookup",e[e.Database=5]="Database",e[e.Text=6]="Text",e[e.Logical=7]="Logical",e[e.Information=8]="Information",e[e.Engineering=9]="Engineering",e[e.Cube=10]="Cube",e[e.Compatibility=11]="Compatibility",e[e.Web=12]="Web",e[e.Array=13]="Array",e[e.Univer=14]="Univer",e[e.User=15]="User",e[e.DefinedName=16]="DefinedName",e[e.Table=17]="Table",e}({});const jhe=[...Object.values(ihe),...Object.values(nhe),...Object.values(lhe),...Object.values(uhe),...Object.values(dhe)];function Hhe(e){return jhe.includes(e)}const Whe=new Set([nhe.PLUS,nhe.MINUS,nhe.MULTIPLY,nhe.DIVIDED,nhe.CONCATENATE,nhe.POWER,nhe.EQUALS,nhe.NOT_EQUAL,nhe.GREATER_THAN,nhe.GREATER_THAN_OR_EQUAL,nhe.LESS_THAN,nhe.LESS_THAN_OR_EQUAL,lhe.OPEN_BRACKET,lhe.COMMA,lhe.COLON,lhe.OPEN_BRACES,lhe.OPEN_SQUARE_BRACKET]),zhe=new Set([nhe.PLUS,nhe.MINUS,nhe.MULTIPLY,nhe.DIVIDED,nhe.CONCATENATE,nhe.POWER,nhe.EQUALS,nhe.NOT_EQUAL,nhe.GREATER_THAN,nhe.GREATER_THAN_OR_EQUAL,nhe.LESS_THAN,nhe.LESS_THAN_OR_EQUAL,lhe.OPEN_BRACKET,lhe.COMMA,lhe.COLON,lhe.OPEN_BRACES,lhe.OPEN_SQUARE_BRACKET,uhe.PERCENTAGE,uhe.POUND]),Xhe='\\[([^\\[\\]\\/?:"<>|*\\\\]+)\\]',qhe=new RegExp(Xhe),Ghe="\\s*?:\\s*?",Yhe="[A-Za-z]+",Qhe="[1-9][0-9]*",Zhe=`'?(${Xhe})?(((?![\\[\\]\\/?*\\\\]).)*!)?'?`,Khe=`\\$?${Yhe}\\$?${Qhe}`,$he=`^(${dhe.AT})?${Zhe}${Khe}${Ghe}${Khe}$`,Jhe=new RegExp($he),eme=`^${Zhe}\\s*?${Khe}(${uhe.POUND})?$`,tme=new RegExp(eme),rme=new RegExp(`^${Zhe}\\$?${Qhe}${Ghe}\\$?${Qhe}$`),nme=new RegExp(`^${Zhe}\\$?${Yhe}${Ghe}\\$?${Yhe}$`),ime=new RegExp(`^${Zhe}\\s*?\\$?${Qhe}$`),ame=new RegExp(`^${Zhe}\\s*?\\$?${Yhe}$`),ome="((?![~!@#$%^&*()_+<>?:,./;’,。、‘:“《》?~!@#¥%……()【】\\[\\]\\/\\\\]).)+",sme="\\[#.+\\]\\s*?,\\s*?",lme="\\[((?{let n=e[r];if(null==n)return!0;null==t[r]&&(t[r]={}),Object.keys(n).forEach(e=>{let i=n[e];t[r][e]=new kd(i)})}),t}function Ame(e){let t={};for(let r in e){let n=e[r];if(null!=n){null==t[r]&&(t[r]={});for(let e in n){let i=n[e],a={};i.forValue((e,t,r)=>{void 0===a[e]&&(a[e]={}),a[e][t]=r}),t[r][e]=a}}}return t}const Ime="LO_1",Rme=new Set(["RAND","RANDBETWEEN","NOW","TODAY"]),xme={type:Bc.MUTATION,id:"sheet.mutation.data-validation-formula-mark-dirty",handler:()=>!0},Tme={id:"formula.mutation.register-function",type:Bc.MUTATION,handler:()=>!0},Nme={id:"formula.mutation.set-array-formula-data",type:Bc.MUTATION,handler:(e,t)=>!0},Mme=/[^0-9]/g,Ome=/[^A-Za-z]/g;function Lme(e){let t="$"===e[0],r=e.substring(1),n=r.indexOf("$")>-1;return uu.isStringNumber(r)&&t&&!n&&(t=!1,n=!0),t&&n?vd.ALL:t?vd.COLUMN:n?vd.ROW:vd.NONE}function kme(e=vd.NONE){let t="",r="";return e===vd.ROW?t="$":e===vd.COLUMN?r="$":e===vd.ALL&&(t="$",r="$"),{rowAbsoluteString:t,columnAbsoluteString:r}}function Pme(e){let{startColumn:t,startRow:r,endColumn:n,endRow:i,startAbsoluteRefType:a,endAbsoluteRefType:o,rangeType:s=pd.NORMAL}=e,l=kme(a),u=kme(o);if(s===pd.ROW||s===pd.ALL)return`${l.rowAbsoluteString}${r+1}:${u.rowAbsoluteString}${i+1}`;if(s===pd.COLUMN)return`${l.columnAbsoluteString}${uu.chatAtABC(t)}:${u.columnAbsoluteString}${uu.chatAtABC(n)}`;let c=`${l.columnAbsoluteString}${uu.chatAtABC(t)}${l.rowAbsoluteString}${r+1}`,d=`${u.columnAbsoluteString}${uu.chatAtABC(n)}${u.rowAbsoluteString}${i+1}`;return c===d?c:`${c}:${d}`}function Dme(e,t){return`${Gme(e)}!${Pme(t)}`}function Ume(e,t,r){return qme(e)||qme(t)?`'[${Yme(e)}]${Yme(t)}'!${Pme(r)}`:`[${e}]${t}!${Pme(r)}`}function Bme(e){let{unitId:t,sheetName:r,range:n}=e;return null!=t&&t.length>0&&null!=r&&r.length>0?Ume(t,r,n):null!=r&&r.length>0?Dme(r,n):Pme(n)}function Vme(e){return{row:Number.parseInt(e.replace(Mme,""))-1,column:uu.ABCatNum(e.replace(Ome,"")),absoluteRefType:Lme(e)}}function Fme(e){let t=qhe.exec(e),r="";null!=t&&(r=t[0].trim(),r=Qme(r.slice(1,r.length-1)),e=e.replace(qhe,""));let n=e.indexOf("!"),i="",a="";return n>-1?(i=e.substring(0,n),"'"===i[0]&&"'"===i[i.length-1]&&(i=i.substring(1,i.length-1)),i=Qme(i),a=e.substring(n+1)):a=e,{refBody:a,sheetName:i,unitId:r}}function jme(e){let{refBody:t,sheetName:r,unitId:n}=Fme(e),i=t.indexOf(":");if(-1===i){let e=Vme(t),i=e.row,a=e.column,o=e.absoluteRefType;return{unitId:n,sheetName:r,range:{startRow:i,startColumn:a,endRow:i,endColumn:a,startAbsoluteRefType:o,endAbsoluteRefType:o}}}let a=t.substring(0,i),o=t.substring(i+1),s=Vme(a),l=Vme(o),u=s.row>l.row?l.row:s.row,c=s.column>l.column?l.column:s.column,d=s.row>l.row?s.row:l.row,h=s.column>l.column?s.column:l.column,m=pd.NORMAL;return Number.isNaN(u)&&Number.isNaN(d)?m=pd.COLUMN:Number.isNaN(c)&&Number.isNaN(h)&&(m=pd.ROW),{unitId:n,sheetName:r,range:{startRow:u,startColumn:c,endRow:d,endColumn:h,startAbsoluteRefType:s.absoluteRefType,endAbsoluteRefType:l.absoluteRefType,rangeType:m}}}const Hme=["LOG10"];function Wme(e){let t=zme(e);if(!Eme(t)||Hme.includes(t.toUpperCase().trim()))return!1;let{range:r}=jme(t);return!(r.endColumn>=ph)}function zme(e){let t=[],r=!1;for(let n=0,i=e.length;nWme(e.trim()))}function qme(e){return 0!==e.length&&!!(function(e){for(let t of jhe)if(e.indexOf(t)>-1)return!0;return!1}(e)||function(e){let t=/^([A-Z]+)([1-9][0-9]*)$/.exec(e);if(!t)return!1;let[,r,n]=t,i=Number(n);if(i<1||i>gh)return!1;let a=fh(r);return!(a<1||a>ph)}(e)||function(e){return/^(R(-?[0-9]+)?C(-?[0-9]+)?|C(-?[0-9]+)?|R(-?[0-9]+)?)$/.test(e)}(e)||function(e){return!/^\p{Letter}/u.test(e.charAt(0))}(e)||/[\s!$%^&*()+\-=\[\]{};':"\\|,.<>\/?()]/.test(e))}function Gme(e){return qme(e)?`'${Yme(e)}'`:e}function Yme(e){return e.replace(/'/g,"''")}function Qme(e){return e.replace(/''/g,"'")}function Zme(e,t){return function(r,n){t(r,n,e)}}function Kme(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}let $me=class extends tu{constructor(e){super(),this._univerInstanceService=e,Kde(this,"_definedNameMap",{}),Kde(this,"_nameCacheMap",{}),Kde(this,"_update$",new On),Kde(this,"update$",this._update$.asObservable()),Kde(this,"_currentRange",{unitId:"",sheetId:"",range:{startRow:0,endRow:0,startColumn:0,endColumn:0}}),Kde(this,"_currentRange$",new On),Kde(this,"currentRange$",this._currentRange$.asObservable()),Kde(this,"_focusRange$",new On),Kde(this,"focusRange$",this._focusRange$.asObservable())}dispose(){super.dispose(),this._definedNameMap={},this._nameCacheMap={},this._update$.complete(),this._currentRange$.complete(),this._focusRange$.complete()}getWorksheetByRef(e,t){var r;let{sheetName:n}=Fme(t);return null==(r=this._univerInstanceService.getUnit(e))?void 0:r.getSheetBySheetName(n)}focusRange(e,t){let r=this.getValueById(e,t);void 0!==r&&this._focusRange$.next({...r,unitId:e})}setCurrentRange(e){this._currentRange=e,this._currentRange$.next(e)}getCurrentRange(){return this._currentRange}getCurrentRangeForString(){return Pme(this._currentRange.range)}registerDefinedNames(e,t){this._definedNameMap[e]=t,this._updateCache(e),this._update()}registerDefinedName(e,t){void 0===this._definedNameMap[e]&&(this._definedNameMap[e]={}),this._definedNameMap[e][t.id]=t,this._updateCache(e),this._update()}removeDefinedName(e,t){var r;null==(r=this._definedNameMap[e])||delete r[t],this._updateCache(e),this._update()}removeUnitDefinedName(e){delete this._definedNameMap[e],this._updateCache(e),this._update()}getDefinedNameMap(e){return this._definedNameMap[e]}getValueByName(e,t){let r=this._nameCacheMap[e];if(r)return r[t.toLowerCase()]||null;let n=this._definedNameMap[e];if(void 0===n)return null;let i=null;for(let e of Object.values(n))if(e.name===t){i=e;break}return i&&(this._nameCacheMap[e]=this._nameCacheMap[e]||{},this._nameCacheMap[e][t.toLowerCase()]=i),i}getValueById(e,t){var r;return null==(r=this._definedNameMap[e])?void 0:r[t]}hasDefinedName(e){return void 0!==this._definedNameMap[e]&&0!==(Array.from(Object.values(this._definedNameMap[e])).length||0)}getAllDefinedNames(){return this._definedNameMap}getDefinedNameByRefString(e,t){if(this._definedNameMap[e])for(let[r,n]of Object.entries(this._definedNameMap[e]))if(n.formulaOrRefString===t)return n}_update(){this._update$.next(null)}_updateCache(e){let t=this._definedNameMap[e];if(void 0!==t){this._nameCacheMap[e]={};for(let r of Object.values(t))this._nameCacheMap[e][r.name.toLowerCase()]=r}else delete this._nameCacheMap[e]}};$me=Kme([Zme(0,dg)],$me);const Jme=V("univer.formula.defined-names.service"),efe={id:"formula.mutation.set-defined-name",type:Bc.MUTATION,handler:(e,t)=>{if(null==t)return!1;let r=e.get(Jme),{id:n,unitId:i,name:a,formulaOrRefString:o,comment:s,hidden:l,localSheetId:u,formulaOrRefStringWithPrefix:c}=t;return r.registerDefinedName(i,{id:n,name:a.trim(),formulaOrRefString:o.trim(),comment:null==s?void 0:s.trim(),hidden:l,localSheetId:u,formulaOrRefStringWithPrefix:c}),!0}},tfe={id:"formula.mutation.remove-defined-name",type:Bc.MUTATION,handler:(e,t)=>{if(null==t)return!1;let r=e.get(Jme),{unitId:n,id:i}=t;return r.removeDefinedName(n,i),!0}},rfe={id:"formula.mutation.set-feature-calculation",type:Bc.MUTATION,handler:()=>!0},nfe={id:"formula.mutation.remove-feature-calculation",type:Bc.MUTATION,handler:()=>!0},ife={id:"formula.mutation.set-formula-calculation-start",type:Bc.MUTATION,handler:()=>!0},afe={id:"formula.mutation.set-trigger-formula-calculation-start",type:Bc.MUTATION,handler:()=>!0},ofe={id:"formula.mutation.set-formula-string-batch-calculation",type:Bc.MUTATION,handler:()=>!0},sfe={id:"formula.mutation.set-formula-string-batch-calculation-result",type:Bc.MUTATION,handler:()=>!0},lfe={id:"formula.mutation.set-formula-calculation-stop",type:Bc.MUTATION,handler:()=>!0},ufe={id:"formula.mutation.set-formula-calculation-notification",type:Bc.MUTATION,handler:()=>!0},cfe={id:"formula.mutation.set-formula-calculation-result",type:Bc.MUTATION,handler:()=>!0},dfe={id:"formula.mutation.set-formula-dependency-calculation",type:Bc.MUTATION,handler:()=>!0},hfe={id:"formula.mutation.set-formula-dependency-calculation-result",type:Bc.MUTATION,handler:()=>!0},mfe={id:"formula.mutation.set-cell-formula-dependency-calculation",type:Bc.MUTATION,handler:()=>!0},ffe={id:"formula.mutation.set-cell-formula-dependency-calculation-result",type:Bc.MUTATION,handler:()=>!0},gfe={id:"formula.mutation.set-query-formula-dependency",type:Bc.MUTATION,handler:()=>!0},pfe={id:"formula.mutation.set-query-formula-dependency-result",type:Bc.MUTATION,handler:()=>!0},vfe={id:"formula.mutation.set-query-formula-dependency-all",type:Bc.MUTATION,handler:()=>!0},bfe={id:"formula.mutation.set-query-formula-dependency-all-result",type:Bc.MUTATION,handler:()=>!0},Cfe={id:"formula.mutation.set-formula-data",type:Bc.MUTATION,handler:(e,t)=>!0},yfe={id:"formula.mutation.set-image-formula-data",type:Bc.MUTATION,handler:(e,t)=>!0},_fe={id:"formula.mutation.set-other-formula",type:Bc.MUTATION,handler:()=>!0},wfe={id:"formula.mutation.remove-other-formula",type:Bc.MUTATION,handler:()=>!0};var Efe=class extends tu{constructor(){super(),Kde(this,"_tableMap",new Map),Kde(this,"_tableOptionMap",new Map),Kde(this,"_update$",new On),Kde(this,"update$",this._update$.asObservable()),this.registerTableOptionMap(Yde.ALL,Yde.ALL),this.registerTableOptionMap(Yde.DATA,Yde.DATA),this.registerTableOptionMap(Yde.HEADERS,Yde.HEADERS),this.registerTableOptionMap(Yde.TOTALS,Yde.TOTALS),this.registerTableOptionMap(Yde.THIS_ROW,Yde.THIS_ROW)}dispose(){super.dispose(),this._update$.complete(),this._tableMap.clear(),this._tableOptionMap.clear()}remove(e,t){var r;null==(r=this._tableMap.get(e))||r.delete(t),this._update()}getTableMap(e){return this._tableMap.get(e)}getTableOptionMap(){return this._tableOptionMap}registerTable(e,t,r){var n;null==this._tableMap.get(e)&&this._tableMap.set(e,new Map),null==(n=this._tableMap.get(e))||n.set(t,r),this._update()}registerTableOptionMap(e,t){this._tableOptionMap.set(e,t)}getTable(e,t){var r;return null==(r=this._tableMap.get(e))?void 0:r.get(t)}hasTable(e,t){let r=this._tableMap.get(e);return!!r&&r.keys().some(e=>e.toLowerCase()===t.toLowerCase())}_update(){this._update$.next(null)}};const Sfe=V("univer.formula.super-table.service"),Afe={id:"formula.mutation.set-super-table",type:Bc.MUTATION,handler:(e,t)=>{let{unitId:r,tableName:n,reference:i}=t;return e.get(Sfe).registerTable(r,n,i),!0}},Ife={id:"formula.mutation.remove-super-table",type:Bc.MUTATION,handler:(e,t)=>{let{unitId:r,tableName:n}=t;return e.get(Sfe).remove(r,n),!0}},Rfe={id:"formula.mutation.set-super-table-option",type:Bc.MUTATION,handler:(e,t)=>{let{tableOption:r,tableOptionType:n}=t;return e.get(Sfe).registerTableOptionMap(r,n),!0}},xfe="engine-formula.config",Tfe="CYCLE_REFERENCE_COUNT",Nfe="RETURN_DEPENDENCY_TREE";Symbol(xfe);const Mfe={},Ofe=new $de(1e5);function Lfe(e){let t=Ofe.get(e);if(t)return t;let r=jme(e);return Ofe.set(e,r),jme(e)}let kfe=function(e){return e[e.NORMAL=0]="NORMAL",e[e.NUMBER=1]="NUMBER",e[e.STRING=2]="STRING",e[e.FUNCTION=3]="FUNCTION",e[e.REFERENCE=4]="REFERENCE",e[e.ARRAY=5]="ARRAY",e[e.DEFINED_NAME=6]="DEFINED_NAME",e[e.TABLE=7]="TABLE",e}({});function Pfe(e){let t="";for(let r of e)t+="string"==typeof r?r:r.token;return t}var Dfe=class e{constructor(){Kde(this,"_parent",void 0),Kde(this,"_token","R_1"),Kde(this,"_children",[]),Kde(this,"_lambdaId",void 0),Kde(this,"_functionDefinitionPrivacyVar",void 0),Kde(this,"_lambdaParameter",""),Kde(this,"_startIndex",-1),Kde(this,"_endIndex",-1),Kde(this,"_definedNames",[])}dispose(){var e;this._children.forEach(e=>{"string"!=typeof e&&e.dispose()}),null==(e=this._functionDefinitionPrivacyVar)||e.clear(),this._functionDefinitionPrivacyVar=null,this._children=[],this._parent=null,this._definedNames=[]}getDefinedNames(){return this._definedNames}getStartIndex(){return this._startIndex}getLambdaId(){return this._lambdaId}setLambdaId(e){this._lambdaId=e}getFunctionDefinitionPrivacyVar(){return this._functionDefinitionPrivacyVar}setLambdaPrivacyVar(e){this._functionDefinitionPrivacyVar=e}getLambdaParameter(){return this._lambdaParameter}setLambdaParameter(e){this._lambdaParameter=e}getParent(){return this._parent}setParent(e){this._parent=e}getChildren(){return this._children}setChildren(e){this._children=e}addChildren(e){this._children.push(e)}addChildrenFirst(e){this._children.unshift(e)}getToken(){return this._token}setToken(e){this._token=e}setIndex(e,t){this._startIndex=e,this._endIndex=t}setDefinedNames(e){this._definedNames=e}hasDefinedNames(){return this._definedNames.length>0}replaceChild(e,t){let r=this._getIndexInParent(e);null!=r&&(this.getChildren().splice(r,1,t),t.setParent(this))}changeToParent(e){let t=this.getParent();t&&t.removeChild(this),this.setParent(e),e.getChildren().push(this)}removeChild(e){let t=this._getIndexInParent(e);null!=t&&this.getChildren().splice(t,1)}serialize(){let t=this.getToken(),r=this.getChildren(),n=[],i=r.length;for(let t=0;t=0;)n===lhe.CLOSE_BRACKET&&t++,n=e[--r];let i=this._getCurrentParamIndex(e,e.length-2);if(null==i||i===Jde.VALUE)return 0;let a=i[0];if("string"==typeof a)return 0;let o=a.getParent(),s=0;for(i[1]===lhe.OPEN_BRACKET&&s++;o;){let e=o.getToken();"P_1"!==e&&e!==lhe.COLON&&-1!==o.getStartIndex()&&"LAMBDA"!==e.toUpperCase()&&(0===t?s+=1:t--),o=o.getParent()}return s}sequenceNodesBuilder(e){let t=Vfe.get(e);if(t)return[...t];let r=this._getSequenceArray(e);if(0===r.length)return;let n=this.getSequenceNode(r);return Vfe.set(e,[...n]),n}convertRefersToAbsolute(e,t,r,n=""){let i=this.sequenceNodesBuilder(e);if(null==i)return e;let a="";e.substring(0,1)===nhe.EQUALS&&(a=nhe.EQUALS);for(let e=0,a=i.length;e0&&this._processPushSequenceNode(t,kfe.FUNCTION,u,c,d,h),(n!==i-1||!this._isLastMergeString(l))&&t.push(l)}return this._mergeSequenceNodeReference(t)}_processPushSequenceNode(e,t,r,n,i,a){this._pushSequenceNode(e,{nodeType:t,token:r,startIndex:n,endIndex:i},a)}_getCurrentParamIndex(e,t){return this._nodeMaker(e,void 0,t)}_isLastMergeString(e){return e===lhe.DOUBLE_QUOTATION||uu.isStringNumber(e)||!Hhe(e)}_mergeSequenceNodeReference(e){let t=[],r=e.length,n=0;for(;n{l.push(e)}),s=!0}}else o+=n||Jde.NAME,s=!0,l.push(d)}else this._checkDefinedNameDirty(d,t)?(o+=Jde.NAME,s=!0,l.push(d)):o+=d}else o+=d}return{sequenceString:o,hasDefinedName:s,definedNames:l}}_getHasSheetNameDefinedName(e,t,r){if(!e.includes("!"))return e;let n=e.split("!");if(2!==n.length)return e;let i=n[0],a=n[1].trim(),o=r.getValueByName(t,a);if(!o)return e;let s=o.localSheetId;return void 0===s||"AllDefaultWorkbook"===s||i===r.getSheetName(t,s)?a:e}_handleNestedDefinedName(e,t){let r=[],n=this._nodeMaker(e,r);return n===Jde.VALUE||0===r.length?n:this._handleDefinedName(r,t)}_simpleCheckDefinedName(e,t){let{getDirtyDefinedNameMap:r,unitId:n}=t,i=r(),a=n;if(null!=a&&null!=i[a]){let t=Object.keys(i[a]);for(let r=0,n=t.length;r-1)return!0}}return!1}_checkDefinedNameDirty(e,t){let{getDirtyDefinedNameMap:r,unitId:n}=t,i=r(),a=n;if(null!=a&&null!=i[a]){let t=Object.keys(i[a]);for(let r=0,n=t.length;r0;){var o;let e=null==(o=i[i.length-1])?void 0:o.trim();if(!e||e===lhe.OPEN_BRACKET)break;let t=ahe.get(e),r=ahe.get(a);if(void 0===t||void 0===r)break;if(!(r>=t))break;n.push(i.pop())}i.push(r)}else if(a===lhe.OPEN_BRACKET)i.push(r);else if(a===lhe.CLOSE_BRACKET)this._processSuffixExpressionCloseBracket(n,i,t,e);else{if(this._checkCloseBracket(t[e-1]))return!1;n.push(r)}}}return!!a&&this._processSuffixExpressionRemain(n,i,e)}_processSuffixExpressionRemain(e,t,r){let n=e[e.length-1];for(;t.length>0;){let r=t.pop();if(!(n instanceof Dfe||r!==lhe.OPEN_BRACKET&&r!==lhe.CLOSE_BRACKET))return!1;e.push(r)}return r.setChildren(e),!0}_processSuffixExpressionCloseBracket(e,t,r,n){if(this._checkOpenBracket(r[n-1])||this._checkOperator(r[n-1]))return!1;for(;t.length>0;){var i;let r=null==(i=t[t.length-1])?void 0:i.trim();if(!r)break;if(r===lhe.OPEN_BRACKET){t.pop();break}e.push(t.pop())}}_checkCloseBracket(e){return e===lhe.CLOSE_BRACKET||e instanceof Dfe}_checkOpenBracket(e){return e===lhe.OPEN_BRACKET}_checkOperator(e){return!(null==e||e instanceof Dfe)&&ohe.has(e)}_deletePlusForPreNode(e){if(null==e)return!0;if(!(e instanceof Dfe)){let t=e.trim();if(ohe.has(t)||t===lhe.OPEN_BRACKET)return!0}return!1}_resetCurrentLexerNode(){this._currentLexerNode=new Dfe}_resetSegment(){this._segment=""}_openBracket(e=Ufe.NORMAL){this._bracketState.push(e)}_closeBracket(){this._bracketState.pop()}_openBracketNormalIndex(){this._openBracketNormalIndexStack.push(this._currentLexerNode.getChildren().length-1)}_getNodesByCurrentBracketNormalIndex(){let e=this._openBracketNormalIndexStack.pop();if(void 0===e)return[];let t=this._currentLexerNode.getChildren();return 0===t.length?[]:t.splice(e)}_openSquareBracket(){this._squareBracketState+=1}_closeSquareBracket(){--this._squareBracketState}_getCurrentBracket(){let e=this._bracketState;return e[e.length-1]}_changeCurrentBracket(e){let t=this._bracketState;t[t.length-1]=e}_openBraces(){this._bracesState+=1}_closeBraces(){--this._bracesState}_openSingleQuotation(){this._singleQuotationState+=1}_closeSingleQuotation(){--this._singleQuotationState}_openDoubleQuotation(){this._doubleQuotationState+=1}_closeDoubleQuotation(){--this._doubleQuotationState}_openLambda(){this._lambdaState=!0}_closeLambda(){this._lambdaState=!1}_openColon(e){this._upLevel=e,this._colonState=!0}_closeColon(){this._upLevel=0,this._colonState=!1}_isTableBracket(){return this._tableBracketState}_openTableBracket(){this._tableBracketState=!0}_closeTableBracket(){this._tableBracketState=!1}_formalErrorOccurred(){this._formulaErrorCount+=1}_hasFormalError(){return this._formulaErrorCount>0}_getLastChildCurrentLexerNode(){let e=this._currentLexerNode.getChildren();if(e&&e.length>0){let t=e[e.length-1];if(t instanceof Dfe)return t}return!1}_getLastChildCurrent(){let e=this._currentLexerNode.getChildren();return!!(e&&e.length>0)&&e[e.length-1]}_setParentCurrentLexerNode(){let e=this._currentLexerNode.getParent();return!!e&&(this._currentLexerNode=e,!0)}_setAncestorCurrentLexerNode(){var e;let t=null==(e=this._currentLexerNode)?void 0:e.getParent(),r=!1;var n;if(t&&"L_1"===t.getToken()){if(null!=t&&null!=(n=t.getParent())&&n.getParent()){var i;let e=null==(i=this._currentLexerNode.getParent())||null==(i=i.getParent())?void 0:i.getParent();e&&(this._currentLexerNode=e),r=!0}}else if(null!=t&&t.getParent()){var a;let e=null==(a=this._currentLexerNode.getParent())?void 0:a.getParent();e&&(this._currentLexerNode=e),r=!0}for(let e=0;e=0;){let t=e[r];if(" "!==t)return t;r--}}_findSecondLastNonSpaceToken(e,t){let r=t,n=0;for(;r>=0;){let t=e[r];if(" "!==t&&(n++,2===n))return t;r--}return null}_findNextToken(e,t){let r=t;for(;r>=0;){let t=e[r];if(" "!==t)return t;r++}}_unexpectedEndingTokenExcludeOperator(e){return e===lhe.OPEN_BRACKET||e===lhe.COMMA||e===nhe.EQUALS||""===e}_unexpectedEndingToken(e){return!(!this._isOperatorToken(e)&&!this._unexpectedEndingTokenExcludeOperator(e))}_isOperatorToken(e){return!!ohe.has(e)}_getSequenceArray(e){let t=[];return this._nodeMaker(e,t),t}_resetTemp(){this._currentLexerNode=new Dfe,this._upLevel=0,this._segment="",this._bracketState=[],this._bracesState=0,this._singleQuotationState=0,this._doubleQuotationState=0,this._lambdaState=!1,this._colonState=!1,this._formulaErrorCount=0}_checkErrorState(){return!!(this._bracketState.length>0||this._bracesState>0||this._singleQuotationState>0||this._doubleQuotationState>0||this._hasFormalError())}_checkSimilarErrorToken(e,t,r){let n=t;if(e!==uhe.POUND)return!0;let i=r[++n];for(;" "===i;)i=r[++n];return!!Hhe(i)}_checkIfErrorObject(e,t){return!!this._findErrorObject(e,t)}_findErrorObject(e,t){for(let r=0;r0||this.isLambdaOpen()){this.isLambdaClose()&&(this._newAndPushCurrentLexerNode(this._segment,o),this._resetSegment()),this._openBracket(Ufe.FUNCTION),this._closeLambda();let r=i[o+1];if(r&&r===lhe.CLOSE_BRACKET){if(!this._setParentCurrentLexerNode()&&o!==a-1)return Jde.VALUE;this._addSequenceArray(t,e,o),o++,this._addSequenceArray(t,r,o),o++,this._closeBracket();continue}r&&this._newAndPushCurrentLexerNode("P_1",o)}else this._pushNodeToChildren(e),this._openBracket(Ufe.NORMAL),this._openBracketNormalIndex(),this._resetSegment();else if(e===lhe.CLOSE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()){this._formulaErrorLastTokenCheck(i,o-1)&&this._formalErrorOccurred(),this._pushNodeToChildren(this._segment),this._resetSegment();let t=this._getCurrentBracket();if(t===Ufe.NORMAL)this._pushNodeToChildren(e);else{if(t!==Ufe.FUNCTION)return Jde.VALUE;{let e=i[o+1];if(e&&e===lhe.OPEN_BRACKET){if(!this._setParentCurrentLexerNode()&&o!==a-1)return Jde.VALUE;this._newAndPushCurrentLexerNode("L_1",o,!0),this._openLambda()}else if(!this._setAncestorCurrentLexerNode()&&o!==a-1)return Jde.VALUE}}this._closeBracket()}else if(e===lhe.OPEN_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()){if(this._pushSegment(e),this._openBraces(),!this._formulaSpellCheck())return Jde.VALUE}else if(e===lhe.CLOSE_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._pushSegment(e),this._pushNodeToChildren(this._segment),this._resetSegment(),this._closeBraces();else if(e===lhe.OPEN_SQUARE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._segment.length>0&&this._openTableBracket(),this._pushSegment(e),this._openSquareBracket();else if(e===lhe.CLOSE_SQUARE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._closeSquareBracket(),this.isSquareBracketClose()?(this._pushSegment(e),this._isTableBracket()&&(this._pushNodeToChildren(this._segment),this._resetSegment()),this._closeTableBracket()):this._pushSegment(e);else if(e===lhe.DOUBLE_QUOTATION&&this.isSingleQuotationClose()&&this.isSquareBracketClose()){if(this.isDoubleQuotationClose())this._openDoubleQuotation();else{let e=i[o+1];e&&e===lhe.DOUBLE_QUOTATION?o++:this._closeDoubleQuotation()}this._pushSegment(e)}else if(e===lhe.SINGLE_QUOTATION&&this.isDoubleQuotationClose()){if(this.isSingleQuotationClose())this._openSingleQuotation(),0===this._segmentCount()&&this._resetSegment();else{let r=i[o+1];if(r&&r===lhe.SINGLE_QUOTATION){this._pushSegment(e),this._addSequenceArray(t,e,o),o++,this._pushSegment(r),this._addSequenceArray(t,r,o),o++;continue}this._closeSingleQuotation()}this._pushSegment(e)}else if(e===lhe.COMMA&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){this._formulaErrorLastTokenCheck(i,o-1)&&this._formalErrorOccurred();let e=this._getCurrentBracket();if(e===Ufe.FUNCTION||null==e){if(this._pushNodeToChildren(this._segment),this._resetSegment(),!this._setParentCurrentLexerNode()&&o!==a-1&&null!=e)return Jde.VALUE;this._newAndPushCurrentLexerNode("P_1",o)}else{let e=new Dfe;e.setToken("CUBE");let t=new Dfe;t.setToken("P_1"),t.changeToParent(e);let r=this._currentLexerNode.getParent();if(!r||r.getToken()!==lhe.COLON)return Jde.VALUE;{let n=r.getParent();if(!n)return Jde.VALUE;r.changeToParent(t),n.setChildren([]),e.changeToParent(n)}this._changeCurrentBracket(Ufe.FUNCTION),this._pushNodeToChildren(this._segment),this._resetSegment(),this._currentLexerNode=e,this._newAndPushCurrentLexerNode("P_1",o)}}else if(e===lhe.COLON&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){let t=new Dfe;t.setToken(e);let r=new Dfe;r.setToken("P_1"),r.setParent(t);let n=new Dfe;n.setToken("P_1"),n.setParent(t),t.getChildren().push(r,n);let i=t,a=0;if(this._segmentCount()>0){let e,n,s=0,l=this._segment.trim(),u=l[0],c=l[1];if(u===dhe.MINUS&&(e=new Dfe,e.setToken(dhe.MINUS),e.setIndex(o-this._segment.length,o-this._segment.length),s++),u===dhe.AT||c===dhe.AT){n=new Dfe,n.setToken(dhe.AT);let t=o-this._segment.length+s;n.setIndex(t,t),e&&(e.addChildren(n),n.setParent(e)),s++}if(s>0&&(this._segment=l.slice(s)),a=s,n)if(n.addChildren(t),t.setParent(n),n.getParent()){let e=n.getParent();e&&(i=e)}else i=n;else e&&(i=e,e.addChildren(t),t.setParent(e));let d=new Dfe;d.setToken(this._segment),d.setParent(r),d.setIndex(o-this._segment.length,o-1),r.getChildren().push(d),this._resetSegment()}else{let e=this._getLastChildCurrentLexerNode();e&&e.changeToParent(r)}this._setCurrentLexerNode(i),this._currentLexerNode=n,this._openColon(a)}else if(che.has(e)&&this._checkSimilarErrorToken(e,o,i)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()&&this.isBracesClose()){this._pushNodeToChildren(this._segment);let t=new Dfe;t.setToken(e),t.setIndex(o-1,o-1);let r=this._getLastChildCurrent();if(r instanceof Dfe)r.changeToParent(t);else if(r===lhe.CLOSE_BRACKET){let e=this._getNodesByCurrentBracketNormalIndex();t.getChildren().push(...e)}else!1!==r&&(t.getChildren().push(r),this._removeLastChild());this._pushNodeToChildren(t),t.setParent(this._currentLexerNode),this._resetSegment()}else if(ohe.has(e)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()&&this.isBracesClose()){let r=this._segment.trim();if(e===nhe.MINUS&&""===r){let r=this._findPreviousToken(i,o-1)||"",n=this._findNextToken(i,o+1)||"";if(this._unexpectedEndingTokenExcludeOperator(r)&&this._isOperatorToken(n)){this._pushNodeToChildren("0"),this._pushNodeToChildren(nhe.MINUS),this._addSequenceArray(t,e,o),this._resetSegment(),o++;continue}if(this._unexpectedEndingToken(r)){if(n===nhe.PLUS){this._pushSegment(nhe.MINUS),this._addSequenceArray(t,e,o),this._addSequenceArray(t,nhe.PLUS,o+1),o+=2;continue}this._pushSegment(nhe.MINUS),this._addSequenceArray(t,e,o),o++;continue}}else{if(this._segment.length>0&&this._isScientificNotation(i,o,e)){this._pushSegment(e),this._addSequenceArray(t,e,o),o++;continue}this._segment.length>0&&""===r?r=this._segment:(this._pushNodeToChildren(this._segment),r="")}if(e===nhe.LESS_THAN||e===nhe.GREATER_THAN){let n=i[o+1];if(n&&ohe.has(e+n)){this._pushNodeToChildren(r+e+n),this._resetSegment(),this._addSequenceArray(t,e,o),o++,this._addSequenceArray(t,n,o),o++;continue}this._pushNodeToChildren(r+e)}else this._pushNodeToChildren(r+e);this._resetSegment()}else(""!==this._segment||" "!==e)&&this._pushSegment(e);this._addSequenceArray(t,e,o),o++}if(this._pushNodeToChildren(this._segment),this._checkErrorState())return Jde.VALUE}_isScientificNotation(e,t,r){let n=e[t-2];if(n&&Number.isNaN(Number(n))||r!==nhe.MINUS&&r!==nhe.PLUS)return!1;let i=e[t+1];if(i&&Number.isNaN(Number(i)))return!1;let a=e[t-1];return a&&"E"===a.toUpperCase()}_addSequenceArray(e,t,r){null==e||e.push({segment:this._segment,currentString:t,cur:r,currentLexerNode:this._currentLexerNode})}getNewFormulaWithPrefix(e,t){return null}getFormulaExprTree(e,t,r,n,i){return null}};let jfe=class extends tu{constructor(e,t){super(),this._univerInstanceService=e,this._lexerTreeBuilder=t,Kde(this,"_arrayFormulaRange",{}),Kde(this,"_arrayFormulaCellData",{}),Kde(this,"_unitImageFormulaData",{})}dispose(){super.dispose(),this._arrayFormulaRange={},this._arrayFormulaCellData={},this._unitImageFormulaData={}}clearPreviousArrayFormulaCellData(e){Object.keys(e).forEach(t=>{let r=e[t];if(null==r)return!0;Object.keys(r).forEach(e=>{var n,i;let a=r[e],o=null==(n=this._arrayFormulaRange)||null==(n=n[t])?void 0:n[e];if(null==o)return!0;let s=new kd(o),l=new kd;var u;null!=(null==(i=this._arrayFormulaCellData[t])?void 0:i[e])&&(l=new kd(null==(u=this._arrayFormulaCellData[t])?void 0:u[e])),a.forValue((e,t)=>{let r=s.getValue(e,t);if(null==r)return!0;let{startRow:n,startColumn:i,endRow:a,endColumn:o}=r;for(let e=n;e<=a;e++)for(let t=i;t<=o;t++)l.setValue(e,t,null);s.realDeleteValue(e,t)}),this._arrayFormulaCellData[t]&&(this._arrayFormulaCellData[t][e]=l.getData())})})}mergeArrayFormulaCellData(e){Object.keys(e).forEach(t=>{let r=e[t];if(null==r)return!0;null==this._arrayFormulaRange[t]&&(this._arrayFormulaRange[t]={}),null==this._arrayFormulaCellData[t]&&(this._arrayFormulaCellData[t]={}),Object.keys(r).forEach(e=>{var n,i;let a=r[e],o=new kd(null==(n=this._arrayFormulaRange[t])?void 0:n[e]),s=new kd(null==(i=this._arrayFormulaCellData[t])?void 0:i[e]);a.forValue((e,t)=>{let r=null==o?void 0:o.getValue(e,t);if(null==r)return!0;let{startRow:n,startColumn:i,endRow:a,endColumn:l}=r;for(let e=n;e<=a;e++)for(let t=i;t<=l;t++)s.setValue(e,t,null)}),a.forValue((e,t,r)=>{s.setValue(e,t,r)}),this._arrayFormulaCellData[t]&&(this._arrayFormulaCellData[t][e]=s.getData())})})}getFormulaData(){let e={},t=this._univerInstanceService.getAllUnitsForType(Pi.UNIVER_SHEET);return 0===t.length||t.forEach(t=>{let r=t.getUnitId();e[r]={},t.getSheets().forEach(t=>{let n=t.getCellMatrix();Hfe(e,r,t.getSheetId(),n)})}),e}getSheetFormulaData(e,t){let r={},n=this._univerInstanceService.getUnit(e);if(null==n)return{};r[e]={};let i=n.getSheetBySheetId(t);return null==i?{}:(Hfe(r,e,t,i.getCellMatrix()),r[e][t])}getArrayFormulaRange(){return this._arrayFormulaRange}setArrayFormulaRange(e){this._arrayFormulaRange=e}getArrayFormulaCellData(){return this._arrayFormulaCellData}setArrayFormulaCellData(e){this._arrayFormulaCellData=e}getUnitImageFormulaData(){return this._unitImageFormulaData}setUnitImageFormulaData(e){this._unitImageFormulaData=e}mergeArrayFormulaRange(e){Object.keys(e).forEach(t=>{let r=e[t];if(null==r)return!0;this._arrayFormulaRange[t]||(this._arrayFormulaRange[t]={}),Object.keys(r).forEach(e=>{var n;let i=new kd(r[e]),a=new kd(null==(n=this._arrayFormulaRange[t])?void 0:n[e]);i.forValue((e,t,r)=>{a.setValue(e,t,r)}),this._arrayFormulaRange[t]&&(this._arrayFormulaRange[t][e]=a.getData())})})}mergeUnitImageFormulaData(e){let t=Object.keys(e);for(let r=0;r{this._unitImageFormulaData[n][t].setValue(e,r,i)}))}}}deleteArrayFormulaRange(e,t,r,n){var i;let a=null==(i=this._arrayFormulaRange[e])?void 0:i[t];if(null==a)return;let o=new kd(a);o.getValue(r,n)&&(o.realDeleteValue(r,n),this._arrayFormulaRange[e]&&(this._arrayFormulaRange[e][t]=o.getData()))}getCalculateData(){let e=this._univerInstanceService.getAllUnitsForType(Pi.UNIVER_SHEET),t={},r={},n={};for(let i of e){let e=i.getUnitId(),a=i.getSheets(),o={},s={};for(let e of a){let t=e.getSheetId(),r=e.getConfig();o[t]={cellData:new kd(r.cellData),rowCount:r.rowCount,columnCount:r.columnCount,rowData:r.rowData,columnData:r.columnData,defaultRowHeight:r.defaultRowHeight,defaultColumnWidth:r.defaultColumnWidth},s[e.getName()]=e.getSheetId()}t[e]=o,r[e]=i.getStyles(),n[e]=s}return{allUnitData:t,unitStylesData:r,unitSheetNameMap:n}}getHiddenRowsFiltered(){let e=this._univerInstanceService.getAllUnitsForType(Pi.UNIVER_SHEET),t={};for(let r of e){let e=r.getUnitId(),n=r.getSheets();t[e]={};for(let r of n){let n=r.getSheetId();t[e][n]={};let i=r.getRowCount()-1,a={};for(let e=0;e<=i;e++)r.getRowVisible(e)||(a[e]={hd:Vu.TRUE});t[e][n]=a}}return t}updateFormulaData(e,t,r){let n=new kd(r),i=this._getSheetFormulaIdMap(e,t),a=new Map,o=this.getFormulaData();null==o[e]&&(o[e]={});let s=o[e];null==s[t]&&(s[t]={});let l=new kd(s[t]||{}),u=new kd;return n.forValue((e,t,r)=>{!function(e,t,r,n,i,a,o){let s=(null==o?void 0:o.f)||"",l=(null==o?void 0:o.si)||"",u=Bd(s),c=Vd(l),d=e.getValue(i,a),h=(null==d?void 0:d.f)||"",m=(null==d?void 0:d.si)||"",f=(null==d?void 0:d.x)||0,g=(null==d?void 0:d.y)||0;function p(){if(Bd(h)&&Vd(m)&&0===f&&0===g){var e;let t=null==r||null==(e=r[m])?void 0:e.f;t?n.set(m,t):n.set(m,h)}}u&&c?(m!==l&&p(),e.setValue(i,a,{f:s,si:l}),r[l]={f:s,r:i,c:a},t.setValue(i,a,{f:s,si:l})):u&&!c?(h!==s&&p(),e.setValue(i,a,{f:s}),t.setValue(i,a,{f:s})):!u&&c?(m!==l&&p(),e.setValue(i,a,{f:"",si:l})):!u&&!c&&e.getValue(i,a)&&(p(),e.realDeleteValue(i,a),t.setValue(i,a,null))}(l,u,i,a,e,t,r)}),l.forValue((e,t,r)=>{let n=(null==r?void 0:r.f)||"",o=(null==r?void 0:r.si)||"";if(Vd(o)){let s=null==i?void 0:i[o],c=a.get(o);if(s&&!Bd(n)){let r=s.f,n=t-s.c,i=e-s.r;l.setValue(e,t,{f:r,si:o,x:n,y:i}),u.setValue(e,t,{f:r,si:o,x:n,y:i})}else if("string"==typeof c){let n=(null==r?void 0:r.x)||0,i=(null==r?void 0:r.y)||0,s=this._lexerTreeBuilder.moveFormulaRefOffset(c,n,i);a.set(o,{r:e,c:t,f:s}),l.setValue(e,t,{f:s,si:o}),u.setValue(e,t,{f:s,si:o})}else if("object"==typeof c){let r=t-c.c,n=e-c.r;l.setValue(e,t,{f:c.f,si:o,x:r,y:n}),u.setValue(e,t,{f:c.f,si:o,x:r,y:n})}}}),u.getMatrix()}updateArrayFormulaRange(e,t,r){var n;let i=null==(n=this._arrayFormulaRange[e])?void 0:n[t];if(!i)return;let a=new kd(i);new kd(r).forValue((e,t,r)=>{a.realDeleteValue(e,t)})}updateArrayFormulaCellData(e,t,r){var n,i;let a=null==(n=this._arrayFormulaRange[e])?void 0:n[t];if(!a)return;let o=new kd(a),s=null==(i=this._arrayFormulaCellData[e])?void 0:i[t];if(!s)return;let l=new kd(s);new kd(r).forValue((e,t,r)=>{!function(e,t,r,n){let i=null==e?void 0:e.getValue(r,n);if(null==i)return!0;let a=[];e.forValue((e,t,o)=>{e===r&&t===n||Oh.intersects(o,i)&&a.push(o)});let{startRow:o,startColumn:s,endRow:l,endColumn:u}=i;for(let e=o;e<=l;e++)for(let r=s;r<=u;r++){let n=!1,i=zd(e,r);a.some(e=>!!Oh.contains(e,i)&&(n=!0,!0)),n||t.realDeleteValue(e,r)}}(o,l,e,t)})}updateImageFormulaData(e,t,r){var n;let i=null==(n=this._unitImageFormulaData[e])?void 0:n[t];i&&new kd(r).forValue((e,t)=>{i.realDeleteValue(e,t)})}getFormulaStringByCell(e,t,r,n){let i=this._univerInstanceService.getUnit(n);if(null==i)return null;let a=i.getSheetBySheetId(r);if(null==a)return null;let o=a.getCellMatrix(),s=o.getValue(e,t);if(null==s)return null;let{f:l,si:u}=s;if(Bd(l))return l;if(Vd(u)){let r=null;return o.forValue((n,i,a)=>{if(null==a)return!0;let{f:o,si:s}=a;return Bd(o)&&u===s?(r=this._lexerTreeBuilder.moveFormulaRefOffset(o,t-i,e-n),!1):void 0}),r}return null}getFormulaDirtyRanges(){let e=this.getFormulaData(),t=[];for(let r in e){let n=e[r];if(!n)continue;let i=this._univerInstanceService.getUnit(r);if(i)for(let e in n){let a=n[e];if(!a)continue;let o=i.getSheetBySheetId(e);if(!o)continue;let s={};for(let e of Object.keys(a)){let t=Number(e);for(let e in a[t]){let r=Number(e),n=o.getCellRaw(t,r),i=Bd(null==n?void 0:n.f)||Vd(null==n?void 0:n.si),a=void 0===(null==n?void 0:n.v)||null===(null==n?void 0:n.v)||""===(null==n?void 0:n.v);if(!i||!a)continue;s[r]||(s[r]=[]);let l=s[r].slice(-1)[0];l&&l.endRow===t-1?l.endRow=t:s[r].push({startRow:t,endRow:t})}}for(let n in s){let i=s[n];for(let a=0;a{if(null==n)return!0;let{f:i,si:a}=n;Bd(i)&&Vd(a)&&(r[a]={f:i,r:e,c:t})}),r}};function Hfe(e,t,r,n){e[t]||(e[t]={}),e[t][r]||(e[t][r]={});let i=new Map,a=new kd(e[t][r]);n.forValue((e,t,r)=>{let n=(null==r?void 0:r.f)||"",o=(null==r?void 0:r.si)||"",s=Bd(n),l=Vd(o);s&&l?(a.setValue(e,t,{f:n,si:o}),i.set(o,{f:n,r:e,c:t})):s&&!l?a.setValue(e,t,{f:n}):!s&&l&&a.setValue(e,t,{f:"",si:o})}),a.forValue((e,t,r)=>{let n=(null==r?void 0:r.f)||"",o=(null==r?void 0:r.si)||"";if(Vd(o)&&!Bd(n)){let r=i.get(o);if(r){let n=r.f,i=t-r.c,s=e-r.r;a.setValue(e,t,{f:n,si:o,x:i,y:s})}else a.realDeleteValue(e,t)}});let o=a.getMatrix();return{[t]:{[r]:o}}}jfe=Kme([Zme(0,dg),Zme(1,Y(Ffe))],jfe);const Wfe=Symbol("EMPTY_CELL"),zfe=new class{constructor(){Kde(this,"_cache",new Map),Kde(this,"_continueBuildingCache",new Map)}set(e,t,r,n,i,a=!1){if(!this.shouldContinueBuildingCache(e,t,r,i)&&!a)return;let o=this._cache.get(e);null==o&&(o=new Map,this._cache.set(e,o));let s=o.get(t);null==s&&(s=new Map,o.set(t,s));let l=s.get(r);if(null==l&&(l=new Map,s.set(r,l)),a)for(let[e,t]of l)if(t.has(i)){t.delete(i);break}let u="string"==typeof n?n.toLowerCase():n;(""===u||null===u)&&(u=Wfe);let c=l.get(u);null==c&&(c=new Set,l.set(u,c)),c.add(i)}getCellValuePositions(e,t,r){var n;return null==(n=this._cache.get(e))||null==(n=n.get(t))?void 0:n.get(r)}getCellPositions(e,t,r,n,i){var a;let o="string"==typeof n?n.toLowerCase():n;(""===o||null===o)&&(o=Wfe);let s=null==(a=this._cache.get(e))||null==(a=a.get(t))||null==(a=a.get(r))?void 0:a.get(o);return s&&[...s].filter(e=>i.some(([t,r])=>e>=t&&e<=r))}setContinueBuildingCache(e,t,r,n,i){if(-1===r||-1===n||-1===i)return;let a=this._continueBuildingCache.get(e);null==a&&(a=new Map,this._continueBuildingCache.set(e,a));let o=a.get(t);null==o&&(o=new Map,a.set(t,o));let s=o.get(r);if(null==s)return s=new kue,s.insert([n,i]),void o.set(r,s);this._handleNewInterval(s,n,i)}shouldContinueBuildingCache(e,t,r,n){var i;if(-1===r||-1===n)return!1;let a=null==(i=this._continueBuildingCache.get(e))||null==(i=i.get(t))?void 0:i.get(r);return!a||0===a.search([n,n]).length}canUseCache(e,t,r,n,i){var a;let o=null==(a=this._continueBuildingCache.get(e))||null==(a=a.get(t))?void 0:a.get(r);if(-1===r||-1===n||-1===i||!o)return{rowsInCache:[],rowsNotInCache:[]};let s=o.search([n,i]);if(0===s.length)return{rowsInCache:[],rowsNotInCache:[]};s.sort((e,t)=>e[0]-t[0]);let l=[],u=[],c=n;for(let e=0;e=t){if(i<=r){l.push([c,i]);break}l.push([c,r]),c=r+1,e===s.length-1&&c<=i&&u.push([c,i])}else{if(i>r){l.push([t,r]),u.push([c,t-1]),c=r+1,e===s.length-1&&c<=i&&u.push([c,i]);continue}l.push([t,i]),u.push([c,t-1])}}return{rowsInCache:l,rowsNotInCache:u}}clear(){this._cache.clear(),this._continueBuildingCache.clear()}_handleNewInterval(e,t,r){let n=e.search([t,r]);if(0===n.length){let i=[t-1<0?0:t-1,r+1];if(n=e.search(i),0===n.length)return void e.insert([t,r])}let i=t,a=r;for(let t of n)i=Math.min(i,t[0]),a=Math.max(a,t[1]),e.remove(t);e.insert([i,a])}};var Xfe=class extends tu{constructor(...e){super(...e),Kde(this,"_getRowFilteredCallback",void 0)}register(e){this._getRowFilteredCallback=e}getRowFiltered(e,t,r){var n;return!!this._getRowFilteredCallback&&null!=(n=this._getRowFilteredCallback(e,t,r))&&n}};const qfe=V("univer.formula.sheet-row-filtered.service");let Gfe=class extends tu{constructor(e,t,r,n){super(),this._univerInstanceService=e,this._localeService=t,this._formulaDataModel=r,this._sheetRowFilteredService=n,Kde(this,"_unitData",{}),Kde(this,"_unitStylesData",{}),Kde(this,"_arrayFormulaCellData",{}),Kde(this,"_arrayFormulaRange",{}),Kde(this,"_formulaData",{}),Kde(this,"_sheetNameMap",{}),Kde(this,"_forceCalculate",!1),Kde(this,"_clearDependencyTreeCache",{}),Kde(this,"_dirtyRanges",[]),Kde(this,"_dirtyNameMap",{}),Kde(this,"_dirtyDefinedNameMap",{}),Kde(this,"_dirtyUnitFeatureMap",{}),Kde(this,"_dirtyUnitOtherFormulaMap",{}),Kde(this,"_excludedCell",void 0),Kde(this,"_sheetIdToNameMap",{}),Kde(this,"_executeUnitId",""),Kde(this,"_executeSubUnitId","")}dispose(){super.dispose(),this._unitData={},this._unitStylesData={},this._arrayFormulaCellData={},this._arrayFormulaRange={},this._formulaData={},this._sheetNameMap={},this._clearDependencyTreeCache={},this._dirtyRanges=[],this._dirtyNameMap={},this._dirtyDefinedNameMap={},this._dirtyUnitFeatureMap={},this._dirtyUnitOtherFormulaMap={},this._excludedCell={},this._sheetIdToNameMap={}}getExecuteUnitId(){return this._executeUnitId}getExecuteSubUnitId(){return this._executeSubUnitId}setExecuteUnitId(e){this._executeUnitId=e}setExecuteSubUnitId(e){this._executeSubUnitId=e}getExcludedRange(){return this._excludedCell}getUnitData(){return this._unitData}getUnitStylesData(){return this._unitStylesData}getFormulaData(){return this._formulaData}getArrayFormulaCellData(){return this._arrayFormulaCellData}getArrayFormulaRange(){return this._arrayFormulaRange}getSheetNameMap(){return this._sheetNameMap}isForceCalculate(){return this._forceCalculate}getDirtyRanges(){return this._dirtyRanges}getDirtyNameMap(){return this._dirtyNameMap}getDirtyDefinedNameMap(){return this._dirtyDefinedNameMap}getDirtyUnitFeatureMap(){return this._dirtyUnitFeatureMap}getDirtyUnitOtherFormulaMap(){return this._dirtyUnitOtherFormulaMap}getSheetName(e,t){return null==this._sheetIdToNameMap[e]?"":this._sheetIdToNameMap[e][t]||""}setSheetNameMap(e){this._sheetIdToNameMap=e}getClearDependencyTreeCache(){return this._clearDependencyTreeCache}getLocale(){return this._localeService.getCurrentLocale()}getSheetsInfo(){let{id:e,sheetOrder:t}=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET).getSnapshot();return{sheetOrder:t,sheetNameMap:this._sheetIdToNameMap[e]}}getSheetRowColumnCount(e,t){let r=this._univerInstanceService.getUnit(e),n=null==r?void 0:r.getSheetBySheetId(t),i=null==n?void 0:n.getSnapshot();if(!i)return{rowCount:0,columnCount:0};let{rowCount:a,columnCount:o}=i;return{rowCount:a,columnCount:o}}getFilteredOutRows(e,t,r,n){let i=[];for(let a=r;a<=n;a++)this._sheetRowFilteredService.getRowFiltered(e,t,a)&&i.push(a);return i}load(e){if(e.allUnitData&&e.unitSheetNameMap&&e.unitStylesData)this._unitData=e.allUnitData,this._unitStylesData=e.unitStylesData,this._sheetNameMap=e.unitSheetNameMap;else{let{allUnitData:e,unitSheetNameMap:t,unitStylesData:r}=this._loadSheetData();this._unitData=e,this._unitStylesData=r,this._sheetNameMap=t}e.rowData&&this._applyUnitRowData(e.rowData),this._formulaData=e.formulaData,this._arrayFormulaCellData=Sme(e.arrayFormulaCellData),this._arrayFormulaRange=e.arrayFormulaRange,this._forceCalculate=e.forceCalculate,this._clearDependencyTreeCache=e.clearDependencyTreeCache||{},this._dirtyRanges=e.dirtyRanges,this._dirtyNameMap=e.dirtyNameMap,this._dirtyDefinedNameMap=e.dirtyDefinedNameMap,this._dirtyUnitFeatureMap=e.dirtyUnitFeatureMap,this._dirtyUnitOtherFormulaMap=e.dirtyUnitOtherFormulaMap,this._excludedCell=e.excludedCell,this._mergeNameMap(this._sheetNameMap,this._dirtyNameMap)}loadDataLite(e){let{allUnitData:t,unitSheetNameMap:r,unitStylesData:n}=this._loadSheetData();this._unitData=t,this._unitStylesData=n,this._sheetNameMap=r,this._formulaData=this._formulaDataModel.getFormulaData(),this._arrayFormulaCellData=Sme(this._formulaDataModel.getArrayFormulaCellData()),this._arrayFormulaRange=this._formulaDataModel.getArrayFormulaRange(),e&&this._applyUnitRowData(e)}getDirtyData(){return{forceCalculation:this._forceCalculate,dirtyRanges:this._dirtyRanges,dirtyNameMap:this._dirtyNameMap,dirtyDefinedNameMap:this._dirtyDefinedNameMap,dirtyUnitFeatureMap:this._dirtyUnitFeatureMap,dirtyUnitOtherFormulaMap:this._dirtyUnitOtherFormulaMap,clearDependencyTreeCache:this._clearDependencyTreeCache}}loadDirtyRangesAndExcludedCell(e,t){this._dirtyRanges=e,this._excludedCell=t,this._dirtyNameMap={}}registerUnitData(e){this._unitData=e}registerFormulaData(e){this._formulaData=e}registerSheetNameMap(e){this._sheetNameMap=e}_mergeNameMap(e,t){Object.keys(t).forEach(r=>{t[r]&&Object.keys(t[r]).forEach(n=>{null==e[r]&&(e[r]={}),e[r][t[r][n]]=n})}),this._sheetIdToNameMap={},Object.keys(e).forEach(t=>{Object.keys(e[t]).forEach(r=>{null==this._sheetIdToNameMap[t]&&(this._sheetIdToNameMap[t]={}),this._sheetIdToNameMap[t][e[t][r]]=r})})}_loadSheetData(){let e=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET),t=null==e?void 0:e.getActiveSheet();return this._executeUnitId=null==e?void 0:e.getUnitId(),this._executeSubUnitId=null==t?void 0:t.getSheetId(),this._formulaDataModel.getCalculateData()}_applyUnitRowData(e){for(let t in e)if(null!=e[t])for(let r in e[t])null!=e[t][r]&&(null==this._unitData[t]&&(this._unitData[t]={}),null==this._unitData[t][r]&&(this._unitData[t][r]={cellData:new kd({}),rowCount:0,columnCount:0,rowData:{},columnData:{}}),this._unitData[t][r].rowData=e[t][r])}};Gfe=Kme([Zme(0,dg),Zme(1,Y(Cg)),Zme(2,Y(jfe)),Zme(3,Y(qfe))],Gfe);const Yfe=V("univer.formula.current-data.service");let Qfe=class extends tu{constructor(e,t,r){super(),this._definedNamesService=e,this._lexerTreeBuilder=t,this._formulaCurrentConfigService=r}treeBuilder(e,t=!0){let r=this._definedNamesService.getAllDefinedNames();return this._isDeepDefinedNameMapEmpty(r)?this._lexerTreeBuilder.treeBuilder(e,t):this._lexerTreeBuilder.treeBuilder(e,t,{unitId:this._formulaCurrentConfigService.getExecuteUnitId(),getValueByName:this._definedNamesService.getValueByName.bind(this._definedNamesService),getDirtyDefinedNameMap:this._formulaCurrentConfigService.getDirtyDefinedNameMap.bind(this._formulaCurrentConfigService),getSheetName:this._formulaCurrentConfigService.getSheetName.bind(this._formulaCurrentConfigService)})}_isDeepDefinedNameMapEmpty(e){for(let t in e)if(Object.keys(e[t]).length>0)return!1;return!0}};function Zfe(e){if(null==e)return!0;let{v:t,f:r,si:n,p:i}=e;return!(null!=t&&("string"!=typeof t||0!==t.length)||null!=r&&r.length>0||null!=n&&n.length>0||null!=i)}function Kfe(e,t=!1){return(t||Bd(null==e?void 0:e.f)||Vd(null==e?void 0:e.si))&&"string"==typeof(null==e?void 0:e.v)&&ehe.has(e.v)?e.v:null}function $fe(e,t,r,n,i){let a=Object.keys(i);for(let s of a){var o;let a=i[s],l=null==a||null==(o=a[n])?void 0:o[r];if(null==l)continue;let u=l.getValue(e,t);if(null!=u)return u}}Qfe=Kme([Zme(0,Jme),Zme(1,Y(Ffe)),Zme(2,Yfe)],Qfe);let Jfe=function(e){return e[e.MIN=0]="MIN",e[e.MAX=1]="MAX",e}({}),ege=function(e){return e[e.NORMAL=0]="NORMAL",e[e.MIN=1]="MIN",e[e.MAX=2]="MAX",e}({});function tge(){return Intl&&Intl.Collator?new Intl.Collator(void 0,{numeric:!1}).compare:(e,t)=>e.localeCompare(t)}function rge(e){return e.indexOf("*")>-1||e.indexOf("?")>-1}function nge(e,t){let r=function(e){return e.replace(/[.+^${}()|[\]\\]/g,"\\$&")}(t).replace(/~?[*?]/g,e=>e.startsWith("~")?`\\${e.substring(1)}`:"*"===e?".*":"?"===e?".":e);return RegExp(`^${r}$`).test(e)}function ige(e){return e.replace(/~?[*?]/g,e=>e.startsWith("~")?e.substring(1):" ")}function age(e){switch(e){case 1:return ege.MAX;case 0:return ege.NORMAL;case-1:return ege.MIN;default:return ege.NORMAL}}function oge(e){return-2===e?Jfe.MAX:Jfe.MIN}var sge=function(e){return e[e.General=0]="General",e[e.Number=1]="Number",e[e.Currency=2]="Currency",e[e.Accounting=3]="Accounting",e[e.Date=4]="Date",e[e.Time=5]="Time",e[e.Percentage=6]="Percentage",e[e.Fraction=7]="Fraction",e[e.Scientific=8]="Scientific",e[e.Text=9]="Text",e[e.Special=10]="Special",e[e.Custom=11]="Custom",e}(sge||{});sge.Currency,sge.Date,sge.Time,sge.Custom,sge.Fraction,sge.General,sge.Custom,sge.Number,sge.Percentage,sge.Scientific,sge.Text,sge.Time,sge.Custom;const lge=new $de(1e5),uge=new Map([[Iu.EN_US,"$"],[Iu.RU_RU,"₽"],[Iu.VI_VN,"₫"],[Iu.ZH_CN,"¥"],[Iu.ZH_TW,"NT$"],[Iu.FR_FR,"€"],[Iu.FA_IR,"﷼"],[Iu.KO_KR,"₩"],[Iu.ES_ES,"€"],[Iu.CA_ES,"€"]]);function cge(e){return uge.get(e)||"$"}function dge(e,t=2){let r=t;t>127&&(r=127);let n="";return r>0&&(n=`.${"0".repeat(r)}`),`"${cge(e)}"#,##0${n}_);[Red]("${cge(e)}"#,##0${n})`}const hge=new $de(1e5);function mge(e){let t;switch(e){case ihe.EQUALS:t=ihe.EQUALS;break;case ihe.GREATER_THAN:t=ihe.LESS_THAN;break;case ihe.GREATER_THAN_OR_EQUAL:t=ihe.LESS_THAN_OR_EQUAL;break;case ihe.LESS_THAN:t=ihe.GREATER_THAN;break;case ihe.LESS_THAN_OR_EQUAL:t=ihe.GREATER_THAN_OR_EQUAL;break;case ihe.NOT_EQUAL:t=ihe.NOT_EQUAL}return t}function fge(e,t){let r=e*t;return Number.isSafeInteger(r)?r:new vde(e).mul(t).toNumber()}function gge(e,t){let r=10**Math.trunc(t),n=bge(e,r);return Math.round(fge(e,r)+n)/r}function pge(e,t){let r=10**Math.trunc(t),n=bge(e,r);return Math.floor(fge(e,r)+n)/r}function vge(e,t){let r=10**Math.trunc(t),n=bge(e,r);return Math.ceil(fge(e,r)-n)/r}function bge(e,t){return 2**-52*Math.max(1,Math.abs(fge(e,t)))}function Cge(e,t){return e-t*Math.floor(e/t)}function yge(e,t){return e===t}function _ge(e,t=15){return Math.floor(Math.abs(e)).toString().length>=t?e:Number.parseFloat(e.toPrecision(t))}function wge(e,t=12,r=1e-10){let n=_ge(e,t);return function(e,t,r=2**-52){return Math.abs(e-t)t}(e,t);case ihe.GREATER_THAN_OR_EQUAL:return function(e,t){return e>=t}(e,t);case ihe.LESS_THAN:return function(e,t){return et;break;case ihe.GREATER_THAN_OR_EQUAL:n=e>=t;break;case ihe.LESS_THAN:n=et;case ihe.GREATER_THAN_OR_EQUAL:return e>=t;case ihe.LESS_THAN:return eige(t);break;case ihe.LESS_THAN:case ihe.LESS_THAN_OR_EQUAL:n=ee)}getRowCount(){return this._rowCount}setRowCount(e){this._rowCount=e}getColumnCount(){return this._columnCount}setColumnCount(e){this._columnCount=e}setCurrent(e,t){this._currentRow=e,this._currentColumn=t}setUnitId(e){this._unitId=e}getUnitId(){return this._unitId}setSheetId(e){this._sheetId=e}getSheetId(){return this._sheetId}getCurrentRow(){return this._currentRow}getCurrentColumn(){return this._currentColumn}getArrayValue(){return this._values}setArrayValue(e){this._clearCache(),this._values=e}isArray(){return!0}setDefaultValue(e){this._defaultValue=e}get(e,t){var r;return(null==(r=this._values[e])?void 0:r[t])||this._defaultValue}getRealValue(e,t){let r=this._values[e];if(null==r)return null;let n=r[t];return null==n?null:n}getValueOrDefault(e,t){return this.get(e,t)||this._defaultValue}set(e,t,r){e>=this._rowCount||t>=this._columnCount?console.error("Exceeding array bounds."):(this._clearCache(),this._values[e][t]=r)}getRangePosition(){return{startRow:0,endRow:this.getRowCount()-1,startColumn:0,endColumn:this.getColumnCount()-1}}iterator(e){let{startRow:t,endRow:r,startColumn:n,endColumn:i}=this.getRangePosition(),a=this.getArrayValue();for(let s=t;s<=r;s++)for(let t=n;t<=i;t++){var o;if(!1===e((null==(o=a[s])?void 0:o[t])||this._defaultValue,s,t))return}}iteratorReverse(e){let{startRow:t,endRow:r,startColumn:n,endColumn:i}=this.getRangePosition(),a=this.getArrayValue();for(let s=r;s>=t;s--)for(let t=i;t>=n;t--){var o;if(!1===e((null==(o=a[s])?void 0:o[t])||this._defaultValue,s,t))return}}getLastTruePosition(){let e;return this.iteratorReverse((t,r,n)=>{if(null!=t&&t.isBoolean()&&!0===t.getValue())return e={row:r,column:n},!1}),e}getFirstTruePosition(){let e;return this.iterator((t,r,n)=>{if(null!=t&&t.isBoolean()&&!0===t.getValue())return e={row:r,column:n},!1}),e}getFirstCell(){let{startRow:e,startColumn:t}=this.getRangePosition();return this.get(e,t)||this._defaultValue||Ege.create()}getLastCell(){let{endRow:e,endColumn:t}=this.getRangePosition();return this.get(e,t)||this._defaultValue||Ege.create()}pick(e){let t=this.pickRaw(e);return this._createNewArray(t,1,t[0].length)}pickRaw(e){let t=e.getRowCount(),r=e.getColumnCount();if(t!==this._rowCount||r!==this._columnCount)return[[Ege.create()]];let n=[];n[0]=[];for(let i=0;i=this._rowCount||a>=this._columnCount)return;let l=`${r}_${n}_${i}_${a}_${o}_${s}`,u=this._sliceCache.get(l);if(null!=u)return u;let c=[],d=this._values,h=0,m=0;for(let e=r;e1?-1:r+this._currentRow,g=s>1?-1:a+this._currentColumn,p=this._createNewArray(c,c.length,c[0].length,f,g);return p.setDefaultValue(this._defaultValue),this._sliceCache.set(l,p),p}sortByRow(e){let t=this._transposeArray(this._values);t.sort(this._sort(e)),this._clearCache(),this._values=this._transposeArray(t)}sortByColumn(e){this._clearCache(),this._values.sort(this._sort(e))}transpose(){let e=this._transposeArray(this._values),t=this._rowCount,r=this._columnCount,n=this._createNewArray(e,r,t);return n.setDefaultValue(this._defaultValue),n}orderSearch(e,t=ege.MIN,r=!1,n=!1){let i,a,o,s,l=(r,l,u)=>{if(null==r||r.isNull())return!0;let c;if(c=!0===n?r.compare(e,ihe.EQUALS):r.isEqual(e),!0===(null==c?void 0:c.getValue()))return i=r,o={row:l,column:u},!1;t===ege.MAX?!0===r.isGreaterThan(e).getValue()&&(null==a||!0===r.minus(e).abs().isLessThanOrEqual(a.minus(e).abs()).getValue())&&(a=r,s={row:l,column:u}):t===ege.MIN&&!0===r.isLessThan(e).getValue()&&(null==a||!0===r.minus(e).abs().isLessThanOrEqual(a.minus(e).abs()).getValue())&&(a=r,s={row:l,column:u})};return r?this.iteratorReverse((e,t,r)=>l(e,t,r)):this.iterator((e,t,r)=>l(e,t,r)),null!=i?o:null!=a?s:void 0}binarySearch(e,t=Jfe.MIN,r=ege.MIN){if(e.isError())return;let{stringArray:n,stringPosition:i,numberArray:a,numberPosition:o}=this.flattenPosition();return e.isString()?this._binarySearch(e,n,i,t,r):this._binarySearch(e,a,o,t,r)}_binarySearch(e,t,r,n=Jfe.MIN,i=ege.MIN){let a=tge(),o=Number(e.getValue()),s=!Number.isNaN(o),l=0,u=t.length-1,c=-1,d=-1,h=-1;for(;l<=u;){let r,i=Math.floor((l+u)/2),m=t[i];if(m.isNull())r=n===Jfe.MIN?1:-1;else{let t=m.getValue();if(s){let e=Number(t);r=Number.isNaN(e)?1:Math.sign(e-o)}else r=a(t.toString().toLocaleLowerCase(),e.getValue().toString().toLocaleLowerCase())}if(n===Jfe.MAX&&(r=-r),0===r){c=i;break}r<0?(d=i,l=i+1):(h=i,u=i-1)}return i===ege.NORMAL?-1===c?void 0:r[c]:i===ege.MIN?-1===c?n===Jfe.MIN?r[d]:r[h]:r[c]:i===ege.MAX?-1===c?n===Jfe.MIN?r[h]:r[d]:r[c]:void 0}sum(){let e=Age.create(0);return this.iterator(t=>!!(null==t||t.isString()||t.isBoolean()||t.isNull())||(t.isError()?(e=t,!1):void(e=e.plus(t)))),e}max(){let e=Age.create(-1/0);return this.iterator(t=>null==t||(t.isError()?(e=t,!1):!!(t.isString()||t.isNull()||t.isBoolean())||void(e.isLessThan(t).getValue()&&(e=t)))),e}min(){let e=Age.create(1/0);return this.iterator(t=>null==t||(t.isError()?(e=t,!1):!!(t.isString()||t.isNull()||t.isBoolean())||void(e.isGreaterThan(t).getValue()&&(e=t)))),e}count(){let e=Age.create(0);return this.iterator(t=>{if(null==t||t.isError()||t.isString()||t.isNull()||t.isBoolean())return!0;e=e.plusBy(1)}),e}countA(){let e=Age.create(0);return this.iterator(t=>{if(null==t||t.isNull())return!0;e=e.plusBy(1)}),e}countBlank(){let e=Age.create(0);return this.iterator(t=>{(null==t||t.isNull()||""===t.getValue())&&(e=e.plusBy(1))}),e}getNegative(){return e.create("{0}").minus(this)}getReciprocal(){return e.create("{1}").divided(this)}plus(e){return this._batchOperator(e,Nge.PLUS)}minus(e){return this._batchOperator(e,Nge.MINUS)}multiply(e){return this._batchOperator(e,Nge.MULTIPLY)}divided(e){return this._batchOperator(e,Nge.DIVIDED)}mod(e){return this._batchOperator(e,Nge.MOD)}modInverse(e){return this.map(t=>t.isError()?t:e.mod(t))}compare(e,t,r){return this._batchOperator(e,Nge.COMPARE,t,r)}concatenateFront(e){return this._batchOperator(e,Nge.CONCATENATE_FRONT)}concatenateBack(e){return this._batchOperator(e,Nge.CONCATENATE_BACK)}map(e){return this.mapValue((t,r,n)=>null==t?Ege.create():t.isError()?t:e(t,r,n))}mapValue(e){let t=this._rowCount,r=this._columnCount,n=[];for(let a=0;at.isError()?t:e.pow(t))}sqrt(){return this.map(e=>e.isError()?e:e.sqrt())}cbrt(){return this.map(e=>e.isError()?e:e.cbrt())}cos(){return this.map(e=>e.isError()?e:e.cos())}cosh(){return this.map(e=>e.isError()?e:e.cosh())}acos(){return this.map(e=>e.isError()?e:e.acos())}acosh(){return this.map(e=>e.isError()?e:e.acosh())}sin(){return this.map(e=>e.isError()?e:e.sin())}sinh(){return this.map(e=>e.isError()?e:e.sinh())}asin(){return this.map(e=>e.isError()?e:e.asin())}asinh(){return this.map(e=>e.isError()?e:e.asinh())}tan(){return this.map(e=>e.isError()?e:e.tan())}tanh(){return this.map(e=>e.isError()?e:e.tanh())}atan(){return this.map(e=>e.isError()?e:e.atan())}atanh(){return this.map(e=>e.isError()?e:e.atanh())}atan2(e){return this._batchOperator(e,Nge.ATAN2)}atan2Inverse(e){return this.map(t=>t.isError()?t:e.atan2(t))}mean(e=0){let t=this.sum(),r=this.count();return t.divided(0===e?r:r.minusBy(1))}median(){let e=this.flattenPosition().numberArray,t=this._createNewArray([e],1,e.length),r=t.getColumnCount();if(r<=1)return t.get(0,0)||Ege.create();if(t.sortByRow(0),r%2==0){let e=t.get(0,r/2)||Ege.create(),n=t.get(0,r/2-1)||Ege.create();return e.plus(n).divided(Age.create(2))}return t.get(0,(r-1)/2)||Ege.create()}var(t=0){let r=this.mean(),n=[[]];this.iterator(e=>{if(null==e||e.isError()||e.isString()||e.isBoolean()||e.isNull())return;let t=e.minus(r).pow(Age.create(2));t.isError()||n[0].push(t)});let{_unitId:i,_sheetId:a,_currentRow:o,_currentColumn:s}=this;return e.create({calculateValueList:n,rowCount:1,columnCount:n[0].length,unitId:i,sheetId:a,row:o,column:s}).mean(t)}std(e=0){let t=this.var(e);return t.isError()?t:t.sqrt()}log(){return this.map(e=>e.isError()?e:e.log())}log10(){return this.map(e=>e.isError()?e:e.log10())}exp(){return this.map(e=>e.isError()?e:e.exp())}abs(){return this.map(e=>e.isError()?e:e.abs())}round(e){return this._batchOperator(e,Nge.ROUND)}roundInverse(e){return this.map(t=>t.isError()?t:e.round(t))}floor(e){return this._batchOperator(e,Nge.FLOOR)}floorInverse(e){return this.map(t=>t.isError()?t:e.floor(t))}ceil(e){return this._batchOperator(e,Nge.CEIL)}ceilInverse(e){return this.map(t=>t.isError()?t:e.ceil(t))}toValue(){return function(e=[]){let t=[];for(let r=0;r{let i=r[e],a=n[e];return null==i?1:null==a?-1:i.isError()&&i.isError()?0:i.isError()?1:a.isError()?-1:t(i.getValue(),a.getValue())}}_transposeArray(e){let t=e.length,r=e[0].length,n=[];for(let i=0;i1))return this._batchOperatorArray(e,t,r,n);{let t=e.getArrayValue();for(let e=0;e0){if(i!==ihe.EQUALS||e.isString()&&rge(e.getValue())){let n=zfe.getCellValuePositions(s,l,t+c);null!=n&&n.forEach((n,s)=>{let l,c=Ege.create();ehe.has(s)?c=fhe.create(s):"string"==typeof s?c=Rge.create(s):"number"==typeof s?c=Age.create(s):"boolean"==typeof s&&(c=Sge.create(s)),l=c.isError()?c:e.isError()?e:c.compare(e,i,a),n.forEach(e=>{e>=u&&e<=u+o-1&&(null==r[e-u]&&(r[e-u]=[]),r[e-u][t]=l)})})}else{let n=zfe.getCellPositions(s,l,t+c,e.isNull()?null:e.getValue(),d);null!=n&&n.forEach(e=>{if(eu+o-1)return;let n=e-u;null==r[n]&&(r[n]=[]),r[n][t]=Sge.create(!0)})}if(h.length>0)for(let o of h){let[d,h]=o;for(let o=d;o<=h;o++)this.__batchOperatorRowValue(e,t,r,n,o-u,s,l,u,c,i,a);zfe.setContinueBuildingCache(s,l,t+c,d,h)}return}}for(let d=0;d=this.getActiveSheetRowCount()||n>=this.getActiveSheetColumnCount()}setRefOffset(e=0,t=0){this._refOffsetX=e,this._refOffsetY=t}getRefOffset(){return{x:this._refOffsetX,y:this._refOffsetY}}getRangePosition(){let{x:e,y:t}=this.getRefOffset(),r=Ah(this.getRangeData(),e,t);return Number.isNaN(r.startRow)&&(r.startRow=0),Number.isNaN(r.startColumn)&&(r.startColumn=0),Number.isNaN(r.endRow)&&(r.endRow=this.getActiveSheetRowCount()-1),Number.isNaN(r.endColumn)&&(r.endColumn=this.getActiveSheetColumnCount()-1),r}isReferenceObject(){return!0}iterator(e){let{startRow:t,endRow:r,startColumn:n,endColumn:i}=this.getRangePosition();if(this._checkIfWorksheetMiss())return e(fhe.create(Jde.VALUE),t,n);let a=this._forcedUnitId||this._defaultUnitId,o=this._forcedSheetId||this._defaultSheetId;for(let s=t;s<=r;s++)for(let r=n;r<=i;r++){if(s<0||r<0)return e(fhe.create(Jde.REF),s,r);let i=this.getCellData(s,r),l=!1;if(Zfe(i)){l=e(null,s,r);continue}let u=this.getCellValueObject(i);if(s===t&&r===n){let e=this.getCellPattern(a,o,s,r);if(e&&u.isNumber()){let t=Number(u.getValue());u=Age.create(t,e)}}if(l=e(u,s,r),!1===l)return}}getFirstCell(){if(this._checkIfWorksheetMiss())return fhe.create(Jde.VALUE);let{startRow:e,startColumn:t}=this.getRangePosition(),r=this.getCellData(e,t);if(!r)return Age.create(0);let n=this.getCellValueObject(r),i=this._forcedUnitId||this._defaultUnitId,a=this._forcedSheetId||this._defaultSheetId,o=this.getCellPattern(i,a,e,t);if(o&&n.isNumber()){let e=Number(n.getValue());n=Age.create(e,o)}return n}getRangeData(){return this._rangeData}setRangeData(e){this._rangeData=e}getUnitId(){return this._forcedUnitId&&this._forcedUnitId.length>0?this._forcedUnitId:this._defaultUnitId}getSheetId(){return this._forcedSheetId&&this._forcedSheetId.length>0?this._forcedSheetId:this._defaultSheetId}setForcedUnitIdDirect(e){e.length>0&&(this._forcedUnitId=e)}getForcedUnitId(){return this._forcedUnitId}setForcedSheetId(e){var t;this._forcedSheetId=null==(t=e[this.getUnitId()])?void 0:t[this._forcedSheetName]}setForcedSheetIdDirect(e){this._forcedSheetId=e}getForcedSheetId(){return this._forcedSheetId}setForcedSheetName(e){e.length>0&&(this._forcedSheetName=e)}getForcedSheetName(){return this._forcedSheetName}setDefaultSheetId(e){this._defaultSheetId=e}getDefaultSheetId(){return this._defaultSheetId}setDefaultUnitId(e){this._defaultUnitId=e}getDefaultUnitId(){return this._defaultUnitId}getUnitData(){return this._unitData}setUnitData(e){this._unitData=e}getUnitStylesData(){return this._unitStylesData}setUnitStylesData(e){this._unitStylesData=e}getFilteredOutRows(){return this._filteredOutRows}setFilteredOutRows(e){this._filteredOutRows=e}getRuntimeData(){return this._runtimeData}setRuntimeData(e){this._runtimeData=e}getArrayFormulaCellData(){return this._arrayFormulaCellData}setArrayFormulaCellData(e){this._arrayFormulaCellData=e}getArrayFormulaRange(){return this._arrayFormulaRange}setArrayFormulaRange(e){this._arrayFormulaRange=e}getRuntimeArrayFormulaCellData(){return this._runtimeArrayFormulaCellData}setRuntimeArrayFormulaCellData(e){this._runtimeArrayFormulaCellData=e}getRuntimeArrayFormulaRange(){return this._runtimeArrayFormulaRange}setRuntimeArrayFormulaRange(e){this._runtimeArrayFormulaRange=e}getRuntimeFeatureCellData(){return this._runtimeFeatureCellData}setRuntimeFeatureCellData(e){this._runtimeFeatureCellData=e}getActiveSheetRowCount(){var e;return(null==(e=this.getCurrentActiveSheetData())?void 0:e.rowCount)||0}getActiveSheetColumnCount(){var e;return(null==(e=this.getCurrentActiveSheetData())?void 0:e.columnCount)||0}getRowCount(){let e=this.getRangeData();return e.endRow-e.startRow+1}getColumnCount(){let e=this.getRangeData();return e.endColumn-e.startColumn+1}getRowData(){var e;return(null==(e=this.getCurrentActiveSheetData())?void 0:e.rowData)||{}}getColumnData(){var e;return(null==(e=this.getCurrentActiveSheetData())?void 0:e.columnData)||{}}isCell(){return!1}isColumn(){return!1}isRow(){return!1}isRange(){return!1}isTable(){return!1}isCurrentRowForRange(){return!1}isCurrentColumnForRange(){return!1}isMultiArea(){return!1}unionBy(e){return fhe.create(Jde.REF)}unionRange(e,t){return{startRow:-1,startColumn:-1,endRow:-1,endColumn:-1}}getCellValueObject(e){let t=function(e){var t;if(null===e)return 0;if(null!=e&&e.p){let t=null==e?void 0:e.p.body;if(null==t)return 0;let r=t.dataStream;return Jm.transform.getPlainText(r)}return null==(t=null==e?void 0:e.v)?0:t}(e);if(ehe.has(t))return fhe.create(t);if(e.t===Fu.NUMBER){let r=this._getPatternByCell(e);return wd(r)?Rge.create(t.toString()):Tge(t,r)}return e.t===Fu.STRING||e.t===Fu.FORCE_STRING?Rge.create(t.toString()):e.t===Fu.BOOLEAN?xge(t):kge.create(t)}_getPatternByCell(e){var t;let r=this._unitStylesData[this.getUnitId()];if(!r)return"";let n=r.getStyleByCell(e);return(null==n||null==(t=n.n)?void 0:t.pattern)||""}getCellByRow(e){return this.getCellByPosition(e)}getCellByColumn(e){return this.getCellByPosition(void 0,e)}getCurrentActiveSheetData(){var e;return null==(e=this._unitData[this.getUnitId()])?void 0:e[this.getSheetId()]}getCurrentStylesData(){return this._unitStylesData[this.getUnitId()]}getCurrentRuntimeSheetData(){var e;return null==(e=this._runtimeData)||null==(e=e[this.getUnitId()])?void 0:e[this.getSheetId()]}getCurrentActiveArrayFormulaCellData(){var e;return null==(e=this._arrayFormulaCellData)||null==(e=e[this.getUnitId()])?void 0:e[this.getSheetId()]}getCurrentRuntimeActiveArrayFormulaCellData(){var e;return null==(e=this._runtimeArrayFormulaCellData)||null==(e=e[this.getUnitId()])?void 0:e[this.getSheetId()]}getCurrentActiveArrayFormulaRange(){var e;return null==(e=this._arrayFormulaRange)||null==(e=e[this.getUnitId()])?void 0:e[this.getSheetId()]}getCurrentRuntimeActiveArrayFormulaRange(){var e;return null==(e=this._runtimeArrayFormulaRange)||null==(e=e[this.getUnitId()])?void 0:e[this.getSheetId()]}getCellData(e,t){let r=this.getCurrentActiveSheetData(),n=this.getCurrentRuntimeSheetData(),i=this.getCurrentActiveArrayFormulaCellData(),a=this.getCurrentRuntimeActiveArrayFormulaCellData(),o=new kd(this.getCurrentActiveArrayFormulaRange()),s=new kd(this.getCurrentRuntimeActiveArrayFormulaRange()),l=(null==n?void 0:n.getValue(e,t))||(null==a?void 0:a.getValue(e,t))||this.getRuntimeFeatureCellValue(e,t);if(l)return l;if(l=null==i?void 0:i.getValue(e,t),l){let r=!1;return o.forValue((n,i,a)=>{if(e>=a.startRow&&e<=a.endRow&&t>=a.startColumn&&t<=a.endColumn&&s.getValue(n,i))return r=!0,!1}),r?null:l}return null==r?void 0:r.cellData.getValue(e,t)}getRuntimeFeatureCellValue(e,t){return $fe(e,t,this.getSheetId(),this.getUnitId(),this._runtimeFeatureCellData)}getCellByPosition(e,t){let r=e,n=t,i=this.getRangeData();r||(r=i.startRow),n||(n=i.startColumn);let a=this.getCellData(r,n);return a?this.getCellValueObject(a):fhe.create(Jde.VALUE)}setCurrentRowAndColumn(e,t){this._currentRow=e,this._currentColumn=t}getCurrentRow(){return this._currentRow}getCurrentColumn(){return this._currentColumn}getCellPattern(e,t,r,n){var i,a;let o=this._unitStylesData[e];if(!o)return"";let s=null==(i=this._unitData[e])||null==(i=i[t])||null==(i=i.cellData)?void 0:i.getValue(r,n);if(!s)return"";let l=o.getStyleByCell(s);return(null==l||null==(a=l.n)?void 0:a.pattern)||""}toArrayValueObject(e=!0){var t;let{startRow:r,endRow:n,startColumn:i,endColumn:a}=this.getRangePosition(),o=`${this.getUnitId()}_${this.getSheetId()}_${r}_${n}_${i}_${a}`,s=Pge.get(o);if(s&&e)return s;let l=n-r+1,u=a-i+1;if(l<0||u<0)return this._getBlankArrayValueObject();let c=Array(l);this.iterator((e,t,n)=>{let a=t-r,o=n-i;c[a]||(c[a]=Array(u)),null==e&&(e=Ege.create()),c[a][o]=e});let d={calculateValueList:c,rowCount:c.length,columnCount:(null==(t=c[0])?void 0:t.length)||0,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:r,column:i},h=Lge.create(d);return e&&Pge.set(o,h),h}toUnitRange(){return{range:this.getRangePosition(),sheetId:this.getSheetId(),unitId:this.getUnitId()}}_checkIfWorksheetMiss(){return(null==this._forcedSheetId||0===this._forcedSheetId.length)&&this._forcedSheetName.length>0}_getBlankArrayValueObject(){let e={calculateValueList:[],rowCount:0,columnCount:0,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:0,column:0};return Lge.create(e)}},Uge=class extends rhe{constructor(e){super(),this._promise=e}isAsyncObject(){return!0}async getValue(){return this._promise}},Bge=class extends rhe{constructor(e){super(),this._promiseList=e}isAsyncArrayObject(){return!0}async getValue(){var e;let t=[];for(let e=0;ei?(o.startRow=i,o.endRow=r):(o.startRow=r,o.endRow=i),n>a?(o.startColumn=a,o.endColumn=n):(o.startColumn=n,o.endColumn=a),e.startAbsoluteRefType&&(o.startAbsoluteRefType=e.startAbsoluteRefType),t.startAbsoluteRefType&&(o.endAbsoluteRefType=t.startAbsoluteRefType),o}_createRange(e){let t=new Vge(e,this.getForcedSheetId(),this.getForcedUnitId());t.setUnitData(this.getUnitData()),t.setDefaultSheetId(this.getDefaultSheetId()),t.setDefaultUnitId(this.getDefaultUnitId()),t.setRuntimeData(this.getRuntimeData()),t.setUnitStylesData(this.getUnitStylesData()),t.setArrayFormulaCellData(this.getArrayFormulaCellData()),t.setRuntimeArrayFormulaCellData(this.getRuntimeArrayFormulaCellData()),t.setRuntimeFeatureCellData(this.getRuntimeFeatureCellData());let{x:r,y:n}=this.getRefOffset();t.setRefOffset(r,n);let i=this.getForcedSheetId();t.setForcedSheetName(this.getForcedSheetName()),null!=i&&t.setForcedSheetIdDirect(i);let a=this.getForcedUnitId();return a&&t.setForcedUnitIdDirect(a),t}},jge=class extends Dge{constructor(e){super(e);let t=Lfe(e);this.setForcedUnitIdDirect(t.unitId),this.setForcedSheetName(t.sheetName);let r={...t.range,startColumn:t.range.startColumn,startRow:NaN,endColumn:t.range.endColumn,endRow:NaN,rangeType:pd.COLUMN};this.setRangeData(r)}isColumn(){return!0}unionBy(e){if(!e.isColumn())return fhe.create(Jde.REF);let t=e;if(void 0!==t.getForcedSheetName()&&""!==t.getForcedSheetName())return fhe.create(Jde.REF);let r=this.getRangeData(),n=t.getRangeData(),i=n.startColumn;if(i>=r.startColumn&&i<=r.endColumn)return this;let a=r.startColumn;return i>a?r.endColumn=i:(r.startColumn=i,r.endColumn=a),n.startAbsoluteRefType&&(r.endAbsoluteRefType=n.startAbsoluteRefType),r.rangeType=pd.COLUMN,this.setToken(`${this.getToken()}${lhe.COLON}${t.getToken()}`),this}},Hge=class extends Dge{constructor(e){super(e);let t=Lfe(e);this.setForcedUnitIdDirect(t.unitId),this.setForcedSheetName(t.sheetName);let r={...t.range,startColumn:NaN,startRow:t.range.startRow,endColumn:NaN,endRow:t.range.endRow,rangeType:pd.ROW};this.setRangeData(r)}isRow(){return!0}unionBy(e){if(!e.isRow())return fhe.create(Jde.REF);let t=e;if(void 0!==t.getForcedSheetName()&&""!==t.getForcedSheetName())return fhe.create(Jde.REF);let r=this.getRangeData(),n=t.getRangeData(),i=n.startRow;if(i>=r.startRow&&i<=r.endRow)return this;let a=r.startRow;return i>a?r.endRow=i:(r.startRow=i,r.endRow=a),n.startAbsoluteRefType&&(r.endAbsoluteRefType=n.startAbsoluteRefType),r.rangeType=pd.ROW,this.setToken(`${this.getToken()}${lhe.COLON}${t.getToken()}`),this}};function Wge(e,t,r,n){let i=r.isArray()?r.getRowCount():1,a=r.isArray()?r.getColumnCount():1,o=[];for(let s=0;s=i||o>=a){e.push(null==n?Ege.create():n);continue}let t=r.get(s,o);e.push(t)}o.push(e)}return zge(o,e,t)}function zge(e,t,r,n="",i=""){let a={calculateValueList:e,rowCount:t,columnCount:r,unitId:n,sheetId:i,row:-1,column:-1};return Lge.create(a)}function Xge(e){let t=[ihe.EQUALS,ihe.NOT_EQUAL,ihe.GREATER_THAN_OR_EQUAL,ihe.GREATER_THAN,ihe.LESS_THAN_OR_EQUAL,ihe.LESS_THAN];for(let r of t)if(e.startsWith(r)){let t=e.substring(r.length);return[r,kge.create(t)]}return[ihe.EQUALS,kge.create(e)]}function qge(e,t,r,n){if(!r)if(t.isString()){let[e,n]=Xge(`${t.getValue()}`);r=e,t=n}else r=ihe.EQUALS;return e.compare(t,r,n)}function Gge(e,t){let r=e.getRowCount(),n=e.getColumnCount(),i=t.getRowCount(),a=t.getColumnCount(),o=e,s=t;if(r!==i||n!==a){let l=Math.max(r,i),u=Math.max(n,a);o=Wge(l,u,e),s=Wge(l,u,t)}return o.mapValue((e,t,r)=>{let n=s.get(t,r);return null!=e&&e.isError()?e:null!=n&&n.isError()?n:null!=e&&e.isBoolean()&&null!=n&&n.isBoolean()?xge(e.getValue()&&n.getValue()):Sge.create(!1)})}function Yge(e){return!(!e.isArray()||1!==e.getRowCount()||1!==e.getColumnCount())||(e.isReferenceObject()?!!(e.isCell()||1===e.getRowCount()&&1===e.getColumnCount()):!!(e.isString()||e.isNumber()||e.isBoolean()||e.isError()||e.isNull()))}function Qge(e,t){if(0===e.length||e.length%2!=0)return{isError:!0,errorObject:fhe.create(Jde.VALUE),rangeIsDifferentSize:!1,criteriaMaxRowLength:0,criteriaMaxColumnLength:0,targetRange:null,variants:[]};let r=null,n=-1,i=-1;if(t){if(!t.isReferenceObject())return{isError:!0,errorObject:fhe.create(Jde.VALUE),rangeIsDifferentSize:!1,criteriaMaxRowLength:0,criteriaMaxColumnLength:0,targetRange:null,variants:[]};r=t.toArrayValueObject(),n=r.getRowCount(),i=r.getColumnCount()}let a=0,o=0,s=!1,l=[];for(let t=0;t{let i,u;for(let e=0;e{null!=t&&t.isBoolean()&&!0===t.getValue()&&e++}),u=Age.create(e)}else if("SUMIFS"===r)u=o.pick(i).sum();else if("AVERAGEIFS"===r){let e=o.pick(i),t=e.sum(),r=e.count();u=t.divided(r)}else if("MAXIFS"===r){let e=o.pick(i);u=0===e.getColumnCount()?Lge.create("0"):e.max()}else if("MINIFS"===r){let e=o.pick(i);u=0===e.getColumnCount()?Lge.create("0"):e.min()}l[t]||(l[t]=[]),l[t][n]=u}),l}function $ge(e,t,r){let[n,i]=Xge(`${r.getValue()}`);return e.mapValue((e,r,a)=>{let o=t.get(r,a);if(o&&function(e,t){if(e.isNumber()&&t.isNumber()||e.isBoolean()&&t.isBoolean())return!0;let r=e.isString()&&""===e.getValue(),n=t.isString()&&""===t.getValue();return!!((r||e.isNull())&&(n||t.isNull())||e.isString()&&!r&&t.isString()&&!n)}(o,i))return e;if(null!=o&&o.isError()&&i.isError()&&o.getValue()===i.getValue())return Sge.create(!0);if(n===ihe.EQUALS||n===ihe.NOT_EQUAL){if(null!=o&&o.isNumber()&&i.isString()){let e=i.convertToNumberObjectValue();if(e.isNumber())return o.compare(e,n)}if(i.isNumber()&&null!=o&&o.isString()){let e=o.convertToNumberObjectValue();if(e.isNumber())return e.compare(i,n)}if(n===ihe.EQUALS)return Sge.create(!1);if(n===ihe.NOT_EQUAL)return Sge.create(!0)}return Sge.create(!1)})}let Jge=function(e){return e[e.CELL=0]="CELL",e[e.COLUMN=1]="COLUMN",e[e.ROW=2]="ROW",e}({}),epe=class extends tu{constructor(e){super(),this._univerInstanceService=e}generateCellValue(e,t){if(""===t.trim())return{v:""};let r=e;if(e.startsWith("#")&&Eme(e.slice(1))){let{unitId:t,sheetName:n,range:i}=jme(e.slice(1)),a=this._univerInstanceService.getCurrentUnitOfType(Pi.UNIVER_SHEET);if(""===t||t===a.getUnitId())if(""===n)r=`#gid=${a.getActiveSheet().getSheetId()}&range=${Pme(i)}`;else{let e=a.getSheetBySheetName(n);e&&(r=`#gid=${e.getSheetId()}&range=${Pme(i)}`)}}else uu.isLegalUrl(e)&&(r=uu.normalizeUrl(e));return{p:lf.create().insertLink(t,r).getData()}}};epe=Kme([Zme(0,dg)],epe);const tpe=V("univer.formula.hyperlink-engine-formula.service");let rpe=function(e){return e[e.IDLE=0]="IDLE",e[e.START=1]="START",e[e.START_DEPENDENCY=2]="START_DEPENDENCY",e[e.START_CALCULATION=3]="START_CALCULATION",e[e.CURRENTLY_CALCULATING=4]="CURRENTLY_CALCULATING",e[e.START_DEPENDENCY_ARRAY_FORMULA=5]="START_DEPENDENCY_ARRAY_FORMULA",e[e.START_CALCULATION_ARRAY_FORMULA=6]="START_CALCULATION_ARRAY_FORMULA",e[e.CURRENTLY_CALCULATING_ARRAY_FORMULA=7]="CURRENTLY_CALCULATING_ARRAY_FORMULA",e[e.CALCULATION_COMPLETED=8]="CALCULATION_COMPLETED",e}({}),npe=function(e){return e[e.INITIAL=0]="INITIAL",e[e.STOP_EXECUTION=1]="STOP_EXECUTION",e[e.NOT_EXECUTED=2]="NOT_EXECUTED",e[e.SUCCESS=3]="SUCCESS",e}({}),ipe=class extends tu{constructor(e,t){super(),this._currentConfigService=e,this._hyperlinkEngineFormulaService=t,Kde(this,"_formulaExecuteStage",rpe.IDLE),Kde(this,"_stopState",!1),Kde(this,"_currentRow",-1),Kde(this,"_currentColumn",-1),Kde(this,"_currentRowCount",-1/0),Kde(this,"_currentColumnCount",-1/0),Kde(this,"_currentSubUnitId",""),Kde(this,"_currentUnitId",""),Kde(this,"_runtimeData",{}),Kde(this,"_runtimeOtherData",{}),Kde(this,"_unitArrayFormulaRange",{}),Kde(this,"_unitArrayFormulaEmbeddedMap",{}),Kde(this,"_runtimeArrayFormulaCellData",{}),Kde(this,"_runtimeClearArrayFormulaCellData",{}),Kde(this,"_runtimeFeatureRange",{}),Kde(this,"_runtimeFeatureCellData",{}),Kde(this,"_runtimeImageFormulaData",[]),Kde(this,"_functionsExecutedState",npe.INITIAL),Kde(this,"_functionDefinitionPrivacyVar",new Map),Kde(this,"_totalFormulasToCalculate",0),Kde(this,"_completedFormulasCount",0),Kde(this,"_totalArrayFormulasToCalculate",0),Kde(this,"_completedArrayFormulasCount",0),Kde(this,"_formulaCycleIndex",0),Kde(this,"_isCycleDependency",!1),Kde(this,"_dependencyTreeModelData",[])}get currentRow(){return this._currentRow}get currentColumn(){return this._currentColumn}get currentRowCount(){return this._currentRowCount}get currentColumnCount(){return this._currentColumnCount}get currentSubUnitId(){return this._currentSubUnitId}get currentUnitId(){return this._currentUnitId}dispose(){super.dispose(),this.reset(),this._runtimeFeatureCellData={},this._runtimeFeatureRange={},this.clearReferenceAndNumberformatCache()}enableCycleDependency(){this._isCycleDependency=!0}disableCycleDependency(){this._isCycleDependency=!1}isCycleDependency(){return this._isCycleDependency}setFormulaCycleIndex(e){this._formulaCycleIndex=e}getFormulaCycleIndex(){return this._formulaCycleIndex}setTotalArrayFormulasToCalculate(e){this._totalArrayFormulasToCalculate=e}getTotalArrayFormulasToCalculate(){return this._totalArrayFormulasToCalculate}setCompletedArrayFormulasCount(e){this._completedArrayFormulasCount=e}getCompletedArrayFormulasCount(){return this._completedArrayFormulasCount}setTotalFormulasToCalculate(e){this._totalFormulasToCalculate=e}getTotalFormulasToCalculate(){return this._totalFormulasToCalculate}setCompletedFormulasCount(e){this._completedFormulasCount=e}getCompletedFormulasCount(){return this._completedFormulasCount}markedAsSuccessfullyExecuted(){this._functionsExecutedState=npe.SUCCESS}markedAsNoFunctionsExecuted(){this._functionsExecutedState=npe.NOT_EXECUTED}markedAsStopFunctionsExecuted(){this._functionsExecutedState=npe.STOP_EXECUTION}markedAsInitialFunctionsExecuted(){this._functionsExecutedState=npe.INITIAL}stopExecution(){this._stopState=!0,this.setFormulaExecuteStage(rpe.IDLE)}isStopExecution(){return this._stopState}setFormulaExecuteStage(e){this._formulaExecuteStage=e}getFormulaExecuteStage(){return this._formulaExecuteStage}reset(){this._formulaExecuteStage=rpe.IDLE,this._runtimeData={},this._runtimeOtherData={},this._unitArrayFormulaRange={},this._unitArrayFormulaEmbeddedMap={},this._runtimeArrayFormulaCellData={},this._runtimeClearArrayFormulaCellData={},this._runtimeImageFormulaData=[],this._functionDefinitionPrivacyVar.clear(),this.markedAsInitialFunctionsExecuted(),this._stopState=!1,this._isCycleDependency=!1,this._totalFormulasToCalculate=0,this._completedFormulasCount=0,this.clearReferenceAndNumberformatCache()}clearReferenceAndNumberformatCache(){lge.clear(),hge.clear(),Ofe.clear()}setCurrent(e,t,r,n,i,a){this._currentRow=e,this._currentColumn=t,this._currentRowCount=r,this._currentColumnCount=n,this._currentSubUnitId=i,this._currentUnitId=a}clearFunctionDefinitionPrivacyVar(){this._functionDefinitionPrivacyVar.clear()}registerFunctionDefinitionPrivacyVar(e,t){this._functionDefinitionPrivacyVar.set(e,t)}getFunctionDefinitionPrivacyVar(e){return this._functionDefinitionPrivacyVar.get(e)}setRuntimeOtherData(e,t,r,n){let i=this._currentSubUnitId,a=this._currentUnitId;void 0===this._runtimeOtherData[a]&&(this._runtimeOtherData[a]={});let o=this._runtimeOtherData[a];(void 0===o[i]||null===o[i])&&(o[i]={});let s=o[i],l=[];if(n.isReferenceObject()||n.isValueObject()&&n.isArray()){let e=n,{startRow:t,startColumn:r}=e.getRangePosition();e.iterator((e,n,i)=>{let a=this._getValueObjectOfRuntimeData(e),o=n-t,s=i-r;null==l[o]&&(l[o]=[]),l[o][s]=a})}else l=[[this._getValueObjectOfRuntimeData(n)]];(void 0===s[e]||null===s[e])&&(s[e]={}),(void 0===s[e][r]||null===s[e][r])&&(s[e][r]={}),s[e][r][t]=l}setRuntimeData(e){let t=this._currentRow,r=this._currentColumn,n=this._currentRowCount,i=this.currentColumnCount,a=this._currentSubUnitId,o=this._currentUnitId;null==this._runtimeData[o]&&(this._runtimeData[o]={});let s=this._runtimeData[o];null==s[a]&&(s[a]=new kd);let l=s[a];null==this._unitArrayFormulaRange[o]&&(this._unitArrayFormulaRange[o]={});let u=this._unitArrayFormulaRange[o];(null===u[a]||void 0===u[a])&&(u[a]={});let c=new kd(u[a]);void 0===this._runtimeArrayFormulaCellData[o]&&(this._runtimeArrayFormulaCellData[o]={});let d=this._runtimeArrayFormulaCellData[o];null==d[a]&&(d[a]=new kd);let h=d[a];void 0===this._runtimeClearArrayFormulaCellData[o]&&(this._runtimeClearArrayFormulaCellData[o]={});let m=this._runtimeClearArrayFormulaCellData[o];null==m[a]&&(m[a]=new kd);let f=m[a];if(e.isReferenceObject()||e.isValueObject()&&e.isArray()){let s=e,{startRow:u,startColumn:d,endRow:m,endColumn:g}=s.getRangePosition();if(u===m&&d===g){let e=s.getFirstCell(),n=this._getValueObjectOfRuntimeData(e);return l.setValue(t,r,n),f.setValue(t,r,n),void zfe.set(o,a,r,e.getValue(),t,!0)}let p={startRow:t,startColumn:r,endRow:m-u+t,endColumn:g-d+r};if(c.setValue(t,r,p),this._checkIfArrayFormulaRangeHasData(o,a,t,r,p)||this._checkIfArrayFormulaExceeded(n,i,p)){let e=this._getValueObjectOfRuntimeData(fhe.create(Jde.SPILL));l.setValue(t,r,e),f.setValue(t,r,e),zfe.set(o,a,r,Jde.SPILL,t,!0);let n=this._currentConfigService.getUnitData();s.iterator((i,s,l)=>{var c;let m=s-u+t,f=l-d+r,g=null==(c=n[o])||null==(c=c[a])?void 0:c.cellData.getValue(m,f);if(s===u&&l===d)h.setValue(t,r,e);else if(null!=g)null==g.v&&(g.v=""),h.setValue(m,f,g);else{if(this._isInOtherArrayFormulaRange(o,a,t,r,m,f))return!0;h.setValue(m,f,{v:""})}})}else{let e=fhe.create(Jde.SPILL);s.iterator((n,i,s)=>{zfe.set(o,a,r-d+s,n?n.getValue():0,t-u+i,!0);let c=this._getValueObjectOfRuntimeData(n);if(i===u&&s===d){if(null!=n&&n.isError()&&n.isEqualType(e))return f.setValue(t,r,{}),l.setValue(t,r,{...this._getValueObjectOfRuntimeData(e)}),!1;l.setValue(t,r,{...c})}let m=i-u+t,g=s-d+r;h.setValue(m,g,c)})}}else{let n=this._getValueObjectOfRuntimeData(e);if(l.setValue(t,r,n),e.isString()&&e.isImage()){let n=e.getImageInfo();n&&this._runtimeImageFormulaData.push({...n,unitId:o,sheetId:a,row:t,column:r})}zfe.set(o,a,r,e.getValue(),t,!0),f.setValue(t,r,n)}}_getValueObjectOfRuntimeData(e){return null!=e&&e.isString()&&e.isHyperlink()?this._hyperlinkEngineFormulaService.generateCellValue(e.getHyperlinkUrl(),e.getValue()):function(e){let t=null==e?void 0:e.getPattern(),r={},n={};if(t&&(r={s:{n:{pattern:t}}}),null!=e&&e.getCustomData()&&(n={custom:e.getCustomData()}),null==e)return{v:null,...r};if(e.isError())return{v:e.getErrorType(),t:Fu.STRING,...r,...n};if(e.isValueObject()){let t=e,i=t.getValue();return t.isNumber()?{v:i,t:Fu.NUMBER,...r,...n}:t.isBoolean()?{v:i?1:0,t:Fu.BOOLEAN,...r,...n}:t.isString()?{v:i,t:Fu.STRING,...r,...n}:t.isNull()?{v:null,...r,...n}:{v:i,t:Fu.STRING,...r,...n}}}(e)}getUnitData(){return this._runtimeData}getUnitArrayFormula(){return this._unitArrayFormulaRange}getUnitArrayFormulaEmbeddedMap(){return this._unitArrayFormulaEmbeddedMap}setUnitArrayFormulaEmbeddedMap(){let e=this._currentUnitId,t=this._currentSubUnitId,r=this._currentRow,n=this._currentColumn,i=this._unitArrayFormulaEmbeddedMap;null==i[e]&&(i[e]={}),null==i[e][t]&&(i[e][t]={}),null==i[e][t][r]&&(i[e][t][r]={}),i[e][t][r][n]=!0}getRuntimeOtherData(){return this._runtimeOtherData}getRuntimeArrayFormulaCellData(){return this._runtimeArrayFormulaCellData}getRuntimeClearArrayFormulaCellData(){return this._runtimeClearArrayFormulaCellData}getRuntimeFeatureRange(){return this._runtimeFeatureRange}setRuntimeFeatureRange(e,t){this._runtimeFeatureRange[e]=t}getRuntimeFeatureCellData(){return this._runtimeFeatureCellData}setRuntimeFeatureCellData(e,t){this._runtimeFeatureCellData[e]=t}setDependencyTreeModelData(e){this._dependencyTreeModelData=e}getDependencyTreeModelData(){return this._dependencyTreeModelData}getRuntimeImageFormulaData(){return this._runtimeImageFormulaData}getAllRuntimeData(){return{unitData:this.getUnitData(),arrayFormulaRange:this.getUnitArrayFormula(),arrayFormulaEmbedded:this.getUnitArrayFormulaEmbeddedMap(),unitOtherData:this.getRuntimeOtherData(),functionsExecutedState:this._functionsExecutedState,arrayFormulaCellData:this.getRuntimeArrayFormulaCellData(),clearArrayFormulaCellData:this.getRuntimeClearArrayFormulaCellData(),imageFormulaData:this.getRuntimeImageFormulaData(),runtimeFeatureRange:this.getRuntimeFeatureRange(),runtimeFeatureCellData:this.getRuntimeFeatureCellData(),dependencyTreeModelData:this.getDependencyTreeModelData()}}getRuntimeState(){return{totalFormulasToCalculate:this.getTotalFormulasToCalculate(),completedFormulasCount:this.getCompletedFormulasCount(),totalArrayFormulasToCalculate:this.getTotalArrayFormulasToCalculate(),completedArrayFormulasCount:this.getCompletedArrayFormulasCount(),stage:this.getFormulaExecuteStage(),formulaCycleIndex:this.getFormulaCycleIndex()}}clearArrayObjectCache(){Pge.clear()}_checkIfArrayFormulaRangeHasData(e,t,r,n,i){var a;let{startRow:o,startColumn:s,endRow:l,endColumn:u}=i,c=this._currentConfigService.getUnitData(),d=this._currentConfigService.getArrayFormulaCellData();null==(a=this._unitArrayFormulaRange[e])||null==(a=a[t])||null==(a=a[r])||a[n];for(let i=o;i<=l;i++)for(let a=s;a<=u;a++){var h,m,f;if(i===r&&n===a)continue;let o=null==(h=this._runtimeData)||null==(h=h[e])||null==(h=h[t])?void 0:h.getValue(i,a);null==d||null==(m=d[e])||null==(m=m[t])||m.getValue(i,a);let s=null==c||null==(f=c[e])||null==(f=f[t])||null==(f=f.cellData)?void 0:f.getValue(i,a),l=this._getRuntimeFeatureCellValue(i,a,t,e);if(!Zfe(o)||this._isInOtherArrayFormulaRange(e,t,r,n,i,a)||!Zfe(s)||!Zfe(l))return!0}return!1}_getRuntimeFeatureCellValue(e,t,r,n){return $fe(e,t,r,n,this._runtimeFeatureCellData)}_arrayCellHasData(e){return null!=e&&void 0!==e.v}_isInOtherArrayFormulaRange(e,t,r,n,i,a){var o;let s=null==(o=this._currentConfigService.getArrayFormulaRange()[e])?void 0:o[t];if(null==s)return!1;let l=!1;return new kd(s).forValue((o,s,u)=>{var c;if(o===r&&s===n)return;let d=this._isInArrayFormulaRange(u,i,a),h=null==(c=this._runtimeData[e])||null==(c=c[t])?void 0:c.getValue(o,s);d&&(null==h?void 0:h.v)!==Jde.SPILL&&(l=!0)}),l}_isInArrayFormulaRange(e,t,r){if(null==e)return!1;let{startRow:n,startColumn:i,endRow:a,endColumn:o}=e;return t>=n&&t<=a&&r>=i&&r<=o}_checkIfArrayFormulaExceeded(e,t,r){return r.endRow>=e||r.endColumn>=t}_isInDirtyRange(e,t,r,n){let i=this._currentConfigService.getDirtyRanges();return 0===i.length||function(e,t,r,n,i){for(let a=0,o=e.length;a=s&&n<=u&&i>=l&&i<=c)return!0}return!1}(i,e,t,r,n)}};ipe=Kme([Zme(0,Yfe),Zme(1,tpe)],ipe);const ape=V("univer.formula.runtime.service");let ope=function(e){return e[e.REFERENCE=1]="REFERENCE",e[e.VALUE=2]="VALUE",e[e.OPERATOR=3]="OPERATOR",e[e.FUNCTION=4]="FUNCTION",e[e.LAMBDA=5]="LAMBDA",e[e.LAMBDA_PARAMETER=6]="LAMBDA_PARAMETER",e[e.ERROR=7]="ERROR",e[e.BASE=8]="BASE",e[e.ROOT=9]="ROOT",e[e.UNION=10]="UNION",e[e.PREFIX=11]="PREFIX",e[e.SUFFIX=12]="SUFFIX",e[e.NULL=13]="NULL",e}({});const spe=new Map([[ope.REFERENCE,7],[ope.VALUE,9],[ope.OPERATOR,8],[ope.FUNCTION,6],[ope.LAMBDA,1],[ope.LAMBDA_PARAMETER,2],[ope.ROOT,10],[ope.UNION,3],[ope.PREFIX,4],[ope.SUFFIX,5]]);var lpe=class{constructor(e){this._token=e,Kde(this,"_children",[]),Kde(this,"_definedNames",void 0),Kde(this,"_parent",void 0),Kde(this,"_valueObject",void 0),Kde(this,"_calculateState",!1),Kde(this,"_async",!1),Kde(this,"_address",!1),Kde(this,"_isForcedCalculateFunction",!1)}dispose(){var e;this._children.forEach(e=>{e.dispose()}),null==(e=this._valueObject)||e.dispose(),this._valueObject=null,this._children=[],this._definedNames=null,this._parent=null}get nodeType(){return ope.BASE}resetCalculationState(){this._children.forEach(e=>{e.resetCalculationState()}),this._valueObject=null,this._calculateState=!1}isAsync(){return this._async}isAddress(){return this._address}isForcedCalculateFunction(){return this._isForcedCalculateFunction}setAsync(){this._async=!0}setAddress(){this._address=!0}getParent(){return this._parent}setParent(e){this._parent=e,e.addChildren(this)}setForcedCalculateFunction(){this._isForcedCalculateFunction=!0}getChildren(){return this._children}addChildren(...e){this._children.push(...e)}getToken(){return this._token}setValue(e){this._valueObject=e}getValue(){return this._valueObject}isCalculated(){return this._calculateState}setCalculated(){this._calculateState=!0}execute(){}setNotEmpty(e=!0){}async executeAsync(){return Promise.resolve(Gde.SUCCESS)}serialize(){let e=this.getToken(),t=this.getChildren(),r=[],n=t.length;for(let e=0;e0&&(i.children=r),i}hasDefinedName(e){var t;return(null==(t=this._definedNames)?void 0:t.includes(e))||!1}setDefinedNames(e){this._definedNames=e}getDefinedNames(){return this._definedNames}},upe=class e extends lpe{constructor(e){super(e),Kde(this,"_errorValueObject",void 0),this._errorValueObject=fhe.create(e)}get nodeType(){return ope.ERROR}static create(t){return new e(t)}getValue(){return this._errorValueObject}},cpe=class{get zIndex(){return 0}dispose(){}create(e,t,r){let n;return n=e instanceof Dfe?e.getToken():e,new lpe(n)}},dpe=class extends lpe{get nodeType(){return ope.ROOT}execute(){let e=this.getChildren();if(e.length>1)return void this.setValue(fhe.create(Jde.VALUE));let t=e[0];null==t?this.setValue(fhe.create(Jde.VALUE)):this.setValue(t.getValue())}},hpe=class extends cpe{get zIndex(){return spe.get(ope.ROOT)||100}checkAndCreateNodeType(e){if(e instanceof Dfe&&"R_1"===e.getToken())return new dpe("R_1")}};let mpe=function(e){return e.DATE="DATE",e.DATEDIF="DATEDIF",e.DATEVALUE="DATEVALUE",e.DAY="DAY",e.DAYS="DAYS",e.DAYS360="DAYS360",e.EDATE="EDATE",e.EOMONTH="EOMONTH",e.EPOCHTODATE="EPOCHTODATE",e.HOUR="HOUR",e.ISOWEEKNUM="ISOWEEKNUM",e.MINUTE="MINUTE",e.MONTH="MONTH",e.NETWORKDAYS="NETWORKDAYS",e.NETWORKDAYS_INTL="NETWORKDAYS.INTL",e.NOW="NOW",e.SECOND="SECOND",e.TIME="TIME",e.TIMEVALUE="TIMEVALUE",e.TO_DATE="TO_DATE",e.TODAY="TODAY",e.WEEKDAY="WEEKDAY",e.WEEKNUM="WEEKNUM",e.WORKDAY="WORKDAY",e.WORKDAY_INTL="WORKDAY.INTL",e.YEAR="YEAR",e.YEARFRAC="YEARFRAC",e}({}),fpe=function(e){return e.BESSELI="BESSELI",e.BESSELJ="BESSELJ",e.BESSELK="BESSELK",e.BESSELY="BESSELY",e.BIN2DEC="BIN2DEC",e.BIN2HEX="BIN2HEX",e.BIN2OCT="BIN2OCT",e.BITAND="BITAND",e.BITLSHIFT="BITLSHIFT",e.BITOR="BITOR",e.BITRSHIFT="BITRSHIFT",e.BITXOR="BITXOR",e.COMPLEX="COMPLEX",e.CONVERT="CONVERT",e.DEC2BIN="DEC2BIN",e.DEC2HEX="DEC2HEX",e.DEC2OCT="DEC2OCT",e.DELTA="DELTA",e.ERF="ERF",e.ERF_PRECISE="ERF.PRECISE",e.ERFC="ERFC",e.ERFC_PRECISE="ERFC.PRECISE",e.GESTEP="GESTEP",e.HEX2BIN="HEX2BIN",e.HEX2DEC="HEX2DEC",e.HEX2OCT="HEX2OCT",e.IMABS="IMABS",e.IMAGINARY="IMAGINARY",e.IMARGUMENT="IMARGUMENT",e.IMCONJUGATE="IMCONJUGATE",e.IMCOS="IMCOS",e.IMCOSH="IMCOSH",e.IMCOT="IMCOT",e.IMCOTH="IMCOTH",e.IMCSC="IMCSC",e.IMCSCH="IMCSCH",e.IMDIV="IMDIV",e.IMEXP="IMEXP",e.IMLN="IMLN",e.IMLOG="IMLOG",e.IMLOG10="IMLOG10",e.IMLOG2="IMLOG2",e.IMPOWER="IMPOWER",e.IMPRODUCT="IMPRODUCT",e.IMREAL="IMREAL",e.IMSEC="IMSEC",e.IMSECH="IMSECH",e.IMSIN="IMSIN",e.IMSINH="IMSINH",e.IMSQRT="IMSQRT",e.IMSUB="IMSUB",e.IMSUM="IMSUM",e.IMTAN="IMTAN",e.IMTANH="IMTANH",e.OCT2BIN="OCT2BIN",e.OCT2DEC="OCT2DEC",e.OCT2HEX="OCT2HEX",e}({}),gpe=function(e){return e.ACCRINT="ACCRINT",e.ACCRINTM="ACCRINTM",e.AMORDEGRC="AMORDEGRC",e.AMORLINC="AMORLINC",e.COUPDAYBS="COUPDAYBS",e.COUPDAYS="COUPDAYS",e.COUPDAYSNC="COUPDAYSNC",e.COUPNCD="COUPNCD",e.COUPNUM="COUPNUM",e.COUPPCD="COUPPCD",e.CUMIPMT="CUMIPMT",e.CUMPRINC="CUMPRINC",e.DB="DB",e.DDB="DDB",e.DISC="DISC",e.DOLLARDE="DOLLARDE",e.DOLLARFR="DOLLARFR",e.DURATION="DURATION",e.EFFECT="EFFECT",e.FV="FV",e.FVSCHEDULE="FVSCHEDULE",e.INTRATE="INTRATE",e.IPMT="IPMT",e.IRR="IRR",e.ISPMT="ISPMT",e.MDURATION="MDURATION",e.MIRR="MIRR",e.NOMINAL="NOMINAL",e.NPER="NPER",e.NPV="NPV",e.ODDFPRICE="ODDFPRICE",e.ODDFYIELD="ODDFYIELD",e.ODDLPRICE="ODDLPRICE",e.ODDLYIELD="ODDLYIELD",e.PDURATION="PDURATION",e.PMT="PMT",e.PPMT="PPMT",e.PRICE="PRICE",e.PRICEDISC="PRICEDISC",e.PRICEMAT="PRICEMAT",e.PV="PV",e.RATE="RATE",e.RECEIVED="RECEIVED",e.RRI="RRI",e.SLN="SLN",e.SYD="SYD",e.TBILLEQ="TBILLEQ",e.TBILLPRICE="TBILLPRICE",e.TBILLYIELD="TBILLYIELD",e.VDB="VDB",e.XIRR="XIRR",e.XNPV="XNPV",e.YIELD="YIELD",e.YIELDDISC="YIELDDISC",e.YIELDMAT="YIELDMAT",e}({}),ppe=function(e){return e.CELL="CELL",e.ERROR_TYPE="ERROR.TYPE",e.INFO="INFO",e.ISBETWEEN="ISBETWEEN",e.ISBLANK="ISBLANK",e.ISDATE="ISDATE",e.ISEMAIL="ISEMAIL",e.ISERR="ISERR",e.ISERROR="ISERROR",e.ISEVEN="ISEVEN",e.ISFORMULA="ISFORMULA",e.ISLOGICAL="ISLOGICAL",e.ISNA="ISNA",e.ISNONTEXT="ISNONTEXT",e.ISNUMBER="ISNUMBER",e.ISODD="ISODD",e.ISOMITTED="ISOMITTED",e.ISREF="ISREF",e.ISTEXT="ISTEXT",e.ISURL="ISURL",e.N="N",e.NA="NA",e.SHEET="SHEET",e.SHEETS="SHEETS",e.TYPE="TYPE",e}({}),vpe=function(e){return e.AND="AND",e.BYCOL="BYCOL",e.BYROW="BYROW",e.FALSE="FALSE",e.IF="IF",e.IFERROR="IFERROR",e.IFNA="IFNA",e.IFS="IFS",e.LAMBDA="LAMBDA",e.LET="LET",e.MAKEARRAY="MAKEARRAY",e.MAP="MAP",e.NOT="NOT",e.OR="OR",e.REDUCE="REDUCE",e.SCAN="SCAN",e.SWITCH="SWITCH",e.TRUE="TRUE",e.XOR="XOR",e}({}),bpe=function(e){return e.ADDRESS="ADDRESS",e.AREAS="AREAS",e.CHOOSE="CHOOSE",e.CHOOSECOLS="CHOOSECOLS",e.CHOOSEROWS="CHOOSEROWS",e.COLUMN="COLUMN",e.COLUMNS="COLUMNS",e.DROP="DROP",e.EXPAND="EXPAND",e.FILTER="FILTER",e.FORMULATEXT="FORMULATEXT",e.GETPIVOTDATA="GETPIVOTDATA",e.HLOOKUP="HLOOKUP",e.HSTACK="HSTACK",e.HYPERLINK="HYPERLINK",e.IMAGE="IMAGE",e.INDEX="INDEX",e.INDIRECT="INDIRECT",e.LOOKUP="LOOKUP",e.MATCH="MATCH",e.OFFSET="OFFSET",e.ROW="ROW",e.ROWS="ROWS",e.RTD="RTD",e.SORT="SORT",e.SORTBY="SORTBY",e.TAKE="TAKE",e.TOCOL="TOCOL",e.TOROW="TOROW",e.TRANSPOSE="TRANSPOSE",e.UNIQUE="UNIQUE",e.VLOOKUP="VLOOKUP",e.VSTACK="VSTACK",e.WRAPCOLS="WRAPCOLS",e.WRAPROWS="WRAPROWS",e.XLOOKUP="XLOOKUP",e.XMATCH="XMATCH",e}({}),Cpe=function(e){return e.ABS="ABS",e.ACOS="ACOS",e.ACOSH="ACOSH",e.ACOT="ACOT",e.ACOTH="ACOTH",e.AGGREGATE="AGGREGATE",e.ARABIC="ARABIC",e.ASIN="ASIN",e.ASINH="ASINH",e.ATAN="ATAN",e.ATAN2="ATAN2",e.ATANH="ATANH",e.BASE="BASE",e.CEILING="CEILING",e.CEILING_MATH="CEILING.MATH",e.CEILING_PRECISE="CEILING.PRECISE",e.COMBIN="COMBIN",e.COMBINA="COMBINA",e.COS="COS",e.COSH="COSH",e.COT="COT",e.COTH="COTH",e.CSC="CSC",e.CSCH="CSCH",e.DECIMAL="DECIMAL",e.DEGREES="DEGREES",e.EVEN="EVEN",e.EXP="EXP",e.FACT="FACT",e.FACTDOUBLE="FACTDOUBLE",e.FLOOR="FLOOR",e.FLOOR_MATH="FLOOR.MATH",e.FLOOR_PRECISE="FLOOR.PRECISE",e.GCD="GCD",e.INT="INT",e.ISO_CEILING="ISO.CEILING",e.LCM="LCM",e.LET="LET",e.LN="LN",e.LOG="LOG",e.LOG10="LOG10",e.MDETERM="MDETERM",e.MINVERSE="MINVERSE",e.MMULT="MMULT",e.MOD="MOD",e.MROUND="MROUND",e.MULTINOMIAL="MULTINOMIAL",e.MUNIT="MUNIT",e.ODD="ODD",e.PI="PI",e.POWER="POWER",e.PRODUCT="PRODUCT",e.QUOTIENT="QUOTIENT",e.RADIANS="RADIANS",e.RAND="RAND",e.RANDARRAY="RANDARRAY",e.RANDBETWEEN="RANDBETWEEN",e.ROMAN="ROMAN",e.ROUND="ROUND",e.ROUNDBANK="ROUNDBANK",e.ROUNDDOWN="ROUNDDOWN",e.ROUNDUP="ROUNDUP",e.SEC="SEC",e.SECH="SECH",e.SERIESSUM="SERIESSUM",e.SEQUENCE="SEQUENCE",e.SIGN="SIGN",e.SIN="SIN",e.SINH="SINH",e.SQRT="SQRT",e.SQRTPI="SQRTPI",e.SUBTOTAL="SUBTOTAL",e.SUM="SUM",e.SUMIF="SUMIF",e.SUMIFS="SUMIFS",e.SUMPRODUCT="SUMPRODUCT",e.SUMSQ="SUMSQ",e.SUMX2MY2="SUMX2MY2",e.SUMX2PY2="SUMX2PY2",e.SUMXMY2="SUMXMY2",e.TAN="TAN",e.TANH="TANH",e.TRUNC="TRUNC",e}({}),ype=function(e){return e.AVEDEV="AVEDEV",e.AVERAGE="AVERAGE",e.AVERAGE_WEIGHTED="AVERAGE.WEIGHTED",e.AVERAGEA="AVERAGEA",e.AVERAGEIF="AVERAGEIF",e.AVERAGEIFS="AVERAGEIFS",e.BETA_DIST="BETA.DIST",e.BETA_INV="BETA.INV",e.BINOM_DIST="BINOM.DIST",e.BINOM_DIST_RANGE="BINOM.DIST.RANGE",e.BINOM_INV="BINOM.INV",e.CHISQ_DIST="CHISQ.DIST",e.CHISQ_DIST_RT="CHISQ.DIST.RT",e.CHISQ_INV="CHISQ.INV",e.CHISQ_INV_RT="CHISQ.INV.RT",e.CHISQ_TEST="CHISQ.TEST",e.CONFIDENCE_NORM="CONFIDENCE.NORM",e.CONFIDENCE_T="CONFIDENCE.T",e.CORREL="CORREL",e.COUNT="COUNT",e.COUNTA="COUNTA",e.COUNTBLANK="COUNTBLANK",e.COUNTIF="COUNTIF",e.COUNTIFS="COUNTIFS",e.COVARIANCE_P="COVARIANCE.P",e.COVARIANCE_S="COVARIANCE.S",e.DEVSQ="DEVSQ",e.EXPON_DIST="EXPON.DIST",e.F_DIST="F.DIST",e.F_DIST_RT="F.DIST.RT",e.F_INV="F.INV",e.F_INV_RT="F.INV.RT",e.F_TEST="F.TEST",e.FISHER="FISHER",e.FISHERINV="FISHERINV",e.FORECAST="FORECAST",e.FORECAST_ETS="FORECAST.ETS",e.FORECAST_ETS_CONFINT="FORECAST.ETS.CONFINT",e.FORECAST_ETS_SEASONALITY="FORECAST.ETS.SEASONALITY",e.FORECAST_ETS_STAT="FORECAST.ETS.STAT",e.FORECAST_LINEAR="FORECAST.LINEAR",e.FREQUENCY="FREQUENCY",e.GAMMA="GAMMA",e.GAMMA_DIST="GAMMA.DIST",e.GAMMA_INV="GAMMA.INV",e.GAMMALN="GAMMALN",e.GAMMALN_PRECISE="GAMMALN.PRECISE",e.GAUSS="GAUSS",e.GEOMEAN="GEOMEAN",e.GROWTH="GROWTH",e.HARMEAN="HARMEAN",e.HYPGEOM_DIST="HYPGEOM.DIST",e.INTERCEPT="INTERCEPT",e.KURT="KURT",e.LARGE="LARGE",e.LINEST="LINEST",e.LOGEST="LOGEST",e.LOGNORM_DIST="LOGNORM.DIST",e.LOGNORM_INV="LOGNORM.INV",e.MARGINOFERROR="MARGINOFERROR",e.MAX="MAX",e.MAXA="MAXA",e.MAXIFS="MAXIFS",e.MEDIAN="MEDIAN",e.MIN="MIN",e.MINA="MINA",e.MINIFS="MINIFS",e.MODE_MULT="MODE.MULT",e.MODE_SNGL="MODE.SNGL",e.NEGBINOM_DIST="NEGBINOM.DIST",e.NORM_DIST="NORM.DIST",e.NORM_INV="NORM.INV",e.NORM_S_DIST="NORM.S.DIST",e.NORM_S_INV="NORM.S.INV",e.PEARSON="PEARSON",e.PERCENTILE_EXC="PERCENTILE.EXC",e.PERCENTILE_INC="PERCENTILE.INC",e.PERCENTRANK_EXC="PERCENTRANK.EXC",e.PERCENTRANK_INC="PERCENTRANK.INC",e.PERMUT="PERMUT",e.PERMUTATIONA="PERMUTATIONA",e.PHI="PHI",e.POISSON_DIST="POISSON.DIST",e.PROB="PROB",e.QUARTILE_EXC="QUARTILE.EXC",e.QUARTILE_INC="QUARTILE.INC",e.RANK_AVG="RANK.AVG",e.RANK_EQ="RANK.EQ",e.RSQ="RSQ",e.SKEW="SKEW",e.SKEW_P="SKEW.P",e.SLOPE="SLOPE",e.SMALL="SMALL",e.STANDARDIZE="STANDARDIZE",e.STDEV_P="STDEV.P",e.STDEV_S="STDEV.S",e.STDEVA="STDEVA",e.STDEVPA="STDEVPA",e.STEYX="STEYX",e.T_DIST="T.DIST",e.T_DIST_2T="T.DIST.2T",e.T_DIST_RT="T.DIST.RT",e.T_INV="T.INV",e.T_INV_2T="T.INV.2T",e.T_TEST="T.TEST",e.TREND="TREND",e.TRIMMEAN="TRIMMEAN",e.VAR_P="VAR.P",e.VAR_S="VAR.S",e.VARA="VARA",e.VARPA="VARPA",e.WEIBULL_DIST="WEIBULL.DIST",e.Z_TEST="Z.TEST",e}({}),_pe=function(e){return e.ASC="ASC",e.ARRAYTOTEXT="ARRAYTOTEXT",e.BAHTTEXT="BAHTTEXT",e.CHAR="CHAR",e.CLEAN="CLEAN",e.CODE="CODE",e.CONCAT="CONCAT",e.CONCATENATE="CONCATENATE",e.DBCS="DBCS",e.DOLLAR="DOLLAR",e.EXACT="EXACT",e.FIND="FIND",e.FINDB="FINDB",e.FIXED="FIXED",e.LEFT="LEFT",e.LEFTB="LEFTB",e.LEN="LEN",e.LENB="LENB",e.LOWER="LOWER",e.MID="MID",e.MIDB="MIDB",e.NUMBERSTRING="NUMBERSTRING",e.NUMBERVALUE="NUMBERVALUE",e.PHONETIC="PHONETIC",e.PROPER="PROPER",e.REGEXEXTRACT="REGEXEXTRACT",e.REGEXMATCH="REGEXMATCH",e.REGEXREPLACE="REGEXREPLACE",e.REPLACE="REPLACE",e.REPLACEB="REPLACEB",e.REPT="REPT",e.RIGHT="RIGHT",e.RIGHTB="RIGHTB",e.SEARCH="SEARCH",e.SEARCHB="SEARCHB",e.SUBSTITUTE="SUBSTITUTE",e.T="T",e.TEXT="TEXT",e.TEXTAFTER="TEXTAFTER",e.TEXTBEFORE="TEXTBEFORE",e.TEXTJOIN="TEXTJOIN",e.TEXTSPLIT="TEXTSPLIT",e.TRIM="TRIM",e.UNICHAR="UNICHAR",e.UNICODE="UNICODE",e.UPPER="UPPER",e.VALUE="VALUE",e.VALUETOTEXT="VALUETOTEXT",e.CALL="CALL",e.EUROCONVERT="EUROCONVERT",e.REGISTER_ID="REGISTER.ID",e}({}),wpe=function(e){return e.ENCODEURL="ENCODEURL",e.FILTERXML="FILTERXML",e.WEBSERVICE="WEBSERVICE",e}({});const Epe=new Set([mpe,fpe,gpe,ppe,vpe,bpe,Cpe,ype,_pe,wpe].flatMap(e=>Object.values(e)).filter(e=>/^[A-Z]{1,3}$/.test(e)).filter(e=>{let t=fh(e);return t>0&&t<=ph})),Spe=new $de(5e3);function Ape(e,t,r,n,i){let a=Spe.get(`${e}${t}`);if(a&&!Ipe(a,i))return a;let o=r.treeBuilder(t);return ehe.has(o)?upe.create(o):(a=n.parse(o),null==a?(console.error("generateAstNode astNode is null"),upe.create(o)):(Spe.set(`${e}${t}`,a),a))}function Ipe(e,t){let r=t.getDirtyDefinedNameMap(),n=t.getExecuteUnitId();if(null!=n&&null!=r[n]){let t=Object.keys(r[n]);for(let r=0,n=t.length;r{for(let t=0;t{e.forEach(e=>{r.includes(e)&&Spe.delete(r)})})}};let Tpe=function(e){return e.COMPARE="COMPARE",e.DIVIDED="DIVIDED",e.MINUS="MINUS",e.MULTIPLY="MULTIPLY",e.PLUS="PLUS",e.UNION="UNION",e.CUBE="CUBE",e}({});var Npe=class extends lpe{constructor(e,t,r){super(t),this._runtimeService=e,this._operatorString=t,this._functionExecutor=r}get nodeType(){return ope.PREFIX}execute(){let e,t=this.getChildren()[0].getValue();if(null==t)return console.error("PrefixNode execute value is null"),void this.setValue(fhe.create(Jde.VALUE));this._operatorString===dhe.MINUS?(t.isReferenceObject()&&(t=t.toArrayValueObject()),e=this._functionExecutor.calculate(Age.create(0),t)):e=this._operatorString===dhe.AT?this._handlerAT(t):fhe.create(Jde.VALUE),this.setValue(e)}_handlerAT(e){if(!e.isReferenceObject())return fhe.create(Jde.VALUE);let t=e;if(t.isCell())return fhe.create(Jde.VALUE);let r=this._runtimeService,n=r.currentRow||0,i=r.currentColumn||0,{startRow:a,startColumn:o,endRow:s,endColumn:l}=t.getRangePosition();return l!==o&&s!==a||a===s&&o===l?fhe.create(Jde.VALUE):s===a&&i>=o&&i<=l?t.getCellByColumn(i):o===l&&n>=a&&n<=s?t.getCellByRow(n):t.isTable()?t.getCellByPosition(n):fhe.create(Jde.VALUE)}};let Mpe=class extends cpe{constructor(e,t){super(),this._functionService=e,this._runtimeService=t}get zIndex(){return spe.get(ope.PREFIX)||100}checkAndCreateNodeType(e){if(!(e instanceof Dfe))return;let t=e.getToken(),r=t.trim();if('"'===r.charAt(0)&&'"'===r.charAt(r.length-1))return;let n="";if(r!==dhe.MINUS)return r===dhe.AT?new Npe(this._runtimeService,r):void 0;n=Tpe.MINUS;let i=this._functionService.getExecutor(n);return i?new Npe(this._runtimeService,r,i):(console.error(`No function ${t}`),upe.create(Jde.NAME))}};function Ope(e,t,r){let n,i,a=e,o=a[0],s=0;if(o===dhe.MINUS){let e=t.getExecutor(Tpe.MINUS);n=new Npe(r,dhe.MINUS,e),s++}else o===dhe.AT&&(i=new Npe(r,dhe.AT),n&&i.setParent(n),s++);return s>0&&(a=a.slice(s)),{tokenTrim:a,minusPrefixNode:n,atPrefixNode:i}}Mpe=Kme([Zme(0,Rpe),Zme(1,ape)],Mpe);var Lpe=class extends lpe{constructor(e,t,r,n,i,a){super(e),this._functionExecutor=t,this._currentConfigService=r,this._runtimeService=n,this._definedNamesService=i,this._formulaDataModel=a,this._functionExecutor.isAsync()&&this.setAsync(),this._functionExecutor.isAddress()&&this.setAddress(),this._functionExecutor.needsLocale&&this._setLocale(),this._functionExecutor.needsSheetsInfo&&this._setSheetsInfo(),this._functionExecutor.needsFormulaDataModel&&this._functionExecutor.setFormulaDataModel(this._formulaDataModel)}get nodeType(){return ope.FUNCTION}async executeAsync(){let e=[],t=this.getChildren(),r=t.length;this._compatibility();for(let n=0;ne.isArray()?e.toValue():e.isLambda()?e:e.getValue())}_calculate(e){let t,{minParams:r,maxParams:n}=this._functionExecutor;if(-1!==r&&-1!==n&&(e.lengthn))return fhe.create(Jde.NA);if(this._setRefInfo(),this._functionExecutor.isCustom()){let r=this._functionExecutor.calculateCustom(...this._mapVariantsToValues(e));t=this._handleCustomResult(r)}else this._handleAddressFunction(),t=this._functionExecutor.calculate(...e);return t}async _calculateAsync(e){let t,{minParams:r,maxParams:n}=this._functionExecutor;if(-1!==r&&-1!==n&&(e.lengthn))return fhe.create(Jde.NA);if(this._setRefInfo(),this._functionExecutor.isCustom()){let r=await this._functionExecutor.calculateCustom(...this._mapVariantsToValues(e));t=this._handleCustomResult(r)}else this._handleAddressFunction(),t=this._functionExecutor.calculate(...e);return t}_setDefinedNamesForFunction(){let e=this._currentConfigService.getExecuteUnitId();if(null==e)return;let t=this._definedNamesService.getDefinedNameMap(e);null!=t&&this._functionExecutor.setDefinedNames(t)}_setRefInfo(){let{currentUnitId:e,currentSubUnitId:t,currentRow:r,currentColumn:n}=this._runtimeService;if(this._functionExecutor.setRefInfo(e,t,r,n),this._functionExecutor.needsSheetRowColumnCount){let{rowCount:r,columnCount:n}=this._currentConfigService.getSheetRowColumnCount(e,t);this._functionExecutor.setSheetRowColumnCount(r,n)}}_setRefData(e){if(!e.isReferenceObject())return;let t=e;t.setForcedSheetId(this._currentConfigService.getSheetNameMap()),t.setUnitData(this._currentConfigService.getUnitData()),t.setArrayFormulaCellData(this._currentConfigService.getArrayFormulaCellData()),t.setArrayFormulaRange(this._currentConfigService.getArrayFormulaRange()),t.setRuntimeData(this._runtimeService.getUnitData()),t.setRuntimeArrayFormulaCellData(this._runtimeService.getRuntimeArrayFormulaCellData()),t.setRuntimeArrayFormulaRange(this._runtimeService.getUnitArrayFormula()),t.setRuntimeFeatureCellData(this._runtimeService.getRuntimeFeatureCellData())}_setLocale(){this._functionExecutor.setLocale(this._currentConfigService.getLocale())}_setSheetsInfo(){this._functionExecutor.setSheetsInfo(this._currentConfigService.getSheetsInfo())}_setFilteredOutRows(e){let{startRow:t,endRow:r}=e.getRangePosition(),n=this._currentConfigService.getFilteredOutRows(e.getUnitId(),e.getSheetId(),t,r);e.setFilteredOutRows(n)}},kpe=class extends lpe{constructor(e="Error"){super(e)}get nodeType(){return ope.FUNCTION}async executeAsync(){return this.setValue(fhe.create(Jde.NAME)),Promise.resolve(Gde.SUCCESS)}execute(){this.setValue(fhe.create(Jde.NAME))}};let Ppe=class extends cpe{constructor(e,t,r,n,i,a){super(),this._functionService=e,this._currentConfigService=t,this._runtimeService=r,this._definedNamesService=n,this._injector=i,this._formulaDataModel=a}get zIndex(){return spe.get(ope.FUNCTION)||100}create(e){let t=this._functionService.getExecutor(e);return t?new Lpe(e,t,this._currentConfigService,this._runtimeService,this._definedNamesService,this._formulaDataModel):(console.error(`No function ${e}`),upe.create(Jde.NAME))}checkAndCreateNodeType(e){if("string"==typeof e)return;let{tokenTrim:t,minusPrefixNode:r,atPrefixNode:n}=Ope(e.getToken().trim(),this._functionService,this._runtimeService),i=this._isParentUnionNode(e);if(!Number.isNaN(Number(t))&&!i)return upe.create(Jde.VALUE);let a=t.toUpperCase();if((!i||!Epe.has(a))&&this._functionService.hasExecutor(a)){let e=this.create(a);return n?e.setParent(n):r&&e.setParent(r),e}}_isParentUnionNode(e){var t;return(null==(t=e.getParent())||null==(t=t.getParent())?void 0:t.getToken())===lhe.COLON}};Ppe=Kme([Zme(0,Rpe),Zme(1,Yfe),Zme(2,ape),Zme(3,Jme),Zme(4,Y(he)),Zme(5,Y(jfe))],Ppe);let Dpe=class extends tu{constructor(e){super(),this._runtimeService=e}async executeAsync(e){if(!e||!e.node)return Promise.resolve(fhe.create(Jde.VALUE));let t=e.node,r=e.refOffsetX,n=e.refOffsetY;await this._executeAsync(t,r,n);let i=t.getValue();return null==i?Promise.resolve(fhe.create(Jde.VALUE)):Promise.resolve(i)}execute(e){if(!e||!e.node)return fhe.create(Jde.VALUE);let t=e.node,r=e.refOffsetX,n=e.refOffsetY;this._execute(t,r,n);let i=t.getValue();return null==i?fhe.create(Jde.VALUE):i}executePreCalculateNode(e){return e.execute(),e.getValue()}checkAsyncNode(e){if(null==e)return!1;let t=[];this._checkAsyncNode(e,t);for(let e=0,r=t.length;ekge.create(e));return this.execute(...t)}_setLambdaNodeValue(e){if(!e)return;let t=e.getChildren(),r=t.length;for(let e=0;e=2&&"["===e[0]&&"]"===e[e.length-1]?e.slice(1,-1):e}_findCommaAtTopLevel(e){let t=0;for(let r=0;rc?{startColumn:r+c,endColumn:r+u}:{startColumn:r+u,endColumn:r+c}}_stripOuterBracketIfAny(e){return e.length>=2&&"["===e[0]&&"]"===e[e.length-1]?e.slice(1,-1):e}_findColonAtTopLevel(e){let t=0;for(let r=0;rnew Jpe(a,o,e,t,r),l=this._getTableMap();if(null!=(i=null==l?void 0:l.has(e))&&i)return this._getTableReferenceNode(e,t,r,!0);if(bme(e))return s(Jge.CELL);let u=t&&this._checkParentIsUnionOperator(n);return u&&_me(e)?s(Jge.ROW):u&&wme(e)?s(Jge.COLUMN):this._getTableReferenceNode(e,t,r,!1)}_getTableReferenceNode(e,t,r,n=!1){if(!this._checkTokenIsTableReference(e)&&!n)return;let{tableName:i,columnStruct:a}=function(e){let t=e.indexOf("[");return-1===t?{tableName:e,struct:""}:{tableName:e.slice(0,t),columnStruct:e.slice(t)}}(e),o=this._getTableMap();if(!t&&null!=o&&o.has(i)){let t=a,n=o.get(i),s=this._superTableService.getTableOptionMap();return new Jpe(this._currentConfigService,this._formulaRuntimeService,e,Jge.COLUMN,r,new $pe(e,n,t,s))}}_checkTokenIsTableReference(e){return function(e){return mme.lastIndex=0,mme.test(e)}(e)||function(e){return fme.lastIndex=0,fme.test(e)}(e)||function(e){return gme.lastIndex=0,gme.test(e)}(e)||function(e){return pme.lastIndex=0,pme.test(e)}(e)}_checkParentIsUnionOperator(e){var t;return(null==(t=e.getParent())||null==(t=t.getParent())?void 0:t.getToken().trim())===lhe.COLON}};eve=Kme([Zme(0,Yfe),Zme(1,ape),Zme(2,Rpe),Zme(3,Sfe)],eve);var tve=class extends lpe{constructor(e,t,r,n){super(r),this._currentConfigService=e,this._lexer=t,this._operatorString=r,this._functionExecutor=n}get nodeType(){return ope.SUFFIX}execute(){var e;let t,r=null==(e=this.getChildren()[0])?void 0:e.getValue();if(null!=r){if(this._operatorString===uhe.PERCENTAGE){if(r.isReferenceObject()&&(r=r.toArrayValueObject()),t=this._functionExecutor.calculate(r,Age.create(100)),t.isNumber()){let e=Number(t.getValue());t=Age.create(e,"0.00%")}}else t=this._operatorString===uhe.POUND?this._handlerPound(r):fhe.create(Jde.VALUE);this.setValue(t)}else this.setValue(fhe.create(Jde.ERROR))}_handlerPound(e){var t;if(!e.isReferenceObject()||!e.isCell())return fhe.create(Jde.VALUE);let r=e,n=r.getRangePosition(),i=r.getUnitId(),a=r.getSheetId(),o=this._currentConfigService.getFormulaData(),s=null==o||null==(t=o[i])||null==(t=t[a])||null==(t=t[n.startRow])||null==(t=t[n.startColumn])?void 0:t.f;return s&&this._lexer.treeBuilder(s),fhe.create(Jde.VALUE)}};let rve=class extends cpe{constructor(e,t,r){super(),this._functionService=e,this._lexer=t,this._currentConfigService=r}get zIndex(){return spe.get(ope.SUFFIX)||100}checkAndCreateNodeType(e){if(!(e instanceof Dfe))return;let t=e.getToken().trim();if('"'===t.charAt(0)&&'"'===t.charAt(t.length-1))return;let r="";if(t!==uhe.PERCENTAGE)return t===uhe.POUND?new tve(this._currentConfigService,this._lexer,t):void 0;r=Tpe.DIVIDED;let n=this._functionService.getExecutor(r);return n?new tve(this._currentConfigService,this._lexer,t,n):(console.error(`No function ${e}`),upe.create(Jde.NAME))}};rve=Kme([Zme(0,Rpe),Zme(1,Y(Qfe)),Zme(2,Yfe)],rve);var nve=class extends lpe{constructor(e){super(e)}get nodeType(){return ope.UNION}execute(){let e,t=this.getChildren(),r=t[0],n=t[1],i=r.getValue(),a=n.getValue();if(null==i||null==a)return console.error("UnionNode execute leftNode or rightNode is null"),void this.setValue(fhe.create(Jde.VALUE));e=this.getToken()===lhe.COLON?this._unionFunction(i,a):fhe.create(Jde.NAME),this.setValue(e)}_unionFunction(e,t){return e.isError()||t.isError()||!e.isReferenceObject()||!t.isReferenceObject()?fhe.create(Jde.REF):function(e,t){let r;return r=e.isCell()&&t.isCell()||e.isRow()&&t.isRow()||e.isColumn()&&t.isColumn()?e.unionBy(t):fhe.create(Jde.NAME),r}(e,t)}};let ive=class extends cpe{constructor(e){super(),this._functionService=e}get zIndex(){return spe.get(ope.UNION)||100}create(e){return new nve(e)}checkAndCreateNodeType(e){if(!(e instanceof Dfe))return;let t=e.getToken().trim();return'"'===t.charAt(0)&&'"'===t.charAt(t.length-1)||t!==lhe.COLON?void 0:this.create(t)}};ive=Kme([Zme(0,Rpe)],ive);var ave=class extends lpe{constructor(e){super(e)}get nodeType(){return ope.VALUE}execute(){let e=this.getParent(),t=!0;var r,n;(null==e?void 0:e.nodeType)===ope.FUNCTION&&(t=null==(r=null==(n=e.isFunctionExecutorArgumentsIgnoreNumberPattern)?void 0:n.call(e))||r),this.setValue(kge.create(this.getToken(),t))}},ove=class extends cpe{get zIndex(){return spe.get(ope.VALUE)||100}_checkValueNode(e){if(!Number.isNaN(Number(e)))return this.create(e);{let t=e.trim(),r=t.charAt(0),n=t.charAt(t.length-1);if(ehe.has(t)||'"'===r&&'"'===n||"{"===r&&"}"===n)return this.create(t);let i=t.toUpperCase();if(i===qde.TRUE||i===qde.FALSE)return this.create(i)}}create(e){return new ave(e)}checkAndCreateNodeType(e){if(!(e instanceof Dfe))return this._checkValueNode(e)}};let sve=class extends tu{constructor(e,t,r,n,i,a,o,s,l,u,c){super(),this._runtimeService=e,this._astRootNodeFactory=t,this._functionNodeFactory=r,this._lambdaNodeFactory=n,this._lambdaParameterNodeFactory=i,this._operatorNodeFactory=a,this._prefixNodeFactory=o,this._referenceNodeFactory=s,this._suffixNodeFactory=l,this._unionNodeFactory=u,this._valueNodeFactory=c,Kde(this,"_astNodeFactoryList",[]),this._initializeAstNode()}dispose(){this._astNodeFactoryList.forEach(e=>{e.dispose()}),this._astNodeFactoryList=[]}parse(e){let t=new dpe("R_1"),r=this._parse(e,t);return e.hasDefinedNames()&&(null==r||r.setDefinedNames(e.getDefinedNames())),r}_lambdaParameterHandler(e,t){if(null==t.getLambdaId)return upe.create(Jde.VALUE);let r=t.getLambdaId(),n=new dpe("R_1"),i=this._runtimeService.getFunctionDefinitionPrivacyVar(r);if(!i)return!1;let a=[...i.keys()],o=e.getChildren(),s=o.length;for(let e=0;e{t.resetState(),e.push(t)}),e}getTreeById(e){return this._allTreeMap.get(e)}reset(){this._otherFormulaData.clear(),this._featureFormulaData.clear(),this._formulaData.clear(),this._definedNameMap.clear(),this._otherFormulaDataMainData.clear(),this._dependencyRTreeCache.clear(),this._allTreeMap.clear(),this._restDependencyTreeId()}addOtherFormulaDependency(e,t,r,n){this._otherFormulaData.has(e)||this._otherFormulaData.set(e,new Map);let i=this._otherFormulaData.get(e);i.has(t)||i.set(t,new Map);let a=i.get(t);a.has(r)||a.set(r,new kd),a.get(r).setValue(n.refOffsetX,n.refOffsetY,n.treeId),this._addAllTreeMap(n)}removeOtherFormulaDependency(e,t,r){let n=this._otherFormulaData.get(e);if(n&&n.has(t)){let i=n.get(t);r.forEach(e=>{let t=i.get(e);null!=t&&(t.forValue((e,t,r)=>{this._removeDependencyRTreeCache(r),this.clearDependencyForTree(this._allTreeMap.get(r)),this._removeAllTreeMap(r)}),i.delete(e),this._otherFormulaDataMainData.delete(e))}),0===i.size&&n.delete(t),0===n.size&&this._otherFormulaData.delete(e)}}clearOtherFormulaDependency(e,t){let r=this._otherFormulaData.get(e);if(t&&r&&r.has(t)){let n=r.get(t);this._removeDependencyRTreeCacheById(e,t);for(let e of n.keys()){let t=n.get(e);null!=t&&(t.forValue((e,t,r)=>{let n=this._allTreeMap.get(r);n&&(this.clearDependencyForTree(n),this._removeAllTreeMap(r))}),this._otherFormulaDataMainData.delete(e))}n.clear()}else if(r){for(let t of r.keys()){let n=r.get(t);this._removeDependencyRTreeCacheById(e,t);for(let e of n.keys()){let t=n.get(e);null!=t&&(t.forValue((e,t,r)=>{let n=this._allTreeMap.get(r);n&&(this.clearDependencyForTree(n),this._removeAllTreeMap(r))}),this._otherFormulaDataMainData.delete(e))}}this._otherFormulaData.delete(e)}}addFeatureFormulaDependency(e,t,r,n){this._featureFormulaData.has(e)||this._featureFormulaData.set(e,new Map);let i=this._featureFormulaData.get(e);i.has(t)||i.set(t,new Map),i.get(t).set(r,n.treeId),this._addAllTreeMap(n)}removeFeatureFormulaDependency(e,t,r){let n=this._featureFormulaData.get(e);if(n&&n.has(t)){let e=n.get(t);r.forEach(t=>{let r=e.get(t);null!=r&&(this._removeDependencyRTreeCache(r),e.delete(t),this.clearDependencyForTree(this._allTreeMap.get(r)),this._removeAllTreeMap(r))})}}clearFeatureFormulaDependency(e,t){let r=this._featureFormulaData.get(e);if(t&&r&&r.has(t)){let n=r.get(t);this._removeDependencyRTreeCacheById(e,t),n.forEach(e=>{null!=e&&(this.clearDependencyForTree(this._allTreeMap.get(e)),this._removeAllTreeMap(e))}),n.clear()}else r&&(r.forEach((t,r)=>{this._removeDependencyRTreeCacheById(e,r),t.forEach(e=>{null!=e&&(this.clearDependencyForTree(this._allTreeMap.get(e)),this._removeAllTreeMap(e))})}),this._featureFormulaData.delete(e))}addFormulaDependency(e,t,r,n,i){this._formulaData.has(e)||this._formulaData.set(e,new Map);let a=this._formulaData.get(e);a.has(t)||a.set(t,new kd),a.get(t).setValue(r,n,i.treeId),this._addAllTreeMap(i)}removeFormulaDependency(e,t,r,n){let i=this._formulaData.get(e);if(i&&i.has(t)){let e=i.get(t),a=e.getValue(r,n);if(null==a)return;this._removeDependencyRTreeCache(a),e.realDeleteValue(r,n),this.clearDependencyForTree(this._allTreeMap.get(a)),this._removeAllTreeMap(a)}}clearFormulaDependency(e,t){let r=this._formulaData.get(e);if(t&&r&&r.has(t)){let n=r.get(t);this._removeDependencyRTreeCacheById(e,t),n.forValue((e,t,r)=>{if(null==r)return!0;this.clearDependencyForTree(this._allTreeMap.get(r)),this._removeAllTreeMap(r)}),n.reset()}else r&&(r.forEach((t,r)=>{this._removeDependencyRTreeCacheById(e,r),t.forValue((e,t,r)=>{if(null==r)return!0;this.clearDependencyForTree(this._allTreeMap.get(r)),this._removeAllTreeMap(r)})}),this._formulaData.delete(e))}clearDependencyForTree(e){if(null==e)return;let t=e.parents,r=e.children,n=this._allTreeMap;for(let r of t){let t=n.get(r);null==t||t.children.delete(e.treeId)}for(let t of r){let r=n.get(t);null==r||r.parents.delete(e.treeId)}e.dispose()}_removeDependencyRTreeCache(e){if(null==e)return;let t=this._allTreeMap.get(e);if(t){let r=[];for(let n=0;n{var n;null==(n=this._referenceExecutorMap.get(e))||null==(n=n.get(t))||n.delete(r)}),this._onChanged$.next({unitId:e,subUnitId:t,featureIds:r})}get(e,t,r){var n;return null==(n=this._referenceExecutorMap.get(e))||null==(n=n.get(t))?void 0:n.get(r)}has(e,t,r){var n;return!(null==(n=this._referenceExecutorMap.get(e))||null==(n=n.get(t))||!n.has(r))}register(e,t,r,n){let i=this._referenceExecutorMap.get(e);i||(i=new Map,this._referenceExecutorMap.set(e,i));let a=i.get(t);a||(a=new Map,i.set(t,a)),this._onChanged$.next({unitId:e,subUnitId:t,featureIds:[r]}),a.set(r,n)}getReferenceExecutorMap(){return this._referenceExecutorMap}};const hve=V("univer.formula.feature-calculation-manager.service");var mve=class extends tu{constructor(...e){super(...e),Kde(this,"_otherFormulaData",{})}dispose(){super.dispose(),this._otherFormulaData={}}remove(e){var t;let{unitId:r,subUnitId:n,formulaId:i}=e;null==(t=this._otherFormulaData)||null==(t=t[r])||null==(t=t[n])||delete t[i]}get(e){var t;let{unitId:r,subUnitId:n,formulaId:i}=e;return null==(t=this._otherFormulaData[r])||null==(t=t[n])?void 0:t[i]}has(e){var t;let{unitId:r,subUnitId:n,formulaId:i}=e;return null!=(null==(t=this._otherFormulaData[r])||null==(t=t[n])?void 0:t[i])}register(e){let{unitId:t,subUnitId:r,formulaId:n,item:i}=e;this._otherFormulaData[t]||(this._otherFormulaData[t]={}),this._otherFormulaData[t][r]||(this._otherFormulaData[t][r]={}),this._otherFormulaData[t][r][n]=i}batchRegister(e){Object.keys(e).forEach(t=>{let r=e[t];if(null==r)return!0;Object.keys(r).forEach(e=>{let n=r[e];if(null==n)return!0;Object.keys(n).forEach(r=>{let i=n[r];if(null==i)return!0;this.register({unitId:t,subUnitId:e,formulaId:r,item:i})})})})}batchRemove(e){Object.keys(e).forEach(t=>{let r=e[t];if(null==r)return!0;Object.keys(r).forEach(e=>{let n=r[e];if(null==n)return!0;Object.keys(n).forEach(r=>{this.remove({unitId:t,subUnitId:e,formulaId:r})})})})}getOtherFormulaData(){return this._otherFormulaData}};const fve=V("univer.formula.other-formula-manager.service");let gve=function(e){return e[e.DEFAULT=0]="DEFAULT",e[e.ADDED=1]="ADDED",e[e.SKIP=2]="SKIP",e}({}),pve=function(e){return e[e.NORMAL_FORMULA=0]="NORMAL_FORMULA",e[e.OTHER_FORMULA=1]="OTHER_FORMULA",e[e.FEATURE_FORMULA=2]="FEATURE_FORMULA",e}({});var vve=class{constructor(){Kde(this,"_state",gve.DEFAULT),Kde(this,"type",pve.NORMAL_FORMULA),Kde(this,"treeId",void 0),Kde(this,"children",new Set),Kde(this,"parents",new Set)}resetState(){this._state=gve.DEFAULT}setAdded(){this._state=gve.ADDED}isAdded(){return this._state===gve.ADDED}setSkip(){this._state=gve.SKIP}isSkip(){return this._state===gve.SKIP}pushChildren(e){this.children.add(e.treeId),e._pushParent(this)}hasChildren(e){return this.children.has(e)}_pushParent(e){this.parents.add(e.treeId)}},bve=class extends vve{constructor(...e){super(...e),Kde(this,"refTree",void 0),Kde(this,"refOffsetX",-1),Kde(this,"refOffsetY",-1),Kde(this,"isCache",!1),Kde(this,"isDirty",!1),Kde(this,"addressFunctionNodes",[]),Kde(this,"getDirtyData",void 0),Kde(this,"featureId",void 0)}get isVirtual(){return!0}get row(){return null==this.refTree?-1:this.refTree.row+this.refOffsetY}get column(){return null==this.refTree?-1:this.refTree.column+this.refOffsetX}get rowCount(){return null==this.refTree?0:this.refTree.rowCount}get columnCount(){return null==this.refTree?0:this.refTree.columnCount}get unitId(){return null==this.refTree?"":this.refTree.unitId}get subUnitId(){return null==this.refTree?"":this.refTree.subUnitId}get formula(){var e,t;return null==(e=null==(t=this.refTree)?void 0:t.formula)?"":e}get nodeData(){return{node:this.node,refOffsetX:this.refOffsetX,refOffsetY:this.refOffsetY}}get node(){var e;return null==(e=this.refTree)?void 0:e.node}dispose(){this.refTree=null}get rangeList(){let e=[];if(null==this.refTree)return[];for(let t=0;tn||oi)}dependencySheetName(e){return null!=this.refTree&&this.refTree.dependencySheetName(e)}isExcludeRange(e){let t=this.rangeList;if(0===t.length)return!1;for(let n=0,i=t.length;n{if(e>=l&&e<=u&&t>=c&&t<=d)return h=!0,!1}),h)return!0}return!1}get formulaId(){return null==this.refTree?"":this.refTree.formulaId}},Cve=class extends vve{constructor(e){super(),Kde(this,"isCache",!1),Kde(this,"featureId",void 0),Kde(this,"featureDirtyRanges",[]),Kde(this,"refOffsetX",0),Kde(this,"refOffsetY",0),Kde(this,"formulaId",void 0),Kde(this,"subUnitId",""),Kde(this,"unitId",""),Kde(this,"rangeList",[]),Kde(this,"formula",""),Kde(this,"row",-1),Kde(this,"column",-1),Kde(this,"rowCount",-1/0),Kde(this,"columnCount",-1/0),Kde(this,"isDirty",!1),Kde(this,"node",void 0),Kde(this,"addressFunctionNodes",[]),Kde(this,"getDirtyData",void 0),this.treeId=e}get isVirtual(){return!1}get nodeData(){return{node:this.node,refOffsetX:0,refOffsetY:0}}toJson(){return{formula:this.formula,refOffsetX:this.refOffsetX,refOffsetY:this.refOffsetY}}dispose(){this.featureDirtyRanges=[],this.rangeList=[],this.addressFunctionNodes=[],this.getDirtyData=null}inRangeData(e){let t=e.startRow,r=e.startColumn,n=e.endRow,i=e.endColumn,a=this.row,o=this.column;return!(an||oi)}dependencySheetName(e){let t=this.rangeList;if(0===t.length||null==e)return!1;for(let n=0,i=t.length;n{if(e>=l&&e<=u&&t>=c&&t<=d)return h=!0,!1}),h)return!0}return!1}pushRangeList(e){this.rangeList.push(...e)}shouldBePushRangeList(){return 0===this.rangeList.length&&this.type!==pve.FEATURE_FORMULA}toRTreeItem(){if(null!=this.featureId)return this.featureDirtyRanges;let e=this.row,t=this.column;return[{unitId:this.unitId,sheetId:this.subUnitId,range:{startRow:e,startColumn:t,endRow:e,endColumn:t}}]}},yve=class{constructor(e){var t,r,n,i;Kde(this,"children",new Set),Kde(this,"parents",new Set),Kde(this,"treeId",-1),Kde(this,"formula",""),Kde(this,"refOffsetX",0),Kde(this,"refOffsetY",0),Kde(this,"row",-1),Kde(this,"column",-1),Kde(this,"unitId",""),Kde(this,"subUnitId",""),Kde(this,"rangeList",[]),Kde(this,"refTreeId",void 0),Kde(this,"formulaId",void 0),Kde(this,"featureId",void 0),Kde(this,"type",void 0),this.treeId=e.treeId,this.row=e.row,this.column=e.column,this.unitId=e.unitId,this.subUnitId=e.subUnitId,this.refOffsetX=e.refOffsetX,this.refOffsetY=e.refOffsetY,this.rangeList=e.rangeList,e.isVirtual?this.refTreeId=null==(t=null==(r=e.refTree)?void 0:r.treeId)?-1:t:(this.formula=e.formula,this.formulaId=null==(n=e.formulaId)?void 0:n,this.featureId=null==(i=e.featureId)?void 0:i,this.type=e.type)}toJson(){return{children:Array.from(this.children).map(e=>e.treeId),parents:Array.from(this.parents).map(e=>e.treeId),treeId:this.treeId,formula:this.formula,row:this.row,column:this.column,unitId:this.unitId,subUnitId:this.subUnitId,refOffsetX:this.refOffsetX,refOffsetY:this.refOffsetY,rangeList:this.rangeList,refTreeId:this.refTreeId,formulaId:this.formulaId,featureId:this.featureId,type:this.type}}toFullJson(){return{children:Array.from(this.children).map(e=>e.toJson()),parents:Array.from(this.parents).map(e=>e.toJson()),treeId:this.treeId,formula:this.formula,row:this.row,column:this.column,unitId:this.unitId,subUnitId:this.subUnitId,refOffsetX:this.refOffsetX,refOffsetY:this.refOffsetY,rangeList:this.rangeList,refTreeId:this.refTreeId,formulaId:this.formulaId,featureId:this.featureId,type:this.type}}addParent(e){this.parents.add(e)}addChild(e){this.children.add(e)}};function _ve(e){return e.getLastTreeId()||0}const wve=V("engine-formula.dependency-generator");let Eve=class extends tu{constructor(e,t,r,n,i,a,o,s,l,u){super(),this._currentConfigService=e,this._runtimeService=t,this._otherFormulaManagerService=r,this._featureCalculationManagerService=n,this._univerInstanceService=i,this._interpreter=a,this._astTreeBuilder=o,this._lexer=s,this._dependencyManagerService=l,this._lexerTreeBuilder=u,Kde(this,"_updateRangeFlattenCache",new Map),Kde(this,"_dependencyRTreeCacheForAddressFunction",new Wg),Kde(this,"_executedAddressFunctionNodeIds",new Set),Kde(this,"_formulaDependencyTreeModel",new Map),this._initUnitDispose()}dispose(){super.dispose(),this._updateRangeFlattenCache.clear(),this._dependencyRTreeCacheForAddressFunction.clear(),Spe.clear()}_initUnitDispose(){this.disposeWithMe(this._univerInstanceService.getTypeOfUnitDisposed$(Pi.UNIVER_SHEET).subscribe(e=>{this._disposeByUnitId(e.getUnitId())}))}_disposeByUnitId(e){Spe.forEach((t,r)=>{r.startsWith(e)&&Spe.delete(r)})}async generate(e=!1){this._updateRangeFlatten();let t=this._currentConfigService.getFormulaData(),r=this._otherFormulaManagerService.getOtherFormulaData(),n=this._currentConfigService.getClearDependencyTreeCache();null!=n&&Object.keys(n).forEach(e=>{null!=e&&Object.keys(n[e]).forEach(t=>{null!=t&&(this._dependencyManagerService.clearOtherFormulaDependency(e,t),this._dependencyManagerService.clearFeatureFormulaDependency(e,t),this._dependencyManagerService.clearFormulaDependency(e,t))})});let i=this._currentConfigService.getUnitData(),a=await this._generateTreeList(t,r,i);e&&this._runtimeService.setDependencyTreeModelData(this._getAllDependencyJson(a));let o=this._getUpdateTreeListAndMakeDependency(a),s=this._calculateRunList(o);return this._dependencyFeatureCalculation(s)&&(s.forEach(e=>{e.resetState()}),s=this._calculateRunList(s)),this._checkIsCycleDependency(s)&&this._runtimeService.enableCycleDependency(),this._dependencyRTreeCacheForAddressFunction.clear(),this._runtimeService.clearArrayObjectCache(),Promise.resolve(s)}_dependencyFeatureCalculation(e){let t=this._featureCalculationManagerService.getReferenceExecutorMap();if(0===t.size)return;this._clearFeatureCalculationNode(e);let r=!1;return t.forEach((t,n)=>{t.forEach((t,n)=>{t.forEach((t,n)=>{let{unitId:i,subUnitId:a,getDirtyData:o}=t,s=o(this._currentConfigService.getDirtyData(),this._runtimeService.getAllRuntimeData()),l=this._convertDirtyRangesToUnitRange(s.dirtyRanges),u=this._intersectFeatureCalculation(l,e,{unitId:i,subUnitId:a,featureId:n});if(u.length>0){let o=this._getExistTreeList({unitId:i,subUnitId:a,featureId:n},e);null==o&&(o=this._getFeatureFormulaTree(n,_ve(this._dependencyManagerService),t),e.push(o)),o.parents=new Set,u.forEach(e=>{e.hasChildren(o.treeId)||e.pushChildren(o)}),r=!0}})})}),r}_clearFeatureCalculationNode(e){let t=this._featureCalculationManagerService.getReferenceExecutorMap();e.forEach(e=>{let r=new Set;for(let i of e.children){var n;let a=this._dependencyManagerService.getTreeById(i);a&&(a.featureId&&null!=(n=t.get(e.unitId))&&null!=(n=n.get(e.subUnitId))&&n.has(a.featureId)||r.add(i))}e.children=r;let i=new Set;for(let r of e.parents){var a;let n=this._dependencyManagerService.getTreeById(r);n&&(n.featureId&&null!=(a=t.get(e.unitId))&&null!=(a=a.get(e.subUnitId))&&a.has(n.featureId)||i.add(r))}e.parents=i})}_convertDirtyRangesToUnitRange(e){let t=[];for(let r in e){let n=e[r];for(let e in n){let i=n[e];for(let n of i)t.push({unitId:r,sheetId:e,range:n})}}return t}_intersectFeatureCalculation(e,t,r){let n=[],i=this._dependencyManagerService.searchDependency(e);for(let e=0,a=t.length;e0&&(t.addressFunctionNodes=n),t.isVirtual)continue;this._runtimeService.setCurrent(t.row,t.column,t.rowCount,t.columnCount,t.subUnitId,t.unitId);let i=await this._getRangeListByNode({node:r,refOffsetX:t.refOffsetX,refOffsetY:t.refOffsetY});t.pushRangeList(i)}for(let e=0,t=a.length;e{t.forEach((t,r)=>{t.forEach((t,r)=>{let n=this._dependencyManagerService.getFeatureFormulaDependency(t.unitId,t.subUnitId,r);e.push(this._getFeatureFormulaTree(r,n,t))})})})}_getFeatureFormulaTree(e,t,r){let{unitId:n,subUnitId:i,dependencyRanges:a,getDirtyData:o}=r,s=new Cve(t||_ve(this._dependencyManagerService));s.unitId=n,s.subUnitId=i,s.rangeList=a,s.getDirtyData=o;let l=o(this._currentConfigService.getDirtyData(),this._runtimeService.getAllRuntimeData());return s.featureDirtyRanges=this._convertDirtyRangesToUnitRange(l.dirtyRanges),s.featureId=e,s.type=pve.FEATURE_FORMULA,this._dependencyManagerService.addFeatureFormulaDependency(n,i,e,s),this._dependencyManagerService.getFeatureFormulaDependency(r.unitId,r.subUnitId,e)&&(s.isCache=!0),s}_registerOtherFormulas(e,t,r){for(let n of t){let t=e[n];if(null==t)continue;let i=Object.keys(t);for(let e of i){let i=t[e];if(null==i)continue;let{rowCount:a=1/0,columnCount:o=1/0}=this._currentConfigService.getSheetRowColumnCount(n,e)||{},s=Object.keys(i);for(let t of s){let s=this._dependencyManagerService.hasOtherFormulaDataMainData(t),{f:l,ranges:u}=i[t],c=!1;s&&(c=!0);let d=Ape(n,l,this._lexer,this._astTreeBuilder,this._currentConfigService),{firstRow:h,firstColumn:m}=this._getFirstCellOfRange(u),f=this._dependencyManagerService.getOtherFormulaDependency(n,e,t),g=new Cve((null==f?void 0:f.getValue(0,0))||_ve(this._dependencyManagerService));for(let i=0;i{if(null==s)return!0;let{x:l=0,y:u=0,si:c}=s;if(0!==l||0!==u||null==c)return!0;let d=this._createFDtree(i,t,e,a,r,s),h=this._dependencyManagerService.getFormulaDependency(i,t,e,a);null==h?(this._dependencyManagerService.addFormulaDependency(i,t,e,a,d),this._dependencyManagerService.addFormulaDependencyByDefinedName(d)):(d.treeId=h,d.isCache=!0,this._dependencyManagerService.updateDependencyTreeDirtyState(h,!1)),o.set(c,d),n.push(d)}),a.forValue((e,a,s)=>{if(null==s)return!0;let l,{x:u=0,y:c=0,si:d}=s;if(0===u&&0===c&&null!=d)return!0;if(d&&o.has(d)){let e=o.get(d);l=this._createVirtualFDtree(e,s)}else l=this._createFDtree(i,t,e,a,r,s);let h=this._dependencyManagerService.getFormulaDependency(i,t,e,a);null==h?(this._dependencyManagerService.addFormulaDependency(i,t,e,a,l),this._dependencyManagerService.addFormulaDependencyByDefinedName(l)):(l.treeId=h,l.isCache=!0,this._dependencyManagerService.updateDependencyTreeDirtyState(h,!1)),n.push(l)}),o.clear()}}}_createFDtree(e,t,r,n,i,a){let{f:o,x:s=0,y:l=0}=a,u=new Cve(_ve(this._dependencyManagerService)),c=i[e][t];return u.node=Ape(e,o,this._lexer,this._astTreeBuilder,this._currentConfigService),u.formula=o,u.unitId=e,u.subUnitId=t,u.row=r,u.column=n,u.rowCount=c.rowCount,u.columnCount=c.columnCount,u}_createVirtualFDtree(e,t){let{x:r=0,y:n=0}=t,i=new bve;return i.treeId=_ve(this._dependencyManagerService),i.refTree=e,i.refOffsetX=r,i.refOffsetY=n,i}_updateRangeFlatten(){let e=this._currentConfigService.isForceCalculate(),t=this._currentConfigService.getDirtyRanges();if(!e){this._updateRangeFlattenCache.clear();for(let e=0;e0;){let r,n=t.pop(),i={node:this._getTreeNode(n),refOffsetX:n.refOffsetX,refOffsetY:n.refOffsetY};await this._calculateAddressFunction(e,n),this._runtimeService.setCurrent(n.row,n.column,n.rowCount,n.columnCount,n.subUnitId,n.unitId),r=this._interpreter.checkAsyncNode(i.node)?await this._interpreter.executeAsync(i):this._interpreter.execute(i),null==n.formulaId?this._runtimeService.setRuntimeData(r):this._runtimeService.setRuntimeOtherData(n.formulaId,n.refOffsetX,n.refOffsetY,r)}}_buildTreeNodeById(e){let t=[];for(let r of e){let e=this._getTreeById(r);!e||this._executedAddressFunctionNodeIds.has(r)||(this._executedAddressFunctionNodeIds.add(r),t.push(e))}return t}_searchDependencyByAddressFunction(e,t,r){let n=e.bulkSearch(t),i=this._dependencyRTreeCacheForAddressFunction.bulkSearch(t);for(let e of i)r.has(e)||r.add(e);let a=[];for(let e of n){let t=this._getTreeById(e);t&&!r.has(e)&&(a.push(...t.rangeList),r.add(e))}return a.length>0&&this._searchDependencyByAddressFunction(e,a,r),r}_getTreeById(e){return this._dependencyManagerService.getTreeById(e)}_addDependencyTreeByAddressFunction(e,t){let r=[];for(let n=0;n0;){let e=t.pop();if(void 0===e||e.isSkip())continue;if(e.isAdded()){r.push(e),e.setSkip();continue}n.length=0;for(let t of e.parents){let r=this._dependencyManagerService.getTreeById(t);r?r.isAdded()||e.isSkip()||n.push(r):console.error("Dependency tree not found for treeId:",t)}let i=this._dependencyRTreeCacheForAddressFunction.bulkSearch(e.toRTreeItem());for(let t of i){let r=this._dependencyManagerService.getTreeById(t);r?r.isAdded()||e.isSkip()||n.push(r):console.error("Dependency tree not found for treeId:",t)}0===n.length?(r.push(e),e.setSkip()):(e.setAdded(),t.push(e,...n))}return r}async _initializeGenerateTreeList(){let e=this._currentConfigService.getFormulaData(),t=this._otherFormulaManagerService.getOtherFormulaData(),r=this._currentConfigService.getUnitData();return await this._generateTreeList(e,t,r)}async _getAllTreeList(){let e=await this._initializeGenerateTreeList();return this._dependencyManagerService.buildDependencyTree(e)}_getTreeModel(e){let t=this._formulaDependencyTreeModel.get(e);if(!t){let r=this._getTreeById(e);if(!r)return void console.error("FormulaDependencyTree is null for treeId:",e);t=new yve(r),this._formulaDependencyTreeModel.set(e,t)}return t}_getDependencyTreeParenIds(e){return e.parents}_getDependencyTreeChildrenIds(e){return e.children}_getFormulaDependencyTreeModel(e){let t=this._getTreeModel(e.treeId),r=this._getDependencyTreeParenIds(e);if(!t)return new yve(e);for(let e of r){let r=this._getTreeModel(e);r&&(t.addParent(r),r.addChild(t))}return t}_endFormulaDependencyTreeModel(){this._formulaDependencyTreeModel.clear()}_startFormulaDependencyTreeModel(){}_getAllDependencyJson(e){this._startFormulaDependencyTreeModel();let t=[];for(let r of e){let e=r.type;if(r.isVirtual&&(e===pve.FEATURE_FORMULA||e===pve.OTHER_FORMULA))continue;let n=this._getFormulaDependencyTreeModel(r);t.push(n)}let r=[];for(let e of t)r.push(e.toJson());return this._endFormulaDependencyTreeModel(),r}async getAllDependencyJson(){let e=await this._getAllTreeList();return this._getAllDependencyJson(e)}_setRealFormulaString(e){if(null==e.refTreeId)return;let t=this._getTreeById(e.refTreeId);t&&(e.formula=this._lexerTreeBuilder.moveFormulaRefOffset(t.formula,e.refOffsetX,e.refOffsetY))}async getCellDependencyJson(e,t,r,n){await this._initializeGenerateTreeList();let i=this._dependencyManagerService.getFormulaDependency(e,t,r,n);if(null==i)return;let a=this._getTreeById(i);if(!a)return;this._startFormulaDependencyTreeModel();let o=this._getFormulaDependencyTreeModel(a);this._setRealFormulaString(o);let s=this._getDependencyTreeChildrenIds(a);for(let e of s){let t=this._getTreeModel(e);t&&(this._setRealFormulaString(t),o.addChild(t))}for(let e of o.parents)this._setRealFormulaString(e);return this._endFormulaDependencyTreeModel(),o.toFullJson()}_getRangeDependents(e){let t=this._dependencyManagerService.searchDependency(e),r=[];for(let e of t){let t=this._getTreeById(e);if(!t)continue;let n=this._getFormulaDependencyTreeModel(t);this._setRealFormulaString(n),r.push(n)}let n=[];for(let e of r)e&&n.push(e.toJson());return n}async getRangeDependents(e){await this._initializeGenerateTreeList(),this._startFormulaDependencyTreeModel();let t=this._getRangeDependents(e);return this._endFormulaDependencyTreeModel(),t}_getInRangeFormulas(e,t){let r=[];for(let n of t)for(let t of e){let e=t.unitId,i=t.sheetId;if(n.unitId===e&&n.subUnitId===i&&(t.range,n.inRangeData(t.range))){r.push(n);break}}let n=[];for(let e of r){let t=this._getFormulaDependencyTreeModel(e);this._setRealFormulaString(t),n[e.treeId]=t}let i=[];for(let e of n)e&&i.push(e.toJson());return i}async getInRangeFormulas(e){let t=await this._getAllTreeList();this._startFormulaDependencyTreeModel();let r=this._getInRangeFormulas(e,t);return this._endFormulaDependencyTreeModel(),r}async getRangeDependentsAndInRangeFormulas(e){let t=await this._getAllTreeList();this._startFormulaDependencyTreeModel();let r=this._getRangeDependents(e),n=this._getInRangeFormulas(e,t);return this._endFormulaDependencyTreeModel(),{dependents:r,inRanges:n}}};Eve=Kme([Zme(0,Yfe),Zme(1,ape),Zme(2,fve),Zme(3,hve),Zme(4,Y(dg)),Zme(5,Y(Dpe)),Zme(6,Y(sve)),Zme(7,Y(Qfe)),Zme(8,cve),Zme(9,Y(Ffe))],Eve);const Sve=V("engine-formula.calculate-formula.service");let Ave=class extends tu{constructor(e,t,r,n,i,a,o){super(),this._configService=e,this._lexer=t,this._currentConfigService=r,this._runtimeService=n,this._formulaDependencyGenerator=i,this._interpreter=a,this._astTreeBuilder=o,Kde(this,"_executionInProgressListener$",new On),Kde(this,"executionInProgressListener$",this._executionInProgressListener$.asObservable()),Kde(this,"_executionCompleteListener$",new On),Kde(this,"executionCompleteListener$",this._executionCompleteListener$.asObservable()),Kde(this,"_executeLock",new(p())),Kde(this,"_isCalculateTreeModel",!1)}dispose(){super.dispose(),this._executionInProgressListener$.complete(),this._executionCompleteListener$.complete(),Pge.clear(),zfe.clear(),mhe.clear(),Ige.clear()}stopFormulaExecution(){this._runtimeService.stopExecution()}setRuntimeFeatureCellData(e,t){this._runtimeService.setRuntimeFeatureCellData(e,t)}setRuntimeFeatureRange(e,t){this._runtimeService.setRuntimeFeatureRange(e,t)}async execute(e){this._runtimeService.setFormulaExecuteStage(rpe.START),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._currentConfigService.load(e),this._runtimeService.reset();let t=e.maxIteration||1;this._isCalculateTreeModel=e.isCalculateTreeModel||!1,this._executeLock.acquire("FORMULA_EXECUTION_LOCK",async()=>{for(let e=0;e{let i=e[t];if(null==i)return!0;Object.keys(i).forEach(e=>{let a=new kd(i[e]);if(null==a)return!0;let o=new kd;a.forValue((n,i,a)=>{o.setValue(n,i,!0),r.push({unitId:t,sheetId:e,range:a})}),null==n[t]&&(n[t]={}),n[t][e]=o})}),Object.keys(t).forEach(e=>{let n=t[e];Object.keys(n).forEach(e=>{let t=n[e];if(null==t)return!0;Object.keys(t).forEach(n=>{let i=t[n];if(null==i)return!0;for(let t of i)r.push({unitId:e,sheetId:n,range:t})})})}),{dirtyRanges:r,excludedCell:n}}async _apply(e=!1){e?this._runtimeService.setFormulaExecuteStage(rpe.START_DEPENDENCY_ARRAY_FORMULA):this._runtimeService.setFormulaExecuteStage(rpe.START_DEPENDENCY),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());let t=(await this._formulaDependencyGenerator.generate(this._isCalculateTreeModel)).reverse(),r=this._interpreter;e?(this._runtimeService.setFormulaExecuteStage(rpe.START_CALCULATION_ARRAY_FORMULA),this._runtimeService.setTotalArrayFormulasToCalculate(t.length)):(this._runtimeService.setFormulaExecuteStage(rpe.START_CALCULATION),this._runtimeService.setTotalFormulasToCalculate(t.length)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());let n=[],i=this._configService.getConfig(xfe),a=(null==i?void 0:i.intervalCount)||500,o=t.length;for(let i=0;i{let t=Kl(e);n.push(t)}),e?(this._runtimeService.setFormulaExecuteStage(rpe.CURRENTLY_CALCULATING_ARRAY_FORMULA),this._runtimeService.setCompletedArrayFormulasCount(i+1)):(this._runtimeService.setFormulaExecuteStage(rpe.CURRENTLY_CALCULATING),this._runtimeService.setCompletedFormulasCount(i+1)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._runtimeService.isStopExecution()||null==u&&null==c))return this._runtimeService.setFormulaExecuteStage(rpe.IDLE),this._runtimeService.markedAsStopFunctionsExecuted(),void this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData());if(this._runtimeService.setCurrent(l.row,l.column,l.rowCount,l.columnCount,l.subUnitId,l.unitId),null!=c&&null!=l.featureId){let{runtimeCellData:e,dirtyRanges:t}=c(this._currentConfigService.getDirtyData(),this._runtimeService.getAllRuntimeData());this._runtimeService.setRuntimeFeatureCellData(l.featureId,e),this._runtimeService.setRuntimeFeatureRange(l.featureId,t)}else null!=u&&(o=r.checkAsyncNode(u.node)?await r.executeAsync(u):r.execute(u),null==l.formulaId?this._runtimeService.setRuntimeData(o):this._runtimeService.setRuntimeOtherData(l.formulaId,l.refOffsetX,l.refOffsetY,o));null==(s=u.node)||s.resetCalculationState()}return n.forEach(e=>e()),n=[],o>0?this._runtimeService.markedAsSuccessfullyExecuted():e||this._runtimeService.markedAsNoFunctionsExecuted(),this._runtimeService.getAllRuntimeData()}async executeFormulas(e,t){this._currentConfigService.loadDataLite(t);let r=this._currentConfigService.getUnitData();this._runtimeService.reset();let n={};for(let t of Object.keys(e)){let a=e[t];if(null!=a){n[t]={};for(let e of Object.keys(a)){var i;let o=a[e];if(null==o)continue;let s=null==(i=r[t])?void 0:i[e];if(null!=s){n[t][e]={};for(let r of Object.keys(o)){let i=Number.parseInt(r);n[t][e][i]={};let a=o[i];if(a)for(let r of Object.keys(a)){let o=Number.parseInt(r),l=a[o];if(!l)continue;let u=s.rowCount||0,c=s.columnCount||0;this._runtimeService.setCurrent(i,o,u,c,e,t);let d=[];for(let e of l){let t=await this.calculate(e);if(!t){d.push({value:null,formula:e});continue}t.isReferenceObject()&&(t=t.toArrayValueObject());let r=t;if(r.isArray()){let t=r;if(1===t.getRowCount()&&1===t.getColumnCount()){d.push({value:t.getFirstCell().getValue(),formula:e});continue}d.push({value:t.toValue(),formula:e});continue}d.push({value:r.getValue(),formula:e})}n[t][e][i][o]=d}}}}}}return n}async calculate(e){let t=this._lexer.treeBuilder(e);if(Object.values(Jde).includes(t))return;let r=this._astTreeBuilder.parse(t),n=this._interpreter;if(null==r)return;let i={node:r,refOffsetX:0,refOffsetY:0};return n.checkAsyncNode(r)?await n.executeAsync(i):n.execute(i)}async getAllDependencyJson(){return this._currentConfigService.loadDataLite(),this._formulaDependencyGenerator.getAllDependencyJson()}async getCellDependencyJson(e,t,r,n){return this._currentConfigService.loadDataLite(),this._formulaDependencyGenerator.getCellDependencyJson(e,t,r,n)}async getRangeDependents(e){return this._currentConfigService.loadDataLite(),this._formulaDependencyGenerator.getRangeDependents(e)}async getInRangeFormulas(e){return this._currentConfigService.loadDataLite(),this._formulaDependencyGenerator.getInRangeFormulas(e)}async getDependentsAndInRangeFormulas(e){return this._currentConfigService.loadDataLite(),this._formulaDependencyGenerator.getRangeDependentsAndInRangeFormulas(e)}};Ave=Kme([Zme(0,Tc),Zme(1,Y(Qfe)),Zme(2,Yfe),Zme(3,ape),Zme(4,wve),Zme(5,Y(Dpe)),Zme(6,Y(sve))],Ave);let Ive=class extends tu{constructor(e,t,r){super(),this._commandService=e,this._calculateFormulaService=t,this._formulaDataModel=r,this._initialize()}_initialize(){this._commandExecutedListener(),this._initialExecuteFormulaListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===lfe.id)this._calculateFormulaService.stopFormulaExecution();else if(e.id===ife.id)this._calculate(e.params);else if(e.id===Nme.id){let t=e.params;if(null==t)return;let{arrayFormulaRange:r,arrayFormulaCellData:n}=t;this._formulaDataModel.setArrayFormulaRange(r),this._formulaDataModel.setArrayFormulaCellData(n)}else if(e.id===ofe.id)this._calculateFormulaString(e.params);else if(e.id===dfe.id)this._generateAllDependencyTreeJson();else if(e.id===mfe.id)this._generateCellDependencyTreeJson(e.params);else if(e.id===gfe.id){let t=e.params;this._queryFormulaDependencyJson(t)}else if(e.id===vfe.id){let t=e.params;this._queryFormulaDependencyAllJson(t)}}))}async _calculate(e){let{forceCalculation:t=!1,dirtyRanges:r=[],dirtyNameMap:n={},dirtyDefinedNameMap:i={},dirtyUnitFeatureMap:a={},dirtyUnitOtherFormulaMap:o={},clearDependencyTreeCache:s={},maxIteration:l=1,rowData:u,isCalculateTreeModel:c=!1}=e,d=this._formulaDataModel.getFormulaData(),h=this._formulaDataModel.getArrayFormulaCellData(),m=this._formulaDataModel.getArrayFormulaRange();this._calculateFormulaService.execute({formulaData:d,arrayFormulaCellData:h,arrayFormulaRange:m,forceCalculate:t,dirtyRanges:r,dirtyNameMap:n,dirtyDefinedNameMap:i,dirtyUnitFeatureMap:a,dirtyUnitOtherFormulaMap:o,clearDependencyTreeCache:s,maxIteration:l,isCalculateTreeModel:c,rowData:u})}async _queryFormulaDependencyJson(e){let{unitRanges:t,isInRange:r}=e,n=[];n=r?await this._calculateFormulaService.getInRangeFormulas(t):await this._calculateFormulaService.getRangeDependents(t),this._commandService.executeCommand(pfe.id,{result:n},{onlyLocal:!0})}async _queryFormulaDependencyAllJson(e){let{unitRanges:t}=e,r=await this._calculateFormulaService.getDependentsAndInRangeFormulas(t);this._commandService.executeCommand(bfe.id,{result:r},{onlyLocal:!0})}async _generateAllDependencyTreeJson(){let e=await this._calculateFormulaService.getAllDependencyJson();this._commandService.executeCommand(hfe.id,{result:e},{onlyLocal:!0})}async _generateCellDependencyTreeJson(e){let{unitId:t,sheetId:r,row:n,column:i}=e,a=await this._calculateFormulaService.getCellDependencyJson(t,r,n,i);this._commandService.executeCommand(ffe.id,{result:a},{onlyLocal:!0})}async _calculateFormulaString(e){let{formulas:t}=e,r=await this._calculateFormulaService.executeFormulas(t);this._commandService.executeCommand(sfe.id,{result:r},{onlyLocal:!0})}_initialExecuteFormulaListener(){this._calculateFormulaService.executionCompleteListener$.subscribe(e=>{let t=e.functionsExecutedState;switch(t){case npe.NOT_EXECUTED:this._applyTreeResult(e);break;case npe.STOP_EXECUTION:break;case npe.SUCCESS:this._applyResult(e);case npe.INITIAL:}this._commandService.executeCommand(ufe.id,{functionsExecutedState:t},{onlyLocal:!0})}),this._calculateFormulaService.executionInProgressListener$.subscribe(e=>{this._commandService.executeCommand(ufe.id,{stageInfo:e},{onlyLocal:!0})})}async _applyTreeResult(e){let{dependencyTreeModelData:t}=e;t.length>0&&this._commandService.executeCommand(hfe.id,{result:t},{onlyLocal:!0})}async _applyResult(e){let{unitData:t,unitOtherData:r,arrayFormulaRange:n,arrayFormulaCellData:i,clearArrayFormulaCellData:a,arrayFormulaEmbedded:o,imageFormulaData:s,dependencyTreeModelData:l}=e;if(!t)return this._applyTreeResult(e),void console.error("No sheetData from Formula Engine!");(n||o)&&(this._formulaDataModel.clearPreviousArrayFormulaCellData(a),this._formulaDataModel.mergeArrayFormulaCellData(i),this._formulaDataModel.mergeArrayFormulaRange(n),this._commandService.executeCommand(Nme.id,{arrayFormulaRange:this._formulaDataModel.getArrayFormulaRange(),arrayFormulaCellData:this._formulaDataModel.getArrayFormulaCellData(),arrayFormulaEmbedded:o},{onlyLocal:!0})),s&&s.length>0&&this._commandService.executeCommand(yfe.id,{imageFormulaData:s},{onlyLocal:!0}),this._applyTreeResult(e),this._commandService.executeCommand(cfe.id,{unitData:Ame(t),unitOtherData:r},{onlyLocal:!0})}};Ive=Kme([Zme(0,Vc),Zme(1,Sve),Zme(2,Y(jfe))],Ive);const Rve=/[\[\]]/g;function xve(e,t){return Rve.test(e)?t+Number(e.replace(Rve,"")):Number(e)-1}function Tve(e,t=0,r=0){let n=(e=e.toLocaleUpperCase()).split(/[RC]/),i=n[1],a=n[2];return{row:xve(i,t),column:xve(a,r),absoluteRefType:vd.NONE}}function Nve(e,t=vd.ALL,r){switch(e+=1,t){case vd.ALL:return`${e}`;case vd.ROW:return r?`${e}`:`[${e}]`;case vd.COLUMN:return r?`[${e}]`:`${e}`;case vd.NONE:return`[${e}]`}}function Mve(e){let t=e;if(e.isArray()){let r=e.getRowCount(),n=e.getColumnCount();if(r>1||n>1)return fhe.create(Jde.VALUE);t=e.get(0,0)}return t.isError(),t}function Ove(...e){for(let t=0;tt.name===e))?void 0:t[0]}setDefinedNames(e){this._definedNames=e}getLocale(){return this._locale}setLocale(e){this._locale=e}getSheetsInfo(){return{sheetOrder:this._sheetOrder,sheetNameMap:this._sheetNameMap}}setSheetsInfo({sheetOrder:e,sheetNameMap:t}){this._sheetOrder=e,this._sheetNameMap=t}setFormulaDataModel(e){this._formulaDataModel=e}setSheetRowColumnCount(e,t){this._rowCount=e,this._columnCount=t}isAsync(){return!1}isAddress(){return!1}isCustom(){return!1}isArgumentsIgnoreNumberPattern(){return!1}setRefInfo(e,t,r,n){this._unitId=e,this._subUnitId=t,this._row=r,this._column=n}calculateCustom(...e){return null}calculate(...e){return fhe.create(Jde.VALUE)}checkArrayType(e){return e.isReferenceObject()||e.isValueObject()&&e.isArray()}getIndexNumValue(e,t=1){let r=e;if(r.isArray()&&(r=r.getFirstCell()),r.isBoolean())return!1===r.getValue()?fhe.create(Jde.VALUE):t;if(r.isString()){let e=Number(r.getValue());return Number.isNaN(e)?fhe.create(Jde.REF):e}return r.isNumber()?r.getValue():fhe.create(Jde.VALUE)}getZeroOrOneByOneDefault(e){if(null==e)return 1;let t=1;if(e.isArray()&&(e=e.getFirstCell()),e.isBoolean())!1===e.getValue()&&(t=0);else{if(e.isString())return;e.isNumber()&&0===e.getValue()&&(t=0)}return t}getMatchTypeValue(e){if(null==e)return 1;let t=1;if(e.isArray()&&(e=e.getFirstCell()),e.isBoolean())!1===e.getValue()&&(t=0);else{if(e.isString())return;if(e.isNumber()){let r=e.getValue();r<=0&&(t=r)}}return t}binarySearch(e,t,r,n,i){let a,o=t.binarySearch(e,n,i);return null==o?fhe.create(Jde.NA):(a=1===r.getRowCount()?r.get(0,o)||Ege.create():r.get(o,0)||Ege.create(),a.isNull()?Age.create(0):a)}_getOneFirstByRaw(e){return 0===e.length?fhe.create(Jde.NA):e[0][0]||fhe.create(Jde.NA)}_getOneLastByRaw(e){return 0===e.length?fhe.create(Jde.NA):e[e.length-1][e[0].length-1]||fhe.create(Jde.NA)}equalSearch(e,t,r,n=!0){let i=r.pickRaw(t.isEqual(e));return n?this._getOneFirstByRaw(i):this._getOneLastByRaw(i)}fuzzySearch(e,t,r,n=!0){let i=r.pickRaw(t.compare(e,ihe.EQUALS));return n?this._getOneFirstByRaw(i):this._getOneLastByRaw(i)}orderSearch(e,t,r,n=ege.MIN,i=!1){let a=t.orderSearch(e,n,i);if(null==a)return fhe.create(Jde.NA);let o=r.get(a.row,a.column)||Ege.create();return o.isNull()?fhe.create(Jde.NA):o}binarySearchExpand(e,t,r,n=0,i,a){let o=t.binarySearch(e,i,a);return null==o?fhe.create(Jde.NA):0===n?r.slice([o,o+1]):r.slice(void 0,[o,o+1])}equalSearchExpand(e,t,r,n=!0,i=0){let a,o=t.isEqual(e);return a=n?o.getFirstTruePosition():o.getLastTruePosition(),null==a?fhe.create(Jde.NA):0===i?r.slice([a.row,a.row+1]):r.slice(void 0,[a.column,a.column+1])}fuzzySearchExpand(e,t,r,n=!0,i=0){let a,o=t.compare(e,ihe.EQUALS);return a=n?o.getFirstTruePosition():o.getLastTruePosition(),null==a?fhe.create(Jde.NA):0===i?r.slice([a.row,a.row+1]):r.slice(void 0,[a.column,a.column+1])}orderSearchExpand(e,t,r,n=ege.MIN,i=!1,a=0){let o=t.orderSearch(e,n,i);return null==o?fhe.create(Jde.NA):0===a?r.slice([o.row,o.row+1]):r.slice(void 0,[o.column,o.column+1])}flattenArray(e,t=!0){let r=[];r[0]=[];for(let n=0;n!!(null==n||n.isNull()||t&&(n.isString()||n.isBoolean()))||((n=this._includingLogicalValuesAndText(n)).isError()?(e=n,!1):void r[0].push(n))),null!=e&&e.isError())return e}else r[0].push(i)}return zge(r,1,r[0].length)}_includingLogicalValuesAndText(e){if(e.isBoolean()&&(e=function(e){let t=0;return e.getValue()&&(t=1),Age.create(t)}(e)),e.isString()){let t=Number(e.getValue());e=Age.create(Number.isNaN(t)?0:t)}return e}createReferenceObject(e,t){let r,n=e.getForcedUnitId()||e.getDefaultUnitId()||"",i=e.getForcedSheetId()||e.getDefaultUnitId()||"",a=Bme({unitId:n,sheetName:e.getForcedSheetName(),range:t});return r=bme(a)?new Fge(a):_me(a)?new Hge(a):wme(a)?new jge(a):new Vge(t,i,n),this._setReferenceDefault(e,r)}_setReferenceDefault(e,t){if(null==this.unitId||null==this.subUnitId)return fhe.create(Jde.REF);t.setDefaultUnitId(this.unitId),t.setDefaultSheetId(this.subUnitId);let r=e.getUnitId();null!=r&&t.setForcedUnitIdDirect(r);let n=e.getForcedSheetId();return null!=n&&t.setForcedSheetIdDirect(n),t.setForcedSheetName(e.getForcedSheetName()),t.setUnitData(e.getUnitData()),t.setRuntimeData(e.getRuntimeData()),t.setArrayFormulaCellData(e.getArrayFormulaCellData()),t.setUnitStylesData(e.getUnitStylesData()),t}};let Uve=function(e){return e.ARRAY_CONSTRAIN="ARRAY_CONSTRAIN",e.FLATTEN="FLATTEN",e}({});const Bve=[[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;let{isError:n,errorObject:i,variants:a}=Ove(t,r);if(n)return i;let{isError:o,errorObject:s,variants:l}=Pve(...a);if(o)return s;let[u,c]=l,d=Math.floor(+u.getValue()),h=Math.floor(+c.getValue());if(d<0||h<0)return fhe.create(Jde.NUM);if(0===d||0===h)return fhe.create(Jde.REF);let m=e.isArray()?e.getRowCount():1,f=e.isArray()?e.getColumnCount():1;if(1===m&&1===f)return e.isArray()?e.get(0,0):e;let g=d>m?m:d,p=h>f?f:h;return e.slice([0,g],[0,p])}},Uve.ARRAY_CONSTRAIN],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",255)}calculate(...e){let t=[];for(let r=0;r0;e--)i=s,s=o*s-l+t[e],l=i;let u=a*Math.exp(-r*r+.5*(t[0]+o*s)-l);return n?u-1:1-u}function zve(e){return 1-Wve(e)}function Xve(e,t=1){let r=Math.floor(e);if(e<0)return NaN;let n=1;for(;r>1&&Number.isFinite(n);)n*=r,r-=t;return n}function qve(e,t){let r=Math.min(e-t,t),n=1;for(let t=1;t<=r&&Number.isFinite(n);t++)n*=e-t+1,n/=t;return n}function Gve(e,t){let r=Math.floor(e),n=Math.floor(t);for(;0!==n;){let e=n;n=r%n,r=e}return r}function Yve(e,t){let r=Gve(e,t);return 0===r?0:Math.abs(e*t)/r}function Qve(e){let t=e.length;if(1===t)return e[0][0];if(2===t)return e[0][0]*e[1][1]-e[0][1]*e[1][0];let{rowSwap:r,smallPivotDetected:n,luMatrix:i,permutation:a}=Jve(e);if(n)return 0;let o=r?1:-1;for(let e=0;er!==t).map(e=>e.filter((e,t)=>t!==r))}function Kve(e,t){return e.map(e=>t[0].map((r,n)=>e.reduce((e,r,i)=>e+r*t[i][n],0)))}function $ve(e){return e[0].map((t,r)=>e.map(e=>e[r]))}function Jve(e){let t=$ve(e),r=t.length,n=t[0].length,i=!0,a=!1,o=ebe(r,n,0),s=Array(n).fill(0).map((e,t)=>t);for(let e=0;en&&(n=a,l=i)}if(Math.abs(o[l][e])<1e-11){a=!0;break}l!==e&&([o[e],o[l]]=[o[l],o[e]],[t[e],t[l]]=[t[l],t[e]],[s[e],s[l]]=[s[l],s[e]],i=!i);let u=o[e][e];for(let t=e+1;tMath.abs(t)?(r=t/e,Math.abs(e)*Math.sqrt(1+r*r)):0===t?0:(r=e/t,Math.abs(t)*Math.sqrt(1+r*r))}function rbe(e,t,r,n,i){let a=0;for(let o=t;o{let e=[-184.9052456,77392.33017,-11214424.18,651619640.7,-13362590354,57568490574],i=[1,267.8532712,59272.64853,9494680.718,1029532985,57568490411],a=[2.093887211e-7,-2073370639e-15,2734510407e-14,-.001098628627,1],o=[-9.34935152e-8,7.621095161e-7,-6911147651e-15,.0001430488765,-.01562499995];function s(n){let s=0,l=0,u=0,c=n*n;if(n<8)l=r(e,c),u=r(i,c),s=l/u;else{let e=n-.785398164;c=64/c,l=r(a,c),u=r(o,c),s=Math.sqrt(t/n)*(Math.cos(e)*l-Math.sin(e)*u*8/n)}return s}let l=[-30.16036606,15704.4826,-2972611.439,242396853.1,-7895059235,72362614232],u=[1,376.9991397,99447.43394,18583304.74,2300535178,144725228442],c=[-2.40337019e-7,2457520174e-15,-3516396496e-14,.00183105,1],d=[1.05787412e-7,-8.8228987e-7,8449199096e-15,-.0002002690873,.04687499995];function h(e){let n=0,i=0,a=0,o=e*e,s=Math.abs(e)-2.356194491;return Math.abs(e)<8?(i=e*r(l,o),a=r(u,o),n=i/a):(o=64/o,i=r(c,o),a=r(d,o),n=Math.sqrt(t/Math.abs(e))*(Math.cos(s)*i-Math.sin(s)*a*8/Math.abs(e)),e<0&&(n=-n)),n}return function e(t,r){let i=Math.round(r);if(!Number.isFinite(t))return Number.isNaN(t)?t:0;if(i<0)return(i%2?-1:1)*e(t,-i);if(t<0)return(i%2?-1:1)*e(-t,i);if(0===i)return s(t);if(1===i)return h(t);if(0===t)return 0;let a=0;if(t>i)a=n(t,i,s(t),h(t),-1);else{let e=2*Math.floor((i+Math.floor(Math.sqrt(40*i)))/2),r=!1,n=0,o=0,s=1,l=0,u=2/t;for(let t=e;t>0;t--)if(l=t*u*s-n,n=s,s=l,Math.abs(s)>1e10&&(s*=1e-10,n*=1e-10,a*=1e-10,o*=1e-10),r&&(o+=s),r=!r,t===i&&(a=n),e-t>100&&0===a)return NaN;o=2*o-s,a/=o}return a}})();e.bessely=(()=>{let e=[228.4622733,-86327.92757,10879881.29,-512359803.6,7062834065,-2957821389],n=[1,226.1030244,47447.2647,7189466.438,745249964.8,40076544269],o=[2.093887211e-7,-2073370639e-15,2734510407e-14,-.001098628627,1],s=[-9.34945152e-8,7.621095161e-7,-6911147651e-15,.0001430488765,-.01562499995],l=[8511.937935,-4237922.726,734926455.1,-51534381390,127527439e4,-4900604943e3],u=[1,354.9632885,102042.605,22459040.02,3733650367,424441966400,249958057e5],c=[-2.40337019e-7,2457520174e-15,-3516396496e-14,.00183105,1],d=[1.05787412e-7,-8.8228987e-7,8449199096e-15,-.0002002690873,.04687499995];return i(function(i){let l=0,u=0,c=0,d=i*i,h=i-.785398164;return i<8?(u=r(e,d),c=r(n,d),l=u/c+t*a(i,0)*Math.log(i)):(d=64/d,u=r(o,d),c=r(s,d),l=Math.sqrt(t/i)*(Math.sin(h)*u+Math.cos(h)*c*8/i)),l},function(e){let n=0,i=0,o=0,s=e*e,h=e-2.356194491;return e<8?(i=e*r(l,s),o=r(u,s),n=i/o+t*(a(e,1)*Math.log(e)-1/e)):(s=64/s,i=r(c,s),o=r(d,s),n=Math.sqrt(t/e)*(Math.sin(h)*i+Math.cos(h)*o*8/e)),n},1,-1)})();let o=e.besseli=(()=>{let e=[.0045813,.0360768,.2659732,1.2067492,3.0899424,3.5156229,1],t=[.00392377,-.01647633,.02635537,-.02057706,.00916281,-.00157565,.00225319,.01328592,.39894228];function n(n){return n<=3.75?r(e,n*n/14.0625):Math.exp(Math.abs(n))/Math.sqrt(Math.abs(n))*r(t,3.75/Math.abs(n))}let i=[32411e-8,.00301532,.02658733,.15084934,.51498869,.87890594,.5],a=[-.00420059,.01787654,-.02895312,.02282967,-.01031555,.00163801,-.00362018,-.03988024,.39894228];function o(e){return e<3.75?e*r(i,e*e/14.0625):(e<0?-1:1)*Math.exp(Math.abs(e))/Math.sqrt(Math.abs(e))*r(a,3.75/Math.abs(e))}return function e(t,r){let i=Math.round(r);if(0===i)return n(t);if(1===i)return o(t);if(i<0)return NaN;if(0===Math.abs(t))return 0;if(t===1/0)return 1/0;let a,s=0,l=2/Math.abs(t),u=0,c=1,d=0,h=2*Math.round((i+Math.round(Math.sqrt(40*i)))/2);for(a=h;a>0;a--)if(d=a*l*c+u,u=c,c=d,Math.abs(c)>1e10&&(c*=1e-10,u*=1e-10,s*=1e-10),a===i&&(s=u),h-a>100&&0===s)return NaN;return s*=e(t,0)/c,t<0&&i%2?-s:s}})();e.besselk=(()=>{let e=[74e-7,1075e-7,.00262698,.0348859,.23069756,.4227842,-.57721566],t=[53208e-8,-.0025154,.00587872,-.01062446,.02189568,-.07832358,1.25331414],n=[-4686e-8,-.00110404,-.01919402,-.18156897,-.67278579,.15443144,1],a=[-68245e-8,.00325614,-.00780353,.01504268,-.0365562,.23498619,1.25331414];return i(function(n){return n<=2?-Math.log(n/2)*o(n,0)+r(e,n*n/4):Math.exp(-n)/Math.sqrt(n)*r(t,2/n)},function(e){return e<=2?Math.log(e/2)*o(e,1)+1/e*r(n,e*e/4):Math.exp(-e)/Math.sqrt(e)*r(a,2/e)},2,1)})()}(Vve||(Vve={}));const ibe=new Map([["I",1],["V",5],["X",10],["L",50],["C",100],["D",500],["M",1e3]]),abe=new Map([[1,"I"],[4,"IV"],[5,"V"],[9,"IX"],[10,"X"],[40,"XL"],[45,"VL"],[49,"IL"],[50,"L"],[90,"XC"],[95,"VC"],[99,"IC"],[100,"C"],[400,"CD"],[450,"LD"],[490,"XD"],[495,"VD"],[499,"ID"],[500,"D"],[900,"CM"],[950,"LM"],[990,"XM"],[995,"VM"],[999,"IM"],[1e3,"M"]]),obe=[[1,4,5,9,10,40,50,90,100,400,500,900,1e3,4e3],[1,4,5,9,10,40,45,50,90,95,100,400,450,500,900,950,1e3,4e3],[1,4,5,9,10,40,45,49,50,90,95,99,100,400,450,490,500,900,950,990,1e3,4e3],[1,4,5,9,10,40,45,49,50,90,95,99,100,400,450,490,495,500,900,950,990,995,1e3,4e3],[1,4,5,9,10,40,45,49,50,90,95,99,100,400,450,490,495,499,500,900,950,990,995,999,1e3,4e3]];function sbe(e,t,r){return e<=0?0:e>=1?1:ube(e,t,r)}function lbe(e,t,r){if(e<=0)return 0;if(e>=1)return 1;let n;if(t>=1&&r>=1){let i=e<.5?e:1-e,a=Math.sqrt(-2*Math.log(i));n=(2.30753+.27061*a)/(1+a*(.99229+.04481*a))-a,e<.5&&(n=-n);let o=(n*n-3)/6,s=2/(1/(2*t-1)+1/(2*r-1)),l=n*Math.sqrt(o+s)/s-(1/(2*r-1)-1/(2*t-1))*(o+5/6-2/(3*s));n=t/(t+r*Math.exp(2*l))}else{let i=Math.exp(t*Math.log(t/(t+r)))/t,a=i+Math.exp(r*Math.log(r/(t+r)))/r;n=e=1&&(n=.5*(n+a+1)),Math.abs(a)<1e-8*n&&l>0)break}return n}function ube(e,t,r){let n=0===e||1===e?0:Math.exp(_be(t+r)-_be(t)-_be(r)+t*Math.log(e)+r*Math.log(1-e));return e<(t+1)/(t+r+2)?n*cbe(e,t,r)/t:1-n*cbe(1-e,r,t)/r}function cbe(e,t,r){let n=1e-8,i=1-(t+r)*e/(t+1);Math.abs(i)170?Math.exp(hbe(e,t)):ybe(e)*ybe(t)/ybe(e+t)}function hbe(e,t){return _be(e)+_be(t)-_be(e+t)}function mbe(e,t,r){if(e<0)return 0;if(e>=t)return 1;if(r<0||r>1||t<=0)return NaN;let n=0;for(let i=0;i<=e;i++)n+=fbe(i,t,r);return n}function fbe(e,t,r){return 0===r||1===r?t*r===e?1:0:qve(t,e)*r**e*(1-r)**(t-e)}function gbe(e,t){return e<=0?0:wbe(t/2,e/2)}function pbe(e,t){return e<=0?0:e>=1?1/0:2*Ebe(e,t/2)}function vbe(e,t,r){return e<0?0:ube(t*e/(t*e+r),t/2,r/2)}function bbe(e,t,r){return e<=0?0:e>=1?1/0:r/(t*(1/lbe(e,t/2,r/2)-1))}function Cbe(e,t,r){let n=t.length,i=0,a=0;for(let e=0;e171.6243769536076)return 1/0;if(i<=0){let e=i%1+36e-17;if(!e)return 1/0;n=(1&i?-1:1)*Math.PI/Math.sin(Math.PI*e),i=1-i}let a,o=i,s=0;a=i<1?i++:(i-=s=(0|i)-1)-1;let l=0,u=0;for(let e=0;e<8;++e)l=(l+t[e])*a,u=u*a+r[e];let c=l/u+1;if(oi)for(let e=0;e=1?e:1/e)+.4*e+17),i=_be(e),a=Math.exp(-t+e*Math.log(t)-i),o=e,s=1/e,l=s;if(t=1)return Math.max(100,t+100*Math.sqrt(t));let r;if(t>1){let n=e<.5?e:1-e,i=Math.sqrt(-2*Math.log(n));r=(2.30753+.27061*i)/(1+i*(.99229+.04481*i))-i,e<.5&&(r=-r),r=Math.max(.001,t*(1-1/(9*t)-r/(3*Math.sqrt(t)))**3)}else{let n=1-t*(.253+.12*t);r=e1?Math.exp((t-1)*(Math.log(t-1)-1)-a)*Math.exp(-(r-(t-1))+(t-1)*(Math.log(r)-Math.log(t-1))):Math.exp(-r+(t-1)*Math.log(r)-a),0!==i&&(i=n/i/(1-.5*Math.min(1,n/i*((t-1)/r-1)))),r-=i,r<=0&&(r=.5*(r+i)),Math.abs(i)<1e-8*r)break}return r}function Sbe(e,t,r,n){return t-e>n-r?0:qve(r,e)*qve(n-r,t-e)/qve(n,t)}function Abe(e,t,r){return e<0?0:.5+.5*Wve((Math.log(e)-t)/Math.sqrt(2*r*r))}function Ibe(e,t,r){return e<0?0:qve(e+t-1,t-1)*r**t*(1-r)**e}function Rbe(e,t,r){return.5*(1+Wve((e-t)/Math.sqrt(2*r*r)))}function xbe(e,t,r){return Math.exp(-.5*Math.log(2*Math.PI)-Math.log(r)-(e-t)**2/(2*r*r))}function Tbe(e,t,r){return-1.4142135623730951*r*function(e){if(e>=2)return-100;if(e<=0)return 100;let t=e<1?e:2-e,r=Math.sqrt(-2*Math.log(t/2)),n=-.70711*((2.30753+.27061*r)/(1+r*(.99229+.04481*r))-r);for(let e=0;e<2;e++){let e=zve(n)-t;n+=e/(1.1283791670955126*Math.exp(-n*n)-n*e)}return e<1?n:-n}(2*e)+t}function Nbe(e,t){return Math.exp(-t)*t**e/Xve(e)}function Mbe(e,t){let r=.5*ube(t/(e**2+t),t/2,.5);return e<0?r:1-r}function Obe(e,t){let r=lbe(2*Math.min(e,1-e),.5*t,.5);return r=Math.sqrt(t*(1-r)/r),e>.5?r:-r}function Lbe(e,t,r,n,i){let a=[],o=[],s=!0;for(let l=0;l1&&e!==a||1===i&&o>1&&t!==o)return{isError:!0,errorObject:fhe.create(Jde.REF)}}return{isError:!1,errorObject:null}}function Pbe(e){let t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let i=0;iMath.log(e))),({slope:i,intercept:a}=r?function(e,t){let r=t.length,n=0,i=0,a=0,o=0;for(let s=0;s=0;e--){n[e]/=s[e];let t=n[e],i=r[e];l[e]=t;for(let r=0;r1,o=e;i&&(o=e.map(e=>e.map(e=>Math.log(e))));let s=t,l=r;a&&(o=$ve(o),s=$ve(s),l=$ve(l)),n&&(s=s.map(e=>[...e,1]));let u=$ve(s),c=Kve(u,s),d=Kve(u,o),h=function(e){let{smallPivotDetected:t,luMatrix:r,permutation:n}=Jve(e);return t?null:function(e,t){let r=t.length,n=ebe(r,r,0);for(let e=0;e=0;t--){let n=i[t],a=e[t][t];for(let e=0;eArray(n).fill(0)),s=2**-52,l=0,u=0,c=0;for(let e=0;e=0&&(l=-l);let i=t[e][e]*l-u;t[e][e]-=l;for(let a=e+1;a=0&&(l=-l);let a=t[e][e+1]*l-u;t[e][e+1]-=l;for(let r=e+1;rc&&(c=o)}let d=0;for(let e=n-1;e>=0;e--){if(0!==l){for(let r=d;r=0;e--){l=a[e];for(let r=e+1;r=0;e--)for(let l=0;l<50;l++){let u=!1,c=e;for(;c>=0;c--){if(Math.abs(i[c])<=s){u=!0;break}if(Math.abs(a[c-1])<=s)break}if(!u){let n=0,o=1;for(let l=c;l=49)return null;let d=a[c];h=((a[e-1]-a[e])*(a[e-1]+a[e])+(i[e-1]-i[e])*(i[e-1]+i[e]))/(2*i[e]*a[e-1]),f=tbe(h,1),h=h<0?((d-a[e])*(d+a[e])+i[e]*(a[e-1]/(h-f)-i[e]))/d:((d-a[e])*(d+a[e])+i[e]*(a[e-1]/(h+f)-i[e]))/d;let g=1,p=1;for(let s=c+1;s=0;r--)if(a[r]Array(e[0].length).fill(0)),s=Math.max(e.length,e[0].length)*2**-52*n[0];for(let e=0;es&&(o[e][e]=1/n[e]);return Kve(i,Kve(o,a))}(c),!h))return fhe.create(Jde.NA);let m=Kve(h,d);n||m.push([0]),m=$ve(m);let f=m[0].pop();if(m[0].reverse(),m[0].push(f),i)for(let e=0;e-1||e.indexOf(`${Cpe.AGGREGATE}(`)>-1))return!0}return!1}function Wbe(e,t){let r=Object.entries(e).filter(([e,{count:r}])=>r===t).sort((e,t)=>e[1].order-t[1].order).map(([e])=>+e);return Age.create(r[0])}function zbe(e,t){let{type:r,ignoreRowHidden:n,ignoreErrorValues:i,ignoreNested:a,formulaDataModel:o}=e,s=[],l=0,u=0,c=0,d=0,h=0,m=0,f=1,g={},p=1,v=0;for(let e=0;e{if(_.includes(t)||n&&jbe(w,t)||a&&Hbe(A,t,b,S,E,o))return!0;if(r===Fbe.COUNT)return null!=e&&e.isNumber()&&l++,!0;if(r===Fbe.COUNTA)return null!=e&&!e.isNull()&&u++,!0;if(null!=e&&e.isError())return!!i||(C=e,!1);if(!e||e.isNull()||e.isBoolean()||e.isString())return!0;let y=e.getValue();return!$d(y)||(y=+y,d++,r===Fbe.MAX?(h=1===d?y:Math.max(h,y),!0):r===Fbe.MIN?(m=1===d?y:Math.min(m,y),!0):r===Fbe.MODE_SNGL?(g[y]?(g[y].count++,g[y].count>p&&(p=g[y].count)):g[y]={count:1,order:v++},!0):(c+=y,f*=y,void s.push(e)))}),null!=C&&C.isError())return C}switch(r){case Fbe.AVERAGE:return 0===d?fhe.create(Jde.DIV_BY_ZERO):Age.create(c/d);case Fbe.COUNT:return Age.create(l);case Fbe.COUNTA:return Age.create(u);case Fbe.MAX:return Age.create(h);case Fbe.MIN:return Age.create(m);case Fbe.PRODUCT:return Age.create(0===d?0:f);case Fbe.STDEV:case Fbe.STDEV_S:return d<2?fhe.create(Jde.DIV_BY_ZERO):zge([s],1,d).std(1);case Fbe.STDEVP:case Fbe.STDEV_P:return 0===d?fhe.create(Jde.DIV_BY_ZERO):zge([s],1,d).std();case Fbe.SUM:return Age.create(c);case Fbe.VAR:case Fbe.VAR_S:return d<2?fhe.create(Jde.DIV_BY_ZERO):zge([s],1,d).var(1);case Fbe.VARP:case Fbe.VAR_P:return 0===d?fhe.create(Jde.DIV_BY_ZERO):zge([s],1,d).var();case Fbe.MEDIAN:return 0===d?fhe.create(Jde.NUM):qbe(s.map(e=>+e.getValue()));case Fbe.MODE_SNGL:return 0===v||1===p?fhe.create(Jde.NA):Wbe(g,p);default:return fhe.create(Jde.VALUE)}}function Xbe(e,t,r){let{ignoreRowHidden:n=!1,ignoreErrorValues:i=!1,ignoreNested:a=!1}=null==t?{}:t,o=[];if(e.isReferenceObject()){var s;let t,l=e.getFilteredOutRows(),u=e.getRowData(),c=e.getUnitId(),d=e.getSheetId(),h=null==(s=e.getUnitData()[c])||null==(s=s[d])?void 0:s.cellData;if(e.iterator((e,s,m)=>{if(l.includes(s)||n&&jbe(u,s))return!0;if(null!=e&&e.isError())return!!i||(t=e,!1);if(a&&r&&Hbe(h,s,m,d,c,r)||!e||e.isNull()||e.isBoolean()||e.isString())return!0;let f=e.getValue();if(!$d(f))return!0;o.push(+f)}),t)return t}else{let t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1;for(let n=0;ne-t),r%2==0){let n=r/2;t=(e[n-1]+e[n])/2}else t=e[Math.floor(r/2)];return Age.create(t)}function Gbe(e,t){if(t<1||t>e.length)return fhe.create(Jde.NUM);e.sort((e,t)=>t-e);let r=Math.ceil(t);return Age.create(e[r-1])}function Ybe(e,t){if(t<1||t>e.length)return fhe.create(Jde.NUM);e.sort((e,t)=>e-t);let r=Math.floor(t);return Age.create(e[r-1])}function Qbe(e,t){let r=e.length;if(t<0||t>1)return fhe.create(Jde.NUM);e.sort((e,t)=>e-t);let n=t*(r-1),i=Math.floor(n),a=n-i;if(0===a)return Age.create(e[i]);let o=e[i]+a*(e[i+1]-e[i]);return Age.create(o)}function Zbe(e,t){let r=e.length;if(t<1/(r+1)||t>1-1/(r+1))return fhe.create(Jde.NUM);e.sort((e,t)=>e-t);let n=t*(r+1)-1,i=Math.floor(n),a=n-i;if(0===a)return Age.create(e[i]);let o=e[i]+a*(e[i+1]-e[i]);return Age.create(o)}function Kbe(e,t){let r=e.length;if(t<0||t>4)return fhe.create(Jde.NUM);e.sort((e,t)=>e-t);let n=t/4*(r-1),i=Math.floor(n),a=n-i;if(0===a)return Age.create(e[i]);let o=e[i]+a*(e[i+1]-e[i]);return Age.create(o)}function $be(e,t){let r=e.length;if(t<=0||t>=4)return fhe.create(Jde.NUM);e.sort((e,t)=>e-t);let n=t/4;if(n<1/(r+1)||n>1-1/(r+1))return fhe.create(Jde.NUM);let i=n*(r+1)-1,a=Math.floor(i),o=i-a;if(0===o)return Age.create(e[a]);let s=e[a]+o*(e[a+1]-e[a]);return Age.create(s)}var Jbe=class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",5)}calculate(e,t,r,n,i){let a=null==n?Age.create(0):n,o=null==i?Age.create(1):i;a.isNull()&&(a=Age.create(0)),o.isNull()&&(o=Age.create(1));let s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),u=Wge(s,l,e,fhe.create(Jde.NA)),c=Wge(s,l,t,fhe.create(Jde.NA)),d=Wge(s,l,r,fhe.create(Jde.NA)),h=Wge(s,l,a,fhe.create(Jde.NA)),m=Wge(s,l,o,fhe.create(Jde.NA)),f=u.mapValue((e,t,r)=>{let n=c.get(t,r),i=d.get(t,r),a=h.get(t,r),o=m.get(t,r);return this._handleSingleObject(e,n,i,a,o)});return 1===s&&1===l?f.get(0,0):f}_handleSingleObject(e,t,r,n,i){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(n.isError())return n;if(i.isError())return i;let{isError:a,errorObject:o,variants:s}=Pve(e,t,r,n,i);if(a)return o;let[l,u,c,d,h]=s,m=+l.getValue(),f=+u.getValue(),g=+c.getValue(),p=+d.getValue(),v=+h.getValue();if(f<=0||g<=0||m<=0||m>=1||p>=v)return fhe.create(Jde.NUM);let b=lbe(m,f,g)*(v-p)+p;return Age.create(b)}},eCe=class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",4),Kde(this,"maxParams",4)}calculate(e,t,r,n){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=Wge(i,a,e,fhe.create(Jde.NA)),s=Wge(i,a,t,fhe.create(Jde.NA)),l=Wge(i,a,r,fhe.create(Jde.NA)),u=Wge(i,a,n,fhe.create(Jde.NA)),c=o.mapValue((e,t,r)=>{let n=s.get(t,r),i=l.get(t,r),a=u.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:a.isError()?a:this._handleSingleObject(e,n,i,a)});return 1===i&&1===a?c.get(0,0):c}_handleSingleObject(e,t,r,n){let{isError:i,errorObject:a,variants:o}=Pve(e,t,r,n);if(i)return a;let s,[l,u,c,d]=o,h=Math.floor(+l.getValue()),m=Math.floor(+u.getValue()),f=+c.getValue(),g=+d.getValue();return h<0||h>m||f<0||f>1?fhe.create(Jde.NUM):(s=g?mbe(h,m,f):fbe(h,m,f),Age.create(s))}},tCe=class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",3)}calculate(e,t,r){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=Wge(n,i,e,fhe.create(Jde.NA)),o=Wge(n,i,t,fhe.create(Jde.NA)),s=Wge(n,i,r,fhe.create(Jde.NA)),l=a.mapValue((e,t,r)=>{let n=o.get(t,r),i=s.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:this._handleSingleObject(e,n,i)});return 1===n&&1===i?l.get(0,0):l}_handleSingleObject(e,t,r){let{isError:n,errorObject:i,variants:a}=Pve(e,t,r);if(n)return i;let[o,s,l]=a,u=Math.floor(+o.getValue()),c=+s.getValue(),d=+l.getValue();if(u<0||c<=0||c>=1||d<=0||d>=1)return fhe.create(Jde.NUM);let h=0;for(;h<=u&&!(mbe(h,u,c)>=d);)h++;return Age.create(h)}},rCe=class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=Wge(r,n,e,fhe.create(Jde.NA)),a=Wge(r,n,t,fhe.create(Jde.NA)),o=i.mapValue((e,t,r)=>{let n=a.get(t,r);return e.isError()?e:n.isError()?n:this._handleSingleObject(e,n)});return 1===r&&1===n?o.get(0,0):o}_handleSingleObject(e,t){let{isError:r,errorObject:n,variants:i}=Pve(e,t);if(r)return n;let[a,o]=i,s=+a.getValue(),l=Math.floor(+o.getValue());if(s<0||l<1||l>10**10)return fhe.create(Jde.NUM);let u=1-gbe(s,l);return Age.create(u)}},nCe=class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=Wge(r,n,e,fhe.create(Jde.NA)),a=Wge(r,n,t,fhe.create(Jde.NA)),o=i.mapValue((e,t,r)=>{let n=a.get(t,r);return e.isError()?e:n.isError()?n:this._handleSingleObject(e,n)});return 1===r&&1===n?o.get(0,0):o}_handleSingleObject(e,t){let{isError:r,errorObject:n,variants:i}=Pve(e,t);if(r)return n;let[a,o]=i,s=+a.getValue(),l=Math.floor(+o.getValue());if(s<0||s>1||l<1||l>10**10)return fhe.create(Jde.NUM);let u=pbe(1-s,l);return Number.isNaN(u)||!Number.isFinite(u)?fhe.create(Jde.NUM):Age.create(u)}},iCe=class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&1===r&&1===n&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&1===i&&1===a&&(s=t.get(0,0)),s.isError())return s;if(r*n===1||i*a===1)return o.isNull()||s.isNull()?fhe.create(Jde.VALUE):fhe.create(Jde.NA);if(r*n!==i*a)return fhe.create(Jde.NA);let{isError:l,errorObject:u,array1Values:c,array2Values:d,noCalculate:h}=Lbe(e,t,r*n,n,a);return l?u:h?fhe.create(Jde.DIV_BY_ZERO):this._getResult(c,d,r,n)}_getResult(e,t,r,n){let i=0;for(let r=0;r{let n=o.get(t,r),i=s.get(t,r);if(e.isError())return e;if(n.isError())return n;if(i.isError())return i;let{isError:a,errorObject:l,variants:u}=Pve(e,n,i);if(a)return l;let[c,d,h]=u,m=+c.getValue(),f=+d.getValue(),g=Math.floor(+h.getValue());if(m<=0||m>=1||f<=0||g<1)return fhe.create(Jde.NUM);let p=Math.abs(Tbe(m/2,0,1)*f/Math.sqrt(g));return Age.create(p)});return 1===n&&1===i?l.get(0,0):l}},oCe=class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&1===r&&1===n&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&1===i&&1===a&&(s=t.get(0,0)),s.isError())return s;if((r*n===1||i*a===1)&&(o.isNull()||s.isNull()))return fhe.create(Jde.VALUE);if(r*n!==i*a)return fhe.create(Jde.NA);let{isError:l,errorObject:u,array1Values:c,array2Values:d,noCalculate:h}=Lbe(e,t,r*n,n,a);return l?u:h?fhe.create(Jde.DIV_BY_ZERO):this._getResult(c,d)}_getResult(e,t){if(0===e.length)return fhe.create(Jde.DIV_BY_ZERO);let r=e.length,n=0,i=0;for(let a=0;a{let n=o.get(t,r),i=s.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:this._handleSingleObject(e,n,i)});return 1===n&&1===i?l.get(0,0):l}_handleSingleObject(e,t,r){let{isError:n,errorObject:i,variants:a}=Pve(e,t,r);if(n)return i;let o,[s,l,u]=a,c=+s.getValue(),d=+l.getValue(),h=+u.getValue();return c<0||d<=0?fhe.create(Jde.NUM):(o=h?function(e,t){return e<0?0:1-Math.exp(-t*e)}(c,d):function(e,t){return e<0?0:t*Math.exp(-t*e)}(c,d),Age.create(o))}},lCe=class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",3)}calculate(e,t,r){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=Wge(n,i,e,fhe.create(Jde.NA)),o=Wge(n,i,t,fhe.create(Jde.NA)),s=Wge(n,i,r,fhe.create(Jde.NA)),l=a.mapValue((e,t,r)=>{let n=o.get(t,r),i=s.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:this._handleSingleObject(e,n,i)});return 1===n&&1===i?l.get(0,0):l}_handleSingleObject(e,t,r){let{isError:n,errorObject:i,variants:a}=Pve(e,t,r);if(n)return i;let[o,s,l]=a,u=+o.getValue(),c=Math.floor(+s.getValue()),d=Math.floor(+l.getValue());if(u<0||c<1||c>10**10||d<1||d>10**10)return fhe.create(Jde.NUM);let h=1-vbe(u,c,d);return Age.create(h)}},uCe=class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",3)}calculate(e,t,r){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=Wge(n,i,e,fhe.create(Jde.NA)),o=Wge(n,i,t,fhe.create(Jde.NA)),s=Wge(n,i,r,fhe.create(Jde.NA)),l=a.mapValue((e,t,r)=>{let n=o.get(t,r),i=s.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:this._handleSingleObject(e,n,i)});return 1===n&&1===i?l.get(0,0):l}_handleSingleObject(e,t,r){let{isError:n,errorObject:i,variants:a}=Pve(e,t,r);if(n)return i;let[o,s,l]=a,u=+o.getValue(),c=Math.floor(+s.getValue()),d=Math.floor(+l.getValue());if(u<0||u>1||c<1||c>10**10||d<1||d>10**10)return fhe.create(Jde.NUM);let h=bbe(1-u,c,d);return Number.isNaN(h)||!Number.isFinite(h)?fhe.create(Jde.NUM):Age.create(h)}},cCe=class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let{isError:r,errorObject:n,variance:i,ns1:a}=this._getValues(e);if(r)return n;let{isError:o,errorObject:s,variance:l,ns1:u}=this._getValues(t);if(o)return s;let c=2*(1-vbe(i/l,a,u));return c>1&&(c=2-c),Age.create(c)}_getValues(e){let t=0,r=0,n=e.isArray()?e.getRowCount():1,i=e.isArray()?e.getColumnCount():1;if(1===n&&1===i){let n=e.isArray()?e.get(0,0):e;return n.isError()?{isError:!0,errorObject:n,variance:t,ns1:r}:n.isNull()?{isError:!0,errorObject:fhe.create(Jde.VALUE),variance:t,ns1:r}:{isError:!0,errorObject:fhe.create(Jde.DIV_BY_ZERO),variance:t,ns1:r}}let a=[],o=0;for(let s=0;s{let n=s.get(t,r),i=l.get(t,r),a=u.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:a.isError()?a:this._handleSingleObject(e,n,i,a)});return 1===i&&1===a?c.get(0,0):c}_handleSingleObject(e,t,r,n){let{isError:i,errorObject:a,variants:o}=Pve(e,t,r,n);if(i)return a;let s,[l,u,c,d]=o,h=+l.getValue(),m=+u.getValue(),f=+c.getValue(),g=+d.getValue();return h<0||m<=0||f<=0?fhe.create(Jde.NUM):(s=g?function(e,t,r){return e<=0?0:wbe(t,e/r)}(h,m,f):function(e,t,r){return e<0?0:0===e&&1===t?1/r:Math.exp((t-1)*Math.log(e)-e/r-_be(t)-t*Math.log(r))}(h,m,f),Age.create(s))}},hCe=class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",3)}calculate(e,t,r){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=Wge(n,i,e,fhe.create(Jde.NA)),o=Wge(n,i,t,fhe.create(Jde.NA)),s=Wge(n,i,r,fhe.create(Jde.NA)),l=a.mapValue((e,t,r)=>{let n=o.get(t,r),i=s.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:this._handleSingleObject(e,n,i)});return 1===n&&1===i?l.get(0,0):l}_handleSingleObject(e,t,r){let{isError:n,errorObject:i,variants:a}=Pve(e,t,r);if(n)return i;let[o,s,l]=a,u=+o.getValue(),c=+s.getValue(),d=+l.getValue();if(u<0||u>1||c<=0||d<=0)return fhe.create(Jde.NUM);let h=function(e,t,r){return e<=0?0:e>=1?1/0:r*Ebe(e,t)}(u,c,d);return Number.isNaN(h)||!Number.isFinite(h)?fhe.create(Jde.NUM):Age.create(h)}},mCe=class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",3)}calculate(e,t,r){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=Wge(n,i,e,fhe.create(Jde.NA)),o=Wge(n,i,t,fhe.create(Jde.NA)),s=Wge(n,i,r,fhe.create(Jde.NA)),l=a.mapValue((e,t,r)=>{let n=o.get(t,r),i=s.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:this._handleSingleObject(e,n,i)});return 1===n&&1===i?l.get(0,0):l}_handleSingleObject(e,t,r){let{isError:n,errorObject:i,variants:a}=Pve(e,t,r);if(n)return i;let[o,s,l]=a,u=+o.getValue(),c=+s.getValue(),d=+l.getValue();if(u<=0||u>=1||d<=0)return fhe.create(Jde.NUM);let h=function(e,t,r){return Math.exp(Tbe(e,t,r))}(u,c,d);return Number.isNaN(h)||!Number.isFinite(h)?fhe.create(Jde.NUM):Age.create(h)}},fCe=class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",255)}calculate(...e){let t={},r=0,n=1;for(let i=0;in&&(n=t[+s].count)):t[+s]={count:1,order:r++})}}return 0===r||1===n?new fhe(Jde.NA):Wbe(t,n)}},gCe=class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",4),Kde(this,"maxParams",4)}calculate(e,t,r,n){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=Wge(i,a,e,fhe.create(Jde.NA)),s=Wge(i,a,t,fhe.create(Jde.NA)),l=Wge(i,a,r,fhe.create(Jde.NA)),u=Wge(i,a,n,fhe.create(Jde.NA)),c=o.mapValue((e,t,r)=>{let n=s.get(t,r),i=l.get(t,r),a=u.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:a.isError()?a:this._handleSingleObject(e,n,i,a)});return 1===i&&1===a?c.get(0,0):c}_handleSingleObject(e,t,r,n){let{isError:i,errorObject:a,variants:o}=Pve(e,t,r,n);if(i)return a;let s,[l,u,c,d]=o,h=+l.getValue(),m=+u.getValue(),f=+c.getValue(),g=+d.getValue();return f<=0?fhe.create(Jde.NUM):(s=g?Rbe(h,m,f):xbe(h,m,f),Age.create(s))}},pCe=class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",3)}calculate(e,t,r){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=Wge(n,i,e,fhe.create(Jde.NA)),o=Wge(n,i,t,fhe.create(Jde.NA)),s=Wge(n,i,r,fhe.create(Jde.NA)),l=a.mapValue((e,t,r)=>{let n=o.get(t,r),i=s.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:this._handleSingleObject(e,n,i)});return 1===n&&1===i?l.get(0,0):l}_handleSingleObject(e,t,r){let{isError:n,errorObject:i,variants:a}=Pve(e,t,r);if(n)return i;let[o,s,l]=a,u=+o.getValue(),c=+s.getValue(),d=+l.getValue();if(u<=0||u>=1||d<=0)return fhe.create(Jde.NUM);let h=Tbe(u,c,d);return Age.create(h)}},vCe=class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return 1===e.getRowCount()&&1===e.getColumnCount()?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:r,variants:n}=Pve(e);if(t)return r;let[i]=n,a=+i.getValue();if(a<=0||a>=1)return fhe.create(Jde.NUM);let o=Tbe(a,0,1);return Age.create(o)}},bCe=class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let r=Xbe(e);if(t.isArray()){let e=t.mapValue(e=>this._handleSingleObject(r,e));return 1===e.getRowCount()&&1===e.getColumnCount()?e.get(0,0):e}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;let{isError:r,errorObject:n,variants:i}=Pve(t);if(r)return n;let[a]=i;return Qbe(e,+a.getValue())}},CCe=class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",3)}calculate(e,t,r){let n=this._getValues(e),i=null==r?Age.create(3):r;i.isNull()&&(i=Age.create(3));let a=Math.max(t.isArray()?t.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(t.isArray()?t.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=Wge(a,o,t,fhe.create(Jde.NA)),l=Wge(a,o,i,fhe.create(Jde.NA)),u=s.mapValue((e,t,r)=>{let i=l.get(t,r);return e.isError()?e:i.isError()?i:this._handleSingleObject(n,e,i)});return 1===a&&1===o?u.get(0,0):u}_handleSingleObject(e,t,r){if(e instanceof fhe)return e;let{isError:n,errorObject:i,variants:a}=Pve(t,r);if(n)return i;let[o,s]=a,l=+o.getValue(),u=Math.floor(+s.getValue()),c=e.length;if(0===c||le[c-1])return fhe.create(Jde.NA);if(1===c)return l===e[0]?Age.create(1):fhe.create(Jde.NA);let d=0,h=!1,m=0;for(;!h&&me[m]&&m+1e-t)}},yCe=class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",3)}calculate(e,t,r){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=Wge(n,i,e,fhe.create(Jde.NA)),o=Wge(n,i,t,fhe.create(Jde.NA)),s=Wge(n,i,r,fhe.create(Jde.NA)),l=a.mapValue((e,t,r)=>{let n=o.get(t,r),i=s.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:this._handleSingleObject(e,n,i)});return 1===n&&1===i?l.get(0,0):l}_handleSingleObject(e,t,r){let{isError:n,errorObject:i,variants:a}=Pve(e,t,r);if(n)return i;let o,[s,l,u]=a,c=Math.floor(+s.getValue()),d=+l.getValue(),h=+u.getValue();return c<0||d<0?fhe.create(Jde.NUM):(o=h?function(e,t){let r=0;for(let n=0;n<=e;n++)r+=Nbe(n,t);return r}(c,d):Nbe(c,d),Age.create(o))}},_Ce=class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let r=Xbe(e);if(t.isArray()){let e=t.mapValue(e=>this._handleSingleObject(r,e));return 1===e.getRowCount()&&1===e.getColumnCount()?e.get(0,0):e}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;let{isError:r,errorObject:n,variants:i}=Pve(t);if(r)return n;let[a]=i;return Kbe(e,Math.floor(+a.getValue()))}},wCe=class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",255)}calculate(...e){let t=this.flattenArray(e);return t.isError()?t:t.std()}},ECe=class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",255)}calculate(...e){let t=this.flattenArray(e);return t.isError()?t:t.std(1)}},SCe=class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=Wge(r,n,e,fhe.create(Jde.NA)),a=Wge(r,n,t,fhe.create(Jde.NA)),o=i.mapValue((e,t,r)=>{let n=a.get(t,r);return e.isError()?e:n.isError()?n:this._handleSingleObject(e,n)});return 1===r&&1===n?o.get(0,0):o}_handleSingleObject(e,t){let{isError:r,errorObject:n,variants:i}=Pve(e,t);if(r)return n;let[a,o]=i,s=+a.getValue(),l=Math.floor(+o.getValue());if(s<=0||s>1||l<1||l>10**10)return fhe.create(Jde.NUM);let u=Math.abs(Obe(s/2,l));return Number.isNaN(u)||!Number.isFinite(u)?fhe.create(Jde.NUM):Age.create(u)}},ACe=class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",4),Kde(this,"maxParams",4)}calculate(e,t,r,n){let{isError:i,errorObject:a,array1Values:o,array2Values:s}=this._handleArray1AndArray2(e,t),l=this._getArrayValues(e),u=this._getArrayValues(t),c=Math.max(r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),d=Math.max(r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),h=Wge(c,d,r,fhe.create(Jde.NA)),m=Wge(c,d,n,fhe.create(Jde.NA)),f=h.mapValue((r,n,c)=>{let d=m.get(n,c);if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(d.isError())return d;let{isError:h,errorObject:f,variants:g}=Pve(r,d);if(h)return f;let[p,v]=g,b=Math.floor(+p.getValue()),C=Math.floor(+v.getValue());return[1,2].includes(b)&&[1,2,3].includes(C)?1===C&&i?a:1!==C&&l instanceof fhe?l:1!==C&&u instanceof fhe?u:this._handleSingleObject(1===C?o:l,1===C?s:u,b,C):fhe.create(Jde.NUM)});return 1===c&&1===d?f.get(0,0):f}_handleSingleObject(e,t,r,n){if(e.length<2||t.length<2)return fhe.create(Jde.DIV_BY_ZERO);let{isError:i,errorObject:a,x:o,degFreedom:s}=this._getTDistParamByArrayValues(e,t,n);if(i)return a;let l=Mbe(-o,s);return 2===r&&(l*=2),Number.isNaN(l)||!Number.isFinite(l)?fhe.create(Jde.NUM):Age.create(l)}_getArrayValues(e){let t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let i=0;i{let n=s.get(t,r),i=l.get(t,r),a=u.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:a.isError()?a:this._handleSingleObject(e,n,i,a)});return 1===i&&1===a?c.get(0,0):c}_handleSingleObject(e,t,r,n){let{isError:i,errorObject:a,variants:o}=Pve(e,t,r,n);if(i)return a;let[s,l,u,c]=o,d=+s.getValue(),h=+l.getValue(),m=+u.getValue(),f=+c.getValue();if(d<0||h<=0||m<=0)return fhe.create(Jde.NUM);let g,p=Math.exp(-((d/m)**h));return g=f?1-p:h/m**h*d**(h-1)*p,Number.isNaN(g)||!Number.isFinite(g)?fhe.create(Jde.NUM):Age.create(g)}},TCe=class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",3)}calculate(e,t,r){let n=this._getArrayValues(e),i=Math.max(t.isArray()?t.getRowCount():1,null!=r&&r.isArray()?r.getRowCount():1),a=Math.max(t.isArray()?t.getColumnCount():1,null!=r&&r.isArray()?r.getColumnCount():1),o=Wge(i,a,t,fhe.create(Jde.NA)),s=r?Wge(i,a,r,fhe.create(Jde.NA)):void 0,l=o.mapValue((e,t,i)=>{if(n instanceof fhe)return n;if(e.isError())return e;let a=r?s.get(t,i):void 0;return null!=a&&a.isError()?a:0===n.length?fhe.create(Jde.NA):1===n.length?fhe.create(Jde.DIV_BY_ZERO):this._handleSingleObject(n,e,a)});return 1===i&&1===a?l.get(0,0):l}_handleSingleObject(e,t,r){let{isError:n,errorObject:i,variants:a}=Pve(t);if(n)return i;let[o]=a,s=+o.getValue(),l=e.length,u=0,c=0;for(let t=0;t{let n=c.get(t,r),i=d.get(t,r),a=h.get(t,r),o=m.get(t,r);return this._handleSingleObject(e,n,i,a,o)});return 1===s&&1===l?f.get(0,0):f}_handleSingleObject(e,t,r,n,i){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(n.isError())return n;if(i.isError())return i;let{isError:a,errorObject:o,variants:s}=Pve(e,t,r,n,i);if(a)return o;let[l,u,c,d,h]=s,m=+l.getValue(),f=+u.getValue(),g=+c.getValue(),p=+d.getValue(),v=+h.getValue();if(f<=0||g<=0||mv||p===v)return fhe.create(Jde.NUM);let b=sbe((m-p)/(v-p),f,g);return Age.create(b)}},NCe.BETADIST],[Jbe,NCe.BETAINV],[eCe,NCe.BINOMDIST],[rCe,NCe.CHIDIST],[nCe,NCe.CHIINV],[iCe,NCe.CHITEST],[aCe,NCe.CONFIDENCE],[oCe,NCe.COVAR],[tCe,NCe.CRITBINOM],[sCe,NCe.EXPONDIST],[lCe,NCe.FDIST],[uCe,NCe.FINV],[cCe,NCe.FTEST],[dCe,NCe.GAMMADIST],[hCe,NCe.GAMMAINV],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",4),Kde(this,"maxParams",4)}calculate(e,t,r,n){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=Wge(i,a,e,fhe.create(Jde.NA)),s=Wge(i,a,t,fhe.create(Jde.NA)),l=Wge(i,a,r,fhe.create(Jde.NA)),u=Wge(i,a,n,fhe.create(Jde.NA)),c=o.mapValue((e,t,r)=>{let n=s.get(t,r),i=l.get(t,r),a=u.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:a.isError()?a:this._handleSingleObject(e,n,i,a)});return 1===i&&1===a?c.get(0,0):c}_handleSingleObject(e,t,r,n){let{isError:i,errorObject:a,variants:o}=Pve(e,t,r,n);if(i)return a;let[s,l,u,c]=o,d=Math.floor(+s.getValue()),h=Math.floor(+l.getValue()),m=Math.floor(+u.getValue()),f=Math.floor(+c.getValue());if(d<0||d>h||d>m||df||m<=0||m>f||f<=0)return fhe.create(Jde.NUM);let g=Sbe(d,h,m,f);return Number.isNaN(g)&&(g=0),Age.create(g)}},NCe.HYPGEOMDIST],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",3)}calculate(e,t,r){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=Wge(n,i,e,fhe.create(Jde.NA)),o=Wge(n,i,t,fhe.create(Jde.NA)),s=Wge(n,i,r,fhe.create(Jde.NA)),l=a.mapValue((e,t,r)=>{let n=o.get(t,r),i=s.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:this._handleSingleObject(e,n,i)});return 1===n&&1===i?l.get(0,0):l}_handleSingleObject(e,t,r){let{isError:n,errorObject:i,variants:a}=Pve(e,t,r);if(n)return i;let[o,s,l]=a,u=+o.getValue(),c=+s.getValue(),d=+l.getValue();if(u<=0||d<=0)return fhe.create(Jde.NUM);let h=Abe(u,c,d);return Age.create(h)}},NCe.LOGNORMDIST],[mCe,NCe.LOGINV],[fCe,NCe.MODE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",3)}calculate(e,t,r){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=Wge(n,i,e,fhe.create(Jde.NA)),o=Wge(n,i,t,fhe.create(Jde.NA)),s=Wge(n,i,r,fhe.create(Jde.NA)),l=a.mapValue((e,t,r)=>{let n=o.get(t,r),i=s.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:this._handleSingleObject(e,n,i)});return 1===n&&1===i?l.get(0,0):l}_handleSingleObject(e,t,r){let{isError:n,errorObject:i,variants:a}=Pve(e,t,r);if(n)return i;let[o,s,l]=a,u=Math.floor(+o.getValue()),c=Math.floor(+s.getValue()),d=+l.getValue();if(u<0||c<1||d<=0||d>=1)return fhe.create(Jde.NUM);let h=Ibe(u,c,d);return Age.create(h)}},NCe.NEGBINOMDIST],[gCe,NCe.NORMDIST],[pCe,NCe.NORMINV],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return 1===e.getRowCount()&&1===e.getColumnCount()?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:r,variants:n}=Pve(e);if(t)return r;let[i]=n,a=Rbe(+i.getValue(),0,1);return Age.create(a)}},NCe.NORMSDIST],[vCe,NCe.NORMSINV],[bCe,NCe.PERCENTILE],[CCe,NCe.PERCENTRANK],[yCe,NCe.POISSON],[_Ce,NCe.QUARTILE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",3),Kde(this,"needsReferenceObject",!0)}calculate(e,t,r){let n=e;n.isReferenceObject()&&(n=n.toArrayValueObject());let{refHasError:i,refErrorObject:a,refNumbers:o}=this._checkRefReferenceObject(t),s=null==r?Age.create(0):r;s.isReferenceObject()&&(s=s.toArrayValueObject());let l=Math.max(n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),u=Math.max(n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),c=Wge(l,u,n,fhe.create(Jde.NA)),d=Wge(l,u,s,fhe.create(Jde.NA)),h=c.map((t,r,n)=>{let s=d.get(r,n);if(!e.isReferenceObject()&&e.isNull())return fhe.create(Jde.NA);if(i)return a;if(s.isError())return s;let l=+t.getValue(),u=+s.getValue();if(Number.isNaN(l)||Number.isNaN(u))return fhe.create(Jde.VALUE);let c=o.sort((e,t)=>u?e-t:t-e).indexOf(l);return-1===c?fhe.create(Jde.NA):Age.create(c+1)});return 1===l&&1===u?h.get(0,0):h}_checkRefReferenceObject(e){let t=!1,r=fhe.create(Jde.NA),n=[];return e.isReferenceObject()?(e.toArrayValueObject().iterator(e=>{let i=e;if(i.isError())return t=!0,r=i,!1;if(i.isNull()||i.isBoolean())return!0;let a=+i.getValue();if(Number.isNaN(a))return!0;n.push(a)}),{refHasError:t,refErrorObject:r,refNumbers:n}):{refHasError:!0,refErrorObject:r,refNumbers:n}}},NCe.RANK],[ECe,NCe.STDEV],[wCe,NCe.STDEVP],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",3)}calculate(e,t,r){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=Wge(n,i,e,fhe.create(Jde.NA)),o=Wge(n,i,t,fhe.create(Jde.NA)),s=Wge(n,i,r,fhe.create(Jde.NA)),l=a.mapValue((e,t,r)=>{let n=o.get(t,r),i=s.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:this._handleSingleObject(e,n,i)});return 1===n&&1===i?l.get(0,0):l}_handleSingleObject(e,t,r){let{isError:n,errorObject:i,variants:a}=Pve(e,t,r);if(n)return i;let[o,s,l]=a,u=+o.getValue(),c=Math.floor(+s.getValue()),d=Math.floor(+l.getValue());if(u<0||c<1||c>10**10||d<1||d>2)return fhe.create(Jde.NUM);let h=Mbe(-u,c);return 2===d&&(h*=2),Number.isNaN(h)||!Number.isFinite(h)?fhe.create(Jde.NUM):Age.create(h)}},NCe.TDIST],[SCe,NCe.TINV],[ACe,NCe.TTEST],[RCe,NCe.VAR],[ICe,NCe.VARP],[xCe,NCe.WEIBULL],[TCe,NCe.ZTEST]],OCe=[];let LCe=function(e){return e.CUBEKPIMEMBER="CUBEKPIMEMBER",e.CUBEMEMBER="CUBEMEMBER",e.CUBEMEMBERPROPERTY="CUBEMEMBERPROPERTY",e.CUBERANKEDMEMBER="CUBERANKEDMEMBER",e.CUBESET="CUBESET",e.CUBESETCOUNT="CUBESETCOUNT",e.CUBEVALUE="CUBEVALUE",e}({});var kCe=class extends Dve{isCustom(){return!0}},PCe=class extends kCe{isAsync(){return!0}};function DCe(e){let t=[];if(e.isError())return{isError:!0,errorObject:e,databaseValues:t};let r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1;if(r<2)return{isError:!0,errorObject:fhe.create(Jde.VALUE),databaseValues:t};for(let i=0;i1||i>1)return{isError:!0,errorObject:fhe.create(Jde.VALUE),fieldIndex:r};let a=e.isArray()?e.get(0,0):e,o=`${a.getValue()}`;if(a.isNull()?o=0:a.isBoolean()?o=a.getValue()?1:0:(a.isNumber()||$d(o))&&(o=Math.floor(+o)),"number"==typeof o){if(o<1||o>t[0].length)return{isError:!0,errorObject:fhe.create(Jde.VALUE),fieldIndex:r};r=o-1}else if(r=t[0].findIndex(e=>null!==e&&`${e}`.toLocaleLowerCase()===o.toLocaleLowerCase()),-1===r)return{isError:!0,errorObject:fhe.create(Jde.VALUE),fieldIndex:r};return{isError:!1,errorObject:null,fieldIndex:r}}function BCe(e){let t=[];if(e.isError())return{isError:!0,errorObject:e,criteriaValues:t};let r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1;if(r<2)return{isError:!0,errorObject:fhe.create(Jde.VALUE),criteriaValues:t};for(let i=0;inull!==e&&null!==r&&`${e}`.toLocaleLowerCase()===`${r}`.toLocaleLowerCase()),a[o]=l}if(-1===l&&("string"==typeof i||0===i)){n=!1;break}if(l>-1){let e=t[r][l];if(null===e){n=!1;break}let[a,o]=Xge(`${i}`);if(!kge.create(`${e}`).compare(o,a).getValue()){n=!1;break}}}if(n){o=!0;break}}return o}let FCe=function(e){return e.DAVERAGE="DAVERAGE",e.DCOUNT="DCOUNT",e.DCOUNTA="DCOUNTA",e.DGET="DGET",e.DMAX="DMAX",e.DMIN="DMIN",e.DPRODUCT="DPRODUCT",e.DSTDEV="DSTDEV",e.DSTDEVP="DSTDEVP",e.DSUM="DSUM",e.DVAR="DVAR",e.DVARP="DVARP",e}({});const jCe=[[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",3)}calculate(e,t,r){let{isError:n,errorObject:i,databaseValues:a}=DCe(e);if(n)return i;let{isError:o,errorObject:s,fieldIndex:l}=UCe(t,a);if(o)return s;let{isError:u,errorObject:c,criteriaValues:d}=BCe(r);if(u)return c;let h=0,m=0;for(let e=1;e1?fhe.create(Jde.NUM):e.get(m,l)}},FCe.DGET],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",3)}calculate(e,t,r){let{isError:n,errorObject:i,databaseValues:a}=DCe(e);if(n)return i;let{isError:o,errorObject:s,fieldIndex:l}=UCe(t,a);if(o)return s;let{isError:u,errorObject:c,criteriaValues:d}=BCe(r);if(u)return c;let h=-1/0,m=0;for(let e=1;e{let n=o.get(t,r),i=s.get(t,r);if(e.isError())return e;if(n.isError())return n;if(i.isError())return i;let{isError:a,errorObject:l,variants:u}=Pve(e,n,i);if(a)return l;let[c,d,h]=u,m=Math.floor(+c.getValue()),f=Math.floor(+d.getValue()),g=Math.floor(+h.getValue());if(m<0||m>9999)return fhe.create(Jde.NUM);m>=0&&m<1899&&(m+=1900);let p=vhe(new Date(Date.UTC(m,f-1,g)));return p<0?fhe.create(Jde.NUM):Age.create(p,ghe)});return 1===n&&1===i?l.get(0,0):l}},mpe.DATE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",3)}calculate(e,t,r){let n=e,i=t,a=r;if(n.isArray()&&(n=n.get(0,0)),i.isArray()&&(i=i.get(0,0)),a.isArray()&&(a=a.get(0,0)),n.isError())return n;if(i.isError())return i;if(a.isError())return a;let o=Nhe(n);if("number"!=typeof o)return o;let s=Nhe(i);return"number"==typeof s?sthis._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isString()){let t=`${e.getValue()}`,r=whe(t);if(null===r&&(r=Ehe(t)),r){let{v:e,z:t}=r;if(t&&She(t))return e instanceof Date&&(e=bhe(e)),Age.create(Math.trunc(+e))}}return fhe.create(Jde.VALUE)}},mpe.DATEVALUE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t,r=e.getValue();if(e.isString()){if(!_he(`${r}`))return fhe.create(Jde.VALUE);t=new Date(`${r}`)}else{let r=+e.getValue();if(r<0)return fhe.create(Jde.NUM);if(0===r)return Age.create(0);t=Che(r)}let n=t.getUTCDate();return Age.create(n)}},mpe.DAY],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=Wge(r,n,e),a=Wge(r,n,t),o=i.map((e,t,r)=>{let n=a.get(t,r);if(e.isError())return e;if(n.isError())return n;let i=Nhe(e);if("number"!=typeof i)return i;let o=Nhe(n);if("number"!=typeof o)return o;let s=Math.floor(i)-Math.floor(o);return Age.create(s)});return 1===r&&1===n?o.get(0,0):o}},mpe.DAYS],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",3)}calculate(e,t,r){let n=null==r?Sge.create(!1):r;if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=Wge(i,a,e,fhe.create(Jde.NA)),s=Wge(i,a,t,fhe.create(Jde.NA)),l=Wge(i,a,n,fhe.create(Jde.NA)),u=o.map((e,t,r)=>{let n=s.get(t,r),i=l.get(t,r);if(e.isError())return e;let a=Nhe(e);if("number"!=typeof a)return a;if(n.isError())return n;let o=Nhe(n);if("number"!=typeof o)return o;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let{days:u}=Ohe(a,o,+i.getValue()?4:0),c=o>=a?u:-u;return Age.create(c)});return 1===i&&1===a?u.get(0,0):u}},mpe.DAYS360],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=Wge(r,n,e),a=Wge(r,n,t);return i.map((e,t,r)=>{let n=a.get(t,r)||Ege.create();if(e.isError())return e;if(n.isError())return n;if(e.isString()||e.isBoolean()||n.isString()||n.isBoolean())return fhe.create(Jde.VALUE);let i=+e.getValue();if(i<0)return fhe.create(Jde.NUM);let o=Math.floor(+n.getValue()),s=Che(i),l=s.getUTCFullYear(),u=s.getUTCMonth()+o,c=s.getUTCDate(),d=vhe(new Date(Date.UTC(l,u,c)));return Age.create(d,ghe)})}},mpe.EDATE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let r=e,n=t;if(r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();if(e>1||t>1)return fhe.create(Jde.VALUE);r=r.get(0,0)}if(n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();if(e>1||t>1)return fhe.create(Jde.VALUE);n=n.get(0,0)}if(r.isError())return r;if(n.isError())return n;let i=Nhe(r);if("number"!=typeof i)return i;if(n.isBoolean())return fhe.create(Jde.VALUE);let a=Che(i),o=i>0?a.getUTCFullYear():1900,s=i>0?a.getUTCMonth():0,l=Math.floor(+n.getValue());if(Number.isNaN(l))return fhe.create(Jde.VALUE);let u=vhe(new Date(Date.UTC(o,s+l+1,0)));return Age.create(u)}},mpe.EOMONTH],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",2),Kde(this,"needsReferenceObject",!0)}calculate(e,t){let r=null==t?Age.create(1):t,{isError:n,errorObject:i,timestampIsReferenceObject:a,timestampObject:o,unitObject:s}=this._checkVariants(e,r);if(n)return i;if(o.isNull()||o.isBoolean()||o.isString()||!a&&o.isNumber()&&""!==o.getPattern())return fhe.create(Jde.VALUE);let l=+o.getValue(),{isError:u,errorObject:c,variants:d}=Pve(s);if(u)return c;let[h]=d,m=Math.floor(+h.getValue());if(l<0||m<1||m>3)return fhe.create(Jde.NUM);1===m&&(l*=1e3),3===m&&(l/=1e3);let f=new Date(Date.UTC(1970,0,1,0,0,0,0)+l);if(Number.isNaN(f.getTime())){let e=25569+l/864e5;return Age.create(e)}{let e=bhe(f);return Age.create(e,"yyyy-MM-dd AM/PM hh:mm:ss")}}_checkVariants(e,t){let r=e.isReferenceObject(),n=t.isReferenceObject(),i=e;if(r&&(i=e.toArrayValueObject()),i.isArray()){let e=i.getRowCount(),t=i.getColumnCount();if(e>1||t>1)return{isError:!0,errorObject:fhe.create(Jde.VALUE)};i=i.get(0,0)}if(i.isError())return{isError:!0,errorObject:i};let a=t;if(n&&(a=t.toArrayValueObject()),a.isArray()){let e=a.getRowCount(),t=a.getColumnCount();if(e>1||t>1)return{isError:!0,errorObject:fhe.create(Jde.VALUE)};a=a.get(0,0)}return a.isError()?{isError:!0,errorObject:a}:{isError:!1,errorObject:null,timestampIsReferenceObject:r,timestampObject:i,unitIsReferenceObject:n,unitObject:a}}},mpe.EPOCHTODATE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(e=>e.isError()?e:this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=Nhe(e);if("number"!=typeof t)return t;if(0===t)return Age.create(0);let r=yhe(t).getUTCHours();return Age.create(r)}},mpe.HOUR],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(e=>e.isError()?e:this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=Nhe(e);if("number"!=typeof t)return t;let r,n=Che(t),i=t>0?n.getUTCFullYear():1900,a=new Date(Date.UTC(i,0,1)),o=vhe(a),s=Mhe(o);r=s<1?o+1:s<=4?o-(s-1):o+(11-s),te.isError()?e:this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=Nhe(e);if("number"!=typeof t)return t;if(0===t)return Age.create(0);let r=yhe(t).getUTCMinutes();return Age.create(r)}},mpe.MINUTE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;let t,r=e.getValue();if(e.isString()){if(!_he(`${r}`))return fhe.create(Jde.VALUE);t=new Date(`${r}`)}else{let r=+e.getValue();if(r<0)return fhe.create(Jde.NUM);if(0===r)return Age.create(1);t=Che(r)}let n=t.getUTCMonth()+1;return Age.create(n)}},mpe.MONTH],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",3)}calculate(e,t,r){let n=e,i=t;if(n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();if(e>1||t>1)return fhe.create(Jde.VALUE);n=n.get(0,0)}if(n.isError())return n;if(i.isArray()){let e=i.getRowCount(),t=i.getColumnCount();if(e>1||t>1)return fhe.create(Jde.VALUE);i=i.get(0,0)}if(i.isError())return i;if(null!=r&&r.isError())return r;if(n.isBoolean()||i.isBoolean())return fhe.create(Jde.VALUE);let a=Nhe(n);if("number"!=typeof a)return a;let o=Nhe(i);if("number"!=typeof o)return o;if(r)return this._getResultByHolidays(a,o,r);let s=xhe(a,o);return Age.create(s)}_getResultByHolidays(e,t,r){let n=[];if(null!=r&&r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();for(let i=0;ithis._handleSingleObject(e,t,r,n)):this._handleSingleObject(e,t,r,n)}_handleSingleObject(e,t,r,n){let i=e,a=t;if(i.isArray()){let e=i.getRowCount(),t=i.getColumnCount();if(e>1||t>1)return fhe.create(Jde.VALUE);i=i.get(0,0)}if(i.isError())return i;if(a.isArray()){let e=a.getRowCount(),t=a.getColumnCount();if(e>1||t>1)return fhe.create(Jde.VALUE);a=a.get(0,0)}if(a.isError())return a;let o=1;if(r){if(o=r.getValue(),r.isBoolean()&&(o=+o),r.isString()&&!Ihe(o))return fhe.create(Jde.VALUE);if(!Ihe(o))return fhe.create(Jde.NUM)}if(i.isBoolean()||a.isBoolean())return fhe.create(Jde.VALUE);let s=Nhe(i);if("number"!=typeof s)return s;let l=Nhe(a);if("number"!=typeof l)return l;if(n)return this._getResultByHolidays(s,l,o,n);let u=xhe(s,l,o);return Age.create(u)}_getResultByHolidays(e,t,r,n){let i=[];if(null!=n&&n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();for(let r=0;re.isError()?e:this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=Nhe(e);if("number"!=typeof t)return t;if(0===t)return Age.create(0);let r=yhe(t).getUTCSeconds();return Age.create(r)}},mpe.SECOND],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=Wge(n,i,e),o=Wge(n,i,t),s=Wge(n,i,r);return a.map((e,t,r)=>this._calculateTime(e,o,s,t,r))}_calculateTime(e,t,r,n,i){let a=e,o=t.get(n,i)||Ege.create(),s=r.get(n,i)||Ege.create();if((a.isString()||a.isBoolean())&&(a=a.convertToNumberObjectValue()),(o.isString()||o.isBoolean())&&(o=o.convertToNumberObjectValue()),(s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),a.isError())return a;if(o.isError())return o;if(s.isError())return s;let l=Math.floor(+a.getValue()),u=Math.floor(+o.getValue()),c=Math.floor(+s.getValue());if(l<0||u<0||c<0||l>32767||u>32767||c>32767)return fhe.create(Jde.NUM);u+=Math.floor(c/60),c%=60,l+=Math.floor(u/60),u%=60,l%=24;let d=(3600*l+60*u+c)/86400;return Age.create(d,"h:mm A/P")}},mpe.TIME],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e){return e.isArray()?e.mapValue(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isString()){let t=xd(`${e.getValue()}`);if(t){let{v:e,z:r}=t;if(r&&She(r))return e instanceof Date&&(e=bhe(e)),Age.create(function(e){return e-Math.trunc(e)}(+e))}}return fhe.create(Jde.VALUE)}},mpe.TIMEVALUE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1),Kde(this,"needsReferenceObject",!0)}calculate(e){let t=e.isReferenceObject(),r=e;if(t&&(r=e.toArrayValueObject()),r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();if(e>1||t>1)return fhe.create(Jde.VALUE);r=r.get(0,0)}if(r.isError()||r.isNull()||r.isBoolean()||r.isString()||!t&&r.isNumber()&&""!==r.getPattern())return r;let n=+r.getValue();return Age.create(n,"yyyy-MM-dd hh:mm:ss AM/PM")}},mpe.TO_DATE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",0),Kde(this,"maxParams",0)}calculate(){let e=new Date,t=vhe(new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate())));return Age.create(t,ghe)}},mpe.TODAY],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",2),Kde(this,"_returnTypeMap",{1:[1,2,3,4,5,6,7],2:[7,1,2,3,4,5,6],3:[6,0,1,2,3,4,5],11:[7,1,2,3,4,5,6],12:[6,7,1,2,3,4,5],13:[5,6,7,1,2,3,4],14:[4,5,6,7,1,2,3],15:[3,4,5,6,7,1,2],16:[2,3,4,5,6,7,1],17:[1,2,3,4,5,6,7]})}calculate(e,t){let r=null==t?Age.create(1):t;if(e.isError())return e;if(r.isError())return r;let n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=Wge(n,i,e,fhe.create(Jde.NA)),o=Wge(n,i,r,fhe.create(Jde.NA)),s=a.map((e,t,r)=>{let n=o.get(t,r);return this._handleSingleObject(e,n)});return 1===n&&1===i?s.get(0,0):s}_handleSingleObject(e,t){let r=t;if(e.isError())return e;if(r.isError())return r;let n=Nhe(e);if("number"!=typeof n)return n;if(r.isString()&&(r=r.convertToNumberObjectValue(),r.isError()))return r;let i=Math.floor(+r.getValue());if(!this._returnTypeMap[i])return fhe.create(Jde.NUM);let a=Mhe(n),o=this._returnTypeMap[i][a];return Age.create(o)}},mpe.WEEKDAY],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",2),Kde(this,"_returnTypeMap",{1:0,2:1,11:1,12:2,13:3,14:4,15:5,16:6,17:0,21:4})}calculate(e,t){let r=e,n=null==t?Age.create(1):t;if(r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();if(e>1||t>1)return fhe.create(Jde.VALUE);r=r.get(0,0)}if(r.isError())return r;if(n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();if(e>1||t>1)return fhe.create(Jde.VALUE);n=n.get(0,0)}if(n.isError())return n;if(r.isBoolean())return fhe.create(Jde.VALUE);let i=Nhe(r);if("number"!=typeof i)return i;if(n.isBoolean())return fhe.create(Jde.VALUE);let a=Math.floor(+n.getValue());return Number.isNaN(a)?fhe.create(Jde.VALUE):a in this._returnTypeMap?this._getResult(i,a):fhe.create(Jde.NUM)}_getResult(e,t){let r,n=Che(e),i=e>0?n.getUTCFullYear():1900,a=new Date(Date.UTC(i,0,1)),o=vhe(a),s=Mhe(o);if(21===t)r=s<1?o+1:s<=4?o-(s-1):o+(11-s),e1||t>1)return fhe.create(Jde.VALUE);n=n.get(0,0)}if(n.isError())return n;if(i.isArray()){let e=i.getRowCount(),t=i.getColumnCount();if(e>1||t>1)return fhe.create(Jde.VALUE);i=i.get(0,0)}if(i.isError())return i;if(null!=r&&r.isError())return r;if(n.isBoolean()||i.isBoolean())return fhe.create(Jde.VALUE);let a=Nhe(n);if("number"!=typeof a)return a;let o=+i.getValue();if(Number.isNaN(o))return fhe.create(Jde.VALUE);if(r)return this._getResultByHolidays(a,o,r);let s=The(a,o);return"number"==typeof s?Age.create(s):s}_getResultByHolidays(e,t,r){let n=[];if(null!=r&&r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();for(let i=0;ithis._handleSingleObject(e,t,r,n)):this._handleSingleObject(e,t,r,n)}_handleSingleObject(e,t,r,n){let i=null==r?Age.create(1):r,a=this._checkArrayError(e);if(a.isError())return a;let o=this._checkArrayError(t);if(o.isError())return o;if(a.isBoolean()||o.isBoolean())return fhe.create(Jde.VALUE);let s=Nhe(e);if("number"!=typeof s)return s;let l=+t.getValue();if(Number.isNaN(l))return fhe.create(Jde.VALUE);let u=i.getValue();if(i.isBoolean()&&(u=+u),i.isString()&&(!Ihe(u)||"1111111"===u))return fhe.create(Jde.VALUE);if(!Ihe(u))return fhe.create(Jde.NUM);if(n)return this._getResultByHolidays(s,l,u,n);let c=The(s,l,u);return"number"==typeof c?Age.create(c):c}_checkArrayError(e){let t=e;if(t.isArray()){let e=t.getRowCount(),r=t.getColumnCount();if(e>1||r>1)return fhe.create(Jde.VALUE);t=t.get(0,0)}return t.isError(),t}_getResultByHolidays(e,t,r,n){let i=[];if(null!=n&&n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();for(let r=0;rthis._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;let t,r=e.getValue();if(e.isString()){if(!_he(`${r}`))return fhe.create(Jde.VALUE);t=new Date(`${r}`)}else{let e=+r;if(e<0)return fhe.create(Jde.NUM);if(0===e)return Age.create(1900);t=Che(e)}let n=t.getUTCFullYear();return Age.create(n)}},mpe.YEAR],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",3)}calculate(e,t,r){let n=null==r?Age.create(0):r,i=Mve(e);if(i.isError())return i;let a=Mve(t);if(a.isError())return a;if(n=Mve(n),n.isError())return n;if(i.isBoolean()||a.isBoolean()||n.isBoolean())return fhe.create(Jde.VALUE);let o=Nhe(i);if("number"!=typeof o)return o;let s=Nhe(a);if("number"!=typeof s)return s;let l=Math.floor(+n.getValue());if(Number.isNaN(l))return fhe.create(Jde.VALUE);if(l<0||l>4)return fhe.create(Jde.NUM);let{days:u,yearDays:c}=Ohe(o,s,l),d=u/c;return Age.create(d)}},mpe.YEARFRAC]];vde.prototype.cos=function(){let e=this.toNumber();return new vde(Math.cos(e))};var WCe=class e{static getComplex(e,t,r){let n,i=new vde(e).toSignificantDigits(15).toNumber(),a=new vde(t).toSignificantDigits(15).toNumber(),o=""===r?"i":r;return n=0===i&&0===a?0:0===i?1===a?o:`${a}${o}`:0===a?i:`${i}${a>0?"+":""}${1===a?o:`${a}${o}`}`,n}static createByComplexStr(t,r,n){return new e(e.getComplex(t,r,n))}constructor(e){Kde(this,"_inumber",""),Kde(this,"_realNum",0),Kde(this,"_iNum",0),Kde(this,"_suffix",""),Kde(this,"_isError",!1),""!==`${e}`.trim()?(this._inumber=e,this._getImReal(),this._getImAginary(),this._getImSuffix()):this._isError=!0}_getImReal(){if(0===this._inumber||"0"===this._inumber)return void(this._realNum=0);let e=`${this._inumber}`;if(["i","+i","1i","+1i","-i","-1i","j","+j","1j","+1j","-j","-1j"].indexOf(e)>=0)return void(this._realNum=0);let t=e.indexOf("+"),r=e.indexOf("-");0===t&&(t=e.indexOf("+",1)),0===r&&(r=e.indexOf("-",1));let n=e.substring(e.length-1,e.length),i="i"===n||"j"===n;if(t>=0||r>=0){if(!i)return void(this._isError=!0);t>=0?Number.isNaN(+e.substring(0,t))||Number.isNaN(+e.substring(t+1,e.length-1))?this._isError=!0:this._realNum=+e.substring(0,t):Number.isNaN(+e.substring(0,r))||Number.isNaN(+e.substring(r+1,e.length-1))?this._isError=!0:this._realNum=+e.substring(0,r)}else i?Number.isNaN(+e.substring(0,e.length-1))?this._isError=!0:this._realNum=0:Number.isNaN(+e)?this._isError=!0:this._realNum=+e}_getImAginary(){if(this._isError)return;if(0===this._inumber||"0"===this._inumber)return void(this._iNum=0);let e=`${this._inumber}`;if(["i","j"].indexOf(e)>=0)return void(this._iNum=1);e=e.replace("+i","+1i").replace("-i","-1i").replace("+j","+1j").replace("-j","-1j");let t=e.indexOf("+"),r=e.indexOf("-");0===t&&(t=e.indexOf("+",1)),0===r&&(r=e.indexOf("-",1));let n=e.substring(e.length-1,e.length),i="i"===n||"j"===n;if(t>=0||r>=0){if(!i)return void(this._isError=!0);t>=0?Number.isNaN(+e.substring(0,t))||Number.isNaN(+e.substring(t+1,e.length-1))?this._isError=!0:this._iNum=+e.substring(t+1,e.length-1):Number.isNaN(+e.substring(0,r))||Number.isNaN(+e.substring(r+1,e.length-1))?this._isError=!0:this._iNum=-+e.substring(r+1,e.length-1)}else i?Number.isNaN(+e.substring(0,e.length-1))?this._isError=!0:this._iNum=+e.substring(0,e.length-1):Number.isNaN(+e)?this._isError=!0:this._iNum=0}_getImSuffix(){let e=`${this._inumber}`,t=e.substring(e.length-1);this._suffix="i"===t||"j"===t?t:""}getRealNum(){return this._realNum}getINum(){return this._iNum}getSuffix(){return this._suffix}isError(){return this._isError}toString(){return e.getComplex(this._realNum,this._iNum,this._suffix)}isDifferentSuffixes(e){let t=e.getSuffix();return""!==this._suffix&&""!==t&&this._suffix!==t}Abs(){return vde.sqrt(vde.pow(this._realNum,2).add(vde.pow(this._iNum,2))).toSignificantDigits(16).toNumber()}Argument(){let e=vde.sqrt(vde.pow(this._realNum,2).add(vde.pow(this._iNum,2))),t=vde.acos(new vde(this._realNum).div(e)).toSignificantDigits(16).toNumber();return this._iNum<0&&(t=-t),t}Conjugate(){return e.getComplex(this._realNum,-this._iNum,this._suffix)}Cos(){if(this._iNum){let t=vde.cos(this._realNum).mul(vde.cosh(this._iNum)).toNumber(),r=vde.sin(this._realNum).mul(vde.sinh(this._iNum)).negated().toNumber();return e.getComplex(t,r,this._suffix)}{let t=vde.cos(this._realNum).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Cosh(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return this._isError=!0,"";if(this._iNum){let t=vde.cosh(this._realNum).mul(vde.cos(this._iNum)).toNumber(),r=vde.sinh(this._realNum).mul(vde.sin(this._iNum)).toNumber();return e.getComplex(t,r,this._suffix)}{let t=vde.cosh(this._realNum).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Cot(){if(this._iNum){let t=vde.cosh(2*this._iNum).sub(vde.cos(2*this._realNum)),r=vde.sin(2*this._realNum).div(t).toNumber(),n=vde.sinh(2*this._iNum).div(t).negated().toNumber();return e.getComplex(r,n,this._suffix)}{let t=new vde(1).div(vde.tan(this._realNum)).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Coth(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return this._isError=!0,"";if(this._iNum){let t=vde.cosh(2*this._realNum).sub(vde.cos(2*this._iNum)),r=vde.sinh(2*this._realNum).div(t).toNumber(),n=vde.sin(2*this._iNum).div(t).negated().toNumber();return e.getComplex(r,n,this._suffix)}{let t=new vde(1).div(vde.tanh(this._realNum)).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Csc(){if(this._iNum){let t=vde.cosh(2*this._iNum).sub(vde.cos(2*this._realNum)),r=vde.sin(this._realNum).mul(vde.cosh(this._iNum)).mul(2).div(t).toNumber(),n=vde.cos(this._realNum).mul(vde.sinh(this._iNum)).mul(-2).div(t).toNumber();return e.getComplex(r,n,this._suffix)}{let t=new vde(1).div(vde.sin(this._realNum)).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Csch(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return e.getComplex(0,0,this._suffix);if(this._iNum){let t=vde.cosh(2*this._realNum).sub(vde.cos(2*this._iNum)),r=vde.sinh(this._realNum).mul(vde.cos(this._iNum)).mul(2).div(t).toNumber(),n=vde.cosh(this._realNum).mul(vde.sin(this._iNum)).mul(-2).div(t).toNumber();return e.getComplex(r,n,this._suffix)}{let t=new vde(1).div(vde.sinh(this._realNum)).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Div(t){let r=new vde(this._realNum),n=new vde(this._iNum),i=new vde(t.getRealNum()),a=new vde(t.getINum()),o=i.mul(i).add(a.mul(a)),s=r.mul(i).add(n.mul(a)).div(o).toNumber(),l=n.mul(i).sub(r.mul(a)).div(o).toNumber(),u=""===this._suffix?t.getSuffix():this._suffix;return e.getComplex(s,l,u)}Exp(){if(!Number.isFinite(Math.exp(this._realNum)))return this._isError=!0,"";let t=vde.exp(this._realNum).mul(vde.cos(this._iNum)).toNumber(),r=vde.exp(this._realNum).mul(vde.sin(this._iNum)).toNumber();return e.getComplex(t,r,this._suffix)}Ln(){let t=vde.sqrt(vde.pow(this._realNum,2).add(vde.pow(this._iNum,2))),r=vde.ln(t).toNumber(),n=vde.acos(new vde(this._realNum).div(t)).toNumber();return e.getComplex(r,n,this._suffix)}Log(t){let r=vde.sqrt(vde.pow(this._realNum,2).add(vde.pow(this._iNum,2))),n=vde.ln(r),i=vde.acos(new vde(this._realNum).div(r));this._iNum<0&&(i=i.negated());let a=vde.ln(t),o=new vde(0),s=a.mul(a).add(o.mul(o));if(s.eq(0))return this._isError=!0,"";let l=n.mul(a).add(i.mul(o)).div(s).toNumber(),u=i.mul(a).sub(n.mul(o)).div(s).toNumber();return e.getComplex(l,u,this._suffix)}Power(t){if(0===this._realNum&&0===this._iNum)return t>0?e.getComplex(this._realNum,this._iNum,this._suffix):(this._isError=!0,"");let r=vde.sqrt(vde.pow(this._realNum,2).add(vde.pow(this._iNum,2))),n=vde.acos(new vde(this._realNum).div(r));this._iNum<0&&(n=n.negated()),r=vde.pow(r,t),n=n.mul(t);let i=vde.cos(n).mul(r).toNumber(),a=vde.sin(n).mul(r).toNumber();return Number.isFinite(i)&&Number.isFinite(a)?e.getComplex(i,a,this._suffix):(this._isError=!0,"")}Product(t){let r=new vde(this._realNum),n=new vde(this._iNum),i=new vde(t.getRealNum()),a=new vde(t.getINum()),o=r.mul(i).sub(n.mul(a)).toNumber(),s=r.mul(a).add(n.mul(i)).toNumber(),l=""===this._suffix?t.getSuffix():this._suffix;return e.getComplex(o,s,l)}Sec(){if(this._iNum){let t=vde.cosh(2*this._iNum).add(vde.cos(2*this._realNum)),r=vde.cos(this._realNum).mul(vde.cosh(this._iNum)).mul(2).div(t).toNumber(),n=vde.sin(this._realNum).mul(vde.sinh(this._iNum)).mul(2).div(t).toNumber();return e.getComplex(r,n,this._suffix)}{let t=new vde(1).div(vde.cos(this._realNum)).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Sech(){if(!Number.isFinite(Math.sinh(2*this._realNum))||!Number.isFinite(Math.cosh(2*this._realNum)))return e.getComplex(0,0,this._suffix);if(this._iNum){let t=vde.cosh(2*this._realNum).add(vde.cos(2*this._iNum)),r=vde.cosh(this._realNum).mul(vde.cos(this._iNum)).mul(2).div(t).toNumber(),n=vde.sinh(this._realNum).mul(vde.sin(this._iNum)).mul(-2).div(t).toNumber();return e.getComplex(r,n,this._suffix)}{let t=new vde(1).div(vde.cosh(this._realNum)).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Sin(){if(this._iNum){let t=vde.sin(this._realNum).mul(vde.cosh(this._iNum)).toNumber(),r=vde.cos(this._realNum).mul(vde.sinh(this._iNum)).toNumber();return e.getComplex(t,r,this._suffix)}{let t=vde.sin(this._realNum).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Sinh(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return this._isError=!0,"";if(this._iNum){let t=vde.sinh(this._realNum).mul(vde.cos(this._iNum)).toNumber(),r=vde.cosh(this._realNum).mul(vde.sin(this._iNum)).toNumber();return e.getComplex(t,r,this._suffix)}{let t=vde.sinh(this._realNum).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Sqrt(){let t=vde.sqrt(vde.pow(this._realNum,2).add(vde.pow(this._iNum,2))),r=vde.sqrt(t),n=vde.acos(new vde(this._realNum).div(t));this._iNum<0&&(n=n.negated());let i=r.mul(vde.cos(n.div(2).toNumber())).toNumber(),a=r.mul(vde.sin(n.div(2))).toNumber();return e.getComplex(i,a,this._suffix)}Sub(t){let r=new vde(this._realNum),n=new vde(this._iNum),i=new vde(t.getRealNum()),a=new vde(t.getINum()),o=r.sub(i).toNumber(),s=n.sub(a).toNumber(),l=""===this._suffix?t.getSuffix():this._suffix;return e.getComplex(o,s,l)}Sum(t){let r=new vde(this._realNum),n=new vde(this._iNum),i=new vde(t.getRealNum()),a=new vde(t.getINum()),o=r.add(i).toNumber(),s=n.add(a).toNumber(),l=""===this._suffix?t.getSuffix():this._suffix;return e.getComplex(o,s,l)}Tan(){if(this._iNum){let t=vde.cos(2*this._realNum).add(vde.cosh(2*this._iNum)),r=vde.sin(2*this._realNum).div(t).toNumber(),n=vde.sinh(2*this._iNum).div(t).toNumber();return e.getComplex(r,n,this._suffix)}{let t=vde.tan(this._realNum).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Tanh(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return this._isError=!0,"";if(this._iNum){let t=vde.cosh(2*this._realNum).add(vde.cos(2*this._iNum)),r=vde.sinh(2*this._realNum).div(t).toNumber(),n=vde.sin(2*this._iNum).div(t).toNumber();return e.getComplex(r,n,this._suffix)}{let t=vde.tanh(this._realNum).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}};const zCe=[[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return fhe.create(Jde.NA);let{isError:r,errorObject:n,variants:i}=Lve(e,t);if(r)return n;let[a,o]=i,s=+a.getValue(),l=Math.floor(+o.getValue());if(Number.isNaN(s)||Number.isNaN(l))return fhe.create(Jde.VALUE);if(l<0)return fhe.create(Jde.NUM);let u=Vve.besseli(s,l);return Number.isNaN(u)||!Number.isFinite(u)?fhe.create(Jde.NUM):Age.create(u)}},fpe.BESSELI],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return fhe.create(Jde.NA);let{isError:r,errorObject:n,variants:i}=Lve(e,t);if(r)return n;let[a,o]=i,s=+a.getValue(),l=Math.floor(+o.getValue());if(Number.isNaN(s)||Number.isNaN(l))return fhe.create(Jde.VALUE);if(l<0)return fhe.create(Jde.NUM);let u=Vve.besselj(s,l);return Number.isNaN(u)||!Number.isFinite(u)?fhe.create(Jde.NUM):Age.create(u)}},fpe.BESSELJ],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return fhe.create(Jde.NA);let{isError:r,errorObject:n,variants:i}=Lve(e,t);if(r)return n;let[a,o]=i,s=+a.getValue(),l=Math.floor(+o.getValue());if(Number.isNaN(s)||Number.isNaN(l))return fhe.create(Jde.VALUE);if(l<0)return fhe.create(Jde.NUM);let u=Vve.besselk(s,l);return Number.isNaN(u)||!Number.isFinite(u)?fhe.create(Jde.NUM):Age.create(u)}},fpe.BESSELK],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return fhe.create(Jde.NA);let{isError:r,errorObject:n,variants:i}=Lve(e,t);if(r)return n;let[a,o]=i,s=+a.getValue(),l=Math.floor(+o.getValue());if(Number.isNaN(s)||Number.isNaN(l))return fhe.create(Jde.VALUE);if(l<0)return fhe.create(Jde.NUM);let u=Vve.bessely(s,l);return Number.isNaN(u)||!Number.isFinite(u)?fhe.create(Jde.NUM):Age.create(u)}},fpe.BESSELY],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){let{isError:t,errorObject:r,variants:n}=Lve(e);if(t)return r;let i,[a]=n,o=`${a.getValue()}`;return Fve(o)?(i=10===o.length&&"1"===o.substring(0,1)?Number.parseInt(o.substring(1),2)-512:Number.parseInt(o,2),Age.create(i)):fhe.create(Jde.NUM)}},fpe.BIN2DEC],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",2)}calculate(e,t){if(e.isNull())return fhe.create(Jde.NA);let r=0;if(t){let{isError:e,errorObject:n,variants:i}=Lve(t);if(e)return n;let[a]=i;if(r=Math.floor(+a.getValue()),Number.isNaN(r))return fhe.create(Jde.VALUE);if(r<0||r>10)return fhe.create(Jde.NUM)}let{isError:n,errorObject:i,variants:a}=Lve(e);if(n)return i;let o,[s]=a,l=`${s.getValue()}`;if(!Fve(l))return fhe.create(Jde.NUM);if(10===l.length&&"1"===l.substring(0,1))o=(0xfffffffe00+Number.parseInt(l.substring(1),2)).toString(16);else if(o=Number.parseInt(l,2).toString(16),t){if(r10)return fhe.create(Jde.NUM)}let{isError:n,errorObject:i,variants:a}=Lve(e);if(n)return i;let o,[s]=a,l=`${s.getValue()}`;if(!Fve(l))return fhe.create(Jde.NUM);if(10===l.length&&"1"===l.substring(0,1))o=(1073741312+Number.parseInt(l.substring(1),2)).toString(8);else if(o=Number.parseInt(l,2).toString(8),t){if(r{let n=e;if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let i=a.get(t,r);if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let o=+n.getValue(),s=+i.getValue();if(o<0||s<0||Math.floor(o)!==o||Math.floor(s)!==s||o>0xffffffffffff||s>0xffffffffffff)return fhe.create(Jde.NUM);let l=o&s;return Age.create(l)});return 1===r&&1===n?o.get(0,0):o}},fpe.BITAND],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=Wge(r,n,e,fhe.create(Jde.NA)),a=Wge(r,n,t,fhe.create(Jde.NA)),o=i.map((e,t,r)=>{let n=e;if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let i=a.get(t,r);if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let o=+n.getValue(),s=+i.getValue();if(o<0||Math.floor(o)!==o||o>0xffffffffffff||Math.abs(s)>53)return fhe.create(Jde.NUM);s=Math.trunc(s);let l=Number(s>=0?BigInt(o)<>BigInt(-s));return l>0xffffffffffff?fhe.create(Jde.NUM):Age.create(l)});return 1===r&&1===n?o.get(0,0):o}},fpe.BITLSHIFT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=Wge(r,n,e,fhe.create(Jde.NA)),a=Wge(r,n,t,fhe.create(Jde.NA)),o=i.map((e,t,r)=>{let n=e;if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let i=a.get(t,r);if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let o=+n.getValue(),s=+i.getValue();if(o<0||s<0||Math.floor(o)!==o||Math.floor(s)!==s||o>0xffffffffffff||s>0xffffffffffff)return fhe.create(Jde.NUM);let l=Number(BigInt(o)|BigInt(s));return Age.create(l)});return 1===r&&1===n?o.get(0,0):o}},fpe.BITOR],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=Wge(r,n,e,fhe.create(Jde.NA)),a=Wge(r,n,t,fhe.create(Jde.NA)),o=i.map((e,t,r)=>{let n=e;if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let i=a.get(t,r);if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let o=+n.getValue(),s=+i.getValue();if(o<0||Math.floor(o)!==o||o>0xffffffffffff||Math.abs(s)>53)return fhe.create(Jde.NUM);s=Math.trunc(s);let l=Number(s>=0?BigInt(o)>>BigInt(s):BigInt(o)<0xffffffffffff?fhe.create(Jde.NUM):Age.create(l)});return 1===r&&1===n?o.get(0,0):o}},fpe.BITRSHIFT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=Wge(r,n,e,fhe.create(Jde.NA)),a=Wge(r,n,t,fhe.create(Jde.NA)),o=i.map((e,t,r)=>{let n=e;if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let i=a.get(t,r);if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let o=+n.getValue(),s=+i.getValue();if(o<0||s<0||Math.floor(o)!==o||Math.floor(s)!==s||o>0xffffffffffff||s>0xffffffffffff)return fhe.create(Jde.NUM);let l=o^s;return Age.create(l)});return 1===r&&1===n?o.get(0,0):o}},fpe.BITXOR],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",3)}calculate(e,t,r){let{isError:n,errorObject:i,variants:a}=Lve(e,t,null==r?Rge.create("i"):r);if(n)return i;let[o,s,l]=a,u=+o.getValue(),c=+s.getValue(),d=`${l.getValue()}`;if(Number.isNaN(u)||Number.isNaN(c)||"i"!==d&&"j"!==d)return fhe.create(Jde.VALUE);let h=WCe.getComplex(u,c,d);return"number"==typeof h?Age.create(h):Rge.create(h)}},fpe.COMPLEX],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",3),Kde(this,"_units",[["a.u. of action","?",null,"action",!1,!1,105457168181818e-48],["a.u. of charge","e",null,"electric_charge",!1,!1,160217653141414e-33],["a.u. of energy","Eh",null,"energy",!1,!1,435974417757576e-32],["a.u. of length","a?",null,"length",!1,!1,529177210818182e-25],["a.u. of mass","m?",null,"mass",!1,!1,910938261616162e-45],["a.u. of time","?/Eh",null,"time",!1,!1,241888432650516e-31],["admiralty knot","admkn",null,"speed",!1,!0,.514773333],["ampere","A",null,"electric_current",!0,!1,1],["ampere per meter","A/m",null,"magnetic_field_intensity",!0,!1,1],["ångström","Å",["ang"],"length",!1,!0,1e-10],["are","ar",null,"area",!1,!0,100],["astronomical unit","ua",null,"length",!1,!1,149597870691667e-25],["bar","bar",null,"pressure",!1,!1,1e5],["barn","b",null,"area",!1,!1,1e-28],["becquerel","Bq",null,"radioactivity",!0,!1,1],["bit","bit",["b"],"information",!1,!0,1],["btu","BTU",["btu"],"energy",!1,!0,1055.05585262],["byte","byte",null,"information",!1,!0,8],["candela","cd",null,"luminous_intensity",!0,!1,1],["candela per square metre","cd/m?",null,"luminance",!0,!1,1],["centigrade","C",["cel"],"temperature",!0,!1,1],["cubic ångström","ang3",["ang^3"],"volume",!1,!0,1e-30],["cubic foot","ft3",["ft^3"],"volume",!1,!0,.028316846592],["cubic inch","in3",["in^3"],"volume",!1,!0,16387064e-12],["cubic light-year","ly3",["ly^3"],"volume",!1,!0,846786664623715e-61],["cubic metre","m3",["m^3"],"volume",!0,!0,1],["cubic mile","mi3",["mi^3"],"volume",!1,!0,4168181825.44058],["cubic nautical mile","Nmi3",["Nmi^3"],"volume",!1,!0,6352182208],["cubic Pica","Pica3",["Picapt3","Pica^3","Picapt^3"],"volume",!1,!0,7.58660370370369e-8],["cubic yard","yd3",["yd^3"],"volume",!1,!0,.764554857984],["cup","cup",null,"volume",!1,!0,.0002365882365],["dalton","Da",["u"],"mass",!1,!1,166053886282828e-41],["day","d",["day"],"time",!1,!0,86400],["degree","°",null,"angle",!1,!1,.0174532925199433],["dyne","dyn",["dy"],"force",!1,!0,1e-5],["electronvolt","eV",["ev"],"energy",!1,!0,1.60217656514141],["ell","ell",null,"length",!1,!0,1.143],["erg","erg",["e"],"energy",!1,!0,1e-7],["fahrenheit","F",["fah"],"temperature",!0,!1,1],["fluid ounce","oz",null,"volume",!1,!0,295735295625e-16],["foot","ft",null,"length",!1,!0,.3048],["foot-pound","flb",null,"energy",!1,!0,1.3558179483314],["gal","Gal",null,"acceleration",!1,!1,.01],["gallon","gal",null,"volume",!1,!0,.003785411784],["gauss","G",["ga"],"magnetic_flux_density",!1,!0,1],["grain","grain",null,"mass",!1,!0,647989e-10],["gram","g",null,"mass",!1,!0,.001],["gray","Gy",null,"absorbed_dose",!0,!1,1],["gross registered ton","GRT",["regton"],"volume",!1,!0,2.8316846592],["hectare","ha",null,"area",!1,!0,1e4],["henry","H",null,"inductance",!0,!1,1],["hertz","Hz",null,"frequency",!0,!1,1],["horsepower","HP",["h"],"power",!1,!0,745.69987158227],["horsepower-hour","HPh",["hh","hph"],"energy",!1,!0,2684519.538],["hour","h",["hr"],"time",!1,!0,3600],["imperial gallon (U.K.)","uk_gal",null,"volume",!1,!0,.00454609],["imperial hundredweight","lcwt",["uk_cwt","hweight"],"mass",!1,!0,50.802345],["imperial quart (U.K)","uk_qt",null,"volume",!1,!0,.0011365225],["imperial ton","brton",["uk_ton","LTON"],"mass",!1,!0,1016.046909],["inch","in",null,"length",!1,!0,.0254],["international acre","uk_acre",null,"area",!1,!0,4046.8564224],["IT calorie","cal",null,"energy",!1,!0,4.1868],["joule","J",null,"energy",!0,!0,1],["katal","kat",null,"catalytic_activity",!0,!1,1],["kelvin","K",["kel"],"temperature",!0,!0,1],["kilogram","kg",null,"mass",!0,!0,1],["knot","kn",null,"speed",!1,!0,.514444444444444],["light-year","ly",null,"length",!1,!0,9460730472580800],["litre","L",["l","lt"],"volume",!1,!0,.001],["lumen","lm",null,"luminous_flux",!0,!1,1],["lux","lx",null,"illuminance",!0,!1,1],["maxwell","Mx",null,"magnetic_flux",!1,!1,1e-18],["measurement ton","MTON",null,"volume",!1,!0,1.13267386368],["meter per hour","m/h",["m/hr"],"speed",!1,!0,.00027777777777778],["meter per second","m/s",["m/sec"],"speed",!0,!0,1],["meter per second squared","m?s??",null,"acceleration",!0,!1,1],["parsec","pc",["parsec"],"length",!1,!0,0x6da012f958ee1c],["meter squared per second","m?/s",null,"kinematic_viscosity",!0,!1,1],["metre","m",null,"length",!0,!0,1],["miles per hour","mph",null,"speed",!1,!0,.44704],["millimetre of mercury","mmHg",null,"pressure",!1,!1,133.322],["minute","?",null,"angle",!1,!1,.000290888208665722],["minute","min",["mn"],"time",!1,!0,60],["modern teaspoon","tspm",null,"volume",!1,!0,5e-6],["mole","mol",null,"amount_of_substance",!0,!1,1],["morgen","Morgen",null,"area",!1,!0,2500],["n.u. of action","?",null,"action",!1,!1,105457168181818e-48],["n.u. of mass","m?",null,"mass",!1,!1,910938261616162e-45],["n.u. of speed","c?",null,"speed",!1,!1,299792458],["n.u. of time","?/(me?c??)",null,"time",!1,!1,128808866778687e-35],["nautical mile","M",["Nmi"],"length",!1,!0,1852],["newton","N",null,"force",!0,!0,1],["œrsted","Oe ",null,"magnetic_field_intensity",!1,!1,79.5774715459477],["ohm","Ω",null,"electric_resistance",!0,!1,1],["ounce mass","ozm",null,"mass",!1,!0,.028349523125],["pascal","Pa",null,"pressure",!0,!1,1],["pascal second","Pa?s",null,"dynamic_viscosity",!0,!1,1],["pferdestärke","PS",null,"power",!1,!0,735.49875],["phot","ph",null,"illuminance",!1,!1,1e-4],["pica (1/6 inch)","pica",null,"length",!1,!0,.00035277777777778],["pica (1/72 inch)","Pica",["Picapt"],"length",!1,!0,.00423333333333333],["poise","P",null,"dynamic_viscosity",!1,!1,.1],["pond","pond",null,"force",!1,!0,.00980665],["pound force","lbf",null,"force",!1,!0,4.4482216152605],["pound mass","lbm",null,"mass",!1,!0,.45359237],["quart","qt",null,"volume",!1,!0,.000946352946],["radian","rad",null,"angle",!0,!1,1],["rankine","Rank",null,"temperature",!1,!0,1],["reaumur","Reau",null,"temperature",!1,!0,1],["second","?",null,"angle",!1,!1,484813681109536e-20],["second","s",["sec"],"time",!0,!0,1],["short hundredweight","cwt",["shweight"],"mass",!1,!0,45.359237],["siemens","S",null,"electrical_conductance",!0,!1,1],["sievert","Sv",null,"equivalent_dose",!0,!1,1],["slug","sg",null,"mass",!1,!0,14.59390294],["square ångström","ang2",["ang^2"],"area",!1,!0,1e-20],["square foot","ft2",["ft^2"],"area",!1,!0,.09290304],["square inch","in2",["in^2"],"area",!1,!0,64516e-8],["square light-year","ly2",["ly^2"],"area",!1,!0,895054210748189e17],["square meter","m?",null,"area",!0,!0,1],["square mile","mi2",["mi^2"],"area",!1,!0,2589988.110336],["square nautical mile","Nmi2",["Nmi^2"],"area",!1,!0,3429904],["square Pica","Pica2",["Picapt2","Pica^2","Picapt^2"],"area",!1,!0,1792111111111e-17],["square yard","yd2",["yd^2"],"area",!1,!0,.83612736],["statute mile","mi",null,"length",!1,!0,1609.344],["steradian","sr",null,"solid_angle",!0,!1,1],["stilb","sb",null,"luminance",!1,!1,1e-4],["stokes","St",null,"kinematic_viscosity",!1,!1,1e-4],["stone","stone",null,"mass",!1,!0,6.35029318],["tablespoon","tbs",null,"volume",!1,!0,147868e-10],["teaspoon","tsp",null,"volume",!1,!0,492892e-11],["tesla","T",null,"magnetic_flux_density",!0,!0,1],["thermodynamic calorie","c",null,"energy",!1,!0,4.184],["ton","ton",null,"mass",!1,!0,907.18474],["tonne","t",null,"mass",!1,!1,1e3],["U.K. pint","uk_pt",null,"volume",!1,!0,.00056826125],["U.S. bushel","bushel",null,"volume",!1,!0,.03523907],["U.S. oil barrel","barrel",null,"volume",!1,!0,.158987295],["U.S. pint","pt",["us_pt"],"volume",!1,!0,.000473176473],["U.S. survey mile","survey_mi",null,"length",!1,!0,1609.347219],["U.S. survey/statute acre","us_acre",null,"area",!1,!0,4046.87261],["volt","V",null,"voltage",!0,!1,1],["watt","W",null,"power",!0,!0,1],["watt-hour","Wh",["wh"],"energy",!1,!0,3600],["weber","Wb",null,"magnetic_flux",!0,!1,1],["yard","yd",null,"length",!1,!0,.9144],["year","yr",null,"time",!1,!0,31557600]]),Kde(this,"_binaryPrefixes",{Yi:["yobi",80,12089258196146292e8,"Yi","yotta"],Zi:["zebi",70,11805916207174113e5,"Zi","zetta"],Ei:["exbi",60,0x1000000000000000,"Ei","exa"],Pi:["pebi",50,0x4000000000000,"Pi","peta"],Ti:["tebi",40,1099511627776,"Ti","tera"],Gi:["gibi",30,1073741824,"Gi","giga"],Mi:["mebi",20,1048576,"Mi","mega"],ki:["kibi",10,1024,"ki","kilo"]}),Kde(this,"_unitPrefixes",{Y:["yotta",1e24,"Y"],Z:["zetta",1e21,"Z"],E:["exa",1e18,"E"],P:["peta",1e15,"P"],T:["tera",1e12,"T"],G:["giga",1e9,"G"],M:["mega",1e6,"M"],k:["kilo",1e3,"k"],h:["hecto",100,"h"],e:["dekao",10,"e"],d:["deci",.1,"d"],c:["centi",.01,"c"],m:["milli",.001,"m"],u:["micro",1e-6,"u"],n:["nano",1e-9,"n"],p:["pico",1e-12,"p"],f:["femto",1e-15,"f"],a:["atto",1e-18,"a"],z:["zepto",1e-21,"z"],y:["yocto",1e-24,"y"]})}calculate(e,t,r){let{isError:n,errorObject:i,variants:a}=Lve(e,t,r);if(n)return i;let[o,s,l]=a,u=+o.getValue(),c=`${s.getValue()}`,d=`${l.getValue()}`;if(Number.isNaN(u))return fhe.create(Jde.VALUE);let h,m,f,g=1,p=1,{_from:v,_to:b}=this._lookupFromAndToUnits(c,d);if(h=v,m=b,null===h){let{_from:e,_fromMultiplier:t}=this._lookupFromPrefix(c);h=e,g=t}if(null===m){let{_to:e,_toMultiplier:t}=this._lookupToPrefix(d);m=e,p=t}return null===h||null===m||h[3]!==m[3]?fhe.create(Jde.NA):("temperature"===h[3]?(f=this._getTemperatureConversion(u,h[1],m[1]),f=+f.toFixed(2)):f=u*h[6]*g/(m[6]*p),Age.create(f))}_lookupFromAndToUnits(e,t){let r,n=null,i=null;for(let a=0;a=0)&&(n=this._units[a]),(this._units[a][1]===t||r.indexOf(t)>=0)&&(i=this._units[a]);return{_from:n,_to:i}}_lookupFromPrefix(e){let t,r=null,n=1,i=e,a=this._binaryPrefixes[e.substring(0,2)],o=this._unitPrefixes[e.substring(0,1)];"da"===e.substring(0,2)&&(o=["dekao",10,"da"]),a?(n=a[2],i=e.substring(2)):o&&(n=o[1],i=e.substring(o[2].length));for(let e=0;e=0)&&(r=this._units[e]);return{_from:r,_fromMultiplier:n}}_lookupToPrefix(e){let t,r=null,n=1,i=e,a=this._binaryPrefixes[e.substring(0,2)],o=this._unitPrefixes[e.substring(0,1)];"da"===e.substring(0,2)&&(o=["dekao",10,"da"]),a?(n=a[2],i=e.substring(2)):o&&(n=o[1],i=e.substring(o[2].length));for(let e=0;e=0)&&(r=this._units[e]);return{_to:r,_toMultiplier:n}}_getTemperatureConversion(e,t,r){switch(t){case"C":return this._centigradeConversion(e,r);case"F":return this._fahrenheitConversion(e,r);case"K":return this._kelvinConversion(e,r);case"Rank":return this._rankineConversion(e,r);case"Reau":return this._reaumurConversion(e,r);default:return e}}_centigradeConversion(e,t){switch(t){case"F":return 9*e/5+32;case"K":return e+273.15;case"Rank":return 9*(e+273.15)/5;case"Reau":return 4*e/5;default:return e}}_fahrenheitConversion(e,t){switch(t){case"C":return 5*(e-32)/9;case"K":return 5*(e-32)/9+273.15;case"Rank":return e+459.67;case"Reau":return 4*(e-32)/9;default:return e}}_kelvinConversion(e,t){switch(t){case"C":return e-273.15;case"F":return 9*(e-273.15)/5+32;case"Rank":return 9*e/5;case"Reau":return 4*(e-273.15)/5;default:return e}}_rankineConversion(e,t){switch(t){case"C":return 5*(e-491.67)/9;case"F":return e-459.67;case"K":return 5*e/9;case"Reau":return 4*(e-491.67)/9;default:return e}}_reaumurConversion(e,t){switch(t){case"C":return 5*e/4;case"F":return 9*e/4+32;case"K":return 5*e/4+273.15;case"Rank":return 9*e/4+491.67;default:return e}}},fpe.CONVERT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",2)}calculate(e,t){if(e.isNull())return fhe.create(Jde.NA);let r=0;if(t){let{isError:e,errorObject:n,variants:i}=Lve(t);if(e)return n;let[a]=i;if(r=Math.floor(+a.getValue()),Number.isNaN(r))return fhe.create(Jde.VALUE);if(r<0||r>10)return fhe.create(Jde.NUM)}let{isError:n,errorObject:i,variants:a}=Lve(e);if(n)return i;let o,[s]=a,l=Math.trunc(+s.getValue());if(Number.isNaN(l))return fhe.create(Jde.VALUE);if(!/^-?[0-9]{1,3}$/.test(`${l}`)||l<-512||l>511)return fhe.create(Jde.NUM);if(l<0){let e=(512+l).toString(2);o=`1${"0".repeat(9-e.length)}${e}`}else if(o=Number.parseInt(`${l}`,10).toString(2),t){if(r10)return fhe.create(Jde.NUM)}let{isError:n,errorObject:i,variants:a}=Lve(e);if(n)return i;let o,[s]=a,l=Math.trunc(+s.getValue());if(Number.isNaN(l))return fhe.create(Jde.VALUE);if(!/^-?[0-9]{1,12}$/.test(`${l}`)||l<-549755813888||l>549755813887)return fhe.create(Jde.NUM);if(l<0)o=(1099511627776+l).toString(16);else if(o=Number.parseInt(`${l}`,10).toString(16),t){if(r10)return fhe.create(Jde.NUM)}let{isError:n,errorObject:i,variants:a}=Lve(e);if(n)return i;let o,[s]=a,l=Math.trunc(+s.getValue());if(Number.isNaN(l))return fhe.create(Jde.VALUE);if(!/^-?[0-9]{1,9}$/.test(`${l}`)||l<-536870912||l>536870911)return fhe.create(Jde.NUM);if(l<0)o=(1073741824+l).toString(8);else if(o=Number.parseInt(`${l}`,10).toString(8),t){if(r=l?1:0;return Age.create(u)}},fpe.GESTEP],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",2)}calculate(e,t){if(e.isNull())return fhe.create(Jde.NA);let r=0;if(t){let{isError:e,errorObject:n,variants:i}=Lve(t);if(e)return n;let[a]=i;if(r=Math.floor(+a.getValue()),Number.isNaN(r))return fhe.create(Jde.VALUE);if(r<0||r>10)return fhe.create(Jde.NUM)}let{isError:n,errorObject:i,variants:a}=Lve(e);if(n)return i;let[o]=a,s=`${o.getValue()}`;if(!Hve(s))return fhe.create(Jde.NUM);let l,u=10===s.length&&"F"===s.substring(0,1).toLocaleUpperCase(),c=u?Number.parseInt(s,16)-1099511627776:Number.parseInt(s,16);if(c<-512||c>511)return fhe.create(Jde.NUM);if(u){let e=(512+c).toString(2);l=`1${"0".repeat(9-e.length)}${e}`}else if(l=c.toString(2),t){if(r=549755813888&&(o-=1099511627776),Age.create(o)}},fpe.HEX2DEC],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",2)}calculate(e,t){if(e.isNull())return fhe.create(Jde.NA);let r=0;if(t){let{isError:e,errorObject:n,variants:i}=Lve(t);if(e)return n;let[a]=i;if(r=Math.floor(+a.getValue()),Number.isNaN(r))return fhe.create(Jde.VALUE);if(r<0||r>10)return fhe.create(Jde.NUM)}let{isError:n,errorObject:i,variants:a}=Lve(e);if(n)return i;let[o]=a,s=`${o.getValue()}`;if(!Hve(s))return fhe.create(Jde.NUM);let l,u=Number.parseInt(s,16);if(u>536870911&&u<0xffe0000000)return fhe.create(Jde.NUM);if(u>=0xffe0000000)l=(u-0xffc0000000).toString(8);else if(l=u.toString(8),t){if(r1||t>1)return fhe.create(Jde.VALUE);o=o.get(0,0)}let{isError:s,errorObject:l,variants:u}=Pve(o);if(s)return l;let[c]=u,d=`${a.getValue()}`,h=+c.getValue(),m=new WCe(d);if(m.isError()||0===m.getRealNum()&&0===m.getINum()||h<=0)return fhe.create(Jde.NUM);let f=m.Log(h);return m.isError()?fhe.create(Jde.NUM):"number"==typeof f||$d(f)?Age.create(+f):Rge.create(f)}},fpe.IMLOG],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){let{isError:t,errorObject:r,variants:n}=Lve(e);if(t)return r;let[i]=n,a=new WCe(`${i.getValue()}`);if(a.isError()||0===a.getRealNum()&&0===a.getINum())return fhe.create(Jde.NUM);let o=a.Log(10);return"number"==typeof o||$d(o)?Age.create(+o):Rge.create(o)}},fpe.IMLOG10],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){let{isError:t,errorObject:r,variants:n}=Lve(e);if(t)return r;let[i]=n,a=new WCe(`${i.getValue()}`);if(a.isError()||0===a.getRealNum()&&0===a.getINum())return fhe.create(Jde.NUM);let o=a.Log(2);return"number"==typeof o||$d(o)?Age.create(+o):Rge.create(o)}},fpe.IMLOG2],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return fhe.create(Jde.NA);let{isError:r,errorObject:n,variants:i}=Lve(e,t);if(r)return n;let[a,o]=i,s=new WCe(`${a.getValue()}`);if(s.isError())return fhe.create(Jde.NUM);let l=+o.getValue();if(Number.isNaN(l))return fhe.create(Jde.VALUE);let u=s.Power(l);return s.isError()?fhe.create(Jde.NUM):"number"==typeof u||$d(u)?Age.create(+u):Rge.create(u)}},fpe.IMPOWER],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",255)}calculate(...e){let t="";for(let r=0;r{if(t=this._handleSingleObject(n,t),t instanceof fhe)return r=!0,e=t,!1}),r)return e}else t=this._handleSingleObject(n,t)}return t instanceof fhe?t:"number"==typeof t||$d(t)?Age.create(+t):Rge.create(t)}_handleSingleObject(e,t){let r=t;if(e.isError())return e;if(e.isBoolean())return fhe.create(Jde.VALUE);let n=`${e.getValue()}`;if("number"==typeof t||t){let e=new WCe(t),i=new WCe(n);if(e.isError()||i.isError())return fhe.create(Jde.NUM);if(e.isDifferentSuffixes(i))return fhe.create(Jde.VALUE);r=e.Product(i)}else{let e=new WCe(n);if(e.isError())return fhe.create(Jde.NUM);r=e.toString()}return r}},fpe.IMPRODUCT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){let{isError:t,errorObject:r,variants:n}=Lve(e);if(t)return r;let[i]=n,a=new WCe(`${i.getValue()}`);if(a.isError())return fhe.create(Jde.NUM);let o=a.getRealNum();return Age.create(o)}},fpe.IMREAL],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){let{isError:t,errorObject:r,variants:n}=Lve(e);if(t)return r;let[i]=n,a=new WCe(`${i.getValue()}`);if(a.isError())return fhe.create(Jde.NUM);let o=a.Sec();return"number"==typeof o||$d(o)?Age.create(+o):Rge.create(o)}},fpe.IMSEC],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){let{isError:t,errorObject:r,variants:n}=Lve(e);if(t)return r;let[i]=n,a=new WCe(`${i.getValue()}`);if(a.isError())return fhe.create(Jde.NUM);let o=a.Sech();return"number"==typeof o||$d(o)?Age.create(+o):Rge.create(o)}},fpe.IMSECH],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){let{isError:t,errorObject:r,variants:n}=Lve(e);if(t)return r;let[i]=n,a=new WCe(`${i.getValue()}`);if(a.isError())return fhe.create(Jde.NUM);let o=a.Sin();return"number"==typeof o||$d(o)?Age.create(+o):Rge.create(o)}},fpe.IMSIN],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){let{isError:t,errorObject:r,variants:n}=Lve(e);if(t)return r;let[i]=n,a=new WCe(`${i.getValue()}`);if(a.isError())return fhe.create(Jde.NUM);let o=a.Sinh();return a.isError()?fhe.create(Jde.NUM):"number"==typeof o||$d(o)?Age.create(+o):Rge.create(o)}},fpe.IMSINH],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){let{isError:t,errorObject:r,variants:n}=Lve(e);if(t)return r;let[i]=n,a=new WCe(`${i.getValue()}`);if(a.isError())return fhe.create(Jde.NUM);if(0===a.getRealNum()&&0===a.getINum())return Age.create(0);let o=a.Sqrt();return"number"==typeof o||$d(o)?Age.create(+o):Rge.create(o)}},fpe.IMSQRT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return fhe.create(Jde.NA);let{isError:r,errorObject:n,variants:i}=Lve(e,t);if(r)return n;let[a,o]=i,s=`${a.getValue()}`,l=`${o.getValue()}`,u=new WCe(s),c=new WCe(l);if(u.isError()||c.isError()||u.isDifferentSuffixes(c))return fhe.create(Jde.NUM);let d=u.Sub(c);return"number"==typeof d||$d(d)?Age.create(+d):Rge.create(d)}},fpe.IMSUB],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",255)}calculate(...e){let t="";for(let r=0;r{if(t=this._handleSingleObject(n,t),t instanceof fhe)return r=!0,e=t,!1}),r)return e}else t=this._handleSingleObject(n,t)}return t instanceof fhe?t:"number"==typeof t||$d(t)?Age.create(+t):Rge.create(t)}_handleSingleObject(e,t){let r=t;if(e.isError())return e;if(e.isBoolean())return fhe.create(Jde.VALUE);let n=`${e.getValue()}`;if("number"==typeof t||t){let e=new WCe(t),i=new WCe(n);if(e.isError()||i.isError())return fhe.create(Jde.NUM);if(e.isDifferentSuffixes(i))return fhe.create(Jde.VALUE);r=e.Sum(i)}else{let e=new WCe(n);if(e.isError())return fhe.create(Jde.NUM);r=e.toString()}return r}},fpe.IMSUM],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){let{isError:t,errorObject:r,variants:n}=Lve(e);if(t)return r;let[i]=n,a=new WCe(`${i.getValue()}`);if(a.isError())return fhe.create(Jde.NUM);let o=a.Tan();return"number"==typeof o||$d(o)?Age.create(+o):Rge.create(o)}},fpe.IMTAN],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){let{isError:t,errorObject:r,variants:n}=Lve(e);if(t)return r;let[i]=n,a=new WCe(`${i.getValue()}`);if(a.isError())return fhe.create(Jde.NUM);let o=a.Tanh();return a.isError()?fhe.create(Jde.NUM):"number"==typeof o||$d(o)?Age.create(+o):Rge.create(o)}},fpe.IMTANH],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",2)}calculate(e,t){if(e.isNull())return fhe.create(Jde.NA);let r=0;if(t){let{isError:e,errorObject:n,variants:i}=Lve(t);if(e)return n;let[a]=i;if(r=Math.floor(+a.getValue()),Number.isNaN(r))return fhe.create(Jde.VALUE);if(r<0||r>10)return fhe.create(Jde.NUM)}let{isError:n,errorObject:i,variants:a}=Lve(e);if(n)return i;let[o]=a,s=`${o.getValue()}`;if(!jve(s))return fhe.create(Jde.NUM);let l,u=10===s.length&&"7"===s.substring(0,1),c=u?Number.parseInt(s,8)-1073741824:Number.parseInt(s,8);if(c<-512||c>511)return fhe.create(Jde.NUM);if(u){let e=(512+c).toString(2);l=`1${"0".repeat(9-e.length)}${e}`}else if(l=c.toString(2),t){if(r=536870912&&(o-=1073741824),Age.create(o)}},fpe.OCT2DEC],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",2)}calculate(e,t){if(e.isNull())return fhe.create(Jde.NA);let r=0;if(t){let{isError:e,errorObject:n,variants:i}=Lve(t);if(e)return n;let[a]=i;if(r=Math.floor(+a.getValue()),Number.isNaN(r))return fhe.create(Jde.VALUE);if(r<0||r>10)return fhe.create(Jde.NUM)}let{isError:n,errorObject:i,variants:a}=Lve(e);if(n)return i;let[o]=a,s=`${o.getValue()}`;if(!jve(s))return fhe.create(Jde.NUM);let l,u=Number.parseInt(s,8);if(u>=536870912)l=`ff${(u+3221225472).toString(16)}`;else if(l=u.toString(16),t){if(rn;)i=Vhe(i,-12/r);return i=Vhe(i,12/r),vhe(i)}function YCe(e,t,r){let n=0,i=Che(e),a=Che(t);for(;a>i;)a=Vhe(a,-12/r),n++;return n}function QCe(e,t,r){let n=Che(e),i=Che(t);for(i.setUTCFullYear(n.getUTCFullYear()),in;)i=Vhe(i,-12/r);return vhe(i)}function ZCe(e,t,r,n,i,a){let o=XCe(e,t,i,a),s=qCe(e,t,i,a),l=YCe(e,t,i),u=(s-o)/s-1,c=n/i+1,d=100*r/i,h=0,m=0;for(let e=1;e<=l;e++){let t=e+u,r=d/c**t;h+=t*r,m+=r}let f=l+u,g=100/c**f;return h+=f*g,m+=g,h/m/i}function KCe(e,t,r,n,i){let a;if(0===e)a=(r+n)/t;else{let o=(1+e)**t;a=1===i?(n*e/(o-1)+r*e/(1-1/o))/(1+e):n*e/(o-1)+r*e/(1-1/o)}return-a}function $Ce(e,t,r,n,i){let a;if(0===e)a=n+r*t;else{if(-1===e&&0===t)return NaN;let o=(1+e)**t;a=1===i?n*o+r*(1+e)*(o-1)/e:n*o+r*(o-1)/e}return-a}function JCe(e,t,r,n,i,a){let o=KCe(e,r,n,i,a);return(1===t?1===a?0:-n:1===a?$Ce(e,t-2,o,n,1)-o:$Ce(e,t-1,o,n,0))*e}function eye(e,t){let r=0;for(let n=1;n<=t.length;n++)r+=t[n-1]/(1+e)**n;return r}function tye(e,t,r,n,i,a,o,s,l){let u=rye(r,n,l),c=qCe(e,n,s,l);return u28&&s0?g>=t:g<=t);)g=aye(g,r,h),f++;return f}(n,e,12/s);if(2===l||3===l)c=rye(e,GCe(e,n,s),l);else{let{days:t}=Ohe(QCe(e,n,s),e,l);c=u-t}d+=o/(1+a/s)**(h+m+c/u);let f=n,g=0,p=0;for(let t=YCe(r,n,s);t>=1;t--){let n=aye(f,-12/s,!1),i=1===l?rye(n,f,l):u;g+=(t>1?i:rye(r,f,l))/i,p+=rye(r>n?r:n,e=0}function aye(e,t,r){let n=Che(e);if(n=Vhe(n,t),r){let e=Phe(n.getUTCFullYear(),n.getUTCMonth());n.setUTCDate(e)}return vhe(n)}function oye(e,t){let r,n=1e-7,i=1,a=0,o=e;for(;i>n&&a<500;){let e=(t(o+n)-t(o-n))/2e-7;r=o-t(o)/e,a++,i=Math.abs(r-o),o=r}return Number.isNaN(o)||Math.abs(o)===1/0||500===a?function(e,t){let r,n,i=1e-7,a=Number.MAX_VALUE,o=e-.01<=-1?-1+i:e-.01,s=e+.01>=a?a-i:e+.01,l=0;if(e<=-1||e>=a)return fhe.create(Jde.NUM);for(let e=0;e<60;e++){r=o<=-1?-1+i:o,n=s>=a?a-i:s;let l=t(r),u=t(n);if(l*u<=0)break;if(!(l*u>0))return fhe.create(Jde.NUM);if(o=r+1.6*(r-n),s=n+1.6*(n-r),59===e)return fhe.create(Jde.NUM)}let u,c,d=t(r),h=t(n);if(Math.abs(d)i&&l<60);return c}(e,t):o}function sye(e,t,r,n,i,a,o){let s=YCe(e,t,a),l=qCe(e,t,a,o),u=XCe(e,t,a,o);if(1===s)return(100*r/a+i)/(n/a*(l-u)/l+1)-100*r/a*u/l;let c=l-u,d=i/(1+n/a)**(s-1+c/l);for(let e=1;e<=s;e++)d+=100*r/a/(1+n/a)**(e-1+c/l);return d-=100*r/a*u/l,d}function lye(e,t,r,n,i){let a=0,o=i/r;o>=1?(o=1,a=1===n?e:0):a=e*(1-o)**(n-1);let s=e*(1-o)**n,l=0;return l=s4||Math.floor(y)>=Math.floor(w)?fhe.create(Jde.NUM):this._getResult(y,_,w,E,S,A,I,R)}_getResult(e,t,r,n,i,a,o,s){let l=QCe(e,t,a);if(l<=0)return Age.create(0);l=QCe(r,t,a);let u=12/a,c=Che(t),d=Bhe(c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate()),h=aye(t,-u,d);if(r>t&&s)for(h=t;hh?e:h,{days:f}=Ohe(m,r,o);if(l>=e){let{days:e}=Ohe(m,r,o?4:0);f=e}re;){b=v,v=aye(v,-u,d),m=e>v?e:v;let{days:t}=Ohe(m,b,o);if(0===o)f=b>=m||e<=v?t:-t,g=qCe(v,b,a,o);else if(f=b4||Math.floor(m)>Math.floor(f))return fhe.create(Jde.NUM);if(Math.floor(m)===Math.floor(f))return Age.create(0);let{days:b,yearDays:C}=Ohe(m,f,v),y=p*g*b/C;return Age.create(y)}},gpe.ACCRINTM],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",6),Kde(this,"maxParams",7)}calculate(e,t,r,n,i,a,o){let{isError:s,errorObject:l,variants:u}=Lve(e,t,r,n,i,a,null==o?Age.create(0):o);if(s)return l;let[c,d,h,m,f,g,p]=u,v=Nhe(d);if("number"!=typeof v)return v;let b=Nhe(h);if("number"!=typeof b)return b;let C=+c.getValue(),y=+m.getValue(),_=+f.getValue(),w=+g.getValue(),E=Math.floor(+p.getValue());return Number.isNaN(C)||Number.isNaN(y)||Number.isNaN(_)||Number.isNaN(w)||Number.isNaN(E)?fhe.create(Jde.VALUE):C<=0||y<0||CMath.floor(b)||_<0||w<=0||![0,1,3,4].includes(E)?fhe.create(Jde.NUM):(_=_>1?Math.floor(_):Math.ceil(_),this._getResult(C,v,b,y,_,w,E))}_getResult(e,t,r,n,i,a,o){let s=e-n,l=e*a,{days:u,yearDays:c}=Ohe(t,r,o),d=u/c,h=Math.ceil(s/l-d);if(h<0)return Age.create(0);let m=l;return 0===i?m=l*d:i===h?m=s-l*(d+i-1):i>h&&(m=0),Age.create(m)}},gpe.AMORLINC],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",4)}calculate(e,t,r,n){let{isError:i,errorObject:a,variants:o}=Lve(e,t,r,null==n?Age.create(0):n);if(i)return a;let[s,l,u,c]=o,d=Nhe(s);if("number"!=typeof d)return d;let h=Nhe(l);if("number"!=typeof h)return h;let m=Math.floor(+u.getValue()),f=Math.floor(+c.getValue());if(Number.isNaN(m)||Number.isNaN(f))return fhe.create(Jde.VALUE);if(![1,2,4].includes(m)||f<0||f>4||Math.floor(d)>=Math.floor(h))return fhe.create(Jde.NUM);let g=XCe(d,h,m,f);return Age.create(g)}},gpe.COUPDAYBS],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",4)}calculate(e,t,r,n){let{isError:i,errorObject:a,variants:o}=Lve(e,t,r,null==n?Age.create(0):n);if(i)return a;let[s,l,u,c]=o,d=Nhe(s);if("number"!=typeof d)return d;let h=Nhe(l);if("number"!=typeof h)return h;let m=Math.floor(+u.getValue()),f=Math.floor(+c.getValue());if(Number.isNaN(m)||Number.isNaN(f))return fhe.create(Jde.VALUE);if(![1,2,4].includes(m)||f<0||f>4||Math.floor(d)>=Math.floor(h))return fhe.create(Jde.NUM);let g=qCe(d,h,m,f);return Age.create(g)}},gpe.COUPDAYS],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",4)}calculate(e,t,r,n){let{isError:i,errorObject:a,variants:o}=Lve(e,t,r,null==n?Age.create(0):n);if(i)return a;let[s,l,u,c]=o,d=Nhe(s);if("number"!=typeof d)return d;let h=Nhe(l);if("number"!=typeof h)return h;let m=Math.floor(+u.getValue()),f=Math.floor(+c.getValue());if(Number.isNaN(m)||Number.isNaN(f))return fhe.create(Jde.VALUE);if(![1,2,4].includes(m)||f<0||f>4||Math.floor(d)>=Math.floor(h))return fhe.create(Jde.NUM);let g=Che(d),p=Che(h);for(p.setUTCFullYear(g.getUTCFullYear()),pg;)p.setUTCMonth(p.getUTCMonth()-12/m);p.setUTCMonth(p.getUTCMonth()+12/m);let{days:v}=Ohe(d,vhe(p),f);return Age.create(v)}},gpe.COUPDAYSNC],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",4)}calculate(e,t,r,n){let{isError:i,errorObject:a,variants:o}=Lve(e,t,r,null==n?Age.create(0):n);if(i)return a;let[s,l,u,c]=o,d=Nhe(s);if("number"!=typeof d)return d;let h=Nhe(l);if("number"!=typeof h)return h;let m=Math.floor(+u.getValue()),f=Math.floor(+c.getValue());if(Number.isNaN(m)||Number.isNaN(f))return fhe.create(Jde.VALUE);if(![1,2,4].includes(m)||f<0||f>4||Math.floor(d)>=Math.floor(h))return fhe.create(Jde.NUM);let g=GCe(d,h,m);return Age.create(g)}},gpe.COUPNCD],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",4)}calculate(e,t,r,n){let{isError:i,errorObject:a,variants:o}=Lve(e,t,r,null==n?Age.create(0):n);if(i)return a;let[s,l,u,c]=o,d=Nhe(s);if("number"!=typeof d)return d;let h=Nhe(l);if("number"!=typeof h)return h;let m=Math.floor(+u.getValue()),f=Math.floor(+c.getValue());if(Number.isNaN(m)||Number.isNaN(f))return fhe.create(Jde.VALUE);if(![1,2,4].includes(m)||f<0||f>4||Math.floor(d)>=Math.floor(h)||QCe(d,h,m)<0)return fhe.create(Jde.NUM);let g=YCe(d,h,m);return Age.create(g)}},gpe.COUPNUM],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",4)}calculate(e,t,r,n){let{isError:i,errorObject:a,variants:o}=Lve(e,t,r,null==n?Age.create(0):n);if(i)return a;let[s,l,u,c]=o,d=Nhe(s);if("number"!=typeof d)return d;let h=Nhe(l);if("number"!=typeof h)return h;let m=Math.floor(+u.getValue()),f=Math.floor(+c.getValue());if(Number.isNaN(m)||Number.isNaN(f))return fhe.create(Jde.VALUE);if(![1,2,4].includes(m)||f<0||f>4||Math.floor(d)>=Math.floor(h))return fhe.create(Jde.NUM);let g=QCe(d,h,m);return g<0&&(g=0),Age.create(g)}},gpe.COUPPCD],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",6),Kde(this,"maxParams",6)}calculate(e,t,r,n,i,a){let{isError:o,errorObject:s,variants:l}=Lve(e,t,r,n,i,a);if(o)return s;let[u,c,d,h,m,f]=l,g=+u.getValue(),p=+c.getValue(),v=+d.getValue(),b=+h.getValue(),C=+m.getValue(),y=+f.getValue();return Number.isNaN(g)||Number.isNaN(p)||Number.isNaN(v)||Number.isNaN(b)||Number.isNaN(C)||Number.isNaN(y)?fhe.create(Jde.VALUE):g<=0||p<=0||v<=0||b<1||C<1||b>C||b>p||C>p||![0,1].includes(y)?fhe.create(Jde.NUM):Math.trunc(b)!==b&&Math.trunc(C)!==C&&Math.trunc(b)===Math.trunc(C)?Age.create(0):this._getResult(g,p,v,b,C,y)}_getResult(e,t,r,n,i,a){let o=KCe(e,t,r,0,a),s=0,l=Math.ceil(n);1===l&&(0===a&&(s=-r),l++);let u=!1;for(let t=l;t<=i;t++){let n=1===a?$Ce(e,t-2,o,r,1):$Ce(e,t-1,o,r,0);if(0===n){u=!0;break}s+=1===a?n-o:n}return s*=e,(sC||![0,1].includes(y)?fhe.create(Jde.NUM):Math.trunc(b)!==b&&Math.trunc(C)!==C&&Math.trunc(b)===Math.trunc(C)?Age.create(0):this._getResult(g,p,v,b,C,y)}_getResult(e,t,r,n,i,a){let o=KCe(e,t,r,0,a),s=0,l=Math.ceil(n);1===l&&(s=0===a?o+r*e:o,l++);for(let t=l;t<=i;t++)s+=1===a?o-($Ce(e,t-2,o,r,1)-o)*e:o-$Ce(e,t-1,o,r,0)*e;return Age.create(s)}},gpe.CUMPRINC],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",4),Kde(this,"maxParams",5),Kde(this,"needsLocale",!0)}calculate(e,t,r,n,i){let a=null==i?Age.create(12):i;a.isNull()&&(a=Age.create(12));let o=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,a.isArray()?a.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,a.isArray()?a.getColumnCount():1),l=Wge(o,s,e,fhe.create(Jde.NA)),u=Wge(o,s,t,fhe.create(Jde.NA)),c=Wge(o,s,r,fhe.create(Jde.NA)),d=Wge(o,s,n,fhe.create(Jde.NA)),h=Wge(o,s,a,fhe.create(Jde.NA)),m=l.map((e,t,r)=>{let{isError:n,errorObject:i,variants:a}=Pve(e,u.get(t,r),c.get(t,r),d.get(t,r),h.get(t,r));if(n)return i;let[o,s,l,m,f]=a,g=+o.getValue(),p=+s.getValue(),v=+l.getValue(),b=+m.getValue(),C=Math.floor(+f.getValue());return g<0||p<0||v<=0||b<=0||Math.floor(b)>Math.floor(v)||C<1||C>12?fhe.create(Jde.NUM):(b<1&&(b=1),b=Math.floor(b),this._getResult(g,p,v,b,C,t,r))});return 1===o&&1===s?m.get(0,0):m}_getResult(e,t,r,n,i,a,o){let s,l=+(1-(t/e)**(1/r)).toFixed(3),u=e*l*i/12,c=u,d=0,h=n===r?r-1:n;for(let t=2;t<=h;t++)d=(e-c)*l,c+=d;return s=1===n?u:n===r?(e-c)*l:d,Number.isNaN(s)||!Number.isFinite(s)?fhe.create(Jde.NUM):0===a&&0===o?Age.create(s,dge(this.getLocale())):Age.create(s)}},gpe.DB],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",4),Kde(this,"maxParams",5),Kde(this,"needsLocale",!0)}calculate(e,t,r,n,i){let a=null==i?Age.create(2):i;a.isNull()&&(a=Age.create(2));let o=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,a.isArray()?a.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,a.isArray()?a.getColumnCount():1),l=Wge(o,s,e,fhe.create(Jde.NA)),u=Wge(o,s,t,fhe.create(Jde.NA)),c=Wge(o,s,r,fhe.create(Jde.NA)),d=Wge(o,s,n,fhe.create(Jde.NA)),h=Wge(o,s,a,fhe.create(Jde.NA)),m=l.map((e,t,r)=>{let{isError:n,errorObject:i,variants:a}=Pve(e,u.get(t,r),c.get(t,r),d.get(t,r),h.get(t,r));if(n)return i;let[o,s,l,m,f]=a,g=+o.getValue(),p=+s.getValue(),v=+l.getValue(),b=+m.getValue(),C=+f.getValue();if(g<0||p<0||v<=0||b<=0||b>v||C<=0)return fhe.create(Jde.NUM);let y=lye(g,p,v,b,C);return Number.isNaN(y)||!Number.isFinite(y)?fhe.create(Jde.NUM):0===t&&0===r?Age.create(y,dge(this.getLocale())):Age.create(y)});return 1===o&&1===s?m.get(0,0):m}},gpe.DDB],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",4),Kde(this,"maxParams",5)}calculate(e,t,r,n,i){let{isError:a,errorObject:o,variants:s}=Lve(e,t,r,n,null==i?Age.create(0):i);if(a)return o;let[l,u,c,d,h]=s,m=Nhe(l);if("number"!=typeof m)return m;let f=Nhe(u);if("number"!=typeof f)return f;let g=+c.getValue(),p=+d.getValue(),v=Math.floor(+h.getValue());if(Number.isNaN(g)||Number.isNaN(p)||Number.isNaN(v))return fhe.create(Jde.VALUE);if(g<=0||p<=0||v<0||v>4||Math.floor(m)>=Math.floor(f))return fhe.create(Jde.NUM);let{days:b,yearDays:C}=Ohe(m,f,v),y=(p-g)/p*(C/b);return Age.create(y)}},gpe.DISC],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let{isError:r,errorObject:n,variants:i}=Lve(e,t);if(r)return n;let[a,o]=i,s=+a.getValue(),l=Math.floor(+o.getValue());if(Number.isNaN(s)||Number.isNaN(l))return fhe.create(Jde.VALUE);if(l<0)return fhe.create(Jde.NUM);if(l>=0&&l<1)return fhe.create(Jde.DIV_BY_ZERO);l=Number.parseInt(`${l}`,10);let u=Number.parseInt(`${s}`,10);u+=s%1*10**Math.ceil(Math.log(l)/Math.LN10)/l;let c=10**(Math.ceil(Math.log(l)/Math.LN2)+1);return u=Math.round(u*c)/c,Age.create(u)}},gpe.DOLLARDE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let{isError:r,errorObject:n,variants:i}=Lve(e,t);if(r)return n;let[a,o]=i,s=+a.getValue(),l=Math.floor(+o.getValue());if(Number.isNaN(s)||Number.isNaN(l))return fhe.create(Jde.VALUE);if(l<0)return fhe.create(Jde.NUM);if(l>=0&&l<1)return fhe.create(Jde.DIV_BY_ZERO);l=Number.parseInt(`${l}`,10);let u=Number.parseInt(`${s}`,10);return u+=s%1*10**-Math.ceil(Math.log(l)/Math.LN10)*l,Age.create(u)}},gpe.DOLLARFR],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",5),Kde(this,"maxParams",6)}calculate(e,t,r,n,i,a){let o=null==a?Age.create(0):a;o.isNull()&&(o=Age.create(0));let{isError:s,errorObject:l,variants:u}=kve(e,t,r,n,i,o);if(s)return l;let[c,d,h,m,f,g]=u,p=Nhe(c);if("number"!=typeof p)return p;let v=Nhe(d);if("number"!=typeof v)return v;let b=+h.getValue(),C=+m.getValue(),y=Math.floor(+f.getValue()),_=Math.floor(+g.getValue());if(Number.isNaN(b)||Number.isNaN(C)||Number.isNaN(y)||Number.isNaN(_))return fhe.create(Jde.VALUE);if(b<0||C<0||![1,2,4].includes(y)||_<0||_>4||Math.floor(p)>=Math.floor(v)||p<=0||v<=366)return fhe.create(Jde.NUM);let w=ZCe(p,v,b,C,y,_);return Age.create(w)}},gpe.DURATION],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let{isError:r,errorObject:n,variants:i}=Lve(e,t);if(r)return n;let[a,o]=i,s=+a.getValue(),l=Math.floor(+o.getValue());if(Number.isNaN(s)||Number.isNaN(l))return fhe.create(Jde.VALUE);if(s<=0||l<1)return fhe.create(Jde.NUM);l=Number.parseInt(`${l}`,10);let u=(1+s/l)**l-1;return Age.create(u)}},gpe.EFFECT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",5),Kde(this,"needsLocale",!0)}calculate(e,t,r,n,i){let a=null==n?Age.create(0):n,o=null==i?Age.create(0):i,s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),u=Wge(s,l,e,fhe.create(Jde.NA)),c=Wge(s,l,t,fhe.create(Jde.NA)),d=Wge(s,l,r,fhe.create(Jde.NA)),h=Wge(s,l,a,fhe.create(Jde.NA)),m=Wge(s,l,o,fhe.create(Jde.NA)),f=u.map((e,t,r)=>{let{isError:n,errorObject:i,variants:a}=Pve(e,c.get(t,r),d.get(t,r),h.get(t,r),m.get(t,r));if(n)return i;let[o,s,l,u,f]=a,g=$Ce(+o.getValue(),+s.getValue(),+l.getValue(),+u.getValue(),+f.getValue()?1:0);return Number.isNaN(g)||!Number.isFinite(g)?fhe.create(Jde.NUM):0===t&&0===r?Age.create(g,dge(this.getLocale())):Age.create(g)});return 1===s&&1===l?f.get(0,0):f}},gpe.FV],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let{isError:r,errorObject:n,variants:i}=Lve(e);if(r)return n;let[a]=i,o=+a.getValue();if(Number.isNaN(o))return fhe.create(Jde.VALUE);let s=o;if(t.isArray()){let e=t.getArrayValue().flat();for(let t=0;t4||Math.floor(m)>=Math.floor(f))return fhe.create(Jde.NUM);let{days:b,yearDays:C}=Ohe(m,f,v),y=(p-g)/g*(C/b);return Age.create(y)}},gpe.INTRATE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",4),Kde(this,"maxParams",6),Kde(this,"needsLocale",!0)}calculate(e,t,r,n,i,a){let o=null==i?Age.create(0):i,s=null==a?Age.create(0):a,l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,o.isArray()?o.getRowCount():1,s.isArray()?s.getRowCount():1),u=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,o.isArray()?o.getColumnCount():1,s.isArray()?s.getColumnCount():1),c=Wge(l,u,e,fhe.create(Jde.NA)),d=Wge(l,u,t,fhe.create(Jde.NA)),h=Wge(l,u,r,fhe.create(Jde.NA)),m=Wge(l,u,n,fhe.create(Jde.NA)),f=Wge(l,u,o,fhe.create(Jde.NA)),g=Wge(l,u,s,fhe.create(Jde.NA)),p=c.map((e,t,r)=>{let{isError:n,errorObject:i,variants:a}=Pve(e,d.get(t,r),h.get(t,r),m.get(t,r),f.get(t,r),g.get(t,r));if(n)return i;let[o,s,l,u,c,p]=a,v=+o.getValue(),b=+s.getValue(),C=+l.getValue(),y=+u.getValue(),_=+c.getValue(),w=+p.getValue();if(b<1||Math.floor(b)>Math.ceil(C))return fhe.create(Jde.NUM);let E=JCe(v,b,C,y,_,w?1:0);return Number.isNaN(E)||!Number.isFinite(E)?fhe.create(Jde.NUM):0===t&&0===r?Age.create(E,dge(this.getLocale())):Age.create(E)});return 1===l&&1===u?p.get(0,0):p}},gpe.IPMT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",2)}calculate(e,t){let r=null==t?Age.create(.1):t;return r.isNull()&&(r=Age.create(.1)),r.isArray()?r.map((t,r,n)=>this._handleSingleObject(e,t,r,n)):this._handleSingleObject(e,r)}_handleSingleObject(e,t,r=0,n=0){if(e.isError())return e;if(t.isError())return t;if(e.isNull())return fhe.create(Jde.VALUE);if(!e.isArray())return fhe.create(Jde.NUM);let{_values:i,valuesHasError:a}=this._getValues(e);if(a)return fhe.create(Jde.VALUE);let o=t;if(o.isString()&&(o=o.convertToNumberObjectValue(),o.isError()))return o;let s=+o.getValue(),{positive:l,negative:u}=this._checkValues(i);if(!l||!u)return fhe.create(Jde.NUM);let c=oye(s,e=>eye(e,i));return"number"==typeof c?0===r&&0===n?Age.create(c,"0%"):Age.create(c):c}_getValues(e){let t=[],r=!1;return e.iterator(e=>{let n=e;if(n.isError())return r=!0,!1;if(n.isNull()||n.isBoolean()||n.isString()&&""===n.getValue())return!0;let i=+n.getValue();if(Number.isNaN(i))return!0;t.push(i)}),{_values:t,valuesHasError:r}}_checkValues(e){let t=!1,r=!1;for(let n=0;n0&&(t=!0),e[n]<0&&(r=!0);return{positive:t,negative:r}}},gpe.IRR],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",4),Kde(this,"maxParams",4)}calculate(e,t,r,n){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=Wge(i,a,e,fhe.create(Jde.NA)),s=Wge(i,a,t,fhe.create(Jde.NA)),l=Wge(i,a,r,fhe.create(Jde.NA)),u=Wge(i,a,n,fhe.create(Jde.NA)),c=o.map((e,t,r)=>{let{isError:n,errorObject:i,variants:a}=Pve(e,s.get(t,r),l.get(t,r),u.get(t,r));if(n)return i;let[o,c,d,h]=a,m=+o.getValue(),f=+c.getValue(),g=+d.getValue(),p=+h.getValue();if(0===g)return fhe.create(Jde.DIV_BY_ZERO);let v=p*m*(f/g-1);return Age.create(v)});return 1===i&&1===a?c.get(0,0):c}},gpe.ISPMT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",5),Kde(this,"maxParams",6)}calculate(e,t,r,n,i,a){let o=null==a?Age.create(0):a;o.isNull()&&(o=Age.create(0));let{isError:s,errorObject:l,variants:u}=kve(e,t,r,n,i,o);if(s)return l;let[c,d,h,m,f,g]=u,p=Nhe(c);if("number"!=typeof p)return p;let v=Nhe(d);if("number"!=typeof v)return v;let b=+h.getValue(),C=+m.getValue(),y=Math.floor(+f.getValue()),_=Math.floor(+g.getValue());if(Number.isNaN(b)||Number.isNaN(C)||Number.isNaN(y)||Number.isNaN(_))return fhe.create(Jde.VALUE);if(b<0||C<0||![1,2,4].includes(y)||_<0||_>4||Math.floor(p)>=Math.floor(v))return fhe.create(Jde.NUM);let w=ZCe(p,v,b,C,y,_);return w/=1+C/y,Age.create(w)}},gpe.MDURATION],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",3)}calculate(e,t,r){let{_values:n,numberValues:i,positive:a,negative:o}=this._getValues(e),s=Math.max(t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),l=Math.max(t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),u=Wge(s,l,t,fhe.create(Jde.NA)),c=Wge(s,l,r,fhe.create(Jde.NA)),d=u.map((t,r,s)=>{let l=c.get(r,s);if(e.isError())return e;if(l.isError())return l;if(n.isError())return n;if(!a||!o)return fhe.create(Jde.DIV_BY_ZERO);let u=+t.getValue(),d=+l.getValue();if(Number.isNaN(u)||Number.isNaN(d))return fhe.create(Jde.VALUE);if(-1===d)return fhe.create(Jde.DIV_BY_ZERO);let h=this._getResult(i,u,d);return 0===r&&0===s?Age.create(h,"0%"):Age.create(h)});return 1===s&&1===l?d.get(0,0):d}_getValues(e){let t=e,r=[],n=!1,i=!1;if(!e.isError())if(e.isNull())t=fhe.create(Jde.VALUE);else if(e.isArray()){let{numberValues:a,valuesHasError:o,errorObject:s,positive:l,negative:u}=this._checkValues(e);o&&(t=s),r=a,n=l,i=u}else t=fhe.create(Jde.DIV_BY_ZERO);return{_values:t,numberValues:r,positive:n,negative:i}}_checkValues(e){let t=[],r=!1,n=fhe.create(Jde.VALUE),i=!1,a=!1;return e.iterator(e=>{let o=e;if(o.isError())return r=!0,n=o,!1;if(o.isNull()||o.isBoolean()||o.isString()&&""===o.getValue())return!0;let s=+o.getValue();if(Number.isNaN(s))return!0;s>0&&(i=!0),s<0&&(a=!0),t.push(s)}),{numberValues:t,valuesHasError:r,errorObject:n,positive:i,negative:a}}_getResult(e,t,r){let n=e.length,i=[],a=[];for(let t=0;t0?a.push(e[t]):e[t]<0&&i.push(e[t]);return(-this._npv(r,e,"positive")*(1+r)**n/(this._npv(t,e,"negative")*(1+t)))**(1/(n-1))-1}_npv(e,t,r){let n=0;for(let i=1;i<=t.length;i++){let a=t[i-1];("positive"===r&&a>0||"negative"===r&&a<0)&&(n+=a/(1+e)**i)}return n}},gpe.MIRR],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let{isError:r,errorObject:n,variants:i}=Lve(e,t);if(r)return n;let[a,o]=i,s=+a.getValue(),l=Math.floor(+o.getValue());if(Number.isNaN(s)||Number.isNaN(l))return fhe.create(Jde.VALUE);if(s<=0||l<1)return fhe.create(Jde.NUM);l=Number.parseInt(`${l}`,10);let u=((s+1)**(1/l)-1)*l;return Age.create(u)}},gpe.NOMINAL],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",5)}calculate(e,t,r,n,i){let a=null==n?Age.create(0):n,o=null==i?Age.create(0):i,s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),u=Wge(s,l,e,fhe.create(Jde.NA)),c=Wge(s,l,t,fhe.create(Jde.NA)),d=Wge(s,l,r,fhe.create(Jde.NA)),h=Wge(s,l,a,fhe.create(Jde.NA)),m=Wge(s,l,o,fhe.create(Jde.NA)),f=u.map((e,t,r)=>{let{isError:n,errorObject:i,variants:a}=Pve(e,c.get(t,r),d.get(t,r),h.get(t,r),m.get(t,r));if(n)return i;let o,[s,l,u,f,g]=a,p=+s.getValue(),v=+l.getValue(),b=+u.getValue(),C=+f.getValue(),y=+g.getValue();if(y=y?1:0,0===p&&0===v)return fhe.create(Jde.DIV_BY_ZERO);if(0===p)o=-(b+C)/v;else{let e=v*(1+p*y)-C*p,t=b*p+v*(1+p*y);o=Math.log(e/t)/Math.log(1+p)}return Number.isNaN(o)||!Number.isFinite(o)?fhe.create(Jde.NUM):Age.create(o)});return 1===s&&1===l?f.get(0,0):f}},gpe.NPER],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",255),Kde(this,"needsLocale",!0)}calculate(e,...t){if(e.isError())return e;let{isError:r,errorObject:n,values:i}=this._getValues(t);return e.isArray()?e.map((e,t,a)=>this._handleSingleObject(e,r,n,i,t,a)):this._handleSingleObject(e,r,n,i)}_handleSingleObject(e,t,r,n,i=0,a=0){let o=e;if(o.isString()&&(o=o.convertToNumberObjectValue()),o.isError())return o;if(t)return r;let s=eye(+e.getValue(),n);return Number.isNaN(s)||Math.abs(s)===1/0?fhe.create(Jde.DIV_BY_ZERO):0===i&&0===a?Age.create(s,dge(this.getLocale())):Age.create(s)}_getValues(e){let t=[];for(let r=0;r{let i=n;if(i.isError())return e=!0,r=i,!1;if(i.isNull()||i.isBoolean()||i.isString()&&""===i.getValue())return!0;let a=+i.getValue();if(Number.isNaN(a))return!0;t.push(a)}),e)return{isError:e,errorObject:r}}else{let e=+n.getValue();if(Number.isNaN(e))return{isError:!0,errorObject:fhe.create(Jde.VALUE)};t.push(e)}}return{isError:!1,values:t}}},gpe.NPV],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",8),Kde(this,"maxParams",9)}calculate(e,t,r,n,i,a,o,s,l){let u=null==l?Age.create(0):l;u.isNull()&&(u=Age.create(0));let{isError:c,errorObject:d,variants:h}=kve(e,t,r,n,i,a,o,s,u);if(c)return d;let[m,f,g,p,v,b,C,y,_]=h,w=Nhe(m);if("number"!=typeof w)return w;let E=Nhe(f);if("number"!=typeof E)return E;let S=Nhe(g);if("number"!=typeof S)return S;let A=Nhe(p);if("number"!=typeof A)return A;let I=+v.getValue(),R=+b.getValue(),x=+C.getValue(),T=Math.floor(+y.getValue()),N=Math.floor(+_.getValue());if(Number.isNaN(I)||Number.isNaN(R)||Number.isNaN(x)||Number.isNaN(T)||Number.isNaN(N))return fhe.create(Jde.VALUE);if(I<0||R<0||x<=0||![1,2,4].includes(T)||N<0||N>4||!this._validDate(E,A,w,S,T))return fhe.create(Jde.NUM);let M=tye(w,E,S,A,I,R,x,T,N);return Age.create(M)}_validDate(e,t,r,n,i){return this._getDateCorrectOrder(e,t,r,n)&&nye(e,t,i)&&iye(n,e,i)}_getDateCorrectOrder(e,t,r,n){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)&&Math.floor(r)>Math.floor(n)}},gpe.ODDFPRICE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",8),Kde(this,"maxParams",9)}calculate(e,t,r,n,i,a,o,s,l){let u=null==l?Age.create(0):l;u.isNull()&&(u=Age.create(0));let{isError:c,errorObject:d,variants:h}=kve(e,t,r,n,i,a,o,s,u);if(c)return d;let[m,f,g,p,v,b,C,y,_]=h,w=Nhe(m);if("number"!=typeof w)return w;let E=Nhe(f);if("number"!=typeof E)return E;let S=Nhe(g);if("number"!=typeof S)return S;let A=Nhe(p);if("number"!=typeof A)return A;let I=+v.getValue(),R=+b.getValue(),x=+C.getValue(),T=Math.floor(+y.getValue()),N=Math.floor(+_.getValue());return Number.isNaN(I)||Number.isNaN(R)||Number.isNaN(x)||Number.isNaN(T)||Number.isNaN(N)?fhe.create(Jde.VALUE):I<0||R<=0||x<=0||![1,2,4].includes(T)||N<0||N>4||!this._validDate(E,A,w,S,T)?fhe.create(Jde.NUM):this._getResult(w,E,S,A,I,R,x,T,N)}_validDate(e,t,r,n,i){return this._getDateCorrectOrder(e,t,r,n)&&nye(e,t,i)&&iye(n,e,i)}_getDateCorrectOrder(e,t,r,n){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)&&Math.floor(r)>Math.floor(n)}_getResult(e,t,r,n,i,a,o,s,l){let{days:u}=Ohe(e,t,l);function c(u){return a-tye(e,t,r,n,i,u,o,s,l)}let d=oye((i*u*100-(a-100))/(.25*(a-100)*(1+2*u)+100*u),e=>c(e));return"number"==typeof d?Age.create(d):d}},gpe.ODDFYIELD],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",7),Kde(this,"maxParams",8)}calculate(e,t,r,n,i,a,o,s){let l=null==s?Age.create(0):s;l.isNull()&&(l=Age.create(0));let{isError:u,errorObject:c,variants:d}=kve(e,t,r,n,i,a,o,l);if(u)return c;let[h,m,f,g,p,v,b,C]=d,y=Nhe(h);if("number"!=typeof y)return y;let _=Nhe(m);if("number"!=typeof _)return _;let w=Nhe(f);if("number"!=typeof w)return w;let E=+g.getValue(),S=+p.getValue(),A=+v.getValue(),I=Math.floor(+b.getValue()),R=Math.floor(+C.getValue());if(Number.isNaN(E)||Number.isNaN(S)||Number.isNaN(A)||Number.isNaN(I)||Number.isNaN(R))return fhe.create(Jde.VALUE);if(E<0||S<0||A<=0||![1,2,4].includes(I)||R<0||R>4||!this._validDate(_,y,w,I))return fhe.create(Jde.NUM);let x=this._getResult(y,_,w,E,S,A,I,R);return Age.create(x)}_validDate(e,t,r,n){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)&&iye(r,e,n)}_getResult(e,t,r,n,i,a,o,s){let l=this._getCoupDate(t,r,o),u=this._getFrac(r,e,l,o,s),c=this._getFrac(r,t,l,o,s),d=this._getFrac(e,t,l,o,s);return(a*o+100*n*(c-u*(1+i*d/o)))/(i*d+o)}_getCoupDate(e,t,r){let n=Che(e),i=Che(t);for(i.setUTCFullYear(n.getUTCFullYear()),i>n&&i.setUTCFullYear(i.getUTCFullYear()-1);ia;)s.setUTCMonth(s.getUTCMonth()-12/n);let l=vhe(s);s.setUTCMonth(s.getUTCMonth()+12/n);let u=vhe(s);if(u>=t){let{days:r}=Ohe(e,t,i);return r/qCe(l,u,n,i)}let{days:c}=Ohe(e,u,i),d=c/qCe(l,u,n,i),h=Che(u),m=Che(u);for(m.setUTCMonth(m.getUTCMonth()+12/n);m4||!this._validDate(_,y,w,I))return fhe.create(Jde.NUM);let x=this._getResult(y,_,w,E,S,A,I,R);return Age.create(x)}_validDate(e,t,r,n){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)&&iye(r,e,n)}_getResult(e,t,r,n,i,a,o,s){let l=this._getCoupDate(t,r,o),u=this._getFrac(r,e,l,o,s),c=this._getFrac(r,t,l,o,s),d=this._getFrac(e,t,l,o,s);return(o*(a-i)+100*n*(c-u))/(d*i+100*n*u*d/o)}_getCoupDate(e,t,r){let n=Che(e),i=Che(t);for(i.setUTCFullYear(n.getUTCFullYear()),i>n&&i.setUTCFullYear(i.getUTCFullYear()-1);ia;)s.setUTCMonth(s.getUTCMonth()-12/n);let l=vhe(s);s.setUTCMonth(s.getUTCMonth()+12/n);let u=vhe(s);if(u>=t){let{days:r}=Ohe(e,t,i);return r/qCe(l,u,n,i)}let{days:c}=Ohe(e,u,i),d=c/qCe(l,u,n,i),h=Che(u),m=Che(u);for(m.setUTCMonth(m.getUTCMonth()+12/n);m{let{isError:n,errorObject:i,variants:a}=Pve(e,o.get(t,r),s.get(t,r));if(n)return i;let[l,u,c]=a,d=+l.getValue(),h=+u.getValue(),m=+c.getValue();if(d<=-1)return fhe.create(Jde.NUM);let f=(Math.log(m)-Math.log(h))/Math.log(1+d);return Number.isNaN(f)||!Number.isFinite(f)?fhe.create(Jde.NUM):Age.create(f)});return 1===n&&1===i?l.get(0,0):l}},gpe.PDURATION],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",5),Kde(this,"needsLocale",!0)}calculate(e,t,r,n,i){let a=null==n?Age.create(0):n,o=null==i?Age.create(0):i,s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),u=Wge(s,l,e,fhe.create(Jde.NA)),c=Wge(s,l,t,fhe.create(Jde.NA)),d=Wge(s,l,r,fhe.create(Jde.NA)),h=Wge(s,l,a,fhe.create(Jde.NA)),m=Wge(s,l,o,fhe.create(Jde.NA)),f=u.map((e,t,r)=>{let{isError:n,errorObject:i,variants:a}=Pve(e,c.get(t,r),d.get(t,r),h.get(t,r),m.get(t,r));if(n)return i;let[o,s,l,u,f]=a,g=+o.getValue(),p=+s.getValue(),v=+l.getValue(),b=+u.getValue(),C=+f.getValue();if(g<=-1)return fhe.create(Jde.NUM);let y=KCe(g,p,v,b,C?1:0);return Number.isNaN(y)||!Number.isFinite(y)?fhe.create(Jde.NUM):0===t&&0===r?Age.create(y,dge(this.getLocale())):Age.create(y)});return 1===s&&1===l?f.get(0,0):f}},gpe.PMT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",4),Kde(this,"maxParams",6),Kde(this,"needsLocale",!0)}calculate(e,t,r,n,i,a){let o=null==i?Age.create(0):i,s=null==a?Age.create(0):a,l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,o.isArray()?o.getRowCount():1,s.isArray()?s.getRowCount():1),u=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,o.isArray()?o.getColumnCount():1,s.isArray()?s.getColumnCount():1),c=Wge(l,u,e,fhe.create(Jde.NA)),d=Wge(l,u,t,fhe.create(Jde.NA)),h=Wge(l,u,r,fhe.create(Jde.NA)),m=Wge(l,u,n,fhe.create(Jde.NA)),f=Wge(l,u,o,fhe.create(Jde.NA)),g=Wge(l,u,s,fhe.create(Jde.NA)),p=c.map((e,t,r)=>{let{isError:n,errorObject:i,variants:a}=Pve(e,d.get(t,r),h.get(t,r),m.get(t,r),f.get(t,r),g.get(t,r));if(n)return i;let[o,s,l,u,c,p]=a,v=+o.getValue(),b=+s.getValue(),C=+l.getValue(),y=+u.getValue(),_=+c.getValue(),w=+p.getValue();if(b<1||Math.floor(b)>Math.ceil(C)||b-C>=1)return fhe.create(Jde.NUM);let E=KCe(v,C,y,_,w?1:0)-JCe(v,b,C,y,_,w?1:0);return Number.isNaN(E)||!Number.isFinite(E)?fhe.create(Jde.NUM):0===t&&0===r?Age.create(E,dge(this.getLocale())):Age.create(E)});return 1===l&&1===u?p.get(0,0):p}},gpe.PPMT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",6),Kde(this,"maxParams",7)}calculate(e,t,r,n,i,a,o){let s=null==o?Age.create(0):o;s.isNull()&&(s=Age.create(0));let{isError:l,errorObject:u,variants:c}=kve(e,t,r,n,i,a,s);if(l)return u;let[d,h,m,f,g,p,v]=c,b=Nhe(d);if("number"!=typeof b)return b;let C=Nhe(h);if("number"!=typeof C)return C;let y=+m.getValue(),_=+f.getValue(),w=+g.getValue(),E=Math.floor(+p.getValue()),S=Math.floor(+v.getValue());if(Number.isNaN(y)||Number.isNaN(_)||Number.isNaN(w)||Number.isNaN(E)||Number.isNaN(S))return fhe.create(Jde.VALUE);if(y<0||_<0||w<=0||![1,2,4].includes(E)||S<0||S>4||b>=C||!iye(b,C,E))return fhe.create(Jde.NUM);let A=sye(b,C,y,_,w,E,S);return Age.create(A)}},gpe.PRICE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",4),Kde(this,"maxParams",5)}calculate(e,t,r,n,i){let a=null==i?Age.create(0):i;a.isNull()&&(a=Age.create(0));let{isError:o,errorObject:s,variants:l}=kve(e,t,r,n,a);if(o)return s;let[u,c,d,h,m]=l,f=Nhe(u);if("number"!=typeof f)return f;let g=Nhe(c);if("number"!=typeof g)return g;let p=+d.getValue(),v=+h.getValue(),b=Math.floor(+m.getValue());if(Number.isNaN(p)||Number.isNaN(v)||Number.isNaN(b))return fhe.create(Jde.VALUE);if(p<=0||v<=0||b<0||b>4||f>=g)return fhe.create(Jde.NUM);let{days:C,yearDays:y}=Ohe(f,g,b),_=v-p*v*C/y;return Age.create(_)}},gpe.PRICEDISC],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",5),Kde(this,"maxParams",6)}calculate(e,t,r,n,i,a){let o=null==a?Age.create(0):a;o.isNull()&&(o=Age.create(0));let{isError:s,errorObject:l,variants:u}=kve(e,t,r,n,i,o);if(s)return l;let[c,d,h,m,f,g]=u,p=Nhe(c);if("number"!=typeof p)return p;let v=Nhe(d);if("number"!=typeof v)return v;let b=Nhe(h);if("number"!=typeof b)return b;let C=+m.getValue(),y=+f.getValue(),_=Math.floor(+g.getValue());if(Number.isNaN(C)||Number.isNaN(y)||Number.isNaN(_))return fhe.create(Jde.VALUE);let w=this._getDateCorrectOrder(v,p,b);if(C<0||y<0||_<0||_>4||!w)return fhe.create(Jde.NUM);let E=Uhe(p,_),{days:S}=Ohe(p,v,_),{days:A}=Ohe(b,v,_),{days:I}=Ohe(b,p,_),R=(100+A/E*C*100)/(1+S/E*y)-I/E*C*100;return Age.create(R)}_getDateCorrectOrder(e,t,r){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)}},gpe.PRICEMAT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",5),Kde(this,"needsLocale",!0)}calculate(e,t,r,n,i){let a=null==n?Age.create(0):n,o=null==i?Age.create(0):i,s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),u=Wge(s,l,e,fhe.create(Jde.NA)),c=Wge(s,l,t,fhe.create(Jde.NA)),d=Wge(s,l,r,fhe.create(Jde.NA)),h=Wge(s,l,a,fhe.create(Jde.NA)),m=Wge(s,l,o,fhe.create(Jde.NA)),f=u.map((e,t,r)=>{let{isError:n,errorObject:i,variants:a}=Pve(e,c.get(t,r),d.get(t,r),h.get(t,r),m.get(t,r));if(n)return i;let[o,s,l,u,f]=a,g=+o.getValue(),p=+s.getValue(),v=+l.getValue(),b=+u.getValue(),C=+f.getValue();C=C?1:0;let y=0===g?-v*p-b:((1-(1+g)**p)/g*v*(1+g*C)-b)/(1+g)**p;return Number.isNaN(y)||!Number.isFinite(y)?fhe.create(Jde.NUM):0===t&&0===r?Age.create(y,dge(this.getLocale())):Age.create(y)});return 1===s&&1===l?f.get(0,0):f}},gpe.PV],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",6)}calculate(e,t,r,n,i,a){let o=null==n?Age.create(0):n,s=null==i?Age.create(0):i,l=null==a?Age.create(.1):a,u=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,o.isArray()?o.getRowCount():1,s.isArray()?s.getRowCount():1,l.isArray()?l.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,o.isArray()?o.getColumnCount():1,s.isArray()?s.getColumnCount():1,l.isArray()?l.getColumnCount():1),d=Wge(u,c,e,fhe.create(Jde.NA)),h=Wge(u,c,t,fhe.create(Jde.NA)),m=Wge(u,c,r,fhe.create(Jde.NA)),f=Wge(u,c,o,fhe.create(Jde.NA)),g=Wge(u,c,s,fhe.create(Jde.NA)),p=Wge(u,c,l,fhe.create(Jde.NA)),v=d.map((e,t,r)=>{let{isError:n,errorObject:i,variants:a}=Pve(e,h.get(t,r),m.get(t,r),f.get(t,r),g.get(t,r),p.get(t,r));if(n)return i;let[o,s,l,u,c,d]=a,v=+o.getValue(),b=+s.getValue(),C=+l.getValue(),y=+u.getValue(),_=+c.getValue(),w=+d.getValue();return _=_?1:0,v<=0||b>=0&&C>=0&&y>=0||b<=0&&C<=0&&y<=0?fhe.create(Jde.NUM):this._getResult(v,b,C,y,_,w,t,r)});return 1===u&&1===c?v.get(0,0):v}_getResult(e,t,r,n,i,a,o,s){if(Math.abs(t)<1e-14)return this._computeSimpleGrowthRate(e,r,n,o,s);let l=a,u=1/0;for(let a=0;a<100;a++){if(l<=-1)return fhe.create(Jde.NUM);let{value:a,derivative:o}=this._evaluateRateFunction(l,e,t,r,n,i,1e-10),s=Math.abs(a);if(s<1e-10||Math.abs(o)<1e-14)break;l-=this._getAdaptiveDampedStep(a,o,s,u),u=s}return!Number.isFinite(l)||l<=-1?fhe.create(Jde.NUM):Age.create(l,0===o&&0===s?"0%":void 0)}_computeSimpleGrowthRate(e,t,r,n,i){if(Math.sign(t)===Math.sign(r))return fhe.create(Jde.NUM);let a=(r/-t)**(1/e)-1;return Age.create(a,0===n&&0===i?"0%":void 0)}_evaluateRateFunction(e,t,r,n,i,a,o){let s,l,u;if(Math.abs(e).001||r>=.9*n?Math.max(Math.min(i,5),-5):Math.max(Math.min(i,.5),-.5)}},gpe.RATE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",4),Kde(this,"maxParams",5)}calculate(e,t,r,n,i){let a=null==i?Age.create(0):i;a.isNull()&&(a=Age.create(0));let{isError:o,errorObject:s,variants:l}=kve(e,t,r,n,a);if(o)return s;let[u,c,d,h,m]=l,f=Nhe(u);if("number"!=typeof f)return f;let g=Nhe(c);if("number"!=typeof g)return g;let p=+d.getValue(),v=+h.getValue(),b=Math.floor(+m.getValue());if(Number.isNaN(p)||Number.isNaN(v)||Number.isNaN(b))return fhe.create(Jde.VALUE);if(p<=0||v<=0||b<0||b>4||f>=g)return fhe.create(Jde.NUM);let{days:C,yearDays:y}=Ohe(f,g,b),_=p/(1-v*C/y);return _<0?fhe.create(Jde.NUM):Age.create(_)}},gpe.RECEIVED],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",6)}calculate(e,t,r){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=Wge(n,i,e,fhe.create(Jde.NA)),o=Wge(n,i,t,fhe.create(Jde.NA)),s=Wge(n,i,r,fhe.create(Jde.NA)),l=a.map((e,t,r)=>{let{isError:n,errorObject:i,variants:a}=Pve(e,o.get(t,r),s.get(t,r));if(n)return i;let[l,u,c]=a,d=+l.getValue(),h=+u.getValue(),m=+c.getValue();if(d<=0)return fhe.create(Jde.NUM);if(0===h&&0===m)return Age.create(0);let f=(m/h)**(1/d)-1;return Number.isNaN(f)||!Number.isFinite(f)||m/h<0?fhe.create(Jde.NUM):Age.create(f)});return 1===n&&1===i?l.get(0,0):l}},gpe.RRI],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",3),Kde(this,"needsLocale",!0)}calculate(e,t,r){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=Wge(n,i,e,fhe.create(Jde.NA)),o=Wge(n,i,t,fhe.create(Jde.NA)),s=Wge(n,i,r,fhe.create(Jde.NA)),l=a.map((e,t,r)=>{let n=o.get(t,r),i=s.get(t,r);if(n.isError())return n;if(i.isError())return i;let a=+e.getValue(),l=+n.getValue(),u=+i.getValue();if(Number.isNaN(a)||Number.isNaN(l)||Number.isNaN(u))return fhe.create(Jde.VALUE);if(0===u)return fhe.create(Jde.DIV_BY_ZERO);let c=(a-l)/u;return 0===t&&0===r?Age.create(c,dge(this.getLocale())):Age.create(c)});return 1===n&&1===i?l.get(0,0):l}},gpe.SLN],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",4),Kde(this,"maxParams",4),Kde(this,"needsLocale",!0)}calculate(e,t,r,n){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=Wge(i,a,e,fhe.create(Jde.NA)),s=Wge(i,a,t,fhe.create(Jde.NA)),l=Wge(i,a,r,fhe.create(Jde.NA)),u=Wge(i,a,n,fhe.create(Jde.NA)),c=o.map((e,t,r)=>{let n=s.get(t,r),i=l.get(t,r),a=u.get(t,r);if(n.isError())return n;if(i.isError())return i;if(a.isError())return a;let o=+e.getValue(),c=+n.getValue(),d=+i.getValue(),h=+a.getValue();if(Number.isNaN(o)||Number.isNaN(c)||Number.isNaN(d)||Number.isNaN(h))return fhe.create(Jde.VALUE);if(c<0||d<=0||h>d)return fhe.create(Jde.NUM);let m=(o-c)*(d-h+1)*2/(d*(d+1));return 0===t&&0===r?Age.create(m,dge(this.getLocale())):Age.create(m)});return 1===i&&1===a?c.get(0,0):c}},gpe.SYD],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",3)}calculate(e,t,r){let{isError:n,errorObject:i,variants:a}=kve(e,t,r);if(n)return i;let[o,s,l]=a,u=Nhe(o);if("number"!=typeof u)return u;let c=Nhe(s);if("number"!=typeof c)return c;let d=+l.getValue();if(Number.isNaN(d))return fhe.create(Jde.VALUE);if(d<=0||u>=c)return fhe.create(Jde.NUM);let h=Math.floor(c)-Math.floor(u);if(h>Dhe(Che(u).getUTCFullYear()))return fhe.create(Jde.NUM);let m=365*d/(360-d*h);if(h>182){let e=100*(1-d*h/360),t=h/365;if(m=(-t+Math.sqrt(t*t-(2*t-1)*(1-100/e)))/(t-.5),Number.isNaN(m))return fhe.create(Jde.NUM)}return m<0?fhe.create(Jde.NUM):Age.create(m)}},gpe.TBILLEQ],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",3),Kde(this,"needsLocale",!0)}calculate(e,t,r){let{isError:n,errorObject:i,variants:a}=kve(e,t,r);if(n)return i;let[o,s,l]=a,u=Nhe(o);if("number"!=typeof u)return u;let c=Nhe(s);if("number"!=typeof c)return c;let d=+l.getValue();if(Number.isNaN(d))return fhe.create(Jde.VALUE);if(d<=0||u>=c)return fhe.create(Jde.NUM);let h=Math.floor(c)-Math.floor(u);if(h>Dhe(Che(u).getUTCFullYear()))return fhe.create(Jde.NUM);let m=100*(1-d*h/360);return m<0?fhe.create(Jde.NUM):Age.create(m,dge(this.getLocale()))}},gpe.TBILLPRICE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",3)}calculate(e,t,r){let{isError:n,errorObject:i,variants:a}=kve(e,t,r);if(n)return i;let[o,s,l]=a,u=Nhe(o);if("number"!=typeof u)return u;let c=Nhe(s);if("number"!=typeof c)return c;let d=+l.getValue();if(Number.isNaN(d))return fhe.create(Jde.VALUE);if(d<=0||u>=c)return fhe.create(Jde.NUM);let h=Math.floor(c)-Math.floor(u);if(h>Dhe(Che(u).getUTCFullYear()))return fhe.create(Jde.NUM);let m=(100-d)/d*360/h;return Age.create(m)}},gpe.TBILLYIELD],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",5),Kde(this,"maxParams",7),Kde(this,"needsLocale",!0)}calculate(e,t,r,n,i,a,o){let s=null==a?Age.create(2):a;s.isNull()&&(s=Age.create(2));let l=null==o?Sge.create(!1):o;l.isNull()&&(l=Sge.create(!1));let u=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,i.isArray()?i.getRowCount():1,s.isArray()?s.getRowCount():1,l.isArray()?l.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,i.isArray()?i.getColumnCount():1,s.isArray()?s.getColumnCount():1,l.isArray()?l.getColumnCount():1),d=Wge(u,c,e,fhe.create(Jde.NA)),h=Wge(u,c,t,fhe.create(Jde.NA)),m=Wge(u,c,r,fhe.create(Jde.NA)),f=Wge(u,c,n,fhe.create(Jde.NA)),g=Wge(u,c,i,fhe.create(Jde.NA)),p=Wge(u,c,s,fhe.create(Jde.NA)),v=Wge(u,c,l,fhe.create(Jde.NA));return this._getResultArray(d,h,m,f,g,p,v,u,c)}_getResultArray(e,t,r,n,i,a,o,s,l){let u=e.map((e,s,l)=>{let{isError:u,errorObject:c,variants:d}=Pve(e,t.get(s,l),r.get(s,l),n.get(s,l),i.get(s,l),a.get(s,l),o.get(s,l));if(u)return c;let[h,m,f,g,p,v,b]=d,C=+h.getValue(),y=+m.getValue(),_=+f.getValue(),w=+g.getValue(),E=+p.getValue(),S=+v.getValue(),A=+b.getValue();if(C<0||y<0||_<0||w<0||E<0||E>_||w>E||S<0)return fhe.create(Jde.NUM);if(0===_&&0===w&&0===E)return fhe.create(Jde.DIV_BY_ZERO);let I=this._getResult(C,y,_,w,E,S,A);return 0===s&&0===l?Age.create(I,dge(this.getLocale())):Age.create(I)});return 1===s&&1===l?u.get(0,0):u}_getResult(e,t,r,n,i,a,o){let s=Math.floor(n),l=Math.ceil(i),u=0;if(e=1||o)return u;let r=Math.abs(e-t);return u=r*(i-n)>r?r:r*(i-n),-u}if(o)for(let o=s+1;o<=l;o++){let c=lye(e,t,r,o,a);o===s+1?c*=Math.min(i,s+1)-n:o===l&&(c*=i+1-l),u+=c}else{let o=e-this._getVdb(e,t,r,r,n,a);u=this._getVdb(o,t,r,r-n,i-n,a)}return u}_getVdb(e,t,r,n,i,a){let o=Math.ceil(i),s=0,l=e-t,u=0,c=0,d=!1;for(let h=1;h<=o;h++){if(d)c=u;else{let i=lye(e,t,r,h,a);u=l/(n-(h-1)),u>i?(c=u,d=!0):(c=i,l-=i)}h===o&&(c*=i+1-o),s+=c}return s}},gpe.VDB],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",3)}calculate(e,t,r){if(e.isNull()||t.isNull())return fhe.create(Jde.NA);let{isError:n,errorObejct:i,_values:a,_dates:o}=this._checkErrors(e,t);if(n)return i;let s=null==r?Age.create(.1):r;s.isNull()&&(s=Age.create(.1));let{isError:l,errorObject:u,variants:c}=Lve(s);if(l)return u;let[d]=c,h=+d.getValue();if(Number.isNaN(h))return fhe.create(Jde.VALUE);let{positive:m,negative:f}=this._checkValues(a);if(!m||!f||(null==a?void 0:a.length)!==(null==o?void 0:o.length)||h<0)return fhe.create(Jde.NUM);let g=oye(h,e=>this._iterF(a,o,e));return"number"==typeof g?Age.create(g):g}_checkErrors(e,t){if(e.isError())return{isError:!0,errorObejct:e};if(t.isError())return{isError:!0,errorObejct:t};let{isError:r,errorObejct:n,_values:i}=this._checkErrorValues(e);if(r)return{isError:r,errorObejct:n};let{isError:a,errorObejct:o,_dates:s}=this._checkErrorDates(t);return a?{isError:a,errorObejct:o}:{isError:!1,_values:i,_dates:s}}_checkErrorValues(e){let t=[];if(e.isArray()){let r=!1,n=fhe.create(Jde.VALUE);return e.iterator(e=>{let i=e;if(i.isError())return r=!0,n=i,!1;if(i.isBoolean())return r=!0,n=fhe.create(Jde.VALUE),!1;let a=+i.getValue();if(Number.isNaN(a))return r=!0,n=fhe.create(Jde.VALUE),!1;t.push(a)}),r?{isError:r,errorObejct:n}:t.length<=1?{isError:!0,errorObejct:fhe.create(Jde.NA)}:{isError:r,_values:t}}{let t=e.getValue();return e.isBoolean()||e.isString()&&!$d(t)?{isError:!0,errorObejct:fhe.create(Jde.VALUE)}:{isError:!0,errorObejct:fhe.create(Jde.NA)}}}_checkErrorDates(e){let t=[];if(e.isArray()){let r=!1,n=fhe.create(Jde.VALUE);return e.iterator(e=>{if(null!=e&&e.isError())return r=!0,n=e,!1;if(null!=e&&e.isBoolean())return r=!0,n=fhe.create(Jde.VALUE),!1;let i=+e.getValue();return Number.isNaN(i)?(r=!0,n=fhe.create(Jde.VALUE),!1):i<0?(r=!0,n=fhe.create(Jde.NUM),!1):void t.push(Math.floor(i))}),r?{isError:r,errorObejct:n}:t.length<=1?{isError:!0,errorObejct:fhe.create(Jde.NA)}:{isError:r,_dates:t}}{let t=e.getValue();return e.isBoolean()||e.isString()&&!$d(t)?{isError:!0,errorObejct:fhe.create(Jde.VALUE)}:+t<0?{isError:!0,errorObejct:fhe.create(Jde.NUM)}:{isError:!0,errorObejct:fhe.create(Jde.NA)}}}_checkValues(e){let t=!1,r=!1;for(let n=0;n0&&(t=!0),e[n]<0&&(r=!0);return{positive:t,negative:r}}_iterF(e,t,r){return e.reduce((e,n,i)=>e+n/(1+r)**((t[i]-t[0])/365),0)}},gpe.XIRR],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",3)}calculate(e,t,r){if(e.isNull()||t.isNull()||r.isNull())return fhe.create(Jde.NA);let{isError:n,errorObject:i,variants:a}=Lve(e);if(n)return i;let[o]=a,s=+o.getValue();if(Number.isNaN(s))return fhe.create(Jde.VALUE);let{isError:l,errorObejct:u,_values:c,_dates:d}=this._checkErrors(t,r);if(l)return u;if(s<0||c.length!==d.length)return fhe.create(Jde.NUM);let h=0,m=d[0];for(let e=0;e{let i=e;if(i.isError())return r=!0,n=i,!1;if(i.isNull()||i.isBoolean()||i.isString()&&""===i.getValue())return r=!0,n=fhe.create(Jde.VALUE),!1;let a=+i.getValue();if(Number.isNaN(a))return r=!0,n=fhe.create(Jde.VALUE),!1;t.push(a)}),r?{isError:r,errorObejct:n}:{isError:r,_values:t}}{if(e.isError())return{isError:!0,errorObejct:e};if(e.isNull()||e.isBoolean())return{isError:!0,errorObejct:fhe.create(Jde.VALUE)};let t=+e.getValue();return Number.isNaN(t)?{isError:!0,errorObejct:fhe.create(Jde.VALUE)}:{isError:!1,_values:[t]}}}_checkErrorDates(e){let t=[];if(e.isArray()){let r=!1,n=fhe.create(Jde.VALUE);return e.iterator(e=>{let i=e;if(i.isError())return r=!0,n=i,!1;if(i.isNull()||i.isBoolean())return r=!0,n=fhe.create(Jde.VALUE),!1;let a=+i.getValue();return Number.isNaN(a)?(r=!0,n=fhe.create(Jde.VALUE),!1):a<0?(r=!0,n=fhe.create(Jde.NUM),!1):void t.push(Math.floor(a))}),r?{isError:r,errorObejct:n}:{isError:r,_dates:t}}{if(e.isError())return{isError:!0,errorObejct:e};if(e.isNull()||e.isBoolean())return{isError:!0,errorObejct:fhe.create(Jde.VALUE)};let t=+e.getValue();return Number.isNaN(t)?{isError:!0,errorObejct:fhe.create(Jde.VALUE)}:+t<0?{isError:!0,errorObejct:fhe.create(Jde.NUM)}:{isError:!1,_dates:[Math.floor(t)]}}}},gpe.XNPV],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",6),Kde(this,"maxParams",7)}calculate(e,t,r,n,i,a,o){let s=null==o?Age.create(0):o;s.isNull()&&(s=Age.create(0));let{isError:l,errorObject:u,variants:c}=kve(e,t,r,n,i,a,s);if(l)return u;let[d,h,m,f,g,p,v]=c,b=Nhe(d);if("number"!=typeof b)return b;let C=Nhe(h);if("number"!=typeof C)return C;let y=+m.getValue(),_=+f.getValue(),w=+g.getValue(),E=Math.floor(+p.getValue()),S=Math.floor(+v.getValue());if(Number.isNaN(y)||Number.isNaN(_)||Number.isNaN(w)||Number.isNaN(E)||Number.isNaN(S))return fhe.create(Jde.VALUE);if(y<0||_<=0||w<=0||![1,2,4].includes(E)||S<0||S>4||b>=C||!iye(b,C,E))return fhe.create(Jde.NUM);let A=this._getResult(b,C,y,_,w,E,S);return Age.create(A)}_getResult(e,t,r,n,i,a,o){if(YCe(e,t,a)>1){let s=r||.01,l=sye(e,t,r,s,i,a,o),u=l-n;for(let c=0;c<100&&Math.abs(u)>1e-7;c++)l=sye(e,t,r,1.01*s,i,a,o),s+=-u/(l-n-u)*s*.01,u=sye(e,t,r,s,i,a,o)-n;return s}let s=XCe(e,t,a,o),l=qCe(e,t,a,o),{days:u}=Ohe(e,t,o),c=n/100+s/l*r/a;return(i/100+r/a-c)/c*a*l/u}},gpe.YIELD],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",4),Kde(this,"maxParams",5)}calculate(e,t,r,n,i){let a=null==i?Age.create(0):i;a.isNull()&&(a=Age.create(0));let{isError:o,errorObject:s,variants:l}=kve(e,t,r,n,a);if(o)return s;let[u,c,d,h,m]=l,f=Nhe(u);if("number"!=typeof f)return f;let g=Nhe(c);if("number"!=typeof g)return g;let p=+d.getValue(),v=+h.getValue(),b=Math.floor(+m.getValue());if(Number.isNaN(p)||Number.isNaN(v)||Number.isNaN(b))return fhe.create(Jde.VALUE);if(p<=0||v<=0||b<0||b>4||f>=g)return fhe.create(Jde.NUM);let{days:C,yearDays:y}=Ohe(f,g,b),_=(v/p-1)/(C/y);return Age.create(_)}},gpe.YIELDDISC],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",5),Kde(this,"maxParams",6)}calculate(e,t,r,n,i,a){let o=null==a?Age.create(0):a;o.isNull()&&(o=Age.create(0));let{isError:s,errorObject:l,variants:u}=kve(e,t,r,n,i,o);if(s)return l;let[c,d,h,m,f,g]=u,p=Nhe(c);if("number"!=typeof p)return p;let v=Nhe(d);if("number"!=typeof v)return v;let b=Nhe(h);if("number"!=typeof b)return b;let C=+m.getValue(),y=+f.getValue(),_=Math.floor(+g.getValue());if(Number.isNaN(C)||Number.isNaN(y)||Number.isNaN(_))return fhe.create(Jde.VALUE);let w=this._getDateCorrectOrder(v,p,b);if(C<0||y<=0||_<0||_>4||!w)return fhe.create(Jde.NUM);let E=Uhe(p,_),{days:S}=Ohe(p,v,_),{days:A}=Ohe(b,v,_),{days:I}=Ohe(b,p,_),R=((1+A/E*C)/(y/100+I/E*C)-1)/(S/E);return Age.create(R)}_getDateCorrectOrder(e,t,r){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)}},gpe.YIELDMAT]],cye=[[class extends Dve{constructor(...e){super(...e),Kde(this,"needsReferenceObject",!0),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isError())return r;if(r.isReferenceObject()&&(r=r.toArrayValueObject()),r.isArray()){let e=r.getRowCount(),n=r.getColumnCount();if(1===e&&1===n){let e=r.get(0,0);return this._handleSingleObject(e,t)}return r.map(e=>e.isError()?e:this._handleSingleObject(e,t,!0))}return this._handleSingleObject(r,t)}_handleSingleObject(e,t,r=!1){let n=t;if(n.isError())return n;if(!n.isReferenceObject())return fhe.create(Jde.NA);let{columnData:i,defaultColumnWidth:a}=n.getCurrentActiveSheetData();n=n.toArrayValueObject();let o,s=n.getCurrentRow(),l=n.getCurrentColumn();switch(n=n.getFirstCell(),`${e.getValue()}`.toLocaleLowerCase()){case"address":return Rge.create(`$${uu.chatAtABC(l)}$${s+1}`);case"col":return Age.create(l+1);case"color":case"parentheses":return Age.create(0);case"contents":return n;case"filename":default:return fhe.create(Jde.VALUE);case"format":return Rge.create("G");case"prefix":return Rge.create("");case"protect":return Age.create(1);case"row":return Age.create(s+1);case"type":return o="v",n.isNull()&&(o="b"),n.isString()&&(o="l"),Rge.create(o);case"width":return this._getWidthResult(i,a,l,r)}}_getWidthResult(e,t,r,n){var i;let a=null==(i=e[r])?void 0:i.w;if(!a&&0!==a&&(a=t),n)return Age.create(a);let o=[[a,a===t]];return Lge.createByArray(o)}},ppe.CELL],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1),Kde(this,"_errorTypeValueMap",new Map([[Jde.NULL,1],[Jde.DIV_BY_ZERO,2],[Jde.VALUE,3],[Jde.REF,4],[Jde.NAME,5],[Jde.NUM,6],[Jde.NA,7],[Jde.CONNECT,8],[Jde.CALC,14]]))}calculate(e){return e.isArray()?e.mapValue(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e.getValue(),r=this._errorTypeValueMap.get(t);return r?Age.create(r):fhe.create(Jde.NA)}},ppe.ERROR_TYPE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",5)}calculate(e,t,r,n,i){let{isError:a,errorObject:o,variants:s}=Ove(e,t,r,null==n?Sge.create(!0):n,null==i?Sge.create(!0):i);if(a)return o;let[l,u,c,d,h]=s;if(d.isString()||h.isString())return fhe.create(Jde.VALUE);if(!0===u.compare(c,">").getValue())return fhe.create(Jde.NUM);let m=+d.getValue()?">=":">",f=+h.getValue()?"<=":"<";return!1===l.compare(u,m).getValue()||!1===l.compare(c,f).getValue()?Sge.create(!1):Sge.create(!0)}},ppe.ISBETWEEN],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){return e.isNull()?Sge.create(!0):e.isArray()?e.mapValue(e=>e.isNull()?Sge.create(!0):Sge.create(!1)):Sge.create(!1)}},ppe.ISBLANK],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){let e=t.getRowCount(),r=t.getColumnCount();if(e>1||r>1)return fhe.create(Jde.VALUE);t=t.get(0,0)}return t.isError()?t:t.isNumber()&&""!==t.getPattern()?Sge.create(She(t.getPattern())):t.isString()&&(whe(`${t.getValue()}`)||Ehe(`${t.getValue()}`))?Sge.create(!0):Sge.create(!1)}},ppe.ISDATE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){let e=t.getRowCount(),r=t.getColumnCount();if(e>1||r>1)return fhe.create(Jde.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isNull()||t.isBoolean()||t.isNumber())return Sge.create(!1);let r=`${t.getValue()}`;if(r.length>254)return Sge.create(!1);let n=uu.topLevelDomainCombiningString(),i=RegExp(`^(?:[\\w+-]+\\.)*[\\w+-]+@[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*\\.(?:${n})$`,"i");return Sge.create(i.test(r))}},ppe.ISEMAIL],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){return e.getValue()===Jde.NA?Sge.create(!1):e.isError()?Sge.create(!0):e.isArray()?e.mapValue(e=>e.getValue()===Jde.NA?Sge.create(!1):e.isError()?Sge.create(!0):Sge.create(!1)):Sge.create(!1)}},ppe.ISERR],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){return e.isError()?Sge.create(!0):e.isArray()?e.mapValue(e=>e.isError()?Sge.create(!0):Sge.create(!1)):Sge.create(!1)}},ppe.ISERROR],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){let e=t.getRowCount(),r=t.getColumnCount();if(e>1||r>1)return fhe.create(Jde.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isBoolean())return fhe.create(Jde.VALUE);let r=Math.trunc(+t.getValue());if(Number.isNaN(r))return fhe.create(Jde.VALUE);let n=r%2==0;return Sge.create(n)}},ppe.ISEVEN],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1),Kde(this,"needsReferenceObject",!0)}calculate(e){var t;if(e.isError())return e;if(!e.isReferenceObject())return fhe.create(Jde.NA);let r=null==(t=e.getCurrentActiveSheetData())?void 0:t.cellData.getMatrix(),{startRow:n,startColumn:i}=e.getRangePosition(),a=e.toArrayValueObject(),o=a.mapValue((e,t,a)=>{var o;let s=null==r||null==(o=r[n+t])?void 0:o[i+a];return null!=s&&s.f||null!=s&&s.si?Sge.create(!0):Sge.create(!1)});return 1===a.getRowCount()&&1===a.getColumnCount()?o.get(0,0):o}},ppe.ISFORMULA],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){return e.isBoolean()?Sge.create(!0):e.isArray()?e.mapValue(e=>e.isBoolean()?Sge.create(!0):Sge.create(!1)):Sge.create(!1)}},ppe.ISLOGICAL],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){return e.getValue()===Jde.NA?Sge.create(!0):e.isArray()?e.mapValue(e=>e.getValue()===Jde.NA?Sge.create(!0):Sge.create(!1)):Sge.create(!1)}},ppe.ISNA],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){return e.isArray()||e.isString()?e.isArray()?e.mapValue(e=>e.isString()?Sge.create(!1):Sge.create(!0)):Sge.create(!1):Sge.create(!0)}},ppe.ISNONTEXT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){return e.isNumber()?Sge.create(!0):e.isArray()?e.mapValue(e=>e.isNumber()?Sge.create(!0):Sge.create(!1)):Sge.create(!1)}},ppe.ISNUMBER],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){let e=t.getRowCount(),r=t.getColumnCount();if(e>1||r>1)return fhe.create(Jde.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isBoolean())return fhe.create(Jde.VALUE);let r=Math.trunc(+t.getValue());if(Number.isNaN(r))return fhe.create(Jde.VALUE);let n=r%2!=0;return Sge.create(n)}},ppe.ISODD],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1),Kde(this,"needsReferenceObject",!0)}calculate(e){return e.isReferenceObject()?Sge.create(!0):Sge.create(!1)}},ppe.ISREF],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){return e.isString()?Sge.create(!0):e.isArray()?e.mapValue(e=>e.isString()?Sge.create(!0):Sge.create(!1)):Sge.create(!1)}},ppe.ISTEXT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){let e=t.getRowCount(),r=t.getColumnCount();if(e>1||r>1)return fhe.create(Jde.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isNull()||t.isBoolean()||t.isNumber())return Sge.create(!1);let r=`${t.getValue()}`.replace(/^\s+|\s+$/g,"");if(r.length>1e3)return Sge.create(!1);let n=uu.topLevelDomainCombiningString(),i=RegExp(`^(?:(?:https?|s?ftp|ftps|nfs|ssh)://+[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*(?::[0-9]+)?(?:/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[A-Fa-f0-9]{2})*)*/?(?:[?#]\\S*)?|[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*\\.(?:${n})(?::[0-9]+)?(?:/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[A-Fa-f0-9]{2})*)*/?(?:[?#]\\S*)?|mailto:(?:[\\w+-]+\\.)*[\\w+-]+@[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*\\.(?:${n})|(?:news|aim):[%a-z0-9$_\\.+!*(),;/?#:@&~=-]+)$`,"i");return Sge.create(i.test(r))}},ppe.ISURL],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){let t=e;if(e.isArray()&&(t=e.get(0,0)),t.isError())return t;if(t.isString())return Age.create(0);let r=+t.getValue();return Age.create(r)}},ppe.N],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",0),Kde(this,"maxParams",0)}calculate(){return fhe.create(Jde.NA)}},ppe.NA],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",0),Kde(this,"maxParams",1),Kde(this,"needsReferenceObject",!0),Kde(this,"needsSheetsInfo",!0)}calculate(e){var t;if(null!=e&&e.isError())return e;let{sheetOrder:r,sheetNameMap:n}=this.getSheetsInfo();if(!e){let e=r.findIndex(e=>e===this.subUnitId);return Age.create(e+1)}if(e.isReferenceObject()){let t=e.getForcedSheetId(),n=e.getDefaultSheetId(),i=r.findIndex(e=>t?e===t:e===n);return Age.create(i+1)}if(e.isArray())return fhe.create(Jde.NA);let i=`${e.getValue()}`.toLocaleLowerCase(),a=null==(t=Object.entries(n).find(([e,t])=>t.toLocaleLowerCase()===i))?void 0:t[0];if(!a)return fhe.create(Jde.NA);let o=r.findIndex(e=>e===a);return Age.create(o+1)}},ppe.SHEET],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",0),Kde(this,"maxParams",0),Kde(this,"needsSheetsInfo",!0)}calculate(){let{sheetOrder:e}=this.getSheetsInfo();return Age.create(e.length)}},ppe.SHEETS],[class extends Dve{constructor(...e){super(...e),Kde(this,"needsReferenceObject",!0),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){if(e.isReferenceObject()){let t=e.getRowCount(),r=e.getColumnCount();if(1!==t||1!==r)return Age.create(64);{let t=e.getFirstCell();if(t.isError())return Age.create(16);if(t.isBoolean())return Age.create(4);if(t.isString())return Age.create(2);if(t.isNumber()||t.isNull())return Age.create(1)}}else{if(e.isArray())return Age.create(64);if(e.isError())return Age.create(16);if(e.isBoolean())return Age.create(4);if(e.isString())return Age.create(2);if(e.isNumber()||e.isNull())return Age.create(1)}return Age.create(128)}},ppe.TYPE]],dye=[[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",255)}calculate(...e){let t=!0,r=!0,n=null;for(let i of e){if(i.isError())return i;if(i.isArray()){if(i.iterator(e=>{if(null!=e&&e.isError())return n=e,!1;(null!=e&&e.isBoolean()||null!=e&&e.isNumber())&&(t=t&&!!e.getValue(),r=!1)}),n)return n}else(i.isBoolean()||i.isNumber())&&(t=t&&!!i.getValue(),r=!1)}return r?fhe.create(Jde.VALUE):Sge.create(t)}},vpe.AND],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2),Kde(this,"needsReferenceObject",!0)}calculate(e,t){let r=e,n=null;if(e.isReferenceObject()&&(r=e.toArrayValueObject(),n=e),r.isError())return r;if(t.isError())return t;if(!t.isValueObject()||!t.isLambda()||1!==t.getLambdaPrivacyVarKeys().length)return fhe.create(Jde.VALUE);let i=t,a=r.isArray()?r.getRowCount():1,o=r.isArray()?r.getColumnCount():1;r=Wge(a,o,r);let s=[[]];for(let e=0;e1||t>1)return fhe.create(Jde.CALC);l=l.get(0,0)}l.isNull()&&(l=Age.create(0)),s[0].push(l)}return 1===o?s[0][0]:Lge.create({calculateValueList:s,rowCount:1,columnCount:o,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},vpe.BYCOL],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2),Kde(this,"needsReferenceObject",!0)}calculate(e,t){let r=e,n=null;if(e.isReferenceObject()&&(r=e.toArrayValueObject(),n=e),r.isError())return r;if(t.isError())return t;if(!t.isValueObject()||!t.isLambda()||1!==t.getLambdaPrivacyVarKeys().length)return fhe.create(Jde.VALUE);let i=t,a=r.isArray()?r.getRowCount():1,o=r.isArray()?r.getColumnCount():1;r=Wge(a,o,r);let s=[];for(let e=0;e1||t>1)return fhe.create(Jde.CALC);l=l.get(0,0)}l.isNull()&&(l=Age.create(0)),s.push([l])}return 1===a?s[0][0]:Lge.create({calculateValueList:s,rowCount:a,columnCount:1,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},vpe.BYROW],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",0),Kde(this,"maxParams",0)}calculate(){return Sge.create(!1)}},vpe.FALSE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",3)}calculate(e,t,r=Sge.create(!1)){let n=e;if(e.isArray()){let t=e.getRowCount(),r=e.getColumnCount();1===t&&1===r&&(n=e.get(0,0))}if(!n.isArray())return this._handleSingleObject(n,t,r);let i=Math.max(n.isArray()?n.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(n.isArray()?n.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=Wge(i,a,n,fhe.create(Jde.NA)),s=Wge(i,a,t,fhe.create(Jde.NA)),l=Wge(i,a,r,fhe.create(Jde.NA));return o.mapValue((e,t,r)=>{let n=s.get(t,r),i=l.get(t,r);return this._handleSingleObject(e,n,i)})}_handleSingleObject(e,t,r){return e.isError()?e:e.getValue()?t:r}},vpe.IF],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){if(!e.isArray())return e.isError()?t:e;let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=Wge(r,n,e),a=Wge(r,n,t);return i.iterator((e,t,r)=>{null!=e&&e.isError()&&i.set(t,r,a.get(t,r))}),i}},vpe.IFERROR],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){if(e.isError()&&e.getErrorType()!==Jde.NA)return e;if(t.isError())return t;if(!e.isArray())return e.isError()&&e.getErrorType()===Jde.NA?t:e;let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=Wge(r,n,e),a=Wge(r,n,t);return i.iterator((e,t,r)=>{null!=e&&e.isError()&&e.getErrorType()===Jde.NA&&i.set(t,r,a.get(t,r))}),i}},vpe.IFNA],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",255)}calculate(...e){if(e.length%2!=0)return fhe.create(Jde.NA);for(let t=0;te.isArray()?e.getRowCount():1)),r=Math.max(...e.map(e=>e.isArray()?e.getColumnCount():1)),n=e.map(e=>Wge(t,r,e,fhe.create(Jde.NA))),i=n[0].map((e,t,r)=>{for(let e=0;e1||t>1)return fhe.create(Jde.CALC);s=s.get(0,0)}s.isNull()&&(s=Age.create(0)),r.push(s)}i.push(r)}return i}},vpe.MAP],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;let t=+e.getValue();return Number.isNaN(t)?fhe.create(Jde.VALUE):Sge.create(!t)}},vpe.NOT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",255)}calculate(...e){let t=!1,r=!0,n=null;for(let i of e){if(i.isError())return i;if(i.isArray()){if(i.iterator(e=>{if(null!=e&&e.isError())return n=e,!1;(null!=e&&e.isBoolean()||null!=e&&e.isNumber())&&(t=t||!!e.getValue(),r=!1)}),n)return n}else(i.isBoolean()||i.isNumber())&&(t=t||!!i.getValue(),r=!1)}return r?new fhe(Jde.VALUE):new Sge(t)}},vpe.OR],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",3),Kde(this,"needsReferenceObject",!0)}calculate(e,t,r){let n,i,a,o;return e.isReferenceObject()?(n=e.toArrayValueObject(),i=e):(n=e,i=null),t.isReferenceObject()?(a=t.toArrayValueObject(),o=t):(a=t,o=null),n.isArray()?n.mapValue(e=>this._handleSingleValueObject(e,a,r,i,o)):this._handleSingleValueObject(n,a,r,i,o)}_handleSingleValueObject(e,t,r,n,i){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(!r.isValueObject()||!r.isLambda()||2!==r.getLambdaPrivacyVarKeys().length)return fhe.create(Jde.VALUE);let a=r,o=t.isArray()?t.getRowCount():1,s=t.isArray()?t.getColumnCount():1,l=e;n&&(l=n);for(let e=0;e1||t>1)return fhe.create(Jde.CALC);n=n.get(0,0)}return this._getResult(n,a,r,i,o)}_getResult(e,t,r,n,i){let a=[],o=t.isArray()?t.getRowCount():1,s=t.isArray()?t.getColumnCount():1,l=e;n&&(l=n);for(let e=0;e1||t>1)return fhe.create(Jde.CALC);s=s.get(0,0)}s.isNull()&&(s=Age.create(0)),l=s,n.push(s)}a.push(n)}return 1===o&&1===s?a[0][0]:Lge.create({calculateValueList:a,rowCount:o,columnCount:s,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},vpe.SCAN],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3)}calculate(e,...t){if(e.isError())return e;let r=t.length%2!=0,n=r?t[t.length-1]:Ege.create();return e.isArray()||t.some(e=>e.isArray())?this._handleArrayInputs(e,t,n,r):this._handleNonArrayInputs(e,t,n,r)}_handleNonArrayInputs(e,t,r,n){for(let r=0;re.isArray()?e.getRowCount():1),r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,...t.map(e=>e.isArray()?e.getColumnCount():1),r.isArray()?r.getColumnCount():1),o=Wge(i,a,e),s=t.map(e=>Wge(i,a,e,fhe.create(Jde.NA))),l=Wge(i,a,r,fhe.create(Jde.NA));return o.map((e,t,r)=>{for(let i=0;i{if(null!=e&&e.isError())return n=e,!1;(null!=e&&e.isBoolean()||null!=e&&e.isNumber())&&(e.getValue()&&t++,r=!1)}),n)return n}else(i.isBoolean()||i.isNumber())&&(i.getValue()&&t++,r=!1)}return r?fhe.create(Jde.VALUE):Sge.create(t%2==1)}},vpe.XOR]];var hye=class extends Dge{constructor(e,t=[]){super(e),Kde(this,"_areas",[]),this._areas=t}dispose(){this._areas.forEach(e=>{e.forEach(e=>e.dispose())}),this._areas=[],super.dispose()}getAreas(){return this._areas}setAreas(e){this._areas=e}addArea(e){Array.isArray(e)?this._areas.push(e):this._areas.push([e])}_flatAreas(){return this._areas.flat()}isMultiArea(){return!0}isRange(){return!1}isCell(){return!1}isRow(){return!1}isColumn(){return!1}getRowCount(){let e=0;for(let t of this._flatAreas())t.isError()||(e+=t.getRowCount());return e}getColumnCount(){let e=0;for(let t of this._flatAreas())t.isError()||(e+=t.getColumnCount());return e}isExceedRange(){return this._flatAreas().some(e=>!e.isError()&&e.isExceedRange())}setRefOffset(e=0,t=0){super.setRefOffset(e,t),this._flatAreas().forEach(r=>{r.isError()||r.setRefOffset(e,t)})}_getReferenceArea(){return this._flatAreas().find(e=>!e.isError())}getUnitId(){var e,t;return null==(e=null==(t=this._getReferenceArea())?void 0:t.getUnitId())?super.getUnitId():e}getSheetId(){var e,t;return null==(e=null==(t=this._getReferenceArea())?void 0:t.getSheetId())?super.getSheetId():e}getActiveSheetRowCount(){var e,t;return null==(e=null==(t=this._getReferenceArea())?void 0:t.getActiveSheetRowCount())?0:e}getActiveSheetColumnCount(){var e,t;return null==(e=null==(t=this._getReferenceArea())?void 0:t.getActiveSheetColumnCount())?0:e}iterator(e){for(let t of this._areas){let r=!1;for(let n of t){if(n.isError())continue;let t=!1;if(n.iterator((n,i,a)=>{let o=e(n,i,a);return!1===o?(t=!0,r=!0,!1):o}),t)break}if(r)return}}getFirstCell(){let e=this._getReferenceArea();return e?e.getFirstCell():super.getFirstCell()}toArrayValueObject(){var e,t;let r=this._areas.length;if(0===r)return zge([],0,0);let n=null==(e=null==(t=this._areas[0])?void 0:t.length)?0:e,i=[];for(let e=0;e(a=null==e?null:e,!1)),null!=a&&(i[e][r]=a),i[e][r]=Ege.create()}}}return zge(i,r,n)}getRangePosition(){let e=this._flatAreas();if(!e.length)return super.getRangePosition();let t=1/0,r=1/0,n=-1/0,i=-1/0;for(let a of e){if(a.isError())continue;let{startRow:e,startColumn:o,endRow:s,endColumn:l}=a.getRangePosition();!Number.isFinite(e)||!Number.isFinite(o)||!Number.isFinite(s)||!Number.isFinite(l)||(en&&(n=s),l>i&&(i=in&&(n=s),l>i&&(i=l))}return Number.isFinite(t)&&Number.isFinite(r)&&Number.isFinite(n)&&Number.isFinite(i)?{startRow:t,startColumn:r,endRow:n,endColumn:i}:super.getRangeData()}};const mye=[[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",5)}calculate(e,t,r,n,i){if(e.isError())return e;if(t.isError())return t;if(null!=r&&r.isError())return r;if(null!=n&&n.isError())return n;if(null!=i&&i.isError())return i;let a=null==r?Age.create(1):r,o=null==n?Sge.create(!0):n,s=null==i?Rge.create(""):i,l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1,s.isArray()?s.getRowCount():1),u=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1,s.isArray()?s.getColumnCount():1),c=Wge(l,u,e,fhe.create(Jde.NA)),d=Wge(l,u,t,fhe.create(Jde.NA)),h=Wge(l,u,a,fhe.create(Jde.NA)),m=Wge(l,u,o,fhe.create(Jde.NA)),f=Wge(l,u,s,fhe.create(Jde.NA));return c.map((e,t,r)=>{let n=d.get(t,r)||fhe.create(Jde.NA),i=h.get(t,r)||fhe.create(Jde.NA),a=m.get(t,r)||fhe.create(Jde.NA),o=f.get(t,r)||fhe.create(Jde.NA);return e.isError()?e:n.isError()?n:i.isError()?i:a.isError()?a:o.isError()?o:this._calculateSingleCell(e,n,i,a,o)})}_calculateSingleCell(e,t,r,n,i){let a=Number.parseInt(""+(Number(e.getValue())-1)),o=Number.parseInt(""+(Number(t.getValue())-1)),s=Number.parseInt(`${Number(r.getValue())}`);if(Number.isNaN(a)||Number.isNaN(o)||Number.isNaN(s)||s<1||s>4)return fhe.create(Jde.VALUE);let l=function(e){switch(e){case 1:default:return vd.ALL;case 2:return vd.ROW;case 3:return vd.COLUMN;case 4:return vd.NONE}}(s),u=this.getZeroOrOneByOneDefault(n),c=Gme(`${i.getValue()}`),d={startRow:a,startColumn:o,endRow:a,endColumn:o,startAbsoluteRefType:l,endAbsoluteRefType:l},h=n&&!u?function(e){let t=Nve(e.startRow,e.startAbsoluteRefType,!0),r=Nve(e.startColumn,e.startAbsoluteRefType,!1),n=Nve(e.endRow,e.endAbsoluteRefType,!0),i=Nve(e.endColumn,e.endAbsoluteRefType,!1);return t===n&&r===i?`R${t}C${r}`:`R${t}C${r}:R${n}C${i}`}(d):Pme(d);return Rge.create(""===c?h:`${c}!${h}`)}},bpe.ADDRESS],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1),Kde(this,"needsReferenceObject",!0)}calculate(e){return e.isReferenceObject()?Age.create(1):fhe.create(Jde.VALUE)}},bpe.AREAS],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",255),Kde(this,"needsReferenceObject",!0)}calculate(e,...t){let r=e;if(r.isError())return r;if(r.isReferenceObject()&&(r=r.toArrayValueObject()),!r.isArray()){let e=r.convertToNumberObjectValue();return e.isError()?e:t[Math.trunc(+e.getValue())-1]||fhe.create(Jde.VALUE)}let n=r.isArray()?r.getRowCount():1,i=r.isArray()?r.getColumnCount():1;t.forEach((e,t)=>{if(e.isArray()){let t=e;n=Math.max(n,t.getRowCount()),i=Math.max(i,t.getColumnCount())}else n=Math.max(n,1),i=Math.max(i,1)});let a=Wge(n,i,r,fhe.create(Jde.NA)),o=t.map(e=>{let t=e;return t.isReferenceObject()&&(t=t.toArrayValueObject()),Wge(n,i,t,fhe.create(Jde.NA))});return a.map((e,t,r)=>{if(e.isError())return e;let n=e.convertToNumberObjectValue();if(n.isError())return n;let i=o[Math.trunc(+n.getValue())-1],a=(null==i?void 0:i.get(t,r))||fhe.create(Jde.VALUE);return null!=a&&a.isNull()&&(a=Age.create(0)),a})}},bpe.CHOOSE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",255)}calculate(e,...t){if(e.isError())return e;let r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,i=[];for(let a=0;a1||t>1)return fhe.create(Jde.VALUE);o=o.get(0,0)}if(o.isString()&&(o=o.convertToNumberObjectValue()),o.isError())return o;let s=Math.trunc(+o.getValue());if(0===s||Math.abs(s)>n)return fhe.create(Jde.VALUE);let l=e;n>1&&(l=s<0?e.slice(void 0,[s+n,s+1+n]):e.slice(void 0,[s-1,s]));for(let t=0;t1||t>1)return fhe.create(Jde.VALUE);a=a.get(0,0)}if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return a;let o=Math.trunc(+a.getValue());if(0===o||Math.abs(o)>r)return fhe.create(Jde.VALUE);let s=e;r>1&&(s=o<0?e.slice([o+r,o+1+r]):e.slice([o-1,o])),e.isArray()?n.push(s.getArrayValue()[0]):n.push([e])}return Lge.create({calculateValueList:n,rowCount:n.length,columnCount:n[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},bpe.CHOOSEROWS],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",0),Kde(this,"maxParams",1)}calculate(e){if(null==e)return Age.create(this.column+1);if(e.isError())return e;if(!e.isArray())return fhe.create(Jde.NA);let t=e.getCurrentColumn(),r=e.getColumnCount(),n=[];for(let e=0;e1||s>1)return l.mapValue((t,r,n)=>{let o=u.get(r,n);if(e.isError())return e;if(e.isNull())return fhe.create(Jde.VALUE);let{isError:s,errorObject:l}=this._checkRowsColumns(t,o,i,a);return s?l:e.isArray()?fhe.create(Jde.VALUE):e});if(e.isError())return e;if(e.isNull())return fhe.create(Jde.VALUE);let c=t.isArray()?t.get(0,0):t,d=n.isArray()?n.get(0,0):n,{isError:h,errorObject:m,rowsValue:f,columnsValue:g}=this._checkRowsColumns(c,d,i,a);return h?m:this._getResultArray(e,f,g,i,a)}_checkRowsColumns(e,t,r,n){if(e.isError())return{isError:!0,errorObject:e};if(t.isError())return{isError:!0,errorObject:t};let i=Math.trunc(+e.getValue()),a=Math.trunc(+t.getValue());return Number.isNaN(i)||Number.isNaN(a)?{isError:!0,errorObject:fhe.create(Jde.VALUE)}:Math.abs(i)>=r||Math.abs(a)>=n?{isError:!0,errorObject:fhe.create(Jde.CALC)}:{isError:!1,rowsValue:i,columnsValue:a}}_getResultArray(e,t,r,n,i){let a,o=t>=0?[t,n]:[0,n+t],s=r>=0?[r,i]:[0,i+r];return a=0===t&&0===r?e:0===t?e.slice(void 0,s):0===r?e.slice(o,void 0):e.slice(o,s),a=a.map(e=>e.isNull()?Age.create(0):e),n-t===1&&i-r===1?a.get(0,0):a}},bpe.DROP],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",4)}calculate(e,t,r,n){let i=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=t,s=null==r?Age.create(a):r,l=null==n?fhe.create(Jde.NA):n;t.isNull()&&(o=Age.create(i)),s.isNull()&&(s=Age.create(a));let u=Math.max(o.isArray()?o.getRowCount():1,s.isArray()?s.getRowCount():1),c=Math.max(o.isArray()?o.getColumnCount():1,s.isArray()?s.getColumnCount():1),d=Wge(u,c,o,fhe.create(Jde.NA)),h=Wge(u,c,s,fhe.create(Jde.NA));if(u>1||c>1)return d.mapValue((t,r,n)=>{let o=h.get(r,n);if(e.isError())return e;if(e.isNull())return fhe.create(Jde.VALUE);let{isError:s,errorObject:u}=this._checkRowsColumnsPadWith(t,o,l,i,a);return s?u:e.isArray()?e.get(0,0):e});if(e.isError())return e;if(e.isNull())return fhe.create(Jde.VALUE);let m=o.isArray()?o.get(0,0):o,f=s.isArray()?s.get(0,0):s,{isError:g,errorObject:p,rowsValue:v,columnsValue:b,padWithObject:C}=this._checkRowsColumnsPadWith(m,f,l,i,a);return g?p:this._getResultArray(e,v,b,C,i,a)}_checkRowsColumnsPadWith(e,t,r,n,i){if(e.isError())return{isError:!0,errorObject:e};if(t.isError())return{isError:!0,errorObject:t};let a=Math.trunc(+e.getValue()),o=Math.trunc(+t.getValue());if(Number.isNaN(a)||Number.isNaN(o)||Math.abs(a)1||t>1)return{isError:!0,errorObject:fhe.create(Jde.VALUE)};s=r.get(0,0)}return{isError:!1,rowsValue:a,columnsValue:o,padWithObject:s}}_getResultArray(e,t,r,n,i,a){let o=[];o=e.isArray()?e.map(e=>e.isNull()?Age.create(0):e).getArrayValue():[[e]];let s=Math.max(0,t-i),l=Math.max(0,r-a);for(let e=0;e{e.push(n)});return 1===t&&1===r?o[0][0]:Lge.create({calculateValueList:o,rowCount:o.length,columnCount:o[0].length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},bpe.EXPAND],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",3)}calculate(e,t,r){let n=null==r?fhe.create(Jde.CALC):r;if(e.isError())return e;if(t.isError())return t;let i=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=t.isArray()?t.getRowCount():1,s=t.isArray()?t.getColumnCount():1;return o>1&&s>1||1===o&&s!==a||1===s&&o!==i?fhe.create(Jde.VALUE):1===i&&1===a?this._getResultArrayByR1C1(e,t,n):1===o?s===a?this._getResultArrayByR1(i,a,e,t,n):fhe.create(Jde.VALUE):1===s?o===i?this._getResultArrayByC1(i,a,e,t,n):fhe.create(Jde.VALUE):n}_getResultArrayByR1C1(e,t,r){let n=e,i=t;return n.isArray()&&(n=n.get(0,0)),i.isArray()&&(i=i.get(0,0)),i.isString()&&(i=i.convertToNumberObjectValue()),i.isError()?i:+i.getValue()?n:r}_getResultArrayByR1(e,t,r,n,i){let a=[];for(let i=0;i{let l=i.getValue(a+t,o+s);if(null!=l&&l.f||null!=l&&l.si){let e=this._formulaDataModel.getFormulaStringByCell(a+t,o+s,n,r);return Rge.create(e)}return fhe.create(Jde.NA)});return 1===s.getRowCount()&&1===s.getColumnCount()?s.get(0,0):s}},bpe.FORMULATEXT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",4)}calculate(e,t,r,n){if(e.isError())return e;if(t.isError())return fhe.create(Jde.REF);if(!t.isArray()||r.isError()||null!=n&&n.isError())return fhe.create(Jde.NA);let i=this.getZeroOrOneByOneDefault(n);if(null==i)return fhe.create(Jde.VALUE);let a=this.getIndexNumValue(r);if(a instanceof fhe)return a;let o=t.slice([0,1]),s=t.slice([a-1,a]);return null==o||null==s?fhe.create(Jde.REF):e.isArray()?e.map(e=>this._handleSingleObject(e,o,s,i)):this._handleSingleObject(e,o,s,i)}_handleSingleObject(e,t,r,n){return 0===n?this.equalSearch(e,t,r):this.binarySearch(e,t,r)}},bpe.HLOOKUP],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",255)}calculate(...e){let t=Math.max(...e.map(e=>e.isArray()?e.getRowCount():1)),r=[];for(let n=0;na-1||!n?r[e].push(fhe.create(Jde.NA)):r[e].push(n)}}}return Lge.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},bpe.HSTACK],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",2)}calculate(e,t){let r=e;if(e.isArray()&&(r=e.get(0,0)),r.isError())return r;let n=t;if(null!=t&&t.isArray()&&(n=t.get(0,0)),null!=n&&n.isError())return n;let i=`${r.getValue()}`;r.isNull()&&(i="");let a=i;return n&&(a=`${n.getValue()}`,n.isNull()?a="0":n.isBoolean()&&(a=a.toLocaleUpperCase())),Rge.create(a,{isHyperlink:!0,hyperlinkUrl:i})}},bpe.HYPERLINK],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",5)}calculate(e,t,r,n,i){let a=Math.max(e.isArray()?e.getRowCount():1,null!=t&&t.isArray()?t.getRowCount():1,null!=r&&r.isArray()?r.getRowCount():1,null!=n&&n.isArray()?n.getRowCount():1,null!=i&&i.isArray()?i.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,null!=t&&t.isArray()?t.getColumnCount():1,null!=r&&r.isArray()?r.getColumnCount():1,null!=n&&n.isArray()?n.getColumnCount():1,null!=i&&i.isArray()?i.getColumnCount():1),s=Wge(a,o,e,fhe.create(Jde.NA)),l=t?Wge(a,o,t,fhe.create(Jde.NA)):void 0,u=r?Wge(a,o,r,fhe.create(Jde.NA)):void 0,c=n?Wge(a,o,n,fhe.create(Jde.NA)):void 0,d=i?Wge(a,o,i,fhe.create(Jde.NA)):void 0,h=s.mapValue((e,t,r)=>{if(e.isError())return e;let n=l?l.get(t,r):void 0;if(null!=n&&n.isError())return n;let i=u?u.get(t,r):void 0;if(null!=i&&i.isError())return i;let a=c?c.get(t,r):void 0;if(null!=a&&a.isError())return a;let o=d?d.get(t,r):void 0;return null!=o&&o.isError()?o:this._handleSingleObject(e,n,i,a,o)});return 1===a&&1===o?h.get(0,0):h}_handleSingleObject(e,t,r,n,i){if(!e.isString())return fhe.create(Jde.VALUE);let a=e.getValue(),o="";t&&(t.isBoolean()?o=t.getValue()?"TRUE":"FALSE":t.isNull()||(o=`${t.getValue()}`));let s=null==r?Age.create(0):r;if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isError())return s;let l=Math.abs(Math.trunc(+s.getValue()));if(l<0||l>3||[0,1,2].includes(l)&&(n||i))return fhe.create(Jde.VALUE);let u=null==n?Age.create(0):n;if(u.isString()&&(u=u.convertToNumberObjectValue()),u.isError())return u;let c=Math.ceil(+u.getValue()),d=null==i?Age.create(0):i;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;let h=Math.ceil(+d.getValue());return 3===l&&c<1&&h<1?fhe.create(Jde.VALUE):Rge.create("",{isImage:!0,imageInfo:{source:a,altText:o,sizing:l,height:c,width:h}})}},bpe.IMAGE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",4),Kde(this,"needsReferenceObject",!0)}calculate(e,t,r,n){if(e.isError())return e;let i=this._getReferenceCounts(e),a=t;t.isReferenceObject()&&(a=t.toArrayValueObject());let o=r;null!=o&&o.isReferenceObject()&&(o=r.toArrayValueObject());let s=null==n?Age.create(1):n;s.isReferenceObject()&&(s=n.toArrayValueObject());let l=Math.max(a.isArray()?a.getRowCount():1,null!=o&&o.isArray()?o.getRowCount():1,s.isArray()?s.getRowCount():1),u=Math.max(a.isArray()?a.getColumnCount():1,null!=o&&o.isArray()?o.getColumnCount():1,s.isArray()?s.getColumnCount():1);if(1===l&&1===u)return this._handleSingleObject(e,a.isArray()?a.get(0,0):a,o?o.isArray()?o.get(0,0):o:void 0,s.isArray()?s.get(0,0):s,i);{let t=Wge(l,u,a,fhe.create(Jde.NA)),r=o?Wge(l,u,o,fhe.create(Jde.NA)):[],n=Wge(l,u,s,fhe.create(Jde.NA));return t.mapValue((t,a,s)=>{let l=o?r.get(a,s):void 0,u=n.get(a,s),c=this._handleSingleObject(e,t,l,u,i);return c.isReferenceObject()?c.getCellByPosition():c})}}_handleSingleObject(e,t,r,n,i){let a,o,s;if(r){let{isError:e,errorObject:i,variants:l}=Pve(t,r,n);if(e)return i;a=l[0],o=l[1],s=l[2]}else{let{isError:e,errorObject:r,variants:i}=Pve(t,n);if(e)return r;a=i[0],s=i[1]}let l=Math.floor(+s.getValue());if(l<0)return fhe.create(Jde.VALUE);if(l>i.length)return fhe.create(Jde.REF);let u=i[l-1],c=0,d=0;if(1!==u.rowCount||r?(c=Math.floor(+a.getValue()),r&&(d=Math.floor(+o.getValue()))):d=Math.floor(+a.getValue()),c<0||d<0)return fhe.create(Jde.VALUE);if(c>u.rowCount||d>u.columnCount)return fhe.create(Jde.REF);let h=e;return l>1&&(h=e.getCubeValues()[l-1]),h.isReferenceObject()?this._calculateReferenceObject(h,c,d):this._calculateArrayObject(h,c,d)}_getReferenceCounts(e){let t=[{rowCount:1,columnCount:1}];return e.isReferenceObject()?t=[{rowCount:e.getRowCount(),columnCount:e.getColumnCount()}]:e.isCube()?t=e.getCubeValues().map(e=>({rowCount:e.getRowCount(),columnCount:e.getColumnCount()})):e.isArray()&&(t=[{rowCount:e.getRowCount(),columnCount:e.getColumnCount()}]),t}_calculateReferenceObject(e,t,r){let{startRow:n,endRow:i,startColumn:a,endColumn:o}=e.getRangePosition(),s=0,l=0,u=0,c=0;if(0===t?(s=n,l=i):s=l=n+t-1,0===r?(u=a,c=o):u=c=a+r-1,s>i||u>o)return fhe.create(Jde.REF);let d={startRow:s,startColumn:u,endRow:l,endColumn:c};return this.createReferenceObject(e,d)}_calculateArrayObject(e,t,r){return!e.isArray()||0===t&&0===r?e:0===t?e.slice(void 0,[r-1,r]):0===r?e.slice([t-1,t],void 0):e.get(t-1,r-1)}},bpe.INDEX],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",2)}isAddress(){return!0}calculate(e,t){if(e.isError())return e;if(null!=t&&t.isError())return t;let r=this.getZeroOrOneByOneDefault(t);null==r&&(r=1);let n=e;if(e.isArray()){let t=e.getRowCount(),r=e.getColumnCount();if(t>1||r>1)return e.map(()=>fhe.create(Jde.VALUE));n=e.getFirstCell()}return this._handleSingleObject(n,r)}_handleSingleObject(e,t){let r=`${e.getValue()}`;if(""===r.trim())return fhe.create(Jde.REF);let n=this._convertToDefinedName(r);if(0===t){let{range:e,sheetName:t,unitId:r}=function(e,t=0,r=0){let{refBody:n,sheetName:i,unitId:a}=Fme(e),o=n.indexOf(":");if(-1===o){let e=Tve(n,t,r),o=e.row,s=e.column,l=e.absoluteRefType;return{unitId:a,sheetName:i,range:{startRow:o,startColumn:s,endRow:o,endColumn:s,startAbsoluteRefType:l,endAbsoluteRefType:l}}}let s=n.substring(0,o),l=n.substring(o+1),u=Tve(s,t,r),c=Tve(l,t,r);return{unitId:a,sheetName:i,range:{startRow:u.row,startColumn:u.column,endRow:c.row,endColumn:c.column,startAbsoluteRefType:u.absoluteRefType,endAbsoluteRefType:c.absoluteRefType}}}(n),i=new Vge(e);return i.setForcedUnitIdDirect(r),i.setForcedSheetName(t),this._setDefault(i)}if(bme(n))return this._setDefault(new Fge(n));if(Cme(n))return this._setDefault(new Hge(n));if(yme(n))return this._setDefault(new jge(n));let{range:i,sheetName:a,unitId:o}=Lfe(n);if(Number.isNaN(i.startRow)||i.endRow+1>gh||Number.isNaN(i.startColumn)||i.endColumn+1>ph)return fhe.create(Jde.REF);let s=new Vge(i);return s.setForcedUnitIdDirect(o),s.setForcedSheetName(a),this._setDefault(s)}_setDefault(e){return null==this.unitId||null==this.subUnitId?fhe.create(Jde.REF):(e.setDefaultUnitId(this.unitId),e.setDefaultSheetId(this.subUnitId),e)}_convertToDefinedName(e){let t=this.getDefinedName(e);if(null==t)return e;let r=t.formulaOrRefString;return null==r?e:r.startsWith(nhe.EQUALS)?r.slice(1):r}},bpe.INDIRECT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",3),Kde(this,"needsExpandParams",!0)}calculate(e,t,r){return e.isError()?e:t.isError()?fhe.create(Jde.REF):t.isArray()?null!=r&&r.isError()?r:1===t.getColumnCount()||1===t.getRowCount()?null==r||r.isArray()?this._handleVector(e,t,r):fhe.create(Jde.REF):this._handleArray(e,t):fhe.create(Jde.VALUE)}_handleVector(e,t,r){let n=r;if(null==n)n=t;else if(n.getRowCount()!==t.getRowCount()||n.getColumnCount()!==t.getColumnCount())return fhe.create(Jde.REF);return e.isArray()?e.map(e=>this.binarySearch(e,t,n)):this.binarySearch(e,t,n)}_handleArray(e,t){let r,n,i=t.getRowCount(),a=t.getColumnCount();return a>i?(r=t.slice([0,1]),n=t.slice([i-1,i])):(r=t.slice(void 0,[0,1]),n=t.slice(void 0,[a-1,a])),null==r||null==n?fhe.create(Jde.VALUE):e.isArray()?e.map(e=>this.binarySearch(e,r,n)):this.binarySearch(e,r,n)}},bpe.LOOKUP],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return fhe.create(Jde.REF);if(!t.isArray())return fhe.create(Jde.VALUE);let n=t.getRowCount(),i=t.getColumnCount();if(1!==n&&1!==i||null!=r&&r.isError())return fhe.create(Jde.NA);let a=this.getMatchTypeValue(r);return null==a?fhe.create(Jde.VALUE):e.isArray()?e.map(e=>this._handleSingleObject(e,t,a)):this._handleSingleObject(e,t,a)}_handleSingleObject(e,t,r){let n=e.isNull()?Age.create(0):e,i=this._getSearchModeValue(r),a=t.orderSearch(n,i);if(null==a)return fhe.create(Jde.NA);if(a instanceof fhe)return a;let o=1===t.getRowCount()?a.column+1:a.row+1;return Age.create(o)}_getSearchModeValue(e){switch(e){case 1:return ege.MIN;case 0:return ege.NORMAL;case-1:return ege.MAX}}},bpe.MATCH],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",5),Kde(this,"needsReferenceObject",!0)}isAddress(){return!0}calculate(e,t,r,n,i){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(null!=n&&n.isError())return n;if(null!=i&&i.isError())return i;if(!e.isReferenceObject())return fhe.create(Jde.VALUE);let a=e.getRowCount(),o=e.getColumnCount(),s=t;s.isReferenceObject()&&(s=s.toArrayValueObject());let l=r;l.isReferenceObject()&&(l=l.toArrayValueObject());let u=null==n?Age.create(a):n;u.isReferenceObject()&&(u=u.toArrayValueObject()),u.isNull()&&(u=Age.create(a));let c=null==i?Age.create(o):i;c.isReferenceObject()&&(c=c.toArrayValueObject()),c.isNull()&&(c=Age.create(o));let d=Math.max(s.isArray()?s.getRowCount():1,l.isArray()?l.getRowCount():1,u.isArray()?u.getRowCount():1,c.isArray()?c.getRowCount():1),h=Math.max(s.isArray()?s.getColumnCount():1,l.isArray()?l.getColumnCount():1,u.isArray()?u.getColumnCount():1,c.isArray()?c.getColumnCount():1);if(1===d&&1===h)return s=s.isArray()?s.get(0,0):s,l=l.isArray()?l.get(0,0):l,u=u.isArray()?u.get(0,0):u,c=c.isArray()?c.get(0,0):c,this._handleSingleObject(e,s,l,u,c);let m=Wge(d,h,s,fhe.create(Jde.NA)),f=Wge(d,h,l,fhe.create(Jde.NA)),g=Wge(d,h,u,fhe.create(Jde.NA)),p=Wge(d,h,c,fhe.create(Jde.NA)),v=[];return m.iterator((t,r,n)=>{let i=f.get(r,n),a=g.get(r,n),o=p.get(r,n);if(v[r]=v[r]||[],null==t)return void(v[r][n]=fhe.create(Jde.NA));if(t.isError())return void(v[r][n]=t);if(i.isError())return void(v[r][n]=i);if(a.isError())return void(v[r][n]=a);if(o.isError())return void(v[r][n]=o);let s=this._handleSingleObject(e,t,i,a,o);v[r][n]=s}),new hye("",v)}_handleSingleObject(e,t,r,n,i){let{startRow:a,startColumn:o}=e.getRangePosition(),s=t;if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isError())return s;let l=r;if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;let u=+s.getValue(),c=+l.getValue();if("number"!=typeof u||"number"!=typeof c)return fhe.create(Jde.VALUE);let d=a+u,h=o+c;if(d<0||h<0||d>=gh||h>=ph)return fhe.create(Jde.REF);let m=this.getIndexNumValue(n),f=this.getIndexNumValue(i);if("number"!=typeof m||"number"!=typeof f)return fhe.create(Jde.VALUE);if(0===m||0===f)return fhe.create(Jde.REF);let g=m>0?d+m-1:d+m+1,p=f>0?h+f-1:h+f+1;if(g<0||p<0||g>=gh||p>=ph)return fhe.create(Jde.REF);let v={startRow:dg?d:g,endColumn:h>p?h:p};return this.createReferenceObject(e,v)}},bpe.OFFSET],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",0),Kde(this,"maxParams",1)}calculate(e){if(null==e)return Age.create(this.row+1);if(e.isError())return e;if(!e.isArray())return fhe.create(Jde.NA);let t=e.getCurrentRow(),r=e.getRowCount(),n=[];for(let e=0;e{let r=this._handleSingleObject(e,i,a,t);return r.isArray()?r.get(0,0):r})}return this._handleSingleObject(e,i,a,o)}_handleSingleObject(e,t,r,n){if(e.isError())return e;let i=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=this._checkArrayError(t);if(o.isError())return o;let s=Math.floor(+o.getValue());if(s<1)return fhe.create(Jde.VALUE);let l=this._checkArrayError(r);if(l.isError())return l;let u=Math.floor(+l.getValue());if(-1!==u&&1!==u)return fhe.create(Jde.VALUE);let c=n;if(c.isString()&&(c=c.convertToNumberObjectValue()),c.isError())return c;if(!e.isArray()||1===i&&1===a)return e;let d=+c.getValue();return this._getResult(e,s,u,d,i,a)}_checkArrayError(e){let t=e;if(t.isArray()){let e=t.getRowCount(),r=t.getColumnCount();if(e>1||r>1)return fhe.create(Jde.VALUE);t=t.get(0,0)}return t.isString()&&(t=t.convertToNumberObjectValue()),t}_getResult(e,t,r,n,i,a){if(n){if(t>i)return fhe.create(Jde.VALUE);let n=e.transpose().getArrayValue();return n.sort(this._sort(t-1,r)),Lge.create({calculateValueList:n,rowCount:n.length,columnCount:n[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column}).transpose()}{if(t>a)return fhe.create(Jde.VALUE);let n=e.getArrayValue();return n.sort(this._sort(t-1,r)),Lge.create({calculateValueList:n,rowCount:n.length,columnCount:n[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}_sort(e,t=1){let r=tge();return 1===t?this._sortAsc(e,r):this._sortDesc(e,r)}_sortAsc(e,t){return(r,n)=>{let i=r[e],a=n[e];if(null==i||i.isNull())return 1;if(null==a||a.isNull())return-1;if(i.isError()&&a.isError())return 0;if(i.isError())return 1;if(a.isError())return-1;let o=i.getValue(),s=a.getValue();return i.isBoolean()&&!0===o?1:a.isBoolean()&&!0===s?-1:i.isBoolean()&&!1===o?1:a.isBoolean()&&!1===s?-1:i.isNumber()&&a.isNumber()?o-+s:t(o,s)}}_sortDesc(e,t){return(r,n)=>{let i=r[e],a=n[e];if(null==i||i.isNull())return 1;if(null==a||a.isNull())return-1;if(i.isError()&&a.isError())return 0;if(i.isError())return-1;if(a.isError())return 1;let o=i.getValue(),s=a.getValue();return i.isBoolean()&&!0===o?-1:a.isBoolean()&&!0===s?1:i.isBoolean()&&!1===o?-1:a.isBoolean()&&!1===s?1:i.isNumber()&&a.isNumber()?s-+o:t(s,o)}}},bpe.SORT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",255)}calculate(e,...t){1===t.length&&t.push(Age.create(1));let r=this._getVariantsError(e,...t),{maxRowLength:n,maxColumnLength:i}=function(e){let t=0,r=0;return e.forEach((e,n)=>{if(n%2==1)if(e.isArray()){let n=e;t=Math.max(t,n.getRowCount()),r=Math.max(r,n.getColumnCount())}else t=Math.max(t,1),r=Math.max(r,1)}),{maxRowLength:t,maxColumnLength:r}}(t);if(r.isError()){let e=Wge(n,i,r);return 1===n&&1===i?e.get(0,0):e}let a=t.map((e,t)=>t%2==0?e:Wge(n,i,e,fhe.create(Jde.NA))),o=this._getResultArray(e,a,n,i);return 1===n&&1===i?o[0][0]:Lge.create({calculateValueList:o,rowCount:o.length,columnCount:o[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}_getVariantsError(e,...t){if(e.isError())return e;for(let e=0;e1||a>1)&&(i>1&&a>1||1===i&&a!==n||1===a&&i!==r))return fhe.create(Jde.VALUE);for(let e=2;ee.slice(0,a))));let p=Lge.create({calculateValueList:g,rowCount:g.length,columnCount:g[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column});r>1||n>1?l[u].push(p.get(0,0)):l[u].push(p)}}return l}_getByArraysAndSortOrders(e,t,r,n){let i=[],a=[],o=!1,s=null;for(let l=0;l{let a=n[e],o=i[e],s=this._compare(a,o,t[0],r);if(0===s&&t.length>1)for(let l=1;l1||l>1)return u.mapValue((t,r,a)=>{let o=c.get(r,a);if(e.isError())return e;if(e.isNull())return fhe.create(Jde.VALUE);let{isError:s,errorObject:l}=this._checkRowsColumns(t,o,n,i);return s?l:e.isArray()?fhe.create(Jde.VALUE):e});if(e.isError())return e;if(e.isNull())return fhe.create(Jde.VALUE);let d=a.isArray()?a.get(0,0):a,h=o.isArray()?o.get(0,0):o,{isError:m,errorObject:f,rowsValue:g,columnsValue:p}=this._checkRowsColumns(d,h,n,i);return m?f:this._getResultArray(e,g,p,n,i)}_checkRowsColumns(e,t,r,n){if(e.isError())return{isError:!0,errorObject:e};if(t.isError())return{isError:!0,errorObject:t};let i=Math.trunc(+e.getValue()),a=Math.trunc(+t.getValue());return Number.isNaN(i)||Number.isNaN(a)?{isError:!0,errorObject:fhe.create(Jde.VALUE)}:0===Math.abs(i)||0===Math.abs(a)?{isError:!0,errorObject:fhe.create(Jde.CALC)}:(i>r&&(i=r),a>n&&(a=n),{isError:!1,rowsValue:i,columnsValue:a})}_getResultArray(e,t,r,n,i){if(!e.isArray())return e;let a,o=t>=0?[0,t]:[n+t,n],s=r>=0?[0,r]:[i+r,i];return a=t===n&&r===i?e:t===n?e.slice(void 0,s):r===i?e.slice(o,void 0):e.slice(o,s),a=a.map(e=>e.isNull()?Age.create(0):e),1===t&&1===r?a.get(0,0):a}},bpe.TAKE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",3)}calculate(e,t,r){let n=null==t?Age.create(0):t,i=null==r?Sge.create(!1):r,a=Math.max(n.isArray()?n.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(n.isArray()?n.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=Wge(a,o,n,fhe.create(Jde.NA)),l=Wge(a,o,i,fhe.create(Jde.NA)),u=s.mapValue((t,r,n)=>{let i=l.get(r,n);if(e.isError())return e;if(e.isNull())return fhe.create(Jde.VALUE);if(t.isError())return t;if(i.isError())return i;let s=Math.trunc(+t.getValue()),u=+i.getValue();if(Number.isNaN(s)||s<0||s>3||Number.isNaN(u))return fhe.create(Jde.VALUE);if(!e.isArray())return e;let c=[];return c=u?this._getArrayValueByColumn(e,s):this._getArrayValueByRow(e,s),0===c.length?fhe.create(Jde.CALC):a>1||o>1||1===c.length?c[0]:Lge.create({calculateValueList:c.map(e=>[e]),rowCount:c.length,columnCount:1,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return 1===a&&1===o?u.get(0,0):u}_getArrayValueByColumn(e,t){let r=e,n=r.getRowCount(),i=r.getColumnCount(),a=[];for(let e=0;e{let i=l.get(r,n);if(e.isError())return e;if(t.isError())return t;if(i.isError())return i;let s=Math.trunc(+t.getValue()),u=+i.getValue();if(Number.isNaN(s)||s<0||s>3||Number.isNaN(u)||e.isNull())return fhe.create(Jde.VALUE);if(!e.isArray())return e;let c=[];return c=u?this._getArrayValueByColumn(e,s):this._getArrayValueByRow(e,s),0===c.length?fhe.create(Jde.CALC):a>1||o>1||1===c.length?c[0]:Lge.create({calculateValueList:[c],rowCount:1,columnCount:c.length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return 1===a&&1===o?u.get(0,0):u}_getArrayValueByColumn(e,t){let r=e,n=r.getRowCount(),i=r.getColumnCount(),a=[];for(let e=0;e{let i=t,u=c.get(r,n);if(e.isError())return e;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(u.isString()&&(u=u.convertToNumberObjectValue()),u.isError())return u;let d,h=+i.getValue(),m=+u.getValue();return d=!h&&1===a||h&&1===o?e:this._getResult(e,h,m),(s>1||l>1)&&null!=d&&d.isArray()?d.get(0,0):d});return 1===s&&1===l?d.get(0,0):d}_getResult(e,t,r){let n=e.isArray()?e.getRowCount():1,i=e.isArray()?e.getColumnCount():1,a=e.getArrayValue(),o=n,s=i;t&&(a=this._transposeArray(a),o=i,s=n);let l=this._getRepeatRows(a,o,s);if(l.length>0){let e=[];l.forEach(t=>{t.forEach((t,n)=>{(0!==n||r)&&e.push(t)})}),a=a.filter((t,r)=>!e.includes(r))}return 0===a.length?fhe.create(Jde.CALC):(t&&(a=this._transposeArray(a)),Lge.create({calculateValueList:a,rowCount:a.length,columnCount:a[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column}))}_getRepeatRows(e,t,r){let n=[];for(let i=0;i({r,valueObject:e[r][i]}));n=this._getRepeatRowsByObjects(r)}else{if(0===n.length)break;let t=[];n.forEach(r=>{let n=r.map(t=>({r:t,valueObject:e[t][i]})),a=this._getRepeatRowsByObjects(n);t=t.concat(a)}),n=t}return n}_getRepeatRowsByObjects(e){let t=new Map;return e.forEach(e=>{let r=e.r,n=e.valueObject,i=n.getValue();if(n.isNull()?i=null:n.isString()&&$d(i)&&(i=+i),t.has(i)){let e=t.get(i);e.push(r),t.set(i,e)}else t.set(i,[r])}),Array.from(t.values()).filter(e=>e.length>1)}_transposeArray(e){let t=e.length,r=e[0].length,n=[];for(let i=0;i{if(null==e)return o=fhe.create(Jde.VALUE),!1;let l=this._handleTableArray(i,t,e,a);if(l.isError())return o=l,!1;void 0===s[r]&&(s[r]=[]),s[r][n]=l}),o||zge(s,s.length,s[0].length,this.unitId||"",this.subUnitId||"")}_handleNonArrayColIndexNum(e,t,r,n){let i=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=Wge(i,a,e),s=Wge(i,a,n);return o.map((e,n,i)=>{if(e.isError())return e;let a=s.get(n,i);if(null==a)return fhe.create(Jde.VALUE);if(a.isError())return a;let o=this.getZeroOrOneByOneDefault(a);return null==o?fhe.create(Jde.VALUE):this._handleTableArray(e,t,r,o)})}_handleTableArray(e,t,r,n){let i=this.getIndexNumValue(r);if(i instanceof fhe)return i;if(i=Math.floor(i),i<1)return fhe.create(Jde.VALUE);let a=t.slice(void 0,[0,1]);if(null==a)return fhe.create(Jde.VALUE);let o=t.slice(void 0,[i-1,i]);return null==o?fhe.create(Jde.REF):this._handleSingleObject(e,a,o,n)}_handleSingleObject(e,t,r,n){return 0===n?this.equalSearch(e,t,r):this.binarySearch(e,t,r)}},bpe.VLOOKUP],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",255)}calculate(...e){let t=Math.max(...e.map(e=>e.isArray()?e.getColumnCount():1)),r=[];for(let n=0;no-1||!t?n.push(fhe.create(Jde.NA)):n.push(t)}r.push(n)}}return Lge.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},bpe.VSTACK],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",3)}calculate(e,t,r){let n=null==r?fhe.create(Jde.NA):r;n.isNull()&&(n=fhe.create(Jde.NA));let i=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=Math.max(t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),s=Math.max(t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),l=Wge(o,s,t,fhe.create(Jde.NA)),u=Wge(o,s,n,fhe.create(Jde.NA)),c=l.mapValue((t,r,n)=>{let l=u.get(r,n);if(e.isError())return e;if(e.isNull())return fhe.create(Jde.VALUE);if(t.isError())return t;let c=Math.trunc(+t.getValue());if(i>1&&a>1||Number.isNaN(c))return fhe.create(Jde.VALUE);if(c<1)return fhe.create(Jde.NUM);let d=e.isArray()?e.getArrayValue().flat():[e],h=this._getWrapArray(d,c,l);return o>1||s>1||1===h.length&&1===h[0].length?h[0][0]:Lge.create({calculateValueList:h,rowCount:h.length,columnCount:h[0].length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return 1===o&&1===s?c.get(0,0):c}_getWrapArray(e,t,r){let n=Math.ceil(e.length/t),i=n>1?t:e.length,a=[];for(let t=0;t{let l=u.get(r,n);if(e.isError())return e;if(e.isNull())return fhe.create(Jde.VALUE);if(t.isError())return t;let c=Math.trunc(+t.getValue());if(i>1&&a>1||Number.isNaN(c))return fhe.create(Jde.VALUE);if(c<1)return fhe.create(Jde.NUM);let d=e.isArray()?e.getArrayValue().flat():[e],h=this._getWrapArray(d,c,l);return o>1||s>1||1===h.length&&1===h[0].length?h[0][0]:Lge.create({calculateValueList:h,rowCount:h.length,columnCount:h[0].length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return 1===o&&1===s?c.get(0,0):c}_getWrapArray(e,t,r){let n=Math.ceil(e.length/t),i=n>1?t:e.length,a=[];for(let t=0;t1&&c!==h||1===c&&u>1&&u!==d)return fhe.create(Jde.VALUE);if(s.isError())return s;if(l.isError())return l;let m=this.getIndexNumValue(s);if(m instanceof fhe)return m;let f=this.getIndexNumValue(l);return f instanceof fhe?f:this._getResult(e,Zge(t),Zge(r),o,m,f,u,c,d,h)}_getResult(e,t,r,n,i,a,o,s,l,u){let c=e.isArray()?e.getRowCount():1,d=e.isArray()?e.getColumnCount():1;if(c>1||d>1){let s;return s=1===o?r.slice([0,1]):r.slice(void 0,[0,1]),null==s?fhe.create(Jde.NA):e.map(e=>{let r=this._checkErrorCombination(i,a);if(r)return r;let o=this._handleSingleObject(e,t,s,i,a);return o.isError()?n:o})}let h=e.isArray()?e.get(0,0):e;if(s===u&&o===l){let e=this._checkErrorCombination(i,a);if(e)return e;let o=this._handleSingleObject(h,t,r,i,a);return o.isError()?n:o}let m=0;s===u&&(m=1);let f=this._handleExpandObject(h,t,r,i,a,m);return null==f?fhe.create(Jde.NA):f}_handleExpandObject(e,t,r,n,i,a=0){if((2===i||-2===i)&&2!==n){let o=oge(i),s=age(n);return this.binarySearchExpand(e,t,r,a,o,s)}return 2===n?this.fuzzySearchExpand(e,t,r,-1!==i,a):-1===n||1===n?this.orderSearchExpand(e,t,r,1===n?ege.MAX:ege.MIN,-1===i,a):this.equalSearchExpand(e,t,r,-1!==i,a)}_handleSingleObject(e,t,r,n,i){if((2===i||-2===i)&&2!==n){let a=oge(i),o=age(n);return this.binarySearch(e,t,r,a,o)}return 2===n?this.fuzzySearch(e,t,r,-1!==i):-1===n||1===n?this.orderSearch(e,t,r,1===n?ege.MAX:ege.MIN,-1===i):this.equalSearch(e,t,r,-1!==i)}_checkErrorCombination(e,t){return 2!==e||-2!==t&&2!==t?null:fhe.create(Jde.VALUE)}},bpe.XLOOKUP],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",4)}calculate(e,t,r,n){let i=Age.create(0);r&&!r.isNull()&&(i=r);let a=Age.create(1);n&&!n.isNull()&&(a=n);let o=Math.max(e.isArray()?e.getRowCount():1,i.isArray()?i.getRowCount():1,a.isArray()?a.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,i.isArray()?i.getColumnCount():1,a.isArray()?a.getColumnCount():1),l=Wge(o,s,e,fhe.create(Jde.NA)),u=Wge(o,s,i,fhe.create(Jde.NA)),c=Wge(o,s,a,fhe.create(Jde.NA)),d=l.mapValue((e,r,n)=>{if(e.isError())return e;let i=u.get(r,n),a=c.get(r,n);return i.isError()?i:a.isError()?a:this._handleSingleObject(e,t,i,a)});return 1===o&&1===s?d.get(0,0):d}_handleSingleObject(e,t,r,n){let i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;if(1!==i&&1!==a)return fhe.create(Jde.VALUE);let o=r;if((r.isString()||r.isBoolean()||r.isNull())&&(o=r.convertToNumberObjectValue()),o.isError())return o;let s=n;if((n.isString()||n.isBoolean()||n.isNull())&&(s=n.convertToNumberObjectValue()),s.isError())return s;let l=o.getValue(),u=s.getValue();return[-1,0,1,2].includes(l)&&[-1,1,2].includes(u)?this._getResult(e,t,l,u):fhe.create(Jde.VALUE)}_getResult(e,t,r,n){let i,a=Zge(t);if(2!==n&&-2!==n||2===r)if(2===r){let t,r=a.compare(e,ihe.EQUALS);if(t=-1===n?r.getLastTruePosition():r.getFirstTruePosition(),null==t)return fhe.create(Jde.NA);i=1===a.getRowCount()?t.column:t.row}else if(-1===r||1===r){let t=a.orderSearch(e,1===r?ege.MAX:ege.MIN,-1===n);if(null==t)return fhe.create(Jde.NA);if(t instanceof fhe)return t;i=1===a.getRowCount()?t.column:t.row}else{let t,r=a.isEqual(e);if(t=-1===n?r.getLastTruePosition():r.getFirstTruePosition(),null==t)return fhe.create(Jde.NA);i=1===a.getRowCount()?t.column:t.row}else{let t=oge(n),o=age(r);i=a.binarySearch(e,t,o)}return null==i?fhe.create(Jde.NA):Age.create(i+1)}},bpe.XMATCH]];function fye(e){let t=e.getValue();if(e.isBoolean()&&(t=t?1:0),!Number.isFinite(t))return fhe.create(Jde.VALUE);t=Number(t);let r=Math.atan(1/t);return t<0&&(r+=Math.PI),Number.isNaN(r)?fhe.create(Jde.VALUE):Age.create(r)}function gye(e){let t=e.getValue();if(e.isBoolean()&&(t=t?1:0),!Number.isFinite(t))return fhe.create(Jde.VALUE);if(t=Number(t),Math.abs(t)<=1)return fhe.create(Jde.NUM);let r=.5*Math.log((t+1)/(t-1));return Number.isNaN(r)?fhe.create(Jde.VALUE):Age.create(r)}const pye={1:Fbe.AVERAGE,2:Fbe.COUNT,3:Fbe.COUNTA,4:Fbe.MAX,5:Fbe.MIN,6:Fbe.PRODUCT,7:Fbe.STDEV_S,8:Fbe.STDEV_P,9:Fbe.SUM,10:Fbe.VAR_S,11:Fbe.VAR_P,12:Fbe.MEDIAN,13:Fbe.MODE_SNGL},vye={1:Fbe.AVERAGE,2:Fbe.COUNT,3:Fbe.COUNTA,4:Fbe.MAX,5:Fbe.MIN,6:Fbe.PRODUCT,7:Fbe.STDEV,8:Fbe.STDEVP,9:Fbe.SUM,10:Fbe.VAR,11:Fbe.VARP},bye=[[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.abs()}},Cpe.ABS],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.acos()}},Cpe.ACOS],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.acosh()}},Cpe.ACOSH],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.isArray()?t.map(e=>e.isError()?e:fye(e)):fye(t)}},Cpe.ACOT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.isArray()?t.map(e=>e.isError()?e:gye(e)):gye(t)}},Cpe.ACOTH],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",255),Kde(this,"needsReferenceObject",!0),Kde(this,"needsFilteredOutRows",!0),Kde(this,"needsFormulaDataModel",!0)}calculate(e,t,...r){let n,i,{isError:a,multiAreaRefs:o,normalRefs:s}=Vbe(r);n=e.isReferenceObject()?e.toArrayValueObject():e,i=t.isReferenceObject()?t.toArrayValueObject():t;let l=Math.max(n.isArray()?n.getRowCount():1,i.isArray()?i.getRowCount():1),u=Math.max(n.isArray()?n.getColumnCount():1,i.isArray()?i.getColumnCount():1),c=Wge(l,u,n,fhe.create(Jde.NA)),d=Wge(l,u,i,fhe.create(Jde.NA)),h=c.mapValue((e,t,n)=>{if(e.isError())return e;let i=d.get(t,n);return i.isError()?i:o.length>0?fhe.create(Jde.VALUE):this._handleSingleObject(e,i,r,a,s)});return 1===h.getRowCount()&&1===h.getColumnCount()?h.get(0,0):h}_handleSingleObject(e,t,r,n,i){let a=e;if(e.isString()&&(a=e.convertToNumberObjectValue()),a.isError())return a;let o=Math.floor(+a.getValue());if(o<1||o>19||o>=1&&o<=13&&n||o>=14&&o<=19&&2!==r.length)return fhe.create(Jde.VALUE);let s=t;if(t.isString()&&(s=t.convertToNumberObjectValue()),s.isError())return s;let l=Math.floor(+s.getValue());if(l<0||l>7)return fhe.create(Jde.VALUE);let u=this._getAggregateOptions(l);return o>=14&&o<=19?this._handleLargeSmallPercentileQuartile(o,u,r[0],r[1]):zbe({type:pye[o],...u,formulaDataModel:this._formulaDataModel},i)}_getAggregateOptions(e){switch(e){case 1:return{ignoreRowHidden:!0,ignoreErrorValues:!1,ignoreNested:!0};case 2:return{ignoreRowHidden:!1,ignoreErrorValues:!0,ignoreNested:!0};case 3:return{ignoreRowHidden:!0,ignoreErrorValues:!0,ignoreNested:!0};case 4:return{ignoreRowHidden:!1,ignoreErrorValues:!1,ignoreNested:!1};case 5:return{ignoreRowHidden:!0,ignoreErrorValues:!1,ignoreNested:!1};case 6:return{ignoreRowHidden:!1,ignoreErrorValues:!0,ignoreNested:!1};case 7:return{ignoreRowHidden:!0,ignoreErrorValues:!0,ignoreNested:!1};default:return{ignoreRowHidden:!1,ignoreErrorValues:!1,ignoreNested:!0}}}_handleLargeSmallPercentileQuartile(e,t,r,n){let i;if(i=n.isReferenceObject()?n.toArrayValueObject():n,i.isError())return i;if(i.isArray()){let e=i.getRowCount(),t=i.getColumnCount();if(e>1||t>1)return fhe.create(Jde.VALUE);i=i.get(0,0)}let a=Xbe(r,t,this._formulaDataModel);if(!Array.isArray(a))return a;let o=+i.getValue();switch(e){case 14:return Gbe(a,o);case 15:return Ybe(a,o);case 16:return Qbe(a,o);case 17:return Kbe(a,o);case 18:return Zbe(a,o);case 19:return $be(a,o);default:return fhe.create(Jde.VALUE)}}},Cpe.AGGREGATE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return 1===t.getRowCount()&&1===t.getColumnCount()?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return Age.create(0);if(e.isBoolean()||e.isNumber())return fhe.create(Jde.VALUE);let t=e.getValue().toLocaleString().toLocaleUpperCase();if(t.length>255)return fhe.create(Jde.VALUE);let r=t.startsWith("-");r&&(t=t.slice(1));let n=0;for(let e=0;e=i&&a>r||r===i&&r===a&&r===o||r===i/2)return fhe.create(Jde.VALUE);r{let n=s.get(t,r),i=l.get(t,r);return this._handleSingleObject(e,n,i)});return 1===u.getRowCount()&&1===u.getColumnCount()?u.getArrayValue()[0][0]:u}_handleSingleObject(e,t,r){let n=e;if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let i=t;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let a=r;if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return a;let o=Math.floor(+n.getValue()),s=Math.floor(+i.getValue()),l=Math.floor(+a.getValue());if(o<0||o>=2**53||s<2||s>36||l<0)return fhe.create(Jde.NUM);let u=o.toString(s);return u.length{let n=e,i=a.get(t,r);if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let o=+n.getValue(),s=+i.getValue();if(o>0&&s<0)return fhe.create(Jde.NUM);if(0===o||0===s)return Age.create(0);let l=vge(o/s,0)*s;return Age.create(l)});return 1===o.getRowCount()&&1===o.getColumnCount()?o.getArrayValue()[0][0]:o}},Cpe.CEILING],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",3)}calculate(e,t,r){let n=null==t?Age.create(1):t,i=null==r?Age.create(0):r;if(e.isError())return e;if(n.isError())return n;if(i.isError())return i;let a=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=Wge(a,o,e,fhe.create(Jde.NA)),l=Wge(a,o,n,fhe.create(Jde.NA)),u=Wge(a,o,i,fhe.create(Jde.NA)),c=s.map((e,t,r)=>{let n=e,i=l.get(t,r),a=u.get(t,r);if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return a;let o=+n.getValue(),s=+i.getValue(),c=+a.getValue();return 0===o||0===s?Age.create(0):this._getResult(o,s,c)});return 1===a&&1===o?c.get(0,0):c}_getResult(e,t,r){let n;return n=e<0&&0!==r?(t<0?vge(Math.abs(e)/Math.abs(t),0):-vge(Math.abs(e)/t,0))*t:(t<0?-vge(e/Math.abs(t),0):vge(e/t,0))*t,Age.create(n)}},Cpe.CEILING_MATH],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",2)}calculate(e,t){let r=null==t?Age.create(1):t;if(e.isError())return e;if(r.isError())return r;let n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=Wge(n,i,e,fhe.create(Jde.NA)),o=Wge(n,i,r,fhe.create(Jde.NA)),s=a.map((e,t,r)=>{let n=o.get(t,r),i=e;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let a=+i.getValue(),s=+n.getValue();if(0===a||0===s)return Age.create(0);let l=(s<0?-vge(a/Math.abs(s),0):vge(a/s,0))*s;return Age.create(l)});return 1===n&&1===i?s.get(0,0):s}},Cpe.CEILING_PRECISE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=Wge(r,n,e,fhe.create(Jde.NA)),a=Wge(r,n,t,fhe.create(Jde.NA)),o=i.mapValue((e,t,r)=>{let n=e,i=a.get(t,r);if(n.isString()&&(n=n.convertToNumberObjectValue()),i.isString()&&(i=i.convertToNumberObjectValue()),n.isError())return n;if(i.isError())return i;let o=Math.floor(+n.getValue()),s=Math.floor(+i.getValue());if(o<0||s<0||o{let n=e,i=a.get(t,r);if(n.isString()&&(n=n.convertToNumberObjectValue()),i.isString()&&(i=i.convertToNumberObjectValue()),n.isError())return n;if(i.isError())return i;let o=Math.floor(+n.getValue()),s=Math.floor(+i.getValue());if(o<0||s<0||0===o&&othis._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let r=+t.getValue();return Math.abs(r)>=2**27?fhe.create(Jde.NUM):0===r?fhe.create(Jde.DIV_BY_ZERO):t.tan().getReciprocal()}},Cpe.COT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:0==+t.getValue()?fhe.create(Jde.DIV_BY_ZERO):t.tanh().getReciprocal()}},Cpe.COTH],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let r=+t.getValue();return Math.abs(r)>=2**27?fhe.create(Jde.NUM):0===r?fhe.create(Jde.DIV_BY_ZERO):t.sin().getReciprocal()}},Cpe.CSC],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let r=+t.getValue();return 0===r?fhe.create(Jde.DIV_BY_ZERO):Number.isNaN(r)||Number.isFinite(Math.sinh(r))?t.sinh().getReciprocal():Age.create(0)}},Cpe.CSCH],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=Wge(r,n,e,fhe.create(Jde.NA)),a=Wge(r,n,t,fhe.create(Jde.NA)),o=i.map((e,t,r)=>{if(e.isError())return e;let n=a.get(t,r);if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let i=`${e.getValue()}`,o=Math.floor(+n.getValue());if($d(i)&&(+i<0||+i>=2**53||!Number.isInteger(+i))||"true"===i.toLocaleLowerCase()||"false"===i.toLocaleLowerCase()||o<2||o>36)return fhe.create(Jde.NUM);if(""===i.replace(/\s/g,""))return Age.create(0);if(!this._isValidCharForRadix(i,o))return fhe.create(Jde.NUM);let s=Number.parseInt(i,o);return Number.isNaN(s)?fhe.create(Jde.NUM):Age.create(s)});return 1===r&&1===n?o.get(0,0):o}_isValidCharForRadix(e,t){for(let r of e){let e=r.toUpperCase().charCodeAt(0);if(t<=10&&!(e>=48&&e<48+t)||t>10&&!(e>=48&&e<58||e>=65&&e<65+t-10))return!1}return!0}},Cpe.DECIMAL],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let r=+t.getValue();if(!Number.isFinite(r))return fhe.create(Jde.VALUE);let n=r*(180/Math.PI);return Number.isNaN(n)?fhe.create(Jde.VALUE):Age.create(n)}},Cpe.DEGREES],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let r=+t.getValue();if(!Number.isFinite(r))return fhe.create(Jde.VALUE);let n=2*(r<0?-vge(Math.abs(r)/2,0):vge(r/2,0));return Number.isNaN(n)?fhe.create(Jde.VALUE):0===n?Age.create(0):Age.create(n)}},Cpe.EVEN],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.exp()}},Cpe.EXP],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){return e.isArray()?e.mapValue(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let r=Xve(Math.floor(+t.getValue()));return Number.isNaN(r)||!Number.isFinite(r)?fhe.create(Jde.NUM):Age.create(r)}},Cpe.FACT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){let t=e;if(e.isArray()){let r=e.getRowCount(),n=e.getColumnCount();if(r>1||n>1)return fhe.create(Jde.VALUE);t=e.get(0,0)}return this._handleSingleObject(t)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let r=Xve(Math.floor(+t.getValue()),2);return Number.isNaN(r)||!Number.isFinite(r)?fhe.create(Jde.NUM):Age.create(r)}},Cpe.FACTDOUBLE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=Wge(r,n,e,fhe.create(Jde.NA)),a=Wge(r,n,t,fhe.create(Jde.NA)),o=i.map((e,t,r)=>{let n=a.get(t,r),i=e;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let o=+i.getValue(),s=+n.getValue();if(o>0&&s<0)return fhe.create(Jde.NUM);if(0===o)return Age.create(0);if(0===s)return fhe.create(Jde.DIV_BY_ZERO);let l=pge(o/s,0)*s;return Age.create(l)});return 1===r&&1===n?o.get(0,0):o}},Cpe.FLOOR],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",3)}calculate(e,t,r){let n=null==t?Age.create(1):t,i=null==r?Age.create(0):r,a=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=Wge(a,o,e,fhe.create(Jde.NA)),l=Wge(a,o,n,fhe.create(Jde.NA)),u=Wge(a,o,i,fhe.create(Jde.NA)),c=s.map((e,t,r)=>{let n=e,i=l.get(t,r),a=u.get(t,r);if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return a;let o,s=+n.getValue(),c=+i.getValue(),d=+a.getValue();return 0===s||0===c?Age.create(0):(o=s<0&&0!==d?(c<0?pge(Math.abs(s)/Math.abs(c),0):-pge(Math.abs(s)/c,0))*c:(c<0?-pge(s/Math.abs(c),0):pge(s/c,0))*c,Age.create(o))});return 1===a&&1===o?c.get(0,0):c}},Cpe.FLOOR_MATH],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",2)}calculate(e,t){let r=null==t?Age.create(1):t;if(e.isError())return e;if(r.isError())return r;let n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=Wge(n,i,e,fhe.create(Jde.NA)),o=Wge(n,i,r,fhe.create(Jde.NA)),s=a.map((e,t,r)=>{let n=o.get(t,r),i=e;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let a=+i.getValue(),s=+n.getValue();if(0===a||0===s)return Age.create(0);let l=(s<0?-pge(a/Math.abs(s),0):pge(a/s,0))*s;return Age.create(l)});return 1===n&&1===i?s.get(0,0):s}},Cpe.FLOOR_PRECISE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",255)}calculate(...e){let t=0;for(let r=0;r{if(null!=n&&n.isNull())return!0;let{isError:i,errorObject:a,number:o}=this._handleSingleObject(n);if(i)return e=!0,r=a,!1;t=Gve(t,o)}),e)return r}else{let{isError:e,errorObject:r,number:i}=this._handleSingleObject(n);if(e)return r;t=Gve(t,i)}}return Age.create(t)}_handleSingleObject(e){if(e.isBoolean())return{isError:!0,errorObject:fhe.create(Jde.VALUE),number:null};let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return{isError:!0,errorObject:t,number:null};let r=Math.floor(+t.getValue());return r<0||r>=2**53?{isError:!0,errorObject:fhe.create(Jde.NUM),number:null}:{isError:!1,errorObject:null,number:r}}},Cpe.GCD],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){return e.isArray()?e.mapValue(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let r=Math.floor(+t.getValue());return Age.create(r)}},Cpe.INT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",255)}calculate(...e){let t=1,r=!0;for(let n=0;n{if(null!=i&&i.isNull())return!0;let{isError:a,errorObject:o,number:s}=this._handleSingleObject(i);if(a)return e=!0,n=o,!1;t=Yve(t,s),r=!1}),e)return n}else{let{isError:e,errorObject:n,number:a}=this._handleSingleObject(i);if(e)return n;t=Yve(t,a),r=!1}}return r?Age.create(0):Number.isNaN(t)||!Number.isFinite(t)||t>=2**53?fhe.create(Jde.VALUE):Age.create(t)}_handleSingleObject(e){if(e.isBoolean())return{isError:!0,errorObject:fhe.create(Jde.VALUE),number:null};let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return{isError:!0,errorObject:t,number:null};let r=Math.floor(+t.getValue());return r<0?{isError:!0,errorObject:fhe.create(Jde.NUM),number:null}:{isError:!1,errorObject:null,number:r}}},Cpe.LCM],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.log()}},Cpe.LN],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",2)}calculate(e,t){let r=null==t?Age.create(10):t;if(e.isError())return e;if(r.isError())return r;let n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=Wge(n,i,e,fhe.create(Jde.NA)),o=Wge(n,i,r,fhe.create(Jde.NA)),s=a.map((e,t,r)=>{let n=o.get(t,r),i=e;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let a=+i.getValue(),s=+n.getValue();if(a<=0||s<=0)return fhe.create(Jde.NUM);let l=Math.log(s);if(0===l)return fhe.create(Jde.DIV_BY_ZERO);let u=Math.log(a)/l;return Age.create(u)});return 1===n&&1===i?s.get(0,0):s}},Cpe.LOG],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.log10()}},Cpe.LOG10],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){let t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let i=0;iArray(t).fill(0));for(let n=0;ne.map(e=>e/t))}(n);return null===i?fhe.create(Jde.NUM):Lge.createByArray(i)}},Cpe.MINVERSE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;if(n!==i)return fhe.create(Jde.VALUE);let o=this._getMatrix(e,r,n),s=this._getMatrix(t,i,a);if(o instanceof fhe)return o;if(s instanceof fhe)return s;let l=Kve(o,s);return Lge.createByArray(l)}_getMatrix(e,t,r){let n=[];for(let i=0;i1||t>1)return fhe.create(Jde.VALUE);r=r.get(0,0)}if(r.isError())return r;let n=t;if(n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();if(e>1||t>1)return fhe.create(Jde.VALUE);n=n.get(0,0)}if(n.isError())return n;if(r.isBoolean()||n.isBoolean())return fhe.create(Jde.VALUE);let i=+r.getValue(),a=+n.getValue();if(Number.isNaN(i)||Number.isNaN(a))return fhe.create(Jde.VALUE);if(0===a)return Age.create(0);if(i>0&&a<0||i<0&&a>0)return fhe.create(Jde.NUM);let o=gge(i/a,0)*a;return Age.create(o)}},Cpe.MROUND],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",255)}calculate(...e){let t=0,r=1;for(let n=0;n{if(null!=i&&i.isNull())return!0;let{isError:a,errorObject:o,number:s}=this._handleSingleObject(i);return a?(e=!0,n=o,!1):(t+=s,t>170?(e=!0,n=fhe.create(Jde.NUM),!1):void(r*=Xve(s)))}),e)return n}else{let{isError:e,errorObject:n,number:a}=this._handleSingleObject(i);if(e)return n;if(t+=a,t>170)return fhe.create(Jde.NUM);r*=Xve(a)}}let n=Xve(t)/r;return Age.create(n)}_handleSingleObject(e){if(e.isBoolean())return{isError:!0,errorObject:fhe.create(Jde.VALUE),number:null};let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return{isError:!0,errorObject:t,number:null};let r=Math.floor(+t.getValue());return r<0?{isError:!0,errorObject:fhe.create(Jde.NUM),number:null}:{isError:!1,errorObject:null,number:r}}},Cpe.MULTINOMIAL],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){if(e.isArray()){let t=e.getRowCount(),r=e.getColumnCount(),n=e.mapValue(e=>{let n=this._handleSingleObject(e);return n.isError()?n:t>1||r>1?n.get(0,0):n});return 1===t&&1===r?n.get(0,0):n}return this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let r=Math.floor(+t.getValue());if(r<=0)return fhe.create(Jde.VALUE);let n=[];for(let e=0;ethis._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let r=+t.getValue();if(!Number.isFinite(r))return fhe.create(Jde.VALUE);let n=r<0?-vge(Math.abs(r),0):vge(r,0);return Number.isNaN(n)?fhe.create(Jde.VALUE):(Math.abs(n)%2==0&&(r<0?n--:n++),Age.create(n))}},Cpe.ODD],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",0),Kde(this,"maxParams",0)}calculate(){return Age.create(Math.PI)}},Cpe.PI],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let n=t;return n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:r.pow(n)}},Cpe.POWER],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",255)}calculate(...e){let t=Age.create(1),r=!0;for(let n=0;nnull!=i&&i.isError()?(e=!0,n=i,!1):!(i&&!i.isNull()&&!i.isString()&&!i.isBoolean())||(t=t.multiply(i),void(r=!1))),e)return n}else{if(i.isNull())continue;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;t=t.multiply(i),r=!1}if(t.isError())return t}return r?Age.create(0):t}},Cpe.PRODUCT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let{isError:r,errorObject:n,variants:i}=Lve(e,t);if(r)return n;let[a,o]=i,s=+a.getValue(),l=+o.getValue();if(Number.isNaN(s)||Number.isNaN(l))return fhe.create(Jde.VALUE);if(0===l)return fhe.create(Jde.DIV_BY_ZERO);let u=Math.trunc(s/l);return Age.create(u)}},Cpe.QUOTIENT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let r=+t.getValue();if(!Number.isFinite(r))return fhe.create(Jde.VALUE);let n=r*(Math.PI/180);return Number.isNaN(n)?fhe.create(Jde.VALUE):Age.create(n)}},Cpe.RADIANS],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",0),Kde(this,"maxParams",0)}calculate(){return Age.create(Math.random())}},Cpe.RAND],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",0),Kde(this,"maxParams",5),Kde(this,"needsSheetRowColumnCount",!0)}calculate(e,t,r,n,i){if(null!=e&&e.isError())return e;if(null!=t&&t.isError())return t;if(null!=r&&r.isError())return r;if(null!=n&&n.isError())return n;if(null!=i&&i.isError())return i;let a=null==e?Age.create(1):e,o=null==t?Age.create(1):t,s=null==r?Age.create(0):r,l=null==n?Age.create(1):n,u=null==i?Age.create(0):i;return this._calculateResult(a,o,s,l,u)}_calculateResult(e,t,r,n,i){let a=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,i.isArray()?i.getColumnCount():1);if(1===a&&1===o)return this._calculateSingleCell(e,t,r,n,i);let s=Wge(a,o,e,fhe.create(Jde.NA)),l=Wge(a,o,t,fhe.create(Jde.NA)),u=Wge(a,o,r,fhe.create(Jde.NA)),c=Wge(a,o,n,fhe.create(Jde.NA)),d=Wge(a,o,i,fhe.create(Jde.NA));return s.map((e,t,r)=>{let n=l.get(t,r),i=u.get(t,r),a=c.get(t,r),o=d.get(t,r),s=this._handleError(e,n,i,a,o);if(s.errorObject)return s.errorObject;let h,{minValue:m,maxValue:f,wholeNumberValue:g}=s;return g?(m=Math.ceil(m),f=Math.floor(f),h=Math.floor(Math.random()*(f-m+1))+m):h=Math.random()*(f-m)+m,hf?fhe.create(Jde.VALUE):Age.create(h)})}_calculateSingleCell(e,t,r,n,i){let a=e;a.isArray()&&(a=a.get(0,0));let o=t;o.isArray()&&(o=o.get(0,0));let s=r;s.isArray()&&(s=s.get(0,0));let l=n;l.isArray()&&(l=l.get(0,0));let u=i;u.isArray()&&(u=u.get(0,0));let c=this._handleError(a,o,s,l,u);if(c.errorObject)return c.errorObject;let{rowsValue:d,columnsValue:h,minValue:m,maxValue:f,wholeNumberValue:g}=c;if(g&&(m=Math.ceil(m),f=Math.floor(f),m>f))return fhe.create(Jde.VALUE);let p=[];for(let e=0;e10**7)return{errorObject:fhe.create(Jde.VALUE)};if(a>s||o>l)return{errorObject:fhe.create(Jde.REF)};let u=+r.getValue(),c=+n.getValue(),d=+i.getValue();return u>c||d&&(!Number.isInteger(u)||!Number.isInteger(c))?{errorObject:fhe.create(Jde.VALUE)}:{rowsValue:a,columnsValue:o,minValue:u,maxValue:c,wholeNumberValue:d}}},Cpe.RANDARRAY],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();if(e>1||t>1)return fhe.create(Jde.VALUE);r=r.get(0,0)}if(r.isError())return r;let n=t;if(n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();if(e>1||t>1)return fhe.create(Jde.VALUE);n=n.get(0,0)}if(n.isError())return n;if(r.isBoolean()||n.isBoolean())return fhe.create(Jde.VALUE);let i=+r.getValue(),a=+n.getValue();if(Number.isNaN(i)||Number.isNaN(a))return fhe.create(Jde.VALUE);if(i>a)return fhe.create(Jde.NUM);i=Math.ceil(i),a=Math.floor(a);let o=Math.floor(Math.random()*(a-i+1))+i;return Age.create(o)}},Cpe.RANDBETWEEN],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",2)}calculate(e,t){let r=null==t?Age.create(0):t,n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=Wge(n,i,e,fhe.create(Jde.NA)),o=Wge(n,i,r,fhe.create(Jde.NA)),s=a.mapValue((e,t,r)=>{let n=o.get(t,r);return e.isError()?e:n.isError()?n:this._handleSingleObject(e,n)});return 1===n&&1===i?s.get(0,0):s}_handleSingleObject(e,t){let{isError:r,errorObject:n,variants:i}=Pve(e);if(r)return n;let[a]=i,o=Math.floor(+a.getValue()),s=t;if(s.isString()&&(s=s.convertToNumberObjectValue(),s.isError()))return s;let l=Math.floor(+s.getValue());if(s.isBoolean()&&(l=s.getValue()?0:4),o<0||o>3999||l<0||l>4)return fhe.create(Jde.VALUE);let u=obe[l],c=u.length-1,d="";for(;o>0;){c=this._binarySearch(o,0,c,u);let e=u[c];o-=e,d+=abe.get(e)}return Rge.create(d)}_binarySearch(e,t,r,n){let i=t,a=r;for(;a-i>1;){let t=Math.floor((i+a)/2),r=n[t];if(r===e)return t;r>e?a=t:i=t}return i!==a&&n[a]<=e?a:i}},Cpe.ROMAN],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let n=t;return n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:r.round(n)}},Cpe.ROUND],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=Wge(r,n,e,fhe.create(Jde.NA)),a=Wge(r,n,t,fhe.create(Jde.NA)),o=i.mapValue((e,t,r)=>{let n=a.get(t,r);if(e.isError())return e;if(n.isError())return n;let{isError:i,errorObject:o,variants:s}=Pve(e,n);if(i)return o;let[l,u]=s,c=+l.getValue(),d=Math.trunc(+u.getValue()),h=this._roundBank(c,d);return Age.create(h)});return 1===r&&1===n?o.get(0,0):o}_roundBank(e,t){if(t>16)return e;if(t<-16)return 0;let r=10**t,n=+(e*r).toFixed(8),i=Math.floor(n),a=n-i,o=Math.round(n);return a>.5-1e-8&&a<.5+1e-8&&(o=i%2==0?i:i+1),t?o/r:o}},Cpe.ROUNDBANK],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let n=t;return n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:r.floor(n)}},Cpe.ROUNDDOWN],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let n=t;return n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:r.ceil(n)}},Cpe.ROUNDUP],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let r=+t.getValue();return Math.abs(r)>=2**27?fhe.create(Jde.NUM):t.cos().getReciprocal()}},Cpe.SEC],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let r=+t.getValue();return Number.isFinite(Math.cosh(r))?Math.abs(r)>=2**27?fhe.create(Jde.NUM):t.cosh().getReciprocal():Age.create(0)}},Cpe.SECH],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",4),Kde(this,"maxParams",4)}calculate(e,t,r,n){if(e.isNull()||t.isNull()||r.isNull()||n.isNull())return fhe.create(Jde.NA);let{isError:i,errorObject:a,variants:o}=Lve(e,t,r);if(i)return a;let{isError:s,errorObject:l,variants:u}=Pve(...o);if(s)return l;let[c,d,h]=u,m=+c.getValue(),f=+d.getValue(),g=+h.getValue(),p=[];if(n.isArray()){let e=!1,t=fhe.create(Jde.VALUE);if(n.iterator(r=>{let{isError:n,errorObject:i,coefficientsObject:a}=this._handleSingleObject(r);if(n)return e=!0,t=i,!1;let o=+a.getValue();p.push(o)}),e)return t}else{let{isError:e,errorObject:t,coefficientsObject:r}=this._handleSingleObject(n);if(e)return t;let i=+r.getValue();p.push(i)}let v=0;for(let e=0;e{let n=d.get(t,r),i=h.get(t,r),a=m.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:a.isError()?a:this._getResult(e,n,i,a,l,u)});return 1===l&&1===u?f.get(0,0):f}_getResult(e,t,r,n,i,a){let{isError:o,errorObject:s,variants:l}=Pve(e,t,r,n);if(o)return s;let[u,c,d,h]=l,m=Math.floor(+u.getValue()),f=Math.floor(+c.getValue()),g=+d.getValue(),p=+h.getValue();if(m<0||f<0||m*f>10**7)return fhe.create(Jde.VALUE);if(0===m||0===f)return fhe.create(Jde.CALC);let v=this._rowCount-this.row,b=this._columnCount-this.column;if(m>v||f>b)return fhe.create(Jde.REF);let C=[];for(let e=0;e1||a>1?Age.create(C[0][0]):Lge.createByArray(C)}},Cpe.SEQUENCE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return 1===t.getRowCount()&&1===t.getColumnCount()?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;let{isError:t,errorObject:r,variants:n}=Pve(e);if(t)return r;let[i]=n,a=+i.getValue();return a>0?Age.create(1):a<0?Age.create(-1):Age.create(0)}},Cpe.SIGN],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.sin()}},Cpe.SIN],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.sinh()}},Cpe.SINH],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.sqrt()}},Cpe.SQRT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){let e=t.getRowCount(),r=t.getColumnCount();if(e>1||r>1)return fhe.create(Jde.VALUE);t=t.get(0,0)}if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let r=+t.getValue();if(r<0)return fhe.create(Jde.NUM);let n=Math.sqrt(r*Math.PI);return Age.create(n)}},Cpe.SQRTPI],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",255),Kde(this,"needsReferenceObject",!0),Kde(this,"needsFilteredOutRows",!0),Kde(this,"needsFormulaDataModel",!0)}calculate(e,...t){let r;r=e.isReferenceObject()?e.toArrayValueObject():e;let{isError:n,multiAreaRefs:i,normalRefs:a}=Vbe(t);if(!n&&i.length>0)return this._handleMultiAreaRefs(r,i,t);if(r.isArray()){let e=r.mapValue(e=>this._handleSingleObject(e,{isError:n,refs:a}));return 1===e.getRowCount()&&1===e.getColumnCount()?e.get(0,0):e}return this._handleSingleObject(r,{isError:n,refs:a})}_handleSingleObject(e,t){let{isError:r=!1,refs:n}=t,i=e;if(e.isString()&&(i=e.convertToNumberObjectValue()),i.isError())return i;if(r)return fhe.create(Jde.VALUE);let a=Math.floor(+i.getValue());if(a<1||a>11&&a<101||a>111)return fhe.create(Jde.VALUE);let o=!1;return a>=101&&(a-=100,o=!0),zbe({type:vye[a],ignoreRowHidden:o,ignoreErrorValues:!1,ignoreNested:!0,formulaDataModel:this._formulaDataModel},n)}_handleMultiAreaRefs(e,t,r){let n=e.isArray()?e.getRowCount():1,i=e.isArray()?e.getColumnCount():1,{multiAreaInfoMap:a,maxAreasLen:o}=this._getMultiAreaInfo(t),s=Math.max(n,o),l=[];for(let t=0;t1&&t>=n){s.push(fhe.create(Jde.NA));continue}let i=e.isArray()?e.get(o,l):e,u=[];for(let e=0;e{let n=e.getAreas().map(t=>{if(!t||0===t.length)return e;let r=t.find(e=>!e.isError());return null==r?t[0]:r});t.set(e,{ref:e,rowAreas:n}),r=Math.max(r,n.length||1)}),{multiAreaInfoMap:t,maxAreasLen:r}}},Cpe.SUBTOTAL],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",255)}calculate(...e){let t=Age.create(0);for(let r=0;rthis._handleSingleObject(e,t,r));return 1===t.getRowCount()&&1===t.getColumnCount()?t.get(0,0):t}return this._handleSingleObject(e,n,r)}_handleSingleObject(e,t,r){let n=e.toArrayValueObject(),i=qge(n,t);i=$ge(i,n,t);let a=n.getRowCount(),o=n.getColumnCount(),s=n;if(r){s=r.toArrayValueObject();let e=s.getRowCount(),t=s.getColumnCount();if(a!==e||o!==t){let e=r.getRangeData();e.endRow=e.startRow+a-1,e.endColumn=e.startColumn+o-1,r.setRangeData(e),s=r.toArrayValueObject()}}return s.pick(i).sum()}},Cpe.SUMIF],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",255),Kde(this,"needsReferenceObject",!0)}calculate(e,...t){let{isError:r,errorObject:n,rangeIsDifferentSize:i,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:s,variants:l}=Qge(t,e);if(r)return n;if(i)return 1===a&&1===o?fhe.create(Jde.VALUE):Wge(a,o,fhe.create(Jde.VALUE));let u=Kge(l,{formulaName:"SUMIFS",maxRowLength:a,maxColumnLength:o,isNumberSensitive:!0,targetRange:s});return 1===u.length&&1===u[0].length?u[0][0]:Lge.create({calculateValueList:u,rowCount:u.length,columnCount:u[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column})}},Cpe.SUMIFS],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",255)}calculate(e,...t){if(e.isError())return e;let r=this._initArray1(e);if(0===t.length)return r.sum();let n=r.getRowCount(),i=r.getColumnCount(),a=this._getResultArrayByArray1(n,i,r);if(a instanceof fhe)return a;let o=a;return this._validateVariants(t,n,i)||this._sumProduct(o,t,n,i)}_validateVariants(e,t,r){for(let n of e){if(n.isError())return n;if(n.isArray()){let e=n,i=e.getRowCount(),a=e.getColumnCount();if(i!==t&&a!==r)return fhe.create(Jde.VALUE)}}return null}_sumProduct(e,t,r,n){let i=0;for(let a=0;a!!(null==e||e.isString()||e.isBoolean()||e.isNull())||(e.isError()?(t=e,!1):void(t=t.plus(e.pow(r))))):t=t.plus(i.pow(r)),t.isError())return t}return t}},Cpe.SUMSQ],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let r=(e.isArray()?e.getRowCount():1)*(e.isArray()?e.getColumnCount():1);if(r!==(t.isArray()?t.getRowCount():1)*(t.isArray()?t.getColumnCount():1))return fhe.create(Jde.NA);if(1===r)return this._calculateSingleCell(e,t);{let r=e.flatten(),n=t.flatten(),i=Ege.create(),a=[],o=[],s=0;return r.iterator((e,t,r)=>{let l=n.get(t,r);if(null==e||e.isString()||e.isBoolean()||e.isNull())return!0;if(null!=e&&e.isError())return i=e,!1;if(null==l||l.isString()||l.isBoolean()||l.isNull())return!0;if(null!=l&&l.isError())return i=l,!1;let u=+e.getValue(),c=+l.getValue();a.push(u),o.push(c),s+=u**2-c**2}),i.isError()?i:0===a.length||0===o.length?fhe.create(Jde.DIV_BY_ZERO):Age.create(s)}}_calculateSingleCell(e,t){let r=e;if(r.isArray()&&(r=r.get(0,0)),r.isError())return r;let n=t;if(n.isArray()&&(n=n.get(0,0)),n.isError())return n;if(r.isNull()||n.isNull())return fhe.create(Jde.VALUE);let i=+r.getValue(),a=+n.getValue();if(r.isString()&&!$d(i)||r.isBoolean()||n.isString()&&!$d(a)||n.isBoolean())return fhe.create(Jde.DIV_BY_ZERO);let o=i**2-a**2;return Age.create(o)}},Cpe.SUMX2MY2],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let r=(e.isArray()?e.getRowCount():1)*(e.isArray()?e.getColumnCount():1);if(r!==(t.isArray()?t.getRowCount():1)*(t.isArray()?t.getColumnCount():1))return fhe.create(Jde.NA);if(1===r)return this._calculateSingleCell(e,t);{let r=e.flatten(),n=t.flatten(),i=Ege.create(),a=[],o=[],s=0;return r.iterator((e,t,r)=>{let l=n.get(t,r);if(null==e||e.isString()||e.isBoolean()||e.isNull())return!0;if(null!=e&&e.isError())return i=e,!1;if(null==l||l.isString()||l.isBoolean()||l.isNull())return!0;if(null!=l&&l.isError())return i=l,!1;let u=+e.getValue(),c=+l.getValue();a.push(u),o.push(c),s+=u**2+c**2}),i.isError()?i:0===a.length||0===o.length?fhe.create(Jde.DIV_BY_ZERO):Age.create(s)}}_calculateSingleCell(e,t){let r=e;if(r.isArray()&&(r=r.get(0,0)),r.isError())return r;let n=t;if(n.isArray()&&(n=n.get(0,0)),n.isError())return n;if(r.isNull()||n.isNull())return fhe.create(Jde.VALUE);let i=+r.getValue(),a=+n.getValue();if(r.isString()&&!$d(i)||r.isBoolean()||n.isString()&&!$d(a)||n.isBoolean())return fhe.create(Jde.DIV_BY_ZERO);let o=i**2+a**2;return Age.create(o)}},Cpe.SUMX2PY2],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let r=(e.isArray()?e.getRowCount():1)*(e.isArray()?e.getColumnCount():1);if(r!==(t.isArray()?t.getRowCount():1)*(t.isArray()?t.getColumnCount():1))return fhe.create(Jde.NA);if(1===r)return this._calculateSingleCell(e,t);{let r=e.flatten(),n=t.flatten(),i=Ege.create(),a=[],o=[],s=0;return r.iterator((e,t,r)=>{let l=n.get(t,r);if(null==e||e.isString()||e.isBoolean()||e.isNull())return!0;if(null!=e&&e.isError())return i=e,!1;if(null==l||l.isString()||l.isBoolean()||l.isNull())return!0;if(null!=l&&l.isError())return i=l,!1;let u=+e.getValue(),c=+l.getValue();a.push(u),o.push(c),s+=(u-c)**2}),i.isError()?i:0===a.length||0===o.length?fhe.create(Jde.DIV_BY_ZERO):Age.create(s)}}_calculateSingleCell(e,t){let r=e;if(r.isArray()&&(r=r.get(0,0)),r.isError())return r;let n=t;if(n.isArray()&&(n=n.get(0,0)),n.isError())return n;if(r.isNull()||n.isNull())return fhe.create(Jde.VALUE);let i=+r.getValue(),a=+n.getValue();if(r.isString()&&!$d(i)||r.isBoolean()||n.isString()&&!$d(a)||n.isBoolean())return fhe.create(Jde.DIV_BY_ZERO);let o=(i-a)**2;return Age.create(o)}},Cpe.SUMXMY2],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.tan()}},Cpe.TAN],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.tanh()}},Cpe.TANH],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",2)}calculate(e,t){let r=null==t?Age.create(0):t,n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=Wge(n,i,e,fhe.create(Jde.NA)),o=Wge(n,i,r,fhe.create(Jde.NA)),s=a.map((e,t,r)=>{let n=o.get(t,r),i=e;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let a=+i.getValue(),s=+n.getValue(),l=10**Math.trunc(s),u=bge(a,l),c=Math.trunc(fge(a,l)+u)/l;return Age.create(c)});return 1===n&&1===i?s.get(0,0):s}},Cpe.TRUNC]];var Cye=class e extends hhe{static create(t){return new e(t)}isCube(){return!0}constructor(e){super(""),Kde(this,"_values",[]),this._values=e}dispose(){this._values.forEach(e=>{e.dispose()}),this._values=[]}getCubeValues(){return this._values}getCubeCount(){return this._values.length}sum(){let e=Age.create(0);return this._values.forEach(t=>{e.plus(t.sum())}),e}max(){let e=Age.create(-1/0);return this._values.forEach(t=>{let r=t.max();e.isLessThan(r)&&(e=r)}),e}min(){let e=Age.create(1/0);return this._values.forEach(t=>{let r=t.max();e.isGreaterThan(r)&&(e=r)}),e}count(){let e=Age.create(0);return this._values.forEach(t=>{e.plus(t.count())}),e}countA(){let e=Age.create(0);return this._values.forEach(t=>{e.plus(t.countA())}),e}countBlank(){let e=Age.create(0);return this._values.forEach(t=>{e.plus(t.countBlank())}),e}};const yye=[[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2),Kde(this,"_compareType",ihe.EQUALS)}setCompareType(e){this._compareType=e}calculate(e,t){return e.isError()?e:t.isError()?t:e.compare(t,this._compareType)}},Tpe.COMPARE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:t.isArray()||0!==t.getValue()?e.divided(t):fhe.create(Jde.DIV_BY_ZERO)}},Tpe.DIVIDED],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.minus(t)}},Tpe.MINUS],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.multiply(t)}},Tpe.MULTIPLY],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.plus(t)}},Tpe.PLUS],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",255)}calculate(...e){let t=[];for(let r=0;r{if(null!=e&&e.isError())return r=e,!1;null!=e&&e.isNumber()&&t[0].push(e)}),r||zge(t,1,t[0].length)}new Set([Cpe.ACOT,Cpe.ACOTH,Cpe.ARABIC,Cpe.BASE,Cpe.CEILING_MATH,Cpe.CEILING_PRECISE,Cpe.COMBINA,Cpe.COT,Cpe.COTH,Cpe.CSC,Cpe.CSCH,Cpe.DECIMAL,Cpe.FLOOR_MATH,Cpe.FLOOR_PRECISE,Cpe.MUNIT,Cpe.RANDARRAY,Cpe.SEC,Cpe.SECH,Cpe.SEQUENCE,bpe.CHOOSECOLS,bpe.CHOOSEROWS,bpe.DROP,bpe.EXPAND,bpe.FILTER,bpe.FORMULATEXT,bpe.HSTACK,bpe.SORT,bpe.SORTBY,bpe.TAKE,bpe.TOCOL,bpe.TOROW,bpe.UNIQUE,bpe.VSTACK,bpe.WRAPCOLS,bpe.WRAPROWS,bpe.XLOOKUP,bpe.XMATCH,fpe.BITAND,fpe.BITLSHIFT,fpe.BITOR,fpe.BITRSHIFT,fpe.BITXOR,fpe.ERF_PRECISE,fpe.ERFC_PRECISE,fpe.IMCOSH,fpe.IMCOT,fpe.IMCSC,fpe.IMCSCH,fpe.IMSEC,fpe.IMSECH,fpe.IMSINH,fpe.IMTAN,ppe.ISFORMULA,ppe.SHEET,ppe.SHEETS,vpe.IFNA,vpe.IFS,vpe.SWITCH,vpe.XOR,ype.BETA_DIST,ype.BETA_INV,ype.BINOM_DIST,ype.BINOM_DIST_RANGE,ype.BINOM_INV,ype.CHISQ_DIST,ype.CHISQ_DIST_RT,ype.CHISQ_INV,ype.CHISQ_INV_RT,ype.CHISQ_TEST,ype.CONFIDENCE_NORM,ype.CONFIDENCE_T,ype.COVARIANCE_P,ype.COVARIANCE_S,ype.EXPON_DIST,ype.F_DIST,ype.F_DIST_RT,ype.F_INV,ype.F_INV_RT,ype.F_TEST,ype.FORECAST_LINEAR,ype.GAMMA,ype.GAMMA_DIST,ype.GAMMA_INV,ype.GAMMALN_PRECISE,ype.GAUSS,ype.HYPGEOM_DIST,ype.LOGNORM_DIST,ype.LOGNORM_INV,ype.MAXIFS,ype.MINIFS,ype.MODE_MULT,ype.MODE_SNGL,ype.NEGBINOM_DIST,ype.NORM_DIST,ype.NORM_INV,ype.NORM_S_DIST,ype.NORM_S_INV,ype.PERCENTILE_EXC,ype.PERCENTILE_INC,ype.PERCENTRANK_EXC,ype.PERCENTRANK_INC,ype.PERMUTATIONA,ype.PHI,ype.POISSON_DIST,ype.QUARTILE_EXC,ype.QUARTILE_INC,ype.RANK_AVG,ype.RANK_EQ,ype.SKEW_P,ype.STDEV_P,ype.STDEV_S,ype.T_DIST,ype.T_DIST_2T,ype.T_DIST_RT,ype.T_INV,ype.T_INV_2T,ype.T_TEST,ype.VAR_P,ype.VAR_S,ype.WEIBULL_DIST,ype.Z_TEST,_pe.ARRAYTOTEXT,wpe.ENCODEURL,_pe.NUMBERVALUE,_pe.TEXTAFTER,_pe.TEXTBEFORE,_pe.TEXTJOIN,_pe.TEXTSPLIT,_pe.UNICHAR,_pe.UNICODE,_pe.VALUETOTEXT,mpe.DAYS,mpe.ISOWEEKNUM,gpe.PDURATION,gpe.RRI,vpe.BYCOL,vpe.BYROW,vpe.MAKEARRAY,vpe.MAP,vpe.REDUCE,vpe.SCAN]);var wye=class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",3)}calculate(e,t,r){let n=t.isArray()?t.getRowCount():1,i=t.isArray()?t.getColumnCount():1,a=r.isArray()?r.getRowCount():1,o=r.isArray()?r.getColumnCount():1,s=t;t.isArray()&&1===n&&1===i&&(s=t.get(0,0));let l=r;return r.isArray()&&1===a&&1===o&&(l=r.get(0,0)),e.isArray()?e.mapValue(e=>this._handleSingleObject(e,s,l,n,i,a,o)):this._handleSingleObject(e,s,l,n,i,a,o)}_handleSingleObject(e,t,r,n,i,a,o){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;let s=e;if(e.isString()&&(s=e.convertToNumberObjectValue()),s.isError())return s;let l=+s.getValue();if((n*i===1||a*o===1)&&(t.isNull()||r.isNull()))return fhe.create(Jde.VALUE);if(n*i!==a*o)return fhe.create(Jde.NA);let{isError:u,errorObject:c,array1Values:d,array2Values:h,noCalculate:m}=Lbe(t,r,n*i,i,o);if(u)return c;if(m)return fhe.create(Jde.DIV_BY_ZERO);let f=Cbe(l,d,h);return Number.isFinite(f)?Age.create(f):fhe.create(Jde.DIV_BY_ZERO)}},Eye=class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return 1===t.getRowCount()&&1===t.getColumnCount()?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:r,variants:n}=Pve(e);if(t)return r;let[i]=n,a=+i.getValue();if(a<=0)return fhe.create(Jde.NUM);let o=_be(a);return Math.abs(o)<1e-15?Age.create(0):Age.create(o)}};const Sye=[[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",255)}calculate(...e){let t=Age.create(0),r=Age.create(0);for(let n=0;n=e.length)continue;let u=e[a+1],c=u.isArray()?u.getRowCount():1,d=u.isArray()?u.getColumnCount():1;(c!==s||d!==l)&&(r=!0,t=fhe.create(Jde.VALUE));for(let e=0;e{if(null==e||e.isNull())return!0;let n=e;if(n.isString()&&(n=n.convertToNumberObjectValue(),n.isError()&&(n=Age.create(0))),n.isBoolean()&&(n=n.convertToNumberObjectValue()),n.isError())return t=n,!1;t=t.plus(n),r=r.plus(Age.create(1))}),t.isError())return t}else i.isNull()||(t=t.plus(i),r=r.plus(Age.create(1)))}return t.divided(r)}},ype.AVERAGEA],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",3),Kde(this,"needsReferenceObject",!0)}calculate(e,t,r){if(!e.isReferenceObject()||r&&!r.isReferenceObject())return fhe.create(Jde.VALUE);let n=t;if(t.isReferenceObject()&&(n=t.toArrayValueObject()),n.isArray()){let t=n.mapValue(t=>this._handleSingleObject(e,t,r));return 1===t.getRowCount()&&1===t.getColumnCount()?t.get(0,0):t}return this._handleSingleObject(e,n,r)}_handleSingleObject(e,t,r){let n=e.toArrayValueObject(),i=qge(n,t);i=$ge(i,n,t);let a=n.getRowCount(),o=n.getColumnCount(),s=n;if(r){s=r.toArrayValueObject();let e=s.getRowCount(),t=s.getColumnCount();if(a!==e||o!==t){let e=r.getRangeData();e.endRow=e.startRow+a-1,e.endColumn=e.startColumn+o-1,r.setRangeData(e),s=r.toArrayValueObject()}}let l=s.pick(i),u=l.sum(),c=l.count();return u.divided(c)}},ype.AVERAGEIF],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",255),Kde(this,"needsReferenceObject",!0)}calculate(e,...t){let{isError:r,errorObject:n,rangeIsDifferentSize:i,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:s,variants:l}=Qge(t,e);if(r)return n;if(i)return 1===a&&1===o?fhe.create(Jde.VALUE):Wge(a,o,fhe.create(Jde.VALUE));let u=Kge(l,{formulaName:"AVERAGEIFS",maxRowLength:a,maxColumnLength:o,isNumberSensitive:!0,targetRange:s});return 1===u.length&&1===u[0].length?u[0][0]:Lge.create({calculateValueList:u,rowCount:u.length,columnCount:u[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column})}},ype.AVERAGEIFS],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",4),Kde(this,"maxParams",6)}calculate(e,t,r,n,i,a){let o=null==i?Age.create(0):i,s=null==a?Age.create(1):a;o.isNull()&&(o=Age.create(0)),s.isNull()&&(s=Age.create(1));let l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,o.isArray()?o.getRowCount():1,s.isArray()?s.getRowCount():1),u=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,o.isArray()?o.getColumnCount():1,s.isArray()?s.getColumnCount():1),c=Wge(l,u,e,fhe.create(Jde.NA)),d=Wge(l,u,t,fhe.create(Jde.NA)),h=Wge(l,u,r,fhe.create(Jde.NA)),m=Wge(l,u,n,fhe.create(Jde.NA)),f=Wge(l,u,o,fhe.create(Jde.NA)),g=Wge(l,u,s,fhe.create(Jde.NA)),p=c.mapValue((e,t,r)=>{let n=d.get(t,r),i=h.get(t,r),a=m.get(t,r),o=f.get(t,r),s=g.get(t,r);return this._handleSingleObject(e,n,i,a,o,s)});return 1===l&&1===u?p.get(0,0):p}_handleSingleObject(e,t,r,n,i,a){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(n.isError())return n;if(i.isError())return i;if(a.isError())return a;let{isError:o,errorObject:s,variants:l}=Pve(e,t,r,n,i,a);if(o)return s;let u,[c,d,h,m,f,g]=l,p=+c.getValue(),v=+d.getValue(),b=+h.getValue(),C=+m.getValue(),y=+f.getValue(),_=+g.getValue();return v<=0||b<=0||p_||y===_?fhe.create(Jde.NUM):(u=C?sbe((p-y)/(_-y),v,b):function(e,t,r){return e<=0||e>=1?0:1===t&&1===r?1:t<512&&r<512?e**(t-1)*(1-e)**(r-1)/dbe(t,r):Math.exp((t-1)*Math.log(e)+(r-1)*Math.log(1-e)-hbe(t,r))}((p-y)/(_-y),v,b)/(_-y),Age.create(u))}},ype.BETA_DIST],[Jbe,ype.BETA_INV],[eCe,ype.BINOM_DIST],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",4)}calculate(e,t,r,n){let i=null==n?r:n;i.isNull()&&(i=r);let a=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=Wge(a,o,e,fhe.create(Jde.NA)),l=Wge(a,o,t,fhe.create(Jde.NA)),u=Wge(a,o,r,fhe.create(Jde.NA)),c=Wge(a,o,i,fhe.create(Jde.NA)),d=s.mapValue((e,t,r)=>{let n=l.get(t,r),i=u.get(t,r),a=c.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:a.isError()?a:this._handleSingleObject(e,n,i,a)});return 1===a&&1===o?d.get(0,0):d}_handleSingleObject(e,t,r,n){let{isError:i,errorObject:a,variants:o}=Pve(e,t,r,n);if(i)return a;let[s,l,u,c]=o,d=Math.floor(+s.getValue()),h=+l.getValue(),m=Math.floor(+u.getValue()),f=Math.floor(+c.getValue());if(d<0||h<0||h>1||m<0||m>d||f<0||fd)return fhe.create(Jde.NUM);let g=0;for(let e=m;e<=f;e++)g+=fbe(e,d,h);return Age.create(g)}},ype.BINOM_DIST_RANGE],[tCe,ype.BINOM_INV],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",3)}calculate(e,t,r){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=Wge(n,i,e,fhe.create(Jde.NA)),o=Wge(n,i,t,fhe.create(Jde.NA)),s=Wge(n,i,r,fhe.create(Jde.NA)),l=a.mapValue((e,t,r)=>{let n=o.get(t,r),i=s.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:this._handleSingleObject(e,n,i)});return 1===n&&1===i?l.get(0,0):l}_handleSingleObject(e,t,r){let{isError:n,errorObject:i,variants:a}=Pve(e,t,r);if(n)return i;let o,[s,l,u]=a,c=+s.getValue(),d=Math.floor(+l.getValue()),h=+u.getValue();return c<0||d<1||d>10**10?fhe.create(Jde.NUM):(o=h?gbe(c,d):function(e,t){return e<0?0:0===e&&2===t?.5:Math.exp((t/2-1)*Math.log(e)-e/2-t/2*Math.log(2)-_be(t/2))}(c,d),Age.create(o))}},ype.CHISQ_DIST],[rCe,ype.CHISQ_DIST_RT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=Wge(r,n,e,fhe.create(Jde.NA)),a=Wge(r,n,t,fhe.create(Jde.NA)),o=i.mapValue((e,t,r)=>{let n=a.get(t,r);return e.isError()?e:n.isError()?n:this._handleSingleObject(e,n)});return 1===r&&1===n?o.get(0,0):o}_handleSingleObject(e,t){let{isError:r,errorObject:n,variants:i}=Pve(e,t);if(r)return n;let[a,o]=i,s=+a.getValue(),l=Math.floor(+o.getValue());if(s<0||s>1||l<1||l>10**10)return fhe.create(Jde.NUM);let u=pbe(s,l);return Number.isNaN(u)||!Number.isFinite(u)?fhe.create(Jde.NUM):Age.create(u)}},ype.CHISQ_INV],[nCe,ype.CHISQ_INV_RT],[iCe,ype.CHISQ_TEST],[aCe,ype.CONFIDENCE_NORM],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",3)}calculate(e,t,r){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=Wge(n,i,e,fhe.create(Jde.NA)),o=Wge(n,i,t,fhe.create(Jde.NA)),s=Wge(n,i,r,fhe.create(Jde.NA)),l=a.mapValue((e,t,r)=>{let n=o.get(t,r),i=s.get(t,r);if(e.isError())return e;if(n.isError())return n;if(i.isError())return i;let{isError:a,errorObject:l,variants:u}=Pve(e,n,i);if(a)return l;let[c,d,h]=u,m=+c.getValue(),f=+d.getValue(),g=Math.floor(+h.getValue());if(m<=0||m>=1||f<=0||g<1)return fhe.create(Jde.NUM);if(1===g)return fhe.create(Jde.DIV_BY_ZERO);let p=Math.abs(Obe(m/2,g-1)*f/Math.sqrt(g));return Age.create(p)});return 1===n&&1===i?l.get(0,0):l}},ype.CONFIDENCE_T],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&1===r&&1===n&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&1===i&&1===a&&(s=t.get(0,0)),s.isError())return s;if(r*n===1||i*a===1)return o.isNull()||s.isNull()?fhe.create(Jde.VALUE):fhe.create(Jde.DIV_BY_ZERO);if(r*n!==i*a)return fhe.create(Jde.NA);let{isError:l,errorObject:u,array1Values:c,array2Values:d,noCalculate:h}=Lbe(e,t,r*n,n,a);return l?u:h?fhe.create(Jde.DIV_BY_ZERO):this._getResult(c,d)}_getResult(e,t){let r=e.length,n=0,i=0;for(let a=0;athis._handleSingleObject(e,t));return 1===t.getRowCount()&&1===t.getColumnCount()?t.get(0,0):t}return this._handleSingleObject(e,r)}_handleSingleObject(e,t){let r=e.toArrayValueObject(),n=qge(r,t);n=$ge(n,r,t);let i=r.pick(n);return this._countA(i)}_countA(e){let t=Age.create(0);return e.iterator(e=>{if(null==e)return!0;t=t.plusBy(1)}),t}},ype.COUNTIF],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",255),Kde(this,"needsReferenceObject",!0)}calculate(...e){let{isError:t,errorObject:r,rangeIsDifferentSize:n,criteriaMaxRowLength:i,criteriaMaxColumnLength:a,variants:o}=Qge(e);if(t)return r;if(n)return 1===i&&1===a?fhe.create(Jde.VALUE):Wge(i,a,fhe.create(Jde.VALUE));let s=Kge(o,{formulaName:"COUNTIFS",maxRowLength:i,maxColumnLength:a,isNumberSensitive:!0});return 1===s.length&&1===s[0].length?s[0][0]:Lge.create({calculateValueList:s,rowCount:s.length,columnCount:s[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column})}},ype.COUNTIFS],[oCe,ype.COVARIANCE_P],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&1===r&&1===n&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&1===i&&1===a&&(s=t.get(0,0)),s.isError())return s;if((r*n===1||i*a===1)&&(o.isNull()||s.isNull()))return fhe.create(Jde.VALUE);if(r*n!==i*a)return fhe.create(Jde.NA);let{isError:l,errorObject:u,array1Values:c,array2Values:d,noCalculate:h}=Lbe(e,t,r*n,n,a);return l?u:h?fhe.create(Jde.DIV_BY_ZERO):this._getResult(c,d)}_getResult(e,t){if(e.length<=1)return fhe.create(Jde.DIV_BY_ZERO);let r=e.length,n=0,i=0;for(let a=0;a{let o=this._handleSingleObject(a);if(o.isError())return e=!0,i=o,!1;if(o.isNull())return!0;let s=o.getValue();t.push(s),r+=s,n=!1}),e)return i}else{let e=this._handleSingleObject(a);if(e.isError())return e;if(e.isNull())continue;let i=e.getValue();t.push(i),r+=i,n=!1}}if(n)return fhe.create(Jde.NUM);let i=r/t.length,a=0;for(let e=0;e{let n=s.get(t,r),i=l.get(t,r),a=u.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:a.isError()?a:this._handleSingleObject(e,n,i,a)});return 1===i&&1===a?c.get(0,0):c}_handleSingleObject(e,t,r,n){let{isError:i,errorObject:a,variants:o}=Pve(e,t,r,n);if(i)return a;let s,[l,u,c,d]=o,h=+l.getValue(),m=Math.floor(+u.getValue()),f=Math.floor(+c.getValue()),g=+d.getValue();return h<0||m<1||m>10**10||f<1||f>10**10?fhe.create(Jde.NUM):(s=g?vbe(h,m,f):function(e,t,r){if(e<0)return 0;if(0===e&&t<2)return 1/0;if(0===e&&2===t)return 1;let n=1/dbe(t/2,r/2);return n*=(t/r)**(t/2),n*=e**(t/2-1),n*=(1+t/r*e)**(-(t+r)/2),n}(h,m,f),Number.isNaN(s)||!Number.isFinite(s)?fhe.create(Jde.NUM):Age.create(s))}},ype.F_DIST],[lCe,ype.F_DIST_RT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",3)}calculate(e,t,r){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=Wge(n,i,e,fhe.create(Jde.NA)),o=Wge(n,i,t,fhe.create(Jde.NA)),s=Wge(n,i,r,fhe.create(Jde.NA)),l=a.mapValue((e,t,r)=>{let n=o.get(t,r),i=s.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:this._handleSingleObject(e,n,i)});return 1===n&&1===i?l.get(0,0):l}_handleSingleObject(e,t,r){let{isError:n,errorObject:i,variants:a}=Pve(e,t,r);if(n)return i;let[o,s,l]=a,u=+o.getValue(),c=Math.floor(+s.getValue()),d=Math.floor(+l.getValue());if(u<0||u>1||c<1||c>10**10||d<1||d>10**10)return fhe.create(Jde.NUM);let h=bbe(u,c,d);return Number.isNaN(h)||!Number.isFinite(h)?fhe.create(Jde.NUM):Age.create(h)}},ype.F_INV],[uCe,ype.F_INV_RT],[cCe,ype.F_TEST],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){return e.isArray()?e.mapValue(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:r,variants:n}=Pve(e);if(t)return r;let[i]=n,a=i.getValue();if(a<=-1||a>=1)return fhe.create(Jde.NUM);let o=Math.log((1+a)/(1-a))/2;return Age.create(o)}},ype.FISHER],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){return e.isArray()?e.mapValue(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:r,variants:n}=Pve(e);if(t)return r;let[i]=n,a=+i.getValue(),o=Math.exp(2*a)-1,s=Math.exp(2*a)+1;return!Number.isFinite(o)&&o>0&&!Number.isFinite(s)&&s>0?Age.create(1):Age.create(o/s)}},ype.FISHERINV],[wye,ype.FORECAST],[wye,ype.FORECAST_LINEAR],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let{isError:r,errorObject:n,values:i}=this._getValues(e);if(r)return n;if(e.isNull()||t.isNull())return fhe.create(Jde.VALUE);let{values:a}=this._getValues(t,!0);0===a.length&&(a=[0]);let o=this._getNewBinsArrayValues(a),s=Array(o.length).fill(0);for(let e=0;et>e.start&&t<=e.end);s[r]++}return Lge.createByArray(s.map(e=>[e]))}_getValues(e,t=!1){let r=[],n=e.isArray()?e.getRowCount():1,i=e.isArray()?e.getColumnCount():1;for(let a=0;a({value:e,index:t})).sort((e,t)=>e.value-t.value),r=[];for(let e=0;ethis._handleSingleObject(e));return 1===t.getRowCount()&&1===t.getColumnCount()?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:r,variants:n}=Pve(e);if(t)return r;let[i]=n,a=+i.getValue();if(0===a||a<0&&a%1==0)return fhe.create(Jde.NUM);let o=ybe(a);return Number.isNaN(o)||!Number.isFinite(o)?fhe.create(Jde.NUM):Age.create(o)}},ype.GAMMA],[dCe,ype.GAMMA_DIST],[hCe,ype.GAMMA_INV],[Eye,ype.GAMMALN],[Eye,ype.GAMMALN_PRECISE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return 1===t.getRowCount()&&1===t.getColumnCount()?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:r,variants:n}=Pve(e);if(t)return r;let[i]=n,a=Rbe(+i.getValue(),0,1)-.5;return Age.create(a)}},ype.GAUSS],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",255)}calculate(...e){let t=1,r=0,n=!1;for(let i=0;i{if(null!=a&&a.isError())return e=!0,i=a,!1;if(null!=a&&a.isNull()||null!=a&&a.isBoolean())return!0;let o=a.getValue();if(!$d(o))return!0;+o<=0&&(n=!0),t*=+o,r++}),e)return i}else{if(a.isError())return a;if(a.isString()){let e=a.convertToNumberObjectValue();if(e.isError())return e}if(a.isNull()||a.isBoolean())continue;let e=a.getValue();if(!$d(e))continue;+e<=0&&(n=!0),t*=+e,r++}}if(0===r||n)return fhe.create(Jde.NUM);let i=t**(1/r);return Age.create(i)}},ype.GEOMEAN],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",4)}calculate(e,t,r,n){let{isError:i,errorObject:a}=kbe(e,t,r);if(i)return a;let o=Pbe(e);if(o instanceof fhe)return o;let s=this._getKnownXsValues(o,t);if(s instanceof fhe)return s;let l=this._getNewXsValues(s,r);if(l instanceof fhe)return l;let u=null==n?Sge.create(!0):n;if(u.isArray()&&(u=u.get(0,0)),u.isString()&&(u=u.convertToNumberObjectValue()),u.isError())return u;let c=+u.getValue();return this._getResult(o,s,l,c)}_getResult(e,t,r,n){return 1===e.length&&t.length>1||1===e[0].length&&t[0].length>1?1===e.length&&t.length>1&&(n?t.length+1:t.length)>e[0].length||1===e[0].length&&t[0].length>1&&(n?t[0].length+1:t[0].length)>e.length?fhe.create(Jde.NA):this._getResultByMultipleVariables(e,t,r,n):this._getResultBySimpleVariables(e,t,r,n)}_getResultByMultipleVariables(e,t,r,n){let i=1===e.length&&e[0].length>1,a=Bbe(e,t,r,n,!0);if(a instanceof fhe)return a;let{coefficients:o,newX:s}=a,l=o[0].length,u=o[0][l-1],c=[];for(let e=0;e=0;r--)t*=o[0][l-2-r]**s[e][r];c[e].push(t)}return i&&(c=$ve(c)),Lge.createByArray(c)}_getResultBySimpleVariables(e,t,r,n){let i=e.flat(),{slope:a,intercept:o}=Ube(t.flat(),i,n,!0),s=r.map(e=>e.map(e=>o*a**e));return Lge.createByArray(s)}_getKnownXsValues(e,t){return!t||t.isNull()?Dbe(e.length,e[0].length):Pbe(t)}_getNewXsValues(e,t){return!t||t.isNull()?e:Pbe(t)}},ype.GROWTH],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",255)}calculate(...e){let t=0,r=0,n=!1;for(let i=0;i{if(null!=a&&a.isError())return e=!0,i=a,!1;if(null!=a&&a.isNull()||null!=a&&a.isBoolean())return!0;let o=a.getValue();if(!$d(o))return!0;+o<=0&&(n=!0),t+=1/o,r++}),e)return i}else{if(a.isError())return a;if(a.isString()){let e=a.convertToNumberObjectValue();if(e.isError())return e}if(a.isNull()||a.isBoolean())continue;let e=a.getValue();if(!$d(e))continue;+e<=0&&(n=!0),t+=1/e,r++}}if(0===r)return fhe.create(Jde.NA);if(n)return fhe.create(Jde.NUM);let i=r/t;return Age.create(i)}},ype.HARMEAN],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",5),Kde(this,"maxParams",5)}calculate(e,t,r,n,i){let a=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=Wge(a,o,e,fhe.create(Jde.NA)),l=Wge(a,o,t,fhe.create(Jde.NA)),u=Wge(a,o,r,fhe.create(Jde.NA)),c=Wge(a,o,n,fhe.create(Jde.NA)),d=Wge(a,o,i,fhe.create(Jde.NA)),h=s.mapValue((e,t,r)=>{let n=l.get(t,r),i=u.get(t,r),a=c.get(t,r),o=d.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:a.isError()?a:o.isError()?o:this._handleSingleObject(e,n,i,a,o)});return 1===a&&1===o?h.get(0,0):h}_handleSingleObject(e,t,r,n,i){let{isError:a,errorObject:o,variants:s}=Pve(e,t,r,n,i);if(a)return o;let l,[u,c,d,h,m]=s,f=Math.floor(+u.getValue()),g=Math.floor(+c.getValue()),p=Math.floor(+d.getValue()),v=Math.floor(+h.getValue()),b=+m.getValue();return f<0||f>g||f>p||fv||p<=0||p>v||v<=0?fhe.create(Jde.NUM):(l=b?function(e,t,r,n){let i=0;for(let a=0;a<=e;a++)i+=Sbe(a,t,r,n);return i}(f,g,p,v):Sbe(f,g,p,v),Number.isNaN(l)&&(l=0),Age.create(l))}},ype.HYPGEOM_DIST],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&1===r&&1===n&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&1===i&&1===a&&(s=t.get(0,0)),s.isError())return s;if(r*n===1||i*a===1)return o.isNull()||s.isNull()?fhe.create(Jde.VALUE):fhe.create(Jde.DIV_BY_ZERO);if(r*n!==i*a)return fhe.create(Jde.NA);let{isError:l,errorObject:u,array1Values:c,array2Values:d,noCalculate:h}=Lbe(e,t,r*n,n,a);return l?u:h?fhe.create(Jde.DIV_BY_ZERO):this._getResult(c,d)}_getResult(e,t){let r=Cbe(0,e,t);return Number.isFinite(r)?Age.create(r):fhe.create(Jde.DIV_BY_ZERO)}},ype.INTERCEPT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",255)}calculate(...e){let t=[],r=0;for(let n=0;nthis._handleSingleObject(r,e));return 1===e.getRowCount()&&1===e.getColumnCount()?e.get(0,0):e}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;let{isError:r,errorObject:n,variants:i}=Pve(t);if(r)return n;let[a]=i;return Gbe(e,+a.getValue())}},ype.LARGE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",4)}calculate(e,t,r,n){let{isError:i,errorObject:a}=kbe(e,t);if(i)return a;let o=Pbe(e);if(o instanceof fhe)return o;let s=this._getKnownXsValues(o,t);if(s instanceof fhe)return s;let l=null==r?Sge.create(!0):r;l.isArray()&&(l=l.get(0,0));let u=null==n?Sge.create(!1):n;u.isArray()&&(u=u.get(0,0));let{isError:c,errorObject:d,variants:h}=Pve(l,u);if(c)return d;let[m,f]=h;return this._getResult(o,s,+m.getValue(),+f.getValue())}_getResult(e,t,r,n){return 1===e.length&&t.length>1||1===e[0].length&&t[0].length>1?1===e.length&&t.length>1&&(r?t.length+1:t.length)>e[0].length||1===e[0].length&&t[0].length>1&&(r?t[0].length+1:t[0].length)>e.length?fhe.create(Jde.NA):this._getResultByMultipleVariables(e,t,r,n):this._getResultBySimpleVariables(e,t,r,n)}_getResultByMultipleVariables(e,t,r,n){let i=Bbe(e,t,t,r,!1);if(i instanceof fhe)return i;let{coefficients:a,X:o,XTXInverse:s}=i,l=[];if(n){let t=e.flat(),n=t.length,i=r?t.reduce((e,t)=>e+t,0)/n:0,u=s.length,c=n-u,d=a[0].length,h=Array(d-2).fill(Jde.NA),m=a[0][d-1],f=[];for(let e=0;e=0;r--)t+=a[0][d-2-r]*o[e][r];f.push(t)}let g=0,p=0;for(let e=0;e=0;e--){let t=c>0?Math.sqrt(p/c*s[e][e]):0;C.push(t)}if(r){let e=C.shift();C.push(e)}else C.push(Jde.NA);let y=c>0?Math.sqrt(p/c):0,_=c>0?v/(d-1)/(p/c):Jde.NUM;l=[a[0],[...C],[b,y,...h],[_,c,...h],[v,p,...h]]}else l=[a[0]];return Lge.createByArray(l)}_getResultBySimpleVariables(e,t,r,n){let i=e.flat(),a=t.flat(),{slope:o,intercept:s}=Ube(a,i,r,!1);if(Number.isNaN(o))return fhe.create(Jde.NA);let l=[];if(n){let e=i.length,t=0,n=0,u=e-1;if(r){let r=0,o=0;for(let t=0;t0&&(h>0&&(g=Math.sqrt(d/u/h),p=Math.sqrt(d/u*(1/e+n**2/h))),v=Math.sqrt(d/u));let b=u>0?m/1/(d/u):Jde.NUM;r||(p=Jde.NA),l=[[o,s],[g,p],[f,v],[b,u],[m,d]]}else l=[[o,s]];return Lge.createByArray(l)}_getKnownXsValues(e,t){return!t||t.isNull()?Dbe(e.length,e[0].length):Pbe(t)}},ype.LINEST],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",4)}calculate(e,t,r,n){let{isError:i,errorObject:a}=kbe(e,t);if(i)return a;let o=Pbe(e);if(o instanceof fhe)return o;let s=this._getKnownXsValues(o,t);if(s instanceof fhe)return s;let l=null==r?Sge.create(!0):r;l.isArray()&&(l=l.get(0,0));let u=null==n?Sge.create(!1):n;u.isArray()&&(u=u.get(0,0));let{isError:c,errorObject:d,variants:h}=Pve(l,u);if(c)return d;let[m,f]=h;return this._getResult(o,s,+m.getValue(),+f.getValue())}_getResult(e,t,r,n){return 1===e.length&&t.length>1||1===e[0].length&&t[0].length>1?1===e.length&&t.length>1&&(r?t.length+1:t.length)>e[0].length||1===e[0].length&&t[0].length>1&&(r?t[0].length+1:t[0].length)>e.length?fhe.create(Jde.NA):this._getResultByMultipleVariables(e,t,r,n):this._getResultBySimpleVariables(e,t,r,n)}_getResultByMultipleVariables(e,t,r,n){let i=Bbe(e,t,t,r,!0);if(i instanceof fhe)return i;let{coefficients:a,Y:o,X:s,XTXInverse:l}=i,u=[];if(n){let e=o.flat(),t=e.length,n=r?e.reduce((e,t)=>e+t,0)/t:0,i=l.length,c=t-i,d=a[0].length,h=Array(d-2).fill(Jde.NA),m=a[0][d-1],f=[];for(let e=0;e=0;r--)t*=a[0][d-2-r]**s[e][r];f.push(Math.log(t))}let g=0,p=0;for(let i=0;i=0;e--){let t=c>0?Math.sqrt(p/c*l[e][e]):0;C.push(t)}if(r){let e=C.shift();C.push(e)}else C.push(Jde.NA);let y=c>0?Math.sqrt(p/c):0,_=c>0?v/(d-1)/(p/c):Jde.NUM;u=[a[0],[...C],[b,y,...h],[_,c,...h],[v,p,...h]]}else u=[a[0]];return Lge.createByArray(u)}_getResultBySimpleVariables(e,t,r,n){let i=e.flat(),a=t.flat(),{slope:o,intercept:s,Y:l}=Ube(a,i,r,!0);if(Number.isNaN(o))return fhe.create(Jde.NA);let u=[];if(n){let e=l.length,t=0,n=0,i=e-1;if(r){let r=0,o=0;for(let t=0;t0&&(h>0&&(g=Math.sqrt(d/i/h),p=Math.sqrt(d/i*(1/e+n**2/h))),v=Math.sqrt(d/i),b=m/1/(d/i)),r||(p=Jde.NA),u=[[o,s],[g,p],[f,v],[b,i],[m,d]]}else u=[[o,s]];return Lge.createByArray(u)}_getKnownXsValues(e,t){return!t||t.isNull()?Dbe(e.length,e[0].length):Pbe(t)}},ype.LOGEST],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",4),Kde(this,"maxParams",4)}calculate(e,t,r,n){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=Wge(i,a,e,fhe.create(Jde.NA)),s=Wge(i,a,t,fhe.create(Jde.NA)),l=Wge(i,a,r,fhe.create(Jde.NA)),u=Wge(i,a,n,fhe.create(Jde.NA)),c=o.mapValue((e,t,r)=>{let n=s.get(t,r),i=l.get(t,r),a=u.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:a.isError()?a:this._handleSingleObject(e,n,i,a)});return 1===i&&1===a?c.get(0,0):c}_handleSingleObject(e,t,r,n){let{isError:i,errorObject:a,variants:o}=Pve(e,t,r,n);if(i)return a;let s,[l,u,c,d]=o,h=+l.getValue(),m=+u.getValue(),f=+c.getValue(),g=+d.getValue();return h<=0||f<=0?fhe.create(Jde.NUM):(s=g?Abe(h,m,f):function(e,t,r){return e<=0?0:Math.exp(-Math.log(e)-.5*Math.log(2*Math.PI)-Math.log(r)-(Math.log(e)-t)**2/(2*r*r))}(h,m,f),Age.create(s))}},ype.LOGNORM_DIST],[mCe,ype.LOGNORM_INV],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let r=this._getRangeValues(e);if(r instanceof fhe)return r;let n=Mve(t);if(n.isError())return n;let{isError:i,errorObject:a,variants:o}=Pve(n);if(i)return a;let[s]=o,l=+s.getValue();if(l<=0||l>=1)return fhe.create(Jde.NUM);if(r.length<2)return fhe.create(Jde.DIV_BY_ZERO);let u=1-l,c=r.length,d=r.reduce((e,t)=>e+t,0)/c,h=r.reduce((e,t)=>e+(t-d)**2,0)/(c-1),m=Math.sqrt(h);if(m<=0)return fhe.create(Jde.NUM);let f=Math.abs(Obe(u/2,c-1)*m/Math.sqrt(c));return Age.create(f)}_getRangeValues(e){let t=[],r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1;for(let i=0;i{let r=e;if((null==r||r.isNull()||r.isString())&&(r=Age.create(0)),r.isBoolean()&&(r=r.convertToNumberObjectValue()),r.isError())return t=r,!1;t=this._validator(t,r)}),t.isError())return t;t=this._validator(t,n)}}return t.getValue()===-1/0?Age.create(0):t}_validator(e,t){let r=e.isLessThan(t),n=e;return r.getValue()&&(n=t),n}},ype.MAXA],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",255),Kde(this,"needsReferenceObject",!0)}calculate(e,...t){let{isError:r,errorObject:n,rangeIsDifferentSize:i,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:s,variants:l}=Qge(t,e);if(r)return n;if(i)return 1===a&&1===o?fhe.create(Jde.VALUE):Wge(a,o,fhe.create(Jde.VALUE));let u=Kge(l,{formulaName:"MAXIFS",maxRowLength:a,maxColumnLength:o,isNumberSensitive:!0,targetRange:s});return 1===u.length&&1===u[0].length?u[0][0]:Lge.create({calculateValueList:u,rowCount:u.length,columnCount:u[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column})}},ype.MAXIFS],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",255)}calculate(...e){let t=[];for(let r=0;r{if(null!=n&&n.isError())return e=!0,r=n,!1;if(null!=n&&n.isNull()||null!=n&&n.isBoolean())return!0;let i=n.getValue();if(!$d(i))return!0;t.push(+i)}),e)return r}else{if(n.isError())return n;if(n.isNull()||n.isBoolean())continue;if(n.isString()){let e=n.convertToNumberObjectValue();if(e.isError())return e}let e=n.getValue();if(!$d(e))continue;t.push(+e)}}return 0===t.length?fhe.create(Jde.NUM):qbe(t)}},ype.MEDIAN],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",255)}calculate(...e){let t=Age.create(1/0);for(let r=0;r{let r=e;if((null==r||r.isNull()||r.isString())&&(r=Age.create(0)),r.isBoolean()&&(r=r.convertToNumberObjectValue()),r.isError())return t=r,!1;t=this._validator(t,r)}),t.isError())return t;t=this._validator(t,n)}}return t.getValue()===1/0?Age.create(0):t}_validator(e,t){let r=e.isGreaterThan(t),n=e;return r.getValue()&&(n=t),n}},ype.MINA],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",255),Kde(this,"needsReferenceObject",!0)}calculate(e,...t){let{isError:r,errorObject:n,rangeIsDifferentSize:i,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:s,variants:l}=Qge(t,e);if(r)return n;if(i)return 1===a&&1===o?fhe.create(Jde.VALUE):Wge(a,o,fhe.create(Jde.VALUE));let u=Kge(l,{formulaName:"MINIFS",maxRowLength:a,maxColumnLength:o,isNumberSensitive:!0,targetRange:s});return 1===u.length&&1===u[0].length?u[0][0]:Lge.create({calculateValueList:u,rowCount:u.length,columnCount:u[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column})}},ype.MINIFS],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",255)}calculate(...e){let t={},r=0,n=1;for(let i=0;in&&(n=t[+s].count)):t[+s]={count:1,order:r++})}}return 0===r||1===n?new fhe(Jde.NA):this._getResult(t,n)}_getResult(e,t){let r=Object.entries(e).filter(([e,{count:r}])=>r===t).sort((e,t)=>e[1].order-t[1].order).map(([e])=>+e);return 1===r.length?Age.create(r[0]):Lge.createByArray(r.map(e=>[e]))}},ype.MODE_MULT],[fCe,ype.MODE_SNGL],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",4),Kde(this,"maxParams",4)}calculate(e,t,r,n){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=Wge(i,a,e,fhe.create(Jde.NA)),s=Wge(i,a,t,fhe.create(Jde.NA)),l=Wge(i,a,r,fhe.create(Jde.NA)),u=Wge(i,a,n,fhe.create(Jde.NA)),c=o.mapValue((e,t,r)=>{let n=s.get(t,r),i=l.get(t,r),a=u.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:a.isError()?a:this._handleSingleObject(e,n,i,a)});return 1===i&&1===a?c.get(0,0):c}_handleSingleObject(e,t,r,n){let{isError:i,errorObject:a,variants:o}=Pve(e,t,r,n);if(i)return a;let s,[l,u,c,d]=o,h=Math.floor(+l.getValue()),m=Math.floor(+u.getValue()),f=+c.getValue(),g=+d.getValue();return h<0||m<1||f<=0||f>=1?fhe.create(Jde.NUM):(s=g?function(e,t,r){if(e<0)return 0;let n=0;for(let i=0;i<=e;i++)n+=Ibe(i,t,r);return n}(h,m,f):Ibe(h,m,f),Age.create(s))}},ype.NEGBINOM_DIST],[gCe,ype.NORM_DIST],[pCe,ype.NORM_INV],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=Wge(r,n,e,fhe.create(Jde.NA)),a=Wge(r,n,t,fhe.create(Jde.NA)),o=i.mapValue((e,t,r)=>{let n=a.get(t,r);return e.isError()?e:n.isError()?n:this._handleSingleObject(e,n)});return 1===r&&1===n?o.get(0,0):o}_handleSingleObject(e,t){let{isError:r,errorObject:n,variants:i}=Pve(e,t);if(r)return n;let a,[o,s]=i,l=+o.getValue();return a=+s.getValue()?Rbe(l,0,1):xbe(l,0,1),Age.create(a)}},ype.NORM_S_DIST],[vCe,ype.NORM_S_INV],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&1===r&&1===n&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&1===i&&1===a&&(s=t.get(0,0)),s.isError())return s;if(r*n===1||i*a===1)return o.isNull()||s.isNull()?fhe.create(Jde.VALUE):fhe.create(Jde.DIV_BY_ZERO);if(r*n!==i*a)return fhe.create(Jde.NA);let{isError:l,errorObject:u,array1Values:c,array2Values:d,noCalculate:h}=Lbe(e,t,r*n,n,a);return l?u:h?fhe.create(Jde.DIV_BY_ZERO):this._getResult(c,d)}_getResult(e,t){let r=e.length,n=0,i=0;for(let a=0;athis._handleSingleObject(r,e));return 1===e.getRowCount()&&1===e.getColumnCount()?e.get(0,0):e}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;let{isError:r,errorObject:n,variants:i}=Pve(t);if(r)return n;let[a]=i;return Zbe(e,+a.getValue())}},ype.PERCENTILE_EXC],[bCe,ype.PERCENTILE_INC],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",3)}calculate(e,t,r){let n=this._getValues(e),i=null==r?Age.create(3):r;i.isNull()&&(i=Age.create(3));let a=Math.max(t.isArray()?t.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(t.isArray()?t.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=Wge(a,o,t,fhe.create(Jde.NA)),l=Wge(a,o,i,fhe.create(Jde.NA)),u=s.mapValue((e,t,r)=>{let i=l.get(t,r);return e.isError()?e:i.isError()?i:this._handleSingleObject(n,e,i)});return 1===a&&1===o?u.get(0,0):u}_handleSingleObject(e,t,r){if(e instanceof fhe)return e;let{isError:n,errorObject:i,variants:a}=Pve(t,r);if(n)return i;let[o,s]=a,l=+o.getValue(),u=Math.floor(+s.getValue()),c=e.length;if(0===c||le[c-1])return fhe.create(Jde.NA);if(1===c)return l===e[0]?Age.create(1):fhe.create(Jde.NA);let d=0,h=!1,m=0;for(;!h&&me[m]&&m+1e-t)}},ype.PERCENTRANK_EXC],[CCe,ype.PERCENTRANK_INC],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=Wge(r,n,e,fhe.create(Jde.NA)),a=Wge(r,n,t,fhe.create(Jde.NA)),o=i.mapValue((e,t,r)=>{let n=a.get(t,r);if(e.isError())return e;if(n.isError())return n;let{isError:i,errorObject:o,variants:s}=Pve(e,n);if(i)return o;let[l,u]=s,c=Math.floor(+l.getValue()),d=Math.floor(+u.getValue());if(c<0||c>=2147483647||d<0||c{let n=a.get(t,r);if(e.isError())return e;if(n.isError())return n;let{isError:i,errorObject:o,variants:s}=Pve(e,n);if(i)return o;let[l,u]=s,c=Math.floor(+l.getValue()),d=Math.floor(+u.getValue());if(c<0||c>=2147483647||d<0)return fhe.create(Jde.NUM);if(0===c)return 0===d?Age.create(1):Age.create(0);let h=c**d;return Number.isFinite(h)?Age.create(h):fhe.create(Jde.NUM)});return 1===r&&1===n?o.get(0,0):o}},ype.PERMUTATIONA],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return 1===t.getRowCount()&&1===t.getColumnCount()?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:r,variants:n}=Pve(e);if(t)return r;let[i]=n,a=+i.getValue(),o=Math.exp(-.5*a*a)/Math.sqrt(2*Math.PI);return Age.create(o)}},ype.PHI],[yCe,ype.POISSON_DIST],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",4)}calculate(e,t,r,n){let{isError:i,errorObject:a,xRangeValues:o,probRangeValues:s}=this._handleXRangeAndProbRange(e,t),l=null==n?r:n;null!=n&&n.isNull()&&(l=r);let u=Math.max(r.isArray()?r.getRowCount():1,l.isArray()?l.getRowCount():1),c=Math.max(r.isArray()?r.getColumnCount():1,l.isArray()?l.getColumnCount():1),d=Wge(u,c,r,fhe.create(Jde.NA)),h=Wge(u,c,l,fhe.create(Jde.NA)),m=d.mapValue((r,n,l)=>{let u=h.get(n,l);return e.isError()?e:t.isError()?t:r.isError()?r:u.isError()?u:i?a:this._handleSingleObject(o,s,r,u)});return 1===u&&1===c?m.get(0,0):m}_handleSingleObject(e,t,r,n){let{isError:i,errorObject:a,variants:o}=Pve(r,n);if(i)return a;let[s,l]=o,u=+s.getValue(),c=+l.getValue();if(1!==t.reduce((e,t)=>e+t,0))return fhe.create(Jde.NUM);let d=0;for(let r=0;r=u&&e[r]<=c&&(d+=t[r]);return Age.create(d)}_handleXRangeAndProbRange(e,t){let r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&1===r&&1===n&&(o=e.get(0,0)),o.isError())return{isError:!0,errorObject:o,xRangeValues:[],probRangeValues:[]};let s=t;if(t.isArray()&&1===i&&1===a&&(s=t.get(0,0)),s.isError())return{isError:!0,errorObject:s,xRangeValues:[],probRangeValues:[]};if((r*n===1||i*a===1)&&(o.isNull()||s.isNull()))return{isError:!0,errorObject:fhe.create(Jde.VALUE),xRangeValues:[],probRangeValues:[]};if(r*n!==i*a)return{isError:!0,errorObject:fhe.create(Jde.NA),xRangeValues:[],probRangeValues:[]};let{isError:l,errorObject:u,array1Values:c,array2Values:d,noCalculate:h}=Lbe(e,t,r*n,n,a);return l?{isError:!0,errorObject:u,xRangeValues:[],probRangeValues:[]}:h?{isError:!0,errorObject:fhe.create(Jde.DIV_BY_ZERO),xRangeValues:[],probRangeValues:[]}:{isError:!1,errorObject:null,xRangeValues:c,probRangeValues:d}}},ype.PROB],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let r=Xbe(e);if(t.isArray()){let e=t.mapValue(e=>this._handleSingleObject(r,e));return 1===e.getRowCount()&&1===e.getColumnCount()?e.get(0,0):e}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;let{isError:r,errorObject:n,variants:i}=Pve(t);if(r)return n;let[a]=i;return $be(e,Math.floor(+a.getValue()))}},ype.QUARTILE_EXC],[_Ce,ype.QUARTILE_INC],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",3),Kde(this,"needsReferenceObject",!0)}calculate(e,t,r){let n=e;n.isReferenceObject()&&(n=n.toArrayValueObject());let{refHasError:i,refErrorObject:a,refNumbers:o}=this._checkRefReferenceObject(t),s=null==r?Age.create(0):r;s.isReferenceObject()&&(s=s.toArrayValueObject());let l=Math.max(n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),u=Math.max(n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),c=Wge(l,u,n,fhe.create(Jde.NA)),d=Wge(l,u,s,fhe.create(Jde.NA)),h=c.map((t,r,n)=>{let s=d.get(r,n);if(!e.isReferenceObject()&&e.isNull())return fhe.create(Jde.NA);if(i)return a;if(s.isError())return s;let l=+t.getValue(),u=+s.getValue();return Number.isNaN(l)||Number.isNaN(u)?fhe.create(Jde.VALUE):this._getResult(l,u,o)});return 1===l&&1===u?h.get(0,0):h}_getResult(e,t,r){let n=r.sort((e,r)=>t?e-r:r-e),i=n.indexOf(e),a=[];for(;i>=0;){let t=i+1;a.push(t),i=n.indexOf(e,t)}if(0===a.length)return fhe.create(Jde.NA);let o=a.reduce((e,t)=>e+t,0)/a.length;return Age.create(o)}_checkRefReferenceObject(e){let t=!1,r=fhe.create(Jde.NA),n=[];return e.isReferenceObject()?(e.toArrayValueObject().iterator(e=>{let i=e;if(i.isError())return t=!0,r=i,!1;if(i.isNull()||i.isBoolean())return!0;let a=+i.getValue();if(Number.isNaN(a))return!0;n.push(a)}),{refHasError:t,refErrorObject:r,refNumbers:n}):{refHasError:!0,refErrorObject:r,refNumbers:n}}},ype.RANK_AVG],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",3),Kde(this,"needsReferenceObject",!0)}calculate(e,t,r){let n=e;n.isReferenceObject()&&(n=n.toArrayValueObject());let{refHasError:i,refErrorObject:a,refNumbers:o}=this._checkRefReferenceObject(t),s=null==r?Age.create(0):r;s.isReferenceObject()&&(s=s.toArrayValueObject());let l=Math.max(n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),u=Math.max(n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),c=Wge(l,u,n,fhe.create(Jde.NA)),d=Wge(l,u,s,fhe.create(Jde.NA)),h=c.map((t,r,n)=>{let s=d.get(r,n);if(!e.isReferenceObject()&&e.isNull())return fhe.create(Jde.NA);if(i)return a;if(s.isError())return s;let l=+t.getValue(),u=+s.getValue();if(Number.isNaN(l)||Number.isNaN(u))return fhe.create(Jde.VALUE);let c=o.sort((e,t)=>u?e-t:t-e).indexOf(l);return-1===c?fhe.create(Jde.NA):Age.create(c+1)});return 1===l&&1===u?h.get(0,0):h}_checkRefReferenceObject(e){let t=!1,r=fhe.create(Jde.NA),n=[];return e.isReferenceObject()?(e.toArrayValueObject().iterator(e=>{let i=e;if(i.isError())return t=!0,r=i,!1;if(i.isNull()||i.isBoolean())return!0;let a=+i.getValue();if(Number.isNaN(a))return!0;n.push(a)}),{refHasError:t,refErrorObject:r,refNumbers:n}):{refHasError:!0,refErrorObject:r,refNumbers:n}}},ype.RANK_EQ],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&1===r&&1===n&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&1===i&&1===a&&(s=t.get(0,0)),s.isError())return s;if((r*n===1||i*a===1)&&(o.isNull()||s.isNull()))return fhe.create(Jde.VALUE);if(r*n!==i*a)return fhe.create(Jde.NA);let{isError:l,errorObject:u,array1Values:c,array2Values:d,noCalculate:h}=Lbe(e,t,r*n,n,a);return l?u:h?fhe.create(Jde.DIV_BY_ZERO):this._getResult(c,d)}_getResult(e,t){if(0===e.length)return fhe.create(Jde.DIV_BY_ZERO);let r=e.length,n=0,i=0;for(let a=0;athis._handleSingleObject(r,e));return 1===e.getRowCount()&&1===e.getColumnCount()?e.get(0,0):e}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;let{isError:r,errorObject:n,variants:i}=Pve(t);if(r)return n;let[a]=i;return Ybe(e,+a.getValue())}},ype.SMALL],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",3)}calculate(e,t,r){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=Wge(n,i,e,fhe.create(Jde.NA)),o=Wge(n,i,t,fhe.create(Jde.NA)),s=Wge(n,i,r,fhe.create(Jde.NA)),l=a.mapValue((e,t,r)=>{let n=o.get(t,r),i=s.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:this._handleSingleObject(e,n,i)});return 1===n&&1===i?l.get(0,0):l}_handleSingleObject(e,t,r){let{isError:n,errorObject:i,variants:a}=Pve(e,t,r);if(n)return i;let[o,s,l]=a,u=+o.getValue(),c=+s.getValue(),d=+l.getValue();if(d<=0)return fhe.create(Jde.NUM);let h=(u-c)/d;return Age.create(h)}},ype.STANDARDIZE],[wCe,ype.STDEV_P],[ECe,ype.STDEV_S],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",255)}calculate(...e){let t=this.flattenArray(e,!1);return t.isError()?t:t.std(1)}},ype.STDEVA],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",255)}calculate(...e){let t=this.flattenArray(e,!1);return t.isError()?t:t.std()}},ype.STDEVPA],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&1===r&&1===n&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&1===i&&1===a&&(s=t.get(0,0)),s.isError())return s;if((r*n===1||i*a===1)&&(o.isNull()||s.isNull()))return fhe.create(Jde.VALUE);if(r*n!==i*a)return fhe.create(Jde.NA);let{isError:l,errorObject:u,array1Values:c,array2Values:d,noCalculate:h}=Lbe(e,t,r*n,n,a);return l?u:h?fhe.create(Jde.DIV_BY_ZERO):this._getResult(c,d)}_getResult(e,t){let r=e.length;if(r<=2)return fhe.create(Jde.DIV_BY_ZERO);let n=0,i=0;for(let a=0;a{let n=o.get(t,r),i=s.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:this._handleSingleObject(e,n,i)});return 1===n&&1===i?l.get(0,0):l}_handleSingleObject(e,t,r){let{isError:n,errorObject:i,variants:a}=Pve(e,t,r);if(n)return i;let o,[s,l,u]=a,c=+s.getValue(),d=Math.floor(+l.getValue()),h=+u.getValue();return d<1?fhe.create(Jde.NUM):(o=h?Mbe(c,d):function(e,t){let r=(1+e**2/t)**(-(t+1)/2);return 1/(Math.sqrt(t)*dbe(.5,t/2))*r}(c,d),Number.isNaN(o)||!Number.isFinite(o)?fhe.create(Jde.NUM):Age.create(o))}},ype.T_DIST],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=Wge(r,n,e,fhe.create(Jde.NA)),a=Wge(r,n,t,fhe.create(Jde.NA)),o=i.mapValue((e,t,r)=>{let n=a.get(t,r);return e.isError()?e:n.isError()?n:this._handleSingleObject(e,n)});return 1===r&&1===n?o.get(0,0):o}_handleSingleObject(e,t){let{isError:r,errorObject:n,variants:i}=Pve(e,t);if(r)return n;let[a,o]=i,s=+a.getValue(),l=Math.floor(+o.getValue());if(s<0||l<1||l>10**10)return fhe.create(Jde.NUM);let u=2*Mbe(-s,l);return Number.isNaN(u)||!Number.isFinite(u)?fhe.create(Jde.NUM):Age.create(u)}},ype.T_DIST_2T],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=Wge(r,n,e,fhe.create(Jde.NA)),a=Wge(r,n,t,fhe.create(Jde.NA)),o=i.mapValue((e,t,r)=>{let n=a.get(t,r);return e.isError()?e:n.isError()?n:this._handleSingleObject(e,n)});return 1===r&&1===n?o.get(0,0):o}_handleSingleObject(e,t){let{isError:r,errorObject:n,variants:i}=Pve(e,t);if(r)return n;let[a,o]=i,s=+a.getValue(),l=Math.floor(+o.getValue());if(l<1||l>10**10)return fhe.create(Jde.NUM);let u=Mbe(-s,l);return Number.isNaN(u)||!Number.isFinite(u)?fhe.create(Jde.NUM):Age.create(u)}},ype.T_DIST_RT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=Wge(r,n,e,fhe.create(Jde.NA)),a=Wge(r,n,t,fhe.create(Jde.NA)),o=i.mapValue((e,t,r)=>{let n=a.get(t,r);return e.isError()?e:n.isError()?n:this._handleSingleObject(e,n)});return 1===r&&1===n?o.get(0,0):o}_handleSingleObject(e,t){let{isError:r,errorObject:n,variants:i}=Pve(e,t);if(r)return n;let[a,o]=i,s=+a.getValue(),l=Math.floor(+o.getValue());if(s<=0||s>1||l<1||l>10**10)return fhe.create(Jde.NUM);let u=Obe(s,l);return Number.isNaN(u)||!Number.isFinite(u)?fhe.create(Jde.NUM):Age.create(u)}},ype.T_INV],[SCe,ype.T_INV_2T],[ACe,ype.T_TEST],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",4)}calculate(e,t,r,n){let{isError:i,errorObject:a}=kbe(e,t,r);if(i)return a;let o=Pbe(e);if(o instanceof fhe)return o;let s=this._getKnownXsValues(o,t);if(s instanceof fhe)return s;let l=this._getNewXsValues(s,r);if(l instanceof fhe)return l;let u=null==n?Sge.create(!0):n;if(u.isArray()&&(u=u.get(0,0)),u.isString()&&(u=u.convertToNumberObjectValue()),u.isError())return u;let c=+u.getValue();return this._getResult(o,s,l,c)}_getResult(e,t,r,n){return 1===e.length&&t.length>1||1===e[0].length&&t[0].length>1?1===e.length&&t.length>1&&(n?t.length+1:t.length)>e[0].length||1===e[0].length&&t[0].length>1&&(n?t[0].length+1:t[0].length)>e.length?fhe.create(Jde.NA):this._getResultByMultipleVariables(e,t,r,n):this._getResultBySimpleVariables(e,t,r,n)}_getResultByMultipleVariables(e,t,r,n){let i=1===e.length&&e[0].length>1,a=Bbe(e,t,r,n,!1);if(a instanceof fhe)return a;let{coefficients:o,newX:s}=a,l=o[0].length,u=o[0][l-1],c=[];for(let e=0;e=0;r--)t+=o[0][l-2-r]*s[e][r];c[e].push(t)}return i&&(c=$ve(c)),Lge.createByArray(c)}_getResultBySimpleVariables(e,t,r,n){let i=e.flat(),{slope:a,intercept:o}=Ube(t.flat(),i,n,!1);if(Number.isNaN(a))return fhe.create(Jde.NA);let s=r.map(e=>e.map(e=>a*e+o));return Lge.createByArray(s)}_getKnownXsValues(e,t){return!t||t.isNull()?Dbe(e.length,e[0].length):Pbe(t)}_getNewXsValues(e,t){return!t||t.isNull()?e:Pbe(t)}},ype.TREND],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let r=this._getValues(e);if(t.isArray()){let e=t.mapValue(e=>this._handleSingleObject(r,e));return 1===e.getRowCount()&&1===e.getColumnCount()?e.get(0,0):e}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(e instanceof fhe)return e;let{isError:r,errorObject:n,variants:i}=Pve(t);if(r)return n;let[a]=i,o=+a.getValue();if(o<0||o>=1)return fhe.create(Jde.NUM);let s=2*pge(e.length*o/2,0),l=e.slice(s/2,e.length-s/2),u=l.reduce((e,t)=>e+t,0)/l.length;return Age.create(u)}_getValues(e){let t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let i=0;ie-t)}},ype.TRIMMEAN],[ICe,ype.VAR_P],[RCe,ype.VAR_S],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",255)}calculate(...e){let t=this.flattenArray(e,!1);return t.isError()?t:t.var(1)}},ype.VARA],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",255)}calculate(...e){let t=this.flattenArray(e,!1);return t.isError()?t:t.var()}},ype.VARPA],[xCe,ype.WEIBULL_DIST],[TCe,ype.Z_TEST]],Aye=Object.values(Bm).filter(e=>[Bm.TABLE_START,Bm.TABLE_ROW_START,Bm.TABLE_CELL_START,Bm.TABLE_CELL_END,Bm.TABLE_ROW_END,Bm.TABLE_END,Bm.CUSTOM_BLOCK].includes(e)),Iye=(e,t)=>gs(e,t,{throws:!1}),Rye=e=>{let t=`${e.getValue()}`;return e.isNull()&&(t=""),e.isBoolean()&&(t=t.toLocaleUpperCase()),e.isNumber()&&(t=""===e.getPattern()?`${wge(+e.getValue())}`:Iye(e.getPattern(),+e.getValue())),t};function xye(e){let t=0;for(let r=0;r=0){let r=e.charCodeAt(t-1);if(Nye(r))return Oye(r,n)}return n}(e,t,r)>255?2:1}function Nye(e){return e>=55296&&e<=56319}function Mye(e){return e>=56320&&e<=57343}function Oye(e,t){return((1023&e)<<10)+(1023&t)+65536}const Lye=["〇","一","二","三","四","五","六","七","八","九"],kye=["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"],Pye=["","十","百","千"],Dye=["","拾","佰","仟"],Uye=["","万","亿","兆"];var Bye=function(e){return e[e.ROOT=0]="ROOT",e[e.GROUP=1]="GROUP",e[e.POSITION=2]="POSITION",e[e.SET=3]="SET",e[e.RANGE=4]="RANGE",e[e.REPETITION=5]="REPETITION",e[e.REFERENCE=6]="REFERENCE",e[e.CHAR=7]="CHAR",e}(Bye||{});const Vye=()=>[{type:Bye.RANGE,from:48,to:57}],Fye=()=>[{type:Bye.CHAR,value:95},{type:Bye.RANGE,from:97,to:122},{type:Bye.RANGE,from:65,to:90},{type:Bye.RANGE,from:48,to:57}],jye=()=>[{type:Bye.CHAR,value:9},{type:Bye.CHAR,value:10},{type:Bye.CHAR,value:11},{type:Bye.CHAR,value:12},{type:Bye.CHAR,value:13},{type:Bye.CHAR,value:32},{type:Bye.CHAR,value:160},{type:Bye.CHAR,value:5760},{type:Bye.RANGE,from:8192,to:8202},{type:Bye.CHAR,value:8232},{type:Bye.CHAR,value:8233},{type:Bye.CHAR,value:8239},{type:Bye.CHAR,value:8287},{type:Bye.CHAR,value:12288},{type:Bye.CHAR,value:65279}],Hye=()=>({type:Bye.SET,set:Fye(),not:!1}),Wye=()=>({type:Bye.SET,set:Fye(),not:!0}),zye=()=>({type:Bye.SET,set:Vye(),not:!1}),Xye=()=>({type:Bye.SET,set:Vye(),not:!0}),qye=()=>({type:Bye.SET,set:jye(),not:!1}),Gye=()=>({type:Bye.SET,set:jye(),not:!0}),Yye=()=>({type:Bye.SET,set:[{type:Bye.CHAR,value:10},{type:Bye.CHAR,value:13},{type:Bye.CHAR,value:8232},{type:Bye.CHAR,value:8233}],not:!0});function Qye(e,t){let r,n=[],i=/\\(?:(w)|(d)|(s)|(W)|(D)|(S))|((?:(?:\\)(.)|([^\]\\]))-(((?:\\)])|(((?:\\)?([^\]])))))|(\])|(?:\\)?([^])/g;for(;null!==(r=i.exec(e));){let e=null,[,t,a,o,s,l,u,c,d,h,m]=r;if(t||a||o||s||l||u?e=(()=>{let e={type:Bye.SET,set:[],not:!1};return t?e=Hye():a?e=zye():o?e=qye():s?e=Wye():l?e=Xye():u&&(e=Gye()),e})():c&&m?e={type:Bye.RANGE,from:(d||h).charCodeAt(0),to:m.charCodeAt(m.length-1)}:r[16]&&(e={type:Bye.CHAR,value:r[16].charCodeAt(0)}),!e)return[n,i.lastIndex];n.push(e)}throw SyntaxError(`Invalid regular expression: /${t}/: Unterminated character class`)}function Zye(e,t){if(!function(e){return!(/\(\?<=.*?\)/g.test(e)&&!/\[.*?(\?<=.*?)\]/g.test(e)||/\(\?{throw SyntaxError(`Invalid regular expression: /${e}/: Nothing to repeat at column ${t-1}`)},u=function(e){return e.replace(/(\[\\b\])|(\\)?\\(?:u([A-F0-9]{4})|x([A-F0-9]{2})|c([@A-Z[\\\]^?])|([0tnvfr]))/g,(e,t,r,n,i,a,o)=>{if(r)return e;let s;s=t?8:n?Number.parseInt(n,16):i?Number.parseInt(i,16):a?"@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^ ?".indexOf(a):{0:0,t:9,n:10,v:11,f:12,r:13}[o];let l=String.fromCharCode(s);return/[[\]{}^$.|?*+()]/.test(l)?`\\${l}`:l})}(e),c=0;for(;c0)throw SyntaxError(`Invalid regular expression: /${e}/: Unterminated group`);return function(e,t){for(let r of e.reverse()){let e=r.reference.value;if(te){let n=r.stack.splice(r.index+1);for(let n of t.slice(e))r.stack.push({type:Bye.CHAR,value:n.charCodeAt(0)});r.stack.push(...n)}}}}}(o,s),r}(t)}catch{return!1}let i=0,a=(e,t)=>{let r=t;if(e.type===Bye.REPETITION){if(t>0&&(0===e.min||e.max===1/0)||function(e){let t=e.stack||e.value&&e.value.stack;return!!t&&Kye(t)}(e)&&(i++,i>n))return!1;r=t+1}if(e.options)for(let t of e.options)if(!a({stack:t},r))return!1;let o=e.stack||e.value&&e.value.stack;if(!o)return!0;for(let e of o)if(!a(e,r))return!1;return!0};return a(r,0)}(r)?{isError:!1,regExp:r}:{isError:!0,regExp:null}}catch{return{isError:!0,regExp:null}}}function Kye(e){for(let t of e){if(t.options&&t.options.length>0)return!0;let e=t.stack||t.value&&t.value.stack;if(e&&Kye(e))return!0}return!1}const $ye=Object.values(Bm).filter(e=>[Bm.TABLE_START,Bm.TABLE_ROW_START,Bm.TABLE_CELL_START,Bm.TABLE_CELL_END,Bm.TABLE_ROW_END,Bm.TABLE_END,Bm.CUSTOM_BLOCK].includes(e)),Jye=[[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return 1===t.getRowCount()&&1===t.getColumnCount()?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError()||e.isNull()||e.isBoolean()||e.isNumber())return e;let t=e.getValue().toLocaleString(),r="";for(let e=0;e=65281&&n<=65374&&(n-=65248),r+=String.fromCharCode(n)}return Rge.create(r)}},_pe.ASC],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",2)}calculate(e,t){let r=null==t?Age.create(0):t;if(null!=t&&t.isNull()&&(r=Age.create(0)),r.isArray()){let t=r.mapValue(t=>this._handleSingleObject(e,t));return 1===t.getRowCount()&&1===t.getColumnCount()?t.get(0,0):t}return this._handleSingleObject(e,r)}_handleSingleObject(e,t){let r=this._checkArray(e);if(r.isError())return r;let{isError:n,errorObject:i,variants:a}=Pve(t);if(n)return i;let[o]=a,s=+o.getValue(),l=e.isArray()?e.getRowCount():1,u=e.isArray()?e.getColumnCount():1,c="";for(let t=0;t32767?fhe.create(Jde.CALC):Rge.create(c)}_checkArray(e){if(e.isArray()){let t=e.getRowCount(),r=e.getColumnCount();return t>1||r>1?e:e.get(0,0)}return e}},_pe.ARRAYTOTEXT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return 1===t.getRowCount()&&1===t.getColumnCount()?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:r,variants:n}=Pve(e);if(t)return r;let[i]=n,a=+i.getValue(),o=Math.abs(Number.parseInt(a.toString(),10)),s=Number.parseFloat((Math.abs(a)-o).toFixed(2)),l="";return l=0===o?0===s?"ศูนย์บาทถ้วน":`${a<0?"ลบ":""}${this._convertNumberToThaiText(100*s)}สตางค์`:0===s?`${a<0?"ลบ":""}${this._convertNumberToThaiText(o)}บาทถ้วน`:`${a<0?"ลบ":""}${this._convertNumberToThaiText(o)}บาท${this._convertNumberToThaiText(100*s)}สตางค์`,Rge.create(l)}_convertNumberToThaiText(e){let t=["ล้าน","สิบ","ร้อย","พัน","หมื่น","แสน",""],r=["ศูนย์","หนึ่ง","สอง","สาม","สี่","ห้า","หก","เจ็ด","แปด","เก้า"],n=["ลบ","บาท","ถ้วน","สตางค์","ยี่","เอ็ด",","," ","฿"],i=e.toString(),a=i.length,o="";for(let e=a;e>0;e--){let s=Number.parseInt(i.charAt(a-e),10),l=r[s],u=e>1?(e-1)%6:6;if(1===u&&2===s&&(l=n[4]),1===s)switch(u){case 0:case 6:o+=ethis._handleSingleObject(e));return 1===t.getRowCount()&&1===t.getColumnCount()?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:r,variants:n}=Pve(e);if(t)return r;let[i]=n,a=Math.floor(+i.getValue());if(a<=0)return fhe.create(Jde.VALUE);let o=String.fromCharCode(a);return Aye.some(e=>e===o)&&(o=""),Rge.create(o)}},_pe.CHAR],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return 1===t.getRowCount()&&1===t.getColumnCount()?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError()||e.isBoolean()||e.isNumber())return e;if(e.isNull())return Rge.create("");let t=`${e.getValue()}`.replace(/[\0-\x1F]/g,"");return Rge.create(t)}},_pe.CLEAN],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return 1===t.getRowCount()&&1===t.getColumnCount()?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return fhe.create(Jde.VALUE);let t=e.getValue().toLocaleString();if(e.isBoolean()&&(t=t.toLocaleUpperCase()),""===t)return fhe.create(Jde.VALUE);let r=t.charCodeAt(0);return Age.create(r)}},_pe.CODE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",255)}calculate(...e){let t="",r=null;for(let n of e)if(n.isArray()){if(n.iterator(e=>!(null!=e&&!e.isNull())||(e.isError()?(r=e,!1):void(e.isBoolean()?t+=`${e.getValue()}`.toLocaleUpperCase():(e.isString()||e.isNumber())&&(t+=e.getValue())))),r)return r}else!n.isError()&&!n.isNull()&&(t+=n.getValue());return Rge.create(t)}},_pe.CONCAT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",255)}calculate(...e){let t=0,r=0;e.forEach(e=>{if(e.isArray()){let n=e;t=Math.max(t,n.getRowCount()),r=Math.max(r,n.getColumnCount())}else t=Math.max(t,1),r=Math.max(r,1)});let n=null;for(let i of e)n=Wge(t,r,i,fhe.create(Jde.NA)).mapValue((e,t,r)=>{var i,a;let o=n&&n.get(t,r);if(null!=o&&o.isError())return o;if(e.isError())return e;let s=null==o?void 0:o.getValue(),l=null==e?void 0:e.getValue();null!=o&&o.isBoolean()&&(s=`${s}`.toLocaleUpperCase()),null!=e&&e.isBoolean()&&(l=`${l}`.toLocaleUpperCase());let u=null!=o&&o.isNull()||null==(i=s)?"":i,c=null!=e&&e.isNull()||null==(a=l)?"":a;return Rge.create(`${u}${c}`)});return n||fhe.create(Jde.VALUE)}},_pe.CONCATENATE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return 1===t.getRowCount()&&1===t.getColumnCount()?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return Rge.create("");let t=`${e.getValue()}`;e.isBoolean()&&(t=t.toLocaleUpperCase());let r="";for(let e=0;e=33&&n<=126?String.fromCharCode(n+65248):32===n?" ":t.charAt(e)}return Rge.create(r)}},_pe.DBCS],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",2),Kde(this,"needsLocale",!0)}calculate(e,t){let r=null==t?Age.create(2):t;r.isNull()&&(r=Age.create(2));let n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=Wge(n,i,e,fhe.create(Jde.NA)),o=Wge(n,i,r,fhe.create(Jde.NA)),s=a.mapValue((e,t,r)=>{let n=o.get(t,r);return e.isError()?e:n.isError()?n:this._handleSingleObject(e,n)});return 1===n&&1===i?s.get(0,0):s}_handleSingleObject(e,t){let{isError:r,errorObject:n,variants:i}=Pve(e,t);if(r)return n;let[a,o]=i,s=+a.getValue(),l=Math.trunc(+o.getValue());if(l>127)return fhe.create(Jde.VALUE);l<0&&(s=`${s}`.length{let n=a.get(t,r);return e.isError()?e:n.isError()?n:this._handleSingleObject(e,n)});return 1===r&&1===n?o.get(0,0):o}_handleSingleObject(e,t){if(e.isNull()||t.isNull()){let r=e.isNull()&&t.isNull();return Sge.create(r)}let r=`${e.getValue()}`;e.isBoolean()&&(r=r.toLocaleUpperCase());let n=`${t.getValue()}`;t.isBoolean()&&(n=n.toLocaleUpperCase());let i=r===n;return Sge.create(i)}},_pe.EXACT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",3)}calculate(e,t,r){let n=null==r?Age.create(1):r,i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=Wge(i,a,e,fhe.create(Jde.NA)),s=Wge(i,a,t,fhe.create(Jde.NA)),l=Wge(i,a,n,fhe.create(Jde.NA)),u=o.mapValue((e,t,r)=>{let n=s.get(t,r),i=l.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:this._handleSingleObject(e,n,i)});return 1===i&&1===a?u.get(0,0):u}_handleSingleObject(e,t,r){let n=Rye(e),i=Rye(t),{isError:a,errorObject:o,variants:s}=Pve(r);if(a)return o;let[l]=s,u=Math.floor(+l.getValue());if(t.isNull()||u<=0||u>i.length)return fhe.create(Jde.VALUE);if(e.isNull()||0===n.length)return Age.create(u);let c=i.indexOf(n,u-1);return-1===c?fhe.create(Jde.VALUE):Age.create(c+1)}},_pe.FIND],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",3)}calculate(e,t,r){let n=null==r?Age.create(1):r,i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=Wge(i,a,e,fhe.create(Jde.NA)),s=Wge(i,a,t,fhe.create(Jde.NA)),l=Wge(i,a,n,fhe.create(Jde.NA)),u=o.mapValue((e,t,r)=>{let n=s.get(t,r),i=l.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:this._handleSingleObject(e,n,i)});return 1===i&&1===a?u.get(0,0):u}_handleSingleObject(e,t,r){let n=Rye(e),i=Rye(t),{isError:a,errorObject:o,variants:s}=Pve(r);if(a)return o;let[l]=s,u=Math.floor(+l.getValue());if(t.isNull()||u<=0||u>i.length)return fhe.create(Jde.VALUE);if(e.isNull()||0===n.length)return Age.create(u);let c=i.indexOf(n,u-1);if(-1===c)return fhe.create(Jde.VALUE);let d=xye(i.substring(0,c))+1;return Age.create(d)}},_pe.FINDB],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",3)}calculate(e,t,r){let n=null==t?Age.create(2):t;n.isNull()&&(n=Age.create(2));let i=null==r?Sge.create(!1):r;i.isNull()&&(i=Sge.create(!1));let a=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=Wge(a,o,e,fhe.create(Jde.NA)),l=Wge(a,o,n,fhe.create(Jde.NA)),u=Wge(a,o,i,fhe.create(Jde.NA)),c=s.mapValue((e,t,r)=>{let n=l.get(t,r),i=u.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:this._handleSingleObject(e,n,i)});return 1===a&&1===o?c.get(0,0):c}_handleSingleObject(e,t,r){let{isError:n,errorObject:i,variants:a}=Pve(e,t,r);if(n)return i;let[o,s,l]=a,u=+o.getValue(),c=Math.trunc(+s.getValue()),d=+l.getValue();if(c>127)return fhe.create(Jde.VALUE);c<0&&(u=`${u}`.length0&&(h+=`.${"0".repeat(c)}`);let m=Iye(h,u);return Rge.create(m)}},_pe.FIXED],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",2)}calculate(e,t){let r=null==t?Age.create(1):t,n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=Wge(n,i,e,fhe.create(Jde.NA)),o=Wge(n,i,r,fhe.create(Jde.NA)),s=a.mapValue((e,t,r)=>{let n=o.get(t,r);return e.isError()?e:n.isError()?n:this._handleSingleObject(e,n)});return 1===n&&1===i?s.get(0,0):s}_handleSingleObject(e,t){let r=Rye(e),{isError:n,errorObject:i,variants:a}=Pve(t);if(n)return i;let[o]=a,s=Math.floor(+o.getValue());if(s<0)return fhe.create(Jde.VALUE);if(e.isNull()||0===s)return Rge.create("");if(s>=r.length)return Rge.create(r);let l=r.substring(0,s);return Rge.create(l)}},_pe.LEFT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",2)}calculate(e,t){let r=null==t?Age.create(1):t,n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=Wge(n,i,e,Ege.create()),o=Wge(n,i,r,Ege.create()),s=a.mapValue((e,t,r)=>{let n=o.get(t,r);return e.isError()?e:n.isError()?n:this._handleSingleObject(e,n)});return 1===n&&1===i?s.get(0,0):s}_handleSingleObject(e,t){let r=Rye(e),{isError:n,errorObject:i,variants:a}=Pve(t);if(n)return i;let[o]=a,s=Math.floor(+o.getValue());if(s<0)return fhe.create(Jde.VALUE);if(e.isNull()||0===s)return Rge.create("");let l=0,u=0,c="";for(;uthis._handleSingleText(e));return 1===t.getRowCount()&&1===t.getColumnCount()?t.get(0,0):t}return this._handleSingleText(e)}_handleSingleText(e){if(e.isError())return e;let t=Rye(e);return Age.create(t.length)}},_pe.LEN],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleText(e));return 1===t.getRowCount()&&1===t.getColumnCount()?t.get(0,0):t}return this._handleSingleText(e)}_handleSingleText(e){if(e.isError())return e;let t=xye(Rye(e));return Age.create(t)}},_pe.LENB],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return 1===t.getRowCount()&&1===t.getColumnCount()?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return Rge.create("");let t=`${e.getValue()}`.toLocaleLowerCase();return Rge.create(t)}},_pe.LOWER],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",3)}calculate(e,t,r){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=Wge(n,i,e,fhe.create(Jde.NA)),o=Wge(n,i,t,fhe.create(Jde.NA)),s=Wge(n,i,r,fhe.create(Jde.NA)),l=a.mapValue((e,t,r)=>{let n=o.get(t,r),i=s.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:this._handleSingleObject(e,n,i)});return 1===n&&1===i?l.get(0,0):l}_handleSingleObject(e,t,r){let n=Rye(e),{isError:i,errorObject:a,variants:o}=Pve(t,r);if(i)return a;let[s,l]=o,u=Math.floor(+s.getValue()),c=Math.floor(+l.getValue());if(u<=0||c<0)return fhe.create(Jde.VALUE);if(e.isNull()||u>n.length||0===c)return Rge.create("");let d=n.substring(u-1,u-1+c);return Rge.create(d)}},_pe.MID],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",3)}calculate(e,t,r){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=Wge(n,i,e,fhe.create(Jde.NA)),o=Wge(n,i,t,fhe.create(Jde.NA)),s=Wge(n,i,r,fhe.create(Jde.NA)),l=a.mapValue((e,t,r)=>{let n=o.get(t,r),i=s.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:this._handleSingleObject(e,n,i)});return 1===n&&1===i?l.get(0,0):l}_handleSingleObject(e,t,r){let n=Rye(e),{isError:i,errorObject:a,variants:o}=Pve(t,r);if(i)return a;let[s,l]=o,u=Math.floor(+s.getValue()),c=Math.floor(+l.getValue());if(u<=0||c<0)return fhe.create(Jde.VALUE);if(e.isNull()||u>n.length||0===c)return Rge.create("");n=n.substring(u-1);let d=0,h=0,m="";for(;h{let n=a.get(t,r);return e.isError()?e:n.isError()?n:this._handleSingleObject(e,n)});return 1===r&&1===n?o.get(0,0):o}_handleSingleObject(e,t){let r=e.convertToNumberObjectValue();if(r.isError())return r;let n=t.convertToNumberObjectValue();if(n.isError())return n;let i=r.getValue(),a=Math.trunc(n.getValue());if(i<0||![1,2,3].includes(a))return fhe.create(Jde.NUM);i=Math.round(i);let o=i.toString(),s=o.length,l="",u=!1;for(let e=0;e=17&&i>2){if(l+=1===a?Lye[t]:kye[t],i>3)continue}else 0===t?u=0!==n:(u&&(l+=1===a?Lye[0]:kye[0],u=!1),l+=1===a?Lye[t]+Pye[n]:kye[t]+Dye[n]);0===n&&i>0&&"0000"!==o.slice(Math.max(0,e-3),e+1)&&(l+=Uye[i])}return Rge.create(l)}},_pe.NUMBERSTRING],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",3)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e,t,r){let n=null==t?Rge.create("."):t,i=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1,null!=r&&r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1,null!=r&&r.isArray()?r.getColumnCount():1),o=Wge(i,a,e,fhe.create(Jde.NA)),s=Wge(i,a,n,fhe.create(Jde.NA)),l=r?Wge(i,a,r,fhe.create(Jde.NA)):void 0,u=o.mapValue((e,t,n)=>{let i=s.get(t,n),a=r?l.get(t,n):void 0;return e.isError()?e:i.isError()?i:null!=a&&a.isError()?a:i.isNull()||null!=a&&a.isNull()?fhe.create(Jde.VALUE):e.isNull()?Age.create(0):this._handleSingleObject(e,i,a)});return 1===i&&1===a?u.get(0,0):u}_handleSingleObject(e,t,r){let n=`${e.getValue()}`;n=n.replace(/\s+/g,"");let i,a=`${t.getValue()}`;if(t.isBoolean()&&(a=a.toLocaleUpperCase()),a=a.charAt(0),r&&(i=`${r.getValue()}`,r.isBoolean()&&(i=i.toLocaleUpperCase()),i=i.charAt(0),a===i))return fhe.create(Jde.VALUE);if(""===n.trim())return Age.create(0);if(!n.match(/^\s*[+-]?\s*(?:(?:\d+(?:\.\d*)?)|(?:\.\d+))(?:[eE][+-]?\d+)?[ \t]*/))return fhe.create(Jde.VALUE);let o=n.split(a);if(o.length>2)return fhe.create(Jde.VALUE);let s=o[0].replace(/,/g,"");r&&(s=s.split(i).join(""));let l=0;if(1===o.length){","===a&&(s=s.replace(/\./g,""));let e=0;for(;s.endsWith("%");)s=s.slice(0,-1),e++;l=e>0?s/100**e:+s}else{if(!$d(s))return fhe.create(Jde.VALUE);let e=o[1],t=0;for(;e.endsWith("%");)e=e.slice(0,-1),t++;let r=`${s}.${e}`;if(!$d(r))return fhe.create(Jde.VALUE);l=t>0?r/100**t:+r}return Number.isNaN(l)?fhe.create(Jde.VALUE):Age.create(l)}},_pe.NUMBERVALUE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let{isError:r,errorObject:n,variants:i}=Ove(e,t);if(r)return n;let[a,o]=i,s=a.getValue();a.isNull()&&(s=""),a.isBoolean()&&(s=s?"TRUE":"FALSE"),s=`${s}`;let l=o.getValue();o.isNull()&&(l=""),o.isBoolean()&&(l=l?"TRUE":"FALSE"),l=`${l}`;let{isError:u,regExp:c}=Zye(l,!1);if(u)return fhe.create(Jde.REF);let d=s.match(c);if(null===d)return fhe.create(Jde.NA);if(d.length>1){let e=d.slice(1).map(e=>Rge.create(e));return e.length>1?Lge.create({calculateValueList:[e],rowCount:1,columnCount:e.length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column}):e[0]}return Rge.create(d[0])}},_pe.REGEXEXTRACT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}calculate(e,t){let{isError:r,errorObject:n,variants:i}=Ove(e,t);if(r)return n;let[a,o]=i,s=a.getValue();a.isNull()&&(s=""),a.isBoolean()&&(s=s?"TRUE":"FALSE"),s=`${s}`;let l=o.getValue();o.isNull()&&(l=""),o.isBoolean()&&(l=l?"TRUE":"FALSE"),l=`${l}`;let{isError:u,regExp:c}=Zye(l,!1);return u?fhe.create(Jde.REF):null===s.match(c)?Sge.create(!1):Sge.create(!0)}},_pe.REGEXMATCH],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",3)}calculate(e,t,r){let{isError:n,errorObject:i,variants:a}=Ove(e,t,r);if(n)return i;let[o,s,l]=a,u=o.getValue();o.isNull()&&(u=""),o.isBoolean()&&(u=u?"TRUE":"FALSE"),u=`${u}`;let c=s.getValue();s.isNull()&&(c=""),s.isBoolean()&&(c=c?"TRUE":"FALSE"),c=`${c}`;let d=l.getValue();l.isNull()&&(d=""),l.isBoolean()&&(d=d?"TRUE":"FALSE"),d=`${d}`;let{isError:h,regExp:m}=Zye(c,!0);if(h)return fhe.create(Jde.REF);let f=u.replace(m,d);return Rge.create(f)}},_pe.REGEXREPLACE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return 1===t.getRowCount()&&1===t.getColumnCount()?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError()||e.isNull()||e.isBoolean()||e.isNumber())return e;let t=e.getValue().toLocaleString().toLocaleLowerCase().replace(/(^|\b|\W|\d|_)[a-z]/g,e=>e.toLocaleUpperCase());return Rge.create(t)}},_pe.PROPER],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",4),Kde(this,"maxParams",4)}calculate(e,t,r,n){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=Wge(i,a,e,fhe.create(Jde.NA)),s=Wge(i,a,t,fhe.create(Jde.NA)),l=Wge(i,a,r,fhe.create(Jde.NA)),u=Wge(i,a,n,fhe.create(Jde.NA)),c=o.mapValue((e,t,r)=>{let n=s.get(t,r),i=l.get(t,r),a=u.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:a.isError()?a:this._handleSingleObject(e,n,i,a)});return 1===i&&1===a?c.get(0,0):c}_handleSingleObject(e,t,r,n){let{isError:i,errorObject:a,variants:o}=Pve(t,r);if(i)return a;let[s,l]=o,u=Math.floor(+s.getValue()),c=Math.floor(+l.getValue());if(u<=0||c<0)return fhe.create(Jde.VALUE);let d=Rye(e),h=Rye(n),m=d.substring(0,u-1)+h+d.substring(u-1+c);return Rge.create(m)}},_pe.REPLACE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",4),Kde(this,"maxParams",4)}calculate(e,t,r,n){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=Wge(i,a,e,fhe.create(Jde.NA)),s=Wge(i,a,t,fhe.create(Jde.NA)),l=Wge(i,a,r,fhe.create(Jde.NA)),u=Wge(i,a,n,fhe.create(Jde.NA)),c=o.mapValue((e,t,r)=>{let n=s.get(t,r),i=l.get(t,r),a=u.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:a.isError()?a:this._handleSingleObject(e,n,i,a)});return 1===i&&1===a?c.get(0,0):c}_handleSingleObject(e,t,r,n){let{isError:i,errorObject:a,variants:o}=Pve(t,r);if(i)return a;let[s,l]=o,u=Math.floor(+s.getValue()),c=Math.floor(+l.getValue());if(u<=0||c<0)return fhe.create(Jde.VALUE);let d=Rye(e),h=Rye(n),m=d.substring(0,u-1);d=d.substring(u-1);let f=0,g=0;for(;g{let n=a.get(t,r);if(e.isError())return e;let i=e.getValue();if(e.isNull()&&(i=""),e.isBoolean()&&(i=i?"TRUE":"FALSE"),i+="",n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let o=Math.floor(+n.getValue());if(o<0||o>32767/i.length)return fhe.create(Jde.VALUE);let s=i.repeat(o);return Rge.create(s)});return 1===r&&1===n?o.get(0,0):o}},_pe.REPT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",2)}calculate(e,t){let r=null==t?Age.create(1):t,n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=Wge(n,i,e,fhe.create(Jde.NA)),o=Wge(n,i,r,fhe.create(Jde.NA)),s=a.mapValue((e,t,r)=>{let n=o.get(t,r);return e.isError()?e:n.isError()?n:this._handleSingleObject(e,n)});return 1===n&&1===i?s.get(0,0):s}_handleSingleObject(e,t){let r=Rye(e),{isError:n,errorObject:i,variants:a}=Pve(t);if(n)return i;let[o]=a,s=Math.floor(+o.getValue());if(s<0)return fhe.create(Jde.VALUE);if(e.isNull()||0===s)return Rge.create("");if(s>=r.length)return Rge.create(r);let l=r.substring(r.length-s);return Rge.create(l)}},_pe.RIGHT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",2)}calculate(e,t){let r=null==t?Age.create(1):t,n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=Wge(n,i,e,fhe.create(Jde.NA)),o=Wge(n,i,r,fhe.create(Jde.NA)),s=a.mapValue((e,t,r)=>{let n=o.get(t,r);return e.isError()?e:n.isError()?n:this._handleSingleObject(e,n)});return 1===n&&1===i?s.get(0,0):s}_handleSingleObject(e,t){let r=Rye(e),{isError:n,errorObject:i,variants:a}=Pve(t);if(n)return i;let[o]=a,s=Math.floor(+o.getValue());if(s<0)return fhe.create(Jde.VALUE);if(e.isNull()||0===s)return Rge.create("");let l=r.length-1,u=0,c="";for(;u=0;)u+=Tye(r,l,"rtl"),c=r.charAt(l)+c,l--;return Rge.create(c)}},_pe.RIGHTB],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",3)}calculate(e,t,r){let n=null==r?Age.create(1):r,i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=Wge(i,a,e,fhe.create(Jde.NA)),s=Wge(i,a,t,fhe.create(Jde.NA)),l=Wge(i,a,n,fhe.create(Jde.NA)),u=o.mapValue((e,t,r)=>{let n=s.get(t,r),i=l.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:this._handleSingleObject(e,n,i)});return 1===i&&1===a?u.get(0,0):u}_handleSingleObject(e,t,r){let n=Rye(e).toLocaleUpperCase(),i=Rye(t).toLocaleUpperCase(),{isError:a,errorObject:o,variants:s}=Pve(r);if(a)return o;let[l]=s,u=Math.floor(+l.getValue());if(t.isNull()||u<=0||u>i.length)return fhe.create(Jde.VALUE);if(e.isNull()||0===n.length)return Age.create(u);let c=i.indexOf(n,u-1);return-1===c?fhe.create(Jde.VALUE):Age.create(c+1)}},_pe.SEARCH],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",3)}calculate(e,t,r){let n=null==r?Age.create(1):r,i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=Wge(i,a,e,fhe.create(Jde.NA)),s=Wge(i,a,t,fhe.create(Jde.NA)),l=Wge(i,a,n,fhe.create(Jde.NA)),u=o.mapValue((e,t,r)=>{let n=s.get(t,r),i=l.get(t,r);return e.isError()?e:n.isError()?n:i.isError()?i:this._handleSingleObject(e,n,i)});return 1===i&&1===a?u.get(0,0):u}_handleSingleObject(e,t,r){let n=Rye(e).toLocaleUpperCase(),i=Rye(t).toLocaleUpperCase(),{isError:a,errorObject:o,variants:s}=Pve(r);if(a)return o;let[l]=s,u=Math.floor(+l.getValue());if(t.isNull()||u<=0||u>i.length)return fhe.create(Jde.VALUE);if(e.isNull()||0===n.length)return Age.create(u);let c=i.indexOf(n,u-1);if(-1===c)return fhe.create(Jde.VALUE);let d=xye(i.substring(0,c))+1;return Age.create(d)}},_pe.SEARCHB],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",4)}calculate(e,t,r,n){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,null!=n&&n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,null!=n&&n.isArray()?n.getColumnCount():1),o=Wge(i,a,e,fhe.create(Jde.NA)),s=Wge(i,a,t,fhe.create(Jde.NA)),l=Wge(i,a,r,fhe.create(Jde.NA)),u=n?Wge(i,a,n,fhe.create(Jde.NA)):void 0,c=o.mapValue((e,t,r)=>{let i=s.get(t,r),a=l.get(t,r),o=n?u.get(t,r):void 0;return e.isError()?e:i.isError()?i:a.isError()?a:null!=o&&o.isError()?o:null!=o&&o.isNull()||null!=o&&o.isBoolean()?fhe.create(Jde.VALUE):(null!=o&&o.isString()&&(o=o.convertToNumberObjectValue()),null!=o&&o.isError()?o:this._handleSingleObject(e,i,a,o))});return 1===i&&1===a?c.get(0,0):c}_handleSingleObject(e,t,r,n){let i=this._getObjectString(e),a=this._getObjectString(t),o=this._getObjectString(r),s=n?Math.floor(+n.getValue()):void 0;if(n&&s<=0)return fhe.create(Jde.VALUE);if(""===a)return Rge.create(i);let l="",u=0;for(let e=0;ethis._handleSingleObject(e)):this._handleSingleObject(t)}_handleSingleObject(e){return e.isError()?e:e.isNull()||e.isBoolean()||e.isNumber()?Rge.create(""):e}},_pe.T],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",2)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=Wge(r,n,e),a=Wge(r,n,t),o=i.map((e,t,r)=>{if(e.isError())return e;let n=a.get(t,r)||Rge.create(" ");if(n.isError())return n;if(n.isBoolean())return fhe.create(Jde.VALUE);if(e.isBoolean())return e;let i=e.getValue();if(e.isNull()&&(i=0),e.isString())if($d(i))i=Number(i);else{let e=xd(`${i}`);e&&null!=e.v&&"number"==typeof e.v&&(i=e.v)}n.isNull()&&(n=Rge.create(" "));let o=`${n.getValue()}`,s=Iye(o,i);return Rge.create(" "===o?s.trimEnd():s)});return 1===o.getRowCount()&&1===o.getColumnCount()?o.get(0,0):o}},_pe.TEXT],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",6)}calculate(e,t,r,n,i,a){let o=!1,s=null==r?Age.create(1):r;s.isNull()&&(o=!0,s=Age.create(1));let l=!n,u=null==n?Age.create(0):n,c=null==i?Age.create(0):i,d=null==a?fhe.create(Jde.NA):a,h=Math.max(e.isArray()?e.getRowCount():1,s.isArray()?s.getRowCount():1,u.isArray()?u.getRowCount():1,c.isArray()?c.getRowCount():1,d.isArray()?d.getRowCount():1),m=Math.max(e.isArray()?e.getColumnCount():1,s.isArray()?s.getColumnCount():1,u.isArray()?u.getColumnCount():1,c.isArray()?c.getColumnCount():1,d.isArray()?d.getColumnCount():1),f=Wge(h,m,e,fhe.create(Jde.NA)),g=Wge(h,m,s,fhe.create(Jde.NA)),p=Wge(h,m,u,fhe.create(Jde.NA)),v=Wge(h,m,c,fhe.create(Jde.NA)),b=Wge(h,m,d,fhe.create(Jde.NA)),C=this._getResultArray(f,t,g,p,v,b,o,l);return 1===h&&1===m?C.get(0,0):C}_getResultArray(e,t,r,n,i,a,o,s){return e.map((e,l,u)=>{let c=r.get(l,u),d=n.get(l,u),h=i.get(l,u),m=a.get(l,u),f=this._checkVariantsError(e,c,d,h);if(f.isError())return f;let g=this._getStringValue(e),p=this._getDelimiterValue(t);if(p instanceof fhe)return p;let v=this._getVariantsNumberFloorValue(c,d,h);if(v instanceof fhe)return v;let[b,C,y]=v;return 0===b||C<0||C>1||y<0||y>1?fhe.create(Jde.VALUE):p.includes("")?b>0?Rge.create(g):Rge.create(""):!o&&Math.abs(b)>g.length?fhe.create(Jde.VALUE):p.every(e=>e.length>g.length)?fhe.create(Jde.NA):this._getResult(g,p,b,C,y,m,s)})}_checkVariantsError(...e){for(let t=0;t{let i=e;if(i.isError())return r=!0,n=i,!1;t.push(this._getStringValue(i))}),r)return n}else{if(e.isError())return e;t.push(this._getStringValue(e))}return t}_getVariantsNumberFloorValue(...e){let t=[];for(let r=0;re.toLocaleLowerCase()):t,u=0,c=0,d=0;for(let e=0;e({index:s.lastIndexOf(e),length:e.length})).filter(e=>-1!==e.index).sort((e,t)=>t.index-e.index)[0];if(!e)break;u=e.index,s=s.substr(0,e.index),d=e.length,c++}else{let e=l.map(e=>({index:s.indexOf(e),length:e.length})).filter(e=>-1!==e.index).sort((e,t)=>e.index-t.index)[0];if(!e)break;u+=e.index+d,s=s.substr(e.index+e.length),d=e.length,c++}if(c&&c0?Rge.create(""):Rge.create(e):a;let h=e.substr(u+d);return Rge.create(h)}},_pe.TEXTAFTER],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",2),Kde(this,"maxParams",6)}calculate(e,t,r,n,i,a){let o=!1,s=null==r?Age.create(1):r;s.isNull()&&(o=!0,s=Age.create(1));let l=!n,u=null==n?Age.create(0):n,c=null==i?Age.create(0):i,d=null==a?fhe.create(Jde.NA):a,h=Math.max(e.isArray()?e.getRowCount():1,s.isArray()?s.getRowCount():1,u.isArray()?u.getRowCount():1,c.isArray()?c.getRowCount():1,d.isArray()?d.getRowCount():1),m=Math.max(e.isArray()?e.getColumnCount():1,s.isArray()?s.getColumnCount():1,u.isArray()?u.getColumnCount():1,c.isArray()?c.getColumnCount():1,d.isArray()?d.getColumnCount():1),f=Wge(h,m,e,fhe.create(Jde.NA)),g=Wge(h,m,s,fhe.create(Jde.NA)),p=Wge(h,m,u,fhe.create(Jde.NA)),v=Wge(h,m,c,fhe.create(Jde.NA)),b=Wge(h,m,d,fhe.create(Jde.NA)),C=this._getResultArray(f,t,g,p,v,b,o,l);return 1===h&&1===m?C.get(0,0):C}_getResultArray(e,t,r,n,i,a,o,s){return e.map((e,l,u)=>{let c=r.get(l,u),d=n.get(l,u),h=i.get(l,u),m=a.get(l,u),f=this._checkVariantsError(e,c,d,h);if(f.isError())return f;let g=this._getStringValue(e),p=this._getDelimiterValue(t);if(p instanceof fhe)return p;let v=this._getVariantsNumberFloorValue(c,d,h);if(v instanceof fhe)return v;let[b,C,y]=v;return 0===b||C<0||C>1||y<0||y>1?fhe.create(Jde.VALUE):p.includes("")?b>0?Rge.create(""):Rge.create(g):!o&&Math.abs(b)>g.length?fhe.create(Jde.VALUE):p.every(e=>e.length>g.length)?fhe.create(Jde.NA):this._getResult(g,p,b,C,y,m,s)})}_checkVariantsError(...e){for(let t=0;t{let i=e;if(i.isError())return r=!0,n=i,!1;t.push(this._getStringValue(i))}),r)return n}else{if(e.isError())return e;t.push(this._getStringValue(e))}return t}_getVariantsNumberFloorValue(...e){let t=[];for(let r=0;re.toLocaleLowerCase()):t,u=0,c=0,d=0;for(let e=0;e({index:s.lastIndexOf(e),length:e.length})).filter(e=>-1!==e.index).sort((e,t)=>t.index-e.index)[0];if(!e)break;u=e.index,s=s.substr(0,e.index),c++}else{let e=l.map(e=>({index:s.indexOf(e),length:e.length})).filter(e=>-1!==e.index).sort((e,t)=>e.index-t.index)[0];if(!e)break;u+=e.index+d,s=s.substr(e.index+e.length),d=e.length,c++}if(c&&c0?Rge.create(e):Rge.create(""):a;let h=e.substr(0,u);return Rge.create(h)}},_pe.TEXTBEFORE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",3),Kde(this,"maxParams",255)}calculate(e,t,...r){let n=this._getDelimiterValues(e),i=this._getTextValues(r);if(t.isArray()){let e=t.mapValue(e=>this._handleSingleObject(n,e,i));return 1===e.getRowCount()&&1===e.getColumnCount()?e.get(0,0):e}let a=t;if(a.isString()){let e=`${a.getValue()}`.toLocaleUpperCase();if("TRUE"===e)return this._handleSingleObject(n,Sge.create(!0),i);if("FALSE"===e)return this._handleSingleObject(n,Sge.create(!1),i)}return this._handleSingleObject(n,t,i)}_handleSingleObject(e,t,r){if(e instanceof fhe)return e;let{isError:n,errorObject:i,variants:a}=Pve(t);if(n)return i;if(r instanceof fhe)return r;let[o]=a,s=r;+o.getValue()&&(s=r.filter(e=>null!==e&&""!==e));let l="";for(let t=0;te.get(0,0))}_getStringValues(e,t=!0){let r=e,n=[];if(r.isArray())r.iterator(e=>{if(null!=e&&e.isError())return r=e,!1;if(null!=e&&e.isNull()&&t)return r=fhe.create(Jde.VALUE),!1;let i=this._getRegExpStringValue(e);if(""===i)return r=fhe.create(Jde.VALUE),!1;n.push(i)});else{r.isNull()&&t&&(r=fhe.create(Jde.VALUE));let e=this._getRegExpStringValue(r);""===e&&(r=fhe.create(Jde.VALUE)),n.push(e)}return{_variant:r,values:n}}_getResultArray(e,t,r,n,i,a,o,s){return e.map((e,l,u)=>{let c=n.get(l,u),d=i.get(l,u),h=this._checkVariantsError(e,t,r,c,d);if(h.isError())return h;if(e.isNull())return fhe.create(Jde.VALUE);let m=a;if(m.isArray()){let e=m.getRowCount(),t=m.getColumnCount();if(e>1||t>1)return fhe.create(Jde.VALUE);m=m.get(0,0)}let f=`${e.getValue()}`;if(e.isBoolean()&&(f=f.toLocaleUpperCase()),c.isString()&&(c=c.convertToNumberObjectValue(),c.isError()))return c;let g=Math.floor(+c.getValue());if(d.isString()&&(d=d.convertToNumberObjectValue(),d.isError()))return d;let p=Math.floor(+d.getValue());if(p<0||p>1)return fhe.create(Jde.VALUE);let v=`${m.getValue()}`;return m.isBoolean()&&(v=v.toLocaleUpperCase()),this._getResult(f,o,s,g,p,v)})}_getResult(e,t,r,n,i,a){let o=new RegExp(r.join("|"),"g"+(i?"i":"")),s=new RegExp(t.join("|"),"g"+(i?"i":"")),l=e.split(o),u=1,c=l.map(e=>{let t=e.split(s);return n&&(t=t.filter(e=>""!==e)),u=Math.max(u,t.length),t});return c=c.map(e=>{let t=e;return t.lengththis._handleSingleObject(e));return 1===t.getRowCount()&&1===t.getColumnCount()?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return Rge.create("");let t=`${e.getValue()}`;return e.isBoolean()&&(t=t.toLocaleUpperCase()),t=t.trim().replace(/\s+/g," "),Rge.create(t)}},_pe.TRIM],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return 1===t.getRowCount()&&1===t.getColumnCount()?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:r,variants:n}=Pve(e);if(t)return r;let[i]=n,a=Math.floor(+i.getValue());if(a<1||a>1114111)return fhe.create(Jde.VALUE);if(1114111===a||1114110===a)return fhe.create(Jde.NA);let o=String.fromCharCode(a);return $ye.some(e=>e===o)&&(o=""),Rge.create(o)}},_pe.UNICHAR],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return 1===t.getRowCount()&&1===t.getColumnCount()?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return fhe.create(Jde.VALUE);let t=e.getValue().toLocaleString();e.isBoolean()&&(t=t.toLocaleUpperCase());let r=t.charCodeAt(0);return Age.create(r)}},_pe.UNICODE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return 1===t.getRowCount()&&1===t.getColumnCount()?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return Rge.create("");let t=`${e.getValue()}`.toLocaleUpperCase();return Rge.create(t)}},_pe.UPPER],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return 1===t.getRowCount()&&1===t.getColumnCount()?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isBoolean())return fhe.create(Jde.VALUE);let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue(),t.isError()))return t;let r=+t.getValue();return Age.create(r)}},_pe.VALUE],[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",2)}calculate(e,t){let r=null==t?Age.create(0):t,n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=Wge(n,i,e,fhe.create(Jde.NA)),o=Wge(n,i,r,fhe.create(Jde.NA)),s=a.mapValue((e,t,r)=>{let n=o.get(t,r);return e.isError()?e:n.isError()?n:this._handleSingleObject(e,n)});return 1===n&&1===i?s.get(0,0):s}_handleSingleObject(e,t){let{isError:r,errorObject:n,variants:i}=Pve(t);if(r)return n;let[a]=i,o=Math.floor(+a.getValue());if(o<0||o>1)return fhe.create(Jde.VALUE);if(e.isNull())return Rge.create("");if(e.isBoolean())return e;if(e.isNumber())return Age.create(e.getValue());let s=o?`"${e.getValue()}"`:`${e.getValue()}`;return Rge.create(s)}},_pe.VALUETOTEXT]],e_e=[],t_e=[[class extends Dve{constructor(...e){super(...e),Kde(this,"minParams",1),Kde(this,"maxParams",1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return 1===t.getRowCount()&&1===t.getColumnCount()?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;let t=Rye(e),r=encodeURIComponent(t).replace(/[!~'()*]/g,e=>`%${e.charCodeAt(0).toString(16).toLocaleUpperCase()}`);return Rge.create(r)}},wpe.ENCODEURL]];var r_e=class extends tu{constructor(...e){super(...e),Kde(this,"_allSubjects",[]),Kde(this,"_computingStatus$",new Qn(!0)),Kde(this,"computingStatus$",this._computingStatus$.pipe(Zn())),Kde(this,"_computingSubscription",void 0)}get computingStatus(){return this._computingStatus$.getValue()}dispose(){var e;super.dispose(),null==(e=this._computingSubscription)||e.unsubscribe(),this._computingStatus$.next(!0),this._computingStatus$.complete(),this._allSubjects.forEach(e=>{e.complete()})}pushComputingStatusSubject(e){return this._allSubjects.push(e),this._updateComputingObservable(),{dispose:()=>{let t=this._allSubjects.indexOf(e);-1!==t&&this._allSubjects.splice(t,1),this._updateComputingObservable()}}}_updateComputingObservable(){var e;null==(e=this._computingSubscription)||e.unsubscribe(),0!==this._allSubjects.length?this._computingSubscription=Oi(this._allSubjects).pipe(Yn(e=>e.every(e=>e))).subscribe(e=>this._computingStatus$.next(e)):this._computingStatus$.next(!0)}};let n_e=class extends tu{constructor(e,t){super(),this._commandService=e,this._globalComputingSrv=t,Kde(this,"_computingCompleted$",new Tn(e=>{this._commandService.onCommandExecuted(t=>{if(t.id!==ufe.id)return;let r=t.params;return r.stageInfo?e.next(r.stageInfo.stage===rpe.IDLE||r.stageInfo.stage===rpe.CALCULATION_COMPLETED):void 0})}).pipe(Zn(),LL()));let r=new eu,n=new Qn(!0);r.add(this._globalComputingSrv.pushComputingStatusSubject(n)),r.add(this._computingCompleted$.subscribe(e=>n.next(e))),r.add(()=>n.complete()),this.disposeWithMe(r)}};n_e=Kme([Zme(0,Vc),Zme(1,Y(r_e))],n_e);let i_e=class extends tu{constructor(e,t,r,n){super(),this._commandService=e,this._functionService=t,this._configService=r,this._dataSyncPrimaryController=n,this._initialize()}_initialize(){this._registerCommands(),this._registerFunctions()}_registerCommands(){[Cfe,Nme,yfe,ife,afe,ofe,sfe,gfe,pfe,lfe,ufe,cfe,vfe,bfe,dfe,hfe,mfe,ffe,efe,tfe,rfe,nfe,_fe,wfe,Afe,Ife,Rfe,Tme].forEach(e=>{var t;this._commandService.registerCommand(e),null==(t=this._dataSyncPrimaryController)||t.registerSyncingMutations(e)})}_registerFunctions(){var e;let t=this._configService.getConfig(xfe),r=[...Bve,...MCe,...OCe,...jCe,...HCe,...zCe,...uye,...cye,...dye,...mye,...bye,...yye,...Sye,...Jye,...e_e,...t_e].concat(null==(e=null==t?void 0:t.function)?[]:e).map(e=>new(0,e[0])(e[1]));this._functionService.registerExecutors(...r)}};i_e=Kme([Zme(0,Vc),Zme(1,Rpe),Zme(2,Tc),Zme(3,G(Fde))],i_e);let a_e=class extends tu{constructor(e,t,r){super(),this._commandService=e,this._dependencyManagerService=t,this._featureCalculationManagerService=r,this._initialize()}_initialize(){this._commandExecutedListener(),this._featureCalculationManagerServiceListener()}_featureCalculationManagerServiceListener(){this.disposeWithMe(this._featureCalculationManagerService.onChanged$.subscribe(e=>{let{unitId:t,subUnitId:r,featureIds:n}=e;this._dependencyManagerService.removeFeatureFormulaDependency(t,r,n)}))}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===nfe.id){let t=e.params;if(null==t)return;let{featureIds:r,unitId:n,subUnitId:i}=t;this._dependencyManagerService.removeFeatureFormulaDependency(n,i,r)}else if(e.id===rfe.id){let t=e.params;if(null==t)return;let{featureId:r,calculationParam:n}=t,{unitId:i,subUnitId:a}=n;this._dependencyManagerService.removeFeatureFormulaDependency(i,a,[r])}else if(e.id===wfe.id){let t=e.params;if(null==t)return;this._dependencyManagerService.removeOtherFormulaDependency(t.unitId,t.subUnitId,t.formulaIdList)}else if(e.id===_fe.id){let t=e.params;if(null==t)return;let r=t.formulaMap,n=[];Object.keys(r).forEach(e=>{n.push(e)}),this._dependencyManagerService.removeOtherFormulaDependency(t.unitId,t.subUnitId,n)}else if(e.id===Cfe.id){let t=e.params.formulaData;Object.keys(t).forEach(e=>{let r=t[e];if(void 0!==r){if(null===r)return void this._dependencyManagerService.clearFormulaDependency(e);Object.keys(r).forEach(t=>{let n=r[t];if(void 0!==n){if(null===n)return this._dependencyManagerService.clearFormulaDependency(e,t),!0;new kd(n).forValue((r,n)=>{this._dependencyManagerService.removeFormulaDependency(e,t,r,n)})}})}})}else e.id===efe.id&&this._handleSetDefinedName(e)}))}_handleSetDefinedName(e){let t=e.params;if(null==t)return;let{unitId:r,name:n}=t;this._dependencyManagerService.removeFormulaDependencyByDefinedName(r,n)}};a_e=Kme([Zme(0,Vc),Zme(1,hve),Zme(1,cve),Zme(2,hve)],a_e);let o_e=class extends tu{constructor(e,t){super(),this._commandService=e,this._featureCalculationManagerService=t,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===rfe.id){let t=e.params;if(null==t)return;let{featureId:r,calculationParam:n}=t,{unitId:i,subUnitId:a}=n;this._featureCalculationManagerService.register(i,a,r,n)}else if(e.id===nfe.id){let t=e.params;if(null==t)return;let{featureIds:r,unitId:n,subUnitId:i}=t;this._featureCalculationManagerService.remove(n,i,r)}}))}};o_e=Kme([Zme(0,Vc),Zme(1,hve)],o_e);let s_e=class extends tu{constructor(e,t,r){super(),this._commandService=e,this._otherFormulaManagerService=t,this._dependencyManagerService=r,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===_fe.id){let t=e.params;if(null==t)return;let r={[t.unitId]:{[t.subUnitId]:t.formulaMap}};this._otherFormulaManagerService.batchRegister(r)}else if(e.id===wfe.id){let t=e.params;if(null==t)return;let r={};t.formulaIdList.forEach(e=>r[e]=!0);let n={[t.unitId]:{[t.subUnitId]:r}};this._otherFormulaManagerService.batchRemove(n)}}))}};s_e=Kme([Zme(0,Vc),Zme(1,fve),Zme(2,cve)],s_e);var l_e=class extends tu{constructor(...e){super(...e),Kde(this,"_dirtyConversionMap",new Map)}dispose(){this._dirtyConversionMap.clear()}remove(e){this._dirtyConversionMap.delete(e)}get(e){return this._dirtyConversionMap.get(e)}has(e){return this._dirtyConversionMap.has(e)}register(e,t){this._dirtyConversionMap.set(e,t)}getDirtyConversionMap(){return this._dirtyConversionMap}};const u_e=V("univer.formula.active-dirty-manager.service");let c_e=function(e){return e[e.NOT_REGISTER=1]="NOT_REGISTER",e[e.SUCCESS=2]="SUCCESS",e[e.WAIT=3]="WAIT",e[e.ERROR=4]="ERROR",e}({}),d_e=function(e){return e.DEFAULT="default",e.DATA_VALIDATION="dv",e.DATA_VALIDATION_CUSTOM="dv-custom",e.CONDITIONAL_FORMATTING="cf",e.DOC="doc",e.SLIDE="slide",e}({}),h_e=class extends tu{constructor(e,t,r){super(),this._commandService=e,this._activeDirtyManagerService=t,this._lifecycleService=r,Kde(this,"_formulaCacheMap",new Map),Kde(this,"_formulaChangeWithRange$",new On),Kde(this,"formulaChangeWithRange$",this._formulaChangeWithRange$.asObservable()),Kde(this,"_formulaResult$",new On),Kde(this,"formulaResult$",this._formulaResult$.asObservable()),Kde(this,"calculateStarted$",new Qn(!1)),this._initFormulaRegister(),this._initFormulaCalculationResultChange()}dispose(){super.dispose(),this._formulaChangeWithRange$.complete(),this._formulaResult$.complete(),this.calculateStarted$.complete()}_ensureCacheMap(e,t){let r=this._formulaCacheMap.get(e);r||(r=new Map,this._formulaCacheMap.set(e,r));let n=r.get(t);return n||(n=new Map,r.set(t,n)),n}_createFormulaId(e,t,r,n){return`formula.${e}_${t}_${r}_${n}_${cu(8)}`}_initFormulaRegister(){this._activeDirtyManagerService.register(xme.id,{commandId:xme.id,getDirtyData:e=>({dirtyUnitOtherFormulaMap:e.params})});let e=e=>{let{unitId:t,subUnitId:r,formulaText:n,formulaId:i,ranges:a}=e;if(!this._ensureCacheMap(t,r).has(i))return;let o={unitId:t,subUnitId:r,formulaMap:{[i]:{f:n,ranges:a}}};this._commandService.executeCommand(_fe.id,o,{onlyLocal:!0}).then(()=>{this._commandService.executeCommand(xme.id,{[t]:{[r]:{[i]:!0}}},{onlyLocal:!0})})};this.disposeWithMe(this._formulaChangeWithRange$.pipe(Mue(()=>this.calculateStarted$.pipe(Un(e=>e)))).subscribe(t=>t.forEach(e))),this.disposeWithMe(this._formulaChangeWithRange$.pipe(Un(()=>this.calculateStarted$.getValue())).subscribe(e))}_initFormulaCalculationResultChange(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===cfe.id){let{unitOtherData:t}=e.params,r={};for(let e in t){let n=t[e],i={};r[e]=i;for(let t in n){let r=this._ensureCacheMap(e,t),a=n[t],o=[];i[t]=o;for(let e in a){let t=a[e];if(r.has(e)){let n=r.get(e);if(!n)continue;n.result||(n.result={});let i=new kd(t),a=new kd(n.result);i.forValue((e,t,r)=>{a.setValue(e,t,r)}),n.status=c_e.SUCCESS,n.callbacks.forEach(e=>{e(t)}),n.callbacks.clear(),o.push(n)}}}}this._formulaResult$.next(r)}}))}registerFormulaWithRange(e,t,r,n=[{startRow:0,endRow:0,startColumn:0,endColumn:0}],i,a=d_e.DEFAULT,o=""){let s=this._createFormulaId(e,t,a,o);return this._ensureCacheMap(e,t).set(s,{result:void 0,status:c_e.WAIT,formulaId:s,callbacks:new Set,extra:i}),this._formulaChangeWithRange$.next({unitId:e,subUnitId:t,formulaText:r,formulaId:s,ranges:n}),s}deleteFormula(e,t,r){let n={unitId:e,subUnitId:t,formulaIdList:r};this._commandService.executeCommand(wfe.id,n,{onlyLocal:!0});let i=this._ensureCacheMap(e,t);r.forEach(e=>i.delete(e))}getFormulaValue(e,t,r){let n=this._ensureCacheMap(e,t),i=n.get(r);return i?i.status===c_e.SUCCESS||i.status===c_e.ERROR?Promise.resolve(i):new Promise(e=>{i.callbacks.add(()=>{e(n.get(r))})}):Promise.resolve(null)}getFormulaValueSync(e,t,r){return this._ensureCacheMap(e,t).get(r)}markFormulaDirty(e,t,r){let n=this.getFormulaValueSync(e,t,r);n&&(n.status=c_e.WAIT,this._commandService.executeCommand(xme.id,{[e]:{[t]:{[r]:!0}}},{onlyLocal:!0}))}};h_e=Kme([Zme(0,Vc),Zme(1,u_e),Zme(2,Y(pg))],h_e);let m_e=class extends Rg{constructor(e=Mfe,t,r){super(),this._config=e,this._injector=t,this._configService=r;let{...n}=hr({},Mfe,this._config);this._configService.setConfig(xfe,n)}onStarting(){this._initialize(),this._initializeWithOverride()}onReady(){var e;Ol(this._injector,[[i_e]]),null!=(e=this._config)&&e.notExecuteFormula||Ol(this._injector,[[s_e],[o_e],[a_e],[Ive]])}onRendered(){var e;null!=(e=this._config)&&e.notExecuteFormula||Ol(this._injector,[[Sve],[wve]])}_initialize(){let e=!this._config.notExecuteFormula,t=[[Rpe,{useClass:xpe}],[Jme,{useClass:$me}],[u_e,{useClass:l_e}],[h_e],[tpe,{useClass:epe}],[qfe,{useClass:Xfe}],[Sfe,{useClass:Efe}],[r_e],[jfe],[i_e],[n_e]];e&&t.push([fve,{useClass:mve}],[ape,{useClass:ipe}],[Yfe,{useClass:Gfe}],[hve,{useClass:dve}],[Ive],[s_e],[a_e],[o_e],[Dpe],[sve],[Qfe],[hpe],[Ppe],[Xpe],[Ype],[Kpe],[Mpe],[eve],[rve],[ive],[ove]),t.forEach(e=>this._injector.add(e))}_initializeWithOverride(){var e;this._injector.add([Ffe,{useClass:Ffe}]),null!=(e=this._config)&&e.notExecuteFormula||[[Sve,{useClass:Ave}],[cve,{useClass:uve}],[wve,{useClass:Eve}]].forEach(e=>this._injector.add(e))}};function f_e(e,t){return Kr(t)?hi(e,t,1):hi(e,1)}Kde(m_e,"pluginName","UNIVER_ENGINE_FORMULA_PLUGIN"),Kde(m_e,"packageName","@univerjs/engine-formula"),Kde(m_e,"version","0.19.0"),m_e=Kme([Zme(1,Y(he)),Zme(2,Tc)],m_e);const g_e="network.config";Symbol(g_e);const p_e={};function v_e(e){return v_e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},v_e(e)}function b_e(e,t,r){return(t=function(e){var t=function(e){if("object"!=v_e(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=v_e(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==v_e(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const C_e="application/json";var y_e=class{constructor(e){b_e(this,"_headers",new Map),"string"==typeof e?this._handleHeadersString(e):e instanceof Headers?this._handleHeaders(e):e&&this._handleHeadersConstructorProps(e)}forEach(e){this._headers.forEach((t,r)=>e(r,t))}has(e){return!!this._headers.has(e.toLowerCase())}get(e){let t=e.toLowerCase();return this._headers.has(t)?this._headers.get(t):null}set(e,t){this._setHeader(e,t)}toHeadersInit(e){let t={};return this._headers.forEach((e,r)=>{t[r]=e.join(",")}),null!=t.accept||(t.accept="application/json, text/plain, */*"),!(e instanceof FormData)&&(null!=t["content-type"]||(t["content-type"]="application/json;charset=UTF-8")),t}_setHeader(e,t){let r=e.toLowerCase();this._headers.has(r)?this._headers.get(r).push(t.toString()):this._headers.set(r,[t.toString()])}_handleHeadersString(e){e.split("\n").forEach(e=>{let[t,r]=e.split(":");t&&r&&this._setHeader(t,r)})}_handleHeadersConstructorProps(e){Object.entries(e).forEach(([e,t])=>this._setHeader(e,t))}_handleHeaders(e){e.forEach((e,t)=>this._setHeader(t,e))}};const __e=V("network.http-implementation");var w_e=class{constructor(e){this.params=e}toString(){return this.params?Object.keys(this.params).map(e=>{let t=this.params[e];return Array.isArray(t)?t.map(t=>`${e}=${t}`).join("&"):`${e}=${t}`}).join("&"):""}};let E_e=0;var S_e=class{get headers(){return this.requestParams.headers}get withCredentials(){return this.requestParams.withCredentials}get responseType(){return this.requestParams.responseType}constructor(e,t,r){this.method=e,this.url=t,this.requestParams=r,b_e(this,"uid",E_e++)}getUrlWithParams(){var e;let t=null==(e=this.requestParams)||null==(e=e.params)?void 0:e.toString();return t?`${this.url}${this.url.includes("?")?"&":"?"}${t}`:this.url}getBody(){var e,t;let r=null==(e=this.headers.get("Content-Type"))?C_e:e,n=null==(t=this.requestParams)?void 0:t.body;return n instanceof FormData?n:function(e){return Array.isArray(e)?e.some(e=>e.includes(C_e)):e.includes(C_e)}(r)&&n&&"object"==typeof n?JSON.stringify(n):n?`${n}`:null}getHeadersInit(){var e;return this.headers.toHeadersInit(null==(e=this.requestParams)?void 0:e.body)}};function A_e(e,t){return function(r,n){t(r,n,e)}}function I_e(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}let R_e=class extends tu{constructor(e){super(),this._http=e,b_e(this,"_interceptors",[]),b_e(this,"_pipe",void 0)}registerHTTPInterceptor(e){if(-1!==this._interceptors.indexOf(e))throw Error("[HTTPService]: The interceptor has already been registered!");return this._interceptors.push(e),this._interceptors=this._interceptors.sort((e,t)=>{var r,n;return(null==(r=e.priority)?0:r)-(null==(n=t.priority)?0:n)}),this._pipe=null,Jl(()=>vl(this._interceptors,e))}get(e,t){return this.request("GET",e,t)}post(e,t){return this.request("POST",e,t)}put(e,t){return this.request("PUT",e,t)}delete(e,t){return this.request("DELETE",e,t)}patch(e,t){return this.request("PATCH",e,t)}async request(e,t,r){var n,i;return await Jn(Ai(new S_e(e,t,{headers:new y_e(null==r?void 0:r.headers),params:new w_e(null==r?void 0:r.params),withCredentials:null!=(n=null==r?void 0:r.withCredentials)&&n,responseType:null==(i=null==r?void 0:r.responseType)?"json":i,body:["GET","DELETE"].includes(e)||null==r?void 0:r.body})).pipe(f_e(e=>this._runInterceptorsAndImplementation(e))))}stream(e,t,r){return this.getSSE(e,t,r)}getSSE(e,t,r){var n,i;return Ai(new S_e(e,t,{headers:new y_e(null==r?void 0:r.headers),params:new w_e(null==r?void 0:r.params),withCredentials:null!=(n=null==r?void 0:r.withCredentials)&&n,reportProgress:!0,responseType:null==(i=null==r?void 0:r.responseType)?"json":i,body:["GET","DELETE"].includes(e)||null==r?void 0:r.body})).pipe(f_e(e=>this._runInterceptorsAndImplementation(e)))}_runInterceptorsAndImplementation(e){return this._pipe||(this._pipe=this._interceptors.map(e=>e.interceptor).reduceRight((e,t)=>function(e,t){return(r,n)=>t(r,t=>e(t,n))}(e,t),(e,t)=>t(e))),this._pipe(e,e=>this._http.send(e))}};R_e=I_e([A_e(0,__e)],R_e);let x_e=function(e){return e[e.Continue=100]="Continue",e[e.SwitchingProtocols=101]="SwitchingProtocols",e[e.Processing=102]="Processing",e[e.EarlyHints=103]="EarlyHints",e[e.Ok=200]="Ok",e[e.Created=201]="Created",e[e.Accepted=202]="Accepted",e[e.NonAuthoritativeInformation=203]="NonAuthoritativeInformation",e[e.NoContent=204]="NoContent",e[e.ResetContent=205]="ResetContent",e[e.PartialContent=206]="PartialContent",e[e.MultiStatus=207]="MultiStatus",e[e.AlreadyReported=208]="AlreadyReported",e[e.ImUsed=226]="ImUsed",e[e.MultipleChoices=300]="MultipleChoices",e[e.MovedPermanently=301]="MovedPermanently",e[e.Found=302]="Found",e[e.SeeOther=303]="SeeOther",e[e.NotModified=304]="NotModified",e[e.UseProxy=305]="UseProxy",e[e.Unused=306]="Unused",e[e.TemporaryRedirect=307]="TemporaryRedirect",e[e.PermanentRedirect=308]="PermanentRedirect",e[e.BadRequest=400]="BadRequest",e[e.Unauthorized=401]="Unauthorized",e[e.PaymentRequired=402]="PaymentRequired",e[e.Forbidden=403]="Forbidden",e[e.NotFound=404]="NotFound",e[e.MethodNotAllowed=405]="MethodNotAllowed",e[e.NotAcceptable=406]="NotAcceptable",e[e.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",e[e.RequestTimeout=408]="RequestTimeout",e[e.Conflict=409]="Conflict",e[e.Gone=410]="Gone",e[e.LengthRequired=411]="LengthRequired",e[e.PreconditionFailed=412]="PreconditionFailed",e[e.PayloadTooLarge=413]="PayloadTooLarge",e[e.UriTooLong=414]="UriTooLong",e[e.UnsupportedMediaType=415]="UnsupportedMediaType",e[e.RangeNotSatisfiable=416]="RangeNotSatisfiable",e[e.ExpectationFailed=417]="ExpectationFailed",e[e.ImATeapot=418]="ImATeapot",e[e.MisdirectedRequest=421]="MisdirectedRequest",e[e.UnprocessableEntity=422]="UnprocessableEntity",e[e.Locked=423]="Locked",e[e.FailedDependency=424]="FailedDependency",e[e.TooEarly=425]="TooEarly",e[e.UpgradeRequired=426]="UpgradeRequired",e[e.PreconditionRequired=428]="PreconditionRequired",e[e.TooManyRequests=429]="TooManyRequests",e[e.RequestHeaderFieldsTooLarge=431]="RequestHeaderFieldsTooLarge",e[e.UnavailableForLegalReasons=451]="UnavailableForLegalReasons",e[e.InternalServerError=500]="InternalServerError",e[e.NotImplemented=501]="NotImplemented",e[e.BadGateway=502]="BadGateway",e[e.ServiceUnavailable=503]="ServiceUnavailable",e[e.GatewayTimeout=504]="GatewayTimeout",e[e.HttpVersionNotSupported=505]="HttpVersionNotSupported",e[e.VariantAlsoNegotiates=506]="VariantAlsoNegotiates",e[e.InsufficientStorage=507]="InsufficientStorage",e[e.LoopDetected=508]="LoopDetected",e[e.NotExtended=510]="NotExtended",e[e.NetworkAuthenticationRequired=511]="NetworkAuthenticationRequired",e}({}),T_e=function(e){return e[e.DownloadProgress=0]="DownloadProgress",e[e.Response=1]="Response",e}({});var N_e=class{constructor({body:e,headers:t,status:r,statusText:n}){b_e(this,"type",T_e.Response),b_e(this,"body",void 0),b_e(this,"headers",void 0),b_e(this,"status",void 0),b_e(this,"statusText",void 0),this.body=e,this.headers=t,this.status=r,this.statusText=n}},M_e=class{constructor(e,t,r){this.total=e,this.loaded=t,this.partialText=r,b_e(this,"type",T_e.DownloadProgress)}},O_e=class{constructor(e,t,r){this.headers=e,this.status=t,this.statusText=r}},L_e=class{constructor({request:e,headers:t,status:r,statusText:n,error:i}){b_e(this,"request",void 0),b_e(this,"headers",void 0),b_e(this,"status",void 0),b_e(this,"statusText",void 0),b_e(this,"error",void 0),this.request=e,this.headers=t,this.status=r,this.statusText=n,this.error=i}};function k_e(e){return{method:e.method,headers:e.getHeadersInit(),body:e.getBody(),credentials:e.withCredentials?"include":void 0}}let P_e=class{constructor(e){this._logService=e}send(e){return new Tn(t=>{let r=new AbortController;return this._send(e,t,r).catch(r=>{t.error(new L_e({error:r,request:e}))}),()=>r.abort()})}async _send(e,t,r){let n;try{let t=k_e(e),i=e.getUrlWithParams(),a=fetch(i,{signal:r.signal,...t});this._logService.debug(`[FetchHTTPImplementation]: sending request to url ${i} with params ${t}`),n=await a}catch(r){var i,a;let n=new L_e({request:e,error:r,status:null==(i=r.status)?0:i,statusText:null==(a=r.statusText)?"Unknown Error":a,headers:r.headers});return this._logService.error("[FetchHTTPImplementation]: network error",n),void t.error(n)}let o=new y_e(n.headers),s=n.status,l=n.statusText,u=null;if(n.body&&(u=await this._readBody(e,n,t)),s>=x_e.Ok&&s{let r=new XMLHttpRequest,n=e.getUrlWithParams(),i=k_e(e),{responseType:a}=e;r.open(e.method,n),e.withCredentials&&(r.withCredentials=!0),i.headers&&Object.entries(i.headers).forEach(([e,t])=>r.setRequestHeader(e,t));let o=()=>{let e=r.statusText||"OK";return new O_e(new y_e(r.getAllResponseHeaders()),r.status,e)},s=()=>{let{headers:n,statusText:i,status:s}=o(),l=null,u=null;s!==x_e.NoContent&&(l=void 0===r.response?r.responseText:r.response);let c=s>=200&&s<300;if("json"===a&&"string"==typeof l){let e=l;try{l=l?JSON.parse(l):null}catch(t){c=!1,l=e,u=t}}if("blob"===a&&!(l instanceof Blob)&&(c=!1,u=Error("Response is not a Blob object")),c)t.next(new N_e({body:l,headers:n,status:s,statusText:i}));else{let r=new L_e({request:e,error:u,headers:n,status:s,statusText:i});this._logService.error("[XHRHTTPImplementation]: network error",r),t.error(r)}},l=n=>{let i=new L_e({request:e,error:n,status:r.status||0,statusText:r.statusText||"Unknown Error",headers:o().headers});this._logService.error("[XHRHTTPImplementation]: network error",i),t.error(i)};r.responseType=a||"",r.addEventListener("load",s),r.addEventListener("error",l),r.addEventListener("abort",l),r.addEventListener("timeout",l);let u=e.getBody();return r.send(u),this._logService.debug("[XHRHTTPImplementation]",`sending request to url ${n} with params ${i}`),()=>{r.readyState!==r.DONE&&r.abort(),r.removeEventListener("load",s),r.removeEventListener("error",l),r.removeEventListener("abort",l),r.removeEventListener("timeout",l)}})}};U_e=I_e([A_e(0,kc)],U_e);let B_e=class extends Rg{constructor(e=p_e,t,r,n){super(),this._config=e,this._logger=t,this._injector=r,this._configService=n;let{...i}=hr({},p_e,this._config);this._configService.setConfig(g_e,i)}onStarting(){var e,t,r;if(this._injector.get(R_e,R.OPTIONAL,x.SKIP_SELF)&&(null==(e=this._config)||!e.forceUseNewInstance))return void this._logger.warn("[UniverNetworkPlugin]",'HTTPService is already registered in an ancestor interceptor. Skipping registration. If you want to force a new instance, set "forceUseNewInstance" to true in the plugin configuration.');let n=null!=(t=this._config)&&t.useFetchImpl?P_e:typeof window<"u"?U_e:P_e;Ml(this._injector,Ag([[R_e],[__e,{useClass:n}]],null==(r=this._config)?void 0:r.override))}};b_e(B_e,"pluginName","UNIVER_NETWORK_PLUGIN"),b_e(B_e,"packageName","@univerjs/network"),b_e(B_e,"version","0.19.0"),B_e=I_e([A_e(1,kc),A_e(2,Y(he)),A_e(3,Tc)],B_e),V("univer.network.socket.service");var V_e=class extends tu{createSocket(e){try{let t=new WebSocket(e),r=new eu;return{URL:e,close:(e,n)=>{t.close(e,n),r.dispose()},send:e=>{t.send(e)},open$:new Tn(e=>{let n=t=>e.next(t);t.addEventListener("open",n),r.add(Jl(()=>t.removeEventListener("open",n)))}).pipe(ML()),close$:new Tn(e=>{let n=t=>e.next(t);t.addEventListener("close",n),r.add(Jl(()=>t.removeEventListener("close",n)))}).pipe(ML()),error$:new Tn(e=>{let n=t=>e.next(t);t.addEventListener("error",n),r.add(Jl(()=>t.removeEventListener("error",n)))}).pipe(ML()),message$:new Tn(e=>{let n=t=>e.next(t);t.addEventListener("message",n),r.add(Jl(()=>t.removeEventListener("message",n)))}).pipe(ML())}}catch(e){return console.error(e),null}}};function F_e(e,t){return void 0===e.v?j_e(t.v,t.t):j_e(e.v,e.t)}function j_e(e,t){return null===e?null:"string"==typeof e?$d(e)?0!=+e&&1!=+e||t!==Fu.BOOLEAN?t!==Fu.STRING&&t!==Fu.FORCE_STRING&&Ql(e)?Fu.FORCE_STRING:Fu.NUMBER:Fu.BOOLEAN:_l(e)?Fu.BOOLEAN:Fu.STRING:"number"==typeof e?0!==e&&1!==e||t!==Fu.BOOLEAN?Fu.NUMBER:Fu.BOOLEAN:"boolean"==typeof e?Fu.BOOLEAN:Fu.FORCE_STRING}function H_e(e,t){let{unitId:r}=t,n=r?e.getUnit(r,Pi.UNIVER_SHEET):e.getCurrentUnitOfType(Pi.UNIVER_SHEET);return n?{workbook:n,unitId:n.getUnitId()}:null}function W_e(e,t={}){let{unitId:r,subUnitId:n}=t,i=r?e.getUnit(r,Pi.UNIVER_SHEET):e.getCurrentUnitOfType(Pi.UNIVER_SHEET);if(!i)return null;let a=n?i.getSheetBySheetId(n):i.getActiveSheet(!0);return a?{worksheet:a,workbook:i,unitId:i.getUnitId(),subUnitId:a.getSheetId()}:null}function z_e(e,t){let{unitId:r,subUnitId:n}=t,i=e.getUnit(r,Pi.UNIVER_SHEET);if(!i)return null;let a=i.getSheetBySheetId(n);return a?{worksheet:a,workbook:i}:null}const X_e=(e,t)=>{if(!z_e(e.get(dg),t))throw Error("Workbook or worksheet is null error!");return{unitId:t.unitId,subUnitId:t.subUnitId,ranges:uu.deepClone(t.ranges)}},q_e={id:"sheet.mutation.add-worksheet-merge",type:Bc.MUTATION,handler:(e,t)=>{let r=z_e(e.get(dg),t);if(!r)throw Error("Workbook or worksheet is null error!");let{worksheet:n}=r,i=n.getConfig().mergeData,a=t.ranges;for(let e=0;e=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}const twe=jl("BEFORE_CELL_EDIT"),rwe=jl("AFTER_CELL_EDIT"),nwe=jl("VALIDATE_CELL");let iwe=class extends tu{constructor(e){super(),this._univerInstanceService=e,$_e(this,"_interceptorsByName",new Map),$_e(this,"_commandInterceptors",[]),$_e(this,"_rangeInterceptors",[]),$_e(this,"_autoHeightInterceptors",[]),$_e(this,"_beforeCommandInterceptor",[]),$_e(this,"_afterCommandInterceptors",[]),$_e(this,"_workbookDisposables",new Map),$_e(this,"_worksheetDisposables",new Map),$_e(this,"_interceptorsDirty",!1),$_e(this,"_composedInterceptorByKey",new Map),$_e(this,"writeCellInterceptor",new Wl({BEFORE_CELL_EDIT:twe,AFTER_CELL_EDIT:rwe,VALIDATE_CELL:nwe})),this.disposeWithMe(this._univerInstanceService.getTypeOfUnitAdded$(Pi.UNIVER_SHEET).subscribe(e=>{this._interceptWorkbook(e)})),this.disposeWithMe(this._univerInstanceService.getTypeOfUnitDisposed$(Pi.UNIVER_SHEET).subscribe(e=>this._disposeWorkbookInterceptor(e))),this.intercept(G_e.CELL_CONTENT,{priority:-1,effect:Vl.Style|Vl.Value,handler:e=>e}),this.disposeWithMe(this.writeCellInterceptor.intercept(rwe,{priority:-1,handler:e=>e})),this.disposeWithMe(this.writeCellInterceptor.intercept(twe,{priority:-1,handler:e=>e})),this.disposeWithMe(this.writeCellInterceptor.intercept(nwe,{priority:-1,handler:e=>e}))}dispose(){super.dispose(),this._workbookDisposables.forEach(e=>e.dispose()),this._workbookDisposables.clear(),this._worksheetDisposables.forEach(e=>e.dispose()),this._worksheetDisposables.clear(),this._interceptorsByName.clear()}interceptCommand(e){if(this._commandInterceptors.includes(e))throw Error("[SheetInterceptorService]: Interceptor already exists!");return this._commandInterceptors.push(e),this._commandInterceptors.sort((e,t)=>{var r,n;return(null==(r=t.priority)?0:r)-(null==(n=e.priority)?0:n)}),this.disposeWithMe(Jl(()=>vl(this._commandInterceptors,e)))}onCommandExecute(e){let t=this._commandInterceptors.map(t=>t.getMutations(e));return{preUndos:t.map(e=>{var t;return null==(t=e.preUndos)?[]:t}).flat(),undos:t.map(e=>e.undos).flat(),preRedos:t.map(e=>{var t;return null==(t=e.preRedos)?[]:t}).flat(),redos:t.map(e=>e.redos).flat()}}interceptAfterCommand(e){if(this._afterCommandInterceptors.includes(e))throw Error("[SheetInterceptorService]: Interceptor already exists!");return this._afterCommandInterceptors.push(e),this._afterCommandInterceptors.sort((e,t)=>{var r,n;return(null==(r=t.priority)?0:r)-(null==(n=e.priority)?0:n)}),this.disposeWithMe(Jl(()=>vl(this._afterCommandInterceptors,e)))}afterCommandExecute(e){let t=this._afterCommandInterceptors.map(t=>t.getMutations(e));return{undos:t.map(e=>e.undos).flat(),redos:t.map(e=>e.redos).flat()}}interceptAutoHeight(e){if(this._autoHeightInterceptors.includes(e))throw Error("[SheetInterceptorService]: Interceptor already exists!");return this._autoHeightInterceptors.push(e),this._autoHeightInterceptors.sort((e,t)=>{var r,n;return(null==(r=t.priority)?0:r)-(null==(n=e.priority)?0:n)}),this.disposeWithMe(Jl(()=>vl(this._autoHeightInterceptors,e)))}generateMutationsOfAutoHeight(e){let t=this._autoHeightInterceptors.map(t=>t.getMutations(e));return{preUndos:t.map(e=>{var t;return null==(t=e.preUndos)?[]:t}).flat(),undos:t.map(e=>e.undos).flat(),preRedos:t.map(e=>{var t;return null==(t=e.preRedos)?[]:t}).flat(),redos:t.map(e=>e.redos).flat()}}interceptBeforeCommand(e){if(this._beforeCommandInterceptor.includes(e))throw Error("[SheetInterceptorService]: Interceptor already exists!");return this._beforeCommandInterceptor.push(e),this._beforeCommandInterceptor.sort((e,t)=>{var r,n;return(null==(r=t.priority)?0:r)-(null==(n=e.priority)?0:n)}),this.disposeWithMe(Jl(()=>vl(this._beforeCommandInterceptor,e)))}async beforeCommandExecute(e){return(await Promise.all(this._beforeCommandInterceptor.map(t=>t.performCheck(e)))).every(e=>e)}interceptRanges(e){if(this._rangeInterceptors.includes(e))throw Error("[SheetInterceptorService]: Interceptor already exists!");return this._rangeInterceptors.push(e),this._rangeInterceptors.sort((e,t)=>{var r,n;return(null==(r=t.priority)?0:r)-(null==(n=e.priority)?0:n)}),this.disposeWithMe(Jl(()=>vl(this._rangeInterceptors,e)))}generateMutationsByRanges(e){let t=this._rangeInterceptors.map(t=>t.getMutations(e));return{preUndos:t.map(e=>{var t;return null==(t=e.preUndos)?[]:t}).flat(),undos:t.map(e=>e.undos).flat(),preRedos:t.map(e=>{var t;return null==(t=e.preRedos)?[]:t}).flat(),redos:t.map(e=>e.redos).flat()}}onWriteCell(e,t,r,n,i){let a={subUnitId:t.getSheetId(),unitId:e.getUnitId(),workbook:e,worksheet:t,row:r,col:n,origin:uu.deepClone(i)};return this.writeCellInterceptor.fetchThroughInterceptors(rwe)(i,a)}onValidateCell(e,t,r,n){let i={subUnitId:t.getSheetId(),unitId:e.getUnitId(),workbook:e,worksheet:t,row:r,col:n};return this.writeCellInterceptor.fetchThroughInterceptors(nwe)(Promise.resolve(!0),i)}intercept(e,t){let r=e;this._interceptorsByName.has(r)||this._interceptorsByName.set(r,[]);let n=this._interceptorsByName.get(r);n.push(t);let i=n.sort((e,t)=>{var r,n;return(null==(r=t.priority)?0:r)-(null==(n=e.priority)?0:n)});if(this._interceptorsDirty=!0,r===G_e.CELL_CONTENT){let e=Vl.Style|Vl.Value;this._interceptorsByName.set(`${r}-${e}`,i);let n=Vl.Style|Vl.Value;return this._interceptorsByName.set(`${r}-${Vl.Style}`,i.filter(e=>((e.effect||n)&Vl.Style)>0)),this._interceptorsByName.set(`${r}-${Vl.Value}`,i.filter(e=>((e.effect||n)&Vl.Value)>0)),this.disposeWithMe(Jl(()=>{vl(this._interceptorsByName.get(r),t),vl(this._interceptorsByName.get(`${r}-${e}`),t),vl(this._interceptorsByName.get(`${r}-${Vl.Style}`),t),vl(this._interceptorsByName.get(`${r}-${Vl.Value}`),t)}))}return this._interceptorsByName.set(r,i),this.disposeWithMe(Jl(()=>vl(this._interceptorsByName.get(r),t)))}fetchThroughInterceptors(e,t,r,n){let i=void 0===t?e:`${e}-${t}`,a=null==r?i:r,o=this._composedInterceptorByKey.get(a);if(!o||!this._interceptorsDirty){let e=this._interceptorsByName.get(i);e&&n&&(e=e.filter(n)),o=Hl(e||[]),this._composedInterceptorByKey.set(a,o)}return o}_interceptWorkbook(e){let t=new eu,r=e.getUnitId(),n=this,i=t=>{let i=t.getSheetId();t.__interceptViewModel(a=>{let o=new eu;n._worksheetDisposables.set(awe(r,t),o),o.add(a.registerCellContentInterceptor({getCell(a,o,s,l,u){let c=t.getCellRaw(a,o);return n.fetchThroughInterceptors(G_e.CELL_CONTENT,s,l,u)(c,{unitId:r,subUnitId:i,row:a,col:o,worksheet:t,workbook:e,rawData:c})}})),o.add(a.registerRowFilteredInterceptor({getRowFiltered:a=>!!n.fetchThroughInterceptors(G_e.ROW_FILTERED)(!1,{unitId:r,subUnitId:i,row:a,workbook:e,worksheet:t})}))})};e.getSheets().forEach(e=>i(e)),t.add(e.sheetCreated$.subscribe(e=>i(e))),t.add(Jl(()=>e.getSheets().forEach(e=>this._disposeSheetInterceptor(r,e)))),t.add(e.sheetDisposed$.subscribe(e=>this._disposeSheetInterceptor(r,e))),this._workbookDisposables.set(r,t)}_disposeWorkbookInterceptor(e){let t=e.getUnitId(),r=this._workbookDisposables.get(t);r&&(r.dispose(),this._workbookDisposables.delete(t))}_disposeSheetInterceptor(e,t){let r=awe(e,t),n=this._worksheetDisposables.get(r);n&&(n.dispose(),this._worksheetDisposables.delete(r))}};function awe(e,t){return`${e}|${t.getSheetId()}`}iwe=ewe([J_e(0,dg)],iwe);const owe=e=>{let t={};return e.bg&&(t.bg={...e.bg}),e.ol&&(t.ol={...e.ol}),e.bd&&(t.bd={...e.bd}),e.cl&&(t.cl={...e.cl}),e.ht&&(t.ht=e.ht),e.vt&&(t.vt=e.vt),void 0!==e.bl&&(t.bl=e.bl),t};var swe=class{constructor(e,t){$_e(this,"_name",void 0),$_e(this,"wholeStyle",null),$_e(this,"headerRowStyle",null),$_e(this,"headerColumnStyle",null),$_e(this,"firstRowStyle",null),$_e(this,"secondRowStyle",null),$_e(this,"lastRowStyle",null),$_e(this,"firstColumnStyle",null),$_e(this,"secondColumnStyle",null),$_e(this,"lastColumnStyle",null),$_e(this,"_mergeCacheMap",new Map),t&&this.fromJson({...t,name:e}),this._name=e}getName(){return this._name}getWholeStyle(){return this.wholeStyle}setWholeStyle(e){this.wholeStyle=e,this._resetStyleCache()}getFirstRowStyle(){return this.firstRowStyle}setFirstRowStyle(e){this.firstRowStyle=e,this._resetStyleCache()}getSecondRowStyle(){return this.secondRowStyle}setSecondRowStyle(e){this.secondRowStyle=e,this._resetStyleCache()}getLastRowStyle(){return this.lastRowStyle}setLastRowStyle(e){this.lastRowStyle=e,this._resetStyleCache()}getFirstColumnStyle(){return this.firstColumnStyle}setFirstColumnStyle(e){this.firstColumnStyle=e,this._resetStyleCache()}getSecondColumnStyle(){return this.secondColumnStyle}setSecondColumnStyle(e){this.secondColumnStyle=e,this._resetStyleCache()}getLastColumnStyle(){return this.lastColumnStyle}setLastColumnStyle(e){this.lastColumnStyle=e,this._resetStyleCache()}getHeaderRowStyle(){return this.headerRowStyle}setHeaderRowStyle(e){this.headerRowStyle=e,this._resetStyleCache()}getHeaderColumnStyle(){return this.headerColumnStyle}setHeaderColumnStyle(e){this.headerColumnStyle=e,this._resetStyleCache()}getStyle(e,t,r,n,i){let a=0;return r&&(a|=32),n&&(a|=512),e>=0&&t>=0&&(a|=1),e%2==1&&(a|=i?16:8),e%2==0&&(a|=i?8:16),0===e&&(a|=2),0===t&&(a|=4),t%2==1&&(a|=128),t%2==0&&(a|=256),0===a?null:this._getMergeStyle(a)}_getMergeStyle(e){let t=this._mergeCacheMap.get(e);return t||(t=this._mergeStyle(e),this._mergeCacheMap.set(e,t)),t}_mergeStyle(e){let t=[];return this.wholeStyle&&1&e&&t.push(this.wholeStyle),this.firstColumnStyle&&128&e&&t.push(this.firstColumnStyle),this.secondColumnStyle&&256&e&&t.push(this.secondColumnStyle),this.firstRowStyle&&8&e&&t.push(this.firstRowStyle),this.secondRowStyle&&16&e&&t.push(this.secondRowStyle),this.headerColumnStyle&&4&e&&t.push(this.headerColumnStyle),this.lastColumnStyle&&512&e&&t.push(this.lastColumnStyle),this.headerRowStyle&&2&e&&t.push(this.headerRowStyle),this.lastRowStyle&&32&e&&t.push(this.lastRowStyle),function(e){let t={};if(1===e.length)return e[0];for(let r of e)r.bg&&(t.bg=r.bg),r.ol&&(t.ol=r.ol),r.bd&&(t.bd={...t.bd,...r.bd}),r.cl&&(t.cl=r.cl),r.ht&&(t.ht=r.ht),r.vt&&(t.vt=r.vt),void 0!==r.bl&&(t.bl=r.bl);return t}(t)}_resetStyleCache(){this._mergeCacheMap.clear()}toJson(){let e={name:this._name};return this.wholeStyle&&(e.wholeStyle=owe(this.wholeStyle)),this.headerRowStyle&&(e.headerRowStyle=owe(this.headerRowStyle)),this.headerColumnStyle&&(e.headerColumnStyle=owe(this.headerColumnStyle)),this.firstRowStyle&&(e.firstRowStyle=owe(this.firstRowStyle)),this.secondRowStyle&&(e.secondRowStyle=owe(this.secondRowStyle)),this.lastRowStyle&&(e.lastRowStyle=owe(this.lastRowStyle)),this.firstColumnStyle&&(e.firstColumnStyle=owe(this.firstColumnStyle)),this.secondColumnStyle&&(e.secondColumnStyle=owe(this.secondColumnStyle)),this.lastColumnStyle&&(e.lastColumnStyle=owe(this.lastColumnStyle)),e}fromJson(e){this._name=e.name,e.wholeStyle&&(this.wholeStyle=owe(e.wholeStyle)),e.headerRowStyle&&(this.headerRowStyle=owe(e.headerRowStyle)),e.headerColumnStyle&&(this.headerColumnStyle=owe(e.headerColumnStyle)),e.firstRowStyle&&(this.firstRowStyle=owe(e.firstRowStyle)),e.secondRowStyle&&(this.secondRowStyle=owe(e.secondRowStyle)),e.lastRowStyle&&(this.lastRowStyle=owe(e.lastRowStyle)),e.firstColumnStyle&&(this.firstColumnStyle=owe(e.firstColumnStyle)),e.secondColumnStyle&&(this.secondColumnStyle=owe(e.secondColumnStyle)),e.lastColumnStyle&&(this.lastColumnStyle=owe(e.lastColumnStyle))}dispose(){this._mergeCacheMap.clear()}};const lwe=[{baseName:"blue",header:"rgb(164, 202, 254)",color:"rgb(225, 239, 254)"},{baseName:"grey",header:"rgb(205, 208, 216)",color:"rgb(238, 239, 241)"},{baseName:"red",header:"rgb(248, 180, 180)",color:"rgb(253, 232, 232)"},{baseName:"orange",header:"rgb(253, 186, 140)",color:"rgb(254, 236, 220)"},{baseName:"yellow",header:"rgb(250, 200, 21)",color:"rgb(255, 244, 185)"},{baseName:"green",header:"rgb(132, 225, 188)",color:"rgb(222, 247, 236)"},{baseName:"azure",header:"rgb(126, 220, 226)",color:"rgb(213, 245, 246)"},{baseName:"indigo",header:"rgb(186, 198, 248)",color:"rgb(233, 237, 255)"},{baseName:"purple",header:"rgb(202, 191, 253)",color:"rgb(237, 235, 254)"},{baseName:"magenta",header:"rgb(248, 180, 217)",color:"rgb(252, 232, 243)"}].map(({baseName:e,header:t,color:r})=>((e,t,r)=>new swe(`light-${e}`,{headerRowStyle:{bg:{rgb:t}},firstColumnStyle:{bg:{rgb:"rgb(255, 255, 255)"}},secondColumnStyle:{bg:{rgb:r}},lastRowStyle:{bg:{rgb:t}}}))(e,t,r)),uwe=[{baseName:"blue",rowHeader:"rgb(63, 131, 248)",colHeader:"rgb(195, 221, 253)"},{baseName:"grey",rowHeader:"rgb(95, 101, 116)",colHeader:"rgb(227, 229, 234)"},{baseName:"red",rowHeader:"rgb(240, 82, 82)",colHeader:"rgb(251, 213, 213)"},{baseName:"orange",rowHeader:"rgb(255, 90, 31)",colHeader:"rgb(252, 217, 189)"},{baseName:"yellow",rowHeader:"rgb(212, 157, 15)",colHeader:"rgb(252, 220, 106)"},{baseName:"green",rowHeader:"rgb(13, 164, 113)",colHeader:"rgb(188, 240, 218)"},{baseName:"azure",rowHeader:"rgb(6, 148, 162)",colHeader:"rgb(175, 236, 239)"},{baseName:"indigo",rowHeader:"rgb(70, 106, 247)",colHeader:"rgb(210, 218, 250)"},{baseName:"purple",rowHeader:"rgb(144, 97, 249)",colHeader:"rgb(220, 215, 254)"},{baseName:"magenta",rowHeader:"rgb(231, 70, 148)",colHeader:"rgb(250, 209, 232)"}].map(({baseName:e,rowHeader:t,colHeader:r})=>((e,t,r)=>new swe(`middle-${e}`,{headerRowStyle:{bg:{rgb:t}},headerColumnStyle:{bg:{rgb:r}},secondRowStyle:{bg:{rgb:r}},lastRowStyle:{bg:{rgb:t}},lastColumnStyle:{bg:{rgb:r}}}))(e,t,r)),cwe=[{baseName:"blue",rowHeader:"rgb(30, 66, 159)",firstRow:"rgb(195, 221, 253)",secondRow:"rgb(118, 169, 250)"},{baseName:"grey",rowHeader:"rgb(44, 48, 64)",firstRow:"rgb(227, 229, 234)",secondRow:"rgb(151, 157, 172)"},{baseName:"red",rowHeader:"rgb(155, 28, 28)",firstRow:"rgb(251, 213, 213)",secondRow:"rgb(249, 128, 128)"},{baseName:"orange",rowHeader:"rgb(180, 52, 3)",firstRow:"rgb(252, 217, 189)",secondRow:"rgb(255, 138, 76)"},{baseName:"yellow",rowHeader:"rgb(154, 109, 21)",firstRow:"rgb(252, 220, 106)",secondRow:"rgb(212, 157, 15)"},{baseName:"green",rowHeader:"rgb(4, 108, 78)",firstRow:"rgb(188, 240, 218)",secondRow:"rgb(49, 196, 141)"},{baseName:"azure",rowHeader:"rgb(3, 102, 114)",firstRow:"rgb(175, 236, 239)",secondRow:"rgb(22, 189, 202)"},{baseName:"indigo",rowHeader:"rgb(16, 51, 191)",firstRow:"rgb(210, 218, 250)",secondRow:"rgb(98, 128, 249)"},{baseName:"purple",rowHeader:"rgb(74, 29, 150)",firstRow:"rgb(220, 215, 254)",secondRow:"rgb(172, 148, 250)"},{baseName:"magenta",rowHeader:"rgb(153, 21, 75)",firstRow:"rgb(250, 209, 232)",secondRow:"rgb(241, 126, 184)"}].map(({baseName:e,rowHeader:t,firstRow:r,secondRow:n})=>((e,t,r,n)=>new swe(`dark-${e}`,{headerRowStyle:{bg:{rgb:t},cl:{rgb:"rgb(255, 255, 255)"},ht:Lu.CENTER,bl:Vu.TRUE},firstRowStyle:{bg:{rgb:r}},secondRowStyle:{bg:{rgb:n}},lastRowStyle:{bg:{rgb:t}}}))(e,t,r,n)),dwe=[...lwe,...uwe,...cwe],hwe={headerRowStyle:{bg:{rgb:"rgb(68,114,196)"},cl:{rgb:"rgb(255,255,255)"},ht:Lu.CENTER,bl:Vu.TRUE},firstRowStyle:{bg:{rgb:"rgb(217,225,242)"}}},mwe=new swe("default",hwe),fwe=new swe("default-last-row",{...hwe,lastRowStyle:{bd:{t:{s:gu.THIN,cl:{rgb:"rgb(68,114,196)"}}},ht:Lu.CENTER,bl:Vu.TRUE}});var gwe=class{constructor(){$_e(this,"_toggleRanges",[])}refresh(e,t){let{startRow:r,endRow:n}=e,i=[],a=0,o=!1,s=-1;for(let e=r;e<=n;e++)t(e)?(a%2==1?o?-1===s&&(s=e):(o=!0,s=e):o&&(i.push([s,e-2]),o=!1,s=-1),e===n&&o&&i.push([s,e])):(a++,a%2==1?o=!0:(o=!1,-1!==s&&(i.push([s,e-1]),s=-1)));this._toggleRanges=i}getToggleRanges(){return this._toggleRanges.concat()}getIsToggled(e){let t=0,r=this._toggleRanges.length-1;for(;t<=r;){let n=Math.floor((t+r)/2),[i,a]=this._toggleRanges[n];if(ea))return!0;t=n+1}}return!1}};let pwe=class extends tu{constructor(e,t,r){super(),this._sheetInterceptorService=e,this._resourceManagerService=t,this._univerInstanceService=r,$_e(this,"_rangeThemeStyleMap",new Map),$_e(this,"_rangeThemeStyleRuleMap",new Map),$_e(this,"_rTreeCollection",new Map),$_e(this,"_defaultRangeThemeMap",new Map),$_e(this,"_zebraCrossingCacheMap",new Map),$_e(this,"_rowVisibleFuncSet",new Map),$_e(this,"_rangeThemeMapChanged$",new On),$_e(this,"rangeThemeMapChange$",this._rangeThemeMapChanged$.asObservable()),this._registerIntercept(),this._initSnapshot(),this._initDefaultTheme()}_initDefaultTheme(){this.registerDefaultRangeTheme(mwe),this.registerDefaultRangeTheme(fwe);for(let e of dwe)this.registerDefaultRangeTheme(e)}_ensureRangeThemeStyleMap(e){return this._rangeThemeStyleMap.has(e)||this._rangeThemeStyleMap.set(e,new Map),this._rangeThemeStyleMap.get(e)}_ensureRangeThemeStyleRuleMap(e){return this._rangeThemeStyleRuleMap.has(e)||this._rangeThemeStyleRuleMap.set(e,new Map),this._rangeThemeStyleRuleMap.get(e)}_ensureRTreeCollection(e){return this._rTreeCollection.has(e)||this._rTreeCollection.set(e,new Wg),this._rTreeCollection.get(e)}getDefaultRangeThemeStyle(e){return this._defaultRangeThemeMap.get(e)}getCustomRangeThemeStyle(e,t){return this._ensureRangeThemeStyleMap(e).get(t)}_getSheetRowVisibleFuncSet(e,t){this._rowVisibleFuncSet.has(e)||this._rowVisibleFuncSet.set(e,new Map);let r=this._rowVisibleFuncSet.get(e);return r.has(t)||r.set(t,new Set),r.get(t)}_getSheetRowVisibleHasInit(e,t){var r;return!(!this._rowVisibleFuncSet.has(e)||null==(r=this._rowVisibleFuncSet.get(e))||!r.has(t))}refreshSheetRowVisibleFuncSet(e,t){let r=this._getSheetRowVisibleFuncSet(e,t);r.clear();let n=this._univerInstanceService.getUnit(e);if(n){let e=n.getSheetBySheetId(t);if(e){let t=e.getRowCount(),n=e.getRowManager();for(let i=1;i<=t;i++)e.getRowVisible(i)?0===n.getRowHeight(i)&&r.add(i):r.add(i)}}}_ensureZebraCrossingCache(e,t,r){this._zebraCrossingCacheMap.has(e)||this._zebraCrossingCacheMap.set(e,new Map);let n=this._zebraCrossingCacheMap.get(e);n.has(t)||n.set(t,new Map);let i=n.get(t);return i.has(r)||i.set(r,new gwe),i.get(r)}registerRangeThemeRule(e,t){let{unitId:r,subUnitId:n,range:i}=t,a=cu(),o=this._ensureRangeThemeStyleRuleMap(r),s=this._ensureRTreeCollection(r);o.set(a,{rangeInfo:t,themeName:e}),s.insert({unitId:r,sheetId:n,range:i,id:a}),this._getSheetRowVisibleHasInit(r,n)||this.refreshSheetRowVisibleFuncSet(r,n);let l=this._ensureZebraCrossingCache(r,n,a),u=this._getSheetRowVisibleFuncSet(r,n);l.refresh(i,e=>!u.has(e))}getRegisteredRangeThemeStyle(e){let{unitId:t,subUnitId:r,range:n}=e,i=this._ensureRTreeCollection(t),a=Array.from(i.bulkSearch([{unitId:t,sheetId:r,range:n}]));if(a[0]){let e=this._ensureRangeThemeStyleRuleMap(t).get(a[0]);if(e)return e.themeName}}refreshZebraCrossingCacheBySheet(e,t){this._zebraCrossingCacheMap.has(e)||this._zebraCrossingCacheMap.set(e,new Map);let r=this._zebraCrossingCacheMap.get(e);r.has(t)||r.set(t,new Map);let n=r.get(t);n&&n.forEach((r,i)=>{let a=this._ensureRangeThemeStyleRuleMap(e).get(i);a?r.refresh(a.rangeInfo.range,r=>!this._getSheetRowVisibleFuncSet(e,t).has(r)):n.delete(i)})}removeRangeThemeRule(e,t){let{unitId:r,subUnitId:n,range:i}=t,a=this._ensureRTreeCollection(r),o=Array.from(a.bulkSearch([{unitId:r,sheetId:n,range:i}])),s=this._ensureRangeThemeStyleRuleMap(r);for(let t=0;t{let{row:n,col:i,unitId:a,subUnitId:o}=t,s=this.getCellStyle(a,o,n,i);if(s){let n=e&&e!==t.rawData?e:{...t.rawData};return n.themeStyle=s,r(n)}return r(e)}}))}toJson(e){let t=this._ensureRangeThemeStyleRuleMap(e),r=this._ensureRangeThemeStyleMap(e);if(0===r.size&&0===t.size)return"{}";let n={};t.forEach((e,t)=>{n[t]=e});let i={};return r.forEach((e,t)=>{i[t]=e.toJson()}),JSON.stringify({rangeThemeStyleRuleMap:n,rangeThemeStyleMapJson:i})}fromJSON(e,t){let{rangeThemeStyleRuleMap:r,rangeThemeStyleMapJson:n}=t;r&&Object.keys(r).forEach(e=>{let{themeName:t,rangeInfo:n}=r[e];t.startsWith("table")||(this.registerRangeThemeRule(t,n),this._ensureRTreeCollection(n.unitId).insert({unitId:e,sheetId:n.subUnitId,range:n.range,id:e}))}),n&&Object.keys(n).forEach(t=>{let r=n[t],i=new swe(r.name);i.fromJson(r),this._ensureRangeThemeStyleMap(e).set(i.getName(),i)})}deleteUnitId(e){this._rangeThemeStyleMap.delete(e),this._rangeThemeStyleRuleMap.delete(e),this._rTreeCollection.delete(e)}_initSnapshot(){this.disposeWithMe(this._resourceManagerService.registerPluginResource({toJson:e=>this.toJson(e),parseJson:e=>{if(!e)return{};try{return JSON.parse(e)}catch{return{}}},businesses:[Pi.UNIVER_SHEET],pluginName:"SHEET_RANGE_THEME_MODEL_PLUGIN",onLoad:(e,t)=>{this.fromJSON(e,t)},onUnLoad:e=>{this.deleteUnitId(e)}}))}dispose(){super.dispose(),this._rangeThemeStyleMap.clear(),this._rangeThemeStyleRuleMap.clear(),this._defaultRangeThemeMap.clear(),this._rTreeCollection.clear(),this._zebraCrossingCacheMap.clear(),this._rowVisibleFuncSet.clear()}};pwe=ewe([J_e(0,Y(iwe)),J_e(1,Y(hf)),J_e(2,Y(dg))],pwe);const vwe={id:"sheet.mutation.set-worksheet-range-theme-style",type:Bc.MUTATION,handler:(e,t)=>{if(!W_e(e.get(dg),t))return!1;let r=e.get(pwe),{unitId:n,subUnitId:i,range:a,themeName:o}=t;return r.registerRangeThemeRule(o,{range:a,unitId:n,subUnitId:i}),!0}},bwe={id:"sheet.mutation.remove-worksheet-range-theme-style",type:Bc.MUTATION,handler:(e,t)=>{if(!W_e(e.get(dg),t))return!1;let r=e.get(pwe),{unitId:n,subUnitId:i,range:a,themeName:o}=t;return r.removeRangeThemeRule(o,{range:a,unitId:n,subUnitId:i}),!0}},Cwe=(e,t)=>{if(!z_e(e.get(dg),t))throw Error("Workbook or Worksheet not found at InsertRowMutationUndoFactory");return{unitId:t.unitId,subUnitId:t.subUnitId,range:t.range}},ywe={id:"sheet.mutation.insert-row",type:Bc.MUTATION,handler:(e,t)=>{let r=z_e(e.get(dg),t);if(!r)throw Error("Workbook or Worksheet not found at InsertRowMutation");let{worksheet:n}=r,i=n.getRowManager(),{range:a,rowInfo:o}=t,{startRow:s,endRow:l}=a;i.insertRowsWithData(s,l,o);let u=l-s+1;return n.setRowCount(n.getRowCount()+u),n.getCellMatrix().insertRows(s,u),!0}},_we=(e,t)=>{if(!z_e(e.get(dg),t))throw Error("Workbook or Worksheet not found at InsertColMutationUndoFactory");return{unitId:t.unitId,subUnitId:t.subUnitId,range:t.range}},wwe={id:"sheet.mutation.insert-col",type:Bc.MUTATION,handler:(e,t)=>{let r=z_e(e.get(dg),t);if(!r)throw Error("Workbook or Worksheet not found at InsertColMutation");let{worksheet:n}=r,i=n.getColumnManager(),{range:a,colInfo:o}=t,{startColumn:s,endColumn:l}=a;i.insertColumnsWithData(s,l,o);let u=l-s+1;return n.setColumnCount(n.getColumnCount()+u),n.getCellMatrix().insertColumns(a.startColumn,u),!0}},Ewe={id:"sheet.mutation.move-range",type:Bc.MUTATION,handler:(e,t)=>{let{from:r,to:n}=t;if(!r||!n)return!1;let i=e.get(dg).getCurrentUnitForType(Pi.UNIVER_SHEET);if(!i)return!1;let a=i.getSheetBySheetId(t.from.subUnitId),o=i.getSheetBySheetId(t.to.subUnitId);if(!a||!o)return!1;let s=a.getCellMatrix(),l=o.getCellMatrix();return new kd(r.value).forValue((e,t,r)=>{null==r?s.realDeleteValue(e,t):s.setValue(e,t,r)}),new kd(n.value).forValue((e,t,r)=>{null==r?l.realDeleteValue(e,t):l.setValue(e,t,r)}),!0}},Swe={id:"sheet.mutation.move-rows",type:Bc.MUTATION,handler:(e,t)=>{let{unitId:r,subUnitId:n,sourceRange:i,targetRange:a}=t,o=e.get(dg).getUniverSheetInstance(r);if(!o)throw Error("[MoveRowMutation] univerSheet is null!");let s=o.getSheetBySheetId(n);if(!s)throw Error("[MoveRowMutation] worksheet is null!");let l=i.startRow,u=i.endRow-i.startRow+1,c=a.startRow;return Ld(l,u,c,s.getRowManager().getRowData()),s.getCellMatrix().moveRows(l,u,c),!0}},Awe={id:"sheet.mutation.move-columns",type:Bc.MUTATION,handler:(e,t)=>{let{unitId:r,subUnitId:n,sourceRange:i,targetRange:a}=t,o=e.get(dg).getUniverSheetInstance(r);if(!o)throw Error("[MoveColumnMutation] univerSheet is null!");let s=o.getSheetBySheetId(n);if(!s)throw Error("[MoveColumnMutation] worksheet is null!");let l=i.startColumn,u=i.endColumn-i.startColumn+1,c=a.startColumn;return Ld(l,u,c,s.getColumnManager().getColumnData()),s.getCellMatrix().moveColumns(l,u,c),!0}},Iwe={id:"sheet.mutation.remove-rows",type:Bc.MUTATION,handler:(e,t)=>{let r=e.get(dg).getUniverSheetInstance(t.unitId);if(null==r)throw Error("universheet is null error!");let n=r.getSheetBySheetId(t.subUnitId);if(!n)return!1;let i=t.range,a=n.getRowManager().getRowData(),o=[];for(let e=i.startRow;e<=i.endRow;e++)n.getRowFiltered(e)&&o.push(e);let s=i.endRow-i.startRow+1;return Nd(i.startRow,s,a),n.getCellMatrix().removeRows(i.startRow,s),n.setRowCount(n.getRowCount()-s),!0}},Rwe={id:"sheet.mutation.remove-col",type:Bc.MUTATION,handler:(e,t)=>{let r=e.get(dg).getUniverSheetInstance(t.unitId);if(null==r)throw Error("universheet is null error!");let n=r.getSheetBySheetId(t.subUnitId);if(!n)return!1;let i=t.range,a=n.getColumnManager().getColumnData(),o=i.endColumn-i.startColumn+1;return Nd(i.startColumn,o,a),n.setColumnCount(n.getColumnCount()-o),n.getCellMatrix().removeColumns(i.startColumn,o),!0}},xwe=(e,t)=>{let r=z_e(e.get(dg),t);if(!r)throw Error("Workbook or worksheet is null error!");let{worksheet:n}=r,i=n.getConfig().mergeData,a=t.ranges,o=[];for(let e=0;e=0;t--){let r=i[t],n=a[e];Oh.intersects(r,n)&&o.push(i[t])}return{unitId:t.unitId,subUnitId:t.subUnitId,ranges:o}},Twe={id:"sheet.mutation.remove-worksheet-merge",type:Bc.MUTATION,handler:(e,t)=>{let r=z_e(e.get(dg),t);if(!r)throw Error("Workbook or worksheet is null error!");let{worksheet:n}=r,i=n.getConfig().mergeData,a=t.ranges;for(let e=0;e=0;t--){let r=i[t],n=a[e];Oh.intersects(r,n)&&i.splice(t,1)}return n.getSpanModel().rebuild(i),!0}},Nwe=e=>{let{order:t}=e,r={};return Object.keys(t).forEach(e=>{r[t[Number(e)]]=Number(e)}),{...e,order:r}},Mwe={id:"sheet.mutation.reorder-range",type:Bc.MUTATION,handler:(e,t)=>{let{subUnitId:r,unitId:n,range:i,order:a}=t,o=e.get(dg).getUnit(n).getSheetBySheetId(r);if(!o)return!1;let s=new kd;Sh.foreach(i,(e,t)=>{if(a.hasOwnProperty(e)){let r=a[e],n=uu.deepClone(o.getCellRaw(r,t));s.setValue(e,t,n)}});let l=o.getCellMatrix();return s.forValue((e,t,r)=>{l.setValue(e,t,r)}),!0}};function Owe(e,t){if(null==e)return e;let r=uu.deepClone(e);if(null==t)return r;let n={};return"h"in t&&(n.h=r.h),"ia"in t&&(n.ia=r.ia),"ah"in t&&(n.ah=r.ah),"hd"in t&&(n.hd=r.hd),"s"in t&&(n.s=r.s),"custom"in t&&(n.custom=r.custom),n}function Lwe(e,t){if(null==e)return e;let r=uu.deepClone(e);if(null==t)return r;let n={};return"w"in t&&(n.w=r.w),"hd"in t&&(n.hd=r.hd),"s"in t&&(n.s=r.s),"custom"in t&&(n.custom=r.custom),n}const kwe={id:"sheet.mutation.set-col-data",type:Bc.MUTATION,handler:(e,t)=>{let{columnData:r}=t,n=W_e(e.get(dg),t);if(!n)return!1;let{worksheet:i}=n,a=i.getColumnManager();for(let e in r){let t=r[e];if(null==t){a.removeColumn(Number(e));continue}let n=a.getColumnOrCreate(Number(e));Object.assign(n,t)}return!0}},Pwe={id:"sheet.mutation.set-col-hidden",type:Bc.MUTATION,handler:(e,t)=>{let r=e.get(dg).getUniverSheetInstance(t.unitId);if(!r)return!1;let n=r.getSheetBySheetId(t.subUnitId).getColumnManager();for(let e=0;e{let r=e.get(dg).getUniverSheetInstance(t.unitId);if(!r)return!1;let n=r.getSheetBySheetId(t.subUnitId).getColumnManager();for(let e=0;e{let r=W_e(e.get(dg),t);if(!r)return!1;let{worksheet:n}=r;return n.getConfig().gridlinesColor=t.color,!0}};function Bwe(e){return"object"==typeof e&&!!e&&!Array.isArray(e)}function Vwe(e,t,r){for(let n of t)Object.prototype.hasOwnProperty.call(e,n)&&r(n,e[n])}function Fwe(e,t,r){if(null==e)return e;if(!Bwe(e))return;let n={},i=!1;if(Vwe(e,t,(e,t)=>{n[e]=t,i=!0}),r)for(let t in r){let a=r[t];if(!a||!Object.prototype.hasOwnProperty.call(e,t))continue;let o=a(e[t]);void 0!==o&&(n[t]=o,i=!0)}return i?n:void 0}function jwe(e){switch(e){case"bd":case"tr":case"td":case"ht":case"vt":case"tb":case"pd":case"bg":return!0;default:return!1}}function Hwe(e){return Fwe(e,_c)}function Wwe(e){return Fwe(e,wc,{cl:Hwe})}function zwe(e,t){switch(e){case"ul":case"bbl":case"st":case"ol":return function(e){return Fwe(e,yc,{cl:Hwe})}(t);case"bg":case"cl":return Hwe(t);case"bd":return function(e){return function(e,t,r){if(null==e)return e;if(!Bwe(e))return;let n={},i=!1;return Vwe(e,t,(e,t)=>{let a=r(t);void 0!==a&&(n[e]=a,i=!0)}),i?n:void 0}(e,Ec,Wwe)}(t);case"tr":return function(e){return Fwe(e,Sc)}(t);case"pd":return function(e){return Fwe(e,Ac)}(t);case"n":return function(e){return null==e?e:Bwe(e)&&Object.prototype.hasOwnProperty.call(e,"pattern")&&"string"==typeof e.pattern?{pattern:e.pattern}:void 0}(t);default:return function(e){return null==e||["string","number","boolean"].includes(typeof e)}(t)?t:void 0}}function Xwe(e,t){if(null===t)return null;if(void 0===t)return e;let r=t,n=uu.isObject(e)?{...e}:{};return Vwe(r,Ec,(e,t)=>{let r=Wwe(t);void 0!==r&&(n[e]=r)}),n}function qwe(e,t){if(!t||!Object.keys(t).length)return e;let r=e;for(let n of Ec)Object.prototype.hasOwnProperty.call(t,n)&&(n in e||(r[n]=null));return e}function Gwe(e,t,r=!1){if(null===t)return t;if(void 0===t)return e;let n=uu.deepClone(e)||{},i=t;for(let e of Ic){if(!Object.prototype.hasOwnProperty.call(i,e)||r&&jwe(e))continue;let t=zwe(e,i[e]);void 0!==t&&(n[e]="bd"===e?Xwe(n[e],t):t)}if("cl"in n){let e=n,t=e.cl;"ul"in e&&e.ul&&(e.ul.cl=t),"ol"in e&&e.ol&&(e.ol.cl=t),"st"in e&&e.st&&(e.st.cl=t)}return n}function Ywe(e,t){return e.some(e=>e.startIndex===t)?Ywe(e,t+1):t}function Qwe(e,t){return void 0===t.v||null===t.v?t.v:e===Fu.NUMBER?Number(t.v):e===Fu.BOOLEAN?function(e){if("string"==typeof e){if("TRUE"===e.toUpperCase())return!0;if("FALSE"===e.toUpperCase())return!1;if(function(e){return!!Yl(e)&&Number(e)<=2**53-1}(e)){if(0===Number(e))return!1;if(1===Number(e))return!0}}if("number"==typeof e){if(0===e)return!1;if(1===e)return!0}return"boolean"==typeof e?e:null}(t.v)?1:0:e===Fu.STRING||e===Fu.FORCE_STRING?`${t.v}`:t.v}const Zwe=(e,t)=>{let{unitId:r,subUnitId:n,cellValue:i}=t,a=e.get(dg).getUniverSheetInstance(r);if(null==a)throw Error("workbook is null error!");let o=a.getSheetBySheetId(n);if(null==o)throw Error("worksheet is null error!");let s=o.getCellMatrix(),l=a.getStyles(),u=new kd;return new kd(i).forValue((e,t,r)=>{let n=uu.deepClone(null==s?void 0:s.getValue(e,t))||{};n.s=function(e,t){if(!t||!Object.keys(t).length)return e;let r=uu.deepClone(null==e?{}:e)||{},n=t;for(let e of Ic){if(!Object.prototype.hasOwnProperty.call(n,e))continue;let t=zwe(e,n[e]);void 0!==t&&("bd"===e?r[e]=qwe(r[e]||{},t):e in r||(r[e]=null))}return r}(l.getStyleByCell(n),l.getStyleByCell(r)),u.setValue(e,t,function(e){return null==e?null:(void 0===e.f&&(e.f=null),void 0===e.si&&(e.si=null),void 0===e.p&&(e.p=null),void 0===e.v&&(e.v=null),void 0===e.t&&(e.t=null),void 0===e.s&&(e.s=null),void 0===e.custom&&(e.custom=null),e)}(n))}),{...t,options:{},cellValue:u.getMatrix()}},Kwe={id:"sheet.mutation.set-range-values",type:Bc.MUTATION,handler:(e,t)=>{let{cellValue:r,subUnitId:n,unitId:i}=t,a=e.get(dg).getUnit(i);if(!a)return!1;let o=a.getSheetBySheetId(n);if(!o)return!1;let s=o.getCellMatrix(),l=a.getStyles();return new kd(r).forValue((e,t,r)=>{if(r){let n=s.getValue(e,t)||{};n=function(e,t,r){let n=function(e,t,r){var n;if(t.t)return t.t;if(null===t.v)return null;let i=e.getStyleByCell(t),a=e.getStyleByCell(r);if(r.t===Fu.FORCE_STRING){var o;if(!wd(null==a||null==(o=a.n)?void 0:o.pattern)&&void 0!==t.v){if($d(t.v))return Fu.NUMBER;if(_l(`${t.v}`))return Fu.BOOLEAN}return Fu.FORCE_STRING}var s;return function(e){var t;return!(null==e||null==(t=e.n)||!t.pattern)}(i)?wd(null==i||null==(s=i.n)?void 0:s.pattern)?Fu.STRING:F_e(t,r):wd(null==a||null==(n=a.n)?void 0:n.pattern)?Fu.STRING:F_e(t,r)}(r,e,t);return Object.keys(e).forEach(i=>{let a=i;if($we.has(a)){let r=e[a];!function(e,t,r){void 0===r||(null===r?delete e[t]:e[t]=r)}(t,a,r)}else"v"===a?void 0!==e.v&&(t.v=Qwe(n,e)):"s"===a&&function(e,t,r){let n=e.getStyleByCell(t);null==n&&delete t.s,"string"==typeof r.s&&(r.s=e.get(r.s));let i=Gwe(n,r.s?r.s:null);i&&(uu.removeNull(i),Object.entries(i).forEach(([e,t])=>{"object"==typeof t&&t&&0===Object.keys(t).length&&delete i[e]})),uu.isEmptyObject(i)?delete t.s:t.s=e.setValue(i);let a=r.v?`${r.v}\r\n`:"";var o;!r.p&&t.p&&(a&&a!==(null==(o=t.p.body)?void 0:o.dataStream)?delete t.p:function(e,t){var r;if(null==e.body)return;Array.isArray(e.body.textRuns)||(e.body.textRuns=[]);let n=0,i=[],a=(null==(r=e.body)?void 0:r.paragraphs)||[];for(let r of e.body.textRuns){let{st:e,ed:o,ts:s={}}=r;if(n{let{rowData:r}=t,n=W_e(e.get(dg),t);if(!n)return!1;let{worksheet:i}=n,a=i.getRowManager();for(let e in r){let t=r[e];if(null==t){a.removeRow(Number(e));continue}let n=a.getRowOrCreate(Number(e));Object.assign(n,t)}return!0}},eEe={id:"sheet.mutation.set-row-visible",type:Bc.MUTATION,handler:(e,t)=>{let r=e.get(dg).getUniverSheetInstance(t.unitId);if(null==r)throw Error("universheet is null error!");let n=r.getSheetBySheetId(t.subUnitId).getRowManager();for(let e=0;e{let r=e.get(dg).getUniverSheetInstance(t.unitId);if(null==r)throw Error("universheet is null error!");let n=r.getSheetBySheetId(t.subUnitId).getRowManager();for(let e=0;e{let{unitId:r,subUnitId:n,ranges:i}=e,a={},o=t.getColumnManager();for(let e=0;e{let r=W_e(e.get(dg),t);if(!r)return!1;let{worksheet:n}=r,i=n.getColumnManager(),a=t.ranges;for(let e=0;e{let r=z_e(e.get(dg),t);return!!r&&(r.worksheet.setColumnCount(t.columnCount),!0)}},aEe={id:"sheet.mutation.set-worksheet-default-style",type:Bc.MUTATION,handler:(e,t)=>{let r=W_e(e.get(dg),t);if(!r)return!1;let{worksheet:n}=r,{defaultStyle:i}=t;return n.setDefaultCellStyle(i),!0}},oEe={id:"sheet.mutation.set-worksheet-row-count",type:Bc.MUTATION,handler:(e,t)=>{let r=z_e(e.get(dg),t);return!!r&&(r.worksheet.setRowCount(t.rowCount),!0)}},sEe=(e,t)=>{let{unitId:r,subUnitId:n,ranges:i}=e,a={},o=t.getRowManager();for(let{startRow:e,endRow:r}of i)for(let n=e;n{let{unitId:r,subUnitId:n,ranges:i}=e,a={},o=t.getRowManager();for(let{startRow:e,endRow:t}of i)for(let r=e;r<=t;r++){var s;a[r]=null==(s=o.getRow(r))?void 0:s.ia}return{unitId:r,subUnitId:n,ranges:i,autoHeightInfo:a}},uEe=(e,t)=>{let{unitId:r,subUnitId:n,rowsAutoHeightInfo:i}=e,a=[],o=t.getRowManager();for(let e of i){var s,l;let{row:r}=e;a.push({row:r,autoHeight:null==(s=null==(l=o.getRow(r))?void 0:l.ah)?t.getConfig().defaultRowHeight:s})}return{unitId:r,subUnitId:n,rowsAutoHeightInfo:a}},cEe={id:"sheet.mutation.set-worksheet-row-height",type:Bc.MUTATION,handler:(e,t)=>{let{ranges:r,rowHeight:n}=t,i=W_e(e.get(dg),t);if(!i)return!1;let{worksheet:a}=i,o=a.getRowManager();for(let{startRow:e,endRow:t}of r)for(let r=e;r<=t;r++)"number"==typeof n?o.setRowHeight(r,n):uu.isDefine(n[r])&&o.setRowHeight(r,n[r]);return!0}},dEe={id:"sheet.mutation.set-worksheet-row-is-auto-height",type:Bc.MUTATION,handler:(e,t)=>{let{ranges:r,autoHeightInfo:n}=t,i=W_e(e.get(dg),t);if(!i)return!1;let a=i.worksheet.getRowManager();for(let{startRow:e,endRow:t}of r)for(let r=e;r<=t;r++){let e=a.getRowOrCreate(r);var o;e.ia="number"==typeof n?n:null==(o=n[r])?void 0:o}return!0}},hEe={id:"sheet.mutation.set-worksheet-row-auto-height",type:Bc.MUTATION,handler:(e,t)=>{let{rowsAutoHeightInfo:r}=t,n=W_e(e.get(dg),t);if(!n)return!1;let i=n.worksheet.getRowManager();for(let{row:e,autoHeight:t}of r)i.getRowOrCreate(e).ah=t;return!0}},mEe={id:"sheet.mutation.toggle-gridlines",type:Bc.MUTATION,handler:(e,t)=>{let r=W_e(e.get(dg),t);if(!r)return!1;let{worksheet:n}=r;return n.getConfig().showGridlines=t.showGridlines,!0}},fEe={id:"sheet.operation.set-worksheet-active",type:Bc.OPERATION,handler:(e,t)=>{let r=e.get(dg).getUniverSheetInstance(t.unitId);if(!r)return!1;let n=r.getWorksheets();for(let[,e]of n)if(e.getSheetId()===t.subUnitId)return r.setActiveSheet(e),!0;return!1}};let gEe=function(e){return e.SET_WORKSHEET_ROW_HEIGHT="sheet.mutation.set-worksheet-row-height",e.SET_WORKSHEET_ROW_IS_AUTO_HEIGHT="sheet.mutation.set-worksheet-row-is-auto-height",e.SET_WORKSHEET_ROW_AUTO_HEIGHT="sheet.mutation.set-worksheet-row-auto-height",e.SET_WORKSHEET_COL_WIDTH="sheet.mutation.set-worksheet-col-width",e.SET_WORKSHEET_ACTIVE="sheet.operation.set-worksheet-active",e.MOVE_ROWS="sheet.mutation.move-rows",e.MOVE_COLUMNS="sheet.mutation.move-columns",e.SET_COL_HIDDEN="sheet.mutation.set-col-hidden",e.SET_COL_VISIBLE="sheet.mutation.set-col-visible",e.SET_ROW_HIDDEN="sheet.mutation.set-row-hidden",e.SET_ROW_VISIBLE="sheet.mutation.set-row-visible",e.INSERT_COL="sheet.mutation.insert-col",e.INSERT_ROW="sheet.mutation.insert-row",e.REMOVE_COL="sheet.mutation.remove-col",e.REMOVE_ROW="sheet.mutation.remove-rows",e.TOGGLE_GRIDLINES="sheet.mutation.toggle-gridlines",e.SET_GRIDLINES_COLOR="sheet.mutation.set-gridlines-color",e}({}),pEe=function(e){return e.SET_RANGE_VALUES="sheet.mutation.set-range-values",e.MOVE_RANGE="sheet.mutation.move-range",e.REMOVE_WORKSHEET_MERGE="sheet.mutation.remove-worksheet-merge",e.ADD_WORKSHEET_MERGE="sheet.mutation.add-worksheet-merge",e.REORDER_RANGE="sheet.mutation.reorder-range",e.SET_WORKSHEET_DEFAULT_STYLE="sheet.mutation.set-worksheet-default-style",e.SET_ROW_DATA="sheet.mutation.set-row-data",e.SET_COL_DATA="sheet.mutation.set-col-data",e.SET_WORKSHEET_RANGE_THEME_STYLE="sheet.mutation.set-worksheet-range-theme-style",e.DELETE_WORKSHEET_RANGE_THEME_STYLE="sheet.mutation.delete-worksheet-range-theme-style",e}({});const vEe=[cEe.id,dEe.id,hEe.id,nEe.id,fEe.id,Swe.id,Awe.id,Pwe.id,Dwe.id,tEe.id,eEe.id,wwe.id,ywe.id,Rwe.id,Iwe.id,mEe.id,Uwe.id,oEe.id,iEe.id],bEe=[Kwe.id,Ewe.id,Twe.id,q_e.id,Mwe.id,aEe.id,Jwe.id,kwe.id,vwe.id,bwe.id];function CEe(e){return null!=e&&(void 0!==e.v&&null!==e.v&&""!==e.v||void 0!==e.p)}function yEe(e,t){return e&&e.spanAnchor?CEe(t.getValue(e.spanAnchor.startRow,e.spanAnchor.startColumn)):CEe(e)}function _Ee(e,t,r,n){let{startRow:i,startColumn:a,endRow:o}=e,s=null,l=!1;for(let e=i;e<=o;e++){let i=t.getValue(e,a-r);if(l=l||yEe(i,t),!n&&l)break;i&&i.spanAnchor&&(s=s?{startRow:Math.min(i.spanAnchor.startRow,s.startRow),startColumn:Math.min(i.spanAnchor.startColumn,s.startColumn),endRow:Math.max(i.spanAnchor.endRow,s.endRow),endColumn:Math.max(i.spanAnchor.endColumn,s.endColumn)}:{startRow:i.spanAnchor.startRow,startColumn:i.spanAnchor.startColumn,endRow:i.spanAnchor.endRow,endColumn:i.spanAnchor.endColumn})}return l?(e.startColumn-=r,{spanAnchor:s,hasValue:!0,range:e}):s?{spanAnchor:Oh.simpleRangesIntersect(e,s)?s:null,hasValue:!1,range:e}:{spanAnchor:null,hasValue:!1,range:e}}function wEe(e,t,r,n){let{startRow:i,endColumn:a,endRow:o}=e,s=null,l=!1;for(let e=i;e<=o;e++){let i=t.getValue(e,a+r);if(l=l||yEe(i,t),!n&&l)break;i&&i.spanAnchor&&(s=s?{startRow:Math.min(i.spanAnchor.startRow,s.startRow),startColumn:Math.min(i.spanAnchor.startColumn,s.startColumn),endRow:Math.max(i.spanAnchor.endRow,s.endRow),endColumn:Math.max(i.spanAnchor.endColumn,s.endColumn)}:{startRow:i.spanAnchor.startRow,startColumn:i.spanAnchor.startColumn,endRow:i.spanAnchor.endRow,endColumn:i.spanAnchor.endColumn})}return l?(e.endColumn+=r,{spanAnchor:s,hasValue:!0,range:e}):s?{spanAnchor:Oh.simpleRangesIntersect(e,s)?s:null,hasValue:!1,range:e}:{spanAnchor:null,hasValue:!1,range:e}}function EEe(e,t,r,n){let{startRow:i,startColumn:a,endColumn:o}=e,s=null,l=!1;for(let e=a;e<=o;e++){let a=t.getValue(i-r,e);if(l=l||yEe(a,t),!n&&l)break;a&&a.spanAnchor&&(s=s?{startRow:Math.min(a.spanAnchor.startRow,s.startRow),startColumn:Math.min(a.spanAnchor.startColumn,s.startColumn),endRow:Math.max(a.spanAnchor.endRow,s.endRow),endColumn:Math.max(a.spanAnchor.endColumn,s.endColumn)}:{startRow:a.spanAnchor.startRow,startColumn:a.spanAnchor.startColumn,endRow:a.spanAnchor.endRow,endColumn:a.spanAnchor.endColumn})}return l?(e.startRow-=r,{spanAnchor:s,hasValue:!0,range:e}):s?{spanAnchor:Oh.simpleRangesIntersect(e,s)?s:null,hasValue:!1,range:e}:{spanAnchor:null,hasValue:!1,range:e}}function SEe(e,t,r,n){let{startColumn:i,endColumn:a,endRow:o}=e,s=null,l=!1;for(let e=i;e<=a;e++){let i=t.getValue(o+r,e);if(l=l||yEe(i,t),!n&&l)break;i&&i.spanAnchor&&(s=s?{startRow:Math.min(i.spanAnchor.startRow,s.startRow),startColumn:Math.min(i.spanAnchor.startColumn,s.startColumn),endRow:Math.max(i.spanAnchor.endRow,s.endRow),endColumn:Math.max(i.spanAnchor.endColumn,s.endColumn)}:{startRow:i.spanAnchor.startRow,startColumn:i.spanAnchor.startColumn,endRow:i.spanAnchor.endRow,endColumn:i.spanAnchor.endColumn})}return l?(e.endRow+=r,{spanAnchor:s,hasValue:!0,range:e}):s?{spanAnchor:Oh.simpleRangesIntersect(e,s)?s:null,hasValue:!1,range:e}:{spanAnchor:null,hasValue:!1,range:e}}function AEe({range:e,allMatrixWithSpan:t,directions:r,isWorksheetHasSpan:n,maxRow:i,maxColumn:a}){let{left:o,right:s,up:l,down:u}=r,{startRow:c,startColumn:d,endRow:h,endColumn:m}=e,f=!1;if(o&&l&&c>0&&d>0){let r=t.getValue(c-1,d-1);yEe(r,t)&&(n&&r.spanAnchor?(e.startRow=r.spanAnchor.startRow,e.startColumn=r.spanAnchor.startColumn):(e.startRow=c-1,e.startColumn=d-1),f=!0)}if(s&&l&&c>0&&m0){let r=t.getValue(h+1,d-1);yEe(r,t)&&(n&&r.spanAnchor?(e.endRow=r.spanAnchor.endRow,e.startColumn=r.spanAnchor.startColumn):(e.endRow=h+1,e.startColumn=d-1),f=!0)}if(s&&u&&h{let r=a.getValue(e,t);r&&s.setValue(e,t,r)}),o.forEach(e=>{let{startColumn:t,startRow:r,endColumn:n,endRow:i}=e;Bh(r,i,t,n).forEach((e,o)=>{e===r&&o===t&&s.setValue(e,o,{...a.getValue(e,o),spanAnchor:{startRow:r,endRow:i,startColumn:t,endColumn:n}}),(e!==r||o!==t)&&(s.realDeleteValue(e,o),s.setValue(e,o,{spanAnchor:{startRow:r,endRow:i,startColumn:t,endColumn:n}}))})}),s}(r,0,0,n-1,i-1),o=r.getSnapshot().mergeData.length>0,{left:s,right:l,up:u,down:c}=t,d=!0,h={...e},m=[];for(;d;){d=!1;let e=AEe({range:h,allMatrixWithSpan:a,directions:t,isWorksheetHasSpan:o,maxRow:n,maxColumn:i});if(e.hasValue)h=e.range,d=!0;else{if(u&&0!==h.startRow){let{hasValue:e,range:t,spanAnchor:r}=EEe(h,a,1,o);if(r&&m.push(r),e){h=t,d=!0;continue}}if(c&&h.endRow!==n-1){let{hasValue:e,range:t,spanAnchor:r}=SEe(h,a,1,o);if(r&&m.push(r),e){h=t,d=!0;continue}}if(s&&0!==h.startColumn){let{hasValue:e,range:t,spanAnchor:r}=_Ee(h,a,1,o);if(r&&m.push(r),e){h=t,d=!0;continue}}if(l&&h.endColumn!==i-1){let{hasValue:e,range:t,spanAnchor:r}=wEe(h,a,1,o);if(r&&m.push(r),e){h=t,d=!0;continue}}}}return m.length>0&&(h=Oh.union(h,...m)),h}const REe=e=>{let t=e;return t.forValue((r,n)=>{let i=e.getValue(r-1,n);i&&t.setValue(r,n,i+1)}),t},xEe=e=>{let t={area:0},r=(e,r)=>t.area{let a=1,o=i;r(a*o,{startRow:t-o+1,endRow:t,startColumn:n,endColumn:n});let s={startRow:t-o+1,endRow:t,startColumn:0,endColumn:n};for(let i=n-1;i>=0&&e.getValue(t,i);i--){o=Math.min(e.getValue(t,i)||0,o),a++;let n=o*a;s.startColumn=i,s.startRow=t-o+1,r(n,s)}}),t},TEe=(e,t)=>{Sh.foreach(t,(t,r)=>{e.realDeleteValue(t,r)});for(let r=t.startColumn;r<=t.endColumn;r++){let n=t.endRow+1;if(e.getValue(n,r)>0){e.setValue(n,r,1);let t=n+1;for(;e.getValue(t,r)>0;)e.setValue(t,r,e.getValue(t-1,r)+1),t++}}return e},NEe=e=>{let t=[],r=xEe(e);for(;r.area>0;)r.range&&(t.push(r.range),TEe(e,r.range)),r=xEe(e);return t},MEe=e=>NEe((e=>{let t=new kd;return e.forEach(e=>{Sh.foreach(e,(e,r)=>{t.setValue(e,r,1)})}),t.forValue((e,r)=>{let n=t.getValue(e-1,r);n&&t.setValue(e,r,n+1)}),t})(e));var OEe=class{constructor(){$_e(this,"_matrix",new kd)}add(...e){return e.forEach(e=>{Sh.foreach(e,(e,t)=>{this._matrix.setValue(e,t,1)})}),this}subtract(...e){return e.forEach(e=>{Sh.foreach(e,(e,t)=>{this._matrix.realDeleteValue(e,t)})}),this}merge(){return NEe(REe(this._matrix))}};const LEe=1.5,kEe="rgba(255, 255, 255, 0.01)";function PEe(e){let{rangeWithCoord:t,primaryWithCoord:r,style:n}=e,i={range:{startRow:t.startRow,startColumn:t.startColumn,endRow:t.endRow,endColumn:t.endColumn,rangeType:t.rangeType,unitId:t.unitId,sheetId:t.sheetId},primary:null,style:n};return null!=r&&(i.primary=DEe(r)),i}function DEe(e){let{actualRow:t,actualColumn:r,isMerged:n,isMergedMainCell:i}=e,{startRow:a,startColumn:o,endRow:s,endColumn:l}=e.mergeInfo;return{actualRow:t,actualColumn:r,isMerged:n,isMergedMainCell:i,startRow:a,startColumn:o,endRow:s,endColumn:l}}let UEe=function(e){return e[e.Tab=1]="Tab",e[e.Comma=2]="Comma",e[e.Semicolon=4]="Semicolon",e[e.Space=8]="Space",e[e.Custom=16]="Custom",e}({});var BEe=class{constructor(){$_e(this,"_tabCount",0),$_e(this,"_commaCount",0),$_e(this,"_semicolonCount",0),$_e(this,"_spaceCount",0)}add(e){switch(e){case"\t":this._tabCount++;break;case",":this._commaCount++;break;case";":this._semicolonCount++;break;case" ":this._spaceCount++}}update(e){e&&"string"==typeof e&&(e.includes("\t")&&this._tabCount++,e.includes(",")&&this._commaCount++,e.includes(";")&&this._semicolonCount++,e.trim().includes(" ")&&this._spaceCount++)}getDelimiter(){let e=Math.max(this._tabCount,this._commaCount,this._semicolonCount,this._spaceCount);return 0===e||e===this._tabCount?UEe.Tab:e===this._commaCount?UEe.Comma:e===this._semicolonCount?UEe.Semicolon:e===this._spaceCount?UEe.Space:UEe.Tab}};function VEe(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function FEe(e){if(null!=e){if(e.p)return(e=>{var t;return(null==(t=e.body)?void 0:t.dataStream.replace(/\r\n$/,""))||""})(e.p);if(e.v&&"string"==typeof e.v)return e.v;if(e.t&&(e.t===Fu.FORCE_STRING||e.t===Fu.STRING))return String(e.v)}}function jEe(e){return null!=e&&(void 0!==e.v&&null!==e.v&&""!==e.v||void 0!==e.p)}function HEe(e){let t=new kd;return e.forEach(e=>{let{startRow:r,startColumn:n,endRow:i,endColumn:a}=e;for(let e=r;e<=i;e++)for(let r=n;r<=a;r++)t.setValue(e,r,null)}),t.clone()}function WEe(e){let t=new kd;return e.forEach(e=>{let{startRow:r,startColumn:n,endRow:i,endColumn:a}=e;for(let e=r;e<=i;e++)for(let r=n;r<=a;r++)t.setValue(e,r,{v:null,p:null,f:null,si:null,custom:null})}),t.clone()}function zEe(e){let t=new kd;return e.forEach(e=>{let{startRow:r,startColumn:n,endRow:i,endColumn:a}=e;for(let e=r;e<=i;e++)for(let r=n;r<=a;r++)t.setValue(e,r,{s:null})}),t.clone()}function XEe(e){let{rows:t,cols:r}=e;return{startRow:t[0],endRow:t[t.length-1],startColumn:r[0],endColumn:r[r.length-1]}}function qEe(e,t,r,n){let i=t.get(dg),a=r?i.getUnit(r,Pi.UNIVER_SHEET):i.getCurrentUnitForType(Pi.UNIVER_SHEET),o=n?null==a?void 0:a.getSheetBySheetId(n):null==a?void 0:a.getActiveSheet();if(!o)return null;let{startRow:s,endRow:l,startColumn:u,endColumn:c}=e,d=[],h=[];for(let e=s;e<=l;e++)o.getRowFiltered(e)||d.push(e);for(let e=u;e<=c;e++)h.push(e);return{rows:d,cols:h}}function GEe(e,t,r,n){let i=W_e(t.get(dg),{unitId:r,subUnitId:n});if(!i)return e;let{worksheet:a}=i,o=[];for(let t of e){let{startRow:e,endRow:r,startColumn:n,endColumn:i}=t,s=[],l=e;for(let t=e;t<=r;t++)a.getRowFiltered(t)?(le.startColumn===n&&e.endColumn===i);u>-1?o[u].rowIntervals=o[u].rowIntervals.concat(s):o.push({startColumn:n,endColumn:i,rowIntervals:s})}let s=[];for(let e of o){let{startColumn:t,endColumn:r,rowIntervals:n}=e,i=eh(n);for(let[e,n]of i)s.push({startRow:e,endRow:n,startColumn:t,endColumn:r})}return s}let YEe=function(e){return e.OthersCanView="othersCanView",e.NoOneElseCanView="noOneElseCanView",e}({}),QEe=function(e){return e.DesignedUserCanEdit="designedUserCanEdit",e.OnlyMe="onlyMe",e}({});var ZEe=class{constructor(){$_e(this,"_model",new Map),$_e(this,"_ruleChange$",new On),$_e(this,"ruleChange$",this._ruleChange$.asObservable()),$_e(this,"_ruleRefresh$",new On),$_e(this,"ruleRefresh$",this._ruleRefresh$.asObservable()),$_e(this,"_rangeRuleInitStateChange",new Qn(!1)),$_e(this,"rangeRuleInitStateChange$",this._rangeRuleInitStateChange.asObservable())}dispose(){this._ruleChange$.complete(),this._ruleRefresh$.complete()}ruleRefresh(e){this._ruleRefresh$.next(e)}getRangeRuleInitState(){return this._rangeRuleInitStateChange.value}changeRuleInitState(e){this._rangeRuleInitStateChange.next(e)}addRule(e,t,r){this._ensureRuleMap(e,t).set(r.id,r),this._ruleChange$.next({unitId:e,subUnitId:t,rule:r,type:"add"})}deleteRule(e,t,r){var n;let i=null==(n=this._model.get(e))||null==(n=n.get(t))?void 0:n.get(r);var a;i&&(null==(a=this._model.get(e))||null==(a=a.get(t))||a.delete(r),this._ruleChange$.next({unitId:e,subUnitId:t,rule:i,type:"delete"}))}setRule(e,t,r,n){let i=this.getRule(e,t,r);var a;i&&(null==(a=this._model.get(e))||null==(a=a.get(t))||a.set(r,n),this._ruleChange$.next({unitId:e,subUnitId:t,oldRule:i,rule:n,type:"set"}))}getRule(e,t,r){var n;return null==(n=this._model.get(e))||null==(n=n.get(t))?void 0:n.get(r)}getSubunitRuleList(e,t){var r;return[...((null==(r=this._model.get(e))?void 0:r.get(t))||new Map).values()]}getSubunitRuleListLength(e,t){var r;let n=null==(r=this._model.get(e))?void 0:r.get(t);return n?n.size:0}_ensureRuleMap(e,t){let r=this._model.get(e);r||(r=new Map,this._model.set(e,r));let n=r.get(t);return n||(n=new Map,r.set(t,n)),n}toObject(){let e={};return[...this._model.keys()].forEach(t=>{let r=this._model.get(t),n=[...r.keys()];e[t]={},n.forEach(n=>{let i=r.get(n);e[t][n]=[...i.values()]})}),e}fromObject(e){let t=new Map;Object.keys(e).forEach(r=>{let n=e[r],i=new Map;Object.keys(n).forEach(e=>{let t=n[e].reduce((e,t)=>(e.set(t.id,t),e),new Map);i.set(e,t)}),t.set(r,i)}),this._model=t}deleteUnitModel(e){this._model.delete(e)}createRuleId(e,t){let r=cu(4),n=this._ensureRuleMap(e,t);for(;n.has(r);)r=cu(4);return r}getTargetByPermissionId(e,t){let r=this._model.get(e);if(!r)return null;for(let[n,i]of r)for(let r of i.values())if(r.permissionId===t)return[e,n];return null}};const KEe={id:"sheet.mutation.delete-range-protection",type:Bc.MUTATION,handler:(e,t)=>{let{unitId:r,subUnitId:n,ruleIds:i}=t,a=e.get(ZEe);return i.forEach(e=>{a.deleteRule(r,n,e)}),!0}},$Ee={id:"sheet.mutation.add-range-protection",type:Bc.MUTATION,handler:(e,t)=>{let{unitId:r,subUnitId:n,rules:i}=t,a=e.get(ZEe);return i.forEach(e=>{a.addRule(r,n,e)}),!0}},JEe={type:Bc.COMMAND,id:"sheet.command.add-range-protection",async handler(e,t){if(!t)return!1;let r=e.get(Vc),n=e.get(Pg),i=e.get(ZEe),{rule:a,permissionId:o}=t,{unitId:s,subUnitId:l,ranges:u,description:c,viewState:d,editState:h}=a,m=[{ranges:u,permissionId:o,id:i.createRuleId(s,l),description:c,unitType:a.unitType,unitId:s,subUnitId:l,viewState:d,editState:h}];if(await r.executeCommand($Ee.id,{unitId:s,subUnitId:l,rules:m})){let e=[{id:$Ee.id,params:{unitId:s,subUnitId:l,rules:m}}],t=[{id:KEe.id,params:{unitId:s,subUnitId:l,ruleIds:m.map(e=>e.id)}}];n.pushUndoRedo({unitID:s,redoMutations:e,undoMutations:t})}return!0}};let eSe=function(e){return e[e.MOVE_START=0]="MOVE_START",e[e.MOVING=1]="MOVING",e[e.MOVE_END=2]="MOVE_END",e[e.ONLY_SET=3]="ONLY_SET",e}({});var tSe=class extends tu{constructor(e){super(),this._workbook=e,$_e(this,"_worksheetSelections",new Map),$_e(this,"_worksheetLastSelectionPrimaryCell",new Map),$_e(this,"_selectionMoveStart$",new On),$_e(this,"selectionMoveStart$",this._selectionMoveStart$.asObservable()),$_e(this,"_selectionMoving$",new On),$_e(this,"selectionMoving$",this._selectionMoving$.asObservable()),$_e(this,"_selectionMoveEnd$",new Qn([])),$_e(this,"selectionMoveEnd$",this._selectionMoveEnd$.asObservable()),$_e(this,"_selectionSet$",new Qn([])),$_e(this,"selectionSet$",this._selectionSet$.asObservable()),$_e(this,"selectionChanged$",void 0),$_e(this,"_beforeSelectionMoveEnd$",new Qn([])),$_e(this,"beforeSelectionMoveEnd$",this._beforeSelectionMoveEnd$.asObservable()),this.selectionChanged$=Ei(this._selectionMoveEnd$,this._selectionSet$)}dispose(){super.dispose(),this._beforeSelectionMoveEnd$.complete(),this._selectionMoveEnd$.complete(),this._selectionMoving$.complete(),this._selectionMoveStart$.complete(),this._selectionSet$.complete(),this._workbook=null,this.clear()}addSelections(e,t){let r=this.getSelectionsOfWorksheet(e);r.push(...t),this._selectionSet$.next(r)}setSelections(e,t=[],r){switch(this.setSelectionsOfWorksheet(e,t),r){case eSe.MOVE_START:this._selectionMoveStart$.next(t);break;case eSe.MOVING:this._selectionMoving$.next(t);break;case eSe.MOVE_END:this._beforeSelectionMoveEnd$.next(t),this._selectionMoveEnd$.next(t);break;case eSe.ONLY_SET:default:this._selectionSet$.next(t)}}getCurrentSelections(){return this._getCurrentSelections()}getSelectionOfWorksheet(e){return this.getSelectionsOfWorksheet(e)}getSelectionsOfWorksheet(e){return this._worksheetSelections.has(e)||this._worksheetSelections.set(e,[]),this._worksheetSelections.get(e)}getLastSelectionPrimaryCellOfWorksheet(e){var t;return null==(t=this._worksheetLastSelectionPrimaryCell.get(e))?null:t}setSelectionsOfWorksheet(e,t){this._worksheetSelections.set(e,[...t]),t.length>0&&t[t.length-1].primary&&this._worksheetLastSelectionPrimaryCell.set(e,t[t.length-1].primary)}deleteSheetSelection(e){this._worksheetSelections.set(e,[]),this._worksheetLastSelectionPrimaryCell.delete(e)}clear(){this._worksheetSelections.clear(),this._worksheetLastSelectionPrimaryCell.clear(),this._selectionSet$.next([])}_getCurrentSelections(){return this.getSelectionsOfWorksheet(this._workbook.getActiveSheet().getSheetId())}getCurrentLastSelection(){let e=this._getCurrentSelections();return e[e.length-1]}};let rSe=class extends ru{get _currentSelectionPos(){let e=this._instanceSrv.getCurrentUnitForType(Pi.UNIVER_SHEET);if(!e)return null;let t=e.getActiveSheet();return{unitId:e.getUnitId(),sheetId:t.getSheetId()}}get currentSelectionParam(){return this._currentSelectionPos}constructor(e){super(),this._instanceSrv=e,$_e(this,"_cellStylesCache",new Map),$_e(this,"selectionMoveStart$",void 0),$_e(this,"selectionMoving$",void 0),$_e(this,"selectionMoveEnd$",void 0),$_e(this,"selectionSet$",void 0),$_e(this,"selectionChanged$",void 0),$_e(this,"_workbookSelections",new Map),this._init()}_init(){let e=this._instanceSrv.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET).pipe(LL(1),jX(this.dispose$));this.selectionMoveStart$=e.pipe().pipe(aq(e=>e?this._ensureWorkbookSelection(e.getUnitId()).selectionMoveStart$:Ai())).pipe(jX(this.dispose$)),this.selectionMoving$=e.pipe(aq(e=>e?this._ensureWorkbookSelection(e.getUnitId()).selectionMoving$:Ai())).pipe(jX(this.dispose$)),this.selectionMoveEnd$=e.pipe(aq(e=>e?this._ensureWorkbookSelection(e.getUnitId()).selectionMoveEnd$:Ai([]))).pipe(jX(this.dispose$)),this.selectionSet$=e.pipe(aq(e=>e?this._ensureWorkbookSelection(e.getUnitId()).selectionSet$:Ai([]))).pipe(jX(this.dispose$)),this.selectionChanged$=e.pipe(aq(e=>e?this._ensureWorkbookSelection(e.getUnitId()).selectionChanged$:Ai([]))).pipe(Zn((e,t)=>e.length===t.length&&(0===e.length&&0===t.length||e.every((e,r)=>JSON.stringify(e)===JSON.stringify(t[r])))),Si(1)).pipe(jX(this.dispose$)),this.disposeWithMe(this._instanceSrv.getTypeOfUnitDisposed$(Pi.UNIVER_SHEET).pipe(jX(this.dispose$)).subscribe(e=>{this._removeWorkbookSelection(e.getUnitId())})),this.disposeWithMe(this.selectionChanged$.pipe(jX(this.dispose$)).subscribe(()=>{this._cellStylesCache.clear()}))}dispose(){super.dispose(),this._cellStylesCache.clear(),this._workbookSelections.forEach(e=>e.dispose()),this._workbookSelections.clear(),this.selectionMoveStart$=Ai(null),this.selectionMoving$=Ai(null),this.selectionMoveEnd$=Ai([]),this.selectionSet$=Ai(null),this.selectionChanged$=Ai(null)}clear(){this._workbookSelections.forEach(e=>e.clear())}getCurrentSelections(){return this._getCurrentSelections()}getCurrentLastSelection(){let e=this._getCurrentSelections();return null==e?void 0:e[e.length-1]}getCurrentLastSelectionPrimaryCell(){let e=this._currentSelectionPos;if(!e)return null;let{unitId:t,sheetId:r}=e;return this._ensureWorkbookSelection(t).getLastSelectionPrimaryCellOfWorksheet(r)}addSelections(e,t,r){if("string"==typeof e)return void this._ensureWorkbookSelection(e).addSelections(t,r);let n=this._currentSelectionPos;if(!n)throw Error("[SheetsSelectionsService]: cannot find current selection position!");let{unitId:i,sheetId:a}=n;this._ensureWorkbookSelection(i).addSelections(a,e)}setSelections(e,t,r,n){if("string"==typeof e&&"string"==typeof t){let i=e;return void this._ensureWorkbookSelection(i).setSelections(t,r||[],null==n?eSe.ONLY_SET:n)}let i=this._currentSelectionPos;if(!i)throw Error("[SheetsSelectionsService]: cannot find current selection position!");let{unitId:a,sheetId:o}=i;if("object"==typeof e){var s;let n=null==e?r:e,i=null==(s=t)?eSe.ONLY_SET:s;this._ensureWorkbookSelection(a).setSelections(o,n,i)}}clearCurrentSelections(){this._getCurrentSelections().splice(0)}isOverlapping(){let e=this.getCurrentSelections();return null!=e&&e.some(({range:t},r)=>e.some(({range:e},n)=>r!==n&&t.startRow<=e.endRow&&t.endRow>=e.startRow&&t.startColumn<=e.endColumn&&t.endColumn>=e.startColumn))}_getCurrentSelections(){let e=this._currentSelectionPos;if(!e)return[];let{unitId:t,sheetId:r}=e;return this._ensureWorkbookSelection(t).getSelectionsOfWorksheet(r)}getWorkbookSelections(e){return this._ensureWorkbookSelection(e)}_ensureWorkbookSelection(e){let t=this._workbookSelections.get(e);if(!t){let r=this._instanceSrv.getUnit(e);if(!r)throw Error(`[SheetsSelectionsService]: cannot resolve unit with id "${e}"!`);t=new tSe(r),this._workbookSelections.set(e,t)}return t}_removeWorkbookSelection(e){this._workbookSelections.delete(e)}getCellStylesProperty(e){var t;let r=null==(t=this._instanceSrv.getCurrentUnitForType(Pi.UNIVER_SHEET))?void 0:t.getActiveSheet(),n=this.getCurrentSelections();if(!r||0===n.length)return{isAllValuesSame:!1,value:null};let i=null;for(let t=0;t{var r;let n=e.get(dg),i=e.get(Vc),a=e.get(rSe),o=e.get(Pg),s=e.get(iwe),l=n.getCurrentUnitForType(Pi.UNIVER_SHEET);if(!l)return!1;let u=(null==t?void 0:t.unitId)||l.getUnitId(),c=l.getActiveSheet();if(!c)return!1;let d=(null==t?void 0:t.subUnitId)||c.getSheetId(),h=(null==t?void 0:t.ranges)||(null==(r=a.getCurrentSelections())?void 0:r.map(e=>e.range));if(null==h||!h.length)return!1;let m=[],f=[],g={subUnitId:d,unitId:u,cellValue:HEe(GEe(h,e,u,d))},p=Zwe(e,g);m.push({id:Kwe.id,params:g}),f.push({id:Kwe.id,params:p});let v=s.onCommandExecute({id:aSe.id});return m.push(...v.redos),f.unshift(...v.undos),!!zc(m,i)&&(o.pushUndoRedo({unitID:u,undoMutations:f,redoMutations:m}),!0)}},oSe={id:"sheet.command.clear-selection-format",type:Bc.COMMAND,handler:(e,t)=>{var r;let n=e.get(dg),i=e.get(Vc),a=e.get(rSe),o=e.get(Pg),s=e.get(iwe),l=n.getCurrentUnitForType(Pi.UNIVER_SHEET);if(!l)return!1;let u=(null==t?void 0:t.unitId)||l.getUnitId(),c=l.getActiveSheet();if(!c)return!1;let d=(null==t?void 0:t.subUnitId)||c.getSheetId(),h=(null==t?void 0:t.ranges)||(null==(r=a.getCurrentSelections())?void 0:r.map(e=>e.range));if(null==h||!h.length)return!1;let m=[],f=[],g={subUnitId:d,unitId:u,cellValue:zEe(GEe(h,e,u,d))},p=Zwe(e,g);m.push({id:Kwe.id,params:g}),f.push({id:Kwe.id,params:p});let v=s.onCommandExecute({id:oSe.id});return m.push(...v.redos),f.unshift(...v.undos),!!zc(m,i)&&(o.pushUndoRedo({unitID:u,undoMutations:f,redoMutations:m}),!0)}};function sSe(e,t,r=!0){let n=t.getMatrixWithMergedCells(...function(e){return[e.startRow,e.startColumn,e.endRow,e.endColumn]}(e)),i=[];if(n.forValue((t,r,n)=>{if(void 0!==n.colSpan&&void 0!==n.rowSpan){let a={startRow:t,startColumn:r,endRow:t+n.rowSpan-1,endColumn:r+n.colSpan-1};Oh.contains(e,a)||i.push(a)}}),0===i.length)return e;let a=Oh.union(e,...i);return r?sSe(a,t,r):a}function lSe(e,t,r){let n=null;return r.getMatrixWithMergedCells(e,t,e,t).forValue((e,t,r)=>(n={actualRow:e,actualColumn:t,startRow:e,startColumn:t,isMerged:void 0!==r.rowSpan||void 0!==r.colSpan,isMergedMainCell:void 0!==r.rowSpan&&void 0!==r.colSpan,endRow:e+(void 0===r.rowSpan?0:r.rowSpan-1),endColumn:t+(void 0===r.colSpan?0:r.colSpan-1),rangeType:pd.NORMAL},!1)),n||{actualColumn:t,actualRow:e,startRow:e,startColumn:t,endRow:e,endColumn:t,isMerged:!1,isMergedMainCell:!1,rangeType:pd.NORMAL}}function uSe(e,t,r){let{startRow:n,startColumn:i,endRow:a,endColumn:o}=e;return Number.isNaN(n)&&(e.startRow=0),Number.isNaN(a)&&(e.endRow=t-1),Number.isNaN(i)&&(e.startColumn=0),Number.isNaN(o)&&(e.endColumn=r-1),e}function cSe(e,t){let r=Number.isNaN(e.startRow)?0:e.startRow,n=Number.isNaN(e.startColumn)?0:e.startColumn,i=t.getMergedCell(r,n);return i?{...i,actualRow:r,actualColumn:n,rangeType:pd.NORMAL,isMerged:!0,isMergedMainCell:!0}:{startRow:r,startColumn:n,endRow:e.startRow,endColumn:e.startColumn,actualRow:r,actualColumn:n,rangeType:pd.NORMAL,isMerged:!1,isMergedMainCell:!1}}const dSe=(e,t,r)=>({id:vSe.id,params:{unitId:t.getUnitId(),subUnitId:r.getSheetId(),reveal:!0,selections:[{range:e,primary:cSe(e,r)}]}}),hSe=e=>e.id!==Q_e;function mSe(e,t,r,n,i,a,o){let s={};for(let l=t;l<=r;l++)for(let t=n;t<=i;t++){let r=a?e.getCellWithFilteredInterceptors(o,t,Z_e,hSe):e.getCellWithFilteredInterceptors(l,o,Z_e,hSe);!r||!r.s||(s[l]||(s[l]={}),s[l][t]={s:r.s})}for(let e in s){for(let t in s[e]){let r=s[e][t];r.s&&"object"==typeof r.s&&uu.isEmptyObject(r.s)&&delete r.s,uu.isEmptyObject(r)&&delete s[e][t]}uu.isEmptyObject(s[e])&&delete s[e]}return s}const fSe=V("sheets-formula.ref-selections.service");let gSe=class extends rSe{constructor(e){super(e)}_init(){let e=this._getAliveWorkbooks$().pipe(jX(this.dispose$));this.selectionMoveStart$=e.pipe(aq(e=>Ei(...e.map(e=>e.selectionMoveStart$)))),this.selectionMoving$=e.pipe(aq(e=>Ei(...e.map(e=>e.selectionMoving$)))),this.selectionMoveEnd$=e.pipe(aq(e=>Ei(...e.map(e=>e.selectionMoveEnd$)))),this.selectionSet$=e.pipe(aq(e=>Ei(...e.map(e=>e.selectionSet$))))}dispose(){super.dispose(),this.selectionMoveStart$=Ai(null),this.selectionMoving$=Ai(null),this.selectionMoveEnd$=Ai(null),this.selectionSet$=Ai(null),delete this._instanceSrv,this._workbookSelections.clear()}_getAliveWorkbooks$(){let e=this._instanceSrv.getAllUnitsForType(Pi.UNIVER_SHEET);e.forEach(e=>this._ensureWorkbookSelection(e.getUnitId()));let t=new Qn(e);return this.disposeWithMe(this._instanceSrv.getTypeOfUnitAdded$(Pi.UNIVER_SHEET).subscribe(e=>{this._ensureWorkbookSelection(e.getUnitId()),t.next([...t.getValue(),e])})),this.disposeWithMe(this._instanceSrv.getTypeOfUnitDisposed$(Pi.UNIVER_SHEET).subscribe(e=>{this._removeWorkbookSelection(e.getUnitId()),t.next(t.getValue().filter(t=>t!==e))})),t.pipe(Yn(e=>e.map(e=>this._ensureWorkbookSelection(e.getUnitId()))))}};function pSe(e,t){let r=e.get(Mc).getContextValue(iSe);return e.get(r&&!t?fSe:rSe)}gSe=ewe([J_e(0,dg)],gSe);const vSe={id:"sheet.operation.set-selections",type:Bc.OPERATION,handler:(e,t)=>{if(!t)return!1;let{selections:r,type:n,unitId:i,subUnitId:a}=t;return pSe(e).setSelections(i,a,[...r],n),!0}},bSe={id:"sheet.command.select-range",type:Bc.COMMAND,handler:(e,t)=>{if(!t)return!1;let{unitId:r,subUnit:n,range:i}=t,a=e.get(Vc),o=W_e(e.get(dg),t);if(!o)return!1;let s=[{range:i,primary:cSe(i,o.worksheet),style:null}];return a.syncExecuteCommand(vSe.id,{unitId:r,subUnitId:n,selections:s})}},CSe="sheet.command.move-range",ySe={type:Bc.COMMAND,id:CSe,handler:async(e,t)=>{let r=e.get(Vc),n=e.get(Pg),i=e.get(Of),a=e.get(Cg);if(!await e.get(iwe).beforeCommandExecute({id:ySe.id,params:t}))return!1;let o=_Se(e,t);return o?!!zc(o.redos,r).result&&(n.pushUndoRedo({unitID:o.unitId,undoMutations:o.undos,redoMutations:o.redos}),!0):(i.emit(a.t("sheets.info.acrossMergedCell")),!1)}};function _Se(e,t,r={}){var n,i;let{includeSelection:a=!0,includeAfterCommand:o=!0,includeAutoHeight:s=!0}=r,l=function(e,t){var r,n,i,a,o;let s=e.get(dg),l=W_e(s),u=null==(r=null==(n=t.toUnitId)?t.fromUnitId:n)?null==l?void 0:l.unitId:r,c=null==(i=t.fromSubUnitId)?null==l?void 0:l.subUnitId:i,d=null==(a=null==(o=t.toSubUnitId)?t.fromSubUnitId:o)?null==l?void 0:l.subUnitId:a;if(!u||!c||!d||t.fromUnitId&&t.toUnitId&&t.fromUnitId!==t.toUnitId)return null;let h=s.getUniverSheetInstance(u),m=null==h?void 0:h.getSheetBySheetId(c),f=null==h?void 0:h.getSheetBySheetId(d);return m&&f?{unitId:u,fromSubUnitId:c,toSubUnitId:d,fromWorksheet:m,toWorksheet:f}:null}(e,t);if(!l)return null;let u=e.get(iwe),{unitId:c,fromSubUnitId:d,toSubUnitId:h,fromWorksheet:m,toWorksheet:f}=l,g=wSe(e,{unitId:c,subUnitId:d,range:t.fromRange},{unitId:c,subUnitId:h,range:t.toRange});if(null===g)return null;let p={id:ySe.id,params:t},v=u.onCommandExecute(p),b=[...null==(n=v.preRedos)?[]:n,...g.redos,...v.redos],C=[...null==(i=v.preUndos)?[]:i,...g.undos,...v.undos];if(a&&(b.push({id:vSe.id,params:{unitId:c,subUnitId:h,selections:[{range:t.toRange,primary:ESe(t.fromRange,t.toRange,m,f)}],type:eSe.MOVE_END}}),C.push({id:vSe.id,params:{unitId:c,subUnitId:d,selections:[{range:t.fromRange,primary:cSe(t.fromRange,m)}],type:eSe.MOVE_END}})),o){let e=u.afterCommandExecute(p);b.push(...e.redos),C.push(...e.undos)}if(s){let{undos:e,redos:r}=u.generateMutationsOfAutoHeight({unitId:c,subUnitId:h,ranges:d===h?[t.fromRange,t.toRange]:[t.toRange]});b.push(...r),C.push(...e)}return{unitId:c,redos:b,undos:C}}function wSe(e,t,r,n=!1){let i=[],a=[],{range:o,subUnitId:s,unitId:l}=t,{range:u,subUnitId:c}=r,d=e.get(dg).getUniverSheetInstance(l),h=null==d?void 0:d.getSheetBySheetId(c),m=null==d?void 0:d.getSheetBySheetId(s),f=null==h?void 0:h.getCellMatrix(),g=null==m?void 0:m.getCellMatrix();if(h&&m&&f&&g){let e=sSe(u,h,!1);if(!Oh.equals(u,e)&&!n)return null;let m=new kd,p=new kd,v=new kd;Sh.foreach(o,(e,t)=>{let r=g.getValue(e,t);if(m.setValue(e,t,uu.deepClone(r)),r){let n=null==d?void 0:d.getStyles().get(r.s);v.setValue(e,t,uu.deepClone(n))}p.setValue(e,t,null)});let b=new kd,C=new kd;Sh.foreach(u,(e,t)=>{b.setValue(e,t,uu.deepClone(f.getValue(e,t)))}),Sh.foreach(o,(e,t)=>{let r=zd(e,t),n=Oh.getRelativeRange(r,o),i=Oh.getPositionRange(n,u),a=uu.deepClone(v.getValue(e,t)),s=uu.deepClone(m.getValue(e,t));s&&a&&(s.s=a),C.setValue(i.startRow,i.startColumn,s)});let y={fromRange:t.range,toRange:r.range,from:{value:p.getMatrix(),subUnitId:s},to:{value:C.getMatrix(),subUnitId:c},unitId:l},_={fromRange:r.range,toRange:t.range,from:{value:m.getMatrix(),subUnitId:s},to:{value:b.getMatrix(),subUnitId:c},unitId:l};i.push({id:Ewe.id,params:y}),a.push({id:Ewe.id,params:_})}return{redos:i,undos:a}}function ESe(e,t,r,n=r){let i=e.startRow,a=e.startColumn,o=r.getMergedCell(i,a),s=cSe(t,n);if(o){let e=o.endRow-o.startRow+1,t=o.endColumn-o.startColumn+1;s.endRow=s.startRow+e-1,s.endColumn=s.startColumn+t-1,s.actualRow=s.startRow,s.actualColumn=s.startColumn,s.isMerged=!1,s.isMergedMainCell=!0}return s}var SSe=class{constructor(e,t,r){$_e(this,"type",Bi.SelectRange),$_e(this,"subType",Di.Edit),$_e(this,"status",wg.INIT),$_e(this,"value",!0),$_e(this,"id",void 0),$_e(this,"unitId",void 0),$_e(this,"subUnitId",void 0),$_e(this,"permissionId",void 0),this.unitId=e,this.subUnitId=t,this.permissionId=r,this.id=`${Bi.SelectRange}.${Di.Edit}.${r}`}},ASe=class{constructor(e,t,r){$_e(this,"type",Bi.SelectRange),$_e(this,"subType",Di.View),$_e(this,"status",wg.INIT),$_e(this,"value",!1),$_e(this,"id",void 0),$_e(this,"unitId",void 0),$_e(this,"subUnitId",void 0),$_e(this,"permissionId",void 0),this.unitId=e,this.subUnitId=t,this.permissionId=r,this.id=`${Bi.SelectRange}.${Di.View}.${r}`}},ISe=class{constructor(e){this.unitId=e,$_e(this,"id",void 0),$_e(this,"value",!0),$_e(this,"type",Bi.Workbook),$_e(this,"status",wg.INIT),$_e(this,"subType",Di.Comment),this.unitId=e,this.id=`${this.type}.${Di.Comment}_${e}`}},RSe=class{constructor(e){this.unitId=e,$_e(this,"id",void 0),$_e(this,"value",!0),$_e(this,"type",Bi.Workbook),$_e(this,"status",wg.INIT),$_e(this,"subType",Di.Copy),this.unitId=e,this.id=`${this.type}.${Di.Copy}_${e}`}},xSe=class{constructor(e){this.unitId=e,$_e(this,"id",void 0),$_e(this,"value",!0),$_e(this,"type",Bi.Workbook),$_e(this,"subType",Di.CopySheet),$_e(this,"status",wg.INIT),this.unitId=e,this.id=`${this.type}.${Di.CopySheet}_${e}`}},TSe=class{constructor(e){this.unitId=e,$_e(this,"id",void 0),$_e(this,"value",!0),$_e(this,"type",Bi.Workbook),$_e(this,"status",wg.INIT),$_e(this,"subType",Di.CreatePermissionObject),this.unitId=e,this.id=`${this.type}.${Di.CreatePermissionObject}_${e}`}},NSe=class{constructor(e){this.unitId=e,$_e(this,"id",void 0),$_e(this,"value",!0),$_e(this,"type",Bi.Workbook),$_e(this,"status",wg.INIT),$_e(this,"subType",Di.CreateSheet),this.unitId=e,this.id=`${this.type}.${Di.CreateSheet}_${e}`}},MSe=class{constructor(e){this.unitId=e,$_e(this,"value",!0),$_e(this,"type",Bi.Workbook),$_e(this,"status",wg.INIT),$_e(this,"id",void 0),$_e(this,"subType",Di.DeleteColumn),this.id=`${this.type}.${Di.DeleteColumn}_${e}`}},OSe=class{constructor(e){this.unitId=e,$_e(this,"value",!0),$_e(this,"type",Bi.Workbook),$_e(this,"status",wg.INIT),$_e(this,"id",void 0),$_e(this,"subType",Di.DeleteRow),this.id=`${this.type}.${Di.DeleteRow}_${e}`}},LSe=class{constructor(e){this.unitId=e,$_e(this,"id",void 0),$_e(this,"value",!0),$_e(this,"type",Bi.Workbook),$_e(this,"status",wg.INIT),$_e(this,"subType",Di.DeleteSheet),this.unitId=e,this.id=`${this.type}.${Di.DeleteSheet}_${e}`}},kSe=class{constructor(e){this.unitId=e,$_e(this,"id",void 0),$_e(this,"value",!0),$_e(this,"type",Bi.Workbook),$_e(this,"status",wg.INIT),$_e(this,"subType",Di.Duplicate),this.unitId=e,this.id=`${this.type}.${Di.Duplicate}_${e}`}},PSe=class{constructor(e){this.unitId=e,$_e(this,"id",void 0),$_e(this,"value",!0),$_e(this,"type",Bi.Workbook),$_e(this,"status",wg.INIT),$_e(this,"subType",Di.Edit),this.unitId=e,this.id=`${this.type}.${Di.Edit}_${e}`}},DSe=class{constructor(e){this.unitId=e,$_e(this,"id",void 0),$_e(this,"value",!0),$_e(this,"type",Bi.Workbook),$_e(this,"status",wg.INIT),$_e(this,"subType",Di.Export),this.unitId=e,this.id=`${this.type}.${Di.Export}_${e}`}},USe=class{constructor(e){this.unitId=e,$_e(this,"id",void 0),$_e(this,"value",!0),$_e(this,"type",Bi.Workbook),$_e(this,"status",wg.INIT),$_e(this,"subType",Di.HideSheet),this.unitId=e,this.id=`${this.type}.${Di.HideSheet}_${e}`}},BSe=class{constructor(e){this.unitId=e,$_e(this,"id",void 0),$_e(this,"value",!0),$_e(this,"type",Bi.Workbook),$_e(this,"status",wg.INIT),$_e(this,"subType",Di.History),this.unitId=e,this.id=`${this.type}.${Di.History}_${e}`}},VSe=class{constructor(e){this.unitId=e,$_e(this,"value",!0),$_e(this,"type",Bi.Workbook),$_e(this,"status",wg.INIT),$_e(this,"id",void 0),$_e(this,"subType",Di.InsertColumn),this.id=`${this.type}.${Di.InsertColumn}_${e}`}},FSe=class{constructor(e){this.unitId=e,$_e(this,"value",!0),$_e(this,"type",Bi.Workbook),$_e(this,"status",wg.INIT),$_e(this,"id",void 0),$_e(this,"subType",Di.InsertRow),this.id=`${this.type}.${Di.InsertRow}_${e}`}},jSe=class{constructor(e){this.unitId=e,$_e(this,"id",void 0),$_e(this,"value",!0),$_e(this,"type",Bi.Workbook),$_e(this,"status",wg.INIT),$_e(this,"subType",Di.ManageCollaborator),this.unitId=e,this.id=`${this.type}.${Di.ManageCollaborator}_${e}`}},HSe=class{constructor(e){this.unitId=e,$_e(this,"id",void 0),$_e(this,"value",!0),$_e(this,"type",Bi.Workbook),$_e(this,"status",wg.INIT),$_e(this,"subType",Di.MoveSheet),this.unitId=e,this.id=`${this.type}.${Di.MoveSheet}_${e}`}},WSe=class{constructor(e){this.unitId=e,$_e(this,"id",void 0),$_e(this,"value",!0),$_e(this,"type",Bi.Workbook),$_e(this,"status",wg.INIT),$_e(this,"subType",Di.Print),this.unitId=e,this.id=`${this.type}.${Di.Print}_${e}`}},zSe=class{constructor(e){this.unitId=e,$_e(this,"id",void 0),$_e(this,"value",!0),$_e(this,"type",Bi.Workbook),$_e(this,"status",wg.INIT),$_e(this,"subType",Di.RecoverHistory),this.unitId=e,this.id=`${this.type}.${Di.RecoverHistory}_${e}`}},XSe=class{constructor(e){this.unitId=e,$_e(this,"id",void 0),$_e(this,"value",!0),$_e(this,"type",Bi.Workbook),$_e(this,"status",wg.INIT),$_e(this,"subType",Di.RenameSheet),this.unitId=e,this.id=`${this.type}.${Di.RenameSheet}_${e}`}},qSe=class{constructor(e){this.unitId=e,$_e(this,"id",void 0),$_e(this,"value",!0),$_e(this,"type",Bi.Workbook),$_e(this,"status",wg.INIT),$_e(this,"subType",Di.Share),this.unitId=e,this.id=`${this.type}.${Di.Share}_${e}`}},GSe=class{constructor(e){this.unitId=e,$_e(this,"id",void 0),$_e(this,"value",!0),$_e(this,"type",Bi.Workbook),$_e(this,"status",wg.INIT),$_e(this,"subType",Di.View),this.unitId=e,this.id=`${this.type}.${Di.View}_${e}`}},YSe=class{constructor(e){this.unitId=e,$_e(this,"id",void 0),$_e(this,"value",!0),$_e(this,"type",Bi.Workbook),$_e(this,"status",wg.INIT),$_e(this,"subType",Di.ViewHistory),this.unitId=e,this.id=`${this.type}.${Di.ViewHistory}_${e}`}},QSe=class{constructor(e,t){this.unitId=e,this.subUnitId=t,$_e(this,"value",!0),$_e(this,"type",Bi.Worksheet),$_e(this,"status",wg.INIT),$_e(this,"id",void 0),$_e(this,"subType",Di.Copy),this.id=`${this.type}.${Di.Copy}_${e}_${t}`}},ZSe=class{constructor(e,t){this.unitId=e,this.subUnitId=t,$_e(this,"value",!0),$_e(this,"type",Bi.Worksheet),$_e(this,"status",wg.INIT),$_e(this,"id",void 0),$_e(this,"subType",Di.DeleteColumn),this.id=`${this.type}.${Di.DeleteColumn}_${e}_${t}`}},KSe=class{constructor(e,t){this.unitId=e,this.subUnitId=t,$_e(this,"value",!0),$_e(this,"type",Bi.Worksheet),$_e(this,"status",wg.INIT),$_e(this,"id",void 0),$_e(this,"subType",Di.Delete),this.id=`${this.type}.${Di.Delete}_${e}_${t}`}},$Se=class{constructor(e,t){this.unitId=e,this.subUnitId=t,$_e(this,"value",!0),$_e(this,"type",Bi.Worksheet),$_e(this,"status",wg.INIT),$_e(this,"id",void 0),$_e(this,"subType",Di.DeleteRow),this.id=`${this.type}.${Di.DeleteRow}_${e}_${t}`}},JSe=class{constructor(e,t){this.unitId=e,this.subUnitId=t,$_e(this,"value",!0),$_e(this,"type",Bi.Worksheet),$_e(this,"status",wg.INIT),$_e(this,"id",void 0),$_e(this,"subType",Di.Edit),this.id=`${this.type}.${Di.Edit}_${e}_${t}`}},eAe=class{constructor(e,t){this.unitId=e,this.subUnitId=t,$_e(this,"value",!0),$_e(this,"type",Bi.Worksheet),$_e(this,"status",wg.INIT),$_e(this,"id",void 0),$_e(this,"subType",Di.EditExtraObject),this.id=`${this.type}.${Di.EditExtraObject}_${e}_${t}`}},tAe=class{constructor(e,t){this.unitId=e,this.subUnitId=t,$_e(this,"value",!0),$_e(this,"type",Bi.Worksheet),$_e(this,"status",wg.INIT),$_e(this,"id",void 0),$_e(this,"subType",Di.Filter),this.id=`${this.type}.${Di.Filter}_${e}_${t}`}},rAe=class{constructor(e,t){this.unitId=e,this.subUnitId=t,$_e(this,"value",!0),$_e(this,"type",Bi.Worksheet),$_e(this,"status",wg.INIT),$_e(this,"id",void 0),$_e(this,"subType",Di.InsertColumn),this.id=`${this.type}.${Di.InsertColumn}_${e}_${t}`}},nAe=class{constructor(e,t){this.unitId=e,this.subUnitId=t,$_e(this,"value",!0),$_e(this,"type",Bi.Worksheet),$_e(this,"status",wg.INIT),$_e(this,"id",void 0),$_e(this,"subType",Di.InsertHyperlink),this.id=`${this.type}.${Di.InsertHyperlink}_${e}_${t}`}},iAe=class{constructor(e,t){this.unitId=e,this.subUnitId=t,$_e(this,"value",!0),$_e(this,"type",Bi.Worksheet),$_e(this,"status",wg.INIT),$_e(this,"id",void 0),$_e(this,"subType",Di.InsertRow),this.id=`${this.type}.${Di.InsertRow}_${e}_${t}`}},aAe=class{constructor(e,t){this.unitId=e,this.subUnitId=t,$_e(this,"value",!0),$_e(this,"type",Bi.Worksheet),$_e(this,"status",wg.INIT),$_e(this,"id",void 0),$_e(this,"subType",Di.ManageCollaborator),this.id=`${this.type}.${Di.ManageCollaborator}_${e}_${t}`}},oAe=class{constructor(e,t){this.unitId=e,this.subUnitId=t,$_e(this,"value",!0),$_e(this,"type",Bi.Worksheet),$_e(this,"status",wg.INIT),$_e(this,"id",void 0),$_e(this,"subType",Di.PivotTable),this.id=`${this.type}.${Di.PivotTable}_${e}_${t}`}},sAe=class{constructor(e,t){this.unitId=e,this.subUnitId=t,$_e(this,"value",!0),$_e(this,"type",Bi.Worksheet),$_e(this,"status",wg.INIT),$_e(this,"id",void 0),$_e(this,"subType",Di.SetCellStyle),this.id=`${this.type}.${Di.SetCellStyle}_${e}_${t}`}},lAe=class{constructor(e,t){this.unitId=e,this.subUnitId=t,$_e(this,"value",!0),$_e(this,"type",Bi.Worksheet),$_e(this,"status",wg.INIT),$_e(this,"id",void 0),$_e(this,"subType",Di.SetCellValue),this.id=`${this.type}.${Di.SetCellValue}_${e}_${t}`}},uAe=class{constructor(e,t){this.unitId=e,this.subUnitId=t,$_e(this,"value",!0),$_e(this,"type",Bi.Worksheet),$_e(this,"status",wg.INIT),$_e(this,"id",void 0),$_e(this,"subType",Di.SetColumnStyle),this.id=`${this.type}.${Di.SetColumnStyle}_${e}_${t}`}},cAe=class{constructor(e,t){this.unitId=e,this.subUnitId=t,$_e(this,"value",!0),$_e(this,"type",Bi.Worksheet),$_e(this,"status",wg.INIT),$_e(this,"id",void 0),$_e(this,"subType",Di.SetRowStyle),this.id=`${this.type}.${Di.SetRowStyle}_${e}_${t}`}},dAe=class{constructor(e,t){this.unitId=e,this.subUnitId=t,$_e(this,"value",!0),$_e(this,"type",Bi.Worksheet),$_e(this,"status",wg.INIT),$_e(this,"id",void 0),$_e(this,"subType",Di.Sort),this.id=`${this.type}.${Di.Sort}_${e}_${t}`}},hAe=class{constructor(e,t){this.unitId=e,this.subUnitId=t,$_e(this,"value",!0),$_e(this,"type",Bi.Worksheet),$_e(this,"status",wg.INIT),$_e(this,"id",void 0),$_e(this,"subType",Di.View),this.id=`${this.type}.${Di.View}_${e}_${t}`}};const mAe={id:"sheet.command.set-range-values",type:Bc.COMMAND,handler:(e,t)=>{var r,n;let i=e.get(Vc),a=e.get(Pg),o=e.get(dg),s=e.get(rSe),l=e.get(iwe),u=e.get(Eg),c=W_e(o,t);if(!c)return!1;let{subUnitId:d,unitId:h,workbook:m,worksheet:f}=c,{value:g,range:p,redoUndoId:v}=t,b=p?[p]:null==(r=s.getCurrentSelections())?void 0:r.map(e=>e.range);if(!b||!b.length||!u.getPermissionPoint(new JSe(h,d).id))return!1;let C,y=new kd;if(uu.isArray(g))for(let e=0;ef.getCellHeight(e,t)||void 0);if(!i.syncExecuteCommand(Kwe.id,_))return!1;let{undos:S,redos:A}=l.onCommandExecute({id:mAe.id,params:_}),{undos:I,redos:R}=l.generateMutationsOfAutoHeight({unitId:h,subUnitId:d,ranges:b,cellHeights:new kd(E)});if(zc([...A,...R],i).result){let e=dSe(null==p?y.getRange():p,m,f);return a.pushUndoRedo({unitID:h,undoMutations:[{id:Kwe.id,params:w},...S,...I,e],redoMutations:[{id:Kwe.id,params:_},...A,...R,uu.deepClone(e)],id:v}),!0}return!1}};function fAe(e,t){let r=[],n=[],{unitId:i,subUnitId:a,range:o,shiftDimension:s,cellValue:l={}}=t,u=e.get(dg),c=e.get(iwe),d=u.getUniverSheetInstance(i),h=null==d?void 0:d.getSheetBySheetId(a);if(h){let t=h.getCellMatrix(),u=t.getDataRange();if(o.startColumn<=u.endColumn||o.startRow<=u.endRow){let l,c;if(s===wu.COLUMNS){let e=Math.min(o.endRow,u.endRow),r=0;for(let n=o.startRow;n<=e;n++){let e=t.getRow(n),i=e?Td(e)-1:0;r=Math.max(r,i)}l={startRow:o.startRow,startColumn:o.startColumn,endRow:e,endColumn:r};let n=o.endColumn-o.startColumn+1;c={startRow:o.startRow,startColumn:l.startColumn+n,endRow:e,endColumn:l.endColumn+n}}else{let e=Math.min(o.endColumn,u.endColumn),t=u.endRow;l={startRow:o.startRow,startColumn:o.startColumn,endRow:t,endColumn:e};let r=o.endRow-o.startRow+1;c={startRow:l.startRow+r,startColumn:o.startColumn,endRow:l.endRow+r,endColumn:e}}let d=wSe(e,{unitId:i,subUnitId:a,range:l},{unitId:i,subUnitId:a,range:c},!0);d&&(r.push(...d.redos),n.push(...d.undos))}if(0===Object.entries(l).length)for(let e=o.startRow;e<=o.endRow;e++){l[e]||(l[e]={});for(let t=o.startColumn;t<=o.endColumn;t++)l[e][t]=null}let d={subUnitId:a,unitId:i,cellValue:l},m=Zwe(e,d),{undos:f,redos:g}=c.onCommandExecute({id:mAe.id,params:{...d,range:o}});r.push({id:Kwe.id,params:d},...g),n.push({id:Kwe.id,params:m},...f)}return{redo:r,undo:n}}function gAe(e,t){let r=[],n=[],{unitId:i,subUnitId:a,range:o,shiftDimension:s}=t,l=e.get(dg),u=e.get(iwe),c=l.getUniverSheetInstance(i),d=null==c?void 0:c.getSheetBySheetId(a);if(d){let t=d.getCellMatrix(),l=t.getDataRange(),c={subUnitId:a,unitId:i,cellValue:HEe([o])},h=Zwe(e,c),m=u.onCommandExecute({id:mAe.id,params:c});if(r.push({id:Kwe.id,params:c},...m.redos),n.push(...m.undos,{id:Kwe.id,params:h}),o.startColumn<=l.endColumn||o.startRow<=l.endRow){let u=null,c=null;if(s===wu.COLUMNS&&o.endColumn{var r,n;let i=e.get(Vc),a=e.get(Pg),o=e.get(dg),s=e.get(rSe),l=e.get(iwe),u=W_e(o);if(!u)return!1;let{worksheet:c,workbook:d,subUnitId:h,unitId:m}=u,f=null==t?void 0:t.range;var g;if(f||(f=null==(g=s.getCurrentLastSelection())?void 0:g.range),!f)return!1;let p={range:f,subUnitId:h,unitId:m,shiftDimension:wu.COLUMNS},v=l.onCommandExecute({id:vAe.id,params:{range:f}}),{redo:b,undo:C}=gAe(e,p),y=[...null==(r=v.preRedos)?[]:r,...b],_=[...v.undos,...C];if(y.push(...v.redos),y.push(dSe(f,d,c)),_.push(...null==(n=v.preUndos)?[]:n),zc(y,i).result){let e=l.afterCommandExecute({id:vAe.id,params:{range:f}});return zc(e.redos,i),_.push(...e.undos),y.push(...e.redos),a.pushUndoRedo({unitID:m,undoMutations:_.reverse(),redoMutations:y}),!0}return!1}},bAe="sheet.command.delete-range-move-up",CAe={type:Bc.COMMAND,id:bAe,handler:async(e,t)=>{var r,n;let i=e.get(Vc),a=e.get(Pg),o=e.get(dg),s=e.get(rSe),l=e.get(iwe),u=W_e(o);if(!u)return!1;let{unitId:c,subUnitId:d,workbook:h,worksheet:m}=u,f=null==t?void 0:t.range;if(!f){let e=s.getCurrentLastSelection();f=null==e?void 0:e.range}if(!f)return!1;let g={range:f,subUnitId:d,unitId:c,shiftDimension:wu.ROWS},p=l.onCommandExecute({id:CAe.id,params:{range:f}}),{redo:v,undo:b}=gAe(e,g),C=[...null==(r=p.preRedos)?[]:r,...v],y=[...p.undos,...b];if(C.push(...p.redos),C.push(dSe(f,h,m)),y.push(...null==(n=p.preUndos)?[]:n),zc(C,i).result){let e=l.afterCommandExecute({id:CAe.id,params:{range:f}});return zc(e.redos,i),y.push(...e.undos),C.push(...e.redos),a.pushUndoRedo({unitID:c,undoMutations:y.reverse(),redoMutations:C}),!0}return!1}},yAe="sheet.command.insert-range-move-down",_Ae={type:Bc.COMMAND,id:yAe,handler:async(e,t)=>{var r,n;let i=e.get(Vc),a=e.get(Pg),o=e.get(dg),s=e.get(rSe),l=e.get(iwe),u=e.get(Of),c=e.get(Cg);if(s.isOverlapping())return u.emit(c.t("sheets.info.overlappingSelections")),!1;let d=W_e(o);if(!d)return!1;let{unitId:h,subUnitId:m,worksheet:f,workbook:g}=d,p=null==t?void 0:t.range;var v;if(p||(p=null==(v=s.getCurrentLastSelection())?void 0:v.range),!p)return!1;let b=[],C=[],y=f.getCellMatrix(),_=y.getDataRange(),w=y.getSlice(_.startRow,_.endRow,p.startColumn,p.endColumn).getDataRange().endRow,E=Math.max(w+(p.endRow-p.startRow+1)-_.endRow,0);if(E>0){let t=p.startRow-1,r=f.getRowHeight(t),n={unitId:h,subUnitId:m,range:{startRow:_.endRow+1,endRow:_.endRow+E,startColumn:_.startColumn,endColumn:_.endColumn},rowInfo:Array(E).fill(void 0).map(()=>({h:r,hd:Vu.FALSE}))};b.push({id:ywe.id,params:n});let i=Cwe(e,n);C.push({id:Iwe.id,params:i})}let S={};Sh.foreach(p,(e,t)=>{let r=f.getCell(e,t);r&&(S[e]||(S[e]={}),S[e][t]={s:r.s})});let{redo:A,undo:I}=fAe(e,{range:p,subUnitId:m,unitId:h,shiftDimension:wu.ROWS,cellValue:S});b.push(...A),C.push(...I);let R=l.onCommandExecute({id:_Ae.id,params:{range:p}});if(b.push(...R.redos),b.push(dSe(p,g,f)),C.push(...null==(r=R.preUndos)?[]:r),b.unshift(...null==(n=R.preRedos)?[]:n),C.unshift(...R.undos),zc(b,i)){let e=l.afterCommandExecute({id:_Ae.id,params:{range:p}});return zc(e.redos,i),C.push(...e.undos),b.push(...e.redos),a.pushUndoRedo({unitID:h,undoMutations:C.reverse(),redoMutations:b}),!0}return!1}},wAe="sheet.command.insert-range-move-right",EAe={type:Bc.COMMAND,id:wAe,handler:async(e,t)=>{var r,n;let i=e.get(Vc),a=e.get(Pg),o=e.get(dg),s=e.get(rSe),l=e.get(iwe),u=e.get(Of),c=e.get(Cg);if(s.isOverlapping())return u.emit(c.t("sheets.info.overlappingSelections")),!1;let d=W_e(o);if(!d)return!1;let{workbook:h,worksheet:m,unitId:f,subUnitId:g}=d,p=null==t?void 0:t.range;var v;if(p||(p=null==(v=s.getCurrentLastSelection())?void 0:v.range),!p)return!1;let b=[],C=[],y=m.getCellMatrix(),_=y.getDataRange(),w=y.getSlice(p.startRow,p.endRow,_.startColumn,_.endColumn).getDataRange().endColumn,E=Math.max(w+(p.endColumn-p.startColumn+1)-_.endColumn,0);if(E>0){let t=p.startColumn-1,r=m.getColumnWidth(t),n={unitId:f,subUnitId:g,range:{startRow:_.startRow+1,endRow:_.endRow,startColumn:_.endColumn+1,endColumn:_.endColumn+E},colInfo:Array(E).fill(void 0).map(()=>({w:r,hd:Vu.FALSE}))};b.push({id:wwe.id,params:n});let i=_we(e,n);C.push({id:Rwe.id,params:i})}let S={};Sh.foreach(p,(e,t)=>{let r=m.getCell(e,t);!r||!r.s||(S[e]||(S[e]={}),S[e][t]={s:r.s})});let{redo:A,undo:I}=fAe(e,{range:p,subUnitId:g,unitId:f,shiftDimension:wu.COLUMNS,cellValue:S});b.push(...A),C.push(...I);let R=l.onCommandExecute({id:EAe.id,params:{range:p}});if(b.push(...R.redos),b.push(dSe(p,h,m)),C.push(...null==(r=R.preUndos)?[]:r),b.unshift(...null==(n=R.preRedos)?[]:n),C.unshift(...R.undos),zc(b,i).result){let e=l.afterCommandExecute({id:EAe.id,params:{range:p}});return zc(e.redos,i),C.push(...e.undos),b.push(...e.redos),a.pushUndoRedo({unitID:f,undoMutations:C.reverse(),redoMutations:b}),!0}return!1}},SAe="sheet.command.insert-row",AAe={type:Bc.COMMAND,id:SAe,handler:async(e,t)=>{let r=e.get(Vc),n=e.get(iwe),{range:i,direction:a,unitId:o,subUnitId:s,cellValue:l}=t;return!!await n.beforeCommandExecute({id:AAe.id,params:t})&&r.syncExecuteCommand(IAe.id,{range:i,direction:a,unitId:o,subUnitId:s,cellValue:l})}},IAe={type:Bc.COMMAND,id:"sheet.command.insert-row-by-range",handler:(e,t)=>{var r,n,i,a;let o=W_e(e.get(dg),t);if(!o)throw Error("Workbook or Worksheet not found at InsertRowByRangeCommand");let{workbook:s,worksheet:l,unitId:u,subUnitId:c}=o,{range:d,direction:h,cellValue:m}=t,{startRow:f,endRow:g}=d;d.rangeType=pd.ROW;let p=h===Eu.UP?f:f-1;if(p<0||p>l.getRowCount()-1)throw Error("Anchor row is out of bounds in InsertRowByRangeCommand");let v=e.get(Vc),b=e.get(Pg),C=e.get(iwe),y={unitId:u,subUnitId:c,range:d},_=l.getRowHeight(p);_!==l.getConfig().defaultRowHeight&&(y.rowInfo=Array(g-f+1).fill(void 0).map(()=>({h:_,hd:Vu.FALSE})));let w=Cwe(e,y),E=[{id:ywe.id,params:y}],S=[{id:Iwe.id,params:w}];m&&Object.keys(m).length>0&&E.push({id:Kwe.id,params:{unitId:u,subUnitId:c,cellValue:m}});let A=C.onCommandExecute({id:AAe.id,params:t});if(E.unshift(...null==(r=A.preRedos)?[]:r),E.push(...null==(n=A.redos)?[]:n),E.push(dSe(d,s,l)),S.unshift(...null==(i=A.preUndos)?[]:i),S.push(...null==(a=A.undos)?[]:a),zc(E,v).result){let e=C.afterCommandExecute({id:AAe.id,params:t});return zc(e.redos,v),E.push(...e.redos),S.push(...e.undos),b.pushUndoRedo({unitID:t.unitId,undoMutations:S,redoMutations:E}),!0}return!1}},RAe={type:Bc.COMMAND,id:"sheet.command.insert-row-before",handler:async(e,t)=>{var r;let n,i=null==(r=e.get(rSe).getCurrentSelections())?void 0:r.map(e=>e.range);if(1!==(null==i?void 0:i.length))return!1;n=i[0];let a=W_e(e.get(dg));if(!a)return!1;let{worksheet:o,subUnitId:s,unitId:l}=a,u=t.value||0,c=n.startRow,d=n.startRow+u-1,h=o.getColumnCount()-1,m={unitId:l,subUnitId:s,direction:Eu.UP,range:{startRow:c,endRow:d,startColumn:0,endColumn:h},cellValue:mSe(o,c,d,0,h,!0,c-1)};return e.get(Vc).executeCommand(AAe.id,m)}},xAe={type:Bc.COMMAND,id:"sheet.command.insert-row-after",handler:async e=>{var t;let r,n=null==(t=e.get(rSe).getCurrentSelections())?void 0:t.map(e=>e.range);if(1!==(null==n?void 0:n.length))return!1;r=n[0];let i=W_e(e.get(dg));if(!i)return!1;let{worksheet:a,unitId:o,subUnitId:s}=i,l=r.endRow-r.startRow+1,u=r.endRow+1,c=r.endRow+l,d=a.getColumnCount()-1,h={unitId:o,subUnitId:s,direction:Eu.DOWN,range:{startRow:u,endRow:c,startColumn:0,endColumn:d,rangeType:pd.ROW},cellValue:mSe(a,u,c,0,d,!0,r.endRow)};return e.get(Vc).executeCommand(AAe.id,h)}},TAe={type:Bc.COMMAND,id:"sheet.command.insert-multi-rows-above",handler:async(e,t)=>{var r;let n,i=null==(r=e.get(rSe).getCurrentSelections())?void 0:r.map(e=>e.range);if(1!==(null==i?void 0:i.length))return!1;n=i[0];let a=W_e(e.get(dg));if(!a)return!1;let{worksheet:o,unitId:s,subUnitId:l}=a,u=t.value||0,c=n.startRow,d=n.startRow+u-1,h=o.getColumnCount()-1,m=mSe(o,c,d,0,h,!0,c-1),f={unitId:s,subUnitId:l,direction:Eu.UP,range:{startRow:c,endRow:d,startColumn:0,endColumn:h,rangeType:pd.ROW},cellValue:m};return e.get(Vc).executeCommand(AAe.id,f)}},NAe={type:Bc.COMMAND,id:"sheet.command.insert-multi-rows-after",handler:async(e,t)=>{var r;let n,i=null==(r=e.get(rSe).getCurrentSelections())?void 0:r.map(e=>e.range);if(1!==(null==i?void 0:i.length))return!1;n=i[0];let a=W_e(e.get(dg));if(!a)return!1;let{worksheet:o,unitId:s,subUnitId:l}=a,u=t.value||0,c=n.endRow+1,d=n.endRow+u,h=o.getColumnCount()-1,m={unitId:s,subUnitId:l,direction:Eu.DOWN,range:{startRow:c,endRow:d,startColumn:0,endColumn:h,rangeType:pd.ROW},cellValue:mSe(o,c,d,0,h,!0,n.endRow)};return e.get(Vc).executeCommand(AAe.id,m)}},MAe="sheet.command.insert-col",OAe={type:Bc.COMMAND,id:MAe,handler:async(e,t)=>{let r=e.get(Vc),n=e.get(iwe),{range:i,direction:a,subUnitId:o,unitId:s,cellValue:l}=t;return!!await n.beforeCommandExecute({id:OAe.id,params:t})&&r.syncExecuteCommand(LAe.id,{range:i,direction:a,unitId:s,subUnitId:o,cellValue:l})}},LAe={type:Bc.COMMAND,id:"sheet.command.insert-col-by-range",handler:(e,t)=>{var r,n,i,a;let o=W_e(e.get(dg),t);if(!o)throw Error("Workbook or Worksheet not found at InsertColByRangeCommand");let{workbook:s,worksheet:l,unitId:u,subUnitId:c}=o,{range:d,direction:h,cellValue:m}=t,{startColumn:f,endColumn:g}=d;d.rangeType=pd.COLUMN;let p=h===Eu.LEFT?f:f-1;if(p<0||p>l.getColumnCount()-1)throw Error("Anchor column is out of bounds in InsertColByRangeCommand");let v=e.get(Vc),b=e.get(Pg),C=e.get(iwe),y={unitId:u,subUnitId:c,range:d},_=l.getColumnWidth(p);_!==l.getConfig().defaultColumnWidth&&(y.colInfo=Array(g-f+1).fill(void 0).map(()=>({w:_,hd:Vu.FALSE})));let w=_we(e,y),E=[{id:wwe.id,params:y}],S=[{id:Rwe.id,params:w}];m&&Object.keys(m).length>0&&E.push({id:Kwe.id,params:{unitId:u,subUnitId:c,cellValue:m}});let A=C.onCommandExecute({id:OAe.id,params:t});if(E.unshift(...null==(r=A.preRedos)?[]:r),E.push(...null==(n=A.redos)?[]:n),E.push(dSe(d,s,l)),S.unshift(...null==(i=A.preUndos)?[]:i),S.push(...null==(a=A.undos)?[]:a),zc(E,v).result){let e=C.afterCommandExecute({id:OAe.id,params:t});return zc(e.redos,v),E.push(...e.redos),S.push(...e.undos),b.pushUndoRedo({unitID:t.unitId,undoMutations:S.filter(Boolean),redoMutations:E.filter(Boolean)}),!0}return!1}},kAe={type:Bc.COMMAND,id:"sheet.command.insert-col-before",handler:async(e,t)=>{let r,n=e.get(rSe).getCurrentSelections();if(1!==(null==n?void 0:n.length))return!1;r=n[0].range;let i=W_e(e.get(dg));if(!i)return!1;let{worksheet:a,unitId:o,subUnitId:s}=i,l=t.value||0,u=r.startColumn,c=r.startColumn+l-1,d=a.getRowCount()-1,h={unitId:o,subUnitId:s,direction:Eu.LEFT,range:{startColumn:u,endColumn:c,startRow:0,endRow:d,rangeType:pd.COLUMN},cellValue:mSe(a,0,d,u,c,!1,u-1)};return e.get(Vc).executeCommand(OAe.id,h)}},PAe={type:Bc.COMMAND,id:"sheet.command.insert-col-after",handler:async e=>{let t,r=e.get(rSe).getCurrentSelections();if(1!==(null==r?void 0:r.length))return!1;t=r[0].range;let n=W_e(e.get(dg));if(!n)return!1;let{worksheet:i,unitId:a,subUnitId:o}=n,s=t.endColumn-t.startColumn+1,l=t.endColumn+1,u=t.endColumn+s,c=i.getRowCount()-1,d={unitId:a,subUnitId:o,direction:Eu.RIGHT,range:{startColumn:l,endColumn:u,startRow:0,endRow:c},cellValue:mSe(i,0,c,l,u,!1,t.endColumn)};return e.get(Vc).executeCommand(OAe.id,d)}},DAe={type:Bc.COMMAND,id:"sheet.command.insert-multi-cols-before",handler:async(e,t)=>{let r,n=e.get(rSe).getCurrentSelections();if(1!==(null==n?void 0:n.length))return!1;r=n[0].range;let i=W_e(e.get(dg));if(!i)return!1;let{worksheet:a,unitId:o,subUnitId:s}=i,l=t.value||0,u=r.startColumn,c=r.startColumn+l-1,d=a.getRowCount()-1,h={unitId:o,subUnitId:s,direction:Eu.LEFT,range:{startColumn:u,endColumn:c,startRow:0,endRow:d,rangeType:pd.COLUMN},cellValue:mSe(a,0,d,u,c,!1,u-1)};return e.get(Vc).executeCommand(OAe.id,h)}},UAe={type:Bc.COMMAND,id:"sheet.command.insert-multi-cols-right",handler:async(e,t)=>{let r,n=e.get(rSe).getCurrentSelections();if(1!==(null==n?void 0:n.length))return!1;r=n[0].range;let i=W_e(e.get(dg));if(!i)return!1;let{worksheet:a,unitId:o,subUnitId:s}=i,l=t.value||0,u=r.endColumn+1,c=r.endColumn+l,d=a.getRowCount()-1,h={unitId:o,subUnitId:s,direction:Eu.RIGHT,range:{startColumn:u,endColumn:c,startRow:0,endRow:d},cellValue:mSe(a,0,d,u,c,!1,r.endColumn)};return e.get(Vc).executeCommand(OAe.id,h)}},BAe=Dl((e,t,r,n)=>{if(!n.disposed){let i=dSe(e,t,r);n.executeCommand(i.id,i.params)}},300),VAe="sheet.command.remove-row",FAe={type:Bc.COMMAND,id:"sheet.command.remove-row-by-range",handler:(e,t)=>{var r;if(!t)return!1;let n=W_e(e.get(dg),t);if(!n)return!1;let{workbook:i,worksheet:a}=n,o=e.get(iwe),{range:s,unitId:l,subUnitId:u}=t,c=GEe([s],e,l,u).reverse(),d=[],h=[];c.forEach(e=>{let t=[],r=[],n={unitId:l,subUnitId:u,range:e},i=((e,t)=>{let r=t.getRowManager().getRowData(),n=e.range,i=Md({},Od(n.startRow,n.endRow,r));return{unitId:e.unitId,subUnitId:e.subUnitId,range:e.range,rowInfo:i}})(n,a),o={unitId:l,subUnitId:u,cellValue:a.getCellMatrix().getSlice(e.startRow,e.endRow,0,a.getColumnCount()-1).getMatrix()};r.push({id:Iwe.id,params:n}),t.push({id:ywe.id,params:i}),t.push({id:Kwe.id,params:o}),h.push(...r),d.unshift(...t)});let m=o.onCommandExecute({id:VAe,params:{range:s}}),f=e.get(Vc);if(zc([...null==(r=m.preRedos)?[]:r,...h,...m.redos],f).result){var g,p;BAe(s,i,a,f);let t=o.afterCommandExecute({id:VAe,params:{range:s}});return zc(t.redos,f),e.get(Pg).pushUndoRedo({unitID:l,undoMutations:[...null==(g=m.preUndos)?[]:g,...d,...m.undos,...t.undos],redoMutations:[...null==(p=m.preRedos)?[]:p,...h,...m.redos,...t.redos]}),!0}return!1}},jAe={type:Bc.COMMAND,id:VAe,handler:async(e,t)=>{var r;let n=e.get(rSe),i=e.get(iwe),a=e.get(Vc),o=null==t?void 0:t.range;if(o||(o=null==(r=n.getCurrentLastSelection())?void 0:r.range),!o)return!1;let s=W_e(e.get(dg));if(!s)return!1;let{worksheet:l,subUnitId:u,unitId:c}=s;return o={...o,startColumn:0,endColumn:Math.max(l.getMaxColumns()-1,0)},!!await i.beforeCommandExecute({id:jAe.id,params:{range:o}})&&a.syncExecuteCommand(FAe.id,{range:o,unitId:c,subUnitId:u})}},HAe="sheet.command.remove-col",WAe={type:Bc.COMMAND,id:"sheet.command.remove-col-by-range",handler:(e,t)=>{var r;if(!t)return!1;let n=W_e(e.get(dg),t);if(!n)return!1;let{workbook:i,worksheet:a}=n,o=e.get(iwe),{range:s,unitId:l,subUnitId:u}=t,c={unitId:l,subUnitId:u,range:s},d=((e,t)=>{let r=e.get(dg).getUniverSheetInstance(t.unitId);if(null==r)throw Error("universheet is null error!");let n=r.getSheetBySheetId(t.subUnitId);if(null==n)throw Error("worksheet is null error!");let i=n.getColumnManager().getColumnData(),a=t.range,o=Md({},Od(a.startColumn,a.endColumn,i));return{unitId:t.unitId,subUnitId:t.subUnitId,range:t.range,colInfo:o}})(e,c),h={unitId:l,subUnitId:u,cellValue:a.getCellMatrix().getSlice(0,a.getRowCount()-1,s.startColumn,s.endColumn).getMatrix()},m=o.onCommandExecute({id:HAe,params:{range:s}}),f=e.get(Vc);if(zc([...null==(r=m.preRedos)?[]:r,{id:Rwe.id,params:c},...m.redos],f).result){var g,p;BAe(s,i,a,f);let t=o.afterCommandExecute({id:HAe,params:{range:s}});return zc(t.redos,f),e.get(Pg).pushUndoRedo({unitID:l,undoMutations:[...null==(g=m.preUndos)?[]:g,{id:wwe.id,params:d},{id:Kwe.id,params:h},...m.undos,...t.undos],redoMutations:[...null==(p=m.preRedos)?[]:p,{id:Rwe.id,params:c},...m.redos,...t.redos]}),!0}return!1}},zAe={type:Bc.COMMAND,id:HAe,handler:async(e,t)=>{var r;let n=e.get(rSe),i=e.get(iwe),a=e.get(Vc),o=null==t?void 0:t.range;if(o||(o=null==(r=n.getCurrentLastSelection())?void 0:r.range),!o)return!1;let s=W_e(e.get(dg));if(!s)return!1;let{worksheet:l,subUnitId:u,unitId:c}=s;return o={...o,startRow:0,endRow:Math.max(l.getMaxRows()-1,0)},!!await i.beforeCommandExecute({id:zAe.id,params:{range:o}})&&a.syncExecuteCommand(WAe.id,{range:o,unitId:c,subUnitId:u})}},XAe={id:"sheet.mutation.remove-sheet",type:Bc.MUTATION,handler:(e,t)=>{let r=e.get(dg),{subUnitId:n,unitId:i}=t,a=r.getUniverSheetInstance(i);return!!a&&a.removeSheet(n)}},qAe="sheet.command.move-rows",GAe={id:qAe,type:Bc.COMMAND,handler:(e,t)=>{var r,n;let i=e.get(rSe),{fromRange:{startRow:a},toRange:{startRow:o},range:s}=t,l=s?[ZAe(s)]:i.getCurrentSelections(),u=null==l?void 0:l.filter(e=>e.range.rangeType===pd.ROW&&e.range.startRow<=a&&a<=e.range.endRow);if(1!==(null==u?void 0:u.length))return!1;let c=e.get(iwe),d=W_e(e.get(dg),t);if(!d)return!1;let{workbook:h,worksheet:m}=d,f=h.getUnitId(),g=m.getSheetId(),p=e.get(Of),v=e.get(Cg),b=u[0].range,C=u[0].primary,y=sSe(b,m,!1);if(!Oh.equals(b,y))return p.emit(v.t("sheets.info.partOfCell")),!1;if(function(e,t){return t.getMergeData().some(t=>t.startRowa.startRow,s=i.endRow-i.startRow+1;return o?{unitId:r,subUnitId:n,sourceRange:Oh.clone(a),targetRange:{...i,endRow:i.endRow+s,startRow:i.startRow+s}}:{unitId:r,subUnitId:n,targetRange:Oh.clone(i),sourceRange:{...a,endRow:a.endRow-s,startRow:a.startRow-s}}}(0,w),S=e.get(Vc),A=c.onCommandExecute({id:GAe.id,params:t}),I=[...null==(r=A.preRedos)?[]:r,{id:Swe.id,params:w}],R=[...null==(n=A.preUndos)?[]:n,{id:Swe.id,params:E}];if(C){let e=o-a<0,t=b.endRow-b.startRow+1,r=e?_:{..._,startRow:_.startRow-t,endRow:_.endRow-t},n={unitId:f,subUnitId:g,type:eSe.MOVE_END,selections:[{range:r,primary:cSe(r,m),style:null}]},i={unitId:f,subUnitId:g,type:eSe.MOVE_END,selections:[{range:b,primary:C,style:null}]};I.push({id:vSe.id,params:n}),R.push({id:vSe.id,params:i})}if(I.push(...A.redos),R.push(...A.undos),zc(I,S).result){let r=c.afterCommandExecute({id:GAe.id,params:t});return zc(r.redos,S),I.push(...r.redos),R.push(...r.undos),e.get(Pg).pushUndoRedo({unitID:f,undoMutations:R,redoMutations:I}),!0}return!1}},YAe="sheet.command.move-cols",QAe={id:YAe,type:Bc.COMMAND,handler:(e,t)=>{var r,n;let i=e.get(rSe),{fromRange:{startColumn:a},toRange:{startColumn:o},range:s}=t,l=s?[ZAe(s)]:i.getCurrentSelections(),u=null==l?void 0:l.filter(e=>e.range.rangeType===pd.COLUMN&&e.range.startColumn<=a&&a<=e.range.endColumn);if(1!==(null==u?void 0:u.length))return!1;let c=e.get(iwe),d=W_e(e.get(dg),t);if(!d)return!1;let{workbook:h,worksheet:m}=d,f=h.getUnitId(),g=m.getSheetId(),p=e.get(Of),v=e.get(Cg),b=u[0].range,C=u[0].primary,y=sSe(b,m,!1);if(!Oh.equals(b,y))return p.emit(v.t("sheets.info.partOfCell")),!1;if(function(e,t){return t.getMergeData().some(t=>t.startColumna.startColumn,s=i.endColumn-i.startColumn+1;return o?{unitId:r,subUnitId:n,sourceRange:Oh.clone(a),targetRange:{...i,endColumn:i.endColumn+s,startColumn:i.startColumn+s}}:{unitId:r,subUnitId:n,targetRange:Oh.clone(i),sourceRange:{...a,startColumn:a.startColumn-s,endColumn:a.endColumn-s}}}(0,w),S=e.get(Vc),A=c.onCommandExecute({id:QAe.id,params:t}),I=[...null==(r=A.preRedos)?[]:r,{id:Awe.id,params:w}],R=[...null==(n=A.preUndos)?[]:n,{id:Awe.id,params:E}];if(C){let e=b.endColumn-b.startColumn+1,t=o-a<0?_:{..._,startColumn:_.startColumn-e,endColumn:_.endColumn-e},r={unitId:f,subUnitId:g,type:eSe.MOVE_END,selections:[{range:t,primary:cSe(t,m),style:null}]},n={unitId:f,subUnitId:g,type:eSe.MOVE_END,selections:[{range:b,primary:C,style:null}]};I.push({id:vSe.id,params:r}),R.push({id:vSe.id,params:n})}if(I.push(...A.redos),R.push(...A.undos),zc(I,S).result){let r=c.afterCommandExecute({id:QAe.id,params:t});return zc(r.redos,S),I.push(...r.redos),R.push(...r.undos),e.get(Pg).pushUndoRedo({unitID:f,undoMutations:R,redoMutations:I}),!0}return!1}};function ZAe(e){return{range:e,primary:null,style:null}}let KAe=class extends tu{constructor(e){super(),this._injector=e,$_e(this,"_sheetSkeletonStore",new Map),this.disposeWithMe(()=>{this._sheetSkeletonStore=new Map})}getSkeleton(e,t){if(this._sheetSkeletonStore.has(e))return this._sheetSkeletonStore.get(e).get(t)}setSkeleton(e,t,r){this._sheetSkeletonStore.has(e)||this._sheetSkeletonStore.set(e,new Map),this._sheetSkeletonStore.get(e).set(t,r)}deleteSkeleton(e,t){this._sheetSkeletonStore.has(e)&&this._sheetSkeletonStore.get(e).delete(t)}};function $Ae(e,t){let r=new kd;return e.map(e=>Sh.transformRange(e,t)).forEach(e=>{Sh.foreach(e,(e,n)=>{let i=t.getCellHeight(e,n);i&&r.setValue(e,n,i)})}),r}function JAe(e,t){if(!t)return{suitableRanges:e,remainingRanges:[]};let r=t.worksheet.getColumnCount(),n=Math.ceil(1e4/r),i=[],a=[],o=t.getOffsetRelativeToRowCol(0,t.scrollY).row,s=e.map(e=>{let t;return t=o>=e.startRow&&o<=e.endRow?0:oe.distance===t.distance?e.rowCount-t.rowCount:e.distance-t.distance);let l=0;for(let e of s)if(l+e.rowCount<=n)i.push(e.range),l+=e.rowCount;else{let t=n-l;if(t>0){let r={...e.range,endRow:e.range.startRow+t-1},o={...e.range,startRow:e.range.startRow+t};i.push(r),a.push(o),l=n}else a.push(e.range)}return{suitableRanges:i,remainingRanges:a}}function eIe(e){let t=0;return e.forEach(()=>{t++}),t}KAe=ewe([J_e(0,Y(he))],KAe);const tIe="sheet.command.reorder-range",rIe={id:tIe,type:Bc.COMMAND,handler:(e,t)=>{var r,n;let{subUnitId:i,unitId:a,range:o,order:s}=t,l=e.get(Vc),u={id:Mwe.id,params:{unitId:a,subUnitId:i,order:s,range:o}},c={id:Mwe.id,params:Nwe(u.params)},d=e.get(iwe),h=d.onCommandExecute({id:rIe.id,params:t}),m=[...null==(r=h.preRedos)?[]:r,u,...h.redos],f=[...null==(n=h.preUndos)?[]:n,c,...h.undos],g=zc(m,l),{suitableRanges:p,remainingRanges:v}=JAe([o],e.get(KAe).getSkeleton(a,i)),{undos:b,redos:C}=d.generateMutationsOfAutoHeight({unitId:a,subUnitId:i,ranges:[o],autoHeightRanges:p,lazyAutoHeightRanges:v}),y=d.afterCommandExecute({id:rIe.id,params:t});return!!g.result&&(zc([...y.redos,...C],l),e.get(Pg).pushUndoRedo({unitID:a,undoMutations:[...f,...y.undos,...b],redoMutations:[...m,...y.redos,...C]}),!0)}},nIe=CSe,iIe=SAe,aIe=MAe,oIe=HAe,sIe=VAe,lIe=pAe,uIe=bAe,cIe=yAe,dIe=wAe,hIe=YAe,mIe=qAe,fIe=tIe;let gIe=function(e){return e[e.Set=0]="Set",e[e.Delete=1]="Delete",e[e.HorizontalMove=2]="HorizontalMove",e[e.VerticalMove=3]="VerticalMove",e[e.Unknown=4]="Unknown",e}({});const pIe=e=>{let t={...e},r=Number.isNaN(t.startRow)&&Number.isNaN(t.endRow)&&!Number.isNaN(t.startColumn)&&!Number.isNaN(t.endColumn),n=Number.isNaN(t.startColumn)&&Number.isNaN(t.endColumn)&&!Number.isNaN(t.startRow)&&!Number.isNaN(t.endRow);return(t.rangeType===pd.COLUMN||r)&&(t.startRow=0,t.endRow=gh-1),(t.rangeType===pd.ROW||n)&&(t.startColumn=0,t.endColumn=ph-1),t.rangeType===pd.ALL&&(t.startColumn=0,t.endColumn=ph-1,t.startRow=0,t.endRow=gh-1),t},vIe=e=>{let t=e.rangeType;return e.rangeType===pd.COLUMN?t=pd.ROW:e.rangeType===pd.ROW&&(t=pd.COLUMN),{startRow:e.startColumn,endRow:e.endColumn,startColumn:e.startRow,endColumn:e.endRow,rangeType:t}},bIe=(e,t,r)=>{let n={...r},i={...t},a=(e,t)=>{let r=Math.max(e.start,t.start),n=Math.min(e.end,t.end);return ne.end-e.start+1,s=t.start>e.start;if(s){let r=Math.min(e.end,t.start)-e.start+1;i.start-=r,i.end-=r}let l=o(e),u=l,c=a(e,n),d=c&&o(c)>=o(n);if(e.end({start:t.start+e.start,end:t.start+e.start+e.end-e.start}))(((e,t)=>({start:e.start-t.start,end:e.start-t.start+e.end-e.start}))(n,e),i);n.start=t.start,n.end=t.end}else c.start>e.start?s?(n.end-=t+l,n.start-=l):n.end-=t:s?n.end-=t:n.start>e.start&&n.end>e.end?(n.start-=l,n.end-=l+t):n.end-=t}let h=a(i,n);return d||(i.start<=n.start?(n.start+=u,n.end+=u):h&&(s?i.end<=n.start||i.start<=n.start&&i.end>=n.start?(n.start+=u,n.end+=u):i.start>=n.start&&i.start<=n.end&&(n.end+=u):n.starti.start?n.end+=u:(n.start>=i.end||n.start>=i.start&&n.start<=i.end)&&(n.end+=u,n.start+=u))),{step:n.start-r.start,length:o(n)-o(r)}},CIe=(e,t)=>{let{fromRange:r,toRange:n}=e.params||{};if(!n||!r)return[];let i=pIe(r),a=pIe(n),o=pIe(t),s=bIe({start:i.startRow,end:i.endRow},{start:a.startRow,end:a.endRow},{start:o.startRow,end:o.endRow});return null===s?[{type:gIe.Delete}]:[{type:gIe.VerticalMove,step:s.step||0,length:s.length||0}]},yIe=(e,t)=>{let{fromRange:r,toRange:n}=e.params||{};if(!n||!r)return[];let i=pIe(r),a=pIe(n),o=pIe(t),s=bIe({start:i.startColumn,end:i.endColumn},{start:a.startColumn,end:a.endColumn},{start:o.startColumn,end:o.endColumn});return null===s?[{type:gIe.Delete}]:[{type:gIe.HorizontalMove,step:s.step||0,length:s.length||0}]},_Ie=(e,t)=>{var r,n;let i=null==(r=e.params)?void 0:r.toRange,a=null==(n=e.params)?void 0:n.fromRange;if(!i||!a)return[];let o=[];if(Oh.contains(i,t)&&o.push({type:gIe.Delete}),Oh.contains(a,t)){o.push({type:gIe.Delete});let e=Oh.getRelativeRange(t,a),r=Oh.getPositionRange(e,i);return[{type:gIe.Set,range:r}]}return o},wIe=(e,t)=>{let r=pIe(e),n=pIe(t),i=e=>e.endColumn-e.startColumn+1,a=e=>e.endRow-e.startRow+1;if(r.startRow<=n.startRow&&r.endRow>=n.endRow){if(n.startColumn=r.startColumn&&n.endColumn<=r.endColumn||n.startColumn=r.endColumn){let e=Oh.getIntersects(n,r);if(e)return{step:0,length:-i(e)}}if(n.startColumn>=r.startColumn&&n.endColumn<=r.endColumn&&a(r)>=a(n))return null;if(n.startColumn>=r.startColumn&&n.startColumn<=r.endColumn&&n.endColumn>r.endColumn){let e=Oh.getIntersects(n,r);if(e){let t=-i(e);return{step:-(i(r)-i(e)),length:t}}}if(n.startColumn>r.endColumn)return{step:-i(r),length:0}}return{step:0,length:0}},EIe=(e,t)=>{var r;let n=null==(r=e.params)?void 0:r.range;if(!n)return[];let i=[],a=wIe(n,t);if(a){let{step:e,length:t}=a;i.push({type:gIe.HorizontalMove,step:e,length:t})}else i.push({type:gIe.Delete});return i},SIe=(e,t,r)=>{var n;let i=null==(n=e.params)?void 0:n.range;if(!i)return[];let a=[];if(r&&r.length>0){let e=i.startRow;for(let t=i.startRow;t<=i.endRow;t++)if(r.includes(t)){if(t===e){e=t+1;continue}o({...i,startRow:e,endRow:t-1}),e=t+1}else t===i.endRow&&o({...i,startRow:e,endRow:i.endRow})}else o(i);function o(e){let r=wIe(vIe(e),vIe(t));if(r){let{step:e,length:t}=r;a.push({type:gIe.VerticalMove,step:e,length:t})}else a.push({type:gIe.Delete})}return a},AIe=(e,t)=>{let r=pIe(e),n=pIe(t),i=e=>e.endColumn-e.startColumn+1;return r.startRow<=n.startRow&&r.endRow>=n.endRow?n.startColumn=r.startColumn&&n.endColumn<=r.endColumn||n.startColumn=r.endColumn?{step:0,length:i(r)}:n.startColumn>=r.startColumn&&n.endColumn<=r.endColumn||n.startColumn>=r.startColumn&&n.startColumn<=r.endColumn&&n.endColumn>r.endColumn||n.startColumn>=r.endColumn?{step:i(r),length:0}:{step:0,length:0}:{step:0,length:0}},IIe=(e,t)=>{var r;let n=null==(r=e.params)?void 0:r.range;if(!n)return[];let i=[],{step:a,length:o}=AIe(vIe(n),vIe(t));return i.push({type:gIe.VerticalMove,step:a,length:o}),i},RIe=(e,t)=>{var r;let n=null==(r=e.params)?void 0:r.range;if(!n)return[];let i=[],{step:a,length:o}=AIe(n,t);return i.push({type:gIe.HorizontalMove,step:a,length:o}),i},xIe=(e,t)=>{var r;let n=null==(r=e.params)?void 0:r.range;if(!n)return[];let i=[],{step:a,length:o}=AIe(vIe(n),vIe(t));return i.push({type:gIe.VerticalMove,step:a,length:o}),i},TIe=(e,t)=>{var r;let n=null==(r=e.params)?void 0:r.range;if(!n)return[];let i=[],{step:a,length:o}=AIe(n,t);return i.push({type:gIe.HorizontalMove,step:a,length:o}),i},NIe=(e,t)=>{var r;let n=null==(r=e.params)?void 0:r.range;if(!n)return[];let i=[],a=wIe(n,t);if(a){let{step:e,length:t}=a;i.push({type:gIe.HorizontalMove,step:e,length:t})}else i.push({type:gIe.Delete});return i},MIe=(e,t)=>{var r;let n=null==(r=e.params)?void 0:r.range;if(!n)return[];let i=[],a=wIe(vIe(n),vIe(t));if(a){let{step:e,length:t}=a;i.push({type:gIe.VerticalMove,step:e,length:t})}else i.push({type:gIe.Delete});return i},OIe=(e,t)=>{let r={...t};return e.forEach(e=>{switch(e.type){case gIe.Delete:r=null;break;case gIe.HorizontalMove:if(!r)return;r.startColumn+=e.step,r.endColumn+=e.step+(e.length||0);break;case gIe.VerticalMove:if(!r)return;r.startRow+=e.step,r.endRow+=e.step+(e.length||0);break;case gIe.Set:r=e.range}}),r&&(r.endColumn{let r=[];switch(t.id){case lIe:r=NIe(t,e);break;case uIe:r=MIe(t,e);break;case aIe:r=RIe(t,e);break;case cIe:r=xIe(t,e);break;case dIe:r=TIe(t,e);break;case iIe:r=IIe(t,e);break;case hIe:r=yIe(t,e);break;case nIe:r=_Ie(t,e);break;case mIe:r=CIe(t,e);break;case oIe:r=EIe(t,e);break;case sIe:r=SIe(t,e);break;case fIe:r=((e,t)=>{let{range:r,order:n}=e.params||{};if(!r||!n)return[];if(Oh.contains(r,t)&&t.endRow===t.startRow){let e=[],r=t.startRow;for(let t in n)if(n[t]===r){let n=Number(t);return e.push({type:gIe.VerticalMove,step:n-r,length:0}),e}return[]}return[]})(t,e)}return OIe(r,e)},kIe=(e,t)=>{let r=[];switch(t.id){case lIe:return((e,t)=>{var r;let n=null==(r=e.params)?void 0:r.range;if(!n)return[t];let i={startRow:n.startRow,endRow:n.endRow,startColumn:n.startColumn,endColumn:1/0},a=n.endColumn-n.startColumn+1,o=Oh.getIntersects(n,t),s=Oh.subtract(t,i),l=Oh.getIntersects(i,t);if(!o&&!l)return[t];let u=new kd;return l&&Sh.foreach(l,(e,t)=>{u.setValue(e,t-a,1)}),o&&Sh.foreach(o,(e,t)=>{u.setValue(e,t-a,0)}),s.forEach(e=>{Sh.foreach(e,(e,t)=>{u.setValue(e,t,1)})}),Dh(u,e=>1===e)})(t,e);case uIe:return((e,t)=>{var r;let n=null==(r=e.params)?void 0:r.range;if(!n)return[t];let i={...n,startRow:n.startRow,endRow:1/0},a=n.endRow-n.startRow+1,o=Oh.getIntersects(n,t),s=Oh.subtract(t,i),l=Oh.getIntersects(i,t);if(!o&&!l)return[t];let u=new kd;return l&&Sh.foreach(l,(e,t)=>{u.setValue(e-a,t,1)}),o&&Sh.foreach(o,(e,t)=>{u.setValue(e-a,t,0)}),s.forEach(e=>{Sh.foreach(e,(e,t)=>{u.setValue(e,t,1)})}),Dh(u,e=>1===e)})(t,e);case cIe:return((e,t)=>{var r;let n=null==(r=e.params)?void 0:r.range;if(!n)return[t];let i=n.endRow-n.startRow+1,a={...n,startRow:n.startRow,endRow:1/0},o=Oh.subtract(t,a),s=Oh.getIntersects(a,t);if(!s)return[t];let l=new kd;return o.forEach(e=>{Sh.foreach(e,(e,t)=>{l.setValue(e,t,1)})}),s&&Sh.foreach(s,(e,t)=>{l.setValue(e+i,t,1)}),Dh(l,e=>1===e)})(t,e);case dIe:return((e,t)=>{var r;let n=null==(r=e.params)?void 0:r.range;if(!n)return[t];let i=n.endColumn-n.startColumn+1,a={...n,startColumn:n.startColumn,endColumn:1/0},o=Oh.subtract(t,a),s=Oh.getIntersects(a,t);if(!s)return[t];let l=new kd;return o.forEach(e=>{Sh.foreach(e,(e,t)=>{l.setValue(e,t,1)})}),s&&Sh.foreach(s,(e,t)=>{l.setValue(e,t+i,1)}),Dh(l,e=>1===e)})(t,e);case aIe:return((e,t)=>{let r=e.params,n=r.range.startColumn,i=r.range.endColumn-r.range.startColumn+1;if(r.direction===Eu.LEFT){if(n{let r=e.params,n=r.range.startRow,i=r.range.endRow-r.range.startRow+1;if(r.direction===Eu.UP){if(n{let{fromRange:r,toRange:n}=e.params||{};if(!r||!n)return[t];let i=r.startColumn,a=r.endColumn-r.startColumn+1,o=n.startColumn,s=new kd;return Sh.foreach(t,(e,t)=>{s.setValue(e,t,1)}),s.moveColumns(i,a,o),Dh(s,e=>1===e)})(t,e);case nIe:return((e,t)=>{var r,n;let i=null==(r=e.params)?void 0:r.toRange,a=null==(n=e.params)?void 0:n.fromRange;if(!i||!a||!Oh.intersects(a,t)&&!Oh.intersects(i,t))return[t];if(Oh.contains(a,t)){let e=Oh.getRelativeRange(t,a);return[Oh.getPositionRange(e,i)]}let o=new kd;Sh.foreach(t,(e,t)=>{o.setValue(e,t,1)});let s=new kd,l=Oh.getIntersects(a,t);l&&Sh.foreach(l,(e,t)=>{o.getValue(e,t)&&(o.setValue(e,t,void 0),s.setValue(e,t,1))});let u=i.startColumn-a.startColumn,c=i.startRow-a.startRow,d={startColumn:i.startColumn-u,endColumn:i.endColumn-u,startRow:i.startRow-c,endRow:i.endRow-c};return d&&Sh.foreach(d,(e,t)=>{var r;let n=e+c,i=t+u;o.setValue(n,i,null==(r=s.getValue(e,t))?0:r)}),Dh(o,e=>1===e)})(t,e);case mIe:return((e,t)=>{let{fromRange:r,toRange:n}=e.params||{};if(!r||!n)return[t];let i=r.startRow,a=r.endRow-r.startRow+1,o=n.startRow,s=new kd;return Sh.foreach(t,(e,t)=>{s.setValue(e,t,1)}),s.moveRows(i,a,o),Dh(s,e=>1===e)})(t,e);case fIe:return((e,t)=>{let{range:r,order:n}=e.params||{};if(!r||!n)return[t];let i=new kd;Sh.foreach(t,(e,t)=>{i.setValue(e,t,1)});let a=new kd;return Sh.foreach(r,(e,t)=>{if(Object.prototype.hasOwnProperty.call(n,e)){var r;let o=n[e],s=null==(r=i.getValue(o,t))?0:r;a.setValue(e,t,s)}}),a.forValue((e,t,r)=>{i.setValue(e,t,r)}),Dh(i,e=>1===e)})(t,e);case oIe:r=EIe(t,e);break;case sIe:return((e,t)=>{var r;let n=eh((null==(r=e.ranges)?[e.range]:r).map(e=>[e.startRow,e.endRow])),i=t.startRow,a=t.endRow;for(let e=n.length-1;e>=0;e--){let[r,o]=n[e];if(r<=t.startRow&&o>=t.endRow)return[];if(oa)){let e=Math.max(r,i);a-=Math.min(o,a)-e+1,r<=i&&(i-=e-i)}}return[{...t,startRow:i,endRow:a}]})(t.params,e)}let n=OIe(r,e);return n?[n]:[]};function PIe(e,t){let{id:r,params:n}=t,i={length:0,step:0,type:gIe.Unknown};switch(r){case XAe.id:i.type=gIe.Delete;break;case Swe.id:i=bIe({start:n.sourceRange.startRow,end:n.sourceRange.endRow},{start:n.targetRange.startRow,end:n.targetRange.endRow},{start:e.startRow,end:e.endRow}),i.type=gIe.VerticalMove;break;case Awe.id:i=bIe({start:n.sourceRange.startColumn,end:n.sourceRange.endColumn},{start:n.targetRange.startColumn,end:n.targetRange.endColumn},{start:e.startColumn,end:e.endColumn}),i.type=gIe.HorizontalMove;break;case Rwe.id:i=wIe(n.range,e),i?i.type=gIe.HorizontalMove:i={step:0,length:0,type:gIe.Delete};break;case Iwe.id:i=wIe(vIe(n.range),vIe(e)),i?i.type=gIe.VerticalMove:i={step:0,length:0,type:gIe.Delete};break;case ywe.id:i=AIe(vIe(n.range),vIe(e)),i.type=gIe.VerticalMove;break;case wwe.id:i=AIe(n.range,e),i.type=gIe.HorizontalMove;break;case Ewe.id:i=function(e,t,r){let n=[];if(Oh.contains(t,r)&&n.push({type:gIe.Delete}),Oh.contains(e,r)){n.push({type:gIe.Delete});let i=Oh.getRelativeRange(r,e),a=Oh.getPositionRange(i,t);return[{type:gIe.Set,range:a}]}return n}(n.fromRange||new kd(n.from).getRange(),n.toRange||new kd(n.to).getRange(),e)}return i?OIe(Array.isArray(i)?i:[i],e):e}const DIe=jl("MERGE_REDO"),UIe=jl("MERGE_UNDO");var BIe=class extends tu{constructor(e,t,r,n,i=!1){super(),this._unitId=e,this._subUnitId=t,this._range=r,this._callback=n,this._skipIntersects=i}onMutation(e){var t,r;if((null==(t=e.params)?void 0:t.unitId)!==this._unitId)return;if(e.id===Ewe.id){let t=e.params;if(t.from.subUnitId!==this._subUnitId||t.to.subUnitId!==this._subUnitId)return}else if((null==(r=e.params)?void 0:r.subUnitId)!==this._subUnitId)return;if(!this._range)return;if(this._skipIntersects){if(e.id===XAe.id)return;let t=function(e){switch(e.id){case Awe.id:{let t=e.params;return[t.sourceRange,{...t.targetRange,startColumn:t.targetRange.startColumn-.5,endColumn:t.targetRange.startColumn-.5}]}case Swe.id:{let t=e.params;return[t.sourceRange,{...t.targetRange,startRow:t.targetRange.startRow-.5,endRow:t.targetRange.startRow-.5}]}case Ewe.id:{let t=e.params;return[new kd(t.from.value).getRange(),new kd(t.to.value).getRange()]}case wwe.id:{let t=e.params.range;return[{...t,startColumn:t.startColumn-.5,endColumn:t.startColumn-.5}]}case ywe.id:{let t=e.params.range;return[{...t,startRow:t.startRow-.5,endRow:t.startRow-.5}]}case Rwe.id:case Iwe.id:return[e.params.range]}}(e);if(null!=t&&t.some(e=>Oh.intersects(e,this._range)))return}let n=PIe(this._range,e);if(n&&Oh.equals(n,this._range))return!1;let i=this._range;this._range=n,this._callback(i,n)}};let VIe=class extends tu{constructor(e,t,r,n){super(),this._commandService=e,this._sheetInterceptorService=t,this._univerInstanceService=r,this._selectionManagerService=n,$_e(this,"interceptor",new Wl({MERGE_REDO:DIe,MERGE_UNDO:UIe})),$_e(this,"_watchRanges",new Set),$_e(this,"_refRangeManagerMap",new Map),$_e(this,"_serializer",function(){let e=["startRow","startColumn","endRow","endColumn","rangeType"];return{deserialize:t=>{let r=e.reduce((e,t,r)=>(e[String(r)]=t,e),{});return t.split("_").reduce((e,t,n)=>{let i=String(n);return t&&r[i]&&(e[r[i]]=t),e},{})},serialize:t=>e.reduce((e,r,n)=>{let i=t[r];return void 0===i?`${e}`:`${e}${n>0?"_":""}${i}`},"")}}()),$_e(this,"_onRefRangeChange",()=>{this._sheetInterceptorService.interceptCommand({getMutations:e=>{let t=(()=>{switch(e.id){case hIe:{let t=e.params,r=W_e(this._univerInstanceService,t);if(!r)return[];let{worksheet:n,unitId:i,subUnitId:a}=r,o=Math.min(t.fromRange.startColumn,t.toRange.startColumn);return this._checkRange([{...t.fromRange,startColumn:o,endColumn:n.getColumnCount()-1}],i,a)}case mIe:{let t=e.params,r=W_e(this._univerInstanceService,t);if(!r)return[];let{worksheet:n,unitId:i,subUnitId:a}=r,o=Math.min(t.fromRange.startRow,t.toRange.startRow);return this._checkRange([{...t.fromRange,startRow:o,endRow:n.getRowCount()-1}],i,a)}case nIe:{var t,r;let n=e.params,i=W_e(this._univerInstanceService,{unitId:n.fromUnitId,subUnitId:n.fromSubUnitId}),a=W_e(this._univerInstanceService,{unitId:null==(t=n.toUnitId)?n.fromUnitId:t,subUnitId:null==(r=n.toSubUnitId)?n.fromSubUnitId:r});if(!i&&!a)return[];if(i&&a&&i.unitId===a.unitId&&i.subUnitId===a.subUnitId)return this._checkRange([n.fromRange,n.toRange],i.unitId,i.subUnitId);let o=[];return i&&o.push(...this._checkRange([n.fromRange],i.unitId,i.subUnitId)),a&&o.push(...this._checkRange([n.toRange],a.unitId,a.subUnitId)),o}case iIe:{let t=e.params,r=W_e(this._univerInstanceService,t);if(!r)return[];let{worksheet:n,unitId:i,subUnitId:a}=r,o={startRow:Math.max(0,t.range.startRow-1),endRow:n.getRowCount()-1,startColumn:0,endColumn:n.getColumnCount()-1,rangeType:pd.ROW};return this._checkRange([o],i,a)}case aIe:{let t=e.params,r=W_e(this._univerInstanceService,t);if(!r)return[];let{worksheet:n,unitId:i,subUnitId:a}=r,o={startRow:0,endRow:n.getRowCount()-1,startColumn:Math.max(0,t.range.startColumn-1),endColumn:n.getColumnCount()-1,rangeType:pd.COLUMN};return this._checkRange([o],i,a)}case sIe:{let t=e.params,r=W_e(this._univerInstanceService);if(!r)return[];let{worksheet:n,unitId:i,subUnitId:a}=r,o={startRow:t.range.startRow,endRow:n.getRowCount()-1,startColumn:0,endColumn:n.getColumnCount()-1,rangeType:pd.ROW};return this._checkRange([o],i,a)}case oIe:{let t=e.params,r=W_e(this._univerInstanceService);if(!r)return[];let{worksheet:n,unitId:i,subUnitId:a}=r,o={startRow:0,endRow:n.getRowCount()-1,startColumn:t.range.startColumn,endColumn:n.getColumnCount()-1,rangeType:pd.COLUMN};return this._checkRange([o],i,a)}case uIe:case cIe:{let t=e.params,r=W_e(this._univerInstanceService);if(!r)return[];let{worksheet:n,unitId:i,subUnitId:a}=r,o={...t.range,endRow:n.getRowCount()-1};return this._checkRange([o],i,a)}case lIe:case dIe:{let t=e.params,r=W_e(this._univerInstanceService);if(!r)return[];let{worksheet:n,unitId:i,subUnitId:a}=r,o={...t.range,endColumn:n.getColumnCount()-1};return this._checkRange([o],i,a)}case fIe:{let t=e.params,r=W_e(this._univerInstanceService);if(!r)return[];let{unitId:n,subUnitId:i}=r,{range:a,order:o}=t,s=[];for(let e=a.startRow;e<=a.endRow;e++)e in o&&s.push({startRow:e,endRow:e,startColumn:a.startColumn,endColumn:a.endColumn});return this._checkRange(s,n,i)}}})();if(!t||0===t.length)return{redos:[],undos:[],preRedos:[],preUndos:[]};let r=t.reduce((t,r)=>{let n=r(e);return t.push(n),t},[]).reduce((e,t)=>{var r,n;return e.redos.push(...t.redos),e.undos.push(...t.undos),e.preRedos.push(...null==(r=t.preRedos)?[]:r),e.preUndos.push(...null==(n=t.preUndos)?[]:n),e},{redos:[],undos:[],preUndos:[],preRedos:[]}),n=this.interceptor.fetchThroughInterceptors(this.interceptor.getInterceptPoints().MERGE_REDO)(r.preRedos,null)||[],i=this.interceptor.fetchThroughInterceptors(this.interceptor.getInterceptPoints().MERGE_REDO)(r.redos,null)||[],a=this.interceptor.fetchThroughInterceptors(this.interceptor.getInterceptPoints().MERGE_UNDO)(r.preUndos,null)||[];return{redos:i,undos:this.interceptor.fetchThroughInterceptors(this.interceptor.getInterceptPoints().MERGE_UNDO)(r.undos,null)||[],preRedos:n,preUndos:a}}})}),$_e(this,"_checkRange",(e,t,r)=>{let n=FIe(t,r),i=this._refRangeManagerMap.get(n);if(i){let t=new Set;return[...i.keys()].forEach(r=>{let n=i.get(r),a=this._serializer.deserialize(r),o={...a,startRow:+a.startRow,endRow:+a.endRow,startColumn:+a.startColumn,endColumn:+a.endColumn,rangeType:a.rangeType&&+a.rangeType};e.some(e=>Oh.intersects(e,o))&&n&&n.forEach(e=>{t.add(e)})}),[...t]}return[]}),$_e(this,"registerRefRange",(e,t,r,n)=>{let i=r||function(e){var t;return null==(t=e.getCurrentUnitOfType(Pi.UNIVER_SHEET))?void 0:t.getUnitId()}(this._univerInstanceService),a=n||function(e){var t;return null==(t=e.getCurrentUnitOfType(Pi.UNIVER_SHEET))||null==(t=t.getActiveSheet())?void 0:t.getSheetId()}(this._univerInstanceService);if(!i||!a)return Jl(()=>{});let o=FIe(i,a),s=this._serializer.serialize(e),l=this._refRangeManagerMap.get(o);l||(l=new Map,this._refRangeManagerMap.set(o,l));let u=l.get(s);return u?u.add(t):l.set(s,new Set([t])),Jl(()=>{let e=l.get(s);e&&(e.delete(t),e.size||(l.delete(s),l.size||this._refRangeManagerMap.delete(o)))})}),this._onRefRangeChange(),this.interceptor.intercept(this.interceptor.getInterceptPoints().MERGE_REDO,{priority:-1,handler:e=>e}),this.interceptor.intercept(this.interceptor.getInterceptPoints().MERGE_UNDO,{priority:-1,handler:e=>e})}watchRange(e,t,r,n,i){let a;0===this._watchRanges.size&&(a=this._commandService.onCommandExecuted(e=>{if(e.type!==Bc.MUTATION)return!1;for(let t of this._watchRanges)t.onMutation(e)}));let o=new BIe(e,t,r,n,i);this._watchRanges.add(o);let s=Jl(()=>{this._watchRanges.delete(o),0===this._watchRanges.size&&(null==a||a.dispose(),a=null)}),l=this.disposeWithMe(s);return Jl(()=>{l.dispose(),s.dispose()})}};function FIe(e,t){return`${e}_${t}`}VIe=ewe([J_e(0,Vc),J_e(1,Y(iwe)),J_e(2,Y(dg)),J_e(3,Y(rSe))],VIe);const jIe=[wwe.id,ywe.id,Rwe.id,Iwe.id],HIe=[Swe.id,Awe.id];function WIe(e,t){let r=e;if(void 0!==t){let e=[];for(let n=0;ne.range);if(s&&s.length>0&&s.some(e=>o.some(t=>Oh.intersects(t,e)))){let t={unitId:n,subUnitId:a,ranges:s},r=xwe(e._injector,t);return{redos:[{id:Twe.id,params:t}],undos:[{id:q_e.id,params:r}]}}}}return{redos:[],undos:[]}}}),this._sheetInterceptorService.interceptRanges({getMutations:({unitId:e,subUnitId:t,ranges:r})=>{let n=[],i=[],a={redos:n,undos:i};if(!r||!r.length)return a;let o=W_e(this._univerInstanceService,{unitId:e,subUnitId:t});if(!o)return a;let{worksheet:s}=o,l=s.getMergeData().filter(e=>r.some(t=>Oh.intersects(e,t)));return l.length?(n.push({id:Twe.id,params:{unitId:e,subUnitId:t,ranges:l}}),i.push({id:q_e.id,params:{unitId:e,subUnitId:t,ranges:l}}),{undos:i,redos:n}):a}})}refRangeHandle(e,t,r){switch(e.id){case hIe:{let n=e.params;return this._handleMoveColsCommand(n,t,r)}case mIe:{let n=e.params;return this._handleMoveRowsCommand(n,t,r)}case AAe.id:{let n=e.params,i=n.unitId||t,a=n.subUnitId||r;return this._handleInsertRowCommand(n,i,a)}case OAe.id:{let n=e.params,i=n.unitId||t,a=n.subUnitId||r;return this._handleInsertColCommand(n,i,a)}case zAe.id:{let n=e.params;return this._handleRemoveColCommand(n,t,r)}case jAe.id:{let n=e.params;return this._handleRemoveRowCommand(n,t,r)}case ySe.id:{let n=e.params;return this._handleMoveRangeCommand(n,t,r)}case EAe.id:{let n=e.params;return this._handleInsertRangeMoveRightCommand(n,t,r)}case _Ae.id:{let n=e.params;return this._handleInsertRangeMoveDownCommand(n,t,r)}case CAe.id:{let n=e.params;return this._handleDeleteRangeMoveUpCommand(n,t,r)}case vAe.id:{let n=e.params;return this._handleDeleteRangeMoveLeftCommand(n,t,r)}}return{redos:[],undos:[]}}_onRefRangeChange(){let e=(e,t)=>{let r=this._univerInstanceService.getUniverSheetInstance(e);if(!r)return;let n=null==r?void 0:r.getSheetBySheetId(t);if(!n)return;this.disposableCollection.dispose();let i=n.getMergeData(),a=r=>this.refRangeHandle(r,e,t);i.forEach(r=>{this.disposableCollection.add(this._refRangeService.registerRefRange(r,a,e,t))})};this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(t.id===fEe.id){let r=t.params,n=r.subUnitId,i=r.unitId;if(!n||!i)return;e(i,n)}if(t.id===q_e.id){let r=t.params,n=r.subUnitId,i=r.unitId;if(!n||!i)return;e(r.unitId,r.subUnitId)}})),this._univerInstanceService.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET).pipe(fq(e=>!!e)).subscribe(t=>{let r=t.getActiveSheet();r&&e(t.getUnitId(),r.getSheetId())})}_handleMoveRowsCommand(e,t,r){let n=qIe(this._univerInstanceService,t);if(!n)return this._handleNull();let i=GIe(n,r);if(!i)return this._handleNull();let a=[...i.getMergeData()],o={unitId:t,subUnitId:r,ranges:[]},s={unitId:t,subUnitId:r,ranges:[]},{fromRange:l}=e,{startRow:u,endRow:c}=l;if(a.forEach(t=>{if(u<=t.startRow&&c>=t.endRow){o.ranges.push(t);let r=OIe(CIe({id:mIe,params:e},t),t);r&&s.ranges.push(r)}}),0===o.ranges.length)return this._handleNull();let d=xwe(this._injector,o),h=X_e(this._injector,s);return{preRedos:[{id:Twe.id,params:o}],redos:[{id:q_e.id,params:s}],preUndos:[{id:Twe.id,params:h}],undos:[{id:q_e.id,params:d}]}}_handleMoveColsCommand(e,t,r){let n=qIe(this._univerInstanceService,t);if(!n)return this._handleNull();let i=GIe(n,r);if(!i)return this._handleNull();let a=[...i.getMergeData()],o={unitId:t,subUnitId:r,ranges:[]},s={unitId:t,subUnitId:r,ranges:[]},{fromRange:l}=e,{startColumn:u,endColumn:c}=l;if(a.forEach(t=>{if(u<=t.startColumn&&c>=t.endColumn){o.ranges.push(t);let r=OIe(yIe({id:hIe,params:e},t),t);r&&s.ranges.push(r)}}),0===o.ranges.length)return this._handleNull();let d=xwe(this._injector,o),h=X_e(this._injector,s);return{preRedos:[{id:Twe.id,params:o}],redos:[{id:q_e.id,params:s}],preUndos:[{id:Twe.id,params:h}],undos:[{id:q_e.id,params:d}]}}_handleMoveRangeCommand(e,t,r){var n,i;let a=qIe(this._univerInstanceService,t);if(!a)return this._handleNull();let o=null==(n=e.fromSubUnitId)?r:n,s=null==(i=e.toSubUnitId)?o:i,l=GIe(a,o),u=GIe(a,s);if(!l||!u)return this._handleNull();let c=l.getMergeData().filter(t=>Oh.intersects(t,e.fromRange)),d=u.getMergeData().filter(t=>Oh.intersects(t,e.toRange)),h=WIe(c.map(t=>Oh.getRelativeRange(t,e.fromRange)).map(t=>Oh.getPositionRange(t,e.toRange))).filter(e=>!u.getMergeData().some(t=>Oh.equals(e,t))),m=[],f=[];return r===o&&c.length>0&&(m.push({id:Twe.id,params:{unitId:t,subUnitId:o,ranges:c}}),f.push({id:q_e.id,params:{unitId:t,subUnitId:o,ranges:c}})),r===s&&d.length>0&&(m.push({id:Twe.id,params:{unitId:t,subUnitId:s,ranges:d}}),f.push({id:q_e.id,params:{unitId:t,subUnitId:s,ranges:d}})),r===s&&h.length>0&&(m.push({id:q_e.id,params:{unitId:t,subUnitId:s,ranges:h}}),f.unshift({id:Twe.id,params:{unitId:t,subUnitId:s,ranges:h}})),0===m.length?this._handleNull():{redos:m,undos:f}}_handleInsertRowCommand(e,t,r){let n=qIe(this._univerInstanceService,t);if(!n)return this._handleNull();let i=GIe(n,r);if(!i)return this._handleNull();let{range:a}=e,{startRow:o,endRow:s}=a,l=uu.deepClone(i.getMergeData()).reduce((e,t)=>(o>t.startRow&&o<=t.endRow&&e.push(t),e),[]);if(0===l.length)return this._handleNull();let u=uu.deepClone(i.getMergeData()).reduce((e,t)=>{if(o>t.startRow&&o<=t.endRow){let r=s-o+1;t.endRow+=r,this._checkIsMergeCell(t)&&e.push(t)}return e},[]),c={unitId:t,subUnitId:r,ranges:l},d=xwe(this._injector,c),h={unitId:t,subUnitId:r,ranges:u},m=X_e(this._injector,h);return{redos:[{id:Twe.id,params:c},{id:q_e.id,params:h}],undos:[{id:Twe.id,params:m},{id:q_e.id,params:d}]}}_handleInsertColCommand(e,t,r){let{range:n}=e,i=qIe(this._univerInstanceService,t);if(!i)return this._handleNull();let a=GIe(i,r);if(!a)return this._handleNull();let{startColumn:o,endColumn:s}=n,l=uu.deepClone(a.getMergeData()).reduce((e,t)=>(o>t.startColumn&&o<=t.endColumn&&e.push(t),e),[]);if(0===l.length)return this._handleNull();let u=uu.deepClone(a.getMergeData()).reduce((e,t)=>{if(o>t.startColumn&&o<=t.endColumn){let r=s-o+1;t.endColumn+=r,this._checkIsMergeCell(t)&&e.push(t)}return e},[]),c={unitId:t,subUnitId:r,ranges:l},d=xwe(this._injector,c),h={unitId:t,subUnitId:r,ranges:u},m=X_e(this._injector,h);return{redos:[{id:Twe.id,params:c},{id:q_e.id,params:h}],undos:[{id:Twe.id,params:m},{id:q_e.id,params:d}]}}_handleRemoveColCommand(e,t,r){let n=qIe(this._univerInstanceService,t);if(!n)return this._handleNull();let i=GIe(n,r);if(!i)return this._handleNull();let{range:a}=e,{startColumn:o,endColumn:s}=a,l=uu.deepClone(i.getMergeData()).reduce((e,t)=>(Oh.intersects(a,t)&&e.push(t),e),[]);if(0===l.length)return this._handleNull();let u=uu.deepClone(i.getMergeData()).reduce((e,t)=>{if(Oh.intersects(a,t)){if(o<=t.startColumn&&s>=t.endColumn)return e;o>=t.startColumn&&s<=t.endColumn?t.endColumn-=s-o+1:ot.endColumn&&(t.endColumn=o-1),this._checkIsMergeCell(t)&&e.push(t)}return e},[]),c={unitId:t,subUnitId:r,ranges:l},d=xwe(this._injector,c),h={unitId:t,subUnitId:r,ranges:u},m=X_e(this._injector,h),f=[{id:Twe.id,params:c}],g=[{id:q_e.id,params:h}];return{preUndos:[{id:Twe.id,params:m}],undos:[{id:q_e.id,params:d}],preRedos:f,redos:g}}_handleRemoveRowCommand(e,t,r){let{range:n}=e,i=qIe(this._univerInstanceService,t);if(!i)return this._handleNull();let a=GIe(i,r);if(!a)return this._handleNull();let{startRow:o,endRow:s}=n,l=uu.deepClone(a.getMergeData()).reduce((e,t)=>(Oh.intersects(n,t)&&e.push(t),e),[]);if(0===l.length)return this._handleNull();let u=uu.deepClone(a.getMergeData()).reduce((e,t)=>{if(Oh.intersects(n,t)){if(o<=t.startRow&&s>=t.endRow)return e;o>=t.startRow&&s<=t.endRow?t.endRow-=s-o+1:ot.endRow&&(t.endRow=o-1),this._checkIsMergeCell(t)&&e.push(t)}return e},[]),c={unitId:t,subUnitId:r,ranges:l},d=xwe(this._injector,c),h={unitId:t,subUnitId:r,ranges:u},m=X_e(this._injector,h),f=[{id:Twe.id,params:c}],g=[{id:q_e.id,params:h}];return{preUndos:[{id:Twe.id,params:m}],undos:[{id:q_e.id,params:d}],preRedos:f,redos:g}}_handleInsertRangeMoveRightCommand(e,t,r){let n=qIe(this._univerInstanceService,t);if(!n)return this._handleNull();let i=GIe(n,r);if(!i)return this._handleNull();let a=e.range,o=i.getMaxColumns()-1,s=i.getMergeData(),l=[],u=[];s.forEach(e=>{let{startRow:t,endRow:r,startColumn:n,endColumn:i}=a;if(Oh.intersects({startRow:t,startColumn:n,endRow:r,endColumn:o},e)&&(l.push(e),Oh.contains({startRow:t,startColumn:n,endRow:r,endColumn:o},e))){let t=i-n+1;u.push({startRow:e.startRow,startColumn:e.startColumn+t,endRow:e.endRow,endColumn:e.endColumn+t})}});let c={unitId:t,subUnitId:r,ranges:l},d=xwe(this._injector,c),h={unitId:t,subUnitId:r,ranges:u},m=X_e(this._injector,h);return{preRedos:[{id:Twe.id,params:c}],redos:[{id:q_e.id,params:h}],preUndos:[{id:Twe.id,params:m}],undos:[{id:q_e.id,params:d}]}}_handleInsertRangeMoveDownCommand(e,t,r){let n=qIe(this._univerInstanceService,t);if(!n)return this._handleNull();let i=GIe(n,r);if(!i)return this._handleNull();let a=e.range,o=i.getMaxRows()-1,s=i.getMergeData(),l=[],u=[];s.forEach(e=>{let{startRow:t,startColumn:r,endColumn:n,endRow:i}=a;if(Oh.intersects({startRow:t,startColumn:r,endRow:o,endColumn:n},e)&&(l.push(e),Oh.contains({startRow:t,startColumn:r,endRow:o,endColumn:n},e))){let r=i-t+1;u.push({startRow:e.startRow+r,startColumn:e.startColumn,endRow:e.endRow+r,endColumn:e.endColumn})}});let c={unitId:t,subUnitId:r,ranges:l},d=xwe(this._injector,c),h={unitId:t,subUnitId:r,ranges:u},m=X_e(this._injector,h),f=[{id:Twe.id,params:c}],g=[{id:q_e.id,params:h}],p=[{id:Twe.id,params:m}];return{redos:g,undos:[{id:q_e.id,params:d}],preRedos:f,preUndos:p}}_handleDeleteRangeMoveUpCommand(e,t,r){let n=qIe(this._univerInstanceService,t);if(!n)return this._handleNull();let i=GIe(n,r);if(!i)return this._handleNull();let a=e.range,o=i.getMaxRows()-1,s=i.getMergeData(),l=[],u=[];s.forEach(e=>{let{startRow:t,startColumn:r,endColumn:n,endRow:i}=a;if(Oh.intersects({startRow:t,startColumn:r,endRow:o,endColumn:n},e)&&(l.push(e),Oh.contains({startRow:t,startColumn:r,endRow:o,endColumn:n},e))){let r=i-t+1,n=Oh.moveVertical(e,-r);u.push(n)}});let c={unitId:t,subUnitId:r,ranges:l},d=xwe(this._injector,c),h={unitId:t,subUnitId:r,ranges:u},m=X_e(this._injector,h),f=[{id:Twe.id,params:c}],g=[{id:q_e.id,params:h}],p=[{id:Twe.id,params:m}];return{redos:g,undos:[{id:q_e.id,params:d}],preRedos:f,preUndos:p}}_handleDeleteRangeMoveLeftCommand(e,t,r){let n=qIe(this._univerInstanceService,t);if(!n)return this._handleNull();let i=GIe(n,r);if(!i)return this._handleNull();let a=e.range,o=i.getMaxColumns()-1,s=i.getMergeData(),l=[],u=[];s.forEach(e=>{let{startRow:t,endRow:r,startColumn:n,endColumn:i}=a;if(Oh.intersects({startRow:t,startColumn:n,endRow:r,endColumn:o},e)&&(l.push(e),Oh.contains({startRow:t,startColumn:n,endRow:r,endColumn:o},e))){let t=i-n+1;u.push({startRow:e.startRow,startColumn:e.startColumn-t,endRow:e.endRow,endColumn:e.endColumn-t})}});let c={unitId:t,subUnitId:r,ranges:l},d=xwe(this._injector,c),h={unitId:t,subUnitId:r,ranges:u},m=X_e(this._injector,h);return{preRedos:[{id:Twe.id,params:c}],redos:[{id:q_e.id,params:h}],undos:[{id:q_e.id,params:d}],preUndos:[{id:Twe.id,params:m}]}}_checkIsMergeCell(e){return!(e.startRow===e.endRow&&e.startColumn===e.endColumn)}_handleNull(){return{redos:[],undos:[]}}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(HIe.includes(e.id)){if(!e.params)return;let t=this._univerInstanceService.getUniverSheetInstance(e.params.unitId);if(!t)return;let r=t.getSheetBySheetId(e.params.subUnitId);if(!r)return;let{sourceRange:n,targetRange:i}=e.params,a=n.startColumn===i.startColumn&&n.endColumn===i.endColumn,o=a?n.endRow-n.startRow+1:n.endColumn-n.startColumn+1,s=a?n.startRow:n.startColumn,l=a?i.startRow:i.startColumn,u=r.getConfig().mergeData,c=[];u.forEach(e=>{let{startRow:t,endRow:r,startColumn:i,endColumn:u,rangeType:d}=e;Oh.intersects(e,n)||(a?sr?(t-=o,r-=o):s>r&&l<=t&&(t+=o,r+=o):su?(i-=o,u-=o):s>u&&l<=i&&(i+=o,u+=o)),e.startRow===e.endRow&&e.startColumn===e.endColumn||c.push({startRow:t,endRow:r,startColumn:i,endColumn:u,rangeType:d})}),r.setMergeData(c),this.disposableCollection.dispose();let{unitId:d,subUnitId:h}=e.params,m=e=>this.refRangeHandle(e,d,h);c.forEach(e=>{this.disposableCollection.add(this._refRangeService.registerRefRange(e,m,d,h))})}if(jIe.includes(e.id)){let t=this._univerInstanceService.getUniverSheetInstance(e.params.unitId);if(!t)return;let r=t.getSheetBySheetId(e.params.subUnitId);if(!r)return;let n=r.getConfig().mergeData,i=e.params;if(!i)return;let{range:a}=i,o=e.id.includes("row"),s=e.id.includes("insert"),l=o?a.startRow:a.startColumn,u=o?a.endRow:a.endColumn,c=u-l+1,d=[];n.forEach(e=>{let{startRow:t,endRow:r,startColumn:n,endColumn:i,rangeType:a}=e;s?o?l<=t&&(t+=c,r+=c):l<=n&&(n+=c,i+=c):o?uthis.refRangeHandle(e,h,m);d.forEach(e=>{this.disposableCollection.add(this._refRangeService.registerRefRange(e,f,h,m))})}}))}};function qIe(e,t){return t?e.getUniverSheetInstance(t):e.getCurrentUnitForType(Pi.UNIVER_SHEET)}function GIe(e,t){return t?e.getSheetBySheetId(t):e.getActiveSheet()}XIe=ewe([J_e(0,Y(Vc)),J_e(1,Y(VIe)),J_e(2,Y(dg)),J_e(3,Y(he)),J_e(4,Y(iwe)),J_e(5,Y(rSe))],XIe);const YIe={type:Bc.COMMAND,id:"sheet.command.remove-worksheet-merge",handler:(e,t)=>{var r;let n=e.get(rSe),i=e.get(Vc),a=e.get(Pg),o=(null==t?void 0:t.ranges)||(null==(r=n.getCurrentSelections())?void 0:r.map(e=>e.range));if(null==o||!o.length)return!1;let s=W_e(e.get(dg),t);if(!s)return!1;let{subUnitId:l,unitId:u,worksheet:c}=s,d={unitId:u,subUnitId:l,ranges:o},h=c.getConfig().mergeData.filter(e=>o.some(t=>Oh.intersects(t,e)));if(!h.length)return!1;let m=xwe(e,d),f=n.getCurrentSelections(),g=uu.deepClone(f),p=uu.deepClone(f);if(f.length){let e=p[p.length-1],{startRow:t,startColumn:r}=e.range;e.primary={startRow:t,startColumn:r,endRow:t,endColumn:r,actualRow:t,actualColumn:r,isMerged:!1,isMergedMainCell:!1}}let v={unitId:u,subUnitId:l,cellValue:QIe(c,h).getMatrix()},b=Zwe(e,v),C=[{id:Twe.id,params:m},{id:Kwe.id,params:v},{id:vSe.id,params:{unitId:u,subUnitId:l,selections:p,type:eSe.ONLY_SET}}],y=[{id:q_e.id,params:m},{id:Kwe.id,params:b},{id:vSe.id,params:{unitId:u,subUnitId:l,selections:g,type:eSe.ONLY_SET}}];return!!zc(C,i)&&(a.pushUndoRedo({unitID:u,undoMutations:y,redoMutations:C}),!0)}};function QIe(e,t){let r=new kd;return t.forEach(t=>{let{startRow:n,startColumn:i,endColumn:a,endRow:o}=t,s=e.getCellMatrix().getValue(n,i);if(null!=s&&s.s)for(let e=n;e<=o;e++)for(let t=i;t<=a;t++)(e!==n||t!==i)&&r.setValue(e,t,{s:s.s})}),r}let ZIe=function(e){return e.MergeAll="mergeAll",e.MergeVertical="mergeVertical",e.MergeHorizontal="mergeHorizontal",e}({});function KIe(e,t,r,n){let i=[],a=[],o=r.getSheetId();return n.forEach(n=>{let s={unitId:t,subUnitId:o,cellValue:$Ie(r,n).getData()},l=Zwe(e,s);i.push({id:Kwe.id,params:l}),a.push({id:Kwe.id,params:s})}),{undos:i,redos:a}}function $Ie(e,t){let{startRow:r,startColumn:n,endColumn:i,endRow:a}=t,o=e.getMatrixWithMergedCells(r,n,a,i,yd.Raw),s=new kd,l=null;return o.forValue((t,i,a)=>{var o,u;a&&t>=r&&i>=n&&(!l&&e.cellHasValue(a)&&(""!==a.v||(null==(o=null==(u=a.p)||null==(u=u.body)||null==(u=u.dataStream)?void 0:u.length)?0:o)>2)&&(l=a),s.setValue(t,i,a.s?{v:null,t:null,f:null,si:null,p:null,s:a.s}:null))}),s.setValue(r,n,l),s}const JIe={type:Bc.COMMAND,id:"sheet.command.add-worksheet-merge",handler:async(e,t)=>{let r=W_e(e.get(dg),t);if(!r)return!1;let{worksheet:n}=r,{unitId:i,subUnitId:a,selections:o}=t,s=e.get(Vc),l=e.get(Pg),u=WIe(o,t.value),c=function(e,t){return t.some(t=>function(e,t){let{startRow:r,startColumn:n,endColumn:i,endRow:a}=t,o=e.getMatrixWithMergedCells(r,n,a,i),s=!1;return o.forValue((t,i,a)=>{if(a&&(t!==r||i!==n)&&e.cellHasValue(a))return s=!0,!1}),s}(e,t))}(n,u);if(c&&!t.defaultMerge){let t=e.get(bf),r=e.get(Cg);if(!await t.confirm({id:"merge.confirm.add-worksheet-merge",title:{title:"merge.confirm.warning"},children:{title:"merge.confirm.title"},cancelText:r.t("merge.confirm.cancel"),confirmText:r.t("merge.confirm.confirm")}))return!1}let d=[],h=[],m={unitId:i,subUnitId:a,ranges:uu.deepClone(u)},f={unitId:i,subUnitId:a,ranges:uu.deepClone(u)},g=xwe(e,m),p=X_e(e,f);if(g.ranges.length>0&&d.push({id:Twe.id,params:g}),d.push({id:q_e.id,params:f}),h.push({id:Twe.id,params:p}),g.ranges.length>0&&h.push({id:q_e.id,params:g}),c){let t=KIe(e,i,n,u);d.unshift(...t.redos),h.push(...t.undos)}let v=((e,t,r)=>{let n=e.get(rSe).getCurrentSelections(),{value:i,selections:a,unitId:o,subUnitId:s}=t;if(n&&n.length>0){let e=n[(null==n?void 0:n.length)-1].primary;if(e){let{actualColumn:t,actualRow:l}=e,{startRow:u,startColumn:c,endRow:d,endColumn:h}=a[a.length-1];if(i===wu.COLUMNS){let e=r.find(e=>e.startColumn===t&&e.endColumn===t&&l===e.startRow);e&&(h=e.endColumn,u=e.startRow,d=e.endRow)}else if(i===wu.ROWS){let e=r.find(e=>e.startRow===l&&e.endRow===l&&t===e.startColumn);e&&(d=e.endRow,c=e.startColumn,h=e.endColumn)}let m={startRow:u,startColumn:c,endRow:d,endColumn:h,actualRow:l,actualColumn:t,isMerged:!0,isMergedMainCell:u===l&&c===t},f=n.map((e,t,r)=>({range:e.range,style:null,primary:t===r.length-1?m:null})),g={unitId:o,subUnitId:s,type:eSe.ONLY_SET,selections:f};return{id:vSe.id,params:g}}return null}return null})(e,t,u);v&&d.push(v);let b=((e,t)=>{let r=e.get(rSe).getCurrentSelections(),{unitId:n,subUnitId:i}=t;if(r&&r.length>0&&r[(null==r?void 0:r.length)-1].primary){let e={unitId:n,subUnitId:i,type:eSe.ONLY_SET,selections:[...r]};return{id:vSe.id,params:e}}return null})(e,t);b&&h.push(b);let C=e.get(iwe).onCommandExecute({id:JIe.id,params:{unitId:i,subUnitId:a,ranges:u}});return d.push(...C.redos),h.push(...C.undos),!!zc(d,s).result&&(l.pushUndoRedo({unitID:i,undoMutations:h,redoMutations:d}),!0)}},eRe={type:Bc.COMMAND,id:"sheet.command.add-worksheet-merge-all",handler:async e=>{var t;let r=null==(t=e.get(rSe).getCurrentSelections())?void 0:t.map(e=>e.range),n=iRe(ZIe.MergeAll,r);if(null==n||!n.length)return!1;let i=W_e(e.get(dg));if(!i)return!1;let{worksheet:a}=i,o=a.getUnitId(),s=a.getSheetId();return e.get(Vc).executeCommand(JIe.id,{selections:n,unitId:o,subUnitId:s})}},tRe={type:Bc.COMMAND,id:"sheet.command.add-worksheet-merge-vertical",handler:async e=>{var t;let r=null==(t=e.get(rSe).getCurrentSelections())?void 0:t.map(e=>e.range),n=iRe(ZIe.MergeVertical,r);if(null==n||!n.length)return!1;let i=W_e(e.get(dg));if(!i)return!1;let{worksheet:a}=i,o=a.getUnitId(),s=a.getSheetId();return e.get(Vc).executeCommand(JIe.id,{value:wu.COLUMNS,selections:n,unitId:o,subUnitId:s})}},rRe={type:Bc.COMMAND,id:"sheet.command.add-worksheet-merge-horizontal",handler:async e=>{var t;let r=null==(t=e.get(rSe).getCurrentSelections())?void 0:t.map(e=>e.range),n=iRe(ZIe.MergeHorizontal,r);if(null==n||!n.length)return!1;let i=W_e(e.get(dg));if(!i)return!1;let{workbook:a,worksheet:o}=i,s=a.getUnitId(),l=o.getSheetId();return e.get(Vc).executeCommand(JIe.id,{value:wu.ROWS,selections:n,unitId:s,subUnitId:l})}};function nRe(e,t,r,n,i={}){let a=W_e(e.get(dg),{unitId:t,subUnitId:r});if(!a)return;let o=e.get(Vc),{defaultMerge:s=!0,isForceMerge:l=!1}=i,{worksheet:u}=a;if(u.getMergeData().some(e=>n.some(t=>Oh.intersects(t,e)))){if(!l)throw Error("The ranges to be merged overlap with the existing merged cells");o.syncExecuteCommand(YIe.id,{unitId:t,subUnitId:r,ranges:n})}o.executeCommand(JIe.id,{unitId:t,subUnitId:r,selections:n,defaultMerge:s})}function iRe(e,t){return t?e===ZIe.MergeAll?t.filter(e=>!(e.startRow===e.endRow&&e.startColumn===e.endColumn)):e===ZIe.MergeVertical?t.filter(e=>e.startRow!==e.endRow):e===ZIe.MergeHorizontal?t.filter(e=>e.startColumn!==e.endColumn):t:null}var aRe=class{constructor(){$_e(this,"_model",new Map),$_e(this,"_ruleChange",new On),$_e(this,"_ruleRefresh",new On),$_e(this,"_resetOrder",new On),$_e(this,"ruleChange$",this._ruleChange.asObservable()),$_e(this,"ruleRefresh$",this._ruleRefresh.asObservable()),$_e(this,"resetOrder$",this._resetOrder.asObservable()),$_e(this,"_worksheetRuleInitStateChange",new Qn(!1)),$_e(this,"worksheetRuleInitStateChange$",this._worksheetRuleInitStateChange.asObservable())}changeRuleInitState(e){this._worksheetRuleInitStateChange.next(e)}getSheetRuleInitState(){return this._worksheetRuleInitStateChange.value}addRule(e,t){this._ensureSubUnitMap(e).set(t.subUnitId,t),this._ruleChange.next({unitId:e,rule:t,type:"add",subUnitId:t.subUnitId})}deleteRule(e,t){var r;let n=null==(r=this._model)||null==(r=r.get(e))?void 0:r.get(t);var i;n&&(null==(i=this._model.get(e))||i.delete(t),this._ruleChange.next({unitId:e,rule:n,type:"delete",subUnitId:t}))}setRule(e,t,r){let n=this.getRule(e,t);var i;n&&(null==(i=this._model)||null==(i=i.get(e))||i.set(t,r),this._ruleChange.next({unitId:e,oldRule:n,rule:r,type:"set",subUnitId:t}))}getRule(e,t){var r;return null==(r=this._model)||null==(r=r.get(e))?void 0:r.get(t)}toObject(){let e={};return[...this._model.keys()].forEach(t=>{let r=this._model.get(t);null!=r&&r.size&&(e[t]=[],[...r.keys()].forEach(n=>{let i=r.get(n);i&&e[t].push(i)}))}),e}fromObject(e){let t=new Map;Object.keys(e).forEach(r=>{let n=e[r];if(null!=n&&n.length){let e=new Map;n.forEach(t=>{e.set(t.subUnitId,t)}),t.set(r,e)}}),this._model=t}deleteUnitModel(e){this._model.delete(e)}_ensureSubUnitMap(e){let t=this._model.get(e);return t||(t=new Map,this._model.set(e,t)),t}ruleRefresh(e){this._ruleRefresh.next(e)}resetOrder(){this._resetOrder.next(Math.random())}getTargetByPermissionId(e,t){let r=this._model.get(e);if(!r)return null;for(let[n,i]of r)if(i.permissionId===t)return[e,n]}};const oRe={id:"sheet.mutation.add-worksheet-protection",type:Bc.MUTATION,handler:(e,t)=>{let r=e.get(aRe),{unitId:n,rule:i}=t;return r.addRule(n,i),!0}},sRe={id:"sheet.mutation.delete-worksheet-protection",type:Bc.MUTATION,handler:(e,t)=>{let r=e.get(aRe),{unitId:n,subUnitId:i}=t;return r.deleteRule(n,i),!0}},lRe={type:Bc.COMMAND,id:"sheet.command.add-worksheet-protection",async handler(e,t){if(!t)return!1;let r=e.get(Vc),n=e.get(Pg),{rule:i,unitId:a}=t,o=i.subUnitId;if(await r.executeCommand(oRe.id,{unitId:a,rule:i,subUnitId:i.subUnitId})){let e=[{id:oRe.id,params:{unitId:a,rule:i,subUnitId:i.subUnitId}}],t=[{id:sRe.id,params:{unitId:a,subUnitId:o}}];n.pushUndoRedo({unitID:a,redoMutations:e,undoMutations:t})}return!0}},uRe={type:Bc.COMMAND,id:"sheet.command.set-worksheet-range-theme-style",handler:(e,t)=>{let r=e.get(Vc),n=e.get(Pg),{unitId:i}=t,a=((e,t)=>{let r=z_e(e.get(dg),t);if(!r)throw Error("[SetWorksheetRangeThemeStyleMutation]: worksheet is null error!");let{worksheet:n}=r;return{unitId:t.unitId,subUnitId:n.getSheetId(),range:t.range,themeName:t.themeName}})(e,t);return!!r.syncExecuteCommand(vwe.id,t)&&(n.pushUndoRedo({unitID:i,undoMutations:[{id:bwe.id,params:a}],redoMutations:[{id:vwe.id,params:t}]}),!0)}},cRe={type:Bc.COMMAND,id:"sheet.command.append-row",handler:(e,t)=>{let r=e.get(Vc),n=e.get(Pg),{unitId:i,subUnitId:a,cellValue:o,insertRowNums:s,insertColumnNums:l,maxRows:u,maxColumns:c}=t,d={unitId:i,subUnitId:a,cellValue:o},h=Zwe(e,d),m=[{id:Kwe.id,params:d}],f=[{id:Kwe.id,params:h}];if(s){let t={unitId:i,subUnitId:a,range:{startRow:u,endRow:u,startColumn:0,endColumn:c-1}},r=Cwe(e,t);m.unshift({id:ywe.id,params:t}),f.push({id:Iwe.id,params:r})}if(l){let t={unitId:i,subUnitId:a,range:{startRow:0,endRow:u-1,startColumn:c,endColumn:c-1+l}},r=_we(e,t);m.unshift({id:wwe.id,params:t}),f.push({id:Rwe.id,params:r})}return!!zc(m,r).result&&(n.pushUndoRedo({unitID:i,undoMutations:f,redoMutations:m}),!0)}},dRe=["ff","fs","tr","tb"],hRe={type:Bc.COMMAND,id:"sheet.command.set-style",handler:(e,t)=>{var r;let n=W_e(e.get(dg),t);if(!n)return!1;let{unitId:i,subUnitId:a,worksheet:o}=n,{range:s,style:l}=t,u=e.get(Vc),c=e.get(Pg),d=e.get(rSe),h=s?[s]:null==(r=d.getCurrentSelections())?void 0:r.map(e=>e.range);if(null==h||!h.length)return!1;let m=new kd,f=function(e){return{forOperableEach:function(t,r){!function(t){for(let n=t.startRow;n<=t.endRow;n++)if(!e.getRowFiltered(n))for(let e=t.startColumn;e<=t.endColumn;e++)r(n,e,t)}(t)}}}(o);if(uu.isArray(l.value))for(let e=0;e{m.setValue(e,t,{s:{[l.type]:l.value[e-r.startRow][t-r.startColumn]}})});else for(let e=0;em.setValue(e,r,t))}let g={subUnitId:a,unitId:i,cellValue:m.getMatrix()},p=e.get(KAe).getSkeleton(i,a),v=Zwe(e,g),b=null;if(dRe.includes(null==t?void 0:t.style.type)){let{suitableRanges:e,remainingRanges:t}=JAe(h,p);b={suitableRanges:e,remainingRanges:t,cellHeights:$Ae(e,o)}}let C=u.syncExecuteCommand(Kwe.id,g),y=e.get(iwe),_=[],w=[];if(b){let{suitableRanges:e,remainingRanges:t,cellHeights:r}=b,{undos:n,redos:o}=y.generateMutationsOfAutoHeight({unitId:i,subUnitId:a,ranges:e,autoHeightRanges:e,lazyAutoHeightRanges:t,cellHeights:r});_=n,w=o}let{undos:E,redos:S}=y.onCommandExecute({id:hRe.id,params:t}),A=zc([...S,...w],u);return!(!C||!A.result||(c.pushUndoRedo({unitID:g.unitId,undoMutations:[{id:Kwe.id,params:v},...E,..._],redoMutations:[{id:Kwe.id,params:g},...S,...w]}),0))}},mRe={type:Bc.COMMAND,id:"sheet.command.set-bold",handler:e=>{let t=e.get(rSe).getCurrentLastSelection();if(!t)return!1;let r=W_e(e.get(dg));if(!r)return!1;let{worksheet:n}=r,{actualRow:i,actualColumn:a}=t.primary,o={style:{type:"bl",value:n.getRange(i,a).getFontWeight()===Uu.BOLD?Vu.FALSE:Vu.TRUE}};return e.get(Vc).syncExecuteCommand(hRe.id,o)}},fRe={type:Bc.COMMAND,id:"sheet.command.set-italic",handler:e=>{let t=e.get(rSe).getCurrentLastSelection();if(!t)return!1;let r=W_e(e.get(dg));if(!r)return!1;let{worksheet:n}=r,i=!0;if(t.primary){let{startRow:e,startColumn:r}=t.primary;i=n.getRange(e,r).getFontStyle()===Du.ITALIC}let a={style:{type:"it",value:i?Vu.FALSE:Vu.TRUE}};return e.get(Vc).syncExecuteCommand(hRe.id,a)}},gRe={type:Bc.COMMAND,id:"sheet.command.set-underline",handler:e=>{let t=e.get(rSe).getCurrentLastSelection();if(!t)return!1;let r=W_e(e.get(dg));if(!r)return!1;let{worksheet:n}=r,i=!0;t.primary&&(i=!!n.getRange(t.primary.startRow,t.primary.startColumn).getUnderline().s);let a={style:{type:"ul",value:{s:i?Vu.FALSE:Vu.TRUE}}};return e.get(Vc).syncExecuteCommand(hRe.id,a)}},pRe={type:Bc.COMMAND,id:"sheet.command.set-stroke",handler:e=>{let t=e.get(rSe).getCurrentLastSelection();if(!t)return!1;let r=W_e(e.get(dg));if(!r)return!1;let{worksheet:n}=r,i=!0;t.primary&&(i=!!n.getRange(t.primary.actualRow,t.primary.actualColumn).getStrikeThrough().s);let a={style:{type:"st",value:{s:i?Vu.FALSE:Vu.TRUE}}};return e.get(Vc).syncExecuteCommand(hRe.id,a)}},vRe=(Bc.COMMAND,{type:Bc.COMMAND,id:"sheet.command.set-font-family",handler:(e,t)=>{if(!t)return!1;let r=e.get(Vc),n={style:{type:"ff",value:t.value}};return r.syncExecuteCommand(hRe.id,n)}}),bRe={type:Bc.COMMAND,id:"sheet.command.set-font-size",handler:(e,t)=>{if(!t)return!1;let r=e.get(Vc),n={style:{type:"fs",value:t.value}};return r.syncExecuteCommand(hRe.id,n)}},CRe={type:Bc.COMMAND,id:"sheet.command.set-text-color",handler:(e,t)=>{if(!t)return!1;let r=e.get(Vc),n={style:{type:"cl",value:{rgb:t.value}}};return r.syncExecuteCommand(hRe.id,n)}},yRe={type:Bc.COMMAND,id:"sheet.command.reset-text-color",handler:e=>e.get(Vc).syncExecuteCommand(hRe.id,{style:{type:"cl",value:{rgb:null}}})},_Re={type:Bc.COMMAND,id:"sheet.command.set-background-color",handler:(e,t)=>{if(!t||!t.value)return!1;let r=e.get(Vc),n={style:{type:"bg",value:{rgb:t.value}}};return r.syncExecuteCommand(hRe.id,n)}},wRe={type:Bc.COMMAND,id:"sheet.command.reset-background-color",handler:e=>e.get(Vc).syncExecuteCommand(hRe.id,{style:{type:"bg",value:{rgb:null}}})},ERe={type:Bc.COMMAND,id:"sheet.command.set-vertical-text-align",handler:(e,t)=>{if(!t)return!1;let r=e.get(Vc),n={unitId:t.unitId,subUnitId:t.subUnitId,range:t.range,style:{type:"vt",value:t.value}};return r.syncExecuteCommand(hRe.id,n)}},SRe={type:Bc.COMMAND,id:"sheet.command.set-horizontal-text-align",handler:(e,t)=>{if(!t)return!1;let r=e.get(Vc),n={unitId:t.unitId,subUnitId:t.subUnitId,range:t.range,style:{type:"ht",value:t.value}};return r.syncExecuteCommand(hRe.id,n)}},ARe={type:Bc.COMMAND,id:"sheet.command.set-text-wrap",handler:(e,t)=>{if(!t)return!1;let r=e.get(Vc),n={unitId:t.unitId,subUnitId:t.subUnitId,range:t.range,style:{type:"tb",value:t.value}};return r.syncExecuteCommand(hRe.id,n)}},IRe={type:Bc.COMMAND,id:"sheet.command.set-text-rotation",handler:(e,t)=>{if(!t)return!1;let r="number"==typeof t.value?{a:t.value}:{a:0,v:Vu.TRUE},n=e.get(Vc),i={unitId:t.unitId,subUnitId:t.subUnitId,range:t.range,style:{type:"tr",value:r}};return n.syncExecuteCommand(hRe.id,i)}},RRe={零:0,一:1,二:2,三:3,四:4,五:5,六:6,七:7,八:8,九:9},xRe=["零","一","二","三","四","五","六","七","八","九"],TRe=["","万","亿","万亿","亿亿"],NRe=["","十","百","千"],MRe={十:{value:10,secUnit:!1},百:{value:100,secUnit:!1},千:{value:1e3,secUnit:!1},万:{value:1e4,secUnit:!0},亿:{value:1e8,secUnit:!0}};function ORe(e){if(!e)return 0;let t=0,r=0,n=0,i=!1,a=e.split("");for(let e=0;e0;){let a=e%10;0===a?i||(i=!0,r=xRe[a]+r):(i=!1,t=xRe[a],t+=NRe[n],r=t+r),n++,e=Math.floor(e/10)}return r}function kRe(e){let t=0,r="",n="",i=!1;if(0===e)return xRe[0];for(;e>0;){let a=e%1e4;i&&(n=xRe[0]+n),r=LRe(a),r+=0===a?TRe[0]:TRe[t],n=r+n,i=a<1e3&&a>0,e=Math.floor(e/1e4),t++}return n}function PRe(e){let t=!0,r=e[1]/e[0];for(let n=1;n0){let t=r[r.length-1],n=e.lastIndexOf(t),i=e.substr(0,n),a=e.substr(n+t.length);return{isExtendNumber:!0,matchTxt:Number(t),beforeTxt:i,afterTxt:a}}return{isExtendNumber:!1}}return{isExtendNumber:r}},isChnWeek1:function(e){let t;return t=1===e.length&&("日"===e||ORe(e)<7),t},isChnWeek2:function(e){let t;return t=2===e.length&&("周一"===e||"周二"===e||"周三"===e||"周四"===e||"周五"===e||"周六"===e||"周日"===e),t},isChnWeek3:function(e){let t;return t=3===e.length&&("星期一"===e||"星期二"===e||"星期三"===e||"星期四"===e||"星期五"===e||"星期六"===e||"星期日"===e),t},getLenS:function(e,t){let r=0;for(let n=0;n0){for(let t=0;t2&&PRe(i))for(let r=1;r<=t;r++){var o,s,l;let t=(r-1)%e.length,i=uu.deepClone(e[t]);FRe(i);let a=Number(null==(o=e[e.length-1])?void 0:o.v)*(Number(null==(s=e[1])?void 0:s.v)/Number(null==(l=e[0])?void 0:l.v))**r;i&&(VRe(i)&&(i.v=a),n.push(i))}else{let a=DRe(e.length);for(let o=1;o<=t;o++){let t=(o-1)%e.length,s=uu.deepClone(e[t]);FRe(s);let l=r===Eu.DOWN||r===Eu.RIGHT,u=URe(e.length+o,i,a,l);s&&(VRe(s)&&(s.v=u),n.push(s))}}return n},forecast:URe,fillExtendNumber:function(e,t,r){let n=[],i=/0|([1-9]+[0-9]*)/g;for(let o=1;o<=t;o++){var a;let t=(o-1)%e.length,s=uu.deepClone(e[t]);FRe(s);let l=`${null==(a=e[e.length-1])?void 0:a.v}`;if(!l)continue;let u=null==l?void 0:l.match(i),c=null==u?void 0:u[u.length-1];if(!c)continue;let d=Math.abs(Number(c)+r*o),h=l.lastIndexOf(c),m=l.substr(0,h)+d.toString()+l.substr(h+c.length);s&&(s.v=m,n.push(s))}return n},fillOnlyFormat:function(e,t){let r=[];for(let n=1;n<=t;n++){let t=(n-1)%e.length,i=uu.deepClone(e[t]);FRe(i),i&&(delete i.v,r.push(i))}return r},fillChnWeek:function(e,t,r,n=0){let i=[["日","一","二","三","四","五","六"],["周日","周一","周二","周三","周四","周五","周六"],["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]];if(n>=i.length)return[];let a=i[n],o=[];for(let n=1;n<=t;n++){var s;let t=(n-1)%e.length,i=uu.deepClone(e[t]);FRe(i);let u=0;if((null==(s=e[e.length-1])?void 0:s.v)===a[0])u=7+r*n;else{var l;let t=`${null==(l=e[e.length-1])?void 0:l.v}`;t&&(u=ORe(t.substr(t.length-1,1))+r*n)}u<0&&(u=7*Math.ceil(Math.abs(u)/7)+u);let c=u%7;i&&(i.v=a[c],o.push(i))}return o},fillChnNumber:function(e,t,r){let n=[];for(let a=1;a<=t;a++){var i;let t=(a-1)%e.length,o=uu.deepClone(e[t]);FRe(o);let s,l=ORe(`${null==(i=e[e.length-1])?void 0:i.v}`)+r*a;s=l<=0?"零":kRe(l),o&&(o.v=s,n.push(o))}return n},isLoopSeries:function(e){let t=!1;return Object.keys(BRe).forEach(r=>{BRe[r].includes(e)&&(t=!0)}),t},getLoopSeriesInfo:function(e){let t="",r=[];return Object.keys(BRe).forEach(n=>{BRe[n].includes(e)&&(t=n,r.push(...BRe[n]))}),{name:t,series:r}},fillLoopSeries:function(e,t,r,n){let i=n.length,a=[];for(let s=1;s<=t;s++){var o;let t=(s-1)%e.length,l=uu.deepClone(e[t]);FRe(l);let u=`${null==(o=e[e.length-1])?void 0:o.v}`,c=n.indexOf(u)+r*s;c<0&&(c+=Math.abs(r)*i);let d=c%i;l&&(l.v=n[d],a.push(l))}return a},getAutoFillRepeatRange:function(e,t){let r,n=[];if(t.startRowe.endRow)r=Eu.DOWN;else if(t.startColumne.endColumn))return[];r=Eu.RIGHT}if(r===Eu.DOWN||r===Eu.UP){let i=e.endRow-e.startRow+1,a=t.endRow-t.startRow+1,o=Math.floor(a/i),s=a%i,l={startRow:0,startColumn:0,endRow:e.endRow-e.startRow,endColumn:e.endColumn-e.startColumn};if(r===Eu.DOWN){for(let t=0;t0&&n.push({repeatStartCell:{row:e.startRow+(o+1)*i,col:e.startColumn},relativeRange:{startRow:0,startColumn:0,endRow:s-1,endColumn:e.endColumn-e.startColumn}})}else{for(let t=0;t0&&n.push({repeatStartCell:{row:e.startRow-(o+1)*i,col:e.startColumn},relativeRange:{startRow:i-s,endRow:i-1,startColumn:0,endColumn:e.endColumn-e.startColumn}})}}if(r===Eu.RIGHT||r===Eu.LEFT){let i=e.endColumn-e.startColumn+1,a=t.endColumn-t.startColumn+1,o=Math.floor(a/i),s=a%i,l={startRow:0,startColumn:0,endRow:e.endRow-e.startRow,endColumn:e.endColumn-e.startColumn};if(r===Eu.RIGHT){for(let t=0;t0&&n.push({repeatStartCell:{row:e.startRow,col:e.startColumn+(o+1)*i},relativeRange:{startRow:0,startColumn:0,endRow:e.endRow-e.startRow,endColumn:s-1}})}else{for(let t=0;t0&&n.push({repeatStartCell:{row:e.startRow,col:e.startColumn-(o+1)*i},relativeRange:{startRow:0,startColumn:i-s,endRow:e.endRow-e.startRow,endColumn:i-1}})}}return n},needsUpdateCellValue:VRe,removeCellCustom:FRe,reverseIfNeed:function(e,t){return t?e.reverse():e},generateNullCellValueRowCol:function(e){let t=new kd;return e.forEach(e=>{let{rows:r,cols:n}=e;r.forEach(e=>{n.forEach(r=>{t.setValue(e,r,{v:null,p:null,f:null,si:null,custom:null})})})}),t.clone()}};let HRe=function(e){return e.COPY="COPY",e.SERIES="SERIES",e.ONLY_FORMAT="ONLY_FORMAT",e.NO_FORMAT="NO_FORMAT",e}({}),WRe=function(e){return e.NUMBER="number",e.DATE="date",e.EXTEND_NUMBER="extendNumber",e.CHN_NUMBER="chnNumber",e.CHN_WEEK2="chnWeek2",e.CHN_WEEK3="chnWeek3",e.LOOP_SERIES="loopSeries",e.FORMULA="formula",e.OTHER="other",e}({}),zRe=function(e){return e.APPEND="APPEND",e.DEFAULT="DEFAULT",e.ONLY="ONLY",e}({});const{chineseToNumber:XRe,fillChnNumber:qRe,fillChnWeek:GRe,fillCopy:YRe,fillExtendNumber:QRe,fillLoopSeries:ZRe,fillSeries:KRe,getLoopSeriesInfo:$Re,isChnNumber:JRe,isChnWeek2:exe,isChnWeek3:txe,isEqualDiff:rxe,isLoopSeries:nxe,matchExtendNumber:ixe,reverseIfNeed:axe}=jRe,oxe={dateRule:{type:WRe.DATE,priority:1100,match:(e,t)=>{if(null!=e&&e.f||null!=e&&e.si)return!1;if(("number"==typeof(null==e?void 0:e.v)||(null==e?void 0:e.t)===Fu.NUMBER)&&e.s)if("string"==typeof e.s){var r;let n=t.get(dg).getCurrentUnitOfType(Pi.UNIVER_SHEET);if(!n)return!1;let i=n.getStyles().get(e.s),a=null==i||null==(r=i.n)?void 0:r.pattern;if(a)return _s(a).isDate}else if(e.s.n&&_s(e.s.n.pattern).isDate)return!0;return!1},isContinue:(e,t)=>e.type===WRe.DATE,applyFunctions:{[HRe.SERIES]:(e,t,r)=>{let{data:n}=e;return r===Eu.LEFT||r===Eu.UP?(n.reverse(),KRe(n,t,r).reverse()):KRe(n,t,r)}}},numberRule:{type:WRe.NUMBER,priority:1e3,match:e=>"number"==typeof(null==e?void 0:e.v)||(null==e?void 0:e.t)===Fu.NUMBER,isContinue:(e,t)=>e.type===WRe.NUMBER,applyFunctions:{[HRe.SERIES]:(e,t,r)=>{let{data:n}=e;return r===Eu.LEFT||r===Eu.UP?(n.reverse(),KRe(n,t,r).reverse()):KRe(n,t,r)}}},extendNumberRule:{type:WRe.EXTEND_NUMBER,priority:900,match:e=>ixe(`${null==e?void 0:e.v}`||"").isExtendNumber,isContinue:(e,t)=>{if(e.type===WRe.EXTEND_NUMBER){var r;let{beforeTxt:n,afterTxt:i}=ixe(`${null==(r=e.cellData)?void 0:r.v}`||""),{beforeTxt:a,afterTxt:o}=ixe(`${null==t?void 0:t.v}`||"");if(n===a&&i===o)return!0}return!1},applyFunctions:{[HRe.SERIES]:(e,t,r)=>{let n,{data:i}=e,a=r===Eu.UP||r===Eu.LEFT;if(1===i.length)return n=a?-1:1,axe(QRe(i,t,n),a);let o=[];for(let e=0;e!!JRe(`${null==e?void 0:e.v}`||""),isContinue:(e,t)=>e.type===WRe.CHN_NUMBER,applyFunctions:{[HRe.SERIES]:(e,t,r)=>{let{data:n}=e,i=r===Eu.LEFT||r===Eu.UP;if(1===n.length){var a;let e,r=`${null==(a=n[0])?void 0:a.v}`;return e=i?-1:1,r&&("日"===r||XRe(r)<7)?axe(GRe(n,t,e),i):axe(qRe(n,t,e),i)}let o=!1;for(let e=0;e0&&XRe(t)<7?l.push(XRe(t)+7*u):l.push(XRe(t))}return i&&(n.reverse(),l.reverse()),rxe(l)?o||l[l.length-1]<6&&l[0]>0||l[0]<6&&l[l.length-1]>0?axe(GRe(n,t,l[1]-l[0]),i):axe(qRe(n,t,l[1]-l[0]),i):YRe(n,t)}}},chnWeek2Rule:{type:WRe.CHN_WEEK2,priority:820,match:e=>!!exe(`${null==e?void 0:e.v}`||""),isContinue:(e,t)=>e.type===WRe.CHN_WEEK2,applyFunctions:{[HRe.SERIES]:(e,t,r)=>{let{data:n}=e,i=r===Eu.LEFT||r===Eu.UP;if(1===n.length){let e;return e=i?-1:1,axe(GRe(n,t,e,1),i)}let a=[],o=0;for(let e=0;etxe(`${null==e?void 0:e.v}`||""),isContinue:(e,t)=>e.type===WRe.CHN_WEEK3,applyFunctions:{[HRe.SERIES]:(e,t,r)=>{let{data:n}=e,i=r===Eu.LEFT||r===Eu.UP;if(1===n.length){let e;return e=i?-1:1,axe(GRe(n,t,e,2),i)}let a=[],o=0;for(let e=0;enxe(`${null==e?void 0:e.v}`||""),isContinue:(e,t)=>{var r;return e.type===WRe.LOOP_SERIES&&$Re(`${null==(r=e.cellData)?void 0:r.v}`||"").name===$Re(`${null==t?void 0:t.v}`||"").name},applyFunctions:{[HRe.SERIES]:(e,t,r)=>{var n;let{data:i}=e,a=r===Eu.LEFT||r===Eu.UP,{series:o}=$Re(`${null==(n=i[0])?void 0:n.v}`||"");if(1===i.length){let e;return e=a?-1:1,axe(ZRe(i,t,e,o),a)}let s=[],l=0;for(let e=0;e!0,isContinue:(e,t)=>e.type===WRe.OTHER}},{chnNumberRule:sxe,chnWeek2Rule:lxe,chnWeek3Rule:uxe,dateRule:cxe,extendNumberRule:dxe,loopSeriesRule:hxe,numberRule:mxe,otherRule:fxe}=oxe;let gxe=class extends tu{constructor(e,t,r,n){super(),this._commandService=e,this._undoRedoService=t,this._univerInstanceService=r,this._injector=n,$_e(this,"_rules",[]),$_e(this,"_hooks",[]),$_e(this,"_applyType$",new Qn(HRe.SERIES)),$_e(this,"_isFillingStyle",!0),$_e(this,"_prevUndos",[]),$_e(this,"_autoFillLocation$",new Qn(null)),$_e(this,"autoFillLocation$",this._autoFillLocation$.asObservable()),$_e(this,"_showMenu$",new Qn(!1)),$_e(this,"showMenu$",this._showMenu$.asObservable()),$_e(this,"_direction",Eu.DOWN),$_e(this,"applyType$",this._applyType$.asObservable()),$_e(this,"_menu$",new Qn([{label:"autoFill.copy",value:HRe.COPY,disable:!1},{label:"autoFill.series",value:HRe.SERIES,disable:!1},{label:"autoFill.formatOnly",value:HRe.ONLY_FORMAT,disable:!1},{label:"autoFill.noFormat",value:HRe.NO_FORMAT,disable:!1}])),$_e(this,"menu$",this._menu$.asObservable()),this._init()}_init(){this._rules=[cxe,mxe,dxe,sxe,lxe,uxe,hxe,fxe].sort((e,t)=>t.priority-e.priority),this._isFillingStyle=!0}_getOneByPriority(e){return e.length<=0?[]:[e.reduce((e,t)=>(t.priority||0)>(e.priority||0)?t:e,e[0])]}_initPrevUndo(){this._prevUndos=[]}async triggerAutoFill(e,t,r,n,i){var a;if(r.startColumn===n.startColumn&&r.startRow===n.startRow&&r.endColumn===n.endColumn&&r.endRow===n.endRow)return!1;if(n.endColumnr.startColumn)return this._commandService.executeCommand(_xe.id,{clearRange:{startRow:n.startRow,endRow:n.endRow,startColumn:n.endColumn+1,endColumn:r.endColumn},selectionRange:n});if(n.endRowr.startRow)return this._commandService.executeCommand(_xe.id,{clearRange:{startRow:n.endRow+1,endRow:r.endRow,startColumn:n.startColumn,endColumn:n.endColumn},selectionRange:n});let o={startRow:n.startRow,endRow:n.endRow,startColumn:n.startColumn,endColumn:n.endColumn},s=null;if(n.startRowr.endRow)s=Eu.DOWN,o.startRow=r.endRow+1;else if(n.startColumnr.endColumn))return!1;s=Eu.RIGHT,o.startColumn=r.endColumn+1}this.direction=s;let l=this._injector.invoke(e=>qEe(r,e)),u=this._injector.invoke(e=>qEe(o,e));if(!l||!u)return!1;this.autoFillLocation={source:l,target:u,unitId:e,subUnitId:t};let c=[];if(this.getActiveHooks().forEach(r=>{var n;let i=null==r||null==(n=r.onBeforeFillData)?void 0:n.call(r,{source:l,target:u,unitId:e,subUnitId:t},s);i&&c.unshift(i)}),this._initPrevUndo(),i)return this.fillData(i);for(let e=0;et.value===c[e]);if(t&&!t.disable)return this.fillData(c[e])}let d=null==(a=this.menu.find(e=>!1===e.disable))?void 0:a.value;return!!d&&this.fillData(d)}addHook(e){if(this._hooks.find(t=>t.id===e.id))throw Error(`Add hook failed, hook id '${e.id}' already exist!`);return void 0===e.priority&&(e.priority=0),void 0===e.type&&(e.type=zRe.APPEND),this._hooks.push(e),Jl(()=>{let t=this._hooks.findIndex(t=>t===e);t>-1&&this._hooks.splice(t,1)})}registerRule(e){if(this._rules.find(t=>t.type===e.type))throw Error(`Registry rule failed, type '${e.type}' already exist!`);let t=this._rules.findIndex(t=>t.priority{var a;return!(null!=(a=i.disable)&&a.call(i,{source:e,target:t,unitId:r,subUnitId:n},this._direction,this.applyType))}),a=i.filter(e=>e.type===zRe.ONLY);if(a.length>0)return this._getOneByPriority(a);let o=this._getOneByPriority(i.filter(e=>e.type===zRe.DEFAULT)),s=i.filter(e=>e.type===zRe.APPEND)||[];return[...o,...s]}get applyType(){return this._applyType$.getValue()}set applyType(e){this._applyType$.next(e)}get menu(){return this._menu$.getValue()}get direction(){return this._direction}set direction(e){this._direction=e}isFillingStyle(){return this._isFillingStyle}setFillingStyle(e){this._isFillingStyle=e}get autoFillLocation(){return this._autoFillLocation$.getValue()}set autoFillLocation(e){this._autoFillLocation$.next(e)}setDisableApplyType(e,t){this._menu$.next(this._menu$.getValue().map(r=>r.value===e?{...r,disable:t}:r))}setShowMenu(e){this._showMenu$.next(e)}fillData(e){var t;this.applyType=e;let r=this._univerInstanceService.getCurrentUnitOfType(Pi.UNIVER_SHEET),n=null==r?void 0:r.getUnitId(),i=null==r||null==(t=r.getActiveSheet())?void 0:t.getSheetId(),{source:a,target:o,unitId:s=n,subUnitId:l=i}=this.autoFillLocation||{};if(!(a&&o&&s&&l))return!1;let u=this._univerInstanceService.getUnit(s,Pi.UNIVER_SHEET);if(!u)return!1;let c=u.getSheetBySheetId(l);if(!c)return!1;let d=this.direction;this._prevUndos.length>0&&this._prevUndos.forEach(e=>{this._commandService.syncExecuteCommand(e.id,e.params)}),this._prevUndos=[];let h=Oh.union(XEe(a),XEe(o)),m=this.getActiveHooks();s===n&&l===i&&this._commandService.syncExecuteCommand(vSe.id,{selections:[{primary:cSe({startRow:a.rows[0],endRow:a.rows[a.rows.length-1],startColumn:a.cols[0],endColumn:a.cols[a.cols.length-1]},c),range:{...h,rangeType:pd.NORMAL}}],unitId:s,subUnitId:l});let f=[],g=[];m.forEach(t=>{var r;let{undos:n,redos:i}=(null==(r=t.onFillData)?void 0:r.call(t,{source:a,target:o,unitId:s,subUnitId:l},d,e))||{};n&&f.push(...n),i&&g.push(...i)});let p=g.every(e=>this._commandService.syncExecuteCommand(e.id,e.params)),{redos:v,undos:b}=this._getAutoHeightUndoRedos(g,u,c);return g.push(...v),f.push(...b),p&&(this._prevUndos=f,this._undoRedoService.pushUndoRedo({unitID:s,undoMutations:f,redoMutations:g})),m.forEach(t=>{var r;null==(r=t.onAfterFillData)||r.call(t,{source:a,target:o,unitId:s,subUnitId:l},d,e)}),this.setShowMenu(!0),!0}_getAutoHeightUndoRedos(e,t,r){if(this.applyType===HRe.NO_FORMAT)return{undos:[],redos:[]};let n=[],i=r.getConfig().defaultRowHeight,a=r.getRowManager();if(e.forEach(e=>{if(e.id===Kwe.id){let{cellValue:o}=e.params;new kd(o).forValue((e,o,s)=>{let l=Object.keys(t.getStyles().get(null==s?void 0:s.s)||{});if(null!=s&&s.p||l.length&&dRe.some(e=>l.includes(e))){let t=r.getCellHeight(e,o),s=a.getRow(e);(!s&&t!==i||s&&t!==a.getRowHeight(e))&&n.push({row:e,autoHeight:t})}})}}),0===n.length)return{undos:[],redos:[]};let o={unitId:t.getUnitId(),subUnitId:r.getSheetId(),rowsAutoHeightInfo:n},s=uEe(o,r),l={id:hEe.id,params:o};return this._commandService.syncExecuteCommand(l.id,l.params)?{redos:[l],undos:[{id:hEe.id,params:s}]}:{undos:[],redos:[]}}};gxe=ewe([J_e(0,Vc),J_e(1,Pg),J_e(2,Y(dg)),J_e(3,Y(he))],gxe);const pxe=V("univer.auto-fill-service"),vxe={type:Bc.COMMAND,id:"sheet.command.auto-fill",handler:async(e,t)=>{let r=W_e(e.get(dg),t);if(!r)return!1;let{unitId:n,subUnitId:i}=r,{sourceRange:a,targetRange:o,applyType:s}=t;return e.get(pxe).triggerAutoFill(n,i,a,o,s)}};async function bxe(e,t){let r=function(e,t){let r=e.get(rSe).getCurrentLastSelection();if(!r)return null;let n=W_e(e.get(dg));if(!n)return null;let{unitId:i,subUnitId:a}=n,{startRow:o,endRow:s,startColumn:l,endColumn:u}=r.range;return"down"===t?o===s?0===o?null:{sourceRange:{startRow:o-1,endRow:o-1,startColumn:l,endColumn:u},targetRange:{startRow:o-1,endRow:s,startColumn:l,endColumn:u},unitId:i,subUnitId:a,applyType:HRe.COPY}:{sourceRange:{startRow:o,endRow:o,startColumn:l,endColumn:u},targetRange:{startRow:o,endRow:s,startColumn:l,endColumn:u},unitId:i,subUnitId:a,applyType:HRe.COPY}:l===u?0===l?null:{sourceRange:{startRow:o,endRow:s,startColumn:l-1,endColumn:l-1},targetRange:{startRow:o,endRow:s,startColumn:l-1,endColumn:u},unitId:i,subUnitId:a,applyType:HRe.COPY}:{sourceRange:{startRow:o,endRow:s,startColumn:l,endColumn:l},targetRange:{startRow:o,endRow:s,startColumn:l,endColumn:u},unitId:i,subUnitId:a,applyType:HRe.COPY}}(e,t);if(!r)return!1;let n=await e.get(Vc).executeCommand(vxe.id,r);return n&&e.get(pxe).setShowMenu(!1),n}const Cxe={type:Bc.COMMAND,id:"sheet.command.copy-down",handler:async e=>bxe(e,"down")},yxe={type:Bc.COMMAND,id:"sheet.command.copy-right",handler:async e=>bxe(e,"right")},_xe={id:"sheet.command.auto-clear-content",type:Bc.COMMAND,handler:async(e,t)=>{let r=W_e(e.get(dg));if(!r)return!1;let n=e.get(Vc),i=e.get(Pg),a=e.get(iwe),o=e.get(rSe),{unitId:s,subUnitId:l}=r,{clearRange:u,selectionRange:c}=t,{startColumn:d,startRow:h}=c,m={subUnitId:l,unitId:s,cellValue:WEe([u])},f=Zwe(e,m),g=[{id:Kwe.id,params:m},{id:vSe.id,params:{selections:[{primary:{startColumn:d,startRow:h,endColumn:d,endRow:h,actualRow:h,actualColumn:d,isMerged:!1,isMergedMainCell:!1},range:{...c}}],unitId:s,subUnitId:l}}],p=[{id:Kwe.id,params:f},{id:vSe.id,params:{selections:[o.getCurrentLastSelection()],unitId:s,subUnitId:l}}];if(zc(g,n)){let e=a.afterCommandExecute({id:Kwe.id,params:m});return zc(e.redos,n),i.pushUndoRedo({unitID:s,undoMutations:[...p,...e.undos],redoMutations:[...g,...e.redos]}),!0}return!1}},wxe={id:"sheet.command.clear-selection-content",type:Bc.COMMAND,handler:(e,t)=>{var r;let n=e.get(dg),i=e.get(Vc),a=e.get(rSe),o=e.get(Pg),s=e.get(iwe),l=n.getCurrentUnitForType(Pi.UNIVER_SHEET);if(!l)return!1;let u=(null==t?void 0:t.unitId)||l.getUnitId(),c=l.getActiveSheet();if(!c)return!1;let d=(null==t?void 0:t.subUnitId)||c.getSheetId(),h=(null==t?void 0:t.ranges)||(null==(r=a.getCurrentSelections())?void 0:r.map(e=>e.range));if(null==h||!h.length)return!1;let m={subUnitId:d,unitId:u,cellValue:WEe(GEe(h,e,u,d))},f=Zwe(e,m),g=s.onCommandExecute({id:wxe.id}),p=[{id:Kwe.id,params:m},...g.redos],v=[...g.undos,{id:Kwe.id,params:f}];return!!zc(p,i).result&&(o.pushUndoRedo({unitID:u,undoMutations:v,redoMutations:p}),!0)}},Exe="sheets.config";Symbol(Exe);const Sxe={largeSheetCellCountThreshold:6e3,batchSize:3e3},Axe={};let Ixe=class extends tu{constructor(e,t){super(),this._commandService=e,this._univerInstanceService=t,$_e(this,"_tasks",new Map),$_e(this,"_idleCallbackId",null),$_e(this,"_beforeUnloadHandler",null),this._setupBeforeUnloadListener(),this.disposeWithMe(()=>{this._cancelAllTasks(),this._removeBeforeUnloadListener()})}hasPendingTasks(){return this._tasks.size>0}getPendingMutationsCount(){let e=0;for(let t of this._tasks.values())e+=t.mutations.length-t.currentIndex;return e}scheduleMutations(e,t,r){if(0===r.length)return;let n=`${e}_${t}`;this._cancelTask(n),this._tasks.set(n,{unitId:e,subUnitId:t,mutations:r,currentIndex:0}),this._scheduleNextIdle()}cancelScheduledMutations(e,t){let r=`${e}_${t}`;this._cancelTask(r)}_cancelTask(e){this._tasks.delete(e),0===this._tasks.size&&null!==this._idleCallbackId&&(typeof cancelIdleCallback<"u"&&cancelIdleCallback(this._idleCallbackId),this._idleCallbackId=null)}_cancelAllTasks(){this._tasks.clear(),null!==this._idleCallbackId&&(typeof cancelIdleCallback<"u"&&cancelIdleCallback(this._idleCallbackId),this._idleCallbackId=null)}_scheduleNextIdle(){null===this._idleCallbackId&&(typeof requestIdleCallback<"u"?this._idleCallbackId=requestIdleCallback(e=>this._processIdleTasks(e),{timeout:6e4}):this._idleCallbackId=setTimeout(()=>{this._processIdleTasks({didTimeout:!1,timeRemaining:()=>16})},16))}_processIdleTasks(e){this._idleCallbackId=null;for(let[t,r]of this._tasks)if(this._isSheetExist(r.unitId,r.subUnitId)){for(r.currentIndex;r.currentIndex0&&this._scheduleNextIdle()}_isSheetExist(e,t){let r=this._univerInstanceService.getUnit(e,Pi.UNIVER_SHEET);return!!r&&null!==r.getSheetBySheetId(t)}_setupBeforeUnloadListener(){typeof window>"u"||(this._beforeUnloadHandler=e=>{if(this.hasPendingTasks())return e.preventDefault(),e.returnValue="",""},window.addEventListener("beforeunload",this._beforeUnloadHandler))}_removeBeforeUnloadListener(){typeof window>"u"||!this._beforeUnloadHandler||(window.removeEventListener("beforeunload",this._beforeUnloadHandler),this._beforeUnloadHandler=null)}};Ixe=ewe([J_e(0,Vc),J_e(1,dg)],Ixe);const Rxe={id:"sheet.mutation.copy-worksheet-end",type:Bc.MUTATION,handler:()=>!0},xxe=(e,t)=>({subUnitId:t.sheet.id,unitId:t.unitId,subUnitName:t.sheet.name}),Txe={id:"sheet.mutation.insert-sheet",type:Bc.MUTATION,handler:(e,t)=>{let r=e.get(dg),{sheet:n,index:i,unitId:a,styles:o}=t,s=r.getUniverSheetInstance(a);return!!s&&(o&&s.addStyles(o),s.addWorksheet(n.id,i,eg(n)))}},Nxe="sheet.command.copy-sheet";const Mxe={type:Bc.COMMAND,id:Nxe,handler:(e,t)=>{let r=e.get(Vc),n=e.get(Pg),i=e.get(dg),a=e.get(iwe),o=e.get(Cg),s=e.get(Ixe),l=W_e(i,t);if(!l)return!1;let{workbook:u,worksheet:c,unitId:d,subUnitId:h}=l,{redos:m,undos:f,newSheetId:g,isSplit:p,scheduledMutations:v}=function(e,t,r,n,i,a,o){var s,l;let u=e.get(Tc).getConfig(Exe),c={...Sxe,...null==u?void 0:u.largeSheetOperation},d=eg(r.getConfig());d.name=function(e,t,r){let n=`${r} ${t.t("sheets.tabs.sheetCopy","")}`,i=2;for(;e.checkSheetName(n);)n=`${r} ${t.t("sheets.tabs.sheetCopy",`${i}`)}`,i++;return n}(t,a,d.name);let h=cu();d.id=h;let m,f=t.getSheetIndex(r),{cellData:g}=d,p=function(e){let t=0;for(let r of Object.keys(e)){let n=e[Number(r)];n&&(t+=Object.keys(n).length)}return t}(g)>=c.largeSheetCellCountThreshold,v=[];if(p){let{firstChunkCellData:e,remainingMutations:t}=function(e,t,r,n){let i=[],a={},o=0;for(let e in r){let t=Number(e),s=r[t];if(!s)continue;let l=Object.keys(s).length;o>0&&o+l>n&&(i.push(a),a={},o=0),a[t]=s,o+=l,o>=n&&(i.push(a),a={},o=0)}return o>0&&i.push(a),{firstChunkCellData:i.length>0?i[0]:{},remainingMutations:i.slice(1).map(r=>({id:Kwe.id,params:{unitId:e,subUnitId:t,cellValue:r,__splitChunk__:!0}}))}}(n,h,g,c.batchSize);m={index:f+1,sheet:{...d,cellData:e},unitId:n},v=t}else m={index:f+1,sheet:d,unitId:n};let b=xxe(0,m),C=o.onCommandExecute({id:Nxe,params:{unitId:n,subUnitId:i,targetSubUnitId:d.id}});return{redos:[...null==(s=C.preRedos)?[]:s,{id:Txe.id,params:m},...C.redos],undos:[...null==(l=C.preUndos)?[]:l,{id:XAe.id,params:b},...C.undos],unitId:n,newSheetId:h,isSplit:p,scheduledMutations:v}}(e,u,c,d,h,o,a);if(zc(m,r).result){if(p){if(n.pushUndoRedo({unitID:d,undoMutations:f,redoMutations:[]}),v.length>0){for(let e of v)r.syncExecuteCommand(e.id,e.params,{syncOnly:!0});r.syncExecuteCommand(Rxe.id,{unitId:d,subUnitId:g},{syncOnly:!0}),s.scheduleMutations(d,g,v)}}else n.pushUndoRedo({unitID:d,undoMutations:f,redoMutations:m});return!0}return!1}},Oxe={type:Bc.COMMAND,id:"sheet.command.delete-range-protection",async handler(e,t){if(!t)return!1;let r=e.get(Vc),n=e.get(Pg),{unitId:i,subUnitId:a,rule:o}=t,s={unitId:i,subUnitId:a,ruleIds:[o.id]};return await r.executeCommand(KEe.id,s)&&n.pushUndoRedo({unitID:i,redoMutations:[{id:KEe.id,params:s}],undoMutations:[{id:$Ee.id,params:{unitId:i,subUnitId:a,rules:[o]}}]}),!0}},Lxe={type:Bc.COMMAND,id:"sheet.command.delete-worksheet-protection",handler(e,t){if(!t)return!1;let r=e.get(Vc),n=e.get(Pg),{rule:i,unitId:a,subUnitId:o}=t;r.executeCommand(sRe.id,{unitId:a,subUnitId:o});let s=[{id:sRe.id,params:{unitId:a,subUnitId:o}}],l=[{id:oRe.id,params:{unitId:a,rule:i,subUnitId:o}}];return n.pushUndoRedo({unitID:a,redoMutations:s,undoMutations:l}),!0}},kxe={type:Bc.COMMAND,id:"sheet.command.remove-worksheet-range-theme-style",handler:(e,t)=>{let r=e.get(Vc),n=e.get(Pg),{unitId:i}=t,a=((e,t)=>{let r=z_e(e.get(dg),t);if(!r)throw Error("[DeleteWorksheetRangeThemeStyleMutationFactory]: worksheet is null error!");let{worksheet:n}=r;return{unitId:t.unitId,subUnitId:n.getSheetId(),range:t.range,themeName:t.themeName}})(e,t);return!!r.syncExecuteCommand(bwe.id,t)&&(n.pushUndoRedo({unitID:i,undoMutations:[{id:vwe.id,params:a}],redoMutations:[{id:bwe.id,params:t}]}),!0)}},Pxe={id:"sheet.command.insert-defined-name",type:Bc.COMMAND,handler:(e,t)=>{let r=e.get(Vc),n=e.get(Pg);if(!t)return!1;let i={...t};return!!r.syncExecuteCommand(efe.id,i)&&(n.pushUndoRedo({unitID:t.unitId,undoMutations:[{id:tfe.id,params:i}],redoMutations:[{id:efe.id,params:i}]}),!0)}},Dxe={id:"sheet.command.insert-sheet",type:Bc.COMMAND,handler:(e,t)=>{let r=e.get(Vc),n=e.get(Pg),i=e.get(dg),a=e.get(Cg),o=H_e(i,{unitId:null==t?void 0:t.unitId});if(!o)return!1;let{unitId:s,workbook:l}=o,u=l.getSheets().length,c=null==t?void 0:t.sheet,d=null==c?void 0:c.id,h=ng(c||{});var m;t?(u=null==(m=t.index)?u:m,h.id=d||cu(),h.name=(null==c?void 0:c.name)||l.generateNewSheetName(`${a.t("sheets.tabs.sheet")}`)):(h.id=cu(),h.name=l.generateNewSheetName(`${a.t("sheets.tabs.sheet")}`));let f={index:u,sheet:h,unitId:s},g=xxe(0,f);return!!r.syncExecuteCommand(Txe.id,f)&&(n.pushUndoRedo({unitID:s,undoMutations:[{id:XAe.id,params:g}],redoMutations:[{id:Txe.id,params:f}]}),!0)}},Uxe={id:"sheet.command.refill",type:Bc.COMMAND,handler:async(e,t)=>e.get(pxe).fillData(t.type)},Bxe={id:"sheet.mutation.register-worksheet-range-theme-style",type:Bc.MUTATION,handler:(e,t)=>{if(!W_e(e.get(dg),t))return!1;let r=e.get(pwe),{unitId:n,rangeThemeStyleJson:i,themeName:a}=t,o=new swe(a,i);return r.registerRangeThemeStyle(n,o),!0}},Vxe={id:"sheet.mutation.unregister-worksheet-range-theme-style",type:Bc.MUTATION,handler:(e,t)=>{if(!W_e(e.get(dg),t))return!1;let r=e.get(pwe),{unitId:n,themeName:i}=t;return r.unregisterRangeThemeStyle(n,i),!0}},Fxe={id:"sheet.command.register-worksheet-range-theme-style",type:Bc.COMMAND,handler:(e,t)=>{if(!t)return!1;let{unitId:r,rangeThemeStyle:n}=t,i=e.get(dg),a=e.get(Vc),o=e.get(Pg);if(!W_e(i,t))return!1;let s={unitId:r,themeName:n.getName(),rangeThemeStyleJson:n.toJson()},l={unitId:r,themeName:n.getName()};return a.syncExecuteCommand(Bxe.id,s)&&o.pushUndoRedo({unitID:r,undoMutations:[{id:Vxe.id,params:l}],redoMutations:[{id:Bxe.id,params:s}]}),!0}},jxe={id:"sheet.command.remove-defined-name",type:Bc.COMMAND,handler:(e,t)=>{var r,n;let i=e.get(Vc),a=e.get(Pg),o=e.get(iwe);if(!t)return!1;let s={...t},l=o.onCommandExecute({id:jxe.id,params:t}),u=[...null==(r=l.preRedos)?[]:r,{id:tfe.id,params:s},...l.redos],c=[...null==(n=l.preUndos)?[]:n,{id:efe.id,params:s},...l.undos];return!!zc(u,i)&&(a.pushUndoRedo({unitID:t.unitId,undoMutations:c.filter(Boolean),redoMutations:u.filter(Boolean)}),!0)}},Hxe={id:"sheet.command.remove-sheet",type:Bc.COMMAND,handler:(e,t)=>{var r,n;let i=e.get(Vc),a=e.get(Pg),o=e.get(dg),s=e.get(iwe),l=e.get(Tc),u=W_e(o,t);if(!u)return!1;let{unitId:c,subUnitId:d,workbook:h,worksheet:m}=u;if(h.getSheets().length<=1)return!1;let f=l.getConfig(Exe),g={...Sxe,...null==f?void 0:f.largeSheetOperation},p=eIe(m.getCellMatrix())>=g.largeSheetCellCountThreshold,v={subUnitId:d,unitId:c,subUnitName:m.getName()},b=p?null:((e,t)=>{let r=e.get(dg),{subUnitId:n,unitId:i}=t,a=z_e(r,t);if(!a)throw Error("[RemoveSheetUndoMutationFactory]: Worksheet is null error!");let{workbook:o,worksheet:s}=a,l=s.getConfig();return{index:o.getConfig().sheetOrder.findIndex(e=>e===n),sheet:l,unitId:i}})(e,v),C=s.onCommandExecute({id:Hxe.id,params:{unitId:c,subUnitId:d}}),y=[...null==(r=C.preRedos)?[]:r,{id:XAe.id,params:v},...C.redos],_=p?[]:[...null==(n=C.preUndos)?[]:n,{id:Txe.id,params:b},...C.undos];return!!zc(y,i).result&&(p?a.clearUndoRedo(c):a.pushUndoRedo({unitID:c,undoMutations:_,redoMutations:y}),!0)}};var Wxe=class{constructor(){$_e(this,"_borderInfo",{type:pu.ALL,color:"#000000",style:gu.THIN,activeBorderType:!1}),$_e(this,"_borderInfo$",new Qn(this._borderInfo)),$_e(this,"borderInfo$",this._borderInfo$.asObservable())}dispose(){this._borderInfo$.complete()}setType(e){this._borderInfo.type=e,this.setActiveBorderType(!0),this._refresh()}setColor(e){this._borderInfo.color=e,this._refresh()}setStyle(e){this._borderInfo.style=e,this._refresh()}setActiveBorderType(e){this._borderInfo.activeBorderType=e}getBorderInfo(){return this._borderInfo}_refresh(){this._borderInfo$.next(this._borderInfo)}};function zxe(e,t){let{startRow:r,startColumn:n,endRow:i,endColumn:a}=e;for(let e=r;e<=i;e++)for(let r=n;r<=a;r++)t(e,r)}const Xxe=(e,t,r,n)=>{let{mr:i,worksheet:a}=e;t.startRow<0||t.startColumn<0||zxe(t,(e,t)=>{let o=a.getMergedCell(e,t),s=r;if(o&&(r.bc_tr||r.ml_tr||r.bl_tr||r.tl_mr||r.tl_bc||r.tl_br)){if(n){var l;let e=uu.deepClone(null==(l=i.getValue(o.startRow,o.startColumn))?void 0:l.s);s=null!=e&&e.bd?Object.assign(e.bd,r):r}i.setValue(o.startRow,o.startColumn,{s:{bd:s}})}else{if(n){var u;let n=uu.deepClone(null==(u=i.getValue(e,t))?void 0:u.s);s=null!=n&&n.bd?Object.assign(n.bd,r):r}i.setValue(e,t,{s:{bd:s}})}})},qxe={id:"sheet.command.set-border",type:Bc.COMMAND,handler:(e,t)=>{var r;let n=e.get(Vc),i=e.get(Pg),a=e.get(dg),o=e.get(rSe),s=e.get(Wxe),l=W_e(a,t);if(!l)return!1;let u=(null==t?void 0:t.ranges)||(null==(r=o.getCurrentSelections())?void 0:r.map(e=>e.range));if(null==u||!u.length)return!1;let{activeBorderType:c}=s.getBorderInfo();if(!c)return!1;let d=function(e,t,r){let{style:n,color:i,type:a}=e.getBorderInfo(),o=a===pu.TOP||a===pu.ALL||a===pu.OUTSIDE,s=a===pu.LEFT||a===pu.ALL||a===pu.OUTSIDE,l=a===pu.BOTTOM||a===pu.ALL||a===pu.OUTSIDE,u=a===pu.RIGHT||a===pu.ALL||a===pu.OUTSIDE,c=a===pu.VERTICAL||a===pu.ALL||a===pu.INSIDE,d=a===pu.HORIZONTAL||a===pu.ALL||a===pu.INSIDE,h=a.indexOf("tlbr")>-1,m=a.indexOf("tlbc")>-1,f=a.indexOf("tlmr")>-1,g=a.indexOf("bltr")>-1,p=a.indexOf("mltr")>-1,v=a.indexOf("bctr")>-1,b=r[0],{topRangeOut:C,leftRangeOut:y,bottomRangeOut:_,rightRangeOut:w,topRange:E,leftRange:S,bottomRange:A,rightRange:I}=(e=>({topRangeOut:{startRow:e.startRow-1,startColumn:e.startColumn,endRow:e.startRow-1,endColumn:e.endColumn},leftRangeOut:{startRow:e.startRow,startColumn:e.startColumn-1,endRow:e.endRow,endColumn:e.startColumn-1},bottomRangeOut:{startRow:e.endRow+1,startColumn:e.startColumn,endRow:e.endRow+1,endColumn:e.endColumn},rightRangeOut:{startRow:e.startRow,startColumn:e.endColumn+1,endRow:e.endRow,endColumn:e.endColumn+1},topRange:{startRow:e.startRow,startColumn:e.startColumn,endRow:e.startRow,endColumn:e.endColumn},leftRange:{startRow:e.startRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.startColumn},bottomRange:{startRow:e.endRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn},rightRange:{startRow:e.startRow,startColumn:e.endColumn,endRow:e.endRow,endColumn:e.endColumn}}))(b),R=new kd,{worksheet:x,unitId:T,subUnitId:N}=t;return{worksheet:x,unitId:T,subUnitId:N,style:n,color:i,type:a,top:o,left:s,right:u,bottom:l,vertical:c,horizontal:d,tl_br:h,tl_bc:m,tl_mr:f,bl_tr:g,ml_tr:p,bc_tr:v,topRangeOut:C,leftRangeOut:y,bottomRangeOut:_,rightRangeOut:w,topRange:E,leftRange:S,bottomRange:A,rightRange:I,range:b,mr:R,borderStyle:{s:n,cl:{rgb:i}}}}(s,l,u);(e=>{let{range:t,mr:r,borderStyle:n,vertical:i,horizontal:a,worksheet:o}=e;i&&zxe(t,(e,i)=>{let a=o.getMergedCell(e,i);if(a){var s;let o=null==(s=r.getValue(a.startRow,a.startColumn))?void 0:s.s;a.startColumn!==t.startColumn&&r.setValue(e,i,{s:{bd:null!=o&&o.bd?Object.assign(o.bd,{l:uu.deepClone(n)}):{l:uu.deepClone(n)}}})}else{if(i!==t.endColumn){var l;let t=null==(l=r.getValue(e,i))?void 0:l.s;r.setValue(e,i,{s:{bd:null!=t&&t.bd?Object.assign(t.bd,{r:uu.deepClone(n)}):{r:uu.deepClone(n)}}})}if(i!==t.startColumn){var u;let t=null==(u=r.getValue(e,i))?void 0:u.s;r.setValue(e,i,{s:{bd:null!=t&&t.bd?Object.assign(t.bd,{l:uu.deepClone(n)}):{l:uu.deepClone(n)}}})}}}),a&&zxe(t,(e,i)=>{let a=o.getMergedCell(e,i);if(a){var s;let o=null==(s=r.getValue(a.startRow,a.startColumn))?void 0:s.s;a.startRow!==t.startRow&&r.setValue(e,i,{s:{bd:null!=o&&o.bd?Object.assign(o.bd,{t:uu.deepClone(n)}):{t:uu.deepClone(n)}}})}else{if(e!==t.endRow){var l;let t=null==(l=r.getValue(e,i))?void 0:l.s;r.setValue(e,i,{s:{bd:null!=t&&t.bd?Object.assign(t.bd,{b:uu.deepClone(n)}):{b:uu.deepClone(n)}}})}if(e!==t.startRow){var u;let t=null==(u=r.getValue(e,i))?void 0:u.s;r.setValue(e,i,{s:{bd:null!=t&&t.bd?Object.assign(t.bd,{t:uu.deepClone(n)}):{t:uu.deepClone(n)}}})}}})})(d),(e=>{let{top:t,left:r,right:n,bottom:i,borderStyle:a,bottomRange:o,topRange:s,leftRange:l,rightRange:u,bottomRangeOut:c,topRangeOut:d,leftRangeOut:h,rightRangeOut:m}=e,f=(t,r,n)=>{Xxe(e,t,r,n)};t&&(f(d,{b:null}),f(s,{t:uu.deepClone(a)},!0)),i&&(f(c,{t:null}),f(o,{b:uu.deepClone(a)},!0)),r&&(f(h,{r:null}),f(l,{l:uu.deepClone(a)},!0)),n&&(f(m,{l:null}),f(u,{r:uu.deepClone(a)},!0))})(d),function(e){let{borderStyle:t,tl_br:r,tl_bc:n,tl_mr:i,bl_tr:a,ml_tr:o,bc_tr:s}=e,l=(t,r,n)=>{Xxe(e,t,r,n)};r&&l(e.range,{tl_br:uu.deepClone(t)},!0),n&&l(e.range,{tl_bc:uu.deepClone(t)},!0),i&&l(e.range,{tl_mr:uu.deepClone(t)},!0),a&&l(e.range,{bl_tr:uu.deepClone(t)},!0),o&&l(e.range,{ml_tr:uu.deepClone(t)},!0),s&&l(e.range,{bc_tr:uu.deepClone(t)},!0)}(d),(e=>{let{range:t,worksheet:r,mr:n,top:i,bottom:a,left:o,right:s,vertical:l,horizontal:u,tl_br:c,tl_bc:d,tl_mr:h,bl_tr:m,ml_tr:f,bc_tr:g,topRange:p,bottomRange:v,leftRange:b,rightRange:C,topRangeOut:y,bottomRangeOut:_,leftRangeOut:w,rightRangeOut:E}=e,S=(t,r,n)=>{Xxe(e,t,r,n)};!i&&!a&&!o&&!s&&!l&&!u&&!c&&!d&&!h&&!m&&!f&&!g&&(zxe(t,(e,i)=>{let a=r.getMergedCell(e,i);if(a){if(a.endColumn!==t.endColumn){var o;let t=null==(o=n.getValue(a.startRow,a.startColumn))?void 0:o.s;n.setValue(e,i,{s:{bd:null!=t&&t.bd?Object.assign(t.bd,{r:null}):{r:null}}})}if(a.startColumn!==t.startColumn){var s;let t=null==(s=n.getValue(a.startRow,a.startColumn))?void 0:s.s;n.setValue(e,i,{s:{bd:null!=t&&t.bd?Object.assign(t.bd,{l:null}):{l:null}}})}if(a.endRow!==t.endRow){var l;let t=null==(l=n.getValue(a.startRow,a.startColumn))?void 0:l.s;n.setValue(e,i,{s:{bd:null!=t&&t.bd?Object.assign(t.bd,{b:null}):{b:null}}})}if(a.startRow!==t.startRow){var u;let t=null==(u=n.getValue(a.startRow,a.startColumn))?void 0:u.s;n.setValue(e,i,{s:{bd:null!=t&&t.bd?Object.assign(t.bd,{t:null}):{t:null}}})}}else{if(i!==t.endColumn){var c;let t=null==(c=n.getValue(e,i))?void 0:c.s;n.setValue(e,i,{s:{bd:null!=t&&t.bd?Object.assign(t.bd,{r:null}):{r:null}}})}if(i!==t.startColumn){var d;let t=null==(d=n.getValue(e,i))?void 0:d.s;n.setValue(e,i,{s:{bd:null!=t&&t.bd?Object.assign(t.bd,{l:null}):{l:null}}})}if(e!==t.endRow){var h;let t=null==(h=n.getValue(e,i))?void 0:h.s;n.setValue(e,i,{s:{bd:null!=t&&t.bd?Object.assign(t.bd,{b:null}):{b:null}}})}if(e!==t.startRow){var m;let t=null==(m=n.getValue(e,i))?void 0:m.s;n.setValue(e,i,{s:{bd:null!=t&&t.bd?Object.assign(t.bd,{t:null}):{t:null}}})}}}),S(y,{b:null}),S(p,{t:null},!0),S(_,{t:null}),S(v,{b:null},!0),S(w,{r:null}),S(b,{l:null},!0),S(E,{l:null}),S(C,{r:null},!0),S(t,{tl_br:null},!0),S(t,{tl_bc:null},!0),S(t,{tl_mr:null},!0),S(t,{bl_tr:null},!0),S(t,{ml_tr:null},!0),S(t,{bc_tr:null},!0))})(d);let{unitId:h,subUnitId:m,mr:f}=d,g={unitId:h,subUnitId:m,cellValue:f.getData()},p=Zwe(e,g);return!!n.syncExecuteCommand(Kwe.id,g)&&(i.pushUndoRedo({unitID:h,undoMutations:[{id:Kwe.id,params:p}],redoMutations:[{id:Kwe.id,params:g}]}),!0)}},Gxe={id:"sheet.command.set-border-position",type:Bc.COMMAND,handler:(e,t)=>{if(!t.value)return!1;let r=e.get(Vc);return e.get(Wxe).setType(t.value),r.syncExecuteCommand(qxe.id)}},Yxe={id:"sheet.command.set-border-style",type:Bc.COMMAND,handler:(e,t)=>{let r=e.get(Vc);return e.get(Wxe).setStyle(t.value),r.syncExecuteCommand(qxe.id)}},Qxe={id:"sheet.command.set-border-color",type:Bc.COMMAND,handler:(e,t)=>{let r=e.get(Vc);return e.get(Wxe).setColor(t.value),r.syncExecuteCommand(qxe.id)}},Zxe={id:"sheet.command.set-border-basic",type:Bc.COMMAND,handler:(e,t)=>{let{unitId:r,subUnitId:n,value:i,ranges:a}=t,{type:o,color:s,style:l}=i,u=e.get(Vc),c=e.get(Wxe);return c.setType(o),s&&c.setColor(s),c.setStyle(l),u.syncExecuteCommand(qxe.id,{unitId:r,subUnitId:n,ranges:a})}},Kxe={type:Bc.COMMAND,id:"sheet.command.set-col-data",handler:(e,t)=>{let r=e.get(Vc),n=e.get(Pg),i=W_e(e.get(dg),t);if(!i)return!1;let{columnData:a}=t,{unitId:o,subUnitId:s,worksheet:l}=i,u={subUnitId:s,unitId:o,columnData:a},c=((e,t)=>{let{unitId:r,subUnitId:n,columnData:i}=e,a={},o=t.getColumnManager();for(let e in i){let t=i[e];a[e]=Lwe(o.getColumn(Number(e)),t)}return{unitId:r,subUnitId:n,columnData:a}})(u,l);return!!r.syncExecuteCommand(kwe.id,u)&&(n.pushUndoRedo({unitID:o,undoMutations:[{id:kwe.id,params:c}],redoMutations:[{id:kwe.id,params:u}]}),!0)}},$xe={type:Bc.COMMAND,id:"sheet.command.set-col-visible-on-cols",handler:(e,t)=>{let{unitId:r,subUnitId:n,ranges:i}=t,a=e.get(iwe),o=e.get(Vc),s=W_e(e.get(dg),{unitId:r,subUnitId:n});if(!s)return!1;let{worksheet:l}=s,u={unitId:r,subUnitId:n,ranges:i},c={unitId:r,subUnitId:n,reveal:!0,selections:i.map(e=>({range:e,primary:cSe(e,l),style:null}))},d=((e,t)=>{if(null==e.get(dg).getUniverSheetInstance(t.unitId))throw Error("universheet is null error!");return{unitId:t.unitId,subUnitId:t.subUnitId,ranges:t.ranges}})(e,u),h={unitId:r,subUnitId:n,selections:tTe(i).map(e=>({range:e,primary:cSe(e,l),style:null}))},m=zc([{id:Dwe.id,params:u},{id:vSe.id,params:c}],o),f=a.onCommandExecute({id:$xe.id,params:t}),g=zc([...f.redos],o);if(m.result&&g.result){var p,v;let n=a.afterCommandExecute({id:$xe.id,params:t});return zc(n.redos,o),e.get(Pg).pushUndoRedo({unitID:r,undoMutations:[{id:Pwe.id,params:d},{id:vSe.id,params:h},...null==(p=f.undos)?[]:p,...n.undos],redoMutations:[...null==(v=f.preRedos)?[]:v,{id:Dwe.id,params:u},{id:vSe.id,params:c},...f.redos,...n.redos]}),!0}return!0}},Jxe={type:Bc.COMMAND,id:"sheet.command.set-selected-cols-visible",handler:e=>{var t;let r=e.get(rSe),n=e.get(Vc),i=null==(t=r.getCurrentSelections())?void 0:t.map(e=>e.range).filter(e=>e.rangeType===pd.COLUMN);if(null==i||!i.length)return!1;let a=W_e(e.get(dg));if(!a)return!1;let{worksheet:o,unitId:s,subUnitId:l}=a,u=i.map(e=>o.getHiddenCols(e.startColumn,e.endColumn)).flat();return n.executeCommand($xe.id,{unitId:s,subUnitId:l,ranges:u})}},eTe={type:Bc.COMMAND,id:"sheet.command.set-col-hidden",handler:(e,t)=>{var r,n;let i=e.get(rSe),a=e.get(iwe),o=e.get(dg),s=e.get(Vc),l=null!=t&&null!=(r=t.ranges)&&r.length?t.ranges:null==(n=i.getCurrentSelections())?void 0:n.map(e=>e.range).filter(e=>e.rangeType===pd.COLUMN);if(null==l||!l.length)return!1;let u=W_e(o,t);if(!u)return!1;let{worksheet:c,unitId:d,subUnitId:h}=u;l=function(e,t){let r=e.getRowCount()-1,n=e.getHiddenCols(),i=[];return t.forEach(e=>{let t=n.filter(t=>t.startColumn>=e.startColumn&&t.endColumn<=e.endColumn);if(t.length){let n=e.startColumn;t.forEach(e=>{e.startColumn>n&&(i.push({startColumn:n,endColumn:e.startColumn-1,startRow:0,endRow:r}),n=e.endColumn+1)}),n<=e.endColumn&&i.push({startColumn:n,endColumn:e.endColumn,startRow:0,endRow:r})}else i.push(e)}),i}(u.worksheet,l);let m={unitId:d,subUnitId:h,ranges:l},f={unitId:d,subUnitId:h,selections:tTe(l).map(e=>({range:e,primary:cSe(e,c),style:null}))},g=((e,t)=>{if(null==e.get(dg).getUniverSheetInstance(t.unitId))throw Error("universheet is null error!");return{unitId:t.unitId,subUnitId:t.subUnitId,ranges:t.ranges}})(e,m),p={unitId:d,subUnitId:h,reveal:!0,selections:l.map(e=>({range:e,primary:cSe(e,c),style:null}))},v=zc([{id:Pwe.id,params:m},{id:vSe.id,params:f}],s),b=a.onCommandExecute({id:eTe.id,params:m}),C=zc([...b.redos],s);if(v.result&&C.result){var y,_;let t=a.afterCommandExecute({id:eTe.id,params:m});return zc(t.redos,s),e.get(Pg).pushUndoRedo({unitID:d,undoMutations:[{id:Dwe.id,params:g},{id:vSe.id,params:p},...null==(y=b.undos)?[]:y,...t.undos],redoMutations:[...null==(_=b.preRedos)?[]:_,{id:Pwe.id,params:m},{id:vSe.id,params:f},...b.redos,...t.redos]}),!0}return!1}};function tTe(e){return function(e){let t,r=[];return e.sort((e,t)=>e.startColumn-t.startColumn).forEach(e=>{t?t.endColumn===e.startColumn-1?t.endColumn=e.endColumn:(r.push(t),t=e):t=e}),r.push(t),r}(e).map(e=>{let t=0===e.startColumn?e.endColumn+1:e.startColumn-1;return{...e,startColumn:t,endColumn:t}})}const rTe={id:"sheet.command.set-defined-name",type:Bc.COMMAND,handler:(e,t)=>{var r,n;let i=e.get(Vc),a=e.get(Pg),o=e.get(iwe);if(!t)return!1;let s={...t},l=((e,t)=>{let{unitId:r,id:n}=t;return{...e.get(Jme).getValueById(r,n),unitId:r}})(e,t),u=o.onCommandExecute({id:rTe.id,params:t}),c=[...null==(r=u.preRedos)?[]:r,{id:tfe.id,params:l},{id:efe.id,params:s},...u.redos],d=[...null==(n=u.preUndos)?[]:n,{id:tfe.id,params:s},{id:efe.id,params:l},...u.undos];return!!zc(c,i)&&(a.pushUndoRedo({unitID:t.unitId,undoMutations:d.filter(Boolean),redoMutations:c.filter(Boolean)}),!0)}},nTe=(e,t)=>{let r=e.get(dg).getUniverSheetInstance(t.unitId);if(null==r)throw Error("universheet is null error!");let n=r.getSheetBySheetId(t.subUnitId);if(null==n)throw Error("worksheet is null error!");let i=n.getConfig().freeze;return{unitId:t.unitId,subUnitId:t.subUnitId,...i}},iTe={id:"sheet.mutation.set-frozen",type:Bc.MUTATION,handler:(e,t)=>{let r=e.get(dg).getUniverSheetInstance(t.unitId);if(null==r)throw Error("universheet is null error!");let n=r.getSheetBySheetId(t.subUnitId);if(!n)return!1;let i=n.getConfig(),{startRow:a,startColumn:o,ySplit:s,xSplit:l}=t;return i.freeze={startRow:a,startColumn:o,ySplit:s,xSplit:l},!0}},aTe={type:Bc.COMMAND,id:"sheet.command.set-frozen",handler:(e,t)=>{let r=e.get(Vc),n=e.get(Pg),i=W_e(e.get(dg),{unitId:t.unitId,subUnitId:t.subUnitId});if(!i)return!1;let{unitId:a,subUnitId:o,worksheet:s}=i,{startColumn:l,startRow:u,xSplit:c,ySplit:d}=t;if(u>=s.getRowCount()||l>=s.getColumnCount()||c>=s.getColumnCount()||d>=s.getRowCount())return!1;let h={unitId:a,subUnitId:o,...t},m=nTe(e,h);return!!r.syncExecuteCommand(iTe.id,h)&&(n.pushUndoRedo({unitID:a,undoMutations:[{id:iTe.id,params:m}],redoMutations:[{id:iTe.id,params:h}]}),!0)}},oTe={type:Bc.COMMAND,id:"sheet.command.cancel-frozen",handler:(e,t)=>{let r=e.get(Vc),n=e.get(dg),i=e.get(Pg),a=W_e(n,{unitId:null==t?void 0:t.unitId,subUnitId:null==t?void 0:t.subUnitId});if(!a)return!1;let{unitId:o,subUnitId:s}=a,l={unitId:o,subUnitId:s,startRow:-1,startColumn:-1,xSplit:0,ySplit:0},u=nTe(e,l);return r.syncExecuteCommand(iTe.id,l)&&i.pushUndoRedo({unitID:o,undoMutations:[{id:iTe.id,params:u}],redoMutations:[{id:iTe.id,params:l}]}),!0}},sTe={type:Bc.COMMAND,id:"sheet.command.set-gridlines-color",handler:(e,t)=>{let r=e.get(Vc),n=e.get(Pg),i=W_e(e.get(dg),t);if(!i)return!1;let{worksheet:a}=i,o=a.getConfig().gridlinesColor;if(o===(null==t?void 0:t.color))return!1;let{unitId:s,subUnitId:l}=i,u={color:null==t?void 0:t.color,unitId:s,subUnitId:l},c={color:o,unitId:s,subUnitId:l};return!!r.syncExecuteCommand(Uwe.id,u)&&(n.pushUndoRedo({unitID:s,undoMutations:[{id:Uwe.id,params:c}],redoMutations:[{id:Uwe.id,params:u}]}),!0)}},lTe={id:"sheet.mutation.set-range-protection",type:Bc.MUTATION,handler:(e,t)=>{let{unitId:r,subUnitId:n,rule:i,ruleId:a}=t;return e.get(ZEe).setRule(r,n,a,i),!0}},uTe={id:"sheet.mutation.set-worksheet-protection",type:Bc.MUTATION,handler:(e,t)=>{let{unitId:r,subUnitId:n,rule:i}=t;return e.get(aRe).setRule(r,n,i),!0}},cTe={type:Bc.COMMAND,id:"sheet.command.set-protection",async handler(e,t){if(!t)return!1;let r=e.get(Vc),n=e.get(Pg),i=e.get(ZEe),{rule:a,oldRule:o}=t,{unitId:s,subUnitId:l}=a,u=[],c=[];return(null==o?void 0:o.unitType)===a.unitType?a.unitType===Bi.Worksheet?(u.push({id:uTe.id,params:{unitId:s,subUnitId:l,rule:a}}),c.push({id:uTe.id,params:{unitId:s,subUnitId:l,rule:o}})):(u.push({id:lTe.id,params:{unitId:s,subUnitId:l,rule:a,ruleId:a.id}}),c.push({id:lTe.id,params:{unitId:s,subUnitId:l,ruleId:o.id,rule:o}})):(o&&(o.unitType===Bi.Worksheet?(u.push({id:sRe.id,params:{unitId:s,subUnitId:l}}),c.push({id:oRe.id,params:{unitId:s,rule:o,subUnitId:o.subUnitId}})):o.unitType===Bi.SelectRange&&(u.push({id:KEe.id,params:{unitId:s,subUnitId:l,ruleIds:[o.id]}}),c.push({id:$Ee.id,params:{unitId:s,subUnitId:l,rules:[o]}}))),a.unitType===Bi.Worksheet?(u.push({id:oRe.id,params:{unitId:s,rule:a,subUnitId:a.subUnitId}}),c.unshift({id:sRe.id,params:{unitId:s,subUnitId:l}})):a.unitType===Bi.SelectRange&&(a.id=i.createRuleId(s,l),u.push({id:$Ee.id,params:{unitId:s,subUnitId:l,rules:[a]}}),c.unshift({id:KEe.id,params:{unitId:s,subUnitId:l,ruleIds:[a.id]}}))),zc(u,r)&&n.pushUndoRedo({unitID:s,undoMutations:c,redoMutations:u}),!0}},dTe={id:"sheet.command.set-range-custom-metadata",type:Bc.COMMAND,handler:(e,t)=>{let r=W_e(e.get(dg),t);if(!r)return!1;let n=e.get(Vc),{unitId:i,subUnitId:a}=r,{range:o,customMetadata:s}=t,{startRow:l,startColumn:u,endRow:c,endColumn:d}=o,h=uu.isArray(s),m=new kd;for(let e=l;e<=c;e++)for(let t=u;t<=d;t++){let r=h?s[e-l][t-u]:s;m.setValue(e,t,r)}return n.syncExecuteCommand(Kwe.id,{unitId:i,subUnitId:a,cellValue:m.getMatrix()})}},hTe={type:Bc.COMMAND,id:"sheet.command.set-row-data",handler:(e,t)=>{let r=e.get(Vc),n=e.get(Pg),i=W_e(e.get(dg),t);if(!i)return!1;let{rowData:a}=t,{unitId:o,subUnitId:s,worksheet:l}=i,u={subUnitId:s,unitId:o,rowData:a},c=((e,t)=>{let{unitId:r,subUnitId:n,rowData:i}=e,a={},o=t.getRowManager();for(let e in i){let t=i[e];a[e]=Owe(o.getRow(Number(e)),t)}return{unitId:r,subUnitId:n,rowData:a}})(u,l);return!!r.syncExecuteCommand(Jwe.id,u)&&(n.pushUndoRedo({unitID:o,undoMutations:[{id:Jwe.id,params:c}],redoMutations:[{id:Jwe.id,params:u}]}),!0)}},mTe={type:Bc.COMMAND,id:"sheet.command.set-specific-rows-visible",handler:(e,t)=>{let{unitId:r,subUnitId:n,ranges:i}=t,a=e.get(Vc),o=e.get(Pg),s=e.get(iwe),l=W_e(e.get(dg),{unitId:r,subUnitId:n});if(!l)return!1;let{worksheet:u}=l,c={unitId:r,subUnitId:n,ranges:i},d={unitId:r,subUnitId:n,reveal:!0,selections:i.map(e=>({range:e,primary:cSe(e,u),style:null}))},h=((e,t)=>{if(null==e.get(dg).getUniverSheetInstance(t.unitId))throw Error("universheet is null error!");return{unitId:t.unitId,subUnitId:t.subUnitId,ranges:t.ranges}})(e,c),m={unitId:r,subUnitId:n,selections:pTe(i).map(e=>({range:e,primary:cSe(e,u),style:null}))},f=zc([{id:eEe.id,params:c},{id:vSe.id,params:d}],a),g=s.onCommandExecute({id:mTe.id,params:t}),p=zc([...g.redos],a);if(f.result&&p.result){var v,b,C;let e=s.afterCommandExecute({id:mTe.id,params:t});return zc(e.redos,a),o.pushUndoRedo({unitID:r,undoMutations:[...null==(v=g.preUndos)?[]:v,{id:tEe.id,params:h},{id:vSe.id,params:m},...null==(b=g.undos)?[]:b,...e.undos],redoMutations:[...null==(C=g.preRedos)?[]:C,{id:eEe.id,params:c},{id:vSe.id,params:d},...g.redos,...e.redos]}),!0}return!0}},fTe={type:Bc.COMMAND,id:"sheet.command.set-selected-rows-visible",handler:async e=>{var t;let r=e.get(rSe),n=e.get(dg),i=e.get(Vc),a=null==(t=r.getCurrentSelections())?void 0:t.map(e=>e.range).filter(e=>e.rangeType===pd.ROW);if(null==a||!a.length)return!1;let o=W_e(n);if(!o)return!1;let{worksheet:s,unitId:l,subUnitId:u}=o,c=a.map(e=>s.getHiddenRows(e.startRow,e.endRow)).flat();return i.executeCommand(mTe.id,{unitId:l,subUnitId:u,ranges:c})}},gTe={type:Bc.COMMAND,id:"sheet.command.set-rows-hidden",handler:(e,t)=>{var r,n,i;let a=e.get(rSe),o=e.get(Vc),s=e.get(Pg),l=e.get(dg),u=e.get(iwe),c=null!=t&&null!=(r=t.ranges)&&r.length?t.ranges:null==(n=a.getCurrentSelections())?void 0:n.map(e=>e.range).filter(e=>e.rangeType===pd.ROW);if(null==c||!c.length)return!1;let d=W_e(l,t);if(!d)return!1;c=function(e,t){let r=e.getMaxColumns()-1,n=e.getHiddenRows(),i=[];return t.forEach(e=>{let t=n.filter(t=>t.startRow>=e.startRow&&t.endRow<=e.endRow);if(t.length){let n=e.startRow;t.forEach(e=>{e.startRow>n&&(i.push({startRow:n,endRow:e.startRow-1,startColumn:0,endColumn:r}),n=e.endRow+1)}),n<=e.endRow&&i.push({startRow:n,endRow:e.endRow,startColumn:0,endColumn:r})}else i.push(e)}),i}(d.worksheet,c);let{unitId:h,subUnitId:m,worksheet:f}=d,g={unitId:h,subUnitId:m,ranges:c},p={unitId:h,subUnitId:m,selections:pTe(c).map(e=>({range:e,primary:cSe(e,f),style:null}))},v=((e,t)=>{if(null==e.get(dg).getUniverSheetInstance(t.unitId))throw Error("universheet is null error!");return{unitId:t.unitId,subUnitId:t.subUnitId,ranges:t.ranges}})(e,g),b={unitId:h,subUnitId:m,reveal:!0,selections:c.map(e=>({range:e,primary:cSe(e,f),style:null}))},C=u.onCommandExecute({id:gTe.id,params:g});if(zc([...null==(i=C.preRedos)?[]:i,{id:tEe.id,params:g},{id:vSe.id,params:p},...C.redos],o).result){var y,_,w;let e=u.afterCommandExecute({id:gTe.id,params:g});return zc(e.redos,o),s.pushUndoRedo({unitID:h,undoMutations:[...null==(y=C.preUndos)?[]:y,{id:eEe.id,params:v},{id:vSe.id,params:b},...null==(_=C.undos)?[]:_,...e.undos],redoMutations:[...null==(w=C.preRedos)?[]:w,{id:tEe.id,params:g},{id:vSe.id,params:p},...C.redos,...e.redos]}),!0}return!0}};function pTe(e){return function(e){let t,r=[];return e.sort((e,t)=>e.startRow-t.startRow).forEach(e=>{t?e.startRow===t.endRow+1?t.endRow=e.endRow:(r.push(t),t=e):t=e}),r.push(t),r}(e).map(e=>{let t=0===e.startRow?e.endRow+1:e.startRow-1;return{...e,startRow:t,endRow:t}})}const vTe={id:"sheet.mutation.set-tab-color",type:Bc.MUTATION,handler:(e,t)=>{let r=e.get(dg).getUniverSheetInstance(t.unitId);if(!r)return!1;let n=r.getSheetBySheetId(t.subUnitId);return!!n&&(n.getConfig().tabColor=t.color,!0)}},bTe={type:Bc.COMMAND,id:"sheet.command.set-tab-color",handler:(e,t)=>{let r=e.get(Vc),n=e.get(Pg),i=W_e(e.get(dg),t);if(!i)return!1;let{unitId:a,subUnitId:o}=i,s={color:t.value,unitId:a,subUnitId:o},l=((e,t)=>{let r=e.get(dg).getUniverSheetInstance(t.unitId).getSheetBySheetId(t.subUnitId).getConfig().tabColor;return{...uu.deepClone(t),color:r}})(e,s);return!!r.syncExecuteCommand(vTe.id,s)&&(n.pushUndoRedo({unitID:a,undoMutations:[{id:vTe.id,params:l}],redoMutations:[{id:vTe.id,params:s}]}),!0)}},CTe={id:"sheet.mutation.set-workbook-name",type:Bc.MUTATION,handler:(e,t)=>{let r=e.get(dg).getUnit(t.unitId,Pi.UNIVER_SHEET);return!!r&&(r.setName(t.name),!0)}},yTe={type:Bc.COMMAND,id:"sheet.command.set-workbook-name",handler:(e,t)=>{var r;let n=e.get(Vc),i=e.get(iwe);if(!H_e(e.get(dg),t))return!1;let a=i.onCommandExecute({id:yTe.id,params:t}),o={name:t.name,unitId:t.unitId};return zc([...null==(r=a.preRedos)?[]:r,{id:CTe.id,params:o},...a.redos],n).result}},_Te={type:Bc.COMMAND,id:"sheet.command.set-worksheet-activate",handler:(e,t,r)=>{let n=e.get(Vc),i=W_e(e.get(dg),t);if(!i)return!1;let{unitId:a,subUnitId:o}=i;return new Promise(e=>{setTimeout(()=>{e(n.syncExecuteCommand(fEe.id,{unitId:a,subUnitId:o},r))},4)})}},wTe={type:Bc.COMMAND,id:"sheet.command.delta-column-width",handler:async(e,t)=>{let r=e.get(rSe).getCurrentSelections();if(null==r||!r.length)return!1;let n=e.get(Vc),i=e.get(Pg),a=W_e(e.get(dg));if(!a)return!1;let o,{worksheet:s,unitId:l,subUnitId:u}=a,{anchorCol:c,deltaX:d}=t,h=s.getColumnWidth(c)+d,m=1===r.length&&r[0].range.rangeType===pd.ALL,f=r.filter(e=>e.range.rangeType===pd.COLUMN),g=m?pd.ALL:f.some(({range:e})=>{let{startColumn:t,endColumn:r}=e;return t<=c&&c<=r})?pd.COLUMN:pd.NORMAL;if(g===pd.ALL){let e=s.getRowCount();o={subUnitId:u,unitId:l,colWidth:h,ranges:Array(s.getColumnCount()).fill(void 0).map((t,r)=>({startRow:0,endRow:e-1,startColumn:r,endColumn:r}))}}else o=g===pd.COLUMN?{subUnitId:u,unitId:l,ranges:f.map(e=>Oh.clone(e.range)),colWidth:h}:{subUnitId:u,unitId:l,colWidth:h,ranges:[{startRow:0,endRow:s.getMaxRows()-1,startColumn:c,endColumn:c}]};let p=e.get(KAe).getSkeleton(l,u),{suitableRanges:v,remainingRanges:b}=JAe(o.ranges,p);$Ae(v,s);let C=e.get(iwe),{undos:y,redos:_}=C.onCommandExecute({id:wTe.id,params:o}),w=rEe(o,s),E=n.syncExecuteCommand(nEe.id,o),{undos:S,redos:A}=C.generateMutationsOfAutoHeight({unitId:l,subUnitId:u,ranges:v,autoHeightRanges:v,lazyAutoHeightRanges:b}),{undos:I,redos:R}=e.get(iwe).afterCommandExecute({id:wTe.id,params:o}),x=zc([..._,...R,...A],n);return E&&x.result&&i.pushUndoRedo({unitID:l,undoMutations:[{id:nEe.id,params:w},...y,...I,...S],redoMutations:[{id:nEe.id,params:o},..._,...R,...A]}),!0}},ETe={type:Bc.COMMAND,id:"sheet.command.set-worksheet-col-width",handler:(e,t)=>{var r,n;let i=e.get(rSe),a=e.get(Vc),o=e.get(Pg),s=e.get(iwe),l=null!=t&&null!=(r=t.ranges)&&r.length?t.ranges:null==(n=i.getCurrentSelections())?void 0:n.map(e=>e.range);if(null==l||!l.length)return!1;let u=W_e(e.get(dg),t);if(!u)return!1;let{subUnitId:c,unitId:d,worksheet:h}=u,m=e.get(KAe).getSkeleton(d,c),f={subUnitId:c,unitId:d,ranges:l,colWidth:t.value},{suitableRanges:g,remainingRanges:p}=JAe(f.ranges,m);$Ae(g,h);let v=rEe(f,h),b=a.syncExecuteCommand(nEe.id,f),{undos:C,redos:y}=s.generateMutationsOfAutoHeight({unitId:d,subUnitId:c,ranges:g,autoHeightRanges:g,lazyAutoHeightRanges:p}),_=s.onCommandExecute({id:ETe.id,params:f}),w=zc([..._.redos,...y],a);if(b&&w.result){var E,S;let e=s.afterCommandExecute({id:ETe.id,params:f});return zc(e.redos,a),o.pushUndoRedo({unitID:d,undoMutations:[...null==(E=_.preUndos)?[]:E,{id:nEe.id,params:v},..._.undos,...e.undos,...C],redoMutations:[...null==(S=_.preRedos)?[]:S,{id:nEe.id,params:f},..._.redos,...e.redos,...y]}),!0}return!1}},STe={type:Bc.COMMAND,id:"sheet.command.set-col-is-auto-width",handler:async(e,t)=>{let r=e.get(Vc),n=e.get(Pg),i=e.get(rSe),a=W_e(e.get(dg),t);if(!a)return!1;let{unitId:o,subUnitId:s}=a,l=[];if(null!=t&&t.ranges)l=[...t.ranges];else{let e=i.getCurrentSelections();for(let t=0;t{let{unitId:r,subUnitId:n,columnCount:i}=t,a=e.get(Vc),o=e.get(Pg);if(!W_e(e.get(dg),t))return!1;let s={unitId:r,subUnitId:n,columnCount:i},l=((e,t)=>{let r=z_e(e.get(dg),t);if(!r)throw Error("[SetWorksheetColumnCountUndoMutationFactory]: worksheet is null error!");return{unitId:t.unitId,subUnitId:t.subUnitId,columnCount:r.worksheet.getColumnCount()}})(e,s);return!!a.syncExecuteCommand(iEe.id,s)&&(o.pushUndoRedo({unitID:r,undoMutations:[{id:iEe.id,params:l}],redoMutations:[{id:iEe.id,params:s}]}),!0)}},ITe={type:Bc.COMMAND,id:"sheet.command.set-worksheet-default-style",handler:(e,t)=>{let r=e.get(Vc),n=e.get(Pg),{unitId:i}=t,a=((e,t)=>{let r=z_e(e.get(dg),t);if(!r)throw Error("[SetWorksheetDefaultStyleMutationFactory]: worksheet is null error!");let{worksheet:n}=r;return{unitId:t.unitId,subUnitId:n.getSheetId(),defaultStyle:n.getDefaultCellStyle()}})(e,t);return!!r.syncExecuteCommand(aEe.id,t)&&(n.pushUndoRedo({unitID:i,undoMutations:[{id:aEe.id,params:a}],redoMutations:[{id:aEe.id,params:t}]}),!0)}},RTe=(e,t)=>{let r=z_e(e.get(dg),t);if(!r)throw Error("[SetWorksheetHideMutationFactory]: worksheet is null error!");let{worksheet:n}=r;return{hidden:n.isSheetHidden(),unitId:t.unitId,subUnitId:n.getSheetId()}},xTe={id:"sheet.mutation.set-worksheet-hidden",type:Bc.MUTATION,handler:(e,t)=>{let r=e.get(dg).getUniverSheetInstance(t.unitId);if(null==r)return!1;let n=r.getSheetBySheetId(t.subUnitId);return!!n&&(n.getConfig().hidden=t.hidden,!0)}},TTe={type:Bc.COMMAND,id:"sheet.command.set-worksheet-hidden",handler:(e,t)=>{let r=e.get(Vc),n=e.get(Pg),i=e.get(Of),a=e.get(Cg),o=W_e(e.get(dg),t);if(!o)return!1;let{workbook:s,worksheet:l,unitId:u,subUnitId:c}=o;if(l.getConfig().hidden===Vu.TRUE)return!1;let d={unitId:u,subUnitId:c,hidden:Vu.TRUE},h=RTe(e,d);return 1===s.getSheets().filter(e=>e.getConfig().hidden===Vu.FALSE).length?(i.emit(a.t("sheets.info.hideSheet")),!1):!!r.syncExecuteCommand(xTe.id,d)&&(n.pushUndoRedo({unitID:u,undoMutations:[{id:xTe.id,params:h}],redoMutations:[{id:xTe.id,params:d}]}),!0)}},NTe={id:"sheet.mutation.set-worksheet-name",type:Bc.MUTATION,handler:(e,t)=>{let r=e.get(dg).getUniverSheetInstance(t.unitId);if(null==r)return!1;let n=r.getSheetBySheetId(t.subUnitId);return!!n&&(n.getConfig().name=t.name,!0)}},MTe={type:Bc.COMMAND,id:"sheet.command.set-worksheet-name",handler:(e,t)=>{var r,n;let i=e.get(Vc),a=e.get(Pg),o=e.get(iwe),s=W_e(e.get(dg),t);if(!s)return!1;let{unitId:l,subUnitId:u}=s,c={subUnitId:u,name:t.name,unitId:l},d=((e,t)=>{let r=z_e(e.get(dg),t);if(!r)throw Error("[SetWorksheetNameMutationFactory]: worksheet is null error!");let{worksheet:n}=r;return{unitId:t.unitId,name:n.getName(),subUnitId:n.getSheetId()}})(e,c),h=o.onCommandExecute({id:MTe.id,params:t}),m=[...null==(r=h.preRedos)?[]:r,{id:NTe.id,params:c},...h.redos],f=[...null==(n=h.preUndos)?[]:n,{id:NTe.id,params:d},...h.undos];return!!zc(m,i).result&&(a.pushUndoRedo({unitID:l,undoMutations:f,redoMutations:m}),!0)}},OTe={id:"sheet.mutation.set-worksheet-order",type:Bc.MUTATION,handler:(e,t)=>{let r=e.get(dg).getUniverSheetInstance(t.unitId);if(!r)return!1;let n=r.getConfig();return n.sheetOrder.splice(t.fromOrder,1),n.sheetOrder.splice(t.toOrder,0,t.subUnitId),r.ensureSheetOrderUnique(),!0}},LTe={type:Bc.COMMAND,id:"sheet.command.set-worksheet-order",handler:(e,t)=>{let r=e.get(Vc),n=e.get(Pg),i=W_e(e.get(dg),t);if(!i)return!1;let{workbook:a,unitId:o,subUnitId:s}=i,l={fromOrder:a.getConfig().sheetOrder.indexOf(s),toOrder:t.order,unitId:o,subUnitId:s},u=((e,t)=>({...uu.deepClone(t),toOrder:t.fromOrder,fromOrder:t.toOrder}))(0,l);return!!r.syncExecuteCommand(OTe.id,l)&&(n.pushUndoRedo({unitID:o,undoMutations:[{id:OTe.id,params:u}],redoMutations:[{id:OTe.id,params:l}]}),!0)}};var kTe=class{constructor(){$_e(this,"_model",new Map),$_e(this,"_pointChange",new On),$_e(this,"pointChange$",this._pointChange.asObservable())}addRule(e){this._ensureSubUnitMap(e.unitId).set(e.subUnitId,e),this._pointChange.next(e)}deleteRule(e,t){var r;let n=null==(r=this._model.get(e))?void 0:r.get(t);var i;n&&(null==(i=this._model)||null==(i=i.get(e))||i.delete(t),this._pointChange.next(n))}getRule(e,t){var r;return null==(r=this._model)||null==(r=r.get(e))?void 0:r.get(t)}toObject(){let e={};return[...this._model.keys()].forEach(t=>{let r=this._model.get(t);null!=r&&r.size&&(e[t]=[],[...r.keys()].forEach(n=>{let i=r.get(n);i&&e[t].push(i)}))}),e}fromObject(e){let t=new Map;Object.keys(e).forEach(r=>{let n=e[r];if(null!=n&&n.length){let e=new Map;n.forEach(t=>{e.set(t.subUnitId,t)}),t.set(r,e)}}),this._model=t}deleteUnitModel(e){this._model.delete(e)}_ensureSubUnitMap(e){let t=this._model.get(e);return t||(t=new Map,this._model.set(e,t)),t}getTargetByPermissionId(e,t){let r=this._model.get(e);if(!r)return null;for(let[n,i]of r)if(i.permissionId===t)return[e,n]}},PTe=class{constructor(e,t,r){$_e(this,"type",Bi.SelectRange),$_e(this,"subType",Di.Delete),$_e(this,"status",wg.INIT),$_e(this,"value",!0),$_e(this,"id",void 0),$_e(this,"unitId",void 0),$_e(this,"subUnitId",void 0),$_e(this,"permissionId",void 0),this.unitId=e,this.subUnitId=t,this.permissionId=r,this.id=`${Bi.SelectRange}.${Di.Delete}.${r}`}},DTe=class{constructor(e,t,r){$_e(this,"type",Bi.SelectRange),$_e(this,"subType",Di.ManageCollaborator),$_e(this,"status",wg.INIT),$_e(this,"value",!0),$_e(this,"id",void 0),$_e(this,"unitId",void 0),$_e(this,"subUnitId",void 0),$_e(this,"permissionId",void 0),this.unitId=e,this.subUnitId=t,this.permissionId=r,this.id=`${Bi.SelectRange}.${Di.ManageCollaborator}.${r}`}};const UTe=()=>[ASe,SSe,DTe,PTe],BTe=[Di.Edit,Di.View,Di.ManageCollaborator,Di.Delete],VTe=()=>[PSe,WSe,ISe,GSe,RSe,DSe,jSe,NSe,LSe,XSe,USe,kSe,qSe,HSe,xSe,YSe,zSe,TSe,FSe,VSe,OSe,MSe],FTe=[Di.Edit,Di.Print,Di.Comment,Di.View,Di.Copy,Di.Export,Di.ManageCollaborator,Di.CreateSheet,Di.DeleteSheet,Di.RenameSheet,Di.HideSheet,Di.Duplicate,Di.Share,Di.MoveSheet,Di.CopySheet,Di.RecoverHistory,Di.ViewHistory,Di.CreatePermissionObject,Di.InsertRow,Di.InsertColumn,Di.DeleteRow,Di.DeleteColumn],jTe=()=>[JSe,hAe,aAe,KSe],HTe=()=>[QSe,ZSe,$Se,eAe,tAe,rAe,iAe,nAe,oAe,sAe,lAe,uAe,cAe,dAe],WTe=[Di.Copy,Di.DeleteColumn,Di.DeleteRow,Di.EditExtraObject,Di.Filter,Di.InsertColumn,Di.InsertRow,Di.InsertHyperlink,Di.PivotTable,Di.SetCellStyle,Di.SetCellValue,Di.SetColumnStyle,Di.SetRowStyle,Di.Sort];let zTe=class extends ru{constructor(e,t,r,n,i,a,o,s){super(),this._permissionService=e,this._univerInstanceService=t,this._injector=r,this._worksheetProtectionRuleModel=n,this._worksheetProtectionPointRuleModel=i,this._resourceManagerService=a,this._rangeProtectionRuleModel=o,this._logService=s,this._init(),this._initRuleChange(),this._initRuleSnapshot(),this._initPointSnapshot()}_init(){let e=e=>{let t=e.getUnitId(),r=e=>{let r=e.getSheetId();[...jTe(),...HTe()].forEach(e=>{let n=new e(t,r);this._permissionService.addPermissionPoint(n)}),this._logService.debug("[WorksheetPermissionService]","Initialization completed",t,r)};e.getSheets().forEach(e=>{r(e)}),e.sheetCreated$.subscribe(e=>{r(e)}),e.sheetDisposed$.subscribe(e=>{let r=e.getSheetId();this._rangeProtectionRuleModel.getSubunitRuleList(t,r).forEach(e=>{[...UTe()].forEach(n=>{let i=new n(t,r,e.permissionId);this._permissionService.deletePermissionPoint(i.id)})}),[...jTe(),...HTe()].forEach(e=>{let n=new e(t,r);this._permissionService.deletePermissionPoint(n.id)})})};this._univerInstanceService.getAllUnitsForType(Pi.UNIVER_SHEET).forEach(t=>{e(t)}),this._univerInstanceService.getTypeOfUnitAdded$(Pi.UNIVER_SHEET).pipe(jX(this.dispose$)).subscribe(e),this._univerInstanceService.getTypeOfUnitDisposed$(Pi.UNIVER_SHEET).pipe(jX(this.dispose$)).subscribe(e=>{e.getSheets().forEach(t=>{let r=e.getUnitId(),n=t.getSheetId();jTe().forEach(e=>{let t=new e(r,n);this._permissionService.deletePermissionPoint(t.id)})})})}_initRuleChange(){this.disposeWithMe(this._worksheetProtectionRuleModel.ruleChange$.subscribe(e=>{switch(e.type){case"add":break;case"delete":jTe().forEach(t=>{let r=new t(e.unitId,e.subUnitId);this._permissionService.updatePermissionPoint(r.id,!0)});break;case"set":jTe().forEach(t=>{let r=new t(e.unitId,e.subUnitId);this._permissionService.updatePermissionPoint(r.id,e.rule)})}}))}_initRuleSnapshot(){this.disposeWithMe(this._resourceManagerService.registerPluginResource({toJson:()=>{let e=this._worksheetProtectionRuleModel.toObject();return JSON.stringify(e)},parseJson:e=>{if(!e)return{};try{return JSON.parse(e)}catch{return{}}},pluginName:"SHEET_WORKSHEET_PROTECTION_PLUGIN",businesses:[Pi.UNIVER_SHEET],onLoad:(e,t)=>{this._worksheetProtectionRuleModel.fromObject(t),Object.keys(t).forEach(t=>{jTe().forEach(r=>{let n=new r(e,t);n.value=!1,this._permissionService.addPermissionPoint(n)})}),this._worksheetProtectionRuleModel.changeRuleInitState(!0)},onUnLoad:e=>{let t=this._univerInstanceService.getUnit(e);t&&(t.getSheets().forEach(t=>{let r=t.getSheetId();[...jTe(),...HTe()].forEach(t=>{let n=new t(e,r);this._permissionService.deletePermissionPoint(n.id)})}),VTe().forEach(t=>{let r=new t(e);this._permissionService.deletePermissionPoint(r.id)})),this._worksheetProtectionRuleModel.deleteUnitModel(e)}}))}_initPointSnapshot(){this.disposeWithMe(this._resourceManagerService.registerPluginResource({toJson:()=>{let e=this._worksheetProtectionPointRuleModel.toObject();return JSON.stringify(e)},parseJson:e=>{if(!e)return{};try{return JSON.parse(e)}catch{return{}}},pluginName:"SHEET_WORKSHEET_PROTECTION_POINT_PLUGIN",businesses:[Pi.UNIVER_SHEET],onLoad:(e,t)=>{this._worksheetProtectionPointRuleModel.fromObject(t),Object.keys(t).forEach(t=>{HTe().forEach(r=>{let n=new r(e,t);this._permissionService.addPermissionPoint(n)})})},onUnLoad:e=>{this._worksheetProtectionPointRuleModel.deleteUnitModel(e)}}))}};zTe=ewe([J_e(0,Y(Eg)),J_e(1,Y(dg)),J_e(2,Y(he)),J_e(3,Y(aRe)),J_e(4,Y(kTe)),J_e(5,Y(hf)),J_e(6,Y(ZEe)),J_e(7,Y(kc))],zTe);const XTe={id:"sheet.mutation.set-worksheet-permission-points",type:Bc.MUTATION,handler:(e,t)=>{let{rule:r}=t;return e.get(kTe).addRule(r),!0}},qTe={type:Bc.COMMAND,id:"sheet.command.set-worksheet-permission-points",async handler(e,t){if(!t)return!1;let r=e.get(Vc),{rule:n}=t;return r.executeCommand(XTe.id,{rule:n,unitId:n.unitId,subUnitId:n.subUnitId}),!0}},GTe={type:Bc.COMMAND,id:"sheet.command.set-worksheet-protection",async handler(e,t){if(!t)return!1;let r=e.get(Vc),n=e.get(Pg),{rule:i,permissionId:a,oldRule:o}=t,{unitId:s,subUnitId:l}=i,u={...i,permissionId:a};if(await r.executeCommand(uTe.id,{unitId:s,subUnitId:l,newRule:u})){let e=[{id:uTe.id,params:{unitId:s,subUnitId:l,newRule:u}}],t=[{id:uTe.id,params:{unitId:s,subUnitId:l,rule:o}}];n.pushUndoRedo({unitID:s,redoMutations:e,undoMutations:t})}return!0}},YTe=(Bc.MUTATION,Bc.COMMAND,{type:Bc.COMMAND,id:"sheet.command.set-worksheet-row-count",handler:(e,t)=>{let{unitId:r,subUnitId:n,rowCount:i}=t,a=e.get(Vc),o=e.get(Pg);if(!W_e(e.get(dg),t))return!1;let s={unitId:r,subUnitId:n,rowCount:i},l=((e,t)=>{let r=z_e(e.get(dg),t);if(!r)throw Error("[SetWorksheetRowCountUndoMutationFactory]: worksheet is null error!");return{unitId:t.unitId,subUnitId:t.subUnitId,rowCount:r.worksheet.getRowCount()}})(e,s);return!!a.syncExecuteCommand(oEe.id,s)&&(o.pushUndoRedo({unitID:r,undoMutations:[{id:oEe.id,params:l}],redoMutations:[{id:oEe.id,params:s}]}),!0)}}),QTe={type:Bc.COMMAND,id:"sheet.command.delta-row-height",handler:async(e,t)=>{let r=e.get(rSe).getCurrentSelections(),n=e.get(iwe);if(null==r||!r.length)return!1;let i=W_e(e.get(dg));if(!i)return!1;let a,{worksheet:o,subUnitId:s,unitId:l}=i,{anchorRow:u,deltaY:c}=t,d=o.getRowHeight(u)+c,h=1===r.length&&r[0].range.rangeType===pd.ALL,m=r.filter(e=>e.range.rangeType===pd.ROW),f=h?pd.ALL:m.some(({range:e})=>{let{startRow:t,endRow:r}=e;return t<=u&&u<=r})?pd.ROW:pd.NORMAL;if(f===pd.ALL){let e=o.getColumnCount();a={subUnitId:s,unitId:l,rowHeight:d,ranges:Array(o.getRowCount()).fill(void 0).map((t,r)=>({startRow:r,endRow:r,startColumn:0,endColumn:e-1}))}}else a=f===pd.ROW?{subUnitId:s,unitId:l,ranges:m.map(e=>Oh.clone(e.range)),rowHeight:d}:{subUnitId:s,unitId:l,rowHeight:d,ranges:[{startRow:u,endRow:u,startColumn:0,endColumn:o.getMaxColumns()-1}]};let g=sEe(a,o),p={unitId:l,subUnitId:s,ranges:a.ranges,autoHeightInfo:Vu.FALSE},v=lEe(p,o),b=e.get(Vc),C=e.get(Pg),y=n.onCommandExecute({id:QTe.id,params:a}),_=zc([{id:cEe.id,params:a},{id:dEe.id,params:p}],b),w=zc([...y.redos],b);if(_.result&&w.result){var E,S;let e=n.afterCommandExecute({id:QTe.id,params:a});return zc(e.redos,b),C.pushUndoRedo({unitID:l,undoMutations:[...null==(E=y.preUndos)?[]:E,{id:cEe.id,params:g},{id:dEe.id,params:v},...y.undos,...e.undos],redoMutations:[...null==(S=y.preRedos)?[]:S,{id:cEe.id,params:a},{id:dEe.id,params:p},...y.redos,...e.redos]}),!0}return!1}},ZTe={type:Bc.COMMAND,id:"sheet.command.set-row-height",handler:(e,t)=>{var r,n;let i=e.get(rSe),a=e.get(Vc),o=e.get(Pg),s=e.get(dg),l=e.get(iwe),u=null!=t&&null!=(r=t.ranges)&&r.length?t.ranges:null==(n=i.getCurrentSelections())?void 0:n.map(e=>e.range);if(null==u||!u.length)return!1;let c=W_e(s,t);if(!c)return!1;let{unitId:d,subUnitId:h,worksheet:m}=c,f={subUnitId:h,unitId:d,ranges:u,rowHeight:t.value},g=sEe(f,m),p={unitId:d,subUnitId:h,ranges:f.ranges,autoHeightInfo:Vu.FALSE},v=lEe(p,m),b=zc([{id:cEe.id,params:f},{id:dEe.id,params:p}],a),C=l.onCommandExecute({id:ZTe.id,params:f}),y=zc([...C.redos],a);if(b.result&&y.result){var _,w;let e=l.afterCommandExecute({id:ZTe.id,params:f});return zc(e.redos,a),o.pushUndoRedo({unitID:d,undoMutations:[...null==(_=C.preRedos)?[]:_,{id:cEe.id,params:g},{id:dEe.id,params:v},...C.undos,...e.undos],redoMutations:[...null==(w=C.preRedos)?[]:w,{id:cEe.id,params:f},{id:dEe.id,params:p},...C.redos,...e.redos]}),!0}return!1}},KTe={type:Bc.COMMAND,id:"sheet.command.set-row-is-auto-height",handler:(e,t)=>{var r,n;let i=e.get(Vc),a=e.get(Pg),o=e.get(rSe),s=W_e(e.get(dg),t);if(!s)return!1;let{unitId:l,subUnitId:u,worksheet:c}=s,d=null!=t&&null!=(r=t.ranges)&&r.length?t.ranges:null==(n=o.getCurrentSelections())?void 0:n.map(e=>e.range);if(null==d||!d.length)return!1;let h={unitId:l,subUnitId:u,ranges:d,autoHeightInfo:Vu.TRUE},m=lEe(h,c),f=i.syncExecuteCommand(dEe.id,h),g=e.get(KAe).getSkeleton(l,u),{suitableRanges:p,remainingRanges:v}=JAe(h.ranges,g),b=e.get(iwe),{undos:C,redos:y}=b.generateMutationsOfAutoHeight({unitId:l,subUnitId:u,ranges:p,autoHeightRanges:p,lazyAutoHeightRanges:v}),{undos:_,redos:w}=b.onCommandExecute({id:KTe.id,params:h}),E=zc([...w,...y],i);return!(!f||!E.result||(a.pushUndoRedo({unitID:l,undoMutations:[{id:dEe.id,params:m},..._,...C],redoMutations:[{id:dEe.id,params:h},...w,...y]}),0))}},$Te={type:Bc.COMMAND,id:"sheet.command.set-worksheet-show",handler:(e,t)=>{let r=W_e(e.get(dg),t);if(!r)return!1;let{unitId:n,subUnitId:i,worksheet:a}=r;if(a.getConfig().hidden===Vu.FALSE)return!1;let o=e.get(Vc),s=e.get(Pg),l={unitId:n,subUnitId:i,hidden:Vu.FALSE},u=RTe(e,l),c=o.syncExecuteCommand(xTe.id,l),d={unitId:n,subUnitId:i},h=o.syncExecuteCommand(fEe.id,d);return!(!c||!h||(s.pushUndoRedo({unitID:n,undoMutations:[{id:xTe.id,params:u}],redoMutations:[{id:xTe.id,params:l}]}),0))}},JTe={type:Bc.COMMAND,id:"sheet.command.split-text-to-columns",handler:(e,t)=>{let r=W_e(e.get(dg),t);if(!r)return!1;let{unitId:n,subUnitId:i,worksheet:a}=r,{range:o,delimiter:s,customDelimiter:l,treatMultipleDelimitersAsOne:u}=t,{lastRow:c,rs:d,maxLength:h}=function(e,t,r,n,i=!1){let{startColumn:a,startRow:o,endColumn:s,endRow:l}=Sh.transformRange(t,e);if(a!==s)throw Error("The range must be in the same column.");if(r&&(r&UEe.Custom)>0&&(void 0===n||1!==n.length))throw Error("The custom delimiter must a character.");let u=void 0===r,c=u?new BEe:null,d=[];for(let t=o;t<=l;t++){let r=FEe(e.getCell(t,a));d.push(r),c&&c.update(r)}let h=function(e,t,r){let n=[];void 0!==r&&(e&UEe.Custom)>0&&n.push(r),(e&UEe.Tab)>0&&n.push("\t"),(e&UEe.Comma)>0&&n.push(","),(e&UEe.Semicolon)>0&&n.push(";"),(e&UEe.Space)>0&&n.push(" ");let i="";for(let e of n)i+=VEe(e);let a=`[${i}]`;return t&&(a+="+"),new RegExp(a)}(u?c.getDelimiter():r,i,n),m=-1,f=0,g=0,p=[];for(let e of d){if(void 0!==e){let t=String(e).split(h);m=m<0?t.length:Math.max(m,t.length),p.push(t),f=g}else p.push(void 0);g++}return{rs:p,maxLength:-1===m?0:m,lastRow:f}}(a,o,s,l,u),m=a.getColumnCount(),{startColumn:f}=Sh.transformRange(o,a);if(o.startColumn!==o.endColumn)return!1;let g=e.get(Vc),p=e.get(Pg),v=[],b=[],C=f+h+1-m;if(C>0){let t={unitId:n,subUnitId:i,range:{startRow:0,endRow:a.getRowCount()-1,startColumn:m-1,endColumn:m-1+C}};v.push({id:wwe.id,params:t});let r=_we(e,t);b.push({id:Rwe.id,params:r})}let y={startRow:o.startRow,endRow:c,startColumn:f,endColumn:f+h},_=new kd;for(let e=y.startRow;e<=y.endRow;e++)for(let t=y.startColumn;t<=y.endColumn;t++){let r=d[e-y.startRow];0===t&&1===(null==r?void 0:r.length)?_.setValue(e,t,a.getCell(e,t)):_.setValue(e,t,{v:(null==r?void 0:r[t-y.startColumn])||null,p:null,f:null,si:null,custom:null})}let w={unitId:n,subUnitId:i,cellValue:_.clone()},E=Zwe(e,w);return v.push({id:Kwe.id,params:w}),b.unshift({id:Kwe.id,params:E}),!!zc(v,g).result&&(p.pushUndoRedo({unitID:n,undoMutations:b,redoMutations:v}),!0)}},eNe=V("INumfmtService"),tNe=(e,t)=>{let r=e.get(eNe),{values:n,unitId:i,subUnitId:a}=t,o=[],s=[];Object.keys(n).forEach(e=>{n[e].ranges.forEach(e=>{Sh.foreach(e,(e,t)=>{let n=r.getValue(i,a,e,t);n?o.push({pattern:n.pattern,row:e,col:t}):s.push({startColumn:t,endColumn:t,startRow:e,endRow:e})})})});let l=[];if(o.length){let e=aNe(i,a,o);Object.keys(e.values).forEach(t=>{let r=e.values[t];r.ranges=MEe(r.ranges)}),l.push({id:rNe.id,params:aNe(i,a,o)})}return s.length&&l.push({id:nNe.id,params:{unitId:i,subUnitId:a,ranges:s}}),l},rNe={id:"sheet.mutation.set.numfmt",type:Bc.MUTATION,handler:(e,t)=>{if(!t)return!1;let{values:r,refMap:n}=t,i=e.get(eNe),a=t.unitId,o=t.subUnitId,s=Object.keys(r).reduce((e,t)=>{let i=n[t],a=r[t].ranges;return i&&e.push({...i,ranges:a}),e},[]);return i.setValues(a,o,s),!0}},nNe={id:"sheet.mutation.remove.numfmt",type:Bc.MUTATION,handler:(e,t)=>{if(!t)return!1;let{unitId:r,subUnitId:n,ranges:i}=t;return e.get(eNe).deleteValues(r,n,i),!0}},iNe=(e,t)=>{let r=e.get(eNe),{ranges:n,unitId:i,subUnitId:a}=t,o=[];if(n.forEach(e=>{Sh.foreach(e,(e,t)=>{let n=r.getValue(i,a,e,t);n&&o.push({pattern:n.pattern,row:e,col:t})})}),!o.length)return[];let s=aNe(i,a,o);return Object.keys(s.values).forEach(e=>{let t=s.values[e];t.ranges=MEe(t.ranges)}),[{id:rNe.id,params:s}]},aNe=(e,t,r)=>{let n=((e,t,r="")=>e.reduce((e,n)=>{let i=n&&n[t];return"string"==typeof i?(i?(e[i]||(e[i]=[]),e[i].push(n)):e[r].push(n),e):(console.warn(n,`${t} is not string`),e)},{}))(r,"pattern"),i={},a={},o=((e=0)=>{let t=e;return function(){return t++}})();return Object.keys(n).forEach(e=>{let t=n[e],r=o();i[r]={pattern:e},t.forEach(e=>{a[r]||(a[r]={ranges:[]}),a[r].ranges.push(zd(e.row,e.col))})}),{unitId:e,subUnitId:t,refMap:i,values:a}},oNe={id:"sheet.command.text-to-number",type:Bc.COMMAND,handler:(e,t)=>{var r;let n=W_e(e.get(dg),t);if(!n)return!1;let i=(null==t?void 0:t.ranges)||(null==(r=e.get(rSe).getCurrentSelections())?void 0:r.map(e=>e.range));if(null==i||!i.length)return!1;let a=e.get(Vc),o=e.get(Pg),{worksheet:s,unitId:l,subUnitId:u}=n,c=new kd,d=[];for(let e=0;e{if(!t)return!1;let{unitId:r,subUnitId:n,row:i,col:a,paragraphIndex:o}=t,s=e.get(dg).getUnit(r,Pi.UNIVER_SHEET),l=null==s?void 0:s.getSheetBySheetId(n),u=e.get(Pg),c=e.get(Vc);if(!l)return!1;let d=l.getCell(i,a);if(null==d||!d.p)return!1;let h=uu.deepClone(d.p),m=new Wm(h),f=Jm.paragraph.bullet.toggleChecklist({document:m,paragraphIndex:o});if(!f)return!1;Pm.apply(m.getBody(),f.serialize());let g={unitId:r,subUnitId:n,cellValue:{[i]:{[a]:{p:h,t:Fu.STRING}}}},p={id:Kwe.id,params:g},v=Zwe(e,g),b=[p],C=[{id:Kwe.id,params:v}];return u.pushUndoRedo({redoMutations:b,undoMutations:C,unitID:r}),c.syncExecuteCommand(p.id,p.params)}},lNe={type:Bc.COMMAND,id:"sheet.command.toggle-gridlines",handler:(e,t)=>{let r=e.get(Vc),n=e.get(Pg),i=W_e(e.get(dg),t);if(!i)return!1;let{worksheet:a}=i,o=a.getConfig().showGridlines;if(o===(null==t?void 0:t.showGridlines))return!1;let{unitId:s,subUnitId:l}=i,u={showGridlines:o===Vu.TRUE?Vu.FALSE:Vu.TRUE,unitId:s,subUnitId:l},c={showGridlines:o,unitId:s,subUnitId:l};return!!r.syncExecuteCommand(mEe.id,u)&&(n.pushUndoRedo({unitID:s,undoMutations:[{id:mEe.id,params:c}],redoMutations:[{id:mEe.id,params:u}]}),!0)}},uNe={id:"sheet.command.unregister-worksheet-range-theme-style",type:Bc.COMMAND,handler:(e,t)=>{var r;if(!t||!W_e(e.get(dg),t))return!1;let n=e.get(Vc),i=e.get(Pg),a=e.get(pwe),{unitId:o,themeName:s}=t,l={unitId:o,themeName:s},u={unitId:o,themeName:s,rangeThemeStyleJson:null==(r=a.getRangeThemeStyle(o,s))?void 0:r.toJson()};return!!n.syncExecuteCommand(Bxe.id,t)&&(i.pushUndoRedo({unitID:o,undoMutations:[{id:Bxe.id,params:u}],redoMutations:[{id:Vxe.id,params:l}]}),!0)}},cNe={id:"sheet.mutation.add-range-theme",type:Bc.MUTATION,handler:(e,t)=>{if(!t)return!1;let{styleJSON:r,unitId:n}=t,i=e.get(pwe),a=new swe(r.name);return a.fromJson(r),i.registerRangeThemeStyle(n,a),!0}},dNe={id:"sheet.mutation.empty",type:Bc.MUTATION,handler:()=>!0},hNe={id:"sheet.operation.mark-dirty-row-auto-height",type:Bc.OPERATION,handler:()=>!0},mNe={id:"sheet.operation.cancel-mark-dirty-row-auto-height",type:Bc.OPERATION,handler:()=>!0},fNe={id:"sheet.mutation.remove-range-theme",type:Bc.MUTATION,handler:(e,t)=>{if(!t)return!1;let{styleName:r,unitId:n}=t;return e.get(pwe).unregisterRangeThemeStyle(n,r),!0}},gNe={id:"sheet.mutation.set-range-theme",type:Bc.MUTATION,handler:(e,t)=>{if(!t)return!1;let{unitId:r,styleName:n,style:i}=t,a=e.get(pwe).getRangeThemeStyle(r,n);return a&&(i.headerRowStyle&&a.setHeaderRowStyle(i.headerRowStyle),i.firstRowStyle&&a.setFirstRowStyle(i.firstRowStyle),i.secondRowStyle&&a.setSecondRowStyle(i.secondRowStyle),i.lastRowStyle&&a.setLastRowStyle(i.lastRowStyle)),!0}},pNe={id:"sheet.operation.scroll-to-cell",type:Bc.OPERATION,handler:()=>!0},{getLenS:vNe,getDataIndex:bNe,fillCopy:CNe,fillCopyStyles:yNe,generateNullCellValueRowCol:_Ne}=jRe,{otherRule:wNe}=oxe;let ENe=class extends tu{constructor(e,t,r){super(),this._univerInstanceService=e,this._autoFillService=t,this._injector=r,$_e(this,"_beforeApplyData",[]),$_e(this,"_copyData",[]),this._init()}_init(){this._initDefaultHook()}quit(){this._beforeApplyData=[],this._copyData=[]}_initDefaultHook(){this.disposeWithMe(this._autoFillService.addHook({id:"default",type:zRe.DEFAULT,priority:0,onBeforeFillData:(e,t)=>this._presetAndCacheData(e,t),onFillData:(e,t,r)=>this._fillData(e,t,r)}))}_presetAndCacheData(e,t){var r;let{unitId:n,subUnitId:i,target:a}=e,o=null==(r=this._univerInstanceService.getUnit(n))?void 0:r.getSheetBySheetId(i);if(!o)throw Error(`Worksheet not found for unitId: ${n}, subUnitId: ${i}`);let s=o.getCellMatrix(),l=[];return a.rows.forEach(e=>{let t=[];a.cols.forEach(r=>{t.push(uu.deepClone(s.getValue(e,r)))}),l.push(t)}),this._beforeApplyData=l,this._copyData=this._getCopyData(e,t),this._shouldDisableSeries(this._copyData)?(this._autoFillService.setDisableApplyType(HRe.SERIES,!0),HRe.COPY):(this._autoFillService.setDisableApplyType(HRe.SERIES,!1),this._getPreferredApplyType(this._copyData))}_getApplyData(e,t,r,n,i,a=!0,o){let s=[],l=Math.floor(r/t),u=r%t,c=this._autoFillService.getRules();if(!a&&i===HRe.ONLY_FORMAT)return console.error("ERROR: only format can not be applied when hasStyle is false"),[];let d={};c.forEach(e=>{d[e.type]=[]}),c.forEach(a=>{let{type:s,applyFunctions:c={}}=a,h=e[s];h&&h.forEach(a=>{let h=vNe(a.index,u),m=a.index.length*l+h,f=this._applyFunctions(a,m,n,i,c,e,o),g=bNe(t,r,a.index);d[s].push({data:f,index:g})})});for(let e=0;e{let{type:r}=t,n=d[r];for(let t=0;t{let t=this._getEmptyCopyDataPiece(),r={type:void 0,cellData:void 0};l.forEach(n=>{let i;i=h?u.getValue(n,e):u.getValue(e,n);let{type:a,isContinue:o}=c.find(e=>e.match(i,this._injector))||wNe;if(o(r,i)){let e=t[a],r=e[e.length-1];r.data.push(i),r.index.push(n-l[0])}else{let e=t[a];e?e.push({data:[i],index:[n-l[0]]}):t[a]=[{data:[i],index:[n-l[0]]}]}r.type=a,r.cellData=i}),d.push(t)}),d}_getEmptyCopyDataPiece(){let e={};return this._autoFillService.getRules().forEach(t=>{e[t.type]=[]}),e}_getMergeApplyData(e,t,r,n,i){var a;let{unitId:o,subUnitId:s}=i,l=null==(a=this._univerInstanceService.getUnit(o))?void 0:a.getSheetBySheetId(s);if(!l)throw Error("No active sheet found");let u=[];for(let i=e.startRow;i<=e.endRow;i++)for(let a=e.startColumn;a<=e.endColumn;a++){let{isMergedMainCell:e,startRow:o,startColumn:s,endRow:c,endColumn:d}=l.getCellInfoInMergeData(i,a);if(e)if(r===Eu.DOWN){let e=o+n,r=c+n;for(;r<=t.endRow;)u.push({startRow:e,startColumn:s,endRow:r,endColumn:d}),e+=n,r+=n}else if(r===Eu.UP){let e=o-n,r=c-n;for(;e>=t.startRow;)u.push({startRow:e,startColumn:s,endRow:r,endColumn:d}),e-=n,r-=n}else if(r===Eu.RIGHT){let e=s+n,r=d+n;for(;r<=t.endColumn;)u.push({startRow:o,startColumn:e,endRow:c,endColumn:r}),e+=n,r+=n}else if(r===Eu.LEFT){let e=s-n,r=d-n;for(;e>=t.startColumn;)u.push({startRow:o,startColumn:e,endRow:c,endColumn:r}),e-=n,r-=n}}return u}_fillData(e,t,r){var n;let i=[],a=[],o=!0;r===HRe.NO_FORMAT&&(o=!1,r=HRe.SERIES);let{source:s,target:l,unitId:u,subUnitId:c}=e;if(!s||!l||null==t)return{undos:i,redos:a};let d,h=XEe(s),m=XEe(l),{cols:f,rows:g}=l,{cols:p,rows:v}=s,b=this._copyData;d=t===Eu.DOWN||t===Eu.UP?v.length:p.length;let C=[];if(t===Eu.DOWN||t===Eu.UP){let n=g.length,i=[];f.forEach((a,s)=>{let l=b[s],u=this._getApplyData(l,d,n,t,r,o,e);i.push(u)});for(let e=0;e{let s=b[a],l=this._getApplyData(s,d,n,t,r,o,e),u=[];for(let e=0;e{e.forEach(e=>{e&&_&&_&&(e.s=_.getStyleByCell(e))})})):C.forEach((e,t)=>{e.forEach((e,r)=>{e&&_&&(e.s=_.getStyleByCell(this._beforeApplyData[t][r])||null)})}),r===HRe.ONLY_FORMAT&&C.forEach((e,t)=>{e.forEach((e,r)=>{if(e){let n=this._beforeApplyData[t][r]||{};e.f=n.f,e.si=n.si,e.t=n.t,e.v=n.v}})}),o){var w;let e=[],t=null==(w=this._univerInstanceService.getUniverSheetInstance(u))||null==(w=w.getSheetBySheetId(c))?void 0:w.getMergeData();if(t&&t.forEach(t=>{Oh.intersects(t,m)&&e.push(t)}),e.length){let t={unitId:u,subUnitId:c,ranges:e},r=this._injector.invoke(xwe,t);a.push({id:Twe.id,params:t}),i.unshift({id:q_e.id,params:r})}}let E={subUnitId:c,unitId:u,cellValue:_Ne([l])},S=this._injector.invoke(Zwe,E);a.push({id:Kwe.id,params:E}),i.unshift({id:Kwe.id,params:S});let A=new kd;g.forEach((e,t)=>{f.forEach((r,n)=>{C[t][n]&&A.setValue(e,r,C[t][n])})});let I=A.getMatrix(),R={subUnitId:c,unitId:u,cellValue:I},x=this._injector.invoke(Zwe,R);if(this._autoFillService.getActiveHooks().forEach(n=>{var i;null==(i=n.onBeforeSubmit)||i.call(n,e,t,r,I)}),i.unshift({id:Kwe.id,params:x}),a.push({id:Kwe.id,params:R}),null!=y&&y.length){let e={unitId:u,subUnitId:c,ranges:WIe(y)},t=this._injector.invoke(X_e,e);i.unshift({id:Twe.id,params:t}),a.push({id:q_e.id,params:e})}return{undos:i,redos:a}}_shouldDisableSeries(e){return e.every(e=>Object.keys(e).every(t=>{var r;return 0===(null==(r=e[t])?void 0:r.length)||[WRe.OTHER,WRe.FORMULA].includes(t)}))}_getPreferredApplyType(e){return e.every(e=>Object.keys(e).every(t=>{var r,n;return 0===(null==(r=e[t])?void 0:r.length)||1===(null==(n=e[t])?void 0:n.length)&&1===e[t][0].data.length&&WRe.NUMBER===t}))?HRe.COPY:HRe.SERIES}};ENe=ewe([J_e(0,dg),J_e(1,pxe),J_e(2,Y(he))],ENe);const SNe="maxCellsPerSheet",ANe="AllDefaultWorkbook";let INe=class extends tu{constructor(e,t){super(),this._definedNamesService=e,this._resourceManagerService=t,this._initialize()}_initialize(){this._initSnapshot()}_initSnapshot(){let e=e=>{let t=this._definedNamesService.getDefinedNameMap(e);return t?JSON.stringify(t):""};this.disposeWithMe(this._resourceManagerService.registerPluginResource({pluginName:"SHEET_DEFINED_NAME_PLUGIN",businesses:[Pi.UNIVER_SHEET],toJson:t=>e(t),parseJson:e=>(e=>{if(!e)return{};try{return JSON.parse(e)}catch{return{}}})(e),onUnLoad:e=>{this._definedNamesService.removeUnitDefinedName(e)},onLoad:(e,t)=>{this._definedNamesService.registerDefinedNames(e,t)}}))}};INe=ewe([J_e(0,Jme),J_e(1,hf)],INe);const RNe=[iTe.id],xNe=[ywe.id,wwe.id,Iwe.id,Rwe.id,Swe.id,Awe.id];let TNe=class extends tu{constructor(e,t,r){var n,i;super(),this._univerInstanceService=e,this._commandService=t,this._configService=r,$_e(this,"_d",new eu),$_e(this,"_enabled",!0);let a=null==(n=null==(i=this._configService.getConfig("sheets.config"))?void 0:i.freezeSync)||n;this.setEnabled(a)}getEnabled(){return this._enabled}setEnabled(e){e?this._d.dispose():this._initOnlyLocalListener(),this._enabled=e}_initOnlyLocalListener(){this._d.add(this._commandService.beforeCommandExecuted((e,t)=>{RNe.includes(e.id)&&(t||(t={}),t.onlyLocal=!0)})),this._d.add(this._commandService.onCommandExecuted((e,t)=>{if(xNe.includes(e.id)&&null!=t&&t.fromCollab){let{id:r,params:n}=e;r===ywe.id?this._handleInsertRowMutation(n,t):r===wwe.id?this._handleInsertColMutation(n,t):r===Iwe.id?this._handleRemoveRowMutation(n,t):r===Rwe.id?this._handleRemoveColMutation(n,t):r===Swe.id?this._handleMoveRowsMutation(n,t):r===Awe.id&&this._handleMoveColsMutation(n,t)}}))}_handleInsertRowMutation(e,t){let{range:r,unitId:n,subUnitId:i}=e,a=this._getFreeze(n,i);if(a&&r.startRow=o.startRow&&n.startRow>=o.startRow||r.endRow=o.startRow?(u.startRow=Math.max(1,o.startRow-l),u.ySplit=Math.max(1,o.ySplit-l)):(u.startRow=o.startRow+s-l,u.ySplit=o.ySplit+s-l),this._sequenceExecute(i,a,u,t)}_handleMoveColsMutation(e,t){let{sourceRange:r,targetRange:n,unitId:i,subUnitId:a}=e,o=this._getFreeze(i,a);if(!o||o.startColumn<=0||r.startColumn>=o.startColumn&&n.startColumn>=o.startColumn||r.endColumn=o.startColumn?(u.startColumn=Math.max(1,o.startColumn-l),u.xSplit=Math.max(1,o.xSplit-l)):(u.startColumn=o.startColumn+s-l,u.xSplit=o.xSplit+s-l),this._sequenceExecute(i,a,u,t)}_getFreeze(e,t){let r=this._univerInstanceService.getUnit(e,Pi.UNIVER_SHEET);if(!r)return null;let n=r.getSheetBySheetId(t);return n?n.getFreeze():null}_sequenceExecute(e,t,r,n){zc([{id:iTe.id,params:{...r,unitId:e,subUnitId:t,resetScroll:!1}}],this._commandService,n)}};TNe=ewe([J_e(0,Y(dg)),J_e(1,Vc),J_e(2,Tc)],TNe);let NNe=class extends tu{constructor(e,t,r,n,i,a,o,s,l,u){super(),this._commandService=e,this._univerInstanceService=t,this._permissionService=r,this._selectionManagerService=n,this._rangeProtectionRuleModel=i,this._worksheetProtectionRuleModel=a,this._localeService=o,this._lexerTreeBuilder=s,this._contextService=l,this._definedNamesService=u,$_e(this,"disposableCollection",new eu),$_e(this,"_triggerPermissionUIEvent$",new On),$_e(this,"triggerPermissionUIEvent$",this._triggerPermissionUIEvent$.asObservable()),this._initialize()}blockExecuteWithoutPermission(e){throw this._triggerPermissionUIEvent$.next(e),new kl("have no permission")}_getPermissionCheck(e,t){let r=!0,n="";switch(e){case mAe.id:fd(t.value)&&t.value.f?(r=this._permissionCheckWithFormula(t),n=this._localeService.t("permission.dialog.formulaErr")):r=this._permissionCheckBySetRangeValue({workbookTypes:[PSe],rangeTypes:[SSe],worksheetTypes:[lAe,JSe]},t);break;case wxe.id:r=this.permissionCheckWithRanges({workbookTypes:[PSe],rangeTypes:[SSe],worksheetTypes:[lAe,JSe]},null==t?void 0:t.ranges,null==t?void 0:t.unitId,null==t?void 0:t.subUnitId),n=this._localeService.t("permission.dialog.editErr");break;case wTe.id:case ETe.id:r=this.permissionCheckWithoutRange({worksheetTypes:[uAe]}),n=this._localeService.t("permission.dialog.setRowColStyleErr");break;case QTe.id:case ZTe.id:case KTe.id:r=this.permissionCheckWithoutRange({worksheetTypes:[cAe]}),n=this._localeService.t("permission.dialog.setRowColStyleErr");break;case QAe.id:case GAe.id:r=this._permissionCheckByMoveCommand(t),n=this._localeService.t("permission.dialog.moveRowColErr");break;case ySe.id:r=this._permissionCheckByMoveRangeCommand(t),n=this._localeService.t("permission.dialog.moveRangeErr");break;case LTe.id:r=this._permissionCheckByWorksheetCommand([PSe,HSe]),n=this._localeService.t("permission.dialog.operatorSheetErr"),!1===r&&this._worksheetProtectionRuleModel.resetOrder();break;case MTe.id:r=this._permissionCheckByWorksheetCommand([PSe,XSe]),n=this._localeService.t("permission.dialog.operatorSheetErr"),!1===r&&this._worksheetProtectionRuleModel.resetOrder();break;case $Te.id:{let{unitId:e,subUnitId:i}=t;r=this._permissionCheckByWorksheetCommand([PSe,USe],e,i),n=this._localeService.t("permission.dialog.operatorSheetErr"),!1===r&&this._worksheetProtectionRuleModel.resetOrder()}break;case $xe.id:r=this.permissionCheckWithRanges({workbookTypes:[PSe],rangeTypes:[SSe],worksheetTypes:[JSe,uAe]},t.ranges,t.unitId,t.subUnitId),n=this._localeService.t("permission.dialog.setRowColStyleErr");break;case mTe.id:r=this.permissionCheckWithRanges({workbookTypes:[PSe],rangeTypes:[SSe],worksheetTypes:[JSe,cAe]},t.ranges,t.unitId,t.subUnitId),n=this._localeService.t("permission.dialog.setRowColStyleErr");break;case Jxe.id:r=this.permissionCheckWithRanges({workbookTypes:[PSe],rangeTypes:[SSe],worksheetTypes:[JSe,uAe]}),n=this._localeService.t("permission.dialog.setRowColStyleErr");break;case fTe.id:r=this.permissionCheckWithRanges({workbookTypes:[PSe],rangeTypes:[SSe],worksheetTypes:[JSe,cAe]}),n=this._localeService.t("permission.dialog.setRowColStyleErr");break;case EAe.id:r=this._permissionCheckWithInsertRangeMove("right"),n=this._localeService.t("permission.dialog.insertOrDeleteMoveRangeErr");break;case _Ae.id:r=this._permissionCheckWithInsertRangeMove("bottom"),n=this._localeService.t("permission.dialog.insertOrDeleteMoveRangeErr");break;case vAe.id:r=this._permissionCheckWithInsertRangeMove("left"),n=this._localeService.t("permission.dialog.insertOrDeleteMoveRangeErr");break;case CAe.id:r=this._permissionCheckWithInsertRangeMove("top"),n=this._localeService.t("permission.dialog.insertOrDeleteMoveRangeErr");break;case vxe.id:r=this._permissionCheckByAutoFillCommand(t),n=this._localeService.t("permission.dialog.autoFillErr")}r||this.blockExecuteWithoutPermission(n)}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{this._getPermissionCheck(e.id,null==e?void 0:e.params)})),this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===NTe.id){var t;let{unitId:r=(null==(t=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET))?void 0:t.getUnitId()),subUnitId:n}=e.params;if(!r||!n)return;let i=this._worksheetProtectionRuleModel.getRule(r,n),a=this._rangeProtectionRuleModel.getSubunitRuleList(r,n);i&&this._worksheetProtectionRuleModel.ruleRefresh(i.permissionId),a.length&&this._rangeProtectionRuleModel.ruleRefresh(n)}}))}_permissionCheckWithInsertRangeMove(e){var t;let r=W_e(this._univerInstanceService);if(!r)return!1;let{worksheet:n,unitId:i,subUnitId:a}=r,o=uu.deepClone(null==(t=this._selectionManagerService.getCurrentLastSelection())?void 0:t.range);return!(!o||("top"===e||"bottom"===e?o.endRow=n.getRowCount()-1:("left"===e||"right"===e)&&(o.endColumn=n.getColumnCount()-1),this._rangeProtectionRuleModel.getSubunitRuleList(i,a).map(e=>e.ranges).flat().some(e=>Oh.getIntersects(o,e))))}_permissionCheckByWorksheetCommand(e,t,r){let n=W_e(this._univerInstanceService,{unitId:t,subUnitId:r});if(!n)return!1;let{unitId:i,subUnitId:a}=n,o=this._worksheetProtectionRuleModel.getRule(i,a),s=this._rangeProtectionRuleModel.getSubunitRuleList(i,a).length>0;var l,u;return o||s?null!=(l=null==(u=this._permissionService.getPermissionPoint(new jSe(i).id))?void 0:u.value)&&l:this._permissionService.composePermission(e.map(e=>new e(i).id)).every(e=>e.value)}permissionCheckWithoutRange(e){var t,r,n,i;let a=W_e(this._univerInstanceService);if(!a)return!1;let{worksheet:o,unitId:s,subUnitId:l}=a,u=this._selectionManagerService.getCurrentLastSelection();if(!u)return!0;let c=null==(t=null==u||null==(r=u.primary)?void 0:r.actualRow)?0:t,d=null==(n=null==u||null==(i=u.primary)?void 0:i.actualColumn)?0:n,{workbookTypes:h,worksheetTypes:m,rangeTypes:f}=e;return!(h&&!0===h.some(e=>{var t,r;let n=new e(s);return!1===(null!=(t=null==(r=this._permissionService.getPermissionPoint(n.id))?void 0:r.value)&&t)})||m&&!0===m.some(e=>{var t,r;let n=new e(s,l);return!1===(null!=(t=null==(r=this._permissionService.getPermissionPoint(n.id))?void 0:r.value)&&t)})||f&&!0===f.some(e=>{var t,r,n,i;let a=null==(t=o.getCell(c,d))||null==(t=t.selectionProtection)?void 0:t[0];if(null==a||!a.ruleId)return!1;let u=null==(r=this._rangeProtectionRuleModel.getRule(s,l,a.ruleId))?void 0:r.permissionId;if(!u)return!1;let h=new e(s,l,u);return!1===(null!=(n=null==(i=this._permissionService.getPermissionPoint(h.id))?void 0:i.value)&&n)}))}permissionCheckWithRanges(e,t,r,n){var i;let a=W_e(this._univerInstanceService,{unitId:r,subUnitId:n});if(!a)return!1;let o=null==t?null==(i=this._selectionManagerService.getCurrentSelections())?void 0:i.map(e=>e.range):t;if(!o)return!1;let{unitId:s,subUnitId:l}=a,{workbookTypes:u,worksheetTypes:c,rangeTypes:d}=e,h=[];return u&&h.push(...u.map(e=>new e(s).id)),c&&h.push(...c.map(e=>new e(s,l).id)),d&&this._rangeProtectionRuleModel.getSubunitRuleList(s,l).forEach(e=>{o.some(t=>e.ranges.some(e=>Oh.intersects(e,t)))&&h.push(...d.map(t=>new t(s,l,e.permissionId).id))}),!h.length||this._permissionService.composePermission(h).every(e=>e.value)}_permissionCheckByMoveCommand(e){let t=W_e(this._univerInstanceService,e);if(!t)return!1;let{worksheet:r,unitId:n,subUnitId:i}=t,a=e.toRange;a.endRow===r.getRowCount()-1?a.endColumn=a.startColumn:a.endRow=a.startRow;let o=this._rangeProtectionRuleModel.getSubunitRuleList(n,i).reduce((e,t)=>[...e,...t.ranges],[]).filter(e=>Oh.intersects(e,a));return!(o.length>0||(o.forEach(e=>{for(let n=e.startRow;n<=e.endRow;n++)for(let i=e.startColumn;i<=e.endColumn;i++){var t;let e=null==(t=r.getCell(n,i))||null==(t=t.selectionProtection)?void 0:t[0];if(!1===(null==e?void 0:e[Di.Edit]))return!1}}),0))}_permissionCheckByMoveRangeCommand(e){let t=W_e(this._univerInstanceService);if(!t)return!1;let{worksheet:r,unitId:n,subUnitId:i}=t,a=e.toRange,o=this._rangeProtectionRuleModel.getSubunitRuleList(n,i).reduce((e,t)=>[...e,...t.ranges],[]).filter(e=>Oh.intersects(e,a));return!(o.length>0||(o.forEach(e=>{for(let n=e.startRow;n<=e.endRow;n++)for(let i=e.startColumn;i<=e.endColumn;i++){var t;let e=null==(t=r.getCell(n,i))||null==(t=t.selectionProtection)?void 0:t[0];if(!1===(null==e?void 0:e[Di.Edit]))return!1}}),0))}_permissionCheckBySetRangeValue(e,t){let r=[];r=t.range?[t.range]:[new kd(t.value).getDataRange()];let{unitId:n,subUnitId:i}=t;return this.permissionCheckWithRanges(e,r,n,i)}_permissionCheckWithFormula(e){let t=e.value,r=e.range,n=t.f;if(n){var i;let t=n.substring(1),r=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET),s=null==(i=e.unitId)?r.getUnitId():i,l=this._definedNamesService.getValueByName(s,t);if(l){let e=l.formulaOrRefString;e.startsWith(nhe.EQUALS)&&(e=e.slice(1));let t=e.split(",");for(let e=0;ee.ranges.some(e=>Oh.intersects(e,r))).map(e=>new SSe(n,i,e.permissionId).id);if(!this._permissionService.composePermission(a).every(e=>e.value))return!1}return!0}_permissionCheckByAutoFillCommand(e){if(!e)return!1;let{targetRange:t}=e,r=W_e(this._univerInstanceService,e);if(!r)return!1;let{worksheet:n,unitId:i,subUnitId:a}=r;return!this._rangeProtectionRuleModel.getSubunitRuleList(i,a).reduce((e,t)=>[...e,...t.ranges],[]).filter(e=>Oh.intersects(e,t)).some(e=>{for(let r=e.startRow;r<=e.endRow;r++)for(let i=e.startColumn;i<=e.endColumn;i++){var t;let e=null==(t=n.getCell(r,i))||null==(t=t.selectionProtection)?void 0:t[0];if(!1===(null==e?void 0:e[Di.Edit]))return!0}return!1})}};NNe=ewe([J_e(0,Vc),J_e(1,dg),J_e(2,Eg),J_e(3,Y(rSe)),J_e(4,Y(ZEe)),J_e(5,Y(aRe)),J_e(6,Y(Cg)),J_e(7,Y(Ffe)),J_e(8,Mc),J_e(9,Jme)],NNe);let MNe=class extends tu{constructor(e,t,r,n,i){super(),this._permissionService=e,this._univerInstanceService=t,this._rangeProtectionRuleModel=r,this._worksheetProtectionRuleModel=n,this._worksheetProtectionPointModel=i,$_e(this,"_unitPermissionInitStateChange",new Qn(!1)),$_e(this,"unitPermissionInitStateChange$",this._unitPermissionInitStateChange.asObservable()),this._init()}_init(){let e=e=>{let t=e.getUnitId();VTe().forEach(e=>{let r=new e(t);this._permissionService.addPermissionPoint(r)})};this._univerInstanceService.getAllUnitsForType(Pi.UNIVER_SHEET).forEach(t=>{e(t)}),this.disposeWithMe(this._univerInstanceService.getTypeOfUnitAdded$(Pi.UNIVER_SHEET).subscribe(t=>{e(t)})),this.disposeWithMe(this._univerInstanceService.getTypeOfUnitDisposed$(Pi.UNIVER_SHEET).subscribe(e=>{let t=e.getUnitId();e.getSheets().forEach(e=>{let r=e.getSheetId();this._rangeProtectionRuleModel.getSubunitRuleList(t,r).forEach(e=>{[...UTe()].forEach(n=>{let i=new n(t,r,e.permissionId);this._permissionService.deletePermissionPoint(i.id)})}),[...jTe(),...HTe()].forEach(e=>{let n=new e(t,r);this._permissionService.deletePermissionPoint(n.id)})}),VTe().forEach(e=>{let r=new e(t);this._permissionService.deletePermissionPoint(r.id)}),this._rangeProtectionRuleModel.deleteUnitModel(t),this._worksheetProtectionPointModel.deleteUnitModel(t),this._worksheetProtectionRuleModel.deleteUnitModel(t)}))}changeUnitInitState(e){this._unitPermissionInitStateChange.next(e)}};MNe=ewe([J_e(0,Y(Eg)),J_e(1,Y(dg)),J_e(2,Y(ZEe)),J_e(3,Y(aRe)),J_e(4,Y(kTe))],MNe);let ONe=class extends tu{constructor(e,t,r,n,i,a,o,s,l,u){super(),this._univerInstanceService=e,this._permissionService=t,this._authzIoService=r,this._rangeProtectionRuleModel=n,this._worksheetProtectionRuleModel=i,this._userManagerService=a,this._worksheetProtectionPointRuleModel=o,this._workbookPermissionService=s,this._undoRedoService=l,this._commandService=u}initPermission(){this._initRangePermissionFromSnapshot(),this._initRangePermissionChange(),this._initWorksheetPermissionFromSnapshot(),this._initWorksheetPermissionChange(),this._initWorksheetPermissionPointsChange(),this._initWorkbookPermissionFromSnapshot(),this._initUserChange(),this._refreshPermissionByCollaCreate()}refreshRangeProtectPermission(){this._initRangePermissionFromSnapshot()}async _initRangePermissionFromSnapshot(){let e=async e=>{let t=[],r=e.getUnitId(),n=e.getSheets(),i=new Map;n.forEach(e=>{let n=e.getSheetId();this._rangeProtectionRuleModel.getSubunitRuleList(r,n).forEach(e=>{i.set(e.permissionId,e),t.push({objectID:e.permissionId,unitID:r,objectType:Bi.SelectRange,actions:BTe})})}),t.length?this._authzIoService.batchAllowed(t).then(e=>{e.forEach(e=>{let t=i.get(e.objectID);if(t){if(!this._rangeProtectionRuleModel.getRule(r,t.subUnitId,t.id))return;UTe().forEach(n=>{let i=new n(r,t.subUnitId,e.objectID),a=i.subType,o=e.actions.find(e=>e.action===a);void 0!==(null==o?void 0:o.allowed)&&this._permissionService.updatePermissionPoint(i.id,o.allowed)})}}),this._rangeProtectionRuleModel.changeRuleInitState(!0)}):this._rangeProtectionRuleModel.changeRuleInitState(!0)};await Promise.all(this._univerInstanceService.getAllUnitsForType(Pi.UNIVER_SHEET).map(t=>e(t))),this._rangeProtectionRuleModel.changeRuleInitState(!0)}_initRangePermissionChange(){this.disposeWithMe(this._rangeProtectionRuleModel.ruleChange$.subscribe(e=>{"delete"===e.type?0===this._rangeProtectionRuleModel.getSubunitRuleList(e.unitId,e.subUnitId).length&&(this._worksheetProtectionPointRuleModel.deleteRule(e.unitId,e.subUnitId),[...HTe()].forEach(t=>{let r=new t(e.unitId,e.subUnitId);this._permissionService.updatePermissionPoint(r.id,r.value)})):this._authzIoService.allowed({objectID:e.rule.permissionId,unitID:e.unitId,objectType:Bi.SelectRange,actions:BTe}).then(t=>{this._rangeProtectionRuleModel.getRule(e.unitId,e.subUnitId,e.rule.id)&&(UTe().forEach(r=>{if("set"===e.type){let{rule:t,oldRule:r}=e;if(t.permissionId===(null==r?void 0:r.permissionId))return}let n=e.rule,i=new r(n.unitId,n.subUnitId,n.permissionId),a=i.subType,o=t.find(e=>e.action===a);o&&this._permissionService.updatePermissionPoint(i.id,o.allowed)}),this._rangeProtectionRuleModel.ruleRefresh(e.rule.permissionId))})}))}async initWorkbookPermissionChange(e){var t;let r=e||(null==(t=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET))?void 0:t.getUnitId());if(r)return this._authzIoService.allowed({objectID:r,objectType:Bi.Workbook,unitID:r,actions:FTe}).then(e=>{VTe().forEach(t=>{let n=new t(r),i=n.subType,a=e.find(e=>e.action===i);a&&this._permissionService.updatePermissionPoint(n.id,a.allowed)})})}async _initWorkbookPermissionFromSnapshot(){await Promise.all(this._univerInstanceService.getAllUnitsForType(Pi.UNIVER_SHEET).map(e=>this.initWorkbookPermissionChange(e.getUnitId()))),this._workbookPermissionService.changeUnitInitState(!0)}_initWorksheetPermissionChange(){this.disposeWithMe(this._worksheetProtectionRuleModel.ruleChange$.subscribe(e=>{"delete"===e.type?([...jTe(),...HTe()].forEach(t=>{let r=new t(e.unitId,e.subUnitId);this._permissionService.updatePermissionPoint(r.id,!0)}),this._worksheetProtectionPointRuleModel.deleteRule(e.unitId,e.subUnitId)):this._authzIoService.allowed({objectID:e.rule.permissionId,unitID:e.unitId,objectType:Bi.Worksheet,actions:BTe}).then(t=>{let r=this._worksheetProtectionRuleModel.getRule(e.unitId,e.subUnitId);!r||r.permissionId!==e.rule.permissionId||(jTe().forEach(r=>{let n=new r(e.unitId,e.subUnitId),i=n.subType,a=t.find(e=>e.action===i);a&&this._permissionService.updatePermissionPoint(n.id,a.allowed)}),this._worksheetProtectionRuleModel.ruleRefresh(e.rule.permissionId))})}))}_initWorksheetPermissionPointsChange(){this.disposeWithMe(this._worksheetProtectionPointRuleModel.pointChange$.subscribe(e=>{this._authzIoService.allowed({objectID:e.permissionId,unitID:e.unitId,objectType:Bi.Worksheet,actions:WTe}).then(t=>{let r=this._worksheetProtectionPointRuleModel.getRule(e.unitId,e.subUnitId);!r||r.permissionId!==e.permissionId||HTe().forEach(r=>{let n=new r(e.unitId,e.subUnitId),i=n.subType,a=t.find(e=>e.action===i);a&&this._permissionService.updatePermissionPoint(n.id,a.allowed)})})}))}async _initWorksheetPermissionFromSnapshot(){let e=async e=>{let t=[],r=e.getUnitId(),n=e.getSheets(),i=new Map;n.forEach(e=>{let n=e.getSheetId(),a=this._worksheetProtectionRuleModel.getRule(r,n);a&&(i.set(a.permissionId,a),t.push({objectID:a.permissionId,unitID:r,objectType:Bi.Worksheet,actions:BTe}));let o=this._worksheetProtectionPointRuleModel.getRule(r,n);o&&(i.set(o.permissionId,o),t.push({objectID:o.permissionId,unitID:r,objectType:Bi.Worksheet,actions:WTe}))}),t.length?this._authzIoService.batchAllowed(t).then(e=>{e.forEach(e=>{let t=i.get(e.objectID);if(t){let n=this._worksheetProtectionRuleModel.getRule(r,t.subUnitId)||this._worksheetProtectionPointRuleModel.getRule(r,t.subUnitId);if(!n||n.permissionId!==e.objectID)return;[...jTe(),...HTe()].forEach(n=>{let i=new n(r,t.subUnitId),a=i.subType,o=e.actions.find(e=>e.action===a);void 0!==(null==o?void 0:o.allowed)&&this._permissionService.updatePermissionPoint(i.id,o.allowed)})}}),this._worksheetProtectionRuleModel.changeRuleInitState(!0)}):this._worksheetProtectionRuleModel.changeRuleInitState(!0)};await Promise.all(this._univerInstanceService.getAllUnitsForType(Pi.UNIVER_SHEET).map(t=>e(t))),this._worksheetProtectionRuleModel.changeRuleInitState(!0)}_initUserChange(){this.disposeWithMe(this._userManagerService.currentUser$.pipe(Si(1)).subscribe(()=>{let e=this._permissionService.getAllPermissionPoint();this._permissionService.clearPermissionMap(),this._worksheetProtectionRuleModel.changeRuleInitState(!1),this._univerInstanceService.getAllUnitsForType(Pi.UNIVER_SHEET).forEach(t=>{let r=t.getUnitId();VTe().forEach(t=>{let n=new t(r);e.has(n.id)&&(n=e.get(n.id)),this._permissionService.addPermissionPoint(n)}),t.getSheets().forEach(t=>{let n=t.getSheetId();[...jTe(),...HTe()].forEach(t=>{let i=new t(r,n);e.has(i.id)&&(i=e.get(i.id)),this._permissionService.addPermissionPoint(i)}),this._rangeProtectionRuleModel.getSubunitRuleList(r,n).forEach(t=>{UTe().forEach(i=>{let a=new i(r,n,t.permissionId);e.has(a.id)&&(a=e.get(a.id)),this._permissionService.addPermissionPoint(a)})})}),this._initWorkbookPermissionFromSnapshot(),this._initWorksheetPermissionFromSnapshot(),this._initRangePermissionFromSnapshot()})}))}refreshPermission(e,t){let r=this._worksheetProtectionRuleModel.getTargetByPermissionId(e,t),n=!1;if(r){let[i,a]=r;this._authzIoService.allowed({objectID:t,unitID:e,objectType:Bi.Worksheet,actions:BTe}).then(r=>{if(!this._worksheetProtectionRuleModel.getTargetByPermissionId(e,t))return;let i="";jTe().forEach(t=>{let o=new t(e,a),s=o.subType,l=r.find(e=>e.action===s);var u;l&&((null==(u=this._permissionService.getPermissionPoint(o.id))?void 0:u.value)!==l.allowed&&(n=!0),this._permissionService.updatePermissionPoint(o.id,l.allowed),i+=`${l.action}_${l.allowed}`)}),this._worksheetProtectionRuleModel.ruleRefresh(`${t}_${i}`),n&&this._undoRedoService.clearUndoRedo(e)})}let i=this._worksheetProtectionPointRuleModel.getTargetByPermissionId(e,t);if(i){let[r,a]=i;this._authzIoService.allowed({objectID:t,unitID:e,objectType:Bi.Worksheet,actions:WTe}).then(r=>{this._worksheetProtectionPointRuleModel.getTargetByPermissionId(e,t)&&(HTe().forEach(t=>{let i=new t(e,a),o=i.subType,s=r.find(e=>e.action===o);var l;s&&((null==(l=this._permissionService.getPermissionPoint(i.id))?void 0:l.value)!==s.allowed&&(n=!0),this._permissionService.updatePermissionPoint(i.id,s.allowed))}),n&&this._undoRedoService.clearUndoRedo(e))})}let a=this._rangeProtectionRuleModel.getTargetByPermissionId(e,t);if(a){let[r,i]=a;this._authzIoService.allowed({objectID:t,unitID:e,objectType:Bi.SelectRange,actions:BTe}).then(r=>{if(!this._rangeProtectionRuleModel.getTargetByPermissionId(e,t))return;let a="";UTe().forEach(o=>{let s=new o(e,i,t),l=s.subType,u=r.find(e=>e.action===l);var c;u&&((null==(c=this._permissionService.getPermissionPoint(s.id))?void 0:c.value)!==u.allowed&&(n=!0),this._permissionService.updatePermissionPoint(s.id,u.allowed),a+=`${u.action}_${u.allowed}`)}),this._rangeProtectionRuleModel.ruleRefresh(`${t}_${a}`),n&&this._undoRedoService.clearUndoRedo(e)})}}_refreshPermissionByCollaCreate(){this.disposeWithMe(this._commandService.onCommandExecuted((e,t)=>{if(null!=t&&t.fromCollab&&(e.id===$Ee.id||e.id===oRe.id||e.id===XTe.id)){let t=e.params;this._undoRedoService.clearUndoRedo(t.unitId)}}))}};ONe=ewe([J_e(0,dg),J_e(1,Eg),J_e(2,vf),J_e(3,Y(ZEe)),J_e(4,Y(aRe)),J_e(5,Y(gf)),J_e(6,Y(kTe)),J_e(7,Y(MNe)),J_e(8,Y(Pg)),J_e(9,Y(Vc))],ONe);let LNe=class extends tu{constructor(e,t,r){super(),this._commandService=e,this._sheetRangeThemeModel=t,this._univerInstanceService=r,$_e(this,"_zebraCacheUpdateSubject",new On),this._init()}_init(){this._initializeCommandListener(),this._initTriggerCacheUpdateListener()}updateZebraCrossingCache(e,t){this._zebraCacheUpdateSubject.next({unitId:e,subUnitId:t})}_initializeCommandListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{let t,r,{id:n}=e;switch(n){case ywe.id:{let n=e.params;t=n.unitId,r=n.subUnitId}break;case eEe.id:{let n=e.params;t=n.unitId,r=n.subUnitId}break;case tEe.id:{let n=e.params;t=n.unitId,r=n.subUnitId}break;case Iwe.id:{let n=e.params;t=n.unitId,r=n.subUnitId}break;case cEe.id:{let n=e.params;t=n.unitId,r=n.subUnitId}}t&&r&&(this._sheetRangeThemeModel.refreshSheetRowVisibleFuncSet(t,r),this._sheetRangeThemeModel.refreshZebraCrossingCacheBySheet(t,r))}))}_initTriggerCacheUpdateListener(){this.disposeWithMe(this._zebraCacheUpdateSubject.subscribe(({unitId:e,subUnitId:t})=>{this._sheetRangeThemeModel.refreshSheetRowVisibleFuncSet(e,t),this._sheetRangeThemeModel.refreshZebraCrossingCacheBySheet(e,t)}))}};LNe=ewe([J_e(0,Y(Vc)),J_e(1,Y(pwe)),J_e(2,Y(dg))],LNe);let kNe=class{constructor(e,t){this._selectionProtectionRuleModel=e,this._permissionService=t,$_e(this,"_cache",new hh(1e4)),this._init()}_init(){this._permissionService.permissionPointUpdate$.pipe(Un(e=>e.type===Bi.SelectRange),Un(e=>UTe().some(t=>e instanceof t)),Yn(e=>e)).subscribe(e=>{let t=this._selectionProtectionRuleModel.getSubunitRuleList(e.unitId,e.subUnitId);for(let r of t)r.permissionId===e.permissionId&&r.ranges.forEach(t=>{Sh.foreach(t,(t,r)=>{let n=this._createKey(e.unitId,e.subUnitId,t,r);this._cache.delete(n)})})}),this._selectionProtectionRuleModel.ruleChange$.subscribe(e=>{var t;e.rule.ranges.forEach(t=>{Sh.foreach(t,(t,r)=>{let n=this._createKey(e.unitId,e.subUnitId,t,r);this._cache.delete(n)})}),"set"===e.type&&(null==(t=e.oldRule)||t.ranges.forEach(t=>{Sh.foreach(t,(t,r)=>{let n=this._createKey(e.unitId,e.subUnitId,t,r);this._cache.delete(n)})}))})}_createKey(e,t,r,n){return`${e}_${t}_${r}_${n}`}getCellInfo(e,t,r,n){let i=this._selectionProtectionRuleModel.getSubunitRuleList(e,t);if(!i||!i.length)return[];let a=this._createKey(e,t,r,n),o=this._cache.get(a);if(o)return o;let s=[];for(let a of i)if(a.ranges.some(e=>e.startRow<=r&&e.endRow>=r&&e.startColumn<=n&&e.endColumn>=n)){let r=UTe().reduce((r,n)=>{var i;let o=new n(e,t,a.permissionId),s=this._permissionService.getPermissionPoint(o.id);return r[o.subType]=null==(i=null==s?void 0:s.value)?o.value:i,r},{});s.push({...r,ruleId:a.id,ranges:a.ranges})}return this._cache.set(a,s),s}clear(){this._cache.clear()}};kNe=ewe([J_e(0,Y(ZEe)),J_e(1,Y(Eg))],kNe);let PNe=class extends tu{constructor(e,t,r){super(),this._ruleModel=e,this._permissionService=t,this._univerInstanceService=r,$_e(this,"_cellRuleCache",new Map),$_e(this,"_permissionIdCache",new Map),$_e(this,"_cellInfoCache",new Map),$_e(this,"_rowInfoCache",new Map),$_e(this,"_colInfoCache",new Map),this._initUpdateCellRuleCache(),this._initUpdateCellInfoCache(),this._initUpdateRowColInfoCache(),this._initCache()}_initCache(){this._univerInstanceService.getAllUnitsForType(Pi.UNIVER_SHEET).forEach(e=>{e.getSheets().forEach(t=>{let r=e.getUnitId(),n=t.getSheetId();this.reBuildCache(r,n)})})}_initUpdateCellInfoCache(){this._permissionService.permissionPointUpdate$.pipe(Un(e=>e.type===Bi.SelectRange),Yn(e=>e)).subscribe(e=>{let{subUnitId:t,unitId:r,permissionId:n}=e,i=this._permissionIdCache.get(n);if(!i)return;let a=this._ruleModel.getRule(r,t,i);if(!a)return;let o=this._ensureCellInfoMap(r,t);a.ranges.forEach(e=>{let{startRow:t,endRow:r,startColumn:n,endColumn:i}=e;for(let e=t;e<=r;e++)for(let t=n;t<=i;t++)o.delete(`${e}-${t}`)})}),this._ruleModel.ruleChange$.subscribe(e=>{let{unitId:t,subUnitId:r}=e,n=this._ensureCellInfoMap(t,r);var i;e.rule.ranges.forEach(e=>{Sh.foreach(e,(e,t)=>{n.delete(`${e}-${t}`)})}),"set"===e.type&&(null==(i=e.oldRule)||i.ranges.forEach(e=>{Sh.foreach(e,(e,t)=>{this._cellInfoCache.delete(`${e}-${t}`)})}))})}_initUpdateCellRuleCache(){this._ruleModel.ruleChange$.subscribe(e=>{let{type:t}=e;"add"===t?this._addCellRuleCache(e):"delete"===t?this._deleteCellRuleCache(e):(this._deleteCellRuleCache({...e,rule:e.oldRule}),this._addCellRuleCache(e))})}_ensureRuleMap(e,t){let r=this._cellRuleCache.get(e);r||(r=new Map,this._cellRuleCache.set(e,r));let n=r.get(t);return n||(n=new Map,r.set(t,n)),n}_ensureCellInfoMap(e,t){let r=this._cellInfoCache.get(e);r||(r=new Map,this._cellInfoCache.set(e,r));let n=r.get(t);return n||(n=new Map,r.set(t,n)),n}_ensureRowColInfoMap(e,t,r){let n="row"===r?this._rowInfoCache.get(e):this._colInfoCache.get(e);n||(n=new Map,"row"===r?this._rowInfoCache.set(e,n):this._colInfoCache.set(e,n));let i=n.get(t);return i||(i=new Map,n.set(t,i)),i}_addCellRuleCache(e){let{subUnitId:t,unitId:r,rule:n}=e,i=this._ensureRuleMap(r,t);n.ranges.forEach(e=>{let{startRow:t,endRow:r,startColumn:a,endColumn:o}=e;for(let e=t;e<=r;e++)for(let t=a;t<=o;t++)i.set(`${e}-${t}`,n.id)}),this._permissionIdCache.set(n.permissionId,n.id)}_deleteCellRuleCache(e){let{subUnitId:t,unitId:r,rule:n}=e,i=this._ensureRuleMap(r,t),a=this._ensureCellInfoMap(r,t);n.ranges.forEach(e=>{let{startRow:t,endRow:r,startColumn:n,endColumn:o}=e;for(let e=t;e<=r;e++)for(let t=n;t<=o;t++)i.delete(`${e}-${t}`),a.delete(`${e}-${t}`)}),this._permissionIdCache.delete(n.permissionId)}_getSelectionActions(e,t,r){var n,i,a,o,s,l,u,c,d,h,m,f;let g=null!=(n=null==(i=this._permissionService.getPermissionPoint(null==(a=new SSe(e,t,r.permissionId))?void 0:a.id))?void 0:i.value)&&n,p=null!=(o=null==(s=this._permissionService.getPermissionPoint(null==(l=new ASe(e,t,r.permissionId))?void 0:l.id))?void 0:s.value)&&o,v=null!=(u=null==(c=this._permissionService.getPermissionPoint(null==(d=new DTe(e,t,r.permissionId))?void 0:d.id))?void 0:c.value)&&u,b=null!=(h=null==(m=this._permissionService.getPermissionPoint(null==(f=new PTe(e,t,r.permissionId))?void 0:f.id))?void 0:m.value)&&h;return{[Di.Edit]:g,[Di.View]:p,[Di.ManageCollaborator]:v,[Di.Delete]:b}}reBuildCache(e,t){let r=this._ensureRuleMap(e,t),n=this._ensureCellInfoMap(e,t);r.clear(),n.clear();let i=this._ensureRowColInfoMap(e,t,"row"),a=this._ensureRowColInfoMap(e,t,"col");i.clear(),a.clear(),this._ruleModel.getSubunitRuleList(e,t).forEach(o=>{let s=this._getSelectionActions(e,t,o),l={...s,ruleId:o.id,ranges:o.ranges};o.ranges.forEach(e=>{let{startRow:t,endRow:u,startColumn:c,endColumn:d}=e;for(let e=t;e<=u;e++){let t=i.get(`${e}`);t?t.set(o.id,s):i.set(`${e}`,new Map([[o.id,s]]));for(let t=c;t<=d;t++){r.set(`${e}-${t}`,o.id),n.set(`${e}-${t}`,l);let i=a.get(`${t}`);i?i.set(o.id,s):a.set(`${t}`,new Map([[o.id,s]]))}}}),this._permissionIdCache.set(o.permissionId,o.id)})}getRowPermissionInfo(e,t,r,n){var i;let a=null==(i=this._rowInfoCache.get(e))?void 0:i.get(t);if(!a)return!0;let o=a.get(`${r}`);return!o||n.every(e=>{for(let t of o.values())if(!1===t[e])return!1;return!0})}getColPermissionInfo(e,t,r,n){var i;let a=null==(i=this._colInfoCache.get(e))?void 0:i.get(t);if(!a)return!0;let o=a.get(`${r}`);return!o||n.every(e=>{for(let t of o.values())if(!1===t[e])return!1;return!0})}_initUpdateRowColInfoCache(){this._permissionService.permissionPointUpdate$.pipe(Un(e=>e.type===Bi.SelectRange),Yn(e=>e)).subscribe({next:e=>{let{subUnitId:t,unitId:r,permissionId:n}=e,i=this._permissionIdCache.get(n);if(!i)return;let a=this._ruleModel.getRule(r,t,i);if(!a)return;let o=this._ensureRowColInfoMap(r,t,"row"),s=this._ensureRowColInfoMap(r,t,"col"),l=this._getSelectionActions(r,t,a);a.ranges.forEach(e=>{let{startRow:t,endRow:r,startColumn:n,endColumn:a}=e;for(let e=t;e<=r;e++){let t=o.get(`${e}`);t?t.set(i,l):o.set(`${e}`,new Map([[i,l]]));for(let e=n;e<=a;e++){let t=s.get(`${e}`);t?t.set(i,l):s.set(`${e}`,new Map([[i,l]]))}}})}}),this._ruleModel.ruleChange$.subscribe(e=>{if("delete"===e.type){let{unitId:t,subUnitId:r,rule:n}=e,i=this._ensureRowColInfoMap(t,r,"row"),a=this._ensureRowColInfoMap(t,r,"col");n.ranges.forEach(e=>{let{startRow:t,endRow:r,startColumn:o,endColumn:s}=e;for(let e=t;e<=r;e++){let t=i.get(`${e}`);null==t||t.delete(n.id);for(let e=o;e<=s;e++){let t=a.get(`${e}`);null==t||t.delete(n.id)}}})}})}getCellInfo(e,t,r,n){var i;let a=this._ensureCellInfoMap(e,t),o=a.get(`${r}-${n}`);if(o)return o;let s=null==(i=this._cellRuleCache.get(e))||null==(i=i.get(t))?void 0:i.get(`${r}-${n}`);if(!s)return;let l=this._ruleModel.getRule(e,t,s);if(l){let i={...this._getSelectionActions(e,t,l),ruleId:s,ranges:l.ranges};return a.set(`${r}-${n}`,i),i}}deleteUnit(e){this._cellRuleCache.delete(e),this._cellInfoCache.delete(e),this._rowInfoCache.delete(e),this._colInfoCache.delete(e);let t=this._univerInstanceService.getUnit(e);null==t||t.getSheets().forEach(t=>{let r=t.getSheetId();this._ruleModel.getSubunitRuleList(e,r).forEach(e=>{this._permissionIdCache.delete(e.permissionId)})})}};PNe=ewe([J_e(0,Y(ZEe)),J_e(1,Y(Eg)),J_e(2,Y(dg))],PNe);let DNe=class extends tu{constructor(e,t){super(),this._commandService=e,this._univerInstanceService=t,$_e(this,"_previousSheetIndex",-1),this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{if(e.id===XAe.id)return this._beforeAdjustActiveSheetOnRemoveSheet(e)})),this.disposeWithMe(this._commandService.onCommandExecuted((e,t)=>e.id===XAe.id?this._adjustActiveSheetOnRemoveSheet(e):e.id===xTe.id&&e.params.hidden?this._adjustActiveSheetOnHideSheet(e):(null==t||!t.fromCollab)&&(e.id===Txe.id?this._adjustActiveSheetOnInsertSheet(e):e.id!==xTe.id||e.params.hidden?e.id===vSe.id?this._adjustActiveSheetOnSelection(e):void 0:this._adjustActiveSheetOnShowSheet(e))))}_adjustActiveSheetOnHideSheet(e){var t;let{unitId:r,subUnitId:n}=e.params,i=this._univerInstanceService.getUniverSheetInstance(r);if(!i||(null==(t=i.getActiveSheet())?void 0:t.getSheetId())!==n)return;let a=UNe(i,i.getActiveSheetIndex());this._switchToNextSheet(r,a)}_beforeAdjustActiveSheetOnRemoveSheet(e){let{unitId:t,subUnitId:r}=e.params,n=this._univerInstanceService.getUniverSheetInstance(t);if(!n)return;let i=n.getSheetBySheetId(r);i&&(this._previousSheetIndex=n.getSheetIndex(i))}_adjustActiveSheetOnRemoveSheet(e){if(-1===this._previousSheetIndex)return;let{unitId:t}=e.params,r=this._univerInstanceService.getUniverSheetInstance(t);if(r&&r.getActiveSheet().getSheetId()===e.params.subUnitId){let e=this._previousSheetIndex,n=UNe(r,e>=1?e-1:0);this._switchToNextSheet(t,n)}}_adjustActiveSheetOnInsertSheet(e){let{unitId:t,sheet:r}=e.params;this._switchToNextSheet(t,r.id)}_adjustActiveSheetOnShowSheet(e){let{unitId:t,subUnitId:r}=e.params;this._switchToNextSheet(t,r)}_adjustActiveSheetOnSelection(e){var t;let{unitId:r,subUnitId:n}=e.params;n!==(null==(t=this._univerInstanceService.getUnit(r))?void 0:t.getActiveSheet().getSheetId())&&this._switchToNextSheet(r,n)}_switchToNextSheet(e,t){this._commandService.executeCommand(fEe.id,{unitId:e,subUnitId:t})}};function UNe(e,t){let r=e.getSheetSize();for(let r=t;r>-1;r--){let t=e.getSheetByIndex(r);if(!t.getConfig().hidden)return t.getSheetId()}for(let n=t;n{var t;this._commandService.registerCommand(e),null==(t=this._dataSyncPrimaryController)||t.registerSyncingMutations(e)}),null!=(n=this._configService.getConfig("ONLY_REGISTER_FORMULA_RELATED_MUTATIONS_KEY"))&&n||[JIe,eRe,tRe,rRe,cRe,aSe,wxe,oSe,Mxe,vAe,CAe,wTe,QTe,PAe,kAe,DAe,UAe,LAe,OAe,_Ae,EAe,xAe,RAe,NAe,TAe,IAe,AAe,Dxe,QAe,ySe,GAe,FAe,zAe,WAe,jAe,Hxe,rIe,YIe,wRe,yRe,_Re,Zxe,Qxe,qxe,Gxe,Yxe,eTe,Pwe,Dwe,ETe,Kxe,kwe,aTe,iTe,oTe,SRe,dTe,mAe,ZTe,gTe,hTe,Jwe,Jxe,fTe,$xe,mTe,hRe,bTe,vTe,CRe,IRe,ARe,ERe,yTe,_Te,fEe,TTe,xTe,MTe,LTe,OTe,hEe,cEe,KTe,dEe,nEe,YTe,ATe,bSe,vSe,pNe,Pxe,jxe,rTe,$Te,lNe,mEe,sTe,Uwe,oNe,qTe,oRe,uTe,sRe,XTe,JEe,cTe,Oxe,lRe,Lxe,GTe,$Ee,KEe,lTe,sNe,aEe,ITe,JTe,bwe,vwe,Vxe,Bxe,uNe,Fxe,uRe,kxe,cNe,gNe,fNe,vxe,Cxe,yxe,_xe,Uxe].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e))),this._configService.setConfig(SNe,3e6)}};BNe=ewe([J_e(0,Vc),J_e(1,Tc),J_e(2,G(Fde))],BNe);let VNe=class extends tu{constructor(e,t){super(),this._univerInstanceService=e,this._commandService=t,this._initialize()}_initialize(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id!==cfe.id)return;let{unitData:t}=e.params,r=Object.keys(t),n=[];for(let e=0;e{let n=function(e,t,r){var n,i;if(null==e||null==t)return t;let a=(null==r?void 0:r.getStyleByCell(e))||e.s,o=(null==r?void 0:r.getStyleByCell(t))||t.s;if(null==a||null==o||"object"!=typeof a||"object"!=typeof o)return t;let s=null==a||null==(n=a.n)?void 0:n.pattern,l=null==o||null==(i=o.n)?void 0:i.pattern;if(null==s||null==l)return t;let u=s||l;return o.n.pattern=u,t}(null==o?void 0:o.getValue(e,t),r,i);s.setValue(e,t,n)}),s.getMatrix()}};VNe=ewe([J_e(0,Y(dg)),J_e(1,Vc)],VNe);let FNe=class extends tu{constructor(e){super(),this._sheetInterceptorService=e,this._initialize()}_initialize(){this._initInterceptorCellContent()}_initInterceptorCellContent(){this.disposeWithMe(this._sheetInterceptorService.intercept(G_e.CELL_CONTENT,{priority:11,effect:Vl.Value|Vl.Style,handler:(e,t,r)=>{var n;if(!e)return r(e);let i=t.workbook.getStyles().getStyleByCell(e);return Ed(null==i||null==(n=i.n)?void 0:n.pattern)&&(null==e?void 0:e.t)===Fu.NUMBER&&void 0!==e.v&&null!==e.v&&$d(e.v)?((!e||e===t.rawData)&&(e={...t.rawData}),e.v=wge(Number(e.v)),r(e)):r(e)}}))}};FNe=ewe([J_e(0,Y(iwe))],FNe);let jNe=class extends tu{constructor(e,t,r,n){super(),this._permissionService=e,this._worksheetProtectionRuleModel=t,this._sheetInterceptorService=r,this._rangeProtectionCache=n,this._initViewModelByRangeInterceptor(),this._initViewModelBySheetInterceptor()}_initViewModelByRangeInterceptor(){this.disposeWithMe(this._sheetInterceptorService.intercept(G_e.CELL_CONTENT,{priority:999,effect:Vl.Value|Vl.Style,handler:(e,t,r)=>{let{unitId:n,subUnitId:i,row:a,col:o}=t,s=this._rangeProtectionCache.getCellInfo(n,i,a,o);if(s){let n=!1===s[Di.View],i=e&&e!==t.rawData?e:{...t.rawData};return i.selectionProtection=[s],n?(delete i.s,delete i.v,delete i.p,i):r(i)}return r(e)}}))}_initViewModelBySheetInterceptor(){this.disposeWithMe(this._sheetInterceptorService.intercept(G_e.CELL_CONTENT,{priority:999,effect:Vl.Value|Vl.Style,handler:(e,t,r)=>{let{unitId:n,subUnitId:i}=t,a=this._worksheetProtectionRuleModel.getRule(n,i);if(null!=a&&a.permissionId){var o,s,l,u,c;let a=[{[Di.View]:null!=(o=null==(s=this._permissionService.getPermissionPoint(new hAe(n,i).id))?void 0:s.value)&&o,[Di.Edit]:null!=(l=null==(u=this._permissionService.getPermissionPoint(new JSe(n,i).id))?void 0:u.value)&&l}],d=!(null!=(c=a[0])&&c[Di.View]),h=e&&e!==t.rawData?e:{...e};return h.hasWorksheetRule=!0,h.selectionProtection=a,d?(delete h.s,delete h.v,delete h.p,h):r(h)}return r(e)}}))}};jNe=ewe([J_e(0,Eg),J_e(1,Y(aRe)),J_e(2,Y(iwe)),J_e(3,Y(PNe))],jNe);const HNe=V("univer.exclusive-range-service");var WNe=class extends tu{constructor(...e){super(...e),$_e(this,"_exclusiveRanges",new Map),$_e(this,"_exclusiveRangesChange$",new On),$_e(this,"exclusiveRangesChange$",this._exclusiveRangesChange$.asObservable())}_ensureUnitMap(e){return this._exclusiveRanges.has(e)||this._exclusiveRanges.set(e,new Map),this._exclusiveRanges.get(e)}_ensureSubunitMap(e,t){let r=this._ensureUnitMap(e);return r.has(t)||r.set(t,new Map),r.get(t)}_ensureFeature(e,t,r){let n=this._ensureSubunitMap(e,t);return n.has(r)||n.set(r,[]),n.get(r)}addExclusiveRange(e,t,r,n){let i=this._ensureFeature(e,t,r);i.push(...n),this._exclusiveRangesChange$.next({unitId:e,subUnitId:t,ranges:i.map(e=>e.range)})}getExclusiveRanges(e,t,r){var n;return null==(n=this._exclusiveRanges.get(e))||null==(n=n.get(t))?void 0:n.get(r)}clearExclusiveRanges(e,t,r){let n=this.getExclusiveRanges(e,t,r);this._exclusiveRangesChange$.next({unitId:e,subUnitId:t,ranges:(null==n?void 0:n.map(e=>e.range))||[]}),this._ensureFeature(e,t,r),this._exclusiveRanges.get(e).get(t).set(r,[])}clearExclusiveRangesByGroupId(e,t,r,n){let i=this.getExclusiveRanges(e,t,r);this._exclusiveRangesChange$.next({unitId:e,subUnitId:t,ranges:(null==i?void 0:i.map(e=>e.range))||[]});let a=this.getExclusiveRanges(e,t,r);if(a){let i=a.filter(e=>e.groupId!==n);this._exclusiveRanges.get(e).get(t).set(r,i)}}getInterestGroupId(e){let t=[];return e.forEach(e=>{var r;let n=e.range,{unitId:i,sheetId:a}=n;if(!i||!a)return;let o=null==(r=this._exclusiveRanges.get(i))?void 0:r.get(a);if(o)for(let e of o.keys()){let r=o.get(e);if(r)for(let i of r)if(Oh.intersects(n,i.range)){t.push(e);break}}}),t}};let zNe=class extends tu{constructor(e,t,r){super(),this._resourceManagerService=e,this._univerInstanceService=t,this._logService=r}getValue(e,t,r,n){let i=this._univerInstanceService.getUniverSheetInstance(e);if(!i)return;let a=null==i?void 0:i.getSheetBySheetId(t);if(!a)return;let o=i.getStyles(),s=a.getCellRaw(r,n);if(null!=s&&s.s){let e=o.get(s.s);if(null!=e&&e.n)return e.n}return null}deleteValues(e,t,r){let n=this._univerInstanceService.getUniverSheetInstance(e);if(!n)return;let i=null==n?void 0:n.getSheetBySheetId(t);if(!i)return;let a=n.getStyles();r.forEach(e=>{Sh.foreach(e,(e,t)=>{let r=i.getCellRaw(e,t);if(!r)return;let n=null==r?void 0:r.s,o={...n&&a.get(n)||{}};delete o.n,r.s=a.setValue(o)})})}setValues(e,t,r){let n=this._univerInstanceService.getUniverSheetInstance(e);if(!n)return;let i=null==n?void 0:n.getSheetBySheetId(t);if(!i)return;let a=n.getStyles(),o=i.getCellMatrix();r.forEach(e=>{e.ranges.forEach(t=>{Sh.foreach(t,(t,r)=>{let n=i.getCellRaw(t,r);if(n){let t={...a.getStyleByCell(n)||{},n:{pattern:e.pattern}};n.s=a.setValue(t)}else{let n={n:{pattern:e.pattern}},i=a.setValue(n);i&&o.setValue(t,r,{s:i})}})})})}};zNe=ewe([J_e(0,hf),J_e(1,dg),J_e(2,kc)],zNe);const XNe=[wwe.id,ywe.id,Rwe.id,Iwe.id],qNe=[Swe.id,Awe.id];let GNe=class extends tu{constructor(e,t,r,n,i,a,o,s){super(),this._selectionProtectionRuleModel=e,this._univerInstanceService=t,this._commandService=r,this._refRangeService=n,this._selectionProtectionRenderModel=i,this._rangeProtectionCache=a,this._sheetInterceptorService=o,this._rangeProtectionRuleModel=s,$_e(this,"disposableCollection",new eu),this._onRefRangeChange(),this._correctPermissionRange(),this._initReBuildCache(),this._initRemoveSheet()}_onRefRangeChange(){let e=(e,t)=>{let r=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET);if(!r||null==r||!r.getSheetBySheetId(t))return;this.disposableCollection.dispose();let n=r=>this.refRangeHandle(r,e,t);this._selectionProtectionRuleModel.getSubunitRuleList(e,t).reduce((e,t)=>[...e,...t.ranges],[]).forEach(r=>{this.disposableCollection.add(this._refRangeService.registerRefRange(r,n,e,t))})};this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(t.id===_Te.id){let r=t.params,n=r.subUnitId,i=r.unitId;if(!n||!i)return;e(i,n)}if(t.id===lTe.id||t.id===$Ee.id){let r=t.params,n=r.subUnitId,i=r.unitId;if(!n||!i)return;e(i,n)}}));let t=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET);if(t){let r=t.getActiveSheet();if(!r)return;e(t.getUnitId(),r.getSheetId())}}refRangeHandle(e,t,r){switch(e.id){case GAe.id:return this._getRefRangeMutationsByMoveRows(e.params,t,r);case QAe.id:return this._getRefRangeMutationsByMoveCols(e.params,t,r);case AAe.id:return this._getRefRangeMutationsByInsertRows(e.params,t,r);case OAe.id:return this._getRefRangeMutationsByInsertCols(e.params,t,r);case zAe.id:return this._getRefRangeMutationsByDeleteCols(e.params,t,r);case jAe.id:return this._getRefRangeMutationsByDeleteRows(e.params,t,r)}return{redos:[],undos:[]}}_getRefRangeMutationsByDeleteCols(e,t,r){let n=this._selectionProtectionRuleModel.getSubunitRuleList(t,r).filter(t=>t.ranges.some(t=>Oh.intersects(t,e.range))),i=e.range;if(n.length){let e=[],a=[];return n.forEach(n=>{let o=uu.deepClone(n);o.ranges=o.ranges.reduce((e,t)=>{if(Oh.intersects(t,i)){let r=uu.deepClone(t),{startColumn:n,endColumn:a}=i;if(n<=r.startColumn&&a>=r.endColumn)return e;n>=r.startColumn&&a<=r.endColumn?r.endColumn-=a-n+1:nr.endColumn&&(r.endColumn=n-1),this._checkIsRightRange(r)&&e.push(r)}return e},[]),o.ranges.length?(e.push({id:lTe.id,params:{unitId:t,subUnitId:r,rule:o,ruleId:n.id}}),a.push({id:lTe.id,params:{unitId:t,subUnitId:r,rule:n,ruleId:n.id}})):(e.push({id:KEe.id,params:{unitId:t,subUnitId:r,ruleIds:[n.id]}}),a.push({id:$Ee.id,params:{unitId:t,subUnitId:r,name:"",rules:[n]}}))}),{redos:e,undos:a}}return{undos:[],redos:[]}}_getRefRangeMutationsByDeleteRows(e,t,r){let n=this._selectionProtectionRuleModel.getSubunitRuleList(t,r).filter(t=>t.ranges.some(t=>Oh.intersects(t,e.range))),i=e.range;if(n.length){let e=[],a=[];return n.forEach(n=>{let o=uu.deepClone(n);o.ranges=o.ranges.reduce((e,t)=>{if(Oh.intersects(t,i)){let r=uu.deepClone(t),{startRow:n,endRow:a}=i;if(n<=r.startRow&&a>=r.endRow)return e;n>=r.startRow&&a<=r.endRow?r.endRow-=a-n+1:nr.endRow&&(r.endRow=n-1),this._checkIsRightRange(r)&&e.push(r)}return e},[]),e.push({id:lTe.id,params:{unitId:t,subUnitId:r,rule:o,ruleId:n.id}}),a.push({id:lTe.id,params:{unitId:t,subUnitId:r,rule:n,ruleId:n.id}})}),{redos:e,undos:a}}return{undos:[],redos:[]}}_getRefRangeMutationsByInsertCols(e,t,r){let n=e.range.startColumn,i=e.range.endColumn-e.range.startColumn+1,a=this._selectionProtectionRuleModel.getSubunitRuleList(t,r).filter(e=>e.ranges.some(e=>n>e.startColumn&&n<=e.endColumn));if(a.length){let e=[],o=[];return a.forEach(a=>{let s=uu.deepClone(a),l=!1;s.ranges.forEach(e=>{n>e.startColumn&&n<=e.endColumn&&(e.endColumn+=i,l=!0)}),l&&(e.push({id:lTe.id,params:{unitId:t,subUnitId:r,rule:s,ruleId:a.id}}),o.push({id:lTe.id,params:{unitId:t,subUnitId:r,rule:a,ruleId:a.id}}))}),{redos:e,undos:o}}return{undos:[],redos:[]}}_getRefRangeMutationsByInsertRows(e,t,r){let n=e.range.startRow,i=e.range.endRow-e.range.startRow+1,a=this._selectionProtectionRuleModel.getSubunitRuleList(t,r).filter(e=>e.ranges.some(e=>n>e.startRow&&n<=e.endRow));if(a.length){let e=[],o=[];return a.forEach(a=>{let s=uu.deepClone(a),l=!1;s.ranges.forEach(e=>{n>e.startRow&&n<=e.endRow&&(e.endRow+=i,l=!0)}),l&&(e.push({id:lTe.id,params:{unitId:t,subUnitId:r,rule:s,ruleId:a.id}}),o.push({id:lTe.id,params:{unitId:t,subUnitId:r,rule:a,ruleId:a.id}}))}),{redos:e,undos:o}}return{undos:[],redos:[]}}_getRefRangeMutationsByMoveRows(e,t,r){let n=e.toRange,i=n.startRow,a=n.endRow-n.startRow+1,o=this._selectionProtectionRuleModel.getSubunitRuleList(t,r).filter(e=>e.ranges.some(e=>i>e.startRow&&i<=e.endRow));if(o.length){let n=[],s=[];return o.forEach(o=>{let l=uu.deepClone(o),u=e.fromRange.startRow,c=!1;l.ranges.forEach(e=>{i>e.startRow&&i<=e.endRow&&(ue.ranges.some(e=>i>e.startColumn&&i<=e.endColumn));if(o.length){let n=[],s=[];return o.forEach(o=>{let l=uu.deepClone(o),u=e.fromRange.startColumn,c=!1;l.ranges.forEach(e=>{i>e.startColumn&&i<=e.endColumn&&(u{if(qNe.includes(e.id)){if(!e.params)return;let t=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET);if(!t)return;let r=t.getSheetBySheetId(e.params.subUnitId);if(!r)return;let{sourceRange:n,targetRange:i}=e.params,a=n.startColumn===i.startColumn&&n.endColumn===i.endColumn,o=a?n.endRow-n.startRow+1:n.endColumn-n.startColumn+1,s=a?n.startRow:n.startColumn,l=a?i.startRow:i.startColumn;this._selectionProtectionRuleModel.getSubunitRuleList(t.getUnitId(),r.getSheetId()).forEach(e=>{e.ranges.forEach(e=>{let{startRow:t,endRow:r,startColumn:i,endColumn:u}=e;Oh.intersects(e,n)||(a?sr?(t-=o,r-=o):s>r&&l<=t&&(t+=o,r+=o):su?(i-=o,u-=o):s>u&&l<=i&&(i+=o,u+=o)),this._checkIsRightRange({startRow:t,endRow:r,startColumn:i,endColumn:u})&&(e.startColumn=i,e.endColumn=u,e.startRow=t,e.endRow=r)})}),this.disposableCollection.dispose();let{unitId:u,subUnitId:c}=e.params,d=e=>this.refRangeHandle(e,u,c);this._selectionProtectionRuleModel.getSubunitRuleList(u,c).reduce((e,t)=>[...e,...t.ranges],[]).forEach(e=>{this.disposableCollection.add(this._refRangeService.registerRefRange(e,d,u,c))}),this._selectionProtectionRenderModel.clear()}if(XNe.includes(e.id)){let t=this._univerInstanceService.getUniverSheetInstance(e.params.unitId);if(!t)return;let r=t.getSheetBySheetId(e.params.subUnitId);if(!r)return;let n=e.params;if(!n)return;let{range:i}=n,a=e.id.includes("row"),o=e.id.includes("insert"),s=a?i.startRow:i.startColumn,l=a?i.endRow:i.endColumn,u=l-s+1;this._selectionProtectionRuleModel.getSubunitRuleList(t.getUnitId(),r.getSheetId()).forEach(e=>{e.ranges.forEach(e=>{let{startRow:t,endRow:r,startColumn:n,endColumn:i}=e;o?a?s<=t&&(t+=u,r+=u):s<=n&&(n+=u,i+=u):a?lthis.refRangeHandle(e,c,d);this._selectionProtectionRuleModel.getSubunitRuleList(c,d).reduce((e,t)=>[...e,...t.ranges],[]).forEach(e=>{this.disposableCollection.add(this._refRangeService.registerRefRange(e,h,c,d))}),this._selectionProtectionRenderModel.clear()}}))}_checkIsRightRange(e){return e.startRow<=e.endRow&&e.startColumn<=e.endColumn}_initReBuildCache(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(XNe.includes(e.id)||qNe.includes(e.id)){let{unitId:t,subUnitId:r}=e.params;this._rangeProtectionCache.reBuildCache(t,r)}}))}_initRemoveSheet(){this._sheetInterceptorService.interceptCommand({getMutations:e=>{let t=[],r=[];if(e.id===Hxe.id){let n=e.params,i=[],a=[];this._rangeProtectionRuleModel.getSubunitRuleList(n.unitId,n.subUnitId).forEach(e=>{i.push(e.id),a.push(e)}),i.length&&a.length&&(r.push({id:KEe.id,params:{unitId:n.unitId,subUnitId:n.subUnitId,ruleIds:i}}),t.push({id:$Ee.id,params:{unitId:n.unitId,subUnitId:n.subUnitId,name:"",rules:a}}))}return{redos:[],undos:t,preRedos:r,preUndos:[]}}})}};GNe=ewe([J_e(0,Y(ZEe)),J_e(1,Y(dg)),J_e(2,Vc),J_e(3,Y(VIe)),J_e(4,Y(kNe)),J_e(5,Y(PNe)),J_e(6,Y(iwe)),J_e(7,Y(ZEe))],GNe);let YNe=class extends tu{constructor(e,t,r,n,i){super(),this._selectionProtectionRuleModel=e,this._permissionService=t,this._resourceManagerService=r,this._selectionProtectionCache=n,this._univerInstanceService=i,this._initSnapshot(),this._initRuleChange()}_initRuleChange(){this.disposeWithMe(this._selectionProtectionRuleModel.ruleChange$.subscribe(e=>{switch(e.type){case"add":UTe().forEach(t=>{let r=new t(e.unitId,e.subUnitId,e.rule.permissionId);this._permissionService.addPermissionPoint(r)});break;case"delete":UTe().forEach(t=>{let r=new t(e.unitId,e.subUnitId,e.rule.permissionId);this._permissionService.deletePermissionPoint(r.id)});break;case"set":e.oldRule.permissionId!==e.rule.permissionId&&UTe().forEach(t=>{let r=new t(e.unitId,e.subUnitId,e.oldRule.permissionId);this._permissionService.deletePermissionPoint(r.id);let n=new t(e.unitId,e.subUnitId,e.rule.permissionId);this._permissionService.addPermissionPoint(n)})}}))}_initSnapshot(){this.disposeWithMe(this._resourceManagerService.registerPluginResource({toJson:e=>{let t=this._selectionProtectionRuleModel.toObject()[e];return t?JSON.stringify(t):""},parseJson:e=>{if(!e)return{};try{return JSON.parse(e)}catch{return{}}},pluginName:"SHEET_RANGE_PROTECTION_PLUGIN",businesses:[Pi.UNIVER_SHEET],onLoad:(e,t)=>{let r=this._selectionProtectionRuleModel.toObject();r[e]=t,this._selectionProtectionRuleModel.fromObject(r);let n=[];Object.keys(t).forEach(r=>{let i=t[r];this._selectionProtectionRuleModel.getSubunitRuleList(e,r).forEach(t=>{n.push({objectID:t.permissionId,unitID:e,objectType:Bi.SelectRange,actions:BTe})}),i.forEach(t=>{UTe().forEach(n=>{let i=new n(e,r,t.permissionId);i.value=!1,this._permissionService.addPermissionPoint(i)})}),this._selectionProtectionCache.reBuildCache(e,r)})},onUnLoad:e=>{this._selectionProtectionCache.deleteUnit(e)}}))}};YNe=ewe([J_e(0,Y(ZEe)),J_e(1,Y(Eg)),J_e(2,Y(hf)),J_e(3,Y(PNe)),J_e(4,Y(dg))],YNe);let QNe=class extends tu{constructor(e){super(),this._sheetRangeThemeModel=e}registerRangeTheme(e,t){this._sheetRangeThemeModel.registerRangeThemeStyle(e,t)}removeRangeThemeRule(e,t){this._sheetRangeThemeModel.removeRangeThemeRule(e,t)}getALLRegisterThemes(e){return this._sheetRangeThemeModel.getALLRegisteredTheme(e)}registerRangeThemeStyle(e,t){this._sheetRangeThemeModel.registerRangeThemeRule(e,t)}getAppliedRangeThemeStyle(e){return this._sheetRangeThemeModel.getRegisteredRangeThemeStyle(e)}getRegisteredRangeThemes(){return this._sheetRangeThemeModel.getRegisteredRangeThemes()}};QNe=ewe([J_e(0,Y(pwe))],QNe);let ZNe=class extends Rg{constructor(e=Axe,t,r){super(),this._config=e,this._injector=t,this._configService=r;let{...n}=hr({},Axe,this._config);this._configService.setConfig(Exe,n),this._initConfig(),this._initDependencies()}_initConfig(){var e,t,r;null!=(e=this._config)&&e.onlyRegisterFormulaRelatedMutations&&this._configService.setConfig("ONLY_REGISTER_FORMULA_RELATED_MUTATIONS_KEY",!0),null!=(t=this._config)&&t.isRowStylePrecedeColumnStyle&&this._configService.setConfig("isRowStylePrecedeColumnStyle",!0),null!=(r=this._config)&&r.autoHeightForMergedCells&&this._configService.setConfig(xl,!0)}_initDependencies(){var e;let t=[[Wxe],[Ixe],[rSe],[VIe],[MNe],[eNe,{useClass:zNe}],[iwe],[QNe],[KAe],[BNe],[XIe],[FNe],[INe],[LNe],[TNe],[zTe],[aRe],[kTe],[jNe],[ONe],[NNe],[pwe],[kNe],[ZEe],[PNe],[GNe],[YNe],[HNe,{useClass:WNe,deps:[rSe]}],[pxe,{useClass:gxe}],[ENe]];null!=(e=this._config)&&e.notExecuteFormula||t.push([VNe]),Ml(this._injector,Ag(t,this._config.override)),Ol(this._injector,[[iwe],[YNe],[HNe],[ONe],[TNe]])}onStarting(){var e;Ol(this._injector,[[BNe],[XIe],[MNe],[zTe],[jNe],[KAe],[ENe]]),null!=(e=this._config)&&e.onlyRegisterFormulaRelatedMutations||this._injector.add([DNe])}onRendered(){Ol(this._injector,[[eNe]])}onReady(){Ol(this._injector,[[DNe],[VNe],[INe],[LNe],[pwe],[FNe],[kNe],[GNe],[VIe],[NNe]])}};$_e(ZNe,"pluginName","SHEET_PLUGIN"),$_e(ZNe,"packageName","@univerjs/sheets"),$_e(ZNe,"version","0.19.0"),$_e(ZNe,"type",Pi.UNIVER_SHEET),ZNe=ewe([Tg(m_e),J_e(1,Y(he)),J_e(2,Tc)],ZNe);const KNe={WorkbookCommentPermission:ISe,WorkbookCopyPermission:RSe,WorkbookCreateProtectPermission:TSe,WorkbookCreateSheetPermission:NSe,WorkbookDeleteSheetPermission:LSe,WorkbookDuplicatePermission:kSe,WorkbookEditablePermission:PSe,WorkbookExportPermission:DSe,WorkbookHideSheetPermission:USe,WorkbookHistoryPermission:BSe,WorkbookManageCollaboratorPermission:jSe,WorkbookMoveSheetPermission:HSe,WorkbookPrintPermission:WSe,WorkbookRecoverHistoryPermission:zSe,WorkbookRenameSheetPermission:XSe,WorkbookSharePermission:qSe,WorkbookViewHistoryPermission:YSe,WorkbookViewPermission:GSe,WorksheetCopyPermission:QSe,WorksheetDeleteColumnPermission:ZSe,WorksheetDeleteProtectionPermission:KSe,WorksheetDeleteRowPermission:$Se,WorksheetEditExtraObjectPermission:eAe,WorksheetEditPermission:JSe,WorksheetFilterPermission:tAe,WorksheetInsertColumnPermission:rAe,WorksheetInsertHyperlinkPermission:nAe,WorksheetInsertRowPermission:iAe,WorksheetManageCollaboratorPermission:aAe,WorksheetPivotTablePermission:oAe,WorksheetSetCellStylePermission:sAe,WorksheetSetCellValuePermission:lAe,WorksheetSetColumnStylePermission:uAe,WorksheetSetRowStylePermission:cAe,WorksheetSortPermission:dAe,WorksheetViewPermission:hAe,RangeProtectionPermissionEditPoint:SSe,RangeProtectionPermissionViewPoint:ASe},$Ne=(e,t,r,n)=>{let i=e.get(Eg),a=e.get(ZEe),o=i.getPermissionPoint(new PSe(t).id);if(null==o||!o.value)return!1;let s=i.getPermissionPoint(new JSe(t,r).id);if(null==s||!s.value)return!1;let l=a.getSubunitRuleList(t,r).filter(e=>e.ranges.some(e=>n.some(t=>Oh.intersects(e,t))));return!l.length||l.every(e=>{let n=e.permissionId,a=i.getPermissionPoint(new SSe(t,r,n).id);return!(null==a||!a.value)})},JNe=(e,t,r,n=1,i=!0,a=!0)=>{let{startRow:o,endRow:s}=Sh.transformRange(e,t),l=r.startRow-n,u=t.getMergedCell(l,r.startColumn),c=!u||u.startRow===l&&u.startColumn===r.startColumn;for(;!t.getRowVisible(l)||!c;)l--,u=t.getMergedCell(l,r.startColumn),c=!u||u.startRow===l&&u.startColumn===r.startColumn;return l>=o?{...r,startRow:l,endRow:l}:a?tMe(e,t,{...r,startRow:s,endRow:s},n,i,!1):void 0},eMe=(e,t,r,n=1,i=!0,a=!0)=>{let{startRow:o,endRow:s}=Sh.transformRange(e,t),l=r.endRow+n,u=t.getMergedCell(l,r.startColumn),c=!u||u.startRow===l&&u.startColumn===r.startColumn;for(;!t.getRowVisible(l)||!c;)l++,u=t.getMergedCell(l,r.startColumn),c=!u||u.startRow===l&&u.startColumn===r.startColumn;return l<=s?{...r,startRow:l,endRow:l}:a?rMe(e,t,{...r,startRow:o,endRow:o},n,i,!1):void 0},tMe=(e,t,r,n=1,i=!0,a=!0)=>{let{startColumn:o,endColumn:s}=Sh.transformRange(e,t),l=r.startColumn-n,u=t.getMergedCell(r.startRow,l),c=!u||u.startRow===r.startRow&&u.startColumn===l;for(;!t.getColVisible(l)||!c;)l--,u=t.getMergedCell(r.startRow,l),c=!u||u.startRow===r.startRow&&u.startColumn===l;return l>=o?{...r,startColumn:l,endColumn:l}:a?JNe(e,t,{...r,startColumn:s,endColumn:s},n,i,!1):void 0},rMe=(e,t,r,n=1,i=!0,a=!0)=>{let{startColumn:o,endColumn:s}=Sh.transformRange(e,t),l=r.endColumn+n,u=t.getMergedCell(r.startRow,l),c=!u||u.startRow===r.startRow&&u.startColumn===l;for(;!t.getColVisible(l)||!c;)l++,u=t.getMergedCell(r.startRow,l),c=!u||u.startRow===r.startRow&&u.startColumn===l;return l<=s?{...r,endColumn:l,startColumn:l}:a?eMe(e,t,{...r,startColumn:o,endColumn:o},n,i,!1):void 0};function nMe(e,t,r){let n=null;return r.getMatrixWithMergedCells(e,t,e,t).forValue((e,t,r)=>(n={actualRow:e,actualColumn:t,startRow:e,startColumn:t,isMerged:void 0!==r.rowSpan||void 0!==r.colSpan,isMergedMainCell:void 0!==r.rowSpan&&void 0!==r.colSpan,endRow:e+(void 0===r.rowSpan?0:r.rowSpan-1),endColumn:t+(void 0===r.colSpan?0:r.colSpan-1),rangeType:pd.NORMAL},!1)),n||{actualColumn:t,actualRow:e,startRow:e,startColumn:t,endRow:e,endColumn:t,isMerged:!1,isMergedMainCell:!1,rangeType:pd.NORMAL}}const iMe={id:"formula.command.insert-function",type:Bc.COMMAND,handler:async(e,t)=>{let{list:r,listOfRangeHasNumber:n}=t,i=e.get(Vc),a=new kd;r.forEach(e=>{let{range:t,primary:r,formula:n}=e,{row:i,column:o}=r,s=cu(6);a.setValue(i,o,{f:n,si:s});let{startRow:l,startColumn:u,endRow:c,endColumn:d}=t;for(let e=l;e<=c;e++)for(let t=u;t<=d;t++)(e!==i||t!==o)&&a.setValue(e,t,{si:s})}),n&&n.length>0&&n.forEach(e=>{let{primary:t,formula:r}=e;a.setValue(t.row,t.column,{f:r})});let o={value:a.getData()};return i.executeCommand(mAe.id,o)}},aMe={id:"sheets-formula.command.quick-sum",type:Bc.COMMAND,handler:async e=>{let t=e.get(rSe).getCurrentLastSelection();if(!t)return!1;let r=W_e(e.get(dg));if(!r)return!1;let n=t.range,{worksheet:i}=r,a=function(e,t){for(let r=e.startRow;r<=e.endRow;r++)for(let n=e.startColumn;n<=e.endColumn;n++)if(jEe(t.getCell(r,n)))return{startRow:r,startColumn:n,endRow:r,endColumn:n};return null}(n,i);if(!a)return!1;a=sSe(a,i);let o=IEe({startRow:a.startRow,startColumn:a.startColumn,endRow:n.endRow,endColumn:n.endColumn},{left:!0,right:!0,up:!0,down:!0},i),s=new kd,l=sSe({startRow:o.endRow,endRow:o.endRow,startColumn:o.startColumn,endColumn:o.endColumn},i);if(!Oh.equals(l,o))for(let e of i.iterateByColumn(l))(!e.value||!i.cellHasValue(e.value))&&s.setValue(e.row,e.col,{f:`=SUM(${Pme({startColumn:e.col,endColumn:e.col,startRow:o.startRow,endRow:e.row-1})})`});let u=sSe({startRow:o.startRow,startColumn:o.endColumn,endRow:o.endRow,endColumn:o.endColumn},i);if(!Oh.equals(u,o))for(let e of i.iterateByRow(u))(!e.value||!i.cellHasValue(e.value))&&s.setValue(e.row,e.col,{f:`=SUM(${Pme({startColumn:o.startColumn,endColumn:e.col-1,startRow:e.row,endRow:e.row})})`});let c=e.get(Vc);return(await Xc([{id:mAe.id,params:{range:o,value:s.getMatrix()}},{id:vSe.id,params:{unitId:r.unitId,subUnitId:r.subUnitId,selections:[{range:o,primary:Oh.contains(o,t.primary)?t.primary:{...a,actualRow:a.startRow,actualColumn:a.startColumn},style:null}]}}],c)).result}},oMe="sheets-formula.base.config";Symbol(oMe);let sMe=function(e){return e[e.FORCED=0]="FORCED",e[e.WHEN_EMPTY=1]="WHEN_EMPTY",e[e.NO_CALCULATION=2]="NO_CALCULATION",e}({});const lMe={},uMe="sheets-formula.remote.config";Symbol(uMe);const cMe={};function dMe(e,t){return function(r,n){t(r,n,e)}}function hMe(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}let mMe=class extends tu{constructor(e,t){super(),this._autoFillService=e,this._lexerTreeBuilder=t,this._registerAutoFill()}_registerAutoFill(){let e={type:WRe.FORMULA,priority:1001,match:e=>Bd(null==e?void 0:e.f)||Vd(null==e?void 0:e.si),isContinue:(e,t)=>e.type===WRe.FORMULA,applyFunctions:{[HRe.COPY]:(e,t,r,n,i)=>{let{data:a,index:o}=e;return this._fillCopyFormula(a,t,r,o,n,i)}}};this._autoFillService.registerRule(e)}_fillCopyFormula(e,t,r,n,i,a){let o=function(e){let t=0;for(let r in e)e[r].forEach(e=>{t+=e.data.length});return t}(i),s=[],l=new Map;for(let i=1;i<=t;i++){let d=(i-1)%e.length,h=n[d],m=uu.deepClone(e[d]);if(m){var u,c;let n=(null==(u=e[d])?void 0:u.f)||"",i=(null==(c=e[d])?void 0:c.si)||"",f=Bd(n);if(Vd(i))m.si=i,m.f=null,m.v=null,m.p=null,m.t=null,s.push(m);else if(f){let e=l.get(d);if(e)m.si=e,m.f=null,m.v=null,m.p=null,m.t=null;else{e=cu(6),l.set(d,e);let{offsetX:i,offsetY:s}=fMe(o,t,r,a,h),u=this._lexerTreeBuilder.moveFormulaRefOffset(n,i,s);m.si=e,m.f=u,m.v=null,m.p=null,m.t=null}s.push(m)}}}return s}};function fMe(e,t,r,n,i){let{source:a,target:o}=n,{rows:s}=o,{rows:l}=a,u=0,c=0;switch(r){case Eu.UP:c=s[i]-l[i];break;case Eu.RIGHT:u=e;break;case Eu.DOWN:c=s[i]-l[i];break;case Eu.LEFT:u=-e*t}return{offsetX:u,offsetY:c}}function gMe(e){return gMe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},gMe(e)}function pMe(e,t,r){return(t=function(e){var t=function(e){if("object"!=gMe(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=gMe(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==gMe(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}mMe=hMe([dMe(0,pxe),dMe(1,Y(Ffe))],mMe);let vMe=class extends tu{constructor(e,t,r){super(),this._commandService=e,this._sheetInterceptorService=t,this._formulaDataModel=r,pMe(this,"_errorValueCell",{v:Jde.VALUE,t:Fu.STRING}),pMe(this,"_refreshRender",void 0),this._initialize()}_initialize(){this._commandExecutedListener(),this._initInterceptorCellContent()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(async e=>{if(e.id===yfe.id){let t=e.params;if(!t)return;let{imageFormulaData:r}=t;if(!r||0===r.length)return;let n=await Promise.all(r.map(e=>this._getImageNatureSize(e))),i={};n.forEach(e=>{let{unitId:t,sheetId:r,row:n,column:a,...o}=e;i[t]||(i[t]={}),i[t][r]||(i[t][r]=new kd),i[t][r].setValue(n,a,o)}),this._formulaDataModel.mergeUnitImageFormulaData(i),this._refreshRender()}}))}_initInterceptorCellContent(){this.disposeWithMe(this._sheetInterceptorService.intercept(G_e.CELL_CONTENT,{priority:Y_e.CELL_IMAGE,effect:Vl.Value|Vl.Style,handler:(e,t,r)=>{var n;let{unitId:i,subUnitId:a,row:o,col:s}=t,l=this._formulaDataModel.getUnitImageFormulaData(),u=null==l||null==(n=l[i])||null==(n=n[a])?void 0:n.getValue(o,s);if(!u)return r(e);let{source:c,height:d,width:h,isErrorImage:m,imageNaturalWidth:f,imageNaturalHeight:g}=u;if(m)return r(this._errorValueCell);let p=h||f,v=d||g,b=jf("",{}),C={unitId:i,subUnitId:a,drawingId:cu(),drawingType:bc.DRAWING_IMAGE,imageSourceType:Lf.URL,source:c,transform:{left:0,top:0,width:p,height:v},docTransform:{size:{width:p,height:v},positionH:{relativeFrom:uc.PAGE,posOffset:0},positionV:{relativeFrom:cc.PARAGRAPH,posOffset:0},angle:0},behindDoc:Vu.FALSE,title:"",description:"",layoutType:Ju.INLINE,wrapText:$u.BOTH_SIDES,distB:0,distL:0,distR:0,distT:0},y=Jm.drawing.add({documentDataModel:b,drawings:[C],selection:{collapsed:!0,startOffset:0,endOffset:0}});return y?(b.apply(y),r({...e,p:b.getSnapshot()})):r(this._errorValueCell)}}))}async _getImageNatureSize(e){let t=await this._getImageSize(e.source);return t.image?{...e,isErrorImage:!1,imageNaturalHeight:t.height,imageNaturalWidth:t.width}:{...e,isErrorImage:!0}}async _getImageSize(e){return new Promise(t=>{let r=new Image;r.src=e,r.onload=()=>{t({width:r.width,height:r.height,image:r})},r.onerror=()=>{t({width:0,height:0,image:null})}})}registerRefreshRenderFunction(e){this._refreshRender=e}};vMe=hMe([dMe(0,Vc),dMe(1,Y(iwe)),dMe(2,Y(jfe))],vMe);const bMe={done:0,count:0},CMe={onlyLocal:!0};let yMe=class extends tu{_emitProgress(e){this._progress$.next({done:this._doneCalculationTaskCount,count:this._totalCalculationTaskCount,label:e})}_startProgress(){this._doneCalculationTaskCount=0,this._totalCalculationTaskCount=1;let e=this._localeService.t("formula.progress.analyzing");this._emitProgress(e)}_calculateProgress(e){if(this._executionInProgressParams){let{totalFormulasToCalculate:t,completedFormulasCount:r,totalArrayFormulasToCalculate:n,completedArrayFormulasCount:i}=this._executionInProgressParams;if(this._doneCalculationTaskCount=r+i,this._totalCalculationTaskCount=t+n,0===this._totalCalculationTaskCount)return;this._emitProgress(e)}}_completeProgress(){this._doneCalculationTaskCount=this._totalCalculationTaskCount=1;let e=this._localeService.t("formula.progress.done");this._emitProgress(e)}clearProgress(){this._doneCalculationTaskCount=0,this._totalCalculationTaskCount=0,this._emitProgress()}constructor(e,t,r,n,i,a,o){super(),this._commandService=e,this._activeDirtyManagerService=t,this._logService=r,this._configService=n,this._formulaDataModel=i,this._localeService=a,this._registerOtherFormulaService=o,pMe(this,"_waitingCommandQueue",[]),pMe(this,"_executingDirtyData",{forceCalculation:!1,dirtyRanges:[],dirtyNameMap:{},dirtyDefinedNameMap:{},dirtyUnitFeatureMap:{},dirtyUnitOtherFormulaMap:{},clearDependencyTreeCache:{}}),pMe(this,"_setTimeoutKey",-1),pMe(this,"_startExecutionTime",0),pMe(this,"_totalCalculationTaskCount",0),pMe(this,"_doneCalculationTaskCount",0),pMe(this,"_executionInProgressParams",null),pMe(this,"_restartCalculation",!1),pMe(this,"_progress$",new Qn(bMe)),pMe(this,"progress$",this._progress$.asObservable()),this._commandExecutedListener(),this._initialExecuteFormulaProcessListener(),this._initialExecuteFormula()}dispose(){super.dispose(),this._progress$.next(bMe),this._progress$.complete(),clearTimeout(this._setTimeoutKey)}_getCalculationMode(){var e;let t=this._configService.getConfig(oMe);return null==(e=null==t?void 0:t.initialFormulaComputing)?sMe.WHEN_EMPTY:e}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{if(e.id===ife.id||e.id===ofe.id){let t=e.params;e.id===ife.id&&(t.isCalculateTreeModel=this._configService.getConfig(Nfe)||!1),t.maxIteration=this._configService.getConfig(Tfe),t.rowData=this._formulaDataModel.getHiddenRowsFiltered()}})),this.disposeWithMe(this._commandService.onCommandExecuted((e,t)=>{if(this._activeDirtyManagerService.get(e.id)){if(e.id===Kwe.id){let r=e.params;if(t&&!0===t.onlyLocal||r.trigger===hRe.id||r.trigger===qxe.id||r.trigger===oSe.id)return}this._waitingCommandQueue.push(e),clearTimeout(this._setTimeoutKey),this._setTimeoutKey=setTimeout(()=>{let e=this._generateDirty(this._waitingCommandQueue);this._executingDirtyData=this._mergeDirty(this._executingDirtyData,e),null==this._executionInProgressParams?this._commandService.executeCommand(ife.id,{...this._executingDirtyData},CMe):(this._restartCalculation=!0,this._commandService.executeCommand(lfe.id,{})),this._waitingCommandQueue=[]},100)}}))}_generateDirty(e){let t=[],r={},n={},i={},a={},o={},s=!1;for(let l of e){let e=this._activeDirtyManagerService.get(l.id);if(null==e)continue;let{dirtyRanges:u,dirtyNameMap:c,dirtyDefinedNameMap:d,dirtyUnitFeatureMap:h,dirtyUnitOtherFormulaMap:m,clearDependencyTreeCache:f,forceCalculation:g=!1}=e.getDirtyData(l);null!=u&&this._mergeDirtyRanges(t,u),null!=c&&this._mergeDirtyNameMap(r,c),null!=d&&this._mergeDirtyNameMap(n,d),null!=h&&this._mergeDirtyUnitFeatureOrOtherFormulaMap(i,h),null!=m&&this._mergeDirtyUnitFeatureOrOtherFormulaMap(a,m),null!=f&&this._mergeDirtyNameMap(o,f),s=s||g}return{dirtyRanges:t,dirtyNameMap:r,dirtyDefinedNameMap:n,dirtyUnitFeatureMap:i,dirtyUnitOtherFormulaMap:a,forceCalculation:s,clearDependencyTreeCache:o}}_mergeDirty(e,t){let r=[...e.dirtyRanges,...t.dirtyRanges],n={...e.dirtyNameMap},i={...e.dirtyDefinedNameMap},a={...e.dirtyUnitFeatureMap},o={...e.dirtyUnitOtherFormulaMap},s={...e.clearDependencyTreeCache};return this._mergeDirtyNameMap(n,t.dirtyNameMap),this._mergeDirtyNameMap(i,t.dirtyDefinedNameMap),this._mergeDirtyUnitFeatureOrOtherFormulaMap(a,t.dirtyUnitFeatureMap),this._mergeDirtyUnitFeatureOrOtherFormulaMap(o,t.dirtyUnitOtherFormulaMap),this._mergeDirtyNameMap(s,t.clearDependencyTreeCache),{dirtyRanges:r,dirtyNameMap:n,dirtyDefinedNameMap:i,dirtyUnitFeatureMap:a,dirtyUnitOtherFormulaMap:o,forceCalculation:e.forceCalculation||t.forceCalculation,clearDependencyTreeCache:s}}_mergeDirtyRanges(e,t){for(let r of t){let t=!1;for(let n of e)if(r.unitId===n.unitId&&r.sheetId===n.sheetId){let{startRow:e,startColumn:i,endRow:a,endColumn:o}=r.range,{startRow:s,startColumn:l,endRow:u,endColumn:c}=n.range;if(e===s&&i===l&&a===u&&o===c){t=!0;break}}t||e.push(r)}}_mergeDirtyNameMap(e,t){Object.keys(t).forEach(r=>{null==e[r]&&(e[r]={}),Object.keys(t[r]).forEach(n=>{var i;null!=(i=t[r])&&i[n]&&(e[r][n]=t[r][n])})})}_mergeDirtyUnitFeatureOrOtherFormulaMap(e,t){Object.keys(t).forEach(r=>{null==e[r]&&(e[r]={}),Object.keys(t[r]).forEach(n=>{null==e[r][n]&&(e[r][n]={}),Object.keys(t[r][n]).forEach(i=>{e[r][n][i]=t[r][n][i]||!1})})})}_initialExecuteFormulaProcessListener(){let e=null,t=0;this.disposeWithMe(this._commandService.onCommandExecuted(r=>{if(r.id===lfe.id&&this.clearProgress(),r.id!==ufe.id)return;let n=r.params;if(null!=n.stageInfo){let{stage:r}=n.stageInfo;if(r===rpe.START)0===t&&(this._startExecutionTime=performance.now()),t++,null!==e&&(clearTimeout(e),e=null),e=setTimeout(()=>{e=null,this._startProgress()},1e3);else if(r===rpe.CURRENTLY_CALCULATING){if(this._executionInProgressParams=n.stageInfo,null===e){let e=this._localeService.t("formula.progress.calculating");this._calculateProgress(e)}}else if(r===rpe.START_DEPENDENCY_ARRAY_FORMULA){if(this._executionInProgressParams=n.stageInfo,null===e){let e=this._localeService.t("formula.progress.array-analysis");this._calculateProgress(e)}}else if(r===rpe.CURRENTLY_CALCULATING_ARRAY_FORMULA&&(this._executionInProgressParams=n.stageInfo,null===e)){let e=this._localeService.t("formula.progress.array-calculation");this._calculateProgress(e)}}else{let r=n.functionsExecutedState,i="";switch(t--,r){case npe.NOT_EXECUTED:i="No tasks are being executed anymore",this._resetExecutingDirtyData();break;case npe.STOP_EXECUTION:i="The execution of the formula has been stopped",t=0;break;case npe.SUCCESS:i="Formula calculation succeeded",(0===t||-1===t)&&(i+=`. Total time consumed: ${performance.now()-this._startExecutionTime} ms`),this._resetExecutingDirtyData();break;case npe.INITIAL:i="Waiting for calculation",this._resetExecutingDirtyData()}(0===t||-1===t)&&(e?(clearTimeout(e),e=null,this.clearProgress()):this._completeProgress(),t=0,this._doneCalculationTaskCount=0,this._totalCalculationTaskCount=0),r===npe.STOP_EXECUTION&&this._restartCalculation?(this._restartCalculation=!1,this._commandService.executeCommand(ife.id,{...this._executingDirtyData},CMe)):this._executionInProgressParams=null,this._logService.debug("[TriggerCalculationController]",i)}}))}_resetExecutingDirtyData(){this._executingDirtyData={dirtyRanges:[],dirtyNameMap:{},dirtyDefinedNameMap:{},dirtyUnitFeatureMap:{},dirtyUnitOtherFormulaMap:{},forceCalculation:!1,clearDependencyTreeCache:{}}}_initialExecuteFormula(){let e=this._getCalculationMode(),t=this._getDirtyDataByCalculationMode(e);this._commandService.executeCommand(afe.id,t,CMe),this._registerOtherFormulaService.calculateStarted$.next(!0)}_getDirtyDataByCalculationMode(e){return{forceCalculation:e===sMe.FORCED,dirtyRanges:e===sMe.WHEN_EMPTY?this._formulaDataModel.getFormulaDirtyRanges():[],dirtyNameMap:{},dirtyDefinedNameMap:{},dirtyUnitFeatureMap:{},dirtyUnitOtherFormulaMap:{},clearDependencyTreeCache:{}}}};function _Me(e,t,r){var n;if(r){if(e&&e[t]&&null!=(n=e[t])&&n[r])return delete e[t][r],{[t]:{[r]:null}}}else if(e&&e[t])return delete e[t],{[t]:null}}yMe=hMe([dMe(0,Vc),dMe(1,u_e),dMe(2,kc),dMe(3,Tc),dMe(4,Y(jfe)),dMe(5,Y(Cg)),dMe(6,Y(h_e))],yMe);let wMe=function(e){return e[e.MoveRange=0]="MoveRange",e[e.MoveRows=1]="MoveRows",e[e.MoveCols=2]="MoveCols",e[e.InsertRow=3]="InsertRow",e[e.InsertColumn=4]="InsertColumn",e[e.RemoveRow=5]="RemoveRow",e[e.RemoveColumn=6]="RemoveColumn",e[e.DeleteMoveLeft=7]="DeleteMoveLeft",e[e.DeleteMoveUp=8]="DeleteMoveUp",e[e.InsertMoveDown=9]="InsertMoveDown",e[e.InsertMoveRight=10]="InsertMoveRight",e[e.SetName=11]="SetName",e[e.RemoveSheet=12]="RemoveSheet",e[e.SetDefinedName=13]="SetDefinedName",e[e.RemoveDefinedName=14]="RemoveDefinedName",e}({});const EMe=[wMe.SetName,wMe.RemoveSheet,wMe.SetDefinedName,wMe.RemoveDefinedName];function SMe(e){if(void 0===e)return;if(null===e)return{f:null,si:null};let{f:t,si:r,x:n=0,y:i=0}=e,a=Bd(t),o=Vd(r);if(!a&&!o)return{f:null,si:null};let s={};return o&&(s.si=r),a&&0===n&&0===i&&(s.f=t),void 0===s.f&&(s.f=null),void 0===s.si&&(s.si=null),s}function AMe(e,t){let r=new kd({});return new kd(e).forValue((e,n,i)=>{var a;let o=SMe(i);void 0!==o&&(t&&null!=(a=t[e])&&a[n]&&(null!=o&&o.f||null!=o&&o.si)&&(o.v=null,o.t=null),r.setValue(e,n,o))}),r.getMatrix()}function IMe(e){let t=(null==e?void 0:e.f)||"",r=(null==e?void 0:e.si)||"",n=Bd(t),i=Vd(r);return!(!n&&!i)}function RMe(e,t,r,n,i,a){if(null!=i&&0!==i.length||null!=a&&0!==a.length){if((e===i||null==i||0===i.length)&&t===a)return!0}else if(e===r&&t===n)return!0;return!1}function xMe(e,t,r=0,n=0){let i=[];for(let a=0,o=e.length;aE.endRow&&m.startRow>E.endRow))return;null==t&&(t={startRow:E.startRow,endRow:E.endRow,startColumn:E.startColumn,endColumn:E.endColumn,rangeType:pd.NORMAL});let r=OIe(CIe({id:mIe,params:{toRange:m,fromRange:h}},t),t);if(null==r)return Jde.REF;S=MMe(e,r,h,m,E,t)}else if(a===wMe.MoveCols){if(null==h||null==m)return;let e=OMe(E,h),t=xh(E,h);if(null==t&&(h.endColumnE.endColumn&&m.startColumn>E.endColumn))return;null==t&&(t={startRow:E.startRow,endRow:E.endRow,startColumn:E.startColumn,endColumn:E.endColumn,rangeType:pd.NORMAL});let r=OIe(yIe({id:hIe,params:{toRange:m,fromRange:h}},t),t);if(null==r)return Jde.REF;S=MMe(e,r,h,m,E,t)}if(null!=d)if(a===wMe.InsertRow){let e=OIe(IIe({id:iIe,params:{range:d,unitId:"",subUnitId:"",direction:Eu.DOWN}},E),E);if(null==e)return;S={...E,...e}}else if(a===wMe.InsertColumn){let e=OIe(RIe({id:aIe,params:{range:d,unitId:"",subUnitId:"",direction:Eu.RIGHT}},E),E);if(null==e)return;S={...E,...e}}else if(a===wMe.RemoveRow){let e=OIe(SIe({id:sIe,params:{range:d}},E,f),E);if(null==e)return Jde.REF;S={...E,...e}}else if(a===wMe.RemoveColumn){let e=OIe(EIe({id:oIe,params:{range:d}},E),E);if(null==e)return Jde.REF;S={...E,...e}}else if(a===wMe.DeleteMoveLeft){let e=OIe(NIe({id:lIe,params:{range:d}},E),E);if(null==e)return Jde.REF;S={...E,...e}}else if(a===wMe.DeleteMoveUp){let e=OIe(MIe({id:uIe,params:{range:d}},E),E);if(null==e)return Jde.REF;S={...E,...e}}else if(a===wMe.InsertMoveDown){let e=OIe(xIe({id:cIe,params:{range:d}},E),E);if(null==e)return;S={...E,...e}}else if(a===wMe.InsertMoveRight){let e=OIe(TIe({id:dIe,params:{range:d}},E),E);if(null==e)return;S={...E,...e}}if(null==S)return;let A=a===wMe.MoveRange&&!!u&&u!==s&&!w,I=A?u:p,R=A&&c||b,x=A&&l||v,T=null==x||0===x.length||x===r;return Bme({range:S,sheetName:_||!T||I!==n?R:"",unitId:T?"":x})}function MMe(e,t,r,n,i,a){let{startRow:o,endRow:s,startColumn:l,endColumn:u,rangeType:c}=PMe(t),{startRow:d,startColumn:h,endRow:m,endColumn:f,rangeType:g=pd.NORMAL}=PMe(r),{startRow:p,startColumn:v,endRow:b,endColumn:C}=PMe(n),{startRow:y,endRow:_,startColumn:w,endColumn:E}=PMe(a),{startRow:S,endRow:A,startColumn:I,endColumn:R,rangeType:x=pd.NORMAL}=PMe(i),T={...i};function N(){return c===pd.COLUMN&&x===pd.COLUMN||l>=I&&u<=R}function M(){return c===pd.ROW&&x===pd.ROW||o>=S&&s<=A}if(e===TMe.UP){if(!N())return;if(o=A))return;T.endRow-=m+1-S}}else if(e===TMe.DOWN){if(!N())return;if(s>A)T.endRow=s;else{if(!(s<=S))return;T.startRow+=A-d+1}}else if(e===TMe.LEFT){if(!M())return;if(l=R))return;T.endColumn-=f+1-I}}else if(e===TMe.RIGHT){if(!M())return;if(u>R)T.endColumn=u;else{if(!(u<=I))return;T.startColumn+=R-h+1}}else e===TMe.ALL?(T.startRow=o,T.startColumn=l,T.endRow=s,T.endColumn=u):h<=I&&f>=R||g===pd.ROW&&x===pd.ROW?r.endRow=S&&(T.startRow-=m-d+1),p>=A&&(T.endRow-=m-d+1)):r.startRow>A?(b<=A&&(T.endRow+=m-d+1),b<=S&&(T.startRow+=m-d+1)):r.startRow>=S&&r.endRow<=A&&(p<=S?T.startRow+=m-d+1:p>=A&&(T.endRow-=m-d+1)):d<=S&&m>=A||g===pd.COLUMN&&x===pd.COLUMN?r.endColumn=I&&(T.startColumn-=f-h+1),v>=R&&(T.endColumn-=f-h+1)):r.startColumn>R?(C<=R&&(T.endColumn+=f-h+1),C<=I&&(T.startColumn+=f-h+1)):r.startColumn>=I&&r.endColumn<=R&&(v<=I?T.startColumn+=f-h+1:v>=R&&(T.endColumn-=f-h+1)):(T.startRow=o,T.startColumn=l,T.endRow=s,T.endColumn=u);return T}function OMe(e,t){let r=LMe(e.startRow),n=kMe(e.endRow),i=LMe(e.startColumn),a=kMe(e.endColumn),o=LMe(t.startRow),s=kMe(t.endRow),l=LMe(t.startColumn),u=kMe(t.endColumn);function c(){return e.rangeType===pd.COLUMN&&t.rangeType===pd.COLUMN||r>=o&&n<=s}function d(){return e.rangeType===pd.ROW&&t.rangeType===pd.ROW||i>=l&&a<=u}return c()&&d()||e.rangeType===pd.ALL&&t.rangeType===pd.ALL?TMe.ALL:d()&&r>=o&&r<=s&&n>s?TMe.UP:d()&&n>=o&&n<=s&&r=l&&i<=u&&a>u?TMe.LEFT:c()&&a>=l&&a<=u&&i{if(e.id===rTe.id||e.id===jxe.id)return{redos:[],undos:[]};let t=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET);if(null==t)return{redos:[],undos:[]};let r=DMe(t,e);return r?this._getUpdateDefinedNameMutations(t,r):{redos:[],undos:[]}}}))}_getUpdateDefinedNameMutations(e,t){let{type:r,unitId:n,sheetId:i}=t,a=this._definedNamesService.getDefinedNameMap(n);if(!a)return{redos:[],undos:[]};let o=[],s=[];return Object.values(a).forEach(a=>{let{formulaOrRefString:l}=a,u=this._lexerTreeBuilder.sequenceNodesBuilder(l);if(null==u)return!0;let c=!1,d=[];for(let o=0,s=u.length;othis._getUpdateFormula(e)})),this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.params)if(e.id===XAe.id){let{subUnitId:t,unitId:r}=e.params;this._handleWorkbookDisposed(r,t)}else e.id===Txe.id&&this._handleInsertSheetMutation(e.params)})),this.disposeWithMe(this._commandService.beforeCommandExecuted((e,t)=>{if(e.id===Kwe.id){let r=e.params;if(t&&!0===t.onlyLocal||t&&!0===t.syncOnly||t&&!0===t.fromChangeset||r.trigger===hRe.id||r.trigger===qxe.id||r.trigger===oSe.id||r.trigger===dTe.id)return;this._handleSetRangeValuesMutation(r)}})),this.disposeWithMe(this._univerInstanceService.getTypeOfUnitAdded$(Pi.UNIVER_SHEET).subscribe(e=>this._handleWorkbookAdded(e))),this.disposeWithMe(this._univerInstanceService.getTypeOfUnitDisposed$(Pi.UNIVER_SHEET).pipe(Yn(e=>e.getUnitId())).subscribe(e=>this._handleWorkbookDisposed(e)))}_handleSetRangeValuesMutation(e){let{subUnitId:t,unitId:r,cellValue:n}=e;if(null==n)return;let i=this._formulaDataModel.updateFormulaData(r,t,n);if(0===Object.keys(i).length)return;let a={[r]:{[t]:i}};this._commandService.executeCommand(Kwe.id,{unitId:r,subUnitId:t,cellValue:AMe(i,n)},{onlyLocal:!0,fromFormula:!0}),this._formulaDataModel.updateArrayFormulaCellData(r,t,n),this._formulaDataModel.updateArrayFormulaRange(r,t,n),this._formulaDataModel.updateImageFormulaData(r,t,n),this._commandService.executeCommand(Cfe.id,{formulaData:a},{onlyLocal:!0}),this._commandService.executeCommand(Nme.id,{arrayFormulaRange:this._formulaDataModel.getArrayFormulaRange(),arrayFormulaCellData:this._formulaDataModel.getArrayFormulaCellData()},{onlyLocal:!0,remove:!0})}_handleWorkbookDisposed(e,t){let r=_Me(this._formulaDataModel.getFormulaData(),e,t),n=this._formulaDataModel.getArrayFormulaRange(),i=_Me(n,e,t),a=this._formulaDataModel.getArrayFormulaCellData(),o=_Me(a,e,t);r&&this._commandService.executeCommand(Cfe.id,{formulaData:r},{onlyLocal:!0}),i&&o&&this._commandService.executeCommand(Nme.id,{arrayFormulaRange:n,arrayFormulaCellData:a},{onlyLocal:!0})}_handleInsertSheetMutation(e){let{sheet:t,unitId:r}=e,n=this._formulaDataModel.getFormulaData(),{id:i,cellData:a}=t,o=Hfe(n,r,i,new kd(a));this._commandService.executeCommand(Cfe.id,{formulaData:o},{onlyLocal:!0})}_handleWorkbookAdded(e){var t;let r={},n=e.getUnitId(),i={[n]:{}};e.getSheets().forEach(e=>{var t;let a=e.getCellMatrix(),o=e.getSheetId(),s=Hfe(r,n,o,a);i[n][o]=null==(t=s[n])?void 0:t[o]}),this._commandService.executeCommand(Cfe.id,{formulaData:i},{onlyLocal:!0});let a=this._configService.getConfig(oMe),o=null==(t=null==a?void 0:a.initialFormulaComputing)?sMe.WHEN_EMPTY:t,s=this._getDirtyDataByCalculationMode(o);this._commandService.executeCommand(afe.id,s,{onlyLocal:!0})}_getDirtyDataByCalculationMode(e){return{forceCalculation:e===sMe.FORCED,dirtyRanges:e===sMe.WHEN_EMPTY?this._formulaDataModel.getFormulaDirtyRanges():[],dirtyNameMap:{},dirtyDefinedNameMap:{},dirtyUnitFeatureMap:{},dirtyUnitOtherFormulaMap:{},clearDependencyTreeCache:{}}}_getUpdateFormula(e){let t=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET);if(!t)return{undos:[],redos:[]};let r=DMe(t,e);if(r){let{unitSheetNameMap:e}=this._formulaDataModel.getCalculateData(),t=this._formulaDataModel.getFormulaData(),{newFormulaData:n}=this._getFormulaReferenceMoveInfo(t,e,r),{undos:i,redos:a}=function(e,t,r){let{type:n}=r;return EMe.includes(n)?function(e,t){let r=[],n=[];return Object.keys(t).forEach(i=>{let a=t[i],o=e[i];if(null==a||null==o)return!0;Object.keys(a).forEach(e=>{let t=new kd(a[e]||{}),s=new kd(o[e]||{}),l=new kd,u=new kd;if(t.forValue((e,t,r)=>{if(null==r)return!0;let n=SMe(r);null!==n&&(l.setValue(e,t,n),u.setValue(e,t,s.getValue(e,t)))}),0===l.getSizeOf())return;let c={subUnitId:e,unitId:i,cellValue:l.getMatrix()},d={id:Kwe.id,params:c};n.push(d);let h={subUnitId:e,unitId:i,cellValue:u.getMatrix()},m={id:Kwe.id,params:h};r.push(m)})}),{undos:r,redos:n}}(e,t):function(e,t,r){let{redoFormulaData:n,undoFormulaData:i}=function(e,t,r){var n,i;let a={},o={},{unitId:s,sheetId:l}=r,u=null==(n=r.targetUnitId)?s:n,c=null==(i=r.targetSheetId)?l:i,d=s!==u||l!==c;return new Set([...Object.keys(e),...Object.keys(t)]).forEach(n=>{(function(e,t,r){var n;return null==e||null==e[t]||null==(null==(n=e[t])?void 0:n[r])})(e,n,l)||new Set([...Object.keys(e[n]||{}),...Object.keys(t[n]||{})]).forEach(i=>{var u,c;let h=null==(u=e[n])?void 0:u[i],m=null==(c=t[n])?void 0:c[i],f=new kd(h||{}),g=new kd(m||{}),p=[];p=d||n!==s||i!==l?function(e){let t=[];return e.forValue((e,r,n)=>{if(null==n||!IMe(n))return!0;let i=zd(e,r);t.push({oldCell:i,newCell:i})}),t}(g):function(e,t,r){let{type:n,from:i,to:a,range:o}=r,s=[];return e.forValue((e,l,u)=>{if(null==u||!IMe(u))return!0;let c=zd(e,l),d=null,h=!1;if([wMe.MoveRange,wMe.MoveRows,wMe.MoveCols].includes(n))d=function(e,t,r,n){if(null==t||null==r)return null;switch(e){case wMe.MoveRange:return function(e,t,r){return OIe(_Ie({id:nIe,params:{toRange:t,fromRange:e}},r),r)}(t,r,n);case wMe.MoveRows:return function(e,t,r){return OIe(CIe({id:mIe,params:{toRange:t,fromRange:e}},r),r)}(t,r,n);case wMe.MoveCols:return function(e,t,r){return OIe(yIe({id:hIe,params:{toRange:t,fromRange:e}},r),r)}(t,r,n);default:return null}}(n,i,a,c);else if(null!=o){let e=function(e,t){let{type:r,rangeFilteredRows:n}=t,i=t.range,a=null,o=!1;switch(r){case wMe.InsertRow:a=function(e,t){return OIe(IIe({id:iIe,params:{range:e,unitId:"",subUnitId:"",direction:Eu.DOWN}},t),t)}(i,e),o=!0;break;case wMe.InsertColumn:a=function(e,t){return OIe(RIe({id:aIe,params:{range:e,unitId:"",subUnitId:"",direction:Eu.RIGHT}},t),t)}(i,e),o=!0;break;case wMe.RemoveRow:a=function(e,t,r){return OIe(SIe({id:sIe,params:{range:e}},t,r),t)}(i,e,n);break;case wMe.RemoveColumn:a=function(e,t){return OIe(EIe({id:oIe,params:{range:e}},t),t)}(i,e);break;case wMe.DeleteMoveLeft:a=function(e,t){return OIe(NIe({id:lIe,params:{range:e}},t),t)}(i,e);break;case wMe.DeleteMoveUp:a=function(e,t){return OIe(MIe({id:uIe,params:{range:e}},t),t)}(i,e);break;case wMe.InsertMoveDown:a=function(e,t){return OIe(xIe({id:cIe,params:{range:e}},t),t)}(i,e),o=!0;break;case wMe.InsertMoveRight:a=function(e,t){return OIe(TIe({id:dIe,params:{range:e}},t),t)}(i,e),o=!0}return{newCell:a,isReverse:o}}(c,r);d=e.newCell,h=e.isReverse}if(uu.diffValue(c,d)&&!t.getValue(e,l))return!0;h?s.unshift({oldCell:c,newCell:d}):s.push({oldCell:c,newCell:d})}),s}(f,g,r);let v=function(e,t,r){let n=new kd({});for(let s=0;s=0;n--){let{oldCell:i,newCell:a}=e[n],o=SMe(t.getValue(i.startRow,i.startColumn));if(r.setValue(i.startRow,i.startColumn,o),a){let e=SMe(t.getValue(a.startRow,a.startColumn));r.setValue(a.startRow,a.startColumn,null==e?{f:null,si:null}:e)}}return r.getMatrix()}(p,f);a[n]||(a[n]={}),o[n]||(o[n]={}),a[n][i]={...a[n][i],...v},o[n][i]={...o[n][i],...b}})}),{redoFormulaData:a,undoFormulaData:o}}(e,t,r),a=[],o=[];return Object.keys(n).forEach(e=>{Object.keys(n[e]).forEach(t=>{if(0!==Object.keys(n[e][t]).length){let r={subUnitId:t,unitId:e,cellValue:n[e][t]},i={id:Kwe.id,params:r};a.push(i)}})}),Object.keys(i).forEach(e=>{Object.keys(i[e]).forEach(t=>{if(0!==Object.keys(i[e][t]).length){let r={subUnitId:t,unitId:e,cellValue:i[e][t]},n={id:Kwe.id,params:r};o.push(n)}})}),{undos:o,redos:a}}(e,t,r)}(t,n,r);return{undos:i,redos:a}}return{undos:[],redos:[]}}_getFormulaReferenceMoveInfo(e,t,r){if(!uu.isDefine(e))return{newFormulaData:{}};let n=Object.keys(e);if(0===n.length)return{newFormulaData:{}};let i={},{unitId:a,sheetId:o,sheetName:s,targetUnitId:l,targetSheetId:u,type:c,from:d,to:h}=r,m=[];for(let h of n){let n=e[h];if(null==n)continue;let f=Object.keys(n);uu.isDefine(i[h])||(i[h]={});for(let e of f){let f=new kd(n[e]||{}),g=new kd,p=[];f.forValue((n,i,f)=>{if(!f)return!0;let{f:v,x:b,y:C,si:y}=f,_=this._lexerTreeBuilder.sequenceNodesBuilder(v);if(null==_)return!0;let w=!1,E=[],S=c===wMe.MoveRange&&(l!==a||u!==o)&&h===a&&e===o&&d&&d.startRow<=n&&n<=d.endRow&&d.startColumn<=i&&i<=d.endColumn,A=[..._];for(let n=0,i=_.length;n0&&l&&u){i[l]||(i[l]={}),i[l][u]||(i[l][u]={});for(let e of m){var f,g,p,v;let{fromRow:t,fromColumn:r,formulaString:n}=e,a=t+((null==(f=null==h?void 0:h.startRow)?0:f)-(null==(g=null==d?void 0:d.startRow)?0:g)),o=r+((null==(p=null==h?void 0:h.startColumn)?0:p)-(null==(v=null==d?void 0:d.startColumn)?0:v));i[l][u][a]||(i[l][u][a]={}),i[l][u][a][o]={f:n}}}return{newFormulaData:i}}};VMe=hMe([dMe(0,dg),dMe(1,Vc),dMe(2,Y(Ffe)),dMe(3,Y(jfe)),dMe(4,Y(iwe)),dMe(5,Jme),dMe(6,Tc),dMe(7,Y(he))],VMe);var FMe="@univerjs/sheets-formula",jMe="0.19.0";let HMe=class extends tu{constructor(e,t,r){super(),this._activeDirtyManagerService=e,this._univerInstanceService=t,this._formulaDataModel=r,this._initialize()}_initialize(){this._initialConversion()}_initialConversion(){this._activeDirtyManagerService.register(Kwe.id,{commandId:Kwe.id,getDirtyData:e=>{let t=e.params;return t.trigger===hRe.id?{}:{dirtyRanges:this._getSetRangeValuesMutationDirtyRange(t)}}}),this._initialMove(),this._initialRowAndColumn(),this._initialHideRow(),this._initialSheet(),this._initialDefinedName()}_initialMove(){this._activeDirtyManagerService.register(Ewe.id,{commandId:Ewe.id,getDirtyData:e=>{let t=e.params;return{dirtyRanges:this._getMoveRangeMutationDirtyRange(t),clearDependencyTreeCache:{[t.unitId]:{[t.to.subUnitId]:"1",[t.from.subUnitId]:"1"}}}}}),this._activeDirtyManagerService.register(Swe.id,{commandId:Swe.id,getDirtyData:e=>{let t=e.params;return{dirtyRanges:this._getMoveRowsMutationDirtyRange(t),clearDependencyTreeCache:{[t.unitId]:{[t.subUnitId]:"1"}}}}}),this._activeDirtyManagerService.register(Awe.id,{commandId:Awe.id,getDirtyData:e=>{let t=e.params;return{dirtyRanges:this._getMoveRowsMutationDirtyRange(t),clearDependencyTreeCache:{[t.unitId]:{[t.subUnitId]:"1"}}}}}),this._activeDirtyManagerService.register(Mwe.id,{commandId:Mwe.id,getDirtyData:e=>{let t=e.params;return{dirtyRanges:this._getReorderRangeMutationDirtyRange(t),clearDependencyTreeCache:{[t.unitId]:{[t.subUnitId]:"1"}}}}})}_initialRowAndColumn(){this._activeDirtyManagerService.register(Iwe.id,{commandId:Iwe.id,getDirtyData:e=>{let t=e.params;return{dirtyRanges:this._getRemoveRowOrColumnMutation(t,!0),clearDependencyTreeCache:{[t.unitId]:{[t.subUnitId]:"1"}}}}}),this._activeDirtyManagerService.register(Rwe.id,{commandId:Rwe.id,getDirtyData:e=>{let t=e.params;return{dirtyRanges:this._getRemoveRowOrColumnMutation(t,!1),clearDependencyTreeCache:{[t.unitId]:{[t.subUnitId]:"1"}}}}}),this._activeDirtyManagerService.register(wwe.id,{commandId:wwe.id,getDirtyData:e=>{let t=e.params;return{clearDependencyTreeCache:{[t.unitId]:{[t.subUnitId]:"1"}}}}}),this._activeDirtyManagerService.register(ywe.id,{commandId:ywe.id,getDirtyData:e=>{let t=e.params;return{clearDependencyTreeCache:{[t.unitId]:{[t.subUnitId]:"1"}}}}})}_initialHideRow(){this._activeDirtyManagerService.register(tEe.id,{commandId:tEe.id,getDirtyData:e=>{let t=e.params;return{dirtyRanges:this._getHideRowMutation(t),clearDependencyTreeCache:{[t.unitId]:{[t.subUnitId]:"1"}}}}}),this._activeDirtyManagerService.register(eEe.id,{commandId:eEe.id,getDirtyData:e=>{let t=e.params;return{dirtyRanges:this._getHideRowMutation(t),clearDependencyTreeCache:{[t.unitId]:{[t.subUnitId]:"1"}}}}})}_initialSheet(){this._activeDirtyManagerService.register(afe.id,{commandId:afe.id,getDirtyData:e=>({...e.params})}),this._activeDirtyManagerService.register(XAe.id,{commandId:XAe.id,getDirtyData:e=>{let t=e.params;return{dirtyNameMap:this._getRemoveSheetMutation(t),clearDependencyTreeCache:{[t.unitId]:{[t.subUnitId]:"1"}}}}}),this._activeDirtyManagerService.register(Txe.id,{commandId:Txe.id,getDirtyData:e=>{let t=e.params;return{dirtyNameMap:this._getInsertSheetMutation(t)}}})}_initialDefinedName(){this._activeDirtyManagerService.register(efe.id,{commandId:efe.id,getDirtyData:e=>{let t=e.params;return{dirtyDefinedNameMap:this._getDefinedNameMutation(t)}}}),this._activeDirtyManagerService.register(tfe.id,{commandId:tfe.id,getDirtyData:e=>{let t=e.params;return{dirtyDefinedNameMap:this._getDefinedNameMutation(t)}}})}_getDefinedNameMutation(e){let{unitId:t,name:r,formulaOrRefString:n}=e,i={};return null==e?{}:(i[t]={},i[t][r]=n,i)}_getSetRangeValuesMutationDirtyRange(e){let{subUnitId:t,unitId:r,cellValue:n}=e,i=[];return null==n||(i.push(...this._getDirtyRangesByCellValue(r,t,n)),i.push(...this._getDirtyRangesForArrayFormula(r,t,n))),i}_getMoveRangeMutationDirtyRange(e){let{unitId:t,from:r,to:n}=e,i=[];return i.push(...this._getDirtyRangesByCellValue(t,r.subUnitId,r.value)),i.push(...this._getDirtyRangesByCellValue(t,n.subUnitId,n.value)),i.push(...this._getDirtyRangesForArrayFormula(t,n.subUnitId,n.value)),i}_getMoveRowsMutationDirtyRange(e){let{subUnitId:t,unitId:r,sourceRange:n,targetRange:i}=e,a=[],o=this._rangeToMatrix(n).getData(),s=this._rangeToMatrix(i).getData();return a.push(...this._getDirtyRangesByCellValue(r,t,o)),a.push(...this._getDirtyRangesByCellValue(r,t,s)),a.push(...this._getDirtyRangesForArrayFormula(r,t,s)),a}_getReorderRangeMutationDirtyRange(e){let{unitId:t,subUnitId:r,range:n}=e,i=this._rangeToMatrix(n).getData(),a=[];return a.push(...this._getDirtyRangesByCellValue(t,r,i)),a.push(...this._getDirtyRangesForArrayFormula(t,r,i)),a}_getRemoveRowOrColumnMutation(e,t=!0){let{subUnitId:r,unitId:n,range:i}=e,a=[],o=this._univerInstanceService.getUniverSheetInstance(n),s=null==o?void 0:o.getSheetBySheetId(r),l=(null==s?void 0:s.getRowCount())||0,u=(null==s?void 0:s.getColumnCount())||0,c=null,{startRow:d,endRow:h,startColumn:m,endColumn:f}=i;c=!0===t?this._rangeToMatrix({startRow:d,startColumn:0,endRow:h,endColumn:u-1}):this._rangeToMatrix({startRow:0,startColumn:m,endRow:l,endColumn:f});let g=c.getData();return a.push(...this._getDirtyRangesByCellValue(n,r,g)),a.push(...this._getDirtyRangesForArrayFormula(n,r,g)),a}_getHideRowMutation(e){let{subUnitId:t,unitId:r,ranges:n}=e,i=[];return n.forEach(e=>{let n=this._rangeToMatrix(e).getMatrix();i.push(...this._getDirtyRangesByCellValue(r,t,n))}),i}_getRemoveSheetMutation(e){let t={},{subUnitId:r,unitId:n,subUnitName:i}=e;return null==t[n]&&(t[n]={}),t[n][r]=i,t}_getInsertSheetMutation(e){let t={},{sheet:r,unitId:n}=e;return null==t[n]&&(t[n]={}),t[n][r.id]=r.name,t}_rangeToMatrix(e){let t=new kd,{startRow:r,startColumn:n,endRow:i,endColumn:a}=e;for(let e=r;e<=i;e++)for(let r=n;r<=a;r++)t.setValue(e,r,{});return t}_getDirtyRangesByCellValue(e,t,r){let n=[];return null==r||new kd(r).getDiscreteRanges().forEach(r=>{n.push({unitId:e,sheetId:t,range:r})}),n}_getDirtyRangesForArrayFormula(e,t,r){var n;let i=[];if(null==r)return i;let a=new kd(r),o=this._formulaDataModel.getArrayFormulaRange();if(null!=o&&null!=(n=o[e])&&n[t]){var s;let r=new kd(null==o||null==(s=o[e])?void 0:s[t]);a.forValue((n,a)=>{r.forValue((r,o,s)=>{if(null==s)return!0;let{startRow:l,startColumn:u,endRow:c,endColumn:d}=s;n>=l&&n<=c&&a>=u&&a<=d&&i.push({unitId:e,sheetId:t,range:{startRow:l,startColumn:u,endRow:l,endColumn:u}})})})}return i}};HMe=hMe([dMe(0,u_e),dMe(1,dg),dMe(2,Y(jfe))],HMe);let WMe=class extends tu{constructor(e,t,r,n,i,a,o){super(),this._commandService=e,this._configService=t,this._sheetInterceptorService=r,this._formulaDataModel=n,this._lexerTreeBuilder=i,this._functionService=a,this._definedNamesService=o,this._initialize()}_initialize(){this._commandExecutedListener(),this._initInterceptorCellContent()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{var t;let r=null==(t=this._configService.getConfig("sheets-formula.base.config"))?void 0:t.writeArrayFormulaToSnapshot;if(e.id===Nme.id){let t=e.params;if(null==t)return;let{arrayFormulaRange:n,arrayFormulaCellData:i,arrayFormulaEmbedded:a}=t;this._formulaDataModel.setArrayFormulaRange(n),this._formulaDataModel.setArrayFormulaCellData(i),r&&this._writeArrayFormulaToSnapshot(n,i,a)}else e.id===cfe.id&&r&&(this._addPrefixToFunctionSnapshot(),this._addPrefixToDefinedNamesFunctionSnapshot())}))}_addPrefixToDefinedNamesFunctionSnapshot(){let e=this._definedNamesService.getAllDefinedNames();Object.entries(e).forEach(([e,t])=>{t&&Array.from(Object.entries(t)).forEach(([t,r])=>{let{formulaOrRefString:n}=r;if("="===n.substring(0,1)){let t=this._lexerTreeBuilder.getNewFormulaWithPrefix(n,this._functionService.hasExecutor.bind(this._functionService));t&&this._commandService.executeCommand(efe.id,{...r,unitId:e,formulaOrRefStringWithPrefix:t},{onlyLocal:!0,fromFormula:!0})}})})}_addPrefixToFunctionSnapshot(){let e=this._formulaDataModel.getFormulaData(),t=new Map;Object.entries(e).forEach(([e,r])=>{r&&Array.from(Object.entries(r)).forEach(([r,n])=>{if(!n)return;let i=new kd;new kd(n).forValue((e,r,n)=>{let a=null==n?void 0:n.f;if(null!=(null==n?void 0:n.x)||!a||0===a.length)return;if(t.has(a)){let n=t.get(a);return void i.setValue(e,r,{xf:n})}let o=this._lexerTreeBuilder.getNewFormulaWithPrefix(a,this._functionService.hasExecutor.bind(this._functionService));o&&(i.setValue(e,r,{xf:o}),t.set(a,o))}),this._commandService.executeCommand(Kwe.id,{unitId:e,subUnitId:r,cellValue:i.getMatrix()},{onlyLocal:!0,fromFormula:!0})})}),t.clear()}_writeArrayFormulaToSnapshot(e,t,r){e&&Object.entries(e).forEach(([e,t])=>{t&&Array.from(Object.entries(t)).forEach(([t,r])=>{let n=new kd;new kd(r).forValue((e,t,r)=>{n.setValue(e,t,{ref:Pme(r)})}),this._commandService.executeCommand(Kwe.id,{unitId:e,subUnitId:t,cellValue:n.getMatrix()},{onlyLocal:!0,fromFormula:!0})})}),r&&Object.entries(r).forEach(([t,r])=>{r&&Array.from(Object.entries(r)).forEach(([r,n])=>{let i=new kd;new kd(n).forValue((n,a)=>{var o;null!=e&&null!=(o=e[t])&&null!=(o=o[r])&&null!=(o=o[n])&&o[a]||i.setValue(n,a,{ref:Pme({startRow:n,endRow:n,startColumn:a,endColumn:a})})}),this._commandService.executeCommand(Kwe.id,{unitId:t,subUnitId:r,cellValue:i.getMatrix()},{onlyLocal:!0,fromFormula:!0})})}),t&&Object.entries(t).forEach(([e,t])=>{t&&Array.from(Object.entries(t)).forEach(([t,r])=>{this._commandService.executeCommand(Kwe.id,{unitId:e,subUnitId:t,cellValue:r},{onlyLocal:!0,fromFormula:!0})})})}_initInterceptorCellContent(){this.disposeWithMe(this._sheetInterceptorService.intercept(G_e.CELL_CONTENT,{priority:100,effect:Vl.Value,handler:(e,t,r)=>{var n;let i=e,{unitId:a,subUnitId:o,row:s,col:l}=t,u=this._formulaDataModel.getArrayFormulaCellData(),c=null==u||null==(n=u[a])||null==(n=n[o])||null==(n=n[s])?void 0:n[l];return null==c?r(i):((!i||i===t.rawData)&&(i={...t.rawData}),null==c.v&&null==c.t?(i.v=0,i.t=Fu.NUMBER,r(i)):(null==i?void 0:i.t)===Fu.NUMBER&&void 0!==i.v&&null!==i.v&&$d(i.v)?(i.v=wge(Number(i.v)),r(i)):(i.v=c.v,i.t=c.t,r(i)))}}))}};WMe=hMe([dMe(0,Vc),dMe(1,Tc),dMe(2,Y(iwe)),dMe(3,Y(jfe)),dMe(4,Y(Ffe)),dMe(5,Rpe),dMe(6,Jme)],WMe);const zMe=[{functionName:Uve.ARRAY_CONSTRAIN,functionType:Fhe.Array,description:"formula.functionList.ARRAY_CONSTRAIN.description",abstract:"formula.functionList.ARRAY_CONSTRAIN.abstract",functionParameter:[{name:"formula.functionList.ARRAY_CONSTRAIN.functionParameter.inputRange.name",detail:"formula.functionList.ARRAY_CONSTRAIN.functionParameter.inputRange.detail",example:"A1:C3",require:1,repeat:0},{name:"formula.functionList.ARRAY_CONSTRAIN.functionParameter.numRows.name",detail:"formula.functionList.ARRAY_CONSTRAIN.functionParameter.numRows.detail",example:"2",require:1,repeat:0},{name:"formula.functionList.ARRAY_CONSTRAIN.functionParameter.numCols.name",detail:"formula.functionList.ARRAY_CONSTRAIN.functionParameter.numCols.detail",example:"2",require:1,repeat:0}]},{functionName:Uve.FLATTEN,functionType:Fhe.Array,description:"formula.functionList.FLATTEN.description",abstract:"formula.functionList.FLATTEN.abstract",functionParameter:[{name:"formula.functionList.FLATTEN.functionParameter.range1.name",detail:"formula.functionList.FLATTEN.functionParameter.range1.detail",example:"A1:C3",require:1,repeat:0},{name:"formula.functionList.FLATTEN.functionParameter.range2.name",detail:"formula.functionList.FLATTEN.functionParameter.range2.detail",example:"D1:F3",require:0,repeat:1}]}],XMe=[{functionName:NCe.BETADIST,functionType:Fhe.Compatibility,description:"formula.functionList.BETADIST.description",abstract:"formula.functionList.BETADIST.abstract",functionParameter:[{name:"formula.functionList.BETADIST.functionParameter.x.name",detail:"formula.functionList.BETADIST.functionParameter.x.detail",example:"2",require:1,repeat:0},{name:"formula.functionList.BETADIST.functionParameter.alpha.name",detail:"formula.functionList.BETADIST.functionParameter.alpha.detail",example:"8",require:1,repeat:0},{name:"formula.functionList.BETADIST.functionParameter.beta.name",detail:"formula.functionList.BETADIST.functionParameter.beta.detail",example:"10",require:1,repeat:0},{name:"formula.functionList.BETADIST.functionParameter.A.name",detail:"formula.functionList.BETADIST.functionParameter.A.detail",example:"1",require:0,repeat:0},{name:"formula.functionList.BETADIST.functionParameter.B.name",detail:"formula.functionList.BETADIST.functionParameter.B.detail",example:"3",require:0,repeat:0}]},{functionName:NCe.BETAINV,functionType:Fhe.Compatibility,description:"formula.functionList.BETAINV.description",abstract:"formula.functionList.BETAINV.abstract",functionParameter:[{name:"formula.functionList.BETAINV.functionParameter.probability.name",detail:"formula.functionList.BETAINV.functionParameter.probability.detail",example:"0.685470581",require:1,repeat:0},{name:"formula.functionList.BETAINV.functionParameter.alpha.name",detail:"formula.functionList.BETAINV.functionParameter.alpha.detail",example:"8",require:1,repeat:0},{name:"formula.functionList.BETAINV.functionParameter.beta.name",detail:"formula.functionList.BETAINV.functionParameter.beta.detail",example:"10",require:1,repeat:0},{name:"formula.functionList.BETAINV.functionParameter.A.name",detail:"formula.functionList.BETAINV.functionParameter.A.detail",example:"1",require:0,repeat:0},{name:"formula.functionList.BETAINV.functionParameter.B.name",detail:"formula.functionList.BETAINV.functionParameter.B.detail",example:"3",require:0,repeat:0}]},{functionName:NCe.BINOMDIST,functionType:Fhe.Compatibility,description:"formula.functionList.BINOMDIST.description",abstract:"formula.functionList.BINOMDIST.abstract",functionParameter:[{name:"formula.functionList.BINOMDIST.functionParameter.numberS.name",detail:"formula.functionList.BINOMDIST.functionParameter.numberS.detail",example:"6",require:1,repeat:0},{name:"formula.functionList.BINOMDIST.functionParameter.trials.name",detail:"formula.functionList.BINOMDIST.functionParameter.trials.detail",example:"10",require:1,repeat:0},{name:"formula.functionList.BINOMDIST.functionParameter.probabilityS.name",detail:"formula.functionList.BINOMDIST.functionParameter.probabilityS.detail",example:"0.5",require:1,repeat:0},{name:"formula.functionList.BINOMDIST.functionParameter.cumulative.name",detail:"formula.functionList.BINOMDIST.functionParameter.cumulative.detail",example:"false",require:1,repeat:0}]},{functionName:NCe.CHIDIST,functionType:Fhe.Compatibility,description:"formula.functionList.CHIDIST.description",abstract:"formula.functionList.CHIDIST.abstract",functionParameter:[{name:"formula.functionList.CHIDIST.functionParameter.x.name",detail:"formula.functionList.CHIDIST.functionParameter.x.detail",example:"0.5",require:1,repeat:0},{name:"formula.functionList.CHIDIST.functionParameter.degFreedom.name",detail:"formula.functionList.CHIDIST.functionParameter.degFreedom.detail",example:"1",require:1,repeat:0}]},{functionName:NCe.CHIINV,functionType:Fhe.Compatibility,description:"formula.functionList.CHIINV.description",abstract:"formula.functionList.CHIINV.abstract",functionParameter:[{name:"formula.functionList.CHIINV.functionParameter.probability.name",detail:"formula.functionList.CHIINV.functionParameter.probability.detail",example:"0.93",require:1,repeat:0},{name:"formula.functionList.CHIINV.functionParameter.degFreedom.name",detail:"formula.functionList.CHIINV.functionParameter.degFreedom.detail",example:"1",require:1,repeat:0}]},{functionName:NCe.CHITEST,functionType:Fhe.Compatibility,description:"formula.functionList.CHITEST.description",abstract:"formula.functionList.CHITEST.abstract",functionParameter:[{name:"formula.functionList.CHITEST.functionParameter.actualRange.name",detail:"formula.functionList.CHITEST.functionParameter.actualRange.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.CHITEST.functionParameter.expectedRange.name",detail:"formula.functionList.CHITEST.functionParameter.expectedRange.detail",example:"B1:B4",require:1,repeat:0}]},{functionName:NCe.CONFIDENCE,functionType:Fhe.Compatibility,description:"formula.functionList.CONFIDENCE.description",abstract:"formula.functionList.CONFIDENCE.abstract",functionParameter:[{name:"formula.functionList.CONFIDENCE.functionParameter.alpha.name",detail:"formula.functionList.CONFIDENCE.functionParameter.alpha.detail",example:"0.05",require:1,repeat:0},{name:"formula.functionList.CONFIDENCE.functionParameter.standardDev.name",detail:"formula.functionList.CONFIDENCE.functionParameter.standardDev.detail",example:"2.5",require:1,repeat:0},{name:"formula.functionList.CONFIDENCE.functionParameter.size.name",detail:"formula.functionList.CONFIDENCE.functionParameter.size.detail",example:"50",require:1,repeat:0}]},{functionName:NCe.COVAR,functionType:Fhe.Compatibility,description:"formula.functionList.COVAR.description",abstract:"formula.functionList.COVAR.abstract",functionParameter:[{name:"formula.functionList.COVAR.functionParameter.array1.name",detail:"formula.functionList.COVAR.functionParameter.array1.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.COVAR.functionParameter.array2.name",detail:"formula.functionList.COVAR.functionParameter.array2.detail",example:"B1:B4",require:1,repeat:0}]},{functionName:NCe.CRITBINOM,functionType:Fhe.Compatibility,description:"formula.functionList.CRITBINOM.description",abstract:"formula.functionList.CRITBINOM.abstract",functionParameter:[{name:"formula.functionList.CRITBINOM.functionParameter.trials.name",detail:"formula.functionList.CRITBINOM.functionParameter.trials.detail",example:"6",require:1,repeat:0},{name:"formula.functionList.CRITBINOM.functionParameter.probabilityS.name",detail:"formula.functionList.CRITBINOM.functionParameter.probabilityS.detail",example:"0.5",require:1,repeat:0},{name:"formula.functionList.CRITBINOM.functionParameter.alpha.name",detail:"formula.functionList.CRITBINOM.functionParameter.alpha.detail",example:"0.75",require:1,repeat:0}]},{functionName:NCe.EXPONDIST,functionType:Fhe.Compatibility,description:"formula.functionList.EXPONDIST.description",abstract:"formula.functionList.EXPONDIST.abstract",functionParameter:[{name:"formula.functionList.EXPONDIST.functionParameter.x.name",detail:"formula.functionList.EXPONDIST.functionParameter.x.detail",example:"0.2",require:1,repeat:0},{name:"formula.functionList.EXPONDIST.functionParameter.lambda.name",detail:"formula.functionList.EXPONDIST.functionParameter.lambda.detail",example:"10",require:1,repeat:0},{name:"formula.functionList.EXPONDIST.functionParameter.cumulative.name",detail:"formula.functionList.EXPONDIST.functionParameter.cumulative.detail",example:"true",require:1,repeat:0}]},{functionName:NCe.FDIST,functionType:Fhe.Compatibility,description:"formula.functionList.FDIST.description",abstract:"formula.functionList.FDIST.abstract",functionParameter:[{name:"formula.functionList.FDIST.functionParameter.x.name",detail:"formula.functionList.FDIST.functionParameter.x.detail",example:"15.2069",require:1,repeat:0},{name:"formula.functionList.FDIST.functionParameter.degFreedom1.name",detail:"formula.functionList.FDIST.functionParameter.degFreedom1.detail",example:"6",require:1,repeat:0},{name:"formula.functionList.FDIST.functionParameter.degFreedom2.name",detail:"formula.functionList.FDIST.functionParameter.degFreedom2.detail",example:"4",require:1,repeat:0}]},{functionName:NCe.FINV,functionType:Fhe.Compatibility,description:"formula.functionList.FINV.description",abstract:"formula.functionList.FINV.abstract",functionParameter:[{name:"formula.functionList.FINV.functionParameter.probability.name",detail:"formula.functionList.FINV.functionParameter.probability.detail",example:"0.01",require:1,repeat:0},{name:"formula.functionList.FINV.functionParameter.degFreedom1.name",detail:"formula.functionList.FINV.functionParameter.degFreedom1.detail",example:"6",require:1,repeat:0},{name:"formula.functionList.FINV.functionParameter.degFreedom2.name",detail:"formula.functionList.FINV.functionParameter.degFreedom2.detail",example:"4",require:1,repeat:0}]},{functionName:NCe.FTEST,functionType:Fhe.Compatibility,description:"formula.functionList.FTEST.description",abstract:"formula.functionList.FTEST.abstract",functionParameter:[{name:"formula.functionList.FTEST.functionParameter.array1.name",detail:"formula.functionList.FTEST.functionParameter.array1.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.FTEST.functionParameter.array2.name",detail:"formula.functionList.FTEST.functionParameter.array2.detail",example:"B1:B4",require:1,repeat:0}]},{functionName:NCe.GAMMADIST,functionType:Fhe.Compatibility,description:"formula.functionList.GAMMADIST.description",abstract:"formula.functionList.GAMMADIST.abstract",functionParameter:[{name:"formula.functionList.GAMMADIST.functionParameter.x.name",detail:"formula.functionList.GAMMADIST.functionParameter.x.detail",example:"10",require:1,repeat:0},{name:"formula.functionList.GAMMADIST.functionParameter.alpha.name",detail:"formula.functionList.GAMMADIST.functionParameter.alpha.detail",example:"8",require:1,repeat:0},{name:"formula.functionList.GAMMADIST.functionParameter.beta.name",detail:"formula.functionList.GAMMADIST.functionParameter.beta.detail",example:"2",require:1,repeat:0},{name:"formula.functionList.GAMMADIST.functionParameter.cumulative.name",detail:"formula.functionList.GAMMADIST.functionParameter.cumulative.detail",example:"true",require:1,repeat:0}]},{functionName:NCe.GAMMAINV,functionType:Fhe.Compatibility,description:"formula.functionList.GAMMAINV.description",abstract:"formula.functionList.GAMMAINV.abstract",functionParameter:[{name:"formula.functionList.GAMMAINV.functionParameter.probability.name",detail:"formula.functionList.GAMMAINV.functionParameter.probability.detail",example:"0.068094",require:1,repeat:0},{name:"formula.functionList.GAMMAINV.functionParameter.alpha.name",detail:"formula.functionList.GAMMAINV.functionParameter.alpha.detail",example:"9",require:1,repeat:0},{name:"formula.functionList.GAMMAINV.functionParameter.beta.name",detail:"formula.functionList.GAMMAINV.functionParameter.beta.detail",example:"2",require:1,repeat:0}]},{functionName:NCe.HYPGEOMDIST,functionType:Fhe.Compatibility,description:"formula.functionList.HYPGEOMDIST.description",abstract:"formula.functionList.HYPGEOMDIST.abstract",functionParameter:[{name:"formula.functionList.HYPGEOMDIST.functionParameter.sampleS.name",detail:"formula.functionList.HYPGEOMDIST.functionParameter.sampleS.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.HYPGEOMDIST.functionParameter.numberSample.name",detail:"formula.functionList.HYPGEOMDIST.functionParameter.numberSample.detail",example:"4",require:1,repeat:0},{name:"formula.functionList.HYPGEOMDIST.functionParameter.populationS.name",detail:"formula.functionList.HYPGEOMDIST.functionParameter.populationS.detail",example:"8",require:1,repeat:0},{name:"formula.functionList.HYPGEOMDIST.functionParameter.numberPop.name",detail:"formula.functionList.HYPGEOMDIST.functionParameter.numberPop.detail",example:"20",require:1,repeat:0}]},{functionName:NCe.LOGINV,functionType:Fhe.Compatibility,description:"formula.functionList.LOGINV.description",abstract:"formula.functionList.LOGINV.abstract",functionParameter:[{name:"formula.functionList.LOGINV.functionParameter.probability.name",detail:"formula.functionList.LOGINV.functionParameter.probability.detail",example:"0.908789",require:1,repeat:0},{name:"formula.functionList.LOGINV.functionParameter.mean.name",detail:"formula.functionList.LOGINV.functionParameter.mean.detail",example:"40",require:1,repeat:0},{name:"formula.functionList.LOGINV.functionParameter.standardDev.name",detail:"formula.functionList.LOGINV.functionParameter.standardDev.detail",example:"1.5",require:1,repeat:0}]},{functionName:NCe.LOGNORMDIST,functionType:Fhe.Compatibility,description:"formula.functionList.LOGNORMDIST.description",abstract:"formula.functionList.LOGNORMDIST.abstract",functionParameter:[{name:"formula.functionList.LOGNORMDIST.functionParameter.x.name",detail:"formula.functionList.LOGNORMDIST.functionParameter.x.detail",example:"42",require:1,repeat:0},{name:"formula.functionList.LOGNORMDIST.functionParameter.mean.name",detail:"formula.functionList.LOGNORMDIST.functionParameter.mean.detail",example:"40",require:1,repeat:0},{name:"formula.functionList.LOGNORMDIST.functionParameter.standardDev.name",detail:"formula.functionList.LOGNORMDIST.functionParameter.standardDev.detail",example:"1.5",require:1,repeat:0}]},{functionName:NCe.MODE,functionType:Fhe.Compatibility,description:"formula.functionList.MODE.description",abstract:"formula.functionList.MODE.abstract",functionParameter:[{name:"formula.functionList.MODE.functionParameter.number1.name",detail:"formula.functionList.MODE.functionParameter.number1.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.MODE.functionParameter.number2.name",detail:"formula.functionList.MODE.functionParameter.number2.detail",example:"2",require:0,repeat:1}]},{functionName:NCe.NEGBINOMDIST,functionType:Fhe.Compatibility,description:"formula.functionList.NEGBINOMDIST.description",abstract:"formula.functionList.NEGBINOMDIST.abstract",functionParameter:[{name:"formula.functionList.NEGBINOMDIST.functionParameter.numberF.name",detail:"formula.functionList.NEGBINOMDIST.functionParameter.numberF.detail",example:"10",require:1,repeat:0},{name:"formula.functionList.NEGBINOMDIST.functionParameter.numberS.name",detail:"formula.functionList.NEGBINOMDIST.functionParameter.numberS.detail",example:"5",require:1,repeat:0},{name:"formula.functionList.NEGBINOMDIST.functionParameter.probabilityS.name",detail:"formula.functionList.NEGBINOMDIST.functionParameter.probabilityS.detail",example:"0.25",require:1,repeat:0}]},{functionName:NCe.NORMDIST,functionType:Fhe.Compatibility,description:"formula.functionList.NORMDIST.description",abstract:"formula.functionList.NORMDIST.abstract",functionParameter:[{name:"formula.functionList.NORMDIST.functionParameter.x.name",detail:"formula.functionList.NORMDIST.functionParameter.x.detail",example:"42",require:1,repeat:0},{name:"formula.functionList.NORMDIST.functionParameter.mean.name",detail:"formula.functionList.NORMDIST.functionParameter.mean.detail",example:"40",require:1,repeat:0},{name:"formula.functionList.NORMDIST.functionParameter.standardDev.name",detail:"formula.functionList.NORMDIST.functionParameter.standardDev.detail",example:"1.5",require:1,repeat:0},{name:"formula.functionList.NORMDIST.functionParameter.cumulative.name",detail:"formula.functionList.NORMDIST.functionParameter.cumulative.detail",example:"true",require:1,repeat:0}]},{functionName:NCe.NORMINV,functionType:Fhe.Compatibility,description:"formula.functionList.NORMINV.description",abstract:"formula.functionList.NORMINV.abstract",functionParameter:[{name:"formula.functionList.NORMINV.functionParameter.probability.name",detail:"formula.functionList.NORMINV.functionParameter.probability.detail",example:"0.908789",require:1,repeat:0},{name:"formula.functionList.NORMINV.functionParameter.mean.name",detail:"formula.functionList.NORMINV.functionParameter.mean.detail",example:"40",require:1,repeat:0},{name:"formula.functionList.NORMINV.functionParameter.standardDev.name",detail:"formula.functionList.NORMINV.functionParameter.standardDev.detail",example:"1.5",require:1,repeat:0}]},{functionName:NCe.NORMSDIST,functionType:Fhe.Compatibility,description:"formula.functionList.NORMSDIST.description",abstract:"formula.functionList.NORMSDIST.abstract",functionParameter:[{name:"formula.functionList.NORMSDIST.functionParameter.z.name",detail:"formula.functionList.NORMSDIST.functionParameter.z.detail",example:"1.333333",require:1,repeat:0}]},{functionName:NCe.NORMSINV,functionType:Fhe.Compatibility,description:"formula.functionList.NORMSINV.description",abstract:"formula.functionList.NORMSINV.abstract",functionParameter:[{name:"formula.functionList.NORMSINV.functionParameter.probability.name",detail:"formula.functionList.NORMSINV.functionParameter.probability.detail",example:"0.908789",require:1,repeat:0}]},{functionName:NCe.PERCENTILE,functionType:Fhe.Compatibility,description:"formula.functionList.PERCENTILE.description",abstract:"formula.functionList.PERCENTILE.abstract",functionParameter:[{name:"formula.functionList.PERCENTILE.functionParameter.array.name",detail:"formula.functionList.PERCENTILE.functionParameter.array.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.PERCENTILE.functionParameter.k.name",detail:"formula.functionList.PERCENTILE.functionParameter.k.detail",example:"0.3",require:1,repeat:0}]},{functionName:NCe.PERCENTRANK,functionType:Fhe.Compatibility,description:"formula.functionList.PERCENTRANK.description",abstract:"formula.functionList.PERCENTRANK.abstract",functionParameter:[{name:"formula.functionList.PERCENTRANK.functionParameter.array.name",detail:"formula.functionList.PERCENTRANK.functionParameter.array.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.PERCENTRANK.functionParameter.x.name",detail:"formula.functionList.PERCENTRANK.functionParameter.x.detail",example:"1.5",require:1,repeat:0},{name:"formula.functionList.PERCENTRANK.functionParameter.significance.name",detail:"formula.functionList.PERCENTRANK.functionParameter.significance.detail",example:"3",require:0,repeat:0}]},{functionName:NCe.POISSON,functionType:Fhe.Compatibility,description:"formula.functionList.POISSON.description",abstract:"formula.functionList.POISSON.abstract",functionParameter:[{name:"formula.functionList.POISSON.functionParameter.x.name",detail:"formula.functionList.POISSON.functionParameter.x.detail",example:"2",require:1,repeat:0},{name:"formula.functionList.POISSON.functionParameter.mean.name",detail:"formula.functionList.POISSON.functionParameter.mean.detail",example:"5",require:1,repeat:0},{name:"formula.functionList.POISSON.functionParameter.cumulative.name",detail:"formula.functionList.POISSON.functionParameter.cumulative.detail",example:"true",require:1,repeat:0}]},{functionName:NCe.QUARTILE,functionType:Fhe.Compatibility,description:"formula.functionList.QUARTILE.description",abstract:"formula.functionList.QUARTILE.abstract",functionParameter:[{name:"formula.functionList.QUARTILE.functionParameter.array.name",detail:"formula.functionList.QUARTILE.functionParameter.array.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.QUARTILE.functionParameter.quart.name",detail:"formula.functionList.QUARTILE.functionParameter.quart.detail",example:"1",require:1,repeat:0}]},{functionName:NCe.RANK,functionType:Fhe.Compatibility,description:"formula.functionList.RANK.description",abstract:"formula.functionList.RANK.abstract",functionParameter:[{name:"formula.functionList.RANK.functionParameter.number.name",detail:"formula.functionList.RANK.functionParameter.number.detail",example:"A3",require:1,repeat:0},{name:"formula.functionList.RANK.functionParameter.ref.name",detail:"formula.functionList.RANK.functionParameter.ref.detail",example:"A2:A6",require:1,repeat:0},{name:"formula.functionList.RANK.functionParameter.order.name",detail:"formula.functionList.RANK.functionParameter.order.detail",example:"1",require:0,repeat:0}]},{functionName:NCe.STDEV,functionType:Fhe.Compatibility,description:"formula.functionList.STDEV.description",abstract:"formula.functionList.STDEV.abstract",functionParameter:[{name:"formula.functionList.STDEV.functionParameter.number1.name",detail:"formula.functionList.STDEV.functionParameter.number1.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.STDEV.functionParameter.number2.name",detail:"formula.functionList.STDEV.functionParameter.number2.detail",example:"2",require:0,repeat:1}]},{functionName:NCe.STDEVP,functionType:Fhe.Compatibility,description:"formula.functionList.STDEVP.description",abstract:"formula.functionList.STDEVP.abstract",functionParameter:[{name:"formula.functionList.STDEVP.functionParameter.number1.name",detail:"formula.functionList.STDEVP.functionParameter.number1.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.STDEVP.functionParameter.number2.name",detail:"formula.functionList.STDEVP.functionParameter.number2.detail",example:"2",require:0,repeat:1}]},{functionName:NCe.TDIST,functionType:Fhe.Compatibility,description:"formula.functionList.TDIST.description",abstract:"formula.functionList.TDIST.abstract",functionParameter:[{name:"formula.functionList.TDIST.functionParameter.x.name",detail:"formula.functionList.TDIST.functionParameter.x.detail",example:"8",require:1,repeat:0},{name:"formula.functionList.TDIST.functionParameter.degFreedom.name",detail:"formula.functionList.TDIST.functionParameter.degFreedom.detail",example:"3",require:1,repeat:0},{name:"formula.functionList.TDIST.functionParameter.tails.name",detail:"formula.functionList.TDIST.functionParameter.tails.detail",example:"1",require:1,repeat:0}]},{functionName:NCe.TINV,functionType:Fhe.Compatibility,description:"formula.functionList.TINV.description",abstract:"formula.functionList.TINV.abstract",functionParameter:[{name:"formula.functionList.TINV.functionParameter.probability.name",detail:"formula.functionList.TINV.functionParameter.probability.detail",example:"0.75",require:1,repeat:0},{name:"formula.functionList.TINV.functionParameter.degFreedom.name",detail:"formula.functionList.TINV.functionParameter.degFreedom.detail",example:"2",require:1,repeat:0}]},{functionName:NCe.TTEST,functionType:Fhe.Compatibility,description:"formula.functionList.TTEST.description",abstract:"formula.functionList.TTEST.abstract",functionParameter:[{name:"formula.functionList.TTEST.functionParameter.array1.name",detail:"formula.functionList.TTEST.functionParameter.array1.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.TTEST.functionParameter.array2.name",detail:"formula.functionList.TTEST.functionParameter.array2.detail",example:"B1:B4",require:1,repeat:0},{name:"formula.functionList.TTEST.functionParameter.tails.name",detail:"formula.functionList.TTEST.functionParameter.tails.detail",example:"2",require:1,repeat:0},{name:"formula.functionList.TTEST.functionParameter.type.name",detail:"formula.functionList.TTEST.functionParameter.type.detail",example:"1",require:1,repeat:0}]},{functionName:NCe.VAR,functionType:Fhe.Compatibility,description:"formula.functionList.VAR.description",abstract:"formula.functionList.VAR.abstract",functionParameter:[{name:"formula.functionList.VAR.functionParameter.number1.name",detail:"formula.functionList.VAR.functionParameter.number1.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.VAR.functionParameter.number2.name",detail:"formula.functionList.VAR.functionParameter.number2.detail",example:"2",require:0,repeat:1}]},{functionName:NCe.VARP,functionType:Fhe.Compatibility,description:"formula.functionList.VARP.description",abstract:"formula.functionList.VARP.abstract",functionParameter:[{name:"formula.functionList.VARP.functionParameter.number1.name",detail:"formula.functionList.VARP.functionParameter.number1.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.VARP.functionParameter.number2.name",detail:"formula.functionList.VARP.functionParameter.number2.detail",example:"2",require:0,repeat:1}]},{functionName:NCe.WEIBULL,functionType:Fhe.Compatibility,description:"formula.functionList.WEIBULL.description",abstract:"formula.functionList.WEIBULL.abstract",functionParameter:[{name:"formula.functionList.WEIBULL.functionParameter.x.name",detail:"formula.functionList.WEIBULL.functionParameter.x.detail",example:"105",require:1,repeat:0},{name:"formula.functionList.WEIBULL.functionParameter.alpha.name",detail:"formula.functionList.WEIBULL.functionParameter.alpha.detail",example:"20",require:1,repeat:0},{name:"formula.functionList.WEIBULL.functionParameter.beta.name",detail:"formula.functionList.WEIBULL.functionParameter.beta.detail",example:"100",require:1,repeat:0},{name:"formula.functionList.WEIBULL.functionParameter.cumulative.name",detail:"formula.functionList.WEIBULL.functionParameter.cumulative.detail",example:"true",require:1,repeat:0}]},{functionName:NCe.ZTEST,functionType:Fhe.Compatibility,description:"formula.functionList.ZTEST.description",abstract:"formula.functionList.ZTEST.abstract",functionParameter:[{name:"formula.functionList.ZTEST.functionParameter.array.name",detail:"formula.functionList.ZTEST.functionParameter.array.detail",example:"A2:A11",require:1,repeat:0},{name:"formula.functionList.ZTEST.functionParameter.x.name",detail:"formula.functionList.ZTEST.functionParameter.x.detail",example:"4",require:1,repeat:0},{name:"formula.functionList.ZTEST.functionParameter.sigma.name",detail:"formula.functionList.ZTEST.functionParameter.sigma.detail",example:"10",require:0,repeat:0}]}],qMe=[{functionName:LCe.CUBEKPIMEMBER,functionType:Fhe.Cube,description:"formula.functionList.CUBEKPIMEMBER.description",abstract:"formula.functionList.CUBEKPIMEMBER.abstract",functionParameter:[{name:"formula.functionList.CUBEKPIMEMBER.functionParameter.number1.name",detail:"formula.functionList.CUBEKPIMEMBER.functionParameter.number1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.CUBEKPIMEMBER.functionParameter.number2.name",detail:"formula.functionList.CUBEKPIMEMBER.functionParameter.number2.detail",example:"A1:A20",require:1,repeat:0}]},{functionName:LCe.CUBEMEMBER,functionType:Fhe.Cube,description:"formula.functionList.CUBEMEMBER.description",abstract:"formula.functionList.CUBEMEMBER.abstract",functionParameter:[{name:"formula.functionList.CUBEMEMBER.functionParameter.number1.name",detail:"formula.functionList.CUBEMEMBER.functionParameter.number1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.CUBEMEMBER.functionParameter.number2.name",detail:"formula.functionList.CUBEMEMBER.functionParameter.number2.detail",example:"A1:A20",require:1,repeat:0}]},{functionName:LCe.CUBEMEMBERPROPERTY,functionType:Fhe.Cube,description:"formula.functionList.CUBEMEMBERPROPERTY.description",abstract:"formula.functionList.CUBEMEMBERPROPERTY.abstract",functionParameter:[{name:"formula.functionList.CUBEMEMBERPROPERTY.functionParameter.number1.name",detail:"formula.functionList.CUBEMEMBERPROPERTY.functionParameter.number1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.CUBEMEMBERPROPERTY.functionParameter.number2.name",detail:"formula.functionList.CUBEMEMBERPROPERTY.functionParameter.number2.detail",example:"A1:A20",require:1,repeat:0}]},{functionName:LCe.CUBERANKEDMEMBER,functionType:Fhe.Cube,description:"formula.functionList.CUBERANKEDMEMBER.description",abstract:"formula.functionList.CUBERANKEDMEMBER.abstract",functionParameter:[{name:"formula.functionList.CUBERANKEDMEMBER.functionParameter.number1.name",detail:"formula.functionList.CUBERANKEDMEMBER.functionParameter.number1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.CUBERANKEDMEMBER.functionParameter.number2.name",detail:"formula.functionList.CUBERANKEDMEMBER.functionParameter.number2.detail",example:"A1:A20",require:1,repeat:0}]},{functionName:LCe.CUBESET,functionType:Fhe.Cube,description:"formula.functionList.CUBESET.description",abstract:"formula.functionList.CUBESET.abstract",functionParameter:[{name:"formula.functionList.CUBESET.functionParameter.number1.name",detail:"formula.functionList.CUBESET.functionParameter.number1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.CUBESET.functionParameter.number2.name",detail:"formula.functionList.CUBESET.functionParameter.number2.detail",example:"A1:A20",require:1,repeat:0}]},{functionName:LCe.CUBESETCOUNT,functionType:Fhe.Cube,description:"formula.functionList.CUBESETCOUNT.description",abstract:"formula.functionList.CUBESETCOUNT.abstract",functionParameter:[{name:"formula.functionList.CUBESETCOUNT.functionParameter.number1.name",detail:"formula.functionList.CUBESETCOUNT.functionParameter.number1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.CUBESETCOUNT.functionParameter.number2.name",detail:"formula.functionList.CUBESETCOUNT.functionParameter.number2.detail",example:"A1:A20",require:1,repeat:0}]},{functionName:LCe.CUBEVALUE,functionType:Fhe.Cube,description:"formula.functionList.CUBEVALUE.description",abstract:"formula.functionList.CUBEVALUE.abstract",functionParameter:[{name:"formula.functionList.CUBEVALUE.functionParameter.number1.name",detail:"formula.functionList.CUBEVALUE.functionParameter.number1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.CUBEVALUE.functionParameter.number2.name",detail:"formula.functionList.CUBEVALUE.functionParameter.number2.detail",example:"A1:A20",require:1,repeat:0}]}],GMe=[{functionName:FCe.DAVERAGE,functionType:Fhe.Database,description:"formula.functionList.DAVERAGE.description",abstract:"formula.functionList.DAVERAGE.abstract",functionParameter:[{name:"formula.functionList.DAVERAGE.functionParameter.database.name",detail:"formula.functionList.DAVERAGE.functionParameter.database.detail",example:"A4:E10",require:1,repeat:0},{name:"formula.functionList.DAVERAGE.functionParameter.field.name",detail:"formula.functionList.DAVERAGE.functionParameter.field.detail",example:"D4",require:1,repeat:0},{name:"formula.functionList.DAVERAGE.functionParameter.criteria.name",detail:"formula.functionList.DAVERAGE.functionParameter.criteria.detail",example:"A1:B2",require:1,repeat:0}]},{functionName:FCe.DCOUNT,functionType:Fhe.Database,description:"formula.functionList.DCOUNT.description",abstract:"formula.functionList.DCOUNT.abstract",functionParameter:[{name:"formula.functionList.DCOUNT.functionParameter.database.name",detail:"formula.functionList.DCOUNT.functionParameter.database.detail",example:"A4:E10",require:1,repeat:0},{name:"formula.functionList.DCOUNT.functionParameter.field.name",detail:"formula.functionList.DCOUNT.functionParameter.field.detail",example:"D4",require:1,repeat:0},{name:"formula.functionList.DCOUNT.functionParameter.criteria.name",detail:"formula.functionList.DCOUNT.functionParameter.criteria.detail",example:"A1:B2",require:1,repeat:0}]},{functionName:FCe.DCOUNTA,functionType:Fhe.Database,description:"formula.functionList.DCOUNTA.description",abstract:"formula.functionList.DCOUNTA.abstract",functionParameter:[{name:"formula.functionList.DCOUNTA.functionParameter.database.name",detail:"formula.functionList.DCOUNTA.functionParameter.database.detail",example:"A4:E10",require:1,repeat:0},{name:"formula.functionList.DCOUNTA.functionParameter.field.name",detail:"formula.functionList.DCOUNTA.functionParameter.field.detail",example:"D4",require:1,repeat:0},{name:"formula.functionList.DCOUNTA.functionParameter.criteria.name",detail:"formula.functionList.DCOUNTA.functionParameter.criteria.detail",example:"A1:B2",require:1,repeat:0}]},{functionName:FCe.DGET,functionType:Fhe.Database,description:"formula.functionList.DGET.description",abstract:"formula.functionList.DGET.abstract",functionParameter:[{name:"formula.functionList.DGET.functionParameter.database.name",detail:"formula.functionList.DGET.functionParameter.database.detail",example:"A4:E10",require:1,repeat:0},{name:"formula.functionList.DGET.functionParameter.field.name",detail:"formula.functionList.DGET.functionParameter.field.detail",example:"D4",require:1,repeat:0},{name:"formula.functionList.DGET.functionParameter.criteria.name",detail:"formula.functionList.DGET.functionParameter.criteria.detail",example:"A1:B2",require:1,repeat:0}]},{functionName:FCe.DMAX,functionType:Fhe.Database,description:"formula.functionList.DMAX.description",abstract:"formula.functionList.DMAX.abstract",functionParameter:[{name:"formula.functionList.DMAX.functionParameter.database.name",detail:"formula.functionList.DMAX.functionParameter.database.detail",example:"A4:E10",require:1,repeat:0},{name:"formula.functionList.DMAX.functionParameter.field.name",detail:"formula.functionList.DMAX.functionParameter.field.detail",example:"D4",require:1,repeat:0},{name:"formula.functionList.DMAX.functionParameter.criteria.name",detail:"formula.functionList.DMAX.functionParameter.criteria.detail",example:"A1:B2",require:1,repeat:0}]},{functionName:FCe.DMIN,functionType:Fhe.Database,description:"formula.functionList.DMIN.description",abstract:"formula.functionList.DMIN.abstract",functionParameter:[{name:"formula.functionList.DMIN.functionParameter.database.name",detail:"formula.functionList.DMIN.functionParameter.database.detail",example:"A4:E10",require:1,repeat:0},{name:"formula.functionList.DMIN.functionParameter.field.name",detail:"formula.functionList.DMIN.functionParameter.field.detail",example:"D4",require:1,repeat:0},{name:"formula.functionList.DMIN.functionParameter.criteria.name",detail:"formula.functionList.DMIN.functionParameter.criteria.detail",example:"A1:B2",require:1,repeat:0}]},{functionName:FCe.DPRODUCT,functionType:Fhe.Database,description:"formula.functionList.DPRODUCT.description",abstract:"formula.functionList.DPRODUCT.abstract",functionParameter:[{name:"formula.functionList.DPRODUCT.functionParameter.database.name",detail:"formula.functionList.DPRODUCT.functionParameter.database.detail",example:"A4:E10",require:1,repeat:0},{name:"formula.functionList.DPRODUCT.functionParameter.field.name",detail:"formula.functionList.DPRODUCT.functionParameter.field.detail",example:"D4",require:1,repeat:0},{name:"formula.functionList.DPRODUCT.functionParameter.criteria.name",detail:"formula.functionList.DPRODUCT.functionParameter.criteria.detail",example:"A1:B2",require:1,repeat:0}]},{functionName:FCe.DSTDEV,functionType:Fhe.Database,description:"formula.functionList.DSTDEV.description",abstract:"formula.functionList.DSTDEV.abstract",functionParameter:[{name:"formula.functionList.DSTDEV.functionParameter.database.name",detail:"formula.functionList.DSTDEV.functionParameter.database.detail",example:"A4:E10",require:1,repeat:0},{name:"formula.functionList.DSTDEV.functionParameter.field.name",detail:"formula.functionList.DSTDEV.functionParameter.field.detail",example:"D4",require:1,repeat:0},{name:"formula.functionList.DSTDEV.functionParameter.criteria.name",detail:"formula.functionList.DSTDEV.functionParameter.criteria.detail",example:"A1:B2",require:1,repeat:0}]},{functionName:FCe.DSTDEVP,functionType:Fhe.Database,description:"formula.functionList.DSTDEVP.description",abstract:"formula.functionList.DSTDEVP.abstract",functionParameter:[{name:"formula.functionList.DSTDEVP.functionParameter.database.name",detail:"formula.functionList.DSTDEVP.functionParameter.database.detail",example:"A4:E10",require:1,repeat:0},{name:"formula.functionList.DSTDEVP.functionParameter.field.name",detail:"formula.functionList.DSTDEVP.functionParameter.field.detail",example:"D4",require:1,repeat:0},{name:"formula.functionList.DSTDEVP.functionParameter.criteria.name",detail:"formula.functionList.DSTDEVP.functionParameter.criteria.detail",example:"A1:B2",require:1,repeat:0}]},{functionName:FCe.DSUM,functionType:Fhe.Database,description:"formula.functionList.DSUM.description",abstract:"formula.functionList.DSUM.abstract",functionParameter:[{name:"formula.functionList.DSUM.functionParameter.database.name",detail:"formula.functionList.DSUM.functionParameter.database.detail",example:"A4:E10",require:1,repeat:0},{name:"formula.functionList.DSUM.functionParameter.field.name",detail:"formula.functionList.DSUM.functionParameter.field.detail",example:"D4",require:1,repeat:0},{name:"formula.functionList.DSUM.functionParameter.criteria.name",detail:"formula.functionList.DSUM.functionParameter.criteria.detail",example:"A1:B2",require:1,repeat:0}]},{functionName:FCe.DVAR,functionType:Fhe.Database,description:"formula.functionList.DVAR.description",abstract:"formula.functionList.DVAR.abstract",functionParameter:[{name:"formula.functionList.DVAR.functionParameter.database.name",detail:"formula.functionList.DVAR.functionParameter.database.detail",example:"A4:E10",require:1,repeat:0},{name:"formula.functionList.DVAR.functionParameter.field.name",detail:"formula.functionList.DVAR.functionParameter.field.detail",example:"D4",require:1,repeat:0},{name:"formula.functionList.DVAR.functionParameter.criteria.name",detail:"formula.functionList.DVAR.functionParameter.criteria.detail",example:"A1:B2",require:1,repeat:0}]},{functionName:FCe.DVARP,functionType:Fhe.Database,description:"formula.functionList.DVARP.description",abstract:"formula.functionList.DVARP.abstract",functionParameter:[{name:"formula.functionList.DVARP.functionParameter.database.name",detail:"formula.functionList.DVARP.functionParameter.database.detail",example:"A4:E10",require:1,repeat:0},{name:"formula.functionList.DVARP.functionParameter.field.name",detail:"formula.functionList.DVARP.functionParameter.field.detail",example:"D4",require:1,repeat:0},{name:"formula.functionList.DVARP.functionParameter.criteria.name",detail:"formula.functionList.DVARP.functionParameter.criteria.detail",example:"A1:B2",require:1,repeat:0}]}],YMe=[{functionName:mpe.DATE,functionType:Fhe.Date,description:"formula.functionList.DATE.description",abstract:"formula.functionList.DATE.abstract",functionParameter:[{name:"formula.functionList.DATE.functionParameter.year.name",detail:"formula.functionList.DATE.functionParameter.year.detail",example:"2024",require:1,repeat:0},{name:"formula.functionList.DATE.functionParameter.month.name",detail:"formula.functionList.DATE.functionParameter.month.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.DATE.functionParameter.day.name",detail:"formula.functionList.DATE.functionParameter.day.detail",example:"1",require:1,repeat:0}]},{functionName:mpe.DATEDIF,functionType:Fhe.Date,description:"formula.functionList.DATEDIF.description",abstract:"formula.functionList.DATEDIF.abstract",functionParameter:[{name:"formula.functionList.DATEDIF.functionParameter.startDate.name",detail:"formula.functionList.DATEDIF.functionParameter.startDate.detail",example:'"2001-6-1"',require:1,repeat:0},{name:"formula.functionList.DATEDIF.functionParameter.endDate.name",detail:"formula.functionList.DATEDIF.functionParameter.endDate.detail",example:'"2002-8-15"',require:1,repeat:0},{name:"formula.functionList.DATEDIF.functionParameter.method.name",detail:"formula.functionList.DATEDIF.functionParameter.method.detail",example:'"D"',require:1,repeat:0}]},{functionName:mpe.DATEVALUE,functionType:Fhe.Date,description:"formula.functionList.DATEVALUE.description",abstract:"formula.functionList.DATEVALUE.abstract",functionParameter:[{name:"formula.functionList.DATEVALUE.functionParameter.dateText.name",detail:"formula.functionList.DATEVALUE.functionParameter.dateText.detail",example:'"2024-8-8"',require:1,repeat:0}]},{functionName:mpe.DAY,functionType:Fhe.Date,description:"formula.functionList.DAY.description",abstract:"formula.functionList.DAY.abstract",functionParameter:[{name:"formula.functionList.DAY.functionParameter.serialNumber.name",detail:"formula.functionList.DAY.functionParameter.serialNumber.detail",example:'"1969-7-20"',require:1,repeat:0}]},{functionName:mpe.DAYS,functionType:Fhe.Date,description:"formula.functionList.DAYS.description",abstract:"formula.functionList.DAYS.abstract",functionParameter:[{name:"formula.functionList.DAYS.functionParameter.endDate.name",detail:"formula.functionList.DAYS.functionParameter.endDate.detail",example:'"2021-12-31"',require:1,repeat:0},{name:"formula.functionList.DAYS.functionParameter.startDate.name",detail:"formula.functionList.DAYS.functionParameter.startDate.detail",example:'"2021-1-1"',require:1,repeat:0}]},{functionName:mpe.DAYS360,functionType:Fhe.Date,description:"formula.functionList.DAYS360.description",abstract:"formula.functionList.DAYS360.abstract",functionParameter:[{name:"formula.functionList.DAYS360.functionParameter.startDate.name",detail:"formula.functionList.DAYS360.functionParameter.startDate.detail",example:'"2021-1-29"',require:1,repeat:0},{name:"formula.functionList.DAYS360.functionParameter.endDate.name",detail:"formula.functionList.DAYS360.functionParameter.endDate.detail",example:'"2021-3-31"',require:1,repeat:0},{name:"formula.functionList.DAYS360.functionParameter.method.name",detail:"formula.functionList.DAYS360.functionParameter.method.detail",example:"1",require:0,repeat:0}]},{functionName:mpe.EDATE,functionType:Fhe.Date,description:"formula.functionList.EDATE.description",abstract:"formula.functionList.EDATE.abstract",functionParameter:[{name:"formula.functionList.EDATE.functionParameter.startDate.name",detail:"formula.functionList.EDATE.functionParameter.startDate.detail",example:"A1",require:1,repeat:0},{name:"formula.functionList.EDATE.functionParameter.months.name",detail:"formula.functionList.EDATE.functionParameter.months.detail",example:"1",require:1,repeat:0}]},{functionName:mpe.EOMONTH,functionType:Fhe.Date,description:"formula.functionList.EOMONTH.description",abstract:"formula.functionList.EOMONTH.abstract",functionParameter:[{name:"formula.functionList.EOMONTH.functionParameter.startDate.name",detail:"formula.functionList.EOMONTH.functionParameter.startDate.detail",example:'"2011-1-1"',require:1,repeat:0},{name:"formula.functionList.EOMONTH.functionParameter.months.name",detail:"formula.functionList.EOMONTH.functionParameter.months.detail",example:"1",require:1,repeat:0}]},{functionName:mpe.EPOCHTODATE,functionType:Fhe.Date,description:"formula.functionList.EPOCHTODATE.description",abstract:"formula.functionList.EPOCHTODATE.abstract",functionParameter:[{name:"formula.functionList.EPOCHTODATE.functionParameter.timestamp.name",detail:"formula.functionList.EPOCHTODATE.functionParameter.timestamp.detail",example:"1655906710",require:1,repeat:0},{name:"formula.functionList.EPOCHTODATE.functionParameter.unit.name",detail:"formula.functionList.EPOCHTODATE.functionParameter.unit.detail",example:"1",require:0,repeat:0}]},{functionName:mpe.HOUR,functionType:Fhe.Date,description:"formula.functionList.HOUR.description",abstract:"formula.functionList.HOUR.abstract",functionParameter:[{name:"formula.functionList.HOUR.functionParameter.serialNumber.name",detail:"formula.functionList.HOUR.functionParameter.serialNumber.detail",example:'"2011-7-18 7:45"',require:1,repeat:0}]},{functionName:mpe.ISOWEEKNUM,functionType:Fhe.Date,description:"formula.functionList.ISOWEEKNUM.description",abstract:"formula.functionList.ISOWEEKNUM.abstract",functionParameter:[{name:"formula.functionList.ISOWEEKNUM.functionParameter.date.name",detail:"formula.functionList.ISOWEEKNUM.functionParameter.date.detail",example:'"2012-3-9"',require:1,repeat:0}]},{functionName:mpe.MINUTE,functionType:Fhe.Date,description:"formula.functionList.MINUTE.description",abstract:"formula.functionList.MINUTE.abstract",functionParameter:[{name:"formula.functionList.MINUTE.functionParameter.serialNumber.name",detail:"formula.functionList.MINUTE.functionParameter.serialNumber.detail",example:'"12:45"',require:1,repeat:0}]},{functionName:mpe.MONTH,functionType:Fhe.Date,description:"formula.functionList.MONTH.description",abstract:"formula.functionList.MONTH.abstract",functionParameter:[{name:"formula.functionList.MONTH.functionParameter.serialNumber.name",detail:"formula.functionList.MONTH.functionParameter.serialNumber.detail",example:'"1969-7-20"',require:1,repeat:0}]},{functionName:mpe.NETWORKDAYS,functionType:Fhe.Date,description:"formula.functionList.NETWORKDAYS.description",abstract:"formula.functionList.NETWORKDAYS.abstract",functionParameter:[{name:"formula.functionList.NETWORKDAYS.functionParameter.startDate.name",detail:"formula.functionList.NETWORKDAYS.functionParameter.startDate.detail",example:'"2012-10-1"',require:1,repeat:0},{name:"formula.functionList.NETWORKDAYS.functionParameter.endDate.name",detail:"formula.functionList.NETWORKDAYS.functionParameter.endDate.detail",example:'"2013-3-1"',require:1,repeat:0},{name:"formula.functionList.NETWORKDAYS.functionParameter.holidays.name",detail:"formula.functionList.NETWORKDAYS.functionParameter.holidays.detail",example:'"2012-11-22"',require:0,repeat:0}]},{functionName:mpe.NETWORKDAYS_INTL,functionType:Fhe.Date,description:"formula.functionList.NETWORKDAYS_INTL.description",abstract:"formula.functionList.NETWORKDAYS_INTL.abstract",functionParameter:[{name:"formula.functionList.NETWORKDAYS_INTL.functionParameter.startDate.name",detail:"formula.functionList.NETWORKDAYS_INTL.functionParameter.startDate.detail",example:'"2012-10-1"',require:1,repeat:0},{name:"formula.functionList.NETWORKDAYS_INTL.functionParameter.endDate.name",detail:"formula.functionList.NETWORKDAYS_INTL.functionParameter.endDate.detail",example:'"2013-3-1"',require:1,repeat:0},{name:"formula.functionList.NETWORKDAYS_INTL.functionParameter.weekend.name",detail:"formula.functionList.NETWORKDAYS_INTL.functionParameter.weekend.detail",example:"6",require:0,repeat:0},{name:"formula.functionList.NETWORKDAYS_INTL.functionParameter.holidays.name",detail:"formula.functionList.NETWORKDAYS_INTL.functionParameter.holidays.detail",example:'"2012-11-22"',require:0,repeat:0}]},{functionName:mpe.NOW,functionType:Fhe.Date,description:"formula.functionList.NOW.description",abstract:"formula.functionList.NOW.abstract",functionParameter:[]},{functionName:mpe.SECOND,functionType:Fhe.Date,description:"formula.functionList.SECOND.description",abstract:"formula.functionList.SECOND.abstract",functionParameter:[{name:"formula.functionList.SECOND.functionParameter.serialNumber.name",detail:"formula.functionList.SECOND.functionParameter.serialNumber.detail",example:'"4:48:18"',require:1,repeat:0}]},{functionName:mpe.TIME,functionType:Fhe.Date,description:"formula.functionList.TIME.description",abstract:"formula.functionList.TIME.abstract",functionParameter:[{name:"formula.functionList.TIME.functionParameter.hour.name",detail:"formula.functionList.TIME.functionParameter.hour.detail",example:"15",require:1,repeat:0},{name:"formula.functionList.TIME.functionParameter.minute.name",detail:"formula.functionList.TIME.functionParameter.minute.detail",example:"20",require:1,repeat:0},{name:"formula.functionList.TIME.functionParameter.second.name",detail:"formula.functionList.TIME.functionParameter.second.detail",example:"59",require:1,repeat:0}]},{functionName:mpe.TIMEVALUE,functionType:Fhe.Date,description:"formula.functionList.TIMEVALUE.description",abstract:"formula.functionList.TIMEVALUE.abstract",functionParameter:[{name:"formula.functionList.TIMEVALUE.functionParameter.timeText.name",detail:"formula.functionList.TIMEVALUE.functionParameter.timeText.detail",example:'"15:20:59"',require:1,repeat:0}]},{functionName:mpe.TO_DATE,functionType:Fhe.Date,description:"formula.functionList.TO_DATE.description",abstract:"formula.functionList.TO_DATE.abstract",functionParameter:[{name:"formula.functionList.TO_DATE.functionParameter.value.name",detail:"formula.functionList.TO_DATE.functionParameter.value.detail",example:"40826.4375",require:1,repeat:0}]},{functionName:mpe.TODAY,functionType:Fhe.Date,description:"formula.functionList.TODAY.description",abstract:"formula.functionList.TODAY.abstract",functionParameter:[]},{functionName:mpe.WEEKDAY,functionType:Fhe.Date,description:"formula.functionList.WEEKDAY.description",abstract:"formula.functionList.WEEKDAY.abstract",functionParameter:[{name:"formula.functionList.WEEKDAY.functionParameter.serialNumber.name",detail:"formula.functionList.WEEKDAY.functionParameter.serialNumber.detail",example:'"2008-2-14"',require:1,repeat:0},{name:"formula.functionList.WEEKDAY.functionParameter.returnType.name",detail:"formula.functionList.WEEKDAY.functionParameter.returnType.detail",example:"2",require:0,repeat:0}]},{functionName:mpe.WEEKNUM,functionType:Fhe.Date,description:"formula.functionList.WEEKNUM.description",abstract:"formula.functionList.WEEKNUM.abstract",functionParameter:[{name:"formula.functionList.WEEKNUM.functionParameter.serialNumber.name",detail:"formula.functionList.WEEKNUM.functionParameter.serialNumber.detail",example:'"2012-3-9"',require:1,repeat:0},{name:"formula.functionList.WEEKNUM.functionParameter.returnType.name",detail:"formula.functionList.WEEKNUM.functionParameter.returnType.detail",example:"2",require:0,repeat:0}]},{functionName:mpe.WORKDAY,functionType:Fhe.Date,description:"formula.functionList.WORKDAY.description",abstract:"formula.functionList.WORKDAY.abstract",functionParameter:[{name:"formula.functionList.WORKDAY.functionParameter.startDate.name",detail:"formula.functionList.WORKDAY.functionParameter.startDate.detail",example:'"2008-10-1"',require:1,repeat:0},{name:"formula.functionList.WORKDAY.functionParameter.days.name",detail:"formula.functionList.WORKDAY.functionParameter.days.detail",example:"151",require:1,repeat:0},{name:"formula.functionList.WORKDAY.functionParameter.holidays.name",detail:"formula.functionList.WORKDAY.functionParameter.holidays.detail",example:'"2008-11-26"',require:0,repeat:0}]},{functionName:mpe.WORKDAY_INTL,functionType:Fhe.Date,description:"formula.functionList.WORKDAY_INTL.description",abstract:"formula.functionList.WORKDAY_INTL.abstract",functionParameter:[{name:"formula.functionList.WORKDAY_INTL.functionParameter.startDate.name",detail:"formula.functionList.WORKDAY_INTL.functionParameter.startDate.detail",example:'"2008-10-1"',require:1,repeat:0},{name:"formula.functionList.WORKDAY_INTL.functionParameter.days.name",detail:"formula.functionList.WORKDAY_INTL.functionParameter.days.detail",example:"151",require:1,repeat:0},{name:"formula.functionList.WORKDAY_INTL.functionParameter.weekend.name",detail:"formula.functionList.WORKDAY_INTL.functionParameter.weekend.detail",example:"6",require:0,repeat:0},{name:"formula.functionList.WORKDAY_INTL.functionParameter.holidays.name",detail:"formula.functionList.WORKDAY_INTL.functionParameter.holidays.detail",example:'"2008-11-26"',require:0,repeat:0}]},{functionName:mpe.YEAR,functionType:Fhe.Date,description:"formula.functionList.YEAR.description",abstract:"formula.functionList.YEAR.abstract",functionParameter:[{name:"formula.functionList.YEAR.functionParameter.serialNumber.name",detail:"formula.functionList.YEAR.functionParameter.serialNumber.detail",example:'"1969-7-20"',require:1,repeat:0}]},{functionName:mpe.YEARFRAC,functionType:Fhe.Date,description:"formula.functionList.YEARFRAC.description",abstract:"formula.functionList.YEARFRAC.abstract",functionParameter:[{name:"formula.functionList.YEARFRAC.functionParameter.startDate.name",detail:"formula.functionList.YEARFRAC.functionParameter.startDate.detail",example:'"2012-1-1"',require:1,repeat:0},{name:"formula.functionList.YEARFRAC.functionParameter.endDate.name",detail:"formula.functionList.YEARFRAC.functionParameter.endDate.detail",example:'"2012-7-30"',require:1,repeat:0},{name:"formula.functionList.YEARFRAC.functionParameter.basis.name",detail:"formula.functionList.YEARFRAC.functionParameter.basis.detail",example:"1",require:0,repeat:0}]}],QMe=[{functionName:fpe.BESSELI,functionType:Fhe.Engineering,description:"formula.functionList.BESSELI.description",abstract:"formula.functionList.BESSELI.abstract",functionParameter:[{name:"formula.functionList.BESSELI.functionParameter.x.name",detail:"formula.functionList.BESSELI.functionParameter.x.detail",example:"1.5",require:1,repeat:0},{name:"formula.functionList.BESSELI.functionParameter.n.name",detail:"formula.functionList.BESSELI.functionParameter.n.detail",example:"1",require:1,repeat:0}]},{functionName:fpe.BESSELJ,functionType:Fhe.Engineering,description:"formula.functionList.BESSELJ.description",abstract:"formula.functionList.BESSELJ.abstract",functionParameter:[{name:"formula.functionList.BESSELJ.functionParameter.x.name",detail:"formula.functionList.BESSELJ.functionParameter.x.detail",example:"1.5",require:1,repeat:0},{name:"formula.functionList.BESSELJ.functionParameter.n.name",detail:"formula.functionList.BESSELJ.functionParameter.n.detail",example:"1",require:1,repeat:0}]},{functionName:fpe.BESSELK,functionType:Fhe.Engineering,description:"formula.functionList.BESSELK.description",abstract:"formula.functionList.BESSELK.abstract",functionParameter:[{name:"formula.functionList.BESSELK.functionParameter.x.name",detail:"formula.functionList.BESSELK.functionParameter.x.detail",example:"1.5",require:1,repeat:0},{name:"formula.functionList.BESSELK.functionParameter.n.name",detail:"formula.functionList.BESSELK.functionParameter.n.detail",example:"1",require:1,repeat:0}]},{functionName:fpe.BESSELY,functionType:Fhe.Engineering,description:"formula.functionList.BESSELY.description",abstract:"formula.functionList.BESSELY.abstract",functionParameter:[{name:"formula.functionList.BESSELY.functionParameter.x.name",detail:"formula.functionList.BESSELY.functionParameter.x.detail",example:"1.5",require:1,repeat:0},{name:"formula.functionList.BESSELY.functionParameter.n.name",detail:"formula.functionList.BESSELY.functionParameter.n.detail",example:"1",require:1,repeat:0}]},{functionName:fpe.BIN2DEC,functionType:Fhe.Engineering,description:"formula.functionList.BIN2DEC.description",abstract:"formula.functionList.BIN2DEC.abstract",functionParameter:[{name:"formula.functionList.BIN2DEC.functionParameter.number.name",detail:"formula.functionList.BIN2DEC.functionParameter.number.detail",example:"1100100",require:1,repeat:0}]},{functionName:fpe.BIN2HEX,functionType:Fhe.Engineering,description:"formula.functionList.BIN2HEX.description",abstract:"formula.functionList.BIN2HEX.abstract",functionParameter:[{name:"formula.functionList.BIN2HEX.functionParameter.number.name",detail:"formula.functionList.BIN2HEX.functionParameter.number.detail",example:"11111011",require:1,repeat:0},{name:"formula.functionList.BIN2HEX.functionParameter.places.name",detail:"formula.functionList.BIN2HEX.functionParameter.places.detail",example:"4",require:0,repeat:0}]},{functionName:fpe.BIN2OCT,functionType:Fhe.Engineering,description:"formula.functionList.BIN2OCT.description",abstract:"formula.functionList.BIN2OCT.abstract",functionParameter:[{name:"formula.functionList.BIN2OCT.functionParameter.number.name",detail:"formula.functionList.BIN2OCT.functionParameter.number.detail",example:"1001",require:1,repeat:0},{name:"formula.functionList.BIN2OCT.functionParameter.places.name",detail:"formula.functionList.BIN2OCT.functionParameter.places.detail",example:"3",require:0,repeat:0}]},{functionName:fpe.BITAND,functionType:Fhe.Engineering,description:"formula.functionList.BITAND.description",abstract:"formula.functionList.BITAND.abstract",functionParameter:[{name:"formula.functionList.BITAND.functionParameter.number1.name",detail:"formula.functionList.BITAND.functionParameter.number1.detail",example:"13",require:1,repeat:0},{name:"formula.functionList.BITAND.functionParameter.number2.name",detail:"formula.functionList.BITAND.functionParameter.number2.detail",example:"25",require:1,repeat:0}]},{functionName:fpe.BITLSHIFT,functionType:Fhe.Engineering,description:"formula.functionList.BITLSHIFT.description",abstract:"formula.functionList.BITLSHIFT.abstract",functionParameter:[{name:"formula.functionList.BITLSHIFT.functionParameter.number.name",detail:"formula.functionList.BITLSHIFT.functionParameter.number.detail",example:"4",require:1,repeat:0},{name:"formula.functionList.BITLSHIFT.functionParameter.shiftAmount.name",detail:"formula.functionList.BITLSHIFT.functionParameter.shiftAmount.detail",example:"2",require:1,repeat:0}]},{functionName:fpe.BITOR,functionType:Fhe.Engineering,description:"formula.functionList.BITOR.description",abstract:"formula.functionList.BITOR.abstract",functionParameter:[{name:"formula.functionList.BITOR.functionParameter.number1.name",detail:"formula.functionList.BITOR.functionParameter.number1.detail",example:"23",require:1,repeat:0},{name:"formula.functionList.BITOR.functionParameter.number2.name",detail:"formula.functionList.BITOR.functionParameter.number2.detail",example:"10",require:1,repeat:0}]},{functionName:fpe.BITRSHIFT,functionType:Fhe.Engineering,description:"formula.functionList.BITRSHIFT.description",abstract:"formula.functionList.BITRSHIFT.abstract",functionParameter:[{name:"formula.functionList.BITRSHIFT.functionParameter.number.name",detail:"formula.functionList.BITRSHIFT.functionParameter.number.detail",example:"13",require:1,repeat:0},{name:"formula.functionList.BITRSHIFT.functionParameter.shiftAmount.name",detail:"formula.functionList.BITRSHIFT.functionParameter.shiftAmount.detail",example:"2",require:1,repeat:0}]},{functionName:fpe.BITXOR,functionType:Fhe.Engineering,description:"formula.functionList.BITXOR.description",abstract:"formula.functionList.BITXOR.abstract",functionParameter:[{name:"formula.functionList.BITXOR.functionParameter.number1.name",detail:"formula.functionList.BITXOR.functionParameter.number1.detail",example:"5",require:1,repeat:0},{name:"formula.functionList.BITXOR.functionParameter.number2.name",detail:"formula.functionList.BITXOR.functionParameter.number2.detail",example:"3",require:1,repeat:0}]},{functionName:fpe.COMPLEX,functionType:Fhe.Engineering,description:"formula.functionList.COMPLEX.description",abstract:"formula.functionList.COMPLEX.abstract",functionParameter:[{name:"formula.functionList.COMPLEX.functionParameter.realNum.name",detail:"formula.functionList.COMPLEX.functionParameter.realNum.detail",example:"3",require:1,repeat:0},{name:"formula.functionList.COMPLEX.functionParameter.iNum.name",detail:"formula.functionList.COMPLEX.functionParameter.iNum.detail",example:"4",require:1,repeat:0},{name:"formula.functionList.COMPLEX.functionParameter.suffix.name",detail:"formula.functionList.COMPLEX.functionParameter.suffix.detail",example:'"i"',require:0,repeat:0}]},{functionName:fpe.CONVERT,functionType:Fhe.Engineering,description:"formula.functionList.CONVERT.description",abstract:"formula.functionList.CONVERT.abstract",functionParameter:[{name:"formula.functionList.CONVERT.functionParameter.number.name",detail:"formula.functionList.CONVERT.functionParameter.number.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.CONVERT.functionParameter.fromUnit.name",detail:"formula.functionList.CONVERT.functionParameter.fromUnit.detail",example:'"lbm"',require:1,repeat:0},{name:"formula.functionList.CONVERT.functionParameter.toUnit.name",detail:"formula.functionList.CONVERT.functionParameter.toUnit.detail",example:'"kg"',require:1,repeat:0}]},{functionName:fpe.DEC2BIN,functionType:Fhe.Engineering,description:"formula.functionList.DEC2BIN.description",abstract:"formula.functionList.DEC2BIN.abstract",functionParameter:[{name:"formula.functionList.DEC2BIN.functionParameter.number.name",detail:"formula.functionList.DEC2BIN.functionParameter.number.detail",example:"9",require:1,repeat:0},{name:"formula.functionList.DEC2BIN.functionParameter.places.name",detail:"formula.functionList.DEC2BIN.functionParameter.places.detail",example:"4",require:0,repeat:0}]},{functionName:fpe.DEC2HEX,functionType:Fhe.Engineering,description:"formula.functionList.DEC2HEX.description",abstract:"formula.functionList.DEC2HEX.abstract",functionParameter:[{name:"formula.functionList.DEC2HEX.functionParameter.number.name",detail:"formula.functionList.DEC2HEX.functionParameter.number.detail",example:"100",require:1,repeat:0},{name:"formula.functionList.DEC2HEX.functionParameter.places.name",detail:"formula.functionList.DEC2HEX.functionParameter.places.detail",example:"4",require:0,repeat:0}]},{functionName:fpe.DEC2OCT,functionType:Fhe.Engineering,description:"formula.functionList.DEC2OCT.description",abstract:"formula.functionList.DEC2OCT.abstract",functionParameter:[{name:"formula.functionList.DEC2OCT.functionParameter.number.name",detail:"formula.functionList.DEC2OCT.functionParameter.number.detail",example:"58",require:1,repeat:0},{name:"formula.functionList.DEC2OCT.functionParameter.places.name",detail:"formula.functionList.DEC2OCT.functionParameter.places.detail",example:"3",require:0,repeat:0}]},{functionName:fpe.DELTA,functionType:Fhe.Engineering,description:"formula.functionList.DELTA.description",abstract:"formula.functionList.DELTA.abstract",functionParameter:[{name:"formula.functionList.DELTA.functionParameter.number1.name",detail:"formula.functionList.DELTA.functionParameter.number1.detail",example:"5",require:1,repeat:0},{name:"formula.functionList.DELTA.functionParameter.number2.name",detail:"formula.functionList.DELTA.functionParameter.number2.detail",example:"4",require:0,repeat:0}]},{functionName:fpe.ERF,functionType:Fhe.Engineering,description:"formula.functionList.ERF.description",abstract:"formula.functionList.ERF.abstract",functionParameter:[{name:"formula.functionList.ERF.functionParameter.lowerLimit.name",detail:"formula.functionList.ERF.functionParameter.lowerLimit.detail",example:"0.745",require:1,repeat:0},{name:"formula.functionList.ERF.functionParameter.upperLimit.name",detail:"formula.functionList.ERF.functionParameter.upperLimit.detail",example:"2",require:0,repeat:0}]},{functionName:fpe.ERF_PRECISE,functionType:Fhe.Engineering,description:"formula.functionList.ERF_PRECISE.description",abstract:"formula.functionList.ERF_PRECISE.abstract",functionParameter:[{name:"formula.functionList.ERF_PRECISE.functionParameter.x.name",detail:"formula.functionList.ERF_PRECISE.functionParameter.x.detail",example:"1",require:1,repeat:0}]},{functionName:fpe.ERFC,functionType:Fhe.Engineering,description:"formula.functionList.ERFC.description",abstract:"formula.functionList.ERFC.abstract",functionParameter:[{name:"formula.functionList.ERFC.functionParameter.x.name",detail:"formula.functionList.ERFC.functionParameter.x.detail",example:"1",require:1,repeat:0}]},{functionName:fpe.ERFC_PRECISE,functionType:Fhe.Engineering,description:"formula.functionList.ERFC_PRECISE.description",abstract:"formula.functionList.ERFC_PRECISE.abstract",functionParameter:[{name:"formula.functionList.ERFC_PRECISE.functionParameter.x.name",detail:"formula.functionList.ERFC_PRECISE.functionParameter.x.detail",example:"1",require:1,repeat:0}]},{functionName:fpe.GESTEP,functionType:Fhe.Engineering,description:"formula.functionList.GESTEP.description",abstract:"formula.functionList.GESTEP.abstract",functionParameter:[{name:"formula.functionList.GESTEP.functionParameter.number.name",detail:"formula.functionList.GESTEP.functionParameter.number.detail",example:"5",require:1,repeat:0},{name:"formula.functionList.GESTEP.functionParameter.step.name",detail:"formula.functionList.GESTEP.functionParameter.step.detail",example:"4",require:0,repeat:0}]},{functionName:fpe.HEX2BIN,functionType:Fhe.Engineering,description:"formula.functionList.HEX2BIN.description",abstract:"formula.functionList.HEX2BIN.abstract",functionParameter:[{name:"formula.functionList.HEX2BIN.functionParameter.number.name",detail:"formula.functionList.HEX2BIN.functionParameter.number.detail",example:'"F"',require:1,repeat:0},{name:"formula.functionList.HEX2BIN.functionParameter.places.name",detail:"formula.functionList.HEX2BIN.functionParameter.places.detail",example:"8",require:0,repeat:0}]},{functionName:fpe.HEX2DEC,functionType:Fhe.Engineering,description:"formula.functionList.HEX2DEC.description",abstract:"formula.functionList.HEX2DEC.abstract",functionParameter:[{name:"formula.functionList.HEX2DEC.functionParameter.number.name",detail:"formula.functionList.HEX2DEC.functionParameter.number.detail",example:'"A5"',require:1,repeat:0}]},{functionName:fpe.HEX2OCT,functionType:Fhe.Engineering,description:"formula.functionList.HEX2OCT.description",abstract:"formula.functionList.HEX2OCT.abstract",functionParameter:[{name:"formula.functionList.HEX2OCT.functionParameter.number.name",detail:"formula.functionList.HEX2OCT.functionParameter.number.detail",example:'"F"',require:1,repeat:0},{name:"formula.functionList.HEX2OCT.functionParameter.places.name",detail:"formula.functionList.HEX2OCT.functionParameter.places.detail",example:"3",require:0,repeat:0}]},{functionName:fpe.IMABS,functionType:Fhe.Engineering,description:"formula.functionList.IMABS.description",abstract:"formula.functionList.IMABS.abstract",functionParameter:[{name:"formula.functionList.IMABS.functionParameter.inumber.name",detail:"formula.functionList.IMABS.functionParameter.inumber.detail",example:'"5+12i"',require:1,repeat:0}]},{functionName:fpe.IMAGINARY,functionType:Fhe.Engineering,description:"formula.functionList.IMAGINARY.description",abstract:"formula.functionList.IMAGINARY.abstract",functionParameter:[{name:"formula.functionList.IMAGINARY.functionParameter.inumber.name",detail:"formula.functionList.IMAGINARY.functionParameter.inumber.detail",example:'"3+4i"',require:1,repeat:0}]},{functionName:fpe.IMARGUMENT,functionType:Fhe.Engineering,description:"formula.functionList.IMARGUMENT.description",abstract:"formula.functionList.IMARGUMENT.abstract",functionParameter:[{name:"formula.functionList.IMARGUMENT.functionParameter.inumber.name",detail:"formula.functionList.IMARGUMENT.functionParameter.inumber.detail",example:'"3+4i"',require:1,repeat:0}]},{functionName:fpe.IMCONJUGATE,functionType:Fhe.Engineering,description:"formula.functionList.IMCONJUGATE.description",abstract:"formula.functionList.IMCONJUGATE.abstract",functionParameter:[{name:"formula.functionList.IMCONJUGATE.functionParameter.inumber.name",detail:"formula.functionList.IMCONJUGATE.functionParameter.inumber.detail",example:'"3+4i"',require:1,repeat:0}]},{functionName:fpe.IMCOS,functionType:Fhe.Engineering,description:"formula.functionList.IMCOS.description",abstract:"formula.functionList.IMCOS.abstract",functionParameter:[{name:"formula.functionList.IMCOS.functionParameter.inumber.name",detail:"formula.functionList.IMCOS.functionParameter.inumber.detail",example:'"1+i"',require:1,repeat:0}]},{functionName:fpe.IMCOSH,functionType:Fhe.Engineering,description:"formula.functionList.IMCOSH.description",abstract:"formula.functionList.IMCOSH.abstract",functionParameter:[{name:"formula.functionList.IMCOSH.functionParameter.inumber.name",detail:"formula.functionList.IMCOSH.functionParameter.inumber.detail",example:'"4+3i"',require:1,repeat:0}]},{functionName:fpe.IMCOT,functionType:Fhe.Engineering,description:"formula.functionList.IMCOT.description",abstract:"formula.functionList.IMCOT.abstract",functionParameter:[{name:"formula.functionList.IMCOT.functionParameter.inumber.name",detail:"formula.functionList.IMCOT.functionParameter.inumber.detail",example:'"4+3i"',require:1,repeat:0}]},{functionName:fpe.IMCOTH,functionType:Fhe.Engineering,description:"formula.functionList.IMCOTH.description",abstract:"formula.functionList.IMCOTH.abstract",functionParameter:[{name:"formula.functionList.IMCOTH.functionParameter.inumber.name",detail:"formula.functionList.IMCOTH.functionParameter.inumber.detail",example:'"4+3i"',require:1,repeat:0}]},{functionName:fpe.IMCSC,functionType:Fhe.Engineering,description:"formula.functionList.IMCSC.description",abstract:"formula.functionList.IMCSC.abstract",functionParameter:[{name:"formula.functionList.IMCSC.functionParameter.inumber.name",detail:"formula.functionList.IMCSC.functionParameter.inumber.detail",example:'"4+3i"',require:1,repeat:0}]},{functionName:fpe.IMCSCH,functionType:Fhe.Engineering,description:"formula.functionList.IMCSCH.description",abstract:"formula.functionList.IMCSCH.abstract",functionParameter:[{name:"formula.functionList.IMCSCH.functionParameter.inumber.name",detail:"formula.functionList.IMCSCH.functionParameter.inumber.detail",example:'"4+3i"',require:1,repeat:0}]},{functionName:fpe.IMDIV,functionType:Fhe.Engineering,description:"formula.functionList.IMDIV.description",abstract:"formula.functionList.IMDIV.abstract",functionParameter:[{name:"formula.functionList.IMDIV.functionParameter.inumber1.name",detail:"formula.functionList.IMDIV.functionParameter.inumber1.detail",example:'"-238+240i"',require:1,repeat:0},{name:"formula.functionList.IMDIV.functionParameter.inumber2.name",detail:"formula.functionList.IMDIV.functionParameter.inumber2.detail",example:'"10+24i"',require:1,repeat:0}]},{functionName:fpe.IMEXP,functionType:Fhe.Engineering,description:"formula.functionList.IMEXP.description",abstract:"formula.functionList.IMEXP.abstract",functionParameter:[{name:"formula.functionList.IMEXP.functionParameter.inumber.name",detail:"formula.functionList.IMEXP.functionParameter.inumber.detail",example:'"1+i"',require:1,repeat:0}]},{functionName:fpe.IMLN,functionType:Fhe.Engineering,description:"formula.functionList.IMLN.description",abstract:"formula.functionList.IMLN.abstract",functionParameter:[{name:"formula.functionList.IMLN.functionParameter.inumber.name",detail:"formula.functionList.IMLN.functionParameter.inumber.detail",example:'"3+4i"',require:1,repeat:0}]},{functionName:fpe.IMLOG,functionType:Fhe.Engineering,description:"formula.functionList.IMLOG.description",abstract:"formula.functionList.IMLOG.abstract",functionParameter:[{name:"formula.functionList.IMLOG.functionParameter.inumber.name",detail:"formula.functionList.IMLOG.functionParameter.inumber.detail",example:'"3+4i"',require:1,repeat:0},{name:"formula.functionList.IMLOG.functionParameter.base.name",detail:"formula.functionList.IMLOG.functionParameter.base.detail",example:"10",require:0,repeat:0}]},{functionName:fpe.IMLOG10,functionType:Fhe.Engineering,description:"formula.functionList.IMLOG10.description",abstract:"formula.functionList.IMLOG10.abstract",functionParameter:[{name:"formula.functionList.IMLOG10.functionParameter.inumber.name",detail:"formula.functionList.IMLOG10.functionParameter.inumber.detail",example:'"3+4i"',require:1,repeat:0}]},{functionName:fpe.IMLOG2,functionType:Fhe.Engineering,description:"formula.functionList.IMLOG2.description",abstract:"formula.functionList.IMLOG2.abstract",functionParameter:[{name:"formula.functionList.IMLOG2.functionParameter.inumber.name",detail:"formula.functionList.IMLOG2.functionParameter.inumber.detail",example:'"3+4i"',require:1,repeat:0}]},{functionName:fpe.IMPOWER,functionType:Fhe.Engineering,description:"formula.functionList.IMPOWER.description",abstract:"formula.functionList.IMPOWER.abstract",functionParameter:[{name:"formula.functionList.IMPOWER.functionParameter.inumber.name",detail:"formula.functionList.IMPOWER.functionParameter.inumber.detail",example:'"2+3i"',require:1,repeat:0},{name:"formula.functionList.IMPOWER.functionParameter.number.name",detail:"formula.functionList.IMPOWER.functionParameter.number.detail",example:"3",require:1,repeat:0}]},{functionName:fpe.IMPRODUCT,functionType:Fhe.Engineering,description:"formula.functionList.IMPRODUCT.description",abstract:"formula.functionList.IMPRODUCT.abstract",functionParameter:[{name:"formula.functionList.IMPRODUCT.functionParameter.inumber1.name",detail:"formula.functionList.IMPRODUCT.functionParameter.inumber1.detail",example:'"3+4i"',require:1,repeat:0},{name:"formula.functionList.IMPRODUCT.functionParameter.inumber2.name",detail:"formula.functionList.IMPRODUCT.functionParameter.inumber2.detail",example:'"5-3i"',require:0,repeat:1}]},{functionName:fpe.IMREAL,functionType:Fhe.Engineering,description:"formula.functionList.IMREAL.description",abstract:"formula.functionList.IMREAL.abstract",functionParameter:[{name:"formula.functionList.IMREAL.functionParameter.inumber.name",detail:"formula.functionList.IMREAL.functionParameter.inumber.detail",example:'"6-9i"',require:1,repeat:0}]},{functionName:fpe.IMSEC,functionType:Fhe.Engineering,description:"formula.functionList.IMSEC.description",abstract:"formula.functionList.IMSEC.abstract",functionParameter:[{name:"formula.functionList.IMSEC.functionParameter.inumber.name",detail:"formula.functionList.IMSEC.functionParameter.inumber.detail",example:'"4+3i"',require:1,repeat:0}]},{functionName:fpe.IMSECH,functionType:Fhe.Engineering,description:"formula.functionList.IMSECH.description",abstract:"formula.functionList.IMSECH.abstract",functionParameter:[{name:"formula.functionList.IMSECH.functionParameter.inumber.name",detail:"formula.functionList.IMSECH.functionParameter.inumber.detail",example:'"4+3i"',require:1,repeat:0}]},{functionName:fpe.IMSIN,functionType:Fhe.Engineering,description:"formula.functionList.IMSIN.description",abstract:"formula.functionList.IMSIN.abstract",functionParameter:[{name:"formula.functionList.IMSIN.functionParameter.inumber.name",detail:"formula.functionList.IMSIN.functionParameter.inumber.detail",example:'"4+3i"',require:1,repeat:0}]},{functionName:fpe.IMSINH,functionType:Fhe.Engineering,description:"formula.functionList.IMSINH.description",abstract:"formula.functionList.IMSINH.abstract",functionParameter:[{name:"formula.functionList.IMSINH.functionParameter.inumber.name",detail:"formula.functionList.IMSINH.functionParameter.inumber.detail",example:'"4+3i"',require:1,repeat:0}]},{functionName:fpe.IMSQRT,functionType:Fhe.Engineering,description:"formula.functionList.IMSQRT.description",abstract:"formula.functionList.IMSQRT.abstract",functionParameter:[{name:"formula.functionList.IMSQRT.functionParameter.inumber.name",detail:"formula.functionList.IMSQRT.functionParameter.inumber.detail",example:'"1+i"',require:1,repeat:0}]},{functionName:fpe.IMSUB,functionType:Fhe.Engineering,description:"formula.functionList.IMSUB.description",abstract:"formula.functionList.IMSUB.abstract",functionParameter:[{name:"formula.functionList.IMSUB.functionParameter.inumber1.name",detail:"formula.functionList.IMSUB.functionParameter.inumber1.detail",example:'"13+4i"',require:1,repeat:0},{name:"formula.functionList.IMSUB.functionParameter.inumber2.name",detail:"formula.functionList.IMSUB.functionParameter.inumber2.detail",example:'"5+3i"',require:1,repeat:0}]},{functionName:fpe.IMSUM,functionType:Fhe.Engineering,description:"formula.functionList.IMSUM.description",abstract:"formula.functionList.IMSUM.abstract",functionParameter:[{name:"formula.functionList.IMSUM.functionParameter.inumber1.name",detail:"formula.functionList.IMSUM.functionParameter.inumber1.detail",example:'"3+4i"',require:1,repeat:0},{name:"formula.functionList.IMSUM.functionParameter.inumber2.name",detail:"formula.functionList.IMSUM.functionParameter.inumber2.detail",example:'"5-3i"',require:0,repeat:1}]},{functionName:fpe.IMTAN,functionType:Fhe.Engineering,description:"formula.functionList.IMTAN.description",abstract:"formula.functionList.IMTAN.abstract",functionParameter:[{name:"formula.functionList.IMTAN.functionParameter.inumber.name",detail:"formula.functionList.IMTAN.functionParameter.inumber.detail",example:'"4+3i"',require:1,repeat:0}]},{functionName:fpe.IMTANH,functionType:Fhe.Engineering,description:"formula.functionList.IMTANH.description",abstract:"formula.functionList.IMTANH.abstract",functionParameter:[{name:"formula.functionList.IMTANH.functionParameter.inumber.name",detail:"formula.functionList.IMTANH.functionParameter.inumber.detail",example:'"4+3i"',require:1,repeat:0}]},{functionName:fpe.OCT2BIN,functionType:Fhe.Engineering,description:"formula.functionList.OCT2BIN.description",abstract:"formula.functionList.OCT2BIN.abstract",functionParameter:[{name:"formula.functionList.OCT2BIN.functionParameter.number.name",detail:"formula.functionList.OCT2BIN.functionParameter.number.detail",example:"3",require:1,repeat:0},{name:"formula.functionList.OCT2BIN.functionParameter.places.name",detail:"formula.functionList.OCT2BIN.functionParameter.places.detail",example:"3",require:0,repeat:0}]},{functionName:fpe.OCT2DEC,functionType:Fhe.Engineering,description:"formula.functionList.OCT2DEC.description",abstract:"formula.functionList.OCT2DEC.abstract",functionParameter:[{name:"formula.functionList.OCT2DEC.functionParameter.number.name",detail:"formula.functionList.OCT2DEC.functionParameter.number.detail",example:"54",require:1,repeat:0}]},{functionName:fpe.OCT2HEX,functionType:Fhe.Engineering,description:"formula.functionList.OCT2HEX.description",abstract:"formula.functionList.OCT2HEX.abstract",functionParameter:[{name:"formula.functionList.OCT2HEX.functionParameter.number.name",detail:"formula.functionList.OCT2HEX.functionParameter.number.detail",example:"100",require:1,repeat:0},{name:"formula.functionList.OCT2HEX.functionParameter.places.name",detail:"formula.functionList.OCT2HEX.functionParameter.places.detail",example:"4",require:0,repeat:0}]}],ZMe=[{functionName:gpe.ACCRINT,functionType:Fhe.Financial,description:"formula.functionList.ACCRINT.description",abstract:"formula.functionList.ACCRINT.abstract",functionParameter:[{name:"formula.functionList.ACCRINT.functionParameter.issue.name",detail:"formula.functionList.ACCRINT.functionParameter.issue.detail",example:'"2008-3-1"',require:1,repeat:0},{name:"formula.functionList.ACCRINT.functionParameter.firstInterest.name",detail:"formula.functionList.ACCRINT.functionParameter.firstInterest.detail",example:'"2008-8-31"',require:1,repeat:0},{name:"formula.functionList.ACCRINT.functionParameter.settlement.name",detail:"formula.functionList.ACCRINT.functionParameter.settlement.detail",example:'"2008-5-1"',require:1,repeat:0},{name:"formula.functionList.ACCRINT.functionParameter.rate.name",detail:"formula.functionList.ACCRINT.functionParameter.rate.detail",example:"10%",require:1,repeat:0},{name:"formula.functionList.ACCRINT.functionParameter.par.name",detail:"formula.functionList.ACCRINT.functionParameter.par.detail",example:"1000",require:1,repeat:0},{name:"formula.functionList.ACCRINT.functionParameter.frequency.name",detail:"formula.functionList.ACCRINT.functionParameter.frequency.detail",example:"2",require:1,repeat:0},{name:"formula.functionList.ACCRINT.functionParameter.basis.name",detail:"formula.functionList.ACCRINT.functionParameter.basis.detail",example:"0",require:0,repeat:0},{name:"formula.functionList.ACCRINT.functionParameter.calcMethod.name",detail:"formula.functionList.ACCRINT.functionParameter.calcMethod.detail",example:"true",require:0,repeat:0}]},{functionName:gpe.ACCRINTM,functionType:Fhe.Financial,description:"formula.functionList.ACCRINTM.description",abstract:"formula.functionList.ACCRINTM.abstract",functionParameter:[{name:"formula.functionList.ACCRINTM.functionParameter.issue.name",detail:"formula.functionList.ACCRINTM.functionParameter.issue.detail",example:'"2008-4-1"',require:1,repeat:0},{name:"formula.functionList.ACCRINTM.functionParameter.settlement.name",detail:"formula.functionList.ACCRINTM.functionParameter.settlement.detail",example:'"2008-6-15"',require:1,repeat:0},{name:"formula.functionList.ACCRINTM.functionParameter.rate.name",detail:"formula.functionList.ACCRINTM.functionParameter.rate.detail",example:"10%",require:1,repeat:0},{name:"formula.functionList.ACCRINTM.functionParameter.par.name",detail:"formula.functionList.ACCRINTM.functionParameter.par.detail",example:"1000",require:1,repeat:0},{name:"formula.functionList.ACCRINTM.functionParameter.basis.name",detail:"formula.functionList.ACCRINTM.functionParameter.basis.detail",example:"3",require:0,repeat:0}]},{functionName:gpe.AMORDEGRC,functionType:Fhe.Financial,description:"formula.functionList.AMORDEGRC.description",abstract:"formula.functionList.AMORDEGRC.abstract",functionParameter:[{name:"formula.functionList.AMORDEGRC.functionParameter.number1.name",detail:"formula.functionList.AMORDEGRC.functionParameter.number1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.AMORDEGRC.functionParameter.number2.name",detail:"formula.functionList.AMORDEGRC.functionParameter.number2.detail",example:"A1:A20",require:1,repeat:0}]},{functionName:gpe.AMORLINC,functionType:Fhe.Financial,description:"formula.functionList.AMORLINC.description",abstract:"formula.functionList.AMORLINC.abstract",functionParameter:[{name:"formula.functionList.AMORLINC.functionParameter.cost.name",detail:"formula.functionList.AMORLINC.functionParameter.cost.detail",example:"2400",require:1,repeat:0},{name:"formula.functionList.AMORLINC.functionParameter.datePurchased.name",detail:"formula.functionList.AMORLINC.functionParameter.datePurchased.detail",example:'"2008-8-19"',require:1,repeat:0},{name:"formula.functionList.AMORLINC.functionParameter.firstPeriod.name",detail:"formula.functionList.AMORLINC.functionParameter.firstPeriod.detail",example:'"2008-12-31"',require:1,repeat:0},{name:"formula.functionList.AMORLINC.functionParameter.salvage.name",detail:"formula.functionList.AMORLINC.functionParameter.salvage.detail",example:"300",require:1,repeat:0},{name:"formula.functionList.AMORLINC.functionParameter.period.name",detail:"formula.functionList.AMORLINC.functionParameter.period.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.AMORLINC.functionParameter.rate.name",detail:"formula.functionList.AMORLINC.functionParameter.rate.detail",example:"15%",require:1,repeat:0},{name:"formula.functionList.AMORLINC.functionParameter.basis.name",detail:"formula.functionList.AMORLINC.functionParameter.basis.detail",example:"0",require:0,repeat:0}]},{functionName:gpe.COUPDAYBS,functionType:Fhe.Financial,description:"formula.functionList.COUPDAYBS.description",abstract:"formula.functionList.COUPDAYBS.abstract",functionParameter:[{name:"formula.functionList.COUPDAYBS.functionParameter.settlement.name",detail:"formula.functionList.COUPDAYBS.functionParameter.settlement.detail",example:'"2011-1-25"',require:1,repeat:0},{name:"formula.functionList.COUPDAYBS.functionParameter.maturity.name",detail:"formula.functionList.COUPDAYBS.functionParameter.maturity.detail",example:'"2011-11-15"',require:1,repeat:0},{name:"formula.functionList.COUPDAYBS.functionParameter.frequency.name",detail:"formula.functionList.COUPDAYBS.functionParameter.frequency.detail",example:"2",require:1,repeat:0},{name:"formula.functionList.COUPDAYBS.functionParameter.basis.name",detail:"formula.functionList.COUPDAYBS.functionParameter.basis.detail",example:"1",require:0,repeat:0}]},{functionName:gpe.COUPDAYS,functionType:Fhe.Financial,description:"formula.functionList.COUPDAYS.description",abstract:"formula.functionList.COUPDAYS.abstract",functionParameter:[{name:"formula.functionList.COUPDAYS.functionParameter.settlement.name",detail:"formula.functionList.COUPDAYS.functionParameter.settlement.detail",example:'"2011-1-25"',require:1,repeat:0},{name:"formula.functionList.COUPDAYS.functionParameter.maturity.name",detail:"formula.functionList.COUPDAYS.functionParameter.maturity.detail",example:'"2011-11-15"',require:1,repeat:0},{name:"formula.functionList.COUPDAYS.functionParameter.frequency.name",detail:"formula.functionList.COUPDAYS.functionParameter.frequency.detail",example:"2",require:1,repeat:0},{name:"formula.functionList.COUPDAYS.functionParameter.basis.name",detail:"formula.functionList.COUPDAYS.functionParameter.basis.detail",example:"1",require:0,repeat:0}]},{functionName:gpe.COUPDAYSNC,functionType:Fhe.Financial,description:"formula.functionList.COUPDAYSNC.description",abstract:"formula.functionList.COUPDAYSNC.abstract",functionParameter:[{name:"formula.functionList.COUPDAYSNC.functionParameter.settlement.name",detail:"formula.functionList.COUPDAYSNC.functionParameter.settlement.detail",example:'"2011-1-25"',require:1,repeat:0},{name:"formula.functionList.COUPDAYSNC.functionParameter.maturity.name",detail:"formula.functionList.COUPDAYSNC.functionParameter.maturity.detail",example:'"2011-11-15"',require:1,repeat:0},{name:"formula.functionList.COUPDAYSNC.functionParameter.frequency.name",detail:"formula.functionList.COUPDAYSNC.functionParameter.frequency.detail",example:"2",require:1,repeat:0},{name:"formula.functionList.COUPDAYSNC.functionParameter.basis.name",detail:"formula.functionList.COUPDAYSNC.functionParameter.basis.detail",example:"1",require:0,repeat:0}]},{functionName:gpe.COUPNCD,functionType:Fhe.Financial,description:"formula.functionList.COUPNCD.description",abstract:"formula.functionList.COUPNCD.abstract",functionParameter:[{name:"formula.functionList.COUPNCD.functionParameter.settlement.name",detail:"formula.functionList.COUPNCD.functionParameter.settlement.detail",example:'"2011-1-25"',require:1,repeat:0},{name:"formula.functionList.COUPNCD.functionParameter.maturity.name",detail:"formula.functionList.COUPNCD.functionParameter.maturity.detail",example:'"2011-11-15"',require:1,repeat:0},{name:"formula.functionList.COUPNCD.functionParameter.frequency.name",detail:"formula.functionList.COUPNCD.functionParameter.frequency.detail",example:"2",require:1,repeat:0},{name:"formula.functionList.COUPNCD.functionParameter.basis.name",detail:"formula.functionList.COUPNCD.functionParameter.basis.detail",example:"1",require:0,repeat:0}]},{functionName:gpe.COUPNUM,functionType:Fhe.Financial,description:"formula.functionList.COUPNUM.description",abstract:"formula.functionList.COUPNUM.abstract",functionParameter:[{name:"formula.functionList.COUPNUM.functionParameter.settlement.name",detail:"formula.functionList.COUPNUM.functionParameter.settlement.detail",example:'"2011-1-25"',require:1,repeat:0},{name:"formula.functionList.COUPNUM.functionParameter.maturity.name",detail:"formula.functionList.COUPNUM.functionParameter.maturity.detail",example:'"2011-11-15"',require:1,repeat:0},{name:"formula.functionList.COUPNUM.functionParameter.frequency.name",detail:"formula.functionList.COUPNUM.functionParameter.frequency.detail",example:"2",require:1,repeat:0},{name:"formula.functionList.COUPNUM.functionParameter.basis.name",detail:"formula.functionList.COUPNUM.functionParameter.basis.detail",example:"1",require:0,repeat:0}]},{functionName:gpe.COUPPCD,functionType:Fhe.Financial,description:"formula.functionList.COUPPCD.description",abstract:"formula.functionList.COUPPCD.abstract",functionParameter:[{name:"formula.functionList.COUPPCD.functionParameter.settlement.name",detail:"formula.functionList.COUPPCD.functionParameter.settlement.detail",example:'"2011-1-25"',require:1,repeat:0},{name:"formula.functionList.COUPPCD.functionParameter.maturity.name",detail:"formula.functionList.COUPPCD.functionParameter.maturity.detail",example:'"2011-11-15"',require:1,repeat:0},{name:"formula.functionList.COUPPCD.functionParameter.frequency.name",detail:"formula.functionList.COUPPCD.functionParameter.frequency.detail",example:"2",require:1,repeat:0},{name:"formula.functionList.COUPPCD.functionParameter.basis.name",detail:"formula.functionList.COUPPCD.functionParameter.basis.detail",example:"1",require:0,repeat:0}]},{functionName:gpe.CUMIPMT,functionType:Fhe.Financial,description:"formula.functionList.CUMIPMT.description",abstract:"formula.functionList.CUMIPMT.abstract",functionParameter:[{name:"formula.functionList.CUMIPMT.functionParameter.rate.name",detail:"formula.functionList.CUMIPMT.functionParameter.rate.detail",example:"9%/12",require:1,repeat:0},{name:"formula.functionList.CUMIPMT.functionParameter.nper.name",detail:"formula.functionList.CUMIPMT.functionParameter.nper.detail",example:"30*12",require:1,repeat:0},{name:"formula.functionList.CUMIPMT.functionParameter.pv.name",detail:"formula.functionList.CUMIPMT.functionParameter.pv.detail",example:"125000",require:1,repeat:0},{name:"formula.functionList.CUMIPMT.functionParameter.startPeriod.name",detail:"formula.functionList.CUMIPMT.functionParameter.startPeriod.detail",example:"13",require:1,repeat:0},{name:"formula.functionList.CUMIPMT.functionParameter.endPeriod.name",detail:"formula.functionList.CUMIPMT.functionParameter.endPeriod.detail",example:"24",require:1,repeat:0},{name:"formula.functionList.CUMIPMT.functionParameter.type.name",detail:"formula.functionList.CUMIPMT.functionParameter.type.detail",example:"0",require:1,repeat:0}]},{functionName:gpe.CUMPRINC,functionType:Fhe.Financial,description:"formula.functionList.CUMPRINC.description",abstract:"formula.functionList.CUMPRINC.abstract",functionParameter:[{name:"formula.functionList.CUMPRINC.functionParameter.rate.name",detail:"formula.functionList.CUMPRINC.functionParameter.rate.detail",example:"9%/12",require:1,repeat:0},{name:"formula.functionList.CUMPRINC.functionParameter.nper.name",detail:"formula.functionList.CUMPRINC.functionParameter.nper.detail",example:"30*12",require:1,repeat:0},{name:"formula.functionList.CUMPRINC.functionParameter.pv.name",detail:"formula.functionList.CUMPRINC.functionParameter.pv.detail",example:"125000",require:1,repeat:0},{name:"formula.functionList.CUMPRINC.functionParameter.startPeriod.name",detail:"formula.functionList.CUMPRINC.functionParameter.startPeriod.detail",example:"13",require:1,repeat:0},{name:"formula.functionList.CUMPRINC.functionParameter.endPeriod.name",detail:"formula.functionList.CUMPRINC.functionParameter.endPeriod.detail",example:"24",require:1,repeat:0},{name:"formula.functionList.CUMPRINC.functionParameter.type.name",detail:"formula.functionList.CUMPRINC.functionParameter.type.detail",example:"0",require:1,repeat:0}]},{functionName:gpe.DB,functionType:Fhe.Financial,description:"formula.functionList.DB.description",abstract:"formula.functionList.DB.abstract",functionParameter:[{name:"formula.functionList.DB.functionParameter.cost.name",detail:"formula.functionList.DB.functionParameter.cost.detail",example:"10000000",require:1,repeat:0},{name:"formula.functionList.DB.functionParameter.salvage.name",detail:"formula.functionList.DB.functionParameter.salvage.detail",example:"1000000",require:1,repeat:0},{name:"formula.functionList.DB.functionParameter.life.name",detail:"formula.functionList.DB.functionParameter.life.detail",example:"6",require:1,repeat:0},{name:"formula.functionList.DB.functionParameter.period.name",detail:"formula.functionList.DB.functionParameter.period.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.DB.functionParameter.month.name",detail:"formula.functionList.DB.functionParameter.month.detail",example:"7",require:0,repeat:0}]},{functionName:gpe.DDB,functionType:Fhe.Financial,description:"formula.functionList.DDB.description",abstract:"formula.functionList.DDB.abstract",functionParameter:[{name:"formula.functionList.DDB.functionParameter.cost.name",detail:"formula.functionList.DDB.functionParameter.cost.detail",example:"24000",require:1,repeat:0},{name:"formula.functionList.DDB.functionParameter.salvage.name",detail:"formula.functionList.DDB.functionParameter.salvage.detail",example:"3000",require:1,repeat:0},{name:"formula.functionList.DDB.functionParameter.life.name",detail:"formula.functionList.DDB.functionParameter.life.detail",example:"10",require:1,repeat:0},{name:"formula.functionList.DDB.functionParameter.period.name",detail:"formula.functionList.DDB.functionParameter.period.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.DDB.functionParameter.factor.name",detail:"formula.functionList.DDB.functionParameter.factor.detail",example:"2",require:0,repeat:0}]},{functionName:gpe.DISC,functionType:Fhe.Financial,description:"formula.functionList.DISC.description",abstract:"formula.functionList.DISC.abstract",functionParameter:[{name:"formula.functionList.DISC.functionParameter.settlement.name",detail:"formula.functionList.DISC.functionParameter.settlement.detail",example:'"2018-7-1"',require:1,repeat:0},{name:"formula.functionList.DISC.functionParameter.maturity.name",detail:"formula.functionList.DISC.functionParameter.maturity.detail",example:'"2048-1-1"',require:1,repeat:0},{name:"formula.functionList.DISC.functionParameter.pr.name",detail:"formula.functionList.DISC.functionParameter.pr.detail",example:"97.975",require:1,repeat:0},{name:"formula.functionList.DISC.functionParameter.redemption.name",detail:"formula.functionList.DISC.functionParameter.redemption.detail",example:"100",require:1,repeat:0},{name:"formula.functionList.DISC.functionParameter.basis.name",detail:"formula.functionList.DISC.functionParameter.basis.detail",example:"1",require:0,repeat:0}]},{functionName:gpe.DOLLARDE,functionType:Fhe.Financial,description:"formula.functionList.DOLLARDE.description",abstract:"formula.functionList.DOLLARDE.abstract",functionParameter:[{name:"formula.functionList.DOLLARDE.functionParameter.fractionalDollar.name",detail:"formula.functionList.DOLLARDE.functionParameter.fractionalDollar.detail",example:"1.02",require:1,repeat:0},{name:"formula.functionList.DOLLARDE.functionParameter.fraction.name",detail:"formula.functionList.DOLLARDE.functionParameter.fraction.detail",example:"16",require:1,repeat:0}]},{functionName:gpe.DOLLARFR,functionType:Fhe.Financial,description:"formula.functionList.DOLLARFR.description",abstract:"formula.functionList.DOLLARFR.abstract",functionParameter:[{name:"formula.functionList.DOLLARFR.functionParameter.decimalDollar.name",detail:"formula.functionList.DOLLARFR.functionParameter.decimalDollar.detail",example:"1.125",require:1,repeat:0},{name:"formula.functionList.DOLLARFR.functionParameter.fraction.name",detail:"formula.functionList.DOLLARFR.functionParameter.fraction.detail",example:"16",require:1,repeat:0}]},{functionName:gpe.DURATION,functionType:Fhe.Financial,description:"formula.functionList.DURATION.description",abstract:"formula.functionList.DURATION.abstract",functionParameter:[{name:"formula.functionList.DURATION.functionParameter.settlement.name",detail:"formula.functionList.DURATION.functionParameter.settlement.detail",example:'"2018-7-1"',require:1,repeat:0},{name:"formula.functionList.DURATION.functionParameter.maturity.name",detail:"formula.functionList.DURATION.functionParameter.maturity.detail",example:'"2048-1-1"',require:1,repeat:0},{name:"formula.functionList.DURATION.functionParameter.coupon.name",detail:"formula.functionList.DURATION.functionParameter.coupon.detail",example:"8%",require:1,repeat:0},{name:"formula.functionList.DURATION.functionParameter.yld.name",detail:"formula.functionList.DURATION.functionParameter.yld.detail",example:"9%",require:1,repeat:0},{name:"formula.functionList.DURATION.functionParameter.frequency.name",detail:"formula.functionList.DURATION.functionParameter.frequency.detail",example:"2",require:1,repeat:0},{name:"formula.functionList.DURATION.functionParameter.basis.name",detail:"formula.functionList.DURATION.functionParameter.basis.detail",example:"1",require:0,repeat:0}]},{functionName:gpe.EFFECT,functionType:Fhe.Financial,description:"formula.functionList.EFFECT.description",abstract:"formula.functionList.EFFECT.abstract",functionParameter:[{name:"formula.functionList.EFFECT.functionParameter.nominalRate.name",detail:"formula.functionList.EFFECT.functionParameter.nominalRate.detail",example:"5.25%",require:1,repeat:0},{name:"formula.functionList.EFFECT.functionParameter.npery.name",detail:"formula.functionList.EFFECT.functionParameter.npery.detail",example:"4",require:1,repeat:0}]},{functionName:gpe.FV,functionType:Fhe.Financial,description:"formula.functionList.FV.description",abstract:"formula.functionList.FV.abstract",functionParameter:[{name:"formula.functionList.FV.functionParameter.rate.name",detail:"formula.functionList.FV.functionParameter.rate.detail",example:"6%/12",require:1,repeat:0},{name:"formula.functionList.FV.functionParameter.nper.name",detail:"formula.functionList.FV.functionParameter.nper.detail",example:"10",require:1,repeat:0},{name:"formula.functionList.FV.functionParameter.pmt.name",detail:"formula.functionList.FV.functionParameter.pmt.detail",example:"-200",require:1,repeat:0},{name:"formula.functionList.FV.functionParameter.pv.name",detail:"formula.functionList.FV.functionParameter.pv.detail",example:"-500",require:0,repeat:0},{name:"formula.functionList.FV.functionParameter.type.name",detail:"formula.functionList.FV.functionParameter.type.detail",example:"1",require:0,repeat:0}]},{functionName:gpe.FVSCHEDULE,functionType:Fhe.Financial,description:"formula.functionList.FVSCHEDULE.description",abstract:"formula.functionList.FVSCHEDULE.abstract",functionParameter:[{name:"formula.functionList.FVSCHEDULE.functionParameter.principal.name",detail:"formula.functionList.FVSCHEDULE.functionParameter.principal.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.FVSCHEDULE.functionParameter.schedule.name",detail:"formula.functionList.FVSCHEDULE.functionParameter.schedule.detail",example:"A1:A4",require:1,repeat:0}]},{functionName:gpe.INTRATE,functionType:Fhe.Financial,description:"formula.functionList.INTRATE.description",abstract:"formula.functionList.INTRATE.abstract",functionParameter:[{name:"formula.functionList.INTRATE.functionParameter.settlement.name",detail:"formula.functionList.INTRATE.functionParameter.settlement.detail",example:'"2008-2-15"',require:1,repeat:0},{name:"formula.functionList.INTRATE.functionParameter.maturity.name",detail:"formula.functionList.INTRATE.functionParameter.maturity.detail",example:'"2008-5-15"',require:1,repeat:0},{name:"formula.functionList.INTRATE.functionParameter.investment.name",detail:"formula.functionList.INTRATE.functionParameter.investment.detail",example:"10000000",require:1,repeat:0},{name:"formula.functionList.INTRATE.functionParameter.redemption.name",detail:"formula.functionList.INTRATE.functionParameter.redemption.detail",example:"10144200",require:1,repeat:0},{name:"formula.functionList.INTRATE.functionParameter.basis.name",detail:"formula.functionList.INTRATE.functionParameter.basis.detail",example:"2",require:0,repeat:0}]},{functionName:gpe.IPMT,functionType:Fhe.Financial,description:"formula.functionList.IPMT.description",abstract:"formula.functionList.IPMT.abstract",functionParameter:[{name:"formula.functionList.IPMT.functionParameter.rate.name",detail:"formula.functionList.IPMT.functionParameter.rate.detail",example:"10%/12",require:1,repeat:0},{name:"formula.functionList.IPMT.functionParameter.per.name",detail:"formula.functionList.IPMT.functionParameter.per.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.IPMT.functionParameter.nper.name",detail:"formula.functionList.IPMT.functionParameter.nper.detail",example:"3*12",require:1,repeat:0},{name:"formula.functionList.IPMT.functionParameter.pv.name",detail:"formula.functionList.IPMT.functionParameter.pv.detail",example:"80000",require:1,repeat:0},{name:"formula.functionList.IPMT.functionParameter.fv.name",detail:"formula.functionList.IPMT.functionParameter.fv.detail",example:"0",require:0,repeat:0},{name:"formula.functionList.IPMT.functionParameter.type.name",detail:"formula.functionList.IPMT.functionParameter.type.detail",example:"0",require:0,repeat:0}]},{functionName:gpe.IRR,functionType:Fhe.Financial,description:"formula.functionList.IRR.description",abstract:"formula.functionList.IRR.abstract",functionParameter:[{name:"formula.functionList.IRR.functionParameter.values.name",detail:"formula.functionList.IRR.functionParameter.values.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.IRR.functionParameter.guess.name",detail:"formula.functionList.IRR.functionParameter.guess.detail",example:"0.1",require:0,repeat:0}]},{functionName:gpe.ISPMT,functionType:Fhe.Financial,description:"formula.functionList.ISPMT.description",abstract:"formula.functionList.ISPMT.abstract",functionParameter:[{name:"formula.functionList.ISPMT.functionParameter.rate.name",detail:"formula.functionList.ISPMT.functionParameter.rate.detail",example:"10%",require:1,repeat:0},{name:"formula.functionList.ISPMT.functionParameter.per.name",detail:"formula.functionList.ISPMT.functionParameter.per.detail",example:"2",require:1,repeat:0},{name:"formula.functionList.ISPMT.functionParameter.nper.name",detail:"formula.functionList.ISPMT.functionParameter.nper.detail",example:"5",require:1,repeat:0},{name:"formula.functionList.ISPMT.functionParameter.pv.name",detail:"formula.functionList.ISPMT.functionParameter.pv.detail",example:"1000",require:1,repeat:0}]},{functionName:gpe.MDURATION,functionType:Fhe.Financial,description:"formula.functionList.MDURATION.description",abstract:"formula.functionList.MDURATION.abstract",functionParameter:[{name:"formula.functionList.MDURATION.functionParameter.settlement.name",detail:"formula.functionList.MDURATION.functionParameter.settlement.detail",example:'"2018-7-1"',require:1,repeat:0},{name:"formula.functionList.MDURATION.functionParameter.maturity.name",detail:"formula.functionList.MDURATION.functionParameter.maturity.detail",example:'"2048-1-1"',require:1,repeat:0},{name:"formula.functionList.MDURATION.functionParameter.coupon.name",detail:"formula.functionList.MDURATION.functionParameter.coupon.detail",example:"8%",require:1,repeat:0},{name:"formula.functionList.MDURATION.functionParameter.yld.name",detail:"formula.functionList.MDURATION.functionParameter.yld.detail",example:"9%",require:1,repeat:0},{name:"formula.functionList.MDURATION.functionParameter.frequency.name",detail:"formula.functionList.MDURATION.functionParameter.frequency.detail",example:"2",require:1,repeat:0},{name:"formula.functionList.MDURATION.functionParameter.basis.name",detail:"formula.functionList.MDURATION.functionParameter.basis.detail",example:"1",require:0,repeat:0}]},{functionName:gpe.MIRR,functionType:Fhe.Financial,description:"formula.functionList.MIRR.description",abstract:"formula.functionList.MIRR.abstract",functionParameter:[{name:"formula.functionList.MIRR.functionParameter.values.name",detail:"formula.functionList.MIRR.functionParameter.values.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.MIRR.functionParameter.financeRate.name",detail:"formula.functionList.MIRR.functionParameter.financeRate.detail",example:"10%",require:1,repeat:0},{name:"formula.functionList.MIRR.functionParameter.reinvestRate.name",detail:"formula.functionList.MIRR.functionParameter.reinvestRate.detail",example:"12%",require:1,repeat:0}]},{functionName:gpe.NOMINAL,functionType:Fhe.Financial,description:"formula.functionList.NOMINAL.description",abstract:"formula.functionList.NOMINAL.abstract",functionParameter:[{name:"formula.functionList.NOMINAL.functionParameter.effectRate.name",detail:"formula.functionList.NOMINAL.functionParameter.effectRate.detail",example:"5.3543%",require:1,repeat:0},{name:"formula.functionList.NOMINAL.functionParameter.npery.name",detail:"formula.functionList.NOMINAL.functionParameter.npery.detail",example:"4",require:1,repeat:0}]},{functionName:gpe.NPER,functionType:Fhe.Financial,description:"formula.functionList.NPER.description",abstract:"formula.functionList.NPER.abstract",functionParameter:[{name:"formula.functionList.NPER.functionParameter.rate.name",detail:"formula.functionList.NPER.functionParameter.rate.detail",example:"12%/12",require:1,repeat:0},{name:"formula.functionList.NPER.functionParameter.pmt.name",detail:"formula.functionList.NPER.functionParameter.pmt.detail",example:"-100",require:1,repeat:0},{name:"formula.functionList.NPER.functionParameter.pv.name",detail:"formula.functionList.NPER.functionParameter.pv.detail",example:"-1000",require:1,repeat:0},{name:"formula.functionList.NPER.functionParameter.fv.name",detail:"formula.functionList.NPER.functionParameter.fv.detail",example:"10000",require:0,repeat:0},{name:"formula.functionList.NPER.functionParameter.type.name",detail:"formula.functionList.NPER.functionParameter.type.detail",example:"1",require:0,repeat:0}]},{functionName:gpe.NPV,functionType:Fhe.Financial,description:"formula.functionList.NPV.description",abstract:"formula.functionList.NPV.abstract",functionParameter:[{name:"formula.functionList.NPV.functionParameter.rate.name",detail:"formula.functionList.NPV.functionParameter.rate.detail",example:"10%",require:1,repeat:0},{name:"formula.functionList.NPV.functionParameter.value1.name",detail:"formula.functionList.NPV.functionParameter.value1.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.NPV.functionParameter.value2.name",detail:"formula.functionList.NPV.functionParameter.value2.detail",example:"-9000",require:0,repeat:1}]},{functionName:gpe.ODDFPRICE,functionType:Fhe.Financial,description:"formula.functionList.ODDFPRICE.description",abstract:"formula.functionList.ODDFPRICE.abstract",functionParameter:[{name:"formula.functionList.ODDFPRICE.functionParameter.settlement.name",detail:"formula.functionList.ODDFPRICE.functionParameter.settlement.detail",example:'"2008-11-11"',require:1,repeat:0},{name:"formula.functionList.ODDFPRICE.functionParameter.maturity.name",detail:"formula.functionList.ODDFPRICE.functionParameter.maturity.detail",example:'"2021-3-1"',require:1,repeat:0},{name:"formula.functionList.ODDFPRICE.functionParameter.issue.name",detail:"formula.functionList.ODDFPRICE.functionParameter.issue.detail",example:'"2008-10-15"',require:1,repeat:0},{name:"formula.functionList.ODDFPRICE.functionParameter.firstCoupon.name",detail:"formula.functionList.ODDFPRICE.functionParameter.firstCoupon.detail",example:'"2009-3-1"',require:1,repeat:0},{name:"formula.functionList.ODDFPRICE.functionParameter.rate.name",detail:"formula.functionList.ODDFPRICE.functionParameter.rate.detail",example:"7.85%",require:1,repeat:0},{name:"formula.functionList.ODDFPRICE.functionParameter.yld.name",detail:"formula.functionList.ODDFPRICE.functionParameter.yld.detail",example:"6.25%",require:1,repeat:0},{name:"formula.functionList.ODDFPRICE.functionParameter.redemption.name",detail:"formula.functionList.ODDFPRICE.functionParameter.redemption.detail",example:"100",require:1,repeat:0},{name:"formula.functionList.ODDFPRICE.functionParameter.frequency.name",detail:"formula.functionList.ODDFPRICE.functionParameter.frequency.detail",example:"2",require:1,repeat:0},{name:"formula.functionList.ODDFPRICE.functionParameter.basis.name",detail:"formula.functionList.ODDFPRICE.functionParameter.basis.detail",example:"1",require:0,repeat:0}]},{functionName:gpe.ODDFYIELD,functionType:Fhe.Financial,description:"formula.functionList.ODDFYIELD.description",abstract:"formula.functionList.ODDFYIELD.abstract",functionParameter:[{name:"formula.functionList.ODDFYIELD.functionParameter.settlement.name",detail:"formula.functionList.ODDFYIELD.functionParameter.settlement.detail",example:'"2008-11-11"',require:1,repeat:0},{name:"formula.functionList.ODDFYIELD.functionParameter.maturity.name",detail:"formula.functionList.ODDFYIELD.functionParameter.maturity.detail",example:'"2021-3-1"',require:1,repeat:0},{name:"formula.functionList.ODDFYIELD.functionParameter.issue.name",detail:"formula.functionList.ODDFYIELD.functionParameter.issue.detail",example:'"2008-10-15"',require:1,repeat:0},{name:"formula.functionList.ODDFYIELD.functionParameter.firstCoupon.name",detail:"formula.functionList.ODDFYIELD.functionParameter.firstCoupon.detail",example:'"2009-3-1"',require:1,repeat:0},{name:"formula.functionList.ODDFYIELD.functionParameter.rate.name",detail:"formula.functionList.ODDFYIELD.functionParameter.rate.detail",example:"5.75%",require:1,repeat:0},{name:"formula.functionList.ODDFYIELD.functionParameter.pr.name",detail:"formula.functionList.ODDFYIELD.functionParameter.pr.detail",example:"84.5",require:1,repeat:0},{name:"formula.functionList.ODDFYIELD.functionParameter.redemption.name",detail:"formula.functionList.ODDFYIELD.functionParameter.redemption.detail",example:"100",require:1,repeat:0},{name:"formula.functionList.ODDFYIELD.functionParameter.frequency.name",detail:"formula.functionList.ODDFYIELD.functionParameter.frequency.detail",example:"2",require:1,repeat:0},{name:"formula.functionList.ODDFYIELD.functionParameter.basis.name",detail:"formula.functionList.ODDFYIELD.functionParameter.basis.detail",example:"0",require:0,repeat:0}]},{functionName:gpe.ODDLPRICE,functionType:Fhe.Financial,description:"formula.functionList.ODDLPRICE.description",abstract:"formula.functionList.ODDLPRICE.abstract",functionParameter:[{name:"formula.functionList.ODDLPRICE.functionParameter.settlement.name",detail:"formula.functionList.ODDLPRICE.functionParameter.settlement.detail",example:'"2008-2-7"',require:1,repeat:0},{name:"formula.functionList.ODDLPRICE.functionParameter.maturity.name",detail:"formula.functionList.ODDLPRICE.functionParameter.maturity.detail",example:'"2008-6-15"',require:1,repeat:0},{name:"formula.functionList.ODDLPRICE.functionParameter.lastInterest.name",detail:"formula.functionList.ODDLPRICE.functionParameter.lastInterest.detail",example:'"2007-10-15"',require:1,repeat:0},{name:"formula.functionList.ODDLPRICE.functionParameter.rate.name",detail:"formula.functionList.ODDLPRICE.functionParameter.rate.detail",example:"3.75%",require:1,repeat:0},{name:"formula.functionList.ODDLPRICE.functionParameter.yld.name",detail:"formula.functionList.ODDLPRICE.functionParameter.yld.detail",example:"4.05%",require:1,repeat:0},{name:"formula.functionList.ODDLPRICE.functionParameter.redemption.name",detail:"formula.functionList.ODDLPRICE.functionParameter.redemption.detail",example:"100",require:1,repeat:0},{name:"formula.functionList.ODDLPRICE.functionParameter.frequency.name",detail:"formula.functionList.ODDLPRICE.functionParameter.frequency.detail",example:"2",require:1,repeat:0},{name:"formula.functionList.ODDLPRICE.functionParameter.basis.name",detail:"formula.functionList.ODDLPRICE.functionParameter.basis.detail",example:"0",require:0,repeat:0}]},{functionName:gpe.ODDLYIELD,functionType:Fhe.Financial,description:"formula.functionList.ODDLYIELD.description",abstract:"formula.functionList.ODDLYIELD.abstract",functionParameter:[{name:"formula.functionList.ODDLYIELD.functionParameter.settlement.name",detail:"formula.functionList.ODDLYIELD.functionParameter.settlement.detail",example:'"2008-4-20"',require:1,repeat:0},{name:"formula.functionList.ODDLYIELD.functionParameter.maturity.name",detail:"formula.functionList.ODDLYIELD.functionParameter.maturity.detail",example:'"2008-6-15"',require:1,repeat:0},{name:"formula.functionList.ODDLYIELD.functionParameter.lastInterest.name",detail:"formula.functionList.ODDLYIELD.functionParameter.lastInterest.detail",example:'"2007-12-24"',require:1,repeat:0},{name:"formula.functionList.ODDLYIELD.functionParameter.rate.name",detail:"formula.functionList.ODDLYIELD.functionParameter.rate.detail",example:"3.75%",require:1,repeat:0},{name:"formula.functionList.ODDLYIELD.functionParameter.pr.name",detail:"formula.functionList.ODDLYIELD.functionParameter.pr.detail",example:"99.875",require:1,repeat:0},{name:"formula.functionList.ODDLYIELD.functionParameter.redemption.name",detail:"formula.functionList.ODDLYIELD.functionParameter.redemption.detail",example:"100",require:1,repeat:0},{name:"formula.functionList.ODDLYIELD.functionParameter.frequency.name",detail:"formula.functionList.ODDLYIELD.functionParameter.frequency.detail",example:"2",require:1,repeat:0},{name:"formula.functionList.ODDLYIELD.functionParameter.basis.name",detail:"formula.functionList.ODDLYIELD.functionParameter.basis.detail",example:"0",require:0,repeat:0}]},{functionName:gpe.PDURATION,functionType:Fhe.Financial,description:"formula.functionList.PDURATION.description",abstract:"formula.functionList.PDURATION.abstract",functionParameter:[{name:"formula.functionList.PDURATION.functionParameter.rate.name",detail:"formula.functionList.PDURATION.functionParameter.rate.detail",example:"2.5%",require:1,repeat:0},{name:"formula.functionList.PDURATION.functionParameter.pv.name",detail:"formula.functionList.PDURATION.functionParameter.pv.detail",example:"2000",require:1,repeat:0},{name:"formula.functionList.PDURATION.functionParameter.fv.name",detail:"formula.functionList.PDURATION.functionParameter.fv.detail",example:"2200",require:1,repeat:0}]},{functionName:gpe.PMT,functionType:Fhe.Financial,description:"formula.functionList.PMT.description",abstract:"formula.functionList.PMT.abstract",functionParameter:[{name:"formula.functionList.PMT.functionParameter.rate.name",detail:"formula.functionList.PMT.functionParameter.rate.detail",example:"8%/12",require:1,repeat:0},{name:"formula.functionList.PMT.functionParameter.nper.name",detail:"formula.functionList.PMT.functionParameter.nper.detail",example:"10",require:1,repeat:0},{name:"formula.functionList.PMT.functionParameter.pv.name",detail:"formula.functionList.PMT.functionParameter.pv.detail",example:"10000",require:1,repeat:0},{name:"formula.functionList.PMT.functionParameter.fv.name",detail:"formula.functionList.PMT.functionParameter.fv.detail",example:"0",require:0,repeat:0},{name:"formula.functionList.PMT.functionParameter.type.name",detail:"formula.functionList.PMT.functionParameter.type.detail",example:"0",require:0,repeat:0}]},{functionName:gpe.PPMT,functionType:Fhe.Financial,description:"formula.functionList.PPMT.description",abstract:"formula.functionList.PPMT.abstract",functionParameter:[{name:"formula.functionList.PPMT.functionParameter.rate.name",detail:"formula.functionList.PPMT.functionParameter.rate.detail",example:"10%/12",require:1,repeat:0},{name:"formula.functionList.PPMT.functionParameter.per.name",detail:"formula.functionList.PPMT.functionParameter.per.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.PPMT.functionParameter.nper.name",detail:"formula.functionList.PPMT.functionParameter.nper.detail",example:"3*12",require:1,repeat:0},{name:"formula.functionList.PPMT.functionParameter.pv.name",detail:"formula.functionList.PPMT.functionParameter.pv.detail",example:"80000",require:1,repeat:0},{name:"formula.functionList.PPMT.functionParameter.fv.name",detail:"formula.functionList.PPMT.functionParameter.fv.detail",example:"0",require:0,repeat:0},{name:"formula.functionList.PPMT.functionParameter.type.name",detail:"formula.functionList.PPMT.functionParameter.type.detail",example:"0",require:0,repeat:0}]},{functionName:gpe.PRICE,functionType:Fhe.Financial,description:"formula.functionList.PRICE.description",abstract:"formula.functionList.PRICE.abstract",functionParameter:[{name:"formula.functionList.PRICE.functionParameter.settlement.name",detail:"formula.functionList.PRICE.functionParameter.settlement.detail",example:'"2008-11-11"',require:1,repeat:0},{name:"formula.functionList.PRICE.functionParameter.maturity.name",detail:"formula.functionList.PRICE.functionParameter.maturity.detail",example:'"2021-3-1"',require:1,repeat:0},{name:"formula.functionList.PRICE.functionParameter.rate.name",detail:"formula.functionList.PRICE.functionParameter.rate.detail",example:"7.85%",require:1,repeat:0},{name:"formula.functionList.PRICE.functionParameter.yld.name",detail:"formula.functionList.PRICE.functionParameter.yld.detail",example:"6.25%",require:1,repeat:0},{name:"formula.functionList.PRICE.functionParameter.redemption.name",detail:"formula.functionList.PRICE.functionParameter.redemption.detail",example:"100",require:1,repeat:0},{name:"formula.functionList.PRICE.functionParameter.frequency.name",detail:"formula.functionList.PRICE.functionParameter.frequency.detail",example:"2",require:1,repeat:0},{name:"formula.functionList.PRICE.functionParameter.basis.name",detail:"formula.functionList.PRICE.functionParameter.basis.detail",example:"1",require:0,repeat:0}]},{functionName:gpe.PRICEDISC,functionType:Fhe.Financial,description:"formula.functionList.PRICEDISC.description",abstract:"formula.functionList.PRICEDISC.abstract",functionParameter:[{name:"formula.functionList.PRICEDISC.functionParameter.settlement.name",detail:"formula.functionList.PRICEDISC.functionParameter.settlement.detail",example:'"2008-11-11"',require:1,repeat:0},{name:"formula.functionList.PRICEDISC.functionParameter.maturity.name",detail:"formula.functionList.PRICEDISC.functionParameter.maturity.detail",example:'"2021-3-1"',require:1,repeat:0},{name:"formula.functionList.PRICEDISC.functionParameter.discount.name",detail:"formula.functionList.PRICEDISC.functionParameter.discount.detail",example:"6.25%",require:1,repeat:0},{name:"formula.functionList.PRICEDISC.functionParameter.redemption.name",detail:"formula.functionList.PRICEDISC.functionParameter.redemption.detail",example:"100",require:1,repeat:0},{name:"formula.functionList.PRICEDISC.functionParameter.basis.name",detail:"formula.functionList.PRICEDISC.functionParameter.basis.detail",example:"1",require:0,repeat:0}]},{functionName:gpe.PRICEMAT,functionType:Fhe.Financial,description:"formula.functionList.PRICEMAT.description",abstract:"formula.functionList.PRICEMAT.abstract",functionParameter:[{name:"formula.functionList.PRICEMAT.functionParameter.settlement.name",detail:"formula.functionList.PRICEMAT.functionParameter.settlement.detail",example:'"2008-11-11"',require:1,repeat:0},{name:"formula.functionList.PRICEMAT.functionParameter.maturity.name",detail:"formula.functionList.PRICEMAT.functionParameter.maturity.detail",example:'"2021-3-1"',require:1,repeat:0},{name:"formula.functionList.PRICEMAT.functionParameter.issue.name",detail:"formula.functionList.PRICEMAT.functionParameter.issue.detail",example:'"2008-10-15"',require:1,repeat:0},{name:"formula.functionList.PRICEMAT.functionParameter.rate.name",detail:"formula.functionList.PRICEMAT.functionParameter.rate.detail",example:"7.85%",require:1,repeat:0},{name:"formula.functionList.PRICEMAT.functionParameter.yld.name",detail:"formula.functionList.PRICEMAT.functionParameter.yld.detail",example:"6.25%",require:1,repeat:0},{name:"formula.functionList.PRICEMAT.functionParameter.basis.name",detail:"formula.functionList.PRICEMAT.functionParameter.basis.detail",example:"1",require:0,repeat:0}]},{functionName:gpe.PV,functionType:Fhe.Financial,description:"formula.functionList.PV.description",abstract:"formula.functionList.PV.abstract",functionParameter:[{name:"formula.functionList.PV.functionParameter.rate.name",detail:"formula.functionList.PV.functionParameter.rate.detail",example:"2%",require:1,repeat:0},{name:"formula.functionList.PV.functionParameter.nper.name",detail:"formula.functionList.PV.functionParameter.nper.detail",example:"12",require:1,repeat:0},{name:"formula.functionList.PV.functionParameter.pmt.name",detail:"formula.functionList.PV.functionParameter.pmt.detail",example:"100",require:1,repeat:0},{name:"formula.functionList.PV.functionParameter.fv.name",detail:"formula.functionList.PV.functionParameter.fv.detail",example:"0",require:0,repeat:0},{name:"formula.functionList.PV.functionParameter.type.name",detail:"formula.functionList.PV.functionParameter.type.detail",example:"0",require:0,repeat:0}]},{functionName:gpe.RATE,functionType:Fhe.Financial,description:"formula.functionList.RATE.description",abstract:"formula.functionList.RATE.abstract",functionParameter:[{name:"formula.functionList.RATE.functionParameter.nper.name",detail:"formula.functionList.RATE.functionParameter.nper.detail",example:"4*12",require:1,repeat:0},{name:"formula.functionList.RATE.functionParameter.pmt.name",detail:"formula.functionList.RATE.functionParameter.pmt.detail",example:"-200",require:1,repeat:0},{name:"formula.functionList.RATE.functionParameter.pv.name",detail:"formula.functionList.RATE.functionParameter.pv.detail",example:"8000",require:1,repeat:0},{name:"formula.functionList.RATE.functionParameter.fv.name",detail:"formula.functionList.RATE.functionParameter.fv.detail",example:"0",require:0,repeat:0},{name:"formula.functionList.RATE.functionParameter.type.name",detail:"formula.functionList.RATE.functionParameter.type.detail",example:"0",require:0,repeat:0},{name:"formula.functionList.RATE.functionParameter.guess.name",detail:"formula.functionList.RATE.functionParameter.guess.detail",example:"0.1",require:0,repeat:0}]},{functionName:gpe.RECEIVED,functionType:Fhe.Financial,description:"formula.functionList.RECEIVED.description",abstract:"formula.functionList.RECEIVED.abstract",functionParameter:[{name:"formula.functionList.RECEIVED.functionParameter.settlement.name",detail:"formula.functionList.RECEIVED.functionParameter.settlement.detail",example:'"2008-2-15"',require:1,repeat:0},{name:"formula.functionList.RECEIVED.functionParameter.maturity.name",detail:"formula.functionList.RECEIVED.functionParameter.maturity.detail",example:'"2008-3-15"',require:1,repeat:0},{name:"formula.functionList.RECEIVED.functionParameter.investment.name",detail:"formula.functionList.RECEIVED.functionParameter.investment.detail",example:"10000000",require:1,repeat:0},{name:"formula.functionList.RECEIVED.functionParameter.discount.name",detail:"formula.functionList.RECEIVED.functionParameter.discount.detail",example:"5.75%",require:1,repeat:0},{name:"formula.functionList.RECEIVED.functionParameter.basis.name",detail:"formula.functionList.RECEIVED.functionParameter.basis.detail",example:"2",require:0,repeat:0}]},{functionName:gpe.RRI,functionType:Fhe.Financial,description:"formula.functionList.RRI.description",abstract:"formula.functionList.RRI.abstract",functionParameter:[{name:"formula.functionList.RRI.functionParameter.nper.name",detail:"formula.functionList.RRI.functionParameter.nper.detail",example:"96",require:1,repeat:0},{name:"formula.functionList.RRI.functionParameter.pv.name",detail:"formula.functionList.RRI.functionParameter.pv.detail",example:"10000",require:1,repeat:0},{name:"formula.functionList.RRI.functionParameter.fv.name",detail:"formula.functionList.RRI.functionParameter.fv.detail",example:"11000",require:1,repeat:0}]},{functionName:gpe.SLN,functionType:Fhe.Financial,description:"formula.functionList.SLN.description",abstract:"formula.functionList.SLN.abstract",functionParameter:[{name:"formula.functionList.SLN.functionParameter.cost.name",detail:"formula.functionList.SLN.functionParameter.cost.detail",example:"300000",require:1,repeat:0},{name:"formula.functionList.SLN.functionParameter.salvage.name",detail:"formula.functionList.SLN.functionParameter.salvage.detail",example:"75000",require:1,repeat:0},{name:"formula.functionList.SLN.functionParameter.life.name",detail:"formula.functionList.SLN.functionParameter.life.detail",example:"10",require:1,repeat:0}]},{functionName:gpe.SYD,functionType:Fhe.Financial,description:"formula.functionList.SYD.description",abstract:"formula.functionList.SYD.abstract",functionParameter:[{name:"formula.functionList.SYD.functionParameter.cost.name",detail:"formula.functionList.SYD.functionParameter.cost.detail",example:"300000",require:1,repeat:0},{name:"formula.functionList.SYD.functionParameter.salvage.name",detail:"formula.functionList.SYD.functionParameter.salvage.detail",example:"75000",require:1,repeat:0},{name:"formula.functionList.SYD.functionParameter.life.name",detail:"formula.functionList.SYD.functionParameter.life.detail",example:"10",require:1,repeat:0},{name:"formula.functionList.SYD.functionParameter.per.name",detail:"formula.functionList.SYD.functionParameter.per.detail",example:"10",require:1,repeat:0}]},{functionName:gpe.TBILLEQ,functionType:Fhe.Financial,description:"formula.functionList.TBILLEQ.description",abstract:"formula.functionList.TBILLEQ.abstract",functionParameter:[{name:"formula.functionList.TBILLEQ.functionParameter.settlement.name",detail:"formula.functionList.TBILLEQ.functionParameter.settlement.detail",example:'"2008-3-31"',require:1,repeat:0},{name:"formula.functionList.TBILLEQ.functionParameter.maturity.name",detail:"formula.functionList.TBILLEQ.functionParameter.maturity.detail",example:'"2008-6-1"',require:1,repeat:0},{name:"formula.functionList.TBILLEQ.functionParameter.discount.name",detail:"formula.functionList.TBILLEQ.functionParameter.discount.detail",example:"9.14%",require:1,repeat:0}]},{functionName:gpe.TBILLPRICE,functionType:Fhe.Financial,description:"formula.functionList.TBILLPRICE.description",abstract:"formula.functionList.TBILLPRICE.abstract",functionParameter:[{name:"formula.functionList.TBILLPRICE.functionParameter.settlement.name",detail:"formula.functionList.TBILLPRICE.functionParameter.settlement.detail",example:'"2008-3-31"',require:1,repeat:0},{name:"formula.functionList.TBILLPRICE.functionParameter.maturity.name",detail:"formula.functionList.TBILLPRICE.functionParameter.maturity.detail",example:'"2008-6-1"',require:1,repeat:0},{name:"formula.functionList.TBILLPRICE.functionParameter.discount.name",detail:"formula.functionList.TBILLPRICE.functionParameter.discount.detail",example:"9.14%",require:1,repeat:0}]},{functionName:gpe.TBILLYIELD,functionType:Fhe.Financial,description:"formula.functionList.TBILLYIELD.description",abstract:"formula.functionList.TBILLYIELD.abstract",functionParameter:[{name:"formula.functionList.TBILLYIELD.functionParameter.settlement.name",detail:"formula.functionList.TBILLYIELD.functionParameter.settlement.detail",example:'"2008-3-31"',require:1,repeat:0},{name:"formula.functionList.TBILLYIELD.functionParameter.maturity.name",detail:"formula.functionList.TBILLYIELD.functionParameter.maturity.detail",example:'"2008-6-1"',require:1,repeat:0},{name:"formula.functionList.TBILLYIELD.functionParameter.pr.name",detail:"formula.functionList.TBILLYIELD.functionParameter.pr.detail",example:"98.45",require:1,repeat:0}]},{functionName:gpe.VDB,functionType:Fhe.Financial,description:"formula.functionList.VDB.description",abstract:"formula.functionList.VDB.abstract",functionParameter:[{name:"formula.functionList.VDB.functionParameter.cost.name",detail:"formula.functionList.VDB.functionParameter.cost.detail",example:"2400",require:1,repeat:0},{name:"formula.functionList.VDB.functionParameter.salvage.name",detail:"formula.functionList.VDB.functionParameter.salvage.detail",example:"300",require:1,repeat:0},{name:"formula.functionList.VDB.functionParameter.life.name",detail:"formula.functionList.VDB.functionParameter.life.detail",example:"10",require:1,repeat:0},{name:"formula.functionList.VDB.functionParameter.startPeriod.name",detail:"formula.functionList.VDB.functionParameter.startPeriod.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.VDB.functionParameter.endPeriod.name",detail:"formula.functionList.VDB.functionParameter.endPeriod.detail",example:"2",require:1,repeat:0},{name:"formula.functionList.VDB.functionParameter.factor.name",detail:"formula.functionList.VDB.functionParameter.factor.detail",example:"2",require:0,repeat:0},{name:"formula.functionList.VDB.functionParameter.noSwitch.name",detail:"formula.functionList.VDB.functionParameter.noSwitch.detail",example:"false",require:0,repeat:0}]},{functionName:gpe.XIRR,functionType:Fhe.Financial,description:"formula.functionList.XIRR.description",abstract:"formula.functionList.XIRR.abstract",functionParameter:[{name:"formula.functionList.XIRR.functionParameter.values.name",detail:"formula.functionList.XIRR.functionParameter.values.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.XIRR.functionParameter.dates.name",detail:"formula.functionList.XIRR.functionParameter.dates.detail",example:"B1:B4",require:1,repeat:0},{name:"formula.functionList.XIRR.functionParameter.guess.name",detail:"formula.functionList.XIRR.functionParameter.guess.detail",example:"0.1",require:0,repeat:0}]},{functionName:gpe.XNPV,functionType:Fhe.Financial,description:"formula.functionList.XNPV.description",abstract:"formula.functionList.XNPV.abstract",functionParameter:[{name:"formula.functionList.XNPV.functionParameter.rate.name",detail:"formula.functionList.XNPV.functionParameter.rate.detail",example:"10%",require:1,repeat:0},{name:"formula.functionList.XNPV.functionParameter.values.name",detail:"formula.functionList.XNPV.functionParameter.values.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.XNPV.functionParameter.dates.name",detail:"formula.functionList.XNPV.functionParameter.dates.detail",example:"B1:B4",require:1,repeat:0}]},{functionName:gpe.YIELD,functionType:Fhe.Financial,description:"formula.functionList.YIELD.description",abstract:"formula.functionList.YIELD.abstract",functionParameter:[{name:"formula.functionList.YIELD.functionParameter.settlement.name",detail:"formula.functionList.YIELD.functionParameter.settlement.detail",example:'"2008-11-11"',require:1,repeat:0},{name:"formula.functionList.YIELD.functionParameter.maturity.name",detail:"formula.functionList.YIELD.functionParameter.maturity.detail",example:'"2021-3-1"',require:1,repeat:0},{name:"formula.functionList.YIELD.functionParameter.rate.name",detail:"formula.functionList.YIELD.functionParameter.rate.detail",example:"7.85%",require:1,repeat:0},{name:"formula.functionList.YIELD.functionParameter.pr.name",detail:"formula.functionList.YIELD.functionParameter.pr.detail",example:"98.45",require:1,repeat:0},{name:"formula.functionList.YIELD.functionParameter.redemption.name",detail:"formula.functionList.YIELD.functionParameter.redemption.detail",example:"100",require:1,repeat:0},{name:"formula.functionList.YIELD.functionParameter.frequency.name",detail:"formula.functionList.YIELD.functionParameter.frequency.detail",example:"2",require:1,repeat:0},{name:"formula.functionList.YIELD.functionParameter.basis.name",detail:"formula.functionList.YIELD.functionParameter.basis.detail",example:"1",require:0,repeat:0}]},{functionName:gpe.YIELDDISC,functionType:Fhe.Financial,description:"formula.functionList.YIELDDISC.description",abstract:"formula.functionList.YIELDDISC.abstract",functionParameter:[{name:"formula.functionList.YIELDDISC.functionParameter.settlement.name",detail:"formula.functionList.YIELDDISC.functionParameter.settlement.detail",example:'"2008-11-11"',require:1,repeat:0},{name:"formula.functionList.YIELDDISC.functionParameter.maturity.name",detail:"formula.functionList.YIELDDISC.functionParameter.maturity.detail",example:'"2021-3-1"',require:1,repeat:0},{name:"formula.functionList.YIELDDISC.functionParameter.pr.name",detail:"formula.functionList.YIELDDISC.functionParameter.pr.detail",example:"98.45",require:1,repeat:0},{name:"formula.functionList.YIELDDISC.functionParameter.redemption.name",detail:"formula.functionList.YIELDDISC.functionParameter.redemption.detail",example:"100",require:1,repeat:0},{name:"formula.functionList.YIELDDISC.functionParameter.basis.name",detail:"formula.functionList.YIELDDISC.functionParameter.basis.detail",example:"1",require:0,repeat:0}]},{functionName:gpe.YIELDMAT,functionType:Fhe.Financial,description:"formula.functionList.YIELDMAT.description",abstract:"formula.functionList.YIELDMAT.abstract",functionParameter:[{name:"formula.functionList.YIELDMAT.functionParameter.settlement.name",detail:"formula.functionList.YIELDMAT.functionParameter.settlement.detail",example:'"2008-11-11"',require:1,repeat:0},{name:"formula.functionList.YIELDMAT.functionParameter.maturity.name",detail:"formula.functionList.YIELDMAT.functionParameter.maturity.detail",example:'"2021-3-1"',require:1,repeat:0},{name:"formula.functionList.YIELDMAT.functionParameter.issue.name",detail:"formula.functionList.YIELDMAT.functionParameter.issue.detail",example:'"2008-10-15"',require:1,repeat:0},{name:"formula.functionList.YIELDMAT.functionParameter.rate.name",detail:"formula.functionList.YIELDMAT.functionParameter.rate.detail",example:"7.85%",require:1,repeat:0},{name:"formula.functionList.YIELDMAT.functionParameter.pr.name",detail:"formula.functionList.YIELDMAT.functionParameter.pr.detail",example:"98.45",require:1,repeat:0},{name:"formula.functionList.YIELDMAT.functionParameter.basis.name",detail:"formula.functionList.YIELDMAT.functionParameter.basis.detail",example:"1",require:0,repeat:0}]}],KMe=[{functionName:ppe.CELL,functionType:Fhe.Information,description:"formula.functionList.CELL.description",abstract:"formula.functionList.CELL.abstract",functionParameter:[{name:"formula.functionList.CELL.functionParameter.infoType.name",detail:"formula.functionList.CELL.functionParameter.infoType.detail",example:'"type"',require:1,repeat:0},{name:"formula.functionList.CELL.functionParameter.reference.name",detail:"formula.functionList.CELL.functionParameter.reference.detail",example:"A1",require:1,repeat:0}]},{functionName:ppe.ERROR_TYPE,functionType:Fhe.Information,description:"formula.functionList.ERROR_TYPE.description",abstract:"formula.functionList.ERROR_TYPE.abstract",functionParameter:[{name:"formula.functionList.ERROR_TYPE.functionParameter.errorVal.name",detail:"formula.functionList.ERROR_TYPE.functionParameter.errorVal.detail",example:'"#NULL!"',require:1,repeat:0}]},{functionName:ppe.INFO,functionType:Fhe.Information,description:"formula.functionList.INFO.description",abstract:"formula.functionList.INFO.abstract",functionParameter:[{name:"formula.functionList.INFO.functionParameter.number1.name",detail:"formula.functionList.INFO.functionParameter.number1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.INFO.functionParameter.number2.name",detail:"formula.functionList.INFO.functionParameter.number2.detail",example:"A1:A20",require:1,repeat:0}]},{functionName:ppe.ISBETWEEN,functionType:Fhe.Information,description:"formula.functionList.ISBETWEEN.description",abstract:"formula.functionList.ISBETWEEN.abstract",functionParameter:[{name:"formula.functionList.ISBETWEEN.functionParameter.valueToCompare.name",detail:"formula.functionList.ISBETWEEN.functionParameter.valueToCompare.detail",example:"7.9",require:1,repeat:0},{name:"formula.functionList.ISBETWEEN.functionParameter.lowerValue.name",detail:"formula.functionList.ISBETWEEN.functionParameter.lowerValue.detail",example:"1.2",require:1,repeat:0},{name:"formula.functionList.ISBETWEEN.functionParameter.upperValue.name",detail:"formula.functionList.ISBETWEEN.functionParameter.upperValue.detail",example:"12.45",require:1,repeat:0},{name:"formula.functionList.ISBETWEEN.functionParameter.lowerValueIsInclusive.name",detail:"formula.functionList.ISBETWEEN.functionParameter.lowerValueIsInclusive.detail",example:"true",require:0,repeat:0},{name:"formula.functionList.ISBETWEEN.functionParameter.upperValueIsInclusive.name",detail:"formula.functionList.ISBETWEEN.functionParameter.upperValueIsInclusive.detail",example:"true",require:0,repeat:0}]},{functionName:ppe.ISBLANK,functionType:Fhe.Information,description:"formula.functionList.ISBLANK.description",abstract:"formula.functionList.ISBLANK.abstract",functionParameter:[{name:"formula.functionList.ISBLANK.functionParameter.value.name",detail:"formula.functionList.ISBLANK.functionParameter.value.detail",example:"A1",require:1,repeat:0}]},{functionName:ppe.ISDATE,functionType:Fhe.Information,description:"formula.functionList.ISDATE.description",abstract:"formula.functionList.ISDATE.abstract",functionParameter:[{name:"formula.functionList.ISDATE.functionParameter.value.name",detail:"formula.functionList.ISDATE.functionParameter.value.detail",example:"A1",require:1,repeat:0}]},{functionName:ppe.ISEMAIL,functionType:Fhe.Information,description:"formula.functionList.ISEMAIL.description",abstract:"formula.functionList.ISEMAIL.abstract",functionParameter:[{name:"formula.functionList.ISEMAIL.functionParameter.value.name",detail:"formula.functionList.ISEMAIL.functionParameter.value.detail",example:'"developer@univer.ai"',require:1,repeat:0}]},{functionName:ppe.ISERR,functionType:Fhe.Information,description:"formula.functionList.ISERR.description",abstract:"formula.functionList.ISERR.abstract",functionParameter:[{name:"formula.functionList.ISERR.functionParameter.value.name",detail:"formula.functionList.ISERR.functionParameter.value.detail",example:"A1",require:1,repeat:0}]},{functionName:ppe.ISERROR,functionType:Fhe.Information,description:"formula.functionList.ISERROR.description",abstract:"formula.functionList.ISERROR.abstract",functionParameter:[{name:"formula.functionList.ISERROR.functionParameter.value.name",detail:"formula.functionList.ISERROR.functionParameter.value.detail",example:"A1",require:1,repeat:0}]},{functionName:ppe.ISEVEN,functionType:Fhe.Information,description:"formula.functionList.ISEVEN.description",abstract:"formula.functionList.ISEVEN.abstract",functionParameter:[{name:"formula.functionList.ISEVEN.functionParameter.value.name",detail:"formula.functionList.ISEVEN.functionParameter.value.detail",example:"A1:A20",require:1,repeat:0}]},{functionName:ppe.ISFORMULA,functionType:Fhe.Information,description:"formula.functionList.ISFORMULA.description",abstract:"formula.functionList.ISFORMULA.abstract",functionParameter:[{name:"formula.functionList.ISFORMULA.functionParameter.reference.name",detail:"formula.functionList.ISFORMULA.functionParameter.reference.detail",example:"A1",require:1,repeat:0}]},{functionName:ppe.ISLOGICAL,functionType:Fhe.Information,description:"formula.functionList.ISLOGICAL.description",abstract:"formula.functionList.ISLOGICAL.abstract",functionParameter:[{name:"formula.functionList.ISLOGICAL.functionParameter.value.name",detail:"formula.functionList.ISLOGICAL.functionParameter.value.detail",example:"A1",require:1,repeat:0}]},{functionName:ppe.ISNA,functionType:Fhe.Information,description:"formula.functionList.ISNA.description",abstract:"formula.functionList.ISNA.abstract",functionParameter:[{name:"formula.functionList.ISNA.functionParameter.value.name",detail:"formula.functionList.ISNA.functionParameter.value.detail",example:"A1",require:1,repeat:0}]},{functionName:ppe.ISNONTEXT,functionType:Fhe.Information,description:"formula.functionList.ISNONTEXT.description",abstract:"formula.functionList.ISNONTEXT.abstract",functionParameter:[{name:"formula.functionList.ISNONTEXT.functionParameter.value.name",detail:"formula.functionList.ISNONTEXT.functionParameter.value.detail",example:"A1",require:1,repeat:0}]},{functionName:ppe.ISNUMBER,functionType:Fhe.Information,description:"formula.functionList.ISNUMBER.description",abstract:"formula.functionList.ISNUMBER.abstract",functionParameter:[{name:"formula.functionList.ISNUMBER.functionParameter.value.name",detail:"formula.functionList.ISNUMBER.functionParameter.value.detail",example:"A1",require:1,repeat:0}]},{functionName:ppe.ISODD,functionType:Fhe.Information,description:"formula.functionList.ISODD.description",abstract:"formula.functionList.ISODD.abstract",functionParameter:[{name:"formula.functionList.ISODD.functionParameter.value.name",detail:"formula.functionList.ISODD.functionParameter.value.detail",example:"A1:A20",require:1,repeat:0}]},{functionName:ppe.ISOMITTED,functionType:Fhe.Information,description:"formula.functionList.ISOMITTED.description",abstract:"formula.functionList.ISOMITTED.abstract",functionParameter:[{name:"formula.functionList.ISOMITTED.functionParameter.number1.name",detail:"formula.functionList.ISOMITTED.functionParameter.number1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.ISOMITTED.functionParameter.number2.name",detail:"formula.functionList.ISOMITTED.functionParameter.number2.detail",example:"A1:A20",require:1,repeat:0}]},{functionName:ppe.ISREF,functionType:Fhe.Information,description:"formula.functionList.ISREF.description",abstract:"formula.functionList.ISREF.abstract",functionParameter:[{name:"formula.functionList.ISREF.functionParameter.value.name",detail:"formula.functionList.ISREF.functionParameter.value.detail",example:"A1",require:1,repeat:0}]},{functionName:ppe.ISTEXT,functionType:Fhe.Information,description:"formula.functionList.ISTEXT.description",abstract:"formula.functionList.ISTEXT.abstract",functionParameter:[{name:"formula.functionList.ISTEXT.functionParameter.value.name",detail:"formula.functionList.ISTEXT.functionParameter.value.detail",example:"A1",require:1,repeat:0}]},{functionName:ppe.ISURL,functionType:Fhe.Information,description:"formula.functionList.ISURL.description",abstract:"formula.functionList.ISURL.abstract",functionParameter:[{name:"formula.functionList.ISURL.functionParameter.value.name",detail:"formula.functionList.ISURL.functionParameter.value.detail",example:'"univer.ai"',require:1,repeat:0}]},{functionName:ppe.N,functionType:Fhe.Information,description:"formula.functionList.N.description",abstract:"formula.functionList.N.abstract",functionParameter:[{name:"formula.functionList.N.functionParameter.value.name",detail:"formula.functionList.N.functionParameter.value.detail",example:"7",require:1,repeat:0}]},{functionName:ppe.NA,functionType:Fhe.Information,description:"formula.functionList.NA.description",abstract:"formula.functionList.NA.abstract",functionParameter:[]},{functionName:ppe.SHEET,functionType:Fhe.Information,description:"formula.functionList.SHEET.description",abstract:"formula.functionList.SHEET.abstract",functionParameter:[{name:"formula.functionList.SHEET.functionParameter.value.name",detail:"formula.functionList.SHEET.functionParameter.value.detail",example:"A1",require:1,repeat:0}]},{functionName:ppe.SHEETS,functionType:Fhe.Information,description:"formula.functionList.SHEETS.description",abstract:"formula.functionList.SHEETS.abstract",functionParameter:[]},{functionName:ppe.TYPE,functionType:Fhe.Information,description:"formula.functionList.TYPE.description",abstract:"formula.functionList.TYPE.abstract",functionParameter:[{name:"formula.functionList.TYPE.functionParameter.value.name",detail:"formula.functionList.TYPE.functionParameter.value.detail",example:"A2",require:1,repeat:0}]}],$Me=[{functionName:vpe.AND,functionType:Fhe.Logical,description:"formula.functionList.AND.description",abstract:"formula.functionList.AND.abstract",functionParameter:[{name:"formula.functionList.AND.functionParameter.logical1.name",detail:"formula.functionList.AND.functionParameter.logical1.detail",example:"A1=1",require:1,repeat:0},{name:"formula.functionList.AND.functionParameter.logical2.name",detail:"formula.functionList.AND.functionParameter.logical2.detail",example:"A2=2",require:0,repeat:1}]},{functionName:vpe.BYCOL,functionType:Fhe.Logical,description:"formula.functionList.BYCOL.description",abstract:"formula.functionList.BYCOL.abstract",functionParameter:[{name:"formula.functionList.BYCOL.functionParameter.array.name",detail:"formula.functionList.BYCOL.functionParameter.array.detail",example:"A1:C2",require:1,repeat:0},{name:"formula.functionList.BYCOL.functionParameter.lambda.name",detail:"formula.functionList.BYCOL.functionParameter.lambda.detail",example:"LAMBDA(array, MAX(array))",require:1,repeat:0}]},{functionName:vpe.BYROW,functionType:Fhe.Logical,description:"formula.functionList.BYROW.description",abstract:"formula.functionList.BYROW.abstract",functionParameter:[{name:"formula.functionList.BYROW.functionParameter.array.name",detail:"formula.functionList.BYROW.functionParameter.array.detail",example:"A1:C2",require:1,repeat:0},{name:"formula.functionList.BYROW.functionParameter.lambda.name",detail:"formula.functionList.BYROW.functionParameter.lambda.detail",example:"LAMBDA(array, MAX(array))",require:1,repeat:0}]},{functionName:vpe.FALSE,functionType:Fhe.Logical,description:"formula.functionList.FALSE.description",abstract:"formula.functionList.FALSE.abstract",functionParameter:[]},{functionName:vpe.IF,functionType:Fhe.Logical,description:"formula.functionList.IF.description",abstract:"formula.functionList.IF.abstract",functionParameter:[{name:"formula.functionList.IF.functionParameter.logicalTest.name",detail:"formula.functionList.IF.functionParameter.logicalTest.detail",example:'A2 = "foo"',require:1,repeat:0},{name:"formula.functionList.IF.functionParameter.valueIfTrue.name",detail:"formula.functionList.IF.functionParameter.valueIfTrue.detail",example:'"A2 is foo"',require:1,repeat:0},{name:"formula.functionList.IF.functionParameter.valueIfFalse.name",detail:"formula.functionList.IF.functionParameter.valueIfFalse.detail",example:'"A2 is not foo"',require:0,repeat:0}]},{functionName:vpe.IFERROR,functionType:Fhe.Logical,description:"formula.functionList.IFERROR.description",abstract:"formula.functionList.IFERROR.abstract",functionParameter:[{name:"formula.functionList.IFERROR.functionParameter.value.name",detail:"formula.functionList.IFERROR.functionParameter.value.detail",example:"A2/B2",require:1,repeat:0},{name:"formula.functionList.IFERROR.functionParameter.valueIfError.name",detail:"formula.functionList.IFERROR.functionParameter.valueIfError.detail",example:'"Error in calculation"',require:1,repeat:0}]},{functionName:vpe.IFNA,functionType:Fhe.Logical,description:"formula.functionList.IFNA.description",abstract:"formula.functionList.IFNA.abstract",functionParameter:[{name:"formula.functionList.IFNA.functionParameter.value.name",detail:"formula.functionList.IFNA.functionParameter.value.detail",example:"VLOOKUP(C3,C6:D11,2,FALSE)",require:1,repeat:0},{name:"formula.functionList.IFNA.functionParameter.valueIfNa.name",detail:"formula.functionList.IFNA.functionParameter.valueIfNa.detail",example:'"Not Found"',require:1,repeat:0}]},{functionName:vpe.IFS,functionType:Fhe.Logical,description:"formula.functionList.IFS.description",abstract:"formula.functionList.IFS.abstract",functionParameter:[{name:"formula.functionList.IFS.functionParameter.logicalTest1.name",detail:"formula.functionList.IFS.functionParameter.logicalTest1.detail",example:'A2 = "foo"',require:1,repeat:0},{name:"formula.functionList.IFS.functionParameter.valueIfTrue1.name",detail:"formula.functionList.IFS.functionParameter.valueIfTrue1.detail",example:'"A2 is foo"',require:1,repeat:0},{name:"formula.functionList.IFS.functionParameter.logicalTest2.name",detail:"formula.functionList.IFS.functionParameter.logicalTest2.detail",example:"F2=1",require:0,repeat:1},{name:"formula.functionList.IFS.functionParameter.valueIfTrue2.name",detail:"formula.functionList.IFS.functionParameter.valueIfTrue2.detail",example:"D2",require:0,repeat:1}]},{functionName:vpe.LAMBDA,functionType:Fhe.Logical,description:"formula.functionList.LAMBDA.description",abstract:"formula.functionList.LAMBDA.abstract",functionParameter:[{name:"formula.functionList.LAMBDA.functionParameter.parameter.name",detail:"formula.functionList.LAMBDA.functionParameter.parameter.detail",example:"[x, y, …,]",require:0,repeat:1},{name:"formula.functionList.LAMBDA.functionParameter.calculation.name",detail:"formula.functionList.LAMBDA.functionParameter.calculation.detail",example:"x+y",require:1,repeat:0}]},{functionName:vpe.LET,functionType:Fhe.Logical,description:"formula.functionList.LET.description",abstract:"formula.functionList.LET.abstract",functionParameter:[{name:"formula.functionList.LET.functionParameter.name1.name",detail:"formula.functionList.LET.functionParameter.name1.detail",example:"x",require:1,repeat:0},{name:"formula.functionList.LET.functionParameter.nameValue1.name",detail:"formula.functionList.LET.functionParameter.nameValue1.detail",example:"5",require:1,repeat:0},{name:"formula.functionList.LET.functionParameter.calculationOrName2.name",detail:"formula.functionList.LET.functionParameter.calculationOrName2.detail",example:"y",require:1,repeat:0},{name:"formula.functionList.LET.functionParameter.nameValue2.name",detail:"formula.functionList.LET.functionParameter.nameValue2.detail",example:"6",require:0,repeat:1},{name:"formula.functionList.LET.functionParameter.calculationOrName3.name",detail:"formula.functionList.LET.functionParameter.calculationOrName3.detail",example:"SUM(x,y)",require:0,repeat:1}]},{functionName:vpe.MAKEARRAY,aliasFunctionName:"formula.functionList.MAKEARRAY.aliasFunctionName",functionType:Fhe.Logical,description:"formula.functionList.MAKEARRAY.description",abstract:"formula.functionList.MAKEARRAY.abstract",functionParameter:[{name:"formula.functionList.MAKEARRAY.functionParameter.number1.name",detail:"formula.functionList.MAKEARRAY.functionParameter.number1.detail",example:"8",require:1,repeat:0},{name:"formula.functionList.MAKEARRAY.functionParameter.number2.name",detail:"formula.functionList.MAKEARRAY.functionParameter.number2.detail",example:"7",require:1,repeat:0},{name:"formula.functionList.MAKEARRAY.functionParameter.value3.name",detail:"formula.functionList.MAKEARRAY.functionParameter.value3.detail",example:"LAMBDA(r,c, r*c)",require:1,repeat:0}]},{functionName:vpe.MAP,functionType:Fhe.Logical,description:"formula.functionList.MAP.description",abstract:"formula.functionList.MAP.abstract",functionParameter:[{name:"formula.functionList.MAP.functionParameter.array1.name",detail:"formula.functionList.MAP.functionParameter.array1.detail",example:"D2:D11",require:1,repeat:0},{name:"formula.functionList.MAP.functionParameter.array2.name",detail:"formula.functionList.MAP.functionParameter.array2.detail",example:"E2:E11",require:0,repeat:1},{name:"formula.functionList.MAP.functionParameter.lambda.name",detail:"formula.functionList.MAP.functionParameter.lambda.detail",example:'LAMBDA(s,c,AND(s="Large",c="Red"))',require:1,repeat:0}]},{functionName:vpe.NOT,functionType:Fhe.Logical,description:"formula.functionList.NOT.description",abstract:"formula.functionList.NOT.abstract",functionParameter:[{name:"formula.functionList.NOT.functionParameter.logical.name",detail:"formula.functionList.NOT.functionParameter.logical.detail",example:"A2>100",require:1,repeat:0}]},{functionName:vpe.OR,functionType:Fhe.Logical,description:"formula.functionList.OR.description",abstract:"formula.functionList.OR.abstract",functionParameter:[{name:"formula.functionList.OR.functionParameter.logical1.name",detail:"formula.functionList.OR.functionParameter.logical1.detail",example:"A1=1",require:1,repeat:0},{name:"formula.functionList.OR.functionParameter.logical2.name",detail:"formula.functionList.OR.functionParameter.logical2.detail",example:"A2=2",require:0,repeat:1}]},{functionName:vpe.REDUCE,functionType:Fhe.Logical,description:"formula.functionList.REDUCE.description",abstract:"formula.functionList.REDUCE.abstract",functionParameter:[{name:"formula.functionList.REDUCE.functionParameter.initialValue.name",detail:"formula.functionList.REDUCE.functionParameter.initialValue.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.REDUCE.functionParameter.array.name",detail:"formula.functionList.REDUCE.functionParameter.array.detail",example:"A1:C2",require:1,repeat:0},{name:"formula.functionList.REDUCE.functionParameter.lambda.name",detail:"formula.functionList.REDUCE.functionParameter.lambda.detail",example:"LAMBDA(a,b,a+b^2)",require:1,repeat:0}]},{functionName:vpe.SCAN,functionType:Fhe.Logical,description:"formula.functionList.SCAN.description",abstract:"formula.functionList.SCAN.abstract",functionParameter:[{name:"formula.functionList.SCAN.functionParameter.initialValue.name",detail:"formula.functionList.SCAN.functionParameter.initialValue.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.SCAN.functionParameter.array.name",detail:"formula.functionList.SCAN.functionParameter.array.detail",example:"A1:C2",require:1,repeat:0},{name:"formula.functionList.SCAN.functionParameter.lambda.name",detail:"formula.functionList.SCAN.functionParameter.lambda.detail",example:"LAMBDA(a,b,a+b^2)",require:1,repeat:0}]},{functionName:vpe.SWITCH,functionType:Fhe.Logical,description:"formula.functionList.SWITCH.description",abstract:"formula.functionList.SWITCH.abstract",functionParameter:[{name:"formula.functionList.SWITCH.functionParameter.expression.name",detail:"formula.functionList.SWITCH.functionParameter.expression.detail",example:"WEEKDAY(A2)",require:1,repeat:0},{name:"formula.functionList.SWITCH.functionParameter.value1.name",detail:"formula.functionList.SWITCH.functionParameter.value1.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.SWITCH.functionParameter.result1.name",detail:"formula.functionList.SWITCH.functionParameter.result1.detail",example:'"Sunday"',require:1,repeat:0},{name:"formula.functionList.SWITCH.functionParameter.defaultOrValue2.name",detail:"formula.functionList.SWITCH.functionParameter.defaultOrValue2.detail",example:"2",require:0,repeat:1},{name:"formula.functionList.SWITCH.functionParameter.result2.name",detail:"formula.functionList.SWITCH.functionParameter.result2.detail",example:'"Monday"',require:0,repeat:1}]},{functionName:vpe.TRUE,functionType:Fhe.Logical,description:"formula.functionList.TRUE.description",abstract:"formula.functionList.TRUE.abstract",functionParameter:[]},{functionName:vpe.XOR,functionType:Fhe.Logical,description:"formula.functionList.XOR.description",abstract:"formula.functionList.XOR.abstract",functionParameter:[{name:"formula.functionList.XOR.functionParameter.logical1.name",detail:"formula.functionList.XOR.functionParameter.logical1.detail",example:"3>0",require:1,repeat:0},{name:"formula.functionList.XOR.functionParameter.logical2.name",detail:"formula.functionList.XOR.functionParameter.logical2.detail",example:"2<9",require:0,repeat:1}]}],JMe=[{functionName:bpe.ADDRESS,functionType:Fhe.Lookup,description:"formula.functionList.ADDRESS.description",abstract:"formula.functionList.ADDRESS.abstract",functionParameter:[{name:"formula.functionList.ADDRESS.functionParameter.row_num.name",detail:"formula.functionList.ADDRESS.functionParameter.row_num.detail",example:"2",require:1,repeat:0},{name:"formula.functionList.ADDRESS.functionParameter.column_num.name",detail:"formula.functionList.ADDRESS.functionParameter.column_num.detail",example:"2",require:1,repeat:0},{name:"formula.functionList.ADDRESS.functionParameter.abs_num.name",detail:"formula.functionList.ADDRESS.functionParameter.abs_num.detail",example:"1",require:0,repeat:0},{name:"formula.functionList.ADDRESS.functionParameter.a1.name",detail:"formula.functionList.ADDRESS.functionParameter.a1.detail",example:"TRUE",require:0,repeat:0},{name:"formula.functionList.ADDRESS.functionParameter.sheet_text.name",detail:"formula.functionList.ADDRESS.functionParameter.sheet_text.detail",example:'"Sheet2"',require:0,repeat:0}]},{functionName:bpe.AREAS,functionType:Fhe.Lookup,description:"formula.functionList.AREAS.description",abstract:"formula.functionList.AREAS.abstract",functionParameter:[{name:"formula.functionList.AREAS.functionParameter.reference.name",detail:"formula.functionList.AREAS.functionParameter.reference.detail",example:"A1:A20",require:1,repeat:0}]},{functionName:bpe.CHOOSE,functionType:Fhe.Lookup,description:"formula.functionList.CHOOSE.description",abstract:"formula.functionList.CHOOSE.abstract",functionParameter:[{name:"formula.functionList.CHOOSE.functionParameter.indexNum.name",detail:"formula.functionList.CHOOSE.functionParameter.indexNum.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.CHOOSE.functionParameter.value1.name",detail:"formula.functionList.CHOOSE.functionParameter.value1.detail",example:'"Hello"',require:1,repeat:0},{name:"formula.functionList.CHOOSE.functionParameter.value2.name",detail:"formula.functionList.CHOOSE.functionParameter.value2.detail",example:'"Univer"',require:0,repeat:1}]},{functionName:bpe.CHOOSECOLS,functionType:Fhe.Lookup,description:"formula.functionList.CHOOSECOLS.description",abstract:"formula.functionList.CHOOSECOLS.abstract",functionParameter:[{name:"formula.functionList.CHOOSECOLS.functionParameter.array.name",detail:"formula.functionList.CHOOSECOLS.functionParameter.array.detail",example:"A1:C2",require:1,repeat:0},{name:"formula.functionList.CHOOSECOLS.functionParameter.colNum1.name",detail:"formula.functionList.CHOOSECOLS.functionParameter.colNum1.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.CHOOSECOLS.functionParameter.colNum2.name",detail:"formula.functionList.CHOOSECOLS.functionParameter.colNum2.detail",example:"2",require:0,repeat:1}]},{functionName:bpe.CHOOSEROWS,functionType:Fhe.Lookup,description:"formula.functionList.CHOOSEROWS.description",abstract:"formula.functionList.CHOOSEROWS.abstract",functionParameter:[{name:"formula.functionList.CHOOSEROWS.functionParameter.array.name",detail:"formula.functionList.CHOOSEROWS.functionParameter.array.detail",example:"A1:C2",require:1,repeat:0},{name:"formula.functionList.CHOOSEROWS.functionParameter.rowNum1.name",detail:"formula.functionList.CHOOSEROWS.functionParameter.rowNum1.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.CHOOSEROWS.functionParameter.rowNum2.name",detail:"formula.functionList.CHOOSEROWS.functionParameter.rowNum2.detail",example:"2",require:0,repeat:1}]},{functionName:bpe.COLUMN,functionType:Fhe.Lookup,description:"formula.functionList.COLUMN.description",abstract:"formula.functionList.COLUMN.abstract",functionParameter:[{name:"formula.functionList.COLUMN.functionParameter.reference.name",detail:"formula.functionList.COLUMN.functionParameter.reference.detail",example:"A1:A20",require:0,repeat:0}]},{functionName:bpe.COLUMNS,functionType:Fhe.Lookup,description:"formula.functionList.COLUMNS.description",abstract:"formula.functionList.COLUMNS.abstract",functionParameter:[{name:"formula.functionList.COLUMNS.functionParameter.array.name",detail:"formula.functionList.COLUMNS.functionParameter.array.detail",example:"A1:A20",require:1,repeat:0}]},{functionName:bpe.DROP,functionType:Fhe.Lookup,description:"formula.functionList.DROP.description",abstract:"formula.functionList.DROP.abstract",functionParameter:[{name:"formula.functionList.DROP.functionParameter.array.name",detail:"formula.functionList.DROP.functionParameter.array.detail",example:"A2:C4",require:1,repeat:0},{name:"formula.functionList.DROP.functionParameter.rows.name",detail:"formula.functionList.DROP.functionParameter.rows.detail",example:"2",require:1,repeat:0},{name:"formula.functionList.DROP.functionParameter.columns.name",detail:"formula.functionList.DROP.functionParameter.columns.detail",example:"2",require:0,repeat:0}]},{functionName:bpe.EXPAND,functionType:Fhe.Lookup,description:"formula.functionList.EXPAND.description",abstract:"formula.functionList.EXPAND.abstract",functionParameter:[{name:"formula.functionList.EXPAND.functionParameter.array.name",detail:"formula.functionList.EXPAND.functionParameter.array.detail",example:"A2",require:1,repeat:0},{name:"formula.functionList.EXPAND.functionParameter.rows.name",detail:"formula.functionList.EXPAND.functionParameter.rows.detail",example:"3",require:1,repeat:0},{name:"formula.functionList.EXPAND.functionParameter.columns.name",detail:"formula.functionList.EXPAND.functionParameter.columns.detail",example:"3",require:0,repeat:0},{name:"formula.functionList.EXPAND.functionParameter.padWith.name",detail:"formula.functionList.EXPAND.functionParameter.padWith.detail",example:'"-"',require:0,repeat:0}]},{functionName:bpe.FILTER,functionType:Fhe.Lookup,description:"formula.functionList.FILTER.description",abstract:"formula.functionList.FILTER.abstract",functionParameter:[{name:"formula.functionList.FILTER.functionParameter.array.name",detail:"formula.functionList.FILTER.functionParameter.array.detail",example:"A5:D20",require:1,repeat:0},{name:"formula.functionList.FILTER.functionParameter.include.name",detail:"formula.functionList.FILTER.functionParameter.include.detail",example:'(C5:C20="Apple")*(A5:A20="East")',require:1,repeat:0},{name:"formula.functionList.FILTER.functionParameter.ifEmpty.name",detail:"formula.functionList.FILTER.functionParameter.ifEmpty.detail",example:'""',require:0,repeat:0}]},{functionName:bpe.FORMULATEXT,functionType:Fhe.Lookup,description:"formula.functionList.FORMULATEXT.description",abstract:"formula.functionList.FORMULATEXT.abstract",functionParameter:[{name:"formula.functionList.FORMULATEXT.functionParameter.reference.name",detail:"formula.functionList.FORMULATEXT.functionParameter.reference.detail",example:"A1:A20",require:1,repeat:0}]},{functionName:bpe.GETPIVOTDATA,functionType:Fhe.Lookup,description:"formula.functionList.GETPIVOTDATA.description",abstract:"formula.functionList.GETPIVOTDATA.abstract",functionParameter:[{name:"formula.functionList.GETPIVOTDATA.functionParameter.number1.name",detail:"formula.functionList.GETPIVOTDATA.functionParameter.number1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.GETPIVOTDATA.functionParameter.number2.name",detail:"formula.functionList.GETPIVOTDATA.functionParameter.number2.detail",example:"A1:A20",require:1,repeat:0}]},{functionName:bpe.HLOOKUP,functionType:Fhe.Lookup,description:"formula.functionList.HLOOKUP.description",abstract:"formula.functionList.HLOOKUP.abstract",functionParameter:[{name:"formula.functionList.HLOOKUP.functionParameter.lookupValue.name",detail:"formula.functionList.HLOOKUP.functionParameter.lookupValue.detail",example:"A1",require:1,repeat:0},{name:"formula.functionList.HLOOKUP.functionParameter.tableArray.name",detail:"formula.functionList.HLOOKUP.functionParameter.tableArray.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.HLOOKUP.functionParameter.rowIndexNum.name",detail:"formula.functionList.HLOOKUP.functionParameter.rowIndexNum.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.HLOOKUP.functionParameter.rangeLookup.name",detail:"formula.functionList.HLOOKUP.functionParameter.rangeLookup.detail",example:"false",require:0,repeat:0}]},{functionName:bpe.HSTACK,functionType:Fhe.Lookup,description:"formula.functionList.HSTACK.description",abstract:"formula.functionList.HSTACK.abstract",functionParameter:[{name:"formula.functionList.HSTACK.functionParameter.array1.name",detail:"formula.functionList.HSTACK.functionParameter.array1.detail",example:"A2:C3",require:1,repeat:0},{name:"formula.functionList.HSTACK.functionParameter.array2.name",detail:"formula.functionList.HSTACK.functionParameter.array2.detail",example:"E2:G3",require:0,repeat:1}]},{functionName:bpe.HYPERLINK,functionType:Fhe.Lookup,description:"formula.functionList.HYPERLINK.description",abstract:"formula.functionList.HYPERLINK.abstract",functionParameter:[{name:"formula.functionList.HYPERLINK.functionParameter.url.name",detail:"formula.functionList.HYPERLINK.functionParameter.url.detail",example:'"https://univer.ai/"',require:1,repeat:0},{name:"formula.functionList.HYPERLINK.functionParameter.linkLabel.name",detail:"formula.functionList.HYPERLINK.functionParameter.linkLabel.detail",example:'"Univer"',require:0,repeat:0}]},{functionName:bpe.IMAGE,functionType:Fhe.Lookup,description:"formula.functionList.IMAGE.description",abstract:"formula.functionList.IMAGE.abstract",functionParameter:[{name:"formula.functionList.IMAGE.functionParameter.source.name",detail:"formula.functionList.IMAGE.functionParameter.source.detail",example:'"https://github.com/dream-num.png"',require:1,repeat:0},{name:"formula.functionList.IMAGE.functionParameter.altText.name",detail:"formula.functionList.IMAGE.functionParameter.altText.detail",example:'"Univer Logo"',require:0,repeat:0},{name:"formula.functionList.IMAGE.functionParameter.sizing.name",detail:"formula.functionList.IMAGE.functionParameter.sizing.detail",example:"3",require:0,repeat:0},{name:"formula.functionList.IMAGE.functionParameter.height.name",detail:"formula.functionList.IMAGE.functionParameter.height.detail",example:"100",require:0,repeat:0},{name:"formula.functionList.IMAGE.functionParameter.width.name",detail:"formula.functionList.IMAGE.functionParameter.width.detail",example:"100",require:0,repeat:0}]},{functionName:bpe.INDEX,functionType:Fhe.Lookup,description:"formula.functionList.INDEX.description",abstract:"formula.functionList.INDEX.abstract",functionParameter:[{name:"formula.functionList.INDEX.functionParameter.reference.name",detail:"formula.functionList.INDEX.functionParameter.reference.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.INDEX.functionParameter.rowNum.name",detail:"formula.functionList.INDEX.functionParameter.rowNum.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.INDEX.functionParameter.columnNum.name",detail:"formula.functionList.INDEX.functionParameter.columnNum.detail",example:"1",require:0,repeat:0},{name:"formula.functionList.INDEX.functionParameter.areaNum.name",detail:"formula.functionList.INDEX.functionParameter.areaNum.detail",example:"2",require:0,repeat:0}]},{functionName:bpe.INDIRECT,functionType:Fhe.Lookup,description:"formula.functionList.INDIRECT.description",abstract:"formula.functionList.INDIRECT.abstract",functionParameter:[{name:"formula.functionList.INDIRECT.functionParameter.refText.name",detail:"formula.functionList.INDIRECT.functionParameter.refText.detail",example:'"A1"',require:1,repeat:0},{name:"formula.functionList.INDIRECT.functionParameter.a1.name",detail:"formula.functionList.INDIRECT.functionParameter.a1.detail",example:"TRUE",require:0,repeat:0}]},{functionName:bpe.LOOKUP,functionType:Fhe.Lookup,description:"formula.functionList.LOOKUP.description",abstract:"formula.functionList.LOOKUP.abstract",functionParameter:[{name:"formula.functionList.LOOKUP.functionParameter.lookupValue.name",detail:"formula.functionList.LOOKUP.functionParameter.lookupValue.detail",example:"A1",require:1,repeat:0},{name:"formula.functionList.LOOKUP.functionParameter.lookupVectorOrArray.name",detail:"formula.functionList.LOOKUP.functionParameter.lookupVectorOrArray.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.LOOKUP.functionParameter.resultVector.name",detail:"formula.functionList.LOOKUP.functionParameter.resultVector.detail",example:"A1:A20",require:0,repeat:0}]},{functionName:bpe.MATCH,functionType:Fhe.Lookup,description:"formula.functionList.MATCH.description",abstract:"formula.functionList.MATCH.abstract",functionParameter:[{name:"formula.functionList.MATCH.functionParameter.lookupValue.name",detail:"formula.functionList.MATCH.functionParameter.lookupValue.detail",example:"10",require:1,repeat:0},{name:"formula.functionList.MATCH.functionParameter.lookupArray.name",detail:"formula.functionList.MATCH.functionParameter.lookupArray.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.MATCH.functionParameter.matchType.name",detail:"formula.functionList.MATCH.functionParameter.matchType.detail",example:"1",require:0,repeat:0}]},{functionName:bpe.OFFSET,functionType:Fhe.Lookup,description:"formula.functionList.OFFSET.description",abstract:"formula.functionList.OFFSET.abstract",functionParameter:[{name:"formula.functionList.OFFSET.functionParameter.reference.name",detail:"formula.functionList.OFFSET.functionParameter.reference.detail",example:"A1",require:1,repeat:0},{name:"formula.functionList.OFFSET.functionParameter.rows.name",detail:"formula.functionList.OFFSET.functionParameter.rows.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.OFFSET.functionParameter.cols.name",detail:"formula.functionList.OFFSET.functionParameter.cols.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.OFFSET.functionParameter.height.name",detail:"formula.functionList.OFFSET.functionParameter.height.detail",example:"1",require:0,repeat:0},{name:"formula.functionList.OFFSET.functionParameter.width.name",detail:"formula.functionList.OFFSET.functionParameter.width.detail",example:"1",require:0,repeat:0}]},{functionName:bpe.ROW,functionType:Fhe.Lookup,description:"formula.functionList.ROW.description",abstract:"formula.functionList.ROW.abstract",functionParameter:[{name:"formula.functionList.ROW.functionParameter.reference.name",detail:"formula.functionList.ROW.functionParameter.reference.detail",example:"A1",require:0,repeat:0}]},{functionName:bpe.ROWS,functionType:Fhe.Lookup,description:"formula.functionList.ROWS.description",abstract:"formula.functionList.ROWS.abstract",functionParameter:[{name:"formula.functionList.ROWS.functionParameter.array.name",detail:"formula.functionList.ROWS.functionParameter.array.detail",example:"A1:A20",require:1,repeat:0}]},{functionName:bpe.RTD,functionType:Fhe.Lookup,description:"formula.functionList.RTD.description",abstract:"formula.functionList.RTD.abstract",functionParameter:[{name:"formula.functionList.RTD.functionParameter.number1.name",detail:"formula.functionList.RTD.functionParameter.number1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.RTD.functionParameter.number2.name",detail:"formula.functionList.RTD.functionParameter.number2.detail",example:"A1:A20",require:1,repeat:0}]},{functionName:bpe.SORT,functionType:Fhe.Lookup,description:"formula.functionList.SORT.description",abstract:"formula.functionList.SORT.abstract",functionParameter:[{name:"formula.functionList.SORT.functionParameter.array.name",detail:"formula.functionList.SORT.functionParameter.array.detail",example:"A2:A17",require:1,repeat:0},{name:"formula.functionList.SORT.functionParameter.sortIndex.name",detail:"formula.functionList.SORT.functionParameter.sortIndex.detail",example:"1",require:0,repeat:0},{name:"formula.functionList.SORT.functionParameter.sortOrder.name",detail:"formula.functionList.SORT.functionParameter.sortOrder.detail",example:"1",require:0,repeat:0},{name:"formula.functionList.SORT.functionParameter.byCol.name",detail:"formula.functionList.SORT.functionParameter.byCol.detail",example:"false",require:0,repeat:0}]},{functionName:bpe.SORTBY,functionType:Fhe.Lookup,description:"formula.functionList.SORTBY.description",abstract:"formula.functionList.SORTBY.abstract",functionParameter:[{name:"formula.functionList.SORTBY.functionParameter.array.name",detail:"formula.functionList.SORTBY.functionParameter.array.detail",example:"D2:D9",require:1,repeat:0},{name:"formula.functionList.SORTBY.functionParameter.byArray1.name",detail:"formula.functionList.SORTBY.functionParameter.byArray1.detail",example:"E2:E9",require:1,repeat:0},{name:"formula.functionList.SORTBY.functionParameter.sortOrder1.name",detail:"formula.functionList.SORTBY.functionParameter.sortOrder1.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.SORTBY.functionParameter.byArray2.name",detail:"formula.functionList.SORTBY.functionParameter.byArray2.detail",example:"E2:E9",require:0,repeat:1},{name:"formula.functionList.SORTBY.functionParameter.sortOrder2.name",detail:"formula.functionList.SORTBY.functionParameter.sortOrder2.detail",example:"1",require:0,repeat:1}]},{functionName:bpe.TAKE,functionType:Fhe.Lookup,description:"formula.functionList.TAKE.description",abstract:"formula.functionList.TAKE.abstract",functionParameter:[{name:"formula.functionList.TAKE.functionParameter.array.name",detail:"formula.functionList.TAKE.functionParameter.array.detail",example:"A2:C4",require:1,repeat:0},{name:"formula.functionList.TAKE.functionParameter.rows.name",detail:"formula.functionList.TAKE.functionParameter.rows.detail",example:"2",require:1,repeat:0},{name:"formula.functionList.TAKE.functionParameter.columns.name",detail:"formula.functionList.TAKE.functionParameter.columns.detail",example:"2",require:0,repeat:0}]},{functionName:bpe.TOCOL,functionType:Fhe.Lookup,description:"formula.functionList.TOCOL.description",abstract:"formula.functionList.TOCOL.abstract",functionParameter:[{name:"formula.functionList.TOCOL.functionParameter.array.name",detail:"formula.functionList.TOCOL.functionParameter.array.detail",example:"A2:D4",require:1,repeat:0},{name:"formula.functionList.TOCOL.functionParameter.ignore.name",detail:"formula.functionList.TOCOL.functionParameter.ignore.detail",example:"1",require:0,repeat:0},{name:"formula.functionList.TOCOL.functionParameter.scanByColumn.name",detail:"formula.functionList.TOCOL.functionParameter.scanByColumn.detail",example:"TRUE",require:0,repeat:0}]},{functionName:bpe.TOROW,functionType:Fhe.Lookup,description:"formula.functionList.TOROW.description",abstract:"formula.functionList.TOROW.abstract",functionParameter:[{name:"formula.functionList.TOROW.functionParameter.array.name",detail:"formula.functionList.TOROW.functionParameter.array.detail",example:"A2:D4",require:1,repeat:0},{name:"formula.functionList.TOROW.functionParameter.ignore.name",detail:"formula.functionList.TOROW.functionParameter.ignore.detail",example:"1",require:0,repeat:0},{name:"formula.functionList.TOROW.functionParameter.scanByColumn.name",detail:"formula.functionList.TOROW.functionParameter.scanByColumn.detail",example:"TRUE",require:0,repeat:0}]},{functionName:bpe.TRANSPOSE,functionType:Fhe.Lookup,description:"formula.functionList.TRANSPOSE.description",abstract:"formula.functionList.TRANSPOSE.abstract",functionParameter:[{name:"formula.functionList.TRANSPOSE.functionParameter.array.name",detail:"formula.functionList.TRANSPOSE.functionParameter.array.detail",example:"A2:F9",require:1,repeat:0}]},{functionName:bpe.UNIQUE,functionType:Fhe.Lookup,description:"formula.functionList.UNIQUE.description",abstract:"formula.functionList.UNIQUE.abstract",functionParameter:[{name:"formula.functionList.UNIQUE.functionParameter.array.name",detail:"formula.functionList.UNIQUE.functionParameter.array.detail",example:"A2:A12",require:1,repeat:0},{name:"formula.functionList.UNIQUE.functionParameter.byCol.name",detail:"formula.functionList.UNIQUE.functionParameter.byCol.detail",example:"false",require:0,repeat:0},{name:"formula.functionList.UNIQUE.functionParameter.exactlyOnce.name",detail:"formula.functionList.UNIQUE.functionParameter.exactlyOnce.detail",example:"false",require:0,repeat:0}]},{functionName:bpe.VLOOKUP,functionType:Fhe.Lookup,description:"formula.functionList.VLOOKUP.description",abstract:"formula.functionList.VLOOKUP.abstract",functionParameter:[{name:"formula.functionList.VLOOKUP.functionParameter.lookupValue.name",detail:"formula.functionList.VLOOKUP.functionParameter.lookupValue.detail",example:"B2",require:1,repeat:0},{name:"formula.functionList.VLOOKUP.functionParameter.tableArray.name",detail:"formula.functionList.VLOOKUP.functionParameter.tableArray.detail",example:"C2:E7",require:1,repeat:0},{name:"formula.functionList.VLOOKUP.functionParameter.colIndexNum.name",detail:"formula.functionList.VLOOKUP.functionParameter.colIndexNum.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.VLOOKUP.functionParameter.rangeLookup.name",detail:"formula.functionList.VLOOKUP.functionParameter.rangeLookup.detail",example:"TRUE",require:0,repeat:0}]},{functionName:bpe.VSTACK,functionType:Fhe.Lookup,description:"formula.functionList.VSTACK.description",abstract:"formula.functionList.VSTACK.abstract",functionParameter:[{name:"formula.functionList.VSTACK.functionParameter.array1.name",detail:"formula.functionList.VSTACK.functionParameter.array1.detail",example:"A2:C3",require:1,repeat:0},{name:"formula.functionList.VSTACK.functionParameter.array2.name",detail:"formula.functionList.VSTACK.functionParameter.array2.detail",example:"E2:G3",require:0,repeat:1}]},{functionName:bpe.WRAPCOLS,functionType:Fhe.Lookup,description:"formula.functionList.WRAPCOLS.description",abstract:"formula.functionList.WRAPCOLS.abstract",functionParameter:[{name:"formula.functionList.WRAPCOLS.functionParameter.vector.name",detail:"formula.functionList.WRAPCOLS.functionParameter.vector.detail",example:"A2:G2",require:1,repeat:0},{name:"formula.functionList.WRAPCOLS.functionParameter.wrapCount.name",detail:"formula.functionList.WRAPCOLS.functionParameter.wrapCount.detail",example:"3",require:1,repeat:0},{name:"formula.functionList.WRAPCOLS.functionParameter.padWith.name",detail:"formula.functionList.WRAPCOLS.functionParameter.padWith.detail",example:'"x"',require:0,repeat:0}]},{functionName:bpe.WRAPROWS,functionType:Fhe.Lookup,description:"formula.functionList.WRAPROWS.description",abstract:"formula.functionList.WRAPROWS.abstract",functionParameter:[{name:"formula.functionList.WRAPROWS.functionParameter.vector.name",detail:"formula.functionList.WRAPROWS.functionParameter.vector.detail",example:"A2:G2",require:1,repeat:0},{name:"formula.functionList.WRAPROWS.functionParameter.wrapCount.name",detail:"formula.functionList.WRAPROWS.functionParameter.wrapCount.detail",example:"3",require:1,repeat:0},{name:"formula.functionList.WRAPROWS.functionParameter.padWith.name",detail:"formula.functionList.WRAPROWS.functionParameter.padWith.detail",example:'"x"',require:0,repeat:0}]},{functionName:bpe.XLOOKUP,functionType:Fhe.Lookup,description:"formula.functionList.XLOOKUP.description",abstract:"formula.functionList.XLOOKUP.abstract",functionParameter:[{name:"formula.functionList.XLOOKUP.functionParameter.lookupValue.name",detail:"formula.functionList.XLOOKUP.functionParameter.lookupValue.detail",example:"A1",require:1,repeat:0},{name:"formula.functionList.XLOOKUP.functionParameter.lookupArray.name",detail:"formula.functionList.XLOOKUP.functionParameter.lookupArray.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.XLOOKUP.functionParameter.returnArray.name",detail:"formula.functionList.XLOOKUP.functionParameter.returnArray.detail",example:"B1:B20",require:1,repeat:0},{name:"formula.functionList.XLOOKUP.functionParameter.ifNotFound.name",detail:"formula.functionList.XLOOKUP.functionParameter.ifNotFound.detail",example:"default",require:0,repeat:0},{name:"formula.functionList.XLOOKUP.functionParameter.matchMode.name",detail:"formula.functionList.XLOOKUP.functionParameter.matchMode.detail",example:"0",require:0,repeat:0},{name:"formula.functionList.XLOOKUP.functionParameter.searchMode.name",detail:"formula.functionList.XLOOKUP.functionParameter.searchMode.detail",example:"1",require:0,repeat:0}]},{functionName:bpe.XMATCH,functionType:Fhe.Lookup,description:"formula.functionList.XMATCH.description",abstract:"formula.functionList.XMATCH.abstract",functionParameter:[{name:"formula.functionList.XMATCH.functionParameter.lookupValue.name",detail:"formula.functionList.XMATCH.functionParameter.lookupValue.detail",example:"B1",require:1,repeat:0},{name:"formula.functionList.XMATCH.functionParameter.lookupArray.name",detail:"formula.functionList.XMATCH.functionParameter.lookupArray.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.XMATCH.functionParameter.matchMode.name",detail:"formula.functionList.XMATCH.functionParameter.matchMode.detail",example:"0",require:0,repeat:0},{name:"formula.functionList.XMATCH.functionParameter.searchMode.name",detail:"formula.functionList.XMATCH.functionParameter.searchMode.detail",example:"1",require:0,repeat:0}]}],eOe=[...ZMe,...YMe,{functionName:Cpe.ABS,functionType:Fhe.Math,description:"formula.functionList.ABS.description",abstract:"formula.functionList.ABS.abstract",functionParameter:[{name:"formula.functionList.ABS.functionParameter.number.name",detail:"formula.functionList.ABS.functionParameter.number.detail",example:"-2",require:1,repeat:0}]},{functionName:Cpe.ACOS,functionType:Fhe.Math,description:"formula.functionList.ACOS.description",abstract:"formula.functionList.ACOS.abstract",functionParameter:[{name:"formula.functionList.ACOS.functionParameter.number.name",detail:"formula.functionList.ACOS.functionParameter.number.detail",example:"0",require:1,repeat:0}]},{functionName:Cpe.ACOSH,functionType:Fhe.Math,description:"formula.functionList.ACOSH.description",abstract:"formula.functionList.ACOSH.abstract",functionParameter:[{name:"formula.functionList.ACOSH.functionParameter.number.name",detail:"formula.functionList.ACOSH.functionParameter.number.detail",example:"2",require:1,repeat:0}]},{functionName:Cpe.ACOT,functionType:Fhe.Math,description:"formula.functionList.ACOT.description",abstract:"formula.functionList.ACOT.abstract",functionParameter:[{name:"formula.functionList.ACOT.functionParameter.number.name",detail:"formula.functionList.ACOT.functionParameter.number.detail",example:"0",require:1,repeat:0}]},{functionName:Cpe.ACOTH,functionType:Fhe.Math,description:"formula.functionList.ACOTH.description",abstract:"formula.functionList.ACOTH.abstract",functionParameter:[{name:"formula.functionList.ACOTH.functionParameter.number.name",detail:"formula.functionList.ACOTH.functionParameter.number.detail",example:"6",require:1,repeat:0}]},{functionName:Cpe.AGGREGATE,functionType:Fhe.Math,description:"formula.functionList.AGGREGATE.description",abstract:"formula.functionList.AGGREGATE.abstract",functionParameter:[{name:"formula.functionList.AGGREGATE.functionParameter.functionNum.name",detail:"formula.functionList.AGGREGATE.functionParameter.functionNum.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.AGGREGATE.functionParameter.options.name",detail:"formula.functionList.AGGREGATE.functionParameter.options.detail",example:"6",require:1,repeat:0},{name:"formula.functionList.AGGREGATE.functionParameter.ref1.name",detail:"formula.functionList.AGGREGATE.functionParameter.ref1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.AGGREGATE.functionParameter.ref2.name",detail:"formula.functionList.AGGREGATE.functionParameter.ref2.detail",example:"B1:B20",require:0,repeat:1}]},{functionName:Cpe.ARABIC,functionType:Fhe.Math,description:"formula.functionList.ARABIC.description",abstract:"formula.functionList.ARABIC.abstract",functionParameter:[{name:"formula.functionList.ARABIC.functionParameter.text.name",detail:"formula.functionList.ARABIC.functionParameter.text.detail",example:'"LVII"',require:1,repeat:0}]},{functionName:Cpe.ASIN,functionType:Fhe.Math,description:"formula.functionList.ASIN.description",abstract:"formula.functionList.ASIN.abstract",functionParameter:[{name:"formula.functionList.ASIN.functionParameter.number.name",detail:"formula.functionList.ASIN.functionParameter.number.detail",example:"0",require:1,repeat:0}]},{functionName:Cpe.ASINH,functionType:Fhe.Math,description:"formula.functionList.ASINH.description",abstract:"formula.functionList.ASINH.abstract",functionParameter:[{name:"formula.functionList.ASINH.functionParameter.number.name",detail:"formula.functionList.ASINH.functionParameter.number.detail",example:"10",require:1,repeat:0}]},{functionName:Cpe.ATAN,functionType:Fhe.Math,description:"formula.functionList.ATAN.description",abstract:"formula.functionList.ATAN.abstract",functionParameter:[{name:"formula.functionList.ATAN.functionParameter.number.name",detail:"formula.functionList.ATAN.functionParameter.number.detail",example:"1",require:1,repeat:0}]},{functionName:Cpe.ATAN2,functionType:Fhe.Math,description:"formula.functionList.ATAN2.description",abstract:"formula.functionList.ATAN2.abstract",functionParameter:[{name:"formula.functionList.ATAN2.functionParameter.xNum.name",detail:"formula.functionList.ATAN2.functionParameter.xNum.detail",example:"4",require:1,repeat:0},{name:"formula.functionList.ATAN2.functionParameter.yNum.name",detail:"formula.functionList.ATAN2.functionParameter.yNum.detail",example:"3",require:1,repeat:0}]},{functionName:Cpe.ATANH,functionType:Fhe.Math,description:"formula.functionList.ATANH.description",abstract:"formula.functionList.ATANH.abstract",functionParameter:[{name:"formula.functionList.ATANH.functionParameter.number.name",detail:"formula.functionList.ATANH.functionParameter.number.detail",example:"0.1",require:1,repeat:0}]},{functionName:Cpe.BASE,functionType:Fhe.Math,description:"formula.functionList.BASE.description",abstract:"formula.functionList.BASE.abstract",functionParameter:[{name:"formula.functionList.BASE.functionParameter.number.name",detail:"formula.functionList.BASE.functionParameter.number.detail",example:"15",require:1,repeat:0},{name:"formula.functionList.BASE.functionParameter.radix.name",detail:"formula.functionList.BASE.functionParameter.radix.detail",example:"2",require:1,repeat:0},{name:"formula.functionList.BASE.functionParameter.minLength.name",detail:"formula.functionList.BASE.functionParameter.minLength.detail",example:"10",require:0,repeat:0}]},{functionName:Cpe.CEILING,functionType:Fhe.Math,description:"formula.functionList.CEILING.description",abstract:"formula.functionList.CEILING.abstract",functionParameter:[{name:"formula.functionList.CEILING.functionParameter.number.name",detail:"formula.functionList.CEILING.functionParameter.number.detail",example:"2.5",require:1,repeat:0},{name:"formula.functionList.CEILING.functionParameter.significance.name",detail:"formula.functionList.CEILING.functionParameter.significance.detail",example:"1",require:1,repeat:0}]},{functionName:Cpe.CEILING_MATH,functionType:Fhe.Math,description:"formula.functionList.CEILING_MATH.description",abstract:"formula.functionList.CEILING_MATH.abstract",functionParameter:[{name:"formula.functionList.CEILING_MATH.functionParameter.number.name",detail:"formula.functionList.CEILING_MATH.functionParameter.number.detail",example:"-5.5",require:1,repeat:0},{name:"formula.functionList.CEILING_MATH.functionParameter.significance.name",detail:"formula.functionList.CEILING_MATH.functionParameter.significance.detail",example:"2",require:0,repeat:0},{name:"formula.functionList.CEILING_MATH.functionParameter.mode.name",detail:"formula.functionList.CEILING_MATH.functionParameter.mode.detail",example:"-1",require:0,repeat:0}]},{functionName:Cpe.CEILING_PRECISE,functionType:Fhe.Math,description:"formula.functionList.CEILING_PRECISE.description",abstract:"formula.functionList.CEILING_PRECISE.abstract",functionParameter:[{name:"formula.functionList.CEILING_PRECISE.functionParameter.number.name",detail:"formula.functionList.CEILING_PRECISE.functionParameter.number.detail",example:"4.3",require:1,repeat:0},{name:"formula.functionList.CEILING_PRECISE.functionParameter.significance.name",detail:"formula.functionList.CEILING_PRECISE.functionParameter.significance.detail",example:"2",require:0,repeat:0}]},{functionName:Cpe.COMBIN,functionType:Fhe.Math,description:"formula.functionList.COMBIN.description",abstract:"formula.functionList.COMBIN.abstract",functionParameter:[{name:"formula.functionList.COMBIN.functionParameter.number.name",detail:"formula.functionList.COMBIN.functionParameter.number.detail",example:"8",require:1,repeat:0},{name:"formula.functionList.COMBIN.functionParameter.numberChosen.name",detail:"formula.functionList.COMBIN.functionParameter.numberChosen.detail",example:"2",require:1,repeat:0}]},{functionName:Cpe.COMBINA,functionType:Fhe.Math,description:"formula.functionList.COMBINA.description",abstract:"formula.functionList.COMBINA.abstract",functionParameter:[{name:"formula.functionList.COMBINA.functionParameter.number.name",detail:"formula.functionList.COMBINA.functionParameter.number.detail",example:"8",require:1,repeat:0},{name:"formula.functionList.COMBINA.functionParameter.numberChosen.name",detail:"formula.functionList.COMBINA.functionParameter.numberChosen.detail",example:"2",require:1,repeat:0}]},{functionName:Cpe.COS,functionType:Fhe.Math,description:"formula.functionList.COS.description",abstract:"formula.functionList.COS.abstract",functionParameter:[{name:"formula.functionList.COS.functionParameter.number.name",detail:"formula.functionList.COS.functionParameter.number.detail",example:"1",require:1,repeat:0}]},{functionName:Cpe.COSH,functionType:Fhe.Math,description:"formula.functionList.COSH.description",abstract:"formula.functionList.COSH.abstract",functionParameter:[{name:"formula.functionList.COSH.functionParameter.number.name",detail:"formula.functionList.COSH.functionParameter.number.detail",example:"4",require:1,repeat:0}]},{functionName:Cpe.COT,functionType:Fhe.Math,description:"formula.functionList.COT.description",abstract:"formula.functionList.COT.abstract",functionParameter:[{name:"formula.functionList.COT.functionParameter.number.name",detail:"formula.functionList.COT.functionParameter.number.detail",example:"30",require:1,repeat:0}]},{functionName:Cpe.COTH,functionType:Fhe.Math,description:"formula.functionList.COTH.description",abstract:"formula.functionList.COTH.abstract",functionParameter:[{name:"formula.functionList.COTH.functionParameter.number.name",detail:"formula.functionList.COTH.functionParameter.number.detail",example:"2",require:1,repeat:0}]},{functionName:Cpe.CSC,functionType:Fhe.Math,description:"formula.functionList.CSC.description",abstract:"formula.functionList.CSC.abstract",functionParameter:[{name:"formula.functionList.CSC.functionParameter.number.name",detail:"formula.functionList.CSC.functionParameter.number.detail",example:"15",require:1,repeat:0}]},{functionName:Cpe.CSCH,functionType:Fhe.Math,description:"formula.functionList.CSCH.description",abstract:"formula.functionList.CSCH.abstract",functionParameter:[{name:"formula.functionList.CSCH.functionParameter.number.name",detail:"formula.functionList.CSCH.functionParameter.number.detail",example:"1.5",require:1,repeat:0}]},{functionName:Cpe.DECIMAL,functionType:Fhe.Math,description:"formula.functionList.DECIMAL.description",abstract:"formula.functionList.DECIMAL.abstract",functionParameter:[{name:"formula.functionList.DECIMAL.functionParameter.text.name",detail:"formula.functionList.DECIMAL.functionParameter.text.detail",example:'"FF"',require:1,repeat:0},{name:"formula.functionList.DECIMAL.functionParameter.radix.name",detail:"formula.functionList.DECIMAL.functionParameter.radix.detail",example:"16",require:1,repeat:0}]},{functionName:Cpe.DEGREES,functionType:Fhe.Math,description:"formula.functionList.DEGREES.description",abstract:"formula.functionList.DEGREES.abstract",functionParameter:[{name:"formula.functionList.DEGREES.functionParameter.angle.name",detail:"formula.functionList.DEGREES.functionParameter.angle.detail",example:"PI()",require:1,repeat:0}]},{functionName:Cpe.EVEN,functionType:Fhe.Math,description:"formula.functionList.EVEN.description",abstract:"formula.functionList.EVEN.abstract",functionParameter:[{name:"formula.functionList.EVEN.functionParameter.number.name",detail:"formula.functionList.EVEN.functionParameter.number.detail",example:"1.5",require:1,repeat:0}]},{functionName:Cpe.EXP,functionType:Fhe.Math,description:"formula.functionList.EXP.description",abstract:"formula.functionList.EXP.abstract",functionParameter:[{name:"formula.functionList.EXP.functionParameter.number.name",detail:"formula.functionList.EXP.functionParameter.number.detail",example:"2",require:1,repeat:0}]},{functionName:Cpe.FACT,functionType:Fhe.Math,description:"formula.functionList.FACT.description",abstract:"formula.functionList.FACT.abstract",functionParameter:[{name:"formula.functionList.FACT.functionParameter.number.name",detail:"formula.functionList.FACT.functionParameter.number.detail",example:"5",require:1,repeat:0}]},{functionName:Cpe.FACTDOUBLE,functionType:Fhe.Math,description:"formula.functionList.FACTDOUBLE.description",abstract:"formula.functionList.FACTDOUBLE.abstract",functionParameter:[{name:"formula.functionList.FACTDOUBLE.functionParameter.number.name",detail:"formula.functionList.FACTDOUBLE.functionParameter.number.detail",example:"6",require:1,repeat:0}]},{functionName:Cpe.FLOOR,functionType:Fhe.Math,description:"formula.functionList.FLOOR.description",abstract:"formula.functionList.FLOOR.abstract",functionParameter:[{name:"formula.functionList.FLOOR.functionParameter.number.name",detail:"formula.functionList.FLOOR.functionParameter.number.detail",example:"3.7",require:1,repeat:0},{name:"formula.functionList.FLOOR.functionParameter.significance.name",detail:"formula.functionList.FLOOR.functionParameter.significance.detail",example:"2",require:1,repeat:0}]},{functionName:Cpe.FLOOR_MATH,functionType:Fhe.Math,description:"formula.functionList.FLOOR_MATH.description",abstract:"formula.functionList.FLOOR_MATH.abstract",functionParameter:[{name:"formula.functionList.FLOOR_MATH.functionParameter.number.name",detail:"formula.functionList.FLOOR_MATH.functionParameter.number.detail",example:"-5.5",require:1,repeat:0},{name:"formula.functionList.FLOOR_MATH.functionParameter.significance.name",detail:"formula.functionList.FLOOR_MATH.functionParameter.significance.detail",example:"2",require:0,repeat:0},{name:"formula.functionList.FLOOR_MATH.functionParameter.mode.name",detail:"formula.functionList.FLOOR_MATH.functionParameter.mode.detail",example:"-1",require:0,repeat:0}]},{functionName:Cpe.FLOOR_PRECISE,functionType:Fhe.Math,description:"formula.functionList.FLOOR_PRECISE.description",abstract:"formula.functionList.FLOOR_PRECISE.abstract",functionParameter:[{name:"formula.functionList.FLOOR_PRECISE.functionParameter.number.name",detail:"formula.functionList.FLOOR_PRECISE.functionParameter.number.detail",example:"-3.2",require:1,repeat:0},{name:"formula.functionList.FLOOR_PRECISE.functionParameter.significance.name",detail:"formula.functionList.FLOOR_PRECISE.functionParameter.significance.detail",example:"-1",require:0,repeat:0}]},{functionName:Cpe.GCD,functionType:Fhe.Math,description:"formula.functionList.GCD.description",abstract:"formula.functionList.GCD.abstract",functionParameter:[{name:"formula.functionList.GCD.functionParameter.number1.name",detail:"formula.functionList.GCD.functionParameter.number1.detail",example:"5",require:1,repeat:0},{name:"formula.functionList.GCD.functionParameter.number2.name",detail:"formula.functionList.GCD.functionParameter.number2.detail",example:"2",require:0,repeat:1}]},{functionName:Cpe.INT,functionType:Fhe.Math,description:"formula.functionList.INT.description",abstract:"formula.functionList.INT.abstract",functionParameter:[{name:"formula.functionList.INT.functionParameter.number.name",detail:"formula.functionList.INT.functionParameter.number.detail",example:"8.9",require:1,repeat:0}]},{functionName:Cpe.ISO_CEILING,functionType:Fhe.Math,description:"formula.functionList.ISO_CEILING.description",abstract:"formula.functionList.ISO_CEILING.abstract",functionParameter:[{name:"formula.functionList.ISO_CEILING.functionParameter.number1.name",detail:"formula.functionList.ISO_CEILING.functionParameter.number1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.ISO_CEILING.functionParameter.number2.name",detail:"formula.functionList.ISO_CEILING.functionParameter.number2.detail",example:"A1:A20",require:1,repeat:0}]},{functionName:Cpe.LCM,functionType:Fhe.Math,description:"formula.functionList.LCM.description",abstract:"formula.functionList.LCM.abstract",functionParameter:[{name:"formula.functionList.LCM.functionParameter.number1.name",detail:"formula.functionList.LCM.functionParameter.number1.detail",example:"5",require:1,repeat:0},{name:"formula.functionList.LCM.functionParameter.number2.name",detail:"formula.functionList.LCM.functionParameter.number2.detail",example:"2",require:0,repeat:1}]},{functionName:Cpe.LET,functionType:Fhe.Math,description:"formula.functionList.LET.description",abstract:"formula.functionList.LET.abstract",functionParameter:[{name:"formula.functionList.LET.functionParameter.number1.name",detail:"formula.functionList.LET.functionParameter.number1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.LET.functionParameter.number2.name",detail:"formula.functionList.LET.functionParameter.number2.detail",example:"A1:A20",require:1,repeat:0}]},{functionName:Cpe.LN,functionType:Fhe.Math,description:"formula.functionList.LN.description",abstract:"formula.functionList.LN.abstract",functionParameter:[{name:"formula.functionList.LN.functionParameter.number.name",detail:"formula.functionList.LN.functionParameter.number.detail",example:"EXP(3)",require:1,repeat:0}]},{functionName:Cpe.LOG,functionType:Fhe.Math,description:"formula.functionList.LOG.description",abstract:"formula.functionList.LOG.abstract",functionParameter:[{name:"formula.functionList.LOG.functionParameter.number.name",detail:"formula.functionList.LOG.functionParameter.number.detail",example:"8",require:1,repeat:0},{name:"formula.functionList.LOG.functionParameter.base.name",detail:"formula.functionList.LOG.functionParameter.base.detail",example:"2",require:0,repeat:0}]},{functionName:Cpe.LOG10,functionType:Fhe.Math,description:"formula.functionList.LOG10.description",abstract:"formula.functionList.LOG10.abstract",functionParameter:[{name:"formula.functionList.LOG10.functionParameter.number.name",detail:"formula.functionList.LOG10.functionParameter.number.detail",example:"100000",require:1,repeat:0}]},{functionName:Cpe.MDETERM,functionType:Fhe.Math,description:"formula.functionList.MDETERM.description",abstract:"formula.functionList.MDETERM.abstract",functionParameter:[{name:"formula.functionList.MDETERM.functionParameter.array.name",detail:"formula.functionList.MDETERM.functionParameter.array.detail",example:"A1:C3",require:1,repeat:0}]},{functionName:Cpe.MINVERSE,functionType:Fhe.Math,description:"formula.functionList.MINVERSE.description",abstract:"formula.functionList.MINVERSE.abstract",functionParameter:[{name:"formula.functionList.MINVERSE.functionParameter.array.name",detail:"formula.functionList.MINVERSE.functionParameter.array.detail",example:"A1:C3",require:1,repeat:0}]},{functionName:Cpe.MMULT,functionType:Fhe.Math,description:"formula.functionList.MMULT.description",abstract:"formula.functionList.MMULT.abstract",functionParameter:[{name:"formula.functionList.MMULT.functionParameter.array1.name",detail:"formula.functionList.MMULT.functionParameter.array1.detail",example:"A2:B3",require:1,repeat:0},{name:"formula.functionList.MMULT.functionParameter.array2.name",detail:"formula.functionList.MMULT.functionParameter.array2.detail",example:"A5:B6",require:1,repeat:0}]},{functionName:Cpe.MOD,functionType:Fhe.Math,description:"formula.functionList.MOD.description",abstract:"formula.functionList.MOD.abstract",functionParameter:[{name:"formula.functionList.MOD.functionParameter.number.name",detail:"formula.functionList.MOD.functionParameter.number.detail",example:"3",require:1,repeat:0},{name:"formula.functionList.MOD.functionParameter.divisor.name",detail:"formula.functionList.MOD.functionParameter.divisor.detail",example:"2",require:1,repeat:0}]},{functionName:Cpe.MROUND,functionType:Fhe.Math,description:"formula.functionList.MROUND.description",abstract:"formula.functionList.MROUND.abstract",functionParameter:[{name:"formula.functionList.MROUND.functionParameter.number.name",detail:"formula.functionList.MROUND.functionParameter.number.detail",example:"10",require:1,repeat:0},{name:"formula.functionList.MROUND.functionParameter.multiple.name",detail:"formula.functionList.MROUND.functionParameter.multiple.detail",example:"3",require:1,repeat:0}]},{functionName:Cpe.MULTINOMIAL,functionType:Fhe.Math,description:"formula.functionList.MULTINOMIAL.description",abstract:"formula.functionList.MULTINOMIAL.abstract",functionParameter:[{name:"formula.functionList.MULTINOMIAL.functionParameter.number1.name",detail:"formula.functionList.MULTINOMIAL.functionParameter.number1.detail",example:"5",require:1,repeat:0},{name:"formula.functionList.MULTINOMIAL.functionParameter.number2.name",detail:"formula.functionList.MULTINOMIAL.functionParameter.number2.detail",example:"2",require:0,repeat:1}]},{functionName:Cpe.MUNIT,functionType:Fhe.Math,description:"formula.functionList.MUNIT.description",abstract:"formula.functionList.MUNIT.abstract",functionParameter:[{name:"formula.functionList.MUNIT.functionParameter.dimension.name",detail:"formula.functionList.MUNIT.functionParameter.dimension.detail",example:"3",require:1,repeat:0}]},{functionName:Cpe.ODD,functionType:Fhe.Math,description:"formula.functionList.ODD.description",abstract:"formula.functionList.ODD.abstract",functionParameter:[{name:"formula.functionList.ODD.functionParameter.number.name",detail:"formula.functionList.ODD.functionParameter.number.detail",example:"1.5",require:1,repeat:0}]},{functionName:Cpe.PI,functionType:Fhe.Math,description:"formula.functionList.PI.description",abstract:"formula.functionList.PI.abstract",functionParameter:[]},{functionName:Cpe.POWER,functionType:Fhe.Math,description:"formula.functionList.POWER.description",abstract:"formula.functionList.POWER.abstract",functionParameter:[{name:"formula.functionList.POWER.functionParameter.number.name",detail:"formula.functionList.POWER.functionParameter.number.detail",example:"5",require:1,repeat:0},{name:"formula.functionList.POWER.functionParameter.power.name",detail:"formula.functionList.POWER.functionParameter.power.detail",example:"2",require:1,repeat:0}]},{functionName:Cpe.PRODUCT,functionType:Fhe.Math,description:"formula.functionList.PRODUCT.description",abstract:"formula.functionList.PRODUCT.abstract",functionParameter:[{name:"formula.functionList.PRODUCT.functionParameter.number1.name",detail:"formula.functionList.PRODUCT.functionParameter.number1.detail",example:"A1",require:1,repeat:0},{name:"formula.functionList.PRODUCT.functionParameter.number2.name",detail:"formula.functionList.PRODUCT.functionParameter.number2.detail",example:"A2",require:0,repeat:1}]},{functionName:Cpe.QUOTIENT,functionType:Fhe.Math,description:"formula.functionList.QUOTIENT.description",abstract:"formula.functionList.QUOTIENT.abstract",functionParameter:[{name:"formula.functionList.QUOTIENT.functionParameter.numerator.name",detail:"formula.functionList.QUOTIENT.functionParameter.numerator.detail",example:"5",require:1,repeat:0},{name:"formula.functionList.QUOTIENT.functionParameter.denominator.name",detail:"formula.functionList.QUOTIENT.functionParameter.denominator.detail",example:"2",require:1,repeat:0}]},{functionName:Cpe.RADIANS,functionType:Fhe.Math,description:"formula.functionList.RADIANS.description",abstract:"formula.functionList.RADIANS.abstract",functionParameter:[{name:"formula.functionList.RADIANS.functionParameter.angle.name",detail:"formula.functionList.RADIANS.functionParameter.angle.detail",example:"270",require:1,repeat:0}]},{functionName:Cpe.RAND,functionType:Fhe.Math,description:"formula.functionList.RAND.description",abstract:"formula.functionList.RAND.abstract",functionParameter:[]},{functionName:Cpe.RANDARRAY,functionType:Fhe.Math,description:"formula.functionList.RANDARRAY.description",abstract:"formula.functionList.RANDARRAY.abstract",functionParameter:[{name:"formula.functionList.RANDARRAY.functionParameter.rows.name",detail:"formula.functionList.RANDARRAY.functionParameter.rows.detail",example:"5",require:0,repeat:0},{name:"formula.functionList.RANDARRAY.functionParameter.columns.name",detail:"formula.functionList.RANDARRAY.functionParameter.columns.detail",example:"3",require:0,repeat:0},{name:"formula.functionList.RANDARRAY.functionParameter.min.name",detail:"formula.functionList.RANDARRAY.functionParameter.min.detail",example:"1",require:0,repeat:0},{name:"formula.functionList.RANDARRAY.functionParameter.max.name",detail:"formula.functionList.RANDARRAY.functionParameter.max.detail",example:"100",require:0,repeat:0},{name:"formula.functionList.RANDARRAY.functionParameter.wholeNumber.name",detail:"formula.functionList.RANDARRAY.functionParameter.wholeNumber.detail",example:"TRUE",require:0,repeat:0}]},{functionName:Cpe.RANDBETWEEN,functionType:Fhe.Math,description:"formula.functionList.RANDBETWEEN.description",abstract:"formula.functionList.RANDBETWEEN.abstract",functionParameter:[{name:"formula.functionList.RANDBETWEEN.functionParameter.bottom.name",detail:"formula.functionList.RANDBETWEEN.functionParameter.bottom.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.RANDBETWEEN.functionParameter.top.name",detail:"formula.functionList.RANDBETWEEN.functionParameter.top.detail",example:"100",require:1,repeat:0}]},{functionName:Cpe.ROMAN,functionType:Fhe.Math,description:"formula.functionList.ROMAN.description",abstract:"formula.functionList.ROMAN.abstract",functionParameter:[{name:"formula.functionList.ROMAN.functionParameter.number.name",detail:"formula.functionList.ROMAN.functionParameter.number.detail",example:"499",require:1,repeat:0},{name:"formula.functionList.ROMAN.functionParameter.form.name",detail:"formula.functionList.ROMAN.functionParameter.form.detail",example:"0",require:0,repeat:0}]},{functionName:Cpe.ROUND,functionType:Fhe.Math,description:"formula.functionList.ROUND.description",abstract:"formula.functionList.ROUND.abstract",functionParameter:[{name:"formula.functionList.ROUND.functionParameter.number.name",detail:"formula.functionList.ROUND.functionParameter.number.detail",example:"2.15",require:1,repeat:0},{name:"formula.functionList.ROUND.functionParameter.numDigits.name",detail:"formula.functionList.ROUND.functionParameter.numDigits.detail",example:"1",require:1,repeat:0}]},{functionName:Cpe.ROUNDBANK,functionType:Fhe.Math,description:"formula.functionList.ROUNDBANK.description",abstract:"formula.functionList.ROUNDBANK.abstract",functionParameter:[{name:"formula.functionList.ROUNDBANK.functionParameter.number.name",detail:"formula.functionList.ROUNDBANK.functionParameter.number.detail",example:"2.345",require:1,repeat:0},{name:"formula.functionList.ROUNDBANK.functionParameter.numDigits.name",detail:"formula.functionList.ROUNDBANK.functionParameter.numDigits.detail",example:"2",require:1,repeat:0}]},{functionName:Cpe.ROUNDDOWN,functionType:Fhe.Math,description:"formula.functionList.ROUNDDOWN.description",abstract:"formula.functionList.ROUNDDOWN.abstract",functionParameter:[{name:"formula.functionList.ROUNDDOWN.functionParameter.number.name",detail:"formula.functionList.ROUNDDOWN.functionParameter.number.detail",example:"3.2",require:1,repeat:0},{name:"formula.functionList.ROUNDDOWN.functionParameter.numDigits.name",detail:"formula.functionList.ROUNDDOWN.functionParameter.numDigits.detail",example:"0",require:1,repeat:0}]},{functionName:Cpe.ROUNDUP,functionType:Fhe.Math,description:"formula.functionList.ROUNDUP.description",abstract:"formula.functionList.ROUNDUP.abstract",functionParameter:[{name:"formula.functionList.ROUNDUP.functionParameter.number.name",detail:"formula.functionList.ROUNDUP.functionParameter.number.detail",example:"3.2",require:1,repeat:0},{name:"formula.functionList.ROUNDUP.functionParameter.numDigits.name",detail:"formula.functionList.ROUNDUP.functionParameter.numDigits.detail",example:"0",require:1,repeat:0}]},{functionName:Cpe.SEC,functionType:Fhe.Math,description:"formula.functionList.SEC.description",abstract:"formula.functionList.SEC.abstract",functionParameter:[{name:"formula.functionList.SEC.functionParameter.number.name",detail:"formula.functionList.SEC.functionParameter.number.detail",example:"30",require:1,repeat:0}]},{functionName:Cpe.SECH,functionType:Fhe.Math,description:"formula.functionList.SECH.description",abstract:"formula.functionList.SECH.abstract",functionParameter:[{name:"formula.functionList.SECH.functionParameter.number.name",detail:"formula.functionList.SECH.functionParameter.number.detail",example:"30",require:1,repeat:0}]},{functionName:Cpe.SERIESSUM,functionType:Fhe.Math,description:"formula.functionList.SERIESSUM.description",abstract:"formula.functionList.SERIESSUM.abstract",functionParameter:[{name:"formula.functionList.SERIESSUM.functionParameter.x.name",detail:"formula.functionList.SERIESSUM.functionParameter.x.detail",example:"0.785398163",require:1,repeat:0},{name:"formula.functionList.SERIESSUM.functionParameter.n.name",detail:"formula.functionList.SERIESSUM.functionParameter.n.detail",example:"0",require:1,repeat:0},{name:"formula.functionList.SERIESSUM.functionParameter.m.name",detail:"formula.functionList.SERIESSUM.functionParameter.m.detail",example:"2",require:1,repeat:0},{name:"formula.functionList.SERIESSUM.functionParameter.coefficients.name",detail:"formula.functionList.SERIESSUM.functionParameter.coefficients.detail",example:"A1:A4",require:1,repeat:0}]},{functionName:Cpe.SEQUENCE,functionType:Fhe.Math,description:"formula.functionList.SEQUENCE.description",abstract:"formula.functionList.SEQUENCE.abstract",functionParameter:[{name:"formula.functionList.SEQUENCE.functionParameter.rows.name",detail:"formula.functionList.SEQUENCE.functionParameter.rows.detail",example:"4",require:1,repeat:0},{name:"formula.functionList.SEQUENCE.functionParameter.columns.name",detail:"formula.functionList.SEQUENCE.functionParameter.columns.detail",example:"5",require:0,repeat:0},{name:"formula.functionList.SEQUENCE.functionParameter.start.name",detail:"formula.functionList.SEQUENCE.functionParameter.start.detail",example:"1",require:0,repeat:0},{name:"formula.functionList.SEQUENCE.functionParameter.step.name",detail:"formula.functionList.SEQUENCE.functionParameter.step.detail",example:"1",require:0,repeat:0}]},{functionName:Cpe.SIGN,functionType:Fhe.Math,description:"formula.functionList.SIGN.description",abstract:"formula.functionList.SIGN.abstract",functionParameter:[{name:"formula.functionList.SIGN.functionParameter.number.name",detail:"formula.functionList.SIGN.functionParameter.number.detail",example:"10",require:1,repeat:0}]},{functionName:Cpe.SIN,functionType:Fhe.Math,description:"formula.functionList.SIN.description",abstract:"formula.functionList.SIN.abstract",functionParameter:[{name:"formula.functionList.SIN.functionParameter.number.name",detail:"formula.functionList.SIN.functionParameter.number.detail",example:"30*PI()/180",require:1,repeat:0}]},{functionName:Cpe.SINH,functionType:Fhe.Math,description:"formula.functionList.SINH.description",abstract:"formula.functionList.SINH.abstract",functionParameter:[{name:"formula.functionList.SINH.functionParameter.number.name",detail:"formula.functionList.SINH.functionParameter.number.detail",example:"0.0342*1.03",require:1,repeat:0}]},{functionName:Cpe.SQRT,functionType:Fhe.Math,description:"formula.functionList.SQRT.description",abstract:"formula.functionList.SQRT.abstract",functionParameter:[{name:"formula.functionList.SQRT.functionParameter.number.name",detail:"formula.functionList.SQRT.functionParameter.number.detail",example:"16",require:1,repeat:0}]},{functionName:Cpe.SQRTPI,functionType:Fhe.Math,description:"formula.functionList.SQRTPI.description",abstract:"formula.functionList.SQRTPI.abstract",functionParameter:[{name:"formula.functionList.SQRTPI.functionParameter.number.name",detail:"formula.functionList.SQRTPI.functionParameter.number.detail",example:"1",require:1,repeat:0}]},{functionName:Cpe.SUBTOTAL,functionType:Fhe.Math,description:"formula.functionList.SUBTOTAL.description",abstract:"formula.functionList.SUBTOTAL.abstract",functionParameter:[{name:"formula.functionList.SUBTOTAL.functionParameter.functionNum.name",detail:"formula.functionList.SUBTOTAL.functionParameter.functionNum.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.SUBTOTAL.functionParameter.ref1.name",detail:"formula.functionList.SUBTOTAL.functionParameter.ref1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.SUBTOTAL.functionParameter.ref2.name",detail:"formula.functionList.SUBTOTAL.functionParameter.ref2.detail",example:"B1:B20",require:0,repeat:1}]},{functionName:Cpe.SUM,aliasFunctionName:"formula.functionList.SUM.aliasFunctionName",functionType:Fhe.Math,description:"formula.functionList.SUM.description",abstract:"formula.functionList.SUM.abstract",functionParameter:[{name:"formula.functionList.SUM.functionParameter.number1.name",detail:"formula.functionList.SUM.functionParameter.number1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.SUM.functionParameter.number2.name",detail:"formula.functionList.SUM.functionParameter.number2.detail",example:"B2:B10",require:0,repeat:1}]},{functionName:Cpe.SUMIF,aliasFunctionName:"formula.functionList.SUMIF.aliasFunctionName",functionType:Fhe.Math,description:"formula.functionList.SUMIF.description",abstract:"formula.functionList.SUMIF.abstract",functionParameter:[{name:"formula.functionList.SUMIF.functionParameter.range.name",detail:"formula.functionList.SUMIF.functionParameter.range.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.SUMIF.functionParameter.criteria.name",detail:"formula.functionList.SUMIF.functionParameter.criteria.detail",example:'">5"',require:1,repeat:0},{name:"formula.functionList.SUMIF.functionParameter.sumRange.name",detail:"formula.functionList.SUMIF.functionParameter.sumRange.detail",example:"B1:B20",require:0,repeat:0}]},{functionName:Cpe.SUMIFS,functionType:Fhe.Math,description:"formula.functionList.SUMIFS.description",abstract:"formula.functionList.SUMIFS.abstract",functionParameter:[{name:"formula.functionList.SUMIFS.functionParameter.sumRange.name",detail:"formula.functionList.SUMIFS.functionParameter.sumRange.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.SUMIFS.functionParameter.criteriaRange1.name",detail:"formula.functionList.SUMIFS.functionParameter.criteriaRange1.detail",example:"B1:B20",require:1,repeat:0},{name:"formula.functionList.SUMIFS.functionParameter.criteria1.name",detail:"formula.functionList.SUMIFS.functionParameter.criteria1.detail",example:'">10"',require:1,repeat:0},{name:"formula.functionList.SUMIFS.functionParameter.criteriaRange2.name",detail:"formula.functionList.SUMIFS.functionParameter.criteriaRange2.detail",example:"C1:C20",require:0,repeat:1},{name:"formula.functionList.SUMIFS.functionParameter.criteria2.name",detail:"formula.functionList.SUMIFS.functionParameter.criteria2.detail",example:'"<20"',require:0,repeat:1}]},{functionName:Cpe.SUMPRODUCT,functionType:Fhe.Math,description:"formula.functionList.SUMPRODUCT.description",abstract:"formula.functionList.SUMPRODUCT.abstract",functionParameter:[{name:"formula.functionList.SUMPRODUCT.functionParameter.array1.name",detail:"formula.functionList.SUMPRODUCT.functionParameter.array1.detail",example:"C2:C5",require:1,repeat:0},{name:"formula.functionList.SUMPRODUCT.functionParameter.array2.name",detail:"formula.functionList.SUMPRODUCT.functionParameter.array2.detail",example:"D2:D5",require:0,repeat:1}]},{functionName:Cpe.SUMSQ,functionType:Fhe.Math,description:"formula.functionList.SUMSQ.description",abstract:"formula.functionList.SUMSQ.abstract",functionParameter:[{name:"formula.functionList.SUMSQ.functionParameter.number1.name",detail:"formula.functionList.SUMSQ.functionParameter.number1.detail",example:"3",require:1,repeat:0},{name:"formula.functionList.SUMSQ.functionParameter.number2.name",detail:"formula.functionList.SUMSQ.functionParameter.number2.detail",example:"4",require:0,repeat:1}]},{functionName:Cpe.SUMX2MY2,functionType:Fhe.Math,description:"formula.functionList.SUMX2MY2.description",abstract:"formula.functionList.SUMX2MY2.abstract",functionParameter:[{name:"formula.functionList.SUMX2MY2.functionParameter.arrayX.name",detail:"formula.functionList.SUMX2MY2.functionParameter.arrayX.detail",example:"A2:A8",require:1,repeat:0},{name:"formula.functionList.SUMX2MY2.functionParameter.arrayY.name",detail:"formula.functionList.SUMX2MY2.functionParameter.arrayY.detail",example:"B2:B8",require:1,repeat:0}]},{functionName:Cpe.SUMX2PY2,functionType:Fhe.Math,description:"formula.functionList.SUMX2PY2.description",abstract:"formula.functionList.SUMX2PY2.abstract",functionParameter:[{name:"formula.functionList.SUMX2PY2.functionParameter.arrayX.name",detail:"formula.functionList.SUMX2PY2.functionParameter.arrayX.detail",example:"A2:A8",require:1,repeat:0},{name:"formula.functionList.SUMX2PY2.functionParameter.arrayY.name",detail:"formula.functionList.SUMX2PY2.functionParameter.arrayY.detail",example:"B2:B8",require:1,repeat:0}]},{functionName:Cpe.SUMXMY2,functionType:Fhe.Math,description:"formula.functionList.SUMXMY2.description",abstract:"formula.functionList.SUMXMY2.abstract",functionParameter:[{name:"formula.functionList.SUMXMY2.functionParameter.arrayX.name",detail:"formula.functionList.SUMXMY2.functionParameter.arrayX.detail",example:"A2:A8",require:1,repeat:0},{name:"formula.functionList.SUMXMY2.functionParameter.arrayY.name",detail:"formula.functionList.SUMXMY2.functionParameter.arrayY.detail",example:"B2:B8",require:1,repeat:0}]},{functionName:Cpe.TAN,functionType:Fhe.Math,description:"formula.functionList.TAN.description",abstract:"formula.functionList.TAN.abstract",functionParameter:[{name:"formula.functionList.TAN.functionParameter.number.name",detail:"formula.functionList.TAN.functionParameter.number.detail",example:"1",require:1,repeat:0}]},{functionName:Cpe.TANH,functionType:Fhe.Math,description:"formula.functionList.TANH.description",abstract:"formula.functionList.TANH.abstract",functionParameter:[{name:"formula.functionList.TANH.functionParameter.number.name",detail:"formula.functionList.TANH.functionParameter.number.detail",example:"1",require:1,repeat:0}]},{functionName:Cpe.TRUNC,functionType:Fhe.Math,description:"formula.functionList.TRUNC.description",abstract:"formula.functionList.TRUNC.abstract",functionParameter:[{name:"formula.functionList.TRUNC.functionParameter.number.name",detail:"formula.functionList.TRUNC.functionParameter.number.detail",example:"0.45",require:1,repeat:0},{name:"formula.functionList.TRUNC.functionParameter.numDigits.name",detail:"formula.functionList.TRUNC.functionParameter.numDigits.detail",example:"1",require:0,repeat:0}]},{functionName:ype.AVEDEV,functionType:Fhe.Statistical,description:"formula.functionList.AVEDEV.description",abstract:"formula.functionList.AVEDEV.abstract",functionParameter:[{name:"formula.functionList.AVEDEV.functionParameter.number1.name",detail:"formula.functionList.AVEDEV.functionParameter.number1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.AVEDEV.functionParameter.number2.name",detail:"formula.functionList.AVEDEV.functionParameter.number2.detail",example:"B1:B20",require:0,repeat:1}]},{functionName:ype.AVERAGE,aliasFunctionName:"formula.functionList.AVERAGE.aliasFunctionName",functionType:Fhe.Statistical,description:"formula.functionList.AVERAGE.description",abstract:"formula.functionList.AVERAGE.abstract",functionParameter:[{name:"formula.functionList.AVERAGE.functionParameter.number1.name",detail:"formula.functionList.AVERAGE.functionParameter.number1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.AVERAGE.functionParameter.number2.name",detail:"formula.functionList.AVERAGE.functionParameter.number2.detail",example:"B1:B20",require:0,repeat:1}]},{functionName:ype.AVERAGE_WEIGHTED,aliasFunctionName:"formula.functionList.AVERAGE_WEIGHTED.aliasFunctionName",functionType:Fhe.Statistical,description:"formula.functionList.AVERAGE_WEIGHTED.description",abstract:"formula.functionList.AVERAGE_WEIGHTED.abstract",functionParameter:[{name:"formula.functionList.AVERAGE_WEIGHTED.functionParameter.values.name",detail:"formula.functionList.AVERAGE_WEIGHTED.functionParameter.values.detail",example:"10",require:1,repeat:0},{name:"formula.functionList.AVERAGE_WEIGHTED.functionParameter.weights.name",detail:"formula.functionList.AVERAGE_WEIGHTED.functionParameter.weights.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.AVERAGE_WEIGHTED.functionParameter.additionalValues.name",detail:"formula.functionList.AVERAGE_WEIGHTED.functionParameter.additionalValues.detail",example:"20",require:0,repeat:1},{name:"formula.functionList.AVERAGE_WEIGHTED.functionParameter.additionalWeights.name",detail:"formula.functionList.AVERAGE_WEIGHTED.functionParameter.additionalWeights.detail",example:"3",require:0,repeat:1}]},{functionName:ype.AVERAGEA,functionType:Fhe.Statistical,description:"formula.functionList.AVERAGEA.description",abstract:"formula.functionList.AVERAGEA.abstract",functionParameter:[{name:"formula.functionList.AVERAGEA.functionParameter.value1.name",detail:"formula.functionList.AVERAGEA.functionParameter.value1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.AVERAGEA.functionParameter.value2.name",detail:"formula.functionList.AVERAGEA.functionParameter.value2.detail",example:"B1:B20",require:0,repeat:1}]},{functionName:ype.AVERAGEIF,functionType:Fhe.Statistical,description:"formula.functionList.AVERAGEIF.description",abstract:"formula.functionList.AVERAGEIF.abstract",functionParameter:[{name:"formula.functionList.AVERAGEIF.functionParameter.range.name",detail:"formula.functionList.AVERAGEIF.functionParameter.range.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.AVERAGEIF.functionParameter.criteria.name",detail:"formula.functionList.AVERAGEIF.functionParameter.criteria.detail",example:'">5"',require:1,repeat:0},{name:"formula.functionList.AVERAGEIF.functionParameter.averageRange.name",detail:"formula.functionList.AVERAGEIF.functionParameter.averageRange.detail",example:"B1:B20",require:0,repeat:0}]},{functionName:ype.AVERAGEIFS,functionType:Fhe.Statistical,description:"formula.functionList.AVERAGEIFS.description",abstract:"formula.functionList.AVERAGEIFS.abstract",functionParameter:[{name:"formula.functionList.AVERAGEIFS.functionParameter.averageRange.name",detail:"formula.functionList.AVERAGEIFS.functionParameter.averageRange.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.AVERAGEIFS.functionParameter.criteriaRange1.name",detail:"formula.functionList.AVERAGEIFS.functionParameter.criteriaRange1.detail",example:"B1:B20",require:1,repeat:0},{name:"formula.functionList.AVERAGEIFS.functionParameter.criteria1.name",detail:"formula.functionList.AVERAGEIFS.functionParameter.criteria1.detail",example:'">10"',require:1,repeat:0},{name:"formula.functionList.AVERAGEIFS.functionParameter.criteriaRange2.name",detail:"formula.functionList.AVERAGEIFS.functionParameter.criteriaRange2.detail",example:"C1:C20",require:0,repeat:1},{name:"formula.functionList.AVERAGEIFS.functionParameter.criteria2.name",detail:"formula.functionList.AVERAGEIFS.functionParameter.criteria2.detail",example:'"<20"',require:0,repeat:1}]},{functionName:ype.BETA_DIST,functionType:Fhe.Statistical,description:"formula.functionList.BETA_DIST.description",abstract:"formula.functionList.BETA_DIST.abstract",functionParameter:[{name:"formula.functionList.BETA_DIST.functionParameter.x.name",detail:"formula.functionList.BETA_DIST.functionParameter.x.detail",example:"2",require:1,repeat:0},{name:"formula.functionList.BETA_DIST.functionParameter.alpha.name",detail:"formula.functionList.BETA_DIST.functionParameter.alpha.detail",example:"8",require:1,repeat:0},{name:"formula.functionList.BETA_DIST.functionParameter.beta.name",detail:"formula.functionList.BETA_DIST.functionParameter.beta.detail",example:"10",require:1,repeat:0},{name:"formula.functionList.BETA_DIST.functionParameter.cumulative.name",detail:"formula.functionList.BETA_DIST.functionParameter.cumulative.detail",example:"true",require:1,repeat:0},{name:"formula.functionList.BETA_DIST.functionParameter.A.name",detail:"formula.functionList.BETA_DIST.functionParameter.A.detail",example:"1",require:0,repeat:0},{name:"formula.functionList.BETA_DIST.functionParameter.B.name",detail:"formula.functionList.BETA_DIST.functionParameter.B.detail",example:"3",require:0,repeat:0}]},{functionName:ype.BETA_INV,functionType:Fhe.Statistical,description:"formula.functionList.BETA_INV.description",abstract:"formula.functionList.BETA_INV.abstract",functionParameter:[{name:"formula.functionList.BETA_INV.functionParameter.probability.name",detail:"formula.functionList.BETA_INV.functionParameter.probability.detail",example:"0.685470581",require:1,repeat:0},{name:"formula.functionList.BETA_INV.functionParameter.alpha.name",detail:"formula.functionList.BETA_INV.functionParameter.alpha.detail",example:"8",require:1,repeat:0},{name:"formula.functionList.BETA_INV.functionParameter.beta.name",detail:"formula.functionList.BETA_INV.functionParameter.beta.detail",example:"10",require:1,repeat:0},{name:"formula.functionList.BETA_INV.functionParameter.A.name",detail:"formula.functionList.BETA_INV.functionParameter.A.detail",example:"1",require:0,repeat:0},{name:"formula.functionList.BETA_INV.functionParameter.B.name",detail:"formula.functionList.BETA_INV.functionParameter.B.detail",example:"3",require:0,repeat:0}]},{functionName:ype.BINOM_DIST,functionType:Fhe.Statistical,description:"formula.functionList.BINOM_DIST.description",abstract:"formula.functionList.BINOM_DIST.abstract",functionParameter:[{name:"formula.functionList.BINOM_DIST.functionParameter.numberS.name",detail:"formula.functionList.BINOM_DIST.functionParameter.numberS.detail",example:"6",require:1,repeat:0},{name:"formula.functionList.BINOM_DIST.functionParameter.trials.name",detail:"formula.functionList.BINOM_DIST.functionParameter.trials.detail",example:"10",require:1,repeat:0},{name:"formula.functionList.BINOM_DIST.functionParameter.probabilityS.name",detail:"formula.functionList.BINOM_DIST.functionParameter.probabilityS.detail",example:"0.5",require:1,repeat:0},{name:"formula.functionList.BINOM_DIST.functionParameter.cumulative.name",detail:"formula.functionList.BINOM_DIST.functionParameter.cumulative.detail",example:"false",require:1,repeat:0}]},{functionName:ype.BINOM_DIST_RANGE,functionType:Fhe.Statistical,description:"formula.functionList.BINOM_DIST_RANGE.description",abstract:"formula.functionList.BINOM_DIST_RANGE.abstract",functionParameter:[{name:"formula.functionList.BINOM_DIST_RANGE.functionParameter.trials.name",detail:"formula.functionList.BINOM_DIST_RANGE.functionParameter.trials.detail",example:"60",require:1,repeat:0},{name:"formula.functionList.BINOM_DIST_RANGE.functionParameter.probabilityS.name",detail:"formula.functionList.BINOM_DIST_RANGE.functionParameter.probabilityS.detail",example:"0.75",require:1,repeat:0},{name:"formula.functionList.BINOM_DIST_RANGE.functionParameter.numberS.name",detail:"formula.functionList.BINOM_DIST_RANGE.functionParameter.numberS.detail",example:"45",require:1,repeat:0},{name:"formula.functionList.BINOM_DIST_RANGE.functionParameter.numberS2.name",detail:"formula.functionList.BINOM_DIST_RANGE.functionParameter.numberS2.detail",example:"50",require:0,repeat:0}]},{functionName:ype.BINOM_INV,functionType:Fhe.Statistical,description:"formula.functionList.BINOM_INV.description",abstract:"formula.functionList.BINOM_INV.abstract",functionParameter:[{name:"formula.functionList.BINOM_INV.functionParameter.trials.name",detail:"formula.functionList.BINOM_INV.functionParameter.trials.detail",example:"6",require:1,repeat:0},{name:"formula.functionList.BINOM_INV.functionParameter.probabilityS.name",detail:"formula.functionList.BINOM_INV.functionParameter.probabilityS.detail",example:"0.5",require:1,repeat:0},{name:"formula.functionList.BINOM_INV.functionParameter.alpha.name",detail:"formula.functionList.BINOM_INV.functionParameter.alpha.detail",example:"0.75",require:1,repeat:0}]},{functionName:ype.CHISQ_DIST,functionType:Fhe.Statistical,description:"formula.functionList.CHISQ_DIST.description",abstract:"formula.functionList.CHISQ_DIST.abstract",functionParameter:[{name:"formula.functionList.CHISQ_DIST.functionParameter.x.name",detail:"formula.functionList.CHISQ_DIST.functionParameter.x.detail",example:"0.5",require:1,repeat:0},{name:"formula.functionList.CHISQ_DIST.functionParameter.degFreedom.name",detail:"formula.functionList.CHISQ_DIST.functionParameter.degFreedom.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.CHISQ_DIST.functionParameter.cumulative.name",detail:"formula.functionList.CHISQ_DIST.functionParameter.cumulative.detail",example:"true",require:1,repeat:0}]},{functionName:ype.CHISQ_DIST_RT,functionType:Fhe.Statistical,description:"formula.functionList.CHISQ_DIST_RT.description",abstract:"formula.functionList.CHISQ_DIST_RT.abstract",functionParameter:[{name:"formula.functionList.CHISQ_DIST_RT.functionParameter.x.name",detail:"formula.functionList.CHISQ_DIST_RT.functionParameter.x.detail",example:"0.5",require:1,repeat:0},{name:"formula.functionList.CHISQ_DIST_RT.functionParameter.degFreedom.name",detail:"formula.functionList.CHISQ_DIST_RT.functionParameter.degFreedom.detail",example:"1",require:1,repeat:0}]},{functionName:ype.CHISQ_INV,functionType:Fhe.Statistical,description:"formula.functionList.CHISQ_INV.description",abstract:"formula.functionList.CHISQ_INV.abstract",functionParameter:[{name:"formula.functionList.CHISQ_INV.functionParameter.probability.name",detail:"formula.functionList.CHISQ_INV.functionParameter.probability.detail",example:"0.93",require:1,repeat:0},{name:"formula.functionList.CHISQ_INV.functionParameter.degFreedom.name",detail:"formula.functionList.CHISQ_INV.functionParameter.degFreedom.detail",example:"1",require:1,repeat:0}]},{functionName:ype.CHISQ_INV_RT,functionType:Fhe.Statistical,description:"formula.functionList.CHISQ_INV_RT.description",abstract:"formula.functionList.CHISQ_INV_RT.abstract",functionParameter:[{name:"formula.functionList.CHISQ_INV_RT.functionParameter.probability.name",detail:"formula.functionList.CHISQ_INV_RT.functionParameter.probability.detail",example:"0.93",require:1,repeat:0},{name:"formula.functionList.CHISQ_INV_RT.functionParameter.degFreedom.name",detail:"formula.functionList.CHISQ_INV_RT.functionParameter.degFreedom.detail",example:"1",require:1,repeat:0}]},{functionName:ype.CHISQ_TEST,functionType:Fhe.Statistical,description:"formula.functionList.CHISQ_TEST.description",abstract:"formula.functionList.CHISQ_TEST.abstract",functionParameter:[{name:"formula.functionList.CHISQ_TEST.functionParameter.actualRange.name",detail:"formula.functionList.CHISQ_TEST.functionParameter.actualRange.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.CHISQ_TEST.functionParameter.expectedRange.name",detail:"formula.functionList.CHISQ_TEST.functionParameter.expectedRange.detail",example:"B1:B4",require:1,repeat:0}]},{functionName:ype.CONFIDENCE_NORM,functionType:Fhe.Statistical,description:"formula.functionList.CONFIDENCE_NORM.description",abstract:"formula.functionList.CONFIDENCE_NORM.abstract",functionParameter:[{name:"formula.functionList.CONFIDENCE_NORM.functionParameter.alpha.name",detail:"formula.functionList.CONFIDENCE_NORM.functionParameter.alpha.detail",example:"0.05",require:1,repeat:0},{name:"formula.functionList.CONFIDENCE_NORM.functionParameter.standardDev.name",detail:"formula.functionList.CONFIDENCE_NORM.functionParameter.standardDev.detail",example:"2.5",require:1,repeat:0},{name:"formula.functionList.CONFIDENCE_NORM.functionParameter.size.name",detail:"formula.functionList.CONFIDENCE_NORM.functionParameter.size.detail",example:"50",require:1,repeat:0}]},{functionName:ype.CONFIDENCE_T,functionType:Fhe.Statistical,description:"formula.functionList.CONFIDENCE_T.description",abstract:"formula.functionList.CONFIDENCE_T.abstract",functionParameter:[{name:"formula.functionList.CONFIDENCE_T.functionParameter.alpha.name",detail:"formula.functionList.CONFIDENCE_T.functionParameter.alpha.detail",example:"0.05",require:1,repeat:0},{name:"formula.functionList.CONFIDENCE_T.functionParameter.standardDev.name",detail:"formula.functionList.CONFIDENCE_T.functionParameter.standardDev.detail",example:"2.5",require:1,repeat:0},{name:"formula.functionList.CONFIDENCE_T.functionParameter.size.name",detail:"formula.functionList.CONFIDENCE_T.functionParameter.size.detail",example:"50",require:1,repeat:0}]},{functionName:ype.CORREL,functionType:Fhe.Statistical,description:"formula.functionList.CORREL.description",abstract:"formula.functionList.CORREL.abstract",functionParameter:[{name:"formula.functionList.CORREL.functionParameter.array1.name",detail:"formula.functionList.CORREL.functionParameter.array1.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.CORREL.functionParameter.array2.name",detail:"formula.functionList.CORREL.functionParameter.array2.detail",example:"B1:B4",require:1,repeat:0}]},{functionName:ype.COUNT,aliasFunctionName:"formula.functionList.COUNT.aliasFunctionName",functionType:Fhe.Statistical,description:"formula.functionList.COUNT.description",abstract:"formula.functionList.COUNT.abstract",functionParameter:[{name:"formula.functionList.COUNT.functionParameter.value1.name",detail:"formula.functionList.COUNT.functionParameter.value1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.COUNT.functionParameter.value2.name",detail:"formula.functionList.COUNT.functionParameter.value2.detail",example:"B2:B10",require:0,repeat:1}]},{functionName:ype.COUNTA,aliasFunctionName:"formula.functionList.COUNTA.aliasFunctionName",functionType:Fhe.Statistical,description:"formula.functionList.COUNTA.description",abstract:"formula.functionList.COUNTA.abstract",functionParameter:[{name:"formula.functionList.COUNTA.functionParameter.number1.name",detail:"formula.functionList.COUNTA.functionParameter.number1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.COUNTA.functionParameter.number2.name",detail:"formula.functionList.COUNTA.functionParameter.number2.detail",example:"B2:B10",require:0,repeat:1}]},{functionName:ype.COUNTBLANK,functionType:Fhe.Statistical,description:"formula.functionList.COUNTBLANK.description",abstract:"formula.functionList.COUNTBLANK.abstract",functionParameter:[{name:"formula.functionList.COUNTBLANK.functionParameter.range.name",detail:"formula.functionList.COUNTBLANK.functionParameter.range.detail",example:"A1:A20",require:1,repeat:0}]},{functionName:ype.COUNTIF,functionType:Fhe.Statistical,description:"formula.functionList.COUNTIF.description",abstract:"formula.functionList.COUNTIF.abstract",functionParameter:[{name:"formula.functionList.COUNTIF.functionParameter.range.name",detail:"formula.functionList.COUNTIF.functionParameter.range.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.COUNTIF.functionParameter.criteria.name",detail:"formula.functionList.COUNTIF.functionParameter.criteria.detail",example:'">5"',require:1,repeat:0}]},{functionName:ype.COUNTIFS,functionType:Fhe.Statistical,description:"formula.functionList.COUNTIFS.description",abstract:"formula.functionList.COUNTIFS.abstract",functionParameter:[{name:"formula.functionList.COUNTIFS.functionParameter.criteriaRange1.name",detail:"formula.functionList.COUNTIFS.functionParameter.criteriaRange1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.COUNTIFS.functionParameter.criteria1.name",detail:"formula.functionList.COUNTIFS.functionParameter.criteria1.detail",example:'">10"',require:1,repeat:0},{name:"formula.functionList.COUNTIFS.functionParameter.criteriaRange2.name",detail:"formula.functionList.COUNTIFS.functionParameter.criteriaRange2.detail",example:"B1:B20",require:0,repeat:1},{name:"formula.functionList.COUNTIFS.functionParameter.criteria2.name",detail:"formula.functionList.COUNTIFS.functionParameter.criteria2.detail",example:'"<20"',require:0,repeat:1}]},{functionName:ype.COVARIANCE_P,functionType:Fhe.Statistical,description:"formula.functionList.COVARIANCE_P.description",abstract:"formula.functionList.COVARIANCE_P.abstract",functionParameter:[{name:"formula.functionList.COVARIANCE_P.functionParameter.array1.name",detail:"formula.functionList.COVARIANCE_P.functionParameter.array1.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.COVARIANCE_P.functionParameter.array2.name",detail:"formula.functionList.COVARIANCE_P.functionParameter.array2.detail",example:"B1:B4",require:1,repeat:0}]},{functionName:ype.COVARIANCE_S,functionType:Fhe.Statistical,description:"formula.functionList.COVARIANCE_S.description",abstract:"formula.functionList.COVARIANCE_S.abstract",functionParameter:[{name:"formula.functionList.COVARIANCE_S.functionParameter.array1.name",detail:"formula.functionList.COVARIANCE_S.functionParameter.array1.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.COVARIANCE_S.functionParameter.array2.name",detail:"formula.functionList.COVARIANCE_S.functionParameter.array2.detail",example:"B1:B4",require:1,repeat:0}]},{functionName:ype.DEVSQ,functionType:Fhe.Statistical,description:"formula.functionList.DEVSQ.description",abstract:"formula.functionList.DEVSQ.abstract",functionParameter:[{name:"formula.functionList.DEVSQ.functionParameter.number1.name",detail:"formula.functionList.DEVSQ.functionParameter.number1.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.DEVSQ.functionParameter.number2.name",detail:"formula.functionList.DEVSQ.functionParameter.number2.detail",example:"2",require:0,repeat:1}]},{functionName:ype.EXPON_DIST,functionType:Fhe.Statistical,description:"formula.functionList.EXPON_DIST.description",abstract:"formula.functionList.EXPON_DIST.abstract",functionParameter:[{name:"formula.functionList.EXPON_DIST.functionParameter.x.name",detail:"formula.functionList.EXPON_DIST.functionParameter.x.detail",example:"0.2",require:1,repeat:0},{name:"formula.functionList.EXPON_DIST.functionParameter.lambda.name",detail:"formula.functionList.EXPON_DIST.functionParameter.lambda.detail",example:"10",require:1,repeat:0},{name:"formula.functionList.EXPON_DIST.functionParameter.cumulative.name",detail:"formula.functionList.EXPON_DIST.functionParameter.cumulative.detail",example:"true",require:1,repeat:0}]},{functionName:ype.F_DIST,functionType:Fhe.Statistical,description:"formula.functionList.F_DIST.description",abstract:"formula.functionList.F_DIST.abstract",functionParameter:[{name:"formula.functionList.F_DIST.functionParameter.x.name",detail:"formula.functionList.F_DIST.functionParameter.x.detail",example:"15.2069",require:1,repeat:0},{name:"formula.functionList.F_DIST.functionParameter.degFreedom1.name",detail:"formula.functionList.F_DIST.functionParameter.degFreedom1.detail",example:"6",require:1,repeat:0},{name:"formula.functionList.F_DIST.functionParameter.degFreedom2.name",detail:"formula.functionList.F_DIST.functionParameter.degFreedom2.detail",example:"4",require:1,repeat:0},{name:"formula.functionList.F_DIST.functionParameter.cumulative.name",detail:"formula.functionList.F_DIST.functionParameter.cumulative.detail",example:"true",require:1,repeat:0}]},{functionName:ype.F_DIST_RT,functionType:Fhe.Statistical,description:"formula.functionList.F_DIST_RT.description",abstract:"formula.functionList.F_DIST_RT.abstract",functionParameter:[{name:"formula.functionList.F_DIST_RT.functionParameter.x.name",detail:"formula.functionList.F_DIST_RT.functionParameter.x.detail",example:"15.2069",require:1,repeat:0},{name:"formula.functionList.F_DIST_RT.functionParameter.degFreedom1.name",detail:"formula.functionList.F_DIST_RT.functionParameter.degFreedom1.detail",example:"6",require:1,repeat:0},{name:"formula.functionList.F_DIST_RT.functionParameter.degFreedom2.name",detail:"formula.functionList.F_DIST_RT.functionParameter.degFreedom2.detail",example:"4",require:1,repeat:0}]},{functionName:ype.F_INV,functionType:Fhe.Statistical,description:"formula.functionList.F_INV.description",abstract:"formula.functionList.F_INV.abstract",functionParameter:[{name:"formula.functionList.F_INV.functionParameter.probability.name",detail:"formula.functionList.F_INV.functionParameter.probability.detail",example:"0.01",require:1,repeat:0},{name:"formula.functionList.F_INV.functionParameter.degFreedom1.name",detail:"formula.functionList.F_INV.functionParameter.degFreedom1.detail",example:"6",require:1,repeat:0},{name:"formula.functionList.F_INV.functionParameter.degFreedom2.name",detail:"formula.functionList.F_INV.functionParameter.degFreedom2.detail",example:"4",require:1,repeat:0}]},{functionName:ype.F_INV_RT,functionType:Fhe.Statistical,description:"formula.functionList.F_INV_RT.description",abstract:"formula.functionList.F_INV_RT.abstract",functionParameter:[{name:"formula.functionList.F_INV_RT.functionParameter.probability.name",detail:"formula.functionList.F_INV_RT.functionParameter.probability.detail",example:"0.01",require:1,repeat:0},{name:"formula.functionList.F_INV_RT.functionParameter.degFreedom1.name",detail:"formula.functionList.F_INV_RT.functionParameter.degFreedom1.detail",example:"6",require:1,repeat:0},{name:"formula.functionList.F_INV_RT.functionParameter.degFreedom2.name",detail:"formula.functionList.F_INV_RT.functionParameter.degFreedom2.detail",example:"4",require:1,repeat:0}]},{functionName:ype.F_TEST,functionType:Fhe.Statistical,description:"formula.functionList.F_TEST.description",abstract:"formula.functionList.F_TEST.abstract",functionParameter:[{name:"formula.functionList.F_TEST.functionParameter.array1.name",detail:"formula.functionList.F_TEST.functionParameter.array1.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.F_TEST.functionParameter.array2.name",detail:"formula.functionList.F_TEST.functionParameter.array2.detail",example:"B1:B4",require:1,repeat:0}]},{functionName:ype.FISHER,functionType:Fhe.Statistical,description:"formula.functionList.FISHER.description",abstract:"formula.functionList.FISHER.abstract",functionParameter:[{name:"formula.functionList.FISHER.functionParameter.x.name",detail:"formula.functionList.FISHER.functionParameter.x.detail",example:"0.75",require:1,repeat:0}]},{functionName:ype.FISHERINV,functionType:Fhe.Statistical,description:"formula.functionList.FISHERINV.description",abstract:"formula.functionList.FISHERINV.abstract",functionParameter:[{name:"formula.functionList.FISHERINV.functionParameter.y.name",detail:"formula.functionList.FISHERINV.functionParameter.y.detail",example:"0.75",require:1,repeat:0}]},{functionName:ype.FORECAST,functionType:Fhe.Statistical,description:"formula.functionList.FORECAST.description",abstract:"formula.functionList.FORECAST.abstract",functionParameter:[{name:"formula.functionList.FORECAST.functionParameter.x.name",detail:"formula.functionList.FORECAST.functionParameter.x.detail",example:"30",require:1,repeat:0},{name:"formula.functionList.FORECAST.functionParameter.knownYs.name",detail:"formula.functionList.FORECAST.functionParameter.knownYs.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.FORECAST.functionParameter.knownXs.name",detail:"formula.functionList.FORECAST.functionParameter.knownXs.detail",example:"B1:B4",require:1,repeat:0}]},{functionName:ype.FORECAST_ETS,functionType:Fhe.Statistical,description:"formula.functionList.FORECAST_ETS.description",abstract:"formula.functionList.FORECAST_ETS.abstract",functionParameter:[{name:"formula.functionList.FORECAST_ETS.functionParameter.number1.name",detail:"formula.functionList.FORECAST_ETS.functionParameter.number1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.FORECAST_ETS.functionParameter.number2.name",detail:"formula.functionList.FORECAST_ETS.functionParameter.number2.detail",example:"A1:A20",require:1,repeat:0}]},{functionName:ype.FORECAST_ETS_CONFINT,functionType:Fhe.Statistical,description:"formula.functionList.FORECAST_ETS_CONFINT.description",abstract:"formula.functionList.FORECAST_ETS_CONFINT.abstract",functionParameter:[{name:"formula.functionList.FORECAST_ETS_CONFINT.functionParameter.number1.name",detail:"formula.functionList.FORECAST_ETS_CONFINT.functionParameter.number1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.FORECAST_ETS_CONFINT.functionParameter.number2.name",detail:"formula.functionList.FORECAST_ETS_CONFINT.functionParameter.number2.detail",example:"A1:A20",require:1,repeat:0}]},{functionName:ype.FORECAST_ETS_SEASONALITY,functionType:Fhe.Statistical,description:"formula.functionList.FORECAST_ETS_SEASONALITY.description",abstract:"formula.functionList.FORECAST_ETS_SEASONALITY.abstract",functionParameter:[{name:"formula.functionList.FORECAST_ETS_SEASONALITY.functionParameter.number1.name",detail:"formula.functionList.FORECAST_ETS_SEASONALITY.functionParameter.number1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.FORECAST_ETS_SEASONALITY.functionParameter.number2.name",detail:"formula.functionList.FORECAST_ETS_SEASONALITY.functionParameter.number2.detail",example:"A1:A20",require:1,repeat:0}]},{functionName:ype.FORECAST_ETS_STAT,functionType:Fhe.Statistical,description:"formula.functionList.FORECAST_ETS_STAT.description",abstract:"formula.functionList.FORECAST_ETS_STAT.abstract",functionParameter:[{name:"formula.functionList.FORECAST_ETS_STAT.functionParameter.number1.name",detail:"formula.functionList.FORECAST_ETS_STAT.functionParameter.number1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.FORECAST_ETS_STAT.functionParameter.number2.name",detail:"formula.functionList.FORECAST_ETS_STAT.functionParameter.number2.detail",example:"A1:A20",require:1,repeat:0}]},{functionName:ype.FORECAST_LINEAR,functionType:Fhe.Statistical,description:"formula.functionList.FORECAST_LINEAR.description",abstract:"formula.functionList.FORECAST_LINEAR.abstract",functionParameter:[{name:"formula.functionList.FORECAST_LINEAR.functionParameter.x.name",detail:"formula.functionList.FORECAST_LINEAR.functionParameter.x.detail",example:"30",require:1,repeat:0},{name:"formula.functionList.FORECAST_LINEAR.functionParameter.knownYs.name",detail:"formula.functionList.FORECAST_LINEAR.functionParameter.knownYs.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.FORECAST_LINEAR.functionParameter.knownXs.name",detail:"formula.functionList.FORECAST_LINEAR.functionParameter.knownXs.detail",example:"B1:B4",require:1,repeat:0}]},{functionName:ype.FREQUENCY,functionType:Fhe.Statistical,description:"formula.functionList.FREQUENCY.description",abstract:"formula.functionList.FREQUENCY.abstract",functionParameter:[{name:"formula.functionList.FREQUENCY.functionParameter.dataArray.name",detail:"formula.functionList.FREQUENCY.functionParameter.dataArray.detail",example:"A2:A10",require:1,repeat:0},{name:"formula.functionList.FREQUENCY.functionParameter.binsArray.name",detail:"formula.functionList.FREQUENCY.functionParameter.binsArray.detail",example:"B2:B4",require:1,repeat:0}]},{functionName:ype.GAMMA,functionType:Fhe.Statistical,description:"formula.functionList.GAMMA.description",abstract:"formula.functionList.GAMMA.abstract",functionParameter:[{name:"formula.functionList.GAMMA.functionParameter.number.name",detail:"formula.functionList.GAMMA.functionParameter.number.detail",example:"2.5",require:1,repeat:0}]},{functionName:ype.GAMMA_DIST,functionType:Fhe.Statistical,description:"formula.functionList.GAMMA_DIST.description",abstract:"formula.functionList.GAMMA_DIST.abstract",functionParameter:[{name:"formula.functionList.GAMMA_DIST.functionParameter.x.name",detail:"formula.functionList.GAMMA_DIST.functionParameter.x.detail",example:"10",require:1,repeat:0},{name:"formula.functionList.GAMMA_DIST.functionParameter.alpha.name",detail:"formula.functionList.GAMMA_DIST.functionParameter.alpha.detail",example:"8",require:1,repeat:0},{name:"formula.functionList.GAMMA_DIST.functionParameter.beta.name",detail:"formula.functionList.GAMMA_DIST.functionParameter.beta.detail",example:"2",require:1,repeat:0},{name:"formula.functionList.GAMMA_DIST.functionParameter.cumulative.name",detail:"formula.functionList.GAMMA_DIST.functionParameter.cumulative.detail",example:"true",require:1,repeat:0}]},{functionName:ype.GAMMA_INV,functionType:Fhe.Statistical,description:"formula.functionList.GAMMA_INV.description",abstract:"formula.functionList.GAMMA_INV.abstract",functionParameter:[{name:"formula.functionList.GAMMA_INV.functionParameter.probability.name",detail:"formula.functionList.GAMMA_INV.functionParameter.probability.detail",example:"0.068094",require:1,repeat:0},{name:"formula.functionList.GAMMA_INV.functionParameter.alpha.name",detail:"formula.functionList.GAMMA_INV.functionParameter.alpha.detail",example:"9",require:1,repeat:0},{name:"formula.functionList.GAMMA_INV.functionParameter.beta.name",detail:"formula.functionList.GAMMA_INV.functionParameter.beta.detail",example:"2",require:1,repeat:0}]},{functionName:ype.GAMMALN,functionType:Fhe.Statistical,description:"formula.functionList.GAMMALN.description",abstract:"formula.functionList.GAMMALN.abstract",functionParameter:[{name:"formula.functionList.GAMMALN.functionParameter.x.name",detail:"formula.functionList.GAMMALN.functionParameter.x.detail",example:"4",require:1,repeat:0}]},{functionName:ype.GAMMALN_PRECISE,functionType:Fhe.Statistical,description:"formula.functionList.GAMMALN_PRECISE.description",abstract:"formula.functionList.GAMMALN_PRECISE.abstract",functionParameter:[{name:"formula.functionList.GAMMALN_PRECISE.functionParameter.x.name",detail:"formula.functionList.GAMMALN_PRECISE.functionParameter.x.detail",example:"4",require:1,repeat:0}]},{functionName:ype.GAUSS,functionType:Fhe.Statistical,description:"formula.functionList.GAUSS.description",abstract:"formula.functionList.GAUSS.abstract",functionParameter:[{name:"formula.functionList.GAUSS.functionParameter.z.name",detail:"formula.functionList.GAUSS.functionParameter.z.detail",example:"2",require:1,repeat:0}]},{functionName:ype.GEOMEAN,functionType:Fhe.Statistical,description:"formula.functionList.GEOMEAN.description",abstract:"formula.functionList.GEOMEAN.abstract",functionParameter:[{name:"formula.functionList.GEOMEAN.functionParameter.number1.name",detail:"formula.functionList.GEOMEAN.functionParameter.number1.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.GEOMEAN.functionParameter.number2.name",detail:"formula.functionList.GEOMEAN.functionParameter.number2.detail",example:"2",require:0,repeat:1}]},{functionName:ype.GROWTH,functionType:Fhe.Statistical,description:"formula.functionList.GROWTH.description",abstract:"formula.functionList.GROWTH.abstract",functionParameter:[{name:"formula.functionList.GROWTH.functionParameter.knownYs.name",detail:"formula.functionList.GROWTH.functionParameter.knownYs.detail",example:"B2:B7",require:1,repeat:0},{name:"formula.functionList.GROWTH.functionParameter.knownXs.name",detail:"formula.functionList.GROWTH.functionParameter.knownXs.detail",example:"A2:A7",require:0,repeat:0},{name:"formula.functionList.GROWTH.functionParameter.newXs.name",detail:"formula.functionList.GROWTH.functionParameter.newXs.detail",example:"A9:A10",require:0,repeat:0},{name:"formula.functionList.GROWTH.functionParameter.constb.name",detail:"formula.functionList.GROWTH.functionParameter.constb.detail",example:"true",require:0,repeat:0}]},{functionName:ype.HARMEAN,functionType:Fhe.Statistical,description:"formula.functionList.HARMEAN.description",abstract:"formula.functionList.HARMEAN.abstract",functionParameter:[{name:"formula.functionList.HARMEAN.functionParameter.number1.name",detail:"formula.functionList.HARMEAN.functionParameter.number1.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.HARMEAN.functionParameter.number2.name",detail:"formula.functionList.HARMEAN.functionParameter.number2.detail",example:"2",require:0,repeat:1}]},{functionName:ype.HYPGEOM_DIST,functionType:Fhe.Statistical,description:"formula.functionList.HYPGEOM_DIST.description",abstract:"formula.functionList.HYPGEOM_DIST.abstract",functionParameter:[{name:"formula.functionList.HYPGEOM_DIST.functionParameter.sampleS.name",detail:"formula.functionList.HYPGEOM_DIST.functionParameter.sampleS.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.HYPGEOM_DIST.functionParameter.numberSample.name",detail:"formula.functionList.HYPGEOM_DIST.functionParameter.numberSample.detail",example:"4",require:1,repeat:0},{name:"formula.functionList.HYPGEOM_DIST.functionParameter.populationS.name",detail:"formula.functionList.HYPGEOM_DIST.functionParameter.populationS.detail",example:"8",require:1,repeat:0},{name:"formula.functionList.HYPGEOM_DIST.functionParameter.numberPop.name",detail:"formula.functionList.HYPGEOM_DIST.functionParameter.numberPop.detail",example:"20",require:1,repeat:0},{name:"formula.functionList.HYPGEOM_DIST.functionParameter.cumulative.name",detail:"formula.functionList.HYPGEOM_DIST.functionParameter.cumulative.detail",example:"true",require:1,repeat:0}]},{functionName:ype.INTERCEPT,functionType:Fhe.Statistical,description:"formula.functionList.INTERCEPT.description",abstract:"formula.functionList.INTERCEPT.abstract",functionParameter:[{name:"formula.functionList.INTERCEPT.functionParameter.knownYs.name",detail:"formula.functionList.INTERCEPT.functionParameter.knownYs.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.INTERCEPT.functionParameter.knownXs.name",detail:"formula.functionList.INTERCEPT.functionParameter.knownXs.detail",example:"B1:B4",require:1,repeat:0}]},{functionName:ype.KURT,functionType:Fhe.Statistical,description:"formula.functionList.KURT.description",abstract:"formula.functionList.KURT.abstract",functionParameter:[{name:"formula.functionList.KURT.functionParameter.number1.name",detail:"formula.functionList.KURT.functionParameter.number1.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.KURT.functionParameter.number2.name",detail:"formula.functionList.KURT.functionParameter.number2.detail",example:"4",require:0,repeat:1}]},{functionName:ype.LARGE,functionType:Fhe.Statistical,description:"formula.functionList.LARGE.description",abstract:"formula.functionList.LARGE.abstract",functionParameter:[{name:"formula.functionList.LARGE.functionParameter.array.name",detail:"formula.functionList.LARGE.functionParameter.array.detail",example:"A2:B6",require:1,repeat:0},{name:"formula.functionList.LARGE.functionParameter.k.name",detail:"formula.functionList.LARGE.functionParameter.k.detail",example:"3",require:1,repeat:0}]},{functionName:ype.LINEST,functionType:Fhe.Statistical,description:"formula.functionList.LINEST.description",abstract:"formula.functionList.LINEST.abstract",functionParameter:[{name:"formula.functionList.LINEST.functionParameter.knownYs.name",detail:"formula.functionList.LINEST.functionParameter.knownYs.detail",example:"B2:B7",require:1,repeat:0},{name:"formula.functionList.LINEST.functionParameter.knownXs.name",detail:"formula.functionList.LINEST.functionParameter.knownXs.detail",example:"A2:A7",require:0,repeat:0},{name:"formula.functionList.LINEST.functionParameter.constb.name",detail:"formula.functionList.LINEST.functionParameter.constb.detail",example:"true",require:0,repeat:0},{name:"formula.functionList.LINEST.functionParameter.stats.name",detail:"formula.functionList.LINEST.functionParameter.stats.detail",example:"true",require:0,repeat:0}]},{functionName:ype.LOGEST,functionType:Fhe.Statistical,description:"formula.functionList.LOGEST.description",abstract:"formula.functionList.LOGEST.abstract",functionParameter:[{name:"formula.functionList.LOGEST.functionParameter.knownYs.name",detail:"formula.functionList.LOGEST.functionParameter.knownYs.detail",example:"B2:B7",require:1,repeat:0},{name:"formula.functionList.LOGEST.functionParameter.knownXs.name",detail:"formula.functionList.LOGEST.functionParameter.knownXs.detail",example:"A2:A7",require:0,repeat:0},{name:"formula.functionList.LOGEST.functionParameter.constb.name",detail:"formula.functionList.LOGEST.functionParameter.constb.detail",example:"true",require:0,repeat:0},{name:"formula.functionList.LOGEST.functionParameter.stats.name",detail:"formula.functionList.LOGEST.functionParameter.stats.detail",example:"true",require:0,repeat:0}]},{functionName:ype.LOGNORM_DIST,functionType:Fhe.Statistical,description:"formula.functionList.LOGNORM_DIST.description",abstract:"formula.functionList.LOGNORM_DIST.abstract",functionParameter:[{name:"formula.functionList.LOGNORM_DIST.functionParameter.x.name",detail:"formula.functionList.LOGNORM_DIST.functionParameter.x.detail",example:"42",require:1,repeat:0},{name:"formula.functionList.LOGNORM_DIST.functionParameter.mean.name",detail:"formula.functionList.LOGNORM_DIST.functionParameter.mean.detail",example:"40",require:1,repeat:0},{name:"formula.functionList.LOGNORM_DIST.functionParameter.standardDev.name",detail:"formula.functionList.LOGNORM_DIST.functionParameter.standardDev.detail",example:"1.5",require:1,repeat:0},{name:"formula.functionList.LOGNORM_DIST.functionParameter.cumulative.name",detail:"formula.functionList.LOGNORM_DIST.functionParameter.cumulative.detail",example:"true",require:1,repeat:0}]},{functionName:ype.LOGNORM_INV,functionType:Fhe.Statistical,description:"formula.functionList.LOGNORM_INV.description",abstract:"formula.functionList.LOGNORM_INV.abstract",functionParameter:[{name:"formula.functionList.LOGNORM_INV.functionParameter.probability.name",detail:"formula.functionList.LOGNORM_INV.functionParameter.probability.detail",example:"0.908789",require:1,repeat:0},{name:"formula.functionList.LOGNORM_INV.functionParameter.mean.name",detail:"formula.functionList.LOGNORM_INV.functionParameter.mean.detail",example:"40",require:1,repeat:0},{name:"formula.functionList.LOGNORM_INV.functionParameter.standardDev.name",detail:"formula.functionList.LOGNORM_INV.functionParameter.standardDev.detail",example:"1.5",require:1,repeat:0}]},{functionName:ype.MARGINOFERROR,aliasFunctionName:"formula.functionList.MARGINOFERROR.aliasFunctionName",functionType:Fhe.Statistical,description:"formula.functionList.MARGINOFERROR.description",abstract:"formula.functionList.MARGINOFERROR.abstract",functionParameter:[{name:"formula.functionList.MARGINOFERROR.functionParameter.range.name",detail:"formula.functionList.MARGINOFERROR.functionParameter.range.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.MARGINOFERROR.functionParameter.confidence.name",detail:"formula.functionList.MARGINOFERROR.functionParameter.confidence.detail",example:"0.95",require:1,repeat:0}]},{functionName:ype.MAX,aliasFunctionName:"formula.functionList.MAX.aliasFunctionName",functionType:Fhe.Statistical,description:"formula.functionList.MAX.description",abstract:"formula.functionList.MAX.abstract",functionParameter:[{name:"formula.functionList.MAX.functionParameter.number1.name",detail:"formula.functionList.MAX.functionParameter.number1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.MAX.functionParameter.number2.name",detail:"formula.functionList.MAX.functionParameter.number2.detail",example:"B2:B10",require:0,repeat:1}]},{functionName:ype.MAXA,functionType:Fhe.Statistical,description:"formula.functionList.MAXA.description",abstract:"formula.functionList.MAXA.abstract",functionParameter:[{name:"formula.functionList.MAXA.functionParameter.value1.name",detail:"formula.functionList.MAXA.functionParameter.value1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.MAXA.functionParameter.value2.name",detail:"formula.functionList.MAXA.functionParameter.value2.detail",example:"B1:B20",require:0,repeat:1}]},{functionName:ype.MAXIFS,functionType:Fhe.Statistical,description:"formula.functionList.MAXIFS.description",abstract:"formula.functionList.MAXIFS.abstract",functionParameter:[{name:"formula.functionList.MAXIFS.functionParameter.maxRange.name",detail:"formula.functionList.MAXIFS.functionParameter.maxRange.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.MAXIFS.functionParameter.criteriaRange1.name",detail:"formula.functionList.MAXIFS.functionParameter.criteriaRange1.detail",example:"B1:B20",require:1,repeat:0},{name:"formula.functionList.MAXIFS.functionParameter.criteria1.name",detail:"formula.functionList.MAXIFS.functionParameter.criteria1.detail",example:'">10"',require:1,repeat:0},{name:"formula.functionList.MAXIFS.functionParameter.criteriaRange2.name",detail:"formula.functionList.MAXIFS.functionParameter.criteriaRange2.detail",example:"C1:C20",require:0,repeat:1},{name:"formula.functionList.MAXIFS.functionParameter.criteria2.name",detail:"formula.functionList.MAXIFS.functionParameter.criteria2.detail",example:'"<20"',require:0,repeat:1}]},{functionName:ype.MEDIAN,functionType:Fhe.Statistical,description:"formula.functionList.MEDIAN.description",abstract:"formula.functionList.MEDIAN.abstract",functionParameter:[{name:"formula.functionList.MEDIAN.functionParameter.number1.name",detail:"formula.functionList.MEDIAN.functionParameter.number1.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.MEDIAN.functionParameter.number2.name",detail:"formula.functionList.MEDIAN.functionParameter.number2.detail",example:"2",require:0,repeat:1}]},{functionName:ype.MIN,aliasFunctionName:"formula.functionList.MIN.aliasFunctionName",functionType:Fhe.Statistical,description:"formula.functionList.MIN.description",abstract:"formula.functionList.MIN.abstract",functionParameter:[{name:"formula.functionList.MIN.functionParameter.number1.name",detail:"formula.functionList.MIN.functionParameter.number1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.MIN.functionParameter.number2.name",detail:"formula.functionList.MIN.functionParameter.number2.detail",example:"B2:B10",require:0,repeat:1}]},{functionName:ype.MINA,functionType:Fhe.Statistical,description:"formula.functionList.MINA.description",abstract:"formula.functionList.MINA.abstract",functionParameter:[{name:"formula.functionList.MINA.functionParameter.value1.name",detail:"formula.functionList.MINA.functionParameter.value1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.MINA.functionParameter.value2.name",detail:"formula.functionList.MINA.functionParameter.value2.detail",example:"B1:B20",require:0,repeat:1}]},{functionName:ype.MINIFS,functionType:Fhe.Statistical,description:"formula.functionList.MINIFS.description",abstract:"formula.functionList.MINIFS.abstract",functionParameter:[{name:"formula.functionList.MINIFS.functionParameter.minRange.name",detail:"formula.functionList.MINIFS.functionParameter.minRange.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.MINIFS.functionParameter.criteriaRange1.name",detail:"formula.functionList.MINIFS.functionParameter.criteriaRange1.detail",example:"B1:B20",require:1,repeat:0},{name:"formula.functionList.MINIFS.functionParameter.criteria1.name",detail:"formula.functionList.MINIFS.functionParameter.criteria1.detail",example:'">10"',require:1,repeat:0},{name:"formula.functionList.MINIFS.functionParameter.criteriaRange2.name",detail:"formula.functionList.MINIFS.functionParameter.criteriaRange2.detail",example:"C1:C20",require:0,repeat:1},{name:"formula.functionList.MINIFS.functionParameter.criteria2.name",detail:"formula.functionList.MINIFS.functionParameter.criteria2.detail",example:'"<20"',require:0,repeat:1}]},{functionName:ype.MODE_MULT,functionType:Fhe.Statistical,description:"formula.functionList.MODE_MULT.description",abstract:"formula.functionList.MODE_MULT.abstract",functionParameter:[{name:"formula.functionList.MODE_MULT.functionParameter.number1.name",detail:"formula.functionList.MODE_MULT.functionParameter.number1.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.MODE_MULT.functionParameter.number2.name",detail:"formula.functionList.MODE_MULT.functionParameter.number2.detail",example:"2",require:0,repeat:1}]},{functionName:ype.MODE_SNGL,functionType:Fhe.Statistical,description:"formula.functionList.MODE_SNGL.description",abstract:"formula.functionList.MODE_SNGL.abstract",functionParameter:[{name:"formula.functionList.MODE_SNGL.functionParameter.number1.name",detail:"formula.functionList.MODE_SNGL.functionParameter.number1.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.MODE_SNGL.functionParameter.number2.name",detail:"formula.functionList.MODE_SNGL.functionParameter.number2.detail",example:"2",require:0,repeat:1}]},{functionName:ype.NEGBINOM_DIST,functionType:Fhe.Statistical,description:"formula.functionList.NEGBINOM_DIST.description",abstract:"formula.functionList.NEGBINOM_DIST.abstract",functionParameter:[{name:"formula.functionList.NEGBINOM_DIST.functionParameter.numberF.name",detail:"formula.functionList.NEGBINOM_DIST.functionParameter.numberF.detail",example:"10",require:1,repeat:0},{name:"formula.functionList.NEGBINOM_DIST.functionParameter.numberS.name",detail:"formula.functionList.NEGBINOM_DIST.functionParameter.numberS.detail",example:"5",require:1,repeat:0},{name:"formula.functionList.NEGBINOM_DIST.functionParameter.probabilityS.name",detail:"formula.functionList.NEGBINOM_DIST.functionParameter.probabilityS.detail",example:"0.25",require:1,repeat:0},{name:"formula.functionList.NEGBINOM_DIST.functionParameter.cumulative.name",detail:"formula.functionList.NEGBINOM_DIST.functionParameter.cumulative.detail",example:"true",require:1,repeat:0}]},{functionName:ype.NORM_DIST,functionType:Fhe.Statistical,description:"formula.functionList.NORM_DIST.description",abstract:"formula.functionList.NORM_DIST.abstract",functionParameter:[{name:"formula.functionList.NORM_DIST.functionParameter.x.name",detail:"formula.functionList.NORM_DIST.functionParameter.x.detail",example:"42",require:1,repeat:0},{name:"formula.functionList.NORM_DIST.functionParameter.mean.name",detail:"formula.functionList.NORM_DIST.functionParameter.mean.detail",example:"40",require:1,repeat:0},{name:"formula.functionList.NORM_DIST.functionParameter.standardDev.name",detail:"formula.functionList.NORM_DIST.functionParameter.standardDev.detail",example:"1.5",require:1,repeat:0},{name:"formula.functionList.NORM_DIST.functionParameter.cumulative.name",detail:"formula.functionList.NORM_DIST.functionParameter.cumulative.detail",example:"true",require:1,repeat:0}]},{functionName:ype.NORM_INV,functionType:Fhe.Statistical,description:"formula.functionList.NORM_INV.description",abstract:"formula.functionList.NORM_INV.abstract",functionParameter:[{name:"formula.functionList.NORM_INV.functionParameter.probability.name",detail:"formula.functionList.NORM_INV.functionParameter.probability.detail",example:"0.908789",require:1,repeat:0},{name:"formula.functionList.NORM_INV.functionParameter.mean.name",detail:"formula.functionList.NORM_INV.functionParameter.mean.detail",example:"40",require:1,repeat:0},{name:"formula.functionList.NORM_INV.functionParameter.standardDev.name",detail:"formula.functionList.NORM_INV.functionParameter.standardDev.detail",example:"1.5",require:1,repeat:0}]},{functionName:ype.NORM_S_DIST,functionType:Fhe.Statistical,description:"formula.functionList.NORM_S_DIST.description",abstract:"formula.functionList.NORM_S_DIST.abstract",functionParameter:[{name:"formula.functionList.NORM_S_DIST.functionParameter.z.name",detail:"formula.functionList.NORM_S_DIST.functionParameter.z.detail",example:"1.333333",require:1,repeat:0},{name:"formula.functionList.NORM_S_DIST.functionParameter.cumulative.name",detail:"formula.functionList.NORM_S_DIST.functionParameter.cumulative.detail",example:"true",require:1,repeat:0}]},{functionName:ype.NORM_S_INV,functionType:Fhe.Statistical,description:"formula.functionList.NORM_S_INV.description",abstract:"formula.functionList.NORM_S_INV.abstract",functionParameter:[{name:"formula.functionList.NORM_S_INV.functionParameter.probability.name",detail:"formula.functionList.NORM_S_INV.functionParameter.probability.detail",example:"0.908789",require:1,repeat:0}]},{functionName:ype.PEARSON,functionType:Fhe.Statistical,description:"formula.functionList.PEARSON.description",abstract:"formula.functionList.PEARSON.abstract",functionParameter:[{name:"formula.functionList.PEARSON.functionParameter.array1.name",detail:"formula.functionList.PEARSON.functionParameter.array1.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.PEARSON.functionParameter.array2.name",detail:"formula.functionList.PEARSON.functionParameter.array2.detail",example:"B1:B4",require:1,repeat:0}]},{functionName:ype.PERCENTILE_EXC,functionType:Fhe.Statistical,description:"formula.functionList.PERCENTILE_EXC.description",abstract:"formula.functionList.PERCENTILE_EXC.abstract",functionParameter:[{name:"formula.functionList.PERCENTILE_EXC.functionParameter.array.name",detail:"formula.functionList.PERCENTILE_EXC.functionParameter.array.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.PERCENTILE_EXC.functionParameter.k.name",detail:"formula.functionList.PERCENTILE_EXC.functionParameter.k.detail",example:"0.3",require:1,repeat:0}]},{functionName:ype.PERCENTILE_INC,functionType:Fhe.Statistical,description:"formula.functionList.PERCENTILE_INC.description",abstract:"formula.functionList.PERCENTILE_INC.abstract",functionParameter:[{name:"formula.functionList.PERCENTILE_INC.functionParameter.array.name",detail:"formula.functionList.PERCENTILE_INC.functionParameter.array.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.PERCENTILE_INC.functionParameter.k.name",detail:"formula.functionList.PERCENTILE_INC.functionParameter.k.detail",example:"0.3",require:1,repeat:0}]},{functionName:ype.PERCENTRANK_EXC,functionType:Fhe.Statistical,description:"formula.functionList.PERCENTRANK_EXC.description",abstract:"formula.functionList.PERCENTRANK_EXC.abstract",functionParameter:[{name:"formula.functionList.PERCENTRANK_EXC.functionParameter.array.name",detail:"formula.functionList.PERCENTRANK_EXC.functionParameter.array.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.PERCENTRANK_EXC.functionParameter.x.name",detail:"formula.functionList.PERCENTRANK_EXC.functionParameter.x.detail",example:"1.5",require:1,repeat:0},{name:"formula.functionList.PERCENTRANK_EXC.functionParameter.significance.name",detail:"formula.functionList.PERCENTRANK_EXC.functionParameter.significance.detail",example:"3",require:0,repeat:0}]},{functionName:ype.PERCENTRANK_INC,functionType:Fhe.Statistical,description:"formula.functionList.PERCENTRANK_INC.description",abstract:"formula.functionList.PERCENTRANK_INC.abstract",functionParameter:[{name:"formula.functionList.PERCENTRANK_INC.functionParameter.array.name",detail:"formula.functionList.PERCENTRANK_INC.functionParameter.array.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.PERCENTRANK_INC.functionParameter.x.name",detail:"formula.functionList.PERCENTRANK_INC.functionParameter.x.detail",example:"1.5",require:1,repeat:0},{name:"formula.functionList.PERCENTRANK_INC.functionParameter.significance.name",detail:"formula.functionList.PERCENTRANK_INC.functionParameter.significance.detail",example:"3",require:0,repeat:0}]},{functionName:ype.PERMUT,functionType:Fhe.Statistical,description:"formula.functionList.PERMUT.description",abstract:"formula.functionList.PERMUT.abstract",functionParameter:[{name:"formula.functionList.PERMUT.functionParameter.number.name",detail:"formula.functionList.PERMUT.functionParameter.number.detail",example:"8",require:1,repeat:0},{name:"formula.functionList.PERMUT.functionParameter.numberChosen.name",detail:"formula.functionList.PERMUT.functionParameter.numberChosen.detail",example:"2",require:1,repeat:0}]},{functionName:ype.PERMUTATIONA,functionType:Fhe.Statistical,description:"formula.functionList.PERMUTATIONA.description",abstract:"formula.functionList.PERMUTATIONA.abstract",functionParameter:[{name:"formula.functionList.PERMUT.functionParameter.number.name",detail:"formula.functionList.PERMUT.functionParameter.number.detail",example:"8",require:1,repeat:0},{name:"formula.functionList.PERMUT.functionParameter.numberChosen.name",detail:"formula.functionList.PERMUT.functionParameter.numberChosen.detail",example:"2",require:1,repeat:0}]},{functionName:ype.PHI,functionType:Fhe.Statistical,description:"formula.functionList.PHI.description",abstract:"formula.functionList.PHI.abstract",functionParameter:[{name:"formula.functionList.PHI.functionParameter.x.name",detail:"formula.functionList.PHI.functionParameter.x.detail",example:"0.75",require:1,repeat:0}]},{functionName:ype.POISSON_DIST,functionType:Fhe.Statistical,description:"formula.functionList.POISSON_DIST.description",abstract:"formula.functionList.POISSON_DIST.abstract",functionParameter:[{name:"formula.functionList.POISSON_DIST.functionParameter.x.name",detail:"formula.functionList.POISSON_DIST.functionParameter.x.detail",example:"2",require:1,repeat:0},{name:"formula.functionList.POISSON_DIST.functionParameter.mean.name",detail:"formula.functionList.POISSON_DIST.functionParameter.mean.detail",example:"5",require:1,repeat:0},{name:"formula.functionList.POISSON_DIST.functionParameter.cumulative.name",detail:"formula.functionList.POISSON_DIST.functionParameter.cumulative.detail",example:"true",require:1,repeat:0}]},{functionName:ype.PROB,functionType:Fhe.Statistical,description:"formula.functionList.PROB.description",abstract:"formula.functionList.PROB.abstract",functionParameter:[{name:"formula.functionList.PROB.functionParameter.xRange.name",detail:"formula.functionList.PROB.functionParameter.xRange.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.PROB.functionParameter.probRange.name",detail:"formula.functionList.PROB.functionParameter.probRange.detail",example:"B1:B4",require:1,repeat:0},{name:"formula.functionList.PROB.functionParameter.lowerLimit.name",detail:"formula.functionList.PROB.functionParameter.lowerLimit.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.PROB.functionParameter.upperLimit.name",detail:"formula.functionList.PROB.functionParameter.upperLimit.detail",example:"3",require:0,repeat:0}]},{functionName:ype.QUARTILE_EXC,functionType:Fhe.Statistical,description:"formula.functionList.QUARTILE_EXC.description",abstract:"formula.functionList.QUARTILE_EXC.abstract",functionParameter:[{name:"formula.functionList.QUARTILE_EXC.functionParameter.array.name",detail:"formula.functionList.QUARTILE_EXC.functionParameter.array.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.QUARTILE_EXC.functionParameter.quart.name",detail:"formula.functionList.QUARTILE_EXC.functionParameter.quart.detail",example:"1",require:1,repeat:0}]},{functionName:ype.QUARTILE_INC,functionType:Fhe.Statistical,description:"formula.functionList.QUARTILE_INC.description",abstract:"formula.functionList.QUARTILE_INC.abstract",functionParameter:[{name:"formula.functionList.QUARTILE_INC.functionParameter.array.name",detail:"formula.functionList.QUARTILE_INC.functionParameter.array.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.QUARTILE_INC.functionParameter.quart.name",detail:"formula.functionList.QUARTILE_INC.functionParameter.quart.detail",example:"1",require:1,repeat:0}]},{functionName:ype.RANK_AVG,functionType:Fhe.Statistical,description:"formula.functionList.RANK_AVG.description",abstract:"formula.functionList.RANK_AVG.abstract",functionParameter:[{name:"formula.functionList.RANK_AVG.functionParameter.number.name",detail:"formula.functionList.RANK_AVG.functionParameter.number.detail",example:"A3",require:1,repeat:0},{name:"formula.functionList.RANK_AVG.functionParameter.ref.name",detail:"formula.functionList.RANK_AVG.functionParameter.ref.detail",example:"A2:A6",require:1,repeat:0},{name:"formula.functionList.RANK_AVG.functionParameter.order.name",detail:"formula.functionList.RANK_AVG.functionParameter.order.detail",example:"1",require:0,repeat:0}]},{functionName:ype.RANK_EQ,functionType:Fhe.Statistical,description:"formula.functionList.RANK_EQ.description",abstract:"formula.functionList.RANK_EQ.abstract",functionParameter:[{name:"formula.functionList.RANK_EQ.functionParameter.number.name",detail:"formula.functionList.RANK_EQ.functionParameter.number.detail",example:"A3",require:1,repeat:0},{name:"formula.functionList.RANK_EQ.functionParameter.ref.name",detail:"formula.functionList.RANK_EQ.functionParameter.ref.detail",example:"A2:A6",require:1,repeat:0},{name:"formula.functionList.RANK_EQ.functionParameter.order.name",detail:"formula.functionList.RANK_EQ.functionParameter.order.detail",example:"1",require:0,repeat:0}]},{functionName:ype.RSQ,functionType:Fhe.Statistical,description:"formula.functionList.RSQ.description",abstract:"formula.functionList.RSQ.abstract",functionParameter:[{name:"formula.functionList.RSQ.functionParameter.array1.name",detail:"formula.functionList.RSQ.functionParameter.array1.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.RSQ.functionParameter.array2.name",detail:"formula.functionList.RSQ.functionParameter.array2.detail",example:"B1:B4",require:1,repeat:0}]},{functionName:ype.SKEW,functionType:Fhe.Statistical,description:"formula.functionList.SKEW.description",abstract:"formula.functionList.SKEW.abstract",functionParameter:[{name:"formula.functionList.SKEW.functionParameter.number1.name",detail:"formula.functionList.SKEW.functionParameter.number1.detail",example:"A1:C3",require:1,repeat:0},{name:"formula.functionList.SKEW.functionParameter.number2.name",detail:"formula.functionList.SKEW.functionParameter.number2.detail",example:"4",require:0,repeat:1}]},{functionName:ype.SKEW_P,functionType:Fhe.Statistical,description:"formula.functionList.SKEW_P.description",abstract:"formula.functionList.SKEW_P.abstract",functionParameter:[{name:"formula.functionList.SKEW_P.functionParameter.number1.name",detail:"formula.functionList.SKEW_P.functionParameter.number1.detail",example:"A1:C3",require:1,repeat:0},{name:"formula.functionList.SKEW_P.functionParameter.number2.name",detail:"formula.functionList.SKEW_P.functionParameter.number2.detail",example:"4",require:0,repeat:1}]},{functionName:ype.SLOPE,functionType:Fhe.Statistical,description:"formula.functionList.SLOPE.description",abstract:"formula.functionList.SLOPE.abstract",functionParameter:[{name:"formula.functionList.SLOPE.functionParameter.knownYs.name",detail:"formula.functionList.SLOPE.functionParameter.knownYs.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.SLOPE.functionParameter.knownXs.name",detail:"formula.functionList.SLOPE.functionParameter.knownXs.detail",example:"B1:B4",require:1,repeat:0}]},{functionName:ype.SMALL,functionType:Fhe.Statistical,description:"formula.functionList.SMALL.description",abstract:"formula.functionList.SMALL.abstract",functionParameter:[{name:"formula.functionList.SMALL.functionParameter.array.name",detail:"formula.functionList.SMALL.functionParameter.array.detail",example:"A2:B6",require:1,repeat:0},{name:"formula.functionList.SMALL.functionParameter.k.name",detail:"formula.functionList.SMALL.functionParameter.k.detail",example:"3",require:1,repeat:0}]},{functionName:ype.STANDARDIZE,functionType:Fhe.Statistical,description:"formula.functionList.STANDARDIZE.description",abstract:"formula.functionList.STANDARDIZE.abstract",functionParameter:[{name:"formula.functionList.STANDARDIZE.functionParameter.x.name",detail:"formula.functionList.STANDARDIZE.functionParameter.x.detail",example:"42",require:1,repeat:0},{name:"formula.functionList.STANDARDIZE.functionParameter.mean.name",detail:"formula.functionList.STANDARDIZE.functionParameter.mean.detail",example:"40",require:1,repeat:0},{name:"formula.functionList.STANDARDIZE.functionParameter.standardDev.name",detail:"formula.functionList.STANDARDIZE.functionParameter.standardDev.detail",example:"1.5",require:1,repeat:0}]},{functionName:ype.STDEV_P,functionType:Fhe.Statistical,description:"formula.functionList.STDEV_P.description",abstract:"formula.functionList.STDEV_P.abstract",functionParameter:[{name:"formula.functionList.STDEV_P.functionParameter.number1.name",detail:"formula.functionList.STDEV_P.functionParameter.number1.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.STDEV_P.functionParameter.number2.name",detail:"formula.functionList.STDEV_P.functionParameter.number2.detail",example:"2",require:0,repeat:1}]},{functionName:ype.STDEV_S,functionType:Fhe.Statistical,description:"formula.functionList.STDEV_S.description",abstract:"formula.functionList.STDEV_S.abstract",functionParameter:[{name:"formula.functionList.STDEV_S.functionParameter.number1.name",detail:"formula.functionList.STDEV_S.functionParameter.number1.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.STDEV_S.functionParameter.number2.name",detail:"formula.functionList.STDEV_S.functionParameter.number2.detail",example:"2",require:0,repeat:1}]},{functionName:ype.STDEVA,functionType:Fhe.Statistical,description:"formula.functionList.STDEVA.description",abstract:"formula.functionList.STDEVA.abstract",functionParameter:[{name:"formula.functionList.STDEVA.functionParameter.value1.name",detail:"formula.functionList.STDEVA.functionParameter.value1.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.STDEVA.functionParameter.value2.name",detail:"formula.functionList.STDEVA.functionParameter.value2.detail",example:"2",require:0,repeat:1}]},{functionName:ype.STDEVPA,functionType:Fhe.Statistical,description:"formula.functionList.STDEVPA.description",abstract:"formula.functionList.STDEVPA.abstract",functionParameter:[{name:"formula.functionList.STDEVPA.functionParameter.value1.name",detail:"formula.functionList.STDEVPA.functionParameter.value1.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.STDEVPA.functionParameter.value2.name",detail:"formula.functionList.STDEVPA.functionParameter.value2.detail",example:"2",require:0,repeat:1}]},{functionName:ype.STEYX,functionType:Fhe.Statistical,description:"formula.functionList.STEYX.description",abstract:"formula.functionList.STEYX.abstract",functionParameter:[{name:"formula.functionList.STEYX.functionParameter.knownYs.name",detail:"formula.functionList.STEYX.functionParameter.knownYs.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.STEYX.functionParameter.knownXs.name",detail:"formula.functionList.STEYX.functionParameter.knownXs.detail",example:"B1:B4",require:1,repeat:0}]},{functionName:ype.T_DIST,functionType:Fhe.Statistical,description:"formula.functionList.T_DIST.description",abstract:"formula.functionList.T_DIST.abstract",functionParameter:[{name:"formula.functionList.T_DIST.functionParameter.x.name",detail:"formula.functionList.T_DIST.functionParameter.x.detail",example:"8",require:1,repeat:0},{name:"formula.functionList.T_DIST.functionParameter.degFreedom.name",detail:"formula.functionList.T_DIST.functionParameter.degFreedom.detail",example:"3",require:1,repeat:0},{name:"formula.functionList.T_DIST.functionParameter.cumulative.name",detail:"formula.functionList.T_DIST.functionParameter.cumulative.detail",example:"true",require:1,repeat:0}]},{functionName:ype.T_DIST_2T,functionType:Fhe.Statistical,description:"formula.functionList.T_DIST_2T.description",abstract:"formula.functionList.T_DIST_2T.abstract",functionParameter:[{name:"formula.functionList.T_DIST_2T.functionParameter.x.name",detail:"formula.functionList.T_DIST_2T.functionParameter.x.detail",example:"8",require:1,repeat:0},{name:"formula.functionList.T_DIST_2T.functionParameter.degFreedom.name",detail:"formula.functionList.T_DIST_2T.functionParameter.degFreedom.detail",example:"3",require:1,repeat:0}]},{functionName:ype.T_DIST_RT,functionType:Fhe.Statistical,description:"formula.functionList.T_DIST_RT.description",abstract:"formula.functionList.T_DIST_RT.abstract",functionParameter:[{name:"formula.functionList.T_DIST_RT.functionParameter.x.name",detail:"formula.functionList.T_DIST_RT.functionParameter.x.detail",example:"8",require:1,repeat:0},{name:"formula.functionList.T_DIST_RT.functionParameter.degFreedom.name",detail:"formula.functionList.T_DIST_RT.functionParameter.degFreedom.detail",example:"3",require:1,repeat:0}]},{functionName:ype.T_INV,functionType:Fhe.Statistical,description:"formula.functionList.T_INV.description",abstract:"formula.functionList.T_INV.abstract",functionParameter:[{name:"formula.functionList.T_INV.functionParameter.probability.name",detail:"formula.functionList.T_INV.functionParameter.probability.detail",example:"0.75",require:1,repeat:0},{name:"formula.functionList.T_INV.functionParameter.degFreedom.name",detail:"formula.functionList.T_INV.functionParameter.degFreedom.detail",example:"2",require:1,repeat:0}]},{functionName:ype.T_INV_2T,functionType:Fhe.Statistical,description:"formula.functionList.T_INV_2T.description",abstract:"formula.functionList.T_INV_2T.abstract",functionParameter:[{name:"formula.functionList.T_INV_2T.functionParameter.probability.name",detail:"formula.functionList.T_INV_2T.functionParameter.probability.detail",example:"0.75",require:1,repeat:0},{name:"formula.functionList.T_INV_2T.functionParameter.degFreedom.name",detail:"formula.functionList.T_INV_2T.functionParameter.degFreedom.detail",example:"2",require:1,repeat:0}]},{functionName:ype.T_TEST,functionType:Fhe.Statistical,description:"formula.functionList.T_TEST.description",abstract:"formula.functionList.T_TEST.abstract",functionParameter:[{name:"formula.functionList.T_TEST.functionParameter.array1.name",detail:"formula.functionList.T_TEST.functionParameter.array1.detail",example:"A1:A4",require:1,repeat:0},{name:"formula.functionList.T_TEST.functionParameter.array2.name",detail:"formula.functionList.T_TEST.functionParameter.array2.detail",example:"B1:B4",require:1,repeat:0},{name:"formula.functionList.T_TEST.functionParameter.tails.name",detail:"formula.functionList.T_TEST.functionParameter.tails.detail",example:"2",require:1,repeat:0},{name:"formula.functionList.T_TEST.functionParameter.type.name",detail:"formula.functionList.T_TEST.functionParameter.type.detail",example:"1",require:1,repeat:0}]},{functionName:ype.TREND,functionType:Fhe.Statistical,description:"formula.functionList.TREND.description",abstract:"formula.functionList.TREND.abstract",functionParameter:[{name:"formula.functionList.TREND.functionParameter.knownYs.name",detail:"formula.functionList.TREND.functionParameter.knownYs.detail",example:"B2:B7",require:1,repeat:0},{name:"formula.functionList.TREND.functionParameter.knownXs.name",detail:"formula.functionList.TREND.functionParameter.knownXs.detail",example:"A2:A7",require:0,repeat:0},{name:"formula.functionList.TREND.functionParameter.newXs.name",detail:"formula.functionList.TREND.functionParameter.newXs.detail",example:"A9:A10",require:0,repeat:0},{name:"formula.functionList.TREND.functionParameter.constb.name",detail:"formula.functionList.TREND.functionParameter.constb.detail",example:"true",require:0,repeat:0}]},{functionName:ype.TRIMMEAN,functionType:Fhe.Statistical,description:"formula.functionList.TRIMMEAN.description",abstract:"formula.functionList.TRIMMEAN.abstract",functionParameter:[{name:"formula.functionList.TRIMMEAN.functionParameter.array.name",detail:"formula.functionList.TRIMMEAN.functionParameter.array.detail",example:"A2:A12",require:1,repeat:0},{name:"formula.functionList.TRIMMEAN.functionParameter.percent.name",detail:"formula.functionList.TRIMMEAN.functionParameter.percent.detail",example:"0.2",require:1,repeat:0}]},{functionName:ype.VAR_P,functionType:Fhe.Statistical,description:"formula.functionList.VAR_P.description",abstract:"formula.functionList.VAR_P.abstract",functionParameter:[{name:"formula.functionList.VAR_P.functionParameter.number1.name",detail:"formula.functionList.VAR_P.functionParameter.number1.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.VAR_P.functionParameter.number2.name",detail:"formula.functionList.VAR_P.functionParameter.number2.detail",example:"2",require:0,repeat:1}]},{functionName:ype.VAR_S,functionType:Fhe.Statistical,description:"formula.functionList.VAR_S.description",abstract:"formula.functionList.VAR_S.abstract",functionParameter:[{name:"formula.functionList.VAR_S.functionParameter.number1.name",detail:"formula.functionList.VAR_S.functionParameter.number1.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.VAR_S.functionParameter.number2.name",detail:"formula.functionList.VAR_S.functionParameter.number2.detail",example:"2",require:0,repeat:1}]},{functionName:ype.VARA,functionType:Fhe.Statistical,description:"formula.functionList.VARA.description",abstract:"formula.functionList.VARA.abstract",functionParameter:[{name:"formula.functionList.VARA.functionParameter.value1.name",detail:"formula.functionList.VARA.functionParameter.value1.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.VARA.functionParameter.value2.name",detail:"formula.functionList.VARA.functionParameter.value2.detail",example:"2",require:0,repeat:1}]},{functionName:ype.VARPA,functionType:Fhe.Statistical,description:"formula.functionList.VARPA.description",abstract:"formula.functionList.VARPA.abstract",functionParameter:[{name:"formula.functionList.VARPA.functionParameter.value1.name",detail:"formula.functionList.VARPA.functionParameter.value1.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.VARPA.functionParameter.value2.name",detail:"formula.functionList.VARPA.functionParameter.value2.detail",example:"2",require:0,repeat:1}]},{functionName:ype.WEIBULL_DIST,functionType:Fhe.Statistical,description:"formula.functionList.WEIBULL_DIST.description",abstract:"formula.functionList.WEIBULL_DIST.abstract",functionParameter:[{name:"formula.functionList.WEIBULL_DIST.functionParameter.x.name",detail:"formula.functionList.WEIBULL_DIST.functionParameter.x.detail",example:"105",require:1,repeat:0},{name:"formula.functionList.WEIBULL_DIST.functionParameter.alpha.name",detail:"formula.functionList.WEIBULL_DIST.functionParameter.alpha.detail",example:"20",require:1,repeat:0},{name:"formula.functionList.WEIBULL_DIST.functionParameter.beta.name",detail:"formula.functionList.WEIBULL_DIST.functionParameter.beta.detail",example:"100",require:1,repeat:0},{name:"formula.functionList.WEIBULL_DIST.functionParameter.cumulative.name",detail:"formula.functionList.WEIBULL_DIST.functionParameter.cumulative.detail",example:"true",require:1,repeat:0}]},{functionName:ype.Z_TEST,functionType:Fhe.Statistical,description:"formula.functionList.Z_TEST.description",abstract:"formula.functionList.Z_TEST.abstract",functionParameter:[{name:"formula.functionList.Z_TEST.functionParameter.array.name",detail:"formula.functionList.Z_TEST.functionParameter.array.detail",example:"A2:A11",require:1,repeat:0},{name:"formula.functionList.Z_TEST.functionParameter.x.name",detail:"formula.functionList.Z_TEST.functionParameter.x.detail",example:"4",require:1,repeat:0},{name:"formula.functionList.Z_TEST.functionParameter.sigma.name",detail:"formula.functionList.Z_TEST.functionParameter.sigma.detail",example:"10",require:0,repeat:0}]},...JMe,...GMe,{functionName:_pe.ASC,functionType:Fhe.Text,description:"formula.functionList.ASC.description",abstract:"formula.functionList.ASC.abstract",functionParameter:[{name:"formula.functionList.ASC.functionParameter.text.name",detail:"formula.functionList.ASC.functionParameter.text.detail",example:'"Univer"',require:1,repeat:0}]},{functionName:_pe.ARRAYTOTEXT,functionType:Fhe.Text,description:"formula.functionList.ARRAYTOTEXT.description",abstract:"formula.functionList.ARRAYTOTEXT.abstract",functionParameter:[{name:"formula.functionList.ARRAYTOTEXT.functionParameter.array.name",detail:"formula.functionList.ARRAYTOTEXT.functionParameter.array.detail",example:"A2:B4",require:1,repeat:0},{name:"formula.functionList.ARRAYTOTEXT.functionParameter.format.name",detail:"formula.functionList.ARRAYTOTEXT.functionParameter.format.detail",example:"0",require:0,repeat:0}]},{functionName:_pe.BAHTTEXT,functionType:Fhe.Text,description:"formula.functionList.BAHTTEXT.description",abstract:"formula.functionList.BAHTTEXT.abstract",functionParameter:[{name:"formula.functionList.BAHTTEXT.functionParameter.number.name",detail:"formula.functionList.BAHTTEXT.functionParameter.number.detail",example:"1234",require:1,repeat:0}]},{functionName:_pe.CHAR,functionType:Fhe.Text,description:"formula.functionList.CHAR.description",abstract:"formula.functionList.CHAR.abstract",functionParameter:[{name:"formula.functionList.CHAR.functionParameter.number.name",detail:"formula.functionList.CHAR.functionParameter.number.detail",example:"65",require:1,repeat:0}]},{functionName:_pe.CLEAN,functionType:Fhe.Text,description:"formula.functionList.CLEAN.description",abstract:"formula.functionList.CLEAN.abstract",functionParameter:[{name:"formula.functionList.CLEAN.functionParameter.text.name",detail:"formula.functionList.CLEAN.functionParameter.text.detail",example:'CHAR(1)&"Univer"',require:1,repeat:0}]},{functionName:_pe.CODE,functionType:Fhe.Text,description:"formula.functionList.CODE.description",abstract:"formula.functionList.CODE.abstract",functionParameter:[{name:"formula.functionList.CODE.functionParameter.text.name",detail:"formula.functionList.CODE.functionParameter.text.detail",example:'"Univer"',require:1,repeat:0}]},{functionName:_pe.CONCAT,functionType:Fhe.Text,description:"formula.functionList.CONCAT.description",abstract:"formula.functionList.CONCAT.abstract",functionParameter:[{name:"formula.functionList.CONCAT.functionParameter.text1.name",detail:"formula.functionList.CONCAT.functionParameter.text1.detail",example:'"Hello"',require:1,repeat:0},{name:"formula.functionList.CONCAT.functionParameter.text2.name",detail:"formula.functionList.CONCAT.functionParameter.text2.detail",example:'"Univer"',require:0,repeat:1}]},{functionName:_pe.CONCATENATE,functionType:Fhe.Text,description:"formula.functionList.CONCATENATE.description",abstract:"formula.functionList.CONCATENATE.abstract",functionParameter:[{name:"formula.functionList.CONCATENATE.functionParameter.text1.name",detail:"formula.functionList.CONCATENATE.functionParameter.text1.detail",example:"A1",require:1,repeat:0},{name:"formula.functionList.CONCATENATE.functionParameter.text2.name",detail:"formula.functionList.CONCATENATE.functionParameter.text2.detail",example:"A2",require:0,repeat:1}]},{functionName:_pe.DBCS,functionType:Fhe.Text,description:"formula.functionList.DBCS.description",abstract:"formula.functionList.DBCS.abstract",functionParameter:[{name:"formula.functionList.DBCS.functionParameter.text.name",detail:"formula.functionList.DBCS.functionParameter.text.detail",example:'"Univer"',require:1,repeat:0}]},{functionName:_pe.DOLLAR,functionType:Fhe.Text,description:"formula.functionList.DOLLAR.description",abstract:"formula.functionList.DOLLAR.abstract",functionParameter:[{name:"formula.functionList.DOLLAR.functionParameter.number.name",detail:"formula.functionList.DOLLAR.functionParameter.number.detail",example:"1234.567",require:1,repeat:0},{name:"formula.functionList.DOLLAR.functionParameter.decimals.name",detail:"formula.functionList.DOLLAR.functionParameter.decimals.detail",example:"2",require:0,repeat:0}]},{functionName:_pe.EXACT,functionType:Fhe.Text,description:"formula.functionList.EXACT.description",abstract:"formula.functionList.EXACT.abstract",functionParameter:[{name:"formula.functionList.EXACT.functionParameter.text1.name",detail:"formula.functionList.EXACT.functionParameter.text1.detail",example:'"Univer"',require:1,repeat:0},{name:"formula.functionList.EXACT.functionParameter.text2.name",detail:"formula.functionList.EXACT.functionParameter.text2.detail",example:'"univer"',require:1,repeat:0}]},{functionName:_pe.FIND,functionType:Fhe.Text,description:"formula.functionList.FIND.description",abstract:"formula.functionList.FIND.abstract",functionParameter:[{name:"formula.functionList.FIND.functionParameter.findText.name",detail:"formula.functionList.FIND.functionParameter.findText.detail",example:'"Univer"',require:1,repeat:0},{name:"formula.functionList.FIND.functionParameter.withinText.name",detail:"formula.functionList.FIND.functionParameter.withinText.detail",example:'"Hello Univer"',require:1,repeat:0},{name:"formula.functionList.FIND.functionParameter.startNum.name",detail:"formula.functionList.FIND.functionParameter.startNum.detail",example:"1",require:0,repeat:0}]},{functionName:_pe.FINDB,functionType:Fhe.Text,description:"formula.functionList.FINDB.description",abstract:"formula.functionList.FINDB.abstract",functionParameter:[{name:"formula.functionList.FINDB.functionParameter.findText.name",detail:"formula.functionList.FINDB.functionParameter.findText.detail",example:'"Univer"',require:1,repeat:0},{name:"formula.functionList.FINDB.functionParameter.withinText.name",detail:"formula.functionList.FINDB.functionParameter.withinText.detail",example:'"Hello Univer"',require:1,repeat:0},{name:"formula.functionList.FINDB.functionParameter.startNum.name",detail:"formula.functionList.FINDB.functionParameter.startNum.detail",example:"1",require:0,repeat:0}]},{functionName:_pe.FIXED,functionType:Fhe.Text,description:"formula.functionList.FIXED.description",abstract:"formula.functionList.FIXED.abstract",functionParameter:[{name:"formula.functionList.FIXED.functionParameter.number.name",detail:"formula.functionList.FIXED.functionParameter.number.detail",example:"1234.567",require:1,repeat:0},{name:"formula.functionList.FIXED.functionParameter.decimals.name",detail:"formula.functionList.FIXED.functionParameter.decimals.detail",example:"2",require:0,repeat:0},{name:"formula.functionList.FIXED.functionParameter.noCommas.name",detail:"formula.functionList.FIXED.functionParameter.noCommas.detail",example:"0",require:0,repeat:0}]},{functionName:_pe.LEFT,functionType:Fhe.Text,description:"formula.functionList.LEFT.description",abstract:"formula.functionList.LEFT.abstract",functionParameter:[{name:"formula.functionList.LEFT.functionParameter.text.name",detail:"formula.functionList.LEFT.functionParameter.text.detail",example:'"Univer"',require:1,repeat:0},{name:"formula.functionList.LEFT.functionParameter.numChars.name",detail:"formula.functionList.LEFT.functionParameter.numChars.detail",example:"3",require:0,repeat:0}]},{functionName:_pe.LEFTB,functionType:Fhe.Text,description:"formula.functionList.LEFTB.description",abstract:"formula.functionList.LEFTB.abstract",functionParameter:[{name:"formula.functionList.LEFTB.functionParameter.text.name",detail:"formula.functionList.LEFTB.functionParameter.text.detail",example:'"Univer"',require:1,repeat:0},{name:"formula.functionList.LEFTB.functionParameter.numBytes.name",detail:"formula.functionList.LEFTB.functionParameter.numBytes.detail",example:"3",require:0,repeat:0}]},{functionName:_pe.LEN,functionType:Fhe.Text,description:"formula.functionList.LEN.description",abstract:"formula.functionList.LEN.abstract",functionParameter:[{name:"formula.functionList.LEN.functionParameter.text.name",detail:"formula.functionList.LEN.functionParameter.text.detail",example:'"Univer"',require:1,repeat:0}]},{functionName:_pe.LENB,functionType:Fhe.Text,description:"formula.functionList.LENB.description",abstract:"formula.functionList.LENB.abstract",functionParameter:[{name:"formula.functionList.LENB.functionParameter.text.name",detail:"formula.functionList.LENB.functionParameter.text.detail",example:'"Univer"',require:1,repeat:0}]},{functionName:_pe.LOWER,functionType:Fhe.Text,description:"formula.functionList.LOWER.description",abstract:"formula.functionList.LOWER.abstract",functionParameter:[{name:"formula.functionList.LOWER.functionParameter.text.name",detail:"formula.functionList.LOWER.functionParameter.text.detail",example:'"Univer"',require:1,repeat:0}]},{functionName:_pe.MID,functionType:Fhe.Text,description:"formula.functionList.MID.description",abstract:"formula.functionList.MID.abstract",functionParameter:[{name:"formula.functionList.MID.functionParameter.text.name",detail:"formula.functionList.MID.functionParameter.text.detail",example:'"Univer"',require:1,repeat:0},{name:"formula.functionList.MID.functionParameter.startNum.name",detail:"formula.functionList.MID.functionParameter.startNum.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.MID.functionParameter.numChars.name",detail:"formula.functionList.MID.functionParameter.numChars.detail",example:"3",require:1,repeat:0}]},{functionName:_pe.MIDB,functionType:Fhe.Text,description:"formula.functionList.MIDB.description",abstract:"formula.functionList.MIDB.abstract",functionParameter:[{name:"formula.functionList.MIDB.functionParameter.text.name",detail:"formula.functionList.MIDB.functionParameter.text.detail",example:'"Univer"',require:1,repeat:0},{name:"formula.functionList.MIDB.functionParameter.startNum.name",detail:"formula.functionList.MIDB.functionParameter.startNum.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.MIDB.functionParameter.numBytes.name",detail:"formula.functionList.MIDB.functionParameter.numBytes.detail",example:"3",require:1,repeat:0}]},{functionName:_pe.NUMBERSTRING,functionType:Fhe.Text,description:"formula.functionList.NUMBERSTRING.description",abstract:"formula.functionList.NUMBERSTRING.abstract",functionParameter:[{name:"formula.functionList.NUMBERSTRING.functionParameter.number.name",detail:"formula.functionList.NUMBERSTRING.functionParameter.number.detail",example:"123",require:1,repeat:0},{name:"formula.functionList.NUMBERSTRING.functionParameter.type.name",detail:"formula.functionList.NUMBERSTRING.functionParameter.type.detail",example:"1",require:1,repeat:0}]},{functionName:_pe.NUMBERVALUE,functionType:Fhe.Text,description:"formula.functionList.NUMBERVALUE.description",abstract:"formula.functionList.NUMBERVALUE.abstract",functionParameter:[{name:"formula.functionList.NUMBERVALUE.functionParameter.text.name",detail:"formula.functionList.NUMBERVALUE.functionParameter.text.detail",example:'"2.500,27"',require:1,repeat:0},{name:"formula.functionList.NUMBERVALUE.functionParameter.decimalSeparator.name",detail:"formula.functionList.NUMBERVALUE.functionParameter.decimalSeparator.detail",example:'","',require:0,repeat:0},{name:"formula.functionList.NUMBERVALUE.functionParameter.groupSeparator.name",detail:"formula.functionList.NUMBERVALUE.functionParameter.groupSeparator.detail",example:'"."',require:0,repeat:0}]},{functionName:_pe.PHONETIC,functionType:Fhe.Text,description:"formula.functionList.PHONETIC.description",abstract:"formula.functionList.PHONETIC.abstract",functionParameter:[{name:"formula.functionList.PHONETIC.functionParameter.number1.name",detail:"formula.functionList.PHONETIC.functionParameter.number1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.PHONETIC.functionParameter.number2.name",detail:"formula.functionList.PHONETIC.functionParameter.number2.detail",example:"A1:A20",require:1,repeat:0}]},{functionName:_pe.PROPER,functionType:Fhe.Text,description:"formula.functionList.PROPER.description",abstract:"formula.functionList.PROPER.abstract",functionParameter:[{name:"formula.functionList.PROPER.functionParameter.text.name",detail:"formula.functionList.PROPER.functionParameter.text.detail",example:'"hello univer"',require:1,repeat:0}]},{functionName:_pe.REGEXEXTRACT,functionType:Fhe.Text,description:"formula.functionList.REGEXEXTRACT.description",abstract:"formula.functionList.REGEXEXTRACT.abstract",functionParameter:[{name:"formula.functionList.REGEXEXTRACT.functionParameter.text.name",detail:"formula.functionList.REGEXEXTRACT.functionParameter.text.detail",example:'"abcdefg"',require:1,repeat:0},{name:"formula.functionList.REGEXEXTRACT.functionParameter.regularExpression.name",detail:"formula.functionList.REGEXEXTRACT.functionParameter.regularExpression.detail",example:'"c.*f"',require:1,repeat:0}]},{functionName:_pe.REGEXMATCH,functionType:Fhe.Text,description:"formula.functionList.REGEXMATCH.description",abstract:"formula.functionList.REGEXMATCH.abstract",functionParameter:[{name:"formula.functionList.REGEXMATCH.functionParameter.text.name",detail:"formula.functionList.REGEXMATCH.functionParameter.text.detail",example:'"Spreadsheets"',require:1,repeat:0},{name:"formula.functionList.REGEXMATCH.functionParameter.regularExpression.name",detail:"formula.functionList.REGEXMATCH.functionParameter.regularExpression.detail",example:'"S.r"',require:1,repeat:0}]},{functionName:_pe.REGEXREPLACE,functionType:Fhe.Text,description:"formula.functionList.REGEXREPLACE.description",abstract:"formula.functionList.REGEXREPLACE.abstract",functionParameter:[{name:"formula.functionList.REGEXREPLACE.functionParameter.text.name",detail:"formula.functionList.REGEXREPLACE.functionParameter.text.detail",example:'"abcedfg"',require:1,repeat:0},{name:"formula.functionList.REGEXREPLACE.functionParameter.regularExpression.name",detail:"formula.functionList.REGEXREPLACE.functionParameter.regularExpression.detail",example:'"a.*d"',require:1,repeat:0},{name:"formula.functionList.REGEXREPLACE.functionParameter.replacement.name",detail:"formula.functionList.REGEXREPLACE.functionParameter.replacement.detail",example:'"xyz"',require:1,repeat:0}]},{functionName:_pe.REPLACE,functionType:Fhe.Text,description:"formula.functionList.REPLACE.description",abstract:"formula.functionList.REPLACE.abstract",functionParameter:[{name:"formula.functionList.REPLACE.functionParameter.oldText.name",detail:"formula.functionList.REPLACE.functionParameter.oldText.detail",example:'"Univer"',require:1,repeat:0},{name:"formula.functionList.REPLACE.functionParameter.startNum.name",detail:"formula.functionList.REPLACE.functionParameter.startNum.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.REPLACE.functionParameter.numChars.name",detail:"formula.functionList.REPLACE.functionParameter.numChars.detail",example:"0",require:1,repeat:0},{name:"formula.functionList.REPLACE.functionParameter.newText.name",detail:"formula.functionList.REPLACE.functionParameter.newText.detail",example:'"Hello "',require:1,repeat:0}]},{functionName:_pe.REPLACEB,functionType:Fhe.Text,description:"formula.functionList.REPLACEB.description",abstract:"formula.functionList.REPLACEB.abstract",functionParameter:[{name:"formula.functionList.REPLACEB.functionParameter.oldText.name",detail:"formula.functionList.REPLACEB.functionParameter.oldText.detail",example:'"Univer"',require:1,repeat:0},{name:"formula.functionList.REPLACEB.functionParameter.startNum.name",detail:"formula.functionList.REPLACEB.functionParameter.startNum.detail",example:"1",require:1,repeat:0},{name:"formula.functionList.REPLACEB.functionParameter.numBytes.name",detail:"formula.functionList.REPLACEB.functionParameter.numBytes.detail",example:"0",require:1,repeat:0},{name:"formula.functionList.REPLACEB.functionParameter.newText.name",detail:"formula.functionList.REPLACEB.functionParameter.newText.detail",example:'"Hello "',require:1,repeat:0}]},{functionName:_pe.REPT,functionType:Fhe.Text,description:"formula.functionList.REPT.description",abstract:"formula.functionList.REPT.abstract",functionParameter:[{name:"formula.functionList.REPT.functionParameter.text.name",detail:"formula.functionList.REPT.functionParameter.text.detail",example:'"*-"',require:1,repeat:0},{name:"formula.functionList.REPT.functionParameter.numberTimes.name",detail:"formula.functionList.REPT.functionParameter.numberTimes.detail",example:"3",require:1,repeat:0}]},{functionName:_pe.RIGHT,functionType:Fhe.Text,description:"formula.functionList.RIGHT.description",abstract:"formula.functionList.RIGHT.abstract",functionParameter:[{name:"formula.functionList.RIGHT.functionParameter.text.name",detail:"formula.functionList.RIGHT.functionParameter.text.detail",example:'"Univer"',require:1,repeat:0},{name:"formula.functionList.RIGHT.functionParameter.numChars.name",detail:"formula.functionList.RIGHT.functionParameter.numChars.detail",example:"3",require:0,repeat:0}]},{functionName:_pe.RIGHTB,functionType:Fhe.Text,description:"formula.functionList.RIGHTB.description",abstract:"formula.functionList.RIGHTB.abstract",functionParameter:[{name:"formula.functionList.RIGHTB.functionParameter.text.name",detail:"formula.functionList.RIGHTB.functionParameter.text.detail",example:'"Univer"',require:1,repeat:0},{name:"formula.functionList.RIGHTB.functionParameter.numBytes.name",detail:"formula.functionList.RIGHTB.functionParameter.numBytes.detail",example:"3",require:0,repeat:0}]},{functionName:_pe.SEARCH,functionType:Fhe.Text,description:"formula.functionList.SEARCH.description",abstract:"formula.functionList.SEARCH.abstract",functionParameter:[{name:"formula.functionList.SEARCH.functionParameter.findText.name",detail:"formula.functionList.SEARCH.functionParameter.findText.detail",example:'"univer"',require:1,repeat:0},{name:"formula.functionList.SEARCH.functionParameter.withinText.name",detail:"formula.functionList.SEARCH.functionParameter.withinText.detail",example:'"Hello Univer"',require:1,repeat:0},{name:"formula.functionList.SEARCH.functionParameter.startNum.name",detail:"formula.functionList.SEARCH.functionParameter.startNum.detail",example:"1",require:0,repeat:0}]},{functionName:_pe.SEARCHB,functionType:Fhe.Text,description:"formula.functionList.SEARCHB.description",abstract:"formula.functionList.SEARCHB.abstract",functionParameter:[{name:"formula.functionList.SEARCHB.functionParameter.findText.name",detail:"formula.functionList.SEARCHB.functionParameter.findText.detail",example:'"univer"',require:1,repeat:0},{name:"formula.functionList.SEARCHB.functionParameter.withinText.name",detail:"formula.functionList.SEARCHB.functionParameter.withinText.detail",example:'"Hello Univer"',require:1,repeat:0},{name:"formula.functionList.SEARCHB.functionParameter.startNum.name",detail:"formula.functionList.SEARCHB.functionParameter.startNum.detail",example:"1",require:0,repeat:0}]},{functionName:_pe.SUBSTITUTE,functionType:Fhe.Text,description:"formula.functionList.SUBSTITUTE.description",abstract:"formula.functionList.SUBSTITUTE.abstract",functionParameter:[{name:"formula.functionList.SUBSTITUTE.functionParameter.text.name",detail:"formula.functionList.SUBSTITUTE.functionParameter.text.detail",example:'"Hello Univer"',require:1,repeat:0},{name:"formula.functionList.SUBSTITUTE.functionParameter.oldText.name",detail:"formula.functionList.SUBSTITUTE.functionParameter.oldText.detail",example:'"Hello"',require:1,repeat:0},{name:"formula.functionList.SUBSTITUTE.functionParameter.newText.name",detail:"formula.functionList.SUBSTITUTE.functionParameter.newText.detail",example:'"Hi"',require:1,repeat:0},{name:"formula.functionList.SUBSTITUTE.functionParameter.instanceNum.name",detail:"formula.functionList.SUBSTITUTE.functionParameter.instanceNum.detail",example:"1",require:0,repeat:0}]},{functionName:_pe.T,functionType:Fhe.Text,description:"formula.functionList.T.description",abstract:"formula.functionList.T.abstract",functionParameter:[{name:"formula.functionList.T.functionParameter.value.name",detail:"formula.functionList.T.functionParameter.value.detail",example:'"Univer"',require:1,repeat:0}]},{functionName:_pe.TEXT,functionType:Fhe.Text,description:"formula.functionList.TEXT.description",abstract:"formula.functionList.TEXT.abstract",functionParameter:[{name:"formula.functionList.TEXT.functionParameter.value.name",detail:"formula.functionList.TEXT.functionParameter.value.detail",example:"1.23",require:1,repeat:0},{name:"formula.functionList.TEXT.functionParameter.formatText.name",detail:"formula.functionList.TEXT.functionParameter.formatText.detail",example:'"$0.00"',require:1,repeat:0}]},{functionName:_pe.TEXTAFTER,functionType:Fhe.Text,description:"formula.functionList.TEXTAFTER.description",abstract:"formula.functionList.TEXTAFTER.abstract",functionParameter:[{name:"formula.functionList.TEXTAFTER.functionParameter.text.name",detail:"formula.functionList.TEXTAFTER.functionParameter.text.detail",example:'"Red riding hood’s, red hood"',require:1,repeat:0},{name:"formula.functionList.TEXTAFTER.functionParameter.delimiter.name",detail:"formula.functionList.TEXTAFTER.functionParameter.delimiter.detail",example:'"hood"',require:1,repeat:0},{name:"formula.functionList.TEXTAFTER.functionParameter.instanceNum.name",detail:"formula.functionList.TEXTAFTER.functionParameter.instanceNum.detail",example:"1",require:0,repeat:0},{name:"formula.functionList.TEXTAFTER.functionParameter.matchMode.name",detail:"formula.functionList.TEXTAFTER.functionParameter.matchMode.detail",example:"1",require:0,repeat:0},{name:"formula.functionList.TEXTAFTER.functionParameter.matchEnd.name",detail:"formula.functionList.TEXTAFTER.functionParameter.matchEnd.detail",example:"0",require:0,repeat:0},{name:"formula.functionList.TEXTAFTER.functionParameter.ifNotFound.name",detail:"formula.functionList.TEXTAFTER.functionParameter.ifNotFound.detail",example:'"not found"',require:0,repeat:0}]},{functionName:_pe.TEXTBEFORE,functionType:Fhe.Text,description:"formula.functionList.TEXTBEFORE.description",abstract:"formula.functionList.TEXTBEFORE.abstract",functionParameter:[{name:"formula.functionList.TEXTBEFORE.functionParameter.text.name",detail:"formula.functionList.TEXTBEFORE.functionParameter.text.detail",example:'"Red riding hood’s, red hood"',require:1,repeat:0},{name:"formula.functionList.TEXTBEFORE.functionParameter.delimiter.name",detail:"formula.functionList.TEXTBEFORE.functionParameter.delimiter.detail",example:'"hood"',require:1,repeat:0},{name:"formula.functionList.TEXTBEFORE.functionParameter.instanceNum.name",detail:"formula.functionList.TEXTBEFORE.functionParameter.instanceNum.detail",example:"1",require:0,repeat:0},{name:"formula.functionList.TEXTBEFORE.functionParameter.matchMode.name",detail:"formula.functionList.TEXTBEFORE.functionParameter.matchMode.detail",example:"1",require:0,repeat:0},{name:"formula.functionList.TEXTBEFORE.functionParameter.matchEnd.name",detail:"formula.functionList.TEXTBEFORE.functionParameter.matchEnd.detail",example:"0",require:0,repeat:0},{name:"formula.functionList.TEXTBEFORE.functionParameter.ifNotFound.name",detail:"formula.functionList.TEXTBEFORE.functionParameter.ifNotFound.detail",example:'"not found"',require:0,repeat:0}]},{functionName:_pe.TEXTJOIN,functionType:Fhe.Text,description:"formula.functionList.TEXTJOIN.description",abstract:"formula.functionList.TEXTJOIN.abstract",functionParameter:[{name:"formula.functionList.TEXTJOIN.functionParameter.delimiter.name",detail:"formula.functionList.TEXTJOIN.functionParameter.delimiter.detail",example:'", "',require:1,repeat:0},{name:"formula.functionList.TEXTJOIN.functionParameter.ignoreEmpty.name",detail:"formula.functionList.TEXTJOIN.functionParameter.ignoreEmpty.detail",example:"true",require:1,repeat:0},{name:"formula.functionList.TEXTJOIN.functionParameter.text1.name",detail:"formula.functionList.TEXTJOIN.functionParameter.text1.detail",example:'"Hi"',require:1,repeat:0},{name:"formula.functionList.TEXTJOIN.functionParameter.text2.name",detail:"formula.functionList.TEXTJOIN.functionParameter.text2.detail",example:'"Univer"',require:0,repeat:1}]},{functionName:_pe.TEXTSPLIT,functionType:Fhe.Text,description:"formula.functionList.TEXTSPLIT.description",abstract:"formula.functionList.TEXTSPLIT.abstract",functionParameter:[{name:"formula.functionList.TEXTSPLIT.functionParameter.text.name",detail:"formula.functionList.TEXTSPLIT.functionParameter.text.detail",example:"A1:C2",require:1,repeat:0},{name:"formula.functionList.TEXTSPLIT.functionParameter.colDelimiter.name",detail:"formula.functionList.TEXTSPLIT.functionParameter.colDelimiter.detail",example:'","',require:1,repeat:0},{name:"formula.functionList.TEXTSPLIT.functionParameter.rowDelimiter.name",detail:"formula.functionList.TEXTSPLIT.functionParameter.rowDelimiter.detail",example:'";"',require:0,repeat:0},{name:"formula.functionList.TEXTSPLIT.functionParameter.ignoreEmpty.name",detail:"formula.functionList.TEXTSPLIT.functionParameter.ignoreEmpty.detail",example:"",require:0,repeat:0},{name:"formula.functionList.TEXTSPLIT.functionParameter.matchMode.name",detail:"formula.functionList.TEXTSPLIT.functionParameter.matchMode.detail",example:"",require:0,repeat:0},{name:"formula.functionList.TEXTSPLIT.functionParameter.padWith.name",detail:"formula.functionList.TEXTSPLIT.functionParameter.padWith.detail",example:"",require:0,repeat:0}]},{functionName:_pe.TRIM,functionType:Fhe.Text,description:"formula.functionList.TRIM.description",abstract:"formula.functionList.TRIM.abstract",functionParameter:[{name:"formula.functionList.TRIM.functionParameter.text.name",detail:"formula.functionList.TRIM.functionParameter.text.detail",example:'" Hello Univer "',require:1,repeat:0}]},{functionName:_pe.UNICHAR,functionType:Fhe.Text,description:"formula.functionList.UNICHAR.description",abstract:"formula.functionList.UNICHAR.abstract",functionParameter:[{name:"formula.functionList.UNICHAR.functionParameter.number.name",detail:"formula.functionList.UNICHAR.functionParameter.number.detail",example:"65",require:1,repeat:0}]},{functionName:_pe.UNICODE,functionType:Fhe.Text,description:"formula.functionList.UNICODE.description",abstract:"formula.functionList.UNICODE.abstract",functionParameter:[{name:"formula.functionList.UNICODE.functionParameter.text.name",detail:"formula.functionList.UNICODE.functionParameter.text.detail",example:'"Univer"',require:1,repeat:0}]},{functionName:_pe.UPPER,functionType:Fhe.Text,description:"formula.functionList.UPPER.description",abstract:"formula.functionList.UPPER.abstract",functionParameter:[{name:"formula.functionList.UPPER.functionParameter.text.name",detail:"formula.functionList.UPPER.functionParameter.text.detail",example:'"Univer"',require:1,repeat:0}]},{functionName:_pe.VALUE,functionType:Fhe.Text,description:"formula.functionList.VALUE.description",abstract:"formula.functionList.VALUE.abstract",functionParameter:[{name:"formula.functionList.VALUE.functionParameter.text.name",detail:"formula.functionList.VALUE.functionParameter.text.detail",example:'"123"',require:1,repeat:0}]},{functionName:_pe.VALUETOTEXT,functionType:Fhe.Text,description:"formula.functionList.VALUETOTEXT.description",abstract:"formula.functionList.VALUETOTEXT.abstract",functionParameter:[{name:"formula.functionList.VALUETOTEXT.functionParameter.value.name",detail:"formula.functionList.VALUETOTEXT.functionParameter.value.detail",example:'"Univer"',require:1,repeat:0},{name:"formula.functionList.VALUETOTEXT.functionParameter.format.name",detail:"formula.functionList.VALUETOTEXT.functionParameter.format.detail",example:"1",require:0,repeat:0}]},{functionName:_pe.CALL,functionType:Fhe.Text,description:"formula.functionList.CALL.description",abstract:"formula.functionList.CALL.abstract",functionParameter:[{name:"formula.functionList.CALL.functionParameter.number1.name",detail:"formula.functionList.CALL.functionParameter.number1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.CALL.functionParameter.number2.name",detail:"formula.functionList.CALL.functionParameter.number2.detail",example:"A1:A20",require:1,repeat:0}]},{functionName:_pe.EUROCONVERT,functionType:Fhe.Text,description:"formula.functionList.EUROCONVERT.description",abstract:"formula.functionList.EUROCONVERT.abstract",functionParameter:[{name:"formula.functionList.EUROCONVERT.functionParameter.number1.name",detail:"formula.functionList.EUROCONVERT.functionParameter.number1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.EUROCONVERT.functionParameter.number2.name",detail:"formula.functionList.EUROCONVERT.functionParameter.number2.detail",example:"A1:A20",require:1,repeat:0}]},{functionName:_pe.REGISTER_ID,functionType:Fhe.Text,description:"formula.functionList.REGISTER_ID.description",abstract:"formula.functionList.REGISTER_ID.abstract",functionParameter:[{name:"formula.functionList.REGISTER_ID.functionParameter.number1.name",detail:"formula.functionList.REGISTER_ID.functionParameter.number1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.REGISTER_ID.functionParameter.number2.name",detail:"formula.functionList.REGISTER_ID.functionParameter.number2.detail",example:"A1:A20",require:1,repeat:0}]},...$Me,...KMe,...QMe,...qMe,...XMe,{functionName:wpe.ENCODEURL,functionType:Fhe.Web,description:"formula.functionList.ENCODEURL.description",abstract:"formula.functionList.ENCODEURL.abstract",functionParameter:[{name:"formula.functionList.ENCODEURL.functionParameter.text.name",detail:"formula.functionList.ENCODEURL.functionParameter.text.detail",example:'"https://univer.ai/"',require:1,repeat:0}]},{functionName:wpe.FILTERXML,functionType:Fhe.Web,description:"formula.functionList.FILTERXML.description",abstract:"formula.functionList.FILTERXML.abstract",functionParameter:[{name:"formula.functionList.FILTERXML.functionParameter.number1.name",detail:"formula.functionList.FILTERXML.functionParameter.number1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.FILTERXML.functionParameter.number2.name",detail:"formula.functionList.FILTERXML.functionParameter.number2.detail",example:"A1:A20",require:1,repeat:0}]},{functionName:wpe.WEBSERVICE,functionType:Fhe.Web,description:"formula.functionList.WEBSERVICE.description",abstract:"formula.functionList.WEBSERVICE.abstract",functionParameter:[{name:"formula.functionList.WEBSERVICE.functionParameter.number1.name",detail:"formula.functionList.WEBSERVICE.functionParameter.number1.detail",example:"A1:A20",require:1,repeat:0},{name:"formula.functionList.WEBSERVICE.functionParameter.number2.name",detail:"formula.functionList.WEBSERVICE.functionParameter.number2.detail",example:"A1:A20",require:1,repeat:0}]},...zMe];function tOe(e,t){let r="";return e.aliasFunctionName?(r=t.t(e.aliasFunctionName),r===e.aliasFunctionName&&(r=e.functionName)):r=e.functionName,r}const rOe=V("formula.description-service");let nOe=class{constructor(e,t,r){this._functionService=e,this._localeService=t,this._configService=r,pMe(this,"_descriptions",[]),this._initialize()}dispose(){this._localeService.localeChanged$.complete()}getDescriptions(){return this._functionService.getDescriptions()}hasFunction(e){return void 0!==this._functionService.getDescriptions().get(e.toLocaleUpperCase())}getFunctionInfo(e){return this._functionService.getDescriptions().get(e.toLocaleUpperCase())}getSearchListByName(e){let t=[],r=this._functionService.getDescriptions(),n=e.toLocaleUpperCase().trim();return r.forEach(e=>{let{functionName:r,abstract:i,functionType:a}=e;r.toLocaleUpperCase().indexOf(n)>-1&&a!==Fhe.DefinedName&&t.push({name:r,desc:i})}),t}getSearchListByNameFirstLetter(e){let t=[],r=this._functionService.getDescriptions(),n=e.toLocaleUpperCase().trim();return r.forEach(e=>{let{functionName:r,abstract:i,functionType:a}=e;0===r.toLocaleUpperCase().indexOf(n)&&t.push({name:r,desc:i,functionType:a})}),t}getSearchListByType(e){let t=[];return this._functionService.getDescriptions().forEach(r=>{let{functionName:n,functionType:i,abstract:a}=r;(i===e||-1===e)&&i!==Fhe.DefinedName&&t.push({name:n,desc:a})}),t}registerDescriptions(e){return this._descriptions=this._descriptions.concat(e),this._registerDescriptions(),Jl(()=>{let t=e.map(e=>e.functionName);this.unregisterDescriptions(t)})}unregisterDescriptions(e){this._descriptions=this._descriptions.filter(t=>!e.includes(t.functionName)),this._functionService.unregisterDescriptions(...e)}hasDescription(e){return this._descriptions.some(t=>t.functionName===e)}hasDefinedNameDescription(e){return this._descriptions.some(t=>t.functionName===e&&t.functionType===Fhe.DefinedName)}isFormulaDefinedName(e){let t=this._descriptions.filter(t=>t.functionName===e&&t.functionType===Fhe.DefinedName);return 0!==t.length&&!Xme(t[0].description)}_initialize(){this._localeService.localeChanged$.subscribe(()=>{this._registerDescriptions()}),this._initDescription(),this._registerDescriptions()}_initDescription(){var e;let t=[...Bve,...MCe,...OCe,...jCe,...HCe,...zCe,...uye,...cye,...dye,...mye,...bye,...yye,...Sye,...Jye,...e_e,...t_e].map(e=>e[1]),r=eOe.filter(e=>t.includes(e.functionName)),n=this._configService.getConfig(oMe);this._descriptions=r.concat(null==(e=null==n?void 0:n.description)?[]:e)}_registerDescriptions(){let e=this._localeService,t=this._descriptions.map(t=>({functionName:tOe(t,e),functionType:t.functionType,description:e.t(t.description),abstract:e.t(t.abstract),functionParameter:t.functionParameter.map(t=>({name:e.t(t.name),detail:e.t(t.detail),example:t.example,require:t.require,repeat:t.repeat}))}));this._functionService.registerDescriptions(...t)}};nOe=hMe([dMe(0,Rpe),dMe(1,Y(Cg)),dMe(2,Tc)],nOe);let iOe=class extends tu{constructor(e,t,r,n){super(),this._descriptionService=e,this._definedNamesService=t,this._univerInstanceService=r,this._commandService=n,pMe(this,"_preUnitId",null),this._initialize()}_initialize(){this._descriptionListener(),this._changeUnitListener(),this._changeSheetListener()}_descriptionListener(){Jl(this._definedNamesService.update$.subscribe(()=>{this._registerDescriptions()}))}_changeUnitListener(){Jl(this._univerInstanceService.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET).subscribe(e=>{this._unRegisterDescriptions(),e&&this._registerDescriptions()}))}_changeSheetListener(){this.disposeWithMe(this._commandService.onCommandExecuted((e,t)=>{if(null==t||!t.fromCollab)if(e.id===fEe.id)this._unregisterDescriptionsForNotInSheetId(),this._registerDescriptions();else if(e.id===efe.id){let t=e.params;this._registerDescription(t)}else if(e.id===tfe.id){let t=e.params;this._unregisterDescription(t)}}))}_registerDescription(e){let t=this._getUnitIdAndSheetId(e);if(!t)return;let{sheetId:r}=t,{name:n,comment:i,formulaOrRefString:a,localSheetId:o}=e;!this._descriptionService.hasDescription(n)&&(null==o||o===ANe||o===r)&&this._descriptionService.registerDescriptions([{functionName:n,description:a+(i||""),abstract:a,functionType:Fhe.DefinedName,functionParameter:[]}])}_unregisterDescription(e){let{name:t}=e;this._descriptionService.unregisterDescriptions([t])}_unRegisterDescriptions(){if(null==this._preUnitId)return;let e=this._definedNamesService.getDefinedNameMap(this._preUnitId);if(null==e)return;let t=[];Array.from(Object.values(e)).forEach(e=>{let{name:r}=e;t.push(r)}),this._descriptionService.unregisterDescriptions(t),this._preUnitId=null}_getUnitIdAndSheetId(e={}){let{unitId:t,subUnitId:r}=e,n=t?this._univerInstanceService.getUnit(t,Pi.UNIVER_SHEET):this._univerInstanceService.getCurrentUnitOfType(Pi.UNIVER_SHEET);if(!n)return null;let i=r?n.getSheetBySheetId(r):n.getActiveSheet(!0);return i?{unitId:n.getUnitId(),sheetId:i.getSheetId()}:null}_registerDescriptions(){let e=this._getUnitIdAndSheetId();if(!e)return;let{unitId:t,sheetId:r}=e,n=this._definedNamesService.getDefinedNameMap(t);if(!n)return;let i=[];this._preUnitId=t,Array.from(Object.values(n)).forEach(e=>{let{name:t,comment:n,formulaOrRefString:a,localSheetId:o}=e;!this._descriptionService.hasDescription(t)&&(null==o||o===ANe||o===r)&&i.push({functionName:t,description:a+(n||""),abstract:a,functionType:Fhe.DefinedName,functionParameter:[]})}),this._descriptionService.registerDescriptions(i)}_unregisterDescriptionsForNotInSheetId(){let e=this._getUnitIdAndSheetId();if(!e)return;let{unitId:t,sheetId:r}=e,n=this._definedNamesService.getDefinedNameMap(t);if(!n)return;let i=[];Array.from(Object.values(n)).forEach(e=>{let{name:t,localSheetId:n}=e;n!==ANe&&n!==r&&i.push(t)}),this._descriptionService.unregisterDescriptions(i)}};iOe=hMe([dMe(0,rOe),dMe(1,Jme),dMe(2,dg),dMe(3,Vc)],iOe);let aOe=class extends tu{constructor(e){super(),this._commandService=e,[iMe,aMe,xme].forEach(e=>this._commandService.registerCommand(e))}};aOe=hMe([dMe(0,Vc)],aOe);let oOe=class extends tu{constructor(e,t,r,n){super(),this._descriptionService=e,this._univerInstanceService=t,this._commandService=r,this._superTableService=n,pMe(this,"_preUnitId",null),this._initialize()}_initialize(){this._descriptionListener(),this._changeUnitListener(),this._changeSheetListener()}_descriptionListener(){Jl(this._superTableService.update$.subscribe(()=>{this._registerDescriptions()}))}_changeUnitListener(){Jl(this._univerInstanceService.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET).subscribe(e=>{this._unRegisterDescriptions(),e&&this._registerDescriptions()}))}_changeSheetListener(){this.disposeWithMe(this._commandService.onCommandExecuted((e,t)=>{if(null==t||!t.fromCollab)if(e.id===fEe.id)this._unregisterDescriptionsForNotInSheetId(),this._registerDescriptions();else if(e.id===Afe.id){let t=e.params;this._registerDescription(t)}else if(e.id===Ife.id){let t=e.params;this._unregisterDescription(t)}}))}_registerDescription(e){let t=this._getUnitIdAndSheetId(e);if(!t)return;let{unitId:r}=t,{tableName:n,reference:i}=e;if(!this._descriptionService.hasDescription(n)){var a;let e=Dme((null==(a=this._univerInstanceService.getUnit(r))||null==(a=a.getSheetBySheetId(i.sheetId))?void 0:a.getName())||"",i.range);this._descriptionService.registerDescriptions([{functionName:n,description:e,abstract:e,functionType:Fhe.Table,functionParameter:[]}])}}_unregisterDescription(e){let{tableName:t}=e;this._descriptionService.unregisterDescriptions([t])}_unRegisterDescriptions(){if(null==this._preUnitId)return;let e=this._superTableService.getTableMap(this._preUnitId);if(null==e)return;let t=[];e.forEach((e,r)=>{t.push(r)}),this._descriptionService.unregisterDescriptions(t),this._preUnitId=null}_getUnitIdAndSheetId(e={}){let{unitId:t,subUnitId:r}=e,n=t?this._univerInstanceService.getUnit(t,Pi.UNIVER_SHEET):this._univerInstanceService.getCurrentUnitOfType(Pi.UNIVER_SHEET);if(!n)return null;let i=r?n.getSheetBySheetId(r):n.getActiveSheet(!0);return i?{unitId:n.getUnitId(),sheetId:i.getSheetId()}:null}_registerDescriptions(){let e=this._getUnitIdAndSheetId();if(!e)return;let{unitId:t}=e,r=this._superTableService.getTableMap(t);if(!r)return;let n=[];this._preUnitId=t,r.forEach((e,r)=>{var i;let a=Dme((null==(i=this._univerInstanceService.getUnit(t))||null==(i=i.getSheetBySheetId(e.sheetId))?void 0:i.getName())||"",e.range);this._descriptionService.hasDescription(r)||n.push({functionName:r,description:a,abstract:a,functionType:Fhe.Table,functionParameter:[]})}),this._descriptionService.registerDescriptions(n)}_unregisterDescriptionsForNotInSheetId(){let e=this._getUnitIdAndSheetId();if(!e)return;let{unitId:t}=e,r=this._superTableService.getTableMap(t);if(!r)return;let n=[];r.forEach((e,t)=>{n.push(t)}),this._descriptionService.unregisterDescriptions(n)}};function sOe(e,t,r,n){let i=e.sequenceNodesBuilder(t);if(null==i)return t;let a=[];for(let e=0,t=i.length;e`${e.unitId}!${e.sheetName}!${e.range.startRow}!${e.range.endRow}!${e.range.startColumn}!${e.range.endColumn}`).join("|")}oOe=hMe([dMe(0,rOe),dMe(1,dg),dMe(2,Vc),dMe(3,Sfe)],oOe);let lOe=class extends tu{constructor(e,t,r,n){super(),this._refRangeService=e,this._lexerTreeBuilder=t,this._univerInstanceService=r,this._injector=n}transformFormulaByEffectCommand(e,t,r,n){let i=this._lexerTreeBuilder.sequenceNodesBuilder(r),a=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET),o=a.getActiveSheet(),s=a.getUnitId(),l=o.getSheetId(),u=null==i?void 0:i.map(r=>{if("object"==typeof r&&r.nodeType===kfe.REFERENCE){let{range:i,unitId:a,sheetName:o}=Lfe(r.token),u=this._univerInstanceService.getUnit(a||e),c=o?null==u?void 0:u.getSheetBySheetName(o):null==u?void 0:u.getSheetBySheetId(t);if(!c)throw Error("Sheet not found");let d=u.getUnitId(),h=c.getSheetId();if(d!==s||h!==l)return r;let m=LIe(i,n),f="";if(m){let e=Ah(i,m.startColumn-i.startColumn,m.startRow-i.startRow);f=a&&o?Ume(a,o,e):o?Dme(o,e):Pme(e)}else f=Jde.REF;return{...r,token:f}}return r});return u?`=${Pfe(u)}`:""}registerFormula(e,t,r,n){let i=new Map,a=this._lexerTreeBuilder.sequenceNodesBuilder(r),o=new eu,s=e=>{let t=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET),r=t.getActiveSheet(),o=t.getUnitId(),s=r.getSheetId(),l=null==a?void 0:a.map(t=>{if("object"==typeof t&&t.nodeType===kfe.REFERENCE){let r=i.get(t.token);if(r.unitId!==o||r.subUnitId!==s)return t;let n=LIe(r.range,e),a="";if(n){let e=n.startColumn-r.range.startColumn,t=n.startRow-r.range.startRow,i=Ah(r.range,e,t);a=r.unitId&&r.sheetName?Ume(r.unitId,r.sheetName,i):r.sheetName?Dme(r.sheetName,i):Pme(i)}else a=Jde.REF;return{...t,token:a}}return t});return n(`=${l&&Pfe(l)}`)};return null==a||a.forEach(r=>{if("object"==typeof r&&r.nodeType===kfe.REFERENCE){let{range:n,unitId:a,sheetName:l}=Lfe(r.token),u=this._univerInstanceService.getUnit(a||e),c=l?null==u?void 0:u.getSheetBySheetName(l):null==u?void 0:u.getSheetBySheetId(t);if(!c)return;let d=u.getUnitId(),h=c.getSheetId(),m={unitId:d,subUnitId:h,range:n,sheetName:l};i.set(r.token,m),o.add(this._refRangeService.registerRefRange(n,s,d,h))}}),o}_getFormulaDependcy(e,t,r,n){let i=Bd(r)?this._lexerTreeBuilder.sequenceNodesBuilder(r):null,a=[];return null==i||i.forEach(r=>{if("object"==typeof r&&r.nodeType===kfe.REFERENCE){let{range:i,unitId:o,sheetName:s}=Lfe(r.token);if(i.startAbsoluteRefType===vd.ALL&&i.endAbsoluteRefType===vd.ALL)return;let l=this._univerInstanceService.getUnit(o||e),u=s?null==l?void 0:l.getSheetBySheetName(s):null==l?void 0:l.getSheetBySheetId(t);if(!u)return;let c=l.getUnitId(),d=u.getSheetId(),h=n[0].startRow,m=n[0].startColumn,f=i.startRow,g=i.startColumn,p=n.map(e=>({startRow:e.startRow-h+f,endRow:e.endRow-h+f,startColumn:e.startColumn-m+g,endColumn:e.endColumn-m+g}));a.push({unitId:c,subUnitId:d,ranges:p})}}),a}registerRangeFormula(e,t,r,n,i){let a=new eu,o=n.map(n=>this._getFormulaDependcy(e,t,n,r)),s=a=>{let s=function(e,t){let r=e.get(dg);switch(t.id){case hIe:{let e=t.params,n=W_e(r,e);if(!n)return;let{unitId:i,subUnitId:a}=n,{fromRange:o,toRange:s}=e;return{unitId:i,subUnitId:a,ranges:[o,{...s,startColumn:o.startColumn0?[{...s,startRow:s.startRow-1,endRow:s.endRow-1}]:[],{...s,startRow:s.startRow,endRow:i.getRowCount()-1}]}}case aIe:{let e=t.params,n=W_e(r,e);if(!n)return;let{worksheet:i,unitId:a,subUnitId:o}=n,{range:s}=e;return{unitId:a,subUnitId:o,ranges:[...s.startColumn>0?[{...s,startColumn:s.startColumn-1,endColumn:s.endColumn-1}]:[],{...s,startColumn:s.startColumn,endColumn:i.getColumnCount()-1}]}}case sIe:{let e=t.params,n=W_e(r);if(!n)return;let{worksheet:i,unitId:a,subUnitId:o}=n,{range:s}=e;return{unitId:a,subUnitId:o,ranges:[s,{...s,startRow:s.endRow+1,endRow:i.getRowCount()-1}]}}case oIe:{let e=t.params,n=W_e(r);if(!n)return;let{worksheet:i,unitId:a,subUnitId:o}=n,{range:s}=e;return{unitId:a,subUnitId:o,ranges:[s,{...s,startColumn:s.endColumn+1,endColumn:i.getColumnCount()-1}]}}case uIe:case cIe:{let e=t.params,n=W_e(r);if(!n)return;let{worksheet:i,unitId:a,subUnitId:o}=n,{range:s}=e;return{unitId:a,subUnitId:o,ranges:[s,{...s,startRow:s.endRow+1,endRow:i.getRowCount()-1}]}}case lIe:case dIe:{let e=t.params,n=W_e(r);if(!n)return;let{worksheet:i,unitId:a,subUnitId:o}=n,{range:s}=e;return{unitId:a,subUnitId:o,ranges:[s,{...s,startColumn:s.endColumn+1,endColumn:i.getColumnCount()-1}]}}case fIe:{let e=t.params,n=W_e(r);if(!n)return;let{unitId:i,subUnitId:a}=n,{range:o,order:s}=e,l=[];for(let e=o.startRow;e<=o.endRow;e++)e in s&&l.push({startRow:e,endRow:e,startColumn:o.startColumn,endColumn:o.endColumn});return{unitId:i,subUnitId:a,ranges:l}}}}(this._injector,a);if(!s)return{undos:[],redos:[]};let l=r[0].startRow,u=r[0].startColumn,c=[{unitId:e,subUnitId:t,ranges:r},...o.flat()],d=[];for(let{unitId:e,subUnitId:t,ranges:r}of c)if(e===s.unitId&&t===s.subUnitId){let e=[],t=r[0].startRow,n=r[0].startColumn,i=t-l,a=n-u;for(let t of s.ranges){let n=r.map(e=>xh(t,e)).filter(Boolean);n.length>0&&e.push(...n)}e.length>0&&d.push(e.map(e=>({startRow:e.startRow-i,endRow:e.endRow-i,startColumn:e.startColumn-a,endColumn:e.endColumn-a})))}if(d.length>0){let o=Oh.splitIntoGrid([...d.flat()]),s=Oh.subtractMulti(r,o);s.sort((e,t)=>e.startRow-t.startRow||e.startColumn-t.startColumn);let c=new Map;for(let r=0;re.startRow-t.startRow||e.startColumn-t.startColumn);if(!h.length)continue;let m=h[0].startRow-l,f=h[0].startColumn-u,g=[];for(let r=0;re.orginFormula).join("_")};c.has(p.key)?c.get(p.key).push(p):c.set(p.key,[p])}let h=n.map(e=>sOe(this._lexerTreeBuilder,e,0,0)).join("_");if(s.length>0){let e=s[0].startRow,t=s[0].startColumn,r=[];for(let i=0;i=0;e--){let t=f[e],r=c.get(t).sort((e,t)=>e.ranges[0].startRow-t.ranges[0].startRow||e.ranges[0].startColumn-t.ranges[0].startColumn),n=[];for(let e=0;ee.ranges).flat());i.sort((e,t)=>e.startRow-t.startRow||e.startColumn-t.startColumn),m.push({formulas:n,ranges:i})}return i(m)}return{undos:[],redos:[]}};return r.forEach(r=>{let n=this._refRangeService.registerRefRange(r,s,e,t);a.add(n)}),[...o.flat()].forEach(({unitId:e,subUnitId:t,ranges:r})=>{r.forEach(r=>{let n=this._refRangeService.registerRefRange(r,s,e,t);a.add(n)})}),a}};lOe=hMe([dMe(0,Y(VIe)),dMe(1,Y(Ffe)),dMe(2,dg),dMe(3,Y(he))],lOe);const uOe="sheets-formula.remote-register-function.service",cOe=V(uOe);let dOe=class{constructor(e){this._functionService=e}async registerFunctions(e){let t=e.map(([e,t])=>function(e,t){let r=new kCe(t);return r.calculateCustom=Function(`return ${e}`)(),r}(e,t));this._functionService.registerExecutors(...t)}async registerAsyncFunctions(e){let t=e.map(([e,t])=>function(e,t){let r=new PCe(t);return r.calculateCustom=Function(`return ${e}`)(),r}(e,t));this._functionService.registerExecutors(...t)}async unregisterFunctions(e){this._functionService.unregisterExecutors(...e),this._functionService.unregisterDescriptions(...e),this._functionService.deleteFormulaAstCacheKey(...e)}};dOe=hMe([dMe(0,Rpe)],dOe);const hOe=V("sheets-formula.register-function-service");let mOe=class extends tu{constructor(e,t,r,n){super(),this._localeService=e,this._descriptionService=t,this._functionService=r,this._remoteRegisterFunctionService=n}registerFunction(e){return this._registerSingleFunction(e)}registerAsyncFunction(e){return this._registerSingleFunction({...e,async:!0})}registerFunctions(e){let{locales:t,description:r,calculate:n}=e;t&&this._localeService.load(t);let i=new eu;if(r)i.add(this._descriptionService.registerDescriptions(r));else{let e=n.map(([e,t,r])=>({functionName:t,functionType:Fhe.User,description:"",abstract:r||"",functionParameter:[]}));i.add(this._functionService.registerDescriptions(...e))}return i.add(this._registerLocalExecutors(n)),this._remoteRegisterFunctionService&&i.add(this._registerRemoteExecutors(n)),i}_registerSingleFunction(e){let{name:t,func:r,description:n,locales:i,async:a=!1}=e,o=new eu;if(i&&this._localeService.load(i),"string"==typeof n){let e={functionName:t,functionType:Fhe.User,description:n,abstract:n||"",functionParameter:[]};o.add(this._descriptionService.registerDescriptions([e]))}else o.add(this._descriptionService.registerDescriptions([n]));let s=a?new PCe(t):new kCe(t);return s.calculateCustom=r,this._functionService.registerExecutors(s),o.add(Jl(()=>this._functionService.unregisterExecutors(t))),o.add(Jl(()=>this._functionService.unregisterDescriptions(t))),o.add(Jl(()=>this._functionService.deleteFormulaAstCacheKey(t))),this._remoteRegisterFunctionService&&(this._remoteRegisterFunctionService.registerAsyncFunctions([[r.toString(),t]]),o.add(Jl(()=>this._remoteRegisterFunctionService.unregisterFunctions([t])))),o}_registerLocalExecutors(e){let t=e.map(([e,t])=>t),r=e.map(([e,t])=>{let r=new kCe(t);return r.calculateCustom=e,r});return this._functionService.registerExecutors(...r),Jl(()=>this._functionService.unregisterExecutors(...t))}_registerRemoteExecutors(e){let t=[],r=e.map(([e,r])=>(t.push(r),[e.toString(),r]));return this._remoteRegisterFunctionService.registerFunctions(r),Jl(()=>this._remoteRegisterFunctionService.unregisterFunctions(t))}};mOe=hMe([dMe(0,Y(Cg)),dMe(1,Y(rOe)),dMe(2,Rpe),dMe(3,G(cOe))],mOe);let fOe=class extends Rg{constructor(e=cMe,t,r){super(),this._config=e,this._injector=t,this._configService=r;let{...n}=hr({},cMe,this._config);this._configService.setConfig(uMe,n)}onStarting(){this._injector.add([dOe]),this._injector.get(Bde).registerChannel(uOe,Ode(this._injector.get(dOe)))}};pMe(fOe,"pluginName","SHEET_FORMULA_REMOTE_PLUGIN"),pMe(fOe,"packageName",FMe),pMe(fOe,"version",jMe),pMe(fOe,"type",Pi.UNIVER_SHEET),fOe=hMe([Tg(m_e),dMe(1,Y(he)),dMe(2,Tc)],fOe);let gOe=class extends Rg{constructor(e=lMe,t,r){super(),this._config=e,this._injector=t,this._configService=r;let{...n}=hr({},lMe,this._config);this._configService.setConfig(oMe,n,{merge:!0})}onStarting(){let e=this._injector,t=[[hOe,{useClass:mOe}],[rOe,{useClass:nOe}],[aOe],[lOe],[WMe],[vMe],[yMe],[VMe],[HMe],[iOe],[BMe],[oOe],[mMe]];if(this._config.notExecuteFormula){let r=e.get(Bde);t.push([cOe,{useFactory:()=>Lde(r.requestChannel(uOe))}])}t.forEach(t=>e.add(t))}onReady(){Ol(this._injector,[[aOe],[HMe],[WMe],[vMe],[VMe],[BMe],[mMe]]),hu()&&Ol(this._injector,[[yMe]])}onRendered(){Ol(this._injector,[[iOe],[oOe]]),hu()||Ol(this._injector,[[yMe]])}};pMe(gOe,"pluginName","SHEETS_FORMULA_PLUGIN"),pMe(gOe,"packageName",FMe),pMe(gOe,"version",jMe),pMe(gOe,"type",Pi.UNIVER_SHEET),gOe=hMe([Tg(ZNe),dMe(1,Y(he)),dMe(2,Tc)],gOe);var pOe=Array.isArray;function vOe(e){return 1===e.length&&pOe(e[0])?e[0]:e}function bOe(){for(var e=[],t=0;t{t=t.concat(e.rows),r=r.concat(e.cols)}),t=Array.from(new Set(t)).sort((e,t)=>e-t),r=Array.from(new Set(r)).sort((e,t)=>e-t),e.forEach(e=>{n.push({startRow:t.findIndex(t=>t===e.rows[0]),endRow:t.findIndex(t=>t===e.rows[e.rows.length-1]),startColumn:r.findIndex(t=>t===e.cols[0]),endColumn:r.findIndex(t=>t===e.cols[e.cols.length-1])})}),{ranges:n,mapFunc:(e,n)=>({row:t[e],col:r[n]})}}const YOe=jl("rangeMovePermissionCheck"),QOe=jl("rangeFillPermissionCheck");let ZOe=function(e){return e[e.FORMULA_EDITOR_SHOW=100]="FORMULA_EDITOR_SHOW",e[e.MARK_SELECTION=1e4]="MARK_SELECTION",e}({});function KOe(e){let t=e.getColorFromTheme("primary.600"),r=e.getColorFromTheme("white"),n=new $c(t).setAlpha(.07).toRgbString();return{strokeWidth:1,stroke:t,fill:n,widgets:{},widgetSize:6,widgetStrokeWidth:1,widgetStroke:r,autofillSize:6,autofillStrokeWidth:1,autofillStroke:r,rowHeaderFill:n,rowHeaderStroke:t,rowHeaderStrokeWidth:1,columnHeaderFill:n,columnHeaderStroke:t,columnHeaderStrokeWidth:1,expandCornerSize:40}}const $Oe=[10,400],JOe="RANGE_SELECTOR_COMPONENT_KEY",eLe="EMBEDDING_FORMULA_EDITOR_COMPONENT_KEY";let tLe=function(e){return e.MAIN="__SpreadsheetRender__",e.ROW="__SpreadsheetRowHeader__",e.COLUMN="__SpreadsheetColumnHeader__",e.LEFT_TOP="__SpreadsheetLeftTopPlaceholder__",e}({});function rLe(e){return rLe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},rLe(e)}function nLe(e,t,r){return(t=function(e){var t=function(e){if("object"!=rLe(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=rLe(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==rLe(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var iLe=class{constructor(){nLe(this,"_startColumn",-1),nLe(this,"_startRow",-1),nLe(this,"_endColumn",-1),nLe(this,"_endRow",-1),nLe(this,"_startX",0),nLe(this,"_startY",0),nLe(this,"_endX",0),nLe(this,"_endY",0),nLe(this,"_primary",void 0),nLe(this,"_rangeType",pd.NORMAL)}get startColumn(){return this._startColumn}get startRow(){return this._startRow}get endColumn(){return this._endColumn}get endRow(){return this._endRow}get startX(){return this._startX}get startY(){return this._startY}get endX(){return this._endX}get endY(){return this._endY}get currentCell(){return this._primary}get rangeType(){return this._rangeType}isEqual(e){let{startColumn:t,startRow:r,endColumn:n,endRow:i}=this,{startColumn:a,startRow:o,endColumn:s,endRow:l}=e;return t===a&&r===o&&n===s&&i===l}highlightToSelection(){if(this._primary)return Pd(this._primary)}getRange(){return{startColumn:this._startColumn,startRow:this._startRow,endColumn:this._endColumn,endRow:this._endRow,startX:this._startX,startY:this._startY,endX:this._endX,endY:this._endY,rangeType:this.rangeType}}getCell(){return this._primary}getRangeType(){return this._rangeType}setRangeType(e){this._rangeType=e}getValue(){return{rangeWithCoord:this.getRange(),primaryWithCoord:this._primary}}setValue(e,t){let{startColumn:r,startRow:n,endColumn:i,endRow:a,startX:o,startY:s,endX:l,endY:u,rangeType:c}=e;this._startColumn=r,this._startRow=n,this._endColumn=i,this._endRow=a,this._startX=o,this._startY=s,this._endX=l,this._endY=u,void 0!==c&&(this._rangeType=c),void 0!==t&&this.setCurrentCell(t)}setCurrentCell(e){this._primary=e}clearCurrentCell(){this._primary=null}};const aLe={id:"sheet.command.set-row-header-width",type:Bc.COMMAND,handler:async(e,t)=>{if(!t)return!1;let r=e.get(kX);if(!r)return!1;let{unitId:n,subUnitId:i,size:a}=t,o=r.getRenderById(n);if(o){r.getRenderById(n).with(vLe).setRowHeaderSize(o,i,a);let{components:e}=o,t=e.get(tLe.ROW);t&&t.setCustomHeader({headerStyle:{size:a}},i)}return!0}},oLe={id:"sheet.command.set-col-header-height",type:Bc.COMMAND,handler:async(e,t)=>{if(!t)return!1;let r=e.get(kX);if(!r)return!1;let{unitId:n,subUnitId:i,size:a}=t,o=r.getRenderById(n);if(o){r.getRenderById(n).with(vLe).setColumnHeaderSize(o,i,a);let{components:e}=o,t=e.get(tLe.COLUMN);t&&t.setCustomHeader({headerStyle:{size:a}},i)}return!0}};var sLe=class extends hX{render(e,t=!1){let r=uu.now();return super.render(e,t),this._afterRender(r),this}_afterRender(e){this.scene.getEngine().renderFrameTimeMetric$.next(["selectionLayer",uu.now()-e])}};function lLe(e,t){let{startRow:r,startColumn:n,endRow:i,endColumn:a,rangeType:o}=t,s=i{this._selectionMoving=!0})),this.disposeWithMe(this._selectionMoveEnd$.subscribe(()=>{this._selectionMoving=!1}))}_setSelectionStyle(e){this._selectionStyle=e}getViewPort(){return this._activeViewport}setSingleSelectionEnabled(e=!1){this._singleSelectionEnabled=e}newSelectionControl(e,t,r){let n=this.getSelectionControls().length,{rowHeaderWidth:i,columnHeaderHeight:a}=t,o=new _Le(e,n,this._selectionTheme,{highlightHeader:this._highlightHeader,rowHeaderWidth:i,columnHeaderHeight:a});this._selectionControls.push(o);let s=uLe(r,t);return o.updateRangeBySelectionWithCoord(s,t),o.setControlExtension({skeleton:t,scene:e,themeService:this._selectionTheme,injector:this._injector,selectionHooks:{selectionMoveEnd:()=>{this._selectionMoveEnd$.next(this.getSelectionDataWithStyle())}}}),o}resetSelectionsByModelData(e){let t=this.getSelectionControls(),r=this._skeleton;if(t&&r){for(let n=0,i=e.length;ne.dispose())}}refreshSelectionMoveStart(){this._selectionMoveStart$.next(this.getSelectionDataWithStyle())}refreshSelectionMoveEnd(){this._selectionMoveEnd$.next(this.getSelectionDataWithStyle())}_initSelectionThemeFromThemeService(){let e=this._themeService.getCurrentTheme();this._selectionTheme=new Lg,this._selectionTheme.setTheme(e)}setSelectionTheme(e){this._selectionTheme.setTheme(e)}_changeRuntime(e,t,r){this._skeleton=e,this._scene=t,this._activeViewport=r||(null==t?void 0:t.getViewports()[0]),t.findLayerByZIndex(1)||t.addLayer(new sLe(t,[],1))}getSkeleton(){return this._skeleton}getSelectionDataWithStyle(){let e=this._selectionControls;if(this._skeleton.worksheet){let[t,r]=this._skeleton.getLocation();return e.map(e=>{let n=e.getValue();return n.rangeWithCoord.sheetId=r,n.rangeWithCoord.unitId=t,n})}return[]}getSelectionControls(){return this._selectionControls}_addSelectionControlByModelData(e){var t;let r=this._skeleton,n=null==(t=e.style)?KOe(this._selectionTheme):t,i=this._scene;return e.style=n,this.newSelectionControl(i,r,e)}_clearAllSelectionControls(){let e=this._selectionControls;for(let t of e)t.dispose();this._selectionControls.length=0}_getFreeze(){var e;return null==(e=this._sheetSkeletonManagerService.getCurrentParam())?void 0:e.skeleton.getWorksheetConfig().freeze}_getViewportByCell(e,t){if(void 0===e||void 0===t)return null;let r=this._getFreeze();return!r||r.startRow<=0&&r.startColumn<=0||e>r.startRow&&t>r.startColumn?this._scene.getViewport(bj.VIEW_MAIN):e<=r.startRow&&t<=r.startColumn?this._scene.getViewport(bj.VIEW_MAIN_LEFT_TOP):e<=r.startRow&&t>r.startColumn?this._scene.getViewport(bj.VIEW_MAIN_TOP):e>r.startRow&&t<=r.startColumn?this._scene.getViewport(bj.VIEW_MAIN_LEFT):void 0}getActiveRange(){let e=this.getSelectionControls(),t=e&&e[e.length-1].model;return t&&{startRow:t.startRow,startColumn:t.startColumn,endRow:t.endRow,endColumn:t.endColumn}}setActiveSelectionIndex(e){this._activeControlIndex=e}resetActiveSelectionIndex(){this._activeControlIndex=-1}getActiveSelectionControl(){let e=this.getSelectionControls();if(e)return this._activeControlIndex<0?e[e.length-1]:e[this._activeControlIndex]}endSelection(){var e;this._clearUpdatingListeners(),this._selectionMoveEnd$.next(this.getSelectionDataWithStyle()),null==(e=this._escapeShortcutDisposable)||e.dispose(),this._escapeShortcutDisposable=null}_reset(){var e;this._clearAllSelectionControls(),null==(e=this._downObserver)||e.unsubscribe(),this._downObserver=null}_setupPointerMoveListener(e,t,r,n=wX.ALL,i,a){var o,s;let l=0,u=0,c=i,d=a;this._scrollTimer=SX.create(this._scene,n),this._scrollTimer.startScroll(null==(o=null==e?void 0:e.left)?0:o,null==(s=null==e?void 0:e.top)?0:s,e);let h=this._scene,m=h.getActiveViewportByCoord(TF.FromArray([i,a]));this._scenePointerMoveSub=h.onPointerMove$.subscribeEvent(n=>{var i;let{offsetX:a,offsetY:o}=n,{x:s,y:f}=h.getCoordRelativeToViewport(TF.FromArray([a,o]));this._movingHandler(s,f,t,r);let g=s,p=f,v=this.getActiveSelectionControl(),b=this._getFreeze(),C=null==v?void 0:v.model,y=null==(i=h.getActiveViewportByCoord(TF.FromArray([a,o])))?this._getViewportByCell(null==C?void 0:C.endRow,null==C?void 0:C.endColumn):i;if((()=>{if(!m||!y||!e)return!1;let t=[bj.VIEW_MAIN,bj.VIEW_MAIN_LEFT_TOP,bj.VIEW_MAIN_TOP,bj.VIEW_MAIN_LEFT];return t.includes(m.viewportKey)&&t.includes(y.viewportKey)})()){if(!m||!y||!e)return!1;let t=ce.left||c>e.left&&se.top||d>e.top&&f(null==(I=null==b?void 0:b.startRow)?0:I)&&(r=!1),(null==(R=null==C?void 0:C.endColumn)?0:R)>(null==(x=null==b?void 0:b.startColumn)?0:x)&&(t=!1),t&&(g=e.left),r&&(p=e.top)}else{let a={x:m.scrollX,y:m.scrollY},o={x:y.scrollX,y:y.scrollY},s=a.x!==o.x&&t&&l%2==1,c=a.y!==o.y&&r&&u%2==1;(s||c)&&(e.scrollToBarPos({x:s?a.x:void 0,y:c?a.y:void 0}),s||(g=e.left),c||(p=e.top)),(n===bj.VIEW_MAIN_LEFT_TOP&&i===bj.VIEW_MAIN_LEFT||i===bj.VIEW_MAIN_LEFT_TOP&&n===bj.VIEW_MAIN_LEFT)&&(g=e.left),(n===bj.VIEW_MAIN_LEFT_TOP&&i===bj.VIEW_MAIN_TOP||i===bj.VIEW_MAIN_LEFT_TOP&&n===bj.VIEW_MAIN_TOP)&&(p=e.top)}c=s,d=f}this._scrollTimer.scrolling(g,p,()=>{this._movingHandler(s,f,t,r)})})}attachSelectionWithCoord(e){return uLe(e,this._skeleton)}attachPrimaryWithCoord(e){return cLe(this._skeleton,e)}getSelectionCellByPosition(e,t){return this.getCellWithCoordByOffset(e,t)}getCellWithCoordByOffset(e,t,r){let n=this._scene,i=null==r?this._skeleton:r,a=n.getViewportScrollXY(n.getViewport(bj.VIEW_MAIN)),{scaleX:o,scaleY:s}=n.getAncestorScale();return i.getCellWithCoordByOffset(e-a.x,t-a.y,o,s,a)}_movingHandler(e,t,r,n){var i,a,o,s,l;let u=this._skeleton,c=this._scene,[d,h]=u.getLocation(),m={startRow:null==(i=null==r?void 0:r.model.startRow)?-1:i,endRow:null==(a=null==r?void 0:r.model.endRow)?-1:a,startColumn:null==(o=null==r?void 0:r.model.startColumn)?-1:o,endColumn:null==(s=null==r?void 0:r.model.endColumn)?-1:s,unitId:d,sheetId:h},f=c.getViewport(bj.VIEW_MAIN),g=null==(l=this._getViewportByCell(m.endRow,m.endColumn))?f:l,p=c.getScrollXYInfoByViewport(TF.FromArray([this._startViewportPosX,this._startViewportPosY]),g),{scaleX:v,scaleY:b}=c.getAncestorScale();n===pd.ROW?e=1/0:n===pd.COLUMN&&(t=1/0);let C=this._skeleton.getCellByOffset(e,t,v,b,p);if(!C)return;let y={startRow:Math.min(C.startRow,this._startRangeWhenPointerDown.startRow),startColumn:Math.min(C.startColumn,this._startRangeWhenPointerDown.startColumn),endRow:Math.max(C.endRow,this._startRangeWhenPointerDown.endRow),endColumn:Math.max(C.endColumn,this._startRangeWhenPointerDown.endColumn)};this._shouldDetectMergedCells&&(y=u.expandRangeByMerge(y,this.inRefSelectionMode()));let _=uLe({range:y,primary:void 0,style:null},u);_.rangeWithCoord.unitId=d,_.rangeWithCoord.sheetId=h,_.rangeWithCoord.rangeType=n;let w=m.startRow!==y.startRow||m.startColumn!==y.startColumn||m.endRow!==y.endRow||m.endColumn!==y.endColumn;null!=r&&w&&(r.updateRangeBySelectionWithCoord(_),this._selectionMoving$.next(this.getSelectionDataWithStyle()))}_clearUpdatingListeners(){var e,t,r,n,i;this._scene.enableObjectsEvent(),null==(e=this._scenePointerMoveSub)||e.unsubscribe(),this._scenePointerMoveSub=null,null==(t=this._scenePointerUpSub)||t.unsubscribe(),this._scenePointerUpSub=null,null==(r=this._cancelDownSubscription)||r.unsubscribe(),this._cancelDownSubscription=null,null==(n=this._cancelUpSubscription)||n.unsubscribe(),this._cancelUpSubscription=null,null==(i=this._scrollTimer)||i.dispose()}_addEndingListeners(){var e,t,r;let n=this._scene,i=null==(e=n.getEngine())?void 0:e.activeScene;!i||i===n||(null==(t=this._cancelDownSubscription)||t.unsubscribe(),this._cancelDownSubscription=null,null==(r=this._cancelUpSubscription)||r.unsubscribe(),this._cancelUpSubscription=null,this._cancelDownSubscription=i.onPointerDown$.subscribeEvent(()=>this._clearUpdatingListeners()),this._cancelUpSubscription=i.onPointerUp$.subscribeEvent(()=>this._clearUpdatingListeners()))}_getSelectionWithCoordByOffset(e,t,r,n,i){let a=this._skeleton;if(null==a)return null;if(this._shouldDetectMergedCells){let o=null==a?void 0:a.getCellWithCoordByOffset(e,t,r,n,i,{firstMatch:!0});return o?{primaryWithCoord:o,rangeWithCoord:Pd(o)}:void 0}let{row:o,column:s}=a.getCellIndexByOffset(e,t,r,n,i),{startX:l,startY:u,endX:c,endY:d}=a.getNoMergeCellWithCoordByIndex(o,s),h={startY:u,endY:d,startX:l,endX:c,startRow:o,endRow:o,startColumn:s,endColumn:s};return{primaryWithCoord:{mergeInfo:h,actualRow:o,actualColumn:s,isMerged:!1,isMergedMainCell:!1,startY:u,endY:d,startX:l,endX:c},rangeWithCoord:h}}_checkClearPreviousControls(e){0!==this.getSelectionControls().length&&(!e.ctrlKey&&!e.shiftKey&&!this._remainLastEnabled||this._singleSelectionEnabled&&!e.shiftKey)&&this._clearAllSelectionControls()}_makeSelectionByTwoCells(e,t,r,n,i){let{actualRow:a,actualColumn:o,mergeInfo:s}=e;this._startRangeWhenPointerDown={...e.mergeInfo};let l=Math.min(a,t.startRow,s.startRow),u=Math.max(a,t.endRow,s.endRow),c=Math.min(o,t.startColumn,s.startColumn),d=Math.max(o,t.endColumn,s.endColumn),h=uLe({range:r.expandRangeByMerge({startRow:l,startColumn:c,endRow:u,endColumn:d}),primary:DEe(e),style:null},r);i.updateRangeBySelectionWithCoord(h)}isSelectionEnabled(){return this.contextService.getContextValue(nSe)}isSelectionDisabled(){return!1===this.contextService.getContextValue(nSe)}inRefSelectionMode(){return this.contextService.getContextValue(iSe)}};function mLe(e){return{range:{startRow:0,startColumn:0,endRow:e.getRowCount()-1,endColumn:e.getColumnCount()-1,rangeType:pd.ALL},primary:fLe(e).primary,style:null}}function fLe(e){return function(e,t){let r=e.worksheet.getCellInfoInMergeData(t.startRow,t.startColumn),n=e.worksheet.getCellInfoInMergeData(t.endRow,t.endColumn);return{range:{startRow:r.startRow,startColumn:r.startColumn,endRow:n.endRow,endColumn:n.endColumn,rangeType:pd.NORMAL},primary:{actualRow:r.startRow,actualColumn:r.startColumn,startRow:r.startRow,startColumn:r.startColumn,endRow:r.endRow,endColumn:r.endColumn,isMerged:r.isMerged,isMergedMainCell:r.isMergedMainCell},style:null}}(e,{startRow:0,startColumn:0,endRow:0,endColumn:0})}function gLe(e,t){return function(r,n){t(r,n,e)}}function pLe(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}let vLe=class extends tu{constructor(e,t,r){super(),this._context=e,this._injector=t,this._sheetSkService=r,nLe(this,"_sheetId",""),nLe(this,"_sheetSkeletonParamStore",new Map),nLe(this,"_currentSkeleton$",new Qn(null)),nLe(this,"currentSkeleton$",this._currentSkeleton$.asObservable()),nLe(this,"_currentSkeletonBefore$",new Qn(null)),nLe(this,"currentSkeletonBefore$",this._currentSkeletonBefore$.asObservable()),this.disposeWithMe(()=>{this._currentSkeletonBefore$.complete(),this._currentSkeleton$.complete(),this._sheetSkeletonParamStore.forEach(e=>this.disposeSkeleton(e.sheetId)),this._sheetSkeletonParamStore.clear()}),this._initRemoveSheet()}_initRemoveSheet(){this.disposeWithMe(this._context.unit.sheetDisposed$.subscribe(e=>{this.disposeSkeleton(e.getSheetId())}))}getCurrentSkeleton(){var e;return null==(e=this.getCurrentParam())?void 0:e.skeleton}getCurrent(){return this.getCurrentParam()}getCurrentParam(){return this._getSkeletonParam(this._sheetId)}getSkeleton(e){return this._getSkeleton(e)}getSkeletonParam(e){return this._getSkeletonParam(e)}getWorksheetSkeleton(e){return this.getSkeletonParam(e)}getUnitSkeleton(e,t){let r=this._getSkeletonParam(t);return null!=r&&(r.unitId=e),r}setCurrent(e){this._setCurrent(e.sheetId)}setSkeletonParam(e,t){this._sheetSkService.setSkeleton(t.unitId,e,t.skeleton),this._sheetSkeletonParamStore.set(e,t)}_setCurrent(e){this._sheetId=e;let t=this._getSkeletonParam(e),r=this._context.unitId;if(null!=t)this.reCalculate(t);else{let t=this._context.unit.getSheetBySheetId(e);if(null==t)return;let n=this._context.scene,i=this._buildSkeleton(t,n);this.setSkeletonParam(e,{unitId:r,sheetId:e,skeleton:i,dirty:!1})}let n=this._getSkeletonParam(e);this._currentSkeletonBefore$.next(n),this._currentSkeleton$.next(n)}reCalculate(e){e||(e=this.getCurrentParam()),null!=e&&(e.dirty&&(e.skeleton.makeDirty(!0),e.dirty=!1),e.skeleton.calculate())}makeDirty(e,t=!0){let r=this._getSkeletonParam(e.sheetId);null!=r&&(r.dirty=t)}getOrCreateSkeleton(e){return this.ensureSkeleton(e.sheetId)}ensureSkeleton(e){let t=this._getSkeletonParam(e);if(t)return t.skeleton;let r=this._context.unit.getSheetBySheetId(e);if(!r)return;let n=this._buildSkeleton(r);return this.setSkeletonParam(e,{unitId:this._context.unitId,sheetId:e,skeleton:n,dirty:!1}),n}disposeSkeleton(e){let t=this.getSkeletonParam(e);t&&(t.skeleton.dispose(),this._sheetSkeletonParamStore.delete(e),this._sheetSkService.deleteSkeleton(t.unitId,e))}attachRangeWithCoord(e){let t=this.getCurrentSkeleton();return t?lLe(t,e):null}_getSkeletonParam(e){return this._sheetSkeletonParamStore.get(e)}_getSkeleton(e){let t=this._getSkeletonParam(e);return t?t.skeleton:null}_buildSkeleton(e,t){return this._injector.createInstance(Wz,e,this._context.unit.getStyles())}setColumnHeaderSize(e,t,r){var n;if(!e)return;let i=null==(n=this.getWorksheetSkeleton(t))?void 0:n.skeleton;if(!i)return;i.columnHeaderHeight=r,e.scene.getViewports()[0].top=r,e.scene.getViewport(bj.VIEW_COLUMN_RIGHT).setViewportSize({height:r}),e.scene.getViewport(bj.VIEW_COLUMN_LEFT).setViewportSize({height:r}),e.scene.getViewport(bj.VIEW_ROW_BOTTOM).setViewportSize({top:r}),e.scene.getViewport(bj.VIEW_ROW_TOP).setViewportSize({top:r}),e.scene.getViewport(bj.VIEW_LEFT_TOP).setViewportSize({height:r});let a=null==e?void 0:e.with(rSe),o=null==e?void 0:e.with(dLe),s=a.getCurrentSelections();o.resetSelectionsByModelData(s);let l=this.getUnitSkeleton(e.unitId,t);l&&(l.commandId=oLe.id,this._currentSkeleton$.next(l))}setRowHeaderSize(e,t,r){var n;let i=null==(n=this.getWorksheetSkeleton(t))?void 0:n.skeleton;if(!e||!i)return;i.rowHeaderWidth=r;let a=r-(e.scene.getViewport(bj.VIEW_LEFT_TOP).width||46),o=e.scene.getViewports()[0].left;e.scene.getViewports()[0].left=o+a,e.scene.getViewport(bj.VIEW_ROW_BOTTOM).setViewportSize({width:r}),e.scene.getViewport(bj.VIEW_ROW_TOP).setViewportSize({width:r}),e.scene.getViewport(bj.VIEW_COLUMN_LEFT).setViewportSize({left:r});let s=e.scene.getViewport(bj.VIEW_COLUMN_RIGHT).left||0;e.scene.getViewport(bj.VIEW_COLUMN_RIGHT).setViewportSize({left:s+a}),e.scene.getViewport(bj.VIEW_LEFT_TOP).setViewportSize({width:r});let l=null==e?void 0:e.with(rSe),u=null==e?void 0:e.with(dLe),c=l.getCurrentSelections();u.resetSelectionsByModelData(c);let d=this.getCurrent();d&&(d.commandId=aLe.id,this._currentSkeleton$.next(d))}};vLe=pLe([gLe(1,Y(he)),gLe(2,Y(KAe))],vLe);const bLe="__SpreadsheetHelperSelectionTempRect";var CLe=class{constructor(e,t){this._control=e,nLe(this,"_startOffsetX",0),nLe(this,"_startOffsetY",0),nLe(this,"_relativeSelectionPositionRow",0),nLe(this,"_relativeSelectionPositionColumn",0),nLe(this,"_relativeSelectionRowLength",0),nLe(this,"_relativeSelectionColumnLength",0),nLe(this,"_scenePointerMoveSub",void 0),nLe(this,"_scenePointerUpSub",void 0),nLe(this,"_disabled",!1),nLe(this,"_helperSelection",void 0),nLe(this,"_scrollTimer",void 0),nLe(this,"_activeViewport",void 0),nLe(this,"_targetSelection",{startY:0,endY:0,startX:0,endX:0,startRow:-1,endRow:-1,startColumn:-1,endColumn:-1}),nLe(this,"_isInMergeState",!1),nLe(this,"_fillControlColors",[]),nLe(this,"_skeleton",void 0),nLe(this,"_scene",void 0),nLe(this,"_themeService",void 0),nLe(this,"_injector",void 0),nLe(this,"_selectionHooks",void 0),this._skeleton=t.skeleton,this._scene=t.scene,this._themeService=t.themeService,this._injector=t.injector,this._selectionHooks=t.selectionHooks,this._initialControl(),this._initialWidget(),this._initialAutoFill(),this._control.dispose$.subscribe(()=>{this.dispose()})}get isHelperSelection(){return this._control.isHelperSelection}dispose(){var e,t;null==(e=this._scrollTimer)||e.dispose(),this._fillControlColors=[],this._clearObserverEvent(),null==(t=this._helperSelection)||t.dispose()}setDisabled(e){this._disabled=e}_getFreeze(){var e;return null==(e=DX(Pi.UNIVER_SHEET,vLe,this._injector.get(dg),this._injector.get(kX)))||null==(e=e.getCurrentParam())?void 0:e.skeleton.getWorksheetConfig().freeze}_isSelectionInViewport(e,t){let r=this._getFreeze()||{startRow:-1,startColumn:-1,xSplit:0,ySplit:0};switch(t.viewportKey){case bj.VIEW_MAIN:return e.endRow>=r.startRow&&e.endColumn>=r.startColumn;case bj.VIEW_MAIN_TOP:case bj.VIEW_COLUMN_RIGHT:return e.endColumn>=r.startColumn&&e.startRow=r.startRow&&e.startColumn{e.onPointerEnter$.subscribeEvent(()=>{var t;!1!==(null==(t=this._injector.get(dLe,R.OPTIONAL))?void 0:t.interceptor.fetchThroughInterceptors(YOe)(!1,null))&&e.setCursor(TV.MOVE)}),e.onPointerLeave$.subscribeEvent(()=>{e.resetCursor()}),e.onPointerDown$.subscribeEvent(this._controlPointerDownHandler.bind(this))})}_controlMoving(e,t){var r;let n=this._scene,i=n.getScrollXYInfoByViewport(TF.FromArray([e,t])),{scaleX:a,scaleY:o}=n.getAncestorScale(),{row:s,column:l}=this._skeleton.getCellIndexByOffset(e,t,a,o,i),u=this._skeleton.getRowCount()-1,c=this._skeleton.getColumnCount()-1,d=Math.max(0,s+this._relativeSelectionPositionRow),h=d+this._relativeSelectionRowLength;h>u&&(h=u,h-dc&&(f=c,f-mg&&(v+=1),hp&&(b+=1),this._relativeSelectionPositionRow=m-d+v,this._relativeSelectionPositionColumn=f-h+b,this._relativeSelectionRowLength=g-m,this._relativeSelectionColumnLength=p-f;let C=this._control.currentStyle,y=this._getScale();this.isHelperSelection&&(this._helperSelection=new tX(bLe,{stroke:C.stroke,strokeWidth:C.strokeWidth/y}),n.addObject(this._helperSelection));let _=n.getViewport(bj.VIEW_MAIN),w=SX.create(n);this._scrollTimer=w,w.startScroll(a,o,_),n.disableObjectsEvent(),this._scenePointerMoveSub=n.onPointerMove$.subscribeEvent(e=>{var t;if(this._disabled)return;let{offsetX:r,offsetY:i}=e;if(!1===(null==(t=this._injector.get(dLe,R.OPTIONAL))?void 0:t.interceptor.fetchThroughInterceptors(YOe)(!1,null)))return;let{x:a,y:o}=n.getCoordRelativeToViewport(TF.FromArray([r,i]));this._controlMoving(a,o),n.setCursor(TV.MOVE),w.scrolling(a,o,()=>{this._controlMoving(a,o)})}),this._scenePointerUpSub=n.onPointerUp$.subscribeEvent(()=>{var e,t,r,n;null==(e=this._helperSelection)||e.dispose();let i=this._scene;i.resetCursor(),this._clearObserverEvent(),i.enableObjectsEvent(),null==(t=this._scrollTimer)||t.dispose(),this._control.selectionMoveEnd$.next(this._targetSelection),null==(r=(n=this._selectionHooks).selectionMoveEnd)||r.call(n)})}_initialWidget(){let{topLeftWidget:e,topCenterWidget:t,topRightWidget:r,middleLeftWidget:n,middleRightWidget:i,bottomLeftWidget:a,bottomCenterWidget:o,bottomRightWidget:s}=this._control,l=[TV.NORTH_WEST_RESIZE,TV.NORTH_RESIZE,TV.NORTH_EAST_RESIZE,TV.WEST_RESIZE,TV.EAST_RESIZE,TV.SOUTH_WEST_RESIZE,TV.SOUTH_RESIZE,TV.SOUTH_EAST_RESIZE];[e,t,r,n,i,a,o,s].forEach((e,t)=>{e.onPointerEnter$.subscribeEvent(()=>{e.setCursor(l[t])}),e.onPointerLeave$.subscribeEvent(()=>{e.resetCursor()}),e.onPointerDown$.subscribeEvent(e=>{this._widgetPointerDownEvent(e,l[t])})})}_widgetPointerDownEvent(e,t){let r=this._scene,{offsetX:n,offsetY:i}=e,{x:a,y:o}=r.getCoordRelativeToViewport(TF.FromArray([n,i]));this._startOffsetX=n,this._startOffsetY=i;let{startRow:s,startColumn:l,endRow:u,endColumn:c}=this._control.model,d=Math.min(s,u),h=Math.min(l,c),m=Math.max(s,u),f=Math.max(l,c);this._relativeSelectionPositionRow=d,this._relativeSelectionPositionColumn=h,this._relativeSelectionRowLength=m-d,this._relativeSelectionColumnLength=f-h,t===TV.NORTH_WEST_RESIZE?(this._relativeSelectionPositionRow=m,this._relativeSelectionPositionColumn=f):t===TV.NORTH_RESIZE||t===TV.NORTH_EAST_RESIZE?this._relativeSelectionPositionRow=m:t===TV.WEST_RESIZE||t===TV.SOUTH_WEST_RESIZE?this._relativeSelectionPositionColumn=f:t===TV.SOUTH_RESIZE&&(this._relativeSelectionPositionRow=d);let g=SX.create(r),p=r.getViewport(bj.VIEW_MAIN);g.startScroll(a,o,p),this._scrollTimer=g,r.disableObjectsEvent(),this._scenePointerMoveSub=r.onPointerMove$.subscribeEvent(e=>{let{offsetX:n,offsetY:i}=e,{x:a,y:o}=r.getCoordRelativeToViewport(TF.FromArray([n,i]));this._widgetMoving(a,o,t),r.setCursor(t),g.scrolling(a,o,()=>{this._widgetMoving(a,o,t)})}),this._scenePointerUpSub=r.onPointerUp$.subscribeEvent(()=>{var e,t,r;let n=this._scene;n.resetCursor(),this._clearObserverEvent(),n.enableObjectsEvent(),null==(e=this._scrollTimer)||e.dispose(),this._control.selectionScaled$.next(this._targetSelection),null==(t=(r=this._selectionHooks).selectionMoveEnd)||t.call(r)})}_widgetMoving(e,t,r){let n=this._scene,i=n.getScrollXYInfoByViewport(TF.FromArray([this._startOffsetX,this._startOffsetY])),{scaleX:a,scaleY:o}=n.getAncestorScale(),{row:s,column:l}=this._skeleton.getCellIndexByOffset(e,t,a,o,i),u=this._relativeSelectionPositionRow,c=this._relativeSelectionPositionColumn,d=s,h=l;r===TV.NORTH_WEST_RESIZE?(u=s,c=l,d=this._relativeSelectionPositionRow,h=this._relativeSelectionPositionColumn):r===TV.NORTH_RESIZE?(u=s,c=this._relativeSelectionPositionColumn,d=this._relativeSelectionPositionRow,h=this._relativeSelectionPositionColumn+this._relativeSelectionColumnLength):r===TV.NORTH_EAST_RESIZE?(u=s,c=this._relativeSelectionPositionColumn,d=this._relativeSelectionPositionRow,h=l):r===TV.WEST_RESIZE?(u=this._relativeSelectionPositionRow,c=l,d=this._relativeSelectionPositionRow+this._relativeSelectionRowLength,h=this._relativeSelectionPositionColumn):r===TV.EAST_RESIZE?d=this._relativeSelectionPositionRow+this._relativeSelectionRowLength:r===TV.SOUTH_WEST_RESIZE?(u=this._relativeSelectionPositionRow,c=l,d=s,h=this._relativeSelectionPositionColumn):r===TV.SOUTH_RESIZE&&(u=this._relativeSelectionPositionRow,c=this._relativeSelectionPositionColumn,d=s,h=this._relativeSelectionPositionColumn+this._relativeSelectionColumnLength);let m=uLe({range:this._swapPositions(u,c,d,h),primary:this._skeleton.getCellWithMergeInfoByIndex(u,c),style:null},this._skeleton);this._targetSelection={...m.rangeWithCoord},this._control.updateRangeBySelectionWithCoord(m),this._control.selectionScaling$.next(this._targetSelection)}_initialAutoFill(){let{fillControl:e}=this._control;e.onPointerEnter$.subscribeEvent(t=>{this._injector.get(dLe).interceptor.fetchThroughInterceptors(QOe)(!1,{x:t.offsetX,y:t.offsetY,skeleton:this._skeleton,scene:this._scene})&&e.setCursor(TV.CROSSHAIR)}),e.onPointerLeave$.subscribeEvent(()=>{e.resetCursor()}),e.onPointerDown$.subscribeEvent(this._autoFillForPointerdown.bind(this))}_autoFillMoving(e,t){let r=this._scene,n=r.getViewportScrollXY(this._activeViewport),{scaleX:i,scaleY:a}=r.getAncestorScale(),{row:o,column:s}=this._skeleton.getCellIndexByOffset(e,t,i,a,n),l=r.getCoordRelativeToViewport(TF.FromArray([e,t])),u=this._skeleton.getRowCount()-1,c=this._skeleton.getColumnCount()-1,d=this._relativeSelectionPositionRow,h=this._relativeSelectionPositionColumn,m=this._relativeSelectionPositionRow+this._relativeSelectionRowLength,f=this._relativeSelectionPositionColumn+this._relativeSelectionColumnLength,g=!1,p=!0;if((sf)&&o>=d&&o<=m){let e=this._fillRuler(s,h,f,this._relativeSelectionColumnLength,c);h=e.startRowOrColumn,f=e.endRowOrColumn,g=e.isLighten,p=!1}else if((om)&&s>=h&&s<=f){let e=this._fillRuler(o,d,m,this._relativeSelectionRowLength,u);d=e.startRowOrColumn,m=e.endRowOrColumn,g=e.isLighten}else if(Math.abs(this._startOffsetX-l.x-n.x)/2>Math.abs(this._startOffsetY-l.y-n.y)){let e=this._fillRuler(s,h,f,this._relativeSelectionColumnLength,c);h=e.startRowOrColumn,f=e.endRowOrColumn,g=e.isLighten,p=!1}else{let e=this._fillRuler(o,d,m,this._relativeSelectionRowLength,u);d=e.startRowOrColumn,m=e.endRowOrColumn,g=e.isLighten}let v=this._skeleton.getNoMergeCellWithCoordByIndex(d,h),b=this._skeleton.getNoMergeCellWithCoordByIndex(m,f),C=(null==v?void 0:v.startY)||0,y=(null==b?void 0:b.endY)||0,_=(null==v?void 0:v.startX)||0,w=(null==b?void 0:b.endX)||0;g?this._controlHandler((e,t)=>{let r=new $c(this._fillControlColors[t]).lighten(35).toRgbString();e.setProps({fill:r})}):this._controlHandler((e,t)=>{e.setProps({fill:this._fillControlColors[t]})});let E=LEe/this._getScale();var S,A,I;d===m&&!0===p||h===f&&!1===p?null==(S=this._helperSelection)||S.hide():(null==(A=this._helperSelection)||A.transformByState({left:_-E/2,top:C-E/2,width:w-_,height:y-C}),null==(I=this._helperSelection)||I.show()),this._targetSelection={startY:C,endY:y,startX:_,endX:w,startRow:d,endRow:m,startColumn:h,endColumn:f},this._control.selectionFilling$.next(this._targetSelection)}_autoFillForPointerdown(e){let{offsetX:t,offsetY:r}=e,n=this._scene,{x:i,y:a}=n.getCoordRelativeToViewport(TF.FromArray([t,r]));this._startOffsetX=i,this._startOffsetY=a;let{startRow:o,startColumn:s,endRow:l,endColumn:u}=this._control.model;this._isInMergeState=this._hasMergeInRange(o,s,l,u),this._relativeSelectionPositionRow=o,this._relativeSelectionPositionColumn=s,this._relativeSelectionRowLength=l-o,this._relativeSelectionColumnLength=u-s;let c=this._control.currentStyle,d=null==c?void 0:c.stroke,h=null==c?void 0:c.strokeWidth,m=KOe(this._themeService);null==d&&(d=m.stroke),null==h&&(h=m.strokeWidth);let f=this._getScale();h/=f;let g=LEe/f,p=new $c(d).darken(2).toRgbString();this.isHelperSelection&&(this._helperSelection=new tX(bLe,{stroke:p,strokeWidth:h+g/2}),n.addObject(this._helperSelection)),this._activeViewport=n.getActiveViewportByCoord(TF.FromArray([t,r]));let v=n.getViewport(bj.VIEW_MAIN),b=SX.create(n,this._activeViewport.viewportKey===bj.VIEW_MAIN?wX.ALL:wX.NONE);b.startScroll(i,a,v),this._scrollTimer=b,n.disableObjectsEvent(),this._controlHandler(e=>{this._fillControlColors.push(e.fill)}),this._scenePointerMoveSub=n.onPointerMove$.subscribeEvent(t=>{var r;let{offsetX:i,offsetY:a}=t,u=n.getActiveViewportByCoord(TF.FromArray([i,a]));if(!this._injector.get(dLe).interceptor.fetchThroughInterceptors(QOe)(!1,{x:e.offsetX,y:e.offsetY,skeleton:this._skeleton,scene:this._scene}))return;let{x:c,y:d}=n.getCoordRelativeToViewport(TF.FromArray([i,a]));this._autoFillMoving(c,d),n.setCursor(TV.CROSSHAIR);let h=this._targetSelection;if(v&&u&&(null==(r=this._activeViewport)?void 0:r.viewportKey)!==(null==u?void 0:u.viewportKey)){let e;h.startRow===o?h.endRow===l?h.startColumn===s?(b.scrollTimerType=wX.X,e={...h,startColumn:h.endColumn}):(b.scrollTimerType=wX.X,e={...h,endColumn:h.startColumn}):(b.scrollTimerType=wX.Y,e={...h,startRow:h.endRow}):(b.scrollTimerType=wX.Y,e={...h,endRow:h.startRow}),this._isSelectionInViewport(e,u)&&(this._viewportMainScrollBarNeedResetPosition(b.scrollTimerType,this._activeViewport.viewportKey,u.viewportKey)&&v.scrollToBarPos({x:b.scrollTimerType===wX.X?0:void 0,y:b.scrollTimerType===wX.Y?0:void 0}),this._activeViewport=u)}b.scrolling(c,d,()=>{this._autoFillMoving(c,d)})}),this._scenePointerUpSub=n.onPointerUp$.subscribeEvent(()=>{var e,t;null==(e=this._helperSelection)||e.dispose();let r=this._scene;r.resetCursor(),this._clearObserverEvent(),r.enableObjectsEvent(),null==(t=this._scrollTimer)||t.dispose(),this._control.refreshSelectionFilled(this._targetSelection),this._isInMergeState=!1,this._controlHandler((e,t)=>{e.setProps({fill:this._fillControlColors[t]})}),this._fillControlColors=[]})}_viewportMainScrollBarNeedResetPosition(e,t,r){return!((e!==wX.X||t!==bj.VIEW_MAIN_LEFT&&t!==bj.VIEW_MAIN_LEFT_TOP||r!==bj.VIEW_MAIN&&r!==bj.VIEW_MAIN_TOP)&&(e!==wX.Y||t!==bj.VIEW_MAIN_TOP&&t!==bj.VIEW_MAIN_LEFT_TOP||r!==bj.VIEW_MAIN&&r!==bj.VIEW_MAIN_LEFT))}_hasMergeInRange(e,t,r,n){return this._skeleton.worksheet.getMergedCellRange(e,t,r,n).length>0}_swapPositions(e,t,r,n){return{startRow:Math.min(e,r),startColumn:Math.min(t,n),endRow:Math.max(e,r),endColumn:Math.max(t,n)}}_controlHandler(e){let{leftControl:t,rightControl:r,topControl:n,bottomControl:i,backgroundControlTop:a,backgroundControlMiddleLeft:o,backgroundControlMiddleRight:s,backgroundControlBottom:l,fillControl:u}=this._control,c=[t,r,n,i,a,o,s,l,u];for(let t=0,r=c.length;t=t&&e<=r)a=!0,this._isInMergeState||(r=e);else if(this._isInMergeState&&e>r){let t=e-r,a=n+1,o=Math.ceil(t/a),s=r+o*a;s>i&&(s=r+(o-1)*a),r=s}else r=e;return{rowOrColumn:e,startRowOrColumn:t,endRowOrColumn:r,isLighten:a}}_getScale(){let{scaleX:e,scaleY:t}=this._scene.getAncestorScale();return Math.max(e,t)}};let yLe=function(e){return e.Selection="__SpreadsheetSelectionShape__",e.top="__SpreadsheetSelectionTopControl__",e.bottom="__SpreadsheetSelectionBottomControl__",e.left="__SpreadsheetSelectionShapeLeftControl__",e.right="__SpreadsheetSelectionShapeRightControl__",e.backgroundTop="__SpreadsheetSelectionBackgroundControlTop__",e.backgroundMiddleLeft="__SpreadsheetSelectionBackgroundControlMiddleLeft__",e.backgroundMiddleRight="__SpreadsheetSelectionBackgroundControlMiddleRight__",e.backgroundBottom="__SpreadsheetSelectionBackgroundControlBottom__",e.fill="__SpreadsheetSelectionFillControl__",e.fillTopLeft="__SpreadsheetSelectionFillControlTopLeft__",e.fillBottomRight="__SpreadsheetSelectionFillControlBottomRight__",e.fillTopLeftInner="__SpreadsheetSelectionFillControlTopLeftInner__",e.fillBottomRightInner="__SpreadsheetSelectionFillControlBottomRightInner__",e.lineMain="__SpreadsheetDragLineMainControl__",e.lineContent="__SpreadsheetDragLineContentControl__",e.line="__SpreadsheetDragLineControl__",e.dash="__SpreadsheetDragDashControl__",e.rowHeaderBackground="__SpreadSheetSelectionRowHeaderBackground__",e.rowHeaderBorder="__SpreadSheetSelectionRowHeaderBorder__",e.rowHeaderGroup="__SpreadSheetSelectionRowHeaderGroup__",e.columnHeaderBackground="__SpreadSheetSelectionColumnHeaderBackground__",e.columnHeaderBorder="__SpreadSheetSelectionColumnHeaderBorder__",e.columnHeaderGroup="__SpreadSheetSelectionColumnHeaderGroup__",e.topLeftWidget="__SpreadSheetSelectionTopLeftWidget__",e.topCenterWidget="__SpreadSheetSelectionTopCenterWidget__",e.topRightWidget="__SpreadSheetSelectionTopRightWidget__",e.middleLeftWidget="__SpreadSheetSelectionMiddleLeftWidget__",e.middleRightWidget="__SpreadSheetSelectionMiddleRightWidget__",e.bottomLeftWidget="__SpreadSheetSelectionBottomLeftWidget__",e.bottomCenterWidget="__SpreadSheetSelectionBottomCenterWidget__",e.bottomRightWidget="__SpreadSheetSelectionBottomRightWidget__",e}({});var _Le=class extends tu{constructor(e,t,r,n){var i,a,o,s;super(),this._scene=e,this._zIndex=t,this._themeService=r,nLe(this,"_isHelperSelection",!0),nLe(this,"_enableAutoFill",!0),nLe(this,"_showAutoFill",!1),nLe(this,"_highlightHeader",!0),nLe(this,"_selectionRenderModel",void 0),nLe(this,"_leftBorder",void 0),nLe(this,"_rightBorder",void 0),nLe(this,"_topBorder",void 0),nLe(this,"_bottomBorder",void 0),nLe(this,"_backgroundControlTop",void 0),nLe(this,"_backgroundControlBottom",void 0),nLe(this,"_backgroundControlMiddleLeft",void 0),nLe(this,"_backgroundControlMiddleRight",void 0),nLe(this,"_autoFillControl",void 0),nLe(this,"_selectionShapeGroup",void 0),nLe(this,"_rowHeaderBackground",void 0),nLe(this,"_rowHeaderBorder",void 0),nLe(this,"_rowHeaderGroup",void 0),nLe(this,"_columnHeaderBackground",void 0),nLe(this,"_columnHeaderBorder",void 0),nLe(this,"_columnHeaderGroup",void 0),nLe(this,"_dashedRect",void 0),nLe(this,"_topLeftWidget",void 0),nLe(this,"_topCenterWidget",void 0),nLe(this,"_topRightWidget",void 0),nLe(this,"_middleLeftWidget",void 0),nLe(this,"_middleRightWidget",void 0),nLe(this,"_bottomLeftWidget",void 0),nLe(this,"_bottomCenterWidget",void 0),nLe(this,"_bottomRightWidget",void 0),nLe(this,"_defaultStyle",void 0),nLe(this,"_currentStyle",void 0),nLe(this,"_rowHeaderWidth",0),nLe(this,"_columnHeaderHeight",0),nLe(this,"_widgetRects",[]),nLe(this,"_controlExtension",void 0),nLe(this,"_dispose$",new Qn(this)),nLe(this,"dispose$",this._dispose$.asObservable()),nLe(this,"selectionMoving$",new On),nLe(this,"selectionMoveEnd$",new On),nLe(this,"selectionScaling$",new On),nLe(this,"selectionScaled$",new On),nLe(this,"selectionFilling$",new On),nLe(this,"_selectionFilled$",new On),nLe(this,"selectionFilled$",this._selectionFilled$.asObservable()),nLe(this,"_antLineOffset",0),nLe(this,"_antRequestNewFrame",-1),this._enableAutoFill=null==(i=null==n?void 0:n.enableAutoFill)||i,this._highlightHeader=null==(a=null==n?void 0:n.highlightHeader)||a,this._rowHeaderWidth=null==(o=null==n?void 0:n.rowHeaderWidth)?0:o,this._columnHeaderHeight=null==(s=null==n?void 0:n.columnHeaderHeight)?0:s,this._initializeSheetBody(),this._initialHeader()}_initializeSheetBody(){this._defaultStyle=KOe(this._themeService),this._currentStyle=KOe(this._themeService),this._selectionRenderModel=new iLe;let e=this._zIndex;this._leftBorder=new tX(yLe.left+e,{zIndex:e}),this._rightBorder=new tX(yLe.right+e,{zIndex:e}),this._topBorder=new tX(yLe.top+e,{zIndex:e}),this._bottomBorder=new tX(yLe.bottom+e,{zIndex:e}),this._backgroundControlTop=new tX(yLe.backgroundTop+e,{zIndex:e-1,evented:!1}),this._backgroundControlBottom=new tX(yLe.backgroundBottom+e,{zIndex:e-1,evented:!1}),this._backgroundControlMiddleLeft=new tX(yLe.backgroundMiddleLeft+e,{zIndex:e-1,evented:!1}),this._backgroundControlMiddleRight=new tX(yLe.backgroundMiddleRight+e,{zIndex:e-1,evented:!1}),this._autoFillControl=new tX(yLe.fill+e,{zIndex:e+1}),this._autoFillControl.hide(),this._dashedRect=new rX(yLe.dash+e,{zIndex:e+2,evented:!1,stroke:"#fff"});let t=[this._autoFillControl,this._leftBorder,this._rightBorder,this._topBorder,this._bottomBorder,this._backgroundControlTop,this._backgroundControlMiddleLeft,this._backgroundControlMiddleRight,this._backgroundControlBottom,this._dashedRect];this._widgetRects=this._initialWidget(),this._selectionShapeGroup=new fX(yLe.Selection+e,...t,...this._widgetRects),this._selectionShapeGroup.hide(),this._selectionShapeGroup.evented=!1,this._selectionShapeGroup.zIndex=e;let r=this.getScene();r.addObject(this._selectionShapeGroup,1),this.disposeWithMe(Jl(r.onTransformChange$.subscribeEvent(e=>{e.type===zF.scale&&(this._updateLayoutOfSelectionControl(this._currentStyle),this._updateControlCoord())})))}_initialHeader(){let e=this._zIndex;this._rowHeaderBackground=new tX(yLe.rowHeaderBackground+e,{zIndex:e-1,evented:!1}),this._rowHeaderBorder=new tX(yLe.rowHeaderBorder+e,{zIndex:e-1,evented:!1}),this._rowHeaderGroup=new fX(yLe.rowHeaderGroup+e,this._rowHeaderBackground,this._rowHeaderBorder),this._rowHeaderGroup.hide(),this._rowHeaderGroup.evented=!1,this._rowHeaderGroup.zIndex=e,this._columnHeaderBackground=new tX(yLe.columnHeaderBackground+e,{zIndex:e-1,evented:!1}),this._columnHeaderBorder=new tX(yLe.columnHeaderBorder+e,{zIndex:e-1,evented:!1}),this._columnHeaderGroup=new fX(yLe.columnHeaderGroup+e,this._columnHeaderBackground,this._columnHeaderBorder),this._columnHeaderGroup.hide(),this._columnHeaderGroup.evented=!1,this._columnHeaderGroup.zIndex=e,this.getScene().addObjects([this._rowHeaderGroup,this._columnHeaderGroup],11)}_initialWidget(){let e=this._zIndex;return this._topLeftWidget=new tX(yLe.topLeftWidget+e,{zIndex:e+1}),this._topCenterWidget=new tX(yLe.topCenterWidget+e,{zIndex:e+1}),this._topRightWidget=new tX(yLe.topRightWidget+e,{zIndex:e+1}),this._middleLeftWidget=new tX(yLe.middleLeftWidget+e,{zIndex:e+1}),this._middleRightWidget=new tX(yLe.middleRightWidget+e,{zIndex:e+1}),this._bottomLeftWidget=new tX(yLe.bottomLeftWidget+e,{zIndex:e+1}),this._bottomCenterWidget=new tX(yLe.bottomCenterWidget+e,{zIndex:e+1}),this._bottomRightWidget=new tX(yLe.bottomRightWidget+e,{zIndex:e+1}),[this._topLeftWidget,this._topCenterWidget,this._topRightWidget,this._middleLeftWidget,this._middleRightWidget,this._bottomLeftWidget,this._bottomCenterWidget,this._bottomRightWidget]}get zIndex(){return this._zIndex}get leftControl(){return this._leftBorder}get rightControl(){return this._rightBorder}get topControl(){return this._topBorder}get bottomControl(){return this._bottomBorder}get fillControl(){return this._autoFillControl}get backgroundControlTop(){return this._backgroundControlTop}get backgroundControlBottom(){return this._backgroundControlBottom}get backgroundControlMiddleLeft(){return this._backgroundControlMiddleLeft}get backgroundControlMiddleRight(){return this._backgroundControlMiddleRight}get selectionShape(){return this._selectionShapeGroup}get columnHeaderGroup(){return this._columnHeaderGroup}get rowHeaderGroup(){return this._rowHeaderGroup}get selectionShapeGroup(){return this._selectionShapeGroup}get model(){return this._selectionRenderModel}get topLeftWidget(){return this._topLeftWidget}get topCenterWidget(){return this._topCenterWidget}get topRightWidget(){return this._topRightWidget}get middleLeftWidget(){return this._middleLeftWidget}get middleRightWidget(){return this._middleRightWidget}get bottomLeftWidget(){return this._bottomLeftWidget}get bottomCenterWidget(){return this._bottomCenterWidget}get bottomRightWidget(){return this._bottomRightWidget}get themeService(){return this._themeService}get selectionModel(){return this._selectionRenderModel}set selectionModel(e){this._selectionRenderModel=e}get currentStyle(){return this._currentStyle}set currentStyle(e){this._currentStyle=e}get dashedRect(){return this._dashedRect}get isHelperSelection(){return this._isHelperSelection}get rowHeaderWidth(){return this._rowHeaderWidth}set rowHeaderWidth(e){this._rowHeaderWidth=e}get columnHeaderHeight(){return this._columnHeaderHeight}set columnHeaderHeight(e){this._columnHeaderHeight=e}setControlExtension(e){this._controlExtension=new CLe(this,e)}setControlExtensionDisable(e){this._controlExtension&&this._controlExtension.setDisabled(e)}setEvent(e){this.leftControl.evented=e,this.rightControl.evented=e,this.topControl.evented=e,this.bottomControl.evented=e}refreshSelectionFilled(e){this._selectionFilled$.next(e)}_updateLayoutOfSelectionControl(e){e&&(this.currentStyle=Object.assign({},this._defaultStyle,e));let t=this.currentStyle,{stroke:r,widgets:n,autofillStroke:i,strokeDash:a,isAnimationDash:o}=t,s=t.autofillSize,l=t.strokeWidth,u=t.autofillStrokeWidth,c=this._getScale(),d=(l+LEe)/2/c;l/=c,s/=c,u/=c<1?1:c;let h=LEe/c,m=kV/c,{startX:f,startY:g,endX:p,endY:v}=this._selectionRenderModel;if(this.leftControl.transformByState({height:v-g,left:-d+m,width:l,strokeWidth:h,top:-h/2+m}),this.leftControl.setProps({fill:r,stroke:kEe}),this.rightControl.transformByState({height:v-g,left:p-f-d+m,width:l,strokeWidth:h,top:-h/2+m}),this.rightControl.setProps({fill:r,stroke:kEe}),this.topControl.transformByState({width:p-f+l,top:-d+m,left:-d+m,height:l,strokeWidth:h}),this.topControl.setProps({fill:r,stroke:kEe}),this.bottomControl.transformByState({width:p-f+l,top:v-g-d+m,height:l,left:-d+m,strokeWidth:h}),this.bottomControl.setProps({fill:r,stroke:kEe}),null==a)this.dashedRect.hide(),this._stopAntLineAnimation();else{let e=2*t.strokeWidth/c;this.dashedRect.transformByState({height:v-g,width:p-f,strokeWidth:e,left:-e/2+m,top:-e/2+m}),this.dashedRect.setProps({strokeDashArray:[0,a/c]}),this._stopAntLineAnimation(),!1!==o&&this._startAntLineAnimation(),this.dashedRect.show()}if(this._showAutoFill=this._showAutoFill&&this._enableAutoFill,this._showAutoFill&&!this._hasWidgets(n)){let e={fill:r,stroke:i,strokeScaleEnabled:!1},t={width:s-u,height:s-u,left:p-f-s/2+u/2-m,top:v-g-s/2+u/2-m,strokeWidth:u};this._autoFillControl.setProps(e),this._autoFillControl.transformByState(t),this._autoFillControl.show()}else this._autoFillControl.hide();this._updateBackgroundControl(t),this._updateHeaderBackground(t),this._updateWidgets(t)}_updateControlCoord(){let{startX:e,startY:t}=this._selectionRenderModel;this.selectionShapeGroup.show(),this.selectionShapeGroup.translate(e,t),this.selectionShapeGroup.makeDirtyNoDebounce(!0)}updateStyle(e){this._updateLayoutOfSelectionControl(e),this._updateControlCoord()}updateRange(e,t){this._selectionRenderModel.setValue(e,t),this._showAutoFill=null!==t,this._updateLayoutOfSelectionControl(),this._updateControlCoord()}updateRangeBySelectionWithCoord(e,t){t&&(this._rowHeaderWidth=t.rowHeaderWidth,this._columnHeaderHeight=t.columnHeaderHeight),this._selectionRenderModel.setValue(e.rangeWithCoord,e.primaryWithCoord),this._showAutoFill=null!==e.primaryWithCoord,this._updateLayoutOfSelectionControl(e.style),this._updateControlCoord()}update(e,t=0,r=0,n,i){this._rowHeaderWidth=t,this._columnHeaderHeight=r,this.updateRangeBySelectionWithCoord({rangeWithCoord:e,primaryWithCoord:i,style:n}),n&&this.updateStyle(n)}updateCurrCell(e){this._showAutoFill=null!==e,this._selectionRenderModel.setCurrentCell(e)}clearHighlight(){this._showAutoFill=!1,this._selectionRenderModel.clearCurrentCell(),this._updateLayoutOfSelectionControl(this._currentStyle)}getScene(){return this._scene}dispose(){var e,t,r,n,i,a,o,s,l,u,c,d,h,m,f,g,p,v,b,C,y,_,w,E,S;null==(e=this._leftBorder)||e.dispose(),null==(t=this._rightBorder)||t.dispose(),null==(r=this._topBorder)||r.dispose(),null==(n=this._bottomBorder)||n.dispose(),null==(i=this._backgroundControlTop)||i.dispose(),null==(a=this._backgroundControlMiddleLeft)||a.dispose(),null==(o=this._backgroundControlMiddleRight)||o.dispose(),null==(s=this._backgroundControlBottom)||s.dispose(),this._autoFillControl.dispose(),null==(l=this._selectionShapeGroup)||l.dispose(),null==(u=this._rowHeaderBackground)||u.dispose(),null==(c=this._rowHeaderBorder)||c.dispose(),null==(d=this._rowHeaderGroup)||d.dispose(),null==(h=this._rowHeaderBackground)||h.dispose(),null==(m=this._columnHeaderBackground)||m.dispose(),null==(f=this._columnHeaderBorder)||f.dispose(),null==(g=this._columnHeaderGroup)||g.dispose(),null==(p=this._topLeftWidget)||p.dispose(),null==(v=this._topCenterWidget)||v.dispose(),null==(b=this._topRightWidget)||b.dispose(),null==(C=this._middleLeftWidget)||C.dispose(),null==(y=this._middleRightWidget)||y.dispose(),null==(_=this._bottomLeftWidget)||_.dispose(),null==(w=this._bottomCenterWidget)||w.dispose(),null==(E=this._bottomRightWidget)||E.dispose(),null==(S=this._controlExtension)||S.dispose(),super.dispose(),this._dispose$.next(this),this._dispose$.complete()}getCurrentCellInfo(){let e=this.model.currentCell;if(e){let t;if(e.isMerged){let r=e.mergeInfo;t={startRow:r.startRow,endRow:r.endRow,startColumn:r.startColumn,endColumn:r.endColumn,startX:r.startX,endX:r.endX,startY:r.startY,endY:r.endY}}else{let{actualRow:r,actualColumn:n,startX:i,endX:a,startY:o,endY:s}=e;t={startRow:r,endRow:r,startColumn:n,endColumn:n,startX:i,endX:a,startY:o,endY:s}}return t}}getValue(){return{...this._selectionRenderModel.getValue(),style:this._currentStyle}}getRange(){return this._selectionRenderModel.getValue().rangeWithCoord}enableHelperSelection(){this._isHelperSelection=!0}disableHelperSelection(){this._isHelperSelection=!1}_updateHeaderBackground(e){let{startX:t,startY:r,endX:n,endY:i,rangeType:a}=this._selectionRenderModel,o=this._currentStyle,s=this._getScale(),{stroke:l,rowHeaderFill:u=o.rowHeaderFill,rowHeaderStroke:c=o.rowHeaderStroke,columnHeaderFill:d=o.columnHeaderFill,columnHeaderStroke:h=o.columnHeaderStroke}=e,{rowHeaderStrokeWidth:m=o.rowHeaderStrokeWidth,columnHeaderStrokeWidth:f=o.columnHeaderStrokeWidth}=e;m/=s,f/=s;let g=this._rowHeaderWidth,p=this._columnHeaderHeight;if(this._highlightHeader&&p>0){let e=d;a===pd.COLUMN&&(e=new $c(l).setAlpha(.3).toString()),this._columnHeaderBackground.setProps({fill:e}),this._columnHeaderBackground.resize(n-t,p),this._columnHeaderBorder.setProps({fill:h}),this._columnHeaderBorder.transformByState({width:n-t,height:f,top:p-f+1/s}),this._columnHeaderGroup.show(),this._columnHeaderGroup.translate(t,0)}else this._columnHeaderGroup.hide();if(this._columnHeaderGroup.makeDirty(!0),this._highlightHeader&&g>0){let e=u;a===pd.ROW&&(e=new $c(l).setAlpha(.3).toString()),this._rowHeaderBackground.setProps({fill:e}),this._rowHeaderBackground.resize(g,i-r),this._rowHeaderBorder.setProps({fill:c}),this._rowHeaderBorder.transformByState({width:m,height:i-r,left:g-m+1/s}),this._rowHeaderGroup.show(),this._rowHeaderGroup.translate(0,r)}else this._rowHeaderGroup.hide();this._rowHeaderGroup.makeDirty(!0)}_updateBackgroundControl(e){let{startX:t,startY:r,endX:n,endY:i}=this._selectionRenderModel,a=this._getScale(),{fill:o=e.fill}=e,{strokeWidth:s}=e;s/=a;let l=this._selectionRenderModel.highlightToSelection();if(!l)return this._backgroundControlTop.resize(n-t,i-r),this._backgroundControlTop.setProps({fill:o}),this._backgroundControlBottom.resize(0,0),this._backgroundControlMiddleLeft.resize(0,0),void this._backgroundControlMiddleRight.resize(0,0);let{startX:u,startY:c,endX:d,endY:h}=l,m=s/2,f={left:-m,top:-m,width:n-t+2*m,height:c-r+m};f.height<0&&(f.width=0,f.height=0),this._backgroundControlTop.transformByState(f);let g={left:-m,top:c-r,width:u-t+m,height:h-c};g.width<0&&(g.width=0,g.height=0),this._backgroundControlMiddleLeft.transformByState(g);let p={left:d-t-m,top:c-r,width:n-d+2*m,height:h-c};p.width<0&&(p.width=0,p.height=0),this._backgroundControlMiddleRight.transformByState(p);let v={left:-m,top:h-r,width:n-t+2*m,height:i-h+m};v.height<0&&(v.width=0,v.height=0),this._backgroundControlBottom.transformByState(v),this._backgroundControlTop.setProps({fill:o}),this._backgroundControlMiddleLeft.setProps({fill:o}),this._backgroundControlMiddleRight.setProps({fill:o}),this._backgroundControlBottom.setProps({fill:o})}_updateWidgets(e){let{startX:t,startY:r,endX:n,endY:i}=this._selectionRenderModel,{stroke:a=e.stroke,widgets:o=e.widgets,widgetStroke:s=e.widgetStroke}=e,l=this._getScale(),{widgetSize:u,widgetStrokeWidth:c}=e;u/=l,c/=l;let d={left:-u/2+c/2,center:(n-t)/2-u/2+c/2,right:n-t-u/2+c/2,top:-u/2,middle:(i-r)/2-u/2,bottom:i-r-u/2+c/2},h=u-c;this._widgetRects.forEach(e=>{e.setProps({fill:a,stroke:s})}),!0===o.tl?(this._topLeftWidget.transformByState({height:h,width:h,left:d.left,top:d.top,strokeWidth:c}),this._topLeftWidget.show()):this._topLeftWidget.hide(),!0===o.tc?(this._topCenterWidget.transformByState({height:h,width:h,left:d.center,top:d.top,strokeWidth:c}),this._topCenterWidget.show()):this._topCenterWidget.hide(),!0===o.tr?(this._topRightWidget.transformByState({height:h,width:h,left:d.right,top:d.top,strokeWidth:c}),this._topRightWidget.show()):this._topRightWidget.hide(),!0===o.ml?(this._middleLeftWidget.transformByState({height:h,width:h,left:d.left,top:d.middle,strokeWidth:c}),this._middleLeftWidget.show()):this._middleLeftWidget.hide(),!0===o.mr?(this._middleRightWidget.transformByState({height:h,width:h,left:d.right,top:d.middle,strokeWidth:c}),this._middleRightWidget.show()):this._middleRightWidget.hide(),!0===o.bl?(this._bottomLeftWidget.transformByState({height:h,width:h,left:d.left,top:d.bottom,strokeWidth:c}),this._bottomLeftWidget.show()):this._bottomLeftWidget.hide(),!0===o.bc?(this._bottomCenterWidget.transformByState({height:h,width:h,left:d.center,top:d.bottom,strokeWidth:c}),this._bottomCenterWidget.show()):this._bottomCenterWidget.hide(),!0===o.br?(this._bottomRightWidget.transformByState({height:h,width:h,left:d.right,top:d.bottom,strokeWidth:c}),this._bottomRightWidget.show()):this._bottomRightWidget.hide()}_hasWidgets(e){if(null==e)return!1;let t=Object.keys(e);if(0===t.length)return!1;for(let r of t)if(!0===e[r])return!0;return!1}_getScale(){let{scaleX:e,scaleY:t}=this._scene.getAncestorScale();return Math.max(e,t)}_stopAntLineAnimation(){this._antLineOffset=0,jV(this._antRequestNewFrame)}_startAntLineAnimation(){let e=this._getScale();this._antLineOffset+=.6/e,this._antLineOffset>160/e&&(this._antLineOffset=0),this.dashedRect.setProps({strokeDashOffset:-this._antLineOffset}),this._antRequestNewFrame=FV(()=>{this._startAntLineAnimation()})}};const wLe=ZOe.MARK_SELECTION,ELe=V("univer.mark-selection-service");let SLe=class extends tu{constructor(e,t,r){super(),this._currentService=e,this._renderManagerService=t,this._themeService=r,nLe(this,"_shapeMap",new Map)}addShape(e,t=[],r=wLe){var n;let i=this._currentService.getCurrentUnitForType(Pi.UNIVER_SHEET),a=null==(n=i.getActiveSheet())?void 0:n.getSheetId();if(!a)return null;let o=cu(),s={selection:e,subUnitId:a,unitId:i.getUnitId(),zIndex:r,control:null,exits:t};return this._shapeMap.set(o,s),this.refreshShapes(),o}addShapeWithNoFresh(e,t=[],r=wLe){var n;let i=this._currentService.getCurrentUnitForType(Pi.UNIVER_SHEET),a=null==(n=i.getActiveSheet())?void 0:n.getSheetId();if(!a)return null;let o=cu();return this._shapeMap.set(o,{selection:e,subUnitId:a,unitId:i.getUnitId(),zIndex:r,control:null,exits:t}),o}refreshShapes(){var e;let t=this._currentService.getCurrentUnitForType(Pi.UNIVER_SHEET);if(!t)return;let r=t.getUnitId(),n=null==(e=t.getActiveSheet())?void 0:e.getSheetId();this._shapeMap.forEach(e=>{let{unitId:t,subUnitId:i,selection:a,control:o,zIndex:s}=e;if(null==o||o.dispose(),t!==r||i!==n)return;let l=this._renderManagerService.getRenderById(t);if(!l)return;let u=l.with(vLe).getCurrentSkeleton();if(!u)return;let{scene:c}=l,{rowHeaderWidth:d,columnHeaderHeight:h}=u,m=new _Le(c,s,this._themeService,{enableAutoFill:!1,highlightHeader:!1,rowHeaderWidth:d,columnHeaderHeight:h}),f=uLe(a,u);m.updateRangeBySelectionWithCoord(f),e.control=m})}getShapeMap(){return this._shapeMap}removeShape(e){let t=this._shapeMap.get(e);if(!t)return;let{control:r}=t;null==r||r.dispose(),this._shapeMap.delete(e)}removeAllShapes(){for(let e of this._shapeMap.values()){let{control:t}=e;null==t||t.dispose()}this._shapeMap.clear()}};function ALe(e){return{strokeWidth:1.5,stroke:e.getColorFromTheme("primary.600"),fill:"rgba(178, 178, 178, 0.10)",widgets:{},strokeDash:8}}SLe=pLe([gLe(0,dg),gLe(1,kX),gLe(2,Y(Lg))],SLe);var ILe=class{constructor(){nLe(this,"_cache",new hh(10)),nLe(this,"_lastCopyId$",new Qn(null)),nLe(this,"lastCopyId$",this._lastCopyId$.asObservable())}set(e,t){this._cache.set(e,t),this._lastCopyId$.next(e)}get(e){return this._cache.get(e)}del(e){this._cache.delete(e),this._lastCopyId$.getValue()===e&&this._lastCopyId$.next(null)}clear(){this._cache.clear(),this._lastCopyId$.next(null)}clearWithUnitId(e){this._cache.forEach((t,r)=>{t.unitId===e&&this._cache.delete(r)})}getLastCopyId(){return this._lastCopyId$.getValue()}};function RLe(e,t){let r=null==t?e.style:t,n={},i=e.tagName.toLowerCase();switch(i){case"b":case"em":case"strong":n.bl=Vu.TRUE;break;case"s":n.st={s:Vu.TRUE};break;case"u":n.ul={s:Vu.TRUE};break;case"i":n.it=Vu.TRUE;break;case"sub":case"sup":n.va="sup"===i?Bu.SUPERSCRIPT:Bu.SUBSCRIPT}return function(e,t){if(e instanceof CSSStyleDeclaration)for(let r=0;r400||"bold"===t)&&(r.bl=Vu.TRUE);break;case"text-decoration":/underline/.test(t)?r.ul={s:Vu.TRUE}:/overline/.test(t)?r.ol={s:Vu.TRUE}:/line-through/.test(t)&&(r.st={s:Vu.TRUE});break;case"color":try{let e=new $c(t);e.isValid&&(r.cl={rgb:e.toRgbString()})}catch{}break;case"background-color":{let e=new $c(t);e.isValid&&(r.bg={rgb:e.toRgbString()});break}}}function TLe(e){e.nodeType!==Node.TEXT_NODE?e.childNodes.forEach(TLe):e.textContent=(e.textContent||"").replace(/\r?\n[\t ]*/g," ")}function NLe(e){let t=e.style,r={};for(let e=0;ee===r):t(e)}var PLe=class e{static use(e){if(this._pluginList.includes(e))throw Error(`Univer paste plugin ${e.name} already added`);this._pluginList.push(e)}constructor(e){nLe(this,"_styleMap",new Map),nLe(this,"_styleCache",new Map),nLe(this,"_styleRules",[]),nLe(this,"_afterProcessRules",[]),nLe(this,"_dom",null),nLe(this,"_getCurrentSkeleton",void 0),this._getCurrentSkeleton=e.getCurrentSkeleton}convert(t){let r=e._pluginList.find(e=>e.checkPasteType(t));r&&(this._styleRules=[...r.stylesRules],this._afterProcessRules=[...r.afterProcessRules]);let n=new kd;this._dom=function(e){let t=document.implementation.createHTMLDocument(""),r=t.createRange();r.selectNodeContents(t.body);let n=r.createContextualFragment(e);return kte(n,{strippedSelector:"script, iframe, object, embed"}),TLe(n),t.body.append(n),t.body}(t);let i=this._dom.querySelector("style");if(i){let e=document.createElement("div"),t=e.attachShadow({mode:"open"});document.body.appendChild(e),t.appendChild(i);for(let e of i.sheet.cssRules){let t=e,r=t.selectorText,n=t.style;this._styleMap.set(r,n)}i.remove(),e.remove()}let a={dataStream:"",textRuns:[]},o=[],s=[],l=t.match(/]*>([\s\S]*?)<\/table>/gi);this.process(null,this._dom.childNodes,a,[]);let{paragraphs:u,dataStream:c,textRuns:d,payloads:h,customRanges:m}=a;if(u){let e=u.map(e=>e.startIndex+1);e.unshift(0);for(let t=0;t{r.st>=e[t]&&r.ed<=e[t+1]&&i.push({st:r.st-e[t],ed:r.ed-e[t],ts:r.ts})});let a=[];null==m||m.forEach(r=>{r.startIndex>=e[t]&&r.endIndex<=e[t+1]&&a.push({...r,startIndex:r.startIndex-e[t],endIndex:r.endIndex-e[t]})});let s=this._generateDocumentDataModelSnapshot({body:{dataStream:r,textRuns:i,paragraphs:MLe(r),customRanges:a}}),l=0===Object.keys(n.getMatrix()).length;n.setValue(l?0:n.getLength(),0,{v:r,p:s}),o.push({})}}else if(c){let e=`${c}\r\n`,t={dataStream:e,textRuns:d,paragraphs:MLe(e),payloads:h,customRanges:m};if(null!=m&&m.length){let e=this._generateDocumentDataModelSnapshot({body:t});n.setValue(0,0,OLe({v:c,p:e},c,d))}else n.setValue(0,0,OLe({v:c},c,d));o.push({})}return l&&l.forEach((e,t)=>{let r=n.getDataRange().endRow+1,{cellMatrix:i,rowProperties:a,colProperties:l}=this._parseTable(e,t);i&&i.forValue((e,t,i)=>{n.setValue(r+e,t,i)}),l&&s.push(...l),o.push(...a)}),this.dispose(),{rowProperties:o,colProperties:s,cellMatrix:n}}_getStyleBySelectorText(e,t){var r;return(null==(r=this._styleMap.get(e))?void 0:r.getPropertyValue(t))||""}_getStyle(e,t){let r=DLe(t),n=e.style,i="";for(let t=0;t{t=this._getStyleBySelectorText(`.${e}`,"background-color")||this._getStyleBySelectorText(`.${e}`,a)});let o=n.getPropertyValue("background-color")||t||this._getStyleBySelectorText(`#${e.id}`,"background-color")||this._getStyleBySelectorText(`#${e.id}`,a)||this._getStyleBySelectorText(e.nodeName.toLowerCase(),a)||this._getStyleBySelectorText(e.nodeName,"background-color")||r["background-color"]||"";o&&(i+=`background:${o};`);continue}if("text-decoration"===a){let t="";e.classList.forEach(e=>{t=this._getStyleBySelectorText(`.${e}`,"text-decoration-line")||this._getStyleBySelectorText(`.${e}`,a)});let o=n.getPropertyValue("text-decoration-line")||n.getPropertyValue("text-decoration")||t||this._getStyleBySelectorText(`#${e.id}`,"text-decoration-line")||this._getStyleBySelectorText(`#${e.id}`,a)||this._getStyleBySelectorText(e.nodeName.toLowerCase(),a)||this._getStyleBySelectorText(e.nodeName,"text-decoration-line")||r["text-decoration-line"]||"";o&&(i+=`text-decoration:${o};`);continue}let o="";e.classList.forEach(e=>{o=this._getStyleBySelectorText(`.${e}`,a)}),o=n.getPropertyValue(a)||this._getStyleBySelectorText(`#${e.id}`,a)||o||this._getStyleBySelectorText(e.nodeName.toLowerCase(),a)||r[a]||"",o&&(i+=`${a}:${o};`)}return i}_parseTable(e,t){var r,n;let i=new kd,a=null==(r=function(e){let t,r=e.match(/(.*?)<\/colgroup>/),n=//g;if(t=null!=r&&r[2]?r[2].matchAll(n):e.matchAll(n),!t)return null;let i=Array.from(t).map(e=>ULe(e[1])),a=[];return i.forEach(e=>{let t=Number(e.span);if(t)for(let r=0;r([\s\S]*?)<\/tr>/gi);if(!t)return{rowProperties:[],rowCount:0};let r=Array.from(t).map(e=>ULe(e[1])).map(e=>{if(!e.height){let t=e.style,r=t&&t.match(/height\s*:\s*(\d+(\.\d+)?)px/);e.height=`${r?Number.parseInt(r[1],10):24}`}return e});return{rowProperties:r,rowCount:r.length}}(e),s=this._parseTableByHtml(this._dom,t,null==(n=this._getCurrentSkeleton())?void 0:n.skeleton);return s&&s.forValue((e,t,r)=>{var n,a;let o=function(e,t=""){var r,n;let i=null==(r=null==e||null==(n=e.style)?void 0:n.cssText)?"":r;if(i+=t,i=i.replace(/[\r\n]+/g,""),0===i.length)return{};let a=i.split(";"),o={},s={t:"",r:"",b:"",l:""};return a.forEach(t=>{let r=t.toLowerCase(),n=yre(r.substr(0,r.indexOf(":"))),a=yre(r.substr(r.indexOf(":")+1));if("font-weight"===n)o.bl="bold"===a||"700"===a?1:0;else if("font-style"===n)o.it="italic"===a?1:0;else if("font-family"===n)o.ff=function(e){let t=e.match(/font-family:\s*(?:"([^"]+)"|'([^']+)'|([^;]+))/i);return t?(t[1]||t[2]||t[3]).trim():null}(yre(t));else if("font-size"===n){let e=Number.parseInt(a);i.indexOf("vertical-align")>-1&&(i.indexOf("sub")>-1||i.indexOf("sup")>-1)&&(e*=2),-1!==a.indexOf("px")&&(e=function(e){let t=Math.round(.75*e);return t<9?9:t>78?78:t}(Number.parseInt(a,10))),o.fs=e}else if("color"===n){let e=new $c(a);o.cl={rgb:e.isValid?e.toRgbString():"rgb(0,0,0)"}}else if("background"===n||"background-color"===n){let e=new $c(a);e.isValid&&(o.bg={rgb:e.toRgbString()})}else if("text-decoration-line"===n)"underline"===a?(o.ul||(o.ul={s:1}),o.ul.s=1):"line-through"===a?(o.st||(o.st={s:1}),o.st.s=1):"overline"===a&&(o.ol||(o.ol={s:1}),o.ol.s=1);else if("text-decoration-color"===n)o.hasOwnProperty("ul")&&(o.ul||(o.ul={s:1,cl:{rgb:a}}),o.ul.cl={rgb:a}),o.hasOwnProperty("st")&&(o.st||(o.st={s:1,cl:{rgb:a}}),o.st.cl={rgb:a}),o.hasOwnProperty("ol")&&(o.ol||(o.ol={s:1,cl:{rgb:a}}),o.ol.cl={rgb:a});else if("text-decoration-style"===n)o.hasOwnProperty("ul")&&(o.ul||(o.ul={s:1,t:Number(a)}),o.ul.t=Number(a)),o.hasOwnProperty("st")&&(o.st||(o.st={s:1,t:Number(a)}),o.st.t=Number(a)),o.hasOwnProperty("ol")&&(o.ol||(o.ol={s:1,t:Number(a)}),o.ol.t=Number(a));else if("text-decoration"===n||"univer-strike"===n){var l;let e=null==(l=a.split(" "))?void 0:l[0];"underline"===e?(o.ul||(o.ul={s:1}),o.ul.s=1):"line-through"===e?(o.st||(o.st={s:1}),o.st.s=1):"overline"===e&&(o.ol||(o.ol={s:1}),o.ol.s=1)}if("univer-underline"===n&&(o.ul={s:1}),"vertical-align"===n&&("sub"===a?o.va=Bu.SUBSCRIPT:"super"===a?o.va=Bu.SUPERSCRIPT:"top"===a?o.vt=1:"middle"===a?o.vt=2:"bottom"===a?o.vt=3:o.va=Bu.NORMAL),"transform"===n){let t=a.split(")"),r=t.findIndex(e=>e.includes("rotate"));if(r>-1){let n=t[r].match(/\d+/g),i=0,a=0;null!=n&&n.length&&(i=+n[0]),null!=e&&e.dataset.vertical&&(a=+e.dataset.vertical),o.tr={a:i,v:a}}}if("text-align"===n&&(o.ht="left"===a?1:"center"===a?2:"right"===a?3:"justify"===a?4:0),1!==o.tb&&("overflow-wrap"===n||"word-wrap"===n?"break-word"===a&&(o.tb=3):"text-overflow"===n?"clip"===a&&(o.tb=2):"text-break"===n&&"overflow"===a&&(o.tb=1)),"white-space"===n&&("nowrap"===a?o.tb=1:"normal"===a?o.tb=3:"clip"===a&&(o.tb=2)),"border-color"===n){let e=_re(a,")");if(o.bd)for(let t in e)o.bd[t].cl.rgb=e[t];else{o.bd={b:{cl:{rgb:"#000"},s:0},t:{cl:{rgb:"#000"},s:0},l:{cl:{rgb:"#000"},s:0},r:{cl:{rgb:"#000"},s:0}};for(let t in e)o.bd[t].cl.rgb=e[t]}}if("border-width"===n||"border-style"===n){let e=_re(a," ");for(let t in e)s[t]+=` ${e[t]}`;o.bd?(o.bd.b.s=Hd(s.b),o.bd.t.s=Hd(s.t),o.bd.l.s=Hd(s.l),o.bd.r.s=Hd(s.r)):o.bd={b:{cl:{rgb:"#000"},s:Hd(s.b)},t:{cl:{rgb:"#000"},s:Hd(s.t)},l:{cl:{rgb:"#000"},s:Hd(s.l)},r:{cl:{rgb:"#000"},s:Hd(s.r)}}}if("border-bottom"===n||"border-top"===n||"border-left"===n||"border-right"===n||"border"===n){o.bd||(o.bd={});let e=a.split(" "),t=`${e[0]} ${e[1]}`;e.splice(0,2);let r=e.join("");if(Hd(t)!==gu.NONE&&r){let e={cl:{rgb:r},s:Hd(t)};"border-bottom"===n?o.bd.b="none"===a?null:e:"border-top"===n?o.bd.t="none"===a?null:e:"border-left"===n?o.bd.l="none"===a?null:e:"border-right"===n?o.bd.r="none"===a?null:e:"border"===n&&(o.bd={r:"none"===a?null:e,t:"none"===a?null:e,b:"none"===a?null:e,l:"none"===a?null:e})}}else if("--data-rotate"===n){let e=a.match(/[+-]?\d+/);"(0deg ,1)"===a?o.tr={a:0,v:1}:e&&(o.tr={a:Number(e[0])})}}),Object.keys(o).forEach(e=>{"object"==typeof o[e]&&!Object.keys(o[e]).length&&delete o[e]}),o}(void 0,r.style);if(null!=r&&null!=(n=r.richTextParma)&&null!=(n=n.p)&&null!=(n=n.body)&&null!=(n=n.textRuns)&&n.length){var s,l,u;let e=null==r||null==(s=r.richTextParma)||null==(s=s.v)?void 0:s.length;for(let t=0;t<(null==r||null==(l=r.richTextParma)||null==(l=l.p)||null==(l=l.body)||null==(l=l.textRuns)?void 0:l.length);t++){var c;let n=null==r||null==(c=r.richTextParma)||null==(c=c.p)||null==(c=c.body)?void 0:c.textRuns[t];var d;0===n.st&&n.ed===e&&(o={...n.ts,...o},null==r||null==(d=r.richTextParma)||null==(d=d.p)||null==(d=d.body)||d.textRuns.splice(t,1),t--)}var h;0===(null==r||null==(u=r.richTextParma)||null==(u=u.p)||null==(u=u.body)||null==(u=u.textRuns)?void 0:u.length)&&(r.content=null==r||null==(h=r.richTextParma)?void 0:h.v,delete r.richTextParma)}let m=null!=r&&null!=(a=r.richTextParma)&&null!=(a=a.p)&&null!=(a=a.body)&&a.textRuns?{v:r.richTextParma.v,p:r.richTextParma.p,s:o,rowSpan:r.rowSpan,colSpan:r.colSpan}:{v:r.content,s:o,rowSpan:r.rowSpan,colSpan:r.colSpan};i.setValue(e,t,m)}),{rowProperties:o,colProperties:a,cellMatrix:i}}_parseTableByHtml(e,t,r){let n=new kd,i=e.querySelectorAll("table")[t];if(!i)return n;let a=this._getStyle(i,""),o=null==i?void 0:i.querySelectorAll("tr");for(let e=0;e0){var s;let t=n.getValue(e-1,c);if(null!=t&&null!=(s=t.style)&&s.includes("border-bottom")&&o.includes("border-top")){let e=BLe(t.style,"border-bottom");e&&"none"!==yre(e.substr(e.indexOf(":")+1))&&(o=o.replace(/border-top:[^;]+;/,""))}}if(t>0){var l;let t=n.getValue(e,c-1);if(null!=t&&null!=(l=t.style)&&l.includes("border-right")&&o.includes("border-left")){let e=BLe(t.style,"border-right");e&&"none"!==yre(e.substr(e.indexOf(":")+1))&&(o=o.replace(/border-left:[^;]+;/,""))}}let{cellText:m,cellRichStyle:f}=this._getCellTextAndRichText(a,o,r),g={rowSpan:d,colSpan:h,content:m,style:o,richTextParma:{p:f,v:m}};n.getValue(e,c)?c+=1:(d>1||h>1?VLe(n,o,g,{colSpan:h,rowSpan:d,rowIndex:e,colIndex:t,colSetValueIndex:c}):n.setValue(e,c,g),c+=h,t++)}}return n}_parseCellHtml(e,t,r,n=new Map,i){for(let o of t)if(o.nodeType===Node.TEXT_NODE){var a;let t,i=null==(a=o.nodeValue)?void 0:a.replace(/[\r\n]/g,"");e&&n.has(e)&&(t=n.get(e)),r.dataStream+=i,t&&Object.getOwnPropertyNames(t).length&&r.textRuns.push({st:r.dataStream.length-i.length,ed:r.dataStream.length,ts:t})}else{if(o.nodeType===Node.COMMENT_NODE||"STYLE"===o.nodeName)continue;if("br"===o.nodeName.toLowerCase())r.paragraphs||(r.paragraphs=[]),r.paragraphs.push({startIndex:r.dataStream.length}),r.dataStream+="\r";else if(o.nodeType===Node.ELEMENT_NODE){let t=this._getStyle(o,i),a=e?n.get(e):{},s=RLe(o,DLe(t));n.set(o,{...a,...s});let{childNodes:l}=o;this._parseCellHtml(o,l,r,n,t)}}}_getCellTextAndRichText(e,t,r){if(e.innerHTML.includes("mso-spacerun:yes")){let t=e.innerHTML.replace(/]*mso-spacerun:yes[^>]*>[\s\S]*?<\/span>/gi,"").replace(/\s/g,""),r=xd(t);if(r&&r.z&&$d(r.v))return{cellText:t,cellRichStyle:void 0}}let n,i="";if(/<[^>]+>/.test(e.innerHTML)&&r){var a;let o={dataStream:"",textRuns:[]};this._parseCellHtml(null,e.childNodes,o,void 0,t);let s=null==(a=r.getBlankCellDocumentModel())?void 0:a.documentModel,l=null==s?void 0:s.getSnapshot(),u=`${o.dataStream}\r\n`,c={...l,body:{dataStream:u,textRuns:o.textRuns,paragraphs:MLe(u)}};null==s||s.reset(c),n=null==s?void 0:s.getSnapshot(),i=o.dataStream}else i=function(e){let t={"<":"<",">":">","&":"&",""":'"',"'":"'"," ":" "};return e.replace(/<|>|&|"|'| |
    /g,e=>t[e])}(e.innerHTML.replace(/[\r\n]/g,""));return{cellText:i,cellRichStyle:n}}_generateDocumentDataModelSnapshot(e){var t;let r=this._getCurrentSkeleton();if(null==r)return null;let{skeleton:n}=r,i=null==(t=n.getBlankCellDocumentModel())?void 0:t.documentModel,a={...null==i?void 0:i.getSnapshot(),...e};return null==i||i.reset(a),null==i?void 0:i.getSnapshot()}process(e,t,r,n){for(let s of t)if("table"===s.nodeName.toLowerCase()){var i;n.push({index:(null==r||null==(i=r.paragraphs)?void 0:i.length)||0})}else if(s.nodeType===Node.TEXT_NODE){var a,o;if(""===(null==(a=s.nodeValue)?void 0:a.trim()))continue;let t,n=null==(o=s.nodeValue)?void 0:o.replace(/[\r\n]/g,"");e&&this._styleCache.has(e)&&(t=this._styleCache.get(e));let i={dataStream:"",textRuns:[]};r.dataStream+=n,i.dataStream+=n,t&&Object.getOwnPropertyNames(t).length&&(r.textRuns.push({st:r.dataStream.length-n.length,ed:r.dataStream.length,ts:t}),i.textRuns.push({st:r.dataStream.length-n.length,ed:r.dataStream.length,ts:t}))}else{if(Gg.includes(s.nodeName.toLowerCase()))continue;if("br"===s.nodeName.toLowerCase())r.paragraphs||(r.paragraphs=[]),r.paragraphs.push({startIndex:r.dataStream.length}),r.dataStream+="\r";else if(s.nodeType===Node.ELEMENT_NODE){if("STYLE"===s.nodeName)continue;let t=s,i=this._processBeforeLink(t,{body:r}),a=e?this._styleCache.get(e):{},o=this._styleRules.find(({filter:e})=>kLe(s,e)),l=o?o.getStyle(s):RLe(s);this._styleCache.set(s,{...a,...l});let{childNodes:u}=s;this.process(s,u,r,n);let c=this._afterProcessRules.find(({filter:e})=>kLe(s,e));c&&c.handler(r,s),this._processAfterLink(t,{body:r},i)}}}_processBeforeLink(e,t){return t.body.dataStream.length}_processAfterLink(e,t,r){let n=t.body,i=e;var a,o;"A"===i.tagName.toUpperCase()&&(n.customRanges=null==(a=n.customRanges)?[]:a,n.customRanges.push({startIndex:r,endIndex:n.dataStream.length-1,rangeId:null==(o=i.dataset.rangeid)?cu():o,rangeType:Xu.HYPERLINK,properties:{url:i.href}}))}dispose(){this._dom=null,this._styleCache.clear(),this._styleMap.clear()}};function DLe(e){let t={};return e.split(";").forEach(e=>{let[r,n]=e.split(":");t[r]=n}),t}function ULe(e){if(!e)return{};let t,r={},n=/([\w-]+)\s*=\s*(?:(['"])([^'"]*)\2|(\S+))/g;for(;null!==(t=n.exec(e));){let[,e,,n,i]=t;r[e]=void 0===n?i:n}return r}function BLe(e,t){if(!e||!t)return null;let r=RegExp(`(${t}\\s*:\\s*[^;]+);`,"i"),n=e.match(r);return n?n[1]:null}function VLe(e,t,r,n){let{rowSpan:i,colSpan:a,rowIndex:o,colSetValueIndex:s}=n;for(let n=o;n/lark-record-clipboard/i.test(e),stylesRules:[{filter:["s"],getStyle(e){let t=RLe(e);return{st:{s:Vu.TRUE},...t}}}],afterProcessRules:[{filter:e=>"DIV"===e.tagName&&/ace-line/i.test(e.className),handler(e){null==e.paragraphs&&(e.paragraphs=[]),e.paragraphs.push({startIndex:e.dataStream.length}),e.dataStream+="\r"}}]},jLe={name:"univer-doc-paste-plugin-univer",checkPasteType:e=>/UniverNormal/i.test(e),stylesRules:[],afterProcessRules:[{filter:e=>"P"===e.tagName&&/UniverNormal/i.test(e.className),handler(e,t){null==e.paragraphs&&(e.paragraphs=[]);let r={startIndex:e.dataStream.length},n=NLe(t);n&&(r.paragraphStyle=n),e.paragraphs.push(r),e.dataStream+="\r"}}]},HLe={name:"univer-doc-paste-plugin-word",checkPasteType:e=>/word|mso/i.test(e),stylesRules:[{filter:["b"],getStyle(e){let t=RLe(e);return{bl:Vu.TRUE,...t}}}],afterProcessRules:[{filter:e=>"P"===e.tagName&&/mso/i.test(e.className),handler(e,t){null==e.paragraphs&&(e.paragraphs=[]);let r={startIndex:e.dataStream.length},n=NLe(t);n&&(r.paragraphStyle=n),e.paragraphs.push(r),e.dataStream+="\r"}}]};let WLe=function(e){return e.COPY="COPY",e.CUT="CUT",e}({});function zLe(e){return e.reduce((e,t)=>(Object.keys(t).forEach(r=>{e[r]?e[r]+=`;${t[r]}`:e[r]=t[r]}),e),{})}function XLe(e){return Object.keys(e).reduce((t,r)=>`${t} ${r}="${e[r]}"`,"")}var qLe=class{convert(e,t,r,n){let{cols:i,rows:a}=t;if(!i.length)return"";let o=function(e,t){return`${e.map(e=>`{var r;return null==(r=t.onCopyColumn)?void 0:r.call(t,e)}).filter(e=>!!e)))} />`).join("")}`}(i,r),s=[],l=new Set;return a.forEach(t=>{s.push(function(e,t,r,n,i){return`{var r;return null==(r=t.onCopyRow)?void 0:r.call(t,e)}).filter(e=>!!e)))}>${t.map(t=>{if(!i.has(`${e}-${t}`)){let a=n.getValue(e,t);if(null!=a&&a.rowSpan&&null!=a&&a.colSpan)for(let r=e;r{var n;return null==(n=r.onCopyCellStyle)?void 0:n.call(r,e,t,null==i?void 0:i.rowSpan,null==i?void 0:i.colSpan)}).filter(e=>!!e)))}>${r.reduce((r,n)=>{var i;return r||(null==(i=n.onCopyCellContent)?void 0:i.call(n,e,t))||""},"")}`}(e,t,r,n)}return null}).filter(e=>!!e).join("")}`}(t,i,r,e,l))}),`${o}\n${s.join("")}
    `}};const GLe=(e,t,r=!1)=>{let n=e=>e.endRow-e.startRow+1,i=e=>e.endColumn-e.startColumn+1,a=n(t)%n(e),o=i(t)%i(e),s={startRow:0,endRow:n(e)-1,startColumn:0,endColumn:i(e)-1},l=Math.floor(n(t)/n(e)),u=Math.floor(i(t)/i(e)),c=[];if(a||o)if(a||!o||r)if(!a||o||r){let e={startRow:t.startRow,endRow:t.startRow,startColumn:t.startColumn,endColumn:t.startColumn};c.push({startRange:e,repeatRelativeRange:s})}else for(let r=1;r<=u;r++){let n=i(e)*(r-1),a={startRow:0+t.startRow,endRow:0+t.startRow,startColumn:n+t.startColumn,endColumn:n+t.startColumn};c.push({repeatRelativeRange:s,startRange:a})}else for(let r=1;r<=l;r++){let i=n(e)*(r-1),a={startRow:i+t.startRow,endRow:i+t.startRow,startColumn:0+t.startColumn,endColumn:0+t.startColumn};c.push({repeatRelativeRange:s,startRange:a})}else for(let r=1;r<=l;r++)for(let a=1;a<=u;a++){let o=n(e)*(r-1),l=i(e)*(a-1),u={startRow:o+t.startRow,endRow:o+t.startRow,startColumn:l+t.startColumn,endColumn:l+t.startColumn};c.push({repeatRelativeRange:s,startRange:u})}return c};function YLe(e){return!!e&&[/]*class=".*?xl.*?"[^>]*>/i,/xmlns:x="urn:schemas-microsoft-com:office:excel"/i,/ProgId="Excel.Sheet"/i,/xmlns:o="urn:schemas-microsoft-com:office:office"/i,/@mso-|mso-excel/i,//i].some(t=>t.test(e))}function QLe(...e){if(1===e.length)return e[0];let t=new kd;return e.forEach(e=>{e&&new kd(e).forValue((e,r,n)=>{t.setValue(e,r,{...t.getValue(e,r),...n})})}),t.getMatrix()}function ZLe(e,t){return e.id===t.id&&e.params.unitId===t.params.unitId&&e.params.subUnitId===t.params.subUnitId}function KLe(e){let t=[];for(let r=0;re.params.cellValue||{}));t.push({...i,params:{...i.params,cellValue:o}})}else t.push(e[r]);r+=n}return t}function $Le(e,t={}){let{maxCellsPerChunk:r=2500,threshold:n=6e3,maxChunks:i=10}=t;if(e.id!==Kwe.id)return[e];let{cellValue:a}=e.params;if(!a)return[e];let o=new kd(a),s=0,l=1/0,u=-1/0,c=1/0,d=-1/0;if(o.forValue((e,t)=>{s++,l=Math.min(l,e),u=Math.max(u,e),c=Math.min(c,t),d=Math.max(d,t)}),l===1/0||s<=n)return[e];let h=[],m=d-c+1,f=Math.max(1,Math.floor(r/m)),g=u-l+1;Math.ceil(g/f)>i&&(f=Math.ceil(g/i));for(let t=l;t<=u;t+=f){let r=Math.min(t+f-1,u),n=new kd,i=!1;for(let e=t;e<=r;e++)for(let t=c;t<=d;t++){let r=o.getValue(e,t);void 0!==r&&(n.setValue(e,t,r),i=!0)}i&&h.push({...e,params:{...e.params,cellValue:n.getMatrix(),__splitChunk__:!0}})}return h.length>0?h:[e]}function JLe(e,t){let{startRow:r,endRow:n,startColumn:i,endColumn:a}=e;for(let e=r;e<=n;e++)for(let r=i;r<=a;r++)if(t.rows.includes(e)&&t.cols.includes(r))return!0}function eke(e,t){let{startRow:r,endRow:n,startColumn:i,endColumn:a}=t;for(let t=r;t<=n;t++)if(!e.rows.includes(t))return!1;for(let t=i;t<=a;t++)if(!e.cols.includes(t))return!1;return!0}const tke={DEFAULT_COPY:"default-copy",SPECIAL_COPY_FORMULA_ONLY:"special-copy-formula-only"},rke={DEFAULT_PASTE:"default-paste",DEFAULT_PASTE_ROWS:"default-paste-rows",DEFAULT_PASTE_COLUMNS:"default-paste-columns",SPECIAL_PASTE_VALUE:"special-paste-value",SPECIAL_PASTE_FORMAT:"special-paste-format",SPECIAL_PASTE_COL_WIDTH:"special-paste-col-width",SPECIAL_PASTE_BESIDES_BORDER:"special-paste-besides-border",SPECIAL_PASTE_FORMULA:"special-paste-formula"},nke={[Bte]:"png",[Vte]:"jpg",[jte]:"webp",[Fte]:"bmp"};PLe.use(HLe),PLe.use(FLe),PLe.use(jLe);const ike=V("sheet.clipboard-service");let ake=class extends tu{constructor(e,t,r,n,i,a,o,s,l,u,c,d,h,m){super(),this._logService=e,this._univerInstanceService=t,this._selectionManagerService=r,this._clipboardInterfaceService=n,this._undoRedoService=i,this._commandService=a,this._markSelectionService=o,this._notificationService=s,this._platformService=l,this._renderManagerService=u,this._themeService=c,this._localeService=d,this._errorService=h,this._injector=m,nLe(this,"_clipboardHooks",[]),nLe(this,"_clipboardHooks$",new Qn([])),nLe(this,"clipboardHooks$",this._clipboardHooks$.asObservable()),nLe(this,"_htmlToUSM",void 0),nLe(this,"_usmToHtml",void 0),nLe(this,"_copyContentCache",void 0),nLe(this,"_copyMarkId",null),nLe(this,"_pasteOptionsCache$",new Qn(null)),nLe(this,"pasteOptionsCache$",this._pasteOptionsCache$.asObservable()),nLe(this,"_showMenu$",new Qn(!1)),nLe(this,"showMenu$",this._showMenu$.asObservable()),this._htmlToUSM=new PLe({getCurrentSkeleton:()=>{var e;return null==(e=DX(Pi.UNIVER_SHEET,vLe,this._univerInstanceService,this._renderManagerService))?void 0:e.getCurrentParam()}}),this._usmToHtml=new qLe,this._copyContentCache=new ILe,this.disposeWithMe(this._htmlToUSM),this._initUnitDisposed()}setShowMenu(e){this._showMenu$.next(e)}getPasteMenuVisible(){return this._showMenu$.getValue()}getPasteOptionsCache(){return this._pasteOptionsCache$.getValue()}copyContentCache(){return this._copyContentCache}generateCopyContent(e,t,r,n){let{copyType:i=WLe.COPY,copyHookType:a=tke.DEFAULT_COPY}=n||{},o=this._clipboardHooks;a===tke.SPECIAL_COPY_FORMULA_ONLY&&(o=this._clipboardHooks.filter(e=>e.id===a)),o.forEach(n=>{var a;return null==(a=n.onBeforeCopy)?void 0:a.call(n,e,t,r,i)});let s=this._generateCopyContent(e,t,r,o,a);return o.forEach(e=>{var t;return null==(t=e.onAfterCopy)?void 0:t.call(e)}),s}async copy(e){let t=this._selectionManagerService.getCurrentLastSelection();if(!t)return!1;let r=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET),n=null==r?void 0:r.getActiveSheet();if(!r||!n)return!1;let i=r.getUnitId(),a=n.getSheetId(),{copyType:o=WLe.COPY,copyHookType:s=tke.DEFAULT_COPY}=e||{},l=this.generateCopyContent(i,a,t.range,{copyType:o,copyHookType:s});if(!l)return!1;let{html:u,plain:c,matrixFragment:d,copyId:h,discreteRange:m}=l;this._copyContentCache.set(h,{unitId:r.getUnitId(),subUnitId:n.getSheetId(),range:m,matrix:d,copyType:o}),await this._clipboardInterfaceService.write(c,u),this._markSelectionService.removeAllShapes();let f=ALe(this._themeService);return this._copyMarkId=this._markSelectionService.addShape({...t,style:f}),!0}async cut(){return this.copy({copyType:WLe.CUT})}async paste(e,t=rke.DEFAULT_PASTE){let r=e.types,n=-1===r.indexOf(Dte)?"":await e.getType(Dte).then(e=>e&&e.text()),i=-1===r.indexOf(Ute)?"":await e.getType(Ute).then(e=>e&&e.text()),a=r.findIndex(e=>Hte.has(e)),o=-1===a||!function(e){return!!e&&(e.match(/]*src\s*=\s*["']data:image\/[^;]+;base64,[^"']*["'][^>]*>/i)||[]).length>0}(i);if(i&&o)return this._platformService.isWindows&&YLe(i)&&this._notificationService.show({type:"warning",title:this._localeService.t("clipboard.shortCutNotify.title"),content:this._localeService.t("clipboard.shortCutNotify.useShortCutInstead")}),this._pasteHTML(i,t);if(-1!==a){let n=r[a],i=await e.getType(n);if(i){let e=new File([i],`clipboard-image.${nke[n]}`,{type:n});return this._pasteFiles([e],t)}}return n?this._pastePlainText(n,t):(this._logService.error("[SheetClipboardService]","No valid data on clipboard"),!1)}async pasteByCopyId(e,t=rke.DEFAULT_PASTE){return this._pasteInternal(e,t)}async legacyPaste(e,t,r){let n=YLe(null==e?"":e);return r&&!n?this._pasteFiles(r,rke.DEFAULT_PASTE):e?this._pasteHTML(e,rke.DEFAULT_PASTE):t?/[\n\t]/.test(t)?this._pasteHTML(function(e){let t=e.trim().split("\n"),r="";return t.forEach(e=>{let t=e.split("\t");r+="",t.forEach(e=>{r+=``}),r+=""}),r+="
    ${e}
    ",r}(t),rke.DEFAULT_PASTE):this._pastePlainText(t,rke.DEFAULT_PASTE):this._pasteUnrecognized()}rePasteWithPasteType(e){let t=this._pasteOptionsCache$.getValue();if(!t)return!1;let r=this._injector.get(Pg),n=r.pitchTopUndoElement();n&&zc(n.undoMutations,this._commandService)&&r.popUndoToRedo();let{cellMatrix:i,rowProperties:a=[],colProperties:o=[],source:s,target:l}=t;return this._pasteUSM({cellMatrix:i,colProperties:o,rowProperties:a},l,rke[e],s),!0}updatePasteOptionsCache(e){this._pasteOptionsCache$.next(e)}addClipboardHook(e){if(-1!==this._clipboardHooks.findIndex(t=>t.id===e.id))return this._logService.error("[SheetClipboardService]","hook already exists",e.id),{dispose:()=>{}};let t=this._clipboardHooks.findIndex(t=>{let r=t.priority||0;return(e.priority||0){let t=this._clipboardHooks.indexOf(e);t>-1&&(this._clipboardHooks.splice(t,1),this._notifyClipboardHook())})}getClipboardHooks(){return this._clipboardHooks}_generateCopyContent(e,t,r,n,i=tke.DEFAULT_COPY){let a=this._univerInstanceService.getUniverSheetInstance(e),o=null==a?void 0:a.getSheetBySheetId(t);if(!a||!o)return null;let s=n.reduce((n,i)=>{var a;let o=null==(a=i.getFilteredOutRows)?void 0:a.call(i,e,t,r);return null==o||o.forEach(e=>n.add(e)),n},new Set),{startColumn:l,startRow:u,endColumn:c,endRow:d}=r,h=u,m=o.getMatrixWithMergedCells(u,l,d,c,yd.Both),f=new kd,g=new kd,p={rows:[],cols:[]},v=i===tke.SPECIAL_COPY_FORMULA_ONLY?n.find(e=>e.handleMatrixOnCell):void 0,b=n.filter(e=>e.getCellValueBySpecialMatrix);for(let e=u;e<=d;e++)if(!s.has(e)){p.rows.push(e);for(let t=l;t<=c;t++){if(v){var C;null==(C=v.handleMatrixOnCell)||C.call(v,e,t,h-u,t-l,m,f,g);continue}let r=b.reduce((r,n)=>r||n.getCellValueBySpecialMatrix(e,t),void 0)||m.getValue(e,t);if(r){let e=Zf(r);g.setValue(h-u,t-l,{...Xf(),...e}),delete e.displayV,f.setValue(h-u,t-l,{...Xf(),...e})}else g.setValue(h-u,t-l,Xf()),f.setValue(h-u,t-l,Xf()),m.setValue(e,t,Xf())}h+=1}for(let e=l;e<=c;e++)p.cols.push(e);let y=cu(6),_=this._usmToHtml.convert(m,p,n,y);return{copyId:y,plain:oke(g),html:_,matrixFragment:f,discreteRange:p}}_notifyClipboardHook(){this._clipboardHooks$.next(this._clipboardHooks)}async _executePaste(e){let t=this._getPastingTarget();if(!t.subUnitId||!t.selection)return!1;let r=this._injector.invoke(e=>qEe(t.selection.range,e,t.unitId,t.subUnitId));if(!r)return!1;let{unitId:n,subUnitId:i}=t,a=this._clipboardHooks,o=[];if(a.some(e=>{var t;return o.push(e)&&!1===(null==(t=e.onBeforePaste)?void 0:t.call(e,{unitId:n,subUnitId:i,range:r}))}))return o.forEach(e=>{var t;return null==(t=e.onAfterPaste)?void 0:t.call(e,!1)}),!1;let s=[],l=[];o.forEach(t=>{let a=e(t,{unitId:n,subUnitId:i,range:r});a&&(s.push(...a.redos),l.push(...a.undos))});let u=s.every(e=>this._commandService.executeCommand(e.id,e.params));return u&&this._undoRedoService.pushUndoRedo({unitID:this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET).getUnitId(),undoMutations:l,redoMutations:s}),u}async _pasteFiles(e,t){return this._executePaste((r,n)=>{var i;return null==(i=r.onPasteFiles)?void 0:i.call(r,n,e,{pasteType:t})})}async _pastePlainText(e,t){return this._executePaste((r,n)=>{var i;return null==(i=r.onPastePlainText)?void 0:i.call(r,n,e,{pasteType:t})})}_pasteUnrecognized(){return this._executePaste((e,t)=>{var r;return null==(r=e.onPasteUnrecognized)?void 0:r.call(e,t)})}async _pasteHTML(e,t){let r=function(e){let t=e.match(/data-copy-id="([^\s]+)"/);return t&&t[1]?t[1]:null}(e);return r&&this._copyContentCache.get(r)?this._pasteInternal(r,t):this._pasteExternal(e,t)}async _pasteExternal(e,t){var r;let{rowProperties:n,colProperties:i,cellMatrix:a}=this._htmlToUSM.convert(e);if(!a)return!1;let o=this._getPastedRange(a);if(!o)return!1;let s=null==(r=this._univerInstanceService.getUniverSheetInstance(o.unitId))?void 0:r.getSheetBySheetId(o.subUnitId);if(!s)return!1;let l=null==s?void 0:s.getMergeData();return l.length&&l.some(e=>JLe(e,o.pastedRange)&&!eke(o.pastedRange,e))?(this._errorService.emit(this._localeService.t("clipboard.paste.overlappingMergedCells")),!1):this._pasteUSM({rowProperties:n,colProperties:i,cellMatrix:a},o,t)}async _pasteInternal(e,t){var r,n;let i=this._copyContentCache.get(e),{range:a,matrix:o,unitId:s,subUnitId:l}=i||{};if(!(o&&i&&a&&s&&l))return!1;let{mapFunc:u}=GOe([a]),c=null==(r=this._univerInstanceService.getUniverSheetInstance(s))?void 0:r.getSheetBySheetId(l),d=new kd;o.forValue((e,t,r)=>{let{row:n,col:i}=u(e,t),a=null==c?void 0:c.getCellRaw(n,i),o=null==c?void 0:c.getComposedCellStyleByCellData(n,i,a),s=function(e){if(null==e)return e;let t={};return void 0!==e.p&&(t.p=null===e.p?null:Yf(e.p)),void 0!==e.s&&(null===e.s||"string"==typeof e.s?t.s=e.s:t.s=Yf(e.s)),void 0!==e.v&&(t.v=e.v),void 0!==e.t&&(t.t=e.t),void 0!==e.f&&(t.f=e.f),void 0!==e.ref&&(t.ref=e.ref),void 0!==e.xf&&(t.xf=e.xf),void 0!==e.si&&(t.si=e.si),void 0!==e.custom&&(t.custom=null===e.custom?null:Yf(e.custom)),void 0!==e.rowSpan&&(t.rowSpan=e.rowSpan),void 0!==e.colSpan&&(t.colSpan=e.colSpan),void 0!==e.plain&&(t.plain=e.plain),t}(r);if(o&&Object.keys(o).length>0&&(s.s=o),d.setValue(e,t,s),r.colSpan||r.rowSpan)for(let n=0;nJLe(e,h.pastedRange)&&!eke(h.pastedRange,e)))return this._errorService.emit(this._localeService.t("clipboard.paste.overlappingMergedCells")),!1;let g=this._univerInstanceService.getUnit(s);if(!g)return!1;let p=g.getSheetBySheetId(l);if(!p)return!1;let v=p.getColumnManager(),b=p.getRowManager(),C=[],y=[];if(a.cols.forEach(e=>{C.push({width:`${v.getColumnWidth(e)}`})}),a.rows.forEach(e=>{y.push({height:`${b.getRowHeight(e)}`})}),i.copyType===WLe.CUT){let e=h.pastedRange.rows[0],t=a.rows[a.rows.length-1]-a.rows[0]+e;h.pastedRange.rows=Array.from(Array(t+1).keys()).slice(e)}let _=this._pasteUSM({cellMatrix:d,colProperties:C,rowProperties:y},h,t,{range:a,unitId:i.unitId,subUnitId:i.subUnitId,copyType:i.copyType,copyId:e});return i.copyType===WLe.CUT&&(this._copyContentCache.set(e,{...i,matrix:null}),this._copyMarkId&&this._markSelectionService.removeShape(this._copyMarkId),this._copyMarkId=null),_}_pasteUSM(e,t,r,n){let{rowProperties:i,colProperties:a,cellMatrix:o}=e,{unitId:s,subUnitId:l,pastedRange:u}=t,c=this._clipboardHooks,d=[];if(c.some(e=>{var t;return d.push(e)&&!1===(null==(t=e.onBeforePaste)?void 0:t.call(e,{unitId:s,subUnitId:l,range:u}))}))return d.forEach(e=>{var t;return null==(t=e.onAfterPaste)?void 0:t.call(e,!1)}),!1;if(!o)return!1;let h=n?{unitId:n.unitId,subUnitId:n.subUnitId,range:n.range}:null,m={copyType:(null==n?void 0:n.copyType)||WLe.COPY,copyId:null==n?void 0:n.copyId,pasteType:r},f=[],g=[],p=d.filter(e=>!e.specialPasteInfo&&e.id!==rke.DEFAULT_PASTE||r===e.id);if(p.forEach(e=>{var t,n,i;let c=null==(t=e.onPasteRows)?void 0:t.call(e,{range:u,unitId:s,subUnitId:l});c&&(f.push(...c.redos),g.push(...c.undos));let d=null==(n=e.onPasteColumns)?void 0:n.call(e,{range:u,unitId:s,subUnitId:l},a||[],{pasteType:r});d&&(f.push(...d.redos),g.push(...d.undos));let p=null==(i=e.onPasteCells)?void 0:i.call(e,h,{range:u,unitId:s,subUnitId:l},o,m);p&&(f.push(...p.redos),g.push(...p.undos))}),m.copyType===WLe.COPY){let e=this._getSetSelectionOperation(s,l,u,o,r);e&&f.push(e)}f=KLe(f),g=KLe(g),f=f.flatMap(e=>$Le(e,{threshold:2e4,maxCellsPerChunk:1e4})),g=g.flatMap(e=>$Le(e,{threshold:2e4,maxCellsPerChunk:1e4})),g.push({id:fEe.id,params:{unitId:t.unitId,subUnitId:t.subUnitId}}),this._logService.log("[SheetClipboardService]","pasting mutations",{undoMutationsInfo:g,redoMutationsInfo:f});let v=f.every(e=>this._commandService.syncExecuteCommand(e.id,e.params));if(v){let e=this._getPastedRangeAutoHeightMutation(s,l,u);e&&(this._commandService.syncExecuteCommand(e.redo.id,e.redo.params),f.push(e.redo),g.unshift(e.undo)),this._undoRedoService.pushUndoRedo({unitID:s,undoMutations:g,redoMutations:f}),this.updatePasteOptionsCache({target:{pastedRange:u,unitId:s,subUnitId:l},cellMatrix:o,rowProperties:i,colProperties:a,pasteType:r,source:n}),this.setShowMenu(!0)}return p.forEach(e=>{var t;return null==(t=e.onAfterPaste)?void 0:t.call(e,v)}),v}_getPastedRangeAutoHeightMutation(e,t,r){var n,i;let a=null==(n=this._univerInstanceService.getUnit(e,Pi.UNIVER_SHEET))?void 0:n.getSheetBySheetId(t);if(!a)return null;let o=null==(i=this._renderManagerService.getRenderById(e))?void 0:i.with(vLe).ensureSkeleton(t);if(!o)return null;let s=a.getRowManager(),l=a.getConfig().defaultRowHeight,{rows:u,cols:c}=r,d=u[0],h=u[u.length-1],m=c[0],f=c[c.length-1],g=[];for(let e=d;e<=h;e++)if(!s.getRow(e)){let t=o.calculateAutoHeightInRange([{startRow:e,endRow:e,startColumn:m,endColumn:f}]).filter(e=>e.autoHeight!==l);g.push(...t)}if(g.length>0){let r={unitId:e,subUnitId:t,rowsAutoHeightInfo:g};return{redo:{id:hEe.id,params:r},undo:{id:hEe.id,params:uEe(r,a)}}}return null}_getSetSelectionOperation(e,t,r,n,i){var a;let o=null==(a=this._univerInstanceService.getUniverSheetInstance(e))?void 0:a.getSheetBySheetId(t);if(!o)return null;let{rows:s,cols:l}=r,u=s[0],c=l[0],d=s[s.length-1],h=l[l.length-1],m=cSe({startRow:u,endRow:u,startColumn:c,endColumn:c},o),f=n.getValue(0,0),g=(null==f?void 0:f.rowSpan)||1,p=(null==f?void 0:f.colSpan)||1;if((i===rke.DEFAULT_PASTE||i===rke.SPECIAL_PASTE_BESIDES_BORDER||i===rke.SPECIAL_PASTE_FORMAT)&&(g>1||p>1)){let e={startRow:u,endRow:u+g-1,startColumn:c,endColumn:c+p-1};m.startRow=e.startRow,m.endRow=e.endRow,m.startColumn=e.startColumn,m.endColumn=e.endColumn,m.isMerged=!0,m.isMergedMainCell=!0}let v={unitId:e,subUnitId:t,selections:[{range:{startRow:u,endRow:d,startColumn:c,endColumn:h},primary:m,style:null}]};return{id:vSe.id,params:v}}_getPastingTarget(){let e=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET),t=e.getActiveSheet(),r=this._selectionManagerService.getCurrentLastSelection();return{unitId:e.getUnitId(),subUnitId:null==t?void 0:t.getSheetId(),selection:r}}_transformPastedData(e,t,r){let{selection:n,unitId:i,subUnitId:a}=this._getPastingTarget();if(!a||!n)return null;let o=this._injector.invoke(e=>qEe(n.range,e,i,a));if(!o)return null;let{ranges:[s],mapFunc:l}=GOe([o]),{startRow:u,startColumn:c,endRow:d,endColumn:h}=s,m=d-u+1,f=h-c+1,g=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET),p=null==g?void 0:g.getActiveSheet();if(!p)return null;let v=p.getMergeData().filter(e=>o.rows.includes(e.startRow)&&o.cols.includes(e.startColumn)),b=v[0],C=0,y=0,_=0,w=0;if(b&&(C=b.startRow,y=b.startColumn,_=b.endRow,w=b.endColumn),m%e===0&&f%t===0)if(v.length>0&&(m!==e||f!==t))if(C===o.rows[0]&&y===o.cols[0]&&_===o.rows[m-1]&&w===o.cols[f-1])if(function(e){let t=0;return e.forValue((e,r,n)=>{if(n&&t++,t>1)return!1}),t>1}(r))for(let n=0;n{r.s=null,delete r.colSpan,delete r.rowSpan});else for(let n=0;n0){let{row:n,col:s}=l(u,c);if(this._topLeftCellsMatch(e,t,{topRow:n,leftCol:s})){let r=this._expandOrShrinkRowsCols(i,a,o,t,e);o.rows=r.rows,o.cols=r.cols}else{if(d>b.endRow||h>b.endColumn)return null;r.forValue((e,t,r)=>{r.s=null,delete r.colSpan,delete r.rowSpan})}}else{let r=this._expandOrShrinkRowsCols(i,a,o,t,e);o.rows=r.rows,o.cols=r.cols}return{pastedRange:o,unitId:i,subUnitId:a}}_getPastedRange(e){var t;let{selection:r,unitId:n,subUnitId:i}=this._getPastingTarget();if(!i||!r)return null;let a=this._injector.invoke(e=>qEe(r.range,e,n,i));if(!a)return null;let{startColumn:o,endColumn:s,startRow:l,endRow:u}=e.getDataRange(),c=u-l+1,d=s-o+1;if(c<=0||d<=0)return null;let h=a.rows.length,m=a.cols.length,f=null==(t=this._univerInstanceService.getUniverSheetInstance(n))?void 0:t.getSheetBySheetId(i);if(!f)return null;let g=null==f?void 0:f.getMergeData();if(h%c===0&&m%d===0&&(null==g||!g.some(e=>JLe(e,a)))){for(let t=0;t=i)a=s.slice(0,i);else{a=s.slice(0);let e=s[s.length-1]+1;for(;a.length=n)o=l.slice(0,n);else{o=l.slice(0);let e=l[l.length-1]+1;for(;o.lengthn.startRow<=e&&en.startColumn<=e&&e{e&&this.copyContentCache().clearWithUnitId(e.getUnitId())}))}disposePasteOptionsCache(){this.setShowMenu(!1),this.updatePasteOptionsCache(null)}};function oke(e){let t="",r=e.getLength();return e.forRow((n,i)=>{let a=[];i.forEach(t=>{let r=e.getValue(n,t);if(r){let e=function(e){return zf(e.displayV)?e.displayV:lg(e)}(r);a.push(e)}}),t+=a.join("\t"),n!==r-1&&(t+="\n")}),t}ake=pLe([gLe(0,kc),gLe(1,dg),gLe(2,Y(rSe)),gLe(3,qte),gLe(4,Pg),gLe(5,Vc),gLe(6,ELe),gLe(7,Mte),gLe(8,P8),gLe(9,kX),gLe(10,Y(Lg)),gLe(11,Y(Cg)),gLe(12,Y(Of)),gLe(13,Y(he))],ake);const ske={id:w8.id,name:"sheet.command.copy",type:Bc.COMMAND,multi:!0,priority:998,preconditions:FOe,handler:async e=>e.get(ike).copy()},lke={id:S8.id,name:"sheet.command.cut",type:Bc.COMMAND,multi:!0,priority:998,preconditions:FOe,handler:async e=>e.get(ike).cut()},uke={id:I8.id,type:Bc.COMMAND,multi:!0,name:"sheet.command.paste",priority:998,preconditions:FOe,handler:async(e,t)=>{let r=e.get(ike),n=e.get(qte);if(n.supportClipboard){let e=await n.read();if(0!==e.length)return r.paste(e[0],null==t?void 0:t.value)}let i=r.copyContentCache().getLastCopyId();return!!i&&(console.warn("Since the current environment does not support the Clipboard API, we will use the internal copyId to paste the content."),r.pasteByCopyId(i,null==t?void 0:t.value))}},cke={id:R8,type:Bc.COMMAND,handler:async(e,t)=>{let r=e.get(ike),{htmlContent:n,textContent:i,files:a}=t;return r.legacyPaste(n,i,a),!0}},dke={id:"sheet.command.paste-value",type:Bc.COMMAND,handler:async e=>e.get(Vc).executeCommand(uke.id,{value:rke.SPECIAL_PASTE_VALUE})},hke={id:"sheet.command.paste-format",type:Bc.COMMAND,handler:async e=>e.get(Vc).executeCommand(uke.id,{value:rke.SPECIAL_PASTE_FORMAT})},mke={id:"sheet.command.paste-col-width",type:Bc.COMMAND,handler:async e=>e.get(Vc).executeCommand(uke.id,{value:rke.SPECIAL_PASTE_COL_WIDTH})},fke={id:"sheet.command.paste-besides-border",type:Bc.COMMAND,handler:async e=>e.get(Vc).executeCommand(uke.id,{value:rke.SPECIAL_PASTE_BESIDES_BORDER})},gke={id:"sheet.command.optional-paste",type:Bc.COMMAND,handler:async(e,{type:t})=>e.get(ike).rePasteWithPasteType(t)},pke={type:Bc.COMMAND,id:"sheet.command.delete-range-move-left-confirm",handler:async e=>{let t=e.get(bf),r=e.get(Vc),n=e.get(Cg),i=e.get(rSe),a=e.get(dg),o=i.getCurrentSelections();if(!o)return!1;let s=W_e(a);if(!s)return!1;let{worksheet:l}=s,u=o[0].range;if(!u)return!1;u={...u,endColumn:l.getColumnCount()-1};let c=e=>e.endRow-e.startRow;return!(!l.getMergeData().find(e=>{let t=Oh.getIntersects(e,u);return!!t&&c(e)>c(t)})||await t.confirm({id:pke.id,title:{title:n.t("merge.confirm.warning")},children:{title:n.t("merge.confirm.dismantleMergeCellWarning")},cancelText:n.t("button.cancel"),confirmText:n.t("button.confirm")}))||r.executeCommand(vAe.id)}},vke={type:Bc.COMMAND,id:"sheet.command.delete-range-move-up-confirm",handler:async e=>{let t=e.get(bf),r=e.get(Vc),n=e.get(Cg),i=e.get(rSe),a=e.get(dg),o=i.getCurrentSelections();if(!o)return!1;let s=W_e(a);if(!s)return!1;let{worksheet:l}=s,u=o[0].range;if(!u)return!1;u={...u,endRow:l.getRowCount()-1};for(let e=u.startRow;e<=u.endRow;e++)if(l.getRowFiltered(e)&&await t.confirm({id:vke.id,title:{title:n.t("filter.confirm.error")},children:{title:n.t("filter.confirm.notAllowedToInsertRange")},confirmText:n.t("button.confirm")}))return!1;let c=e=>e.endColumn-e.startColumn;return!(!l.getMergeData().find(e=>{let t=Oh.getIntersects(e,u);return!!t&&c(e)>c(t)})||await t.confirm({id:vke.id,title:{title:n.t("merge.confirm.warning")},children:{title:n.t("merge.confirm.dismantleMergeCellWarning")},cancelText:n.t("button.cancel"),confirmText:n.t("button.confirm")}))||r.executeCommand(CAe.id)}};function bke(e,t,r,n,i=!0,a=1,o=!0){let s,l={...e};switch(null==n&&(n={startRow:0,endRow:r.getRowCount()-1,startColumn:0,endColumn:r.getColumnCount()-1}),t){case Eu.UP:for(s=e.startRow-a;s>-1&&!r.getRowVisible(s);)--s;s>=n.startRow?(l.startRow=s,l.endRow=s):o&&(l.startRow=n.endRow,l.endRow=n.endRow,i&&(l=bke(l,Eu.LEFT,r,n,!1)));break;case Eu.DOWN:for(s=e.endRow+a;s-1&&!r.getColVisible(s);)--s;s>=n.startColumn?(l.startColumn=s,l.endColumn=s):o&&(l.startColumn=n.endColumn,l.endColumn=n.endColumn,i&&(l=bke(l,Eu.UP,r,n,!1)));break;case Eu.RIGHT:for(s=e.endColumn+a;s-1&&!r.getRowVisible(e);)--e;if(-1===e){c=!1;break}let{hasValue:t,matrix:i}=Eke(r,e,n.startColumn,e,n.endColumn);if(l&&!t&&!u){c=!1;break}if(0!==i.getLength()){let t=e;i.forValue(e=>{t=Math.min(e,t)}),n.startRow=t}else n.startRow=e;if(n.endRow=n.startRow,!l&&t){c=!1;break}l=t,u=!1}if(Eu.DOWN===t){let e=n.endRow+1;for(;e{t=Math.max(e+(n.rowSpan||1)-1,t)}),n.endRow=t}else n.endRow=e;if(n.startRow=n.endRow,!l&&t){c=!1;break}l=t,u=!1}if(Eu.LEFT===t){let e=n.startColumn-1;for(;e>-1&&!r.getColVisible(e);)--e;if(-1===e){c=!1;break}let{hasValue:t,matrix:i}=Eke(r,n.startRow,e,n.endRow,e);if(l&&!t&&!u){c=!1;break}if(0!==i.getLength()){let t=e;i.forValue((e,r)=>{t=Math.min(r,t)}),n.startColumn=t}else n.startColumn=e;if(n.endColumn=n.startColumn,!l&&t){c=!1;break}l=t,u=!1}if(Eu.RIGHT===t){let e=n.endColumn+1;for(;e{t=Math.max(r+(n.colSpan||1)-1,t)}),n.endColumn=t}else n.endColumn=e;if(n.startColumn=n.endColumn,!l&&t){c=!1;break}l=t,u=!1}}return sSe(n,r,!0)}function yke(e,t,r){return bke(e,t,r,void 0,!1,1,!1)}function _ke(e){return{startRow:0,startColumn:0,endRow:e.getRowCount()-1,endColumn:e.getColumnCount()-1,rangeType:pd.ALL}}function wke(e,t,r){let n;switch(t){case Eu.UP:n={startRow:e.startRow,startColumn:e.startColumn,endRow:e.startRow,endColumn:e.endColumn,rangeType:pd.NORMAL};break;case Eu.DOWN:n={startRow:e.endRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn,rangeType:pd.NORMAL};break;case Eu.LEFT:n={startRow:e.startRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.startColumn,rangeType:pd.NORMAL};break;case Eu.RIGHT:n={startRow:e.startRow,startColumn:e.endColumn,endRow:e.endRow,endColumn:e.endColumn,rangeType:pd.NORMAL};break;default:throw Error("Invalid direction")}return sSe(n,r,!1)}function Eke(e,t,r,n,i){let a=!1,o=e.getMatrixWithMergedCells(t,r,n,i).forValue((e,t,r)=>{if(function(e){return void 0!==e.v&&null!==e.v&&""!==e.v||void 0!==e.p}(r))return a=!0,!1});return{hasValue:a,matrix:o}}function Ske(e,t,r){let n=Oh.clone(e);if(null==t)return n;switch(r){case Eu.UP:case Eu.DOWN:n.startColumn=n.endColumn=t.actualColumn;break;case Eu.LEFT:case Eu.RIGHT:n.startRow=n.endRow=t.actualRow}return n}function Ake(e,t){let r=e[0].startRow,n=e[0].endRow;e.forEach(e=>{let{startRow:t,endRow:i}=e;r=Math.min(r,t),n=Math.max(n,i)});let i=Array(n-r+1).fill(!1);return t.forEach(e=>{let{startRow:t,endRow:a}=e;for(let e=Math.max(t,r);e<=Math.min(a,n);e++)i[e-r]=!0}),e.every(e=>{let{startRow:t,endRow:n}=e;for(let e=t;e<=n;e++)if(!i[e-r])return!1;return!0})}function Ike(e,t){let r=e[0].startColumn,n=e[0].endColumn;e.forEach(e=>{let{startColumn:t,endColumn:i}=e;r=Math.min(r,t),n=Math.max(n,i)});let i=Array(n-r+1).fill(!1);return t.forEach(e=>{let{startColumn:t,endColumn:a}=e;for(let e=Math.max(t,r);e<=Math.min(a,n);e++)i[e-r]=!0}),e.every(e=>{let{startColumn:t,endColumn:n}=e;for(let e=t;e<=n;e++)if(!i[e-r])return!1;return!0})}const Rke={id:"sheet.command.hide-row-confirm",type:Bc.COMMAND,handler:async e=>{var t;let r=null==(t=e.get(rSe).getCurrentSelections())?void 0:t.map(e=>e.range);if(null==r||!r.length)return!1;let n=e.get(Vc),i=W_e(e.get(dg));if(!i)return!1;let{worksheet:a}=i;if(Ake(a.getVisibleRows(),r)){let t=e.get(bf),r=e.get(Cg);return await t.confirm({id:"sheet.confirm.hide-row",title:{title:r.t("info.problem")},children:{title:r.t("rightClick.hideAllRowsAlert")},cancelText:r.t("button.cancel"),confirmText:r.t("button.confirm")}),!1}return await n.executeCommand(gTe.id),!0}},xke={id:"sheet.command.hide-col-confirm",type:Bc.COMMAND,handler:async e=>{var t;let r=null==(t=e.get(rSe).getCurrentSelections())?void 0:t.map(e=>e.range);if(null==r||!r.length)return!1;let n=e.get(Vc),i=W_e(e.get(dg));if(!i)return!1;let{worksheet:a}=i;if(Ike(a.getVisibleCols(),r)){let t=e.get(bf),r=e.get(Cg);return await t.confirm({id:"sheet.confirm.hide-col",title:{title:r.t("info.problem")},children:{title:r.t("rightClick.hideAllColumnsAlert")},cancelText:r.t("button.cancel"),confirmText:r.t("button.confirm")}),!1}return await n.executeCommand(eTe.id),!0}};function Tke(e){var t,r;let n=e.get(dg),i=e.get(GX),a=null==(t=e.get(joe).getFocusId())?El:t,o=n.getUnit(a,Pi.UNIVER_DOC),s=i.getActiveTextRange();if(null==o||null==s)return null;let l=null==(r=o.getBody())?void 0:r.textRuns;if(null==l)return;let{startOffset:u,endOffset:c}=s;return l.find(({st:e,ed:t})=>u>=e&&c<=t)}const Nke={type:Bc.COMMAND,id:"sheet.command.set-range-bold",handler:async e=>{let t=e.get(Vc);return e.get(Mc).getContextValue(Sf)?t.executeCommand(Die.id):t.executeCommand(mRe.id)}},Mke={type:Bc.COMMAND,id:"sheet.command.set-range-italic",handler:async e=>{let t=e.get(Vc);return e.get(Mc).getContextValue(Sf)?t.executeCommand(Bie.id):t.executeCommand(fRe.id)}},Oke={type:Bc.COMMAND,id:"sheet.command.set-range-underline",handler:async e=>{let t=e.get(Vc);return e.get(Mc).getContextValue(Sf)?t.executeCommand(Fie.id):t.executeCommand(gRe.id)}},Lke={type:Bc.COMMAND,id:"sheet.command.set-range-stroke",handler:async e=>{let t=e.get(Vc);return e.get(Mc).getContextValue(Sf)?t.executeCommand(Hie.id):t.executeCommand(pRe.id)}},kke={type:Bc.COMMAND,id:"sheet.command.set-range-subscript",handler:async e=>{let t=e.get(Vc);return!!e.get(Mc).getContextValue(Sf)&&t.executeCommand(zie.id)}},Pke={type:Bc.COMMAND,id:"sheet.command.set-range-superscript",handler:async e=>{let t=e.get(Vc);return!!e.get(Mc).getContextValue(Sf)&&t.executeCommand(qie.id)}},Dke={type:Bc.COMMAND,id:"sheet.command.set-range-fontsize",handler:async(e,t)=>{let r=e.get(Vc);return e.get(Mc).getContextValue(Sf)?r.executeCommand(Yie.id,t):r.executeCommand(bRe.id,t)}},Uke={type:Bc.COMMAND,id:"sheet.command.set-range-font-increase",handler:async e=>{var t;let r=e.get(dg),n=e.get(Vc),i=e.get(Mc).getContextValue(Sf),a=e.get(rSe),o=vh.fs,s=r.getCurrentUnitOfType(Pi.UNIVER_SHEET).getActiveSheet(),l=null==(t=a.getCurrentLastSelection())?void 0:t.primary,u={value:o};if(i){let t=Tke(e);if(null!=t){var c,d;let e=null==(c=null==(d=t.ts)?void 0:d.fs)?o:c;u.value=e>=400?400:e+1}return n.executeCommand(Yie.id,u)}if(null!=l){var h;let e=null==(h=s.getComposedCellStyle(l.startRow,l.startColumn).fs)?o:h;return u.value=e>=400?400:e+1,n.executeCommand(bRe.id,u)}return!1}},Bke={type:Bc.COMMAND,id:"sheet.command.set-range-font-decrease",handler:async e=>{var t;let r=e.get(dg),n=e.get(Vc),i=e.get(Mc).getContextValue(Sf),a=e.get(rSe),o=vh.fs,s=r.getCurrentUnitOfType(Pi.UNIVER_SHEET).getActiveSheet(),l=null==(t=a.getCurrentLastSelection())?void 0:t.primary,u={value:o};if(i){let t=Tke(e);if(null!=t){var c,d;let e=null==(c=null==(d=t.ts)?void 0:d.fs)?o:c;u.value=e<=6?6:e-1}return n.executeCommand(Yie.id,u)}if(null!=l){var h;let e=null==(h=s.getComposedCellStyle(l.startRow,l.startColumn).fs)?o:h;return u.value=e<=6?6:e-1,n.executeCommand(bRe.id,u)}return!1}},Vke={type:Bc.COMMAND,id:"sheet.command.set-range-font-family",handler:async(e,t)=>{let r=e.get(Vc);return e.get(Mc).getContextValue(Sf)?r.executeCommand(Zie.id,t):r.executeCommand(vRe.id,t)}},Fke={type:Bc.COMMAND,id:"sheet.command.set-range-text-color",handler:async(e,t)=>{let r=e.get(Vc);return e.get(Mc).getContextValue(Sf)?r.executeCommand($ie.id,t):r.executeCommand(CRe.id,t)}},jke={type:Bc.COMMAND,id:"sheet.command.reset-range-text-color",handler:async e=>{let t=e.get(Vc),r=e.get(Mc).getContextValue(Sf),n=e.get(Lg);return r?t.executeCommand($ie.id,{value:null}):t.executeCommand(CRe.id,{value:n.getColorFromTheme("gray.900")})}},Hke={type:Bc.COMMAND,id:"sheet.command.insert-range-move-down-confirm",handler:async e=>{let t=e.get(bf),r=e.get(Vc),n=e.get(Cg),i=e.get(rSe),a=e.get(dg),o=i.getCurrentSelections();if(!o)return!1;let s=W_e(a);if(!s)return!1;let{worksheet:l}=s,u=o[0].range;if(!u)return!1;u={...u,endRow:l.getRowCount()-1};for(let e=u.startRow;e<=u.endRow;e++)if(l.getRowFiltered(e)&&await t.confirm({id:Hke.id,title:{title:n.t("filter.confirm.error")},children:{title:n.t("filter.confirm.notAllowedToInsertRange")},confirmText:n.t("button.confirm")}))return!1;let c=e=>e.endColumn-e.startColumn;return!(!l.getMergeData().find(e=>{let t=Oh.getIntersects(e,u);return!!t&&c(e)>c(t)})||await t.confirm({id:Hke.id,title:{title:n.t("merge.confirm.warning")},children:{title:n.t("merge.confirm.dismantleMergeCellWarning")},cancelText:n.t("button.cancel"),confirmText:n.t("button.confirm")}))||r.executeCommand(_Ae.id)}},Wke={type:Bc.COMMAND,id:"sheet.command.insert-range-move-right-confirm",handler:async e=>{let t=e.get(bf),r=e.get(Vc),n=e.get(Cg),i=e.get(rSe),a=e.get(dg),o=i.getCurrentSelections();if(!o)return!1;let s=W_e(a);if(!s)return!1;let{worksheet:l}=s,u=o[0].range;if(!u)return!1;u={...u,endColumn:l.getColumnCount()-1};let c=e=>e.endRow-e.startRow;return!(!l.getMergeData().find(e=>{let t=Oh.getIntersects(e,u);return!!t&&c(e)>c(t)})||await t.confirm({id:Wke.id,title:{title:n.t("merge.confirm.warning")},children:{title:n.t("merge.confirm.dismantleMergeCellWarning")},cancelText:n.t("button.cancel"),confirmText:n.t("button.confirm")}))||r.executeCommand(EAe.id)}},zke="UNIVER_SHEET_PERMISSION_PANEL",Xke="UNIVER_SHEET_PERMISSION_USER_PART",qke="UNIVER_SHEET_PERMISSION_USER_DIALOG",Gke="UNIVER_SHEET_PERMISSION_DIALOG",Yke="UNIVER_SHEET_PERMISSION_USER_DIALOG_ID",Qke="UNIVER_SHEET_PERMISSION_DIALOG_ID",Zke={[Di.Copy]:"Copy",[Di.SetCellStyle]:"SetCellStyle",[Di.SetCellValue]:"SetCellValue",[Di.SetRowStyle]:"SetRowStyle",[Di.SetColumnStyle]:"SetColumnStyle",[Di.InsertRow]:"InsertRow",[Di.InsertColumn]:"InsertColumn",[Di.InsertHyperlink]:"InsertHyperlink",[Di.DeleteRow]:"DeleteRow",[Di.DeleteColumn]:"DeleteColumn",[Di.Sort]:"Sort",[Di.Filter]:"Filter",[Di.PivotTable]:"PivotTable",[Di.EditExtraObject]:"EditExtraObject"},Kke=[Di.Copy,Di.SetCellStyle,Di.SetCellValue,Di.SetRowStyle,Di.SetColumnStyle,Di.InsertRow,Di.InsertColumn,Di.InsertHyperlink,Di.DeleteRow,Di.DeleteColumn,Di.Sort,Di.Filter,Di.PivotTable,Di.EditExtraObject,Di.View],$ke="sheet-permission-menu-icon",Jke="sheet-permission-lock-icon",ePe={unitId:"",subUnitId:"",permissionId:"",unitType:Bi.SelectRange,id:"",ranges:[],viewState:YEe.OthersCanView,editState:QEe.OnlyMe};var tPe=class{constructor(){nLe(this,"_rule",ePe),nLe(this,"_visible",!1)}setVisible(e){this._visible=e}getVisible(){return this._visible}reset(){this.setVisible(!1)}},rPe=class{constructor(){nLe(this,"_userList",[]),nLe(this,"_userList$",new Qn(this._userList)),nLe(this,"userList$",this._userList$.asObservable()),nLe(this,"_oldCollaboratorList",[]),nLe(this,"_selectUserList",[]),nLe(this,"_selectUserList$",new Qn(this._selectUserList)),nLe(this,"selectUserList$",this._selectUserList$.asObservable())}get userList(){return this._userList}setCanEditUserList(e){this._userList=e,this._userList$.next(e)}reset(){this._userList=[],this._oldCollaboratorList=[],this._selectUserList=[],this._selectUserList$.next([])}get oldCollaboratorList(){return this._oldCollaboratorList}setOldCollaboratorList(e){this._oldCollaboratorList=e}get selectUserList(){return this._selectUserList}setSelectUserList(e){this._selectUserList=e,this._selectUserList$.next(e)}};const nPe={type:Bc.OPERATION,id:"sheet-permission.operation.openPanel",async handler(e,t={}){let r=e.get(V5),n=e.get(tPe),i=e.get(rPe),{showDetail:a=!0,fromSheetBar:o=!1,rule:s,oldRule:l}=t,u={header:{title:"permission.panel.title"},children:{label:zke,showDetail:a,fromSheetBar:o,rule:s,oldRule:l},width:330,onClose:()=>{n.reset(),i.reset()}};return n.setVisible(!0),r.open(u),!0}},iPe={type:Bc.COMMAND,id:"sheet.command.add-range-protection-from-toolbar",handler:async e=>(await e.get(Vc).executeCommand(nPe.id,{showDetail:!0}),!0)},aPe={type:Bc.COMMAND,id:"sheet.command.add-range-protection-from-context-menu",handler:async e=>(await e.get(Vc).executeCommand(nPe.id,{showDetail:!0}),!0)},oPe={type:Bc.COMMAND,id:"sheet.command.view-sheet-permission-from-context-menu",handler:async e=>(await e.get(Vc).executeCommand(nPe.id,{showDetail:!1}),!0)},sPe={type:Bc.COMMAND,id:"sheet.command.add-range-protection-from-sheet-bar",handler:async e=>(await e.get(Vc).executeCommand(nPe.id,{fromSheetBar:!0,showDetail:!0}),!0)},lPe={type:Bc.COMMAND,id:"sheet.command.view-sheet-permission-from-sheet-bar",handler:async e=>(await e.get(Vc).executeCommand(nPe.id,{showDetail:!1}),!0)},uPe={type:Bc.COMMAND,id:"sheet.command.delete-range-protection-from-context-menu",async handler(e){let t=e.get(Vc),r=e.get(dg),n=e.get(Pg),i=e.get(rSe),a=e.get(aRe),o=r.getCurrentUnitForType(Pi.UNIVER_SHEET),s=o.getActiveSheet(),l=o.getUnitId(),u=s.getSheetId(),c=a.getRule(l,u);if(null!=c&&c.permissionId)return t.executeCommand(Lxe.id,{unitId:l,subUnitId:u,rule:c});{var d;let r=null==(d=i.getCurrentLastSelection())?void 0:d.range;if(!r)return!1;let a=e.get(ZEe).getSubunitRuleList(l,u).find(e=>e.ranges.some(e=>Oh.intersects(e,r)));if(a){let e={unitId:l,subUnitId:u,ruleIds:[a.id]};return await t.executeCommand(KEe.id,e)&&n.pushUndoRedo({unitID:l,redoMutations:[{id:KEe.id,params:e}],undoMutations:[{id:$Ee.id,params:{unitId:l,subUnitId:u,rules:[a]}}]}),!0}return!1}}},cPe={type:Bc.COMMAND,id:"sheet.command.set-range-protection-from-context-menu",async handler(e){let t=e.get(Vc),r=e.get(dg),n=e.get(rSe),i=e.get(aRe),a=r.getCurrentUnitForType(Pi.UNIVER_SHEET),o=a.getActiveSheet(),s=a.getUnitId(),l=o.getSheetId(),u=i.getRule(s,l);if(null!=u&&u.permissionId){let e={...u,unitId:s,subUnitId:l,ranges:[]};return await t.executeCommand(nPe.id,{showDetail:!0,rule:uu.deepClone(e),oldRule:uu.deepClone(e)}),!0}{var c;let r=null==(c=n.getCurrentLastSelection())?void 0:c.range;if(!r)return!1;let i=e.get(ZEe).getSubunitRuleList(s,l).find(e=>{var t;return null==e||null==(t=e.ranges)?void 0:t.some(e=>Oh.intersects(e,r))});if(i){let e={...i,unitId:s,subUnitId:l};return await t.executeCommand(nPe.id,{showDetail:!0,rule:uu.deepClone(e),oldRule:uu.deepClone(e)}),!0}return!1}}},dPe={id:"sheet.command.remove-row-confirm",type:Bc.COMMAND,handler:async(e,t)=>{let r=e.get(rSe),n=null==t?void 0:t.range;var i;if(n||(n=null==(i=r.getCurrentLastSelection())?void 0:i.range),!n)return!1;let a=e.get(Vc),o=W_e(e.get(dg));if(!o)return!1;let{worksheet:s}=o;if(Ake(s.getVisibleRows(),[n])){let t=e.get(bf),r=e.get(Cg);return await t.confirm({id:"sheet.confirm.remove-row",title:{title:r.t("info.problem")},children:{title:r.t("rightClick.deleteAllRowsAlert")},cancelText:r.t("button.cancel"),confirmText:r.t("button.confirm")}),!1}return await a.executeCommand(jAe.id,{range:n}),!0}},hPe={id:"sheet.command.remove-col-confirm",type:Bc.COMMAND,handler:async(e,t)=>{let r=e.get(rSe),n=null==t?void 0:t.range;var i;if(n||(n=null==(i=r.getCurrentLastSelection())?void 0:i.range),!n)return!1;let a=e.get(Vc),o=W_e(e.get(dg));if(!o)return!1;let{worksheet:s}=o;if(Ike(s.getVisibleCols(),[n])){let t=e.get(bf),r=e.get(Cg);return await t.confirm({id:"sheet.confirm.remove-col",title:{title:r.t("info.problem")},children:{title:r.t("rightClick.deleteAllColumnsAlert")},cancelText:r.t("button.cancel"),confirmText:r.t("button.confirm")}),!1}return await a.executeCommand(zAe.id,{range:n}),!0}},mPe={id:"sheet.command.remove-sheet-confirm",type:Bc.COMMAND,handler:async(e,t)=>{let{subUnitId:r}=t,n=e.get(bf),i=e.get(Vc),a=e.get(Cg),o=e.get(Tc),s=W_e(e.get(dg),{subUnitId:r});if(!s)return!1;let{worksheet:l}=s,u=o.getConfig(Exe),c={...Sxe,...null==u?void 0:u.largeSheetOperation},d=eIe(l.getCellMatrix())>=c.largeSheetCellCountThreshold;return!!await n.confirm({id:"sheet.confirm.remove-sheet",title:{title:a.t("sheetConfig.deleteSheet")},children:{title:d?a.t("sheetConfig.deleteLargeSheetContent"):a.t("sheetConfig.deleteSheetContent")},cancelText:a.t("button.cancel"),confirmText:a.t("button.confirm")})&&(await i.executeCommand(Hxe.id,{subUnitId:r}),!0)}};let fPe=function(e){return e[e.OFF=0]="OFF",e[e.ONCE=1]="ONCE",e[e.INFINITE=2]="INFINITE",e}({});const gPe=V("univer.format-painter-service");let pPe=class extends tu{constructor(e,t,r,n,i,a){super(),this._selectionManagerService=e,this._themeService=t,this._markSelectionService=r,this._logService=n,this._commandService=i,this._undoRedoService=a,nLe(this,"status$",void 0),nLe(this,"_selectionFormat",void 0),nLe(this,"_markId",null),nLe(this,"_status$",void 0),nLe(this,"_defaultHook",null),nLe(this,"_extendHooks",[]),this._status$=new Qn(fPe.OFF),this.status$=this._status$.asObservable(),this._selectionFormat={styles:new kd,merges:[]}}addHook(e){var t,r,n;e.isDefaultHook&&(null==(t=e.priority)?0:t)>(null==(r=null==(n=this._defaultHook)?void 0:n.priority)?-1:r)?this._defaultHook=e:(this._extendHooks.push(e),this._extendHooks.sort((e,t)=>(e.priority||0)-(t.priority||0)))}getHooks(){return this._defaultHook?[this._defaultHook,...this._extendHooks]:this._extendHooks}setStatus(e){this._updateRangeMark(e),this._status$.next(e),this.getHooks().forEach(t=>{void 0!==t.onStatusChange&&t.onStatusChange(e)})}getStatus(){return this._status$.getValue()}setSelectionFormat(e){this._selectionFormat=e}getSelectionFormat(){return this._selectionFormat}applyFormatPainter(e,t,r){let n=this.getHooks(),i=[],a=[];n.forEach(n=>{if(void 0!==n.onApply){let o=n.onApply(e,t,r,this._selectionFormat);o&&(i.push(...o.redos),a.push(...o.undos))}});for(let o of n)if(void 0!==o.onBeforeApply&&!o.onBeforeApply({unitId:e,subUnitId:t,range:r,redoMutationsInfo:i,format:this._selectionFormat,undoMutationsInfo:a}))return!1;this._logService.log("[FormatPainterService]","apply mutations",{undoMutationsInfo:a,redoMutationsInfo:i});let o=i.every(e=>this._commandService.executeCommand(e.id,e.params));return o&&this._undoRedoService.pushUndoRedo({unitID:e,undoMutations:a,redoMutations:i}),o}_updateRangeMark(e){if(this._markSelectionService.removeAllShapes(),e!==fPe.OFF){let t=this._selectionManagerService.getCurrentLastSelection();if(t){let r=ALe(this._themeService);e===fPe.INFINITE?this._markId=this._markSelectionService.addShape({...t,style:r}):this._markId=this._markSelectionService.addShape({...t,style:r},[Kwe.id])}}}};pPe=pLe([gLe(0,Y(rSe)),gLe(1,Y(Lg)),gLe(2,ELe),gLe(3,kc),gLe(4,Vc),gLe(5,Pg)],pPe);const vPe={id:"sheet.operation.set-format-painter",type:Bc.OPERATION,handler:(e,t)=>!!t&&(e.get(gPe).setStatus(t.status),!0)},bPe={type:Bc.COMMAND,id:"sheet.command.set-infinite-format-painter",handler:async e=>{let t;return t=e.get(gPe).getStatus()===fPe.OFF?fPe.INFINITE:fPe.OFF,e.get(Vc).executeCommand(vPe.id,{status:t})}},CPe={type:Bc.COMMAND,id:"sheet.command.set-once-format-painter",handler:async e=>{let t;return t=e.get(gPe).getStatus()===fPe.OFF?fPe.ONCE:fPe.OFF,e.get(Vc).executeCommand(vPe.id,{status:t})}},yPe={type:Bc.COMMAND,id:"sheet.command.apply-format-painter",handler:async(e,t)=>e.get(gPe).applyFormatPainter(t.unitId,t.subUnitId,t.range)};let _Pe=class{constructor(e,t){this._context=e,this._sheetSkeletonManagerService=t,nLe(this,"_scrollStateMap",new Map),nLe(this,"_rawScrollInfo$",new Qn(null)),nLe(this,"rawScrollInfo$",this._rawScrollInfo$.asObservable()),nLe(this,"validViewportScrollInfo$",new Qn(null)),nLe(this,"_searchParamForScroll",null)}dispose(){this._rawScrollInfo$.complete()}calcViewportScrollFromRowColOffset(e){if(!e)return{viewportScrollX:0,viewportScrollY:0};let{sheetViewStartColumn:t,sheetViewStartRow:r,offsetX:n,offsetY:i}=e;r=r||0,i=i||0;let a=this._sheetSkeletonManagerService.getCurrentSkeleton(),o=(null==a?void 0:a.rowHeightAccumulation[r-1])||0;return{viewportScrollX:((null==a?void 0:a.columnWidthAccumulation[t-1])||0)+n,viewportScrollY:o+i}}setSearchParam(e){this._searchParamForScroll=e}getScrollStateByParam(e){return this._getCurrentScroll(e)}getCurrentScrollState(){return this._getCurrentScroll(this._searchParamForScroll)}setValidScrollState(e){this._setScrollState(e)}emitRawScrollParam(e){this._emitRawScroll(e)}setValidScrollStateToCurrSheet(e){if(null==this._searchParamForScroll)return;this._setScrollState({...this._searchParamForScroll,...e});let t=this._searchParamForScroll.sheetId,r=this._sheetSkeletonManagerService.getSkeleton(t);r&&r.setScroll(e.viewportScrollX,e.viewportScrollY)}clear(){null!=this._searchParamForScroll&&this._clearByParamAndNotify(this._searchParamForScroll)}_setScrollState(e){let{unitId:t,sheetId:r,sheetViewStartColumn:n,sheetViewStartRow:i,offsetX:a,offsetY:o}=e;this._scrollStateMap.has(t)||this._scrollStateMap.set(t,new Map);let s={sheetViewStartRow:i,sheetViewStartColumn:n,offsetX:a,offsetY:o};this._scrollStateMap.get(t).set(r,s)}_clearByParamAndNotify(e){this._setScrollState({...e,sheetViewStartRow:0,sheetViewStartColumn:0,offsetX:0,offsetY:0}),this._emitRawScroll({sheetViewStartRow:0,sheetViewStartColumn:0,offsetX:0,offsetY:0})}_getCurrentScroll(e){var t;let r={sheetViewStartRow:0,sheetViewStartColumn:0,offsetX:0,offsetY:0};if(null==e)return r;let{unitId:n,sheetId:i}=e;return(null==(t=this._scrollStateMap.get(n))?void 0:t.get(i))||r}_emitRawScroll(e){this._rawScrollInfo$.next(e)}};_Pe=pLe([gLe(1,Y(vLe))],_Pe);let wPe=function(e){return e[e.RowColumn=0]="RowColumn",e[e.Row=1]="Row",e[e.Column=2]="Column",e[e.FirstRow=3]="FirstRow",e[e.FirstColumn=4]="FirstColumn",e}({});const EPe={type:Bc.COMMAND,id:"sheet.command.set-selection-frozen",handler:async(e,t)=>{let{type:r}=t||{},n=e.get(dg),i=e.get(Pg),a=W_e(n);if(!a)return!1;let{unitId:o,subUnitId:s}=a,l=e.get(Vc),u=e.get(rSe).getCurrentSelections();if(!u)return!1;let c,d,h,m,{sheetViewStartRow:f=0,sheetViewStartColumn:g=0}=e.get(kX).getRenderById(o).with(_Pe).getCurrentScrollState()||{};if(r===wPe.FirstRow)c=f+1,h=1,d=-1,m=0;else if(r===wPe.FirstColumn)c=-1,h=0,d=g+1,m=1;else{var p,v;let{primary:e,range:t}=u[(null==u?void 0:u.length)-1],n=null==(p=null==e?void 0:e.startRow)?t.startRow:p;0===n&&(n=1);let i=null==(v=null==e?void 0:e.startColumn)?t.startColumn:v;0===i&&(i=1);let a=t.rangeType;if(a===pd.ROW||r===wPe.Row)c=n,h=n-f,d=-1,m=0;else if(a===pd.COLUMN||r===wPe.Column)c=-1,h=0,d=i,m=i-g;else{if(a!==pd.NORMAL)return!1;c=n,h=n-f,d=i,m=i-g}}let b={unitId:o,subUnitId:s,startRow:c,startColumn:d,xSplit:d>0?Math.max(1,m):m,ySplit:c>0?Math.max(1,h):h},C=nTe(e,b);return l.syncExecuteCommand(iTe.id,b)&&i.pushUndoRedo({unitID:o,undoMutations:[{id:iTe.id,params:C}],redoMutations:[{id:iTe.id,params:b}]}),!0}},SPe={type:Bc.COMMAND,id:"sheet.command.set-row-frozen",handler:async e=>(e.get(Vc).executeCommand(EPe.id,{type:wPe.Row}),!0)},APe={type:Bc.COMMAND,id:"sheet.command.set-col-frozen",handler:async e=>(e.get(Vc).executeCommand(EPe.id,{type:wPe.Column}),!0)},IPe={type:Bc.COMMAND,id:"sheet.command.set-first-row-frozen",handler:async e=>(e.get(Vc).executeCommand(EPe.id,{type:wPe.FirstRow}),!0)},RPe={type:Bc.COMMAND,id:"sheet.command.set-first-column-frozen",handler:async e=>(e.get(Vc).executeCommand(EPe.id,{type:wPe.FirstColumn}),!0)};var xPe=class extends tu{constructor(...e){super(...e),nLe(this,"rangesStack",[]),nLe(this,"selectedRangeWorksheet","")}};let TPe=class{constructor(e,t){this._univerInstanceService=e,this._localeService=t,nLe(this,"_current",null),nLe(this,"_shortcutParam",[])}dispose(){this._shortcutParam=[]}getCurrentBySearch(e){return this._getCurrentBySearch(e)}getCurrent(){return this._getCurrentBySearch(this._current)}addOrUpdate(e){let t=this._getCurrentBySearch({unitId:e.unitId,sheetId:e.sheetId,keycode:e.keycode});if(null!=t){let e=this._shortcutParam.indexOf(t);this._shortcutParam.splice(e,1)}return this._shortcutParam.push(e),t}remove(e){if(null==e)return;let t=this._getCurrentBySearch(e);if(null==t)return;let r=this._shortcutParam.indexOf(t);return this._shortcutParam.splice(r,1)[0]}_getCurrentBySearch(e){if(null!=e)return this._shortcutParam.find(t=>t.unitId===e.unitId&&t.sheetId===e.sheetId&&t.keycode===e.keycode)}};TPe=pLe([gLe(0,dg),gLe(1,Y(Cg))],TPe);let NPe=function(e){return e[e.moveStopeOne=0]="moveStopeOne",e[e.moveGap=1]="moveGap",e[e.moveStepPage=2]="moveStepPage",e[e.moveStepEnd=3]="moveStepEnd",e}({});const MPe={id:"sheet.command.move-selection",type:Bc.COMMAND,handler:(e,t)=>{if(!t)return!1;let r=W_e(e.get(dg));if(!r)return!1;let{workbook:n,worksheet:i}=r,a=pSe(e,t.fromCurrentSelection).getCurrentLastSelection();if(!a)return!1;let{direction:o,jumpOver:s,extra:l}=t,{range:u,primary:c}=a;if("formula-editor"===l){if(u.startRow===u.endRow&&u.startColumn===u.endColumn){let e=i.getMergedCell(u.startRow,u.startColumn);e&&(u={...u,...e})}if(!c){let r=pSe(e,t.fromCurrentSelection).getCurrentLastSelectionPrimaryCell();r&&Oh.contains(u,r)&&(c=r)}}let d=Ske(u,c,o),h=s===NPe.moveGap?Cke(d,o,i):bke(d,o,i),m=lSe(h.startRow,h.startColumn,i);if(Oh.equals(m,d))return!1;let f=n.getUnitId();e.get(TPe).remove({unitId:f,sheetId:i.getSheetId(),keycode:x8.TAB});let g=[{range:Oh.clone(m),primary:{startRow:m.startRow,startColumn:m.startColumn,endRow:m.endRow,endColumn:m.endColumn,actualRow:h.startRow,actualColumn:h.startColumn,isMerged:m.isMerged,isMergedMainCell:m.startRow===h.startRow&&m.startColumn===h.startColumn}}];return e.get(Vc).executeCommand(vSe.id,{unitId:n.getUnitId(),subUnitId:i.getSheetId(),selections:g,type:eSe.MOVE_END,extra:l,reveal:!0})}},OPe={id:"sheet.command.move-selection-enter-tab",type:Bc.COMMAND,handler:(e,t)=>{var r;if(!t)return!1;let n=W_e(e.get(dg));if(!n)return!1;let{workbook:i,worksheet:a}=n,o=pSe(e),{direction:s,keycode:l}=t,u=s===Eu.LEFT||s===Eu.UP,c=o.getCurrentSelections().concat(),d=c.findIndex(e=>e.primary),h=c[d];if(!h)return!1;let m=u?-1:1,f=d+m===c.length?c[0]:c[d+m],g=c.findIndex(e=>e===f),p=i.getUnitId(),v=a.getSheetId();if(!h)return!1;let b,{range:C}=h,y=h.primary,_=Ske(C,y,s),w=e.get(TPe),E=w.getCurrentBySearch({unitId:p,sheetId:v,keycode:x8.TAB}),{startRow:S,endRow:A,startColumn:I,endColumn:R}=C,x=u?y.startRow===S&&y.startColumn===I:y.endRow===A&&y.endColumn===R;if(Oh.equals(C,y)){if(l===x8.TAB)null==E&&w.addOrUpdate({unitId:p,sheetId:v,keycode:x8.TAB,selection:h});else{let e=null==E?void 0:E.selection;if(null!=e){let{range:t,primary:r}=e;_=Ske(t,r,s)}w.remove({unitId:p,sheetId:v,keycode:x8.TAB})}let e=l===x8.ENTER&&s===Eu.DOWN&&_.endRow===a.getMaxRows()-1,t=l===x8.TAB&&s===Eu.RIGHT&&_.endColumn===a.getMaxColumns()-1,r=e||t?_:bke(_,s,a),n=lSe(r.startRow,r.startColumn,a);if(Oh.equals(n,_))return!1;b={range:Oh.clone(n),primary:{startRow:n.startRow,startColumn:n.startColumn,endRow:n.endRow,endColumn:n.endColumn,actualRow:r.startRow,actualColumn:r.startColumn,isMerged:n.isMerged,isMergedMainCell:n.startRow===r.startRow&&n.startColumn===r.startColumn}}}else{w.remove({unitId:p,sheetId:v,keycode:x8.TAB});let e=uu.deepClone(y),t=x?f.range:bke({startRow:e.startRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn},s,a,{startRow:S,endRow:A,startColumn:I,endColumn:R}),r=x&&u,n=r?lSe(t.endRow,t.endColumn,a):lSe(t.startRow,t.startColumn,a);b={range:x?f.range:Oh.clone(C),primary:{startRow:n.startRow,startColumn:n.startColumn,endRow:n.endRow,endColumn:n.endColumn,actualRow:r?n.startRow:t.startRow,actualColumn:r?n.startColumn:t.startColumn,isMerged:n.isMerged,isMergedMainCell:n.startRow===t.startRow&&n.startColumn===t.startColumn},style:x?f.style:h.style}}x?(c[d].primary=null,c[g]=b,o.setSelections(p,v,[],eSe.MOVE_END)):c[d]=b;let T=e.get(Vc).executeCommand(vSe.id,{unitId:p,subUnitId:v,type:eSe.MOVE_END,selections:c,reveal:!0,extra:t.extra}),N=null==(r=e.get(kX).getRenderById(p))?void 0:r.with(dLe);return null==N||N.refreshSelectionMoveEnd(),T}},LPe={id:"sheet.command.expand-selection",type:Bc.COMMAND,handler:(e,t)=>{if(!t)return!1;let r=W_e(e.get(dg));if(!r)return!1;let{worksheet:n,unitId:i,subUnitId:a}=r,o=pSe(e).getCurrentLastSelection();if(!o)return!1;let{jumpOver:s,direction:l,extra:u}=t,{range:c,primary:d}=o;if("formula-editor"===u){if(c.startRow===c.endRow&&c.startColumn===c.endColumn){let e=n.getMergedCell(c.startRow,c.startColumn);e&&(c={...c,...e})}if(!d){let t=pSe(e).getCurrentLastSelectionPrimaryCell();t&&Oh.contains(c,t)&&(d=t)}}let h=function(e,t,r){let{primary:n,range:i}=e,a=Oh.clone(i);switch(t){case Eu.UP:case Eu.DOWN:var o,s;a.startRow=null==(o=null==n?void 0:n.startRow)?i.startRow:o,a.endRow=null==(s=null==n?void 0:n.endRow)?i.startRow:s;break;case Eu.LEFT:case Eu.RIGHT:var l,u;a.startColumn=null==(l=null==n?void 0:n.startColumn)?i.startColumn:l,a.endColumn=null==(u=null==n?void 0:n.endColumn)?i.startColumn:u}let c=wke(a,t,r);switch(t){case Eu.DOWN:return i.startRowc.endRow;case Eu.LEFT:return c.endColumni.startColumn}}({range:c,primary:d},l,n)?s===NPe.moveGap?function(e,t,r,n){let i=Cke(wke(e,Su(r),n),r,n);return r===Eu.UP&&i.startRow<=e.startRow||r===Eu.DOWN&&i.endRow>=e.endRow?sSe({...t,startColumn:e.startColumn,endColumn:e.endColumn},n,!0):r===Eu.LEFT&&i.startColumn<=e.startColumn||r===Eu.RIGHT&&i.endColumn>=e.endColumn?sSe({...t,startRow:e.startRow,endRow:e.endRow},n,!0):Oh.union(Oh.clone(t),i)}(c,{...Oh.clone(d),rangeType:pd.NORMAL},l,n):function(e,t,r){let n=wke(e,Su(t),r),i=wke(e,t,r),a=yke(n,t,r);return sSe(Oh.union(i,a),r,!1)}(c,l,n):s===NPe.moveGap?function(e,t,r){let n=Cke(e,t,r);return sSe(Oh.union(n,e),r,!0)}(c,l,n):function(e,t,r){let n=yke(e,t,r),i={startRow:Math.min(e.startRow,n.startRow),startColumn:Math.min(e.startColumn,n.startColumn),endRow:Math.max(e.endRow,n.endRow),endColumn:Math.max(e.endColumn,n.endColumn)};return sSe(Oh.union(e,i),r)}(c,l,n);return h.rangeType=o.range.rangeType,!Oh.equals(h,c)&&e.get(Vc).syncExecuteCommand(vSe.id,{unitId:i,subUnitId:a,type:eSe.MOVE_END,selections:[{range:h,primary:d}],extra:u,reveal:!0})}},kPe={id:"sheet.command.select-all",type:Bc.COMMAND,handler:async(e,t={expandToGapFirst:!0,loop:!1})=>{let r=W_e(e.get(dg));if(!r)return!1;let n=pSe(e).getCurrentLastSelection();if(!n)return!1;let i=e.get(xPe),{worksheet:a,unitId:o,subUnitId:s}=r,l=`${o}|${s}`;l!==i.selectedRangeWorksheet&&(i.rangesStack=[],i.selectedRangeWorksheet=l);let u,c=a.getMaxRows(),d=a.getMaxColumns(),{expandToGapFirst:h,loop:m}=t,{range:f,primary:g}=n,p=f.endColumn===d-1&&f.endRow===c-1&&0===f.startRow&&0===f.startColumn;if(i.rangesStack.some(e=>Oh.equals(e,f))||(i.rangesStack=[],i.rangesStack.push(f)),p){if(!m)return!1;if(i.rangesStack.findIndex(e=>Oh.equals(e,f))!==i.rangesStack.length-1)return!1;u=i.rangesStack[0]}else h?(u=IEe(f,{left:!0,right:!0,up:!0,down:!0},a),Oh.equals(u,f)&&(u=_ke(a))):u=_ke(a);i.rangesStack.some(e=>Oh.equals(e,u))||i.rangesStack.push(u);let v=[];v.push({id:vSe.id,params:{unitId:o,subUnitId:s,reveal:!0,selections:[{range:u,primary:g}]}});let b=e.get(iwe).onCommandExecute({id:kPe.id,params:{range:f}});return b.redos.length&&v.push(...b.redos),zc(v,e.get(Vc)),!0}};function PPe(e,t){let r=e instanceof ug?e:e.getCurrentUnitForType(Pi.UNIVER_SHEET);if(!r)return null;let n,i,a,o,s=r.getUnitId();if(function(e){return void 0===e.isMainScene}(t)){let e=t.getRenderById(s);if(null==e)return null;n=e.components,n=e.components,i=e.mainComponent,a=e.scene,o=e.engine}else n=t.components,i=t.mainComponent,a=t.scene,o=t.engine;return n&&i?{spreadsheet:i,spreadsheetRowHeader:n.get(tLe.ROW),spreadsheetColumnHeader:n.get(tLe.COLUMN),spreadsheetLeftTopPlaceholder:n.get(tLe.LEFT_TOP),scene:a,engine:o}:null}function DPe(e,t,r,n){let{startX:i,startY:a,endX:o,endY:s}=n.getCellWithCoordByIndex(e,t);return{startX:i,startY:a,endX:o,endY:s}}function UPe(e,t,r,n,i,a){let o=r.getCoordRelativeToViewport(TF.FromArray([e,t])),{x:s,y:l}=o,u=r.getScrollXYInfoByViewport(o,i),{scaleX:c,scaleY:d}=r.getAncestorScale(),{row:h,column:m}=n.getCellIndexByOffset(s,l,c,d,u,{closeFirst:a}),{startX:f,startY:g,endX:p,endY:v}=n.getNoMergeCellWithCoordByIndex(h,m);return{startX:f,startY:g,endX:p,endY:v,row:h,column:m}}function BPe(e,t,r,n){let i=r.getCoordRelativeToViewport(TF.FromArray([e,t])),a=r.getViewport(bj.VIEW_MAIN),o=r.getScrollXYInfoByViewport(i,a),{scaleX:s,scaleY:l}=r.getAncestorScale(),{x:u,y:c}=o;return{x:e/s+u,y:t/l+c}}MPe.id,OPe.id;let VPe=class extends tu{constructor(e,t,r,n,i,a,o){super(),this._context=e,this._injector=t,this._sheetSkeletonManagerService=r,this._contextService=n,this._commandService=i,this._renderManagerService=a,this._scrollManagerService=o,this._initCommandListener(),this._wheelEventListener(),this._scrollBarEventListener(),this._initSkeletonListener()}_wheelEventListener(){let{scene:e}=this._context;if(!e)return;let t=e.getViewport(bj.VIEW_MAIN);t&&this.disposeWithMe(e.onMouseWheel$.subscribeEvent((r,n)=>{if(r.ctrlKey||!this._contextService.getContextValue(yf))return;let i=0,a=0;i=r.deltaX,r.shiftKey?i=3*(r.deltaY||r.deltaX):a=r.deltaY,this._commandService.executeCommand(jPe.id,{offsetX:i,offsetY:a}),this._context.scene.makeDirty(!0);let o=t.limitedScroll(t.scrollX+i,t.scrollY+a);o&&!o.isLimitedX&&!o.isLimitedY&&(r.preventDefault(),e.getParent().classType===LV.SCENE_VIEWER&&n.stopPropagation()),t.isWheelPreventDefaultX&&t.isWheelPreventDefaultY&&r.preventDefault()}))}_scrollBarEventListener(){let{scene:e}=this._context;if(null==e)return;let t=e.getViewport(bj.VIEW_MAIN);t&&(this.disposeWithMe(Jl(this._scrollManagerService.rawScrollInfo$.subscribe(e=>{var r;let n=null==(r=this._sheetSkeletonManagerService.getCurrentParam())?void 0:r.skeleton;if(!n)return;if(null==e)return void t.scrollToViewportPos({viewportScrollX:0,viewportScrollY:0});let{sheetViewStartRow:i,sheetViewStartColumn:a,offsetX:o,offsetY:s,duration:l}=e,{startX:u,startY:c}=n.getCellWithCoordByIndex(i,a,!1),d=u+o,h=c+s;null!==t.scrollAnimationFrameId&&cancelAnimationFrame(t.scrollAnimationFrameId),l?this._smoothScrollToViewportPos({viewportMain:t,viewportScrollX:d,viewportScrollY:h,duration:l}):t.scrollToViewportPos({viewportScrollX:d,viewportScrollY:h})}))),this.disposeWithMe(t.onScrollAfter$.subscribeEvent(e=>{var t;let r=null==(t=this._sheetSkeletonManagerService.getCurrentParam())?void 0:t.skeleton;if(null==r||!1===e.isTrigger)return;let n=this._getSheetObject();if(null==r||null==n)return;let{viewportScrollX:i,viewportScrollY:a,scrollX:o,scrollY:s}=e,{row:l,column:u,rowOffset:c,columnOffset:d}=r.getOffsetRelativeToRowCol(i,a),h={sheetViewStartRow:l,sheetViewStartColumn:u,offsetX:d,offsetY:c,viewportScrollX:i,viewportScrollY:a,scrollX:o,scrollY:s};this._scrollManagerService.setValidScrollStateToCurrSheet(h),this._scrollManagerService.validViewportScrollInfo$.next({...h,viewportScrollX:i,viewportScrollY:a,scrollX:o,scrollY:s})})),this.disposeWithMe(t.onScrollByBar$.subscribeEvent(e=>{var t;let r=null==(t=this._sheetSkeletonManagerService.getCurrentParam())?void 0:t.skeleton;if(null==r||!1===e.isTrigger)return;let n=this._getSheetObject();if(null==r||null==n)return;let{viewportScrollX:i=0,viewportScrollY:a=0}=e;this._getFreeze();let{row:o,column:s,rowOffset:l,columnOffset:u}=r.getOffsetRelativeToRowCol(i,a);this._commandService.executeCommand(HPe.id,{sheetViewStartRow:o,sheetViewStartColumn:s,offsetX:u,offsetY:l})})))}_initSkeletonListener(){this.disposeWithMe(Jl(this._sheetSkeletonManagerService.currentSkeletonBefore$.subscribe(e=>{if(null==e)return;let t={unitId:e.unitId,sheetId:e.sheetId};if(this._scrollManagerService.setSearchParam(t),!this._getSheetObject())return;let r=this._scrollManagerService.getScrollStateByParam(t),{viewportScrollX:n,viewportScrollY:i}=this._scrollManagerService.calcViewportScrollFromRowColOffset(r);r&&this._updateViewportScroll(n,i)})))}_smoothScrollToViewportPos(e){let{viewportMain:t,viewportScrollX:r,viewportScrollY:n,duration:i}=e,a=performance.now(),o=t.viewportScrollX,s=t.viewportScrollY,l=r-o,u=n-s;t.scrollAnimationFrameId=requestAnimationFrame(function e(r){let n=r-a,c=Math.min(n/i,1),d=1-(1-c)**3,h=o+l*d,m=s+u*d;t.scrollToViewportPos({viewportScrollX:h,viewportScrollY:m}),t.scrollAnimationFrameId=c<1?requestAnimationFrame(e):null})}_updateViewportScroll(e=0,t=0){let r=this._getSheetObject();if(!r)return;let n=r.scene,i=n.getViewport(bj.VIEW_MAIN),a=n.getViewport(bj.VIEW_COLUMN_RIGHT),o=n.getViewport(bj.VIEW_ROW_BOTTOM),s=n.getViewport(bj.VIEW_MAIN_LEFT),l=n.getViewport(bj.VIEW_MAIN_TOP);i&&(i.viewportScrollX=e,i.viewportScrollY=t),o&&(o.viewportScrollY=t),a&&(a.viewportScrollX=e),s&&(s.viewportScrollY=t),l&&(l.viewportScrollX=e)}scrollToRange(e,t,r){let{endRow:n,endColumn:i,startColumn:a,startRow:o}=e,s=this._getViewportBounding();if(e.rangeType===pd.ROW?(a=0,i=0):e.rangeType===pd.COLUMN&&(o=0,n=0),!s||t||r)return this._scrollToCell(o,a,t,r);{let e=s.startRow>n?o:n,t=s.startColumn>i?a:i;return this._scrollToCell(e,t)}}scrollToCell(e,t,r){let{ySplit:n,xSplit:i}=this._context.unit.getActiveSheet().getFreeze();return this._commandService.syncExecuteCommand(HPe.id,{sheetViewStartRow:e-n,sheetViewStartColumn:t-i,offsetX:0,offsetY:0,duration:r})}_initCommandListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{switch(e.id){case vSe.id:{let t=e.params;t.unitId===this._context.unitId&&t.reveal&&this._scrollToSelection()}break;case pNe.id:{let t=e.params;if(t.unitId===this._context.unitId){let e=t.range;this.scrollToRange(e)}}break;case LPe.id:{let t=e.params;this._scrollToSelectionForExpand(t)}}}))}_scrollToSelectionForExpand(e){setTimeout(()=>{let t=this._getSelectionsService().getCurrentLastSelection();if(null==t)return;let{startRow:r,startColumn:n,endRow:i,endColumn:a}=t.range,o=this._getViewportBounding();if(null==o)return;let{startRow:s,startColumn:l,endRow:u,endColumn:c}=o,d=0,h=0;d=r>s?i:il?a:a=r&&(o=c),c<=i&&(o=l),u>=n&&(s=d),d<=a&&(s=u),this._scrollToCell(o,s)}_scrollToSelection(e=!0){var t;let r=this._getSelectionsService().getCurrentLastSelection();if(!r)return;let{startRow:n,startColumn:i,actualRow:a,actualColumn:o}=null==(t=r.primary)?r.range:t,s=e?null==a?n:a:n,l=e?null==o?i:o:i;this._scrollToCell(s,l)}_getSelectionsService(){return pSe(this._injector)}_getViewportBounding(){var e,t;let r=null==(e=this._getSheetObject())?void 0:e.scene;if(null==r)return;let n=r.getViewport(bj.VIEW_MAIN);if(null==n)return;let i=null==(t=this._sheetSkeletonManagerService.getCurrentParam())?void 0:t.skeleton;if(null==i)return;let a=n.calcViewportInfo();return i.getRangeByViewBound(a.viewBound)}_scrollToCell(e,t,r=!1,n=!1){var i,a,o;let{rowHeightAccumulation:s,columnWidthAccumulation:l}=null==(i=this._sheetSkeletonManagerService.getCurrentSkeleton())?{}:i;if(null==s||null==l)return!1;let u=null==(a=this._getSheetObject())?void 0:a.scene;if(null==u)return!1;let c=u.getViewport(bj.VIEW_MAIN);if(null==c)return!1;let d=null==(o=this._sheetSkeletonManagerService.getCurrentParam())?void 0:o.skeleton;if(null==d)return!1;let h=this._context.unit.getActiveSheet();if(!h)return!1;e=uu.clamp(e,0,s.length-1),t=uu.clamp(t,0,l.length-1);let{startColumn:m,startRow:f,ySplit:g,xSplit:p}=h.getFreeze(),v=this._getViewportBounding();if(null==v)return!1;let b,C,{startRow:y,startColumn:_,endRow:w,endColumn:E}=v;if(e>=f&&t>=m-g&&(e<=y&&(b=e,r=!0),e>=w)){let t=s[e]-c.height;for(let r=y;r<=e&&(b=r+1,!(s[r]>=t));r++);}if(t>=m&&e>=f-g&&(t<=_&&(C=t,n=!0),t>=E)){let e=l[t]-c.width;for(let r=_;r<=t&&(C=r+1,!(l[r]>=e));r++);}if(void 0===b&&void 0===C)return!1;let{offsetX:S,offsetY:A,sheetViewStartRow:I,sheetViewStartColumn:R}=this._scrollManagerService.getCurrentScrollState()||{};return b=b?Math.min(b,e):I+g,C=C?Math.min(C,t):R+p,n&&(S=0,C=t,C-=d.getHiddenColumnsInRange({startColumn:C-p,endColumn:C}).length),r&&(A=0,b=e,b-=d.getHiddenRowsInRange({startRow:b-g,endRow:b}).length),this._commandService.syncExecuteCommand(HPe.id,{sheetViewStartRow:Math.max(0,b-g),sheetViewStartColumn:Math.max(0,C-p),offsetX:S,offsetY:A})}};VPe=pLe([gLe(1,Y(he)),gLe(2,Y(vLe)),gLe(3,Mc),gLe(4,Vc),gLe(5,kX),gLe(6,Y(_Pe))],VPe);const FPe={id:"sheet.operation.set-scroll",type:Bc.OPERATION,handler:(e,t)=>{if(!t)return!1;let{unitId:r,sheetId:n,offsetX:i=0,offsetY:a=0,sheetViewStartColumn:o,sheetViewStartRow:s,duration:l,screenRatioX:u,screenRatioY:c}=t,d=e.get(kX),h=d.getRenderById(r).with(_Pe),m=d.getRenderById(r);if(!m)return!1;let f=m.engine,g=f.width,p=f.height,v=void 0===u?i:g*u+i,b=void 0===c?a:p*c+a;return h.emitRawScrollParam({unitId:r,sheetId:n,offsetX:v,offsetY:b,sheetViewStartRow:s,sheetViewStartColumn:o,duration:l}),!0}},jPe={id:"sheet.command.set-scroll-relative",type:Bc.COMMAND,handler:async(e,t)=>{let r=e.get(Vc),n=e.get(dg),i=e.get(kX),a=W_e(n);if(!a)return!1;let{unitId:o,subUnitId:s}=a,l=i.getRenderById(o).with(_Pe).getCurrentScrollState(),{offsetX:u=0,offsetY:c=0}=t||{},{sheetViewStartRow:d=0,sheetViewStartColumn:h=0,offsetX:m=0,offsetY:f=0}=l||{};return r.executeCommand(FPe.id,{unitId:o,sheetId:s,sheetViewStartRow:d,sheetViewStartColumn:h,offsetX:m+u,offsetY:f+c})}},HPe={id:"sheet.command.scroll-view",type:Bc.COMMAND,handler:(e,t)=>{if(!t)return!1;let r=e.get(dg),n=e.get(kX),i=W_e(r);if(!i)return!1;let{workbook:a,worksheet:o,unitId:s}=i,l=n.getRenderById(s).with(_Pe).getCurrentScrollState();if(!o)return!1;let{sheetViewStartRow:u,sheetViewStartColumn:c,offsetX:d,offsetY:h,duration:m}=t,{sheetViewStartColumn:f,sheetViewStartRow:g,offsetX:p,offsetY:v}=l||{},{xSplit:b,ySplit:C}=i.worksheet.getConfig().freeze;return e.get(Vc).syncExecuteCommand(FPe.id,{unitId:a.getUnitId(),sheetId:o.getSheetId(),sheetViewStartRow:null==u?null==g?0+C:g:u,sheetViewStartColumn:null==c?null==f?0+b:f:c,offsetX:null==d?p:d,offsetY:null==h?v:h,duration:m})}},WPe={id:"sheet.command.scroll-to-cell",type:Bc.COMMAND,handler:(e,t)=>{let r=e.get(dg);return e.get(kX).getRenderById(r.getCurrentUnitForType(Pi.UNIVER_SHEET).getUnitId()).with(VPe).scrollToRange(t.range,t.forceTop,t.forceLeft)}};Bc.COMMAND;let zPe=class extends tu{constructor(e,t){super(),this._renderManagerService=e,this._univerInstanceService=t}getUndoRedoParamsOfColWidth(e){let t={redos:[],undos:[]},{_univerInstanceService:r}=this,n=W_e(r,e);if(!n)return t;let{unitId:i,subUnitId:a,worksheet:o}=n,s=this._renderManagerService.getRenderById(i).with(vLe);if(!s.getCurrentParam())return t;let{skeleton:l}=s.getCurrentParam(),u=l.calculateAutoWidthInRange(e.ranges),c={};for(let{col:e,width:t}of u)c[e]=t;let d={subUnitId:a,unitId:i,ranges:e.ranges,colWidth:c},h=((e,t)=>{let{unitId:r,subUnitId:n,ranges:i}=e,a={},o=t.getColumnManager();for(let e=0;e{let r=e.get(Vc),n=e.get(Pg),i=e.get(rSe),a=W_e(e.get(dg),t);if(!a)return!1;let{unitId:o,subUnitId:s}=a,l=[];if(null!=t&&t.ranges)l=[...t.ranges];else{let e=i.getCurrentSelections();for(let t=0;tthis._currentEditCellLayout$.pipe(Yn(t=>e&&t?{...e,...t}:null))))),nLe(this,"_visibleParams$",new Qn(this._visibleParams)),nLe(this,"visible$",this._visibleParams$.asObservable()),nLe(this,"_afterVisibleParams$",new Qn(this._visibleParams)),nLe(this,"afterVisible$",this._afterVisibleParams$.asObservable()),nLe(this,"_forceKeepVisible$",new Qn(!1)),nLe(this,"forceKeepVisible$",this._forceKeepVisible$.asObservable()),this.disposeWithMe(Jl(()=>{this._currentEditCellState$.complete(),this._currentEditCell=null})),this._univerInstanceService.getTypeOfUnitDisposed$(Pi.UNIVER_SHEET).subscribe(e=>{var t;e.getUnitId()===(null==(t=this._currentEditCellState)?void 0:t.unitId)&&this._clearCurrentEditCellState()})}refreshEditCellState(){let e=this.getLatestEditCellState();if(!e)return this._currentEditCellState=null,this._currentEditCellLayout=null,this._currentEditCellState$.next(null),void this._currentEditCellLayout$.next(null);let{position:t,scaleX:r,scaleY:n,canvasOffset:i,...a}=e;this._currentEditCellState=a,this._currentEditCellLayout={position:t,scaleX:r,scaleY:n,canvasOffset:i},this._currentEditCellState$.next(this._currentEditCellState),this._currentEditCellLayout$.next(this._currentEditCellLayout)}refreshEditCellPosition(e){var t;let r=this._currentEditCell;if(null==r)return;let n=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET);if(!n)return;let i=this._renderManagerService.getRenderUnitById(n.getUnitId());if(!i)return;let a=null==(t=i.with(vLe).getSkeletonParam(r.sheetId))?void 0:t.skeleton,o=i.with(dLe);if(!a||!this._currentEditCellState)return;let{primary:s,scene:l,engine:u}=r,c=cLe(a,s);if(null==c)return;let d=Pd(c),h=moe(u),{startX:m,startY:f,endX:g,endY:p}=d,{scaleX:v,scaleY:b}=l.getAncestorScale(),C=l.getViewportScrollXY(o.getViewPort());m=zz(m,v,C),f=Xz(f,b,C),g=zz(g,v,C),p=Xz(p,b,C),e&&this._currentEditCellLayout&&(g=g-m+this._currentEditCellLayout.position.startX,p=p-f+this._currentEditCellLayout.position.startY,m=this._currentEditCellLayout.position.startX,f=this._currentEditCellLayout.position.startY),this._currentEditCellLayout={position:{startX:m,startY:f,endX:g,endY:p},canvasOffset:h,scaleX:v,scaleY:b},this._currentEditCellLayout$.next(this._currentEditCellLayout)}setEditCell(e){this._currentEditCell=e,this._editorService.getFocusEditor()||(this._editorService.focus(El),this._contextService.setContextValue(Sf,!1),this._contextService.setContextValue(xf,!1));let t=this.getLatestEditCellState();if(!t)return this._currentEditCellState=t,this._currentEditCellLayout=t,this._currentEditCellState$.next(t),void this._currentEditCellLayout$.next(t);let{position:r,canvasOffset:n,scaleX:i,scaleY:a,...o}=t;this._currentEditCellState=o,this._currentEditCellLayout={position:r,canvasOffset:n,scaleX:i,scaleY:a},this._currentEditCellState$.next(this._currentEditCellState),this._currentEditCellLayout$.next(this._currentEditCellLayout)}_clearCurrentEditCellState(){this._currentEditCellState=null,this._currentEditCellState$.next(null),this._currentEditCellLayout=null,this._currentEditCellLayout$.next(null)}getEditCellState(){return null==this._currentEditCellState||null==this._currentEditCellLayout?null:{...this._currentEditCellState,...this._currentEditCellLayout}}getEditCellLayout(){return this._currentEditCellLayout}getEditLocation(){return this._currentEditCellState}updateEditLocation(e,t){this._currentEditCellState&&(this._currentEditCellState={...this._currentEditCellState,row:e,column:t})}getLatestEditCellState(){var e,t;let r=this._currentEditCell;if(null==r)return;let n=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET);if(!n)return;let i=this._renderManagerService.getRenderUnitById(n.getUnitId());if(!i)return;let a=i.with(vLe).getCurrentSkeleton(),o=i.with(dLe);if(!a)return;let{primary:s,unitId:l,sheetId:u,scene:c,engine:d}=r,{startRow:h,startColumn:m}=s,f=cLe(a,s);if(null==f)return;let g=Pd(f),p=moe(d),{startX:v,startY:b,endX:C,endY:y}=g,{scaleX:_,scaleY:w}=c.getAncestorScale(),E=c.getViewportScrollXY(o.getViewPort());v=zz(v,_,E),b=Xz(b,w,E),C=zz(C,_,E),y=Xz(y,w,E);let S=n.getActiveSheet();if(!S)return;let A,I={workbook:n,worksheet:S,unitId:n.getUnitId(),subUnitId:S.getSheetId(),row:h,col:m,origin:S.getCellRaw(h,m)},R=this._sheetInterceptorService.writeCellInterceptor.fetchThroughInterceptors(twe)(S.getCell(h,m),I);A=R&&S.getCellDocumentModelWithFormula(R,I.row,I.col);let x=null==A||null==(e=A.documentModel)?void 0:e.documentStyle.renderConfig;if(null!=x&&(x.cellValueType=Fu.STRING),!A||null==A.documentModel){let e=S.getBlankCellDocumentModel(R,I.row,I.col);if(null!=A){let{verticalAlign:t,horizontalAlign:r,wrapStrategy:n,textRotation:i,fill:a}=A,{centerAngle:o,vertexAngle:s}=$F(i);e.documentModel.documentStyle.renderConfig={...x,verticalAlign:t,horizontalAlign:r,wrapStrategy:n,background:{rgb:a},centerAngle:o,vertexAngle:s}}A=e}if(A.fill=A.fill||"#fff",null==(t=A.documentModel)||t.setZoomRatio(Math.max(_,w)),!0===(null==R?void 0:R.isInArrayFormulaRange)){var T;let e=null==(T=A.documentModel)?void 0:T.getBody();e&&(e.textRuns=[{st:0,ed:e.dataStream.length-2,ts:{cl:{rgb:this._themeService.getColorFromTheme("gray.300")}}}])}return{position:{startX:v,startY:b,endX:C,endY:y},scaleX:_,scaleY:w,canvasOffset:p,row:h,column:m,unitId:l,sheetId:u,documentLayoutObject:A,editorUnitId:this._editorUnitId,isInArrayFormulaRange:null==R?void 0:R.isInArrayFormulaRange}}getCurrentEditorId(){return this._editorUnitId}changeVisible(e){this._visibleParams=e,e.visible&&(this._editorIsDirty=!1),this._visibleParams$.next(this._visibleParams),this._afterVisibleParams$.next(this._visibleParams)}isVisible(){return this._visibleParams}enableForceKeepVisible(){this._forceKeepVisible$.next(!0)}disableForceKeepVisible(){this._forceKeepVisible$.next(!1)}isForceKeepVisible(){return this._forceKeepVisible$.getValue()}changeEditorDirty(e){this._editorIsDirty=e}getEditorDirty(){return this._editorIsDirty}};qPe=pLe([gLe(0,Y(iwe)),gLe(1,kX),gLe(2,Y(Lg)),gLe(3,dg),gLe(4,joe),gLe(5,Mc)],qPe);const GPe=V("univer.sheet-editor-bridge.service");let YPe=class extends tu{constructor(e,t,r,n,i){super(),this._context=e,this._sheetSkeletonManagerService=t,this._commandService=r,this._contextService=n,this._editorBridgeService=i,nLe(this,"_zoom",void 0),this._initSkeletonListener(),this._initZoomEventListener()}updateZoom(e,t){let r=this._context.unit.getSheetBySheetId(e);return!!r&&(r.getConfig().zoomRatio=t,r===this._context.unit.getActiveSheet()&&this._updateViewZoom(t),!0)}_initZoomEventListener(){let e=PPe(this._context.unit,this._context).scene;this.disposeWithMe(e.onMouseWheel$.subscribeEvent(t=>{if(!t.ctrlKey||!this._contextService.getContextValue(yf))return;if(this._editorBridgeService){let e=this._editorBridgeService.isVisible();if((e.unitId===this._context.unitId||e.unitId===Sl)&&e.visible)return}let r=Math.abs(t.deltaX),n=r<40?.2:r<80?.4:.2;n*=t.deltaY>0?-1:1,e.scaleX<1&&(n/=2);let i=this._context.unit,a=i.getActiveSheet();if(!a)return;let o=a.getZoomRatio(),s=+Number.parseFloat(`${o+n}`).toFixed(1);s=s>=4?4:s<=.1?.1:s,this._commandService.executeCommand(KPe.id,{zoomRatio:Math.round(10*s)/10,unitId:i.getUnitId(),subUnitId:a.getSheetId()}),t.preventDefault()}))}_initSkeletonListener(){this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{if(null==e)return;let t=this._context.unit.getActiveSheet();if(!t)return;let r=t.getZoomRatio()||1;this._zoom!==r&&this._updateViewZoom(r)}))}_updateViewZoom(e){this._zoom=e;let t=PPe(this._context.unit,this._context);null==t||t.scene.scale(e,e),null==t||t.spreadsheet.makeForceDirty()}};YPe=pLe([gLe(1,Y(vLe)),gLe(2,Vc),gLe(3,Mc),gLe(4,G(GPe))],YPe);const QPe={id:"sheet.operation.set-zoom-ratio",type:Bc.OPERATION,handler:(e,t)=>{let r=e.get(kX).getRenderById(t.unitId);return!!r&&r.with(YPe).updateZoom(t.subUnitId,t.zoomRatio)}},ZPe={id:"sheet.command.change-zoom-ratio",type:Bc.COMMAND,handler:(e,t)=>{if(!t)return!1;let r=W_e(e.get(dg));if(!r)return!1;let{worksheet:n,subUnitId:i,unitId:a}=r,{delta:o,reset:s}=t,l=s?100:Math.round(100*(n.getConfig().zoomRatio+o));l=Math.max($Oe[0],l),l=Math.min($Oe[1],l);let u=l/100,c=e.get(GPe).isVisible();return(c.unitId!==a&&c.unitId!==Sl||!c.visible)&&e.get(Vc).executeCommand(QPe.id,{unitId:a,subUnitId:i,zoomRatio:u})}},KPe={id:"sheet.command.set-zoom-ratio",type:Bc.COMMAND,handler:(e,t)=>{if(!t)return!1;let{unitId:r,subUnitId:n,zoomRatio:i}=t,a=e.get(GPe).isVisible();return(a.unitId!==r&&a.unitId!==Sl||!a.visible)&&e.get(Vc).executeCommand(QPe.id,{unitId:r,subUnitId:n,zoomRatio:i})}},$Pe=V("univer.sheetbar-service");var JPe=class extends tu{constructor(){super(),nLe(this,"renameId$",void 0),nLe(this,"removeId$",void 0),nLe(this,"scroll$",void 0),nLe(this,"scrollX$",void 0),nLe(this,"addSheet$",void 0),nLe(this,"_renameId$",void 0),nLe(this,"_removeId$",void 0),nLe(this,"_scroll$",void 0),nLe(this,"_scrollX$",void 0),nLe(this,"_addSheet$",void 0),nLe(this,"_currentHandler",null),this._renameId$=new On,this.renameId$=this._renameId$.asObservable(),this._removeId$=new On,this.removeId$=this._removeId$.asObservable(),this._scroll$=new On,this.scroll$=this._scroll$.asObservable(),this._scrollX$=new On,this.scrollX$=this._scrollX$.asObservable(),this._addSheet$=new On,this.addSheet$=this._addSheet$.asObservable()}setRenameId(e){this._renameId$.next(e)}setRemoveId(e){this._removeId$.next(e)}setScroll(e){this._scroll$.next(e)}setScrollX(e){this._scrollX$.next(e)}setAddSheet(e){this._addSheet$.next(e)}triggerSheetBarMenu(){var e;null==(e=this._currentHandler)||e.handleSheetBarMenu()}registerSheetBarMenuHandler(e){if(this._currentHandler)throw Error("There is already a context menu handler!");return this._currentHandler=e,Jl(()=>{this._currentHandler=null})}};const eDe={id:"ui-sheet.command.show-menu-list",type:Bc.OPERATION,handler:async e=>(e.get($Pe).triggerSheetBarMenu(),!0)},tDe={type:Bc.COMMAND,id:"sheet.command.delete-worksheet-protection-from-sheet-bar",async handler(e,t){if(!t)return!1;let r=e.get(Vc),n=e.get(Pg),i=e.get(aRe),a=e.get(dg).getCurrentUnitForType(Pi.UNIVER_SHEET),o=null==a?void 0:a.getActiveSheet(),s=a.getUnitId();if(!o)return!1;let l=o.getSheetId(),u=i.getRule(s,l);if(await r.executeCommand(Lxe.id,{unitId:s,subUnitId:l})){let e=[{id:Lxe.id,params:{unitId:s,subUnitId:l}}],t=[{id:lRe.id,params:{unitId:s,rule:u}}];n.pushUndoRedo({unitID:s,redoMutations:e,undoMutations:t})}return!0}},rDe={type:Bc.COMMAND,id:"sheet.command.change-sheet-protection-from-sheet-bar",handler:async e=>(await e.get(Vc).executeCommand("sheet-permission.operation.openDialog"),!0)},nDe={id:"sheet.operation.set-activate-cell-edit",type:Bc.OPERATION,handler:(e,t)=>(e.get(GPe).setEditCell(t),!0)},iDe="sheets-ui.config";Symbol(iDe);const aDe={formulaBar:!0,statusBarStatistic:!0,protectedRangeShadow:!0,maxAutoHeightCount:1e3};function oDe(e){return!0===e?"always":!1===e?"none":e||"always"}const sDe={id:"sheet.operation.set-cell-edit-visible",type:Bc.OPERATION,handler:(e,t)=>{var r;if(!t||null!=(r=e.get(Tc).getConfig("sheets-ui.config"))&&r.disableEdit&&t.visible)return!1;let{unitId:n}=t,i=e.get(dg).getCurrentUnitForType(Pi.UNIVER_SHEET);return!!i&&(e.get(GPe).changeVisible({...t,unitId:null==n?i.getUnitId():n}),!0)}},lDe={id:"sheet.operation.set-cell-edit-visible-f2",type:Bc.OPERATION,handler:(e,t)=>{let r=e.get(Vc),n=e.get(dg).getCurrentUnitForType(Pi.UNIVER_SHEET);return!!n&&r.syncExecuteCommand(sDe.id,{...t,unitId:n.getUnitId()})}},uDe={id:"sheet.operation.set-cell-edit-visible-arrow",type:Bc.OPERATION,handler:()=>!0},cDe={id:"sheet.operation.rename-sheet",type:Bc.OPERATION,handler:async(e,t)=>{let r=e.get($Pe);return t&&r.setRenameId(t.subUnitId),!0}},dDe={id:"sheet.operation.scroll-to-range",type:Bc.OPERATION,handler:(e,t)=>{if(!t)return!1;let r=e.get(dg);return e.get(kX).getRenderById(r.getCurrentUnitForType(Pi.UNIVER_SHEET).getUnitId()).with(VPe).scrollToRange(t.range,t.forceTop,t.forceLeft)}},hDe={type:Bc.OPERATION,id:"sheet-permission.operation.openDialog",async handler(e,t){let r=e.get(Jte);return r.close("DESKTOP_FIND_REPLACE_DIALOG"),r.open({id:Qke,title:{title:"permission.dialog.allowedPermissionType"},children:{label:Gke},width:393,destroyOnClose:!0,onClose:()=>r.close(Qke)}),!0}},mDe="DefinedNameContainer",fDe={id:"sidebar.operation.defined-name",type:Bc.COMMAND,handler:async(e,t)=>{let r=e.get(V5);e.get(joe);let n=e.get(Cg),i=W_e(e.get(dg));if(!i)return!1;let{unitId:a}=i;return"open"===t.value?r.open({id:mDe,header:{title:n.t("definedName.featureTitle")},children:{label:mDe},onClose:()=>{},width:333}):r.close(),!0}};function gDe(e,t,r,n){let i=n.getFreeze();return!i||i.startRow<=0&&i.startColumn<=0||e>=i.startRow&&t>=i.startColumn?r.getViewport(bj.VIEW_MAIN):e=i.startColumn?r.getViewport(bj.VIEW_MAIN_TOP):e>=i.startRow&&t_?(e-w)*a:(b+p-(_-e))*a,u=t>y?(t-E)*o:(C+v-(y-t))*a,{x:l,y:u}}function vDe(e,t,r,n,i,a){let{scene:o}=e,s=t.getUnitId(),{skeleton:l,sheetId:u}=n,c=function(e,t,r,n){let i=r.getActiveViewportByCoord(TF.FromArray([e,t]));if(!i)return;let{scaleX:a,scaleY:o}=r.getAncestorScale(),s={x:i.viewportScrollX,y:i.viewportScrollY},l=n.getCellIndexByOffset(e,t,a,o,s),u=n.worksheet.getMergedCell(l.row,l.column);return{actualRow:u?u.startRow:l.row,actualCol:u?u.startColumn:l.column,mergeCell:u,row:l.row,col:l.column}}(i,a,o,l);if(!c)return null;let{actualCol:d,actualRow:h}=c,m={unitId:s,subUnitId:u,workbook:t,worksheet:r,row:h,col:d};l.overflowCache.forValue((e,t,r)=>{r.startRow<=h&&r.endRow>=h&&r.startColumn<=d&&r.endColumn>=d&&(d=t,h=e)});let f,g=l.getCellWithCoordByIndex(h,d),p=function(e,t,r,n,i){let a=n,o=i;r.overflowCache.forValue((e,t,r)=>{r.startRow<=a&&r.endRow>=a&&r.startColumn<=o&&r.endColumn>=o&&(o=t,a=e)});let s=r.getCellWithCoordByIndex(a,o);return{unitId:e.getUnitId(),subUnitId:t.getSheetId(),workbook:e,worksheet:t,row:s.actualRow,col:s.actualColumn}}(t,r,l,h,d);f=g.mergeInfo?g.mergeInfo:{startRow:p.row,endRow:p.row,startColumn:p.col,endColumn:p.col};let v=o.getActiveViewportByCoord(TF.FromArray([i,a]));if(!v)return;let{scaleX:b,scaleY:C}=o.getAncestorScale(),y=v.viewportScrollX,_=v.viewportScrollY;return{position:{startX:(l.getOffsetByColumn(f.startColumn-1)-y)*b,endX:(l.getOffsetByColumn(f.endColumn)-y)*b,startY:(l.getOffsetByRow(f.startRow-1)-_)*C,endY:(l.getOffsetByRow(f.endRow)-_)*C},location:m,overflowLocation:p}}function bDe(){let e=iK(dg),t=aK(()=>e.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET),void 0,void 0,[]);return null==t?null:t}let CDe=function(e){return e.FILTER_PANEL_EMBED_POINT="filter-panel-embed-point",e.SHEETS_FOOTER="sheets-footer",e.FORMULA_AUX="formula-aux",e}({});const yDe="univer-sheet-main-canvas";let _De=class extends ru{constructor(e,t,r,n){super(),this._contextService=e,this._instanceSrv=t,this._renderManagerService=r,this._themeService=n,nLe(this,"_skeletonChangeMutations",new Set),Promise.resolve().then(()=>this._init())}registerSkeletonChangingMutations(e){return this._skeletonChangeMutations.has(e)?Jl(()=>{}):(this._skeletonChangeMutations.add(e),Jl(()=>this._skeletonChangeMutations.delete(e)))}checkMutationShouldTriggerRerender(e){return this._skeletonChangeMutations.has(e)}_init(){this._initWorkbookListener(),this._initContextListener()}_initWorkbookListener(){this._instanceSrv.getTypeOfUnitAdded$(Pi.UNIVER_SHEET).pipe(jX(this.dispose$)).subscribe(e=>this._createRenderer(e)),this._instanceSrv.getAllUnitsForType(Pi.UNIVER_SHEET).forEach(e=>this._createRenderer(e)),this._instanceSrv.getTypeOfUnitDisposed$(Pi.UNIVER_SHEET).pipe(jX(this.dispose$)).subscribe(e=>this._disposeRenderer(e))}_createRenderer(e){let t=e.getUnitId();this._renderManagerService.created$.subscribe(e=>{e.unitId===t&&(e.engine.getCanvas().setId(`${yDe}_${t}`),e.engine.getCanvas().getContext().setId(`${yDe}_${t}`))}),this._renderManagerService.createRender(t)}_disposeRenderer(e){let t=e.getUnitId();this._renderManagerService.removeRender(t)}_initContextListener(){this.disposeWithMe(this._contextService.subscribeContextValue$(Hz).pipe(Zn()).subscribe(()=>{this._renderManagerService.getRenderAll().forEach(e=>{e.mainComponent instanceof dX&&e.mainComponent.makeForceDirty(!0)})}))}};_De=pLe([gLe(0,Mc),gLe(1,dg),gLe(2,kX),gLe(3,Y(Lg))],_De);let wDe=class extends tu{constructor(e,t,r,n,i,a,o){super(),this._univerInstanceService=e,this._commandService=t,this._autoFillService=r,this._autoFillController=n,this._editorBridgeService=i,this._renderManagerService=a,this._sheetsRenderService=o,nLe(this,"_currentLocation",null),this._init()}_init(){this._initDefaultHook(),this._initSelectionControlFillChanged(),this._initQuitListener(),this._initSkeletonChange()}_initSkeletonChange(){this.disposeWithMe(this._sheetsRenderService.registerSkeletonChangingMutations(vxe.id))}_initDefaultHook(){this.disposeWithMe(this._autoFillService.addHook({id:"default-ui",type:zRe.DEFAULT,priority:0,onBeforeFillData:e=>{this._currentLocation=e}}))}_initQuitListener(){let e=[sDe.id,_xe.id,mAe.id,QPe.id,fEe.id,Ewe.id,Iwe.id,Rwe.id,ywe.id,wwe.id,Swe.id,Awe.id,nEe.id,cEe.id,Kwe.id];this.disposeWithMe(this._commandService.onCommandExecuted((t,r)=>{let n=null==r?void 0:r.fromCollab,i=null==r?void 0:r.fromSync,a=null==r?void 0:r.fromFormula;var o,s;e.includes(t.id)&&!n&&!i&&!a&&t.params.trigger!==vxe.id&&t.params.trigger!==Uxe.id&&this._quit(),t.id===XAe.id&&t.params.unitId===(null==(o=this._currentLocation)?void 0:o.unitId)&&t.params.subUnitId===(null==(s=this._currentLocation)?void 0:s.subUnitId)&&this._quit()})),this.disposeWithMe(this._univerInstanceService.unitDisposed$.subscribe(e=>{var t;e.getUnitId()===(null==(t=this._currentLocation)?void 0:t.unitId)&&this._quit()}))}_quit(){this._currentLocation=null,this._autoFillController.quit(),this._autoFillService.setShowMenu(!1)}_initSelectionControlFillChanged(){let e=new eu,t=()=>{e.dispose();let t=PX(Pi.UNIVER_SHEET,this._univerInstanceService,this._renderManagerService);t&&t.with(dLe).getSelectionControls().forEach(r=>{e.add(r.selectionFilled$.subscribe(e=>{if(null==e||-1===e.startColumn||-1===e.startRow||-1===e.endColumn||-1===e.endRow)return;let t={startColumn:r.model.startColumn,endColumn:r.model.endColumn,startRow:r.model.startRow,endRow:r.model.endRow},n={startColumn:e.startColumn,endColumn:e.endColumn,startRow:e.startRow,endRow:e.endRow};this._commandService.executeCommand(vxe.id,{sourceRange:t,targetRange:n})})),e.add(r.fillControl.onDblclick$.subscribeEvent(()=>{let e={startColumn:r.model.startColumn,endColumn:r.model.endColumn,startRow:r.model.startRow,endRow:r.model.endRow};this._handleDbClickFill(e)})),e.add(r.fillControl.onPointerDown$.subscribeEvent(()=>{this._editorBridgeService.isVisible().visible&&this._commandService.syncExecuteCommand(sDe.id,{visible:!1,eventType:FF.PointerDown,unitId:t.unitId})}))})};t(),this.disposeWithMe(this._commandService.onCommandExecuted(e=>{e.id===vSe.id&&t()})),this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET).subscribe(()=>t()))}_handleDbClickFill(e){let t=this._detectFillRange(e);t.endRow<=e.endRow||this._commandService.executeCommand(vxe.id,{sourceRange:e,targetRange:t})}_detectFillRange(e){var t,r,n;let{startRow:i,endRow:a,startColumn:o,endColumn:s}=e,l=null==(t=this._univerInstanceService.getCurrentUnitOfType(Pi.UNIVER_SHEET))?void 0:t.getActiveSheet();if(!l)return e;let u=l.getCellMatrix(),c=l.getMaxRows(),d=l.getMaxColumns(),h=a+1;if(o>0&&null!=(null==(r=u.getValue(h,o-1))?void 0:r.v))for(var m;null!=(null==(m=u.getValue(h+1,o-1))?void 0:m.v)&&h{let{row:t,autoHeight:r}=e;return!(!r||o.getRowHeight(t)===r)});if(0===u.length)return{redos:[],undos:[]};let c={subUnitId:s,unitId:a,rowsAutoHeightInfo:u},d=uEe(c,o);return{undos:[{id:hEe.id,params:d}],redos:[{id:hEe.id,params:c}]}}_initialize(){this.disposeWithMe(this._sheetInterceptorService.interceptAutoHeight({getMutations:e=>{let{unitId:t,subUnitId:r,ranges:n,autoHeightRanges:i,lazyAutoHeightRanges:a,cellHeights:o}=e,s=this.getUndoRedoParamsOfAutoHeight(null==i?n:i,r,o);return this._processLazyAutoHeight(s,t,r,a)}}))}};EDe=pLe([gLe(0,kX),gLe(1,Y(iwe)),gLe(2,Y(rSe)),gLe(3,Y(dg)),gLe(4,Tc)],EDe);let SDe=class extends tu{constructor(e,t,r,n){super(),this._context=e,this._sheetSkeletonManagerService=t,this._renderManagerService=r,this._permissionService=n,nLe(this,"_enterActiveRender",void 0),this._initEventBinding()}_initEventBinding(){let e=new eu,t=this._context.unit,r=r=>{if(e.dispose(),!r)return;let n=this._context.unitId,{skeleton:i}=r,a=this._renderManagerService.getRenderById(n);if(a&&a.mainComponent){let r=a.mainComponent,o=e=>{let{offsetX:r,offsetY:o}=e,s=a.scene,l=t.getActiveSheet();if(!l)return;let u=s.getActiveViewportByCoord(TF.FromArray([r,o]));if(!u)return;let{scaleX:c,scaleY:d}=s.getAncestorScale(),h={x:u.viewportScrollX,y:u.viewportScrollY},m=i.getCellIndexByOffset(r,o,c,d,h),f=i.worksheet.getMergedCell(m.row,m.column),g={actualRow:f?f.startRow:m.row,actualCol:f?f.startColumn:m.column,mergeCell:f,row:m.row,col:m.column};if(!g||!i)return;let p=l.getCell(g.actualRow,g.actualCol);if(!p)return;let v=p.customRender;if(null==v||!v.length)return;let b=g.actualRow,C=g.actualCol,y=v.sort(jh),_=l.getSheetId(),w={data:p,style:i.getStyles().getStyleByCell(p),primaryWithCoord:i.getCellWithCoordByIndex(g.actualRow,g.actualCol),unitId:n,subUnitId:_,row:b,col:C,workbook:t,worksheet:l},E={x:h.x+r/c,y:h.y+o/d},S=y.find(e=>{var t;return null==(t=e.isHit)?void 0:t.call(e,E,w)});return S?[S,w]:void 0},s=r.onPointerDown$.subscribeEvent(e=>{let t=o(e);if(t){var r,n,i;let[a,o]=t,{row:s,col:l,worksheet:u,unitId:c,subUnitId:d}=o;if(null==(r=this._permissionService.composePermission([new PSe(c).id,new JSe(c,d).id]))||!r.every(e=>e.value))return!1;let h=null==(n=u.getCell(s,l))||null==(n=n.selectionProtection)?void 0:n[0];if(!1===(null==h?void 0:h[Di.Edit]))return!1;null==(i=a.onPointerDown)||i.call(a,o,e)}}),l=df(r.onPointerMove$).pipe(pq(30)).subscribe(e=>{let t=o(e);if(t){let[o,s]=t;var r,n,i,a;this._enterActiveRender?this._enterActiveRender.render!==o&&(null==(r=(n=this._enterActiveRender.render).onPointerLeave)||r.call(n,this._enterActiveRender.cellContext,e),this._enterActiveRender={render:o,cellContext:s},null==(i=o.onPointerEnter)||i.call(o,s,e)):(this._enterActiveRender={render:o,cellContext:s},null==(a=o.onPointerEnter)||a.call(o,s,e))}else if(this._enterActiveRender){var s,l;null==(s=(l=this._enterActiveRender.render).onPointerLeave)||s.call(l,this._enterActiveRender.cellContext,e),this._enterActiveRender=null}});s&&e.add(s),l&&e.add(l)}};this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(r)),r(this._sheetSkeletonManagerService.getCurrentParam()),this.disposeWithMe(e)}};SDe=pLe([gLe(1,Y(vLe)),gLe(2,kX),gLe(3,Eg)],SDe);const ADe=[{value:"DEFAULT_PASTE",label:"rightClick.paste"},{value:"SPECIAL_PASTE_VALUE",label:"rightClick.pasteValue"},{value:"SPECIAL_PASTE_FORMAT",label:"rightClick.pasteFormat"},{value:"SPECIAL_PASTE_COL_WIDTH",label:"rightClick.pasteColWidth"},{value:"SPECIAL_PASTE_BESIDES_BORDER",label:"rightClick.pasteBesidesBorder"},{value:"SPECIAL_PASTE_FORMULA",label:"formula.operation.pasteFormula"}],IDe=()=>{let e=iK(ike),t=aK(e.showMenu$,!1),r=aK(e.pasteOptionsCache$,null),n=iK(Cg),i=iK(Vc),[a,o]=(0,_q.useState)(!1),[s,l]=(0,_q.useState)(!1),u=(e=>{var t,r,n,i,a;let o=iK(dg),s=iK(kX),l=bDe();if(!e||!l)return null;let u={startRow:e.rows[0],startCol:e.cols[0],endRow:e.rows[e.rows.length-1],endCol:e.cols[e.cols.length-1]};if(u.endRow<0||u.endCol<0)return null;let c=s.getRenderById(l.getUnitId()),d=null==c?void 0:c.with(vLe),h=null==c?void 0:c.with(dLe),m=PPe(o,s);if(!m||!h)return null;let{scene:f}=m,g=null==d?void 0:d.getCurrentSkeleton(),p=h.getViewPort(),v=null==f?void 0:f.scaleX,b=null==f?void 0:f.scaleY,C=null==f?void 0:f.getViewportScrollXY(p),y=null==(t=f.getEngine())?void 0:t.getCanvas();if(!(v&&f&&v&&b&&C))return null;let _=null==g?void 0:g.getNoMergeCellPositionByIndex(u.endRow,u.endCol),w=null==(r=null==_?void 0:_.endX)?0:r,E=null==(n=null==_?void 0:_.endY)?0:n,S=null==(i=zz(w,v,C))?-9999:i,A=null==(a=Xz(E,b,C))?-9999:a,I=null==y?void 0:y.getWidth(),R=null==y?void 0:y.getHeight();if(!I||!R)return null;let x=S,T=A;return S+50<=I||(x=I-100),A+50<=R||(T=R-100),{positionX:x,positionY:T}})(null==r?void 0:r.target.pastedRange);if(!u||!t||u.positionX<50||u.positionY<30)return null;let c=a||s;return(0,$Z.jsx)("div",{className:"univer-absolute univer-inset-0 univer-z-10 univer-size-0",children:(0,$Z.jsx)("div",{className:"univer-absolute",style:{left:u.positionX+2,top:u.positionY+2},onMouseEnter:()=>o(!0),onMouseLeave:()=>o(!1),children:(0,$Z.jsx)(H9,{align:"start",items:ADe.map(e=>({type:"checkbox",value:e.value,label:n.t(e.label),checked:(null==r?void 0:r.pasteType)===rke[e.value],onSelect:()=>(e=>{l(!1),i.executeCommand(gke.id,{type:e})})(e.value)})),open:s,onOpenChange:l,children:(0,$Z.jsxs)("div",{className:x7("univer-flex univer-items-center univer-gap-2 univer-rounded univer-p-1 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-800",V7,{"univer-bg-gray-100 dark:!univer-bg-gray-800":s,"univer-bg-white dark:!univer-bg-gray-900":!s}),children:[(0,$Z.jsx)(AQ,{className:"univer-fill-primary-600 univer-text-gray-900 dark:!univer-text-white"}),c&&(0,$Z.jsx)(uQ,{className:"dark:!univer-text-white"})]})})})})},RDe=[sDe.id,mAe.id,QPe.id,Ewe.id,Iwe.id,Rwe.id,ywe.id,wwe.id,Swe.id,Awe.id,nEe.id,cEe.id,vSe.id,Bg];var xDe=class{constructor(){nLe(this,"_state",null),nLe(this,"_rect",null),nLe(this,"_state$",new Qn(null)),nLe(this,"state$",this._state$.asObservable()),nLe(this,"_rect$",new Qn(null)),nLe(this,"rect$",this._rect$.asObservable()),nLe(this,"_focus",!1),nLe(this,"_focus$",new Qn(this._focus)),nLe(this,"focus$",this._focus$.asObservable())}dispose(){this._state$.complete(),this._state=null,this._rect$.complete(),this._rect=null}setState(e){this._state=e,this._refresh(e)}getRect(){return this._rect}setRect(e){this._rect=e,this._rect$.next(e)}getState(){return this._state}setFocus(e=!1){this._focus=e,this._focus$.next(e)}_refresh(e){this._state$.next(e)}};const TDe=V("univer.sheet-cell-editor-manager.service");let NDe=class extends tu{constructor(e,t,r,n,i,a){super(),this._layoutService=e,this._cellEditorManagerService=t,this._editorBridgeService=r,this._renderManagerService=n,this._univerInstanceService=i,this._configService=a}get _currentRenderer(){return PX(Pi.UNIVER_SHEET,this._univerInstanceService,this._renderManagerService)}get _editingUnitId(){var e,t;return null==(e=null==(t=this._editorBridgeService.getEditCellState())?void 0:t.unitId)?"":e}get _editingRenderer(){return this._renderManagerService.getRenderById(this._editingUnitId)}get _renderer(){var e;let t=null==(e=this._univerInstanceService.getCurrentUnitOfType(Pi.UNIVER_SHEET))?void 0:e.getUnitId();return this._editingUnitId===t?this._editingRenderer:this._currentRenderer}get _sheetSkeletonManagerService(){var e;return null==(e=this._renderer)?void 0:e.with(vLe)}get engine(){var e;return null==(e=this._renderer)?void 0:e.engine}fitTextSize(e){var t,r,n,i;let a=this._editorBridgeService.getEditCellState();if(!a)return;let{position:o,documentLayoutObject:s,canvasOffset:l,scaleX:u,scaleY:c}=a,{startX:d,startY:h,endX:m,endY:f}=o,g=this._univerInstanceService.getUnit(El,Pi.UNIVER_DOC);if(null==g)return;let p=this._getEditorSkeleton();if(!p)return;let v=this._predictingSize(o,l,p,s,u,c);if(!v||v.actualWidth<=0)return;let{actualWidth:b,actualHeight:C}=v,{verticalAlign:y,horizontalAlign:_,paddingData:w,fill:E}=s;b=b+(null==(t=w.l)?0:t)*u+(null==(r=w.r)?0:r)*u,C=C+(null==(n=w.t)?0:n)*c+(null==(i=w.b)?0:i)*c;let S=m-d,A=f-h;Sb?(null==w?v&&new lX(v,{enableHorizontal:!1,barSize:8}):null==v||v.resetCanvasSizeAndUpdateScroll(),null==v||v.scrollToViewportPos({viewportScrollY:_-b}),_=b):(w=null,null==v||null==(E=v.getScrollBar())||E.dispose()),(e+=(null==w?void 0:w.barSize)||0)>C&&(e=C),this._addBackground(g,e/a,t/o,i);let{scaleX:S,scaleY:A}=g.getPrecisionScale();g.transformByState({width:e*y/a,height:t*y/o,scaleX:a*y,scaleY:o*y}),f.resize(e*y/a,t*y/o),setTimeout(()=>{p.resizeBySize(ZV(e,S),ZV(_,A)),null==l||l()},0);let I=this._layoutService.getContentElement().getBoundingClientRect(),R=d.getBoundingClientRect();h=h*y+(R.left-I.left),m=m*y+(R.top-I.top);let x=r.endX-r.startX;s===Lu.RIGHT?h+=(x-e)*y:s===Lu.CENTER&&(h+=(x-e*y)/2),this._cellEditorManagerService.setState({startX:h,startY:m,endX:e*y+h,endY:_*y+m,show:!0})}_addBackground(e,t,r,n){let i="_backgroundRectHelperColor_",a=e.getObject(i);null==a&&null==n||(null==a?e.addObjects([new tX(i,{width:t,height:r,fill:n,evented:!1})],2):null==n?a.dispose():(a.setProps({fill:n}),a.transformByState({width:t,height:r})))}resizeCellEditor(e){var t;let r=this._cellEditorManagerService.getState();if(!r||!this._editorBridgeService.isVisible().visible)return;this._editorBridgeService.refreshEditCellPosition(!0);let n=this._editorBridgeService.getEditCellState();if(!n)return;let i=null==(t=this._sheetSkeletonManagerService)||null==(t=t.getSkeletonParam(n.sheetId))?void 0:t.skeleton;if(!i)return;let{row:a,column:o,scaleX:s,scaleY:l,position:u,canvasOffset:c,documentLayoutObject:d}=n,{horizontalAlign:h}=d,m=this._getEditorMaxSize(u,c,h);if(!m)return;let{height:f,width:g,scaleAdjust:p}=m,v=i.getCellWithCoordByIndex(a,o),b=Math.min((v.mergeInfo.endY-v.mergeInfo.startY)*l,f)*p,C=Math.min((v.mergeInfo.endX-v.mergeInfo.startX)*s,g)*p,y=r.endY-r.startY,_=r.endX-r.startX;if(y!==b||_!==C){if(this._editorBridgeService.refreshEditCellPosition(!0),!this._getEditorSkeleton())return;this.fitTextSize(e)}}_getEditorObject(){return VOe(this._editorBridgeService.getCurrentEditorId(),this._renderManagerService)}_getEditorSkeleton(){var e;return null==(e=this._renderManagerService.getRenderById(El))?void 0:e.with(YX).getSkeleton()}};NDe=pLe([gLe(0,O8),gLe(1,TDe),gLe(2,GPe),gLe(3,kX),gLe(4,dg),gLe(5,Tc)],NDe);let MDe=class extends ru{constructor(e,t,r,n,i,a,o,s){super(),this._context=e,this._instanceSrv=t,this._commandService=r,this._editorBridgeService=n,this._selectionManagerService=i,this._contextService=a,this._renderManagerService=o,this._sheetSkeletonManagerService=s,nLe(this,"_d",void 0),this.disposeWithMe(this._instanceSrv.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET).subscribe(e=>{e&&e.getUnitId()===this._context.unitId?this._d=this._init():this._disposeCurrent()}))}_init(){let e=new eu;return this._initSelectionChangeListener(e),this._initEventListener(e),this._commandExecutedListener(e),this._initialKeyboardListener(e),e}_disposeCurrent(){var e;null==(e=this._d)||e.dispose(),this._d=null}_initSelectionChangeListener(e){e.add(Ei(this._selectionManagerService.selectionMoveEnd$,this._selectionManagerService.selectionSet$,this._selectionManagerService.selectionMoveStart$).subscribe(e=>this._updateEditorPosition(e)))}_updateEditorPosition(e){var t;if(this._editorBridgeService.isVisible().visible)return;let r=null==e||null==(t=e[e.length-1])?void 0:t.primary;if(r){var n,i;let{scene:e,engine:t}=this._getSheetObject(),a=this._context.unitId,o=null==(n=this._context.unit.getActiveSheet())?void 0:n.getSheetId();if(!o)return;let s=null==(i=this._sheetSkeletonManagerService.getSkeletonParam(o))?void 0:i.skeleton.getCellWithCoordByIndex(r.actualRow,r.actualColumn),l=s?{actualRow:s.actualRow,actualColumn:s.actualColumn,isMerged:s.isMerged,startRow:s.mergeInfo.startRow,startColumn:s.mergeInfo.startColumn,endRow:s.mergeInfo.endRow,endColumn:s.mergeInfo.endColumn,isMergedMainCell:s.isMergedMainCell}:r;this._commandService.executeCommand(nDe.id,{scene:e,engine:t,primary:l,unitId:a,sheetId:o})}}refreshEditorPosition(){let e=this._selectionManagerService.getWorkbookSelections(this._context.unitId);if(e){let t=e.getCurrentSelections();t&&this._updateEditorPosition([...t])}}_initEventListener(e){let{spreadsheet:t,spreadsheetColumnHeader:r,spreadsheetLeftTopPlaceholder:n,spreadsheetRowHeader:i}=this._getSheetObject();e.add(t.onDblclick$.subscribeEvent(e=>{2!==e.button&&this._commandService.executeCommand(sDe.id,{visible:!0,eventType:FF.Dblclick,unitId:this._context.unitId})})),e.add(t.onPointerDown$.subscribeEvent({next:this._tryHideEditor.bind(this),priority:-1})),e.add(r.onPointerDown$.subscribeEvent({next:this._tryHideEditor.bind(this),priority:-1})),e.add(n.onPointerDown$.subscribeEvent({next:this._tryHideEditor.bind(this),priority:-1})),e.add(i.onPointerDown$.subscribeEvent({next:this._tryHideEditor.bind(this),priority:-1}))}_initialKeyboardListener(e){let t=null,r=r=>{let n=r.with(voe);n&&(t=Jl(n.onInputBefore$.subscribe(e=>{if(!this._isCurrentSheetFocused())return;let t=this._contextService.getContextValue(If),n=this._contextService.getContextValue(yf),i=r.unitId;this._editorBridgeService.isVisible().visible||i&&n&&!t&&this._showEditorByKeyboard(e)})),e.add(t))},n=this._renderManagerService.getRenderById(El);n?r(n):this.disposeWithMe(this._renderManagerService.created$.pipe(Un(e=>e.unitId===El)).subscribe(e=>{null==t||t.dispose(),r(e)}))}_commandExecutedListener(e){let t=new Set([oSe.id,KPe.id]);e.add(this._commandService.onCommandExecuted(e=>{if(t.has(e.id)){if(this._editorBridgeService.isVisible().visible)return;this._editorBridgeService.refreshEditCellState()}})),e.add(this._commandService.beforeCommandExecuted((e,t)=>{null!=t&&t.fromCollab||e.id===fEe.id&&this._tryHideEditor()}))}_showEditorByKeyboard(e){let t=null==e?void 0:e.event;null==e||!t.data&&"InsertParagraph"!==t.inputType||this._commandService.syncExecuteCommand(sDe.id,{visible:!0,eventType:FF.Keyboard,keycode:t.which,unitId:this._context.unitId})}_tryHideEditor(){this._editorBridgeService.isForceKeepVisible()||this._hideEditor()}_hideEditor(){!0===this._editorBridgeService.isVisible().visible&&this._commandService.syncExecuteCommand(sDe.id,{visible:!1,eventType:FF.PointerDown,unitId:this._context.unitId})}_getSheetObject(){return PPe(this._context.unit,this._context)}_isCurrentSheetFocused(){var e;return(null==(e=this._instanceSrv.getFocusedUnit())?void 0:e.getUnitId())===this._context.unitId}};MDe=pLe([gLe(1,dg),gLe(2,Vc),gLe(3,GPe),gLe(4,Y(rSe)),gLe(5,Mc),gLe(6,kX),gLe(7,Y(vLe))],MDe);let ODe=function(e){return e.None="none",e.Editable="editable",e.CellStyle="cellStyle",e.CellValue="cellValue",e.RowStyle="rowStyle",e.ColumnStyle="columnStyle",e}({});const LDe=[hRe.id,qxe.id,JIe.id,YIe.id,AAe.id,OAe.id,jAe.id,zAe.id,ZTe.id,ETe.id,wxe.id,oSe.id,aSe.id],kDe=V("sheet-ui.repeat-last-action.service");let PDe=class extends tu{constructor(e){super(),this._commandService=e,nLe(this,"_action",null),nLe(this,"_recordingDepth",0),nLe(this,"_repeatableCommands",new Set(LDe)),nLe(this,"_customCommandHandlers",new Map),nLe(this,"_permissionCheckMap",new Map([[ODe.Editable,new Set([AAe.id,OAe.id,jAe.id,zAe.id])],[ODe.CellStyle,new Set([hRe.id,qxe.id,oSe.id,aSe.id])],[ODe.CellValue,new Set([wxe.id,aSe.id])],[ODe.RowStyle,new Set([ZTe.id])],[ODe.ColumnStyle,new Set([ETe.id])]]))}dispose(){super.dispose(),this._action=null,this._repeatableCommands.clear(),this._customCommandHandlers.clear(),this._permissionCheckMap.clear()}setAction(e){this._recordingDepth>0||(this._action=e)}getAction(){return this._action}getRepeatableCommands(){return this._repeatableCommands}getActionPermission(){if(!this._action)return ODe.None;let e=[];for(let[t,r]of this._permissionCheckMap.entries())r.has(this._action.id)&&e.push(t);return 0===e.length?ODe.None:1===e.length?e[0]:e}registerRepeatableCommand(e,t,r=ODe.None){var n;return this._repeatableCommands.add(e),this._customCommandHandlers.set(e,t),this._permissionCheckMap.has(r)||this._permissionCheckMap.set(r,new Set),null==(n=this._permissionCheckMap.get(r))||n.add(e),Jl(()=>{var t;this._repeatableCommands.delete(e),this._customCommandHandlers.delete(e),null==(t=this._permissionCheckMap.get(r))||t.delete(e)})}async runWithoutRecording(e){if(!this._action)return!1;this._recordingDepth+=1;try{let{id:t,params:r}=this._action;if(t===hRe.id){let n={...r,range:e[e.length-1]};return await this._commandService.executeCommand(t,n)}if(t===JIe.id){let n={...r,selections:e};return await this._commandService.executeCommand(t,n)}if(t===AAe.id){let t={range:e[e.length-1]};return await this._commandService.executeCommand(_Ae.id,t)}if(t===OAe.id){let t={range:e[e.length-1]};return await this._commandService.executeCommand(EAe.id,t)}if(t===jAe.id){let t={range:e[e.length-1]};return await this._commandService.executeCommand(CAe.id,t)}if(t===zAe.id){let t={range:e[e.length-1]};return await this._commandService.executeCommand(vAe.id,t)}if(t===qxe.id||t===ZTe.id||t===ETe.id||t===wxe.id||t===oSe.id||t===aSe.id||t===YIe.id){let n={...r,ranges:e};return await this._commandService.executeCommand(t,n)}if(this._customCommandHandlers.has(t)){let n=this._customCommandHandlers.get(t)(e,r);return await this._commandService.executeCommand(t,n)}return await this._commandService.executeCommand(t,r)}finally{--this._recordingDepth}}};PDe=pLe([gLe(0,Vc)],PDe);const DDe={[ODe.Editable]:{permissionTypes:{workbookTypes:[PSe],worksheetTypes:[JSe],rangeTypes:[SSe]},errorMessageKey:"permission.dialog.editErr"},[ODe.CellStyle]:{permissionTypes:{workbookTypes:[PSe],worksheetTypes:[JSe,sAe],rangeTypes:[SSe]},errorMessageKey:"permission.dialog.setStyleErr"},[ODe.CellValue]:{permissionTypes:{workbookTypes:[PSe],worksheetTypes:[JSe,lAe],rangeTypes:[SSe]},errorMessageKey:"permission.dialog.editErr"},[ODe.RowStyle]:{permissionTypes:{workbookTypes:[PSe],worksheetTypes:[JSe,cAe],rangeTypes:[SSe]},errorMessageKey:"permission.dialog.setRowColStyleErr"},[ODe.ColumnStyle]:{permissionTypes:{workbookTypes:[PSe],worksheetTypes:[JSe,uAe],rangeTypes:[SSe]},errorMessageKey:"permission.dialog.setRowColStyleErr"}},UDe={id:"sheet.command.repeat-last-action",type:Bc.COMMAND,handler:async e=>{var t;let r=null==(t=e.get(rSe).getCurrentSelections())?void 0:t.map(e=>e.range);if(null==r||!r.length)return!1;let n=e.get(kDe),i=e.get(NNe),a=e.get(Cg),o=n.getActionPermission();if(Array.isArray(o))for(let e of o){if(e===ODe.None)continue;let t=DDe[e];if(!i.permissionCheckWithRanges(t.permissionTypes))return i.blockExecuteWithoutPermission(a.t(t.errorMessageKey)),!1}else if(o!==ODe.None){let e=DDe[o];if(!i.permissionCheckWithRanges(e.permissionTypes))return i.blockExecuteWithoutPermission(a.t(e.errorMessageKey)),!1}return await n.runWithoutRecording(r)}},BDe=[x8.ARROW_DOWN,x8.ARROW_UP,x8.ARROW_LEFT,x8.ARROW_RIGHT],VDe=[x8.ENTER,x8.TAB,...BDe];function FDe(){let e=[];for(let t of BDe)e.push({id:uDe.id,binding:t,preconditions:e=>qOe(e),staticParameters:{visible:!1,eventType:FF.Keyboard,keycode:t,isShift:!1}}),e.push({id:uDe.id,binding:t|N8.SHIFT,preconditions:e=>qOe(e),staticParameters:{visible:!1,eventType:FF.Keyboard,keycode:t,isShift:!0}});return e}const jDe={id:lDe.id,binding:x8.F2,description:"shortcut.sheet.start-editing",group:"4_sheet-edit",preconditions:jOe,staticParameters:{visible:!0,eventType:FF.Keyboard,keycode:x8.F2}},HDe={id:UDe.id,binding:x8.F4,description:"shortcut.sheet.repeat-last-action",group:"4_sheet-edit",preconditions:jOe},WDe={id:sDe.id,binding:x8.ENTER,description:"shortcut.sheet.toggle-editing",group:"4_sheet-edit",preconditions:e=>qOe(e),staticParameters:{visible:!1,eventType:FF.Keyboard,keycode:x8.ENTER}},zDe={id:sDe.id,binding:x8.TAB,preconditions:e=>qOe(e),staticParameters:{visible:!1,eventType:FF.Keyboard,keycode:x8.TAB}},XDe={id:sDe.id,binding:x8.ESC,description:"shortcut.sheet.abort-editing",group:"4_sheet-edit",preconditions:e=>qOe(e),staticParameters:{visible:!1,eventType:FF.Keyboard,keycode:x8.ESC}},qDe={id:sDe.id,binding:x8.ENTER|N8.CTRL_COMMAND,mac:x8.ENTER|N8.MAC_CTRL,preconditions:e=>qOe(e),staticParameters:{visible:!1,eventType:FF.Keyboard,keycode:x8.ENTER|N8.CTRL_COMMAND}},GDe={id:Nne.id,description:"shortcut.sheet.break-line",group:"4_sheet-edit",preconditions:e=>WOe(e),binding:x8.ENTER|N8.ALT},YDe={id:rie.id,preconditions:e=>zOe(e)||XOe(e),binding:x8.BACKSPACE},QDe={id:nie.id,preconditions:e=>zOe(e)||XOe(e),binding:x8.DELETE},ZDe={id:rie.id,preconditions:e=>zOe(e)||XOe(e),binding:x8.BACKSPACE|N8.SHIFT},KDe={id:sDe.id,description:"shortcut.sheet.delete-and-start-editing",group:"4_sheet-edit",preconditions:e=>jOe(e)&&!XOe(e),binding:x8.BACKSPACE,staticParameters:{visible:!0,eventType:FF.Keyboard,keycode:x8.BACKSPACE}},$De={"0":"0","1":"1","2":"2","3":"3","4":"4","5":"5","6":"6","7":"7","8":"8","9":"9",A:"A",B:"B",C:"C",D:"D",E:"E",F:"F",G:"G",H:"H",I:"I",J:"J",K:"K",L:"L",M:"M",N:"N",O:"O",P:"P",Q:"Q",R:"R",S:"S",T:"T",U:"U",V:"V",W:"W",X:"X",Y:"Y",Z:"Z",a:"a",b:"b",c:"c",d:"d",e:"e",f:"f",g:"g",h:"h",i:"i",j:"j",k:"k",l:"l",m:"m",n:"n",o:"o",p:"p",q:"q",r:"r",s:"s",t:"t",u:"u",v:"v",w:"w",x:"x",y:"y",z:"z","%":"%","-":"-",".":".",":":":","/":"/","+":"+","@":"@","&":"&","*":"*","#":"#","=":"=",">":">","<":"<","$":"$",""":'"',"'":"'","(":"(",")":")"," ":" ",",":",","!":"!","?":"?",";":";","[":"[","]":"]","{":"{","}":"}"},JDe={true:"TRUE",false:"FALSE"};function eUe(e){return $De[e]||e}function tUe(e,t,r,n){return t.substring(0,r)+e+t.substring(n)}var rUe=function(e){return e[e.InitialState=0]="InitialState",e[e.StartEditor=1]="StartEditor",e[e.CursorChange=2]="CursorChange",e}(rUe||{});let nUe=class extends tu{constructor(e,t,r,n,i,a,o,s,l,u,c,d,h,m,f,g){super(),this._undoRedoService=e,this._contextService=t,this._renderManagerService=r,this._editorBridgeService=n,this._cellEditorManagerService=i,this._lexerTreeBuilder=a,this._functionService=o,this._textSelectionManagerService=s,this._commandService=l,this._localService=u,this._editorService=c,this._univerInstanceService=d,this._sheetInterceptorService=h,this._sheetCellEditorResizeService=m,this._selectionManagerService=f,this._configService=g,nLe(this,"_cursorChange",rUe.InitialState),nLe(this,"_editingUnit",""),nLe(this,"_cursorTimeout",void 0),this.disposeWithMe(this._init()),this._initEditorVisibilityListener()}dispose(){super.dispose()}get _workbookSelections(){return this._selectionManagerService.getWorkbookSelections(this._editingUnit)}_init(){let e=new eu;return this._subscribeToCurrentCell(e),this._initialCursorSync(e),this._listenEditorFocus(e),this._commandExecutedListener(e),this._initSkeletonListener(e),e.add(()=>{clearTimeout(this._cursorTimeout)}),this._cursorTimeout=setTimeout(()=>{this._cursorStateListener(e)},1e3),e}_initEditorVisibilityListener(){this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET).subscribe(async e=>{if(this._editingUnit&&!this._editorBridgeService.isForceKeepVisible()&&(!e||e.getUnitId()!==this._editingUnit)){var t;if(this._commandService.syncExecuteCommand(sDe.id,{visible:!1,eventType:FF.Keyboard,keycode:x8.ESC,unitId:this._editingUnit}),!e)return;let r=null==(t=this._renderManagerService.getRenderById(e.getUnitId()))?void 0:t.with(MDe);r&&r.refreshEditorPosition()}})),this.disposeWithMe(this._editorBridgeService.visible$.pipe(Zn((e,t)=>e.visible===t.visible)).subscribe(async e=>{e.visible?(this._editingUnit=e.unitId,this._handleEditorVisible(e)):this._editingUnit&&(await this._handleEditorInvisible(e),this._editingUnit="")}))}_listenEditorFocus(e){let t=this._getEditorObject();t&&e.add(t.document.onPointerDown$.subscribeEvent(()=>{if(this._editingUnit&&this._editorBridgeService.isVisible()){var e;let t=this._editorBridgeService.getEditCellState(),r=this._editorBridgeService.getCurrentEditorId();if(!t||!r)return;null==(e=this._sheetCellEditorResizeService)||e.fitTextSize()}}))}_initialCursorSync(e){e.add(this._cellEditorManagerService.focus$.pipe(Un(e=>!!e)).subscribe(()=>{var e;let t=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_DOC);if(!t)return;let r=null==(e=this._renderManagerService.getRenderById(null==t?void 0:t.getUnitId()))?void 0:e.with(voe);r&&r.sync()}))}_initSkeletonListener(e){let t=new Set(vEe);t.delete(fEe.id),e.add(this._commandService.onCommandExecuted(e=>{var r;if(t.has(e.id)){switch(e.id){case Swe.id:case Awe.id:case Rwe.id:case Iwe.id:case wwe.id:case ywe.id:{let t=this._editorBridgeService.getEditLocation();if(!t)break;let r=PIe({startRow:t.row,startColumn:t.column,endRow:t.row,endColumn:t.column},e);if(!r)break;let n=r.startRow,i=r.startColumn;this._editorBridgeService.updateEditLocation(n,i);break}}null==(r=this._sheetCellEditorResizeService)||r.resizeCellEditor(()=>{this._textSelectionManagerService.refreshSelection({unitId:El,subUnitId:El})})}}))}_subscribeToCurrentCell(e){e.add(this._editorBridgeService.currentEditCellState$.subscribe(e=>{var t,r,n;if(null!=(t=this._configService.getConfig("sheets-ui.config"))&&t.disableEdit||null==e||this._editorBridgeService.isForceKeepVisible())return;let i=this._editorBridgeService.getEditCellState();if(null==i)return;let{position:a,documentLayoutObject:o,scaleX:s,editorUnitId:l}=i;if(this._contextService.getContextValue(xf))return;let u=this._getDocumentDataModel();if(null==u)return;let{startX:c,endX:d}=a,{textRotation:h,wrapStrategy:m,documentModel:f}=o,{vertexAngle:g}=$F(h);m===Pu.WRAP&&0===g&&u.updateDocumentDataPageSize((d-c)/s),this._commandService.syncExecuteCommand(sae.id,{unitId:l,snapshot:f.getSnapshot()}),this._contextService.setContextValue(Ef,!0),this._textSelectionManagerService.replaceDocRanges([{startOffset:0,endOffset:0}],{unitId:El,subUnitId:El});let p=null==(r=this._renderManagerService.getRenderById(El))?void 0:r.with(voe),v=null==(n=this._renderManagerService.getRenderById(Sl))?void 0:n.with(voe);(null!=p&&p.canFocusing||null!=v&&v.canFocusing)&&(this._univerInstanceService.setCurrentUnitForType(El),null==p||p.activate(-1e3,-1e3,!0))}))}_commandExecutedListener(e){e.add(this._commandService.onCommandExecuted(e=>{if(e.id===KX.id){let{unitId:r}=e.params;if((e=>e.includes("range_selector"))(r)||(this._editorBridgeService.changeEditorDirty(!0),!this._editorBridgeService.isVisible().visible))return;var t;r===El&&(null==(t=this._sheetCellEditorResizeService)||t.fitTextSize())}}));let t=[uDe.id];e.add(this._commandService.onCommandExecuted(e=>{if(t.includes(e.id)){let t=e.params,{keycode:r,isShift:n}=t;if(null!=r&&(this._cursorChange===rUe.CursorChange||this._contextService.getContextValue(If)))return void this._moveInEditor(r,n);this._commandService.syncExecuteCommand(sDe.id,t)}e.id===lDe.id&&(this._cursorChange=rUe.CursorChange)}))}_handleEditorVisible(e){var t,r;let{eventType:n,keycode:i}=e;this._cursorChange=n===FF.PointerDown||n===FF.Dblclick?rUe.CursorChange:rUe.StartEditor;let a=this._editorBridgeService.getEditLocation();if(null==a)return;this._commandService.syncExecuteCommand(dDe.id,{range:{startRow:a.row,startColumn:a.column,endRow:a.row,endColumn:a.column}}),this._editorBridgeService.refreshEditCellPosition(!1);let{unitId:o,isInArrayFormulaRange:s=!1}=a,l=this._getEditorObject();if(null==l)return;let{document:u,scene:c}=l;this._contextService.setContextValue(Sf,!0);let d=this._getDocumentDataModel(),h=this._getEditorSkeleton(El);if(!h||!d)return;null==(t=this._sheetCellEditorResizeService)||t.fitTextSize(()=>{let e=c.getViewport(dne.VIEW_MAIN);null==e||e.scrollToViewportPos({viewportScrollX:1/0,viewportScrollY:1/0})});let m=()=>{this._emptyDocumentDataModel(d.getSnapshot().documentStyle,!!s),u.makeDirty(),(i===x8.BACKSPACE||n===FF.Dblclick)&&(h.calculate(),this._editorBridgeService.changeEditorDirty(!0)),this._textSelectionManagerService.replaceDocRanges([{startOffset:0,endOffset:0}],{unitId:El,subUnitId:El})};if(this._isCellImageData(d.getSnapshot()))m();else if(n===FF.Keyboard&&i===x8.F2){var f,g;u.makeDirty(),this._textSelectionManagerService.replaceDocRanges([{startOffset:0,endOffset:0}]);let e=(null==(f=null==(g=d.getBody())?void 0:g.dataStream.length)?2:f)-2;this._textSelectionManagerService.replaceDocRanges([{startOffset:e,endOffset:e}],{unitId:El,subUnitId:El})}else if(n===FF.Keyboard||n===FF.Dblclick&&s)m();else if(n===FF.Dblclick){if(this._contextService.getContextValue(Af))return;let e=d.getBody().dataStream.length-2||0;this._textSelectionManagerService.replaceDocRanges([{startOffset:e,endOffset:e}])}null==(r=this._renderManagerService.getRenderById(o))||r.scene.resetCursor()}_refreshCurrentSelections(e){let t=this._workbookSelections.getSelectionsOfWorksheet(e);t&&(this._contextService.setContextValue(iSe,!1),this._commandService.syncExecuteCommand(vSe.id,{unitId:this._editingUnit,subUnitId:e,selections:t}))}async _handleEditorInvisible(e){var t,r;let n=this._editorBridgeService.getEditCellState(),i=this._univerInstanceService.getUnit(El),a=uu.deepClone(null==i?void 0:i.getSnapshot()),{keycode:o}=e;this._cursorChange=rUe.InitialState;let s=null==(t=null==n?void 0:n.unitId)?"":t;if(this._exitInput(e),null==n)return;let l=this._univerInstanceService.getUnit(s,Pi.UNIVER_SHEET);if(!l)return;let u=l.getActiveSheet(),c=l.getUnitId(),d=u.getSheetId(),{unitId:h,sheetId:m}=n;if(c===h&&m!==d&&await this._commandService.executeCommand(_Te.id,{subUnitId:m,unitId:h}),o===x8.ESC)return this._editorBridgeService.isForceKeepVisible()&&this._editorBridgeService.disableForceKeepVisible(),void this._refreshCurrentSelections(m);let f=2===(null==a||null==(r=a.body)?void 0:r.dataStream.length),g=!!n.documentLayoutObject.documentModel&&this._isCellImageData(n.documentLayoutObject.documentModel.getSnapshot());a&&(!f||!g)&&!1===await this._submitEdit(a,o===(N8.CTRL_COMMAND|x8.ENTER)||o===(N8.MAC_CTRL|x8.ENTER))||void 0!==o&&this._moveSelection(o,s,d)}_getEditorObject(){return VOe(this._editorBridgeService.getCurrentEditorId(),this._renderManagerService)}_isCellImageData(e){var t,r;return(null==(t=null==(r=e.drawingsOrder)?void 0:r.length)?0:t)>0}submitCellData(e){return this._submitEdit(e.getSnapshot())}async _submitEdit(e,t=!1){var r;let n=this._editorBridgeService.getEditCellState();if(null==n)return!0;let{unitId:i,sheetId:a,row:o,column:s}=n,l=this._univerInstanceService.getUnit(i,Pi.UNIVER_SHEET);if(!l)return!0;let u=l.getActiveSheet();if(!l.getSheetBySheetId(a))return!0;u=l.getActiveSheet();let c=function(e,t,r,n,i,a){var o,s;if(null==(null==t?void 0:t.body))return null;let{body:l}=t;e.t=void 0;let u=l.dataStream,c=u.substring(u.length-2,u.length)===Rl?u.substring(0,u.length-2):u;if(c=function(e,t,r,n){let i=e;if(function(e){return[Iu.ZH_CN,Iu.ZH_TW].includes(e)}(r)){if(e.startsWith("'")||e.startsWith("'"))return`'${e.slice(1)}`;i=function(e){let t=/['"].*?['"]/g,r=[],n=e.split(t);e.replace(t,e=>(r.push(e),""));let i=n.join("").split("").map(eUe).join("");return r.forEach((e,t)=>{i=i.slice(0,2*t)+e+i.slice(2*(t+1))}),i}(i)}if(i.startsWith("="))return function(e,t,r,n){let i=r.sequenceNodesBuilder(t);if(!i)return e;let a=t,o=0;return i.forEach((t,r)=>{if("object"==typeof t){let s=t.token;if(JDe[s.toLowerCase()]){let e=t.startIndex+o+1,r=t.endIndex+o+2;a=tUe(s.toLocaleUpperCase(),a,e,r)}else if(t.nodeType===kfe.FUNCTION&&function(e,t,r,n){let i=t.getDescriptions();return r[n+1]===lhe.OPEN_BRACKET&&void 0!==i.get(function(e){return e.replace(/^@+/,"")}(e).toLocaleUpperCase())}(s,n,i,r)||t.nodeType===kfe.REFERENCE){let e=s.indexOf("!");if(e>-1){let r=s.substring(e+1),n=t.startIndex+o+(e+1)+1,i=t.endIndex+o+2;a=tUe(r.toLocaleUpperCase(),a,n,i)}else{let e=t.startIndex+o+1,r=t.endIndex+o+2;a=tUe(s.toLocaleUpperCase(),a,e,r)}}else if(s.startsWith('"')&&s.endsWith('"')||s.startsWith("'")&&s.endsWith("'")){let r=t.startIndex+o+2,n=t.endIndex+o+1;a=tUe(e.slice(r,n),a,r,n)}else if(t.nodeType!==kfe.ARRAY){let r=xd(s);if(null==r){let r=t.startIndex+o+1,n=t.endIndex+o+2;a=tUe(e.slice(r,n),a,r,n)}else if("number"==typeof r.v&&(void 0===r.z||!_s(r.z).isDate)){let e=`${r.v}`,n=t.startIndex+o+1,i=t.endIndex+o+2,{processedString:l,offset:u}=function(e,t){var r,n;let i=((null==(r=e.match(/^\s*/))?void 0:r[0])||"")+t+((null==(n=e.match(/\s*$/))?void 0:n[0])||"");return{processedString:i,offset:i.length-e.length}}(s,e);a=tUe(l,a,n,i),o+=u}}}}),a}(e,i,t,n);let a=i.toLowerCase();return JDe[a]?JDe[a]:null==xd(i)?e:i}(c,r,n.getCurrentLocale(),i),null!=(o=t.drawingsOrder)&&o.length)e.v="",e.f=null,e.si=null,e.p=t,e.t=Fu.STRING;else if(e.s&&wd(null==a||null==(s=a.get(e.s))||null==(s=s.n)?void 0:s.pattern)){e.v=c,e.f=null,e.si=null,e.p=null,e.t=Fu.STRING,iUe(l)&&"\r\n"!==l.dataStream&&(e.p=t);let r=aUe(t);r&&(e.s=r)}else if(Bd(c)){if(e.f===c)return null;let t=r.checkIfAddBracket(c);for(let e=0;e{this._cursorChange===rUe.StartEditor&&(this._cursorChange=rUe.CursorChange)})))}_moveInEditor(e,t){let r=Eu.LEFT;e===x8.ARROW_DOWN?r=Eu.DOWN:e===x8.ARROW_UP?r=Eu.UP:e===x8.ARROW_RIGHT&&(r=Eu.RIGHT),t?this._commandService.executeCommand(Doe.id,{direction:r}):this._commandService.executeCommand(Poe.id,{direction:r})}_getDocumentDataModel(){return this._univerInstanceService.getUnit(El,Pi.UNIVER_DOC)}_getEditorSkeleton(e){var t;return null==(t=this._renderManagerService.getRenderById(e))?void 0:t.with(YX).getSkeleton()}_getEditorViewModel(e){var t;return null==(t=this._renderManagerService.getRenderById(e))?void 0:t.with(YX).getViewModel()}_getEditingUnit(){return this._editingUnit?this._univerInstanceService.getUnit(this._editingUnit,Pi.UNIVER_SHEET):null}_emptyDocumentDataModel(e,t){let r=(r,n)=>{let i=uu.deepClone(r.getSnapshot()),a=this._getEditorViewModel(r.getUnitId());null!=a&&(function(e,t=!1){e.dataStream=Rl,null!=e.textRuns&&(1!==e.textRuns.length||t?e.textRuns=void 0:(e.textRuns[0].st=0,e.textRuns[0].ed=1)),null!=e.paragraphs&&(e.paragraphs=[{startIndex:0}]),null!=e.sectionBreaks&&(e.sectionBreaks=void 0),null!=e.tables&&(e.tables=void 0),null!=e.customRanges&&(e.customRanges=void 0),null!=e.customBlocks&&(e.customBlocks=void 0)}(i.body,t),n&&(i.documentStyle=e),i.drawings={},i.drawingsOrder=[],r.reset(i),a.reset(r))},n=this._getDocumentDataModel();n&&r(n,!0);let i=this._univerInstanceService.getUnit(Sl,Pi.UNIVER_DOC);i&&r(i)}};function iUe(e){let{textRuns:t=[],paragraphs:r=[],customRanges:n,customBlocks:i=[]}=e,a=e.dataStream.replace(/(\r\n)+$/,""),o=["va"];return t.filter(e=>e.st{var t;return!(!e.ts||!Object.keys(e.ts).some(e=>o.includes(e)))||Object.keys(null==(t=e.ts)?{}:t).length&&e.ed-e.ste.bullet)||r.length>=2||!(null==n||!n.length)||i.length>0}function aUe(e){let{body:t}=e;if(!t)return null;let{textRuns:r=[]}=t,n={},i=t.dataStream.replace("\r\n","");return r.forEach(e=>{let{st:t,ed:r,ts:a}=e;r-t>=i.length&&(n={...n,...a})}),Object.keys(n).length?n:null}function oUe(e){return e&&Object.fromEntries(Object.entries(e).filter(([e,t])=>!(null==t||Array.isArray(t)&&0===t.length||"object"==typeof t&&0===Object.keys(t).length)))}function sUe(e,t,r,n){var i;let{unitId:a,subUnitId:o,range:s}=e,l=null==(i=n.get(dg).getUniverSheetInstance(a))?void 0:i.getSheetBySheetId(o),u=[],c=[],{mapFunc:d}=GOe([s]),h=new kd;r.forValue((e,r,n)=>{var i;let{row:a,col:o}=d(e,r),s={v:n.v,t:n.t};if(!n.p&&n.v&&!t){var u;let e=null==l?void 0:l.getCellStyle(a,o);if(wd(null==e||null==(u=e.n)?void 0:u.pattern))s.t=Fu.STRING;else{let e=String(n.v).trim(),t=xd(e);void 0!==(null==t?void 0:t.v)&&"number"==typeof t.v&&(!t.z&&Ql(e)?s.t=Fu.FORCE_STRING:s.v=t.v)}}if(null!=(i=n.p)&&i.body&&iUe(n.p.body)){let e={p:Yf(n.p),v:n.v};h.setValue(a,o,e)}else h.setValue(a,o,s&&Qf(s))});let m={unitId:a,subUnitId:o,cellValue:Kf(h.getMatrix())};u.push({id:Kwe.id,params:m});let f=Zwe(n,m);return c.push({id:Kwe.id,params:f}),{undos:c,redos:u}}function lUe(e,t,r,n,i=!1){var a;let o=[],s=[],{unitId:l,subUnitId:u,range:c}=e,d=null==(a=n.get(dg).getUniverSheetInstance(l))?void 0:a.getSheetBySheetId(u),h=new kd,{mapFunc:m}=GOe([c]);r.forValue((e,r,n)=>{var i;let a={s:Object.assign({},{...vh,pd:jz,bg:null,cl:null},n.s)},o=a.s.bd;o&&(Object.keys(o).length>0||(a.s.bd={b:null,l:null,r:null,t:null}));let{row:s,col:l}=m(e,r),u=null==d?void 0:d.getCellStyle(s,l);if(n.v&&!t&&wd(null==u||null==(i=u.n)?void 0:i.pattern))a.s||(a.s={}),a.s.n=null==u?void 0:u.n;else{let e=xd(String(n.v).trim());var c;null!=e&&e.z&&(a.s||(a.s={}),"object"==typeof a.s)&&(null!=(c=a.s)&&c.n?a.s.n.pattern=e.z:a.s.n={pattern:e.z})}h.setValue(s,l,a)});let f={unitId:l,subUnitId:u,cellValue:Kf(h.getMatrix())};o.push({id:Kwe.id,params:f});let g=Zwe(n,f);return s.push({id:Kwe.id,params:g}),{undos:s,redos:o}}function uUe(e,t,r){let n=[],i=[],a=new kd,{unitId:o,subUnitId:s,range:l}=e,{mapFunc:u}=GOe([l]);if(t.forEach((e,t)=>{Object.keys(t).forEach(t=>{let{row:r,col:n}=u(e,Number(t));a.setValue(r,n,{s:null})})}),a.getLength()>0){let e={subUnitId:s,unitId:o,cellValue:Kf(a.getMatrix())};n.push({id:Kwe.id,params:e});let t=Zwe(r,e);i.push({id:Kwe.id,params:t})}return{undos:i,redos:n}}function cUe(e,t,r){let n=[],i=[],{unitId:a,subUnitId:o,range:s}=e,{startColumn:l,startRow:u,endColumn:c,endRow:d}=XEe(s),h=[];t.forValue((e,t,r)=>{if(r.rowSpan&&r.rowSpan>1){let n=r.colSpan||1,i={startRow:u+e,endRow:u+e+r.rowSpan-1,startColumn:l+t,endColumn:l+t+n-1};h.push(i)}else if(r.colSpan&&r.colSpan>1){let n=r.rowSpan||1,i={startRow:u+e,endRow:u+e+n-1,startColumn:l+t,endColumn:l+t+r.colSpan-1};h.push(i)}});let m=W_e(r.get(dg),{unitId:a,subUnitId:o});if(m&&m.worksheet){let e=m.worksheet.getMergeData().filter(e=>Oh.intersects({startRow:u,startColumn:l,endRow:d,endColumn:c},e));if(e.length>0){let t={unitId:a,subUnitId:o,ranges:e};n.push({id:Twe.id,params:t});let s=xwe(r,t);i.push({id:q_e.id,params:s})}}if(h.length>0){let e={unitId:a,subUnitId:o,ranges:h};n.push({id:q_e.id,params:e});let t=X_e(r,e);i.unshift({id:Twe.id,params:t})}return{redos:n,undos:i}}nUe=pLe([gLe(0,Pg),gLe(1,Mc),gLe(2,kX),gLe(3,GPe),gLe(4,TDe),gLe(5,Y(Ffe)),gLe(6,Rpe),gLe(7,Y(GX)),gLe(8,Vc),gLe(9,Y(Cg)),gLe(10,joe),gLe(11,dg),gLe(12,Y(iwe)),gLe(13,Y(NDe)),gLe(14,Y(rSe)),gLe(15,Tc)],nUe);const dUe=[wwe.id,ywe.id,Rwe.id,Iwe.id,Ewe.id,Swe.id,Awe.id];let hUe=class extends ru{constructor(e,t,r,n,i,a,o,s,l,u){super(),this._injector=e,this._instanceService=t,this._renderManagerService=r,this._commandService=n,this._contextService=i,this._configService=a,this._sheetClipboardService=o,this._messageService=s,this._localService=l,this._uiPartsService=u,nLe(this,"_refreshOptionalPaste$",new On),nLe(this,"refreshOptionalPaste$",this._refreshOptionalPaste$.asObservable()),this._init(),this._initCommandListener(),this._initUIComponents(),this._pasteWithDoc()}refreshOptionalPaste(){this._refreshOptionalPaste$.next(Math.random())}_pasteWithDoc(){var e;let t=e=>{e.onPaste$.pipe(jX(this.dispose$)).subscribe(e=>{var t,r;if(!jOe(this._contextService))return;e.event.preventDefault();let n=e.event,i=null==(t=n.clipboardData)?void 0:t.getData("text/html"),a=null==(r=n.clipboardData)?void 0:r.getData("text/plain"),o=this._resolveClipboardFiles(n.clipboardData);this._commandService.executeCommand(cke.id,{htmlContent:i,textContent:a,files:o})}),null==e||e.onKeydown$.subscribe(e=>{"Escape"===e.event.key&&this._sheetClipboardService.removeMarkSelection()})},r=null==(e=this._renderManagerService.getRenderById(El))?void 0:e.with(voe);r&&t(r),this._renderManagerService.created$.subscribe(e=>{var n;e.unitId===El&&(r=null==(n=this._renderManagerService.getRenderById(El))?void 0:n.with(voe),r&&t(r))})}_resolveClipboardFiles(e){if(!e)return;let t=Array.from(e.items).map(e=>"file"===e.kind?e.getAsFile():void 0).filter(Boolean);return t.length>0?t:void 0}_init(){[ske,lke,uke].forEach(e=>this.disposeWithMe(this._commandService.registerMultipleCommand(e))),[dke,hke,mke,fke,cke,gke].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e))),this.disposeWithMe(this._sheetClipboardService.addClipboardHook(this._initCopyingHooks())),this.disposeWithMe(this._sheetClipboardService.addClipboardHook(this._initPastingRowsHook())),this.disposeWithMe(this._sheetClipboardService.addClipboardHook(this._initPastingColumnsHook())),this.disposeWithMe(this._sheetClipboardService.addClipboardHook(this._initPastingHook()));let e=this._initSpecialPasteHooks().map(e=>this._sheetClipboardService.addClipboardHook(e));this.disposeWithMe({dispose:()=>e.forEach(e=>e.dispose())})}_initCopyingHooks(){let e=this,t=null;return{id:tke.DEFAULT_COPY,isDefaultHook:!0,onBeforeCopy(r,n){t=e._getWorksheet(r,n)},onCopyCellContent(e,r){var n,i;let a=t.getCell(e,r);return null!=a&&null!=(n=a.p)&&null!=(n=n.body)&&n.paragraphs||null!=a&&null!=(i=a.p)&&null!=(i=i.body)&&i.textRuns?vie(a.p):a?lg(a):""},onCopyCellStyle:(e,r,n,i)=>{let a={};(n||i)&&(a.rowspan=`${n||1}`,a.colspan=`${i||1}`);let o=t.getMergedCell(e,r),s=t.getComposedCellStyle(e,r),l="";if(s&&(l=Fd(s)),o){let e=o.endRow,r=o.endColumn,n=t.getRange(e,r).getTextStyle();if(n){let e=Fd(n);l?l+=e?`;${e}`:"":l=e}}return l&&(a.style=l),Object.keys(a).length?a:null},onCopyColumn:e=>({width:`${t.getColumnWidth(e)}`}),onCopyRow:e=>({style:`height: ${t.getRowHeight(e)}px;`}),onAfterCopy(){t=null},getFilteredOutRows(t,r,n){let i=e._getWorksheet(t,r);if(!i)return[];let{startRow:a,endRow:o}=n,s=[];for(let e=a;e<=o;e++)i.getRowFiltered(e)&&s.push(e);return s}}}_initPastingHook(){let e=this;return{id:rke.DEFAULT_PASTE,isDefaultHook:!0,onBeforePaste({range:t}){let r=e._configService.getConfig(SNe),n=t.rows[t.rows.length-1],i=t.cols[t.cols.length-1];return!(r&&n*i>r&&(e._messageService.show({type:o5.Error,content:e._localService.t("clipboard.paste.exceedMaxCells")}),1))},onPastePlainText:(t,r,n)=>e._onPastePlainText(t,r,n),onPasteCells:(t,r,n,i)=>e._onPasteCells(t,r,n,i)}}_initPastingRowsHook(){let e=this;return{id:rke.DEFAULT_PASTE_ROWS,isDefaultHook:!0,onPasteRows(t){let r=[],n=[],{range:i,unitId:a,subUnitId:o}=t,{rows:s,cols:l}=i;if(!s||!l||0===s.length||0===l.length)return{redos:r,undos:n};let u=e._getWorksheet(a,o).getMaxRows()-1,c=s[s.length-1],d=l[0],h=l[l.length-1];if(c-u>0){let e={unitId:a,subUnitId:o,range:{startRow:u+1,endRow:c,startColumn:d,endColumn:h}};r.push({id:ywe.id,params:e}),n.push({id:Iwe.id,params:e})}return{redos:r,undos:n}}}}_initPastingColumnsHook(){let e=this;return{id:rke.DEFAULT_PASTE_COLUMNS,isDefaultHook:!0,onPasteColumns(t){let r=[],n=[],{range:i,unitId:a,subUnitId:o}=t,{rows:s,cols:l}=i;if(!s||!l||0===s.length||0===l.length)return{redos:r,undos:n};let u=e._getWorksheet(a,o).getMaxColumns()-1,c=s[0],d=s[s.length-1],h=l[l.length-1];if(h-u>0){let e={unitId:a,subUnitId:o,range:{startRow:c,endRow:d,startColumn:u+1,endColumn:h}};r.push({id:wwe.id,params:e}),n.push({id:Rwe.id,params:e})}return{redos:r,undos:n}}}}_generateDocumentDataModelSnapshot(e){var t,r;let n=null==(t=DX(Pi.UNIVER_SHEET,vLe,this._instanceService,this._renderManagerService))?void 0:t.getCurrentParam();if(null==n)return null;let{skeleton:i}=n,a=null==(r=i.getBlankCellDocumentModel())?void 0:r.documentModel,o={...null==a?void 0:a.getSnapshot(),...e};return null==a||a.reset(o),null==a?void 0:a.getSnapshot()}_onPastePlainText(e,t,r){let n,{range:i,unitId:a,subUnitId:o}=e;if(/\r|\n/.test(t)||uu.isLegalUrl(t)){let e=function(e){if(!e.includes("\r")&&uu.isLegalUrl(e)){let t=cu(),r=`${e}`,n={startIndex:0,endIndex:r.length-1,rangeId:t,rangeType:Xu.HYPERLINK,properties:{url:e}};return{dataStream:`${r}\r\n`,paragraphs:[{startIndex:r.length}],customRanges:[n]}}let t=e.replace(/(\r\n|\n)/g,"\r");t.endsWith("\r\n")||(t+="\r\n");let r=[];for(let e=0;efunction(e,t,r,n,i){let a=[],o=[];if(n.copyType===WLe.CUT){let{undos:r,redos:n}=function(e,t,r){let{range:n,subUnitId:i,unitId:a}=e,{range:o,subUnitId:s}=t,l=o?XEe(o):null,u=n?XEe(n):null;if(!u||!l)return{undos:[],redos:[]};let c=_Se(r,{fromRange:u,toRange:l,fromUnitId:a,fromSubUnitId:i,toUnitId:t.unitId,toSubUnitId:s},{includeAutoHeight:!1});return c?{undos:c.undos,redos:c.redos}:{undos:[],redos:[]}}(e,t,i);a.push(...n),o.push(...r)}else{let{undos:n,redos:s}=uUe(t,r,i);a.push(...s),o.push(...n);let{undos:l,redos:u}=function(e,t,r){let n=[],i=[],a=new kd,{unitId:o,subUnitId:s,range:l}=e,{mapFunc:u}=GOe([l]);if(t.forValue((e,t,r)=>{let{row:n,col:i}=u(e,t);a.setValue(n,i,{v:null,p:null})}),a.getLength()>0){let e={subUnitId:s,unitId:o,cellValue:Kf(a.getMatrix())};n.push({id:Kwe.id,params:e});let t=Zwe(r,e);i.push({id:Kwe.id,params:t})}return{undos:i,redos:n}}(t,r,i);a.push(...u),o.push(...l);let{undos:c,redos:d}=sUe(t,e,r,i);a.push(...d),o.push(...c);let{undos:h,redos:m}=lUe(t,e,r,i,!0);a.push(...m),o.push(...h);let{undos:f,redos:g}=cUe(t,r,i);a.push(...g),o.push(...f)}return{undos:o,redos:a}}(e,t,r,n,i))}_initSpecialPasteHooks(){let e=this;return[{id:rke.SPECIAL_PASTE_VALUE,specialPasteInfo:{label:"specialPaste.value"},onPasteCells:(e,t,r)=>this._injector.invoke(n=>sUe(t,e,r,n))},{id:rke.SPECIAL_PASTE_FORMAT,specialPasteInfo:{label:"specialPaste.format"},onPasteCells:(e,t,r)=>{let n=[],i=[],{undos:a,redos:o}=this._injector.invoke(e=>uUe(t,r,e));n.push(...o),i.push(...a);let{undos:s,redos:l}=this._injector.invoke(e=>cUe(t,r,e));n.push(...l),i.push(...s);let{undos:u,redos:c}=this._injector.invoke(n=>lUe(t,e,r,n));return n.push(...c),i.push(...u),{undos:i,redos:n}}},{id:rke.SPECIAL_PASTE_COL_WIDTH,specialPasteInfo:{label:"specialPaste.colWidth"},onPasteCells:()=>({undos:[],redos:[]}),onPasteColumns(t,r,n){var i;let a=[],o=[];if(n.pasteType!==rke.SPECIAL_PASTE_COL_WIDTH)return{redos:a,undos:o};let{range:s,unitId:l,subUnitId:u}=t,{rows:c,cols:d}=s;if(!c||!d||0===c.length||0===d.length)return{redos:a,undos:o};let h=e._getWorksheet(l,u),m=null==(i=e._configService.getConfig("DEFAULT_WORKSHEET_COLUMN_WIDTH"))?88:i,f=c[0],g=c[c.length-1],p=d[0],v=d[d.length-1],b=r.length;if(b>0){let e={};for(let t=p;t<=v;t++){let n=r[(t-p)%b];n.width&&Number(n.width)!==m&&(e[t]=Number(n.width))}let t={unitId:l,subUnitId:u,ranges:[{startRow:f,endRow:g,startColumn:p,endColumn:v}],colWidth:e};a.push({id:nEe.id,params:t}),o.unshift({id:nEe.id,params:rEe(t,h)})}return{redos:a,undos:o}}},{id:rke.SPECIAL_PASTE_BESIDES_BORDER,specialPasteInfo:{label:"specialPaste.besidesBorder"},onPasteCells:(t,r,n,i)=>{e._instanceService.getCurrentUnitForType(Pi.UNIVER_SHEET);let a=[],o=[],{range:s,unitId:l,subUnitId:u}=r,c=new kd;n.forValue((e,t,r)=>{let n=r.s;if("object"==typeof n){let i=uu.deepClone(r);i.s&&(i.s={...n,bd:null}),c.setValue(s.rows[e],s.cols[t],i)}});let d={unitId:l,subUnitId:u,cellValue:c.getData()};a.push({id:Kwe.id,params:d});let h=this._injector.invoke(Zwe,d);o.push({id:Kwe.id,params:h});let{undos:m,redos:f}=this._injector.invoke(e=>cUe(r,n,e));return o.push(...m),a.push(...f),{redos:a,undos:o}}}]}_getWorksheet(e,t){var r;let n=null==(r=this._instanceService.getUniverSheetInstance(e))?void 0:r.getSheetBySheetId(t);if(!n)throw Error(`[SheetClipboardController]: cannot find a worksheet with unitId ${e} and subUnitId ${t}.`);return n}_initCommandListener(){var e;this.disposeWithMe(this._commandService.onCommandExecuted(e=>{(e.id===JIe.id||dUe.includes(e.id))&&this._sheetClipboardService.removeMarkSelection()}));let t=this._configService.getConfig(iDe);null!=t&&null!=(e=t.clipboardConfig)&&e.hidePasteOptions||(this.disposeWithMe(this._commandService.onCommandExecuted(e=>{RDe.includes(e.id)&&this._sheetClipboardService.disposePasteOptionsCache()})),this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===FPe.id){if(!this._sheetClipboardService.getPasteMenuVisible())return;let t=e.params.unitId,r=this._sheetClipboardService.getPasteOptionsCache();t===(null==r?void 0:r.target.unitId)&&this._refreshOptionalPaste$.next(Math.random())}})))}_initUIComponents(){var e;let t=this._configService.getConfig(iDe);null!=t&&null!=(e=t.clipboardConfig)&&e.hidePasteOptions||this.disposeWithMe(this._uiPartsService.registerComponent(dee.CONTENT,()=>tK(IDe,this._injector)))}};hUe=pLe([gLe(0,Y(he)),gLe(1,dg),gLe(2,kX),gLe(3,Vc),gLe(4,Mc),gLe(5,Tc),gLe(6,ike),gLe(7,C8),gLe(8,Y(Cg)),gLe(9,hee)],hUe);let mUe=class extends tu{constructor(e,t){super(),this._univerInstanceService=e,this._renderManagerService=t,nLe(this,"_currentCell$",new On),nLe(this,"currentCell$",this._currentCell$.asObservable().pipe(Zn((e,t)=>{var r,n,i,a,o,s,l,u;return(null==e||null==(r=e.location)?void 0:r.unitId)===(null==t||null==(n=t.location)?void 0:n.unitId)&&(null==e||null==(i=e.location)?void 0:i.subUnitId)===(null==t||null==(a=t.location)?void 0:a.subUnitId)&&(null==e||null==(o=e.location)?void 0:o.row)===(null==t||null==(s=t.location)?void 0:s.row)&&(null==e||null==(l=e.location)?void 0:l.col)===(null==t||null==(u=t.location)?void 0:u.col)}))),nLe(this,"_endCell$",new On),nLe(this,"endCell$",this._endCell$.asObservable()),this._initCellDisposableListener()}dispose(){super.dispose(),this._currentCell$.complete(),this._endCell$.complete()}_initCellDisposableListener(){this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET).subscribe(e=>{e||(this._currentCell$.next(null),this._endCell$.next(null))}))}_calcActiveCell(e,t){let r=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET);if(!r)return null;let n=r.getActiveSheet();if(!n)return;let i=this._renderManagerService.getRenderById(r.getUnitId());if(!i)return;let a=i.with(vLe).getCurrentParam(),o=i.with(_Pe).getCurrentScrollState();return a&&o&&i?vDe(i,r,n,a,e,t):void 0}onDragOver(e){let{offsetX:t,offsetY:r,dataTransfer:n}=e,i=this._calcActiveCell(t,r);if(!i)return void this._currentCell$.next(null);let{location:a,position:o}=i;this._currentCell$.next({location:a,position:o,dataTransfer:n})}onDrop(e){let{offsetX:t,offsetY:r,dataTransfer:n}=e,i=this._calcActiveCell(t,r);if(!i)return void this._endCell$.next(null);let{location:a,position:o}=i;this._endCell$.next({location:a,position:o,dataTransfer:n})}};mUe=pLe([gLe(0,dg),gLe(1,kX)],mUe);let fUe=class extends tu{constructor(e,t,r,n){super(),this._context=e,this._renderManagerService=t,this._dragManagerService=r,this._sheetSkeletonManagerService=n,this._initDragEvent()}_initDragEvent(){let e=new eu,t=t=>{if(e.dispose(),!t)return;let{scene:r}=this._context,n=r.onDragOver$.subscribeEvent(e=>{this._dragManagerService.onDragOver(e)}),i=r.onDrop$.subscribeEvent(e=>{this._dragManagerService.onDrop(e)});e.add({dispose(){n.unsubscribe(),i.unsubscribe()}})};t(this._sheetSkeletonManagerService.getCurrentParam()),this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{t(e)}))}};fUe=pLe([gLe(1,kX),gLe(2,Y(mUe)),gLe(3,Y(vLe))],fUe);var gUe=class{constructor(){nLe(this,"_position",null),nLe(this,"_position$",new Qn(null)),nLe(this,"position$",this._position$.asObservable()),nLe(this,"_focus",!1),nLe(this,"_focus$",new Qn(this._focus)),nLe(this,"focus$",this._focus$.asObservable()),nLe(this,"_fxBtnClick$",new On),nLe(this,"fxBtnClick$",this._fxBtnClick$.asObservable()),nLe(this,"_foldBtnStatus$",new On),nLe(this,"foldBtnStatus$",this._foldBtnStatus$.asObservable())}dispose(){this._position$.complete(),this._focus$.complete(),this._position=null,this._focus=!1}setPosition(e){this._position=e,this._refresh(e)}getPosition(){return this._position}setFocus(e=!1){this._focus=e,this._focus$.next(e)}handleFxBtnClick(e){this._fxBtnClick$.next(e)}handleFoldBtnClick(e){this._foldBtnStatus$.next(e)}_refresh(e){this._position$.next(e)}};const pUe=V("univer.sheet-formula-editor-manager.service");let vUe=class extends ru{constructor(e,t,r,n,i,a,o,s,l){super(),this._univerInstanceService=e,this._renderManagerService=t,this._editorBridgeService=r,this._commandService=n,this._contextService=i,this._formulaEditorManagerService=a,this._undoRedoService=o,this._textSelectionManagerService=s,this._editorService=l,nLe(this,"_loadedMap",new WeakSet),nLe(this,"_scheduledCallback",-1),this._initialize()}_initialize(){this._syncEditorSize(),this._listenFxBtnClick(),this._handleContentChange(),this._univerInstanceService.focused$.pipe(jX(this.dispose$)).subscribe(e=>{this._create(e)}),this._create(Sl),this.disposeWithMe(this._editorService.focus$.subscribe(()=>{var e;(null==(e=this._editorService.getFocusEditor())?void 0:e.getEditorId())===Sl?this._contextService.setContextValue(If,!0):this._contextService.setContextValue(If,!1)}))}_handleContentChange(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===KX.id){let{unitId:t}=e.params;t===Sl&&this.autoScroll()}}))}_create(e){if(e!==Sl)return;let t=this._renderManagerService.getRenderById(e);if(null==t)return;let{mainComponent:r}=t;null!=r&&(this._loadedMap.has(r)||this._loadedMap.add(r))}_listenFxBtnClick(){this._formulaEditorManagerService.fxBtnClick$.pipe(jX(this.dispose$)).subscribe(()=>{if(this._contextService.getContextValue(Ef)&&!this._contextService.getContextValue(Sf)){var e;this._univerInstanceService.setCurrentUnitForType(Sl);let t=this._univerInstanceService.getUniverDocInstance(Sl);!1===this._editorBridgeService.isVisible().visible&&this._commandService.syncExecuteCommand(sDe.id,{visible:!0,eventType:FF.PointerDown,unitId:Sl});let r=null==t||null==(e=t.getBody())?void 0:e.dataStream;if(null==r)return;let n=r.startsWith("=")?r:`=${r}`;n=n.replace(/\r\n$/,"");let i=[{startOffset:n.length,endOffset:n.length}],a={unitId:Sl,body:{dataStream:n},segmentId:"",textRanges:i};this._commandService.syncExecuteCommand(uae.id,a),requestAnimationFrame(()=>{this._textSelectionManagerService.replaceDocRanges([],{unitId:El,subUnitId:El}),this._textSelectionManagerService.replaceDocRanges(i,{unitId:Sl,subUnitId:Sl}),this._contextService.setContextValue(If,!0)})}})}_syncEditorSize(){let e=this._univerInstanceService.unitAdded$.pipe(Un(e=>e.getUnitId()===Sl));this.disposeWithMe(Oi([this._formulaEditorManagerService.position$,e]).subscribe(([e])=>{if(!e)return this._clearScheduledCallback();let t=VOe(Sl,this._renderManagerService),r=this._univerInstanceService.getUniverDocInstance(Sl);if(null==t||null==r)return this._clearScheduledCallback();let{width:n,height:i}=e;if(0===n||0===i)return this._clearScheduledCallback();let{engine:a}=t;r.updateDocumentDataPageSize(n),this.autoScroll(),this._scheduledCallback=requestIdleCallback(()=>a.resizeBySize(n,i))}))}_clearScheduledCallback(){-1!==this._scheduledCallback&&cancelIdleCallback(this._scheduledCallback),this._scheduledCallback=-1}autoScroll(){var e;let t=this._formulaEditorManagerService.getPosition(),r=null==(e=this._renderManagerService.getRenderById(Sl))?void 0:e.with(YX).getSkeleton(),n=this._renderManagerService.getRenderById(Sl),i=this._univerInstanceService.getUniverDocInstance(Sl);if(null==r||null==t||null==n||null==i)return;let{marginTop:a=0,marginBottom:o=0}=i.getSnapshot().documentStyle,{scene:s,mainComponent:l}=n,{actualHeight:u}=r.getActualSize();u+=a+o;let{width:c,height:d}=t,h=s.getViewport(dne.VIEW_MAIN),m=null==h?void 0:h.getScrollBar();var f;s.transformByState({width:c,height:u}),null==l||l.resize(c,u),u>d?null==m?h&&new lX(h,{enableHorizontal:!1,barSize:8}):null==h||h.resetCanvasSizeAndUpdateScroll():(m=null,null==h||h.scrollToViewportPos({viewportScrollX:0,viewportScrollY:0}),null==h||null==(f=h.getScrollBar())||f.dispose())}};vUe=pLe([gLe(0,dg),gLe(1,kX),gLe(2,GPe),gLe(3,Vc),gLe(4,Mc),gLe(5,pUe),gLe(6,Pg),gLe(7,Y(GX)),gLe(8,joe)],vUe);const bUe=(e,t=0,r=0)=>{var n,i,a,o,s;let l=e.getViewModel().getDataModel(),u=null==(n=null==(i=l.getBody())||null==(i=i.customRanges)?void 0:i.filter(e=>e.rangeType===Xu.HYPERLINK))?[]:n,c=null==(a=null==(o=l.getBody())||null==(o=o.paragraphs)?void 0:o.filter(e=>{var t;return 0===(null==(t=e.bullet)?void 0:t.listType.indexOf(sm.CHECK_LIST))}))?[]:a,d=null==(s=e.getSkeletonData())?void 0:s.pages[0].skeDrawings;return{links:u.map(n=>((e,t,r=0,n=0)=>{let i=((e,t)=>{let r=t.findNodePositionByCharIndex(e.startOffset,!0,e.segmentId,-1),n=t.getSkeletonData(),i=e.endOffset;if(e.segmentId){var a,o,s,l,u;let t=null==(a=Array.from(null==(o=null==n||null==(s=n.skeFooters.get(e.segmentId))?void 0:s.values())?[]:o)[0])?Array.from(null==(l=null==n||null==(u=n.skeHeaders.get(e.segmentId))?void 0:u.values())?[]:l)[0]:a;t&&(i=Math.min(t.ed,i))}let c=t.findNodePositionByCharIndex(i,!0,e.segmentId,-1);if(!c||!r)return;let{borderBoxPointGroup:d}=new $ae({docsLeft:0,docsTop:0,pageMarginLeft:0,pageMarginTop:0},t).getRangePointData(r,c);return ooe(d).map(e=>({top:e.top,bottom:e.bottom,left:e.left,right:e.right}))})({startOffset:t.startIndex,endOffset:t.endIndex+1,collapsed:!1},e);if(i)return{rects:i.map(e=>({top:e.top+n,bottom:e.bottom+n,left:e.left+r,right:e.right+r})),range:t}})(e,n,t,r)).filter(Boolean),checkLists:c.map(n=>((e,t,r=0,n=0)=>{var i;let a=e.findNodeByCharIndex(t.startIndex),o=null==a?void 0:a.parent,s=null==o?void 0:o.parent,l=null==s?void 0:s.parent,u=null==l?void 0:l.lines.find(e=>e.paragraphStart&&e.paragraphIndex===t.startIndex),c=null==u||null==(i=u.divides)||null==(i=i[0])||null==(i=i.glyphGroup)?void 0:i[0];if(!c||!c)return;let d=((e,t,r=-1)=>{let n=t.findPositionByGlyph(e,r);if(!n)return;let i={...n,isBack:!0},{borderBoxPointGroup:a}=new $ae({docsLeft:0,docsTop:0,pageMarginLeft:0,pageMarginTop:0},t).getRangePointData(i,i),o=ooe(a)[0];return{top:o.top,bottom:o.bottom,left:o.left,right:o.right}})(c,e);return d?{rect:{top:d.top+n,bottom:d.bottom+n,left:d.left+r,right:d.right+r},segmentId:void 0,segmentPageIndex:-1,paragraph:t}:void 0})(e,n,t,r)).filter(Boolean),drawings:d?Array.from(d.keys()).map(e=>({drawingId:e,rect:{top:d.get(e).aTop,bottom:d.get(e).aTop+d.get(e).width,left:d.get(e).aLeft,right:d.get(e).aLeft+d.get(e).height},drawing:d.get(e)})):[]}};function CUe(e){let{workbook:t,worksheet:r,...n}=e;return n}let yUe=class extends tu{constructor(e,t){super(),this._univerInstanceService=e,this._renderManagerService=t,nLe(this,"_currentCell$",new Qn(null)),nLe(this,"_currentRichText$",new Qn(null)),nLe(this,"_currentClickedCell$",new On),nLe(this,"_currentDbClickedCell$",new On),nLe(this,"_currentCellWithEvent$",new On),nLe(this,"_currentPointerDownCell$",new On),nLe(this,"_currentPointerUpCell$",new On),nLe(this,"_currentHoveredRowHeader$",new Qn(null)),nLe(this,"_currentHoveredColHeader$",new Qn(null)),nLe(this,"_currentRowHeaderClick$",new On),nLe(this,"_currentColHeaderClick$",new On),nLe(this,"_currentRowHeaderDbClick$",new On),nLe(this,"_currentColHeaderDbClick$",new On),nLe(this,"_currentRowHeaderPointerDown$",new On),nLe(this,"_currentColHeaderPointerDown$",new On),nLe(this,"_currentRowHeaderPointerUp$",new On),nLe(this,"_currentColHeaderPointerUp$",new On),nLe(this,"currentCell$",this._currentCell$.asObservable().pipe(Zn((e,t)=>{var r,n,i,a,o,s,l,u;return(null==e||null==(r=e.location)?void 0:r.unitId)===(null==t||null==(n=t.location)?void 0:n.unitId)&&(null==e||null==(i=e.location)?void 0:i.subUnitId)===(null==t||null==(a=t.location)?void 0:a.subUnitId)&&(null==e||null==(o=e.location)?void 0:o.row)===(null==t||null==(s=t.location)?void 0:s.row)&&(null==e||null==(l=e.location)?void 0:l.col)===(null==t||null==(u=t.location)?void 0:u.col)}))),nLe(this,"currentRichTextNoDistinct$",this._currentRichText$.pipe(Yn(e=>e&&{unitId:e.location.unitId,subUnitId:e.location.subUnitId,row:e.location.row,col:e.location.col,customRange:e.customRange,bullet:e.bullet,rect:e.rect,drawing:e.drawing}))),nLe(this,"currentRichText$",this._currentRichText$.pipe(Zn((e,t)=>{var r,n,i,a,o,s,l,u,c,d,h,m,f,g,p,v,b,C;return(null==e||null==(r=e.location)?void 0:r.unitId)===(null==t||null==(n=t.location)?void 0:n.unitId)&&(null==e||null==(i=e.location)?void 0:i.subUnitId)===(null==t||null==(a=t.location)?void 0:a.subUnitId)&&(null==e||null==(o=e.location)?void 0:o.row)===(null==t||null==(s=t.location)?void 0:s.row)&&(null==e||null==(l=e.location)?void 0:l.col)===(null==t||null==(u=t.location)?void 0:u.col)&&(null==e||null==(c=e.customRange)?void 0:c.rangeId)===(null==t||null==(d=t.customRange)?void 0:d.rangeId)&&(null==e||null==(h=e.bullet)?void 0:h.startIndex)===(null==t||null==(m=t.bullet)?void 0:m.startIndex)&&(null==e||null==(f=e.customRange)?void 0:f.startIndex)===(null==t||null==(g=t.customRange)?void 0:g.startIndex)&&(null==e||null==(p=e.customRange)?void 0:p.endIndex)===(null==t||null==(v=t.customRange)?void 0:v.endIndex)&&(null==e||null==(b=e.drawing)?void 0:b.drawingId)===(null==t||null==(C=t.drawing)?void 0:C.drawingId)}),Yn(e=>e&&{unitId:e.location.unitId,subUnitId:e.location.subUnitId,row:e.location.row,col:e.location.col,customRange:e.customRange,bullet:e.bullet,rect:e.rect,drawing:e.drawing}))),nLe(this,"currentCellPosWithEvent$",this._currentCellWithEvent$.pipe(Zn((e,t)=>{var r,n,i,a,o,s,l,u;return(null==e||null==(r=e.location)?void 0:r.unitId)===(null==t||null==(n=t.location)?void 0:n.unitId)&&(null==e||null==(i=e.location)?void 0:i.subUnitId)===(null==t||null==(a=t.location)?void 0:a.subUnitId)&&(null==e||null==(o=e.location)?void 0:o.row)===(null==t||null==(s=t.location)?void 0:s.row)&&(null==e||null==(l=e.location)?void 0:l.col)===(null==t||null==(u=t.location)?void 0:u.col)}),Yn(e=>e&&{unitId:e.location.unitId,subUnitId:e.location.subUnitId,row:e.location.row,col:e.location.col,event:e.event}))),nLe(this,"currentPosition$",this._currentCell$.asObservable()),nLe(this,"currentClickedCell$",this._currentClickedCell$.asObservable()),nLe(this,"currentDbClickedCell$",this._currentDbClickedCell$.asObservable()),nLe(this,"currentPointerDownCell$",this._currentPointerDownCell$.asObservable()),nLe(this,"currentPointerUpCell$",this._currentPointerUpCell$.asObservable()),nLe(this,"currentHoveredRowHeader$",this._currentHoveredRowHeader$.asObservable()),nLe(this,"currentHoveredColHeader$",this._currentHoveredColHeader$.asObservable()),nLe(this,"currentRowHeaderClick$",this._currentRowHeaderClick$.asObservable()),nLe(this,"currentColHeaderClick$",this._currentColHeaderClick$.asObservable()),nLe(this,"currentRowHeaderDbClick$",this._currentRowHeaderDbClick$.asObservable()),nLe(this,"currentColHeaderDbClick$",this._currentColHeaderDbClick$.asObservable()),nLe(this,"currentRowHeaderPointerDown$",this._currentRowHeaderPointerDown$.asObservable()),nLe(this,"currentColHeaderPointerDown$",this._currentColHeaderPointerDown$.asObservable()),nLe(this,"currentRowHeaderPointerUp$",this._currentRowHeaderPointerUp$.asObservable()),nLe(this,"currentColHeaderPointerUp$",this._currentColHeaderPointerUp$.asObservable()),this._initCellDisposableListener()}dispose(){super.dispose(),this._currentCell$.complete(),this._currentClickedCell$.complete(),this._currentPointerDownCell$.complete(),this._currentPointerUpCell$.complete(),this._currentCellWithEvent$.complete(),this._currentRichText$.complete(),this._currentDbClickedCell$.complete(),this._currentHoveredRowHeader$.complete(),this._currentHoveredColHeader$.complete(),this._currentRowHeaderClick$.complete(),this._currentColHeaderClick$.complete(),this._currentRowHeaderDbClick$.complete(),this._currentColHeaderDbClick$.complete(),this._currentRowHeaderPointerDown$.complete(),this._currentColHeaderPointerDown$.complete(),this._currentRowHeaderPointerUp$.complete(),this._currentColHeaderPointerUp$.complete(),this.currentCellPosWithEvent$=Ai(null),this.currentRichText$=Ai(null)}_initCellDisposableListener(){this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET).subscribe(e=>{e||this._currentCell$.next(null)})),this.disposeWithMe(this._univerInstanceService.unitDisposed$.subscribe(e=>{var t,r;(null==(t=this._currentCell$.getValue())?void 0:t.location.unitId)===e.getUnitId()&&this._currentCell$.next(null),(null==(r=this._currentRichText$.getValue())?void 0:r.location.unitId)===e.getUnitId()&&this._currentRichText$.next(null)}))}_getCalcDeps(e){let t=this._univerInstanceService.getUnit(e,Pi.UNIVER_SHEET);if(!t)return null;let r=t.getActiveSheet();if(!r)return null;let n=this._renderManagerService.getRenderById(t.getUnitId());if(!n)return null;let i=n.with(vLe).getSkeletonParam(r.getSheetId());if(!i)return null;let a=n.with(_Pe);return null!=a&&a.getCurrentScrollState()&&n?{currentRender:n,workbook:t,worksheet:r,skeletonParam:i}:void 0}_calcActiveCell(e,t,r,n,i,a){var o,s,l;let u=vDe(e,t,r,n,i,a),c=n.skeleton;if(!u)return null;let{position:d,overflowLocation:h,location:m}=u,f=c.getFont(h.row,h.col),g=null,p=null,v=null,b=c.getCellWithCoordByIndex(h.row,h.col),C=r.getCell(h.row,h.col),{topOffset:y=0,leftOffset:_=0}=null==(o=null==C?void 0:C.fontRenderExtension)?{}:o;if(null!=f&&f.documentSkeleton){let{paddingLeft:e,paddingTop:t}=function(e,t,r){var n,i,a,o;let s=null==(n=null==(i=t.documentSkeleton)||null==(i=i.getSkeletonData())?void 0:i.pages[0].height)?0:n,l=null==(a=null==(o=t.documentSkeleton)||null==(o=o.getSkeletonData())?void 0:o.pages[0].width)?0:a,u=t.verticalAlign,c=t.horizontalAlign,d=0;switch(u){case ku.UNSPECIFIED:case ku.BOTTOM:d=e.mergeInfo.endY-e.mergeInfo.startY-s;break;case ku.MIDDLE:d=(e.mergeInfo.endY-e.mergeInfo.startY-s)/2}let h=0;switch(c){case Lu.RIGHT:h=e.mergeInfo.endX-e.mergeInfo.startX-l;break;case Lu.CENTER:h=(e.mergeInfo.endX-e.mergeInfo.startX-l)/2;break;case Lu.UNSPECIFIED:r&&(h=e.mergeInfo.endX-e.mergeInfo.startX-l)}return{paddingLeft:h,paddingTop:d}}(b,f,null!==(null==C?void 0:C.v)&&void 0!==(null==C?void 0:C.v)&&!Number.isNaN(+C.v)),r=bUe(f.documentSkeleton,e,t),n=i-d.startX-_,o=a-d.startY-y;g=r.links.find(e=>e.rects.some(e=>e.left<=n&&n<=e.right&&e.top<=o&&o<=e.bottom)),p=r.checkLists.find(e=>e.rect.left<=n&&n<=e.rect.right&&e.rect.top<=o&&o<=e.rect.bottom),v=r.drawings.find(e=>e.rect.left<=n&&n<=e.rect.right&&e.rect.top<=o&&o<=e.rect.bottom)}let w=null==(s=null==(l=null==g?void 0:g.rects.pop())?null==p?void 0:p.rect:l)?null==v?void 0:v.rect:s,E=w&&(()=>{let e=w.top+b.mergeInfo.startY+y,t=w.bottom+b.mergeInfo.startY+y,r=w.left+b.mergeInfo.startX+_,n=w.right+b.mergeInfo.startX+_,i=b.mergeInfo.startY+y,a=b.mergeInfo.endY+y,o=b.mergeInfo.startX+_,s=b.mergeInfo.endX+_;return{top:Math.min(Math.max(e,i),i),bottom:Math.min(t,a),left:Math.min(Math.max(r,o),o),right:Math.min(n,s)}})();return{location:m,position:d,overflowLocation:h,customRange:null==g?void 0:g.range,bullet:null==p?void 0:p.paragraph,drawing:v,rect:E}}_calcActiveRowHeader(e,t,r){let n=this._getCalcDeps(e);if(!n)return;let{currentRender:i,worksheet:a,skeletonParam:o}=n,{scaleY:s}=i.scene.getAncestorScale(),l=i.scene.getViewports().find(e=>e.isHit(new TF(t,r)));if(!l||l.viewportKey!==bj.VIEW_ROW_TOP&&l.viewportKey!==bj.VIEW_ROW_BOTTOM)return;let u={x:l.viewportScrollX,y:l.viewportScrollY};return{unitId:e,index:o.skeleton.getRowIndexByOffsetY(r,s,u),subUnitId:a.getSheetId()}}_calcActiveColHeader(e,t,r){let n=this._getCalcDeps(e);if(!n)return;let{currentRender:i,worksheet:a,skeletonParam:o}=n,{scaleX:s}=i.scene.getAncestorScale(),l=i.scene.getViewports().find(e=>e.isHit(new TF(t,r)));if(!l||l.viewportKey!==bj.VIEW_COLUMN_LEFT&&l.viewportKey!==bj.VIEW_COLUMN_RIGHT)return;let u={x:l.viewportScrollX,y:l.viewportScrollY};return{unitId:e,index:o.skeleton.getColumnIndexByOffsetX(t,s,u),subUnitId:a.getSheetId()}}triggerPointerDown(e,t){let r=this._getCalcDeps(e);if(!r)return;let{currentRender:n,workbook:i,worksheet:a,skeletonParam:o}=r,s=this._calcActiveCell(n,i,a,o,t.offsetX,t.offsetY);if(s&&s.location){let{unitId:e,subUnitId:r,row:n,col:i}=CUe(s.location);this._currentPointerDownCell$.next({unitId:e,subUnitId:r,row:n,col:i,event:t})}}triggerPointerUp(e,t){let r=this._getCalcDeps(e);if(!r)return;let{currentRender:n,workbook:i,worksheet:a,skeletonParam:o}=r,s=this._calcActiveCell(n,i,a,o,t.offsetX,t.offsetY);if(s){let e=CUe(s.location);this._currentPointerUpCell$.next({...e,event:t})}}triggerMouseMove(e,t){let r=this._getCalcDeps(e);if(!r)return;let{currentRender:n,workbook:i,worksheet:a,skeletonParam:o}=r,s=this._calcActiveCell(n,i,a,o,t.offsetX,t.offsetY);this._currentCell$.next(s&&{location:CUe(s.location),position:s.position}),this._currentRichText$.next(s&&{...s,location:CUe(s.overflowLocation)}),this._currentCellWithEvent$.next(s&&{...s,location:CUe(s.location),event:t})}triggerClick(e,t,r){let n=this._getCalcDeps(e);if(!n)return;let{currentRender:i,workbook:a,worksheet:o,skeletonParam:s}=n,l=this._calcActiveCell(i,a,o,s,t,r);l&&this._currentClickedCell$.next({...l,location:CUe(l.location)})}triggerDbClick(e,t,r){let n=this._getCalcDeps(e);if(!n)return;let{currentRender:i,workbook:a,worksheet:o,skeletonParam:s}=n,l=this._calcActiveCell(i,a,o,s,t,r);l&&this._currentDbClickedCell$.next({...l,location:CUe(l.location)})}triggerScroll(){this._currentCell$.next(null)}triggerRowHeaderClick(e,t,r){let n=this._calcActiveRowHeader(e,t,r);n&&this._currentRowHeaderClick$.next(n)}triggerColHeaderClick(e,t,r){let n=this._calcActiveColHeader(e,t,r);n&&this._currentColHeaderClick$.next(n)}triggerRowHeaderDbClick(e,t,r){let n=this._calcActiveRowHeader(e,t,r);n&&this._currentRowHeaderDbClick$.next(n)}triggerColHeaderDbClick(e,t,r){let n=this._calcActiveColHeader(e,t,r);n&&this._currentColHeaderDbClick$.next(n)}triggerRowHeaderMouseMove(e,t,r){this._currentHoveredRowHeader$.next(this._calcActiveRowHeader(e,t,r))}triggerColHeaderMouseMove(e,t,r){this._currentHoveredColHeader$.next(this._calcActiveColHeader(e,t,r))}triggerRowHeaderPoniterDown(e,t,r){let n=this._calcActiveRowHeader(e,t,r);n&&this._currentRowHeaderPointerDown$.next(n)}triggerColHeaderPoniterDown(e,t,r){let n=this._calcActiveColHeader(e,t,r);n&&this._currentColHeaderPointerDown$.next(n)}triggerRowHeaderPoniterUp(e,t,r){let n=this._calcActiveRowHeader(e,t,r);n&&this._currentRowHeaderPointerUp$.next(n)}triggerColHeaderPoniterUp(e,t,r){let n=this._calcActiveColHeader(e,t,r);n&&this._currentColHeaderPointerUp$.next(n)}};yUe=pLe([gLe(0,dg),gLe(1,kX)],yUe);let _Ue=class extends tu{get active(){return this._active}constructor(e,t,r,n){super(),this._context=e,this._hoverManagerService=t,this._sheetSkeletonManagerService=r,this._scrollManagerService=n,nLe(this,"_active",!1),this._initPointerEvent(),this._initScrollEvent()}_initPointerEvent(){let e=new eu,t=t=>{if(e.dispose(),!t)return;let{mainComponent:r,unitId:n,components:i}=this._context;if(!r)return;e.add(r.onPointerEnter$.subscribeEvent(e=>{this._active=!0})),e.add(df(r.onPointerMove$).subscribe(e=>{this._active=!0,this._hoverManagerService.triggerMouseMove(n,e)})),e.add(r.onPointerDown$.subscribeEvent(e=>{this._hoverManagerService.triggerPointerDown(n,e)})),e.add(r.onPointerUp$.subscribeEvent(e=>{this._hoverManagerService.triggerPointerUp(n,e)})),e.add(r.onClick$.subscribeEvent(e=>{this._hoverManagerService.triggerClick(n,e.offsetX,e.offsetY)})),e.add(r.onDblclick$.subscribeEvent(e=>{this._hoverManagerService.triggerDbClick(n,e.offsetX,e.offsetY)})),e.add(r.onPointerLeave$.subscribeEvent(()=>{this._active=!1}));let a=i.get(tLe.ROW),o=i.get(tLe.COLUMN);a&&(e.add(a.onPointerMove$.subscribeEvent(e=>{this._hoverManagerService.triggerRowHeaderMouseMove(n,e.offsetX,e.offsetY)})),e.add(a.onPointerDown$.subscribeEvent(e=>{this._hoverManagerService.triggerRowHeaderPoniterDown(n,e.offsetX,e.offsetY)})),e.add(a.onPointerUp$.subscribeEvent(e=>{this._hoverManagerService.triggerRowHeaderPoniterUp(n,e.offsetX,e.offsetY),this._hoverManagerService.triggerRowHeaderClick(n,e.offsetX,e.offsetY)})),e.add(a.onDblclick$.subscribeEvent(e=>{this._hoverManagerService.triggerRowHeaderDbClick(n,e.offsetX,e.offsetY)}))),o&&(e.add(o.onPointerMove$.subscribeEvent(e=>{this._hoverManagerService.triggerColHeaderMouseMove(n,e.offsetX,e.offsetY)})),e.add(o.onPointerDown$.subscribeEvent(e=>{this._hoverManagerService.triggerColHeaderPoniterDown(n,e.offsetX,e.offsetY)})),e.add(o.onPointerUp$.subscribeEvent(e=>{this._hoverManagerService.triggerColHeaderPoniterUp(n,e.offsetX,e.offsetY),this._hoverManagerService.triggerColHeaderClick(n,e.offsetX,e.offsetY)})),e.add(o.onDblclick$.subscribeEvent(e=>{this._hoverManagerService.triggerColHeaderDbClick(n,e.offsetX,e.offsetY)})))};t(this._sheetSkeletonManagerService.getCurrentParam()),this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{t(e)}))}_initScrollEvent(){this.disposeWithMe(this._scrollManagerService.validViewportScrollInfo$.subscribe(()=>this._hoverManagerService.triggerScroll()))}};_Ue=pLe([gLe(1,Y(yUe)),gLe(2,Y(vLe)),gLe(3,Y(_Pe))],_Ue);const wUe="UNIVER_SHEET_PERMISSION_ALERT_DIALOG_ID",EUe="UNIVER_SHEET_PERMISSION_ALERT_DIALOG";let SUe=class extends tu{constructor(e,t,r,n,i,a,o,s){super(),this._commandService=e,this._univerInstanceService=t,this._permissionService=r,this._dialogService=n,this._rangeProtectionRuleModel=i,this._localeService=a,this._contextService=o,this._sheetPermissionCheckController=s,nLe(this,"disposableCollection",new eu),this._initialize(),this._initUIEvent()}_initUIEvent(){this.disposeWithMe(this._sheetPermissionCheckController.triggerPermissionUIEvent$.subscribe(e=>{this._haveNotPermissionHandle(e)}))}_haveNotPermissionHandle(e){let t={id:wUe,title:{title:"permission.dialog.alert"},children:{label:EUe,errorMsg:e},width:320,destroyOnClose:!0,showOk:!0,onClose:()=>{this._dialogService.close(wUe)},onOk:()=>{this._dialogService.close(wUe)},className:"sheet-permission-user-dialog"};this._permissionService.getShowComponents()&&this._dialogService.open(t)}_getPermissionCheck(e,t){let r=!0,n="";switch(e){case Yne.id:case Lie.id:if(!0===this._contextService.getContextValue(xf)||!0===this._contextService.getContextValue(Tf))break;r=this._sheetPermissionCheckController.permissionCheckWithoutRange({workbookTypes:[PSe],rangeTypes:[SSe],worksheetTypes:[lAe,JSe]}),n=this._localeService.t("permission.dialog.editErr");break;case sDe.id:if(!1===t.visible)break;r=this._sheetPermissionCheckController.permissionCheckWithoutRange({workbookTypes:[PSe],rangeTypes:[SSe],worksheetTypes:[lAe,JSe]}),n=this._localeService.t("permission.dialog.editErr");break;case mke.id:r=this._sheetPermissionCheckController.permissionCheckWithoutRange({workbookTypes:[PSe],rangeTypes:[SSe],worksheetTypes:[JSe,uAe]}),n=this._localeService.t("permission.dialog.pasteErr");break;case cke.id:r=this._permissionCheckByPaste(t),n=this._localeService.t("permission.dialog.pasteErr");break;case yPe.id:r=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[PSe],rangeTypes:[SSe],worksheetTypes:[JSe,lAe,sAe]}),n=this._localeService.t("permission.dialog.commonErr");break;case _Re.id:case Nke.id:case Mke.id:case Oke.id:case Lke.id:r=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[PSe],rangeTypes:[SSe],worksheetTypes:[sAe,JSe]}),n=this._localeService.t("permission.dialog.setStyleErr");break;case ske.id:var i;r=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[RSe],rangeTypes:[ASe],worksheetTypes:[QSe]}),n=this._localeService.t("permission.dialog.copyErr"),null!=(i=this._permissionService.getPermissionPoint(new RSe(this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET).getUnitId()).id))&&i.value||(n=this._localeService.t("permission.dialog.workbookCopyErr"));break;case lke.id:var a;r=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[RSe,PSe],rangeTypes:[ASe,SSe],worksheetTypes:[QSe,JSe]}),n=this._localeService.t("permission.dialog.copyErr"),null!=(a=this._permissionService.getPermissionPoint(new RSe(this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET).getUnitId()).id))&&a.value||(n=this._localeService.t("permission.dialog.workbookCopyErr"))}r||this._sheetPermissionCheckController.blockExecuteWithoutPermission(n)}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{this._getPermissionCheck(e.id,null==e?void 0:e.params)}))}_permissionCheckByPaste(e){return e.value===rke.SPECIAL_PASTE_VALUE||e.value===rke.SPECIAL_PASTE_FORMULA||e.value===rke.SPECIAL_PASTE_FORMAT?this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[PSe],rangeTypes:[SSe],worksheetTypes:[sAe,JSe]}):this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[PSe],rangeTypes:[SSe],worksheetTypes:[lAe,sAe,JSe]})}};SUe=pLe([gLe(0,Vc),gLe(1,dg),gLe(2,Eg),gLe(3,Jte),gLe(4,Y(ZEe)),gLe(5,Y(Cg)),gLe(6,Mc),gLe(7,Y(NNe))],SUe);var AUe=function(e){return e[e.ROW=0]="ROW",e[e.COLUMN=1]="COLUMN",e}(AUe||{}),IUe=function(e){return e[e.NONE=0]="NONE",e[e.X=1]="X",e[e.Y=2]="Y",e[e.ALL=3]="ALL",e}(IUe||{});const RUe=jl("freezePermissionCheck");let xUe=class extends tu{constructor(e,t,r,n,i,a,o,s){super(),this._context=e,this._sheetSkeletonManagerService=t,this._commandService=r,this._selectionManagerService=n,this._scrollManagerService=i,this._themeService=a,this._sheetInterceptorService=o,this._injector=s,nLe(this,"_rowFreezeHeaderRect",void 0),nLe(this,"_rowFreezeMainRect",void 0),nLe(this,"_columnFreezeHeaderRect",void 0),nLe(this,"_columnFreezeMainRect",void 0),nLe(this,"_freezeDownSubs",void 0),nLe(this,"_freezePointerEnterSubs",void 0),nLe(this,"_freezePointerLeaveSubs",void 0),nLe(this,"_scenePointerMoveSub",void 0),nLe(this,"_scenePointerUpSub",void 0),nLe(this,"_changeToRow",-1),nLe(this,"_changeToColumn",-1),nLe(this,"_changeToOffsetX",0),nLe(this,"_changeToOffsetY",0),nLe(this,"_activeViewport",null),nLe(this,"_freezeNormalHeaderColor",""),nLe(this,"_freezeNormalMainColor",""),nLe(this,"_freezeActiveColor",""),nLe(this,"_freezeHoverColor",""),nLe(this,"_lastFreeze",void 0),nLe(this,"interceptor",new Wl({FREEZE_PERMISSION_CHECK:RUe})),this._initialize()}dispose(){super.dispose()}_initialize(){this._skeletonListener(),this._commandExecutedListener(),this._themeChangeListener(),this._interceptorCommands(),this._bindViewportScroll(),this._zoomRefresh()}_createFreeze(e=AUe.ROW,t){var r;let n=null==t?this._getFreeze():t;if(null==n)return null;let i=null==(r=this._sheetSkeletonManagerService.getCurrentParam())?void 0:r.skeleton,{startRow:a,startColumn:o}=n,s=this._getPositionByIndex(a,o);if(null==s||null==i)return null;let l=this._getSheetObject().scene,{startX:u,startY:c}=s,{rowTotalHeight:d,columnTotalWidth:h,rowHeaderWidthAndMarginLeft:m,columnHeaderHeightAndMarginTop:f}=i;this._changeToRow=a,this._changeToColumn=o,this._changeToOffsetX=u,this._changeToOffsetY=c;let g=Math.max(l.scaleX,l.scaleY),p=2/Math.max(1,g);if(e===AUe.ROW){(-1===a||0===a)&&(p*=2);let e=p;this._rowFreezeHeaderRect=new tX("__SpreadsheetFreezeRowHeaderName__",{fill:this._freezeNormalHeaderColor,width:m,height:p,left:0,top:c-e,zIndex:3});let t=this._freezeNormalHeaderColor;(-1===a||0===a)&&(t=this._freezeNormalMainColor),this._rowFreezeMainRect=new tX("__SpreadsheetFreezeRowMainName__",{fill:t,width:h,height:p,left:m,top:c-e,zIndex:3}),l.addObjects([this._rowFreezeHeaderRect,this._rowFreezeMainRect],10)}else{(-1===o||0===o)&&(p*=2);let e=p;this._columnFreezeHeaderRect=new tX("__SpreadsheetFreezeColumnHeaderName__",{fill:this._freezeNormalHeaderColor,width:p,height:f,left:u-e,top:0,zIndex:3});let t=this._freezeNormalHeaderColor;(-1===o||0===o)&&(t=this._freezeNormalMainColor),this._columnFreezeMainRect=new tX("__SpreadsheetFreezeColumnMainName__",{fill:t,width:p,height:d,left:u-e,top:f,zIndex:3}),l.addObjects([this._columnFreezeHeaderRect,this._columnFreezeMainRect],10)}this._eventBinding(e)}_eventBinding(e=AUe.ROW){let t=this._rowFreezeHeaderRect,r=this._rowFreezeMainRect;e===AUe.COLUMN&&(t=this._columnFreezeHeaderRect,r=this._columnFreezeMainRect);let n=this._getSheetObject();if(null==n)return;let{scene:i}=n;if(this._freezePointerEnterSubs=new tn,this._freezePointerLeaveSubs=new tn,this._freezeDownSubs=new tn,r){let e=r.onPointerEnter$.subscribeEvent(()=>{if(!this.interceptor.fetchThroughInterceptors(RUe)(!0,null))return!1;null==t||t.setProps({fill:this._freezeHoverColor,zIndex:4}),i.setCursor(TV.GRAB)});this._freezePointerEnterSubs.add(e);let n=r.onPointerLeave$.subscribeEvent(()=>{null==t||t.setProps({fill:this._freezeNormalHeaderColor,zIndex:3}),i.resetCursor()});this._freezePointerLeaveSubs.add(n)}if(t){let e=t.onPointerEnter$.subscribeEvent(()=>{if(!this.interceptor.fetchThroughInterceptors(RUe)(!0,null))return!1;null==t||t.setProps({fill:this._freezeHoverColor,zIndex:4}),i.setCursor(TV.GRAB)});this._freezePointerEnterSubs.add(e);let r=t.onPointerLeave$.subscribeEvent(()=>{null==t||t.setProps({fill:this._freezeNormalHeaderColor,zIndex:3}),i.resetCursor()});this._freezePointerLeaveSubs.add(r)}let a=null==t?void 0:t.onPointerDown$.subscribeEvent(n=>{this._freezeDown(n,t,r,e)});a&&this._freezeDownSubs.add(a);let o=null==r?void 0:r.onPointerDown$.subscribeEvent(n=>{this._freezeDown(n,t,r,e)});o&&this._freezeDownSubs.add(o)}_getCurrentLastVisible(){var e,t,r,n,i,a,o;let s=this._getSheetObject();if(null==s)return;let l=null==(e=this._sheetSkeletonManagerService.getCurrentParam())?void 0:e.skeleton;if(null==l)return;let u=s.scene,c=Math.max(u.scaleX,u.scaleY),d=this._scrollManagerService.getCurrentScrollState(),h=(s.engine.height-l.columnHeaderHeight)/c,m=(s.engine.width-l.rowHeaderWidth)/c,f=null==(t=null==d?void 0:d.sheetViewStartRow)?0:t,g=0===f?-(null==(r=null==d?void 0:d.offsetY)?0:r):l.rowHeightAccumulation[f-1]-(null==(n=null==d?void 0:d.offsetY)?0:n),p=0,v=!1;for(let e=f,t=l.rowHeightAccumulation.length;eh){p=e,v=!0;break}v||(p=l.rowHeightAccumulation.length-1);let b=null==(i=null==d?void 0:d.sheetViewStartColumn)?0:i,C=0===b?-(null==(a=null==d?void 0:d.offsetX)?0:a):l.columnWidthAccumulation[b-1]-(null==(o=null==d?void 0:d.offsetX)?0:o),y=0,_=!1;for(let e=b,t=l.columnWidthAccumulation.length;em){y=e,_=!0;break}return _||(y=l.columnWidthAccumulation.length-1),{lastRow:p,lastColumn:y}}_getActiveViewport(e){var t;let r=null==(t=this._getSheetObject())?void 0:t.scene.getViewports();return r&&r.find(t=>t.isHit(new TF(e.offsetX,e.offsetY)))||null}_freezeDown(e,t,r,n=AUe.ROW){var i;let a=null==(i=this._sheetSkeletonManagerService.getCurrentParam())?void 0:i.skeleton;if(null==a)return;let o=this._getSheetObject();if(null==o)return;if(!this.interceptor.fetchThroughInterceptors(RUe)(!0,null))return!1;let{scene:s}=o;s.setCursor(TV.GRABBING),s.disableObjectsEvent();let l=this._getCurrentLastVisible(),u=void 0===l?1/0:a.rowHeightAccumulation[l.lastRow],c=void 0===l?1/0:a.columnWidthAccumulation[l.lastColumn-1]+a.rowHeaderWidth;this._activeViewport=null;let d=this._getFreeze();d&&(this._changeToColumn=d.startColumn,this._changeToRow=d.startRow),this._scenePointerMoveSub=s.onPointerMove$.subscribeEvent(e=>{let i=this._getActiveViewport(e),{startX:o,startY:d,row:h,column:m}=UPe(e.offsetX,e.offsetY,s,a,i||void 0,!0);if(!this.interceptor.fetchThroughInterceptors(RUe)(!0,null))return!1;s.setCursor(TV.GRABBING);let f=2/Math.max(s.scaleX,s.scaleY);var g,p,v,b;n===AUe.ROW?(null==(g=t.transformByState({top:Math.min(d,u)-f/2}))||g.setProps({fill:this._freezeActiveColor}),null==(p=r.transformByState({top:Math.min(d,u)-f/2}))||p.setProps({fill:this._freezeNormalHeaderColor}),this._changeToRow=void 0===l?h:Math.min(h,l.lastRow),this._changeToOffsetY=Math.min(d,u),this._activeViewport=i):(null==(v=t.transformByState({left:Math.min(o,c)-f/2}))||v.setProps({fill:this._freezeActiveColor}),null==(b=r.transformByState({left:Math.min(o,c)-f/2}))||b.setProps({fill:this._freezeNormalHeaderColor}),this._changeToColumn=void 0===l?m:Math.min(m,l.lastColumn),this._changeToOffsetX=o,this._activeViewport=i)}),this._scenePointerUpSub=s.onPointerUp$.subscribeEvent(()=>{var e,i;s.resetCursor(),s.enableObjectsEvent(),this._clearObserverEvent();let{rowHeaderWidthAndMarginLeft:o,columnHeaderHeightAndMarginTop:l}=a;n===AUe.ROW&&(0===this._changeToRow||-1===this._changeToRow)||n===AUe.COLUMN&&(0===this._changeToColumn||-1===this._changeToColumn)?(t.setProps({fill:this._freezeNormalHeaderColor}),r.setProps({fill:this._freezeNormalMainColor})):(null==t||t.setProps({fill:this._freezeNormalHeaderColor}),null==r||r.setProps({fill:this._freezeNormalHeaderColor}));let u=2/Math.max(s.scaleX,s.scaleY);n===AUe.ROW?(0===this._changeToRow||-1===this._changeToRow)&&(t.transformByState({top:l-u}),r.transformByState({top:l-u})):(0===this._changeToColumn||-1===this._changeToColumn)&&(t.transformByState({left:o-u}),r.transformByState({left:o-u}));let{sheetViewStartRow:c,sheetViewStartColumn:d}=this._scrollManagerService.getCurrentScrollState()||{sheetViewStartRow:0,sheetViewStartColumn:0};if(null==d||null==c)return;let h=this._context.unit,m=h.getActiveSheet();if(!m)return;let f=null==(e=m.getConfig())?void 0:e.freeze,g=(null==f?void 0:f.xSplit)||0,p=(null==f?void 0:f.ySplit)||0,v=null==(i=this._activeViewport)?void 0:i.viewportKey;n===AUe.ROW&&(p=v&&v!==bj.VIEW_LEFT_TOP&&v!==bj.VIEW_MAIN_LEFT_TOP&&v!==bj.VIEW_MAIN_TOP&&v!==bj.VIEW_ROW_TOP?this._changeToRow-c:this._changeToRow-(f.startRow-f.ySplit),p=p<0?0:p),n===AUe.COLUMN&&(g=v&&v!==bj.VIEW_LEFT_TOP&&v!==bj.VIEW_MAIN_LEFT_TOP&&v!==bj.VIEW_MAIN_LEFT&&v!==bj.VIEW_COLUMN_LEFT?this._changeToColumn-d:this._changeToColumn-(f.startColumn-f.xSplit),g=g<0?0:g),this._commandService.executeCommand(aTe.id,{startRow:0===p?-1:this._changeToRow,startColumn:0===g?-1:this._changeToColumn,ySplit:p,xSplit:g,unitId:h.getUnitId(),subUnitId:m.getSheetId()})})}_getViewports(){let e=this._getSheetObject();if(null==e)return;let{scene:t}=e,r=t.getViewport(bj.VIEW_COLUMN_LEFT),n=t.getViewport(bj.VIEW_COLUMN_RIGHT),i=t.getViewport(bj.VIEW_ROW_TOP),a=t.getViewport(bj.VIEW_ROW_BOTTOM),o=t.getViewport(bj.VIEW_LEFT_TOP),s=t.getViewport(bj.VIEW_MAIN),l=t.getViewport(bj.VIEW_MAIN_LEFT_TOP),u=t.getViewport(bj.VIEW_MAIN_LEFT),c=t.getViewport(bj.VIEW_MAIN_TOP);return null!=r&&null!=n&&null!=i&&null!=a&&null!=o&&null!=s&&null!=l&&null!=u&&null!=c?{viewMain:s,viewMainLeftTop:l,viewMainLeft:u,viewMainTop:c,viewColumnLeft:r,viewColumnRight:n,viewRowTop:i,viewRowBottom:a,viewLeftTop:o}:void 0}_bindViewportScroll(){let e=this._getViewports();if(!e)return;let{viewRowBottom:t,viewColumnRight:r,viewMainLeft:n,viewMainTop:i}=e;this.disposeWithMe(this._scrollManagerService.validViewportScrollInfo$.subscribe(e=>{if(!e)return;let{scrollX:a,scrollY:o,viewportScrollX:s,viewportScrollY:l}=e;t.isActive&&t.updateScrollVal({scrollY:o,viewportScrollY:l}),r.isActive&&r.updateScrollVal({scrollX:a,viewportScrollX:s}),n.isActive&&n.updateScrollVal({scrollY:o,viewportScrollY:l}),i.isActive&&i.updateScrollVal({scrollX:a,viewportScrollX:s})}))}_updateViewport(e=-1,t=-1,r=0,n=0,i=IUe.ALL){var a;let o=null==(a=this._sheetSkeletonManagerService.getCurrentParam())?void 0:a.skeleton;if(null==o)return;let{rowHeaderWidthAndMarginLeft:s,columnHeaderHeightAndMarginTop:l}=o,u=this._getViewports();if(!u)return;let{viewMain:c,viewMainLeftTop:d,viewMainLeft:h,viewMainTop:m,viewColumnLeft:f,viewColumnRight:g,viewRowTop:p,viewRowBottom:v,viewLeftTop:b}=u;g.resizeWhenFreezeChange({left:s,top:0,height:l+1,right:0}),v.resizeWhenFreezeChange({left:0,top:l,bottom:0,width:s+1}),b.resizeWhenFreezeChange({left:0,top:0,width:s+1,height:l});let C=!0,y=!0;d.enable(),(-1===e||0===e)&&(C=!1),(-1===t||0===t)&&(y=!1);let _=o.getNoMergeCellWithCoordByIndex(e-r,t-n,!1),w=o.getNoMergeCellWithCoordByIndex(e,t,!1);if(d.disable(),m.disable(),h.disable(),p.disable(),f.disable(),d.resetPadding(),m.resetPadding(),h.resetPadding(),p.resetPadding(),f.resetPadding(),!1===C&&!1===y)c.resizeWhenFreezeChange({left:s,top:l,bottom:0,right:0}),c.resetPadding(),h.resizeWhenFreezeChange({left:s,top:l,bottom:0,width:0}),m.resizeWhenFreezeChange({left:s,top:l,height:0,right:0}),d.resizeWhenFreezeChange({left:s,top:l,width:0,height:0}),p.resizeWhenFreezeChange({left:0,top:l,width:s+1,height:0}),f.resizeWhenFreezeChange({left:0,top:0,height:l+1,width:0});else if(!0===C&&!1===y){let e=w.startY-_.startY;c.resizeWhenFreezeChange({left:s,top:l+e,bottom:0,right:0}),c.setPadding({startY:_.startY,endY:w.startY,startX:0,endX:0}),i&IUe.Y&&this._commandService.executeCommand(HPe.id,{sheetViewStartRow:0,offsetY:0}),m.resizeWhenFreezeChange({left:s,top:l,height:e,right:0}),m.updateScrollVal({viewportScrollY:_.startY,rawScrollX:c.scrollX,viewportScrollX:c.viewportScrollX}),p.resizeWhenFreezeChange({left:0,top:l,width:s+1,height:e}),p.updateScrollVal({viewportScrollY:_.startY}),v.resizeWhenFreezeChange({left:0,top:l+e,bottom:0,width:s+1}),m.enable(),p.enable()}else if(!1===C&&!0===y){let e=w.startX-_.startX;c.resizeWhenFreezeChange({left:s+e,top:l,bottom:0,right:0}),c.setPadding({startX:_.startX,endX:w.startX,startY:0,endY:0}),i&IUe.X&&this._commandService.executeCommand(HPe.id,{sheetViewStartColumn:0,offsetX:0}),h.resizeWhenFreezeChange({left:s,top:l,width:e,bottom:0,right:0}),h.updateScrollVal({viewportScrollX:_.startX,rawScrollY:c.scrollY,viewportScrollY:c.viewportScrollY}),f.resizeWhenFreezeChange({left:s,top:0,width:e,height:l+1}),f.updateScrollVal({viewportScrollX:_.startX}),g.resizeWhenFreezeChange({left:s+e,top:0,height:l+1,right:0}),h.enable(),f.enable()}else{let e=w.startX-_.startX,t=w.startY-_.startY;c.resizeWhenFreezeChange({left:s+e,top:l+t,bottom:0,right:0}),c.setPadding({startY:_.startY,endY:w.startY,startX:_.startX,endX:w.startX}),i&&this._commandService.executeCommand(HPe.id,{...i&IUe.X?{sheetViewStartColumn:0,offsetX:0}:null,...i&IUe.Y?{sheetViewStartRow:0,offsetY:0}:null}),h.resizeWhenFreezeChange({left:s,top:l+t,width:e,bottom:0}),h.updateScrollVal({viewportScrollX:_.startX,rawScrollY:c.scrollY,viewportScrollY:c.viewportScrollY}),m.resizeWhenFreezeChange({left:s+e,top:l,height:t,right:0}),m.updateScrollVal({viewportScrollY:_.startY,rawScrollX:c.scrollX,viewportScrollX:c.viewportScrollX}),d.resizeWhenFreezeChange({left:s,top:l,width:e,height:t}),d.updateScrollVal({viewportScrollX:_.startX,viewportScrollY:_.startY}),p.resizeWhenFreezeChange({left:0,top:l,width:s+1,height:t}),p.updateScrollVal({viewportScrollY:_.startY}),v.resizeWhenFreezeChange({left:0,top:l+t,bottom:0,width:s+1}),f.resizeWhenFreezeChange({left:s,top:0,width:e,height:l+1}),f.updateScrollVal({viewportScrollX:_.startX}),g.resizeWhenFreezeChange({left:s+e,top:0,height:l+1,right:0}),d.enable(),m.enable(),h.enable(),p.enable(),f.enable()}}_skeletonListener(){this.disposeWithMe(Jl(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{[fEe.id,_Ae.id,EAe.id].includes((null==e?void 0:e.commandId)||"")&&this._refreshCurrent()})))}_refreshCurrent(){let e=this._context.unit.getActiveSheet();if(!e)return;let{startRow:t=-1,startColumn:r=-1,ySplit:n=0,xSplit:i=0}=e.getConfig().freeze;this._refreshFreeze(t,r,n,i,IUe.NONE)}_themeChangeListener(){this._themeChange(this._themeService.getCurrentTheme()),this.disposeWithMe(this._themeService.currentTheme$.subscribe(e=>{this._clearFreeze(),this._themeChange(e),this._refreshCurrent()}))}_themeChange(e){this._freezeNormalHeaderColor=Rr(e,"gray.300"),this._freezeNormalMainColor=new $c(this._freezeNormalHeaderColor).setAlpha(.01).toRgbString(),this._freezeActiveColor=Rr(e,"primary.600"),this._freezeHoverColor=Rr(e,"gray.500")}_interceptorCommands(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>{let t={redos:[],undos:[]},r=this._getFreeze();if(!r)return t;let n=e=>{let r=this._context.unit,n=r.getUnitId(),i=r.getActiveSheet();if(!i)return t;let a=i.getSheetId();this._refreshFreeze(e.startRow,e.startColumn,e.ySplit,e.xSplit,IUe.NONE);let o={...e,unitId:n,subUnitId:a,resetScroll:!1},s=nTe(this._injector,o);return{undos:[{id:iTe.id,params:s}],redos:[{id:iTe.id,params:o}]}};if(e.id===AAe.id){let{range:t,direction:i}=e.params,a=t.endRow-t.startRow+1;if(t.startRowe.range.rangeType===pd.COLUMN&&e.range.startColumn<=a&&a<=e.range.endColumn);if(null==s||!s.length)return t;let l=s[0].range,u={...l,startColumn:o,endColumn:o+l.endColumn-l.startColumn};if(!r||r.startColumn<=0||l.startColumn>=r.startColumn&&u.startColumn>=r.startColumn||l.startColumn===u.startColumn||l.endColumn=r.startColumn?(c=Math.max(r.startColumn-m,1),d=Math.max(r.xSplit-m,1)):(c=r.startColumn+h-m,d=r.xSplit+h-m),n({...r,startColumn:c,xSplit:d})}if(e.id===GAe.id){let i=this._selectionManagerService.getCurrentSelections(),{fromRange:{startRow:a},toRange:{startRow:o}}=e.params,s=null==i?void 0:i.filter(e=>e.range.rangeType===pd.ROW&&e.range.startRow<=a&&a<=e.range.endRow);if(null==s||!s.length)return t;let l=s[0].range,u={...l,startRow:o,endRow:o+l.endRow-l.startRow};if(!r||r.startRow<=0||l.startRow>=r.startRow&&u.startRow>=r.startRow||l.startRow===u.startRow||l.endRow=r.startRow?(c=Math.max(r.startRow-m,1),d=Math.max(r.ySplit-m,1)):(c=r.startRow+h-m,d=r.ySplit+h-m),n({...r,startRow:c,ySplit:d})}if(e.id===zAe.id||e.id===jAe.id){let t=e.params,i=t.range;if(i.rangeType===pd.COLUMN&&i.startColumn{switch(e.id){case iTe.id:case QPe.id:{let t=this._lastFreeze,r=this._context.unit,n=r.getActiveSheet(),i=e.params,{unitId:a,subUnitId:o}=i;if(a!==r.getUnitId()||o!==(null==n?void 0:n.getSheetId()))return;let s=n.getConfig().freeze;if(this._lastFreeze=s,null==s)return;let l=IUe.NONE,{startRow:u=-1,startColumn:c=-1,ySplit:d=0,xSplit:h=0}=s;(!t||t.startRow!==u||t.ySplit!==d)&&(l|=IUe.Y),(!t||t.startColumn!==c||t.xSplit!==h)&&(l|=IUe.X),!1===i.resetScroll&&(l=IUe.NONE),this._refreshFreeze(u,c,d,h,l)}break;case cEe.id:{let t=this._getFreeze(),r=t&&e.params.ranges.some(e=>e.startRowe.startColumn-1&&t.rowsAutoHeightInfo.some(e=>e.row{this._refreshCurrent(),setTimeout(()=>{e.unsubscribe()})})}}break;case Pwe.id:case Dwe.id:{let t=e.params,r=this._getFreeze(),n=t.ranges;r&&r.startColumn>-1&&n.some(e=>e.startColumn-1&&n.some(e=>e.startRow{[zF.scale,zF.all].includes(e.type)&&this._refreshCurrent()}))}_clearObserverEvent(){var e,t;null!=this._getSheetObject()&&(null==(e=this._scenePointerMoveSub)||e.unsubscribe(),null==(t=this._scenePointerUpSub)||t.unsubscribe(),this._scenePointerMoveSub=null,this._scenePointerUpSub=null)}_clearFreeze(){var e,t,r,n,i,a;null==(e=this._rowFreezeHeaderRect)||e.dispose(),null==(t=this._rowFreezeMainRect)||t.dispose(),null==(r=this._columnFreezeHeaderRect)||r.dispose(),null==(n=this._columnFreezeMainRect)||n.dispose(),null!=this._getSheetObject()&&([this._freezeDownSubs,this._freezePointerEnterSubs,this._freezePointerLeaveSubs].forEach(e=>{null==e||e.unsubscribe()}),this._freezeDownSubs=null,this._freezePointerEnterSubs=null,this._freezePointerLeaveSubs=null,null==(i=this._scenePointerMoveSub)||i.unsubscribe(),null==(a=this._scenePointerUpSub)||a.unsubscribe(),this._scenePointerMoveSub=null,this._scenePointerUpSub=null)}_getPositionByIndex(e,t){var r;if(null==this._getSheetObject())return;let n=null==(r=this._sheetSkeletonManagerService.getCurrentParam())?void 0:r.skeleton,i=null==n?void 0:n.getNoMergeCellWithCoordByIndex(e,t);if(null==n)return;if(!(null==i||isNaN(i.endX)&&isNaN(i.endY)))return i;let{rowHeaderWidthAndMarginLeft:a,columnHeaderHeightAndMarginTop:o}=n;return{startX:a,endX:a,startY:o,endY:o}}_getFreeze(){var e;let t=null==(e=this._sheetSkeletonManagerService.getCurrentParam())?void 0:e.skeleton.getWorksheetConfig();if(null!=t)return t.freeze}_getSheetObject(){return PPe(this._context.unit,this._context)}_refreshFreeze(e,t,r,n,i){var a;let o={startRow:e,startColumn:t,ySplit:r,xSplit:n};this._clearFreeze(),this._createFreeze(AUe.ROW,o),this._createFreeze(AUe.COLUMN,o),this._updateViewport(e,t,r,n,i),null==(a=this._getSheetObject())||a.spreadsheet.makeForceDirty()}};function TUe(e,t){return!!MUe(e,t,pd.ROW)}function NUe(e,t){return!!MUe(e,t,pd.COLUMN)}function MUe(e,t,r){return e.find(e=>{let{startRow:n,endRow:i,startColumn:a,endColumn:o,rangeType:s}=e.range;return s!==pd.ALL&&s!==pd.NORMAL&&s===r&&(r===pd.COLUMN&&a<=t&&t<=o||r===pd.ROW&&n<=t&&t<=i)})}xUe=pLe([gLe(1,Y(vLe)),gLe(2,Vc),gLe(3,Y(rSe)),gLe(4,Y(_Pe)),gLe(5,Y(Lg)),gLe(6,Y(iwe)),gLe(7,Y(he))],xUe);const OUe=jl("headerMovePermissionCheck");let LUe=class extends tu{constructor(e,t,r,n){super(),this._context=e,this._sheetSkeletonManagerService=r,this._commandService=n,nLe(this,"_startOffsetX",-1/0),nLe(this,"_startOffsetY",-1/0),nLe(this,"_moveHelperBackgroundShape",void 0),nLe(this,"_moveHelperLineShape",void 0),nLe(this,"_headerPointerDownSubs",void 0),nLe(this,"_headerPointerMoveSubs",void 0),nLe(this,"_headerPointerLeaveSubs",void 0),nLe(this,"_dragHeaderMoveSub",void 0),nLe(this,"_scenePointerUpSub",void 0),nLe(this,"_scrollTimer",void 0),nLe(this,"_changeFromColumn",-1),nLe(this,"_changeFromRow",-1),nLe(this,"_changeToColumn",-1),nLe(this,"_changeToRow",-1),nLe(this,"interceptor",new Wl({HEADER_MOVE_PERMISSION_CHECK:OUe})),nLe(this,"_workbookSelections",void 0),this._workbookSelections=t.getWorkbookSelections(this._context.unitId),this._init()}dispose(){var e,t,r,n,i,a,o,s;null==(e=this._moveHelperBackgroundShape)||e.dispose(),null==(t=this._moveHelperLineShape)||t.dispose(),null==(r=this._headerPointerMoveSubs)||r.unsubscribe(),null==(n=this._headerPointerLeaveSubs)||n.unsubscribe(),null==(i=this._headerPointerDownSubs)||i.unsubscribe(),this._headerPointerMoveSubs=null,this._headerPointerLeaveSubs=null,this._headerPointerDownSubs=null,null==(a=this._dragHeaderMoveSub)||a.unsubscribe(),null==(o=this._scenePointerUpSub)||o.unsubscribe(),this._dragHeaderMoveSub=null,this._scenePointerUpSub=null,null==(s=this._scrollTimer)||s.dispose()}_init(){this._initialRowOrColumn(pd.ROW),this._initialRowOrColumn(pd.COLUMN)}_initialRowOrColumn(e=pd.ROW){let t=this._context.components.get(tLe.COLUMN),r=this._context.components.get(tLe.ROW),n=this._context.scene,i=e===pd.ROW?r:t;this._headerPointerMoveSubs=new tn,this._headerPointerMoveSubs.add(i.onPointerMove$.subscribeEvent(t=>{var r,i;let a=null==(r=this._sheetSkeletonManagerService.getCurrentParam())?void 0:r.skeleton;if(null==a)return;let o=null==(i=this._workbookSelections.getCurrentLastSelection())?void 0:i.range;if(!o||!this.interceptor.fetchThroughInterceptors(OUe)(!1,o))return;let s=this._workbookSelections.getCurrentSelections(),{row:l,column:u}=UPe(t.offsetX,t.offsetY,n,a);MUe(s,e===pd.ROW?l:u,e)?n.setCursor(TV.GRAB):n.resetCursor()})),this._headerPointerLeaveSubs=new tn,this._headerPointerLeaveSubs.add(null==i?void 0:i.onPointerLeave$.subscribeEvent(()=>{var e,t;null==(e=this._moveHelperBackgroundShape)||e.hide(),null==(t=this._moveHelperLineShape)||t.hide(),n.resetCursor()})),this._headerPointerDownSubs=new tn,this._headerPointerDownSubs.add(null==i?void 0:i.onPointerDown$.subscribeEvent((t,r)=>{var i,a;if(r.isStopPropagation)return;let o=null==(i=this._sheetSkeletonManagerService.getCurrentParam())?void 0:i.skeleton;if(null==o)return;let s=null==(a=this._workbookSelections.getCurrentLastSelection())?void 0:a.range;if(!s||!this.interceptor.fetchThroughInterceptors(OUe)(!1,s))return;let{offsetX:l,offsetY:u}=t,{x:c,y:d}=n.getCoordRelativeToViewport(TF.FromArray([l,u]));this._startOffsetX=c,this._startOffsetY=d;let h,{row:m,column:f}=UPe(t.offsetX,t.offsetY,n,o);e===pd.ROW?(this._changeFromRow=m,h=wX.Y):(this._changeFromColumn=f,h=wX.X);let g=MUe(this._workbookSelections.getCurrentSelections(),e===pd.ROW?m:f,e);if(!g)return;let p=n.getScrollXYInfoByViewport(TF.FromArray([this._startOffsetX,this._startOffsetY]));this._newBackgroundAndLine(),n.setCursor(TV.GRABBING),n.disableObjectsEvent();let v,b=!1,C=()=>{if(b)return;v=SX.create(n,h),this._scrollTimer=v;let e=n.getViewport(bj.VIEW_MAIN);v.startScroll(c,d,e),b=!0};this._dragHeaderMoveSub=n.onPointerMove$.subscribeEvent(t=>{C();let{offsetX:r,offsetY:i}=t,{x:a,y:o}=n.getCoordRelativeToViewport(TF.FromArray([r,i]));this._rowColumnMoving(a,o,g,p,e),v.scrolling(a,o,()=>{this._rowColumnMoving(a,o,g,p,e)})}),this._scenePointerUpSub=n.onPointerUp$.subscribeEvent(()=>{var t;this._disposeBackgroundAndLine(),n.resetCursor(),n.enableObjectsEvent(),this._clearObserverEvent(),null==(t=this._scrollTimer)||t.dispose();let r=this._workbookSelections.getCurrentSelections();if(e===pd.ROW){if(this._changeFromRow!==this._changeToRow&&-1!==this._changeToRow){var i;let e=null==(i=((null==r?void 0:r.filter(e=>e.range.rangeType===pd.ROW&&e.range.startRow<=this._changeFromRow&&this._changeFromRow<=e.range.endRow))||[])[0])?void 0:i.range;e&&this._commandService.executeCommand(GAe.id,{fromRange:e,toRange:{...e,startRow:this._changeToRow,endRow:this._changeToRow+e.endRow-e.startRow}})}this._changeToRow=this._changeFromRow=-1}else{if(this._changeFromColumn!==this._changeToColumn&&-1!==this._changeToColumn){var a;let e=null==(a=((null==r?void 0:r.filter(e=>e.range.rangeType===pd.COLUMN&&e.range.startColumn<=this._changeFromColumn&&this._changeFromColumn<=e.range.endColumn))||[])[0])?void 0:a.range;e&&this._commandService.executeCommand(QAe.id,{fromRange:e,toRange:{...e,startColumn:this._changeToColumn,endColumn:this._changeToColumn+e.endColumn-e.startColumn}})}this._changeToColumn=this._changeFromColumn=-1}})}))}_rowColumnMoving(e,t,r,n,i){var a,o,s;let l=this._context.scene,u=null==(a=this._sheetSkeletonManagerService.getCurrentParam())?void 0:a.skeleton;if(null==u)return;let{rowHeaderWidth:c,columnHeaderHeight:d,rowTotalHeight:h,columnTotalWidth:m}=u,f=l.getViewportScrollXY(l.getViewport(bj.VIEW_MAIN)),{scaleX:g,scaleY:p}=l.getAncestorScale(),{row:v,column:b}=u.getCellIndexByOffset(e,t,g,p,f),{startX:C,startY:y,endX:_,endY:w}=u.getNoMergeCellWithCoordByIndex(v,b),E=this._sheetSkeletonManagerService.attachRangeWithCoord(r.range);if(null==E)return;let S=Math.max(g,g),{startX:A,endX:I,startY:R,endY:x,startRow:T,startColumn:N,endRow:M,endColumn:O}=E;var L,k;i===pd.ROW?null==(L=this._moveHelperBackgroundShape)||L.transformByState({height:x-R,width:m+c,left:0,top:R+(t-this._startOffsetY)/S+f.y-n.y}):null==(k=this._moveHelperBackgroundShape)||k.transformByState({height:h+d,width:I-A,left:A+(e-this._startOffsetX)/S+f.x-n.x,top:0}),null==(o=this._moveHelperBackgroundShape)||o.show();let P=4/S;if(i===pd.ROW){var D;let e=0;if(v<=T)e=y-P/2,this._changeToRow=v;else{if(!(v>M))return;e=w-P/2,this._changeToRow=v+1}null==(D=this._moveHelperLineShape)||D.transformByState({height:P,width:m,left:c,top:e})}else{var U;let e=0;if(b<=N)e=C-P/2,this._changeToColumn=b;else{if(!(b>O))return;e=_-P/2,this._changeToColumn=b+1}null==(U=this._moveHelperLineShape)||U.transformByState({height:h,width:P,left:e,top:d})}null==(s=this._moveHelperLineShape)||s.show()}_clearObserverEvent(){var e,t;null==(e=this._dragHeaderMoveSub)||e.unsubscribe(),null==(t=this._scenePointerUpSub)||t.unsubscribe(),this._dragHeaderMoveSub=null,this._scenePointerUpSub=null}_newBackgroundAndLine(){let e=this._context.scene;this._moveHelperBackgroundShape=new tX("__SpreadsheetHeaderMoveControllerBackground__",{fill:"rgba(0, 0, 0, 0.1)",evented:!1,zIndex:100}),this._moveHelperLineShape=new tX("__SpreadsheetHeaderMoveControllerShapeLine__",{fill:"rgb(119, 119, 119)",evented:!1,zIndex:100}),e.addObjects([this._moveHelperBackgroundShape,this._moveHelperLineShape],10)}_disposeBackgroundAndLine(){var e,t;null==(e=this._moveHelperBackgroundShape)||e.dispose(),null==(t=this._moveHelperLineShape)||t.dispose()}};LUe=pLe([gLe(1,Y(rSe)),gLe(2,Y(vLe)),gLe(3,Vc)],LUe);let kUe=function(e){return e[e.VERTICAL=0]="VERTICAL",e[e.HORIZONTAL=1]="HORIZONTAL",e}({});const PUe="rgb(68, 71, 70)";var DUe=class extends oH{constructor(e,t){super(e,t),nLe(this,"_size",12),nLe(this,"_color",PUe),nLe(this,"_mode",kUe.VERTICAL),this.setShapeProps(t)}get size(){return this._size}get mode(){return this._mode}get color(){return this._color}_draw(e){let t=this.getScene();if(!t)return;let{scaleX:r,scaleY:n}=t.getAncestorScale(),i=Math.max(r,n),a=12/i,o=4/i,{width:s,height:l}=this,u=0,c=0;this.mode===kUe.VERTICAL?(s=o,u=a-o):(l=o,c=a-o),tX.drawWith(e,{width:this.width,height:this.height,left:0,top:0,fill:"rgba(120, 120, 120, 0.01)"}),tX.drawWith(e,{width:s,height:l,fill:PUe,radius:o}),e.save(),e.transform(1,0,0,1,u,c),tX.drawWith(e,{width:s,height:l,fill:PUe,radius:o}),e.restore()}setShapeProps(e){return null!=e&&e.size&&(this._size=e.size),null!=e&&e.mode&&(this._mode=e.mode),null!=e&&e.color&&(this._color=e.color),this.mode===kUe.VERTICAL?this.transformByState({width:12,height:this.size}):this.transformByState({width:this.size,height:12}),this}};const UUe="__SpreadsheetHeaderResizeControllerShapeHelper__",BUe="rgb(199, 199, 199)";var VUe=function(e){return e[e.ROW=0]="ROW",e[e.COLUMN=1]="COLUMN",e}(VUe||{});const FUe=jl("headerResizePermissionCheck");let jUe=class extends tu{constructor(e,t,r,n){super(),this._context=e,this._sheetSkeletonManagerService=t,this._selectionManagerService=r,this._commandService=n,nLe(this,"_currentRow",0),nLe(this,"_currentColumn",0),nLe(this,"_rowResizeRect",void 0),nLe(this,"_columnResizeRect",void 0),nLe(this,"_headerPointerSubs",void 0),nLe(this,"_scenePointerMoveSub",void 0),nLe(this,"_scenePointerUpSub",void 0),nLe(this,"_resizeHelperShape",void 0),nLe(this,"_startOffsetX",1/0),nLe(this,"_startOffsetY",1/0),nLe(this,"interceptor",new Wl({HEADER_RESIZE_PERMISSION_CHECK:FUe})),this._init()}dispose(){var e,t,r;null==(e=this._rowResizeRect)||e.dispose(),this._rowResizeRect=null,null==(t=this._columnResizeRect)||t.dispose(),this._columnResizeRect=null,null==(r=this._headerPointerSubs)||r.unsubscribe(),this._headerPointerSubs=null}_init(){let e=this._context.scene;this._rowResizeRect=new DUe("__SpreadsheetHeaderResizeControllerShapeRow__",{visible:!1,mode:kUe.HORIZONTAL,zIndex:100}),this._columnResizeRect=new DUe("__SpreadsheetHeaderResizeControllerShapeColumn__",{visible:!1,mode:kUe.VERTICAL,zIndex:100}),e.addObjects([this._rowResizeRect,this._columnResizeRect],10),this._initialHover(VUe.ROW),this._initialHover(VUe.COLUMN),this._initialHoverResize(VUe.ROW),this._initialHoverResize(VUe.COLUMN)}_initialHover(e=VUe.ROW){let t=this._context.components.get(tLe.COLUMN),r=this._context.components.get(tLe.ROW),n=this._context.scene,i=e===VUe.ROW?r:t;this._headerPointerSubs=new tn,this._headerPointerSubs.add(null==i?void 0:i.onPointerMove$.subscribeEvent((t,r)=>{var i;let a=null==(i=this._sheetSkeletonManagerService.getCurrentParam())?void 0:i.skeleton;if(null==a||null==this._rowResizeRect||null==this._columnResizeRect)return;let{rowHeaderWidth:o,columnHeaderHeight:s}=a,{startX:l,startY:u,endX:c,endY:d,row:h,column:m}=UPe(t.offsetX,t.offsetY,n,a),f=BPe(t.offsetX,t.offsetY,n),{scaleX:g,scaleY:p}=n.getAncestorScale(),v=12/Math.max(g,p);if(e===VUe.ROW){let e=u-v/2;if(f.y<=u+v/2&&f.y>=u)this._currentRow=h-1;else{if(!(f.y>=d-v/2&&f.y<=d))return void this._rowResizeRect.hide();this._currentRow=h,e=d-v/2}if(-1===this._currentRow)return;if(!this.interceptor.fetchThroughInterceptors(FUe)(null,{row:this._currentRow}))return!1;let t=Math.min(44,o/3);this._rowResizeRect.transformByState({left:o/2-t/2,top:e}),this._rowResizeRect.setShapeProps({size:t}),this._rowResizeRect.show()}else{let e=l-v/2;if(f.x<=l+v/2&&f.x>=l)this._currentColumn=m-1;else{if(!(f.x>=c-v/2&&f.x<=c))return void this._columnResizeRect.hide();this._currentColumn=m,e=c-v/2}if(-1===this._currentColumn)return;if(!this.interceptor.fetchThroughInterceptors(FUe)(null,{col:this._currentColumn}))return!1;let t=.7*s;this._columnResizeRect.transformByState({left:e,top:s/2-t/2}),this._columnResizeRect.setShapeProps({size:t}),this._columnResizeRect.show()}})),this._headerPointerSubs.add(null==i?void 0:i.onPointerLeave$.subscribeEvent((e,t)=>{var r,n;null==(r=this._rowResizeRect)||r.hide(),null==(n=this._columnResizeRect)||n.hide()}))}_initialHoverResize(e=VUe.ROW){let t=this._context.scene,r=e===VUe.ROW?this._rowResizeRect:this._columnResizeRect;null!=r&&(this.disposeWithMe(r.onPointerEnter$.subscribeEvent(()=>{null!=r&&(r.show(),t.setCursor(e===VUe.ROW?TV.ROW_RESIZE:TV.COLUMN_RESIZE))})),this.disposeWithMe(r.onPointerLeave$.subscribeEvent(()=>{null!=r&&(r.hide(),t.resetCursor())})),this.disposeWithMe(r.onPointerDown$.subscribeEvent(t=>{var r,n,i,a,o;let s=null==(r=this._sheetSkeletonManagerService.getCurrentParam())?void 0:r.skeleton;if(null==s)return;let l=this._context.scene,u=l.getEngine(),c=(null==u?void 0:u.height)||0,d=(null==u?void 0:u.width)||0,h=l.getViewport(bj.VIEW_MAIN),m=((null==h||null==(n=h.getScrollBar())||null==(n=n.horizonScrollTrack)?void 0:n.height)||0)+10,f=((null==h||null==(i=h.getScrollBar())||null==(i=i.verticalScrollTrack)?void 0:i.width)||0)+10,g=BPe(t.offsetX,t.offsetY,l),{scaleX:p,scaleY:v}=l.getAncestorScale();this._startOffsetX=g.x,this._startOffsetY=g.y;let b=s.getOffsetByColumn(this._currentColumn),C=s.getOffsetByRow(this._currentRow),y=s.getNoMergeCellWithCoordByIndex(this._currentRow,this._currentColumn),_=!1,w=0,E=0,{columnTotalWidth:S,rowHeaderWidth:A,rowTotalHeight:I,columnHeaderHeight:R}=s,x=d>S+A?d:S+A,T=c>I+R?c:I+R,N=4/Math.max(p,v);e===VUe.ROW?this._resizeHelperShape=new tX(UUe,{width:x,height:N,fill:BUe,left:0,top:C-N/2}):this._resizeHelperShape=new tX(UUe,{width:N,height:T,fill:BUe,left:b-N/2,top:0});let M=(null==(a=this._columnResizeRect)?void 0:a.left)||0,O=(null==(o=this._rowResizeRect)?void 0:o.top)||0;l.addObject(this._resizeHelperShape,10),l.disableObjectsEvent(),this._scenePointerMoveSub=l.onPointerMove$.subscribeEvent(t=>{let r=l.getCoordRelativeToViewport(TF.FromArray([this._startOffsetX,this._startOffsetY])),n=l.getScrollXYInfoByViewport(r,h),{x:i,y:a}=BPe(t.offsetX,t.offsetY,l),{scaleX:o,scaleY:s}=l.getAncestorScale(),u=4/Math.max(o,s);var g,p,v;if(w=i-this._startOffsetX-u/2,E=a-this._startOffsetY-u/2,Math.abs(e===VUe.ROW?E:w)>=2&&(_=!0),e===VUe.ROW)E>c-m+n.y-y.startY&&(E=c-m+n.y-y.startY),E<2-(y.endY-y.startY)&&(E=2-(y.endY-y.startY)),_&&(null==(g=this._resizeHelperShape)||g.transformByState({top:C+E}),null==(p=this._rowResizeRect)||p.transformByState({top:O+E+u/2}),null==(v=this._rowResizeRect)||v.show(),l.setCursor(TV.ROW_RESIZE));else if(w>d-f+n.x-y.startX&&(w=d-f+n.x-y.startX),w<2-(y.endX-y.startX)&&(w=2-(y.endX-y.startX)),_){var S,A,I;null==(S=this._resizeHelperShape)||S.transformByState({left:b+w}),null==(A=this._columnResizeRect)||A.transformByState({left:M+w+u/2}),null==(I=this._columnResizeRect)||I.show(),l.setCursor(TV.COLUMN_RESIZE)}}),this._scenePointerUpSub=l.onPointerUp$.subscribeEvent(t=>{var r;let n=this._context.scene;var i,a;this._clearObserverEvent(),null==(r=this._resizeHelperShape)||r.dispose(),this._resizeHelperShape=null,n.enableObjectsEvent(),_&&(n.resetCursor(),null==(i=this._rowResizeRect)||i.hide(),null==(a=this._columnResizeRect)||a.hide(),e===VUe.ROW?this._commandService.executeCommand(QTe.id,{deltaY:E,anchorRow:this._currentRow}):this._commandService.executeCommand(wTe.id,{deltaX:w,anchorCol:this._currentColumn}))})})),this.disposeWithMe(r.onDblclick$.subscribeEvent(()=>{var t;this._context.scene.resetCursor();let r=null==(t=this._sheetSkeletonManagerService.getCurrentParam())?void 0:t.skeleton;if(!r)return;let n=r.worksheet.getRowCount()-1||0,i=r.worksheet.getColumnCount()-1||0;switch(e){case VUe.COLUMN:{var a;let e=this._selectionManagerService.getCurrentSelections(),t=[];for(let r=0;r=i.range.startColumn&&t.push({startColumn:i.range.startColumn,endColumn:i.range.endColumn,startRow:0,endRow:n})}0===t.length&&t.push({startColumn:this._currentColumn,endColumn:this._currentColumn,startRow:0,endRow:n}),this._commandService.executeCommand(XPe.id,{ranges:t}),null==(a=this._columnResizeRect)||a.hide();break}case VUe.ROW:var o;this._commandService.executeCommand(KTe.id,{ranges:[{startRow:this._currentRow,endRow:this._currentRow,startColumn:0,endColumn:i}]}),null==(o=this._rowResizeRect)||o.hide()}})))}_clearObserverEvent(){var e,t;null==(e=this._scenePointerMoveSub)||e.unsubscribe(),null==(t=this._scenePointerUpSub)||t.unsubscribe(),this._scenePointerMoveSub=null,this._scenePointerUpSub=null}};jUe=pLe([gLe(1,Y(vLe)),gLe(2,Y(rSe)),gLe(3,Vc)],jUe);let HUe=class extends ru{constructor(e,t,r,n,i,a){super(),this._context=e,this._configService=t,this._sheetSkeletonManagerService=r,this._sheetRenderService=n,this._commandService=i,this._telemetryService=a,nLe(this,"_renderMetric$",new On),nLe(this,"renderMetric$",this._renderMetric$.asObservable()),nLe(this,"_renderFrameTimeMetric",null),nLe(this,"_renderFrameTags",{}),nLe(this,"_afterRenderMetric$",new On),this._addNewRender(),this._initRenderMetricSubscriber()}_addNewRender(){let{scene:e,engine:t,unit:r}=this._context;this._addComponent(r),this._initRerenderScheduler(),this._initCommandListener();let n=this._context.unit.getActiveSheet();if(!n)throw Error("No active sheet found");let i=n.getSheetId();this._sheetSkeletonManagerService.setCurrent({sheetId:i});let a=()=>e.render();this.disposeWithMe(this._context.activated$.subscribe(e=>{e?t.runRenderLoop(a):t.stopRenderLoop(a)}))}_initRenderMetricSubscriber(){let{engine:e}=this._context;e.beginFrame$.subscribe(()=>{this._renderFrameTimeMetric=null,this._renderFrameTags={}}),e.endFrame$.subscribe(()=>{this._renderFrameTimeMetric&&Object.keys(this._renderFrameTimeMetric).filter(e=>e.startsWith(wj)).length>0&&this._afterRenderMetric$.next({frameTimeMetric:this._renderFrameTimeMetric,tags:this._renderFrameTags})}),e.renderFrameTimeMetric$.subscribe(([e,t])=>{this._renderFrameTimeMetric||(this._renderFrameTimeMetric={}),this._renderFrameTimeMetric[e]||(this._renderFrameTimeMetric[e]=[]),this._renderFrameTimeMetric[e].push(Math.round(100*t)/100)}),e.renderFrameTags$.subscribe(([e,t])=>{this._renderFrameTags[e]=t});let t=[];this._afterRenderMetric$.pipe(function(){for(var e=[],t=0;t{t.push({FPS:r.FPS,elapsedTime:r.elapsedTime,frameTime:Math.round(100*r.frameTime)/100,...e.frameTimeMetric,...e.tags}),t.length>60&&(this._captureRenderMetric(t),t.length=0)})}_captureRenderMetric(e){var t;let r=e;if(0===r.length)return;let n=e=>{let t=0,r=Object.entries(e).filter(([e,t])=>Array.isArray(t)).map(([e])=>e).reduce((t,r)=>(t[r]=e[r].reduce((e,t)=>e+t,0),t),{});return Object.keys(e).filter(e=>e.startsWith(wj)).forEach(e=>{t+=r[e]}),{...r,extensionTotal:t}},i=(e=>Object.entries(e[0]).filter(([e,t])=>!["elapsedTime"].includes(e)).filter(([e,t])=>"number"==typeof t).map(([e])=>e).reduce((t,r)=>{let n=e.map(e=>e[r]),i=Math.max(...n),a=Math.min(...n),o=n.reduce((e,t)=>e+t,0)/n.length;return t[r]={max:Math.round(100*i)/100,min:Math.round(100*a)/100,avg:Math.round(100*o)/100},t},{}))(e.map(e=>({...e,...n(e)}))),a=r[r.length-1].elapsedTime,o={sheetId:this._context.unit.getActiveSheet().getSheetId(),unitId:this._context.unit.getUnitId(),elapsedTimeToStart:a,...i};this._renderMetric$.next(o),null==(t=this._telemetryService)||t.capture("sheet_render_cost",o)}_addComponent(e){let{scene:t,components:r}=this._context,n=e.getActiveSheet(),i=new dX(tLe.MAIN);this._addViewport(n);let a=new Yz(tLe.ROW),o=new vj(tLe.COLUMN),s=new tX(tLe.LEFT_TOP,{zIndex:2,left:-1,top:-1,fill:"rgb(248, 249, 250)",stroke:"rgb(217, 217, 217)",strokeWidth:1});this._context.mainComponent=i,r.set(tLe.MAIN,i),r.set(tLe.ROW,a),r.set(tLe.COLUMN,o),r.set(tLe.LEFT_TOP,s),t.addObjects([i],0),t.addObjects([a,o,s],10),t.enableLayerCache(0,10)}_initViewports(e,t,r){let n=t.hidden?0:t.width,i=r.hidden?0:r.height,a=new FX(bj.VIEW_MAIN,e,{left:n,top:i,bottom:0,right:0,isWheelPreventDefaultX:!0,allowCache:!0,bufferEdgeX:100,bufferEdgeY:100}),o=new FX(bj.VIEW_MAIN_LEFT_TOP,e,{isWheelPreventDefaultX:!0,active:!1,allowCache:!0,bufferEdgeX:0,bufferEdgeY:0}),s=new FX(bj.VIEW_MAIN_LEFT,e,{isWheelPreventDefaultX:!0,active:!1,allowCache:!0,bufferEdgeX:0,bufferEdgeY:100}),l=new FX(bj.VIEW_MAIN_TOP,e,{isWheelPreventDefaultX:!0,active:!1,allowCache:!0,bufferEdgeX:100,bufferEdgeY:0}),u=new FX(bj.VIEW_ROW_TOP,e,{active:!1,isWheelPreventDefaultX:!0}),c=new FX(bj.VIEW_ROW_BOTTOM,e,{left:0,top:i,bottom:0,width:n+1,isWheelPreventDefaultX:!0}),d=new FX(bj.VIEW_COLUMN_LEFT,e,{active:!1,isWheelPreventDefaultX:!0}),h=new FX(bj.VIEW_COLUMN_RIGHT,e,{left:n,top:0,height:i+1,right:0,isWheelPreventDefaultX:!0});return{viewMain:a,viewLeftTop:new FX(bj.VIEW_LEFT_TOP,e,{left:0,top:0,width:n,height:i,isWheelPreventDefaultX:!0}),viewMainLeftTop:o,viewMainLeft:s,viewMainTop:l,viewColumnLeft:d,viewRowTop:u,viewRowBottom:c,viewColumnRight:h}}_addViewport(e){let t=this._context.scene,{rowHeader:r,columnHeader:n}=e.getConfig(),{viewMain:i}=this._initViewports(t,r,n),a=this._configService.getConfig(iDe);return new lX(i,null==a?void 0:a.scrollConfig),t.attachControl(),i}_initRerenderScheduler(){this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{if(!e)return null;let{skeleton:t,sheetId:r}=e,n=this._context.unit,i=null==n?void 0:n.getSheetBySheetId(r);if(null==n||null==i)return;let{mainComponent:a,components:o}=this._context,s=a,l=o.get(tLe.ROW),u=o.get(tLe.COLUMN),c=o.get(tLe.LEFT_TOP),{rowHeaderWidth:d,columnHeaderHeight:h}=t;null==s||s.updateSkeleton(t),null==l||l.updateSkeleton(t),null==u||u.updateSkeleton(t),null==c||c.transformByState({width:d,height:h})}))}_initCommandListener(){this.disposeWithMe(this._commandService.onCommandExecuted((e,t)=>{let{unit:r}=this._context,{id:n}=e;if(vEe.includes(n)||this._sheetRenderService.checkMutationShouldTriggerRerender(n)){let{unitId:t,subUnitId:i}=e.params,a=r.getActiveSheet();if(!a)return;let o=this._context.unitId,s=a.getSheetId();if(t!==o||i!==s)return;this._sheetSkeletonManagerService.makeDirty({sheetId:s,commandId:n},!0),this._sheetSkeletonManagerService.setCurrent({sheetId:s,commandId:n})}else bEe.includes(n)&&this._sheetSkeletonManagerService.reCalculate();e.type===Bc.MUTATION&&this._markUnitDirty(e,t)}))}_markUnitDirty(e,t){if("doc"===e.id.substring(0,3))return;let{mainComponent:r,scene:n}=this._context;if(e.id===ufe.id&&null!=e.params.stageInfo||(r&&r.makeDirty(),n.makeDirty(),!e.params))return;let i=e.params,a=this._spreadsheetViewports(n);if(e.id===Kwe.id&&i.cellValue&&(null==t||!t.fromChangeset)){let e=this._cellValueToRange(i.cellValue),t=this._rangeToBounds([e]);this._markViewportDirty(a,t),r.setDirtyArea(t)}if(e.id===Ewe.id&&i.from&&i.to&&(null==t||!t.fromChangeset)){let e=i.fromRange||this._cellValueToRange(i.from.value),t=i.toRange||this._cellValueToRange(i.to.value),n=this._rangeToBounds([e,t]);this._markViewportDirty(a,n),r.setDirtyArea(n)}}_cellValueToRange(e){let t=[],r=0,n=0,i=0,a=0;for(let[o,s]of Object.entries(e)){for(let e in s)t.push(Number(e)),r>Number(e)&&(r=Number(e)),nNumber(o)&&(i=Number(o)),ae.isActive&&e.cacheBound);for(let e of r)for(let r of t)Oh.hasIntersectionBetweenTwoRect(e.cacheBound,r)&&e.markDirty(!0)}_spreadsheetViewports(e){return e.getViewports().filter(e=>["viewMain","viewMainLeftTop","viewMainTop","viewMainLeft"].includes(e.viewportKey))}};HUe=pLe([gLe(1,Y(Tc)),gLe(2,Y(vLe)),gLe(3,Y(_De)),gLe(4,Vc),gLe(5,G(BOe))],HUe);const WUe=({className:e})=>(0,$Z.jsxs)("svg",{className:e,width:"120",height:"2",viewBox:"0 0 120 2",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,$Z.jsx)("path",{d:"M0.98999 1.08218H-0.0100098V0.0821838H0.98999V1.08218Z"}),(0,$Z.jsx)("path",{d:"M5.78992 1.08218H2.78992V0.0821838H5.78992V1.08218Z"}),(0,$Z.jsx)("path",{d:"M7.58984 1.08218H8.58984V0.0821838H7.58984V1.08218Z"}),(0,$Z.jsx)("path",{d:"M14.9152 1.08218H13.9152V0.0821838H14.9152V1.08218Z"}),(0,$Z.jsx)("path",{d:"M16.7151 1.08218H19.7151V0.0821838H16.7151V1.08218Z"}),(0,$Z.jsx)("path",{d:"M22.515 1.08218H21.515V0.0821838H22.515V1.08218Z"}),(0,$Z.jsx)("path",{d:"M27.8405 1.08218H28.8405V0.0821838H27.8405V1.08218Z"}),(0,$Z.jsx)("path",{d:"M33.6404 1.08218H30.6404V0.0821838H33.6404V1.08218Z"}),(0,$Z.jsx)("path",{d:"M35.4403 1.08218H36.4403V0.0821838H35.4403V1.08218Z"}),(0,$Z.jsx)("path",{d:"M42.7657 1.08218H41.7657V0.0821838H42.7657V1.08218Z"}),(0,$Z.jsx)("path",{d:"M44.5657 1.08218H47.5657V0.0821838H44.5657V1.08218Z"}),(0,$Z.jsx)("path",{d:"M50.3656 1.08218H49.3656V0.0821838H50.3656V1.08218Z"}),(0,$Z.jsx)("path",{d:"M55.691 1.08218H56.691V0.0821838H55.691V1.08218Z"}),(0,$Z.jsx)("path",{d:"M61.491 1.08218H58.491V0.0821838H61.491V1.08218Z"}),(0,$Z.jsx)("path",{d:"M63.2909 1.08218H64.2909V0.0821838H63.2909V1.08218Z"}),(0,$Z.jsx)("path",{d:"M70.6163 1.08218H69.6163V0.0821838H70.6163V1.08218Z"}),(0,$Z.jsx)("path",{d:"M72.4163 1.08218H75.4163V0.0821838H72.4163V1.08218Z"}),(0,$Z.jsx)("path",{d:"M78.2162 1.08218H77.2162V0.0821838H78.2162V1.08218Z"}),(0,$Z.jsx)("path",{d:"M83.5416 1.08218H84.5416V0.0821838H83.5416V1.08218Z"}),(0,$Z.jsx)("path",{d:"M89.3416 1.08218H86.3416V0.0821838H89.3416V1.08218Z"}),(0,$Z.jsx)("path",{d:"M91.1415 1.08218H92.1415V0.0821838H91.1415V1.08218Z"}),(0,$Z.jsx)("path",{d:"M98.4669 1.08218H97.4669V0.0821838H98.4669V1.08218Z"}),(0,$Z.jsx)("path",{d:"M100.267 1.08218H103.267V0.0821838H100.267V1.08218Z"}),(0,$Z.jsx)("path",{d:"M106.067 1.08218H105.067V0.0821838H106.067V1.08218Z"}),(0,$Z.jsx)("path",{d:"M111.392 1.08218H112.392V0.0821838H111.392V1.08218Z"}),(0,$Z.jsx)("path",{d:"M117.192 1.08218H114.192V0.0821838H117.192V1.08218Z"}),(0,$Z.jsx)("path",{d:"M118.992 1.08218H119.992V0.0821838H118.992V1.08218Z"})]}),zUe=({className:e})=>(0,$Z.jsxs)("svg",{className:e,width:"120",height:"2",viewBox:"0 0 120 2",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,$Z.jsx)("path",{d:"M-0.0100098 1.15771H0.98999V0.157715H-0.0100098V1.15771Z"}),(0,$Z.jsx)("path",{d:"M2.78992 1.15771H5.78992V0.157715H2.78992V1.15771Z"}),(0,$Z.jsx)("path",{d:"M8.58984 1.15771H7.58984V0.157715H8.58984V1.15771Z"}),(0,$Z.jsx)("path",{d:"M10.3899 1.15771H11.3899V0.157715H10.3899V1.15771Z"}),(0,$Z.jsx)("path",{d:"M19.0903 1.15771H18.0903V0.157715H19.0903V1.15771Z"}),(0,$Z.jsx)("path",{d:"M20.8903 1.15771H23.8903V0.157715H20.8903V1.15771Z"}),(0,$Z.jsx)("path",{d:"M26.6902 1.15771H25.6902V0.157715H26.6902V1.15771Z"}),(0,$Z.jsx)("path",{d:"M28.4902 1.15771H29.4902V0.157715H28.4902V1.15771Z"}),(0,$Z.jsx)("path",{d:"M37.1907 1.15771H36.1907V0.157715H37.1907V1.15771Z"}),(0,$Z.jsx)("path",{d:"M38.9906 1.15771H41.9906V0.157715H38.9906V1.15771Z"}),(0,$Z.jsx)("path",{d:"M44.7905 1.15771H43.7905V0.157715H44.7905V1.15771Z"}),(0,$Z.jsx)("path",{d:"M46.5906 1.15771H47.5906V0.157715H46.5906V1.15771Z"}),(0,$Z.jsx)("path",{d:"M55.291 1.15771H54.291V0.157715H55.291V1.15771Z"}),(0,$Z.jsx)("path",{d:"M57.0909 1.15771H60.0909V0.157715H57.0909V1.15771Z"}),(0,$Z.jsx)("path",{d:"M62.8909 1.15771H61.8909V0.157715H62.8909V1.15771Z"}),(0,$Z.jsx)("path",{d:"M64.6909 1.15771H65.6909V0.157715H64.6909V1.15771Z"}),(0,$Z.jsx)("path",{d:"M73.3914 1.15771H72.3914V0.157715H73.3914V1.15771Z"}),(0,$Z.jsx)("path",{d:"M75.1913 1.15771H78.1913V0.157715H75.1913V1.15771Z"}),(0,$Z.jsx)("path",{d:"M80.9912 1.15771H79.9912V0.157715H80.9912V1.15771Z"}),(0,$Z.jsx)("path",{d:"M82.7913 1.15771H83.7913V0.157715H82.7913V1.15771Z"}),(0,$Z.jsx)("path",{d:"M91.4917 1.15771H90.4917V0.157715H91.4917V1.15771Z"}),(0,$Z.jsx)("path",{d:"M93.2916 1.15771H96.2916V0.157715H93.2916V1.15771Z"}),(0,$Z.jsx)("path",{d:"M99.0916 1.15771H98.0916V0.157715H99.0916V1.15771Z"}),(0,$Z.jsx)("path",{d:"M100.892 1.15771H101.892V0.157715H100.892V1.15771Z"}),(0,$Z.jsx)("path",{d:"M109.592 1.15771H108.592V0.157715H109.592V1.15771Z"}),(0,$Z.jsx)("path",{d:"M111.392 1.15771H114.392V0.157715H111.392V1.15771Z"}),(0,$Z.jsx)("path",{d:"M117.192 1.15771H116.192V0.157715H117.192V1.15771Z"}),(0,$Z.jsx)("path",{d:"M118.992 1.15771H119.992V0.157715H118.992V1.15771Z"})]}),XUe=({className:e})=>(0,$Z.jsxs)("svg",{className:e,width:"120",height:"2",viewBox:"0 0 120 2",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,$Z.jsx)("path",{d:"M-0.00842285 1.22449H2.99158V0.224487H-0.00842285V1.22449Z"}),(0,$Z.jsx)("path",{d:"M6.14941 1.22449H9.14941V0.224487H6.14941V1.22449Z"}),(0,$Z.jsx)("path",{d:"M15.3073 1.22449H12.3073V0.224487H15.3073V1.22449Z"}),(0,$Z.jsx)("path",{d:"M18.4651 1.22449H21.4651V0.224487H18.4651V1.22449Z"}),(0,$Z.jsx)("path",{d:"M27.6229 1.22449H24.6229V0.224487H27.6229V1.22449Z"}),(0,$Z.jsx)("path",{d:"M30.7808 1.22449H33.7808V0.224487H30.7808V1.22449Z"}),(0,$Z.jsx)("path",{d:"M39.9386 1.22449H36.9386V0.224487H39.9386V1.22449Z"}),(0,$Z.jsx)("path",{d:"M43.0964 1.22449H46.0964V0.224487H43.0964V1.22449Z"}),(0,$Z.jsx)("path",{d:"M52.2543 1.22449H49.2543V0.224487H52.2543V1.22449Z"}),(0,$Z.jsx)("path",{d:"M55.4121 1.22449H58.4121V0.224487H55.4121V1.22449Z"}),(0,$Z.jsx)("path",{d:"M64.5699 1.22449H61.5699V0.224487H64.5699V1.22449Z"}),(0,$Z.jsx)("path",{d:"M67.7278 1.22449H70.7278V0.224487H67.7278V1.22449Z"}),(0,$Z.jsx)("path",{d:"M76.8856 1.22449H73.8856V0.224487H76.8856V1.22449Z"}),(0,$Z.jsx)("path",{d:"M80.0435 1.22449H83.0435V0.224487H80.0435V1.22449Z"}),(0,$Z.jsx)("path",{d:"M89.2013 1.22449H86.2013V0.224487H89.2013V1.22449Z"}),(0,$Z.jsx)("path",{d:"M92.3591 1.22449H95.3591V0.224487H92.3591V1.22449Z"}),(0,$Z.jsx)("path",{d:"M101.517 1.22449H98.517V0.224487H101.517V1.22449Z"}),(0,$Z.jsx)("path",{d:"M104.675 1.22449H107.675V0.224487H104.675V1.22449Z"}),(0,$Z.jsx)("path",{d:"M113.833 1.22449H110.833V0.224487H113.833V1.22449Z"}),(0,$Z.jsx)("path",{d:"M116.99 1.22449H119.99V0.224487H116.99V1.22449Z"})]}),qUe=({className:e})=>(0,$Z.jsxs)("svg",{className:e,width:"120",height:"8",viewBox:"0 0 120 8",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,$Z.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M119.991 2.06215H-0.0090332V0.862152H119.991V1.86215Z"}),(0,$Z.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M119.991 6.66215H-0.0090332V5.86215H119.991V6.86215Z"})]}),GUe=({className:e})=>(0,$Z.jsxs)("svg",{className:e,width:"120",height:"2",viewBox:"0 0 120 2",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,$Z.jsx)("path",{d:"M-0.00976562 1.65707H0.990234V0.657074H-0.00976562V1.65707Z"}),(0,$Z.jsx)("path",{d:"M2.32361 1.65707H3.32361V0.657074H2.32361V1.65707Z"}),(0,$Z.jsx)("path",{d:"M5.65698 1.65707H4.65698V0.657074H5.65698V1.65707Z"}),(0,$Z.jsx)("path",{d:"M6.99036 1.65707H7.99036V0.657074H6.99036V1.65707Z"}),(0,$Z.jsx)("path",{d:"M10.3237 1.65707H9.32373V0.657074H10.3237V1.65707Z"}),(0,$Z.jsx)("path",{d:"M11.6571 1.65707H12.6571V0.657074H11.6571V1.65707Z"}),(0,$Z.jsx)("path",{d:"M14.9905 1.65707H13.9905V0.657074H14.9905V1.65707Z"}),(0,$Z.jsx)("path",{d:"M16.3239 1.65707H17.3239V0.657074H16.3239V1.65707Z"}),(0,$Z.jsx)("path",{d:"M19.6572 1.65707H18.6572V0.657074H19.6572V1.65707Z"}),(0,$Z.jsx)("path",{d:"M20.9906 1.65707H21.9906V0.657074H20.9906V1.65707Z"}),(0,$Z.jsx)("path",{d:"M24.324 1.65707H23.324V0.657074H24.324V1.65707Z"}),(0,$Z.jsx)("path",{d:"M25.6573 1.65707H26.6573V0.657074H25.6573V1.65707Z"}),(0,$Z.jsx)("path",{d:"M28.9907 1.65707H27.9907V0.657074H28.9907V1.65707Z"}),(0,$Z.jsx)("path",{d:"M30.3241 1.65707H31.3241V0.657074H30.3241V1.65707Z"}),(0,$Z.jsx)("path",{d:"M33.6575 1.65707H32.6575V0.657074H33.6575V1.65707Z"}),(0,$Z.jsx)("path",{d:"M34.9908 1.65707H35.9908V0.657074H34.9908V1.65707Z"}),(0,$Z.jsx)("path",{d:"M38.3242 1.65707H37.3242V0.657074H38.3242V1.65707Z"}),(0,$Z.jsx)("path",{d:"M39.6576 1.65707H40.6576V0.657074H39.6576V1.65707Z"}),(0,$Z.jsx)("path",{d:"M42.991 1.65707H41.991V0.657074H42.991V1.65707Z"}),(0,$Z.jsx)("path",{d:"M44.3243 1.65707H45.3243V0.657074H44.3243V1.65707Z"}),(0,$Z.jsx)("path",{d:"M47.6577 1.65707H46.6577V0.657074H47.6577V1.65707Z"}),(0,$Z.jsx)("path",{d:"M48.9911 1.65707H49.9911V0.657074H48.9911V1.65707Z"}),(0,$Z.jsx)("path",{d:"M52.3245 1.65707H51.3245V0.657074H52.3245V1.65707Z"}),(0,$Z.jsx)("path",{d:"M53.6578 1.65707H54.6578V0.657074H53.6578V1.65707Z"}),(0,$Z.jsx)("path",{d:"M56.9912 1.65707H55.9912V0.657074H56.9912V1.65707Z"}),(0,$Z.jsx)("path",{d:"M58.3246 1.65707H59.3246V0.657074H58.3246V1.65707Z"}),(0,$Z.jsx)("path",{d:"M61.658 1.65707H60.658V0.657074H61.658V1.65707Z"}),(0,$Z.jsx)("path",{d:"M62.9913 1.65707H63.9913V0.657074H62.9913V1.65707Z"}),(0,$Z.jsx)("path",{d:"M66.3247 1.65707H65.3247V0.657074H66.3247V1.65707Z"}),(0,$Z.jsx)("path",{d:"M67.6581 1.65707H68.6581V0.657074H67.6581V1.65707Z"}),(0,$Z.jsx)("path",{d:"M70.9915 1.65707H69.9915V0.657074H70.9915V1.65707Z"}),(0,$Z.jsx)("path",{d:"M72.3248 1.65707H73.3248V0.657074H72.3248V1.65707Z"}),(0,$Z.jsx)("path",{d:"M75.6582 1.65707H74.6582V0.657074H75.6582V1.65707Z"}),(0,$Z.jsx)("path",{d:"M76.9916 1.65707H77.9916V0.657074H76.9916V1.65707Z"}),(0,$Z.jsx)("path",{d:"M80.325 1.65707H79.325V0.657074H80.325V1.65707Z"}),(0,$Z.jsx)("path",{d:"M81.6583 1.65707H82.6583V0.657074H81.6583V1.65707Z"}),(0,$Z.jsx)("path",{d:"M84.9917 1.65707H83.9917V0.657074H84.9917V1.65707Z"}),(0,$Z.jsx)("path",{d:"M86.3251 1.65707H87.3251V0.657074H86.3251V1.65707Z"}),(0,$Z.jsx)("path",{d:"M89.6584 1.65707H88.6584V0.657074H89.6584V1.65707Z"}),(0,$Z.jsx)("path",{d:"M90.9918 1.65707H91.9918V0.657074H90.9918V1.65707Z"}),(0,$Z.jsx)("path",{d:"M94.3252 1.65707H93.3252V0.657074H94.3252V1.65707Z"}),(0,$Z.jsx)("path",{d:"M95.6586 1.65707H96.6586V0.657074H95.6586V1.65707Z"}),(0,$Z.jsx)("path",{d:"M98.9919 1.65707H97.9919V0.657074H98.9919V1.65707Z"}),(0,$Z.jsx)("path",{d:"M100.325 1.65707H101.325V0.657074H100.325V1.65707Z"}),(0,$Z.jsx)("path",{d:"M103.659 1.65707H102.659V0.657074H103.659V1.65707Z"}),(0,$Z.jsx)("path",{d:"M104.992 1.65707H105.992V0.657074H104.992V1.65707Z"}),(0,$Z.jsx)("path",{d:"M108.325 1.65707H107.325V0.657074H108.325V1.65707Z"}),(0,$Z.jsx)("path",{d:"M109.659 1.65707H110.659V0.657074H109.659V1.65707Z"}),(0,$Z.jsx)("path",{d:"M112.992 1.65707H111.992V0.657074H112.992V1.65707Z"}),(0,$Z.jsx)("path",{d:"M114.325 1.65707H115.325V0.657074H114.325V1.65707Z"}),(0,$Z.jsx)("path",{d:"M117.659 1.65707H116.659V0.657074H117.659V1.65707Z"}),(0,$Z.jsx)("path",{d:"M118.992 1.65707H119.992V0.657074H118.992V1.65707Z"})]}),YUe=({className:e})=>(0,$Z.jsx)("svg",{className:e,width:"120",height:"3",viewBox:"0 0 120 3",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,$Z.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M119.991 2.42035H-0.0090332V0.420349H119.991V2.42035Z"})}),QUe=({className:e})=>(0,$Z.jsxs)("svg",{className:e,width:"120",height:"3",viewBox:"0 0 120 3",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,$Z.jsx)("path",{d:"M-0.0100098 2.47614H1.98999V0.476135H-0.0100098V2.47614Z"}),(0,$Z.jsx)("path",{d:"M3.99014 2.47614H9.99014V0.476135H3.99014V2.47614Z"}),(0,$Z.jsx)("path",{d:"M13.9901 2.47614H11.9901V0.476135H13.9901V2.47614Z"}),(0,$Z.jsx)("path",{d:"M21.1904 2.47614H23.1904V0.476135H21.1904V2.47614Z"}),(0,$Z.jsx)("path",{d:"M31.1906 2.47614H25.1906V0.476135H31.1906V2.47614Z"}),(0,$Z.jsx)("path",{d:"M33.1906 2.47614H35.1906V0.476135H33.1906V2.47614Z"}),(0,$Z.jsx)("path",{d:"M44.3909 2.47614H42.3909V0.476135H44.3909V2.47614Z"}),(0,$Z.jsx)("path",{d:"M46.391 2.47614H52.391V0.476135H46.391V2.47614Z"}),(0,$Z.jsx)("path",{d:"M56.391 2.47614H54.391V0.476135H56.391V2.47614Z"}),(0,$Z.jsx)("path",{d:"M63.5913 2.47614H65.5913V0.476135H63.5913V2.47614Z"}),(0,$Z.jsx)("path",{d:"M73.5915 2.47614H67.5915V0.476135H73.5915V2.47614Z"}),(0,$Z.jsx)("path",{d:"M75.5915 2.47614H77.5915V0.476135H75.5915V2.47614Z"}),(0,$Z.jsx)("path",{d:"M86.7917 2.47614H84.7917V0.476135H86.7917V2.47614Z"}),(0,$Z.jsx)("path",{d:"M88.7919 2.47614H94.7919V0.476135H88.7919V2.47614Z"}),(0,$Z.jsx)("path",{d:"M98.7919 2.47614H96.7919V0.476135H98.7919V2.47614Z"}),(0,$Z.jsx)("path",{d:"M105.992 2.47614H107.992V0.476135H105.992V2.47614Z"}),(0,$Z.jsx)("path",{d:"M115.992 2.47614H109.992V0.476135H115.992V2.47614Z"}),(0,$Z.jsx)("path",{d:"M117.992 2.47614H119.992V0.476135H117.992V2.47614Z"})]}),ZUe=({className:e})=>(0,$Z.jsxs)("svg",{className:e,width:"120",height:"2",viewBox:"0 0 120 2",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,$Z.jsx)("path",{d:"M-0.0100098 2.00415H1.98999V0.00415039H-0.0100098V2.00415Z"}),(0,$Z.jsx)("path",{d:"M3.99014 2.00415H9.99014V0.00415039H3.99014V2.00415Z"}),(0,$Z.jsx)("path",{d:"M13.9901 2.00415H11.9901V0.00415039H13.9901V2.00415Z"}),(0,$Z.jsx)("path",{d:"M15.9901 2.00415H17.9901V0.00415039H15.9901V2.00415Z"}),(0,$Z.jsx)("path",{d:"M27.4905 2.00415H25.4905V0.00415039H27.4905V2.00415Z"}),(0,$Z.jsx)("path",{d:"M29.4906 2.00415H35.4906V0.00415039H29.4906V2.00415Z"}),(0,$Z.jsx)("path",{d:"M39.4906 2.00415H37.4906V0.00415039H39.4906V2.00415Z"}),(0,$Z.jsx)("path",{d:"M41.4906 2.00415H43.4906V0.00415039H41.4906V2.00415Z"}),(0,$Z.jsx)("path",{d:"M52.991 2.00415H50.991V0.00415039H52.991V2.00415Z"}),(0,$Z.jsx)("path",{d:"M54.9911 2.00415H60.9911V0.00415039H54.9911V2.00415Z"}),(0,$Z.jsx)("path",{d:"M64.9911 2.00415H62.9911V0.00415039H64.9911V2.00415Z"}),(0,$Z.jsx)("path",{d:"M66.9911 2.00415H68.9911V0.00415039H66.9911V2.00415Z"}),(0,$Z.jsx)("path",{d:"M78.4915 2.00415H76.4915V0.00415039H78.4915V2.00415Z"}),(0,$Z.jsx)("path",{d:"M80.4916 2.00415H86.4916V0.00415039H80.4916V2.00415Z"}),(0,$Z.jsx)("path",{d:"M90.4916 2.00415H88.4916V0.00415039H90.4916V2.00415Z"}),(0,$Z.jsx)("path",{d:"M92.4916 2.00415H94.4916V0.00415039H92.4916V2.00415Z"}),(0,$Z.jsx)("path",{d:"M103.992 2.00415H101.992V0.00415039H103.992V2.00415Z"}),(0,$Z.jsx)("path",{d:"M105.992 2.00415H111.992V0.00415039H105.992V2.00415Z"}),(0,$Z.jsx)("path",{d:"M115.992 2.00415H113.992V0.00415039H115.992V2.00415Z"}),(0,$Z.jsx)("path",{d:"M117.992 2.00415H119.992V0.00415039H117.992V2.00415Z"})]}),KUe=({className:e})=>(0,$Z.jsxs)("svg",{className:e,width:"118",height:"3",viewBox:"0 0 118 3",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,$Z.jsx)("path",{d:"M-0.00854492 2.94815H1.99146V0.948151H-0.00854492V2.94815Z"}),(0,$Z.jsx)("path",{d:"M6.09668 2.94815H8.09668V0.948151H6.09668V2.94815Z"}),(0,$Z.jsx)("path",{d:"M14.2019 2.94815H12.2019V0.948151H14.2019V2.94815Z"}),(0,$Z.jsx)("path",{d:"M18.3071 2.94815H20.3071V0.948151H18.3071V2.94815Z"}),(0,$Z.jsx)("path",{d:"M26.4124 2.94815H24.4124V0.948151H26.4124V2.94815Z"}),(0,$Z.jsx)("path",{d:"M30.5176 2.94815H32.5176V0.948151H30.5176V2.94815Z"}),(0,$Z.jsx)("path",{d:"M38.6228 2.94815H36.6228V0.948151H38.6228V2.94815Z"}),(0,$Z.jsx)("path",{d:"M42.728 2.94815H44.728V0.948151H42.728V2.94815Z"}),(0,$Z.jsx)("path",{d:"M50.8333 2.94815H48.8333V0.948151H50.8333V2.94815Z"}),(0,$Z.jsx)("path",{d:"M54.9385 2.94815H56.9385V0.948151H54.9385V2.94815Z"}),(0,$Z.jsx)("path",{d:"M63.0437 2.94815H61.0437V0.948151H63.0437V2.94815Z"}),(0,$Z.jsx)("path",{d:"M67.1489 2.94815H69.1489V0.948151H67.1489V2.94815Z"}),(0,$Z.jsx)("path",{d:"M75.2542 2.94815H73.2542V0.948151H75.2542V2.94815Z"}),(0,$Z.jsx)("path",{d:"M79.3594 2.94815H81.3594V0.948151H79.3594V2.94815Z"}),(0,$Z.jsx)("path",{d:"M87.4645 2.94815H85.4645V0.948151H87.4645V2.94815Z"}),(0,$Z.jsx)("path",{d:"M91.5697 2.94815H93.5697V0.948151H91.5697V2.94815Z"}),(0,$Z.jsx)("path",{d:"M99.6749 2.94815H97.6749V0.948151H99.6749V2.94815Z"}),(0,$Z.jsx)("path",{d:"M103.78 2.94815H105.78V0.948151H103.78V2.94815Z"}),(0,$Z.jsx)("path",{d:"M111.885 2.94815H109.885V0.948151H111.885V2.94815Z"}),(0,$Z.jsx)("path",{d:"M115.991 2.94815H117.991V0.948151H115.991V2.94815Z"})]}),$Ue=({className:e})=>(0,$Z.jsx)("svg",{className:e,width:"120",height:"4",viewBox:"0 0 120 4",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,$Z.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M119.991 3.86215H-0.0090332V0.862152H119.991V3.86215Z"})}),JUe=({className:e})=>(0,$Z.jsx)("svg",{className:e,width:"120",height:"2",viewBox:"0 0 120 2",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,$Z.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M119.991 1.15668H-0.0090332V0.156677H119.991V1.15668Z"})});function eBe(e){let{type:t=gu.THIN,className:r}=e;switch(t){case gu.DASH_DOT:return(0,$Z.jsx)(WUe,{className:r});case gu.DASH_DOT_DOT:return(0,$Z.jsx)(zUe,{className:r});case gu.DASHED:return(0,$Z.jsx)(XUe,{className:r});case gu.HAIR:return(0,$Z.jsx)(GUe,{className:r});case gu.MEDIUM:return(0,$Z.jsx)(YUe,{className:r});case gu.MEDIUM_DASH_DOT:return(0,$Z.jsx)(QUe,{className:r});case gu.MEDIUM_DASH_DOT_DOT:return(0,$Z.jsx)(ZUe,{className:r});case gu.MEDIUM_DASHED:return(0,$Z.jsx)(KUe,{className:r});case gu.THICK:return(0,$Z.jsx)($Ue,{className:r});case gu.DOUBLE:return(0,$Z.jsx)(qUe,{className:r});case gu.THIN:default:return(0,$Z.jsx)(JUe,{className:r})}}const tBe="UI_PLUGIN_SHEETS",rBe=`${tBe}_BORDER_PANEL_COMPONENT`,nBe=[{label:"borderLine.borderTop",icon:"UpBorderDoubleIcon",value:"top"},{label:"borderLine.borderBottom",icon:"DownBorderDoubleIcon",value:"bottom"},{label:"borderLine.borderLeft",icon:"LeftBorderDoubleIcon",value:"left"},{label:"borderLine.borderRight",icon:"RightBorderDoubleIcon",value:"right"},{label:"borderLine.borderNone",icon:"NoBorderIcon",value:"none"},{label:"borderLine.borderAll",icon:"AllBorderIcon",value:"all"},{label:"borderLine.borderOutside",icon:"OuterBorderDoubleIcon",value:"outside"},{label:"borderLine.borderInside",icon:"InnerBorderDoubleIcon",value:"inside"},{label:"borderLine.borderHorizontal",icon:"HorizontalBorderDoubleIcon",value:"horizontal"},{label:"borderLine.borderVertical",icon:"VerticalBorderDoubleIcon",value:"vertical"},{label:"borderLine.borderTlbr",icon:"BackSlashDoubleIcon",value:"tlbr"},{label:"borderLine.borderTlbcTlmr",icon:"LeftDoubleDiagonalDoubleIcon",value:"tlbc_tlmr"},{label:"borderLine.borderTlbrTlbcTlmr",icon:"LeftTridiagonalDoubleIcon",value:"tlbr_tlbc_tlmr"},{label:"borderLine.borderBlTr",icon:"SlashDoubleIcon",value:"bltr"},{label:"borderLine.borderMltrBctr",icon:"RightDoubleDiagonalDoubleIcon",value:"mltr_bctr"}],iBe=[{label:gu.THIN,value:gu.THIN},{label:gu.HAIR,value:gu.HAIR},{label:gu.DOTTED,value:gu.DOTTED},{label:gu.DASHED,value:gu.DASHED},{label:gu.DASH_DOT,value:gu.DASH_DOT},{label:gu.DASH_DOT_DOT,value:gu.DASH_DOT_DOT},{label:gu.MEDIUM,value:gu.MEDIUM},{label:gu.MEDIUM_DASHED,value:gu.MEDIUM_DASHED},{label:gu.MEDIUM_DASH_DOT,value:gu.MEDIUM_DASH_DOT},{label:gu.MEDIUM_DASH_DOT_DOT,value:gu.MEDIUM_DASH_DOT_DOT},{label:gu.THICK,value:gu.THICK},{label:gu.DOUBLE,value:gu.DOUBLE}];function aBe(e){var t;let r=iK(W5),n=iK(Wxe),{isAllValuesSame:i,value:a}=iK(rSe).getCellStylesProperty("bd"),o=i?function(e){if(e)for(let r in e){var t;let n=e[r];if(null!=n&&null!=(t=n.cl)&&t.rgb)return n.cl.rgb}}(a):void 0,s=i?function(e){if(e)for(let r in e){var t;let n=e[r];if(null!=n&&null!=(t=n.cl)&&t.rgb)return n.s}}(a):void 0,{onChange:l,value:u}=e;function c(e,t){null==l||l({...u,[t]:e})}function d(e){let t=r.get(e);return t&&(0,$Z.jsx)(t,{className:"univer-fill-primary-600"})}return(0,$Z.jsxs)("section",{className:"univer-box-border univer-grid univer-gap-2 univer-p-1.5",children:[(0,$Z.jsx)("div",{className:"univer-box-border univer-grid univer-grid-cols-5 univer-gap-2 univer-text-gray-600 dark:!univer-text-gray-200",children:nBe.map(e=>(0,$Z.jsx)("a",{className:x7("univer-flex univer-size-6 univer-cursor-pointer univer-items-center univer-justify-center univer-justify-self-center univer-rounded hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",{"univer-bg-gray-200 dark:!univer-bg-gray-600":n.getBorderInfo().type===e.value}),onClick:t=>{t.stopPropagation(),c(e.value,"type")},children:d(e.icon)},e.value))}),(0,$Z.jsx)(w5,{}),(0,$Z.jsxs)("div",{className:"univer-flex univer-items-center univer-gap-2",children:[(0,$Z.jsx)("div",{children:(0,$Z.jsx)(x9,{overlay:(0,$Z.jsx)("div",{className:"univer-rounded-lg univer-p-4",children:(0,$Z.jsx)(w9,{value:o,onChange:e=>c(e,"color")})}),children:(0,$Z.jsxs)("button",{className:"univer-flex univer-cursor-pointer univer-items-center univer-gap-2 univer-rounded univer-border-none univer-bg-transparent univer-p-1 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",type:"button",children:[(0,$Z.jsx)(EQ,{className:"univer-fill-primary-600 dark:!univer-text-white",extend:{colorChannel1:null==(t=null==u?void 0:u.color)?"":t}}),(0,$Z.jsx)(uQ,{className:"dark:!univer-text-white"})]})})}),(0,$Z.jsx)("div",{children:(0,$Z.jsx)(x9,{overlay:(0,$Z.jsx)("section",{className:"univer-rounded-lg univer-p-1.5",children:(0,$Z.jsx)("ul",{className:"univer-m-0 univer-grid univer-list-none univer-gap-1 univer-p-0",children:iBe.map(e=>(0,$Z.jsxs)("li",{className:"univer-flex univer-cursor-pointer univer-items-center univer-justify-center univer-rounded univer-px-1 univer-py-3 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",onClick:()=>c(e.value,"style"),children:[e.value===s&&(0,$Z.jsx)(XZ,{className:"univer-absolute univer-left-3 univer-text-primary-600"}),(0,$Z.jsx)(eBe,{className:"univer-ml-6 univer-fill-gray-900 dark:!univer-fill-white",type:e.value})]},e.value))})}),children:(0,$Z.jsxs)("button",{className:"univer-flex univer-cursor-pointer univer-items-center univer-gap-2 univer-rounded univer-border-none univer-bg-transparent univer-p-1 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",type:"button",children:[(0,$Z.jsx)(eBe,{className:"univer-fill-gray-900 dark:!univer-fill-white",type:null==s?gu.THIN:s}),(0,$Z.jsx)(uQ,{className:"dark:!univer-text-white"})]})})})]})]})}const oBe=`${tBe}_MENU_ITEM_FROZEN_COMPONENT`,sBe={row:"1",col:"A"},lBe=e=>{let{type:t}=e,r=iK(Cg),n=iK(jee),i=iK(rSe),[a,o]=(0,_q.useState)(sBe);return(0,_q.useEffect)(()=>{n.visible&&(e=>{var t,r;if(!e)return;let{primary:n,range:i}=e,a=null==(t=null==n?void 0:n.startRow)?i.startRow:t,s=null==(r=null==n?void 0:n.startColumn)?i.startColumn:r;o({row:0===a?"1":String(a),col:0===s?"A":uu.chatAtABC(s-1)})})(i.getCurrentLastSelection())},[n.visible]),(0,$Z.jsxs)($Z.Fragment,{children:["row"===t&&r.t("rightClick.freezeRow",a.row),"col"===t&&r.t("rightClick.freezeCol",a.col),"all"===t&&r.t("rightClick.freezeCell",a.row,a.col)]})},uBe=`${tBe}_MENU_ITEM_INPUT_COMPONENT`,cBe=e=>{let{prefix:t,suffix:r,value:n,min:i=-(2**53-1),max:a=2**53-1,disabled$:o,onChange:s}=e,l=iK(Cg),u=iK(jee),[c,d]=(0,_q.useState)(!1),[h,m]=(0,_q.useState)();return(0,_q.useEffect)(()=>{if(!o)return;let e=o.subscribe(e=>{d(e)});return()=>{e.unsubscribe()}},[]),(0,_q.useEffect)(()=>{u.visible||m(n)},[u.visible]),(0,_q.useEffect)(()=>{m(+na?a.toString():n)},[n]),(0,$Z.jsxs)("div",{className:"univer-inline-flex univer-items-center univer-gap-1",children:[l.t(t),(0,$Z.jsx)("div",{className:"univer-w-16",onClick:e=>e.stopPropagation(),children:(0,$Z.jsx)(K9,{value:Number(h),size:"mini",precision:0,min:i,max:a,disabled:c,onPressEnter:function(){h&&s(h)},onChange:e=>{if(!e)return void m(i.toString());let t=e.toString();m(t),s(t)}})}),l.t(r)]})};function dBe(e,t,r){return function(e){return e.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET).pipe(aq(e=>e?e.activeSheet$.pipe(Yn(t=>t?{workbook:e,worksheet:t}:null)):Ai(null)))}(e).pipe(aq(e=>e?r(e):Ai(t)))}function hBe(e,t){let r=e.get(dg),n=e.get(HNe),i=e.get(rSe);return r.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET).pipe(aq(e=>e?Oi([i.selectionMoveEnd$,e.activeSheet$]).pipe(aq(([e,r])=>{if(!r||0===e.length)return Ai(!1);let i=n.getInterestGroupId(e);return Ai(t?i.filter(e=>t.has(e)).length>0:i.length>0)})):Ai(!1)))}function mBe(e,t,r){return Oi([t,hBe(e,r)]).pipe(Yn(([e,t])=>e||t))}function fBe(e,t={},r=!1){var n;let i=e.get(dg).getCurrentTypeOfUnit$(Pi.UNIVER_SHEET),a=e.get(gf),o=e.has(GPe)?e.get(GPe):null,s=e.get(Mc),l=(null==(n=null==o?void 0:o.visible$)?Ai(null):n).pipe(RL(null),LL(1)),u=s.subscribeContextValue$(If).pipe(RL(!1),LL(1)),c=s.subscribeContextValue$(Mf).pipe(RL(!1),LL(1));return Oi([a.currentUser$,i,l,u,c]).pipe(aq(([n,i,a,o,s])=>!i||null!=a&&a.visible&&a.unitId===i.getUnitId()&&!r||o&&!r?Ai(!0):i.activeSheet$.pipe(aq(r=>{if(!r)return Ai(!0);let n=e.get(rSe),a=e.get(ZEe),o=e.get(aRe),l=e.get(Mc).subscribeContextValue$(Nf).pipe(RL(!1));return Oi([n.selectionMoveEnd$,l]).pipe(aq(([n,l])=>{if(l&&!s)return Ai(!0);let u=i.getUnitId(),c=r.getSheetId(),d=e.get(Eg),{workbookTypes:h=[PSe],worksheetTypes:m,rangeTypes:f}=t,g=[];if(null==h||h.forEach(e=>{g.push(new e(u).id)}),null==m||m.forEach(e=>{g.push(new e(u,c).id)}),o.getRule(u,c))return d.composePermission$(g).pipe(Yn(e=>e.some(e=>!1===e.value)));let p=null==n?void 0:n.map(e=>e.range),v=a.getSubunitRuleList(u,c).filter(e=>null==p?void 0:p.some(t=>e.ranges.some(e=>Oh.intersects(t,e))));return null==f||f.forEach(e=>{v.forEach(t=>{g.push(new e(u,c,t.permissionId).id)})}),d.composePermission$(g).pipe(Yn(e=>e.some(e=>!1===e.value)))}))}))))}function gBe(e){let t=e.get(dg),r=e.get(rSe),n=e.get(ZEe),i=e.get(Eg);return Ei(r.selectionMoveEnd$,i.permissionPointUpdate$.pipe(Gn(100))).pipe(Yn(()=>{var e;let a=null==(e=r.getCurrentLastSelection())?void 0:e.range;if(!a)return!0;let o=t.getCurrentUnitForType(Pi.UNIVER_SHEET),s=null==o?void 0:o.getActiveSheet();if(!o||!s)return!0;let l=o.getUnitId(),u=s.getSheetId(),c=[new PSe(l).id,new JSe(l,u).id];return n.getSubunitRuleList(l,u).filter(e=>e.ranges.some(e=>Oh.intersects(a,e))).forEach(e=>{c.push(new SSe(l,u,e.permissionId).id)}),i.composePermission(c).some(e=>!1===e.value)}))}function pBe(e,t){let r=e.get(dg),n=e.get(rSe),i=e.get(ZEe),a=e.get(Eg);return Ei(n.selectionMoveEnd$,a.permissionPointUpdate$.pipe(Gn(100))).pipe(Yn(()=>{var e;let o=null==(e=n.getCurrentLastSelection())?void 0:e.range;if(!o)return!0;let s=r.getCurrentUnitForType(Pi.UNIVER_SHEET),l=null==s?void 0:s.getActiveSheet();if(!s||!l)return!0;let u=s.getUnitId(),c=l.getSheetId(),d=[new PSe(u).id,new JSe(u,c).id];return i.getSubunitRuleList(u,c).filter(e=>"row"===t?e.ranges.some(e=>o.startRow>e.startRow&&o.startRow<=e.endRow):e.ranges.some(e=>o.startColumn>e.startColumn&&o.startColumn<=e.endColumn)).forEach(e=>{d.push(new SSe(u,c,e.permissionId).id)}),a.composePermission(d).some(e=>!1===e.value)}))}function vBe(e,t){let r=e.get(dg),n=e.get(rSe),i=e.get(ZEe),a=e.get(Eg);return Ei(n.selectionMoveEnd$,a.permissionPointUpdate$.pipe(Gn(100))).pipe(Yn(()=>{var e;let o=null==(e=n.getCurrentLastSelection())?void 0:e.range;if(!o)return!0;let s=r.getCurrentUnitForType(Pi.UNIVER_SHEET),l=null==s?void 0:s.getActiveSheet();if(!s||!l)return!0;let u=s.getUnitId(),c=l.getSheetId(),d=[new PSe(u).id,new JSe(u,c).id],h=uu.deepClone(o);return"row"===t?(h.startColumn=0,h.endColumn=l.getColumnCount()-1):(h.startRow=0,h.endRow=l.getRowCount()-1),i.getSubunitRuleList(u,c).filter(e=>e.ranges.some(e=>Oh.intersects(h,e))).forEach(e=>{d.push(new SSe(u,c,e.permissionId).id)}),a.composePermission(d).some(e=>!1===e.value)}))}function bBe(e,t){let r=e.get(dg),n=e.get(rSe),i=e.get(ZEe),a=e.get(Eg);return Ei(n.selectionMoveEnd$,a.permissionPointUpdate$.pipe(Gn(100))).pipe(Yn(()=>{var e;let o=null==(e=n.getCurrentLastSelection())?void 0:e.range;if(!o)return!0;let s=r.getCurrentUnitForType(Pi.UNIVER_SHEET),l=null==s?void 0:s.getActiveSheet();if(!s||!l)return!0;let u=s.getUnitId(),c=l.getSheetId(),d=[new PSe(u).id,new JSe(u,c).id],h=uu.deepClone(o);return"row"===t?h.endRow=l.getRowCount()-1:h.endColumn=l.getColumnCount()-1,i.getSubunitRuleList(u,c).filter(e=>e.ranges.some(e=>Oh.intersects(h,e))).forEach(e=>{d.push(new SSe(u,c,e.permissionId).id)}),a.composePermission(d).some(e=>!1===e.value)}))}function CBe(e,t){let r=e.get(dg).getCurrentTypeOfUnit$(Pi.UNIVER_SHEET),n=e.get(aRe),i=e.get(ZEe),a=e.get(Eg);return Oi([e.get(gf).currentUser$,r]).pipe(aq(([e,r])=>r?r.activeSheet$.pipe(aq(e=>{if(!e)return Ai(!0);let o=r.getUnitId(),s=[];return t.forEach(e=>s.push(new e(o).id)),a.composePermission$(s).pipe(Yn(e=>e.every(e=>!0===e.value))).pipe(Yn(t=>{if(!t)return!0;let r=e.getSheetId(),a=n.getRule(o,r),s=i.getSubunitRuleList(o,r);return!(!a&&!s.length)}))})):Ai(!0)))}const yBe="sheet.menu.clear-selection";function _Be(e){return{id:yBe,type:lee.SUBITEMS,icon:"ClearFormatDoubleIcon",title:"rightClick.clearSelection",hidden$:X5(e,Pi.UNIVER_SHEET)}}function wBe(e){return{id:wxe.id,type:lee.BUTTON,icon:"ClearFormatDoubleIcon",title:"rightClick.clearContent",disabled$:mBe(e,fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe,lAe],rangeTypes:[SSe]})),hidden$:X5(e,Pi.UNIVER_SHEET)}}function EBe(e){return{id:oSe.id,type:lee.BUTTON,icon:"ClearFormatDoubleIcon",title:"rightClick.clearFormat",disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe,sAe],rangeTypes:[SSe]}),hidden$:X5(e,Pi.UNIVER_SHEET)}}function SBe(e){return{id:aSe.id,type:lee.BUTTON,icon:"ClearFormatDoubleIcon",title:"rightClick.clearAll",tooltip:"rightClick.clearAll",disabled$:mBe(e,fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe,lAe,sAe],rangeTypes:[SSe]})),hidden$:X5(e,Pi.UNIVER_SHEET)}}const ABe="sheet.menu.delete";function IBe(e){return{id:hPe.id,type:lee.BUTTON,icon:"DeleteColumnDoubleIcon",title:"rightClick.deleteSelectedColumn",hidden$:vBe(e,"col"),disabled$:fBe(e,{workbookTypes:[PSe,MSe],worksheetTypes:[JSe,ZSe]})}}function RBe(e){return{id:dPe.id,type:lee.BUTTON,icon:"DeleteRowDoubleIcon",title:"rightClick.deleteSelectedRow",disabled$:fBe(e,{workbookTypes:[PSe,OSe],worksheetTypes:[JSe,$Se]}),hidden$:vBe(e,"row")}}function xBe(e,t){let r=e.get(rSe),n=e.get(dg),i=e.get(Vc),a=e.get(Mc);return dBe(n,t,({worksheet:n})=>new Tn(o=>{let s=()=>{var e;let i=t,a=null==(e=r.getCurrentLastSelection())?void 0:e.primary;if(null!=a){let e=n.getComposedCellStyle(a.startRow,a.startColumn);e.fs&&(i=e.fs)}o.next(i)},l=()=>{let r=Tke(e);if(null!=r){var n,i;let e=null==(n=null==(i=r.ts)?void 0:i.fs)?t:n;o.next(e)}},u=i.onCommandExecuted(e=>{let t=e.id;(t===Kwe.id||t===vSe.id||t===fEe.id)&&s(),(t===HX.id||t===iae.id)&&a.getContextValue(Sf)&&(a.getContextValue(yf)||a.getContextValue(Mf))&&l()});return s(),u.dispose}))}const TBe=(e,t)=>{let r=e.get(rSe);return new Tn(e=>{let n=r=>{var n,i;if(!r)return e.next(!0);let{primary:a,range:o}=r,s=null==(n=null==a?void 0:a.startRow)?o.startRow:n,l=null==(i=null==a?void 0:a.startColumn)?o.startColumn:i;if("row"===t&&s<=0||"col"===t&&l<=0)return e.next(!0);e.next(!1)},i=r.selectionChanged$.subscribe(t=>{if(!t||0===t.length)return e.next(!0);n(t[t.length-1])});return n(r.getCurrentLastSelection()),()=>i.unsubscribe()})},NBe="sheet.menu.sheet-frozen",MBe="sheet.column-header-menu.sheet-frozen",OBe="sheet.row-header-menu.sheet-frozen";function LBe(e){return{id:SPe.id,type:lee.BUTTON,icon:"FreezeRowIcon",label:{name:oBe,props:{type:"row"}},hidden$:Oi([X5(e,Pi.UNIVER_SHEET),TBe(e,"row")]).pipe(Yn(([e,t])=>e||t))}}function kBe(e){return{id:APe.id,type:lee.BUTTON,icon:"FreezeColumnIcon",label:{name:oBe,props:{type:"col"}},hidden$:Oi([X5(e,Pi.UNIVER_SHEET),TBe(e,"col")]).pipe(Yn(([e,t])=>e||t))}}function PBe(e){return{id:IPe.id,type:lee.BUTTON,title:"rightClick.freezeFirstRow",icon:"FreezeRowIcon",hidden$:X5(e,Pi.UNIVER_SHEET)}}function DBe(e){return{id:RPe.id,type:lee.BUTTON,title:"rightClick.freezeFirstCol",icon:"FreezeColumnIcon",hidden$:X5(e,Pi.UNIVER_SHEET)}}function UBe(e){return{id:oTe.id,type:lee.BUTTON,title:"rightClick.cancelFreeze",icon:"CancelFreezeIcon",hidden$:X5(e,Pi.UNIVER_SHEET)}}const BBe="sheet.menu.cell-insert";!function(e){e.ROW_HEADER_CONTEXT_MENU="ROW_HEADER_CONTEXT_MENU",e.COL_HEADER_CONTEXT_MENU="COL_HEADER_CONTEXT_MENU",e.SHEET_BAR="SHEET_BAR",e.SHEET_FOOTER="SHEET_FOOTER"}({});const VBe=[{label:"align.left",icon:"LeftJustifyingIcon",value:Lu.LEFT},{label:"align.center",icon:"HorizontallyIcon",value:Lu.CENTER},{label:"align.right",icon:"RightJustifyingIcon",value:Lu.RIGHT}],FBe=[{label:"align.top",icon:"AlignTopIcon",value:ku.TOP},{label:"align.middle",icon:"VerticalCenterIcon",value:ku.MIDDLE},{label:"align.bottom",icon:"AlignBottomIcon",value:ku.BOTTOM}],jBe=[{label:"textWrap.overflow",icon:"OverflowIcon",value:Pu.OVERFLOW},{label:"textWrap.wrap",icon:"AutowrapIcon",value:Pu.WRAP},{label:"textWrap.clip",icon:"TruncationIcon",value:Pu.CLIP}],HBe=[{label:"textRotate.none",icon:"NoRotationIcon",value:0},{label:"textRotate.angleUp",icon:"LeftRotationFortyFiveDegreesIcon",value:-45},{label:"textRotate.angleDown",icon:"RightRotationFortyFiveDegreesIcon",value:45},{label:"textRotate.vertical",icon:"VerticalTextIcon",value:"v"},{label:"textRotate.rotationUp",icon:"LeftRotationNinetyDegreesIcon",value:-90},{label:"textRotate.rotationDown",icon:"RightRotationNinetyDegreesIcon",value:90}];function WBe(e){return new Tn(t=>{let r=e.get(qte).supportClipboard,n=e.get(ike).copyContentCache().lastCopyId$.subscribe(e=>{t.next(!r&&!e)});return t.next(!r),()=>n.unsubscribe()})}function zBe(e){return{id:ske.name,commandId:ske.id,type:lee.BUTTON,title:"rightClick.copy",icon:"CopyDoubleIcon",disabled$:fBe(e,{workbookTypes:[RSe],worksheetTypes:[QSe],rangeTypes:[ASe]}),hidden$:X5(e,Pi.UNIVER_SHEET)}}function XBe(e){return{id:lke.name,commandId:S8.id,type:lee.BUTTON,title:"rightClick.cut",icon:"CutIcon",disabled$:fBe(e,{workbookTypes:[RSe,PSe],worksheetTypes:[QSe,JSe],rangeTypes:[ASe,SSe]}),hidden$:X5(e,Pi.UNIVER_SHEET)}}function qBe(e){return{id:uke.name,commandId:uke.id,type:lee.BUTTON,title:"rightClick.paste",icon:"PasteSpecialDoubleIcon",disabled$:WBe(e).pipe(COe(fBe(e,{rangeTypes:[SSe],worksheetTypes:[JSe,sAe,lAe],workbookTypes:[PSe]})),Yn(([e,t])=>e||t)),hidden$:X5(e,Pi.UNIVER_SHEET)}}const GBe="sheet.menu.copy-special";function YBe(e){return{id:GBe,type:lee.SUBITEMS,icon:"CopyDoubleIcon",title:"rightClick.copySpecial",hidden$:mBe(e,X5(e,Pi.UNIVER_SHEET))}}const QBe="sheet.menu.paste-special";function ZBe(e){return{id:QBe,type:lee.SUBITEMS,icon:"PasteSpecialDoubleIcon",title:"rightClick.pasteSpecial",hidden$:mBe(e,X5(e,Pi.UNIVER_SHEET))}}function KBe(e){return{id:dke.id,type:lee.BUTTON,title:"rightClick.pasteValue",disabled$:WBe(e).pipe(COe(fBe(e,{rangeTypes:[SSe],worksheetTypes:[lAe,JSe],workbookTypes:[PSe]})),Yn(([e,t])=>e||t)),hidden$:X5(e,Pi.UNIVER_SHEET)}}function $Be(e){return{id:hke.id,type:lee.BUTTON,title:"rightClick.pasteFormat",disabled$:WBe(e).pipe(COe(fBe(e,{rangeTypes:[SSe],worksheetTypes:[sAe,JSe],workbookTypes:[PSe]})),Yn(([e,t])=>e||t)),hidden$:X5(e,Pi.UNIVER_SHEET)}}function JBe(e){return{id:mke.id,type:lee.BUTTON,title:"rightClick.pasteColWidth",disabled$:WBe(e).pipe(COe(fBe(e,{rangeTypes:[SSe],worksheetTypes:[uAe,JSe],workbookTypes:[PSe]})),Yn(([e,t])=>e||t))}}function eVe(e){return{id:fke.id,type:lee.BUTTON,title:"rightClick.pasteBesidesBorder",disabled$:WBe(e).pipe(COe(fBe(e,{rangeTypes:[SSe],worksheetTypes:[JSe,sAe,lAe,cAe,uAe],workbookTypes:[PSe]})),Yn(([e,t])=>e||t)),hidden$:X5(e,Pi.UNIVER_SHEET)}}function tVe(e){return Oi([e.get(dg).getCurrentTypeOfUnit$(Pi.UNIVER_SHEET),e.get(gf).currentUser$]).pipe(aq(([t,r])=>t?t.activeSheet$.pipe(aq(r=>{if(!r)return Ai(!0);let n=e.get(ZEe),i=e.get(aRe),a=e.get(rSe);return Ei(a.selectionMoveEnd$,n.ruleChange$,i.ruleChange$).pipe(Yn(()=>{let e=t.getUnitId(),o=r.getSheetId(),s=n.getSubunitRuleList(e,o),l=a.getCurrentSelections(),u=null==l?void 0:l.map(e=>e.range),c=s.map(e=>e.ranges).flat();if(!u)return!1;let d=i.getRule(e,o);return!(null==d||!d.permissionId)||(null==u?void 0:u.some(e=>c.some(t=>Oh.intersects(e,t))))}))})):Ai(!0)))}function rVe(e){let t=e.get(dg),r=e.get(ZEe);return Oi([t.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET),e.get(gf).currentUser$]).pipe(aq(([t,n])=>t?t.activeSheet$.pipe(aq(n=>{if(!n)return Ai(!0);let i=e.get(ZEe),a=e.get(aRe),o=e.get(Eg),s=e.get(rSe);return Ei(s.selectionMoveEnd$,i.ruleChange$,a.ruleChange$).pipe(Yn(()=>{var i;let l=t.getUnitId(),u=n.getSheetId(),c=r.getSubunitRuleList(l,u),d=null==(i=s.getCurrentSelections())?void 0:i.map(e=>e.range);if(c.map(e=>e.ranges).flat(),null==d||!d.length||d.length>1)return!0;let h=d[0];if((null==h?void 0:h.rangeType)===pd.ALL||(null==h?void 0:h.rangeType)===pd.COLUMN||(null==h?void 0:h.rangeType)===pd.ROW)return!0;let m=a.getRule(l,u);var f;if(null!=m&&m.permissionId)return!1===(null==(f=o.getPermissionPoint(new aAe(l,u).id))?void 0:f.value);if(1!==c.filter(e=>e.ranges.some(e=>Oh.intersects(e,h))).length)return!0;let{startRow:g,endRow:p,startColumn:v,endColumn:b}=h,C=e.get(PNe);for(let e=g;e<=p;e++)for(let t=v;t<=b;t++){let r=C.getCellInfo(l,u,e,t);if(r)return!1===r[Di.ManageCollaborator]}return!1}))})):Ai(!0)))}function nVe(e){let t=e.get(dg),r=e.get(Eg);return Oi([t.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET),e.get(gf).currentUser$]).pipe(aq(([t,n])=>t?t.activeSheet$.pipe(aq(n=>{var i;if(!n)return Ai(!0);let a=t.getUnitId(),o=e.get(rSe),s=e.get(ZEe),l=e.get(aRe);return Oi([null==(i=r.composePermission$([new PSe(a).id]).pipe(Yn(e=>e.every(e=>e.value))))?Ai(!1):i,Ei(s.ruleChange$,l.ruleChange$).pipe(RL(null)),o.selectionMoveEnd$]).pipe(Yn(([e,t,r])=>{if(!e)return!0;let n=o.getCurrentSelections(),i=null==n?void 0:n.map(e=>e.range);return!(null==i||!i.length)&&i.length>1}))})):Ai(!0)))}function iVe(e){var t;let r=e.get(dg),n=e.get(Eg),i=r.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET),a=e.get(gf),o=e.has(GPe)?e.get(GPe):null,s=e.get(Mc).subscribeContextValue$(If).pipe(RL(!1),LL(1)),l=null==(t=null==o?void 0:o.visible$.pipe(RL(null),LL(1)))?Ai(null):t;return Oi([i,a.currentUser$,l,s]).pipe(aq(([t,r,i,a])=>!t||null!=i&&i.visible&&i.unitId===t.getUnitId()||a?Ai(!0):t.activeSheet$.pipe(aq(r=>{var i;if(!r)return Ai(!0);let a=e.get(Mc).subscribeContextValue$(Nf).pipe(RL(!1)),o=t.getUnitId(),s=r.getSheetId(),l=e.get(ZEe),u=e.get(aRe),c=e.get(rSe);return Oi([null==(i=n.composePermission$([new TSe(o).id]).pipe(Yn(e=>e.every(e=>e.value))))?Ai(!1):i,Ei(l.ruleChange$,u.ruleChange$).pipe(RL(null)),c.selectionMoveEnd$,a]).pipe(Yn(([e,t,r,n])=>{if(!e||n)return!0;let i=c.getCurrentSelections(),a=null==i?void 0:i.map(e=>e.range);if(null==a||!a.length)return!0;let d=u.getRule(o,s);if(null!=d&&d.permissionId)return!0;let h=l.getSubunitRuleList(o,s);return null==a?void 0:a.some(e=>h.some(t=>t.ranges.some(t=>Oh.intersects(e,t))))}))}))))}function aVe(e){let t=e.get(dg),r=e.get(Eg);return Oi([t.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET),e.get(gf).currentUser$]).pipe(aq(([t,n])=>t?t.activeSheet$.pipe(aq(n=>{var i;if(!n)return Ai(!0);let a=t.getUnitId(),o=n.getSheetId(),s=e.get(ZEe),l=e.get(aRe);return Oi([null==(i=r.composePermission$([new TSe(a).id]).pipe(Yn(e=>e.every(e=>e.value))))?Ai(!1):i,Ei(s.ruleChange$,l.ruleChange$).pipe(RL(null))]).pipe(Yn(([e,t])=>{var r;if(!e)return!0;let n=l.getRule(a,o);return!(null==n||!n.permissionId)||(null==(r=s.getSubunitRuleList(a,o))?void 0:r.filter(e=>null==e?void 0:e.permissionId)).length>0}))})):Ai(!0)))}function oVe(e){let t=e.get(dg),r=e.get(Eg);return Oi([t.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET),e.get(gf).currentUser$]).pipe(aq(([t,n])=>t?t.activeSheet$.pipe(aq(n=>{if(!n)return Ai(!0);let i=t.getUnitId(),a=n.getSheetId(),o=e.get(aRe);return o.ruleChange$.pipe(RL(null)).pipe(Yn(()=>{var e;return!o.getRule(i,a)||!1===(null==(e=r.getPermissionPoint(new KSe(i,a).id))?void 0:e.value)}))})):Ai(!0)))}function sVe(e){let t=e.get(dg),r=e.get(Eg);return Oi([t.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET),e.get(gf).currentUser$]).pipe(aq(([t,n])=>t?t.activeSheet$.pipe(aq(n=>{var i;if(!n)return Ai(!0);let a=t.getUnitId(),o=e.get(ZEe),s=e.get(aRe);return Oi([null==(i=r.composePermission$([new TSe(a).id,new jSe(a).id]).pipe(Yn(e=>e.every(e=>e.value))))?Ai(!1):i,s.ruleChange$.pipe(RL(null)),o.ruleChange$.pipe(RL(null))]).pipe(Yn(([e,t,r])=>{if(!e)return!0;let i=n.getSheetId(),l=s.getRule(a,i),u=o.getSubunitRuleList(a,i);return!(l||u.length)}))})):Ai(!0)))}function lVe(e){let t=e.get(dg),r=e.get(Eg);return Oi([t.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET),e.get(gf).currentUser$]).pipe(aq(([t,n])=>t?t.activeSheet$.pipe(aq(n=>{if(!n)return Ai(!0);let i=t.getUnitId(),a=n.getSheetId(),o=e.get(rSe),s=e.get(ZEe),l=e.get(aRe);return Oi([Ei(s.ruleChange$,l.ruleChange$,o.selectionMoveEnd$).pipe(RL(null))]).pipe(Yn(([t])=>{let n=e.get(rSe).getCurrentSelections(),o=null==n?void 0:n.map(e=>e.range);if(null==o||!o.length||o.length>1)return!0;let u=o[0];if((null==u?void 0:u.rangeType)===pd.ALL||(null==u?void 0:u.rangeType)===pd.COLUMN||(null==u?void 0:u.rangeType)===pd.ROW)return!0;let c=l.getRule(i,a);var d;if(null!=c&&c.permissionId)return!1===(null==(d=r.getPermissionPoint(new KSe(i,a).id))?void 0:d.value);if(1!==s.getSubunitRuleList(i,a).filter(e=>e.ranges.some(e=>Oh.intersects(e,u))).length)return!0;let{startRow:h,endRow:m,startColumn:f,endColumn:g}=u,p=e.get(PNe);for(let e=h;e<=m;e++)for(let t=f;t<=g;t++){let r=p.getCellInfo(i,a,e,t);if(r)return!1===r[Di.Delete]}return!1}))})):Ai(!0)))}function uVe(e){var t;let r=e.get(dg),n=e.get(Eg),i=r.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET),a=e.get(gf),o=e.has(GPe)?e.get(GPe):null,s=e.get(Mc).subscribeContextValue$(If),l=null==(t=null==o?void 0:o.visible$)?Ai(null):t;return Oi([i,a.currentUser$,l,s]).pipe(aq(([e,t,r,i])=>!e||null!=r&&r.visible&&r.unitId===e.getUnitId()||i?Ai(!0):e.activeSheet$.pipe(aq(t=>{var r,i;if(!t)return Ai(!0);let a=e.getUnitId();return(null==(r=null==(i=n.getPermissionPoint$(new PSe(a).id))?void 0:i.pipe(Yn(e=>!!e.value)))?Ai(!1):r).pipe(Yn(e=>!e))}))))}const cVe="sheet.contextMenu.permission";function dVe(e){return{id:cVe,type:lee.SUBITEMS,title:"rightClick.protectRange",icon:Jke,hidden$:X5(e,Pi.UNIVER_SHEET)}}function hVe(e){return{id:aPe.id,type:lee.BUTTON,title:"rightClick.turnOnProtectRange",hidden$:tVe(e),disabled$:iVe(e)}}function mVe(e){return{id:cPe.id,type:lee.BUTTON,title:"rightClick.editProtectRange",disabled$:nVe(e),hidden$:rVe(e)}}function fVe(e){return{id:uPe.id,type:lee.BUTTON,title:"rightClick.removeProtectRange",disabled$:lVe(e),hidden$:X5(e,Pi.UNIVER_SHEET)}}function gVe(e){return{id:oPe.id,type:lee.BUTTON,title:"rightClick.viewAllProtectArea",disabled$:uVe(e),hidden$:X5(e,Pi.UNIVER_SHEET)}}function pVe(e,t){let r=e.getCurrentUnitForType(Pi.UNIVER_SHEET).getWorksheets(),n=Array.from(r.values()).filter(e=>e.getConfig().hidden===Vu.FALSE);t.next(1===n.length)}const vVe=e=>{var t;let r=e.get(rSe),n=null==(t=e.get(dg).getCurrentUnitOfType(Pi.UNIVER_SHEET))?void 0:t.getActiveSheet();return new Tn(e=>{let t=t=>{if(!n||!t||0===t.length)return e.next(!0);for(let a=0;a{if(!r||0===r.length)return e.next(!0);t(r)});return t(r.getCurrentSelections()),()=>i.unsubscribe()})},bVe="sheet.toolbar.text-to-number",CVe="sheet.contextMenu.text-to-number";function yVe(e){return{id:CVe,commandId:oNe.id,type:lee.BUTTON,title:"rightClick.textToNumber",icon:"PipingIcon",disabled$:mBe(e,fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe,lAe],rangeTypes:[SSe]})),hidden$:Oi([X5(e,Pi.UNIVER_SHEET),vVe(e)]).pipe(Yn(([e,t])=>e||t))}}const _Ve={[Y8.START]:{[Q8.HISTORY]:{[CPe.id]:{order:2,menuItemFactory:function(e){let t=e.get(gPe);return{id:CPe.id,subId:bPe.id,type:lee.BUTTON,icon:"BrushIcon",title:"Format Painter",tooltip:"toolbar.formatPainter",activated$:new Tn(e=>{let r=!1,n=t.status$.subscribe(t=>{r=t!==fPe.OFF,e.next(r)});return e.next(r),()=>{n.unsubscribe()}}),hidden$:X5(e,Pi.UNIVER_SHEET),disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[QSe,JSe],rangeTypes:[SSe]},!0)}}},[aSe.id]:{order:3,menuItemFactory:SBe}},[Q8.FORMAT]:{[Vke.id]:{order:1,menuItemFactory:function(e){let t=e.get(Vc),r=e.get(dg),n=e.get(rSe),i=vh.ff,a=fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe,sAe],rangeTypes:[SSe]},!0);return{id:Vke.id,tooltip:"toolbar.font",type:lee.SELECTOR,label:{name:h8,props:{id:Vke.id,disabled$:a}},selections:[{label:{name:m8,hoverable:!1,selectable:!1,props:{id:Vke.id}}}],disabled$:a,value$:dBe(r,i,({worksheet:r})=>new Tn(a=>{let o=()=>{var e;let t=i,o=null==(e=n.getCurrentLastSelection())?void 0:e.primary;if(null!=o){let e=r.getCellStyle(o.startRow,o.startColumn),n=du(r.getDefaultCellStyleInternal(),r.getRowStyle(o.startRow),r.getColumnStyle(o.startColumn),e);n.ff&&(t=n.ff)}a.next(t)},s=t.onCommandExecuted(t=>{let r=t.id;if((r===Kwe.id||r===vSe.id||r===fEe.id)&&o(),(r===HX.id||r===iae.id)&&e.get(Mc).getContextValue(Sf)&&(e.get(Mc).getContextValue(yf)||e.get(Mc).getContextValue(Mf))){let t=Tke(e);if(null!=t){var n,s;let e=null==(n=null==(s=t.ts)?void 0:s.ff)?i:n;a.next(e)}}});return o(),s.dispose})),hidden$:X5(e,Pi.UNIVER_SHEET)}}},[Dke.id]:{order:2,menuItemFactory:function(e){let t=vh.fs,r=fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe,sAe],rangeTypes:[SSe]},!0);return{id:Dke.id,type:lee.SELECTOR,tooltip:"toolbar.fontSize",label:{name:v8,props:{min:6,max:400,disabled$:r}},selections:g8,disabled$:r,value$:xBe(e,t),hidden$:X5(e,Pi.UNIVER_SHEET)}}},[Uke.id]:{order:2.1,menuItemFactory:function(e){let t=fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe,sAe],rangeTypes:[SSe]},!0);return{id:Uke.id,type:lee.BUTTON,icon:"FontSizeIncreaseIcon",tooltip:"toolbar.fontSizeIncrease",disabled$:t,hidden$:X5(e,Pi.UNIVER_SHEET)}}},[Bke.id]:{order:2.2,menuItemFactory:function(e){let t=fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe,sAe],rangeTypes:[SSe]},!0);return{id:Bke.id,type:lee.BUTTON,icon:"FontSizeReduceIcon",tooltip:"toolbar.fontSizeDecrease",disabled$:t,hidden$:X5(e,Pi.UNIVER_SHEET)}}},[Nke.id]:{order:5,menuItemFactory:function(e){let t=e.get(Vc),r=e.get(dg),n=e.get(Mc),i=e.get(rSe);return{id:Nke.id,type:lee.BUTTON,icon:"BoldIcon",title:"Set bold",tooltip:"toolbar.bold",disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe,sAe],rangeTypes:[SSe]},!0),activated$:dBe(r,!1,({worksheet:r})=>new Tn(a=>{var o;let s=t.onCommandExecuted(t=>{let o=t.id;if(o===Kwe.id||o===vSe.id||o===fEe.id){var s;let e=null==(s=i.getCurrentLastSelection())?void 0:s.primary,t=Uu.NORMAL;if(null!=e){let n=r.getRange(e.startRow,e.startColumn);t=null==n?void 0:n.getFontWeight()}a.next(t===Uu.BOLD)}if((o===HX.id||o===iae.id)&&n.getContextValue(Sf)&&(n.getContextValue(yf)||n.getContextValue(Mf))){var l;let t=Tke(e);if(null==t)return;let r=null==(l=t.ts)?void 0:l.bl;a.next(r===Vu.TRUE)}}),l=null==(o=i.getCurrentLastSelection())?void 0:o.primary;if(!r)return void a.next(!1);let u=Uu.NORMAL;if(null!=l){let e=r.getRange(l.startRow,l.startColumn);u=null==e?void 0:e.getFontWeight()}return a.next(u===Uu.BOLD),s.dispose})),hidden$:X5(e,Pi.UNIVER_SHEET)}}},[Mke.id]:{order:6,menuItemFactory:function(e){let t=e.get(Vc),r=e.get(dg),n=e.get(rSe),i=e.get(Mc);return{id:Mke.id,type:lee.BUTTON,icon:"ItalicIcon",title:"Set italic",tooltip:"toolbar.italic",disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe,sAe],rangeTypes:[SSe]},!0),activated$:dBe(r,!1,({worksheet:r})=>new Tn(a=>{var o;let s=t.onCommandExecuted(t=>{let o=t.id;if(o===Kwe.id||o===vSe.id||o===fEe.id){var s;let e=null==(s=n.getCurrentLastSelection())?void 0:s.primary,t=Du.NORMAL;if(null!=e){let n=r.getRange(e.startRow,e.startColumn);t=null==n?void 0:n.getFontStyle()}a.next(t===Du.ITALIC)}if((o===HX.id||o===iae.id)&&i.getContextValue(Sf)&&(i.getContextValue(yf)||i.getContextValue(Mf))){var l;let t=Tke(e);if(null==t)return;let r=null==(l=t.ts)?void 0:l.it;a.next(r===Vu.TRUE)}}),l=null==(o=n.getCurrentLastSelection())?void 0:o.primary,u=Du.NORMAL;if(null!=l){let e=r.getRange(l.startRow,l.startColumn);u=null==e?void 0:e.getFontStyle()}return a.next(u===Du.ITALIC),s.dispose})),hidden$:X5(e,Pi.UNIVER_SHEET)}}},[Oke.id]:{order:7,menuItemFactory:function(e){let t=e.get(Vc),r=e.get(dg),n=e.get(rSe),i=e.get(Mc);return{id:Oke.id,type:lee.BUTTON,icon:"UnderlineIcon",title:"Set underline",tooltip:"toolbar.underline",activated$:dBe(r,!1,({worksheet:r})=>new Tn(a=>{var o;let s,l=t.onCommandExecuted(t=>{let o=t.id;if(o===Kwe.id||o===vSe.id||o===fEe.id){var s;let e,t=null==(s=n.getCurrentLastSelection())?void 0:s.primary;if(null!=t){let n=r.getRange(t.startRow,t.startColumn);e=null==n?void 0:n.getUnderline()}a.next(!(!e||!e.s))}if((o===HX.id||o===iae.id)&&i.getContextValue(Sf)&&(i.getContextValue(yf)||i.getContextValue(Mf))){var l;let t=Tke(e);if(null==t)return;let r=null==(l=t.ts)?void 0:l.ul;a.next((null==r?void 0:r.s)===Vu.TRUE)}}),u=null==(o=n.getCurrentLastSelection())?void 0:o.primary;if(null!=u){let e=r.getRange(u.startRow,u.startColumn);s=null==e?void 0:e.getUnderline()}return a.next(!(!s||!s.s)),l.dispose})),disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe,sAe],rangeTypes:[SSe]},!0),hidden$:X5(e,Pi.UNIVER_SHEET)}}},[Lke.id]:{order:8,menuItemFactory:function(e){let t=e.get(Vc),r=e.get(dg),n=e.get(rSe),i=e.get(Mc);return{id:Lke.id,type:lee.BUTTON,icon:"StrikethroughIcon",title:"Set strike through",tooltip:"toolbar.strikethrough",disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe,sAe],rangeTypes:[SSe]},!0),activated$:dBe(r,!1,({worksheet:r})=>new Tn(a=>{var o;let s,l=t.onCommandExecuted(t=>{let o=t.id;if(o===Kwe.id||o===vSe.id||o===fEe.id){var s;let e,t=null==(s=n.getCurrentLastSelection())?void 0:s.primary;if(null!=t){let n=r.getRange(t.startRow,t.startColumn);e=null==n?void 0:n.getStrikeThrough()}a.next(!(!e||!e.s))}if((o===HX.id||o===iae.id)&&i.getContextValue(Sf)&&(i.getContextValue(yf)||i.getContextValue(Mf))){var l;let t=Tke(e);if(null==t)return;let r=null==(l=t.ts)?void 0:l.st;a.next((null==r?void 0:r.s)===Vu.TRUE)}}),u=null==(o=n.getCurrentLastSelection())?void 0:o.primary;if(null!=u){let e=r.getRange(u.startRow,u.startColumn);s=null==e?void 0:e.getStrikeThrough()}return a.next(!(!s||!s.s)),l.dispose})),hidden$:X5(e,Pi.UNIVER_SHEET)}}},[Fke.id]:{order:9,menuItemFactory:function(e){let t=e.get(Vc),r=e.get(Lg),n=e.get(rSe);return{id:Fke.id,icon:"FontColorDoubleIcon",tooltip:"toolbar.textColor.main",type:lee.BUTTON_SELECTOR,selections:[{label:{name:r8,hoverable:!1,selectable:!1},value$:new Tn(e=>{let t=vh.cl.rgb,{isAllValuesSame:r,value:i}=n.getCellStylesProperty("cl");var a;r?e.next(null==(a=null==i?void 0:i.rgb)?t:a):e.next(t)})}],value$:new Tn(e=>{let n=r.getColorFromTheme("gray.900"),i=t.onCommandExecuted(t=>{if(t.id===Fke.id){let r=t.params.value;e.next(null==r?n:r)}});return e.next(n),i.dispose}),hidden$:X5(e,Pi.UNIVER_SHEET),disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe,sAe],rangeTypes:[SSe]},!0)}},[yRe.id]:{order:0,menuItemFactory:function(e){return{id:jke.id,type:lee.BUTTON,title:"toolbar.resetColor",icon:"NoColorDoubleIcon",disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe,sAe],rangeTypes:[SSe]},!0),hidden$:X5(e,Pi.UNIVER_SHEET)}}}},[_Re.id]:{order:10,menuItemFactory:function(e){let t=e.get(Vc),r=e.get(Lg),n=e.get(rSe);return{id:_Re.id,tooltip:"toolbar.fillColor.main",type:lee.BUTTON_SELECTOR,icon:"PaintBucketDoubleIcon",selections:[{label:{name:r8,hoverable:!1,selectable:!1},value$:new Tn(e=>{let t=vh.bg.rgb,{isAllValuesSame:r,value:i}=n.getCellStylesProperty("bg");var a;r?e.next(null==(a=null==i?void 0:i.rgb)?t:a):e.next(t)})}],value$:new Tn(e=>{let n=r.getColorFromTheme("primary.600"),i=t.onCommandExecuted(t=>{if(t.id===_Re.id){let r=t.params.value;e.next(null==r?n:r)}});return e.next(n),i.dispose}),hidden$:Oi([X5(e,Pi.UNIVER_SHEET),e.get(Mc).subscribeContextValue$(Nf).pipe(RL(!1))]).pipe(Yn(([e,t])=>e||t)),disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe,sAe],rangeTypes:[SSe]})}},[wRe.id]:{order:0,menuItemFactory:function(e){return{id:wRe.id,type:lee.BUTTON,title:"toolbar.resetColor",icon:"NoColorDoubleIcon",disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe,sAe],rangeTypes:[SSe]})}}}},[Zxe.id]:{order:11,menuItemFactory:function(e){let t=e.get(Wxe),r=fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe,sAe],rangeTypes:[SSe]});return{id:Zxe.id,icon:new Tn(t=>{let r="AllBorderIcon",n=e.get(Wxe),i=e.get(Vc).onCommandExecuted(e=>{var i;if(e.id!==Zxe.id)return;let{type:a}=n.getBorderInfo(),o=nBe.find(e=>e.value===a),s=null==(i=null==o?void 0:o.icon)?r:i;t.next(s)});return t.next(r),i.dispose}),tooltip:"toolbar.border.main",type:lee.BUTTON_SELECTOR,slot:!0,selections:[{label:{name:rBe,hoverable:!1,selectable:!1},value$:t.borderInfo$}],value$:t.borderInfo$,hidden$:Oi([X5(e,Pi.UNIVER_SHEET),e.get(Mc).subscribeContextValue$(Nf).pipe(RL(!1))]).pipe(Yn(([e,t])=>e||t)),disabled$:r}}}},[Q8.LAYOUT]:{[SRe.id]:{order:0,menuItemFactory:function(e){var t,r;let n=e.get(dg),i=e.get(rSe),a=n.getCurrentUnitOfType(Pi.UNIVER_SHEET),o=null==a?void 0:a.getActiveSheet().getDefaultCellStyleInternal(),s=null==(t=null==o?void 0:o.ht)?Lu.LEFT:t;return{id:SRe.id,icon:null==(r=VBe.find(e=>e.value===s))?void 0:r.icon,tooltip:"toolbar.horizontalAlignMode.main",type:lee.SELECTOR,selections:VBe,value$:dBe(n,s,({worksheet:t})=>new Tn(r=>{var n,o;let l,u=e.get(Vc).onCommandExecuted(e=>{var n,o;let l=e.id;if(l!==SRe.id&&l!==vSe.id&&l!==fEe.id)return;let u,c=null==(n=i.getCurrentLastSelection())?void 0:n.primary;if(null!=c){var d;let e=t.getRange(c.startRow,c.startColumn),r=null==a?void 0:a.getActiveSheet().getComposedCellStyle(c.startRow,c.startColumn);u=null==(d=null==r?void 0:r.ht)?null==e?void 0:e.getHorizontalAlignment():d}r.next(null==(o=u)?s:o)}),c=null==(n=i.getCurrentLastSelection())?void 0:n.primary;if(null!=c){var d;let e=t.getRange(c.startRow,c.startColumn),r=null==a?void 0:a.getActiveSheet().getComposedCellStyle(c.startRow,c.startColumn);l=null==(d=null==r?void 0:r.ht)?null==e?void 0:e.getHorizontalAlignment():d}return r.next(null==(o=l)?s:o),u.dispose})),hidden$:Oi([X5(e,Pi.UNIVER_SHEET),e.get(Mc).subscribeContextValue$(Nf).pipe(RL(!1))]).pipe(Yn(([e,t])=>e||t)),disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe,sAe],rangeTypes:[SSe]})}}},[ERe.id]:{order:3,menuItemFactory:function(e){var t,r;let n=e.get(dg),i=e.get(rSe),a=n.getCurrentUnitOfType(Pi.UNIVER_SHEET),o=null==a?void 0:a.getActiveSheet().getDefaultCellStyleInternal(),s=null==(t=null==o?void 0:o.vt)?ku.BOTTOM:t;return{id:ERe.id,icon:null==(r=FBe.find(e=>e.value===s))?void 0:r.icon,tooltip:"toolbar.verticalAlignMode.main",type:lee.SELECTOR,selections:FBe,value$:dBe(n,s,({worksheet:t})=>new Tn(r=>{var n,o;let l,u=e.get(Vc).onCommandExecuted(e=>{var n,o;let l=e.id;if(l!==ERe.id&&l!==vSe.id&&l!==fEe.id)return;let u,c=null==(n=i.getCurrentLastSelection())?void 0:n.primary;if(null!=c){var d;let e=t.getRange(c.startRow,c.startColumn),r=null==a?void 0:a.getActiveSheet().getComposedCellStyle(c.startRow,c.startColumn);u=null==(d=null==r?void 0:r.vt)?null==e?void 0:e.getVerticalAlignment():d}r.next(null==(o=u)?s:o)}),c=null==(n=i.getCurrentLastSelection())?void 0:n.primary;if(null!=c){var d;let e=t.getRange(c.startRow,c.startColumn),r=null==a?void 0:a.getActiveSheet().getComposedCellStyle(c.startRow,c.startColumn);l=null==(d=null==r?void 0:r.vt)?null==e?void 0:e.getVerticalAlignment():d}return r.next(null==(o=l)?s:o),u.dispose})),hidden$:Oi([X5(e,Pi.UNIVER_SHEET),e.get(Mc).subscribeContextValue$(Nf).pipe(RL(!1))]).pipe(Yn(([e,t])=>e||t)),disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe,sAe],rangeTypes:[SSe]})}}},[ARe.id]:{order:6,menuItemFactory:function(e){var t,r;let n=e.get(rSe),i=e.get(dg),a=i.getCurrentUnitOfType(Pi.UNIVER_SHEET),o=null==a?void 0:a.getActiveSheet().getDefaultCellStyleInternal(),s=null==(t=null==o?void 0:o.tb)?Pu.OVERFLOW:t;return{id:ARe.id,tooltip:"toolbar.textWrapMode.main",icon:null==(r=jBe.find(e=>e.value===s))?void 0:r.icon,type:lee.SELECTOR,selections:jBe,value$:dBe(i,s,({worksheet:t})=>new Tn(r=>{var i,o;let l,u=e.get(Vc).onCommandExecuted(e=>{var i,o;let l=e.id;if(l!==ARe.id&&l!==vSe.id&&l!==fEe.id)return;let u,c=null==(i=n.getCurrentLastSelection())?void 0:i.primary;if(null!=c){var d;let e=t.getRange(c.startRow,c.startColumn),r=null==a?void 0:a.getActiveSheet().getComposedCellStyle(c.startRow,c.startColumn);u=null==(d=null==r?void 0:r.tb)?null==e?void 0:e.getWrapStrategy():d}r.next(null==(o=u)?s:o)}),c=null==(i=n.getCurrentLastSelection())?void 0:i.primary;if(null!=c){var d;let e=t.getRange(c.startRow,c.startColumn),r=null==a?void 0:a.getActiveSheet().getComposedCellStyle(c.startRow,c.startColumn);l=null==(d=null==r?void 0:r.tb)?null==e?void 0:e.getWrapStrategy():d}return r.next(null==(o=l)?s:o),u.dispose})),hidden$:Oi([X5(e,Pi.UNIVER_SHEET),e.get(Mc).subscribeContextValue$(Nf).pipe(RL(!1))]).pipe(Yn(([e,t])=>e||t)),disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe,sAe],rangeTypes:[SSe]})}}},[IRe.id]:{order:7,menuItemFactory:function(e){let t=e.get(rSe),r=e.get(dg);return{id:IRe.id,tooltip:"toolbar.textRotateMode.main",icon:HBe[0].icon,type:lee.SELECTOR,selections:HBe,value$:dBe(r,0,({worksheet:r})=>new Tn(n=>{var i;let a,o=e.get(Vc).onCommandExecuted(e=>{var i;let a=e.id;if(a!==IRe.id&&a!==vSe.id&&a!==fEe.id)return;let o,s=null==(i=t.getCurrentLastSelection())?void 0:i.primary;if(null!=s){let e=r.getRange(s.startRow,s.startColumn);o=null==e?void 0:e.getTextRotation()}var l;(null==o?void 0:o.v)===Vu.TRUE?n.next("v"):n.next(null==(l=o&&o.a)?0:l)}),s=null==(i=t.getCurrentLastSelection())?void 0:i.primary;if(null!=s){let e=r.getRange(s.startRow,s.startColumn);a=null==e?void 0:e.getTextRotation()}var l;return(null==a?void 0:a.v)===Vu.TRUE?n.next("v"):n.next(null==(l=a&&a.a)?0:l),o.dispose})),hidden$:Oi([X5(e,Pi.UNIVER_SHEET),e.get(Mc).subscribeContextValue$(Nf).pipe(RL(!1))]).pipe(Yn(([e,t])=>e||t)),disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe,sAe],rangeTypes:[SSe]})}}},[JIe.id]:{order:8,menuItemFactory:function(e){let t=mBe(e,fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe,lAe,sAe],rangeTypes:[SSe]})),r=function(e){let t=e.get(rSe),r=e.get(ZEe),n=e.get(dg),i=e.get(XIe),a=n.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET);return Oi([t.selectionMoveEnd$,a.pipe(Yn(e=>{var t;return null==(t=null==e?void 0:e.getUnitId())?"":t})),a.pipe(aq(e=>{var t;return null==(t=null==e?void 0:e.activeSheet$)?Ai(null):t}))]).pipe(Yn(([e,t,n])=>{if(!n||!e||0===e.length)return!1;let a=n.getSheetId(),o=e.map(e=>e.range);if(i.interceptor.fetchThroughInterceptors(zIe)(!1,o))return!0;let s=r.getSubunitRuleList(t,a).map(e=>e.ranges).flat();if(e.length<2){let t=e[0].range;return s.some(e=>Oh.intersects(e,t)&&!Oh.contains(e,t))}for(let t=0;te||t)),disabled$:t.pipe(COe(r),Yn(([e,t])=>e||t))}},[eRe.id]:{order:0,menuItemFactory:function(e){return{id:eRe.id,type:lee.BUTTON,title:"merge.all",icon:"MergeAllIcon",hidden$:X5(e,Pi.UNIVER_SHEET)}}},[tRe.id]:{order:1,menuItemFactory:function(e){return{id:tRe.id,type:lee.BUTTON,title:"merge.vertical",icon:"VerticalIntegrationIcon",hidden$:X5(e,Pi.UNIVER_SHEET)}}},[rRe.id]:{order:2,menuItemFactory:function(e){return{id:rRe.id,type:lee.BUTTON,title:"merge.horizontal",icon:"HorizontalMergeIcon",hidden$:X5(e,Pi.UNIVER_SHEET)}}},[YIe.id]:{order:3,menuItemFactory:function(e){return{id:YIe.id,type:lee.BUTTON,title:"merge.cancel",icon:"CancelMergeIcon",hidden$:X5(e,Pi.UNIVER_SHEET)}}}}},[Q8.OTHERS]:{[iPe.id]:{order:0,menuItemFactory:function(e){return{id:iPe.id,type:lee.BUTTON,icon:$ke,tooltip:"permission.toolbarMenu",hidden$:X5(e,Pi.UNIVER_SHEET),disabled$:iVe(e)}}}}},[Y8.DATA]:{[$8.OTHERS]:{[bVe]:{order:0,menuItemFactory:function(e){return{id:bVe,commandId:oNe.id,type:lee.BUTTON,title:"toolbar.textToNumber",disabled$:mBe(e,fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe,lAe],rangeTypes:[SSe]})),hidden$:X5(e,Pi.UNIVER_SHEET)}}}}},[tee.MAIN_AREA]:{[ree.QUICK]:{quickLayout:"tile",[ske.name]:{order:0,menuItemFactory:zBe},[lke.name]:{order:1,menuItemFactory:XBe},[uke.name]:{order:2,menuItemFactory:qBe}},[ree.FORMAT]:{[GBe]:{order:0,menuItemFactory:YBe},[QBe]:{order:1,menuItemFactory:ZBe,[dke.id]:{order:0,menuItemFactory:KBe},[hke.id]:{order:1,menuItemFactory:$Be},[mke.id]:{order:2,menuItemFactory:JBe},[fke.id]:{order:3,menuItemFactory:eVe}},[yBe]:{order:2,menuItemFactory:_Be,[wxe.id]:{order:0,menuItemFactory:wBe},[oSe.id]:{order:1,menuItemFactory:EBe},[aSe.id]:{order:2,menuItemFactory:SBe}},[CVe]:{order:3,menuItemFactory:yVe}},[ree.LAYOUT]:{order:1,[BBe]:{order:0,menuItemFactory:function(e){return{id:BBe,type:lee.SUBITEMS,title:"rightClick.insert",icon:"InsertDoubleIcon",hidden$:mBe(e,gBe(e)),disabled$:fBe(e,{workbookTypes:[PSe,VSe,FSe],worksheetTypes:[rAe,iAe,JSe],rangeTypes:[SSe]})}},[RAe.id]:{order:0,menuItemFactory:function(e){let t=e.get(dg),r=e.get(rSe),n=e.get(Vc),i=fBe(e,{workbookTypes:[PSe,FSe],worksheetTypes:[iAe,JSe],rangeTypes:[SSe]});return{id:RAe.id,type:lee.BUTTON,icon:"InsertRowAboveDoubleIcon",label:{name:uBe,props:{prefix:"rightClick.insertRowsAbove",min:1,max:1e3,suffix:"rightClick.insertRowsAboveSuffix",disabled$:i}},value$:dBe(t,1,()=>new Tn(e=>{function t(){var t;let n=null==(t=r.getCurrentLastSelection())?void 0:t.range,i=1;n&&(i=(null==n?void 0:n.endRow)-(null==n?void 0:n.startRow)+1),e.next(i)}let i=n.onCommandExecuted(e=>{if(e.id===vSe.id)return t()});return t(),i.dispose})),disabled$:i,hidden$:pBe(e,"row")}}},[kAe.id]:{order:1,menuItemFactory:function(e){let t=e.get(dg),r=e.get(rSe),n=e.get(Vc),i=fBe(e,{workbookTypes:[PSe,VSe],worksheetTypes:[rAe,JSe],rangeTypes:[SSe]});return{id:kAe.id,type:lee.BUTTON,icon:"LeftInsertColumnDoubleIcon",label:{name:uBe,props:{prefix:"rightClick.insertColsLeft",min:1,max:1e3,suffix:"rightClick.insertColsLeftSuffix",disabled$:i}},value$:dBe(t,1,()=>new Tn(e=>{function t(){var t;let n=null==(t=r.getCurrentLastSelection())?void 0:t.range,i=1;n&&(i=(null==n?void 0:n.endColumn)-(null==n?void 0:n.startColumn)+1),e.next(i)}let i=n.onCommandExecuted(e=>{if(e.id===vSe.id)return t()});return t(),i.dispose})),disabled$:i,hidden$:pBe(e,"col")}}},[Wke.id]:{order:2,menuItemFactory:function(e){return{id:Wke.id,type:lee.BUTTON,title:"rightClick.moveRight",icon:"InsertCellShiftRightDoubleIcon",disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe],rangeTypes:[SSe]}),hidden$:bBe(e,"col")}}},[Hke.id]:{order:3,menuItemFactory:function(e){return{id:Hke.id,type:lee.BUTTON,title:"rightClick.moveDown",icon:"InsertCellDownDoubleIcon",disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe],rangeTypes:[SSe]}),hidden$:bBe(e,"row")}}}},[ABe]:{order:0,menuItemFactory:function(e){return{id:ABe,type:lee.SUBITEMS,title:"rightClick.delete",icon:"ReduceDoubleIcon",hidden$:mBe(e,gBe(e)),disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe]})}},[hPe.id]:{order:0,menuItemFactory:IBe},[dPe.id]:{order:1,menuItemFactory:RBe},[pke.id]:{order:2,menuItemFactory:function(e){return{id:pke.id,type:lee.BUTTON,title:"rightClick.moveLeft",icon:"DeleteCellShiftLeftDoubleIcon",disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe],rangeTypes:[SSe]}),hidden$:bBe(e,"col")}}},[vke.id]:{order:3,menuItemFactory:function(e){return{id:vke.id,type:lee.BUTTON,title:"rightClick.moveUp",icon:"DeleteCellShiftUpDoubleIcon",disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe],rangeTypes:[SSe]}),hidden$:bBe(e,"row")}}}},[NBe]:{order:2,menuItemFactory:function(e){return{id:NBe,type:lee.SUBITEMS,title:"rightClick.freeze",icon:"FreezeToSelectedIcon",hidden$:X5(e,Pi.UNIVER_SHEET)}},[EPe.id]:{order:0,menuItemFactory:function(e){return{id:EPe.id,type:lee.BUTTON,icon:"FreezeToSelectedIcon",label:{name:oBe,props:{type:"all"}},hidden$:Oi([X5(e,Pi.UNIVER_SHEET),TBe(e,"all")]).pipe(Yn(([e,t])=>e||t))}}},[SPe.id]:{order:1,menuItemFactory:LBe},[APe.id]:{order:2,menuItemFactory:kBe},[IPe.id]:{order:3,menuItemFactory:PBe},[RPe.id]:{order:4,menuItemFactory:DBe},[oTe.id]:{order:5,menuItemFactory:UBe}},[cVe]:{order:3,menuItemFactory:dVe,[aPe.id]:{order:0,menuItemFactory:hVe},[cPe.id]:{order:1,menuItemFactory:mVe},[uPe.id]:{order:2,menuItemFactory:fVe},[oPe.id]:{order:3,menuItemFactory:gVe}}},[ree.DATA]:{order:2},[ree.OTHERS]:{order:3}},[tee.COL_HEADER]:{[ree.QUICK]:{quickLayout:"tile",[ske.name]:{order:0,menuItemFactory:zBe},[lke.name]:{order:1,menuItemFactory:XBe},[uke.name]:{order:2,menuItemFactory:qBe}},[ree.FORMAT]:{[GBe]:{order:0,menuItemFactory:YBe},[QBe]:{order:1,menuItemFactory:ZBe,[dke.id]:{order:0,menuItemFactory:KBe},[hke.id]:{order:1,menuItemFactory:$Be},[mke.id]:{order:2,menuItemFactory:JBe},[fke.id]:{order:3,menuItemFactory:eVe}},[yBe]:{order:2,menuItemFactory:_Be,[wxe.id]:{order:0,menuItemFactory:wBe},[oSe.id]:{order:1,menuItemFactory:EBe},[aSe.id]:{order:2,menuItemFactory:SBe}},[CVe]:{order:3,menuItemFactory:yVe}},[ree.LAYOUT]:{order:1,[DAe.id]:{order:0,menuItemFactory:function(e){let t=e.get(dg),r=e.get(rSe),n=e.get(Vc),i=fBe(e,{workbookTypes:[PSe,VSe],worksheetTypes:[rAe,JSe],rangeTypes:[SSe]});return{id:DAe.id,type:lee.BUTTON,icon:"LeftInsertColumnDoubleIcon",label:{name:uBe,props:{prefix:"rightClick.insertColsLeft",min:1,max:1e3,suffix:"rightClick.insertColsLeftSuffix",disabled$:i}},value$:dBe(t,1,()=>new Tn(e=>{function t(){var t;let n=null==(t=r.getCurrentLastSelection())?void 0:t.range,i=1;n&&(i=(null==n?void 0:n.endColumn)-(null==n?void 0:n.startColumn)+1),e.next(i)}let i=n.onCommandExecuted(e=>{if(e.id===vSe.id)return t()});return t(),i.dispose})),disabled$:i,hidden$:gBe(e)}}},[UAe.id]:{order:0,menuItemFactory:function(e){let t=e.get(dg),r=e.get(rSe),n=e.get(Vc),i=fBe(e,{workbookTypes:[PSe,VSe],worksheetTypes:[rAe,JSe],rangeTypes:[SSe]});return{id:UAe.id,type:lee.BUTTON,icon:"RightInsertColumnDoubleIcon",label:{name:uBe,props:{prefix:"rightClick.insertColsRight",min:1,max:1e3,suffix:"rightClick.insertColsRightSuffix",disabled$:i}},value$:dBe(t,1,()=>new Tn(e=>{function t(){var t;let n=null==(t=r.getCurrentLastSelection())?void 0:t.range,i=1;n&&(i=(null==n?void 0:n.endColumn)-(null==n?void 0:n.startColumn)+1),e.next(i)}let i=n.onCommandExecuted(e=>{if(e.id===vSe.id)return t()});return t(),i.dispose})),disabled$:i,hidden$:gBe(e)}}},[xke.id]:{order:1,menuItemFactory:function(e){return{id:xke.id,type:lee.BUTTON,icon:"HideDoubleIcon",title:"rightClick.hideSelectedColumn",disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe,uAe],rangeTypes:[SSe]}),hidden$:X5(e,Pi.UNIVER_SHEET)}}},[Jxe.id]:{order:2,menuItemFactory:function(e){let t=e.get(dg),r=e.get(rSe),n=e.get(Vc),i=[vSe,Pwe,Dwe].map(e=>e.id);return{id:Jxe.id,type:lee.BUTTON,icon:"EyeOutlineIcon",title:"rightClick.showHideColumn",hidden$:dBe(t,!0,({worksheet:e})=>new Tn(t=>{function a(){var t;let n=null==(t=r.getCurrentSelections())?void 0:t.map(e=>e.range).filter(e=>e.rangeType===pd.COLUMN);return!(!n||0===n.length||!n.some(t=>{for(let r=t.startColumn;r<=t.endColumn;r++)if(!e.getColVisible(r))return!0;return!1}))}let o=n.onCommandExecuted(e=>{-1!==i.findIndex(t=>t===e.id)&&t.next(!a())});return t.next(!a()),()=>o.dispose()})),disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[uAe,JSe],rangeTypes:[SSe]})}}},[hPe.id]:{order:2,menuItemFactory:IBe},[ETe.id]:{order:3,menuItemFactory:function(e){let t=e.get(Vc),r=e.get(dg),n=e.get(rSe);return{id:ETe.id,type:lee.BUTTON,icon:"AdjustWidthDoubleIcon",label:{name:uBe,props:{prefix:"rightClick.columnWidth",suffix:"px",min:2,max:1e3}},value$:dBe(r,2,({worksheet:e})=>new Tn(r=>{function i(){var t;let i=null==(t=n.getCurrentLastSelection())?void 0:t.primary,a=i?e.getColumnWidth(i.startColumn):e.getConfig().defaultColumnWidth;r.next(a)}let a=t.onCommandExecuted(e=>{let t=e.id;if(t===Kwe.id||t===vSe.id||t===nEe.id)return i()});return i(),a.dispose})),hidden$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe,uAe],rangeTypes:[SSe]})}}},[XPe.id]:{order:4,menuItemFactory:function(e){return{id:XPe.id,type:lee.BUTTON,icon:"AutoWidthDoubleIcon",title:"rightClick.fitContent",disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[cAe,JSe],rangeTypes:[SSe]}),hidden$:X5(e,Pi.UNIVER_SHEET)}}},[MBe]:{order:5,menuItemFactory:function(e){return{id:MBe,type:lee.SUBITEMS,title:"rightClick.freeze",icon:"FreezeToSelectedIcon",hidden$:X5(e,Pi.UNIVER_SHEET)}},[APe.id]:{order:2,menuItemFactory:kBe},[RPe.id]:{order:4,menuItemFactory:DBe},[oTe.id]:{order:5,menuItemFactory:UBe}},[cVe]:{order:6,menuItemFactory:dVe,[aPe.id]:{order:0,menuItemFactory:hVe},[cPe.id]:{order:1,menuItemFactory:mVe},[uPe.id]:{order:2,menuItemFactory:fVe},[oPe.id]:{order:3,menuItemFactory:gVe}}},[ree.DATA]:{order:2},[ree.OTHERS]:{order:3}},[tee.ROW_HEADER]:{[ree.QUICK]:{quickLayout:"tile",[ske.name]:{order:0,menuItemFactory:zBe},[lke.name]:{order:1,menuItemFactory:XBe},[uke.name]:{order:2,menuItemFactory:qBe}},[ree.FORMAT]:{[GBe]:{order:0,menuItemFactory:YBe},[QBe]:{order:1,menuItemFactory:ZBe,[dke.id]:{order:0,menuItemFactory:KBe},[hke.id]:{order:1,menuItemFactory:$Be},[mke.id]:{order:2,menuItemFactory:JBe},[fke.id]:{order:3,menuItemFactory:eVe}},[yBe]:{order:2,menuItemFactory:_Be,[wxe.id]:{order:0,menuItemFactory:wBe},[oSe.id]:{order:1,menuItemFactory:EBe},[aSe.id]:{order:2,menuItemFactory:SBe}},[CVe]:{order:3,menuItemFactory:yVe}},[ree.LAYOUT]:{order:1,[TAe.id]:{order:0,menuItemFactory:function(e){let t=e.get(dg),r=e.get(rSe),n=e.get(Vc),i=fBe(e,{workbookTypes:[PSe,FSe],worksheetTypes:[iAe,JSe],rangeTypes:[SSe]});return{id:TAe.id,type:lee.BUTTON,icon:"InsertRowAboveDoubleIcon",label:{name:uBe,props:{prefix:"rightClick.insertRowsAbove",min:1,max:1e3,suffix:"rightClick.insertRowsAboveSuffix",disabled$:i}},value$:dBe(t,1,()=>new Tn(e=>{function t(){var t;let n=null==(t=r.getCurrentLastSelection())?void 0:t.range,i=1;n&&(i=(null==n?void 0:n.endRow)-(null==n?void 0:n.startRow)+1),e.next(i)}let i=n.onCommandExecuted(e=>{if(e.id===vSe.id)return t()});return t(),i.dispose})),disabled$:i,hidden$:gBe(e)}}},[NAe.id]:{order:1,menuItemFactory:function(e){let t=e.get(dg),r=e.get(rSe),n=e.get(Vc),i=fBe(e,{workbookTypes:[PSe,FSe],worksheetTypes:[iAe,JSe],rangeTypes:[SSe]});return{id:NAe.id,type:lee.BUTTON,icon:"InsertRowBelowDoubleIcon",label:{name:uBe,props:{prefix:"rightClick.insertRowsAfter",min:1,max:1e3,suffix:"rightClick.insertRowsAfterSuffix",disabled$:i}},value$:dBe(t,1,()=>new Tn(e=>{function t(){var t;let n=null==(t=r.getCurrentLastSelection())?void 0:t.range,i=1;n&&(i=(null==n?void 0:n.endRow)-(null==n?void 0:n.startRow)+1),e.next(i)}let i=n.onCommandExecuted(e=>{if(e.id===vSe.id)return t()});return t(),i.dispose})),disabled$:i,hidden$:gBe(e)}}},[dPe.id]:{order:1,menuItemFactory:RBe},[Rke.id]:{order:2,menuItemFactory:function(e){return{id:Rke.id,type:lee.BUTTON,icon:"HideDoubleIcon",title:"rightClick.hideSelectedRow",disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[cAe,JSe],rangeTypes:[SSe]}),hidden$:X5(e,Pi.UNIVER_SHEET)}}},[fTe.id]:{order:2,menuItemFactory:function(e){let t=e.get(dg),r=e.get(rSe),n=e.get(Vc),i=[vSe,tEe,eEe].map(e=>e.id);return{id:fTe.id,type:lee.BUTTON,icon:"EyeOutlineIcon",title:"rightClick.showHideRow",hidden$:dBe(t,!0,({worksheet:e})=>new Tn(t=>{function a(){var t;let n=null==(t=r.getCurrentSelections())?void 0:t.map(e=>e.range).filter(e=>e.rangeType===pd.ROW);return!(null==n||!n.some(t=>{for(let r=t.startRow;r<=t.endRow;r++)if(!e.getRowRawVisible(r))return!0;return!1}))}let o=n.onCommandExecuted(e=>{-1!==i.findIndex(t=>t===e.id)&&t.next(!a())});return t.next(!a()),()=>o.dispose()})),disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe,cAe],rangeTypes:[SSe]})}}},[ZTe.id]:{order:3,menuItemFactory:function(e){let t=e.get(Vc),r=e.get(dg),n=e.get(rSe);return{id:ZTe.id,type:lee.BUTTON,icon:"AdjustHeightDoubleIcon",label:{name:uBe,props:{prefix:"rightClick.rowHeight",suffix:"px",min:2,max:1e3}},value$:dBe(r,2,({worksheet:e})=>new Tn(r=>{function i(){var t;let i=null==(t=n.getCurrentLastSelection())?void 0:t.primary,a=i?e.getRowHeight(i.startRow):e.getConfig().defaultRowHeight;r.next(a)}let a=t.onCommandExecuted(e=>{let t=e.id;if(t===Kwe.id||t===vSe.id||t===dEe.id)return i()});return i(),a.dispose})),hidden$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe,cAe],rangeTypes:[SSe]})}}},[KTe.id]:{order:4,menuItemFactory:function(e){return{id:KTe.id,type:lee.BUTTON,icon:"AutoHeightDoubleIcon",title:"rightClick.fitContent",disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[cAe,JSe],rangeTypes:[SSe]}),hidden$:X5(e,Pi.UNIVER_SHEET)}}},[OBe]:{order:5,menuItemFactory:function(e){return{id:OBe,type:lee.SUBITEMS,title:"rightClick.freeze",icon:"FreezeToSelectedIcon",hidden$:X5(e,Pi.UNIVER_SHEET)}},[SPe.id]:{order:1,menuItemFactory:LBe},[IPe.id]:{order:3,menuItemFactory:PBe},[oTe.id]:{order:5,menuItemFactory:UBe}},[cVe]:{order:6,menuItemFactory:dVe,[aPe.id]:{order:0,menuItemFactory:hVe},[cPe.id]:{order:1,menuItemFactory:mVe},[uPe.id]:{order:2,menuItemFactory:fVe},[oPe.id]:{order:3,menuItemFactory:gVe}}},[ree.DATA]:{order:2},[ree.OTHERS]:{order:3}},[tee.FOOTER_TABS]:{[ree.OTHERS]:{order:0,[mPe.id]:{order:0,menuItemFactory:function(e){let t=e.get(dg),r=e.get(Vc),n=new Tn(e=>{let n=r.onCommandExecuted(r=>{let n=r.id;(n===XAe.id||n===Txe.id||n===xTe.id)&&pVe(t,e)});return pVe(t,e),n.dispose}),i=CBe(e,[PSe,LSe]);return{id:mPe.id,type:lee.BUTTON,title:"sheetConfig.delete",disabled$:Oi([n,i]).pipe(Yn(([e,t])=>e||t)),hidden$:X5(e,Pi.UNIVER_SHEET)}}},[Mxe.id]:{order:1,menuItemFactory:function(e){return{id:Mxe.id,type:lee.BUTTON,title:"sheetConfig.copy",disabled$:CBe(e,[PSe,NSe]),hidden$:X5(e,Pi.UNIVER_SHEET)}}},[cDe.id]:{order:2,menuItemFactory:function(e){return{id:cDe.id,type:lee.BUTTON,title:"sheetConfig.rename",disabled$:CBe(e,[PSe,XSe]),hidden$:X5(e,Pi.UNIVER_SHEET)}}},[bTe.id]:{order:3,menuItemFactory:function(e){return{id:bTe.id,title:"sheetConfig.changeColor",type:lee.SELECTOR,selections:[{label:{name:r8,hoverable:!1,selectable:!1}}],hidden$:CBe(e,[PSe])}}},[TTe.id]:{order:4,menuItemFactory:function(e){let t=e.get(dg),r=e.get(Vc);return{id:TTe.id,type:lee.BUTTON,title:"sheetConfig.hide",disabled$:new Tn(e=>{let n=r.onCommandExecuted(r=>{let n=r.id;(n===XAe.id||n===Txe.id||n===xTe.id)&&pVe(t,e)});return pVe(t,e),n.dispose}).pipe(COe(CBe(e,[PSe,USe])),Yn(([e,t])=>e||t)),hidden$:X5(e,Pi.UNIVER_SHEET)}}},[eDe.id]:{order:6,menuItemFactory:function(e){let t=e.get(dg),r=e.get(Vc);return{id:eDe.id,type:lee.BUTTON,title:"sheetConfig.unhide",disabled$:new Tn(e=>{function n(){let r=t.getCurrentUnitForType(Pi.UNIVER_SHEET).getWorksheets(),n=Array.from(r.values());e.next(1===n.length)}let i=r.onCommandExecuted(e=>{let t=e.id;(t===XAe.id||t===Txe.id||t===xTe.id)&&n()});return n(),i.dispose}).pipe(COe(CBe(e,[PSe,USe])),Yn(([e,t])=>e||t)),hidden$:X5(e,Pi.UNIVER_SHEET)}}},[sPe.id]:{order:7,menuItemFactory:function(e){return{id:sPe.id,type:lee.BUTTON,title:"sheetConfig.addProtectSheet",disabled$:aVe(e),hidden$:X5(e,Pi.UNIVER_SHEET)}}},[tDe.id]:{order:8,menuItemFactory:function(e){return{id:tDe.id,type:lee.BUTTON,title:"sheetConfig.removeProtectSheet",disabled$:oVe(e),hidden$:X5(e,Pi.UNIVER_SHEET)}}},[rDe.id]:{order:9,menuItemFactory:function(e){return{id:rDe.id,type:lee.BUTTON,title:"sheetConfig.changeSheetPermission",disabled$:sVe(e),hidden$:X5(e,Pi.UNIVER_SHEET)}}},[lPe.id]:{order:10,menuItemFactory:function(e){return{id:lPe.id,type:lee.BUTTON,title:"sheetConfig.viewAllProtectArea",disabled$:uVe(e),hidden$:X5(e,Pi.UNIVER_SHEET)}}}}},[tee.FOOTER_MENU]:{[ree.OTHERS]:{[lNe.id]:{order:1,menuItemFactory:function(e){let t=e.get(Vc),r=e.get(dg);return{id:lNe.id,type:lee.BUTTON,tooltip:"toolbar.toggleGridlines",icon:"HideGridlinesDoubleIcon",activated$:new Tn(e=>{let n=()=>{let e=r.getCurrentUnitForType(Pi.UNIVER_SHEET);return!!e&&e.getActiveSheet().getConfig().showGridlines===Vu.TRUE},i=new eu;return i.add(t.onCommandExecuted(t=>{(t.id===mEe.id||t.id===fEe.id)&&e.next(n())})),i.add(r.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET).subscribe(()=>{e.next(n())})),e.next(n()),()=>i.dispose()}),disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe]})}}}}}},wVe="sheets.component.cell-popup";let EVe=class extends tu{constructor(e,t,r,n,i,a,o){super(),this._globalPopupManagerService=e,this._renderManagerService=t,this._univerInstanceService=r,this._refRangeService=n,this._commandService=i,this._refSelectionsService=a,this._selectionManagerService=o,nLe(this,"_popupMenuFeatureMap",new Map),nLe(this,"_popupMenuOffsetMap",new Map),nLe(this,"_isSelectionMoving",!1),this._initMoving()}_initMoving(){this.disposeWithMe(this._refSelectionsService.selectionMoving$.subscribe(()=>{this._isSelectionMoving=!0})),this.disposeWithMe(this._refSelectionsService.selectionMoveEnd$.subscribe(()=>{this._isSelectionMoving=!1})),this.disposeWithMe(this._selectionManagerService.selectionMoving$.subscribe(()=>{this._isSelectionMoving=!0})),this.disposeWithMe(this._selectionManagerService.selectionMoveEnd$.subscribe(()=>{this._isSelectionMoving=!1}))}registerFeatureMenu(e,t){this._popupMenuFeatureMap.set(e,t)}registerFeatureMenuOffset(e,t,r){this._popupMenuOffsetMap.set(e,{offsetX:t,offsetY:r})}getFeatureMenu(e,t,r,n){let i=this._popupMenuFeatureMap.get(n);if(i)return i(e,t,r,n)}dispose(){super.dispose(),this._popupMenuFeatureMap.clear(),this._popupMenuOffsetMap.clear()}_createHiddenRectObserver(e){let{row:t,column:r,worksheet:n,skeleton:i,currentRender:a}=e,o=()=>{var e,o;let{startRow:s,startColumn:l,xSplit:u,ySplit:c}=n.getFreeze(),d=s-c,h=l-u,{rowHeightAccumulation:m,columnWidthAccumulation:f,rowHeaderWidth:g,columnHeaderHeight:p}=i,v=g+(-1===h?0:f[h+u-1]-(null==(e=f[h-1])?0:e)),b=p+(-1===d?0:m[d+c-1]-(null==(o=m[d])?0:o)),C=a.engine.getCanvasElement(),y=C.getBoundingClientRect(),_=SVe(C.style.width),w=y.width/_,E=a.scene.getAncestorScale().scaleX,S=v*w*E,A=b*w*E,I={left:-1/0,top:-1/0,right:y.left+S,bottom:y.top+A},R={left:y.left+S,top:-1/0,right:1/0,bottom:y.top+A},x={left:-1/0,top:y.top+A,right:y.left+S,bottom:1/0},T=[];return t{e.id===iTe.id&&s.next(o())})),l.add(df(a.engine.onTransformChange$).pipe(pq(16)).subscribe(()=>{s.next(o())})),{rects$:s,disposable:l}}_createPositionObserver(e,t,r,n){let i=()=>{let{scene:i}=t,a=function(e,t,r,n){let i=pDe(e.left,e.top,t,r,n),a=pDe(e.right,e.bottom,t,r,n);return{left:i.x,top:i.y,right:a.x,bottom:a.y}}(e,i,r,n),o=t.engine.getCanvasElement(),s=o.getBoundingClientRect(),l=SVe(o.style.width),u=s.width/l;return{left:a.left*u+s.left,right:a.right*u+s.left,top:a.top*u+s.top,bottom:a.bottom*u+s.top}},a=i(),o=new Qn(a),s=new eu;return s.add(this._commandService.onCommandExecuted(e=>{IVe(e.id)&&o.next(i())})),{position:a,position$:o,disposable:s}}attachPopupToObject(e,t){var r;let n=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET),i=n.getActiveSheet();if(!i||this._isSelectionMoving&&!t.showOnSelectionMoving)return{dispose:()=>{},canDispose:()=>!0};let a=n.getUnitId(),o=i.getSheetId(),s=null==(r=this._renderManagerService.getRenderById(a))?void 0:r.with(vLe).ensureSkeleton(o),l=this._renderManagerService.getRenderById(a);if(!l||!s)return{dispose:()=>{},canDispose:()=>!0};let u,{left:c,top:d,width:h,height:m}=e,f=0,g=0;if(e.classType===LV.SHAPE&&(u=e.getPropByKey("drawingType")),void 0!==u&&this._popupMenuOffsetMap.has(u)){let e=this._popupMenuOffsetMap.get(u);f=e.offsetX,g=e.offsetY}let p={left:c,right:c+h+f,top:d+g,bottom:d+m},{position:v,position$:b,disposable:C}=this._createPositionObserver(p,l,s,i),y=this._globalPopupManagerService.addPopup({...t,unitId:a,subUnitId:o,anchorRect:v,anchorRect$:b,canvasElement:l.engine.getCanvasElement()});return{dispose:()=>{this._globalPopupManagerService.removePopup(y),b.complete(),C.dispose()},canDispose:()=>this._globalPopupManagerService.activePopupId!==y}}attachPopupByPosition(e,t,r){var n;let i=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET),a=i.getActiveSheet();if(!a)return null;let o=i.getUnitId(),s=a.getSheetId();if(o!==r.unitId||r.subUnitId!==s)return null;if(this._isSelectionMoving&&!t.showOnSelectionMoving)return;let l=null==(n=this._renderManagerService.getRenderById(o))?void 0:n.with(vLe).getOrCreateSkeleton({sheetId:s}),u=this._renderManagerService.getRenderById(o);if(!u||!l)return null;let{position:c,position$:d,disposable:h}=this._createPositionObserver(e,u,l,a),{rects$:m,disposable:f}=this._createHiddenRectObserver({row:r.row,column:r.col,worksheet:a,skeleton:l,currentRender:u}),g=this._globalPopupManagerService.addPopup({...t,unitId:o,subUnitId:s,anchorRect:c,anchorRect$:d,hiddenRects$:m,canvasElement:u.engine.getCanvasElement()});return{dispose:()=>{this._globalPopupManagerService.removePopup(g),d.complete(),h.dispose(),f.dispose(),i=null,a=null},canDispose:()=>this._globalPopupManagerService.activePopupId!==g}}attachPopupToAbsolutePosition(e,t,r,n){var i;let a=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET),o=a.getActiveSheet();if(!o)return null;let s=a.getUnitId(),l=o.getSheetId();if(r&&s!==r||n&&n!==l)return null;let u=null==(i=this._renderManagerService.getRenderById(s))?void 0:i.with(vLe).ensureSkeleton(l),c=this._renderManagerService.getRenderById(s);if(!c||!u)return null;if(this._isSelectionMoving&&!t.showOnSelectionMoving)return;let d=new Qn(e),h=this._globalPopupManagerService.addPopup({...t,unitId:s,subUnitId:l,anchorRect:e,anchorRect$:d.asObservable(),canvasElement:c.engine.getCanvasElement()});return{dispose:()=>{this._globalPopupManagerService.removePopup(h),d.complete()},canDispose:()=>this._globalPopupManagerService.activePopupId!==h}}attachPopupToCell(e,t,r,n,i,a){let o=n?this._univerInstanceService.getUnit(n):this._univerInstanceService.getCurrentUnitOfType(Pi.UNIVER_SHEET);if(!o)return null;let s=i?o.getSheetBySheetId(i):o.getActiveSheet();if(!s)return null;let l=o.getUnitId(),u=s.getSheetId(),c=this._renderManagerService.getRenderById(l),d=null==c?void 0:c.with(vLe).ensureSkeleton(u),h=null==c?void 0:c.with(dLe);if(!c||!d||!h)return null;if(this._isSelectionMoving&&!r.showOnSelectionMoving)return;let m=null==a?gDe(e,t,c.scene,s):a;if(!m)return null;let{position:f,position$:g,disposable:p,updateRowCol:v}=this._createCellPositionObserver(e,t,c,d,m),{rects$:b,disposable:C}=this._createHiddenRectObserver({row:e,column:t,worksheet:s,skeleton:d,currentRender:c}),y=this._globalPopupManagerService.addPopup({...r,unitId:l,subUnitId:u,anchorRect:f,anchorRect$:g,canvasElement:c.engine.getCanvasElement(),hiddenRects$:b}),_=new eu;_.add(p),_.add(Jl(()=>{this._globalPopupManagerService.removePopup(y),g.complete()})),_.add(C);let w={startRow:e,endRow:e,startColumn:t,endColumn:t};return _.add(this._refRangeService.watchRange(l,u,w,(e,t)=>{t?v(t.startRow,t.startColumn):_.dispose()})),{dispose(){_.dispose(),s=null,o=null},canDispose:()=>this._globalPopupManagerService.activePopupId!==y}}attachRangePopup(e,t,r,n,i,a=!1){let o=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET),s=o.getActiveSheet();if(!s)return null;let l=o.getUnitId(),u=s.getSheetId();if(r&&l!==r||n&&u!==n)return null;let c=this._renderManagerService.getRenderById(l),d=null==c?void 0:c.with(vLe).getOrCreateSkeleton({sheetId:u}),h=null==c?void 0:c.with(dLe);if(!c||!d||!h)return null;if(h.selectionMoving&&!a)return;let m=null==i?gDe(e.startRow,e.startColumn,c.scene,s):i;if(!m)return null;let{position:f,position$:g,disposable:p,updateRange:v,topLeftPos$:b,rightBottomPos$:C}=this._createRangePositionObserver(e,c,d,m),{rects$:y,disposable:_}=this._createHiddenRectObserver({row:e.startRow,column:e.startColumn,worksheet:s,skeleton:d,currentRender:c}),w=this._globalPopupManagerService.addPopup({...t,unitId:l,subUnitId:u,anchorRect:f,anchorRect$:g,canvasElement:c.engine.getCanvasElement(),hiddenRects$:y}),E=new eu;E.add(p),E.add(Jl(()=>{this._globalPopupManagerService.removePopup(w),b.complete(),C.complete()})),E.add(_);let S={...e};return E.add(this._refRangeService.watchRange(l,u,S,(e,t)=>{t?v(t):E.dispose()})),{dispose(){E.dispose()},canDispose:()=>this._globalPopupManagerService.activePopupId!==w}}_createCellPositionObserver(e,t,r,n,i){let a=e,o=t,s=this._calcCellPositionByCell(a,o,r,n,i),l=new Qn(s),u=()=>l.next(this._calcCellPositionByCell(a,o,r,n,i)),c=new eu;return c.add(r.engine.clientRect$.subscribe(()=>u())),c.add(df(r.engine.onTransformChange$).pipe(pq(16)).subscribe(()=>u())),c.add(this._commandService.onCommandExecuted(e=>{(e.id===hEe.id&&e.params.rowsAutoHeightInfo.findIndex(e=>e.row===a)>-1||IVe(e.id))&&u()})),{position$:l,disposable:c,position:s,updateRowCol:(e,t)=>{a=e,o=t,u()}}}_calcCellPositionByCell(e,t,r,n,i){let{scene:a,engine:o}=r;if(n._disposed||a._disposed)return{left:0,right:0,top:0,bottom:0};let s=n.getCellWithCoordByIndex(e,t),l=s.isMergedMainCell?s.mergeInfo:s,{scaleX:u,scaleY:c}=a.getAncestorScale(),d=i.viewportScrollX,h=i.viewportScrollY,m=o.getCanvasElement();if(!m)return{left:0,right:0,top:0,bottom:0};let f=m.getBoundingClientRect(),g=SVe(m.style.width),{top:p,left:v,width:b}=f,C=b/g;return{left:(l.startX-d)*C*u+v,right:(l.endX-d)*C*u+v,top:(l.startY-h)*C*c+p,bottom:(l.endY-h)*C*c+p}}_createRangePositionObserver(e,t,r,n){let{startRow:i,startColumn:a,endRow:o,endColumn:s}=e,l=this._calcCellPositionByCell(i,a,t,r,n),u=new Qn(l),c=this._calcCellPositionByCell(o,s,t,r,n),d=new Qn(c),h=()=>{let e=this._calcCellPositionByCell(i,a,t,r,n),l=this._calcCellPositionByCell(o,s,t,r,n);u.next(e),d.next(l)},m=new eu;return m.add(t.engine.clientRect$.subscribe(()=>h())),m.add(this._commandService.onCommandExecuted(e=>{(e.id===hEe.id&&e.params.rowsAutoHeightInfo.findIndex(e=>e.row===i)>-1||IVe(e.id))&&h()})),{position$:u.pipe(Yn(e=>{let i=this._calcCellPositionByCell(o,s,t,r,n);return{top:e.top,left:e.left,right:i.right,bottom:i.bottom}})),position:{top:l.top,left:l.left,right:c.right,bottom:c.bottom},updateRange:e=>{i=e.startRow,a=e.startColumn,o=e.endRow,s=e.endColumn,h()},topLeftPos$:u,rightBottomPos$:d,disposable:m}}};function SVe(e){return Number.parseInt(e.replace("px",""))}EVe=pLe([gLe(0,Y(vee)),gLe(1,kX),gLe(2,dg),gLe(3,Y(VIe)),gLe(4,Vc),gLe(5,fSe),gLe(6,Y(rSe))],EVe);const AVe=new Set([FPe.id,QPe.id,vSe.id]);function IVe(e){return AVe.has(e)||vEe.includes(e)}let RVe=class extends tu{constructor(e){super(),this._sheetCanvasPopManagerService=e,nLe(this,"_cellPopupMap",new Map),nLe(this,"_change$",new On),nLe(this,"change$",this._change$.asObservable())}_ensureCellPopupMap(e,t){let r=this._cellPopupMap.get(e);r||(r=new Map,this._cellPopupMap.set(e,r));let n=r.get(t);return n||(n=new kd,r.set(t,n)),n}showPopup(e,t){var r,n;let{direction:i="horizontal"}=t,{unitId:a,subUnitId:o,row:s,col:l}=e,u=this._ensureCellPopupMap(a,o),c=null==(r=u.getValue(s,l))?void 0:r[i];if(t.id=null==(n=t.id)?cu():n,c)c.popups.push(t),c.popups.sort((e,t)=>e.priority-t.priority);else{let r=this._sheetCanvasPopManagerService.attachPopupToCell(s,l,{...t,direction:i,componentKey:wVe,extraProps:{...e,direction:i},noPushMinimumGap:!0,autoRelayout:!1,zIndex:90},a,o);u.setValue(s,l,{...u.getValue(s,l),[i]:{disposable:r,popups:[t]}})}return this._change$.next({...e,direction:i}),Jl(()=>{let r=u.getValue(s,l);if(!r)return;let n=r[i];if(!n)return;let a=null==n?void 0:n.popups.findIndex(e=>e.id===t.id&&e.componentKey===t.componentKey);var o;null==n||n.popups.splice(a,1),0===n.popups.length&&(null==(o=n.disposable)||o.dispose(),r[i]=void 0),this._change$.next({...e,direction:i})})}getPopups(e,t,r,n,i){var a;return(null==(a=this._ensureCellPopupMap(e,t).getValue(r,n))||null==(a=a[i])?void 0:a.popups)||[]}hidePopup(e,t,r,n){let i=this._ensureCellPopupMap(e,t),a=i.getValue(r,n);var o,s;a&&(a.horizontal&&(null==(o=a.horizontal.disposable)||o.dispose(),a.horizontal=void 0,this._change$.next({unitId:e,subUnitId:t,row:r,col:n,direction:"horizontal"})),a.vertical&&(null==(s=a.vertical.disposable)||s.dispose(),a.vertical=void 0,this._change$.next({unitId:e,subUnitId:t,row:r,col:n,direction:"vertical"})),!a.horizontal&&!a.vertical&&i.realDeleteValue(r,n))}};RVe=pLe([gLe(0,Y(EVe))],RVe);const xVe=e=>{let{popup:t}=e,{row:r,col:n,direction:i,unitId:a,subUnitId:o}=t.extraProps,s=iK(RVe);aK((0,_q.useMemo)(()=>s.change$.pipe(Un(e=>e.row===r&&e.col===n&&e.direction===i)),[s,r,n,i]));let l=s.getPopups(a,o,r,n,i),u=iK(W5);return(0,$Z.jsx)("div",{"data-u-comp":"cell-popup",className:"univer-ml-px univer-flex univer-flex-col",children:l.map(e=>{var t;let r=u.get(e.componentKey);return r?(0,$Z.jsx)(r,{popup:e},null==(t=e.id)?e.componentKey:t):null})})},TVe=e=>{let{inputId:t,state:r=!1,type:n="range",confirm:i,cancel:a,name:o,formulaOrRefString:s,comment:l="",localSheetId:u=ANe,hidden:c=!1,id:d}=e,h=iK(dg).getCurrentUnitForType(Pi.UNIVER_SHEET),m=iK(Cg),f=iK(Jme),g=iK(Sfe),p=iK(Rpe),v=iK(Ffe),b=iK(W5),C=(0,_q.useMemo)(()=>b.get(JOe),[]),y=(0,_q.useMemo)(()=>b.get(eLe),[]);if(null==h)return;let _=(0,_q.useMemo)(()=>h.getUnitId(),[]),w=(0,_q.useMemo)(()=>h.getActiveSheet().getSheetId(),[]),[E,S]=(0,_q.useState)(o),[A,I]=(0,_q.useState)(s),[R,x]=(0,_q.useState)(l),[T,N]=(0,_q.useState)(u),[M,O]=(0,_q.useState)(""),[L,k]=(0,_q.useState)(n),[P,D]=(0,_q.useState)(!0),U=[{label:m.t("definedName.scopeWorkbook"),value:ANe}];(0,_q.useEffect)(()=>{D(!0),S(o),x(l),N(u);let e=s;s.substring(0,1)===nhe.EQUALS?k("formula"):(e=>!Xme(e))(s)?(k("formula"),e=nhe.EQUALS+s):k("range"),I(e),O("")},[r]),h.getSheetOrders().forEach(e=>{let t=h.getSheetBySheetId(e);U.push({label:(null==t?void 0:t.getName())||"",value:e})});let B=(0,_q.useRef)(null),[V,F]=(0,_q.useState)(!1);return Cre(e=>{var t;null!=(t=B.current)&&t.isClickOutSide(e)&&F(!1)}),(0,$Z.jsxs)("div",{className:x7("univer-grid univer-space-y-2 univer-pb-1",W7,{"univer-hidden":!r}),children:[(0,$Z.jsx)("div",{children:(0,$Z.jsx)(Z9,{className:"univer-w-full",placeholder:m.t("definedName.inputNamePlaceholder"),value:E,allowClear:!0,onChange:S})}),(0,$Z.jsx)("div",{children:(0,$Z.jsxs)(v5,{value:L,onChange:e=>{let t=e;"formula"===t?s[0]===nhe.EQUALS?I(s):I(`${nhe.EQUALS}`):s[0]===nhe.EQUALS?I(""):I(s),k(t)},children:[(0,$Z.jsx)(b5,{value:"range",children:m.t("definedName.ratioRange")}),(0,$Z.jsx)(b5,{value:"formula",children:m.t("definedName.ratioFormula")})]})}),"range"===L?C&&(0,$Z.jsx)(C,{unitId:_,subUnitId:w,initialValue:A,onChange:(e,t)=>(e=>{I(e)})(t),supportAcrossSheet:!0}):y&&(0,$Z.jsx)("div",{className:"univer-relative univer-mt-4 univer-h-full",children:(0,$Z.jsx)("div",{className:"univer-relative univer-h-8 univer-select-none",children:(0,$Z.jsx)(y,{ref:B,className:x7("univer-box-border univer-h-8 univer-w-full univer-cursor-pointer univer-items-center univer-rounded-lg univer-bg-white univer-pt-2 univer-transition-colors hover:univer-border-primary-600 dark:!univer-bg-gray-700 dark:!univer-text-white [&>div:first-child]:univer-px-2.5 [&>div]:univer-h-5 [&>div]:univer-ring-transparent",V7),initValue:A,unitId:_,subUnitId:w,isFocus:V,isSupportAcrossSheet:!0,onChange:(e="")=>{(e=>{I(e||"")})(e||"")},onVerify:e=>{D(e)},onFocus:()=>F(!0)})})}),(0,$Z.jsx)("div",{children:(0,$Z.jsx)(_5,{className:"univer-w-full",value:T,options:U,onChange:N})}),(0,$Z.jsx)("div",{children:(0,$Z.jsx)(Z9,{className:"univer-w-full",placeholder:m.t("definedName.inputCommentPlaceholder"),value:R,onChange:x,allowClear:!0})}),(0,$Z.jsxs)("div",{className:x7("univer-items-center univer-gap-1 univer-text-sm univer-text-red-500",{"univer-hidden":0===M.length,"univer-flex":0!==M.length}),children:[(0,$Z.jsx)("span",{children:M}),(0,$Z.jsx)(IK,{})]}),(0,$Z.jsxs)("div",{className:"univer-flex univer-gap-2",children:[(0,$Z.jsx)(O7,{onClick:()=>{null==a||a()},children:m.t("definedName.cancel")}),(0,$Z.jsx)(O7,{variant:"primary",onClick:()=>{if(0===E.length)return void O(m.t("definedName.nameEmpty"));if((f.getValueByName(_,E)||g.hasTable(_,E))&&(null==d||0===d.length))return void O(m.t("definedName.nameDuplicate"));if(!uu.isValidParameter(E)||Wme(E)||!uu.isStartValidPosition(E)&&!JV(E.substring(0,1)))return void O(m.t("definedName.nameInvalid"));if(h.getSheetOrders().map(e=>{var t;return(null==(t=h.getSheetBySheetId(e))?void 0:t.getName())||""}).includes(E))return void O(m.t("definedName.nameSheetConflict"));if(0===A.length)return void O(m.t("definedName.formulaOrRefStringEmpty"));if(!P)return void O(m.t("definedName.formulaOrRefStringInvalid"));if(p.hasExecutor(E.toUpperCase()))return void O(m.t("definedName.nameConflict"));let e=h.getActiveSheet().getName();i&&i({id:d||"",name:E,formulaOrRefString:v.convertRefersToAbsolute(A,vd.ALL,vd.ALL,e),comment:R,localSheetId:T})},children:m.t("definedName.confirm")})]})]})},NVe=()=>{let e=iK(Vc),t=iK(dg),r=iK(Cg),n=iK(Jme),i=iK(rSe),a=t.getCurrentUnitOfType(Pi.UNIVER_SHEET),o=null==a?void 0:a.getUnitId(),s=()=>{if(!o)return[];let e=n.getDefinedNameMap(o);return e?Array.from(Object.values(e)):[]},[l,u]=(0,_q.useState)(!1),[c,d]=(0,_q.useState)([]),[h,m]=(0,_q.useState)(null),[f,g]=(0,_q.useState)();if((0,_q.useEffect)(()=>{d(s());let e=n.update$.subscribe(()=>{d(s())});return()=>{e.unsubscribe()}},[]),!a||!o)return;let p=t=>{let{name:r,formulaOrRefString:n,comment:i,localSheetId:a,hidden:s}=t,l=t.id;if(null==l||0===l.length)l=cu(10),e.executeCommand(Pxe.id,{id:l,unitId:o,name:r,formulaOrRefString:n,comment:i,localSheetId:a,hidden:s});else{let t={id:l,unitId:o,name:r,formulaOrRefString:n,comment:i,localSheetId:a,hidden:s};e.executeCommand(rTe.id,t)}u(!1),m(null)};function v(){g(null)}function b(t){if(!o)return;let r=n.getValueById(o,t);e.executeCommand(jxe.id,{...r,unitId:o}),g(null)}let C=async t=>{let{formulaOrRefString:r,id:i}=t,a=n.getWorksheetByRef(o,r);a&&(a.isSheetHidden()&&await e.executeCommand($Te.id,{unitId:o,subUnitId:a.getSheetId()}),n.focusRange(o,i))},y=()=>{u(!1),m(null)},_=e=>{let t=a.getSheetBySheetId(e);return null==t?"":t.getName()};return(0,$Z.jsx)("div",{"data-u-comp":"defined-name-container",className:"univer-relative univer-box-border univer-w-full",children:(0,$Z.jsxs)("div",{className:x7("univer-w-full univer-overflow-hidden univer-overflow-y-auto",U7),children:[(0,$Z.jsxs)("div",{className:"univer-mb-4",children:[(0,$Z.jsxs)(O7,{className:x7("univer-w-full",{"univer-hidden":l}),onClick:()=>{u(!0),m(null)},children:[(0,$Z.jsx)(EY,{}),(0,$Z.jsx)("span",{className:"univer-ml-1",children:r.t("definedName.addButton")})]}),l&&(0,$Z.jsx)(TVe,{confirm:p,cancel:y,state:l,inputId:"insertDefinedName",name:(()=>{let e=c.length+1,t=r.t("definedName.defaultName")+e;if(null==n.getValueByName(o,t))return t;let i=e+1;for(;;){let e=r.t("definedName.defaultName")+i;if(null==n.getValueByName(o,e))return e;i++}})(),formulaOrRefString:(()=>{var e;let t=null==(e=a.getActiveSheet())?void 0:e.getName();if(!t)return"";let r=i.getCurrentSelections();return null==r?"":r.map(e=>Dme(t,e.range)).join(",")})()})]},"insertDefinedName"),c.map((e,t)=>(0,$Z.jsxs)("div",{className:"univer-relative univer-w-full univer-divide-x-0 univer-divide-y univer-divide-solid univer-divide-gray-200 dark:!univer-divide-gray-600",children:[(0,$Z.jsxs)("div",{className:x7("univer-group univer-relative univer-flex univer-w-full univer-cursor-default univer-select-none univer-items-center univer-justify-between univer-rounded-md univer-p-2 hover:univer-bg-gray-50 dark:hover:!univer-bg-gray-700",{"univer-hidden":e.id===h}),onClick:()=>{C(e)},children:[(0,$Z.jsxs)("div",{title:e.comment,children:[(0,$Z.jsxs)("div",{className:"univer-my-1 univer-max-h-[100px] univer-max-w-[190px] univer-truncate univer-text-sm univer-font-medium univer-text-gray-900 dark:!univer-text-white",children:[e.name,(0,$Z.jsx)("span",{className:"univer-text-xxs univer-ml-1 univer-text-gray-400",children:e.localSheetId===ANe||null==e.localSheetId?"":_(e.localSheetId)})]}),(0,$Z.jsx)("div",{className:"univer-my-1 univer-max-h-[100px] univer-w-full univer-max-w-[190px] univer-truncate univer-text-xs univer-text-gray-500",title:e.formulaOrRefString,children:e.formulaOrRefString})]}),(0,$Z.jsxs)("div",{className:"univer-absolute univer-right-5 univer-top-1/2 univer-hidden -univer-translate-y-1/2 univer-cursor-pointer univer-items-center univer-justify-end univer-gap-7 univer-text-xs univer-text-primary-600 group-hover:univer-flex dark:hover:!univer-bg-gray-600",children:[(0,$Z.jsx)(J9,{title:r.t("definedName.updateButton"),placement:"top",children:(0,$Z.jsx)("a",{className:"univer-rounded univer-p-1 hover:univer-bg-gray-100",onClick:t=>{t.stopPropagation(),(e=>{u(!1),m(e)})(e.id)},children:(0,$Z.jsx)(_Oe,{})})}),(0,$Z.jsx)(J9,{title:r.t("definedName.deleteButton"),placement:"top",children:(0,$Z.jsx)("a",{className:"univer-rounded univer-p-1 univer-text-red-600 hover:univer-bg-gray-100",onClick:t=>{t.stopPropagation(),(e=>{g(e)})(e.id)},children:(0,$Z.jsx)(one,{})})})]})]}),(0,$Z.jsx)(S9,{visible:f===e.id,onClose:v,onConfirm:()=>{b(e.id)},children:r.t("definedName.deleteConfirmText")}),e.id===h&&(0,$Z.jsx)(TVe,{confirm:p,cancel:y,state:e.id===h,id:e.id,inputId:e.id+t,name:e.name,formulaOrRefString:e.formulaOrRefString,comment:e.comment,localSheetId:e.localSheetId})]},t))]})})};function MVe(){let e=iK(Vc),t=iK(dg),r=iK(kX),n=iK(pxe),i=iK(Cg),[a,o]=(0,_q.useState)([]),[s,l]=(0,_q.useState)(!1),[u,c]=(0,_q.useState)({row:-1,col:-1}),[d,h]=(0,_q.useState)(HRe.SERIES),[m,f]=(0,_q.useState)(!1),g=bDe(),{sheetSkeletonManagerService:p,selectionRenderService:v}=(0,_q.useMemo)(()=>{if(g){let e=r.getRenderById(g.getUnitId());return{sheetSkeletonManagerService:null==e?void 0:e.with(vLe),selectionRenderService:null==e?void 0:e.with(dLe)}}return{sheetSkeletonManagerService:null,selectionRenderService:null}},[g,r]),b=(()=>{let[,e]=(0,_q.useState)({});return(0,_q.useCallback)(()=>e(e=>!e),[])})();if((0,_q.useEffect)(()=>e.onCommandExecuted((e,t)=>{e.id===FPe.id&&b()}).dispose,[b,e]),(0,_q.useEffect)(()=>{let e=p&&Jl(p.currentSkeleton$.subscribe(e=>{e&&b()}));return null==e?void 0:e.dispose},[p,b]),(0,_q.useEffect)(()=>Jl(n.menu$.subscribe(e=>{o(e.map(t=>({...t,index:e.indexOf(t)})))})).dispose,[n]),(0,_q.useEffect)(()=>Jl(n.showMenu$.subscribe(e=>{let{source:t,target:r}=n.autoFillLocation||{source:null,target:null};c(e&&t&&r?{row:Math.max(t.rows[t.rows.length-1],r.rows[r.rows.length-1]),col:Math.max(t.cols[t.cols.length-1],r.cols[r.cols.length-1])}:{row:-1,col:-1})})).dispose,[n]),(0,_q.useEffect)(()=>Jl(n.applyType$.subscribe(e=>{h(e)})).dispose,[n]),(0,_q.useEffect)(()=>{function e(){l(!1)}return document.addEventListener("wheel",e),()=>{document.removeEventListener("wheel",e)}},[s]),u.col<0||u.row<0)return null;let C=PPe(t,r);if(!C||!v)return null;let{scene:y}=C,_=null==p?void 0:p.getCurrentSkeleton(),w=v.getViewPort(),E=null==y?void 0:y.scaleX,S=null==y?void 0:y.scaleY,A=null==y?void 0:y.getViewportScrollXY(w);if(!(E&&y&&E&&S&&A))return null;let I=(null==_?void 0:_.getNoMergeCellWithCoordByIndex(u.row,u.col).endX)||0,R=(null==_?void 0:_.getNoMergeCellWithCoordByIndex(u.row,u.col).endY)||0,x=zz(I,E,A),T=Xz(R,S,A);if(null==x||null==T)return null;let N=t=>{e.executeCommand(Uxe.id,{type:t.value}),l(!1)},M=s||m,O=a.filter(e=>!e.disable);return(0,$Z.jsx)("div",{className:"univer-absolute univer-inset-0 univer-z-10 univer-size-0",children:(0,$Z.jsx)("div",{className:"univer-absolute",style:{left:`${x+2}px`,top:`${T+2}px`},onMouseEnter:()=>{f(!0)},onMouseLeave:()=>{f(!1)},children:(0,$Z.jsx)(H9,{align:"start",items:O.map(e=>({type:"radio",value:d,options:[{label:i.t(e.label),value:e.value}],onSelect:()=>N(e)})),open:s,onOpenChange:e=>{l(e)},children:(0,$Z.jsxs)("div",{className:x7("univer-flex univer-items-center univer-gap-2 univer-rounded univer-p-1 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-800",V7,{"univer-bg-gray-100 dark:!univer-bg-gray-800":s,"univer-bg-white dark:!univer-bg-gray-900":!s}),children:[(0,$Z.jsx)(EOe,{className:"univer-fill-primary-600 univer-text-gray-900 dark:!univer-text-white"}),M&&(0,$Z.jsx)(uQ,{className:"dark:!univer-text-white"})]})})})})}function OVe(e,t){let r=iK(GPe),n=iK(Vc);return(0,_q.useMemo)(()=>({keyCodes:[{keyCode:x8.ENTER},{keyCode:x8.ESC},{keyCode:x8.TAB}],handler:e=>{if(e===x8.ENTER||e===x8.ESC||e===x8.TAB){if(null==t)return;r.disableForceKeepVisible(),n.syncExecuteCommand(sDe.id,{visible:!1,eventType:FF.Keyboard,keycode:e,unitId:t})}}}),[n,r,t])}const LVe=-1e3,kVe={width:0,height:0,top:LVe,left:LVe},PVe=()=>{let[e,t]=(0,_q.useState)({...kVe}),r=iK(TDe),n=iK(joe),i=iK(Mc),a=iK(W5),o=iK(GPe),s=aK(o.visible$),l=iK(Vc),u=(0,_q.useRef)(0),c=aK(()=>i.subscribeContextValue$(vre),!1,void 0,[i,vre]),d=a.get(eLe),h=o.getEditLocation();(0,_q.useEffect)(()=>{let e=r.state$.subscribe(e=>{if(null==e)return;let{startX:i=LVe,startY:a=LVe,endX:o=0,endY:s=0,show:l=!1}=e;if(l){t({width:o-i,height:s-a,left:i,top:a});let e=n.getEditor(El);if(null==e)return;let{left:l,top:u,width:c,height:d}=e.getBoundingClientRect();r.setRect({left:l,top:u,width:c,height:d})}else t({...kVe})});return()=>{e.unsubscribe()}},[]),(0,_q.useEffect)(()=>{c||r.setFocus(!0)},[c,e]),Cre($5(()=>{o.isVisible().visible&&l.executeCommand(sDe.id,{visible:!1,eventType:FF.PointerUp,unitId:null==h?void 0:h.unitId})}));let m=OVe(0,null==h?void 0:h.unitId),f=$5((e,t)=>{l.executeCommand(uDe.id,{keycode:e,visible:!1,eventType:FF.Keyboard,isShift:t===N8.SHIFT||t===(N8.CTRL_COMMAND|N8.SHIFT),unitId:null==h?void 0:h.unitId})});return(0,$Z.jsx)("div",{className:"univer-absolute univer-z-10 univer-flex",style:{left:e.left,top:e.top,width:e.width,height:e.height},children:d&&(0,$Z.jsx)(d,{editorId:El,className:"univer-relative univer-flex univer-size-full [&_canvas]:univer-absolute",initValue:"",onChange:()=>{},isFocus:null==s?void 0:s.visible,unitId:null==h?void 0:h.unitId,subUnitId:null==h?void 0:h.sheetId,keyboardEventConfig:m,onMoveInEditor:f,isSupportAcrossSheet:!0,resetSelectionOnBlur:!1,isSingle:!1,autoScrollbar:!1,onFormulaSelectingChange:(e,t)=>{u.current=e,t&&(e?o.enableForceKeepVisible():o.disableForceKeepVisible())},disableSelectionOnClick:!0,disableContextMenu:!1})})};function DVe({search:e,isInputEvent:t}){let r=iK(Vc),n=iK(Cg),i=iK(Jme),a=iK(dg),o=iK(V5),s=a.getCurrentUnitForType(Pi.UNIVER_SHEET).getUnitId(),l=()=>{let e=i.getDefinedNameMap(s);return e?Array.from(Object.values(e)):[]},[u,c]=(0,_q.useState)(l());(0,_q.useEffect)(()=>{let e=i.update$.subscribe(()=>{c(l())});return()=>{e.unsubscribe()}},[]),(0,_q.useEffect)(()=>{let e=o.sidebarOptions$.subscribe(e=>{"DefinedNameContainer"===e.id&&(e.visible||setTimeout(()=>{o.sidebarOptions$.next({visible:!1})}))});return()=>{e.unsubscribe()}},[]);let d=(0,_q.useMemo)(()=>e&&t?u.filter(t=>t.name.toLowerCase().includes(e.toLowerCase())):u,[e,t,u]);return(0,$Z.jsxs)("div",{className:"univer-w-[300px]",children:[(0,$Z.jsx)("ul",{className:x7("univer-m-0 univer-max-h-[360px] univer-list-none univer-overflow-y-auto univer-p-0",U7),children:d.map((e,t)=>(0,$Z.jsx)("li",{className:"univer-cursor-pointer univer-px-2 univer-transition-colors univer-duration-200 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-600",onClick:()=>{(async e=>{let{formulaOrRefString:t,id:n}=e,a=i.getWorksheetByRef(s,t);a&&(a.isSheetHidden()&&await r.executeCommand($Te.id,{unitId:s,subUnitId:a.getSheetId()}),i.focusRange(s,n))})(e)},children:(0,$Z.jsxs)("div",{className:x7("univer-flex univer-items-center univer-justify-between univer-gap-2 univer-py-1",W7),children:[(0,$Z.jsx)("div",{className:"univer-w-[50%] univer-flex-shrink-0 univer-truncate univer-text-sm univer-text-gray-600 dark:!univer-text-gray-200",title:e.name,children:e.name}),(0,$Z.jsx)("div",{className:"univer-w-[50%] univer-flex-shrink-0 univer-truncate univer-text-xs univer-text-gray-400",title:e.formulaOrRefString,children:e.formulaOrRefString})]})},t))}),(0,$Z.jsxs)("div",{className:"univer-cursor-pointer univer-p-2 univer-transition-colors univer-duration-200 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-600",onClick:()=>{r.executeCommand(fDe.id,{value:"open"})},children:[(0,$Z.jsx)("div",{className:"univer-mb-2 univer-text-sm univer-font-semibold univer-text-gray-600 dark:!univer-text-gray-200",children:n.t("definedName.managerTitle")}),(0,$Z.jsx)("div",{className:"univer-text-xs univer-text-gray-400",children:n.t("definedName.managerDescription")})]})]})}function UVe({disable:e}){let[t,r]=(0,_q.useState)(""),[n,i]=(0,_q.useState)(""),a=iK(Jme),o=iK(Vc),s=iK(dg),l=iK(rSe),u=iK(Ffe),c=s.getCurrentUnitOfType(Pi.UNIVER_SHEET),d=null==c?void 0:c.getUnitId(),h=iK(Lg),[m,f]=(0,_q.useState)(!1),[g,p]=(0,_q.useState)(!1),v=()=>{let e=a.getDefinedNameMap(d);return e?Array.from(Object.values(e)):[]},[b,C]=(0,_q.useState)(v());(0,_q.useEffect)(()=>{let e=a.update$.subscribe(()=>{C(v())});return()=>{e.unsubscribe()}},[]),(0,_q.useEffect)(()=>{let e=a.currentRange$.subscribe(()=>{var e;let t=l.getCurrentSelections(),n=c.getActiveSheet(),o=null==t||null==(e=t.map(e=>Dme(n.getName(),e.range)))?void 0:e.join(","),s=u.convertRefersToAbsolute(o,vd.ALL,vd.ALL,n.getName()),h=a.getDefinedNameByRefString(d,s);if(h)r(h.name),i(h.name);else{let e=a.getCurrentRangeForString();r(e),i(e)}});return()=>{e.unsubscribe()}},[]);let y=Vr(e=>{let t=b.find(t=>t.name.toLowerCase().includes(e.toLowerCase()));t&&!m?f(!0):!t&&m&&f(!1)},100);function _(){if(n===t)return;let e=b.find(e=>e.name===n);e?(r(n),(async e=>{let{formulaOrRefString:t,id:r}=e,n=a.getWorksheetByRef(d,t);n&&(n.isSheetHidden()&&await o.executeCommand($Te.id,{unitId:d,subUnitId:n.getSheetId()}),a.focusRange(d,r))})(e)):Wme(n)?(r(n),(e=>{let t=c.getActiveSheet(),r=t.getSheetId();(async function(e,t){if(!e)return;let r=jme(t.trim()),{startRow:n,startColumn:i,endRow:a,endColumn:o}=r.range,s=cSe({startRow:n,startColumn:i,endRow:a,endColumn:o},e),l=[];return l.push({range:r.range,style:KOe(h),primary:s}),l})(t,e).then(e=>{e&&(o.executeCommand(vSe.id,{unitId:d,subUnitId:r,selections:e}),o.executeCommand(WPe.id,{range:e[0].range}))})})(n)):w()}function w(){i(t)}return(0,$Z.jsxs)("div",{"data-u-comp":"defined-name",className:"univer-relative univer-box-border univer-flex univer-h-full univer-w-24 univer-border-r-gray-200 univer-py-1.5 univer-transition-all",children:[(0,$Z.jsx)("input",{className:x7("univer-box-border univer-size-full univer-appearance-none univer-pl-1.5 univer-pr-5 univer-text-gray-900 focus:univer-outline-none dark:!univer-border-r-gray-700 dark:!univer-bg-gray-900 dark:!univer-text-white",z7,{"univer-cursor-not-allowed":e}),type:"text",value:n,onChange:function(e){let t=e.target.value.trim();i(t),p(!0),t?y(t):m&&f(!1)},onKeyDown:function(t){e||("Enter"===t.key?(_(),p(!1),f(!1)):"Escape"===t.key&&(t.preventDefault(),p(!1),w()))},onBlur:()=>p(!1)}),(0,$Z.jsx)(x9,{overlay:(0,$Z.jsx)("div",{className:"univer-z-[1001]",children:(0,$Z.jsx)(DVe,{search:n,isInputEvent:g})}),disabled:e,open:m,onOpenChange:f,onOpenAutoFocus:e=>e.preventDefault(),children:(0,$Z.jsx)("a",{className:x7("univer-absolute univer-right-0 univer-top-0 univer-flex univer-h-full univer-cursor-pointer univer-items-center univer-justify-center univer-px-1 univer-transition-colors univer-duration-200 hover:univer-bg-gray-100 dark:!univer-text-white dark:hover:!univer-bg-gray-800",{"univer-cursor-not-allowed univer-text-gray-300 hover:univer-bg-transparent dark:!univer-text-gray-700":e}),children:(0,$Z.jsx)(uQ,{})})})]})}var BVe=function(e){return e[e.Down=0]="Down",e[e.Up=1]="Up",e}(BVe||{});function VVe(e){var t,r;let{className:n,disableDefinedName:i}=e,[a,o]=(0,_q.useState)(!1),[s,l]=(0,_q.useState)(BVe.Down),u=iK(pUe),c=iK(GPe),d=iK(aRe),h=iK(ZEe),m=iK(dg),f=iK(rSe),g=iK(Eg),p=iK(PNe),v=iK(Vc),[b,C]=(0,_q.useState)({editDisable:!1,viewDisable:!1}),[y,_]=(0,_q.useState)(!1),w=iK(W5),E=aK(()=>m.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET),void 0,void 0,[]),S=(0,_q.useRef)(0),A=aK(c.currentEditCellState$),I=OVe(0,null==A?void 0:A.unitId),R=w.get(eLe),x=Ree(CDe.FORMULA_AUX),T=iK(Mc);aK((0,_q.useMemo)(()=>T.subscribeContextValue$(If),[T]));let N=T.getContextValue(If),M=(0,_q.useRef)(null),O=iK(joe),L=e8(iDe),k=null==L?void 0:L.disableEdit;(0,_q.useLayoutEffect)(()=>{let e=E.activeSheet$.pipe(aq(e=>e?Ei(d.ruleChange$,h.ruleChange$,f.selectionMoveEnd$,f.selectionSet$).pipe(aq(()=>{var t,r;let n=E.getUnitId(),i=e.getSheetId();if(null==(t=f.getCurrentLastSelection())||!t.range)return fi;let a=null==(r=f.getCurrentLastSelection())?void 0:r.primary;return Ai(a?{unitId:n,subUnitId:i,primary:a}:null)})):fi)).subscribe(e=>{if(e){var t,r;let{unitId:s,subUnitId:l,primary:u}=e;if(d.getRule(s,l)){var n,i,a,o;let e=!(null==(n=null==(i=g.getPermissionPoint(new JSe(s,l).id))?void 0:i.value)||n);return void C({viewDisable:!(null==(a=null==(o=g.getPermissionPoint(new hAe(s,l).id))?void 0:o.value)||a),editDisable:e})}let{actualRow:c,actualColumn:h}=u,m=p.getCellInfo(s,l,c,h);C({editDisable:!(null==(t=null==m?void 0:m[Di.Edit])||t),viewDisable:!(null==(r=null==m?void 0:m[Di.View])||r)})}else C({viewDisable:!1,editDisable:!1})});return()=>{e.unsubscribe()}},[E]),(0,_q.useEffect)(()=>{let e=c.visible$.subscribe(e=>{o(e.visible)});return()=>e.unsubscribe()},[c.visible$]),(0,_q.useEffect)(()=>{let e=c.currentEditCellState$.subscribe(e=>{var t;null!=e&&null!=(t=e.documentLayoutObject.documentModel)&&null!=(t=t.getBody())&&null!=(t=t.customBlocks)&&t.length?_(!0):_(!1)});return()=>e.unsubscribe()},[c.currentEditCellState$]),(0,_q.useEffect)(()=>{let e=()=>{if(!M.current)return;let e=M.current.getBoundingClientRect();u.setPosition(e)};if(M.current){e();let t=new ResizeObserver(e);return t.observe(M.current),()=>t.disconnect()}},[u]);let{viewDisable:P,editDisable:D}=b,U=D||!!k,B=U||y,V=(0,_q.useRef)(!1),F=(null==(t=null==A||null==(r=A.documentLayoutObject.documentModel)||null==(r=r.getDrawingsOrder())?void 0:r.length)?0:t)>0||P;return(0,$Z.jsxs)("div",{"data-u-comp":"formula-bar",className:x7("univer-box-border univer-flex univer-bg-white univer-transition-[height] univer-ease-linear dark:!univer-bg-gray-900",W7,n,{"univer-h-7":s===BVe.Down,"univer-h-20":s===BVe.Up,"univer-pointer-events-none":U}),children:[(0,$Z.jsx)("div",{className:"univer-relative univer-box-border univer-h-full univer-w-[100px]",children:(0,$Z.jsx)(UVe,{disable:null==i?U:i})}),(0,$Z.jsxs)("div",{className:"univer-flex univer-size-full",children:[(0,$Z.jsx)("div",{className:x7("univer-py-1.5",{"univer-cursor-not-allowed univer-text-gray-200":B}),children:(0,$Z.jsxs)("div",{className:x7("univer-relative univer-box-border univer-flex univer-h-full univer-w-20 univer-items-center univer-justify-center univer-text-xs",z7),children:[(0,$Z.jsx)("span",{className:x7("univer-flex univer-items-center univer-justify-center univer-rounded univer-p-1 univer-text-base dark:!univer-text-white",{"univer-cursor-pointer univer-text-red-600 hover:univer-bg-gray-100 dark:!univer-text-green-400 dark:hover:!univer-bg-gray-700":a}),onClick:function(){c.isVisible().visible&&v.executeCommand(sDe.id,{visible:!1,eventType:FF.Keyboard,keycode:x8.ESC,unitId:A.unitId})},children:(0,$Z.jsx)(LZ,{})}),(0,$Z.jsx)("span",{className:x7("univer-flex univer-items-center univer-justify-center univer-rounded univer-p-1 univer-text-base dark:!univer-text-white",{"univer-cursor-pointer univer-text-green-600 hover:univer-bg-gray-100 dark:!univer-text-red-400 dark:hover:!univer-bg-gray-700":a}),onClick:function(){c.isVisible().visible&&v.executeCommand(sDe.id,{visible:!1,eventType:FF.PointerDown,unitId:A.unitId})},children:(0,$Z.jsx)(XZ,{})}),(0,$Z.jsx)("span",{className:"univer-flex univer-cursor-pointer univer-items-center univer-justify-center univer-rounded univer-p-1 univer-text-base hover:univer-bg-gray-100 dark:!univer-text-white dark:hover:!univer-bg-gray-700",onClick:function(){u.handleFxBtnClick(!0)},children:(0,$Z.jsx)(AOe,{})})]})}),(0,$Z.jsxs)("div",{className:"univer-flex univer-w-full univer-flex-1 univer-overflow-hidden univer-pl-3",children:[(0,$Z.jsxs)("div",{ref:M,className:"univer-relative univer-flex-1",onPointerDown:()=>{try{if(!1===c.isVisible().visible&&!v.syncExecuteCommand(sDe.id,{visible:!0,eventType:FF.PointerDown,unitId:A.unitId}))return void(V.current=!0);T.setContextValue(If,!0)}catch(e){throw V.current=!0,e}},onPointerUp:()=>{V.current&&setTimeout(()=>{O.blur(!0)},30),V.current=!1},style:{pointerEvents:F?"none":"auto"},children:[R&&(0,$Z.jsx)(R,{className:"univer-relative univer-size-full univer-break-words univer-outline-none [&>div]:univer-ring-transparent",disableSelectionOnClick:!0,editorId:Sl,initValue:"",onChange:()=>{},isFocus:N,unitId:null==A?void 0:A.unitId,subUnitId:null==A?void 0:A.sheetId,isSupportAcrossSheet:!0,resetSelectionOnBlur:!1,isSingle:!1,keyboardEventConfig:I,onFormulaSelectingChange:(e,t)=>{S.current=e,t&&(e?c.enableForceKeepVisible():c.disableForceKeepVisible())},autoScrollbar:!1,disableContextMenu:!1}),F&&(0,$Z.jsx)("div",{className:"univer-pointer-events-none univer-relative univer-left-0 univer-top-0 univer-z-[100] univer-size-full univer-cursor-not-allowed univer-bg-white"})]}),(0,$Z.jsx)("div",{className:x7("univer-flex univer-h-full univer-w-5 univer-cursor-pointer univer-items-center univer-justify-center univer-text-xs univer-text-gray-700 dark:!univer-text-gray-200",{"univer-cursor-not-allowed univer-text-gray-200 dark:!univer-text-gray-700":U}),onClick:function(){l(s===BVe.Down?BVe.Up:BVe.Down),setTimeout(()=>{u.handleFoldBtnClick(s===BVe.Up)},150)},children:(0,$Z.jsx)(xK,{className:x7({"univer-rotate-180":s===BVe.Up})})})]})]}),(0,$Z.jsx)(Iee,{components:x},"formula-aux")]})}function FVe(e){let{children:t,className:r,style:n,disabled:i=!1,onClick:a,...o}=e;return(0,$Z.jsx)(O7,{"data-u-comp":"sheet-bar-append-button",className:r,size:"small",disabled:i,style:n,variant:"text",onClick:e=>{i?e.preventDefault():a&&a(e)},...o,children:t})}function jVe(){let[e,t]=(0,_q.useState)([]),[r,n]=(0,_q.useState)(!1),i=iK(dg),a=iK(Vc),o=iK($Pe),s=iK(aRe),l=aK(()=>i.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET),null,!1,[]),u=(0,_q.useCallback)(()=>{if(!l)return;let e=l.getSheets(),r=l.getActiveSheet();t(e.map((e,t)=>({label:e.getName(),index:`${t}`,sheetId:e.getSheetId(),hidden:e.isSheetHidden()===Vu.TRUE,selected:r===e})))},[l,s]),c=(0,_q.useCallback)(()=>a.onCommandExecuted(e=>{switch(e.id){case xTe.id:case XAe.id:case NTe.id:case Txe.id:case OTe.id:case fEe.id:u()}}),[a,u]);function d(){n(!0)}return(0,_q.useEffect)(()=>{u();let e=new eu;return e.add(c()),e.add(o.registerSheetBarMenuHandler({handleSheetBarMenu:d})),()=>e.dispose()},[c,o,u,l]),(0,$Z.jsx)(H9,{className:"univer-max-w-lg",align:"start",items:(0,_q.useMemo)(()=>e.map(e=>({type:"item",children:(0,$Z.jsxs)("div",{className:"univer-relative univer-box-border univer-overflow-hidden univer-truncate univer-pl-6",children:[(e.selected||e.hidden)&&(0,$Z.jsxs)("span",{className:"univer-absolute univer-left-1 univer-top-0.5",children:[e.selected&&(0,$Z.jsx)(XZ,{className:"univer-size-4 univer-text-primary-600"}),e.hidden&&(0,$Z.jsx)(ROe,{className:"univer-size-4 univer-text-gray-400"})]}),(0,$Z.jsx)("span",{className:x7({"univer-text-primary-600":e.selected}),children:e.label})]}),onSelect:()=>{(e=>{let{sheetId:t}=e;!t||!l||(e.hidden?a.executeCommand($Te.id,{unitId:l.getUnitId(),subUnitId:t,value:t}):e.selected||a.executeCommand(_Te.id,{unitId:l.getUnitId(),subUnitId:t}),n(!1))})(e)}})),[e]),open:r,onOpenChange:e=>{n(e)},children:(0,$Z.jsx)("div",{children:(0,$Z.jsx)(FVe,{children:(0,$Z.jsx)(TOe,{})})})})}function HVe(e){let{sheetId:t,label:r,color:n,selected:i,className:a,onKeyDown:o,tabIndex:s}=e,l=iK(Lg),u=!!i,c=n?(e=>{let t=l.getColorFromTheme("gray.900"),r=l.getColorFromTheme("white");return new $c(e).isDark()?r:t})(n):"";return(0,$Z.jsx)("div",{"data-u-comp":"slide-tab-item","data-id":t,role:"tab","aria-selected":u,tabIndex:null==s?u?0:-1:s,onKeyDown:o,className:x7("univer-mx-1 univer-box-border univer-flex univer-flex-grow univer-cursor-pointer univer-select-none univer-flex-row univer-items-center univer-rounded univer-text-xs univer-transition-[colors,box-shadow] focus-visible:univer-ring-2 focus-visible:univer-ring-primary-500",{"dark:!univer-text-white":!n||n&&!c,"univer-justify-center univer-bg-white univer-font-bold univer-text-primary-700 univer-shadow":u,"dark:!univer-bg-gray-700":u&&!n,"univer-font-medium univer-text-gray-900 hover:univer-bg-gray-100":!u,"dark:hover:!univer-bg-gray-700":!u&&!n},a),style:{backgroundColor:!u&&n?n:"",color:!u&&n?c:"",boxShadow:u&&n?`0px 0px 8px rgba(0, 0, 0, 0.08), inset 0px -2px 0px 0px ${n}`:""},children:(0,$Z.jsx)("div",{className:"univer-box-border univer-flex univer-max-w-lg univer-items-center univer-gap-1 univer-overflow-hidden univer-whitespace-nowrap univer-rounded univer-border-2 univer-border-solid univer-border-transparent univer-px-1.5 univer-py-1",children:r})},t)}function WVe(e){let{children:t,anchorRect:r,showContextMenu:n,visible:i,onCommandSelect:a,onVisibleChange:o}=e,s=(0,_q.useRef)(`sheetbar-tabs-context-menu-${cu(6)}`);return n?(0,$Z.jsxs)($Z.Fragment,{children:[t,(0,$Z.jsx)(tte,{hostId:s.current,visible:i,anchorRect:r,menuType:tee.FOOTER_TABS,anchorVertical:"top",menuOffset:6,onRequestClose:()=>o(!1),onOptionSelect:e=>{var t;let{label:r,id:n,commandId:i,value:o}=e;a(null==(t=null==i?n:i)?r:t,o)}})]}):t}const zVe={easeOutStrong:(e,t,r,n)=>-r*((e=e/n-1)*e*e*e-1)+t,backOut:(e,t,r,n,i)=>(void 0===i&&(i=.7),r*((e=e/n-1)*e*((i+1)*e+i)+1)+t)},XVe={loop:!1,begin:0,end:0,duration:300,delay:0,type:"easeOutStrong",receive(e){},success(e){},cancel(e){},complete(e){}};let qVe=function(e){return e[e.Request=0]="Request",e[e.Cancel=1]="Cancel",e}({});var GVe=class{constructor(e){nLe(this,"_config",void 0),nLe(this,"_status",qVe.Request),nLe(this,"_start",0),nLe(this,"_handle",0),nLe(this,"_delayHandle",null),this._config={...XVe,...e},this._config.loop&&(this._config.complete=()=>{},this._config.success=()=>{this.request()})}static success(...e){let t=0;return new Promise(r=>{for(let n=0;n{t++,o&&o.call(i,n),t===e.length&&r()})}})}request(){0===this._config.delay?(this._status=qVe.Request,this._start=Date.now(),this._fakeHandle()):(this._delayHandle&&clearTimeout(this._delayHandle),this._delayHandle=setTimeout(()=>{this._status=qVe.Request,this._start=Date.now(),this._fakeHandle()},this._config.delay))}cancel(){this._status=qVe.Cancel,this._delayHandle&&clearTimeout(this._delayHandle),cancelAnimationFrame(this._handle)}_fakeHandle(){let e=Date.now()-this._start;e=e>=this._config.duration?this._config.duration:e;let t=zVe[this._config.type](e,this._config.begin,this._config.end-this._config.begin,this._config.duration,.7).toFixed(2);return this._config.receive(t),this._status===qVe.Cancel?(this._config.cancel(t),void this._config.complete(t)):e===this._config.duration?(this._config.success(t),void this._config.complete(t)):void(this._handle=requestAnimationFrame(()=>{this._fakeHandle()}))}},YVe=class e{constructor(e,t){nLe(this,"_slideTabItem",void 0),nLe(this,"_animate",void 0),nLe(this,"_midline",0),nLe(this,"_translateX",void 0),nLe(this,"_scrollbar",void 0),nLe(this,"_slideTabBar",void 0),nLe(this,"_editMode",void 0),nLe(this,"_placeholder",void 0),this._slideTabItem=e,this._animate=null,this._translateX=0,this._editMode=!1,this._slideTabBar=t,this._placeholder=null,this._scrollbar=t.getScrollbar(),this.update()}static midline(e){return e.getBoundingRect().x+e.getBoundingRect().width/2}static leftLine(e){return e.getBoundingRect().x}static rightLine(e){return e.getBoundingRect().x+e.getBoundingRect().width}static make(t,r){let n=[];return t.forEach(t=>n.push(new e(t,r))),n}getSlideTabItem(){return this._slideTabItem}getEditor(){return this._slideTabItem.querySelector("span")}focus(){var e;null==(e=this.getEditor())||e.focus()}selectAll(){let e=this.getEditor();e&&ZVe.keepSelectAll(e)}isEditMode(){return this._editMode}classList(){return this._slideTabItem.classList}translateX(e){return this._translateX=e,this._slideTabItem.style.transform=`translateX(${e}px)`,this.getTranslateXDirection()}setEditor(e){if(!this._slideTabBar.getConfig().onNameChangeCheck())return;let t=!0;if(!1===this._editMode){let r=this._slideTabItem.querySelector("span"),n=e=>{var t;e.preventDefault();let r=null==(t=e.clipboardData)?void 0:t.getData("text/plain");if(r){let e=r.replace(/\s/g,"");document.execCommand("insertText",!1,e)}},i=t=>{if(!this.nameCheck()){if(this._editMode=!1,r&&(r.removeAttribute("contentEditable"),r.removeEventListener("focusout",i),r.removeEventListener("compositionstart",o),r.removeEventListener("compositionend",s),r.removeEventListener("input",l),r.removeEventListener("keydown",a),r.removeEventListener("paste",n)),this._slideTabBar.removeListener(),this._slideTabBar.updateItems(),this._slideTabBar.getConfig().onChangeName){let e=(null==r?void 0:r.innerText)||"",t=this.getId();this._slideTabBar.getConfig().onChangeName(t,e)}e&&e(t)}},a=e=>{r&&(e.stopPropagation(),"Enter"===e.key&&(r.blur(),e.preventDefault()))},o=()=>{t=!1},s=()=>{t=!0},l=e=>{r&&setTimeout(()=>{if(t){let e=r.innerText;e.length>31&&(r.innerText=e.substring(0,31),ZVe.keepLastIndex(r))}},0)};r&&(r.setAttribute("contentEditable","true"),r.addEventListener("focusout",i),r.addEventListener("compositionstart",o),r.addEventListener("compositionend",s),r.addEventListener("input",l),r.addEventListener("keydown",a),r.addEventListener("paste",n),this._editMode=!0,ZVe.keepSelectAll(r))}}nameCheck(){let e=this._slideTabItem.querySelector("span");if(!e)return!1;let t=e.innerText;return this._slideTabBar.getConfig().onNameCheckAlert(t)}animate(){return{translateX:e=>{this._translateX!==e&&(this._animate&&(this._animate.cancel(),this._animate=null),this._animate=new GVe({begin:this._translateX,end:e,receive:e=>{this._slideTabItem.style.transform=`translateX(${e}px)`}}),this._translateX=e,this._animate.request())},cancel:()=>{this._animate&&(this._animate.cancel(),this._animate=null)}}}after(e){this._slideTabItem.after(e._slideTabItem||e)}update(){this._midline=e.midline(this)}disableFixed(){if(this._placeholder){let e=this._slideTabBar.primeval();this._slideTabItem.style.removeProperty("position"),this._slideTabItem.style.removeProperty("left"),this._slideTabItem.style.removeProperty("top"),this._slideTabItem.style.removeProperty("width"),this._slideTabItem.style.removeProperty("height"),this._slideTabItem.style.removeProperty("background"),this._slideTabItem.style.removeProperty("padding"),this._slideTabItem.style.removeProperty("box-sizing"),this._slideTabItem.style.removeProperty("font-size"),this._slideTabItem.style.removeProperty("font-family"),this._slideTabItem.style.removeProperty("font-weight"),this._slideTabItem.style.removeProperty("color"),this._slideTabItem.style.removeProperty("border-radius"),this._placeholder.after(this._slideTabItem),e.removeChild(this._placeholder),this._placeholder=null}}enableFixed(){let e=document.createElement("div"),t=this.getBoundingRect(),r=getComputedStyle(this._slideTabItem),n=this._slideTabItem.querySelector("span");if(this._placeholder=e,this._placeholder.style.width=`${t.width}px`,this._placeholder.style.height=`${t.height}px`,this._placeholder.style.flexShrink="0",this._placeholder.style.margin=r.margin,this._slideTabItem.style.background=r.background,n){let e=getComputedStyle(n).padding;this._slideTabItem.style.padding=e}this._slideTabItem.style.boxSizing=r.boxSizing,this._slideTabItem.style.fontSize=r.fontSize,this._slideTabItem.style.fontFamily=r.fontFamily,this._slideTabItem.style.fontWeight=r.fontWeight,this._slideTabItem.style.color=r.color,this._slideTabItem.style.borderRadius=r.borderRadius,this._slideTabItem.style.left=t.x-this.getScrollbar().getScrollX()+"px",this._slideTabItem.style.top=`${t.y}px`,this._slideTabItem.style.width=`${t.width}px`,this._slideTabItem.style.height=`${t.height}px`,this._slideTabItem.style.position="fixed",this._slideTabItem.after(e),document.body.appendChild(this._slideTabItem)}addEventListener(e,t,r){this._slideTabItem.addEventListener(e,t,r)}removeEventListener(e,t,r){this._slideTabItem.removeEventListener(e,t,r)}getScrollbar(){return this._scrollbar}getMidLine(){return this._midline}getBoundingRect(){let e=this._slideTabItem.getBoundingClientRect();return e.x+=this._scrollbar.getScrollX(),e}getWidth(){return this.getBoundingRect().width}getTranslateXDirection(){let t=e.midline(this);return t>this._midline?1:t{var o,s,l;if(null!=(o=this._activeTabItem)&&o.isEditMode())return;this._longPressTimer&&(clearTimeout(this._longPressTimer),this._longPressTimer=null);let u=null==(s=r.target)||null==(s=s.closest(`${t.slideTabBarItemSelector}`))?void 0:s.getAttribute("data-id"),c=this._slideTabItems.findIndex(e=>e.getId()===u);if(null==u||-1===c)return;var d,h;if(this._activeTabItemIndex!==c)return null==(d=this._activeTabItem)||d.removeEventListener("pointermove",this._moveAction),null==(h=this._activeTabItem)||h.removeEventListener("pointerup",this._upAction),this.removeListener(),void this._config.onChangeTab(r,u);if(this._compareIndex=c,this._downActionX=r.pageX,this._moveActionX=0,this._scrollIncremental=0,this._activeTabItem=this._slideTabItems[c],!this._activeTabItem)return void console.error("Not found active slide-tab-item in sheet bar");let m=this._activeTabItem.getSlideTabItem();null==m||m.setPointerCapture(r.pointerId),null==(l=this._activeTabItem)||l.addEventListener("pointerup",this._upAction);let{x:f,width:g}=this._activeTabItem.getBoundingRect(),{x:p,width:v}=this.getBoundingRect(),b=this._slideScrollbar.getScrollX();if(this._leftBoundingLine=this._downActionX-(f-b),this._rightBoundingLine=f-b+g-this._downActionX,this._leftMoveX=f-p-b,this._rightMoveX=p+v-(f+g)+b,2===r.button||this._hasEditItem())return;let{pageX:C,pageY:y}=r,_=Date.now(),w=_-a<=e.DoubleClickDelay,E=Math.abs(C-n)<10,S=Math.abs(y-i)<10;w&&E&&S&&this._activeTabItem.setEditor(),n=C,i=y,a=_,this._longPressTimer=setTimeout(()=>{var e,t,n;!m||null!=(e=this._activeTabItem)&&e.isEditMode()||(null==(t=this._activeTabItem)||t.enableFixed(),this._startAutoScroll(),m.setPointerCapture(r.pointerId),m.style.cursor="move",null==(n=this._activeTabItem)||n.addEventListener("pointermove",this._moveAction))},e.LongPressDelay)},this._upAction=e=>{var t,r,n,i;if(null!=(t=this._activeTabItem)&&t.isEditMode()||(this._longPressTimer&&(clearTimeout(this._longPressTimer),this._longPressTimer=null),!this._activeTabItem))return;let a=null!==this._autoScrollTime;this._closeAutoScroll(),this._activeTabItem.disableFixed(),this.updateItems();let o=null==(r=this._activeTabItem)?void 0:r.getSlideTabItem();o&&(o.style.cursor="",o.releasePointerCapture(e.pointerId),null==(n=this._activeTabItem)||n.removeEventListener("pointermove",this._moveAction),null==(i=this._activeTabItem)||i.removeEventListener("pointerup",this._upAction),this._config.onSlideEnd&&this._activeTabItemIndex!==this._compareIndex&&a&&(this.removeListener(),this._config.onSlideEnd(e,this._compareIndex||0)),this._scrollIncremental=0,this._downActionX=0,this._moveActionX=0,this._compareIndex=0)},this._moveAction=e=>{this._activeTabItem&&(this._moveActionX=e.pageX-this._downActionX,this._moveActionX<=-this._leftMoveX?this._moveActionX=-this._leftMoveX:this._moveActionX>=this._rightMoveX&&(this._moveActionX=this._rightMoveX),this._scrollIncremental=0,this._scrollLeft(e),this._scrollRight(e))},this._wheelAction=e=>{this.setScroll(e.deltaY)},this.addListener()}static checkedSkipSlide(e){let t=e.target;for(;null!=t&&t!==document.body;){if(t.getAttribute("data-slide-skip"))return!0;t=t.parentElement}return!1}static keepLastIndex(e){setTimeout(()=>{let t=window.getSelection();t&&(t.selectAllChildren(e),t.collapseToEnd())})}static keepSelectAll(e){setTimeout(()=>{let t=window.getSelection();if(!t)return;let r=document.createRange();r.selectNodeContents(e),t.removeAllRanges(),t.addRange(r)})}update(e){this._config.currentIndex=e,this._initConfig(),this.removeListener(),this.addListener(),this.scrollToItem(e)}primeval(){return this._slideTabBar}updateItems(){for(let e=0;e{e.addEventListener("pointerdown",this._downAction)})}removeListener(){this._slideTabBar.removeEventListener("wheel",this._wheelAction),this._slideTabItems.forEach(e=>{e.removeEventListener("pointerdown",this._downAction)})}setScroll(e){if(this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+e),e>0){let e=this.calculateLeftScrollX();this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+e)}else if(e<0){let e=this.calculateRightScrollX();this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+e)}this._config.onScroll({leftEnd:this.isLeftEnd(),rightEnd:this.isRightEnd()})}flipPage(e){if(e>0){let e=this.calculateLeftScrollX(!0);this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+e)}else if(e<0){let e=this.calculateRightScrollX(!0);this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+e)}this._config.onScroll({leftEnd:this.isLeftEnd(),rightEnd:this.isRightEnd()})}scrollToItem(e){var t;if((e=null==(t=e)?this._config.currentIndex:t)<0||e>=this._slideTabItems.length)return void console.error("Index out of bounds");let r=this.calculateTabItemScrollX(e);this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+r),this._config.onScroll({leftEnd:this.isLeftEnd(),rightEnd:this.isRightEnd()})}calculateLeftScrollX(e){let t=0;return this._slideTabItems.some(r=>{let n=this._slideTabBar.getBoundingClientRect(),i=n.left+n.width,a=r.getSlideTabItem().getBoundingClientRect(),o=a.left,s=a.width;return oi&&(t=e?o-n.left-4:o+s-i+4,!0)}),t}calculateRightScrollX(e){let t=0;return this._slideTabItems.some(r=>{let n=this._slideTabBar.getBoundingClientRect(),i=n.left,a=r.getSlideTabItem().getBoundingClientRect(),o=a.left,s=a.width;return o-8i&&(t=e?o+s-n.left-n.width+4:o-i-4,!0)}),t}calculateTabItemScrollX(e){let t=0,r=this._slideTabBar.getBoundingClientRect(),n=r.left,i=r.left+r.width,a=this._slideTabItems[e].getSlideTabItem().getBoundingClientRect(),o=a.left,s=a.width;return o-8i&&(t=o+s-i+4),t}calculateActiveTabItemScrollX(){var e;let t=0,r=this._slideTabBar.getBoundingClientRect(),n=r.left,i=r.left+r.width,a=null==(e=this._activeTabItem)?void 0:e.getSlideTabItem().getBoundingClientRect();if(!a)return 0;let o=a.left,s=a.width;return o-8n&&(t=o-n-4),oi&&(t=o+s-i+4),t}destroy(){this.removeListener(),this._downActionX=0,this._moveActionX=0,this._compareDirection=0,this._compareIndex=0,this._slideTabItems=[],this._activeTabItem=null}_hasEditItem(){for(let e=0;e{this._autoScrollFrame()})}_startAutoScroll(){null==this._autoScrollTime&&this._autoScrollFrame()}_closeAutoScroll(){this._autoScrollTime&&cancelAnimationFrame(this._autoScrollTime),this._autoScrollTime=null}_scrollLeft(e){let t=this.getBoundingRect(),r=e.pageX-t.x;rt.width-this._rightBoundingLine&&(this._scrollIncremental=Math.min(.1*Math.abs(r-(t.width-this._rightBoundingLine)),50))}_sortedItems(){if(null!=this._activeTabItem&&null!=this._activeTabItemIndex&&null!=this._compareIndex&&(this._slideTabItems.splice(this._activeTabItemIndex,1),this._slideTabItems.splice(this._compareIndex,0,this._activeTabItem),this._config.slideTabBarItemAutoSort))for(let e=0;ee.equals(this._activeTabItem)),t=this._slideTabItems.length,r=[];for(let t=0;t=e);t++)r.push(this._slideTabItems[t]);for(let r=e+1;r=0;e--){let t=r[e];YVe.leftLine(this._activeTabItem)e.equals(this._activeTabItem)),t=this._slideTabItems.length,r=[];for(let n=e+1;ni.getMidLine()?(i.animate().translateX(-this._activeTabItem.getWidth()),this._compareIndex=e+t+1,n=!1):(i.animate().translateX(0),n&&(this._compareIndex=this._activeTabItemIndex))}}}_initConfig(){let e=this._slideTabBar.querySelectorAll(`${this._config.slideTabBarItemSelector}`);this._downActionX=0,this._moveActionX=0,this._compareDirection=0,this._compareIndex=0,this._slideTabItems=YVe.make(e,this),this._activeTabItemIndex=this._config.currentIndex,this._activeTabItem=this._slideTabItems[this._activeTabItemIndex]}};function KVe(){var e;let[t,r]=(0,_q.useState)([]),[n,i]=(0,_q.useState)(""),[a,o]=(0,_q.useState)(""),[s,l]=(0,_q.useState)(!1),[u,c]=(0,_q.useState)(null),d=(0,_q.useRef)(null),h=(0,_q.useRef)(null),m=iK(Vc),f=iK($Pe),g=iK(Cg),p=iK(bf),v=iK(GPe,R.OPTIONAL),b=iK(aRe),C=iK(ZEe),y=iK(Eg),_=bDe(),w=aK(b.resetOrder$),E=e8(n8),S=null==(e=null==E?void 0:E.contextMenu)||e,A=(0,_q.useCallback)(()=>{var e;let t=null==(e=d.current)||null==(e=e.getActiveItem())?void 0:e.getSlideTabItem().getBoundingClientRect();return t?{left:t.left,top:t.top,bottom:t.bottom}:null},[]),I=(0,_q.useCallback)(()=>{setTimeout(()=>{var e;let t=null==(e=d.current)?void 0:e.getActiveItem();t&&(t.focus(),t.selectAll())},0)},[]),x=(0,_q.useCallback)((e,t)=>{p.open({id:e,title:{title:g.t("sheetConfig.sheetNameErrorTitle")},children:{title:t},cancelText:g.t("button.cancel"),confirmText:g.t("button.confirm"),onClose(){I(),p.close(e)},onConfirm(){I(),p.close(e)}})},[p,I,g]),T=(0,_q.useCallback)(e=>""===e.trim()&&(x("sheetNameEmptyAlert",g.t("sheetConfig.sheetNameCannotIsEmptyError")),!0),[g,x]),N=(0,_q.useCallback)(e=>!function(e){return!(0===e.length||e.length>31||e.startsWith("'")||e.endsWith("'")||/[:\\\/\?\*\[\]]/.test(e))}(e)&&(x("sheetNameSpecCharAlert",g.t("sheetConfig.sheetNameSpecCharError")),!0),[g,x]),M=(0,_q.useCallback)(e=>{var t;if((null==(t=_.getActiveSheet())?void 0:t.getName())===e||!_.checkSheetName(e))return!1;let r="sheetNameRepeatAlert";return p.open({id:r,title:{title:g.t("sheetConfig.sheetNameErrorTitle")},children:{title:g.t("sheetConfig.sheetNameAlreadyExistsError")},cancelText:g.t("button.cancel"),confirmText:g.t("button.confirm"),onClose(){p.close(r),I()},onConfirm(){p.close(r),I()}}),!0},[p,I,g,_]),O=(0,_q.useCallback)(()=>{var e,t;let r=_.getUnitId(),n=_.getActiveSheet();if(!n)return!1;let i=n.getSheetId(),a=b.getRule(r,i),o=C.getSubunitRuleList(r,i).length>0;var s,l;return a||o?null!=(s=null==(l=y.getPermissionPoint(new jSe(r).id))?void 0:l.value)&&s:null!=(e=null==(t=y.getPermissionPoint(new XSe(r).id))?void 0:t.value)&&e},[y,C,_,b]),L=(0,_q.useCallback)(()=>{var e;let t=_.getActiveSheet(),n=null==(e=null==t?void 0:t.getSheetId())?"":e;r(_.getSheets().filter(e=>!e.isSheetHidden()).map((e,r)=>{var n;let i=b.getRule(_.getUnitId(),e.getSheetId()),a=C.getSubunitRuleList(_.getUnitId(),e.getSheetId()).length>0,o=!!(null!=i&&i.permissionId||a);return{sheetId:e.getSheetId(),label:o?(0,$Z.jsxs)($Z.Fragment,{children:[(0,$Z.jsx)(MOe,{className:"univer-shrink-0"}),(0,$Z.jsx)("span",{className:"univer-truncate univer-outline-none",children:e.getName()})]}):(0,$Z.jsx)("span",{className:"univer-truncate univer-outline-none",children:e.getName()}),index:r,selected:t===e,color:null==(n=e.getTabColor())?void 0:n}})),i(n)},[C,_,b]),k=(0,_q.useCallback)(()=>{var e;null==(e=d.current)||null==(e=e.getActiveItem())||e.setEditor()},[]),P=(0,_q.useCallback)(e=>{o(function(e){let{leftEnd:t,rightEnd:r}=e;return t&&r?"":t?"inset -10px 0px 10px -10px rgba(0, 0, 0, 0.2)":r?"inset 10px 0px 10px -10px rgba(0, 0, 0, 0.2)":"inset 10px 0px 10px -10px rgba(0, 0, 0, 0.2), inset -10px 0px 10px -10px rgba(0, 0, 0, 0.2)"}(e))},[]),D=(0,_q.useCallback)(e=>{let t=e.calculateActiveTabItemScrollX();if(t){let r=e.getScrollbar();r.scrollX(r.getScrollX()+t)}f.setScroll({leftEnd:e.isLeftEnd(),rightEnd:e.isRightEnd()})},[f]),U=(0,_q.useCallback)(e=>{var t;let r=null==(t=h.current)?void 0:t.querySelector("[data-u-comp=slide-tab-bar]");if(!r)return;let n=new ResizeObserver(()=>{D(e)});return n.observe(r),()=>n.disconnect()},[D]),B=(0,_q.useCallback)(e=>{S&&(null!=v&&v.isForceKeepVisible()||(c(e),l(!0)))},[v,S]),V=(0,_q.useCallback)(e=>{if(!e)return void l(!1);let t=A();t&&B(t)},[A,B]),F=(0,_q.useCallback)((e,t)=>{m.executeCommand(e,{value:t,subUnitId:n}),l(!1)},[n,m]);(0,_q.useEffect)(()=>{if(!s)return;let e=()=>{let e=A();e&&c(e)};return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}},[s,A]);let j=(0,_q.useCallback)(e=>{e.preventDefault();let t=e.target.closest("[data-u-comp=slide-tab-item]"),r=null==t?void 0:t.dataset.id;if(!r||!t)return;let i=t.getBoundingClientRect(),a={left:i.left,top:i.top,bottom:i.bottom};r!==n?m.executeCommand(fEe.id,{unitId:_.getUnitId(),subUnitId:r}).finally(()=>{B(a)}):B(a)},[n,m,B,_]),H=(0,_q.useCallback)(e=>{var t,r;let n=e.target;if(n.closest("[contenteditable=true]"))return;let i=n.closest("[data-u-comp=slide-tab-item]"),a=null==i?void 0:i.dataset.id;if(!a)return;if("Enter"===e.key||" "===e.key)return e.preventDefault(),void m.executeCommand(fEe.id,{unitId:_.getUnitId(),subUnitId:a});if("ArrowLeft"!==e.key&&"ArrowRight"!==e.key)return;let o=Array.from(null==(t=null==(r=h.current)?void 0:r.querySelectorAll("[data-u-comp=slide-tab-item]"))?[]:t),s=o.findIndex(e=>e.dataset.id===a);if(s<0)return;e.preventDefault();let l=o["ArrowRight"===e.key?Math.min(o.length-1,s+1):Math.max(0,s-1)],u=null==l?void 0:l.dataset.id;!l||!u||(l.focus(),m.executeCommand(fEe.id,{unitId:_.getUnitId(),subUnitId:u}))},[m,_]),W=(0,_q.useCallback)(()=>{let e=new ZVe({slideTabBarSelector:"[data-u-comp=slide-tab-bar]",slideTabBarItemSelector:"[data-u-comp=slide-tab-item]",slideTabBarItemAutoSort:!0,slideTabBarContainer:h.current,currentIndex:0,onChangeName:(e,t)=>{var r;(null==(r=_.getSheetBySheetId(e))?void 0:r.getName())!==t?m.executeCommand(MTe.id,{subUnitId:e,name:t}):L()},onSlideEnd:async(e,t)=>{await m.executeCommand(LTe.id,{order:t})},onChangeTab:(e,t)=>{m.executeCommand(fEe.id,{subUnitId:t,unitId:_.getUnitId()})},onScroll:e=>{f.setScroll(e)},onNameCheckAlert:e=>T(e)||N(e)||M(e),onNameChangeCheck:O});return d.current=e,{slideTabBar:e,disconnectResizeObserver:U(e)}},[O,m,A,T,M,U,B,f,N,L,_]);return(0,_q.useEffect)(()=>{L();let{slideTabBar:e,disconnectResizeObserver:t}=W(),r=m.onCommandExecuted(e=>{(function(e){switch(e.id){case vTe.id:case xTe.id:case XAe.id:case NTe.id:case Txe.id:case OTe.id:case fEe.id:return!0;default:return!1}})(e)&&L()}),n=f.scroll$.subscribe(P),i=f.scrollX$.subscribe(e=>{var t;null==(t=d.current)||t.flipPage(e)}),a=f.renameId$.subscribe(()=>{k()});return()=>{r.dispose(),e.destroy(),d.current=null,n.unsubscribe(),i.unsubscribe(),a.unsubscribe(),null==t||t()}},[m,W,w,k,f,P,L,_]),(0,_q.useEffect)(()=>{var e;if(!t.length)return;let r=t.findIndex(e=>e.sheetId===n);null==(e=d.current)||e.update(r>=0?r:0)},[n,t]),(0,_q.useEffect)(()=>{let e=Ei(b.ruleChange$,C.ruleChange$).subscribe(()=>{L()});return()=>{e.unsubscribe()}},[C,L,b]),(0,_q.useEffect)(()=>{!S&&s&&l(!1)},[s,S]),(0,$Z.jsx)(WVe,{showContextMenu:S,visible:s,anchorRect:u,onVisibleChange:V,onCommandSelect:F,children:(0,$Z.jsx)("div",{className:"univer-max-w-[calc(100%-112px)] univer-overflow-hidden",ref:h,onDragStart:e=>e.preventDefault(),onContextMenu:j,children:(0,$Z.jsx)("div",{"data-u-comp":"slide-tab-bar",role:"tablist","aria-label":"Sheet tabs",onKeyDown:H,className:"univer-flex univer-select-none univer-flex-row univer-items-center univer-overflow-hidden univer-px-1.5 univer-py-1",style:{boxShadow:a},children:t.map(e=>(0,$Z.jsx)(HVe,{...e,selected:n===e.sheetId},e.sheetId))})})})}nLe(ZVe,"LongPressDelay",500),nLe(ZVe,"DoubleClickDelay",300);const $Ve=()=>{var e,t;let[r,n]=(0,_q.useState)(!0),[i,a]=(0,_q.useState)(!0),o=iK(Vc),s=iK($Pe),l=iK(Eg),u=bDe().getUnitId(),c=aK(l.getPermissionPoint$(null==(e=new PSe(u))?void 0:e.id)),d=aK(l.getPermissionPoint$(null==(t=new NSe(u))?void 0:t.id));return(0,_q.useEffect)(()=>{let e=s.scroll$.subscribe(Dl(e=>{(e=>{let{leftEnd:t,rightEnd:r}=e;n(t),a(r)})(e)},100));return()=>{e.unsubscribe()}},[]),(0,$Z.jsxs)("div",{className:"univer-relative univer-flex univer-h-full univer-min-w-0 univer-flex-1",children:[(0,$Z.jsxs)("div",{className:"univer-flex univer-items-center",children:[(0,$Z.jsx)(FVe,{className:"univer-mr-2",onClick:()=>{o.executeCommand(Dxe.id),setTimeout(()=>{s.setAddSheet(0)},0)},disabled:!(null!=d&&d.value&&null!=c&&c.value),children:(0,$Z.jsx)(EY,{})}),(0,$Z.jsx)(jVe,{})]}),(0,$Z.jsx)(KVe,{}),(!r||!i)&&(0,$Z.jsxs)("div",{className:'univer-relative univer-flex univer-items-center univer-px-2 after:univer-absolute after:univer-right-0 after:univer-top-1/2 after:univer-h-4 after:univer-w-px after:-univer-translate-y-1/2 after:univer-bg-gray-200 after:univer-content-[""]',children:[(0,$Z.jsx)(FVe,{disabled:r,onClick:()=>{s.setScrollX(-100)},children:(0,$Z.jsx)(GZ,{className:"univer-rotate-180"})}),(0,$Z.jsx)(FVe,{disabled:i,onClick:()=>{s.setScrollX(100)},children:(0,$Z.jsx)(GZ,{})})]})]})},JVe=[50,75,100,125,150,175,200,400];function eFe(){let e=iK(Vc),t=iK(dg),r=bDe(),n=aK(iK(GPe).visible$),i=(0,_q.useCallback)(()=>{if(!r)return 100;let e=r.getActiveSheet(),t=e&&100*e.getZoomRatio()||100;return Math.round(t)},[r]),[a,o]=(0,_q.useState)(()=>i());return(0,_q.useEffect)(()=>(o(i()),e.onCommandExecuted(e=>{(e.id===QPe.id||e.id===fEe.id)&&o(i())}).dispose),[e,i]),(0,$Z.jsx)(t8,{disabled:(null==n?void 0:n.visible)&&(n.unitId===(null==r?void 0:r.getUnitId())||n.unitId===Sl),min:$Oe[0],value:a,shortcuts:JVe,onChange:function(r){o(r);let n=t.getCurrentUnitForType(Pi.UNIVER_SHEET),i=null==n?void 0:n.getActiveSheet();if(null==i)return;let a=r/100;e.executeCommand(KPe.id,{unitId:n.getUnitId(),subUnitId:i.getSheetId(),zoomRatio:a})}})}function tFe(){return(0,$Z.jsx)("section",{className:"univer-flex univer-flex-shrink-0 univer-justify-end",children:(0,$Z.jsx)(eFe,{})})}var rFe=class{constructor(){nLe(this,"_functions",[{func:ype.MAX,filter:e=>{var t,r,n,i;return(null==(t=null==(r=e.values.find(e=>e.func===ype.COUNTA))?void 0:r.value)?0:t)>1&&(null==(n=null==(i=e.values.find(e=>e.func===ype.COUNT))?void 0:i.value)?0:n)>0}},{func:ype.MIN,filter:e=>{var t,r,n,i;return(null==(t=null==(r=e.values.find(e=>e.func===ype.COUNTA))?void 0:r.value)?0:t)>1&&(null==(n=null==(i=e.values.find(e=>e.func===ype.COUNT))?void 0:i.value)?0:n)>0}},{func:Cpe.SUM,filter:e=>{var t,r,n,i;return(null==(t=null==(r=e.values.find(e=>e.func===ype.COUNTA))?void 0:r.value)?0:t)>1&&(null==(n=null==(i=e.values.find(e=>e.func===ype.COUNT))?void 0:i.value)?0:n)>0}},{func:ype.COUNTA,filter:e=>{var t,r;return(null==(t=null==(r=e.values.find(e=>e.func===ype.COUNTA))?void 0:r.value)?0:t)>1}},{func:ype.COUNT,filter:e=>{var t,r,n,i;return(null==(t=null==(r=e.values.find(e=>e.func===ype.COUNTA))?void 0:r.value)?0:t)>1&&(null==(n=null==(i=e.values.find(e=>e.func===ype.COUNT))?void 0:i.value)?0:n)>0}},{func:ype.AVERAGE,filter:e=>{var t,r,n,i;return(null==(t=null==(r=e.values.find(e=>e.func===ype.COUNTA))?void 0:r.value)?0:t)>1&&(null==(n=null==(i=e.values.find(e=>e.func===ype.COUNT))?void 0:i.value)?0:n)>0}}]),nLe(this,"_state$",new Qn(null)),nLe(this,"state$",this._state$.asObservable())}dispose(){this._state$.complete()}setState(e){var t;let r={values:[],pattern:null};null==e||e.values.forEach(t=>{let n=this._functions.find(e=>e.func===t.func);n&&(void 0===n.filter||n.filter(e))&&r.values.push(t)}),r.pattern=null==(t=null==e?void 0:e.pattern)?null:t,this._state$.next(r)}getState(){return this._state$.getValue()}getFunctions(){return this._functions}addFunctions(e){this._functions.push(...e)}};const nFe=V("univer.sheet-status-bar.service"),iFe=[Cpe.SUM,ype.AVERAGE,ype.MIN,ype.MAX],aFe={[Cpe.SUM]:"statusbar.sum",[ype.AVERAGE]:"statusbar.average",[ype.MIN]:"statusbar.min",[ype.MAX]:"statusbar.max",[ype.COUNT]:"statusbar.count",[ype.COUNTA]:"statusbar.countA",[_pe.CONCATENATE]:"concatenate"},oFe=e=>{let t=iK(Cg),r=iK(C8),n=iK(qte),i=function(e){let{pattern:t,value:r}=e;return"number"==typeof r?r>=1e8?r.toExponential(2):t&&iFe.includes(e.name)?gs(t,r,{throws:!1}):r.toLocaleString():0}(e);return(0,$Z.jsx)(J9,{title:t.t("statusbar.clickToCopy"),placement:"top",children:(0,$Z.jsx)("div",{className:"univer-flex univer-cursor-pointer univer-truncate univer-text-center univer-text-xs univer-text-gray-400",onClick:async()=>{await n.writeText(e.value.toString()),r.show({type:o5.Success,content:t.t("statusbar.copied")})},children:(0,$Z.jsx)("span",{children:`${t.t((null==aFe?void 0:aFe[e.name])||e.name)}: ${i}`})},e.name)})},sFe=()=>{var e,t;let r=null==(e=null==(t=e8("sheets-ui.config"))?void 0:t.statusBarStatistic)||e,[n,i]=(0,_q.useState)(window.innerWidth<800),a=iK(nFe),{showList:o,show:s}=((e,t,r,n)=>{let[i,a]=(0,_q.useState)(e),[o,s]=(0,_q.useState)(!0),l=(0,_q.useMemo)(()=>i.filter(e=>e.show&&!e.disable),[i]),u=(0,_q.useMemo)(()=>l.find(e=>e.show&&!e.disable),[l]),c=(0,_q.useMemo)(()=>r&&u?[u]:l,[r,u,l]),d=(0,_q.useCallback)(e=>{let t=null==e?void 0:e.values;null!=t&&t.length?(s(!0),a(r=>r.map(r=>{var n,i,a;return{...r,value:null==(n=null==(i=t.find(e=>e.func===r.name))?void 0:i.value)?r.value:n,disable:!t.some(e=>e.func===r.name),pattern:null==(a=null==e?void 0:e.pattern)?null:a}}))):s(!1)},[]);return(0,_q.useEffect)(()=>{if(!n)return;let e=t.state$.subscribe(d);return()=>e.unsubscribe()},[n,t,d]),{statistics:i,showList:c,show:o}})(a.getFunctions().map((e,t)=>({name:e.func,value:0,show:!0,disable:!1,pattern:null})),a,n,r),l=Vr(()=>{let e=window.innerWidth<800;n!==e&&i(e)},100);(0,_q.useEffect)(()=>(window.addEventListener("resize",l),()=>{window.removeEventListener("resize",l)}),[n]);let u=((e,t,n)=>r?(0,_q.useMemo)(()=>e.length>3?e.reduce((t,r,n)=>(n%2==0&&t.push(e.slice(n,n+2)),t),[]).map((e,t)=>(0,$Z.jsxs)("div",{className:"univer-grid univer-h-full univer-items-center",children:[e[0]&&(0,$Z.jsx)(n,{...e[0]},e[0].name),e[1]&&(0,$Z.jsx)(n,{...e[1]},e[1].name)]},`stat-col-${t}`)):e.map(e=>(0,$Z.jsx)("div",{className:"univer-grid univer-h-full univer-items-center",children:(0,$Z.jsx)(n,{...e})},e.name)),[e,3,n]):null)(o,0,oFe);return s&&(0,$Z.jsx)("div",{className:x7('univer-relative univer-box-border univer-flex univer-h-full univer-items-center univer-overflow-hidden univer-px-2 after:univer-absolute after:univer-right-0 after:univer-top-1/2 after:univer-block after:univer-h-4 after:univer-w-px after:-univer-translate-y-1/2 after:univer-bg-gray-200 after:univer-content-[""]',{"univer-max-w-32":n,"univer-max-w-fit":!n}),children:(0,$Z.jsx)("div",{className:"univer-flex univer-h-full univer-gap-x-2",children:u})})};function lFe(){var e;let t=e8(iDe),r=iK(nee),n=null==(e=null==t?void 0:t.footer)||e;if(!bDe()||!n)return null;let i=r.getMenuByPositionKey(tee.FOOTER_MENU),{sheetBar:a=!0,statisticBar:o=!0,menus:s=!0,zoomSlider:l=!0}=(null==t?void 0:t.footer)||{};return a||o||s||l?(0,$Z.jsxs)("section",{className:"univer-box-border univer-grid univer-w-full univer-grid-flow-col univer-grid-cols-[1fr,auto,auto,auto] univer-items-center univer-justify-between univer-bg-white univer-px-5 univer-text-gray-900 dark:!univer-bg-gray-900 dark:!univer-text-gray-200",style:{height:36},"data-range-selector":!0,children:[a&&(0,$Z.jsx)($Ve,{}),o&&(0,$Z.jsx)(sFe,{}),s&&i.length>0&&(0,$Z.jsx)("div",{className:"univer-box-border univer-flex univer-gap-2 univer-px-2",children:i.map(e=>{var t;return null==(t=e.children)?void 0:t.map(e=>(null==e?void 0:e.item)&&(0,$Z.jsx)(Bee,{...e.item},e.key))})}),l&&(0,$Z.jsx)(tFe,{})]}):null}function uFe(){let e=e8(iDe);return dFe()?!1===(null==e?void 0:e.formulaBar)?null:(0,$Z.jsx)(VVe,{}):null}function cFe(){let e=e8(iDe),t=dFe(),r=iK(W5).get("ShapeTextEditorContainer");return t?(0,$Z.jsxs)($Z.Fragment,{children:[r&&(0,$Z.jsx)(r,{}),!(null!=e&&e.disableEdit)&&(0,$Z.jsx)(PVe,{}),(0,$Z.jsx)(MVe,{})]}):null}function dFe(){let e=iK(dg);return(0,_q.useMemo)(()=>e.getAllUnitsForType(Pi.UNIVER_SHEET).length>0,[e,!!aK(()=>e.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET),null,!1,[])])}const hFe={id:Cxe.id,preconditions:e=>jOe(e),binding:x8.D|N8.CTRL_COMMAND},mFe={id:yxe.id,preconditions:e=>jOe(e),binding:x8.R|N8.CTRL_COMMAND},fFe={id:gTe.id,preconditions:e=>jOe(e),binding:x8.Digit9|N8.CTRL_COMMAND},gFe={id:eTe.id,preconditions:e=>jOe(e),binding:x8.Digit0|N8.CTRL_COMMAND|N8.SHIFT},pFe={id:MPe.id,description:"shortcut.sheet.select-below-cell",group:"3_sheet-view",binding:x8.ARROW_DOWN,priority:100,preconditions:jOe,staticParameters:{direction:Eu.DOWN}},vFe={id:MPe.id,description:"shortcut.sheet.select-up-cell",group:"3_sheet-view",binding:x8.ARROW_UP,priority:100,preconditions:jOe,staticParameters:{direction:Eu.UP}},bFe={id:MPe.id,description:"shortcut.sheet.select-left-cell",group:"3_sheet-view",binding:x8.ARROW_LEFT,priority:100,preconditions:HOe,staticParameters:{direction:Eu.LEFT}},CFe={id:MPe.id,description:"shortcut.sheet.select-right-cell",group:"3_sheet-view",binding:x8.ARROW_RIGHT,priority:100,preconditions:HOe,staticParameters:{direction:Eu.RIGHT}},yFe={id:OPe.id,description:"shortcut.sheet.select-next-cell",group:"3_sheet-view",binding:x8.TAB,priority:100,preconditions:jOe,staticParameters:{direction:Eu.RIGHT,keycode:x8.TAB}},_Fe={id:OPe.id,description:"shortcut.sheet.select-previous-cell",group:"3_sheet-view",binding:x8.TAB|N8.SHIFT,priority:100,preconditions:jOe,staticParameters:{direction:Eu.LEFT,keycode:x8.TAB}},wFe={id:OPe.id,description:"shortcut.sheet.select-below-cell",group:"3_sheet-view",binding:x8.ENTER,priority:100,preconditions:jOe,staticParameters:{direction:Eu.DOWN,keycode:x8.ENTER}},EFe={id:OPe.id,description:"shortcut.sheet.select-up-cell",group:"3_sheet-view",binding:x8.ENTER|N8.SHIFT,priority:100,preconditions:jOe,staticParameters:{direction:Eu.UP,keycode:x8.ENTER}},SFe={id:MPe.id,description:"shortcut.sheet.select-below-value-cell",group:"3_sheet-view",binding:x8.ARROW_DOWN|N8.CTRL_COMMAND,preconditions:jOe,staticParameters:{direction:Eu.DOWN,jumpOver:NPe.moveGap}},AFe={id:MPe.id,description:"shortcut.sheet.select-up-value-cell",group:"3_sheet-view",binding:x8.ARROW_UP|N8.CTRL_COMMAND,preconditions:jOe,staticParameters:{direction:Eu.UP,jumpOver:NPe.moveGap}},IFe={id:MPe.id,description:"shortcut.sheet.select-left-value-cell",group:"3_sheet-view",binding:x8.ARROW_LEFT|N8.CTRL_COMMAND,preconditions:jOe,staticParameters:{direction:Eu.LEFT,jumpOver:NPe.moveGap}},RFe={id:MPe.id,description:"shortcut.sheet.select-right-value-cell",group:"3_sheet-view",binding:x8.ARROW_RIGHT|N8.CTRL_COMMAND,preconditions:jOe,staticParameters:{direction:Eu.RIGHT,jumpOver:NPe.moveGap}},xFe={id:LPe.id,description:"shortcut.sheet.expand-selection-down",group:"3_sheet-view",binding:x8.ARROW_DOWN|N8.SHIFT,preconditions:jOe,staticParameters:{direction:Eu.DOWN}},TFe={id:LPe.id,description:"shortcut.sheet.expand-selection-up",group:"3_sheet-view",binding:x8.ARROW_UP|N8.SHIFT,preconditions:jOe,staticParameters:{direction:Eu.UP}},NFe={id:LPe.id,description:"shortcut.sheet.expand-selection-left",group:"3_sheet-view",binding:x8.ARROW_LEFT|N8.SHIFT,preconditions:jOe,staticParameters:{direction:Eu.LEFT}},MFe={id:LPe.id,description:"shortcut.sheet.expand-selection-right",group:"3_sheet-view",binding:x8.ARROW_RIGHT|N8.SHIFT,preconditions:jOe,staticParameters:{direction:Eu.RIGHT}},OFe={id:LPe.id,description:"shortcut.sheet.expand-selection-to-below-gap",group:"3_sheet-view",binding:x8.ARROW_DOWN|N8.SHIFT|N8.CTRL_COMMAND,preconditions:jOe,staticParameters:{direction:Eu.DOWN,jumpOver:NPe.moveGap}},LFe={id:LPe.id,description:"shortcut.sheet.expand-selection-to-up-gap",group:"3_sheet-view",binding:x8.ARROW_UP|N8.SHIFT|N8.CTRL_COMMAND,preconditions:jOe,staticParameters:{direction:Eu.UP,jumpOver:NPe.moveGap}},kFe={id:LPe.id,description:"shortcut.sheet.expand-selection-to-left-gap",group:"3_sheet-view",binding:x8.ARROW_LEFT|N8.SHIFT|N8.CTRL_COMMAND,preconditions:jOe,staticParameters:{direction:Eu.LEFT,jumpOver:NPe.moveGap}},PFe={id:LPe.id,description:"shortcut.sheet.expand-selection-to-right-gap",group:"3_sheet-view",binding:x8.ARROW_RIGHT|N8.SHIFT|N8.CTRL_COMMAND,preconditions:jOe,staticParameters:{direction:Eu.RIGHT,jumpOver:NPe.moveGap}},DFe={id:kPe.id,description:"shortcut.sheet.select-all",group:"3_sheet-view",binding:x8.A|N8.CTRL_COMMAND,preconditions:jOe,staticParameters:{expandToGapFirst:!0,loop:!0}},UFe={id:Nke.id,description:"shortcut.sheet.set-bold",group:"4_sheet-edit",preconditions:e=>jOe(e),binding:x8.B|N8.CTRL_COMMAND},BFe={id:Mke.id,description:"shortcut.sheet.set-italic",group:"4_sheet-edit",preconditions:e=>jOe(e),binding:x8.I|N8.CTRL_COMMAND},VFe={id:Oke.id,description:"shortcut.sheet.set-underline",group:"4_sheet-edit",preconditions:e=>jOe(e),binding:x8.U|N8.CTRL_COMMAND},FFe={id:Lke.id,description:"shortcut.sheet.set-strike-through",group:"4_sheet-edit",preconditions:e=>jOe(e),binding:x8.X|N8.SHIFT|N8.CTRL_COMMAND},jFe={id:wxe.id,preconditions:e=>jOe(e),binding:x8.DELETE,mac:x8.BACKSPACE},HFe={id:wxe.id,preconditions:e=>jOe(e),mac:x8.DELETE},WFe={id:wxe.id,preconditions:e=>jOe(e),binding:N8.SHIFT+x8.BACKSPACE},zFe={id:lke.id,preconditions:e=>jOe(e),binding:N8.SHIFT+x8.DELETE},XFe={id:ZPe.id,description:"shortcut.sheet.zoom-in",binding:x8.EQUAL|N8.CTRL_COMMAND,group:"3_sheet-view",preconditions:jOe,priority:1,staticParameters:{delta:.2}},qFe={id:jc.id,binding:x8.EQUAL|N8.CTRL_COMMAND},GFe={id:ZPe.id,description:"shortcut.sheet.zoom-out",binding:x8.MINUS|N8.CTRL_COMMAND,group:"3_sheet-view",preconditions:jOe,priority:1,staticParameters:{delta:-.2}},YFe={id:jc.id,binding:x8.MINUS|N8.CTRL_COMMAND},QFe={id:ZPe.id,description:"shortcut.sheet.reset-zoom",binding:x8.Digit0|N8.CTRL_COMMAND,preconditions:jOe,group:"3_sheet-view",priority:1,staticParameters:{reset:!0}},ZFe={id:jc.id,binding:x8.Digit0|N8.CTRL_COMMAND};let KFe=class extends tu{constructor(e,t,r,n,i,a,o,s){super(),this._injector=e,this._componentManager=t,this._layoutService=r,this._commandService=n,this._shortcutService=i,this._menuManagerService=a,this._uiPartsService=o,this._configService=s,this._init()}_init(){this._initComponents(),this._initCommands(),this._initMenus(),this._initShortcuts(),this._initWorkbenchParts(),this._initFocusHandler()}_initComponents(){let e=this._componentManager;this.disposeWithMe(e.register(uBe,cBe)),this.disposeWithMe(e.register(oBe,lBe)),this.disposeWithMe(e.register(rBe,aBe)),this.disposeWithMe(e.register(mDe,NVe)),this.disposeWithMe(e.register(wVe,xVe)),this.disposeWithMe(e.register("HideGridlinesDoubleIcon",LOe))}_initCommands(){[ZPe,LPe,MPe,OPe,cDe,mPe,dPe,hPe,Rke,xke,HPe,WPe,kPe,nDe,mRe,uDe,sDe,lDe,Nke,Mke,Oke,Lke,kke,Pke,Dke,Uke,Bke,Vke,Fke,jke,fRe,pRe,vRe,bRe,vPe,bPe,CPe,yPe,FPe,jPe,EPe,SPe,APe,IPe,RPe,dDe,gRe,KPe,QPe,eDe,Hke,vke,Wke,pke,fDe,nPe,hDe,iPe,aPe,oPe,sPe,lPe,rDe,uPe,cPe,tDe,XPe,aLe,oLe,UDe].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initMenus(){this._menuManagerService.mergeMenu(_Ve)}_initShortcuts(){[pFe,vFe,bFe,CFe,yFe,_Fe,wFe,EFe,SFe,AFe,IFe,RFe,xFe,TFe,NFe,MFe,OFe,LFe,kFe,PFe,DFe,XFe,GFe,QFe,ZFe,qFe,YFe,UFe,BFe,VFe,FFe,jFe,HFe,WFe,zFe,...FDe(),WDe,HDe,jDe,zDe,GDe,YDe,QDe,KDe,XDe,qDe,ZDe,hFe,mFe,fFe,gFe].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}_initWorkbenchParts(){let e=this._uiPartsService,t=this._injector;this.disposeWithMe(e.registerComponent(dee.HEADER,()=>tK(uFe,t))),this.disposeWithMe(e.registerComponent(dee.FOOTER,()=>tK(lFe,t))),this.disposeWithMe(e.registerComponent(dee.CONTENT,()=>tK(cFe,t)))}_initFocusHandler(){this.disposeWithMe(this._layoutService.registerFocusHandler(Pi.UNIVER_SHEET,e=>{let t=this._injector.get(kX),r=this._injector.get(dg),n=PX(Pi.UNIVER_DOC,r,t),i=null==n?void 0:n.with(voe);null==i||i.focus()}))}};KFe=pLe([gLe(0,Y(he)),gLe(1,Y(W5)),gLe(2,O8),gLe(3,Vc),gLe(4,U8),gLe(5,nee),gLe(6,hee),gLe(7,Tc)],KFe);const $Fe=jl("statusBarPermissionCorrect");var JFe=class{constructor(){nLe(this,"_sum",0),nLe(this,"_count",0),nLe(this,"_countNumber",0),nLe(this,"_min",1/0),nLe(this,"_max",-1/0)}add(e,t,r){if(!uu.isDefine(null==e?void 0:e.v))return;let n=null==e?void 0:e.t,{v:i}=e,a=e=>{this._sum+=e,this._countNumber++,this._min=Math.min(this._min,e),this._max=Math.max(this._max,e)};if("string"==typeof i&&n===Fu.NUMBER){let e=Number(i);Number.isNaN(e)||(i=e)}"number"==typeof i&&n!==Fu.STRING?a(i):n===Fu.NUMBER&&e.s&&((e,t,r)=>{var n;if(null==e||null==(n=e.n)||!n.pattern)return;let{pattern:i}=e.n;r[i]||(r[i]=_s(i)),r[i].isDate&&a(t)})(t.get(e.s),i,r),this._count++}getResults(){return{sum:this._sum,count:this._countNumber,countA:this._count,min:this._min,max:this._max}}};let eje=class extends tu{constructor(e,t,r,n,i,a){super(),this._univerInstanceService=e,this._selectionManagerService=t,this._statusBarService=r,this._commandService=n,this._numfmtService=i,this._formulaDataModel=a,nLe(this,"interceptor",new Wl({STATUS_BAR_PERMISSION_CORRECT:$Fe})),this._init()}_init(){this._registerSelectionListener()}_registerSelectionListener(){let e=Vr(e=>{var t;let r=null==(t=e[e.length-1])?void 0:t.primary;this._calculateSelection(e.map(e=>e.range),r)},100),t=Vr(e=>{var t;let r=null==(t=e[e.length-1])?void 0:t.primary;this._calculateSelection(e.map(e=>e.range),r)},500);this.disposeWithMe(Jl(this._selectionManagerService.selectionMoving$.subscribe(e=>{e&&t(e)}))),this.disposeWithMe(Jl(this._selectionManagerService.selectionMoveEnd$.subscribe(t=>{t&&e(t)}))),this.disposeWithMe(Jl(this._selectionManagerService.selectionSet$.subscribe(t=>{t&&e(t)}))),this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(t.id===Kwe.id){let r=this._selectionManagerService.getCurrentSelections(),{cellValue:n}=t.params;if(r&&r.length>0&&n){let t=new kd(n),i=!1;t.forValue((e,t)=>{if(r.some(r=>{let n=r.range;return e>=n.startRow&&e<=n.endRow&&t>=n.startColumn&&t<=n.endColumn}))return i=!0,!1}),i&&e(r)}}}))}_clearResult(){this._statusBarService.setState(null)}getRangeStartEndInfo(e,t){return e.rangeType===pd.ALL?{startRow:0,startColumn:0,endRow:t.getRowCount()-1,endColumn:t.getColumnCount()-1}:e.rangeType===pd.COLUMN?{startRow:0,startColumn:e.startColumn,endRow:t.getRowCount()-1,endColumn:e.endColumn}:e.rangeType===pd.ROW?{startRow:e.startRow,startColumn:0,endRow:e.endRow,endColumn:t.getColumnCount()-1}:{startRow:e.startRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn}}_getCellValue(e,t,r,n){var i;let a=r.getCellRaw(e,t),o=null==n||null==(i=n[e])?void 0:i[t];var s,l,u;return o?{t:null==(s=o.t)?null==a?void 0:a.t:s,v:null==(l=o.v)?null==a?void 0:a.v:l,s:null==(u=o.s)?null==a?void 0:a.s:u}:a}_calculateSelection(e,t){let r=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET);if(!r)return this._clearResult();let n=r.getUnitId(),i=r.getActiveSheet(),a=null==i?void 0:i.getSheetId();if(!a)return this._clearResult();let o={};if(this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET).getSheets().forEach(e=>{let t=e.getConfig();o[e.getSheetId()]={cellData:new kd(t.cellData),rowCount:t.rowCount,columnCount:t.columnCount,rowData:t.rowData,columnData:t.columnData}}),null!=e&&e.length){var s;let o=[];e.forEach(e=>{let{startRow:t,endRow:r}=e,n=null;for(let a=t;a<=r;a++)i.getRowVisible(a)?null===n&&(n=a):null!==n&&(o.push({...e,startRow:n,endRow:a-1}),n=null);null!==n&&o.push({...e,startRow:n,endRow:r})});let u=Rh(o),c=new JFe,d=r.getStyles(),h={},m=this._formulaDataModel.getArrayFormulaCellData(),f=null==m||null==(s=m[n])?void 0:s[a];for(let e of u){let{startRow:t,startColumn:r,endColumn:n,endRow:a}=this.getRangeStartEndInfo(e,i);for(let e=t;e<=a;e++)for(let t=r;t<=n;t++){let r=this._getCellValue(e,t,i,f);c.add(r,d,h)}}let g=function(e){let{sum:t,count:r,countA:n,min:i,max:a}=e.getResults();return[{func:ype.MAX,value:a},{func:ype.MIN,value:i},{func:Cpe.SUM,value:t},{func:ype.COUNTA,value:n},{func:ype.COUNT,value:r},{func:ype.AVERAGE,value:t/r}]}(c);if(g.every(e=>void 0===e))return;let p=null;if(t){var l;let{actualRow:e,actualColumn:r}=t;p=null==(l=this._numfmtService.getValue(n,a,e,r))?void 0:l.pattern}let v={values:g.filter(e=>void 0!==e),pattern:p};this._statusBarService.setState(v)}else this._clearResult()}};eje=pLe([gLe(0,dg),gLe(1,Y(rSe)),gLe(2,nFe),gLe(3,Vc),gLe(4,Y(eNe)),gLe(5,Y(jfe))],eje);const tje=(e=[])=>{let t=iK(ELe);(0,_q.useEffect)(()=>{let r=e.map(e=>t.addShape({range:e,style:{fill:"rgba(73, 184, 17, 0.05)",strokeWidth:1,stroke:"#49B811",widgets:{}},primary:null}));return()=>{r.forEach(e=>{e&&t.removeShape(e)})}},[e])};var rje="@univerjs/sheets-ui",nje="0.19.0";let ije=function(e){return e[e.INFO=0]="INFO",e[e.WARNING=1]="WARNING",e[e.ERROR=2]="ERROR",e}({}),aje=class extends tu{get currentAlert(){return this._currentAlert}constructor(e,t){super(),this._renderManagerService=e,this._cellPopupManagerService=t,nLe(this,"_currentAlert$",new On),nLe(this,"_currentAlert",new Map),nLe(this,"currentAlert$",this._currentAlert$.asObservable()),this.disposeWithMe(()=>{this._currentAlert$.complete()})}showAlert(e){let t=this._currentAlert.get(e.key);t&&t.dispose.dispose(),t?t.dispose.dispose():(t={alert:e,dispose:{dispose(){}}},this._currentAlert.set(e.key,t));let{location:r}=e,{row:n,col:i,unitId:a,subUnitId:o}=r;if(!this._renderManagerService.getRenderById(a))return;let s=this._cellPopupManagerService.showPopup({unitId:a,subUnitId:o,row:n,col:i},{componentKey:sje,direction:"horizontal",extraProps:{alert:e},priority:1});var l;s&&(t&&(null==(l=t.dispose)||l.dispose()),t.dispose=s);this._currentAlert$.next(Array.from(this._currentAlert.entries()))}removeAlert(e){let t=this._currentAlert.get(e);t&&(this._currentAlert.delete(e),null==t||t.dispose.dispose(),this._currentAlert$.next(Array.from(this._currentAlert.entries())))}clearAlert(){this._currentAlert.forEach(e=>{e.dispose.dispose()}),this._currentAlert.clear(),this._currentAlert$.next(Array.from(this._currentAlert.entries()))}};function oje({popup:e}){var t;let r=null==(t=e.extraProps)?void 0:t.alert;if(!r)return null;let{type:n,title:i,message:a}=r,o={[ije.ERROR]:(0,$Z.jsx)(IK,{className:"univer-mr-1.5 univer-text-red-500"}),[ije.INFO]:(0,$Z.jsx)(MZ,{className:"univer-mr-1.5 univer-text-blue-500"}),[ije.WARNING]:(0,$Z.jsx)(SK,{className:"univer-mr-1.5 univer-text-yellow-500"})};return(0,$Z.jsxs)("div",{className:"univer-z-[100] univer-box-border univer-w-[156px] univer-rounded-lg univer-bg-white univer-px-2 univer-py-1 univer-text-gray-900 univer-shadow dark:!univer-bg-black dark:!univer-text-white",children:[(0,$Z.jsxs)("div",{className:"univer-mb-1.5 univer-flex univer-h-5 univer-flex-row univer-items-center univer-text-sm univer-font-medium",children:[n?o[n]:null,i]}),(0,$Z.jsx)("div",{className:"univer-text-sm",children:a})]})}aje=pLe([gLe(0,kX),gLe(1,Y(RVe))],aje);const sje="univer.sheet.cell-alert";let lje=class extends tu{constructor(e,t){super(),this._context=e,this._componentManager=t,this._initComponent()}_initComponent(){this.disposeWithMe(this._componentManager.register(sje,oje))}};lje=pLe([gLe(1,Y(W5))],lje);let uje=class extends tu{constructor(e,t,r){super(),this._context=e,this._editorBridgeService=t,this._cellPopupManagerService=r,this._initEditorVisibleListener()}_initEditorVisibleListener(){this.disposeWithMe(this._editorBridgeService.visible$.pipe(Un(e=>e.visible)).subscribe(()=>{let e=this._editorBridgeService.getEditLocation();e&&this._cellPopupManagerService.hidePopup(e.unitId,e.sheetId,e.row,e.column)}))}};uje=pLe([gLe(1,GPe),gLe(2,Y(RVe))],uje);let cje=class extends tu{constructor(e,t,r,n){super(),this._hoverManagerService=e,this._instanceService=t,this._commandService=r,this._renderManagerService=n,nLe(this,"_isPointer",!1),this._initPointerEvent(),this._initHover()}get _mainComponent(){var e;return null==(e=PX(Pi.UNIVER_SHEET,this._instanceService,this._renderManagerService))?void 0:e.mainComponent}_initHover(){this.disposeWithMe(this._hoverManagerService.currentRichText$.subscribe(e=>{var t,r;null!=e&&e.bullet?(this._isPointer||null==(t=this._mainComponent)||t.setCursor(TV.POINTER),this._isPointer=!0):(this._isPointer&&(null==(r=this._mainComponent)||r.setCursor(TV.AUTO)),this._isPointer=!1)}))}_initPointerEvent(){this.disposeWithMe(this._hoverManagerService.currentClickedCell$.subscribe(e=>{let{location:t,bullet:r}=e;r&&this._commandService.executeCommand(sNe.id,{unitId:t.unitId,subUnitId:t.subUnitId,row:t.row,col:t.col,paragraphIndex:r.startIndex})}))}};cje=pLe([gLe(0,Y(yUe)),gLe(1,dg),gLe(2,Vc),gLe(3,kX)],cje);let dje=class extends tu{constructor(e,t,r,n,i){super(),this._selectionManagerService=e,this._themeService=t,this._instanceSrv=r,this._cmdSrv=n,this._definedNamesService=i,this._init()}_init(){this.disposeWithMe(Ei(this._selectionManagerService.selectionMoveStart$,this._selectionManagerService.selectionMoving$,this._selectionManagerService.selectionMoveEnd$,this._selectionManagerService.selectionSet$).pipe(Un(e=>!!e)).subscribe(e=>{this._syncDefinedNameRange(e)})),this.disposeWithMe(this._definedNamesService.focusRange$.subscribe(async e=>{if(null==e)return;let{unitId:t}=e,{formulaOrRefString:r}=e;if(r.substring(0,1)===nhe.EQUALS&&(r=r.substring(1)),!Xme(r))return;let n=this._instanceSrv.getUnit(t),i=await this._getSelections(n,t,r);this._selectionManagerService.setSelections(i),this._cmdSrv.executeCommand(pNe.id,{unitId:t,range:i[0].range})}))}_syncDefinedNameRange(e){if(0===e.length)return;let t=e[e.length-1],r=this._instanceSrv.getCurrentUnitForType(Pi.UNIVER_SHEET),n=null==r?void 0:r.getActiveSheet();n&&this._definedNamesService.setCurrentRange({range:t.range,unitId:r.getUnitId(),sheetId:n.getSheetId()})}async _getSelections(e,t,r){let n=r.split(","),i=e.getActiveSheet();if(!i)return[];let a=[];for(let r=0;r{null==e||this._editorBridgeService.isForceKeepVisible()||!this._rangeProtectionRuleModel.getRangeRuleInitState()||!this._worksheetProtectionRuleModel.getSheetRuleInitState()||this._editorSyncHandler(e)}))}_editorSyncHandler(e){var t,r,n;let i=uu.deepClone(null==(t=e.documentLayoutObject.documentModel)?void 0:t.getBody()),a=uu.deepClone(null==(r=e.documentLayoutObject.documentModel)?void 0:r.drawings),o=uu.deepClone(null==(n=e.documentLayoutObject.documentModel)?void 0:n.getDrawingsOrder());(!i||!0===e.isInArrayFormulaRange&&this._editorBridgeService.isVisible().eventType===FF.Dblclick)&&(i={dataStream:"\r\n",paragraphs:[{startIndex:0}],textRuns:[]}),this._syncContentAndRender(Sl,i,a,o)}_commandExecutedListener(){let e=[El,Sl];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(t.id===KX.id){let r=t.params,{unitId:n,trigger:i,isSync:a}=r;if(a||i===sae.id)return;if(e.includes(n)){let e=this._univerInstanceService.getUnit(n,Pi.UNIVER_DOC),t=n===Sl?El:Sl;this._checkAndSetRenderStyleConfig(e),this._syncActionsAndRender(t,r)}}}));let t=[Kwe.id,Ewe.id];this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(!t.includes(e.id))return;let r=this._editorBridgeService.getEditLocation();if(null==r)return;let{row:n,column:i}=r;this._shouldRefreshCurrentEditCell(e,n,i)&&this._editorBridgeService.refreshEditCellState()}))}_shouldRefreshCurrentEditCell(e,t,r){if(e.id===Kwe.id&&e.params){let n=e.params;return this._hasMatrixCell(n.cellValue,t,r)}if(e.id===Ewe.id&&e.params){let n=e.params;return this._hasMatrixCell(n.from.value,t,r)||this._hasMatrixCell(n.to.value,t,r)}return!1}_hasMatrixCell(e,t,r){let n=null==e?void 0:e[t];return null!=n&&Object.prototype.hasOwnProperty.call(n,r)}_syncActionsAndRender(e,t){let r=[El,Sl],n=this._renderManagerService.getRenderById(e);if(null==n)return;let i=n.with(YX).getSkeleton(),a=this._univerInstanceService.getUnit(e,Pi.UNIVER_DOC),o=this._getEditorViewModel(e);var s;null!=a&&null!=o&&(this._commandService.syncExecuteCommand(KX.id,{...t,textRanges:null,isSync:!0,unitId:e,syncer:t.unitId}),o.reset(a),i.calculate(),r.includes(e))&&(null==(s=n.mainComponent)||s.makeDirty())}_syncContentAndRender(e,t,r,n){var i;e===Sl&&t.paragraphs&&(t.paragraphs=this._clearParagraph(t.paragraphs));let a=[El,Sl],o=null==(i=this._renderManagerService.getRenderById(e))?void 0:i.with(YX).getSkeleton(),s=this._univerInstanceService.getUnit(e,Pi.UNIVER_DOC),l=this._getEditorViewModel(e);if(null==s||null==l||null==o)return;s.getSnapshot().body=t,s.getSnapshot().drawings=null==r?{}:r,s.getSnapshot().drawingsOrder=null==n?[]:n,this._checkAndSetRenderStyleConfig(s),l.reset(s);let u=this._renderManagerService.getRenderById(e);var c;null!=u&&(o.calculate(),a.includes(e)&&(null==(c=u.mainComponent)||c.makeDirty()),e===Sl&&this._formulaEditorController.autoScroll())}_checkAndSetRenderStyleConfig(e){var t;let r=e.getSnapshot(),{body:n}=r;if(r.id!==Sl)return;r.documentStyle=hje;let i=r.documentStyle.renderConfig;null==i&&(i={},r.documentStyle.renderConfig=i);let a=this._formulaEditorManagerService.getPosition();if(a){let e=a.width;r.documentStyle.pageSize={width:e,height:1/0}}(null==(t=null==n?void 0:n.dataStream)?"":t).startsWith("=")?i.isRenderStyle=Vu.TRUE:i.isRenderStyle=Vu.FALSE}_clearParagraph(e){let t=uu.deepClone(e);for(let e of t)e.paragraphStyle&&(e.paragraphStyle.horizontalAlign=Lu.UNSPECIFIED);return t}};mje=pLe([gLe(0,dg),gLe(1,kX),gLe(2,GPe),gLe(3,Vc),gLe(4,Y(ZEe)),gLe(5,Y(aRe)),gLe(6,Y(vUe)),gLe(7,pUe)],mje);const fje="SHEET_FORCE_STRING_ALERT";let gje=class extends tu{constructor(e,t,r,n,i,a){super(),this._context=e,this._hoverManagerService=t,this._cellAlertManagerService=r,this._localeService=n,this._zenZoneService=i,this._configService=a,this._init()}_init(){this._initCellAlertPopup(),this._initZenService()}_initCellAlertPopup(){this.disposeWithMe(this._hoverManagerService.currentCell$.subscribe(e=>{if(e){let n=e.location,i=this._context.unit,a=i.getActiveSheet();if(!a)return this._hideAlert();let o,s=a.getCell(n.row,n.col);if(!s||null===s.v||void 0===s.v)return this._hideAlert();if(null!=s&&s.s){let e=i.getStyles().get(s.s);null!=e&&e.n&&(o=e.n)}if(wd(null==o?void 0:o.pattern))return void this._hideAlert();if((s.t===Fu.FORCE_STRING||s.t===Fu.STRING)&&($d(s.v)||"string"==typeof s.v&&xd(s.v))){var t,r;if(null!=(t=this._configService.getConfig("sheets-ui.config"))&&t.disableForceStringAlert)return;let i=this._cellAlertManagerService.currentAlert.get(fje),a=null==i||null==(r=i.alert)?void 0:r.location;return a&&a.row===e.location.row&&a.col===e.location.col&&a.subUnitId===e.location.subUnitId&&a.unitId===e.location.unitId?void this._hideAlert():void this._cellAlertManagerService.showAlert({type:ije.ERROR,title:this._localeService.t("info.error"),message:this._localeService.t("info.forceStringInfo"),location:n,width:200,height:74,key:fje})}}this._hideAlert()}))}_initZenService(){this.disposeWithMe(this._zenZoneService.visible$.subscribe(e=>{e&&this._hideAlert()}))}_hideAlert(){this._cellAlertManagerService.removeAlert(fje)}};gje=pLe([gLe(1,Y(yUe)),gLe(2,Y(aje)),gLe(3,Y(Cg)),gLe(4,ote),gLe(5,Tc)],gje);let pje=class extends ru{constructor(e,t,r,n){super(),this._context=e,this._sheetSkeletonManagerService=t,this._sheetInterceptorService=r,this._configService=n,this._initViewModelIntercept()}_initViewModelIntercept(){let e={tl:{size:6,color:"#409f11"}};this.disposeWithMe(this._sheetInterceptorService.intercept(G_e.CELL_CONTENT,{priority:10,effect:Vl.Style,handler:(t,r,n)=>{var i;if(null==(i=this._sheetSkeletonManagerService.getCurrentParam())||!i.skeleton)return n(t);let a=r.rawData;if(!a||null===a.v||void 0===a.v)return n(t);if(((null==t?void 0:t.t)===Fu.FORCE_STRING||(null==t?void 0:t.t)===Fu.STRING)&&($d(a.v)||"string"==typeof a.v&&xd(a.v))){var o,s;let i=r.workbook.getStyles().get(a.s);return wd(null==i||null==(o=i.n)?void 0:o.pattern)||null!=(s=this._configService.getConfig("sheets-ui.config"))&&s.disableForceStringMark||(t===a&&(t={...a}),t.markers={...null==t?void 0:t.markers,...e}),n(t)}return n(t)}}))}};pje=pLe([gLe(1,Y(vLe)),gLe(2,Y(iwe)),gLe(3,Tc)],pje);let vje=class extends tu{constructor(e,t,r,n,i,a,o){super(),this._commandService=e,this._formatPainterService=t,this._univerInstanceService=r,this._renderManagerService=n,this._selectionManagerService=i,this._sheetInterceptorService=a,this._injector=o,this._initialize()}_initialize(){this._addDefaultHook()}_addDefaultHook(){this._formatPainterService.addHook({id:"default-format-painter",priority:0,isDefaultHook:!0,onStatusChange:e=>{if(e!==fPe.OFF){let e=this._collectSelectionRangeFormat();e&&this._formatPainterService.setSelectionFormat(e)}},onApply:(e,t,r,n)=>this._getUndoRedoMutationInfo(e,t,r,n)})}_collectSelectionRangeFormat(){let e=this._selectionManagerService.getCurrentLastSelection(),t=null==e?void 0:e.range;if(!t)return null;let{startRow:r,endRow:n,startColumn:i,endColumn:a}=t,o=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET),s=null==o?void 0:o.getActiveSheet();if(!s)return null;let l=s.getCellMatrix(),u=o.getStyles(),c=new kd,d=[];for(let e=r;e<=n;e++)for(let t=i;t<=a;t++){let r=l.getValue(e,t);c.setValue(e,t,u.getStyleByCell(r)||{});let{isMergedMainCell:n,...i}=s.getCellInfoInMergeData(e,t);n&&d.push({startRow:i.startRow,startColumn:i.startColumn,endRow:i.endRow,endColumn:i.endColumn})}return{styles:c,merges:d}}_getUndoRedoMutationInfo(e,t,r,n){let i=this._sheetInterceptorService,a=this._univerInstanceService,{merges:o,styles:s}=n;if(!s)return{undos:[],redos:[]};let{startRow:l,startColumn:u,endRow:c,endColumn:d}=s.getDataRange(),h=c-l+1,m=d-u+1,f=r.startRow===r.endRow&&r.startColumn===r.endColumn?{startRow:r.startRow,startColumn:r.startColumn,endRow:r.startRow+h-1,endColumn:r.startColumn+m-1}:r,g=Array.from({length:f.endRow-f.startRow+1},()=>Array.from({length:f.endColumn-f.startColumn+1},()=>({}))),p=[];g.forEach((e,t)=>{e.forEach((e,r)=>{let n=t%h+l,i=r%m+u,a=s.getValue(n,i);a&&(g[t][r].s=Object.keys(a).length>0?a:null)})});let v=0,b=0;o.forEach(e=>{e.startRow===l&&e.startColumn===u&&(v=e.endRow-e.startRow,b=e.endColumn-e.startColumn);let t=e.startRow-l,r=e.startColumn-u,n=e.endRow-l,i=e.endColumn-u,a=Math.max(1,Math.floor((f.endRow-f.startRow+1)/h)),o=Math.max(1,Math.floor((f.endColumn-f.startColumn+1)/m));for(let e=0;e0){let r=WIe(p),n=a.getUnit(e).getSheetBySheetId(t),i=function(e,t){return t.some(t=>function(e,t){let{startRow:r,startColumn:n,endColumn:i,endRow:a}=t,o=e.getMatrixWithMergedCells(r,n,a,i),s=!1;return o.forValue((t,i,a)=>{if(a&&(t!==r||i!==n)&&e.cellHasValue(a))return s=!0,!1}),s}(e,t))}(n,r),o={unitId:e,subUnitId:t,ranges:r},s={unitId:e,subUnitId:t,ranges:r};R.push({id:Twe.id,params:o}),R.push({id:q_e.id,params:s});let l=this._injector.invoke(xwe,o),u=this._injector.invoke(X_e,s);if(x.push({id:Twe.id,params:u}),x.push({id:q_e.id,params:l}),i){let t=this._injector.invoke(t=>KIe(t,e,n,r));R.unshift(...t.redos),x.push(...t.undos)}}if(!Oh.equals(f,r)){let n={actualRow:f.startRow,actualColumn:f.startColumn,rangeType:pd.NORMAL,isMerged:v>0||b>0,isMergedMainCell:!1,startRow:f.startRow,startColumn:f.startColumn,endRow:f.startRow+v,endColumn:f.startColumn+b};R.push({id:vSe.id,params:{unitId:e,subUnitId:t,type:eSe.ONLY_SET,selections:[{range:f,primary:n,style:null}]}}),x.unshift({id:vSe.id,params:{unitId:e,subUnitId:t,type:eSe.ONLY_SET,selections:[{range:r,primary:n,style:null}]}})}return{undos:[{id:Kwe.id,params:w},{id:Kwe.id,params:S},...A,...x],redos:[{id:Kwe.id,params:w},{id:Kwe.id,params:E},...I,...R]}}};vje=pLe([gLe(0,Vc),gLe(1,gPe),gLe(2,dg),gLe(3,kX),gLe(4,Y(rSe)),gLe(5,Y(iwe)),gLe(6,Y(he))],vje);let bje=class extends tu{constructor(e,t,r,n){super(),this._context=e,this._markSelectionService=t,this._commandService=r,this._sheetSkeletonManagerService=n,this._initListeners()}_initListeners(){this._addRemoveListener(),this._addRefreshListener()}_addRemoveListener(){let e=[sDe.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{e.includes(t.id)?this._markSelectionService.removeAllShapes():this._markSelectionService.getShapeMap().forEach((e,r)=>{e.exits.includes(t.id)&&this._markSelectionService.removeShape(r)})}))}_addRefreshListener(){this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{e&&this._markSelectionService.refreshShapes()}))}};function Cje(){let e=bDe();return e?(0,$Z.jsx)(yje,{workbook:e}):null}function yje(e){let{workbook:t}=e,[r,n]=(0,_q.useState)([]),[i,a]=(0,_q.useState)(""),o=(0,_q.useRef)(new Map),s=(0,_q.useRef)(null),l=iK(Vc),u=(0,_q.useCallback)(()=>{let e=t.getActiveSheet().getSheetId(),r=t.getSheets(),i=t.getActiveSheet();if(n(r.filter(e=>!e.isSheetHidden()).map((e,t)=>{var r;return{sheetId:e.getSheetId(),label:e.getName(),index:t,selected:i===e,color:null==(r=e.getTabColor())?void 0:r}})),a(e),o.current.has(e)){let t=o.current.get(e);if(t&&s.current){let e=s.current.clientWidth,r=t.clientWidth,n=t.offsetLeft-(e-r)/2;s.current.scrollTo({left:Math.max(0,n),behavior:"smooth"})}}o.current.clear()},[t]);(0,_q.useEffect)(()=>u(),[u]);let c=(0,_q.useCallback)(e=>{l.executeCommand(fEe.id,{unitId:t.getUnitId(),subUnitId:e})},[t]);return(0,_q.useEffect)(()=>{let e=l.onCommandExecuted(e=>{switch(e.id){case xTe.id:case XAe.id:case NTe.id:case Txe.id:case OTe.id:case fEe.id:u()}});return()=>e.dispose()},[u]),(0,$Z.jsx)("div",{ref:s,className:x7("univer-h-10 univer-w-full univer-overflow-x-auto univer-overflow-y-hidden univer-border-b univer-border-gray-200 univer-bg-gradient-to-b univer-from-gray-50 univer-to-gray-100 dark:!univer-border-gray-700 dark:!univer-from-gray-800 dark:!univer-to-gray-900",U7),role:"tablist","aria-label":"Sheet tabs",children:(0,$Z.jsx)("div",{className:"univer-flex univer-h-full univer-flex-nowrap univer-items-center",children:r.map(e=>(0,$Z.jsxs)("div",{ref:t=>{o.current.set(e.sheetId,t)},className:x7("univer-relative univer-box-border univer-flex univer-h-full univer-max-w-36 univer-shrink-0 univer-cursor-pointer univer-select-none univer-items-center univer-justify-center univer-truncate univer-px-1 univer-py-0.5 univer-text-sm univer-font-medium univer-leading-6 univer-transition-all",z7,{"univer-bg-white univer-text-blue-600 dark:!univer-bg-gray-700 dark:!univer-text-blue-400":e.sheetId===i,"univer-text-gray-600 hover:univer-bg-gray-50 active:univer-bg-gray-100 dark:!univer-text-gray-300 dark:hover:!univer-bg-gray-700":e.sheetId!==i}),role:"tab","aria-selected":e.sheetId===i,"aria-controls":`sheet-${e.sheetId}`,tabIndex:e.sheetId===i?0:-1,onClick:()=>c(e.sheetId),children:[(0,$Z.jsx)("span",{className:"univer-truncate",children:e.label}),e.sheetId===i&&(0,$Z.jsx)("div",{className:x7("univer-absolute univer-left-0 univer-right-0 univer-top-0 univer-h-1 univer-bg-blue-600 univer-transition-all dark:!univer-bg-blue-400"),style:e.color?{backgroundColor:e.color}:void 0,"aria-hidden":"true"})]},e.sheetId))})})}bje=pLe([gLe(1,Y(ELe)),gLe(2,Vc),gLe(3,Y(vLe))],bje);let _je=class extends tu{constructor(e,t,r,n,i,a,o,s){super(),this._injector=e,this._componentManager=t,this._layoutService=r,this._commandService=n,this._shortcutService=i,this._menuManagerService=a,this._uiPartsService=o,this._configService=s,this._init()}_init(){this._initComponents(),this._initCommands(),this._initMenus(),this._initShortcuts(),this._initWorkbenchParts(),this._initFocusHandler()}_initComponents(){let e=this._componentManager;this.disposeWithMe(e.register(uBe,cBe)),this.disposeWithMe(e.register(oBe,lBe)),this.disposeWithMe(e.register(rBe,aBe)),this.disposeWithMe(e.register(mDe,NVe)),this.disposeWithMe(e.register(wVe,xVe)),this.disposeWithMe(e.register("HideGridlinesDoubleIcon",LOe))}_initCommands(){[ZPe,LPe,MPe,OPe,cDe,mPe,dPe,hPe,Rke,xke,HPe,WPe,kPe,nDe,mRe,uDe,sDe,lDe,Nke,Mke,Oke,Lke,kke,Pke,Dke,Vke,Fke,jke,fRe,pRe,vRe,bRe,vPe,bPe,CPe,yPe,FPe,jPe,EPe,SPe,APe,IPe,RPe,dDe,gRe,KPe,QPe,eDe,Hke,vke,Wke,pke,fDe,nPe,hDe,iPe,aPe,oPe,sPe,lPe,rDe,uPe,cPe,tDe,XPe,aLe,oLe].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initMenus(){this._menuManagerService.mergeMenu(_Ve)}_initShortcuts(){[pFe,vFe,bFe,CFe,yFe,_Fe,wFe,EFe,SFe,AFe,IFe,RFe,xFe,TFe,NFe,MFe,OFe,LFe,kFe,PFe,DFe,XFe,GFe,QFe,ZFe,qFe,YFe,UFe,BFe,VFe,FFe,jFe,HFe,WFe,zFe,...FDe(),WDe,jDe,zDe,GDe,YDe,QDe,KDe,XDe,qDe,ZDe,fFe,gFe].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}_initWorkbenchParts(){let e=this._uiPartsService,t=this._injector;this.disposeWithMe(e.registerComponent(dee.FOOTER,()=>tK(Cje,t))),this.disposeWithMe(e.registerComponent(dee.CONTENT,()=>tK(cFe,t)))}_initFocusHandler(){this.disposeWithMe(this._layoutService.registerFocusHandler(Pi.UNIVER_SHEET,e=>{let t=this._injector.get(kX),r=this._injector.get(dg),n=PX(Pi.UNIVER_DOC,r,t),i=null==n?void 0:n.with(voe);null==i||i.focus()}))}};_je=pLe([gLe(0,Y(he)),gLe(1,Y(W5)),gLe(2,O8),gLe(3,Vc),gLe(4,U8),gLe(5,nee),gLe(6,hee),gLe(7,Tc)],_je);let wje=class extends tu{constructor(e,t,r,n){super(),this._context=e,this._selectionRenderService=t,this._selectionManagerService=r,this._commandService=n,nLe(this,"_disposableCollection",new eu),nLe(this,"_initialize",()=>{let e=this._disposableCollection;this.disposeWithMe(this._selectionManagerService.selectionMoveEnd$.subscribe(()=>{e.dispose(),this._selectionRenderService.getSelectionControls().forEach(t=>{e.add(Jl(t.selectionMoveEnd$.subscribe(e=>{if(!e)return;let r=t.model.getRange(),n={startRow:r.startRow,startColumn:r.startColumn,endRow:r.endRow,endColumn:r.endColumn,rangeType:r.rangeType},i={startRow:e.startRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn,rangeType:r.rangeType};if(n.startRow===i.startRow&&n.startColumn===i.startColumn||i.startRow<0||i.startColumn<0)return;let a={fromRange:n,toRange:i};this._commandService.executeCommand(ySe.id,a)})))})}))}),this._initialize()}dispose(){var e;super.dispose(),null==(e=this._disposableCollection)||e.dispose()}};wje=pLe([gLe(1,Y(dLe)),gLe(2,Y(rSe)),gLe(3,Y(Vc))],wje);let Eje=class extends tu{constructor(e){super(),this._sheetPermissionInitController=e,this._initPermission()}_initPermission(){this._sheetPermissionInitController.initPermission()}};Eje=pLe([gLe(0,Y(ONe))],Eje);let Sje=class extends ru{constructor(e,t,r,n,i,a,o,s,l,u){super(),this._context=e,this._univerInstanceService=t,this._permissionService=r,this._selectionManagerService=n,this._rangeProtectionRuleModel=i,this._headerMoveRenderController=a,this._selectionRenderService=o,this._headerFreezeRenderController=s,this._rangeProtectionCache=l,this._headerResizeRenderController=u,nLe(this,"disposableCollection",new eu),this._initHeaderMovePermissionInterceptor(),this._initHeaderResizePermissionInterceptor(),this._initRangeFillPermissionInterceptor(),this._initRangeMovePermissionInterceptor()}_initHeaderMovePermissionInterceptor(){let e=this._headerMoveRenderController.interceptor.getInterceptPoints().HEADER_MOVE_PERMISSION_CHECK;this.disposeWithMe(this._headerMoveRenderController.interceptor.intercept(e,{handler:(e,t)=>{let r=W_e(this._univerInstanceService);if(!r)return!1;let{unitId:n,subUnitId:i}=r;if(!this._permissionService.composePermission([new PSe(n).id,new JSe(n,i).id]).every(e=>e.value))return!1;if(!t)return!0;if(t.rangeType!==pd.ROW&&t.rangeType!==pd.COLUMN)return e;if(t.rangeType===pd.ROW){for(let e=t.startRow;e<=t.endRow;e++)if(!1===this._rangeProtectionCache.getRowPermissionInfo(n,i,e,[Di.Edit]))return!1}else for(let e=t.startColumn;e<=t.endColumn;e++)if(!1===this._rangeProtectionCache.getColPermissionInfo(n,i,e,[Di.Edit]))return!1;return!0}}))}_initHeaderResizePermissionInterceptor(){this._headerResizeRenderController&&this.disposeWithMe(this._headerResizeRenderController.interceptor.intercept(this._headerResizeRenderController.interceptor.getInterceptPoints().HEADER_RESIZE_PERMISSION_CHECK,{handler:(e,t)=>{let r=W_e(this._univerInstanceService);if(!r)return!1;let{unitId:n,subUnitId:i}=r;var a,o;if(t.row){if(!1===(null!=(a=null==(o=this._permissionService.getPermissionPoint(new cAe(n,i).id))?void 0:o.value)&&a))return!1}else if(t.col){var s,l;if(!1===(null!=(s=null==(l=this._permissionService.getPermissionPoint(new uAe(n,i).id))?void 0:l.value)&&s))return!1}return!0}}))}_initRangeFillPermissionInterceptor(){this.disposeWithMe(this._selectionRenderService.interceptor.intercept(this._selectionRenderService.interceptor.getInterceptPoints().RANGE_FILL_PERMISSION_CHECK,{handler:(e,t)=>{var r;let n=W_e(this._univerInstanceService);if(!n)return!1;let{worksheet:i,unitId:a,subUnitId:o}=n;if(!this._permissionService.composePermission([new PSe(a).id,new JSe(a,o).id,new lAe(a,o).id,new sAe(a,o).id]).every(e=>e.value))return!1;let s=null==(r=this._selectionManagerService.getCurrentSelections())?void 0:r.map(e=>e.range),l=null==s?void 0:s.find(e=>{let r=BPe(t.x,t.y,t.scene,t.skeleton),n=t.skeleton.getCellWithCoordByIndex(e.endRow,e.endColumn),i=Math.abs(n.endX-r.x),a=Math.abs(n.endY-r.y);return i<=5&&a<=5});if(!l)return!0;let{startRow:u,endRow:c,startColumn:d,endColumn:h}=l;for(let e=u;e<=c;e++)for(let t=d;t<=h;t++){var m;let r=null==(m=i.getCell(e,t))||null==(m=m.selectionProtection)?void 0:m[0];if(!1===(null==r?void 0:r[Di.Edit])||!1===(null==r?void 0:r[Di.View]))return!1}return!0}}))}_initRangeMovePermissionInterceptor(){this.disposeWithMe(this._selectionRenderService.interceptor.intercept(this._selectionRenderService.interceptor.getInterceptPoints().RANGE_MOVE_PERMISSION_CHECK,{handler:(e,t)=>{var r;let n=W_e(this._univerInstanceService);if(!n)return!1;let{worksheet:i,unitId:a,subUnitId:o}=n;if(!this._permissionService.composePermission([new PSe(a).id,new JSe(a,o).id]).every(e=>e.value))return!1;let s=null==(r=this._selectionManagerService.getCurrentSelections())?void 0:r.map(e=>e.range),l=this._rangeProtectionRuleModel.getSubunitRuleList(a,o).reduce((e,t)=>[...e,...t.ranges],[]),u=null==s?void 0:s.filter(e=>l.some(t=>Oh.intersects(t,e)));return!(null!=u&&u.some(e=>{let{startRow:t,startColumn:r,endRow:n,endColumn:a}=e;for(let e=t;e<=n;e++)for(let t=r;t<=a;t++){var o;let r=null==(o=i.getCell(e,t))||null==(o=o.selectionProtection)?void 0:o[0];if(!1===(null==r?void 0:r[Di.Edit]))return!0}return!1}))}}))}_initFreezePermissionInterceptor(){this.disposeWithMe(this._headerFreezeRenderController.interceptor.intercept(this._headerFreezeRenderController.interceptor.getInterceptPoints().FREEZE_PERMISSION_CHECK,{handler:(e,t)=>{var r,n;let i=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET);return!(null==i||!i.getActiveSheet()||!i||null==(r=null==(n=this._permissionService.getPermissionPoint(new PSe(i.getUnitId()).id))?void 0:n.value))&&r}}))}};Sje=pLe([gLe(1,dg),gLe(2,Eg),gLe(3,Y(rSe)),gLe(4,Y(ZEe)),gLe(5,Y(LUe)),gLe(6,dLe),gLe(7,Y(xUe)),gLe(8,Y(PNe)),gLe(9,G(jUe))],Sje);let Aje=class extends tu{constructor(e,t,r,n,i){super(),this._univerInstanceService=e,this._selectionManagerService=t,this._localService=r,this._sheetClipboardService=n,this._sheetPermissionCheckController=i,nLe(this,"disposableCollection",new eu),this._initClipboardHook()}_initClipboardHook(){this.disposeWithMe(this._sheetClipboardService.addClipboardHook({id:"SHEET_PERMISSION_PASTE_PLUGIN",onBeforePaste:e=>{var t;let[r]=GOe([e.range]).ranges,n=null==(t=this._selectionManagerService.getCurrentLastSelection())?void 0:t.range;if(!n)return!1;let i={startRow:n.startRow+r.startRow,endRow:n.startRow+r.endRow,startColumn:n.startColumn+r.startColumn,endColumn:n.startColumn+r.endColumn},a=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET).getActiveSheet();if(!a)return!1;let{startRow:o,endRow:s,startColumn:l,endColumn:u}=i,c=!0;for(let e=o;e<=s;e++)for(let t=l;t<=u;t++){var d;let r=null==(d=a.getCell(e,t))||null==(d=d.selectionProtection)?void 0:d[0];if(!1===(null==r?void 0:r[Di.Edit])){c=!1;break}}return c||this._sheetPermissionCheckController.blockExecuteWithoutPermission(this._localService.t("permission.dialog.pasteErr")),c}}))}};Aje=pLe([gLe(0,dg),gLe(1,Y(rSe)),gLe(2,Y(Cg)),gLe(3,Y(ike)),gLe(4,Y(NNe))],Aje);let Ije=class extends ru{constructor(e,t,r,n,i){super(),this._context=e,this._univerInstanceService=t,this._permissionService=r,this._statusBarController=n,this._rangeProtectionCache=i,nLe(this,"disposableCollection",new eu),this._initStatusBarPermissionInterceptor()}_initStatusBarPermissionInterceptor(){this.disposeWithMe(this._statusBarController.interceptor.intercept(this._statusBarController.interceptor.getInterceptPoints().STATUS_BAR_PERMISSION_CORRECT,{priority:100,handler:(e,t)=>{var r;let n=W_e(this._univerInstanceService);if(!n)return null==e?[]:e;let{worksheet:i,unitId:a,subUnitId:o}=n;return!1===(null==(r=this._permissionService.getPermissionPoint(new hAe(a,o).id))?void 0:r.value)?t.forEach(e=>{let t=e.getArrayValue();t.forEach((e,r)=>{e.forEach((e,n)=>{t[r][n]=Ege.create()})})}):t.forEach(e=>{let t=e.getArrayValue(),r=e.getCurrentRow(),n=e.getCurrentColumn();t.forEach((e,s)=>{e.forEach((e,l)=>{var u;if(void 0===(null==(u=i.getCellRaw(s+r,l+n))?void 0:u.v))return;let c=this._rangeProtectionCache.getCellInfo(a,o,s+r,l+n);!1===(null==c?void 0:c[Di.View])&&(t[s][l]=Ege.create())})})}),t}}))}};Ije=pLe([gLe(1,dg),gLe(2,Eg),gLe(3,Y(eje)),gLe(4,Y(PNe))],Ije);const Rje=(e,t,r,n,i)=>{let a=e.get(Cg),o=e.get(aRe),s=e.get(ZEe),l="";if(0===t.length)l=a.t("permission.panel.emptyRangeError");else if(t.length>1){let e=!1;for(let r=0;re.permissionId!==r).find(e=>e.ranges.some(e=>t.some(t=>Oh.intersects(e,t))));null!=e&&e.ranges.find(e=>t.some(t=>Oh.intersects(e,t)))&&(l=a.t("permission.panel.rangeOverlapOverPermissionError"))}return""===l?void 0:l},xje=e=>{let{viewState:t,editState:r,permissionId:n,ranges:i,rangesErrMsg:a,desc:o,oldRule:s,id:l}=e,u=iK(tPe),c=iK(V5),d=iK(vf),h=iK(Cg),m=iK(Vc),f=iK(rPe),g=iK(dg).getCurrentUnitForType(Pi.UNIVER_SHEET),p=null==g?void 0:g.getActiveSheet();if(!g||!p)return null;let v=g.getUnitId(),b=p.getSheetId();return(0,$Z.jsxs)("div",{className:"univer-mt-auto univer-flex univer-flex-row-reverse univer-gap-2 univer-py-5",children:[(0,$Z.jsx)(O7,{variant:"primary",onClick:async()=>{if(a)return;let e={unitId:v,subUnitId:b,permissionId:n,id:l,viewState:t,editState:r,unitType:Bi.SelectRange,ranges:i,description:o};((e,t)=>{if(1!==e.length)return!1;let r=e[0],n=t.getRowCount(),i=t.getColumnCount(),{startRow:a,endRow:o,startColumn:s,endColumn:l}=r;return 0===a&&0===s&&o===n-1&&l===i-1})(i,p)&&(e.unitType=Bi.Worksheet,e.ranges=[]);let u=f.selectUserList;e.editState===QEe.OnlyMe&&(u=[],f.setSelectUserList([]));let g={read:e.viewState===YEe.OthersCanView?Vi.AllCollaborator:Vi.SomeCollaborator,edit:e.editState===QEe.DesignedUserCanEdit?Vi.SomeCollaborator:Vi.OneSelf};if(e.editState===QEe.DesignedUserCanEdit&&0===u.length&&(u=[],g.edit=Vi.OneSelf),e.permissionId){let t=function(e,t){if(e.length!==t.length)return!1;let r=e.sort((e,t)=>e.id.localeCompare(t.id)),n=t.sort((e,t)=>e.id.localeCompare(t.id));return r.every((e,t)=>{var r,i;return(null==(r=e.subject)?void 0:r.userID)===(null==(i=n[t].subject)?void 0:i.userID)&&e.role===n[t].role})}(u.filter(e=>e.role===Ui.Editor),f.oldCollaboratorList.filter(e=>e.role===Ui.Editor)),r=(null==s?void 0:s.viewState)===e.viewState,n=(null==s?void 0:s.editState)===e.editState,i=!t||!r||!n;if(e.unitType===(null==s?void 0:s.unitType)&&e.description===s.description&&e.ranges===s.ranges&&i)await d.update({objectType:e.unitType,objectID:e.permissionId,unitID:e.unitId,share:void 0,name:"",strategies:[],scope:g,collaborators:{collaborators:u}});else{let t=e.permissionId;i&&(t=e.unitType===Bi.Worksheet?await d.create({worksheetObject:{collaborators:u,unitID:e.unitId,name:"",strategies:[{role:Ui.Editor,action:Di.Edit},{role:Ui.Reader,action:Di.View}],scope:g},objectType:Bi.Worksheet}):await d.create({selectRangeObject:{collaborators:u,unitID:e.unitId,name:"",scope:g},objectType:Bi.SelectRange})),m.executeCommand(cTe.id,{rule:{...e,permissionId:t},oldRule:s})}}else if(e.unitType===Bi.Worksheet){let t=await d.create({worksheetObject:{collaborators:u,unitID:e.unitId,name:"",strategies:[{role:Ui.Editor,action:Di.Edit},{role:Ui.Reader,action:Di.View}],scope:g},objectType:Bi.Worksheet}),{ranges:r=[],...n}=e;n.permissionId=t,m.executeCommand(lRe.id,{rule:n,unitId:e.unitId})}else if(e.unitType===Bi.SelectRange){let t=await d.create({selectRangeObject:{collaborators:u,unitID:e.unitId,name:"",scope:g},objectType:Bi.SelectRange});m.executeCommand(JEe.id,{rule:e,permissionId:t})}let C={header:{title:`${h.t("permission.panel.title")}`},children:{label:zke,showDetail:!1},width:330};c.open(C)},children:h.t("permission.button.confirm")}),(0,$Z.jsx)(O7,{onClick:()=>{u.reset(),f.reset(),c.close()},children:h.t("permission.button.cancel")})]})},Tje=e=>{let{ranges:t,onRangesChange:r,desc:n,onDescChange:i,rangesErrMsg:a,permissionId:o}=e,s=iK(W5),l=(0,_q.useMemo)(()=>s.get(JOe),[]),u=iK(dg),c=iK(Cg),d=iK(he),h=u.getCurrentUnitForType(Pi.UNIVER_SHEET),m=null==h?void 0:h.getActiveSheet();if(!h||!m)return null;let f=h.getUnitId(),g=m.getSheetId();return(0,$Z.jsxs)($Z.Fragment,{children:[(0,$Z.jsx)(z9,{className:"univer-font-medium",label:c.t("permission.panel.protectedRange"),error:a,children:l&&(0,$Z.jsx)(l,{unitId:f,subUnitId:g,initialValue:null==t?void 0:t.map(e=>Pme(e)).join(","),onChange:(e,t)=>(e=>{let t=e.split(",").map(jme).map(e=>e.range);if(t.some(e=>!Wd(e)||e.endColumn(uSe(e,i.getRowCount(),i.getColumnCount()),e));r(l,Rje(d,l,o,a,s))})(t)})}),(0,$Z.jsx)(z9,{className:"univer-font-medium",label:c.t("permission.panel.permissionDirection"),children:(0,$Z.jsx)(Z9,{value:n,onChange:e=>i(e),placeholder:c.t("permission.panel.permissionDirectionPlaceholder")})})]})},Nje=e=>{let{editState:t,onEditStateChange:r,viewState:n,onViewStateChange:i,permissionId:a}=e,o=iK(Cg),s=iK(Jte),l=iK(vf),u=iK(rPe),c=iK(gf),d=iK(dg),h=aK(u.selectUserList$,u.selectUserList),m=d.getCurrentUnitForType(Pi.UNIVER_SHEET),f=null==m?void 0:m.getActiveSheet();if(!m||!f)return null;let g=m.getUnitId();return(0,_q.useEffect)(()=>{a?(async()=>{let e=(await l.listCollaborators({objectID:a,unitID:g})).filter(e=>e.role===Ui.Editor);e.length>0&&r(QEe.DesignedUserCanEdit),u.setSelectUserList(e),u.setOldCollaboratorList(e)})():(u.setSelectUserList([]),u.setOldCollaboratorList([]))},[]),(0,$Z.jsxs)($Z.Fragment,{children:[(0,$Z.jsx)(z9,{className:"univer-font-medium",label:o.t("permission.panel.editPermission"),children:(0,$Z.jsxs)(v5,{value:t,onChange:e=>r(e),className:"univer-flex univer-flex-col",children:[(0,$Z.jsx)(b5,{value:QEe.OnlyMe,children:(0,$Z.jsx)("span",{children:o.t("permission.panel.onlyICanEdit")})}),(0,$Z.jsx)(b5,{value:QEe.DesignedUserCanEdit,children:(0,$Z.jsx)("span",{children:o.t("permission.panel.designedUserCanEdit")})})]})}),t===QEe.DesignedUserCanEdit&&(0,$Z.jsxs)("div",{className:x7("univer-mb-2 univer-flex univer-h-[270px] univer-flex-col univer-overflow-y-auto univer-rounded-lg univer-p-3",V7),children:[(0,$Z.jsxs)("div",{className:"univer-flex univer-items-center univer-justify-between univer-text-sm",children:[(0,$Z.jsx)("span",{children:o.t("permission.panel.designedPerson")}),(0,$Z.jsx)("span",{className:"univer-cursor-pointer univer-text-primary-600",onClick:async()=>{let e=await l.listCollaborators({objectID:g,unitID:g}),t=c.getCurrentUser();u.setCanEditUserList(e.filter(e=>{var r;return(null==(r=e.subject)?void 0:r.userID)!==t.userID})),s.open({id:Yke,title:{title:""},children:{label:qke},width:280,destroyOnClose:!0,closable:!1,onClose:()=>s.close(Yke),className:"sheet-permission-user-dialog"})},children:o.t("permission.panel.addPerson")})]}),(0,$Z.jsx)("div",{className:"univer-my-2 univer-h-px univer-bg-gray-200"}),(0,$Z.jsx)("div",{className:"univer-flex-1",children:(null==h?void 0:h.length)>0?h.map(e=>{var t,r,n;return(0,$Z.jsxs)("div",{className:"univer-mb-3 univer-flex univer-h-7 univer-items-center univer-leading-7 last:univer-mb-0",children:[(0,$Z.jsx)(N7,{size:24,src:null==(r=e.subject)?void 0:r.avatar}),(0,$Z.jsx)("span",{className:"univer-ml-1.5 univer-w-[130px] univer-truncate univer-text-gray-900 dark:!univer-text-white",children:null==(n=e.subject)?void 0:n.name}),(0,$Z.jsx)(_5,{className:"!univer-w-[90px] univer-min-w-0 univer-cursor-pointer",borderless:!0,value:"edit",options:[{label:`${o.t("permission.panel.canEdit")}`,value:"edit"},{label:`${o.t("permission.panel.delete")}`,value:"delete"}],onChange:t=>{"delete"===t&&u.setSelectUserList(h.filter(t=>{var r,n;return(null==(r=t.subject)?void 0:r.userID)!==(null==(n=e.subject)?void 0:n.userID)}))}})]},null==(t=e.subject)?void 0:t.userID)}):(0,$Z.jsxs)("div",{className:"univer-flex univer-h-full univer-flex-col univer-items-center univer-justify-center",children:[(0,$Z.jsx)("img",{width:240,height:120,src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAADwCAYAAADYdbe6AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAB4KADAAQAAAABAAAA8AAAAAAt6wVXAABAAElEQVR4Aey9C5Rm11Xfee/3rEd3V78lWS2p5Qe2sAHxCGYWMMgrK8AAs0LWjDyTNcPDY7CHYTC2CWBw1rg8E3Bggh1kHMbMsGRWEmaWPQ8SB3AIGQsmLCDgxBjLOLZBJautV7f6UV2P73Xvnd9/n7u/OnW7qtVSV1VXS+dI9Z1z9tl7n332/fr87z733PNlWUrJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQMbHsg3iqmUPHDze+Dff766r5Vlf7MosvuyPDtdZdlhfckrCjkFz32kTvO6tyv3JB79oTNrodyT87oOr8e5+F2X564vo4+oG8wNdbUriV/tddVo+nA+lcXjNsX6VXa+KU+tT3JKppePK+SglbW82zI1pKEjaEJX3RnN01STrL5VuxpEn/ZPveSvJUGSjYHy2QtZ9vi5kK8Osmw8CbbDu0TzEjp+r8yz3/jZN+WfDJLpM3ng5vBA/VW/OYxNViYPbOcBAS9f5nfxd5/Aw5N/wZ3kQGDtNPokH4OhZKb8kSLxChy8zYHDaE6E30HF8ykSSlekXCKxvmmTGqaVoE+iSurTu3KgEl1jNiCu2yWu5DbauFWvaW6z6lOf1H1OeWm0cq3MdDkNue2S6YwaTQ4dbpOanGeau97ahtE4yz5/Jss+98Usm3DjMx20hOGZjkt1kvSQHoL+az/7Q/mHrJY+kgf2uQfifxP73NRkXvLAlR545JHq8OUyexcz8FvVqolZoDHNjbhZTu36KwmhDGDqZv1j0EQuWYGZt7uuzVpCraknrsflWFb9WISpQiNJxvvzXCxeVu5JvEpO87rTprrEw99W7VfwRjqn8g07m7aYXjpw0+KbCumPk9sqmtsT65Ps+ctZ9gefyrKVNXhqYbN/i7JIzTau3YfaRfbuxR/Kl2qRlCUP7EsP+Pd7XxqXjEoeuJoHBL5rVfZxJvB7Yz4HghgYNk32NfOULxIWn9H5sLLnzhMJWbvWTD0hq39Qsbw3KZ+CT/NfnfdR6/Z+JaOyJwcqr3semeSkKWCLoHa3y/KoHxcw22j07tzWuH9XEuuT8pjH2+J+XW6ay6Zazsfq+SNPZNkffzrojG2Iy5tspuL9O4/aoS21utnrFt+QQNj9lfL95wH/97b/LEsWJQ88iwc+80j1cVjui9kEALY0S0FlJZ/crWyUGpT49mvS1p8i3k0TOHy2rCueWkZ64+VtkdWmf0Tqw6JaEUmi6SPWaaSa1gQNq8sWiUU8sXxMly61NfWIrjTlDdWp3rq6SdZoPhBncLm6j7gvNWl80/FG9tZiG5n0KklAqVl3Gu1LgO+ffMa47ENjsD5q/SK6mmkbtKnpaqz117Slbit73U8lEJbrUtqHHvDv8z40LZmUPLC9Bz7/WPWuoswWncPn3mbebFc95vH27XAh5nfeprzLxrziUaqBYFPZ+Zt6jKmWsWXcmtF0OLMzRXmsz8lTGnICz1if8yjfEsigW5/GECrTumgkB3jRTTe5gbQaG6kpa831eKRHaXU9yz72R6GsT9e/QXl+Jfr+5Ki0SPji89OQpJIHds8Dnd1TnTQnD+yOB1h6Ps1G2EVFrTZ/a4ZXaoBNPbeHprrNKnw4IDkAOF35pmgP3VIvfqVNbYG06TMGuyaItNGhiM50SWlkoOSU3B7PnR4a7XP64bZ4LnWu1tR5pe7HgdKqfLjujspTrYHu4xXZxuF5xOg2Gs/0Q4UwtIg1EJuf9CtbxPeHf55lHc1GLhS1TWmRvNvkJOlRknhcpnpvN7P9AYuUU0oe2Fce8O/qvjIqGZM8cDUP/OWXqgcBj+8Xj32B9eETtxPrmVig50kkA6GYt250kqsycIE4pbseEeqyMl+GNUCo20xHLWgkCEZTXy4f8YocJxO1j5oqYZIBbShuRIi0iT4dV81bZzV34LFK1KBi3I3avdnpzrOJrsaaoEw+0IY1JTVtAvqa5h3FwOm6zzydZf/+c8FG97vrtzF759JFB9LvNzLmf+quC5Ypj5VVz7KLWS+7+21/K09RsJyS0r7xQIqA982lSIZcqweYpO+zZ7bRBqhc0bAmZmhq6/HN7tbfbpv0hQxXSTbx064JvpmuVd7BwnVcTefV+vD+PI95XafTnq3Ppo6r1b0t7iMey9XKAsLBMABjU4/ZyDXZLv3VGa5VO2oVmpKmoFpfE9OrBtW9sZmr/cp0mBeMtUt+8cqmREkeuHEeqKeoG2dA6jl54Ll44JEnOGgjz057hDTNUaKJvs1EPtcPYCy9TTCI+/I2p6nepLmOODdA0cRP8rLnoklHnHRD4El8SsrtJoLc+/S62l0m1uV9uA61ebvrkGxMV11pu3bX6Tyuz4TqD6d57jJeV64hzs0AwqM6OoXgdk4j4shn1h8feuVoxPOEjgBY7bU/1G6uso8r7TfdGr/4Ih/GOrx/6cLGHyVbVDml5IH94oEEwPvlSiQ7rskDTOb3akK3FAGb1aFrInfwqrmmIOX1OHcQeS60WMbLnsd6tio737Pl1yLb5HGd29G3at+KFstv1b4VTTLye48HrjqpylJ9nQSE02umBr9+FM8vBxnj9w+118DrpC3zrfic5vmG4OEHf6e69w3fmk7L2nBJKt1oDyQAvtFXIPX/nDzARH7YI8UYCDwKskhqG43id744OtqG/TmTXb8LNutOv5Y8lo3LklVdf/7ctdne1O/tzdz5nO515VvR4va4HPPK/3ZyFQzua7VvSgLXmqbdz9d8zaTEZZ8NoKW/wZNPsvugfpK/lJIH9oUHEgDvi8uQjLhWDzCvnhavJvV4jvVJ3uhqIDVB1usODF4P3Buf0uFtcXmDY+tSLCMOr2/NvTXV+4tl47LrjWlxeSut3t7MndfpXncbVI/L3t7MXd55VVfZ655P9Ukvf+ITWAuAxePJ5U1vRBegXqHLaQhrQYSqJckq6vZNWkbMs9OhNX0mD+wPDyQA3h/XIVlxjR7QpBpPshKzHbHMvjZhU/f8aiqvxhO3xWXpiwFgO/1NmavJNfU1ZZvt2/W5k/TYBi9fix3O63lsk8t7m+fCVy1bK/frGsvtcHlhh/UldckD1+WBBMDX5b4kvNcemCiyaXSqyX0vZm9168DRMOFZq9vJbUd3hc/W7ny7nT9XOxxw7dLUyCoddq0iY7V7ndOqzK9TGYRMRB9SEKea5uRNdllnG8yuz9G93fzibLCmUvLADfFAAuAb4vbU6fV4wCdyTbDTH0y4HoVJdsc94MDoS8B+zZod6fUjB0oD3ZpBWCq6kmRjLI7pam/WTUYfpFpFKMcVo6SP5IEb64EEwDfW/6n35+EBTbgOvD75upp4onZayvfWA7omDrh+fZTrz6+bLBKPvatNbjJG5AM+S1tdTNHiJN4mn/PEbdBagH1KyQP7yQMJgPfT1Ui2XJMHfHKPmUVLaX95oHlNBL7NHezxBizxq118nhzA42ve1CteB3DDXPTEctauj7QELS+ktI88kAB4H12MZMpz94BPzMJfD5yeu5YksZMe0DXx69LU6xGwg6hOLNO1i5Oe1ard3x1utjuvB7iqi0f4qny7vh2UYUkpeWBfeCAB8L64DMmIa/VApehIM289+1rkY7NuTbtWRYlv1zwQA2YMhn6t1G6Xj8Kmd4BFrFMs5zTlTleu5Dq3A9f6a5JuzoK70uc+80AC4H12QW6EOYvve+Sw9Xv49IAfMB/cCBuerc93/tKFu8q889eevlB+xa3HWjYR+6xqryEx0243CT+b7tS+wx4AHB1kDSBRH2HrRiN0+wWkuBFBu46uwE1znfA6CKsTsQU0D4wua3Q11boNsON+Anv6TB64oR5IAHxD3X9jOl/84Pqdw/H6V7az/h1VXi0MWRds8fCtWl+t3vmBlZzqU61OazmbVI9WRfXYz771wFM3xlIO78XW0aj4JibZO7XEmGd5Fe+slV2aVzXBip7S/vGAR6myaHpp7GJtAKeWoC3VdJWnvJQj8pbRrvdhQB8LmtKND9Ojj5SSB/aRB/zrv49MSqbslgd+4v0Xv66Tdb5xNC56WdXJq6wAtFraGmNdQlDS54lyUp6g/tK8m+U/9cDlQavVfqxqF58vWuPHfu7NRy8Z5y59LD74yMzaypHXdKrOa0bj8S15q1VVwG5ekecZ/5OwsjmfOv2Khl2yM6nd2gO+IqEv0vQ0qppVgOnXSe3+G8AqK1mbPsRHLn61eWQ7vbZq17Ni37AF75RfAi5DPu0zfM2tLX0kD+wHDyQA3g9XYZdtWHygOjSqVr6d6PFOJiP9V7byVq6yTXjqvyS0VB0mgLeewgIdUrcqy5eCfi/r8MOq7/yl5bPtPP9ikY2+8DM/fOyxnTL/nR945o5q0nv5aCUDfNu9PC8Jd1uTil052GT2hRm3HRkYep+OY6eMSXqetwcMLAWIfIumqxLUBYT6E4jqeukvfgY8BVno/gU0mupOqOW8Ov0ZSgjSN6VT9jSliSGl5IF95IEEwPvoYuyGKUSvJwb5yv2tPO8zERU2S6kjIkl9EkHkTGLga8hFZLKzqUp05wsimuAgFtmxqpUdrcr+V7/j/Zf1zPhsu2o/xomCZ45ms2ff8pacX4Z99vTAA1X/6f7wVF5Up8bF5NVVmfcVjOsmgHuEMHdjCUZqWVy2QIvvDjb34RPtZmqq7bkHuBDxtYjB023xdt/xPKXrelPRn3iUK/nrSyoLlJs6fce087t+r3su+ZSSB/aLBxIA75crsQt2/N0PDO8py/G3MlsxX1VFTlI3VrVpLKtabVveBfKmcx4zXJjeiHi1aKe5zOazguU+IhbwN8vtTANkiE276LutysuX8FOwr30yW81+6oHVQSsvz4HswzJrDwFTfnROk2l5KOOn6vJ2dQi8PwTvoQwhehPm0kmwUb1XLDcrApac6maJdNCRiEJnn4gtr/nIUrrRHuAC2TWzqxeuk0wSzfPwTbS2t3ItNz3SqNlYlOGgjvrwjIIvna82t5yBdqeZ4vojXml2VsR1V7cU86Vy8sCN9kAC4Bt9BXap/7/7vsv3TIrRX+cn6osKXAvn4IYpsMraYGah53NElsLlrNSEqPBSNC8bUDODtesjhEK0oqkMpGTmy0FSaZR+PlgpDrMlz5a7RdW+TVBN5A2cFzYPojcvFVVbzVDX5k/Zo+AcXXkb7rJqY0eRk5emmw7Vt+iAuuva8BwUEev5foOeSjfEAw60rFpY5GpGcIH0vVIK35m6nmf/7OWn8iVr2IGP099fzRzrZcUnfiUf74C6pCJ5YFc9kAB4V917Y5T/9D9a+cpJkX8TvTMFsurMxAdg2vQXlpUBO9UBQ2GXlpXFyjIfoFcHFXD7hFmiw8DaAZpNUUS48ApYWwLHXBFKUdKXdApbWwF0oUX90gxDafuY6dN0EOkShCNKU0tzNgoKVqWFqQHs2+C69Ie6pOuwyHhr8KUXBFLabx7QF8xtqgv60um7pXyn0/xqdnKlyPQFeWSndSd9yQM77YEEwDvt0Rus753sdC6K6uuY3ogetYyrp2OgrR6iWeJhqgFkq5yAyvb6EWAnvqIkECaWDZFLAGWJiD8AIhBYtYDCUlunTb/KamMuRYeBPIBqyE6d1WL0BXpLNwFGC/pLRdwk2SMwNuCHgk0dIbJWmoPNQK4tQcsObhakzzqUtMqe4rLTdivXgJXiPkWL62rfik/03U5uy7PlssN5vKy8OQ7RtktNecnanRQCuqHSJRKPvonmNuVb+Go7/c+FXsxmMyxbrz8XmcSbPHCjPJAA+EZ5fhf6fccvrn4t8ebXhOmPsFQTHTMhkx3PeslLRZuCRD33ZUJsE4MqNBZM5i1bhhboaSVZdOVBxnYj29wJMubQC9FVZhiF+BROKwXgFDijDhyuJ3Jk1b84DLu1qQr9RMPWj2yAGdCVraCsQBzdgDRwr5sDNWsshu1mSZjEpbHuwyZ11ZU0Pk/e7vWr5ZK7Gr+3i8f7iGnS7fU4d3qz71iP2rzuecwvWpxcv2jNcsynclOf15U39XrddXouPV5W7vXpvV0gTf3iffilUG7Xna+KyqajMaZaxfPLFrmT+yueG+dh6eT5KUlSyQN754EEwHvn613r6Uce+Hx/rnXra1kSfgVzW6nlWgGWrdtqMY4tU7SRM+npB3WhiUw0G0BYEeyENeBOm6Vk1u+05ssyM+W83S6kplKuZ7AkPZslFhULC9EsQ9NuAGkDpGMtFTO5ajk7dGYN9E8N3NVDYfZmwYV+0Nz6sSVrbe3K6Ydla0r2LFi4rveVecKsDomiheLsBNMMTvJJ3kEjUDfoXlcume34t9LX5Pf6Vrq8zXPvV3X9xSm2NW7bzrYmf8wXy8s1atOfuanuNObxNucTi7eL5nXRVPc2rzstzqegWo/TZaTL+UzxFvUZb9iJfDEvO3+7usSKzMpOqEs6kgd22wMJgHfbw7usf/ED1YGVyeW/no+rYwAiASPYxlYmXuIxkGxr15O2QYGv7TbAB+aqDTg0EHbzwDYWgdk6pUhYwAsjIrZMbKvDBKlsqqo6CnfoZUId1UJDYbHR/DmxZAW1kwnzL4GyNlAZpyZ0ba4iIyC3MAWYV/StB8Usgcsq7IICDjOdUxeJX2zXm79gv8B7E5x5zXPJe1m5AMBpTve6g0PME7iDDqc7v7cpj2W9H88dCGP+uBzbIbrLOT2Wb7Y1+3W9TVu97rnzKXea9+d152nWnR7zq+x1b/dcdLl904WivtW4dvrc00//7/kNO7XNx5/y5IFr9UAC4Gv11D7k+/EPrNw6mqzfx/u3fRaGJwIxOy2KGTCswhH5Yjf4lwOcYyZAbYIiltTzV0CYVWIFu/xv0bByRbRQLbLVJNoqgUMSiG2xrYpCVZ4YUwJqw1tByIVlbWbZvABdBZQtg3GWlQFi1pQ5/APQFnITXVPKO+gR6JoO8DX0H/To+bHVteELESG47h6wTY+EbYZvAoADh/LmZK8xeLsBRM2j+wmvi8eTeJv6vS2mx2W1q273KNjoOpp1t8P547pocV2ycfL+PPc2r0s2HrvK3r94Y91NWeloyqvuup3f81hXzON01+dtTnf5lCcPvNg9kAD4Jv0GvPP9q1/HGu2reBjLCLQxSuDJBGrPSgVYgq+QRK+BVou/RJqAIc0AYkvLxNp1HF7zYVEa8EWHdlkBmu1SoC3A5MgsbecKy8qGxrwSxI4oHWWpPvlP27iIigWQimr1ahHAzrNidKPAXl2qn+3KViGfzNbyuHFqos85mlDROknL2+G1KHLBSIiMicONnY8YHBiwAY8kla422cdygTvICqgcLGIQE4/osZzXY3mVY7BzHs+dd6tcPJ5i27ezQ7yu13PJiT9ui8uuV/wu47n4vF256Fsl5/E253MZz9Wua2L6vRLXvSymHUpf+6ZqTqp4BWlth1QmNckDu+qBBMC76t6dV/6Of3TxCHj5DZNycgTwCrEh+5uY+G0qswkx7DzWYq3talZurwgJFOECMAlQsS3XsRiAHuhsy7/EnNqTBUiXnP2cC2cFxuJVDhBqMRta/f6v8FXQC2CigrCWB8WwEqXyALeATTu/AG0tJKvfMNnWU7uUmx7ZiF694yuFZhdhNpKIGJ4EuUCzGw52j0Ezu+rcmGs+By0boxm0wUvV7VDRdGzSo7GiR3+evK9Yn7e7rNe9b5dV7jxXy53f+9oqdx7X4316LnqcVL/aTYV4435Ud93eFut2/U0ep8d9uV7TWX+4nJtpdbXtUFpZz26pVT2yQyqTmuSBXfVAAuBdde/OKX/TB6vukfHKl1Xj7NVo1cKkRafaK8XEp0hWS7wExSFSrSdFAa5Fp1oi1tNgRauaHBVlokQwU43teStKtFBMBKooWYBLm/GTZ8UEPO3wrBaY5TUnkUJCgyJjHhsbdKusBjRxA6ANW6bHeBWFo7u2Ua89Ta20dpcVqNtzY6w3sOfZNAwoNMOs81oyRP0mvfHhk38MHjHNQdJ1OJ80eNnbRFPZ5VWP01b83u5yqnt5q9z5BWBum2gOaN63ci9Ljyenqa6yJ/G4vrhfb1e+FT3WvZW899fsq6mL6zi1x82S2c4X23G9ZaLf7too63TH6RWk6/Vlkt87DyQA3jtfP6+eBLwHhyuv6Awuv4LfA+qhhGVicEc7o3QuIzMau5YLYlfTL4xTISzjqmBkRbB6i2fTCxo2QRLNAnY2P2oHtPNrAZslaAJZ7Y+ij45CT9sRbQoFpt6H6VEwi36VBaQAJ0X0AaLiVYJgUTlFLWnbjYE18OH6tAOb0FsgDQDp+XN4+ExfhX5AAiOkY1NS1UChpnq7T/QOGGqO22r2KU31mNfLyrdLri/m9X5jGW+PaXFZ7QI7JdcZl92Gpm7VneZlyTm/6/D+PXd6nMdtXvbc+baqq82TbPBkbqvrThYt1uG815sPLrAPgpPE6X/1enUl+eSBvfJAAuC98vRz7GcKvMO1lzF5dRW7MnEZnBqQQgSsBFT8EcJacMhcXOcAbosyQMc+aJ7NqntoJKFhAFqe14KDRRtwY+oH+KjTBhfPfm3GtO5MVmArkNQ7ugjZyVfSVkeo4iHoFYWCxOCtbal1hX6Rh1FAreXzCWDNvjFK0i9d9roUwlrCBnOlUyNFYcHthspa1dbmL/SYjTTFZaqeNNEriS+e9L3czAN34HW5OPf2mOY6RFPZ09S2mh7XncfzWIfTlMcyPgbvw+vO36THsrEul4tztbsNsZ5YztubesUTJ5OPr0dddtdIXpfN67HsdZXnswOtUVb2LmfX9EMg19VXEk4e2CEPJADeIUfuhBqB7sJweCcPQm9tDdaOT/QTuDXm8isIvNdjgBgmL65cyXs+9ntuvNur4ElxsDC6nNRRMoBWldocLZAOwMmWZMMvzYNtGAG4MTMigDhRZ3ZWM2dkaY5kTRtARrEDeB2gAcKKt4lM9dy2moQ5O5gmK5ALZ2NpCdqeCkuZTbuoxe58oihXfaMfUoj8pM9sJVKeKMq35WctPusVJLNeIE3kbwOC5FrV7BO6A4u11TzBwMDvdNEcTDx3DtfhPHEel12Xy8V152vqjnm8zXO1udx2uXiU1B4n6dhKj/PE/DGft8e5t28l4zTncTnRRTN67Xe1xXwR2b4NLrsT+biVzfG2WvWJj6YNWDvhz6RjbzyQAHhv/LxlL4uL1dzqidVDrWF1rOxkx/P1ywtiDAdeECgqSuSxq3C3NbYotsZAIkAtDetFHYWvAKF+2LwAj3luaKdMAVslZ00SNrMUzMQEiPL+L/pIPDYGkAE/dBeFol7J8RBXrSCrMunRzx5wDrR4BdQVD4vzNj+HFPoJG6iwQXJwCoGxyx4TK2LVOIStQZYbA23S0rHSvJBMv9r+he3SV/etmwQH5bCUzYYvBdUYREvQI+s1qTsQOA5BCqkmePsUFLw5BooGTdVNgBH1423e7vodeLzd684n+nbJeT13Pq97LrrrezZa3K6yy7q86jHdGOoPl/Vnzy4jeiyzVT3Wo7Kuh/FR8GtTmxPamgLXWe+W2RprN+kHGK7Tj0l8bz2QAHgP/P0mNoi85DXZ7LibHRysrix0u61ZFlSPrRTLXf0cX8kDVu041hGPhZCJpdkq7xA+avISQCnAE2J5mgjc6kQBfi3hikv0dqfDJ8u7LO2aHLoM/HKi1RYPc4ms8/bE5lf1oaR+0GNzJKvCegUJ5IUf20LfCl05RsPsE0B3FIrqSA8wHuy0vtQ/7CRbOobfcumHzJ8tKQP63DwoAsYWo2tRWjLYqYgde6XDdVE3fdaHwBje0Iu4Qqq7DQ02Cm8JucCgtmHa4LQpgYJongREuikxIKnp035gUjnmdznPXf92uevy3PlcPtbv5TgXX9y/l2M9zi9elT133kDZGEss623N3PWI1/Vc0U/D36YXRcYnhXV7U/fzrT/8ofzJ5yub5JIHbpQHEgDvgucFuPOvWj/Z65ZHiR6PlsXy3GVFfkSdbJtqDQk2CfwEInrdB0D0ZWKWdEFhHcUIEAFyITq1MFAASZqAtHptSBEnAGXv7Xr0qd9S0Cu7tT7abWe0zsSwQzCkW70G3FC/gV96VVZjsEeRM0vS9ky3nrVrOUCpAoOJZsMyNfyslEulnh27zQp90cFGrAlryB0dY8kCObYRLYvOKrn5Q/Yzh1s/wbYw/nAjQHQN3Aa9mq/VhpXWm2yeJhplfPgIoBCDhMoOEJ6L3XlUdrB1urzh4OsyMb/44tTkMW/WDC7nPCKrP6e7Hq9L1nk9d32eSybmU93lvc3zpg7ni+VFcz7PXV65J8noT75xPd62KdfXBj4l46dusoFksmLZ6ZOwavUpSx64KTyQAHiHLtOb3vSn3SNf++rbRqvDk63WKu/oMknpmapeoSHcZMLNJzyzVZSrXcdMYKJrkuI/fv/WaDz7bHWmdfHrApUWtfIeEDmgJr2kNgdPAoJEuywtmzwRqkWUvH9rU1+LoJkoNbQxX6pP64eZU5uYxD/h/SJpq3WHsgG8Jtmw7E2fZu8jo9lb7+qOntIYpEeAa2OSXdxb6AFvDbwam5aRucFQN21uHxgJz31lW20HvPTd6pRqZZnc6LRxGIduQgTq2KWNZuarMJ0TUxvdPmjXpO5AYC113elqU7mZXEZ0lWM+l3W5Zt11xXTXoTaXi/uQHxjHNKnc5IvrrnsqQMH1qc3bPZd+t8FpW8luRXO9avOyctfjudpVjschmieXtSvlF0iNkS5VdTn0HZau6z0LWq8fjVayA3/+6/kF6U4peeBm8kAC4Ou8Wu94z8Uj4/n2bQSsJ8YrQ9CT+aaYWGRb8MxUwEK8y7YilnOJ3bRDWMvFFqmyBbgYh6hRB0BqqZXHs6zHSgcTFDA2QV5bqYBUtjaxbIsuYe645MBHGPOxIlGWaClLEFDmLZ42B1BpGZk+C5Z1FQIHMMUAbZxi1zH9KuXIVnaKpezrFAJUsxlQ5fGvbZoqeLKmZ8wzq+Plj/7VzHefPDr5wjfcNfgz46u0jEyf4w5jVkdaptb4JuEmgz60mau0PqAzPv1QkvrEDv38ESvL8oneMmLZnTFiv/lAY9ANAu8e1adjIU/kb8vlMp5kQBGK07qDkQjmF4bh5bgeqIHHy1MQgRCDkNrjNuffir4Vn4NW3BaXXZ/TPJe93kdcFi0ei/j1F9NMsP5welOH83i715W7DU7bisd9HfNOy7VNDsgaigOvdNZDc/XPKx8MstvGVTbHfopLi4vh3JbnpSgJJQ/cAA8kAH6eTl98sJpZu7hyNzB2CyAHWCpC7fNjPfXyKfMXkWnW4Vlp3mUuA2GJ9ureFDkWLSI99hfxC0RVpyQ8tp/mZaK2eYmJrWp3+/ZsWDqrvD+mD8U5Fh3mpZZ06cPmsUCjkbYQ/erdYA66QCdgprd6wG6BqBC13e1UALD1x0u6wbaqk40BurZFu4wl0yYtZlDNmNgNMOe3H29f/O4j4w//+mf7P/mXf9n/ntOd8Ye++e7iz7RBKlO4TVKELhsn7HTuhA4DHQPUt8YCUGO2ZGSQfGFy4DlTd6uvvrJunxsAbMQeaAA0QJ9XAyzi6EvrIUzgWBdMhKiyPqYAoKoR1bC5HINJzBM4N4DM27YCrlhHU87rzyX3vmKZJs3rzb6d7rl0OI/nosXtqntq0iXjyds8j/X5jYXzKhefy9vrYnWjLkWzXjc9r8yi3xG7n7vZWgLf5+XCJHSDPeCIcIPNuLm6f9t7z92+vnz5rmEB8maK/MYEfhzRyKSlVWWLIok0292cAHWQdYhsieQMCgBNQQVxIruTa/4CHoCLh66KWrXMDODiEqEmz3mBZD0lBUFZ+pWn1KZ+PBdNp0rx64CAOcvWAB9Ap5sCgnA12tKvtl4RlWLrqACMOwJokHIMryw3Gwi/SejOxacI1MCRGAMOJUXVf/ue7D0P/n73pz53Z/cfLj3S+eSxQfGxl56oPvnKE8UT4hfutvmFCJSj26dtgSwjkW57Ti3dAmXo3APoLWdzkI2TQQPU3CgYg8qc14XLbHOWKbSP2iZl08iqppniq3xsWLU1U7O9WZfUtdK27uHq1BjkxNmsb9V3U6PzeO7tTV3PVX9Tn+v1/Ar9fk24wLa0QS6e600rrDr1eOt35mB27np1JfnkgRvhgQTAz8HrDzxQ9b9YrbyCleTD3PkDsO1Jm4hTy6sdAJWXdAw4dPRTh//0zLNHuZyM856OkmITEjuTDWda3cBbssRqFwFg4jxJAuKxeLQqa8me1VqgCwTzUhJr3Nam9y3sBCsVADuWnokuOqX6EzJYe7edd8BOPUeVMtZ72ccEQMOnMpNh1WfZl3OlwX/sYSe2zFO7dimD4Nhtz40ZVwdwBwTpJuO8vzd+8/jv/a+/e7BYPZl/Z3Gyc++XznWyP/1S9Vunj40+9s2nRv8umMWNRznIZ7ozHJvJknQ+zmVY0Q0RP62cHThTDtVWjhkbdunMS3zHsZi8ssTNATbxenPJj6zbuJi4bSw+ydtEbm3WrGHueXJbdrLjJsg169fT11a6tqI1+7DFkGsATumy6yIFlFWf0uzqBfqUp9nRNdRf/l9Vh8pxtsCt2dqfpx9fuAaPJZb96IEEwNd4VQS+j2drX847QzPMQVpQBpKICxXRFR2iNwEb041mKdbEJuMxwNcF1ABURIj8eDjK88wQxdm7rRyuDFazJAzqjQFBoE+/+GOPOAXwADiRL5eIvhQ9dsfEs52ugZKA0VBWh1Mq9TZfSidb5IqNsqejsFT6mLnalPktBk2nebtHpEk7IWfelV5SyZj0jFYRC+vkWlnmfA1+QLAHpurMDHh+4L7LP/Orvzu/srre+i9mThFDt/PvePjp/nd89sn+EwsHyt/6iuOT33zV8Zkn7cXirFO1J9wN9LBB6NwT2OI3xqsRtqoZxsZNBf6YJvi0oG57wiRjgszlPolD8ckd/xBti8CfRrWHKbZnD7vdk65GrKAMuBcbkus6HuCLpb846SuvFG4WQ1nXIgbYuBz76/nugp6bzQ6VRL/9A9njocf0mTxw83kgmu1uPuP3yuLFDz4+9/jltXuIdAk6u/xwkECVqb7sMvUAtBhikVrBU1SBiFZ/AQEiWRo0MUGfADzAdgFPu9UlyhtrZZgy+A0bOpRlxWhsZzNLp6oGOprgBMgCQ9qtgRaLgJkcDRABaaursU5MmBbVKnokGGdGpM+YxvIwk6HBlfZkcd+QlUOiVBI3D+oR3TbWgvsLxeH2dhRjs53cY4D9B79t5b0P/s785fNn2z9w8FXoOIGNa9ltZ59uvfFfP9174x8uVP/uxGz1L+69df33b5/Plsv1cd6lIx+HRmVjlW2j2l7ZAch3iJRlV5v7FllpGFyPTZkmdZ/oHQSi5lS8Dg+M8PsKDhcAKwlcueljT0Oox5/LoKj45vjuzzXAWXwC3BiAvRwDcazvWsqcevUU5l3gpwebX4trEU88yQP7wgM22e4LS/apEYsfrnorT+hXiIq+TPSoVmBX5V2iuABYbr7AZRxFv7Y+HEGH5MUb5LqA6JhfBeryGo/AJ+gS+KjufYlf/aE26/QE6SAUia3HLQGq+AhJmRrDXKR6ANpJu83zVvGqLrm4H9fjcuLbGNdWkIdEDY6uL8h2swd/Z+4HLw6zN8+/EhtnsU198quso7MUqHQPZpdnO9Xv3b4w+ejrbl/7RPCT/BlAN/hBNippfFoW79j0r3GKKt7X/yeH3jXfz/9T1ZU0mWuEElSfhw/AtwVIiDela/PAZSLLVZ2ojB9nAdVZLofAd7s0BKwvc6BMeDhCtIysgHgrgLWbJi6WrpWuWdXL7r7ntnyJYkrJAy86D6QI+CqX/MMfrtp//OTKy9l3y1qxwEC394RpeRfwDdM+ILFJAxubrF3Tjzbwhmkm8BSlADZMS0GO7dHoC3y2ZG26tBFKr/QU5UiRH0p66GSjUkdgLZCUDo5w5gZAvAAWjSNavB/eIGJjFTuhxxPl8LfaAmen84w39MSnomKL5Fu9bi8bwcYvAcNvy981nwA8xC3auKVXprS5qmv3Eh3aRvn3f9vog7/2sUPVM59q/bcztzNpv4T5m5c8Z08Bpev0ci47OMrz71oZd7/r888sPH7L7OSDLztcfOKeY+tfkincNDCeYGvwmU6Rru1thc1YNnYtjDNiTeAW9crFJNVT2hkPrPEd0E3MYW6krga83lufr53+tFTNTwJm6zrdjcZ53UdFyW+W/Fopry9fxLV98dX3V732QnayuJQ9/fBHckF+SskDN7UHwox9Uw9h94z//afO3dIe8iu47Z4tuQp8lVo8fNK+3Lzq6dloNR4LRHvczANUej7Krt5qAniqTjtQoo1EFc9d8xG8XYBOEWS7JR6WYy065dEvfFkXXcxeFNmMxfu+BvpD6YcPHu0WNlAOcuydIkBc4QGt8fNzwQKzHn2xX2ow4pkr4C1b6j6xLpxhNRrxUBmcB3w5JwNbMJnQRWWWq9lYxqu6JfJMokWJvnJo46nKXtbqYg82apm9TduE96yU3vCd67/8q/9iprpwpv1DFcuSM3fIFv5wTP82JmUtVT6Nvl72kieqzrufWOtkf/xE70+PzVf/7G+9cv2fy6+6jegyZvlL/qzot2Ls8rF6qbL58BoSM7cMmk7gqpuFEFO6Lg+cmA/i8TPda1E4w2zSA7gvXQaM+SLqpXhtTfDLohsmu0bk0+t2LYrhuf/+qv252ew0jylmhr1sGVIC4Gv0XWLbvx5Ii3XbXJsP8stEM4OZo62iW2SjYVkMeOmId410ogZACq1iZ65q7JSiDlgWI/iAw0m7GHFwhAJF2qBzroTxF4OqmIGXF5CMX7JFOeTYjBFgo2gW2RLdCu5yi/r0w0JsVeqySWpUSla7tUKveqrLAR3IA1klB2FwSmXQrz7FI3qwpWu2A3BgH09ysZ2NTQAsthWSZ/V7gG76YWy6UeAEkc7Y7B53gVza0V2o/3yIzcFGgueScyjNP5wcXWl8/823r//S4QPlB4a8GHL5MwF0LebXjAuCKjrWXrDRl4iMmUZHZf51T1xu/U//y5/O/faDDx/+H//ozPwrijY2YaN0W7+13+QXhb0W+VKRSk3u9uezPPWUrs8DAt7nCr7eoyLneVY+dDnqH+/yJqOF9Z/QPm24hsKnD2WneGttjvu5Z77wT3MBcErJAze9B9K0tc0l/PGfX7m1bJWH1dzu9DjcKkS0qhfFiOXdnt3EswIdbuZ5wwewqEJdsRt8yDAJVX2eHrPhaurrQOvxrGyU9ftEe6Zbj5iH9CV9TjM19iG661B5NBy1ev0DxM48Bxb48RoyUe80d8kg16dvPdQLqalLz+xkhwcV6kdjlm7CZN4MCmOP5VwXkthcYc8YezZ4f/W35n/44mrrv9d7vwLdHodzavK17dPyGH9jng+PL0Gjrc2zW09M/l86Nlf+0ssOl3/yNSfDErXaerjo9X/jwHtmZ/Pvdl7lppcRysHpGXDsmRtTfgZ4tGui7qffesq67nXd26v+sz8DfvX3VneyCfAo+xPWP/VP8v8gtSklD7wQPJAi4G2uYqts91rdHhGfolFe3Cl7her6684c4NCMXtlir5PAVOWq1YVmPzJAPcgEeR26QTs0lxeQTYh6Vfe81R2Y7qAv8LqekPewQVF16CPYMCwHen8JO7ozXc6/7PHIV/Vgt+qToqf3j41H8qEt2O7lYI9ehZI9PXL1QzRfj0n69UeEbjZIzmUDnf3g9D9gBSDUe+UP/s2VBw7Nle9XHL7+KEuSTzD3MgFr4rWJmLxzjGfEdwO+8Iwf4yZlJTRxAubtT6+23vNHX+r87v/2qQPv/78+N/86jXt13U470ePFTcnneKnejWQ2R4qb9ahpU3E7e7ajx8LXwhPze3k725zuepV7WbJx2XVdLd+OX3RdD3veGymY9t8UfJb3kF72PdVJbshO8Bhj8Mph9oVIZSomD9z0HvC566YfyE4P4McfuPgy6eSsWUsz9anxqvMqLgu0Wa4mI/Mh4BTNcn60R23OFxRs1iU++ymYWi8PVFsKUjvzPIJdBaDRYXLSI93zM/mAzmWH28QhFkSpw9aEXxaUGn7+Nzf5AvoAOhFxB5pytddDMbXSo346vKM8Ye1YRPUpmzkca1Mu29SHeLx/9T0ZD8xG1y1Z8fBbCpxypZOuqurXfvvgW5ZXW28RvQ3j7F0sb2rngTjjP6rj8/wRPbWO8lc/h4RsiUn4TK9d/dt//N9lt3/ZbflrZY3EZYDlFEQ7cpB+uK0UzZPxQHBQmMo4w1Vy0x21P1vdWb1/78votQ3OY89E64rZVivfJOPM5KIrNW0I1M30mEdlCcXjj2XkN9nyDLvWD7LKMMcjAsmYHbWc8yv3NqepPk1UFAHHycfjedyGsrvvuTtf2kSLKtp4NTyQLXz1Snb+Ix+xN/ai1v1RXHywOjxeX38V57u+tJ23T/KcRDsy+LdZDdhYeBGX/EVvbn5p8Q35xf1hcbJiv3jA/03vF3v2jR1vfc+F09qYK4M4kIkzKlR2qJmBFsCnDRAJGDnAwnzZ4fyKAFYzPOsMwBYGVcuggs1Wpks6JC9oDH3M8G8YvaBc4BlkQ8CvA5BN0Ktc+hWJui2Sc6fJxuF63urP6o0mXluiH7drw35xByj2ccV558BMXg21iXVAxLoBvNOh150JYPuzffoJ9oo8mQzNRpXVn/TK7n/y2wvfd3Ele5foeum3rdeUmOjb9V/O6rcDkPIR0fKEm5EWS9OtaGla8t/y1Vn2H70yy+69LctuPxQAQ3QlOUIArOeQONXS1DnUjMaH+lBSXcUr8ppHdEt1PaoGuYje5FXddUvO7TA+b2zQxWOgTGErWekRWLr9W9ZFJIlPSXrE73qng7XWjX60w/xJNk9pN/PxudAouVpNzR34p5W6ENukfs4BM7z5nmlTViwf8011bAHAnPE8d6mfFV94f863YH8mQHdmuLr+VexifBVvBNwF4MrVOJo9ghxqzrdQfmc3pu0ZtCY2+S8V+fj3/v4PHVkyQvp40XsgfGle9G640gF/539+cn5Ydo90O7O1j3iXxtIsvxGwXs3OznK61DptoEm2TrQ7W62vr/P7BWxeBiBdznlpyrqddSLLWZuTOGDCIs0uv9UgeenZ4F2HV1HobBSNqq+QeF3YgDuOVodrg9YMpownM5XTg17JSLcmBR8D00Nt58Y4JAtgR/2KP8jNmu1193UWxj2eaDzBXm93X0hXkM+yf/qvjt5/fjl776YZ2QXI9cqSALnDn8r8MkM2ISKesCzdvhVaHRELgL+M3dWeXsnBH19+Mstuq4H6GKAcTvbYABfntb7xohypizAFBCqqawp1muoixiDkF8Da1E5ymsqim+5poZZv6HFG45XgVZLzeC7WK8qu3/uNeJq83pWzarxSKL6zq+wU4HGAdkFz4xb8UQu4HstdWG2UYx9J3xd5tj9ga99hruOmgztq3unNQJCfRsAv/5Gq372c3ckO+yO8wXf2U/84f6Tuft9kb33fhcOz/Zmv4PbytawMMULuNPTCNLlFvUS/VglEtRmhqIFYPKQvLnTn//k73pxfgiGlF7EH9O8ppW088CZOwDo86h7mVKCqO56t8tn11hjwm81nywngIjqvWfC+Dv+6VvLWqLfGFBPCB9GDXFWN+VGGuAu1qa525ZPRWt7pzVFmDRB51UWfm0PXGjTy0WSNwDen/9mKwzimcmKRTeNxVYl/Tfwk9lATNYd+XLfGMO6u5z3eQKoOzJbj0Xo+oezt6rvXWcPuORuXVHXot3dozsayYae9XkKf65xqNVupT/lE45RuWdDBF7JncnGNunyylv36vzz6+vOXW++TfVdNNjqmLqY3zW+llqUBhfYtWXbfNwHAd24GIenS0ulLiZhf94osW6A7OTAGF1OpDxriNsnGdZUFEAbGalSiHoOMeOLk/RjNOtrM77yxnGT8W1GLBDZVzKCNPOZzHZv69A7ITa/qMLoa0er4zL44Rvd+AquNmbPGs6d1wwOEKAoWCHvy/lzW/aG6krfrZLLPP4kOaEe4ZkY3jmi89G1jkg1ZdvcP/Vp25tyj/KzgJLsF8O3Q/6XBueyvvvDb+TBEmsM72+XkTl4dmOHtuAXegxvwj+7SpBpemun0nlp88+wX6y52LVv84Pqdg8nomzkQ4E6GGBKD1VD4HU3t8dAb6uz/YBcGDC3+05HuOloWH+jNfouGLYeXw9VV/DNegfg3P/fmowmI3acvstz//bzIhn3tw7VIuD8/R1jbyogQMiYVpS6AN+ZkCauv1g20TemBLXxKBhaOQeY9YP7N1nzOYgBN+7i7lncFxJTn4VmVXivAWeuQjPSEZWjXIFlscTs2yLz+W9s5pQWdbqfUn79YVQfIBfBmX92H2+rjlkyPfjgN06bOvFonkBaQ59gdbjTEo67MN+Sie31I2//xe3P/5cWV1i+KNkUDLyu3GV6FKGkhsp71jn9lln3zN2bZS45H7XVRorMA8V08Q341YP1yNnlpSdW/5GaIeCk4gKgad2nlul1tSpJzHUbgw0Ha6547r0a9XR/ev2Sm/JSbfcQ6vew8Lud01ZW2ar9aW5AKdqisQzQuaKEERbqpOcSfJ+8zzr1NucZ8HtmzF4Ks+b5hkPvF+f/yieyet/9ytgBQtTgBbsJJa489/KH8ycUHH5kZrhz7Wt5U/zqcNGNopmervLDOL3sAbACajqnhe6GvBqeUf3Hcqj7P6+9P/8wPzz0m/debZMNg/eSr25PJl3EyzZ1cT3dlUF1/J0VnXFp6ZgU62MZGQhu5wmElscKnY3NMB/whL6tlXuT/g5/90aOfNsb08aLygP/zeFEN+rkOln9d+Rt//tyB+WJmplcDyoADsXjK0xqOqqrfW8WPGw8rxaN2zo4AmLJqpsemrJrf+5bcwVpkJCAnue5QJxRBp/M5j/i47y6lU+U4OY/0qBxsIyqt626X7Fb58spKdvDAgczlpCvmVV1t6k9j6fc2dKnNk8uIR7waV6xTNO9T9Ac/duD1q+vZzzAJLbiOq+YCBJ/6WH6+/e4s++APAK5sFmomnj0b8ImuZ5CneJFM+c2aNOwrLvR1DMbdKBXb6dUy9EW2Cei58EluzNhUt2WKbVNZx1fqFC2+VtkhnlAIbLdKTte3/mOfzF77y/8335tO9vgdd2VPPLSYT975gWfuYNvgt4FVhwSyALOwzZKOiFNBEaRybot5zYDH/kAxOyOIKtVtxakx1Rm+c1+YLbOnf/otB8+K91qSfnTlqfb6SX4q82va7fwU//RnLbJFqQBUyuPc+qPfpm7xOU2H0WgMkjNaXfcxiQbPw525sw8tvuHueK+kq0j5C9QDV3xxXqDj3JFh6WjKz5zNZp9avmRTf4tf4OWwKfuHdohnj4Mh00Zfm6TK8vKlViummQEspY4EYjPIUB70g6zaFoCi4SDPl6G7nOjS53r7yKk8Xm+3tdDlbUgjfym7fLHV6s7yRjB2SdblPBfNzhDC1v7MoerSpUtT/f2ZhWo4uGTfhwWMGQ6WN3033C6pkL7RkHFgv2wwtdh94mSwz/vfileyov/GQwuvefJ89lFqVwdhhQ7xlHQqy37y+7Lse76BSSuawaRVlmgT1naAoX7VeTywZl08Sk2665/m8EiP+PQRvKBKSC7vudM9n+rZQlY8sdx2Zdd1Lbn6U5Kdrq8mTf3RrOu3pLUM7fwC5FUA1n+UQUvVppOPFSLnVf74kYRszPVSP/rTcqwuoZa3pU+69GtKviQOy/QZsHT99AdW7iXQ/RaVN29g8iXcEG2i28BQfM2ktd3Qq9CYpau8GgDS5/i+PM2yMFsMW3Z0tb/5zgnpxPnVCWw6jp9OxvroRyYL1S16Va563QdGhfZAC+CsNxzQxb2CyVl0rLItTVNQlOz8sV5Elnnb6v9cfMsx/jWl9GLwgH2ZXgwD3ckx3n//h9t3ff1/PLNc9Do8dszWBvwzUjp6lDU4Fc5nc/wCoeizsyWbszTdHM1mZ89VFzn0se/8tcxw7UI+B5BxRFYp+dnZo8icz4foEIv4VY5z51H7cOYobRl9Zei/YNPikewIdmlykC1HTc/a4LzZ6bokq2T1uSNVdt6M36DRr4/DiPUHO61z1PP/kewC/4UkT3g52Cx/aGz9AbqDY4xV9kjuN/7lwdecvdz5TRq3BmFZy6QdHzr4rd+VXXrzf54t2A5ozaAkecmuAPzHiHjl7SlN5cBWz6QSCDSpV1J7XDZi9GG6ayXOW1eNS+3hStV20Gh8Ulozxvyu2vu0zk0g6HF9WuY2vbUe1+H21CKmLm5zW6bytRmuVwLNsttpyhr8PgxFt8v1vmSXFwgrQFafAugjRL7aBb1OFK1IejpGKa7Hs8CzfV0j6eCol7u/un4N6SceuPT1PDv9emls5UV97nkbvTqYVQerg2wGhOH3raVSfMrVtydsMdCTbfgAOVlY8LOW6OKsWOnwm4eSc2M39G7wikf6BKTqO0S6waZOh6Ptpnr4nU5ekXd+t1Nyoe9gVbA72OU8oUVnv/JL4mZrbUvW//9+7i29Pwvt6fOF7AH7kr2QB7ibY1vkNwuydy/1ns7mO3PzJ/iH/JR1t7aq6WUjeVtMv7xyorqF55RPPfVUdguFZb2Tm51tOW+W3ZKtrZ7N5+Y1jaqd05Oz2/hnejYTzXWFdm4CrM8TtD0FvxLKSa5jbfUWdD1VLa/eUh2afyoX/0ZfTKzQ11eeyg8eaOWDtTyfmdMSdVl1W+2WyqaMD2+TrHRPshOsHp5tiVfj8P68/+ATp5+oNF4l8Sr9ym+Ov2J5pfsxigGE1ZN7T2Umff0UohLz6hc/9dH89zkv+r+eYU7VpC/LtFyq8gHWJU5yH6DJzCyG5qokb4No6q8ZxC8dnrzo7N4+rYuRiuoGJuSS2dRO/YoEg/oxcPRG74y66/Am5VGz6Zct/g1Tf0qb5Oo+xKd29ad26zNmpLyVLumzZMKUPKfIxkF+VRNwVTRLrshWev13gsX6NPdxAmD9sIdWI9S/ckXHslt1ydZ2WQT8U+9f/kYw76us320+FHUih7RS2HXsUTL/FNU1OnkHgbLyUA+Rs8oxj+q2tI1dMR396NG6tjZJBT2iYavpDVGt+gg06fEU6xEtRMnSfyW/eENUrHFsLG1LTrp52P2p9/zI3B+ontIL1wP1l/mFO8C9GNni4mIr+/J3dZ55Mssvn9cEsZQdOdTJLyxPbFLIstOYsZSdvut0tvTokpl08OjpqjM50xJPgvHDvAAAQABJREFU4D1V86r9NLwcan/hDLpOZReWl2qeDd4jh0Jblp2h/RTtZ/LV5XY+f+m2Krsj0IKODDuWKvXtSTaoz0nnlMUNw/NPtEfZkLLzLGWy7/L5pfzIodPIZ6bfxyNdsm3hyKlq6VGinktn8gsLm+3XeFcvdfJTdzBJ0w+7shnrEmMMY3NbLl3I8l/96Pgrl5cNhIlfG6negMUkdfHY4eE3fPzX+u+k/D382QTOZJUtEXHpl3j0ysvtAPBth5jso81XrlG8SpJV8rrINWkKWCqILsC4GlhKj1KtelrZ1Ac6vC/vRx3GtKkNNd34nJlG6Yvt8LqB/1Q46LS+a5pUqOjjcbs2G0w7jLLHuxSf1et82iAeaLJFSWX+t1STDICn/XhbLedjlpDkzg+zV/7mv1o9DebcLVZFmg6Atahl/uxXlZJwl/vCKUj682C1CdgC+PJlsMVvUaUXIDZQjUcuno2kduwzsA38DM9WsQMYi9N51L+S2aItz+yENkJNY/ymS89/NR6lrfqXvHh93MHmemx5dq6cO/A7P//GnDe0U3ohemDzN/CFOMI9GBMAXC6+Ph+9/y358DQ3/qez05MzyyxQ33Y6/D3+Ccsf/0N+COi2Z4rV7HQ5/PQnyjPLp4y++tlTk95tGXSOW8zWSpWzRz9D+3JxZvkzRe/xZ8iXC+ldMBl4509NVuc5zOqzT3GgVWa8L/ny2yZnFj5jbdhRPv6HnyhWP6sDr9ZKdlGXj4+y4uFHM/SfNn3DflY+ef4zFcvBE+k+ePQLlfruPX66UJvkJN97PCsWTp0qTn/56VJtGTqwYyx9ZvOrTiGvfjbsl81HVp8yPxy7NasWljOzX7qQn0hW9kEfv/1bup841Mv+Gpdqib/NaTrRl3/vdX/jLx/RThslTeT1o7TsJTz31WYhTfqKhv8DW24eeSZEaxL3PxOsZZtAEPMIGFT3XHIGKCJESTqmemIF8Jh9tRLnkbj0iKyPqToKpr+WE93UxTzQpjw1H9lG/1YJOmN51zPtDILbIxEl8UhGf5YoGA+5A62YXE5R7zku9jm9byZ6yEKZytTOWkbtljZ1Ekif+OT6d/JM9A5e5ZkQ4NqvXbKkK4gdU4HGT16zRgs3513oN0UUgLNhmqLorATzClDF73YEWbAOHn7CJOdHv5Bn7Zg/tSNHWW38nInxlPx8iev0dgYJTX/wcwq6+pFdWuQWr3QZPNIum8wW+sFgbgHFA91ttlz91XabHRzdjmbZIN28kE9N9mmcWiGnzcZpH0daayvfsfiBamOHZ3Bb+nyBeGD6b+4FMp59NowqX1zM8ocfzvJXv9rmqal9W9HU2KQ/zA+fvprz+JyOvur++8MttXSK7kpVf+ihh1of//h9xbvfHeje7rxux0PZQ60TD5+1uVH6peNd78oqyXkeZD9Cy/2Zyzkt2OS2fQQb7s8+8pGslG3idTtdzm3MsnfTz7uq17++Dgsy6Q/po4/efycHOPy/1E4bRVhLBMxd4gP/w+uzt4n2n31v9iCdfa8GLaM9d+/qpw/1g/LaFPRSHsnP18+Jp15yNHBBcgGLqkqxTtEMMNVe8xkTZbUxYU7ljM6H5OPkEarkxR+nWGdcFo/0i30ruhplcxydO+8VA6ChqUP6XYf3Y7RAno7Bbfc25WvAzDI3OWKSbw/0gx3qXzTleg1JSf0quZ822VF3/K//7eqPP/l0dhYc5VApoleLOGUdF19RpiJE9jgDqGAfw9bu5ymd4zAEd5ytDoDZxid+QktnUul3O03WDKjL9MAvgNW6abAol+iz7gPTMYAt+yYrQfpWwibe2w22gZnWn76V3Awq7sVmRddBr233lw77epvtG3pNG+EyUbFpNv2KgVQLeehL46FbbSZro4w9j2x9+zc/96O7/76zmZg+9swD9T+RPesvdbQrHmB6Yo64UrXTPb+Sgymz/g64vPN63pTZih7TVFZq6hPN+TwXrZG+oTrNpquPM52dthhjRFS8ln01n5ek89N/VX0I8Pk+SdUdbVJwlCfJm05fqlvPIK1dutoAdIRDJrSTV/LutGZZYt6msrc7qHij80zbaznVlabtNYPX1eY8VqbiEabqSs5bi075Rd8EjrWs2VYLuawpqj+8P29zftWvaINm9LpzPfe9yOtgI+I+9R2fGS31Lq/y0wDwVGctbwwQp3Qxkh76k+HbvvTU5BkAh5/BBPPQjx+m78uGTVa2jmv84rMCH9gRd7ttu3BOGIx2QLNtQO1A7/o297mh19u9L9Vlk+uxTuuP0MZvf1N3i4lmsREUFQ1iAOpawL7g2sS1oZPgmw1ZQVo2yh/eN/+i/uxn33rgUy6d8pvfA/a1vPmH8WIfgYNd0w9O97zZrrra4nYve96U2Yoe01Ru1l2H0z13epT/Ub5EQPA6plnlCg5ely3pEPsgo8nUZ90pGMKmWVl/Pt973XMBrmR13OLnWaL+AkvUWkIVsLgM4pZcJu5HNCWBpP2pbJQNedfjct5ubJsqyMDkJOVMwtOkov5iPV52pqYNoosmIWVM2tOkoleNpa64DmdU2xUJopacdUKWdjXrtaRj3MDEP9ggdS6rPC6rYnUn1u2qasxEkXqSUPCTlrZMDOjokmyU87aWd3XS1AQ79KOetswrPsmJpjaV9ad2INB4nA6e1TztsLQsfpZ7Az8ZMupTufWv5ev6L+gL/Ze6PYAHCdPvfXo/pgc5/IFdhenIW21+XCzYJTnXK10c2WH2S25Stusx88vadd+cDFa4PdZXK3v1T7535StwXUovEA+wVSWl5IF95oFPAsL3VgLh+7LPUo6SIhkDGmiaNT0ZoFEXySM7tXn9JE/RTvCnKE5LqHqd5kl26Wr2V1ucHFBcvfcnHm+L+b0P53O5mEflmC7epq64/WqyrsvlXZfRayWxb5p6xS+AvhqP9y9Z8WpVQaCrJWfJuU7lskMpLls9Iji/03WN7K/T0rNTgY89mCVKFCC2FC2GyJHXhqiDVnrvO6gh8mUMtlzN94FlY38tSbGnEm/2tigrQja9JqfDOmznMbqkx+pkjEeryEG3fKMke+C3oVnZhskRdDxelke06mzL3+iMZNSf/EU/WksPyvRznx75Oq/65XmvRcXqTzuilegLzA22xHJqM9l2ds9PPrB6ZzGce+gf/HjO7WRKN7MHEgDfzFfvhWy7QDjLPtQcogDTwVbAoClOs6QmJwPeqOyTnefSdZj3VPXHRGfPifUc03UoItYxjDo56xBL1WrjiERL3qfzxrkYrH/lxr3xYbZtQRdHk3dDKpS83XU025t152/Sm3Xp0/g9xfpV1i8ZKQ/LtsGv+oEGibgvY5lI1RU83kecG/BKl4h1NKnVWKJFItQC8CXq1dqrLdGKySJTjp5p2zK1AlHZL4xWUXysjxiasXEK02ogrjPTEHSI35L6crt11BYvFIKI9ZtJOucGLQSu9kwYRGTYvK8r3S6vZXJFt9Zf3UOd6Tkyz6U3LVMjO7UPObrGZj1b5h3jYLONxjRInpuOcLY0/YgoYG6zlF2x/E3q592Vb/+xB575i194y7HP1N2m7Cb0QALgm/CiJZMDKExBRJMlU5qDoPyzFVDEfhN4LxDN+SRsOR8s+2UDIuNLALFoAuFjgE/zTGTrI1ZI2XXF5K1ocfu1lLfTEdNV1kwd51vpdp64zfXo3V6tDug57xwzg56Ve3KeZr6Vvk0yCPiNkeh+XVwPwMkqNFEw+FNNcH5bICwhQV44OKMlwCoAQxJLu4owBX78Ulgo8z2wV4dKfgfUnrPqcA2AXMApvNTGq1L8QLXgOjzD1SuCNejpmSuQb3q1XIwBAlZuBFjLlikCdX7dRCAvfXnbDtlolRMicfpCnH3ZWMVJOnyiH7BWKM/gOBYryHB5iqCDLWXSwuqLbhy00VsHe2jsYX+Won31BBuHygHm2C9L9Rq0cFwy8nun6r7ix/7hxdtnur3P7tT516hNaQ89kAB4D52dutoBD2h9ThNUI1nEwqRlM2TcFiFEVDSOJq+AVn/arKWd1Mr1pxQDsGiKDuMzpqVbSTqb/VjDNXw8XzlX7ePx3Olx3mzTTYzGo5sOAbCM1yEnWmp+vsnw0x2CEq9brnqkmLdveM6pl2+0DtwB6wKQcT05V1ygY9EfAKvtwFin3xGqOsIwIRGgChaLt8LoHIjNtd6rFtrLdilANggEXwWQ9GXwtwGyQKGAGohTfyz7WmKrNVoBdh1UxbtGBtZhQ5WWxHVDYPbBz0NsdBqjmuy0LIwCKQFni3LJFblKh76nROGhHYtBeV6p0kBlKL/3hC0as5asQz/k0GQUi97KjF4UoDXjREFvOJzc+473XX4Fg/3cXP/i+cU3v0QviKV0E3ggAfBNcJGSiRseqAgUNEF5mgIvU5TKWyWRNYPFE/9WfKKJV1Gv/pS0ThmrFVAtcdKTdGl52nlneT7qMtfSjymPPtzGiLRtscnbrG8rGDW4357kiAeLuGibYQxaeu+DBdeaNNZm/34dBLh6tqlcf0rKVHaedqvL81/2WQFSsBLYsuoL5BmsGje4CWTaGRparQWYFDAqsOyArroRCsvARJe0ESUC0GB6W8u8lZ3cFc4G10PhikCXtWbAUFGnwBLgq0ZE3q2c31NShImUImrrxwBXY2CDFNGuwL3Fa8Vl2QF89dpTwc90VhUnU2qUtmytyFZYqiS7J3yBpFcYbi9TaenZHnALabWbWm3BHmSJuBmC+GmTnzSOQFO/uDrcYOAExms3JQXmsZzeyvswvGZ1cCj7iQfWzuPH88Ph8PzqZw9d/pVfyfnWprQfPZAAeD9elWTTVT0QT+AqK2mi13JhM3l7k75dvVY3bZ4+A4aiNoHU7bzqpKVanb6lSFkbuug+e9lxwKv+F6V+tWtY/E2AmiqvC8/aDkM8DtkRyzRtltq4ve7GfgxBu8HF7/q0sUrL8Yp4NdamLgNKiE2661S+VZvrV+5lB13Pja6HvaypApI84yWipWYgJ8joCPBE7xDr6c7LwJfrPAnHOHI4q9oFomZHPrGlYSGggFTLxnppN5RVr78nwjw00q+1gWC0ICB5+oIs/bU3anndiXXG8HOBwTMAGxmdWS3AbgPu2GdJdJV5CGx6+OFELVV3OtruLeCnj1o/dnPzYRdramNtk9kmwNVZIiw20wf2Sq8GNpEdrAOw8o0CC575qc8K+2nUg+zDLFsvMPa7F15zKX/7L1xazjudMc693O1MBsWoO2gdHaz//BtPpBO25LAbmOrp4gZakLpOHniOHtg0gdeymsyd/hzVXRO7pj1P+sEBbeRSUiSmwyn07Dj+7WG9d2wHVjAlCuT4DWdbstb7szoTOU6uW7Onlze1N4jb8dnsWwtKRM9ydZMw1PIyuSZ5PdeVDZ58HF5v5g6eMd38jK6GWVMWvxbxDZFknC5GtRlNq79Vf1yM9SxU4MfzTcCGZ6kEhlrphbc10IEXOcuuZTjoIgCu7UQWkMIjwESOVVrAtxwK6ADRPo+Vhy1+PCF0KUBjxmMrF9qJF8s2uESUim+UtKzL42j6Qr/hKHKSNd9N8g7L3OpzhFxP0TL6dDNQsnTeAYwFrMEr0sNKcg20haJ7/V4D/PhAwy6LsQBeyWyzflVWt66HU9h55os/0MXqs43HInH4eFOJFej+SG6aDMFokoN7Gz9KDmUt+oHemuM9J+TzhaLki8jNwOTiTP4Tv7hO3F5c6M20znZnZp9ZfEOuI1ZS2kMPJADeQ2enrq7fAwIRZp5NyQABiib1OGlWclbnaQJKzNOUVV3yBhSuqKapTUnz8yHNoTWoOdtxXm3SSuM6E+CanrECEvqNOf3gvSJoT9p1reQ/8ecg7nq2ss/bguTGp9MVlUuvR1XSIdBXlKul8u2Sy8ftPvbYDgPSiCluU1mp6WfVY9r0emj5NB+VFsWVY373Xgu3+DzgEte0qrqsM7Myq8iR7U9spiJq7HRmWDoHLG11GmADiSRTokM/LWTPXieDrN3tmBukR7pt3xOrv15nHxfL1brMHYB4wHdLz2uFs1pT7tjaMv21OrwArZssbaQSuGN0PqnLGMx6dAc57G+FkWltGWOnYxkbyhMV8z0QyuY8POY3h9URMXUX32ggNLfGQLQi+w5vM2/4QwE436ew2Qw+bOCeRX7Ar8C6PYcW0NPnWOPQDYhuTiSE3VR0xofdgOiOQjLDMTc2rc5CuVocGgxXXvZj/+DCo7/wd448ioUp7ZEHEgDvkaNTNzvjAS35Kflk7gAhmk/qKitpIvfk/F73POZxmvKYvpVsDDqxnJe1Qes2zqj2pEhUv4ergyw86XUfHQzSTBrjcSJVRaeyQ32JV+cvO6ja5loatLN3HlC9JepLMtIxx3NsbajSMvhWp4M1+92yXjsi9of43C7lcVtcNj4Ifl38WnmudszT9mYeZBKKRr5Rm4BxMp7YdqYu6DqmHdjKQGT6HLNkTqTHsmsPMBtDb3GaR07kx3Yte4La7XKgOSBdKLJuA1Z0MCaXjUJGQMiAXtG1ASH8SsgAn52yp8fEJMBXh29UbV4D1mhbtkw9aXVn+iVo12IA9jC30+20BIq6x+HGrBrDq3IBf7sbHmYQr0LTtEsrvxiiKJkyQ+2UnTbHTNMGnSCeiFv3EdxwaGzcoLEZq5KmXGPoGF/I5ZcZ8wE+Y7w9e8ZMF3xxeeStDdkCWoG3+Uv9y29Vu1+2ifglLzvZxHXq7b+wcvjQ5fmHFxdtvRtqSrvpgQTAu+ndpHvHPaAg11ZwNTVqElUPfMSTukh1s4q7kqzf56BZgBzvmpaootK7j4Tdx1oiFsgKWAWying8qajf4l0hslXS+FlytdwAtvGvWDu2413bJvQ8PyIzrtCwXZvfsNg1QUrjMSSzj1pNfYFabKcCCLVXCaAi+mOcwqUs77I7WOu03aJi51vRHwNIXQOSlpYVukAGOgDvrBiPsz718WQMjHVZVYW33QXV4QBkOwV6gRj05S3JwS/EKfi97Ha/m09G46rbhQaxbMFTdQF+6sgLeCWiwLULxpfo1TPgvOyyA4uxCRT11hG82MniNMPV0i9tuk4Fshl22TUzUIaGHerfaIq00RGAWNucQXlk2Y5NuM76vOJhYFdjalVjxoQPGE6BvS1MVK4xj7BXgb9dExmMI1vQFQV3kAtbwSFXRNY2fg4rQX9VyNgxYNylTB9ZMXNp5sI9i4sf/4vFxdcp5k9pFz3Q+Ke7iz0l1ckDO+EBZhjFJTaX20eo26Rf19WNTUQ70d8u61BErD/9nu7VkgBVPL4CcDXe/dKma6Lr4DY7MNu1qS9Qu8+9xqQzYcWU9107LJkCKhVrBfr9AaEUB4OTgGhWUcG+kZ5SCmYmIyJeCERz2hzFbmRWngmAyxGrwYBvMSJ6FBgD78YH0rFQ3apGRIF8fYCWTg95jKJv5EJfkmFLdt7pcTbmaMxKLhzQ2EPNwvRYv1fIaq8WqdGP3mLcAdtAQrvLCIPCPH5CCaBEtpwAatiTV2PhbdbhxkImyzFtdOimq0toPS7DeErZjRx8tGmzl+zhdqRHPwLMCY99+Z7rJiFvYx/tkiXpZiHrz1Afj7g/CTr1bpXGPxmNGAvjpW5L3FqRLse2JK/+GLP5VTydTqe7NvfaW+E8I8Up7Z4HEgDvnm+T5l3ywKaJnD6muBvmv13q9cardSC78ZY8NwvsevlFqnNdKisKRdrrHIzc5RCNca7gTAlwDEAHWmnDsULj0WTEGzcBdAVGgC2cAk4efbKhmOeqFVEtADYCbAVcgBrgB2wZ+AGrdDs2oArgzVNb65BosD2ijSi5DtcFZoAw53f0APFVgS3L/USiAKDAjaX/qhwGEO4Sshso2+0Gz3OJgvUIVsAmyNXNRVnMsYw9YgE59CkdgyFL1JYHwFS7ngMH23VwFjckqNCz5dGkC29PNwtyD0H8iDER/nIjAjybj0THR1mXHX+DgdvGvYFuQnh/mr8gjC/thgPHBt+apEXQZmNrnk1fq8ff9t7H1t739jt46S6l3fJAAuDd8mzSu3seYBoJT+ci8KW3enbZvX6T5mv2QHwtrFwTFLx6m3Le5CUC5j9FwKzdahOalmgBQluO9g4FRmxS5qwrgElLpkUA4qwnLTwZHg4BLO3UYil1AuiFyBnsrYA1MJ7noBZBAszqYzQa6skqz2oFcoBYHQEboLPSULBBmE3PPDUdEj3y9LgNoNETEafeDLLl4y5bqDlCJF9nm7n0Z6Muj1EJTAHe0WhUtNs9dAN2RNvQWdYmcKevDnRbGgYQpUt7qNnJzEAARPrQy8jSVxEBM2YiXqJm7AUcaa6XlzFROosi2F9wY6IlZd53ahVD+sDOTDcoE0W/RMZE0NyWmO/k0xH/tfGhbnqCTsaEb+iTp8PDCs9kM+XJkx/+cHXp9a+3rWMSS2mHPZAAeIcdmtTtrgc03erZok1UlFVPaX95QEGkonVdG4+5dM1E8BsnWay2iqCTyHTC499qItDJe2x4ZrVZO7M6faQA1o5QFvjQ7xWRWl12J4O/ABuxph6XAnh6MSjvsfw8tH7bnTlO6xBgEWXm85w4PdQuY86rEEbRLTvThkSg2Jn3QOQCMLLfL4KfTcRVnwNJ2JtOlDpiWVfPByr4AbJ+6Jdn9digSBT4EohraZcAW79NzD4sLTsjIQ8A3kar7NUqnk3nY72ShB0hbKU/dIU+YCfJbklqDLbkjJ42S8vqn0M/CPTnUD1mvN2y2x3xehY7sLUEj5+QVeyObAB0bQNrdUY6I0zvB1ddjRX72I9QDblQ3a7OGwWhkeHuJmfXuOnSw992Z1h98vExb7dnT/GX0i54IAHwLjh1r1V+7pHqXnZvHL7n7vyhve57r/uzGZhObaWwrijThOVte21T6m+zB3zzlVMNfFWpL5CgwW+iFPCyCWmiTWWlvcsFgOZ9+41CPTqdFIAqO3knkx4R7BCQ6Vfj0dA0CdjYbQygIWKPSgWOQBsxZAdeIl7jLyYD8qxiZRZ9OjBKxgwBcvWpYzjD7meOuxIqarUZgOzDOwwgC3jrPbNWV7bRH0Ltbh8e3TAA7NgnUFMfZdln17T6GfIsFSybzOj1Ke4a9C74EDrATZlXmoy/32enNsg6tj4EvlneZ3c1VmXVYJDxWNzGKh1mHDavDwdlB3ox3vBD1tKOb+xUmE6SHRqj/IN/9c+DjXt92+gnP9rNiG4gkOngU4u4ucehnvdn+3azoT7H2fDg295bLb/v7Xn9wpw0pbRTHkgAvFOevAF6/uKR6jT/PB9kU8l9+lf62UerJV72fx1AvHQDzNmTLh1op5M6vYoWppg9MSF18iweiK+FrlNcd9EpDUjiOCfWlGdaEwMsQZ82/Wb5+mSogzKqcU44OuTdVoT1DFU7htrdGR0UmVeAMdEfYMd7ueS8MWxdVAWACYiNh4O8c4CIk81b4xn0WGxJhf9ZqSb2luzAZNtqHwwKwuNsvBbhjdHXASpOXubExxYPmlutdUL0GX71sMdzXWwA2JUPUNzi5yWqNsA7GrD/eNDqTAibZYssQ1eHcbG9WfL2HFi3AbzXzFjBXHQTIcMIgFLWdvhgZ7/qdZAjWAWI6aPHjuuhwe2A19M6B9arDmd2yAczspd/FbppGbO03e4SGfPOL9BtY5CtelguvcZJeYCcbMsGZbZSDOwa4OqW9HXbq3pzPXIItZR2xAMJgHfEjXuvRFEvs83H+ad6WMt9ultlsjvNxo8HseZ1e2/R3vWoydsAmJz/QzSFD1LaHx7QpdB1UXKgnV6zQJ5+8noqMSvvo4IRPeZ4PRatql6rNw/OTHo8N13PZ9l4NOn1eeV2negRVOixoiyQHmmpt8jFO57M0rbGyu9stW5QsabXmfI52jh+hJelFXUSkQLsHd5smnBghn5NATxl2XqOaBmhEb9hAKSpv4xVa+mZndWRZzyOZu25rNZbq6M11plnbenabLbgmc1RrTVecZrlgTD/FrtrVTGiTv88PS168+G3EUwfutdH2s4u3YyL8cm+4WStGo7oiwe53XLNvs2deRhIvJHLoNdaQ8YoHFSjnufOzvb0dlTW4/UjNj5XPYm31nMO8jK5slznHWgtu/P8m1z9aJzd3ho+mK0KDGrZ+NBh45CfeQJAf+1AZ3PcOvcAw86PPFD13/8Wwv2UdtQDCYB31J17o+wRIl/2QP4/gNBh+5dKtwIkA6Usu+/zj1X3veKO/KG9sWbve9E46xsOzSobs72KIujPHUPxeaWmjmY9VrpdW0yPy8g6IHkeq5uWGzKiX5V/KtgobKGnwbGjVXXXTLpmbrtyS9BmOnY48XgeKFm1l1Xnsvl59u3q0JEe4MESbTVggzMA2l7t87y1pKnPcm6Zgw0Ec/2szc5nAsKqN+rnIwC6Db6NCCOLAl0K8VZDVDyLPlRkHQ7e6uRz9LeWzUzmWN8uOZ6zry6zfHW9tTIoq3ktOQNE6lv0XpcbgdbshFOf9e3LRmy04keQWl2eXas9RKxlNq/v3YQol3wMyB8Et8eDtXzUm6vQl6E7P8yQAMx8ZbCG3jzvjgmYOaZsRN7r9vNVFDJcbfPOwGpAfV03FgUHdGbj7gz8RKWMd8y4xcj4s0G+xtGj8zmHg2BQGG+Jj4qcGxNsbfPjjKPxCuNi3AX94qcZ7j448sNskZ6RTg7Re2HFGrYxFmhF3jdbJpMzMikBME7YyZQAeCe9uUe6OLnmXfz7Pu3d1cBrAGyTW57dS9tD3v5Cy30C9wk9Hp9N9BA0DyptxRPT4rKA27BKwq4g0uG8ypUcVKwCLa437XB9rkPtSlfI1HpCo31OP0yWmuvYZK8Zrkb+ItslvAXJdKhNyW3ZpA/6dJzGpI+QpvRGP2pVW9wel32s3p/a2KhbtSdaEAVIiND6PPcdXDKTBRIyneVRJDhbW6DFYRhVX2/d6Od0wRoCTTvAmO1aetZZFOtBu3Rp5CUrxYo2RyMCXvRpwhtMZrGcEyrY5wtw2yjsrGx42J5UlmvYAPANATodgTnbO1CN1qv8MjLDUVUd5JhRglTpYF+T7Aage9iCvMahpLps0a8d9Hqc6YxOXRcC3eoy49EY2mOiUO2QBky1wGu2oXcWWd4iMrvkgxE28Wzb+u739AOE6IBPfVw+C/RDm6WP0To3Kixt+3jHazP5/IGylI9kq3gGo8p4QVnzq05os4R/Pa1fLrKjx8pqcCmyZXK4vbhYtRYXtW6Q0k55IAHwTnlyj/R84YvVd/NP+fub3YV/roHKfPNVzfYXSl2zkjZgaWrWZpYwRW/UFRlzx28pbjP/SI4Wm9kCy5TP2tVQ63Z/NnWorjblXpYS5/M20UydOlSZyjRqj3R4W6zPdZkgH6rrMYMlU7rRn2hqj/u1QUJ3mnKlWG9Ma9LjusnVslMTKIhHf7U5YrP+XK/q1l7zel25ksv3211+hkE/ZwGQzCzo2GKeXV5iI1JVrQ0AKnLwinyhujy6mB0+nOeXAAvWRllpbbUEegcXyvIctNk+zzRn2EO9zHakvhaHLtnrPwLvCW1rK/ByFVTu82x0/mSen19eKOcGF/P8EK/tzrI9iT4Pn1zILtHJ3ALnJVNvty/WNvA8FVt0KpkGLptk90z/kulp55f4RoakV476gHW2cDhbA8n6sxoxx4PyDHeIDnZKZ06zdWRsHGKXxtOePcSBkpfkWh2iZXwztE00Dmj2SpN00EbAuok2nCyU873ldofXmvXzEGvjoPPQIU5T06tOaJ1n47N8GMYQ7JKPeJqVZQsXs4XZW20tQja021yT2palbIm1BT09T2mnPJAAeKc8uUd6AN8ftUlOk5/9E2Uy875VgDatO/0FlOuABI1bf/XUYaNzX3jebPO6t0sopk3LovPnYCk+pWeTE4906M9vDEyGussq15/zSUZpWqdNnTuP2lwWsiXxOq0mTeVjObVtxesy3h7XnRbrn+qoDfA+PBfZy01drk86PIlXvlVSmYXRojMsitW1sjp4jPOunzmXzcwd5ynwuXz5Qr3mCX04Osfi6fGqvHwu7wxb+cFZbsO0z3n2eLZ+6TyPSMtqSNCrX346Dm20ftZ67bEMvIInEMlZcc5G6D6Ibp5+5k8vldUMK9CF9jED2rLp4OzR6umlYEMxPN8aojfnbSBdmtHwRDZcO6dilmFTfulsNZjN8+UnRDiX9ed4u5dUnDhaDlbO0eHxKrt0Fp15fk5v+pBmsCVHzwA9ObYcmD2XnzP6cW2oZuH7bNYbMcbO8XJt9WzO6rXxLcM3zyB4pFxqTPLN8WN6Q+gc/2E3+kcAbAd59qsVkoOML/jg79yTqtE/Y1l++gQ2nctX1o+zh40QOjuRtY+ebxXns3LwxCSXT/TsvNfi9C783msdt15Y0GebmCJ528lm+tLH9XkgAfD1+W9PpfVsl0joPuuUf142+VEJMwJ1CtNb8D21bG878wndxs2HIuJphNgwxWZE+wgNU1l3GmQHGWuDzk7yK5LanM8bjZ9KmOqcupE7v6Z2gbL4XGaDK5SmbfV4ZJ7Jey5ClLbS06S5TuWbQI96kzdSvWWb2VMzNX3qslOdYojsVf9xcrv0BT7Q600uZ8ujI7eezueOZNVC9zjcZ7JHHsuyU3ecQuyMia4us//40Bl+mACQXW/nl9dvm16lI4fWWBc9Zcu4Yh4fOqMl3kwyYzZc9bunADb03KrWM9nckVOV3n7NWFO+fH4pP33X6ezShSxfoP9LF87knTn1JeuO6n6vopxfWF6qTt91Ilt69Hh2xOosnR/FXs6Hzm4NNkrlheVJdWS4Zv3rzIwLyyeqtfUlWk5np+/KkKdk+XHuB5aytfXTtBGdUl69pCfHgDDRquxc05jmlqgP8rP4Y+EOcB/bZeud92TV0qNL2HI6X4D3ImMdZbeVbtuRW8+YrjFysm5+AV2ksB1sKTt58nT2NLYcOXQCPjgmWXHsrqPoXIEH2+zB9vHCbQbKZZeQ1y6fdKV0/R54MczX1++lfaKBg97fZabwT0b/Cvh/U/I6+elNDS/Aik3q9YAdfAUyUxBgzOLZ6gsunphP7hGIK4luvkXW+KBZX1Husk43vkhnXFdZfMp96dz7Ub5V0rDsry54P84rXUreT6iFupfj3Pndjqac8zqf1z3//9l7t6DNrrPOb7+H79Bft6SWD5Jlt+yWEQZsAuYQMpUKg6DI3VRBLpiL3ODUVJiqHDCegA0zqahdSU0xwGBsEqaYUIOZS8/NzE2qElKgpIaBC4TNzFgmII9adlutk9XdUn/H95T/73nWf+/1vv12S5aF+/u69+r+9lrrWc9pPWvt59lr7cOLXfU/UuBU8s3TuNFU+lvLoezxoRx90uBs68Hc88356edfbSbPHT052z3dTC+dO3f00n3nJvcJdt+r5OcmV7740OHnX316cunVV2dXmivT8woZ/G0+B8256eZDetpYZXLTNA89NKFt9y+e1N+5KfDP6695tpk+98cKOK+I5qHzM+rIeuLZJwIn6RK2+0Xp8H3NZPM54Z1Pmbt/IbmSAz36Wh4ywEPmpT8+d3Tp1afUN2jOB/5zf/zk7KLqyEPXi83F6fkfSV67Xzw/uf87z03v303a7JP61pyfw4s25FjX1OX8dPe0+iZ5f9k8dIQs7HixeUL9fSHg98mOH9Lf5nNNyA47lT6jC/qDC2/6jz3gQxs0na7gPTn92387pmbTp7fGApzifToBFnjm8uIxPfHxh97erFVedYKqX3zk3YNHapw7pfynX1p8Vn35afcnJnCZxTj2d2lrkN/oJbWOXuVVGwXCysH45CTTkNdltxu/xg1CHeq2W8Hc5ty8LQ/4urJh5E41zHzctpqv6md88wC/5u268cxvlQ/wr2lXcx0ec5dUt422m0e+7xG5+QK3/JTNgkvv/eq4qgv4Tuvaa1hXzq1TveekfV1TpwzXEncZRhtwUkeXdY43bxssyoNLvFu1hhYlCuPCp+Pf6XDhwicHjz/+OD8n2KbUs62GDnW7Wy5caAb664SowbSZd3JMsz6vdYWmT2+FBaohfSvY9Tz+uizwzHOLP9QJ9hgnjRMnHHX+bgjMh839jzwyuGrcOyUnAKvfP13bwWXs4QBsGHZh5VXbhzZwSbZh1jrntK5e09HuumUBszzKJMsBxzqYLjESBx2Na7jpzb+mq8vGX+0L8BrPfMy3lmc8cpfN13XnpqNuXi6TX3qx62vNg7UTZjcfyMeNAvB3DS4ar897C9xNFli3Q3c39f9E9FWr3/Nyeo/ZyeEA+bMjs0Nc6sxW85Gl+h1S8VYo3aH/tU3qLq7aqA5wtb1sQ9PWbcDqOgG0TpZR5zW/gBcebJNHW82glIGv8qYJOH9OtS512e3BnwhXpRov9FG7ZZm/ZWAjJ8Oog1/zqdtor+uBJxncPHVb2+7+WMeqb4ndH3sL3F0WWHEpd1fnT0pv5QAfx7GtOsJVh+r2Av+Jk9K/b0RPnDmBghz/HQ6/MGgd/QrctluVY/sZbl6rcLfD3zhLMFUcU4JWdY9F11AoqnE0L/JadzCBwcNl58araRMrdfCFBu3636baVg60qzyQ5z4GfWFgmXX7Ep6k1LwsN+6ru9JqogJjh0J96i1wl1ugD8DHfAKw+tVTuR+xmqyk+LODtX+LB5Hk1Oz41f4Y941Ndyfm9H314Sn6iW0iQLjTxeHXTj8CRoE7IJm2DfCl3WzIzSPoVUcHobUXA7RHvaINmOrWS+iRat0Ncw5NrQdwYJZLvS6rKeQ6SIJbR2CvwKHzHKFMCtySL/GEhxIwdEFfyuAv/QlntY5d+EOpaKMcgABR61NvgbveAn0APuZTYKTVbwRc6Vn8VzhByuFsyVXBMVLH4VGmvX1qWuU7NdFPdTkSjj4LCaMaAaOAKTs56EIT9iptwIOmwI1vWsto6Y1QcrcbXNdDlhrI6zK4UZcO5FHXwTKdZ0tHbz7AY+hFa72M69x8qbsc9Ea4RQ4eOlTmW6kkcasn/UOOeRbakFeAS+3G6/PeAneZBfoAfIwH/Jkrce/3J8P5Fe9nJ+dcAbpNASvOrtA89tWX7rxVsJ23HTymMQxjxEqtWCWCB+1C8F9pChrb0W3UKZPq3OVsufFoOuc1fY0deuqAzvw5mS5yAaNdB8ONR+5VLmXr5dUp+E6rwdi4tLtsdOr+q9vNi3xJl2Ijt5u2xoG30VbzoDPQTPq8t8BdZoHKfd9lPT8B3R1NmsfkwfTxvVS23jo0jJYluOq0tX9NeXc4WZz4I6YIcxTnTeCJYqm73w4IdJgm28s5TMBxcpncOOZVR0q3mc55yFPFNObndnLDwLHe5ue2wC96BU+V3baubr7mg22qbgW7dQfzqtusew2jbPneHQAWuBRKYg7WFwYogR5BG4UsQ2d+gPWTt33qLXDXWqAPwMd46PU6azx8ZcdITnLdZTs0w5fwmuax515a/FwQ3gGH1qkXW9Al+g88nH4UuiAKeF0K8ooHNrMd6zzK8C98yfkzfgFne2lDnseilm2aGkYZfg5eNW/jmY6cBA7JMtwOjMBuO8CzTjW9ac0LPNhTNyzKwCvbgEeiLWS5zD3i8nBctBc4ZVJReYk38PjpWgp96i1wF1pg5RS9Cy1wTLt8ma3jQXPeTjMespKudpw4S7afyX0PmHKN77qc3+OXtZ2t5jsihTPXgf45WNAx4K7XOeX6D9xIFZy6bRdtYu565KoHT4QqUQ544UGZv8BRO2guk/vPtHVOud4urulqPMOBWZb5uk6bk9vqepSLnuZHDr0DKjjUIxXdKVuG6YyzmotkKdV12Jr1ElJf6S1wF1qgD8DHddD1sQkHXXKcmJ3XqsOjbly6s+rg1HZWH8D73ePa1TejF/YgYNB399f5aoCAf+AVBLdbru1Zw0F1PXIEkorMKBoGWOUa38HMMPBJlpW1jsb1Ol/CLbobZr6u13Qug0P7DbiV3jWuy+Q30BSY5ZlvjdeWhVvUhVWbaEc0f7V9W4S+0FvgLrNAH4CP6YDLQf0kXsqBlXxQRivK1MtfdEFl4wNn+zHaAWfbY899/eRvRa9dKaqPOHcH5LBHgdVlcMIWN2kDd127eThvAw12vUkK269pN+1NyJbAS7hELaWAVXyN4zyxumMNp1zX3dcO+8ZSjU+r684NW63HBUjR2Vw9l4PGwD7vLXAXW6APwMdw8J97eUHw5QdNM4iqEA5ddd/Xs/Nsc9qMVxx00FRl/Vja43qyWj/6eYJTuc9YO3x6476uwld7+s221/xuxYu2W7XXfL7h8kpguxW958c6XdbBbsXrjbahXvDW3CNv/wrcdfj1D2FhhT7drRboA/AxHHm9v3vDV6zsSCPQSOe67pVFtFVB2HW6GPgK6qfnJ/yp6LKy97DZmTs3vM/TAtjlW508N2vZ/fh8q0ehl3cSLNAH4OM4SvqKlYOnc9SMchSWlTYOi92y4I0cOClWxuQabS0gf+6kP5BVO3b657pzYH26/RZYHQ/qhkX59qvYa9Bb4LZaoA/At9X8Nwp/8criwwqY5x1s6zxWul7hijQCawmyEWwp017Y4uRcNpwgrP8fKSgnL6u2oKPPVV9PXmfuTI3r94X9MFrdUwfheBqrbujLvQXuMgv0AfiYDbgC5mOoROCsg68DaQtXIdqdr+DDwAG6vm8c9Ivmo8g46al+77QOxie9X3eC/l7hMt8Iwut2wtfB7oS+933oLfBGLdAH4DdqqW8RnhzWjywFVjwYSTkOKwKNChFUBaPZ+CC4HO8I0w6Ckj9ZWdrPstLOlpN5xBb8Oa1babmtz7+1FvC4lKmXc1QqtEHZDd9atXppvQWOnQX6AHzMhkSvGp13EHXwJNjis2ILmlx1nJnrxqvpaDecLroODPrhqDmRARjnTl9W0+v59NoWdXmVz1tdfzOy3gzNW623+b0ZXeqxYKza4VIDbYbVeJbX570F7iYLjO+mzp6Qvn7YwbLWd9URuh4rYSFSd2Bym3Pzoe77c4PFyQzA4c2ry0Y793Ds7uia3LahqS6vQX1LQW9G1puheUuVrpi9GV3YjeDiMGgZGKUbysDUVpoDZ/XwV19dPKYL0o/q9bmlV+f0GED8+lOdMy90URlPGQJ38lQxjPoSneqGmaa9YpByN7RV+HVbXVanrmrH6WOPPDS42PLsC70F1ligD8BrjHK7QFf0uUicEkG1DZQ4Kf3ZEZJ7BWwY+jrYGpfcf+AZ7oAtB3Hf7ernNyN31jRb+Fl1L1LYwPYxsLT12e2xQATfIrqde6rroi9im7J2Pt5syPgd7Om0+UP9FnYETNhB5zQvY675EOcG83tGxSmECKY6MkxrFOeg12XqbRLRujZg8HQO77qMsEle4D7S8uoLvQXWWKAPwGuMcttA4+Y8J6+dlvWIIKOKAypwys7rdtMa5rpxIcNhaJVyHthxTRc+deXsdGv04Gy+ODtsBu8aDEYPzOaz+69dX3zgbfcMWqccdsBmdCQOx7VHd49erIAZFw9HOxdlgrhtooaYl7cwyWzSfNj0gQa/Qke9nf8qm3/guS58Aj6JLOQJVqdVWM2nvsity5Zr3ZybL3XE6MLh/Jd0EfFd/SrYpunzNRboA/Aao9xOkE/wOImlSNSrs9wnODrSRt33gjnzoYtUCnVbwAsvyynYtzX7+//79QebycaDw8XkXbNF86BUf9dhs9iSA1VxtNCuQPhGqgvVAmyNbZvaMG7r89tiAeaWd3BWFfDDcmV6Nk9++eiH/sffenVrvnHP1X/4Xw9eMP5kpi/Bsa+rBG4ES/JShz8N5mO+gmbyvKirghlsOgfdlq8K6D8Tf3CAhyxy2pS3tKUMTiQXhGAcN/V5b4F1FugD8Dqr3EZYBEydvWy9OUiSc27HSV0KlO2Uoh24/lwOXGhqWtVhQpucyjWq3+p04VPPnD3aeud7x8Pmwfls8F714cH54Uz32hRym5G+d60QO2eDcTRnBTNXLwfzxVBhd6FVMH1klz7sEc6TCsl51vrjbbRAzMuV8ahhMW4MmXD2d2f/sYLdo4PJ7uKXfvPViS6xnh9vjF54/uXp+971TrknzQEPODk0BMLgJx4qtqmWYWDbDo2B5OJDvaaJAAu8IJKp2r5GxbnJeWl91JTlCg8YNEuyAPapt8AaC/QBeI1Rbhto2lxsNlI6jqZNKhOMgPFnB+GtscClrSXIgnnUcDscOZOLK+hvefXC7y62J7tXH2wGo4cXc+5vjx44bObbg/l8MZmrK0PFVfm3ocKv9Bo0etrGKda6w3k8BKM1viIybUIaKBJTwh4lh6a1S8cCcJ9ugwVigNbIreEeQ4Z+OGB8m8F8pNk/Hzw8nc4fvnK9+e4H3i4mDHJZ7fq+g+c1/IInOEqBCm6VjAso2hFc8TSN5w8BlnbTOShDz6rYCTqSL5SjP2pn1c6KGfrBQeL0x94CN7NAH4BvZpnbA78aJ65OXk58B1hU4cS2A7NzCHjxBHF1LhrawKvzuivmKX5P1PC3okzAbY4OHphPZt8+GzQPHO3uvlerVsXM4WIuHzuUB1VInUvXxXSuTJ4Kz7uYaSGhfLiIPce5orII1Actf9FrMNBiWIvg0FHHVccL3H0OnP5wrCzgeYtS9dwNuKaAkuCaIAOFvpy/2gXRkOaI59gy7tDrz2Pt9pjrmi/RDgI4+jOu8aKhgtOuWx4tntsD33CApex2Mzdf59Eu3Ja+bKG3dH2ht8CKBfoAvGKQ21m9//7B1dd2F1/QCfxhAmU4EClUB9c3oh/44ZRgUJJ5UaVtOmi+4LZvJv/Ep1957+Zw/HAzHj88ub77XgXPhXQfzhVUlS9wcGwcC6SdZRyt4uqimY8UlEMXDjzWnD6zrB5iZYwfk6bDuQpD7QDoKKxcCncEwSWqCav63EGXS5DUaK7fkAuArUgoQzu2dQoF3Q6wwjeOc+M6L+jtGMOGNisW9ULM7gdwskiVnIrETTfgADCeeRS1k6f5FaTAMSy5dfQFHjilrdWdOnqWRjLbL5pKGzDjaDpw2aU9EXC5/8BcISkyw6DwCpDoEk/gEnCB60It+ME3Vp8BrEjFY4kNFXSoeASo6KUs28lLoh2dW90BKIFrWurRLwHY2jkC0KfeArewQB+Ab2Gc29T0r3SSx0cyfGI752zHwfBVK2B2YtazDQ7hQRLqIvgkHIjIn7jn1Jt7R/HC7z6zffTqOx5VXHx4MRh+uxzoVryqoT1lpVi5KOiyol0stGc31DYzcRcnK1fLCoenqNJPgRdbz6IUOTQ4X+nK4lgBV88/i0I4sfs3mBG8ccxxLzj6YqeIcGwDMTD6S19JZDVe4AgY8MDIg+uhXAV3PfjBuyAiIwWVvNAAtzxQSdYFoaFbHBIviiDqz/gONKFrcNCh0AQPlam2qdAil3kQOqrRerS0BdbSlYL7GNUih8xw9Kp5FrJOYQHoo/HRP/SIadG1Rb/AhR9MtC2iecT+BsEXMKtSzSMNdSAAUYJ34ZWAlGWZxiUPspq2ELS4qsPLY1KjrtJTNx5sLKewTLOWfi+1wfRNROC/fHbxUdnogsjPyn4f+Y73DX7Psvr8zrNAH4CP2ZhOj5rf2NjSt5rL7wH7pLYTYGXshIOrU+0sWmdTvItxqcr3fEMn9YXPLO49WOx9u3zlt012B+cUTbVUGRE8SbF1qGLUQk8FTKmmZrlVnCZhV0kfSphrZRyIxQHGNqO3mt1XIcSWdPAoCyHpjzhxSy8NWztkmKcqykvB/Y+8tId9jCu80JV6oSGDVyirQ8BLG8AWD1rwONBOvbQbJ5oKXkFp5YkizaIG2ozbwldgwENGyaFZTciteVE2Hm3IaINfCKx0rpiVMW2JQW37XhjSV/NDCGDX21yFsIVzdFCZdtMUvnFBBlhGyW1ojT/XX9Y3+HMoCbgT/FqbF3jgA9cf7cgNmoouGtXmFE06BL8CpEyyPM4h6wQcGmC+N2x82t5M0odHHtdF5AXbSflvPPPM4l898sjg6pvh19Mcfwv0AfiYjVFsQ+8vPq04+ziqEXBbB8MZrrM+HOrK2c5JSyKnvaYxLHAWzWdPnxp8NpBvcSDoHg5f+9BwMT53ON99mO1krUp4AZenoDLoylEGC0EVlEMDeU7tJMqB5n1dcGPhJMfF+tf3stmejjZxAL8hMJP4mlHQZNBmRR0JnqUf7b3BbOkcJPXAoZCahR1QzM6zgNPRYidowK9S4BTEtr2qg1rjRL20V2yiGNcfCFB7OyYrSJBaB+egFLLALn2Psg9uN/1NVDB65IGrA3mtT00bOLQXyjYol7rpSnVJT3cEnNDPTITsQGY6BDCuyjT6mhC6DawKK191Ny/LyvB3ukAsxux2cG7ErkdhaFHYClkwjvNHuG5rZatAu21Yw6GN+VKAtj23U0juh+UY5jkGnFSyrLzOUYH2vD7eccG0Bf3sZKM5r/JbcrvodVTom2+DBfoAfBuM/noitT18Yf9g8SM63x8Dtz4pKbtOjhNZhwOsdUDCCbqmuSiSTwbBmsNnPrPYeq7Z+6Di6bcdDXYf5u6ctnwXw5EeR2bNlhcD8xIk9XBV8I2tQzlCr4RZvAx+8se2/ua5B0ffbTGoaX2dAxpp2zkcWvZFR1HzxlF52hlAnQbDwXugd0oC1UofT2255RvIQ7nk0XrkSkZwWsX5BtgvoZrPErBU3EbutE4P2tzxde3r2szbfOt6KU81xAeHiVCrUJdrcpfr3POR8RC7NsGDABW8dHBdX68KENjMIQg0vwLmQAcMvoy7YZT95SvK/Fk2QVnVSODQVifzAlaEt83UaXewpQFy4OZjenLgTtbNFwX5aINbb53PNpo/5KkI8wtZqmh1fV6UfQC+tflObGsfgI/p0B1sNf/F5kHzG7qC/2mrWJ/4dmZ2CuBQNo7rbb7Qa0dbzY+eGtx47/fCZ/bOHTazv/H8YPc9Wu2ICy6nOEPdw2XpC0AJ/8D92ShLXtRVEURoupkHDB3O3jt49z2nB49CCBJpiYkBhUM4TSEkfmK6PyuorVDzpZ0EfqTCsxVcgwtObSeaqbcKCid4CWaw738aBza03SrVOG2ZQpUMD3Be4HT9ENB6Rg4diDW88AIc+lAgOXeRekFawgNc5DKn6lTQA+Sy8xpv1Q6trkKqx5AAFfVCXOqQa9WbV100Qa8voPHswFICXid0AYVdkloOZQfDsNWadngt8as7pjJttkfwKu2hc1GipTdtyVtdqL+B9PSlxUck6zzdg8T0zDldoJ59Ayx6lBNqgT4AH9OBu38Q930+sr+/eEIO8nGdnOftEHCYkThjldrzXAWfvAHTASch2Ke3Ntne6u4lsdq9PH/1w8Px8HsnTbMdTy0LW7jF7WkZsphpSzD2houkEKft47yZWxxQbBnSEs9bJbXu6w15BisSehc92twrDPSNp1gTtXOcpY7g6EupRwag1qi0AbKsAooseFgHQWyjaKx4Gb5WppBrkdbJuOTItuOPdvNWzjZuTY9s5LX4Knu73XiQt6lUbEczs1zsafnuBzly41Uv5bBwGxXqZQyD3Q0BrxWeups26Kq2dUX0IrX8C8D1lpfmG8G3YBMqueKj3kKDjw70z+Va1wKOtgiQUAsIF2+fW0LQl/bahh6f4FXaLcPoaTDZE/YCAidZhgGhQ61Uot30qIvsx4NHRRNjB+8+AN/UbndCQx+Aj/konsr7tZ9VIH5MO8IfkRP6Xp34H+ZcDSdGvqYParsoR/B725vNb9SB9x/8k7336I7bDz2/uH5OkRQnJ/IMh/oSlZxhuRkbn5eP+7a8NiSRbKjpi1W6OadvMrd1PYwl2IxA0gZc1JkSTdSGk3KwtYPyigW9cVZtKuVwnGp0Do6Di3Gj74KTO4EfzlEwwIVdNNNGikwH8wbgtsTo7Goct1uW4cY337afRY77WcugH0WVtmD+cb+ybUzbrPZzVTZ1r86R7/aaJ8y9w5EAAEAASURBVPfX4YMd2z5gKCXzp7w0FgBKsi3Ns1LRKEv2JnDVfbFOLbIK5gVMchc82U+ulrziG4zy1aRsb/W3bOsNn1YWje6nirS1+KrTZrkeG/Oh7zE20Et/4PyRgo/ajUsOfjTrYDltu2hoL6/XweKmST868RGxOA968DNmqYjnTwj0Gwb3+Z1lgT4An5DxVCB+QqrypxN+cfbi15r/6Wi2+OgmX87S2atPO/75O94++Iy81xdOb+peb7XaheYXf+vq+wezje+ZHs3eM1IsxdnJcS24B8eDMELxapctyXxhSEDdAZ4P9XDMrNxww2/L4SxGIz3qHK5SwTdXzXrjCD5DwYWlFfA02kVwk2SHdZPmBOOIxBW5xif36qSG0YnoCXlJtDvhKF2vy7RTdzIOdTtj4zuv4eAt6VHxchs5qQ7S1Gu5NU/rAIwAU8wPSZtWZa7WQYS/ZbjdDGp4wFb0bvFcuEVek1qO+UPmfhhmHMEZ2jlThnmnwDhgfkLAxZ35QkeZPw+pecE7khpYSUZwBFEp5CgP3AIj8wVdu3oVLIJmwal5qCnlmt65G2gXDFmRlFM/eANfwpIeHy1UQR/6qj9FBIXHnnlmcfaR/klom+mOyvsAfAKHk+D6Z//f4qpUX+z6JF80Vx5+aPDZ1e7o+7rfqbdxf1Afk7qHh5fl5bSyII8VKw9YyVnoIWY9aOUPZcCDAM2HEXAIs7keD8G5iYlg8oy8pClmfENSia9UKUjoth1PsapFuFN51HhfNxCKI8SrqC2Sy/Y0q/CCGo5N5UDjYLpgogPOF1rzuVm78Y1HvS67Di/zrGEu1/xr+lLGoddgyFoADda1zgOp4AEngVvw51OVjU9bjUPdAiuaFr0KTi0eNHUyTg37JssR8AqPOjiVLi0FrHIBGNgRhHnLjQ+3CLntR+EVdR0cdCNggUeD+tF2RfXQQQDxDBsh24kLoUKStKq7HXiUzUN145qePGSCCJ6y6Kfy0E2wODlUv1n66mXtamk3K9qFjwx4cMHlvkf/TscbER+7GZ8efnIt0Afgkzt2t9T847918B3D6fQH9ZWDM7glxVOtdPVVKUVTEdpP8dpH+g6WHjgSakoE367MaiQevlIE5o7iUGtbfUqSYBy40EUxAja40OOI4GFH5TK56bKkY2hRauGJBCq59Qo+oBT69FiFpoZTRh3oSeC7XMGDbyAUHMq0YyFW76ZRseUBr4oHTUuJdujJLdc5iJRJq3lCu6PbgRSdijmybkwD18mgzbo6N2xpFiQzj4tZ1+PlMaCtHYeCaDrDGXfKDiKmcdB014Iudk/yKXsu5PKzowjR1BEiuNYDPtENM6CucnSp5OC0dXSgzoFcf4FPgbL+wgwVP8MDN4iTzijWxTn4vuiyjQLXBCDcLA2bjyLHdKAV1WKFbrh0/LlLLy5+79wDgy/cjFUPP5kW6APwyRy3m2r98d/cfbccwg8008m70wdwTG8rp6FKfNoxtvs4wUnE3ixx5GUIAq6AukeccNHnKllgxeDcap5lWYEaGGtqBeQCm/NKix/CaoONmLWCkKI/6kVIigIHQNUQDr3g4ficrD+eNEjMXJXAUx4gHfL6ICmDdeFjHnaoQeetc+gr2uAlFpAu8WgVSrm6Jd7iRFORBdDF4FUYuk+hCzj6C/7mS26dKphxCpslupoXQt0P08CvLbu95BYRPFRZzd3u3O2uk9d9QI6D7w04XBnmi2jRxJwTrd4jZw6WLWjpVduoDqJ0gja3w6TEzbiAq+G+V2589K5vCbgf0V4UtY2AuR351DmrSCpGAkainXva3pxK6PLx8pXFef3m8U+ap/MWSzxgB7y0/a6q39e294U7wgJ9AL4jhpEt38GZX/hfd/+W3tx9d65AcnVK98oWn5ak8hsEVla3BC0F1WgfEF314q22moHxCm68UBSuDAx+SSGCuBDwa9pexoHHCjgDMr+2EI4+YjWsu4eyQghsSK6Ed6mqdjigCAf9IlEGVwnSIGsL2RZOSm04PlLV3MHgk80Z4EvZvKPNgVxt1OOhHBWME3rRVhjVcmAHGBgHcFwG5KgQ8GhIWHGuqVvhu0pLPXQRCaTUSSVr5RgvAlSiFAJVikyLhtZyKMOfZH2y9uaOyLe+oat4hyxkqA15ISfhQGT5fGt2rpvdMRc155jHLW5RJfgVHoC8+oxm81c7287gQs9fNAEvdfCDVxQ4JF6W8hg6GwCvllHixnyDYUlxhpRye/HpxpVc58/j2CjmFHxJ5lXk0N7aUt+H/9oLiwvveXBwIXD7wx1hgT4A3wHDqBOVD+feoyd13qW4GKErH9yZNSM90cIDVMoEn+le7yja6bYeZtbDVOn4VNU6JJZZ+ZqR9qrlFsMlgCJHoKC6mJsfQV3fleQ7zdqLHkl+ypLr5aEurSzwnrmCsX8JU6tCPZwL4nBCCM9i5BxwduC0TlLtJPCAkedavQCVOeEIaTffgANQWoUbh5xEjoHIp4VGxahDbFBNB775govTdDu6Uo6kcuBxUAIeTjxqebBDNl5BDTyXK/QoBlwHcvOz/NhNAKsQk7X6FDD1uCeqArYjhd6qO0/oGz/aBqYImUWHuqwIygMI0SKayLX7HGZwX+CBHqQI3MrbC7SAJhwc47nd+oc+9KfgO3N70KnR9q/bKVtuzcB9NA/mS4sXROZyY64V8mPWkVbO19CBShiIQp4D1mk0bh5/8cXFv3yg34pO49wBxz4An+BB5MTUwpXtX/kFvUREcGVpqjTXklhuLR6I0sv8TaOXfXm8VIFyENuZCqpyfEJkJ1lFOUEFTq2NRSMeOGIcjBwDgVnwkRa5cJZ3DDxxl6fUikW/4yr3rTKRS89LB67icTwFnbpBpT/0EA4BmueKIgHnzwmckpZWQKs4qkegjL6LoLQjr+Vd+FQsA60O7GYbvAq+Yat0hhe06E4NA586OfzqtMqrbnPZtKs863bKDEONYzraajh1Ui2bOjjr8Ng2JTmgODfMOTYmOc/a8jGCScGLa7EK34EGev0xb9JcmjsxN4cjZqX2YdqLw9jCtjzrVfNx2W0xd9RJ06AdsDrRVtPVbYYbtlqv4bQ5gFI230GnvtEjv/zS4jGJPs95YPwwFfYAQ4daHvzgH30ZN58Sxo8Go/5w4i3QB+ATOoRHR/N7Tm0TfksH8KgKnFrxaP+YTzxqS5inTwBMdUrLGRBLBeILk3rWRR/KkO+LrWWtX3kaS1XfJovXXkYjdpy1TS0HOcczToUxFohwqyU38Vvb0IOZfgkJZ4P3JOiz4iZ48yfcLrm84ghBoBvRbByAKtO/4EO11NfyVDs8jKviUloy01JLVoJ2Dfz1QNDVKr8eft3+ZmnXmK9m+4bL6+SPS2diOrxOx8BZTcAYAy5yMAwojGG7Ei916EKGNlp4WEAXd7rE05zUBNXFo5hscC846Use/GBYaCPXoebttpBLRakNvNIDnqhGqvknpIIZUOU1z6JGy8sy4AkQGZZTsYiiLnR+kgKocTGofAm/0C/JAKY/8X/spSuLx955f7yWCJs+nWAL9AH4hA3ehc8tNieX9j/86vX5t+2c8mmriMi+nVyZVhuKifwcL6/v6hyXZ5Bzm7PJp5tq0cbFtNasCsH854ER7gnPB3IMwiJMc0uYKK0TXlEaOHzxEspFxCKMG8oEcdHpFSblsmTSlijOyvqGhFOBbzhTygXDTjscmHFoE0HQZPEGZwvKnZ6K4/1r6WbNO4ZFxjaMVRdj6Do5iTGqYat1j1liJ37QreGlySfoXE8QSJie4dNnXTSR40n7+BBH0BVGzAOnMoWyqko7bwRp8QT3HAzdy3wsmVlF3tIUaFtXgTL0yAzaACRiyKWBVOBcEIB3s18j1Pn0I7SbzLzdB1jR6PZSDXABPq7KEwnojyfZAn0APkGjd+F/e/HM4YuvPab1wdubZoPTXUlLzlLSojS2grU81b3Z4YwVqiAKzKwr5Nrk6xTo4t9QTk7vB+v+LQ9dCaZGtprlHPJ+IEEX1gPuxwllOGStosAs3AGvIcnJqKSV9hQ6nAWrZG2DcyGwOJo0uzi/olr4Dcr8SUTkEBF4g1gwHlyJsmDASdTpXzgj4wtemgOnPgTeSrtpIarpVnkjxwkaqjUtbQET0Lgtj0JgGrNyf1paCsE0mdX8CgswbpqCVIdWvjBXecDfNnMbDE1DOfQChs3JA8ihw1vFD56Fd11eRxO0hbFl2VYhpMjRFNWPLxCEQy7vl2tWQc1spnU50cKq0U8vw9MXCWDSD/4QHXOrlP1QlHUReClBQyoqt7YyPnKNE4ilzly2HNNTB//Zp6ffJthF4E5XrizOaqM9vmQHP+SRkMMfdLdK4Asv3x2+FWLfdiIs0AfgEzFMTUPwPZhu/+eKf2fGG9x01blanawsFwiOWkPoLzvFt5yzNFKg5VznsaWZvnLFQ1Pp9HBnck6CgcunKHV+Kxgnfjg7Hsdiu5n1NA4SCnBDXs1fi2a+rBXtu/vNS28/2zmUokjscYe3FSG8gBMESKjNn3GBkXBMdDjgQZDwwC11yk6A7Mwow546zI0X7WqgDYfuBmxqHEHbtlZXwUB3go/bgEFbtxvP8MCX0BondBECeSTltgn1aKcgHPMx3LLph9vISbCzvAD4oAZWaZ4/ls/FV53c7pw2l01T47tcy6cMDboEbRQSk7ZXrs1fYJ4yb2XtaGDuCTfnsaDgIc8pgil9EID+M37Wq83V5nus2MbkS8FatGEfBCitygkYwIIH79ADZiojOzuWtJRb+Wp7dX/2PZ/49Kv7/+ij9/4beEUaK/gy/kUh83S+CofGbckgjmd5jemh+2/8YZUKpy+eAAv0AfgEDFKsfOfbPy6PsqOTXr+Q0Az0c4UvoXp9ci70/VyfwLTNZrqrpkUEMP0Ro7WUjSeTy2OmsTJWyJzp0WU9wKV23jECX7h65jkDrdrhhkOTW4F+FKtj4YUb4cd/Z9zBQ458KO1fvzZ79j0PjkL20jYgTqskiCOwBpfUs3aQxkMqKbKKHpjxsQOp6B459dY+FZ1hiAXMO8vQOVEGh79w3qUNXGCria1ar97N23jmFfzFB31XceICQExx6IiynFYnAcwP2Us8ASjRDh/0dQo+K32rZa/yeb1Ph5ovea1PDafsPnjcyNElZwuFpJ9M51/R7olmnXZNIFLiNSTd1IhuhIwgLPRqt/7mSZ1bHgGHgcqwClvaGMKhiIxoi0pFk2Rr+wR+qIAcynFQoSTktAkc/bkvEqZzaPGIgnDjIKzenvV4hz4IqBIwePihLuscigvP/LfHzXlVL+qvTyfYAn0APuaD9/P//PnTh9dO/5ii545OxnAd+Kg/+sLR//va7uKlcr+s+doL02fVFfxXJJ3AuciJVbBeRUpHkUcF07nuCuvJ5zj99TS0XkjSKa4VdDnBwRO9Vs7cCpaDFGMtn10PXwRtWTGH04E2t7PV8JUX58986NF0eDDD6USQUtmpKCOv0uHBFB3aNiOTg1dWaeA40VGn1iGCKyAOLC4AlNe8wziFyHCqsIp6yYHVgZE6yTiUdSM86FAtdC/6RFbKtY6AWtxCE3qqAb5OtR0CXoSij+0JrnWxnsCQYXjYrcBoc9344AKj/s2mIz2Cbj5mt6QHFSXajiaLi9pmJviqqvmlVS/jS12FeA84kHUIHoUhdsFe5CTnIMWWemkzXo1TSHKHoeAHEx1iDHSGkZPMN2RV9WjUwTo4N9w5X6PhtT/xOf/xz1yb/8rP3vcnuh4+a/7kHgN0D3jpW3QYGTArbeCyS4Fe7odl9fnJtEAfgI/xuP3Mny42Rv/mtR+bzqan9UsHnMikhd4HjIei/v2Xj55aVp/4rLuyuDLhcRUdW83c4c3nrEqbPuLMbrRw8rmsxAegk5wHn8En+JK0rcyu9DAe8IIE7Ii0CrmiD+bC0zbiYjYSqsCLK1dme7sHi6d2tgYfBB/N1qXghZxQp2BQDs+zhoILDNqMv4prOuDGAVbgQYoykhnlGkfgoDHPQABYJbc5V1M4YPGMPhY5FUVXND/lviiIRutgTLUHKgwpOAUwKxHkqBtW9AldVvmZ3rlpIFeZC4i4IpA8VsHjG2+9mvJ186uvJUrOkVIuVMDq9MIrsyckvczrfK6Adm55oBb4pVtLwRCcsJ9y9HcQW+UfNhIDusshdFKxxaNtlR48273IRwkueKwP5Za38WsZwi8pLog5l/RMxvlf/PTViUx7FVtbBwdUscmxKLn1auew4Mht00B8+nTiLdAH4GM8hPf+61e/X0u+U6PxgF/3wy0qNGplqs1iVgp5v5X3d7UrLZiC7WCk14SA8/EM58XFKaBqiZr0nMrBizeNklYbgaLRnWEhhUu2ZQjGuGgH7YDLScYDWeY50xpaDiI+30EuPQZffnbyL77r/ZuPh5Mv3GofEiABlqQVvNrxBH3n1IzR5bTxZ+bRu1I33LmpokeulNz05rfS3FZpJzmHzuU6N79ALodaN3QwrXFNbzhkddtqGXzjciETVwEQlUSbYaalyTSU4VHkHhw2zZkdgN942hftC68s00XQkywHHOfakXnx6quTi5qP5bmB1ID5GRNdEVY7LqFXxEPzKHpGV3RwIKY/5k2b5cKVaB7cXa5U1NwvgotJCn/gzLts1LkkuOsRfAsPl90GGBahS7wKGHesdQpyfo0e/aM/P3jhP/v+7RRWeAStyojjvIYB9ARceJHAcZ8Eu3jvTv9d6LTMyT72AfiYjt8vfurKeX0O472oJ2fAw0+zElT19apQmiCsFaju0/JCr5LqXHFHICX4kqCVA4oaZW2F8kIR+8tD4ejLVoEGDfeI5SaSRie/SnJwRS5leAIXv7mu3NGJoKufKlTAFR/alYdDRaen/sPRU4+c2/ji1ubgQzhKVtQo2jqS4l1CEHJVXy0XFMS3aQknKoUWZOrKW15QmYlzYOvS67WvowF2M7p1cMNulluG21f5r4MbJhvfkNx2Kz5V2/X9bzwAE2K+fq1pXqrWZNifvzpRjzmg/OuvzP7F1euL15g/ZQ4GKnOJea3pubQFvcRLYxz1iv9SuzjRZBibPRGoywVKBDNsVc2d2C1Cg5vxFDwCOTS2cwmWQVbRBX9Y6f62+jKT7JiVnH9/+IXJ2b/xvdt/uTFuPgDUOjoIh3zxTYK0F/yB23bS44mA9YcTb4E+AB/DIfz5X33+9GK8+V26h6TTjgdS4lOSEeB0QpeAp0inh58IeMIC1mxo5Vl/rUonfHyUw13EsVGW0+N6XMtmnj6NE7u9d0w7rxLF16+Ep0AdvgAZalrotlasfCUueDnPp69nQ346D4caMkTwH742+dwH3rf5SfiyvWlHU98TRQeYuS05Q6EUUpRLOs5KfAOEQw18O8PQLigCHo6t0IBHMwl4yFIZOLLdDrxtNFKhCbmBkCjUTRtkaqthyIFv5EKgbDz3pZVbcGmHJ8m86rzmCU5BTZsUHtBD0/YTuSAqLyokXcFv8QoatF/+mj6cVj4nRjsp+kKh0FEkMe9ijZfVtp/uewFHBoxxE/6LTz2z/wRA6Rs7MJpzqsWDfjG/9g5mL/FWMDoX9UGPFHZQqai21C/wbcPEVl0F4BSClwmdq4k+rJUFnZJtaqHRP/NTe/ANTJUL36PJUBvynDBJJRrdsBmM/vyvjv7lD37X5sfhiVDjB7nqth05Kfpbysqu6ifAP5kt/fGkWyDXPye9F3eY/n/zb33ye7RQfceYp0F1a4wTcaCHVeSr4tZrnKC6kcSDyrq6V5DlPmyexwq6nNRyAeBrnzjPYnah5Ze0L0xEzV1nrFbwBENG0rLGxYXo+p3vWul6O/jBP0QBELbwJTNKItdLSbra52YzFwT6z7PUenjrpZenLz74jo3TmxuDDwRXGIu7/+wsg2Fpi9WK8chLWVk4cOqk4EGuP/gYbp51Dm6NAz115NKWQkoGLgiFBhzTgkpqZRfayHRwbpzIjV+1G898IGzLxi85PEKXqg49Cd3KA3ahIzDzsQzD6AN/oaSyG/oUiDqI6b5+yoegxFiUoNnmwOOvXH0hLxLKlAQsZ0kCQqeUvfvs5cP/5dq1+RU9oSRIzCmppK0WzUs5pHj4/uru9IX3vGPzPxGTsy1/sbKoYBXUcEhZIUM4oYYO6G0daIu+Fx7Qg2je1PkD33wCBzylGmZ4TVvLge+167PPPffS0efZCeKp7tgu4g0EDdZfXZp97Xs+MH5Zz0f8ELxZ2Zq+zinTxh9J5xv3j/+rne3BnySkP550C2iI+3ScLHDhtxc7+3t7Pyp3pAvd5TQc6mbwbBo/fiAX2DZq1au7TTizCiaPpivsQTxRo6Vn4uBjFCo3ZuKjE1s0c90/5r5vtMshsqUd94HFHZgcooJp+jTzIEd40MXrR7yupBRP74ixP8as/RU5wcG4GTc//p9u/+ON8eAREHFgba4CjiwZZBus6hROCSKlmjYhN6e1DPxXIW9zaN1uPnXerngENG3dXpfRL3itIFpXcOuy6+YBLck4kQtoB1+3J+b6Y+iw0lTT1mWjmcZthrMC5p4uHavHx+302QHNtNYfnBgz5cDcMfCuvDb7Zxe/NvmDq9cne56z9bzim+RslYi35u9ocO5d4++OB8Tgo4BaHmDSLQ99Qob3x0pwonkpBa4mH5eouj7VxI6rQ3CkBxswodoSDZUio82XEBAGQhDTRfHoYNGgw/Rwsfv812fPcD7W5wrt0VddpM4Om5c/+d/e86hOmcdl3/PBTNzaXLgoiM3IdXhiNmw+dmazv/eLOe6UxPj26RhZ4BOf3n/vbDaJ3/1kW658V3kxVjnu967oiqOiTSeu1q35wworKLqCzsBqOLt9EapLvI66yqu58W+Vx484xIc5xLPwq/FjRSw/eP+9w9M/9B+d/p/H4+b9dfsbLUcQqGarHVVNvw5Wt68rQ0NysKP8ZvhA5/SN0BvXuXnU+eu1gVvrX9N+M2V9zSxuGzjQruPVBojSWA1Rix4BRLWXr00//aW/OvqDdfPYyJ6rnjcdPHZb4laL5xzzjTlLWjf3PJ8TQ6GS3ZlyMQmMdl6DiovO3M0J9c2LC9i4EIiVOvNCd20KPvToQV73x/oDr9OqLrS9evqe/+Of/t3BZH+yeEy/If1hvcL1E9pZ+BGY7pxq/h/Jv6jfDH5W169PnNrov/1c2/NOKff3gI/dSC7OSSVdZss7yB3IafD2L06CMitKnZ8KuDgMvTsZ19+061FiFqA4GbrECpc6P/U202omEKOv/CKSOLLSjfeAtUcmCtrTiQs/AikHMVCoVls4Jt4dDhbVSluA2Dhk3xBZrJb1mlQzkwLUcXjodu36/Pr/+Ud7P/fDP3Dq75zZGfxE8skjTNc6bjVE8CntbzTI3CpgIfFW7bRJ52880YFinW+U+E3LfD1BNuqb1Iv5g82ZP+hIou5y1AssdgwoA1TyWIGrObF75dr0d7705f0/oM1zlDLJc1pvug0oj8Y5ZyWZ+yYD9Cg4aCOKGYE4RsnB0nMveYx4VS/moOeu5zLigPFOu2ijV6pL75FOsZk+i865hFaRAlcNAdH5ImCcF4Kz6yMldE7oXIxdIukt4vh4jXSLk6g9d2JzXf3hnIMfOjxwdMC5/kwJrk98/kvTK2r4YSR//3cMf5S8T3e2BfoAfMzGdz6b3KsIpqioB5p0GuuE5YnjuMLXiS6PQeBUK+e3QjNX5Dib+YRAp7J8BG0jPWNVgq9+V4HvbPDhDfmHsgKQs9BTplzR4yrHcqq5jYwMQQQbxQpBDkbOKhyHoPpZJaWQmU4xnJB01OtHrMBFpzemJpPBYGMjgy8XCkJFCBcNzb/+/P7vfO93bj7z9ntH/+V4PHgA89OIJwyPqlxo4cihiTIFJXBIpZqVcnSbGYHTBgpVVutBVjMyAytBPYhKHgTlUHCjUwYJ5npNSrPZFNQuM2LBoSEClghCRGk3/VJetQVde0g9gt4wEULraluoGQponGgvB+bTlgaB1XCdYsxaIR2tbWDc6XTx75792tHvXN/TJyfLA4XMrZzDiuzMPV6jW+hNOykQgVMRn6cXmEPEsQiIA+ZeXDTG3IeGecd8Nq/BUC/Ia56rLS6iYi5LtcRLfKlMAIy5KCPrSQUeROSJBc6X+MFsbVpLviDQ65yShNRTV7zC5E33ONc0U7gykQBmuOY9550+WhMXnNiNlLzH0b/AFQoXGLQd7h/cR96nu9cCfQA+RmP/iV9+5b75aKz7VVNO8ggFWkjKgVAf62SOE14BbhqOSs5LF9xyTGrjpIYunICCnrolh6Y2grkc3myazkLricCbL/TDcxEy5RyIfbzGOxxrtdzyLo5PwT5+aTwMJf5yQeMpK2wC+oDVEY5F75JIDhVJwzEWXWkfad85+Wb7F740/b/lOH//+z648+P33zP+Cb2S8X6crAOm37nEmZe7y+nhkSOY/reJssBdolIjlBYHtqhWPCyTix1IXY+H2QqtZdQ8DCsokbndPOgTeKSWNzBV6BurRhJl8KiHHuQFBgp/Mu5SP2sZxmHC+OIFWBAICG/+Ak8HB8nQN2YZyGovbc4NI49VKDoJnwewwInAKJjL8A9ZWvFOpot/+9r+7E+08v23l188eom5JblIEBbzZ5wrUc1ZzUnNP+VKs5hQzBnFVuav5jaJnRVNsgLDTmNtrEx1g3c8UzxVQB+zehbPqQIyxMjS72cqFx/W0bmyVaDkwYY8x/jxxXwIjDxx01RcoCJXgXQxnY7FH/24WOBk4GHGnMvgxAXAVMOn8058qasAbryeJ110/kbv6AsXGrpQEGyxNToDfZ/uXgv0AfgYjf2pzftHu/oRIZ3hfFgjkj50gceSc5nGlby2diNQ4qhxMAReTnCu8qHz1X4Q6wA9K105g3Du0CgVRwFNOj6chXiynVbjCRVHouCf+rDaBi/cifGDnWQge6ifKEZX48APhzQPHum0VNfrGOPBF/5i7/cl4PcfeufmAw++ffw9WxuD929tjd4v7fgfqXgueUX5UHkxvGgIT48m0fwXLPZAqaiVKJ1YyYQjRMFzTVtgFf6BA6DgmcbyCjyiCbBA08HlIC20NJouRqdVQlgsp+gLj5hnHjpC7wR6zAYKTuatesuTtlV4wQ97ZLnVuTQtZTUvqwlLUojv+IPK80/oZhTFzRcEuv7aweLf7e5OXnzuxemXmXfMCc0B7eYQuOKiTTlbtcw7faYxR1XzSg8Y6uLP81c/YL2Y6mpyOMj5yZzJPubSkg/AaI4p4GoqSw3J0ixjnhJ8p814PFbgRHkFS83xmJPaIdI0KcaMC1EQWpmSLRkEfZ63yHNKMnL+KqdNekh/uoIe2qXSgxfSTOcXF6BhD/GPQCulyDn/LMN9UfDllODD7H26qy3QB+BjNPzXmlf1uGZ8ozl8Gyd7BjKd3HpKg3upudLM133yV43k1HSZDh7fnSUfKyhzDxhnI5qF6+VempyirurVjm93W8QBfWIjHaCdFI4jHEjQwJt3M8M/qYzp0iEpL3tuckhy2IGT8uWEeQAV/uadcrXpOEv/87UXj164/PLs/1oditS/9fGrzbEqox/0S1uk6rfMgB1wkjKRZEbdeq62wR96koNFljte1N3H4AmuuLcw6thcOpgXNOsSOKSjyUz43IvPrf3oZ9EbXjfqjQ1HethOgSx8fPKxDkEjEPxpdz2xOlzLWeIRW7DLtydqOpeRBV9WlwSiSLIxvGq54CFH7TqyfQudtlxL2KOOHYMfJe3CiIceSdCaUYywIfMY/povcV0V+gafHFuPldpDftphpA9ecLVBwtASwvvswPQ6HNpIL9okDd7M6+CPttKTrWPBlbuOrlNd8Ma8pU0XE8Cgxxb6YxXfzoewu9rhjQ7IDp7lvIx+MS9RTnja6en9L8a8i1M/AY7R4G9M5Jq3TunU1pWytoh1QpN0MheHp/NVJ3xczTdTrRj0U7yd+jhGndbyB3pVSRlb1unE5NRok+OfKkjlVlw4Djb+cHhle01y9L7iNvUmVyPWgRUtUyUcNY4HnfQHjNXFmIAU7o22XD2IVjgj4RDjCgz9oZVuQRs85HjNU+2xlVj4SQb/6ItWJBubrFrC8YUMrXPUJm7qb/YnpjMwOT56nXXuKy6O5IC5RZiywyJyk/PhaIpDJGlrXWsamU6BPG0c/MP2RT+28zPl2HhcsGPIUiP3D5cDFX2CSqEg9NcQoH/oLnx9D0VbsLIfGmNH27ezBRELG8ZTd8ELfokX4UaXZtgU2hgLmku79aFvY/3gsySxJZtjF3MkkGWzHBvoNG7ltoH7Ihho2C9k0E/xCHswh0o92nN7mTkcQZvGkMcYqk/IVFQj+KFbjiFyxLHtf85JNecYKlqJR6yGsaXMl1u9mm3M0dClyIm5IFsGPOe7sLAfCZthY8r0V3VBqOV4hDxun4QQzjdJVl/Rm8S78thafeeCIcaKcM+2vJLmu273RNk0WlFnH5FCQA5+2F8PThwFVX+4ay1gr3HXGuA4dXznh96xf/0Lu2xqEbxCtVi1yJHpxC9uIrexdKYLheFLvAX3ieV0tLUXzg4Hpm1frrK1qta9YWGOuP8bwRknkinWCjg3FfJm8AEPcXGFrnryho/e+RVE99TUFt4ryFWXI+ImsdYvkhH37HSPTRGMdYSCEv3AH+EAoQUHmfAyH/eXYE1ZnVeImCpWsN+tuvqC7hGg5MShk4z41AdbmXJqsg+BJ22jNb+2uLUA0spmQrseIFI5gp/4x31CNIh+KfixRuI+IbJ5a5T+oLPWYzqik2wqHNknAudQLzRbLnzyIoN+5cUGsmayHf3E4XNfk2Aq4Jx9R8bNQUAXDxohtUsg/Olj2kdQtZVVa+DQHvaRLhG0RbcgmOif7DOfzadDjVnwiPmiIMq4YfvkG+OHbdR32UxxfSE60fDAH/X47Ir1wIaDhYJ2uT+LnZCrDoTtsIF1pY1+SM4cu4lf9Ef3SGQ0jZn0CrtMcjyZq8xBtpglA9noIf4MOQrqv/SBJ2Ore685zu1YZOBl3GKeSH6Wc56hozSK+Q4/Tc62bzE/1Hd0Cluo777YGeiCzHYI2dIhzxX0ULndhRB/McYe6nWMJzaclOCOXWb6vcW4mmsKz3J+chGErsPRxh5dddJWwsW4ilro1aM+3RUWYP716RhZ4Bc+s//Ds8nhJiczW3LkOpXlIHObULdOh/MjtuvkHuQDyL0lV+d0KbbOtAVcl2MbTQBwa7iedS2BSR40gi30BBwcOFt5eT8PGpL1Sn4R3gscvvmzhQEI3I52lQ841oXysqzUpdVZwUueSw5xpl3w2G6P1Qy6ENBq3gQ6cNNGxYVO5aq5ZinJ+LlqzOBNE/xxtpYLD147Sd1SVmf7HJ+6DR5dnxBYBgqiNgEn1nDvMpPldbRpD7ejGeGe5D6nbp0ObstxA05iGxX7ZN1ysi11TVjHnzbbpbOT7Zw5+ghH4x0BSLI0X+MCgzpzJvWCF/Vu3DRHNBCMD23JhwBO6uZO9UtdYc/k2c2lxM9j2oHV9GFsGddtdTnxcu5zcZW65/y2bM+dtt9lLrkOP5e7nHNFtxbYj6/ao1LVwTFsOht85TMfv++vXCf//DOLs9/3yKD6qnbd2pfvNAtU7uhO69rJ7I/i60v6wvND8k8R/OiFHA+ekXucOvFVZjWg6262k7lyVxsX+UqxJSb8LdVjFULQ0O21WC3gmKI80qpDOOKVW4IEWrac5ZCCj5YFWq2kYxVQuEyTMdt+4TzAly7SgftuGaDTmaGrUJVylXEgmds4WZx/JHQzn3R+CpTZP+mDE2630kW3VfhN4acXQlI+wVcr+wU/CCGm2EAZD6m5T4JpHZb8Q0/4xEVLykBPthD94E8EpmJvVua5tdrpLCGDrRgD8YxARj9ph+9ssTWNJ7e10pHQ0lN+FjK3V0UtqPTR8pqEDr63nk4fvDY4M06SFX0Sdm6/I4d7lsGgOmgcirzQL8YUXupbwLO/cbESuiZp8k490t70RboETtLQt9hNkV3jAScu0No+C1n6aOGqb4qPuH9axkYrOOHnfVbhSN98sAn8ZiEdY+4pULP4VJ8EF8/ol+hynki+yrGjUWxFGUx2DjTx9AyXonnIxC7RwskRNvSczPMHcBecp8O0F3PDdrWuet2Op7E1vppKRbeil5biJPUr8jxkm/rPvNGYoUdcMEezcMXLMlJ/7Ao8c20QHN74k4J98K1MfBcUmbV9OkYW2J/uPb+xMX4w4qECIaoRENnrm8zKKi3g2u5Uq7Y3cU4ZPASnrK3IdNSqg4NjEg99kpaPQoZDUoAl+Ea7HILC/khex6skbbgS4KAcb4wXk1BGlZCb+sBX22ii22brU7z85DOrn21tneKs1aatWPkvHlYJnajDx8FJN2ZxpLEdOtqQX5aseO855OuDxJFiyxZIqxfOTduF9Ft/2RdkaINX4uz4wh6xzaqnvYPTSNvHyAh76iVVtFrwa484R/ynbCHXGnIUxMq9cMyniwCClLbCsWcmxoD+EqgizdL2snLYSlv/0ho7twFKaENtn4uXpCRd2KQwUL8UfJOntkL1BnfoGOPoh9/gBzqH4sxDp64Pcu68diO7YEsCC2XDxnqNDPvx7i1zS3aXTeDIhRP6YQd4IIKGNohiCPqkJHixheYVD1hHP4OvWqO/QQ9uzlXksp8rHpqLkoUNaNUcY0yK7BgL2kMn8bB9mLNhT8a86AkPzyV0JuCiC7oXXUuOTfWQg+yAPoyZ6jE3lOvZxhwLjb8uK0KO9IrzKnqLnkmHzuqHZKAvc0Q8c9xlD8YGPXTByCK/6AJv2bvwxb6y6eFv/v2dl5Jvf7xbLRAnwN3a+ePa74/9+jV9pH2wxQlMsnPMV3xYYegtRAFZaVCOrdZwlIVANMBxFFpdtNvVuaU3KQ4FXNr1G0pBG1f4rbNJesHYxlU7joaUuqQDB3R0xLYbTqjTy/XckoOKQIazwjFPQmf0ihbB6v4BI8EPveDl9mzhiHwSjjRtETUEcHd2ktu62CfQdKj7w/evoSVhx9QXx6oXRwKsKwE56tQh0MAseLxmRR/SbuiWT72Chx28VU2OTTaW+GR7wqFABuMCf48ncKdunKWz7h3P4wlbcDciaFp2fpkJfrmdSj+sW447cyW3P217ZKYNiz1kO+45I3O5L4Oy+5JjDJ3lbG7qifuwQTztLnunDXLcbDPbK/vLWCzbFnjqlvowRzOAZf/Thgpceu89g7btk7nsoYuAvF/e8cYG9L0br5QPje1DOecGDx5So97Nm4QYP+2StClzOtEwD1PfHEPmxc37SRvytKHz/K//d/f+JfU+3b0WSC909/b/WPZ8NBteXGwuPqBbbBFAtEKQI9Eqjw/eERik9aZWUXiR+aGu6OWYxuPtwKFD8SMJWr/Ejy1oW3QSD840w/GGfH3rwNLbpPMQjRzYsjEIgHIkWokMCVY8HKOVAquVWGmxCtGTxZtb2u6W55Lzi8v98QZbc1q6iW68kdvNODStOwf6aIh0Er1Qcab85h1PnYIbHyfikRk9EIQu2gCXPK2OpQXtDV9ian+eQvq09cViU6+bqJWneMRfttjQfUT0k77OUQ75fOFBqw/9ScfElQdVfcrKCH3gpCT5ITdroZ96r7WNniTf2JYNwB9pHHKMwq6hX/SdV8NSJ33MdzzY1sNX9F06hX3o70T9Gkv3scx4oG+XsHrKVSt9s+7SLfRCNanJM7R6uE7aKVhubqkvsn3YlVVu9FdjQec0vOKdvdlSzyayqx6oClpts6oPulBhy1yIU/VrQ6jYVKuzsX4+g/7oVSmGqplvpF09xlKEvui1J22nag+B36Acqo/seggq/LiYUaDRs3FCoG/ur4RJd7Z6u0CKXYZ89UqJOatvqanbeqBJc24DXVi7Mx941WwrV/PMI3SP+cIDeMzLwwNkzdWHsLWCt2bQWDf0NV/EnnNFeIiJcfb4Sth8fjhhbue5g32dsAlJD1AJP+Diq92StC3nFH0mhU7ldTzmCXMOGTHuMTbY4UAbBqPJzul7vxJE/eGutkA30e5qMxy/zn/i11/70HBzdO+hgkbGHW3jyVHhdHCiGzrpqY/k2Gc4A76Oldu5OJI20IKjpRN38XRfVPdRw7mko6TX5kFQpS4B8QQxZQcEttXaeCd4+KTCQi466MCxI4I2U64ScOaWU+PAB+eEfrmNOI3focVH8ms8Gyw1CBCR0slNVN9SfyciLveAAwf+9KH4V/UrPsCgi47xnC+HRWCQrbBlXEAUfeHnPmCjut08ui1OOV4Fyey/+qaydYAPybqhN+NBjm66rRBB0GMznx+oTduSurcOj7QPtpQNxAedgi5sgM44dI2XdIy2oqvtSTu8I9CGjtO4XiFQMIe6sRcv5B3p6WHl9IFgFxdAyk1vfeBrmdaVvnr+IWTEhU0JQjUd+npLtp4fyMvx6wLZoeYItm95C4e338GFj+cQ9pGwMl9o6WhS13GMoeHk2CvHrdPb42Z7M26WwTnl/nh+0HdfROV4ZQBOmMphhxw/5g1wZJOwFXLMs2kOLv2jj76tD8AY5y5P7SS5y+1w7LrPzxJOjvY+qIt2ndoZyJaUlAebjza0asoA2LYBj+1ReanKeQkr7sPa0a7F19YqtDhCvW4Rjm8Vr7ual7POUKyV7gZOTl+vlhQCo2j1i05aqbE9no4qYbl6gwcOy7qs5q3MNQXjNnhwkmRnWTmKFzCFkT6tBdpQ/Qq8IMgD91cV+bnXmTaELuhVoD/qC4GbLXjsLI1jVRarTS54nEKPItuwkre61nDw0TkUVa46Nm/t2o5ZBs0WD/ygK8xCrsqGlXqMPWMt+0cb/YpkOZ0t2r7THnpovErf0B1wjJVlB6+iR+GrHRLZRhdQjHNlP2ijizqk/XJnI/nmfE4bB2bMVQLurMxB5qttHnzgTaKf9Bn5hhnuCWCbACcV3LZPK3M7A2pehHTnSQZhn0M1nw7fgTr7E/bEbpVeIdN9UY/0ntvRr37s9J8Fv/5w11ugD8DHeAr8wq+8+K7F5pn3hYrF8YSjxrlWaUMOB8eFR8ptSLmu4nViy7E4Z0i61YdWBQpQOA2cmt5JVPAV33BWOLiEwQcnggzSRPBY5WzhoDfCQYeMaC2HoEUHUuqU/IqTax2khFkeqK3MXKVRJ4Vu7rNoHayM7z5mH6RXoauDE/qjeyS6UopcwIQNsqVt1/f8M4Bpw0Hbp9H/DA7wL2grPLHLtoJpjkV1gVEuTMIxi7bV0zLdT3Qh2FtP2qXrhv4hMtWetPW4sBhv6BW1CTfq59ppHVo3SBlrAvLscBKrXc8TByJwnNCJt1hHym2n1ma2V9heF2myTQQmXZRoZrT2gS5oYLrUBxgkDDldAMt5HHoWey/1ER6SaVryFjehpd3WEbCiaecJdMxzGaeeq9iVxal+D3BpjqWdjM893bQ540s5UzevYZPnJedE6jiKeYD9cz6i93B7PNud7vz73/zZAb+03KfeAjlhejscXwv8g3+89/BkMHkoT/7Us3Ng6Qipa/NYT9byME+HQ8l0ifP69ULe0lGHFr8WTjcQ9OMPevCklmc656N4WIgvQXcyKVv3Wucahr7ZlnSULbsuw8uBIC8QluXQvi6h18307uSyws0t5eSdtoVWv/Q0JCagp+VDV9t5tQ/eUl9nk7pPlo/e5pG55eo2aCXf/bMe1JOH8ax3p1+Hc6O9bBv3x3nN3zLX5cav24DV41e3Ua7tVrexjRu3VyLoLc8b2hifzq7d/EdefS5YJ+dE3FW+tR6dDnrKXit7PQk9jzsYakj7bOjJ8txetu7Q2EaWk3okt1bfyeLpX/6ls1cS2h97C1QPQvTGOL4W+MVP7Z+fzA7f7pPazhmNCSbpGLoVp4KjHlvZ0LMrE22zbsQ9xlyd6PpdgdR8YtUjHqzwsjxRO0GT+5KTCCq1Q7FcOx5WCtDacglnxcIqQSxLsLN+lgseQcy6uA/USV70gIde9IPcjhxnh4yaX1fOp4mo03f0oww95ZmeKKJvXkllv9MGyEameWU9+Xk1SBv6aqtWX4jSd49Kyj6xE0FgTpmUaU6aTi9gHpfUKWUmPtvfHo9OL2i6ZBt3+ro/xkl7YdAON/XwPEm9bBfTed7YTu4D7dDXcih7zJLesrIPprVcVoU5N9YH3sTnAof79jm+NQ90pY7NrC+5x4Yysuo+g5+w5XOlhnks6Ysvrjoe2afaTpaXML3CVM436wXv2k7oMFiMvvprv3DPi+jYp94CtsDSRDawz4+fBf6HX9t/38bm/G3cW03niKPpHBnlTfkK2tlGjLZwVDgQOSY5S31isgRVHFjC0yHKYZZ250FUHYDzm7CbER21DS1eiWtebE3n9iJkdnw38iMo8BSsbnsWR4qzqvVBf/hbt04NaEm17jvitReBkMBMAAEDW6AvzhBdgKXTtZ6dHbt+YCdstyFaB3hk1jZcpYP/kWg2i/2X7ZJ2yDHJPqEJKfnSnuOWerqcON3FkXWc6Z70aLgZtgeH8UY/25ncv93rINO1bahNjxKXCxrouzEoc6YKWNYxc7DzAgO+8ASCrOSXY+hxd79tu9U69Pr0eVxYwSd1dGBNOcBJ2CRxNYc1x5iDOT45Fu4PMsD3OHseWXZ3UQGPtB2wpOlku9+dTjn+wJNnfY7leQiPTn7qBQw5up3x/D/82OnL1PvUW6C2QDjxGtCXj68FPvZP9t4zPpi/U/cYNW6bcjQ4fpyDg4Sdeq6Ku564HSdRt8X9XF3B58rCDttX7+DCgxXsSL9DfqTbf8ZZ5gNfVn3w6finnrkC73TstMrSZtBaDiuf4UgBpt0qPpITE86s6ysrlcQ5krzENVfrkfWu37layy1xeNNuXZdpzClz02HrVVkd5qaK3Xf1sZV+Nzkde1XOQOALp8629Hl7e1M09JFEAMKO2eeaX7bn0fpTMw6wbD3SuGVwyXp9TLss25rgtWyfm49ZPd457h0uvEkZtNwP9V16MRc2lXe2qvuQdHm8cUwIfptlDuZFRyezpsxy17e0oeU4rylybuc8X8+z7lOONTQHB0fayXFw9hgsz5PpYvaVT/29+16p5fXl3gK2QDlZXe3z426B/0YPZu1s7jzglQv68qSu9Y4nj7WKo32oq3serGKrjMCJU2IFpWViu/JIh2NqAlvSOrB7mw08PR+tx31y2zXeSZVfquV1XLLEanQ8mOjbgLk6Go6OFtMjfftqM7eGaxk4ZX2LQbryvu5mbOFp2RP8zde65AVC2aYVzmC8OUQGH8lGn8TnYa0jXiDNNla2wY8AUDvULHtlSZvlwMcXI0mzerFje+Vq3bbDKWefpdsidbPMGCtdUOT4JT/GJvGTH08D62aApGc7fFnlYc8Y17CR+4mW6musSLFh9g85cBi19hDvMk86G0FLWpaDLr6nmXOI7YqjxWhrM+7nQtGOATxFbrnQEZPQ1XMu8GMupp2QBw47BwRkLqg6+8Jb46i5ANS2wQbUs/+eo0C6hK48iKbgHbgeR2RBlzZWhTGW3mkH6k6566EXkfNHMwS2/LQRePo1CfVN72uNYh4f6GKgsLA8bKNrvMlkcebip/7eYN/c+7y3wKoF+gC8apETUP/vP/P1ezePNt6tQKpvIWhlGisKrYhnR3oneFPOxysMrtZZK2cCCo5WEvp1PieVSmW0jYMUtla6zUa5vzlhS7esPoSojVYdtbqaabUr2eKnfHOADK/6ZqOyQtcqMHHKCvpIdHJO4KdQ60yAdln6C48k3OjPCD5stUoI8nndCee9pIva4Y2jVPAaysXP0QMcklfQtW7tqhF9JTLliQfiN6Gjn+iQsNyeBq+zeeBIn0Z2Mm/k6TscqTMV6UAfKGEP8pYO/dhZEBz72V4tHrbILqTJkrg9olNHm/2gMXWdDNE9gsiB+iA+lGUgjWkXeFJWdFqUyl0sUnKs05Y59oyhtqH1oYzMUwfIYuyKnAx4Ma7GV981n/TWlbfttcrXWJY5KwaMAaq1MGzXXqCEhNCqHvuiZtq2nTvWqesMZmQeMP9yPDTH2V2JC4HuIoj+x1ZzjFU3B9q5EAOSuhhW6zMezQ+2X733Kxcu6NTsU2+BW1igOINbYPRNx9ICFy58cfPa1jvfqy8/bDVHclIKIlyZx/eD5WTYrvOWJg6aTuDgNxVYjuSk9E17fbNRgbM497g/HHTg5j3F8GU4UwW3jrccepEFT8uDr358bTHGwSshg6TlbsBoA5cg6TbTzLUspuyUpEfSdxD6OfDRDq37QL/Qi1c9oDYd7b4XvnqvGptke97HhF/YSnrBw3RoT7+xGX1Qte0r5bRp2ok6/SMn1TZJu2pFFPY+KudbN170PS4rJDx1yT7ZjugzUzAflRUh/aVttV/YFR2SX9o9dclXiyi7r8ZFz7y4ytWlbZsydZ+00EBL8pzCHvr4lfSWlYRE8JkqiGkw4jWm1oZqpt/oC+/kkf1jRY9tffEQjYWX6bM/Wn2H7TTGxUbI945A2oL5qc+IxvZ2jqHnes676mE5yWy0wdJokY3utV2zT2hS5oTmCjXPTfch+59jSRsyso96umG4//Vf/fgDz0PXp94Cr2eB4hBeD61vP64W+KXPvPbOo6PF2+VI+fqhVl1eYWkLsARedFfgiZWvy5njALfKHMBByiOl81GQPMThhgMyH3xoOkHakEMgIaDyWuNWtOH40AFdTJeyVuUTJA/Ff0s8MgiFQxdPBRcFyU5ny6UPlglPkgOc8WOFFbZA98MIytnHcKrRn6Q5jL6jfxcIIrAJnhcRKSHpoEE/cNF5sDgabmxtxgNfqQe6dTZHZ/gkf63ySrAxTvILnNApZXVH9wsItsz7szlG8ATe2SVt3Y2ZVpiyLfafzTajP9Bk+5Zgh7LvVtgu+Sc/ZJp39hPZWu1HX7pxZRygX02djTZj/KwfeOadOKbEnqmfIeSpa861yWFnZ+SmHT1nu50D7CPeYRfRx1jBC/45Z5Ofz4PsHxcBnX2sI3SZcl4b3o1hB0+8o2ZjePpoOrt6+dd+4V27pu7z3gKvZwFN1D6ddAv8zG8vNs5e3X+w2Rqe5ofX9ZOkg5lWVvwWun4LPvLso4Kb4IvBpj7odKT9667NeJln4I2AE/Sb4pNX/PCBb20zaBIOnZxqkWk48jqdzFvh8fBI3xOug515p57mSZ8IeLrpFnp0eaeHZRKgM6UepdJm8Nra6uywjq+RLSf1l/NXvyhDA05n365P9N/J+NSx3xbfZJbDr+lpOzocDDe3dNuzsrVlp61TX8OgoWxbU6/Tsl4ZtJHvcUMO+DfDSxuBcaMtV3VIvh6Xer7VY9gsDhWzsDvJNLYVNhmXizDaAkkH9z3xOht4PnR4aQvq8IKH5xU80r7cSlmeE2lD67Mezzog03O4ng/w2N07evmdv3TPlQv63Qfr1Oe9Bd6IBdrJ/kaQe5zjbYFP/PIr981Gw7cNNvXJnXC4GRjS4WZgqB1oOth00AQHAiIpcbrA2DnqslIKB550o/GhHB4rkpoWZ18H7U05X/h3Tj/l1PxCdDks80JPHDROEL44QuuaBDj21Ge9Hnmh0dlBK/e4OElnD09Wy6xsSRkEjIMdOn0IntajCxbgHkaQOb2zJd2CjQ6pUwZeghPyal21ZRn92lxMtSodx27Ecj8IWr5QwfF3MrtxQnZK1Kq2BLBuDDvdM8Db5qu6JB62JYjBz+PufpDbVvr8c+U73Cfr1Nm163NqaJ6eDzXvzjbgLvME0o3fje2Mi+2TfU8dwExe5NlHbMoY2la1LLDSBr64Sz2y393cAE+Pdu1fP3Pq+X/6d/XMXJ96C7wJC1Qn0Zug7kmOpQU+9uuLt41m1+6TkxwRU2rHm8Er1cYZZgnHfRgrJNqB0UYgyTqB6TCc1lg//docDIbT8VahPSyOMTnOOY65AAAS9UlEQVRxxLmS0sk1g53TW+LlAHcYPB2kalwC4Hh0GIE2OQDZavakG3U771HIdpRL3cB0H0ybjhQ9C66yrXu34kJgPD7Qz+hlECHwod+WlRED6junsUHqBH9gKRsJlm9ptZ2tU7bB3wHWPKxrBt20VWKnfZDnOnbMvjBe6EOQJGBzYZG29RiT04+U42Db7XQUptFXcMEjeS6Yj22S8M627suqnLF+WvjQrzGV8UkcbNmNHXNhb5e51o0L+mKPGo922wg+tY6hcNjBcyXpjYNdSreiX7ad+5T0y8daH/cRW6ODMdETuw+2NnS1derl/glnW6bP36wF2sn1Zhn0dMfTAj/z23+6cWr/O982XExPEzC3trfmu5MD/ThbOvNmW3rr9+6nY35Pl3uMTYCoUx6Hg1ThQEhk+iskUR+Dh+9WnICeHy8f6xsPBItA4LC9rV8AOhhAN1V7wJEpB6mmYA0fnDdtlgFu8Gp1oT0JHIzkBeeDrcMh6m1RXhwOp/qZQOTRx1C20OCA4X1a7diA/BBCKTEeHeh9zuxb6s67sPGLic34tBy/2iwT/grJw+hv9F94dE5pqr6TU0WW+1WXaSeFHCFGH9VXaIONDsXcwSfGIn7fWG9aFTzoaxm2PfBICMS40lMb5u2WaKtfIc6+Ji42s208P2BDAp0DeqEDVRL8rJPHvqPZlg0Osg9lPjDm8I6xFz24thH8nOgz84H2lJ0KW/6WoDPp280nPaOle+RLYyTuoZ/kRfAttgs9pcd0V3O3XN9gv5SQGoxnGmPNq+YQ22kuCA990Gu4OZ+MTp195Vf+zuA169vnvQW+GQv0Afibsd4JoL1wYTE+fNv1+2f7R1v6HdeN2Xh7MJoeaHWRqyIc28YZueqDhX6GcDBUhNGP0mcQpnvgTbQaxgnVcNociMI5amU82Fagb7b0s6xyYEqsnsABPpp2zjtoFeDH4u1VDgEfOmjgRwyBFlzkUmbFur29Jfd6mM5ZbbESF0E4c+lw/To/Hp+6phPH02r1Xulv/rGyqrwv/YzIIBhg20hF/Rxs2mjVBvDSN4kHEGBDty/rrr6Ou5UU/Ejwx97Y3StQw6nTD/o8nSY9OmBHXxw5yKHtYSPbqS3l6sJC8qzztow51UrOunq119VT1nXJqscZXtCmnOQRV1yVPdGRlS/jjoyYL9KDcdIvKWo8st/orCu2IXZCT8ZmI+agV8JaXWpe2n7YwWNGTgBkTEj1uCQkj8Gz2KiGu4wO6Jj1nBeUsRM545dzLC8QPAc2Tm8evby/e+2ffeKdfeDFUH16yyzQB+C3zJTHm9GFC/rl++al7b1TZ84ezQ/HI1aLcoSKvArL2wtWFSOtFPQ78W1Oj+L1Djk/w93L1bqDmtudT6fbcqr89m2d5NRFQJB1srOlbt7k1NErQyIulpWYVrB7B7rnlwHP+ODA98w9ctgTX0QgRCFEpJZn+mCmA/0HxzpsaJX02i5BpNOllm8867e1w4/bL/cxdcLG+1JTW/YKbluncPC+kFjmPd7YV58UiEtfvbpEL/dvuQ+rfaQ3uhDZ6ODI2j7VNNdfGwzok3mDVyfzJ6cvB/v7cUHT4aQN3Sfmiq6qdLGh1aTmUNN0+ObV0WYgxQY559Ie9ZzrcJflrOppPMYPe1sW+USrXcaLNvRPeXlBQlA3Lu3wqemp005Osp30rdTD03unr164EBso2dgfewu8hRZoJ91byLNndcwt8PO/+vxpbcienswmclmn5HD2wil1ap+Kbb4MTP6Qjzy5HC34GaxxZG5LyoF+WZet4XDIG6diazVx2aKmvh/zbUMOcaLAnFTJQ6+7DggWEwUNgk8Go8UC3AOhaI9ZfE/pR3wPhuDtHWzPKWfwgy/6kTodqek7FVXfOpxaHmVwSeBTd47zxmlPpnst3DawvsYHrl/Okc7Zz+SITAUo9V9xQavlfQUD+OdFT+qvnQAFlLmCGu0Ovp1ep5qtnT2ZYGeIfeBHm+Ujp9YhbVDDUpPumDpNpqdCV9OSo8/s6HDkcQQGXTcXbhx/06fep4SfYwpdPe7UsVHcLoh+dONjHs6N674yHthWE0yBvBujdfxNAw/0hm5HuzAEZts927Bl9sd1bKIn3fZ3j76++9kLjyxfqYDUp94Cb6EFWsfzFvLsWZ0QC3zuc4vRn7187d6Dw43t2dHBCLVPnTrV7LMCisC1o5VCF0zUpNti2/wkXpk3ewLs6G9PeASqU1WwY5WxPzglhz5peezkdq0cNI4OOgIsgQneCRM7JQKR61kmGO8IplWN+N3oeJMOeEeLfk6pJ/omfQbmDXSWUyfAdm15sZA2QBfk7oV8nHsGwYTD3fbCBqd29Ou8yk0Dzw2CR2sDKNAl7eN+ZP+LTsUm4Bie9pUNpG/a3zbv7II9SXmBA6+U043PMgwdwUf/zv7JN8eNcV61IRSkbuyz3tnXbavjlnjWMW3a7VS4r4yfVrSydzenmCeJz8p2MTg1T5tiZ+ZJ2mVfuyI5B4Vf7FTbftUug8V+8pK8+YYuOyZnDt7+SnNdK9723nnq3B97C/z1WKAPwH89dj1xXC/89nM7ckCn9icj3rtoNo/2BvrA1mJTnzO2C7aLPXXm1HxylEE4ndhivrGpwCDYppzZkZxn5mxPdkEgjaKApN+PH5za131ite3t6UNeOwU/g+BOgpupdLBMYODDGyeMYz1SMLYccrFqxuKVcjhmkNgcqy/CtS7Umz0x3FG7/iMfbPSajg9G+ojvYkzfoy/swutBn63tGf2zTtjG/ICBD48uhcLBc7KRdlns63d6N7ig2dEqEOe/mG9GEJQNpjuLsIvgnT2QXYKEdNpXOc2QvKP/Gh90QQdk03/3F962EW1pA9sEFXT/WX0LI4hlrQP46J12Fs+Qk+Nj/jvqB3LhGHJV7uwClHmEfjm+aWvtEGyqL9cZ/0wdLeOQ+pG3tKWPxs88+Rt9KhzmSD3OxksbZxtjCm8uYubD7en9w9P7X2+ePvzNn/32Gx9rXxbY13oLvOUW6APwW27Sk83wp7QqPnep2RzOXzu9NR6OJhtyWHzbR5vWk6P9wY5WH1TTORKgcfw7iSIcCvqJOn7urQ3gDuR2rlGnveAFcZjNzpdKlglYrHjAgSd6GD/57g025OBDp6IrcNAmERDk1NU42NkfbkxO8VN9ESg3Nwpd8M3gdTRRoBCPVqZ40L/gL7zTYYO8V9j1SUikSq+6bF1A4Xcj9OnhxW7hdRXekklb2KvVresnQXCxp0AtfQlk9Oms8j2CcT0WhTZ1zDGBL/KRi3rY1H2hFrj0VxcWBH90g78vLKgjB/t7nLHfRLqgQ4erC4iVfsBbl0rD1D1thsywDblskJl0Knb3mGeL55H6XdrDdmrM/uSFG7jMRdPAIwJ+sTW4u4Kd5uJN/aGfZ0b66OT99+41zzZHF/rVbme6vvQtt0A1cb/lsnuBx9wCP/VTi9H9H7q89fbNM6f29DVj7sNuEeSUwmlrJeMuXFdUOSOve12O9f63yUnr0diuTc/OsppawgeWwS35ZflQDh4Zq/zNC6dPEAkaeMqhgotHN9y4wA4npwu/jq5rv7EfbluVvylZr1yV81ZgoY/uD2USwUHRZnioYHHmNMDTkp19CQQdlnQn6BV71HDjOseuWxtnbugfctGFZNtneb39wUUfcLAv/XlNgd3jaR4ZVE+rPwrIW83iyivNoJMDdTduq/3L1uXjqh1prcfL/VjFW1eH9lDjbdtTX02mq/kyb8dHV2fNvef273u1OeyD7qrV+vrtskDrJG+XAr3ck2EBVsann2o2zr/tlc33PTwcXr2aeu+cziCMQ9fvBesjCwN9eCNzMNx+5Yoc96bvHa/vM7jmAwa8mgZBZ4NP1pMn/O6/3zhyzEeLBXXSOh0MW9ceRDqcPcuqq7uoMI3lGo/c8lbb6EOtm/tvPOrmC5/VMjaCN21ONc0qH3Dcjv6My6pMcNbpa7qax83KNc9ajvW3XjeTA98at+N3TfPlvtYm0M8mw3Z7GjqPy+kzi8VLL2Sbde/45LwD3+nyS9PZF58+nH3ovnN90LVR+vxYWaAPwMdqOE6GMgvdwpWmw6eeemq0s7MzHOtR4Tei+QsvjAYPPviQgsulQB/pS/8zfeG+pk2cmX5AwG3n9HH+y4PnnmuaBx807rnmhRcuBy/aoJ/NHhLN5RV+HV7KuCRe5gsk2ym9+93w6Phbx1WcVT2MB1/aSOjpfiRET+OW9q4PbmnUl1H0oWvLPqNP3dbxeEhw+n+jnI5rysw+nQswNO5n6pc2s94gwbO2kftRw8AznHKXUk6OQ45zrX9tS+tufeBhXMpur8vAqJPATdpuPukVtPm1a9fmP/ADP6CfA+kfpEpL9cfjbIE35DiPcwd63W6/BRyQpQkrl+GlS5eGX/1q0zz8cNM4n07PyXlebC5fHg+AUx+PL+k90mk4VeAPPZQ4BHTDHdxdr3tb4wFfxj2vevKHN+0PPYSs8ypdDNxah4429QKfhNy67fLlS9Izde7gyZc2aCxntd7JTXp0sY7reGEP2uFJsg1qXNuTdmyNbNsyeZ8Lu9OecLcv98ty3N9aFuWaZz2mprNs5KSNkYetuj50dMuyL168qE9jel5km3HhtqqL+0/AffTRR3liOf4UdGMuQdOn3gInwQLtyX0SlO11PBkWUEAmEA+efPLJ4X333Rcr5On0/OLRRxWCLl6MOVc7ejnRgJ8/f35BO7jjMXk6Y+fret/hng/nC535gG9a8qaRAs3TgCPhyKGvYTQYXusL3LIok5Dz9NNPBz71VV4OFLSRTJ+6JAyd0Nnt6JLyHaS7dlMY13R1veZ96dJ4cO5cZ5fEm2oc0t7Wx/BVfYHbljUucJJteunSRdk8+2eb2Ra2Jfg5pjm21BMn4dRXk2UiBz57e+fn+/tPLrTC7QPuqrH6+om0QB+AT+SwnSylywqZuTZ88slmcN99Tw+Pjh6NgLm5+XTMQQWFxVNP0a+n+AH0CvZU88EPfrChDVzjmQ4+LtdW0Y+ni/8HRauQ9vTT+k3bxEu5CPogv18sOV1Aht54q8F6uY1al0yDzNT9UfF5akV+toFDf9Cp49CVzKuD1DrV0K68jobWTp/ExXa2BZDabm4DvkoH7OYp+0q/TbfMa3l86raap2ndF3KCLThsKStb9Cvc2mJ9+U6wwNLDDndCh/o+HD8L4Di5J6e/6Q/+4GAiJ3ykGDTR3+zSpUdn3LfT/WQpHhG4Ufsch5wBWVCBCaQ1jDJ/0IBvmg6OHZ4SbbaLPvDJacn6UwtkQyP6tj3rTcBLW5T///bOILltGIaikrvOSbKMD6BL+D4+j30JXSDbXiKrjHdpOyo+SFCwrHjSmSxq+2lGJgl+AuCTJpC8iOUv/KtARD/sVljlx7Q/VWQ9N8WXTgW/tKauNo0j9/d3rdNDSdHn/WRb0ZV1y/gxjlY5yGfEsIeftsfic95D5CSt+ET8ZZtzLn3/+tf3pnjiacutLdcwuEcOOU7NzXOyfwaiPP+Y/re1H8/P/cd2u/2ls947ft2UGwcE7oXA6lP4vWyOfdwOgfqWrIR1T/bjOPbDMGjsh96cu+41hl9q7c1psq/BF/f4i71RddW+1r+MIz8W0L5Sj7Clc25/1ZtaZ/FCpLGvM0MrHpf5NHnqvFj/0t8s0LzeDE3Vwrn+Yl/KobDTijlv5aF87VhhJLO/eXpb9lRihg+brZq8t3N2c+w5t9PpNNl1DR5e7PWA5s74gMCDEVj8cXqw3bPd/55ALszH47Hf7XbdOHqRttxHO4faWpOOWrynWsit1Zqxiz/+soe8as3vWE2Dta6ttjbOfqQN/2mtZVQeHKKo6GEibFqzpnWbrXN/T09PvQqVi+1D/sKHUrShz5lNDym+ZqnNY+tLr/1W7WBdz8nt8q1DcexY1Wri/Bg8D+Uge6yNnGRT/+1tmOySRaGV2XNXhwMCEIAABG6QgApzOjfW3xwOB/tl2OmH2nJOdVxsMaf2X079z+zQh+/sK9uqznOR3caeW7bH2ryuamu+ZR+LtS2H6sv22PJqMbLP0H0xnnxci3G2l7y3/X6vte163ODtRMoQgAAEIPCNBLwgmL9WGOwnGTcqFvm0wuHj3Kq/PLV2TZOKT16jmM1v+KrarFvr9wud+yr+5rwiH7M3fbJZ7MjX26aJXFbaFifmgpNi1OvSWH7jdcIVBCAAAQg8IoFaXKLAdGV89jbXio7m1k7jtmpPWhVa19TCeFWv6xD6T9rm75P5KLhX42itRfK9l/4j3gHsGQIQgAAE7pLAsrCtjZe2DEJz1+azlj4EIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQgUAn8BrzesdviE5ggAAAAASUVORK5CYII=",alt:""}),(0,$Z.jsx)("p",{className:"univer-w-60 univer-break-words univer-text-sm univer-text-gray-400",children:o.t("permission.dialog.userEmpty")})]})})]}),(0,$Z.jsx)(z9,{className:"univer-font-medium",label:o.t("permission.panel.viewPermission"),children:(0,$Z.jsxs)(v5,{value:n,onChange:e=>i(e),className:"univer-flex univer-flex-col last:univer-mb-0",children:[(0,$Z.jsx)(b5,{value:YEe.OthersCanView,children:(0,$Z.jsx)("span",{children:o.t("permission.panel.othersCanView")})}),(0,$Z.jsx)(b5,{value:YEe.NoOneElseCanView,children:(0,$Z.jsx)("span",{children:o.t("permission.panel.noOneElseCanView")})})]})})]})},Mje=e=>{var t,r;let{fromSheetBar:n,rule:i,oldRule:a}=e,o=iK(he),s=iK(W5),l=i?((e,t)=>{let r=e.get(dg).getCurrentUnitForType(Pi.UNIVER_SHEET).getActiveSheet(),{unitType:n}=t;return n===Bi.Worksheet?{...t,ranges:[{startRow:0,startColumn:0,endRow:r.getRowCount()-1,endColumn:r.getColumnCount()-1,rangeType:pd.ALL}]}:t})(o,i):((e,t)=>{var r,n;let i=e.get(dg),a=e.get(rSe),o=i.getCurrentUnitForType(Pi.UNIVER_SHEET),s=o.getActiveSheet(),l=Bi.SelectRange,u=null==(r=null==(n=a.getCurrentSelections())?void 0:n.map(e=>e.range))?[]:r;return t&&(l=Bi.Worksheet,u=[{startRow:0,startColumn:0,endRow:s.getRowCount()-1,endColumn:s.getColumnCount()-1,rangeType:pd.ALL}]),{unitId:o.getUnitId(),subUnitId:s.getSheetId(),permissionId:"",unitType:l,description:"",id:"",ranges:u,editState:QEe.OnlyMe,viewState:YEe.OthersCanView}})(o,n),[u,c]=(0,_q.useState)(l.ranges),[d,h]=(0,_q.useState)(()=>Rje(o,l.ranges,l.permissionId,l.unitId,l.subUnitId)),[m,f]=(0,_q.useState)(l.description),[g,p]=(0,_q.useState)(null==(t=l.editState)?QEe.OnlyMe:t),[v,b]=(0,_q.useState)(null==(r=l.viewState)?YEe.OthersCanView:r),C=s.get(Xke),y=null==C?Nje:C;return(0,_q.useEffect)(()=>{let e=o.get(dg),t=o.get(V5),r=e.getCurrentUnitOfType(Pi.UNIVER_SHEET);if(!r)return;let n=r.getActiveSheet().getSheetId(),i=r.activeSheet$.subscribe(e=>{(null==e?void 0:e.getSheetId())!==n&&t.close()});return()=>{i.unsubscribe()}},[]),(0,$Z.jsxs)("div",{className:"univer-mt-4 univer-flex univer-h-[calc(100%-16px)] univer-flex-col",children:[(0,$Z.jsx)(Tje,{permissionId:l.permissionId,ranges:u,onRangesChange:(e,t)=>{c(e),h(t)},rangesErrMsg:d,desc:m,onDescChange:e=>f(e)}),(0,$Z.jsx)(y,{editState:g,onEditStateChange:e=>p(e),viewState:v,onViewStateChange:e=>b(e),permissionId:l.permissionId}),(0,$Z.jsx)(xje,{permissionId:l.permissionId,id:l.id,ranges:u,rangesErrMsg:d,desc:m,viewState:v,editState:g,oldRule:a})]})};function Oje(){var e;let[t,r]=(0,_q.useState)(!0),[n,i]=(0,_q.useState)(!1),[a,o]=(0,_q.useState)([]),s=iK(Cg),l=iK(ZEe),u=iK(aRe),c=iK(dg),d=iK(Vc),h=iK(V5),m=iK(vf),f=iK(Eg),g=iK(gf).getCurrentUser(),p=iK(rPe),v=aK(u.ruleRefresh$,""),b=aK(l.ruleRefresh$,""),C=c.getCurrentUnitOfType(Pi.UNIVER_SHEET);if(!C)return null;let y=C.getUnitId(),_=(0,_q.useCallback)(async e=>{var t;let r=C.getActiveSheet(),n=C.getUnitId(),i=r.getSheetId(),a=[],o=[];C.getSheets().forEach(e=>{let t=e.getSheetId();l.getSubunitRuleList(n,t).forEach(e=>{e.permissionId&&a.push(e.permissionId)});let r=u.getRule(n,t);null!=r&&r.permissionId&&o.push(r.permissionId)});let s=[...a,...o],c=await m.list({objectIDs:s,unitID:n,actions:BTe}),d=l.getSubunitRuleList(n,i).map(e=>e.permissionId),h=null==(t=u.getRule(n,i))?void 0:t.permissionId;h&&d.push(h);let f=c.filter(e=>{var t;return d.includes(e.objectID)||e.objectID===(null==(t=u.getRule(n,i))?void 0:t.permissionId)});return e?f:c},[]),[w,E]=(0,_q.useState)([]);function S(e){let t,{unitId:r,subUnitId:s,unitType:l}=e;l===Bi.Worksheet?t=d.executeCommand(Lxe.id,{unitId:r,subUnitId:s,rule:e}):l===Bi.SelectRange&&(t=d.executeCommand(Oxe.id,{unitId:r,subUnitId:s,rule:e})),t&&(i(!n),e.ranges===a&&o([]))}(0,_q.useEffect)(()=>{let e=Ei(l.ruleChange$,u.ruleChange$).subscribe(async()=>{E(await _(t))});return()=>{e.unsubscribe()}},[t]),(0,_q.useEffect)(()=>{let e=C.activeSheet$.pipe(Zn((e,t)=>(null==e?void 0:e.getSheetId())===(null==t?void 0:t.getSheetId()))).subscribe(async()=>{E(await _(t))});return()=>{e.unsubscribe()}},[t]),(0,_q.useEffect)(()=>{(async()=>{(v||b)&&E(await _(!0))})()},[v,b]),(0,_q.useEffect)(()=>{p.reset()},[]),tje(a);let A=(0,_q.useMemo)(()=>{let e=new Map;return C.getSheets().forEach(t=>{let r=t.getSheetId();l.getSubunitRuleList(y,r).forEach(t=>{e.set(t.permissionId,t)});let n=u.getRule(y,r);n&&e.set(null==n?void 0:n.permissionId,n)}),e},[y,C,l,u]),I=e=>{e.subUnitId!==C.getActiveSheet().getSheetId()&&d.executeCommand(fEe.id,{unitId:e.unitId,subUnitId:e.subUnitId});let t={header:{title:"permission.panel.title"},children:{label:zke,showDetail:!0,rule:uu.deepClone(e),oldRule:uu.deepClone(e)},width:330};h.open(t)},R=e=>{r(e)},x=null==(e=f.getPermissionPoint(new TSe(y).id))?void 0:e.value;return(0,$Z.jsxs)("div",{className:"univer-mt-2 univer-flex univer-h-[calc(100%-8px)] univer-flex-col",children:[(0,$Z.jsxs)("div",{className:"univer-flex univer-h-[30px] univer-py-2",children:[(0,$Z.jsxs)("div",{className:"univer-mr-5 univer-flex univer-cursor-pointer univer-flex-col univer-items-center",onClick:()=>R(!0),children:[(0,$Z.jsxs)("div",{className:x7("univer-h-6 univer-text-base univer-font-medium univer-leading-6",{"univer-text-blue-500":t}),children:[" ",s.t("permission.panel.currentSheet")]}),(0,$Z.jsx)("div",{className:x7("univer-mt-1 univer-h-0.5 univer-w-6",{"univer-bg-blue-500":t})})]}),(0,$Z.jsxs)("div",{className:"univer-mr-5 univer-flex univer-cursor-pointer univer-flex-col univer-items-center",onClick:()=>R(!1),children:[(0,$Z.jsx)("div",{className:x7("univer-h-6 univer-text-base univer-font-medium univer-leading-6",{"univer-text-blue-500":!t}),children:s.t("permission.panel.allSheet")}),(0,$Z.jsx)("div",{className:x7("univer-mt-1 univer-h-0.5 univer-w-6",{"univer-bg-blue-500":!t})})]})]}),(null==w?void 0:w.length)>0?(0,$Z.jsx)("div",{children:null==w?void 0:w.map(e=>{var t,r,n,i,l;let u=A.get(e.objectID);if(!u)return null;let c=e.actions.find(e=>e.action===Di.Edit),d=null==c?void 0:c.allowed,h=e.actions.find(e=>e.action===Di.View),m=null==h?void 0:h.allowed,f=e.actions.find(e=>e.action===Di.ManageCollaborator),p=e.actions.find(e=>e.action===Di.Delete),v=(null==f?void 0:f.allowed)||g.userID===(null==(t=e.creator)?void 0:t.userID),b=(null==p?void 0:p.allowed)||g.userID===(null==(r=e.creator)?void 0:r.userID),y="",_=C.getSheetBySheetId(u.subUnitId),w=null==_?void 0:_.getName();if(u.unitType===Bi.SelectRange){let e=u.ranges;y=`${w}(${null!=e&&e.length?e.map(e=>{let t=Pme(e);return"NaN"===t?"":t}).filter(e=>!!e).join(","):""})`}else u.unitType===Bi.Worksheet&&(y=w||"");return(0,$Z.jsxs)("div",{className:x7("univer-mt-3 univer-rounded-lg univer-p-3 hover:univer-bg-gray-50",V7),onMouseMove:()=>{let{subUnitId:e,unitType:t}=u,r=C.getActiveSheet();if(!r||e!==r.getSheetId())return!1;if(t===Bi.SelectRange){let e=u.ranges||[];e!==a&&o(e)}else if(t===Bi.Worksheet){let e=[{startRow:0,endRow:r.getRowCount()-1,startColumn:0,endColumn:r.getColumnCount()-1}];e!==a&&o(e)}},onMouseLeave:()=>o([]),children:[(0,$Z.jsxs)("div",{className:"univer-flex univer-h-5 univer-justify-between univer-leading-5",children:[(0,$Z.jsx)(J9,{title:y,children:(0,$Z.jsx)("div",{className:"univer-max-w-[200px] univer-truncate univer-text-sm univer-font-medium",children:y})}),(v||b)&&(0,$Z.jsxs)("div",{className:"univer-flex univer-items-center",children:[v&&(0,$Z.jsx)(J9,{title:s.t("permission.panel.edit"),children:(0,$Z.jsx)("div",{className:"univer-box-border univer-h-6 univer-rounded-sm univer-p-1 hover:univer-bg-gray-200",onClick:()=>I(u),children:(0,$Z.jsx)(POe,{})})}),b&&(0,$Z.jsx)(J9,{title:s.t("permission.panel.delete"),children:(0,$Z.jsx)("div",{className:"univer-box-border univer-h-6 univer-rounded-sm univer-p-1 hover:univer-bg-gray-200",onClick:()=>S(u),children:(0,$Z.jsx)(one,{})})})]})]}),(0,$Z.jsx)("div",{className:"univer-my-2 univer-h-px univer-bg-gray-200"}),(0,$Z.jsxs)("div",{children:[(0,$Z.jsxs)("div",{className:"univer-flex univer-items-center",children:[(0,$Z.jsx)(J9,{title:null==(n=null==(i=e.creator)?void 0:i.name)?"":n,children:(0,$Z.jsx)("div",{children:(0,$Z.jsx)(N7,{src:null==(l=e.creator)?void 0:l.avatar,className:"univer-mr-1.5",size:24})})}),(0,$Z.jsx)("span",{className:"univer-h-4 univer-flex-grow univer-text-xs univer-text-gray-900 dark:!univer-text-white",children:s.t("permission.panel.created")}),(0,$Z.jsx)("span",{className:"univer-h-4 univer-text-xs univer-text-gray-900 dark:!univer-text-white",children:d?`${s.t("permission.panel.iCanEdit")}`:`${s.t("permission.panel.iCanNotEdit")}`})]}),(0,$Z.jsxs)("div",{className:"univer-mt-2 univer-flex univer-items-center",children:[(0,$Z.jsx)("span",{className:"univer-h-4 univer-flex-grow univer-text-xs univer-text-gray-900 dark:!univer-text-white",children:s.t("permission.panel.viewPermission")}),(0,$Z.jsx)("span",{className:"univer-h-4 univer-text-xs univer-text-gray-900 dark:!univer-text-white",children:m?`${s.t("permission.panel.iCanView")}`:`${s.t("permission.panel.iCanNotView")}`})]}),u.description&&(0,$Z.jsx)(J9,{title:u.description,children:(0,$Z.jsx)("div",{className:"univer-text-3 univer-mt-2 univer-max-w-64 univer-truncate univer-text-sm univer-text-gray-400",children:u.description})})]})]},e.objectID)})}):(0,$Z.jsxs)("div",{className:"univer-flex univer-flex-1 univer-flex-col univer-items-center univer-justify-center",children:[(0,$Z.jsx)("img",{width:240,height:120,src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAADxCAYAAAATKWQfAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAB4KADAAQAAAABAAAA8QAAAAAQiyznAABAAElEQVR4Aey9e6wnyXXf192/1/397p2ZO7s73If3MWuRSy4pC0uL1oOSrF0lsgXZECVZDBDJiZZ2RMaURIsEKUpKAA9hWLRNmaTWsQ0SCCgFDmBTgCkGQYAgf2gUx69YiUcBKFGm5B1Jq10ud3fe9/V7dOf7OVWnb/363jucfc2dR9XM/VXVOadOVZ/urm+fqurqosghWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFsgWyBbIFqgzJbIFsgWuH4WePrpZv3CtHj8wmZx5om3l2evX825pmyBbIEbzQIZgG+0M5Lbc8tZANDdqYonq7J4V9MUj128Uqxf3CgK3XxnlT/TlMUXddBn/sK3lGduuYPPB5QtkC1woAUyAB9omszIFnjlFuiA7uOpJgFwAQB3g27GCwLk00VT/GbRK858758rT3dlcj5bIFvg1rFABuBb51zmIzlkCzz9XHNyZ1r8YPR0Hz+oOQcBcFfeAFmesQFyVZzOgNy1UM5nC9zcFsgAfHOfv9z6Q7YAoDufFz8uz/Vx/q6lOdcKwAfoOq2xa4aqv9jv2zzyhQPkMjlbIFvgBrdABuAb/ATl5t14FvjKHzePq1XfXdfFk4pP6u9lhVcJwN26zgiQT5dl8Zu9XnFaC7syIHctlPPZAjeoBTIA36AnJjfrxrIAoNvUWkRVFD+olp18Na17jQG425QzuqnPFFXxRQFyXmndtU7OZwvcQBbIAHwDnYzclBvLAgnoPqmWrb9WrXudAXipmbrBz4pwui60sCuvtF6yTc5kCxy2BTIAH/YZyPXfMBZg5fK8XzwWPd0n1bDXDHTTg7yeAJzWSxpA5tUnFnY1WtiVX33qWijnswWunwUyAF8/W+eabkALtKDb2EIqhpdfF9BND/0wAThtB2l1ABc0rH6mqPUucn71qWuenM8WeF0tkAH4dTVvVn4jWgDQnfVsLpfVy4+pja876KZ2uJEAOG1Xkg7vIstDziutE6vkZLbAa2yBDMCvsUGzuhvTAp2NMa476KZWuQkAOG0uaXv1Ka+07pol57MFXp0FMgC/Ovvl0jewBTqg+/iN0tSbEIC7pktffcorrbvWyflsgWu0QAbgazTUyxH78Ce+urrWHw22NbTZG6w02/V8tT8vyqqvpS8KU/2Nm3o2raYbvWZlNttZ2/ylj5T7bE74cmrNsljgWnejOkxr3QIA3DWfvfrESuvBwN5FPtsVyPmbxwKnPtesbG9dHKct/rvvXz+f5nP6tbFABuBXacf3fqYZrE83T5RNc6KommNV06wvmnKolbQGtmVVlJ7We5nFYhEqJF03rIEpCvhV2czrsrwg8Qs7i9nF/nznhV/6yD0ZlK/h/LyS3aiuQe3rJnILAvCSrXRR549MLFnkxs6c+tz59dlW9Zamrk6WRXmP+rHjhV4kVw8VG14VlbL6aMhXm6a5oP7tyysrk6dPvSdv+vJqz2wG4FdgQUD3zunlb5jPihNC2buqfl92FLJGcK2qXrNoFhV5AXCj1aUVIGugO+81VX9RAsQ9CBIiXTZFowu8dJAGuMuy2lgsmj8ZVM1zH//AkRdeQVNv2SKvdjeqwzTMrQ7AXdvq5sgfmega5QbI/3f/w/mH6t7gz6vbOdk0daM5/oAH4C74q6BFihEj6JBq55fiN2VTnhUwn/nb/+3abwfp/PtyLRCN+3KL3Z7yv/CZjXsX24tvaOreXQFthazVotSWhMLhXlErXcmNBYDnxbzoy0zKGtiWco3dalUtEK50uUumlkAt+WIhebxi5QFiZA28Y6HFot7qV8MvLaYXX7pdPeNkY4wflFlORtPcdNHtBsDdE6SLO7z6xFef8kcmuuZ53fMf/czWg+V8+l1Vr/cgTm6jXqpS/4UPQFodkABWCNvQe1VtvxXAOKCzhvVMplbn16uKi01/7Z//4k+Uz7/ujb/FKrCO/hY7ptf0cFpvt+796WaxGLhyvNdFHE/W129KDSebp1sJjC0tQegu73FV9QXY8/ai1nVezsUErIkJ6Ch6uicWTV1LvqoXpgcHG5951iz+qLfY/t3bAYgT0H1Sh35dXxdSfa9LuN0B+ACj2kpr8fJHJg4w0GtB/u//yeXvWdTNO9S9aJRO/ZM6G9xdwBb9FWPNkCzUchMCAEPSKJ0Amf5N9Er04HlYOQb5FvP6//r4B47+y1g4R9dggT0AcQ1lbhuRn/vUhT/dFIM3z+rFoC/AnQtw8VLnQkLAlYdEN4auxXgB94SaATDhOQi7NwtmO2A7r9UhEO/SWp6A2oDZIHhh88dq0x/Np5e/fCsBcbsxRth3+Ukd/y0Bun4eiTMAp9Y4MN2utP6n/0dx5ld+vjx7oGRmfF0LPPW/NaPnz279gID2QXmy7XCzpsbKsidsXajvCfO8Ws4S+B4DtAxJV3J1BbJ4xQbE5j3bsHQYrwbEe73q+bVy9V/83PvKi1+3UVlgr4eWbVIUH/3MuWPF9srbNP96pwMnF6oPN5vXKiANQ8aA8O5Q9F6ePVQKlBl2DvZOARp7M2RNDN3B2eeCoROg0xYH8EBVmabXDAb93/v4T4++7LSbLW5B9zruRnWYNsoA/Iqsnz8y8YrMFgr9wj+88qNKnSDXTnHJmy1Z/rk7t2s8LbnShDB9lYbicDSCCvvV6J5mz9TtuDe8CE6zyZvnXAuoexf6Ryb//NRfLS8lRXNyHwtkD7hjlI/88sU3NYvyLVoOpctproVSfQPGMPgbhAFjX3Eltp4KGRiWBOPICk30gEsWY+EuC6DhOT2A8aKMnjRD1mUEc/Oq4UurXfc2n2yeN3XI8z3I066qzcl49V+del+5SRtu9ADoHuZuVIdpnwzAr976ugHPCgTOqOP/orSdyXtaH2zTj/6jS98pHGWPc83vMr0lh8FH6ZSmXyr1IK/loO2IHdpsXlhebQDjXf14yjjFafAFXAAzHVdT9b72i+8f/9NUJqf3WiADcLTJez/z7GR9Z/Wb6kVxJyS9tKsRlbmGWri0epr2mEdbBUAeDMJQs5YtmPdqcirX6EL2i9FB2i786OWG6jTeo5uh10fvoqeLOeiIMg7wALOeNhsD8sVCT54BmHUDyKPmIaBX45UHneF3Z6f4vV/+6NHfS2k3ShrQ3amKJ3VM75LVDnU3qsO0SQbg1976ugkMkHUn5Y9MJOb92X986c29uvc9tbzZ8KaF7j4F92oBzFL7E9QLzes2lfzhWv80v6u8q9G8sPqbuAI6BW85Fk0ZwBvZkGYNl17oKHtKLP7D3/mpI/+n68nxXgssdd572bcH5aefeunoaDH8s5pknWgxsrxVrkiBb5zjDQDKOoUwDOwxS6d0OWuVs+2yEflzXcS8liT4FR0P2vhCaMA6ADqrGPqhXJS1p9CkPsoD0FKhBQ+LqLsX45BHBu86DE0D0AGstXDrP10eDb/y2feVsyBzeL8d0H388Fpy49ScAfj1Pxe6AW+7j0yc+nwznH1t+15h4rAYBRvP5rNv1qDwGv0UK5dZVGWgqzygDBT7K5BaHSoMxhkI2Eve0hp8EwJbGs5uOdFEQB+1AeBWVGq1QkvrvHqNpo2/8Hf+xuRP4Oew1wJmuL3k24cSwLf3LbqGBgz3Mg/rABvy8mctCAl1rdZ137xVAJph5eC9MvYc+IgC4gSAHDplwvxvYKDfBPQTPG3ygHhYhMU8L3RuGlZUEyNvdN1dXhZAZ65Y94bAHc9bbY8euG6SS0fGl3/r1Pvuu+5D0jfDblRuw8OIMwAfhtWtztN4yAKJW+YjE4Du9IWNtwoV71ZfcS9HyQhcmNcN01YALGs/4TGKpqFmebsALQTWL9O/2MLOsBeBebbSIcBmVTSvGgVIVgcl/1iAq75GvVISAlgLeOUtx7Rhddmrnv34+1f/l0Q0JxMLLBkxod8WScB30Iz+nC7TAUCny1SrD7iGwqIo8l1DOEgfFOMVg7vzCMIO1Hr9qJlNGcbuC5gDE/AGmAFk0g7YyCykAB6gHB4IwpA47QmeOV46/HngRw97t73yzqt688L5y//us6defxC+2Xaj2rXT9U9lAL7+Nj+gxtOCnjMCrN/Ug+zpJ95+c+3s9AufvvJN6j3eokf8EUO+AlKtJ2EhpxwJgbDleXjXvBpAi6fKA7sNL/fU1ZkjQCeiUTy5qqLj3rKISg/+GmUTXatXtOIq6IwgHb3enoE2QK761IdpPwQ83tbQNZsPWf9Vb2z/r3//oyeebVk50VrgtgVgwHcs8NW7cP1KICYv1Wzhrxm1FooJgWEDJg4HillXpSDQtIvQATsspNKFKC+0Mk9VFy8XpoO6AB1ZL48MICtfWUPNeioVSKNX7bG24EmbV2yet546xVJzGTdSobnkeYoNXja03bTT+tx9W5OVy//u9fCEb+bdqIK9Duc3A/Dh2P0aar0pVlqz13x/svZdclqP2wIp6xHkfao/ERD7ELOmYkP/xDSVyTGEZkEwCVLSHwHagLQIQkyb/6VPqucL7dgnkAWUBc5hCFp9HjqF1bvltFTLQJ36GaYmRIJSejFJzaiv9MvmWQ3K/c7Hf+r+l0wk/5gFosFuL2t88JPNuOhffkdVVyscOYDnw8TBKw2eKunADx5qAEbALQma9TDvOSEFsA5gSzoAteqxC52bwC/QEAPYbXHdFDw5anhbC6wYEg83Uasjeuf2ylKSDuX3n7teFOWlzd898n9/9rOvfk442Rjjpt6NqrX3ISQyAB+C0V9Zle1HJlT8hlhpDfiWw/F396pqNfQk2p+AVcz2IB97ltjFaN8A80DJ2nSWpqrcDN4DafsMgTZ9DMGA2gC8O/QnL1gP/KGfQi/ecKjNCrZesgay2807kJFqlWPTD3Vn5i1Xzw2rzX916iffcCWUvL1/2xNyu5jhve/9rcGRtz3yrUJcA19NiPAiug23lI2Gecu5rpfgDctT1dXExcaQMUO6Aai1k1Vp07ut98nK6DCcjB3TNPm5XOd+r1+hL5SDuhsAV4CaetwTh9v1xslPZ+GVJbxo87h1UbsmvSTM/lkMaxtwu2duN0vd/9onPrj6/7rsy4m/9rXmsQtbxY+roidV7pbbGOPl2OK1kM0A/FpY8frrUEdwVsO4Z3QPf3F9Upx++6PXd3OQU59pJlvTje9qmmqVezoMIYdRsjjce2B/bh5wNFkEXw1KS4v6kdDHqd+yPiiCuN69YLmW0LkEaj1QpmYO2d7IsIx51wLxFripi6HpNHa8BrxreepaYHrmF9+/9v+53ts1PvCE3aoG4T1fvbf7IGCnFX/CXoMnXRUCMt1Z+iiRPfxxAWGD9MIlj7fbE/AGuhZOCbShmz4Da3Rw8QUvOoB2AMS+9IdtKIMXLaDcY3/AO+gT3scbwoax9W4w4M3NsjuEzQOmVLYAbuAfwTyko65wk5X9r3ziAyt/4LRriZ8735zUk+tvqOM5yWjUTM8ixD7HfS06ssyyBTIAL9vjZsmtDItiRauL1/ShPg27nhnMiycefvj6zRv/3FMbb583C/VdIdB/2MM+oKY+x4BUT+XqLxoDuqR/Ye8qgHRgo2os5Aw9H/ircjZ3q5E43vnVK0h4u/RDeMRh0afP5wbvNzZARmB+GE3wWQwKakfVQuFQp/exsZT1RfSR5aI++/EPHv03Tr8d4z0AcCsb4Wc+tXGvhp3f4qAoKLE5WR/OJfbjB5y5oPWC+sJWGcv71RcWar0zF54cJciFRQCMuaC4wHdpeNFhsZUJxR8JaVokDFvbDWNeNHdB8K5DmV1vm3wAWFZSI4OHG3SHYfN5OZ+HOV8AnoAMXrp78tBUVjT2oV78+0996Ng5aNcSvnqu+Q0dyOPIYhyeDhjIUh22JSdAPFe6nV5CMIerWiAD8FXNc0MxV7T7+4rGyo5MwvWfNk73wacfebD8YEp7vdI/+9Tm/XIxvwn99Bu82hg6m7AvgYNgGCYOPZEmcOVMiKP/bKPbgqeA0/YP8O5JoN16sAJRcxKsKxHAgqK2PmUXkNXXsXDUgJa0HbPqaDQ6hxdNW2hBX1tq0S8aONOf7joXFAmOTr/6g7/7k6v/HsLtGILxbsEj56PSHNaFC7p/ti+Wl44em60str6xWiwmAcTi0yNfMKpGWmC1+xrRXC5m354kbTgX0JLM7jwtoMMFbHO0zHhoYzaXMRCPQJi6iQ7owYMOoA0Y08ZdTxjPWu8fy6teCHi5kBu9J1w3vFscLnS7oC3tIM2NEYAXsA7pcGfpOMNFb+0JvKquty9++ci/vZb54K+db/6mdHxadVvvo2fbAwM8PHOA2L3kA4Vvc0YG4Bv7AsDTHQl4V+XpMs3DAydhv+tfl/0H3/JQ+ekg8fr9fuSpre+q6+mEPkdecKV3KfB0236JmVfrb7jXw+1v/QqAGL1hdS0a3ePdSQWN+OmoAlATBw/X9xkANLUuWmXtS21a52J9kXnFoSy7ZoHs7Y5aLWCrTTPVObCHfXvDwyqMqBw8azWNldrynuGpst/+xN889hWTu81+4qV1cx/1z3zq/Prqymh1Z7o4Xs97a2VvoVsIYItzuUJMvENAVuv6Sq18ZoWgDfEaSPmF1euLzhB0kFV5YEWYZV6neZVBLx5mfPKzp8wR/mBiRDzrIOPbTqYAzo2T0g20DUR9WFybY9lwDsPYpPV+r54gGSbHe3Yvei+AB2CnIbtAHZrl89vk1Lb/9IkPrP9B4Oz/a0PPdfEfdMOsdzseLpqrYLEpdEA2MNa9yrB1DsECGYBvvCuBh0y8XIaYAWC/5gFfT+/XagPnqnj7I/eXZ/bjvxa0n/v4hePTSf/P8qDPV9Lwfnkgt4d5ARvg6Q/h/jAfHrd3p6Ssv5KsgbH6P3+gp5+h66k0YtZtK0629pm3enyUzzYoss2D2ATattq1xVm8Wxw8XD0YyDkJMB/rj7sGWh8ob9rmmg2/A4ArX66tHPnfb5ZtdLt2ejV5t9Or0XEoZQHdwWx8ZzGY3qOLsj+dzXV5amnAQA9dsbMHcAkAqIZVwhQvJ16hN+jXxmf3KHsq1Bd8Tb6vLVy0yYZeNwrliqY/CGbSrlaNNncWeGruWOUFgFz40mjzxnEutk9dagGxnlQ1QjQPe0XraTV43bTPHlTB2ypcyHN9oRCvW0HYFhupppOmHX08cAZtNEPT9DW3MtWVzLBO8Mx5RUrlNXcTh8xrDVdr0qd24G70gCB53Rx6H3kxe0CL0f7os599x4E7Zam2z+mmW98Pab8e+HIQdExDmS2ajrnzXe9Yh5cBGSvlcJgWAHTxcicC3ZE9sofWpICbpvdrK3zdtV/43aebJx59uDy7n8yrpdXj6g31dGadCZ8o7Wmbq7mebGN/YurpB+pqp7dotIc9Q8bqYORiar2WBtS0dUZYTTWv5rr/1b/Rp9gKafo+68cqqAGgFWnJsvg9XqHUy0UCbC28Eqiy6x6edwRrqZVuiaik9usIr26oP1VfpneYmE/WK0uqSzaSQxCn6eT2qgMrsLeKiaeR8l6xtX35MVH+tf5uq3DTAfBHP9McW2ydf0jftDw2rbZ08nTuuegszAR6tpbKhpTl9QKCus0YPl6U06mATDRuvPl8W9do8DQBZwIAFedZeUndLnCRAVS7YJHhutZN1+qHNtuZa3WzLk8DZZt7VX3IhnYBtro4Bdjw4HARG1+6AVHapRZq6Bnwl3esFhr0oScuxgpeM6V11Qq4mcdRUuAMSeCrESZunDg0XnNs0i0DRZCWrNI8z9eD3uDkQw+r2H+kbDcw9Cypx6Fz82Avq0R5bxi8NE3+agEdGjfbBWQeLfSHh8zQNfbIIVvg9bYA1+FYk1Or+sPT7YbU403TXTnyzte1e1LTqp8T6Yn95F4trRlUY/UI6hg0WMtD/GJL4KjFngJX9XeNdeJ6CijjPa/OBjL9lHxVvaakm4yHe0GlMJU7eWT3rqa2mD6z7ScXGtbWntGhv1RnNFdfxb4ETIXZSKLK1eqb7Fiif6vVJ2qCORzloLfSzFh3Ym8e0RhVDwALXCk37GnoXEPg9qAgFnKLUnPUiKpTmtXN+nvf2wyuZWrs1drzRiofDHojteiAtnz4f/rqanF+9WFhX/saDEPEPI1pFwtdaGGDCtJ8xJ7Hq0oeqzDHXhkSkBiGwK+qgS4NDabYQyWLGHSpJkETFGYXVvRNp3ryAx3bAFiT97hlmAeNLG0Kw9cGLK2NedLU/WBgi8fKcDj5NB208VQKEAdw9th56PdaaRrlAXFoyDrP7eM80Q3+JcNQ9uLIhbV/feqUPfh6kSKsem6e5u45CHhb4WtI0Jgl48Yy3kjnAfQcB2B8qwNyHoK+hgvnNRThOtYGOga6gC+bPvkd7yCaVhfu/l0ZeF05rlu/hr2sZF6XRVlagPVtxWymp2taEfoiRriod6D8LOnrerFvAKgZEg6xTaUVckw1ncYDOkCuPlDBe7bFTLe7+qLQbwWHQwOLkvF+bjemjwl6/WGfcsEcPqRtOwBKv4EwFbV9pmUCqCupcUdx6DNVfj778j/48PE/DBK3x6+dhBv9UD/0jzYfkC/5ID20X1i02cdPdW+1wfgRmFtiIhjmKQRU8QKda863Yn/nRAmgzaVhF5OUuAcJMO+C9S6fegLwhts6AHi4YO1ired43tYcu9C4L6SLIW9d8J1zgNw2GiNA20MGN4bJA9qmSD/MZZN3z9npxPCoEyAnH+olFcBaT9Ds9Pr84MrW89BW7jm2VfxhMX//B4qvqHM5yZF4R+Sdj+VF986HuBuoLKV7WeT24yGcyrs+tbcF41sNkDMA+1l+fWNWMAO4a5rbBYQJDrwht//v0jWrcl4mpXdLtrxe8eSb7y9/tct/pfnPf77p/ZtnLr59pP6C0SI9PNjDvbzaSlNjtlaEnpD+DDhOQ7WYBZrI1qdZLOcgjpqhSyrtoVwgWO8IvIN+3ZJiBJ3SyDvBgLatSwlOT1oPafoXwBYwXWiZmCLD7oEG6qaqj6w5RqHPM8dJs3eqW4tJ5QDRW1a9+Uuf/MDx31bytgkBFW7Qw33qqWb0R/X0zaxc1oVRz3SytBCp6OtC2tmZlyO1nhOv08hKP315Q/MO+gqBzirvvDX+dKjhIV2ICnGY08EXknnOGgaR8pILerrY7kHjYtHCBAGzKuHKt8lMDffwnhyq4OuJkTSeNB61LRUU2Nf2aIBpYWsFsxok4Catv/A0yitEw6GGh7SV8y6wq0rVCeDzRDkTE3jmGDVkLpq+oCRgDR6tLlzxFhoe5xUjn1OFh3zwjKlPx8DdoKEiaOiXrA0ilfPpPTuj3t0A9cXzV4r3/OjkPXpIPqlC7RO/dywY0Dsi+AcFM0jK7BBMj/PFS9kpD5sN+dO5hs7xscJ6qj9iHWMO2QJ7LOCvDa0JeLmGCH4Nh9zevNP3k015B6WX9C+KT2s++Ddfq/ng3/kdPYcfGSy0M3MzGGpZh5wD3QPsG09fQL+ifkhrU7QlwWAw1X0y0JjyTEfOjdOoJ5oKAeU4qD8RW51DuI178oAXzYyvns/xhhfysIejAaNuzWI6U184KHqiaRWW3YAsTuVDL5XKaNiZfkSv8er2VZ9Cv0vfB21ez4TDcmrYH0H36Eyiaoataqk05M22l7Nyu9HGRGJo8aoAWetUNMquPntWaUb+9gr0bTdkYNeXjc2NRwQIYwO6OAQThpXx6gRAAkCe2DgALgaGl7kYuBDk4S3II8c1xLVkT3Q64aNRv9kRD4BGB3ILAWJPwzrpUyZDO/zvDamDJzXATTLRYlJrwfQqBX8qXb5oy4EbOsM/Xpe33Qpr7qXqjfSusZ5MdXHWU72va8cQhncCaId6lo498cbDPDcdDsAdPGtAFQ/bPW80WB0aHVDHJEDX8di7wRzbvPgzb5rc85e+Y/jPkEu9X/Jm4JjogjC8FEQRe6Uh1ZWmXZ/TiP3d49lNCMjZA/Yz+trEet/UFlPh6YZ1jOEa7mpPgTJNX00OHrKE9Nrnmo9k43V+zg7r4u0Pv0abdHz4E5e/UXvcqTohqFYv9QTC7kTUVfRyaQAd0mxWCVzbW1LfVSi1e56FoTrCBV6x5OptAWlv0MynM+uX6EcX8nB7gln6Sq3Joi/Vw3rwilFeqyz9bE9TyJWAnjydK/O5dW+mfiUMa9s0HyNscpL0SQbrk+iXrY+OQ+f0gbvD5ZJbhJHAT33o6L8Mrb09fnHTbrgA+G5vbz6qrxaofTptWtpc62LRddPoSU1z9gJCvE+lZ72BhnNnOoE6+cKuRheHrj6N14C4+qdC0iBoKxo9b1U8GzIcw7Cz+m7mKPRJPw3VKpaHKYoAVAumkNFON3o062uH8rA7FkAlmWYAWCpuDdcu4pJXK6L0siystHfu9BTIfM2wWKG6YqZSXOxa5KALX2Boq5bjMLEWieFpVzN5wQPXH04R9dkFrUMDOG3Y3B4eGJKia+CplPnqXjMU0k/nqnPY0xw2bfXhI5aWAb7EeryY68OhQxZr9cvv+7Zh+y6jdzi0l9AeaJsI9CXeLumaU3RgSyr3EIIqa48EXZZYNrQ/VloTbO5YR8WrE4Bz2lkGifx7K1mA0R9WMI/ja0NcI9dyzv3aTmXTsvulkfVyzudSTUNLF0ODXSdnveIL4j+RyrzS9GJebzNpy3DQSHg2lbfZE/g1pfo+veeAe9wbC0DnAsRyyLidhXoxLQfqeayPU5+zM5/KO9aQ8476RrVTC1mLcqxxYPV1FFG3YfdYOdaC5dm0sP195MKqvKTl7I7G2r1KdUgYRfqjzy3UMikTwFK/7kc+B4EXTd+rlTmS16sbygP4aqv1f/Q/vItMv85cc6/PMHoA8ND62+M3dl83zsECvpcvbz4qb1SXAxeFnuY0SlHEpy2GSAZ66gJJdGprnWNdE3o+02I7RUW9A8QJoHky41LRuEavr6c1XXSzwUDFdEFxoUivrdhTqQDi0qOyMojWyUsTdUoHo8kLedN4jZQllLXmOewSDnPSAmwtIpzrg7zcewxdS1KvMfEMANg2dZ/bp8DrruR9a8cYFkGpLvQApmEeRuu1bfh4NFjRiBJz08qrPLFWGGo+S+1QWbm1ap8eBjCCrAQYA/IMndtKQwF7X6sOpVyvUGmWWMGG0/WgIdTXZR8An5uKeZ3/6vvHT+r47rFOhpuLAp2Aki59P1qn2J7s1cqknWJasEv3zs4bxOg+w40MWbMND+2kTLqgq6sj1Z/TN4cFDHTl5fLaUPquLq338+txekR+vTjPrnMJdOmpnoPSrsP1uw6Tjz92jestAn245G+96YHyYy77SuOdXu/KSq9/dD7baWY9fXlQiuhQFvNpORpNFrNaw8zgmd7wKHc0oBuD+iWNvKmr4Y5Xv8FUnP60KZZGCTUubXfK5kw+gPo8gLCa9Xr1UItCdfNofBBYpgz3Ew5JU06tfwJYCdqSV16twBaQlTZ9xtA8bD0Dh/J4Iuq/evS1AthtPRBIGbtjqedCv7xvtT105gM1UrPFt1m4oQD4pzXnu7F58S06MxXDFTqnOsF6tUgnX+dFQKWleupgp/OZDT0jY8Mg4s0iDRC0+Q3lBWtcGLV49vTFiUZekW2jZsMm0mGXQgDuorIV+gPhLzPOs6I3Enjr6gX4AWMbctG1Ql9vgBy3hNOOVZpcBd9ok4a0d3SrajiYoW3QnFgACT7YEDbXsIZ3TAcrkjnGkToWxUbvVwbaYThIxyGW3QSKjM9bCFKrtEAWbzxeusPeiloUwFsvDjJkrkap3lEcApI37947wP6N39C79967eu9BLwEw8w4qUMKvyG2wk6FcSoPp9IPiVkFMUN5l9+M5DRkLSlgHSEH9Ld2tykdyEJWse8kQZCfOoR0fcbcjtUL554azAKAL2B7R5wd8PcBSI7k4OPEvI3DuU+BM06jxvN8H3WvF+WmVpjMS4HMf6To79XtPN7/95ofLX09lX2567c6tjdmlAetgNC+7rT0IVpqdZkcjvvIP6h3zQDV1Vk4Go2ZzulPrK4LyKIfNTrFT6NPj5Uyg2u9PDUjlIZfz/lQvIg20jqYpRisTA3K2kdS3VrWDAVsHqB6GvOlfQt9rQCqvgDngajEXWOOBS66SnsZcH2Xk86j/FY/bekd5ed/qM6c1YK++WwI6Bt19M92PWIw9FGaVHKpazko1qqqtl2ubm13+hgFgwHfUXHkTQMQ8BMCil8d1wtJLmxOr0We2ClfMraJpzwVzF3JWxQubYgDaeJ5hLsOcIp3wAOSS47rR3cFFoCc/krqYSFNGF51Gcm2YW7ipIRPxuSDjQwCeli1U0MOAPRjgeQmgg0455rofAGnl5WWzJIzyNqcb61Wj9BauRniEzz7kghfLUyhHpCFwhqalAP2azwngDYgTtDNNs9Dcih4pTTcnkHIqw2IHf3BZMA+tpxK1HdDXA4GOS/94pUqYrPIaHMK7/t5vHz8lw1mgUgJ5OhACnYnFITKmyznJ41ik7Q89bwpjpqXFQuSpokt3ncStTBSibWkbPJ3qAGQ9WHlVwsABsg7AnvZjdfkcH74FWEy1Km+XIWbuMS4CrkXOmcfWSk7uAcHl/Prwaxlxp6Xprnwq41W0MiLEW6O9Pk1XFOTBgetKPdXnnn6uOfPwveXZyHrZ0eSP79p4abx1rGq2NdilBVWLLd3XK5rO3Q5N0IKzQaVRs81tdSmabipWtPBqW6/xasB6ulP1WJBGX9bfKRujl+WWXOMVLRGfzXfKhfpO+RnFtvoum41rRtW2vG3eF9acuuqYSv/QvgOsmjTgOFX32ddaGvU9c41Ka/pPC7jq6Y4m+PSwJE9ZtGHTk24Bvkbf5GVruLyvX3V7Cpr/lbPOp90UtKeQ6lBfuVPMNiDcToFL+4YIw+rCPRoXYQrVgJGhZ+FYDTDqlAp0uR1CHm8TubBIgCFp6LxJPhOIgZlBDjpy5PkN+cBDrz4aYpcDXnMEQAN+0tB2n9QCQKKDIW4NYe927yYHRzLSSbsNnK3dIgpw1eEzX21pYaKe9uzCU4MoFfmW1DgR87OUoR7p1itGOi68f03+aHKFdrNaG/FA1+IH8cnbcejBgCHpGeCrq9xkFHPRu+fLkDqA/p6/PPnreui4l7Lem9BxEDwOmqU7kJc6rrRDi+xXFLnuWLXpSNMQXMbSZKKAXRUQY+h2milYcxU4n7bzp1EzW7gjO1hH363X9eb49bcAoLt+tCjuf0NRvOGO8N6uX4cOfLQiPYdXa5XLIePlU1q3bJdHGUI3NlqkU8avGS5La68SRg+MdW0A9BtPP727fwHlX07Qu/r1uNi4uFjVbLD8z7oazXvDzYWGzGblaDEb9kbz6WJzUY2Gs8VUQ1z15kJdqWLNpg2Hs6GWHzfltopqCY1wWK96TI22I1o9nE30p30ENRc8lB88wgWeqxtbDMttzY/pTzq3ptvq9XYWxEPlWRjTaL5Zi6y0mlWdDn2ofINBNRB9MB+shHhWD+TiTsQfyE1pZvD5U3cuWp93qbQYW0us63qmxTyXX45dbgVZv3YO9Vg++MmLd+gFopO7jQCZACkNWQhceFDCOzXPVFdGy9PiK5bd453adG0ENuaIBUDaJxzQCqCI7rA8PwA8+oLnzIIreasxAHDwUBVWAgJ64RaErltLYB/y1It+3lDSyA33nx4ellcPur4A+EEeTxVZyppnbUAMRWM4eNaqx1cZcizmveMtO3AjShDPPHKBNXEghl8WNxhPx0M8V1le39JouuJB8U1v6t37vd86/BdeyBofFXjnAQ+6x7DTNHkPXbrnPUYuTXu5lA7fQ9oep9EY6MYjrT/K+NMQ+XAWQonUs3W6l211GWG3XMyal8xZ9nJtG16DRF4FvWtEhpf58MGRtQhezuJEdC6Y7vnwfLgbd8+V51F1tfPn5b3KbpzyXedB+vZpbtt8u67L4lfe/GD5nm4d15rXuqbypz5e3DEeXOnNNJU6GDbNZrPFh4HlSE4aDc9bNbOBdgcsNHSwuVkMj6rLq8b1fGdbbxSNm8lkU9ITdSN6U2K2pbc1xvRdzA8rzdKYLa2nmehVoU3hqhxoedvzuTzrvjxtbU2wos9Cyf2VfsvIz1Zqm7T6Pb3RNBqPNPsmr1dBU75aaKqyq0W5gozCXPosEX80KldOVkdyynlXeHt214eP/eEpOfipzK2eXjLIYRzsqc83w8tfvfJG7aBo3m/ahgB0Gu5YMNQM8BKmmgsa2twEoMa8kM9TANa2zD64luZJa2GBLQJABr7GZasArkGfg2jQrc6c4WfVBVin4BnAF9AE8HcB28sRIy9ss+FqB2noDtBOC0PsAHUAesqoqzBgh5a2ibZqqEdzuawQDMPmLmOl9OS5rEf1GxhLqQM2+qXHgtU1KD70Yytf0DzPvVwADlQ8ve/XkVDOL5R4EkyV/9htJYbzkPW0y7ySuO0AUSalNqSHburiL1HqNCc5Hx0+HA3NgmK7y5M8yTarRCsrutcbCqspbgwnvMz4dgdgrjPmdAHe/baD7JqzvQ6cofKcgvYcWcaZ4fy0vEh2HR7vSu+fcrk0RhK90DxtsX68CZFlMt4G16Gir+rLSY+f+o3+o6O3H1loVJl6R3ovWF2OPa/vTENt0GYCYz3PFFfigO5osCnAntjlDXhTtmBOfeq3dQTmY+IpOexvltO5QF3gLBwvJsLzQsPfs/nYdAjdRZjwMF8WYw2Hb5bVilak6+UNudiTkvR2nM0lTZhruBzwbsoVTZVtV4CxVs0I3IlHzbh56fLHf+H+l4L07fN76HPAG2dfuKPpTeTK7YJLMD8T9swYEDPHGs79oh5qfoGLjXnegZ7+ALKpwEtzFMy76oJElkUEAkSBog3bsoBDnrSBt4abkaO+gTbDCIodxB1gFdesIYCu4RU9f1JGCxe2Z1VfixVCGzVULL63F4+WOjWawvCvyQDWGg22oCHw4PGGrH6berTSBXSA2Lxjw08DdNM0bT1xijPk06pRIoA4nr8WjjGcquF4VkgT1ByOwYCaUv/1D4x+AvCFh1XlIVvwDiNYOtAO+uWgXc7LuazTPR8N1MqnZV3GY++sLB8VWaQfK6fYHxi8DAAbuxUjpfxwNYgcdREv8RMWhTmW9Hg8TXHneV0e27AjhXM40ALYyOZ05S0x1NwGPy9+UcTYroMohN0tj2zkezETiRmXWZJPdJB0nqcjeylyPakM5TykaWg0iZAegl9jRtst+ymtjD6jldGnrcDL/Dl96on546eajQvHLkw2tcizt62+75iWO23rmf0orRbQ7dRNT4uLFwLksYbzNeWr3a7GxZVe3aworZ6gmGlfgyPqk4TcFjaujKu1Vb008RJjxBvl9sXVYm1VS0YksyKZnUtlubo6WvQ1x3Zhulmu4kXLR1lZk/xUW2toJXat9shHKBerV/TecVmOVsfNdL6pfRHKSmtgy6NHx1qSIstpUFJj2fpgg0bm1I5SoD7U+PNo609dDK25vX792jmUo8b73fyTK9+gLxmNAC88ObxIYibtAS+nhWFlhqKXvc8gH94f87J+MICR6+31AO4A6IEPAAPaQaeBsToGwD0MI4e24HGrMbaIIMhy+83lHQcPOrSHHiUAurfPgRlAh+by6EAWME89aW8nchwz+Z1tTcUIn9FFm3xIHT5aQju73QEcQliohp7w6nSgvuNto3u/51tHX/RSBr6xgyBKO59QYveXSnf7kl36y0119djBdHS7DO30tlKP5RXDp5NLeSmfNI2lvS5jZSHE4DyvKwVyl3Vxz1tRFTCdkUmEDp0XC/5AE3J7f28XDxjQ5WP2a/KClkDXTYLRDgpueGTcwEp6lmKWdl6Ut+sXppcnrXDV61qKOJ+pzEHpoG2pSYGUNsyFFHvzEtJZPfQ/8WoWZQmE++9YfX507oVetTKxK7HY3izLlcldzdr4xfJF+ZH9O3rVenm8fvGlF4vV+6tyR3zaMNFbTBcEdcOVUG6hryQMBZ4rol+6pPMkD9p5yAPg8lus7JG1I8X29HKjUQt92CboQwY+zkoht3t2LqQ1uqFyYag8yOzKD9eLcmMDL5qV7WW5fvHK+VOnHg7j1Ea9fX4O1QPe/oOLq3pFdjDqDxfs8VLpam16tlzehnn5suBMGxbHxUeSiC9zM+6SDAPj3cUdXcyrDQAXvEjAS3+i4wvZMni7mABGbg/mV5WWblbzceLxIOEFD1ugLjBk0RK3EkH83qpAGjkuYnaL4QJ1PjJ6hUjeJwCpFQ+Kl5i66IIL4KDsw+jhASKsyBYPL1r7jtgxq+3E6EZveEihnkDXqmphOkBPjIcuMBCNB5AwghDqmhV//h2jf2IGsB+1Om12UL/0C5+OFDH+KPZ1iiyV98zVyu2nj3p1cEuVQXNZS3sGsZi2SD/ugXj9+8l7ceJ0mJo88tZlKF4qiy1MQHFUbnyleSONAB2bAcjEXw+QrdAt8sPxcnnbt3U1qcSxR3OFXtyNJjljEBO6dB5m7AIw7r4/XqTVI4LRWsZuMTtnynJOu2nPe0ypg9Lw0EGzuca8+VTsELNEp0ASJHZSi7LYpOPtCfllJU+fKue/IT/hv/hYMTh29BnrFTaL+/WW0HPVTGua6sn9WtKs9FEt2JzMyp1zYZ0llWwK5qrNF1nsbFbqbx+3Xm9n54XizvGJcksbeszPSVCL4IrinCZnBdrHdBYF2ovehWKghykK9Oiwg/ddjuV9bwvEjwlNLg/D9+R4FUr7EZZbG/K2Bcx1eUWmYmBcw9PS1ZNXTuiXG5u3K/ja8ZsVDulHS+LuFsbWtjuKgG3K0PJQOLPQCmiGkJVXzOsz8kOntmJ1scOZ1w2ijTeI8QYBY03aGujN9Dhm+KZxFrZpwwNkBbGWFiutMWDe/9Fa+VkdgA2AEk7p4rAV1GzuovfSALkwNCy+6gll3atdLDakwzxgAZ5eK7JXmwR0engQiCOvlgF8XOQOtrxeBVBu6NPV6KfOMO3NcWpImMORB86iqwCwFqt9aYwMQKtdQlhgpvueZY0BaAMtjBBQRqI2oqBnUqVn5X/zV478hF4ruA8GgRrTNATveEJrAt9lrFDnJ9XhrLSs09K4q2+PDgnYyfVCnTxtdHBEpNvhob/taL0sRIIqc7Al68dLmkDeRXlk6wbzkpFzBvIx08bisU8vG4F4cDBm1fWtGPieLq8MMczMsWILPwdL51cZ42EETyPQDdjU6R6LFE3dJuw6QI+fqyhgdUcVdl6iDj9HVJemyXvgocFHQ6yt6E/1Kk3WHkwj3cuavGcUe9PdFpH12H/8o+ZTjzxYfjARfVlJYRs1T0+dChtvCAvV6nuLZ7XoacjKrOLexTPPFeXbivPFs/fe24z0unBR/L7ob1RPele9WZzVuup+uXrsrPScLI4fPaEFUUX59Jefae5/4P7imPZDuHLpjlJOcXN0/rziutn6k0pgercdkmSbzYvsKX+uGlR3aC/nF4uNr/F+6LHF2sr5kmHrGV62RkAu68G0V461zEdbhsijXj+2rmHzi+XK6PL2L33ogdvu3V/Ojge/Pjx/3eIPf6JZ1QYvJ7VtoDaSYEiDqgO42vytQGmosRroPc3ZCph0oQDCQ1tMxWKrhdJAmA0t40ZKdiFZANwWY4lJGn0AOIDX024sKicPWtu0adyE8RMwUsPRNvSbetZ6nUfL+YWbAnHoADAgDsAaqGujDR4AmrmGywWKKEIWbxwvNMjLte4s/OJIKRf0co8GwBaQGkjD9wDAr2hcyIfGg4046t1gh67jYHEaIawa57ixW1h89n3fNnjHo28cfLYtpaPQ//apvaVD0x+8awnXKnutctTpnV0b70eLDUQmbat5viJ4h+dgS550KktdaUdrQC45r9f5xIQ9dXmnH9jLXndsl+tKY9KsCwCg9aBkf1HFTRWxgMqHmLlosDEG5vgsHY/G8kr7OYHc8iVrIdodFXsuwKjX5fwkug5UmEibMMldPbF8Wn9XVyzRttFl09hliP18wrdrTjRv5n6xleFHAT5BzX1Vi7KClu6vxgNjS06daqtaEvrSWwXMvxOs+KUvKf22IPfss4q/WYu7dn6/+uo5HJW3Fvfc8fvlV8+9sXnbW4vipa8W5WUNMR+5Q3223nI8f0mLYOV1n7+4EGgXxcal+8utK8/b4Y3X6uboalVe2rhb8fPl5sbd5fbmixomb5rJ6olmbaPY0etVccxoqXm3Vcavhet+0B/5+1+7pxyMj1PxbGdaDUZDecLhQtDkv15fE5AIfbU9M7eVgiYe4us7AC7gTACgkdEYtICZ2wFP1MuocxNwshVaWB1NHmCiHkCPIA/TFmUpKV3oBezE185qw8aB25gAuLZwA6wBVUAY8G5VKck3Ox2cAetdQA/gTDkH7DCvbYum4mtP5lWbhyvc1S41A80D61U/xeR9LhkPnTwBIPcGhHlu5rB5GNAIgOwkkC9P3rey9u7vXflnerK/zwrFHwm1hkrTLmMdJ4wYXMY7JchOc5lXE3un5vU6eMYLoO30qAMZ+0sqdFrKd/bVZF3GO9K0fNvBUl8URJfLRFLbCSPUlfOHApdFIMVuA2GBMYCMrB93K38DJfjYgS2m0ggiH0HoXgvhDlaD3QhJ2+1aEZ0yBETMj/OLKNLhOSnVY3XBwHgum9aT0loFaFPo5gM1sMTzc5qQ90368VqMRFq/ss5fKpzU3eFf0PjeE488XJ5Zkr9uGQNrHUFTAtb6axy0SXM47363AbQd5enTp6sT73+8OX6+qO57bvfIT0vwkXuL8rw87qL4HeUE3C/9flm86Y3FnfcUDcD91XNFc88d2o969P/Un3nvNzM63bGcit2GgUvjUMLPffz8ye2qP9aWxUsnYqFXjgJAmrdrq5B1gdTBK9aQqvZ4HA5HAkkNPQt05WqqfJAFyD1vAGR8DecKSAO465UmA/cA3tD0Z54iIO3etoN4KMOcL4u1hKXmTcqbRjCo4MsktF9dkQ1VKylAF+jDH+qfea4CeLzhFQBdZfUhCXm/eNxT0XUlasEZ27ctemyWrjlvA3YpMO8cINUQOIu+AHsF8rbdZjtUne78FRZxBUl+Z8V7f/joh48eqX5sl7abwvp0CoT0Ylg6KYG99ItsV2Y/2lKhq2WkbA8AduRpq18tqSwN6eZpm8uixsom+lKQWyrrsiiIoVvW8pHvdVhWP+hye3odyEDzPGpNnlgJ1wEdOQAZWQNk0i6MwCEEhlp5FYVv66avDbXNIsEfFwCRx0qnx2f0tlAQT4pZ2VYHZQNlN4FeJyptWVeQxl4ulXeaYm8fpNT25OGlNJd1Wsr3tMdJ01DV6oJuw9WK0UOzPKjs2X/8PxdPfPrny7NOu3lidVccTzwgB2/aHz1rM8mXvvRr5ec//+64e0IG3vT8ptdCSn9d08xbXDqy80btiybgWg7sYcom4yk1eLZ4rzZXajx5wQJqAE1eoOZeHWQB1OFQe6ppGzVkQhlAWhgm8K360xaQA/hyP0hJRNQA6tzmQ57w9X3LMGdsnqvmmftsyaZAvZQLHnOcd5V3HTx3lRZ+AsQLgW0AaXeVg8cNjSF0e3iwNHLBAwY0A/ijh2F4PWBoGFqbqmu7GtlmJrDXBjOhzWqIvGHzvKPHzatX2q7T2vmuJ1a/+S0nB/8jreWouCO8w/AbB0GnGT+I6ndvcLmUQ3nKpeHr0Vq+Ci45NOQ7ylLgog5u+lYkpsmj02W9w0Q+1Wdl28JBFzKQ9vBgKLiuLj/V63Km2pRFncaIuknHkOp02r621UEhCxjzlSc9yC0dj5d9rWMH3YlAl/ldDqk9Z0maG9gOVz/OJyYDnZPr1xlZjsXyMCWzVCblI0yIcktpL2cVGGf5J9bhNjbm1ymzn+2Xle7NpU3byw2Ug/RS1ueQ5YeefsuD5RMH6cj0W9cCewDwehzqs/c+p9ta397TVmasYKbO4YocQ4HvXMOmLNFL/7SIiIVadrtZjMeoLczm9WCBB93rry6gG/iO8FTxeJGXnEAa/fDYKs15DFNbWcWBxt6nYTg7lKF9oW3ImpcaPdhAB3zpFPXCHe0R+IXh8l0626wV+oAIfIbN4/B3A80AVnGYr9YxGPgKeG04PAyjDzWP7Met1/i0Unx3RTXD4Fphrc8e6viE7XoWrRfbDDlr4RrvBGhDrW/5xuF9jzww+Nscl1lPnZDf9MRO58ABEwcUM0Rg7/ld6tQidz/5r0dzvp38mCHyNnjFDqieX6pfBShjNCWQJe0y6TFRPuWRh2/lIw+aIYIlluVdZ2RZ1AJLUidmtXpiTAWe97LeDteJngM7ahqowNDvWNcbgLiKJ6oFT9D8PAapV/eLromGlk/cWRT33V1oYU4AX7TGy8UqSNOcP2uiiLov2vYYTT/2MpyVCj9us3hYZhs7dpdJlUOLeYucp8JmO/Qjg7I0TRZaGpQ3muuIvLY9HXmnu4puHnpqe+NLNzF/qLM/6nUlSUxZ2mPlmuJxFmUl7Jy8TSzQP4zj7J3TB8VAL/M8dSFrinZnZ6RLEm+Tp/0AmoAw3nCfV5ME1mHzb7xjcz9to3DJ1js7fJZLQ7rybvEKKYceyrpHrTfAa41cyyNmqFhAxoeICAJH0W1T8V5vR0BN3Wynpk9qa/WwgF53inbFwrPW3ubKGCgyZz2PHjkguaOXzTkkLeM28BeIS4ceAWxum6Fy2mTtjumBPoaE5677kI0+QGU8dB2ngbPExVOnNuUhgvr10SQeGmQsrWgOHjSL1xh+L+ohdL1CoBVYtBEzlN/y1vH7NAd8H+3wAOh4BwHNOoDIJE2jJWIhTUdSS/e8y3r+arHVmxRIwRaydZBRgVk6kV3iJbJOB3yt/Wq0l/X2u4y3rVuXH7DJxfIua7EKpDrMhrQBZmxjy+/kW7opCg8JMRnOQ0c3PD8nadnUdqT5fHmfW0gBOYatX+mQNR6uf/gAwMRu+wUOzXnxMNvrxekAsp0HjisqcV6q015PigptBbOEXB6lHFM7WJnylpQEOUhmH0tEAcrHcoqCvqjXxGLabGwConoc5ZEjmJ62cXtpxnJ+1IsqD0vpyEccvQQiteNnfu+Z5syb7y9/1Yj557awwKEAcKXdifXhSn02i2tvpI5D3qc+ZMneoFgdoCXA1yezzBtWtty2T20JROcG1lYufHpLK4/tTeIA6gF0BVgDgaiGufFYRSv0BpOue0BQcvZdjqF1WqE+A27tMk5NGu6NlgkgrvJqy5SRbQEsv4CuOjylAUoeCkQv9w6fB9mhDU2TtgK63QDUoR4aTFlh5bWYLDyADEYaaRSftuCNK61U2BDEhsRVD7o0Nk29SszCvLTUMwfe1zD1j33/0XetrZbvQgzh9mY3C0MVPWgJXrHyxtIPHV9kmRw/8ExPpKR850XWUrQvz/VHJbTD5FwpfGgiehudlSpveZHpMg7s6CS4nKVj3uujjNdFI7oe9568VxLLkU3rsboigXQivke3iu4b0va6gLdxPx52RBjEPQAAQABJREFUwhvmj8Dx0+6rATLXvL825NdGO5wsHRxCemzoJfjx+DEHavi1tomBTOodOh0pqyu2z+u1ehLF7THSIO5HE4ixotbg8AixzrZxgRrOO7yo22PYabotl7TBabQR2batMQ0NcbHD/UNGwfV6OWie9hgahWk+5QnGWxSf/t2nm9989OHyrBHzzy1vgUMB4PGg7Ald9OI4l9+Ovi3f6HuVWnwVPVe9JNb0VlfK7Us7+o5t6EhGK/oCJgCooVYBtvaoYJhamyQXADeAvCPPN4A44EkacGdoFrndoM034hwzOkibXt0SgDSBYXB51JbG8wZ8AVtkgxeuVkBXPaoE4FXbAXZ5o/EY5uZpmwoAWrPJETRFCu0L+nhYwMs2oJfXDLALcCWjveDkeQcNLELDo94RZ/dYAGf48upLgXZMy/P9ptV7776r/zeMEBTs24lYJymt3mkgmqYdyGy4TDzOFjqJ07SybVjqZCIVWYJ1WlJg7dIPsg5wXpfJmXSQh+7lUx0mEnV5m/1dUG8bZZ0XVcbKl+ne5q4seee15WMCnv7bD3Gbj5Wnx4OYHydpAnrT0K3H8x4j6+1LadC7ed7D5ZyxBzllaAt/XFdjDTGvaUEVHmg3pIDAMbkdvamep5zzSTufBGrhtbqUsfa5XFpQtDZE5f7wR/uxGWWDodso1Od6iAkeI0/wvMeJnvbAkOvSY1mrFzWUl0xqe0QIbVVeh2hR3OxtQl9HDhkrrh/Vua7zwpeT3v7ww+UFL5/jW9cChwLA2yuaHdX4rV3W2pmFRoBbc21owVc0eHl7R6jIAqaRPs/HHmVzvTEmcqFP4VbCmprP4+qD01X0lgXg4RaxHVjwqC2Yy0opy+FhC4wFcDvyskdWhxh6L0008TY2gxw80oBpvzcy8JWctmjTsDMgvKKPXccNQVAcPGFAM3jAoZ7gyRuw9of15gZD6QG4GVJHNgy148UaKKsNGigXsCMHmKvD5KFAxyIZ5pH1oS+BdTw2htFDH6BFamqdbKIV1HpYaB57dPiT6oT/FBbxjsQ7C+pyGp1y2g9HxW3Hghw0pxOjx/NKWtr0iWi8hNmVRThht6DkNNrrHR269wMxbzt8gstb2UBaojuJOlyWRqDbjg9G5MVkK9fKi5+2xery8rEsOvzgUlnIKfh6+9HhaSvqlSsDOHoZb4PLpnlPu640n+oEzPjjtSGeK/cDX87VQSFpmon4eYXu5VymBV5XJoFWzoU65dpjo0xUyHzykm6VtbwjfBS1bSgSvaiwgLBXTJzKKE2dZq8O3cu6LS2PTNTntobetjvqcDGjK5Py96TFb+Wtkvbn5LRXfE65H2opOXHLWiDtf6/bQY635NFpM+5mG+803Bo2TAxNw8X8ASg9fb8ScJN/qy0xGGYWIEHj01l4zJr21BZoAsVtbb0mINwIMgbGKs/XNtBjHrbSoS6BrwB8W9/CJB8AeVu6d5rRyii2B4AO5qBOHgbgE+NRC5wNGEkzD2zAzAeo22NhcdmOeKE9xMgw141nDsgGAMdjDkCMDHRqhRfyemuqpQfv2uykeqBTljpZjAYY4z3/1b88edfauPxB9NDRWqdFxhPc+Nz5CnTKMRkI+qWjAECgd3kIQXNV5AmuL+T2/0XG9PFjCcVp/fCd3lFhRSLPZQAoB7pWdyznMmnsaer2aqwc+YSGCqd7M1ze8olsKkea4G2yDLJLhffqRs47ZyujHwdfz8Pv1kUeuv916/GyHnOuCZfiF1djNhD1680kdp7TyPufF0hl0jLwu3kvs6RYCvaT8+NoYy8c5XGtrV26ti3mjrGEC8bYaR5Hstva9Xu+U3rXCM5I9HhZu08SutmIdooG2eVQYbQoa9eI5Fze+Im86D+ojzb8Leg53NoWOBQAnmkDbkCxN1gxz1W7AjXxk5Fm7W0NvjTbAQwd1Mz9lQtsgCMvGSAGxHsDfaVDYAQgWWGBYrOjOVt94so9avvWJd61vGT7BJbSeNMavRbQb9eAN3S+bUm7zJsUD1q/vy2CdOrP6oavYPPWiqEBzACrAzTbtLkMAA09/FFuZHlbwCUAZV4bHQHMAfYA7j211QGWhwHAmWPEo3bwZajcF6wBzO98bHzvXcern6JuQmhpSPuvd9jGjzLItZ0BaToHCJ3gJDu4Do9sSkfW8+j3P+TogKwTigIpmMJH1viWCYAEzQNpbx/khLVUD/LoWeIjnxBIJtkl8PN2tPISNFkvRD75oz63EYJWN7KvInCcbf1RT3vsnbphOy9Nmwcc73QGbrjX9msWtPS8kW6PB4Wd4PxuGcTQ5X8pH4W6VvccE2Vou3vnZleIBNHh8edtJNHKiG7BYxci77SYhmUh0s22qRxMhFzQy0OPabdxyoJNsKrFgGdqXI9xw4+VEx09fp0bLZHRPXFK88GPJ6ScvAUtcCgAvKoPSWuL4wZgnAlURmOBnQAHEDKQtOHkAIYAIn94y/zNBayAL+fCwFK9iQFYBEjANIC5QDF61KNCYE5awAxQ4dwSA+oBxMWLXrbpBdDVNvuTV40H7vUB3IC+gbfSBuiAMm1XzN/GhjzyyHPgHq24tx+Gtg3M40PDLpjroUE0a5vKu9cNSDOMDgiHIWmGyoM37vPO0L/5bf2fYuiZuq0DUCvS+7/tsMQnjYx7RshB8w5hqaB43dDtMLp8q1c/VqdlgoQnrX0ipd6e1+8ytIH2eIdnfDsTUa/KQ/OQ1pWm4Xs+lW+PNfKX2gKNgjFYeaW9PLzYFJOzvH68jMfedteTxq0uF45ML0PsMrDId2lOj0WX5CkLoDmoucwFbfDbNtSJijknbd2RTtO8efAJnk95gbPLc1mnU8iPxetZkomZVmaJmZSNPRZ1W1s7cm193YQ3VrGVMwVByFSQJ3T1RXpbRiJpG91eaXH40FHldFR7gOd0r458qysydd6+IBA+6eVyfOtZ4FAAeDYTUMn7LYotA1GAtBoK1BTqnmZ9BWYA9Giyolg7eisPj7TglaTASKCqPHIuDzgzzDsajwS0vH8bhp+tgJUJemYCcHizKwJZ1X1F4EwMKAK2AL3NM6sMNMpDH6nOAI4B9AFdA261ASAHPPlbVR6AdlAfSY6HAuLgVesWxfvWMDh5pqh58LChdCqDIFlS1G88A+swFB48d70OpWFnPGnkf/wvjX5Iq1p/uHtDe95jdBJ8+JmDcxCGzgIeZB2cSHtZMwRCMTidbJp2fjc2nVEJ6RTwkF3SDz8SOEL+PHjaY+joSvOk2yKxvPON1zIPKJvwu+XaupCJutPOMz0uL+ttdznP7xdTZj+5bru9rNeRlvF0Cr4up2u0uKSPtbtMq0eJ1uaRmMq4STjXnkYsTft1AI2057nGUl2Ucyay1jbJWNqYuz/wTA8/UbEnTSrSTMjTxPwREDYFIXY7wCKYWCoTyKG9sZypdR3wlUaPtU1pZ3neeEEsagsRNoBH8Bga5d32bifF67ofv6BFWetWIP/cchY4FADWRysFTpu1faBZJgVo+4OtphdBOIDuqN7e2hLQbtajid7hXR3N5/OtZriqkVjtaUWaP4CYP87MaLJl872BF0AegJ4ttKpaugHZ2SIA/ULD2HjeBvQRzOEbEFsZ3R/mceOZj8zzBiD7WsQF2FIfQ+fIIwcYksfj3Va+kceLDHktIDNgJ8ar5gEAYOUPkJb3ugCgGREIwKwy5nlLh4C4t9CDh2LqUqtr88y1mypz4Oj4zscmGnpuPsANHe9tqrbgNzV0v7FhuBxlXAY6aZelUyDNXzccRHc59JiuWNjrsHL6oV5vj7eB+ghtPhLIOz0kkjaL54CX6otFXNxi1wHP+a7bBdrjN+HQlrZcLLRUT9JGb4fLu5zrJk99TvcYfpp2+W7bnL6frPM8pqw/TBkt1utlNwTALGz04LYn9jSHm7aBPMFjl0tjeKkOKxDLeDlopE1Wwl7ebCO6t7FliObXErHZuS0kPUk6LdOmvTLpWWo8dA+eJo767NgjHZKxlKB95Imh0SZvs+dFNhnyaUCn04jtLxLah+KYj7KPzXpF3qQjNeItlD4cAK5Wa2GrbpxxXWnfCYDLwTikt5QXIOvrgf3BuJnPxgZutXmFY16vAHzMQ+ZcAFxNWQuI5blGrxk6Og0gBVqkV+wTlMHrpl544c/BPHjNlCUEXdwj8ngHAnEDT80JRzDEo0WOBwZ9TWKBp0reggAV3ZQhBqDhA959gae06/hDeTzYnh4MHNgdnG24nblsAT9z2mEoXIr134BaMcPxjz3S/2ltbm5Dz7F2i2hN6t0mrWs7VlriMvDpWDzsHoxTQoyM/aXCqQgFvbBiOigP+7XB2cTwia1zI538ocM6YhIxpLrpmL08Skg7DfGWF8u67pYneQ8kra6ox/RFppczcS8TY3htZ5ykKQrPYz++QNnlpWWd5zE8L+dy8Dzt+qHh+boseaq2P9qkNBt3MBTtpzA2rZWjDKHLD9Tw62VcLs1DS/Oe9tjLmI2pRH/WXsVm30BCrB1Cd9va8aJIf37sbcO9grRni/rtYEgTXK6b7uajvNlWZaxtsSxp9+yNL9m2Kq8HfQptO0nrz++5VMz1IU/wMqrmyS//YfMzgZp/byULpJfpdTuu+faFaW+4shgMNpqBhqMHM76vq9lMgclAwDo2j3gsoBsLODcVb6q72BTQyoNVHpDuq3zgFQJzPOWxgTo0ABnwpBygDZjztynPNAB3AD545AFmT9uwdvSWgwdem+dJ3Q7YeMR45eSJQUS8bsAWYKfuXfAGoEUXQDPf7eDdaPEXw/DkHYjRh8fsMgBv+APAd1oANxnk9PfXfujIj2hbwh/xm9pvaGJu4NhX2Ln1G5qM8SLTQawrb4WirKeJKWZ/iXLP04k42TolyXqbPN/G4nndSu52buiISjxGaVc29TitPDpIKBBT1o85LQs/LYucycMgKAPfy8K38sjFtCILxE5L5SO7PQ7P7yfjPGJ0EVwu5MKv88iRdpk0DQ+6A4PnLeZHwdu+pQe45G26wNSvXTsx57LO9HNJHZ6Gl8qR5g++01NZkdvgx5DKUtDzeLdmewgKboOWpgp8xyyTDWKh4tgQa0NMGzvqclFvQ9tYGMjwZ4VjWpEHb4fZXkTEWnElnA+tG6jPy3V5ad51oFzn81NaGf14ys/pm98ChwLA6726BninAlLAZjqcaP/icLlBmwKyAmV40Plj3nggb5g/wHumrR8xPyAOODpAQwteNDrGDRsPwOfPgX2u4Wd0411b/Yt6gRzlGBJmbhpgBZQBdsB0ulgxYIUWPG7mpxmehscW+cHjHfQn8tY3Gwfv4JkD4njZrLTWzSSQpj3IOKjjYdMWwNqGx+0Bgnyc5xbYAuDIIwP9P3/n2n3H16sPYAg6AP+jLZbmR2FPJyC6dQDeEXgsWX8yt3KxoMlCSMIenZGHbPsnmrWDOKEjSgcKzYJi81SVsbMaeS1Ikk8qXCqrMuT5cxGvC92knadk2w7vBE2GnyQgT+DRynQpHa62kDcmfJfrxM7fL/Yy+/Gc5nV5nthpXt7bT+xpl/cdsVyWmCby53qsnPKXrnipELc2XCZbOedZHI+ZtOlV7Py0qPOj+B4ZL0sZZP2PPO1O87ZNpgjQWw+ffCLkx+f1oaAFaJTuE9xOSywUuBL0ezoVivVyvXDfWLuirJ2TRDatI00nIpaE58fQ5el++NzTzzUnu/Scv3ktcCgAfHG+OeN7AROBm7Z/LwbakbHZGhsoB49YwCkeaeiAMnmAmT/Atik3BM4CUPH7cwAZMBzX49VYTmA2mWzaMDSnB16xKS9aXrb2xbBFWOiHZwAvYAMUSTM8PpurDQJB+ACzxwGoNyWzFeZsxYBW6aGAP/fQAWfKANbBIw/D46tHwxy0AzoyyAKswWuvbViehwDoAey7HnfQ+2ce6X1QHdH9VBT7AtRZsDw/+wTk6cDSm907DAcfKybBcBSKO3qW8so4gCJGGecTG88J5JO0yfNDEN31tPVCgxXLwCd4JwU9TaPDZZHzuqx45MFP/5AjoNv1W94KKZXIQ0/NirzXD89Dl9bNuxxxyiPtbUvp6TG5jOuA57LaiMWC5WNDOQzyZPkz7zjS+KrXxqYyMSDLnwcvQ97pLuOx85zvZVI+NA/QyXvsdGLXgUB6nF7e+Mpgd7eTxbGw60VR+9AWC7f6vBLokdfG6KFXTOieNJpnPJYuB19XiwrSRiezT3BZO0+R7zSuWWur6Clf2fXtWfF4FM/RLWCBeLte3yN54Ognm5U7ZxM+Ks/w77Y2B7CPkuumIn95sckn9/Thgc1yOuRj9BJUfqjlxT1dgb3xRJslz0t9eL7o1eEjuZORPrIgsVoLiGf2HYRZUe2Mm2rc1/7Ifa2S2ipHvYmge1OLUyYqK12jzXLUTJptpYeqY8HCqErbOg76elcXkFedUq89u7T4aVPpgcB4IMDu6xbhO8EMic/FH9dlsVXOZnyNSDceVtUHFgZDPTQs+rX8fX10oS9Zudf1psqXasPA5rW1tZXAd170JEunMlAdvKOlGWO54HPNbOugtO2XhgrVn/DtYHU3+vvrP7D67iNr1QfpB/jzm1dJC2mnDIG8h7YjEsFv8K58qtNlvDyx9z/W0SUMqkmqWqoXMetcory3KY3Tdjg9iu/RBZ+6rC1KyHxLMg6+Xt47NvJetuVRWMGOtVW6K2d16AcWIQVq8vvaKBoJXnpcLtuN0ZMG+C7j9G4eOjT0A75sikYg3walyULTw2QbXBe3F19B8jwCUU2gRf0pvZsm74Gy1EfseuB1085H1oPLQDPvQAQHUgANJR6TNhI/BI9JxnRLSvLGaxlWcrdsSve0N9DzxJGGLq6rFmyjDHQ/B5Zebl44hli1R1ZUP1FFemwXdL39vVFT/JdvOln+W5fP8c1vgUPZivLXfq1c/Px3a23V1pXeOW26sba6a8gpnUGpS1o7ME6n2rRW+fXVSXNOU8Gr+uzuxky0C1rCqet7qA09JG+3AuVW4wYYU41eyy+1zy6sis6KT+F4scG3DzbGxc5qU6zqKr+wJYgVbWjfOdDwtmTZ0RnPuKcl0vKGy+LKVqnd+8I90d8sxuVEHy3aFBBO8MwF3ALqNQHxdCyPW7A5L+pL083y6PqkkcNdzJUGcGmPBxaE4WkPVBbnYzDAAJvFXMPqGh6X16y6+1uqQ968YrxxecQlw98jYTOL0taPlX8NfXbwJDqh7RBEt8aHI1iSso5IFKxFOu00rFCkU4ji1OUxacrxl4Y0n4KUyyNrRTplXZe3wfWk6p3W1hcbY2VbYkik5ajQ88guATP5pKzr8uVxzkrLpMfVtWHaRk+nsR8felM6+ZSX8kl78DKe95iyDkzdtrfH7sIxdl0cD17wkbXA8HNMzmVikdaOxnNiEi+VFZ08fx5oi+e9XV7GY2Q9TcyfnnDbujkXRo802ujngbJL51syNgRNgVihHVOStzL8QCOkDSOPjoQMyWXdPm0bVNaKRx2mUmliRp2wNW3168n4pjD8kKdoPJ7TSv/ymx8qfz0RyclbyALd83/dDu3Dn2hWd2ZXJkMBoD7qY+1I07PphsBxtRHglDsC2ZlAEqC+YtgbmjkabAqUJrU+d1TtCDRHAmRiB/QZ4Kf55Zn0A7TE3QMUaBtAQ3eZofSGofFQLzyAvpxsVc3muJZXbMBfTkpVrVek1LZCembTrVBObdgwaNVDgYbYZ4MApkLUCkAWUBfTS5Om0BA59QTapGCofSh+gUAMRtOq79ks6NZTSzmecBtPiv/sHYMHHrin985jR6of0T6/7/QyxByodVSdI247ikTYRWKfYWU9nYgt0b0jgY9O64ikyNPWyURkMx5yUVmbh0BZ50UBy8c0RagrDd55GU1yS3kRu23x+pD3tKmnrBFDh2e8RB8y0LAPaQJt8Y40UNrOstUNneP3ulK5/Wjwnd4t53niVI50yuPDCzTUwdf1Ief2YZRpWyNE8LwsfAL5N5yQB21uZ6D5L1X78TstjZ1PTEDWHgBjISKXgf9ygpfzuC0rpX4MbSymH1srlyRcB/FSiO1saXsExOkchGUlZ/W1BXcTqcqlepWxfCqwW8xSOp7T+vvYmx4oT3dYOXuLWYBr4VDCez/TDO6cXT463eabttxC8iYFktsaal3Rt2ydljYuBegUmJlPXtPT+xUtKHF6Wo50l07eZYInrQ05BO6AeABiQBhQFlAq7AfiDsSA+AWB8LrawYMCoMx2m8a/gKcuABUID7QoDDreroan5Y1LrwB1onlrzSq3Xd8E0BaIW72xPVtXtvSlQS1WE33e39YW1iuLst6qpvOJgfajbx0dfcdbJ+88ttr7i+qM36mO1OaG0XEtYb+OqzWQFKT9RWhZ6HzQTR4+8t7Zuwx8p7XpRJnxvDB6+EMwCUaLxFQXIimvWzblmWyU75bbL08jAGeOiarRRfA4XLEhTzql75cOpZd/03LLnJDr8r1OuGkdgCYPBSnd+dDcZg7AJqgfl6Esab5nfefxwO3W7WXS2G2T0g5KuywxAXN62nnRxMZ3nssaMSnE4Vr7JWjkpDD01FZemdFRpDKp/t2THHgmH+W8bEuDrkB1PGRg27Qu0vZwipDS3hbqowwxwdoekv6rscDil7Ub/Kcfzl9Ccpvc8rFfD4dyoD/91EtH6yuDwVBv40y3w2WcpgEzhsUux5WaAO3Ro1q5qfcXAWka7UDt4NwFcX0iqNa3ACvn70zlKQ9DXSkou8fthqBu0u5NO50Yz3pyZFLPdgSs0bsO9ADelgY4BZaAOjqQcy8dvge87Q0BrkSKqY4PULYgAsBNHu8buelMYCsa3jXyIeBhh7oAdgN+tf2Hv3/9bSfW+9+uBWJ/0b1jOoA0dDuHlMfBe4eRlmsBMwqjo+Ur4Z2960r5XhbrQzfP1qwcKuuWtY4syqZ60O26rB7JmC7LhB+TbxvWaVennV3ZPXWZmxw6WngEP4aQ25s/iO7lPHa5a4m7Zcjz558dRMceO4jmbYanB9x9AzLoumM9ALELidSeX/ieSUzrovvGFCFcq3yQVltigjh9ELLPFUZmO7QcZa0OfmJltNePHZEUMF2/FUUeQixntESgy4Jv9iIhZjcN2UcAXKXrcLVO14PEGR3fr2oroV/JwIvlbq/g18OhHPUHP/nHmhg9OtYXjZqVkd3e+7ajC86AL54ywkePHileevFyuXo0DL6tCFwBaAdQQBsARnZNMvA876BMDH/jSlkB2D4X5uAOLwSeBNZMN3rdi3aQZagcOejpUHkK4oA3A9N42UFnAPQdgStD6s7z4XIfFge8j2jI2+e8Z6oDj5v5bdCYYXAb6tYQOR45wW3wrY/1jzz6Df3vxDvWmq93VlX5ACe+bQDpmKHj8E5Fqd1+Sfy2I1Ta5V0HeadRzvIkYljiIyt6Kr8f+HpZ4pavgrSjDeRR5kFpsui2Djim27pER954UpQeEypcDh0E8k4LlPCbdu6eTmMvC83TIbX3d79yXSmXSel4ru79eju9rchznOT9XF8NgF0/C7lO3Bntk5Sl3ngo7XVjef20dUpGRQ4M3o5uTAHTdWDJvQzqacso4/X6cbS8WNTo8WQ7z2xDpi0c09dA69bv9jbdXgF1u27ShMgT+bR2tP/Yow/nYeZgmNvzN71Urr8F9OLQR/9ecfRSc7HSxwqanegF05Bjx7RJgPLQL14M+TRGZj/QDt5xKc+0MFDugjceNmWhu7ftXjV0aFVdVj4UDo3ggO/g71419LEWOTPsHCSDx46XDbAPV4rmyqXwAADfwX6qOe41jZszbO5AefwOycZhdNeVetgO9PAcoEk7SJuXHIfM8b6RgcZirlZe4PyjT6y+7c476+8YD6vvU4f7TntaR1ESvOOmw/AO1mPESHvfYmnPdHjIGuA5vSMHH1KqO/XiuuBqRk51RAWuI9UDqy0vAZeBTqAe77DJp8e0Hx9ZQreOQH1tftP2eH3dOqHzB/h2ZWgbND8WmuzHzfHqIXEp7HcsRzXqtKplCJQjoMMDNNfpNI/3o+9HS+U9nepN64Of8ly+K+NCLmv1kukEP16eyJ1tNvSCV4vR5Qek2Mrrx4fw2zaI5ueg084L6iV+tekXv/5ont/tnJnbM9u5Pq6/EZ56qhl95dy5UY/LWKA7kjd8PjZjpL0p5qM7eqOVC8K3qmou1fVOx1MGqAHmNADMDtwO7NOdsgRoCe5xEzvQB47qTx4ESF++UFWALkC6reFrgNtBmNjLaSVYDXCTZ8jch86JUzCHBzinQ+OuA48bMMa7huZpQBvvfHWt0UJoFpztet9p2sF6oF0uGR7vArYDdRr/hW8fPXjygd47J+Pq24e94ju07vsBbw8H5wDmnY3FontHZh29EyPdsy6DPmg8oizRRHRZZFLgtXzKjGkHYLLooo0ulrbF63EeQn4spKG7zJ66ROi2BRmCd6whF35TWpo+SD4t+/XSrs9jl2ezDTr+ls7xiYk9/Ly1xxtpzAEDwH7cbVn4FFKAh9677ghxoAad2OxaQ3peoupWCXpamtJtXkRvm9eTAmUr58wYL9GV8eNyusdejDrseGEQVC/tsazzoEPoNhS602Khfcshp2AqyuKCzsUva1eBPL8bzJJ/owX8UjpUg7Ai+tLivL0Sta43dLe2bCC0mKyUJWA8AVAFltpKUtfzHUXv2IVqU/n18rh20brQKwTAC3WZDuLwvExRHJcnfcEAmYNsATyC9sobynJ755j0XtDqqapKQZk0ZdzTduCGFgKIfmkJ0CvpcC8bbxzQd2+bMu6RO7h67F44oO4AHurY9ajJ91f0BvS2vWls3rQPk7sej70s+dSzvhLHrBnuZtgbOYbIAWuA/yf+yvg71o/1vk/zit+hs/CNaSeOMBeM07BOsBBadumknZ7GnjZ+/LEGRPkuv81LyIGXYgTKtfyY9vwSL5a1vtIYe8v68aCX4OCbgpJ36kFi7+/V+AfxDqKn2veTsfd9BcDtMamAHztlPc3hYihiZB2AIROQ6+r3PB4wnrDpCOL2a3UmeZL70ZwO09vjcsSEVLfzAmf3F7rzXN7zSJEm+LFYWj82V0xGoSvj7TFey5Sc0tThJPhLhC4TQdGsbhdFh2hR12k9QPzqIw+WvyJ2DtkCeyywdK3t4V4nwuc/3/R+6+kX7d2bF1/S07fmoDwGjHcExKPt442wtxhvvahdqHYBmia6x3xc6QDSoeGU2wVi0SRwXsJOA4wX2hZzZ7MsKUseoG9BOqhpf31I3Ank3QMHpNl2EhB3vnvQR9brGi/dgdz5xAAyfHQ5UDtIw/dhctJpgL6hoW33luG5Rw4oM9/N0LcPecPHE0+HzlN55PCuHYiZx/7ebxs9cPKBwbcfWWvep01AlsAYkPLOGt2AWOyPrFMyUEs6qLTTI63/bXDAc8IeXWKYqlgoBUzXuyeOyqwuryzWm8o6C/El2Vi+G/kxe+z8bh56SkvTXuZaZbryWohnut1u6AZcsRHBjy+1E3TyvC9PQIZyHsy+nonxcY0uaV8YC/vxU/GD+EkVJp7aG8J+5bq0VEdaPqV7W/blJ0SSaTm3ldnC5STQyiQ0qyPJexI68tiXnkn/Ty/0GlEeZjaL5Z+rWKC9zq4ic11YvJbUf+6F0WTVu427i82NF6x9Pc12bWzqC38TveM7Lssr+gohjfI0/LG+cCjoFvVFay8AvjoJQB142spiXJUbz9TNXXfeVWxtnTNgx4veGp8ri3OaUztWVYveugD5fGsXwBqFDszElwSyegeoDkC+LsC+UOKFM4Qe4vVic+e8eeGUJSyBt2QBecS3BaQ2vC592nJET+6XzAu3Qvph6Hw4CovU8MDxsI+sHxFgX2rbiKwvPvNy3dg97JTuAOxD5AyjA/6ANEPkzv/Qj69+ZGVY/SxW51uytJQOn8CJsM48piH4GcRyDDubKIIKzgu5UNY7QWLEODBiyytheiAopOXTcgfyYMSyrs8r8PpMRDKuj3wa0vpTuqed342dT+w8p3XzTr9aTBnA10PaXrPLVWxFGeS7c8Cua7+YugBhzOfnpCsHnXA1mSBxdR2U3y+gn794uS21w9t0tTZ0PWGzWSxg5VWxnwvrLWJDbPetyLN2QfeKFKe2j+Q8zGyGyj8vxwKtt/ZyCr0esp99Xznr3XFi9vzz8mI3qhLwfcO9J+o33DvXlw4WNeALONeVd/26KZUGhOEDyle2XtAf8V0G1rQT8A1l7ioW5+6QnrtMDh7ga4At8CUMp/MFHjbD4P3t+YJ4cbGuLz2nz94rDfgS93cW4h2vAevz8r8Z8mYInBivd9ErajzqxcV1o6HjqAA25NcbgJr8Of0FnYI0APyiXhqGJh32J31HpJe0D43X4l+Mk97IQufvwuW6xpP24W9igJqYMl97kQVhIU1saQEuoMuxO/hCZ5jbV4oDznquR8Q6Kjrlkd4XHY8CGLAQiGAdkiRTgASoHRhaGZMO8pRJOzL6OAJxyiONHv68D0R3KmMF9/tBmUIq63PRsNCX8pClQ04DfA9dHnT43ol73uUPir3MQXzo3boYeobmdbV86o/y3tb0PHgdziMfHk2dszdGN96yzn+wURTplktM04LwXm37U9zMqQ4kuaT82ODxl8rasUZ62oFBT2WNF4Vpt9VDXsGPw+shhs/NAPi6rYymHytLQRcirSDRs7L1x4aL4uFHHypPPZzf4Q2Gyb/XZIH0+r2mAq+n0D/8gEZkFzOB7ol6dPSEfK3nimefYyfkeQ34Xtq42+4D0u4pP/fCwnhvfOsJfXL3hKUnq8+Lf0KguBDALGoAva6er9nppyheKOCNVmcLvSBsfNJ42A7ugDgyDHW75w0N8EUDoI4H7WANUENn0RgyG8+8aO0cj0PMXHYoe05fWdLXjgTIDJUjT8wwOCC7qT/0GF+gCqg7EBOf0yI0ABvwHk4Xso9e2lSAR7z9NekUHxAFlJtL5w2g4R05BmQFWRazGV96oA3GiwU6AHDy8LTT9nwwqRfoUmdl+uF5x0SHxUIgeckaiZBNVpTXLL53bA6QlCEACK4EHf4XuLs8lyX2ztHrhIYOz7d80Rxw4FG3mtfWYXXHyq3eqEeRefLQXBc010/a6R67LHmneZk0D43QpXXzQWrvL3LeDtKAr3/lKJyl3TLx0Ezeyu2yllOxzUu6JUHeA+kka6v0sZ/TvC7PU85p3XQqcxDPZdIYfWZnxU6nPOlu3i5Y0a1MwkcupSFnxykGPL8eqcftbHWK6XmWVCLLHz/oc4Kuc14jeuLND5YZeLFLDq/IAjcUAOvqbj7/yfu3X9rRmqrimeLixqK576Gdelrs1Jc26mb16DPN2l1bi0XvbssverN6vHa3AGxW//EzGnIWHznyRfF8AYiTB9DXjt7dPPvCc/XlK9x6zxd42pc2ioaYcMcJQPTuAkAH8NeOaqXx6h2LQA8yALSDNOAO1T1u8gA5Q9942QAunnh/+/jisrxpwBzgBpzH4zvsD3BnURnD38gHr7mu4QPqzGE35qULOAWK1AconyehwDB3fxUgFl1gCojiFQPOgDTgTgwPGeimJ3rgDItvRBrgDfCSF9tAnTx/9pUIFCQh7bQhAw54xUe0oGtNs/mTCMi02js0L57mOSjrDO3ogqx1eKJ72chq867HQb7VFwVpm/NMV6LbyxK35TppeH58LuMxdNL+h6wHl/E8sdO6ccpzea9zP95A9u3SU52kvW0csx13KLL8iy1of0qlrPL8pToRwY58N9jlrR4YMVDngXW5kMsmefS5TshXSztvvzJ0YNC9/a6r2ybyrgeZttFi+EuCbj/j64djNXsgQ1622NSX0i7o4zHPv5jf4XU75fiVW8BWHr/y4q99yVKYo6t++u6PXdInCibVea0kPnLHyeZOjcVePF+UL13W5/2KZ8r7Hrq/funy7zfT4my5WvR1fzxTnL80b04+dH9z8fwzJcB730Pcc4vi7HNnm2Exqu576F7pEO9Sr7zrPn3jSGVWj96vB1mCEFzhrvvutvjKpec1H3y3brmZPPD7uf8UntfQeKWtIwHfyuaigycOilPueQNyhs+vbOlzi/LEg/wJxS8IkFlgxm3+ogE3aQ2bS9f/z97bBmt2Zfdd57n9/qJudWs0erE804pVQyKZzJgxlF2JPT2UA4FQNTaJBhcBPK5KCooieKhQRYIh0hQpDB8SVwFxFXwZmzH+YAHBhqTKxMVoTIoiBtlysGTPWLFaGrkljaR+f+977+H/W2v/97Oec5/bamlamu6+d3ffs9de679e9j5n7332Pud5Hg10K/fr88dvx5fiK56RN7p3DkfWLg+neL4dGNa7l+WXyZnBZM/lj8wunnp73Hl0lqtpDGk+Z0J3mk/WWmE35h5tnet1tHgz/JK+GziSZl1W3oMm/St7D49+hs1LZjv0CbCGWppNB674cghtVbNdPWoi5rkx25n8Ek/etqQZjHrA50wtlCWjkq3h54NhiQB8TypEo3RGEsaELRmzv2zROXhaB3BTHmjrT2WULZ/KUrJ4vBGmyqDjua8bQma6HN6SOJe1g72jSyrmktGO5juHzc9z7tXNlV8vdJuGigoL5WaHrPKxR9k58uqD8jRVfWTsrkTdihE6hu0YX8uGmhc+SiHkVsRWkYENkQ6XdBPiGxFfA2Fr+7DdAt9GC9xmK+BWE03Czzz9xLVjw7FV/a2/cWoYmXgPn2Nl/NJw+JFH1oZXhvX7HnxsvOfoqr4b+ZF1/o59/BjfChX0nqMX1068cmLQ9ybH5MUqGhvgoE+fy69KPnwEHo9+Hhmg+Tt97oRW2g/IF+mRWFmzHc6EvOfQ1VhVk7NSztW2JhY99/XKHH7KwN+vFfsQejzPPnOZre/cNnfuSZxyPut+M1bfbJd7pb2+8pF4zs0qmqhYee85QHto9alVNjlYXjJjZQ2OP7a5/Tyb59b8sXXOijsmXOlVGvza2VPrma+vX/xWrLDLEJWDlCco/JKmA1dyc9DmqxIPaJv63nv0x5c8iK5fnwiWk+SBjdyTiB1bZru1XPGMmOjyBz/+pOSB1jzirTHDJy3jpWQuA2O8ZbVcactrvky/8tB3HOwsmK42skILnB4T+KpD3UnOg66FkG5+IB5+2WtZotluZAoZf615e44t86CdlvEs69eEQBVn2nFQjk6vHLr6x5Z5C23UAvXzX+rMDeMF1ZtfbLuomxD03u3cYn87bbfAzbbA7TkBt+iffnq2+vjjw9oTjw/DG6deHAfl9516bDx5ehhPPjSML7z4opCPiSeZJmZWxIN49z2Y/fPYcCn64bHHj62zih7+4KWwvPuhY2vHHh/WXzv3yBqTMrpMunqfQjaGmNSh4WkFrr9VrbSZtE9ogn5k3HP0oZjwDhxak0wr6Njyfi0mcFbZ8A8cekhYbKrznnt9hh7Psw8dWInVOfzcLs/tdGj+eI6d9OvxnJuJnEmbLXFkTMRM1PBZaX/sez6iWN4arg5HV5nIj97/kZjEwYBdG45GGzBh8xw8X1T7SMTFBM1qmm1zaCbwmMTbBO6JnFjrYOUJwoMRuWlwptGbJp5lslV9WBPxR7SkZ0JmdaXvq+4pguslDaYeTcXrk2uTh2/REZ8UPUgjdlzGuFxl0DWBcap1rvXaDGM9cuuSm7a86hs75cFn8l2YgGtszRh6/NkHkKmtojbHVWazZRutGJnj51eU+N3gm0nMZU4RjwvKLbMvh+Gy5VYJ/yqAM20MuXnGO68YeIFtOeUelwThW4zAKL+uHnVOX5hzRrtv8etRKChN2zW5d+7x698cn/r9E+Pf/for45d/7+Xx2J1bkzs38ttuC3ralJ//vF5y1tzx9Je+tWN4UTOw0o9olap5dnb6hcfX73uCfvO4Ptaj/LnnhpMAHhqGh089FsM2/BeEPXLyufXh058ehucke/jF2cnnLo9PPLxPHz96fHxBvwL8xHBtPHnt8fHhU7Lz+GODJnJdkfKn/++8sUrfHM6f2qktcE3ymvSZlJnU73lHk/ewc7h4dudMK2n6tUbNR8bzp07M2D4/cui1Yc9RJvqX5GWnVsk7Z3uOXlk/eM9j+gzya8Kc0Lb5oG1zttFzsmYCZ8LmJgD8RW2Zn7048Axcq1z41zWR79IW+dW1sxdf0xb5DtVVs7veHz138XVi0GT+kKJ6a4WXyVgP8AKbJuyY5s5f4CW1IbbHmciP3q9tdT0j1xa55G/FNvoFbbXv3a9nuQfvZ+sx2pL4nOpgxADmsnNwlW+9mrOlyPZqbLHKFyuOq3rrlo/K8FcnXvTq5EoZX/YXNEwSLdCyaNQsLmAb64aZbU9Bm9ULfAzmUqi6lbYt23AOv9KU2SUgWZ9q2UfwWj2rXtS3nI8w0A4NvjRGbExTtYuM55+Hdb4C24xFTBNFeJizP8TTsuuEjOTyVDfqK7ljsR3nOIEmVX+VnsqsO9Wjftd0o8EjE6faLpXmRvJOTr//6vhV9erjNF60+Y7hmOrz2Tu5Tndi7GXdcRuHry3pp5/+rIbnYf2FF4bxmWcy1ic0+VKm9PDrw/jww58eT5/+w/XTv54TBjL4T0jvG984PzJBD5qDNauugz158rJ0WUW3xAR+8rmwd/KhxyUX/eKgr798TNvg10ZWztBXf3dY1y8SiT+sv3HftZiIH3z0EWFyJc6KGjkTdG6Bv6RVubfLc0v8xCvq6NoOZwv9nfNso1+JrfOHH39oFT7b5/BZYedKO1ff+az6EU3M19dzkn5kYNV9bXho/e2LD6yx8s4V+GtaMa9qNf26VugPaFX+2si2OS+k7TvIi2q5Pb5Ta09W3LTA6vB6e/tcE69W06y4L1x6M2RuIg9C5KZjkFR5mqb8qmOsbVBmIuYFLlbGD+pZ9tFDWi3rGTITtQdocNBMzgu8xu/yFjUZOP6qL3CkZTzzLSNf8NVsh4HJoeKsP7VH2TjnlcezVj7q1WcWhCVZx2HUMrTLRSVIn6Iqx9e0fo4bHLT/VtUDr/BCVnNs/7aLE9OWOQaXnZtfdcwzptqKWBoAPhjLrVfLla7yqS7XEc+4T2ubmZzJ1/Ulx6/bwTQ5g9Gdmv7g1fFnVbXjxB/fJ65cb94c/8bL46fgbacPrwWWXacfnvdvy9PTGjqe0sQck/BMk7G6xZdk8alBE6/q9czw5JNPDj/3c8/O7r//LcmeHN56C/q46DaDi0diIn92eFZX5PEoa+KdMZE/8cSTvX2effbZ4ROfuGfGxA32Ew8dnzG5ays8MNCazFdeCAta+WoCb6RW3Zr4mflj8udm4cWZcWAePPr4jMmbnMn7DW2zwz8wnFhhgoZm1Y2MVTi8zI/FSnsYjkl2Qn+suHMlDc0qvfKY5O/TypsX0VhVs61e8TzvXkyvRfGvf+GRn9ZHjH6agceJwYlUeZQ9aEHXZL7zKjN9I9llrUzYDrzSVscxAkvR/mtewgzTyCy3r2l+I99gp/Jpudq7kaziNqO5EWHr2St+mpo6uQ6b5hhslZ+2QYjEjJfgELbzB/9dU8FTt3v1Yh75ZvW06WUxvKuvAqh2oDezV2XWKWZCr/Kxw80EK17ym0qlDcCvz4bP/tA/rWHjDkvfeHX8gs7blwmb68jnsOU/uf21mR/uCdUkdqemp3Xvyso4VsSxRfrUU0+NTz2lFa8m41/+5SfXtU09Hj9+fB0a3rPPHo/NJU2suvSeHLSSlt4zg2ysffWpkMUKW5Ps2jPPPBm0Wkf5M2GHyVfPpMf7Xzg+nj4yrEMz8WpLfP3kSYa0x9efGB5f1d86/JiUPflq7/vh159NnuRM0FqZD0dOPj4y+R7Ravzq7z4Xq+0jJ1UHbX2z4ubsfC+rbq22r/7uY7FiZjXOc22edTMZH1OMrLjheSVN7smbl9YoY4uVNxMzq+ZcoecLbPDymfcJtQ1vlJ8YX/umthxjKzw7K/okd9os5REeyZMDZfOMdzmRG48eEDZKtCLUpMRz4wf0Wa2H78vVMc+ObRsd+7b+dJUMH/yyOKa6YFkdOi2TW+bcdm9UD2M3y/3cF3lr0phAsDmNYRkPJUEjOZ5WDINh04a7YE4sFRUmPrkRgjWNx1bsn3JRDTFl/wVjycFxY2fBlhQtsw1yEqcK2nhyy0RG4oaGRxznzuffTU++aMsYvm1zZ5q8445a8T4V9VBFYvdDNWCHiXqJf+yOq9AdHvCdeh2VZufL5gYmUSZjpfwSOWgNECMXm17mAqMPyYZsHR5lXXKaqMf1L33pS+Lk5K2PQWmy1lcmK+WqehiYwL/0pdzu1gTPxD574Zlh1tbRoyZo4NrWZmKPxKStVfmT2hL/dFudfzpsMpkH4vEnNRk/rhW1Sicv67m0VtZaZR9X+QW9ZDb8+nMr8LTyXXuOFbmeVx8ZmKT1LVt6ln3y15/TI20tqU89ltvmPM9WYqubXfV3jg4zaCZ3Xlp7+MHHhnf+z5dmx+4b1t85ujp74ZUXNck/rufbL4XePfopxIjrD5h+L62nTP1Sz4p1DFlrtxh4TYeODgzG5nlg3iy3zjS3/pRPGZntMUnxJjV/8Pi2Jj4m4ufH4P382DrwnMyzTeeWO7eNKjdtG8aSV16ljbHuZmU/E7ctGp2TE41vpZYvs4+o8is9Ud+0aJ9hS4dl/tmqZYu83qBMcY6522vnz2XLp3rh18ISZegVfiEDFfJJvHHHKR7twNY5Nw7eVSimb56Unanfm1f+ziNfem38gqI45jYnjxNMrvR+rpfU3D6+3xaIc/B+le9ePX09c+tpDJokynxG+emnxxVW2eZbxgQdQB004a+D85Y4+bPPfmbl+PGvaWJ+KiZkJmhW4aQ20TNBs+oWnwn9SW2hDwtb6MJJ9qxkmrNjC/xZTf7Hx7eeeHaW2+fPavv9+HjkyKDJu44VL67wvJsJne31yLV1zgqdLfTT2hJnBR6TvPI93/vpFVbXvGX+4NHds6d/4rH/WC7/RjhecvDE4nwJ5Nti0fb1fHhibKcobFvOi1xMyHx8pP70Xg3gvcS5GdZ857Y/LcOvvEpbh5zJjG8Vc4q6Ue/GoM5V122ywBMWvi9E63abYrAFXeXo48TYKkOviVPHBfF36tb9nntALKYCWRBUP455M6wVp3LKDsjxmmUd58hZ4V7TtcBn0OP6gCkjvlZqTNareZU7logBM9qC/sE7bAv6D/9ofFmhH4trxBVpFYanh1c///Hvmv1kbYNt+oNtAXWj7bSxBfQFVJML1OWcXK3Bihpsrro7VyttVtLq6iFn5a0V+Zq2wAXZuMJGT5O6372U8pOs6Gea/wY9s9YE/aXYamcC1iJZE/lxvWj2TPxUI5P0M88cH/Uat7rQ15jMVzQJazU+zNgizxfWHg/b/BLUE09o/02JyRc5q+WHBz2vfphcZR30RR5rfJmHJuXZfdouX9WPPO3UDOE2QN+DWKXNA2caeS2b3iwH72SMbfWyAS23nJzVMV+NyTdxkVgVX9CK7apWP3z1irEpff9H23FuS5SJ02kzeeWD3116Yshow25k3oZuA0RTP8aTEwJ/5gWtQ+iYKTnJeLNdxgB6AEKmg/0zufEXn+cG05J1A2+m8lpf01OM4RErOmYoN2+B2eQVB4u4WPHysSnL2F1QhwyGbREH9Yn9MTPJgaGoP+vDa6JCwL0z0sta/aoux6K+vSLz2OGrfbZfwpo3yYdCLTkVH4rfLeokJ+TFysfkvcDywADTgxUdhKGibaMPrLhZiX/+88NKW0EziY9eiZuer6iZqF/URJ4vqVknV+LYnq/GUweeJuEfGVZ+5seH/0Tk3yCGGo9pcFVGebOU9ZjbAVd1K40MH/yZz4BYy2DYVqR5zGe1CM46gRFvVX9sQ/JCV18VIVSq2OQs572bbJkd65AvkzOJ+SNHYKLOEE6qzHTrNDBUUsk23Q7wmghyIXn3YIH5Pgus2vmVLac4B61Qacvfa44NTix1beRCvUIugevKTRZ/m9URnHWwNy3Dew/pjloBv/LG+LLa8Rj1ow3iehJR2wPZeGU48uj2D0rQFB9KYttzO31oLZDPqxfdwVv8Y6vbPOgsp1aW85k3A+8zz8zWmGy1Yg4cK3RPvuRMtDyL5jm2MDFJe/LFInxeOIOn1TJjUiRW3fD+u387PnERfA+EAEwTg8umk6MaNJlz46xr3LRsPrl1Kwaz07Kx8NHhzzQyEl/2cY8+5nS/Pub0EC9y6W3e+p3VYOwPuvqwzPIqM886tWw9cqcqh66TL5h+EprChrIY1T+0J2iwxtNOy5L9O1+GWcYDbx1yJjomvHdLm8WBHrJlcvMW6jnBRl11YLXLD4TxbHqzyde+yJ3sw+Wau56Vd6fSL78+fkGxH4uXrVqDc/PkMixo0sre4YtJbR8/jBa40TX4Yfjf9vGBtoBX3M5xtnHF7RAY7HKyr3i90HV2fFqYp4yrOQNV6s1z5HXgrHjT1puWp3zsVPsqLtpG3ozYZ+iIx8Vd8ZYDNwYa0DVtW/LHCpnVsdM0nnfjW34zObZ57kvuFDG2Ng1eq59jB8skU8vQnoDRKeZ629j+sgnqZuroGO3X9hjIeRZMjjP935CIZxm/Am+EqTLT3mYmf7fk+jk33mXn5t8oL9g7ZgX86hv60o3ZcJyTEPGrgpxHJl3OS7SpT9BsOLN2aXj00e1V8I0ug1smo9tsp7u2Bbzidk5F56vrKT1faVf8YuPQgflblsrgFOKKqzTCOpBXPfjGGrNBLn2HwLgBzuMHtt8tMVlVPDQvFe3Xx5r48o/79VGnQwfyKzP5xiPHY7s1HvPIp7gqW0b7TeKqV+OyzrJ2QOY4os0MVo4N/xV2kOj4D4ZtVBw8J2OjjUtwxjChswLFYRGHOmb4M7+YXWiriCE08lBxhR0kN0cXL+q5vr4qksnX8SHkJsBxUa6y8OFAECq5XbOUx6k+XPOW2ai6tyP9zdfH44r7eJyL1rDUwyveYOkAr/Hv3XFg+c327Vi/Oz2m7Qn4Tj+DH3L8HojprKQY/EV7MIM/5SVy49Gd3viNiLRl2x4/yU1PdcAiI7zNMI696rbqxCDEtwPFTytqu/qoVnd8/pgyL3jdbLKPaW59tp3xQ3L9oCPuEnhf2bZ2jfpJjt2qh+402XflWx+ebZD7z1jLKKNjOblTbGOqDrzsVH/lCgh/VMNVCXuNr2wh9rAPc5NEG7DVfU5f7cqPQuDPcdT6eHVfZctMIjdmmlc8tkmuv3PrpPT2Pq7sGH6CeH1zAs25mZZdJ+qoU/rFb741Hr+9a3Z3RKdhYDttt8DNt0DtqGhR9sBE7lRp86Z5xSyjzbMPRnMGj+5GRMc0vrHGTAdlYrAO9DQhm8p5Q5nf48Um9mK7WpMAH3ky1n6xV2nbB2c+gx+rX2zBq8lxmxc6FIrAdmgMfqO2iBbaB5+xzajcGPuzDWKpyXLzlpWnPPywCj6gGxb8dF+FdjtNZY6j8309SZf2ZZXLhOu2Aj/177LbeBq7fbuuLtuWy5bDN6/SyM23j9s5f/30qG/mGb6g6sR1kYd5xAtb0GBoW+WcC+2Bffnl0+P3PXpkdmausU3d6haYdL9bbX7b3t3WAgxAdRAyTU4HXpY8iFX5lK7lasO68GJgKD4oe1CJOCRzPIhI6Fcbye1qYXSqQ7nyotwUGYR5bsvLXEe0Oj6knHJ8p26JzfVBt9LWd2xTP46PvMuioimBrPwiCgBl15lwwBpD2TLAjquEDbsnyxmoq54B1kOu3+aMCdMy8oilMhqNnmPqdWkyyvwA5kWtdFnt8jleeI6lmpvGRBxOFT/FuWw8ZdPoY4aybRgfsoa9I1Yua8Nx6uG61Nx0r2OrN3VssmP7Vre3ommPDzJtT8AfZOvehbZ7h2WUUqqD07KBErn55NZJKo/mT3nWNR+XfUu2j+CWKjevspbwwq4xrR4uYgP5smQ+8TrmeHasz5ajlUEAAEAASURBVBwzIfPHW9V+q9l4bJnmKzU3W0kRanUNbb3IAfCnZD6D5TRFbMTYBLbj8gb8lKGy7SNCz+WwBbMlysj5u9qeBSNyWFOfxoNxwjYxX9dky/Nd/pjQnWzrZspgK96082rDsYVMB3L+4PMXfOXThKyENxXfNmW160/1SlA//lp0C+dTTL/r0PkAV4YvvnV6eyv6gzyhd8SN3AfZANu231sLeOJxjjY0HZe80pbVfEpTJtletZOSPDLoLSQGiOIXGZiKs03ngakAMTyhGxM2Jhj0SMZAe6CCjm1uxcPEukd//JgC2Ng+1WqOX9gBw7Zz/Rm7ag87C0n6EVuLBSyk/bq8oINcf+CaWhfbF3JsuN7GG0iZBL7TwVgsV5nPGc+B+eKTPXpeXv1PfYSDdsAPPwHolS5s4203eJ1pxZYrsy/nQPnjUOvRWIm3PTHR82uHQRfZgg4FpbCd5G17PK3t52vj8ClXpecieh2pC2Uxop0AwcsscLpOflbF72us7ewWt8D2CvgWN+jdbI7OOk3uuOQkd2jT1iE3bRn5NFU7VQa/uQi2cT0XF7qGWGmUrO8cHpgaV/CKItip3D7Bmu45TCXKTLZsT/PNXPx5ZWx5bZOpPoFVeehwUDK20g454pXAMVPmjwQPuk6+5htP2TasZx7lKS9W4GLin786kaJHQqfGB49t5qv63O4FfTFbfHmGQS1GMCiih4g6kzvZHjmxe0uV3DjLenDCWmbC9YZvWW3f8CdDYQtfwdALeS2/XTOt0H/UMbtt3E47WiUomxe0KsNNpCsb51bfjvWtt8cv3K71vNPj2p6A7/Qz+CHGXwcmOizJeZY0iGkUM6/ioadl60zzirOsDQYu9jwGDgYScfjzIArAEw10JGJoZGAnMVlY/UNjB/w0dZyEVb7BrxRnrafZL3Gj322AmThYkAtLfBUP3du66AMFa3vkpmnHOiBH+4FX6nwKBWedmqNHORK5/myLFe00ERMwtpYv69kuf7xkFUwJwndT6rabzZA1DBDs2FcUVK7tEnEBUmpZ0iqEXhiYx28eevaFovkB56BkXpZu36PC/dxCHcRw3ahDr2urU5R1jVLNXkcVoAe9SX371vTOjmx7Ar6zz993PPo6SURnbRH1TlwirPLCzk5eGRO6+rDIPOcx6bUBgzED/oaEoCWLGXhMI1qmR9zGWO7cOpaH+VIA5z9kyybnsBGKOQAGaRvE7D9IaCVsBm0cvJDkAdpl0zXmZqZr0A5O2K1l+PZbMZ1G7oLy+A5mbUeT4OOXlTGf3eVtaVa/Tsirbi1v4ItReazWjCe+oBtgA938BL/4rGXX0TxihCaFfRWMud2XwGry2H6OeFuFXAcq1fmtbq4jOeceFV4sbC8XHteWtr4/bjvd6hbYnoBvdYtuIXsejJx7gCevtJvEOMrQ/gNbZcY7RybIDVPoN79g7d9KUV5iJFiNPxXbRsTXDJlnuxtyGdlQlzagTXWNwy8DHnnEoEPkGG9M6zp3fYHcKGHXKQZWYqnMJrRdY6dl8zfLbdM5Ey0fkSK/pJeqWBVj873YtS18QqNbectieTf7m+lXvuma267zZb5vF963To+f0uOPe+MGRe3mCZX6xF9rT/ix5axyx3JT0/iuK7i1HcPx26V+d1Mc2xPw3XQ2P6C6uHPaPB2UzsmfafJpcge2LF5WaiDrG1NtAel80Ru2gOV3WarspTFXpRa//SBynM6DV3Qq1uwpry38QhwytQtNQ2zYte2pnu2Rg611scy6Lhu3pOnnfgSeyu17as923y1HDxvk/qs68DjXvM1cvyoS/ntJ0zjRn/KwV2MwXX2ZrnmlN4vJvhbkrc4LvNussGvH2jFi9+RKeLW+pi137mogh+c3o2MCH4djlm/nt64Fbvd3CW5dTbctve8WqBPn1IgHKefI6cC1XHUsc15l1iHfIJdNz0pMPNOEDgMFkzW0bRk31dlQLgzrFpZd94EMu+FLeQktaSsiULI90y5Pc9tB3bR1ag4dNyUCYcPu4FsP/oY2lNw+kZEqxryK2cxOaqc968EzHtr8yoNPsgy6yiuNzAk+qeotKweoHKZ47DC52I9zqxhPXmW9LCD8aGgr3Xb5jlj9EpYn13pdsK3cmrPLwbruQevga6yBt7egaZhbnLYn4FvcoHejOTpxnYRjANqkon2gagM82Io3Te4Ob94mJnOsayMGWOtaLwYKKZNvlsB6ggZjXeMdd5QZfLWC86BlTNUxvaDX7AZPNB9tcUzgXd+pTvfTiMga3nr2RywSZWwQk9Rl8LGRWUfRBtmg8zaAF3rISiLOiBk7nrSQi+bHY10fWFPacfdgwQQwsSFXeeq3To5Vt6mGkWob/ZC12B2v+U3c4+sTEnjqRd50wdo2ubHmNZXg+7yic7slvjG17sRQx6iD+D5P5hF7nH9hqJ/7Uucj53xPGxTAdvq2W2B7Av62m/DuN1AnX2rrTgxNx54md27jXAZX6WW6tmWZB47qptroeBPKQ6cNOoXdJ0MPJtVODKh20nIXw4YK4OsAxYiFr+pvapNBLVInFvG2hxg7xBa5yyUXGQksA2zo1FyMiCdQYapRc2ydbIjVqZAL5zfkTdjxrS2QdV6jXf/Ol+6C7TA414vBn3orLdNNScqm8nizvOlaP/D4xGmR2c5CXgNrAsftHDY0f5hbotI0b5+Md9ziRquFFLEr+FonRLX9ol7Us+HA0u+x0/S2v5KyteetzLi32U7bLXBTLeAOHIO8Oiq5eRiA9uRh2vmNHNiGdadYuVlIctNTTGAMEp2zGEdhd9L2FvxN6tLBE8IDkmNG7DpGe7Ry8PsBYt42lXbcPaZAps1G5qRqQLFjVs9F2J51XTamxg2mlittmXnObddyl5HzV9v0RjqWVXy0nwOWYWPsYyqvusY4x8xUH9kynnVulNvX+9W/ke1bLpsNJ4jTf9iPVax45JVv38EzrjEDa8CO4XmT2/mta4HtFfCta8u73tJ0EKJceaad0yCVppPX8rTBLDOOsumKjdVqYVgPlumpHgOyJyFwVV79VAw425tisFcN2t6C/sQpmOluAjOmfdikbVGmrkz6tc4LPoSpbqqs8qH5q8l+nFcZtOtc5dCWWU5e62C8edaxXs2nMuK3fo0fHSfrVPumjSGvPNusPDDmQ5OqbSYg8NaxLPLa0Kl6+xxXh+dn+jay2n6uZ5y+dg4rXYN3PYMnkKp64si+2bMVs03fmhbYXgHfmna8663UTlkHJVfcg5TL7yW3bvWBPmOcZbY3LZvv3HLn8Jm8+njZCWsUHxps2tgUQmhi8p9two8JsYCRgSM3rufN1XTyDXmJx2XrodZ92UbDF9dRt1pu0J5ZZlfT+uDPsVuJMsmxWCe5eTRmmiOtPNswv8rgWQ7fsQZfh+A1pvWMj1UdQCXLKm1dcnRqOZR0ML/qmbYfY2vOd4DfrumIfsFIdX2WxowdGwVKE0JzDdR2gGcM9QEXctPKJX9W2Xb6AFpgewL+ABr1bjVJx3QyXXPTxtQcWR3sqgyayckDnvPirsOrjz6hdGkOHtYPuw3kgSUGoIKH7DZtsOW9KKLaDB0dprxa7rqAS+q+xANjXIHckPRgab3eRp2Yq4OBXbHVP3T/A6uytyixAu0ydoy1bLOy+ZFP9NAl1cnTdNUzL9HpG9oY842DD01Ocp6lub9aj5h82ghouzWvutVe0HyL122c9CLWT+rEx3PbaKPWLr5+oh0Uf62X26O2kS6gE7L1pdu4qnd0aNsT8B19+j684JlcFiaYNqov4zmqZYNZxRtHbqx5njRcJu8xtMGEmQU9Y23bg7J1gYOxfIFWodtFodmzTVibJYeBHBt1MIvYiqLljgHRZnW2nYoFT7luRQePg9IU69iW1cN+PWGFPynYr+VpOZqkHZJjXJfbmRhVFnSxu+CvYY13bpvk8OofE0TlZ2mjz9CRkNyTivXijqTJKg02MJkl3fwHv9HG3e7fhLVv3+yEvvP5P+htrkpEu9AmS2464Jnf22ymCXxt+DFsRYNsH255C2xPwLe8Se9+g30QKlVlApjy66Rg2oNAUe2kMTAq3QEm2qwS2ZIZxlu9iNq42nOb2DRfYs+xuH6UgU2hxmF7M7lthH/sFCPEirzyAudDqwwqrpdFzs03JtpbwuKm61Y/1nNe7VVd88kr1pNjlU9p/FUd046x4i2rvBoH8mV64KsuOsvqCY4UdlpOufqgPE3GT/m3Y1kT58/rdflHFfMJzg/t5fPEZ4HNM5+6Wa78+XF1+OzBg7Ptl68+wJO7PQF/gI17N5qms9YBbbM6guOPFANvoZfpVww64YecgtJ05ZfcHDCNgbdgW6NpDMDwQ5jyBQz8YuBGA3DXE76obIgt6rJoFi+9PaKgA75sp9suQngb+E0+jbPbaXLKYMJG4+Eszgm5ePxNU40J2bQMz3o1hmXnxz6MJ7c9n1/swez8YGQZEpz1myiy6rvy7SPsLVMs4IrdzB5wmzG+mLjtSVave/fMHh1Xhs8q2F9Qez5fJ14qEJMuldOKV/SzKzuHH9uze/Z925MvrfPBptv4VYIPtuLb1t9fC2w2IWANWQysZTQz3vkyr1O9iu2mRHRag4W/KCP8Nt9VL/y0EdMxoQ9N2oBNdtYBeSk3smfWbeZjgDY+QBJYFpNLEVrXuY32GAt2bsSozfOqBsrlHkdjVr/ISJE3YKVTmkdjzVsoq4Bd1yHaWGViWMBZmRx8ZsGtNBNCndCxQ/K5q9jw0RjGJTqPiEiWOe+xIhQo4m+4ar/S4Qu8kn7z+N6k7ozjvl3xFvOzRPtbX19f1U9jznZr9N+9c/bs/fcPf3XH2nBme6v5wz+X2xPwh9/md4THy5fHY9fXh09pMDy2uj58rv6CjSvQBzEPYIxWLS0M9E1umfVcrlh4yOsA7NGz62kkZDCcDtS2N81t37nlvexRWQKqUIqG9hwdxxE4g6uieLC7aFJ/jFlmw9QXE0ttN1CP10olr+4Lu/tBjgPsG0vOX08uKBbaNvw1nkVgza887JKchy+VqSci/tDDLgnasSQnj008tyN2xFJAtgmr+osyPP2FfXIVKAdPOQk6UpO5iMBbgh0jYaXxTaU+emj4uxcvjWdknxXl8+urwyujPit7cK8+AjSbxctP3e5tSOinIEd+DvKyXrJ69Lu2t5m/U6doewL+TrX8beJ3HMd79TNxn1qf6efLZsMnNbZ8SgMMk++9DDxMDDHgiu6DnWh45k9zVw28ZeaRL+MtyGsBfCtXPcdm6FJfUuz8ZqSXrVhyIPZV2BvIGkfoTJQmxQ2f/a36GKcu/JFCRrv5uwQRyKAnaGw3FvCeNuMbi5zJhTLJeZZUNrAIeSlnGmuIm/KN2rLbNaE8fLRypQ2pMVUaucs38tlvGsA3hQWeHbXcNikab3pZvUPWDpyPtVGr4HE4rlN1PAIUcUG/c3zu4sjHgHh2+rzsfG1lHE5sb+fScNtp2gLbE/C0Re7i8mmtaofrmmw1wWpw/YwGj0+dvTAciyprQPEgz2C05glAQg9Gzt1E4KY8y8gtc26ZBzvzp3bMN35ZzoRSk1+8Mg95YBrQ1am2K43etDy1GRgON0jYmNZnWmaw1v/wF3HqsODbweKnxW+XoedCy82r0MozbbUN8Uiw4L8BzTPeue1Y7jJ5xZgmJxlvPrxK13LlV/2pjWUy7DhN8ebfTD6NwbbQ5dqgj7Sq9dPUymxPH9f5OK7yFzmdZ86PYJiUT0j3a+p/zw8Hh+eP3AGrZcW8nT6gFtiegD+ghl1m9vdfGX/q3IXh6UMHdOesrZ+V9eHHPvHoB7P9ww9o6zthNQCsHxtnK5/RYHJ87apWtW2E6JOLRgWGhpn+ZWIYN72sFsnz4OQcrm3XgWrKN95Y4jAN1t7JnbBX9erNgTGWuxyGemG+jWlb9juNFRVqH3GIMJ688sI0PJglRbHwQq+UA6pyZTl252AqHeVQXNQzv9pqsIx1omNcrZPxYWtS3ylvGXaKcXvU+O2v6pu2rOaWObdNytglVZ7pKjM9xZo/9Vf56FCudk0jI63pbnVd20aEk+3KsQUHYCGph7EXPozaZZp9SvmPojucG4ZTZ8fnpXZiXFv/2vqw8rwG5Of5Io0F9e3CXdsC2xPwh3Rqv/Hq+LPqxF88dLB302N6M/GrL788Pvroo99+h+NHuFWVz+jeXPns+Ops+Di9Xp165AvWGUDaRKtd51HjwCyGBFa9KxptlDWMBhWNDQwXXhHrG9pnO7SXVwch085pxkpT9qBmWR3UplgwkSLO9E9MpK6noIhpmjyZmr/BdrO5mbzbb4CpC9tz3u00oupD05i2UWXAg0/7FoztRt4UzWsuQg/TNdl2c9knA/MdAzpVN2Ishox3XkRxTtmKdhtb1/G5bJ1lNsyr2EpjCx/TVDFVBt4y546n5paRWwfadTGv2jbWPJedww9aZ7Dbgad/4Vv2aWvann6mviU2MvW54Ekkyn1QrE/qo0Kf1C8jfA7eqvBvnR6f1/T+O2qVZyX/nY8e+WBu0mV7O32HW2B7Av4QTsAffHN8Sp31i9kD0yEdVB3y3msrwxdFPp3cmzu+rNXt3lU9q9U2smx+RoM528o8j1JaiQEiBwd1/uaIzi+PY0xgTMliJE8/mh6jRQAS1QShK87OHWHH8ByAwtdcp1LU07rwTTu3nLLpqh86jQHGetRvmc6CDaIkNuet2G00u2TmRY5OSZYVVpDF7FSUZWIsEs4DqcZYbVc6kS380obGVLtgp3zL4S+LE16d6GpM0CTLXbYP8xOV9TFNbrzpiEE2p3zkljkHYxr5NFkOH9o20SGR1/iMNy5Rcz2w1d8UP9VDf8pDP7agW7tFLNDtfIdPTaY+/7KQM7AEYMf1vAH2zzwa3/R1E73CDfVP4PfNU+MZXVTP6ob9a/ps7u88dP/29zJHe90Fh+0J+AM+iV9/efxRuXjanZ48VpbqhK3jfw75jcLQKvnenQf1ktS4/rmVlZVPasY8LvX8KI46aHR+len/8Jvd+aDBoICQFADljRcf58FGCFO3F4BLwAp5Bz8yqmTbWZqXzY/6tUHIcRk7zadyYnAcgVUBjG3DizougAI5P1jmXBJIbJCwZ7/VrjGWOU+tuU4xuyG2sG2F5qv6tSjq4ELLHQv27du8fmInOjcq1jirv0qjj4/uZ4lBZJulaqvS4OPlp6JoO84RVdr4yivqC1jzjeWas3/znE+xU9xU7nLNbavnEjKxag5NxwbHyZMH/efO1/gQI2vOgwQj1qjnRIkTo23vwHcKFd1ca6L+UX0rFWPJcPLt9TPSel59+FfWZsPvfPf2hOzmuuPy7Qn4Az5lsx3Dz9oFHY3B1YNN5LPhmOU1f/n18bgGls8Iwyr3k5Lp+e1Ke/GDnq+EPQ0EtpsdPyThJyb6LGbfbz27x9DKuVpOO75jRxSdP/UhI6GLPxI0f6bJrR9MHXpsZii3TrWDuPKDlp+IoflYnJ3ToHWy1GJqhdAV3cLt9sOcbTbsMp5tkiO3veA3/ep/inH9FtpEoKaaZlrBWJhuM2zHXyCXHxZiQld/1X7VcjvAq7hah4rfjLau/diu+c6X6VdfN8It0zXeecU4lsqDBkuy3HlyF49Tuy4vtaHnOet6iBOYqVGV9Ygn59MqE02R87veJt4oGyMB7WN/RGeR+e3m/bBEnxGQ3a/htbf0cSi92CX1X7m+Nnzt0Ye2vzqStrsT0vYE/AGepZdeHb+gOfNYDDrRU+VMOSSdMAi2jpVY5Q57h8+JzaT7OfXv/BhQrFRrR3eXRAsjpLzbzslYnbjdSacMTJPniyDhnJhif1o522DxUkhAsT/XwQZbbTv0xbI1RZ0qo9DU7UZyoOm/KIm0nnWjGsRney3v5aZuPMV59Elb5hxM3PiABazk5qKGsMzf4AdwS+HHcYlnnWYyUAsTb9FrZOjYh/UtM588kgyHTxWqD9OOvaEXMutxKU3Tgh8Bbc8423U+5Ue5CGlbtycyx7+hfiGUvPl0jDfKba/awrVTjT34OoCNGKpQCubZH5e87Vabbh98VFofQUoFXqZSq6WM9yfUc+lnyrPXAuteUkfgxFFMb6EfDWfvtpmOo52iDnEQk9SxvFz5OV1vn+NdjVfeGE+M4/rXVsfxVx97eOf/ktj5UQ+UXtF++MfhrMez5rlsm/pwW8Bn8MP1ukW8vfTa+LI6xjGPnDQ2fZEuVBt+Zcfwf6j8mWmzzHFzaopZKMsIt+V684P3rRaSBoF48cpsTdMC6ygdx1Ix5mFk985xRV9NV1kLtm+mULWjDVogHvScYytEhFcMW2cZr8D64E+wYK1njMvEY5/BM0A5E+fCVjqyGo9oxsqwIRG+0MFfTbYPDzp0oBso/BY7PBZA1vXQadj3m7kd0Of7f/funvuvss3sgyER1xRfZQFqGGjwJOsY2xkpjqNtm+VyzZFtZmvqy1jbs2I/5zLkNp7G1W3ZGX7BK686+/YO67pGcvpsWOTczHIjTEJPpZxtg4zeFi44hBo6gQOwmIxJ75uAqoogm/T/X5GtXxW0r45/+/fGY6h+35/YXi3TDt+pdBNn9TsV2p3tV5PvF3Qz+uXotGplN3TvxHQWepiSOuCa3p0axzV1UE2eukPVfwmYSNnngqeOHB0bnlNMtmknBgkk3FqTGkpFMczDjGTFRthFHrqOM3F5Qz4b9+8ZVvbsUoRK3U+j4bke0JslDzLGLsvBhE8ZQW6MbVrWyxroajzwl01y8Lst2Q1MOyHwp3aNrTnN4wSfP/tGZmzFQFd+9YP7WrbNqtN9TOyAccJOjW0zPrEyAe/RBBwJpdYGjROGok5NFLFPHdSy9W1LOfqkGpPr4WsMeZgxyDaLvTCpsnFRRpFUcFH0pNfw8Kamq2/kJNvOUjIWeFFIW1GvYnTPrnFd/ZtlbqYWYNc3H7Oi6YPRr0FHp6Rfzmn65IfR/3UuvqYAfuH6juE3/sT2VjVn4DuaymXyHY3jrnP+8snxZV3sx6LzqaeRM+CyRRcDW6mx+GtafQZ74YRICS686KxFh+2tkDUF5NatWPMiAPRlL7AhSKl9hLjYSYvjsG/PbGWfJmHk01Tr53qZBxbayfJpjpyYzEfFkxM824MG5xTlwgiylc2ebgOHXQtl6GZ0HJfVetkM7IguxQ3Pwn3ua71qPTh5XjnB73WDXw1baZOctjMcmuTyTr1IxwqY5DbN0odztM9p/uF4v7Ve9D3K3C5rW4ktZ9qznaiW0+bR/qVMBB0mOjBiuP91HYCkiSyZebwl/X999jtasf9X169rMn50eyVc2/fDot1HPyx/W8IPq1+tNr48rSydz8mDKrzVVY3X61oFKyWfrqhUFYIhvv5HZ1eZjqtS/EeAeT9/CmaMDDD113CBodhUcZj2ciBJI3Ob4A7sn63s3zvsyNhQfvdE6OEeh0pVl0nR8pTOJ9xebtt4LqMf1WgM2w5+EzC59foJV30GjVB2YxJsQE+IC36qI1Q2sWv7PW9GKPNHHfmL7eliE7LrmK+8kwHIsnmOj7BJU35yNz+ix7a6bqRuKhE3yXFmafPjMjy8m9E3zvkyL1VmmtzJ7V39WW5e1TPP+uSWV95mtD4VsKo1K8918lzohKR+npngt5Nku+ROi+ePvpvCjKsoWiFy8fX/g+n/+ojTMHxl9/rwq4/egu8lWAh7u7BpC5RLYlPMtuAmW+C39SLVXn2wXs+Hfl4qx+hM087njm8+ptfVka9fn12HJlnPdDB1qB3YvG8rV3yt33cz1beZTL4H928+Ade6WGcZzzK3wYbcAOWbTdJcsISN3Mm+ppOpbYDD19Rf8JsMmrQMs5ndKZa4SFM+PE/itDfyGv9SHTAI3mNy+yxT46NkepywkBxrZbo9zZuW4U95Ltfc+vZRZebZFjk8Y6xbc2Q1GQ/PtO1WO6ad24btWQd+xVT5hGbGXNP9TD9FtmGcfSzNuVAmdak41wWe7ULflG2AN5uWxNF8f0X5V7Qq/trNmtrGvb8WuMFl8P4MbkUtJt494/DvaQ35V3bunB3VNt97frv80pXxugZl7Wrx+Fc31pHTmmIpUaYD0mec3DkbINk8Pxalu2RN63lnjV5OAH4enDZtR+hm1r7sB/44O3QgVsALdYpYajBzYxuoKXbZ5FNNuV4LOXV3lJMch8hg0xZN3Cc5/JPiKyyb0G1isHXCjgvSsd0w4HKRw59iNtSvYcA6oUOKXLRNLvCRB4rz2bCtTFbrWthL+WCZgL0Cxo/bBd1aXubLcVlmXes5dxzGu2w9yta1zNiKMW4qs271N6VZ6cPjD5oEXXPozWwFsB0mmHW95LSmlxy5Z5Z+bB8ri74WUHGjn1Yb0POXo+hj2cfnmOxnlG+z/n9Cwf5NhfUbj/+x2SvzeLepW9UC9Mvt9D5b4B//4fjD+qWTn5b6D7ujHtg37BEd7dob14QHASnAoogeg8Pq2rB26fK4Wt9gtiyBAi9JTNbIV3iJA3nsijEgGNxe9lA5BoqGJwDKHuHDjlQ6zzFzjy96185xB8+C9RLPTM8S27CWPnqczeW03NiROS5y4+LmoLUD8RC6cSiZhk+ibF6UG4+QjekrzoKvOqHXwF2nr2eQZsJOTVEuvGrTbCZg1w3diLcYibLAFTOdtKd+a90wNS0X8wtkxfEMmAm4+jWYmOCTKr2sHKByWGav+jXU9ilTX0+Uljuv9m4Uy1RmffKp/+5b9fR5WsBLAXtLbAL3IyJFnRNo122ObB/9mrIueWMbIh2ijxlUAlWnXfgEQ28HFMEtSR9W/9dXev3ijh0rf3N7Il5yEr4N1ian9duwuAVUf+sbmnhn40/rhaofpjdHR1G9d+8aduzfM9vljmO++xidk5ewSPQpJ5+EsxfGqxqYWLYGQN2R2VUlJkrlouIOu9EYCYzKYY8JVSl0kAUNp+GC8AoZJoyWmk/7VqVC6gEpbRFOrKRmfCxJ25k79+rlrGWDDlanfPO6TdlKJ4uhIDeGgRqMw8MGPLcxZZIn3GrPNmzP5cBPbKCHXSfsYxOdmiom7FahaPsyG/XwSw5Th4iVc9lsOw+xeQ3bipR6qm1h5jJelUHHFrSekdxsCpsEIGJqP+oE813SVG9TuPy4v2yKKQL8x+pWeQsx27dg3g8Z9UJRV7rO9ar+2DiJG1X6Ff0txKUP9rgnscDvwQVJf4bIbEOjVjy2bsf+P4xf0QewfvFPfmL2G1RlO317LRDXw7dnYutoP/8H47+hpz4/re7zMfcVngLRLVmBHjk47NUgFxNSdL7WNHWANb/ygMG/dn1cP3txdsUnJXp6dHR1eiYMrTu19xW+1vURJHzSwePOOQaGNrlqwgaH3fgy+GYDH2yFwWeCpRx24LMt1nR8hw7QGK/MiSkm+NhGC/ls765xx4F98ab0DuHDfviKCqQN13dDHvZyUhIZk5IxUW6HZorSRgxtEJI8WD94HJrc/KzTok4YoB3AhmLKTWO5Tr7paR63y1UfXjPVbQav+XAb2Yfz6eoXHRrVtiodsha3+T2f8FkBH9AEjB0wJNvM0uLRdsx1vM7Nv1F+M36q/jLbjiNs6eB2sp75lJEZb/lmeeihoz/r6Byva8bVxKueMsRWs7pD9o28ec6dJuNr/8dP9MXSl+BFf5JCxEYeHx+UHXJsA9IoImSQ2CZFofXd263/rw+agFeH//yfeXx7Is6z9f6OPtfvT3uLaD339fGH1Hv+W80tH6NbqMeo37jf5kS2a+ew48ihYW/rTb1lpmUE00GGshOr4KvXdGlrSIDNREontZzcEyV0yixWUA3vPDA6VDvhTyoxe4eXtGk/0o0Kuq45MGQc09ixP/c1Dnv3zHboJbQdGuh3sFVN/a1T28I0kZtOW1muOmBoC3ISE6HlyUmdkOtgnO2Sm7ZelGXU/IrZYLMxphj8wLNNYBWDPOLGP0Il5E6mPbHbjvkFGiq1DWzj3fKqs1M3cAf2S6PEM9Unhqm82gA/LZtH7pjBkGrZdEryaH8VuyBXYZlexUA7pp6LcDtaDqjyqg3Ntmv6OM71tTX9TEL0bSzN7c6xy/s/dukH+etHoCNqza45PmQ5bYZUClH3iNx45K7tHdP//zfdHPxHmohfoRbb6b21wPyKeG96WwL9j14Yf0h3vX9dHeWHPCllg7mTZDOoKw2HtfrV28LxolLtRjfTUMa3fHzzneGSJsxwwlETo8wUn5CwdAhJ68yJTSQ0P6KwoIdKS8RMYqzxlmhHh09Li9/AJwr9vAfJVWD6QoeUAa7sGFfu2adtebWLtqzjY0zEVdN0tefJyBjwVSXKlSFgxN8UEFUMTWCfdeK2jk1VHUwFXwfLIaaxBq/5DZ0G7v5UzlZOO9DVRvVpnW6nxF3rUNxtSuKnx11QXgGbBcbYuFTQI+bmu+bVIHp+lOJ2XLBpfexZoNy+YFW6QHp7wXN8HVzswnObYStSI6Z16IZk0PFQN8WuTx8M11dXRz6BEOYwEX1DpfDfGubd+n82nMPIQNKXe0rNExf2W41t33VN7xnUndD/ddH8DzvG4We2J+I8tzd7bJfszcK3Bu6rv3363oN77v1r6gT/LjXuPbNUv69J1YJaWaw8cN/sAOLswAmMxnULq7dlh0tZds6CE2neFa2A3z4zXg5pM9jGgVRoxw0DjaXFUZCt3PHChVnxbTfqCF+Cot4HOUxXbFt5u3ahhB4pbLSCdfRV0rP9e2c7DxwYduzdNeyUYuy9WQe96eRLkBGXQOCgF+IsfPRJljtP5pKJLwTzQ7UN1xMLfkkbYhMvdEKaB/skdxuEnVaPKrda2LCTxkTHiQYuRbM35FOc/VcgE/DBfckJvyKrHpOqY3Tbx/krAYRd6YFD1+W0igBmllpWWdmuFjRo+BTPbJfDB0zZdAj4C5YZ6SqY5vcQxMBG1Mu+lOtz96tra8OqHvmsxhOkhnNd4yGN9KKM+27QziSDR8JpSRR9/uy3iDeQto1e0MrRs42s7DyWagB8tH+JNeQl3iBbueMFsr+FOsKXoKj3mLBbsUv7/zic1T7Zz/3AE7OfAb+d3r0FOA/bqbTAP3px/HPaUvk5XYWHNQHP20eUNpN0bca9afQ/C+/ZP9t15PCwz2Uu4EiN6BeumBVjGqw7R9A6vH1muKSPJunD/m0Xq21DLzw/4s1n7XHRY3AVnUeE7cLTrwNHv+48GcRHTVmvqFkuqSUMXjif246iDs7T6WLs8NyJg+Y5NaMcr5TEM2vinY16eWvnPQeGXXord6depom3qgk0gm3BRbkGKnoZBgh1JVnfeeWZtl23F/zpBNsHQIRKtuc8eIVvzIKcoNTanUf9io75zrFBqhhOVjPTT2zFWx6KOrhMTkLXKSZgbUHnj3Yk17anuXXILau8Si+T07becQDrtp5iaxma5NiztLn/qmusc8ucw7+uiffKNV50nPGMVyHRN3Q92mEDx+TSrlnbA8N1TzQ6LPR/MGGLvkGBPhvM7JuhC7vZRxQprLUbhFBItm1Rcl/LCU826vPj27T/692UV9Sh/5Xvf2L2atZo+7hZC/jS20y+Zfj/4J+Mhw9cXP9r6g7/Tm4H0dX0O7ithbQlzGTGXKKUvcXlRz463MMb0HQwDzTOQWevbB1wSRkMqepoAhhfe2M4p19dCWfcFeM3JwYKGc+ackpsASNLHNi8i46ZrdWh81Jdv2cqTg4ViCIA8LYTdY7gCaH9vBq4DCko+KS8a09cyvUV1uAclzC84A3ed/hG79nNR5yGnVoh79J3Ti983pjwwDlFuTAcfmFFlTpfAqrgCTZwOlQ8ti2HRmb91lTRJrW5Ig7Ak7RgpzmxL9t0jmrYMYBy49kvmFuRsMdb0F4Bvx+btCPxTnPbgu9UceYty23LsmnZ/M3yd8MrjlE7SlevXh+vra3N+P7mSPUan9tO4c32f65lJ1/T5PpeWUnmMjBV7osvxxJbWMy5DqqFjPvb6//hT4bDlvIPuv/rpdH/4ge/d/ZfLtZsu1RboJ7jyt9S9D98YfyYes2vqmN8zHeaGmnUh9oKU60Bn0GFi5fO4cTLVx97YOD3OfvANKWNXZbfaAA5d3G8+taZ2UViwWfGoLtsr4bF5wSyslRqt93pJQR5ox4M5PFZYeUwsi75tnS3C19/LoMjLfij/gLVuMNXKkYcvZzKc57KC35DLluNL6Pjzvy88U59xGmXvtBkl9o76o4eyXmWNIg0vm20YseB58/xWp7GJCs2bXvBZpMv2MCmA2h5nXhh2UaHNR37MCZOhgrww6bzrnhzRNR/CbTyWQHfw0tYSjUOym4f0+Q1GW+cc2OWlZFZz7iaT3Us24xvec0rFprUfK5f1sR78fJ4NVhqV1/X1nEZHdO+1mXkpvp/4vCAkbCU13tjBafSbUwJP+Gjxws0UpXJqG4h7uT+P/69ccfKT//p7dWwT+9C3i7ZBd6WKvzGb49/SnuiX1H/OaQJKlZpsWrs95+9Z21oFwbd+w4Pez9yeDgQnboh3KhoOrnTR1kCPlJUByd0Kt56r31rOBdb0bHRbJQ9eOWm1TB3BoqHVWbQdkQ9fLvfOjJ+eFvTPsiZoBUjkSU7ZpBGK1bquqJvHYnfDVa+ErfT4bL7Swzu8m3QuX1cNVvBZEzRyKIs2rzgMw7dGMi/4pmxMtYW/x4mY3/Ey3axWtuQ6Am7t7Vc+gcOjAs5ejainLiX6jQMcsKnBtipNtALeZPZju3bLw7hUa46YkWC32UAlcJfku/5WHWhSV4B459kf1maH+HX5DrBq3Qt26b1NrM9lVec/dqHbZpf/VW64q/ppaoLl8fL1/TVrvz6k7ZsY5OZrdz4GJ+2cLn0+AxxbSOut/fT/7M+0WCx5cOu2GJCpo5F39P/7EP0peadZaj6k+oY/c99KJanrd+pq5a+mfbsI6+927v/6xx8c7Y2+9yf/v7tLWmfN+fTq8X8LZH/xm+t/rgu3f+aysZAoAueUdIdOvg6RFeB72eYCEgSfPzB2WFNErsCk6wQRTdpTGhSDCgqdJl44TekyTfOg86lq8P1V18fzzbIhgybdMKwvVGKN6JIn+TiGEvucs3TTAMS7JIEG8NhA/kEZ3uIFpM1F7nc9TNILXIpxTzNADTs2THs3LdPL3LtHXZry3+3LZHjz8k0eY0Dmskz7lUavmKtXyfYZXJUzUfHE7DbM2TURMBww0Fl+NZzjr7p6he+kxslbImJn267gRrLKgu5ZdqtiS1o9H3NOGYruOwcvmnHSdkJnsvGWUZe5eZP7UwxLju33ma5cKP6yZVrudWsj/DN2xTa8UWdWx83Hx+k8PU++r/PQ2mSNMjRDT/nLFDERUz1G8Eca4uL6JaatiHbsJ75mXOTfXv0f9Xnm9fHqz/6Z75/36uLMW7t0g1P7t3cNF97bvzXdEPK5Ju3lwwk6k2tP4pde4+WYgAXuKN+X3U2++MfH+4XO1LoNgO9Q0jRnRxQ2BGmy1O16yOfpt87MbyjVeWaR8K4HcZGi7fdHndH8idWrnDDjxjANcCPceMdUUy9UG7BL4oUklfLEznFdADRtAqGvm+2bEOmNKlej46hCkU/zKew88PmOGg7VR9vmu3SVvWevXuHXTLM8LnQ1tUUNJY38Jo7BkEGQybBmkJPPKpp3SkGw5UXJnSIvPlE1zbI8UWyzapDja0LZlqGdzNpqscW9CG9q+9YNrNhuWOLU7wZuPCNh7VMx/HYPrhKU6bi1H2qX3HFz/qFS+Pl85eGy7q6okXRY9VLo9Fr2Y1xX5CkhQAoMFHu16E84ztTg0Zhef83Uqamn/8tNiCz/+HVOvMc29UvdVfc8SUdTVGdNq7/qFx07hZ+6kX84SbNE49SFKIdxVDhO97/FcQ5fcr6xz77z85+d17/rU1xlW259NXfvP5nx5WdX87+kJ0rG4Frdt4kWWqdgytYVzMlI/QzfbsffWg4Om3A1k+m7F5Gzp8HYWgSYwJpqv/62+P5d87qWbBS+k+FebTiamzJPteMAe6pRV0GI9sJl1G3uW3bFYYKU++AYY6BION1DBrgWui1Je26TZwxIGAPrCxSD5HaWwsg0cClVGlbSQeEobE1T0PHIxtn+/fNdt2zb9y3Z8+wWzdGmmrm7Wsr6WM+Wbq9kZsmN4688m1nYbIFD7AklztbRMwJVH6Cr1jobI/FGHoDy0e2UHG2CQ/EFLtTK+DDvAW9qH7TpRrHuyktq8eNdGqslV6mc/X6cO3cheGCvrDmWl6P6Y16db9R4HqLnRUEC9dytkFqWGfe6uk1pXk90mjT/h8jgU4afJKvXJ3k8NZc9pgS085L9MWwmrqlbwajHfL6WPSBXVLGl1S4jG46r02A4kBk4hcfyYkmiWuSG/PKw4rKC20WnqK+UOkHTFgOTvKQOm3o/+Pw6so4+/Of+edm3zRmK+cbW+wub41f+83xu3fMxv9R1fxuV5WlU1uQmJU5Iz5XdkvzCz4ZD903O/jgfcM9MXB2VA78rU9aNfJ+pdpedOo5pMqrzXMXhyt/eHI4Fde845nE1usw4Wt02FAHeu6G+Bqu+l3UpXdHW7Rm6GWMwYsOTqYBCTO9DLkhlbh67BUkOU3K5CqL4TsdF78d33hhU9/JvXPcrccC/O3VD0i0n6CXrbDXlWLgoeQ6c0MUcTdIViILpnveMGSd15QpL7NjHELLzZvqFPMbyHqdRBtNEFMeZRITsF/CCp4O+J3iEz3nW5+YK9ZxLPCEcd3Mj2utMTfI7Kzllk/Y2Fy/dGW4cuHScEkfJYovzmjRyI3OP0d8c72Ua2tqZ9m1towXehM7xIaPniTXV73N+CFv89NWxqNgzA6VjX54uJsxY5u7xj4OTXy7jt3mRN5tT/jTtoj21SHOSUTVDk0vrgdHvWCr97vWDL2MsTDr2N6t/8v87x5Ym/2FH/iB2bkawlakFz7ysRUaQFPD39ZF9l2qa9+y0kd9NqS4iPKzglq8ZEcKnjpVDiizcZ9eDEJxejGznWm+L2jnKUkdeNPk50HY5A/Mvj3jLuVa/gkdi0e0QrlbYBDIxFiU23EsMGM7DnDrVLCoT/cNf24qKVuNPpbSNBG7WNRfiAbNTHGpjcaZXimRy9Ze81gdW8ltW/5pf0Wkd2RWeBcm9pIjRldIvrJOQjW/1Md1IR7VJ+JiANYKia/zvHrm/HCet9T1meM9+/eM+7RK3tur20KhHdzOsKq80g2e3l1Qjn5vS5VjpVvkVjAGX2BcrlD8RRJR5eZLLZJl8M1ropTXwgQTtppB28m2FFB8eBvsNkblQ0+T5VXmtrWs6zQG8VtmPZfBqq3Wz18cLpzVilcXB7MrZzoqzjWiFL3C287xWyZcgOIjnzbQvJ9kJJh6v/0f+7IXp8DnIe3HxRhVi/YkXJXsmzpEbFJtepGFvFderKSpS+Lvkv6vmj1+bjb8JZ2Bv51nYeseOcVbJv3v/9fqk3pw+7foDE50wEwexeeDUHQACRPPJKwhv+Hhfe/3zB7Q27n6XaC0UO02o5FZTg7GOJcth28eiqbJ/58Xxj9SPHHTYNt0TFmT1LkkcCa6GpzU55khhdSLZDxfwobtB90O0xhg17SgIyuuCxhk9h9lijFmEl+mwARfeFgMLr6pMX9qp/mx/TYwefDCSk9NdUMsAJBpEt6nl7jYqt6jbzDb6fgdYNRfOMrQlqvYedBOlm/IDVBuO375q2Lx45hdIcdSTCwl0SMZ73PT7aW429/dVsDGISAW8PD6zUMzUHk1TtejwUI/XMFwsoLKri/2ItiGs+9QEc84yvqKyCtnL46XLvJ8dzZbi2eiCLjmuZRzMurxOwiu9egXzZ5dhmo7VD8RE3wZ0HUY7dDjKnEqOpUW+3+oLTnYZvFDNPIwv+8Ntbjuqc+87ugWvW5d7H6ezbzT+/9w9cqf+hc/s39Lb0VvqRWw1lg/pWt+nV8I8N2or2rfKnsQ4g5V2Jyp4opPhKcSxhdt6a14tQvEnccdMNTagU7FHzLLaxnaq1/bNA8T+i7l4fK1/FBN74wAZLYFujg540/CjJdeneV2u980JccAOP0FkcNbyIPX2FrUs9Tot+zAse3BeO6r+UEeujpKqMEiBzj9jEpjZGXkCYbaOtA6RDv1mFT2OYncMAHAkDSwRWCI3Ag+T/EFJSDll+D1ws7FC5dnF3DIzdOBvbN9+q7q/XpBaWGrOuxGYFAt2aGLxKA/n08qEuE1XJWBIX54/OUztzTkejU1e9uQh+3GxR52anJ5wu7tBD/0Wo5ujx26lasdeCRwpl2OHBmEEnqOq+YAwHS5aMoLvsUgvst6m/mds8OZS1fj87vikPIaiXMrI0CjjvgLqRmUuc5yFyXaNeHqJO7L6ahfyGEIvSTyHPExOmxahxgS4esKtH0jJbkMJq3FfW/s6Ky1kQRMAmVcXSqwCUZixbmt5EYLOGb7cSvcqf1/2L3np1S9/7BVcUtmW2YC/vv/8NoPqAM/rCt5vU++5ZTP+0AO5tlL5ttTuuhjDmG7Sgg6z6gVxYb286DiThIdDj9hIAeKLqs8aOOAq0BMjksTBuNPbNECc4qBIhTFybCiNNcrtjSi5F2ztZkUkmf8XJJ1z4FonK1qsICep2yn+fbdTHO73gwvmGyrbDdWF5Ek1yDn6kUFc8dQVQVS9EOj8Zq23nCNpi8oTKTU54Y6Gk9M9iuS9RNx8jb4eFmDvL4l6co754bTmoD1gxHjvkMHVg7o27j2bYjFBtNaG/taoWU8Q55XrNHSI4S4LhQ1/qljZOTI0IfRUpRFF5ZFPS/VWsCheyM9DNh+0Cp0W03gG0HkC+BSBBp1Jf5mI+rY+Mr6DWUzm22AHGFJard1bTGfffvceE6xxDVerzUmxXmZN5v5wSKuA+qKtXmNTcWEJ2P0dW7CSCGbH4Lng/WILurTBL6+ZWFD/wcyjyvtL8YalWHZnF7V12SlXa4Zk/sftrgppF4CROVU8KlBCiRu4oJoB/z3VcId1/9nP/L3/+/x0L+8hZ8Fb5hA6sm9m+hxtutHtD2lntu6mrJG0bN0zUfnoBP0ake/ncPnvaH1UMuBQGeXSvXgdUspQ95U+0BMEFXPtDuyw9HYzg+EMwn3hC0G/bSQs0s8gBXfetgjliyndeiYpKizvE+xMQiELHX58g00+c6A1FWhtZ7L0a6y6wELRLSrcm95G1t9gqtlTg/xRtuGTGWtXvXFBevY0YDDOBUH1VhDDucNHVYr0FkfQeOcYidtCQmo2aR9q99r6/o55uszvV27fm7nztlMz/f36tnxwb27Z/uYnJtatINthAUaRom6MRhiFxZlcPyRKEeSMJf+vejd1AaY63RGI2yi8isv/FahaOrefReZ+VOZ+QW6lKw4bNTyVAEZaYrTjyFcPXdxdv7MhfH86lpe22CjHrLp2Mh1ZltbUmOd4ziC4brn3IKYJ1T4cWoB+jlP/2gqAUgq9MFRCew5RdxzuGRdIZSR60cdIgW2iYF1LLE2PS7UvO7mOrilD+vN/aiK6gZcVXKd8jUOiUPQXESGzzu8/x9URf6M/v6nWq+tRPeB5W6vtBaQ/5Qu9j6BzS9wrvbod2QUemc2hry3Dx26lfXB/9U9u+OXfaQnhDua6CjOtUK9d1LcaE83OibAlpDPO2syGdThX7kyu7LhbrnFGoHHDJRx8hzMrsN8i5dBim/AQsZdtv7LJHfdGbrryUQnXphwgyELfsQt87RDm/TqoNKqElm0J/hc4qYOVlvcgHobi3bM8Imz1peBToHnNngMx8Bj8OWn0wkItWy+Zp86EKPlrlO+5dWaKM5ntEX7dqQV/USdVvyrs/PnL44X8LFP29QH9g0HNCnv07dJ6SftM6WzPD+c8KgaQbS/QEVYicnBMnU3O8pM1kT5MjpOFsqy20xTijQtm1ntNOimmesEIC6CEj8y84xzeZlBY5zb5sWrw6W3T42nLl6ZXcrYOCrpXMS1kSUVVVbytReyCS/1I7C8lnXuw45ah2/kkJxNE4W5EvJmOmzO7eNKLFp02bWJTae4XnztEHLrP0IAiutW1yc3Wb62rRp9Xvx+bUsABvlq7lFjjEuZSiBUz8k2kEDdT8eGD78t1q5j2Z3U/4f1P+722Yr5lpmA18eVh6Iv6gKns2WPywkoaRZquuTpU9EvmKiiL0Qn88WhDtA6Onef2pnVo+C5klEb8ykmncxxlEngnMy7eGm8qv7JXEgv1DFmoAhVITu+DDdFwmZnjU5LnbIjj2zJYpcVpXlyOrIvr9/vRUYnj85OHA2LntjavtfXgejr9GCrzNwWBEjCoxGjBtQDmT7zBzYS7RtEOAkFAqPO0fbIbHg17cRWcYszxOknKpcvk1F9HKPLgRQ2Wx0iVORxPpv/aCR8w+f2ACW96YNqWBEn2kKVHoaLV4YLF6+MFxHpG7h2aiLef3D/7LDesI5vVg6V5twxoJemZLrR0SacxZaMpQgdUTSZ9Z0b2202HFnVm5atZz72SMvswLe/KQZ8lSEn2Y5z268yeGu6TTp/cXbmzVPrZ1bXZ9d0M8L1EzYwExdXXArwEMT1269R3HNywOGrXWeAI64WCGWuSXnk6xlXRvnVTedKXKcBDSu3pv/LDQFFWMRBon/pLiLedFDwsKIDRLtEX4iOHBJJozIUan+E3xsn7VOdsEVHQUsVpI7hLa9jLlhQ7ZrO9lO9iRBgXuS3W/9XpVgFb9m0dSZgXYPq1swjOtl5NbdrmitZAwRXPdcvV6uu8IZRISgwccmrA9Bh2AvV1tklfRnHXsrxvbNgWoLnl6nMi06oQnZGCEtuwBPk0rWZvukn7qlTJ2KKjq9YGLWIN1MOUDEIhCwoCwWhzLFvXanOYVkr1ezbmg2NJxccbNrJtmBuxErghAm4DlEvYqHyYATKdlXRRmFK3uZpWZEeujFwUIiVdtQJWfrAm/0oEnxEmVgjsvSJbfjYAxBRkmeCFYg4vxRkR4HoXHJtxOorADKADdBhP5Q4jMO11dkaW6dnL42ndQms6HPGB/RtXPfoha79Wh3vDj3poh4mMNOItAkjExapX5g30/lEJ71bOM+X8bvfOSyrpbJjaE3VywW6KWldAOjXclWqfJ3/a2f0fPdbp2fvrK1xpelCi8S1lNcReGKOuFvwZCDBrPtlAtFpW1LOnRXBCagUl5lWmCrrnQT6tP7Jb/spTHDzFktXVKSdBy6aoNFKKYah0OKAA9zS/5PAefwXS3Mt+KZKjKEnAPUA5/OtZXmMD4FtpqBT3uoZFzEW+MOo8iDTXvqKiodUABpB/vGWeVCOJ6ykrdul/ytKLYy2btoyE7C+yJFru00lMT63y7Jd2LqEo5P0S1kXha97Lmak7vQSra+Os2+dGc4+8kB+E5atcClBR/9ULpVkzDNRSvBbZl3GBvC9Aydk+KO3xtNaoarL5t1zqqLlpOii2Dqm2ETcU85GgeEmI1cf3CILz4PdwJKr24Z/67Z6N1tqwGyCbjhxjjnsddUyyesbBnJLLvP0kzHLHUt7a4Vl7DFAZHwSNr/2E3VV7EScAwkAbM/jyYHM5xkkSTl1DtjcpZb3KW5hhC2w6Uhcy4ElzVEhrp9fHc7qc6pnOTf6Ssz9+/cNh/btnu3XR5z2pZ9mumXYJmX9IqJk6Fi9dKYIVDaTbcav+tDgmusQERuxRF2bEdPOA7jJYVo365h/5epw4fVT41sXLs1i54AIjEmTWauMyzUkICFlRFidztw+Cb24SDLQkK1pc6Rd5PaZuT/hwFnLCTDMYTQSXF8XMDIC8pBEObnRYKHV+gEOmxn6v1K3iSV+GjQqgKVWJWx60k9p2gKv5945TsS1rmsCgMDaqi6XXHMRlu++/q/meY222Kppy0zAurB/T53hAWaQ3HPMazz6O3NR9DkWQnHnTTejp5B0FDYZDN+6M4+HSsPbZ2bn+Do8PQcJyA5mAAA+C0lEQVTenSgp0bubVnRC0T2HrxRm03bHU0QvdG1DZb2le+2t08O5FmDr8Y49f0ZFMGyipTm8DTri6J/6MnflIISRNMhY8KkY6NRNi2EhQpEV5amoY7rHvDaVA4C98ImdAOM9FPAbDRVyidcyqh6IdJmAcB/1FRntGwWCZNeuHQg8UKyaKVBPxPjMFQc3OzERZ9W9ipBNrKAtxdBAARNpCIpUSzyy1nwcOvDRzRxTYCNI1JBENQOj70TST9+du3R5OKedz5l2RHbp2fEBfcTpqN6WP+iKpl5Wqd0khK0wWwNJbhwrO2OYqwQlZtarKC0hF+w0nYW4GgBb8Gu+xNwCC6zOwdqZi8OpcxfGc2cvzvT8nHOU/YV2Y/uJK1bcMI8BTlm6bc2LHdgyGM9tafb2kCDA7Zw3tQgxA5GrPEWcF3Qlw086A8P1cCv7f4sb070+8hLeiT/qkSUwiglu1DNoeLoGxI6cLAy16zzLrb7NAZVUwgf27ob+v/J7UaUtetgyE7CeAf+m7h8/w4igi1edWlTbDYvnJIyl7bfEYsdLiLjYuSPVdAKtgwYGVJsNdbGvvzp77ZOPzf4Y3Sh6ki+kUqDzkMKI8igWObJaNI3eb744viTf7ITS7xitFKeymMAUiTCxnZXxKtD1+CiQoBpv9A0GyrBHR+edjuj/eptabcFYlOWsGfYJhGO4iXaJqVQmBNY/mQlxOwonk7Rj+MCJ27TxCSLCDf+oxUQqa0ESYjOoiHAjAD4kp+FjFQQYUJinntgOqAhhVnlLGoNhMsPx2ys8K2RrUBq4lqF0IvXkJVvGJROTNlG9Q4YeYz9Y52EkjJmSVrR1fD4qrOl8rF/XjsW11fGKvo3rlN6iXtmzZ3ZQW9WH9RGnezQ5x1Y1vogpGq9Hk8aXsQ1PhP03G405xUzLXVcO8J81NXfOM9/5HLGRYuI9dW741uvvjG9r2zd/jUgnK/qX2ntVlYy6yl1cFjpTPIvMiuc55HS288tGRjYN5yFu+qSoc5FnTMpcHjpyfWAlUijDhT3r7yysRtkgzEWV6cS3pP+rDjHTUtfwLVdciEQbL10pcoUQMA50FS41wkdkvdi+bmG6ZQTlYueqzCuSemP8Lur/eqXk//XZ2Yr5lpmAd+4e/tfr12Z/WSf5Hnfa7Ix0faUYjeaXwLxnM/pHl5KQHpB9n85EBzn51nDq8IFx77GHZg+jvfAZSjRASSVWaEvk4dYBYUDJOi+fHE5evDy7lIOKnMufIomOG306YoGbOui2gYyYo1rMh4yFJPXcYDYb4uQAlnUKSPhOKmziEBz/5k3SAATC4JCYHB9pqrAn74w80MrCSntxRirZdq0izYOAhBi+0mdr94BxMxATKfWKAYmBtqwAomYY0MtUWCwYAnd7iM+6IVIMx0mGHqTm64gfPHLpNn+Zgwlb1E/yKIsCJ9Mqa/8wleAF9trqsKbtxlMXLo6nqXs8M94zHtGXqxzU5LwfrZtJFbbsuoE3tYXOEjbNEGlqh5jfLVlHX5px7lunx2+dOjc7k9cUzZ5tYqfZLmpH7q6UkLMS5txx4ehsaFbOJs9rxd4F1//UF1CQfkMoCHz9RQqfwiIHJ8U4YjdkwsU5k8GIPdU4e5jBDYEttJ1tEwTnExyAQOMnzn1oAsmAAksVCS1iiQgDrB0S9HWY64qKuASd91FiCZdIZUztFPVIVduNCDCVBqlIJOLDVtY374Hmtm+v/q9QX//8Z2dfz8i35lFncOukZ746/iW90PGXo9J0OK5eJVPZFbOzxVgqGRdvrK4EAz3HWltMCfS1lN/16MPxHdNizHFRmBzCv3jpfVFIRyK0E68Pr/1/L40neR6kZYP6tGIRNFdzipG+mTY8GkRseI5uXoINZeaSHEXCYdMVWlSMF01dYRECoI5hQGgxiGk7kdM2xgcoFLWVwCDEwBGfb8yBkAk4gpaRZkaZHoTpx4v4tUW9rRqxldCpJJ9/ZoVLRBLlbB7FYGl1it2gW+DQSixNenCynTocWYXLKKD44aRozKhPStMOcbSU410reEDDadgPQ12nYRW4/imlGVyAFyPheTnpTerde/aMhw7unX1Eq+NDxWfztjxrLpvx7ns5uHH5PeB79c4pMZMcf5bm5RvxwZ47P55+88zwhr484zyVzZbN2lJFmXd4UeE4rVFxpPzXP0AqxpWgcuapCDSAkVdj4jY9KWMEPwlvpnTRiZfXUfaYHbKdsYVV9CFw3lRNRV8InjmL/R+1muwYFU6uvXT7CjavM9a9c83wk+WoA3bs0bCwjd27uP9rLPvP/vw/P/t785bZepTP95ao+S9/dTyoNyX+Z90p3zOpeO0DvTtw/auzaGBe00dvct3UOniM+BqI6cbZV9Tx7zu8sl8T8bEjhzSQoixLE8Ot86cgFLu3xJ+7NF568eXZy2+8M55vMYaJZsfmpJW2Y+sqDMUh+DEYEEAk7bWJ1EzYyh52mIDieW4MRV2Ys/GEh7RtHopqs2iv2/r6mljYzwmSPMfHhSZAT22ZgyYhYbW2kYoELdbcF+XGVDWyZuKRluKy3blbmNc3TeTEHTcMjPeRwk+ewDToAKTPwoxsQRx8AhG8haU7AkDi4Zukj5RQzywIqlHWdrqe69RAkenLGHYe3D8c0ReAHNJb1Ue1m9K/qxpA81NV3hPNBHxYvweMnWkiXNt3XjHaVVh9+/T4xuvvDK/rM9LaZs76pVqcd8NdR5VjMgzTeeNIO6WehMYt5HFVsnq0gw6z+RA4xMhTUideTkXumHC92aOMQvp6mhtsfDEaNN2rIPucy5vr/37+UoIn+ta0GUa7FsK3jNMcNT45zMcuALCjVGMOOtkpuFP7v+r+xud/ZOVfdV22at7O8dap/i/9g9XPr4wr/36/0OMZS27N0Ap0CP2LEWDaKmUCYUhVz57Davm+w8P+jz04PPCRw8NhfV5UQ15JrXe2nh6C1dVh9cz58exLrw0nNcDpJ7r4qj1vlKbugm9Yzb/7b64QE8ugA5UDiAcV6sZzXybdjfbdszfmbOfN69nsenAIh9PYWhUDY58AKy4UN+Ehy/bZGKf1AtPqU3nB18HNrDzbojUGMegGjCW6noSvafyat/OG+FwR7IXemtYj0HHjEoa7TjiKiTf8OSa3p8vOaZeVlR0KhcuIyaPZLXXSj0Yc2rdvuG//3tlRPTfuXwASWB2yjShlJWs5uYtHfozh0OLVqLpwXSziaunS1eGMrs1Tb54avqXrVNsV2RbtGiPu0O7tAKPUofLRJUkh3GZpfrQeBjEcbT45R+5nXJR6rhPnD3xORJLm+cV+1AtiWQzG6TZL/f3W9n+57j5b4/DsN1Kcb8St3WC6vqa3Qv+/vn75yX/zzx54PRplCx+4Trdc+qVfW/sr2u78C1Rcm5RZf14P8aoJmm2s6MXQpFZOZrI41t5TygxqaHz0vtlHv+fh4RM8G9bzvkhnLw5vXrg8nNXnSVdPnx0unrs0XCGS8G/fIH12WoiUdbus/6zNZLBjU5etQI3oqacMtRyJii2Rgev1VjlAiiC2gTPI3i7Ch5/WNt0H/B5fix2eU/hfXImi69QGIm53enKbxeBqblSiFaY0bPSjHaDVJk69beCbOcmFWdEWdNRVtmkHt180Y9Hr5WkM4R+7XCcxP2ebwwJLEibOmyYNtwF+wlTzYXngJdA51st0LTYxd+kbuA4dmB3VW9VsVd8LzuZDpxx6SBMevwdct6CLOMiYFZpRffnIGX387ZXT54ezIWwxLewsOIDmkCJf/7hw7aQTRK2myejXIOfJ500ogeKOL1HzY7Q/xfC1qBOoFkOnIWQvzumSlurnwbKFOPJcdl9hlN4MUR2lj+QHKE+KIMSLRkz09gGEliCFLeUuc/0s9OklGOncJf3/v/nxf2H2DM2w1ZMvgy3XDr/0a+PPahL45LTiGj50jccdsfJ59zAu+0DyKz3tl8Y/cN/w4Hd/dNa/bo2O+dpbw++/+c74xtxXbp8t95fx2N6yu3nLam7by3hVBm0M9TY9za1TB2nqrPVka69JnBO7QPN2J310ew2XbZ6xLIvD+B4X85dGUfvv/EZEaPX8ieGzaVu0pZ5Ba5yMiTPrjqK+4kwbmFEGmyaZ3Bkkd2h+QQdzi+1lu4mfHLGr1uLGA4nt2gbizc5/WprHqK3kffoCmENaId+vyfgIW9UTbwtFHFIZb0Fb6HPpPLaZTw3f1MT7ml4cW53WZ2O5N2mrD1OOXLGqDJ/0I+iMveqbpt71uuixSc9tYx556LFiDR/4a6/251ZQ+ENvbn+z63Pz9k79zeRzPrH3c6aCr68ab8bccA2zLDa30UbdxXa44/v/OPzCX/yXdv78tJ5btXzDjns3N4reiv5Pr18b/5b68fdoAFI/ipFDVdYLQbHlSt+iT0UXi21pkWU/1vjWq9wT65pOEL0fFIuq2pbsgWoi1vJwRwzI88HeNhmUct9XazQVOj86OYF1nv0Bgd2GAX7vp3ZWaH0UK9Woo7fP4/sns54Ig6o2RVs3c4Sus4YSxZepLe/Tgo7TMgFmXcA7Fni0KzytALg/iTK+IOQ9Mv3OUsacTdGr3wauFhPKmcKOyDh/yvtIGeGr3ZHES2E7VqG7Qbzyyle4Vpu5foLM8nzJ2gpLpKoj2Rzb20cI2hkZvsKPmkzORedkZb+Ot9tt54drwxhkpOurw4XT58YLZ87NTmLzwJ7hyOF7Zg/p8+hHtcuysFUNHtv1EQU8UjZ2/ATg+bfPjq+//vZwcm1tpvbIlOcLOs93XotpD27gaDpobligYUL3xPXR9XU2ORN5/qNdpJBPBNxWaTauDzTjOiBWby9HTWSj7TaENdymy37dx3mr12fGETjaP0MiFC4xKdvGre3/4UAHznnUXX7ZOQ/+Fuv/qvNXNPn+926T7Tx7xpZth7/zy+PBQ/es/1V1jB+kg6iL6KEjN9eMGLkNRedMat5M/VkVd+FtRRTPBdudfwwO0qPLP/iR2cPf/dHhe9FmwJO94ZU3xxfefGc4SS+MQVA38Rrs+nMiMPFZZGJSIoaIj0LEBU+TlfyxJahcY57K/GxRDDxpT3qYivg17AmboxT1USUlxZ6ijLFrXl+4JWn2qDEs2iautIuxMJQRZiOGh4xJ4lZqMIJDoStSH2MdK/Y1WIZh2pNEpHAYxlJHudoDue5rmNzaVm/Go6PMzdsBj6FKJiH2oz0Y1IN2neSberQJJXypvUOXc9PsEI5AqZoue1wpygkpWlg6WRskkSY+sr7hpQEdfzqePxc3n7hiola+b++Ogwf2jkcP7Jt9lAnZ7sjZguYlLCf9KMKp194Y/4l+f/d0fDpV9RcuaoBN6h3XSrRTtsP8fAsYbaA+Q/NBt1TPHWfL5ybELSDbsf3mN9qi4qPNpchLkPo5rPDB+RWh/xlTtKudl7y1D3EqCdXOnSFcFHxdZV5HsvcB9H+fI3y6ztFWWYGMbQv0f53HX/y3/tzOr7jtt/NsAV0G2+krvzb+RY00/3obelqDtKZhdFlsIgYbJQ45h/nuO8rCt44WWg8cHb7rYw8MfzIK7fDqm8M/1kstfwQwxpEu1CjGHb+ycNH4HtAoSqcHFqgcikKHmNBPDDDbtzXGGGxI5Eoxn0Y1QjeCb/XoFan1XfQhZPO3LMdL86X4HHfoND9zWvriSQOliHFelx5zBD0PPmsIrtWpy8OKDlkniLmWQK1A+4cuc7amsP+/vXOLte067/pcl73PPsfHsX1sx8Vx7JpeoKE8tKW05QEJIdEKGqSoaoR4KASppCoiD3ni0U+88AAqBBFKKRQEyBK0iBJARX2pVBVEo1YiIlEutHbq2InrxJdz3evC//f/j2/OufY5MXEc28c+Y/h4zTnH+K7/Mcb3zTHm3GuVD6mc7LA0+kVVnMPHqXkRpn/mTaNoaHN9bh6afJpjc/UDcigWq6MF1YFG44fBMhB97tuyk2Njdr3OYwdYq03b0xf0zPh+vVn9kH5A4pJ+SOLo7gvDqb4044t6y/4PXnxloRf+SgRWzPUgisa0OxP7DgecVEt1szvXxnq0g9a0z+Q3vsi1DGqiyH1hf3BSOuxsk2Fhomt6bWj6SzVtPkIqt3XAtrBPfUq9Km11VIWMz+YopsDNh4o5OEwDtzUgP3RN34ynmW2MTCXaqoOnNSCBicoBslaCIWRW0WrhHynGeSQ+qG7z+S+7X9Ft08//tR9b/PfyoR8nBOa9P9XegWf/4r/s/7zA+CuaFQ8x/gkC/EYnf/PJHTJfHqAXTHw9h4f5WfOFWaIYxUMpppWnxh95YHjPIw8O36dJ5BkP79NfHn5HCfhpfyEBukIOr860bYZS0XPt0xY4SpeaHDPySy++txe5v2UndvrPYGSHJM990KWnLGpakFNV/KKt9solPNPa+tWg66IjFHjFYX+0v44wiurHF14w3zKqna9biE6FRLFMWGIH7G1TTmdcRqf10KgCDhQwQDbX5hVeK1UGC7YcxVxBKqK08JE/EkkTfNZFh6gEa9DTuku24ad2i0UTWhPpo/zBAnTQz8ijSLRP4KWaBs6Rir22PerMElngjeDIiDit7ZpdJRv50BdO8BQ/NOjOCi44ghlmUce5PZNv8Gj1+8CVa/uXTreLG8ijrnhDGweQSbtl2EaEBufRDqrUVuOr/HV1sPReu4wV3eQXY2yUC7EK80rfo2yEPE6afoCEWz6oqI/Fi8NUmoeOMg0gygK1cemLiNYn3GpSGy9CIg8MsRf7wYA+gpx649H0l2/UfbPzH1VzXejBxuaPDswtm/WOm/9a9X5FjxL+7t/48cUX8LuXmxHwwLu5+s6s+aX/tn/37sbub2sWfi93/ICjyTEW7WB5H3N+HBvnJ3ztFbNd5eH7F+9970PD98+blYA/+czz+6dTFy1eYbiCUKitwKYrYTSyaKYey4giCz2K3O+mtmqfZFGT4miKNxafbieYEgiKhqP9noms61sdoY89Eso3/RBNkF/1wkHhdroeET30uXzSnwXJdZ4dK2RJTurNPsJQ8qml/VWvLWkup3BTg3HwB6J8DRBznWVDjmdHg7mkPw47urtq8q388m89uk/TX1WPn7jqcHzGZxJG2hKs42fsLRvLd67rPFbNPyeeohnHQusP6ucyuMWg36In/OHlnDLfIE9NeFrbOH7kwtcdYxmDxiAi2ic6ZmNgtGUa62Wrxy4ZlMw5K7G7MPHjGfWv5GpOlq/p/2KKj1xVu49cF4mOo96Gd+mZkeR0Nv+pKJnoPDvGJBWKWf/FltI1DvxIbn1S43jCpDWPNtZ1Hcc+t/hg//X7prgm28uH+RGqYIBjZ+b/Yvery6PVv/upH11cnqT1s7MI1Cw4W39HX//Cr+7/nELATwqEB5kx+vMcRRy9/dqKhr8TFzfgFO6Q52W8k1bwefj+4bHHHh5+YN7+1JcW/+uZPxx+nwlAPTFEqUuBxDGXSleUXIgcCLhXdoEiZ5lE7aZfCXC3nf6+1HIhQ0+LU7F9WlGhmHjpu3QJFZlKSW86MEfFvDaNZ2fZIZj7UOemxacqLDK8DasKB2Tf9bfgHFvAjFVNaa6YagwsiUVsw0pHY6yjVyZtp0KXWcFIR/waoVRLARZfwWbuAz7zm6zIwA/arYPHjRJXvlHPOfKhpdG2e9chfGgofZbRVFc/lCz4kZM+QS1DIfIJbLyMzVNpK4JYpdqRS2GVVvKqjWNap0/ooYMelX7R2+M4fmoXwVbPZcE9Xjd7sJX66GCXgN0CaqZSOzPUzG0aZdk+jTiDOOF41m7oqw4VcSp8JVtC1CQMml039wVGGOJi1zXcM98aXtYn4lmOstLXM//L/vJdOxyyNaXqTCMb3wnzX758WTcaH/vrf3nxqeZmP7wKAmemzqtQ3mFN//wT+wd3m+EnFVz+LHf3mthECm3Z+fbXUaOCgmg8qfLlGWQaCmltNzz8wOLxx75t+EHdrYdItb//7PA/+RtL7uAJQn7ZRdNeJD4/c8usl295wQqZDg1i4gUZxSMp4s3U5I22KoFQp6FHIFRukypn+GYf8tKODfxoudqx0WMCm6LHf9Lh4EcbGGCnfY6juuIf/JxJf9XrWvYJs1anVmSUTciPFSI0FgpPSmdlQ3BdJtlCKfoSjSjz6oSgS7+MuIxCycy8qDNZVPrztqwkCignH6RZR45lg1/AEo2abbf50e1b/8nXao9q+h5f8yJT9VuO2Js+E2YSZBm68xG58Q1eZacTCs5aATcc8CJcfM3evKmdT7paaVvfuKobsZmNooZcUGC75Y19WeOvcIAobyFLpuzihcDojAeVrPGRfheG7JxDJT544r+pVYvusc6Y2B0xp38sx+MNjOWxLAQVSREuvMBmCa2fPU8ioOmpfpfZGOECtsXHkXpjSrW/lzlj3XYb/Yx30WWOI0W2ov/1zH/rlCT6xXqRqWvpmcaTdOQrK6mTv+7bZr+weDvMf/XwZU21/3p8Mnyir3oZPN9YYTD08ioIkIj3p7ufEcn3+D6aCUJ04OXPcZJPAjy/NcFFq/bd8Mi7l48/+u79D08Uw/DUs8NvffH5xf+toNYChINjBdOVgosGdJPj0CZpbKGxpTZJE50Dt24R2rzNxFUQFq+CcLMxIQy7sV+0Cn4sSx1AccgF6jpP+KI6yThqCVhit/+TGeGqTziRogjf7I/ckjzZtCT5EeDx1hacpUH3Rqt6fI5n+czVhAt2IUIB3MtY+KTffYDMsuCsDPpA/3yzgQHgEz6de9musGnLsJAeiIS5TPqAhAfmssPLMchY0ijRq05Hy41tiCs58aN5jZOKzEEvLfXZKJolrW8YC+iLbGFNmituk1pT+iFjQcnKdOBF4sIbsLL9QEEG8mdsPKtXmcPjyviKnsSRElzKr6qFjiREa40oj2PJWdFXIjSN54t00mOyAXrsCG8bT5KFlLIbvyfZk/RYznX6K7aAVfVt5NlW6dvqVehmIOLdN4VieeW+lD3IkFidfGPzf+IHN+2jSUbmj1RKN3hjqQ7qEqZwON5O81998BtHJ8t/1RMvffnaCkOgl28AgZ//5f0P6JnrX1VweLDICbxMbqYMhXMHW4Ju7nSVgBffoa+l/BHaPcM0055+bvjNp5/bf4E6FwkgeHOODKYhE5LHyA7gBHLpKj1FV9cEJIJVgt9kh0Up0FVACl30YCftBOfYreBr5dgZGtop8PnYbLAcVVe4R2+FNDP4QyvL9swNsdgaPUlULeCPqw3TiIjgpBWzzEIvAS92lX/ma76WP2Adm6OJzyrBqOrTUjgVTVpzhXzO5n07BvLqF7VPGBV3jgRmfKCgO0lip8DLWFGgVzJqzXJM44RdCRXkoRs6ZNDvwayoc4XtJAv+fKb6pWwFYeSDVR2hPyvP/ltcPEN/SrvBiKpRD5dVJo5GJPmFT/lue+QtCUa2sMHLFf2pmqQYXXpAcCNAjccjrjZlYLjSzo/IXfCZGzG/WoHv4kMe/OUrhNN5BDGWtJrf66s8R8xoqf7D5pp7hT8qwRYeGScF9IW81KBkXqKHUrhHk92xHzVnTaRGfEEfMmIzNw7p96IpG9CNUvTc9vN/GD6zWS3/9Yffv3jKfvSP14zAHftFHK8VqZ/+wOK3xfPbH/9P++8fTnd/QYHiuxUdtJ7IhGSSIlOTr01CtguJsfr+XE3ZcdbqRJNQj+CWp5pojlHjhGUmawYSkDxZPXEjkllc71t5siqw6c59QZCSPAcHOJnAa8lRXVY6aqmk4qDTJr7sFbknunkq5ervLVUtKe2ISfDJU/YLJUuXBL/UyT85KG+UbLFj0iU26U2QzN9wJnhhlzQaLGQQoEGDxb2/aRhfpFX/gGrr97JEJec3ttS+OQADq5YTpGiSFu4bQA6xWzJlL8GMvsI349jkmEjEzT/7IgrbDGbot8gmlfMj4a3n7EuZpSwp3RYZKoIqsHFjwjk+6n+6xytF46ZzVcvmpV7ATv/Rj2zTQ8iKMoMifVkv89En+MSP7a4tWMkWQQ1DtwNiS++RJQJ8xQBhhD7oN9gJ1gh0X0PHmBPG6CFVyI41YxkMRA8F9JDj7ZLvItG/+CQ+ZEqPbB/p9ftWMkc4ND0kNPgxnyO26ETfBioNmiXqH7mxQ4xWx+CMeuGi8xW2w8fN7bRz4weqFo9QFc7lu/n0Qf+r6AeLObpfdCV5EiYxYM0ElQonYtq4ifFs8E6G2Nx3JHz4XfT91GKQGtltXQgwj3Qfzn/9FDQU2CxqiYaONyfbG5TY+Hab/8Lgk/v18td++v2LTweQ/vnNIsCY7uWbQOAX/uP+j53ut39mvVj9CMHaU5NJpVIBgPN7Ly4vve/x4S9pvp5L2+L6735u9ytXry1fzrUDteK1pmmb3w4ibXVEoFrpy3kSSGixisTUTGYHsrqjJmBA0mKN7XKwUxIkcOlhlEOGk4WkOYASGKh3UcAbbZE+gpQOanQ7bYqUYldAVLyPoqz6FGD1YtOwIEkpIMsQxAMHpwQmnSvZaGlMRCeC6WCBjtHYlMSuRhIr7rbCKTYgi3NQIICTKJCl/+Wfkj40quKGwFRQqyKlBPoGgA1bkqA+grH+FsY+wY+PhRdH62vYIQ87ZKBW8EqKui7JrsdPIyPVolGg9qoYHKFLf7QdBPGCmW+aIFdBBkfTcqKCfyQLdK11JGljU8kUj/02Lf2iUnJip/Q4oTUmITiXb742ntBj2fr0TaRlKQl6/KQP8AF+jwWb1zBomDYBoWn9RM9x09KS0GgfcmpcYofHgQ7Ugw3jSu3qBl1w7v4Riy4yWMfEBrvleqsXFBoNWIAh14wZrG83Bxl7rd0JWTbSXjc9dkIszMONqOlzjwFs01h/tfkPKkUvLhU6RzdeYK1SvuKT9ZgCQzP+amy+5fN/P1yWSb++X65+Uyve57G9l9ePAEOpl9eBwL/8D/v7rw3bH9f8/S4Fo/trJcKRwnQ7Ol4dH69256jZbJfXTze7GwQorgmgFN34+8jKYqOGtRoii0mqf6wUOTppaVKLPDrgQ1K2xNhSq+DhSn9oOid+6WjGxhH96NYKwFt5SCKxESh3orV0+UIAQ0T0wxc5iCegEkg4p37EgArjUHWOctzxizY2Y2v7Zz7rZttQNkWF6Ga6CE0LrYeUDWSN1lj+syWtLkocNqAW3YSx5nfkJrFBnHb8Q37MRA3LlERM9VWaJKPsz9Gi9VFmFRbItAykSkeTjlCzYMMcJypjd/yAp2giU7cTtn/CIvLhxFhKZHM9x11XbqpWKM2rCvoriVCnfhKp/tXYyjlsSaapA+doKd3YzPn8WOfoIbngJ7rxw3J0rTHsXRkYDXWzyXRNB/z4wrd9egz4Ggr6kq8jbYlZ8nxD5/lgooMPzxW98q3X0VLfeFnpYmuV+BQsqddzae/yVHuOzpXSzz1A+oIbUNWCmf6PzFuNE6dbxmjT6X5pzlM1YRobbrf5r4n6h+rI33rmaPj1J96/uHKIS796vQg4aL5eIZ0/CPzjf7//YU2oH9Lk/E5qPLk0yzL3CMece9qZgXaCpgOOa+ZnqheB75DZdmsJeEodsBF0ddTts+/E2crkTygVJExHLuFaxas7AqNEqtPd7wlE0e8tRSycm+PzFgjVJCYtYJNokelVonJGsfiIkwiRDeiSbfzhC5bYpjFI+douiJYEL9u0MoB7okESApPMaLOJI2ZSzkpXzATjMQFhiAqrJfQTtLn2Nrmqg3n0YCrytT8dXDAdfQ3bBMyGC6RmcK1omqKGN/2JH2xRYw/Uitn6TzZabvgrMUNPPTdNbENyCWbws9qys2bJStQ7IdIFU2Od0JEt6K6+pa+wzisrZIgn/UViTBJB9+RPMGY1N+qudhkqY5pdWbmZV0ZQj5TSg09+NNJ2AUhQtFsPjZJpsa3O4/oAn9AaG52q75xozSdJrFDBCH1zDEqq6XlMICXV7ptJyWKOjGMeqyQBGgo2ce4bWKVtgeQVKTs2+lEq8QUzxo5xbOMoOs5KiYf2QaftqtlTmqRPbLfr/Bc8n9NPfHziZ96/+Cz49PLGIOCA98aIvnOl/rMn95e2q+HHFA2/UzP3Ekiw6qhpSlIlMBEsROMAxV10BeFpijoViHuawk6sunSCUL2Sm2UZbclQdLI8X7cP9HFaKx/Op8DIVTTW6ln0TvipXmrVK3ttqwK8zuOLV03N/gQy2yZpFdYqISI/vsIvM0hKTacDfgvS6DmLE9YlmRV6VOg/ybFdOkvqkEQFxwRuaBuKDRNk1HZqSSp+LIZ68k0XKk2Cj6mBUkUyeRY509KoaSzpnCMj1sl/r5RKF1TGW4Gd3YfwTRpHn8yPpNzAcJzOqJecNo6qpXojOLFFmrdvTetxJvSkyglAlQdjSNfpx5IGV0rRFZYHfak+CSbxAd94lgrGGqveOUn/goPuT9pNUdFFQ8YJErJFm2t8zhgoqvRVxjDUKeAwjetCPm1QuX+ll7mDl9BLtOpjZ+Zi+i+f4a0xmvGS+VVakYnOajN2arQOsG6EZ8d1eKSakYxt7pebxxTjICNx1vNNPrqqT2ypZLyu+b8cPj9sNv/76n79Pz76wcVVy+wfbygCPQG/ofAOw8d/ef8d+nviH1S0/hNKEOe1ItK8V0BpejUBdR+uqUSAVn1NZJrn52UmdZxPd/Oi03XkJagwub0tVsm4giGM7VxnZisdFQAIiIReGenAAMtNNC3o0KbAyLNc61OQ0f6dl2iqT6Ai0tsvHbV6kZn46pUa7GMpv6goXs5LNzGTc25SqE9Qcpg88IOW0RewcpZJFCQolq2u0UewmnygHqnoKTkO1tTLftng/uPtWigr6SNX/yOPjiSsxk4nBc5LsgSNRf0lGfRd9Vfe2oVevWAdsWWGDwlM9JPNiGNlhy8ozVhwrT6MkbFz+9T/sdNk6hvjax+M2ZggLS+2l05YKKWLo5//t753oz7Qx3n1YZ2DDjsDYJwEHH9pNw6o8/lNfa1aMKNR/+kULFwEu67teulL/0GTeuwJTtws4L5sm+ERQXxKkPtapnPZxjvnwTZ4TNdzH6c5CKvtbTccevbMDJDM22f+y6Fr6rvfkKGf//AHFp+3yf3jTUNgmqtvmso7V9E/+ZX9+zab7ffqlvl7FIL8s3EV5JOIma6a5A7emeSa/JqtbRXaAhoIjnwkJdVznTt5dsh4AzvPdBNYCXRicZIgKUmAxDtAskVcLyypIXfVClQi4SqFxHV4p68oIjaCTQXJeRCCq9nfJGDfmCR0XkkeKlYRJEd0V70TTouttUIhS0DlwG0ehM+TajtvtjbVxip6KiGoSoGQF7DkvBzTufYYjYeYCMrF66NhcNJzPHZd9Yt9qX6br4RYxRGv5ZVXuTJ7hiH+sp0f/cGGvqJYnfyqJEgdSSTJXggIyLKVtnmBt4khw7jPD7FPHTyuF/W8n4PFJBGaJEqJY8XYSnzBp4y3VKcP6a85HX5lCzfWCWyRkDCDadlhHpHUuLIOmcn4p23yJ7jWOMDmyevyKzXz8TnHYS5vnGP0F4NUBZvhhSeSnFjtL9hjW8asyY05/ZK5GIw9jrgf9b9p3M77boavbyXQ/kbPfxl+VS+jfHKxXn3qZ39i8YV40D/fCgTGCfVWKL+Tdf7DJ/eP6274+4TB4wqt9xHIFGDy5xeOAdNzRLWNd/GZoBUYgmACQgWlBKNpYicxQ5lgQmA5pKm2CjgVYOoanYohrSTJcVE6SA6kjeKjLYEvPnCegDYltrQj45DX8S8xCzGW2QKbApSBcT0fk4zI5bqSJ0kg/spe4UqSL545Duif213BdlRiPXO8pr6Y4z6XjR2TDpJREKwEXG2ll76XXjuH/Wy/su0J5vapBXvkgE/xVcI+tLn1T8MQemSWLOws/ZGF/1LTsCs6aEo3+ooH/irUY7STkY+hm/xH2mQzfJZLAuPZqo7UVUlSq6v4nuRddTWepj6gBX2FcR1J1oyX1iaF5pEf7MJQuN3LVjd6i87Z3xhP4wX8fBOoI5x1g4EvyCBhIldyfCMQ7MC17Cob8T/jHTmUwoox8IbO/8XuWb0D8X/2++u/97M/cfKFaO+fbzUCbTC+1Wbc2fo/9p/337a7MvxxRaVv1xR9XBOXqJW+GSNQgtkcKYKMgoHyE3fjrUWrWV9zycpWbVlXEirOFjHNxfpcdOZToGhtkm2ZcBO0ufOvQCeatvV3K/lNXxknZvFKFkGI0nTJaUdDfyC7FevNCosgmYBGMoQefTM7IqA4x+Nkb+NrLCR1mzWKmCUDY6+VofTrhaKsjEWnfyTGvFTWsI0ihFg+R/tWQZuKmNnwkVDrdgNt4o0rZ/ySPC0QR7dQoXyiD8m3PiS0a46WO40DWqPYZ7f+yC2NcbB5rOA8ppALf8mf2DM2dF12NL8miuYO7Bl/AVL9p5eg0m9uk4jilT/xD7nwRVprtyXIGvud5pHBtLZ7Pm9M0vSfoZ3zIpukSIJmL+CwzOyzVxYadp16TPpmttWPno98M/xiL3aiq9w8wFs+Sibj7XXP/7W2lvVu/bPr1fDp88vh0x/6wOJrh771q9sBgRYIbwdTug0g8Pd/cX/v6vzwmG7fH9PsfVT36/cSsEk+3CUToBwsFKS4zuolyYnrtBEcOM/LVN4WUwJDvj50w04wI9je6sWwKbCWTucIxxR0s8qJHchLOQyGY4RyQCLAOXialJg6raamgIfdqT/c6sWP6CgMmh9NJkHwwD/jlBVN7ESfzG4JvOQVNtgGXeUCtkeVxQj2reD4ZGcqYwvnyOVYWKGL65LnXFLb1TNfimeu28mHBulT5m395L60jfGjbkjiU2xLwC8bqr/mmJZsaNAADkXHNe3hjz/eXh3HXeqgYvyIMy/m6VzCvHpu/GqOLVOfBLvYPo1T6BhL2FB9ctYG4+C+Q+1k3yFf9GHbRI+91WfpP/T77XRuGA/awslnYVOPJtK3JUdcOtXfUttm6LG7/Crd9Ht8Kl8LO+RMtha+N9tS+kJbdNW3wQ0bbp7/GnQvKbN/Znm0/sxdLw3PfehDi2vY2cvti4AGai+3MwL/4N/sH1K8eFRfMfGoNsweVcQ714KWAym2T8llPum9gqNNwZvtMZ2eSUIJCFNgYJIroIxjIkmEQFA0U3AgAFSZ3yAQkKq+jqV3fs156YO/CnWcV1BGjVeM1pebD+wRkTzK6nR+XnLqWG1cI/usLfg7xybX2UrEButXVBMoxoX2sgdsK4Ait3TmGHzAo3iqffJx3l/VyhFe7xaAw2jzXMccu5I3lxA/pr6YeJtsfRmK9o9tM23BZkoouU4iw4eiKR23uq62ShpcL2d6WvKQzsm/wzGmFjVN4yn6kYMNHClz3YVt2XuIhcdL7ZyEWZ/mkc96/i6/8O2s31xn3oQp47OGaelATvVPS4gjTtg4KrTOjD3q4I/dXOXGgjNK2ZLzScacB4zQq/+u63faPquvM3xKv/n31N/54OJFC+kfbxsEDgbJ28bqO9jQj/3b/Xs3q+HdCp2PaO4+opXyCYFBidkvWhU0WUER/LNy1oR3oCFpJShOKyz+5lE72doNU6LWb8nxSmsVDRCvckb+atBxrpNz2UT2lJwW2HXuAINcnbcc2tYBSeyukyz70HShwkFGqw226LhGDoGb+iTsmY2j76GZ22oqffCL78gKvwVGh5OQ+PSyjF8MSpM/y3fbopVxfGCrd0akU7DGNuVpkRzapb8hHVfXh1wGKTLVMBdZeic/ml9mUVIxzGLiC6HdVzgRjOmHwqzGQPTGrpKdOjuvIeLHAqnSZ/krQBgUi9KDBDlom6s/sJExVTaVfI4AQ0Ip71xnnBADgRJ/023ZM9vdXmO2+l6VIBG/pj/ZgbZK6ecaPyj0V/o9OKZ2+rRdarq5/6tfm72MAe+ORE71D2ryRFknfO9H6xMnZeaWYZvZLYYaw3N7sWh+bbtUV/xie2l/NDyt7yP9yuLi8NmP/MXFS/D08vZFQH3cy9sZgZ97cs+PQzyoCPCItsceVEK+X4GB74nmT5Waa7cOPNBAq0DhgMhddfFWPTQkFX05gwvfzUy4mctmu9GRkRY/PzWpaSaZxcfRX6U4LNdaCShAl0zqS3bxUbU9jb7yiTatMPysDDuRWAUa/MEObFbwtX/F6/amt3g4KtHYB+TBiw7bB5aniqmSVTJG25qA0glvteETPGUrvslmtg7b8/QJU+sfsW+6wNg45Roa9AQjruIn2/ZbLYNin6r1s9XwUcouzrGtbAre1EqebCx6aijYDAZzW9drMBfW6aIDLIoW3uihv9DfiFs98oyPv8UM6vIJH2MzdcFfX30pGZS53dRJR2xx25mxMetHdMGPvJJv/WcxEw7YDS02GpeGIXXzMsn0zZzmS5J0jQ1oJ3sn23SnITz9TsEoDp0TxsEdO8tGjcCvbPebP1iv118ZLg5f7Al3hO4dc3IQvN4xXt3BjvzcJ/bnNq8MDwynw3s0wR9WYrlfK4aTrIQTLICHIMZRk93PsWqVQB2l6nM1fVI/XU3P8ajjGRur67ks6PW/AxXP7qCrYJdAx3VW6bRBWzThE78CqLQqW/j5sPWPbY1+vtqZ5EdetYlHvLEZGuR6N2DmE7hAV0doFCWTOOBpvmBjs0ckubJMtWe1RTA/xHFOV0G+/EAC55E0yatrt2mZqW82M77efpddsTP9Oto82pjn6eglUcyfnUJ7K3tcz4tnygP0S56bRg+2yI6x/2/SrWb9J7CCAfSlI1hkq5tvEEU+7cjgiNzIm47VV4Un17Jp7EP4KNVeeBe2tNkf+z/ZPe/TiSe05V/Zgi9zHfPz8Dafmo7SV21grro2Zn0DNvqafkmbaF7WLs0zu5VWt8vh+fXF4Xkl3Ovo6+Wdi8A4md65LnbP/pG+r3p1fbj72nJ4j6LJJW2TXdLxhC8oIomwQpjuxPP27zyI0V4oEpBqNXGWJquHolQrfHphRyFzCq6Kc17IKZgWfeRH71wXksquHAlWyXaH9XP7zaWPST41yCUYsoJS4PNqpGTxJ8AKmA600FKgn+yDXo9MxUfbvJ5r5FRdrYSgDVahIDCrTWS5CSn5c3/Txguwh3qsYbQn7dBOMuJPrbyqPprzSV35X/XU6U9T+HvkA5wbR8Pp1ivC8rNkzY+3smOyiR+FyI0UmFc9x0mGGjzOVOMt3ak/ROQtXY1cf5kHWCGn7LEcjTkW1OCtVo8/ZBdtznPT8vVtgGoqhTc1dZ7+Ck3sr7mjOu8U6dhW8dUOtRIsz2pf0NT70tG14ZX9A8MzPdmCzJ1XZoP+znP+Tvb4Y0/uL149HfTjEVoh7zaXFkfri4pZ94EJL+fsdtvFaq3fiWt37+yrzQNYIgs/H+Svm9gRdEm0DjgVgTlWBJpFJFY/yF1Ih35VwYnP31dv+gqU1It/3IeMKEVf/SmQIjhNso9zpQheedF6rfFIZ62w8GerX8CwL9LHNTZp49bncx6+hl+BWyu4lXbVZaNw4KivcpQOfRZf063loWQowhJkm+1aUtsfv+C0Ej78cARJQjSbDUkjPAsdSTJld9lrPonDPvxi9WQ6yVmuk5jxgP6x7RXgT3Vt3cHc8oQNvLYbevmCfbZbuBaWwQCp6mP0tH5EB7WlB3p4p3HQlEPk/g3uhVv5Qmv8DTZFSz3YRW75NtnvMdIwyG8q0EZBb87neBdmN7UzXlTcr8Zd/YuP2lWZYzH2J8RNfvmKHrrYN5MeG8Kmjc1b46KXDnbah1qvXt5tNl/drdfPn9sOL6y++rkXPvKR7+orW2PcP1pA6kB0BIbhySf3x793ebikbbDjk+PhIX2F5n0KXeeUfO7bqtKrivwCkVeDBHRwI0gRsGgnCbA62WqZk4QQZJ0wnCByLQbFLSUEFgRNDitjvfHjMak3wfwj6vBxHj26KWg6soqOrHwqOipR6oZAOedwNcvqk7az9cWXIOugjOXSsNKq0L9QJD8PExv6TzepKx+gWflXLxR0sVUyVis9jFW52c5oneTKZ9snvfphXFrlgKqCqa+b/+FM8kVf+QNm6EUOuBfd0VpJIxsGVdWOlchQohsoFWSVTfEntpeeqis92Ahf8XDOGLDd/MBv82HPd7JpfGTsVOLMWKLfYx/2JJkf4Nv8Acuz48nq2kfZxhhF5nQtqUKjxk/xpD36ZLBsrZsKYQgkqkPfqFc1h+Mq9pbv4K+fz3h5vR2+fLo4vbzdHb3yrnPDs3/rg4tXSmc/dgRuhYAn0a0ael1HoBB44slPHd+7ed9913fDkQL1fWsl5t3R9qJ+Sf0eBVr9MqBCr2KSEoDeEiWW55xlsV4P0rIvKzkWFdqAtFhWaKyeWdmQu5DDCoSVBnIgyqpH7Y1Hv0Xq1SRt5lFgV/A0PXxehqutVkVmk2z/sg1MKuQjdGd1Jvu0imGliVWmE73tVv2kX/Zhk59DI0W0XMk/bOIaGfKzrTjJZiJRHXlF/8abFFZN9hnjRh3BCWzAa8qZSmgHeGCl7G020mY9y+2IS/ken7WixTgV19NJ4nc/NX8KB+vhRgpjVbAxOGXFTp1X1RzFS38VvrRl9chZrYJ1kyL/KIey6LtgTmLOeMAm9T27Be6b8ILppo0JbmqwsfrG+iUb+4MHmoIfx4yVyIG2xgDjxX3ZcPSYk1647bv83jdbaqyWH8Pp9nR5tHpFNn7t+tXha+ePhxv3PzA891M/utBfAfXSEXjtCPQE/Nox6xwzBP7eL+3vOrcZLpyutH19bji/vTZcVIA+L5K79Cc4RwTtzaniq45s39WqgaOTiepn4pyoEly1om4BnHZyB5fmq5Wigi91tCGf8yQU0SnoRl9LnArgXnHpZ6rCIyZFXM4pliH7QhPd6Mq2ZeoJ7PCUDbWdbAH6qHquy5bYPfHVrsC8Hvq5vdhQuCFnbGs+QU/7dsPjSB0l3nTCA+w41wpOdTgX3VyTwEhkcxvWR8iZ6pBdPJyVHdBttM2NzOwYTP1W9kHPuZOasUxio462uW4uD/hIpPKl6sCy7ESfb7Rkv7fHxVs+I2fyNfXYrP/kZx4bQGMbXDezu+mkvYpumm5I3xWNXZ7TXt5fvXZ1vT756oU/OVz+8J9a6H34XjoC3zoEegL+1mHZJZ1B4G9+fH/03XcP9+hR6NHVzXDP8mg40pLsHgW5Iz3PfNfZQA571Tno6oXllb5lYB6Mz6gwPXUO3g6oeiq8UULSd/BRzvKWXIK0eHxDYEIlViUOPyOlPnX5hGdKSlplKRFEx0QVmthBLXp1M7A/OtaqTfzzdngp+EaBVlfcPNjf1LWE1HSjcy6D86LXuX1RIh39Bg89c+Y1ZsmcsEAPbVZs3XM9cxxJzE7A1iO8wERvkQWb8q9kz3Vj26GOw2RabfEbneDpG4Qk4cYff4M3tJWQS1fpQZ58lZzgWLTgIpuFwYSrnyAMw9XldriyXd64cmF9fEV/Znbl+rnhyn1/dLjSk2yNjH58MxA4CDRvhsKuoyNQCJCgv/1keNdaW9tacZw/JTEvh/MKnBfWS/0cuFbSJGtWOxW0i3ejSm2Bj4G+BWF2cL0dDF1ecFIQTv5xDs2LOiSzBPSi2bSVIduermO1zktTCu5cs5D0+SwROEGUvqZjN74MFUtLftn99a6px6Y1q/uSpURUdsKPbRznem0bleBxtNobl11wmXRt9eM3SrxCdPRPsthKZn2Mb8aFFWb5ryP3Caw4xzqwmCXXnXY2ylbrF7/yqHgatjOMUQN+bAWzSkcfsvDXq9Nlnr2jy3bR6QgvfHVljNQnR/KD1rld9kFeLvbrG1p3v7TZnm5266OrWrBf0bp1c+XG8NIzenz/Tz/cV7GCrpfbBIGegG+Tjuhm3BoBkvQPrYeTF0nEx4PitRK1EvZ6P5xslKz1ninPJM8vVptzg3L2brtpY3rtFeZ+v9EiUElkJY4zhUCf7e7DhtArSVhWlqmL5cYrQXSwcj29sXHyRy70SNCzyAMd1ENbq+Vb68LestUJjtSnxd5kb+STDkOHPHSV/N0O20J/1obybHMqmcu1Ho1OfE6EM9vBA/qtlpMrffNGfJzkCkutJie75rqwpWQjo9qcTJu9hXf5Uz5Sjw/2SzYWZpaxHHRvNJwqSW91o3ZVmZfF7rVzR4N/MP50M7x09OKw+ehH+w/Ig3svby8EWrB6exndre0I3AqBJ57Yrx97bFg/e6zE/OKLw+7ue07262G91x+DHPN3z8d6VXirPwxRElIUP6+PY21aer2pbxtSZNeerRKMVmoL5Tpfk/TUpAutwLSCc5vON/rv+FjJ16vU2s52Al1Ar/oxGUNzpM3301MtAqlHngr1OVPCkuw6p55r0S6kKm1Kfrv9el+ySVjYXHbBS13ZW/rnOiAmCcODDdDbhxtKgDP94KPkrG9UmfxBPvgUTqWH+qLD5thAbZy0H8ITmsWw0fPVNW8aX1ufU1K9odeHlVCvr4bNQg8pFpvzmwsXh6vHWrFeuDxs+o8JgGMv72QExgDwTnay+9YR+P8h8MQv7k+Gu5Q1Ln/NmeN4ee/qxu7y0fmTu5anl68drY9PeEHoBDn6w53VZn/jaLU65gUofsf1eLc91QrwSC/I+i9fjkg4Sj4LvYDm1SDn8CZJJcGKxomJ+pYcnXip14p1WGuv1fxafXulTfKelawkleqOkgRbcrYMlokuStza6G0vQ7fMq4ayB5rSxYofu508j4bxl3RW8m0x6CsjpEdbyJvt/rp2gM8N22vXt0fnz/nFpO16yN+26n3gU53f9fBwevkZvwE2PNF/lcdd0T86AmcR6An4LCL9uiPwLUSAVfmlPz0+KbVkfSHD6ksv1jp4UnZyeVhcuytJ9viGMtxFtd3qL0lV/7Lq71bzy/qfI8XnartxI8nwkupecMv0cXL5q4sL773PyfWF54bFpYeir38T04RRP+sIdAQ6Ah2BjkBHoCPQEegIdAQ6Ah2BjkBHoCPQEegIdAQ6Ah2BjkBHoCPQEegIdAQ6Ah2BjkBHoCPQEegIdAQ6Ah2BjkBHoCPQEegIdAQ6Ah2BjkBHoCPQEegIdAQ6Ah2BjkBHoCPQEegIdAQ6Ah2BjkBHoCPQEegIdAQ6Ah2BjkBHoCPQEegIdAQ6Ah2BjkBHoCPQEegIdAQ6Ah2BjkBHoCPQEegIdAQ6Ah2BjkBHoCPQEegIdAQ6Ah2BjkBHoCPQEegIdAQ6Ah2BjkBHoCPQEegIdAQ6Ah2BjkBHoCPQEegIdAQ6Ah2BjkBHoCPQEegIdAQ6Ah2BjkBHoCPw5iLw/wCH3cvs3EDhsQAAAABJRU5ErkJggg==",alt:"",draggable:!1}),(0,$Z.jsx)("p",{className:"univer-w-60 univer-break-words univer-text-sm univer-text-gray-400",children:s.t("permission.dialog.listEmpty")})]}),x&&(0,$Z.jsx)("div",{className:"univer-mt-auto univer-py-5",children:(0,$Z.jsxs)(O7,{className:"univer-w-full",variant:"primary",onClick:()=>{let e={header:{title:`${s.t("permission.panel.title")}`},children:{label:"UNIVER_SHEET_PERMISSION_PANEL",showDetail:!0},width:330};h.open(e)},children:[(0,$Z.jsx)("div",{children:"+ "}),s.t("permission.button.addNewPermission")]})})]})}const Lje=({showDetail:e,fromSheetBar:t,rule:r,oldRule:n})=>{var i;let a=iK(dg),o=iK(rSe);if(!iK(tPe).getVisible())return null;let s=W_e(a);if(!s)return null;let{worksheet:l}=s,u=(null==(i=o.getCurrentSelections())?void 0:i.map(e=>e.range)).reduce((e,t)=>e+Dme(l.getName(),t),"");return e?(0,$Z.jsx)(Mje,{fromSheetBar:t,rule:r,oldRule:n},t?"sheet-bar":"normal"):(0,$Z.jsx)(Oje,{},u)},kje=({loading:e,children:t})=>(0,$Z.jsxs)("div",{className:"univer-relative univer-size-full",children:[e&&(0,$Z.jsx)("div",{className:"univer-absolute -univer-bottom-0.5 -univer-left-0.5 -univer-right-0.5 -univer-top-0.5 univer-z-10 univer-flex univer-items-center univer-justify-center univer-bg-white univer-backdrop-blur dark:!univer-bg-black",children:(0,$Z.jsx)("div",{className:"univer-size-10 univer-animate-spin univer-rounded-full univer-border-4 univer-border-solid univer-border-gray-100 univer-border-t-primary-500"})}),(0,$Z.jsx)("div",{className:e?"univer-pointer-events-none univer-blur-sm":"",children:t})]}),Pje=()=>{let e=iK(Cg),t=iK(dg),r=iK(vf),n=iK(kTe),i=iK(Jte),a=iK(Eg),o=t.getCurrentUnitForType(Pi.UNIVER_SHEET),s=o.getActiveSheet();if(!s)throw Error("No active sheet found");let[l,u]=(0,_q.useState)([]),c=iK(Vc),[d,h]=(0,_q.useState)(()=>!!n.getRule(o.getUnitId(),s.getSheetId())),[m,f]=(0,_q.useState)(()=>Object.keys(Zke).reduce((t,r)=>(t[r]={text:e.t(`permission.panel.${Zke[Number(r)]}`),allowed:!0},t),{}));return(0,_q.useEffect)(()=>{(async()=>{let e=o.getUnitId();u(await r.listCollaborators({objectID:e,unitID:e}))})()},[]),(0,_q.useEffect)(()=>{(async()=>{let t=o.getUnitId(),i=n.getRule(t,s.getSheetId());i&&(h(!0),f((await r.list({unitID:o.getUnitId(),objectIDs:[i.permissionId],actions:Kke}))[0].strategies.reduce((t,r)=>(Zke[r.action]&&(t[r.action]={text:e.t(`permission.panel.${Zke[r.action]}`),allowed:r.role!==Ui.Owner}),t),{})),setTimeout(()=>{h(!1)},100))})()},[]),(0,$Z.jsx)(kje,{loading:d,children:(0,$Z.jsxs)("div",{className:x7("univer-flex univer-flex-col",H7),children:[Object.keys(m).map(e=>{let t=m[e],{text:r,allowed:n}=t;return(0,$Z.jsxs)("div",{className:"univer-my-1.5 univer-flex univer-h-5 univer-items-center univer-justify-between univer-leading-5",children:[(0,$Z.jsx)("div",{children:r}),(0,$Z.jsx)(E5,{defaultChecked:n,onChange:()=>{f({...m,[e]:{...t,allowed:!n}})}})]},r)}),(0,$Z.jsxs)("div",{className:x7("univer-flex univer-h-9 univer-items-center univer-justify-end univer-gap-2 univer-pt-2",H7),children:[(0,$Z.jsx)(O7,{onClick:()=>{i.close(Qke)},children:e.t("permission.button.cancel")}),(0,$Z.jsx)(O7,{variant:"primary",onClick:()=>{(async()=>{let e=t.getCurrentUnitForType(Pi.UNIVER_SHEET),i=null==e?void 0:e.getActiveSheet();if(!i)throw Error("No active sheet found");let o=e.getUnitId(),s=i.getSheetId(),u=n.getRule(o,s),d=Object.keys(m).map(e=>({action:Number(e),role:m[e].allowed?Ui.Editor:Ui.Owner})),h=null==u?void 0:u.permissionId;h?r.update({objectType:Bi.Worksheet,objectID:h,unitID:o,strategies:d,share:void 0,name:"",scope:{read:Vi.AllCollaborator,edit:Vi.AllCollaborator},collaborators:void 0}).then(()=>{jTe().forEach(e=>{let t=new e(o,s),r=t.subType,n=d.find(e=>e.action===r);n&&a.updatePermissionPoint(t.id,n.role===Ui.Editor)})}):(h=await r.create({objectType:Bi.Worksheet,worksheetObject:{unitID:o,collaborators:l,name:"",strategies:d,scope:{read:Vi.AllCollaborator,edit:Vi.AllCollaborator}}}),c.executeCommand(qTe.id,{rule:{permissionId:h,unitId:o,subUnitId:s}}))})(),i.close(Qke)},children:e.t("permission.button.confirm")})]})]})})},Dje=()=>{var e;let[t,r]=(0,_q.useState)(""),n=iK(Cg),i=iK(Jte),a=iK(rPe),o=aK(a.userList$,a.userList),s=null==(e=null==o?void 0:o.filter(e=>{var r;return(null==(r=e.subject)?void 0:r.name.toLocaleLowerCase().includes(t.toLocaleLowerCase()))&&e.role===Ui.Editor}))?[]:e,[l,u]=(0,_q.useState)(a.selectUserList);return(0,$Z.jsxs)("div",{children:[(0,$Z.jsx)("div",{children:(0,$Z.jsx)(Z9,{className:"univer-w-full",placeholder:n.t("permission.dialog.search"),value:t,onChange:e=>r(e)})}),(0,$Z.jsx)("div",{className:x7("univer-h-60 univer-overflow-y-auto",U7),children:(null==s?void 0:s.length)>0?null==s?void 0:s.map(e=>{var t,r,n;return(0,$Z.jsxs)("div",{className:"univer-my-2 univer-flex univer-items-center univer-rounded-md hover:univer-bg-gray-50",onClick:()=>(e=>{if(-1===(null==l?void 0:l.findIndex(t=>{var r,n;return(null==(r=t.subject)?void 0:r.userID)===(null==(n=e.subject)?void 0:n.userID)}))){let t={...e};u([...l,t])}else u(l.filter(t=>{var r,n;return(null==(r=t.subject)?void 0:r.userID)!==(null==(n=e.subject)?void 0:n.userID)}))})(e),children:[(0,$Z.jsx)(N7,{src:null==(r=e.subject)?void 0:r.avatar,size:24}),(0,$Z.jsx)("div",{className:"univer-ml-1.5 univer-flex-1",children:null==(n=e.subject)?void 0:n.name}),-1!==(null==l?void 0:l.findIndex(t=>{var r,n;return(null==(r=t.subject)?void 0:r.userID)===(null==(n=e.subject)?void 0:n.userID)}))&&(0,$Z.jsx)("div",{children:(0,$Z.jsx)(XZ,{})})]},null==(t=e.subject)?void 0:t.userID)}):(0,$Z.jsxs)("div",{className:"univer-flex univer-h-full univer-flex-col univer-items-center",children:[(0,$Z.jsx)("img",{className:"univer-w-full",src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAADwCAYAAADYdbe6AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAB4KADAAQAAAABAAAA8AAAAAAt6wVXAABAAElEQVR4Aey9C5Rm11Xfee/3rEd3V78lWS2p5Qe2sAHxCGYWMMgrK8AAs0LWjDyTNcPDY7CHYTC2CWBw1rg8E3Bggh1kHMbMsGRWEmaWPQ8SB3AIGQsmLCDgxBjLOLZBJautV7f6UV2P73Xvnd9/n7u/OnW7qtVSV1VXS+dI9Z1z9tl7n332/fr87z733PNlWUrJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQPJA8kDyQMbHsg3iqmUPHDze+Dff766r5Vlf7MosvuyPDtdZdlhfckrCjkFz32kTvO6tyv3JB79oTNrodyT87oOr8e5+F2X564vo4+oG8wNdbUriV/tddVo+nA+lcXjNsX6VXa+KU+tT3JKppePK+SglbW82zI1pKEjaEJX3RnN01STrL5VuxpEn/ZPveSvJUGSjYHy2QtZ9vi5kK8Osmw8CbbDu0TzEjp+r8yz3/jZN+WfDJLpM3ng5vBA/VW/OYxNViYPbOcBAS9f5nfxd5/Aw5N/wZ3kQGDtNPokH4OhZKb8kSLxChy8zYHDaE6E30HF8ykSSlekXCKxvmmTGqaVoE+iSurTu3KgEl1jNiCu2yWu5DbauFWvaW6z6lOf1H1OeWm0cq3MdDkNue2S6YwaTQ4dbpOanGeau97ahtE4yz5/Jss+98Usm3DjMx20hOGZjkt1kvSQHoL+az/7Q/mHrJY+kgf2uQfifxP73NRkXvLAlR545JHq8OUyexcz8FvVqolZoDHNjbhZTu36KwmhDGDqZv1j0EQuWYGZt7uuzVpCraknrsflWFb9WISpQiNJxvvzXCxeVu5JvEpO87rTprrEw99W7VfwRjqn8g07m7aYXjpw0+KbCumPk9sqmtsT65Ps+ctZ9gefyrKVNXhqYbN/i7JIzTau3YfaRfbuxR/Kl2qRlCUP7EsP+Pd7XxqXjEoeuJoHBL5rVfZxJvB7Yz4HghgYNk32NfOULxIWn9H5sLLnzhMJWbvWTD0hq39Qsbw3KZ+CT/NfnfdR6/Z+JaOyJwcqr3semeSkKWCLoHa3y/KoHxcw22j07tzWuH9XEuuT8pjH2+J+XW6ay6Zazsfq+SNPZNkffzrojG2Iy5tspuL9O4/aoS21utnrFt+QQNj9lfL95wH/97b/LEsWJQ88iwc+80j1cVjui9kEALY0S0FlJZ/crWyUGpT49mvS1p8i3k0TOHy2rCueWkZ64+VtkdWmf0Tqw6JaEUmi6SPWaaSa1gQNq8sWiUU8sXxMly61NfWIrjTlDdWp3rq6SdZoPhBncLm6j7gvNWl80/FG9tZiG5n0KklAqVl3Gu1LgO+ffMa47ENjsD5q/SK6mmkbtKnpaqz117Slbit73U8lEJbrUtqHHvDv8z40LZmUPLC9Bz7/WPWuoswWncPn3mbebFc95vH27XAh5nfeprzLxrziUaqBYFPZ+Zt6jKmWsWXcmtF0OLMzRXmsz8lTGnICz1if8yjfEsigW5/GECrTumgkB3jRTTe5gbQaG6kpa831eKRHaXU9yz72R6GsT9e/QXl+Jfr+5Ki0SPji89OQpJIHds8Dnd1TnTQnD+yOB1h6Ps1G2EVFrTZ/a4ZXaoBNPbeHprrNKnw4IDkAOF35pmgP3VIvfqVNbYG06TMGuyaItNGhiM50SWlkoOSU3B7PnR4a7XP64bZ4LnWu1tR5pe7HgdKqfLjujspTrYHu4xXZxuF5xOg2Gs/0Q4UwtIg1EJuf9CtbxPeHf55lHc1GLhS1TWmRvNvkJOlRknhcpnpvN7P9AYuUU0oe2Fce8O/qvjIqGZM8cDUP/OWXqgcBj+8Xj32B9eETtxPrmVig50kkA6GYt250kqsycIE4pbseEeqyMl+GNUCo20xHLWgkCEZTXy4f8YocJxO1j5oqYZIBbShuRIi0iT4dV81bZzV34LFK1KBi3I3avdnpzrOJrsaaoEw+0IY1JTVtAvqa5h3FwOm6zzydZf/+c8FG97vrtzF759JFB9LvNzLmf+quC5Ypj5VVz7KLWS+7+21/K09RsJyS0r7xQIqA982lSIZcqweYpO+zZ7bRBqhc0bAmZmhq6/HN7tbfbpv0hQxXSTbx064JvpmuVd7BwnVcTefV+vD+PI95XafTnq3Ppo6r1b0t7iMey9XKAsLBMABjU4/ZyDXZLv3VGa5VO2oVmpKmoFpfE9OrBtW9sZmr/cp0mBeMtUt+8cqmREkeuHEeqKeoG2dA6jl54Ll44JEnOGgjz057hDTNUaKJvs1EPtcPYCy9TTCI+/I2p6nepLmOODdA0cRP8rLnoklHnHRD4El8SsrtJoLc+/S62l0m1uV9uA61ebvrkGxMV11pu3bX6Tyuz4TqD6d57jJeV64hzs0AwqM6OoXgdk4j4shn1h8feuVoxPOEjgBY7bU/1G6uso8r7TfdGr/4Ih/GOrx/6cLGHyVbVDml5IH94oEEwPvlSiQ7rskDTOb3akK3FAGb1aFrInfwqrmmIOX1OHcQeS60WMbLnsd6tio737Pl1yLb5HGd29G3at+KFstv1b4VTTLye48HrjqpylJ9nQSE02umBr9+FM8vBxnj9w+118DrpC3zrfic5vmG4OEHf6e69w3fmk7L2nBJKt1oDyQAvtFXIPX/nDzARH7YI8UYCDwKskhqG43id744OtqG/TmTXb8LNutOv5Y8lo3LklVdf/7ctdne1O/tzdz5nO515VvR4va4HPPK/3ZyFQzua7VvSgLXmqbdz9d8zaTEZZ8NoKW/wZNPsvugfpK/lJIH9oUHEgDvi8uQjLhWDzCvnhavJvV4jvVJ3uhqIDVB1usODF4P3Buf0uFtcXmDY+tSLCMOr2/NvTXV+4tl47LrjWlxeSut3t7MndfpXncbVI/L3t7MXd55VVfZ655P9Ukvf+ITWAuAxePJ5U1vRBegXqHLaQhrQYSqJckq6vZNWkbMs9OhNX0mD+wPDyQA3h/XIVlxjR7QpBpPshKzHbHMvjZhU/f8aiqvxhO3xWXpiwFgO/1NmavJNfU1ZZvt2/W5k/TYBi9fix3O63lsk8t7m+fCVy1bK/frGsvtcHlhh/UldckD1+WBBMDX5b4kvNcemCiyaXSqyX0vZm9168DRMOFZq9vJbUd3hc/W7ny7nT9XOxxw7dLUyCoddq0iY7V7ndOqzK9TGYRMRB9SEKea5uRNdllnG8yuz9G93fzibLCmUvLADfFAAuAb4vbU6fV4wCdyTbDTH0y4HoVJdsc94MDoS8B+zZod6fUjB0oD3ZpBWCq6kmRjLI7pam/WTUYfpFpFKMcVo6SP5IEb64EEwDfW/6n35+EBTbgOvD75upp4onZayvfWA7omDrh+fZTrz6+bLBKPvatNbjJG5AM+S1tdTNHiJN4mn/PEbdBagH1KyQP7yQMJgPfT1Ui2XJMHfHKPmUVLaX95oHlNBL7NHezxBizxq118nhzA42ve1CteB3DDXPTEctauj7QELS+ktI88kAB4H12MZMpz94BPzMJfD5yeu5YksZMe0DXx69LU6xGwg6hOLNO1i5Oe1ard3x1utjuvB7iqi0f4qny7vh2UYUkpeWBfeCAB8L64DMmIa/VApehIM289+1rkY7NuTbtWRYlv1zwQA2YMhn6t1G6Xj8Kmd4BFrFMs5zTlTleu5Dq3A9f6a5JuzoK70uc+80AC4H12QW6EOYvve+Sw9Xv49IAfMB/cCBuerc93/tKFu8q889eevlB+xa3HWjYR+6xqryEx0243CT+b7tS+wx4AHB1kDSBRH2HrRiN0+wWkuBFBu46uwE1znfA6CKsTsQU0D4wua3Q11boNsON+Anv6TB64oR5IAHxD3X9jOl/84Pqdw/H6V7az/h1VXi0MWRds8fCtWl+t3vmBlZzqU61OazmbVI9WRfXYz771wFM3xlIO78XW0aj4JibZO7XEmGd5Fe+slV2aVzXBip7S/vGAR6myaHpp7GJtAKeWoC3VdJWnvJQj8pbRrvdhQB8LmtKND9Ojj5SSB/aRB/zrv49MSqbslgd+4v0Xv66Tdb5xNC56WdXJq6wAtFraGmNdQlDS54lyUp6g/tK8m+U/9cDlQavVfqxqF58vWuPHfu7NRy8Z5y59LD74yMzaypHXdKrOa0bj8S15q1VVwG5ekecZ/5OwsjmfOv2Khl2yM6nd2gO+IqEv0vQ0qppVgOnXSe3+G8AqK1mbPsRHLn61eWQ7vbZq17Ni37AF75RfAi5DPu0zfM2tLX0kD+wHDyQA3g9XYZdtWHygOjSqVr6d6PFOJiP9V7byVq6yTXjqvyS0VB0mgLeewgIdUrcqy5eCfi/r8MOq7/yl5bPtPP9ikY2+8DM/fOyxnTL/nR945o5q0nv5aCUDfNu9PC8Jd1uTil052GT2hRm3HRkYep+OY6eMSXqetwcMLAWIfIumqxLUBYT6E4jqeukvfgY8BVno/gU0mupOqOW8Ov0ZSgjSN6VT9jSliSGl5IF95IEEwPvoYuyGKUSvJwb5yv2tPO8zERU2S6kjIkl9EkHkTGLga8hFZLKzqUp05wsimuAgFtmxqpUdrcr+V7/j/Zf1zPhsu2o/xomCZ45ms2ff8pacX4Z99vTAA1X/6f7wVF5Up8bF5NVVmfcVjOsmgHuEMHdjCUZqWVy2QIvvDjb34RPtZmqq7bkHuBDxtYjB023xdt/xPKXrelPRn3iUK/nrSyoLlJs6fce087t+r3su+ZSSB/aLBxIA75crsQt2/N0PDO8py/G3MlsxX1VFTlI3VrVpLKtabVveBfKmcx4zXJjeiHi1aKe5zOazguU+IhbwN8vtTANkiE276LutysuX8FOwr30yW81+6oHVQSsvz4HswzJrDwFTfnROk2l5KOOn6vJ2dQi8PwTvoQwhehPm0kmwUb1XLDcrApac6maJdNCRiEJnn4gtr/nIUrrRHuAC2TWzqxeuk0wSzfPwTbS2t3ItNz3SqNlYlOGgjvrwjIIvna82t5yBdqeZ4vojXml2VsR1V7cU86Vy8sCN9kAC4Bt9BXap/7/7vsv3TIrRX+cn6osKXAvn4IYpsMraYGah53NElsLlrNSEqPBSNC8bUDODtesjhEK0oqkMpGTmy0FSaZR+PlgpDrMlz5a7RdW+TVBN5A2cFzYPojcvFVVbzVDX5k/Zo+AcXXkb7rJqY0eRk5emmw7Vt+iAuuva8BwUEev5foOeSjfEAw60rFpY5GpGcIH0vVIK35m6nmf/7OWn8iVr2IGP099fzRzrZcUnfiUf74C6pCJ5YFc9kAB4V917Y5T/9D9a+cpJkX8TvTMFsurMxAdg2vQXlpUBO9UBQ2GXlpXFyjIfoFcHFXD7hFmiw8DaAZpNUUS48ApYWwLHXBFKUdKXdApbWwF0oUX90gxDafuY6dN0EOkShCNKU0tzNgoKVqWFqQHs2+C69Ie6pOuwyHhr8KUXBFLabx7QF8xtqgv60um7pXyn0/xqdnKlyPQFeWSndSd9yQM77YEEwDvt0Rus753sdC6K6uuY3ogetYyrp2OgrR6iWeJhqgFkq5yAyvb6EWAnvqIkECaWDZFLAGWJiD8AIhBYtYDCUlunTb/KamMuRYeBPIBqyE6d1WL0BXpLNwFGC/pLRdwk2SMwNuCHgk0dIbJWmoPNQK4tQcsObhakzzqUtMqe4rLTdivXgJXiPkWL62rfik/03U5uy7PlssN5vKy8OQ7RtktNecnanRQCuqHSJRKPvonmNuVb+Go7/c+FXsxmMyxbrz8XmcSbPHCjPJAA+EZ5fhf6fccvrn4t8ebXhOmPsFQTHTMhkx3PeslLRZuCRD33ZUJsE4MqNBZM5i1bhhboaSVZdOVBxnYj29wJMubQC9FVZhiF+BROKwXgFDijDhyuJ3Jk1b84DLu1qQr9RMPWj2yAGdCVraCsQBzdgDRwr5sDNWsshu1mSZjEpbHuwyZ11ZU0Pk/e7vWr5ZK7Gr+3i8f7iGnS7fU4d3qz71iP2rzuecwvWpxcv2jNcsynclOf15U39XrddXouPV5W7vXpvV0gTf3iffilUG7Xna+KyqajMaZaxfPLFrmT+yueG+dh6eT5KUlSyQN754EEwHvn613r6Uce+Hx/rnXra1kSfgVzW6nlWgGWrdtqMY4tU7SRM+npB3WhiUw0G0BYEeyENeBOm6Vk1u+05ssyM+W83S6kplKuZ7AkPZslFhULC9EsQ9NuAGkDpGMtFTO5ajk7dGYN9E8N3NVDYfZmwYV+0Nz6sSVrbe3K6Ydla0r2LFi4rveVecKsDomiheLsBNMMTvJJ3kEjUDfoXlcume34t9LX5Pf6Vrq8zXPvV3X9xSm2NW7bzrYmf8wXy8s1atOfuanuNObxNucTi7eL5nXRVPc2rzstzqegWo/TZaTL+UzxFvUZb9iJfDEvO3+7usSKzMpOqEs6kgd22wMJgHfbw7usf/ED1YGVyeW/no+rYwAiASPYxlYmXuIxkGxr15O2QYGv7TbAB+aqDTg0EHbzwDYWgdk6pUhYwAsjIrZMbKvDBKlsqqo6CnfoZUId1UJDYbHR/DmxZAW1kwnzL4GyNlAZpyZ0ba4iIyC3MAWYV/StB8Usgcsq7IICDjOdUxeJX2zXm79gv8B7E5x5zXPJe1m5AMBpTve6g0PME7iDDqc7v7cpj2W9H88dCGP+uBzbIbrLOT2Wb7Y1+3W9TVu97rnzKXea9+d152nWnR7zq+x1b/dcdLl904WivtW4dvrc00//7/kNO7XNx5/y5IFr9UAC4Gv11D7k+/EPrNw6mqzfx/u3fRaGJwIxOy2KGTCswhH5Yjf4lwOcYyZAbYIiltTzV0CYVWIFu/xv0bByRbRQLbLVJNoqgUMSiG2xrYpCVZ4YUwJqw1tByIVlbWbZvABdBZQtg3GWlQFi1pQ5/APQFnITXVPKO+gR6JoO8DX0H/To+bHVteELESG47h6wTY+EbYZvAoADh/LmZK8xeLsBRM2j+wmvi8eTeJv6vS2mx2W1q273KNjoOpp1t8P547pocV2ycfL+PPc2r0s2HrvK3r94Y91NWeloyqvuup3f81hXzON01+dtTnf5lCcPvNg9kAD4Jv0GvPP9q1/HGu2reBjLCLQxSuDJBGrPSgVYgq+QRK+BVou/RJqAIc0AYkvLxNp1HF7zYVEa8EWHdlkBmu1SoC3A5MgsbecKy8qGxrwSxI4oHWWpPvlP27iIigWQimr1ahHAzrNidKPAXl2qn+3KViGfzNbyuHFqos85mlDROknL2+G1KHLBSIiMicONnY8YHBiwAY8kla422cdygTvICqgcLGIQE4/osZzXY3mVY7BzHs+dd6tcPJ5i27ezQ7yu13PJiT9ui8uuV/wu47n4vF256Fsl5/E253MZz9Wua2L6vRLXvSymHUpf+6ZqTqp4BWlth1QmNckDu+qBBMC76t6dV/6Of3TxCHj5DZNycgTwCrEh+5uY+G0qswkx7DzWYq3talZurwgJFOECMAlQsS3XsRiAHuhsy7/EnNqTBUiXnP2cC2cFxuJVDhBqMRta/f6v8FXQC2CigrCWB8WwEqXyALeATTu/AG0tJKvfMNnWU7uUmx7ZiF694yuFZhdhNpKIGJ4EuUCzGw52j0Ezu+rcmGs+By0boxm0wUvV7VDRdGzSo7GiR3+evK9Yn7e7rNe9b5dV7jxXy53f+9oqdx7X4316LnqcVL/aTYV4435Ud93eFut2/U0ep8d9uV7TWX+4nJtpdbXtUFpZz26pVT2yQyqTmuSBXfVAAuBdde/OKX/TB6vukfHKl1Xj7NVo1cKkRafaK8XEp0hWS7wExSFSrSdFAa5Fp1oi1tNgRauaHBVlokQwU43teStKtFBMBKooWYBLm/GTZ8UEPO3wrBaY5TUnkUJCgyJjHhsbdKusBjRxA6ANW6bHeBWFo7u2Ua89Ta20dpcVqNtzY6w3sOfZNAwoNMOs81oyRP0mvfHhk38MHjHNQdJ1OJ80eNnbRFPZ5VWP01b83u5yqnt5q9z5BWBum2gOaN63ci9Ljyenqa6yJ/G4vrhfb1e+FT3WvZW899fsq6mL6zi1x82S2c4X23G9ZaLf7too63TH6RWk6/Vlkt87DyQA3jtfP6+eBLwHhyuv6Awuv4LfA+qhhGVicEc7o3QuIzMau5YLYlfTL4xTISzjqmBkRbB6i2fTCxo2QRLNAnY2P2oHtPNrAZslaAJZ7Y+ij45CT9sRbQoFpt6H6VEwi36VBaQAJ0X0AaLiVYJgUTlFLWnbjYE18OH6tAOb0FsgDQDp+XN4+ExfhX5AAiOkY1NS1UChpnq7T/QOGGqO22r2KU31mNfLyrdLri/m9X5jGW+PaXFZ7QI7JdcZl92Gpm7VneZlyTm/6/D+PXd6nMdtXvbc+baqq82TbPBkbqvrThYt1uG815sPLrAPgpPE6X/1enUl+eSBvfJAAuC98vRz7GcKvMO1lzF5dRW7MnEZnBqQQgSsBFT8EcJacMhcXOcAbosyQMc+aJ7NqntoJKFhAFqe14KDRRtwY+oH+KjTBhfPfm3GtO5MVmArkNQ7ugjZyVfSVkeo4iHoFYWCxOCtbal1hX6Rh1FAreXzCWDNvjFK0i9d9roUwlrCBnOlUyNFYcHthspa1dbmL/SYjTTFZaqeNNEriS+e9L3czAN34HW5OPf2mOY6RFPZ09S2mh7XncfzWIfTlMcyPgbvw+vO36THsrEul4tztbsNsZ5YztubesUTJ5OPr0dddtdIXpfN67HsdZXnswOtUVb2LmfX9EMg19VXEk4e2CEPJADeIUfuhBqB7sJweCcPQm9tDdaOT/QTuDXm8isIvNdjgBgmL65cyXs+9ntuvNur4ElxsDC6nNRRMoBWldocLZAOwMmWZMMvzYNtGAG4MTMigDhRZ3ZWM2dkaY5kTRtARrEDeB2gAcKKt4lM9dy2moQ5O5gmK5ALZ2NpCdqeCkuZTbuoxe58oihXfaMfUoj8pM9sJVKeKMq35WctPusVJLNeIE3kbwOC5FrV7BO6A4u11TzBwMDvdNEcTDx3DtfhPHEel12Xy8V152vqjnm8zXO1udx2uXiU1B4n6dhKj/PE/DGft8e5t28l4zTncTnRRTN67Xe1xXwR2b4NLrsT+biVzfG2WvWJj6YNWDvhz6RjbzyQAHhv/LxlL4uL1dzqidVDrWF1rOxkx/P1ywtiDAdeECgqSuSxq3C3NbYotsZAIkAtDetFHYWvAKF+2LwAj3luaKdMAVslZ00SNrMUzMQEiPL+L/pIPDYGkAE/dBeFol7J8RBXrSCrMunRzx5wDrR4BdQVD4vzNj+HFPoJG6iwQXJwCoGxyx4TK2LVOIStQZYbA23S0rHSvJBMv9r+he3SV/etmwQH5bCUzYYvBdUYREvQI+s1qTsQOA5BCqkmePsUFLw5BooGTdVNgBH1423e7vodeLzd684n+nbJeT13Pq97LrrrezZa3K6yy7q86jHdGOoPl/Vnzy4jeiyzVT3Wo7Kuh/FR8GtTmxPamgLXWe+W2RprN+kHGK7Tj0l8bz2QAHgP/P0mNoi85DXZ7LibHRysrix0u61ZFlSPrRTLXf0cX8kDVu041hGPhZCJpdkq7xA+avISQCnAE2J5mgjc6kQBfi3hikv0dqfDJ8u7LO2aHLoM/HKi1RYPc4ms8/bE5lf1oaR+0GNzJKvCegUJ5IUf20LfCl05RsPsE0B3FIrqSA8wHuy0vtQ/7CRbOobfcumHzJ8tKQP63DwoAsYWo2tRWjLYqYgde6XDdVE3fdaHwBje0Iu4Qqq7DQ02Cm8JucCgtmHa4LQpgYJongREuikxIKnp035gUjnmdznPXf92uevy3PlcPtbv5TgXX9y/l2M9zi9elT133kDZGEss623N3PWI1/Vc0U/D36YXRcYnhXV7U/fzrT/8ofzJ5yub5JIHbpQHEgDvgucFuPOvWj/Z65ZHiR6PlsXy3GVFfkSdbJtqDQk2CfwEInrdB0D0ZWKWdEFhHcUIEAFyITq1MFAASZqAtHptSBEnAGXv7Xr0qd9S0Cu7tT7abWe0zsSwQzCkW70G3FC/gV96VVZjsEeRM0vS9ky3nrVrOUCpAoOJZsMyNfyslEulnh27zQp90cFGrAlryB0dY8kCObYRLYvOKrn5Q/Yzh1s/wbYw/nAjQHQN3Aa9mq/VhpXWm2yeJhplfPgIoBCDhMoOEJ6L3XlUdrB1urzh4OsyMb/44tTkMW/WDC7nPCKrP6e7Hq9L1nk9d32eSybmU93lvc3zpg7ni+VFcz7PXV65J8noT75xPd62KdfXBj4l46dusoFksmLZ6ZOwavUpSx64KTyQAHiHLtOb3vSn3SNf++rbRqvDk63WKu/oMknpmapeoSHcZMLNJzyzVZSrXcdMYKJrkuI/fv/WaDz7bHWmdfHrApUWtfIeEDmgJr2kNgdPAoJEuywtmzwRqkWUvH9rU1+LoJkoNbQxX6pP64eZU5uYxD/h/SJpq3WHsgG8Jtmw7E2fZu8jo9lb7+qOntIYpEeAa2OSXdxb6AFvDbwam5aRucFQN21uHxgJz31lW20HvPTd6pRqZZnc6LRxGIduQgTq2KWNZuarMJ0TUxvdPmjXpO5AYC113elqU7mZXEZ0lWM+l3W5Zt11xXTXoTaXi/uQHxjHNKnc5IvrrnsqQMH1qc3bPZd+t8FpW8luRXO9avOyctfjudpVjschmieXtSvlF0iNkS5VdTn0HZau6z0LWq8fjVayA3/+6/kF6U4peeBm8kAC4Ou8Wu94z8Uj4/n2bQSsJ8YrQ9CT+aaYWGRb8MxUwEK8y7YilnOJ3bRDWMvFFqmyBbgYh6hRB0BqqZXHs6zHSgcTFDA2QV5bqYBUtjaxbIsuYe645MBHGPOxIlGWaClLEFDmLZ42B1BpGZk+C5Z1FQIHMMUAbZxi1zH9KuXIVnaKpezrFAJUsxlQ5fGvbZoqeLKmZ8wzq+Plj/7VzHefPDr5wjfcNfgz46u0jEyf4w5jVkdaptb4JuEmgz60mau0PqAzPv1QkvrEDv38ESvL8oneMmLZnTFiv/lAY9ANAu8e1adjIU/kb8vlMp5kQBGK07qDkQjmF4bh5bgeqIHHy1MQgRCDkNrjNuffir4Vn4NW3BaXXZ/TPJe93kdcFi0ei/j1F9NMsP5welOH83i715W7DU7bisd9HfNOy7VNDsgaigOvdNZDc/XPKx8MstvGVTbHfopLi4vh3JbnpSgJJQ/cAA8kAH6eTl98sJpZu7hyNzB2CyAHWCpC7fNjPfXyKfMXkWnW4Vlp3mUuA2GJ9ureFDkWLSI99hfxC0RVpyQ8tp/mZaK2eYmJrWp3+/ZsWDqrvD+mD8U5Fh3mpZZ06cPmsUCjkbYQ/erdYA66QCdgprd6wG6BqBC13e1UALD1x0u6wbaqk40BurZFu4wl0yYtZlDNmNgNMOe3H29f/O4j4w//+mf7P/mXf9n/ntOd8Ye++e7iz7RBKlO4TVKELhsn7HTuhA4DHQPUt8YCUGO2ZGSQfGFy4DlTd6uvvrJunxsAbMQeaAA0QJ9XAyzi6EvrIUzgWBdMhKiyPqYAoKoR1bC5HINJzBM4N4DM27YCrlhHU87rzyX3vmKZJs3rzb6d7rl0OI/nosXtqntq0iXjyds8j/X5jYXzKhefy9vrYnWjLkWzXjc9r8yi3xG7n7vZWgLf5+XCJHSDPeCIcIPNuLm6f9t7z92+vnz5rmEB8maK/MYEfhzRyKSlVWWLIok0292cAHWQdYhsieQMCgBNQQVxIruTa/4CHoCLh66KWrXMDODiEqEmz3mBZD0lBUFZ+pWn1KZ+PBdNp0rx64CAOcvWAB9Ap5sCgnA12tKvtl4RlWLrqACMOwJokHIMryw3Gwi/SejOxacI1MCRGAMOJUXVf/ue7D0P/n73pz53Z/cfLj3S+eSxQfGxl56oPvnKE8UT4hfutvmFCJSj26dtgSwjkW57Ti3dAmXo3APoLWdzkI2TQQPU3CgYg8qc14XLbHOWKbSP2iZl08iqppniq3xsWLU1U7O9WZfUtdK27uHq1BjkxNmsb9V3U6PzeO7tTV3PVX9Tn+v1/Ar9fk24wLa0QS6e600rrDr1eOt35mB27np1JfnkgRvhgQTAz8HrDzxQ9b9YrbyCleTD3PkDsO1Jm4hTy6sdAJWXdAw4dPRTh//0zLNHuZyM856OkmITEjuTDWda3cBbssRqFwFg4jxJAuKxeLQqa8me1VqgCwTzUhJr3Nam9y3sBCsVADuWnokuOqX6EzJYe7edd8BOPUeVMtZ72ccEQMOnMpNh1WfZl3OlwX/sYSe2zFO7dimD4Nhtz40ZVwdwBwTpJuO8vzd+8/jv/a+/e7BYPZl/Z3Gyc++XznWyP/1S9Vunj40+9s2nRv8umMWNRznIZ7ozHJvJknQ+zmVY0Q0RP62cHThTDtVWjhkbdunMS3zHsZi8ssTNATbxenPJj6zbuJi4bSw+ydtEbm3WrGHueXJbdrLjJsg169fT11a6tqI1+7DFkGsATumy6yIFlFWf0uzqBfqUp9nRNdRf/l9Vh8pxtsCt2dqfpx9fuAaPJZb96IEEwNd4VQS+j2drX847QzPMQVpQBpKICxXRFR2iNwEb041mKdbEJuMxwNcF1ABURIj8eDjK88wQxdm7rRyuDFazJAzqjQFBoE+/+GOPOAXwADiRL5eIvhQ9dsfEs52ugZKA0VBWh1Mq9TZfSidb5IqNsqejsFT6mLnalPktBk2nebtHpEk7IWfelV5SyZj0jFYRC+vkWlnmfA1+QLAHpurMDHh+4L7LP/Orvzu/srre+i9mThFDt/PvePjp/nd89sn+EwsHyt/6iuOT33zV8Zkn7cXirFO1J9wN9LBB6NwT2OI3xqsRtqoZxsZNBf6YJvi0oG57wiRjgszlPolD8ckd/xBti8CfRrWHKbZnD7vdk65GrKAMuBcbkus6HuCLpb846SuvFG4WQ1nXIgbYuBz76/nugp6bzQ6VRL/9A9njocf0mTxw83kgmu1uPuP3yuLFDz4+9/jltXuIdAk6u/xwkECVqb7sMvUAtBhikVrBU1SBiFZ/AQEiWRo0MUGfADzAdgFPu9UlyhtrZZgy+A0bOpRlxWhsZzNLp6oGOprgBMgCQ9qtgRaLgJkcDRABaaursU5MmBbVKnokGGdGpM+YxvIwk6HBlfZkcd+QlUOiVBI3D+oR3TbWgvsLxeH2dhRjs53cY4D9B79t5b0P/s785fNn2z9w8FXoOIGNa9ltZ59uvfFfP9174x8uVP/uxGz1L+69df33b5/Plsv1cd6lIx+HRmVjlW2j2l7ZAch3iJRlV5v7FllpGFyPTZkmdZ/oHQSi5lS8Dg+M8PsKDhcAKwlcueljT0Oox5/LoKj45vjuzzXAWXwC3BiAvRwDcazvWsqcevUU5l3gpwebX4trEU88yQP7wgM22e4LS/apEYsfrnorT+hXiIq+TPSoVmBX5V2iuABYbr7AZRxFv7Y+HEGH5MUb5LqA6JhfBeryGo/AJ+gS+KjufYlf/aE26/QE6SAUia3HLQGq+AhJmRrDXKR6ANpJu83zVvGqLrm4H9fjcuLbGNdWkIdEDY6uL8h2swd/Z+4HLw6zN8+/EhtnsU198quso7MUqHQPZpdnO9Xv3b4w+ejrbl/7RPCT/BlAN/hBNippfFoW79j0r3GKKt7X/yeH3jXfz/9T1ZU0mWuEElSfhw/AtwVIiDela/PAZSLLVZ2ojB9nAdVZLofAd7s0BKwvc6BMeDhCtIysgHgrgLWbJi6WrpWuWdXL7r7ntnyJYkrJAy86D6QI+CqX/MMfrtp//OTKy9l3y1qxwEC394RpeRfwDdM+ILFJAxubrF3Tjzbwhmkm8BSlADZMS0GO7dHoC3y2ZG26tBFKr/QU5UiRH0p66GSjUkdgLZCUDo5w5gZAvAAWjSNavB/eIGJjFTuhxxPl8LfaAmen84w39MSnomKL5Fu9bi8bwcYvAcNvy981nwA8xC3auKVXprS5qmv3Eh3aRvn3f9vog7/2sUPVM59q/bcztzNpv4T5m5c8Z08Bpev0ci47OMrz71oZd7/r888sPH7L7OSDLztcfOKeY+tfkincNDCeYGvwmU6Rru1thc1YNnYtjDNiTeAW9crFJNVT2hkPrPEd0E3MYW6krga83lufr53+tFTNTwJm6zrdjcZ53UdFyW+W/Fopry9fxLV98dX3V732QnayuJQ9/fBHckF+SskDN7UHwox9Uw9h94z//afO3dIe8iu47Z4tuQp8lVo8fNK+3Lzq6dloNR4LRHvczANUej7Krt5qAniqTjtQoo1EFc9d8xG8XYBOEWS7JR6WYy065dEvfFkXXcxeFNmMxfu+BvpD6YcPHu0WNlAOcuydIkBc4QGt8fNzwQKzHn2xX2ow4pkr4C1b6j6xLpxhNRrxUBmcB3w5JwNbMJnQRWWWq9lYxqu6JfJMokWJvnJo46nKXtbqYg82apm9TduE96yU3vCd67/8q/9iprpwpv1DFcuSM3fIFv5wTP82JmUtVT6Nvl72kieqzrufWOtkf/xE70+PzVf/7G+9cv2fy6+6jegyZvlL/qzot2Ls8rF6qbL58BoSM7cMmk7gqpuFEFO6Lg+cmA/i8TPda1E4w2zSA7gvXQaM+SLqpXhtTfDLohsmu0bk0+t2LYrhuf/+qv252ew0jylmhr1sGVIC4Gv0XWLbvx5Ii3XbXJsP8stEM4OZo62iW2SjYVkMeOmId410ogZACq1iZ65q7JSiDlgWI/iAw0m7GHFwhAJF2qBzroTxF4OqmIGXF5CMX7JFOeTYjBFgo2gW2RLdCu5yi/r0w0JsVeqySWpUSla7tUKveqrLAR3IA1klB2FwSmXQrz7FI3qwpWu2A3BgH09ysZ2NTQAsthWSZ/V7gG76YWy6UeAEkc7Y7B53gVza0V2o/3yIzcFGgueScyjNP5wcXWl8/823r//S4QPlB4a8GHL5MwF0LebXjAuCKjrWXrDRl4iMmUZHZf51T1xu/U//y5/O/faDDx/+H//ozPwrijY2YaN0W7+13+QXhb0W+VKRSk3u9uezPPWUrs8DAt7nCr7eoyLneVY+dDnqH+/yJqOF9Z/QPm24hsKnD2WneGttjvu5Z77wT3MBcErJAze9B9K0tc0l/PGfX7m1bJWH1dzu9DjcKkS0qhfFiOXdnt3EswIdbuZ5wwewqEJdsRt8yDAJVX2eHrPhaurrQOvxrGyU9ftEe6Zbj5iH9CV9TjM19iG661B5NBy1ev0DxM48Bxb48RoyUe80d8kg16dvPdQLqalLz+xkhwcV6kdjlm7CZN4MCmOP5VwXkthcYc8YezZ4f/W35n/44mrrv9d7vwLdHodzavK17dPyGH9jng+PL0Gjrc2zW09M/l86Nlf+0ssOl3/yNSfDErXaerjo9X/jwHtmZ/Pvdl7lppcRysHpGXDsmRtTfgZ4tGui7qffesq67nXd26v+sz8DfvX3VneyCfAo+xPWP/VP8v8gtSklD7wQPJAi4G2uYqts91rdHhGfolFe3Cl7her6684c4NCMXtlir5PAVOWq1YVmPzJAPcgEeR26QTs0lxeQTYh6Vfe81R2Y7qAv8LqekPewQVF16CPYMCwHen8JO7ozXc6/7PHIV/Vgt+qToqf3j41H8qEt2O7lYI9ehZI9PXL1QzRfj0n69UeEbjZIzmUDnf3g9D9gBSDUe+UP/s2VBw7Nle9XHL7+KEuSTzD3MgFr4rWJmLxzjGfEdwO+8Iwf4yZlJTRxAubtT6+23vNHX+r87v/2qQPv/78+N/86jXt13U470ePFTcnneKnejWQ2R4qb9ahpU3E7e7ajx8LXwhPze3k725zuepV7WbJx2XVdLd+OX3RdD3veGymY9t8UfJb3kF72PdVJbshO8Bhj8Mph9oVIZSomD9z0HvC566YfyE4P4McfuPgy6eSsWUsz9anxqvMqLgu0Wa4mI/Mh4BTNcn60R23OFxRs1iU++ymYWi8PVFsKUjvzPIJdBaDRYXLSI93zM/mAzmWH28QhFkSpw9aEXxaUGn7+Nzf5AvoAOhFxB5pytddDMbXSo346vKM8Ye1YRPUpmzkca1Mu29SHeLx/9T0ZD8xG1y1Z8fBbCpxypZOuqurXfvvgW5ZXW28RvQ3j7F0sb2rngTjjP6rj8/wRPbWO8lc/h4RsiUn4TK9d/dt//N9lt3/ZbflrZY3EZYDlFEQ7cpB+uK0UzZPxQHBQmMo4w1Vy0x21P1vdWb1/78votQ3OY89E64rZVivfJOPM5KIrNW0I1M30mEdlCcXjj2XkN9nyDLvWD7LKMMcjAsmYHbWc8yv3NqepPk1UFAHHycfjedyGsrvvuTtf2kSLKtp4NTyQLXz1Snb+Ix+xN/ai1v1RXHywOjxeX38V57u+tJ23T/KcRDsy+LdZDdhYeBGX/EVvbn5p8Q35xf1hcbJiv3jA/03vF3v2jR1vfc+F09qYK4M4kIkzKlR2qJmBFsCnDRAJGDnAwnzZ4fyKAFYzPOsMwBYGVcuggs1Wpks6JC9oDH3M8G8YvaBc4BlkQ8CvA5BN0Ktc+hWJui2Sc6fJxuF63urP6o0mXluiH7drw35xByj2ccV558BMXg21iXVAxLoBvNOh150JYPuzffoJ9oo8mQzNRpXVn/TK7n/y2wvfd3Ele5foeum3rdeUmOjb9V/O6rcDkPIR0fKEm5EWS9OtaGla8t/y1Vn2H70yy+69LctuPxQAQ3QlOUIArOeQONXS1DnUjMaH+lBSXcUr8ppHdEt1PaoGuYje5FXddUvO7TA+b2zQxWOgTGErWekRWLr9W9ZFJIlPSXrE73qng7XWjX60w/xJNk9pN/PxudAouVpNzR34p5W6ENukfs4BM7z5nmlTViwf8011bAHAnPE8d6mfFV94f863YH8mQHdmuLr+VexifBVvBNwF4MrVOJo9ghxqzrdQfmc3pu0ZtCY2+S8V+fj3/v4PHVkyQvp40XsgfGle9G640gF/539+cn5Ydo90O7O1j3iXxtIsvxGwXs3OznK61DptoEm2TrQ7W62vr/P7BWxeBiBdznlpyrqddSLLWZuTOGDCIs0uv9UgeenZ4F2HV1HobBSNqq+QeF3YgDuOVodrg9YMpownM5XTg17JSLcmBR8D00Nt58Y4JAtgR/2KP8jNmu1193UWxj2eaDzBXm93X0hXkM+yf/qvjt5/fjl776YZ2QXI9cqSALnDn8r8MkM2ISKesCzdvhVaHRELgL+M3dWeXsnBH19+Mstuq4H6GKAcTvbYABfntb7xohypizAFBCqqawp1muoixiDkF8Da1E5ymsqim+5poZZv6HFG45XgVZLzeC7WK8qu3/uNeJq83pWzarxSKL6zq+wU4HGAdkFz4xb8UQu4HstdWG2UYx9J3xd5tj9ga99hruOmgztq3unNQJCfRsAv/5Gq372c3ckO+yO8wXf2U/84f6Tuft9kb33fhcOz/Zmv4PbytawMMULuNPTCNLlFvUS/VglEtRmhqIFYPKQvLnTn//k73pxfgiGlF7EH9O8ppW088CZOwDo86h7mVKCqO56t8tn11hjwm81nywngIjqvWfC+Dv+6VvLWqLfGFBPCB9GDXFWN+VGGuAu1qa525ZPRWt7pzVFmDRB51UWfm0PXGjTy0WSNwDen/9mKwzimcmKRTeNxVYl/Tfwk9lATNYd+XLfGMO6u5z3eQKoOzJbj0Xo+oezt6rvXWcPuORuXVHXot3dozsayYae9XkKf65xqNVupT/lE45RuWdDBF7JncnGNunyylv36vzz6+vOXW++TfVdNNjqmLqY3zW+llqUBhfYtWXbfNwHAd24GIenS0ulLiZhf94osW6A7OTAGF1OpDxriNsnGdZUFEAbGalSiHoOMeOLk/RjNOtrM77yxnGT8W1GLBDZVzKCNPOZzHZv69A7ITa/qMLoa0er4zL44Rvd+AquNmbPGs6d1wwOEKAoWCHvy/lzW/aG6krfrZLLPP4kOaEe4ZkY3jmi89G1jkg1ZdvcP/Vp25tyj/KzgJLsF8O3Q/6XBueyvvvDb+TBEmsM72+XkTl4dmOHtuAXegxvwj+7SpBpemun0nlp88+wX6y52LVv84Pqdg8nomzkQ4E6GGBKD1VD4HU3t8dAb6uz/YBcGDC3+05HuOloWH+jNfouGLYeXw9VV/DNegfg3P/fmowmI3acvstz//bzIhn3tw7VIuD8/R1jbyogQMiYVpS6AN+ZkCauv1g20TemBLXxKBhaOQeY9YP7N1nzOYgBN+7i7lncFxJTn4VmVXivAWeuQjPSEZWjXIFlscTs2yLz+W9s5pQWdbqfUn79YVQfIBfBmX92H2+rjlkyPfjgN06bOvFonkBaQ59gdbjTEo67MN+Sie31I2//xe3P/5cWV1i+KNkUDLyu3GV6FKGkhsp71jn9lln3zN2bZS45H7XVRorMA8V08Q341YP1yNnlpSdW/5GaIeCk4gKgad2nlul1tSpJzHUbgw0Ha6547r0a9XR/ev2Sm/JSbfcQ6vew8Lud01ZW2ar9aW5AKdqisQzQuaKEERbqpOcSfJ+8zzr1NucZ8HtmzF4Ks+b5hkPvF+f/yieyet/9ytgBQtTgBbsJJa489/KH8ycUHH5kZrhz7Wt5U/zqcNGNopmervLDOL3sAbACajqnhe6GvBqeUf3Hcqj7P6+9P/8wPzz0m/debZMNg/eSr25PJl3EyzZ1cT3dlUF1/J0VnXFp6ZgU62MZGQhu5wmElscKnY3NMB/whL6tlXuT/g5/90aOfNsb08aLygP/zeFEN+rkOln9d+Rt//tyB+WJmplcDyoADsXjK0xqOqqrfW8WPGw8rxaN2zo4AmLJqpsemrJrf+5bcwVpkJCAnue5QJxRBp/M5j/i47y6lU+U4OY/0qBxsIyqt626X7Fb58spKdvDAgczlpCvmVV1t6k9j6fc2dKnNk8uIR7waV6xTNO9T9Ac/duD1q+vZzzAJLbiOq+YCBJ/6WH6+/e4s++APAK5sFmomnj0b8ImuZ5CneJFM+c2aNOwrLvR1DMbdKBXb6dUy9EW2Cei58EluzNhUt2WKbVNZx1fqFC2+VtkhnlAIbLdKTte3/mOfzF77y/8335tO9vgdd2VPPLSYT975gWfuYNvgt4FVhwSyALOwzZKOiFNBEaRybot5zYDH/kAxOyOIKtVtxakx1Rm+c1+YLbOnf/otB8+K91qSfnTlqfb6SX4q82va7fwU//RnLbJFqQBUyuPc+qPfpm7xOU2H0WgMkjNaXfcxiQbPw525sw8tvuHueK+kq0j5C9QDV3xxXqDj3JFh6WjKz5zNZp9avmRTf4tf4OWwKfuHdohnj4Mh00Zfm6TK8vKlViummQEspY4EYjPIUB70g6zaFoCi4SDPl6G7nOjS53r7yKk8Xm+3tdDlbUgjfym7fLHV6s7yRjB2SdblPBfNzhDC1v7MoerSpUtT/f2ZhWo4uGTfhwWMGQ6WN3033C6pkL7RkHFgv2wwtdh94mSwz/vfileyov/GQwuvefJ89lFqVwdhhQ7xlHQqy37y+7Lse76BSSuawaRVlmgT1naAoX7VeTywZl08Sk2665/m8EiP+PQRvKBKSC7vudM9n+rZQlY8sdx2Zdd1Lbn6U5Kdrq8mTf3RrOu3pLUM7fwC5FUA1n+UQUvVppOPFSLnVf74kYRszPVSP/rTcqwuoZa3pU+69GtKviQOy/QZsHT99AdW7iXQ/RaVN29g8iXcEG2i28BQfM2ktd3Qq9CYpau8GgDS5/i+PM2yMFsMW3Z0tb/5zgnpxPnVCWw6jp9OxvroRyYL1S16Va563QdGhfZAC+CsNxzQxb2CyVl0rLItTVNQlOz8sV5Elnnb6v9cfMsx/jWl9GLwgH2ZXgwD3ckx3n//h9t3ff1/PLNc9Do8dszWBvwzUjp6lDU4Fc5nc/wCoeizsyWbszTdHM1mZ89VFzn0se/8tcxw7UI+B5BxRFYp+dnZo8icz4foEIv4VY5z51H7cOYobRl9Zei/YNPikewIdmlykC1HTc/a4LzZ6bokq2T1uSNVdt6M36DRr4/DiPUHO61z1PP/kewC/4UkT3g52Cx/aGz9AbqDY4xV9kjuN/7lwdecvdz5TRq3BmFZy6QdHzr4rd+VXXrzf54t2A5ozaAkecmuAPzHiHjl7SlN5cBWz6QSCDSpV1J7XDZi9GG6ayXOW1eNS+3hStV20Gh8Ulozxvyu2vu0zk0g6HF9WuY2vbUe1+H21CKmLm5zW6bytRmuVwLNsttpyhr8PgxFt8v1vmSXFwgrQFafAugjRL7aBb1OFK1IejpGKa7Hs8CzfV0j6eCol7u/un4N6SceuPT1PDv9emls5UV97nkbvTqYVQerg2wGhOH3raVSfMrVtydsMdCTbfgAOVlY8LOW6OKsWOnwm4eSc2M39G7wikf6BKTqO0S6waZOh6Ptpnr4nU5ekXd+t1Nyoe9gVbA72OU8oUVnv/JL4mZrbUvW//9+7i29Pwvt6fOF7AH7kr2QB7ibY1vkNwuydy/1ns7mO3PzJ/iH/JR1t7aq6WUjeVtMv7xyorqF55RPPfVUdguFZb2Tm51tOW+W3ZKtrZ7N5+Y1jaqd05Oz2/hnejYTzXWFdm4CrM8TtD0FvxLKSa5jbfUWdD1VLa/eUh2afyoX/0ZfTKzQ11eeyg8eaOWDtTyfmdMSdVl1W+2WyqaMD2+TrHRPshOsHp5tiVfj8P68/+ATp5+oNF4l8Sr9ym+Ov2J5pfsxigGE1ZN7T2Umff0UohLz6hc/9dH89zkv+r+eYU7VpC/LtFyq8gHWJU5yH6DJzCyG5qokb4No6q8ZxC8dnrzo7N4+rYuRiuoGJuSS2dRO/YoEg/oxcPRG74y66/Am5VGz6Zct/g1Tf0qb5Oo+xKd29ad26zNmpLyVLumzZMKUPKfIxkF+VRNwVTRLrshWev13gsX6NPdxAmD9sIdWI9S/ckXHslt1ydZ2WQT8U+9f/kYw76us320+FHUih7RS2HXsUTL/FNU1OnkHgbLyUA+Rs8oxj+q2tI1dMR396NG6tjZJBT2iYavpDVGt+gg06fEU6xEtRMnSfyW/eENUrHFsLG1LTrp52P2p9/zI3B+ontIL1wP1l/mFO8C9GNni4mIr+/J3dZ55Mssvn9cEsZQdOdTJLyxPbFLIstOYsZSdvut0tvTokpl08OjpqjM50xJPgvHDvAAAQABJREFU4D1V86r9NLwcan/hDLpOZReWl2qeDd4jh0Jblp2h/RTtZ/LV5XY+f+m2Krsj0IKODDuWKvXtSTaoz0nnlMUNw/NPtEfZkLLzLGWy7/L5pfzIodPIZ6bfxyNdsm3hyKlq6VGinktn8gsLm+3XeFcvdfJTdzBJ0w+7shnrEmMMY3NbLl3I8l/96Pgrl5cNhIlfG6negMUkdfHY4eE3fPzX+u+k/D382QTOZJUtEXHpl3j0ysvtAPBth5jso81XrlG8SpJV8rrINWkKWCqILsC4GlhKj1KtelrZ1Ac6vC/vRx3GtKkNNd34nJlG6Yvt8LqB/1Q46LS+a5pUqOjjcbs2G0w7jLLHuxSf1et82iAeaLJFSWX+t1STDICn/XhbLedjlpDkzg+zV/7mv1o9DebcLVZFmg6Atahl/uxXlZJwl/vCKUj682C1CdgC+PJlsMVvUaUXIDZQjUcuno2kduwzsA38DM9WsQMYi9N51L+S2aItz+yENkJNY/ymS89/NR6lrfqXvHh93MHmemx5dq6cO/A7P//GnDe0U3ohemDzN/CFOMI9GBMAXC6+Ph+9/y358DQ3/qez05MzyyxQ33Y6/D3+Ccsf/0N+COi2Z4rV7HQ5/PQnyjPLp4y++tlTk95tGXSOW8zWSpWzRz9D+3JxZvkzRe/xZ8iXC+ldMBl4509NVuc5zOqzT3GgVWa8L/ny2yZnFj5jbdhRPv6HnyhWP6sDr9ZKdlGXj4+y4uFHM/SfNn3DflY+ef4zFcvBE+k+ePQLlfruPX66UJvkJN97PCsWTp0qTn/56VJtGTqwYyx9ZvOrTiGvfjbsl81HVp8yPxy7NasWljOzX7qQn0hW9kEfv/1bup841Mv+Gpdqib/NaTrRl3/vdX/jLx/RThslTeT1o7TsJTz31WYhTfqKhv8DW24eeSZEaxL3PxOsZZtAEPMIGFT3XHIGKCJESTqmemIF8Jh9tRLnkbj0iKyPqToKpr+WE93UxTzQpjw1H9lG/1YJOmN51zPtDILbIxEl8UhGf5YoGA+5A62YXE5R7zku9jm9byZ6yEKZytTOWkbtljZ1Ekif+OT6d/JM9A5e5ZkQ4NqvXbKkK4gdU4HGT16zRgs3513oN0UUgLNhmqLorATzClDF73YEWbAOHn7CJOdHv5Bn7Zg/tSNHWW38nInxlPx8iev0dgYJTX/wcwq6+pFdWuQWr3QZPNIum8wW+sFgbgHFA91ttlz91XabHRzdjmbZIN28kE9N9mmcWiGnzcZpH0daayvfsfiBamOHZ3Bb+nyBeGD6b+4FMp59NowqX1zM8ocfzvJXv9rmqal9W9HU2KQ/zA+fvprz+JyOvur++8MttXSK7kpVf+ihh1of//h9xbvfHeje7rxux0PZQ60TD5+1uVH6peNd78oqyXkeZD9Cy/2Zyzkt2OS2fQQb7s8+8pGslG3idTtdzm3MsnfTz7uq17++Dgsy6Q/po4/efycHOPy/1E4bRVhLBMxd4gP/w+uzt4n2n31v9iCdfa8GLaM9d+/qpw/1g/LaFPRSHsnP18+Jp15yNHBBcgGLqkqxTtEMMNVe8xkTZbUxYU7ljM6H5OPkEarkxR+nWGdcFo/0i30ruhplcxydO+8VA6ChqUP6XYf3Y7RAno7Bbfc25WvAzDI3OWKSbw/0gx3qXzTleg1JSf0quZ822VF3/K//7eqPP/l0dhYc5VApoleLOGUdF19RpiJE9jgDqGAfw9bu5ymd4zAEd5ytDoDZxid+QktnUul3O03WDKjL9MAvgNW6abAol+iz7gPTMYAt+yYrQfpWwibe2w22gZnWn76V3Awq7sVmRddBr233lw77epvtG3pNG+EyUbFpNv2KgVQLeehL46FbbSZro4w9j2x9+zc/96O7/76zmZg+9swD9T+RPesvdbQrHmB6Yo64UrXTPb+Sgymz/g64vPN63pTZih7TVFZq6hPN+TwXrZG+oTrNpquPM52dthhjRFS8ln01n5ek89N/VX0I8Pk+SdUdbVJwlCfJm05fqlvPIK1dutoAdIRDJrSTV/LutGZZYt6msrc7qHij80zbaznVlabtNYPX1eY8VqbiEabqSs5bi075Rd8EjrWs2VYLuawpqj+8P29zftWvaINm9LpzPfe9yOtgI+I+9R2fGS31Lq/y0wDwVGctbwwQp3Qxkh76k+HbvvTU5BkAh5/BBPPQjx+m78uGTVa2jmv84rMCH9gRd7ttu3BOGIx2QLNtQO1A7/o297mh19u9L9Vlk+uxTuuP0MZvf1N3i4lmsREUFQ1iAOpawL7g2sS1oZPgmw1ZQVo2yh/eN/+i/uxn33rgUy6d8pvfA/a1vPmH8WIfgYNd0w9O97zZrrra4nYve96U2Yoe01Ru1l2H0z13epT/Ub5EQPA6plnlCg5ely3pEPsgo8nUZ90pGMKmWVl/Pt973XMBrmR13OLnWaL+AkvUWkIVsLgM4pZcJu5HNCWBpP2pbJQNedfjct5ubJsqyMDkJOVMwtOkov5iPV52pqYNoosmIWVM2tOkoleNpa64DmdU2xUJopacdUKWdjXrtaRj3MDEP9ggdS6rPC6rYnUn1u2qasxEkXqSUPCTlrZMDOjokmyU87aWd3XS1AQ79KOetswrPsmJpjaV9ad2INB4nA6e1TztsLQsfpZ7Az8ZMupTufWv5ev6L+gL/Ze6PYAHCdPvfXo/pgc5/IFdhenIW21+XCzYJTnXK10c2WH2S25Stusx88vadd+cDFa4PdZXK3v1T7535StwXUovEA+wVSWl5IF95oFPAsL3VgLh+7LPUo6SIhkDGmiaNT0ZoFEXySM7tXn9JE/RTvCnKE5LqHqd5kl26Wr2V1ucHFBcvfcnHm+L+b0P53O5mEflmC7epq64/WqyrsvlXZfRayWxb5p6xS+AvhqP9y9Z8WpVQaCrJWfJuU7lskMpLls9Iji/03WN7K/T0rNTgY89mCVKFCC2FC2GyJHXhqiDVnrvO6gh8mUMtlzN94FlY38tSbGnEm/2tigrQja9JqfDOmznMbqkx+pkjEeryEG3fKMke+C3oVnZhskRdDxelke06mzL3+iMZNSf/EU/WksPyvRznx75Oq/65XmvRcXqTzuilegLzA22xHJqM9l2ds9PPrB6ZzGce+gf/HjO7WRKN7MHEgDfzFfvhWy7QDjLPtQcogDTwVbAoClOs6QmJwPeqOyTnefSdZj3VPXHRGfPifUc03UoItYxjDo56xBL1WrjiERL3qfzxrkYrH/lxr3xYbZtQRdHk3dDKpS83XU025t152/Sm3Xp0/g9xfpV1i8ZKQ/LtsGv+oEGibgvY5lI1RU83kecG/BKl4h1NKnVWKJFItQC8CXq1dqrLdGKySJTjp5p2zK1AlHZL4xWUXysjxiasXEK02ogrjPTEHSI35L6crt11BYvFIKI9ZtJOucGLQSu9kwYRGTYvK8r3S6vZXJFt9Zf3UOd6Tkyz6U3LVMjO7UPObrGZj1b5h3jYLONxjRInpuOcLY0/YgoYG6zlF2x/E3q592Vb/+xB575i194y7HP1N2m7Cb0QALgm/CiJZMDKExBRJMlU5qDoPyzFVDEfhN4LxDN+SRsOR8s+2UDIuNLALFoAuFjgE/zTGTrI1ZI2XXF5K1ocfu1lLfTEdNV1kwd51vpdp64zfXo3V6tDug57xwzg56Ve3KeZr6Vvk0yCPiNkeh+XVwPwMkqNFEw+FNNcH5bICwhQV44OKMlwCoAQxJLu4owBX78Ulgo8z2wV4dKfgfUnrPqcA2AXMApvNTGq1L8QLXgOjzD1SuCNejpmSuQb3q1XIwBAlZuBFjLlikCdX7dRCAvfXnbDtlolRMicfpCnH3ZWMVJOnyiH7BWKM/gOBYryHB5iqCDLWXSwuqLbhy00VsHe2jsYX+Won31BBuHygHm2C9L9Rq0cFwy8nun6r7ix/7hxdtnur3P7tT516hNaQ89kAB4D52dutoBD2h9ThNUI1nEwqRlM2TcFiFEVDSOJq+AVn/arKWd1Mr1pxQDsGiKDuMzpqVbSTqb/VjDNXw8XzlX7ePx3Olx3mzTTYzGo5sOAbCM1yEnWmp+vsnw0x2CEq9brnqkmLdveM6pl2+0DtwB6wKQcT05V1ygY9EfAKvtwFin3xGqOsIwIRGgChaLt8LoHIjNtd6rFtrLdilANggEXwWQ9GXwtwGyQKGAGohTfyz7WmKrNVoBdh1UxbtGBtZhQ5WWxHVDYPbBz0NsdBqjmuy0LIwCKQFni3LJFblKh76nROGhHYtBeV6p0kBlKL/3hC0as5asQz/k0GQUi97KjF4UoDXjREFvOJzc+473XX4Fg/3cXP/i+cU3v0QviKV0E3ggAfBNcJGSiRseqAgUNEF5mgIvU5TKWyWRNYPFE/9WfKKJV1Gv/pS0ThmrFVAtcdKTdGl52nlneT7qMtfSjymPPtzGiLRtscnbrG8rGDW4357kiAeLuGibYQxaeu+DBdeaNNZm/34dBLh6tqlcf0rKVHaedqvL81/2WQFSsBLYsuoL5BmsGje4CWTaGRparQWYFDAqsOyArroRCsvARJe0ESUC0GB6W8u8lZ3cFc4G10PhikCXtWbAUFGnwBLgq0ZE3q2c31NShImUImrrxwBXY2CDFNGuwL3Fa8Vl2QF89dpTwc90VhUnU2qUtmytyFZYqiS7J3yBpFcYbi9TaenZHnALabWbWm3BHmSJuBmC+GmTnzSOQFO/uDrcYOAExms3JQXmsZzeyvswvGZ1cCj7iQfWzuPH88Ph8PzqZw9d/pVfyfnWprQfPZAAeD9elWTTVT0QT+AqK2mi13JhM3l7k75dvVY3bZ4+A4aiNoHU7bzqpKVanb6lSFkbuug+e9lxwKv+F6V+tWtY/E2AmiqvC8/aDkM8DtkRyzRtltq4ve7GfgxBu8HF7/q0sUrL8Yp4NdamLgNKiE2661S+VZvrV+5lB13Pja6HvaypApI84yWipWYgJ8joCPBE7xDr6c7LwJfrPAnHOHI4q9oFomZHPrGlYSGggFTLxnppN5RVr78nwjw00q+1gWC0ICB5+oIs/bU3anndiXXG8HOBwTMAGxmdWS3AbgPu2GdJdJV5CGx6+OFELVV3OtruLeCnj1o/dnPzYRdramNtk9kmwNVZIiw20wf2Sq8GNpEdrAOw8o0CC575qc8K+2nUg+zDLFsvMPa7F15zKX/7L1xazjudMc693O1MBsWoO2gdHaz//BtPpBO25LAbmOrp4gZakLpOHniOHtg0gdeymsyd/hzVXRO7pj1P+sEBbeRSUiSmwyn07Dj+7WG9d2wHVjAlCuT4DWdbstb7szoTOU6uW7Onlze1N4jb8dnsWwtKRM9ydZMw1PIyuSZ5PdeVDZ58HF5v5g6eMd38jK6GWVMWvxbxDZFknC5GtRlNq79Vf1yM9SxU4MfzTcCGZ6kEhlrphbc10IEXOcuuZTjoIgCu7UQWkMIjwESOVVrAtxwK6ADRPo+Vhy1+PCF0KUBjxmMrF9qJF8s2uESUim+UtKzL42j6Qr/hKHKSNd9N8g7L3OpzhFxP0TL6dDNQsnTeAYwFrMEr0sNKcg20haJ7/V4D/PhAwy6LsQBeyWyzflVWt66HU9h55os/0MXqs43HInH4eFOJFej+SG6aDMFokoN7Gz9KDmUt+oHemuM9J+TzhaLki8jNwOTiTP4Tv7hO3F5c6M20znZnZp9ZfEOuI1ZS2kMPJADeQ2enrq7fAwIRZp5NyQABiib1OGlWclbnaQJKzNOUVV3yBhSuqKapTUnz8yHNoTWoOdtxXm3SSuM6E+CanrECEvqNOf3gvSJoT9p1reQ/8ecg7nq2ss/bguTGp9MVlUuvR1XSIdBXlKul8u2Sy8ftPvbYDgPSiCluU1mp6WfVY9r0emj5NB+VFsWVY373Xgu3+DzgEte0qrqsM7Myq8iR7U9spiJq7HRmWDoHLG11GmADiSRTokM/LWTPXieDrN3tmBukR7pt3xOrv15nHxfL1brMHYB4wHdLz2uFs1pT7tjaMv21OrwArZssbaQSuGN0PqnLGMx6dAc57G+FkWltGWOnYxkbyhMV8z0QyuY8POY3h9URMXUX32ggNLfGQLQi+w5vM2/4QwE436ew2Qw+bOCeRX7Ar8C6PYcW0NPnWOPQDYhuTiSE3VR0xofdgOiOQjLDMTc2rc5CuVocGgxXXvZj/+DCo7/wd448ioUp7ZEHEgDvkaNTNzvjAS35Kflk7gAhmk/qKitpIvfk/F73POZxmvKYvpVsDDqxnJe1Qes2zqj2pEhUv4ergyw86XUfHQzSTBrjcSJVRaeyQ32JV+cvO6ja5loatLN3HlC9JepLMtIxx3NsbajSMvhWp4M1+92yXjsi9of43C7lcVtcNj4Ifl38WnmudszT9mYeZBKKRr5Rm4BxMp7YdqYu6DqmHdjKQGT6HLNkTqTHsmsPMBtDb3GaR07kx3Yte4La7XKgOSBdKLJuA1Z0MCaXjUJGQMiAXtG1ASH8SsgAn52yp8fEJMBXh29UbV4D1mhbtkw9aXVn+iVo12IA9jC30+20BIq6x+HGrBrDq3IBf7sbHmYQr0LTtEsrvxiiKJkyQ+2UnTbHTNMGnSCeiFv3EdxwaGzcoLEZq5KmXGPoGF/I5ZcZ8wE+Y7w9e8ZMF3xxeeStDdkCWoG3+Uv9y29Vu1+2ifglLzvZxHXq7b+wcvjQ5fmHFxdtvRtqSrvpgQTAu+ndpHvHPaAg11ZwNTVqElUPfMSTukh1s4q7kqzf56BZgBzvmpaootK7j4Tdx1oiFsgKWAWying8qajf4l0hslXS+FlytdwAtvGvWDu2413bJvQ8PyIzrtCwXZvfsNg1QUrjMSSzj1pNfYFabKcCCLVXCaAi+mOcwqUs77I7WOu03aJi51vRHwNIXQOSlpYVukAGOgDvrBiPsz718WQMjHVZVYW33QXV4QBkOwV6gRj05S3JwS/EKfi97Ha/m09G46rbhQaxbMFTdQF+6sgLeCWiwLULxpfo1TPgvOyyA4uxCRT11hG82MniNMPV0i9tuk4Fshl22TUzUIaGHerfaIq00RGAWNucQXlk2Y5NuM76vOJhYFdjalVjxoQPGE6BvS1MVK4xj7BXgb9dExmMI1vQFQV3kAtbwSFXRNY2fg4rQX9VyNgxYNylTB9ZMXNp5sI9i4sf/4vFxdcp5k9pFz3Q+Ke7iz0l1ckDO+EBZhjFJTaX20eo26Rf19WNTUQ70d8u61BErD/9nu7VkgBVPL4CcDXe/dKma6Lr4DY7MNu1qS9Qu8+9xqQzYcWU9107LJkCKhVrBfr9AaEUB4OTgGhWUcG+kZ5SCmYmIyJeCERz2hzFbmRWngmAyxGrwYBvMSJ6FBgD78YH0rFQ3apGRIF8fYCWTg95jKJv5EJfkmFLdt7pcTbmaMxKLhzQ2EPNwvRYv1fIaq8WqdGP3mLcAdtAQrvLCIPCPH5CCaBEtpwAatiTV2PhbdbhxkImyzFtdOimq0toPS7DeErZjRx8tGmzl+zhdqRHPwLMCY99+Z7rJiFvYx/tkiXpZiHrz1Afj7g/CTr1bpXGPxmNGAvjpW5L3FqRLse2JK/+GLP5VTydTqe7NvfaW+E8I8Up7Z4HEgDvnm+T5l3ywKaJnD6muBvmv13q9cardSC78ZY8NwvsevlFqnNdKisKRdrrHIzc5RCNca7gTAlwDEAHWmnDsULj0WTEGzcBdAVGgC2cAk4efbKhmOeqFVEtADYCbAVcgBrgB2wZ+AGrdDs2oArgzVNb65BosD2ijSi5DtcFZoAw53f0APFVgS3L/USiAKDAjaX/qhwGEO4Sshso2+0Gz3OJgvUIVsAmyNXNRVnMsYw9YgE59CkdgyFL1JYHwFS7ngMH23VwFjckqNCz5dGkC29PNwtyD0H8iDER/nIjAjybj0THR1mXHX+DgdvGvYFuQnh/mr8gjC/thgPHBt+apEXQZmNrnk1fq8ff9t7H1t739jt46S6l3fJAAuDd8mzSu3seYBoJT+ci8KW3enbZvX6T5mv2QHwtrFwTFLx6m3Le5CUC5j9FwKzdahOalmgBQluO9g4FRmxS5qwrgElLpkUA4qwnLTwZHg4BLO3UYil1AuiFyBnsrYA1MJ7noBZBAszqYzQa6skqz2oFcoBYHQEboLPSULBBmE3PPDUdEj3y9LgNoNETEafeDLLl4y5bqDlCJF9nm7n0Z6Muj1EJTAHe0WhUtNs9dAN2RNvQWdYmcKevDnRbGgYQpUt7qNnJzEAARPrQy8jSVxEBM2YiXqJm7AUcaa6XlzFROosi2F9wY6IlZd53ahVD+sDOTDcoE0W/RMZE0NyWmO/k0xH/tfGhbnqCTsaEb+iTp8PDCs9kM+XJkx/+cHXp9a+3rWMSS2mHPZAAeIcdmtTtrgc03erZok1UlFVPaX95QEGkonVdG4+5dM1E8BsnWay2iqCTyHTC499qItDJe2x4ZrVZO7M6faQA1o5QFvjQ7xWRWl12J4O/ABuxph6XAnh6MSjvsfw8tH7bnTlO6xBgEWXm85w4PdQuY86rEEbRLTvThkSg2Jn3QOQCMLLfL4KfTcRVnwNJ2JtOlDpiWVfPByr4AbJ+6Jdn9digSBT4EohraZcAW79NzD4sLTsjIQ8A3kar7NUqnk3nY72ShB0hbKU/dIU+YCfJbklqDLbkjJ42S8vqn0M/CPTnUD1mvN2y2x3xehY7sLUEj5+QVeyObAB0bQNrdUY6I0zvB1ddjRX72I9QDblQ3a7OGwWhkeHuJmfXuOnSw992Z1h98vExb7dnT/GX0i54IAHwLjh1r1V+7pHqXnZvHL7n7vyhve57r/uzGZhObaWwrijThOVte21T6m+zB3zzlVMNfFWpL5CgwW+iFPCyCWmiTWWlvcsFgOZ9+41CPTqdFIAqO3knkx4R7BCQ6Vfj0dA0CdjYbQygIWKPSgWOQBsxZAdeIl7jLyYD8qxiZRZ9OjBKxgwBcvWpYzjD7meOuxIqarUZgOzDOwwgC3jrPbNWV7bRH0Ltbh8e3TAA7NgnUFMfZdln17T6GfIsFSybzOj1Ke4a9C74EDrATZlXmoy/32enNsg6tj4EvlneZ3c1VmXVYJDxWNzGKh1mHDavDwdlB3ox3vBD1tKOb+xUmE6SHRqj/IN/9c+DjXt92+gnP9rNiG4gkOngU4u4ucehnvdn+3azoT7H2fDg295bLb/v7Xn9wpw0pbRTHkgAvFOevAF6/uKR6jT/PB9kU8l9+lf62UerJV72fx1AvHQDzNmTLh1op5M6vYoWppg9MSF18iweiK+FrlNcd9EpDUjiOCfWlGdaEwMsQZ82/Wb5+mSogzKqcU44OuTdVoT1DFU7htrdGR0UmVeAMdEfYMd7ueS8MWxdVAWACYiNh4O8c4CIk81b4xn0WGxJhf9ZqSb2luzAZNtqHwwKwuNsvBbhjdHXASpOXubExxYPmlutdUL0GX71sMdzXWwA2JUPUNzi5yWqNsA7GrD/eNDqTAibZYssQ1eHcbG9WfL2HFi3AbzXzFjBXHQTIcMIgFLWdvhgZ7/qdZAjWAWI6aPHjuuhwe2A19M6B9arDmd2yAczspd/FbppGbO03e4SGfPOL9BtY5CtelguvcZJeYCcbMsGZbZSDOwa4OqW9HXbq3pzPXIItZR2xAMJgHfEjXuvRFEvs83H+ad6WMt9ultlsjvNxo8HseZ1e2/R3vWoydsAmJz/QzSFD1LaHx7QpdB1UXKgnV6zQJ5+8noqMSvvo4IRPeZ4PRatql6rNw/OTHo8N13PZ9l4NOn1eeV2negRVOixoiyQHmmpt8jFO57M0rbGyu9stW5QsabXmfI52jh+hJelFXUSkQLsHd5smnBghn5NATxl2XqOaBmhEb9hAKSpv4xVa+mZndWRZzyOZu25rNZbq6M11plnbenabLbgmc1RrTVecZrlgTD/FrtrVTGiTv88PS168+G3EUwfutdH2s4u3YyL8cm+4WStGo7oiwe53XLNvs2deRhIvJHLoNdaQ8YoHFSjnufOzvb0dlTW4/UjNj5XPYm31nMO8jK5slznHWgtu/P8m1z9aJzd3ho+mK0KDGrZ+NBh45CfeQJAf+1AZ3PcOvcAw86PPFD13/8Wwv2UdtQDCYB31J17o+wRIl/2QP4/gNBh+5dKtwIkA6Usu+/zj1X3veKO/KG9sWbve9E46xsOzSobs72KIujPHUPxeaWmjmY9VrpdW0yPy8g6IHkeq5uWGzKiX5V/KtgobKGnwbGjVXXXTLpmbrtyS9BmOnY48XgeKFm1l1Xnsvl59u3q0JEe4MESbTVggzMA2l7t87y1pKnPcm6Zgw0Ec/2szc5nAsKqN+rnIwC6Db6NCCOLAl0K8VZDVDyLPlRkHQ7e6uRz9LeWzUzmWN8uOZ6zry6zfHW9tTIoq3ktOQNE6lv0XpcbgdbshFOf9e3LRmy04keQWl2eXas9RKxlNq/v3YQol3wMyB8Et8eDtXzUm6vQl6E7P8yQAMx8ZbCG3jzvjgmYOaZsRN7r9vNVFDJcbfPOwGpAfV03FgUHdGbj7gz8RKWMd8y4xcj4s0G+xtGj8zmHg2BQGG+Jj4qcGxNsbfPjjKPxCuNi3AX94qcZ7j448sNskZ6RTg7Re2HFGrYxFmhF3jdbJpMzMikBME7YyZQAeCe9uUe6OLnmXfz7Pu3d1cBrAGyTW57dS9tD3v5Cy30C9wk9Hp9N9BA0DyptxRPT4rKA27BKwq4g0uG8ypUcVKwCLa437XB9rkPtSlfI1HpCo31OP0yWmuvYZK8Zrkb+ItslvAXJdKhNyW3ZpA/6dJzGpI+QpvRGP2pVW9wel32s3p/a2KhbtSdaEAVIiND6PPcdXDKTBRIyneVRJDhbW6DFYRhVX2/d6Od0wRoCTTvAmO1aetZZFOtBu3Rp5CUrxYo2RyMCXvRpwhtMZrGcEyrY5wtw2yjsrGx42J5UlmvYAPANATodgTnbO1CN1qv8MjLDUVUd5JhRglTpYF+T7Aage9iCvMahpLps0a8d9Hqc6YxOXRcC3eoy49EY2mOiUO2QBky1wGu2oXcWWd4iMrvkgxE28Wzb+u739AOE6IBPfVw+C/RDm6WP0To3Kixt+3jHazP5/IGylI9kq3gGo8p4QVnzq05os4R/Pa1fLrKjx8pqcCmyZXK4vbhYtRYXtW6Q0k55IAHwTnlyj/R84YvVd/NP+fub3YV/roHKfPNVzfYXSl2zkjZgaWrWZpYwRW/UFRlzx28pbjP/SI4Wm9kCy5TP2tVQ63Z/NnWorjblXpYS5/M20UydOlSZyjRqj3R4W6zPdZkgH6rrMYMlU7rRn2hqj/u1QUJ3mnKlWG9Ma9LjusnVslMTKIhHf7U5YrP+XK/q1l7zel25ksv3211+hkE/ZwGQzCzo2GKeXV5iI1JVrQ0AKnLwinyhujy6mB0+nOeXAAvWRllpbbUEegcXyvIctNk+zzRn2EO9zHakvhaHLtnrPwLvCW1rK/ByFVTu82x0/mSen19eKOcGF/P8EK/tzrI9iT4Pn1zILtHJ3ALnJVNvty/WNvA8FVt0KpkGLptk90z/kulp55f4RoakV476gHW2cDhbA8n6sxoxx4PyDHeIDnZKZ06zdWRsHGKXxtOePcSBkpfkWh2iZXwztE00Dmj2SpN00EbAuok2nCyU873ldofXmvXzEGvjoPPQIU5T06tOaJ1n47N8GMYQ7JKPeJqVZQsXs4XZW20tQja021yT2palbIm1BT09T2mnPJAAeKc8uUd6AN8ftUlOk5/9E2Uy875VgDatO/0FlOuABI1bf/XUYaNzX3jebPO6t0sopk3LovPnYCk+pWeTE4906M9vDEyGussq15/zSUZpWqdNnTuP2lwWsiXxOq0mTeVjObVtxesy3h7XnRbrn+qoDfA+PBfZy01drk86PIlXvlVSmYXRojMsitW1sjp4jPOunzmXzcwd5ynwuXz5Qr3mCX04Osfi6fGqvHwu7wxb+cFZbsO0z3n2eLZ+6TyPSMtqSNCrX346Dm20ftZ67bEMvIInEMlZcc5G6D6Ibp5+5k8vldUMK9CF9jED2rLp4OzR6umlYEMxPN8aojfnbSBdmtHwRDZcO6dilmFTfulsNZjN8+UnRDiX9ed4u5dUnDhaDlbO0eHxKrt0Fp15fk5v+pBmsCVHzwA9ObYcmD2XnzP6cW2oZuH7bNYbMcbO8XJt9WzO6rXxLcM3zyB4pFxqTPLN8WN6Q+gc/2E3+kcAbAd59qsVkoOML/jg79yTqtE/Y1l++gQ2nctX1o+zh40QOjuRtY+ebxXns3LwxCSXT/TsvNfi9C783msdt15Y0GebmCJ528lm+tLH9XkgAfD1+W9PpfVsl0joPuuUf142+VEJMwJ1CtNb8D21bG878wndxs2HIuJphNgwxWZE+wgNU1l3GmQHGWuDzk7yK5LanM8bjZ9KmOqcupE7v6Z2gbL4XGaDK5SmbfV4ZJ7Jey5ClLbS06S5TuWbQI96kzdSvWWb2VMzNX3qslOdYojsVf9xcrv0BT7Q600uZ8ujI7eezueOZNVC9zjcZ7JHHsuyU3ecQuyMia4us//40Bl+mACQXW/nl9dvm16lI4fWWBc9Zcu4Yh4fOqMl3kwyYzZc9bunADb03KrWM9nckVOV3n7NWFO+fH4pP33X6ezShSxfoP9LF87knTn1JeuO6n6vopxfWF6qTt91Ilt69Hh2xOosnR/FXs6Hzm4NNkrlheVJdWS4Zv3rzIwLyyeqtfUlWk5np+/KkKdk+XHuB5aytfXTtBGdUl69pCfHgDDRquxc05jmlqgP8rP4Y+EOcB/bZeud92TV0qNL2HI6X4D3ImMdZbeVbtuRW8+YrjFysm5+AV2ksB1sKTt58nT2NLYcOXQCPjgmWXHsrqPoXIEH2+zB9vHCbQbKZZeQ1y6fdKV0/R54MczX1++lfaKBg97fZabwT0b/Cvh/U/I6+elNDS/Aik3q9YAdfAUyUxBgzOLZ6gsunphP7hGIK4luvkXW+KBZX1Husk43vkhnXFdZfMp96dz7Ub5V0rDsry54P84rXUreT6iFupfj3Pndjqac8zqf1z3//9l7t6DNrrPOb7+H79Bft6SWD5Jlt+yWEQZsAuYQMpUKg6DI3VRBLpiL3ODUVJiqHDCegA0zqahdSU0xwGBsEqaYUIOZS8/NzE2qElKgpIaBC4TNzFgmII9adlutk9XdUn/H95T/73nWf+/1vv12S5aF+/u69+r+9lrrWc9pPWvt59lr7cOLXfU/UuBU8s3TuNFU+lvLoezxoRx90uBs68Hc88356edfbSbPHT052z3dTC+dO3f00n3nJvcJdt+r5OcmV7740OHnX316cunVV2dXmivT8woZ/G0+B8256eZDetpYZXLTNA89NKFt9y+e1N+5KfDP6695tpk+98cKOK+I5qHzM+rIeuLZJwIn6RK2+0Xp8H3NZPM54Z1Pmbt/IbmSAz36Wh4ywEPmpT8+d3Tp1afUN2jOB/5zf/zk7KLqyEPXi83F6fkfSV67Xzw/uf87z03v303a7JP61pyfw4s25FjX1OX8dPe0+iZ5f9k8dIQs7HixeUL9fSHg98mOH9Lf5nNNyA47lT6jC/qDC2/6jz3gQxs0na7gPTn92387pmbTp7fGApzifToBFnjm8uIxPfHxh97erFVedYKqX3zk3YNHapw7pfynX1p8Vn35afcnJnCZxTj2d2lrkN/oJbWOXuVVGwXCysH45CTTkNdltxu/xg1CHeq2W8Hc5ty8LQ/4urJh5E41zHzctpqv6md88wC/5u268cxvlQ/wr2lXcx0ec5dUt422m0e+7xG5+QK3/JTNgkvv/eq4qgv4Tuvaa1hXzq1TveekfV1TpwzXEncZRhtwUkeXdY43bxssyoNLvFu1hhYlCuPCp+Pf6XDhwicHjz/+OD8n2KbUs62GDnW7Wy5caAb664SowbSZd3JMsz6vdYWmT2+FBaohfSvY9Tz+uizwzHOLP9QJ9hgnjRMnHHX+bgjMh839jzwyuGrcOyUnAKvfP13bwWXs4QBsGHZh5VXbhzZwSbZh1jrntK5e09HuumUBszzKJMsBxzqYLjESBx2Na7jpzb+mq8vGX+0L8BrPfMy3lmc8cpfN13XnpqNuXi6TX3qx62vNg7UTZjcfyMeNAvB3DS4ar897C9xNFli3Q3c39f9E9FWr3/Nyeo/ZyeEA+bMjs0Nc6sxW85Gl+h1S8VYo3aH/tU3qLq7aqA5wtb1sQ9PWbcDqOgG0TpZR5zW/gBcebJNHW82glIGv8qYJOH9OtS512e3BnwhXpRov9FG7ZZm/ZWAjJ8Oog1/zqdtor+uBJxncPHVb2+7+WMeqb4ndH3sL3F0WWHEpd1fnT0pv5QAfx7GtOsJVh+r2Av+Jk9K/b0RPnDmBghz/HQ6/MGgd/QrctluVY/sZbl6rcLfD3zhLMFUcU4JWdY9F11AoqnE0L/JadzCBwcNl58araRMrdfCFBu3636baVg60qzyQ5z4GfWFgmXX7Ep6k1LwsN+6ru9JqogJjh0J96i1wl1ugD8DHfAKw+tVTuR+xmqyk+LODtX+LB5Hk1Oz41f4Y941Ndyfm9H314Sn6iW0iQLjTxeHXTj8CRoE7IJm2DfCl3WzIzSPoVUcHobUXA7RHvaINmOrWS+iRat0Ncw5NrQdwYJZLvS6rKeQ6SIJbR2CvwKHzHKFMCtySL/GEhxIwdEFfyuAv/QlntY5d+EOpaKMcgABR61NvgbveAn0APuZTYKTVbwRc6Vn8VzhByuFsyVXBMVLH4VGmvX1qWuU7NdFPdTkSjj4LCaMaAaOAKTs56EIT9iptwIOmwI1vWsto6Y1QcrcbXNdDlhrI6zK4UZcO5FHXwTKdZ0tHbz7AY+hFa72M69x8qbsc9Ea4RQ4eOlTmW6kkcasn/UOOeRbakFeAS+3G6/PeAneZBfoAfIwH/Jkrce/3J8P5Fe9nJ+dcAbpNASvOrtA89tWX7rxVsJ23HTymMQxjxEqtWCWCB+1C8F9pChrb0W3UKZPq3OVsufFoOuc1fY0deuqAzvw5mS5yAaNdB8ONR+5VLmXr5dUp+E6rwdi4tLtsdOr+q9vNi3xJl2Ijt5u2xoG30VbzoDPQTPq8t8BdZoHKfd9lPT8B3R1NmsfkwfTxvVS23jo0jJYluOq0tX9NeXc4WZz4I6YIcxTnTeCJYqm73w4IdJgm28s5TMBxcpncOOZVR0q3mc55yFPFNObndnLDwLHe5ue2wC96BU+V3baubr7mg22qbgW7dQfzqtusew2jbPneHQAWuBRKYg7WFwYogR5BG4UsQ2d+gPWTt33qLXDXWqAPwMd46PU6azx8ZcdITnLdZTs0w5fwmuax515a/FwQ3gGH1qkXW9Al+g88nH4UuiAKeF0K8ooHNrMd6zzK8C98yfkzfgFne2lDnseilm2aGkYZfg5eNW/jmY6cBA7JMtwOjMBuO8CzTjW9ac0LPNhTNyzKwCvbgEeiLWS5zD3i8nBctBc4ZVJReYk38PjpWgp96i1wF1pg5RS9Cy1wTLt8ma3jQXPeTjMespKudpw4S7afyX0PmHKN77qc3+OXtZ2t5jsihTPXgf45WNAx4K7XOeX6D9xIFZy6bRdtYu565KoHT4QqUQ544UGZv8BRO2guk/vPtHVOud4urulqPMOBWZb5uk6bk9vqepSLnuZHDr0DKjjUIxXdKVuG6YyzmotkKdV12Jr1ElJf6S1wF1qgD8DHddD1sQkHXXKcmJ3XqsOjbly6s+rg1HZWH8D73ePa1TejF/YgYNB399f5aoCAf+AVBLdbru1Zw0F1PXIEkorMKBoGWOUa38HMMPBJlpW1jsb1Ol/CLbobZr6u13Qug0P7DbiV3jWuy+Q30BSY5ZlvjdeWhVvUhVWbaEc0f7V9W4S+0FvgLrNAH4CP6YDLQf0kXsqBlXxQRivK1MtfdEFl4wNn+zHaAWfbY899/eRvRa9dKaqPOHcH5LBHgdVlcMIWN2kDd127eThvAw12vUkK269pN+1NyJbAS7hELaWAVXyN4zyxumMNp1zX3dcO+8ZSjU+r684NW63HBUjR2Vw9l4PGwD7vLXAXW6APwMdw8J97eUHw5QdNM4iqEA5ddd/Xs/Nsc9qMVxx00FRl/Vja43qyWj/6eYJTuc9YO3x6476uwld7+s221/xuxYu2W7XXfL7h8kpguxW958c6XdbBbsXrjbahXvDW3CNv/wrcdfj1D2FhhT7drRboA/AxHHm9v3vDV6zsSCPQSOe67pVFtFVB2HW6GPgK6qfnJ/yp6LKy97DZmTs3vM/TAtjlW508N2vZ/fh8q0ehl3cSLNAH4OM4SvqKlYOnc9SMchSWlTYOi92y4I0cOClWxuQabS0gf+6kP5BVO3b657pzYH26/RZYHQ/qhkX59qvYa9Bb4LZaoA/At9X8Nwp/8criwwqY5x1s6zxWul7hijQCawmyEWwp017Y4uRcNpwgrP8fKSgnL6u2oKPPVV9PXmfuTI3r94X9MFrdUwfheBqrbujLvQXuMgv0AfiYDbgC5mOoROCsg68DaQtXIdqdr+DDwAG6vm8c9Ivmo8g46al+77QOxie9X3eC/l7hMt8Iwut2wtfB7oS+933oLfBGLdAH4DdqqW8RnhzWjywFVjwYSTkOKwKNChFUBaPZ+CC4HO8I0w6Ckj9ZWdrPstLOlpN5xBb8Oa1babmtz7+1FvC4lKmXc1QqtEHZDd9atXppvQWOnQX6AHzMhkSvGp13EHXwJNjis2ILmlx1nJnrxqvpaDecLroODPrhqDmRARjnTl9W0+v59NoWdXmVz1tdfzOy3gzNW623+b0ZXeqxYKza4VIDbYbVeJbX570F7iYLjO+mzp6Qvn7YwbLWd9URuh4rYSFSd2Bym3Pzoe77c4PFyQzA4c2ry0Y793Ds7uia3LahqS6vQX1LQW9G1puheUuVrpi9GV3YjeDiMGgZGKUbysDUVpoDZ/XwV19dPKYL0o/q9bmlV+f0GED8+lOdMy90URlPGQJ38lQxjPoSneqGmaa9YpByN7RV+HVbXVanrmrH6WOPPDS42PLsC70F1ligD8BrjHK7QFf0uUicEkG1DZQ4Kf3ZEZJ7BWwY+jrYGpfcf+AZ7oAtB3Hf7ernNyN31jRb+Fl1L1LYwPYxsLT12e2xQATfIrqde6rroi9im7J2Pt5syPgd7Om0+UP9FnYETNhB5zQvY675EOcG83tGxSmECKY6MkxrFOeg12XqbRLRujZg8HQO77qMsEle4D7S8uoLvQXWWKAPwGuMcttA4+Y8J6+dlvWIIKOKAypwys7rdtMa5rpxIcNhaJVyHthxTRc+deXsdGv04Gy+ODtsBu8aDEYPzOaz+69dX3zgbfcMWqccdsBmdCQOx7VHd49erIAZFw9HOxdlgrhtooaYl7cwyWzSfNj0gQa/Qke9nf8qm3/guS58Aj6JLOQJVqdVWM2nvsity5Zr3ZybL3XE6MLh/Jd0EfFd/SrYpunzNRboA/Aao9xOkE/wOImlSNSrs9wnODrSRt33gjnzoYtUCnVbwAsvyynYtzX7+//79QebycaDw8XkXbNF86BUf9dhs9iSA1VxtNCuQPhGqgvVAmyNbZvaMG7r89tiAeaWd3BWFfDDcmV6Nk9++eiH/sffenVrvnHP1X/4Xw9eMP5kpi/Bsa+rBG4ES/JShz8N5mO+gmbyvKirghlsOgfdlq8K6D8Tf3CAhyxy2pS3tKUMTiQXhGAcN/V5b4F1FugD8Dqr3EZYBEydvWy9OUiSc27HSV0KlO2Uoh24/lwOXGhqWtVhQpucyjWq3+p04VPPnD3aeud7x8Pmwfls8F714cH54Uz32hRym5G+d60QO2eDcTRnBTNXLwfzxVBhd6FVMH1klz7sEc6TCsl51vrjbbRAzMuV8ahhMW4MmXD2d2f/sYLdo4PJ7uKXfvPViS6xnh9vjF54/uXp+971TrknzQEPODk0BMLgJx4qtqmWYWDbDo2B5OJDvaaJAAu8IJKp2r5GxbnJeWl91JTlCg8YNEuyAPapt8AaC/QBeI1Rbhto2lxsNlI6jqZNKhOMgPFnB+GtscClrSXIgnnUcDscOZOLK+hvefXC7y62J7tXH2wGo4cXc+5vjx44bObbg/l8MZmrK0PFVfm3ocKv9Bo0etrGKda6w3k8BKM1viIybUIaKBJTwh4lh6a1S8cCcJ9ugwVigNbIreEeQ4Z+OGB8m8F8pNk/Hzw8nc4fvnK9+e4H3i4mDHJZ7fq+g+c1/IInOEqBCm6VjAso2hFc8TSN5w8BlnbTOShDz6rYCTqSL5SjP2pn1c6KGfrBQeL0x94CN7NAH4BvZpnbA78aJ65OXk58B1hU4cS2A7NzCHjxBHF1LhrawKvzuivmKX5P1PC3okzAbY4OHphPZt8+GzQPHO3uvlerVsXM4WIuHzuUB1VInUvXxXSuTJ4Kz7uYaSGhfLiIPce5orII1Actf9FrMNBiWIvg0FHHVccL3H0OnP5wrCzgeYtS9dwNuKaAkuCaIAOFvpy/2gXRkOaI59gy7tDrz2Pt9pjrmi/RDgI4+jOu8aKhgtOuWx4tntsD33CApex2Mzdf59Eu3Ja+bKG3dH2ht8CKBfoAvGKQ21m9//7B1dd2F1/QCfxhAmU4EClUB9c3oh/44ZRgUJJ5UaVtOmi+4LZvJv/Ep1957+Zw/HAzHj88ub77XgXPhXQfzhVUlS9wcGwcC6SdZRyt4uqimY8UlEMXDjzWnD6zrB5iZYwfk6bDuQpD7QDoKKxcCncEwSWqCav63EGXS5DUaK7fkAuArUgoQzu2dQoF3Q6wwjeOc+M6L+jtGMOGNisW9ULM7gdwskiVnIrETTfgADCeeRS1k6f5FaTAMSy5dfQFHjilrdWdOnqWRjLbL5pKGzDjaDpw2aU9EXC5/8BcISkyw6DwCpDoEk/gEnCB60It+ME3Vp8BrEjFY4kNFXSoeASo6KUs28lLoh2dW90BKIFrWurRLwHY2jkC0KfeArewQB+Ab2Gc29T0r3SSx0cyfGI752zHwfBVK2B2YtazDQ7hQRLqIvgkHIjIn7jn1Jt7R/HC7z6zffTqOx5VXHx4MRh+uxzoVryqoT1lpVi5KOiyol0stGc31DYzcRcnK1fLCoenqNJPgRdbz6IUOTQ4X+nK4lgBV88/i0I4sfs3mBG8ccxxLzj6YqeIcGwDMTD6S19JZDVe4AgY8MDIg+uhXAV3PfjBuyAiIwWVvNAAtzxQSdYFoaFbHBIviiDqz/gONKFrcNCh0AQPlam2qdAil3kQOqrRerS0BdbSlYL7GNUih8xw9Kp5FrJOYQHoo/HRP/SIadG1Rb/AhR9MtC2iecT+BsEXMKtSzSMNdSAAUYJ34ZWAlGWZxiUPspq2ELS4qsPLY1KjrtJTNx5sLKewTLOWfi+1wfRNROC/fHbxUdnogsjPyn4f+Y73DX7Psvr8zrNAH4CP2ZhOj5rf2NjSt5rL7wH7pLYTYGXshIOrU+0sWmdTvItxqcr3fEMn9YXPLO49WOx9u3zlt012B+cUTbVUGRE8SbF1qGLUQk8FTKmmZrlVnCZhV0kfSphrZRyIxQHGNqO3mt1XIcSWdPAoCyHpjzhxSy8NWztkmKcqykvB/Y+8tId9jCu80JV6oSGDVyirQ8BLG8AWD1rwONBOvbQbJ5oKXkFp5YkizaIG2ozbwldgwENGyaFZTciteVE2Hm3IaINfCKx0rpiVMW2JQW37XhjSV/NDCGDX21yFsIVzdFCZdtMUvnFBBlhGyW1ojT/XX9Y3+HMoCbgT/FqbF3jgA9cf7cgNmoouGtXmFE06BL8CpEyyPM4h6wQcGmC+N2x82t5M0odHHtdF5AXbSflvPPPM4l898sjg6pvh19Mcfwv0AfiYjVFsQ+8vPq04+ziqEXBbB8MZrrM+HOrK2c5JSyKnvaYxLHAWzWdPnxp8NpBvcSDoHg5f+9BwMT53ON99mO1krUp4AZenoDLoylEGC0EVlEMDeU7tJMqB5n1dcGPhJMfF+tf3stmejjZxAL8hMJP4mlHQZNBmRR0JnqUf7b3BbOkcJPXAoZCahR1QzM6zgNPRYidowK9S4BTEtr2qg1rjRL20V2yiGNcfCFB7OyYrSJBaB+egFLLALn2Psg9uN/1NVDB65IGrA3mtT00bOLQXyjYol7rpSnVJT3cEnNDPTITsQGY6BDCuyjT6mhC6DawKK191Ny/LyvB3ukAsxux2cG7ErkdhaFHYClkwjvNHuG5rZatAu21Yw6GN+VKAtj23U0juh+UY5jkGnFSyrLzOUYH2vD7eccG0Bf3sZKM5r/JbcrvodVTom2+DBfoAfBuM/noitT18Yf9g8SM63x8Dtz4pKbtOjhNZhwOsdUDCCbqmuSiSTwbBmsNnPrPYeq7Z+6Di6bcdDXYf5u6ctnwXw5EeR2bNlhcD8xIk9XBV8I2tQzlCr4RZvAx+8se2/ua5B0ffbTGoaX2dAxpp2zkcWvZFR1HzxlF52hlAnQbDwXugd0oC1UofT2255RvIQ7nk0XrkSkZwWsX5BtgvoZrPErBU3EbutE4P2tzxde3r2szbfOt6KU81xAeHiVCrUJdrcpfr3POR8RC7NsGDABW8dHBdX68KENjMIQg0vwLmQAcMvoy7YZT95SvK/Fk2QVnVSODQVifzAlaEt83UaXewpQFy4OZjenLgTtbNFwX5aINbb53PNpo/5KkI8wtZqmh1fV6UfQC+tflObGsfgI/p0B1sNf/F5kHzG7qC/2mrWJ/4dmZ2CuBQNo7rbb7Qa0dbzY+eGtx47/fCZ/bOHTazv/H8YPc9Wu2ICy6nOEPdw2XpC0AJ/8D92ShLXtRVEURoupkHDB3O3jt49z2nB49CCBJpiYkBhUM4TSEkfmK6PyuorVDzpZ0EfqTCsxVcgwtObSeaqbcKCid4CWaw738aBza03SrVOG2ZQpUMD3Be4HT9ENB6Rg4diDW88AIc+lAgOXeRekFawgNc5DKn6lTQA+Sy8xpv1Q6trkKqx5AAFfVCXOqQa9WbV100Qa8voPHswFICXid0AYVdkloOZQfDsNWadngt8as7pjJttkfwKu2hc1GipTdtyVtdqL+B9PSlxUck6zzdg8T0zDldoJ59Ayx6lBNqgT4AH9OBu38Q930+sr+/eEIO8nGdnOftEHCYkThjldrzXAWfvAHTASch2Ke3Ntne6u4lsdq9PH/1w8Px8HsnTbMdTy0LW7jF7WkZsphpSzD2houkEKft47yZWxxQbBnSEs9bJbXu6w15BisSehc92twrDPSNp1gTtXOcpY7g6EupRwag1qi0AbKsAooseFgHQWyjaKx4Gb5WppBrkdbJuOTItuOPdvNWzjZuTY9s5LX4Knu73XiQt6lUbEczs1zsafnuBzly41Uv5bBwGxXqZQyD3Q0BrxWeups26Kq2dUX0IrX8C8D1lpfmG8G3YBMqueKj3kKDjw70z+Va1wKOtgiQUAsIF2+fW0LQl/bahh6f4FXaLcPoaTDZE/YCAidZhgGhQ61Uot30qIvsx4NHRRNjB+8+AN/UbndCQx+Aj/konsr7tZ9VIH5MO8IfkRP6Xp34H+ZcDSdGvqYParsoR/B725vNb9SB9x/8k7336I7bDz2/uH5OkRQnJ/IMh/oSlZxhuRkbn5eP+7a8NiSRbKjpi1W6OadvMrd1PYwl2IxA0gZc1JkSTdSGk3KwtYPyigW9cVZtKuVwnGp0Do6Di3Gj74KTO4EfzlEwwIVdNNNGikwH8wbgtsTo7Goct1uW4cY337afRY77WcugH0WVtmD+cb+ybUzbrPZzVTZ1r86R7/aaJ8y9w5EAAEAASURBVPfX4YMd2z5gKCXzp7w0FgBKsi3Ns1LRKEv2JnDVfbFOLbIK5gVMchc82U+ulrziG4zy1aRsb/W3bOsNn1YWje6nirS1+KrTZrkeG/Oh7zE20Et/4PyRgo/ajUsOfjTrYDltu2hoL6/XweKmST868RGxOA968DNmqYjnTwj0Gwb3+Z1lgT4An5DxVCB+QqrypxN+cfbi15r/6Wi2+OgmX87S2atPO/75O94++Iy81xdOb+peb7XaheYXf+vq+wezje+ZHs3eM1IsxdnJcS24B8eDMELxapctyXxhSEDdAZ4P9XDMrNxww2/L4SxGIz3qHK5SwTdXzXrjCD5DwYWlFfA02kVwk2SHdZPmBOOIxBW5xif36qSG0YnoCXlJtDvhKF2vy7RTdzIOdTtj4zuv4eAt6VHxchs5qQ7S1Gu5NU/rAIwAU8wPSZtWZa7WQYS/ZbjdDGp4wFb0bvFcuEVek1qO+UPmfhhmHMEZ2jlThnmnwDhgfkLAxZ35QkeZPw+pecE7khpYSUZwBFEp5CgP3AIj8wVdu3oVLIJmwal5qCnlmt65G2gXDFmRlFM/eANfwpIeHy1UQR/6qj9FBIXHnnlmcfaR/klom+mOyvsAfAKHk+D6Z//f4qpUX+z6JF80Vx5+aPDZ1e7o+7rfqbdxf1Afk7qHh5fl5bSyII8VKw9YyVnoIWY9aOUPZcCDAM2HEXAIs7keD8G5iYlg8oy8pClmfENSia9UKUjoth1PsapFuFN51HhfNxCKI8SrqC2Sy/Y0q/CCGo5N5UDjYLpgogPOF1rzuVm78Y1HvS67Di/zrGEu1/xr+lLGoddgyFoADda1zgOp4AEngVvw51OVjU9bjUPdAiuaFr0KTi0eNHUyTg37JssR8AqPOjiVLi0FrHIBGNgRhHnLjQ+3CLntR+EVdR0cdCNggUeD+tF2RfXQQQDxDBsh24kLoUKStKq7HXiUzUN145qePGSCCJ6y6Kfy0E2wODlUv1n66mXtamk3K9qFjwx4cMHlvkf/TscbER+7GZ8efnIt0Afgkzt2t9T847918B3D6fQH9ZWDM7glxVOtdPVVKUVTEdpP8dpH+g6WHjgSakoE367MaiQevlIE5o7iUGtbfUqSYBy40EUxAja40OOI4GFH5TK56bKkY2hRauGJBCq59Qo+oBT69FiFpoZTRh3oSeC7XMGDbyAUHMq0YyFW76ZRseUBr4oHTUuJdujJLdc5iJRJq3lCu6PbgRSdijmybkwD18mgzbo6N2xpFiQzj4tZ1+PlMaCtHYeCaDrDGXfKDiKmcdB014Iudk/yKXsu5PKzowjR1BEiuNYDPtENM6CucnSp5OC0dXSgzoFcf4FPgbL+wgwVP8MDN4iTzijWxTn4vuiyjQLXBCDcLA2bjyLHdKAV1WKFbrh0/LlLLy5+79wDgy/cjFUPP5kW6APwyRy3m2r98d/cfbccwg8008m70wdwTG8rp6FKfNoxtvs4wUnE3ixx5GUIAq6AukeccNHnKllgxeDcap5lWYEaGGtqBeQCm/NKix/CaoONmLWCkKI/6kVIigIHQNUQDr3g4ficrD+eNEjMXJXAUx4gHfL6ICmDdeFjHnaoQeetc+gr2uAlFpAu8WgVSrm6Jd7iRFORBdDF4FUYuk+hCzj6C/7mS26dKphxCpslupoXQt0P08CvLbu95BYRPFRZzd3u3O2uk9d9QI6D7w04XBnmi2jRxJwTrd4jZw6WLWjpVduoDqJ0gja3w6TEzbiAq+G+V2589K5vCbgf0V4UtY2AuR351DmrSCpGAkainXva3pxK6PLx8pXFef3m8U+ap/MWSzxgB7y0/a6q39e294U7wgJ9AL4jhpEt38GZX/hfd/+W3tx9d65AcnVK98oWn5ak8hsEVla3BC0F1WgfEF314q22moHxCm68UBSuDAx+SSGCuBDwa9pexoHHCjgDMr+2EI4+YjWsu4eyQghsSK6Ed6mqdjigCAf9IlEGVwnSIGsL2RZOSm04PlLV3MHgk80Z4EvZvKPNgVxt1OOhHBWME3rRVhjVcmAHGBgHcFwG5KgQ8GhIWHGuqVvhu0pLPXQRCaTUSSVr5RgvAlSiFAJVikyLhtZyKMOfZH2y9uaOyLe+oat4hyxkqA15ISfhQGT5fGt2rpvdMRc155jHLW5RJfgVHoC8+oxm81c7287gQs9fNAEvdfCDVxQ4JF6W8hg6GwCvllHixnyDYUlxhpRye/HpxpVc58/j2CjmFHxJ5lXk0N7aUt+H/9oLiwvveXBwIXD7wx1hgT4A3wHDqBOVD+feoyd13qW4GKErH9yZNSM90cIDVMoEn+le7yja6bYeZtbDVOn4VNU6JJZZ+ZqR9qrlFsMlgCJHoKC6mJsfQV3fleQ7zdqLHkl+ypLr5aEurSzwnrmCsX8JU6tCPZwL4nBCCM9i5BxwduC0TlLtJPCAkedavQCVOeEIaTffgANQWoUbh5xEjoHIp4VGxahDbFBNB775govTdDu6Uo6kcuBxUAIeTjxqebBDNl5BDTyXK/QoBlwHcvOz/NhNAKsQk7X6FDD1uCeqArYjhd6qO0/oGz/aBqYImUWHuqwIygMI0SKayLX7HGZwX+CBHqQI3MrbC7SAJhwc47nd+oc+9KfgO3N70KnR9q/bKVtuzcB9NA/mS4sXROZyY64V8mPWkVbO19CBShiIQp4D1mk0bh5/8cXFv3yg34pO49wBxz4An+BB5MTUwpXtX/kFvUREcGVpqjTXklhuLR6I0sv8TaOXfXm8VIFyENuZCqpyfEJkJ1lFOUEFTq2NRSMeOGIcjBwDgVnwkRa5cJZ3DDxxl6fUikW/4yr3rTKRS89LB67icTwFnbpBpT/0EA4BmueKIgHnzwmckpZWQKs4qkegjL6LoLQjr+Vd+FQsA60O7GYbvAq+Yat0hhe06E4NA586OfzqtMqrbnPZtKs863bKDEONYzraajh1Ui2bOjjr8Ng2JTmgODfMOTYmOc/a8jGCScGLa7EK34EGev0xb9JcmjsxN4cjZqX2YdqLw9jCtjzrVfNx2W0xd9RJ06AdsDrRVtPVbYYbtlqv4bQ5gFI230GnvtEjv/zS4jGJPs95YPwwFfYAQ4daHvzgH30ZN58Sxo8Go/5w4i3QB+ATOoRHR/N7Tm0TfksH8KgKnFrxaP+YTzxqS5inTwBMdUrLGRBLBeILk3rWRR/KkO+LrWWtX3kaS1XfJovXXkYjdpy1TS0HOcczToUxFohwqyU38Vvb0IOZfgkJZ4P3JOiz4iZ48yfcLrm84ghBoBvRbByAKtO/4EO11NfyVDs8jKviUloy01JLVoJ2Dfz1QNDVKr8eft3+ZmnXmK9m+4bL6+SPS2diOrxOx8BZTcAYAy5yMAwojGG7Ei916EKGNlp4WEAXd7rE05zUBNXFo5hscC846Use/GBYaCPXoebttpBLRakNvNIDnqhGqvknpIIZUOU1z6JGy8sy4AkQGZZTsYiiLnR+kgKocTGofAm/0C/JAKY/8X/spSuLx955f7yWCJs+nWAL9AH4hA3ehc8tNieX9j/86vX5t+2c8mmriMi+nVyZVhuKifwcL6/v6hyXZ5Bzm7PJp5tq0cbFtNasCsH854ER7gnPB3IMwiJMc0uYKK0TXlEaOHzxEspFxCKMG8oEcdHpFSblsmTSlijOyvqGhFOBbzhTygXDTjscmHFoE0HQZPEGZwvKnZ6K4/1r6WbNO4ZFxjaMVRdj6Do5iTGqYat1j1liJ37QreGlySfoXE8QSJie4dNnXTSR40n7+BBH0BVGzAOnMoWyqko7bwRp8QT3HAzdy3wsmVlF3tIUaFtXgTL0yAzaACRiyKWBVOBcEIB3s18j1Pn0I7SbzLzdB1jR6PZSDXABPq7KEwnojyfZAn0APkGjd+F/e/HM4YuvPab1wdubZoPTXUlLzlLSojS2grU81b3Z4YwVqiAKzKwr5Nrk6xTo4t9QTk7vB+v+LQ9dCaZGtprlHPJ+IEEX1gPuxwllOGStosAs3AGvIcnJqKSV9hQ6nAWrZG2DcyGwOJo0uzi/olr4Dcr8SUTkEBF4g1gwHlyJsmDASdTpXzgj4wtemgOnPgTeSrtpIarpVnkjxwkaqjUtbQET0Lgtj0JgGrNyf1paCsE0mdX8CgswbpqCVIdWvjBXecDfNnMbDE1DOfQChs3JA8ihw1vFD56Fd11eRxO0hbFl2VYhpMjRFNWPLxCEQy7vl2tWQc1spnU50cKq0U8vw9MXCWDSD/4QHXOrlP1QlHUReClBQyoqt7YyPnKNE4ilzly2HNNTB//Zp6ffJthF4E5XrizOaqM9vmQHP+SRkMMfdLdK4Asv3x2+FWLfdiIs0AfgEzFMTUPwPZhu/+eKf2fGG9x01blanawsFwiOWkPoLzvFt5yzNFKg5VznsaWZvnLFQ1Pp9HBnck6CgcunKHV+Kxgnfjg7Hsdiu5n1NA4SCnBDXs1fi2a+rBXtu/vNS28/2zmUokjscYe3FSG8gBMESKjNn3GBkXBMdDjgQZDwwC11yk6A7Mwow546zI0X7WqgDYfuBmxqHEHbtlZXwUB3go/bgEFbtxvP8MCX0BondBECeSTltgn1aKcgHPMx3LLph9vISbCzvAD4oAZWaZ4/ls/FV53c7pw2l01T47tcy6cMDboEbRQSk7ZXrs1fYJ4yb2XtaGDuCTfnsaDgIc8pgil9EID+M37Wq83V5nus2MbkS8FatGEfBCitygkYwIIH79ADZiojOzuWtJRb+Wp7dX/2PZ/49Kv7/+ij9/4beEUaK/gy/kUh83S+CofGbckgjmd5jemh+2/8YZUKpy+eAAv0AfgEDFKsfOfbPy6PsqOTXr+Q0Az0c4UvoXp9ci70/VyfwLTNZrqrpkUEMP0Ro7WUjSeTy2OmsTJWyJzp0WU9wKV23jECX7h65jkDrdrhhkOTW4F+FKtj4YUb4cd/Z9zBQ458KO1fvzZ79j0PjkL20jYgTqskiCOwBpfUs3aQxkMqKbKKHpjxsQOp6B459dY+FZ1hiAXMO8vQOVEGh79w3qUNXGCria1ar97N23jmFfzFB31XceICQExx6IiynFYnAcwP2Us8ASjRDh/0dQo+K32rZa/yeb1Ph5ovea1PDafsPnjcyNElZwuFpJ9M51/R7olmnXZNIFLiNSTd1IhuhIwgLPRqt/7mSZ1bHgGHgcqwClvaGMKhiIxoi0pFk2Rr+wR+qIAcynFQoSTktAkc/bkvEqZzaPGIgnDjIKzenvV4hz4IqBIwePihLuscigvP/LfHzXlVL+qvTyfYAn0APuaD9/P//PnTh9dO/5ii545OxnAd+Kg/+sLR//va7uKlcr+s+doL02fVFfxXJJ3AuciJVbBeRUpHkUcF07nuCuvJ5zj99TS0XkjSKa4VdDnBwRO9Vs7cCpaDFGMtn10PXwRtWTGH04E2t7PV8JUX58986NF0eDDD6USQUtmpKCOv0uHBFB3aNiOTg1dWaeA40VGn1iGCKyAOLC4AlNe8wziFyHCqsIp6yYHVgZE6yTiUdSM86FAtdC/6RFbKtY6AWtxCE3qqAb5OtR0CXoSij+0JrnWxnsCQYXjYrcBoc9344AKj/s2mIz2Cbj5mt6QHFSXajiaLi9pmJviqqvmlVS/jS12FeA84kHUIHoUhdsFe5CTnIMWWemkzXo1TSHKHoeAHEx1iDHSGkZPMN2RV9WjUwTo4N9w5X6PhtT/xOf/xz1yb/8rP3vcnuh4+a/7kHgN0D3jpW3QYGTArbeCyS4Fe7odl9fnJtEAfgI/xuP3Mny42Rv/mtR+bzqan9UsHnMikhd4HjIei/v2Xj55aVp/4rLuyuDLhcRUdW83c4c3nrEqbPuLMbrRw8rmsxAegk5wHn8En+JK0rcyu9DAe8IIE7Ii0CrmiD+bC0zbiYjYSqsCLK1dme7sHi6d2tgYfBB/N1qXghZxQp2BQDs+zhoILDNqMv4prOuDGAVbgQYoykhnlGkfgoDHPQABYJbc5V1M4YPGMPhY5FUVXND/lviiIRutgTLUHKgwpOAUwKxHkqBtW9AldVvmZ3rlpIFeZC4i4IpA8VsHjG2+9mvJ186uvJUrOkVIuVMDq9MIrsyckvczrfK6Adm55oBb4pVtLwRCcsJ9y9HcQW+UfNhIDusshdFKxxaNtlR48273IRwkueKwP5Za38WsZwi8pLog5l/RMxvlf/PTViUx7FVtbBwdUscmxKLn1auew4Mht00B8+nTiLdAH4GM8hPf+61e/X0u+U6PxgF/3wy0qNGplqs1iVgp5v5X3d7UrLZiC7WCk14SA8/EM58XFKaBqiZr0nMrBizeNklYbgaLRnWEhhUu2ZQjGuGgH7YDLScYDWeY50xpaDiI+30EuPQZffnbyL77r/ZuPh5Mv3GofEiABlqQVvNrxBH3n1IzR5bTxZ+bRu1I33LmpokeulNz05rfS3FZpJzmHzuU6N79ALodaN3QwrXFNbzhkddtqGXzjciETVwEQlUSbYaalyTSU4VHkHhw2zZkdgN942hftC68s00XQkywHHOfakXnx6quTi5qP5bmB1ID5GRNdEVY7LqFXxEPzKHpGV3RwIKY/5k2b5cKVaB7cXa5U1NwvgotJCn/gzLts1LkkuOsRfAsPl90GGBahS7wKGHesdQpyfo0e/aM/P3jhP/v+7RRWeAStyojjvIYB9ARceJHAcZ8Eu3jvTv9d6LTMyT72AfiYjt8vfurKeX0O472oJ2fAw0+zElT19apQmiCsFaju0/JCr5LqXHFHICX4kqCVA4oaZW2F8kIR+8tD4ejLVoEGDfeI5SaSRie/SnJwRS5leAIXv7mu3NGJoKufKlTAFR/alYdDRaen/sPRU4+c2/ji1ubgQzhKVtQo2jqS4l1CEHJVXy0XFMS3aQknKoUWZOrKW15QmYlzYOvS67WvowF2M7p1cMNulluG21f5r4MbJhvfkNx2Kz5V2/X9bzwAE2K+fq1pXqrWZNifvzpRjzmg/OuvzP7F1euL15g/ZQ4GKnOJea3pubQFvcRLYxz1iv9SuzjRZBibPRGoywVKBDNsVc2d2C1Cg5vxFDwCOTS2cwmWQVbRBX9Y6f62+jKT7JiVnH9/+IXJ2b/xvdt/uTFuPgDUOjoIh3zxTYK0F/yB23bS44mA9YcTb4E+AB/DIfz5X33+9GK8+V26h6TTjgdS4lOSEeB0QpeAp0inh58IeMIC1mxo5Vl/rUonfHyUw13EsVGW0+N6XMtmnj6NE7u9d0w7rxLF16+Ep0AdvgAZalrotlasfCUueDnPp69nQ346D4caMkTwH742+dwH3rf5SfiyvWlHU98TRQeYuS05Q6EUUpRLOs5KfAOEQw18O8PQLigCHo6t0IBHMwl4yFIZOLLdDrxtNFKhCbmBkCjUTRtkaqthyIFv5EKgbDz3pZVbcGmHJ8m86rzmCU5BTZsUHtBD0/YTuSAqLyokXcFv8QoatF/+mj6cVj4nRjsp+kKh0FEkMe9ijZfVtp/uewFHBoxxE/6LTz2z/wRA6Rs7MJpzqsWDfjG/9g5mL/FWMDoX9UGPFHZQqai21C/wbcPEVl0F4BSClwmdq4k+rJUFnZJtaqHRP/NTe/ANTJUL36PJUBvynDBJJRrdsBmM/vyvjv7lD37X5sfhiVDjB7nqth05Kfpbysqu6ifAP5kt/fGkWyDXPye9F3eY/n/zb33ye7RQfceYp0F1a4wTcaCHVeSr4tZrnKC6kcSDyrq6V5DlPmyexwq6nNRyAeBrnzjPYnah5Ze0L0xEzV1nrFbwBENG0rLGxYXo+p3vWul6O/jBP0QBELbwJTNKItdLSbra52YzFwT6z7PUenjrpZenLz74jo3TmxuDDwRXGIu7/+wsg2Fpi9WK8chLWVk4cOqk4EGuP/gYbp51Dm6NAz115NKWQkoGLgiFBhzTgkpqZRfayHRwbpzIjV+1G898IGzLxi85PEKXqg49Cd3KA3ahIzDzsQzD6AN/oaSyG/oUiDqI6b5+yoegxFiUoNnmwOOvXH0hLxLKlAQsZ0kCQqeUvfvs5cP/5dq1+RU9oSRIzCmppK0WzUs5pHj4/uru9IX3vGPzPxGTsy1/sbKoYBXUcEhZIUM4oYYO6G0daIu+Fx7Qg2je1PkD33wCBzylGmZ4TVvLge+167PPPffS0efZCeKp7tgu4g0EDdZfXZp97Xs+MH5Zz0f8ELxZ2Zq+zinTxh9J5xv3j/+rne3BnySkP550C2iI+3ScLHDhtxc7+3t7Pyp3pAvd5TQc6mbwbBo/fiAX2DZq1au7TTizCiaPpivsQTxRo6Vn4uBjFCo3ZuKjE1s0c90/5r5vtMshsqUd94HFHZgcooJp+jTzIEd40MXrR7yupBRP74ixP8as/RU5wcG4GTc//p9u/+ON8eAREHFgba4CjiwZZBus6hROCSKlmjYhN6e1DPxXIW9zaN1uPnXerngENG3dXpfRL3itIFpXcOuy6+YBLck4kQtoB1+3J+b6Y+iw0lTT1mWjmcZthrMC5p4uHavHx+302QHNtNYfnBgz5cDcMfCuvDb7Zxe/NvmDq9cne56z9bzim+RslYi35u9ocO5d4++OB8Tgo4BaHmDSLQ99Qob3x0pwonkpBa4mH5eouj7VxI6rQ3CkBxswodoSDZUio82XEBAGQhDTRfHoYNGgw/Rwsfv812fPcD7W5wrt0VddpM4Om5c/+d/e86hOmcdl3/PBTNzaXLgoiM3IdXhiNmw+dmazv/eLOe6UxPj26RhZ4BOf3n/vbDaJ3/1kW658V3kxVjnu967oiqOiTSeu1q35wworKLqCzsBqOLt9EapLvI66yqu58W+Vx484xIc5xLPwq/FjRSw/eP+9w9M/9B+d/p/H4+b9dfsbLUcQqGarHVVNvw5Wt68rQ0NysKP8ZvhA5/SN0BvXuXnU+eu1gVvrX9N+M2V9zSxuGzjQruPVBojSWA1Rix4BRLWXr00//aW/OvqDdfPYyJ6rnjcdPHZb4laL5xzzjTlLWjf3PJ8TQ6GS3ZlyMQmMdl6DiovO3M0J9c2LC9i4EIiVOvNCd20KPvToQV73x/oDr9OqLrS9evqe/+Of/t3BZH+yeEy/If1hvcL1E9pZ+BGY7pxq/h/Jv6jfDH5W169PnNrov/1c2/NOKff3gI/dSC7OSSVdZss7yB3IafD2L06CMitKnZ8KuDgMvTsZ19+061FiFqA4GbrECpc6P/U202omEKOv/CKSOLLSjfeAtUcmCtrTiQs/AikHMVCoVls4Jt4dDhbVSluA2Dhk3xBZrJb1mlQzkwLUcXjodu36/Pr/+Ud7P/fDP3Dq75zZGfxE8skjTNc6bjVE8CntbzTI3CpgIfFW7bRJ52880YFinW+U+E3LfD1BNuqb1Iv5g82ZP+hIou5y1AssdgwoA1TyWIGrObF75dr0d7705f0/oM1zlDLJc1pvug0oj8Y5ZyWZ+yYD9Cg4aCOKGYE4RsnB0nMveYx4VS/moOeu5zLigPFOu2ijV6pL75FOsZk+i865hFaRAlcNAdH5ImCcF4Kz6yMldE7oXIxdIukt4vh4jXSLk6g9d2JzXf3hnIMfOjxwdMC5/kwJrk98/kvTK2r4YSR//3cMf5S8T3e2BfoAfMzGdz6b3KsIpqioB5p0GuuE5YnjuMLXiS6PQeBUK+e3QjNX5Dib+YRAp7J8BG0jPWNVgq9+V4HvbPDhDfmHsgKQs9BTplzR4yrHcqq5jYwMQQQbxQpBDkbOKhyHoPpZJaWQmU4xnJB01OtHrMBFpzemJpPBYGMjgy8XCkJFCBcNzb/+/P7vfO93bj7z9ntH/+V4PHgA89OIJwyPqlxo4cihiTIFJXBIpZqVcnSbGYHTBgpVVutBVjMyAytBPYhKHgTlUHCjUwYJ5npNSrPZFNQuM2LBoSEClghCRGk3/VJetQVde0g9gt4wEULraluoGQponGgvB+bTlgaB1XCdYsxaIR2tbWDc6XTx75792tHvXN/TJyfLA4XMrZzDiuzMPV6jW+hNOykQgVMRn6cXmEPEsQiIA+ZeXDTG3IeGecd8Nq/BUC/Ia56rLS6iYi5LtcRLfKlMAIy5KCPrSQUeROSJBc6X+MFsbVpLviDQ65yShNRTV7zC5E33ONc0U7gykQBmuOY9550+WhMXnNiNlLzH0b/AFQoXGLQd7h/cR96nu9cCfQA+RmP/iV9+5b75aKz7VVNO8ggFWkjKgVAf62SOE14BbhqOSs5LF9xyTGrjpIYunICCnrolh6Y2grkc3myazkLricCbL/TDcxEy5RyIfbzGOxxrtdzyLo5PwT5+aTwMJf5yQeMpK2wC+oDVEY5F75JIDhVJwzEWXWkfad85+Wb7F740/b/lOH//+z648+P33zP+Cb2S8X6crAOm37nEmZe7y+nhkSOY/reJssBdolIjlBYHtqhWPCyTix1IXY+H2QqtZdQ8DCsokbndPOgTeKSWNzBV6BurRhJl8KiHHuQFBgp/Mu5SP2sZxmHC+OIFWBAICG/+Ak8HB8nQN2YZyGovbc4NI49VKDoJnwewwInAKJjL8A9ZWvFOpot/+9r+7E+08v23l188eom5JblIEBbzZ5wrUc1ZzUnNP+VKs5hQzBnFVuav5jaJnRVNsgLDTmNtrEx1g3c8UzxVQB+zehbPqQIyxMjS72cqFx/W0bmyVaDkwYY8x/jxxXwIjDxx01RcoCJXgXQxnY7FH/24WOBk4GHGnMvgxAXAVMOn8058qasAbryeJ110/kbv6AsXGrpQEGyxNToDfZ/uXgv0AfgYjf2pzftHu/oRIZ3hfFgjkj50gceSc5nGlby2diNQ4qhxMAReTnCu8qHz1X4Q6wA9K105g3Du0CgVRwFNOj6chXiynVbjCRVHouCf+rDaBi/cifGDnWQge6ifKEZX48APhzQPHum0VNfrGOPBF/5i7/cl4PcfeufmAw++ffw9WxuD929tjd4v7fgfqXgueUX5UHkxvGgIT48m0fwXLPZAqaiVKJ1YyYQjRMFzTVtgFf6BA6DgmcbyCjyiCbBA08HlIC20NJouRqdVQlgsp+gLj5hnHjpC7wR6zAYKTuatesuTtlV4wQ97ZLnVuTQtZTUvqwlLUojv+IPK80/oZhTFzRcEuv7aweLf7e5OXnzuxemXmXfMCc0B7eYQuOKiTTlbtcw7faYxR1XzSg8Y6uLP81c/YL2Y6mpyOMj5yZzJPubSkg/AaI4p4GoqSw3J0ixjnhJ8p814PFbgRHkFS83xmJPaIdI0KcaMC1EQWpmSLRkEfZ63yHNKMnL+KqdNekh/uoIe2qXSgxfSTOcXF6BhD/GPQCulyDn/LMN9UfDllODD7H26qy3QB+BjNPzXmlf1uGZ8ozl8Gyd7BjKd3HpKg3upudLM133yV43k1HSZDh7fnSUfKyhzDxhnI5qF6+VempyirurVjm93W8QBfWIjHaCdFI4jHEjQwJt3M8M/qYzp0iEpL3tuckhy2IGT8uWEeQAV/uadcrXpOEv/87UXj164/PLs/1oditS/9fGrzbEqox/0S1uk6rfMgB1wkjKRZEbdeq62wR96koNFljte1N3H4AmuuLcw6thcOpgXNOsSOKSjyUz43IvPrf3oZ9EbXjfqjQ1HethOgSx8fPKxDkEjEPxpdz2xOlzLWeIRW7DLtydqOpeRBV9WlwSiSLIxvGq54CFH7TqyfQudtlxL2KOOHYMfJe3CiIceSdCaUYywIfMY/povcV0V+gafHFuPldpDftphpA9ecLVBwtASwvvswPQ6HNpIL9okDd7M6+CPttKTrWPBlbuOrlNd8Ma8pU0XE8Cgxxb6YxXfzoewu9rhjQ7IDp7lvIx+MS9RTnja6en9L8a8i1M/AY7R4G9M5Jq3TunU1pWytoh1QpN0MheHp/NVJ3xczTdTrRj0U7yd+jhGndbyB3pVSRlb1unE5NRok+OfKkjlVlw4Djb+cHhle01y9L7iNvUmVyPWgRUtUyUcNY4HnfQHjNXFmIAU7o22XD2IVjgj4RDjCgz9oZVuQRs85HjNU+2xlVj4SQb/6ItWJBubrFrC8YUMrXPUJm7qb/YnpjMwOT56nXXuKy6O5IC5RZiywyJyk/PhaIpDJGlrXWsamU6BPG0c/MP2RT+28zPl2HhcsGPIUiP3D5cDFX2CSqEg9NcQoH/oLnx9D0VbsLIfGmNH27ezBRELG8ZTd8ELfokX4UaXZtgU2hgLmku79aFvY/3gsySxJZtjF3MkkGWzHBvoNG7ltoH7Ihho2C9k0E/xCHswh0o92nN7mTkcQZvGkMcYqk/IVFQj+KFbjiFyxLHtf85JNecYKlqJR6yGsaXMl1u9mm3M0dClyIm5IFsGPOe7sLAfCZthY8r0V3VBqOV4hDxun4QQzjdJVl/Rm8S78thafeeCIcaKcM+2vJLmu273RNk0WlFnH5FCQA5+2F8PThwFVX+4ay1gr3HXGuA4dXznh96xf/0Lu2xqEbxCtVi1yJHpxC9uIrexdKYLheFLvAX3ieV0tLUXzg4Hpm1frrK1qta9YWGOuP8bwRknkinWCjg3FfJm8AEPcXGFrnryho/e+RVE99TUFt4ryFWXI+ImsdYvkhH37HSPTRGMdYSCEv3AH+EAoQUHmfAyH/eXYE1ZnVeImCpWsN+tuvqC7hGg5MShk4z41AdbmXJqsg+BJ22jNb+2uLUA0spmQrseIFI5gp/4x31CNIh+KfixRuI+IbJ5a5T+oLPWYzqik2wqHNknAudQLzRbLnzyIoN+5cUGsmayHf3E4XNfk2Aq4Jx9R8bNQUAXDxohtUsg/Olj2kdQtZVVa+DQHvaRLhG0RbcgmOif7DOfzadDjVnwiPmiIMq4YfvkG+OHbdR32UxxfSE60fDAH/X47Ir1wIaDhYJ2uT+LnZCrDoTtsIF1pY1+SM4cu4lf9Ef3SGQ0jZn0CrtMcjyZq8xBtpglA9noIf4MOQrqv/SBJ2Ore685zu1YZOBl3GKeSH6Wc56hozSK+Q4/Tc62bzE/1Hd0Cluo777YGeiCzHYI2dIhzxX0ULndhRB/McYe6nWMJzaclOCOXWb6vcW4mmsKz3J+chGErsPRxh5dddJWwsW4ilro1aM+3RUWYP716RhZ4Bc+s//Ds8nhJiczW3LkOpXlIHObULdOh/MjtuvkHuQDyL0lV+d0KbbOtAVcl2MbTQBwa7iedS2BSR40gi30BBwcOFt5eT8PGpL1Sn4R3gscvvmzhQEI3I52lQ841oXysqzUpdVZwUueSw5xpl3w2G6P1Qy6ENBq3gQ6cNNGxYVO5aq5ZinJ+LlqzOBNE/xxtpYLD147Sd1SVmf7HJ+6DR5dnxBYBgqiNgEn1nDvMpPldbRpD7ejGeGe5D6nbp0ObstxA05iGxX7ZN1ysi11TVjHnzbbpbOT7Zw5+ghH4x0BSLI0X+MCgzpzJvWCF/Vu3DRHNBCMD23JhwBO6uZO9UtdYc/k2c2lxM9j2oHV9GFsGddtdTnxcu5zcZW65/y2bM+dtt9lLrkOP5e7nHNFtxbYj6/ao1LVwTFsOht85TMfv++vXCf//DOLs9/3yKD6qnbd2pfvNAtU7uhO69rJ7I/i60v6wvND8k8R/OiFHA+ekXucOvFVZjWg6262k7lyVxsX+UqxJSb8LdVjFULQ0O21WC3gmKI80qpDOOKVW4IEWrac5ZCCj5YFWq2kYxVQuEyTMdt+4TzAly7SgftuGaDTmaGrUJVylXEgmds4WZx/JHQzn3R+CpTZP+mDE2630kW3VfhN4acXQlI+wVcr+wU/CCGm2EAZD6m5T4JpHZb8Q0/4xEVLykBPthD94E8EpmJvVua5tdrpLCGDrRgD8YxARj9ph+9ssTWNJ7e10pHQ0lN+FjK3V0UtqPTR8pqEDr63nk4fvDY4M06SFX0Sdm6/I4d7lsGgOmgcirzQL8YUXupbwLO/cbESuiZp8k490t70RboETtLQt9hNkV3jAScu0No+C1n6aOGqb4qPuH9axkYrOOHnfVbhSN98sAn8ZiEdY+4pULP4VJ8EF8/ol+hynki+yrGjUWxFGUx2DjTx9AyXonnIxC7RwskRNvSczPMHcBecp8O0F3PDdrWuet2Op7E1vppKRbeil5biJPUr8jxkm/rPvNGYoUdcMEezcMXLMlJ/7Ao8c20QHN74k4J98K1MfBcUmbV9OkYW2J/uPb+xMX4w4qECIaoRENnrm8zKKi3g2u5Uq7Y3cU4ZPASnrK3IdNSqg4NjEg99kpaPQoZDUoAl+Ea7HILC/khex6skbbgS4KAcb4wXk1BGlZCb+sBX22ii22brU7z85DOrn21tneKs1aatWPkvHlYJnajDx8FJN2ZxpLEdOtqQX5aseO855OuDxJFiyxZIqxfOTduF9Ft/2RdkaINX4uz4wh6xzaqnvYPTSNvHyAh76iVVtFrwa484R/ynbCHXGnIUxMq9cMyniwCClLbCsWcmxoD+EqgizdL2snLYSlv/0ho7twFKaENtn4uXpCRd2KQwUL8UfJOntkL1BnfoGOPoh9/gBzqH4sxDp64Pcu68diO7YEsCC2XDxnqNDPvx7i1zS3aXTeDIhRP6YQd4IIKGNohiCPqkJHixheYVD1hHP4OvWqO/QQ9uzlXksp8rHpqLkoUNaNUcY0yK7BgL2kMn8bB9mLNhT8a86AkPzyV0JuCiC7oXXUuOTfWQg+yAPoyZ6jE3lOvZxhwLjb8uK0KO9IrzKnqLnkmHzuqHZKAvc0Q8c9xlD8YGPXTByCK/6AJv2bvwxb6y6eFv/v2dl5Jvf7xbLRAnwN3a+ePa74/9+jV9pH2wxQlMsnPMV3xYYegtRAFZaVCOrdZwlIVANMBxFFpdtNvVuaU3KQ4FXNr1G0pBG1f4rbNJesHYxlU7joaUuqQDB3R0xLYbTqjTy/XckoOKQIazwjFPQmf0ihbB6v4BI8EPveDl9mzhiHwSjjRtETUEcHd2ktu62CfQdKj7w/evoSVhx9QXx6oXRwKsKwE56tQh0MAseLxmRR/SbuiWT72Chx28VU2OTTaW+GR7wqFABuMCf48ncKdunKWz7h3P4wlbcDciaFp2fpkJfrmdSj+sW447cyW3P217ZKYNiz1kO+45I3O5L4Oy+5JjDJ3lbG7qifuwQTztLnunDXLcbDPbK/vLWCzbFnjqlvowRzOAZf/Thgpceu89g7btk7nsoYuAvF/e8cYG9L0br5QPje1DOecGDx5So97Nm4QYP+2StClzOtEwD1PfHEPmxc37SRvytKHz/K//d/f+JfU+3b0WSC909/b/WPZ8NBteXGwuPqBbbBFAtEKQI9Eqjw/eERik9aZWUXiR+aGu6OWYxuPtwKFD8SMJWr/Ejy1oW3QSD840w/GGfH3rwNLbpPMQjRzYsjEIgHIkWokMCVY8HKOVAquVWGmxCtGTxZtb2u6W55Lzi8v98QZbc1q6iW68kdvNODStOwf6aIh0Er1Qcab85h1PnYIbHyfikRk9EIQu2gCXPK2OpQXtDV9ian+eQvq09cViU6+bqJWneMRfttjQfUT0k77OUQ75fOFBqw/9ScfElQdVfcrKCH3gpCT5ITdroZ96r7WNniTf2JYNwB9pHHKMwq6hX/SdV8NSJ33MdzzY1sNX9F06hX3o70T9Gkv3scx4oG+XsHrKVSt9s+7SLfRCNanJM7R6uE7aKVhubqkvsn3YlVVu9FdjQec0vOKdvdlSzyayqx6oClpts6oPulBhy1yIU/VrQ6jYVKuzsX4+g/7oVSmGqplvpF09xlKEvui1J22nag+B36Acqo/seggq/LiYUaDRs3FCoG/ur4RJd7Z6u0CKXYZ89UqJOatvqanbeqBJc24DXVi7Mx941WwrV/PMI3SP+cIDeMzLwwNkzdWHsLWCt2bQWDf0NV/EnnNFeIiJcfb4Sth8fjhhbue5g32dsAlJD1AJP+Diq92StC3nFH0mhU7ldTzmCXMOGTHuMTbY4UAbBqPJzul7vxJE/eGutkA30e5qMxy/zn/i11/70HBzdO+hgkbGHW3jyVHhdHCiGzrpqY/k2Gc4A76Oldu5OJI20IKjpRN38XRfVPdRw7mko6TX5kFQpS4B8QQxZQcEttXaeCd4+KTCQi466MCxI4I2U64ScOaWU+PAB+eEfrmNOI3focVH8ms8Gyw1CBCR0slNVN9SfyciLveAAwf+9KH4V/UrPsCgi47xnC+HRWCQrbBlXEAUfeHnPmCjut08ui1OOV4Fyey/+qaydYAPybqhN+NBjm66rRBB0GMznx+oTduSurcOj7QPtpQNxAedgi5sgM44dI2XdIy2oqvtSTu8I9CGjtO4XiFQMIe6sRcv5B3p6WHl9IFgFxdAyk1vfeBrmdaVvnr+IWTEhU0JQjUd+npLtp4fyMvx6wLZoeYItm95C4e338GFj+cQ9pGwMl9o6WhS13GMoeHk2CvHrdPb42Z7M26WwTnl/nh+0HdfROV4ZQBOmMphhxw/5g1wZJOwFXLMs2kOLv2jj76tD8AY5y5P7SS5y+1w7LrPzxJOjvY+qIt2ndoZyJaUlAebjza0asoA2LYBj+1ReanKeQkr7sPa0a7F19YqtDhCvW4Rjm8Vr7ual7POUKyV7gZOTl+vlhQCo2j1i05aqbE9no4qYbl6gwcOy7qs5q3MNQXjNnhwkmRnWTmKFzCFkT6tBdpQ/Qq8IMgD91cV+bnXmTaELuhVoD/qC4GbLXjsLI1jVRarTS54nEKPItuwkre61nDw0TkUVa46Nm/t2o5ZBs0WD/ygK8xCrsqGlXqMPWMt+0cb/YpkOZ0t2r7THnpovErf0B1wjJVlB6+iR+GrHRLZRhdQjHNlP2ijizqk/XJnI/nmfE4bB2bMVQLurMxB5qttHnzgTaKf9Bn5hhnuCWCbACcV3LZPK3M7A2pehHTnSQZhn0M1nw7fgTr7E/bEbpVeIdN9UY/0ntvRr37s9J8Fv/5w11ugD8DHeAr8wq+8+K7F5pn3hYrF8YSjxrlWaUMOB8eFR8ptSLmu4nViy7E4Z0i61YdWBQpQOA2cmt5JVPAV33BWOLiEwQcnggzSRPBY5WzhoDfCQYeMaC2HoEUHUuqU/IqTax2khFkeqK3MXKVRJ4Vu7rNoHayM7z5mH6RXoauDE/qjeyS6UopcwIQNsqVt1/f8M4Bpw0Hbp9H/DA7wL2grPLHLtoJpjkV1gVEuTMIxi7bV0zLdT3Qh2FtP2qXrhv4hMtWetPW4sBhv6BW1CTfq59ppHVo3SBlrAvLscBKrXc8TByJwnNCJt1hHym2n1ma2V9heF2myTQQmXZRoZrT2gS5oYLrUBxgkDDldAMt5HHoWey/1ER6SaVryFjehpd3WEbCiaecJdMxzGaeeq9iVxal+D3BpjqWdjM893bQ540s5UzevYZPnJedE6jiKeYD9cz6i93B7PNud7vz73/zZAb+03KfeAjlhejscXwv8g3+89/BkMHkoT/7Us3Ng6Qipa/NYT9byME+HQ8l0ifP69ULe0lGHFr8WTjcQ9OMPevCklmc656N4WIgvQXcyKVv3Wucahr7ZlnSULbsuw8uBIC8QluXQvi6h18307uSyws0t5eSdtoVWv/Q0JCagp+VDV9t5tQ/eUl9nk7pPlo/e5pG55eo2aCXf/bMe1JOH8ax3p1+Hc6O9bBv3x3nN3zLX5cav24DV41e3Ua7tVrexjRu3VyLoLc8b2hifzq7d/EdefS5YJ+dE3FW+tR6dDnrKXit7PQk9jzsYakj7bOjJ8txetu7Q2EaWk3okt1bfyeLpX/6ls1cS2h97C1QPQvTGOL4W+MVP7Z+fzA7f7pPazhmNCSbpGLoVp4KjHlvZ0LMrE22zbsQ9xlyd6PpdgdR8YtUjHqzwsjxRO0GT+5KTCCq1Q7FcOx5WCtDacglnxcIqQSxLsLN+lgseQcy6uA/USV70gIde9IPcjhxnh4yaX1fOp4mo03f0oww95ZmeKKJvXkllv9MGyEameWU9+Xk1SBv6aqtWX4jSd49Kyj6xE0FgTpmUaU6aTi9gHpfUKWUmPtvfHo9OL2i6ZBt3+ro/xkl7YdAON/XwPEm9bBfTed7YTu4D7dDXcih7zJLesrIPprVcVoU5N9YH3sTnAof79jm+NQ90pY7NrC+5x4Yysuo+g5+w5XOlhnks6Ysvrjoe2afaTpaXML3CVM436wXv2k7oMFiMvvprv3DPi+jYp94CtsDSRDawz4+fBf6HX9t/38bm/G3cW03niKPpHBnlTfkK2tlGjLZwVDgQOSY5S31isgRVHFjC0yHKYZZ250FUHYDzm7CbER21DS1eiWtebE3n9iJkdnw38iMo8BSsbnsWR4qzqvVBf/hbt04NaEm17jvitReBkMBMAAEDW6AvzhBdgKXTtZ6dHbt+YCdstyFaB3hk1jZcpYP/kWg2i/2X7ZJ2yDHJPqEJKfnSnuOWerqcON3FkXWc6Z70aLgZtgeH8UY/25ncv93rINO1bahNjxKXCxrouzEoc6YKWNYxc7DzAgO+8ASCrOSXY+hxd79tu9U69Pr0eVxYwSd1dGBNOcBJ2CRxNYc1x5iDOT45Fu4PMsD3OHseWXZ3UQGPtB2wpOlku9+dTjn+wJNnfY7leQiPTn7qBQw5up3x/D/82OnL1PvUW6C2QDjxGtCXj68FPvZP9t4zPpi/U/cYNW6bcjQ4fpyDg4Sdeq6Ku564HSdRt8X9XF3B58rCDttX7+DCgxXsSL9DfqTbf8ZZ5gNfVn3w6finnrkC73TstMrSZtBaDiuf4UgBpt0qPpITE86s6ysrlcQ5krzENVfrkfWu37layy1xeNNuXZdpzClz02HrVVkd5qaK3Xf1sZV+Nzkde1XOQOALp8629Hl7e1M09JFEAMKO2eeaX7bn0fpTMw6wbD3SuGVwyXp9TLss25rgtWyfm49ZPd457h0uvEkZtNwP9V16MRc2lXe2qvuQdHm8cUwIfptlDuZFRyezpsxy17e0oeU4rylybuc8X8+z7lOONTQHB0fayXFw9hgsz5PpYvaVT/29+16p5fXl3gK2QDlZXe3z426B/0YPZu1s7jzglQv68qSu9Y4nj7WKo32oq3serGKrjMCJU2IFpWViu/JIh2NqAlvSOrB7mw08PR+tx31y2zXeSZVfquV1XLLEanQ8mOjbgLk6Go6OFtMjfftqM7eGaxk4ZX2LQbryvu5mbOFp2RP8zde65AVC2aYVzmC8OUQGH8lGn8TnYa0jXiDNNla2wY8AUDvULHtlSZvlwMcXI0mzerFje+Vq3bbDKWefpdsidbPMGCtdUOT4JT/GJvGTH08D62aApGc7fFnlYc8Y17CR+4mW6musSLFh9g85cBi19hDvMk86G0FLWpaDLr6nmXOI7YqjxWhrM+7nQtGOATxFbrnQEZPQ1XMu8GMupp2QBw47BwRkLqg6+8Jb46i5ANS2wQbUs/+eo0C6hK48iKbgHbgeR2RBlzZWhTGW3mkH6k6566EXkfNHMwS2/LQRePo1CfVN72uNYh4f6GKgsLA8bKNrvMlkcebip/7eYN/c+7y3wKoF+gC8apETUP/vP/P1ezePNt6tQKpvIWhlGisKrYhnR3oneFPOxysMrtZZK2cCCo5WEvp1PieVSmW0jYMUtla6zUa5vzlhS7esPoSojVYdtbqaabUr2eKnfHOADK/6ZqOyQtcqMHHKCvpIdHJO4KdQ60yAdln6C48k3OjPCD5stUoI8nndCee9pIva4Y2jVPAaysXP0QMcklfQtW7tqhF9JTLliQfiN6Gjn+iQsNyeBq+zeeBIn0Z2Mm/k6TscqTMV6UAfKGEP8pYO/dhZEBz72V4tHrbILqTJkrg9olNHm/2gMXWdDNE9gsiB+iA+lGUgjWkXeFJWdFqUyl0sUnKs05Y59oyhtqH1oYzMUwfIYuyKnAx4Ma7GV981n/TWlbfttcrXWJY5KwaMAaq1MGzXXqCEhNCqHvuiZtq2nTvWqesMZmQeMP9yPDTH2V2JC4HuIoj+x1ZzjFU3B9q5EAOSuhhW6zMezQ+2X733Kxcu6NTsU2+BW1igOINbYPRNx9ICFy58cfPa1jvfqy8/bDVHclIKIlyZx/eD5WTYrvOWJg6aTuDgNxVYjuSk9E17fbNRgbM497g/HHTg5j3F8GU4UwW3jrccepEFT8uDr358bTHGwSshg6TlbsBoA5cg6TbTzLUspuyUpEfSdxD6OfDRDq37QL/Qi1c9oDYd7b4XvnqvGptke97HhF/YSnrBw3RoT7+xGX1Qte0r5bRp2ok6/SMn1TZJu2pFFPY+KudbN170PS4rJDx1yT7ZjugzUzAflRUh/aVttV/YFR2SX9o9dclXiyi7r8ZFz7y4ytWlbZsydZ+00EBL8pzCHvr4lfSWlYRE8JkqiGkw4jWm1oZqpt/oC+/kkf1jRY9tffEQjYWX6bM/Wn2H7TTGxUbI945A2oL5qc+IxvZ2jqHnes676mE5yWy0wdJokY3utV2zT2hS5oTmCjXPTfch+59jSRsyso96umG4//Vf/fgDz0PXp94Cr2eB4hBeD61vP64W+KXPvPbOo6PF2+VI+fqhVl1eYWkLsARedFfgiZWvy5njALfKHMBByiOl81GQPMThhgMyH3xoOkHakEMgIaDyWuNWtOH40AFdTJeyVuUTJA/Ff0s8MgiFQxdPBRcFyU5ny6UPlglPkgOc8WOFFbZA98MIytnHcKrRn6Q5jL6jfxcIIrAJnhcRKSHpoEE/cNF5sDgabmxtxgNfqQe6dTZHZ/gkf63ySrAxTvILnNApZXVH9wsItsz7szlG8ATe2SVt3Y2ZVpiyLfafzTajP9Bk+5Zgh7LvVtgu+Sc/ZJp39hPZWu1HX7pxZRygX02djTZj/KwfeOadOKbEnqmfIeSpa861yWFnZ+SmHT1nu50D7CPeYRfRx1jBC/45Z5Ofz4PsHxcBnX2sI3SZcl4b3o1hB0+8o2ZjePpoOrt6+dd+4V27pu7z3gKvZwFN1D6ddAv8zG8vNs5e3X+w2Rqe5ofX9ZOkg5lWVvwWun4LPvLso4Kb4IvBpj7odKT9667NeJln4I2AE/Sb4pNX/PCBb20zaBIOnZxqkWk48jqdzFvh8fBI3xOug515p57mSZ8IeLrpFnp0eaeHZRKgM6UepdJm8Nra6uywjq+RLSf1l/NXvyhDA05n365P9N/J+NSx3xbfZJbDr+lpOzocDDe3dNuzsrVlp61TX8OgoWxbU6/Tsl4ZtJHvcUMO+DfDSxuBcaMtV3VIvh6Xer7VY9gsDhWzsDvJNLYVNhmXizDaAkkH9z3xOht4PnR4aQvq8IKH5xU80r7cSlmeE2lD67Mezzog03O4ng/w2N07evmdv3TPlQv63Qfr1Oe9Bd6IBdrJ/kaQe5zjbYFP/PIr981Gw7cNNvXJnXC4GRjS4WZgqB1oOth00AQHAiIpcbrA2DnqslIKB550o/GhHB4rkpoWZ18H7U05X/h3Tj/l1PxCdDks80JPHDROEL44QuuaBDj21Ge9Hnmh0dlBK/e4OElnD09Wy6xsSRkEjIMdOn0IntajCxbgHkaQOb2zJd2CjQ6pUwZeghPyal21ZRn92lxMtSodx27Ecj8IWr5QwfF3MrtxQnZK1Kq2BLBuDDvdM8Db5qu6JB62JYjBz+PufpDbVvr8c+U73Cfr1Nm163NqaJ6eDzXvzjbgLvME0o3fje2Mi+2TfU8dwExe5NlHbMoY2la1LLDSBr64Sz2y393cAE+Pdu1fP3Pq+X/6d/XMXJ96C7wJC1Qn0Zug7kmOpQU+9uuLt41m1+6TkxwRU2rHm8Er1cYZZgnHfRgrJNqB0UYgyTqB6TCc1lg//docDIbT8VahPSyOMTnOOY65AAAS9UlEQVRxxLmS0sk1g53TW+LlAHcYPB2kalwC4Hh0GIE2OQDZavakG3U771HIdpRL3cB0H0ybjhQ9C66yrXu34kJgPD7Qz+hlECHwod+WlRED6junsUHqBH9gKRsJlm9ptZ2tU7bB3wHWPKxrBt20VWKnfZDnOnbMvjBe6EOQJGBzYZG29RiT04+U42Db7XQUptFXcMEjeS6Yj22S8M627suqnLF+WvjQrzGV8UkcbNmNHXNhb5e51o0L+mKPGo922wg+tY6hcNjBcyXpjYNdSreiX7ad+5T0y8daH/cRW6ODMdETuw+2NnS1derl/glnW6bP36wF2sn1Zhn0dMfTAj/z23+6cWr/O982XExPEzC3trfmu5MD/ThbOvNmW3rr9+6nY35Pl3uMTYCoUx6Hg1ThQEhk+iskUR+Dh+9WnICeHy8f6xsPBItA4LC9rV8AOhhAN1V7wJEpB6mmYA0fnDdtlgFu8Gp1oT0JHIzkBeeDrcMh6m1RXhwOp/qZQOTRx1C20OCA4X1a7diA/BBCKTEeHeh9zuxb6s67sPGLic34tBy/2iwT/grJw+hv9F94dE5pqr6TU0WW+1WXaSeFHCFGH9VXaIONDsXcwSfGIn7fWG9aFTzoaxm2PfBICMS40lMb5u2WaKtfIc6+Ji42s208P2BDAp0DeqEDVRL8rJPHvqPZlg0Osg9lPjDm8I6xFz24thH8nOgz84H2lJ0KW/6WoDPp280nPaOle+RLYyTuoZ/kRfAttgs9pcd0V3O3XN9gv5SQGoxnGmPNq+YQ22kuCA990Gu4OZ+MTp195Vf+zuA169vnvQW+GQv0Afibsd4JoL1wYTE+fNv1+2f7R1v6HdeN2Xh7MJoeaHWRqyIc28YZueqDhX6GcDBUhNGP0mcQpnvgTbQaxgnVcNociMI5amU82Fagb7b0s6xyYEqsnsABPpp2zjtoFeDH4u1VDgEfOmjgRwyBFlzkUmbFur29Jfd6mM5ZbbESF0E4c+lw/To/Hp+6phPH02r1Xulv/rGyqrwv/YzIIBhg20hF/Rxs2mjVBvDSN4kHEGBDty/rrr6Ou5UU/Ejwx97Y3StQw6nTD/o8nSY9OmBHXxw5yKHtYSPbqS3l6sJC8qzztow51UrOunq119VT1nXJqscZXtCmnOQRV1yVPdGRlS/jjoyYL9KDcdIvKWo8st/orCu2IXZCT8ZmI+agV8JaXWpe2n7YwWNGTgBkTEj1uCQkj8Gz2KiGu4wO6Jj1nBeUsRM545dzLC8QPAc2Tm8evby/e+2ffeKdfeDFUH16yyzQB+C3zJTHm9GFC/rl++al7b1TZ84ezQ/HI1aLcoSKvArL2wtWFSOtFPQ78W1Oj+L1Djk/w93L1bqDmtudT6fbcqr89m2d5NRFQJB1srOlbt7k1NErQyIulpWYVrB7B7rnlwHP+ODA98w9ctgTX0QgRCFEpJZn+mCmA/0HxzpsaJX02i5BpNOllm8867e1w4/bL/cxdcLG+1JTW/YKbluncPC+kFjmPd7YV58UiEtfvbpEL/dvuQ+rfaQ3uhDZ6ODI2j7VNNdfGwzok3mDVyfzJ6cvB/v7cUHT4aQN3Sfmiq6qdLGh1aTmUNN0+ObV0WYgxQY559Ie9ZzrcJflrOppPMYPe1sW+USrXcaLNvRPeXlBQlA3Lu3wqemp005Osp30rdTD03unr164EBso2dgfewu8hRZoJ91byLNndcwt8PO/+vxpbcienswmclmn5HD2wil1ap+Kbb4MTP6Qjzy5HC34GaxxZG5LyoF+WZet4XDIG6diazVx2aKmvh/zbUMOcaLAnFTJQ6+7DggWEwUNgk8Go8UC3AOhaI9ZfE/pR3wPhuDtHWzPKWfwgy/6kTodqek7FVXfOpxaHmVwSeBTd47zxmlPpnst3DawvsYHrl/Okc7Zz+SITAUo9V9xQavlfQUD+OdFT+qvnQAFlLmCGu0Ovp1ep5qtnT2ZYGeIfeBHm+Ujp9YhbVDDUpPumDpNpqdCV9OSo8/s6HDkcQQGXTcXbhx/06fep4SfYwpdPe7UsVHcLoh+dONjHs6N674yHthWE0yBvBujdfxNAw/0hm5HuzAEZts927Bl9sd1bKIn3fZ3j76++9kLjyxfqYDUp94Cb6EFWsfzFvLsWZ0QC3zuc4vRn7187d6Dw43t2dHBCLVPnTrV7LMCisC1o5VCF0zUpNti2/wkXpk3ewLs6G9PeASqU1WwY5WxPzglhz5peezkdq0cNI4OOgIsgQneCRM7JQKR61kmGO8IplWN+N3oeJMOeEeLfk6pJ/omfQbmDXSWUyfAdm15sZA2QBfk7oV8nHsGwYTD3fbCBqd29Ou8yk0Dzw2CR2sDKNAl7eN+ZP+LTsUm4Bie9pUNpG/a3zbv7II9SXmBA6+U043PMgwdwUf/zv7JN8eNcV61IRSkbuyz3tnXbavjlnjWMW3a7VS4r4yfVrSydzenmCeJz8p2MTg1T5tiZ+ZJ2mVfuyI5B4Vf7FTbftUug8V+8pK8+YYuOyZnDt7+SnNdK9723nnq3B97C/z1WKAPwH89dj1xXC/89nM7ckCn9icj3rtoNo/2BvrA1mJTnzO2C7aLPXXm1HxylEE4ndhivrGpwCDYppzZkZxn5mxPdkEgjaKApN+PH5za131ite3t6UNeOwU/g+BOgpupdLBMYODDGyeMYz1SMLYccrFqxuKVcjhmkNgcqy/CtS7Umz0x3FG7/iMfbPSajg9G+ojvYkzfoy/swutBn63tGf2zTtjG/ICBD48uhcLBc7KRdlns63d6N7ig2dEqEOe/mG9GEJQNpjuLsIvgnT2QXYKEdNpXOc2QvKP/Gh90QQdk03/3F962EW1pA9sEFXT/WX0LI4hlrQP46J12Fs+Qk+Nj/jvqB3LhGHJV7uwClHmEfjm+aWvtEGyqL9cZ/0wdLeOQ+pG3tKWPxs88+Rt9KhzmSD3OxksbZxtjCm8uYubD7en9w9P7X2+ePvzNn/32Gx9rXxbY13oLvOUW6APwW27Sk83wp7QqPnep2RzOXzu9NR6OJhtyWHzbR5vWk6P9wY5WH1TTORKgcfw7iSIcCvqJOn7urQ3gDuR2rlGnveAFcZjNzpdKlglYrHjAgSd6GD/57g025OBDp6IrcNAmERDk1NU42NkfbkxO8VN9ESg3Nwpd8M3gdTRRoBCPVqZ40L/gL7zTYYO8V9j1SUikSq+6bF1A4Xcj9OnhxW7hdRXekklb2KvVresnQXCxp0AtfQlk9Oms8j2CcT0WhTZ1zDGBL/KRi3rY1H2hFrj0VxcWBH90g78vLKgjB/t7nLHfRLqgQ4erC4iVfsBbl0rD1D1thsywDblskJl0Knb3mGeL55H6XdrDdmrM/uSFG7jMRdPAIwJ+sTW4u4Kd5uJN/aGfZ0b66OT99+41zzZHF/rVbme6vvQtt0A1cb/lsnuBx9wCP/VTi9H9H7q89fbNM6f29DVj7sNuEeSUwmlrJeMuXFdUOSOve12O9f63yUnr0diuTc/OsppawgeWwS35ZflQDh4Zq/zNC6dPEAkaeMqhgotHN9y4wA4npwu/jq5rv7EfbluVvylZr1yV81ZgoY/uD2USwUHRZnioYHHmNMDTkp19CQQdlnQn6BV71HDjOseuWxtnbugfctGFZNtneb39wUUfcLAv/XlNgd3jaR4ZVE+rPwrIW83iyivNoJMDdTduq/3L1uXjqh1prcfL/VjFW1eH9lDjbdtTX02mq/kyb8dHV2fNvef273u1OeyD7qrV+vrtskDrJG+XAr3ck2EBVsann2o2zr/tlc33PTwcXr2aeu+cziCMQ9fvBesjCwN9eCNzMNx+5Yoc96bvHa/vM7jmAwa8mgZBZ4NP1pMn/O6/3zhyzEeLBXXSOh0MW9ceRDqcPcuqq7uoMI3lGo/c8lbb6EOtm/tvPOrmC5/VMjaCN21ONc0qH3Dcjv6My6pMcNbpa7qax83KNc9ajvW3XjeTA98at+N3TfPlvtYm0M8mw3Z7GjqPy+kzi8VLL2Sbde/45LwD3+nyS9PZF58+nH3ovnN90LVR+vxYWaAPwMdqOE6GMgvdwpWmw6eeemq0s7MzHOtR4Tei+QsvjAYPPviQgsulQB/pS/8zfeG+pk2cmX5AwG3n9HH+y4PnnmuaBx807rnmhRcuBy/aoJ/NHhLN5RV+HV7KuCRe5gsk2ym9+93w6Phbx1WcVT2MB1/aSOjpfiRET+OW9q4PbmnUl1H0oWvLPqNP3dbxeEhw+n+jnI5rysw+nQswNO5n6pc2s94gwbO2kftRw8AznHKXUk6OQ45zrX9tS+tufeBhXMpur8vAqJPATdpuPukVtPm1a9fmP/ADP6CfA+kfpEpL9cfjbIE35DiPcwd63W6/BRyQpQkrl+GlS5eGX/1q0zz8cNM4n07PyXlebC5fHg+AUx+PL+k90mk4VeAPPZQ4BHTDHdxdr3tb4wFfxj2vevKHN+0PPYSs8ypdDNxah4429QKfhNy67fLlS9Izde7gyZc2aCxntd7JTXp0sY7reGEP2uFJsg1qXNuTdmyNbNsyeZ8Lu9OecLcv98ty3N9aFuWaZz2mprNs5KSNkYetuj50dMuyL168qE9jel5km3HhtqqL+0/AffTRR3liOf4UdGMuQdOn3gInwQLtyX0SlO11PBkWUEAmEA+efPLJ4X333Rcr5On0/OLRRxWCLl6MOVc7ejnRgJ8/f35BO7jjMXk6Y+fret/hng/nC535gG9a8qaRAs3TgCPhyKGvYTQYXusL3LIok5Dz9NNPBz71VV4OFLSRTJ+6JAyd0Nnt6JLyHaS7dlMY13R1veZ96dJ4cO5cZ5fEm2oc0t7Wx/BVfYHbljUucJJteunSRdk8+2eb2Ra2Jfg5pjm21BMn4dRXk2UiBz57e+fn+/tPLrTC7QPuqrH6+om0QB+AT+SwnSylywqZuTZ88slmcN99Tw+Pjh6NgLm5+XTMQQWFxVNP0a+n+AH0CvZU88EPfrChDVzjmQ4+LtdW0Y+ni/8HRauQ9vTT+k3bxEu5CPogv18sOV1Aht54q8F6uY1al0yDzNT9UfF5akV+toFDf9Cp49CVzKuD1DrV0K68jobWTp/ExXa2BZDabm4DvkoH7OYp+0q/TbfMa3l86raap2ndF3KCLThsKStb9Cvc2mJ9+U6wwNLDDndCh/o+HD8L4Di5J6e/6Q/+4GAiJ3ykGDTR3+zSpUdn3LfT/WQpHhG4Ufsch5wBWVCBCaQ1jDJ/0IBvmg6OHZ4SbbaLPvDJacn6UwtkQyP6tj3rTcBLW5T///bOILltGIaikrvOSbKMD6BL+D4+j30JXSDbXiKrjHdpOyo+SFCwrHjSmSxq+2lGJgl+AuCTJpC8iOUv/KtARD/sVljlx7Q/VWQ9N8WXTgW/tKauNo0j9/d3rdNDSdHn/WRb0ZV1y/gxjlY5yGfEsIeftsfic95D5CSt+ET8ZZtzLn3/+tf3pnjiacutLdcwuEcOOU7NzXOyfwaiPP+Y/re1H8/P/cd2u/2ls947ft2UGwcE7oXA6lP4vWyOfdwOgfqWrIR1T/bjOPbDMGjsh96cu+41hl9q7c1psq/BF/f4i71RddW+1r+MIz8W0L5Sj7Clc25/1ZtaZ/FCpLGvM0MrHpf5NHnqvFj/0t8s0LzeDE3Vwrn+Yl/KobDTijlv5aF87VhhJLO/eXpb9lRihg+brZq8t3N2c+w5t9PpNNl1DR5e7PWA5s74gMCDEVj8cXqw3bPd/55ALszH47Hf7XbdOHqRttxHO4faWpOOWrynWsit1Zqxiz/+soe8as3vWE2Dta6ttjbOfqQN/2mtZVQeHKKo6GEibFqzpnWbrXN/T09PvQqVi+1D/sKHUrShz5lNDym+ZqnNY+tLr/1W7WBdz8nt8q1DcexY1Wri/Bg8D+Uge6yNnGRT/+1tmOySRaGV2XNXhwMCEIAABG6QgApzOjfW3xwOB/tl2OmH2nJOdVxsMaf2X079z+zQh+/sK9uqznOR3caeW7bH2ryuamu+ZR+LtS2H6sv22PJqMbLP0H0xnnxci3G2l7y3/X6vte163ODtRMoQgAAEIPCNBLwgmL9WGOwnGTcqFvm0wuHj3Kq/PLV2TZOKT16jmM1v+KrarFvr9wud+yr+5rwiH7M3fbJZ7MjX26aJXFbaFifmgpNi1OvSWH7jdcIVBCAAAQg8IoFaXKLAdGV89jbXio7m1k7jtmpPWhVa19TCeFWv6xD6T9rm75P5KLhX42itRfK9l/4j3gHsGQIQgAAE7pLAsrCtjZe2DEJz1+azlj4EIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQgUAn8BrzesdviE5ggAAAAASUVORK5CYII=",alt:"empty list",draggable:!1}),(0,$Z.jsx)("p",{className:"univer-text-sm univer-text-gray-400",children:n.t("permission.dialog.userEmpty")})]})}),(0,$Z.jsx)("div",{className:"univer-h-px univer-w-full univer-bg-gray-200"}),(0,$Z.jsxs)("div",{className:"univer-flex univer-items-center univer-justify-end univer-gap-1 univer-py-2",children:[(0,$Z.jsx)(O7,{onClick:()=>i.close(Yke),children:n.t("permission.button.cancel")}),(0,$Z.jsx)(O7,{variant:"primary",onClick:()=>{a.setSelectUserList(l),i.close(Yke)},children:n.t("permission.button.confirm")})]})]})},Uje=({errorMsg:e})=>{let t=iK(Cg);return(0,$Z.jsx)("div",{children:(0,$Z.jsx)("p",{className:"univer-m-0",children:e||t.t("permission.dialog.alertContent")})})},Bje="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNCIgaGVpZ2h0PSI0IiB2aWV3Qm94PSIwIDAgNCA0IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8bWFzayBpZD0ibWFzazBfNzU5XzExMDgiIHN0eWxlPSJtYXNrLXR5cGU6YWxwaGEiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHg9IjAiIHk9IjAiIHdpZHRoPSI0IiBoZWlnaHQ9IjQiPgo8cmVjdCB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjRDZEOEQ5Ii8+CjwvbWFzaz4KPGcgbWFzaz0idXJsKCNtYXNrMF83NTlfMTEwOCkiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTS0zLjY0MDAyIDMuNDQxNDFMMi4wNzM5NyAtMi4yNzI1OEwyLjc4MTA4IC0xLjU2NTQ4TC0yLjkzMjkxIDQuMTQ4NTJMLTMuNjQwMDIgMy40NDE0MVoiIGZpbGw9IiNENkQ4REIiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0tMS41MTg2OCA1LjU2Mjc1TDQuMTk1MzEgLTAuMTUxMjQ1TDQuOTAyNDIgMC41NTU4NjJMLTAuODExNTc1IDYuMjY5ODZMLTEuNTE4NjggNS41NjI3NVoiIGZpbGw9IiNENkQ4REIiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wLjYwMjY1NiA3LjY4NDAzTDYuMzE2NjUgMS45NzAwM0w3LjAyMzc2IDIuNjc3MTRMMS4zMDk3NiA4LjM5MTEzTDAuNjAyNjU2IDcuNjg0MDNaIiBmaWxsPSIjRDZEOERCIi8+CjwvZz4KPC9zdmc+",Vje="RANGE_PROTECTION_CAN_VIEW_RENDER_EXTENSION_KEY",Fje="RANGE_PROTECTION_CAN_NOT_VIEW_RENDER_EXTENSION_KEY";var jje=class extends Ej{constructor(e){super(),nLe(this,"_pattern",null),nLe(this,"_img",new Image),nLe(this,"renderCache",new Set),nLe(this,"_shadowStrategy","always"),this._img.src=Bje,e&&(this._shadowStrategy=e)}clearCache(){this.renderCache.clear()}setShadowStrategy(e){this._shadowStrategy=e,this.clearCache()}getShadowStrategy(){return this._shadowStrategy}draw(e,t,r){let{worksheet:n}=r;n&&(e.save(),this._pattern||(this._pattern=e.createPattern(this._img,"repeat")),this.renderCache.clear(),Sh.foreach(r.rowColumnSegment,(t,i)=>{if(!n.getRowVisible(t)||!n.getColVisible(i))return;let{selectionProtection:a=[]}=n.getCell(t,i)||{};this._pattern&&(e.fillStyle=this._pattern,a.forEach(t=>{if(t.ruleId&&this.shouldRender(t)){if(this.renderCache.has(t.ruleId))return;this.renderCache.add(t.ruleId),t.ranges.forEach(t=>{let n=r.getCellWithCoordByIndex(t.startRow,t.startColumn,!1),i=r.getCellWithCoordByIndex(t.endRow,t.endColumn,!1);e.fillRect(n.startX,n.startY,i.endX-n.startX,i.endY-n.startY)})}}))}),e.restore())}},Hje=class extends jje{constructor(e){super(e),nLe(this,"uKey",Vje),nLe(this,"Z_INDEX",25)}shouldRender(e){return"none"!==this._shadowStrategy&&("non-editable"===this._shadowStrategy?!1!==(null==e?void 0:e[Di.View])&&!1===(null==e?void 0:e[Di.Edit]):"non-viewable"===this._shadowStrategy?!1===(null==e?void 0:e[Di.View]):!1!==(null==e?void 0:e[Di.View]))}},Wje=class extends jje{constructor(e){super(e),nLe(this,"uKey",Fje),nLe(this,"Z_INDEX",80)}shouldRender(e){return"none"!==this._shadowStrategy&&!1===(null==e?void 0:e[Di.View])}};const zje="worksheet-protection";var Xje=class extends Ej{constructor(e){super(),nLe(this,"uKey",zje),nLe(this,"Z_INDEX",25),nLe(this,"_pattern",void 0),nLe(this,"_img",new Image),nLe(this,"_shadowStrategy","always"),this._img.src=Bje,e&&(this._shadowStrategy=e)}draw(e,t,r){let{worksheet:n}=r;if(!n)return!1;e.save(),this._pattern||(this._pattern=e.createPattern(this._img,"repeat"));let{startRow:i,startColumn:a,endRow:o,endColumn:s}=r.rowColumnSegment,l=r.getCellWithCoordByIndex(i,a,!1),u=r.getCellWithCoordByIndex(o,s,!1),{hasWorksheetRule:c=!1,selectionProtection:d=[]}=n.getCell(i,a)||{};if(!this._pattern)return;if(d.length>0){let e=d[0];null!=e&&e[Di.View]?this.setZIndex(25):this.setZIndex(80)}e.fillStyle=this._pattern;let h=c;if("none"===this._shadowStrategy)h=!1;else if(c&&d.length>0){let e=d[0];"non-editable"===this._shadowStrategy?h=!1===(null==e?void 0:e[Di.Edit]):"non-viewable"===this._shadowStrategy&&(h=!1===(null==e?void 0:e[Di.View]))}h&&e.fillRect(l.startX,l.startY,u.endX-l.startX,u.endY-l.startY),e.restore()}setShadowStrategy(e){this._shadowStrategy=e}getShadowStrategy(){return this._shadowStrategy}setZIndex(e){this.Z_INDEX=e}};let qje=class extends tu{constructor(e,t){super(),this._injector=e,this._componentManager=t,this._init()}_init(){this._initComponents(),this._initUiPartComponents()}_initComponents(){[[$ke,UOe],["sheet-permission-delete-icon",one],["sheet-permission-edit-icon",POe],["sheet-permission-check-icon",XZ],[Jke,MOe],[zke,Lje],[qke,Dje],[Gke,Pje],[EUe,Uje]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}_initUiPartComponents(){let e=this._injector.get(Tc).getConfig(iDe);if(null!=e&&e.protectedRangeUserSelector){let{component:t,framework:r}=e.protectedRangeUserSelector;this.disposeWithMe(this._componentManager.register(Xke,t,{framework:r}))}}};qje=pLe([gLe(0,Y(he)),gLe(1,Y(W5))],qje);let Gje=class extends tu{constructor(e,t,r,n,i){super(),this._context=e,this._rangeProtectionRuleModel=t,this._sheetSkeletonManagerService=r,this._permissionService=n,this._configService=i,nLe(this,"_rangeProtectionCanViewRenderExtension",void 0),nLe(this,"_rangeProtectionCanNotViewRenderExtension",void 0);let a=this._configService.getConfig(iDe),o=oDe(null==a?void 0:a.protectedRangeShadow);this._rangeProtectionCanViewRenderExtension=new Hje(o),this._rangeProtectionCanNotViewRenderExtension=new Wje(o),this._initSkeleton(),this._initRender(),this.disposeWithMe(this._rangeProtectionRuleModel.ruleChange$.subscribe(e=>{var t,r;(null!=(t=e.oldRule)&&t.id&&this._rangeProtectionCanViewRenderExtension.renderCache.has(e.oldRule.id)||this._rangeProtectionCanViewRenderExtension.renderCache.has(e.rule.id))&&this._rangeProtectionCanViewRenderExtension.clearCache(),(null!=(r=e.oldRule)&&r.id&&this._rangeProtectionCanNotViewRenderExtension.renderCache.has(e.oldRule.id)||this._rangeProtectionCanNotViewRenderExtension.renderCache.has(e.rule.id))&&this._rangeProtectionCanNotViewRenderExtension.clearCache()}))}_initRender(){let e=this._context.mainComponent;e&&(e.getExtensionByKey("RANGE_PROTECTION_CAN_VIEW_RENDER_EXTENSION_KEY")||e.register(this._rangeProtectionCanViewRenderExtension),e.getExtensionByKey("RANGE_PROTECTION_CAN_NOT_VIEW_RENDER_EXTENSION_KEY")||e.register(this._rangeProtectionCanNotViewRenderExtension))}_initSkeleton(){this.disposeWithMe(Ei(this._permissionService.permissionPointUpdate$.pipe(pq(300,void 0,{trailing:!0})),this._rangeProtectionRuleModel.rangeRuleInitStateChange$,this._rangeProtectionRuleModel.ruleChange$).pipe().subscribe(()=>{var e;this._sheetSkeletonManagerService.reCalculate(),null==(e=this._context.mainComponent)||e.makeDirty()}))}};Gje=pLe([gLe(1,Y(ZEe)),gLe(2,Y(vLe)),gLe(3,Eg),gLe(4,Tc)],Gje);let Yje=class extends tu{constructor(e,t,r,n,i){super(),this._context=e,this._renderManagerService=t,this._sheetSkeletonManagerService=r,this._worksheetProtectionRuleModel=n,this._configService=i,nLe(this,"_worksheetProtectionRenderExtension",void 0);let a=this._configService.getConfig(iDe),o=oDe(null==a?void 0:a.protectedRangeShadow);this._worksheetProtectionRenderExtension=new Xje(o),this._initSkeleton(),"none"!==o&&this._initRender()}_initRender(){let e=this._context.unitId,t=e&&this._renderManagerService.getRenderById(e),r=t&&t.mainComponent;r&&(r.getExtensionByKey("worksheet-protection")||r.register(this._worksheetProtectionRenderExtension))}_initSkeleton(){this.disposeWithMe(Ei(this._worksheetProtectionRuleModel.worksheetRuleInitStateChange$).pipe().subscribe(()=>{var e;this._sheetSkeletonManagerService.reCalculate(),null==(e=this._context.mainComponent)||e.makeDirty()}))}};Yje=pLe([gLe(1,Y(kX)),gLe(2,Y(vLe)),gLe(3,Y(aRe)),gLe(4,Y(Tc))],Yje);let Qje=class extends tu{constructor(e,t,r,n){super(),this._context=e,this._sheetSkeletonManagerService=t,this._sheetClipboardService=r,this._sheetClipboardController=n,this._initialize()}_initialize(){this.disposeWithMe(Jl(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{if(null==e||!e.unitId||!this._sheetClipboardService.getPasteMenuVisible())return;let t=this._sheetClipboardService.getPasteOptionsCache(),r=null==t?void 0:t.target.unitId;e.unitId===r&&this._sheetClipboardController.refreshOptionalPaste()})))}};Qje=pLe([gLe(1,Y(vLe)),gLe(2,ike),gLe(3,Y(hUe))],Qje);let Zje=class extends tu{constructor(e,t,r,n){super(),this._context=e,this._formatPainterService=t,this._selectionRenderService=r,this._commandService=n,this._initialize()}_initialize(){this._bindFormatPainterStatus(),this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._selectionRenderService.selectionMoveEnd$.subscribe(e=>{if(this._formatPainterService.getStatus()!==fPe.OFF){var t;let{rangeWithCoord:r}=e[e.length-1];this._commandService.executeCommand(yPe.id,{unitId:this._context.unitId,subUnitId:(null==(t=this._context.unit.getActiveSheet())?void 0:t.getSheetId())||"",range:{startRow:r.startRow,startColumn:r.startColumn,endRow:r.endRow,endColumn:r.endColumn}}),this._formatPainterService.getStatus()===fPe.ONCE&&this._commandService.executeCommand(CPe.id)}}))}_bindFormatPainterStatus(){this.disposeWithMe(Jl(this._formatPainterService.status$.subscribe(e=>{let t=this._context.scene;t&&(e===fPe.OFF?t.setDefaultCursor(TV.DEFAULT):t.setDefaultCursor(TV.CELL))})))}};Zje=pLe([gLe(1,gPe),gLe(2,dLe),gLe(3,Vc)],Zje);let Kje=function(e){return e[e.NORMAL=0]="NORMAL",e[e.HIGHLIGHT=1]="HIGHLIGHT",e}({});const $je="rgb(0, 0, 0)",Jje="rgb(255, 255, 255, 1)";var eHe=class extends oH{constructor(e,t){super(e,t),nLe(this,"_size",12),nLe(this,"_iconRatio",.4),nLe(this,"_mode",Kje.NORMAL),this.setShapeProps(t)}setShapeProps(e){null!=e&&e.size&&(this._size=e.size),null!=e&&e.mode&&(this._mode=e.mode),this.transformByState({width:this._size,height:this._size})}_draw(e){this._mode===Kje.HIGHLIGHT&&tX.drawWith(e,{width:this._size,height:this._size,radius:this._size,fill:"rgba(0, 0, 0, 0.15)"});let t=.5*this._size*this._iconRatio,r=Math.PI/180*60,n=t*Math.sin(r),i=t*Math.cos(r);sX.drawWith(e,{pointsGroup:[[{x:-n+this._size/2,y:-i+this._size/2},{x:n+this._size/2,y:-i+this._size/2},{x:this._size/2,y:t+this._size/2}]],fill:$je})}},tHe=function(e){return e[e.ROW=0]="ROW",e[e.COLUMN=1]="COLUMN",e}(tHe||{});let rHe=class extends tu{constructor(e,t,r,n,i){super(),this._context=e,this._sheetSkeletonManagerService=t,this._contextMenuService=r,this._commandService=n,this._selectionManagerService=i,nLe(this,"_hoverRect",void 0),nLe(this,"_hoverMenu",void 0),nLe(this,"_currentColumn",1/0),nLe(this,"_headerPointerSubs",void 0),nLe(this,"_colHeaderPointerSubs",void 0),this._initialize()}dispose(){var e,t,r;null==(e=this._hoverRect)||e.dispose(),null==(t=this._hoverMenu)||t.dispose(),null==(r=this._headerPointerSubs)||r.unsubscribe(),this._headerPointerSubs=null}_initialize(){let e=this._context.scene;this._hoverRect=new tX("__SpreadsheetHeaderMenuSHAPEControllerShape__",{fill:"rgba(0, 0, 0, 0.1)",evented:!1}),this._hoverMenu=new eHe("__SpreadsheetHeaderMenuMAINControllerShape__",{zIndex:100,visible:!1}),e.addObjects([this._hoverRect,this._hoverMenu],10),this._initialHover(tHe.ROW),this._initialHover(tHe.COLUMN),this._initialHoverMenu()}_initialHover(e=tHe.ROW){var t,r,n;let i=this._context.components.get(tLe.COLUMN),a=this._context.components.get(tLe.ROW),o=e===tHe.ROW?a:i;this._headerPointerSubs=new tn;let s=o.onPointerMove$.subscribeEvent(t=>{var r;let n=null==(r=this._sheetSkeletonManagerService.getCurrentParam())?void 0:r.skeleton;if(null==n)return;let{rowHeaderWidth:i,columnHeaderHeight:a}=n,{startX:o,startY:s,endX:l,endY:u,column:c}=UPe(t.offsetX,t.offsetY,this._context.scene,n);if(e===tHe.ROW){var d;null==(d=this._hoverRect)||d.transformByState({width:i,height:u-s,left:0,top:s})}else{var h;if(this._currentColumn=c,null==(h=this._hoverRect)||h.transformByState({width:l-o,height:a,left:o,top:0}),null==this._hoverMenu)return;if(l-o<2*a)return void this._hoverMenu.hide();let e=.8*a;this._hoverMenu.transformByState({left:l-a,top:a/2-e/2}),this._hoverMenu.setShapeProps({size:e}),this._hoverMenu.show()}}),l=o.onPointerEnter$.subscribeEvent(()=>{var e;null==(e=this._hoverRect)||e.show()}),u=o.onPointerLeave$.subscribeEvent(()=>{var e,t;null==(e=this._hoverRect)||e.hide(),null==(t=this._hoverMenu)||t.hide()});null==(t=this._headerPointerSubs)||t.add(s),null==(r=this._headerPointerSubs)||r.add(l),null==(n=this._headerPointerSubs)||n.add(u)}_initialHoverMenu(){null!=this._hoverMenu&&(this._hoverMenu.onPointerEnter$.subscribeEvent(()=>{null!=this._hoverMenu&&(this._hoverMenu.setProps({mode:Kje.HIGHLIGHT,visible:!0}),this._context.scene.setCursor(TV.POINTER))}),this._hoverMenu.onPointerLeave$.subscribeEvent(()=>{null!=this._hoverMenu&&(this._hoverMenu.setProps({mode:Kje.NORMAL,visible:!1}),this._context.scene.resetCursor())}),this._hoverMenu.onPointerDown$.subscribeEvent(e=>{var t;let r=this._currentColumn,n=null==(t=this._selectionManagerService.getCurrentSelections())?void 0:t.map(e=>e.range);if(null==n||!n.filter(e=>e.rangeType===pd.COLUMN).find(e=>{let{startColumn:t,endColumn:n}=e;return r>=t&&r<=n})){let e=this._getSelectionOnColumn(r);this._commandService.syncExecuteCommand(vSe.id,e)}e.stopPropagation(),e.preventDefault(),this._contextMenuService.triggerContextMenu(e,tee.COL_HEADER)}))}_getSelectionOnColumn(e){let t=this._context.unit,r=t.getActiveSheet();if(!r)throw Error("No active worksheet");return{unitId:t.getUnitId(),subUnitId:r.getSheetId(),selections:[{range:{startRow:0,startColumn:e,endRow:r.getRowCount()-1,endColumn:e,rangeType:pd.COLUMN},primary:{startRow:0,startColumn:e,endRow:0,endColumn:e,actualRow:0,actualColumn:e,isMerged:!1,isMergedMainCell:!1},style:null}]}}};rHe=pLe([gLe(1,Y(vLe)),gLe(2,jee),gLe(3,Vc),gLe(4,Y(rSe))],rHe);let nHe=function(e){return e[e.ROW=0]="ROW",e[e.COLUMN=1]="COLUMN",e}({});var iHe=class extends oH{constructor(e,t,r){super(e,t),nLe(this,"_size",12),nLe(this,"_iconRatio",.4),nLe(this,"_hovered",!0),nLe(this,"_hasPrevious",!0),nLe(this,"_hasNext",!0),nLe(this,"_unhideType",void 0),t&&this.setShapeProps(t),this.onPointerEnter$.subscribeEvent(()=>this.setShapeProps({hovered:!0})),this.onPointerLeave$.subscribeEvent(()=>this.setShapeProps({hovered:!1})),this.onPointerDown$.subscribeEvent(()=>null==r?void 0:r())}setShapeProps(e){void 0!==e.type&&(this._unhideType=e.type),void 0!==e.hovered&&(this._hovered=e.hovered),void 0!==e.hasPrevious&&(this._hasPrevious=e.hasPrevious),void 0!==e.hasNext&&(this._hasNext=e.hasNext),this.transformByState({width:this._size*(this._unhideType===nHe.COLUMN?2:1),height:this._size*(this._unhideType===nHe.ROW?2:1)})}_draw(e){this._unhideType===nHe.ROW?this._drawOnRow(e):this._drawOnCol(e)}_drawOnRow(e){this._hovered&&(this._hasNext&&this._hasPrevious?tX.drawWith(e,{width:this._size,height:2*this._size,stroke:$je,fill:Jje}):tX.drawWith(e,{width:this._size,height:this._size,stroke:$je,fill:Jje}));let t=.5*this._size*this._iconRatio,r=Math.PI/3,n=t*Math.cos(r),i=t*Math.sin(r);if(this._hasPrevious&&sX.drawWith(e,{pointsGroup:[[{x:this._size/2,y:this._size/2-i},{x:this._size/2-i,y:this._size/2+n},{x:this._size/2+i,y:this._size/2+n}]],fill:$je}),this._hasNext){let t=this._hasPrevious?3:1;sX.drawWith(e,{pointsGroup:[[{x:this._size/2,y:this._size*t/2+i},{x:this._size/2-i,y:this._size*t/2-n},{x:this._size/2+i,y:this._size*t/2-n}]],fill:$je})}}_drawOnCol(e){this._hovered&&(this._hasNext&&this._hasPrevious?tX.drawWith(e,{width:2*this._size,height:this._size,stroke:$je,fill:Jje}):tX.drawWith(e,{width:this._size,height:this._size,stroke:$je,fill:Jje}));let t=.5*this._size*this._iconRatio,r=Math.PI/3,n=t*Math.cos(r),i=t*Math.sin(r);if(this._hasPrevious&&sX.drawWith(e,{pointsGroup:[[{x:-n+this._size/2,y:this._size/2},{x:this._size/2+i,y:this._size/2-i},{x:this._size/2+i,y:this._size/2+i}]],fill:$je}),this._hasNext){let t=this._hasPrevious?3:1;sX.drawWith(e,{pointsGroup:[[{x:n+this._size*t/2,y:this._size/2},{x:-i+this._size*t/2,y:this._size/2-i},{x:-i+this._size*t/2,y:this._size/2+i}]],fill:$je})}}};const aHe="__SpreadsheetHeaderUnhideSHAPEControllerShape__";let oHe=class extends ru{get _workbook(){return this._context.unit}constructor(e,t,r){super(),this._context=e,this._sheetSkeletonManagerService=t,this._commandService=r,nLe(this,"_shapes",{cols:[],rows:[]}),this._init()}dispose(){super.dispose(),this._clearShapes()}_init(){let e="";this._context.unit.activeSheet$.pipe(jX(this.dispose$)).subscribe(t=>{this._clearShapes(),t?(e=t.getSheetId(),this._update(this._workbook,t)):e=""}),this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(t=>{if(t){let{unitId:r,sheetId:n}=t;if(r===this._workbook.getUnitId()&&n===e){let e=this._workbook.getSheetBySheetId(n);e&&this._update(this._workbook,e)}}}))}_update(e,t){var r;let n=null==(r=this._sheetSkeletonManagerService.getSkeletonParam(t.getSheetId()))?void 0:r.skeleton;if(!n)return;let i=t.getHiddenRows(),a=t.getHiddenCols(),{scene:o}=this._getSheetObject(),s=t.getRowCount(),l=i.map(r=>{let{startRow:i,endRow:a}=r,o=DPe(i,0,0,n),l=0!==i,u=a!==s-1;return new iHe(aHe,{type:nHe.ROW,hovered:!1,hasPrevious:l,hasNext:u,top:o.startY-(l?12:0),left:o.startX-12},()=>this._commandService.executeCommand(mTe.id,{unitId:e.getUnitId(),subUnitId:t.getSheetId(),ranges:[r]}))}),u=t.getColumnCount(),c=a.map(r=>{let{startColumn:i,endColumn:a}=r,o=DPe(0,i,0,n),s=0!==i,l=a!==u-1;return new iHe(aHe,{type:nHe.COLUMN,hovered:!1,hasPrevious:s,hasNext:l,top:8,left:o.startX-(s?12:0)},()=>this._commandService.executeCommand($xe.id,{unitId:e.getUnitId(),subUnitId:t.getSheetId(),ranges:[r]}))});o.addObjects(c,12),o.addObjects(l,12),this._clearShapes(),this._shapes={cols:c,rows:l}}_clearShapes(){this._shapes.cols.forEach(e=>e.dispose()),this._shapes.rows.forEach(e=>e.dispose()),this._shapes={cols:[],rows:[]}}_getSheetObject(){return PPe(this._workbook,this._context)}};oHe=pLe([gLe(1,Y(vLe)),gLe(2,Vc)],oHe);const sHe="MOBILE_PINCH_ZOOMING",lHe="MOBILE_EXPANDING_SELECTION",uHe=new Set([bj.VIEW_MAIN,bj.VIEW_MAIN_LEFT,bj.VIEW_MAIN_TOP,bj.VIEW_LEFT_TOP]),cHe=[yLe.Selection,yLe.top,yLe.bottom,yLe.left,yLe.right,yLe.fillTopLeft,yLe.fillBottomRight,yLe.backgroundTop,yLe.backgroundMiddleLeft,yLe.backgroundMiddleRight,yLe.backgroundBottom];let dHe=class extends tu{constructor(e,t,r,n,i,a,o){super(),this._context=e,this._layoutService=t,this._contextMenuService=r,this._contextService=n,this._renderManagerService=i,this._selectionManagerService=a,this._sheetSkeletonManagerService=o,this._init()}_init(){let e=this._layoutService.getContentElement();if(!e)return;let t=this._createLongPressState(),r=r=>this._handleTouchStart(e,t,r),n=r=>this._handleTouchMove(e,t,r),i=e=>this._handleTouchEnd(t,e);e.addEventListener("touchstart",r,{passive:!0}),e.addEventListener("touchmove",n,{passive:!0}),e.addEventListener("touchend",i,{passive:!1}),e.addEventListener("touchcancel",i,{passive:!1}),this.disposeWithMe(Jl(()=>{this._clearLongPressTimer(t),e.removeEventListener("touchstart",r),e.removeEventListener("touchmove",n),e.removeEventListener("touchend",i),e.removeEventListener("touchcancel",i)}))}_createLongPressState(){return{longPressTimer:null,activeTouch:null,longPressTriggered:!1,selectionSnapshot:[],shouldRestoreSelectionSnapshot:!1}}_clearLongPressTimer(e){e.longPressTimer&&(clearTimeout(e.longPressTimer),e.longPressTimer=null)}_resetLongPressState(e){this._clearLongPressTimer(e),e.activeTouch=null}_getTouchOffset(e,t){let r=e.getBoundingClientRect();return{clientX:t.clientX,clientY:t.clientY,offsetX:t.clientX-r.left,offsetY:t.clientY-r.top}}_getMainAreaViewport(e,t){let{scene:r}=this._context,n=r.getActiveViewportByCoord(TF.FromArray([e,t]));return n&&uHe.has(n.viewportKey)?n:null}_getTargetCellByOffset(e,t){var r;let n=null==(r=this._sheetSkeletonManagerService.getCurrentParam())?void 0:r.skeleton,i=this._getMainAreaViewport(e,t),{scene:a}=this._context;if(!n||!i)return null;let o=a.getCoordRelativeToViewport(TF.FromArray([e,t])),s=a.getScrollXYInfoByViewport(o,i),{scaleX:l,scaleY:u}=a.getAncestorScale();return n.getCellWithCoordByOffset(o.x-s.x,o.y-s.y,l,u,s)}_getCurrentRenderSelections(){var e;let t=this._renderManagerService.getRenderById(this._context.unitId),r=null==t?void 0:t.with(dLe);return null==(e=null==r?void 0:r.getSelectionControls().map(e=>PEe(e.getValue())))?[]:e}_cloneSelections(e){return e.map(e=>({range:{...e.range},primary:e.primary?{...e.primary}:e.primary,style:e.style?{...e.style}:e.style}))}_getSelectionSnapshot(){let e=this._getCurrentRenderSelections();return e.length?this._cloneSelections(e):this._cloneSelections(this._selectionManagerService.getCurrentSelections())}_restoreSelectionSnapshot(e){let t=this._context.unit.getActiveSheet();!t||!e.length||this._selectionManagerService.setSelections(this._context.unitId,t.getSheetId(),this._cloneSelections(e),eSe.MOVE_END)}_replaceSelectionWithTargetCell(e){let t=this._context.unit.getActiveSheet();t&&this._selectionManagerService.setSelections(this._context.unitId,t.getSheetId(),[{range:{startRow:e.mergeInfo.startRow,endRow:e.mergeInfo.endRow,startColumn:e.mergeInfo.startColumn,endColumn:e.mergeInfo.endColumn,rangeType:pd.NORMAL,unitId:this._context.unitId,sheetId:t.getSheetId()},primary:DEe(e),style:null}],eSe.MOVE_END)}_openMenu(e,t){this._contextMenuService.triggerContextMenu({clientX:e,clientY:t,preventDefault:()=>{},stopPropagation:()=>{}},tee.MAIN_AREA)}_triggerLongPressMenu(e){if(!e.activeTouch||this._contextMenuService.visible||this._contextService.getContextValue("MOBILE_PINCH_ZOOMING")||this._contextService.getContextValue("MOBILE_EXPANDING_SELECTION"))return;let t=this._getTargetCellByOffset(e.activeTouch.offsetX,e.activeTouch.offsetY);if(!t)return;let r=this._context.scene.pick(TF.FromArray([e.activeTouch.offsetX,e.activeTouch.offsetY])),n=e.selectionSnapshot.map(e=>e.range),i=function(e){return!!e&&cHe.some(t=>e.startsWith(t))}(null==r?void 0:r.oKey)||function(e,t){return e.some(e=>Oh.contains("range"in e?e.range:e,t))}(n,t.mergeInfo);e.longPressTriggered=!0,e.shouldRestoreSelectionSnapshot=i,i&&(this._restoreSelectionSnapshot(e.selectionSnapshot),queueMicrotask(()=>this._restoreSelectionSnapshot(e.selectionSnapshot))),this._openMenu(e.activeTouch.clientX,e.activeTouch.clientY),i||queueMicrotask(()=>this._replaceSelectionWithTargetCell(t))}_handleTouchStart(e,t,r){if(1!==r.touches.length||this._contextMenuService.visible)return void this._resetLongPressState(t);if(this._contextService.getContextValue("MOBILE_PINCH_ZOOMING")||this._contextService.getContextValue("MOBILE_EXPANDING_SELECTION"))return void this._resetLongPressState(t);let n=this._getTouchOffset(e,r.touches[0]);this._getTargetCellByOffset(n.offsetX,n.offsetY)?(t.longPressTriggered=!1,t.shouldRestoreSelectionSnapshot=!1,t.selectionSnapshot=this._getSelectionSnapshot(),t.activeTouch=n,this._clearLongPressTimer(t),t.longPressTimer=setTimeout(()=>this._triggerLongPressMenu(t),500)):this._resetLongPressState(t)}_handleTouchMove(e,t,r){if(!t.activeTouch||1!==r.touches.length)return void this._resetLongPressState(t);let n=this._getTouchOffset(e,r.touches[0]);(Math.abs(n.offsetX-t.activeTouch.offsetX)>10||Math.abs(n.offsetY-t.activeTouch.offsetY)>10)&&this._resetLongPressState(t)}_handleTouchEnd(e,t){e.longPressTriggered&&(t.preventDefault(),e.shouldRestoreSelectionSnapshot&&queueMicrotask(()=>this._restoreSelectionSnapshot(e.selectionSnapshot))),e.longPressTriggered=!1,e.shouldRestoreSelectionSnapshot=!1,this._resetLongPressState(e)}};dHe=pLe([gLe(1,O8),gLe(2,jee),gLe(3,Mc),gLe(4,kX),gLe(5,Y(rSe)),gLe(6,Y(vLe))],dHe);const hHe="rgb(199, 199, 199)";let mHe=class extends tu{constructor(e,t,r,n,i,a){super(),this._context=e,this._sheetSkeletonManagerService=t,this._selectionManagerService=r,this._commandService=n,this._contextService=i,this._scrollManagerService=a,nLe(this,"_currentRow",-1),nLe(this,"_currentColumn",-1),nLe(this,"_rowResizeButton",void 0),nLe(this,"_columnResizeButton",void 0),nLe(this,"_resizeHelperShape",void 0),nLe(this,"_isDragging",!1),nLe(this,"_touchStartX",0),nLe(this,"_touchStartY",0),nLe(this,"_touchMoveHandler",void 0),nLe(this,"_touchEndHandler",void 0),nLe(this,"_selectionSubscription",void 0),nLe(this,"_scrollSubscription",void 0),this._init()}dispose(){var e,t,r,n,i;null==(e=this._rowResizeButton)||e.dispose(),this._rowResizeButton=null,null==(t=this._columnResizeButton)||t.dispose(),this._columnResizeButton=null,null==(r=this._resizeHelperShape)||r.dispose(),this._resizeHelperShape=null,null==(n=this._selectionSubscription)||n.unsubscribe(),this._selectionSubscription=null,null==(i=this._scrollSubscription)||i.unsubscribe(),this._scrollSubscription=null,this._cleanupTouchHandlers(),super.dispose()}_init(){this._initResizeShapes(),this._initSelectionListener(),this._initScrollListener()}_initResizeShapes(){let e=this._context.scene;this._rowResizeButton=new DUe("__MobileHeaderResizeControllerShapeRow__",{visible:!1,mode:kUe.HORIZONTAL,zIndex:100}),this._columnResizeButton=new DUe("__MobileHeaderResizeControllerShapeColumn__",{visible:!1,mode:kUe.VERTICAL,zIndex:100}),e.addObjects([this._rowResizeButton,this._columnResizeButton],10),this._bindTouchEventsToButton(this._rowResizeButton,"row"),this._bindTouchEventsToButton(this._columnResizeButton,"column")}_initSelectionListener(){this._selectionSubscription=this._selectionManagerService.selectionMoveEnd$.subscribe(e=>{this._handleSelectionChange(e)}),this.disposeWithMe(this._selectionSubscription)}_initScrollListener(){this._scrollSubscription=this._scrollManagerService.validViewportScrollInfo$.subscribe(e=>{e&&this._updateButtonPositionOnScroll()}),this.disposeWithMe(this._scrollSubscription)}_handleSelectionChange(e){var t,r;if(null==(t=this._rowResizeButton)||t.hide(),null==(r=this._columnResizeButton)||r.hide(),this._currentRow=-1,this._currentColumn=-1,!e||0===e.length)return;let n=e[0],i=n.range.rangeType;i===pd.ROW?this._showRowResizeButton(n):i===pd.COLUMN&&this._showColumnResizeButton(n)}_showRowResizeButton(e){let t=this._sheetSkeletonManagerService.getCurrentSkeleton();if(!t||!this._rowResizeButton)return;let{scene:r}=this._context,{endRow:n}=uLe(e,t).rangeWithCoord,i=t.getOffsetByRow(n),{rowHeaderWidth:a}=t,{scaleX:o,scaleY:s}=r.getAncestorScale(),l=12/Math.max(o,s);this._rowResizeButton.transformByState({left:a/2-l/2,top:i-l/2}),this._rowResizeButton.setShapeProps({size:Math.min(44,a/3)}),this._currentRow=n,this._rowResizeButton.show()}_showColumnResizeButton(e){let t=this._sheetSkeletonManagerService.getCurrentSkeleton();if(!t||!this._columnResizeButton)return;let{scene:r}=this._context,{endColumn:n}=uLe(e,t).rangeWithCoord,i=t.getOffsetByColumn(n),{columnHeaderHeight:a}=t,{scaleX:o,scaleY:s}=r.getAncestorScale(),l=12/Math.max(o,s);this._columnResizeButton.transformByState({left:i-l/2,top:a/2-l/2}),this._columnResizeButton.setShapeProps({size:.7*a}),this._currentColumn=n,this._columnResizeButton.show()}_updateButtonPositionOnScroll(){var e,t;let r=this._sheetSkeletonManagerService.getCurrentSkeleton();if(!r)return;let{scene:n}=this._context,{scaleX:i,scaleY:a}=n.getAncestorScale(),o=12/Math.max(i,a);if(null!=(e=this._rowResizeButton)&&e.visible&&this._currentRow>=0){let e=r.getOffsetByRow(this._currentRow),{rowHeaderWidth:t}=r;this._rowResizeButton.transformByState({left:t/2-o/2,top:e-o/2})}if(null!=(t=this._columnResizeButton)&&t.visible&&this._currentColumn>=0){let e=r.getOffsetByColumn(this._currentColumn),{columnHeaderHeight:t}=r;this._columnResizeButton.transformByState({left:e-o/2,top:t/2-o/2})}}_bindTouchEventsToButton(e,t){e.onPointerDown$.subscribeEvent(e=>{this._contextService.getContextValue("MOBILE_PINCH_ZOOMING")||this._contextService.getContextValue("MOBILE_EXPANDING_SELECTION")||this._startResize(e,t)})}_startResize(e,t){let r=this._sheetSkeletonManagerService.getCurrentSkeleton();if(!r)return;let n=this._context.scene,i=n.getEngine(),a=null==i?void 0:i.getCanvasElement();if(!a)return;this._touchStartX=e.offsetX,this._touchStartY=e.offsetY,this._isDragging=!1;let o="row"===t?r.getOffsetByRow(this._currentRow):r.getOffsetByColumn(this._currentColumn);this._createResizeHelper(t,o,r),n.disableObjectsEvent(),this._setupTouchHandlers(a,t,o)}_setupTouchHandlers(e,t,r){if(!this._sheetSkeletonManagerService.getCurrentSkeleton())return;let n=this._context.scene,i=this._context.unit.getActiveSheet(),a=(null==i?void 0:i.getZoomRatio())||1,o=0;this._touchMoveHandler=n=>{if(this._contextService.getContextValue("MOBILE_PINCH_ZOOMING"))return void this._cancelResize();if(1!==n.touches.length)return;let i=n.touches[0],s=e.getBoundingClientRect(),l=i.clientX-s.left,u=i.clientY-s.top,c=("row"===t?u-this._touchStartY:l-this._touchStartX)/a;Math.abs(c)>=2&&(this._isDragging=!0),this._isDragging&&(o=c,this._updateResizeHelper(t,r+c),this._updateResizeButton(t,r+c)),n.preventDefault()},this._touchEndHandler=r=>{n.enableObjectsEvent(),this._isDragging&&Math.abs(o)>=2&&("row"===t?this._commandService.executeCommand(QTe.id,{deltaY:o,anchorRow:this._currentRow}):this._commandService.executeCommand(wTe.id,{deltaX:o,anchorCol:this._currentColumn})),this._cleanupResize(),this._touchMoveHandler&&e.removeEventListener("touchmove",this._touchMoveHandler),this._touchEndHandler&&(e.removeEventListener("touchend",this._touchEndHandler),e.removeEventListener("touchcancel",this._touchEndHandler)),r.preventDefault()},e.addEventListener("touchmove",this._touchMoveHandler,{passive:!1}),e.addEventListener("touchend",this._touchEndHandler,{passive:!1}),e.addEventListener("touchcancel",this._touchEndHandler,{passive:!1}),this.disposeWithMe(Jl(()=>{this._touchMoveHandler&&e.removeEventListener("touchmove",this._touchMoveHandler),this._touchEndHandler&&(e.removeEventListener("touchend",this._touchEndHandler),e.removeEventListener("touchcancel",this._touchEndHandler))}))}_createResizeHelper(e,t,r){let n=this._context.scene,{scaleX:i,scaleY:a}=n.getAncestorScale(),o=4/Math.max(i,a),s=n.getEngine(),l=(null==s?void 0:s.width)||0,u=(null==s?void 0:s.height)||0;this._resizeHelperShape=new tX("__MobileHeaderResizeControllerShapeHelper__","row"===e?{width:Math.max(l,r.columnTotalWidth+r.rowHeaderWidth),height:o,fill:hHe,left:0,top:t-o/2}:{width:o,height:Math.max(u,r.rowTotalHeight+r.columnHeaderHeight),fill:hHe,left:t-o/2,top:0}),n.addObject(this._resizeHelperShape,10)}_updateResizeHelper(e,t){if(!this._resizeHelperShape)return;let{scaleX:r,scaleY:n}=this._context.scene.getAncestorScale(),i=4/Math.max(r,n);"row"===e?this._resizeHelperShape.transformByState({top:t-i/2}):this._resizeHelperShape.transformByState({left:t-i/2})}_updateResizeButton(e,t){let r="row"===e?this._rowResizeButton:this._columnResizeButton;if(!r)return;let{scaleX:n,scaleY:i}=this._context.scene.getAncestorScale(),a=12/Math.max(n,i);"row"===e?r.transformByState({top:t-a/2}):r.transformByState({left:t-a/2})}_cleanupResize(){var e;null==(e=this._resizeHelperShape)||e.dispose(),this._resizeHelperShape=null,this._isDragging=!1}_cleanupTouchHandlers(){let e=this._context.scene.getEngine(),t=null==e?void 0:e.getCanvasElement();t&&(this._touchMoveHandler&&(t.removeEventListener("touchmove",this._touchMoveHandler),this._touchMoveHandler=null),this._touchEndHandler&&(t.removeEventListener("touchend",this._touchEndHandler),t.removeEventListener("touchcancel",this._touchEndHandler),this._touchEndHandler=null))}_cancelResize(){this._context.scene.enableObjectsEvent(),this._cleanupResize(),this._cleanupTouchHandlers()}};mHe=pLe([gLe(1,Y(vLe)),gLe(2,Y(rSe)),gLe(3,Vc),gLe(4,Mc),gLe(5,Y(_Pe))],mHe);const fHe=[MPe.id,OPe.id];let gHe=class extends tu{constructor(e,t,r,n,i,a,o,s){super(),this._context=e,this._sheetSkeletonManagerService=t,this._commandService=r,this._renderManagerService=n,this._selectionManagerService=i,this._scrollManagerService=a,this._univerInstanceService=o,this._contextService=s,this._init()}scrollToRange(e){let{endRow:t,endColumn:r,startColumn:n,startRow:i}=e,a=this._getViewportBounding();if(e.rangeType===pd.ROW?(n=0,r=0):e.rangeType===pd.COLUMN&&(i=0,t=0),a){let e=a.startRow>t?i:t,o=a.startColumn>r?n:r;return this._scrollToCell(e,o)}return this._scrollToCell(i,n)}_init(){this._initCommandListener(),this._initScrollEventListener(),this._initPointerScrollEvent(),this._initSkeletonListener()}_initCommandListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(fHe.includes(e.id))this._scrollToSelection();else if(e.id===pNe.id){let t=e.params.range;this.scrollToRange(t)}else if(e.id===LPe.id){let t=e.params;this._scrollToSelectionForExpand(t)}}))}_scrollToSelectionForExpand(e){setTimeout(()=>{let t=this._selectionManagerService.getCurrentLastSelection();if(null==t)return;let{startRow:r,startColumn:n,endRow:i,endColumn:a}=t.range,o=this._getViewportBounding();if(null==o)return;let{startRow:s,startColumn:l,endRow:u,endColumn:c}=o,d=0,h=0;d=r>s?i:il?a:a{var r;if(null==e)return void t.scrollToViewportPos({viewportScrollX:0,viewportScrollY:0});let n=null==(r=this._sheetSkeletonManagerService.getCurrentParam())?void 0:r.skeleton;if(!n)return;let{sheetViewStartRow:i,sheetViewStartColumn:a,offsetX:o,offsetY:s}=e,{startX:l,startY:u}=n.getCellWithCoordByIndex(i,a,!1),c=l+o,d=u+s;t.scrollToViewportPos({viewportScrollX:c,viewportScrollY:d})}))),this.disposeWithMe(t.onScrollAfter$.subscribeEvent(e=>{var t;if(!e)return;let r=null==(t=this._sheetSkeletonManagerService.getCurrentParam())?void 0:t.skeleton;if(null==r)return;let n=this._getSheetObject();if(null==r||null==n)return;let{viewportScrollX:i,viewportScrollY:a,scrollX:o,scrollY:s}=e,{row:l,column:u,rowOffset:c,columnOffset:d}=r.getOffsetRelativeToRowCol(i,a),h={sheetViewStartRow:l,sheetViewStartColumn:u,offsetX:d,offsetY:c,viewportScrollX:i,viewportScrollY:a,scrollX:o,scrollY:s};this._scrollManagerService.setValidScrollStateToCurrSheet(h),this._scrollManagerService.validViewportScrollInfo$.next({...h,scrollX:o,scrollY:s,viewportScrollX:i,viewportScrollY:a})})),this.disposeWithMe(t.onScrollByBar$.subscribeEvent(e=>{var t;let r=null==(t=this._sheetSkeletonManagerService.getCurrentParam())?void 0:t.skeleton;if(null==r||!1===e.isTrigger)return;let n=this._getSheetObject();if(null==r||null==n)return;let{viewportScrollX:i=0,viewportScrollY:a=0}=e,o=this._getFreeze(),{row:s,column:l,rowOffset:u,columnOffset:c}=r.getOffsetRelativeToRowCol(i,a);this._commandService.executeCommand(HPe.id,{sheetViewStartRow:s+((null==o?void 0:o.ySplit)||0),sheetViewStartColumn:l+((null==o?void 0:o.xSplit)||0),offsetX:c,offsetY:u})})))}_initSkeletonListener(){this.disposeWithMe(Jl(this._sheetSkeletonManagerService.currentSkeletonBefore$.subscribe(e=>{if(null==e)return;let t={unitId:e.unitId,sheetId:e.sheetId};this._scrollManagerService.setSearchParam(t);let r=this._getSheetObject();if(!r)return;let n=r.scene.getViewport(bj.VIEW_MAIN),i=this._scrollManagerService.getScrollStateByParam(t),{viewportScrollX:a,viewportScrollY:o}=this._scrollManagerService.calcViewportScrollFromRowColOffset(i);n&&(i?(n.viewportScrollX=a,n.viewportScrollY=o):(n.viewportScrollX=0,n.viewportScrollY=0),this._updateSceneSize(e))})))}_initPointerScrollEvent(){let e=this._getSheetObject();if(!e)return;let t=e.scene,r=e.spreadsheet,n=t.getViewport(bj.VIEW_MAIN),i={x:0,y:0},a=!1,o={x:0,y:0},s=null,l=[],u=0,c=0,d={x:0,y:0},h=null,m=.05,f=()=>{let e=this._context.unit.getActiveSheet();return(null==e?void 0:e.getZoomRatio())||1},g=(e,t,r)=>{let n,i=e>0?t/e:0;if(e<240&&t>30){let t=Math.min(i/2,1);n=m+(.26-m)*t,e<150&&Math.abs(r)>3&&(n*=1.3)}else n=m*(.5+.5*Math.min(Math.abs(r)/5,1));return Math.max(.025,Math.min(.39,n))},p=0,v=!1,b=0,C=1,y={x:0,y:0},_=()=>{null!==s&&(cancelAnimationFrame(s),s=null),p=0,o.x=0,o.y=0},w=e=>{if(!n)return;if(v)return void _();if(0===p)return p=e,void(s=requestAnimationFrame(w));let t=e-p;p=e;let{decelerationRate:r,minVelocityThreshold:i}={decelerationRate:.992,minVelocityThreshold:.22,maxVelocity:12},a=r**t;o.x*=a,o.y*=a;let l=-Math.log(r),u=o.x*(1-a)/l,c=o.y*(1-a)/l;(Math.abs(u)>.01||Math.abs(c)>.01)&&this._commandService.executeCommand(jPe.id,{offsetY:c,offsetX:u}),Math.sqrt(o.x*o.x+o.y*o.y)>i?s=requestAnimationFrame(w):(s=null,p=0)},E=t.getEngine(),S=null==E?void 0:E.getCanvasElement();if(!S)return;let A=null,I=null,R=null,x=this._createZoomIndicator(S),T=e=>{let t=S.getBoundingClientRect();return{offsetX:e.clientX-t.left,offsetY:e.clientY-t.top}},N=(e,t)=>{let r=e.clientX-t.clientX,n=e.clientY-t.clientY;return Math.sqrt(r*r+n*n)},M=(e,t)=>{let r=T(e),n=T(t);return{x:(r.offsetX+n.offsetX)/2,y:(r.offsetY+n.offsetY)/2}},O=(e,t)=>{var r;let n=null==(r=this._sheetSkeletonManagerService.getCurrentParam())?void 0:r.skeleton;if(!n)return!1;let{rowHeaderWidthAndMarginLeft:i,columnHeaderHeightAndMarginTop:a}=n;return e>i&&t>a},L=(e,t,r)=>{var i;let a=null==(i=this._sheetSkeletonManagerService.getCurrentParam())?void 0:i.skeleton;if(!a||!n)return null;let{rowHeaderWidthAndMarginLeft:o,columnHeaderHeightAndMarginTop:s}=a,l=(e-o)/r+(n.viewportScrollX||0),u=(t-s)/r+(n.viewportScrollY||0),{row:c,column:d,rowOffset:h,columnOffset:m}=a.getOffsetRelativeToRowCol(Math.max(0,l),Math.max(0,u)),f=a.getCellWithCoordByIndex(c,d,!1);return{row:c,column:d,rowOffset:h,columnOffset:m,cellStartX:f.startX,cellStartY:f.startY}},k=(e,t)=>{var r;if(!n)return;let i=null==(r=this._sheetSkeletonManagerService.getCurrentParam())?void 0:r.skeleton;if(!i)return;let a,o,{rowHeaderWidthAndMarginLeft:s,columnHeaderHeightAndMarginTop:l}=i,u=n.viewportScrollX||0,c=n.viewportScrollY||0,d=y.x-s,h=y.y-l;if(R)a=R.x-d/e,o=R.y-h/e;else if(A)a=A.cellStartX+A.columnOffset-d/e,o=A.cellStartY+A.rowOffset-h/e;else{let r=e/t;a=u/r,o=c/r}a<0&&(a=0),o<0&&(o=0);let m=this._context.unit,f=m.getActiveSheet();if(!f)return;this._commandService.executeCommand(KPe.id,{zoomRatio:e,unitId:m.getUnitId(),subUnitId:f.getSheetId()});let{row:g,column:p,rowOffset:v,columnOffset:b}=i.getOffsetRelativeToRowCol(a,o);this._commandService.executeCommand(HPe.id,{sheetViewStartRow:g,sheetViewStartColumn:p,offsetX:b,offsetY:v})};r.onPointerDown$.subscribeEvent((e,t)=>{_(),t.stopPropagation()});let P=(e,t)=>{if(v=!0,this._contextService.setContextValue(sHe,!0),b=N(e,t),C=f(),y=M(e,t),A=L(y.x,y.y,C),n){var r;let e=null==(r=this._sheetSkeletonManagerService.getCurrentParam())?void 0:r.skeleton;if(e){let{rowHeaderWidthAndMarginLeft:t,columnHeaderHeightAndMarginTop:r}=e;I={x:n.viewportScrollX||0,y:n.viewportScrollY||0};let i=y.x-t,a=y.y-r;R={x:I.x+i/C,y:I.y+a/C}}}},D=e=>{if(_(),2===e.touches.length){let t=e.touches[0],r=e.touches[1],n=T(t),i=T(r);if(!O(n.offsetX,n.offsetY)||!O(i.offsetX,i.offsetY))return;return a=!1,P(t,r),this._showZoomIndicator(x,Math.round(100*C)),void e.preventDefault()}if(1!==e.touches.length||v||this._contextService.getContextValue("MOBILE_EXPANDING_SELECTION"))return;let t=e.touches[0],{offsetX:r,offsetY:n}=T(t);O(r,n)&&(i.x=r,i.y=n,u=performance.now(),c=u,d={x:0,y:0},h=null,l.length=0,a=!0,e.preventDefault())},U=e=>{if(v&&2===e.touches.length){null!==s&&_();let t=e.touches[0],r=e.touches[1],n=N(t,r)/b,i=C*n;i=Math.max(.2,Math.min(2,i)),i=Math.round(10*i)/10;let a=f();return Math.abs(i-a)>=.05&&(y=M(t,r),k(i,a),this._showZoomIndicator(x,Math.round(100*i))),void e.preventDefault()}if(!a||1!==e.touches.length||!n||this._contextService.getContextValue("MOBILE_EXPANDING_SELECTION"))return;let t=e.touches[0],{offsetX:r,offsetY:o}=T(t),c=performance.now(),m=c-u;if(m<=0)return;let g=-(r-i.x),p=-(o-i.y),w=f(),E=g/w,S=p/w;if(d.x+=Math.abs(g),d.y+=Math.abs(p),null===h){let e=d.x,t=d.y;(e>8||t>8)&&(h=e>t?"x":"y")}let A=E/m*16,I=S/m*16;for(l.push({x:A,y:I,time:c});l.length>5;)l.shift();(0!==E||0!==S)&&this._commandService.executeCommand(jPe.id,{offsetY:S,offsetX:E}),i.x=r,i.y=o,u=c,e.preventDefault()},B=e=>{if(v)return void(e.touches.length<2&&(v=!1,this._contextService.setContextValue(sHe,!1),A=null,I=null,R=null,_(),l.length=0,this._hideZoomIndicator(x)));if(!a)return;a=!1;let t=(()=>{if(0===l.length)return{x:0,y:0};let e=0,t=0,r=0;for(let n=0;n2*i&&(p=0,s=requestAnimationFrame(w)),l.length=0},V=()=>{v&&(v=!1,this._contextService.setContextValue(sHe,!1),A=null,I=null,R=null,this._hideZoomIndicator(x)),a&&(a=!1,l.length=0),_()};S.addEventListener("touchstart",D,{passive:!1}),S.addEventListener("touchmove",U,{passive:!1}),S.addEventListener("touchend",B,{passive:!1}),S.addEventListener("touchcancel",V,{passive:!1}),this.disposeWithMe(Jl(()=>{S.removeEventListener("touchstart",D),S.removeEventListener("touchmove",U),S.removeEventListener("touchend",B),S.removeEventListener("touchcancel",V),x&&x.parentElement&&x.parentElement.removeChild(x)}))}_createZoomIndicator(e){let t=e.parentElement;if(!t){let e=document.createElement("div");return e.style.display="none",e}let r=document.createElement("div");return r.style.cssText="\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: rgba(0, 0, 0, 0.7);\n color: white;\n padding: 12px 24px;\n border-radius: 8px;\n font-size: 24px;\n font-weight: bold;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n pointer-events: none;\n opacity: 0;\n transition: opacity 0.15s ease-in-out;\n z-index: 10000;\n user-select: none;\n -webkit-user-select: none;\n ","static"===window.getComputedStyle(t).position&&(t.style.position="relative"),t.appendChild(r),r}_showZoomIndicator(e,t){e.textContent=`${t}%`,e.style.opacity="1"}_hideZoomIndicator(e){setTimeout(()=>{e.style.opacity="0"},300)}_updateSceneSize(e){var t;if(null==e)return;let{unitId:r}=this._context,{skeleton:n}=e,i=null==(t=this._renderManagerService.getRenderById(r))?void 0:t.scene;if(null==n||null==i)return;let{rowTotalHeight:a,columnTotalWidth:o,rowHeaderWidthAndMarginLeft:s,columnHeaderHeightAndMarginTop:l}=n;null==i||i.transformByState({width:s+o,height:l+a})}_getSheetObject(){return PPe(this._context.unit,this._context)}_scrollToSelection(e=!0){let t=this._selectionManagerService.getCurrentLastSelection();if(null==t)return;let{startRow:r,startColumn:n,actualRow:i,actualColumn:a}=t.primary,o=e?i:r,s=e?a:n;this._scrollToCell(o,s)}_getViewportBounding(){var e,t;let r=null==(e=this._getSheetObject())?void 0:e.scene;if(null==r)return;let n=r.getViewport(bj.VIEW_MAIN);if(null==n)return;let i=null==(t=this._sheetSkeletonManagerService.getCurrentParam())?void 0:t.skeleton;return null!=i?i.getRangeByViewport(n.calcViewportInfo()):void 0}_scrollToCell(e,t){var r,n,i,a;let{rowHeightAccumulation:o,columnWidthAccumulation:s}=null==(r=null==(n=this._sheetSkeletonManagerService.getCurrentParam())?void 0:n.skeleton)?{}:r;if(null==o||null==s)return!1;let l=null==(i=this._getSheetObject())?void 0:i.scene;if(null==l)return!1;let u=l.getViewport(bj.VIEW_MAIN);if(null==u||null==(null==(a=this._sheetSkeletonManagerService.getCurrentParam())?void 0:a.skeleton))return!1;let c=this._context.unit.getActiveSheet();if(!c)return!1;let{startColumn:d,startRow:h,ySplit:m,xSplit:f}=c.getFreeze(),g=this._getViewportBounding();if(null==g)return!1;let p,v,{startRow:b,startColumn:C,endRow:y,endColumn:_}=g;if(e>=h&&t>=d-f&&(e<=b&&(p=e),e>=y)){let t=o[e]-u.height;for(let r=b;r<=e;r++)if(o[r]>=t){p=r+1;break}}if(t>=d&&e>=h-m&&(t<=C&&(v=t),t>=_)){let e=s[t]-u.width;for(let r=C;r<=t;r++)if(s[r]>=e){v=r+1;break}}if(void 0===p&&void 0===v)return!1;let{offsetX:w,offsetY:E}=this._scrollManagerService.getCurrentScrollState()||{};return this._commandService.syncExecuteCommand(HPe.id,{sheetViewStartRow:p,sheetViewStartColumn:v,offsetX:void 0===v?w:0,offsetY:void 0===p?E:0})}};gHe=pLe([gLe(1,Y(vLe)),gLe(2,Vc),gLe(3,kX),gLe(4,Y(rSe)),gLe(5,Y(_Pe)),gLe(6,dg),gLe(7,Mc)],gHe);let pHe=class extends tu{constructor(e,t,r){super(),this._context=e,this._sheetSkeletonManagerService=t,this._renderManagerService=r,this.disposeWithMe(this._context.unit.sheetDisposed$.subscribe(e=>{this._sheetSkeletonManagerService.disposeSkeleton(e.getSheetId())})),this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{this._updateSceneSize(e)})}_updateSceneSize(e){var t;if(null==e)return;let{unitId:r}=this._context,{skeleton:n}=e,i=null==(t=this._renderManagerService.getRenderById(r))?void 0:t.scene;if(null==n||null==i)return;let{rowTotalHeight:a,columnTotalWidth:o,rowHeaderWidthAndMarginLeft:s,columnHeaderHeightAndMarginTop:l}=n;this._context.unit.getActiveSheet()&&(null==i||i.transformByState({width:s+o,height:l+a}),i.getMainViewport().setMargin(s,l))}};pHe=pLe([gLe(1,Y(vLe)),gLe(2,kX)],pHe),V("sheets-ui.services.auto-height");let vHe=class extends tu{constructor(e,t,r){super(),this._context=e,this._sheetSkeletonManagerService=t,this._commandService=r,nLe(this,"_autoHeightTasks",[]),nLe(this,"_calculateLoopId",null),this._initMarkDirty()}_initMarkDirty(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===hNe.id){let{unitId:t,subUnitId:r,ranges:n,id:i}=e.params;if(t!==this._context.unitId)return;this.startAutoHeightTask({ranges:n,sheetId:r,id:i,maxTime:1e4})}if(e.id===mNe.id){let{unitId:t,id:r}=e.params;if(t!==this._context.unitId)return;this.cancelTask(r)}}))}_loopTask(e){let t=e.skeleton,r=[],n=[];if(e.maxTime&&e.maxTime+e.startTime<=Date.now())r=e.ranges;else{let t=function(e){let t=[],r=[...e],n=500;for(;r.length>0;){let e=r.shift();if(!e)break;let i=e.endRow-e.startRow+1;if(i>n){t.push({...e,startRow:e.startRow,endRow:e.startRow+n-1}),r.unshift({...e,startRow:e.startRow+n});break}t.push(e),n-=i}return{result:t,lasts:r}}(e.ranges);r=t.result,n=t.lasts}let i=t.calculateAutoHeightInRange(r).filter(e=>{let{row:r,autoHeight:n}=e;return!(!n||t.getRowHeight(r)===n)});if(n.length&&(e.ranges=n,this._autoHeightTasks.unshift(e)),i.length){let t={unitId:this._context.unitId,subUnitId:e.sheetId,rowsAutoHeightInfo:i};this._commandService.syncExecuteCommand(hEe.id,t)}}_calculateLoop(e){for(;this._autoHeightTasks.length&&!(e.timeRemaining()<=0);){let e=this._autoHeightTasks.shift();if(!e)return void(this._calculateLoopId=null);this._loopTask(e)}this._calculateLoopId=requestIdleCallback(e=>{this._calculateLoop(e)})}_initialCalculateLoop(){null===this._calculateLoopId&&(this._calculateLoopId=requestIdleCallback(e=>{this._calculateLoop(e)}))}startAutoHeightTask(e){let t=this._sheetSkeletonManagerService.getSkeleton(e.sheetId);if(!t)return;e.ranges=Oh.mergeRanges(e.ranges.map(e=>({...e,startColumn:0,endColumn:0})));let r=Oh.subtractMulti(e.ranges,this._autoHeightTasks.filter(t=>t.sheetId===e.sheetId).map(e=>e.ranges).flat());r.length&&(this._autoHeightTasks.push({...e,startTime:Date.now(),skeleton:t,ranges:r}),this._initialCalculateLoop())}cancelTask(e){let t=this._autoHeightTasks.findIndex(t=>t.id===e);-1!==t&&this._autoHeightTasks.splice(t,1)}};function bHe(e){let{popup:t}=e,{extraProps:r}=t,{options:n,defaultValue:i,onChange:a}=r,[o,s]=(0,_q.useState)(null==i?[]:i);return(0,$Z.jsx)(Z7,{options:n,value:o,onChange:a})}function CHe(e){let{popup:t}=e,{extraProps:r}=t,{defaultValue:n,onChange:i}=r;return(0,$Z.jsx)(w9,{value:n,onChange:i})}function yHe(e){let{popup:t}=e,{extraProps:r}=t,{hideFn:n,patternType:i,defaultValue:a,onChange:o,showTime:s}=r,[l,u]=(0,_q.useState)(a),c=(0,_q.useMemo)(()=>"time"===i?As()("1900-01-01 00:00:00"):As()(),[]),d=l&&l.isValid()?l:c,h=iK(Cg);return(0,$Z.jsxs)("div",{className:"univer-rounded univer-bg-white univer-p-2 univer-shadow-lg dark:!univer-bg-black",children:["time"===i?(0,$Z.jsx)(q7,{value:d.toDate(),onValueChange:e=>{u(As()(e))}}):(0,$Z.jsx)(Y7,{value:d.toDate(),showTime:null==s?"datetime"===i:s,onValueChange:e=>{u(As()(e))}}),(0,$Z.jsx)("footer",{className:x7("univer-mt-2 univer-flex univer-justify-end univer-pt-2",H7),children:(0,$Z.jsx)(O7,{size:"small",variant:"primary",onClick:async()=>{d&&await(null==o?void 0:o(d))&&n()},disabled:!d||!d.isValid(),children:h.t("dataValidation.alert.ok")})})]})}function _He(e){return e.split(",").filter(Boolean)}function wHe(e){let{value:t,onChange:r,multiple:n,options:i,title:a,onEdit:o,style:s,location:l,showEdit:u,showSearch:c}=e,d=iK(Cg),{row:h,col:m,unitId:f,subUnitId:g}=l,p=(0,_q.useRef)(null);(0,_q.useEffect)(()=>{let e=null;return c&&(e=setTimeout(()=>{var e;null==(e=p.current)||e.focus()},0)),()=>{e&&clearTimeout(e)}},[c]);let[v,b]=(0,_q.useState)(""),C=(0,_q.useMemo)(()=>i.filter(e=>!v||e.label.toLowerCase().includes(v)),[i,v]),y=iK(NNe),_=(0,_q.useMemo)(()=>y.permissionCheckWithRanges({workbookTypes:[PSe],rangeTypes:[SSe],worksheetTypes:[JSe]},[{startColumn:m,startRow:h,endColumn:m,endRow:h}],f,g),[y,m,h,f,g]);return(0,$Z.jsxs)("div",{"data-u-comp":"sheets-dropdown-list",className:x7("univer-box-border univer-rounded-lg univer-bg-white univer-py-1 univer-text-gray-900 univer-shadow dark:!univer-bg-black dark:!univer-text-white",V7),style:s,children:[c&&(0,$Z.jsx)("div",{className:"univer-box-border univer-flex univer-w-full univer-px-2",children:(0,$Z.jsx)("input",{ref:p,className:"univer-w-full univer-rounded-md univer-border univer-border-[rgba(13,13,13,0.12)] univer-px-2 univer-py-1 univer-text-sm focus:univer-border-primary-500 focus:univer-outline-none dark:!univer-bg-black dark:!univer-text-white",type:"text",value:v,autoFocus:!0,onChange:e=>{b(e.target.value.toLowerCase())}})}),(0,$Z.jsx)("div",{className:"univer-px-3.5 univer-py-1 univer-pt-2 univer-text-xs",children:a}),(0,$Z.jsx)("div",{className:x7("univer-flex univer-max-h-52 univer-flex-col univer-gap-1 univer-overflow-y-auto univer-px-2 univer-py-1",U7),children:C.map((e,a)=>{let o=t.indexOf(e.value)>-1,s=e.label.toLocaleLowerCase().indexOf(v),l=new $c(e.color).isDark();return(0,$Z.jsxs)("div",{className:"univer-flex univer-cursor-pointer univer-flex-row univer-items-center univer-justify-between univer-rounded-md univer-px-1.5 univer-py-1 hover:univer-bg-gray-50 dark:hover:!univer-bg-gray-700",onClick:()=>{let a;a=o?new Set(t.filter(t=>t!==e.value)):new Set(n?[...t,e.value]:[e.value]);let s=[];i.forEach(e=>{a.has(e.value)&&s.push(e.value)}),r(s)},children:[(0,$Z.jsx)("div",{className:x7("univer-inline-flex univer-h-4 univer-w-fit univer-items-center univer-truncate univer-rounded-full univer-px-1.5 univer-text-xs",{"univer-text-gray-900":!l,"univer-text-white":l}),style:{background:e.color},children:v&&e.label.toLowerCase().includes(v)?(0,$Z.jsxs)($Z.Fragment,{children:[(0,$Z.jsx)("span",{children:e.label.substring(0,s)}),(0,$Z.jsx)("span",{className:"univer-font-semibold",children:e.label.substring(s,s+v.length)}),(0,$Z.jsx)("span",{children:e.label.substring(s+v.length)})]}):e.label}),(0,$Z.jsx)("div",{className:"univer-ml-3 univer-size-4 univer-flex-shrink-0 univer-flex-grow-0 univer-text-base univer-text-primary-500",children:o&&(0,$Z.jsx)(XZ,{className:"univer-text-primary-600"})})]},a)})},v),u&&_&&(0,$Z.jsx)("div",{className:x7("univer-box-border univer-px-2 univer-pt-1",H7),children:(0,$Z.jsx)("a",{className:"univer-block univer-cursor-pointer univer-rounded univer-px-1.5 univer-py-1 univer-text-xs hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-800",onClick:o,children:d.t("dataValidation.list.edit")})})]})}function EHe(e){var t,r;let{popup:{extraProps:n,anchorRect:i}}=e,{location:a,hideFn:o,onChange:s,onEdit:l,options:u,defaultValue:c,multiple:d,showSearch:h,showEdit:m}=n,{worksheet:f}=a;if(!f)return null;let g=iK(Cg),[p,v]=(0,_q.useState)(c),b=(null==(t=null==i?void 0:i.right)?0:t)-(null==(r=null==i?void 0:i.left)?0:r);return(0,$Z.jsx)(wHe,{style:{minWidth:b,maxWidth:Math.max(b,200)},title:d?g.t("dataValidation.listMultiple.dropdown"):g.t("dataValidation.list.dropdown"),value:_He(null==p?"":p),multiple:d,onChange:async e=>{v(function(e){return e.filter(Boolean).join(",")}(e)),!1!==await(null==s?void 0:s(e))&&o()},options:u,onEdit:l,location:a,showEdit:m,showSearch:h})}vHe=pLe([gLe(1,Y(vLe)),gLe(2,Vc)],vHe),bHe.componentKey="sheets.dropdown.cascader",CHe.componentKey="sheets.dropdown.color",yHe.componentKey="sheets.dropdown.date",EHe.componentKey="sheets.dropdown.list";const SHe={datepicker:yHe,list:EHe,color:CHe,cascader:bHe},AHe=V("ICellDropdownManagerService");let IHe=class extends tu{constructor(e,t,r,n){super(),this._canvasPopupManagerService=e,this._zenZoneService=t,this._renderManagerService=r,this._componentManager=n,Object.values(SHe).forEach(e=>{this.disposeWithMe(this._componentManager.register(e.componentKey,e))})}showDropdown(e){let{location:t,onHide:r,closeOnOutSide:n=!0}=e,{row:i,col:a,unitId:o,subUnitId:s}=t;if(this._zenZoneService.visible)throw Error("[SheetCellDropdownManagerService]: cannot show dropdown when zen mode is visible");let l=SHe[e.type],u=this._renderManagerService.getRenderById(Sl),c=new eu,d=this._canvasPopupManagerService.attachPopupToCell(i,a,{componentKey:l.componentKey,onClickOutside:()=>{n&&c.dispose()},offset:[0,3],excludeOutside:[null==u?void 0:u.engine.getCanvasElement()].filter(Boolean),extraProps:{...e,...e.props,hideFn:()=>{c.dispose()}}},o,s);if(!d)throw Error("[SheetCellDropdownManagerService]: cannot show dropdown");return c.add(d),c.add({dispose:()=>{null==r||r()}}),c}};IHe=pLe([gLe(0,Y(EVe)),gLe(1,ote),gLe(2,kX),gLe(3,Y(W5))],IHe);const RHe=jl("PRINTING_RANGE"),xHe=jl("PRINTING_COMPONENT_COLLECT"),THe=jl("PRINTING_DOM_COLLECT");var NHe=class extends tu{constructor(){super(),nLe(this,"_printComponentMap",new Map),nLe(this,"interceptor",new Wl({PRINTING_RANGE:RHe,PRINTING_COMPONENT_COLLECT:xHe,PRINTING_DOM_COLLECT:THe})),this.disposeWithMe(this.interceptor.intercept(this.interceptor.getInterceptPoints().PRINTING_RANGE,{priority:-1,handler:e=>e})),this.disposeWithMe(this.interceptor.intercept(this.interceptor.getInterceptPoints().PRINTING_COMPONENT_COLLECT,{priority:-1,handler:e=>e})),this.disposeWithMe(this.interceptor.intercept(this.interceptor.getInterceptPoints().PRINTING_DOM_COLLECT,{priority:-1,handler:e=>e}))}registerPrintComponent(e,t){this._printComponentMap.set(e,t)}getPrintComponent(e){return this._printComponentMap.get(e)}},MHe=class extends _Le{constructor(e,t,r,n){super(e,t,r,n),this._scene=e,this._zIndex=t,this._themeService=r,nLe(this,"_fillControlTopLeft",void 0),nLe(this,"_fillControlBottomRight",void 0),nLe(this,"_rangeType",pd.NORMAL),this._rangeType=(null==n?void 0:n.rangeType)||pd.NORMAL,this.initControlPoints()}initControlPoints(){let e=this.currentStyle,t=e.expandCornerSize||0,r=(e.expandCornerSize||0)/4,n=e.autofillStrokeWidth||0,i=e.stroke,a=e.autofillStroke,o=this.zIndex;this._fillControlTopLeft=new tX(yLe.fillTopLeft+o,{zIndex:o+2,width:t,height:t,radius:t/2,visualWidth:r,visualHeight:r,strokeWidth:n}),this._fillControlBottomRight=new tX(yLe.fillBottomRight+o,{zIndex:o+2,width:t,height:t,radius:t/2,visualHeight:r,visualWidth:r,strokeWidth:n});let s={fill:i,stroke:a,strokeScaleEnabled:!1};this._fillControlTopLeft.setProps({...s}),this._fillControlBottomRight.setProps({...s});let l=[this._fillControlTopLeft,this._fillControlBottomRight];switch(this._rangeType){case pd.ROW:this.rowHeaderGroup.addObjects(...l);break;case pd.COLUMN:this.columnHeaderGroup.addObjects(...l);break;case pd.NORMAL:this.selectionShapeGroup.addObjects(...l)}this.getScene().addObjects(l,1)}get fillControlTopLeft(){return this._fillControlTopLeft}set fillControlTopLeft(e){this._fillControlTopLeft=e}get fillControlBottomRight(){return this._fillControlBottomRight}set fillControlBottomRight(e){this._fillControlBottomRight=e}get rangeType(){return this._rangeType}set rangeType(e){this._rangeType=e}dispose(){var e,t;null==(e=this._fillControlBottomRight)||e.dispose(),null==(t=this._fillControlTopLeft)||t.dispose(),super.dispose()}_updateLayoutOfSelectionControl(e){super._updateLayoutOfSelectionControl(e);let t=this.currentStyle;null==e&&(e=t);let{widgets:r=t.widgets}=e;if(this.currentStyle=e,!0!==this._enableAutoFill||super._hasWidgets(r)){var n,i;null==(n=this.fillControlTopLeft)||n.hide(),null==(i=this.fillControlBottomRight)||i.hide()}else{let{viewportScrollX:e,viewportScrollY:t}=this.getViewportMainScrollInfo(),{endX:r,endY:n}=this.selectionModel;this.transformControlPoint(e,t,r,n),this.fillControlTopLeft.show(),this.fillControlBottomRight.show()}}getViewportMainScrollInfo(){let e=this.getScene().getViewport(bj.VIEW_MAIN);return{viewportScrollX:(null==e?void 0:e.viewportScrollX)||0,viewportScrollY:(null==e?void 0:e.viewportScrollY)||0,width:(null==e?void 0:e.width)||0,height:(null==e?void 0:e.height)||0}}transformControlPoint(e=0,t=0,r=0,n=0){let i=this.currentStyle,a=this.selectionModel.rangeType,o=i.expandCornerSize,{startX:s,startY:l,endX:u,endY:c}=this.selectionModel,d=this.getViewportMainScrollInfo(),h=d.width,m=d.height;switch(a){case pd.NORMAL:this.fillControlTopLeft.transformByState({left:-o/2,top:-o/2}),this.fillControlBottomRight.transformByState({left:u-s-o/2,top:c-l-o/2});break;case pd.ROW:{let t=-o/2+Math.min(h/2+e,r);this.fillControlTopLeft.transformByState({left:t,top:-o/2}),this.fillControlBottomRight.transformByState({left:t,top:-o/2+c-l})}break;case pd.COLUMN:{let e=-o/2+Math.min(m/2+t,n);this.fillControlTopLeft.transformByState({left:-o/2,top:e}),this.fillControlBottomRight.transformByState({left:-o/2+u-s,top:e})}break;default:console.error("unknown range type")}}},OHe=function(e){return e.BOTTOM_RIGHT="bottom-right",e.TOP_LEFT="top-left",e.LEFT="left",e.RIGHT="right",e.TOP="top",e.BOTTOM="bottom",e}(OHe||{});let LHe=class extends hLe{constructor(e,t,r,n,i,a,o,s,l,u){super(t,r,n,a,l),this._context=e,this._logService=o,this._commandService=s,this._contextService=l,this._scrollManagerService=u,nLe(this,"_workbookSelections",void 0),nLe(this,"_renderDisposable",null),nLe(this,"_expandingSelection",!1),nLe(this,"_selectionControls",[]),nLe(this,"expandingControlMode",OHe.BOTTOM_RIGHT),nLe(this,"_anchorCellForExpanding",null),this._workbookSelections=i.getWorkbookSelections(this._context.unitId),this._init()}_init(){let e=this._getSheetObject();this._initEventListeners(e),this._initSelectionChangeListener(),this._initSkeletonChangeListener(),this._initUserActionSyncListener(),this._updateControlPointWhenScrolling()}_initSkeletonChangeListener(){this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{var t;if(null==e)return void this._logService.error("[SelectionRenderService]: should not receive null!");let r=this._context.unitId,{sheetId:n,skeleton:i}=e,{scene:a}=this._context,o=a.getViewport(bj.VIEW_MAIN),s=null==(t=this._skeleton)||null==(t=t.worksheet)?void 0:t.getSheetId();if(this._changeRuntime(i,a,o),s!==i.worksheet.getSheetId()){let e=this._workbookSelections.getCurrentSelections();this._commandService.syncExecuteCommand(vSe.id,{unitId:r,subUnitId:n,selections:0===e.length?[fLe(i)]:e})}let l=this._workbookSelections.getCurrentSelections();null!=l&&this.resetSelectionsByModelData(l)}))}_initSelectionChangeListener(){this.disposeWithMe(Ei(this._workbookSelections.selectionMoveEnd$,this._workbookSelections.selectionSet$).subscribe(e=>{e&&this.resetSelectionsByModelData(e)}))}_initEventListeners(e){let{spreadsheetRowHeader:t,spreadsheetColumnHeader:r,spreadsheet:n,spreadsheetLeftTopPlaceholder:i}=e,{scene:a}=this._context;this._initSpreadsheetEvent(e),this.disposeWithMe(null==t?void 0:t.onPointerDown$.subscribeEvent((e,t)=>{if(this._normalSelectionDisabled())return;let r=this._sheetSkeletonManagerService.getCurrentParam().skeleton,{row:i}=UPe(e.offsetX,e.offsetY,a,r);TUe(this._workbookSelections.getCurrentSelections(),i)||(this.createNewSelection(e,(n.zIndex||1)+1,pd.ROW,this._getActiveViewport(e)),this._selectionMoveEnd$.next(this.getSelectionDataWithStyle()))})),this.disposeWithMe(null==r?void 0:r.onPointerDown$.subscribeEvent((e,t)=>{if(this._normalSelectionDisabled())return;let r=this._sheetSkeletonManagerService.getCurrentParam().skeleton,{column:i}=UPe(e.offsetX,e.offsetY,a,r);NUe(this._workbookSelections.getCurrentSelections(),i)||(this.createNewSelection(e,(n.zIndex||1)+1,pd.COLUMN,this._getActiveViewport(e)),this._selectionMoveEnd$.next(this.getSelectionDataWithStyle()))})),this.disposeWithMe(null==i?void 0:i.onPointerDown$.subscribeEvent((e,t)=>{if(this._normalSelectionDisabled())return;this._reset();let r=mLe(this._sheetSkeletonManagerService.getCurrentParam().skeleton);this._addSelectionControlByModelData(r),this.refreshSelectionMoveStart(),t.stopPropagation(),this._selectionMoveEnd$.next(this.getSelectionDataWithStyle())}))}_initSpreadsheetEvent(e){let{spreadsheet:t}=e,r={x:0,y:0},n=e=>{this._contextService.getContextValue("MOBILE_PINCH_ZOOMING")||(this.createNewSelection(e,t.zIndex+1,pd.NORMAL,this._getActiveViewport(e)),this._selectionMoveEnd$.next(this.getSelectionDataWithStyle()))},i=null==t?void 0:t.onPointerDown$.subscribeEvent((e,t)=>{this._contextService.getContextValue("MOBILE_PINCH_ZOOMING")||(r.x=e.offsetX,r.y=e.offsetY,t.stopPropagation())}),a=null==t?void 0:t.onPointerUp$.subscribeEvent((e,t)=>{this._normalSelectionDisabled()||this._contextService.getContextValue("MOBILE_PINCH_ZOOMING")||Math.abs(e.offsetX-r.x)>10||Math.abs(e.offsetY-r.y)>10||(n(e),t.stopPropagation())});this.disposeWithMe(Jl(i)),this.disposeWithMe(Jl(a))}_initUserActionSyncListener(){this.disposeWithMe(this.selectionMoveStart$.subscribe(e=>this._updateSelections(e,eSe.MOVE_START))),this.disposeWithMe(this.selectionMoving$.subscribe(e=>this._updateSelections(e,eSe.MOVING))),this.disposeWithMe(this._contextService.subscribeContextValue$(iSe).pipe(RL(!1),Zn()).subscribe(e=>{var t;e?(null==(t=this._renderDisposable)||t.dispose(),this._renderDisposable=null,this._reset()):this._renderDisposable=Jl(this.selectionMoveEnd$.subscribe(e=>this._updateSelections(e,eSe.MOVE_END)))}))}_updateSelections(e,t){let r=this._context.unit,n=r.getUnitId(),i=r.getActiveSheet().getSheetId();0!==e.length&&this._commandService.executeCommand(vSe.id,{unitId:n,subUnitId:i,type:t,selections:e.map(e=>PEe(e))})}createNewSelection(e,t=0,r=pd.NORMAL,n){this._rangeType=r;let i=this._skeleton,a=this._scene;if(!a||!i)return;n&&(this._activeViewport=n);let{offsetX:o,offsetY:s}=e,l=a.getCoordRelativeToViewport(TF.FromArray([o,s])),{x:u,y:c}=l;this._startViewportPosX=u,this._startViewportPosY=c;let d=a.getScrollXYInfoByViewport(l),{scaleX:h,scaleY:m}=a.getAncestorScale(),f=this._skeleton.getCellByOffset(u,c,h,m,d);if(!f)return;switch(r){case pd.NORMAL:break;case pd.ROW:f.startColumn=0,f.endColumn=this._skeleton.getColumnCount()-1;break;case pd.COLUMN:f.startRow=0,f.endRow=this._skeleton.getRowCount()-1;break;case pd.ALL:f.startRow=0,f.startColumn=0,f.endRow=this._skeleton.getRowCount()-1,f.endColumn=this._skeleton.getColumnCount()-1}let g={range:f,primary:f,style:null};g.range.rangeType=r;let p=uLe(g,this._skeleton);this._startRangeWhenPointerDown={...p.rangeWithCoord};let v=this.getActiveSelectionControl(),b={...p.rangeWithCoord};for(let e of this.getSelectionControls())if(e.model.isEqual(b)){v=e;break}(null==v?void 0:v.model.rangeType)===r?v.updateRangeBySelectionWithCoord(p):(this._clearAllSelectionControls(),v=this.newSelectionControl(a,i,g)),this._selectionMoveStart$.next(this.getSelectionDataWithStyle()),this._clearUpdatingListeners(),this._expandingSelection=!1}newSelectionControl(e,t,r){let n=this.getSelectionControls(),{rowHeaderWidth:i,columnHeaderHeight:a}=t,o=r.range.rangeType,s=new MHe(e,n.length,this._themeService,{highlightHeader:this._highlightHeader,rowHeaderWidth:i,columnHeaderHeight:a,rangeType:o}),l=uLe(r,t);s.updateRangeBySelectionWithCoord(l),this._selectionControls.push(s);let{expandingModeForTopLeft:u,expandingModeForBottomRight:c}=(()=>{switch(o){case pd.NORMAL:return{expandingModeForTopLeft:OHe.TOP_LEFT,expandingModeForBottomRight:OHe.BOTTOM_RIGHT};case pd.ROW:return{expandingModeForTopLeft:OHe.TOP,expandingModeForBottomRight:OHe.BOTTOM};case pd.COLUMN:return{expandingModeForTopLeft:OHe.LEFT,expandingModeForBottomRight:OHe.RIGHT};case pd.ALL:default:return{expandingModeForTopLeft:OHe.TOP_LEFT,expandingModeForBottomRight:OHe.BOTTOM_RIGHT}}})();return s.fillControlTopLeft.onPointerDown$.subscribeEvent(e=>{this._expandingSelection=!0,this._contextService.setContextValue(lHe,!0),this.expandingControlMode=u,this._selectionMoveStart$.next(this.getSelectionDataWithStyle()),this._fillControlPointerDownHandler(e,o,this._activeViewport)}),s.fillControlBottomRight.onPointerDown$.subscribeEvent(e=>{this._expandingSelection=!0,this._contextService.setContextValue(lHe,!0),this.expandingControlMode=c,this._selectionMoveStart$.next(this.getSelectionDataWithStyle()),this._fillControlPointerDownHandler(e,o,this._activeViewport)}),(o===pd.ROW||o===pd.COLUMN)&&e.getViewport(bj.VIEW_MAIN),s}_getActiveViewport(e){let t=this._getSheetObject();return null==t?void 0:t.scene.getActiveViewportByCoord(TF.FromArray([e.offsetX,e.offsetY]))}_getSheetObject(){return PPe(this._context.unit,this._context)}_normalSelectionDisabled(){return this._contextService.getContextValue(iSe)}getSelectionControls(){return this._selectionControls}_fillControlPointerDownHandler(e,t=pd.NORMAL,r,n=wX.ALL){var i;let a=this._skeleton,o=this._scene;if(!o||!a)return;r&&(this._activeViewport=r);let s=o.getViewport(bj.VIEW_MAIN),l=this.getActiveSelectionControl();if(!l)return;this._anchorCellForExpanding=this._changeCurrCellWhenControlPointerDown(),this._selectionMoveStart$.next(this.getSelectionDataWithStyle()),this._clearUpdatingListeners(),this._addEndingListeners(),null==(i=o.getTransformer())||i.clearSelectedObjects();let u=o.getCoordRelativeToViewport(TF.FromArray([e.offsetX,e.offsetY]));this._setupPointerMoveListener(s,l,t,n,u.x,u.y);let c=this._shortcutService.forceEscape();this._scenePointerUpSub=o.onPointerUp$.subscribeEvent(e=>{this.endSelection(),this._expandingSelection=!1,this._contextService.setContextValue(lHe,!1),this.expandingControlMode=OHe.BOTTOM_RIGHT,this._selectionMoveEnd$.next(this.getSelectionDataWithStyle()),c.dispose()})}_changeCurrCellWhenControlPointerDown(){let e,t=this.getActiveSelectionControl(),r=this._skeleton,{startRow:n,startColumn:i,endRow:a,endColumn:o}=t.model;switch(this.expandingControlMode){case OHe.TOP_LEFT:e=r.getCellWithCoordByIndex(a,o);break;case OHe.BOTTOM_RIGHT:e=r.getCellWithCoordByIndex(n,i);break;case OHe.LEFT:e=r.getCellWithCoordByIndex(n,o),e.isMerged=!1,e.isMergedMainCell=!1;break;case OHe.RIGHT:e=r.getCellWithCoordByIndex(n,i),e.isMerged=!1,e.isMergedMainCell=!1;break;case OHe.TOP:e=r.getCellWithCoordByIndex(a,i),e.isMerged=!1,e.isMergedMainCell=!1;break;case OHe.BOTTOM:e=r.getCellWithCoordByIndex(n,i),e.isMerged=!1,e.isMergedMainCell=!1;break;default:e=r.getCellWithCoordByIndex(n,i)}return t.updateCurrCell(e),e}_setupPointerMoveListener(e,t,r,n=wX.ALL,i,a){var o,s;this._scrollTimer=SX.create(this._scene,n),this._scrollTimer.startScroll(null==(o=null==e?void 0:e.left)?0:o,null==(s=null==e?void 0:e.top)?0:s,e);let l=this._scene;this._scenePointerMoveSub=l.onPointerMove$.subscribeEvent(e=>{if(this._contextService.getContextValue("MOBILE_PINCH_ZOOMING"))return;let{offsetX:n,offsetY:i}=e,{x:a,y:o}=l.getCoordRelativeToViewport(TF.FromArray([n,i]));this._movingHandler(a,o,t,r);let s=a,u=o;this._scrollTimer.scrolling(s,u,()=>{this._movingHandler(a,o,t,r)})})}_movingHandler(e,t,r,n){var i,a,o,s,l,u,c,d,h,m,f,g,p,v;this._rangeType=n;let b=this._skeleton,C=this._scene,y={startRow:r.model.startRow,endRow:r.model.endRow,startColumn:r.model.startColumn,endColumn:r.model.endColumn},_=C.getViewport(bj.VIEW_MAIN),w=null==(i=this._getViewportByCell(y.endRow,y.endColumn))?_:i,E=C.getScrollXYInfoByViewport(TF.FromArray([this._startViewportPosX,this._startViewportPosY]),w),{scaleX:S,scaleY:A}=C.getAncestorScale();n===pd.ROW?e=1/0:n===pd.COLUMN&&(t=1/0);let I=this._getSelectionWithCoordByOffset(e,t,S,A,E);if(!I)return!1;let{rangeWithCoord:R}=I,x=null==(a=this._anchorCellForExpanding)?r.model.currentCell:a,T=null==(o=null==(s=null==x||null==(l=x.mergeInfo)?void 0:l.startRow)?null==x?void 0:x.actualRow:s)?-1:o,N=null==(u=null==(c=null==x||null==(d=x.mergeInfo)?void 0:d.endRow)?null==x?void 0:x.actualRow:c)?-1:u,M=null==(h=null==(m=null==x||null==(f=x.mergeInfo)?void 0:f.startColumn)?null==x?void 0:x.actualColumn:m)?-1:h,O=null==(g=null==(p=null==x||null==(v=x.mergeInfo)?void 0:v.endColumn)?null==x?void 0:x.actualColumn:p)?-1:g,L=Math.min(R.startRow,T);-1===T&&(L=R.startRow);let k=Math.min(R.startColumn,M);-1===M&&(k=R.startColumn);let P={startRow:L,startColumn:k,endRow:Math.max(R.endRow,N),endColumn:Math.max(R.endColumn,O)};if(n===pd.NORMAL?P=b.expandRangeByMerge(P):n===pd.COLUMN?P={startRow:0,startColumn:Math.min(R.startColumn,M),endRow:b.getRowCount()-1,endColumn:Math.max(R.endColumn,O)}:n===pd.ROW&&(P={startRow:Math.min(R.startRow,T),startColumn:0,endRow:Math.max(R.endRow,N),endColumn:b.getColumnCount()-1}),!P)return!1;let D=uLe({range:P,style:null,primary:null},b);(y.startRow!==P.startRow||y.startColumn!==P.startColumn||y.endRow!==P.endRow||y.endColumn!==P.endColumn)&&r&&(r.updateRangeBySelectionWithCoord(D),this._selectionMoving$.next(this.getSelectionDataWithStyle()))}_updateControlPointWhenScrolling(){let{scene:e}=this._context;if(!e.getViewport(bj.VIEW_MAIN))return;let t=this._scrollManagerService.validViewportScrollInfo$.subscribe(e=>{var t;if(null==e)return;let{viewportScrollX:r,viewportScrollY:n}=e,i=this.getActiveSelectionControl();if(null==i)return;let a=null==(t=this._sheetSkeletonManagerService.getCurrentParam())?void 0:t.skeleton,o=null==a?void 0:a.rowTotalHeight,s=null==a?void 0:a.columnTotalWidth,l=i.rangeType;l===pd.COLUMN?i.transformControlPoint(0,n,s,o):l===pd.ROW&&i.transformControlPoint(r,0,s,o)});this.disposeWithMe(Jl(t))}};LHe=pLe([gLe(1,Y(he)),gLe(2,Y(Lg)),gLe(3,U8),gLe(4,Y(rSe)),gLe(5,Y(vLe)),gLe(6,kc),gLe(7,Vc),gLe(8,Mc),gLe(9,Y(_Pe))],LHe);let kHe=class extends Rg{constructor(e=aDe,t,r,n,i,a){super(),this._config=e,this._injector=t,this._renderManagerService=r,this._configService=n,this._univerInstanceService=i,this._componentManager=a;let{menu:o,...s}=hr({},aDe,this._config);if(s.protectedRangeUserSelector){let{component:e,framework:t}=s.protectedRangeUserSelector;this.disposeWithMe(this._componentManager.register(Xke,e,{framework:t}))}o&&this._configService.setConfig("menu",o,{merge:!0}),this._configService.setConfig(iDe,{...s})}onStarting(){Ml(this._injector,Ag([[TPe],[GPe,{useClass:qPe}],[ike,{useClass:ake}],[$Pe,{useClass:JPe}],[gPe,{useClass:pPe}],[TDe,{useClass:xDe}],[pUe,{useClass:gUe}],[fSe,{useClass:gSe}],[NHe],[nFe,{useClass:rFe}],[ELe,{useClass:SLe}],[yUe],[mUe],[EVe],[RVe],[aje],[xPe],[AHe,{useClass:IHe}],[NDe],[EDe],[zPe],[vUe],[_De],[_je],[eje],[wDe],[vje],[dje],[mje],[cje],[nUe],[tPe],[Eje],[rPe],[Aje],[SUe],[qje]],this._config.override))}onReady(){this._config.disableAutoFocus||this._initAutoFocus(),Ml(this._injector,[[hUe]]),this._registerRenderBasics(),Ol(this._injector,[[_je],[_De],[SUe],[Eje]])}onRendered(){this._registerRenderModules(),Ol(this._injector,[[qje],[tPe],[hUe],[vUe],[dje],[eje],[EDe],[zPe],[mje],[cje],[nUe]])}onSteady(){Ol(this._injector,[[vje],[wDe],[Aje]])}_registerRenderBasics(){[[vLe],[pHe],[HUe],[dLe,{useClass:LHe}],[_Pe],[vHe]].forEach(e=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(Pi.UNIVER_SHEET,e))})}_registerRenderModules(){var e;let t=[[LUe],[oHe],[VPe],[gHe],[xUe],[YPe],[Zje],[Qje],[lje],[uje],[gje],[bje],[_Ue],[fUe],[pje],[SDe],[dHe],[mHe],[wje],[MDe],[Sje],[Ije],[Gje],[Yje]],r=this._configService.getConfig(n8);(null==(e=null==r?void 0:r.contextMenu)||e)&&t.push([rHe]),t.forEach(e=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(Pi.UNIVER_SHEET,e))})}_initAutoFocus(){let e=this._univerInstanceService;this.disposeWithMe(e.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET).pipe(Un(e=>!!e)).subscribe(t=>e.focusUnit(t.getUnitId())))}};nLe(kHe,"pluginName","SHEET_UI_PLUGIN"),nLe(kHe,"packageName",rje),nLe(kHe,"version",nje),nLe(kHe,"type",Pi.UNIVER_SHEET),kHe=pLe([Tg(ZNe,pre),gLe(1,Y(he)),gLe(2,kX),gLe(3,Tc),gLe(4,dg),gLe(5,Y(W5))],kHe);let PHe=class extends tu{constructor(e,t,r,n){super(),this._context=e,this._contextMenuService=t,this._selectionManagerService=r,this._selectionRenderService=n,this._init()}_init(){var e;let t=(null==(e=this._context)||null==(e=e.mainComponent)?void 0:e.onPointerDown$).subscribeEvent(e=>{if(2===e.button){let t=this._selectionManagerService.getCurrentSelections(),r=null==t?void 0:t[0];if(!r)return;let n=r.range.rangeType,i=uLe(r,this._selectionRenderService.getSkeleton()).rangeWithCoord,a=()=>{if(!i)return!1;let t=e.offsetX,r=e.offsetY;switch(n){case pd.ROW:return i.startY<=r&&i.endY>=r;case pd.COLUMN:return i.startX<=t&&i.endX>=t;default:return i.startX<=t&&i.endX>=t&&i.startY<=r&&i.endY>=r}},o=t=>{this._contextMenuService.triggerContextMenu(e,t)};a()?n===pd.COLUMN?o(tee.COL_HEADER):n===pd.ROW?o(tee.ROW_HEADER):o(tee.MAIN_AREA):o(tee.MAIN_AREA)}});this.disposeWithMe(t);let r=this._context.components.get(tLe.COLUMN),n=this._context.components.get(tLe.ROW).onPointerDown$.subscribeEvent(e=>{2===e.button&&this._contextMenuService.triggerContextMenu(e,tee.ROW_HEADER)});this.disposeWithMe(n);let i=r.onPointerDown$.subscribeEvent(e=>{2===e.button&&this._contextMenuService.triggerContextMenu(e,tee.COL_HEADER)});this.disposeWithMe(i)}};PHe=pLe([gLe(1,jee),gLe(2,Y(rSe)),gLe(3,dLe)],PHe);let DHe=class extends tu{constructor(e,t){super(),this._commandService=e,this._repeatLastActionService=t,this._initCommandRecording()}_initCommandRecording(){this.disposeWithMe(this._commandService.onCommandExecuted((e,t)=>{null!=t&&t.fromCollab||null!=t&&t.fromChangeset||this._repeatLastActionService.getRepeatableCommands().has(e.id)&&this._repeatLastActionService.setAction(e)}))}};function UHe(e){return"function"==typeof e.setShadowStrategy}DHe=pLe([gLe(0,Vc),gLe(1,Y(kDe))],DHe);let BHe=class extends tu{constructor(e,t){super(),this._configService=e,this._renderManagerService=t,nLe(this,"_currentStrategy",void 0),nLe(this,"_strategySubject",void 0);let r=this._configService.getConfig(iDe);this._currentStrategy=oDe(null==r?void 0:r.protectedRangeShadow),this._strategySubject=new Qn(this._currentStrategy),this.disposeWithMe({dispose:()=>{this._strategySubject.complete()}})}_updateAllWorkbooks(e){this._renderManagerService.getRenderAll().forEach(t=>{let r=t.mainComponent;if(!r)return;let n=[{key:Vje},{key:Fje},{key:zje}],i=!1;for(let{key:t}of n){let n=r.getExtensionByKey(t);n&&UHe(n)&&(n.setShadowStrategy(e),i=!0)}i&&r.makeDirty(!0)})}setProtectedRangeShadowStrategy(e){this._currentStrategy=e,this._strategySubject.next(e),this._updateAllWorkbooks(e)}getProtectedRangeShadowStrategy(){return this._currentStrategy}getProtectedRangeShadowStrategy$(){return this._strategySubject.asObservable()}dispose(){super.dispose(),this._strategySubject.complete()}};BHe=pLe([gLe(0,Tc),gLe(1,kX)],BHe);let VHe=class extends hLe{constructor(e,t,r,n,i,a,o,s,l){super(t,r,n,a,l),this._context=e,this._logService=o,this._commandService=s,this._contextService=l,nLe(this,"_workbookSelections",void 0),nLe(this,"_renderDisposable",null),this._workbookSelections=i.getWorkbookSelections(this._context.unitId),this._init()}_init(){let e=this._getSheetObject();this._contextService.setContextValue(nSe,!0),this._initEventListeners(e),this._initSelectionModelChangeListener(),this._initThemeChangeListener(),this._initSkeletonChangeListener(),this._initUserActionSyncListener()}dispose(){var e;super.dispose(),null==(e=this._renderDisposable)||e.dispose()}_initEventListeners(e){let{spreadsheetRowHeader:t,spreadsheetColumnHeader:r,spreadsheet:n,spreadsheetLeftTopPlaceholder:i}=e,{scene:a}=this._context;this.disposeWithMe(null==n?void 0:n.onPointerDown$.subscribeEvent((e,t)=>{this.isSelectionDisabled()||this.inRefSelectionMode()||(this._onPointerDown(e,n.zIndex+1,pd.NORMAL,this._getActiveViewport(e)),2!==e.button&&t.stopPropagation())})),this.disposeWithMe(null==t?void 0:t.onPointerDown$.subscribeEvent((e,t)=>{if(this.isSelectionDisabled()||this.inRefSelectionMode())return;let r=this._sheetSkeletonManagerService.getCurrentParam().skeleton,{row:i}=UPe(e.offsetX,e.offsetY,a,r);TUe(this._workbookSelections.getCurrentSelections(),i)||(this._onPointerDown(e,(n.zIndex||1)+1,pd.ROW,this._getActiveViewport(e),wX.Y),2!==e.button&&t.stopPropagation())})),this.disposeWithMe(null==r?void 0:r.onPointerDown$.subscribeEvent((e,t)=>{if(this.isSelectionDisabled()||this.inRefSelectionMode())return;let r=this._sheetSkeletonManagerService.getCurrentParam().skeleton,{column:i}=UPe(e.offsetX,e.offsetY,a,r);NUe(this._workbookSelections.getCurrentSelections(),i)||(this._onPointerDown(e,(n.zIndex||1)+1,pd.COLUMN,this._getActiveViewport(e),wX.X),2!==e.button&&t.stopPropagation())})),this.disposeWithMe(null==i?void 0:i.onPointerDown$.subscribeEvent((e,t)=>{if(this.isSelectionDisabled()||this.inRefSelectionMode())return;this._reset();let r=mLe(this._sheetSkeletonManagerService.getCurrentParam().skeleton);this._addSelectionControlByModelData(r),this.refreshSelectionMoveEnd(),2!==e.button&&t.stopPropagation()}))}_initThemeChangeListener(){this.disposeWithMe(this._themeService.currentTheme$.subscribe(()=>{this._initSelectionThemeFromThemeService();let e=this._workbookSelections.getCurrentSelections();e&&this.resetSelectionsByModelData(e)}))}_initSelectionModelChangeListener(){this.disposeWithMe(Ei(this._workbookSelections.selectionMoveEnd$,this._workbookSelections.selectionSet$).subscribe(e=>{this.resetSelectionsByModelData(e)}))}disableSelection(){this._contextService.setContextValue(nSe,!1)}enableSelection(){this._contextService.setContextValue(nSe,!0)}transparentSelection(){let e=jr(this._themeService.getCurrentTheme(),"primary.600","transparent");this.setSelectionTheme(e);let t=this._workbookSelections.getCurrentSelections();for(let e=0;ethis._updateSelections(e,eSe.MOVE_START))),this.disposeWithMe(this.selectionMoving$.subscribe(e=>this._updateSelections(e,eSe.MOVING))),this.disposeWithMe(this._contextService.subscribeContextValue$(iSe).pipe(RL(!1),Zn()).subscribe(e=>{e&&this._reset()})),this.disposeWithMe(this._contextService.subscribeContextValue$(nSe).pipe(RL(!0),Zn()).subscribe(e=>{var t;e?this._renderDisposable=Jl(this.selectionMoveEnd$.subscribe(e=>{this._updateSelections(e,eSe.MOVE_END)})):(null==(t=this._renderDisposable)||t.dispose(),this._renderDisposable=null,this._reset())}))}_updateSelections(e,t){let r=this._context.unit,n=r.getUnitId(),i=r.getActiveSheet().getSheetId();if(0===e.length)return;let a=e.map(e=>PEe(e));this._commandService.executeCommand(vSe.id,{unitId:n,subUnitId:i,type:t,selections:a})}_initSkeletonChangeListener(){this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{var t;if(null==e)return void this._logService.error("[SelectionRenderService]: should not receive null!");let r=this._context.unitId,{sheetId:n,skeleton:i}=e,{scene:a}=this._context,o=a.getViewport(bj.VIEW_MAIN),s=null==(t=this._skeleton)||null==(t=t.worksheet)?void 0:t.getSheetId();if(this._changeRuntime(i,a,o),s!==i.worksheet.getSheetId()){let e=this._workbookSelections.getCurrentSelections();this._commandService.syncExecuteCommand(vSe.id,{unitId:r,subUnitId:n,selections:0===e.length?[fLe(i)]:e})}let l=this._workbookSelections.getCurrentSelections();null!=l&&this.resetSelectionsByModelData(l)}))}_getActiveViewport(e){let t=this._getSheetObject();return null==t?void 0:t.scene.getActiveViewportByCoord(TF.FromArray([e.offsetX,e.offsetY]))}_getSheetObject(){return PPe(this._context.unit,this._context)}_onPointerDown(e,t=0,r=pd.NORMAL,n,i=wX.ALL){var a,o;this._rangeType=r;let s=this._skeleton,l=this._scene;if(!l||!s)return;n&&(this._activeViewport=n);let{offsetX:u,offsetY:c}=e,d=l.getViewport(bj.VIEW_MAIN);if(!d)return;let h=l.getCoordRelativeToViewport(TF.FromArray([u,c])),{x:m,y:f}=h;this._startViewportPosX=m,this._startViewportPosY=f;let g=l.getScrollXYInfoByViewport(h),{scaleX:p,scaleY:v}=l.getAncestorScale(),b=this._skeleton.getCellByOffset(m,f,p,v,g);if(!b)return;switch(r){case pd.NORMAL:break;case pd.ROW:b.startColumn=0,b.endColumn=this._skeleton.getColumnCount()-1,b.startRow=b.actualRow,b.endRow=b.actualRow;break;case pd.COLUMN:b.startRow=0,b.endRow=this._skeleton.getRowCount()-1,b.startColumn=b.actualColumn,b.endColumn=b.actualColumn;break;case pd.ALL:b.startRow=0,b.startColumn=0,b.endRow=this._skeleton.getRowCount()-1,b.endColumn=this._skeleton.getColumnCount()-1}let C={range:b,primary:b,style:null};C.range.rangeType=r;let y=uLe(C,this._skeleton);this._startRangeWhenPointerDown={...y.rangeWithCoord};let _=this.getActiveSelectionControl(),w={...y.rangeWithCoord,rangeType:r},E=this.getSelectionControls();for(let t of E)if(2===e.button&&Oh.contains(t.model,w))return void(_=t);this._checkClearPreviousControls(e);let S=null==_?void 0:_.model.currentCell,A=e.shiftKey&&S,I=this._remainLastEnabled&&!e.ctrlKey&&!e.shiftKey&&!this._skipLastEnabled&&!this._singleSelectionEnabled;A?this._makeSelectionByTwoCells(S,w,s,r,_):I&&_?_.updateRangeBySelectionWithCoord(y):_=this.newSelectionControl(l,s,C);for(let e=0;e{var e;this._clearUpdatingListeners(),this._selectionMoveEnd$.next(this.getSelectionDataWithStyle()),null==(e=this._escapeShortcutDisposable)||e.dispose(),this._escapeShortcutDisposable=null}),null==(o=this._scene.getEngine())||o.setCapture()}};VHe=pLe([gLe(1,Y(he)),gLe(2,Y(Lg)),gLe(3,U8),gLe(4,Y(rSe)),gLe(5,Y(vLe)),gLe(6,kc),gLe(7,Vc),gLe(8,Mc)],VHe);let FHe=class extends Rg{constructor(e=aDe,t,r,n,i,a){super(),this._config=e,this._injector=t,this._renderManagerService=r,this._configService=n,this._univerInstanceService=i,this._componentManager=a;let{menu:o,...s}=hr({},aDe,this._config);if(s.protectedRangeUserSelector){let{component:e,framework:t}=s.protectedRangeUserSelector;this.disposeWithMe(this._componentManager.register(Xke,e,{framework:t}))}o&&this._configService.setConfig("menu",o,{merge:!0}),this._configService.setConfig(iDe,{...s})}onStarting(){Ml(this._injector,Ag([[TPe],[GPe,{useClass:qPe}],[ike,{useClass:ake}],[$Pe,{useClass:JPe}],[gPe,{useClass:pPe}],[TDe,{useClass:xDe}],[pUe,{useClass:gUe}],[fSe,{useClass:gSe}],[NHe],[kDe,{useClass:PDe}],[nFe,{useClass:rFe}],[ELe,{useClass:SLe}],[yUe],[mUe],[EVe],[RVe],[aje],[xPe],[AHe,{useClass:IHe}],[NDe],[EDe],[zPe],[vUe],[_De],[KFe],[eje],[wDe],[vje],[dje],[mje],[cje],[nUe],[DHe],[tPe],[Eje],[rPe],[BHe],[Aje],[SUe],[qje]],this._config.override))}onReady(){this._config.disableAutoFocus||this._initAutoFocus(),Ml(this._injector,[[hUe]]),this._registerRenderBasics(),Ol(this._injector,[[KFe],[_De],[SUe],[Eje]])}onRendered(){this._registerRenderModules(),Ol(this._injector,[[qje],[tPe],[hUe],[vUe],[dje],[eje],[EDe],[zPe],[mje],[cje],[nUe],[DHe]])}onSteady(){Ol(this._injector,[[vje],[wDe],[Aje]])}_registerRenderBasics(){[[vLe],[pHe],[HUe],[dLe,{useClass:VHe}],[vHe]].forEach(e=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(Pi.UNIVER_SHEET,e))})}_registerRenderModules(){var e;let t=[[LUe],[oHe],[jUe],[_Pe],[VPe],[xUe],[YPe],[Zje],[Qje],[lje],[uje],[gje],[bje],[_Ue],[fUe],[pje],[SDe],[PHe],[wje],[MDe],[Sje],[Ije],[Gje],[Yje]],r=this._configService.getConfig(n8);(null==(e=null==r?void 0:r.contextMenu)||e)&&t.push([rHe]),t.forEach(e=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(Pi.UNIVER_SHEET,e))})}_initAutoFocus(){let e=this._univerInstanceService;this.disposeWithMe(e.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET).pipe(Un(e=>!!e)).subscribe(t=>e.focusUnit(t.getUnitId())))}};function jHe(e,t,r,n){let{from:i,to:a}=r,{column:o,columnOffset:s,row:l,rowOffset:u}=i,{column:c,columnOffset:d,row:h,rowOffset:m}=a,f=n.ensureSkeleton(t);if(null==f)throw Error("No current skeleton");let g=lLe(f,{startColumn:o,endColumn:o,startRow:l,endRow:l}),p=lLe(f,{startColumn:c,endColumn:c,startRow:h,endRow:h}),{startX:v,startY:b}=g,{startX:C,startY:y}=p,_=QV(v+s,1),w=QV(b+u,1),E=QV(C+d-_,1),S=QV(y+m-w,1);return g.startX===p.endX&&(E=0),g.startY===p.endY&&(S=0),{unitId:e,subUnitId:t,left:_,top:w,width:E,height:S}}nLe(FHe,"pluginName","SHEET_UI_PLUGIN"),nLe(FHe,"packageName",rje),nLe(FHe,"version",nje),nLe(FHe,"type",Pi.UNIVER_SHEET),FHe=pLe([Tg(ZNe),gLe(1,Y(he)),gLe(2,kX),gLe(3,Tc),gLe(4,dg),gLe(5,Y(W5))],FHe);const HHe={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M12.6185 12.4423C12.5907 12.2749 12.7773 12.15 12.9343 12.2308L15.4242 13.5126C15.6102 13.6084 15.5544 13.8745 15.3439 13.8955L14.2456 14.184L13.4521 15.1286C13.3495 15.2939 13.085 15.2463 13.0534 15.0568L12.6185 12.4423Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1 3.6C1 2.16406 2.16406 1 3.6 1H12.3C13.7359 1 14.9 2.16406 14.9 3.6V5.81156C14.9003 5.81881 14.9004 5.82609 14.9004 5.8334C14.9004 5.84071 14.9003 5.84799 14.9 5.85524V10.045C14.9003 10.0522 14.9004 10.0595 14.9004 10.0668C14.9004 10.3982 14.6318 10.6668 14.3004 10.6668H11.1668C10.8907 10.6668 10.6668 10.8907 10.6668 11.1668V14.3C10.6668 14.6314 10.3982 14.9 10.0668 14.9L10.05 14.8998L3.6 14.9C2.16406 14.9 1 13.7359 1 12.3V3.6ZM13.2 5.2334C13.4761 5.2334 13.7 5.00954 13.7 4.7334V3.6C13.7 2.8268 13.0732 2.2 12.3 2.2H11.1668C10.8907 2.2 10.6668 2.42386 10.6668 2.7V4.7334C10.6668 5.00954 10.8907 5.2334 11.1668 5.2334H13.2ZM10.6668 6.9334C10.6668 6.65726 10.8907 6.4334 11.1668 6.4334H13.2C13.4761 6.4334 13.7 6.65726 13.7 6.9334V8.9668C13.7 9.24294 13.4761 9.4668 13.2 9.4668H11.1668C10.8907 9.4668 10.6668 9.24294 10.6668 8.9668V6.9334ZM8.9668 5.2334C9.24294 5.2334 9.4668 5.00954 9.4668 4.7334V2.7C9.4668 2.42386 9.24294 2.2 8.9668 2.2H6.9334C6.65726 2.2 6.4334 2.42386 6.4334 2.7V4.7334C6.4334 5.00954 6.65726 5.2334 6.9334 5.2334L8.9668 5.2334ZM6.4334 6.9334C6.4334 6.65726 6.65726 6.4334 6.9334 6.4334L8.9668 6.4334C9.24294 6.4334 9.4668 6.65726 9.4668 6.9334V8.9668C9.4668 9.24294 9.24294 9.4668 8.9668 9.4668L6.9334 9.4668C6.65726 9.4668 6.4334 9.24294 6.4334 8.9668V6.9334ZM4.7334 5.2334C5.00954 5.2334 5.2334 5.00954 5.2334 4.7334V2.7C5.2334 2.42386 5.00954 2.2 4.7334 2.2H3.6C2.8268 2.2 2.2 2.8268 2.2 3.6V4.7334C2.2 5.00954 2.42386 5.2334 2.7 5.2334H4.7334ZM2.2 6.9334C2.2 6.65726 2.42386 6.4334 2.7 6.4334H4.7334C5.00954 6.4334 5.2334 6.65725 5.2334 6.9334V8.9668C5.2334 9.24294 5.00954 9.4668 4.7334 9.4668H2.7C2.42386 9.4668 2.2 9.24294 2.2 8.9668V6.9334ZM5.2334 11.1668C5.2334 10.8907 5.00954 10.6668 4.7334 10.6668H2.7C2.42386 10.6668 2.2 10.8907 2.2 11.1668V12.3C2.2 13.0732 2.8268 13.7 3.6 13.7H4.7334C5.00954 13.7 5.2334 13.4761 5.2334 13.2V11.1668ZM9.4668 11.1668C9.4668 10.8907 9.24294 10.6668 8.9668 10.6668H6.9334C6.65726 10.6668 6.4334 10.8907 6.4334 11.1668V13.2C6.4334 13.4761 6.65726 13.7 6.9334 13.7H8.9668C9.24294 13.7 9.4668 13.4761 9.4668 13.2V11.1668Z",fillRule:"evenodd",clipRule:"evenodd"}}]},WHe=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"select-range-icon",ref:t,icon:HHe}))});WHe.displayName="SelectRangeIcon";const zHe={id:"sheet.command.copy-formula-only",type:Bc.COMMAND,handler:async e=>e.get(ike).copy({copyHookType:tke.SPECIAL_COPY_FORMULA_ONLY})},XHe={id:"sheet.command.paste-formula",type:Bc.COMMAND,handler:async e=>e.get(Vc).executeCommand(uke.id,{value:rke.SPECIAL_PASTE_FORMULA})};function qHe(e){return qHe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},qHe(e)}function GHe(e,t,r){return(t=function(e){var t=function(e){if("object"!=qHe(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=qHe(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==qHe(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function YHe(e,t){return function(r,n){t(r,n,e)}}function QHe(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}const ZHe=V("formula-ui.prompt-service");let KHe=class{constructor(e){this._contextService=e,GHe(this,"_search$",new On),GHe(this,"_help$",new On),GHe(this,"_navigate$",new On),GHe(this,"_accept$",new On),GHe(this,"_acceptFormulaName$",new On),GHe(this,"search$",this._search$.asObservable()),GHe(this,"help$",this._help$.asObservable()),GHe(this,"navigate$",this._navigate$.asObservable()),GHe(this,"accept$",this._accept$.asObservable()),GHe(this,"acceptFormulaName$",this._acceptFormulaName$.asObservable()),GHe(this,"_searching",!1),GHe(this,"_helping",!1),GHe(this,"_sequenceNodes",[]),GHe(this,"_isLockedOnSelectionChangeRefString",!1),GHe(this,"_isLockedOnSelectionInsertRefString",!1)}dispose(){this._search$.complete(),this._help$.complete(),this._navigate$.complete(),this._accept$.complete(),this._acceptFormulaName$.complete(),this._sequenceNodes=[]}search(e){this._contextService.setContextValue("FORMULA_PROMPT_ACTIVATED",e.visible),this._searching=e.visible,this._search$.next(e)}isSearching(){return this._searching}help(e){this._helping=e.visible,this._help$.next(e)}isHelping(){return this._helping}navigate(e){this._navigate$.next(e)}accept(e){this._accept$.next(e)}acceptFormulaName(e){this._acceptFormulaName$.next(e)}getSequenceNodes(){return[...this._sequenceNodes]}setSequenceNodes(e){this._sequenceNodes=e}clearSequenceNodes(){this._sequenceNodes=[]}getCurrentSequenceNode(e){return this._sequenceNodes[this.getCurrentSequenceNodeIndex(e)]}getCurrentSequenceNodeByIndex(e){return this._sequenceNodes[e]}getCurrentSequenceNodeIndex(e){let t=0,r=this._sequenceNodes[0];for(let n=0,i=this._sequenceNodes.length;n(e.get(ZHe).help(t),!0)},JHe={id:"formula-ui.operation.insert-function",type:Bc.OPERATION,handler:async(e,t)=>{let r=e.get(rSe),n=e.get(joe),i=r.getCurrentSelections();if(!i||!i.length)return!1;let a=W_e(e.get(dg));if(!a)return!1;let{worksheet:o,unitId:s,subUnitId:l}=a,u=o.getCellMatrix(),{value:c}=t,d=e.get(Vc);e.get(GPe);let h=[],m=[],f=null,g=0,p=0,v="";if(1===i.length&&(function(e){return e.startRow===e.endRow&&e.startColumn===e.endColumn}(i[0].range)||function(e){return e.startRow!==e.endRow&&e.startColumn!==e.endColumn}(i[0].range)&&rWe(u,i[0].range))){var b,C;let{range:e,primary:t}=i[0],r=null==(b=null==t?void 0:t.actualRow)?e.startRow:b,n=null==(C=null==t?void 0:t.actualColumn)?e.startColumn:C;f=e,g=r,p=n;let a=eWe(u,r,n);a&&(v=Pme(a))}else i.some(e=>{let{range:t,primary:r}=e;if(rWe(u,t)){var n,i;let e=null==(n=null==r?void 0:r.actualRow)?t.startRow:n,a=null==(i=null==r?void 0:r.actualColumn)?t.startColumn:i,o=eWe(u,e,a);if(!o)return f=t,g=e,p=a,!0;let s=`=${c}(${Pme(o)})`;h.push({range:t,primary:{row:e,column:a},formula:s})}else{let{startRow:e,startColumn:r,endRow:n,endColumn:i}=t;if(e===n){let a=function(e,t,r,n){for(let i=r;i<=n;i++)if(!e.getValue(t,i))return i;return n}(u,e,i,o.getColumnCount()-1),s=`=${c}(${Pme({startRow:e,endRow:n,startColumn:r,endColumn:a===i?i-1:i})})`;m.push({range:t,primary:{row:e,column:a},formula:s})}else{let a=-1;for(let e=r;e<=i;e++){let t=nWe(u,e,n,o.getRowCount()-1);a=Math.max(a,t)}let s=a===n?n-1:n;for(let n=r;n<=i;n++){let r=`=${c}(${Pme({startRow:e,endRow:s,startColumn:n,endColumn:n})})`;m.push({range:t,primary:{row:a,column:n},formula:r})}}}return!1});if(f){let e=lSe(g,p,o),t={unitId:s,subUnitId:l,selections:[{range:Oh.clone(f),primary:{startRow:e.startRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn,actualRow:g,actualColumn:p,isMerged:e.isMerged,isMergedMainCell:e.startRow===g&&e.startColumn===p}}]};await d.executeCommand(vSe.id,t);let r=n.getEditor(El),i=n.getEditor(Sl);d.syncExecuteCommand(sDe.id,{visible:!0,unitId:s,eventType:FF.Dblclick});let a=`=${c}(${v}`;null==r||r.replaceText(a),null==i||i.replaceText(a,!1)}return(0!==h.length||0!==m.length)&&d.executeCommand(iMe.id,{list:h,listOfRangeHasNumber:m})}};function eWe(e,t,r){let n=function(e,t,r){let n=!1;if(0===t)return t;for(let i=t-1;i>=0;i--){let t=e.getValue(i,r);if(tWe(t)&&!n){if(0===i)return 0;n=!0}else{if(n&&!tWe(t))return i+1;if(n&&0===i)return 0}}return t}(e,t,r);if(n!==t)return{startRow:n,endRow:t-1,startColumn:r,endColumn:r};let i=function(e,t,r){let n=!1;if(0===r)return r;for(let i=r-1;i>=0;i--){let r=e.getValue(t,i);if(tWe(r)&&!n){if(0===i)return 0;n=!0}else{if(n&&!tWe(r))return i+1;if(n&&0===i)return 0}}return r}(e,t,r);return i===r?null:{startRow:t,endRow:t,startColumn:i,endColumn:r-1}}function tWe(e){if(null!=e&&e.p){let t=null==e?void 0:e.p.body;if(null==t)return!1;let r=t.dataStream;return $d(r.substring(r.length-2,r.length)===Rl?r.substring(0,r.length-2):r)}return e&&(e.t===Fu.NUMBER||function(e){return void 0!==e.t?e.t:"string"==typeof e.v?Fu.STRING:"number"==typeof e.v?Fu.NUMBER:"boolean"==typeof e.v?Fu.BOOLEAN:void 0}(e)===Fu.NUMBER)}function rWe(e,t){for(let r=t.startRow;r<=t.endRow;r++)for(let n=t.startColumn;n<=t.endColumn;n++)if(tWe(e.getValue(r,n)))return!1;return!0}function nWe(e,t,r,n){for(let i=r;i<=n;i++)if(!e.getValue(i,t))return i;return n}const iWe="SHEET_FORMULA_UI_PLUGIN",aWe=`${iWe}_MORE_FUNCTIONS_COMPONENT`,oWe={id:"formula-ui.operation.more-functions",type:Bc.OPERATION,handler:async e=>(e.get(V5).open({header:{title:"formula.insert.tooltip"},children:{label:aWe}}),!0)},sWe=/^\$?[A-Za-z]+\$?\d+$/;function lWe(e){switch(e){case vd.NONE:return vd.ALL;case vd.ALL:return vd.ROW;case vd.ROW:return vd.COLUMN;case vd.COLUMN:default:return vd.NONE}}function uWe(e,t,r,n,i){if("both"===i.referenceTarget&&null!=i.previousSeparatorOffset&&null!=i.nextSeparatorOffset){let r=t+i.previousSeparatorOffset,n=t+i.nextSeparatorOffset;if(e===r)return n;if(e===r+1)return n+1}if(e<=t)return e;if(e>=r)return e+(n-(r-t));let a=e-t;return t+Math.min(a,n)}const cWe={id:"formula-ui.operation.change-ref-to-absolute",type:Bc.OPERATION,handler:async e=>{var t,r;let n=e.get(joe),i=e.get(GX),a=e.get(Ffe),o=n.getFocusEditor();if(!o)return!1;let s=o.getEditorId();if(s!==El&&s!==Sl)return!1;let l=i.getActiveTextRange();if(!l)return!1;let u=function(e,t,r){if(!t.startsWith("=")||t.length<=1)return null;let n=e.sequenceNodesBuilder(t);if(null==n||!n.length)return null;let i=Math.min(Math.max(r,0),t.length),a=i-1;if(a<0)return null;let o=n.find(e=>"string"!=typeof e&&e.nodeType===kfe.REFERENCE&&a>=e.startIndex&&a<=e.endIndex+1);if(!o||"string"==typeof o)return null;let s=function(e,t){let r=Lfe(e.token);if(null==r)return null;let{range:n}=r;if(n.rangeType===pd.ROW||n.rangeType===pd.COLUMN)return{token:Bme({...r,range:{...n,startAbsoluteRefType:n.startAbsoluteRefType===vd.NONE?vd.ALL:vd.NONE,endAbsoluteRefType:n.endAbsoluteRefType===vd.NONE?vd.ALL:vd.NONE}}),referenceTarget:"both",previousSeparatorOffset:null,nextSeparatorOffset:null};let{refBody:i}=Fme(e.token),a=i.split(":"),o=2===a.length?e.token.indexOf(":"):null;if(a.some(e=>!sWe.test(e)))return null;let s=2===a.length,l=s?function(e,t,r){let n=e.length-t.length+t.indexOf(":");return r===n||r===n+1?"both":re===o?{...e,token:s.token,endIndex:e.startIndex+s.token.length-1}:e))}`,cursorOffset:uWe(i,o.startIndex+1,o.endIndex+2,s.token.length,s)}}(a,Jm.transform.getPlainText(null==(t=null==(r=o.getDocumentData().body)?void 0:r.dataStream)?"":t),l.endOffset);return!!u&&(o.replaceText(u.formulaText,[{startOffset:u.cursorOffset,endOffset:u.cursorOffset,collapsed:!0}]),!0)}},dWe={id:"formula-ui.operation.search-function",type:Bc.OPERATION,handler:async(e,t)=>(e.get(ZHe).search(t),!0)};let hWe=class extends tu{constructor(e,t,r,n){super(),this._sheetInterceptorService=e,this._univerInstanceService=t,this._formulaDataModel=r,this._lexerTreeBuilder=n,this._initialize()}_initialize(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>e.id===rIe.id?this._reorderFormula(e.params):{redos:[],undos:[]}}))}_reorderFormula(e){let t=[],r=[],{unitId:n,subUnitId:i,range:a,order:o}=e,s=this._univerInstanceService.getUniverSheetInstance(n),l=null==s?void 0:s.getSheetBySheetId(i);if(!l)return{redos:t,undos:r};let u=l.getCellMatrix(),c=new kd,d=new kd,h=!1;return Sh.foreach(a,(e,t)=>{let r=e;o.hasOwnProperty(e)&&(r=o[e]);let a=u.getValue(r,t);if(null!=a&&a.f||null!=a&&a.si){h=!0;let o=this._formulaDataModel.getFormulaStringByCell(r,t,i,n),s=this._lexerTreeBuilder.moveFormulaRefOffset(o,0,e-r),l=uu.deepClone(a);l.f=s,l.si=null,c.setValue(e,t,l)}else c.setValue(e,t,a);d.setValue(e,t,u.getValue(e,t))}),h?(t.push({id:Kwe.id,params:{unitId:n,subUnitId:i,cellValue:c.getMatrix()}}),r.push({id:Kwe.id,params:{unitId:n,subUnitId:i,cellValue:d.getMatrix()}}),{redos:t,undos:r}):{redos:t,undos:r}}};hWe=QHe([YHe(0,Y(iwe)),YHe(1,Y(dg)),YHe(2,Y(jfe)),YHe(3,Y(Ffe))],hWe);const mWe="sheets-formula-ui.base.config";Symbol(mWe);const fWe={},gWe="SHEET_FORMULA_ALERT",pWe={[Jde.DIV_BY_ZERO]:"divByZero",[Jde.NAME]:"name",[Jde.VALUE]:"value",[Jde.NUM]:"num",[Jde.NA]:"na",[Jde.CYCLE]:"cycle",[Jde.REF]:"ref",[Jde.SPILL]:"spill",[Jde.CALC]:"calc",[Jde.ERROR]:"error",[Jde.CONNECT]:"connect",[Jde.NULL]:"null"};let vWe=class extends tu{constructor(e,t,r,n,i,a){super(),this._context=e,this._hoverManagerService=t,this._cellAlertManagerService=r,this._localeService=n,this._formulaDataModel=i,this._zenZoneService=a,this._init()}_init(){this._initCellAlertPopup(),this._initZenService()}_initCellAlertPopup(){this.disposeWithMe(this._hoverManagerService.currentCell$.pipe(Gn(100)).subscribe(e=>{if(e){var t;let n=this._context.unit.getActiveSheet();if(!n)return this._hideAlert();let i=n.getCell(e.location.row,e.location.col),a=null==(t=this._formulaDataModel.getArrayFormulaCellData())||null==(t=t[e.location.unitId])||null==(t=t[e.location.subUnitId])||null==(t=t[e.location.row])?void 0:t[e.location.col];if(fd(i)){var r;let t=Kfe(i,!!a);if(!t)return void this._hideAlert();let n=this._cellAlertManagerService.currentAlert.get(gWe),o=null==n||null==(r=n.alert)?void 0:r.location;return o&&o.row===e.location.row&&o.col===e.location.col&&o.subUnitId===e.location.subUnitId&&o.unitId===e.location.unitId?void this._hideAlert():void this._cellAlertManagerService.showAlert({type:ije.ERROR,title:this._localeService.t("formula.error.title"),message:this._localeService.t(`formula.error.${pWe[t]}`),location:e.location,width:200,height:74,key:gWe})}}this._hideAlert()}))}_initZenService(){this.disposeWithMe(this._zenZoneService.visible$.subscribe(e=>{e&&this._hideAlert()}))}_hideAlert(){this._cellAlertManagerService.removeAlert(gWe)}};vWe=QHe([YHe(1,Y(yUe)),YHe(2,Y(aje)),YHe(3,Y(Cg)),YHe(4,Y(jfe)),YHe(5,ote)],vWe);let bWe=class extends tu{constructor(e,t,r,n,i){super(),this._univerInstanceService=e,this._lexerTreeBuilder=t,this._sheetClipboardService=r,this._injector=n,this._formulaDataModel=i,this._initialize()}_initialize(){this._registerClipboardHook()}_registerClipboardHook(){this.disposeWithMe(this._sheetClipboardService.addClipboardHook(this._copyFormulaOnlyHook())),this.disposeWithMe(this._sheetClipboardService.addClipboardHook(this._pasteFormulaHook())),this.disposeWithMe(this._sheetClipboardService.addClipboardHook(this._pasteWithFormulaHook()))}_copyFormulaOnlyHook(){let e=this,t=null;return{id:tke.SPECIAL_COPY_FORMULA_ONLY,priority:10,onBeforeCopy(r,n){t=e._getWorksheet(r,n)},onCopyCellContent(r,n){if(!t)return"";let i=t.getCellRaw(r,n);return i?Bd(i.f)?i.f:Vd(i.si)&&e._formulaDataModel.getFormulaStringByCell(r,n,t.getSheetId(),t.getUnitId())||"":""},onAfterCopy(){t=null},getFilteredOutRows(t,r,n){let i=e._getWorksheet(t,r);if(!i)return[];let{startRow:a,endRow:o}=n,s=[];for(let e=a;e<=o;e++)i.getRowFiltered(e)&&s.push(e);return s},handleMatrixOnCell(r,n,i,a,o,s,l){let u=o.getValue(r,n);if(t&&u&&(Bd(u.f)||Vd(u.si))){let o=Bd(u.f)?u.f:e._formulaDataModel.getFormulaStringByCell(r,n,t.getSheetId(),t.getUnitId());s.setValue(i,a,{p:null,s:null,v:null,t:null,f:null,si:null,ref:null,xf:null,f:o}),l.setValue(i,a,{p:null,s:null,v:null,t:null,f:null,si:null,ref:null,xf:null,f:o,displayV:o})}else o.setValue(r,n,{p:null,s:null,v:null,t:null,f:null,si:null,ref:null,xf:null}),s.setValue(i,a,{p:null,s:null,v:null,t:null,f:null,si:null,ref:null,xf:null}),l.setValue(i,a,{p:null,s:null,v:null,t:null,f:null,si:null,ref:null,xf:null})}}}_pasteFormulaHook(){return{id:rke.SPECIAL_PASTE_FORMULA,priority:10,specialPasteInfo:{label:"specialPaste.formula"},onPasteCells:(e,t,r,n)=>this._onPasteCells(e,t,r,n,!0)}}_pasteWithFormulaHook(){return{id:"default-paste-formula",priority:10,onPasteCells:(e,t,r,n)=>this._onPasteCells(e,t,r,n,!1)}}_getWorkbook(e){return e?this._univerInstanceService.getUnit(e,Pi.UNIVER_SHEET):this._univerInstanceService.getCurrentUnitOfType(Pi.UNIVER_SHEET)}_getWorksheet(e,t){let r=this._getWorkbook(e);return t?null==r?void 0:r.getSheetBySheetId(t):null==r?void 0:r.getActiveSheet()}_onPasteCells(e,t,r,n,i){var a;if([rke.SPECIAL_PASTE_FORMAT,rke.SPECIAL_PASTE_COL_WIDTH].includes(n.pasteType)||n.copyType===WLe.CUT&&!i)return{undos:[],redos:[]};let o=this._getWorkbook(),s=t.unitId||(null==o?void 0:o.getUnitId()),l=t.subUnitId||(null==o||null==(a=o.getActiveSheet())?void 0:a.getSheetId());if(!s||!l)return{undos:[],redos:[]};let u=t.range,c=r,d={copyType:n.copyType||WLe.COPY,copyRange:null==e?void 0:e.range,pasteType:n.pasteType};return this._injector.invoke(t=>function(e,t,r,n,i,a,o,s,l=!1,u){let c=[],d=[],h=function(e,t,r,n,i,a,o,s){return s?i.pasteType===rke.SPECIAL_PASTE_VALUE?function(e,t,r,n,i,a){var o;let s=new kd,l=null==(o=i.getArrayFormulaCellData())||null==(o=o[a.unitId])?void 0:o[a.subUnitId],u=i.getSheetFormulaData(e,t);return n.forValue((e,t,n)=>{var i,o;let c=a.range.rows[e%a.range.rows.length],d=a.range.cols[t%a.range.cols.length],h=r.rows[e],m=r.cols[t],f={};if(Bd(n.f)||Vd(n.si))f.v=n.v,f.f=null,f.si=null,f.p=null,s.setValue(h,m,f);else if(null!=l&&null!=(i=l[c])&&i[d])f.v=l[c][d].v,f.f=null,f.si=null,f.p=null,s.setValue(h,m,f);else if(null!=u&&null!=(o=u[h])&&o[m]){if(f.v=n.v,f.f=null,f.si=null,f.p=null,n.p){let e=CWe(n);e&&(f.v=e)}s.setValue(h,m,f)}}),s}(e,t,r,n,o,s):i.pasteType===rke.SPECIAL_PASTE_FORMULA?function(e,t,r,n,i,a,o){let s=new kd,l=new Map;return n.forValue((n,u,c)=>{let d=r.rows[n],h=r.cols[u],m={};if(Vd(c.si)){if(o.unitId!==e||o.subUnitId!==t){let e=a.getFormulaStringByCell(o.range.rows[n%o.range.rows.length],o.range.cols[u%o.range.cols.length],o.subUnitId,o.unitId),t=r.cols[u]-o.range.cols[u%o.range.cols.length],s=r.rows[n]-o.range.rows[n%o.range.rows.length],l=i.moveFormulaRefOffset(e||"",t,s);m.si=null,m.f=l}else m.si=c.si,m.f=null;m.v=null,m.p=null,s.setValue(d,h,m)}else if(Bd(c.f)){let e=`${n%o.range.rows.length}_${u%o.range.cols.length}`,t=l.get(e);if(t)m.si=t,m.f=null;else{t=cu(6),l.set(e,t);let a=r.cols[u]-o.range.cols[u%o.range.cols.length],s=r.rows[n]-o.range.rows[n%o.range.rows.length],d=i.moveFormulaRefOffset(c.f||"",a,s);m.si=t,m.f=d}m.v=null,m.p=null,s.setValue(d,h,m)}else{if(m.v=c.v,m.f=null,m.si=null,m.p=null,c.p){let e=CWe(c);e&&(m.v=e)}s.setValue(d,h,m)}}),s}(e,t,r,n,a,o,s):function(e,t,r,n,i,a,o,s){let l=new kd,u=new Map,c=o.getSheetFormulaData(e,t),d=[];return i===WLe.CUT?n.forValue((e,t,n)=>{let i=r.rows[e],a=r.cols[t],u={};Vd(n.si)?(Bd(n.f)?(d.push(n.si),u.f=n.f,u.si=n.si):d.includes(n.si)?(u.f=null,u.si=n.si):(u.f=o.getFormulaStringByCell(s.range.rows[e%s.range.rows.length],s.range.cols[t%s.range.cols.length],s.subUnitId,s.unitId),u.si=null),u.v=null,u.p=null,l.setValue(i,a,u)):Bd(n.f)&&(u.f=n.f,u.si=null,u.v=null,u.p=null,l.setValue(i,a,u))}):n.forValue((n,i,d)=>{var h;let m=r.rows[n],f=r.cols[i],g={};if(Vd(d.si)){if(s.unitId!==e||s.subUnitId!==t){let e=o.getFormulaStringByCell(s.range.rows[n%s.range.rows.length],s.range.cols[i%s.range.cols.length],s.subUnitId,s.unitId),t=r.cols[i]-s.range.cols[i%s.range.cols.length],l=r.rows[n]-s.range.rows[n%s.range.rows.length],u=a.moveFormulaRefOffset(e||"",t,l);g.si=null,g.f=u}else g.si=d.si,g.f=null;g.v=null,g.p=null,l.setValue(m,f,g)}else if(Bd(d.f)){let e=`${n%s.range.rows.length}_${i%s.range.cols.length}`,t=u.get(e);if(t)g.si=t,g.f=null;else{t=cu(6),u.set(e,t);let o=r.cols[i]-s.range.cols[i%s.range.cols.length],l=r.rows[n]-s.range.rows[n%s.range.rows.length],c=a.moveFormulaRefOffset(d.f||"",o,l);g.si=t,g.f=c}g.v=null,g.p=null,l.setValue(m,f,g)}else null!=c&&null!=(h=c[m])&&h[f]&&(g.v=d.v,g.f=null,g.si=null,g.p=d.p,l.setValue(m,f,g))}),d.length>0&&new kd(c).forValue((e,t,n)=>{if((!s.range.rows.includes(e)||!s.range.cols.includes(t))&&(!r.rows.includes(e)||!r.cols.includes(t))&&d.includes(null==n?void 0:n.si)){let r=o.getFormulaStringByCell(e,t,s.subUnitId,s.unitId);l.setValue(e,t,{f:r,si:null,v:null,p:null})}}),l}(e,t,r,n,i.copyType,a,o,s):function(e,t,r,n,i){let a=new kd,o=i.getSheetFormulaData(e,t);return n.forValue((e,t,n)=>{var i;let s=r.rows[e],l=r.cols[t],u={};Bd(n.v)?(u.v=null,u.f=`${n.v}`,u.si=null,u.p=null,a.setValue(s,l,u)):null!=o&&null!=(i=o[s])&&i[l]&&(u.v=n.v,u.f=null,u.si=null,u.p=null,a.setValue(s,l,u))}),a}(e,t,r,n,o)}(e,t,r,n,a,o,s,u);if(!h.hasValue())return{undos:[],redos:[]};let m={unitId:e,subUnitId:t,cellValue:h.getData()};c.push({id:Kwe.id,params:m});let f=Zwe(i,m);return d.push({id:Kwe.id,params:f}),{undos:d,redos:c}}(s,l,u,c,t,d,this._lexerTreeBuilder,this._formulaDataModel,i,e))}};function CWe(e){if(null!=e&&e.p){let t=null==e?void 0:e.p.body;if(null==t)return;let r=t.dataStream;return r.substring(r.length-2,r.length)===Rl?r.substring(0,r.length-2):r}}bWe=QHe([YHe(0,dg),YHe(1,Y(Ffe)),YHe(2,ike),YHe(3,Y(he)),YHe(4,Y(jfe))],bWe);let yWe=class extends tu{constructor(e,t,r,n,i,a,o,s){super(),this._context=e,this._sheetInterceptorService=t,this._formulaDataModel=r,this._themeService=n,this._renderManagerService=i,this._sheetSkeletonManagerService=a,this._commandService=o,this._logService=s,GHe(this,"_previousShape",void 0),GHe(this,"_skeleton",void 0),this._initSkeletonChangeListener(),this._initInterceptorEditorStart(),this._commandExecutedListener()}_initSkeletonChangeListener(){this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{if(null==e)this._logService.debug("[FormulaEditorShowController]: should not receive currentSkeleton$ as null!");else{var t;let{skeleton:r}=e,n=null==(t=this._skeleton)||null==(t=t.worksheet)?void 0:t.getSheetId();if(this._changeRuntime(r),n!==r.worksheet.getSheetId())this._removeArrayFormulaRangeShape();else{let{unitId:t,sheetId:r}=e;this._updateArrayFormulaRangeShape(t,r)}}}))}_changeRuntime(e){this._skeleton=e}_initInterceptorEditorStart(){this.disposeWithMe(Jl(this._sheetInterceptorService.writeCellInterceptor.intercept(twe,{handler:(e,t,r)=>{var n,i;let{row:a,col:o,unitId:s,subUnitId:l,worksheet:u}=t,c=this._formulaDataModel.getArrayFormulaRange(),d=this._formulaDataModel.getArrayFormulaCellData();if(this._removeArrayFormulaRangeShape(),null==e)return r(e);let h=null,m=this._formulaDataModel.getFormulaStringByCell(a,o,l,s);if(null!==m&&(h={f:m}),null!=e.v&&""!==e.v&&null==(null==(n=d[s])||null==(n=n[l])||null==(n=n[a])?void 0:n[o]))return h?{...e,...h}:r(e);let f=null==c||null==(i=c[s])?void 0:i[l];return null!=f&&(h=this._displayArrayFormulaRangeShape(f,a,o,s,l,u,h)),h?{...e,...h}:r(e)}})))}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted((e,t)=>{(e.id===cfe.id||e.id===Nme.id&&t&&t.remove)&&this._removeArrayFormulaRangeShape()})),this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{hEe.id===e.id&&requestIdleCallback(()=>{let{unitId:t,subUnitId:r,rowsAutoHeightInfo:n}=e.params;this._refreshArrayFormulaRangeShapeByRow(t,r,n)})}))}_displayArrayFormulaRangeShape(e,t,r,n,i,a,o){return new kd(e).forValue((e,i,s)=>{if(null==s)return!0;let{startRow:l,startColumn:u,endRow:c,endColumn:d}=s;if(e===t&&i===r)return this._createArrayFormulaRangeShape(s,n),!1;if(t>=l&&t<=c&&r>=u&&r<=d){let e=a.getCell(l,u);return(null==e?void 0:e.v)===Jde.SPILL||null==(null==e?void 0:e.f)?void 0:(null==o&&(o={f:e.f,isInArrayFormulaRange:!0}),this._createArrayFormulaRangeShape(s,n),!1)}}),o}_createArrayFormulaRangeShape(e,t){let r=this._renderManagerService.getRenderById(t),n=this._sheetSkeletonManagerService.getCurrentSkeleton();if(!r||!n)return;let{scene:i}=r;if(!i)return;let a=uLe({range:e,primary:null,style:{strokeWidth:1,stroke:this._themeService.getColorFromTheme("primary.600"),fill:new $c(this._themeService.getColorFromTheme("white")).setAlpha(0).toString(),widgets:{}}},n),{rowHeaderWidth:o,columnHeaderHeight:s}=n,l=new _Le(i,ZOe.FORMULA_EDITOR_SHOW,this._themeService,{highlightHeader:!1,rowHeaderWidth:o,columnHeaderHeight:s});l.updateRangeBySelectionWithCoord(a),l.setEvent(!1),this._previousShape=l}_removeArrayFormulaRangeShape(){null!=this._previousShape&&(this._previousShape.dispose(),this._previousShape=null)}_refreshArrayFormulaRangeShape(e,t){if(this._previousShape){let{startRow:t,endRow:r,startColumn:n,endColumn:i}=this._previousShape.getRange(),a={startRow:t,endRow:r,startColumn:n,endColumn:i};this._removeArrayFormulaRangeShape(),this._createArrayFormulaRangeShape(a,e)}}_checkCurrentSheet(e,t){let r=this._sheetSkeletonManagerService.getCurrentSkeleton();if(!r)return!1;let n=r.worksheet;return!!n&&n.unitId===e&&n.getSheetId()===t}_updateArrayFormulaRangeShape(e,t){this._checkCurrentSheet(e,t)&&this._previousShape&&this._refreshArrayFormulaRangeShape(e)}_refreshArrayFormulaRangeShapeByRow(e,t,r){if(!this._checkCurrentSheet(e,t)||!this._previousShape)return;let{startRow:n,endRow:i,startColumn:a,endColumn:o}=this._previousShape.getRange();for(let t=0;t=s){let t={startRow:n,endRow:i,startColumn:a,endColumn:o};this._refreshArrayFormulaRangeShape(e,t);break}}}};yWe=QHe([YHe(1,Y(iwe)),YHe(2,Y(jfe)),YHe(3,Y(Lg)),YHe(4,kX),YHe(5,Y(vLe)),YHe(6,Vc),YHe(7,kc)],yWe);const _We={tl:{size:6,color:"#409f11"}};let wWe=class extends ru{constructor(e,t){super(),this._sheetInterceptorService=e,this._formulaDataModel=t,this.disposeWithMe(this._sheetInterceptorService.intercept(G_e.CELL_CONTENT,{effect:Vl.Style,handler:(e,t,r)=>{var n;return Kfe(e,!!(null==(n=this._formulaDataModel.getArrayFormulaCellData())||null==(n=n[t.unitId])||null==(n=n[t.subUnitId])||null==(n=n[t.row])?void 0:n[t.col]))&&e?(e===t.rawData&&(e={...t.rawData}),e.markers={...null==e?void 0:e.markers,..._We},r(e)):r(e)},priority:10}))}};function EWe(e,t,r){return function(n){let i=[];try{i=n.get(rOe).getSearchListByType(e).map(({name:e})=>({label:{name:e,selectable:!1},value:e}))}catch{i=[]}return{id:`${JHe.id}.${t}`,commandId:JHe.id,title:`formula.functionType.${t}`,tooltip:"formula.insert.tooltip",icon:r,type:lee.SELECTOR,selections:i,hidden$:X5(n,Pi.UNIVER_SHEET)}}}wWe=QHe([YHe(0,Y(iwe)),YHe(1,Y(jfe))],wWe);const SWe=EWe(Fhe.Financial,"financial"),AWe=EWe(Fhe.Logical,"logical"),IWe=EWe(Fhe.Text,"text"),RWe=EWe(Fhe.Date,"date"),xWe=EWe(Fhe.Lookup,"lookup"),TWe=EWe(Fhe.Math,"math"),NWe=EWe(Fhe.Statistical,"statistical"),MWe=EWe(Fhe.Engineering,"engineering"),OWe=EWe(Fhe.Information,"information"),LWe=EWe(Fhe.Database,"database");function kWe(e){return{id:oWe.id,title:"formula.moreFunctions.allFunctions",tooltip:"formula.insert.tooltip",type:lee.BUTTON,hidden$:X5(e,Pi.UNIVER_SHEET),disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe,lAe],rangeTypes:[SSe]})}}const PWe={[K8.BASIC]:{[`${JHe.id}.common`]:{order:0,menuItemFactory:function(e){let t=["SUMIF","SUM","AVERAGE","IF","COUNT","SIN","MAX"],r=t.map(e=>({label:{name:e,selectable:!1},value:e}));try{let n=e.get(rOe),i=t.filter(e=>!!n.getFunctionInfo(e));i.length>0&&(r=i.map(e=>({label:{name:e,selectable:!1},value:e})))}catch{}return{id:`${JHe.id}.common`,commandId:JHe.id,title:"formula.insert.common",tooltip:"formula.insert.tooltip",icon:"FunctionIcon",type:lee.SELECTOR,selections:r,hidden$:X5(e,Pi.UNIVER_SHEET)}},[oWe.id]:{order:0,menuItemFactory:kWe}},[`${JHe.id}.financial`]:{order:1,menuItemFactory:SWe,[oWe.id]:{order:0,menuItemFactory:kWe}},[`${JHe.id}.logical`]:{order:2,menuItemFactory:AWe,[oWe.id]:{order:0,menuItemFactory:kWe}},[`${JHe.id}.text`]:{order:3,menuItemFactory:IWe,[oWe.id]:{order:0,menuItemFactory:kWe}},[`${JHe.id}.date`]:{order:4,menuItemFactory:RWe,[oWe.id]:{order:0,menuItemFactory:kWe}},[`${JHe.id}.lookup`]:{order:5,menuItemFactory:xWe,[oWe.id]:{order:0,menuItemFactory:kWe}},[`${JHe.id}.math`]:{order:6,menuItemFactory:TWe,[oWe.id]:{order:0,menuItemFactory:kWe}},[`${JHe.id}.statistical`]:{order:7,menuItemFactory:NWe,[oWe.id]:{order:0,menuItemFactory:kWe}},[`${JHe.id}.engineering`]:{order:8,menuItemFactory:MWe,[oWe.id]:{order:0,menuItemFactory:kWe}},[`${JHe.id}.information`]:{order:9,menuItemFactory:OWe,[oWe.id]:{order:0,menuItemFactory:kWe}},[`${JHe.id}.database`]:{order:10,menuItemFactory:LWe,[oWe.id]:{order:0,menuItemFactory:kWe}}},[GBe]:{[zHe.id]:{order:0,menuItemFactory:function(e){return{id:zHe.id,type:lee.BUTTON,title:"formula.operation.copyFormulaOnly",disabled$:fBe(e,{workbookTypes:[RSe],worksheetTypes:[QSe],rangeTypes:[ASe]}),hidden$:X5(e,Pi.UNIVER_SHEET)}}}},[QBe]:{[XHe.id]:{order:4,menuItemFactory:function(e){return{id:XHe.id,type:lee.BUTTON,title:"formula.operation.pasteFormula",disabled$:WBe(e).pipe(COe(fBe(e,{workbookTypes:[PSe],rangeTypes:[SSe],worksheetTypes:[lAe,JSe]})),Yn(([e,t])=>e||t)),hidden$:X5(e,Pi.UNIVER_SHEET)}}}}};function DWe(){let e=iK(yMe),t=iK(Vc);return(0,$Z.jsx)(b8,{progress:aK(e.progress$),onTerminate:(0,_q.useCallback)(()=>{t.executeCommand(lfe.id)},[t]),onClearProgress:(0,_q.useCallback)(()=>{e.clearProgress()},[e])})}function UWe(e){return e.require||e.repeat?e.require&&!e.repeat?e.name:!e.require&&e.repeat?`[${e.name},...]`:e.require&&e.repeat?`${e.name},...`:void 0:`[${e.name}]`}function BWe(e){let{prefix:t,value:r}=e;return(0,$Z.jsxs)("div",{children:[(0,$Z.jsxs)("span",{children:[t,"("]}),r&&r.map((e,t)=>(0,$Z.jsxs)("span",{children:[(0,$Z.jsx)("span",{children:UWe(e)}),t===r.length-1?"":","]},t)),")"]})}function VWe(e){let{className:t,value:r,title:n}=e;return(0,$Z.jsxs)("div",{className:"univer-mb-2 univer-text-xs",children:[(0,$Z.jsx)("div",{className:x7("univer-mb-2 univer-font-medium univer-text-gray-500 dark:!univer-text-gray-300",t),children:n}),(0,$Z.jsx)("div",{className:"univer-break-all univer-text-gray-900 dark:!univer-text-white",children:r})]})}function FWe(e){let{functionInfo:t,onChange:r}=e;if(!t)return null;let[n,i]=(0,_q.useState)([]),[a,o]=(0,_q.useState)(t.functionParameter),[s,l]=(0,_q.useState)(-1);return(0,$Z.jsxs)("div",{children:[(0,$Z.jsx)("div",{className:x7("univer-h-[364px] univer-overflow-y-auto",U7),children:a.map((e,t)=>(0,$Z.jsxs)("div",{children:[(0,$Z.jsx)("div",{className:"univer-text-sm",children:e.name}),(0,$Z.jsx)("div",{className:"univer-mb-2 univer-mt-1"})]},t))}),(0,$Z.jsx)("div",{className:x7("univer-flex-1 univer-p-3",j7),children:(0,$Z.jsx)(VWe,{title:-1===s?(0,$Z.jsx)(BWe,{prefix:t.functionName,value:a}):a[s].name,value:-1===s?t.description:a[s].detail})})]})}function jWe(e){var t;let r=null==(t=iK(Tc).getConfig(oMe))?void 0:t.function,{onChange:n}=e,[i,a]=(0,_q.useState)(""),[o,s]=(0,_q.useState)([]),[l,u]=(0,_q.useState)(0),[c,d]=(0,_q.useState)("-1"),[h,m]=(0,_q.useState)(0),[f,g]=(0,_q.useState)(null),p=iK(rOe),v=iK(Cg),b=aK(iK(V5).sidebarOptions$),C=function(e,t){return Object.keys(Fhe).filter(e=>isNaN(Number(e))&&"DefinedName"!==e&&"Table"!==e&&(t||"User"!==e)).map(t=>({label:e.t(`formula.functionType.${t.toLocaleLowerCase()}`),value:`${Fhe[t]}`}))}(v,!!r).filter(e=>p.getSearchListByType(Number(e.value)).length>0);C.unshift({label:v.t("formula.moreFunctions.allFunctions"),value:"-1"});let y=v.t("formula.prompt.required"),_=v.t("formula.prompt.optional");(0,_q.useEffect)(()=>{S("-1")},[]),(0,_q.useEffect)(()=>{E(0)},[o]),(0,_q.useEffect)(()=>{null!=b&&b.visible&&(a(""),s([]),u(0),d("-1"),m(0),g(null),S("-1"))},[b]);let w=e=>{if(""===i.trim())return e;let t=RegExp(`(${i.toLocaleUpperCase()})`);return e.split(t).filter(Boolean).map((e,r)=>e.match(t)?(0,$Z.jsx)("span",{className:"univer-text-red-500",children:e},r):e)},E=e=>{if(0===o.length)return g(null),void n(null);m(e);let t=p.getFunctionInfo(o[e].name);if(!t)return g(null),void n(null);g(t),n(t)};function S(e){d(e),s(p.getSearchListByType(+e))}function A(e){if(e.stopPropagation(),"ArrowDown"===e.key){let e=l+1;u(e===o.length?0:e)}else if("ArrowUp"===e.key){let e=l-1;u(-1===e?o.length-1:e)}else"Enter"===e.key&&E(l)}let I=()=>{u(-1)};return(0,$Z.jsxs)("div",{children:[(0,$Z.jsxs)("div",{className:"univer-flex univer-items-center univer-justify-between univer-gap-2",children:[(0,$Z.jsx)(_5,{value:c,options:C,onChange:S}),(0,$Z.jsx)(Z9,{placeholder:v.t("formula.moreFunctions.searchFunctionPlaceholder"),onKeyDown:A,value:i,onChange:function(e){a(e),s(p.getSearchListByName(e))},size:"small",allowClear:!0})]}),o.length>0&&(0,$Z.jsx)("ul",{className:x7("univer-mb-0 univer-mt-2 univer-box-border univer-max-h-72 univer-w-full univer-select-none univer-list-none univer-overflow-y-auto univer-rounded univer-p-3 univer-outline-none",V7,U7),onKeyDown:A,tabIndex:-1,children:o.map(({name:e},t)=>(0,$Z.jsxs)("li",{className:x7("univer-relative univer-box-border univer-cursor-pointer univer-rounded univer-px-7 univer-py-1 univer-text-sm univer-text-gray-900 univer-transition-colors dark:!univer-text-white",{"univer-bg-gray-200 dark:!univer-bg-gray-600":l===t}),onMouseEnter:()=>(e=>{u(e)})(t),onMouseLeave:I,onClick:()=>E(t),children:[h===t&&(0,$Z.jsx)(XZ,{className:"univer-absolute univer-left-1.5 univer-top-1/2 univer-inline-flex -univer-translate-y-1/2 univer-text-base univer-text-primary-600"}),(0,$Z.jsx)("span",{className:"univer-block",children:w(e)})]},t))}),f&&(0,$Z.jsxs)("div",{className:x7("univer-mx-0 univer-my-2 univer-overflow-y-auto",U7),children:[(0,$Z.jsx)(VWe,{title:f.functionName,value:f.description}),(0,$Z.jsx)(VWe,{title:v.t("formula.moreFunctions.syntax"),value:(0,$Z.jsx)(BWe,{prefix:f.functionName,value:f.functionParameter})}),(0,$Z.jsx)(VWe,{title:v.t("formula.prompt.helpExample"),value:`${f.functionName}(${f.functionParameter.map(e=>e.example).join(",")})`}),f.functionParameter&&f.functionParameter.map(e=>(0,$Z.jsx)(VWe,{title:e.name,value:`${e.require?y:_} ${e.detail}`},e.name))]})]})}function HWe(){let e=bDe(),[t,r]=(0,_q.useState)(!0),[n,i]=(0,_q.useState)(!1),[a,o]=(0,_q.useState)(null);iK(GPe);let s=iK(Cg),l=iK(joe),u=iK(dg),c=iK(Vc);function d(){r(!t),i(!n)}return(0,$Z.jsxs)("div",{"data-u-comp":"sheets-formula-functions-panel",className:"univer-box-border univer-flex univer-h-full univer-flex-col univer-justify-between univer-py-2",children:[t&&(0,$Z.jsx)(jWe,{onChange:o}),n&&(0,$Z.jsx)(FWe,{functionInfo:a,onChange:()=>{}}),(0,$Z.jsxs)("div",{className:"univer-flex univer-justify-end",children:[n&&(0,$Z.jsx)(O7,{variant:"primary",onClick:d,className:"univer-mb-5 univer-ml-4 univer-mr-0 univer-mt-0",children:s.t("formula.moreFunctions.next")}),n&&(0,$Z.jsx)(O7,{onClick:d,className:"univer-mb-5 univer-ml-4 univer-mr-0 univer-mt-0",children:s.t("formula.moreFunctions.prev")}),t&&!!e&&(0,$Z.jsx)(O7,{disabled:!a,variant:"primary",onClick:function(){let e=W_e(u);if(!e)return;c.executeCommand(sDe.id,{visible:!0,unitId:e.unitId,eventType:FF.Dblclick});let t=l.getEditor(El),r=l.getEditor(Sl),n=`=${null==a?void 0:a.functionName}(`;null==t||t.replaceText(n),null==r||r.replaceText(n,!1)},className:"univer-mb-5 univer-ml-4 univer-mr-0 univer-mt-0",children:s.t("formula.moreFunctions.confirm")})]})]})}const WWe={id:cWe.id,binding:x8.F4,preconditions:e=>WOe(e)},zWe={id:aMe.id,binding:N8.ALT|x8.EQUAL,preconditions:jOe,mac:N8.CTRL_COMMAND|N8.ALT|x8.EQUAL,description:"shortcut.sheets-formula-ui.quick-sum",group:"4_sheet-edit"};let XWe=class extends tu{constructor(e,t,r,n,i,a,o){super(),this._injector=e,this._menuManagerService=t,this._commandService=r,this._shortcutService=n,this._uiPartsService=i,this._renderManagerService=a,this._componentManager=o,this._initialize()}_initialize(){this._registerCommands(),this._registerMenus(),this._registerShortcuts(),this._registerComponents(),this._registerRenderModules()}_registerMenus(){this._menuManagerService.mergeMenu(PWe)}_registerCommands(){[zHe,XHe,JHe,oWe,dWe,$He,cWe].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e)))}_registerShortcuts(){[zWe,WWe].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}_registerComponents(){this.disposeWithMe(this._uiPartsService.registerComponent(CDe.FORMULA_AUX,()=>tK(DWe,this._injector))),this._componentManager.register(aWe,HWe)}_registerRenderModules(){this.disposeWithMe(this._renderManagerService.registerRenderModule(Pi.UNIVER_SHEET,[yWe]))}};XWe=QHe([YHe(0,Y(he)),YHe(1,nee),YHe(2,Vc),YHe(3,U8),YHe(4,hee),YHe(5,kX),YHe(6,Y(W5))],XWe);let qWe=class extends tu{constructor(e,t,r){super(),this._imageFormulaCellInterceptorController=e,this._renderManagerService=t,this._univerInstanceService=r,this._imageFormulaCellInterceptorController.registerRefreshRenderFunction(()=>{let e=this._univerInstanceService.getCurrentUnitOfType(Pi.UNIVER_SHEET);if(!e)return;let t=this._renderManagerService.getRenderById(e.getUnitId());if(!t)return;t.with(vLe).reCalculate();let r=t.mainComponent;r&&r.makeDirty()})}};qWe=QHe([YHe(0,Y(vMe)),YHe(1,kX),YHe(2,dg)],qWe);var GWe=class{constructor(){GHe(this,"_currentSelector$",new Qn(null)),GHe(this,"currentSelector$",this._currentSelector$.asObservable())}showRangeSelectorDialog(e){let t=e.callback,r=new Promise(r=>{e.callback=e=>{r(e),t(e)}});return this._currentSelector$.next(e),r}};let YWe=class extends hLe{constructor(e,t,r,n,i,a,o){super(t,r,n,i,a),this._context=e,this._contextService=a,this._refSelectionsService=o,GHe(this,"_workbookSelections",void 0),GHe(this,"_eventDisposables",void 0),this._workbookSelections=this._refSelectionsService.getWorkbookSelections(this._context.unitId),this._initSelectionChangeListener(),this._initSkeletonChangeListener(),this._initUserActionSyncListener(),this._setSelectionStyle(function(e){let t=KOe(e);return t.widgets={tl:!0,tc:!0,tr:!0,ml:!0,mr:!0,bl:!0,bc:!0,br:!0},t}(this._themeService)),this._remainLastEnabled=!0,this._highlightHeader=!1}getLocation(){return this._skeleton.getLocation()}setRemainLastEnabled(e){this._remainLastEnabled=e}setSkipLastEnabled(e){this._skipLastEnabled=e}clearLastSelection(){let e=this._selectionControls[this._selectionControls.length-1];e&&(e.dispose(),this._selectionControls.pop())}enableSelectionChanging(){return this._disableSelectionChanging(),this._eventDisposables=this._initCanvasEventListeners(),Jl(()=>this._disableSelectionChanging())}_disableSelectionChanging(){var e;null==(e=this._eventDisposables)||e.dispose(),this._eventDisposables=null}disableSelectionChanging(){this._disableSelectionChanging()}_initCanvasEventListeners(){let{spreadsheetRowHeader:e,spreadsheetColumnHeader:t,spreadsheet:r,spreadsheetLeftTopPlaceholder:n}=this._getSheetObject(),{scene:i}=this._context,a=new eu;return a.add(null==r?void 0:r.onPointerDown$.subscribeEvent((e,t)=>{this.inRefSelectionMode()&&(this._onPointerDown(e,r.zIndex+1,pd.NORMAL,this._getActiveViewport(e)),2!==e.button&&t.stopPropagation())})),a.add(null==e?void 0:e.onPointerDown$.subscribeEvent((e,t)=>{if(!this.inRefSelectionMode())return;let n=this._sheetSkeletonManagerService.getCurrent().skeleton,{row:a}=UPe(e.offsetX,e.offsetY,i,n);MUe(this._workbookSelections.getCurrentSelections(),a,pd.ROW)||(this._onPointerDown(e,(r.zIndex||1)+1,pd.ROW,this._getActiveViewport(e),wX.Y),2!==e.button&&t.stopPropagation())})),a.add(null==t?void 0:t.onPointerDown$.subscribeEvent((e,t)=>{if(!this.inRefSelectionMode())return;let n=this._sheetSkeletonManagerService.getCurrent().skeleton,{column:a}=UPe(e.offsetX,e.offsetY,i,n);MUe(this._workbookSelections.getCurrentSelections(),a,pd.COLUMN)||(this._onPointerDown(e,(r.zIndex||1)+1,pd.COLUMN,this._getActiveViewport(e),wX.X),2!==e.button&&t.stopPropagation())})),a.add(null==n?void 0:n.onPointerDown$.subscribeEvent((e,t)=>{if(this._reset(),!this.inRefSelectionMode())return;let r=mLe(this._sheetSkeletonManagerService.getCurrent().skeleton);this._addSelectionControlByModelData(r),this._selectionMoveStart$.next(this.getSelectionDataWithStyle());let n=i.onPointerUp$.subscribeEvent(()=>{n.unsubscribe(),this._selectionMoveEnd$.next(this.getSelectionDataWithStyle())});2!==e.button&&t.stopPropagation()})),a}_addSelectionControlByModelData(e){var t;let r=this._skeleton,n=null==(t=e.style)?KOe(this._themeService):t,i=this._scene;return e.style=n,this.newSelectionControl(i,r,e)}_initSelectionChangeListener(){this.disposeWithMe(this._refSelectionsService.selectionSet$.subscribe(e=>{this._reset(),this._skeleton&&this.resetSelectionsByModelData(e||[])}))}_initUserActionSyncListener(){this.disposeWithMe(this.selectionMoveStart$.subscribe(e=>{this._updateSelections(e,eSe.MOVE_START)})),this.disposeWithMe(this.selectionMoving$.subscribe(e=>{this._updateSelections(e,eSe.MOVING)})),this.disposeWithMe(this.selectionMoveEnd$.subscribe(e=>{this._updateSelections(e,eSe.MOVE_END)}))}_updateSelections(e,t){let r=this._context.unit.getActiveSheet().getSheetId();0!==e.length&&this._workbookSelections.setSelections(r,e.map(e=>PEe(e)),t)}_initSkeletonChangeListener(){this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{var t;if(!e)return;let{skeleton:r}=e,{scene:n}=this._context,i=n.getViewport(bj.VIEW_MAIN);this._skeleton&&(null==(t=this._skeleton.worksheet)?void 0:t.getSheetId())!==r.worksheet.getSheetId()&&this._reset(),this._changeRuntime(r,n,i);let a=this._workbookSelections.getCurrentSelections();this.resetSelectionsByModelData(a)}))}_getActiveViewport(e){let t=this._getSheetObject();return null==t?void 0:t.scene.getActiveViewportByCoord(TF.FromArray([e.offsetX,e.offsetY]))}_getSheetObject(){return PPe(this._context.unit,this._context)}_onPointerDown(e,t=0,r=pd.NORMAL,n,i=wX.ALL){var a;this._rangeType=r;let o=this._skeleton,s=this._scene;if(!s||!o)return;n&&(this._activeViewport=n);let{offsetX:l,offsetY:u}=e,c=s.getViewport(bj.VIEW_MAIN);if(!c)return;let d=s.getCoordRelativeToViewport(TF.FromArray([l,u])),{x:h,y:m}=d;this._startViewportPosX=h,this._startViewportPosY=m;let f=s.getScrollXYInfoByViewport(d),{scaleX:g,scaleY:p}=s.getAncestorScale(),v=this._skeleton.getCellByOffset(h,m,g,p,f);if(!v)return;switch(r){case pd.NORMAL:break;case pd.ROW:v.startColumn=0,v.endColumn=this._skeleton.getColumnCount()-1;break;case pd.COLUMN:v.startRow=0,v.endRow=this._skeleton.getRowCount()-1;break;case pd.ALL:v.startRow=0,v.startColumn=0,v.endRow=this._skeleton.getRowCount()-1,v.endColumn=this._skeleton.getColumnCount()-1}let b={range:v,primary:v,style:null};(v.isMerged||v.isMergedMainCell)&&(b={range:{...v,startRow:v.startRow,endRow:v.startRow,startColumn:v.startColumn,endColumn:v.startColumn},primary:{...v,actualRow:v.startRow,actualColumn:v.startColumn,startRow:v.startRow,endRow:v.startRow,startColumn:v.startColumn,endColumn:v.startColumn},style:null}),b.range.rangeType=r;let C=uLe(b,this._skeleton);this._startRangeWhenPointerDown={...C.rangeWithCoord};let y={...C.rangeWithCoord,rangeType:r},_=this.getActiveSelectionControl(),w=this.getSelectionControls();for(let t of w){if(2===e.button&&Oh.contains(t.model,y))return void(_=t);if(t.model.isEqual(y)){_=t;break}}this._checkClearPreviousControls(e);let E=null==_?void 0:_.model.currentCell,S=e.shiftKey&&E,A=this._remainLastEnabled&&!e.ctrlKey&&!e.shiftKey&&!this._skipLastEnabled&&!this._singleSelectionEnabled;S&&E?this._makeSelectionByTwoCells(E,y,o,r,_):A&&_?_.updateRangeBySelectionWithCoord(C):_=this.newSelectionControl(s,o,b);for(let e=0;e{var e;this._clearUpdatingListeners(),this._selectionMoveEnd$.next(this.getSelectionDataWithStyle()),null==(e=this._escapeShortcutDisposable)||e.dispose(),this._escapeShortcutDisposable=null})}newSelectionControl(e,t,r){let n=this.getSelectionControls().length,{rowHeaderWidth:i,columnHeaderHeight:a}=t,o=new _Le(e,n,this._themeService,{highlightHeader:this._highlightHeader,enableAutoFill:!1,rowHeaderWidth:i,columnHeaderHeight:a}),s=uLe(r,t);return o.updateRangeBySelectionWithCoord(s),this._selectionControls.push(o),o.setControlExtension({skeleton:t,scene:e,themeService:this._themeService,injector:this._injector,selectionHooks:{selectionMoveEnd:()=>{this._selectionMoveEnd$.next(this.getSelectionDataWithStyle())}}}),o}};YWe=QHe([YHe(1,Y(he)),YHe(2,Y(Lg)),YHe(3,U8),YHe(4,Y(vLe)),YHe(5,Mc),YHe(6,fSe)],YWe);const QWe=(e,t,r=!0)=>{let n=-1;return e.reduce((e,i,a)=>{if(e.isFinish)return e;let o=e.currentIndex;if("string"!=typeof i)e.currentIndex+=i.token.length;else{let t=i.length;e.currentIndex+=t}return(r?e.currentIndex===t:t>o&&t<=e.currentIndex)&&(n=a,e.isFinish=!0),e},{currentIndex:0,isFinish:!1}),n},ZWe=(e,t)=>{let r=e[t],n=-1;if(!r||"string"==typeof r||r.nodeType!==kfe.REFERENCE)return-1;for(let r=0;r<=t;r++){let t=e[r];"string"!=typeof t&&t.nodeType===kfe.REFERENCE&&n++}return n};function KWe(e,t,r){let n=iK(joe),i=(0,_q.useMemo)(()=>new Qn({left:-999,top:-999,right:-999,bottom:-999}),[]),a=iK(V5),o=iK(dg),s=$5(()=>{var t;let r=n.getEditor(e);if(!r)return;let a=r.getBoundingClientRect(),{marginTop:o=0,marginBottom:s=0}=r.getDocumentData().documentStyle,l=r.getSkeleton();if(!l)return;let u=null==(t=l.getSkeletonData())?void 0:t.pages[0].height,{left:c,top:d,right:h,bottom:m}=a;d+=o,m=u?d+u:m-s;let f=i.getValue();return f.left!==c||f.top!==d||f.right!==h||f.bottom!==m?(i.next({left:c-1,right:h+1,top:d-1,bottom:m+1}),a):void 0});return(0,_q.useEffect)(()=>{t&&s()},[e,n,o.unitAdded$,s,t,...null==r?[]:r]),((e,t=100)=>{(0,_q.useEffect)(()=>{let r=null,n=()=>{null===r&&(r=window.setTimeout(()=>{e(),r=null},t))};return window.addEventListener("scroll",n),window.addEventListener("resize",n),()=>{null!==r&&clearTimeout(r),window.removeEventListener("scroll",n),window.removeEventListener("resize",n)}},[e,t])})(s),(0,_q.useEffect)(()=>{let e=a.scrollEvent$.pipe(pq(100)).subscribe(s);return()=>{e.unsubscribe()}},[]),[i,s]}const $We=e=>{let t=(0,_q.useRef)(e);return t.current=e,t},JWe=({onClick:e})=>(0,$Z.jsx)("div",{className:"univer-z-[15] univer-box-border univer-h-[18px] univer-cursor-pointer univer-overflow-visible univer-whitespace-nowrap univer-rounded-l univer-border univer-border-r-0 univer-border-gray-600 univer-bg-primary-600 univer-p-0.5 univer-text-xs univer-font-bold univer-leading-[13px] univer-text-white",onClick:e,children:"?"}),eze=({className:e,title:t,value:r})=>(0,$Z.jsxs)("div",{className:"univer-my-2",children:[(0,$Z.jsx)("div",{className:x7("univer-mb-2 univer-text-sm univer-font-medium univer-text-gray-900 dark:!univer-text-white",e),children:t}),(0,$Z.jsx)("div",{className:"univer-whitespace-pre-wrap univer-break-words univer-text-xs univer-text-gray-500",children:r})]}),tze=e=>{let{prefix:t,value:r,active:n,onClick:i}=e;return(0,$Z.jsxs)("div",{children:[(0,$Z.jsxs)("span",{children:[t,"("]}),r&&r.map((e,t)=>(0,$Z.jsxs)("span",{children:[(0,$Z.jsx)("span",{className:n===t?"univer-text-primary-500":"",onClick:()=>i(t),children:UWe(e)}),t===r.length-1?"":","]},e.name)),")"]})},rze=()=>{};function nze(e){let{onParamsSwitch:t=rze,onClose:r=rze,isFocus:n,editor:i,formulaText:a}=e,{functionInfo:o,paramIndex:s,reset:l}=((e,t,r)=>{let n=iK(ZHe),i=iK(rOe),a=iK(Ffe),[o,s]=(0,_q.useState)(),[l,u]=(0,_q.useState)(-1),[c,d]=(0,_q.useState)(!0),h=$We(c),m=(0,_q.useRef)(t);m.current=t;let f=()=>{s(void 0),u(-1),d(!1)};return(0,_q.useEffect)(()=>{let e=a.sequenceNodesBuilder(t.slice(1));n.setSequenceNodes(null==e?[]:e)},[t]),(0,_q.useEffect)(()=>{if(r&&e){let e=r.selectionChange$.pipe(Gn(50)).subscribe(e=>{if(1===e.textRanges.length){let[t]=e.textRanges;if(t.collapsed&&h.current){let{startOffset:e}=t,r=n.getCurrentSequenceNodeIndex(e-2),o=n.getCurrentSequenceNodeByIndex(r),l=n.getCurrentSequenceNodeByIndex(r+1);if(o){if("string"!=typeof o&&3===o.nodeType&&!i.hasDefinedNameDescription(o.token.trim())&&l===lhe.OPEN_BRACKET)return s(i.getFunctionInfo(o.token)),void u(-1);{let t=a.getFunctionAndParameter(`${m.current}A`,e-1);if(t){let{functionName:e,paramIndex:r}=t;return s(i.getFunctionInfo(e)),void u(r)}}}}}s(void 0),u(-1)}),t=r.selectionChange$.pipe(Un(e=>1===e.textRanges.length),Yn(e=>e.textRanges[0].startOffset),Zn()).subscribe(()=>{d(!0)});return()=>{e.unsubscribe(),t.unsubscribe()}}},[r,e]),(0,_q.useEffect)(()=>{e||f()},[e]),{functionInfo:o,paramIndex:l,reset:f}})(n,a,i),u=iK(GPe),c=!aK(u.helpFunctionVisible$),[d,h]=(0,_q.useState)(!1),m=iK(Cg),f=m.t("formula.prompt.required"),g=m.t("formula.prompt.optional"),[p]=KWe(i.getEditorId(),!!o,[o,s]),v=$5(e=>{u.helpFunctionVisible$.next(!e)});return o?c?(0,$Z.jsx)(_ee,{portal:!0,anchorRect$:p,direction:"left-center",children:(0,$Z.jsx)(JWe,{onClick:()=>v(!1)})},"hidden"):(0,$Z.jsx)(_ee,{portal:!0,onClickOutside:()=>l(),anchorRect$:p,direction:"vertical",children:(0,$Z.jsxs)("div",{className:x7("univer-m-0 univer-box-border univer-w-[250px] univer-select-none univer-list-none univer-rounded-lg univer-bg-white univer-leading-5 univer-shadow-md univer-outline-none dark:!univer-bg-gray-900",V7),children:[(0,$Z.jsxs)("div",{className:x7("univer-box-border univer-flex univer-items-center univer-justify-between univer-px-4 univer-py-3 univer-text-xs univer-font-medium univer-text-gray-900 dark:!univer-text-white",H7),style:{overflowWrap:"anywhere"},children:[(0,$Z.jsx)(tze,{prefix:o.functionName,value:o.functionParameter,active:s,onClick:function(e){t&&t(e)}}),(0,$Z.jsxs)("div",{className:"univer-flex",children:[(0,$Z.jsx)("div",{className:"univer-ml-2 univer-flex univer-size-6 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded univer-bg-transparent univer-p-0 univer-text-xs univer-text-gray-500 univer-outline-none univer-transition-colors hover:univer-bg-gray-200 dark:hover:!univer-bg-gray-600",style:{transform:d?"rotateZ(-90deg)":"rotateZ(90deg)"},onClick:()=>h(!d),children:(0,$Z.jsx)(GZ,{})}),(0,$Z.jsx)("div",{className:"univer-ml-2 univer-flex univer-size-6 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded univer-bg-transparent univer-p-0 univer-text-xs univer-text-gray-600 univer-outline-none univer-transition-colors hover:univer-bg-gray-300 dark:!univer-text-gray-200 dark:hover:!univer-bg-gray-600",onClick:()=>{v(!0),r()},children:(0,$Z.jsx)(LZ,{})})]})]}),(0,$Z.jsx)("div",{className:x7("univer-box-border univer-max-h-[350px] univer-overflow-y-auto univer-px-4 univer-pb-3 univer-pt-0",U7),style:{height:d?"unset":0,padding:d?"revert-layer":0},children:(0,$Z.jsxs)("div",{className:"univer-mt-3",children:[(0,$Z.jsx)(eze,{title:m.t("formula.prompt.helpExample"),value:`${o.functionName}(${o.functionParameter.map(e=>e.example).join(",")})`}),(0,$Z.jsx)(eze,{title:m.t("formula.prompt.helpAbstract"),value:o.description}),o&&o.functionParameter&&o.functionParameter.map((e,t)=>(0,$Z.jsx)(eze,{className:s===t?"univer-text-primary-500":"",title:e.name,value:`${e.require?f:g} ${e.detail}`},t))]})})]})},"show"):null}let ize=function(e){return e[e.NOT_SELECT=0]="NOT_SELECT",e[e.NEED_ADD=1]="NEED_ADD",e[e.CAN_EDIT=2]="CAN_EDIT",e[e.EDIT_OTHER_SHEET_REFERENCE=3]="EDIT_OTHER_SHEET_REFERENCE",e[e.EDIT_OTHER_WORKBOOK_REFERENCE=4]="EDIT_OTHER_WORKBOOK_REFERENCE",e}({});function aze(e,t,r){return{id:r,strokeWidth:1,stroke:t,fill:new $c(t).setAlpha(.05).toRgbString(),widgets:{tl:!0,tc:!0,tr:!0,ml:!0,mr:!0,bl:!0,bc:!0,br:!0},widgetSize:6,widgetStrokeWidth:1,widgetStroke:e.getColorFromTheme("white")}}function oze(e){var t;let{unitId:r,subUnitId:n,currentWorkbook:i,refSelections:a,editor:o,refSelectionsService:s,refSelectionsRenderService:l,sheetSkeletonManagerService:u,themeService:c,univerInstanceService:d}=e,h=i.getUnitId(),m=d.getUnit(r,Pi.UNIVER_SHEET),f=null==m?void 0:m.getActiveSheet(),g=[];if(!m||!f)return void s.setSelections(g);let p=f.getSheetId(),v=e=>{var t;return null==m||null==(t=m.getSheetBySheetName(e))?void 0:t.getSheetId()};if(null==u||null==(t=u.getWorksheetSkeleton(p))||!t.skeleton)return;let b=[];for(let e=0,t=a.length;et+2===e);-1===t?null==l||l.resetActiveSelectionIndex():null==l||l.setActiveSelectionIndex(t)}return g}function sze(e=""){let t=iK(rOe),r=function(){let e=iK(Lg);return(0,_q.useMemo)(()=>({formulaRefColors:[e.getColorFromTheme("loop-color.1"),e.getColorFromTheme("loop-color.2"),e.getColorFromTheme("loop-color.3"),e.getColorFromTheme("loop-color.4"),e.getColorFromTheme("loop-color.5"),e.getColorFromTheme("loop-color.6"),e.getColorFromTheme("loop-color.7"),e.getColorFromTheme("loop-color.8"),e.getColorFromTheme("loop-color.9"),e.getColorFromTheme("loop-color.10"),e.getColorFromTheme("loop-color.11"),e.getColorFromTheme("loop-color.12")].map(t=>e.isValidThemeColor(t)?e.getColorFromTheme(t):t),numberColor:e.getColorFromTheme("blue.700"),stringColor:e.getColorFromTheme("jiqing.800"),plainTextColor:e.getColorFromTheme("black")}),[e.getCurrentTheme()])}(),n=iK(Vc),i=(0,_q.useMemo)(()=>e.length,[e]);return $5((a,o,s=!0,l)=>{let u=a.getDocumentData(),c=a.getEditorId();if(!u)return[];let d=u.body;if(!d)return[];let h=d.dataStream.slice(0,d.dataStream.length-2),m={dataStream:"",...u.body};if(!h.startsWith(e))return[];if(null==o||0===o.length)return m.textRuns=[],n.syncExecuteCommand(hae.id,{unitId:c,body:Im(m,0,m.dataStream.length-2)}),[];{let u,{textRuns:d,refSelections:h}=function(e,t,r){let{formulaRefColors:n,numberColor:i,stringColor:a,plainTextColor:o}=t,s=[],l=[],u=new Map,c=0;for(let t=0,d=r.length;t0?s.push({st:h,ed:m+1,ts:{cl:{rgb:p},fs:11}}):s.push({st:h,ed:m+1,ts:{cl:{rgb:o},fs:11}})}return{textRuns:s,refSelections:l}}(t,r,o);if(i&&d.forEach(e=>{e.ed+=i,e.st+=i}),m.textRuns=[{st:0,ed:1,ts:{fs:11}},...d],m.dataStream=`${e}${o.reduce((e,t)=>"string"==typeof t?`${e}${t}`:`${e}${t.token}`,"")}\r\n`,s){u=a.getSelectionRanges();let e=m.dataStream.length-2+i;u.forEach(t=>{t.startOffset=Math.max(0,Math.min(t.startOffset,e)),t.endOffset=Math.max(0,Math.min(t.endOffset,e))})}return n.syncExecuteCommand(hae.id,{unitId:c,body:Im(m,0,m.dataStream.length-2),textRanges:null==l?u:l}),h}})}const lze=(e,t,r,n)=>{let i=iK(Vc),a=iK(U8),o=(0,_q.useRef)(t);o.current=t;let s=(0,_q.useRef)(n);s.current=n,(0,_q.useEffect)(()=>{if(!r||!e)return;let t=`sheet.formula-embedding-editor.${r.getEditorId()}`,n=new eu;return n.add(i.registerCommand({id:t,type:Bc.OPERATION,handler(e,t){let{keyCode:r,metaKey:n}=t;((e,t)=>{let r=Eu.DOWN;e===x8.ARROW_DOWN?r=Eu.DOWN:e===x8.ARROW_UP?r=Eu.UP:e===x8.ARROW_LEFT?r=Eu.LEFT:e===x8.ARROW_RIGHT&&(r=Eu.RIGHT),o.current?t===N8.CTRL_COMMAND?i.executeCommand(MPe.id,{direction:r,jumpOver:NPe.moveGap,extra:"formula-editor",fromCurrentSelection:o.current===ize.NEED_ADD||o.current===ize.EDIT_OTHER_SHEET_REFERENCE}):t===N8.SHIFT?i.executeCommand(LPe.id,{direction:r,extra:"formula-editor"}):t===(N8.CTRL_COMMAND|N8.SHIFT)?i.executeCommand(LPe.id,{direction:r,jumpOver:NPe.moveGap,extra:"formula-editor"}):i.executeCommand(MPe.id,{direction:r,extra:"formula-editor",fromCurrentSelection:o.current===ize.NEED_ADD||o.current===ize.EDIT_OTHER_SHEET_REFERENCE}):((e,t)=>{if(s.current)return void s.current(e,t);let r=Eu.LEFT;e===x8.ARROW_DOWN?r=Eu.DOWN:e===x8.ARROW_UP?r=Eu.UP:e===x8.ARROW_RIGHT&&(r=Eu.RIGHT),t===N8.SHIFT?i.executeCommand(Doe.id,{direction:r}):i.executeCommand(Poe.id,{direction:r})})(e,t)})(r,n)}})),[{keyCode:x8.ARROW_DOWN},{keyCode:x8.ARROW_LEFT},{keyCode:x8.ARROW_RIGHT},{keyCode:x8.ARROW_UP},{keyCode:x8.ARROW_DOWN,metaKey:N8.SHIFT},{keyCode:x8.ARROW_LEFT,metaKey:N8.SHIFT},{keyCode:x8.ARROW_RIGHT,metaKey:N8.SHIFT},{keyCode:x8.ARROW_UP,metaKey:N8.SHIFT},{keyCode:x8.ARROW_DOWN,metaKey:N8.CTRL_COMMAND},{keyCode:x8.ARROW_LEFT,metaKey:N8.CTRL_COMMAND},{keyCode:x8.ARROW_RIGHT,metaKey:N8.CTRL_COMMAND},{keyCode:x8.ARROW_UP,metaKey:N8.CTRL_COMMAND},{keyCode:x8.ARROW_DOWN,metaKey:N8.CTRL_COMMAND|N8.SHIFT},{keyCode:x8.ARROW_LEFT,metaKey:N8.CTRL_COMMAND|N8.SHIFT},{keyCode:x8.ARROW_RIGHT,metaKey:N8.CTRL_COMMAND|N8.SHIFT},{keyCode:x8.ARROW_UP,metaKey:N8.CTRL_COMMAND|N8.SHIFT}].map(({keyCode:e,metaKey:r})=>({id:t,binding:r?e|r:e,preconditions:()=>!0,priority:900,staticParameters:{eventType:FF.Keyboard,keyCode:e,metaKey:r}})).forEach(e=>{n.add(a.registerShortcut(e))}),()=>{n.dispose()}},[i,r,e,a])},uze=e=>e.map(e=>"string"==typeof e?e:e.token).join(""),cze=(e,t=!1,r="",n=!1)=>t||n?e.map(e=>n?Bme(e):""!==e.sheetName&&e.sheetName!==r?Dme(e.sheetName,e.range):Pme(e.range)):e.map(e=>Pme(e.range)),dze=()=>{},hze=()=>{},mze=(0,_q.forwardRef)(function(e,t){let{isFocus:r,sequenceNodes:n,onSelect:i,editor:a,onClose:o=hze}=e,s=a.getEditorId(),l=iK(U8),u=iK(Vc),{searchList:c,searchText:d,handlerFormulaReplace:h,reset:m}=((e,t=[],r)=>{let n=iK(rOe),[i,a]=(0,_q.useState)([]),[o,s]=(0,_q.useState)(""),l=(0,_q.useRef)(-1),u=$We({nodes:t}),c=()=>{a([]),s(""),l.current=-1};return(0,_q.useEffect)(()=>{if(r&&e){let e=r.input$.pipe(Gn(300)).subscribe(()=>{let e=r.getSelectionRanges();if(1===e.length){let t=u.current.nodes,r=e[0];if(r.collapsed){let e=QWe(t,r.startOffset-1,!1);l.current=e;let i=t[e];if(i&&"string"!=typeof i&&i.nodeType===kfe.FUNCTION){l.current=e;let t=i.token;return a(n.getSearchListByNameFirstLetter(t)),void s(t)}}}l.current=-1,s(""),a(e=>null!=e&&e.length?[]:e)});return()=>{e.unsubscribe()}}},[r,e]),(0,_q.useEffect)(()=>{e||c()},[e]),{searchList:i,searchText:o,handlerFormulaReplace:(e,t)=>{let r=[...u.current.nodes];if(-1!==l.current){let n=r.splice(l.current+1),i=r.pop()||"",a=("string"==typeof i?i.length:i.token.length)-e.length;return r.push(e),n[0]!==lhe.OPEN_BRACKET&&t!==Fhe.DefinedName&&(r.push(lhe.OPEN_BRACKET),a--),{text:uze([...r,...n]),offset:a}}},reset:c}})(r,n,a),f=(0,_q.useMemo)(()=>!!c.length,[c]),g=(0,_q.useRef)(void 0),[p,v]=(0,_q.useState)(0),b=(0,_q.useRef)(!1),[C]=KWe(s,f,[d,c]),y=$We({searchList:c,active:p}),_=(e,t)=>{let r=h(e,t);r&&(m(),i(r))};function w(){b.current&&v(-1)}function E(e){let t=g.current;if(!t)return;let r=t.children[e];if(!r)return;let n=t.getBoundingClientRect().top,i=t.offsetHeight,a=r.getBoundingClientRect(),o=a.top,s=a.height;if(o>=0&&o>n&&o-n+s<=i)return;let l=r.offsetTop-(i-s)/2;t.scrollTo({top:l,behavior:"smooth"})}(0,_q.useEffect)(()=>{if(!c.length)return;let e=`sheet.formula-embedding-editor.search_function.${s}`,t=new eu;return t.add(u.registerCommand({id:e,type:Bc.OPERATION,handler(e,t){let{keyCode:r}=t;(e=>{let{searchList:t,active:r}=y.current;switch(e){case x8.ARROW_UP:v(e=>{let t=Math.max(0,e-1);return E(t),t});break;case x8.ARROW_DOWN:v(e=>{let r=Math.min(t.length-1,e+1);return E(r),r});break;case x8.TAB:case x8.ENTER:{let e=t[r];_(e.name,e.functionType);break}case x8.ESC:m(),o()}})(r)}})),[x8.ARROW_UP,x8.ARROW_DOWN,x8.ENTER,x8.ESC,x8.TAB].map(t=>({id:e,binding:t,preconditions:()=>!0,priority:1e3,staticParameters:{eventType:FF.Keyboard,keyCode:t}})).forEach(e=>{t.add(l.registerShortcut(e))}),()=>{t.dispose()}},[c]);let S=(0,_q.useMemo)(()=>{let e="";return()=>{clearTimeout(e),b.current=!0,e=setTimeout(()=>{b.current=!1},300)}},[]);return c.length>0&&f&&(0,$Z.jsx)(_ee,{portal:!0,anchorRect$:C,direction:"vertical",children:(0,$Z.jsx)("ul",{ref:e=>{g.current=e,t&&(t.current=e)},"data-u-comp":"sheets-formula-editor",className:x7("univer-m-0 univer-box-border univer-max-h-[400px] univer-w-[250px] univer-list-none univer-overflow-y-auto univer-rounded-lg univer-bg-white univer-p-2 univer-leading-5 univer-shadow-md univer-outline-none dark:!univer-bg-gray-900",V7,U7),children:c.map((e,t)=>(0,$Z.jsxs)("li",{className:x7("univer-box-border univer-cursor-pointer univer-rounded univer-px-2 univer-py-1 univer-text-gray-900 univer-transition-colors dark:!univer-text-white",{"univer-bg-gray-200 dark:!univer-bg-gray-600":p===t}),onMouseEnter:()=>function(e){b.current&&v(e)}(t),onMouseLeave:w,onMouseMove:S,onClick:()=>{_(e.name,e.functionType),a&&a.focus()},children:[(0,$Z.jsxs)("span",{className:"univer-block univer-truncate univer-text-xs",children:[(0,$Z.jsx)("span",{className:"univer-text-red-500",children:e.name.substring(0,d.length)}),(0,$Z.jsx)("span",{children:e.name.slice(d.length)})]}),(0,$Z.jsx)("span",{className:"univer-block univer-text-xs univer-text-gray-400",children:e.desc})]},e.name))})})}),fze=()=>{},gze=(0,_q.forwardRef)((e,t)=>{var r,n,i,a;let{errorText:o,initValue:s,unitId:l,subUnitId:u,isFocus:c=!0,isSupportAcrossSheet:d=!1,onFocus:h=fze,onBlur:m=fze,onChange:f,onVerify:g,className:p,editorId:v,moveCursor:b=!0,onFormulaSelectingChange:C,keyboardEventConfig:y,onMoveInEditor:_,resetSelectionOnBlur:w=!0,autoScrollbar:E=!0,isSingle:S=!0,disableSelectionOnClick:A=!1,autofocus:I=!0,disableContextMenu:R,style:x}=e,T=iK(joe),N=(0,_q.useRef)(null),M=$5(f);(0,_q.useImperativeHandle)(t,()=>({isClickOutSide:e=>!!N.current&&!N.current.contains(e.target)}));let O=$5(C),L=(0,_q.useRef)(null),k=(0,_q.useRef)(void 0),P=k.current,[D,U]=(0,_q.useState)(c),B=(0,_q.useRef)(null),V=(0,_q.useMemo)(()=>null==v?Tl(`embedding_formula_editor-${cu(4)}`):v,[]),F=(0,_q.useMemo)(()=>void 0!==o,[o]),j=iK(dg),H=j.getUnit(V);aK(null==H?void 0:H.change$);let W=(()=>{let e=iK(Ffe);return(0,_q.useCallback)(t=>e.sequenceNodesBuilder(t)||[],[e])})(),z=Jm.transform.getPlainText(null==(r=null==H||null==(n=H.getBody())?void 0:n.dataStream)?"":r),X=$We(z),q=(0,_q.useMemo)(()=>(e=>e.startsWith(nhe.EQUALS)?e.slice(1):"")(z),[z]),G=(0,_q.useMemo)(()=>W(q),[q,W]),{isSelecting:Y,isSelectingRef:Q}=function(e){var t;let{editorId:r,isFocus:n,disableOnClick:i,unitId:a,subUnitId:o}=e,s=iK(kX),l=iK(dg),u=s.getRenderById(a),c=s.getRenderById(r),d=null==c?void 0:c.with(voe),h=iK(GX),m=iK(he),[f,g]=(0,_q.useState)(ize.NOT_SELECT),p=iK(Ffe),v=(0,_q.useRef)(!0),b=null==u?void 0:u.with(YWe),C=$We(f),y=l.getUnit(a,Pi.UNIVER_SHEET),_=null==y?void 0:y.getSheetBySheetId(o),w=$5(e=>{b&&b.setSkipLastEnabled(e===ize.NEED_ADD||e===ize.EDIT_OTHER_SHEET_REFERENCE||e===ize.EDIT_OTHER_WORKBOOK_REFERENCE),C.current=e,g(e)}),E=$5(()=>{var e,t;let r=l.getCurrentUnitOfType(Pi.UNIVER_SHEET);if(!r)return;let n=r.getActiveSheet(),i=null==d?void 0:d.getActiveTextRange(),a=null!=i&&i.collapsed?i.startOffset:-1,o=function(e){var t,r;let n=e.get(dg).getCurrentUniverDocInstance();if(null!=n&&n.getBody())return{dataStream:null==(t=null==(r=n.getBody())?void 0:r.dataStream)?"":t,offset:0}}(m);if(!o)return;let s=null==o||null==(e=o.dataStream)?void 0:e.slice(0,-2),u=(null==(t=p.sequenceNodesBuilder(s))?[]:t).map(e=>"object"==typeof e?e.nodeType===kfe.REFERENCE?{...e,range:Lfe(e.token)}:{...e,range:void 0}:e),c=s[a-1],h=s[a],f=u.find(e=>"object"==typeof e&&e.nodeType===kfe.REFERENCE&&a===e.endIndex+2),g=c&&function(e){return Hhe(e)&&e!==lhe.CLOSE_BRACES&&e!==lhe.CLOSE_BRACKET&&e!==lhe.SINGLE_QUOTATION&&e!==lhe.DOUBLE_QUOTATION||" "===e}(c)&&(!h||Hhe(h)&&h!==lhe.OPEN_BRACKET),b=!!f;if("="===(null==s?void 0:s.substring(0,1))&&(g||b))if(b){var C;if(v.current)return;let{sheetName:e,unitId:t}=f.range,r=null==(C=l.getCurrentUnitOfType(Pi.UNIVER_SHEET))?void 0:C.getUnitId();t&&t!==r?w(ize.EDIT_OTHER_WORKBOOK_REFERENCE):!e&&n.getSheetId()===(null==_?void 0:_.getSheetId())||e===n.getName()?w(ize.CAN_EDIT):w(ize.EDIT_OTHER_SHEET_REFERENCE)}else v.current=!1,w(ize.NEED_ADD);else w(ize.NOT_SELECT)});return(0,_q.useEffect)(()=>{let e=h.textSelection$.pipe(Un(e=>e.unitId===r)).subscribe(()=>{E()});return()=>e.unsubscribe()},[E,h.textSelection$,r]),(0,_q.useEffect)(()=>{n||(w(ize.NOT_SELECT),v.current=!0)},[n,w]),(0,_q.useEffect)(()=>{var e;if(!i)return;let t=null==c||null==(e=c.mainComponent)?void 0:e.onPointerDown$.subscribeEvent(()=>{w(ize.NOT_SELECT),v.current=!0});return()=>null==t?void 0:t.unsubscribe()},[i,null==c||null==(t=c.mainComponent)?void 0:t.onPointerDown$,w]),(0,_q.useEffect)(()=>{if(!n)return;let e=null==y?void 0:y.activeSheet$.subscribe(()=>{E()}),t=l.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET).subscribe(()=>{E()});return()=>{null==e||e.unsubscribe(),null==t||t.unsubscribe()}},[E,n,null==y?void 0:y.activeSheet$,l.getCurrentTypeOfUnit$]),{isSelecting:f,isSelectingRef:C}}({unitId:l,subUnitId:u,editorId:V,isFocus:D,disableOnClick:A}),Z=(0,_q.useRef)(""),K=iK(kX).getRenderById(V),$=null==K?void 0:K.with(voe),J=null==$?void 0:$.isFocusing,ee=aK((0,_q.useMemo)(()=>j.getCurrentTypeOfUnit$(Pi.UNIVER_DOC),[j])),te=(null==ee?void 0:ee.getUnitId())===V,re=(0,_q.useRef)([]),ne=Y,ie=null==(i=null==(a=iK(Tc).getConfig("sheets-formula-ui.base.config"))?void 0:a.functionScreenTips)||i;((e,t)=>{let r=(0,_q.useRef)(!1);(0,_q.useEffect)(()=>{r.current?M(z):r.current=!0},t)})(0,[z,M]);let ae=sze("="),oe=function(e,t){let r=iK(dg),n=iK(Lg),i=iK(fSe),a=iK(kX),o=aK((0,_q.useMemo)(()=>r.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET),[r])),s=o?a.getRenderById(o.getUnitId()):null,l=null==s?void 0:s.with(YWe),u=null==s?void 0:s.with(vLe),c=$5((a,o)=>{let s=r.getCurrentUnitOfType(Pi.UNIVER_SHEET);if(!s||null!=l&&l.selectionMoving)return;let c=oze({unitId:e,subUnitId:t,currentWorkbook:s,refSelections:a,editor:o,refSelectionsService:i,refSelectionsRenderService:l,sheetSkeletonManagerService:u,themeService:n,univerInstanceService:r});c&&(((null==l?void 0:l.getSelectionControls())||[]).length===c.length?null==l||l.resetSelectionsByModelData(c):i.setSelections(c))});return(0,_q.useEffect)(()=>()=>{null==l||l.resetActiveSelectionIndex()},[l]),c}(l,u),se=$5((e,t=!0,r,n)=>{if(!k.current)return;Z.current=e;let i="="===e[0]?e.slice(1):"",a=W(i),o=a.reduce((e,t)=>"object"==typeof t?`${e}${t.token}`:`${e}${t}`,""),s=ae(k.current,o===i?a:[],t,n);if(re.current=s,r){let e=null==n?null==P?void 0:P.getSelectionRanges():n;if(1!==(null==e?void 0:e.length))return;let t=ZWe(a,QWe(a,e[0].startOffset-1,!1));if(t>=0){let e=s.splice(t,1)[0];e&&s.push(e)}oe(D?s:[],k.current)}});(0,_q.useEffect)(()=>{D&&se(z,!1,!0)},[D]),(0,_q.useEffect)(()=>{if(D){if(Z.current===z)return;se(z,!1,!0)}},[z]),((e,t,r)=>{let n=iK(Ffe),i=(0,_q.useRef)(!0);(0,_q.useEffect)(()=>{if(e){let e=setTimeout(()=>{i.current=!1},500);return()=>{clearTimeout(e)}}},[e]),(0,_q.useEffect)(()=>{i.current||t&&t(0===n.checkIfAddBracket(r)&&r.startsWith(nhe.EQUALS),`${r}`)},[r,t])})(D,g,z);let le=(e=>{let t=iK(joe);return $5(r=>{if(e){t.focus(e.getEditorId());let a=[...e.getSelectionRanges()];if(uu.isDefine(r))e.setSelectionRanges([{startOffset:r,endOffset:r}]);else if(a.length||e.docSelectionRenderService.isOnPointerEvent)e.setSelectionRanges(a);else{var n,i;let t=null==(n=null==(i=e.getDocumentData().body)?void 0:i.dataStream)?"\r\n":n,r=Math.max(t.length-2,0);e.setSelectionRanges([{startOffset:r,endOffset:r}])}}})})(P),ue=((e,t,r)=>{let n=iK(dg),i=iK(rSe);return(0,_q.useCallback)(()=>{if(e){let e=[...i.getWorkbookSelections(t).getSelectionsOfWorksheet(r)],a=n.getCurrentUnitForType(Pi.UNIVER_SHEET),o=null==a?void 0:a.getActiveSheet();(null==a?void 0:a.getUnitId())!==t&&n.setCurrentUnitForType(t),o&&o.getSheetId()===r&&i.setSelections(e)}},[e,i,r,t,n])})(D,l,u);(0,_q.useEffect)(()=>{var e;O(Y,null==(e=null==$?void 0:$.isFocusing)||e)},[O,Y]),xue(D,y,P),(0,_q.useLayoutEffect)(()=>{let e;return B.current&&(e=T.register({autofocus:I,editorUnitId:V,initialSnapshot:{id:V,body:{dataStream:`${s}\r\n`,textRuns:[],customBlocks:[],customDecorations:[],customRanges:[]},documentStyle:{}}},B.current),k.current=T.getEditor(V),se(s,!1,!0)),()=>{null==e||e.dispose()}},[]),(0,_q.useLayoutEffect)(()=>{c?(U(c),le()):(w&&(null==P||P.blur(),ue()),U(c))},[c,P,le,ue,w]);let{checkScrollBar:ce}=Tue(P,S,E);((e,t,r,n,i=!0)=>{var a;let o=iK(kX),s=iK(Mc),l=iK(jee),u=iK(fSe),c=iK(dg),d=aK((0,_q.useMemo)(()=>c.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET),[c])),h=o.getRenderById(null==(a=null==d?void 0:d.getUnitId())?"":a),m=null==h?void 0:h.with(YWe);(0,_q.useLayoutEffect)(()=>{if(e)return s.setContextValue(Sf,!0),i&&l.disable(),()=>{let e=c.getCurrentUnitOfType(Pi.UNIVER_DOC);(null==e?void 0:e.getUnitId())===n&&s.setContextValue(Sf,!1),i&&l.enable(),u.clear()}},[s,e,u,i,n]),(0,_q.useLayoutEffect)(()=>{if(e&&t){let e=null==m?void 0:m.enableSelectionChanging();return s.setContextValue(iSe,!0),()=>{s.setContextValue(iSe,!1),null==e||e.dispose()}}},[s,e,m,t]),(0,_q.useEffect)(()=>{e&&(null==m||m.setSkipLastEnabled(!1))},[e,m])})(D,!(!Y||!te),0,V,R),lze(!!(D&&J&&b),ne,P,_);let de=$5((e,t,r)=>{J&&(se(`=${e}`,!0,r,-1===t?void 0:[{startOffset:t+1,endOffset:t+1,collapsed:!0}]),r&&(le(),-1!==t&&setTimeout(()=>{let e={startOffset:t+1,endOffset:t+1},r=null==P?void 0:P.render.with(Fle);null==r||r.scrollToRange({...e,collapsed:!0})},50),ce()))});return((e,t,r,n,i,a,o,s,l,u=dze)=>{var c;let d=iK(kX),h=iK(dg),m=iK(Vc),f=iK(GX),g=iK(Lg),p=iK(Ffe),v=h.getUnit(n),b=$5((e,t)=>{var r,n;return null==(r=null==(n=h.getUnit(e))||null==(n=n.getSheetBySheetId(t))?void 0:n.getName())?"":r}),C=(0,_q.useMemo)(()=>b(n,i),[b,i,n]),y=aK(null==v?void 0:v.activeSheet$),_=$We({activeSheet:y,sheetName:C}),w=aK((0,_q.useMemo)(()=>h.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET),[h])),E=d.getRenderById(null==(c=null==w?void 0:w.getUnitId())?"":c),S=null==E?void 0:E.with(YWe),A=null==E?void 0:E.with(vLe),I=iK(fSe),R=$5((e,t,a)=>{let s=(e=>{var t,r,n;let{editor:i,lexerTreeBuilder:a}=e,o=null==i?void 0:i.getSelectionRanges();if(1!==(null==o?void 0:o.length))return;let s=o[0].startOffset-1,l=(null==(t=null==i||null==(r=i.getDocumentData().body)?void 0:r.dataStream)?"\r\n":t).slice(0,-2),u=null==(n=a.sequenceNodesBuilder(l.slice(1)))?[]:n,c=QWe(u,s,!1);return{nodeIndex:c,updatingRefIndex:ZWe(u,c),sequenceNodes:u,offset:s}})({editor:l,lexerTreeBuilder:p});if(!s)return;let{nodeIndex:c,updatingRefIndex:d,sequenceNodes:h,offset:m}=s;if(r.current===ize.NEED_ADD)if(0!==m){var f,g,v;if(-1===c&&h.length)return;let r=e[e.length-1],a=h.splice(c+1),s=null==(f=r.sheetId)?i:f,l={range:r,unitId:null==(g=r.unitId)?w.getUnitId():g,sheetName:b(null==(v=r.unitId)?w.getUnitId():v,s)},d=s!==i,m=(null==w?void 0:w.getUnitId())!==n,p=cze([l],o&&(d||m),C,m);h.push({token:p[0],nodeType:kfe.REFERENCE}),u(uze([...h,...a]),(e=>e.reduce((e,t)=>"string"==typeof t?e+t.length:e+t.token.length,0))(h),t)}else{var E,S,A;let r=e[e.length-1],a=null==(E=r.sheetId)?i:E,s={range:r,unitId:null==(S=r.unitId)?w.getUnitId():S,sheetName:b(null==(A=r.unitId)?w.getUnitId():A,a)},l=a!==i,c=(null==w?void 0:w.getUnitId())!==n,d=cze([s],o&&(l||c),C,c);h.unshift({token:d[0],nodeType:kfe.REFERENCE}),u(uze(h),d[0].length,t)}else if(r.current===ize.EDIT_OTHER_SHEET_REFERENCE||r.current===ize.EDIT_OTHER_WORKBOOK_REFERENCE){let r=e.pop();if(!r)return;let i=h[c];if("object"==typeof i&&i.nodeType===kfe.REFERENCE){let e=i.token;var I;(null==w?void 0:w.getUnitId())!==n?i.token=Ume(null==(I=null==w?void 0:w.getUnitId())?"":I,C,r):i.token=C===(null==y?void 0:y.getName())?Pme(r):Dme(y.getName(),r);let a=m+(i.token.length-e.length);u(Pfe(h),a,t)}}else{let r=[...e];if(!a&&-1!==d){let e=r.pop();e&&r.splice(d,0,e)}let s,l=0,m=h.map(e=>{if("string"==typeof e)return e;if(e.nodeType===kfe.REFERENCE){var t,a,s;let c=jme(e.token);if(c.sheetName||(c.sheetName=C),(c.unitId||n)!==(null==w?void 0:w.getUnitId()))return e.token;var u;if(o&&(null==(u=_.current.activeSheet)?void 0:u.getName())!==c.sheetName)return e.token;let d=r[l];if(l++,!d)return"";let h=null==(t=d.sheetId)?i:t,m={range:d,unitId:null==(a=d.unitId)?w.getUnitId():a,sheetName:b(null==(s=d.unitId)?w.getUnitId():s,h)},f=(null==w?void 0:w.getUnitId())!==n;return cze([m],o&&(h!==i||f),C,f)[0]}return e.token}),f="";m.forEach((e,t)=>{f+=e,t===c&&(s=f.length)});let g=[];for(let t=l;t<=e.length-1;t++){var R,x,T;let r=e[t],a=null==(R=r.sheetId)?i:R,s={range:r,unitId:null==(x=r.unitId)?w.getUnitId():x,sheetName:b(null==(T=r.unitId)?w.getUnitId():T,a)},l=(null==w?void 0:w.getUnitId())!==n,u=cze([s],o&&(a!==i||l),C,l);g.push(u[0])}let p=h[h.length-1],v=p&&"string"!=typeof p&&p.nodeType===kfe.REFERENCE,y=`${f}${g.length&&v?",":""}${g.join(",")}`;u(y,!g.length&&s?s:y.length,t)}});(0,_q.useEffect)(()=>{if(S&&e){let e=!0,t=0,r=(r,n)=>{if(e)return e=!1,void(t=r.length);let i=r.length>t;n&&(t=r.length),R(r.map(e=>e.rangeWithCoord),n,i)},n=new eu;return n.add(S.selectionMoving$.subscribe(e=>{r(e,!1)})),n.add(S.selectionMoveEnd$.subscribe(e=>{r(e,!0)})),()=>{n.dispose()}}},[e,R,S]),(0,_q.useEffect)(()=>{if(t&&S&&l){let e=new eu,t=()=>{e.dispose(),S.getSelectionControls().forEach((t,r)=>{e.add(t.selectionScaling$.subscribe(e=>{let t=S.getSelectionDataWithStyle().map(e=>e.rangeWithCoord),n=t[r];e.sheetId=n.sheetId,e.unitId=n.unitId,t[r]=e,R(t,!1)})),e.add(t.selectionMoving$.subscribe(e=>{let t=S.getSelectionDataWithStyle().map(e=>e.rangeWithCoord),n=t[r];e.sheetId=n.sheetId,e.unitId=n.unitId,t[r]=e,R(t,!0)}))})},r=Ei(l.input$,I.selectionSet$,S.selectionMoveEnd$).pipe(Gn(50)).subscribe(()=>{t()});return()=>{r.unsubscribe(),e.dispose()}}},[l,t,R,S,I.selectionSet$]),null==S||S.getSelectionDataWithStyle(),(0,_q.useEffect)(()=>{if(s){let e=m.onCommandExecuted(e=>{if(e.id!==vSe.id)return;let t=e.params;if("formula-editor"===t.extra&&t.selections.length){let e=t.selections[t.selections.length-1];if(e){var n;let{range:i,primary:a}=e;(null!=a&&a.isMergedMainCell||null!=a&&a.isMerged)&&Oh.contains(a,i)&&(i.startRow=a.startRow,i.endRow=a.startRow,i.startColumn=a.startColumn,i.endColumn=a.startColumn),i.unitId=t.unitId,i.sheetId=t.subUnitId;let o=r.current===ize.NEED_ADD,s=(null==(n=null==S?void 0:S.getSelectionDataWithStyle())?[]:n).map(e=>e.rangeWithCoord);o?s.push(i):s[s.length-1]=i,R(s,!0)}}});return()=>{e.dispose()}}},[m,l,r,p,s,R,S]),(0,_q.useEffect)(()=>{if(!l)return;let e=f.textSelection$.subscribe(e=>{e.unitId===l.getEditorId()&&oze({unitId:n,subUnitId:i,refSelections:a.current,editor:l,refSelectionsService:I,refSelectionsRenderService:S,sheetSkeletonManagerService:A,themeService:g,univerInstanceService:h,currentWorkbook:w})});return()=>e.unsubscribe()},[f.textSelection$,l,a,S,I,A,i,g,n,h])})(D&&!(!Y||!te),D,Q,l,u,re,d,!!ne,P,de),((e,t,r,n,i,a)=>{let o=iK(Vc),s=iK(joe),l=iK(kX).getRenderById(t),u=iK(dg),c=null==l?void 0:l.with(YWe);(0,_q.useEffect)(()=>{if(e&&c){if(r){let e=()=>{let e=c.getSelectionControls().length;for(let t=1;t<=e;t++)c.clearLastSelection();return setTimeout(()=>{a()},30)},t=o.onCommandExecuted(t=>{t.id===fEe.id&&e()}),r=u.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET).subscribe(t=>{e()});return()=>{t.dispose(),r.unsubscribe()}}{let e=o.beforeCommandExecuted(e=>{if(e.id===fEe.id){n(!1),i(),a();let e=s.getEditor(El);null==e||e.focus()}});return()=>{e.dispose()}}}},[e,c])})(D&&!(!Y||!te),l,d,U,m,()=>{se(X.current,!1,!0)}),(0,$Z.jsxs)("div",{className:p,children:[(0,$Z.jsx)("div",{ref:N,className:x7("univer-relative univer-box-border univer-flex univer-size-full univer-items-center univer-justify-around univer-gap-2 univer-rounded-none univer-p-0 univer-ring-1",{"univer-ring-primary-500":D,"univer-ring-red-500":F}),children:(0,$Z.jsx)("div",{ref:B,className:"univer-relative univer-size-full",onMouseUp:()=>{U(!0),h(),le()}})}),void 0!==o&&(0,$Z.jsx)("div",{className:"univer-my-1 univer-text-xs univer-text-red-500",children:o}),ie&&P&&""!==q&&(0,$Z.jsx)(nze,{editor:P,isFocus:D,formulaText:z,onClose:()=>le()}),ie&&!!P&&(0,$Z.jsx)(mze,{isFocus:D,sequenceNodes:G,onSelect:e=>{if(e){let t=null==P?void 0:P.getSelectionRanges();if(t&&1===t.length){let r=t[0];if(r.collapsed){let t=e.offset;setTimeout(()=>{null==P||P.setSelectionRanges([{startOffset:r.startOffset-t,endOffset:r.endOffset-t}])},30)}}le(),se(`=${e.text}`)}},ref:L,editor:P})]})}),pze=e=>!e.some(e=>{if("string"==typeof e){if(e!==lhe.COMMA)return!0}else if(e.nodeType!==kfe.REFERENCE)return!0;return!1}),vze=e=>{if(e.endColumn{if(t&&r.length){let e=r.map(e=>e.sheetName?Dme(e.sheetName,e.range):Pme(e.range));f(e),p(e.length-1)}else f([""]),p(0)},[t]),function(e){let t=iK(rSe),{supportAcrossSheet:r=!1,keepSheetReference:n=!1,unitId:i,subUnitId:a,onChange:o}=e,s=iK(dg).getUnit(i,Pi.UNIVER_SHEET),l=$5(o),u=$5((e,t)=>{let o=null==s?void 0:s.getActiveSheet();if(!o||!r&&o.getSheetId()!==a||null==e||!e.length)return;let u=n?o.getName():o.getSheetId()===a?"":o.getName();l(e.map(e=>({range:e.range,unitId:i,sheetName:u})),t)});(0,_q.useEffect)(()=>{let e=new eu;return e.add(t.selectionMoveStart$.subscribe(e=>{u(e,!0)})),e.add(t.selectionMoving$.subscribe(e=>{u(e,!1)})),e.add(t.selectionMoveEnd$.subscribe(e=>{u(e,!1)})),()=>{e.dispose()}},[u,t.selectionMoveEnd$,t.selectionMoveStart$,t.selectionMoving$])}({unitId:n,subUnitId:i,supportAcrossSheet:o,keepSheetReference:s,onChange:(e,r)=>{if(!t&&null!=c&&c(e))return;let n=new Set(m),i=e.map(e=>e.sheetName?Dme(e.sheetName,e.range):Pme(e.range)),o=i.filter(e=>!n.has(e));if(!o.length)return;let s=[...m];if(i.length>1){r||s.splice(g,1),s.push(...o);let e=s.slice(0,a);f(e),p(e.length-1),requestAnimationFrame(()=>{var e;null==(e=v.current)||e.scrollTo({top:v.current.scrollHeight})})}else s.splice(g,1,...o),f(s.slice(0,a)),p(g+o.length-1)}}),(0,$Z.jsx)(s9,{width:"328px",open:t,title:d.t("rangeSelector.title"),draggable:!0,mask:!1,maskClosable:!1,footer:(0,$Z.jsxs)("footer",{className:"univer-flex univer-gap-2",children:[(0,$Z.jsx)(O7,{onClick:u,children:d.t("rangeSelector.cancel")}),(0,$Z.jsx)(O7,{variant:"primary",onClick:()=>{l(m.filter(e=>{let t=h.sequenceNodesBuilder(e);return t&&1===t.length&&"string"!=typeof t[0]&&t[0].nodeType===kfe.REFERENCE}).map(e=>jme(e)).map(e=>({...e,range:vze(e.range)})))},children:d.t("rangeSelector.confirm")})]}),onClose:u,children:(0,$Z.jsxs)("div",{ref:v,className:x7("-univer-mx-6 univer-max-h-60 univer-overflow-y-auto univer-px-6",U7),children:[m.map((e,t)=>(0,$Z.jsxs)("div",{className:"univer-mb-2 univer-flex univer-items-center univer-gap-4",children:[(0,$Z.jsx)(Z9,{className:x7("univer-w-full",{"univer-border-primary-600":g===t}),placeholder:d.t("rangeSelector.placeHolder"),onFocus:()=>p(t),value:e,onChange:e=>((e,t)=>{let r=[...m];r[e]=t,f(r)})(t,e)}),m.length>1&&(0,$Z.jsx)(one,{className:"univer-cursor-pointer",onClick:()=>(e=>{m.splice(e,1),f([...m])})(t)})]},t)),m.length{f([...m,""]),p(m.length)},children:[(0,$Z.jsx)(EY,{}),(0,$Z.jsx)("span",{children:d.t("rangeSelector.addAnotherRange")})]})})]})})}function Cze(e){let[t,r]=(0,_q.useState)(null),{onVerify:n,selectorRef:i,unitId:a,subUnitId:o,maxRangeCount:s,supportAcrossSheet:l,keepSheetReference:u,autoFocus:c,onChange:d,onRangeSelectorDialogVisibleChange:h,onClickOutside:m,onFocusChange:f,forceShowDialogWhenSelectionChanged:g,hideEditor:p,resetRange:v}=e,[b,C]=(0,_q.useState)(null!=c&&c),[y,_]=(0,_q.useState)(!1),[w,E]=(0,_q.useState)([]),S=iK(Cg),A=iK(joe),{sequenceNodes:I}=function(e,t,r,n){var i;let a=iK(Ffe),o=sze(""),s=aK(null==e||null==(i=e.getDocumentDataModel())?void 0:i.change$),[l,u]=(0,_q.useState)([]),c=iK(ELe),d=(0,_q.useRef)(""),h=iK(dg);return(0,_q.useEffect)(()=>{if(!e)return;let t=e.getDocumentDataModel().getPlainText();if(d.current===t)return;d.current=t;let r=a.sequenceNodesBuilder(t);u(null==r?[]:r)},[s,e,a]),(0,_q.useEffect)(()=>{if(!e)return;if(!t){var r,i;let t=e.getDocumentData();return void e.setDocumentData({...t,body:{...t.body,dataStream:null==(r=null==(i=t.body)?void 0:i.dataStream)?"":r,textRuns:[]}})}let a=o(e,l,!1),s=new eu;return a.forEach(e=>{let t=jme(e.token),r=h.getCurrentUnitForType(Pi.UNIVER_SHEET),i=null==r?void 0:r.getActiveSheet();if(!t.sheetName&&n!==(null==i?void 0:i.getSheetId())||t.sheetName&&(null==i?void 0:i.getName())!==t.sheetName)return;let a=new $c(e.themeColor).toRgb(),o=c.addShape({range:t.range,style:{stroke:e.themeColor,fill:`rgba(${a.r}, ${a.g}, ${a.b}, 0.1)`,strokeDash:12},primary:null});o&&s.add(()=>c.removeShape(o))}),()=>{s.dispose()}},[e,t,o,c,l]),{sequenceNodes:l}}(t,b,0,o),R=$We(I),x=iK(Vc),T=$5(()=>{null==t||t.setSelectionRanges([]),null==t||t.blur(),A.blur()}),N=$5(()=>{var e,r;T(),E(function(e){return e.split(lhe.COMMA).filter(e=>!!e).map(e=>jme(e))}(null==(e=null==t||null==(r=t.getDocumentDataModel())?void 0:r.getPlainText())?"":e)),_(!0)});return(0,_q.useEffect)(()=>{i&&(i.current={get editor(){return t},focus(){A.focus(t.getEditorId())},blur:T,verify:()=>pze(R.current),showDialog:e=>{T(),E(e),_(!0)},hideDialog:()=>{E([]),_(!1)},getValue:()=>{var e,r;return null==(e=null==t||null==(r=t.getDocumentDataModel())?void 0:r.getPlainText())?"":e}})},[T,t,A,i,R]),(0,_q.useEffect)(()=>{var e,r;null==n||n(pze(I),null==(e=null==t||null==(r=t.getDocumentDataModel())?void 0:r.getPlainText())?"":e)},[I]),(0,_q.useEffect)(()=>{null==h||h(y)},[y]),(0,_q.useEffect)(()=>{if(y&&v)return()=>{let e={unitId:a,subUnitId:o,selections:v};x.executeCommand(vSe.id,e)}},[y]),(0,$Z.jsxs)($Z.Fragment,{children:[p?null:(0,$Z.jsx)(Nue,{isSingle:!0,...e,onFocusChange:(e,t)=>{C(e),null==f||f(e,t)},editorRef:r,onClickOutside:()=>{C(!1),T(),null==m||m()},icon:(0,$Z.jsx)(J9,{title:S.t("rangeSelector.buttonTooltip"),placement:"bottom",children:(0,$Z.jsx)(WHe,{className:"univer-cursor-pointer dark:!univer-text-gray-300",onClick:N})})}),(0,$Z.jsx)(bze,{initialValue:w,unitId:a,subUnitId:o,visible:y,maxRangeCount:s,onConfirm:e=>{let r=function(e){return e.map(e=>e.sheetName?Dme(e.sheetName,e.range):Pme(e.range)).join(lhe.COMMA)}(e),n=lf.newEmptyData();n.body.dataStream=r,null==t||t.replaceText(r,!1),null==d||d(n,r),_(!1),E([]),requestAnimationFrame(()=>{T()})},onClose:()=>{_(!1),E([])},supportAcrossSheet:l,keepSheetReference:u,onShowBySelection:e=>!b&&!g||(E(e),_(!0),!1)})]})}const yze=()=>{var e,t;let r=aK(iK(GWe).currentSelector$),n=(0,_q.useRef)(null);return(0,_q.useEffect)(()=>{var e,t;if(r)return null==(e=n.current)||e.showDialog(null==(t=r.initialValue)?[]:t),()=>{var e;null==(e=n.current)||e.hideDialog()}},[r]),(0,$Z.jsx)(Cze,{unitId:null==(e=null==r?void 0:r.unitId)?"":e,subUnitId:null==(t=null==r?void 0:r.subUnitId)?"":t,hideEditor:!0,selectorRef:n,onChange:(e,t)=>{var n;null==r||r.callback(null==(n=null==t?void 0:t.split(",").map(e=>jme(e)))?[]:n)}})};let _ze=class extends Rg{constructor(e=fWe,t,r,n,i){super(),this._config=e,this._injector=t,this._renderManagerService=r,this._configService=n,this._uiPartsService=i;let{menu:a,...o}=hr(fWe,this._config);a&&this._configService.setConfig("menu",a,{merge:!0}),this._configService.setConfig(mWe,o,{merge:!0})}onStarting(){Ml(this._injector,[[ZHe,{useClass:KHe}],[GWe],[XWe],[bWe],[yWe],[wWe],[hWe],[qWe]]),this._initUIPart()}onReady(){[[YWe]].forEach(e=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(Pi.UNIVER_SHEET,e))})}onRendered(){[[vWe]].forEach(e=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(Pi.UNIVER_SHEET,e))}),Ol(this._injector,[[XWe],[bWe],[wWe],[qWe]])}onSteady(){this._injector.get(hWe)}_initUIPart(){let e=this._injector.get(W5);this.disposeWithMe(e.register(JOe,Cze)),this.disposeWithMe(e.register(eLe,gze)),this.disposeWithMe(this._uiPartsService.registerComponent(dee.GLOBAL,()=>tK(yze,this._injector)))}};GHe(_ze,"pluginName",iWe),GHe(_ze,"packageName","@univerjs/sheets-formula-ui"),GHe(_ze,"version","0.19.0"),GHe(_ze,"type",Pi.UNIVER_SHEET),_ze=QHe([Tg(gOe),YHe(1,Y(he)),YHe(2,kX),YHe(3,Tc),YHe(4,hee)],_ze);const wze="$.£.¥.¤.֏.؋.৳.฿.៛.₡.₦.₩.₪.₫.€.₭.₮.₱.₲.₴.₸.₹.₺.₼.₽.₾.₿.﷼".split("."),Eze=new Map([[Iu.EN_US,"$"],[Iu.RU_RU,"₽"],[Iu.VI_VN,"₫"],[Iu.ZH_CN,"¥"],[Iu.ZH_TW,"NT$"],[Iu.FR_FR,"€"],[Iu.FA_IR,"﷼"],[Iu.KO_KR,"₩"],[Iu.ES_ES,"€"],[Iu.CA_ES,"€"],[Iu.SK_SK,"€"]]);function Sze(e){switch(e){case Iu.CA_ES:case Iu.ES_ES:case Iu.FR_FR:case Iu.SK_SK:return{icon:"EuroIcon",symbol:Eze.get(e)||"€",locale:e};case Iu.RU_RU:return{icon:"RoubleIcon",symbol:Eze.get(e)||"₽",locale:e};case Iu.ZH_CN:return{icon:"RmbIcon",symbol:Eze.get(e)||"¥",locale:e};case Iu.EN_US:default:return{icon:"DollarIcon",symbol:"$",locale:Iu.EN_US}}}function Aze(e){return Eze.get(e)||"$"}const Ize=[{label:"1930-08-05",suffix:"yyyy-MM-dd"},{label:"1930/08/05",suffix:"yyyy/MM/dd"},{label:"1930年08月05日",suffix:'yyyy"年"MM"月"dd"日"'},{label:"08-05",suffix:"MM-dd"},{label:"8月5日",suffix:'M"月"d"日"'},{label:"13:30:30",suffix:"h:mm:ss"},{label:"13:30",suffix:"h:mm"},{label:"下午01:30",suffix:"A/P hh:mm"},{label:"下午1:30",suffix:"A/P h:mm"},{label:"下午1:30:30",suffix:"A/P h:mm:ss"},{label:"08-05 下午 01:30",suffix:"MM-dd A/P hh:mm"}],Rze=[{label:"(1,235)",suffix:"#,##0_);(#,##0)"},{label:"(1,235) ",suffix:"#,##0_);[Red](#,##0)",color:"red"},{label:"1,234.56",suffix:"#,##0.00_);#,##0.00"},{label:"1,234.56",suffix:"#,##0.00_);[Red]#,##0.00",color:"red"},{label:"-1,234.56",suffix:"#,##0.00_);-#,##0.00"},{label:"-1,234.56",suffix:"#,##0.00_);[Red]-#,##0.00",color:"red"}],xze=[{label:e=>`${e}1,235`,suffix:e=>`"${e}"#,##0.00_);"${e}"#,##0.00`},{label:e=>`${e}1,235`,suffix:e=>`"${e}"#,##0.00_);[Red]"${e}"#,##0.00`,color:"red"},{label:e=>`(${e}1,235)`,suffix:e=>`"${e}"#,##0.00_);("${e}"#,##0.00)`},{label:e=>`(${e}1,235)`,suffix:e=>`"${e}"#,##0.00_);[Red]("${e}"#,##0.00)`,color:"red"},{label:e=>`-${e}1,235`,suffix:e=>`"${e}"#,##0.00_);-"${e}"#,##0.00`},{label:e=>`-${e}1,235`,suffix:e=>`"${e}"#,##0.00_);[Red]-"${e}"#,##0.00`,color:"red"}],Tze=(e,t=0)=>{var r;return e?null==(r=_s(e).maxDecimals)?t:r:t},Nze=e=>Array(Math.min(Math.max(0,Number(e)),30)).fill(0).join(""),Mze=(e,t)=>e.split(";").map(e=>/\.0?/.test(e)?e.replace(/\.0*/g,`${t>0?".":""}${Nze(Number(t||0))}`):/0([^0]?)|0$/.test(e)?e.replace(/0([^0]+)|0$/,`0${t>0?".":""}${Nze(Number(t||0))}$1`):e).join(";"),Oze={id:"sheet.command.numfmt.set.numfmt",type:Bc.COMMAND,handler:(e,t)=>{if(!t)return!1;let r=e.get(Vc),n=e.get(dg),i=e.get(Pg),a=W_e(n,t);if(!a)return!1;let{unitId:o,subUnitId:s,worksheet:l}=a,u=t.values.filter(e=>!!e.pattern),c=t.values.filter(e=>!e.pattern),d=aNe(o,s,u),h={unitId:o,subUnitId:s,ranges:c.map(e=>({startColumn:e.col,startRow:e.row,endColumn:e.col,endRow:e.row}))},m=[],f=[];if(u.length){let t=u.reduce((e,t)=>{wd(t.pattern)&&e.setValue(t.row,t.col,{t:Fu.STRING});let r=l.getCellRaw(t.row,t.col);if(r){let n=j_e(r.v);n!==r.t&&e.setValue(t.row,t.col,{t:n})}return e},new kd).getMatrix(),r=new kd;new kd(t).forValue((e,t)=>{let n=l.getCellRaw(e,t);n?r.setValue(e,t,{t:n.t}):r.setValue(e,t,{t:void 0})}),Object.keys(d.values).forEach(e=>{let t=d.values[e];t.ranges=MEe(t.ranges)}),m.push({id:rNe.id,params:d});let n=tNe(e,d);f.push(...n)}if(c.length){h.ranges=MEe(h.ranges);let t=c.reduce((e,t)=>{let r=l.getCellRaw(t.row,t.col);if(r){let n=j_e(r.v);n!==r.t&&e.setValue(t.row,t.col,{t:n})}return e},new kd).getMatrix(),r=new kd;new kd(t).forValue((e,t)=>{let n=l.getCellRaw(e,t);n?r.setValue(e,t,{t:n.t}):r.setValue(e,t,{t:void 0})}),m.push({id:nNe.id,params:h},{id:Kwe.id,params:{unitId:o,subUnitId:s,cellValue:t}});let n=iNe(e,h);f.push({id:Kwe.id,params:{unitId:o,subUnitId:s,cellValue:r.getMatrix()}},...n)}let g=zc(m,r).result;return g&&i.pushUndoRedo({unitID:o,undoMutations:f,redoMutations:m}),g}},Lze={id:"sheet.command.numfmt.add.decimal.command",type:Bc.COMMAND,handler:async e=>{let t=e.get(Vc),r=e.get(rSe),n=e.get(eNe),i=e.get(dg),a=r.getCurrentSelections();if(!a||!a.length)return!1;let o=W_e(i);if(!o)return!1;let{unitId:s,subUnitId:l}=o,u=0;a.forEach(e=>{Sh.foreach(e.range,(e,t)=>{let r=n.getValue(s,l,e,t);if(!r){let r=o.worksheet.getCellRaw(e,t);if(!u&&r&&r.t===Fu.NUMBER&&r.v){let e=/\.(\d*)$/.exec(String(r.v));if(e){let t=e[1].length;if(!t)return;u=Math.max(u,t)}}return}let i=Tze(r.pattern);u=i>u?i:u})});let c=u+1,d=Mze("0"+(c>0?".0":""),c),h=[];return a.forEach(e=>{Sh.foreach(e.range,(e,t)=>{let r=n.getValue(s,l,e,t);if(Ed(null==r?void 0:r.pattern))h.push({row:e,col:t,pattern:d});else{let n=Tze(r.pattern),i=Mze(r.pattern,n+1);i!==r.pattern&&h.push({row:e,col:t,pattern:i})}})}),!!h.length&&await t.executeCommand(Oze.id,{values:h})}},kze={id:"sheet.command.numfmt.set.currency",type:Bc.COMMAND,handler:async e=>{let t=e.get(Vc),r=e.get(rSe),n=e.get(Cg),i=r.getCurrentSelections();if(!i||!i.length)return!1;let a=[],o=function(e,t=2){let r=t;t>127&&(r=127);let n="";return r>0&&(n=`.${"0".repeat(r)}`),`"${Aze(e)}"#,##0${n}_);[Red]("${Aze(e)}"#,##0${n})`}(Sze(n.getCurrentLocale()).locale);return i.forEach(e=>{Sh.foreach(e.range,(e,t)=>{a.push({row:e,col:t,pattern:o,type:"currency"})})}),await t.executeCommand(Oze.id,{values:a})}},Pze={id:"sheet.command.numfmt.set.percent",type:Bc.COMMAND,handler:async e=>{let t=e.get(Vc),r=e.get(rSe).getCurrentSelections();if(!r||!r.length)return!1;let n=[];return r.forEach(e=>{Sh.foreach(e.range,(e,t)=>{n.push({row:e,col:t,pattern:"0%",type:"percent"})})}),await t.executeCommand(Oze.id,{values:n})}},Dze={id:"sheet.command.numfmt.subtract.decimal.command",type:Bc.COMMAND,handler:async e=>{let t=e.get(Vc),r=e.get(rSe),n=e.get(eNe),i=e.get(dg),a=r.getCurrentSelections();if(!a||!a.length)return!1;let o=W_e(i);if(!o)return!1;let{unitId:s,subUnitId:l}=o,u=0;a.forEach(e=>{Sh.foreach(e.range,(e,t)=>{let r=n.getValue(s,l,e,t);if(!r){let r=o.worksheet.getCellRaw(e,t);if(!u&&r&&r.t===Fu.NUMBER&&r.v){let e=/\.(\d*)$/.exec(String(r.v));if(e){let t=e[1].length;if(!t)return;u=Math.max(u,t)}}return}let i=Tze(r.pattern);u=i>u?i:u})});let c=u-1,d=Mze("0"+(c>0?".0":"."),c),h=[];return a.forEach(e=>{Sh.foreach(e.range,(e,t)=>{let r=n.getValue(s,l,e,t);if(Ed(null==r?void 0:r.pattern))h.push({row:e,col:t,pattern:d});else{let n=Tze(r.pattern);h.push({row:e,col:t,pattern:Mze(r.pattern,n-1)})}})}),await t.executeCommand(Oze.id,{values:h})}},Uze="sheets-numfmt.config";Symbol(Uze);const Bze={},Vze=e=>_s(e).type||"unknown",Fze=(e,t,r="en")=>{try{let n=ps(e,t),i=n?String(n):void 0,a=gs(e,t,{locale:r,throws:!1});return t<0?{result:a,color:i}:{result:a}}catch(t){console.warn("getPatternPreview error:",e,t)}return{result:String(t)}},jze=(e,t,r)=>"General"===e?{result:String(wge(t))}:Fze(e,t,r);function Hze(e){return Hze="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Hze(e)}function Wze(e,t,r){return(t=function(e){var t=function(e){if("object"!=Hze(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=Hze(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Hze(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function zze(e,t){return function(r,n){t(r,n,e)}}function Xze(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}const qze={tl:{size:6,color:"#409f11"}};let Gze=class extends tu{constructor(e,t,r,n,i,a,o){super(),this._instanceService=e,this._sheetInterceptorService=t,this._themeService=r,this._commandService=n,this._numfmtService=i,this._localeService=a,this._configService=o,Wze(this,"_locale$",new Qn("en")),Wze(this,"locale$",this._locale$.asObservable()),this._initInterceptorCellContent()}get locale(){let e=this._locale$.getValue();if(e)return e;switch(this._localeService.getCurrentLocale()){case Iu.FR_FR:return"fr";case Iu.RU_RU:return"ru";case Iu.VI_VN:return"vi";case Iu.ZH_CN:return"zh-CN";case Iu.KO_KR:return"ko";case Iu.ZH_TW:return"zh-TW";case Iu.ES_ES:case Iu.CA_ES:return"es";case Iu.SK_SK:return"sk";case Iu.EN_US:case Iu.FA_IR:default:return"en"}}_initInterceptorCellContent(){let e=new kd;this.disposeWithMe(Ei(this._locale$,this._localeService.currentLocale$).subscribe(()=>{e.reset()})),this.disposeWithMe(this._sheetInterceptorService.intercept(G_e.CELL_CONTENT,{effect:Vl.Value|Vl.Style,handler:(t,r,n)=>{if(!t||void 0===t.v||null===t.v||t.t===Fu.BOOLEAN||t.t===Fu.FORCE_STRING)return n(t);let i,a=r.unitId,o=r.subUnitId;if(null!=t&&t.s){let e=r.workbook.getStyles().get(t.s);null!=e&&e.n&&(i=e.n)}if(i||(i=this._numfmtService.getValue(a,o,r.row,r.col)),Ed(null==i?void 0:i.pattern)||t.t!==Fu.NUMBER&&j_e(t.v,t.t)!==Fu.NUMBER)return n(t);let s=t;var l;if((!t||t===r.rawData)&&(t={...r.rawData}),wd(null==i?void 0:i.pattern))return null!=(l=this._configService.getConfig("sheets-numfmt.config"))&&l.disableTextFormatMark?(t.t=Fu.STRING,n(t)):(t.t=Fu.STRING,t.markers={...null==t?void 0:t.markers,...qze},n(t));let u="",c=e.getValue(r.row,r.col);if(c&&c.parameters===`${s.v}_${null==i?void 0:i.pattern}`)return n({...t,...c.result});let d=jze(null==i?void 0:i.pattern,Number(s.v),this.locale);if(u=d.result,!u)return n(t);let h={v:u,t:Fu.NUMBER};if(d.color){var m;let e=null==(m=this._themeService.getColorFromTheme(`${d.color}.500`))?d.color:m;e&&(h.interceptorStyle={cl:{rgb:e}})}return e.setValue(r.row,r.col,{result:h,parameters:`${s.v}_${null==i?void 0:i.pattern}`}),Object.assign(t,h),n(t)},priority:Y_e.NUMFMT})),this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(t.id===rNe.id){let r=t.params;Object.keys(r.values).forEach(t=>{r.values[t].ranges.forEach(t=>{Sh.foreach(t,(t,r)=>{e.realDeleteValue(t,r)})})})}else if(t.id===Kwe.id){let r=t.params;new kd(r.cellValue).forValue((t,r)=>{e.realDeleteValue(t,r)})}})),this.disposeWithMe(this._instanceService.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET).pipe(aq(e=>{var t;return null==(t=null==e?void 0:e.activeSheet$)?Ai(null):t}),Si(1)).subscribe(()=>e.reset()))}setNumfmtLocal(e){this._locale$.next(e)}};Gze=Xze([zze(0,dg),zze(1,Y(iwe)),zze(2,Y(Lg)),zze(3,Y(Vc)),zze(4,Y(eNe)),zze(5,Y(Cg)),zze(6,Tc)],Gze);let Yze=class extends Rg{constructor(e=Bze,t,r,n){super(),this._config=e,this._injector=t,this._configService=r,this._commandService=n;let{...i}=hr({},Bze,this._config);this._configService.setConfig(Uze,i)}onStarting(){Ml(this._injector,[[Gze]]),Ol(this._injector,[[Gze]]),[Lze,Dze,kze,Pze,Oze].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}};Wze(Yze,"pluginName","SHEET_NUMFMT_PLUGIN"),Wze(Yze,"packageName","@univerjs/sheets-numfmt"),Wze(Yze,"version","0.19.0"),Wze(Yze,"type",Pi.UNIVER_SHEET),Yze=Xze([Tg(ZNe),zze(1,Y(he)),zze(2,Tc),zze(3,Vc)],Yze);const Qze=e=>wze.find(t=>e.includes(t)),Zze=e=>xze.map(t=>({label:t.label(e),value:t.suffix(e),color:t.color})),Kze=()=>Ize.map(e=>({label:e.label,value:e.suffix})),$ze=()=>Rze.map(e=>({label:e.label,value:e.suffix,color:e.color})),Jze={};function eXe(e,t){return function(r,n){t(r,n,e)}}function tXe(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}const rXe="SHEET_NUMFMT_ALERT";let nXe=class extends tu{constructor(e,t,r,n,i,a,o){super(),this._context=e,this._hoverManagerService=t,this._cellAlertManagerService=r,this._localeService=n,this._zenZoneService=i,this._numfmtService=a,this._configService=o,this._init()}_init(){this._initCellAlertPopup(),this._initZenService()}_initCellAlertPopup(){this.disposeWithMe(this._hoverManagerService.currentCell$.pipe(Gn(100)).subscribe(e=>{if(e){let n=e.location,i=this._context.unit,a=i.getActiveSheet();if(!a)return this._hideAlert();let o,s=n.unitId,l=n.subUnitId,u=a.getCell(n.row,n.col);if(null!=u&&u.s){let e=i.getStyles().get(u.s);null!=e&&e.n&&(o=e.n)}if(o||(o=this._numfmtService.getValue(s,l,n.row,n.col)),!o)return void this._hideAlert();if(wd(o.pattern)&&uu.isDefine(null==u?void 0:u.v)&&$d(u.v)){var t,r;if(null!=(t=this._configService.getConfig(Uze))&&t.disableTextFormatAlert)return;let e=this._cellAlertManagerService.currentAlert.get(rXe),i=null==e||null==(r=e.alert)?void 0:r.location;return i&&i.row===n.row&&i.col===n.col&&i.subUnitId===n.subUnitId&&i.unitId===n.unitId?void this._hideAlert():void this._cellAlertManagerService.showAlert({type:ije.ERROR,title:this._localeService.t("info.error"),message:this._localeService.t("info.forceStringInfo"),location:n,width:200,height:74,key:rXe})}}this._hideAlert()}))}_initZenService(){this.disposeWithMe(this._zenZoneService.visible$.subscribe(e=>{e&&this._hideAlert()}))}_hideAlert(){this._cellAlertManagerService.removeAlert(rXe)}};nXe=tXe([eXe(1,Y(yUe)),eXe(2,Y(aje)),eXe(3,Y(Cg)),eXe(4,ote),eXe(5,Y(eNe)),eXe(6,Tc)],nXe);let iXe=class extends tu{constructor(e){super(),this._repeatLastActionService=e,this._initCommandRecording()}_initCommandRecording(){this.disposeWithMe(this._repeatLastActionService.registerRepeatableCommand(Oze.id,(e,t)=>{if(!t)return;let{values:r}=t,n=r.find(e=>e.pattern);if(!n)return;let{pattern:i,type:a}=n,o=[],s=new Set;for(let t of e){let{startRow:e,startColumn:r,endRow:n,endColumn:l}=t;for(let t=e;t<=n;t++)for(let e=r;e<=l;e++){let r=`${t}-${e}`;s.has(r)||(s.add(r),o.push({row:t,col:e,pattern:i,type:a}))}}return{...t,values:o}},ODe.CellStyle))}};iXe=tXe([eXe(0,Y(kDe))],iXe);const aXe={id:"sheet.operation.close.numfmt.panel",type:Bc.OPERATION,handler:()=>!0},oXe={id:"sheet.operation.open.numfmt.panel",type:Bc.OPERATION,handler:e=>(e.get(RXe).openPanel(),!0)},sXe=(0,_q.createContext)([]);let lXe=class{constructor(e){this._localStorageService=e}_getKey(e){return`userHabitController_${e}`}async addHabit(e,t){let r=this._getKey(e);return this._localStorageService.getItem(r).then(e=>{e||this._localStorageService.setItem(r,t)})}markHabit(e,t){let r=this._getKey(e);this._localStorageService.getItem(r).then(e=>{if(e){let n=e.findIndex(e=>e===t);n>-1&&e.splice(n,1),e.unshift(t),this._localStorageService.setItem(r,e)}})}async getHabit(e,t){let r=this._getKey(e),n=await this._localStorageService.getItem(r);if(t&&n){let e=n.map((e,t,r)=>({value:e,priority:r.length-t}));return t.sort((t,r)=>{var n,i;let a=(null==(n=e.find(e=>e.value===t))?void 0:n.priority)||-1;return((null==(i=e.find(e=>e.value===r))?void 0:i.priority)||-1)-a})}return n||[]}deleteHabit(e){this._localStorageService.removeItem(e)}};lXe=tXe([eXe(0,Y(bg))],lXe);const uXe="numfmtCurrency",cXe=e=>!!Qze(e)&&e.startsWith("_("),dXe=e=>{let{defaultPattern:t,action:r,onChange:n}=e,[i,a]=(0,_q.useState)(()=>Tze(t||"",2)),o=(0,_q.useContext)(sXe),[s,l]=(0,_q.useState)(()=>Qze(t)||o[0]),u=(0,_q.useMemo)(()=>o.map(e=>({label:e,value:e})),[]),c=iK(Cg).t;return r.current=()=>Mze(`_("${s}"* #,##0${i>0?".0":""}_)`,i),(0,$Z.jsxs)("div",{children:[(0,$Z.jsxs)("div",{className:"univer-mt-4 univer-flex univer-justify-between",children:[(0,$Z.jsxs)("div",{className:"option",children:[(0,$Z.jsx)("div",{className:"univer-text-sm univer-text-gray-400",children:c("sheet.numfmt.decimalLength")}),(0,$Z.jsx)("div",{className:"univer-mt-2 univer-w-32",children:(0,$Z.jsx)(K9,{value:i,step:1,precision:0,max:20,min:0,onChange:e=>{let t=e||0;a(t),n(Mze(`_("${s}"* #,##0${t>0?".0":""}_)`,t))}})})]}),(0,$Z.jsxs)("div",{className:"option",children:[(0,$Z.jsx)("div",{className:"univer-text-sm univer-text-gray-400",children:c("sheet.numfmt.currencyType")}),(0,$Z.jsx)("div",{className:"univer-mt-2 univer-w-36",children:(0,$Z.jsx)(_5,{options:u,value:s,onChange:e=>{l(e),n(Mze(`_("${e}"* #,##0${i>0?".0":""}_)`,i))}})})]})]}),(0,$Z.jsx)("div",{className:"univer-mt-4 univer-text-sm univer-text-gray-400",children:c("sheet.numfmt.accountingDes")})]})},hXe=e=>!!Qze(e)&&!e.startsWith("_("),mXe=e=>{let t=iK(Cg).t,r=(0,_q.useContext)(sXe),[n,i]=(0,_q.useState)(()=>Qze(e.defaultPattern)||r[0]),[a,o]=(0,_q.useState)(()=>Tze(e.defaultPattern||"",2)),[s,l]=(0,_q.useState)(()=>{var t;let r=Zze(n);return(null==(t=r.find(t=>Sd(t.value,e.defaultPattern)))?void 0:t.value)||r[0].value}),u=(0,_q.useMemo)(()=>Zze(n),[n]),c=(0,_q.useMemo)(()=>r.map(e=>({label:e,value:e})),[r]);return e.action.current=()=>Mze(s,a),(0,$Z.jsxs)("div",{children:[(0,$Z.jsxs)("div",{className:"univer-mt-4 univer-flex univer-justify-between",children:[(0,$Z.jsxs)("div",{className:"option",children:[(0,$Z.jsx)("div",{className:"univer-text-sm univer-text-gray-400",children:t("sheet.numfmt.decimalLength")}),(0,$Z.jsx)("div",{className:"univer-mt-2 univer-w-32",children:(0,$Z.jsx)(K9,{value:a,max:20,min:0,onChange:t=>{o(t||0),e.onChange(Mze(s,t||0))}})})]}),(0,$Z.jsxs)("div",{className:"option",children:[(0,$Z.jsx)("div",{className:"univer-text-sm univer-text-gray-400",children:t("sheet.numfmt.currencyType")}),(0,$Z.jsx)("div",{className:"univer-mt-2 univer-w-36",children:(0,$Z.jsx)(_5,{value:n,options:c,onChange:t=>{if(void 0===t)return;i(t);let r=Zze(t)[0].value;l(r),e.onChange(Mze(r,a))}})})]})]}),(0,$Z.jsx)("div",{className:"label univer-mt-4",children:t("sheet.numfmt.negType")}),(0,$Z.jsx)("div",{className:"univer-mt-2",children:(0,$Z.jsx)(C5,{value:s,options:u,onChange:t=>{void 0!==t&&(l(t),e.onChange(Mze(t,a)))}})}),(0,$Z.jsx)("div",{className:"univer-mt-4 univer-text-sm univer-text-gray-400",children:t("sheet.numfmt.currencyDes")})]})},fXe="customFormat",gXe="numfmt_custom_pattern";function pXe(e){let{defaultPattern:t,action:r,onChange:n}=e,i=iK(lXe),a=iK(bg),o=iK(Cg),[s,l]=(0,_q.useState)(t);r.current=()=>(i.markHabit(fXe,s),a.getItem(gXe).then((e=[])=>{let t=[...new Set([s,...e||[]])].splice(0,10).filter(e=>!!e);a.setItem(gXe,t)}),s);let[u,c]=(0,_q.useState)([]);return(0,_q.useEffect)(()=>{a.getItem(gXe).then(e=>{let t=[...xze.map(e=>e.suffix("$")),...Ize.map(e=>e.suffix),...Rze.map(e=>e.suffix)];t.push(...e||[]),i.addHabit(fXe,[]).finally(()=>{i.getHabit(fXe,t).then(e=>{c([...new Set(e)])})})})},[]),(0,$Z.jsxs)("div",{children:[(0,$Z.jsx)("div",{className:"univer-mt-4 univer-text-sm univer-text-gray-400",children:o.t("sheet.numfmt.customFormat")}),(0,$Z.jsx)(Z9,{placeholder:o.t("sheet.numfmt.customFormat"),onBlur:()=>{n(s)},value:s,onChange:l,className:"univer-mt-2 univer-w-full"}),(0,$Z.jsx)("div",{className:x7("univer-mt-2 univer-max-h-[400px] univer-overflow-auto univer-rounded-lg univer-p-2",V7),children:u.map(e=>(0,$Z.jsxs)("div",{onClick:()=>(e=>{l(e),n(e)})(e),className:"univer-flex univer-cursor-pointer univer-items-center univer-gap-1.5 univer-py-1.5 univer-text-sm",children:[(0,$Z.jsx)("div",{className:"univer-flex univer-w-4 univer-items-center univer-text-primary-600",children:s===e&&(0,$Z.jsx)(XZ,{})}),(0,$Z.jsx)("div",{children:e})]},e))}),(0,$Z.jsx)("div",{className:"univer-mt-3 univer-text-sm univer-text-gray-600 dark:!univer-text-gray-200",children:o.t("sheet.numfmt.customFormatDes")})]})}const vXe=e=>{let t=_s(e);return Kze().map(e=>e.value).includes(e)||["date","datetime","time"].includes(t.type)};function bXe(e){let{onChange:t,defaultPattern:r}=e,n=(0,_q.useMemo)(Kze,[]),i=iK(Cg),[a,o]=(0,_q.useState)(()=>{if(r){let e=n.find(e=>e.value===r);if(e)return e.value}return n[0].value});return e.action.current=()=>a,(0,$Z.jsxs)("div",{children:[(0,$Z.jsx)("div",{className:"univer-mt-4 univer-text-sm univer-text-gray-400",children:i.t("sheet.numfmt.dateType")}),(0,$Z.jsx)("div",{className:"univer-mt-2",children:(0,$Z.jsx)(C5,{value:a,options:n,onChange:e=>{void 0!==e&&(o(e),t(e))}})}),(0,$Z.jsx)("div",{className:"univer-mt-3.5 univer-text-sm/5 univer-text-gray-600 dark:!univer-text-gray-200",children:i.t("sheet.numfmt.dateDes")})]})}const CXe=e=>!e,yXe=e=>{let t=iK(Cg).t;return e.action.current=()=>"",(0,$Z.jsx)("div",{children:(0,$Z.jsx)("div",{className:"univer-mt-3.5 univer-text-sm/5 univer-text-gray-600 dark:!univer-text-gray-200",children:t("sheet.numfmt.generalDes")})})},_Xe=e=>$ze().some(t=>Sd(t.value,e));function wXe(e){let t=iK(Cg),r=(0,_q.useMemo)($ze,[]),[n,i]=(0,_q.useState)(()=>Tze(e.defaultPattern||"",0)),[a,o]=(0,_q.useState)(()=>{let t=r.find(t=>Sd(t.value,e.defaultPattern||""));return(null==t?void 0:t.value)||r[0].value}),s=(0,_q.useMemo)(()=>Mze(a,Number(n||0)),[a,n]),l=(0,_q.useMemo)(()=>!(e=>/\.0?/.test(e)||/0([^0]?)|0$/.test(e))(a),[a]);return e.action.current=()=>s,(0,$Z.jsxs)("div",{children:[(0,$Z.jsx)("div",{className:"univer-mt-4 univer-text-sm univer-text-gray-400",children:t.t("sheet.numfmt.decimalLength")}),(0,$Z.jsx)("div",{className:"univer-mt-2",children:(0,$Z.jsx)(K9,{disabled:l,value:n,max:20,min:0,onChange:t=>{i(t||0),e.onChange(Mze(a,Number(t||0)))}})}),(0,$Z.jsxs)("div",{className:"univer-mt-4 univer-text-sm univer-text-gray-400",children:[" ",t.t("sheet.numfmt.negType")]}),(0,$Z.jsx)("div",{className:"univer-mt-2",children:(0,$Z.jsx)(C5,{onChange:t=>{void 0!==t&&(i(Tze(t,0)),o(t),e.onChange(t))},options:r,value:a})}),(0,$Z.jsx)("div",{className:"univer-mt-3.5 univer-text-sm/5 univer-text-gray-600 dark:!univer-text-gray-200",children:t.t("sheet.numfmt.thousandthPercentileDes")})]})}const EXe=e=>{let{defaultValue:t,defaultPattern:r,row:n,col:i}=e.value,a=iK(Cg),o=(0,_q.useRef)(()=>""),s=a.t,l=(()=>{let e=(0,_q.useRef)([]),[t,r]=(0,_q.useState)({});return(0,_q.useEffect)(()=>{e.current.forEach(e=>{e()}),e.current=[]},[t]),t=>{e.current.push(t),r({})}})(),u=(0,_q.useMemo)(()=>[{label:"sheet.numfmt.general",component:yXe},{label:"sheet.numfmt.accounting",component:dXe},{label:"sheet.numfmt.currency",component:mXe},{label:"sheet.numfmt.date",component:bXe},{label:"sheet.numfmt.thousandthPercentile",component:wXe},{label:"sheet.numfmt.customFormat",component:pXe}].map(e=>({...e,label:s(e.label)})),[]),[c,d]=(0,_q.useState)(v),[h,m]=(0,_q.useState)(()=>`${n}_${i}`),{mark:f,userHabitCurrency:g}=(e=>{let t=iK(lXe),[r,n]=(0,_q.useState)(wze);return(0,_q.useEffect)(()=>{t.addHabit("numfmtCurrency",[]).then(()=>{t.getHabit(uXe,[...wze]).then(t=>{n(t),e&&e()})})},[]),{userHabitCurrency:r,mark:e=>{t.markHabit(uXe,e)}}})(()=>m(`${n}_${i}_userCurrency'`)),p=(0,_q.useMemo)(()=>{var e;return null==(e=u.find(e=>e.label===c))?void 0:e.component},[c]);function v(){return[CXe,cXe,hXe,vXe,_Xe].reduce((e,t,n)=>e||(t(r)?u[n].label:""),"")||u[0].label}let b=u.map(e=>({label:e.label,value:e.label})),C=(0,_q.useCallback)(t=>{e.onChange({type:"change",value:t})},[]),y={onChange:C,defaultValue:t,defaultPattern:r,action:o};return(0,_q.useEffect)(()=>{d(v()),m(`${n}_${i}`)},[n,i]),(0,$Z.jsxs)("div",{className:x7("univer-flex univer-h-full univer-flex-col univer-justify-between univer-overflow-y-auto univer-pb-5",U7),children:[(0,$Z.jsxs)("div",{children:[(0,$Z.jsx)("div",{className:"univer-mt-3.5 univer-text-sm univer-text-gray-400",children:s("sheet.numfmt.numfmtType")}),(0,$Z.jsx)("div",{className:"univer-mt-2",children:(0,$Z.jsx)(_5,{className:"univer-w-full",value:c,options:b,onChange:t=>{d(t),l(()=>e.onChange({type:"change",value:o.current()||""}))}})}),(0,$Z.jsx)("div",{children:p&&(0,$Z.jsx)(sXe.Provider,{value:g,children:(0,_q.createElement)(p,{...y,key:h})})})]}),(0,$Z.jsxs)("div",{className:"univer-mb-5 univer-mt-3.5 univer-flex univer-justify-end",children:[(0,$Z.jsx)(O7,{onClick:()=>{e.onChange({type:"cancel",value:""})},className:"univer-mr-3",children:s("sheet.numfmt.cancel")}),(0,$Z.jsx)(O7,{variant:"primary",onClick:()=>{let t=o.current()||"",r=Qze(t);r&&f(r),e.onChange({type:"confirm",value:t})},children:s("sheet.numfmt.confirm")})]})]})};function SXe(e){return SXe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},SXe(e)}function AXe(e,t,r){return(t=function(e){var t=function(e){if("object"!=SXe(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=SXe(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==SXe(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const IXe="SHEET_NUMFMT_PANEL";let RXe=class extends tu{constructor(e,t,r,n,i,a,o,s,l,u,c){super(),this._sheetInterceptorService=e,this._themeService=t,this._univerInstanceService=r,this._commandService=n,this._selectionManagerService=i,this._renderManagerService=a,this._numfmtService=o,this._componentManager=s,this._sidebarService=l,this._localeService=u,this._sheetsNumfmtCellContentController=c,AXe(this,"_previewPattern",""),AXe(this,"_sidebarDisposable",null),this._initRealTimeRenderingInterceptor(),this._initPanel(),this._initCommands(),this._initCloseListener(),this._commandExecutedListener(),this._initNumfmtLocalChange()}_initNumfmtLocalChange(){this.disposeWithMe(Ei(this._sheetsNumfmtCellContentController.locale$,this._localeService.currentLocale$).subscribe(()=>{this._forceUpdate()}))}openPanel(){var e;let t=this._sidebarService,r=this._selectionManagerService,n=this._commandService,i=this._univerInstanceService,a=this._numfmtService,o=this._localeService,s=((null==(e=r.getCurrentSelections())?void 0:e.map(e=>e.range))||[])[0];if(!s)return!1;let l=i.getCurrentUnitForType(Pi.UNIVER_SHEET),u=l.getActiveSheet();if(!u)return!1;let c=u.getCellRaw(s.startRow,s.startColumn),d=a.getValue(l.getUnitId(),u.getSheetId(),s.startRow,s.startColumn),h="";d&&(h=d.pattern);let m={onChange:e=>{if("change"===e.type)this._previewPattern=e.value,this._forceUpdate();else if("confirm"===e.type){var i;let a=(null==(i=r.getCurrentSelections())?void 0:i.map(e=>e.range))||[],o={values:[]},s=Vze(e.value);a.forEach(t=>{Sh.foreach(t,(t,r)=>{o.values.push({row:t,col:r,pattern:e.value,type:s})})}),n.executeCommand(Oze.id,o),t.close()}else"cancel"===e.type&&t.close()},value:{defaultPattern:h,defaultValue:(null==c?void 0:c.t)===Fu.NUMBER?c.v:12345678,row:s.startRow,col:s.startColumn}};return this._sidebarDisposable=t.open({header:{title:o.t("sheet.numfmt.title")},children:{label:IXe,...m},onClose:()=>{this._forceUpdate(),n.executeCommand(aXe.id)}}),!0}_forceUpdate(e){var t;let r=this._renderManagerService.getRenderById(null==e?this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET).getUnitId():e);null==r||r.with(vLe).reCalculate(),null==r||null==(t=r.mainComponent)||t.makeDirty()}_initCommands(){[oXe,aXe].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initPanel(){this.disposeWithMe(this._componentManager.register(IXe,EXe))}_initRealTimeRenderingInterceptor(){let e=Oi([new Tn(e=>{this._commandService.onCommandExecuted(t=>{t.id===oXe.id&&e.next(!0),t.id===aXe.id&&e.next(!1)})}),this._selectionManagerService.selectionMoveEnd$.pipe(Yn(e=>e?e.map(e=>e.range):[]))]);this.disposeWithMe(Jl(e.pipe(aq(([e,t])=>new Tn(r=>{let n=new eu;return e&&t.length&&r.next({selectionRanges:t,disposableCollection:n}),()=>{n.dispose()}})),Bn(()=>{this._previewPattern=null})).subscribe(({disposableCollection:e,selectionRanges:t})=>{var r;let n=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET);this.openPanel(),e.add(this._sheetInterceptorService.intercept(G_e.CELL_CONTENT,{priority:99,effect:Vl.Value|Vl.Style,handler:(e,r,n)=>{let{row:i,col:a}=r,o=n(e)||{};if(t.find(e=>e.startColumn<=a&&e.endColumn>=a&&e.startRow<=i&&e.endRow>=i)){let e=r.worksheet.getCellRaw(i,a),t=null==e?void 0:e.v,n=null==e?void 0:e.t;if(null==t||n!==Fu.NUMBER||null===this._previewPattern)return o;let l=jze(this._previewPattern,t,this._sheetsNumfmtCellContentController.locale);if(l.color){var s;let e=null==(s=this._themeService.getColorFromTheme(`${l.color}.500`))?l.color:s;return{...o,v:l.result,t:Fu.STRING,s:{cl:{rgb:e}}}}return{...o,v:l.result,t:Fu.STRING}}return o}})),null==(r=this._renderManagerService.getRenderById(n.getUnitId()))||null==(r=r.mainComponent)||r.makeDirty()})))}_commandExecutedListener(){let e=[nNe.id,rNe.id];this.disposeWithMe(new Tn(t=>{let r=this._commandService.onCommandExecuted(r=>{if(e.includes(r.id)){let e=r.params;t.next(e.unitId)}});return()=>r.dispose()}).pipe(Gn(16)).subscribe(e=>this._forceUpdate(e)))}_initCloseListener(){this._univerInstanceService.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET).subscribe(e=>{var t;e||(null==(t=this._sidebarDisposable)||t.dispose(),this._sidebarDisposable=null)})}};RXe=tXe([eXe(0,Y(iwe)),eXe(1,Y(Lg)),eXe(2,dg),eXe(3,Vc),eXe(4,Y(rSe)),eXe(5,kX),eXe(6,eNe),eXe(7,Y(W5)),eXe(8,V5),eXe(9,Y(Cg)),eXe(10,Y(Gze))],RXe);let xXe=class extends tu{constructor(e,t,r,n,i){super(),this._sheetInterceptorService=e,this._numfmtService=t,this._univerInstanceService=r,this._injector=n,this._editorBridgeService=i,AXe(this,"_collectEffectMutation",(()=>{let e=[];return{add:(t,r,n,i,a)=>e.push({unitId:t,subUnitId:r,row:n,col:i,value:a}),getEffects:()=>e,clean:()=>{e=[]}}})()),this._initInterceptorEditorStart(),this._initInterceptorEditorEnd(),this._initInterceptorCommands()}_initInterceptorEditorStart(){this._editorBridgeService&&this.disposeWithMe(Jl(this._sheetInterceptorService.writeCellInterceptor.intercept(twe,{handler:(e,t,r)=>{let n=t.row,i=t.col,a=this._numfmtService.getValue(t.unitId,t.subUnitId,n,i);if(a)switch(Vze(a.pattern)){case"scientific":case"currency":case"grouped":case"number":{let e={...t.worksheet.getCellRaw(n,i)};return(null==e?void 0:e.t)===Fu.NUMBER&&$d(e.v)&&(e.v=wge(Number(e.v))),r&&r(e)}case"percent":{let e={...t.worksheet.getCellRaw(n,i)};return(null==e?void 0:e.t)===Fu.NUMBER&&$d(e.v)&&(e.v=`${wge(100*Number(e.v))}%`),r&&r(e)}default:return r&&r(e)}return r(e)}})))}_initInterceptorEditorEnd(){this.disposeWithMe(Jl(this._sheetInterceptorService.writeCellInterceptor.intercept(rwe,{handler:(e,t,r)=>{var n,i;if(!(null!=e&&e.v||null!=e&&e.p))return r(e);this._collectEffectMutation.clean();let a=this._numfmtService.getValue(t.unitId,t.subUnitId,t.row,t.col),o=t.worksheet.getCellRaw(t.row,t.col);if(wd(null==a?void 0:a.pattern)||e.t===Fu.FORCE_STRING)return r(e);let s=null==(n=e.p)?void 0:n.body,l=null!=e&&null!=(i=e.p)&&null!=(i=i.body)&&i.dataStream?e.p.body.dataStream.replace(/\r\n$/,""):String(e.v),u=xd(l);if(s){if(!function(e){let{textRuns:t=[],paragraphs:r=[],customRanges:n,customBlocks:i=[]}=e,a=["va"];return!(t.some(e=>!(!e.ts||!Object.keys(e.ts).some(e=>a.includes(e))))||r.some(e=>e.bullet)||r.length>=2||null!=n&&n.length||i.length>0)}(s))return r(e);{let{dataStream:t}=s,n=t.replace(/\r\n$/,""),i=Number(n);if(Number.isNaN(i)&&!u)return r(e)}}if(u){if(!u.z&&(null==a||!a.pattern)&&(null==o?void 0:o.t)!==Fu.STRING&&(null==o?void 0:o.t)!==Fu.FORCE_STRING&&Ql(l))return r({...e,p:void 0,v:l,t:Fu.FORCE_STRING});u.z&&(null==a||!a.pattern||Vze(u.z)!==Vze(a.pattern))&&this._collectEffectMutation.add(t.unitId,t.subUnitId,t.row,t.col,{pattern:u.z});let n=wge(Number(u.v),16);return r({...e,p:void 0,v:n,t:Fu.NUMBER})}return r(e)}})))}_initInterceptorCommands(){let e=this;this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations(t){if(t.id===mAe.id){var r;let t=e._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET),n=t.getUnitId(),i=null==(r=t.getActiveSheet())?void 0:r.getSheetId();if(!i)return{redos:[],undos:[]};let a=e._collectEffectMutation.getEffects();if(e._collectEffectMutation.clean(),!a.length)return{redos:[],undos:[]};let o=a.filter(e=>{var t;return!(null==(t=e.value)||!t.pattern)}).map(e=>({row:e.row,col:e.col,pattern:e.value.pattern})),s=a.filter(e=>{var t;return!(null!=(t=e.value)&&t.pattern)}).map(e=>({startRow:e.row,endColumn:e.col,startColumn:e.col,endRow:e.row})),l=[],u=[];if(o.length){let t={id:rNe.id,params:aNe(n,i,o)};l.push(t),u.push(...tNe(e._injector,t.params))}if(s.length){let t={id:nNe.id,params:{unitId:n,subUnitId:i,ranges:s}};l.push(t),u.push(...iNe(e._injector,t.params))}return{redos:l,undos:u.reverse()}}return{redos:[],undos:[]}}}))}dispose(){super.dispose(),this._collectEffectMutation.clean()}};xXe=tXe([eXe(0,Y(iwe)),eXe(1,Y(eNe)),eXe(2,Y(dg)),eXe(3,Y(he)),eXe(4,G(GPe))],xXe);const TXe=e=>[{label:"sheet.numfmt.general",pattern:null},{label:"sheet.numfmt.text",pattern:"@"},"|",{label:"sheet.numfmt.number",pattern:"0"},{label:"sheet.numfmt.percent",pattern:"0.00%"},{label:"sheet.numfmt.scientific",pattern:"0.00E+00"},"|",{label:"sheet.numfmt.accounting",pattern:`"${e}" #,##0.00_);[Red]("${e}"#,##0.00)`},{label:"sheet.numfmt.financialValue",pattern:"#,##0.00;[Red]#,##0.00"},{label:"sheet.numfmt.currency",pattern:`"${e}"#,##0.00_);[Red]("${e}"#,##0.00)`},{label:"sheet.numfmt.roundingCurrency",pattern:`"${e}"#,##0;[Red]"${e}"#,##0`},"|",{label:"sheet.numfmt.date",pattern:"yyyy-mm-dd;@"},{label:"sheet.numfmt.time",pattern:'am/pm h":"mm":"ss'},{label:"sheet.numfmt.dateTime",pattern:"yyyy-m-d am/pm h:mm"},{label:"sheet.numfmt.timeDuration",pattern:"h:mm:ss"},"|",{label:"sheet.numfmt.moreFmt",pattern:""}],NXe="sheet.numfmt.moreNumfmtType",MXe="sheet.numfmt.moreNumfmtType.options";function OXe(e){let{value:t}=e,r=iK(Cg);return(0,$Z.jsx)("span",{className:"univer-text-sm",children:null==t?r.t("sheet.numfmt.general"):t})}function LXe(){let e=iK(Vc),t=iK(Cg),r=iK(O8),n=iK(Gze),i=iK(rSe),a=t=>{let n=i.getCurrentLastSelection();if(!n)return;let a=n.range,o=[];Sh.foreach(a,(e,r)=>{t?o.push({row:e,col:r,pattern:t,type:Vze(t)}):o.push({row:e,col:r})}),e.executeCommand(Oze.id,{values:o}),r.focus()},o=(0,_q.useMemo)(()=>TXe(Eze.get(t.getCurrentLocale())),[t]),s=t=>{if(0===t)a(null);else if(t===o.length-1)e.executeCommand(oXe.id),r.focus();else{let e=o[t];e.pattern&&a(e.pattern)}};return(0,$Z.jsx)("div",{className:"univer-grid univer-gap-1 univer-p-1.5",children:o.map((e,r)=>"|"===e?(0,$Z.jsx)(w5,{},r):(0,$Z.jsxs)("div",{className:"univer-flex univer-h-7 univer-cursor-default univer-items-center univer-justify-between univer-gap-6 univer-rounded univer-px-2 univer-text-sm hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",onClick:()=>s(r),children:[(0,$Z.jsx)("span",{children:t.t(e.label)}),(0,$Z.jsx)("span",{className:"univer-text-xs univer-text-gray-500 dark:!univer-text-gray-400",children:e.pattern?Fze(e.pattern||"",1220,n.locale).result.trim():""})]},r))})}const kXe={[Q8.LAYOUT]:{[oXe.id]:{order:9,menuItemFactory:e=>{let t=e.get(dg),r=e.get(Vc),n=e.get(Cg),i=e.get(rSe),a=[nNe.id,rNe.id],o=dBe(t,"",({workbook:e,worksheet:t})=>new Tn(o=>Ei(i.selectionMoveEnd$,qc(r.onCommandExecuted.bind(r)).pipe(Un(([e])=>a.includes(e.id)))).subscribe(()=>{let r=i.getCurrentSelections();if(r&&r[0]){var a,s;let i=r[0].range,l=i.startRow,u=i.startColumn,c=null==(a=e.getStyles().get(null==(s=t.getCell(l,u))?void 0:s.s))?void 0:a.n,d=null==c?void 0:c.pattern,h=Aze(n.getCurrentLocale()),m=n.t("sheet.numfmt.general");if(Ed(d))return void o.next(m);if(d){let e=TXe(h).filter(e=>"object"==typeof e&&e.pattern).find(e=>Sd(d,e.pattern));m=e&&"object"==typeof e&&e.pattern?n.t(e.label):n.t("sheet.numfmt.moreFmt")}o.next(m)}})));return{label:NXe,id:oXe.id,tooltip:"sheet.numfmt.title",type:lee.SELECTOR,slot:!0,selections:[{label:{name:MXe,hoverable:!1,selectable:!1}}],value$:o,hidden$:X5(e,Pi.UNIVER_SHEET),disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[sAe,JSe],rangeTypes:[SSe]})}}},[Pze.id]:{order:9.1,menuItemFactory:e=>({icon:"PercentIcon",id:Pze.id,title:"sheet.numfmt.percent",tooltip:"sheet.numfmt.percent",type:lee.BUTTON,hidden$:X5(e,Pi.UNIVER_SHEET),disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe,sAe],rangeTypes:[SSe]})})},[kze.id]:{order:9.2,menuItemFactory:e=>({icon:new Tn(t=>{let r=e.get(Cg);return t.next(Sze(r.getCurrentLocale()).icon),r.localeChanged$.subscribe(()=>{t.next(Sze(r.getCurrentLocale()).icon)})}),id:kze.id,title:"sheet.numfmt.currency",tooltip:"sheet.numfmt.currency",type:lee.BUTTON,hidden$:X5(e,Pi.UNIVER_SHEET),disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe,sAe],rangeTypes:[SSe]})})},[Lze.id]:{order:9.3,menuItemFactory:e=>({icon:"AddDigitsIcon",id:Lze.id,title:"sheet.numfmt.addDecimal",tooltip:"sheet.numfmt.addDecimal",type:lee.BUTTON,hidden$:X5(e,Pi.UNIVER_SHEET),disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe,sAe],rangeTypes:[SSe]})})},[Dze.id]:{order:9.4,menuItemFactory:e=>({icon:"ReduceDigitsIcon",id:Dze.id,title:"sheet.numfmt.subtractDecimal",tooltip:"sheet.numfmt.subtractDecimal",type:lee.BUTTON,hidden$:X5(e,Pi.UNIVER_SHEET),disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe,sAe],rangeTypes:[SSe]})})}}};let PXe=class extends tu{constructor(e,t){super(),this._componentManager=e,this._menuManagerService=t,this._initMenu()}_initMenu(){this._menuManagerService.mergeMenu(kXe),[[NXe,OXe],[MXe,LXe]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}};PXe=tXe([eXe(0,Y(W5)),eXe(1,nee)],PXe);let DXe=class extends Rg{constructor(e=Jze,t,r,n){super(),this._config=e,this._injector=t,this._configService=r,this._renderManagerService=n;let{menu:i,...a}=hr({},Jze,this._config);i&&this._configService.setConfig("menu",i,{merge:!0}),this._configService.setConfig("sheets-numfmt-ui.config",a)}onStarting(){Ml(this._injector,[[RXe],[xXe],[lXe],[PXe],[iXe]])}onRendered(){this._registerRenderModules(),Ol(this._injector,[[RXe],[xXe],[PXe],[iXe]])}_registerRenderModules(){[[nXe]].forEach(e=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(Pi.UNIVER_SHEET,e))})}};function UXe(e,t){return function(r,n){t(r,n,e)}}AXe(DXe,"pluginName","SHEET_NUMFMT_UI_PLUGIN"),AXe(DXe,"packageName","@univerjs/sheets-numfmt-ui"),AXe(DXe,"version","0.19.0"),AXe(DXe,"type",Pi.UNIVER_SHEET),DXe=tXe([Tg(FHe,Yze),eXe(1,Y(he)),eXe(2,Tc),eXe(3,kX)],DXe);let BXe=class extends tp{constructor(e,t){super(),this._injector=e,this._httpService=t}get(e,t){return this._httpService.get(e,t)}post(e,t){return this._httpService.post(e,t)}put(e,t){return this._httpService.put(e,t)}delete(e,t){return this._httpService.delete(e,t)}patch(e,t){return this._httpService.patch(e,t)}getSSE(e,t,r){return this._httpService.getSSE(e,t,r)}};function VXe(e){return VXe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},VXe(e)}function FXe(e,t,r){return(t=function(e){var t=function(e){if("object"!=VXe(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=VXe(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==VXe(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function jXe(e,t){return function(r,n){t(r,n,e)}}function HXe(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}BXe=function(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}([UXe(0,Y(he)),UXe(1,Y(R_e))],BXe),yp.extend(class extends yp{getNetwork(){return this._injector.createInstance(BXe)}createSocket(e){let t=this._injector.createInstance(V_e).createSocket(e);if(!t)throw Error("[WebSocketService]: failed to create socket!");return t}});var WXe=class{constructor(){FXe(this,"_definedNameParam",void 0),this._definedNameParam={id:cu(10),unitId:"",name:"",formulaOrRefString:"",localSheetId:ANe}}setName(e){return this._definedNameParam.name=e,this}setFormula(e){return this._definedNameParam.formulaOrRefString=`=${e}`,this}setRef(e){return this._definedNameParam.formulaOrRefString=e,this}setRefByRange(e,t,r,n){return this._definedNameParam.formulaOrRefString=Pme({startRow:e,endRow:e+(null==r?1:r)-1,startColumn:t,endColumn:t+(null==n?1:n)-1}),this}setComment(e){return this._definedNameParam.comment=e,this}setScopeToWorksheet(e){return this._definedNameParam.localSheetId=e.getSheetId(),this}setScopeToWorkbook(){return this._definedNameParam.localSheetId=ANe,this}setHidden(e){return this._definedNameParam.hidden=e,this}build(){return this._definedNameParam}load(e){return this._definedNameParam=e,this}};let zXe=class extends tp{constructor(e,t,r,n,i,a,o,s,l,u){super(),this._definedNameParam=e,this._injector=t,this._commandService=r,this._permissionService=n,this._worksheetProtectionRuleModel=i,this._rangeProtectionRuleModel=a,this._worksheetProtectionPointRuleModel=o,this._authzIoService=s,this._localeService=l,this._definedNamesService=u}_apply(){""===this._definedNameParam.name&&(this._definedNameParam.name=function(e,t,r){let n=r.getDefinedNameMap(e);if(null==n)return t.t("definedName.defaultName")+1;let i=Array.from(Object.values(n)).length+1,a=t.t("definedName.defaultName")+i;if(null==r.getValueByName(e,a))return a;let o=i+1;for(;;){let n=t.t("definedName.defaultName")+o;if(null==r.getValueByName(e,n))return n;o++}}(this._definedNameParam.unitId,this._localeService,this._definedNamesService)),this._commandService.syncExecuteCommand(rTe.id,this._definedNameParam)}getName(){return this._definedNameParam.name}setName(e){this._definedNameParam.name=e,this._apply()}setFormula(e){this._definedNameParam.formulaOrRefString=`=${e}`,this._apply()}setRef(e){this._definedNameParam.formulaOrRefString=e,this._apply()}getFormulaOrRefString(){return this._definedNameParam.formulaOrRefString}setRefByRange(e,t,r,n){this._definedNameParam.formulaOrRefString=Pme({startRow:e,endRow:e+(null==r?1:r)-1,startColumn:t,endColumn:t+(null==n?1:n)-1}),this._apply()}getComment(){return this._definedNameParam.comment}setComment(e){this._definedNameParam.comment=e,this._apply()}setScopeToWorksheet(e){this._definedNameParam.localSheetId=e.getSheetId(),this._apply()}setScopeToWorkbook(){this._definedNameParam.localSheetId=ANe,this._apply()}setHidden(e){this._definedNameParam.hidden=e,this._apply()}delete(){this._commandService.syncExecuteCommand(jxe.id,this._definedNameParam)}getLocalSheetId(){return this._definedNameParam.localSheetId}isWorkbookScope(){return this._definedNameParam.localSheetId===ANe}toBuilder(){let e=this._injector.createInstance(WXe);return e.load(this._definedNameParam),e}};zXe=HXe([jXe(1,Y(he)),jXe(2,Vc),jXe(3,Eg),jXe(4,Y(aRe)),jXe(5,Y(ZEe)),jXe(6,Y(kTe)),jXe(7,Y(vf)),jXe(8,Y(Cg)),jXe(9,Jme)],zXe);let XXe=function(e){return e[e.Reader=0]="Reader",e[e.Editor=1]="Editor",e[e.Owner=2]="Owner",e}({}),qXe=function(e){return e.Edit="WorkbookEdit",e.View="WorkbookView",e.Print="WorkbookPrint",e.Export="WorkbookExport",e.Share="WorkbookShare",e.CopyContent="WorkbookCopy",e.DuplicateFile="WorkbookDuplicate",e.Comment="WorkbookComment",e.ManageCollaborator="WorkbookManageCollaborator",e.CreateSheet="WorkbookCreateSheet",e.DeleteSheet="WorkbookDeleteSheet",e.RenameSheet="WorkbookRenameSheet",e.MoveSheet="WorkbookMoveSheet",e.HideSheet="WorkbookHideSheet",e.ViewHistory="WorkbookViewHistory",e.ManageHistory="WorkbookHistory",e.RecoverHistory="WorkbookRecoverHistory",e.CreateProtection="WorkbookCreateProtect",e.InsertRow="WorkbookInsertRow",e.InsertColumn="WorkbookInsertColumn",e.DeleteRow="WorkbookDeleteRow",e.DeleteColumn="WorkbookDeleteColumn",e.CopySheet="WorkbookCopySheet",e}({}),GXe=function(e){return e.Edit="WorksheetEdit",e.View="WorksheetView",e.Copy="WorksheetCopy",e.SetCellValue="WorksheetSetCellValue",e.SetCellStyle="WorksheetSetCellStyle",e.SetRowStyle="WorksheetSetRowStyle",e.SetColumnStyle="WorksheetSetColumnStyle",e.InsertRow="WorksheetInsertRow",e.InsertColumn="WorksheetInsertColumn",e.DeleteRow="WorksheetDeleteRow",e.DeleteColumn="WorksheetDeleteColumn",e.Sort="WorksheetSort",e.Filter="WorksheetFilter",e.PivotTable="WorksheetPivotTable",e.InsertHyperlink="WorksheetInsertHyperlink",e.EditExtraObject="WorksheetEditExtraObject",e.ManageCollaborator="WorksheetManageCollaborator",e.DeleteProtection="WorksheetDeleteProtection",e.SelectProtectedCells="WorksheetSelectProtectedCells",e.SelectUnProtectedCells="WorksheetSelectUnProtectedCells",e}({}),YXe=function(e){return e.Edit="RangeEdit",e.View="RangeView",e.ManageCollaborator="RangeManageCollaborator",e.Delete="RangeDeleteProtection",e}({}),QXe=class extends tp{constructor(e,t,r,n,i,a,o,s){super(),this._injector=e,this._commandService=t,this._permissionService=r,this._worksheetProtectionRuleModel=n,this._rangeProtectionRuleModel=i,this._worksheetProtectionPointRuleModel=a,this._workbookPermissionService=o,this._authzIoService=s,FXe(this,"permissionPointsDefinition",KNe),FXe(this,"rangeRuleChangedAfterAuth$",void 0),FXe(this,"sheetRuleChangedAfterAuth$",void 0),FXe(this,"unitPermissionInitStateChange$",void 0),this.rangeRuleChangedAfterAuth$=this._rangeProtectionRuleModel.ruleRefresh$,this.sheetRuleChangedAfterAuth$=this._worksheetProtectionRuleModel.ruleRefresh$,this.unitPermissionInitStateChange$=this._workbookPermissionService.unitPermissionInitStateChange$}setWorkbookPermissionPoint(e,t,r){let n=new t(e);this._permissionService.getPermissionPoint(n.id)||this._permissionService.addPermissionPoint(n),this._permissionService.updatePermissionPoint(n.id,r)}checkWorkbookPermissionPoint(e,t){let r=new t(e),n=this._permissionService.getPermissionPoint(r.id);if(n)return n.value}setWorkbookEditPermission(e,t){this.setWorkbookPermissionPoint(e,PSe,t)}async addWorksheetBasePermission(e,t,r){let n=[];if(null!=r&&r.allowedUsers){let t=await this._authzIoService.listCollaborators({objectID:e,unitID:e}),i=new Set(r.allowedUsers);n=t.filter(e=>{var t;return i.has((null==(t=e.subject)?void 0:t.userID)||e.id)}).map(e=>({id:e.id,role:XXe.Editor,subject:e.subject}));let a=new Set(n.map(e=>{var t;return(null==(t=e.subject)?void 0:t.userID)||e.id}));r.allowedUsers.forEach(e=>{a.has(e)||console.error(`User ${e} not found in collaborators list`)})}let i=await this._authzIoService.create({objectType:Bi.Worksheet,worksheetObject:{collaborators:n,unitID:e,strategies:[],name:(null==r?void 0:r.name)||"",scope:void 0}});if(this._commandService.syncExecuteCommand(oRe.id,{unitId:e,subUnitId:t,rule:{permissionId:i,unitType:Bi.Worksheet,unitId:e,subUnitId:t}}))return i}removeWorksheetPermission(e,t){this._commandService.syncExecuteCommand(sRe.id,{unitId:e,subUnitId:t}),[...jTe(),...HTe()].forEach(r=>{let n=new r(e,t);this._permissionService.updatePermissionPoint(n.id,!0)}),this._worksheetProtectionPointRuleModel.deleteRule(e,t)}async setWorksheetPermissionPoint(e,t,r,n){let i,a=this._worksheetProtectionRuleModel.getRule(e,t);if(r===JSe||r===hAe)i=a?a.permissionId:await this.addWorksheetBasePermission(e,t);else{let r=this._worksheetProtectionPointRuleModel.getRule(e,t);r?i=r.permissionId:(i=await this._authzIoService.create({objectType:Bi.Worksheet,worksheetObject:{collaborators:[],unitID:e,strategies:[],name:"",scope:void 0}}),this._commandService.syncExecuteCommand(XTe.id,{unitId:e,subUnitId:t,rule:{unitId:e,subUnitId:t,permissionId:i}}))}let o=new r(e,t);if(this._permissionService.getPermissionPoint(o.id)||this._permissionService.addPermissionPoint(o),i){let t=o.subType;await this._authzIoService.update({objectType:Bi.Worksheet,objectID:i,strategies:[{action:t,role:n?XXe.Owner:XXe.Reader}],unitID:e,share:void 0,name:"",scope:void 0,collaborators:void 0})}return this._permissionService.updatePermissionPoint(o.id,n),i}checkWorksheetPermissionPoint(e,t,r){let n=new r(e,t),i=this._permissionService.getPermissionPoint(n.id);if(i)return i.value}async addRangeBaseProtection(e,t,r,n){let i=[];if(null!=n&&n.allowedUsers){let t=await this._authzIoService.listCollaborators({objectID:e,unitID:e}),r=new Set(n.allowedUsers);i=t.filter(e=>{var t;return r.has((null==(t=e.subject)?void 0:t.userID)||e.id)}).map(e=>({id:e.id,role:XXe.Editor,subject:e.subject}));let a=new Set(i.map(e=>{var t;return(null==(t=e.subject)?void 0:t.userID)||e.id}));n.allowedUsers.forEach(e=>{a.has(e)||console.error(`User ${e} not found in collaborators list`)})}let a=await this._authzIoService.create({objectType:Bi.SelectRange,selectRangeObject:{collaborators:i,unitID:e,name:(null==n?void 0:n.name)||"",scope:void 0}}),o=`ruleId_${cu(6)}`;if(this._rangeProtectionRuleModel.getSubunitRuleList(e,t).some(e=>e.ranges.some(e=>r.some(t=>Oh.intersects(t.getRange(),e)))))throw Error("range protection cannot intersect");let s=this._determineRangeViewState(n),l=this._determineRangeEditState(n),u={unitId:e,subUnitId:t,rules:[{permissionId:a,unitType:Bi.SelectRange,unitId:e,subUnitId:t,ranges:r.map(e=>e.getRange()),id:o,description:null==n?void 0:n.name,viewState:s,editState:l}]};if(this._commandService.syncExecuteCommand($Ee.id,u))return{permissionId:a,ruleId:o}}_determineRangeViewState(e){return!1===(null==e?void 0:e.allowViewByOthers)?YEe.NoOneElseCanView:YEe.OthersCanView}_determineRangeEditState(e){var t;return!0===(null==e?void 0:e.allowEdit)&&null!=e&&null!=(t=e.allowedUsers)&&t.length?QEe.DesignedUserCanEdit:QEe.OnlyMe}removeRangeProtection(e,t,r){this._commandService.syncExecuteCommand(KEe.id,{unitId:e,subUnitId:t,ruleIds:r})&&0===this._rangeProtectionRuleModel.getSubunitRuleList(e,t).length&&(this._worksheetProtectionPointRuleModel.deleteRule(e,t),[...HTe()].forEach(r=>{let n=new r(e,t);this._permissionService.updatePermissionPoint(n.id,n.value)}))}setRangeProtectionPermissionPoint(e,t,r,n,i){let a=new n(e,t,r);this._permissionService.getPermissionPoint(a.id)||this._permissionService.addPermissionPoint(a),this._permissionService.updatePermissionPoint(a.id,i)}setRangeProtectionRanges(e,t,r,n){let i=this._rangeProtectionRuleModel.getRule(e,t,r);if(i){if(this._rangeProtectionRuleModel.getSubunitRuleList(e,t).filter(e=>e.id!==r).some(e=>e.ranges.some(e=>n.some(t=>Oh.intersects(t.getRange(),e)))))throw Error("range protection cannot intersect");this._commandService.syncExecuteCommand(lTe.id,{unitId:e,subUnitId:t,ruleId:r,rule:{...i,ranges:n.map(e=>e.getRange())}})}}getPermissionInfoWithCell(e,t,r,n){let i=zd(r,n),a=this._rangeProtectionRuleModel.getSubunitRuleList(e,t).find(e=>e.ranges.some(e=>Oh.intersects(i,e)));if(a)return{permissionId:a.permissionId,ruleId:a.id}}};var ZXe;QXe=HXe([jXe(0,Y(he)),jXe(1,Vc),jXe(2,Eg),jXe(3,Y(aRe)),jXe(4,Y(ZEe)),jXe(5,Y(kTe)),jXe(6,Y(MNe)),jXe(7,Y(vf))],QXe);let KXe=ZXe=class{constructor(e,t,r,n){this._workbook=e,this._worksheet=t,this._selections=r,this._injector=n}getActiveRange(){let e=this._selections.find(e=>!!e.primary);return e?this._injector.createInstance(mqe,this._workbook,this._worksheet,e.range):null}getActiveRangeList(){return this._selections.map(e=>this._injector.createInstance(mqe,this._workbook,this._worksheet,e.range))}getCurrentCell(){let e=this._selections.find(e=>!!e.primary);return e?e.primary:null}getActiveSheet(){let e=this._injector.createInstance(gqe,this._workbook);return this._injector.createInstance(cqe,e,this._workbook,this._worksheet)}updatePrimaryCell(e){let t=this._injector.get(Vc),r=[],n=!1;for(let{range:t,style:i}of this._selections)Oh.contains(t,e.getRange())?(r.push({range:t,primary:cSe(e.getRange(),this._worksheet),style:i}),n=!0):r.push({range:t,primary:null,style:i});n||(r=[{range:e.getRange(),primary:cSe(e.getRange(),this._worksheet)}]);let i={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),selections:r};return t.syncExecuteCommand(vSe.id,i),new ZXe(this._workbook,this._worksheet,r,this._injector)}getNextDataRange(e){if(!this._selections.find(e=>!!e.primary))return null;let t=((e,t,r)=>{let n,i,a=-1;for(let t=0;t=0?a-1:e.length-1:a+1{switch(n){case Eu.UP:return JNe(e,t,r,i);case Eu.DOWN:return eMe(e,t,r,i);case Eu.LEFT:return tMe(e,t,r,i);case Eu.RIGHT:return rMe(e,t,r,i)}})(n.range,r,l,t);if(!e)return null;let i=f?nMe(e.endRow,e.endColumn,r):nMe(e.startRow,e.startColumn,r);return{startRow:i.startRow,startColumn:i.startColumn,endRow:i.endRow,endColumn:i.endColumn}}let g=f?nMe(s.range.endRow,s.range.endColumn,r):nMe(s.range.startRow,s.range.startColumn,r);return{startRow:g.startRow,startColumn:g.startColumn,endRow:g.endRow,endColumn:g.endColumn}})(this._selections.concat(),e,this._worksheet);return t?this._injector.createInstance(mqe,this._workbook,this._worksheet,t):null}};KXe=ZXe=HXe([jXe(3,Y(he))],KXe);let $Xe=class{constructor(e,t,r,n,i,a,o,s,l){this._unitId=e,this._subUnitId=t,this._ruleId=r,this._permissionId=n,this._ranges=i,this._options=a,this._injector=o,this._commandService=s,this._rangeProtectionRuleModel=l}get id(){return this._ruleId}get ranges(){return this._ranges}get options(){return{...this._options}}async updateRanges(e){if(!e||0===e.length)throw Error("Ranges cannot be empty");let t=this._rangeProtectionRuleModel.getRule(this._unitId,this._subUnitId,this._ruleId);if(!t)throw Error(`Rule ${this._ruleId} not found`);if(this._rangeProtectionRuleModel.getSubunitRuleList(this._unitId,this._subUnitId).filter(e=>e.id!==this._ruleId).some(t=>t.ranges.some(t=>e.some(e=>{let r=e.getRange();return this._rangesIntersect(r,t)}))))throw Error("Range protection cannot intersect with other protection rules");await this._commandService.executeCommand(lTe.id,{unitId:this._unitId,subUnitId:this._subUnitId,ruleId:this._ruleId,rule:{...t,ranges:e.map(e=>e.getRange())}}),this._ranges.length=0,this._ranges.push(...e)}async remove(){await this._commandService.executeCommand(KEe.id,{unitId:this._unitId,subUnitId:this._subUnitId,ruleIds:[this._ruleId]})}_rangesIntersect(e,t){return!(e.endRowt.endRow||e.endColumnt.endColumn)}};$Xe=HXe([jXe(6,Y(he)),jXe(7,Y(Vc)),jXe(8,Y(ZEe))],$Xe);const JXe={[qXe.Edit]:PSe,[qXe.View]:GSe,[qXe.Print]:WSe,[qXe.Export]:DSe,[qXe.Share]:qSe,[qXe.CopyContent]:RSe,[qXe.DuplicateFile]:kSe,[qXe.Comment]:ISe,[qXe.ManageCollaborator]:jSe,[qXe.CreateSheet]:NSe,[qXe.DeleteSheet]:LSe,[qXe.RenameSheet]:XSe,[qXe.MoveSheet]:HSe,[qXe.HideSheet]:USe,[qXe.ViewHistory]:YSe,[qXe.ManageHistory]:BSe,[qXe.RecoverHistory]:zSe,[qXe.CreateProtection]:TSe,[qXe.InsertRow]:FSe,[qXe.InsertColumn]:VSe,[qXe.DeleteRow]:OSe,[qXe.DeleteColumn]:MSe,[qXe.CopySheet]:xSe},eqe={[GXe.Edit]:JSe,[GXe.View]:hAe,[GXe.Copy]:QSe,[GXe.SetCellValue]:lAe,[GXe.SetCellStyle]:sAe,[GXe.SetRowStyle]:cAe,[GXe.SetColumnStyle]:uAe,[GXe.InsertRow]:iAe,[GXe.InsertColumn]:rAe,[GXe.DeleteRow]:$Se,[GXe.DeleteColumn]:ZSe,[GXe.Sort]:dAe,[GXe.Filter]:tAe,[GXe.PivotTable]:oAe,[GXe.InsertHyperlink]:nAe,[GXe.EditExtraObject]:eAe,[GXe.ManageCollaborator]:aAe,[GXe.DeleteProtection]:KSe,[GXe.SelectProtectedCells]:class{constructor(e,t){this.unitId=e,this.subUnitId=t,$_e(this,"value",!0),$_e(this,"type",Bi.Worksheet),$_e(this,"status",wg.INIT),$_e(this,"id",void 0),$_e(this,"subType",Di.SelectProtectedCells),this.id=`${this.type}.${Di.SelectProtectedCells}_${e}_${t}`}},[GXe.SelectUnProtectedCells]:class{constructor(e,t){this.unitId=e,this.subUnitId=t,$_e(this,"value",!0),$_e(this,"type",Bi.Worksheet),$_e(this,"status",wg.INIT),$_e(this,"id",void 0),$_e(this,"subType",Di.SelectUnProtectedCells),this.id=`${this.type}.${Di.SelectUnProtectedCells}_${e}_${t}`}}},tqe={[YXe.Edit]:SSe,[YXe.View]:ASe,[YXe.ManageCollaborator]:DTe,[YXe.Delete]:PTe};let rqe=class{constructor(e,t,r,n,i,a,o,s){this._worksheet=e,this._injector=t,this._permissionService=r,this._authzIoService=n,this._commandService=i,this._rangeProtectionRuleModel=a,this._worksheetProtectionPointModel=o,this._worksheetProtectionRuleModel=s,FXe(this,"_permissionSubject",void 0),FXe(this,"_rangeRulesSubject",void 0),FXe(this,"permission$",void 0),FXe(this,"pointChange$",void 0),FXe(this,"rangeProtectionChange$",void 0),FXe(this,"rangeProtectionRules$",void 0),FXe(this,"_unitId",void 0),FXe(this,"_subUnitId",void 0),FXe(this,"_subscriptions",[]),FXe(this,"_fPermission",void 0),this._unitId=this._worksheet.getWorkbook().getUnitId(),this._subUnitId=this._worksheet.getSheetId(),this._fPermission=this._injector.createInstance(QXe),this._permissionSubject=new Qn(this._buildSnapshot()),this._rangeRulesSubject=new Qn(this._buildRangeProtectionRules()),this.permission$=this._createPermissionStream(),this.pointChange$=this._createPointChangeStream(),this.rangeProtectionChange$=this._createRangeProtectionChangeStream(),this.rangeProtectionRules$=this._createRangeProtectionRulesStream()}_createPermissionStream(){let e=this._permissionService.permissionPointUpdate$.pipe(Un(e=>e.id.includes(this._unitId)&&e.id.includes(this._subUnitId))).subscribe(()=>{this._permissionSubject.next(this._buildSnapshot())});return this._subscriptions.push(e),this._permissionSubject.asObservable().pipe(Zn((e,t)=>JSON.stringify(e)===JSON.stringify(t)),LL({bufferSize:1,refCount:!0}))}_createPointChangeStream(){return this._permissionService.permissionPointUpdate$.pipe(Un(e=>e.id.includes(this._unitId)&&e.id.includes(this._subUnitId)),Yn(e=>{var t,r;let n=this._extractWorksheetPointType(e.id);return n?{point:n,value:null!=(t=e.value)&&t,oldValue:!(null!=(r=e.value)&&r)}:null}),Un(e=>null!==e),LL({bufferSize:1,refCount:!0}))}_createRangeProtectionChangeStream(){return this._rangeProtectionRuleModel.ruleChange$.pipe(Un(e=>e.unitId===this._unitId&&e.subUnitId===this._subUnitId),Yn(e=>{let t=this._buildRangeProtectionRules();return{type:"delete"===e.type?"delete":"set"===e.type?"update":"add",rules:t}}),LL({bufferSize:1,refCount:!0}))}_createRangeProtectionRulesStream(){let e=this._rangeProtectionRuleModel.ruleChange$.pipe(Un(e=>e.unitId===this._unitId&&e.subUnitId===this._subUnitId)).subscribe(()=>{this._rangeRulesSubject.next(this._buildRangeProtectionRules())});return this._subscriptions.push(e),this._rangeRulesSubject.asObservable().pipe(Zn((e,t)=>e.length===t.length&&e.every((e,r)=>e.id===t[r].id)),LL({bufferSize:1,refCount:!0}))}_extractWorksheetPointType(e){for(let[t,r]of Object.entries(eqe))if(new r(this._unitId,this._subUnitId).id===e)return t;return null}_getRuleEditPermission(e){var t;let r=tqe[YXe.Edit];if(!r)return!1;let n=new r(this._unitId,this._subUnitId,e.permissionId),i=this._permissionService.getPermissionPoint(n.id);return null!=(t=null==i?void 0:i.value)&&t}_buildSnapshot(){let e={};for(let t in GXe){let r=GXe[t];e[r]=this.getPoint(r)}return e}_buildRangeProtectionRules(){return this._rangeProtectionRuleModel.getSubunitRuleList(this._unitId,this._subUnitId).map(e=>{let t=e.ranges.map(e=>this._worksheet.getRange(e.startRow,e.startColumn,e.endRow-e.startRow+1,e.endColumn-e.startColumn+1));return this._injector.createInstance($Xe,this._unitId,this._subUnitId,e.id,e.permissionId,t,{name:e.description||"",allowEdit:this._getRuleEditPermission(e)})})}_buildProtectionRule(e){let t=e.ranges.map(e=>this._worksheet.getRange(e)),r={name:e.description||"",allowViewByOthers:e.viewState!==YEe.NoOneElseCanView};return e.editState===QEe.DesignedUserCanEdit?r.allowEdit=!0:r.allowEdit=!1,this._injector.createInstance($Xe,this._unitId,this._subUnitId,e.id,e.permissionId,t,r)}debugCellPermission(e,t){let r=this._fPermission.getPermissionInfoWithCell(this._unitId,this._subUnitId,e,t);if(!r)return;let{ruleId:n}=r,i=this._rangeProtectionRuleModel.getRule(this._unitId,this._subUnitId,n);return i?this._buildProtectionRule(i):void 0}async protect(e){if(this.isProtected())throw Error("Worksheet is already protected. Call unprotect() first.");let t=await this._fPermission.addWorksheetBasePermission(this._unitId,this._subUnitId,e);if(!t)throw Error("Failed to create worksheet protection");return t}async unprotect(){if(!this.isProtected())return;this._fPermission.removeWorksheetPermission(this._unitId,this._subUnitId);let e=this._buildSnapshot();this._permissionSubject.next(e)}isProtected(){return!!this._worksheetProtectionRuleModel.getRule(this._unitId,this._subUnitId)}async setMode(e){let t=this._getModePermissions(e);await this._batchSetPermissionPoints(t)}_getModePermissions(e){let t={};switch(Object.values(GXe).forEach(e=>{t[e]=!1}),e){case"editable":Object.values(GXe).forEach(e=>{t[e]=!0});break;case"readOnly":t[GXe.View]=!0;break;case"filterOnly":t[GXe.View]=!0,t[GXe.Sort]=!0,t[GXe.Filter]=!0}return t}async _batchSetPermissionPoints(e){let t=[];for(let[r,n]of Object.entries(e)){let e=r,i=eqe[e];if(!i)throw Error(`Unknown worksheet permission point: ${e}`);let a=this.getPoint(e);a!==n&&(await this._fPermission.setWorksheetPermissionPoint(this._unitId,this._subUnitId,i,n),t.push({point:e,value:n,oldValue:a}))}if(t.length>0){let e=this._buildSnapshot();this._permissionSubject.next(e)}}async setReadOnly(){await this.setMode("readOnly")}async setEditable(){await this.setMode("editable")}canEdit(){return this.getPoint(GXe.Edit)}canEditCell(e,t){if(!this.canEdit())return!1;let r=this._rangeProtectionRuleModel.getSubunitRuleList(this._unitId,this._subUnitId);for(let n of r)for(let r of n.ranges)if(e>=r.startRow&&e<=r.endRow&&t>=r.startColumn&&t<=r.endColumn)return this._getRuleEditPermission(n);return!0}canViewCell(e,t){return this.getPoint(GXe.View)}async setPoint(e,t){let r=eqe[e];if(!r)throw Error(`Unknown worksheet permission point: ${e}`);if(this.getPoint(e)===t)return;await this._fPermission.setWorksheetPermissionPoint(this._unitId,this._subUnitId,r,t);let n=this._buildSnapshot();this._permissionSubject.next(n)}getPoint(e){var t;let r=eqe[e];if(!r)throw Error(`Unknown worksheet permission point: ${e}`);let n=new r(this._unitId,this._subUnitId),i=this._permissionService.getPermissionPoint(n.id);return null==(t=null==i?void 0:i.value)||t}getSnapshot(){return this._buildSnapshot()}async applyConfig(e){if(e.mode&&await this.setMode(e.mode),e.points)for(let[t,r]of Object.entries(e.points))"boolean"==typeof r&&await this.setPoint(t,r);if(e.rangeProtections&&e.rangeProtections.length>0){let t=e.rangeProtections.map(e=>({ranges:e.rangeRefs.map(e=>this._worksheet.getRange(e)),options:e.options}));await this.protectRanges(t)}}async protectRanges(e){if(!e||0===e.length)throw Error("Configs cannot be empty");let t=[];e.some(e=>{var t;return null==(t=e.options)||null==(t=t.allowedUsers)?void 0:t.length})&&(t=await this._authzIoService.listCollaborators({objectID:this._unitId,unitID:this._unitId}));let r=await Promise.all(e.map(e=>{var r,n;let i=[];if(null!=(r=e.options)&&r.allowedUsers){let r=new Set(e.options.allowedUsers);i=t.filter(e=>{var t;return r.has((null==(t=e.subject)?void 0:t.userID)||e.id)}).map(e=>({id:e.id,role:Ui.Editor,subject:e.subject}));let n=new Set(i.map(e=>{var t;return(null==(t=e.subject)?void 0:t.userID)||e.id}));e.options.allowedUsers.forEach(e=>{n.has(e)||console.error(`User ${e} not found in collaborators list`)})}return this._authzIoService.create({objectType:Bi.SelectRange,selectRangeObject:{collaborators:i,unitID:this._unitId,name:(null==(n=e.options)?void 0:n.name)||"",scope:void 0}})})),n=e.map((e,t)=>{var n;let i=this._determineViewState(e.options),a=this._determineEditState(e.options);return{permissionId:r[t],unitType:Bi.SelectRange,unitId:this._unitId,subUnitId:this._subUnitId,ranges:e.ranges.map(e=>e.getRange()),id:this._rangeProtectionRuleModel.createRuleId(this._unitId,this._subUnitId),description:(null==(n=e.options)?void 0:n.name)||"",viewState:i,editState:a}});if(!await this._commandService.executeCommand($Ee.id,{unitId:this._unitId,subUnitId:this._subUnitId,rules:n}))throw Error("Failed to create range protection rules");return await Promise.all(e.map((e,t)=>this._setPermissionPoints(r[t],e.options))),n.map((t,r)=>this._injector.createInstance($Xe,this._unitId,this._subUnitId,t.id,t.permissionId,e[r].ranges,e[r].options||{}))}_determineViewState(e){return!1===(null==e?void 0:e.allowViewByOthers)?YEe.NoOneElseCanView:YEe.OthersCanView}_determineEditState(e){var t;return!0===(null==e?void 0:e.allowEdit)&&null!=e&&null!=(t=e.allowedUsers)&&t.length?QEe.DesignedUserCanEdit:QEe.OnlyMe}async _setPermissionPoints(e,t){if(!t)return;let r=(e,t)=>void 0===e?t:"boolean"!=typeof e||e;await this._setPermissionPoint(e,YXe.Edit,r(t.allowEdit,!1)),await this._setPermissionPoint(e,YXe.View,r(t.allowViewByOthers,!0))}async _setPermissionPoint(e,t,r){let n=tqe[t];n&&this._fPermission.setRangeProtectionPermissionPoint(this._unitId,this._subUnitId,e,n,r)}async unprotectRules(e){!e||0===e.length||this._fPermission.removeRangeProtection(this._unitId,this._subUnitId,e)}async listRangeProtectionRules(){return this._buildRangeProtectionRules()}subscribe(e){let t=this.permission$.subscribe(e);return()=>t.unsubscribe()}dispose(){this._subscriptions.forEach(e=>e.unsubscribe()),this._permissionSubject.complete(),this._rangeRulesSubject.complete()}};function nqe(e){switch(e){case"left":return Lu.LEFT;case"center":return Lu.CENTER;case"normal":return Lu.RIGHT;default:throw Error(`Invalid horizontal alignment: ${e}`)}}function iqe(e){switch(e){case Lu.LEFT:return"left";case Lu.CENTER:return"center";case Lu.RIGHT:return"normal";default:return"general"}}function aqe(e){switch(e){case"top":return ku.TOP;case"middle":return ku.MIDDLE;case"bottom":return ku.BOTTOM;default:throw Error(`Invalid vertical alignment: ${e}`)}}function oqe(e){switch(e){case ku.TOP:return"top";case ku.MIDDLE:return"middle";case ku.BOTTOM:return"bottom";default:return"general"}}function sqe(e,t){return{startRow:e.startRow,endRow:e.endRow,startColumn:0,endColumn:t.getColumnCount()-1,rangeType:pd.ROW}}function lqe(e,t){return{startRow:0,endRow:t.getRowCount()-1,startColumn:e.startColumn,endColumn:e.endColumn,rangeType:pd.COLUMN}}var uqe;rqe=HXe([jXe(1,Y(he)),jXe(2,Eg),jXe(3,vf),jXe(4,Vc),jXe(5,Y(ZEe)),jXe(6,Y(kTe)),jXe(7,Y(aRe))],rqe);let cqe=uqe=class extends ap{constructor(e,t,r,n,i,a,o){super(n),this._fWorkbook=e,this._workbook=t,this._worksheet=r,this._injector=n,this._selectionManagerService=i,this._logService=a,this._commandService=o,FXe(this,"setActiveSelection",this.setActiveRange)}dispose(){super.dispose(),delete this._fWorkbook,delete this._workbook,delete this._worksheet}getSheet(){return this._worksheet}getInject(){return this._injector}getWorkbook(){return this._workbook}getSheetId(){return this._worksheet.getSheetId()}getSheetName(){return this._worksheet.getName()}getSelection(){let e=this._selectionManagerService.getCurrentSelections();return e?this._injector.createInstance(KXe,this._workbook,this._worksheet,e):null}getDefaultStyle(){return this._worksheet.getDefaultCellStyle()}getRowDefaultStyle(e,t=!1){return t?this._worksheet.getRowStyle(e,t):this._worksheet.getRowStyle(e)}getColumnDefaultStyle(e,t=!1){return t?this._worksheet.getColumnStyle(e,t):this._worksheet.getColumnStyle(e)}setDefaultStyle(e){let t=this._workbook.getUnitId(),r=this._worksheet.getSheetId();return this._commandService.syncExecuteCommand(aEe.id,{unitId:t,subUnitId:r,defaultStyle:e}),this._worksheet.setDefaultCellStyle(e),this}setColumnDefaultStyle(e,t){let r={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),columnData:{[e]:{s:t}}};return this._commandService.syncExecuteCommand(Kxe.id,r),this}setRowDefaultStyle(e,t){let r={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),rowData:{[e]:{s:t}}};return this._commandService.syncExecuteCommand(hTe.id,r),this}getRange(e,t,r,n){let i,a;if("object"==typeof e)i=e,a=this._worksheet;else if("string"==typeof e){let{range:t,sheetName:r}=jme(e),n=r?this._workbook.getSheetBySheetName(r):this._worksheet;if(!n)throw Error("Range not found");a=n,i={...t,unitId:this._workbook.getUnitId(),sheetId:a.getSheetId(),rangeType:pd.NORMAL,startRow:t.rangeType===pd.COLUMN?0:t.startRow,endRow:t.rangeType===pd.COLUMN?a.getMaxRows()-1:t.endRow,startColumn:t.rangeType===pd.ROW?0:t.startColumn,endColumn:t.rangeType===pd.ROW?a.getMaxColumns()-1:t.endColumn}}else{if("number"!=typeof e||void 0===t)throw Error("Invalid range specification");a=this._worksheet,i={startRow:e,endRow:e+(null==r?1:r)-1,startColumn:t,endColumn:t+(null==n?1:n)-1,unitId:this._workbook.getUnitId(),sheetId:this._worksheet.getSheetId()}}return this._injector.createInstance(mqe,this._workbook,a,i)}getMaxColumns(){return this._worksheet.getMaxColumns()}getMaxRows(){return this._worksheet.getMaxRows()}insertRowAfter(e){return this.insertRowsAfter(e,1)}insertRowBefore(e){return this.insertRowsBefore(e,1)}insertRows(e,t=1){return this.insertRowsBefore(e,t)}insertRowsAfter(e,t){let r=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),i=Eu.DOWN,a=e+1,o=e+t,s=this._worksheet.getColumnCount()-1,l=mSe(this._worksheet,a,o,0,s,!0,e);return this._commandService.syncExecuteCommand(IAe.id,{unitId:r,subUnitId:n,direction:i,range:{startRow:a,endRow:o,startColumn:0,endColumn:s},cellValue:l}),this}insertRowsBefore(e,t){let r=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),i=Eu.UP,a=e,o=e+t-1,s=this._worksheet.getColumnCount()-1,l=mSe(this._worksheet,a,o,0,s,!0,e-1);return this._commandService.syncExecuteCommand(IAe.id,{unitId:r,subUnitId:n,direction:i,range:{startRow:a,endRow:o,startColumn:0,endColumn:s},cellValue:l}),this}deleteRow(e){return this.deleteRows(e,1)}deleteRows(e,t){let r={startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return this._commandService.syncExecuteCommand(FAe.id,{range:r,unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}deleteRowsByPoints(e){return Jd(e).reverse().forEach(e=>{this.deleteRows(e[0],e[1]-e[0]+1)}),this}moveRows(e,t){let r=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),i=sqe(e.getRange(),this._worksheet),a=i,o={startRow:t,endRow:t,startColumn:i.startColumn,endColumn:i.endColumn};return this._commandService.syncExecuteCommand(GAe.id,{unitId:r,subUnitId:n,range:i,fromRange:a,toRange:o}),this}hideRow(e){let t=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),n=sqe(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(gTe.id,{unitId:t,subUnitId:r,ranges:[n]}),this}hideRows(e,t=1){let r=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),i={startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1,rangeType:pd.ROW};return this._commandService.syncExecuteCommand(gTe.id,{unitId:r,subUnitId:n,ranges:[i]}),this}unhideRow(e){let t=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),n=sqe(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(mTe.id,{unitId:t,subUnitId:r,ranges:[n]}),this}showRows(e,t=1){let r=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),i={startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1,rangeType:pd.ROW};return this._commandService.syncExecuteCommand(mTe.id,{unitId:r,subUnitId:n,ranges:[i]}),this}setRowHeight(e,t){return this.setRowHeights(e,1,t)}autoFitRow(e,t=Vu.TRUE){let r=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),i=[{startRow:e,endRow:e,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(ARe.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:i[0],value:Pu.WRAP}),this._commandService.syncExecuteCommand(dEe.id,{unitId:r,subUnitId:n,ranges:i,autoHeightInfo:t}),this}setRowHeights(e,t,r){let n=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),a=this._worksheet.getRowManager(),o=[],s=[];for(let n=e;n0&&this._commandService.syncExecuteCommand(ZTe.id,{unitId:n,subUnitId:i,ranges:s,value:r}),o.length>0&&this._commandService.syncExecuteCommand(KTe.id,{unitId:n,subUnitId:i,ranges:o}),this}getRowHeight(e){return this._worksheet.getRowHeight(e)}setRowAutoHeight(e,t){let r=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),i=[{startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(KTe.id,{unitId:r,subUnitId:n,ranges:i}),this}setRangesAutoHeight(e){let t=this._workbook.getUnitId(),r=this._worksheet.getSheetId();return this._commandService.syncExecuteCommand(KTe.id,{unitId:t,subUnitId:r,ranges:e}),this}setRowHeightsForced(e,t,r){let n=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),a=[{startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(ZTe.id,{unitId:n,subUnitId:i,ranges:a,value:r}),this}setRowCustom(e){let t=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),n={};for(let[t,r]of Object.entries(e))n[Number(t)]={custom:r};let i={unitId:t,subUnitId:r,rowData:n};return this._commandService.syncExecuteCommand(hTe.id,i),this}insertColumnAfter(e){return this.insertColumnsAfter(e,1)}insertColumnBefore(e){return this.insertColumnsBefore(e,1)}insertColumns(e,t=1){return this.insertColumnsBefore(e,t)}insertColumnsAfter(e,t){let r=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),i=Eu.RIGHT,a=this._worksheet.getRowCount()-1,o=e+1,s=e+t,l=mSe(this._worksheet,0,a,o,s,!1,e);return this._commandService.syncExecuteCommand(LAe.id,{unitId:r,subUnitId:n,direction:i,range:{startRow:0,endRow:a,startColumn:o,endColumn:s},cellValue:l}),this}insertColumnsBefore(e,t){let r=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),i=Eu.LEFT,a=this._worksheet.getRowCount()-1,o=e,s=e+t-1,l=mSe(this._worksheet,0,a,o,s,!1,e-1);return this._commandService.syncExecuteCommand(LAe.id,{unitId:r,subUnitId:n,direction:i,range:{startRow:0,endRow:a,startColumn:o,endColumn:s},cellValue:l}),this}deleteColumn(e){return this.deleteColumns(e,1)}deleteColumns(e,t){let r={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:e,endColumn:e+t-1};return this._commandService.syncExecuteCommand(WAe.id,{range:r,unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}deleteColumnsByPoints(e){return Jd(e).reverse().forEach(e=>{this.deleteColumns(e[0],e[1]-e[0]+1)}),this}moveColumns(e,t){let r=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),i=lqe(e.getRange(),this._worksheet),a=i,o={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:t,endColumn:t};return this._commandService.syncExecuteCommand(QAe.id,{unitId:r,subUnitId:n,range:i,fromRange:a,toRange:o}),this}hideColumn(e){let t=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),n=lqe(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(eTe.id,{unitId:t,subUnitId:r,ranges:[n]}),this}hideColumns(e,t=1){let r=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),i={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:e,endColumn:e+t-1,rangeType:pd.COLUMN};return this._commandService.syncExecuteCommand(eTe.id,{unitId:r,subUnitId:n,ranges:[i]}),this}unhideColumn(e){let t=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),n=lqe(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand($xe.id,{unitId:t,subUnitId:r,ranges:[n]}),this}showColumns(e,t=1){let r=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),i={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:e,endColumn:e+t-1,rangeType:pd.COLUMN};return this._commandService.syncExecuteCommand($xe.id,{unitId:r,subUnitId:n,ranges:[i]}),this}setColumnWidth(e,t){return this.setColumnWidths(e,1,t)}setColumnWidths(e,t,r){let n=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),a=[{startColumn:e,endColumn:e+t-1,startRow:0,endRow:this._worksheet.getRowCount()-1}];return this._commandService.syncExecuteCommand(ETe.id,{unitId:n,subUnitId:i,ranges:a,value:r}),this}getColumnWidth(e){return this._worksheet.getColumnWidth(e)}setColumnCustom(e){let t=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),n={};for(let[t,r]of Object.entries(e))n[Number(t)]={custom:r};let i={unitId:t,subUnitId:r,columnData:n};return this._commandService.syncExecuteCommand(Kxe.id,i),this}getMergeData(){return this._worksheet.getMergeData().map(e=>this._injector.createInstance(mqe,this._workbook,this._worksheet,e))}getMergedRanges(){return this._worksheet.getSnapshot().mergeData.map(e=>this._injector.createInstance(mqe,this._workbook,this._worksheet,e))}getCellMergeData(e,t){let r=this._worksheet.getMergedCell(e,t);if(r)return this._injector.createInstance(mqe,this._workbook,this._worksheet,r)}getActiveRange(){return this._fWorkbook.getActiveRange()}setActiveRange(e){let{unitId:t,sheetId:r}=e.getRange();if(t!==this._workbook.getUnitId()||r!==this._worksheet.getSheetId())throw Error("Specified range must be part of the sheet.");return this._fWorkbook.setActiveRange(e),this}getActiveCell(){return this._fWorkbook.getActiveCell()}setFreeze(e){return this._logService.warn("setFreeze is deprecated, use setFrozenRows and setFrozenColumns instead"),this._commandService.syncExecuteCommand(aTe.id,{...e,unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()}),this}cancelFreeze(){return this._commandService.syncExecuteCommand(oTe.id,{unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()}),this}getFreeze(){return this._worksheet.getFreeze()}setFrozenColumns(...e){let t=this.getFreeze();if(1===arguments.length){let r=e[0];this.setFreeze({...t,startColumn:r>0?r:-1,xSplit:r})}else if(2===arguments.length){let[r=0,n=0]=e;r>n&&([r,n]=[n,r]),this._commandService.syncExecuteCommand(aTe.id,{startColumn:n+1,xSplit:n-r+1,startRow:t.startRow,ySplit:t.ySplit,unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()})}return this}setFrozenRows(...e){let t=this.getFreeze();if(1===arguments.length){let r=e[0];this.setFreeze({...t,startRow:r>0?r:-1,ySplit:r})}else if(2===arguments.length){let[r=0,n=0]=e;r>n&&([r,n]=[n,r]),this._commandService.syncExecuteCommand(aTe.id,{startRow:n+1,ySplit:n-r+1,startColumn:t.startColumn,xSplit:t.xSplit,unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()})}return this}getFrozenColumns(){let e=this.getFreeze();return-1===e.startColumn?0:e.startColumn}getFrozenRows(){let e=this.getFreeze();return-1===e.startRow?0:e.startRow}getFrozenRowRange(){let e=this._worksheet.getFreeze();return{startRow:e.startRow-e.ySplit,endRow:e.startRow-1}}getFrozenColumnRange(){let e=this._worksheet.getFreeze();return{startColumn:e.startColumn-e.xSplit,endColumn:e.startColumn-1}}hasHiddenGridLines(){return this._worksheet.getConfig().showGridlines===Vu.FALSE}setHiddenGridlines(e){return this._commandService.syncExecuteCommand(lNe.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),showGridlines:e?Vu.FALSE:Vu.TRUE}),this}setGridLinesColor(e){return this._commandService.syncExecuteCommand(sTe.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),color:e}),this}getGridLinesColor(){return this._worksheet.getGridlinesColor()}setTabColor(e){return this._commandService.syncExecuteCommand(bTe.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),value:e}),this}getTabColor(){return this._worksheet.getTabColor()}onCellDataChange(e){return this._injector.get(Vc).onCommandExecuted(t=>{if(t.id===Kwe.id){let r=t.params;r.unitId===this._workbook.getUnitId()&&r.subUnitId===this._worksheet.getSheetId()&&r.cellValue&&e(new kd(r.cellValue))}})}onBeforeCellDataChange(e){return this._injector.get(Vc).beforeCommandExecuted(t=>{if(t.id===Kwe.id){let r=t.params;r.unitId===this._workbook.getUnitId()&&r.subUnitId===this._worksheet.getSheetId()&&r.cellValue&&e(new kd(r.cellValue))}})}hideSheet(){let e=this._injector.get(Vc);if(this._workbook.getSheets().filter(e=>e.isSheetHidden()!==Vu.TRUE).length<=1)throw Error("Cannot hide the only visible sheet");return e.syncExecuteCommand(TTe.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}showSheet(){return this._injector.get(Vc).syncExecuteCommand($Te.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}isSheetHidden(){return this._worksheet.isSheetHidden()===Vu.TRUE}setName(e){return this._commandService.syncExecuteCommand(MTe.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),name:e}),this}activate(){return this._fWorkbook.setActiveSheet(this),this}getIndex(){return this._workbook.getSheetIndex(this._worksheet)}clear(e){if(e&&e.contentsOnly&&!e.formatOnly)return this.clearContents();if(e&&e.formatOnly&&!e.contentsOnly)return this.clearFormats();let t=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),n=this._injector.get(Vc),i={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return n.syncExecuteCommand(aSe.id,{unitId:t,subUnitId:r,ranges:[i],options:e}),this}clearContents(){let e=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),r=this._injector.get(Vc),n={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return r.syncExecuteCommand(wxe.id,{unitId:e,subUnitId:t,ranges:[n]}),this}clearFormats(){let e=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),r=this._injector.get(Vc),n={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return r.syncExecuteCommand(oSe.id,{unitId:e,subUnitId:t,ranges:[n]}),this}getDataRange(){let{startRow:e,endRow:t,startColumn:r,endColumn:n}=this._worksheet.getDataRealRange();return this.getRange(e,r,t-e+1,n-r+1)}getLastColumns(){return this._worksheet.getLastColumnWithContent()}getLastColumn(){return this._worksheet.getLastColumnWithContent()}getLastRows(){return this._worksheet.getLastRowWithContent()}getLastRow(){return this._worksheet.getLastRowWithContent()}equalTo(e){return e instanceof uqe&&this._worksheet.getSheetId()===e.getSheetId()&&this._workbook.getUnitId()===e.getWorkbook().getUnitId()}insertDefinedName(e,t){let r=this._injector.createInstance(WXe).setName(e).setRef(t).build();r.localSheetId=this.getSheetId(),this._fWorkbook.insertDefinedNameBuilder(r)}getDefinedNames(){return this._fWorkbook.getDefinedNames().filter(e=>e.getLocalSheetId()===this.getSheetId())}setCustomMetadata(e){return this._worksheet.setCustomMetadata(e),this}getCustomMetadata(){return this._worksheet.getCustomMetadata()}setRowCustomMetadata(e,t){return this._worksheet.getRowManager().setCustomMetadata(e,t),this}setColumnCustomMetadata(e,t){return this._worksheet.getColumnManager().setCustomMetadata(e,t),this}getRowCustomMetadata(e){return this._worksheet.getRowManager().getCustomMetadata(e)}getColumnCustomMetadata(e){return this._worksheet.getColumnManager().getCustomMetadata(e)}appendRow(e){let t=this._worksheet.getCellMatrix().hasValue(),r=this._worksheet.getLastRowWithContent(),n=this._worksheet.getRowCount(),i=this._worksheet.getColumnCount(),a=t?r+1:r,o=new kd;for(let t=0;tn-1?1:0,insertColumnNums:e.length>i?e.length-i:0,maxRows:n,maxColumns:i}),this}setRowCount(e){return this._commandService.syncExecuteCommand(YTe.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),rowCount:e}),this}setColumnCount(e){return this._commandService.syncExecuteCommand(ATe.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),columnCount:e}),this}getWorksheetPermission(){return this._injector.createInstance(rqe,this)}};cqe=uqe=HXe([jXe(3,Y(he)),jXe(4,Y(rSe)),jXe(5,Y(kc)),jXe(6,Vc)],cqe);let dqe=class{constructor(e,t,r,n,i,a,o,s,l){this._unitId=e,this._subUnitId=t,this._range=r,this._worksheet=n,this._injector=i,this._permissionService=a,this._authzIoService=o,this._commandService=s,this._rangeProtectionRuleModel=l,FXe(this,"_permissionSubject",void 0),FXe(this,"_subscriptions",[]),FXe(this,"_fPermission",void 0),FXe(this,"permission$",void 0),FXe(this,"protectionChange$",void 0),this._fPermission=this._injector.createInstance(QXe),this._permissionSubject=new Qn(this._buildSnapshot()),this.permission$=this._createPermissionStream(),this.protectionChange$=this._createProtectionChangeStream()}_createPermissionStream(){let e=this._permissionService.permissionPointUpdate$.pipe(Un(e=>{let t=e.id;return t.includes(this._unitId)&&t.includes(this._subUnitId)})).subscribe(()=>{this._permissionSubject.next(this._buildSnapshot())});return this._subscriptions.push(e),this._permissionSubject.asObservable().pipe(Zn((e,t)=>JSON.stringify(e)===JSON.stringify(t)),LL({bufferSize:1,refCount:!0}))}_createProtectionChangeStream(){return this._rangeProtectionRuleModel.ruleChange$.pipe(Un(e=>e.unitId===this._unitId&&e.subUnitId===this._subUnitId&&("delete"===e.type||"add"===e.type)&&this._rangeMatches(e.rule)),Yn(e=>(this._permissionSubject.next(this._buildSnapshot()),"delete"===e.type?{type:"unprotected",ruleId:e.rule.id}:{type:"protected",rule:this._createFacadeRule(e.rule)})),LL({bufferSize:1,refCount:!0}))}_rangeMatches(e){let t=this._range.getRange();return e.ranges.some(e=>t.startRow===e.startRow&&t.startColumn===e.startColumn&&t.endRow===e.endRow&&t.endColumn===e.endColumn)}_createFacadeRule(e){let t=e.ranges.map(e=>this._worksheet.getRange(e.startRow,e.startColumn,e.endRow-e.startRow+1,e.endColumn-e.startColumn+1)),r={name:e.description||"",allowViewByOthers:e.viewState!==YEe.NoOneElseCanView,allowEdit:e.editState===QEe.DesignedUserCanEdit};return this._injector.createInstance($Xe,this._unitId,this._subUnitId,e.id,e.permissionId,t,r)}getPoint(e){let t=tqe[e];if(!t)return console.warn(`Unknown permission point: ${e}`),!1;let r=this._getProtectionRule();if(r){let e=new t(this._unitId,this._subUnitId,r.permissionId),n=this._permissionService.getPermissionPoint(e.id);if(n)return n.value}return!0}getSnapshot(){return this._buildSnapshot()}isProtected(){return null!==this._getProtectionRule()}canEdit(){return this.getPoint(YXe.Edit)}canView(){return this.getPoint(YXe.View)}canManageCollaborator(){return this.getPoint(YXe.ManageCollaborator)}canDelete(){return this.getPoint(YXe.Delete)}async setPoint(e,t){let r=tqe[e];if(!r)throw Error(`Unknown permission point: ${e}`);let n=this._getProtectionRule();if(!n)throw Error("Cannot set permission point: No protection rule exists for this range. Call protect() first.");if(this.getPoint(e)===t)return;let i=n.permissionId;this._fPermission.setRangeProtectionPermissionPoint(this._unitId,this._subUnitId,i,r,t),this._permissionSubject.next(this._buildSnapshot())}async protect(e){if(this.isProtected())throw Error("Range is already protected");let t=await this._fPermission.addRangeBaseProtection(this._unitId,this._subUnitId,[this._range],e);if(!t)throw Error("Failed to create range protection");let{permissionId:r,ruleId:n}=t;return await this._setPermissionPoints(r,e),this._injector.createInstance($Xe,this._unitId,this._subUnitId,n,r,[this._range],e||{})}_determineViewState(e){return!1===(null==e?void 0:e.allowViewByOthers)?YEe.NoOneElseCanView:YEe.OthersCanView}_determineEditState(e){var t;return!0===(null==e?void 0:e.allowEdit)&&null!=e&&null!=(t=e.allowedUsers)&&t.length?QEe.DesignedUserCanEdit:QEe.OnlyMe}async _setPermissionPoints(e,t){if(!t)return;let r=(e,t)=>void 0===e?t:"boolean"!=typeof e||e;await this._setPermissionPoint(e,YXe.Edit,r(t.allowEdit,!1)),await this._setPermissionPoint(e,YXe.View,r(t.allowViewByOthers,!0))}async _setPermissionPoint(e,t,r){let n=tqe[t];n&&this._fPermission.setRangeProtectionPermissionPoint(this._unitId,this._subUnitId,e,n,r)}async unprotect(){let e=this._getProtectionRule();if(!e)return;let t=e.id;this._fPermission.removeRangeProtection(this._unitId,this._subUnitId,[t])}async listRules(){return await this._buildProtectionRulesAsync()}subscribe(e){let t=this.permission$.subscribe(e);return()=>t.unsubscribe()}_getProtectionRule(){let e=this._rangeProtectionRuleModel.getSubunitRuleList(this._unitId,this._subUnitId),t=this._range.getRange();for(let r of e)for(let e of r.ranges)if(t.startRow===e.startRow&&t.startColumn===e.startColumn&&t.endRow===e.endRow&&t.endColumn===e.endColumn)return r;return null}_buildProtectionRules(){return this._rangeProtectionRuleModel.getSubunitRuleList(this._unitId,this._subUnitId).map(e=>{let t=e.ranges.map(e=>this._worksheet.getRange(e.startRow,e.startColumn,e.endRow-e.startRow+1,e.endColumn-e.startColumn+1)),r={name:e.description||"",allowViewByOthers:e.viewState!==YEe.NoOneElseCanView};return e.editState===QEe.DesignedUserCanEdit?r.allowEdit=!0:r.allowEdit=!1,this._injector.createInstance($Xe,this._unitId,this._subUnitId,e.id,e.permissionId,t,r)})}async _buildProtectionRulesAsync(){let e=this._rangeProtectionRuleModel.getSubunitRuleList(this._unitId,this._subUnitId);return(await Promise.all(e.map(async e=>{let t=e.ranges.map(e=>this._worksheet.getRange(e.startRow,e.startColumn,e.endRow-e.startRow+1,e.endColumn-e.startColumn+1)),r={name:e.description||"",allowViewByOthers:e.viewState!==YEe.NoOneElseCanView};if(e.editState===QEe.DesignedUserCanEdit)try{r.allowEdit=(await this._authzIoService.listCollaborators({objectID:e.permissionId,unitID:this._unitId})).filter(e=>e.role===Ui.Editor).map(e=>{var t;return(null==(t=e.subject)?void 0:t.userID)||e.id}).length>0}catch(t){console.warn(`Failed to fetch collaborators for rule ${e.id}:`,t),r.allowEdit=!1}else r.allowEdit=!1;return{rule:e,ranges:t,options:r}}))).map(({rule:e,ranges:t,options:r})=>this._injector.createInstance($Xe,this._unitId,this._subUnitId,e.id,e.permissionId,t,r))}_buildSnapshot(){let e={};return Object.values(YXe).forEach(t=>{e[t]=this.getPoint(t)}),e}dispose(){this._subscriptions.forEach(e=>e.unsubscribe()),this._permissionSubject.complete()}};var hqe;dqe=HXe([jXe(4,Y(he)),jXe(5,Y(Eg)),jXe(6,Y(vf)),jXe(7,Y(Vc)),jXe(8,Y(ZEe))],dqe);let mqe=hqe=class extends ap{constructor(e,t,r,n,i,a){super(n),this._workbook=e,this._worksheet=t,this._range=r,this._injector=n,this._commandService=i,this._formulaDataModel=a;let o=this._worksheet.getRowCount(),s=this._worksheet.getColumnCount();if(this._range.startRow<0||this._range.startColumn<0||this._range.endRow>=o||this._range.endColumn>=s)throw Error(`Range is out of bounds. Max rows: ${o}, Max columns: ${s}, Given range: ${JSON.stringify(this._range)}`);this._runInitializers(this._injector,this._workbook,this._worksheet,this._range,this._commandService,this._formulaDataModel)}getUnitId(){return this._workbook.getUnitId()}getSheetName(){return this._worksheet.getName()}getSheetId(){return this._worksheet.getSheetId()}getRange(){return this._range}getRow(){return this._range.startRow}getLastRow(){return this._range.endRow}getColumn(){return this._range.startColumn}getLastColumn(){return this._range.endColumn}getWidth(){return this._range.endColumn-this._range.startColumn+1}getHeight(){return this._range.endRow-this._range.startRow+1}isMerged(){let{startColumn:e,startRow:t,endColumn:r,endRow:n}=this._range;return this._worksheet.getMergedCellRange(t,e,n,r).some(e=>Oh.equals(e,this._range))}getCellStyleData(e="row"){return"cell"===e?this._worksheet.getCellStyle(this._range.startRow,this._range.startColumn):this._worksheet.getComposedCellStyle(this._range.startRow,this._range.startColumn,"row"===e)}getFontFamily(e="row"){var t,r;return null==(t=null==(r=this.getCellStyleData(e))?void 0:r.ff)?null:t}getFontSize(e="row"){var t,r;return null==(t=null==(r=this.getCellStyleData(e))?void 0:r.fs)?null:t}getCellStyle(e="row"){let t=this.getCellStyleData(e);return t?tf.create(t):null}getCellStyles(e="row"){return this.getCellDatas().map((t,r)=>t.map((t,n)=>{if(!t)return null;let i="cell"===e?this._worksheet.getCellStyle(r+this._range.startRow,n+this._range.startColumn):this._worksheet.getComposedCellStyle(r+this._range.startRow,n+this._range.startColumn,"row"===e);return i?tf.create(i):null}))}getValue(e){var t,r;return e?this.getValueAndRichTextValue():null==(t=null==(r=this._worksheet.getCell(this._range.startRow,this._range.startColumn))?void 0:r.v)?null:t}getRawValue(){var e,t;let r=this._worksheet.getCellMatrix().getValue(this._range.startRow,this._range.startColumn);return null!=r&&r.p&&null!=(e=r.p.body)&&e.dataStream?r.p.body.dataStream:null==(t=null==r?void 0:r.v)?null:t}getDisplayValue(){var e,t,r;let n=this._worksheet.getCell(this._range.startRow,this._range.startColumn);return null!=n&&n.p&&null!=(e=n.p.body)&&e.dataStream?n.p.body.dataStream:null==(t=null==n||null==(r=n.v)?void 0:r.toString())?"":t}getValues(e){if(e)return this.getValueAndRichTextValues();let{startRow:t,endRow:r,startColumn:n,endColumn:i}=this._range,a=[];for(let e=t;e<=r;e++){let t=[];for(let r=n;r<=i;r++){var o,s;t.push(null==(o=null==(s=this._worksheet.getCell(e,r))?void 0:s.v)?null:o)}a.push(t)}return a}getRawValues(){let e=this._worksheet.getCellMatrix(),{startRow:t,endRow:r,startColumn:n,endColumn:i}=this._range,a=[];for(let l=t;l<=r;l++){let t=[];for(let r=n;r<=i;r++){var o;let n=e.getValue(l,r);var s;null!=n&&n.p&&null!=(o=n.p.body)&&o.dataStream?t.push(n.p.body.dataStream):t.push(null==(s=null==n?void 0:n.v)?null:s)}a.push(t)}return a}getDisplayValues(){let{startRow:e,endRow:t,startColumn:r,endColumn:n}=this._range,i=[];for(let l=e;l<=t;l++){let e=[];for(let t=r;t<=n;t++){var a;let r=this._worksheet.getCell(l,t);var o,s;null!=r&&r.p&&null!=(a=r.p.body)&&a.dataStream?e.push(r.p.body.dataStream):e.push(null==(o=null==r||null==(s=r.v)?void 0:s.toString())?"":o)}i.push(e)}return i}getCellData(){var e;return null==(e=this._worksheet.getCell(this._range.startRow,this._range.startColumn))?null:e}getCellDatas(){return this.getCellDataGrid()}getCellDataGrid(){let{startRow:e,endRow:t,startColumn:r,endColumn:n}=this._range,i=[];for(let a=e;a<=t;a++){let e=[];for(let t=r;t<=n;t++)e.push(this._worksheet.getCellRaw(a,t));i.push(e)}return i}getRichTextValue(){let e=this.getCellData();return null!=e&&e.p?new sf(e.p):null}getRichTextValues(){return this.getCellDataGrid().map(e=>e.map(e=>null!=e&&e.p?new sf(e.p):null))}getValueAndRichTextValue(){let e=this.getCellData();return null!=e&&e.p?new sf(e.p):null==e?void 0:e.v}getValueAndRichTextValues(){return this.getCellDatas().map(e=>e.map(e=>null!=e&&e.p?new sf(e.p):null==e?void 0:e.v))}getFormula(){var e;return null==(e=this._formulaDataModel.getFormulaStringByCell(this._range.startRow,this._range.startColumn,this._worksheet.getSheetId(),this._workbook.getUnitId()))?"":e}getFormulas(){let e=[],{startRow:t,endRow:r,startColumn:n,endColumn:i}=this._range,a=this._worksheet.getSheetId(),o=this._workbook.getUnitId();for(let s=t;s<=r;s++){let t=[];for(let e=n;e<=i;e++){let r=this._formulaDataModel.getFormulaStringByCell(s,e,a,o);t.push(r||"")}e.push(t)}return e}getWrap(){return this._worksheet.getRange(this._range).getWrap()===Vu.TRUE}getWraps(){let e=this.getCellDatas(),t=this._workbook.getStyles();return e.map(e=>e.map(e=>{var r;return(null==(r=t.getStyleByCell(e))?void 0:r.tb)===Pu.WRAP}))}getWrapStrategy(){return this._worksheet.getRange(this._range).getWrapStrategy()}getHorizontalAlignment(){return iqe(this._worksheet.getRange(this._range).getHorizontalAlignment())}getHorizontalAlignments(){return this._worksheet.getRange(this._range).getHorizontalAlignments().map(e=>e.map(e=>iqe(e)))}getVerticalAlignment(){return oqe(this._worksheet.getRange(this._range).getVerticalAlignment())}getVerticalAlignments(){return this._worksheet.getRange(this._range).getVerticalAlignments().map(e=>e.map(e=>oqe(e)))}setCustomMetaData(e){let t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,customMetadata:{custom:e}};return this._commandService.syncExecuteCommand(dTe.id,t),this}setCustomMetaDatas(e){let t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,customMetadata:e.map(e=>e.map(e=>({custom:e})))};return this._commandService.syncExecuteCommand(dTe.id,t),this}getCustomMetaData(){var e;let t=this.getCellData();return null==(e=null==t?void 0:t.custom)?null:e}getCustomMetaDatas(){return this.getCellDataGrid().map(e=>e.map(e=>{var t;return null==(t=null==e?void 0:e.custom)?null:t}))}setBorder(e,t,r){return this._commandService.syncExecuteCommand(Zxe.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),ranges:[this._range],value:{type:e,style:t,color:r}}),this}getBackground(){var e,t;let r=this.getCellStyle();return null==(e=null==r||null==(t=r.background)?void 0:t.rgb)?vh.bg.rgb:e}getBackgrounds(){return this.getCellStyles().map(e=>e.map(e=>{var t,r;return null==(t=null==e||null==(r=e.background)?void 0:r.rgb)?vh.bg.rgb:t}))}setBackgroundColor(e){return this._commandService.syncExecuteCommand(hRe.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:{type:"bg",value:{rgb:e}}}),this}setBackground(e){return this.setBackgroundColor(e),this}setTextRotation(e){return this._commandService.syncExecuteCommand(IRe.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:e}),this}setValue(e){let t=Xd(e);if(!t)throw Error("Invalid value");return this._commandService.syncExecuteCommand(mAe.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:t}),this}setValueForCell(e){let t=Xd(e);if(!t)throw Error("Invalid value");return this._commandService.syncExecuteCommand(mAe.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:{startColumn:this._range.startColumn,startRow:this._range.startRow,endColumn:this._range.startColumn,endRow:this._range.startRow},value:t}),this}setRichTextValueForCell(e){let t=e instanceof sf?e.getData():e,r={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:{startColumn:this._range.startColumn,startRow:this._range.startRow,endColumn:this._range.startColumn,endRow:this._range.startRow},value:{p:t}};return this._commandService.syncExecuteCommand(mAe.id,r),this}setRichTextValues(e){let t=qd(e.map(e=>e.map(e=>e&&{p:e instanceof sf?e.getData():e})),this._range),r={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:t};return this._commandService.syncExecuteCommand(mAe.id,r),this}setWrap(e){return this._commandService.syncExecuteCommand(ARe.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:e?Pu.WRAP:Pu.UNSPECIFIED}),this}setWrapStrategy(e){return this._commandService.syncExecuteCommand(ARe.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:e}),this}setVerticalAlignment(e){return this._commandService.syncExecuteCommand(ERe.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:aqe(e)}),this}setHorizontalAlignment(e){return this._commandService.syncExecuteCommand(SRe.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:nqe(e)}),this}setValues(e){let t=qd(e,this._range);return this._commandService.syncExecuteCommand(mAe.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:t}),this}setFontWeight(e){let t;if("bold"===e)t=Vu.TRUE;else if("normal"===e)t=Vu.FALSE;else{if(null!==e)throw Error("Invalid fontWeight");t=null}let r={type:"bl",value:t},n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:r};return this._commandService.syncExecuteCommand(hRe.id,n),this}setFontStyle(e){let t;if("italic"===e)t=Vu.TRUE;else if("normal"===e)t=Vu.FALSE;else{if(null!==e)throw Error("Invalid fontStyle");t=null}let r={type:"it",value:t},n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:r};return this._commandService.syncExecuteCommand(hRe.id,n),this}setFontLine(e){if("underline"===e)this._setFontUnderline({s:Vu.TRUE});else if("line-through"===e)this._setFontStrikethrough({s:Vu.TRUE});else if("none"===e)this._setFontUnderline({s:Vu.FALSE}),this._setFontStrikethrough({s:Vu.FALSE});else{if(null!==e)throw Error("Invalid fontLine");this._setFontUnderline(null),this._setFontStrikethrough(null)}return this}_setFontUnderline(e){let t={type:"ul",value:e},r={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};this._commandService.syncExecuteCommand(hRe.id,r)}_setFontStrikethrough(e){let t={type:"st",value:e},r={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};this._commandService.syncExecuteCommand(hRe.id,r)}setFontFamily(e){let t={type:"ff",value:e},r={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};return this._commandService.syncExecuteCommand(hRe.id,r),this}setFontSize(e){let t={type:"fs",value:e},r={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};return this._commandService.syncExecuteCommand(hRe.id,r),this}setFontColor(e){let t={type:"cl",value:null===e?null:{rgb:e}},r={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};return this._commandService.syncExecuteCommand(hRe.id,r),this}merge(e){let t=this._workbook.getUnitId(),r=this._worksheet.getSheetId();return nRe(this._injector,t,r,[this._range],e),this}mergeAcross(e){let t=WIe([this._range],wu.ROWS),r=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return nRe(this._injector,r,n,t,e),this}mergeVertically(e){let t=WIe([this._range],wu.COLUMNS),r=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return nRe(this._injector,r,n,t,e),this}isPartOfMerge(){let{startRow:e,startColumn:t,endRow:r,endColumn:n}=this._range;return this._worksheet.getMergedCellRange(e,t,r,n).length>0}breakApart(){return this._commandService.syncExecuteCommand(YIe.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),ranges:[this._range]}),this}forEach(e){let{startColumn:t,startRow:r,endColumn:n,endRow:i}=this._range;this._worksheet.getMatrixWithMergedCells(r,t,i,n).forValue((t,r,n)=>{e(t,r,n)})}getA1Notation(e,t,r){let n={...this._range,startAbsoluteRefType:t,endAbsoluteRefType:r};return e?Dme(this._worksheet.getName(),n):Pme(n)}activate(){return this._injector.createInstance(gqe,this._workbook).setActiveRange(this),this}activateAsCurrentCell(){let e=this._worksheet.getMergedCell(this._range.startRow,this._range.startColumn);if(e&&Oh.equals(e,this._range)||!e&&this._range.startRow===this._range.endRow&&this._range.startColumn===this._range.endColumn){let e=this._injector.createInstance(gqe,this._workbook).getActiveRange();if(!e||e.getUnitId()!==this.getUnitId()||e.getSheetId()!==this.getSheetId())return this.activate();if(Oh.contains(e.getRange(),this._range)){let t={unitId:this.getUnitId(),subUnitId:this.getSheetId(),selections:[{range:e.getRange(),primary:cSe(this.getRange(),this._worksheet),style:null}]};return this._commandService.syncExecuteCommand(vSe.id,t),this}return this.activate()}throw Error("The range is not a single cell")}splitTextToColumns(e,t,r){this._commandService.syncExecuteCommand(JTe.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,delimiter:t,customDelimiter:r,treatMultipleDelimitersAsOne:e})}useThemeStyle(e){if(null==e){let e=this.getUsedThemeStyle();e&&this.removeThemeStyle(e)}else this._commandService.syncExecuteCommand(uRe.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,themeName:e})}removeThemeStyle(e){this._commandService.syncExecuteCommand(kxe.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,themeName:e})}getUsedThemeStyle(){return this._injector.get(QNe).getAppliedRangeThemeStyle({unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range})}clear(e){return e&&e.contentsOnly&&!e.formatOnly?this.clearContent():e&&e.formatOnly&&!e.contentsOnly?this.clearFormat():(this._commandService.syncExecuteCommand(aSe.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),ranges:[this._range],options:e}),this)}clearContent(){return this._commandService.syncExecuteCommand(wxe.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),ranges:[this._range]}),this}clearFormat(){return this._commandService.syncExecuteCommand(oSe.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),ranges:[this._range]}),this}insertCells(e){e===wu.ROWS?this._commandService.executeCommand(_Ae.id,{range:this._range}):this._commandService.executeCommand(EAe.id,{range:this._range})}deleteCells(e){e===wu.ROWS?this._commandService.executeCommand(CAe.id,{range:this._range}):this._commandService.executeCommand(vAe.id,{range:this._range})}getDataRegion(e){let{startRow:t,startColumn:r,endRow:n,endColumn:i}=this._range,a=this._worksheet.getMaxRows(),o=this._worksheet.getMaxColumns(),s=this._worksheet.getCellMatrix(),l=t,u=r,c=n,d=i;if(e!==wu.COLUMNS){let e=!1,o=!1;for(let l=r;l<=i&&(t>0&&!gd(s.getValue(t-1,l))&&(e=!0),n0&&!gd(s.getValue(l,r-1))&&(e=!0),ie.map(e=>({f:e}))))}getRangePermission(){let e=this._injector.createInstance(cqe,this._injector.createInstance(gqe,this._workbook),this._workbook,this._worksheet);return this._injector.createInstance(dqe,this._workbook.getUnitId(),this._worksheet.getSheetId(),this,e)}autoFill(e,t){let r=this.getRange(),n=e.getRange();if(!Oh.contains(n,r))throw Error("AutoFill target range must contain source range");let{startRow:i,startColumn:a,endRow:o,endColumn:s}=r,{startRow:l,startColumn:u,endRow:c,endColumn:d}=n;if(o-i!==c-l&&s-a!==d-u||o-i===c-l&&a!==u&&s!==d||s-a===d-u&&i!==l&&o!==c)throw Error("AutoFill can only fill in one direction");return this._commandService.executeCommand(vxe.id,{sourceRange:r,targetRange:n,unitId:this.getUnitId(),subUnitId:this.getSheetId(),applyType:t})}};mqe._enableManualInit(),mqe=hqe=HXe([jXe(3,Y(he)),jXe(4,Vc),jXe(5,Y(jfe))],mqe);let fqe=class{constructor(e,t,r,n){this._unitId=e,this._injector=t,this._permissionService=r,this._authzIoService=n,FXe(this,"_permissionSubject",void 0),FXe(this,"_collaboratorChangeSubject",new On),FXe(this,"permission$",void 0),FXe(this,"pointChange$",void 0),FXe(this,"collaboratorChange$",void 0),FXe(this,"_subscriptions",[]),FXe(this,"_fPermission",void 0),this._fPermission=this._injector.createInstance(QXe),this._permissionSubject=new Qn(this._buildSnapshot()),this.permission$=this._createPermissionStream(),this.pointChange$=this._createPointChangeStream(),this.collaboratorChange$=this._collaboratorChangeSubject.asObservable().pipe(LL({bufferSize:1,refCount:!0}))}_createPermissionStream(){let e=this._permissionService.permissionPointUpdate$.pipe(Un(e=>e.id.includes(this._unitId))).subscribe(()=>{this._permissionSubject.next(this._buildSnapshot())});return this._subscriptions.push(e),this._permissionSubject.asObservable().pipe(Zn((e,t)=>JSON.stringify(e)===JSON.stringify(t)),LL({bufferSize:1,refCount:!0}))}_createPointChangeStream(){let e=new Map;for(let t in qXe){let r=qXe[t];e.set(r,this.getPoint(r))}return this._permissionService.permissionPointUpdate$.pipe(Un(e=>e.id.includes(this._unitId)),Yn(t=>{let r=this._extractWorkbookPointType(t.id);if(!r)return null;let n=!!t.value,i=e.get(r);return e.set(r,n),i===n?null:{point:r,value:n,oldValue:i}}),Un(e=>null!==e),LL({bufferSize:1,refCount:!0}))}_extractWorkbookPointType(e){for(let t in qXe){let r=qXe[t],n=JXe[r];if(n&&new n(this._unitId).id===e)return r}return null}_buildSnapshot(){let e={};for(let t in qXe){let r=qXe[t];e[r]=this.getPoint(r)}return e}async setMode(e){let t=this._getModePermissions(e);await this._batchSetPermissionPoints(t)}_getModePermissions(e){let t={};switch(Object.values(qXe).forEach(e=>{t[e]=!1}),e){case"owner":Object.values(qXe).forEach(e=>{t[e]=!0});break;case"editor":t[qXe.Edit]=!0,t[qXe.View]=!0,t[qXe.Print]=!0,t[qXe.Export]=!0,t[qXe.CopyContent]=!0,t[qXe.Comment]=!0,t[qXe.CreateSheet]=!0,t[qXe.DeleteSheet]=!0,t[qXe.RenameSheet]=!0,t[qXe.MoveSheet]=!0,t[qXe.HideSheet]=!0,t[qXe.InsertRow]=!0,t[qXe.InsertColumn]=!0,t[qXe.DeleteRow]=!0,t[qXe.DeleteColumn]=!0,t[qXe.CopySheet]=!0,t[qXe.CreateProtection]=!0;break;case"viewer":t[qXe.View]=!0,t[qXe.Print]=!0;break;case"commenter":t[qXe.View]=!0,t[qXe.Comment]=!0,t[qXe.Print]=!0}return t}async _batchSetPermissionPoints(e){let t=[];for(let[r,n]of Object.entries(e)){let e=r,i=JXe[e];if(!i)throw Error(`Unknown workbook permission point: ${e}`);let a=this.getPoint(e);a!==n&&(this._fPermission.setWorkbookPermissionPoint(this._unitId,i,n),t.push({point:e,value:n,oldValue:a}))}if(t.length>0){let e=this._buildSnapshot();this._permissionSubject.next(e)}}async setReadOnly(){await this.setMode("viewer")}async setEditable(){await this.setMode("editor")}canEdit(){return this.getPoint(qXe.Edit)}async setPoint(e,t){let r=JXe[e];if(!r)throw Error(`Unknown workbook permission point: ${e}`);if(this.getPoint(e)===t)return;this._fPermission.setWorkbookPermissionPoint(this._unitId,r,t);let n=this._buildSnapshot();this._permissionSubject.next(n)}getPoint(e){var t;let r=JXe[e];if(!r)throw Error(`Unknown workbook permission point: ${e}`);let n=new r(this._unitId),i=this._permissionService.getPermissionPoint(n.id);return null==(t=null==i?void 0:i.value)||t}getSnapshot(){return this._buildSnapshot()}async setCollaborators(e){let t=e.map(e=>({id:e.user.userID,subject:e.user,role:e.role}));await this._authzIoService.putCollaborators({objectID:this._unitId,unitID:this._unitId,collaborators:t}),e.forEach(e=>{this._collaboratorChangeSubject.next({type:"add",collaborator:{user:{id:e.user.userID},role:e.role}})})}async addCollaborator(e,t){await this._authzIoService.createCollaborator({objectID:this._unitId,unitID:this._unitId,collaborators:[{id:e.userID,subject:e,role:t}]}),this._collaboratorChangeSubject.next({type:"add",collaborator:{user:{id:e.userID},role:t}})}async updateCollaborator(e,t){await this._authzIoService.updateCollaborator({objectID:this._unitId,unitID:this._unitId,collaborator:{id:e.userID,subject:e,role:t}}),this._collaboratorChangeSubject.next({type:"update",collaborator:{user:{id:e.userID},role:t}})}async removeCollaborator(e){await this._authzIoService.deleteCollaborator({objectID:this._unitId,unitID:this._unitId,collaboratorID:e}),this._collaboratorChangeSubject.next({type:"delete",collaborator:{user:{id:e},role:XXe.Reader}})}async removeCollaborators(e){for(let t of e)await this.removeCollaborator(t)}async listCollaborators(){return(await this._authzIoService.listCollaborators({objectID:this._unitId,unitID:this._unitId})).map(e=>{var t,r;return{user:{id:(null==(t=e.subject)?void 0:t.userID)||e.id,displayName:(null==(r=e.subject)?void 0:r.name)||""},role:e.role}})}subscribe(e){let t=this.permission$.subscribe(e);return()=>t.unsubscribe()}dispose(){this._subscriptions.forEach(e=>e.unsubscribe()),this._permissionSubject.complete(),this._collaboratorChangeSubject.complete()}};fqe=HXe([jXe(1,Y(he)),jXe(2,Eg),jXe(3,vf)],fqe);let gqe=class extends ap{constructor(e,t,r,n,i,a,o,s,l,u){super(t),this._workbook=e,this._injector=t,this._resourceLoaderService=r,this._selectionManagerService=n,this._univerInstanceService=i,this._commandService=a,this._permissionService=o,this._logService=s,this._localeService=l,this._definedNamesService=u,FXe(this,"id",void 0),this.id=this._workbook.getUnitId()}getWorkbook(){return this._workbook}dispose(){super.dispose(),this._workbook=null}getId(){return this.id}getName(){return this._workbook.name}setName(e){return this._commandService.syncExecuteCommand(yTe.id,{unitId:this._workbook.getUnitId(),name:e}),this}save(){return this._resourceLoaderService.saveUnit(this._workbook.getUnitId())}getSnapshot(){return this._logService.warn("use 'save' instead of 'getSnapshot'"),this.save()}getActiveSheet(){let e=this._workbook.getActiveSheet();return this._injector.createInstance(cqe,this,this._workbook,e)}getSheets(){return this._workbook.getSheets().map(e=>this._injector.createInstance(cqe,this,this._workbook,e))}create(e,t,r,n){var i,a,o;let s=ng(uu.deepClone(null==(i=null==n?void 0:n.sheet)?{}:i));s.name=this._workbook.uniqueSheetName(e),s.rowCount=t,s.columnCount=r,s.id=null==n||null==(a=n.sheet)?void 0:a.id;let l=null==(o=null==n?void 0:n.index)?this._workbook.getSheets().length:o;this._commandService.syncExecuteCommand(Dxe.id,{unitId:this.id,index:l,sheet:s}),this._commandService.syncExecuteCommand(fEe.id,{unitId:this.id,subUnitId:this._workbook.getSheets()[l].getSheetId()});let u=this._workbook.getActiveSheet();if(!u)throw Error("No active sheet found");return this._injector.createInstance(cqe,this,this._workbook,u)}getSheetBySheetId(e){let t=this._workbook.getSheetBySheetId(e);return t?this._injector.createInstance(cqe,this,this._workbook,t):null}getSheetByName(e){let t=this._workbook.getSheetBySheetName(e);return t?this._injector.createInstance(cqe,this,this._workbook,t):null}setActiveSheet(e){return this._commandService.syncExecuteCommand(fEe.id,{unitId:this.id,subUnitId:"string"==typeof e?e:e.getSheetId()}),"string"==typeof e?this.getSheetBySheetId(e):e}insertSheet(e,t){var r,n,i;let a=ng(uu.deepClone(null==(r=null==t?void 0:t.sheet)?{}:r));a.name=this._workbook.uniqueSheetName(e),a.id=null==t||null==(n=t.sheet)?void 0:n.id;let o=null==(i=null==t?void 0:t.index)?this._workbook.getSheets().length:i;this._commandService.syncExecuteCommand(Dxe.id,{unitId:this.id,index:o,sheet:a}),this._commandService.syncExecuteCommand(fEe.id,{unitId:this.id,subUnitId:this._workbook.getSheets()[o].getSheetId()});let s=this._workbook.getActiveSheet();if(!s)throw Error("No active sheet found");return this._injector.createInstance(cqe,this,this._workbook,s)}deleteSheet(e){let t=this.id,r="string"==typeof e?e:e.getSheetId();return this._commandService.syncExecuteCommand(Hxe.id,{unitId:t,subUnitId:r})}undo(){return this._univerInstanceService.focusUnit(this.id),this._commandService.syncExecuteCommand(Vg.id),this}redo(){return this._univerInstanceService.focusUnit(this.id),this._commandService.syncExecuteCommand(Fg.id),this}onBeforeCommandExecute(e){return this._commandService.beforeCommandExecuted(t=>{var r;(null==(r=t.params)?void 0:r.unitId)===this.id&&e(t)})}onCommandExecuted(e){return this._commandService.onCommandExecuted(t=>{var r;(null==(r=t.params)?void 0:r.unitId)===this.id&&e(t)})}onSelectionChange(e){return Jl(this._selectionManagerService.selectionMoveEnd$.subscribe(t=>{this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET).getUnitId()===this.id&&(null!=t&&t.length?e(t.map(e=>e.range)):e([]))}))}setEditable(e){let t=new PSe(this._workbook.getUnitId());return this._permissionService.getPermissionPoint(t.id)||this._permissionService.addPermissionPoint(t),this._permissionService.updatePermissionPoint(t.id,e),this}setActiveRange(e){let t=this.getActiveSheet(),r=e.getRange().sheetId||t.getSheetId(),n=r?this._workbook.getSheetBySheetId(r):this._workbook.getActiveSheet(!0);if(!n)throw Error("No active sheet found");n.getSheetId()!==t.getSheetId()&&this.setActiveSheet(this._injector.createInstance(cqe,this,this._workbook,n));let i={unitId:this.getId(),subUnitId:r,selections:[e].map(e=>({range:e.getRange(),primary:cSe(e.getRange(),n),style:null}))};return this._commandService.syncExecuteCommand(vSe.id,i),this}getActiveRange(){let e=this._workbook.getActiveSheet(),t=this._selectionManagerService.getCurrentSelections().find(e=>!!e.primary);return t?this._injector.createInstance(mqe,this._workbook,e,t.range):null}getActiveCell(){let e=this._workbook.getActiveSheet(),t=this._selectionManagerService.getCurrentSelections().find(e=>!!e.primary);if(!t)return null;let r={...t.primary,rangeType:pd.NORMAL};return this._injector.createInstance(mqe,this._workbook,e,r)}deleteActiveSheet(){let e=this.getActiveSheet();return this.deleteSheet(e)}duplicateSheet(e){return this._commandService.syncExecuteCommand(Mxe.id,{unitId:e.getWorkbook().getUnitId(),subUnitId:e.getSheetId()}),this._injector.createInstance(cqe,this,this._workbook,this._workbook.getActiveSheet())}duplicateActiveSheet(){let e=this.getActiveSheet();return this.duplicateSheet(e)}getNumSheets(){return this._workbook.getSheets().length}getLocale(){return this._localeService.getCurrentLocale()}setLocale(e){this._localeService.setLocale(e)}setSpreadsheetLocale(e){return this._localeService.setLocale(e),this}getUrl(){return location.href}moveSheet(e,t){let r=t;return r<0?r=0:r>this._workbook.getSheets().length-1&&(r=this._workbook.getSheets().length-1),this._commandService.syncExecuteCommand(LTe.id,{unitId:e.getWorkbook().getUnitId(),order:r,subUnitId:e.getSheetId()}),this}moveActiveSheet(e){let t=this.getActiveSheet();return this.moveSheet(t,e)}getPermission(){return this._injector.createInstance(QXe)}getWorkbookPermission(){return this._injector.createInstance(fqe,this._workbook.getUnitId())}getDefinedName(e){let t=this._definedNamesService.getValueByName(this.id,e);return t?this._injector.createInstance(zXe,{...t,unitId:this.id}):null}getDefinedNames(){let e=this._definedNamesService.getDefinedNameMap(this.id);return e?Object.values(e).map(e=>this._injector.createInstance(zXe,{...e,unitId:this.id})):[]}insertDefinedName(e,t){let r=this._injector.createInstance(WXe).setName(e).setRef(t).build();return r.localSheetId=ANe,this.insertDefinedNameBuilder(r),this}deleteDefinedName(e){let t=this.getDefinedName(e);return!!t&&(t.delete(),!0)}insertDefinedNameBuilder(e){e.unitId=this.getId(),this._commandService.syncExecuteCommand(rTe.id,e)}updateDefinedNameBuilder(e){this._commandService.syncExecuteCommand(rTe.id,e)}getRegisteredRangeThemes(){return this._injector.get(QNe).getRegisteredRangeThemes()}registerRangeTheme(e){this._commandService.syncExecuteCommand(Fxe.id,{unitId:this.getId(),rangeThemeStyle:e})}unregisterRangeTheme(e){this._commandService.syncExecuteCommand(uNe.id,{unitId:this.getId(),themeName:e})}createRangeThemeStyle(e,t){return new swe(e,t)}setCustomMetadata(e){return this._workbook.setCustomMetadata(e),this}getCustomMetadata(){return this._workbook.getCustomMetadata()}addStyles(e){this._workbook.addStyles(e)}removeStyles(e){this._workbook.removeStyles(e)}};gqe=HXe([jXe(1,Y(he)),jXe(2,Y(Mg)),jXe(3,Y(rSe)),jXe(4,dg),jXe(5,Vc),jXe(6,Eg),jXe(7,kc),jXe(8,Y(Cg)),jXe(9,Jme)],gqe),yp.extend(class extends yp{getCommandSheetTarget(e){var t;let r=e.params;if(!r)return this.getActiveSheet();let n=r.unitId?this.getUniverSheet(r.unitId):null==(t=this.getActiveWorkbook)?void 0:t.call(this);if(!n)return;let i=n.getSheetBySheetId(r.subUnitId||r.sheetId)||n.getActiveSheet();return i?{workbook:n,worksheet:i}:void 0}getSheetTarget(e,t){let r=this.getUniverSheet(e);if(!r)return;let n=r.getSheetBySheetId(t);return n?{workbook:r,worksheet:n}:void 0}_initWorkbookEvent(e){let t=e.get(dg);this.disposeWithMe(this.registerEventHandler(this.Event.WorkbookDisposed,()=>t.unitDisposed$.subscribe(e=>{e.type===Pi.UNIVER_SHEET&&this.fireEvent(this.Event.WorkbookDisposed,{unitId:e.getUnitId(),unitType:e.type,snapshot:e.getSnapshot()})}))),this.disposeWithMe(this.registerEventHandler(this.Event.WorkbookCreated,()=>t.unitAdded$.subscribe(t=>{if(t.type===Pi.UNIVER_SHEET){let r=t,n=e.createInstance(gqe,r);this.fireEvent(this.Event.WorkbookCreated,{unitId:t.getUnitId(),type:t.type,workbook:n,unit:n})}})))}_initialize(e){let t=e.get(dg),r=e.get(Vc);this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetCreate,()=>r.beforeCommandExecuted(e=>{if(e.id===Dxe.id){var t;let{unitId:r,index:n,sheet:i}=e.params||{},a=r?this.getUniverSheet(r):null==(t=this.getActiveWorkbook)?void 0:t.call(this);if(!a)return;let o={workbook:a,index:n,sheet:i};if(this.fireEvent(this.Event.BeforeSheetCreate,o),o.cancel)throw new Pl}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeActiveSheetChange,()=>r.beforeCommandExecuted(e=>{if(e.id===fEe.id){var t;let{subUnitId:r,unitId:n}=e.params,i=n?this.getUniverSheet(n):null==(t=this.getActiveWorkbook)?void 0:t.call(this);if(!i||!r)return;let a=i.getSheetBySheetId(r),o=i.getActiveSheet();if(!a||!o)return;let s={workbook:i,activeSheet:a,oldActiveSheet:o};if(this.fireEvent(this.Event.BeforeActiveSheetChange,s),s.cancel)throw new Pl}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetDelete,()=>r.beforeCommandExecuted(e=>{if(e.id===Hxe.id){let t=this.getCommandSheetTarget(e);if(!t)return;let{workbook:r,worksheet:n}=t,i={workbook:r,worksheet:n};if(this.fireEvent(this.Event.BeforeSheetDelete,i),i.cancel)throw new Pl}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetMove,()=>r.beforeCommandExecuted(e=>{if(e.id===OTe.id){let{fromOrder:t,toOrder:r}=e.params,n=this.getCommandSheetTarget(e);if(!n)return;let i={workbook:n.workbook,worksheet:n.worksheet,newIndex:r,oldIndex:t};if(this.fireEvent(this.Event.BeforeSheetMove,i),i.cancel)throw new Pl}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetNameChange,()=>r.beforeCommandExecuted(e=>{if(e.id===MTe.id){let{name:t}=e.params,r=this.getCommandSheetTarget(e);if(!r)return;let n={workbook:r.workbook,worksheet:r.worksheet,newName:t,oldName:r.worksheet.getSheetName()};if(this.fireEvent(this.Event.BeforeSheetNameChange,n),n.cancel)throw new Pl}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetTabColorChange,()=>r.beforeCommandExecuted(e=>{if(e.id===vTe.id){let{color:t}=e.params,r=this.getCommandSheetTarget(e);if(!r)return;let n={workbook:r.workbook,worksheet:r.worksheet,newColor:t,oldColor:r.worksheet.getTabColor()};if(this.fireEvent(this.Event.BeforeSheetTabColorChange,n),n.cancel)throw new Pl}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetHideChange,()=>r.beforeCommandExecuted(e=>{if(e.id===xTe.id){let{hidden:t}=e.params,r=this.getCommandSheetTarget(e);if(!r)return;let n={workbook:r.workbook,worksheet:r.worksheet,hidden:!!t};if(this.fireEvent(this.Event.BeforeSheetHideChange,n),n.cancel)throw new Pl}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeGridlineColorChange,()=>r.beforeCommandExecuted(e=>{if(e.id===sTe.id){var t;let r=this.getCommandSheetTarget(e);if(!r)return;let n={...r,color:null==(t=e.params)?void 0:t.color};if(this.fireEvent(this.Event.BeforeGridlineColorChange,n),n.cancel)throw new Pl}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeGridlineEnableChange,()=>r.beforeCommandExecuted(e=>{if(e.id===lNe.id){var t,r;let n=this.getCommandSheetTarget(e);if(!n)return;let i=null==(t=null==(r=e.params)?void 0:r.showGridlines)?!n.worksheet.hasHiddenGridLines():t,a={...n,enabled:!!i};if(this.fireEvent(this.Event.BeforeGridlineEnableChange,a),a.cancel)throw new Pl}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetValueChanged,()=>r.onCommandExecuted(e=>{if(bEe.indexOf(e.id)>-1){if(!this.getActiveSheet())return;let r=function(e,t){switch(t.id){case pEe.SET_RANGE_VALUES:{let e=t.params,r=new kd(e.cellValue).getDataRange();return-1===r.endRow?[]:e.cellValue?[{unitId:e.unitId,subUnitId:e.subUnitId,range:r}]:[]}case pEe.MOVE_RANGE:{let e=t.params;return[{unitId:e.unitId,subUnitId:e.from.subUnitId,range:new kd(e.from.value).getRange()},{unitId:e.unitId,subUnitId:e.to.subUnitId,range:new kd(e.to.value).getRange()}]}case pEe.REMOVE_WORKSHEET_MERGE:{let e=t.params;return e.ranges.map(t=>({unitId:e.unitId,subUnitId:e.subUnitId,range:t}))}case pEe.ADD_WORKSHEET_MERGE:{let e=t.params;return e.ranges.map(t=>({unitId:e.unitId,subUnitId:e.subUnitId,range:t}))}case pEe.REORDER_RANGE:{let e=t.params;return[{unitId:e.unitId,subUnitId:e.subUnitId,range:e.range}]}case pEe.SET_WORKSHEET_DEFAULT_STYLE:{let r=W_e(e,t.params);if(!r)return[];let{worksheet:n,unitId:i,subUnitId:a}=r;return[{unitId:i,subUnitId:a,range:{startRow:0,endRow:n.getRowCount()-1,startColumn:0,endColumn:n.getColumnCount()-1}}]}case pEe.SET_ROW_DATA:{let r=W_e(e,t.params);if(!r)return[];let{worksheet:n,unitId:i,subUnitId:a}=r,{rowData:o}=t.params,s=Object.keys(o).map(Number);return 0===s.length?[]:[{unitId:i,subUnitId:a,range:{startRow:Math.min(...s),endRow:Math.max(...s),startColumn:0,endColumn:n.getColumnCount()-1}}]}case pEe.SET_COL_DATA:{let r=W_e(e,t.params);if(!r)return[];let{worksheet:n,unitId:i,subUnitId:a}=r,{columnData:o}=t.params,s=Object.keys(o).map(Number);return 0===s.length?[]:[{unitId:i,subUnitId:a,range:{startRow:0,endRow:n.getRowCount()-1,startColumn:Math.min(...s),endColumn:Math.max(...s)}}]}case pEe.SET_WORKSHEET_RANGE_THEME_STYLE:case pEe.DELETE_WORKSHEET_RANGE_THEME_STYLE:{let e=t.params;return[{unitId:e.unitId,subUnitId:e.subUnitId,range:e.range}]}default:return[]}}(t,e).map(e=>{var t;return null==(t=this.getWorkbook(e.unitId))||null==(t=t.getSheetBySheetId(e.subUnitId))?void 0:t.getRange(e.range)}).filter(Boolean);if(!r.length)return;this.fireEvent(this.Event.SheetValueChanged,{payload:e,effectedRanges:r})}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetCreated,()=>r.onCommandExecuted(e=>{if(e.id===Dxe.id){var t;let{unitId:r}=e.params||{},n=r?this.getUniverSheet(r):null==(t=this.getActiveWorkbook)?void 0:t.call(this);if(!n)return;let i=n.getActiveSheet();if(!i)return;let a={workbook:n,worksheet:i};this.fireEvent(this.Event.SheetCreated,a)}}))),this.disposeWithMe(this.registerEventHandler(this.Event.ActiveSheetChanged,()=>r.onCommandExecuted(e=>{if(e.id===fEe.id){let e=this.getActiveSheet();if(!e)return;let{workbook:t,worksheet:r}=e;this._fireActiveSheetChanged(t,r)}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetDeleted,()=>r.onCommandExecuted(e=>{if(e.id===Hxe.id){var t;let{subUnitId:r,unitId:n}=e.params,i=n?this.getUniverSheet(n):null==(t=this.getActiveWorkbook)?void 0:t.call(this);if(!i||!r)return;this._fireSheetDeleted(i,r)}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetMoved,()=>r.onCommandExecuted(e=>{if(e.id===OTe.id){let{toOrder:t}=e.params,r=this.getCommandSheetTarget(e);if(!r)return;this._fireSheetMoved(r.workbook,r.worksheet,t)}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetNameChanged,()=>r.onCommandExecuted(e=>{if(e.id===MTe.id){let{name:t}=e.params,r=this.getCommandSheetTarget(e);if(!r)return;this._fireSheetNameChanged(r.workbook,r.worksheet,t)}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetTabColorChanged,()=>r.onCommandExecuted(e=>{if(e.id===vTe.id){let{color:t}=e.params,r=this.getCommandSheetTarget(e);if(!r)return;this._fireSheetTabColorChanged(r.workbook,r.worksheet,t)}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetHideChanged,()=>r.onCommandExecuted(e=>{if(e.id===xTe.id){let{hidden:t}=e.params,r=this.getCommandSheetTarget(e);if(!r)return;this._fireSheetHideChanged(r.workbook,r.worksheet,!!t)}}))),this.disposeWithMe(this.registerEventHandler(this.Event.GridlineChanged,()=>r.onCommandExecuted(e=>{if(e.id===sTe.id||e.id===lNe.id){let t=this.getCommandSheetTarget(e);if(!t)return;this.fireEvent(this.Event.GridlineChanged,{...t,enabled:!t.worksheet.hasHiddenGridLines(),color:t.worksheet.getGridLinesColor()})}}))),this._initWorkbookEvent(e)}createUniverSheet(e,t){let r=this._injector.get(dg).createUnit(Pi.UNIVER_SHEET,e,t);return this._injector.createInstance(gqe,r)}createWorkbook(e,t){return this.createUniverSheet(e,t)}getActiveWorkbook(){let e=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET);return e?this._injector.createInstance(gqe,e):null}getActiveUniverSheet(){return this.getActiveWorkbook()}getUniverSheet(e){let t=this._univerInstanceService.getUnit(e,Pi.UNIVER_SHEET);return t?this._injector.createInstance(gqe,t):null}getWorkbook(e){return this.getUniverSheet(e)}getPermission(){return this._injector.createInstance(QXe)}onUniverSheetCreated(e){return Jl(this._univerInstanceService.getTypeOfUnitAdded$(Pi.UNIVER_SHEET).subscribe(t=>{e(this._injector.createInstance(gqe,t))}))}newDefinedName(){return this._injector.createInstance(WXe)}getActiveSheet(){let e=this.getActiveWorkbook();if(!e)return null;let t=e.getActiveSheet();return t?{workbook:e,worksheet:t}:null}setFreezeSync(e){this._injector.get(TNe).setEnabled(e)}_fireActiveSheetChanged(e,t){this.fireEvent(this.Event.ActiveSheetChanged,{workbook:e,activeSheet:t})}_fireSheetDeleted(e,t){this.fireEvent(this.Event.SheetDeleted,{workbook:e,sheetId:t})}_fireSheetMoved(e,t,r){this.fireEvent(this.Event.SheetMoved,{workbook:e,worksheet:t,newIndex:r})}_fireSheetNameChanged(e,t,r){this.fireEvent(this.Event.SheetNameChanged,{workbook:e,worksheet:t,newName:r})}_fireSheetTabColorChanged(e,t,r){this.fireEvent(this.Event.SheetTabColorChanged,{workbook:e,worksheet:t,newColor:r})}_fireSheetHideChanged(e,t,r){this.fireEvent(this.Event.SheetHideChanged,{workbook:e,worksheet:t,hidden:r})}}),dp.extend(class{get SheetValueChangeType(){return pEe}get SheetSkeletonChangeType(){return gEe}get SplitDelimiterType(){return UEe}get UnitRole(){return XXe}get WorkbookPermissionPoint(){return qXe}get WorksheetPermissionPoint(){return GXe}get RangePermissionPoint(){return YXe}});var pqe=class{get SheetCreated(){return"SheetCreated"}get BeforeSheetCreate(){return"BeforeSheetCreate"}get WorkbookCreated(){return"WorkbookCreated"}get WorkbookDisposed(){return"WorkbookDisposed"}get GridlineChanged(){return"GridlineChanged"}get BeforeGridlineEnableChange(){return"BeforeGridlineEnableChange"}get BeforeGridlineColorChange(){return"BeforeGridlineColorChange"}get BeforeActiveSheetChange(){return"BeforeActiveSheetChange"}get ActiveSheetChanged(){return"ActiveSheetChanged"}get SheetDeleted(){return"SheetDeleted"}get BeforeSheetDelete(){return"BeforeSheetDelete"}get SheetMoved(){return"SheetMoved"}get BeforeSheetMove(){return"BeforeSheetMove"}get SheetNameChanged(){return"SheetNameChanged"}get BeforeSheetNameChange(){return"BeforeSheetNameChange"}get SheetTabColorChanged(){return"SheetTabColorChanged"}get BeforeSheetTabColorChange(){return"BeforeSheetTabColorChange"}get SheetHideChanged(){return"SheetHideChanged"}get BeforeSheetHideChange(){return"BeforeSheetHideChange"}get SheetValueChanged(){return"SheetValueChanged"}};hp.extend(pqe);let vqe=class extends tp{constructor(e){super(),this._injector=e}};function bqe(e){return bqe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},bqe(e)}function Cqe(e,t,r){return(t=function(e){var t=function(e){if("object"!=bqe(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=bqe(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==bqe(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function yqe(e,t){return function(r,n){t(r,n,e)}}function _qe(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}vqe=HXe([jXe(0,Y(he))],vqe);var wqe=class extends tp{appendTo(e){let t="string"==typeof e?e.split("|"):e,r=t.length,n={},i=n,a=this.__getSchema();t.forEach((e,t)=>{i[e]=t===r-1?a:{},i=i[e]}),this._menuManagerService.mergeMenu(n)}};let Eqe=class extends wqe{constructor(e,t,r,n){super(),this._item=e,this._injector=t,this._commandService=r,this._menuManagerService=n,Cqe(this,"_commandToRegister",new Map),Cqe(this,"_buildingSchema",void 0);let i="string"==typeof e.action?e.action:cu(12);i!==e.action&&this._commandToRegister.set(i,e.action),this._buildingSchema={menuItemFactory:()=>({id:e.id,type:lee.BUTTON,icon:e.icon,title:e.title,tooltip:e.tooltip,commandId:i})},void 0!==e.order&&(this._buildingSchema.order=e.order)}__getSchema(){return this._commandToRegister.forEach((e,t)=>{this._commandService.hasCommand(t)||this._commandService.registerCommand({id:t,type:Bc.COMMAND,handler:e})}),{[this._item.id]:this._buildingSchema}}};Cqe(Eqe,"RibbonStartGroup",Q8),Cqe(Eqe,"RibbonPosition",Y8),Cqe(Eqe,"MenuManagerPosition",G8),Eqe=_qe([yqe(1,Y(he)),yqe(2,Vc),yqe(3,nee)],Eqe);let Sqe=class extends wqe{constructor(e,t,r){super(),this._item=e,this._injector=t,this._menuManagerService=r,Cqe(this,"_menuByGroups",[]),Cqe(this,"_submenus",[]),Cqe(this,"_buildingSchema",void 0),this._buildingSchema={menuItemFactory:()=>({id:e.id,type:lee.SUBITEMS,icon:e.icon,title:e.title,tooltip:e.tooltip})},void 0!==e.order&&(this._buildingSchema.order=e.order)}addSubmenu(e){return this._submenus.push(e),this}addSeparator(){return this._menuByGroups.push(this._submenus),this._submenus=[],this}__getSchema(){let e={};return this.addSeparator(),this._menuByGroups.forEach((t,r)=>{let n={};t.forEach(e=>{Object.assign(n,e.__getSchema())}),e[`${this._item.id}-group-${r}`]=n}),{[this._item.id]:Object.assign(this._buildingSchema,e)}}};Sqe=_qe([yqe(1,Y(he)),yqe(2,nee)],Sqe);let Aqe=class extends tp{constructor(e,t,r,n){super(),this._injector=e,this._renderManagerService=t,this._univerInstanceService=r,this._shortcutService=n,Cqe(this,"_forceDisableDisposable",null)}enableShortcut(){var e;return null==(e=this._forceDisableDisposable)||e.dispose(),this._forceDisableDisposable=null,this}disableShortcut(){return this._forceDisableDisposable||(this._forceDisableDisposable=this._shortcutService.forceDisable()),this}triggerShortcut(e){let t=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET);if(!t)return;let r=this._renderManagerService.getRenderById(t.getUnitId());return r?(r.engine.getCanvasElement().dispatchEvent(e),this._shortcutService.dispatch(e)):void 0}dispatchShortcutEvent(e){return this._shortcutService.dispatch(e)}};function Iqe(e){return Iqe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Iqe(e)}function Rqe(e,t){return function(r,n){t(r,n,e)}}Aqe=_qe([yqe(0,Y(he)),yqe(1,Y(kX)),yqe(2,dg),yqe(3,U8)],Aqe),yp.extend(class extends yp{getURL(){return new URL(window.location.href)}getShortcut(){return this._injector.createInstance(Aqe)}copy(){return this._commandService.executeCommand(w8.id)}paste(){return this._commandService.executeCommand(I8.id)}createMenu(e){return this._injector.createInstance(Eqe,e)}createSubmenu(e){return this._injector.createInstance(Sqe,e)}openSiderbar(e){return this._injector.get(V5).open(e)}openSidebar(e){return this.openSiderbar(e)}openDialog(e){let t=this._injector.get(Jte).open({...e,onClose:()=>{t.dispose()}});return t}getComponentManager(){return this._injector.get(W5)}showMessage(e){return this._injector.get(C8).show(e),this}setUIVisible(e,t){return this._injector.get(hee).setUIVisible(e,t),this}isUIVisible(e){return this._injector.get(hee).isUIVisible(e)}registerUIPart(e,t){return this._injector.get(hee).registerComponent(e,()=>tK(t,this._injector))}registerComponent(e,t,r){let n=this._injector.get(W5);return this.disposeWithMe(n.register(e,t,r))}setCurrent(e){if(!this._injector.get(kX).getRenderById(e))throw Error("Unit not found");this._univerInstanceService.setCurrentUnitForType(e)}addFonts(e){let t=this._injector.get(s8);e.forEach(e=>{t.addFont(e)})}}),mp.extend(class extends mp{onBeforeCopy(e){return this._injector.get(Vc).beforeCommandExecuted(t=>{t.id===w8.id&&e()})}onCopy(e){return this._injector.get(Vc).onCommandExecuted(t=>{t.id===w8.id&&e()})}onBeforePaste(e){return this._injector.get(Vc).beforeCommandExecuted(t=>{t.id===I8.id&&e()})}onPaste(e){return this._injector.get(Vc).onCommandExecuted(t=>{(t.id===I8.id||t.id===R8)&&e()})}}),dp.extend(class extends dp{get BuiltInUIPart(){return dee}get KeyCode(){return x8}});let xqe=class{constructor(e,t,r,n,i,a){this._documentDataModel=e,this._injector=t,this._univerInstanceService=r,this._commandService=n,this._resourceManagerService=i,this._renderManagerService=a,function(e,t,r){(t=function(e){var t=function(e){if("object"!=Iqe(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=Iqe(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Iqe(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(this,"id",void 0),this.id=this._documentDataModel.getUnitId()}getId(){return this._documentDataModel.getUnitId()}getName(){return this.getSnapshot().title||""}getSnapshot(){let e=this._resourceManagerService.getResourcesByType(this.id,Pi.UNIVER_DOC),t=this._documentDataModel.getSnapshot();return t.resources=e,t}undo(){return this._univerInstanceService.focusUnit(this.id),this._commandService.executeCommand(Vg.id)}redo(){return this._univerInstanceService.focusUnit(this.id),this._commandService.executeCommand(Fg.id)}appendText(e){let t=this.id,{body:r}=this.getSnapshot();if(!r)throw Error("The document body is empty");let n=r.dataStream.length-2,i={startOffset:n,endOffset:n,collapsed:!0,segmentId:""},{segmentId:a}=i;return this._commandService.executeCommand(Yne.id,{unitId:t,body:{dataStream:e},range:i,segmentId:a})}setSelection(e,t){var r;let n=null==(r=this._renderManagerService.getRenderById(this.getId()))?void 0:r.with(voe);null==n||n.removeAllRanges(),null==n||n.addDocRanges([{startOffset:e,endOffset:t,rangeType:Cd.TEXT}],!0)}};xqe=function(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}([Rqe(1,Y(he)),Rqe(2,dg),Rqe(3,Vc),Rqe(4,hf),Rqe(5,kX)],xqe),yp.extend(class extends yp{createUniverDoc(e){let t=this._univerInstanceService.createUnit(Pi.UNIVER_DOC,e);return this._injector.createInstance(xqe,t)}getActiveDocument(){let e=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_DOC);return e?this._injector.createInstance(xqe,e):null}getUniverDoc(e){let t=this._univerInstanceService.getUniverDocInstance(e);return t?this._injector.createInstance(xqe,t):null}}),yp.extend(class extends yp{_initSheetUIEvent(e){let t=e.get(Vc);this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetEditStart,()=>t.beforeCommandExecuted(t=>{if(t.id!==sDe.id)return;let r=this.getActiveSheet();if(!r)return;let{workbook:n,worksheet:i}=r,a=e.get(GPe),{visible:o,keycode:s,eventType:l}=t.params,u=a.getEditLocation();if(o){let e={row:u.row,column:u.column,eventType:l,keycode:s,workbook:n,worksheet:i,isZenEditor:!1};if(this.fireEvent(this.Event.BeforeSheetEditStart,e),e.cancel)throw new Pl}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetEditEnd,()=>t.beforeCommandExecuted(t=>{if(t.id!==sDe.id)return;let r=this.getActiveSheet();if(!r)return;let{workbook:n,worksheet:i}=r,a=e.get(GPe),o=e.get(dg),{visible:s,keycode:l,eventType:u}=t.params,c=a.getEditLocation();if(!s){let e={row:c.row,column:c.column,eventType:u,keycode:l,workbook:n,worksheet:i,isZenEditor:!1,value:sf.create(o.getUnit(El).getSnapshot()),isConfirm:l!==x8.ESC};if(this.fireEvent(this.Event.BeforeSheetEditEnd,e),e.cancel)throw new Pl}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetEditStarted,()=>t.onCommandExecuted(t=>{if(t.id!==sDe.id)return;let r=this.getCommandSheetTarget(t);if(!r)return;let{workbook:n,worksheet:i}=r,a=e.get(GPe),{visible:o,keycode:s,eventType:l}=t.params,u=a.getEditLocation();if(o){let e={row:u.row,column:u.column,eventType:l,keycode:s,workbook:n,worksheet:i,isZenEditor:!1};this.fireEvent(this.Event.SheetEditStarted,e)}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetEditEnded,()=>t.onCommandExecuted(t=>{if(t.id!==sDe.id)return;let r=this.getCommandSheetTarget(t);if(!r)return;let{workbook:n,worksheet:i}=r,a=e.get(GPe),{visible:o,keycode:s,eventType:l}=t.params,u=a.getEditLocation();if(!o){let e={row:u.row,column:u.column,eventType:l,keycode:s,workbook:n,worksheet:i,isZenEditor:!1,isConfirm:s!==x8.ESC};this.fireEvent(this.Event.SheetEditEnded,e)}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetEditChanging,()=>t.onCommandExecuted(t=>{if(t.id!==KX.id)return;let r=this.getActiveSheet();if(!r)return;let{workbook:n,worksheet:i}=r,a=e.get(GPe),o=e.get(dg),s=t.params;if(!a.isVisible().visible)return;let{unitId:l}=s;if(l===El){let{row:e,column:t}=a.getEditLocation(),r={workbook:n,worksheet:i,row:e,column:t,value:sf.create(o.getUnit(El).getSnapshot()),isZenEditor:!1};this.fireEvent(this.Event.SheetEditChanging,r)}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetZoomChange,()=>t.beforeCommandExecuted(e=>{if(e.id!==KPe.id)return;let t=this.getCommandSheetTarget(e);if(!t)return;let{workbook:r,worksheet:n}=t,i={zoom:e.params.zoomRatio,workbook:r,worksheet:n};if(this.fireEvent(this.Event.BeforeSheetZoomChange,i),i.cancel)throw new Pl}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetZoomChanged,()=>t.onCommandExecuted(e=>{if(e.id!==KPe.id)return;let t=this.getCommandSheetTarget(e);if(!t)return;let{workbook:r,worksheet:n}=t;this.fireEvent(this.Event.SheetZoomChanged,{zoom:n.getZoom(),workbook:r,worksheet:n})})))}_initObserverListener(e){let t=e.get(kX),r=e.get(pg),n=new eu;this.disposeWithMe(r.lifecycle$.subscribe(t=>{if(t!==mg.Rendered)return;let r=e.get(yUe),i=e.get(mUe);r&&(n.dispose(),n.add(this.registerEventHandler(this.Event.CellClicked,()=>{var e;return null==(e=r.currentClickedCell$)?void 0:e.pipe(Un(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.location.unitId,e.location.subUnitId);t&&this.fireEvent(this.Event.CellClicked,{...t,...e,row:e.location.row,column:e.location.col})})})),n.add(this.registerEventHandler(this.Event.CellHover,()=>{var e;return null==(e=r.currentRichText$)?void 0:e.pipe(Un(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.CellHover,{...t,...e,row:e.row,column:e.col})})})),n.add(this.registerEventHandler(this.Event.CellPointerDown,()=>{var e;return null==(e=r.currentPointerDownCell$)?void 0:e.pipe(Un(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.CellPointerDown,{...t,...e,row:e.row,column:e.col})})})),n.add(this.registerEventHandler(this.Event.CellPointerUp,()=>{var e;return null==(e=r.currentPointerUpCell$)?void 0:e.pipe(Un(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.CellPointerUp,{...t,...e,row:e.row,column:e.col})})})),n.add(this.registerEventHandler(this.Event.CellPointerMove,()=>{var e;return null==(e=r.currentCellPosWithEvent$)?void 0:e.pipe(Un(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.CellPointerMove,{...t,...e,row:e.row,column:e.col})})})),n.add(this.registerEventHandler(this.Event.DragOver,()=>{var e;return null==(e=i.currentCell$)?void 0:e.pipe(Un(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.location.unitId,e.location.subUnitId);t&&this.fireEvent(this.Event.DragOver,{...t,...e,row:e.location.row,column:e.location.col})})})),n.add(this.registerEventHandler(this.Event.Drop,()=>{var e;return null==(e=i.endCell$)?void 0:e.pipe(Un(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.location.unitId,e.location.subUnitId);t&&this.fireEvent(this.Event.Drop,{...t,...e,row:e.location.row,column:e.location.col})})})),n.add(this.registerEventHandler(this.Event.RowHeaderClick,()=>{var e;return null==(e=r.currentRowHeaderClick$)?void 0:e.pipe(Un(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.RowHeaderClick,{...t,row:e.index})})})),n.add(this.registerEventHandler(this.Event.RowHeaderPointerDown,()=>{var e;return null==(e=r.currentRowHeaderPointerDown$)?void 0:e.pipe(Un(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.RowHeaderPointerDown,{...t,row:e.index})})})),n.add(this.registerEventHandler(this.Event.RowHeaderPointerUp,()=>{var e;return null==(e=r.currentRowHeaderPointerUp$)?void 0:e.pipe(Un(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.RowHeaderPointerUp,{...t,row:e.index})})})),n.add(this.registerEventHandler(this.Event.RowHeaderHover,()=>{var e;return null==(e=r.currentHoveredRowHeader$)?void 0:e.pipe(Un(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.RowHeaderHover,{...t,row:e.index})})})),n.add(this.registerEventHandler(this.Event.ColumnHeaderClick,()=>{var e;return null==(e=r.currentColHeaderClick$)?void 0:e.pipe(Un(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.ColumnHeaderClick,{...t,column:e.index})})})),n.add(this.registerEventHandler(this.Event.ColumnHeaderPointerDown,()=>{var e;return null==(e=r.currentColHeaderPointerDown$)?void 0:e.pipe(Un(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.ColumnHeaderPointerDown,{...t,column:e.index})})})),n.add(this.registerEventHandler(this.Event.ColumnHeaderPointerUp,()=>{var e;return null==(e=r.currentColHeaderPointerUp$)?void 0:e.pipe(Un(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.ColumnHeaderPointerUp,{...t,column:e.index})})})),n.add(this.registerEventHandler(this.Event.ColumnHeaderHover,()=>{var e;return null==(e=r.currentHoveredColHeader$)?void 0:e.pipe(Un(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.ColumnHeaderHover,{...t,column:e.index})})})),this.disposeWithMe(n))}));let i,a=Oi([t.created$,r.lifecycle$]),o=new eu;this.disposeWithMe(a.subscribe(([e,t])=>{if(e.type===Pi.UNIVER_SHEET&&(i=e),t<=mg.Rendered||!i)return;let r=this.getWorkbook(i.unitId);if(!r)return;o.dispose();let n=i.with(_Pe),a=i.with(rSe);o.add(this.registerEventHandler(this.Event.Scroll,()=>n.validViewportScrollInfo$.subscribe(e=>{e&&this.fireEvent(this.Event.Scroll,{workbook:r,worksheet:r.getActiveSheet(),...e})}))),o.add(this.registerEventHandler(this.Event.SelectionMoveStart,()=>a.selectionMoveStart$.subscribe(e=>{var t;this.fireEvent(this.Event.SelectionMoveStart,{workbook:r,worksheet:r.getActiveSheet(),selections:null==(t=null==e?void 0:e.map(e=>e.range))?[]:t})}))),o.add(this.registerEventHandler(this.Event.SelectionMoving,()=>a.selectionMoving$.subscribe(e=>{var t;this.fireEvent(this.Event.SelectionMoving,{workbook:r,worksheet:r.getActiveSheet(),selections:null==(t=null==e?void 0:e.map(e=>e.range))?[]:t})}))),o.add(this.registerEventHandler(this.Event.SelectionMoveEnd,()=>a.selectionMoveEnd$.subscribe(e=>{var t;this.fireEvent(this.Event.SelectionMoveEnd,{workbook:r,worksheet:r.getActiveSheet(),selections:null==(t=null==e?void 0:e.map(e=>e.range))?[]:t})}))),o.add(this.registerEventHandler(this.Event.SelectionChanged,()=>a.selectionChanged$.subscribe(e=>{var t;this.fireEvent(this.Event.SelectionChanged,{workbook:r,worksheet:r.getActiveSheet(),selections:null==(t=null==e?void 0:e.map(e=>e.range))?[]:t})}))),i=null,this.disposeWithMe(o)}))}_initialize(e){this._initSheetUIEvent(e),this._initObserverListener(e);let t=e.get(Vc);this.disposeWithMe(this.registerEventHandler(this.Event.BeforeClipboardChange,()=>t.beforeCommandExecuted(e=>{switch(e.id){case w8.id:case S8.id:this._beforeClipboardChange()}}))),this.disposeWithMe(this.registerEventHandler(this.Event.ClipboardChanged,()=>t.onCommandExecuted(e=>{switch(e.id){case w8.id:case S8.id:this._clipboardChanged()}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeClipboardPaste,()=>t.beforeCommandExecuted(e=>{switch(e.id){case cke.id:this._beforeClipboardPaste(e.params);break;case I8.id:this._beforeClipboardPasteAsync()}}))),this.disposeWithMe(this.registerEventHandler(this.Event.ClipboardPasted,()=>t.onCommandExecuted(e=>{switch(e.id){case cke.id:this._clipboardPaste(e.params);break;case I8.id:this._clipboardPasteAsync()}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetSkeletonChanged,()=>t.onCommandExecuted(e=>{if(vEe.indexOf(e.id)>-1){let t=this.getActiveSheet();if(!t)return;let r=function(e,t){switch(e.id){case gEe.SET_WORKSHEET_ROW_HEIGHT:case gEe.SET_WORKSHEET_ROW_IS_AUTO_HEIGHT:{let t=e.params;return t.ranges.map(e=>({unitId:t.unitId,subUnitId:t.subUnitId,range:{...e,rangeType:pd.ROW}}))}case gEe.SET_WORKSHEET_ROW_AUTO_HEIGHT:{let r=e.params;return r.rowsAutoHeightInfo.map(e=>({unitId:r.unitId,subUnitId:r.subUnitId,range:{startRow:e.row,endRow:e.row,startColumn:0,endColumn:t-1,rangeType:pd.ROW}}))}case gEe.SET_WORKSHEET_COL_WIDTH:{let t=e.params;return t.ranges.map(e=>({unitId:t.unitId,subUnitId:t.subUnitId,range:{...e,rangeType:pd.COLUMN}}))}case gEe.MOVE_ROWS:case gEe.MOVE_COLUMNS:{let t=e.params;return[{unitId:t.unitId,subUnitId:t.subUnitId,range:t.targetRange},{unitId:t.unitId,subUnitId:t.subUnitId,range:t.sourceRange}]}case gEe.SET_COL_HIDDEN:case gEe.SET_COL_VISIBLE:{let t=e.params;return t.ranges.map(e=>({unitId:t.unitId,subUnitId:t.subUnitId,range:{...e,rangeType:pd.COLUMN}}))}case gEe.SET_ROW_HIDDEN:case gEe.SET_ROW_VISIBLE:{let t=e.params;return t.ranges.map(e=>({unitId:t.unitId,subUnitId:t.subUnitId,range:{...e,rangeType:pd.ROW}}))}case gEe.INSERT_COL:{let t=e.params;return[{unitId:t.unitId,subUnitId:t.subUnitId,range:{...t.range,rangeType:pd.COLUMN}}]}case gEe.INSERT_ROW:{let t=e.params;return[{unitId:t.unitId,subUnitId:t.subUnitId,range:{...t.range,rangeType:pd.ROW}}]}case gEe.REMOVE_COL:{let t=e.params;return[{unitId:t.unitId,subUnitId:t.subUnitId,range:{...t.range,rangeType:pd.COLUMN}}]}case gEe.REMOVE_ROW:{let t=e.params;return[{unitId:t.unitId,subUnitId:t.subUnitId,range:{...t.range,rangeType:pd.ROW}}]}case gEe.TOGGLE_GRIDLINES:case gEe.SET_GRIDLINES_COLOR:default:return[]}}(e,t.worksheet.getMaxColumns()).map(e=>{var t;return null==(t=this.getWorkbook(e.unitId))||null==(t=t.getSheetBySheetId(e.subUnitId))?void 0:t.getRange(e.range)}).filter(Boolean);if(!r.length)return;this.fireEvent(this.Event.SheetSkeletonChanged,{workbook:t.workbook,worksheet:t.worksheet,payload:e,skeleton:t.worksheet.getSkeleton(),effectedRanges:r})}})))}_generateClipboardCopyParam(){let e=this.getActiveWorkbook(),t=null==e?void 0:e.getActiveSheet(),r=null==e?void 0:e.getActiveRange();if(!e||!t||!r)return;let n=this._injector.get(ike).generateCopyContent(e.getId(),t.getSheetId(),r.getRange());if(!n)return;let{html:i,plain:a}=n;return{workbook:e,worksheet:t,text:a,html:i,fromSheet:t,fromRange:r}}_beforeClipboardChange(){let e=this._generateClipboardCopyParam();if(e&&(this.fireEvent(this.Event.BeforeClipboardChange,e),e.cancel))throw new Pl}_clipboardChanged(){let e=this._generateClipboardCopyParam();e&&this.fireEvent(this.Event.ClipboardChanged,e)}_generateClipboardPasteParam(e){if(!e)return;let{htmlContent:t,textContent:r}=e,n=this.getActiveWorkbook(),i=null==n?void 0:n.getActiveSheet();return n&&i?{workbook:n,worksheet:i,text:r,html:t}:void 0}async _generateClipboardPasteParamAsync(){let e=this.getActiveWorkbook(),t=null==e?void 0:e.getActiveSheet();if(!e||!t)return;let r,n=(await this._injector.get(qte).read())[0];if(n){let i=n.types;r={workbook:e,worksheet:t,text:-1===i.indexOf(Dte)?"":await n.getType(Dte).then(e=>e&&e.text()),html:-1===i.indexOf(Ute)?"":await n.getType(Ute).then(e=>e&&e.text())}}return r}_beforeClipboardPaste(e){let t=this._generateClipboardPasteParam(e);if(t&&(this.fireEvent(this.Event.BeforeClipboardPaste,t),t.cancel))throw new Pl}_clipboardPaste(e){let t=this._generateClipboardPasteParam(e);if(t&&(this.fireEvent(this.Event.ClipboardPasted,t),t.cancel))throw new Pl}async _beforeClipboardPasteAsync(){if(!Pte())return void this._injector.get(kc).warn("[Facade]: The navigator object only supports the browser environment");let e=await this._generateClipboardPasteParamAsync();if(e&&(this.fireEvent(this.Event.BeforeClipboardPaste,e),e.cancel))throw new Pl}async _clipboardPasteAsync(){if(!Pte())return void this._injector.get(kc).warn("[Facade]: The navigator object only supports the browser environment");let e=await this._generateClipboardPasteParamAsync();if(e&&(this.fireEvent(this.Event.ClipboardPasted,e),e.cancel))throw new Pl}customizeColumnHeader(e){var t;let r=this.getActiveWorkbook();if(!r)return void console.error("WorkBook not exist");let n=null==r?void 0:r.getId(),i=this._injector.get(kX),a=r.getActiveSheet(),o=a.getSheetId(),s=i.getRenderById(n);var l;s&&null!=(t=e.headerStyle)&&t.size&&(s.with(vLe).setColumnHeaderSize(s,o,null==(l=e.headerStyle)?void 0:l.size),null==a||a.refreshCanvas()),this._getSheetRenderComponent(n,tLe.COLUMN).setCustomHeader(e),null==a||a.refreshCanvas()}customizeRowHeader(e){let t=this.getActiveWorkbook();if(!t)return void console.error("WorkBook not exist");let r=null==t?void 0:t.getId();this._getSheetRenderComponent(r,tLe.ROW).setCustomHeader(e)}registerSheetRowHeaderExtension(e,...t){let r=this._getSheetRenderComponent(e,tLe.ROW),n=r.register(...t);return Jl(()=>{n.dispose(),r.makeDirty(!0)})}registerSheetColumnHeaderExtension(e,...t){let r=this._getSheetRenderComponent(e,tLe.COLUMN),n=r.register(...t);return Jl(()=>{n.dispose(),r.makeDirty(!0)})}registerSheetMainExtension(e,...t){let r=this._getSheetRenderComponent(e,tLe.MAIN),n=r.register(...t);return Jl(()=>{n.dispose(),r.makeDirty(!0)})}_getSheetRenderComponent(e,t){let r=this._injector.get(kX).getRenderById(e);if(!r)throw Error(`Render Unit with unitId ${e} not found`);let{components:n}=r,i=n.get(t);if(!i)throw Error("Render component not found");return i}getSheetHooks(){return this._injector.createInstance(vqe)}pasteIntoSheet(e,t,r){return this._commandService.executeCommand(cke.id,{htmlContent:e,textContent:t,files:r})}setProtectedRangeShadowStrategy(e){this._injector.get(BHe).setProtectedRangeShadowStrategy(e)}getProtectedRangeShadowStrategy(){return this._injector.get(BHe).getProtectedRangeShadowStrategy()}getProtectedRangeShadowStrategy$(){return this._injector.get(BHe).getProtectedRangeShadowStrategy$()}setPermissionDialogVisible(e){this._injector.get(Eg).setShowComponents(e)}}),gqe.extend(class extends gqe{openSiderbar(e){return this._logDeprecation("openSiderbar"),this._injector.get(V5).open(e)}openDialog(e){this._logDeprecation("openDialog");let t=this._injector.get(Jte).open({...e,onClose:()=>{t.dispose()}});return t}customizeColumnHeader(e){let t=this._workbook.getUnitId();this._getSheetRenderComponent(t,tLe.COLUMN).setCustomHeader(e)}customizeRowHeader(e){let t=this._workbook.getUnitId();this._getSheetRenderComponent(t,tLe.ROW).setCustomHeader(e)}_getSheetRenderComponent(e,t){let r=this._injector.get(kX).getRenderById(e);if(!r)throw Error(`Render Unit with unitId ${e} not found`);let{components:n}=r,i=n.get(t);if(!i)throw Error("Render component not found");return i}_logDeprecation(e){this._injector.get(kc).warn("[FWorkbook]",`${e} is deprecated. Please use the function of the same name on "FUniver".`)}generateCellParams(e){let t=this.getActiveSheet();return{row:e.row,column:e.col,workbook:this,worksheet:t}}onCellClick(e){return Jl(this._injector.get(yUe).currentClickedCell$.pipe(Un(e=>!!e)).subscribe(t=>{e(t)}))}onCellHover(e){return Jl(this._injector.get(yUe).currentRichText$.pipe(Un(e=>!!e)).subscribe(e))}onCellPointerDown(e){return Jl(this._injector.get(yUe).currentPointerDownCell$.subscribe(e))}onCellPointerUp(e){return Jl(this._injector.get(yUe).currentPointerUpCell$.subscribe(e))}onCellPointerMove(e){return Jl(this._injector.get(yUe).currentCellPosWithEvent$.pipe(Un(e=>!!e)).subscribe(t=>{e(t,t.event)}))}onDragOver(e){return Jl(this._injector.get(mUe).currentCell$.pipe(Un(e=>!!e)).subscribe(t=>{e(t)}))}onDrop(e){return Jl(this._injector.get(mUe).endCell$.pipe(Un(e=>!!e)).subscribe(t=>{e(t)}))}startEditing(){let e=this._injector.get(Vc);return!!this._injector.get(GPe).isVisible().visible||e.syncExecuteCommand(sDe.id,{eventType:FF.Dblclick,unitId:this._workbook.getUnitId(),visible:!0})}async endEditing(e){let t=this._injector.get(Vc);return this._injector.get(GPe).isVisible().visible&&t.syncExecuteCommand(sDe.id,{eventType:FF.Keyboard,keycode:e?x8.ENTER:x8.ESC,visible:!1,unitId:this._workbook.getUnitId()}),await new Promise(e=>setTimeout(e,0)),!0}endEditingAsync(e=!0){return this.endEditing(e)}abortEditingAsync(){return this.endEditingAsync(!1)}isCellEditing(){return this._injector.get(GPe).isVisible().visible}getScrollStateBySheetId(e){let t=this._workbook.getUnitId(),r=this._injector.get(kX).getRenderById(t);return r?r.with(_Pe).getScrollStateByParam({unitId:t,sheetId:e}):null}disableSelection(){let e=this._workbook.getUnitId(),t=this._injector.get(kX).getRenderById(e);return t&&t.with(dLe).disableSelection(),this}enableSelection(){let e=this._workbook.getUnitId(),t=this._injector.get(kX).getRenderById(e);return t&&t.with(dLe).enableSelection(),this}transparentSelection(){let e=this._workbook.getUnitId(),t=this._injector.get(kX).getRenderById(e);return t&&t.with(dLe).transparentSelection(),this}showSelection(){let e=this._workbook.getUnitId(),t=this._injector.get(kX).getRenderById(e);return t&&t.with(dLe).showSelection(),this}}),cqe.extend(class extends cqe{refreshCanvas(){let e=this._injector.get(kX),t=this._fWorkbook.id,r=e.getRenderById(t);if(!r)throw Error(`Render Unit with unitId ${t} not found`);r.with(vLe).reCalculate();let n=r.mainComponent;if(!n)throw Error("Main component not found");return n.makeDirty(),this}highlightRanges(e,t,r){let n=this._injector.get(ELe),i=[];for(let a of e){let e=a.getRange(),o=n.addShapeWithNoFresh({range:e,style:t,primary:r});o&&i.push(o)}if(n.refreshShapes(),0===i.length)throw Error("Failed to highlight current range");return Jl(()=>{i.forEach(e=>{n.removeShape(e)})})}zoom(e){let t=this._injector.get(Vc),r=Math.min(Math.max(e,.1),4);return t.executeCommand(KPe.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),zoomRatio:r}),this}getZoom(){return this._worksheet.getZoomRatio()}getVisibleRange(){let e=this._workbook.getUnitId(),t=this._injector.get(kX).getRenderById(e);if(!t)return null;let r=t.with(vLe).getCurrentSkeleton();return r?r.getVisibleRangeByViewport(bj.VIEW_MAIN):null}getVisibleRangesOfAllViewports(){let e=this._workbook.getUnitId(),t=this._injector.get(kX).getRenderById(e);if(!t)return null;let r=t.with(vLe).getCurrentSkeleton();return r?r.getVisibleRanges():null}scrollToCell(e,t,r){let n=this._workbook.getUnitId(),i=this._injector.get(kX).getRenderById(n);return i&&(null==i?void 0:i.with(VPe)).scrollToCell(e,t,r),this}getScrollState(){let e=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),r=this._injector.get(kX).getRenderById(e);return r&&r.with(_Pe).getScrollStateByParam({unitId:e,sheetId:t})||{offsetX:0,offsetY:0,sheetViewStartColumn:0,sheetViewStartRow:0}}onScroll(e){var t;let r=this._workbook.getUnitId(),n=null==(t=this._injector.get(kX).getRenderById(r))?void 0:t.with(_Pe);return Jl(n?n.validViewportScrollInfo$.subscribe(t=>{e(t)}):()=>{})}getSkeleton(){var e,t;let r=null==(e=this._injector.get(kX).getRenderById(this._workbook.getUnitId()))?void 0:e.with(vLe);return null==r||null==(t=r.getWorksheetSkeleton(this._worksheet.getSheetId()))?void 0:t.skeleton}autoResizeColumn(e){return this.autoResizeColumns(e,1)}autoResizeColumns(e,t){let r=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),i=[{startColumn:e,endColumn:e+t-1,startRow:0,endRow:this._worksheet.getRowCount()-1}];return this._commandService.syncExecuteCommand(XPe.id,{unitId:r,subUnitId:n,ranges:i}),this}setColumnAutoWidth(e,t){return this.autoResizeColumns(e,t)}autoResizeRows(e,t){let r=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),i=[{startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(KTe.id,{unitId:r,subUnitId:n,ranges:i}),this}customizeColumnHeader(e){var t;let r=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),i=this._injector.get(kX).getRenderById(r);var a;i&&null!=(t=e.headerStyle)&&t.size&&i.with(vLe).setColumnHeaderSize(i,n,null==(a=e.headerStyle)?void 0:a.size),this._getSheetRenderComponent(r,tLe.COLUMN).setCustomHeader(e,n)}customizeRowHeader(e){var t;let r=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),i=this._injector.get(kX).getRenderById(r);var a;i&&null!=(t=e.headerStyle)&&t.size&&i.with(vLe).setRowHeaderSize(i,n,null==(a=e.headerStyle)?void 0:a.size),this._getSheetRenderComponent(r,tLe.ROW).setCustomHeader(e,n)}setColumnHeaderHeight(e){let t=this._workbook.getUnitId(),r=this._worksheet.getSheetId();return this._commandService.executeCommand(oLe.id,{unitId:t,subUnitId:r,size:e}),this}setRowHeaderWidth(e){let t=this._workbook.getUnitId(),r=this._worksheet.getSheetId();return this._commandService.executeCommand(aLe.id,{unitId:t,subUnitId:r,size:e}),this}_getSheetRenderComponent(e,t){let r=this._injector.get(kX).getRenderById(e);if(!r)throw Error(`Render Unit with unitId ${e} not found`);let{components:n}=r,i=n.get(t);if(!i)throw Error("Render component not found");return i}}),QXe.extend(class extends QXe{setPermissionDialogVisible(e){this._permissionService.setShowComponents(e)}}),vqe.extend(class extends vqe{onCellPointerMove(e){return Jl(this._injector.get(yUe).currentPosition$.subscribe(e))}onCellPointerOver(e){return Jl(this._injector.get(yUe).currentCell$.subscribe(e))}onCellDragOver(e){return Jl(this._injector.get(mUe).currentCell$.subscribe(e))}onCellDrop(e){return Jl(this._injector.get(mUe).endCell$.subscribe(e))}onCellRender(e,t=Vl.Style,r=Y_e.DATA_VALIDATION){return this._injector.get(iwe).intercept(G_e.CELL_CONTENT,{effect:t,handler:(t,r,n)=>(t&&!t.customRender&&e&&(t.customRender=[...e]),n(t)),priority:r})}onBeforeCellEdit(e){return this._injector.get(Vc).beforeCommandExecuted(t=>{let r=t.params;t.id===sDe.id&&r.visible&&e(r)})}onAfterCellEdit(e){return this._injector.get(Vc).onCommandExecuted(t=>{let r=t.params;t.id===sDe.id&&!r.visible&&e(r)})}});const Tqe="CellClicked",Nqe="CellPointerDown",Mqe="CellPointerUp",Oqe="CellPointerMove",Lqe="CellHover";function kqe(e,t){let r,{componentKey:n,isVue3:i}=e,a=new eu;return"string"==typeof n?r=n:(r=`External_${cu(6)}`,a.add(t.register(r,n,{framework:i?"vue3":"react"}))),{key:r,disposableCollection:a}}function Pqe(e,t){return function(r,n){t(r,n,e)}}hp.extend(class{get BeforeClipboardChange(){return"BeforeClipboardChange"}get ClipboardChanged(){return"ClipboardChanged"}get BeforeClipboardPaste(){return"BeforeClipboardPaste"}get ClipboardPasted(){return"ClipboardPasted"}get BeforeSheetEditStart(){return"BeforeSheetEditStart"}get SheetEditStarted(){return"SheetEditStarted"}get SheetEditChanging(){return"SheetEditChanging"}get BeforeSheetEditEnd(){return"BeforeSheetEditEnd"}get SheetEditEnded(){return"SheetEditEnded"}get CellClicked(){return Tqe}get CellHover(){return Lqe}get CellPointerDown(){return Nqe}get CellPointerUp(){return Mqe}get CellPointerMove(){return Oqe}get DragOver(){return"DragOver"}get Drop(){return"Drop"}get Scroll(){return"Scroll"}get SelectionMoveStart(){return"SelectionMoveStart"}get SelectionChanged(){return"SelectionChanged"}get SelectionMoving(){return"SelectionMoving"}get SelectionMoveEnd(){return"SelectionMoveEnd"}get RowHeaderClick(){return"RowHeaderClick"}get RowHeaderPointerDown(){return"RowHeaderPointerDown"}get RowHeaderPointerUp(){return"RowHeaderPointerUp"}get RowHeaderHover(){return"RowHeaderHover"}get ColumnHeaderClick(){return"ColumnHeaderClick"}get ColumnHeaderPointerDown(){return"ColumnHeaderPointerDown"}get ColumnHeaderPointerUp(){return"ColumnHeaderPointerUp"}get ColumnHeaderHover(){return"ColumnHeaderHover"}get SheetSkeletonChanged(){return"SheetSkeletonChanged"}get BeforeSheetZoomChange(){return"BeforeSheetZoomChange"}get SheetZoomChanged(){return"SheetZoomChanged"}}),dp.extend(class{get SHEET_VIEWPORT_KEY(){return bj}}),mqe.extend(class extends mqe{getCell(){var e;let t=this._injector.get(kX),r=this._injector.get(kc),n=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),a=t.getRenderById(n),o=null==a||null==(e=a.with(vLe).getSkeletonParam(i))?void 0:e.skeleton;if(!o)throw r.error("[Facade]: `FRange.getCell` can only be called in current worksheet"),Error("`FRange.getCell` can only be called in current worksheet");return o.getCellWithCoordByIndex(this._range.startRow,this._range.startColumn)}getCellRect(){let{startX:e,startY:t,endX:r,endY:n}=this.getCell(),i={x:e,y:t,width:r-e,height:n-t,top:t,left:e,bottom:n,right:r};return{...i,toJSON:()=>JSON.stringify(i)}}generateHTML(){var e;let t=this._injector.get(ike).generateCopyContent(this._workbook.getUnitId(),this._worksheet.getSheetId(),this._range);return null==(e=null==t?void 0:t.html)?"":e}attachPopup(e){var t,r,n;e.direction=null==(t=e.direction)?"horizontal":t,e.extraProps=null==(r=e.extraProps)?{}:r,e.offset=null==(n=e.offset)?[0,0]:n;let{key:i,disposableCollection:a}=kqe(e,this._injector.get(W5)),o=this._injector.get(EVe).attachPopupToCell(this._range.startRow,this._range.startColumn,{...e,componentKey:i},this.getUnitId(),this._worksheet.getSheetId());return o?(a.add(o),a):(a.dispose(),null)}attachAlertPopup(e){let t=this._injector.get(aje),r={workbook:this._workbook,worksheet:this._worksheet,row:this._range.startRow,col:this._range.startColumn,unitId:this.getUnitId(),subUnitId:this._worksheet.getSheetId()};return t.showAlert({...e,location:r}),{dispose:()=>{t.removeAlert(e.key)}}}attachRangePopup(e){var t,r,n;e.direction=null==(t=e.direction)?"top-center":t,e.extraProps=null==(r=e.extraProps)?{}:r,e.offset=null==(n=e.offset)?[0,0]:n;let{key:i,disposableCollection:a}=kqe(e,this._injector.get(W5)),o=this._injector.get(EVe).attachRangePopup(this._range,{...e,componentKey:i},this.getUnitId(),this._worksheet.getSheetId());return o?(a.add(o),a):(a.dispose(),null)}highlight(e,t){let r=this._injector.get(ELe),n=r.addShape({range:this._range,style:e,primary:t});if(!n)throw Error("Failed to highlight current range");return Jl(()=>{r.removeShape(n)})}showDropdown(e){return this._injector.get(AHe).showDropdown(e)}});let Dqe=class extends tp{constructor(e,t,r,n,i,a,o){super(),this._commandService=e,this._injector=t,this._lexerTreeBuilder=r,this._configService=n,this._functionService=i,this._definedNamesService=a,this._superTableService=o,this._initialize()}_initialize(){}get lexerTreeBuilder(){return this._lexerTreeBuilder}moveFormulaRefOffset(e,t,r,n){return this._lexerTreeBuilder.moveFormulaRefOffset(e,t,r,n)}sequenceNodesBuilder(e){return this._lexerTreeBuilder.sequenceNodesBuilder(e)||[]}executeCalculation(){this._commandService.executeCommand(afe.id,{commands:[],forceCalculation:!0},{onlyLocal:!0})}stopCalculation(){this._commandService.executeCommand(lfe.id,{})}calculationStart(e){return this._commandService.onCommandExecuted(t=>{if(t.id===ife.id){let r=t.params;e(r.forceCalculation)}})}calculationEnd(e){return this._commandService.onCommandExecuted(t=>{if(t.id!==ufe.id)return;let r=t.params;void 0!==r.functionsExecutedState&&e(r.functionsExecutedState)})}whenComputingCompleteAsync(e){let t=this._injector.get(r_e);return t.computingStatus?Promise.resolve(!0):Jn(function(){for(var e=[],t=0;te)),gq(null==e?3e4:e).pipe(Yn(()=>!1))))}onCalculationEnd(){return new Promise((e,t)=>{let r=setTimeout(()=>{t(Error("Calculation end timeout"))},3e4),n=this.calculationEnd(()=>{clearTimeout(r),n.dispose(),e()})})}calculationProcessing(e){return this._commandService.onCommandExecuted(t=>{if(t.id!==ufe.id)return;let r=t.params;void 0!==r.stageInfo&&e(r.stageInfo)})}setMaxIteration(e){this._configService.setConfig(Tfe,e)}executeFormulas(e,t=3e4){return new Promise((r,n)=>{let i=this._commandService.onCommandExecuted(e=>{if(e.id!==sfe.id)return;let t=e.params;clearTimeout(a),i.dispose(),null==t.result?n(Error("Formula batch calculation returned no result")):r(t.result)}),a=setTimeout(()=>{i.dispose(),n(Error("Formula batch calculation timeout"))},t);this._commandService.executeCommand(ofe.id,{formulas:e},{onlyLocal:!0})})}getAllDependencyTrees(e=3e4){return new Promise((t,r)=>{let n=this._commandService.onCommandExecuted(e=>{if(e.id!==hfe.id)return;let r=e.params;clearTimeout(i),n.dispose(),null==r.result?t([]):t(r.result)}),i=setTimeout(()=>{n.dispose(),r(Error("Formula dependency calculation timeout"))},e);this._commandService.executeCommand(dfe.id,void 0,{onlyLocal:!0})})}getCellDependencyTree(e,t=3e4){return new Promise((r,n)=>{let i=this._commandService.onCommandExecuted(e=>{if(e.id!==ffe.id)return;let t=e.params;clearTimeout(a),i.dispose(),r(t.result)}),a=setTimeout(()=>{i.dispose(),n(Error("Cell dependency calculation timeout"))},t);this._commandService.executeCommand(mfe.id,e,{onlyLocal:!0})})}getRangeDependents(e,t=3e4){return new Promise((r,n)=>{let i=this._commandService.onCommandExecuted(e=>{if(e.id!==pfe.id)return;let t=e.params;clearTimeout(a),i.dispose(),null==t.result?r([]):r(t.result)}),a=setTimeout(()=>{i.dispose(),n(Error("Range dependents calculation timeout"))},t);this._commandService.executeCommand(gfe.id,{unitRanges:e},{onlyLocal:!0})})}getInRangeFormulas(e,t=3e4){return new Promise((r,n)=>{let i=this._commandService.onCommandExecuted(e=>{if(e.id!==pfe.id)return;let t=e.params;clearTimeout(a),i.dispose(),null==t.result?r([]):r(t.result)}),a=setTimeout(()=>{i.dispose(),n(Error("In-range formulas calculation timeout"))},t);this._commandService.executeCommand(gfe.id,{unitRanges:e,isInRange:!0},{onlyLocal:!0})})}setFormulaReturnDependencyTree(e){this._configService.setConfig(Nfe,e)}getFormulaExpressTree(e,t){return this._lexerTreeBuilder.getFormulaExprTree(e,t,this._functionService.hasExecutor.bind(this._functionService),this._definedNamesService.getValueByName.bind(this._definedNamesService),this._superTableService.getTable.bind(this._superTableService))}getRangeDependentsAndInRangeFormulas(e,t=3e4){return new Promise((r,n)=>{let i=this._commandService.onCommandExecuted(e=>{if(e.id!==bfe.id)return;let t=e.params;clearTimeout(a),i.dispose(),null==t.result?r({dependents:[],inRanges:[]}):r(t.result)}),a=setTimeout(()=>{i.dispose(),n(Error("Range dependents calculation timeout"))},t);this._commandService.executeCommand(vfe.id,{unitRanges:e},{onlyLocal:!0})})}};function Uqe(e={}){var t;const{container:r="app",workerURL:n,header:i,footer:a,toolbar:o,ribbonType:s,formulaBar:l,menu:u,contextMenu:c,disableAutoFocus:d,customFontFamily:h,docs:m,sheets:f,formula:g,disableTextFormatAlert:p,disableTextFormatMark:v}=e,b=!!n;return{plugins:[B_e,[rq,{hasScroll:null==m?void 0:m.hasScroll}],VX,[bre,{container:r,header:i,toolbar:o,ribbonType:s,menu:u,contextMenu:c,disableAutoFocus:d,customFontFamily:h}],Rue,b?[zde,{workerURL:n}]:null,[m_e,{notExecuteFormula:b,function:null==g?void 0:g.function}],[ZNe,{notExecuteFormula:b,onlyRegisterFormulaRelatedMutations:!1,isRowStylePrecedeColumnStyle:null==f?void 0:f.isRowStylePrecedeColumnStyle,autoHeightForMergedCells:null==f?void 0:f.autoHeightForMergedCells,freezeSync:null==f?void 0:f.freezeSync}],[FHe,{formulaBar:l,footer:a,maxAutoHeightCount:null==f?void 0:f.maxAutoHeightCount,clipboardConfig:null==f?void 0:f.clipboardConfig,scrollConfig:null==f?void 0:f.scrollConfig,protectedRangeShadow:null==(t=null==f?void 0:f.protectedRangeShadow)||t,protectedRangeUserSelector:null==f?void 0:f.protectedRangeUserSelector,disableForceStringAlert:null==f?void 0:f.disableForceStringAlert,disableForceStringMark:null==f?void 0:f.disableForceStringMark}],[Yze,{disableTextFormatAlert:p,disableTextFormatMark:v}],DXe,[gOe,{notExecuteFormula:b,description:null==g?void 0:g.description,initialFormulaComputing:null==g?void 0:g.initialFormulaComputing}],[_ze,{functionScreenTips:null==g?void 0:g.functionScreenTips}]].filter(e=>!!e)}}Dqe=function(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}([Pqe(0,Y(Vc)),Pqe(1,Y(he)),Pqe(2,Y(Ffe)),Pqe(3,Tc),Pqe(4,Rpe),Pqe(5,Jme),Pqe(6,Sfe)],Dqe),yp.extend(class extends yp{getFormula(){return this._injector.createInstance(Dqe)}}),yp.extend(class extends yp{_initialize(){this._debouncedFormulaCalculation=Vr(()=>{this._commandService.executeCommand(afe.id,{commands:[],forceCalculation:!0},{onlyLocal:!0})},10)}registerFunction(e){let t=this._injector.get(hOe);t||(this._injector.add([hOe,{useClass:mOe}]),t=this._injector.get(hOe));let r=t.registerFunctions(e);return this._debouncedFormulaCalculation(),r}}),Dqe.extend(class extends Dqe{_initialize(){this._debouncedFormulaCalculation=Vr(()=>{this._commandService.executeCommand(afe.id,{commands:[],forceCalculation:!0},{onlyLocal:!0})},10)}setInitialFormulaComputing(e){let t=this._injector.get(pg).stage,r=this._injector.get(kc),n=this._injector.get(Tc);t>mg.Starting&&r.warn("[FFormula]","CalculationMode is called after the Starting lifecycle and will take effect the next time the Univer Sheet is constructed. If you want it to take effect when the Univer Sheet is initialized this time, consider calling it before the Ready lifecycle or using configuration.");let i=n.getConfig(oMe);i?i.initialFormulaComputing=e:n.setConfig(oMe,{initialFormulaComputing:e})}registerFunction(e,t,r){var n;let i=this._injector.get(hOe);i||(this._injector.add([hOe,{useClass:mOe}]),i=this._injector.get(hOe));let a={name:e,func:t,description:"string"==typeof r?r:null==(n=null==r?void 0:r.description)?"":n,locales:"object"==typeof r?r.locales:void 0},o=i.registerFunction(a);return this._debouncedFormulaCalculation(),o}registerAsyncFunction(e,t,r){var n;let i=this._injector.get(hOe);i||(this._injector.add([hOe,{useClass:mOe}]),i=this._injector.get(hOe));let a={name:e,func:t,description:"string"==typeof r?r:null==(n=null==r?void 0:r.description)?"":n,locales:"object"==typeof r?r.locales:void 0},o=i.registerAsyncFunction(a);return this._debouncedFormulaCalculation(),o}calculationResultApplied(e){let t=!1,r=!1,n=null;return this._commandService.onCommandExecuted((i,a)=>{i.id!==cfe.id&&i.id!==Kwe.id||(i.id===cfe.id&&(t=!0,n=i.params),i.id===Kwe.id&&null!=a&&a.applyFormulaCalculationResult&&(r=!0),t&&r&&requestIdleCallback(()=>{e(n)}))})}onCalculationResultApplied(){return new Promise((e,t)=>{let r=!1,n=!1,i=setTimeout(()=>{l(),t(Error("Calculation end timeout"))},6e4),a=setTimeout(()=>{r||(l(),e())},500),o=this.calculationProcessing(t=>{let{stage:n,totalArrayFormulasToCalculate:i,totalFormulasToCalculate:o}=t;if(n===rpe.START_CALCULATION&&i+o===0)return l(),void e();r||(r=!0,clearTimeout(a))}),s=this.calculationResultApplied(()=>{n||(n=!0,l(),e())});function l(){clearTimeout(i),clearTimeout(a),o.dispose(),s.dispose()}})}}),dp.extend(class{get CalculationMode(){return sMe}}),gqe.extend(class extends gqe{getAllFormulaError(){let e=[],t=this._workbook,r=t.getUnitId(),n=t.getSheets(),i=this._injector.get(jfe).getArrayFormulaCellData();return n.forEach(t=>{var n;let a=t.getName(),o=t.getSheetId(),s=t.getCellMatrix(),l=(null==i||null==(n=i[r])?void 0:n[o])||{};s.forValue((t,r,n)=>{var i;if(!n)return;let o=Kfe(n,!(null==l||null==(i=l[t])||!i[r]));o&&e.push({sheetName:a,row:t,column:r,formula:n.f||"",errorType:o})})}),e}}),mqe.extend(class extends mqe{getFormulaError(){var e;let t=[],r=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),i=this._worksheet.getName(),a=this._workbook.getSheetBySheetId(n);if(!a)return t;let o=this._injector.get(jfe).getArrayFormulaCellData(),s=(null==o||null==(e=o[r])?void 0:e[n])||{},l=a.getCellMatrix(),{startRow:u,endRow:c,startColumn:d,endColumn:h}=this._range;for(let e=u;e<=c;e++)for(let r=d;r<=h;r++){var m;let n=l.getValue(e,r);if(!n)continue;let a=Kfe(n,!(null==s||null==(m=s[e])||!m[r]));a&&t.push({sheetName:i,row:e,column:r,formula:n.f||"",errorType:a})}return t}}),mqe.extend(class extends mqe{setNumberFormat(e){let t=[],{startColumn:r,startRow:n,endColumn:i,endRow:a}=this._range;for(let o=n;o<=a;o++)for(let n=r;n<=i;n++)t.push({row:o,col:n,pattern:e});return this._commandService.syncExecuteCommand(Oze.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),values:t}),this}setNumberFormats(e){let t=[],{startColumn:r,startRow:n,endColumn:i,endRow:a}=this._range;for(let s=n;s<=a;s++)for(let a=r;a<=i;a++){var o;let i=null==(o=e[s-n])?void 0:o[a-r];t.push({row:s,col:a,pattern:i})}return this._commandService.syncExecuteCommand(Oze.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),values:t}),this}getNumberFormat(){var e,t;let r=this.getCellStyle();return null==(e=null==r||null==(t=r.numberFormat)?void 0:t.pattern)?"":e}getNumberFormats(){return this.getCellStyles().map(e=>e.map(e=>{var t,r;return null==(t=null==e||null==(r=e.numberFormat)?void 0:r.pattern)?"":t}))}}),gqe.extend(class extends gqe{setNumfmtLocal(e){return this._injector.get(Gze).setNumfmtLocal(e),this}}),yp.extend(class extends yp{showRangeSelectorDialog(e){return this._injector.get(GWe).showRangeSelectorDialog(e)}});var Bqe=class extends Mre{};const Vqe=V("univer.doc.plugin.doc-drawing.service");function Fqe(e,t){return function(r,n){t(r,n,e)}}function jqe(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}const Hqe="DOC_DRAWING_PLUGIN";let Wqe=class extends tu{constructor(e,t,r,n){super(),this._docDrawingService=e,this._drawingManagerService=t,this._resourceManagerService=r,this._univerInstanceService=n,this._init()}_init(){this._initSnapshot()}_initSnapshot(){let e=e=>{let t=this._univerInstanceService.getUnit(e,Pi.UNIVER_DOC);if(t){let e=t.getSnapshot().drawings,r=t.getSnapshot().drawingsOrder,n={data:null==e?{}:e,order:null==r?[]:r};return JSON.stringify(n)}return""};this.disposeWithMe(this._resourceManagerService.registerPluginResource({pluginName:Hqe,businesses:[Pi.UNIVER_DOC],toJson:t=>e(t),parseJson:e=>(e=>{if(!e)return{data:{},order:[]};try{return JSON.parse(e)}catch{return{data:{},order:[]}}})(e),onUnLoad:e=>{this._setDrawingDataForUnit(e,{data:{},order:[]})},onLoad:(e,t)=>{var r,n;this._setDrawingDataForUnit(e,{data:null==(r=t.data)?{}:r,order:null==(n=t.order)?[]:n})}}))}_setDrawingDataForUnit(e,t){let r=this._univerInstanceService.getUnit(e);null!=r&&(r.resetDrawing(t.data,t.order),this.loadDrawingDataForUnit(e))}loadDrawingDataForUnit(e){let t=this._univerInstanceService.getUnit(e,Pi.UNIVER_DOC);if(!t)return!1;let r=e,n=t.getDrawings(),i=t.getDrawingsOrder();if(!n||!i)return!1;Object.keys(n).forEach(e=>{n[e]={...n[e]}});let a={[r]:{unitId:e,subUnitId:r,data:n,order:i}};return this._docDrawingService.registerDrawingData(e,a),this._drawingManagerService.registerDrawingData(e,a),!0}};Wqe=jqe([Fqe(0,Vqe),Fqe(1,Sre),Fqe(2,hf),Fqe(3,dg)],Wqe);const zqe="docs-drawing.config";Symbol(zqe);const Xqe={};function qqe(e){return qqe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},qqe(e)}function Gqe(e,t,r){return(t=function(e){var t=function(e){if("object"!=qqe(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=qqe(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==qqe(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}let Yqe=class extends Rg{constructor(e=Xqe,t,r){super(),this._config=e,this._injector=t,this._configService=r;let{...n}=hr({},Xqe,this._config);this._configService.setConfig(zqe,n)}onStarting(){[[Wqe],[Bqe],[Vqe,{useClass:Bqe}]].forEach(e=>this._injector.add(e)),Ol(this._injector,[[Wqe]])}};Gqe(Yqe,"pluginName",Hqe),Gqe(Yqe,"packageName","@univerjs/docs-drawing"),Gqe(Yqe,"version","0.19.0"),Gqe(Yqe,"type",Pi.UNIVER_DOC),Yqe=jqe([Fqe(1,Y(he)),Fqe(2,Tc)],Yqe);const Qqe={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M14.0045 4.4334C14.8881 4.4334 15.6045 3.71705 15.6045 2.8334C15.6045 1.94974 14.8881 1.2334 14.0045 1.2334H3.70449C2.82084 1.2334 2.10449 1.94974 2.10449 2.8334C2.10449 3.71705 2.82084 4.4334 3.70449 4.4334H14.0045ZM14.4045 2.8334C14.4045 3.05431 14.2254 3.2334 14.0045 3.2334H3.70449C3.48358 3.2334 3.30449 3.05431 3.30449 2.8334C3.30449 2.61248 3.48358 2.4334 3.70449 2.4334H14.0045C14.2254 2.4334 14.4045 2.61249 14.4045 2.8334Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M14.1544 8.5999C15.038 8.5999 15.7544 7.88356 15.7544 6.9999C15.7544 6.11625 15.038 5.3999 14.1544 5.3999H3.85439C2.97074 5.3999 2.25439 6.11625 2.25439 6.9999C2.25439 7.88356 2.97074 8.5999 3.85439 8.5999H14.1544ZM14.5544 6.9999C14.5544 7.22082 14.3753 7.3999 14.1544 7.3999H3.85439C3.63348 7.3999 3.45439 7.22082 3.45439 6.9999C3.45439 6.77899 3.63348 6.5999 3.85439 6.5999H14.1544C14.3753 6.5999 14.5544 6.77899 14.5544 6.9999Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M8.57975 14.5902L6.58023 12.5907C6.34591 12.3564 6.34591 11.9765 6.58023 11.7421C6.81454 11.5078 7.19444 11.5078 7.42876 11.7421L8.40449 12.7179V10.1664C8.40449 9.83504 8.67312 9.56641 9.00449 9.56641C9.33586 9.56641 9.60449 9.83504 9.60449 10.1664V12.7179L10.5802 11.7421C10.8145 11.5078 11.1944 11.5078 11.4288 11.7421C11.6631 11.9765 11.6631 12.3564 11.4288 12.5907L9.42923 14.5902"}},{tag:"path",attrs:{fill:"currentColor",d:"M8.57975 14.5902C8.58121 14.5917 8.58268 14.5931 8.58416 14.5946C8.64077 14.6502 8.70566 14.6923 8.77482 14.7209C8.84557 14.7502 8.92314 14.7664 9.00449 14.7664C9.08585 14.7664 9.16342 14.7502 9.23416 14.7209C9.30332 14.6923 9.36821 14.6502 9.42482 14.5946"}}]},Zqe=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"bottom-icon",ref:t,icon:Qqe}))});Zqe.displayName="BottomIcon";const Kqe={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M7.38125 1.16211C6.49759 1.16211 5.78125 1.87845 5.78125 2.76211V5.6377H2.87783C1.99418 5.6377 1.27783 6.35404 1.27783 7.2377V13.2377C1.27783 14.1214 1.99418 14.8377 2.87783 14.8377H8.87783C9.76149 14.8377 10.4778 14.1214 10.4778 13.2377V10.3621H13.3813C14.2649 10.3621 14.9813 9.64577 14.9813 8.76211V2.76211C14.9813 1.87845 14.2649 1.16211 13.3813 1.16211H7.38125ZM10.4778 9.16211H13.3813C13.6022 9.16211 13.7812 8.98302 13.7812 8.76211V2.76211C13.7812 2.5412 13.6022 2.36211 13.3813 2.36211H7.38125C7.16034 2.36211 6.98125 2.5412 6.98125 2.76211V5.6377H8.87783C9.76149 5.6377 10.4778 6.35404 10.4778 7.2377V9.16211ZM6.98125 6.8377H8.87783C9.09875 6.8377 9.27783 7.01678 9.27783 7.2377V9.16211H7.38125C7.16034 9.16211 6.98125 8.98302 6.98125 8.76211V6.8377ZM5.78125 6.8377V8.76211C5.78125 9.64577 6.49759 10.3621 7.38125 10.3621H9.27783V13.2377C9.27783 13.4586 9.09875 13.6377 8.87783 13.6377H2.87783C2.65692 13.6377 2.47783 13.4586 2.47783 13.2377V7.2377C2.47783 7.01678 2.65692 6.8377 2.87783 6.8377H5.78125Z",fillRule:"evenodd",clipRule:"evenodd"}}]},$qe=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"group-icon",ref:t,icon:Kqe}))});$qe.displayName="GroupIcon";const Jqe={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.25 2.96401C1.25 3.84767 1.96634 4.56401 2.85 4.56401H13.15C14.0337 4.56401 14.75 3.84767 14.75 2.96401C14.75 2.08036 14.0337 1.36401 13.15 1.36401H2.85C1.96635 1.36401 1.25 2.08036 1.25 2.96401ZM2.85 3.36401C2.62909 3.36401 2.45 3.18493 2.45 2.96401C2.45 2.7431 2.62909 2.56401 2.85 2.56401H13.15C13.3709 2.56401 13.55 2.7431 13.55 2.96401C13.55 3.18493 13.3709 3.36401 13.15 3.36401H2.85Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M5.57564 11.6118C5.80995 11.3774 6.18985 11.3774 6.42417 11.6118L7.3999 12.5875V6.36951C7.3999 6.03814 7.66853 5.76951 7.9999 5.76951C8.33127 5.76951 8.5999 6.03814 8.5999 6.36951V12.5875L9.57564 11.6118C9.80995 11.3774 10.1899 11.3774 10.4242 11.6118C10.6585 11.8461 10.6585 12.226 10.4242 12.4603L8.4324 14.452C8.32324 14.5655 8.16982 14.6362 7.9999 14.6362C7.82998 14.6362 7.67655 14.5655 7.56739 14.452L5.57564 12.4603C5.34132 12.226 5.34132 11.8461 5.57564 11.6118Z"}}]},eGe=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"move-down-icon",ref:t,icon:Jqe}))});eGe.displayName="MoveDownIcon";const tGe={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.25 13.036C1.25 12.1523 1.96634 11.436 2.85 11.436H13.15C14.0337 11.436 14.75 12.1523 14.75 13.036C14.75 13.9196 14.0337 14.636 13.15 14.636H2.85C1.96635 14.636 1.25 13.9196 1.25 13.036ZM2.85 12.636C2.62909 12.636 2.45 12.8151 2.45 13.036C2.45 13.2569 2.62909 13.436 2.85 13.436H13.15C13.3709 13.436 13.55 13.2569 13.55 13.036C13.55 12.8151 13.3709 12.636 13.15 12.636H2.85Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M5.57564 4.38825C5.80995 4.62256 6.18985 4.62256 6.42417 4.38825L7.3999 3.41251V9.63049C7.3999 9.96186 7.66853 10.2305 7.9999 10.2305C8.33127 10.2305 8.5999 9.96186 8.5999 9.63049V3.41251L9.57564 4.38825C9.80995 4.62256 10.1899 4.62256 10.4242 4.38825C10.6585 4.15393 10.6585 3.77403 10.4242 3.53972L8.4324 1.54796C8.32324 1.43445 8.16982 1.36382 7.9999 1.36382C7.82998 1.36382 7.67655 1.43446 7.56739 1.54797L5.57564 3.53972C5.34132 3.77403 5.34132 4.15393 5.57564 4.38825Z"}}]},rGe=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"move-up-icon",ref:t,icon:tGe}))});rGe.displayName="MoveUpIcon";const nGe={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M7.82994 1.40913C7.88746 1.35161 7.95376 1.30821 8.02453 1.27893C8.09527 1.24959 8.17285 1.2334 8.2542 1.2334C8.33555 1.2334 8.41313 1.24959 8.48387 1.27893C8.55464 1.30821 8.62094 1.35161 8.67846 1.40913L10.6785 3.40913C10.9128 3.64345 10.9128 4.02335 10.6785 4.25766C10.4441 4.49198 10.0642 4.49198 9.82994 4.25766L8.8542 3.28193V5.8334C8.8542 6.16477 8.58557 6.4334 8.2542 6.4334C7.92283 6.4334 7.6542 6.16477 7.6542 5.8334V3.28193L6.67846 4.25766C6.44415 4.49198 6.06425 4.49198 5.82994 4.25766C5.59562 4.02335 5.59562 3.64345 5.82994 3.40913L7.82994 1.40913Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.50439 9C1.50439 8.11634 2.22074 7.4 3.10439 7.4H13.4044C14.288 7.4 15.0044 8.11634 15.0044 9C15.0044 9.88366 14.2881 10.6 13.4044 10.6H3.1044C2.22074 10.6 1.50439 9.88366 1.50439 9ZM3.10439 8.6C2.88348 8.6 2.70439 8.77909 2.70439 9C2.70439 9.22091 2.88348 9.4 3.1044 9.4H13.4044C13.6253 9.4 13.8044 9.22091 13.8044 9C13.8044 8.77909 13.6253 8.6 13.4044 8.6H3.10439Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.6543 13.1665C1.6543 12.2828 2.37064 11.5665 3.2543 11.5665H13.5543C14.438 11.5665 15.1543 12.2828 15.1543 13.1665C15.1543 14.0502 14.438 14.7665 13.5543 14.7665H3.2543C2.37064 14.7665 1.6543 14.0502 1.6543 13.1665ZM3.2543 12.7665C3.03338 12.7665 2.8543 12.9456 2.8543 13.1665C2.8543 13.3874 3.03338 13.5665 3.2543 13.5665H13.5543C13.7752 13.5665 13.9543 13.3874 13.9543 13.1665C13.9543 12.9456 13.7752 12.7665 13.5543 12.7665H3.2543Z",fillRule:"evenodd",clipRule:"evenodd"}}]},iGe=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"topmost-icon",ref:t,icon:nGe}))});iGe.displayName="TopmostIcon";const aGe={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M7.46855 2.83731C7.46855 2.61639 7.64764 2.4373 7.86855 2.4373H13.8603C14.0812 2.4373 14.2603 2.61639 14.2603 2.8373V9.5049C14.2603 9.72581 14.0812 9.90489 13.8603 9.90489H12.866C12.5346 9.90489 12.266 10.1735 12.266 10.5049C12.266 10.8363 12.5346 11.1049 12.866 11.1049H13.8603C14.7439 11.1049 15.4603 10.3886 15.4603 9.5049V2.8373C15.4603 1.95365 14.7439 1.2373 13.8603 1.2373H7.86855C6.9849 1.2373 6.26855 1.95365 6.26855 2.83731V3.48688C6.26855 3.81825 6.53718 4.08688 6.86855 4.08688C7.19993 4.08688 7.46855 3.81825 7.46855 3.48688V2.83731Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M3.19888 5.56299C2.31522 5.56299 1.59888 6.27933 1.59888 7.16299V13.163C1.59888 14.0466 2.31522 14.763 3.19888 14.763H9.19888C10.0825 14.763 10.7989 14.0466 10.7989 13.163V7.16299C10.7989 6.27933 10.0825 5.56299 9.19888 5.56299H3.19888ZM2.79888 7.16299C2.79888 6.94207 2.97796 6.76299 3.19888 6.76299H9.19888C9.41979 6.76299 9.59888 6.94207 9.59888 7.16299V13.163C9.59888 13.3839 9.41979 13.563 9.19888 13.563H3.19888C2.97796 13.563 2.79888 13.3839 2.79888 13.163V7.16299Z",fillRule:"evenodd",clipRule:"evenodd"}}]},oGe=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"ungroup-icon",ref:t,icon:aGe}))});oGe.displayName="UngroupIcon";const sGe={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M5.97705 7.51296C5.97705 7.18159 6.24568 6.91296 6.57705 6.91296H8.48632C8.81769 6.91296 9.08632 7.18159 9.08632 7.51296C9.08632 7.84433 8.81769 8.11296 8.48632 8.11296H6.57705C6.24568 8.11296 5.97705 7.84433 5.97705 7.51296Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M6.57705 9.41028C6.24568 9.41028 5.97705 9.67891 5.97705 10.0103C5.97705 10.3416 6.24568 10.6103 6.57705 10.6103H10.8199C11.1512 10.6103 11.4199 10.3416 11.4199 10.0103C11.4199 9.67891 11.1512 9.41028 10.8199 9.41028H6.57705Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M3.51074 2.37063C3.51074 1.48697 4.22709 0.77063 5.11074 0.77063H9.80318L9.81294 0.770708C9.97168 0.768161 10.1311 0.82824 10.2511 0.95055L14.4317 5.21408C14.5165 5.30049 14.5697 5.406 14.5917 5.51645C14.6041 5.5644 14.6106 5.61467 14.6106 5.66648V11.6406C14.6106 12.5243 13.8943 13.2406 13.0106 13.2406H5.11074C4.22709 13.2406 3.51074 12.5243 3.51074 11.6406V2.37063ZM10.4032 4.66648V2.81964L12.6063 5.06648H10.8032C10.5823 5.06648 10.4032 4.88739 10.4032 4.66648ZM5.11074 1.97063C4.88983 1.97063 4.71074 2.14972 4.71074 2.37063V11.6406C4.71074 11.8615 4.88983 12.0406 5.11074 12.0406H13.0106C13.2316 12.0406 13.4106 11.8615 13.4106 11.6406V6.26648H10.8032C9.91953 6.26648 9.20318 5.55013 9.20318 4.66648V1.97063H5.11074Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M2.58916 6.6741C2.58916 6.34273 2.32053 6.0741 1.98916 6.0741C1.65779 6.0741 1.38916 6.34273 1.38916 6.6741V12.6294C1.38916 14.0653 2.55322 15.2294 3.98916 15.2294H9.41408C9.74545 15.2294 10.0141 14.9607 10.0141 14.6294C10.0141 14.298 9.74545 14.0294 9.41408 14.0294H3.98916C3.21596 14.0294 2.58916 13.4026 2.58916 12.6294V6.6741Z"}}]},lGe=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"create-copy-icon",ref:t,icon:sGe}))});lGe.displayName="CreateCopyIcon";let uGe=function(e){return e.default="0",e.left="1",e.center="2",e.right="3",e.top="4",e.middle="5",e.bottom="6",e.horizon="7",e.vertical="8",e}({});const cGe={id:"sheet.operation.set-image-align",type:Bc.OPERATION,handler:(e,t)=>!0},dGe={id:"sheet.operation.set-drawing-align-left",type:Bc.OPERATION,handler:e=>e.get(Vc).syncExecuteCommand(cGe.id,{alignType:uGe.left})},hGe={id:"sheet.operation.set-drawing-align-center",type:Bc.OPERATION,handler:e=>e.get(Vc).syncExecuteCommand(cGe.id,{alignType:uGe.center})},mGe={id:"sheet.operation.set-drawing-align-right",type:Bc.OPERATION,handler:e=>e.get(Vc).syncExecuteCommand(cGe.id,{alignType:uGe.right})},fGe={id:"sheet.operation.set-drawing-align-top",type:Bc.OPERATION,handler:e=>e.get(Vc).syncExecuteCommand(cGe.id,{alignType:uGe.top})},gGe={id:"sheet.operation.set-drawing-align-middle",type:Bc.OPERATION,handler:e=>e.get(Vc).syncExecuteCommand(cGe.id,{alignType:uGe.middle})},pGe={id:"sheet.operation.set-drawing-align-bottom",type:Bc.OPERATION,handler:e=>e.get(Vc).syncExecuteCommand(cGe.id,{alignType:uGe.bottom})},vGe={id:"sheet.operation.set-drawing-align-horizon",type:Bc.OPERATION,handler:e=>e.get(Vc).syncExecuteCommand(cGe.id,{alignType:uGe.horizon})},bGe={id:"sheet.operation.set-drawing-align-vertical",type:Bc.OPERATION,handler:e=>e.get(Vc).syncExecuteCommand(cGe.id,{alignType:uGe.vertical})},CGe={id:"drawing.operation.set-drawing-arrange",type:Bc.OPERATION,handler:(e,t)=>{let r=e.get(Sre),{arrangeType:n}=t,i=t.drawings||r.getFocusDrawings(),{unitId:a,subUnitId:o}=i[0],s=i.map(e=>e.drawingId);return r.featurePluginOrderUpdateNotification({unitId:a,subUnitId:o,drawingIds:s,arrangeType:n}),!0}},yGe={id:"drawing.operation.set-drawing-arrange-front",type:Bc.OPERATION,handler:e=>e.get(Vc).syncExecuteCommand(CGe.id,{arrangeType:vc.front})},_Ge={id:"drawing.operation.set-drawing-arrange-forward",type:Bc.OPERATION,handler:e=>e.get(Vc).syncExecuteCommand(CGe.id,{arrangeType:vc.forward})},wGe={id:"drawing.operation.set-drawing-arrange-back",type:Bc.OPERATION,handler:e=>e.get(Vc).syncExecuteCommand(CGe.id,{arrangeType:vc.back})},EGe={id:"drawing.operation.set-drawing-arrange-backward",type:Bc.OPERATION,handler:e=>e.get(Vc).syncExecuteCommand(CGe.id,{arrangeType:vc.backward})},SGe=[bc.DRAWING_IMAGE,bc.DRAWING_SHAPE,bc.DRAWING_GROUP],AGe={id:"drawing.operation.set-drawing-group",type:Bc.OPERATION,handler:(e,t)=>{let r=e.get(Sre),n=t.drawings||r.getFocusDrawings();if(n.length<2||!n.every(e=>SGe.includes(e.drawingType)))return!1;let{unitId:i,subUnitId:a}=n[0],o=cu(10),s=UF(0,0,n.map(e=>e.transform||{})),l={unitId:i,subUnitId:a,drawingId:o,drawingType:bc.DRAWING_GROUP,transform:s,groupBaseBound:{left:s.left,top:s.top,width:s.width,height:s.height}},u=n.map(e=>{let t=e.transform||{left:0,top:0},{unitId:r,subUnitId:n,drawingId:i}=e;return{unitId:r,subUnitId:n,drawingId:i,transform:{...t},groupId:o}});return r.featurePluginGroupUpdateNotification([{parent:l,children:u}]),!0}},IGe={id:"drawing.operation.cancel-drawing-group",type:Bc.OPERATION,handler:(e,t)=>{let r=e.get(Sre),n=(t.drawings||r.getFocusDrawings()).map(e=>{if(e.drawingType!==bc.DRAWING_GROUP)return null;let{unitId:t,subUnitId:n,drawingId:i,transform:a={width:0,height:0},groupBaseBound:o}=e;if(null===a)return null;let s=r.getDrawingsByGroup({unitId:t,subUnitId:n,drawingId:i});return 0===s.length?null:{parent:e,children:s.map(e=>{let{transform:t}=e,{unitId:r,subUnitId:n,drawingId:i}=e,s=BF(t||{},a,a.width||0,a.height||0,o);return{unitId:r,subUnitId:n,drawingId:i,transform:{...t,...s},groupId:void 0}})}}).filter(e=>null!==e);return 0!==n.length&&(r.featurePluginUngroupUpdateNotification(n),!0)}},RGe={id:"sheet.operation.open-image-crop",type:Bc.OPERATION,handler:(e,t)=>!0},xGe={id:"sheet.operation.close-image-crop",type:Bc.OPERATION,handler:(e,t)=>!0};let TGe=function(e){return e.FREE="0",e.R1_1="1",e.R16_9="2",e.R9_16="3",e.R5_4="4",e.R4_5="5",e.R4_3="6",e.R3_4="7",e.R3_2="8",e.R2_3="9",e}({});const NGe={id:"sheet.operation.Auto-image-crop",type:Bc.OPERATION,handler:(e,t)=>!0},MGe={id:"sheet.operation.image-reset-size",type:Bc.OPERATION,handler:(e,t)=>!0};function OGe(e,t,r,n){let i=n.getDrawingByParam(e);if(null==i)return;let a=Ure(e),o=r.getObjectIncludeInGroup(a);if(o&&!(o instanceof fX))return;if(null!=o){let e=o.getObjects();for(let r of e)if(r.oKey===t.oKey)return;return void o.addObject(t)}let s=new gX(a);r.addObject(s,4).attachTransformerTo(s),s.addObject(t);let{transform:l,groupBaseBound:u}=i;u&&s.setBaseBound(u),i.groupId&&(s.isInGroup=!0,OGe({drawingId:i.groupId,unitId:e.unitId,subUnitId:e.subUnitId},s,r,n)),l&&s.transformByState({left:l.left,top:l.top,angle:l.angle,width:l.width,height:l.height})}function LGe(e,t){let r=t?e.getUnit(t):e.getFocusedUnit();if(null==r)return;let n,i=r.getUnitId();var a;return r.type===Pi.UNIVER_SHEET?n=null==(a=r.getActiveSheet())?void 0:a.getSheetId():(r.type===Pi.UNIVER_DOC||r.type===Pi.UNIVER_SLIDE)&&(n=i),{unitId:i,subUnitId:n,current:r}}const kGe="drawing-ui.config";Symbol(kGe);const PGe={},DGe=e=>{let t=e.get(Sre);return new Tn(e=>{let r=t=>{if(!t||0===t.length||t.length<2)return e.next(!0);e.next(!1)},n=t.focus$.subscribe(t=>{if(!t||0===t.length)return e.next(!0);r(t)});return r(t.getFocusDrawings()),()=>n.unsubscribe()})},UGe="contextMenu.drawing-align",BGe="contextMenu.drawing-arrange",VGe=(e,t)=>{let r=e.get(Sre);return new Tn(e=>{let n=r=>{if(!r||0===r.length)return e.next(!0);if("group"===t){if(r.length<2||!r.every(e=>SGe.includes(e.drawingType)))return e.next(!0)}else if("unGroup"===t){if(0===r.filter(e=>e.drawingType===bc.DRAWING_GROUP).length)return e.next(!0)}else if(!r.every(e=>SGe.includes(e.drawingType)))return e.next(!0);e.next(!1)},i=r.focus$.subscribe(t=>{if(!t||0===t.length)return e.next(!0);n(t)});return n(r.getFocusDrawings()),()=>i.unsubscribe()})},FGe="contextMenu.drawing-group",jGe={[tee.DRAWING]:{[ree.OTHERS]:{[FGe]:{order:1,menuItemFactory:function(e){return{id:FGe,type:lee.SUBITEMS,icon:"GroupIcon",title:"image-panel.group.title",hidden$:VGe(e)}},[AGe.id]:{order:0,menuItemFactory:function(e){return{id:AGe.id,type:lee.BUTTON,icon:"GroupIcon",title:"image-panel.group.group",disabled$:VGe(e,"group")}}},[IGe.id]:{order:1,menuItemFactory:function(e){return{id:IGe.id,type:lee.BUTTON,icon:"UngroupIcon",title:"image-panel.group.unGroup",disabled$:VGe(e,"unGroup")}}}},[BGe]:{order:2,menuItemFactory:function(){return{id:BGe,type:lee.SUBITEMS,icon:"TopmostIcon",title:"image-panel.arrange.title"}},[yGe.id]:{order:0,menuItemFactory:function(){return{id:yGe.id,type:lee.BUTTON,icon:"TopmostIcon",title:"image-panel.arrange.front"}}},[_Ge.id]:{order:1,menuItemFactory:function(){return{id:_Ge.id,type:lee.BUTTON,icon:"MoveUpIcon",title:"image-panel.arrange.forward"}}},[wGe.id]:{order:2,menuItemFactory:function(){return{id:wGe.id,type:lee.BUTTON,icon:"BottomIcon",title:"image-panel.arrange.back"}}},[EGe.id]:{order:3,menuItemFactory:function(){return{id:EGe.id,type:lee.BUTTON,icon:"MoveDownIcon",title:"image-panel.arrange.backward"}}}},[UGe]:{order:3,menuItemFactory:function(e){return{id:UGe,type:lee.SUBITEMS,icon:"HorizontallyIcon",title:"image-panel.align.title",hidden$:DGe(e)}},[dGe.id]:{order:0,menuItemFactory:function(){return{id:dGe.id,type:lee.BUTTON,icon:"LeftJustifyingIcon",title:"image-panel.align.left"}}},[hGe.id]:{order:1,menuItemFactory:function(){return{id:hGe.id,type:lee.BUTTON,icon:"HorizontallyIcon",title:"image-panel.align.center"}}},[mGe.id]:{order:2,menuItemFactory:function(){return{id:mGe.id,type:lee.BUTTON,icon:"RightJustifyingIcon",title:"image-panel.align.right"}}},[fGe.id]:{order:3,menuItemFactory:function(){return{id:fGe.id,type:lee.BUTTON,icon:"AlignTopIcon",title:"image-panel.align.top"}}},[gGe.id]:{order:4,menuItemFactory:function(){return{id:gGe.id,type:lee.BUTTON,icon:"VerticalCenterIcon",title:"image-panel.align.middle"}}},[pGe.id]:{order:5,menuItemFactory:function(){return{id:pGe.id,type:lee.BUTTON,icon:"AlignBottomIcon",title:"image-panel.align.bottom"}}},[vGe.id]:{order:6,menuItemFactory:function(){return{id:vGe.id,type:lee.BUTTON,icon:"HorizontallyIcon",title:"image-panel.align.horizon"}}},[bGe.id]:{order:7,menuItemFactory:function(){return{id:bGe.id,type:lee.BUTTON,icon:"VerticalCenterIcon",title:"image-panel.align.vertical"}}}}}}},HGe="COMPONENT_IMAGE_POPUP_MENU";function WGe(e){var t;let{popup:r}=e,n=null==r||null==(t=r.extraProps)?void 0:t.menuItems;if(!n)return null;let i=iK(Vc),a=iK(Cg),[o,s]=(0,_q.useState)(!1),[l,u]=(0,_q.useState)(!1),c=o||l;return(0,$Z.jsx)("div",{onMouseEnter:()=>{u(!0)},onMouseLeave:()=>{u(!1)},children:(0,$Z.jsx)(H9,{align:"start",items:n.filter(e=>!e.disable).map(e=>({type:"item",children:a.t(e.label),onSelect:()=>(e=>{i.executeCommand(e.commandId,e.commandParams),s(!1)})(e)})),open:o,onOpenChange:e=>{s(e)},children:(0,$Z.jsxs)("div",{className:x7("univer-flex univer-items-center univer-gap-2 univer-rounded univer-p-1 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-800",V7,{"univer-bg-gray-100 dark:!univer-bg-gray-800":o,"univer-bg-white dark:!univer-bg-gray-900":!o}),children:[(0,$Z.jsx)(EOe,{className:"univer-fill-primary-600 univer-text-gray-900 dark:!univer-text-white"}),c&&(0,$Z.jsx)(uQ,{className:"dark:!univer-text-white"})]})})})}function zGe(e,t){return function(r,n){t(r,n,e)}}function XGe(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}let qGe=class extends tu{constructor(e,t,r){super(),this._componentManager=e,this._commandService=t,this._menuManagerService=r,this._init()}_init(){this._initMenus(),this._initCommands(),this._initComponents()}_initMenus(){this._menuManagerService.mergeMenu(jGe)}_initCommands(){[RGe,xGe,MGe,cGe,dGe,hGe,mGe,fGe,gGe,pGe,vGe,bGe,NGe,AGe,IGe,CGe,yGe,_Ge,wGe,EGe].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e)))}_initComponents(){[[HGe,WGe],["BottomIcon",Zqe],["GroupIcon",$qe],["MoveDownIcon",eGe],["MoveUpIcon",rGe],["TopmostIcon",iGe],["UngroupIcon",oGe]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}};function GGe(e,t){let r=[];return e.forEach(e=>{let{oKey:n,left:i,top:a,height:o,width:s,angle:l}=e,u=t.getDrawingOKey(n);if(null==u)return r.push(null),!0;let{unitId:c,subUnitId:d,drawingId:h,drawingType:m}=u,f={unitId:c,subUnitId:d,drawingId:h,drawingType:m,transform:{left:i,top:a,height:o,width:s,angle:l}};m===bc.DRAWING_IMAGE&&(f.srcRect=e.srcRect),r.push(f)}),r}function YGe(e){return YGe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},YGe(e)}function QGe(e,t,r){return(t=function(e){var t=function(e){if("object"!=YGe(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=YGe(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==YGe(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}qGe=XGe([zGe(0,Y(W5)),zGe(1,Vc),zGe(2,nee)],qGe);let ZGe=class extends tu{constructor(e,t,r,n){super(),this._currentUniverService=e,this._commandService=t,this._renderManagerService=r,this._drawingManagerService=n,QGe(this,"_sceneListenerOnDrawingMap",new WeakSet),this._initialize()}dispose(){super.dispose()}_initialize(){this._recoveryImages(),this._drawingAddListener(),this._drawingRemoveListener(),this._drawingUpdateListener(),this._commandExecutedListener(),this._drawingArrangeListener(),this._drawingGroupListener(),this._drawingRefreshListener(),this._drawingVisibleListener()}_recoveryImages(){let e=this._drawingManagerService.drawingManagerData,t=LGe(this._currentUniverService);if(null==t)return;let{unitId:r,subUnitId:n}=t;Object.keys(e).forEach(t=>{Object.keys(e[t]).forEach(i=>{let a=e[t][i].data;null==a||t!==r||i!==n||Object.keys(a).forEach(e=>{a[e]&&this._insertDrawing([{unitId:t,subUnitId:i,drawingId:e}])})})})}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===cGe.id){let t=e.params;if(null==t)return;this._drawingAlign(t)}}))}_drawingGroupListener(){this.disposeWithMe(this._drawingManagerService.group$.subscribe(e=>{this._groupDrawings(e)})),this.disposeWithMe(this._drawingManagerService.ungroup$.subscribe(e=>{this._ungroupDrawings(e)}))}_getSceneAndTransformerByDrawingSearch(e){if(null==e)return;let t=this._renderManagerService.getRenderById(e),r=null==t?void 0:t.scene;return null==r?null:{scene:r,transformer:r.getTransformerByCreate()}}_groupDrawings(e){e.forEach(e=>{this._groupDrawing(e)})}_groupDrawing(e){let{parent:t,children:r}=e,{unitId:n,subUnitId:i,drawingId:a}=t,o=this._getSceneAndTransformerByDrawingSearch(t.unitId);if(null==o)return;let{scene:s,transformer:l}=o;this._commandService.syncExecuteCommand(xGe.id);let u=[];if(r.forEach(e=>{let t=Ure(e),r=s.getObjectIncludeInGroup(t);if(null==r||u.includes(r))return;u.push(r);let{transform:n}=e;null!=n&&(r.classType===LV.GROUP?r.transformByState({left:n.left,top:n.top}):r.transformByState(n))}),0===u.length)return;let c=new gX(Ure({unitId:n,subUnitId:i,drawingId:a}));s.addObject(c,4).attachTransformerTo(c),c.addObjects(...u),t.groupBaseBound&&c.setBaseBound(t.groupBaseBound),t.groupId&&(c.isInGroup=!0,OGe({drawingId:t.groupId,unitId:n,subUnitId:i},c,s,this._drawingManagerService)),t.transform&&c.transformByState({left:t.transform.left,top:t.transform.top,width:t.transform.width,height:t.transform.height,angle:t.transform.angle}),l.clearSelectedObjects(),l.setSelectedControl(c)}_ungroupDrawings(e){e.forEach(e=>{this._ungroupDrawing(e)})}_ungroupDrawing(e){let{parent:t,children:r}=e,n=this._getSceneAndTransformerByDrawingSearch(t.unitId);if(null==n)return;let{scene:i,transformer:a}=n;r.forEach(e=>{let t=Ure(e),r=i.getObjectIncludeInGroup(t);if(null==r)return!0;if(null==r)return;let{transform:n}=e;null!=n&&(r.classType===LV.GROUP?r.transformByState({left:n.left,top:n.top}):r.transformByState(n))});let o=Ure(t),s=i.getObject(o),{width:l,height:u}=s;s.getObjects().forEach(e=>{s.removeSelfObjectAndTransform(e.oKey,l,u)}),s.dispose(),a.clearSelectedObjects()}_drawingAlign(e){let{alignType:t}=e,r=e.drawings||this._drawingManagerService.getFocusDrawings();if(t===uGe.default)return;let n=[],i=1/0,a=1/0,o=-1/0,s=-1/0,l=0;r.forEach(e=>{let{unitId:t,subUnitId:r,drawingId:u,drawingType:c}=e,d=this._drawingManagerService.getDrawingByParam({unitId:t,subUnitId:r,drawingId:u});if(null==d||null==d.transform)return;n.push({unitId:t,subUnitId:r,drawingId:u,drawingType:c,transform:d.transform});let{left:h=0,top:m=0,width:f=0,height:g=0}=d.transform;i=Math.min(i,h),a=Math.min(a,m),o=Math.max(o,h+f),s=Math.max(s,m+g),l++}),0!==l&&(this._sortDrawingTransform(n,t),this._applyAlignType(n,t,i,a,o,s,l))}_applyAlignType(e,t,r,n,i,a,o){let s=Math.round((i-r)/o*10)/10,l=Math.round((a-n)/o*10)/10,u=[],c=this._getSceneAndTransformerByDrawingSearch(e[0].unitId);if(null==c)return;let{scene:d,transformer:h}=c;e.forEach((e,o)=>{let{unitId:c,subUnitId:d,drawingId:h,transform:m,drawingType:f}=e,{left:g=0,top:p=0,width:v=0,height:b=0}=m,C=g,y=p;switch(t){case uGe.left:C=r;break;case uGe.center:C=r+(i-r)/2-v/2;break;case uGe.right:C=i-v;break;case uGe.top:y=n;break;case uGe.middle:y=n+(a-n)/2-b/2;break;case uGe.bottom:y=a-b;break;case uGe.horizon:C=r+s*o;break;case uGe.vertical:y=n+l*o}(C!==g||y!==p)&&u.push({unitId:c,subUnitId:d,drawingId:h,drawingType:f,transform:{left:C,top:y}})}),this._drawingManagerService.featurePluginUpdateNotification(u),h.refreshControls().changeNotification()}_sortDrawingTransform(e,t){e.sort((e,r)=>{let n=e.transform,i=r.transform,{left:a=0,top:o=0,width:s=0,height:l=0}=n,{left:u=0,top:c=0,width:d=0,height:h=0}=i;switch(t){case uGe.left:return a-u;case uGe.center:return a+s/2-(u+d/2);case uGe.right:return a+s-(u+d);case uGe.top:return o-c;case uGe.middle:return o+l/2-(c+h/2);case uGe.bottom:return o+l-(c+h);case uGe.horizon:return a+s/2-(u+d/2);case uGe.vertical:return o+l/2-(c+h/2);default:return 0}})}_drawingArrangeListener(){this.disposeWithMe(this._drawingManagerService.order$.subscribe(e=>{this._drawingArrange(e)}))}_drawingArrange(e){let{unitId:t,subUnitId:r,drawingIds:n}=e,i=this._getSceneAndTransformerByDrawingSearch(t);if(null==i)return;let{scene:a}=i;n.forEach(e=>{let n=Ure({unitId:t,subUnitId:r,drawingId:e}),i=a.fuzzyMathObjects(n,!0);if(null==i||0===i.length)return;let o=this._drawingManagerService.getDrawingOrder(t,r).indexOf(e);for(let e of i)e.setProps({zIndex:o}),e.makeDirty()})}_drawingAddListener(){this.disposeWithMe(this._drawingManagerService.add$.subscribe(e=>{this._insertDrawing(e)}))}_insertDrawing(e){let t=[];e.forEach(e=>{let{unitId:r}=e;if(null==this._drawingManagerService.getDrawingByParam(e))return;let n=this._getSceneAndTransformerByDrawingSearch(r);if(null==n)return;let{scene:i}=n;t.includes(i)||t.push(i)}),t.forEach(e=>{this._sceneListenerOnDrawingMap.has(e)||(this._addListenerOnDrawing(e),this._sceneListenerOnDrawingMap.add(e))})}_drawingRemoveListener(){this.disposeWithMe(this._drawingManagerService.remove$.subscribe(e=>{e.forEach(e=>{let{unitId:t,subUnitId:r,drawingId:n}=e,i=this._getSceneAndTransformerByDrawingSearch(t);if(null==i)return;let{scene:a}=i,o=Ure({unitId:t,subUnitId:r,drawingId:n}),s=a.fuzzyMathObjects(o,!0);if(s.length>0){var l;for(let e of s)e.dispose();null==(l=a.getTransformer())||l.clearSelectedObjects()}})}))}_drawingUpdateListener(){this.disposeWithMe(this._drawingManagerService.update$.subscribe(e=>{e.forEach(e=>{var t;let{unitId:r,subUnitId:n,drawingId:i}=e,a=this._drawingManagerService.getDrawingByParam(e);if(null==a)return;let{transform:o,drawingType:s}=a,l=this._getSceneAndTransformerByDrawingSearch(r);if(null==l)return;let{scene:u,transformer:c}=l;if(null==o)return!0;let{left:d=0,top:h=0,width:m=0,height:f=0,angle:g=0,flipX:p=!1,flipY:v=!1,skewX:b=0,skewY:C=0}=o,y=Ure({unitId:r,subUnitId:n,drawingId:i}),_=u.getObject(y);if(null==_)return!0;_.transformByState({left:d,top:h,width:m,height:f,angle:g,flipX:p,flipY:v,skewX:b,skewY:C}),null==(t=u.getTransformer())||t.debounceRefreshControls()})}))}_drawingRefreshListener(){this.disposeWithMe(this._drawingManagerService.refreshTransform$.subscribe(e=>{e.forEach(e=>{let{unitId:t,subUnitId:r,drawingId:n}=e,i=this._getSceneAndTransformerByDrawingSearch(t);if(null==i)return;let a=this._drawingManagerService.getDrawingByParam(e);if(null==a)return;let{transform:o}=a,{scene:s}=i,l=Ure({unitId:t,subUnitId:r,drawingId:n}),u=s.getObject(l);if(null==u||null==o)return!0;let{left:c=0,top:d=0,width:h=0,height:m=0,angle:f=0,flipX:g=!1,flipY:p=!1,skewX:v=0,skewY:b=0}=o;u.transformByState({left:c,top:d,width:h,height:m,angle:f,flipX:g,flipY:p,skewX:v,skewY:b})})}))}_drawingVisibleListener(){this.disposeWithMe(this._drawingManagerService.visible$.subscribe(e=>{e.forEach(e=>{let{unitId:t,subUnitId:r,drawingId:n,visible:i}=e,a=this._getSceneAndTransformerByDrawingSearch(t);if(null==a)return;let{scene:o}=a,s=Ure({unitId:t,subUnitId:r,drawingId:n}),l=o.getObject(s);if(null==l)return!0;i?l.show():l.hide()})}))}_filterUpdateParams(e,t){return e.filter((e,r)=>{if(null==e)return!1;let{transform:n}=e;return Zc(n,null==t?void 0:t[r])})}_addListenerOnDrawing(e){let t=e.getTransformerByCreate(),r=null;this.disposeWithMe(Jl(t.changeStart$.subscribe(e=>{let{objects:t}=e,n=Array.from(t.values()),i=[];r=n.map(e=>{let{left:t,top:r,height:n,width:a,angle:o,oKey:s,isInGroup:l}=e,u=this._drawingManagerService.getDrawingOKey(s);if(l||e instanceof fX){let t=e.ancestorGroup;if(null==t&&e instanceof fX&&(t=e),null==t)return null;let r=this._drawingManagerService.getDrawingOKey(t.oKey);if(r){let{unitId:e,subUnitId:n,drawingId:a}=r;i.push({unitId:e,subUnitId:n,drawingId:a});let{left:o,top:s,height:l,width:u,angle:c}=t;return{left:o,top:s,height:l,width:u,angle:c}}}else if(null!=u){let{unitId:e,subUnitId:s,drawingId:l}=u;return i.push({unitId:e,subUnitId:s,drawingId:l}),{left:t,top:r,height:n,width:a,angle:o}}return null}).filter(e=>null!=e),i.length>0?this._commandService.syncExecuteCommand(Are.id,i):this._commandService.syncExecuteCommand(Are.id,[])}))),this.disposeWithMe(Jl(t.changeEnd$.subscribe(e=>{let{objects:t}=e,n=this._filterUpdateParams(GGe(t,this._drawingManagerService),r);n.length>0&&this._drawingManagerService.featurePluginUpdateNotification(n)})))}};ZGe=XGe([zGe(0,dg),zGe(1,Vc),zGe(2,kX),zGe(3,Sre)],ZGe);var KGe=function(e){return e[e.RECT=0]="RECT",e[e.PATH=1]="PATH",e}(KGe||{}),$Ge=class extends oH{constructor(e,t){null==t&&(t={}),t.transformerConfig={keepRatio:!1,isCropper:!0,anchorFill:"rgb(0, 0, 0)",anchorStroke:"rgb(255, 255, 255)",anchorSize:24},super(e,t),QGe(this,"_srcRect",void 0),QGe(this,"_prstGeom",void 0),QGe(this,"_applyTransform",void 0),QGe(this,"_dragPadding",8),QGe(this,"_cacheCanvas",void 0),null!=t&&t.srcRect&&(this._srcRect=t.srcRect),null!=t&&t.prstGeom&&(this._prstGeom=t.prstGeom),null!=t&&t.applyTransform&&(this._applyTransform=t.applyTransform),null!=t&&t.dragPadding&&(this._dragPadding=t.dragPadding),this._applyProps()}refreshSrcRect(e,t){this._srcRect=e,this._applyTransform=t,this._applyProps()}get srcRect(){return this._srcRect}dispose(){var e;super.dispose(),null==(e=this._cacheCanvas)||e.dispose(),this._srcRect=null}isHit(e){let t=this.getInverseCoord(e);return t.x>=-this.strokeWidth/2&&t.x<=this.width+this.strokeWidth/2&&t.y>=-this.strokeWidth/2&&t.y<=this.height+this.strokeWidth/2&&!this._inSurround(t)}_inSurround(e){let t=this._dragPadding;return e.x>=t-this.strokeWidth/2&&e.x<=this.width+this.strokeWidth/2-t&&e.y>=t-this.strokeWidth/2&&e.y<=this.height+this.strokeWidth/2-t}render(e,t){return this.visible?(e.save(),this._draw(e),e.restore(),this.makeDirty(!1),this):(this.makeDirty(!1),this)}_draw(e){var t,r;let{width:n,height:i}=this.getScene().getEngine();this._initialCacheCanvas(),null==(t=this._cacheCanvas)||t.clear();let a=null==(r=this._cacheCanvas)?void 0:r.getContext();null!=a&&(a.save(),tX.drawWith(a,{left:0,top:0,width:n,height:i,fill:"rgba(0, 0, 0, 0.5)"}),a.setTransform(e.getTransform()),this._clipForApplyObject(a),this._applyCache(e),a.restore())}_clipForApplyObject(e){let t=KGe.RECT;if(null!=this._prstGeom&&(t=KGe.PATH),e.globalCompositeOperation="destination-out",e.beginPath(),t===KGe.RECT){let t=this.transform.getMatrix();e.transform(t[0],t[1],t[2],t[3],t[4],t[5]),e.rect(0,0,this.width,this.height),e.fill()}}_applyProps(){if(null==this._applyTransform)return;let e=0,t=0,r=0,n=0,{left:i=0,top:a=0,width:o=0,height:s=0,angle:l}=this._applyTransform;if(null!=this._srcRect){let{left:i=0,top:a=0,right:o=0,bottom:s=0}=this._srcRect;e=i,t=a,r=o,n=s}let u=i+e,c=a+t;this.transformByState({left:u,top:c,width:i+o-r-u,height:a+s-n-c,angle:l})}_applyCache(e){if(!e||null==this._cacheCanvas)return;let t=this._cacheCanvas.getContext();t.save(),e.save(),e.setTransform(1,0,0,1,0,0),t.setTransform(1,0,0,1,0,0),e.drawImage(this._cacheCanvas.getCanvasEle(),0,0),e.restore(),t.restore()}_initialCacheCanvas(){if(null!=this._cacheCanvas)return;let e=this.getScene();if(null==e)return;this._cacheCanvas=new lj;let t=e.getEngine();this._cacheCanvas.setSize(t.width,t.height),t.onTransformChange$.subscribeEvent(()=>{var e;null==(e=this._cacheCanvas)||e.setSize(t.width,t.height),this.makeDirty(!0)})}};let JGe=class extends tu{constructor(e,t,r,n,i,a){super(),this._commandService=e,this._drawingManagerService=t,this._renderManagerService=r,this._univerInstanceService=n,this._messageService=i,this._localeService=a,QGe(this,"_sceneListenerOnImageMap",new WeakSet),this._init()}_init(){this._initOpenCrop(),this._initCloseCrop(),this._initAutoCrop()}_initAutoCrop(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id!==NGe.id)return;let t=e.params;if(null==t)return;let{cropType:r}=t,n=this._drawingManagerService.getFocusDrawings();if(1!==n.length)return;let{unitId:i,subUnitId:a,drawingId:o}=n[0],s=this._renderManagerService.getRenderById(i),l=null==s?void 0:s.scene;if(null==l)return!0;null!=this._searchCropObject(l)&&this._commandService.syncExecuteCommand(xGe.id,{isAuto:!0});let u=Ure({unitId:i,subUnitId:a,drawingId:o}),c=l.getObject(u);c instanceof nX?null!=c&&(this._updateCropperObject(r,c),this._commandService.executeCommand(RGe.id,{unitId:i,subUnitId:a,drawingId:o})):this._messageService.show({type:o5.Error,content:this._localeService.t("image-cropper.error")})}))}_calculateSrcRectByRatio(e,t,r,n,i,a){let o=i/a,s=r,l=n;r/n>o?s=n*o:l=r/o;let u=(r-s)/2,c=(n-l)/2;return{left:QV(u,1),top:QV(c,1),right:QV(r-(u+s),1),bottom:QV(n-(c+l),1)}}_updateCropperObject(e,t){let r,{left:n,top:i,width:a,height:o}=t.calculateTransformWithSrcRect();switch(e){case TGe.R1_1:r=this._calculateSrcRectByRatio(n,i,a,o,1,1);break;case TGe.R16_9:r=this._calculateSrcRectByRatio(n,i,a,o,16,9);break;case TGe.R9_16:r=this._calculateSrcRectByRatio(n,i,a,o,9,16);break;case TGe.R5_4:r=this._calculateSrcRectByRatio(n,i,a,o,5,4);break;case TGe.R4_5:r=this._calculateSrcRectByRatio(n,i,a,o,4,5);break;case TGe.R4_3:r=this._calculateSrcRectByRatio(n,i,a,o,4,3);break;case TGe.R3_4:r=this._calculateSrcRectByRatio(n,i,a,o,3,4);break;case TGe.R3_2:r=this._calculateSrcRectByRatio(n,i,a,o,3,2);break;case TGe.R2_3:r=this._calculateSrcRectByRatio(n,i,a,o,2,3);case TGe.FREE:}if(null==r)return;t.setSrcRect(r);let{left:s=0,top:l=0,bottom:u=0,right:c=0}=r;t.transformByStateCloseCropper({left:n+s,top:i+l,width:a-c-s,height:o-u-l})}_initOpenCrop(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id!==RGe.id)return;let t=e.params;if(null==t)return;let{unitId:r,subUnitId:n,drawingId:i}=t,a=this._renderManagerService.getRenderById(r),o=null==a?void 0:a.scene;if(null==o)return!0;if(this._sceneListenerOnImageMap.has(o)||(this._addListenerOnImage(o),this._sceneListenerOnImageMap.add(o)),null==this._drawingManagerService.getDrawingByParam({unitId:r,subUnitId:n,drawingId:i}))return;let s=Ure({unitId:r,subUnitId:n,drawingId:i}),l=o.getObject(s);if(null==l)return;if(!(l instanceof nX))return void this._messageService.show({type:o5.Error,content:this._localeService.t("image-cropper.error")});let u=o.getTransformer();null==u||u.clearControls();let c=new $Ge(`${s}-crop`,{srcRect:l.srcRect,prstGeom:l.prstGeom,applyTransform:l.calculateTransformWithSrcRect()});o.addObject(c,l.getLayerIndex()+1).attachTransformerTo(c),null==u||u.createControlForCopper(c),this._addHoverForImageCopper(c),l.openRenderByCropper(),null==u||u.refreshControls(),c.makeDirty(!0),this._commandService.syncExecuteCommand(Are.id,[{unitId:r,subUnitId:n,drawingId:i}])}))}_searchCropObject(e){let t=e.getAllObjectsByOrder();for(let e of t)if(e instanceof $Ge)return e}_initCloseCrop(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id!==xGe.id)return;let t=this._univerInstanceService.getFocusedUnit();if(null==t)return;let r=t.getUnitId(),n=this._renderManagerService.getRenderById(r),i=null==n?void 0:n.scene;if(null==i)return!0;let a=this._searchCropObject(i);if(null==a)return;let o=this._getApplyObjectByCropObject(a);if(null==o)return;let s=i.getTransformerByCreate();s.detachFrom(a),s.clearCopperControl();let l=this._getSrcRectByTransformState(o,a),u=this._drawingManagerService.getDrawingOKey(o.oKey);if(null!=u){let{left:e,top:t,height:r,width:n}=a;this._drawingManagerService.featurePluginUpdateNotification([{...u,transform:{...u.transform,left:e,top:t,height:r,width:n},srcRect:l.srcRectAngle}])}o.setSrcRect({...l.srcRectAngle}),o.closeRenderByCropper(),o.makeDirty(!0),null==a||a.dispose()}));let e=this._univerInstanceService.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET).pipe(aq(e=>e?e.activeSheet$:Ai(null)));this.disposeWithMe(e.subscribe(()=>{this._commandService.syncExecuteCommand(xGe.id)}))}_getApplyObjectByCropObject(e){let t=e.oKey,r=t.slice(0,t.length-5),n=e.getScene();if(!n)return null;let i=n.getObject(r);return null==i?null:i}_addListenerOnImage(e){let t=e.getTransformerByCreate(),r=null;this.disposeWithMe(t.changeStart$.subscribe(e=>{let{objects:n}=e,i=n.values().next().value;if(null==i||!(i instanceof $Ge))return;let{left:a,top:o,height:s,width:l,angle:u}=i;r={left:a,top:o,height:s,width:l,angle:u},t.clearCopperControl()})),this.disposeWithMe(t.changeEnd$.subscribe(e=>{let{objects:n}=e,i=n.values().next().value;if(null==i||!(i instanceof $Ge))return;let{left:a,top:o,height:s,width:l,angle:u}=i;if(!Zc({left:a,top:o,height:s,width:l,angle:u},r))return;let c=this._getApplyObjectByCropObject(i);if(null==c)return;let d=this._getSrcRectByTransformState(c,i);i.refreshSrcRect(d.srcRect,c.getState()),t.createControlForCopper(i)})),this._endCropListener(e)}_addHoverForImageCopper(e){this.disposeWithMe(e.onPointerEnter$.subscribeEvent(()=>{e.cursor=TV.MOVE})),this.disposeWithMe(e.onPointerLeave$.subscribeEvent(()=>{e.cursor=TV.DEFAULT}))}_endCropListener(e){let t=e.getTransformerByCreate();this.disposeWithMe(t.clearControl$.subscribe(e=>{!0===e&&this._commandService.syncExecuteCommand(xGe.id)}))}_getSrcRectByTransformState(e,t){let{left:r,top:n,height:i,width:a,strokeWidth:o,angle:s}=t,{left:l,top:u,width:c,height:d,angle:h,strokeWidth:m}=e,f=r-l,g=n-u,p={left:f,top:g,right:c-f-a,bottom:d-g-i},v={...p};if(0!==h){let e=new TF(r+a/2,n+i/2),t=new TF(c/2+l,d/2+u),o=new TF(l,u);o.rotateByPoint(zV(h),t);let s=o.clone();s.rotateByPoint(zV(-h),e);let m=r-s.x,f=n-s.y;v.left=m,v.top=f,v.right=c-m-a,v.bottom=d-f-i}return{srcRect:p,srcRectAngle:v}}};JGe=XGe([zGe(0,Vc),zGe(1,Sre),zGe(2,kX),zGe(3,dg),zGe(4,C8),zGe(5,Y(Cg))],JGe);let eYe=class{constructor(e,t,r,n,i){this._drawingManagerService=e,this._imageIoService=t,this._galleryService=r,this._urlImageService=n,this._univerInstanceService=i}async renderImages(e,t){let{transform:r,drawingType:n,source:i,imageSourceType:a,srcRect:o,prstGeom:s,groupId:l,unitId:u,subUnitId:c,drawingId:d,isMultiTransform:h,transforms:m}=e;if(n!==bc.DRAWING_IMAGE||!this._drawingManagerService.getDrawingVisible()||this._univerInstanceService.getUnitType(u)===Pi.UNIVER_SHEET&&c!==this._getActiveSheetId()||null==r)return;let f=h&&m?m:[r],g=[];for(let r of f){let{left:n,top:m,width:p,height:v,angle:b,flipX:C,flipY:y,skewX:_,skewY:w}=r,E=f.indexOf(r),S=Ure({unitId:u,subUnitId:c,drawingId:d},h?E:void 0),A=t.getObject(S);if(null!=A){A.transformByState({left:n,top:m,width:p,height:v,angle:b,flipX:C,flipY:y,skewX:_,skewY:w});continue}let I=this._drawingManagerService.getDrawingOrder(u,c),R=I.indexOf(d),x={...r,zIndex:-1===R?I.length-1:R},T=this._imageIoService.getImageSourceCache(i,a),N=!1;if(null!=T)x.image=T;else if(a===Lf.UUID)try{x.url=await this._imageIoService.getImage(i)}catch(e){console.error(e);continue}else if(a===Lf.URL){try{x.url=await this._urlImageService.getImage(i)}catch(e){console.error(e),x.url=i}N=!0}else x.url=i,N=!0;if(t.getObject(S))continue;x.printable=!0;let M=new nX(S,x);N&&this._imageIoService.addImageSourceCache(i,a,M.getNative()),t.addObject(M,4),this._drawingManagerService.getDrawingEditable()&&t.attachTransformerTo(M),l&&OGe({drawingId:l,unitId:u,subUnitId:c},M,t,this._drawingManagerService),null!=s&&M.setPrstGeom(s),null!=o&&M.setSrcRect(o),g.push(M)}return g}_getActiveSheetId(){var e;return null==(e=this._univerInstanceService.getCurrentUnitOfType(Pi.UNIVER_SHEET))||null==(e=e.getActiveSheet())?void 0:e.getSheetId()}renderFloatDom(e,t){let{transform:r,drawingType:n,groupId:i,unitId:a,subUnitId:o,drawingId:s,isMultiTransform:l,transforms:u}=e;if(n!==bc.DRAWING_DOM||!this._drawingManagerService.getDrawingVisible()||null==r)return;let c=l&&u?u:[r],d=[];for(let r of c){let{left:n,top:u,width:h,height:m,angle:f,flipX:g,flipY:p,skewX:v,skewY:b}=r,C=c.indexOf(r),y=Ure({unitId:a,subUnitId:o,drawingId:s},l?C:void 0),_=t.getObject(y);if(null!=_){_.transformByState({left:n,top:u,width:h,height:m,angle:f,flipX:g,flipY:p,skewX:v,skewY:b});continue}let w=this._drawingManagerService.getDrawingOrder(a,o),E=w.indexOf(s),S={...r,zIndex:-1===E?w.length-1:E};if(t.getObject(y))continue;S.printable=!1;let A=new tX(y,S);this._drawingManagerService.getDrawingVisible()&&(t.addObject(A,4),this._drawingManagerService.getDrawingEditable()&&!1!==e.allowTransform&&t.attachTransformerTo(A),i&&OGe({drawingId:i,unitId:a,subUnitId:o},A,t,this._drawingManagerService),d.push(A))}return d}renderDrawing(e,t){let r=this._drawingManagerService.getDrawingByParam(e);if(null!=r&&r.drawingType===bc.DRAWING_IMAGE)return this.renderImages(r,t)}previewImage(e,t,r,n){this._galleryService.open({images:[t],onOpenChange:e=>{e||this._galleryService.close()}})}_adjustImageSize(e,t,r,n){if(e<=r&&t<=n)return{width:e,height:t};let i=r/e,a=n/t,o=Math.min(i,a);return{width:Math.floor(e*o),height:Math.floor(t*o)}}};eYe=XGe([zGe(0,Sre),zGe(1,Pf),zGe(2,rre),zGe(3,Df),zGe(4,dg)],eYe);let tYe=class extends tu{constructor(e,t,r,n,i,a,o){super(),this._commandService=e,this._renderManagerService=t,this._drawingManagerService=r,this._dialogService=n,this._imageIoService=i,this._currentUniverService=a,this._drawingRenderService=o,this._initialize()}dispose(){super.dispose()}_initialize(){this._drawingAddListener(),this._commandExecutedListener(),this._imageUpdateListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===MGe.id){let t=e.params;if(null==t)return;this._resetImageSize(t)}}))}_getSceneAndTransformerByDrawingSearch(e){if(null==e)return;let t=this._renderManagerService.getRenderById(e),r=null==t?void 0:t.scene;return null==r?null:{scene:r,transformer:r.getTransformerByCreate()}}_resetImageSize(e){let t=[],r=[];e.forEach(e=>{let{unitId:n,subUnitId:i,drawingId:a}=e,o=this._getSceneAndTransformerByDrawingSearch(n);if(null==o)return;let{scene:s}=o,l=Ure({unitId:n,subUnitId:i,drawingId:a}),u=s.getObject(l);if(null==u)return!0;let c=this._drawingManagerService.getDrawingByParam(e);if(null==c)return!0;if(c.drawingType!==bc.DRAWING_IMAGE)return;u.resetSize();let{width:d,height:h}=u.getNativeSize();!1===r.includes(s)&&r.push(s),t.push({...c,transform:{...c.transform,height:h,width:d,angle:0},srcRect:null,prstGeom:null})}),this._drawingManagerService.featurePluginUpdateNotification(t),r.forEach(e=>{e.getTransformerByCreate().refreshControls().changeNotification()}),this._commandService.syncExecuteCommand(Are.id,e)}_drawingAddListener(){this.disposeWithMe(this._drawingManagerService.add$.pipe(une(33),Un(e=>e.length>0),Yn(e=>e.flat()),Yn(e=>{let t=new Map;for(let r of e)t.set(`${r.unitId}|${r.subUnitId}|${r.drawingId}`,r);return[...t.values()]}),Un(e=>e.length>0)).subscribe(e=>{this._insertImages(e)}))}_insertImages(e){e.forEach(async e=>{var t;let{unitId:r,subUnitId:n}=e,i=this._getSceneAndTransformerByDrawingSearch(r),a=null==(t=LGe(this._currentUniverService,r))?void 0:t.subUnitId;if(null==i||a!==n)return;let o=this._drawingManagerService.getDrawingByParam(e);if(null==o)return;let s=await this._drawingRenderService.renderImages(o,i.scene);if(this._drawingManagerService.refreshTransform([o]),null!=s&&0!==s.length)for(let e of s)this._addHoverForImage(e),this._addDialogForImage(e)})}_imageUpdateListener(){this.disposeWithMe(this._drawingManagerService.update$.subscribe(e=>{e.forEach(e=>{let{unitId:t,subUnitId:r,drawingId:n}=e,i=this._drawingManagerService.getDrawingByParam(e);if(null==i)return;let{transform:a,drawingType:o,srcRect:s,prstGeom:l,source:u,imageSourceType:c}=i;if(o!==bc.DRAWING_IMAGE)return;let d=this._getSceneAndTransformerByDrawingSearch(t);if(null==d)return;let{scene:h,transformer:m}=d;if(null==a)return!0;let f=Ure({unitId:t,subUnitId:r,drawingId:n}),g=h.getObject(f);if(null==g)return!0;g.setSrcRect(s),g.setPrstGeom(l),null!=u&&u.length>0&&(c===Lf.BASE64||c===Lf.URL)&&g.changeSource(u)})}))}_addHoverForImage(e){this.disposeWithMe(Jl(e.onPointerEnter$.subscribeEvent(()=>{e.cursor=TV.GRAB}))),this.disposeWithMe(Jl(e.onPointerLeave$.subscribeEvent(()=>{e.cursor=TV.DEFAULT})))}_addDialogForImage(e){this.disposeWithMe(Jl(e.onDblclick$.subscribeEvent(()=>{let t=`${e.oKey}-viewer-dialog`;this._drawingRenderService.previewImage(t,e.getNative().src,e.getNativeSize().width,e.getNativeSize().height)})))}};tYe=XGe([zGe(0,Vc),zGe(1,kX),zGe(2,Sre),zGe(3,Jte),zGe(4,Pf),zGe(5,dg),zGe(6,Y(eYe))],tYe);let rYe=class extends Rg{constructor(e=PGe,t,r){super(),this._config=e,this._injector=t,this._configService=r;let{menu:n,...i}=hr({},PGe,this._config);n&&this._configService.setConfig("menu",n,{merge:!0}),this._configService.setConfig(kGe,i)}onStarting(){this._initDependencies()}onRendered(){this._injector.get(ZGe),this._injector.get(qGe),this._injector.get(JGe),this._injector.get(tYe)}_initDependencies(){[[eYe],[ZGe],[qGe],[JGe],[tYe]].forEach(e=>this._injector.add(e))}};QGe(rYe,"pluginName","UNIVER_DRAWING_UI_PLUGIN"),QGe(rYe,"packageName","@univerjs/drawing-ui"),QGe(rYe,"version","0.19.0"),rYe=XGe([zGe(1,Y(he)),zGe(2,Tc)],rYe);const nYe=e=>{let t=iK(Vc),r=iK(Cg),{drawings:n,alignShow:i}=e,[a,o]=(0,_q.useState)(uGe.default),s=[{label:r.t("image-panel.align.default"),value:uGe.default},{options:[{label:r.t("image-panel.align.left"),value:uGe.left},{label:r.t("image-panel.align.center"),value:uGe.center},{label:r.t("image-panel.align.right"),value:uGe.right}]},{options:[{label:r.t("image-panel.align.top"),value:uGe.top},{label:r.t("image-panel.align.middle"),value:uGe.middle},{label:r.t("image-panel.align.bottom"),value:uGe.bottom}]},{options:[{label:r.t("image-panel.align.horizon"),value:uGe.horizon},{label:r.t("image-panel.align.vertical"),value:uGe.vertical}]}];return(0,$Z.jsxs)("div",{className:x7("univer-relative univer-w-full",{"univer-hidden":!i}),children:[(0,$Z.jsx)("header",{className:"univer-text-gray-600 dark:!univer-text-gray-200",children:(0,$Z.jsx)("div",{children:r.t("image-panel.align.title")})}),(0,$Z.jsx)("div",{className:"univer-relative univer-mt-2.5 univer-flex univer-h-full",children:(0,$Z.jsx)("div",{className:"univer-w-full univer-text-gray-900 dark:!univer-text-white",children:(0,$Z.jsx)(_5,{value:a,options:s,onChange:function(e){o(e),t.executeCommand(cGe.id,{alignType:e,drawings:n})}})})})]})},iYe=e=>{let{arrangeShow:t,drawings:r}=e,n=iK(Cg),i=iK(Sre),a=iK(Vc),o=iK(W5),s=o.get("MoveUpIcon"),l=o.get("MoveDownIcon"),u=o.get("TopmostIcon"),c=o.get("BottomIcon"),[d,h]=(0,_q.useState)(r);(0,_q.useEffect)(()=>{let e=i.focus$.subscribe(e=>{h(e)});return()=>{e.unsubscribe()}},[]);let m=e=>{a.syncExecuteCommand(CGe.id,{arrangeType:e,drawings:d})};return(0,$Z.jsxs)("div",{className:x7("univer-grid univer-gap-2 univer-py-2 univer-text-gray-400",{"univer-hidden":!t}),children:[(0,$Z.jsx)("header",{className:"univer-text-gray-600 dark:!univer-text-gray-200",children:(0,$Z.jsx)("div",{children:n.t("image-panel.arrange.title")})}),(0,$Z.jsxs)("div",{className:"univer-grid univer-grid-cols-2 univer-gap-2",children:[(0,$Z.jsxs)(O7,{onClick:()=>{m(vc.forward)},children:[(0,$Z.jsx)(s,{}),n.t("image-panel.arrange.forward")]}),(0,$Z.jsxs)(O7,{onClick:()=>{m(vc.backward)},children:[(0,$Z.jsx)(l,{}),n.t("image-panel.arrange.backward")]}),(0,$Z.jsxs)(O7,{onClick:()=>{m(vc.front)},children:[(0,$Z.jsx)(u,{}),n.t("image-panel.arrange.front")]}),(0,$Z.jsxs)(O7,{onClick:()=>{m(vc.back)},children:[(0,$Z.jsx)(c,{}),n.t("image-panel.arrange.back")]})]})]})},aYe=e=>{let t=iK(Cg),r=iK(kX),n=iK(Sre),i=iK(Vc),a=iK(W5),{hasGroup:o,drawings:s}=e,l=a.get("GroupIcon"),u=a.get("UngroupIcon"),[c,d]=(0,_q.useState)(!1),[h,m]=(0,_q.useState)(!0),[f,g]=(0,_q.useState)(!0);return(0,_q.useEffect)(()=>{let e=s[0];if(null==e)return;let{unitId:t}=e,i=r.getRenderById(t),a=null==i?void 0:i.scene;if(null==a)return;let o=a.getTransformerByCreate(),l=o.clearControl$.subscribe(e=>{!0===e&&d(!1)}),u=o.changeStart$.subscribe(e=>{let{objects:t}=e,r=GGe(t,n),i=r.filter(e=>(null==e?void 0:e.drawingType)===bc.DRAWING_GROUP),a=!1,o=!1;r.length>1&&(a=!0),i.length>0&&(o=!0),d(a||o),m(a),g(o)});return()=>{u.unsubscribe(),l.unsubscribe()}},[]),(0,$Z.jsxs)("div",{className:x7("univer-grid univer-gap-2 univer-py-2 univer-text-gray-400",{"univer-hidden":!0===o&&!1===c||!1===o}),children:[(0,$Z.jsx)("header",{className:"univer-text-gray-600 dark:!univer-text-gray-200",children:(0,$Z.jsx)("div",{children:t.t("image-panel.group.title")})}),(0,$Z.jsxs)("div",{className:"univer-flex univer-items-center univer-justify-center univer-gap-2",children:[(0,$Z.jsxs)(O7,{className:x7({"univer-hidden":!h}),onClick:()=>{i.syncExecuteCommand(AGe.id,{drawings:s})},children:[(0,$Z.jsx)(l,{}),t.t("image-panel.group.group")]}),(0,$Z.jsxs)(O7,{className:x7({"univer-hidden":!f}),onClick:()=>{i.syncExecuteCommand(IGe.id,{drawings:s})},children:[(0,$Z.jsx)(u,{}),t.t("image-panel.group.unGroup")]})]})]})},oYe=[-360,360],sYe=e=>{var t;let r=iK(Cg),n=iK(Sre),i=iK(kX),{drawings:a,transformShow:o}=e,s=a[0];if(null==s)return;let l=s.transform;if(null==l)return;let{unitId:u,subUnitId:c,drawingId:d,drawingType:h}=s,m=i.getRenderById(u),f=null==m?void 0:m.scene;if(null==f)return;let g=null==(t=f.getEngine())?void 0:t.activeScene;if(null==g)return;let p=f.getTransformerByCreate(),{width:v=0,height:b=0,left:C=0,top:y=0,angle:_=0}=l,[w,E]=(0,_q.useState)(v),[S,A]=(0,_q.useState)(b),[I,R]=(0,_q.useState)(C),[x,T]=(0,_q.useState)(y),[N,M]=(0,_q.useState)(_),[O,L]=(0,_q.useState)(p.keepRatio),k=(e,t,r,n)=>{let{width:i,height:a}=g,{ancestorLeft:o,ancestorTop:s}=f,l=e,u=t,c=r,d=n;return e+o<0&&(l=-o),t+s<0&&(u=-s),c=i-l-o,c<20&&(c=20),d=a-u-s,d<20&&(d=20),e+c+o>i&&(l=i-r-o),t+d+s>a&&(u=a-n-s),{limitLeft:l,limitTop:u,limitWidth:c,limitHeight:d}},P=e=>{let{objects:t}=e,r=GGe(t,n);if(1!==r.length)return;let i=r[0];if(null==i)return;let{transform:a}=i;if(null==a)return;let{width:o,height:s,left:l,top:u,angle:c}=a;null!=o&&E(o),null!=s&&A(s),null!=l&&R(l),null!=u&&T(u),null!=c&&M(c)};(0,_q.useEffect)(()=>{let e=[p.changeStart$.subscribe(e=>{P(e)}),p.changing$.subscribe(e=>{P(e)}),p.changeEnd$.subscribe(e=>{P(e)}),n.focus$.subscribe(e=>{if(1!==e.length)return;let t=n.getDrawingByParam(e[0]);if(null==t)return;let r=t.transform;if(null==r)return;let{width:i,height:a,left:o,top:s,angle:l}=r;null!=i&&E(i),null!=a&&A(a),null!=o&&R(o),null!=s&&T(s),null!=l&&M(l)})];return()=>{e.forEach(e=>e.unsubscribe())}},[]);let D=Vr(e=>{if(null==e)return;let{limitWidth:t,limitHeight:r}=k(I,x,e,S);e=Math.min(e,t);let i={unitId:u,subUnitId:c,drawingId:d,drawingType:h,transform:{width:e}};if(O){let t=e/w*S;if(t=Math.max(t,20),t>r)return;A(t),i.transform.height=t}E(e),n.featurePluginUpdateNotification([i]),p.refreshControls().changeNotification()},300),U=Vr(e=>{if(null==e)return;let{limitHeight:t,limitWidth:r}=k(I,x,w,e);e=Math.min(e,t);let i={unitId:u,subUnitId:c,drawingId:d,drawingType:h,transform:{height:e}};if(O){let t=e/S*w;if(t=Math.max(t,20),t>r)return;E(t),i.transform.width=t}A(e),n.featurePluginUpdateNotification([i]),p.refreshControls().changeNotification()},300),B=Vr(e=>{if(null==e)return;let{limitLeft:t}=k(e,x,w,S),r={unitId:u,subUnitId:c,drawingId:d,drawingType:h,transform:{left:e=t}};R(e),n.featurePluginUpdateNotification([r]),p.refreshControls().changeNotification()},300),V=Vr(e=>{if(null==e)return;let{limitTop:t}=k(I,e,w,S),r={unitId:u,subUnitId:c,drawingId:d,drawingType:h,transform:{top:e=t}};T(e),n.featurePluginUpdateNotification([r]),p.refreshControls().changeNotification()},300);return(0,$Z.jsxs)("div",{className:x7("univer-grid univer-gap-2 univer-py-2 univer-text-gray-400",{"univer-hidden":!o}),children:[(0,$Z.jsx)("header",{className:"univer-text-gray-600 dark:!univer-text-gray-200",children:(0,$Z.jsx)("div",{children:r.t("image-panel.transform.title")})}),(0,$Z.jsxs)("div",{className:"univer-grid univer-grid-cols-3 univer-gap-2 [&>div]:univer-grid [&>div]:univer-gap-2",children:[(0,$Z.jsxs)("div",{children:[(0,$Z.jsx)("span",{children:r.t("image-panel.transform.width")}),(0,$Z.jsx)(K9,{precision:1,value:w,min:20,onChange:e=>{D(e)}})]}),(0,$Z.jsxs)("div",{children:[(0,$Z.jsx)("span",{children:r.t("image-panel.transform.height")}),(0,$Z.jsx)(K9,{precision:1,value:S,min:20,onChange:e=>{U(e)}})]}),(0,$Z.jsxs)("div",{children:[(0,$Z.jsx)("span",{children:r.t("image-panel.transform.lock")}),(0,$Z.jsx)("div",{className:"univer-text-center",children:(0,$Z.jsx)($7,{checked:O,onChange:e=>{L(e),p.keepRatio=e}})})]})]}),(0,$Z.jsxs)("div",{className:"univer-grid univer-grid-cols-3 univer-gap-2 [&>div]:univer-grid [&>div]:univer-gap-2",children:[(0,$Z.jsxs)("div",{children:[(0,$Z.jsx)("span",{children:r.t("image-panel.transform.x")}),(0,$Z.jsx)(K9,{precision:1,value:I,onChange:e=>{B(e)}})]}),(0,$Z.jsxs)("div",{children:[(0,$Z.jsx)("span",{children:r.t("image-panel.transform.y")}),(0,$Z.jsx)(K9,{precision:1,value:x,onChange:e=>{V(e)}})]}),(0,$Z.jsxs)("div",{children:[(0,$Z.jsx)("span",{children:r.t("image-panel.transform.rotate")}),(0,$Z.jsx)(K9,{precision:1,value:N,min:oYe[0],max:oYe[1],onChange:e=>{if(null==e)return;let t={unitId:u,subUnitId:c,drawingId:d,drawingType:h,transform:{angle:e}};M(e),n.featurePluginUpdateNotification([t]),p.refreshControls().changeNotification()}})]})]})]})},lYe=e=>{let t=iK(Vc),r=iK(Cg),{drawings:n,cropperShow:i}=e;if(null==n[0])return;let[a,o]=(0,_q.useState)(TGe.FREE),s=(0,_q.useRef)(!1),l=[{label:r.t("image-panel.crop.mode"),value:TGe.FREE},{label:"1:1",value:TGe.R1_1},{label:"16:9",value:TGe.R16_9},{label:"9:16",value:TGe.R9_16},{label:"5:4",value:TGe.R5_4},{label:"4:5",value:TGe.R4_5},{label:"4:3",value:TGe.R4_3},{label:"3:4",value:TGe.R3_4},{label:"3:2",value:TGe.R3_2},{label:"2:3",value:TGe.R2_3}];return(0,_q.useEffect)(()=>{let e=t.onCommandExecuted(e=>{if(e.id===xGe.id){let t=e.params;null!=t&&t.isAuto||(s.current=!1)}});return()=>{null==e||e.dispose()}},[]),(0,$Z.jsxs)("div",{className:x7("univer-grid univer-gap-2 univer-py-2 univer-text-gray-400",{"univer-hidden":!i}),children:[(0,$Z.jsx)("header",{className:"univer-text-gray-600 dark:!univer-text-gray-200",children:(0,$Z.jsx)("div",{children:r.t("image-panel.crop.title")})}),(0,$Z.jsxs)("div",{className:"univer-flex univer-items-center univer-justify-center univer-gap-2",children:[(0,$Z.jsxs)(O7,{onClick:()=>{(e=>{t.executeCommand(NGe.id,{cropType:e}),s.current=!0})(a)},children:[(0,$Z.jsx)(lGe,{}),r.t("image-panel.crop.start")]}),(0,$Z.jsx)(_5,{value:a,options:l,onChange:function(e){o(e),s.current&&t.executeCommand(NGe.id,{cropType:e})}})]})]})},uYe=e=>{let t=iK(Sre),r=iK(kX),n=iK(Cg),{drawings:i,hasArrange:a=!0,hasTransform:o=!0,hasAlign:s=!0,hasCropper:l=!0,hasGroup:u=!0}=e,c=i[0];if(null==c)return;let{unitId:d}=c,h=r.getRenderById(d),m=null==h?void 0:h.scene;if(null==m)return;let f=m.getTransformerByCreate(),[g,p]=(0,_q.useState)(!0),[v,b]=(0,_q.useState)(!0),[C,y]=(0,_q.useState)(!1),[_,w]=(0,_q.useState)(!0),[E,S]=(0,_q.useState)(!1);return(0,_q.useEffect)(()=>{let e=f.clearControl$.subscribe(e=>{!0===e&&(p(!1),b(!1),y(!1),w(!1),S(!0))}),r=f.changeStart$.subscribe(e=>{let{objects:r}=e,n=GGe(r,t);0===n.length?(p(!1),b(!1),y(!1),w(!1),S(!0)):1===n.length?(p(!0),b(!0),y(!1),w(!0),S(!1)):(p(!0),b(!1),y(!0),w(!1),S(!1))}),n=t.focus$.subscribe(e=>{0===e.length?(p(!1),b(!1),y(!1),w(!1),S(!0)):1===e.length?(p(!0),b(!0),y(!1),w(!0),S(!1)):(p(!0),b(!1),y(!0),w(!1),S(!1))});return()=>{r.unsubscribe(),e.unsubscribe(),n.unsubscribe()}},[]),(0,$Z.jsxs)($Z.Fragment,{children:[(0,$Z.jsx)("div",{className:x7("univer-h-full",{"univer-hidden":!E}),children:(0,$Z.jsx)("div",{className:"univer-flex univer-h-full univer-items-center univer-justify-center",children:(0,$Z.jsx)("span",{children:n.t("image-panel.null")})})}),(0,$Z.jsx)(iYe,{arrangeShow:!0===a&&g,drawings:i}),(0,$Z.jsx)(sYe,{transformShow:!0===o&&v,drawings:i}),(0,$Z.jsx)(nYe,{alignShow:!0===s&&C,drawings:i}),(0,$Z.jsx)(lYe,{cropperShow:!0===l&&_,drawings:i}),(0,$Z.jsx)(aYe,{hasGroup:u,drawings:i})]})};let cYe=function(e){return e.Position="0",e.Both="1",e.None="2",e}({});var dYe=class extends Mre{};const hYe=V("sheets-drawing.sheet-drawing.service");let mYe=function(e){return e[e.INSERT=0]="INSERT",e[e.REMOVE=1]="REMOVE",e[e.UPDATE=2]="UPDATE",e[e.ARRANGE=3]="ARRANGE",e[e.GROUP=4]="GROUP",e[e.UNGROUP=5]="UNGROUP",e}({});const fYe={id:"sheet.mutation.set-drawing-apply",type:Bc.MUTATION,handler:(e,t)=>{let r=e.get(Sre),n=e.get(hYe),{op:i,unitId:a,subUnitId:o,type:s,objects:l}=t;switch(r.applyJson1(a,o,i),n.applyJson1(a,o,i),s){case mYe.INSERT:r.addNotification(l),n.addNotification(l);break;case mYe.REMOVE:r.removeNotification(l),n.removeNotification(l);break;case mYe.UPDATE:r.updateNotification(l),n.updateNotification(l);break;case mYe.ARRANGE:r.orderNotification(l),n.orderNotification(l);break;case mYe.GROUP:r.groupUpdateNotification(l);break;case mYe.UNGROUP:r.ungroupUpdateNotification(l)}return!0}};function gYe(e,t){return function(r,n){t(r,n,e)}}function pYe(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}const vYe="SHEET_DRAWING_PLUGIN";let bYe=class extends tu{constructor(e,t,r,n,i,a){super(),this._sheetInterceptorService=e,this._univerInstanceService=t,this._commandService=r,this._sheetDrawingService=n,this._drawingManagerService=i,this._resourceManagerService=a,this._initSnapshot(),this._initSheetChange(),this.disposeWithMe(this._commandService.registerCommand(fYe))}_initSnapshot(){let e=(e,t)=>{let r=t||this._sheetDrawingService.getDrawingDataForUnit(e);return r?JSON.stringify(r):""};this.disposeWithMe(this._resourceManagerService.registerPluginResource({pluginName:vYe,businesses:[Pi.UNIVER_SHEET],toJson:(t,r)=>e(t,r),parseJson:e=>(e=>{if(!e)return{};try{return JSON.parse(e)}catch{return{}}})(e),onUnLoad:e=>{this._sheetDrawingService.removeDrawingDataForUnit(e),this._drawingManagerService.removeDrawingDataForUnit(e)},onLoad:(e,t)=>{this._sheetDrawingService.registerDrawingData(e,t),this._drawingManagerService.registerDrawingData(e,t)}}))}_initSheetChange(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>{if(e.id===Hxe.id){var t;let r=e.params,n=r.unitId||this._univerInstanceService.getCurrentUnitOfType(Pi.UNIVER_SHEET).getUnitId(),i=r.subUnitId||(null==(t=this._univerInstanceService.getCurrentUnitOfType(Pi.UNIVER_SHEET).getActiveSheet())?void 0:t.getSheetId());if(!n||!i)return{redos:[],undos:[]};let a=this._sheetDrawingService.getDrawingData(n,i),o=Object.values(a).filter(e=>e.drawingType!==bc.DRAWING_CHART);if(0===o.length)return{redos:[],undos:[]};let{unitId:s,subUnitId:l,undo:u,redo:c,objects:d}=this._sheetDrawingService.getBatchRemoveOp(o);return{redos:[{id:fYe.id,params:{op:c,unitId:s,subUnitId:l,objects:d,type:mYe.REMOVE}}],undos:[{id:fYe.id,params:{op:u,unitId:s,subUnitId:l,objects:d,type:mYe.INSERT}}]}}if(e.id===Mxe.id){let{unitId:t,subUnitId:r,targetSubUnitId:n}=e.params;if(!t||!r||!n)return{redos:[],undos:[]};let i=this._sheetDrawingService.getDrawingData(t,r),a=Object.values(i).filter(e=>e.drawingType!==bc.DRAWING_CHART).map(e=>({...e,subUnitId:n,drawingId:cu(6)}));if(0===a.length)return{redos:[],undos:[]};let{unitId:o,subUnitId:s,undo:l,redo:u,objects:c}=this._sheetDrawingService.getBatchAddOp(a);return{redos:[{id:fYe.id,params:{op:u,unitId:o,subUnitId:s,objects:c,type:mYe.INSERT}}],undos:[{id:fYe.id,params:{op:l,unitId:o,subUnitId:s,objects:c,type:mYe.REMOVE}}]}}return{redos:[],undos:[]}}}))}};bYe=pYe([gYe(0,Y(iwe)),gYe(1,Y(dg)),gYe(2,Vc),gYe(3,hYe),gYe(4,Sre),gYe(5,hf)],bYe);const CYe="sheets-drawing.config";Symbol(CYe);const yYe={};function _Ye(e){return _Ye="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_Ye(e)}function wYe(e,t,r){return(t=function(e){var t=function(e){if("object"!=_Ye(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=_Ye(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==_Ye(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}let EYe=class extends Rg{constructor(e=yYe,t,r){super(),this._config=e,this._injector=t,this._configService=r;let{...n}=hr({},yYe,this._config);this._configService.setConfig(CYe,n)}onStarting(){[[bYe],[hYe,{useClass:dYe}]].forEach(e=>this._injector.add(e)),this._injector.get(bYe)}};function SYe(e,t,r){let{from:n,to:i,flipY:a=!1,flipX:o=!1,angle:s=0,skewX:l=0,skewY:u=0}=e,c=r.getCurrent();if(null==c)return;let{left:d,top:h,width:m,height:f}=jHe(c.unitId,c.sheetId,{from:n,to:i},r),g=r.getCurrentSkeleton(),p=g.rowHeaderWidth+g.columnTotalWidth,v=g.columnHeaderHeight+g.rowTotalHeight;return d+m>p&&(d=p-m),h+f>v&&(h=v-f),{flipY:a,flipX:o,angle:s,skewX:l,skewY:u,left:d,top:h,width:m,height:f}}function AYe(e,t){let{left:r=0,top:n=0,width:i=0,height:a=0,flipY:o=!1,flipX:s=!1,angle:l=0,skewX:u=0,skewY:c=0}=e,d=t.getCellWithCoordByOffset(r,n);if(null==d)return;let h={column:d.actualColumn,columnOffset:QV(r-d.startX,1),row:d.actualRow,rowOffset:QV(n-d.startY,1)},m=t.getCellWithCoordByOffset(r+i,n+a);return null!=m?{flipY:o,flipX:s,angle:l,skewX:u,skewY:c,from:h,to:{column:m.actualColumn,columnOffset:QV(r+i-m.startX,1),row:m.actualRow,rowOffset:QV(n+a-m.startY,1)}}:void 0}function IYe(e,t){let{left:r=0,top:n=0,width:i=0,height:a=0,angle:o=0}=e,s=(o%360+360)%360;return AYe(s>=45&&s<135||s>=225&&s<315?{...e,left:r+i/2-a/2,top:n+a/2-i/2,width:a,height:i}:e,t)}wYe(EYe,"pluginName",vYe),wYe(EYe,"packageName","@univerjs/sheets-drawing"),wYe(EYe,"version","0.19.0"),wYe(EYe,"type",Pi.UNIVER_SHEET),EYe=pYe([Tg(Dre),gYe(1,Y(he)),gYe(2,Tc)],EYe);const RYe={id:"sheet.operation.clear-drawing-transformer",type:Bc.MUTATION,handler:(e,t)=>{let r=e.get(kX);return t.forEach(e=>{var t;null==(t=r.getRenderById(e))||null==(t=t.scene.getTransformer())||t.debounceRefreshControls()}),!0}},xYe={id:"sheet.command.remove-sheet-image",type:Bc.COMMAND,handler:(e,t)=>{var r;let n=e.get(Vc),i=e.get(Pg),a=e.get(iwe),o=e.get(hYe);if(!t)return!1;let{drawings:s}=t,l=[];s.forEach(e=>{let{unitId:t}=e;l.push(t)});let{unitId:u,subUnitId:c,undo:d,redo:h,objects:m}=o.getBatchRemoveOp(s),f=a.onCommandExecute({id:xYe.id,params:t}),g={id:fYe.id,params:{unitId:u,subUnitId:c,op:h,objects:m,type:mYe.REMOVE}},p={id:fYe.id,params:{unitId:u,subUnitId:c,op:d,objects:m,type:mYe.INSERT}};var v,b;return!!zc([...null==(r=f.preRedos)?[]:r,g,...f.redos],n)&&(i.pushUndoRedo({unitID:u,undoMutations:[...null==(v=f.preUndos)?[]:v,p,...f.undos,{id:RYe.id,params:l}],redoMutations:[...null==(b=f.preRedos)?[]:b,g,...f.redos,{id:RYe.id,params:l}]}),!0)}},TYe={id:"sheet.command.delete-drawing",type:Bc.COMMAND,handler:e=>{let t=e.get(Vc),r=e.get(hYe).getFocusDrawings();if(0===r.length)return!1;let n=r[0].unitId,i=r.map(e=>{let{unitId:t,subUnitId:r,drawingId:n,drawingType:i}=e;return{unitId:t,subUnitId:r,drawingId:n,drawingType:i}});return t.executeCommand(xYe.id,{unitId:n,drawings:i})}};function NYe(e){let t=[];return e.forEach(e=>{let{parent:r,children:n}=e,{unitId:i,subUnitId:a,drawingId:o}=r,s=UF(0,0,n.map(e=>e.transform||{})),l=n.map(e=>{let t=e.transform||{left:0,top:0},{unitId:r,subUnitId:n,drawingId:i}=e;return{unitId:r,subUnitId:n,drawingId:i,transform:{...t,left:t.left,top:t.top},groupId:o}}),u={unitId:i,subUnitId:a,drawingId:o,drawingType:bc.DRAWING_GROUP,groupBaseBound:{...r.groupBaseBound},transform:s};t.push({parent:u,children:l})}),t}function MYe(e){let t=[];return e.forEach(e=>{let{parent:r,children:n}=e,{unitId:i,subUnitId:a,drawingId:o,transform:s={width:0,height:0}}=r;if(null==s)return;let l=n.map(e=>{let{transform:t}=e,{unitId:n,subUnitId:i,drawingId:a}=e;return{unitId:n,subUnitId:i,drawingId:a,transform:BF(t||{},s,s.width||0,s.height||0,r.groupBaseBound),groupId:void 0}}),u={unitId:i,subUnitId:a,drawingId:o,drawingType:bc.DRAWING_GROUP,transform:{left:0,top:0}};t.push({parent:u,children:l})}),t}function OYe(e,t,r){let n={...e};return t&&(n.drawingId=t),r?n.groupId=r:delete n.groupId,JSON.parse(JSON.stringify(n))}const LYe={id:"sheet.command.group-sheet-image",type:Bc.COMMAND,handler:(e,t)=>{let r=e.get(Vc),n=e.get(Pg),i=e.get(hYe);if(!t)return!1;let a=[];t.forEach(({parent:e,children:t})=>{a.push(e.unitId),t.forEach(e=>{a.push(e.unitId)})});let{unitId:o,subUnitId:s,undo:l,redo:u,objects:c}=i.getGroupDrawingOp(t);return!!r.syncExecuteCommand(fYe.id,{op:u,unitId:o,subUnitId:s,objects:c,type:mYe.GROUP})&&(n.pushUndoRedo({unitID:o,undoMutations:[{id:fYe.id,params:{op:l,unitId:o,subUnitId:s,objects:MYe(c),type:mYe.UNGROUP}},{id:RYe.id,params:a}],redoMutations:[{id:fYe.id,params:{op:u,unitId:o,subUnitId:s,objects:c,type:mYe.GROUP}},{id:RYe.id,params:a}]}),!0)}},kYe={id:"sheet.command.insert-sheet-image",type:Bc.COMMAND,handler:(e,t)=>{var r;let n=e.get(Vc),i=e.get(Pg),a=e.get(hYe),o=e.get(iwe);if(!t)return!1;let s=t.drawings,l=s.map(e=>e.unitId),{unitId:u,subUnitId:c,undo:d,redo:h,objects:m}=a.getBatchAddOp(s),f=o.onCommandExecute({id:kYe.id,params:t}),g={id:fYe.id,params:{op:h,unitId:u,subUnitId:c,objects:m,type:mYe.INSERT}},p={id:fYe.id,params:{op:d,unitId:u,subUnitId:c,objects:m,type:mYe.REMOVE}};var v,b;return!!zc([...null==(r=f.preRedos)?[]:r,g,...f.redos],n)&&(i.pushUndoRedo({unitID:u,undoMutations:[...null==(v=f.preUndos)?[]:v,p,...f.undos,{id:RYe.id,params:l}],redoMutations:[...null==(b=f.preRedos)?[]:b,g,...f.redos,{id:RYe.id,params:l}]}),!0)}},PYe={id:"sheet.command.set-drawing-arrange",type:Bc.COMMAND,handler:(e,t)=>{let r=e.get(Vc),n=e.get(Pg);if(!t)return!1;let i,a=e.get(hYe),{unitId:o,subUnitId:s,drawingIds:l,arrangeType:u}=t,c={unitId:o,subUnitId:s,drawingIds:l};if(u===vc.forward?i=a.getForwardDrawingsOp(c):u===vc.backward?i=a.getBackwardDrawingOp(c):u===vc.front?i=a.getFrontDrawingsOp(c):u===vc.back&&(i=a.getBackDrawingsOp(c)),null==i)return!1;let{objects:d,redo:h,undo:m}=i;return!!r.syncExecuteCommand(fYe.id,{op:h,unitId:o,subUnitId:s,objects:d,type:mYe.ARRANGE})&&(n.pushUndoRedo({unitID:o,undoMutations:[{id:fYe.id,params:{op:m,unitId:o,subUnitId:s,objects:d,type:mYe.ARRANGE}}],redoMutations:[{id:fYe.id,params:{op:h,unitId:o,subUnitId:s,objects:d,type:mYe.ARRANGE}}]}),!0)}},DYe={id:"sheet.command.set-sheet-image",type:Bc.COMMAND,handler:(e,t)=>{var r,n;let i=e.get(Vc),a=e.get(Pg),o=e.get(hYe),s=e.get(iwe);if(!t)return!1;let{drawings:l}=t,{unitId:u,subUnitId:c,undo:d,redo:h,objects:m}=o.getBatchUpdateOp(l),f=s.onCommandExecute({id:DYe.id,params:t}),g=[...null==(r=f.preRedos)?[]:r,{id:fYe.id,params:{unitId:u,subUnitId:c,op:h,objects:m,type:mYe.UPDATE}},...f.redos,{id:RYe.id,params:[u]}],p=[...null==(n=f.preUndos)?[]:n,{id:fYe.id,params:{unitId:u,subUnitId:c,op:d,objects:m,type:mYe.UPDATE}},...f.undos,{id:RYe.id,params:[u]}];return!!zc(g,i)&&(a.pushUndoRedo({unitID:u,undoMutations:p,redoMutations:g}),!0)}},UYe={id:"sheet.command.ungroup-sheet-image",type:Bc.COMMAND,handler:(e,t)=>{let r=e.get(Vc),n=e.get(Pg),i=e.get(hYe);if(!t)return!1;let a=[];t.forEach(({parent:e,children:t})=>{a.push(e.unitId),t.forEach(e=>{a.push(e.unitId)})});let{unitId:o,subUnitId:s,undo:l,redo:u,objects:c}=i.getUngroupDrawingOp(t);return!!r.syncExecuteCommand(fYe.id,{op:u,unitId:o,subUnitId:s,objects:c,type:mYe.UNGROUP})&&(n.pushUndoRedo({unitID:o,undoMutations:[{id:fYe.id,params:{op:l,unitId:o,subUnitId:s,objects:NYe(c),type:mYe.GROUP}},{id:RYe.id,params:a}],redoMutations:[{id:fYe.id,params:{op:u,unitId:o,subUnitId:s,objects:c,type:mYe.UNGROUP}},{id:RYe.id,params:a}]}),!0)}};function BYe(e){return BYe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},BYe(e)}function VYe(e,t,r){return(t=function(e){var t=function(e){if("object"!=BYe(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=BYe(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==BYe(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function FYe(e,t){return function(r,n){t(r,n,e)}}function jYe(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}function HYe(e,t,r,n,i){var a;let{rotatedHeight:o,rotatedWidth:s}=function(e,t,r){let n=r*Math.PI/180;return{rotatedWidth:Math.abs(e*Math.cos(n))+Math.abs(t*Math.sin(n)),rotatedHeight:Math.abs(e*Math.sin(n))+Math.abs(t*Math.cos(n))}}(r,n,i),l=e.get(kX).getRenderById(t.unitId);if(!l)return!1;let u=null==(a=l.with(vLe).getSkeletonParam(t.subUnitId))?void 0:a.skeleton;if(null==u)return!1;let c=u.getCellByIndex(t.row,t.col),d=c.mergeInfo.endX-c.mergeInfo.startX-2,h=c.mergeInfo.endY-c.mergeInfo.startY-2,m=s/o,f=Math.ceil(Math.min(d,h*m))/s,g=!f||Number.isNaN(f)?.001:f;return{width:r*g,height:n*g}}let WYe=class extends tu{constructor(e,t,r,n,i,a,o,s,l,u,c,d,h,m){super(),this._context=e,this._skeletonManagerService=t,this._commandService=r,this._selectionRenderService=n,this._imageIoService=i,this._fileOpenerService=a,this._sheetDrawingService=o,this._drawingManagerService=s,this._contextService=l,this._messageService=u,this._localeService=c,this._injector=h,this._urlImageService=m,VYe(this,"_workbookSelections",void 0),this._workbookSelections=d.getWorkbookSelections(this._context.unitId),this._updateDrawingListener(),this._updateOrderListener(),this._groupDrawingListener(),this._focusDrawingListener()}async insertFloatImage(){let e=await this._fileOpenerService.openFile({multiple:!0,accept:Ere.map(e=>`.${e.replace("image/","")}`).join(",")}),t=e.length;return t>10?(this._messageService.show({type:o5.Error,content:this._localeService.t("update-status.exceedMaxCount",String(10))}),!1):0!==t&&(e.forEach(async e=>await this.insertFloatImageByFile(e)),!0)}async insertCellImage(){let e=(await this._fileOpenerService.openFile({multiple:!1,accept:Ere.map(e=>`.${e.replace("image/","")}`).join(",")}))[0];return!!e&&(await this._insertCellImage(e),!0)}insertCellImageByFile(e,t){return this._insertCellImage(e,t)}async insertFloatImageByFile(e){var t;let r;try{r=await this._imageIoService.saveImage(e)}catch(e){let t=e.message;t===kf.ERROR_EXCEED_SIZE?this._messageService.show({type:o5.Error,content:this._localeService.t("update-status.exceedMaxSize",String(5))}):t===kf.ERROR_IMAGE_TYPE?this._messageService.show({type:o5.Error,content:this._localeService.t("update-status.invalidImageType")}):t===kf.ERROR_IMAGE&&this._messageService.show({type:o5.Error,content:this._localeService.t("update-status.invalidImage")})}if(null==r)return;let{unitId:n,subUnitId:i}=this._getUnitInfo(),{imageId:a,imageSourceType:o,source:s,base64Cache:l}=r,{width:u,height:c,image:d}=await Bre(l||""),{width:h,height:m}=this._context.scene;this._imageIoService.addImageSourceCache(s,o,d);let f=1;if(u>500||c>500){let e=500/u,t=500/c;f=Math.max(e,t)}let g=this._getImagePosition(u*f,c*f,h,m);if(null==g)return;let p=SYe(g,this._selectionRenderService,this._skeletonManagerService),v={unitId:n,subUnitId:i,drawingId:a,drawingType:bc.DRAWING_IMAGE,imageSourceType:o,source:s,transform:p,sheetTransform:g,axisAlignSheetTransform:null==(t=IYe(p,this._selectionRenderService))?g:t};return this._commandService.executeCommand(kYe.id,{unitId:n,drawings:[v]})}async _insertCellImage(e,t){let r;try{r=await this._imageIoService.saveImage(e)}catch(e){let t=e.message;t===kf.ERROR_EXCEED_SIZE?this._messageService.show({type:o5.Error,content:this._localeService.t("update-status.exceedMaxSize",String(5))}):t===kf.ERROR_IMAGE_TYPE?this._messageService.show({type:o5.Error,content:this._localeService.t("update-status.invalidImageType")}):t===kf.ERROR_IMAGE&&this._messageService.show({type:o5.Error,content:this._localeService.t("update-status.invalidImage")})}if(null==r)return!1;let{imageId:n,imageSourceType:i,source:a,base64Cache:o}=r,{width:s,height:l,image:u}=await Bre(o||"");this._imageIoService.addImageSourceCache(a,i,u);let c=this._workbookSelections.getCurrentLastSelection();if(!c)return!1;let d=c.primary.actualRow,h=c.primary.actualColumn;c.primary.isMerged&&(d=c.primary.startRow,h=c.primary.startColumn);let m=jf("",{}),f=HYe(this._injector,{unitId:this._context.unitId,subUnitId:this._context.unit.getActiveSheet().getSheetId(),row:d,col:h},s,l,0);if(!f)return!1;let g={size:{width:f.width,height:f.height},positionH:{relativeFrom:uc.PAGE,posOffset:0},positionV:{relativeFrom:cc.PARAGRAPH,posOffset:0},angle:0},p={unitId:m.getUnitId(),subUnitId:m.getUnitId(),drawingId:n,drawingType:bc.DRAWING_IMAGE,imageSourceType:i,source:a,transform:pne(g),docTransform:g,behindDoc:Vu.FALSE,title:"",description:"",layoutType:Ju.INLINE,wrapText:$u.BOTH_SIDES,distB:0,distL:0,distR:0,distT:0},v=Jm.drawing.add({documentDataModel:m,drawings:[p],selection:{collapsed:!0,startOffset:0,endOffset:0}});var b,C;return!!v&&(m.apply(v),this._commandService.syncExecuteCommand(mAe.id,{value:{[null==(b=null==t?void 0:t.row)?d:b]:{[null==(C=null==t?void 0:t.col)?h:C]:{p:m.getSnapshot(),t:1}}},unitId:null==t?void 0:t.unitId,subUnitId:null==t?void 0:t.subUnitId}))}async insertCellImageByUrl(e,t){let r=e;try{r=await this._urlImageService.getImage(e)}catch(t){console.error(`Failed to get image from URLImageService: ${e}`,t)}let{width:n,height:i,image:a}=await Bre(r||"");this._imageIoService.addImageSourceCache(e,Lf.URL,a);let o=this._workbookSelections.getCurrentLastSelection();if(!o)return!1;let s=jf("",{}),l=HYe(this._injector,{unitId:this._context.unitId,subUnitId:this._context.unit.getActiveSheet().getSheetId(),row:o.primary.actualRow,col:o.primary.actualColumn},n,i,0);if(!l)return!1;let u={size:{width:l.width,height:l.height},positionH:{relativeFrom:uc.PAGE,posOffset:0},positionV:{relativeFrom:cc.PARAGRAPH,posOffset:0},angle:0},c={unitId:s.getUnitId(),subUnitId:s.getUnitId(),drawingId:cu(),drawingType:bc.DRAWING_IMAGE,imageSourceType:Lf.URL,source:e,transform:pne(u),docTransform:u,behindDoc:Vu.FALSE,title:"",description:"",layoutType:Ju.INLINE,wrapText:$u.BOTH_SIDES,distB:0,distL:0,distR:0,distT:0},d=Jm.drawing.add({documentDataModel:s,drawings:[c],selection:{collapsed:!0,startOffset:0,endOffset:0}});var h,m;return!!d&&(s.apply(d),this._commandService.syncExecuteCommand(mAe.id,{value:{[null==(h=null==t?void 0:t.row)?o.primary.actualRow:h]:{[null==(m=null==t?void 0:t.col)?o.primary.actualColumn:m]:{p:s.getSnapshot(),t:1}}},unitId:null==t?void 0:t.unitId,subUnitId:null==t?void 0:t.subUnitId}))}_getUnitInfo(){let e=this._context.unit,t=e.getActiveSheet();return{unitId:e.getUnitId(),subUnitId:t.getSheetId()}}_getImagePosition(e,t,r,n){let i=this._workbookSelections.getCurrentSelections(),a={startRow:0,endRow:0,startColumn:0,endColumn:0};i&&i.length>0&&(a=i[i.length-1].range);let o=lLe(this._skeletonManagerService.getCurrent().skeleton,a);if(null==o)return;let{startColumn:s,startRow:l,startX:u,startY:c}=o,d=!1;if(u+e>r&&(u=r-e,u<0&&(u=0,e=r),d=!0),c+t>n&&(c=n-t,c<0&&(c=0,t=n),d=!0),d){let e=this._selectionRenderService.getCellWithCoordByOffset(u,c);if(null==e)return;u=e.startX,c=e.startY,s=e.actualColumn,l=e.actualRow}let h={column:s,columnOffset:0,row:l,rowOffset:0},m=this._selectionRenderService.getCellWithCoordByOffset(u+e,c+t);return null!=m?{from:h,to:{column:m.actualColumn,columnOffset:u+e-m.startX,row:m.actualRow,rowOffset:c+t-m.startY}}:void 0}_updateOrderListener(){this.disposeWithMe(this._drawingManagerService.featurePluginOrderUpdate$.subscribe(e=>{let{unitId:t,subUnitId:r,drawingIds:n,arrangeType:i}=e;this._commandService.executeCommand(PYe.id,{unitId:t,subUnitId:r,drawingIds:n,arrangeType:i})}))}_updateDrawingListener(){this.disposeWithMe(this._drawingManagerService.featurePluginUpdate$.subscribe(e=>{let t=[];0!==e.length&&(e.forEach(e=>{let{unitId:r,subUnitId:n,drawingId:i,drawingType:a,transform:o}=e;if(null==o)return;let s=this._sheetDrawingService.getDrawingByParam({unitId:r,subUnitId:n,drawingId:i});if(null==s||s.unitId!==this._context.unitId)return;let l=AYe({...s.transform,...o},this._selectionRenderService),u=IYe({...s.transform,...o},this._selectionRenderService);if(null==l||null==u)return;let c={...e,transform:{...s.transform,...o,...SYe(l,this._selectionRenderService,this._skeletonManagerService)},sheetTransform:{...l},axisAlignSheetTransform:{...u}};t.push(c)}),t.length>0&&this._commandService.executeCommand(DYe.id,{unitId:e[0].unitId,drawings:t}))}))}_getSheetTransformByParam(e,t){let{unitId:r,subUnitId:n,drawingId:i,transform:a}=e;if(null==a)return null;let o=this._sheetDrawingService.getDrawingByParam({unitId:r,subUnitId:n,drawingId:i}),s=null==o?void 0:o.transform;if(t&&(s={}),!t&&(null==o||o.unitId!==this._context.unitId))return null;let l=AYe({...s,...a},this._selectionRenderService),u=IYe({...s,...a},this._selectionRenderService);return null==l||null==u?null:{sheetTransform:l,axisAlignSheetTransform:u}}_groupDrawingListener(){this.disposeWithMe(this._drawingManagerService.featurePluginGroupUpdate$.subscribe(e=>{let t=[];for(let r of e){let e=this._getSheetTransformByParam(r.parent,!0),n=[];for(let e of r.children){let t=this._getSheetTransformByParam(e,!1);null!=t&&n.push({...e,sheetTransform:t.sheetTransform,axisAlignSheetTransform:t.axisAlignSheetTransform})}let i={parent:{...r.parent,sheetTransform:null==e?void 0:e.sheetTransform,axisAlignSheetTransform:null==e?void 0:e.axisAlignSheetTransform},children:n};t.push(i)}if(t.length>0){this._commandService.executeCommand(LYe.id,t);let{unitId:r,subUnitId:n,drawingId:i}=e[0].parent;this._commandService.syncExecuteCommand(Are.id,[{unitId:r,subUnitId:n,drawingId:i}])}})),this.disposeWithMe(this._drawingManagerService.featurePluginUngroupUpdate$.subscribe(e=>{let t=[];for(let r of e){let{children:e}=r,n=[];for(let t of e){let e=this._getSheetTransformByParam(t,!1);null!=e&&n.push({...t,sheetTransform:e.sheetTransform,axisAlignSheetTransform:e.axisAlignSheetTransform})}t.push({...r,children:n})}this._commandService.executeCommand(UYe.id,t)}))}_focusDrawingListener(){this.disposeWithMe(this._drawingManagerService.focus$.subscribe(e=>{null==e||0===e.length?(this._contextService.setContextValue(Nf,!1),this._sheetDrawingService.focusDrawing([])):(this._contextService.setContextValue(Nf,!0),this._sheetDrawingService.focusDrawing(e))}))}};WYe=jYe([FYe(1,Y(vLe)),FYe(2,Vc),FYe(3,dLe),FYe(4,Pf),FYe(5,sre),FYe(6,hYe),FYe(7,Sre),FYe(8,Mc),FYe(9,C8),FYe(10,Y(Cg)),FYe(11,Y(rSe)),FYe(12,Y(he)),FYe(13,Df)],WYe);const zYe={id:"sheet.command.insert-float-image",type:Bc.COMMAND,handler:async(e,t)=>{var r;let n=e.get(dg),i=e.get(kX),a=null==(r=PX(Pi.UNIVER_SHEET,n,i))?void 0:r.with(WYe);if(!a)return!1;let o=null==t?void 0:t.files;if(o){let e=o.map(e=>a.insertFloatImageByFile(e));return(await Promise.all(e)).every(e=>e)}var s;return null!=(s=a.insertFloatImage())&&s}},XYe={id:"sheet.command.insert-cell-image",type:Bc.COMMAND,handler:e=>{var t,r;let n=e.get(dg),i=e.get(kX);return null!=(t=null==(r=PX(Pi.UNIVER_SHEET,n,i))?void 0:r.with(WYe).insertCellImage())&&t}},qYe={id:"sheet.command.move-drawing",type:Bc.COMMAND,handler:(e,t)=>{let r=e.get(Vc),n=e.get(hYe),i=e.get(dLe),{direction:a}=t,o=n.getFocusDrawings();if(0===o.length)return!1;let s=o[0].unitId,l=o.map(e=>{let{transform:t}=e;if(null==t)return null;let r={...t},{left:n=0,top:o=0}=t;return a===Eu.UP?r.top=o-1:a===Eu.DOWN?r.top=o+1:a===Eu.LEFT?r.left=n-1:a===Eu.RIGHT&&(r.left=n+1),{...e,transform:r,sheetTransform:AYe(r,i),axisAlignSheetTransform:IYe(r,i)}}).filter(e=>null!=e);return!!r.syncExecuteCommand(DYe.id,{unitId:s,drawings:l})&&(r.syncExecuteCommand(RYe.id,[s]),!0)}};let GYe=function(e){return e.CELL_ADDRESS="cellAddress",e.COLUMN_VALUE="columnValue",e}({});const YYe=V("sheets-drawing-ui.batch-save-images.service");function QYe(e){let t="",r=e;for(;r>=0;)t=String.fromCharCode(r%26+65)+t,r=Math.floor(r/26)-1;return t}function ZYe(e,t){return`${QYe(t)}${e+1}`}function KYe(e){var t,r;return!!(null!=e&&null!=(t=e.p)&&null!=(t=t.drawingsOrder)&&t.length&&(null==e||null==(r=e.p)||null==(r=r.drawingsOrder)?void 0:r.length)>0)}function $Ye(e){var t,r;if(null==(t=e.p)||null==(t=t.drawingsOrder)||!t.length||null==(r=e.p)||!r.drawings)return null;let n=e.p.drawingsOrder[0],i=e.p.drawings[n];return i&&"source"in i&&"imageSourceType"in i?i:null}function JYe(e,t){if(t===Lf.BASE64){let t=e.match(/^data:image\/(\w+);/);if(t)return"jpeg"===t[1]?"jpg":t[1]}if(t===Lf.URL){let t=e.match(/\.(\w+)(?:\?|$)/);if(t)return t[1].toLowerCase()}return"png"}async function eQe(e,t){if(t===Lf.BASE64||t===Lf.URL)return(await fetch(e)).blob();throw Error("UUID image type requires additional handling")}let tQe=class extends tu{constructor(e,t,r,n){super(),this._univerInstanceService=e,this._selectionService=t,this._imageIoService=r,this._urlImageService=n}registerURLImageDownloader(e){return this._urlImageService.registerURLImageDownloader(e)}getCellImagesInSelection(){let e=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET);if(!e)return[];let t=e.getActiveSheet();if(!t)return[];let r=this._selectionService.getCurrentSelections();if(!r||0===r.length)return[];let n=t.getCellMatrix(),i=[];for(let e of r){let{startRow:t,endRow:r,startColumn:a,endColumn:o}=e.range;for(let e=t;e<=r;e++)for(let t=a;t<=o;t++){let r=n.getValue(e,t);if(KYe(r)){let n=$Ye(r);n&&i.push({row:e,col:t,cellAddress:ZYe(e,t),source:n.source,imageSourceType:n.imageSourceType,imageId:n.drawingId})}}}return i}getCellImagesFromRanges(e,t,r){let n=this._univerInstanceService.getUnit(e,Pi.UNIVER_SHEET);if(!n)return[];let i=n.getSheetBySheetId(t);if(!i)return[];let a=i.getCellMatrix(),o=[];for(let e of r){let{startRow:t,endRow:r,startColumn:n,endColumn:i}=e;for(let e=t;e<=r;e++)for(let t=n;t<=i;t++){let r=a.getValue(e,t);if(KYe(r)){let n=$Ye(r);n&&o.push({row:e,col:t,cellAddress:ZYe(e,t),source:n.source,imageSourceType:n.imageSourceType,imageId:n.drawingId})}}}return o}getDataColumns(){let e=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET);if(!e)return[];let t=e.getActiveSheet();if(!t)return[];let r=this._selectionService.getCurrentSelections();if(!r||0===r.length)return[];let n=t.getCellMatrix(),i=n.getDataRange(),a=1/0,o=-1/0,s=new Set;for(let e of r){a=Math.min(a,e.range.startRow),o=Math.max(o,e.range.endRow);for(let t=e.range.startColumn;t<=e.range.endColumn;t++)s.add(t)}let l=new Set;for(let e=i.startColumn;e<=i.endColumn;e++)if(!s.has(e))for(let t=a;t<=o;t++){let r=n.getValue(t,e);var u,c;if(r&&(null!=(u=r.v)&&u.toString()||null!=(c=r.p)&&null!=(c=c.body)&&null!=(c=c.dataStream)&&c.trim())){l.add(e);break}}let d=[],h=Array.from(l).sort((e,t)=>e-t);for(let e of h)d.push({index:e,label:QYe(e)});return d}getDataColumnsForRanges(e,t,r){let n=this._univerInstanceService.getUnit(e,Pi.UNIVER_SHEET);if(!n)return[];let i=n.getSheetBySheetId(t);if(!i)return[];let a=i.getCellMatrix(),o=a.getDataRange(),s=1/0,l=-1/0,u=new Set;for(let e of r){s=Math.min(s,e.startRow),l=Math.max(l,e.endRow);for(let t=e.startColumn;t<=e.endColumn;t++)u.add(t)}let c=new Set;for(let e=o.startColumn;e<=o.endColumn;e++)if(!u.has(e))for(let t=s;t<=l;t++){let r=a.getValue(t,e);var d,h;if(r&&(null!=(d=r.v)&&d.toString()||null!=(h=r.p)&&null!=(h=h.body)&&null!=(h=h.dataStream)&&h.trim())){c.add(e);break}}let m=[],f=Array.from(c).sort((e,t)=>e-t);for(let e of f)m.push({index:e,label:QYe(e)});return m}getSelectionRangeNotation(){let e=this._selectionService.getCurrentSelections();return e&&0!==e.length?e.map(e=>function(e){let t=ZYe(e.startRow,e.startColumn),r=ZYe(e.endRow,e.endColumn);return t===r?t:`${t}:${r}`}(e.range)).join(", "):""}getSelectionRowRange(){let e=this._selectionService.getCurrentSelections();if(!e||0===e.length)return null;let t=1/0,r=-1/0;for(let n of e)t=Math.min(t,n.range.startRow),r=Math.max(r,n.range.endRow);return{startRow:t,endRow:r}}getSelectionColumnIndices(){let e=this._selectionService.getCurrentSelections();if(!e||0===e.length)return new Set;let t=new Set;for(let r of e)for(let e=r.range.startColumn;e<=r.range.endColumn;e++)t.add(e);return t}generateFileName(e,t){let r=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET),n=JYe(e.source,e.imageSourceType),i=[];for(let n of t.fileNameParts)if(n===GYe.CELL_ADDRESS)i.push(e.cellAddress);else if(n===GYe.COLUMN_VALUE&&void 0!==t.columnIndex){let n=null==r?void 0:r.getActiveSheet();if(n){let r=n.getCellMatrix().getValue(e.row,t.columnIndex);if(r){var a,o;let e=(null==(a=r.v)?void 0:a.toString())||(null==(o=r.p)||null==(o=o.body)||null==(o=o.dataStream)?void 0:o.trim())||"";if(e){let t=e.replace(/[<>:"/\\|?*]/g,"_").trim();t&&i.push(t)}}}}return 0===i.length?`${e.cellAddress}.${n}`:`${i.join("_")}.${n}`}generateFileNameWithContext(e,t,r,n){let i=this._univerInstanceService.getUnit(r,Pi.UNIVER_SHEET),a=JYe(e.source,e.imageSourceType),o=[];for(let r of t.fileNameParts)if(r===GYe.CELL_ADDRESS)o.push(e.cellAddress);else if(r===GYe.COLUMN_VALUE&&void 0!==t.columnIndex){let r=null==i?void 0:i.getSheetBySheetId(n);if(r){let n=r.getCellMatrix().getValue(e.row,t.columnIndex);if(n){var s,l;let e=(null==(s=n.v)?void 0:s.toString())||(null==(l=n.p)||null==(l=l.body)||null==(l=l.dataStream)?void 0:l.trim())||"";if(e){let t=e.replace(/[<>:"/\\|?*]/g,"_").trim();t&&o.push(t)}}}}return 0===o.length?`${e.cellAddress}.${a}`:`${o.join("_")}.${a}`}async saveImages(e,t){let r=await window.showDirectoryPicker({mode:"readwrite"}),n=new Map;for(let a of e){var i;let e=this.generateFileName(a,t),o=e.replace(/\.\w+$/,""),s=(null==(i=e.match(/\.\w+$/))?void 0:i[0])||".png",l=n.get(o)||0;l>0&&(e=`${o}_${l}${s}`),n.set(o,l+1);try{let t=await this._getImageBlob(a),n=await(await r.getFileHandle(e,{create:!0})).createWritable();await n.write(t),await n.close()}catch(t){throw console.error(`Failed to save image ${e}:`,t),t}}}async saveImagesWithContext(e,t,r,n){let i=await window.showDirectoryPicker({mode:"readwrite"}),a=new Map;for(let s of e){var o;let e=this.generateFileNameWithContext(s,t,r,n),l=e.replace(/\.\w+$/,""),u=(null==(o=e.match(/\.\w+$/))?void 0:o[0])||".png",c=a.get(l)||0;c>0&&(e=`${l}_${c}${u}`),a.set(l,c+1);try{let t=await this._getImageBlob(s),r=await(await i.getFileHandle(e,{create:!0})).createWritable();await r.write(t),await r.close()}catch(t){throw console.error(`Failed to save image ${e}:`,t),t}}}async downloadSingleImage(e){let t=JYe(e.source,e.imageSourceType),r=`${e.cellAddress}.${t}`;try{let t=await this._getImageBlob(e),n=URL.createObjectURL(t),i=document.createElement("a");i.href=n,i.download=r,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(n)}catch(e){throw console.error(`Failed to download image ${r}:`,e),e}}async _getImageBlob(e){return e.imageSourceType===Lf.UUID?eQe(await this._imageIoService.getImage(e.source),Lf.URL):e.imageSourceType===Lf.URL?this._urlImageService.downloadImage(e.source):eQe(e.source,e.imageSourceType)}};tQe=jYe([FYe(0,dg),FYe(1,Y(rSe)),FYe(2,Pf),FYe(3,Df)],tQe);const rQe="sheet.dialog.batch-save-images",nQe={id:"sheet.command.save-cell-images",type:Bc.COMMAND,handler:async e=>{let t=e.get(Jte),r=e.get(YYe),n=r.getCellImagesInSelection();if(1===n.length)try{return await r.downloadSingleImage(n[0]),!0}catch(e){return console.error("Failed to download image:",e),!1}let i=e.get(Cg),a=r.getSelectionRangeNotation(),o=`${i.t("sheetImage.save.title")} (${a})`;return t.open({id:rQe,draggable:!0,width:360,title:{title:o},children:{label:rQe},destroyOnClose:!0,preservePositionOnDestroy:!0,onClose:()=>t.close(rQe)}),!0}},iQe="COMPONENT_SHEET_DRAWING_PANEL",aQe={id:"sidebar.operation.sheet-image",type:Bc.COMMAND,handler:async(e,t)=>{let r=e.get(V5),n=e.get(Cg),i=e.get(dg),a=e.get(Vc);return!!W_e(i)&&("open"===t.value?r.open({header:{title:n.t("sheetImage.panel.title")},children:{label:iQe},onClose:()=>{a.syncExecuteCommand(Are.id,[])},width:360}):r.close(),!0)}},oQe={id:"sheet.operation.edit-sheet-image",type:Bc.OPERATION,handler:(e,t)=>{let r=e.get(Vc);return null!=t&&(r.syncExecuteCommand(Are.id,[t]),r.executeCommand(aQe.id,{value:"open"}),!0)}},sQe=[rke.SPECIAL_PASTE_COL_WIDTH,rke.SPECIAL_PASTE_VALUE,rke.SPECIAL_PASTE_FORMAT,rke.SPECIAL_PASTE_FORMULA];let lQe=class extends tu{constructor(e,t,r,n){super(),this._sheetClipboardService=e,this._renderManagerService=t,this._sheetDrawingService=r,this._drawingManagerService=n,VYe(this,"_featurePasteHooks",[]),VYe(this,"_copyInfo",void 0),this._initCopyPaste()}get _focusedDrawings(){return this._sheetDrawingService.getFocusDrawings()}_initCopyPaste(){this._sheetClipboardService.addClipboardHook({id:"SHEET_DRAWING_GROUP",onBeforeCopy:(e,t)=>{this._copyInfo=null;let r=this._focusedDrawings;if(0===r.length)return;let n=r.find(e=>e.drawingType===bc.DRAWING_GROUP);if(!n)return;let i=this._drawingManagerService.getDrawingsByGroupNested({unitId:n.unitId,subUnitId:n.subUnitId,drawingId:n.drawingId});i&&(this._copyInfo={unitId:n.unitId,subUnitId:n.subUnitId,groupNestedParam:i})},onPasteCells:(e,t,r,n)=>{if(!this._copyInfo)return{redos:[],undos:[]};let{pasteType:i}=n;return sQe.includes(i)?{redos:[],undos:[]}:this._generateGroupPasteMutations(t)},onPasteUnrecognized:e=>this._copyInfo?this._generateGroupPasteMutations(e):{redos:[],undos:[]}})}registerFeaturePasteHook(e){this._featurePasteHooks.push(e)}_getGroupFeaturePasteMutations(e){let t=[],r=[];for(let n of this._featurePasteHooks){let i=n(e);t.push(...i.redos),r.push(...i.undos)}return{redos:t,undos:r}}_generateGroupPasteMutations(e){var t;let{unitId:r,subUnitId:n,range:i}=e,a=this._renderManagerService.getRenderById(r),o=null==a?void 0:a.with(vLe),s=null==a?void 0:a.with(dLe);if(!o||!s||!this._copyInfo)return{redos:[],undos:[]};let{groupNestedParam:l}=this._copyInfo,u=l.groups[l.groups.length-1],{cloned:c,idMap:d}=function(e){var t;let r=new Map;null==(t=e.flatChildren)||t.forEach(e=>r.set(e.drawingId,cu(10))),e.groups.forEach(e=>r.set(e.drawingId,cu(10)));let n={};for(let[t,o]of Object.entries(e.nestedIdRecord)){var i,a;let e=null==(i=r.get(t))?t:i;n[e]={drawingId:e,children:null==(a=o.children)?void 0:a.map(e=>{var t;return null==(t=r.get(e))?e:t})}}let o=[],s=[];for(let t of e.groups){var l,u;let e=null==(l=r.get(t.drawingId))?t.drawingId:l,n=t.groupId?null==(u=r.get(t.groupId))?t.groupId:u:void 0;s.push(OYe(t,e,n))}for(let t of e.flatChildren||[]){var c,d;let e=null==(c=r.get(t.drawingId))?t.drawingId:c,n=t.groupId?null==(d=r.get(t.groupId))?t.groupId:d:void 0;o.push(OYe(t,e,n))}return{cloned:{nestedIdRecord:n,flatChildren:o,groups:s},idMap:r}}(l),h=c.groups[c.groups.length-1].drawingId,m=XEe(i),f=o.attachRangeWithCoord({startRow:m.startRow,endRow:m.endRow,startColumn:m.startColumn,endColumn:m.endColumn});if(!f)return{redos:[],undos:[]};let g={...u.transform,left:f.startX,top:f.startY},p=[...(null==(t=c.flatChildren)?[]:t).map(e=>({...e,unitId:r,subUnitId:n})),...c.groups.map(e=>{var t,i;return e.drawingId===h?{...e,unitId:r,subUnitId:n,transform:g,sheetTransform:null==(t=AYe(g,s))?u.sheetTransform:t,axisAlignSheetTransform:null==(i=IYe(g,s))?u.sheetTransform:i}:{...e,unitId:r,subUnitId:n}})],{undo:v,redo:b,objects:C}=this._sheetDrawingService.getBatchAddOp(p),y=[{id:fYe.id,params:{op:b,unitId:r,subUnitId:n,objects:C,type:mYe.INSERT}}],_=[{id:fYe.id,params:{op:v,unitId:r,subUnitId:n,objects:C,type:mYe.REMOVE}}],w=this._getGroupFeaturePasteMutations({fromUnitId:this._copyInfo.unitId,fromSubUnitId:this._copyInfo.subUnitId,toUnitId:r,toSubUnitId:n,idMap:d,cloned:c});return y.push(...w.redos),_.push(...w.undos),{redos:y,undos:_}}dispose(){this._copyInfo=null,this._featurePasteHooks.length=0,super.dispose()}};lQe=jYe([FYe(0,ike),FYe(1,kX),FYe(2,hYe),FYe(3,Sre)],lQe);const uQe="sheet.menu.image",cQe="sheets-drawing-ui.config";Symbol(cQe);const dQe={};let hQe=class extends ru{constructor(e,t,r,n){super(),this._drawingManagerService=e,this._contextMenuService=t,this._renderManagerService=r,this._univerInstanceService=n,this._init()}_init(){this._univerInstanceService.getAllUnitsForType(Pi.UNIVER_SHEET).forEach(e=>this._contextMenuListener(e))}_contextMenuListener(e){var t;if(!e)return;let r=null==(t=this._renderManagerService.getRenderById(e.getUnitId()))?void 0:t.scene;if(!r)return;let n=r.getTransformerByCreate();n&&this.disposeWithMe(n.changeEnd$.subscribe(e=>{let{event:t}=e;if(2!==t.button)return;let r=n.getSelectedObjectMap();if(0!==r.size){for(let e of r.values()){let t=e.oKey;if(!this._drawingManagerService.getDrawingOKey(t))return}this._contextMenuService.triggerContextMenu(t,tee.DRAWING)}}))}};hQe=jYe([FYe(0,Sre),FYe(1,jee),FYe(2,kX),FYe(3,dg)],hQe);let mQe=class extends tu{constructor(e,t,r,n,i){super(),this._context=e,this._hoverManagerService=t,this._selectionsService=r,this._drawingRenderService=n,this._sheetSkeletonManagerService=i,VYe(this,"_isSetCursor",!1),this._initHover(),this._initImageClick()}_initHover(){this.disposeWithMe(this._hoverManagerService.currentRichTextNoDistinct$.pipe(pq(33)).subscribe(e=>{var t,r;let n=[];null!==e&&(n=this._selectionsService.getWorkbookSelections(this._context.unitId).getCurrentSelections()),n.length>0&&(null==e?void 0:e.unitId)===this._context.unitId&&null!=e&&e.drawing&&1===n.length&&(null==(t=n[0].primary)?void 0:t.actualRow)===e.row&&(null==(r=n[0].primary)?void 0:r.actualColumn)===e.col?(this._isSetCursor=!0,this._context.scene.setCursor(TV.ZOOM_IN)):this._isSetCursor&&(this._isSetCursor=!1,this._context.scene.resetCursor())}))}_initImageClick(){this.disposeWithMe(this._hoverManagerService.currentClickedCell$.subscribe(e=>{if(null!=e&&e.drawing&&this._isSetCursor){var t;let r=e.drawing.drawing.drawingOrigin,n=null==(t=this._sheetSkeletonManagerService.getCurrentSkeleton())?void 0:t.imageCacheMap.getImage(r.imageSourceType,r.source);if(!n)return;this._drawingRenderService.previewImage("preview-cell-image",n.src,n.width,n.height),this._context.scene.resetCursor(),this._isSetCursor=!1}}))}};mQe=jYe([FYe(1,Y(yUe)),FYe(2,Y(rSe)),FYe(3,Y(eYe)),FYe(4,Y(vLe))],mQe);let fQe=class extends tu{constructor(e,t,r,n,i){super(),this._context=e,this._sheetDrawingService=t,this._drawingManagerService=r,this._sheetSelectionRenderService=n,this._sheetSkeletonManagerService=i,this._init()}_init(){this._drawingInitializeListener()}_drawingInitializeListener(){this._sheetDrawingService.initializeNotification(this._context.unitId);let e=this._sheetDrawingService.getDrawingDataForUnit(this._context.unitId);for(let t in e){let r=e[t];for(let e in r.data){let t=r.data[e];t.sheetTransform&&(t.transform=SYe(t.sheetTransform,this._sheetSelectionRenderService,this._sheetSkeletonManagerService))}}this._drawingManagerService.registerDrawingData(this._context.unitId,this._sheetDrawingService.getDrawingDataForUnit(this._context.unitId)),this._drawingManagerService.initializeNotification(this._context.unitId)}};function gQe(e,t,r){var n,i;if(3===(null==r||null==(n=r.p)||null==(n=n.body)?void 0:n.dataStream.length)&&1===(null==(i=r.p)||null==(i=i.drawingsOrder)?void 0:i.length)){let n=r.p.drawings[r.p.drawingsOrder[0]],i=HYe(e,{unitId:t.unitId,subUnitId:t.subUnitId,row:t.row,col:t.col},n.docTransform.size.width,n.docTransform.size.height,n.docTransform.angle);if(i)return n.transform.width=i.width,n.transform.height=i.height,n.docTransform.size.width=i.width,n.docTransform.size.height=i.height,n.transform.left=0,n.transform.top=0,n.docTransform.positionH.posOffset=0,n.docTransform.positionV.posOffset=0,r.p.documentStyle.pageSize.width=1/0,r.p.documentStyle.pageSize.height=1/0,!0}return!1}fQe=jYe([FYe(1,hYe),FYe(2,Sre),FYe(3,Y(dLe)),FYe(4,Y(vLe))],fQe);let pQe=class extends tu{constructor(e,t,r,n,i,a){super(),this._commandService=e,this._sheetInterceptorService=t,this._injector=r,this._drawingManagerService=n,this._docDrawingController=i,this._editorBridgeService=a,this._handleInitEditor(),this._initCellContentInterceptor()}_handleInitEditor(){this.disposeWithMe(this._editorBridgeService.visible$.subscribe(e=>{e.visible?e.visible&&(this._drawingManagerService.removeDrawingDataForUnit(El),this._docDrawingController.loadDrawingDataForUnit(El),this._drawingManagerService.initializeNotification(El)):this._drawingManagerService.removeDrawingDataForUnit(El)})),this.disposeWithMe(this._commandService.onCommandExecuted(e=>{e.id===sae.id&&e.params.unitId===Al&&(this._drawingManagerService.removeDrawingDataForUnit(Al),this._docDrawingController.loadDrawingDataForUnit(Al),this._drawingManagerService.initializeNotification(Al))}))}_initCellContentInterceptor(){this.disposeWithMe(this._sheetInterceptorService.intercept(G_e.CELL_CONTENT,{effect:Vl.Style,priority:Y_e.CELL_IMAGE,handler:(e,t,r)=>{var n;return null!=e&&e.p&&null!=(n=e.p.drawingsOrder)&&n.length&&(e===t.rawData&&(e={...t.rawData}),e.interceptorStyle||(e.interceptorStyle={}),e.interceptorStyle.tr={a:0},gQe(this._injector,{unitId:t.unitId,subUnitId:t.subUnitId,row:t.row,col:t.col},e)),r(e)}}))}};pQe=jYe([FYe(0,Vc),FYe(1,Y(iwe)),FYe(2,Y(he)),FYe(3,Sre),FYe(4,Y(Wqe)),FYe(5,Y(GPe))],pQe);let vQe=class extends tu{constructor(e,t){super(),this._autoFillService=e,this._injector=t,this._initAutoFillHooks()}_initAutoFillHooks(){this.disposeWithMe(this._autoFillService.addHook({id:"sheet-cell-image-autofill",onBeforeSubmit:(e,t,r,n)=>{new kd(n).forValue((t,r,n)=>{gQe(this._injector,{unitId:e.unitId,subUnitId:e.subUnitId,row:t,col:r},n)})}}))}};vQe=jYe([FYe(0,Y(pxe)),FYe(1,Y(he))],vQe);const bQe=[El,Sl,Al];let CQe=class extends tu{constructor(e,t,r,n,i){super(),this._commandService=e,this._univerInstanceService=t,this._dialogService=r,this._renderManagerService=n,this._localeService=i,this._initDocImageCopyPasteHooks()}_setCellImage(e){var t;let r=jf("",{}),n=null==(t=PX(Pi.UNIVER_SHEET,this._univerInstanceService,this._renderManagerService))?void 0:t.with(nUe),i=Jm.drawing.add({documentDataModel:r,drawings:[e],selection:{collapsed:!0,startOffset:0,endOffset:0}});i&&(r.apply(i),n&&n.submitCellData(r))}_initDocImageCopyPasteHooks(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{if(e.id===zne.id){var t;let{doc:n}=e.params,i=this._univerInstanceService.getCurrentUnitOfType(Pi.UNIVER_DOC);if(null==i||!Object.keys(null==(t=n.drawings)?{}:t).length)return;let a=i.getUnitId();if(bQe.includes(a)){if(a!==Al){var r;let e=()=>{this._dialogService.close("sheet-cell-image-copy-paste"),this._commandService.syncExecuteCommand(sDe.id,{visible:!1})};"\r\n"===(null==(r=i.getBody())?void 0:r.dataStream)?(this._commandService.syncExecuteCommand(sDe.id,{visible:!1}),this._setCellImage(Object.values(n.drawings)[0])):this._dialogService.open({id:"sheet-cell-image-copy-paste",title:{label:this._localeService.t("cell-image.pasteTitle")},children:{label:this._localeService.t("cell-image.pasteContent")},width:320,destroyOnClose:!0,onClose:e,showOk:!0,showCancel:!0,onOk:()=>{e(),this._setCellImage(Object.values(n.drawings)[0])},onCancel:e})}throw Error("Sheet cell image copy paste is not supported in this unit")}}}))}};CQe=jYe([FYe(0,Vc),FYe(1,dg),FYe(2,Jte),FYe(3,kX),FYe(4,Y(Cg))],CQe);const yQe="image/png";function _Qe(e){let t=e.split(","),r=atob(t[1]),n=r.length,i=new Uint8Array(n);for(let e=0;e{this._copyInfo=null;let i=this._focusedDrawings;if(i.length>0){let[t]=i;if(t.drawingType!==bc.DRAWING_IMAGE)return;if(n===WLe.CUT){let r={unitId:e,drawings:[t]};this._commandService.executeCommand(xYe.id,r)}setTimeout(()=>{let e=function(){let e=document.activeElement,t=function(){let e=document.createElement("input");return e.style.position="absolute",e.style.height="1px",e.style.width="1px",e.style.opacity="0",e}();return document.body.appendChild(t),t.focus(),()=>{t.blur(),document.body.removeChild(t),e instanceof HTMLElement&&e.focus()}}();t.drawingType===bc.DRAWING_IMAGE&&t.imageSourceType===Lf.BASE64?function(e){let t=new ClipboardItem({[yQe]:_Qe(e)});navigator.clipboard.write([t]).catch(e=>{console.error("Could not copy image using clipboard API: ",e)})}(t.source):this._clipboardInterfaceService.writeText(""),e()},200),this._copyInfo={unitId:t.unitId,subUnitId:t.subUnitId,drawings:[t]}}else this._copyInfo=this._createDrawingsCopyInfoByRange(e,t,r)},onPasteCells:(e,t,r,n)=>{if(!this._copyInfo)return{redos:[],undos:[]};let{copyType:i=WLe.COPY,pasteType:a}=n,{range:o}=e||{},{range:s,unitId:l,subUnitId:u}=t;return this._copyInfo.copyRange?this._generateRangeDrawingsPasteMutations({pasteType:a,unitId:l,subUnitId:u,pasteRange:s},{copyRange:o,copyType:i}):this._generateSingleDrawingPasteMutations({pasteTo:t,pasteType:a},WLe.COPY)},onPastePlainText:(e,t)=>({undos:[],redos:[]}),onPasteUnrecognized:e=>this._copyInfo?this._generateSingleDrawingPasteMutations({pasteTo:e,pasteType:rke.DEFAULT_PASTE},WLe.COPY):{undos:[],redos:[]},onPasteFiles:(e,t)=>{if(this._copyInfo)return this._generateSingleDrawingPasteMutations({pasteTo:e,pasteType:rke.DEFAULT_PASTE},WLe.COPY);{let e=t.filter(e=>e.type.includes("image"));if(e.length)return{undos:[],redos:[{id:zYe.id,params:{files:e}}]}}return{undos:[],redos:[]}}})}_createDrawingsCopyInfoByRange(e,t,r){var n;let i=null==(n=this._renderManagerService.getRenderById(e))?void 0:n.with(vLe);if(!i)return;let a=i.attachRangeWithCoord(r);if(!a)return;let{startX:o,endX:s,startY:l,endY:u}=a,c=this._drawingService.getDrawingData(e,t),d=this._focusedDrawings.slice();return Object.keys(c).forEach(e=>{let t=c[e];if(t.drawingType!==bc.DRAWING_IMAGE)return;let{transform:r}=t;if(t.anchorType!==cYe.Both||!r)return;let{left:n=0,top:i=0,width:a=0,height:h=0}=r,{drawingStartX:m,drawingEndX:f,drawingStartY:g,drawingEndY:p}={drawingStartX:n,drawingEndX:n+a,drawingStartY:i,drawingEndY:i+h};o<=m&&f<=s&&l<=g&&p<=u&&d.push(t)}),d.length?{copyRange:r,drawings:d,unitId:e,subUnitId:t}:void 0}_generateSingleDrawingPasteMutations(e,t){let{pasteType:r,pasteTo:n}=e;if(wQe.includes(r))return{redos:[],undos:[]};let{unitId:i,subUnitId:a,range:o}=n,s=this._renderManagerService.getRenderById(i),l=null==s?void 0:s.with(vLe),u=null==s?void 0:s.with(dLe),c=this._copyInfo;if(!l||!u)return{redos:[],undos:[]};let{drawings:d}=c,h=XEe(o);return this._generateMutations(d,{unitId:i,subUnitId:a,isCut:t===WLe.CUT,getTransform:(e,t)=>{var r,n;let i=l.attachRangeWithCoord({startRow:h.startRow,endRow:h.endRow,startColumn:h.startColumn,endColumn:h.endColumn}),a={...e,left:null==i?void 0:i.startX,top:null==i?void 0:i.startY};return{transform:a,sheetTransform:null==(r=AYe(a,u))?t:r,axisAlignSheetTransform:null==(n=IYe(a,u))?t:n}}})}_generateMutations(e,t){let{unitId:r,subUnitId:n,getTransform:i,isCut:a}=t,o=[],s=[],{_drawingService:l}=this;return e.forEach(e=>{let{transform:t,sheetTransform:u}=e;if(!t)return;let c=i(t,u),d={...e,unitId:r,subUnitId:n,drawingId:a?e.drawingId:cu(),transform:c.transform,sheetTransform:c.sheetTransform,axisAlignSheetTransform:c.axisAlignSheetTransform};if(a){let{undo:e,redo:t,objects:i}=l.getBatchUpdateOp([d]);o.push({id:fYe.id,params:{unitId:r,subUnitId:n,type:mYe.UPDATE,op:t,objects:i}}),s.push({id:fYe.id,params:{unitId:r,subUnitId:n,type:mYe.UPDATE,op:e,objects:i}})}else{let{undo:e,redo:t,objects:i}=l.getBatchAddOp([d]);o.push({id:fYe.id,params:{op:t,unitId:r,subUnitId:n,objects:i,type:mYe.INSERT}}),s.push({id:fYe.id,params:{op:e,unitId:r,subUnitId:n,objects:i,type:mYe.REMOVE}})}}),{redos:o,undos:s}}_generateRangeDrawingsPasteMutations(e,t){var r;let{unitId:n,subUnitId:i,pasteType:a,pasteRange:o}=e,{copyRange:s,copyType:l}=t;if(wQe.includes(a))return{redos:[],undos:[]};let u=null==(r=this._renderManagerService.getRenderById(n))?void 0:r.with(vLe);if(!u||!this._copyInfo)return{redos:[],undos:[]};let{drawings:c}=this._copyInfo;if(!s)return this._generateSingleDrawingPasteMutations({pasteTo:{unitId:n,subUnitId:i,range:XEe(o)},pasteType:a},l);let{ranges:[d,h],mapFunc:m}=GOe([s,o]),{row:f,col:g}=m(d.startRow,d.startColumn),{row:p,col:v}=m(h.startRow,h.startColumn),b=u.attachRangeWithCoord({startRow:f,endRow:f,startColumn:g,endColumn:g}),C=u.attachRangeWithCoord({startRow:p,endRow:p,startColumn:v,endColumn:v});if(!b||!C||!this._copyInfo)return{redos:[],undos:[]};let y=C.startX-b.startX,_=C.startY-b.startY,w=p-f,E=v-g;return this._generateMutations(c,{unitId:n,subUnitId:i,getTransform:(e,t)=>{var r,i,a;let o={...e,left:(null==(r=null==e?void 0:e.left)?0:r)+y,top:(null==(i=null==e?void 0:e.top)?0:i)+_},s=this._renderManagerService.getRenderById(n),l=null==s?void 0:s.with(dLe);return l?{transform:o,sheetTransform:{...t,to:{...t.to,row:t.to.row+w,column:t.to.column+E},from:{...t.from,row:t.from.row+w,column:t.from.column+E}},axisAlignSheetTransform:null==(a=IYe(o,l))?t:a}:{transform:o,sheetTransform:{...t,to:{...t.to,row:t.to.row+w,column:t.to.column+E},from:{...t.from,row:t.from.row+w,column:t.from.column+E}},axisAlignSheetTransform:{...t,to:{...t.to,row:t.to.row+w,column:t.to.column+E},from:{...t.from,row:t.from.row+w,column:t.from.column+E}}}},isCut:l===WLe.CUT})}};EQe=jYe([FYe(0,ike),FYe(1,kX),FYe(2,Sre),FYe(3,qte),FYe(4,Vc)],EQe);let SQe=class extends tu{constructor(e,t,r,n,i){super(),this._drawingManagerService=e,this._renderManagerService=t,this._permissionService=r,this._univerInstanceService=n,this._userManagerService=i,this._initDrawingVisible(),this._initDrawingEditable(),this._initViewPermissionChange(),this._initEditPermissionChange()}_initDrawingVisible(){let e=Oi([this._univerInstanceService.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET),this._userManagerService.currentUser$]);this.disposeWithMe(e.pipe(aq(([e,t])=>e?e.activeSheet$.pipe(Bn(t=>{if(!t)return void this._drawingManagerService.setDrawingVisible(!1);let r=e.getUnitId(),n=t.getSheetId();this._permissionService.composePermission([new GSe(r).id,new hAe(r,n).id]).every(e=>e.value)?this._drawingManagerService.setDrawingVisible(!0):this._handleDrawingVisibilityFalse(e,t)})):(this._drawingManagerService.setDrawingVisible(!1),fi))).subscribe())}_handleDrawingVisibilityFalse(e,t){this._drawingManagerService.setDrawingVisible(!1);let r=e.getUnitId(),n=t.getSheetId(),i=this._drawingManagerService.getDrawingData(r,n),a=Object.values(i),o=this._renderManagerService.getRenderById(r),s=null==o?void 0:o.scene;s&&s.getAllObjectsByOrder().forEach(e=>{e.classType===LV.IMAGE&&a.some(t=>e.oKey.includes(t.drawingId))&&s.removeObject(e)})}_initDrawingEditable(){let e=Oi([this._univerInstanceService.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET),this._userManagerService.currentUser$]);this.disposeWithMe(e.pipe(aq(([e,t])=>e?e.activeSheet$.pipe(Bn(t=>{if(!t)return void this._drawingManagerService.setDrawingEditable(!1);let r=e.getUnitId(),n=t.getSheetId();this._permissionService.composePermission([new PSe(r).id,new JSe(r,n).id]).every(e=>e.value)?this._drawingManagerService.setDrawingEditable(!0):this._handleDrawingEditableFalse(e,t)})):(this._drawingManagerService.setDrawingEditable(!1),fi))).subscribe())}_handleDrawingEditableFalse(e,t){this._drawingManagerService.setDrawingEditable(!1);let r=e.getUnitId(),n=t.getSheetId(),i=this._drawingManagerService.getDrawingData(r,n),a=Object.values(i),o=this._renderManagerService.getRenderById(r),s=null==o?void 0:o.scene;s&&s.getAllObjectsByOrder().forEach(e=>{e.classType===LV.IMAGE&&a.some(t=>e.oKey.includes(t.drawingId))&&s.detachTransformerFrom(e)})}_initViewPermissionChange(){let e=this._univerInstanceService.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET),t=this._userManagerService.currentUser$;this.disposeWithMe(Oi([e,t]).pipe(aq(([e,t])=>e?e.activeSheet$.pipe(aq(t=>{if(!t)return fi;let r=e.getUnitId(),n=t.getSheetId(),i=this._renderManagerService.getRenderById(r),a=null==i?void 0:i.scene;if(!a)return fi;let o=a.getTransformerByCreate();return this._permissionService.composePermission$([new GSe(r).id,new hAe(r,n).id]).pipe(Yn(e=>e.every(e=>e.value)),Zn()).pipe(Yn(e=>({permission:e,scene:a,transformer:o,unitId:r,subUnitId:n})))})):fi)).subscribe({next:({permission:e,scene:t,transformer:r,unitId:n,subUnitId:i})=>{this._drawingManagerService.setDrawingVisible(e);let a=t.getAllObjectsByOrder(),o=this._drawingManagerService.getDrawingData(n,i),s=Object.values(o);e?this._drawingManagerService.addNotification(s):(a.forEach(e=>{e.classType===LV.IMAGE&&s.some(t=>e.oKey.includes(t.drawingId))&&t.removeObject(e)}),r.clearSelectedObjects())},complete:()=>{this._drawingManagerService.setDrawingVisible(!0);let e=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET),t=null==e?void 0:e.getActiveSheet(),r=null==e?void 0:e.getUnitId(),n=null==t?void 0:t.getSheetId();if(!r||!n)return;let i=this._drawingManagerService.getDrawingData(r,n),a=Object.values(i);this._drawingManagerService.addNotification(a)}}))}_initEditPermissionChange(){let e=this._univerInstanceService.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET),t=this._userManagerService.currentUser$;this.disposeWithMe(Oi([e,t]).pipe(aq(([e,t])=>e?e.activeSheet$.pipe(aq(t=>{if(!t)return fi;let r=e.getUnitId(),n=t.getSheetId(),i=this._renderManagerService.getRenderById(r),a=null==i?void 0:i.scene;if(!a)return fi;let o=a.getTransformerByCreate();return this._permissionService.composePermission$([new PSe(r).id,new JSe(r,n).id]).pipe(Yn(e=>e.every(e=>e.value)),Zn()).pipe(Yn(e=>({permission:e,scene:a,transformer:o,unitId:r,subUnitId:n})))})):fi)).subscribe({next:({permission:e,scene:t,transformer:r,unitId:n,subUnitId:i})=>{this._drawingManagerService.setDrawingEditable(e);let a=t.getAllObjectsByOrder(),o=this._drawingManagerService.getDrawingData(n,i),s=Object.values(o);e?(a.forEach(e=>{e.classType===LV.IMAGE&&s.some(t=>e.oKey.includes(t.drawingId))&&t.attachTransformerTo(e)}),this._drawingManagerService.addNotification(s)):(a.forEach(e=>{e.classType===LV.IMAGE&&s.some(t=>e.oKey.includes(t.drawingId))&&t.detachTransformerFrom(e)}),r.clearSelectedObjects())},complete:()=>{let e=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET);if(!e)return;let t=e.getUnitId(),r=e.getActiveSheet();if(!r)return;let n=r.getSheetId(),i=this._renderManagerService.getRenderById(t),a=null==i?void 0:i.scene;if(!a)return;let o=this._drawingManagerService.getDrawingData(t,n),s=Object.values(o);this._drawingManagerService.setDrawingEditable(!0),a.getAllObjectsByOrder().forEach(e=>{e.classType===LV.IMAGE&&s.some(t=>e.oKey.includes(t.drawingId))&&a.detachTransformerFrom(e)})}}))}};SQe=jYe([FYe(0,Sre),FYe(1,kX),FYe(2,Eg),FYe(3,dg),FYe(4,Y(gf))],SQe);var AQe=function(e){return e.ALL="ALL",e.HORIZONTAL="HORIZONTAL",e.VERTICAL="VERTICAL",e}(AQe||{});function IQe(e,t,r,n,i,a=!1){let{scaleX:o,scaleY:s}=t.getAncestorScale(),l=t.getViewport(bj.VIEW_MAIN),{startColumn:u,startRow:c,xSplit:d,ySplit:h}=n.getFreeze(),m={left:!0,top:!0};if(!l)return{...e,absolute:m};let{left:f,right:g,top:p,bottom:v}=e,{top:b,left:C,viewportScrollX:y,viewportScrollY:_}=l,{boundsOfViewArea:w,scrollDirectionResponse:E}=i||{},{rowHeaderWidth:S,columnHeaderHeight:A}=r,I={top:a?0:A,left:a?0:S};w&&(uu.isDefine(I.top)&&(I.top=w.top),uu.isDefine(I.left)&&(I.left=w.left)),E===AQe.HORIZONTAL&&(_=0),E===AQe.VERTICAL&&(y=0);let R=0,x=0,T=r.rowStartY(c-h)+A,N=r.colStartX(u-d)+S,M=r.rowStartY(c)+A,O=r.colStartX(u)+S;if(0===d)m.left=!1,R=(f-y)*o,x=(g-y)*o;else{let e=f-(N-S);g=O?(R=e*o,x=Math.max(C,(g-y)*o)):f>O&&(m.left=!1,R=Math.max((f-y)*o,C),x=Math.max((g-y)*o,C))}let L=0,k=0;if(0===h)m.top=!1,L=(p-_)*s,k=(v-_)*s;else{let e=p-(T-A);v=M?(L=e*s,k=Math.max(b,(v-_)*s)):p>M&&(m.top=!1,L=Math.max((p-_)*s,b),k=Math.max((v-_)*s,b))}return R=Math.max(R,I.left),L=Math.max(L,I.top),x=Math.max(x,I.left),k=Math.max(k,I.top),{left:R,right:x,top:L,bottom:k,absolute:m}}const RQe=(e,t,r,n,i)=>{let{left:a,top:o,width:s,height:l,angle:u}=e,c=IQe({left:a,right:a+s,top:o,bottom:o+l},t,r,n,i),{scaleX:d,scaleY:h}=t.getAncestorScale();return{startX:c.left,endX:c.right,startY:c.top,endY:c.bottom,rotate:u,width:s*d,height:l*h,absolute:c.absolute}};let xQe=class extends tu{constructor(e,t,r,n,i,a,o){super(),this._renderManagerService=e,this._univerInstanceService=t,this._commandService=r,this._drawingManagerService=n,this._canvasFloatDomService=i,this._sheetDrawingService=a,this._lifecycleService=o,VYe(this,"_domLayerInfoMap",new Map),VYe(this,"_transformChange$",new On),VYe(this,"transformChange$",this._transformChange$.asObservable()),VYe(this,"_add$",new On),VYe(this,"add$",this._add$.asObservable()),VYe(this,"_remove$",new On),VYe(this,"remove$",this._remove$.asObservable()),this._drawingAddListener(),this._featureUpdateListener(),this._deleteListener(),this._bindScrollEvent()}_bindScrollEvent(){this._lifecycleService.lifecycle$.pipe(Un(e=>e===mg.Rendered),hq(1)).subscribe(()=>{this._scrollUpdateListener()})}getFloatDomInfo(e){return this._domLayerInfoMap.get(e)}getFloatDomsBySubUnitId(e,t){return Array.from(this._domLayerInfoMap.values()).filter(r=>r.subUnitId===t&&r.unitId===e)}_getSceneAndTransformerByDrawingSearch(e){if(null==e)return;let t=this._renderManagerService.getRenderById(e),r=null==t?void 0:t.scene;return null==t||null==r?null:{scene:r,transformer:r.getTransformerByCreate(),renderUnit:t,canvas:t.engine.getCanvasElement()}}_drawingAddListener(){this.disposeWithMe(this._drawingManagerService.add$.subscribe(e=>{e.forEach(e=>{var t;let{unitId:r,subUnitId:n,drawingId:i}=e,a=W_e(this._univerInstanceService,{unitId:r,subUnitId:n}),o=this._drawingManagerService.getDrawingByParam(e),s=this._univerInstanceService.getUnit(r,Pi.UNIVER_SHEET);if(!s)return;let l=s.getActiveSheet().getSheetId();if(!o||!a)return;let u=null==(t=this._renderManagerService.getRenderById(r))?void 0:t.with(vLe).getSkeletonParam(n);if(!u)return;let{transform:c,drawingType:d,data:h}=o;if(d!==bc.DRAWING_DOM&&d!==bc.DRAWING_CHART)return;let m=this._getSceneAndTransformerByDrawingSearch(r);if(null==m)return;let{scene:f,canvas:g}=m;if(null==c)return!0;if(l!==n)return;let{left:p,top:v,width:b,height:C,angle:y,flipX:_,flipY:w,skewX:E,skewY:S}=c,A=Ure({unitId:r,subUnitId:n,drawingId:i}),I=f.getObject(A);if(null!=I)return void I.transformByState({left:p,top:v,width:b,height:C,angle:y,flipX:_,flipY:w,skewX:E,skewY:S});let R={left:p,top:v,width:b,height:C,zIndex:this._drawingManagerService.getDrawingOrder(r,n).length-1},x=d===bc.DRAWING_CHART;R.rotateEnabled=!1,x&&(R.fill=h?h.backgroundColor:"white",h&&h.border&&(R.stroke=h.border),R.paintFirst="stroke",R.strokeWidth=1,R.borderEnabled=!1,R.radius=8);let T=new tX(A,R);x&&T.setObjectType(rj.CHART),f.addObject(T,4),!1!==o.allowTransform&&f.attachTransformerTo(T);let N=new eu,M=new Qn(RQe(T,m.renderUnit.scene,u.skeleton,a.worksheet)),O=`univer-sheet-float-dom-${cu(6)}`,L={dispose:N,rect:T,position$:M,unitId:r,subUnitId:n,id:i,domId:O};this._canvasFloatDomService.addFloatDom({position$:M,id:i,domId:O,componentKey:o.componentKey,onPointerDown:e=>{g.dispatchEvent(new PointerEvent(e.type,e))},onPointerMove:e=>{g.dispatchEvent(new PointerEvent(e.type,e))},onPointerUp:e=>{g.dispatchEvent(new PointerEvent(e.type,e))},onWheel:e=>{g.dispatchEvent(new WheelEvent(e.type,e))},data:h,unitId:r});let k=T.onTransformChange$.subscribeEvent(()=>{let e=RQe(T,m.renderUnit.scene,u.skeleton,a.worksheet);M.next(e)});N.add(()=>{this._canvasFloatDomService.removeFloatDom(i)}),k&&N.add(k),this._domLayerInfoMap.set(i,L)})})),this.disposeWithMe(this._drawingManagerService.remove$.subscribe(e=>{e.forEach(e=>{let{unitId:t,subUnitId:r,drawingId:n}=e,i=Ure({unitId:t,subUnitId:r,drawingId:n}),a=this._getSceneAndTransformerByDrawingSearch(t);if(null==a)return;let{transformer:o,scene:s}=a,l=s.getObject(i);var u;null!=l&&l.oKey&&(o.clearControlByIds([null==l?void 0:l.oKey]),null==(u=s.getTransformer())||u.clearSelectedObjects())})}))}_scrollUpdateListener(){let e=(e,t)=>{var r;let n=this._getSceneAndTransformerByDrawingSearch(e),i=Array.from(this._domLayerInfoMap.keys()).map(e=>({id:e,...this._domLayerInfoMap.get(e)})).filter(r=>r.subUnitId===t&&r.unitId===e).map(e=>e.id),a=W_e(this._univerInstanceService,{unitId:e,subUnitId:t}),o=null==(r=this._renderManagerService.getRenderById(e))?void 0:r.with(vLe).getSkeletonParam(t);!n||!a||!o||i.forEach(e=>{let t=this._domLayerInfoMap.get(e);if(t){let e=RQe(t.rect,n.renderUnit.scene,o.skeleton,a.worksheet,t);t.position$.next(e)}})};this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET).pipe(aq(e=>e?e.activeSheet$:Ai(null)),Yn(e=>{if(!e)return null;let t=e.getUnitId(),r=this._renderManagerService.getRenderById(t);return r?{render:r,unitId:t,subUnitId:e.getSheetId()}:null}),aq(e=>e?df(e.render.scene.getViewport(bj.VIEW_MAIN).onScrollAfter$).pipe(Yn(()=>({unitId:e.unitId,subUnitId:e.subUnitId}))):Ai(null))).subscribe(t=>{if(!t)return;let{unitId:r,subUnitId:n}=t;e(r,n)})),this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(t.id===QPe.id){let{unitId:r}=t.params;Array.from(this._domLayerInfoMap.values()).filter(e=>e.unitId===r).map(e=>e.subUnitId).forEach(t=>{e(r,t)})}else if(t.id===iTe.id){let{unitId:r,subUnitId:n}=t.params;e(r,n)}else if(t.id===vSe.id){let{unitId:r,subUnitId:n}=t.params;e(r,n)}}))}updateFloatDomProps(e,t,r,n){let i=this._domLayerInfoMap.get(r),a=this._getSceneAndTransformerByDrawingSearch(e);if(i&&a){let{scene:i}=a,o=Ure({unitId:e,subUnitId:t,drawingId:r}),s=i.getObject(o);s&&s instanceof tX&&s.setProps(n)}}_getPosition(e,t){var r;let{startX:n,endX:i,startY:a,endY:o}=e,s=null==(r=this._renderManagerService.getRenderById(t))?void 0:r.with(dLe);if(null==s)return;let l=s.getCellWithCoordByOffset(n,a);if(null==l)return;let u={column:l.actualColumn,columnOffset:n-l.startX,row:l.actualRow,rowOffset:a-l.startY},c=s.getCellWithCoordByOffset(i,o);return null!=c?{from:u,to:{column:c.actualColumn,columnOffset:i-c.startX,row:c.actualRow,rowOffset:o-c.startY}}:void 0}_featureUpdateListener(){this.disposeWithMe(this._drawingManagerService.update$.subscribe(e=>{e.forEach(e=>{let t=this._drawingManagerService.getDrawingByParam(e);if(!t||t.drawingType!==bc.DRAWING_DOM&&t.drawingType!==bc.DRAWING_CHART)return;let r={...t.transform};this._transformChange$.next({id:e.drawingId,value:r}),this._canvasFloatDomService.updateFloatDom(e.drawingId,{...t});let n=this._getSceneAndTransformerByDrawingSearch(e.unitId);if(n&&t.drawingType!==bc.DRAWING_CHART){let{scene:r}=n,i=this._domLayerInfoMap.get(e.drawingId);null!=i&&i.rect&&(!1===t.allowTransform?r.detachTransformerFrom(i.rect):r.attachTransformerTo(i.rect))}})}))}_deleteListener(){this.disposeWithMe(this._drawingManagerService.remove$.subscribe(e=>{e.forEach(e=>{this._removeDom(e.drawingId)})}))}addFloatDomToPosition(e,t){let r=W_e(this._univerInstanceService,{unitId:e.unitId,subUnitId:e.subUnitId});if(!r)throw Error("cannot find current target!");let{unitId:n,subUnitId:i}=r,{initPosition:a,componentKey:o,data:s,allowTransform:l=!0}=e,u=null==t?cu():t,c=this._getPosition(a,n);if(null==c)return;let d={unitId:n,subUnitId:i,drawingId:u,drawingType:e.type||bc.DRAWING_DOM,componentKey:o,sheetTransform:c,transform:{left:a.startX,top:a.startY,width:a.endX-a.startX,height:a.endY-a.startY},axisAlignSheetTransform:c,data:s,allowTransform:l};return this._commandService.executeCommand(kYe.id,{unitId:n,drawings:[d]}),this._add$.next({unitId:n,subUnitId:i,id:u}),{id:u,dispose:()=>{this._removeDom(u,!0)}}}_removeDom(e,t=!1){let r=this._domLayerInfoMap.get(e);if(!r)return;let{unitId:n,subUnitId:i}=r;this._domLayerInfoMap.delete(e),r.dispose.dispose();let a=this._getSceneAndTransformerByDrawingSearch(n);if(a&&a.scene.removeObject(r.rect),t){let t=this._drawingManagerService.getDrawingByParam({unitId:n,subUnitId:i,drawingId:e});if(!t)return;let{redo:r,objects:a}=this._sheetDrawingService.getBatchRemoveOp([t]);this._commandService.syncExecuteCommand(fYe.id,{unitId:n,subUnitId:i,op:r,objects:a,type:mYe.REMOVE})}}addFloatDomToRange(e,t,r,n){var i;let a=W_e(this._univerInstanceService,{unitId:t.unitId,subUnitId:t.subUnitId});if(!a)throw Error("cannot find current target!");let{unitId:o,subUnitId:s}=a,l=this._getSceneAndTransformerByDrawingSearch(o);if(!l)return;let u=this._renderManagerService.getRenderById(o);if(!u)return;let c=null==(i=this._renderManagerService.getRenderById(o))?void 0:i.with(vLe).getWorksheetSkeleton(s);if(!c)return;let{componentKey:d,data:h,allowTransform:m=!0}=t,f=null==n?cu():n,{position:g,position$:p}=this._createRangePositionObserver(e,u,c.skeleton),v=this._getPosition(g,o);if(null==v)return;let{scaleX:b}=l.scene.getAncestorScale(),C=NQe(g,r,b),y={unitId:o,subUnitId:s,drawingId:f,drawingType:t.type||bc.DRAWING_DOM,componentKey:d,sheetTransform:v,axisAlignSheetTransform:v,transform:{left:C.startX,top:C.startY,width:C.width,height:C.height},data:h,allowTransform:m};{var _,w;let{unitId:e,subUnitId:n,drawingId:i}=y,a=W_e(this._univerInstanceService,{unitId:e,subUnitId:n}),o=y,s=this._univerInstanceService.getUnit(e,Pi.UNIVER_SHEET);if(!s)return;let l=s.getActiveSheet().getSheetId();if(!o||!a)return;let u=null==(_=this._renderManagerService.getRenderById(e))?void 0:_.with(vLe);if(!u)return;let c=u.getWorksheetSkeleton(n);if(!c)return;let{transform:d,drawingType:h,data:m}=o;if(h!==bc.DRAWING_DOM&&h!==bc.DRAWING_CHART)return;let v=this._getSceneAndTransformerByDrawingSearch(e);if(null==v)return;let{scene:b,canvas:C}=v;if(null==d||l!==n)return;let{left:E,top:S,width:A,height:I,angle:R,flipX:x,flipY:T,skewX:N,skewY:M}=d,O=Ure({unitId:e,subUnitId:n,drawingId:i}),L=b.getObject(O);if(null!=L)return void L.transformByState({left:E,top:S,width:A,height:I,angle:R,flipX:x,flipY:T,skewX:N,skewY:M});let k={left:E,top:S,width:A,height:I,zIndex:this._drawingManagerService.getDrawingOrder(e,n).length-1},P=h===bc.DRAWING_CHART;P&&(k.fill=m?m.backgroundColor:"white",k.rotateEnabled=!1,m&&m.border&&(k.stroke=m.border),k.paintFirst="stroke",k.strokeWidth=1,k.borderEnabled=!1,k.radius=8);let D=new tX(O,k);P&&D.setObjectType(rj.CHART),b.addObject(D,4),!1!==o.allowTransform&&b.attachTransformerTo(D);let U=new eu,B=b.getMainViewport(),{rowHeaderWidth:V,columnHeaderHeight:F}=c.skeleton,j={dispose:U,rect:D,boundsOfViewArea:{top:F,left:V,bottom:B.bottom,right:B.right},domAnchor:r,unitId:e,subUnitId:n},H=new Qn(RQe(D,v.renderUnit.scene,c.skeleton,a.worksheet,j));j.position$=H;let W={position$:H,id:i,componentKey:o.componentKey,onPointerDown:()=>{},onPointerMove:()=>{},onPointerUp:()=>{},onWheel:e=>{C.dispatchEvent(new WheelEvent(e.type,e))},data:m,unitId:e};t.eventPassThrough&&(W={...W,onPointerDown:e=>{C.dispatchEvent(new PointerEvent(e.type,e))},onPointerMove:e=>{C.dispatchEvent(new PointerEvent(e.type,e))},onPointerUp:e=>{C.dispatchEvent(new PointerEvent(e.type,e))}}),this._canvasFloatDomService.addFloatDom(W),this.disposeWithMe(p.subscribe(t=>{var o,s,l,u;let d=NQe({rotate:0,startX:t.startX,startY:t.startY,endX:t.endX,endY:t.endY,width:null==(o=r.width)?t.width:o,height:null==(s=r.height)?t.height:s,absolute:{left:g.absolute.left,top:g.absolute.top}},r),h=RQe(new tX(Ure({unitId:e,subUnitId:n,drawingId:i}),{left:d.startX,top:d.startY,width:null==(l=r.width)?t.width:l,height:null==(u=r.height)?t.height:u,zIndex:this._drawingManagerService.getDrawingOrder(e,n).length-1}),v.renderUnit.scene,c.skeleton,a.worksheet,j);H.next(h)}));let z=null==(w=this._renderManagerService.getRenderById(e))?void 0:w.with(vLe),X=null==z?void 0:z.currentSkeleton$.subscribe(e=>{e&&c.sheetId!==e.sheetId&&this._removeDom(f,!0)});X&&U.add(X);let q=D.onTransformChange$.subscribeEvent(()=>{let e=RQe(D,v.renderUnit.scene,c.skeleton,a.worksheet,j);H.next(e)});U.add(()=>{this._canvasFloatDomService.removeFloatDom(i)}),q&&U.add(q),this._domLayerInfoMap.set(i,j)}return{id:f,dispose:()=>{this._removeDom(f,!0)}}}addFloatDomToColumnHeader(e,t,r,n){var i;let a=W_e(this._univerInstanceService,{unitId:t.unitId,subUnitId:t.subUnitId});if(!a)throw Error("cannot find current target!");let{unitId:o,subUnitId:s}=a;if(!this._getSceneAndTransformerByDrawingSearch(o))return;let l=this._renderManagerService.getRenderById(o);if(!l)return;let u=null==(i=this._renderManagerService.getRenderById(o))?void 0:i.with(vLe).getWorksheetSkeleton(s);if(!u)return;let{componentKey:c,data:d,allowTransform:h=!0}=t,m=null==n?cu():n,{position:f,position$:g}=this._createRangePositionObserver({startRow:0,endRow:0,startColumn:e,endColumn:e},l,u.skeleton),p=f;p.startY=0;let v=this._getPosition(f,o);if(null==v)return;let b={unitId:o,subUnitId:s,drawingId:m,drawingType:t.type||bc.DRAWING_DOM,componentKey:c,sheetTransform:v,axisAlignSheetTransform:v,transform:{left:p.startX,top:p.startY,width:p.width,height:p.height},data:d,allowTransform:h};{var C,y;let{unitId:e,subUnitId:n,drawingId:i}=b,a=W_e(this._univerInstanceService,{unitId:e,subUnitId:n}),o=b,s=this._univerInstanceService.getUnit(e,Pi.UNIVER_SHEET);if(!s)return;let l=s.getActiveSheet().getSheetId();if(!o||!a)return;let c=null==(C=this._renderManagerService.getRenderById(e))?void 0:C.with(vLe);if(!c)return;let d=c.getWorksheetSkeleton(n);if(!d)return;let{transform:h,data:v}=o,_=this._getSceneAndTransformerByDrawingSearch(e);if(null==_)return;let{scene:w,canvas:E}=_;if(null==h||l!==n)return;let{left:S,top:A,width:I,height:R,angle:x,flipX:T,flipY:N,skewX:M,skewY:O}=h,L=Ure({unitId:e,subUnitId:n,drawingId:i}),k=w.getObject(L);if(null!=k)return void k.transformByState({left:S,top:A,width:I,height:R,angle:x,flipX:T,flipY:N,skewX:M,skewY:O});let P=NQe({rotate:0,startX:p.startX,startY:0,endX:f.endX,endY:f.endY,width:r.width,height:r.height,absolute:{left:f.absolute.left,top:f.absolute.top}},r),D=new tX(L,{left:P.startX,top:P.startY,width:P.width,height:P.height,zIndex:this._drawingManagerService.getDrawingOrder(e,n).length-1});w.addObject(D,4),!1!==o.allowTransform&&w.attachTransformerTo(D);let U=new eu,B=w.getMainViewport(),V={dispose:U,rect:D,unitId:e,subUnitId:n,boundsOfViewArea:{top:0,left:B.left,bottom:B.bottom,right:B.right},domAnchor:r,scrollDirectionResponse:AQe.HORIZONTAL},F=new Qn(RQe(D,_.renderUnit.scene,d.skeleton,a.worksheet,V));V.position$=F;let j={position$:F,id:i,componentKey:o.componentKey,onPointerDown:()=>{},onPointerMove:()=>{},onPointerUp:()=>{},onWheel:e=>{E.dispatchEvent(new WheelEvent(e.type,e))},data:v,unitId:e};t.eventPassThrough&&(j={...j,onPointerDown:e=>{E.dispatchEvent(new PointerEvent(e.type,e))},onPointerMove:e=>{E.dispatchEvent(new PointerEvent(e.type,e))},onPointerUp:e=>{E.dispatchEvent(new PointerEvent(e.type,e))}}),this._canvasFloatDomService.addFloatDom(j);let H=D.onTransformChange$.subscribeEvent(()=>{let e=RQe(D,_.renderUnit.scene,d.skeleton,a.worksheet,V);F.next(e)});this.disposeWithMe(g.subscribe(t=>{let o=NQe({rotate:0,startX:t.startX,startY:0,endX:t.endX,endY:t.endY,width:r.width,height:r.height,absolute:{left:f.absolute.left,top:f.absolute.top}},r),s=RQe(new tX(Ure({unitId:e,subUnitId:n,drawingId:i}),{left:o.startX,top:0,width:r.width,height:r.height,zIndex:this._drawingManagerService.getDrawingOrder(e,n).length-1}),_.renderUnit.scene,d.skeleton,a.worksheet,V);F.next(s)}));let W=null==(y=this._renderManagerService.getRenderById(e))?void 0:y.with(vLe);null==W||W.currentSkeleton$.subscribe(e=>{e&&u.sheetId!==e.sheetId&&this._removeDom(m,!0)}),U.add(()=>{this._canvasFloatDomService.removeFloatDom(i)}),H&&U.add(H),this._domLayerInfoMap.set(i,V)}return{id:m,dispose:()=>{this._removeDom(m,!0)}}}_createRangePositionObserver(e,t,r){let{startRow:n,startColumn:i}=e,a=TQe(n,i,r),o=new Qn(a),s=TQe(e.endRow,e.endColumn,r),l=new Qn(s),u=()=>{let t=TQe(n,i,r),a=TQe(e.endRow,e.endColumn,r);o.next(t),l.next(a)},c=new eu;return c.add(t.engine.clientRect$.subscribe(()=>u())),c.add(this._commandService.onCommandExecuted(e=>{(e.id===hEe.id&&e.params.rowsAutoHeightInfo.findIndex(e=>e.row===n)>-1||vEe.indexOf(e.id)>-1||e.id===FPe.id||e.id===QPe.id)&&u()})),{position$:o.pipe(Yn(t=>{let n=TQe(e.endRow,e.endColumn,r);return{rotate:0,width:n.right-t.left,height:n.bottom-t.top,absolute:{left:!0,top:!0},startX:t.left,startY:t.top,endX:n.right,endY:n.bottom}})),position:{rotate:0,width:s.right-a.left,height:s.bottom-a.top,absolute:{left:!0,top:!0},startX:a.left,startY:a.top,endX:s.right,endY:s.bottom},updateRowCol:(e,t)=>{n=e,i=t,u()},topLeftPos$:o,rightBottomPos$:l,disposable:c}}};function TQe(e,t,r){let n=r.getCellWithCoordByIndex(e,t),i=n.isMergedMainCell?n.mergeInfo:n;return{left:i.startX,right:i.endX,top:i.startY,bottom:i.endY}}function NQe(e,t,r){var n,i,a;r=null==(n=r)?1:n;let o=e.endX-e.startX,s=e.endY-e.startY,l=null==(i=null==t?void 0:t.width)?o:i,u=null==(a=null==t?void 0:t.height)?s:a,c=0,d=0;if(t){if("right"===t.horizonOffsetAlign){let n=MQe(t.marginX,o*r);c=e.endX-n-l}else c=e.startX+MQe(t.marginX,o);if("bottom"===t.verticalOffsetAlign){let n=MQe(t.marginY,s*r);d=e.endY-n-u}else d=e.startY+MQe(t.marginY,s)}return{rotate:0,startX:c,startY:d,endX:e.endX,endY:e.endY,width:l,height:u,absolute:{left:e.absolute.left,top:e.absolute.top}}}function MQe(e,t){return void 0===e?0:"number"==typeof e?e:t*Number.parseFloat(e)/100}xQe=jYe([FYe(0,Y(kX)),FYe(1,dg),FYe(2,Y(Vc)),FYe(3,Sre),FYe(4,Y(fee)),FYe(5,hYe),FYe(6,Y(pg))],xQe);const OQe=e=>{let{floatDomInfos:t,scene:r,skeleton:n,worksheet:i}=e;return(0,$Z.jsx)("div",{style:{position:"absolute",top:0,left:0},children:(0,_q.useMemo)(()=>t.map(e=>{let{width:t,height:a,angle:o,left:s,top:l}=e.transform,u=IQe({left:null==s?0:s,right:(null==s?0:s)+(null==t?0:t),top:null==l?0:l,bottom:(null==l?0:l)+(null==a?0:a)},r,n,i,void 0,!0),{scaleX:c,scaleY:d}=r.getAncestorScale(),h={startX:u.left,endX:u.right,startY:u.top,endY:u.bottom,rotate:o,width:t*c,height:a*d,absolute:u.absolute},m={position$:new Qn(h),position:h,id:e.drawingId,componentKey:e.componentKey,onPointerMove:()=>{},onPointerDown:()=>{},onPointerUp:()=>{},onWheel:()=>{},unitId:e.unitId,data:e.data};return[e.drawingId,m]}),[t,r,n,i]).map(([e,t])=>(0,$Z.jsx)(wre,{layer:t,id:e,position:t.position},e))})};let LQe=class extends tu{constructor(e,t,r,n,i,a,o){super(),this._sheetPrintInterceptorService=e,this._drawingRenderService=t,this._drawingManagerService=r,this._renderManagerService=n,this._canvasFloatDomManagerService=i,this._componetManager=a,this._injector=o,this._initPrinting(),this._initPrintingDom()}_initPrinting(){this.disposeWithMe(this._sheetPrintInterceptorService.interceptor.intercept(this._sheetPrintInterceptorService.interceptor.getInterceptPoints().PRINTING_COMPONENT_COLLECT,{handler:(e,t,r)=>{let{unitId:n,scene:i,subUnitId:a}=t,o=this._drawingManagerService.getDrawingDataForUnit(n),s=null==o?void 0:o[a];return s&&s.order.forEach(e=>{let t=s.data[e];t.drawingType!==bc.DRAWING_CHART&&t.drawingType!==bc.DRAWING_DOM&&this._drawingRenderService.renderDrawing(t,i)}),r()}})),this.disposeWithMe(this._sheetPrintInterceptorService.interceptor.intercept(this._sheetPrintInterceptorService.interceptor.getInterceptPoints().PRINTING_RANGE,{handler:(e,t,r)=>{let{unitId:n,subUnitId:i}=t,a=this._renderManagerService.getRenderById(n);if(!a)return r(e);let o=a.with(vLe).getSkeletonParam(i);if(!o)return r(e);let s=this._drawingManagerService.getDrawingDataForUnit(n),l=null==s?void 0:s[t.subUnitId];if(!l)return r(e);let{scaleX:u,scaleY:c}=a.scene,d=e?{...e}:{startColumn:0,endColumn:0,endRow:0,startRow:0},h=l.order.map(e=>l.data[e]);return h.length?(h.forEach(e=>{if(!e.groupId&&e.transform&&uu.isDefine(e.transform.left)&&uu.isDefine(e.transform.top)&&uu.isDefine(e.transform.width)&&uu.isDefine(e.transform.height)){let t=o.skeleton.getCellIndexByOffset(e.transform.left,e.transform.top,u,c,{x:0,y:0}),r=o.skeleton.getCellIndexByOffset(e.transform.left+e.transform.width,e.transform.top+e.transform.height,u,c,{x:0,y:0});t.column{let{unitId:n,subUnitId:i}=t,a=this._drawingManagerService.getDrawingDataForUnit(n),o=null==a?void 0:a[i];if(o){let n=o.order.map(e=>{let t=o.data[e];if(t.drawingType===bc.DRAWING_CHART)return{...t,componentKey:this._componetManager.get("univer-sheets-chart-print-chart")};if(t.drawingType===bc.DRAWING_DOM){let e=this._sheetPrintInterceptorService.getPrintComponent(t.componentKey);return{...t,componentKey:this._componetManager.get(e||t.componentKey)}}return null}).filter(Boolean);return N5((0,$Z.jsx)(tK(OQe,this._injector),{floatDomInfos:n,scene:t.scene,skeleton:t.skeleton,worksheet:t.worksheet}),t.root),null==e||e.add(()=>{M5(t.root)}),r(e)}}}))}};LQe=jYe([FYe(0,Y(NHe)),FYe(1,Y(eYe)),FYe(2,Sre),FYe(3,kX),FYe(4,Y(xQe)),FYe(5,Y(W5)),FYe(6,Y(he))],LQe);var kQe=function(e){return e[e.deleteLeft=0]="deleteLeft",e[e.deleteUp=1]="deleteUp",e[e.insertDown=2]="insertDown",e[e.insertRight=3]="insertRight",e}(kQe||{});const PQe=[AAe.id,OAe.id,jAe.id,zAe.id,vAe.id,CAe.id,_Ae.id,EAe.id,QTe.id,ZTe.id,wTe.id,ETe.id,gTe.id,mTe.id,$xe.id,eTe.id,QAe.id,GAe.id,ySe.id],DQe=[eEe.id,tEe.id,Dwe.id,Pwe.id,cEe.id,hEe.id,dEe.id,nEe.id];let UQe=class extends tu{constructor(e,t,r,n,i,a,o,s,l){super(),this._context=e,this._renderManagerService=t,this._commandService=r,this._selectionRenderService=n,this._skeletonManagerService=i,this._sheetInterceptorService=a,this._sheetDrawingService=o,this._drawingManagerService=s,this._univerInstanceService=l,this._sheetInterceptorListener(),this._commandListener(),this._sheetRefreshListener()}_sheetInterceptorListener(){this.disposeWithMe(this._sheetInterceptorService.interceptAfterCommand({getMutations:e=>{if(!PQe.includes(e.id)||null==e.params)return{redos:[],undos:[]};let t=e.id;if(t===AAe.id)return this._moveRowInterceptor(e.params,"insert");if([QAe.id,GAe.id,ySe.id].includes(t))return this._moveRangeInterceptor(e.params);if(t===OAe.id)return this._moveColInterceptor(e.params,"insert");if(t===jAe.id)return this._moveRowInterceptor(e.params,"remove");if(t===zAe.id)return this._moveColInterceptor(e.params,"remove");if(t===vAe.id){let{range:t}=e.params;return this._getRangeMoveUndo(t,kQe.deleteLeft)}if(t===CAe.id){let{range:t}=e.params;return this._getRangeMoveUndo(t,kQe.deleteUp)}if(t===_Ae.id){let{range:t}=e.params;return this._getRangeMoveUndo(t,kQe.insertDown)}if(t===EAe.id){let{range:t}=e.params;return this._getRangeMoveUndo(t,kQe.insertRight)}if(t===gTe.id||t===mTe.id){let{unitId:t,subUnitId:r,ranges:n}=e.params;return this._getDrawingUndoForRowVisible(t,r,n)}if(t===$xe.id||t===eTe.id){let{unitId:t,subUnitId:r,ranges:n}=e.params;return this._getDrawingUndoForColVisible(t,r,n)}if(t===QTe.id||t===ZTe.id||t===wTe.id||t===ETe.id){let{unitId:r,subUnitId:n,ranges:i}=e.params,a=t===QTe.id||t===ZTe.id;return this._getDrawingUndoForRowAndColSize(r,n,i,a)}return{redos:[],undos:[]}}}))}_getRangeMoveUndo(e,t){let r=W_e(this._univerInstanceService);if(null==r)return{redos:[],undos:[]};let n=r.unitId,i=r.subUnitId,a=[],o=[],s=this._sheetDrawingService.getDrawingData(n,i),l=[],u=[];if(Object.keys(s).forEach(r=>{let n=s[r],{updateDrawings:i,deleteDrawings:a}=this._getUpdateOrDeleteDrawings(e,t,n);l.push(...i),u.push(...a)}),0===l.length&&0===u.length)return{redos:[],undos:[]};if(l.length>0){let{undo:e,redo:t,objects:r}=this._sheetDrawingService.getBatchUpdateOp(l);a.push({id:fYe.id,params:{unitId:n,subUnitId:i,op:t,objects:r,type:mYe.UPDATE}}),o.push({id:fYe.id,params:{unitId:n,subUnitId:i,op:e,objects:r,type:mYe.UPDATE}})}if(u.length>0){let e=this._sheetDrawingService.getBatchRemoveOp(u),t=e.undo,r=e.redo,s=e.objects;a.push({id:fYe.id,params:{unitId:n,subUnitId:i,op:r,objects:s,type:mYe.REMOVE}}),o.push({id:fYe.id,params:{unitId:n,subUnitId:i,op:t,objects:s,type:mYe.INSERT}})}return a.push({id:RYe.id,params:[n]}),o.push({id:RYe.id,params:[n]}),{redos:a,undos:o}}_getUpdateOrDeleteDrawings(e,t,r){let n=[],i=[],{sheetTransform:a,anchorType:o=cYe.Position,transform:s,unitId:l,subUnitId:u,drawingId:c}=r,{from:d,to:h}=a,{row:m,column:f}=d,{row:g,column:p}=h;if(null==a||null==s)return{updateDrawings:n,deleteDrawings:i};let v,{startRow:b,endRow:C,startColumn:y,endColumn:_}=e,w=null,E=null;if(t===kQe.deleteLeft&&m>=b&&g<=C)if(f>=y&&p<=_)i.push({unitId:l,subUnitId:u,drawingId:c});else{var S;let e=this._shrinkCol(a,s,y,_,o);w=null==e?void 0:e.newSheetTransform,E=null==e?void 0:e.newTransform,v=null==(S=null==e?void 0:e.axisAlignSheetTransform)?void 0:S}else if(t===kQe.deleteUp&&f>=y&&p<=_)if(m>=b&&g<=C)i.push({unitId:l,subUnitId:u,drawingId:c});else{var A;let e=this._shrinkRow(a,s,b,C,o);w=null==e?void 0:e.newSheetTransform,E=null==e?void 0:e.newTransform,v=null==(A=null==e?void 0:e.axisAlignSheetTransform)?void 0:A}else if(t===kQe.insertDown){var I;let e=this._expandRow(a,s,b,C,o);w=null==e?void 0:e.newSheetTransform,E=null==e?void 0:e.newTransform,v=null==(I=null==e?void 0:e.axisAlignSheetTransform)?void 0:I}else if(t===kQe.insertRight){var R;let e=this._expandCol(a,s,y,_,o);w=null==e?void 0:e.newSheetTransform,E=null==e?void 0:e.newTransform,v=null==(R=null==e?void 0:e.axisAlignSheetTransform)?void 0:R}if(null!=w&&null!=E){let e=SYe(w,this._selectionRenderService,this._skeletonManagerService);n.push({...r,sheetTransform:w,transform:e,axisAlignSheetTransform:v})}return{updateDrawings:n,deleteDrawings:i}}_remainDrawingSize(e,t,r){let n=AYe({...e},this._selectionRenderService);if(null!=n){let i=IYe({...e},this._selectionRenderService);t.push({...r,sheetTransform:n,axisAlignSheetTransform:i})}}_getDrawingUndoForColVisible(e,t,r){let n=this._drawingManagerService.getDrawingData(e,t),i=[],a=[];if(Object.keys(n).forEach(e=>{let t=n[e],{sheetTransform:o,transform:s,anchorType:l=cYe.Position}=t;if(l===cYe.None)this._remainDrawingSize(s,i,t);else{let{from:e,to:n}=o,{row:u,column:c}=e,{row:d,column:h}=n;for(let o=0;o=m&&c<=f){let t=this._skeletonManagerService.attachRangeWithCoord({startColumn:c,endColumn:f,startRow:e.row,endRow:n.row});if(null==t)return;a={...s,left:t.startX}}if(null!=a){r=AYe(a,this._selectionRenderService);let e=IYe(a,this._selectionRenderService);if(null!=r&&null!=a){i.push({...t,sheetTransform:r,transform:a,axisAlignSheetTransform:e});break}}this._remainDrawingSize(s,i,t);continue}if(c>=m&&h<=f)continue;let g=null,p=null;if(c>=m&&c<=f){let t=this._skeletonManagerService.attachRangeWithCoord({startColumn:c,endColumn:f,startRow:e.row,endRow:n.row});if(null==t)return;p={...s,left:(null==t?void 0:t.startX)||0,width:((null==s?void 0:s.width)||0)-t.endX+t.startX}}else if(h>=m&&h<=f){let t=this._skeletonManagerService.attachRangeWithCoord({startColumn:m,endColumn:h,startRow:e.row,endRow:n.row});if(null==t)return;p={...s,left:t.startX-((null==s?void 0:s.width)||0)}}else{let r=this._skeletonManagerService.attachRangeWithCoord({startColumn:m,endColumn:f,startRow:e.row,endRow:n.row});if(null==r)return;if(p={...s,width:((null==s?void 0:s.width)||0)-r.endX+r.startX},g=AYe(p,this._selectionRenderService),null!=g&&null!=p){let e=IYe(p,this._selectionRenderService);a.push({...t,sheetTransform:g,transform:p,axisAlignSheetTransform:e});break}}if(null!=p&&(g=AYe(p,this._selectionRenderService)),null!=p&&null!=g){let e=IYe(p,this._selectionRenderService);i.push({...t,sheetTransform:g,transform:p,axisAlignSheetTransform:e});break}this._remainDrawingSize(s,i,t)}}}),0===i.length&&0===a.length)return{redos:[],undos:[]};let{redos:o,undos:s}=this._createUndoAndRedoMutation(e,t,i),l=[],u=[];if(a.length>0){let{redos:r,undos:n}=this._createUndoAndRedoMutation(e,t,a);l.push(...r),u.push(...n)}return{redos:o,undos:s,preRedos:l,preUndos:u}}_createUndoAndRedoMutation(e,t,r){let{undo:n,redo:i,objects:a}=this._sheetDrawingService.getBatchUpdateOp(r);return{redos:[{id:fYe.id,params:{unitId:e,subUnitId:t,op:i,objects:a,type:mYe.UPDATE}},{id:RYe.id,params:[e]}],undos:[{id:fYe.id,params:{unitId:e,subUnitId:t,op:n,objects:a,type:mYe.UPDATE}},{id:RYe.id,params:[e]}]}}_getDrawingUndoForRowVisible(e,t,r){let n=this._drawingManagerService.getDrawingData(e,t),i=[],a=[];if(Object.keys(n).forEach(e=>{let t=n[e],{sheetTransform:o,transform:s,anchorType:l=cYe.Position}=t;if(l===cYe.None)this._remainDrawingSize(s,i,t);else{let{from:e,to:n}=o,{row:u,column:c}=e,{row:d,column:h}=n;for(let o=0;o=c&&u<=h){let t=this._skeletonManagerService.attachRangeWithCoord({startColumn:e.column,endColumn:n.column,startRow:u,endRow:h});if(null==t)return;a={...s,top:t.startY}}if(null!=a){r=AYe(a,this._selectionRenderService);let e=IYe(a,this._selectionRenderService);if(null!=r&&null!=a){i.push({...t,sheetTransform:r,transform:a,axisAlignSheetTransform:e});break}}this._remainDrawingSize(s,i,t);continue}if(u>=c&&d<=h)continue;let g=null,p=null;if(u>=c&&u<=h){let t=this._skeletonManagerService.attachRangeWithCoord({startColumn:e.column,endColumn:n.column,startRow:u,endRow:h});if(null==t)return;p={...s,top:(null==t?void 0:t.startY)||0,height:((null==s?void 0:s.height)||0)-t.endY+t.startY}}else if(d>=c&&d<=h){let t=this._skeletonManagerService.attachRangeWithCoord({startColumn:e.column,endColumn:n.column,startRow:c,endRow:d});if(null==t)return;p={...s,top:t.startY-((null==s?void 0:s.height)||0)}}else{let r=this._skeletonManagerService.attachRangeWithCoord({startColumn:e.column,endColumn:n.column,startRow:c,endRow:h});if(null==r)return;if(p={...s,height:((null==s?void 0:s.height)||0)-r.endY+r.startY},g=AYe(p,this._selectionRenderService),null!=g&&null!=p){let e=IYe(p,this._selectionRenderService);a.push({...t,sheetTransform:g,transform:p,axisAlignSheetTransform:e});break}}if(null!=p&&(g=AYe(p,this._selectionRenderService)),null!=p&&null!=g){let e=IYe(p,this._selectionRenderService);i.push({...t,sheetTransform:g,transform:p,axisAlignSheetTransform:e});break}this._remainDrawingSize(s,i,t)}}}),0===i.length&&0===a.length)return{redos:[],undos:[]};let{redos:o,undos:s}=this._createUndoAndRedoMutation(e,t,i),l=[],u=[];if(a.length>0){let{redos:r,undos:n}=this._createUndoAndRedoMutation(e,t,a);l.push(...r),u.push(...n)}return{redos:o,undos:s,preRedos:l,preUndos:u}}_getDrawingUndoForRowAndColSize(e,t,r,n){let i=this._drawingManagerService.getDrawingData(e,t),a=[];return Object.keys(i).forEach(e=>{let t=i[e],{sheetTransform:n,transform:o,anchorType:s=cYe.Position}=t;if(s===cYe.None)this._remainDrawingSize(o,a,t);else{let{from:e,to:i}=n,{row:l,column:u}=e,{row:c,column:d}=i;for(let e=0;e=h||u<=m&&d>=f)){this._remainDrawingSize(o,a,t);continue}let g=SYe({...n},this._selectionRenderService,this._skeletonManagerService);if(null!=g){a.push({...t,transform:g});break}}}}),0===a.length?{redos:[],undos:[]}:this._createUndoAndRedoMutation(e,t,a)}_getUnitIdAndSubUnitId(e,t){let r,n;if("insert"===t)r=e.unitId,n=e.subUnitId;else{let e=W_e(this._univerInstanceService);if(null==e)return;r=e.unitId,n=e.subUnitId}return{unitId:r,subUnitId:n}}_moveRangeInterceptor(e){var t;let{toRange:r,fromRange:n}=e,i=W_e(this._univerInstanceService);if(!i)return{redos:[],undos:[]};let{unitId:a,subUnitId:o}=i,s=null==(t=this._renderManagerService.getRenderById(a))||null==(t=t.with(vLe))?void 0:t.getCurrentSkeleton();if(!s)return{redos:[],undos:[]};let l=lLe(s,n);if(!l)return{redos:[],undos:[]};let{startX:u,endX:c,startY:d,endY:h}=l,m=this._sheetDrawingService.getDrawingData(a,o),f=[];Object.keys(m).forEach(e=>{let t=m[e];if(t.anchorType!==cYe.Both)return;let{transform:r}=t;if(!r)return;let{left:n=0,top:i=0,width:a=0,height:o=0}=r,{drawingStartX:s,drawingEndX:l,drawingStartY:g,drawingEndY:p}={drawingStartX:n,drawingEndX:n+a,drawingStartY:i,drawingEndY:i+o};u<=s&&l<=c&&d<=g&&p<=h&&f.push(t)});let g=[],p=[],v=r.startRow-n.startRow,b=r.startColumn-n.startColumn,C=f.map(e=>{let t=e.sheetTransform,r={to:{...t.to,row:t.to.row+v,column:t.to.column+b},from:{...t.from,row:t.from.row+v,column:t.from.column+b}},n=SYe(r,this._selectionRenderService,this._skeletonManagerService);return{unitId:a,subUnitId:o,drawingId:e.drawingId,transform:n,sheetTransform:r}});if(C.length){let{undo:e,redo:t,objects:r}=this._sheetDrawingService.getBatchUpdateOp(C);g.push({id:fYe.id,params:{unitId:a,subUnitId:o,op:t,objects:r,type:mYe.UPDATE}}),p.push({id:fYe.id,params:{unitId:a,subUnitId:o,op:e,objects:r,type:mYe.UPDATE}})}return{redos:g,undos:p}}_moveRowInterceptor(e,t){let r=this._getUnitIdAndSubUnitId(e,t);if(null==r)return{redos:[],undos:[]};let{unitId:n,subUnitId:i}=r,{range:a}=e,o=a.startRow,s=a.endRow,l=[],u=[],c=this._sheetDrawingService.getDrawingData(n,i),d=[],h=[];if(Object.keys(c).forEach(e=>{let r,a,l,{sheetTransform:u,transform:m,anchorType:f=cYe.Position}=c[e];if(null==u||null==m)return;if("insert"===t){var g;let e=this._expandRow(u,m,o,s,f);r=null==e?void 0:e.newSheetTransform,a=null==e?void 0:e.newTransform,l=null==(g=null==e?void 0:e.axisAlignSheetTransform)?void 0:g}else{let{from:t,to:c}=u,{row:d}=t,{row:g}=c;if(f===cYe.Both&&d>=o&&g<=s)h.push({unitId:n,subUnitId:i,drawingId:e});else{var p;let e=this._shrinkRow(u,m,o,s,f);r=null==e?void 0:e.newSheetTransform,a=null==e?void 0:e.newTransform,l=null==(p=null==e?void 0:e.axisAlignSheetTransform)?void 0:p}}if(!r||!a)return;let v={unitId:n,subUnitId:i,drawingId:e,transform:a,sheetTransform:r,axisAlignSheetTransform:l};d.push(v)}),0===d.length&&0===h.length)return{redos:[],undos:[]};if(d.length>0){let{undo:e,redo:t,objects:r}=this._sheetDrawingService.getBatchUpdateOp(d);l.push({id:fYe.id,params:{unitId:n,subUnitId:i,op:t,objects:r,type:mYe.UPDATE}}),u.push({id:fYe.id,params:{unitId:n,subUnitId:i,op:e,objects:r,type:mYe.UPDATE}})}if(h.length>0){let e=this._sheetDrawingService.getBatchRemoveOp(h),t=e.undo,r=e.redo,a=e.objects;l.push({id:fYe.id,params:{unitId:n,subUnitId:i,op:r,objects:a,type:mYe.REMOVE}}),u.push({id:fYe.id,params:{unitId:n,subUnitId:i,op:t,objects:a,type:mYe.INSERT}})}return l.push({id:RYe.id,params:[n]}),u.push({id:RYe.id,params:[n]}),{redos:l,undos:u}}_moveColInterceptor(e,t){let r=this._getUnitIdAndSubUnitId(e,t);if(null==r)return{redos:[],undos:[]};let{unitId:n,subUnitId:i}=r,{range:a}=e,o=a.startColumn,s=a.endColumn,l=[],u=[],c=this._sheetDrawingService.getDrawingData(n,i),d=[],h=[];if(Object.keys(c).forEach(e=>{let r,a,l,{sheetTransform:u,transform:m,anchorType:f=cYe.Position}=c[e];if(null==u||null==m)return;if("insert"===t){var g;let e=this._expandCol(u,m,o,s,f);r=null==e?void 0:e.newSheetTransform,a=null==e?void 0:e.newTransform,l=null==(g=null==e?void 0:e.axisAlignSheetTransform)?void 0:g}else{let{from:t,to:c}=u,{column:d}=t,{column:g}=c;if(f===cYe.Both&&d>=o&&g<=s)h.push({unitId:n,subUnitId:i,drawingId:e});else{var p;let e=this._shrinkCol(u,m,o,s,f);r=null==e?void 0:e.newSheetTransform,a=null==e?void 0:e.newTransform,l=null==(p=null==e?void 0:e.axisAlignSheetTransform)?void 0:p}}if(!r||!a)return;let v={unitId:n,subUnitId:i,drawingId:e,transform:a,sheetTransform:r,axisAlignSheetTransform:l};d.push(v)}),0===d.length&&0===h.length)return{redos:[],undos:[]};if(d.length>0){let{undo:e,redo:t,objects:r}=this._sheetDrawingService.getBatchUpdateOp(d);l.push({id:fYe.id,params:{unitId:n,subUnitId:i,op:t,objects:r,type:mYe.UPDATE}}),u.push({id:fYe.id,params:{unitId:n,subUnitId:i,op:e,objects:r,type:mYe.UPDATE}})}if(h.length>0){let e=this._sheetDrawingService.getBatchRemoveOp(h),t=e.undo,r=e.redo,a=e.objects;l.push({id:fYe.id,params:{unitId:n,subUnitId:i,op:r,objects:a,type:mYe.REMOVE}}),u.push({id:fYe.id,params:{unitId:n,subUnitId:i,op:t,objects:a,type:mYe.INSERT}})}return l.push({id:RYe.id,params:[n]}),u.push({id:RYe.id,params:[n]}),{redos:l,undos:u}}_expandCol(e,t,r,n,i=cYe.Position){let a=n-r+1,{from:o,to:s}=e,{column:l}=o,{column:u}=s;if(i===cYe.None)return{newSheetTransform:AYe({...t},this._selectionRenderService),newTransform:t,axisAlignSheetTransform:IYe({...t},this._selectionRenderService)};let c=null,d=null,h=null;if(l>=r){let e=this._skeletonManagerService.attachRangeWithCoord({startColumn:r,endColumn:n,startRow:o.row,endRow:s.row});if(null==e)return;d={...t,left:(t.left||0)+e.endX-e.startX},c=AYe(d,this._selectionRenderService),h=IYe(d,this._selectionRenderService)}else if(u>=n){if(i!==cYe.Both)return{newSheetTransform:AYe({...t},this._selectionRenderService),newTransform:t,axisAlignSheetTransform:IYe({...t},this._selectionRenderService)};c={from:{...o},to:{...s,column:u+a}},d=SYe(c,this._selectionRenderService,this._skeletonManagerService)}return null!=c&&null!=d?{newSheetTransform:c,newTransform:d,axisAlignSheetTransform:h}:null}_shrinkCol(e,t,r,n,i=cYe.Position){let a=n-r+1,{from:o,to:s}=e,{column:l}=o,{column:u}=s;if(i===cYe.None)return{newSheetTransform:AYe({...t},this._selectionRenderService),newTransform:t,axisAlignSheetTransform:IYe({...t},this._selectionRenderService)};let c=null,d=null,h=null;if(l>n)c={from:{...o,column:l-a},to:{...s,column:u-a}},d=SYe(c,this._selectionRenderService,this._skeletonManagerService);else{if(l>=r&&u<=n)return null;if(ln){if(i!==cYe.Both)return{newSheetTransform:AYe({...t},this._selectionRenderService),newTransform:t,axisAlignSheetTransform:IYe({...t},this._selectionRenderService)};c={from:{...o},to:{...s,column:u-a}},d=SYe(c,this._selectionRenderService,this._skeletonManagerService)}else if(l>=r&&l<=n){if(l===r)d={...t,left:(t.left||0)-e.from.columnOffset};else{let n=this._skeletonManagerService.attachRangeWithCoord({startColumn:r,endColumn:l-1,startRow:o.row,endRow:s.row});if(null==n)return;d={...t,left:(t.left||0)-n.endX+n.startX-e.from.columnOffset}}c=AYe(d,this._selectionRenderService),h=IYe(d,this._selectionRenderService)}else if(u>=r&&u<=n&&i===cYe.Both){let e=this._skeletonManagerService.attachRangeWithCoord({startColumn:r-1,endColumn:r-1,startRow:o.row,endRow:s.row});if(null==e)return;c={from:{...o},to:{...s,column:r-1,columnOffset:e.endX-e.startX}},d=SYe(c,this._selectionRenderService,this._skeletonManagerService)}}return null!=c&&null!=d?{newSheetTransform:c,newTransform:d,axisAlignSheetTransform:h}:null}_expandRow(e,t,r,n,i=cYe.Position){let a=n-r+1,{from:o,to:s}=e,{row:l}=o,{row:u}=s;if(i===cYe.None)return{newSheetTransform:AYe({...t},this._selectionRenderService),newTransform:t,axisAlignSheetTransform:IYe({...t},this._selectionRenderService)};let c=null,d=null,h=null;if(l>=r){let e=this._skeletonManagerService.attachRangeWithCoord({startRow:r,endRow:n,startColumn:o.column,endColumn:s.column});if(null==e)return;d={...t,top:(t.top||0)+e.endY-e.startY},c=AYe(d,this._selectionRenderService),h=IYe(d,this._selectionRenderService)}else if(u>=n){if(i!==cYe.Both)return{newSheetTransform:AYe({...t},this._selectionRenderService),newTransform:t,axisAlignSheetTransform:IYe({...t},this._selectionRenderService)};c={from:{...o},to:{...s,row:u+a}},d=SYe(c,this._selectionRenderService,this._skeletonManagerService)}return null!=c&&null!=d?{newSheetTransform:c,newTransform:d,axisAlignSheetTransform:h}:null}_shrinkRow(e,t,r,n,i=cYe.Position){let a=n-r+1,{from:o,to:s}=e,{row:l}=o,{row:u}=s;if(i===cYe.None)return{newSheetTransform:AYe({...t},this._selectionRenderService),newTransform:t,axisAlignSheetTransform:IYe({...t},this._selectionRenderService)};let c=null,d=null,h=null;if(l>n)c={from:{...o,row:l-a},to:{...s,row:u-a}},d=SYe(c,this._selectionRenderService,this._skeletonManagerService);else{if(l>=r&&u<=n)return null;if(ln){if(i!==cYe.Both)return{newSheetTransform:AYe({...t},this._selectionRenderService),newTransform:t,axisAlignSheetTransform:IYe({...t},this._selectionRenderService)};c={from:{...o},to:{...s,row:u-a}},d=SYe(c,this._selectionRenderService,this._skeletonManagerService)}else if(l>=r&&l<=n){if(l===r)d={...t,top:(t.top||0)-e.from.rowOffset};else{let n=this._skeletonManagerService.attachRangeWithCoord({startRow:r,endRow:l-1,startColumn:o.column,endColumn:s.column});if(null==n)return;d={...t,top:(t.top||0)-n.endY+n.startY-e.from.rowOffset}}c=AYe(d,this._selectionRenderService),h=IYe(d,this._selectionRenderService)}else if(u>=r&&u<=n&&i===cYe.Both){let e=this._skeletonManagerService.attachRangeWithCoord({startColumn:o.column,endColumn:o.column,startRow:r-1,endRow:r-1});if(null==e)return;c={from:{...o},to:{...s,row:r-1,rowOffset:e.endY-e.startY}},d=SYe(c,this._selectionRenderService,this._skeletonManagerService)}}return null!=c&&null!=d?{newSheetTransform:c,newTransform:d,axisAlignSheetTransform:h}:null}_commandListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===fEe.id){let{unitId:t,subUnitId:r}=e.params;this._updateDrawings(t,r)}})),this.disposeWithMe(this._context.activated$.subscribe(e=>{let{unit:t,unitId:r}=this._context;if(e){let e=t.getActiveSheet().getSheetId();this._updateDrawings(r,e)}else this._clearDrawings(r)}))}_clearDrawings(e){setTimeout(()=>{let t=this._drawingManagerService.drawingManagerData,r=[];Object.keys(t).forEach(n=>{let i=t[n];null!=i&&Object.keys(i).forEach(t=>{let a=i[t].data;null!=a&&Object.keys(a).forEach(t=>{n===e&&r.push(a[t])})})}),this._sheetDrawingService.removeNotification(r),this._drawingManagerService.removeNotification(r)})}_updateDrawings(e,t){setTimeout(()=>{let r=this._drawingManagerService.drawingManagerData,n=[],i=[];Object.keys(r).forEach(a=>{let o=r[a];null!=o&&Object.keys(o).forEach(r=>{let s=o[r].data;null!=s&&Object.keys(s).forEach(o=>{if(a===e&&r===t){let e=s[o];e.sheetTransform&&(e.transform=SYe(e.sheetTransform,this._selectionRenderService,this._skeletonManagerService)),n.push(s[o])}else i.push(s[o])})})}),this._sheetDrawingService.removeNotification(i),this._sheetDrawingService.addNotification(n),this._drawingManagerService.removeNotification(i),this._drawingManagerService.addNotification(n)},0)}_sheetRefreshListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{DQe.includes(e.id)&&requestIdleCallback(()=>{let t=e.params,r=W_e(this._univerInstanceService,t);if(!r)return;let{unitId:n,subUnitId:i,worksheet:a}=r,o=[];"ranges"in t?o=t.ranges:"rowsAutoHeightInfo"in t&&(o=t.rowsAutoHeightInfo.map(e=>({startRow:e.row,endRow:e.row,startColumn:0,endColumn:a.getColumnCount()-1}))),this._refreshDrawingTransform(n,i,o)})}))}_refreshDrawingTransform(e,t,r){let n=this._drawingManagerService.getDrawingData(e,t),i=[];Object.keys(n).forEach(e=>{let t=n[e],{sheetTransform:a,transform:o,anchorType:s=cYe.Position}=t;if(s===cYe.None)return!0;let{from:l,to:u}=a,{row:c,column:d}=l,{row:h,column:m}=u;for(let e=0;el||d>f){let e=s===cYe.Position,r=SYe(a,this._selectionRenderService,this._skeletonManagerService);i.push({...t,transform:{...r,width:e?null==o?void 0:o.width:null==r?void 0:r.width,height:e?null==o?void 0:o.height:null==r?void 0:r.height}});break}}}),0!==i.length&&(this._sheetDrawingService.refreshTransform(i),this._drawingManagerService.refreshTransform(i),this._commandService.syncExecuteCommand(RYe.id,[e]))}};UQe=jYe([FYe(1,kX),FYe(2,Vc),FYe(3,dLe),FYe(4,Y(vLe)),FYe(5,Y(iwe)),FYe(6,hYe),FYe(7,Sre),FYe(8,dg)],UQe);const BQe={id:"sheet.command.toggle-flip-drawings",type:Bc.COMMAND,handler:(e,t)=>{let r=e.get(Vc),n=e.get(Pg),i=e.get(hYe),a=e.get(kX);if(!t)return!1;let{drawings:o}=t,s=t.flipH,l=t.flipV,u=[],c=[];for(let t of o){let{unitId:r,subUnitId:n,drawingId:o}=t;u.push(r);let d=i.getDrawingData(r,n),h=null==d?void 0:d[o];if(!h)continue;let m={...h.transform};s&&(m.flipX=!m.flipX),l&&(m.flipY=!m.flipY);let f=a.getRenderById(r),g=null==f?void 0:f.with(dLe);if(!g)continue;let p=AYe(m,g),v=IYe(m,g),b={unitId:r,subUnitId:n,drawingType:h.drawingType,drawingId:o,transform:m,sheetTransform:p,axisAlignSheetTransform:v};if(h.drawingType===bc.DRAWING_IMAGE){let t=VQe(e,r);if(t){let e=Ure({unitId:r,subUnitId:n,drawingId:o}),i=t.getObject(e);if(i){let e=i.srcRect;if(e){let t,{left:r=0,top:n=0,right:i=0,bottom:a=0}=e;if(s){let e=r+(i-r)/2;t={left:e-(i-r)/2,top:n,right:e+(i-r)/2,bottom:a}}if(l){let e=n+(a-n)/2;t={left:r,top:e-(a-n)/2,right:i,bottom:e+(a-n)/2}}t&&(b.srcRect=t)}}}}c.push(b)}if(0===c.length)return!1;let{unitId:d,subUnitId:h,undo:m,redo:f,objects:g}=i.getBatchUpdateOp(c),p={id:fYe.id,params:{unitId:d,subUnitId:h,op:f,objects:g,type:mYe.UPDATE}},v={id:fYe.id,params:{unitId:d,subUnitId:h,op:m,objects:g,type:mYe.UPDATE}};return!!zc([p],r)&&(n.pushUndoRedo({unitID:d,undoMutations:[v,{id:RYe.id,params:u}],redoMutations:[p,{id:RYe.id,params:u}]}),!0)}};function VQe(e,t){let r=e.get(kX).getRenderById(t);return r?r.scene:null}function FQe(e){var t,r;return!!(null!=e&&null!=(t=e.p)&&null!=(t=t.drawingsOrder)&&t.length&&(null==e||null==(r=e.p)||null==(r=r.drawingsOrder)?void 0:r.length)>0)}function jQe(e,t){let r=e.getActiveSheet();if(!r)return!1;let n=r.getCellMatrix(),{startRow:i,endRow:a,startColumn:o,endColumn:s}=t;for(let e=i;e<=a;e++)for(let t=o;t<=s;t++)if(FQe(n.getValue(e,t)))return!0;return!1}function HQe(e){let t=e.get(dg),r=e.get(rSe),n=Oi([X5(e,Pi.UNIVER_SHEET),t.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET).pipe(aq(e=>e?r.selectionMoveEnd$.pipe(Yn(()=>{if(!("showDirectoryPicker"in window))return!0;let t=r.getCurrentSelections();if(!t||0===t.length)return!0;for(let r of t)if(jQe(e,r.range))return!1;return!0})):Ai(!0)))]).pipe(Yn(([e,t])=>e||t));return{id:nQe.id,type:lee.BUTTON,icon:"DownloadImageIcon",title:"sheetImage.save.menuLabel",hidden$:n}}const WQe={[Z8.MEDIA]:{[uQe]:{order:0,menuItemFactory:function(e){return{id:uQe,type:lee.SUBITEMS,icon:"AddImageIcon",tooltip:"sheetImage.title",hidden$:X5(e,Pi.UNIVER_SHEET),disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[JSe],rangeTypes:[SSe]})}},[zYe.id]:{order:0,menuItemFactory:function(e){return{id:zYe.id,title:"sheetImage.upload.float",type:lee.BUTTON,hidden$:X5(e,Pi.UNIVER_SHEET)}}},[XYe.id]:{order:1,menuItemFactory:function(e){return{id:XYe.id,title:"sheetImage.upload.cell",type:lee.BUTTON,hidden$:X5(e,Pi.UNIVER_SHEET)}}}}},[tee.MAIN_AREA]:{[ree.OTHERS]:{[nQe.id]:{order:10,menuItemFactory:HQe}}},[tee.COL_HEADER]:{[ree.OTHERS]:{[nQe.id]:{order:10,menuItemFactory:HQe}}},[tee.ROW_HEADER]:{[ree.OTHERS]:{[nQe.id]:{order:10,menuItemFactory:HQe}}}};function zQe(){let e=iK(Cg),t=iK(Jte),r=iK(YYe),[n,i]=(0,_q.useState)([GYe.CELL_ADDRESS]),[a,o]=(0,_q.useState)(!1),[s,l]=(0,_q.useState)(null),u=(0,_q.useMemo)(()=>r.getCellImagesInSelection(),[r]),c=(0,_q.useMemo)(()=>r.getDataColumns(),[r]),d=(0,_q.useMemo)(()=>r.getSelectionRowRange(),[r]),h=c.length>0,m=(0,_q.useMemo)(()=>c.map(e=>({label:e.label,value:String(e.index)})),[c]),[f,g]=(0,_q.useState)(()=>m.length>0?m[0].value:"0");tje((0,_q.useMemo)(()=>{if(!n.includes(GYe.COLUMN_VALUE)||!d)return[];let e=Number(f);return[{startRow:d.startRow,endRow:d.endRow,startColumn:e,endColumn:e}]},[n,f,d]));let p=(0,_q.useCallback)(e=>{0!==e.length&&i(e)},[]),v=(0,_q.useCallback)(e=>{g(String(e))},[]),b=(0,_q.useCallback)(()=>{t.close(rQe)},[t]),C=(0,_q.useCallback)(async()=>{if(0!==u.length){o(!0),l(null);try{await r.saveImages(u,{fileNameParts:n,columnIndex:n.includes(GYe.COLUMN_VALUE)?Number(f):void 0}),t.close(rQe)}catch(t){console.error("Failed to save images:",t),l(e.t("sheetImage.save.error"))}finally{o(!1)}}},[r,u,n,f,t,e]),y=n.includes(GYe.COLUMN_VALUE);return(0,$Z.jsxs)("div",{className:"univer-flex univer-flex-col",children:[(0,$Z.jsx)(z9,{label:e.t("sheetImage.save.imageCount"),children:(0,$Z.jsx)("div",{className:"univer-text-sm univer-text-gray-600",children:u.length})}),(0,$Z.jsx)(z9,{label:e.t("sheetImage.save.fileNameConfig"),children:(0,$Z.jsxs)(K7,{value:n,onChange:p,direction:"vertical",children:[(0,$Z.jsx)($7,{value:GYe.CELL_ADDRESS,disabled:!h,children:e.t("sheetImage.save.useRowCol")}),h&&(0,$Z.jsx)($7,{value:GYe.COLUMN_VALUE,children:e.t("sheetImage.save.useColumnValue")})]})}),y&&(0,$Z.jsx)(z9,{label:e.t("sheetImage.save.selectColumn"),children:(0,$Z.jsx)(_5,{value:f,options:m,onChange:v})}),s&&(0,$Z.jsx)("div",{className:"univer-text-xs univer-text-red-500",children:s}),(0,$Z.jsxs)("div",{className:"univer-flex univer-justify-end univer-gap-2 univer-border-t univer-border-gray-200 univer-pt-3",children:[(0,$Z.jsx)(O7,{onClick:b,disabled:a,children:e.t("sheetImage.save.cancel")}),(0,$Z.jsx)(O7,{variant:"primary",onClick:C,disabled:a||0===u.length,children:a?e.t("sheetImage.save.saving"):e.t("sheetImage.save.confirm")})]})]})}const XQe=e=>{var t;let r=iK(Vc),n=iK(Cg),i=iK(Sre),a=iK(kX),{drawings:o}=e,s=o[0];if(null==s)return;let{unitId:l}=s,u=a.getRenderById(l),c=null==u?void 0:u.scene;if(null==c)return;let d=c.getTransformerByCreate(),[h,m]=(0,_q.useState)(!0),[f,g]=(0,_q.useState)(null==(t=s.anchorType)?cYe.Position:t);return(0,_q.useEffect)(()=>{let e=d.clearControl$.subscribe(e=>{!0===e&&m(!1)}),t=d.changeStart$.subscribe(e=>{let{objects:t}=e,r=function(e,t){let r=[];return e.forEach(e=>{let{oKey:n}=e,i=t.getDrawingOKey(n);if(null==i)return r.push(null),!0;let{unitId:a,subUnitId:o,drawingId:s,drawingType:l,anchorType:u,sheetTransform:c,axisAlignSheetTransform:d}=i;r.push({unitId:a,subUnitId:o,drawingId:s,anchorType:u,sheetTransform:c,drawingType:l,axisAlignSheetTransform:d})}),r}(t,i);if(0===r.length)m(!1);else if(r.length>=1){var n;m(!0),g((null==(n=r[0])?void 0:n.anchorType)||cYe.Position)}});return()=>{t.unsubscribe(),e.unsubscribe()}},[]),(0,$Z.jsxs)("div",{className:x7("univer-grid univer-gap-2 univer-py-2 univer-text-gray-400",{"univer-hidden":!h}),children:[(0,$Z.jsx)("header",{className:"univer-text-gray-600 dark:!univer-text-gray-200",children:(0,$Z.jsx)("div",{children:n.t("drawing-anchor.title")})}),(0,$Z.jsx)("div",{children:(0,$Z.jsxs)(v5,{value:f,onChange:function(e){g(e);let t=i.getFocusDrawings();if(0===t.length)return;let n=t.map(t=>({unitId:t.unitId,subUnitId:t.subUnitId,drawingId:t.drawingId,anchorType:e}));r.executeCommand(DYe.id,{unitId:t[0].unitId,drawings:n})},direction:"vertical",children:[(0,$Z.jsx)(b5,{value:cYe.Both,children:n.t("drawing-anchor.both")}),(0,$Z.jsx)(b5,{value:cYe.Position,children:n.t("drawing-anchor.position")}),(0,$Z.jsx)(b5,{value:cYe.None,children:n.t("drawing-anchor.none")})]})})]})},qQe=()=>{let e=iK(Sre),[t,r]=(0,_q.useState)(e.getFocusDrawings());return(0,_q.useEffect)(()=>{let t=e.focus$.subscribe(e=>{r(e)});return()=>{t.unsubscribe()}},[]),!(null==t||!t.length)&&(0,$Z.jsxs)("div",{className:"univer-text-sm",children:[(0,$Z.jsx)(uYe,{drawings:t}),(0,$Z.jsx)(XQe,{drawings:t})]})};function GQe(e){return e.getContextValue(yf)&&!e.getContextValue(If)&&!e.getContextValue("FOCUSING_PANEL_EDITOR")&&e.getContextValue(Nf)&&!e.getContextValue(Mf)}const YQe={id:qYe.id,description:"shortcut.drawing-move-down",group:"4_drawing-view",binding:x8.ARROW_DOWN,priority:100,preconditions:GQe,staticParameters:{direction:Eu.DOWN}},QQe={id:qYe.id,description:"shortcut.drawing-move-up",group:"4_drawing-view",binding:x8.ARROW_UP,priority:100,preconditions:GQe,staticParameters:{direction:Eu.UP}},ZQe={id:qYe.id,description:"shortcut.drawing-move-left",group:"4_drawing-view",binding:x8.ARROW_LEFT,priority:100,preconditions:GQe,staticParameters:{direction:Eu.LEFT}},KQe={id:qYe.id,description:"shortcut.drawing-move-right",group:"4_drawing-view",binding:x8.ARROW_RIGHT,priority:100,preconditions:GQe,staticParameters:{direction:Eu.RIGHT}},$Qe={id:TYe.id,description:"shortcut.drawing-delete",group:"4_drawing-view",priority:100,preconditions:GQe,binding:x8.DELETE,mac:x8.BACKSPACE};let JQe=class extends tu{constructor(e,t,r,n,i,a){super(),this._componentManager=e,this._menuManagerService=t,this._commandService=r,this._shortcutService=n,this._drawingManagerService=i,this._sheetsSelectionsService=a,this._init()}_initCustomComponents(){let e=this._componentManager;this.disposeWithMe(e.register(iQe,qQe)),this.disposeWithMe(e.register(rQe,zQe))}_initMenus(){this._menuManagerService.mergeMenu(WQe)}_initCommands(){[zYe,XYe,kYe,xYe,DYe,aQe,RYe,oQe,LYe,UYe,qYe,TYe,PYe,nQe,BQe].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e)))}_initShortcuts(){[YQe,QQe,ZQe,KQe,$Qe].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}_init(){this._initCommands(),this._initCustomComponents(),this._initMenus(),this._initShortcuts()}};JQe=jYe([FYe(0,Y(W5)),FYe(1,nee),FYe(2,Vc),FYe(3,U8),FYe(4,Sre),FYe(5,Y(rSe))],JQe);let eZe=class extends ru{constructor(e,t,r,n,i,a,o,s,l,u){super(),this._injector=e,this._localeService=t,this._drawingManagerService=r,this._canvasPopManagerService=n,this._renderManagerService=i,this._univerInstanceService=a,this._messageService=o,this._contextService=s,this._ioService=l,this._commandService=u,VYe(this,"_initImagePopupMenu",new Set),this._init()}_init(){this._univerInstanceService.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET).subscribe(e=>this._create(e)),this._univerInstanceService.getTypeOfUnitDisposed$(Pi.UNIVER_SHEET).subscribe(e=>this._dispose(e)),this._univerInstanceService.getAllUnitsForType(Pi.UNIVER_SHEET).forEach(e=>this._create(e)),this._setupLoadingStatus()}_setupLoadingStatus(){let e;this.disposeWithMe(this._ioService.change$.subscribe(t=>{t>0&&!e?e=this._messageService.show({id:"image-upload-loading",type:o5.Loading,content:`${this._localeService.t("uploadLoading.loading")}: ${t}`,duration:0}):0===t&&(null==e||e.dispose(),e=void 0)}))}_dispose(e){super.dispose();let t=e.getUnitId();this._renderManagerService.removeRender(t),this._initImagePopupMenu.delete(t)}_create(e){if(!e)return;let t=e.getUnitId();this._renderManagerService.has(t)&&!this._initImagePopupMenu.has(t)&&(this._popupMenuListener(t),this._initImagePopupMenu.add(t))}_hasCropObject(e){let t=e.getAllObjectsByOrder();for(let e of t)if(e instanceof $Ge)return!0;return!1}_popupMenuListener(e){var t;let r=null==(t=this._renderManagerService.getRenderById(e))?void 0:t.scene;if(!r)return;let n,i=r.getTransformerByCreate();i&&(this.disposeWithMe(i.createControl$.subscribe(()=>{if(this._contextService.setContextValue(Nf,!0),this._hasCropObject(r))return;let e=i.getSelectedObjectMap();if(e.size>1)return void(null==n||n.dispose());let t=e.values().next().value;if(!t)return;let a=t.oKey,o=this._drawingManagerService.getDrawingOKey(a);if(!o)return;let{unitId:s,subUnitId:l,drawingId:u,drawingType:c}=o,d=o.data;if(d&&d.disablePopup)return;null==n||n.dispose();let h=this._canvasPopManagerService.getFeatureMenu(s,l,u,c);n=this.disposeWithMe(this._canvasPopManagerService.attachPopupToObject(t,{componentKey:HGe,direction:"horizontal",offset:[2,0],extraProps:{menuItems:h||this._getImageMenuItems(s,l,u,c)}}))})),this.disposeWithMe(i.clearControl$.subscribe(()=>{null==n||n.dispose(),this._contextService.setContextValue(Nf,!1),this._commandService.syncExecuteCommand(Are.id,[])})),this.disposeWithMe(this._contextService.contextChanged$.subscribe(e=>{!1===e[Nf]&&(null==n||n.dispose())})),this.disposeWithMe(i.changing$.subscribe(()=>{null==n||n.dispose()})))}_getImageMenuItems(e,t,r,n){return[{label:"image-popup.edit",index:0,commandId:oQe.id,commandParams:{unitId:e,subUnitId:t,drawingId:r},disable:n===bc.DRAWING_DOM},{label:"image-popup.delete",index:1,commandId:xYe.id,commandParams:{unitId:e,drawings:[{unitId:e,subUnitId:t,drawingId:r}]},disable:!1},{label:"image-popup.crop",index:2,commandId:RGe.id,commandParams:{unitId:e,subUnitId:t,drawingId:r},disable:n===bc.DRAWING_DOM},{label:"image-popup.flipH",index:2,commandId:BQe.id,commandParams:{unitId:e,flipH:!0,drawings:[{unitId:e,subUnitId:t,drawingId:r}]},disable:n===bc.DRAWING_DOM},{label:"image-popup.flipV",index:2,commandId:BQe.id,commandParams:{unitId:e,flipV:!0,drawings:[{unitId:e,subUnitId:t,drawingId:r}]},disable:n===bc.DRAWING_DOM},{label:"image-popup.reset",index:3,commandId:MGe.id,commandParams:[{unitId:e,subUnitId:t,drawingId:r}],disable:n===bc.DRAWING_DOM}]}};eZe=jYe([FYe(0,Y(he)),FYe(1,Y(Cg)),FYe(2,Sre),FYe(3,Y(EVe)),FYe(4,kX),FYe(5,dg),FYe(6,C8),FYe(7,Mc),FYe(8,Pf),FYe(9,Vc)],eZe);let tZe=class extends Rg{constructor(e=dQe,t,r,n){super(),this._config=e,this._injector=t,this._renderManagerService=r,this._configService=n;let{menu:i,...a}=hr({},dQe,this._config);i&&this._configService.setConfig("menu",i,{merge:!0}),this._configService.setConfig(cQe,a)}onStarting(){Ml(this._injector,[[xQe],[JQe],[eZe],[LQe],[SQe],[EQe],[lQe],[pQe],[vQe],[CQe],[YYe,{useClass:tQe}],[hQe]]),Ol(this._injector,[[xQe]])}onReady(){Ol(this._injector,[[EQe],[CQe],[lQe]])}onRendered(){this._registerRenderModules(),Ol(this._injector,[[SQe],[LQe],[JQe],[pQe],[vQe]])}onSteady(){this._injector.get(eZe),this._injector.get(hQe)}_registerRenderModules(){[[WYe],[UQe],[fQe],[mQe]].forEach(e=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(Pi.UNIVER_SHEET,e))})}};function rZe(e){return rZe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},rZe(e)}function nZe(e,t){return function(r,n){t(r,n,e)}}function iZe(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}VYe(tZe,"type",Pi.UNIVER_SHEET),VYe(tZe,"pluginName","SHEET_IMAGE_UI_PLUGIN"),VYe(tZe,"packageName","@univerjs/sheets-drawing-ui"),VYe(tZe,"version","0.19.0"),tZe=jYe([Tg(Dre,Yqe,rYe,EYe),FYe(1,Y(he)),FYe(2,kX),FYe(3,Tc)],tZe);let aZe=class{constructor(e,t,r){this._injector=r,function(e,t,r){(t=function(e){var t=function(e){if("object"!=rZe(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=rZe(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==rZe(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(this,"_image",void 0),this._image={drawingId:cu(6),drawingType:bc.DRAWING_IMAGE,imageSourceType:Lf.BASE64,source:"",unitId:e,subUnitId:t,column:0,columnOffset:0,row:0,rowOffset:0,width:0,height:0,axisAlignSheetTransform:{from:{column:0,columnOffset:0,row:0,rowOffset:0},to:{column:0,columnOffset:0,row:0,rowOffset:0}}}}setImage(e){let t=this._injector.get(kX).getRenderById(e.unitId);if(!t)throw Error(`Render Unit with unitId ${e.unitId} not found`);let r=t.with(vLe);return null==e.sheetTransform&&(e.sheetTransform={from:{column:0,columnOffset:0,row:0,rowOffset:0},to:{column:0,columnOffset:0,row:0,rowOffset:0}}),null==e.axisAlignSheetTransform&&(e.axisAlignSheetTransform={from:{column:0,columnOffset:0,row:0,rowOffset:0},to:{column:0,columnOffset:0,row:0,rowOffset:0}}),this._image=function(e,t){let{from:r,to:n,flipY:i=!1,flipX:a=!1,angle:o=0,skewX:s=0,skewY:l=0}=e.sheetTransform,{column:u,columnOffset:c,row:d,rowOffset:h}=r,{width:m,height:f}=jHe(e.unitId,e.subUnitId,{from:r,to:n},t);return{...e,column:u,columnOffset:c,row:d,rowOffset:h,width:m,height:f,flipY:i,flipX:a,angle:o,skewX:s,skewY:l}}(e,r),this}setSource(e,t){let r=null==t?Lf.URL:t;return this._image.source=e,this._image.imageSourceType=r,this}getSource(){return this._image.source}getSourceType(){return this._image.imageSourceType}setColumn(e){return this._image.column=e,this}setRow(e){return this._image.row=e,this}setColumnOffset(e){return this._image.columnOffset=e,this}setRowOffset(e){return this._image.rowOffset=e,this}setWidth(e){return this._image.width=e,this}setHeight(e){return this._image.height=e,this}setAnchorType(e){return this._image.anchorType=e,this}setCropTop(e){return this._initializeSrcRect(),this._image.srcRect.top=e,this}setCropLeft(e){return this._initializeSrcRect(),this._image.srcRect.left=e,this}setCropBottom(e){return this._initializeSrcRect(),this._image.srcRect.bottom=e,this}setCropRight(e){return this._initializeSrcRect(),this._image.srcRect.right=e,this}_initializeSrcRect(){null==this._image.srcRect&&(this._image.srcRect={top:0,left:0,bottom:0,right:0})}setRotate(e){return this._image.angle=e,this}setUnitId(e){return this._image.unitId=e,this}setSubUnitId(e){return this._image.subUnitId=e,this}async buildAsync(){let e=this._injector.get(kX).getRenderById(this._image.unitId);if(!e)throw Error(`Render Unit with unitId ${this._image.unitId} not found`);let t=e.with(dLe),r=e.with(vLe);if(0===this._image.width||0===this._image.height){let e=await Bre(this._image.source),t=e.width,r=e.height;0===this._image.width&&(this._image.width=t),0===this._image.height&&(this._image.height=r)}return function(e,t,r){let{column:n,columnOffset:i,row:a,rowOffset:o,flipY:s=!1,flipX:l=!1,angle:u=0,skewX:c=0,skewY:d=0,width:h,height:m}=e,{sheetTransform:f,transform:g}=function(e,t,r,n,i,a,o){let{column:s,columnOffset:l,row:u,rowOffset:c}=r,d=o.ensureSkeleton(t);if(null==d)throw Error("No current skeleton");let{startX:h,startY:m}=lLe(d,{startColumn:s,endColumn:s,startRow:u,endRow:u}),f=QV(h+l,1),g=QV(m+c,1),p=a.getCellWithCoordByOffset(f+n,g+i,d);if(null==p)throw Error("No end selection cell");return{unitId:e,subUnitId:t,sheetTransform:{from:{column:s,columnOffset:l,row:u,rowOffset:c},to:{column:p.actualColumn,columnOffset:QV(f+n-p.startX,1),row:p.actualRow,rowOffset:QV(g+i-p.startY,1)}},transform:{left:f,top:g,width:n,height:i}}}(e.unitId,e.subUnitId,{column:n,columnOffset:i,row:a,rowOffset:o},h,m,t,r);return{...e,sheetTransform:{...f,flipY:s,flipX:l,angle:u,skewX:c,skewY:d},transform:{...g,flipY:s,flipX:l,angle:u,skewX:c,skewY:d},axisAlignSheetTransform:IYe(g,t)}}(this._image,t,r)}};aZe=iZe([nZe(2,Y(he))],aZe);let oZe=class extends tp{constructor(e,t,r){super(),this._image=e,this._commandService=t,this._injector=r}getId(){return this._image.drawingId}getType(){return this._image.drawingType}remove(){return this._commandService.syncExecuteCommand(xYe.id,{unitId:this._image.unitId,drawings:[this._image]})}toBuilder(){let e=this._injector.createInstance(aZe);return e.setImage(this._image),e}setSource(e,t){let r=null==t?Lf.URL:t;return this._image.source=e,this._image.imageSourceType=r,this._commandService.syncExecuteCommand(DYe.id,{unitId:this._image.unitId,drawings:[this._image]})}async setPositionAsync(e,t,r,n){let i=this.toBuilder();i.setColumn(t),i.setRow(e),null!=r&&i.setRowOffset(r),null!=n&&i.setColumnOffset(n);let a=await i.buildAsync();return this._commandService.syncExecuteCommand(DYe.id,{unitId:this._image.unitId,drawings:[a]})}async setSizeAsync(e,t){let r=this.toBuilder();r.setWidth(e),r.setHeight(t);let n=await r.buildAsync();return this._commandService.syncExecuteCommand(DYe.id,{unitId:this._image.unitId,drawings:[n]})}setCrop(e,t,r,n){return null==this._image.srcRect&&(this._image.srcRect={top:0,left:0,bottom:0,right:0}),null!=e&&(this._image.srcRect.top=e),null!=t&&(this._image.srcRect.left=t),null!=r&&(this._image.srcRect.bottom=r),null!=n&&(this._image.srcRect.right=n),this._commandService.syncExecuteCommand(DYe.id,{unitId:this._image.unitId,drawings:[this._image]})}setRotate(e){if(this._image.sheetTransform.angle=e,this._image.transform&&(this._image.transform.angle=e),this._image.transform){let e=this._injector.get(kX).getRenderById(this._image.unitId);if(!e)throw Error(`Render Unit with unitId ${this._image.unitId} not found`);let t=e.with(dLe);this._image.axisAlignSheetTransform&&(this._image.axisAlignSheetTransform=IYe(this._image.transform,t))}return this._commandService.syncExecuteCommand(DYe.id,{unitId:this._image.unitId,drawings:[this._image]})}setForward(){return this._commandService.syncExecuteCommand(PYe.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:vc.forward})}setBackward(){return this._commandService.syncExecuteCommand(PYe.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:vc.backward})}setBack(){return this._commandService.syncExecuteCommand(PYe.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:vc.back})}setFront(){return this._commandService.syncExecuteCommand(PYe.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:vc.front})}};function sZe(e={}){const{collaboration:t=!1}=e;return{plugins:[[Dre,{override:t?[[Pf,null]]:[]}],Yqe,rYe,EYe,tZe].filter(e=>!!e)}}oZe=iZe([nZe(1,Vc),nZe(2,Y(he))],oZe),cqe.extend(class extends cqe{getFloatDomById(e){let t=this._injector.get(xQe).getFloatDomInfo(e);if(!t)return null;let{unitId:r,subUnitId:n}=t,{rect:i}=t,{left:a=0,top:o=0,width:s=0,height:l=0,flipX:u=!1,flipY:c=!1,angle:d=0,skewX:h=0,skewY:m=0}=i.getState(),f=this._injector.get(hYe).getDrawingByParam({drawingId:t.id,unitId:r,subUnitId:n});return f?{position:{left:a,top:o,width:s,height:l,flipX:u,flipY:c,angle:d,skewX:h,skewY:m},componentKey:f.componentKey,allowTransform:f.allowTransform,data:f.data,id:t.id}:null}getAllFloatDoms(){let e=this._injector.get(xQe),t=this._workbook.getUnitId(),r=this._worksheet.getSheetId();return Array.from(e.getFloatDomsBySubUnitId(t,r).values()).map(e=>{let{rect:n}=e,i=this._injector.get(hYe).getDrawingByParam({drawingId:e.id,unitId:t,subUnitId:r}),{left:a,top:o,width:s,height:l,flipX:u,flipY:c,angle:d,skewX:h,skewY:m}=n.getState();return{position:{left:a,top:o,width:s,height:l,flipX:u,flipY:c,angle:d,skewX:h,skewY:m},componentKey:i.componentKey,allowTransform:i.allowTransform,data:i.data,id:e.id}})}updateFloatDom(e,t){var r,n,i;let a=this._injector.get(xQe).getFloatDomInfo(e);if(!a)return this;let{unitId:o,subUnitId:s}=a,l=this._injector.get(hYe).getDrawingByParam({unitId:o,subUnitId:s,drawingId:e}),u=this._injector.get(kX);if(!u.getRenderById(o)||!this.getSkeleton())return this;let c=null==(r=u.getRenderById(this.getWorkbook().getUnitId()))?void 0:r.with(dLe);if(!c)return this;let d={...l,componentKey:t.componentKey||l.componentKey,allowTransform:void 0===t.allowTransform?l.allowTransform:t.allowTransform,data:t.data||l.data,sheetTransform:t.position?null==(n=AYe(t.position,c))?l.sheetTransform:n:l.sheetTransform,transform:{...l.transform,...t.position},axisAlignSheetTransform:t.position?null==(i=IYe(t.position,c))?l.sheetTransform:i:l.sheetTransform};if(!this._commandService.syncExecuteCommand(DYe.id,{unitId:o,subUnitId:s,drawings:[d]}))throw Error("updateFloatDom failed");return this}batchUpdateFloatDoms(e){let t=this._injector.get(xQe),r=this._injector.get(hYe),n=this._injector.get(kX),i=[];for(let s of e){var a,o;let e=t.getFloatDomInfo(s.id);if(!e)continue;let{unitId:l,subUnitId:u}=e,c=r.getDrawingByParam({unitId:l,subUnitId:u,drawingId:s.id});if(!c)continue;let d=n.getRenderById(l);if(!d||!this.getSkeleton())continue;let h=d.with(dLe);if(!h)return this;let m={...c,componentKey:s.config.componentKey||c.componentKey,allowTransform:void 0===s.config.allowTransform?c.allowTransform:s.config.allowTransform,data:s.config.data||c.data,sheetTransform:s.config.position?null==(a=AYe(s.config.position,h))?c.sheetTransform:a:c.sheetTransform,transform:{...c.transform,...s.config.position},axisAlignSheetTransform:s.config.position?null==(o=IYe(s.config.position,h))?c.sheetTransform:o:c.sheetTransform};i.push(m)}if(i.length>0){let e=this._workbook.getUnitId(),t=this._worksheet.getSheetId();if(!this._commandService.syncExecuteCommand(DYe.id,{unitId:e,subUnitId:t,drawings:i}))throw Error("batchUpdateFloatDoms failed")}return this}removeFloatDom(e){let t=this._injector.get(xQe).getFloatDomInfo(e);if(!t)return this;let{unitId:r,subUnitId:n}=t,i=this._injector.get(hYe).getDrawingByParam({unitId:r,subUnitId:n,drawingId:e});if(!i)return this;if(!this._commandService.syncExecuteCommand(xYe.id,{unitId:r,drawings:[i]}))throw Error("removeFloatDom failed");return this}addFloatDomToPosition(e,t){let r=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),{key:i,disposableCollection:a}=kqe(e,this._injector.get(W5)),o=this._injector.get(xQe).addFloatDomToPosition({...e,componentKey:i,unitId:r,subUnitId:n},t);return o?(a.add(o.dispose),{id:o.id,dispose:()=>{a.dispose(),o.dispose()}}):(a.dispose(),null)}addFloatDomToRange(e,t,r,n){let i=this._workbook.getUnitId(),a=this._worksheet.getSheetId(),{key:o,disposableCollection:s}=kqe(t,this._injector.get(W5)),l=this._injector.get(xQe).addFloatDomToRange(e.getRange(),{...t,componentKey:o,unitId:i,subUnitId:a},r,n);return l?(s.add(l.dispose),{id:l.id,dispose:()=>{s.dispose(),l.dispose()}}):(s.dispose(),null)}addFloatDomToColumnHeader(e,t,r,n){let i=this._workbook.getUnitId(),a=this._worksheet.getSheetId(),{key:o,disposableCollection:s}=kqe(t,this._injector.get(W5)),l=this._injector.get(xQe).addFloatDomToColumnHeader(e,{...t,componentKey:o,unitId:i,subUnitId:a},r,n);return l?(s.add(l.dispose),{id:l.id,dispose:()=>{s.dispose(),l.dispose()}}):(s.dispose(),null)}async insertImage(e,t,r,n,i){let a=this.newOverGridImage();if("string"==typeof e)a.setSource(e);else{let t=await e.getBlob().getDataAsString();a.setSource(t,Lf.BASE64)}void 0===t?a.setColumn(0):a.setColumn(t),void 0===r?a.setRow(0):a.setRow(r),void 0===n?a.setColumnOffset(0):a.setColumnOffset(n),void 0===i?a.setRowOffset(0):a.setRowOffset(i);let o=await a.buildAsync();return this._commandService.syncExecuteCommand(kYe.id,{unitId:this._fWorkbook.getId(),drawings:[o]})}insertImages(e){let t=e.map(e=>(e.unitId=this._fWorkbook.getId(),e.subUnitId=this.getSheetId(),e));return this._commandService.syncExecuteCommand(kYe.id,{unitId:this._fWorkbook.getId(),drawings:t}),this}deleteImages(e){let t=e.map(e=>({unitId:this._fWorkbook.getId(),drawingId:e.getId(),subUnitId:this.getSheetId(),drawingType:e.getType()}));return this._commandService.syncExecuteCommand(xYe.id,{unitId:this._fWorkbook.getId(),drawings:t}),this}getImages(){let e=this._injector.get(hYe).getDrawingData(this._fWorkbook.getId(),this.getSheetId()),t=[];for(let r in e){let n=e[r];n.drawingType===bc.DRAWING_IMAGE&&t.push(this._injector.createInstance(oZe,n))}return t}getImageById(e){let t=this._injector.get(hYe).getDrawingByParam({unitId:this._fWorkbook.getId(),subUnitId:this.getSheetId(),drawingId:e});return t&&t.drawingType===bc.DRAWING_IMAGE?this._injector.createInstance(oZe,t):null}getActiveImages(){let e=this._injector.get(hYe).getFocusDrawings(),t=[];for(let r in e){let n=e[r];t.push(this._injector.createInstance(oZe,n))}return t}updateImages(e){return this._commandService.syncExecuteCommand(DYe.id,{unitId:this._fWorkbook.getId(),drawings:e}),this}onImageInserted(e){let t=this._injector.get(hYe);return Jl(t.add$.subscribe(r=>{e(r.map(e=>this._injector.createInstance(oZe,t.getDrawingByParam(e))))}))}onImageDeleted(e){let t=this._injector.get(hYe);return Jl(t.remove$.subscribe(r=>{e(r.map(e=>this._injector.createInstance(oZe,t.getDrawingByParam(e))))}))}onImageChanged(e){let t=this._injector.get(hYe);return Jl(t.update$.subscribe(r=>{e(r.map(e=>this._injector.createInstance(oZe,t.getDrawingByParam(e))))}))}newOverGridImage(){let e=this._fWorkbook.getId(),t=this.getSheetId();return this._injector.createInstance(aZe,e,t)}async saveCellImagesAsync(e,t){var r;let n=this._injector.get(YYe),i=this._fWorkbook.getId(),a=this.getSheetId(),o=t?t.map(e=>e.getRange()):[this._worksheet.getCellMatrix().getDataRange()],s=n.getCellImagesFromRanges(i,a,o);if(0===s.length)return!1;if(1===s.length)try{return await n.downloadSingleImage(s[0]),!0}catch(e){return console.error("Failed to download image:",e),!1}let l=[],u=null==(r=null==e?void 0:e.useCellAddress)||r,c=null==e?void 0:e.useColumnIndex;u&&l.push(GYe.CELL_ADDRESS),void 0!==c&&l.push(GYe.COLUMN_VALUE),0===l.length&&l.push(GYe.CELL_ADDRESS);try{return await n.saveImagesWithContext(s,{fileNameParts:l,columnIndex:c},i,a),!0}catch(e){return console.error("Failed to save images:",e),!1}}}),dp.extend(class extends dp{get DrawingType(){return bc}get ImageSourceType(){return Lf}get SheetDrawingAnchorType(){return cYe}}),hp.extend(class extends hp{get BeforeFloatDomAdd(){return"BeforeFloatDomAdd"}get FloatDomAdded(){return"FloatDomAdded"}get BeforeFloatDomUpdate(){return"BeforeFloatDomUpdate"}get FloatDomUpdated(){return"FloatDomUpdated"}get BeforeFloatDomDelete(){return"BeforeFloatDomDelete"}get FloatDomDeleted(){return"FloatDomDeleted"}get BeforeOverGridImageChange(){return"BeforeOverGridImageChange"}get OverGridImageChanged(){return"OverGridImageChanged"}get BeforeOverGridImageInsert(){return"BeforeOverGridImageInsert"}get OverGridImageInserted(){return"OverGridImageInserted"}get BeforeOverGridImageRemove(){return"BeforeOverGridImageRemove"}get OverGridImageRemoved(){return"OverGridImageRemoved"}get BeforeOverGridImageSelect(){return"BeforeOverGridImageSelect"}get OverGridImageSelected(){return"OverGridImageSelected"}}),yp.extend(class extends yp{_initialize(e){let t=e.get(Vc);this.disposeWithMe(this.registerEventHandler(this.Event.BeforeFloatDomAdd,()=>t.beforeCommandExecuted(e=>{if(e.id!==kYe.id)return;let t=e.params,r=this.getActiveWorkbook();if(null==r||null==t)return;let{drawings:n}=t,i=n.filter(e=>e.drawingType===bc.DRAWING_DOM);if(0===i.length)return;let a={workbook:r,drawings:i};if(this.fireEvent(this.Event.BeforeFloatDomAdd,a),a.cancel)throw new Pl}))),this.disposeWithMe(this.registerEventHandler(this.Event.FloatDomAdded,()=>t.onCommandExecuted(e=>{if(e.id!==kYe.id)return;let t=e.params,r=this.getActiveWorkbook();if(null==r||null==t)return;let{drawings:n}=t,i=n.filter(e=>e.drawingType===bc.DRAWING_DOM);0!==i.length&&this.fireEvent(this.Event.FloatDomAdded,{workbook:r,drawings:i})}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeOverGridImageInsert,()=>t.beforeCommandExecuted(e=>{if(e.id!==kYe.id)return;let t=e.params,r=this.getActiveWorkbook();if(null==r||null==t)return;let{drawings:n}=t,i={workbook:r,insertImageParams:n};if(this.fireEvent(this.Event.BeforeOverGridImageInsert,i),i.cancel)throw new Pl}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeOverGridImageRemove,()=>t.beforeCommandExecuted(t=>{if(t.id!==xYe.id)return;let r=t.params,n=this.getActiveWorkbook();if(null==n||null==r)return;let i=e.get(Sre),{drawings:a}=r,o=a.map(e=>i.getDrawingByParam(e)),s={workbook:n,images:this._createFOverGridImage(o)};if(this.fireEvent(this.Event.BeforeOverGridImageRemove,s),s.cancel)throw new Pl}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeOverGridImageChange,()=>t.beforeCommandExecuted(t=>{if(t.id!==DYe.id)return;let r=t.params,n=this.getActiveWorkbook();if(null==n||null==r)return;let{drawings:i}=r,a=e.get(Sre),o=[];i.forEach(e=>{let t=a.getDrawingByParam(e);null!=t&&o.push({changeParam:e,image:this._injector.createInstance(oZe,t)})});let s={workbook:n,images:o};if(this.fireEvent(this.Event.BeforeOverGridImageChange,s),s.cancel)throw a.updateNotification(i),new Pl}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeFloatDomUpdate,()=>t.beforeCommandExecuted(t=>{if(t.id!==DYe.id)return;let r=t.params,n=this.getActiveWorkbook();if(null==n||null==r)return;let{drawings:i}=r,a=e.get(Sre),o=[];if(i.forEach(e=>{let t=a.getDrawingByParam(e);(null==t?void 0:t.drawingType)===bc.DRAWING_DOM&&o.push(t)}),0===o.length)return;let s={workbook:n,drawings:o};if(this.fireEvent(this.Event.BeforeFloatDomUpdate,s),s.cancel)throw a.updateNotification(i),new Pl}))),this.disposeWithMe(this.registerEventHandler(this.Event.FloatDomUpdated,()=>t.onCommandExecuted(t=>{if(t.id!==DYe.id)return;let r=t.params,n=this.getActiveWorkbook();if(null==n||null==r)return;let{drawings:i}=r,a=e.get(Sre),o=[];i.forEach(e=>{let t=a.getDrawingByParam(e);(null==t?void 0:t.drawingType)===bc.DRAWING_DOM&&o.push(t)}),0!==o.length&&this.fireEvent(this.Event.FloatDomUpdated,{workbook:n,drawings:o})}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeFloatDomDelete,()=>t.beforeCommandExecuted(t=>{if(t.id!==xYe.id)return;let r=t.params,n=this.getActiveWorkbook();if(null==n||null==r)return;let i=e.get(Sre),{drawings:a}=r,o=a.map(e=>i.getDrawingByParam(e)).filter(e=>(null==e?void 0:e.drawingType)===bc.DRAWING_DOM);if(0===o.length)return;let s={workbook:n,drawings:o};if(this.fireEvent(this.Event.BeforeFloatDomDelete,s),s.cancel)throw new Pl}))),this.disposeWithMe(this.registerEventHandler(this.Event.FloatDomDeleted,()=>t.onCommandExecuted(e=>{if(e.id!==xYe.id)return;let t=e.params,r=this.getActiveWorkbook();if(null==r||null==t)return;let{drawings:n}=t;this.fireEvent(this.Event.FloatDomDeleted,{workbook:r,drawings:n.filter(e=>e.drawingType===bc.DRAWING_DOM).map(e=>e.drawingId)})}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeOverGridImageSelect,()=>t.beforeCommandExecuted(t=>{if(t.id!==Are.id)return;let r=t.params,n=this.getActiveWorkbook();if(null==n)return;let i=e.get(Sre),a=i.getFocusDrawings(),o=r.map(e=>i.getDrawingByParam(e)),s={workbook:n,selectedImages:this._createFOverGridImage(o),oldSelectedImages:this._createFOverGridImage(a)};if(this.fireEvent(this.Event.BeforeOverGridImageSelect,s),s.cancel)throw new Pl}))),this.disposeWithMe(this.registerEventHandler(this.Event.OverGridImageInserted,()=>t.onCommandExecuted(e=>{if(e.id!==kYe.id)return;let t=e.params,r=this.getActiveWorkbook();if(null==r||null==t)return;let{drawings:n}=t;this.fireEvent(this.Event.OverGridImageInserted,{workbook:r,images:this._createFOverGridImage(n)})}))),this.disposeWithMe(this.registerEventHandler(this.Event.OverGridImageRemoved,()=>t.onCommandExecuted(e=>{if(e.id!==xYe.id)return;let t=e.params,r=this.getActiveWorkbook();if(null==r||null==t)return;let{drawings:n}=t;this.fireEvent(this.Event.OverGridImageRemoved,{workbook:r,removeImageParams:n})}))),this.disposeWithMe(this.registerEventHandler(this.Event.OverGridImageChanged,()=>t.onCommandExecuted(t=>{if(t.id!==DYe.id)return;let r=t.params,n=this.getActiveWorkbook();if(null==n||null==r)return;let{drawings:i}=r,a=e.get(Sre),o=i.map(e=>this._injector.createInstance(oZe,a.getDrawingByParam(e)));this.fireEvent(this.Event.OverGridImageChanged,{workbook:n,images:o})}))),this.disposeWithMe(this.registerEventHandler(this.Event.OverGridImageSelected,()=>t.onCommandExecuted(t=>{if(t.id!==Are.id)return;let r=t.params,n=this.getActiveWorkbook();if(null==n)return;let i=e.get(Sre),a=r.map(e=>i.getDrawingByParam(e));this.fireEvent(this.Event.OverGridImageSelected,{workbook:n,selectedImages:this._createFOverGridImage(a)})})))}_createFOverGridImage(e){return e.map(e=>this._injector.createInstance(oZe,e))}registerURLImageDownloader(e){return this._injector.get(Df).registerURLImageDownloader(e)}}),mqe.extend(class extends mqe{async insertCellImageAsync(e){var t;let r=this._injector.get(kX),n=null==(t=PX(Pi.UNIVER_SHEET,this._injector.get(dg),r))?void 0:t.with(WYe);if(!n)return!1;let i={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),row:this.getRow(),col:this.getColumn()};return"string"==typeof e?n.insertCellImageByUrl(e,i):n.insertCellImageByFile(e,i)}async saveCellImagesAsync(e){var t;let r=this._injector.get(YYe),n=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),a=this.getRange(),o=r.getCellImagesFromRanges(n,i,[a]);if(0===o.length)return!1;if(1===o.length)try{return await r.downloadSingleImage(o[0]),!0}catch(e){return console.error("Failed to download image:",e),!1}let s=[],l=null==(t=null==e?void 0:e.useCellAddress)||t,u=null==e?void 0:e.useColumnIndex;l&&s.push(GYe.CELL_ADDRESS),void 0!==u&&s.push(GYe.COLUMN_VALUE),0===s.length&&s.push(GYe.CELL_ADDRESS);try{return await r.saveImagesWithContext(o,{fileNameParts:s,columnIndex:u},n,i),!0}catch(e){return console.error("Failed to save images:",e),!1}}});const lZe="sheet.mutation.set-filter-range",uZe="sheet.mutation.set-filter-criteria",cZe="sheet.mutation.remove-filter",dZe="sheet.mutation.re-calc-filter",hZe=new Set([lZe,uZe,cZe,dZe]);let mZe=function(e){return e[e.VALUES=0]="VALUES",e[e.COLORS=1]="COLORS",e[e.CONDITIONS=2]="CONDITIONS",e}({}),fZe=function(e){return e.EQUAL="equal",e.GREATER_THAN="greaterThan",e.GREATER_THAN_OR_EQUAL="greaterThanOrEqual",e.LESS_THAN="lessThan",e.LESS_THAN_OR_EQUAL="lessThanOrEqual",e.NOT_EQUALS="notEqual",e}({});const gZe={operator:fZe.GREATER_THAN,fn:(e,t)=>!!SZe(e)&&e>t},pZe={operator:fZe.GREATER_THAN_OR_EQUAL,fn:(e,t)=>!!SZe(e)&&e>=t},vZe={operator:fZe.LESS_THAN,fn:(e,t)=>!!SZe(e)&&e!!SZe(e)&&e<=t},CZe={operator:fZe.EQUAL,fn:(e,t)=>!!SZe(e)&&e===t},yZe={operator:fZe.NOT_EQUALS,fn:(e,t)=>{if("string"==typeof t){if(" "===t)return null!=e;let r=IZe(e);return r&&function(e){return"number"!=typeof e&&(-1!==e.indexOf("*")||-1!==e.indexOf("?"))}(t)?!mu(t).test(r):r!==t}return!SZe(e)||e!==t}},_Ze=new Map([]);[gZe,pZe,vZe,bZe,CZe,yZe].forEach(e=>{_Ze.set(e.operator,e)});const wZe={fn:(e,t)=>{let r=IZe(e);return null===r?""===t:mu(t).test(r)}};function EZe(e){return e?_Ze.get(e):wZe}function SZe(e){return"number"==typeof e}function AZe(e){return!!("number"==typeof e||"string"==typeof e&&Yl(e))}function IZe(e){return"boolean"==typeof e||null==e?null:"string"==typeof e?e:e.toString()}function RZe(e){return RZe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},RZe(e)}function xZe(e,t,r){return(t=function(e){var t=function(e){if("object"!=RZe(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=RZe(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==RZe(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const TZe=()=>new Set;var NZe=class e extends tu{get filteredOutRows(){return this._filteredOutRows$.getValue()}set filteredOutRows(e){this._alreadyFilteredOutRows=e,this._filteredOutRows$.next(e)}constructor(e,t,r){super(),this.unitId=e,this.subUnitId=t,this._worksheet=r,xZe(this,"_filteredOutRows$",new Qn(TZe())),xZe(this,"filteredOutRows$",this._filteredOutRows$.asObservable()),xZe(this,"_hasCriteria$",new Qn(!1)),xZe(this,"hasCriteria$",this._hasCriteria$.asObservable()),xZe(this,"_filterColumnByIndex",new Map),xZe(this,"_alreadyFilteredOutRows",TZe()),xZe(this,"_range",void 0)}dispose(){super.dispose(),this._filteredOutRows$.complete(),this._hasCriteria$.complete(),this._worksheet=null}serialize(){let e={ref:Oh.clone(this._range),filterColumns:this._getAllFilterColumns(!0).sort(([e],[t])=>e-t).map(([e,t])=>t.serialize())};return this._alreadyFilteredOutRows&&(e.cachedFilteredOut=Array.from(this._alreadyFilteredOutRows).sort()),e}static deserialize(t,r,n,i){let a=new e(t,r,n);return a._dump(i),a}_dump(e){var t;this.setRange(e.ref),null==(t=e.filterColumns)||t.filter(e=>!(!e.filters&&!e.colorFilters&&!e.customFilters)).forEach(e=>this._setCriteriaWithoutReCalc(e.colId,e)),e.cachedFilteredOut?(this._alreadyFilteredOutRows=new Set(e.cachedFilteredOut),this._emit()):e.filterColumns&&e.filterColumns.length>0&&(this._reCalcAllColumns(),this._emit()),this._emitHasCriteria()}isRowFiltered(e){return this._alreadyFilteredOutRows.has(e)}getRange(){if(!this._range)throw Error("[FilterModel] could not get range before a range is set!");return this._range}getFilteredOutRowsExceptCol(e){return this._getAllFilterColumns(!0).filter(([t])=>t!==e).reduce((e,[,t])=>{let r=t.calc({getAlreadyFilteredOutRows:()=>e});return r?$l(e,r):e},new Set)}setRange(e){this._range=e,this._getAllFilterColumns(!0).forEach(([t,r])=>{r.setRangeAndColumn({startRow:e.startRow,endRow:e.endRow,startColumn:t,endColumn:t},t)})}setCriteria(e,t,r=!1){if(!this._range)throw Error("[FilterModel] could not set criteria before a range is set!");if(!t)return this._removeCriteria(e),this._rebuildAlreadyFilteredOutRowsWithCache(),r&&this._reCalcAllColumns(),this._emit(),void this._emitHasCriteria();this._setCriteriaWithoutReCalc(e,t),r&&(this._rebuildAlreadyFilteredOutRowsWithCache(),this._getAllFilterColumns().forEach(e=>e.__clearCache()),this._reCalcWithNoCacheColumns(),this._emit(),this._emitHasCriteria())}getAllFilterColumns(){return this._getAllFilterColumns(!0)}getFilterColumn(e){var t;return null==(t=this._filterColumnByIndex.get(e))?null:t}reCalc(){this._reCalcAllColumns(),this._emit()}_getAllFilterColumns(e=!1){let t=Array.from(this._filterColumnByIndex.entries());return e?t:t.map(([e,t])=>t)}_reCalcAllColumns(){this._alreadyFilteredOutRows=TZe(),this._getAllFilterColumns().forEach(e=>e.__clearCache()),this._reCalcWithNoCacheColumns()}_setCriteriaWithoutReCalc(e,t){let r=this._range;if(!r)throw Error("[FilterModel] could not set criteria before a range is set!");let n,{startColumn:i,endColumn:a}=r;if(e>a||ethis._alreadyFilteredOutRows}),n.setRangeAndColumn(r,e),this._filterColumnByIndex.set(e,n)),n.setCriteria(t)}_removeCriteria(e){let t=this._filterColumnByIndex.get(e);t&&(t.dispose(),this._filterColumnByIndex.delete(e))}_emit(){this._filteredOutRows$.next(this._alreadyFilteredOutRows)}_emitHasCriteria(){this._hasCriteria$.next(this._filterColumnByIndex.size>0)}_rebuildAlreadyFilteredOutRowsWithCache(){this._alreadyFilteredOutRows=this._getAllFilterColumns().filter(e=>e.hasCache()).reduce((e,t)=>$l(e,t.filteredOutRows),new Set)}_reCalcWithNoCacheColumns(){let e=this._getAllFilterColumns().filter(e=>!e.hasCache());for(let t of e){let e=t.reCalc();e&&(this._alreadyFilteredOutRows=$l(this._alreadyFilteredOutRows,e))}}},MZe=class extends tu{get filteredOutRows(){return this._filteredOutRows}get filterBy(){return this._filterBy}constructor(e,t,r,n,i){super(),this.unitId=e,this.subUnitId=t,this._worksheet=r,this._criteria=n,this._filterColumnContext=i,xZe(this,"_filteredOutRows",null),xZe(this,"_filterFn",null),xZe(this,"_range",null),xZe(this,"_column",0),xZe(this,"_filterBy",mZe.VALUES)}dispose(){super.dispose(),this._filteredOutRows=null}__clearCache(){this._filteredOutRows=null}serialize(){if(!this._criteria)throw Error("[FilterColumn]: could not serialize without a filter column!");return uu.deepClone({...this._criteria,colId:this._column})}hasCache(){return null!==this._filteredOutRows}setRangeAndColumn(e,t){this._range=e,this._column=t}setCriteria(e){this._criteria=e,this._generateFilterFn(),this._filteredOutRows=null}getColumnData(){return uu.deepClone(this._criteria)}reCalc(){return this._filteredOutRows=this.calc(this._filterColumnContext),this._filteredOutRows}calc(e){if(!this._filterFn)throw Error("[FilterColumn] cannot calculate without a filter fn!");if(!this._range)throw Error("[FilterColumn] cannot calculate without a range!");if("number"!=typeof this._column)throw TypeError("[FilterColumn] cannot calculate without a column offset!");let t=this._column,r={startColumn:t,endColumn:t,startRow:this._range.startRow+1,endRow:this._range.endRow},n=new Set,i=e.getAlreadyFilteredOutRows();for(let e of this._worksheet.iterateByColumn(r,!1,!1)){let{row:t,rowSpan:r,col:a}=e;if((!i.has(t)||r&&1!==r)&&!(this._filterBy===mZe.VALUES?this._filterFn(lg(this._worksheet.getCell(t,a))):this._filterBy===mZe.COLORS?this._filterFn(this._worksheet.getComposedCellStyle(t,a)):this._filterFn(OZe(this._worksheet,t,a)))&&(n.add(t),r))for(let e=1;evoid 0===e||""===e?t:r.has("string"==typeof e?e:`${e}`)}(e.filters);if(e.colorFilters)return function(e){if(e.cellFillColors){let t=new Set(e.cellFillColors);return e=>{var r;if(!e||null==(r=e.bg)||!r.rgb)return!!t.has(null);let n=new $c(e.bg.rgb).toRgbString();return t.has(n)}}if(e.cellTextColors){let t=new Set(e.cellTextColors);return e=>{var r;if(!e||null==(r=e.cl)||!r.rgb)return!!t.has(NV);let n=new $c(e.cl.rgb).toRgbString();return t.has(n)}}throw Error("[FilterModel]: color filters are not supported yet.")}(e.colorFilters);if(e.customFilters)return function(e){let t=e.customFilters.map(e=>function(e){let t=e.val;if(e.operator===fZe.NOT_EQUALS&&!AZe(t))return e=>yZe.fn(e,t);if(function(e){return!!e}(e.operator)){if(!AZe(t))return()=>!1;let r=EZe(e.operator),n=Number(t);return e=>r.fn(e,n)}let r=EZe(e.operator);return e=>r.fn(e,t)}(e));return function(e){return 2===e.length}(t)?e.and?function(e){let[t,r]=e;return e=>t(e)&&r(e)}(t):function(e){let[t,r]=e;return e=>t(e)||r(e)}(t):t[0]}(e.customFilters);throw Error("[FilterModel]: other types of filters are not supported yet.")}(this._criteria),this._filterBy=this._criteria.filters?mZe.VALUES:this._criteria.colorFilters?mZe.COLORS:mZe.CONDITIONS)}};function OZe(e,t,r){let n=e.getCell(t,r);if(!n)return null;let i=e.getCellRaw(t,r);return n&&!i?LZe(n):i?n.t===Fu.NUMBER&&"string"==typeof n.v?i.v:n.t===Fu.NUMBER?Number(i.v):LZe(i):null}function LZe(e){var t;let r=null==(t=e.p)||null==(t=t.body)?void 0:t.dataStream;if(r)return r.trimEnd();let n=e.v;return"string"==typeof n?e.t===Fu.BOOLEAN?n.toUpperCase():n:"number"==typeof n?e.t===Fu.BOOLEAN?n?"TRUE":"FALSE":n:"boolean"==typeof n?n?"TRUE":"FALSE":""}function kZe(e,t){return function(r,n){t(r,n,e)}}function PZe(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}const DZe="SHEET_FILTER_PLUGIN";let UZe=class extends tu{get activeFilterModel(){return this._activeFilterModel$.getValue()}constructor(e,t,r){super(),this._resourcesManagerService=e,this._univerInstanceService=t,this._commandService=r,xZe(this,"_filterModels",new Map),xZe(this,"_loadedUnitId$",new Qn(null)),xZe(this,"loadedUnitId$",this._loadedUnitId$.asObservable()),xZe(this,"_errorMsg$",new Qn(null)),xZe(this,"errorMsg$",this._errorMsg$.asObservable()),xZe(this,"_activeFilterModel$",new Qn(null)),xZe(this,"activeFilterModel$",this._activeFilterModel$.asObservable()),this._initModel(),this._initActiveFilterModel()}ensureFilterModel(e,t){let r=this.getFilterModel(e,t);if(r)return r;let n=this._univerInstanceService.getUniverSheetInstance(e);if(!n)throw Error(`[SheetsFilterService]: could not create "FilterModel" on a non-existing workbook ${e}!`);let i=n.getSheetBySheetId(t);if(!i)throw Error(`[SheetsFilterService]: could not create "FilterModel" on a non-existing worksheet ${t}!`);let a=new NZe(e,t,i);return this._cacheFilterModel(e,t,a),a}getFilterModel(e,t){var r,n;return null==(r=null==(n=this._filterModels.get(e))?void 0:n.get(t))?null:r}removeFilterModel(e,t){let r=this.getFilterModel(e,t);return!!r&&(r.dispose(),this._filterModels.get(e).delete(t),!0)}setFilterErrorMsg(e){this._errorMsg$.next(e)}_updateActiveFilterModel(){let e;try{if(e=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET),!e)return void this._activeFilterModel$.next(null)}catch(e){return void console.error("[SheetsFilterService]: could not get active workbook!",e)}let t=e.getActiveSheet(!0);if(!t)return void this._activeFilterModel$.next(null);let r=t.getUnitId(),n=t.getSheetId(),i=this.getFilterModel(r,n);this._activeFilterModel$.next(i)}_initActiveFilterModel(){this.disposeWithMe(Ei(qc(this._commandService.onCommandExecuted.bind(this._commandService)).pipe(Un(([e])=>e.type===Bc.MUTATION&&hZe.has(e.id))),this._univerInstanceService.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET).pipe(aq(e=>{var t;return null==(t=null==e?void 0:e.activeSheet$)?Ai(null):t}))).subscribe(()=>this._updateActiveFilterModel()))}_serializeAutoFiltersForUnit(e){let t=this._filterModels.get(e);if(!t)return"{}";let r={};return t.forEach((e,t)=>{r[t]=e.serialize()}),JSON.stringify(r)}_deserializeAutoFiltersForUnit(e,t){let r=this._univerInstanceService.getUniverSheetInstance(e);Object.keys(t).forEach(n=>{let i=t[n],a=NZe.deserialize(e,n,r.getSheetBySheetId(n),i);this._cacheFilterModel(e,n,a)})}dispose(){super.dispose(),this._loadedUnitId$.complete(),this._errorMsg$.complete(),this._activeFilterModel$.complete(),this._filterModels.forEach(e=>{e.forEach(e=>e.dispose()),e.clear()}),this._filterModels.clear()}_initModel(){this._resourcesManagerService.registerPluginResource({pluginName:DZe,businesses:[Pi.UNIVER_SHEET],toJson:e=>this._serializeAutoFiltersForUnit(e),parseJson:e=>JSON.parse(e),onLoad:(e,t)=>{this._deserializeAutoFiltersForUnit(e,t),this._loadedUnitId$.next(e),this._updateActiveFilterModel()},onUnLoad:e=>{let t=this._filterModels.get(e);t&&(t.forEach(e=>e.dispose()),this._filterModels.delete(e))}})}_cacheFilterModel(e,t,r){this._filterModels.has(e)||this._filterModels.set(e,new Map),this._filterModels.get(e).set(t,r)}};UZe=PZe([kZe(0,hf),kZe(1,dg),kZe(2,Vc)],UZe);const BZe={id:lZe,type:Bc.MUTATION,handler:(e,t)=>{let{subUnitId:r,unitId:n,range:i}=t;return e.get(UZe).ensureFilterModel(n,r).setRange(i),!0}},VZe={id:uZe,type:Bc.MUTATION,handler:(e,t)=>{let{subUnitId:r,unitId:n,criteria:i,col:a,reCalc:o=!0}=t,s=e.get(UZe).getFilterModel(n,r);return!!s&&(s.setCriteria(a,i,o),!0)}},FZe={id:cZe,type:Bc.MUTATION,handler:(e,t)=>{let{unitId:r,subUnitId:n}=t;return e.get(UZe).removeFilterModel(r,n)}},jZe={id:dZe,type:Bc.MUTATION,handler:(e,t)=>{let{unitId:r,subUnitId:n}=t,i=e.get(UZe).getFilterModel(r,n);return!!i&&(i.reCalc(),!0)}},HZe={id:"sheet.command.set-filter-range",type:Bc.COMMAND,handler:(e,t)=>{let r=e.get(UZe),n=e.get(Vc),i=e.get(Pg),a=e.get(dg),{unitId:o,subUnitId:s,range:l}=t;if(!W_e(a,t)||r.getFilterModel(o,s))return!1;if(l.endRow===l.startRow){let t=e.get(Of),r=e.get(Cg);return t.emit(r.t("sheets-filter.command.not-valid-filter-range")),!1}let u={id:BZe.id,params:{unitId:o,subUnitId:s,range:l}},c=n.syncExecuteCommand(u.id,u.params);return c&&i.pushUndoRedo({unitID:o,undoMutations:[{id:FZe.id,params:{unitId:o,subUnitId:s}}],redoMutations:[u]}),c}},WZe={id:"sheet.command.remove-sheet-filter",type:Bc.COMMAND,handler:(e,t)=>{let r=e.get(dg),n=e.get(UZe),i=e.get(Vc),a=e.get(Pg),o=W_e(r,t);if(!o)return!1;let{unitId:s,subUnitId:l}=o,u=n.getFilterModel(s,l);if(!u)return!1;let c=function(e,t,r){let n=[],i={id:BZe.id,params:{unitId:e,subUnitId:t,range:r.ref}};return n.push(i),YZe(e,t,r).forEach(e=>n.push(e)),n}(s,l,null==u?void 0:u.serialize()),d=i.syncExecuteCommand(FZe.id,{unitId:s,subUnitId:l});return d&&a.pushUndoRedo({unitID:s,undoMutations:c,redoMutations:[{id:FZe.id,params:{unitId:s,subUnitId:l}}]}),d}},zZe={id:"sheet.command.smart-toggle-filter",type:Bc.COMMAND,handler:async e=>{let t=e.get(dg),r=e.get(UZe),n=e.get(Vc),i=t.getCurrentUnitForType(Pi.UNIVER_SHEET),a=null==i?void 0:i.getActiveSheet();if(!a||!i)return!1;let o=i.getUnitId(),s=a.getSheetId();if(r.getFilterModel(o,s))return n.executeCommand(WZe.id,{unitId:o,subUnitId:s});let l=e.get(rSe).getCurrentLastSelection();if(!l)return!1;let u=l.range,c=function(e){if(!e)return!1;let{range:t,primary:r}=e;return Oh.equals(t,r)}(l)?IEe(u,{left:!0,right:!0,up:!0,down:!0},a):u.startRow===u.endRow?IEe(u,{down:!0},a):u;return n.executeCommand(HZe.id,{unitId:o,subUnitId:s,range:c})}},XZe={id:"sheet.command.set-filter-criteria",type:Bc.COMMAND,handler:(e,t)=>{let r=e.get(UZe),n=e.get(Vc),i=e.get(Pg),{unitId:a,subUnitId:o,col:s,criteria:l}=t,u=r.getFilterModel(a,o);if(!u)return!1;let c=u.getRange();if(!c||sc.endColumn)return!1;let d=function(e,t,r,n){if(!n)return{id:VZe.id,params:{unitId:e,subUnitId:t,col:r,criteria:null}};let i=n.serialize();return{id:VZe.id,params:{unitId:e,subUnitId:t,col:r,criteria:i}}}(a,o,s,u.getFilterColumn(s)),h={id:VZe.id,params:{unitId:a,subUnitId:o,col:s,criteria:l}},m=n.syncExecuteCommand(h.id,h.params);return m&&i.pushUndoRedo({unitID:a,undoMutations:[d],redoMutations:[h]}),m}},qZe={id:"sheet.command.clear-filter-criteria",type:Bc.COMMAND,handler:(e,t)=>{let r=e.get(UZe),n=e.get(Pg),i=e.get(Vc),a=W_e(e.get(dg),t);if(!a)return!1;let{unitId:o,subUnitId:s}=a,l=r.getFilterModel(a.unitId,a.subUnitId);if(!l)return!1;let u=l.serialize(),c=YZe(o,s,u),d=function(e,t,r){var n;let i=[];return null==(n=r.filterColumns)||n.forEach(r=>{let n={id:VZe.id,params:{unitId:e,subUnitId:t,col:r.colId,criteria:null}};i.push(n)}),i}(o,s,u);return!!zc(d,i).result&&(n.pushUndoRedo({unitID:o,undoMutations:c,redoMutations:d}),!0)}},GZe={id:"sheet.command.re-calc-filter",type:Bc.COMMAND,handler:(e,t)=>{let r=e.get(UZe),n=e.get(Vc),i=W_e(e.get(dg),t);if(!i)return!1;let{unitId:a,subUnitId:o}=i;return!!r.getFilterModel(i.unitId,i.subUnitId)&&n.executeCommand(jZe.id,{unitId:a,subUnitId:o})}};function YZe(e,t,r){var n;let i=[];return null==(n=r.filterColumns)||n.forEach(r=>{let n={id:VZe.id,params:{unitId:e,subUnitId:t,col:r.colId,criteria:r}};i.push(n)}),i}const QZe="sheets-filter.config";Symbol(QZe);const ZZe={};function KZe(e){return function(e,t){for(let r=0;rnull!==e)}(e,(e,t)=>e.id===VZe.id&&t.id===VZe.id&&e.params.unitId===t.params.unitId&&e.params.subUnitId===t.params.subUnitId&&e.params.col===t.params.col)}let $Ze=class extends tu{constructor(e,t,r,n,i,a,o){super(),this._commandService=e,this._sheetInterceptorService=t,this._sheetsFilterService=r,this._univerInstanceService=n,this._refRangeService=i,this._dataSyncPrimaryController=a,this._zebraCrossingCacheController=o,xZe(this,"_disposableCollection",new eu),this._initCommands(),this._initRowFilteredInterceptor(),this._initInterceptors(),this._commandExecutedListener(),this._initErrorHandling(),this._initZebraCrossingCacheListener()}_initZebraCrossingCacheListener(){this.disposeWithMe(this._sheetsFilterService.activeFilterModel$.subscribe(e=>{e&&this.disposeWithMe(e.filteredOutRows$.subscribe(()=>{this._zebraCrossingCacheController.updateZebraCrossingCache(e.unitId,e.subUnitId)}))}))}_initCommands(){[VZe,BZe,jZe,FZe].forEach(e=>{var t;this.disposeWithMe(this._commandService.registerCommand(e)),null==(t=this._dataSyncPrimaryController)||t.registerSyncingMutations(e)})}_initInterceptors(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>this._getUpdateFilter(e)})),this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===fEe.id){let t=e.params,r=t.subUnitId,n=t.unitId;if(!r||!n)return;this._registerRefRange(n,r)}if(e.id===BZe.id){let t=e.params,r=t.subUnitId,n=t.unitId;if(!r||!n)return;this._registerRefRange(t.unitId,t.subUnitId)}})),this.disposeWithMe(this._sheetsFilterService.loadedUnitId$.subscribe(e=>{if(e){let t=this._univerInstanceService.getUniverSheetInstance(e),r=null==t?void 0:t.getActiveSheet();r&&this._registerRefRange(e,r.getSheetId())}}))}_registerRefRange(e,t){var r;this._disposableCollection.dispose();let n=this._univerInstanceService.getUniverSheetInstance(e),i=null==n?void 0:n.getSheetBySheetId(t);if(!n||!i)return;let a=null==(r=this._sheetsFilterService.getFilterModel(e,t))?void 0:r.getRange();a&&this._disposableCollection.add(this._refRangeService.registerRefRange(a,r=>{switch(r.id){case AAe.id:{let n=r.params,i=n.unitId||e,a=n.subUnitId||t;return this._handleInsertRowCommand(n,i,a)}case OAe.id:{let n=r.params,i=n.unitId||e,a=n.subUnitId||t;return this.handleInsertColCommand(n.range,i,a)}case zAe.id:{let n=r.params;return this.handleRemoveColCommand(n.range,e,t)}case jAe.id:{let n=r.params;return this._handleRemoveRowCommand(n,e,t)}case hIe:{let n=r.params;return this.handleMoveColsCommand({fromRange:n.fromRange,toRange:n.toRange},e,t)}case mIe:{let n=r.params;return this._handleMoveRowsCommand(n,e,t)}case ySe.id:{let n=r.params;return this._handleMoveRangeCommand(n,e,t)}}return{redos:[],undos:[]}},e,t))}_getUpdateFilter(e){let{id:t}=e;switch(t){case Hxe.id:{let t=e.params;return this._handleRemoveSheetCommand(t,t.unitId,t.subUnitId)}case Mxe.id:{let{targetSubUnitId:t,unitId:r,subUnitId:n}=e.params;return r&&n&&t?this._handleCopySheetCommand(r,n,t):this._handleNull()}}return{redos:[],undos:[]}}handleInsertColCommand(e,t,r){var n;let i=this._sheetsFilterService.getFilterModel(t,r),a=null==(n=null==i?void 0:i.getRange())?null:n;if(!i||!a)return this._handleNull();let{startColumn:o,endColumn:s}=a,{startColumn:l,endColumn:u}=e,c=u-l+1;if(u>s)return this._handleNull();let d=[],h=[],m=l,f={unitId:t,subUnitId:r,range:{...a,startColumn:l<=o?o+c:o,endColumn:s+c}},g={unitId:t,subUnitId:r,range:a};d.push({id:BZe.id,params:f}),h.push({id:BZe.id,params:g});let p=i.getAllFilterColumns().filter(e=>e[0]>=m);if(0!==p.length){let{newRange:e,oldRange:n}=this._moveCriteria(t,r,p,c);d.push(...n.redos,...e.redos),h.push(...e.undos,...n.undos)}return{redos:KZe(d),undos:KZe(h)}}_handleInsertRowCommand(e,t,r){var n;let i=this._sheetsFilterService.getFilterModel(t,r),a=null==(n=null==i?void 0:i.getRange())?null:n;if(!i||!a)return this._handleNull();let{startRow:o,endRow:s}=a,{startRow:l,endRow:u}=e.range,c=u-l+1;if(u>s)return this._handleNull();let d=[],h=[],m={unitId:t,subUnitId:r,range:{...a,startRow:l<=o?o+c:o,endRow:s+c}},f={unitId:t,subUnitId:r,range:a};return d.push({id:BZe.id,params:m}),h.push({id:BZe.id,params:f}),{redos:KZe(d),undos:KZe(h)}}handleRemoveColCommand(e,t,r){var n;let i=this._sheetsFilterService.getFilterModel(t,r),a=null==(n=null==i?void 0:i.getRange())?null:n;if(!i||!a)return this._handleNull();let{startColumn:o,endColumn:s}=a,{startColumn:l,endColumn:u}=e;if(l>s)return this._handleNull();let c=[],d=[],h=u{let[n,i]=e;n<=u&&n>=l&&(c.push({id:VZe.id,params:{unitId:t,subUnitId:r,col:n,criteria:null}}),d.push({id:VZe.id,params:{unitId:t,subUnitId:r,col:n,criteria:{...i.serialize(),colId:n}}}))});let g=f.filter(e=>{let[t,r]=e;return t>u}),p={undos:[],redos:[]};if(g.length>0){let{oldRange:e,newRange:n}=this._moveCriteria(t,r,g,-m);p=n,c.push(...e.redos),d.unshift(...e.undos)}if(h===s-o+1){let e={unitId:t,subUnitId:r};c.push({id:FZe.id,params:e}),d.unshift({id:BZe.id,params:{range:a,unitId:t,subUnitId:r}})}else{let e=o<=l?o:0===h?o-m:l,n=o<=l?s-h:s-m,i={unitId:t,subUnitId:r,range:{...a,startColumn:e,endColumn:n}};c.push({id:BZe.id,params:i}),d.unshift({id:BZe.id,params:{range:a,unitId:t,subUnitId:r}}),c.push(...p.redos),d.unshift(...p.undos)}return{undos:d,redos:c}}_handleRemoveRowCommand(e,t,r){let n=this._sheetsFilterService.getFilterModel(t,r);if(!n)return this._handleNull();let i=n.getRange(),{startRow:a,endRow:o}=i,{startRow:s,endRow:l}=e.range;if(s>o)return this._handleNull();if(l=s;c.push({id:BZe.id,params:{range:i,unitId:t,subUnitId:r}});let m=Math.min(l,o)-Math.max(s,a)+1;if(m===o-a+1||h){let e={unitId:t,subUnitId:r};u.push({id:FZe.id,params:e}),d.forEach(e=>{let[n,i]=e,a={unitId:t,subUnitId:r,col:n,criteria:{...i.serialize(),colId:n}};c.push({id:VZe.id,params:a})})}else{var f;let e=null==(f=this._univerInstanceService.getUniverSheetInstance(t))?void 0:f.getSheetBySheetId(r);if(!e)return this._handleNull();let n=[];for(let t=s;t<=l;t++)e.getRowFiltered(t)&&n.push(t);let c=Math.min(a,s),d=c+(o-a)-m+n.length,h={unitId:t,subUnitId:r,range:{...i,startRow:c,endRow:d}};u.push({id:BZe.id,params:h})}return{undos:KZe(c),redos:KZe(u)}}handleMoveColsCommand({fromRange:e,toRange:t},r,n){var i;let a=this._sheetsFilterService.getFilterModel(r,n),o=null==(i=null==a?void 0:a.getRange())?null:i;if(!a||!o)return this._handleNull();let{startColumn:s,endColumn:l}=o;if(e.endColumnl&&t.endColumn>l)return this._handleNull();let u=[],c=[],d={};for(let e=s;e<=l;e++)d[e]={colIndex:e,filter:a.getFilterColumn(e)};Ld(e.startColumn,e.endColumn-e.startColumn+1,t.startColumn,d);let h=o.startColumn,m=o.endColumn;s>=e.startColumn&&s<=e.endColumn&&t.startColumn>e.startColumn&&e.endColumn=e.startColumn&&l<=e.endColumn&&t.startColumns&&(m=e.startColumn-1);let f=Object.keys(d).map(e=>Number(e)),g=f.find(e=>d[e].colIndex===m),p=f.find(e=>d[e].colIndex===h);if(f.forEach(e=>{let{colIndex:t,filter:i}=d[e],o=e;if(i){var s;if(o>=p&&o<=g){var l;let e={unitId:r,subUnitId:n,col:o,criteria:{...i.serialize(),colId:o}},t={unitId:r,subUnitId:n,col:o,criteria:a.getFilterColumn(o)?{...null==(l=a.getFilterColumn(o))?void 0:l.serialize(),colId:o}:null};u.push({id:VZe.id,params:e}),c.push({id:VZe.id,params:t})}if(null==(s=d[t])||!s.filter){let e={unitId:r,subUnitId:n,col:t,criteria:null};u.push({id:VZe.id,params:e}),c.push({id:VZe.id,params:{unitId:r,subUnitId:n,col:t,criteria:{...i.serialize(),colId:t}}})}}}),s!==p||l!==g){let e={unitId:r,subUnitId:n,range:{...o,startColumn:p,endColumn:g}};u.unshift({id:BZe.id,params:e}),c.unshift({id:BZe.id,params:{range:o,unitId:r,subUnitId:n}})}return{undos:c,redos:u}}_handleMoveRowsCommand(e,t,r){var n;let i=this._sheetsFilterService.getFilterModel(t,r),a=null==(n=null==i?void 0:i.getRange())?null:n;if(!i||!a)return this._handleNull();let{startRow:o,endRow:s}=a,{fromRange:l,toRange:u}=e;if(l.endRows&&u.endRow>s)return this._handleNull();let c=[],d=[],h={};for(let e=o;e<=s;e++)h[e]={oldIndex:e};let m=o,f=s;s>=l.startRow&&s<=l.endRow&&u.startRowo&&(f=l.startRow-1),Ld(l.startRow,l.endRow-l.startRow+1,u.startRow,h);let g=Object.keys(h).map(e=>Number(e)),p=g.find(e=>h[e].oldIndex===f),v=g.find(e=>h[e].oldIndex===m);if(o!==v||s!==p){let e={unitId:t,subUnitId:r,range:{...a,startRow:v,endRow:p}};c.push({id:BZe.id,params:e},{id:jZe.id,params:{unitId:t,subUnitId:r}}),d.push({id:BZe.id,params:{range:a,unitId:t,subUnitId:r}},{id:jZe.id,params:{unitId:t,subUnitId:r}})}return{redos:c,undos:d}}_handleMoveRangeCommand(e,t,r){let{fromRange:n,toRange:i}=e,a=this._sheetsFilterService.getFilterModel(t,r);if(!a)return this._handleNull();let o=a.getRange();if(!o)return this._handleNull();let s=[],l=[];if(Oh.contains(n,o)){let e=o.startRow-n.startRow,u=o.startColumn-n.startColumn,c={startRow:i.startRow+e,startColumn:i.startColumn+u,endRow:i.startRow+e+(o.endRow-o.startRow),endColumn:i.startColumn+u+(o.endColumn-o.startColumn)},d={id:FZe.id,params:{unitId:t,subUnitId:r}},h={id:BZe.id,params:{unitId:t,subUnitId:r,range:c}},m={id:BZe.id,params:{unitId:t,subUnitId:r,range:o}};s.push(d,h),l.push(d,m);let f=a.getAllFilterColumns(),g=i.startColumn-n.startColumn;f.forEach(e=>{let[n,i]=e;i&&(s.push({id:VZe.id,params:{unitId:t,subUnitId:r,col:n+g,criteria:{...i.serialize(),colId:n+g}}}),l.push({id:VZe.id,params:{unitId:t,subUnitId:r,col:n,criteria:{...i.serialize(),colId:n}}}))})}else if(Oh.intersects(i,o)){let e={...o,endRow:Math.max(o.endRow,i.endRow)};s.push({id:BZe.id,params:{unitId:t,subUnitId:r,range:e}}),l.push({id:BZe.id,params:{unitId:t,subUnitId:r,range:o}})}return{redos:s,undos:l}}_handleRemoveSheetCommand(e,t,r){let n=this._sheetsFilterService.getFilterModel(t,r);if(!n)return this._handleNull();let i=n.getRange();if(!i)return this._handleNull();let a=[],o=[];return n.getAllFilterColumns().forEach(([e,n])=>{o.push({id:VZe.id,params:{unitId:t,subUnitId:r,col:e,criteria:{...n.serialize(),colId:e}}})}),a.push({id:FZe.id,params:{unitId:t,subUnitId:r,range:i}}),o.unshift({id:BZe.id,params:{range:i,unitId:t,subUnitId:r}}),{undos:o,redos:a}}_handleCopySheetCommand(e,t,r){let n=this._sheetsFilterService.getFilterModel(e,t);if(!n)return this._handleNull();let i=n.getRange();if(!i)return this._handleNull();let a=[],o=[];return n.getAllFilterColumns().forEach(([t,n])=>{a.push({id:VZe.id,params:{unitId:e,subUnitId:r,col:t,criteria:{...n.serialize(),colId:t}}}),o.push({id:VZe.id,params:{unitId:e,subUnitId:r,col:t,criteria:null}})}),o.push({id:FZe.id,params:{unitId:e,subUnitId:r,range:i}}),a.unshift({id:BZe.id,params:{range:i,unitId:e,subUnitId:r}}),{undos:[],redos:a,preUndos:o,preRedos:[]}}_handleNull(){return{redos:[],undos:[]}}_initRowFilteredInterceptor(){this.disposeWithMe(this._sheetInterceptorService.intercept(G_e.ROW_FILTERED,{handler:(e,t)=>{var r,n;return!!e||null!=(r=null==(n=this._sheetsFilterService.getFilterModel(t.unitId,t.subUnitId))?void 0:n.isRowFiltered(t.row))&&r}}))}_moveCriteria(e,t,r,n){let i={unitId:e,subUnitId:t,criteria:null,col:-1},a=[],o=[],s=[],l=[];return r.forEach(e=>{let[t,r]=e;o.push({id:VZe.id,params:{...i,col:t}}),a.push({id:VZe.id,params:{...i,col:t,criteria:{...r.serialize(),colId:t}}})}),r.forEach(e=>{let[t,r]=e;l.push({id:VZe.id,params:{...i,col:t+n,criteria:{...r.serialize(),colId:t+n}}}),s.push({id:VZe.id,params:{...i,col:t+n,criteria:null}})}),{newRange:{redos:l,undos:s},oldRange:{redos:o,undos:a}}}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted((e,t)=>{let{unitId:r,subUnitId:n}=e.params||{},i=this._sheetsFilterService.getFilterModel(r,n);if(!i)return;let a=Array.from(i.filteredOutRows).sort((e,t)=>e-t),o=[],s=!1;if(e.id===Iwe.id){let{startRow:t,endRow:r}=e.params.range,n=a.filter(e=>e>=t&&e<=r);a.forEach(e=>{if(e{e>=t?(s=!0,o.push(e+(r-t+1))):o.push(e)})}if(s&&(i.filteredOutRows=new Set(o)),e.id===Kwe.id&&(null==t||!t.onlyLocal)){let t=this._getExtendRegion(r,n);if(t){let i=e.params.cellValue;if(i)for(let e=t.startColumn;e<=t.endColumn;e++){var l;let a=null==i||null==(l=i[t.startRow])?void 0:l[e];if(a&&this._cellHasValue(a)){var u;let e=null==(u=this._univerInstanceService.getUnit(r))?void 0:u.getSheetBySheetId(n);if(e){let i=IEe(t,{down:!0},e),a=this._sheetsFilterService.getFilterModel(r,n),o=a.getRange();a.setRange({...o,endRow:i.endRow}),this._registerRefRange(r,n)}}}}}}))}_getExtendRegion(e,t){var r;let n=this._sheetsFilterService.getFilterModel(e,t);if(!n)return null;let i=null==(r=this._univerInstanceService.getUnit(e))?void 0:r.getSheetBySheetId(t);if(!i)return null;let a=n.getRange();if(!a)return null;let o=i.getRowCount()-1,s=i.getRowManager();for(let e=a.endRow+1;e<=o;e++)if(s.getRowRawVisible(e))return{startRow:e,endRow:e,startColumn:a.startColumn,endColumn:a.endColumn};return null}_initErrorHandling(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{let t=e.params,r=W_e(this._univerInstanceService,t);if(!r)return;let{subUnitId:n,unitId:i}=r,a=this._sheetsFilterService.getFilterModel(i,n);if(!a)return;let o=a.getRange();if(e.id===GAe.id&&t.fromRange.startRow<=o.startRow&&t.fromRange.endRow=o.startRow)throw this._sheetsFilterService.setFilterErrorMsg("sheets-filter.msg.filter-header-forbidden"),Error("[SheetsFilterController]: Cannot move header row of filter")}))}_cellHasValue(e){let t=Object.values(e);return!(0===t.length||t.every(e=>null==e))}};$Ze=PZe([kZe(0,Vc),kZe(1,Y(iwe)),kZe(2,Y(UZe)),kZe(3,dg),kZe(4,Y(VIe)),kZe(5,G(Fde)),kZe(6,Y(LNe))],$Ze);const JZe=[VZe.id,jZe.id],eKe=[wwe.id,Rwe.id,Awe.id];let tKe=class extends tu{get visible(){return this._visible$.getValue()}get enabled(){return this._enabled$.getValue()}constructor(e,t,r){super(),this._sheetsFilterController=e,this._commandService=t,this._configService=r,xZe(this,"_d",new eu),xZe(this,"_visible$",new Qn(!1)),xZe(this,"visible$",this._visible$.asObservable()),xZe(this,"_enabled$",new Qn(!0)),xZe(this,"enabled$",this._enabled$.asObservable());let n=this._configService.getConfig(QZe);var i;null!=n&&n.enableSyncSwitch&&(this._visible$.next(!0),"object"==typeof n.enableSyncSwitch)&&this.setEnabled(null==(i=n.enableSyncSwitch.defaultValue)||i)}setEnabled(e){this._enabled$.next(e),e?this._d.dispose():this._initOnlyLocalListener()}_initOnlyLocalListener(){this._d.add(this._commandService.beforeCommandExecuted((e,t)=>{JZe.includes(e.id)&&(t||(t={}),t.onlyLocal=!0)})),this._d.add(this._commandService.onCommandExecuted((e,t)=>{if(eKe.includes(e.id)&&null!=t&&t.fromCollab)if(e.id===wwe.id){let{range:r,unitId:n,subUnitId:i}=e.params,{redos:a}=this._sheetsFilterController.handleInsertColCommand(r,n,i);zc(a,this._commandService,t)}else if(e.id===Rwe.id){let{range:r,unitId:n,subUnitId:i}=e.params,{redos:a}=this._sheetsFilterController.handleRemoveColCommand(r,n,i);zc(a,this._commandService,t)}else if(e.id===Awe.id){let{sourceRange:r,targetRange:n,unitId:i,subUnitId:a}=e.params,{redos:o}=this._sheetsFilterController.handleMoveColsCommand({fromRange:r,toRange:n},i,a);zc(o,this._commandService,t)}}))}};tKe=PZe([kZe(0,Y($Ze)),kZe(1,Vc),kZe(2,Tc)],tKe);let rKe=class extends tu{constructor(e,t,r,n){super(),this._activeDirtyManagerService=e,this._sheetRowFilteredService=t,this._sheetsFilterService=r,this._univerInstanceService=n,this._initFormulaDirtyRange(),this._registerSheetRowFiltered()}_initFormulaDirtyRange(){hZe.forEach(e=>{this._activeDirtyManagerService.register(e,{commandId:e,getDirtyData:e=>{let{unitId:t,subUnitId:r}=e.params;return{dirtyRanges:this._getHideRowMutation(t,r),clearDependencyTreeCache:{[t]:{[r]:"1"}}}}})})}_getHideRowMutation(e,t){var r,n;let i=null==(r=this._sheetsFilterService.getFilterModel(e,t))?void 0:r.getRange(),a=null==(n=this._univerInstanceService.getUnit(e))?void 0:n.getSheetBySheetId(t);if(null==i||null==a)return[];let{startRow:o,endRow:s}=i;return[{unitId:e,sheetId:t,range:{startRow:o,startColumn:0,endRow:s,endColumn:a.getColumnCount()-1}}]}_registerSheetRowFiltered(){this._sheetRowFilteredService.register((e,t,r)=>{var n,i;return null!=(n=null==(i=this._sheetsFilterService.getFilterModel(e,t))?void 0:i.isRowFiltered(r))&&n})}};rKe=PZe([kZe(0,Y(u_e)),kZe(1,Y(qfe)),kZe(2,Y(UZe)),kZe(3,dg)],rKe);let nKe=class extends Rg{constructor(e=ZZe,t,r){super(),this._config=e,this._injector=t,this._configService=r;let{...n}=hr({},ZZe,this._config);this._configService.setConfig(QZe,n)}onStarting(){[[rKe],[UZe],[$Ze],[tKe]].forEach(e=>this._injector.add(e))}onReady(){Ol(this._injector,[[rKe],[$Ze],[tKe]])}};xZe(nKe,"type",Pi.UNIVER_SHEET),xZe(nKe,"pluginName",DZe),xZe(nKe,"packageName","@univerjs/sheets-filter"),xZe(nKe,"version","0.19.0"),nKe=PZe([kZe(1,Y(he)),kZe(2,Tc)],nKe);const iKe={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 20 20",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M17.0596 10C17.0596 6.10087 13.8992 2.94043 10 2.94043C6.10087 2.94043 2.94043 6.10087 2.94043 10C2.94043 13.8992 6.10087 17.0596 10 17.0596C13.8992 17.0596 17.0596 13.8992 17.0596 10ZM18.9404 10C18.9404 14.9374 14.9374 18.9404 10 18.9404C5.06257 18.9404 1.05957 14.9374 1.05957 10C1.05957 5.06257 5.06257 1.05957 10 1.05957C14.9374 1.05957 18.9404 5.06257 18.9404 10Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M4.29492 4.13476C4.63911 3.79057 5.1845 3.76906 5.55371 4.07031L5.625 4.13476L16.0244 14.5352L16.0889 14.6064C16.3902 14.9757 16.3686 15.52 16.0244 15.8643C15.6573 16.2313 15.0624 16.2313 14.6953 15.8643L4.29492 5.46484L4.23047 5.39355C3.92922 5.02434 3.95073 4.47895 4.29492 4.13476Z"}}]},aKe=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"ban-icon",ref:t,icon:iKe}))});aKe.displayName="BanIcon";const oKe={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 20 20",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M10 1.05957C10.356 1.05957 10.6816 1.26162 10.8408 1.58008L18.8408 17.5801L18.8799 17.668C19.0486 18.1134 18.8551 18.6232 18.4199 18.8408C17.9557 19.0727 17.3913 18.8841 17.1592 18.4199L10 4.10156L2.84082 18.4199C2.60871 18.8841 2.04434 19.0727 1.58008 18.8408C1.11587 18.6087 0.92731 18.0443 1.15918 17.5801L9.15918 1.58008C9.31841 1.26162 9.64395 1.05957 10 1.05957Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M15.3337 11.7261L15.4294 11.731C15.9035 11.779 16.2732 12.1798 16.2732 12.6665C16.2732 13.1532 15.9035 13.554 15.4294 13.602L15.3337 13.6069H4.66675C4.1476 13.6069 3.72632 13.1856 3.72632 12.6665C3.72632 12.1474 4.1476 11.7261 4.66675 11.7261H15.3337Z"}}]},sKe=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"a-icon",ref:t,icon:oKe}))});sKe.displayName="AIcon";const lKe={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M3.32182 2.60967C2.98161 2.60967 2.79671 3.0074 3.01601 3.2675L6.85819 7.8246C6.94943 7.93282 6.99947 8.06981 6.99947 8.21136V12.7338C6.99947 12.898 7.0998 13.0455 7.2525 13.1058L8.73833 13.6928C9.00085 13.7965 9.28531 13.6031 9.28531 13.3208V8.21136C9.28531 8.06981 9.33535 7.93282 9.42659 7.8246L13.2688 3.2675C13.4881 3.0074 13.3032 2.60967 12.963 2.60967H3.32182ZM2.09858 4.04101C1.22139 3.0006 1.96097 1.40967 3.32182 1.40967H12.963C14.3238 1.40967 15.0634 3.0006 14.1862 4.04101L10.4853 8.43054V13.3208C10.4853 14.4498 9.34747 15.2237 8.29742 14.8089L6.81158 14.2219C6.20078 13.9806 5.79947 13.3905 5.79947 12.7338V8.43054L2.09858 4.04101Z",fillRule:"evenodd",clipRule:"evenodd"}}]},uKe=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"filter-icon",ref:t,icon:lKe}))});uKe.displayName="FilterIcon";let cKe,dKe=function(e){return e[e.FIRST=0]="FIRST",e[e.SECOND=1]="SECOND",e}({}),hKe=function(e){return e.NONE="none",e.STARTS_WITH="startsWith",e.DOES_NOT_START_WITH="doesNotStartWith",e.ENDS_WITH="endsWith",e.DOES_NOT_END_WITH="doesNotEndWith",e.CONTAINS="contains",e.DOES_NOT_CONTAIN="doesNotContain",e.EQUALS="equals",e.NOT_EQUALS="notEquals",e.EMPTY="empty",e.NOT_EMPTY="notEmpty",e.BETWEEN="between",e.NOT_BETWEEN="notBetween",e.CUSTOM="custom",e}({});function mKe(e){let{operator1:t,operator2:r,val1:n,val2:i}=e;if(t&&r)throw Error("Both operator1 and operator2 are set!");if(!t&&!r)throw Error("Neither operator1 and operator2 and both not set!");return t?[t,n]:[r,i]}function fKe(e){let t=[],r=[],n=0,i=0;return e.forEach(function e(a){a.leaf&&(a.checked?(t.push(a),n+=a.count):(r.push(a),i+=a.count)),a.children&&a.children.forEach(e)}),{checkedItems:t,uncheckedItems:r,checked:n,unchecked:i}}function gKe(e,t){return function(r,n){t(r,n,e)}}function pKe(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}!function(e){let t=e.NONE={label:"sheets-filter.conditions.none",operator:hKe.NONE,order:dKe.SECOND,numOfParameters:0,getDefaultFormParams:()=>{throw Error("[FilterConditionItems.NONE]: should not have initial form params!")},testMappingParams:e=>e.operator1===hKe.NONE,mapToFilterColumn:()=>null,testMappingFilterColumn:e=>!e.customFilters&&!e.filters&&{}},r=e.ALL_CONDITIONS=[t,e.EMPTY={label:"sheets-filter.conditions.empty",operator:hKe.EMPTY,order:dKe.SECOND,numOfParameters:0,getDefaultFormParams:()=>{throw Error("[FilterConditionItems.EMPTY]: should not have initial form params!")},testMappingParams:({operator1:e})=>e===hKe.EMPTY,mapToFilterColumn:()=>({customFilters:{customFilters:[{val:""}]}}),testMappingFilterColumn:e=>{var t;if(1!==(null==(t=e.customFilters)?void 0:t.customFilters.length))return!1;let r=e.customFilters.customFilters[0];return""===r.val&&void 0===r.operator&&{operator1:hKe.EMPTY}}},e.NOT_EMPTY={label:"sheets-filter.conditions.not-empty",operator:hKe.NOT_EMPTY,order:dKe.SECOND,numOfParameters:0,getDefaultFormParams:()=>{throw Error("[FilterConditionItems.NOT_EMPTY]: should not have initial form params!")},testMappingParams:({operator1:e})=>e===hKe.NOT_EMPTY,mapToFilterColumn:()=>({customFilters:{customFilters:[{val:"",operator:fZe.NOT_EQUALS}]}}),testMappingFilterColumn:e=>{var t;if(1!==(null==(t=e.customFilters)?void 0:t.customFilters.length))return!1;let r=e.customFilters.customFilters[0];return" "===r.val&&r.operator===fZe.NOT_EQUALS&&{operator1:hKe.NOT_EMPTY}}},e.TEXT_CONTAINS={label:"sheets-filter.conditions.text-contains",operator:hKe.CONTAINS,order:dKe.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:hKe.CONTAINS,val1:""}),testMappingParams:e=>{let[t]=mKe(e);return t===hKe.CONTAINS},mapToFilterColumn:e=>{let{val1:t}=e;return""===t?null:{customFilters:{customFilters:[{val:`*${t}*`}]}}},testMappingFilterColumn:e=>{var t;if(1!==(null==(t=e.customFilters)?void 0:t.customFilters.length))return!1;let r=e.customFilters.customFilters[0],n=r.val.toString();return!(r.operator||!n.startsWith("*")||!n.endsWith("*"))&&{operator1:hKe.CONTAINS,val1:n.slice(1,-1)}}},e.DOES_NOT_CONTAIN={label:"sheets-filter.conditions.does-not-contain",operator:hKe.DOES_NOT_CONTAIN,order:dKe.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:hKe.DOES_NOT_CONTAIN,val1:""}),mapToFilterColumn:e=>({customFilters:{customFilters:[{val:`*${e.val1}*`,operator:fZe.NOT_EQUALS}]}}),testMappingParams:e=>{let[t]=mKe(e);return t===hKe.DOES_NOT_CONTAIN},testMappingFilterColumn:e=>{var t;if(1!==(null==(t=e.customFilters)?void 0:t.customFilters.length))return!1;let r=e.customFilters.customFilters[0],n=r.val.toString();return!(r.operator!==fZe.NOT_EQUALS||!n.startsWith("*")||!n.endsWith("*"))&&{operator1:hKe.DOES_NOT_CONTAIN,val1:n.slice(1,-1)}}},e.STARTS_WITH={label:"sheets-filter.conditions.starts-with",operator:hKe.STARTS_WITH,order:dKe.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:hKe.STARTS_WITH,val1:""}),mapToFilterColumn:e=>({customFilters:{customFilters:[{val:`${e.val1}*`}]}}),testMappingParams:e=>{let[t]=mKe(e);return t===hKe.STARTS_WITH},testMappingFilterColumn:e=>{var t;if(1!==(null==(t=e.customFilters)?void 0:t.customFilters.length))return!1;let r=e.customFilters.customFilters[0],n=r.val.toString();return!(r.operator||!n.endsWith("*")||n.startsWith("*"))&&{operator1:hKe.STARTS_WITH,val1:n.slice(0,-1)}}},e.ENDS_WITH={label:"sheets-filter.conditions.ends-with",operator:hKe.ENDS_WITH,order:dKe.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:hKe.ENDS_WITH,val1:""}),mapToFilterColumn:e=>({customFilters:{customFilters:[{val:`*${e.val1}`}]}}),testMappingParams:e=>{let[t]=mKe(e);return t===hKe.ENDS_WITH},testMappingFilterColumn:e=>{var t;if(1!==(null==(t=e.customFilters)?void 0:t.customFilters.length))return!1;let r=e.customFilters.customFilters[0],n=r.val.toString();return!(r.operator||!n.startsWith("*")||n.endsWith("*"))&&{operator1:hKe.ENDS_WITH,val1:n.slice(1)}}},e.EQUALS={label:"sheets-filter.conditions.equals",operator:hKe.EQUALS,order:dKe.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:hKe.EQUALS,val1:""}),testMappingParams:e=>{let[t]=mKe(e);return t===hKe.EQUALS},mapToFilterColumn:e=>{let{val1:t}=e;return""===t?null:{customFilters:{customFilters:[{val:t}]}}},testMappingFilterColumn:e=>{var t,r;return 1===(null==(t=e.filters)||null==(t=t.filters)?void 0:t.length)?{operator1:hKe.EQUALS,val1:""}:1===(null==(r=e.customFilters)?void 0:r.customFilters.length)&&!e.customFilters.customFilters[0].operator&&{operator1:hKe.EQUALS,val1:e.customFilters.customFilters[0].val.toString()}}},e.GREATER_THAN={label:"sheets-filter.conditions.greater-than",operator:fZe.GREATER_THAN,numOfParameters:1,order:dKe.FIRST,getDefaultFormParams:()=>({operator1:fZe.GREATER_THAN,val1:""}),mapToFilterColumn:e=>({customFilters:{customFilters:[{val:e.val1,operator:fZe.GREATER_THAN}]}}),testMappingParams:e=>{let[t]=mKe(e);return t===fZe.GREATER_THAN},testMappingFilterColumn:e=>{var t;if(1!==(null==(t=e.customFilters)?void 0:t.customFilters.length))return!1;let r=e.customFilters.customFilters[0];return r.operator===fZe.GREATER_THAN&&{operator1:fZe.GREATER_THAN,val1:r.val.toString()}}},e.GREATER_THAN_OR_EQUAL={label:"sheets-filter.conditions.greater-than-or-equal",operator:fZe.GREATER_THAN_OR_EQUAL,numOfParameters:1,order:dKe.FIRST,getDefaultFormParams:()=>({operator1:fZe.GREATER_THAN_OR_EQUAL,val1:""}),testMappingParams:e=>{let[t]=mKe(e);return t===fZe.GREATER_THAN_OR_EQUAL},mapToFilterColumn:e=>({customFilters:{customFilters:[{val:e.val1,operator:fZe.GREATER_THAN_OR_EQUAL}]}}),testMappingFilterColumn:e=>{var t;if(1!==(null==(t=e.customFilters)?void 0:t.customFilters.length))return!1;let r=e.customFilters.customFilters[0];return r.operator===fZe.GREATER_THAN_OR_EQUAL&&{operator1:fZe.GREATER_THAN_OR_EQUAL,val1:r.val.toString()}}},e.LESS_THAN={label:"sheets-filter.conditions.less-than",operator:fZe.LESS_THAN,numOfParameters:1,order:dKe.FIRST,getDefaultFormParams:()=>({operator1:fZe.LESS_THAN,val1:""}),testMappingParams:e=>{let[t]=mKe(e);return t===fZe.LESS_THAN},mapToFilterColumn:e=>({customFilters:{customFilters:[{val:e.val1,operator:fZe.LESS_THAN}]}}),testMappingFilterColumn:e=>{var t;if(1!==(null==(t=e.customFilters)?void 0:t.customFilters.length))return!1;let r=e.customFilters.customFilters[0];return r.operator===fZe.LESS_THAN&&{operator1:fZe.LESS_THAN,val1:r.val.toString()}}},e.LESS_THAN_OR_EQUAL={label:"sheets-filter.conditions.less-than-or-equal",operator:fZe.LESS_THAN_OR_EQUAL,numOfParameters:1,order:dKe.FIRST,getDefaultFormParams:()=>({operator1:fZe.LESS_THAN_OR_EQUAL,val1:""}),testMappingParams:e=>{let[t]=mKe(e);return t===fZe.LESS_THAN_OR_EQUAL},mapToFilterColumn:e=>({customFilters:{customFilters:[{val:e.val1,operator:fZe.LESS_THAN_OR_EQUAL}]}}),testMappingFilterColumn:e=>{var t;if(1!==(null==(t=e.customFilters)?void 0:t.customFilters.length))return!1;let r=e.customFilters.customFilters[0];return r.operator===fZe.LESS_THAN_OR_EQUAL&&{operator1:fZe.LESS_THAN_OR_EQUAL,val1:r.val.toString()}}},e.EQUAL={label:"sheets-filter.conditions.equal",operator:fZe.EQUAL,numOfParameters:1,order:dKe.FIRST,getDefaultFormParams:()=>({operator1:fZe.EQUAL,val1:""}),testMappingParams:e=>{let[t]=mKe(e);return t===fZe.EQUAL},mapToFilterColumn:e=>({customFilters:{customFilters:[{val:e.val1,operator:fZe.EQUAL}]}}),testMappingFilterColumn:e=>{var t;if(1!==(null==(t=e.customFilters)?void 0:t.customFilters.length))return!1;let r=e.customFilters.customFilters[0];return r.operator===fZe.EQUAL&&{operator1:fZe.EQUAL,val1:r.val.toString()}}},e.NOT_EQUAL={label:"sheets-filter.conditions.not-equal",operator:fZe.NOT_EQUALS,numOfParameters:1,order:dKe.FIRST,getDefaultFormParams:()=>({operator1:fZe.NOT_EQUALS,val1:""}),testMappingParams:e=>{let[t]=mKe(e);return t===fZe.NOT_EQUALS},mapToFilterColumn:e=>({customFilters:{customFilters:[{val:e.val1,operator:fZe.NOT_EQUALS}]}}),testMappingFilterColumn:e=>{var t;if(1!==(null==(t=e.customFilters)?void 0:t.customFilters.length))return!1;let r=e.customFilters.customFilters[0];return r.operator===fZe.NOT_EQUALS&&{operator1:fZe.NOT_EQUALS,val1:r.val.toString()}}},e.BETWEEN={label:"sheets-filter.conditions.between",operator:hKe.BETWEEN,order:dKe.SECOND,numOfParameters:2,getDefaultFormParams:()=>({and:!0,operator1:fZe.GREATER_THAN_OR_EQUAL,val1:"",operator2:fZe.LESS_THAN_OR_EQUAL,val2:""}),testMappingParams:e=>{let{and:t,operator1:r,operator2:n}=e;if(!t)return!1;let i=[r,n];return i.includes(fZe.GREATER_THAN_OR_EQUAL)&&i.includes(fZe.LESS_THAN_OR_EQUAL)},mapToFilterColumn:e=>{let{val1:t,val2:r,operator1:n}=e,i=n===fZe.GREATER_THAN_OR_EQUAL;return{customFilters:{and:Vu.TRUE,customFilters:[{val:i?t:r,operator:fZe.GREATER_THAN_OR_EQUAL},{val:i?r:t,operator:fZe.LESS_THAN_OR_EQUAL}]}}},testMappingFilterColumn:e=>{var t;if(2!==(null==(t=e.customFilters)?void 0:t.customFilters.length))return!1;let[r,n]=e.customFilters.customFilters;return r.operator===fZe.GREATER_THAN_OR_EQUAL&&n.operator===fZe.LESS_THAN_OR_EQUAL&&e.customFilters.and?{and:!0,operator1:fZe.GREATER_THAN_OR_EQUAL,val1:r.val.toString(),operator2:fZe.LESS_THAN_OR_EQUAL,val2:n.val.toString()}:!(n.operator!==fZe.GREATER_THAN_OR_EQUAL||r.operator!==fZe.LESS_THAN_OR_EQUAL||!e.customFilters.and)&&{and:!0,operator1:fZe.GREATER_THAN_OR_EQUAL,val1:n.val.toString(),operator2:fZe.LESS_THAN_OR_EQUAL,val2:r.val.toLocaleString()}}},e.NOT_BETWEEN={label:"sheets-filter.conditions.not-between",operator:hKe.NOT_BETWEEN,order:dKe.SECOND,numOfParameters:2,getDefaultFormParams:()=>({operator1:fZe.LESS_THAN,val1:"",operator2:fZe.GREATER_THAN,val2:""}),testMappingParams:e=>{let{and:t,operator1:r,operator2:n}=e;if(t)return!1;let i=[r,n];return i.includes(fZe.GREATER_THAN)&&i.includes(fZe.LESS_THAN)},mapToFilterColumn:e=>{let{val1:t,val2:r,operator1:n}=e,i=n===fZe.GREATER_THAN;return{customFilters:{customFilters:[{val:i?t:r,operator:fZe.GREATER_THAN},{val:i?r:t,operator:fZe.LESS_THAN}]}}},testMappingFilterColumn:e=>{var t;if(2!==(null==(t=e.customFilters)?void 0:t.customFilters.length))return!1;let[r,n]=e.customFilters.customFilters;return r.operator!==fZe.LESS_THAN||n.operator!==fZe.GREATER_THAN||e.customFilters.and?n.operator===fZe.LESS_THAN&&r.operator===fZe.GREATER_THAN&&!e.customFilters.and&&{operator1:fZe.GREATER_THAN,val1:n.val.toString(),operator2:fZe.LESS_THAN,val2:r.val.toLocaleString()}:{operator1:fZe.LESS_THAN,val1:r.val.toString(),operator2:fZe.GREATER_THAN,val2:n.val.toString()}}},e.CUSTOM={label:"sheets-filter.conditions.custom",operator:hKe.CUSTOM,order:dKe.SECOND,numOfParameters:2,getDefaultFormParams:()=>({operator1:hKe.NONE,val1:"",operator2:hKe.NONE,val2:""}),testMappingParams:()=>!0,mapToFilterColumn:e=>{let{and:n,val1:i,val2:a,operator1:o,operator2:s}=e;function l(e,t){for(let n of r)if(n.operator===e)return n.mapToFilterColumn({val1:t,operator1:e})}let u=!o||o===cKe.NONE.operator,c=!s||s===cKe.NONE.operator;if(u&&c)return t.mapToFilterColumn({});if(u)return l(s,a);if(c)return l(o,i);let d=l(o,i),h=l(s,a),m={customFilters:[d.customFilters.customFilters[0],h.customFilters.customFilters[0]]};return n&&(m.and=Vu.TRUE),{customFilters:m}},testMappingFilterColumn:e=>{var t;if(2!==(null==(t=e.customFilters)?void 0:t.customFilters.length))return!1;let r=e.customFilters.customFilters.map(e=>n({customFilters:{customFilters:[e]}})),i={operator1:r[0][0].operator,val1:r[0][1].val1,operator2:r[1][0].operator,val2:r[1][1].val1};return e.customFilters.and&&(i.and=!0),i}}];function n(e){if(!e)return[t,{}];for(let t of r){let r=t.testMappingFilterColumn(e);if(r)return[t,r]}return[t,{}]}e.getItemByOperator=function(e){let t=r.find(t=>t.operator===e);if(!t)throw Error(`[SheetsFilter]: no condition item found for operator: ${e}`);return t},e.testMappingParams=function(e,t){for(let n of r.filter(e=>e.numOfParameters===t))if(0!==n.numOfParameters&&n.testMappingParams(e))return n;for(let t of r)if(t.testMappingParams(e))return t;throw Error("[SheetsFilter]: no condition item can be mapped from the filter map params!")},e.getInitialFormParams=function(e){let t=r.find(t=>t.operator===e);return 0===(null==t?void 0:t.numOfParameters)?{operator1:t.operator}:t.getDefaultFormParams()},e.mapToFilterColumn=function(e,t){return e.mapToFilterColumn(t)},e.testMappingFilterColumn=n}(cKe||(cKe={}));const vKe="sheets-filter.generate-filter-values.service",bKe=V(vKe);let CKe=class extends tu{constructor(e,t,r){super(),this._localeService=e,this._univerInstanceService=t,this._logService=r}async getFilterValues(e){var t;let{unitId:r,subUnitId:n,filteredOutRowsByOtherColumns:i,filterColumn:a,filters:o,blankChecked:s,iterateRange:l,alreadyChecked:u}=e,c=this._univerInstanceService.getUnit(r),d=null==(t=this._univerInstanceService.getUnit(r))?void 0:t.getSheetBySheetId(n);return c&&d?(this._logService.debug("[SheetsGenerateFilterValuesService]","getFilterValues for",{unitId:r,subUnitId:n}),yKe(o,this._localeService,l,d,new Set(i),a,new Set(u.map(String)),s,c.getStyles())):[]}};function yKe(e,t,r,n,i,a,o,s,l){var u;let c=new Map,d=new Map,h="empty",m=!e&&((null==a?void 0:a.filterBy)===mZe.COLORS||(null==a?void 0:a.filterBy)===mZe.CONDITIONS)&&(null==(u=a.filteredOutRows)?void 0:u.size),f=0;for(let e of n.iterateByColumn(r,!1,!1)){let{row:r,rowSpan:a=1}=e,u=0;for(;ue.key===`${i}-${a}`);var _;f||(f={title:t.t(`sheets-filter.date.${a}`),key:`${i}-${a}`,children:[],count:0,leaf:!1,checked:!1},null==(_=h.children)||_.push(f),d.set(`${i}-${a}`,[`${i}`,`${i}-${a}`]));let g=null==f||null==(y=f.children)?void 0:y.find(e=>e.key===`${i}-${a}-${l}`);var w;g?(g.originValues.add(E),g.count++,f.count++,h.count++):(null==(w=f.children)||w.push({title:`${l}`,key:`${i}-${a}-${l}`,count:1,originValues:new Set([E]),leaf:!0,checked:!m&&(o.size?o.has(E):!s)}),f.count++,h.count++,d.set(`${i}-${a}-${l}`,[`${i}`,`${i}-${a}`,`${i}-${a}-${l}`]))}else{let e=E,t=c.get(e);t?t.count++:(t={title:E,leaf:!0,checked:!m&&(o.size?o.has(E):!s),key:e,count:1},c.set(e,t),d.set(e,[e]))}u++}}let E=!m&&(!e||s);if(f>0){let e={title:t.t("sheets-filter.panel.empty"),count:f,leaf:!0,checked:E,key:h};c.set("empty",e),d.set("empty",[h])}return{filterTreeItems:_Ke(Array.from(c.values())),filterTreeMapCache:d}}function _Ke(e){return Array.from(e).sort((e,t)=>e.children&&!t.children?-1:!e.children&&t.children?1:function(e,t){let r=wKe(e),n=wKe(t);return r&&n?Number.parseFloat(e)-Number.parseFloat(t):r&&!n?-1:!r&&n?1:e.localeCompare(t)}(e.title,t.title)).map(e=>(e.children&&e.children.sort((e,t)=>Number.parseInt(e.key.split("-")[1],10)-Number.parseInt(t.key.split("-")[1],10)).forEach(e=>{e.children&&e.children.sort((e,t)=>Number.parseInt(e.key.split("-")[2],10)-Number.parseInt(t.key.split("-")[2],10))}),e))}CKe=pKe([gKe(0,Y(Cg)),gKe(1,dg),gKe(2,kc)],CKe);const wKe=e=>!Number.isNaN(Number(e))&&!Number.isNaN(Number.parseFloat(e));function EKe(e,t){for(let r of e){if(r.key===t)return r;if(r.children){let e=EKe(r.children,t);if(e)return e}}return null}function SKe(e){return e.leaf?e.checked:!e.children||e.children.every(e=>SKe(e))}function AKe(e,t){e.leaf&&(e.checked=void 0===t?!e.checked:t),e.children&&e.children.forEach(e=>AKe(e,t))}function IKe(e,t){let r=[];return e.forEach(e=>{let n=!!e.originValues&&t.some(t=>Array.from(e.originValues).some(e=>e.toLowerCase().includes(t.toLowerCase()))),i=!n&&t.some(t=>e.title.toLowerCase().includes(t.toLowerCase()));if(n||i)r.push({...e});else if(e.children){let n=IKe(e.children,t);if(n.length>0){let t=n.reduce((e,t)=>e+t.count,0);r.push({...e,count:t,children:n})}}}),r}function RKe(e){return RKe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},RKe(e)}function xKe(e,t,r){return(t=function(e){var t=function(e){if("object"!=RKe(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=RKe(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==RKe(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var TKe,NKe,MKe;V("sheets-filter-ui.sheets-filter-panel.service");let OKe=class extends tu{get filterBy(){return this._filterBy$.getValue()}get filterByModel(){return this._filterByModel}set filterByModel(e){this._filterByModel=e,this._filterByModel$.next(e)}get filterModel(){return this._filterModel}get col(){return this._col$.getValue()}constructor(e,t){super(),this._injector=e,this._refRangeService=t,xKe(this,"_filterBy$",new Qn(mZe.VALUES)),xKe(this,"filterBy$",this._filterBy$.asObservable()),xKe(this,"_filterByModel$",new NL(1)),xKe(this,"filterByModel$",this._filterByModel$.asObservable()),xKe(this,"_filterByModel",null),xKe(this,"_hasCriteria$",new Qn(!1)),xKe(this,"hasCriteria$",this._hasCriteria$.asObservable()),xKe(this,"_filterModel",null),xKe(this,"_col$",new Qn(-1)),xKe(this,"col$",this._col$.asObservable()),xKe(this,"_filterHeaderListener",null)}dispose(){this._filterBy$.complete(),this._filterByModel$.complete(),this._hasCriteria$.complete()}setupCol(e,t){this.terminate(),this._filterModel=e,this._col$.next(t);let r=e.getFilterColumn(t);if(r){let n=r.getColumnData();return n.customFilters?(this._hasCriteria$.next(!0),void this._setupByConditions(e,t)):n.colorFilters?(this._hasCriteria$.next(!0),void this._setupByColors(e,t)):n.filters?(this._hasCriteria$.next(!0),void this._setupByValues(e,t)):(this._hasCriteria$.next(!1),void this._setupByValues(e,t))}this._hasCriteria$.next(!1),this._setupByValues(e,t)}changeFilterBy(e){if(!this._filterModel||-1===this.col)return!1;switch(e){case mZe.VALUES:this._setupByValues(this._filterModel,this.col);break;case mZe.COLORS:this._setupByColors(this._filterModel,this.col);break;case mZe.CONDITIONS:this._setupByConditions(this._filterModel,this.col)}return!0}terminate(){return this._filterModel=null,this._col$.next(-1),this._disposeFilterHeaderChangeListener(),!0}_disposeFilterHeaderChangeListener(){var e;null==(e=this._filterHeaderListener)||e.dispose(),this._filterHeaderListener=null}_listenToFilterHeaderChange(e,t){this._disposeFilterHeaderChangeListener();let r=e.unitId,n=e.subUnitId,i=e.getRange(),a={startColumn:t,startRow:i.startRow,endRow:i.startRow,endColumn:t};this._filterHeaderListener=this._refRangeService.watchRange(r,n,a,(e,t)=>{if(t){let r=t.startColumn-e.startColumn;0!==r&&this._filterByModel.deltaCol(r)}else this.terminate()})}async _setupByValues(e,t){this._disposePreviousModel();let r=e.getRange();return r.startRow!==r.endRow&&(this.filterByModel=await kKe.fromFilterColumn(this._injector,e,t),this._filterBy$.next(mZe.VALUES),this._listenToFilterHeaderChange(e,t),!0)}async _setupByColors(e,t){this._disposePreviousModel();let r=e.getRange();return r.startRow!==r.endRow&&(this.filterByModel=await PKe.fromFilterColumn(this._injector,e,t),this._filterBy$.next(mZe.COLORS),this._listenToFilterHeaderChange(e,t),!0)}_setupByConditions(e,t){this._disposePreviousModel();let r=e.getRange();return r.startRow!==r.endRow&&(this.filterByModel=LKe.fromFilterColumn(this._injector,e,t,e.getFilterColumn(t)),this._filterBy$.next(mZe.CONDITIONS),this._listenToFilterHeaderChange(e,t),!0)}_disposePreviousModel(){var e;null==(e=this._filterByModel)||e.dispose(),this.filterByModel=null}};OKe=pKe([gKe(0,Y(he)),gKe(1,Y(VIe))],OKe);let LKe=TKe=class extends tu{static fromFilterColumn(e,t,r,n){let[i,a]=cKe.testMappingFilterColumn(null==n?void 0:n.getColumnData());return e.createInstance(TKe,t,r,i,a)}get conditionItem(){return this._conditionItem$.getValue()}get filterConditionFormParams(){return this._filterConditionFormParams$.getValue()}constructor(e,t,r,n,i){super(),this._filterModel=e,this.col=t,this._commandService=i,xKe(this,"canApply$",Ai(!0)),xKe(this,"_conditionItem$",void 0),xKe(this,"conditionItem$",void 0),xKe(this,"_filterConditionFormParams$",void 0),xKe(this,"filterConditionFormParams$",void 0),this._conditionItem$=new Qn(r),this.conditionItem$=this._conditionItem$.asObservable(),this._filterConditionFormParams$=new Qn(n),this.filterConditionFormParams$=this._filterConditionFormParams$.asObservable()}dispose(){super.dispose(),this._conditionItem$.complete(),this._filterConditionFormParams$.complete()}deltaCol(e){this.col+=e}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(XZe.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}async apply(){if(this._disposed)return!1;let e=cKe.mapToFilterColumn(this.conditionItem,this.filterConditionFormParams);return this._commandService.executeCommand(XZe.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:e})}onPrimaryConditionChange(e){let t=cKe.ALL_CONDITIONS.find(t=>t.operator===e);if(!t)throw Error(`[ByConditionsModel]: condition item not found for operator: ${e}!`);this._conditionItem$.next(t),this._filterConditionFormParams$.next(cKe.getInitialFormParams(e))}onConditionFormChange(e){let t={...this.filterConditionFormParams,...e};if(!0!==t.and&&delete t.and,void 0!==e.and||void 0!==e.operator1||void 0!==e.operator2){let e=cKe.testMappingParams(t,this.conditionItem.numOfParameters);this._conditionItem$.next(e)}this._filterConditionFormParams$.next(t)}};LKe=TKe=pKe([gKe(4,Vc)],LKe);let kKe=NKe=class extends tu{static async fromFilterColumn(e,t,r){let n=e.get(dg),i=e.get(Cg),a=e.get(bKe,R.OPTIONAL),{unitId:o,subUnitId:s}=t,l=n.getUniverSheetInstance(o);if(!l)throw Error(`[ByValuesModel]: Workbook not found for filter model with unitId: ${o}!`);let u=null==l?void 0:l.getSheetBySheetId(s);if(!u)throw Error(`[ByValuesModel]: Worksheet not found for filter model with unitId: ${o} and subUnitId: ${s}!`);let c,d,h=t.getRange(),m=r,f=t.getFilterColumn(r),g=null==f?void 0:f.getColumnData().filters,p=new Set(null==g?void 0:g.filters),v=!(!g||!g.blank),b=t.getFilteredOutRowsExceptCol(r),C={...h,startRow:h.startRow+1,startColumn:m,endColumn:m};if(a){let e=await a.getFilterValues({unitId:o,subUnitId:s,filteredOutRowsByOtherColumns:Array.from(b),filterColumn:f,filters:!!g,blankChecked:v,iterateRange:C,alreadyChecked:Array.from(p)});c=e.filterTreeItems,d=e.filterTreeMapCache}else{let e=yKe(!!g,i,C,u,b,f,p,v,l.getStyles());c=e.filterTreeItems,d=e.filterTreeMapCache}return e.createInstance(NKe,t,r,c,d)}get rawFilterItems(){return this._rawFilterItems$.getValue()}get filterItems(){return this._filterItems}get treeMapCache(){return this._treeMapCache}constructor(e,t,r,n,i){super(),this._filterModel=e,this.col=t,this._commandService=i,xKe(this,"_rawFilterItems$",void 0),xKe(this,"rawFilterItems$",void 0),xKe(this,"filterItems$",void 0),xKe(this,"_filterItems",[]),xKe(this,"_treeMapCache",void 0),xKe(this,"canApply$",void 0),xKe(this,"_manuallyUpdateFilterItems$",void 0),xKe(this,"_searchString$",void 0),xKe(this,"searchString$",void 0),this._treeMapCache=n,this._searchString$=new Qn(""),this.searchString$=this._searchString$.asObservable(),this._rawFilterItems$=new Qn(r),this.rawFilterItems$=this._rawFilterItems$.asObservable(),this._manuallyUpdateFilterItems$=new On,this.filterItems$=Ei(Oi([this._searchString$.pipe(pq(500,void 0,{leading:!0,trailing:!0}),RL(void 0)),this._rawFilterItems$]).pipe(Yn(([e,t])=>e?IKe(t,e.toLowerCase().split(/\s+/).filter(e=>!!e)):t)),this._manuallyUpdateFilterItems$).pipe(LL(1)),this.canApply$=this.filterItems$.pipe(Yn(e=>fKe(e).checked>0)),this.disposeWithMe(this.filterItems$.subscribe(e=>this._filterItems=e))}dispose(){this._rawFilterItems$.complete(),this._searchString$.complete()}deltaCol(e){this.col+=e}setSearchString(e){this._searchString$.next(e)}onCheckAllToggled(e){let t=uu.deepClone(this._filterItems);t.forEach(t=>AKe(t,e)),this._manuallyUpdateFilterItems(t)}onFilterCheckToggled(e){let t=uu.deepClone(this._filterItems),r=EKe(t,e.key);r&&(AKe(r,!SKe(r)),this._manuallyUpdateFilterItems(t))}onFilterOnly(e){let t=uu.deepClone(this._filterItems);t.forEach(e=>AKe(e,!1)),e.forEach(e=>{let r=EKe(t,e);r&&AKe(r,!0)}),this._manuallyUpdateFilterItems(t)}_manuallyUpdateFilterItems(e){this._manuallyUpdateFilterItems$.next(e)}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(XZe.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}async apply(){if(this._disposed)return!1;let e=fKe(this._filterItems),{checked:t,checkedItems:r}=e,n=this.rawFilterItems,i=0;for(let e of n)i+=e.count;let a=0===t,o=e.checked===i,s={colId:this.col};if(a)throw Error("[ByValuesModel]: no checked items!");if(o)return this._commandService.executeCommand(XZe.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null});{s.filters={};let e=r.filter(e=>"empty"!==e.key);e.length>0&&(s.filters={filters:e.flatMap(e=>e.originValues?Array.from(e.originValues):[e.title])}),e.length!==r.length&&(s.filters.blank=!0)}return this._commandService.executeCommand(XZe.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:s})}};kKe=NKe=pKe([gKe(4,Vc)],kKe);let PKe=MKe=class extends tu{static async fromFilterColumn(e,t,r){var n,i,a;let o=e.get(dg),{unitId:s,subUnitId:l}=t,u=o.getUniverSheetInstance(s);if(!u)throw Error(`[ByColorsModel]: Workbook not found for filter model with unitId: ${s}!`);let c=null==u?void 0:u.getSheetBySheetId(l);if(!c)throw Error(`[ByColorsModel]: Worksheet not found for filter model with unitId: ${s} and subUnitId: ${l}!`);let d=t.getRange(),h=r,m=null==(n=t.getFilterColumn(r))?void 0:n.getColumnData().colorFilters,f=t.getFilteredOutRowsExceptCol(r),g={...d,startRow:d.startRow+1,startColumn:h,endColumn:h},p=new Map,v=new Set(null==(i=null==m?void 0:m.cellFillColors)?[]:i),b=new Map,C=new Set(null==(a=null==m?void 0:m.cellTextColors)?[]:a);for(let e of c.iterateByColumn(g,!1,!0)){let{row:t,col:r,value:n}=e;if(f.has(t))continue;let i=c.getComposedCellStyleByCellData(t,r,n);if(i.bg&&i.bg.rgb){let e=new $c(i.bg.rgb).toRgbString();p.has(e)||p.set(e,{color:e,checked:v.has(e)})}else p.set("default-fill-color",{color:null,checked:v.has(null)});if(i.cl&&i.cl.rgb){let e=new $c(i.cl.rgb).toRgbString();b.has(e)||b.set(e,{color:e,checked:C.has(e)})}else b.set("default-font-color",{color:NV,checked:C.has(NV)})}return e.createInstance(MKe,t,r,p,b)}get cellFillColors(){return this._cellFillColors$.getValue()}get cellTextColors(){return this._cellTextColors$.getValue()}constructor(e,t,r,n,i){super(),this._filterModel=e,this.col=t,this._commandService=i,xKe(this,"canApply$",Ai(!0)),xKe(this,"_cellFillColors$",void 0),xKe(this,"cellFillColors$",void 0),xKe(this,"_cellTextColors$",void 0),xKe(this,"cellTextColors$",void 0),this._cellFillColors$=new Qn(Array.from(r.values())),this.cellFillColors$=this._cellFillColors$.asObservable(),this._cellTextColors$=new Qn(Array.from(n.values())),this.cellTextColors$=this._cellTextColors$.asObservable()}dispose(){super.dispose(),this._cellFillColors$.complete()}deltaCol(e){this.col+=e}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(XZe.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}onFilterCheckToggled(e,t=!0){let r=t?this.cellFillColors:this.cellTextColors,n=[],i=!1;for(let t=0;te.checked).map(e=>e.color),t=this.cellTextColors.filter(e=>e.checked).map(e=>e.color);if(0===e.length&&0===t.length)return this._commandService.executeCommand(XZe.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null});let r={colId:this.col};return e.length>0?r.colorFilters={cellFillColors:e}:t.length>0&&(r.colorFilters={cellTextColors:t}),this._commandService.executeCommand(XZe.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:r})}};PKe=MKe=pKe([gKe(4,Vc)],PKe);const DKe="FILTER_PANEL_OPENED",UKe={id:"sheet.operation.open-filter-panel",type:Bc.OPERATION,handler:(e,t)=>{let r=e.get(Mc),n=e.get(UZe),i=e.get(OKe),a=e.get(Vc),o=e.has(GPe)?e.get(GPe):null;null!=o&&o.isVisible().visible&&a.syncExecuteCommand(sDe.id,{visible:!1});let{unitId:s,subUnitId:l,col:u}=t,c=n.getFilterModel(s,l);return!!c&&(i.setupCol(c,u),r.getContextValue("FILTER_PANEL_OPENED")||r.setContextValue(DKe,!0),!0)}},BKe={id:"sheet.operation.close-filter-panel",type:Bc.OPERATION,handler:e=>{let t=e.get(Mc),r=e.get(OKe),n=e.get(O8,R.OPTIONAL);return!!t.getContextValue("FILTER_PANEL_OPENED")&&(t.setContextValue(DKe,!1),null==n||n.focus(),r.terminate())}},VKe={id:"sheet.operation.apply-filter",type:Bc.OPERATION,handler:(e,t)=>{let{filterBy:r}=t;return e.get(OKe).changeFilterBy(r)}};var FKe="@univerjs/sheets-filter-ui",jKe="0.19.0";const HKe="sheets-filter-ui.config";Symbol(HKe);const WKe={};let zKe=class extends tu{constructor(e,t,r,n,i,a){super(),this._sheetsFilterService=e,this._localeService=t,this._commandService=r,this._sheetPermissionCheckPermission=n,this._injector=i,this._sheetsSelectionService=a,this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{if(e.id===zZe.id){var t;let e=W_e(this._injector.get(dg));if(!e)return;let n,{unitId:i,subUnitId:a,worksheet:o}=e,s=null==(t=this._sheetsFilterService.getFilterModel(i,a))?void 0:t.getRange();if(s)n=this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[ASe],worksheetTypes:[tAe,hAe]},[s],i,a);else{var r;let e=null==(r=this._sheetsSelectionService.getCurrentLastSelection())?void 0:r.range;if(e){let t={...e};t=e.startColumn===e.endColumn&&e.startRow===e.endRow?IEe(t,{left:!0,right:!0,up:!0,down:!0},o):t,n=this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[ASe],worksheetTypes:[hAe,tAe]},[t],i,a)}else n=this._sheetPermissionCheckPermission.permissionCheckWithoutRange({rangeTypes:[ASe],worksheetTypes:[hAe,tAe]})}n||this._sheetPermissionCheckPermission.blockExecuteWithoutPermission(this._localeService.t("permission.dialog.filterErr"))}if(e.id===UKe.id){var n;let t=e.params,{unitId:r,subUnitId:i}=t,a=null==(n=this._sheetsFilterService.getFilterModel(r,i))?void 0:n.getRange(),o=uu.deepClone(a);o&&(o.startColumn=t.col,o.endColumn=t.col,this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[ASe],worksheetTypes:[tAe,hAe]},[o],r,i)||this._sheetPermissionCheckPermission.blockExecuteWithoutPermission(this._localeService.t("permission.dialog.filterErr")))}}))}};zKe=pKe([gKe(0,Y(UZe)),gKe(1,Y(Cg)),gKe(2,Vc),gKe(3,Y(NNe)),gKe(4,Y(he)),gKe(5,Y(rSe))],zKe);const XKe=new Path2D("M3.30363 3C2.79117 3 2.51457 3.60097 2.84788 3.99024L6.8 8.60593V12.5662C6.8 12.7184 6.8864 12.8575 7.02289 12.9249L8.76717 13.7863C8.96655 13.8847 9.2 13.7396 9.2 13.5173V8.60593L13.1521 3.99024C13.4854 3.60097 13.2088 3 12.6964 3H3.30363Z");var qKe=class{static drawNoCriteria(e,t,r,n){e.save(),tX.drawWith(e,{radius:2,width:16,height:16,fill:n}),e.lineCap="square",e.strokeStyle=r,e.scale(t/16,t/16),e.beginPath(),e.lineWidth=1,e.lineCap="round",e.moveTo(3,4),e.lineTo(13,4),e.moveTo(4.5,8),e.lineTo(11.5,8),e.moveTo(6,12),e.lineTo(10,12),e.stroke(),e.restore()}static drawHasCriteria(e,t,r,n){e.save(),tX.drawWith(e,{radius:2,width:16,height:16,fill:n}),e.scale(t/16,t/16),e.fillStyle=r,e.fill(XKe),e.restore()}};let GKe=class extends oH{constructor(e,t,r,n,i){super(e,t),this._contextService=r,this._commandService=n,this._themeService=i,xKe(this,"_cellWidth",0),xKe(this,"_cellHeight",0),xKe(this,"_filterParams",void 0),xKe(this,"_hovered",!1),this.setShapeProps(t),this.onPointerDown$.subscribeEvent(e=>this.onPointerDown(e)),this.onPointerEnter$.subscribeEvent(()=>this.onPointerEnter()),this.onPointerLeave$.subscribeEvent(()=>this.onPointerLeave())}setShapeProps(e){void 0!==e.cellHeight&&(this._cellHeight=e.cellHeight),void 0!==e.cellWidth&&(this._cellWidth=e.cellWidth),void 0!==e.filterParams&&(this._filterParams=e.filterParams),this.transformByState({width:e.width,height:e.height})}_draw(e){let t=this._cellHeight,r=this._cellWidth,n=16-r,i=16-t;e.save();let a=new Path2D;a.rect(n,i,r,t),e.clip(a);let{hasCriteria:o}=this._filterParams,s=this._themeService.getColorFromTheme("primary.600"),l=this._hovered?this._themeService.getColorFromTheme("gray.50"):"rgba(255, 255, 255, 1.0)";o?qKe.drawHasCriteria(e,16,s,l):qKe.drawNoCriteria(e,16,s,l),e.restore()}onPointerDown(e){if(2===e.button)return;let{col:t,unitId:r,subUnitId:n}=this._filterParams;this._contextService.getContextValue("FILTER_PANEL_OPENED")||!this._commandService.hasCommand(UKe.id)||setTimeout(()=>{this._commandService.executeCommand(UKe.id,{unitId:r,subUnitId:n,col:t})},200)}onPointerEnter(){this._hovered=!0,this.makeDirty(!0)}onPointerLeave(){this._hovered=!1,this.makeDirty(!0)}};function YKe(e,t,r,n){switch(n){case ku.TOP:return e+1;case ku.MIDDLE:return e+Math.max(0,(r-16)/2);case ku.BOTTOM:default:return t-16-1}}GKe=pKe([gKe(2,Mc),gKe(3,Vc),gKe(4,Y(Lg))],GKe);let QKe=class extends ru{constructor(e,t,r,n,i,a,o,s){super(),this._context=e,this._injector=t,this._sheetSkeletonManagerService=r,this._sheetsFilterService=n,this._themeService=i,this._sheetInterceptorService=a,this._commandService=o,this._selectionRenderService=s,xKe(this,"_currentRenderParams",null),xKe(this,"_filterRangeShape",null),xKe(this,"_buttonRenderDisposable",null),xKe(this,"_filterButtonShapes",[]),this._initRenderer()}dispose(){super.dispose(),this._disposeRendering()}_initRenderer(){this.disposeWithMe(this._themeService.currentTheme$.subscribe(()=>{this._refreshRendering(this._currentRenderParams)})),this._sheetSkeletonManagerService.currentSkeleton$.pipe(aq(e=>{var t,r;if(!e)return Ai(null);let{unit:n,unitId:i}=this._context,a=(null==(t=n.getActiveSheet())?void 0:t.getSheetId())||"",o=null==(r=this._sheetsFilterService.getFilterModel(i,a))?void 0:r,s=()=>({unitId:i,worksheetId:a,filterModel:o,range:null==o?void 0:o.getRange(),skeleton:e.skeleton});return qc(this._commandService.onCommandExecuted.bind(this._commandService)).pipe(Un(([e])=>{var t;return e.type===Bc.MUTATION&&(null==(t=e.params)?void 0:t.unitId)===n.getUnitId()&&(hZe.has(e.id)||e.id===Kwe.id)}),pq(20,void 0,{leading:!1,trailing:!0}),Yn(s),RL(s()))}),jX(this.dispose$)).subscribe(e=>{this._currentRenderParams=e,this._refreshRendering(e)})}_refreshRendering(e){this._disposeRendering(),e&&e.range&&(this._renderRange(e.range,e.skeleton),this._renderButtons(e))}_renderRange(e,t){let{scene:r}=this._context,{rowHeaderWidth:n,columnHeaderHeight:i}=t,a=this._filterRangeShape=new _Le(r,1e3,this._themeService,{rowHeaderWidth:n,columnHeaderHeight:i,enableAutoFill:!1,highlightHeader:!1}),o=uLe({range:e,primary:null,style:{fill:"rgba(0, 0, 0, 0.0)"}},t);a.updateRangeBySelectionWithCoord(o),a.setEvent(!1),r.makeDirty(!0)}_renderButtons(e){let{range:t,filterModel:r,unitId:n,skeleton:i,worksheetId:a}=e,{unit:o,scene:s}=this._context,l=o.getSheetBySheetId(a);if(!l)return;this._interceptCellContent(n,a,e.range);let{startColumn:u,endColumn:c,startRow:d}=t;for(let e=u;e<=c;e++){let t=`sheets-filter-button-${e}`,o=DPe(d,e,0,i),s=l.getComposedCellStyle(d,e),u=(null==s?void 0:s.vt)||ku.BOTTOM,{startX:c,startY:h,endX:m,endY:f}=o,g=m-c,p=f-h;if(p<=1||g<=1)continue;let v=!!r.getFilterColumn(e),b={left:m-16-1,top:YKe(h,f,p,u),height:16,width:16,zIndex:5e3,cellHeight:p,cellWidth:g,filterParams:{unitId:n,subUnitId:a,col:e,hasCriteria:v}},C=this._injector.createInstance(GKe,t,b);this._filterButtonShapes.push(C)}s.addObjects(this._filterButtonShapes),s.makeDirty()}_interceptCellContent(e,t,r){let{startRow:n,startColumn:i,endColumn:a}=r;this._buttonRenderDisposable=this._sheetInterceptorService.intercept(G_e.CELL_CONTENT,{effect:Vl.Style,handler:(r,o,s)=>{let{row:l,col:u,unitId:c,subUnitId:d}=o;return c!==e||d!==t||l!==n||ua||((!r||r===o.rawData)&&(r={...o.rawData}),r.fontRenderExtension={...null==r?void 0:r.fontRenderExtension,rightOffset:16}),s(r)},priority:10})}_disposeRendering(){var e,t;null==(e=this._filterRangeShape)||e.dispose(),this._filterButtonShapes.forEach(e=>e.dispose()),null==(t=this._buttonRenderDisposable)||t.dispose(),this._filterRangeShape=null,this._buttonRenderDisposable=null,this._filterButtonShapes=[]}};QKe=pKe([gKe(1,Y(he)),gKe(2,Y(vLe)),gKe(3,Y(UZe)),gKe(4,Y(Lg)),gKe(5,Y(iwe)),gKe(6,Vc),gKe(7,dLe)],QKe);let ZKe=class extends ru{constructor(e,t){super(),this._renderManagerService=e,this._sheetsRenderService=t,[BZe,VZe,FZe,jZe].forEach(e=>this.disposeWithMe(this._sheetsRenderService.registerSkeletonChangingMutations(e.id))),this.disposeWithMe(this._renderManagerService.registerRenderModule(Pi.UNIVER_SHEET,[QKe]))}};ZKe=pKe([gKe(0,kX),gKe(1,Y(_De))],ZKe);let KKe=class extends Rg{constructor(e=WKe,t,r){super(),this._config=e,this._injector=t,this._configService=r;let{menu:n,...i}=hr({},WKe,this._config);n&&this._configService.setConfig("menu",n,{merge:!0}),this._configService.setConfig(HKe,i)}onStarting(){[[zKe],[ZKe]].forEach(e=>this._injector.add(e))}onReady(){this._injector.get(zKe)}onRendered(){this._injector.get(ZKe)}};xKe(KKe,"type",Pi.UNIVER_SHEET),xKe(KKe,"pluginName","SHEET_FILTER_UI_PLUGIN"),xKe(KKe,"packageName",FKe),xKe(KKe,"version",jKe),KKe=pKe([Tg(nKe),gKe(1,Y(he)),gKe(2,Tc)],KKe);const $Ke={[$8.ORGANIZATION]:{[zZe.id]:{order:2,menuItemFactory:function(e){let t=e.get(UZe);return{id:zZe.id,type:lee.BUTTON_SELECTOR,icon:"FilterIcon",tooltip:"sheets-filter.toolbar.smart-toggle-filter-tooltip",hidden$:X5(e,Pi.UNIVER_SHEET),activated$:t.activeFilterModel$.pipe(Yn(e=>!!e)),disabled$:mBe(e,fBe(e,{worksheetTypes:[tAe,hAe],rangeTypes:[ASe]}))}},[qZe.id]:{order:0,menuItemFactory:function(e){let t=e.get(UZe);return{id:qZe.id,type:lee.BUTTON,title:"sheets-filter.toolbar.clear-filter-criteria",hidden$:X5(e,Pi.UNIVER_SHEET),disabled$:t.activeFilterModel$.pipe(aq(e=>{var t;return null==(t=null==e?void 0:e.hasCriteria$.pipe(Yn(e=>!e)))?Ai(!0):t}))}}},[GZe.id]:{order:1,menuItemFactory:function(e){let t=e.get(UZe);return{id:GZe.id,type:lee.BUTTON,title:"sheets-filter.toolbar.re-calc-filter-conditions",hidden$:X5(e,Pi.UNIVER_SHEET),disabled$:t.activeFilterModel$.pipe(aq(e=>{var t;return null==(t=null==e?void 0:e.hasCriteria$.pipe(Yn(e=>!e)))?Ai(!0):t}))}}}}}};function JKe(e){let{model:t}=e,r=iK(Cg),n=aK(t.cellFillColors$,[],!0),i=aK(t.cellTextColors$,[],!0),a=(0,_q.useCallback)(e=>{t.onFilterCheckToggled(e)},[t]),o=(0,_q.useCallback)(e=>{t.onFilterCheckToggled(e,!1)},[t]);return(0,$Z.jsx)("div",{"data-u-comp":"sheets-filter-panel-colors-container",className:"univer-flex univer-h-full univer-min-h-[300px] univer-flex-col",children:(0,$Z.jsxs)("div",{"data-u-comp":"sheets-filter-panel",className:x7("univer-mt-2 univer-box-border univer-flex univer-h-[300px] univer-flex-grow univer-flex-col univer-gap-4 univer-overflow-auto univer-rounded-md univer-px-2 univer-py-2.5",V7),children:[n.length>1&&(0,$Z.jsxs)("div",{children:[(0,$Z.jsx)("div",{className:"univer-mb-2 univer-text-sm univer-text-gray-900 dark:!univer-text-white",children:r.t("sheets-filter.panel.filter-by-cell-fill-color")}),(0,$Z.jsx)("div",{className:"univer-grid univer-grid-cols-8 univer-items-center univer-justify-start univer-gap-2",children:n.map((e,t)=>(0,$Z.jsxs)("div",{className:"univer-relative univer-size-6",onClick:()=>a(e),children:[e.color?(0,$Z.jsx)("button",{type:"button",className:x7("univer-box-border univer-size-6 univer-cursor-pointer univer-rounded-full univer-border univer-border-solid univer-border-transparent univer-bg-gray-300 univer-transition-shadow hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-white"),style:{backgroundColor:e.color}}):(0,$Z.jsx)(aKe,{className:"univer-size-6 univer-cursor-pointer univer-rounded-full hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-white"}),e.checked&&(0,$Z.jsx)(e$e,{})]},`sheets-filter-cell-fill-color-${t}`))})]}),i.length>1&&(0,$Z.jsxs)("div",{children:[(0,$Z.jsx)("div",{className:"univer-mb-2 univer-text-sm univer-text-gray-900 dark:!univer-text-white",children:r.t("sheets-filter.panel.filter-by-cell-text-color")}),(0,$Z.jsx)("div",{className:"univer-grid univer-grid-cols-8 univer-items-center univer-justify-start univer-gap-2",children:i.map((e,t)=>(0,$Z.jsxs)("div",{className:"univer-relative univer-size-6",onClick:()=>o(e),children:[(0,$Z.jsx)("div",{className:"univer-box-border univer-flex univer-size-full univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-full univer-border univer-border-solid univer-border-[rgba(13,13,13,0.06)] univer-p-0.5 hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-white dark:!univer-border-[rgba(255,255,255,0.06)]",children:(0,$Z.jsx)(sKe,{style:{color:e.color}})}),e.checked&&(0,$Z.jsx)(e$e,{})]},`sheets-filter-cell-text-color-${t}`))})]}),n.length<=1&&i.length<=1&&(0,$Z.jsx)("div",{className:"univer-flex univer-size-full univer-items-center univer-justify-center univer-text-sm univer-text-gray-900 dark:!univer-text-gray-200",children:r.t("sheets-filter.panel.filter-by-color-none")})]})})}function e$e(){return(0,$Z.jsx)("div",{className:"univer-absolute -univer-bottom-0.5 -univer-right-0.5 univer-flex univer-size-3 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-full univer-bg-white",children:(0,$Z.jsx)(wK,{className:"univer-size-full univer-font-bold univer-text-[#418F1F]"})})}function t$e(e){var t,r;let{model:n}=e,i=iK(Cg),a=aK(n.conditionItem$,void 0),o=aK(n.filterConditionFormParams$,void 0),s=null!=o&&o.and?"AND":"OR",l=(0,_q.useCallback)(e=>{n.onConditionFormChange({and:"AND"===e})},[n]),u=function(e){return(0,_q.useMemo)(()=>[{options:[{label:e.t(cKe.NONE.label),value:cKe.NONE.operator}]},{options:[{label:e.t(cKe.EMPTY.label),value:cKe.EMPTY.operator},{label:e.t(cKe.NOT_EMPTY.label),value:cKe.NOT_EMPTY.operator}]},{options:[{label:e.t(cKe.TEXT_CONTAINS.label),value:cKe.TEXT_CONTAINS.operator},{label:e.t(cKe.DOES_NOT_CONTAIN.label),value:cKe.DOES_NOT_CONTAIN.operator},{label:e.t(cKe.STARTS_WITH.label),value:cKe.STARTS_WITH.operator},{label:e.t(cKe.ENDS_WITH.label),value:cKe.ENDS_WITH.operator},{label:e.t(cKe.EQUALS.label),value:cKe.EQUALS.operator}]},{options:[{label:e.t(cKe.GREATER_THAN.label),value:cKe.GREATER_THAN.operator},{label:e.t(cKe.GREATER_THAN_OR_EQUAL.label),value:cKe.GREATER_THAN_OR_EQUAL.operator},{label:e.t(cKe.LESS_THAN.label),value:cKe.LESS_THAN.operator},{label:e.t(cKe.LESS_THAN_OR_EQUAL.label),value:cKe.LESS_THAN_OR_EQUAL.operator},{label:e.t(cKe.EQUAL.label),value:cKe.EQUAL.operator},{label:e.t(cKe.NOT_EQUAL.label),value:cKe.NOT_EQUAL.operator},{label:e.t(cKe.BETWEEN.label),value:cKe.BETWEEN.operator},{label:e.t(cKe.NOT_BETWEEN.label),value:cKe.NOT_BETWEEN.operator}]},{options:[{label:e.t(cKe.CUSTOM.label),value:cKe.CUSTOM.operator}]}],[e.getCurrentLocale(),e])}(i),c=(0,_q.useCallback)(e=>{n.onPrimaryConditionChange(e)},[n]),d=function(e){return(0,_q.useMemo)(()=>cKe.ALL_CONDITIONS.filter(e=>2!==e.numOfParameters).map(t=>({label:e.t(t.label),value:t.operator})),[e.getCurrentLocale(),e])}(i),h=(0,_q.useCallback)(e=>{n.onConditionFormChange(e)},[n]),m=i.t("sheets-filter.panel.input-values-placeholder");function f(e,t,r){let n=1===cKe.getItemByOperator(e).numOfParameters;return(0,$Z.jsxs)($Z.Fragment,{children:["operator2"===r&&(0,$Z.jsxs)(v5,{value:s,onChange:l,children:[(0,$Z.jsx)(b5,{value:"AND",children:i.t("sheets-filter.panel.and")}),(0,$Z.jsx)(b5,{value:"OR",children:i.t("sheets-filter.panel.or")})]}),(0,$Z.jsx)(_5,{value:e,options:d,onChange:e=>h({[r]:e})}),n&&(0,$Z.jsx)("div",{children:(0,$Z.jsx)(Z9,{className:"univer-mt-2",value:t,placeholder:m,onChange:e=>h({["operator1"===r?"val1":"val2"]:e})})})]})}return(0,$Z.jsx)("div",{"data-u-comp":"sheets-filter-panel-conditions-container",className:"univer-flex univer-h-full univer-min-h-[300px] univer-flex-col",children:a&&o&&(0,$Z.jsxs)($Z.Fragment,{children:[(0,$Z.jsx)(_5,{value:a.operator,options:u,onChange:c}),0===cKe.getItemByOperator(a.operator).numOfParameters?null:(0,$Z.jsxs)("div",{"data-u-comp":"sheets-filter-panel-conditions-container-inner",className:x7("univer-mt-2 univer-flex-grow univer-overflow-hidden univer-rounded-md univer-p-2",V7),children:[a.numOfParameters>=1&&f(o.operator1,null==(t=o.val1)?"":t,"operator1"),a.numOfParameters>=2&&f(o.operator2,null==(r=o.val2)?"":r,"operator2"),(0,$Z.jsxs)("div",{"data-u-comp":"sheets-filter-panel-conditions-desc",className:"univer-mt-2 univer-text-xs univer-text-gray-500",children:[i.t("sheets-filter.panel.?"),(0,$Z.jsx)("br",{}),i.t("sheets-filter.panel.*")]})]})]})})}function r$e(e){let{model:t}=e,r=iK(Cg),n=aK(t.searchString$,"",!0),i=aK(t.filterItems$,void 0,!0),a=r.t("sheets-filter.panel.filter-only"),o=fKe(i),s=o.checked>0&&0===o.unchecked,l=o.checked>0&&o.unchecked>0,u=t.treeMapCache,c=(0,_q.useCallback)(()=>{t.onCheckAllToggled(!s)},[t,s]),d=(0,_q.useCallback)(e=>{t.setSearchString(e)},[t]);return(0,$Z.jsxs)("div",{"data-u-comp":"sheets-filter-panel-values-container",className:"univer-flex univer-h-full univer-min-h-[300px] univer-flex-col",children:[(0,$Z.jsx)(Z9,{autoFocus:!0,value:n,placeholder:r.t("sheets-filter.panel.search-placeholder"),onChange:d}),(0,$Z.jsxs)("div",{"data-u-comp":"sheets-filter-panel",className:x7("univer-mt-2 univer-box-border univer-flex univer-flex-grow univer-flex-col univer-overflow-hidden univer-rounded-md univer-px-2 univer-py-2.5",V7),children:[(0,$Z.jsx)("div",{"data-u-comp":"sheets-filter-panel-values-item",className:"univer-box-border univer-h-8 univer-w-full univer-py-0.5",children:(0,$Z.jsxs)("div",{"data-u-comp":"sheets-filter-panel-values-item-inner",className:"univer-box-border univer-flex univer-h-7 univer-items-center univer-rounded-md univer-py-0 univer-pl-5 univer-pr-0.5 univer-text-sm",children:[(0,$Z.jsx)($7,{indeterminate:l,disabled:0===i.length,checked:s,onChange:c}),(0,$Z.jsx)("span",{"data-u-comp":"sheets-filter-panel-values-item-text",className:"univer-mx-1 univer-inline-block univer-flex-shrink univer-truncate univer-text-gray-900 dark:!univer-text-white",children:`${r.t("sheets-filter.panel.select-all")}`}),(0,$Z.jsx)("span",{"data-u-comp":"sheets-filter-panel-values-item-count",className:"univer-text-gray-400 dark:!univer-text-gray-500",children:`(${o.checked}/${o.checked+o.unchecked})`})]})}),(0,$Z.jsx)("div",{"data-u-comp":"sheets-filter-panel-values-virtual",className:"univer-flex-grow",children:(0,$Z.jsx)(x5,{data:i,defaultExpandAll:!1,valueGroup:function e(t){let r=[];return t.forEach(t=>{t.checked&&r.push(t.key),t.children&&(r=r.concat(e(t.children)))}),r}(i),onChange:e=>{t.onFilterCheckToggled(e)},defaultCache:u,itemHeight:28,treeNodeClassName:"\n univer-pr-2 univer-border-box univer-rounded-md\n [&:hover_a]:univer-inline-block\n hover:univer-bg-gray-50 univer-h-full\n univer-text-gray-900 dark:hover:!univer-bg-gray-900\n dark:!univer-text-white\n ",attachRender:e=>(0,$Z.jsxs)("div",{className:"univer-ml-1 univer-flex univer-h-5 univer-flex-1 univer-cursor-pointer univer-items-center univer-justify-between univer-text-sm univer-text-primary-500",children:[(0,$Z.jsx)("span",{"data-u-comp":"sheets-filter-panel-values-item-count",className:"univer-text-gray-400 dark:!univer-text-gray-500",children:`(${e.count})`}),(0,$Z.jsx)("a",{className:"univer-box-border univer-hidden univer-h-4 univer-whitespace-nowrap univer-px-1.5",onClick:()=>{let r=[];e.children?e.children.forEach(e=>{e.children?e.children.forEach(e=>{r.push(e.key)}):r.push(e.key)}):r.push(e.key),t.onFilterOnly(r)},children:a})]})})})]})]})}function n$e(){let e=iK(tKe);if(!aK(e.visible$,void 0,!0))return null;let t=iK(Cg),r=iK(C8),n=aK(e.enabled$,void 0,!0);return(0,$Z.jsxs)("div",{className:"univer-mt-2 univer-flex univer-items-center univer-justify-between univer-text-sm univer-text-gray-900 dark:!univer-text-gray-200",children:[(0,$Z.jsxs)("div",{className:"univer-flex univer-items-center univer-gap-1",children:[(0,$Z.jsx)("span",{children:t.t("sheets-filter.sync.title")}),(0,$Z.jsx)(J9,{title:n?t.t("sheets-filter.sync.statusTips.off"):t.t("sheets-filter.sync.statusTips.on"),asChild:!0,children:(0,$Z.jsx)(MZ,{className:"univer-block"})})]}),(0,$Z.jsx)(E5,{defaultChecked:n,onChange:n=>{let i=n?t.t("sheets-filter.sync.switchTips.on"):t.t("sheets-filter.sync.switchTips.off");e.setEnabled(n),r.show({content:i,type:o5.Success,duration:2e3})}})]})}function i$e(){var e;let t=iK(OKe),r=iK(Cg),n=iK(Vc),i=aK(t.filterBy$,void 0,!0),a=aK(t.filterByModel$,void 0,!1),o=aK(()=>(null==a?void 0:a.canApply$)||Ai(!1),void 0,!1,[a]),s=function(e){return(0,_q.useMemo)(()=>[{label:e.t("sheets-filter.panel.by-values"),value:mZe.VALUES},{label:e.t("sheets-filter.panel.by-colors"),value:mZe.COLORS},{label:e.t("sheets-filter.panel.by-conditions"),value:mZe.CONDITIONS}],[e.getCurrentLocale(),e])}(r),l=!aK(t.hasCriteria$),u=(0,_q.useCallback)(e=>{n.executeCommand(VKe.id,{filterBy:e})},[n]),c=(0,_q.useCallback)(async()=>{await(null==a?void 0:a.clear()),n.executeCommand(BKe.id)},[a,n]),d=(0,_q.useCallback)(()=>{n.executeCommand(BKe.id)},[n]),h=(0,_q.useCallback)(async()=>{await(null==a?void 0:a.apply()),n.executeCommand(BKe.id)},[a,n]),m=null==(e=iK(UZe).activeFilterModel)?void 0:e.getRange(),f=t.col,g=Ree(CDe.FILTER_PANEL_EMBED_POINT);return(0,$Z.jsxs)("div",{"data-u-comp":"sheets-filter-panel",className:"univer-box-border univer-flex univer-max-h-[500px] univer-w-[400px] univer-flex-col univer-rounded-lg univer-bg-white univer-p-4 univer-shadow-lg dark:!univer-border-gray-600 dark:!univer-bg-gray-700",children:[(0,$Z.jsx)(Iee,{components:g,sharedProps:{range:m,colIndex:f,onClose:d}}),(0,$Z.jsx)("div",{className:"univer-mb-1 univer-flex-shrink-0 univer-flex-grow-0",children:(0,$Z.jsx)($9,{value:i,items:s,onChange:e=>u(e)})}),a?(0,$Z.jsx)("div",{"data-u-comp":"sheets-filter-panel-content",className:"univer-flex-shrink univer-flex-grow univer-pt-2",children:i===mZe.VALUES?(0,$Z.jsx)(r$e,{model:a}):i===mZe.COLORS?(0,$Z.jsx)(JKe,{model:a}):(0,$Z.jsx)(t$e,{model:a})}):(0,$Z.jsx)("div",{className:"univer-flex-1"}),(0,$Z.jsx)(n$e,{}),(0,$Z.jsxs)("div",{"data-u-comp":"sheets-filter-panel-footer",className:"univer-mt-4 univer-inline-flex univer-flex-shrink-0 univer-flex-grow-0 univer-flex-nowrap univer-justify-between univer-overflow-hidden",children:[(0,$Z.jsx)(O7,{variant:"link",onClick:c,disabled:l,children:r.t("sheets-filter.panel.clear-filter")}),(0,$Z.jsxs)("span",{className:"univer-flex univer-gap-2",children:[(0,$Z.jsx)(O7,{variant:"default",onClick:d,children:r.t("sheets-filter.panel.cancel")}),(0,$Z.jsx)(O7,{disabled:!o,variant:"primary",onClick:h,children:r.t("sheets-filter.panel.confirm")})]})]})]})}const a$e={id:zZe.id,binding:x8.L|N8.CTRL_COMMAND|N8.SHIFT,description:"sheets-filter.shortcut.smart-toggle-filter",preconditions:jOe,group:"4_sheet-edit"},o$e="FILTER_PANEL_POPUP";let s$e=class extends ZKe{constructor(e,t,r,n,i,a,o,s,l,u,c,d,h){super(h,d),this._injector=e,this._componentManager=t,this._sheetsFilterPanelService=r,this._sheetCanvasPopupService=n,this._sheetsFilterService=i,this._localeService=a,this._shortcutService=o,this._commandService=s,this._menuManagerService=l,this._contextService=u,this._messageService=c,xKe(this,"_popupDisposable",void 0),this._initCommands(),this._initShortcuts(),this._initMenuItems(),this._initUI()}dispose(){super.dispose(),this._closeFilterPopup()}_initShortcuts(){[a$e].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}_initCommands(){[zZe,WZe,HZe,XZe,qZe,GZe,VKe,UKe,BKe].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initMenuItems(){this._menuManagerService.mergeMenu($Ke)}_initUI(){[[o$e,i$e],["FilterIcon",uKe]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))}),this.disposeWithMe(this._contextService.subscribeContextValue$(DKe).pipe(Zn()).subscribe(e=>{e?this._openFilterPopup():this._closeFilterPopup()})),this.disposeWithMe(this._sheetsFilterService.errorMsg$.subscribe(e=>{e&&this._messageService.show({type:o5.Error,content:this._localeService.t(e)})}))}_openFilterPopup(){let e=this._sheetsFilterPanelService.filterModel;if(!e)throw Error("[SheetsFilterUIController]: no filter model when opening filter popup!");let t=e.getRange(),r=this._sheetsFilterPanelService.col,{startRow:n}=t;this._popupDisposable=this._sheetCanvasPopupService.attachPopupToCell(n,r,{componentKey:o$e,direction:"horizontal",onClickOutside:()=>this._commandService.syncExecuteCommand(BKe.id),offset:[5,0]})}_closeFilterPopup(){var e;null==(e=this._popupDisposable)||e.dispose(),this._popupDisposable=null}};s$e=pKe([gKe(0,Y(he)),gKe(1,Y(W5)),gKe(2,Y(OKe)),gKe(3,Y(EVe)),gKe(4,Y(UZe)),gKe(5,Y(Cg)),gKe(6,U8),gKe(7,Vc),gKe(8,nee),gKe(9,Mc),gKe(10,C8),gKe(11,Y(_De)),gKe(12,kX)],s$e);let l$e=class extends Rg{constructor(e=WKe,t,r,n){super(),this._config=e,this._injector=t,this._configService=r,this._rpcChannelService=n;let{menu:i,...a}=hr({},WKe,this._config);i&&this._configService.setConfig("menu",i,{merge:!0}),this._configService.setConfig(HKe,a)}onStarting(){Ml(this._injector,[[OKe],[zKe],[s$e]]),this._config.useRemoteFilterValuesGenerator&&this._rpcChannelService&&this._injector.add([bKe,{useFactory:()=>Lde(this._rpcChannelService.requestChannel(vKe))}])}onReady(){Ol(this._injector,[[zKe]])}onRendered(){Ol(this._injector,[[s$e]])}};xKe(l$e,"type",Pi.UNIVER_SHEET),xKe(l$e,"pluginName","SHEET_FILTER_UI_PLUGIN"),xKe(l$e,"packageName",FKe),xKe(l$e,"version",jKe),l$e=pKe([Tg(nKe),gKe(1,Y(he)),gKe(2,Tc),gKe(3,G(Bde))],l$e);let u$e=class extends Rg{constructor(e,t,r){super(),this._config=e,this._injector=t,this._rpcChannelService=r}onStarting(){[[bKe,{useClass:CKe}]].forEach(e=>this._injector.add(e))}onReady(){this._rpcChannelService.registerChannel(vKe,Ode(this._injector.get(bKe)))}};function c$e(e,t){return function(r,n){t(r,n,e)}}xKe(u$e,"type",Pi.UNIVER_SHEET),xKe(u$e,"pluginName","SHEET_FILTER_UI_WORKER_PLUGIN"),xKe(u$e,"packageName",FKe),xKe(u$e,"version",jKe),u$e=pKe([gKe(1,Y(he)),gKe(2,Bde)],u$e);let d$e=class{constructor(e,t,r,n,i){this._workbook=e,this._worksheet=t,this._filterModel=r,this._injector=n,this._commandSrv=i}getFilteredOutRows(){return Array.from(this._filterModel.filteredOutRows).sort()}getColumnFilterCriteria(e){var t;return null==(t=this._filterModel.getFilterColumn(e))?void 0:t.getColumnData()}removeColumnFilterCriteria(e){return this._commandSrv.syncExecuteCommand(XZe.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),col:e,criteria:null}),this}setColumnFilterCriteria(e,t){return this._commandSrv.syncExecuteCommand(XZe.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),col:e,criteria:t}),this}getRange(){let e=this._filterModel.getRange();return this._injector.createInstance(mqe,this._workbook,this._worksheet,e)}removeFilterCriteria(){return this._commandSrv.syncExecuteCommand(qZe.id),this}remove(){return this._commandSrv.syncExecuteCommand(WZe.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()})}};function h$e(e={}){const{enableSyncSwitch:t}=e;return{plugins:[[nKe,{enableSyncSwitch:t}],l$e].filter(e=>!!e)}}d$e=function(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}([c$e(3,Y(he)),c$e(4,Vc)],d$e),mqe.extend(class extends mqe{createFilter(){return this._getFilterModel()||!this._commandService.syncExecuteCommand(HZe.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range})?null:this.getFilter()}getFilter(){let e=this._getFilterModel();return e?this._injector.createInstance(d$e,this._workbook,this._worksheet,e):null}_getFilterModel(){return this._injector.get(UZe).getFilterModel(this._workbook.getUnitId(),this._worksheet.getSheetId())}}),cqe.extend(class extends cqe{getFilter(){let e=this._getFilterModel();return e?this._injector.createInstance(d$e,this._workbook,this._worksheet,e):null}_getFilterModel(){return this._injector.get(UZe).getFilterModel(this._workbook.getUnitId(),this._worksheet.getSheetId())}}),dp.extend(class{get CustomFilterOperator(){return fZe}}),hp.extend(class extends hp{get SheetBeforeRangeFilter(){return"SheetBeforeRangeFilter"}get SheetRangeFiltered(){return"SheetRangeFiltered"}get SheetRangeFilterCleared(){return"SheetRangeFilterCleared"}get SheetBeforeRangeFilterClear(){return"SheetBeforeRangeFilterClear"}}),hp.extend(pqe),yp.extend(class extends yp{_initialize(e){let t=e.get(Vc);this.disposeWithMe(this.registerEventHandler(this.Event.SheetBeforeRangeFilter,()=>t.beforeCommandExecuted(e=>{e.id===XZe.id&&this._beforeRangeFilter(e)}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetBeforeRangeFilterClear,()=>t.beforeCommandExecuted(e=>{e.id===qZe.id&&this._beforeRangeFilterClear()}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetRangeFiltered,()=>t.onCommandExecuted(e=>{e.id===XZe.id&&this._onRangeFiltered(e)}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetRangeFilterCleared,()=>t.onCommandExecuted(e=>{e.id===qZe.id&&this._onRangeFilterCleared()})))}_beforeRangeFilter(e){let t=e.params,r=this.getUniverSheet(t.unitId),n={workbook:r,worksheet:r.getSheetBySheetId(t.subUnitId),col:t.col,criteria:t.criteria};if(this.fireEvent(this.Event.SheetBeforeRangeFilter,n),n.cancel)throw Error("SetSheetsFilterCriteriaCommand canceled.")}_onRangeFiltered(e){let t=e.params,r=this.getUniverSheet(t.unitId),n={workbook:r,worksheet:r.getSheetBySheetId(t.subUnitId),col:t.col,criteria:t.criteria};this.fireEvent(this.Event.SheetRangeFiltered,n)}_beforeRangeFilterClear(){let e=this.getActiveWorkbook();if(!e)return;let t={workbook:e,worksheet:e.getActiveSheet()};if(this.fireEvent(this.Event.SheetBeforeRangeFilterClear,t),t.cancel)throw Error("SetSheetsFilterCriteriaCommand canceled.")}_onRangeFilterCleared(){let e=this.getActiveWorkbook();if(!e)return;let t={workbook:e,worksheet:e.getActiveSheet()};this.fireEvent(this.Event.SheetRangeFilterCleared,t)}});let m$e=function(e){return e.DESC="desc",e.ASC="asc",e}({}),f$e=function(e){return e[e.POSITIVE=1]="POSITIVE",e[e.NEGATIVE=-1]="NEGATIVE",e[e.ZERO=0]="ZERO",e}({});const g$e=e=>e.replace(/-/gi,"").replace(/'/gi,""),p$e=(e,t)=>{let r=null===e||""===e,n=null===t||""===t;return r&&n?f$e.ZERO:r?f$e.POSITIVE:n?f$e.NEGATIVE:null},v$e=(e,t,r)=>{let n="number"==typeof e,i="number"==typeof t;return n&&i?et?r===m$e.ASC?f$e.POSITIVE:f$e.NEGATIVE:f$e.ZERO:n?r===m$e.ASC?f$e.POSITIVE:f$e.NEGATIVE:i?r===m$e.ASC?f$e.NEGATIVE:f$e.POSITIVE:null},b$e=(e,t,r)=>{let n="string"==typeof e,i="string"==typeof t;if(n&&(e=g$e(e.toLocaleLowerCase())),i&&(t=g$e(t.toLocaleLowerCase())),!n&&!i)return null;if(n&&i){let n=e,i=t;return ni?r===m$e.ASC?f$e.POSITIVE:f$e.NEGATIVE:f$e.ZERO}return n?r===m$e.ASC?f$e.POSITIVE:f$e.NEGATIVE:i?r===m$e.ASC?f$e.NEGATIVE:f$e.POSITIVE:null},C$e=e=>!e||0===Object.keys(e).length||null==(null==e?void 0:e.v)&&null==(null==e?void 0:e.p);function y$e(e){return y$e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},y$e(e)}function _$e(e,t,r){return(t=function(e){var t=function(e){if("object"!=y$e(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=y$e(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==y$e(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function w$e(e,t){return function(r,n){t(r,n,e)}}function E$e(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}let S$e=class extends tu{constructor(e,t,r){super(),this._univerInstanceService=e,this._commandService=t,this._formulaDataModel=r,_$e(this,"_compareFns",[])}mergeCheck(e){var t;let{unitId:r,subUnitId:n,range:i}=e,a=null==(t=this._univerInstanceService.getUnit(r))?void 0:t.getSheetBySheetId(n);if(!a)return!1;let o=a.getMergeData().filter(e=>Oh.contains(i,e));return 0===o.length||function(e,t){let r=null,n=null,i=(e.endRow-e.startRow+1)*(e.endColumn-e.startColumn+1),a=0;for(let i of t)if(i.startRow>=e.startRow&&i.endRow<=e.endRow&&i.startColumn>=e.startColumn&&i.endColumn<=e.endColumn){let e=i.endRow-i.startRow+1,t=i.endColumn-i.startColumn+1;if(null===r&&null===n)r=e,n=t;else if(e!==r||t!==n)return!1;a+=e*t}return a===i}(i,o)}emptyCheck(e){var t;let{unitId:r,subUnitId:n,range:i}=e,a=null==(t=this._univerInstanceService.getUnit(r))?void 0:t.getSheetBySheetId(n);if(!a)return!1;for(let e=i.startRow;e<=i.endRow;e++)for(let t=i.startColumn;t<=i.endColumn;t++)if(!C$e(a.getCellRaw(e,t)))return!0;return!1}singleCheck(e){return e.range.startRow!==e.range.endRow}formulaCheck(e){var t;let{unitId:r,subUnitId:n,range:i}=e,a=null==(t=this._formulaDataModel.getArrayFormulaRange())||null==(t=t[r])?void 0:t[n];for(let e in a){let t=a[Number(e)];for(let e in t){let r=t[Number(e)];if(r&&Oh.intersects(i,r))return!1}}return!0}registerCompareFn(e){this._compareFns.unshift(e)}getAllCompareFns(){return this._compareFns}applySort(e,t,r){var n;let{unitId:i,subUnitId:a}=W_e(this._univerInstanceService)||{};this._commandService.executeCommand(A$e.id,{orderRules:e.orderRules,range:e.range,hasTitle:null!=(n=e.hasTitle)&&n,unitId:t||i,subUnitId:r||a})}};S$e=E$e([w$e(0,dg),w$e(1,Vc),w$e(2,Y(jfe))],S$e);const A$e={id:"sheet.command.sort-range",type:Bc.COMMAND,handler:(e,t)=>{let{range:r,orderRules:n,hasTitle:i,unitId:a,subUnitId:o}=t,s=e.get(S$e),{worksheet:l}=W_e(e.get(dg),t)||{};if(!l)return!1;let u=l.getMergeData().filter(e=>Oh.contains(r,e)),c=u.map(e=>e.startRow),{startRow:d,endRow:h}=r,m=[],f=[];for(let e=i?d+1:d;e<=h;e++)l.getRowFiltered(e)||!1!==l.getRowRawVisible(e)&&(u.length&&!c.includes(e)||(m.push({index:e,value:I$e(l,e,n)}),f.push(e)));let g=s.getAllCompareFns();m.sort(function(e,t){return function(r,n){let i=null;for(let a=0;a{for(let i=0;i{p[f[r]]=e}),zc([{id:rIe.id,params:{unitId:a,subUnitId:o,range:r,order:p}}],e.get(Vc)).result}};function I$e(e,t,r){let n=[];return r.forEach(({colIndex:r})=>{n.push(e.getCellRaw(t,r))}),n}const R$e="sheets-sort.config";Symbol(R$e);const x$e={};let T$e=class extends tu{constructor(e,t){super(),this._commandService=e,this._sortService=t,this._initCommands(),this._registerCompareFns()}_initCommands(){[A$e].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e)))}_registerCompareFns(){this._sortService.registerCompareFn((e,t,r)=>{let n=this._getCommonValue(t),i=this._getCommonValue(r),a=[p$e,b$e,v$e];for(let t=0;tthis._injector.add(e))}onReady(){this._injector.get(T$e)}};_$e(N$e,"type",Pi.UNIVER_SHEET),_$e(N$e,"pluginName","SHEET_SORT_PLUGIN"),_$e(N$e,"packageName","@univerjs/sheets-sort"),_$e(N$e,"version","0.19.0"),N$e=E$e([Tg(ZNe,m_e),w$e(1,Y(he)),w$e(2,Tc)],N$e);const M$e={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M6 5C6.55228 5 7 4.55228 7 4C7 3.44772 6.55228 3 6 3C5.44772 3 5 3.44772 5 4C5 4.55228 5.44772 5 6 5Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M6 9C6.55228 9 7 8.55229 7 8C7 7.44772 6.55228 7 6 7C5.44772 7 5 7.44772 5 8C5 8.55229 5.44772 9 6 9Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M7 12C7 12.5523 6.55228 13 6 13C5.44772 13 5 12.5523 5 12C5 11.4477 5.44772 11 6 11C6.55228 11 7 11.4477 7 12Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M10 5C10.5523 5 11 4.55228 11 4C11 3.44772 10.5523 3 10 3C9.44771 3 9 3.44772 9 4C9 4.55228 9.44771 5 10 5Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M11 8C11 8.55229 10.5523 9 10 9C9.44771 9 9 8.55229 9 8C9 7.44772 9.44771 7 10 7C10.5523 7 11 7.44772 11 8Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M10 13C10.5523 13 11 12.5523 11 12C11 11.4477 10.5523 11 10 11C9.44771 11 9 11.4477 9 12C9 12.5523 9.44771 13 10 13Z"}}]},O$e=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"sequence-icon",ref:t,icon:M$e}))});O$e.displayName="SequenceIcon";const L$e={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M5.3313 1.4667C5.3313 1.13533 5.59993 0.866699 5.9313 0.866699H10.069C10.4004 0.866699 10.669 1.13533 10.669 1.4667C10.669 1.79807 10.4004 2.0667 10.069 2.0667H5.9313C5.59993 2.0667 5.3313 1.79807 5.3313 1.4667Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.09985 3.64443C1.09985 3.31306 1.36848 3.04443 1.69985 3.04443H14.2999C14.6312 3.04443 14.8999 3.31306 14.8999 3.64443C14.8999 3.9758 14.6312 4.24443 14.2999 4.24443H1.69985C1.36848 4.24443 1.09985 3.9758 1.09985 3.64443Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M4.75332 5.22217C3.86966 5.22217 3.15332 5.93851 3.15332 6.82217V13.1332C3.15332 14.2377 4.04875 15.1332 5.15332 15.1332H10.8465C11.9511 15.1332 12.8465 14.2377 12.8465 13.1331V6.82217C12.8465 5.93851 12.1302 5.22217 11.2465 5.22217H4.75332ZM4.35332 6.82217C4.35332 6.60125 4.53241 6.42217 4.75332 6.42217H11.2465C11.4674 6.42217 11.6465 6.60125 11.6465 6.82217V13.1331C11.6465 13.575 11.2884 13.9331 10.8465 13.9331H5.15332C4.71149 13.9331 4.35332 13.575 4.35332 13.1332V6.82217Z",fillRule:"evenodd",clipRule:"evenodd"}}]},k$e=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"delete-empty-icon",ref:t,icon:L$e}))});k$e.displayName="DeleteEmptyIcon";const P$e={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M12.4208 14.4667C12.4208 14.798 12.1522 15.0667 11.8208 15.0667C11.4895 15.0667 11.2208 14.798 11.2208 14.4667V2.98193L9.97861 4.22417C9.7443 4.45848 9.3644 4.45848 9.13008 4.22417C8.89577 3.98985 8.89577 3.60995 9.13008 3.37564L11.3967 1.10897C11.6311 0.874657 12.011 0.874657 12.2453 1.10897L14.5119 3.37564C14.7463 3.60995 14.7463 3.98985 14.5119 4.22417C14.2776 4.45848 13.8977 4.45848 13.6634 4.22417L12.4208 2.9816V14.4667Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.98967 10.2798C1.6583 10.2798 1.38967 10.0112 1.38967 9.67983C1.38967 9.34846 1.6583 9.07983 1.98967 9.07983H6.50138C6.74406 9.07983 6.96284 9.22602 7.05571 9.45022C7.14858 9.67443 7.09725 9.9325 6.92565 10.1041L3.43819 13.5916H6.50138C6.83276 13.5916 7.10138 13.8602 7.10138 14.1916C7.10138 14.5229 6.83276 14.7916 6.50138 14.7916H1.98967C1.74699 14.7916 1.52821 14.6454 1.43534 14.4212C1.34247 14.197 1.3938 13.9389 1.5654 13.7673L5.05286 10.2798H1.98967Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M5.1846 1.86439C4.8641 0.989866 3.62725 0.989866 3.30674 1.86439L1.34882 7.20672C1.23479 7.51786 1.39458 7.86252 1.70571 7.97655C2.01684 8.09058 2.3615 7.93079 2.47553 7.61966L3.06159 6.02055L3.06338 6.02056H5.42975L6.01581 7.61966C6.12984 7.93079 6.4745 8.09058 6.78563 7.97655C7.09677 7.86252 7.25655 7.51786 7.14252 7.20672L5.1846 1.86439ZM4.98996 4.82056L4.24567 2.78971L3.50138 4.82056H4.98996Z",fillRule:"evenodd",clipRule:"evenodd"}}]},D$e=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"ascending-icon",ref:t,icon:P$e}))});D$e.displayName="AscendingIcon";const U$e={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M12.4208 1.53335C12.4208 1.20198 12.1522 0.93335 11.8208 0.93335C11.4895 0.93335 11.2208 1.20198 11.2208 1.53335V13.0181L9.97861 11.7758C9.7443 11.5415 9.3644 11.5415 9.13008 11.7758C8.89577 12.0101 8.89577 12.39 9.13008 12.6244L11.3967 14.891C11.6311 15.1253 12.011 15.1253 12.2453 14.891L14.5119 12.6244C14.7463 12.39 14.7463 12.0101 14.5119 11.7758C14.2776 11.5415 13.8977 11.5415 13.6634 11.7758L12.4208 13.0184V1.53335Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.98967 10.2798C1.6583 10.2798 1.38967 10.0112 1.38967 9.67983C1.38967 9.34846 1.6583 9.07983 1.98967 9.07983H6.50138C6.74406 9.07983 6.96284 9.22602 7.05571 9.45022C7.14858 9.67443 7.09725 9.9325 6.92565 10.1041L3.43819 13.5916H6.50138C6.83276 13.5916 7.10138 13.8602 7.10138 14.1916C7.10138 14.5229 6.83276 14.7916 6.50138 14.7916H1.98967C1.74699 14.7916 1.52821 14.6454 1.43534 14.4212C1.34247 14.197 1.3938 13.9389 1.5654 13.7673L5.05286 10.2798H1.98967Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M5.1846 1.86439C4.8641 0.989866 3.62725 0.989866 3.30674 1.86439L1.34882 7.20672C1.23479 7.51786 1.39458 7.86252 1.70571 7.97655C2.01684 8.09058 2.3615 7.93079 2.47553 7.61966L3.06159 6.02055L3.06338 6.02056H5.42975L6.01581 7.61966C6.12984 7.93079 6.4745 8.09058 6.78563 7.97655C7.09677 7.86252 7.25655 7.51786 7.14252 7.20672L5.1846 1.86439ZM4.98996 4.82056L4.24567 2.78971L3.50138 4.82056H4.98996Z",fillRule:"evenodd",clipRule:"evenodd"}}]},B$e=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"descending-icon",ref:t,icon:U$e}))});B$e.displayName="DescendingIcon";const V$e={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.9064 3.20024C1.57503 3.20024 1.3064 2.93161 1.3064 2.60024C1.3064 2.26887 1.57503 2.00024 1.9064 2.00024H4.57306C4.90443 2.00024 5.17306 2.26887 5.17306 2.60024C5.17306 2.93161 4.90443 3.20024 4.57306 3.20024H1.9064ZM1.3064 6.19985C1.3064 6.53122 1.57503 6.79985 1.9064 6.79985H5.9064C6.23777 6.79985 6.5064 6.53122 6.5064 6.19985C6.5064 5.86848 6.23777 5.59985 5.9064 5.59985H1.9064C1.57503 5.59985 1.3064 5.86848 1.3064 6.19985ZM1.9064 10.3997C1.57503 10.3997 1.3064 10.1311 1.3064 9.79971C1.3064 9.46834 1.57503 9.19971 1.9064 9.19971H7.23973C7.5711 9.19971 7.83973 9.46834 7.83973 9.79971C7.83973 10.1311 7.5711 10.3997 7.23973 10.3997H1.9064ZM1.9064 13.9996C1.57503 13.9996 1.3064 13.7309 1.3064 13.3996C1.3064 13.0682 1.57503 12.7996 1.9064 12.7996H8.57306C8.90443 12.7996 9.17306 13.0682 9.17306 13.3996C9.17306 13.7309 8.90443 13.9996 8.57306 13.9996H1.9064Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M12.4267 14.2667C12.4267 14.5981 12.1581 14.8667 11.8267 14.8667C11.4953 14.8667 11.2267 14.5981 11.2267 14.2667V3.18198L9.98447 4.42422C9.75015 4.65853 9.37026 4.65853 9.13594 4.42422C8.90163 4.1899 8.90163 3.81 9.13594 3.57569L11.4026 1.30902C11.6369 1.07471 12.0168 1.07471 12.2511 1.30902L14.5178 3.57569C14.7521 3.81 14.7521 4.1899 14.5178 4.42422C14.2835 4.65853 13.9036 4.65853 13.6693 4.42422L12.4267 3.18165V14.2667Z"}}]},F$e=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"expand-ascending-icon",ref:t,icon:V$e}))});F$e.displayName="ExpandAscendingIcon";const j$e={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.9064 12.7998C1.57503 12.7998 1.3064 13.0684 1.3064 13.3998C1.3064 13.7311 1.57503 13.9998 1.9064 13.9998H4.57306C4.90443 13.9998 5.17306 13.7311 5.17306 13.3998C5.17306 13.0684 4.90443 12.7998 4.57306 12.7998H1.9064ZM1.3064 9.80015C1.3064 9.46878 1.57503 9.20015 1.9064 9.20015H5.9064C6.23777 9.20015 6.5064 9.46878 6.5064 9.80015C6.5064 10.1315 6.23777 10.4001 5.9064 10.4001H1.9064C1.57503 10.4001 1.3064 10.1315 1.3064 9.80015ZM1.9064 5.60029C1.57503 5.60029 1.3064 5.86892 1.3064 6.20029C1.3064 6.53166 1.57503 6.80029 1.9064 6.80029H7.23973C7.5711 6.80029 7.83973 6.53166 7.83973 6.20029C7.83973 5.86892 7.5711 5.60029 7.23973 5.60029H1.9064ZM1.9064 2.00044C1.57503 2.00044 1.3064 2.26907 1.3064 2.60044C1.3064 2.93181 1.57503 3.20044 1.9064 3.20044H8.57306C8.90443 3.20044 9.17306 2.93181 9.17306 2.60044C9.17306 2.26907 8.90443 2.00044 8.57306 2.00044H1.9064Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M12.4267 1.7333C12.4267 1.40193 12.1581 1.1333 11.8267 1.1333C11.4953 1.1333 11.2267 1.40193 11.2267 1.7333V12.818L9.98447 11.5758C9.75015 11.3415 9.37026 11.3415 9.13594 11.5758C8.90163 11.8101 8.90163 12.19 9.13594 12.4243L11.4026 14.691C11.6369 14.9253 12.0168 14.9253 12.2511 14.691L14.5178 12.4243C14.7521 12.19 14.7521 11.8101 14.5178 11.5758C14.2835 11.3415 13.9036 11.3415 13.6693 11.5758L12.4267 12.8183V1.7333Z"}}]},H$e=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"expand-descending-icon",ref:t,icon:j$e}))});H$e.displayName="ExpandDescendingIcon";const W$e={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M9.77445 9.24306L9.77457 11.9573C9.77458 12.2887 9.50597 12.5574 9.17459 12.5574C8.84322 12.5574 8.57458 12.2888 8.57457 11.9574L8.57439 7.79509C8.57438 7.46372 8.84299 7.19508 9.17436 7.19507C9.3281 7.19493 9.48196 7.25351 9.59925 7.3708L11.3465 9.11808C11.5808 9.3524 11.5808 9.7323 11.3465 9.96661C11.1122 10.2009 10.7323 10.2009 10.498 9.96661L9.77445 9.24306Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M6.22584 10.5094L6.22572 7.79514C6.22571 7.46377 6.49433 7.19513 6.8257 7.19512C7.15707 7.1951 7.42571 7.46372 7.42572 7.79509L7.4259 11.9574C7.42592 12.2888 7.1573 12.5574 6.82593 12.5574C6.67228 12.5575 6.51828 12.4989 6.40104 12.3817L4.65376 10.6344C4.41945 10.4001 4.41945 10.0202 4.65376 9.78588C4.88808 9.55156 5.26798 9.55156 5.50229 9.78588L6.22584 10.5094Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.14014 3.73989C1.14014 2.30396 2.3042 1.13989 3.74014 1.13989H12.2601C13.6961 1.13989 14.8601 2.30395 14.8601 3.73989V12.2599C14.8601 13.6958 13.6961 14.8599 12.2601 14.8599H3.74014C2.3042 14.8599 1.14014 13.6958 1.14014 12.2599V3.73989ZM2.34014 5.86724V12.2599C2.34014 13.0331 2.96694 13.6599 3.74014 13.6599H12.2601C13.0333 13.6599 13.6601 13.0331 13.6601 12.2599V5.86724H2.34014ZM13.6601 4.66724H2.34014V3.73989C2.34014 2.9667 2.96694 2.33989 3.74014 2.33989H12.2601C13.0333 2.33989 13.6601 2.96669 13.6601 3.73989V4.66724Z",fillRule:"evenodd",clipRule:"evenodd"}}]},z$e=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"custom-sort-icon",ref:t,icon:W$e}))});z$e.displayName="CustomSortIcon";const X$e=e=>{let[t,r]=(0,_q.useState)("0"),n=iK(Cg);return(0,$Z.jsxs)("div",{className:"univer-text-sm",children:[(0,$Z.jsx)("div",{className:"extend-confirm-desc",children:n.t("sheets-sort.dialog.sort-reminder-desc")}),(0,$Z.jsxs)(v5,{className:"univer-mt-4",value:t,direction:"vertical",onChange:t=>{r(t),e.onChange(t)},children:[(0,$Z.jsx)(b5,{value:"0",children:n.t("sheets-sort.dialog.sort-reminder-no")}),(0,$Z.jsx)(b5,{value:"1",children:n.t("sheets-sort.dialog.sort-reminder-ext")})]})]})};function q$e(e){return q$e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},q$e(e)}function G$e(e,t,r){return(t=function(e){var t=function(e){if("object"!=q$e(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=q$e(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==q$e(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Y$e(e,t){return function(r,n){t(r,n,e)}}function Q$e(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}let Z$e=function(e){return e.KEEP="keep",e.EXTEND="extend",e.CANCEL="cancel",e}({});const K$e="sheets-sort.error.merge-size",$$e="sheets-sort.error.empty",J$e="sheets-sort.error.single",eJe="sheets-sort.error.formula-array";let tJe=class extends tu{constructor(e,t,r,n,i,a){super(),this._univerInstanceService=e,this._confirmService=t,this._selectionManagerService=r,this._sheetsSortService=n,this._localeService=i,this._commandService=a,G$e(this,"_customSortState$",new Qn(null)),G$e(this,"customSortState$",this._customSortState$.asObservable())}async triggerSortDirectly(e,t,r){let n=r||await this._detectSortLocation(t);if(!n||!this._check(n))return!1;let i={orderRules:[{type:e?m$e.ASC:m$e.DESC,colIndex:n.colIndex}],range:n.range};return this._sheetsSortService.applySort(i,n.unitId,n.subUnitId),!0}async triggerSortCustomize(){let e=await this._detectSortLocation();return!(!e||!this._check(e)||(this.showCustomSortPanel(e),0))}customSortState(){return this._customSortState$.getValue()}getTitles(e){var t,r;let n=null==(t=this.customSortState())?void 0:t.location;if(!n)return[];let{unitId:i,subUnitId:a,range:o}=n,s=null==(r=this._univerInstanceService.getUnit(i))?void 0:r.getSheetBySheetId(a);if(!s)return[];let l=function(e){return t=>{let r=uu.chatAtABC(t);switch(e.getCurrentLocale()){case Iu.ZH_CN:return`"${r}"列`;case Iu.EN_US:default:return`Column "${r}"`}}}(this._localeService);return Array.from({length:o.endColumn-o.startColumn+1},(t,r)=>{var n;let i=null==(n=s.getCell(o.startRow,r+o.startColumn))?void 0:n.v;return{index:r+o.startColumn,label:e?`${null==i?l(r+o.startColumn):i}`:l(r+o.startColumn)}})}setSelection(e,t,r){var n;let i=null==(n=this._univerInstanceService.getUnit(e))?void 0:n.getSheetBySheetId(t);if(!i)return;let a={unitId:e,subUnitId:t,selections:[{range:r,primary:cSe(r,i),style:null}]};this._commandService.executeCommand(vSe.id,a)}async showCheckError(e){return await this._confirmService.confirm({id:"sort-range-check-error",title:{title:this._localeService.t("info.tooltip")},children:{title:(0,$Z.jsx)("div",{children:this._localeService.t(e)})},cancelText:this._localeService.t("sheets-sort.dialog.cancel"),confirmText:this._localeService.t("sheets-sort.dialog.confirm")})}async showExtendConfirm(){let e=!1;return await this._confirmService.confirm({id:"extend-sort-range-dialog",title:{title:this._localeService.t("sheets-sort.dialog.sort-reminder")},children:{title:(0,$Z.jsx)(X$e,{onChange:t=>{e="1"===t}})},width:400,cancelText:this._localeService.t("sheets-sort.dialog.cancel"),confirmText:this._localeService.t("sheets-sort.dialog.confirm")})?e?Z$e.EXTEND:Z$e.KEEP:Z$e.CANCEL}showCustomSortPanel(e){this._customSortState$.next({location:e,show:!0})}closeCustomSortPanel(){this._customSortState$.next({show:!1})}_check(e){return this._sheetsSortService.singleCheck(e)?this._sheetsSortService.mergeCheck(e)?this._sheetsSortService.formulaCheck(e)?!!this._sheetsSortService.emptyCheck(e)||(this.showCheckError($$e),!1):(this.showCheckError(eJe),!1):(this.showCheckError(K$e),!1):(this.showCheckError(J$e),!1)}async _detectSortLocation(e){let t,r=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET),n=r.getActiveSheet(),i=r.getUnitId(),a=n.getSheetId(),o=this._selectionManagerService.getCurrentLastSelection();if(!o)return null;if(!0===e)t=IEe(o.range,{up:!0,down:!0,left:!0,right:!0},n),this.setSelection(i,a,t);else if(!1===e)t=o.range;else{let e=await this.showExtendConfirm();if(e===Z$e.CANCEL)return null;e===Z$e.KEEP?t=o.range:(t=IEe(o.range,{up:!0,down:!0,left:!0,right:!0},n),this.setSelection(i,a,t))}return{range:t,unitId:i,subUnitId:a,colIndex:o.primary.actualColumn}}};tJe=Q$e([Y$e(0,dg),Y$e(1,bf),Y$e(2,Y(rSe)),Y$e(3,Y(S$e)),Y$e(4,Y(Cg)),Y$e(5,Vc)],tJe);const rJe={id:"sheet.command.sort-range-asc",type:Bc.COMMAND,handler:async e=>await e.get(tJe).triggerSortDirectly(!0,!1)},nJe={id:"sheet.command.sort-range-asc-ext",type:Bc.COMMAND,handler:async e=>await e.get(tJe).triggerSortDirectly(!0,!0)},iJe={id:"sheet.command.sort-range-desc",type:Bc.COMMAND,handler:async e=>await e.get(tJe).triggerSortDirectly(!1,!1)},aJe={id:"sheet.command.sort-range-desc-ext",type:Bc.COMMAND,handler:async e=>await e.get(tJe).triggerSortDirectly(!1,!0)},oJe={id:"sheet.command.sort-range-custom",type:Bc.COMMAND,handler:async e=>await e.get(tJe).triggerSortCustomize()},sJe={id:"sheet.command.sort-range-asc-ctx",type:Bc.COMMAND,handler:async e=>await e.get(tJe).triggerSortDirectly(!0,!1)},lJe={id:"sheet.command.sort-range-asc-ext-ctx",type:Bc.COMMAND,handler:async e=>await e.get(tJe).triggerSortDirectly(!0,!0)},uJe={id:"sheet.command.sort-range-desc-ctx",type:Bc.COMMAND,handler:async e=>await e.get(tJe).triggerSortDirectly(!1,!1)},cJe={id:"sheet.command.sort-range-desc-ext-ctx",type:Bc.COMMAND,handler:async e=>await e.get(tJe).triggerSortDirectly(!1,!0)},dJe={id:"sheet.command.sort-range-custom-ctx",type:Bc.COMMAND,handler:async e=>await e.get(tJe).triggerSortCustomize()},hJe="sheets-sort-ui.config";Symbol(hJe);const mJe={},fJe="sheet.menu.sheets-sort",gJe="sheet.menu.sheets-sort-ctx",pJe="AscendingIcon",vJe="ExpandAscendingIcon",bJe="DescendingIcon",CJe="ExpandDescendingIcon",yJe="CustomSortIcon",_Je={[$8.ORGANIZATION]:{[fJe]:{order:3,menuItemFactory:function(e){return{id:fJe,type:lee.SUBITEMS,icon:pJe,tooltip:"sheets-sort.general.sort",hidden$:X5(e,Pi.UNIVER_SHEET),disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[dAe,JSe],rangeTypes:[SSe]})}},[rJe.id]:{order:0,menuItemFactory:function(e){return{id:rJe.id,icon:pJe,title:"sheets-sort.general.sort-asc-cur",type:lee.BUTTON,hidden$:hBe(e)}}},[nJe.id]:{order:1,menuItemFactory:function(e){return{id:nJe.id,title:"sheets-sort.general.sort-asc-ext",icon:vJe,type:lee.BUTTON}}},[iJe.id]:{order:2,menuItemFactory:function(e){return{id:iJe.id,title:"sheets-sort.general.sort-desc-cur",icon:bJe,type:lee.BUTTON}}},[aJe.id]:{order:3,menuItemFactory:function(e){return{id:aJe.id,title:"sheets-sort.general.sort-desc-ext",icon:CJe,type:lee.BUTTON}}},[oJe.id]:{order:4,menuItemFactory:function(e){return{id:oJe.id,title:"sheets-sort.general.sort-custom",type:lee.BUTTON,icon:yJe}}}}},[tee.MAIN_AREA]:{[ree.DATA]:{[gJe]:{order:0,menuItemFactory:function(e){return{id:gJe,title:"sheets-sort.general.sort",type:lee.SUBITEMS,icon:pJe,hidden$:X5(e,Pi.UNIVER_SHEET),disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[dAe,JSe],rangeTypes:[SSe]})}},[sJe.id]:{order:0,menuItemFactory:function(e){return{id:sJe.id,title:"sheets-sort.general.sort-asc-cur",type:lee.BUTTON,icon:pJe,disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[dAe,JSe],rangeTypes:[SSe]})}}},[lJe.id]:{order:1,menuItemFactory:function(e){return{id:lJe.id,title:"sheets-sort.general.sort-asc-ext",type:lee.BUTTON,icon:vJe,disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[dAe,JSe],rangeTypes:[SSe]})}}},[uJe.id]:{order:2,menuItemFactory:function(e){return{id:uJe.id,title:"sheets-sort.general.sort-desc-cur",type:lee.BUTTON,icon:bJe,disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[dAe,JSe],rangeTypes:[SSe]})}}},[cJe.id]:{order:3,menuItemFactory:function(e){return{id:cJe.id,title:"sheets-sort.general.sort-desc-ext",type:lee.BUTTON,icon:CJe,disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[dAe,JSe],rangeTypes:[SSe]})}}},[dJe.id]:{order:4,menuItemFactory:function(e){return{id:dJe.id,title:"sheets-sort.general.sort-custom",type:lee.BUTTON,icon:yJe,disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[dAe,JSe],rangeTypes:[SSe]})}}}}}}};function wJe(){let e=aK(iK(tJe).customSortState$);return e&&e.location?(0,$Z.jsx)(EJe,{state:e}):null}function EJe({state:e}){let t=iK(S$e),r=iK(Cg),n=iK(tJe),[i,a]=(0,_q.useState)(!1),[o,s]=(0,_q.useState)(0),l=(0,_q.useRef)(null),{range:u,unitId:c,subUnitId:d}=e.location,h=n.getTitles(i),[m,f]=(0,_q.useState)([{type:m$e.ASC,colIndex:u.startColumn}]),g=(0,_q.useCallback)((e,t)=>{let r=[...m];null===t?r.splice(e,1):r[e]=t,f(r)},[m]),p=(0,_q.useCallback)(Dl(()=>{let e=[...m],t=function(e,t){let{startColumn:r,endColumn:n}=e,i=new Set(t.map(e=>null==e?void 0:e.colIndex));for(let e=r;e<=n;e++)if(!i.has(e))return e;return null}(u,m);null!==t&&(e.push({type:m$e.ASC,colIndex:t}),f(e))},200),[m,u]),v=(0,_q.useCallback)((e,r)=>{t.applySort({range:u,orderRules:e,hasTitle:r}),n.closeCustomSortPanel()},[t,n,u]),b=(0,_q.useCallback)(()=>{n.closeCustomSortPanel()},[n]),C=(0,_q.useCallback)(e=>{a(e),e?n.setSelection(c,d,{...u,startRow:u.startRow+1}):n.setSelection(c,d,u)},[n,u,d,c]);(0,_q.useEffect)(()=>{l.current&&m.length>5&&(l.current.scrollTop=l.current.scrollHeight)},[m]);let y=m.length({...e,id:`${e.colIndex}`}));return(0,$Z.jsxs)("div",{children:[(0,$Z.jsxs)("div",{onMouseDown:e=>{e.stopPropagation()},children:[(0,$Z.jsxs)("div",{className:"univer-mb-2 univer-flex univer-items-center univer-justify-between",children:[(0,$Z.jsx)($7,{checked:i,onChange:e=>C(!!e),children:r.t("sheets-sort.dialog.first-row-check")}),y?(0,$Z.jsxs)("div",{className:"univer-flex univer-cursor-pointer univer-select-none univer-items-center univer-text-base",onClick:p,children:[(0,$Z.jsx)(EY,{}),(0,$Z.jsx)("span",{className:"univer-ml-1.5",children:r.t("sheets-sort.dialog.add-condition")})]}):(0,$Z.jsxs)("div",{className:"univer-flex univer-cursor-pointer univer-select-none univer-items-center univer-text-base univer-text-primary-500 disabled:univer-cursor-not-allowed disabled:univer-divide-opacity-30 disabled:univer-text-gray-800",children:[(0,$Z.jsx)(EY,{}),(0,$Z.jsx)("span",{className:"univer-ml-1.5 univer-text-xs",children:r.t("sheets-sort.dialog.add-condition")})]})]}),(0,$Z.jsx)("div",{ref:l,className:x7("univer-max-h-[310px] univer-overflow-y-auto univer-overflow-x-hidden",U7),onScroll:e=>{let t=e.currentTarget.scrollTop;s(t)},children:(0,$Z.jsx)(T9,{list:_,onListChange:f,idKey:"id",draggableHandle:"[data-u-comp=sort-panel-item-handler]",itemRender:e=>(0,$Z.jsx)(SJe,{titles:h,list:_,item:e,onChange:(e,t)=>g(t,e),scrollPosition:o}),rowHeight:32,margin:[0,12]})})]}),(0,$Z.jsxs)("div",{className:"univer-mt-5 univer-flex univer-justify-end",children:[(0,$Z.jsx)(O7,{className:"univer-ml-3",onClick:()=>b(),children:r.t("sheets-sort.dialog.cancel")}),(0,$Z.jsx)(O7,{className:"univer-ml-3",variant:"primary",onClick:()=>v(m,i),children:r.t("sheets-sort.dialog.confirm")})]})]})}function SJe(e){var t;let{list:r,item:n,titles:i,onChange:a,scrollPosition:o}=e,s=iK(Cg),l=i.filter(e=>!r.some(t=>t.colIndex===e.index)||e.index===n.colIndex),u=r.findIndex(e=>e.colIndex===n.colIndex),c=(0,_q.useCallback)(e=>{a({...n,colIndex:e.index},u),h(!1)},[u,n,a]),[d,h]=(0,_q.useState)(!1);(0,_q.useEffect)(()=>{h(!1)},[o]);let m=r.length>1,f=null==(t=i.find(e=>e.index===n.colIndex))?void 0:t.label;return(0,$Z.jsxs)("div",{className:"univer-grid univer-grid-flow-col univer-grid-cols-2 univer-items-center univer-gap-2",children:[(0,$Z.jsxs)("div",{className:"univer-flex univer-items-center",children:[(0,$Z.jsx)("div",{"data-u-comp":"sort-panel-item-handler",className:"univer-flex univer-cursor-pointer univer-items-center univer-justify-center univer-text-base univer-text-gray-700",children:(0,$Z.jsx)(O$e,{})}),(0,$Z.jsx)(x9,{overlay:(0,$Z.jsx)("ul",{className:x7("univer-my-0 univer-box-border univer-grid univer-max-h-[310px] univer-w-[--radix-popper-anchor-width] univer-items-center univer-gap-1 univer-overflow-y-auto univer-overflow-x-hidden univer-rounded-lg univer-border univer-bg-white univer-p-1 univer-text-base univer-shadow-lg",U7),children:l.map(e=>(0,$Z.jsxs)("li",{onClick:()=>c(e),className:"univer-relative univer-box-border univer-flex univer-h-7 univer-cursor-pointer univer-list-none univer-items-center univer-justify-between univer-rounded univer-px-2 univer-text-sm univer-transition-all hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",children:[(0,$Z.jsx)("span",{className:"univer-max-w-[220px] univer-truncate",children:e.label}),(0,$Z.jsx)("span",{children:e.index===n.colIndex&&(0,$Z.jsx)(XZ,{})})]},e.index))}),open:d,onOpenChange:e=>{h(e)},children:(0,$Z.jsxs)("div",{className:x7("univer-ml-2 univer-flex univer-w-full univer-items-center univer-justify-between univer-overflow-hidden univer-rounded-md univer-py-1.5 univer-text-sm univer-text-gray-900 dark:!univer-text-white"),children:[(0,$Z.jsx)("span",{className:"univer-max-w-[220px] univer-truncate",children:f}),(0,$Z.jsx)(uQ,{})]})})]}),(0,$Z.jsxs)("div",{className:"univer-flex univer-items-center univer-justify-end univer-gap-2",children:[(0,$Z.jsxs)(v5,{value:n.type,onChange:e=>{a({...n,type:e},u)},children:[(0,$Z.jsx)(b5,{value:m$e.ASC,children:s.t("sheets-sort.general.sort-asc")}),(0,$Z.jsx)(b5,{value:m$e.DESC,children:s.t("sheets-sort.general.sort-desc")})]}),(0,$Z.jsx)("a",{className:"univer-flex univer-cursor-pointer univer-items-center univer-text-sm univer-transition-colors hover:univer-text-red-500",onClick:()=>a(null,u),children:!m&&(0,$Z.jsx)(k$e,{})})]})]})}function AJe(e){let{range:t,colIndex:r,onClose:n}=e,i=iK(tJe),a=iK(dg),o=iK(Cg),s=(0,_q.useCallback)(e=>{let{unitId:o,subUnitId:s}=W_e(a)||{};if(!(t&&o&&s))throw Error(`Cannot find the target to sort. unitId: ${o}, subUnitId: ${s}, range: ${t}, colIndex: ${r}`);{let n={...t,startRow:t.startRow+1};i.triggerSortDirectly(e,!1,{unitId:o,subUnitId:s,range:n,colIndex:r})}n()},[t,r,i,a,n]);return(0,$Z.jsxs)(L7,{className:"univer-mb-3 univer-w-full univer-grid-cols-2",children:[(0,$Z.jsxs)(O7,{onClick:()=>s(!0),children:[(0,$Z.jsx)(D$e,{}),o.t("sheets-sort.general.sort-asc")]}),(0,$Z.jsxs)(O7,{onClick:()=>s(!1),children:[(0,$Z.jsx)(B$e,{}),o.t("sheets-sort.general.sort-desc")]})]})}const IJe="custom-sort-dialog";let RJe=class extends ru{constructor(e,t,r,n,i,a,o,s,l,u){super(),this._commandService=e,this._menuManagerService=t,this._dialogService=r,this._layoutService=n,this._uiPartsService=i,this._sheetRenderService=a,this._localeService=o,this._sheetsSortUIService=s,this._injector=l,this._componentManager=u,this._initCommands(),this._initMenu(),this._initUI()}_initMenu(){this._menuManagerService.mergeMenu(_Je)}_initCommands(){[rJe,nJe,iJe,aJe,oJe,sJe,lJe,uJe,cJe,dJe].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e))),this.disposeWithMe(this._sheetRenderService.registerSkeletonChangingMutations(A$e.id))}_initUI(){this.disposeWithMe(this._uiPartsService.registerComponent(CDe.FILTER_PANEL_EMBED_POINT,()=>tK(AJe,this._injector))),[["CustomSortPanel",wJe],[pJe,D$e],[vJe,F$e],[bJe,B$e],[CJe,H$e],[yJe,z$e]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))}),this._sheetsSortUIService.customSortState$.pipe(jX(this.dispose$)).subscribe(e=>{e&&e.show&&e.location?this._openCustomSortPanel(e.location):e&&(null==e||!e.show)&&this._closePanel()})}_openCustomSortPanel(e){this._dialogService.open({id:IJe,draggable:!0,width:560,title:{title:`${this._localeService.t("sheets-sort.general.sort-custom")}: ${Pme(e.range)}`},children:{label:"CustomSortPanel"},destroyOnClose:!0,defaultPosition:{x:(window.innerWidth-560)/2,y:128},preservePositionOnDestroy:!1,onClose:()=>this._closePanel(),mask:!0})}_closePanel(){this._dialogService.close(IJe),queueMicrotask(()=>this._layoutService.focus())}};RJe=Q$e([Y$e(0,Vc),Y$e(1,nee),Y$e(2,Jte),Y$e(3,O8),Y$e(4,hee),Y$e(5,Y(_De)),Y$e(6,Y(Cg)),Y$e(7,Y(tJe)),Y$e(8,Y(he)),Y$e(9,Y(W5))],RJe);let xJe=class extends Rg{constructor(e=mJe,t,r){super(),this._config=e,this._injector=t,this._configService=r;let{...n}=hr({},mJe,this._config);this._configService.setConfig(hJe,n)}onStarting(){[[tJe],[RJe]].forEach(e=>this._injector.add(e))}onRendered(){this._injector.get(RJe)}};function TJe(e){return{type:e.type,operator:e.operator,formula1:e.formula1,formula2:e.formula2,allowBlank:e.allowBlank}}function NJe(e){return{error:e.error,errorStyle:e.errorStyle,errorTitle:e.errorTitle,imeMode:e.imeMode,prompt:e.prompt,promptTitle:e.promptTitle,showDropDown:e.showDropDown,showErrorMessage:e.showErrorMessage,showInputMessage:e.showInputMessage,renderMode:e.renderMode,bizInfo:e.bizInfo}}G$e(xJe,"type",Pi.UNIVER_SHEET),G$e(xJe,"pluginName","SHEET_SORT_UI_PLUGIN"),G$e(xJe,"packageName","@univerjs/sheets-sort-ui"),G$e(xJe,"version","0.19.0"),xJe=Q$e([Tg(N$e),Y$e(1,Y(he)),Y$e(2,Tc)],xJe),mqe.extend(class extends mqe{sort(e){let t=this._range.startColumn,r=(Array.isArray(e)?e:[e]).map(e=>"number"==typeof e?{colIndex:e+t,type:m$e.ASC}:{colIndex:e.column+t,type:e.ascending?m$e.ASC:m$e.DESC});return this._commandService.syncExecuteCommand(A$e.id,{orderRules:r,range:this._range,hasTitle:!1,unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}}),cqe.extend(class extends cqe{sort(e,t=!0){let r=[{colIndex:e,type:t?m$e.ASC:m$e.DESC}],n={startRow:0,startColumn:0,endRow:this._worksheet.getRowCount()-1,endColumn:this._worksheet.getColumnCount()-1,rangeType:pd.ALL};return this._commandService.syncExecuteCommand(A$e.id,{orderRules:r,range:n,hasTitle:!1,unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}}),hp.extend(pqe),yp.extend(class extends yp{_initialize(e){let t=e.get(Vc);this.disposeWithMe(this.registerEventHandler(this.Event.SheetBeforeRangeSort,()=>t.beforeCommandExecuted(e=>{e.id===A$e.id&&this._beforeRangeSort(e)}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetRangeSorted,()=>t.onCommandExecuted(e=>{e.id===A$e.id&&this._onRangeSorted(e)})))}_beforeRangeSort(e){let t=e.params,r=this.getUniverSheet(t.unitId),n=r.getSheetBySheetId(t.subUnitId),{startColumn:i,endColumn:a,startRow:o,endRow:s}=t.range,l={workbook:r,worksheet:n,range:n.getRange(o,i,s-o+1,a-i+1),sortColumn:t.orderRules.map(e=>({column:e.colIndex-i,ascending:e.type===m$e.ASC}))};if(this.fireEvent(this.Event.SheetBeforeRangeSort,l),l.cancel)throw Error("SortRangeCommand canceled.")}_onRangeSorted(e){let t=e.params,r=this.getUniverSheet(t.unitId),n=r.getSheetBySheetId(t.subUnitId),{startColumn:i,endColumn:a,startRow:o,endRow:s}=t.range,l={workbook:r,worksheet:n,range:n.getRange(o,i,s-o+1,a-i+1),sortColumn:t.orderRules.map(e=>({column:e.colIndex-i,ascending:e.type===m$e.ASC}))};if(this.fireEvent(this.Event.SheetRangeSorted,l),l.cancel)throw Error("SortRangeCommand canceled.")}}),hp.extend(class{get SheetRangeSorted(){return"SheetRangeSorted"}get SheetBeforeRangeSort(){return"SheetBeforeRangeSort"}});let MJe=function(e){return e[e.SETTING=0]="SETTING",e[e.RANGE=1]="RANGE",e[e.OPTIONS=2]="OPTIONS",e[e.ALL=3]="ALL",e}({});function OJe(e){return OJe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},OJe(e)}function LJe(e,t,r){return(t=function(e){var t=function(e){if("object"!=OJe(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=OJe(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==OJe(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function kJe(e,t){return function(r,n){t(r,n,e)}}function PJe(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}let DJe=class extends tu{constructor(e){super(),this._logService=e,LJe(this,"_model",new Map),LJe(this,"_ruleChange$",new On),LJe(this,"ruleChange$",this._ruleChange$.asObservable()),LJe(this,"ruleChangeDebounce$",this.ruleChange$.pipe(Gn(20))),this.disposeWithMe({dispose:()=>{this._ruleChange$.complete()}})}_ensureMap(e,t){this._model.has(e)||this._model.set(e,new Map);let r=this._model.get(e);if(r.has(t))return r.get(t);let n={map:new Map,list:[]};return r.set(t,n),n}_addSubUnitRule(e,t,r){let{map:n,list:i}=e,a=(Array.isArray(t)?t:[t]).filter(e=>!n.has(e.uid));"number"==typeof r&&r{n.set(e.uid,e)})}_removeSubUnitRule(e,t){let{map:r,list:n}=e,i=n.findIndex(e=>e.uid===t);i>-1&&(n.splice(i,1),r.delete(t))}_updateSubUnitRule(e,t,r){let{map:n,list:i}=e,a=n.get(t),o=i.findIndex(e=>t===e.uid);if(!a)throw Error(`Data validation rule is not found, ruleId: ${t}.`);let s={...a};switch(r.type){case MJe.RANGE:s.ranges=r.payload;break;case MJe.SETTING:Object.assign(s,TJe(r.payload));break;case MJe.OPTIONS:Object.assign(s,NJe(r.payload));break;case MJe.ALL:Object.assign(s,r.payload)}return i[o]=s,n.set(t,s),s}_addRuleSideEffect(e,t,r,n){if(!this._ensureMap(e,t).map.get(r.uid))return{rule:r,type:"add",unitId:e,subUnitId:t,source:n}}addRule(e,t,r,n,i){try{let a=this._ensureMap(e,t),o=(Array.isArray(r)?r:[r]).map(r=>this._addRuleSideEffect(e,t,r,n));this._addSubUnitRule(a,r,i),o.forEach(e=>{e&&this._ruleChange$.next(e)})}catch(e){this._logService.error(e)}}updateRule(e,t,r,n,i){try{let a=this._ensureMap(e,t),o=uu.deepClone(a.map.get(r));if(!o)throw Error(`Data validation rule is not found, ruleId: ${r}.`);let s=this._updateSubUnitRule(a,r,n);this._ruleChange$.next({rule:s,type:"update",unitId:e,subUnitId:t,source:i,updatePayload:n,oldRule:o})}catch(e){this._logService.error(e)}}removeRule(e,t,r,n){try{let i=this._ensureMap(e,t),a=i.map.get(r);a&&(this._removeSubUnitRule(i,r),this._ruleChange$.next({rule:a,type:"remove",unitId:e,subUnitId:t,source:n}))}catch(e){this._logService.error(e)}}getRuleById(e,t,r){return this._ensureMap(e,t).map.get(r)}getRuleIndex(e,t,r){return this._ensureMap(e,t).list.findIndex(e=>e.uid===r)}getRules(e,t){return[...this._ensureMap(e,t).list]}getUnitRules(e){let t=this._model.get(e);if(!t)return[];let r=[];return t.forEach((e,t)=>{r.push([t,e.list])}),r}deleteUnitRules(e){this._model.delete(e)}getSubUnitIds(e){var t,r;return Array.from(null==(t=null==(r=this._model.get(e))?void 0:r.keys())?[]:t)}getAll(){return Array.from(this._model.keys()).map(e=>[e,this.getUnitRules(e)])}};DJe=PJe([kJe(0,kc)],DJe);const UJe={type:Bc.MUTATION,id:"data-validation.mutation.addRule",handler(e,t){if(!t)return!1;let{unitId:r,subUnitId:n,rule:i,index:a,source:o="command"}=t;return e.get(DJe).addRule(r,n,i,o,a),!0}},BJe={type:Bc.MUTATION,id:"data-validation.mutation.removeRule",handler(e,t){if(!t)return!1;let{unitId:r,subUnitId:n,ruleId:i,source:a="command"}=t,o=e.get(DJe);return Array.isArray(i)?i.forEach(e=>{o.removeRule(r,n,e,a)}):o.removeRule(r,n,i,a),!0}},VJe={type:Bc.MUTATION,id:"data-validation.mutation.updateRule",handler(e,t){if(!t)return!1;let{unitId:r,subUnitId:n,ruleId:i,payload:a,source:o="command"}=t;return e.get(DJe).updateRule(r,n,i,a,o),!0}};let FJe=class extends tu{constructor(e,t,r){super(),this._resourceManagerService=e,this._univerInstanceService=t,this._dataValidationModel=r,this._initSnapshot()}_initSnapshot(){let e=e=>{let t=this._dataValidationModel.getUnitRules(e),r={};return t?(t.forEach(([e,t])=>{r[e]=t}),JSON.stringify(r)):""};this.disposeWithMe(this._resourceManagerService.registerPluginResource({pluginName:"SHEET_DATA_VALIDATION_PLUGIN",businesses:[Pi.UNIVER_SHEET],toJson:t=>e(t),parseJson:e=>(e=>{if(!e)return{};try{return JSON.parse(e)}catch{return{}}})(e),onUnLoad:e=>{this._dataValidationModel.deleteUnitRules(e)},onLoad:(e,t)=>{Object.keys(t).forEach(r=>{t[r].forEach(t=>{this._dataValidationModel.addRule(e,r,t,"patched")})})}}))}};FJe=PJe([kJe(0,hf),kJe(1,dg),kJe(2,Y(DJe))],FJe);let jJe=function(e){return e.SHEET="sheet",e}({});var HJe=class{constructor(){LJe(this,"_validatorByScopes",new Map),LJe(this,"_validatorMap",new Map),LJe(this,"_validatorsChange$",new Qn(void 0)),LJe(this,"validatorsChange$",this._validatorsChange$.asObservable())}_addValidatorToScope(e,t){this._validatorByScopes.has(t)||this._validatorByScopes.set(t,[]);let r=this._validatorByScopes.get(t);if(r.findIndex(t=>t.id===e.id)>-1)throw Error(`Validator item with the same id ${e.id} has already been added!`);r.push(e)}_removeValidatorFromScope(e,t){let r=this._validatorByScopes.get(t);if(!r)return;let n=r.findIndex(t=>t.id===e.id);n>-1&&r.splice(n,1)}register(e){return this._validatorMap.set(e.id,e),Array.isArray(e.scopes)?e.scopes.forEach(t=>{this._addValidatorToScope(e,t)}):this._addValidatorToScope(e,e.scopes),this._validatorsChange$.next(),Jl(()=>{this._validatorMap.delete(e.id),Array.isArray(e.scopes)?e.scopes.forEach(t=>{this._removeValidatorFromScope(e,t)}):this._removeValidatorFromScope(e,e.scopes),this._validatorsChange$.next()})}getValidatorItem(e){return this._validatorMap.get(e)}getValidatorsByScope(e){return this._validatorByScopes.get(e)}};const WJe={type:Bc.COMMAND,id:"data-validation.command.addRule",async handler(e,t){if(e.get(kc).error("[Deprecated]: `AddDataValidationCommand` is deprecated, please use `AddSheetDataValidationCommand` in `@univerjs/sheets-data-validation` instead!"),!t)return!1;let{rule:r,unitId:n,subUnitId:i}=t,a=e.get(Vc),o=e.get(Pg),s={...t,rule:{...t.rule,ranges:[t.rule.range]}},l=[{id:UJe.id,params:s}],u=[{id:BJe.id,params:{unitId:n,subUnitId:i,ruleId:r.uid}}];return o.pushUndoRedo({unitID:n,redoMutations:l,undoMutations:u}),await a.executeCommand(UJe.id,s),!0}},zJe={type:Bc.COMMAND,id:"data-validation.command.removeRule",handler(e,t){if(e.get(kc).error("[Deprecated]: `RemoveDataValidationCommand` is deprecated, please use `RemoveSheetDataValidationCommand` in `@univerjs/sheets-data-validation` instead!"),!t)return!1;let{unitId:r,subUnitId:n,ruleId:i}=t,a=e.get(Vc),o=e.get(Pg),s=e.get(DJe),l=[{id:BJe.id,params:t}],u=[{id:UJe.id,params:{unitId:r,subUnitId:n,rule:{...s.getRuleById(r,n,i)},index:s.getRuleIndex(r,n,i)}}];return o.pushUndoRedo({undoMutations:u,redoMutations:l,unitID:t.unitId}),a.executeCommand(BJe.id,t),!0}},XJe={type:Bc.COMMAND,id:"data-validation.command.updateDataValidationSetting",handler(e,t){if(e.get(kc).warn("[Deprecated]: `UpdateDataValidationOptionsCommand` is deprecated, please use `UpdateSheetDataValidationOptionsCommand` in `@univerjs/sheets-data-validation` instead!"),!t)return!1;let r=e.get(Vc),n=e.get(Pg),i=e.get(DJe),{unitId:a,subUnitId:o,ruleId:s,options:l}=t,u=i.getRuleById(a,o,s);if(!u)return!1;let c={unitId:a,subUnitId:o,ruleId:s,payload:{type:MJe.OPTIONS,payload:l}},d=[{id:VJe.id,params:c}],h={unitId:a,subUnitId:o,ruleId:s,payload:{type:MJe.OPTIONS,payload:NJe(u)}},m=[{id:VJe.id,params:h}];return n.pushUndoRedo({unitID:a,redoMutations:d,undoMutations:m}),r.executeCommand(VJe.id,c),!0}},qJe={type:Bc.COMMAND,id:"data-validation.command.updateDataValidationOptions",handler(e,t){if(e.get(kc).error("[Deprecated]: `UpdateDataValidationSettingCommand` is deprecated, please use `UpdateSheetDataValidationSettingCommand` in `@univerjs/sheets-data-validation` instead!"),!t)return!1;let r=e.get(Vc),n=e.get(Pg),i=e.get(DJe),a=e.get(HJe),{unitId:o,subUnitId:s,ruleId:l,setting:u}=t,c=a.getValidatorItem(u.type);if(!c)return!1;let d=i.getRuleById(o,s,l);if(!d)return!1;let h={...d,...u};if(!c.validatorFormula(h,o,s).success)return!1;let m={unitId:o,subUnitId:s,ruleId:l,payload:{type:MJe.SETTING,payload:{...u,...c.normalizeFormula(h,o,s)}}},f=[{id:VJe.id,params:m}],g={unitId:o,subUnitId:s,ruleId:l,payload:{type:MJe.SETTING,payload:TJe(d)}},p=[{id:VJe.id,params:g}];return n.pushUndoRedo({unitID:o,redoMutations:f,undoMutations:p}),r.executeCommand(VJe.id,m),!0}},GJe={type:Bc.COMMAND,id:"data-validation.command.removeAll",handler(e,t){if(e.get(kc).error("[Deprecated]: `RemoveAllDataValidationCommand` is deprecated, please use `RemoveSheetAllDataValidationCommand` in `@univerjs/sheets-data-validation` instead!"),!t)return!1;let{unitId:r,subUnitId:n}=t,i=e.get(Vc),a=e.get(DJe),o=e.get(Pg),s=[...a.getRules(r,n)],l={unitId:r,subUnitId:n,ruleId:s.map(e=>e.uid)},u=[{id:BJe.id,params:l}],c=[{id:UJe.id,params:{unitId:r,subUnitId:n,rule:s}}];return o.pushUndoRedo({redoMutations:u,undoMutations:c,unitID:r}),i.executeCommand(BJe.id,l),!0}},YJe="data-validation.config";Symbol(YJe);const QJe={};let ZJe=class extends Rg{constructor(e=QJe,t,r,n){super(),this._config=e,this._injector=t,this._commandService=r,this._configService=n;let{...i}=hr({},QJe,this._config);this._configService.setConfig(YJe,i)}onStarting(){[[DJe],[HJe],[FJe]].forEach(e=>this._injector.add(e)),[WJe,GJe,XJe,qJe,zJe,UJe,VJe,BJe].forEach(e=>{this._commandService.registerCommand(e)})}onReady(){this._injector.get(FJe)}};LJe(ZJe,"pluginName","UNIVER_DATA_VALIDATION_PLUGIN"),LJe(ZJe,"packageName","@univerjs/data-validation"),LJe(ZJe,"version","0.19.0"),LJe(ZJe,"type",Pi.UNIVER_SHEET),ZJe=PJe([kJe(1,Y(he)),kJe(2,Vc),kJe(3,Tc)],ZJe),Qg.BETWEEN,Qg.EQUAL,Qg.GREATER_THAN,Qg.GREATER_THAN_OR_EQUAL,Qg.LESS_THAN,Qg.LESS_THAN_OR_EQUAL,Qg.NOT_BETWEEN,Qg.NOT_EQUAL;const KJe={[Qg.BETWEEN]:"dataValidation.ruleName.between",[Qg.EQUAL]:"dataValidation.ruleName.equal",[Qg.GREATER_THAN]:"dataValidation.ruleName.greaterThan",[Qg.GREATER_THAN_OR_EQUAL]:"dataValidation.ruleName.greaterThanOrEqual",[Qg.LESS_THAN]:"dataValidation.ruleName.lessThan",[Qg.LESS_THAN_OR_EQUAL]:"dataValidation.ruleName.lessThanOrEqual",[Qg.NOT_BETWEEN]:"dataValidation.ruleName.notBetween",[Qg.NOT_EQUAL]:"dataValidation.ruleName.notEqual",NONE:"dataValidation.ruleName.legal"},$Je={[Qg.BETWEEN]:"dataValidation.errorMsg.between",[Qg.EQUAL]:"dataValidation.errorMsg.equal",[Qg.GREATER_THAN]:"dataValidation.errorMsg.greaterThan",[Qg.GREATER_THAN_OR_EQUAL]:"dataValidation.errorMsg.greaterThanOrEqual",[Qg.LESS_THAN]:"dataValidation.errorMsg.lessThan",[Qg.LESS_THAN_OR_EQUAL]:"dataValidation.errorMsg.lessThanOrEqual",[Qg.NOT_BETWEEN]:"dataValidation.errorMsg.notBetween",[Qg.NOT_EQUAL]:"dataValidation.errorMsg.notEqual",NONE:"dataValidation.errorMsg.legal"},JJe={[Qg.BETWEEN]:"dataValidation.textLength.errorMsg.between",[Qg.EQUAL]:"dataValidation.textLength.errorMsg.equal",[Qg.GREATER_THAN]:"dataValidation.textLength.errorMsg.greaterThan",[Qg.GREATER_THAN_OR_EQUAL]:"dataValidation.textLength.errorMsg.greaterThanOrEqual",[Qg.LESS_THAN]:"dataValidation.textLength.errorMsg.lessThan",[Qg.LESS_THAN_OR_EQUAL]:"dataValidation.textLength.errorMsg.lessThanOrEqual",[Qg.NOT_BETWEEN]:"dataValidation.textLength.errorMsg.notBetween",[Qg.NOT_EQUAL]:"dataValidation.textLength.errorMsg.notEqual"},e1e=[Qg.BETWEEN,Qg.NOT_BETWEEN],t1e="{FORMULA1}",r1e="{FORMULA2}",n1e="{TYPE}",i1e={[Qg.BETWEEN]:"dataValidation.operators.between",[Qg.EQUAL]:"dataValidation.operators.equal",[Qg.GREATER_THAN]:"dataValidation.operators.greaterThan",[Qg.GREATER_THAN_OR_EQUAL]:"dataValidation.operators.greaterThanOrEqual",[Qg.LESS_THAN]:"dataValidation.operators.lessThan",[Qg.LESS_THAN_OR_EQUAL]:"dataValidation.operators.lessThanOrEqual",[Qg.NOT_BETWEEN]:"dataValidation.operators.notBetween",[Qg.NOT_EQUAL]:"dataValidation.operators.notEqual"};let a1e=function(e){return e.DATE="date",e.TIME="time",e.DATETIME="datetime",e.LIST="list",e.MULTIPLE_LIST="multipleList",e.COLOR="color",e.CASCADE="cascade",e}({}),o1e=class{constructor(e,t){this.localeService=e,this.injector=t,LJe(this,"offsetFormulaByRange",!0),LJe(this,"formulaInput",void 0),LJe(this,"canvasRender",null),LJe(this,"dropdownType",void 0),LJe(this,"optionsInput",void 0),LJe(this,"skipDefaultFontRender",void 0)}get operatorNames(){return this.operators.map(e=>this.localeService.t(i1e[e]))}get titleStr(){return this.localeService.t(this.title)}generateRuleName(e){var t,r;if(!e.operator)return this.localeService.t(KJe.NONE).replace(n1e,this.titleStr);let n=this.localeService.t(KJe[e.operator]).replace(t1e,null==(t=e.formula1)?"":t).replace(r1e,null==(r=e.formula2)?"":r);return`${this.titleStr} ${n}`}generateRuleErrorMessage(e,t){var r,n;return e.operator?`${this.localeService.t($Je[e.operator]).replace(t1e,null==(r=e.formula1)?"":r).replace(r1e,null==(n=e.formula2)?"":n)}`:this.localeService.t($Je.NONE).replace(n1e,this.titleStr)}getExtraStyle(e,t,r,n,i){}getRuleFinalError(e,t){return e.showErrorMessage&&e.error?e.error:this.generateRuleErrorMessage(e,t)}isEmptyCellValue(e){return""===e||null==e}normalizeFormula(e,t,r){return{formula1:e.formula1,formula2:e.formula2}}async isValidType(e,t,r){return!0}transform(e,t,r){return e}async validatorIsEqual(e,t,r){let{formula1:n}=t,{value:i}=e;return!!Number.isNaN(n)||i===n}async validatorIsNotEqual(e,t,r){let{formula1:n}=t;return!!Number.isNaN(n)||e.value!==n}async validatorIsBetween(e,t,r){let{formula1:n,formula2:i}=t;if(Number.isNaN(n)||Number.isNaN(i))return!0;let a=Math.min(n,i),o=Math.max(n,i);return e.value>=a&&e.value<=o}async validatorIsNotBetween(e,t,r){let{formula1:n,formula2:i}=t;if(Number.isNaN(n)||Number.isNaN(i))return!0;let a=Math.min(n,i),o=Math.max(n,i);return e.valueo}async validatorIsGreaterThan(e,t,r){let{formula1:n}=t;return!!Number.isNaN(n)||e.value>n}async validatorIsGreaterThanOrEqual(e,t,r){let{formula1:n}=t;return!!Number.isNaN(n)||e.value>=n}async validatorIsLessThan(e,t,r){let{formula1:n}=t;return!!Number.isNaN(n)||e.value=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}o1e=PJe([kJe(0,Y(Cg)),kJe(1,Y(he))],o1e);let d1e=class extends tu{constructor(e,t,r){super(),this._commandService=e,this._univerInstanceService=t,this._sheetDataValidationModel=r,l1e(this,"_cacheMatrix",new Map),l1e(this,"_dirtyRanges$",new On),l1e(this,"dirtyRanges$",this._dirtyRanges$.asObservable()),this._initDirtyRanges(),this._initSheetRemove()}_initDirtyRanges(){this.disposeWithMe(this._commandService.onCommandExecuted((e,t)=>{if(e.id===Kwe.id&&(null==t||!t.onlyLocal)){let{cellValue:t,unitId:r,subUnitId:n}=e.params;if(t){let e=new kd(t).getDataRange();if(-1===e.endRow)return;let i=this._sheetDataValidationModel.getRules(r,n).map(e=>e.ranges).flat().map(t=>xh(t,e)).filter(Boolean);i.length&&this.markRangeDirty(r,n,i,!0)}}}))}_initSheetRemove(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===XAe.id){var t;let{unitId:r,subUnitId:n}=e.params;null==(t=this._cacheMatrix.get(r))||t.delete(n)}})),this.disposeWithMe(this._univerInstanceService.unitDisposed$.subscribe(e=>{e.type===Pi.UNIVER_SHEET&&this._cacheMatrix.delete(e.getUnitId())}))}_ensureCache(e,t){let r=this._cacheMatrix.get(e);r||(r=new Map,this._cacheMatrix.set(e,r));let n=r.get(t);return n||(n=new kd,r.set(t,n)),n}ensureCache(e,t){return this._ensureCache(e,t)}addRule(e,t,r){this.markRangeDirty(e,t,r.ranges)}removeRule(e,t,r){this._deleteRange(e,t,r.ranges)}markRangeDirty(e,t,r,n){let i=this._ensureCache(e,t);r.forEach(e=>{Sh.foreach(e,(e,t)=>{void 0!==i.getValue(e,t)&&i.setValue(e,t,void 0)})}),this._dirtyRanges$.next({unitId:e,subUnitId:t,ranges:r,isSetRange:n})}_deleteRange(e,t,r){let n=this._ensureCache(e,t);r.forEach(e=>{Sh.foreach(e,(e,t)=>{n.realDeleteValue(e,t)})}),this._dirtyRanges$.next({unitId:e,subUnitId:t,ranges:r})}getValue(e,t,r,n){return this._ensureCache(e,t).getValue(r,n)}};function h1e(e){var t;return null==e||null==(t=e[0])||null==(t=t[0])?void 0:t.v}function m1e(e){var t;return null==e||null==(t=e[0])?void 0:t[0]}function f1e(e){return!ehe.has(e)}function g1e(e,t){var r;let n=t.getValidatorItem(e);return null!=(r=null==n?void 0:n.offsetFormulaByRange)&&r}d1e=c1e([u1e(0,Y(Vc)),u1e(1,Y(dg)),u1e(2,Y(DJe))],d1e);let p1e=class extends tu{constructor(e,t,r,n,i){super(),this._instanceSrv=e,this._registerOtherFormulaService=t,this._dataValidationModel=r,this._dataValidationCacheService=n,this._validatorRegistryService=i,l1e(this,"_ruleFormulaMap",new Map),l1e(this,"_ruleFormulaMap2",new Map),this._initFormulaResultHandler(),this._initDirtyRanges()}dispose(){super.dispose(),this._ruleFormulaMap.clear(),this._ruleFormulaMap2.clear()}_initFormulaResultHandler(){this.disposeWithMe(this._registerOtherFormulaService.formulaResult$.subscribe(e=>{for(let t in e){let r=e[t];if(this._instanceSrv.getUnitType(t)===Pi.UNIVER_SHEET)for(let e in r){let n=r[e],{ruleFormulaMap:i}=this._ensureMaps(t,e);n.forEach(r=>{var n,a;let o=i.get(null==(n=r.extra)?void 0:n.ruleId),s=this._dataValidationModel.getRuleById(t,e,null==(a=r.extra)?void 0:a.ruleId);s&&o&&this._dataValidationCacheService.markRangeDirty(t,e,s.ranges)})}}}))}_ensureMaps(e,t){let r=this._ruleFormulaMap.get(e),n=this._ruleFormulaMap2.get(e);r||(r=new Map,this._ruleFormulaMap.set(e,r)),n||(n=new Map,this._ruleFormulaMap2.set(e,n));let i=r.get(t);i||(i=new Map,r.set(t,i));let a=n.get(t);return a||(a=new Map,n.set(t,a)),{ruleFormulaMap:i,ruleFormulaMap2:a}}_registerFormula(e,t,r,n,i){return this._registerOtherFormulaService.registerFormulaWithRange(e,t,n,i,{ruleId:r},d_e.DATA_VALIDATION_CUSTOM,r)}_handleDirtyRanges(e,t,r){this._dataValidationModel.getRules(e,t).forEach(n=>{let i=n.ranges;Oh.doAnyRangesIntersect(i,r)&&this.makeRuleDirty(e,t,n.uid)})}_initDirtyRanges(){this.disposeWithMe(this._dataValidationCacheService.dirtyRanges$.subscribe(e=>{e.isSetRange&&this._handleDirtyRanges(e.unitId,e.subUnitId,e.ranges)}))}deleteByRuleId(e,t,r){let{ruleFormulaMap:n,ruleFormulaMap2:i}=this._ensureMaps(e,t),a=this._dataValidationModel.getRuleById(e,t,r),o=n.get(r);if(!a||!o)return;let s=n.get(r);s&&(n.delete(r),this._registerOtherFormulaService.deleteFormula(e,t,[s.formulaId]));let l=i.get(r);l&&(i.delete(r),this._registerOtherFormulaService.deleteFormula(e,t,[l.formulaId]))}_addFormulaByRange(e,t,r,n,i,a){let{ruleFormulaMap:o,ruleFormulaMap2:s}=this._ensureMaps(e,t),l=a[0].startRow,u=a[0].startColumn;if(n&&Bd(n)){let i=this._registerFormula(e,t,r,n,a);o.set(r,{formula:n,originCol:u,originRow:l,formulaId:i})}if(i&&Bd(i)){let n=this._registerFormula(e,t,r,i,a);s.set(r,{formula:i,originCol:u,originRow:l,formulaId:n})}}addRule(e,t,r){if(g1e(r.type,this._validatorRegistryService)){let{ranges:n,formula1:i,formula2:a,uid:o}=r;this._addFormulaByRange(e,t,o,i,a,n)}}async getCellFormulaValue(e,t,r,n,i){var a;let{ruleFormulaMap:o}=this._ensureMaps(e,t),s=o.get(r);if(!s)return Promise.resolve(void 0);let l=await this._registerOtherFormulaService.getFormulaValue(e,t,s.formulaId),{originRow:u,originCol:c}=s,d=n-u,h=i-c;return m1e(null==l||null==(a=l.result)||null==(a=a[d])?void 0:a[h])}async getCellFormula2Value(e,t,r,n,i){var a;let{ruleFormulaMap2:o}=this._ensureMaps(e,t),s=o.get(r);if(!s)return Promise.resolve(void 0);let l=await this._registerOtherFormulaService.getFormulaValue(e,t,s.formulaId),{originRow:u,originCol:c}=s,d=n-u,h=i-c;return m1e(null==l||null==(a=l.result)||null==(a=a[d])?void 0:a[h])}getCellFormulaValueSync(e,t,r,n,i){var a;let{ruleFormulaMap:o}=this._ensureMaps(e,t),s=o.get(r);if(!s)return;let l=this._registerOtherFormulaService.getFormulaValueSync(e,t,s.formulaId),{originRow:u,originCol:c}=s,d=n-u,h=i-c;return m1e(null==l||null==(a=l.result)||null==(a=a[d])?void 0:a[h])}getCellFormula2ValueSync(e,t,r,n,i){var a;let{ruleFormulaMap2:o}=this._ensureMaps(e,t),s=o.get(r);if(!s)return;let l=this._registerOtherFormulaService.getFormulaValueSync(e,t,s.formulaId),{originRow:u,originCol:c}=s,d=n-u,h=i-c;return m1e(null==l||null==(a=l.result)||null==(a=a[d])?void 0:a[h])}getRuleFormulaInfo(e,t,r){let{ruleFormulaMap:n}=this._ensureMaps(e,t);return n.get(r)}makeRuleDirty(e,t,r){var n,i;let a=null==(n=this._ruleFormulaMap.get(e))||null==(n=n.get(t))?void 0:n.get(r),o=null==(i=this._ruleFormulaMap2.get(e))||null==(i=i.get(t))?void 0:i.get(r);a&&this._registerOtherFormulaService.markFormulaDirty(e,t,a.formulaId),o&&this._registerOtherFormulaService.markFormulaDirty(e,t,o.formulaId)}};function v1e(e){return function(e){if(null===e)return"";if(null!=e&&e.p){let t=null==e?void 0:e.p.body;if(null==t)return"";let r=t.dataStream;return Jm.transform.getPlainText(r)}return null==e?void 0:e.v}(e)}function b1e(e){var t;return String(null==(t=v1e(e))?"":t)}function C1e(e){return e.filter(Boolean).join(",")}function y1e(e){return e.split(",").filter(Boolean)}function _1e(e){let t=v1e(e);return null==t?"":t.toString()}function w1e(e,t,r){let{formula1:n,formula2:i}=t,a=t.ranges[0].startRow,o=t.ranges[0].startColumn,s=r.row-a,l=r.col-o;return{transformedFormula1:Bd(n)?e.moveFormulaRefOffset(n,l,s,!0):n,transformedFormula2:Bd(i)?e.moveFormulaRefOffset(i,l,s,!0):i}}p1e=c1e([u1e(0,dg),u1e(1,Y(h_e)),u1e(2,Y(DJe)),u1e(3,Y(d1e)),u1e(4,Y(HJe))],p1e);let E1e=class extends tu{constructor(e,t){super(),this._injector=e,this._dataValidationModel=t,l1e(this,"_cache",new Map),this._initRuleChangeListener()}_initRuleChangeListener(){this.disposeWithMe(this._dataValidationModel.ruleChange$.subscribe(e=>{("remove"===e.type||"update"===e.type)&&this.markRuleDirty(e.unitId,e.subUnitId,e.rule.uid)}))}getOrCompute(e,t,r){let n=this.getCache(e,t,r.uid);if(n)return n;let i=this._injector.get(S1e).getRuleFormulaResultSync(e,t,r.uid);return this.computeAndCache(e,t,r,i)}_ensureCache(e,t){let r=this._cache.get(e);r||(r=new Map,this._cache.set(e,r));let n=r.get(t);return n||(n=new Map,r.set(t,n)),n}getCache(e,t,r){var n;return null==(n=this._cache.get(e))||null==(n=n.get(t))?void 0:n.get(r)}setCache(e,t,r,n){this._ensureCache(e,t).set(r,n)}markRuleDirty(e,t,r){var n;null==(n=this._cache.get(e))||null==(n=n.get(t))||n.delete(r)}clear(){this._cache.clear()}computeAndCache(e,t,r,n){var i;let{formula1:a="",formula2:o=""}=r,s=Bd(a)?this._getRuleFormulaResultSet(null==n||null==(i=n[0])||null==(i=i.result)||null==(i=i[0])?void 0:i[0]):y1e(a),l=o.split(","),u=s.map((e,t)=>({label:e,color:l[t]||""})),c={};for(let e of u)e.color&&(c[e.label]=e.color);let d={list:s,listWithColor:u,colorMap:c,set:new Set(s)};return this.setCache(e,t,r.uid,d),d}_getRuleFormulaResultSet(e){if(!e)return[];let t=new Set;for(let n=0,i=e.length;n{for(let t in e){let r=e[t];if(this._instanceService.getUnitType(t)===Pi.UNIVER_SHEET)for(let e in r){let n=r[e],i=this._ensureRuleFormulaMap(t,e);n.forEach(r=>{var n;let a=null==(n=r.extra)?void 0:n.ruleId;if(a&&i.get(a)){let r=this._dataValidationModel.getRuleById(t,e,a);r&&(this._listCacheService.markRuleDirty(t,e,a),this._dataValidationCacheService.markRangeDirty(t,e,r.ranges))}})}}}))}_ensureRuleFormulaMap(e,t){let r=this._formulaRuleMap.get(e);r||(r=new Map,this._formulaRuleMap.set(e,r));let n=r.get(t);return n||(n=new Map,r.set(t,n)),n}_registerSingleFormula(e,t,r,n){return this._registerOtherFormulaService.registerFormulaWithRange(e,t,r,[{startColumn:0,endColumn:0,startRow:0,endRow:0}],{ruleId:n},d_e.DATA_VALIDATION,n)}addRule(e,t,r){if(!g1e(r.type,this._validatorRegistryService)&&r.type!==$g.CHECKBOX){let{formula1:n,formula2:i,uid:a}=r,o=Bd(n),s=Bd(i);if(!o&&!s)return;let l=this._ensureRuleFormulaMap(e,t),u=[void 0,void 0];o&&(u[0]={id:this._registerSingleFormula(e,t,n,a),text:n}),s&&(u[1]={id:this._registerSingleFormula(e,t,i,a),text:i}),l.set(a,u)}}removeRule(e,t,r){let n=this._ensureRuleFormulaMap(e,t).get(r);if(!n)return;let[i,a]=n,o=[null==i?void 0:i.id,null==a?void 0:a.id].filter(Boolean);o.length&&this._registerOtherFormulaService.deleteFormula(e,t,o)}getRuleFormulaResult(e,t,r){let n=this._ensureRuleFormulaMap(e,t).get(r);if(!n)return Promise.resolve(null);let i=async r=>r&&this._registerOtherFormulaService.getFormulaValue(e,t,r.id);return Promise.all([i(n[0]),i(n[1])])}getRuleFormulaResultSync(e,t,r){let n=this._ensureRuleFormulaMap(e,t).get(r);if(n)return n.map(r=>{if(r)return this._registerOtherFormulaService.getFormulaValueSync(e,t,r.id)})}getRuleFormulaInfo(e,t,r){return this._ensureRuleFormulaMap(e,t).get(r)}};S1e=c1e([u1e(0,dg),u1e(1,Y(h_e)),u1e(2,Y(d1e)),u1e(3,Y(DJe)),u1e(4,Y(HJe)),u1e(5,Y(E1e))],S1e);var A1e=class e{constructor(e,t,r,n,i=!1){this._unitId=t,this._subUnitId=r,this._univerInstanceService=n,this._disableTree=i,l1e(this,"_map",void 0),l1e(this,"_tree",new Xs),l1e(this,"_dirty",!0),l1e(this,"_buildTree",()=>{if(!this._dirty||this._disableTree)return;this._tree.clear();let e=[];this._map.forEach((t,r)=>{t.forEach(t=>{e.push({minX:t.startRow,maxX:t.endRow,minY:t.startColumn,maxY:t.endColumn,ruleId:r})})}),this._tree.load(e),this._dirty=!1}),l1e(this,"_debonceBuildTree",Vr(this._buildTree,0)),this._map=e,this._buildTree()}get _worksheet(){var e;return null==(e=this._univerInstanceService.getUnit(this._unitId,Pi.UNIVER_SHEET))?void 0:e.getSheetBySheetId(this._subUnitId)}_addRule(e,t){if(!this._worksheet)return;let r=Oh.mergeRanges(t.map(e=>Sh.transformRange(e,this._worksheet)));this._map.forEach((e,t)=>{let n=Oh.subtractMulti(e,r);0===n.length?this._map.delete(t):this._map.set(t,n)}),this._dirty=!0,this._map.set(e,r),this._debonceBuildTree()}addRule(e){this._addRule(e.uid,e.ranges)}removeRange(e){if(!this._worksheet)return;let t=e.map(e=>Sh.transformRange(e,this._worksheet));this._map.forEach((e,r)=>{let n=Oh.subtractMulti(e,t);0===n.length?this._map.delete(r):this._map.set(r,n)}),this._dirty=!0,this._debonceBuildTree()}_removeRule(e){this._map.delete(e),this._dirty=!0,this._debonceBuildTree()}removeRule(e){this._removeRule(e.uid)}updateRange(e,t){this._removeRule(e),this._addRule(e,t)}addRangeRules(e){e.forEach(({id:e,ranges:t})=>{if(!t.length)return;let r=this._map.get(e);r?(this._map.set(e,Oh.mergeRanges([...r,...t])),r=this._map.get(e)):(r=t,this._map.set(e,r)),this._map.forEach((r,n)=>{if(n===e)return;let i=Oh.subtractMulti(r,t);0===i.length?this._map.delete(n):this._map.set(n,i)})}),this._dirty=!0,this._debonceBuildTree()}diff(e){let t=[],r=0;return e.forEach((e,n)=>{var i;let a=null==(i=this._map.get(e.uid))?[]:i,o=e.ranges;0!==a.length&&(a.length!==o.length||a.some((e,t)=>!Oh.equals(e,o[t])))&&t.push({type:"update",ruleId:e.uid,oldRanges:o,newRanges:Oh.sort(a),rule:e}),0===a.length&&(t.push({type:"delete",rule:e,index:n-r}),r++)}),t}diffWithAddition(e,t){let r=[],n=0;return e.forEach((e,t)=>{var i;let a=null==(i=this._map.get(e.uid))?[]:i,o=e.ranges;0!==a.length&&(a.length!==o.length||a.some((e,t)=>!Oh.equals(e,o[t])))&&r.push({type:"update",ruleId:e.uid,oldRanges:o,newRanges:Oh.sort(a),rule:e}),0===a.length&&(r.push({type:"delete",rule:e,index:t-n}),n++)}),Array.from(t).forEach(e=>{var t;let n=null==(t=this._map.get(e.uid))?[]:t;r.push({type:"add",rule:{...e,ranges:Oh.sort(n)}})}),r}clone(){return new e(new Map(uu.deepClone(Array.from(this._map.entries()))),this._unitId,this._subUnitId,this._univerInstanceService,!0)}getValue(e,t){this._dirty&&this._buildTree();let r=this._tree.search({minX:e,maxX:e,minY:t,maxY:t});return r.length>0?r[0].ruleId:void 0}};let I1e=class extends tu{constructor(e,t,r,n,i,a,o){super(),this._dataValidationModel=e,this._univerInstanceService=t,this._dataValidatorRegistryService=r,this._dataValidationCacheService=n,this._dataValidationFormulaService=i,this._dataValidationCustomFormulaService=a,this._commandService=o,l1e(this,"_ruleMatrixMap",new Map),l1e(this,"_validStatusChange$",new On),l1e(this,"_ruleChange$",new On),l1e(this,"ruleChange$",this._ruleChange$.asObservable()),l1e(this,"validStatusChange$",this._validStatusChange$.asObservable()),this._initRuleUpdateListener(),this.disposeWithMe(()=>{this._ruleChange$.complete(),this._validStatusChange$.complete()}),this._initUniverInstanceListener()}_initUniverInstanceListener(){this.disposeWithMe(this._univerInstanceService.unitDisposed$.subscribe(e=>{this._ruleMatrixMap.delete(e.getUnitId())})),this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===XAe.id){let{unitId:t,subUnitId:r}=e.params,n=this._ruleMatrixMap.get(t);n&&n.delete(r)}}))}_initRuleUpdateListener(){let e=this._dataValidationModel.getAll();for(let[t,r]of e)for(let[e,n]of r)for(let r of n)this._addRule(t,e,r),this._ruleChange$.next({type:"add",unitId:t,subUnitId:e,rule:r,source:"patched"});this.disposeWithMe(this._dataValidationModel.ruleChange$.subscribe(e=>{switch(e.type){case"add":this._addRule(e.unitId,e.subUnitId,e.rule);break;case"update":this._updateRule(e.unitId,e.subUnitId,e.rule.uid,e.oldRule,e.updatePayload);break;case"remove":this._removeRule(e.unitId,e.subUnitId,e.rule)}this._ruleChange$.next(e)}))}_ensureRuleMatrix(e,t){let r=this._ruleMatrixMap.get(e);r||(r=new Map,this._ruleMatrixMap.set(e,r));let n=r.get(t);return n||(n=new A1e(new Map,e,t,this._univerInstanceService),r.set(t,n)),n}_addRuleSideEffect(e,t,r){this._ensureRuleMatrix(e,t).addRule(r),this._dataValidationCacheService.addRule(e,t,r),this._dataValidationFormulaService.addRule(e,t,r),this._dataValidationCustomFormulaService.addRule(e,t,r)}_addRule(e,t,r){(Array.isArray(r)?r:[r]).forEach(r=>{this._addRuleSideEffect(e,t,r)})}_updateRule(e,t,r,n,i){let a=this._ensureRuleMatrix(e,t),o={...n,...i.payload};i.type===MJe.RANGE?a.updateRange(r,i.payload):i.type===MJe.ALL&&a.updateRange(r,i.payload.ranges),this._dataValidationCacheService.removeRule(e,t,n),this._dataValidationCacheService.addRule(e,t,o),this._dataValidationFormulaService.removeRule(e,t,n.uid),this._dataValidationFormulaService.addRule(e,t,o),this._dataValidationCustomFormulaService.deleteByRuleId(e,t,r),this._dataValidationCustomFormulaService.addRule(e,t,o)}_removeRule(e,t,r){this._ensureRuleMatrix(e,t).removeRule(r),this._dataValidationCacheService.removeRule(e,t,r),this._dataValidationCustomFormulaService.deleteByRuleId(e,t,r.uid)}getValidator(e){return this._dataValidatorRegistryService.getValidatorItem(e)}getRuleIdByLocation(e,t,r,n){return this._ensureRuleMatrix(e,t).getValue(r,n)}getRuleByLocation(e,t,r,n){let i=this.getRuleIdByLocation(e,t,r,n);if(i)return this._dataValidationModel.getRuleById(e,t,i)}validator(e,t,r){let{col:n,row:i,unitId:a,subUnitId:o,worksheet:s}=t,l=(t,s)=>{r&&r(t,s),s&&this._validStatusChange$.next({unitId:a,subUnitId:o,ruleId:e.uid,status:t,row:i,col:n})},u=s.getCellValueOnly(i,n),c=this.getValidator(e.type),d=s.getCellRaw(i,n),h=v1e(d);if(c){let r=this._dataValidationCacheService.ensureCache(a,o),s=r.getValue(i,n);return null==s?(r.setValue(i,n,Kg.VALIDATING),c.validator({value:h,unitId:a,subUnitId:o,row:i,column:n,worksheet:t.worksheet,workbook:t.workbook,interceptValue:v1e(u),t:null==d?void 0:d.t},e).then(e=>{let t=e?Kg.VALID:Kg.INVALID,a=r.getValue(i,n);t===Kg.VALID?r.realDeleteValue(i,n):r.setValue(i,n,t),l(t,s!==a)}),Kg.VALIDATING):(l(null==s?Kg.VALID:s,!1),null==s?Kg.VALID:s)}return l(Kg.VALID,!1),Kg.VALID}getRuleObjectMatrix(e,t){return this._ensureRuleMatrix(e,t)}getRuleById(e,t,r){return this._dataValidationModel.getRuleById(e,t,r)}getRuleIndex(e,t,r){return this._dataValidationModel.getRuleIndex(e,t,r)}getRules(e,t){return[...this._dataValidationModel.getRules(e,t)]}getUnitRules(e){return this._dataValidationModel.getUnitRules(e)}deleteUnitRules(e){return this._dataValidationModel.deleteUnitRules(e)}getSubUnitIds(e){return this._dataValidationModel.getSubUnitIds(e)}getAll(){return this._dataValidationModel.getAll()}};I1e=c1e([u1e(0,Y(DJe)),u1e(1,dg),u1e(2,Y(HJe)),u1e(3,Y(d1e)),u1e(4,Y(S1e)),u1e(5,Y(p1e)),u1e(6,Vc)],I1e);const R1e=1,x1e=0;function T1e(e,t){return uu.isBlank(e)?t.t("dataValidation.validFail.value"):Bd(e)?t.t("dataValidation.validFail.primitive"):""}const N1e=e=>uu.isDefine(e)&&"true"===String(e).toLowerCase()?"1":"false"===String(e).toLowerCase()?"0":e;var M1e=class extends o1e{constructor(...e){super(...e),l1e(this,"id",$g.CHECKBOX),l1e(this,"title","dataValidation.checkbox.title"),l1e(this,"operators",[]),l1e(this,"scopes",["sheet"]),l1e(this,"order",41),l1e(this,"offsetFormulaByRange",!1),l1e(this,"_formulaService",this.injector.get(S1e)),l1e(this,"skipDefaultFontRender",(e,t,r)=>{let{unitId:n,subUnitId:i}=r,{formula1:a,formula2:o}=this.parseFormulaSync(e,n,i),s=`${null==t?"":t}`;return!s||s===`${a}`||s===`${o}`})}validatorFormula(e,t,r){let{formula1:n,formula2:i}=e,a=n===i;if(uu.isBlank(n)&&uu.isBlank(i))return{success:!0};if(a)return{success:!1,formula1:this.localeService.t("dataValidation.validFail.checkboxEqual"),formula2:this.localeService.t("dataValidation.validFail.checkboxEqual")};let o=T1e(n,this.localeService),s=T1e(i,this.localeService);return{success:!o&&!s,formula1:o,formula2:s}}async parseFormula(e,t,r){var n,i;let{formula1:a=1,formula2:o=0}=e,s=await this._formulaService.getRuleFormulaResult(t,r,e.uid),l=Bd(a)?h1e(null==s||null==(n=s[0])||null==(n=n.result)?void 0:n[0][0]):a,u=Bd(o)?h1e(null==s||null==(i=s[1])||null==(i=i.result)?void 0:i[0][0]):o,c=f1e(String(l))&&f1e(String(u));return{formula1:N1e(l),formula2:N1e(u),originFormula1:l,originFormula2:u,isFormulaValid:c}}getExtraStyle(e,t){return{tb:Pu.CLIP}}parseFormulaSync(e,t,r){var n,i;let{formula1:a=1,formula2:o=0}=e,s=this._formulaService.getRuleFormulaResultSync(t,r,e.uid),l=Bd(a)?h1e(null==s||null==(n=s[0])||null==(n=n.result)?void 0:n[0][0]):a,u=Bd(o)?h1e(null==s||null==(i=s[1])||null==(i=i.result)?void 0:i[0][0]):o,c=f1e(String(l))&&f1e(String(u));return{formula1:N1e(l),formula2:N1e(u),originFormula1:l,originFormula2:u,isFormulaValid:c}}async isValidType(e,t,r){let{value:n,unitId:i,subUnitId:a}=e,{formula1:o,formula2:s,originFormula1:l,originFormula2:u}=await this.parseFormula(r,i,a);return!uu.isDefine(o)||!uu.isDefine(s)||uu.isDefine(n)&&(String(n)===String(o)||String(n)===String(s)||String(n)===String(null==l?"":l)||String(n)===String(null==u?"":u))}generateRuleErrorMessage(e){return this.localeService.t("dataValidation.checkbox.error")}generateRuleName(e){return this.titleStr}};const O1e={[Qg.BETWEEN]:"dataValidation.date.operators.between",[Qg.EQUAL]:"dataValidation.date.operators.equal",[Qg.GREATER_THAN]:"dataValidation.date.operators.greaterThan",[Qg.GREATER_THAN_OR_EQUAL]:"dataValidation.date.operators.greaterThanOrEqual",[Qg.LESS_THAN]:"dataValidation.date.operators.lessThan",[Qg.LESS_THAN_OR_EQUAL]:"dataValidation.date.operators.lessThanOrEqual",[Qg.NOT_BETWEEN]:"dataValidation.date.operators.notBetween",[Qg.NOT_EQUAL]:"dataValidation.date.operators.notEqual"};Qg.BETWEEN,Qg.EQUAL,Qg.GREATER_THAN,Qg.GREATER_THAN_OR_EQUAL,Qg.LESS_THAN,Qg.LESS_THAN_OR_EQUAL,Qg.NOT_BETWEEN,Qg.NOT_EQUAL;const L1e={[Qg.BETWEEN]:"dataValidation.date.ruleName.between",[Qg.EQUAL]:"dataValidation.date.ruleName.equal",[Qg.GREATER_THAN]:"dataValidation.date.ruleName.greaterThan",[Qg.GREATER_THAN_OR_EQUAL]:"dataValidation.date.ruleName.greaterThanOrEqual",[Qg.LESS_THAN]:"dataValidation.date.ruleName.lessThan",[Qg.LESS_THAN_OR_EQUAL]:"dataValidation.date.ruleName.lessThanOrEqual",[Qg.NOT_BETWEEN]:"dataValidation.date.ruleName.notBetween",[Qg.NOT_EQUAL]:"dataValidation.date.ruleName.notEqual",NONE:"dataValidation.date.ruleName.legal"},k1e={[Qg.BETWEEN]:"dataValidation.date.errorMsg.between",[Qg.EQUAL]:"dataValidation.date.errorMsg.equal",[Qg.GREATER_THAN]:"dataValidation.date.errorMsg.greaterThan",[Qg.GREATER_THAN_OR_EQUAL]:"dataValidation.date.errorMsg.greaterThanOrEqual",[Qg.LESS_THAN]:"dataValidation.date.errorMsg.lessThan",[Qg.LESS_THAN_OR_EQUAL]:"dataValidation.date.errorMsg.lessThanOrEqual",[Qg.NOT_BETWEEN]:"dataValidation.date.errorMsg.notBetween",[Qg.NOT_EQUAL]:"dataValidation.date.errorMsg.notEqual",NONE:"dataValidation.date.errorMsg.legal"},P1e=[Qg.BETWEEN,Qg.NOT_BETWEEN],D1e="{FORMULA1}",U1e="{FORMULA2}",B1e=e=>{var t,r;if(null==e||"boolean"==typeof e)return;if("number"==typeof e||!Number.isNaN(+e))return+e;let n=null==(t=Do(e))?void 0:t.v;return uu.isDefine(n)?n:null==(r=Do(As()(e).format("YYYY-MM-DD HH:mm:ss")))?void 0:r.v};var V1e=class extends o1e{constructor(...e){super(...e),l1e(this,"id",$g.DATE),l1e(this,"title","dataValidation.date.title"),l1e(this,"order",40),l1e(this,"operators",[Qg.BETWEEN,Qg.EQUAL,Qg.GREATER_THAN,Qg.GREATER_THAN_OR_EQUAL,Qg.LESS_THAN,Qg.LESS_THAN_OR_EQUAL,Qg.NOT_BETWEEN,Qg.NOT_EQUAL]),l1e(this,"scopes",["sheet"]),l1e(this,"_customFormulaService",this.injector.get(p1e)),l1e(this,"_lexerTreeBuilder",this.injector.get(Ffe))}async parseFormula(e,t,r,n,i){let a=await this._customFormulaService.getCellFormulaValue(t,r,e.uid,n,i),o=await this._customFormulaService.getCellFormula2Value(t,r,e.uid,n,i),{formula1:s,formula2:l}=e,u=f1e(String(null==a?void 0:a.v))&&f1e(String(null==o?void 0:o.v));return{formula1:B1e(Bd(s)?null==a?void 0:a.v:s),formula2:B1e(Bd(l)?null==o?void 0:o.v:l),isFormulaValid:u}}async isValidType(e){let{interceptValue:t,value:r}=e;return("number"==typeof r&&"string"==typeof t||"string"==typeof t)&&!!Do(t)}_validatorSingleFormula(e){return!uu.isBlank(e)&&(Bd(e)||!Number.isNaN(+e)||!(!e||!Do(e)))}validatorFormula(e,t,r){let n=e.operator;if(!n)return{success:!0};let i=this._validatorSingleFormula(e.formula1),a=this.localeService.t("dataValidation.validFail.date");if(P1e.includes(n)){let t=this._validatorSingleFormula(e.formula2);return{success:i&&t,formula1:i?void 0:a,formula2:t?void 0:a}}return{success:i,formula1:i?void 0:a}}normalizeFormula(e,t,r){let{formula1:n,formula2:i,bizInfo:a}=e,o=e=>{if(!e)return e;let t;if(Number.isNaN(+e)){var r;let n=null==(r=Do(e))?void 0:r.v;if(null==n)return"";t=go(n)}else t=go(+e);return As()(`${t[0]}/${t[1]}/${t[2]} ${t[3]}:${t[4]}:${t[5]}`).format(null!=a&&a.showTime?"YYYY-MM-DD HH:mm:ss":"YYYY-MM-DD")};return{formula1:Bd(n)?n:o(`${n}`),formula2:Bd(i)?i:o(`${i}`)}}transform(e,t,r){let{value:n}=e;return{...e,value:B1e(n)}}get operatorNames(){return this.operators.map(e=>this.localeService.t(O1e[e]))}generateRuleName(e){var t,r;if(!e.operator)return this.localeService.t(L1e.NONE);let n=this.localeService.t(L1e[e.operator]).replace(D1e,null==(t=e.formula1)?"":t).replace(U1e,null==(r=e.formula2)?"":r);return`${this.titleStr} ${n}`}generateRuleErrorMessage(e,t){if(!e.operator)return this.titleStr;let{transformedFormula1:r,transformedFormula2:n}=w1e(this._lexerTreeBuilder,e,t);return`${this.localeService.t(k1e[e.operator]).replace(D1e,null==r?"":r).replace(U1e,null==n?"":n)}`}};Qg.BETWEEN,Qg.EQUAL,Qg.GREATER_THAN,Qg.GREATER_THAN_OR_EQUAL,Qg.LESS_THAN,Qg.LESS_THAN_OR_EQUAL,Qg.NOT_BETWEEN,Qg.NOT_EQUAL,Qg.BETWEEN,Qg.EQUAL,Qg.GREATER_THAN,Qg.GREATER_THAN_OR_EQUAL,Qg.LESS_THAN,Qg.LESS_THAN_OR_EQUAL,Qg.NOT_BETWEEN,Qg.NOT_EQUAL;const F1e={[Qg.BETWEEN]:"dataValidation.errorMsg.between",[Qg.EQUAL]:"dataValidation.errorMsg.equal",[Qg.GREATER_THAN]:"dataValidation.errorMsg.greaterThan",[Qg.GREATER_THAN_OR_EQUAL]:"dataValidation.errorMsg.greaterThanOrEqual",[Qg.LESS_THAN]:"dataValidation.errorMsg.lessThan",[Qg.LESS_THAN_OR_EQUAL]:"dataValidation.errorMsg.lessThanOrEqual",[Qg.NOT_BETWEEN]:"dataValidation.errorMsg.notBetween",[Qg.NOT_EQUAL]:"dataValidation.errorMsg.notEqual",NONE:"dataValidation.errorMsg.legal"};function j1e(e){return+e}var H1e=class extends o1e{constructor(...e){super(...e),l1e(this,"_customFormulaService",this.injector.get(p1e)),l1e(this,"id",$g.DECIMAL),l1e(this,"_lexerTreeBuilder",this.injector.get(Ffe)),l1e(this,"title","dataValidation.decimal.title"),l1e(this,"order",20),l1e(this,"operators",[Qg.BETWEEN,Qg.EQUAL,Qg.GREATER_THAN,Qg.GREATER_THAN_OR_EQUAL,Qg.LESS_THAN,Qg.LESS_THAN_OR_EQUAL,Qg.NOT_BETWEEN,Qg.NOT_EQUAL]),l1e(this,"scopes",["sheet"])}_isFormulaOrNumber(e){return!uu.isBlank(e)&&(Bd(e)||!Number.isNaN(+e))}async isValidType(e,t,r){let{value:n}=e;return!Number.isNaN(j1e(n))}transform(e,t,r){let{value:n}=e;return{...e,value:j1e(n)}}_parseNumber(e){return null==e?NaN:+e}async parseFormula(e,t,r,n,i){let a=await this._customFormulaService.getCellFormulaValue(t,r,e.uid,n,i),o=await this._customFormulaService.getCellFormula2Value(t,r,e.uid,n,i),{formula1:s,formula2:l}=e,u=f1e(String(null==a?void 0:a.v))&&f1e(String(null==o?void 0:o.v));return{formula1:this._parseNumber(Bd(s)?null==a?void 0:a.v:s),formula2:this._parseNumber(Bd(l)?null==o?void 0:o.v:l),isFormulaValid:u}}validatorFormula(e,t,r){let n=e.operator;if(!n)return{success:!0};let i=uu.isDefine(e.formula1)&&this._isFormulaOrNumber(e.formula1),a=uu.isDefine(e.formula2)&&this._isFormulaOrNumber(e.formula2),o=P1e.includes(n),s=this.localeService.t("dataValidation.validFail.number");return o?{success:i&&a,formula1:i?void 0:s,formula2:a?void 0:s}:{success:i,formula1:i?"":s}}generateRuleErrorMessage(e,t){if(!e.operator)return this.localeService.t(F1e.NONE).replace("{TYPE}",this.titleStr);let{transformedFormula1:r,transformedFormula2:n}=w1e(this._lexerTreeBuilder,e,t);return`${this.localeService.t(F1e[e.operator]).replace(D1e,null==r?"":r).replace(U1e,null==n?"":n)}`}};const W1e=["if","indirect","choose","offset"];var z1e=class extends o1e{constructor(...e){super(...e),l1e(this,"formulaService",this.injector.get(S1e)),l1e(this,"_lexer",this.injector.get(Ffe)),l1e(this,"_univerInstanceService",this.injector.get(dg)),l1e(this,"_listCacheService",this.injector.get(E1e)),l1e(this,"order",50),l1e(this,"offsetFormulaByRange",!1),l1e(this,"id",$g.LIST),l1e(this,"title","dataValidation.list.title"),l1e(this,"operators",[]),l1e(this,"scopes",["sheet"]),l1e(this,"skipDefaultFontRender",e=>e.renderMode!==Zg.TEXT)}validatorFormula(e,t,r){var n,i;let a=!uu.isBlank(e.formula1),o=function(e,t){if(!Bd(e)||Eme(e.slice(1)))return!0;let r=t.sequenceNodesBuilder(e);return r&&r.some(e=>"object"==typeof e&&e.nodeType===kfe.FUNCTION&&W1e.indexOf(e.token.toLowerCase())>-1)}(null==(n=e.formula1)?"":n,this._lexer),s=null==(i=this._univerInstanceService.getUnit(t,Pi.UNIVER_SHEET))||null==(i=i.getSheetBySheetId(r))?void 0:i.getName(),l=function(e,t){let{formula1:r="",ranges:n}=e;if(Eme(r.slice(1))){let e=jme(r.slice(1));if((!e.sheetName||e.sheetName===t)&&n.some(t=>Oh.intersects(t,e.range)))return!0}return!1}(e,null==s?"":s);return{success:!(!a||!o||l),formula1:a?o?l?this.localeService.t("dataValidation.validFail.listIntersects"):void 0:this.localeService.t("dataValidation.validFail.listInvalid"):this.localeService.t("dataValidation.validFail.list")}}getExtraStyle(e,t,{style:r}){var n;let i=null==(n=r.tb===Pu.OVERFLOW?Pu.CLIP:r.tb)?Pu.WRAP:n;if(e.type===$g.LIST&&(e.renderMode===Zg.ARROW||e.renderMode===Zg.TEXT)){let r=this.getListWithColorMap(e)[`${null==t?"":t}`];if(r)return{bg:{rgb:r},tb:i}}return{tb:i}}parseCellValue(e){return y1e(e.toString())}async parseFormula(e,t,r){var n;let i=await this.formulaService.getRuleFormulaResult(t,r,e.uid),a=h1e(null==i||null==(n=i[0])||null==(n=n.result)?void 0:n[0][0]);return{formula1:void 0,formula2:void 0,isFormulaValid:f1e(String(a))}}async isValidType(e,t,r){let{value:n,unitId:i,subUnitId:a}=e,{formula1:o=""}=r,s=Bd(o)?this._listCacheService.getOrCompute(i,a,r).list:y1e(o);return this.parseCellValue(n).every(e=>s.includes(e))}generateRuleName(){return this.localeService.t("dataValidation.list.name")}generateRuleErrorMessage(){return this.localeService.t("dataValidation.list.error")}_getUnitAndSubUnit(e,t){var r,n;let i=null==(r=e?this._univerInstanceService.getUniverSheetInstance(e):void 0)?this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET):r;if(!i)return null;let a=null==(n=t?i.getSheetBySheetId(t):void 0)?i.getActiveSheet():n;return a?{unitId:i.getUnitId(),subUnitId:a.getSheetId()}:null}getList(e,t,r){let n=this._getUnitAndSubUnit(t,r);if(!n)return[];let{unitId:i,subUnitId:a}=n;return this._listCacheService.getOrCompute(i,a,e).list}async getListAsync(e,t,r){var n;let{formula1:i=""}=e,a=this._getUnitAndSubUnit(t,r);if(!a)return[];let{unitId:o,subUnitId:s}=a,l=await this.formulaService.getRuleFormulaResult(o,s,e.uid);return Bd(i)?function(e){if(!e)return[];let t=new Set;for(let n=0,i=e.length;n{Sh.foreach(e,(e,r)=>{let n=h.getCellRaw(e,r),i=b1e(n);(q1e(n)||i===t)&&(null==n||!n.p)&&(f=!0,m.setValue(e,r,{v:t,p:null}))})})}if(r.forEach(r=>{switch(r.type){case"delete":l.push({id:BJe.id,params:{unitId:e,subUnitId:t,ruleId:r.rule.uid,source:i}}),u.unshift({id:UJe.id,params:{unitId:e,subUnitId:t,rule:r.rule,index:r.index,source:i}});break;case"update":{if(g1e(r.rule.type,s)){let n=r.oldRanges[0].startRow,a=r.oldRanges[0].startColumn,s=r.newRanges[0].startRow-n,c=r.newRanges[0].startColumn-a,d=Bd(r.rule.formula1)?o.moveFormulaRefOffset(r.rule.formula1,c,s):r.rule.formula1,h=Bd(r.rule.formula2)?o.moveFormulaRefOffset(r.rule.formula2,c,s):r.rule.formula2;d===r.rule.formula1&&h===r.rule.formula2&&Vf(r.newRanges,r.oldRanges)?(l.push({id:VJe.id,params:{unitId:e,subUnitId:t,ruleId:r.ruleId,payload:{type:MJe.RANGE,payload:r.newRanges},source:i}}),u.unshift({id:VJe.id,params:{unitId:e,subUnitId:t,ruleId:r.ruleId,payload:{type:MJe.RANGE,payload:r.oldRanges},source:i}})):(l.push({id:VJe.id,params:{unitId:e,subUnitId:t,ruleId:r.ruleId,payload:{type:MJe.ALL,payload:{formula1:d,formula2:h,ranges:r.newRanges}}}}),u.unshift({id:VJe.id,params:{unitId:e,subUnitId:t,ruleId:r.ruleId,payload:{type:MJe.ALL,payload:{formula1:r.rule.formula1,formula2:r.rule.formula2,ranges:r.oldRanges}}}}))}else l.push({id:VJe.id,params:{unitId:e,subUnitId:t,ruleId:r.ruleId,payload:{type:MJe.RANGE,payload:r.newRanges},source:i}}),u.unshift({id:VJe.id,params:{unitId:e,subUnitId:t,ruleId:r.ruleId,payload:{type:MJe.RANGE,payload:r.oldRanges},source:i}});let n=c.getRuleById(e,t,r.ruleId);if(n&&n.type===$g.CHECKBOX){let i=c.getValidator($g.CHECKBOX).parseFormulaSync(n,e,t);g(r.newRanges,i.formula2)}break}case"add":if(l.push({id:UJe.id,params:{unitId:e,subUnitId:t,rule:r.rule,source:i}}),u.unshift({id:BJe.id,params:{unitId:e,subUnitId:t,ruleId:r.rule.uid,source:i}}),r.rule.type===$g.CHECKBOX){let n=c.getValidator($g.CHECKBOX).parseFormulaSync(r.rule,e,t);g(r.rule.ranges,n.originFormula2)}}}),f){let r={id:Kwe.id,params:{unitId:e,subUnitId:t,cellValue:m.getData()}},i={id:Kwe.id,params:Zwe(n,r.params)};l.push(r),u.push(i)}return{redoMutations:l,undoMutations:u}}const Y1e={type:Bc.COMMAND,id:"sheet.command.updateDataValidationRuleRange",handler(e,t){if(!t)return!1;let{unitId:r,subUnitId:n,ranges:i,ruleId:a}=t,o=e.get(I1e),s=e.get(Vc),l=e.get(Pg);if(!o.getRuleById(r,n,a))return!1;let u=o.getRuleObjectMatrix(r,n).clone();u.updateRange(a,i);let{redoMutations:c,undoMutations:d}=G1e(r,n,u.diff(o.getRules(r,n)),e);return l.pushUndoRedo({undoMutations:d,redoMutations:c,unitID:r}),zc(c,s),!0}},Q1e={type:Bc.COMMAND,id:"sheet.command.addDataValidation",handler(e,t){if(!t)return!1;let{unitId:r,subUnitId:n,rule:i}=t,a=e.get(I1e),o=e.get(Vc),s=e.get(Pg),l=a.getRuleObjectMatrix(r,n).clone();l.addRule(i);let u=l.diff(a.getRules(r,n)),c=a.getValidator(i.type),d={unitId:r,subUnitId:n,rule:{...i,...null==c?void 0:c.normalizeFormula(i,r,n)}},{redoMutations:h,undoMutations:m}=G1e(r,n,u,e);return h.push({id:UJe.id,params:d}),m.unshift({id:BJe.id,params:{unitId:r,subUnitId:n,ruleId:i.uid}}),s.pushUndoRedo({unitID:r,redoMutations:h,undoMutations:m}),zc(h,o),!0}},Z1e={type:Bc.COMMAND,id:"sheets.command.update-data-validation-setting",handler(e,t){if(!t)return!1;let r=e.get(Vc),n=e.get(Pg),i=e.get(I1e),a=e.get(HJe),{unitId:o,subUnitId:s,ruleId:l,setting:u}=t,c=a.getValidatorItem(u.type);if(!c)return!1;let d=i.getRuleById(o,s,l);if(!d)return!1;let h={...d,...u};if(!c.validatorFormula(h,o,s).success)return!1;let m={unitId:o,subUnitId:s,ruleId:l,payload:{type:MJe.SETTING,payload:{...u,...c.normalizeFormula(h,o,s)}}},f=[{id:VJe.id,params:m}],g={unitId:o,subUnitId:s,ruleId:l,payload:{type:MJe.SETTING,payload:TJe(d)}},p=[{id:VJe.id,params:g}];if(u.type===$g.CHECKBOX){let t=d.ranges,r=W_e(e.get(dg),{unitId:o,subUnitId:s});if(r){let n=new kd,{worksheet:i}=r,{formula2:a=0,formula1:l=1}=d,{formula2:c=0,formula1:h=1}=u,m=!1;if(t.forEach(e=>{Sh.foreach(e,(e,t)=>{let r=i.getCellRaw(e,t),o=b1e(r);!q1e(r)&&o!==String(a)||null!=r&&r.p?o===String(l)&&(null==r||!r.p)&&(n.setValue(e,t,{v:h,p:null}),m=!0):(n.setValue(e,t,{v:c,p:null}),m=!0)})}),m){let t={id:Kwe.id,params:{unitId:o,subUnitId:s,cellValue:n.getData()}},r={id:Kwe.id,params:Zwe(e,t.params)};f.push(t),p.push(r)}}}return!!zc(f,r).result&&(n.pushUndoRedo({unitID:o,redoMutations:f,undoMutations:p}),!0)}},K1e={type:Bc.COMMAND,id:"sheets.command.update-data-validation-options",handler(e,t){if(!t)return!1;let r=e.get(Vc),n=e.get(Pg),i=e.get(I1e),{unitId:a,subUnitId:o,ruleId:s,options:l}=t,u=i.getRuleById(a,o,s);if(!u)return!1;let c={unitId:a,subUnitId:o,ruleId:s,payload:{type:MJe.OPTIONS,payload:l}},d=[{id:VJe.id,params:c}],h={unitId:a,subUnitId:o,ruleId:s,payload:{type:MJe.OPTIONS,payload:NJe(u)}},m=[{id:VJe.id,params:h}];return n.pushUndoRedo({unitID:a,redoMutations:d,undoMutations:m}),r.executeCommand(VJe.id,c),!0}},$1e={type:Bc.COMMAND,id:"sheets.command.clear-range-data-validation",handler(e,t){if(!t)return!1;let{unitId:r,subUnitId:n,ranges:i}=t,a=e.get(Vc),o=W_e(e.get(dg),{unitId:r,subUnitId:n}),s=e.get(I1e);if(!o)return!1;let l=e.get(Pg),u=s.getRuleObjectMatrix(r,n).clone();u.removeRange(i);let{redoMutations:c,undoMutations:d}=G1e(r,n,u.diff(s.getRules(r,n)),e);return l.pushUndoRedo({unitID:r,redoMutations:c,undoMutations:d}),zc(c,a).result}},J1e={type:Bc.COMMAND,id:"sheet.command.remove-all-data-validation",handler(e,t){if(!t)return!1;let{unitId:r,subUnitId:n}=t,i=e.get(Vc),a=e.get(I1e),o=e.get(Pg),s=[...a.getRules(r,n)],l={unitId:r,subUnitId:n,ruleId:s.map(e=>e.uid)},u=[{id:BJe.id,params:l}],c=[{id:UJe.id,params:{unitId:r,subUnitId:n,rule:s}}];return o.pushUndoRedo({redoMutations:u,undoMutations:c,unitID:r}),i.executeCommand(BJe.id,l),!0}},e0e=(e,t)=>{let r=e.get(I1e),{unitId:n,subUnitId:i,ruleId:a,source:o}=t;if(Array.isArray(a)){let e=a.map(e=>r.getRuleById(n,i,e)).filter(Boolean);return[{id:UJe.id,params:{unitId:n,subUnitId:i,rule:e,source:o}}]}return[{id:UJe.id,params:{unitId:n,subUnitId:i,rule:{...r.getRuleById(n,i,a)},index:r.getRuleIndex(n,i,a)}}]},t0e={type:Bc.COMMAND,id:"sheet.command.remove-data-validation-rule",handler(e,t){if(!t)return!1;let{unitId:r,subUnitId:n,ruleId:i}=t,a=e.get(Vc),o=e.get(Pg),s=e.get(I1e),l=[{id:BJe.id,params:t}],u=[{id:UJe.id,params:{unitId:r,subUnitId:n,rule:{...s.getRuleById(r,n,i)},index:s.getRuleIndex(r,n,i)}}];return o.pushUndoRedo({undoMutations:u,redoMutations:l,unitID:t.unitId}),a.executeCommand(BJe.id,t),!0}},r0e="SHEET_DATA_VALIDATION_PLUGIN";let n0e=class extends tu{constructor(e,t,r){super(),this._univerInstanceService=e,this._permissionService=t,this._lexerTreeBuilder=r}getFormulaRefCheck(e){let t=this._lexerTreeBuilder.sequenceNodesBuilder(e);if(!t)return!0;for(let e=0;e{g1e(r.type,this._validatorRegistryService)&&this.register(e,t,r)}),this._initRefRange()}_getIdWithUnitId(e,t,r){return`${e}_${t}_${r}`}register(e,t,r){let n=r.ranges,i=r.formula1,a=r.formula2,o=this._formulaRefRangeService.registerRangeFormula(e,t,n,[null==i?"":i,null==a?"":a],o=>{if(0===o.length)return{undos:[{id:UJe.id,params:{unitId:e,subUnitId:t,rule:r,source:"patched"}}],redos:[{id:BJe.id,params:{unitId:e,subUnitId:t,ruleId:r.uid,source:"patched"}}]};let s=[],l=[],u=o[0];s.push({id:VJe.id,params:{unitId:e,subUnitId:t,ruleId:r.uid,payload:{type:MJe.ALL,payload:{ranges:u.ranges,formula1:u.formulas[0],formula2:u.formulas[1]}},source:"patched"}}),l.push({id:VJe.id,params:{unitId:e,subUnitId:t,ruleId:r.uid,payload:{type:MJe.ALL,payload:{ranges:n,formula1:i,formula2:a}},source:"patched"}});for(let n=1;n{let{unitId:t,subUnitId:r,rule:n}=e;switch(e.type){case"add":{let t=e.rule;this.registerRule(e.unitId,e.subUnitId,t);break}case"remove":{let e=this._disposableMap.get(this._getIdWithUnitId(t,r,n.uid));e&&e.dispose();break}case"update":{let n=e.rule,i=this._disposableMap.get(this._getIdWithUnitId(t,r,n.uid));i&&i.dispose(),this.registerRule(e.unitId,e.subUnitId,n);break}}})),this.disposeWithMe(Jl(()=>{this._disposableMap.forEach(e=>{e.dispose()}),this._disposableMap.clear()}))}};o0e=c1e([u1e(0,Y(I1e)),u1e(1,Y(lOe)),u1e(2,Y(HJe))],o0e);let s0e=class extends tu{constructor(e,t,r,n,i,a){super(),this._dataValidationModel=e,this._injector=t,this._refRangeService=r,this._dataValidationFormulaService=n,this._formulaRefRangeService=i,this._validatorRegistryService=a,l1e(this,"_disposableMap",new Map),l1e(this,"registerRule",(e,t,r)=>{g1e(r.type,this._validatorRegistryService)||(this.register(e,t,r),this.registerFormula(e,t,r))}),this._initRefRange()}_getIdWithUnitId(e,t,r){return`${e}_${t}_${r}`}registerFormula(e,t,r){var n;let i=r.uid,a=this._getIdWithUnitId(e,t,i),o=null==(n=this._disposableMap.get(a))?new Set:n,s=(n,a)=>{let o=this._dataValidationModel.getRuleById(e,t,i);if(!o)return{redos:[],undos:[]};let s=o[n];if(!s||s===a)return{redos:[],undos:[]};let l={unitId:e,subUnitId:t,ruleId:r.uid,payload:{type:MJe.SETTING,payload:{type:o.type,formula1:o.formula1,formula2:o.formula2,[n]:a}},source:"patched"},u={unitId:e,subUnitId:t,ruleId:r.uid,payload:{type:MJe.SETTING,payload:{type:o.type,formula1:o.formula1,formula2:o.formula2}},source:"patched"};return{redos:[{id:VJe.id,params:l}],undos:[{id:VJe.id,params:u}]}},l=this._dataValidationFormulaService.getRuleFormulaInfo(e,t,i);if(l){let[r,n]=l;if(r){let n=this._formulaRefRangeService.registerFormula(e,t,r.text,e=>s("formula1",e));o.add(()=>n.dispose())}if(n){let r=this._formulaRefRangeService.registerFormula(e,t,n.text,e=>s("formula2",e));o.add(()=>r.dispose())}}}register(e,t,r){var n;let i=n=>{let i=[...r.ranges],a=i.map(e=>kIe(e,n)).filter(e=>!!e).flat();if(Vf(a,i))return{redos:[],undos:[]};if(a.length){let n={unitId:e,subUnitId:t,ruleId:r.uid,payload:{type:MJe.RANGE,payload:a},source:"patched"};return{redos:[{id:VJe.id,params:n}],undos:[{id:VJe.id,params:{unitId:e,subUnitId:t,ruleId:r.uid,payload:{type:MJe.RANGE,payload:i},source:"patched"}}]}}{let n={unitId:e,subUnitId:t,ruleId:r.uid};return{redos:[{id:BJe.id,params:n}],undos:e0e(this._injector,n)}}},a=[];r.ranges.forEach(r=>{let n=this._refRangeService.registerRefRange(r,i,e,t);a.push(()=>n.dispose())});let o=this._getIdWithUnitId(e,t,r.uid),s=null==(n=this._disposableMap.get(o))?new Set:n;s.add(()=>a.forEach(e=>e())),this._disposableMap.set(o,s)}_initRefRange(){let e=this._dataValidationModel.getAll();for(let[t,r]of e)for(let[e,n]of r)for(let r of n)this.registerRule(t,e,r);this.disposeWithMe(this._dataValidationModel.ruleChange$.subscribe(e=>{let{unitId:t,subUnitId:r,rule:n}=e;switch(e.type){case"add":{let t=e.rule;this.registerRule(e.unitId,e.subUnitId,t);break}case"remove":{let e=this._disposableMap.get(this._getIdWithUnitId(t,r,n.uid));e&&e.forEach(e=>e());break}case"update":{let n=e.rule,i=this._disposableMap.get(this._getIdWithUnitId(t,r,n.uid));i&&i.forEach(e=>e()),this.registerRule(e.unitId,e.subUnitId,n);break}}})),this.disposeWithMe(Jl(()=>{this._disposableMap.forEach(e=>{e.forEach(e=>e())}),this._disposableMap.clear()}))}};s0e=c1e([u1e(0,Y(I1e)),u1e(1,Y(he)),u1e(2,Y(VIe)),u1e(3,Y(S1e)),u1e(4,Y(lOe)),u1e(5,Y(HJe))],s0e);let l0e=class extends tu{constructor(e,t,r){super(),this._sheetInterceptorService=e,this._univerInstanceService=t,this._sheetDataValidationModel=r,this._initSheetChange()}_initSheetChange(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>{if(e.id===Hxe.id){var t;let r=e.params,n=r.unitId||this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET).getUnitId(),i=this._univerInstanceService.getUniverSheetInstance(n);if(!i)return{redos:[],undos:[]};let a=r.subUnitId||(null==(t=i.getActiveSheet())?void 0:t.getSheetId());if(!a)return{redos:[],undos:[]};let o=this._sheetDataValidationModel.getRules(n,a);if(0===o.length)return{redos:[],undos:[]};let s={unitId:n,subUnitId:a,ruleId:o.map(e=>e.uid),source:"patched"},l={unitId:n,subUnitId:a,rule:[...o],source:"patched"};return{redos:[{id:BJe.id,params:s}],undos:[{id:UJe.id,params:l}]}}if(e.id===Mxe.id){let{unitId:t,subUnitId:r,targetSubUnitId:n}=e.params;if(!t||!r||!n)return{redos:[],undos:[]};let i=this._sheetDataValidationModel.getRules(t,r);if(0===i.length)return{redos:[],undos:[]};let a=i.map(e=>({...e,uid:cu(6)}));return{redos:[{id:UJe.id,params:{unitId:t,subUnitId:n,rule:a,source:"patched"}}],undos:[{id:BJe.id,params:{unitId:t,subUnitId:n,ruleId:a.map(e=>e.uid),source:"patched"}}]}}return{redos:[],undos:[]}}}))}};l0e=c1e([u1e(0,Y(iwe)),u1e(1,Y(dg)),u1e(2,Y(I1e))],l0e);var u0e=class extends o1e{constructor(...e){super(...e),l1e(this,"id",$g.ANY),l1e(this,"title","dataValidation.any.title"),l1e(this,"operators",[]),l1e(this,"scopes",["sheet"]),l1e(this,"order",0),l1e(this,"offsetFormulaByRange",!1)}async parseFormula(e,t,r){return{formula1:e.formula1,formula2:e.formula2,isFormulaValid:!0}}validatorFormula(e,t,r){return{success:!0}}async isValidType(e,t,r){return!0}generateRuleErrorMessage(e){return this.localeService.t("dataValidation.any.error")}},c0e=class extends o1e{constructor(...e){super(...e),l1e(this,"id",$g.CUSTOM),l1e(this,"title","dataValidation.custom.title"),l1e(this,"operators",[]),l1e(this,"scopes",["sheet"]),l1e(this,"order",60),l1e(this,"_customFormulaService",this.injector.get(p1e)),l1e(this,"_lexerTreeBuilder",this.injector.get(Ffe))}validatorFormula(e,t,r){var n;let i=Bd(e.formula1),a=null==(n=e.formula1)?"":n,o=0===this._lexerTreeBuilder.checkIfAddBracket(a)&&a.startsWith(nhe.EQUALS);return{success:i&&o,formula1:i&&o?"":this.localeService.t("dataValidation.validFail.formula")}}async parseFormula(e,t,r){return{formula1:void 0,formula2:void 0,isFormulaValid:!0}}async isValidType(e,t,r){let{column:n,row:i,unitId:a,subUnitId:o}=e,s=await this._customFormulaService.getCellFormulaValue(a,o,r.uid,i,n),l=null==s?void 0:s.v;return!(!f1e(String(l))||!uu.isDefine(l)||""===l)&&(s.t===Fu.BOOLEAN?!!l:"boolean"==typeof l?l:"number"==typeof l?!!l:"string"==typeof l?f1e(l):!!l)}generateRuleErrorMessage(e){return this.localeService.t("dataValidation.custom.error")}generateRuleName(e){var t;return this.localeService.t("dataValidation.custom.ruleName").replace("{FORMULA1}",null==(t=e.formula1)?"":t)}},d0e=class extends z1e{constructor(...e){super(...e),l1e(this,"id",$g.LIST_MULTIPLE),l1e(this,"title","dataValidation.listMultiple.title"),l1e(this,"offsetFormulaByRange",!1),l1e(this,"skipDefaultFontRender",()=>!0)}},h0e=class extends o1e{constructor(...e){super(...e),l1e(this,"_customFormulaService",this.injector.get(p1e)),l1e(this,"_lexerTreeBuilder",this.injector.get(Ffe)),l1e(this,"id",$g.WHOLE),l1e(this,"title","dataValidation.whole.title"),l1e(this,"order",10),l1e(this,"operators",[Qg.BETWEEN,Qg.EQUAL,Qg.GREATER_THAN,Qg.GREATER_THAN_OR_EQUAL,Qg.LESS_THAN,Qg.LESS_THAN_OR_EQUAL,Qg.NOT_BETWEEN,Qg.NOT_EQUAL]),l1e(this,"scopes",["sheet"])}_isFormulaOrInt(e){return!uu.isBlank(e)&&(Bd(e)||!Number.isNaN(+e)&&Number.isInteger(+e))}async isValidType(e,t,r){let{value:n}=e,i=j1e(n);return!Number.isNaN(i)&&Number.isInteger(i)}transform(e,t,r){let{value:n}=e;return{...e,value:j1e(n)}}_parseNumber(e){return null==e?NaN:+e}async parseFormula(e,t,r,n,i){let a=await this._customFormulaService.getCellFormulaValue(t,r,e.uid,n,i),o=await this._customFormulaService.getCellFormula2Value(t,r,e.uid,n,i),{formula1:s,formula2:l}=e,u=Bd(s)?null==a?void 0:a.v:s,c=Bd(l)?null==o?void 0:o.v:l,d=f1e(`${u}`)&&f1e(`${c}`);return{formula1:this._parseNumber(u),formula2:this._parseNumber(c),isFormulaValid:d}}validatorFormula(e,t,r){let n=e.operator;if(!n)return{success:!0};let i=uu.isDefine(e.formula1)&&this._isFormulaOrInt(e.formula1),a=uu.isDefine(e.formula2)&&this._isFormulaOrInt(e.formula2),o=P1e.includes(n),s=this.localeService.t("dataValidation.validFail.number");return o?{success:i&&a,formula1:i?void 0:s,formula2:a?void 0:s}:{success:i,formula1:s}}generateRuleErrorMessage(e,t){if(!e.operator)return this.localeService.t(F1e.NONE).replace("{TYPE}",this.titleStr);let{transformedFormula1:r,transformedFormula2:n}=w1e(this._lexerTreeBuilder,e,t);return`${this.localeService.t(F1e[e.operator]).replace(D1e,null==r?"":r).replace(U1e,null==n?"":n)}`}};let m0e=class extends ru{constructor(e,t,r,n,i,a){super(),this._univerInstanceService=e,this._dataValidatorRegistryService=t,this._injector=r,this._selectionManagerService=n,this._sheetInterceptorService=i,this._sheetDataValidationModel=a,this._init()}_init(){this._registerValidators(),this._initCommandInterceptor()}_registerValidators(){[u0e,H1e,h0e,X1e,V1e,M1e,z1e,d0e,c0e].forEach(e=>{let t=this._injector.createInstance(e);this.disposeWithMe(this._dataValidatorRegistryService.register(t)),this.disposeWithMe(Jl(()=>this._injector.delete(e)))})}_initCommandInterceptor(){this._sheetInterceptorService.interceptCommand({getMutations:e=>{if(e.id===aSe.id){var t;let e=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET),r=e.getUnitId(),n=e.getActiveSheet();if(!n)throw Error("No active sheet found");let i=n.getSheetId(),a=null==(t=this._selectionManagerService.getCurrentSelections())?void 0:t.map(e=>e.range),o=this._sheetDataValidationModel.getRuleObjectMatrix(r,i).clone();a&&o.removeRange(a);let{redoMutations:s,undoMutations:l}=G1e(r,i,o.diff(this._sheetDataValidationModel.getRules(r,i)),this._injector,"patched");return{undos:l,redos:s}}return{undos:[],redos:[]}}})}};m0e=c1e([u1e(0,dg),u1e(1,Y(HJe)),u1e(2,Y(he)),u1e(3,Y(rSe)),u1e(4,Y(iwe)),u1e(5,Y(I1e))],m0e);let f0e=class extends tu{constructor(e,t,r,n){super(),this._univerInstanceService=e,this._sheetDataValidationModel=t,this._dataValidationCacheService=r,this._lifecycleService=n,this._initRecalculate()}_initRecalculate(){let e=e=>{if(0===e.length)return;let t=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET),r=null==t?void 0:t.getActiveSheet(),n={};e.flat().forEach(e=>{n[e.unitId]||(n[e.unitId]={}),n[e.unitId][e.subUnitId]||(n[e.unitId][e.subUnitId]=[]);let t=this._univerInstanceService.getUnit(e.unitId,Pi.UNIVER_SHEET),r=null==t?void 0:t.getSheetBySheetId(e.subUnitId);r&&n[e.unitId][e.subUnitId].push(...e.ranges.map(e=>Sh.transformRange(e,r)))}),Object.entries(n).forEach(([e,n])=>{Object.entries(n).forEach(([n,i])=>{(null==t?void 0:t.getUnitId())===e&&(null==r?void 0:r.getSheetId())===n?this.validatorRanges(e,n,i):requestIdleCallback(()=>{this.validatorRanges(e,n,i)})})})};this.disposeWithMe(this._dataValidationCacheService.dirtyRanges$.pipe(Mue(()=>this._lifecycleService.lifecycle$.pipe(Un(e=>e===mg.Rendered)))).subscribe(e)),this.disposeWithMe(this._dataValidationCacheService.dirtyRanges$.pipe(Un(()=>this._lifecycleService.stage>=mg.Rendered),Yc(20)).subscribe(e))}async _validatorByCell(e,t,r,n){let i=e.getUnitId(),a=t.getSheetId();if(!uu.isDefine(r)||!uu.isDefine(n))throw Error(`row or col is not defined, row: ${r}, col: ${n}`);let o=r,s=n,l=t.getMergedCell(r,n);l&&(o=l.startRow,s=l.startColumn);let u=this._sheetDataValidationModel.getRuleByLocation(i,a,o,s);return u?new Promise(r=>{this._sheetDataValidationModel.validator(u,{unitId:i,subUnitId:a,row:o,col:s,worksheet:t,workbook:e},e=>{r(e)})}):Kg.VALID}async validatorCell(e,t,r,n){let i=this._univerInstanceService.getUnit(e,Pi.UNIVER_SHEET);if(!i)throw Error(`cannot find current workbook, unitId: ${e}`);let a=i.getSheetBySheetId(t);if(!a)throw Error(`cannot find current worksheet, sheetId: ${t}`);return this._validatorByCell(i,a,r,n)}async validatorRanges(e,t,r){if(!r.length)return Promise.resolve([]);let n=this._univerInstanceService.getUnit(e,Pi.UNIVER_SHEET);if(!n)throw Error(`cannot find current workbook, unitId: ${e}`);let i=n.getSheetBySheetId(t);if(!i)throw Error(`cannot find current worksheet, sheetId: ${t}`);let a=this._sheetDataValidationModel.getRules(e,t).map(e=>e.ranges).flat(),o=r.map(e=>a.map(t=>xh(e,t))).flat().filter(Boolean),s=[],l=await Promise.all(o.map((e,t)=>{let r=[];for(let a=e.startRow;a<=e.endRow;a++)for(let o=e.startColumn;o<=e.endColumn;o++){r.push(this._validatorByCell(n,i,a,o));let e=i.getMergedCell(a,o);e&&s.push({resultRowIndex:t,resultColIndex:r.length-1,row:e.startRow,col:e.startColumn})}return Promise.all(r)}));return s.length&&s.forEach(({resultRowIndex:r,resultColIndex:n,row:i,col:a})=>{var o;l[r][n]===Kg.VALIDATING&&(l[r][n]=null==(o=this._dataValidationCacheService.getValue(e,t,i,a))?Kg.VALID:o)}),l}async validatorWorksheet(e,t){let r=this._univerInstanceService.getUnit(e,Pi.UNIVER_SHEET);if(!r)throw Error(`cannot find current workbook, unitId: ${e}`);let n=r.getSheetBySheetId(t);if(!n)throw Error(`cannot find current worksheet, sheetId: ${t}`);let i=this._sheetDataValidationModel.getRules(e,t);return await Promise.all(i.map(e=>Promise.all(e.ranges.map(e=>{let t=[];return Sh.foreach(e,(e,i)=>{t.push(this._validatorByCell(r,n,e,i))}),Promise.all(t)})))),this._dataValidationCacheService.ensureCache(e,t)}async validatorWorkbook(e){let t=this._sheetDataValidationModel.getSubUnitIds(e),r=await Promise.all(t.map(t=>this.validatorWorksheet(e,t))),n={};return r.forEach((e,r)=>{n[t[r]]=e}),n}getDataValidations(e,t,r){let n=this._sheetDataValidationModel.getRuleObjectMatrix(e,t),i=new Set;return r.forEach(e=>{Sh.foreach(e,(e,t)=>{let r=n.getValue(e,t);r&&i.add(r)})}),Array.from(i).map(r=>this._sheetDataValidationModel.getRuleById(e,t,r)).filter(Boolean)}getDataValidation(e,t,r){return this.getDataValidations(e,t,r)[0]}};f0e=c1e([u1e(0,dg),u1e(1,Y(I1e)),u1e(2,Y(d1e)),u1e(3,Y(pg))],f0e);let g0e=class extends Rg{constructor(e=a0e,t,r,n){super(),this._config=e,this._injector=t,this._commandService=r,this._configService=n;let{...i}=hr({},a0e,this._config);this._configService.setConfig(i0e,i)}onStarting(){[[d1e],[E1e],[S1e],[p1e],[f0e],[I1e],[m0e],[n0e],[l0e],[s0e],[o0e]].forEach(e=>{this._injector.add(e)}),[Q1e,Y1e,Z1e,K1e,t0e,J1e,$1e].forEach(e=>{this._commandService.registerCommand(e)}),this._injector.get(d1e),this._injector.get(f0e),this._injector.get(m0e),this._injector.get(o0e),this._injector.get(s0e)}onReady(){this._injector.get(l0e)}onRendered(){this._injector.get(n0e)}};function p0e(e){let t=e.get(rSe).getCurrentSelections().map(e=>e.range);return{uid:cu(6),type:$g.DECIMAL,operator:Qg.EQUAL,formula1:"100",ranges:null==t?[{startColumn:0,endColumn:0,startRow:0,endRow:0}]:t}}l1e(g0e,"pluginName",r0e),l1e(g0e,"packageName","@univerjs/sheets-data-validation"),l1e(g0e,"version","0.19.0"),l1e(g0e,"type",Pi.UNIVER_SHEET),g0e=c1e([Tg(gOe,ZJe),u1e(1,Y(he)),u1e(2,Vc),u1e(3,Tc)],g0e);const v0e="data-validation.custom-formula-input",b0e="data-validation.formula-input",C0e="data-validation.list-formula-input",y0e="data-validation.checkbox-formula-input",_0e={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.4917 3.07803C1.4917 2.19437 2.20804 1.47803 3.0917 1.47803H5.6917C6.57536 1.47803 7.2917 2.19437 7.2917 3.07803V5.67803C7.2917 6.56168 6.57535 7.27803 5.6917 7.27803H3.0917C2.20804 7.27803 1.4917 6.56168 1.4917 5.67803V3.07803ZM3.0917 2.67803C2.87078 2.67803 2.6917 2.85711 2.6917 3.07803V5.67803C2.6917 5.89894 2.87079 6.07803 3.0917 6.07803H5.6917C5.91261 6.07803 6.0917 5.89894 6.0917 5.67803V3.07803C6.0917 2.85711 5.91261 2.67803 5.6917 2.67803H3.0917Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M14.6175 2.45279C14.8518 2.68711 14.8518 3.06701 14.6175 3.30132L11.6151 6.30365C11.3957 6.52307 11.0451 6.53897 10.8067 6.34031L8.80915 4.67566C8.55458 4.46352 8.52019 4.08518 8.73233 3.83062C8.94447 3.57605 9.32281 3.54166 9.57737 3.7538L11.154 5.06767L13.769 2.45278C14.0033 2.21847 14.3832 2.21848 14.6175 2.45279Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M14.1175 9.19746C14.3518 9.43178 14.3518 9.81168 14.1175 10.046L12.5418 11.6217L14.1175 13.1975C14.3518 13.4318 14.3518 13.8117 14.1175 14.046C13.8832 14.2803 13.5033 14.2803 13.269 14.046L11.6933 12.4703L10.1175 14.046C9.88321 14.2803 9.50331 14.2803 9.269 14.046C9.03468 13.8117 9.03468 13.4318 9.269 13.1975L10.8447 11.6217L9.269 10.046C9.03468 9.81168 9.03468 9.43178 9.269 9.19746C9.50331 8.96315 9.88321 8.96315 10.1175 9.19746L11.6933 10.7732L13.269 9.19746C13.5033 8.96315 13.8832 8.96315 14.1175 9.19746Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M3.0917 8.72168C2.20804 8.72168 1.4917 9.43802 1.4917 10.3217V12.9217C1.4917 13.8053 2.20804 14.5217 3.0917 14.5217H5.6917C6.57535 14.5217 7.2917 13.8053 7.2917 12.9217V10.3217C7.2917 9.43802 6.57536 8.72168 5.6917 8.72168H3.0917ZM2.6917 10.3217C2.6917 10.1008 2.87078 9.92168 3.0917 9.92168H5.6917C5.91261 9.92168 6.0917 10.1008 6.0917 10.3217V12.9217C6.0917 13.1426 5.91261 13.3217 5.6917 13.3217H3.0917C2.87079 13.3217 2.6917 13.1426 2.6917 12.9217V10.3217Z",fillRule:"evenodd",clipRule:"evenodd"}}]},w0e=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"data-validation-icon",ref:t,icon:_0e}))});w0e.displayName="DataValidationIcon";var E0e="@univerjs/sheets-data-validation-ui",S0e="0.19.0";function A0e(e){return A0e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},A0e(e)}function I0e(e,t,r){return(t=function(e){var t=function(e){if("object"!=A0e(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=A0e(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==A0e(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function R0e(e,t){return function(r,n){t(r,n,e)}}function x0e(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}let T0e=class extends tu{get activeRule(){return this._activeRule}get isOpen(){return this._open$.getValue()}constructor(e,t){super(),this._univerInstanceService=e,this._sidebarService=t,I0e(this,"_open$",new Qn(!1)),I0e(this,"open$",this._open$.pipe(Zn())),I0e(this,"_activeRule",void 0),I0e(this,"_activeRule$",new Qn(void 0)),I0e(this,"activeRule$",this._activeRule$.asObservable()),I0e(this,"_closeDisposable",null),I0e(this,"_focusFormulaEditorActiveRuleSubUnitId",null),this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET).pipe(Un(e=>!e)).subscribe(()=>{this.close()})),this.disposeWithMe(this._sidebarService.sidebarOptions$.subscribe(e=>{"DataValidationPanel"===e.id&&(e.visible||setTimeout(()=>{this._sidebarService.sidebarOptions$.next({visible:!1})}))}))}dispose(){var e;super.dispose(),this._open$.next(!1),this._open$.complete(),this._activeRule$.complete(),null==(e=this._closeDisposable)||e.dispose()}open(){this._open$.next(!0)}close(){var e;this._open$.next(!1),null==(e=this._closeDisposable)||e.dispose()}setCloseDisposable(e){this._closeDisposable=Jl(()=>{e.dispose(),this._closeDisposable=null})}setActiveRule(e){this._activeRule=e,this._activeRule$.next(e)}setFocusFormulaEditorActiveRuleSubUnitId(e){this._focusFormulaEditorActiveRuleSubUnitId=e}getFocusFormulaEditorActiveRuleSubUnitId(){return this._focusFormulaEditorActiveRuleSubUnitId}};T0e=x0e([R0e(0,dg),R0e(1,V5)],T0e);const N0e="sheets-data-validation-ui.config";Symbol(N0e);const M0e={};let O0e=class extends tu{constructor(e,t,r,n,i,a){super(),this._sheetInterceptorService=e,this._dataValidationModel=t,this._dataValidatorRegistryService=r,this._dialogService=n,this._localeService=i,this._sheetsDataValidationValidatorService=a,this._initEditorBridgeInterceptor()}_initEditorBridgeInterceptor(){this.disposeWithMe(this._sheetInterceptorService.writeCellInterceptor.intercept(nwe,{handler:async(e,t,r)=>{let n=await e,{row:i,col:a,unitId:o,subUnitId:s}=t,l=this._dataValidationModel.getRuleIdByLocation(o,s,i,a),u=l?this._dataValidationModel.getRuleById(o,s,l):void 0;if(!1===n)return r(Promise.resolve(!1));if(!u||u.errorStyle!==Yg.STOP)return r(Promise.resolve(!0));let c=this._dataValidatorRegistryService.getValidatorItem(u.type);return c&&await this._sheetsDataValidationValidatorService.validatorCell(o,s,i,a)!==Kg.VALID?(this._dialogService.open({width:368,title:{title:this._localeService.t("dataValidation.alert.title")},id:"reject-input-dialog",children:{title:c.getRuleFinalError(u,{row:i,col:a,unitId:o,subUnitId:s})},footer:{title:(0,_q.createElement)(O7,{variant:"primary",onClick:()=>this._dialogService.close("reject-input-dialog")},this._localeService.t("dataValidation.alert.ok"))},onClose:()=>{this._dialogService.close("reject-input-dialog")}}),r(Promise.resolve(!1))):r(Promise.resolve(!0))}}))}showReject(e){this._dialogService.open({width:368,title:{title:this._localeService.t("dataValidation.alert.title")},id:"reject-input-dialog",children:{title:e},footer:{title:(0,_q.createElement)(O7,{variant:"primary",onClick:()=>this._dialogService.close("reject-input-dialog")},this._localeService.t("dataValidation.alert.ok"))},onClose:()=>{this._dialogService.close("reject-input-dialog")}})}};O0e=x0e([R0e(0,Y(iwe)),R0e(1,Y(I1e)),R0e(2,Y(HJe)),R0e(3,Jte),R0e(4,Y(Cg)),R0e(5,Y(f0e))],O0e);const L0e=e=>{if(null==e||"boolean"==typeof e)return;if(""===e)return As()();if("number"==typeof e||!Number.isNaN(+e))return As()(gs("yyyy-MM-dd HH:mm:ss",Number(e)));let t=As()(e);return t.isValid()?t:void 0};function k0e(e,t){if(e===Vze(t))return t;switch(e){case"datetime":return"yyyy-MM-dd hh:mm:ss";case"date":return"yyyy-MM-dd";case"time":return"HH:mm:ss"}}let P0e=class extends tu{get activeDropdown(){return this._activeDropdown}constructor(e,t,r,n,i,a,o,s,l,u,c){super(),this._univerInstanceService=e,this._dataValidatorRegistryService=t,this._zenZoneService=r,this._dataValidationModel=n,this._sheetsSelectionsService=i,this._cellDropdownManagerService=a,this._sheetDataValidationModel=o,this._commandService=s,this._editorBridgeService=l,this._injector=u,this._configService=c,I0e(this,"_activeDropdown",void 0),I0e(this,"_activeDropdown$",new On),I0e(this,"_currentPopup",null),I0e(this,"activeDropdown$",this._activeDropdown$.asObservable()),I0e(this,"_zenVisible",!1),this._init(),this._initSelectionChange(),this.disposeWithMe(()=>{this._activeDropdown$.complete()})}_init(){this.disposeWithMe(this._zenZoneService.visible$.subscribe(e=>{this._zenVisible=e,e&&this.hideDropdown()}))}_getDropdownByCell(e,t,r,n){let i=e?this._univerInstanceService.getUnit(e,Pi.UNIVER_SHEET):this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET);if(!i)return;let a=t?i.getSheetBySheetId(t):i.getActiveSheet();if(!a)return;let o=this._dataValidationModel.getRuleByLocation(i.getUnitId(),a.getSheetId(),r,n);if(!o)return;let s=this._dataValidatorRegistryService.getValidatorItem(o.type);return null==s?void 0:s.dropdownType}_initSelectionChange(){this.disposeWithMe(this._sheetsSelectionsService.selectionMoveEnd$.subscribe(e=>{e&&e.every(e=>!(e.primary&&this._getDropdownByCell(e.primary.unitId,e.primary.sheetId,e.primary.actualRow,e.primary.actualColumn)))&&this.hideDropdown()}))}showDropdown(e){let{location:t}=e,{row:r,col:n,unitId:i,subUnitId:a,workbook:o,worksheet:s}=t;if(this._currentPopup&&this._currentPopup.dispose(),this._zenVisible)return;this._activeDropdown=e,this._activeDropdown$.next(this._activeDropdown);let l=this._sheetDataValidationModel.getRuleByLocation(i,a,r,n);if(!l)return;let u=this._dataValidatorRegistryService.getValidatorItem(l.type);if(null==u||!u.dropdownType)return;let c,d,h=async(e,t)=>{var c,d,h;if(!e)return!0;let m=e,f=s.getCell(r,n),g=m.format("date"===t?"YYYY-MM-DD 00:00:00":"YYYY-MM-DD HH:mm:ss"),p=null==(c=Do(g))?void 0:c.v,v="time"===t?p%1:p,b=o.getStyles().getStyleByCell(f),C=null==(d=null==b||null==(h=b.n)?void 0:h.pattern)?"":d;return l.errorStyle!==Yg.STOP||await u.validator({value:v,unitId:i,subUnitId:a,row:r,column:n,worksheet:s,workbook:o,interceptValue:g.replace("Z","").replace("T"," "),t:Fu.NUMBER},l)?(await this._commandService.executeCommand(mAe.id,{unitId:i,subUnitId:a,range:{startColumn:n,endColumn:n,startRow:r,endRow:r},value:{v,t:2,p:null,f:null,si:null,s:{n:{pattern:k0e(t,C)}}}}),await this._commandService.executeCommand(sDe.id,{visible:!1,eventType:FF.Keyboard,unitId:i,keycode:x8.ESC}),!0):(this._injector.has(O0e)&&this._injector.get(O0e).showReject(u.getRuleFinalError(l,{row:r,col:n,unitId:i,subUnitId:a})),!1)};switch(u.dropdownType){case a1e.DATE:{var m;let e=L0e(v1e(s.getCellRaw(r,n))),i=!(null==(m=l.bizInfo)||!m.showTime);d={location:t,type:"datepicker",props:{showTime:i,onChange:e=>h(e,i?"datetime":"date"),defaultValue:e,patternType:"date"}};break}case a1e.TIME:d={location:t,type:"datepicker",props:{onChange:e=>h(e,"time"),defaultValue:L0e(v1e(s.getCellRaw(r,n))),patternType:"time"}};break;case a1e.DATETIME:d={location:t,type:"datepicker",props:{onChange:e=>h(e,"datetime"),defaultValue:L0e(v1e(s.getCellRaw(r,n))),patternType:"datetime"}};break;case a1e.LIST:case a1e.MULTIPLE_LIST:{var f,g,p,v;let e=u.dropdownType===a1e.MULTIPLE_LIST,o=async t=>{let o=C1e(t),s={unitId:i,subUnitId:a,range:{startColumn:n,endColumn:n,startRow:r,endRow:r},value:{v:o,p:null,f:null,si:null}};return this._commandService.executeCommand(mAe.id,s),this._editorBridgeService.isVisible().visible&&await this._commandService.executeCommand(sDe.id,{visible:!1,eventType:FF.Keyboard,unitId:i,keycode:x8.ESC}),!e},h=(null==l?void 0:l.renderMode)===Zg.CUSTOM||void 0===(null==l?void 0:l.renderMode),m=u.getListWithColor(l,i,a),b=_1e(s.getCellRaw(r,n));d={location:t,type:"list",props:{onChange:e=>o(e),options:m.map(e=>({label:e.label,value:e.label,color:h||e.color?e.color||"#ECECEC":"transparent"})),onEdit:()=>{this._commandService.executeCommand(U0e.id,{ruleId:l.uid}),null==c||c.dispose()},defaultValue:b,multiple:e,showEdit:null==(f=null==(g=this._configService.getConfig("sheets-data-validation-ui.config"))?void 0:g.showEditOnDropdown)||f,showSearch:null==(p=null==(v=this._configService.getConfig("sheets-data-validation-ui.config"))?void 0:v.showSearchOnDropdown)||p}};break}case a1e.CASCADE:var b;d={type:"cascader",props:{onChange:e=>{let t={unitId:i,subUnitId:a,range:{startColumn:n,endColumn:n,startRow:r,endRow:r},value:{v:e.join("/"),p:null,f:null,si:null}};return this._commandService.syncExecuteCommand(mAe.id,t),this._editorBridgeService.isVisible().visible&&this._commandService.syncExecuteCommand(sDe.id,{visible:!1,eventType:FF.Keyboard,unitId:i,keycode:x8.ESC}),!0},defaultValue:_1e(s.getCellRaw(r,n)).split("/"),options:JSON.parse(null==(b=l.formula1)?"[]":b)},location:t};break;case a1e.COLOR:d={type:"color",props:{onChange:e=>{let t={unitId:i,subUnitId:a,range:{startColumn:n,endColumn:n,startRow:r,endRow:r},value:{v:e,p:null,f:null,si:null}};return this._commandService.syncExecuteCommand(mAe.id,t),this._editorBridgeService.isVisible().visible&&this._commandService.syncExecuteCommand(sDe.id,{visible:!1,eventType:FF.Keyboard,unitId:i,keycode:x8.ESC}),!0},defaultValue:_1e(s.getCellRaw(r,n))},location:t};break;default:throw Error("[DataValidationDropdownManagerService]: unknown type!")}if(c=this._cellDropdownManagerService.showDropdown({...d,onHide:()=>{this._activeDropdown=null,this._activeDropdown$.next(null)}}),!c)throw Error("[DataValidationDropdownManagerService]: cannot show dropdown!");let C=new eu;C.add(c),C.add({dispose:()=>{var e,t;null==(e=this._activeDropdown)||null==(t=e.onHide)||t.call(e)}}),this._currentPopup=C}hideDropdown(){this._activeDropdown&&(this._currentPopup&&this._currentPopup.dispose(),this._currentPopup=null,this._activeDropdown=null,this._activeDropdown$.next(null))}showDataValidationDropdown(e,t,r,n,i){let a=this._univerInstanceService.getUnit(e,Pi.UNIVER_SHEET);if(!a)return;let o=a.getSheetBySheetId(t);if(!o)return;let s=this._dataValidationModel.getRuleByLocation(a.getUnitId(),o.getSheetId(),r,n);if(!s)return;let l=this._dataValidatorRegistryService.getValidatorItem(s.type);l&&l.dropdownType?this.showDropdown({location:{workbook:a,worksheet:o,row:r,col:n,unitId:e,subUnitId:t},onHide:i}):this.hideDropdown()}};P0e=x0e([R0e(0,dg),R0e(1,Y(HJe)),R0e(2,ote),R0e(3,Y(I1e)),R0e(4,Y(rSe)),R0e(5,Y(AHe)),R0e(6,Y(I1e)),R0e(7,Vc),R0e(8,GPe),R0e(9,Y(he)),R0e(10,Tc)],P0e);const D0e="DataValidationPanel",U0e={id:"data-validation.operation.open-validation-panel",type:Bc.OPERATION,handler(e,t){if(!t)return!1;let{ruleId:r,isAdd:n}=t,i=e.get(T0e),a=e.get(DJe),o=e.get(dg),s=e.get(V5),l=W_e(o);if(!l)return!1;let{unitId:u,subUnitId:c}=l,d=r?a.getRuleById(u,c,r):void 0;i.open(),i.setActiveRule(d&&{unitId:u,subUnitId:c,rule:d});let h=s.open({id:D0e,header:{title:n?"dataValidation.panel.addTitle":"dataValidation.panel.title"},children:{label:D0e},width:312,onClose:()=>i.close()});return i.setCloseDisposable(h),!0}},B0e={id:"data-validation.operation.close-validation-panel",type:Bc.OPERATION,handler:e=>(e.get(T0e).close(),!0)},V0e={id:"data-validation.operation.toggle-validation-panel",type:Bc.OPERATION,handler(e){let t=e.get(Vc),r=e.get(T0e);return r.open(),r.isOpen?t.executeCommand(B0e.id):t.executeCommand(U0e.id),!0}},F0e={type:Bc.OPERATION,id:"sheet.operation.show-data-validation-dropdown",handler(e,t){if(!t)return!1;let r=e.get(P0e),{unitId:n,subUnitId:i,row:a,column:o}=t,s=r.activeDropdown,l=null==s?void 0:s.location;return l&&l.unitId===n&&l.subUnitId===i&&l.row===a&&l.col===o||r.showDataValidationDropdown(n,i,a,o),!0}},j0e={type:Bc.OPERATION,id:"sheet.operation.hide-data-validation-dropdown",handler:(e,t)=>!!t&&(e.get(P0e).hideDropdown(),!0)},H0e={type:Bc.COMMAND,id:"data-validation.command.addRuleAndOpen",handler(e){let t=W_e(e.get(dg));if(!t)return!1;let{workbook:r,worksheet:n}=t,i=p0e(e),a=e.get(Vc),o={rule:i,unitId:r.getUnitId(),subUnitId:n.getSheetId()};return!!a.syncExecuteCommand(Q1e.id,o)&&(a.syncExecuteCommand(U0e.id,{ruleId:i.uid,isAdd:!0}),!0)}},W0e="SHEET_DATA_VALIDATION_ALERT";let z0e=class extends tu{constructor(e,t,r,n,i,a){super(),this._hoverManagerService=e,this._cellAlertManagerService=t,this._univerInstanceService=r,this._localeService=n,this._zenZoneService=i,this._dataValidationModel=a,this._init()}_init(){this._initCellAlertPopup(),this._initZenService()}_initCellAlertPopup(){this.disposeWithMe(this._hoverManagerService.currentCell$.pipe(Gn(100)).subscribe(e=>{if(e){let r=this._univerInstanceService.getUnit(e.location.unitId,Pi.UNIVER_SHEET),n=r.getSheetBySheetId(e.location.subUnitId);if(!n)return;let i=this._dataValidationModel.getRuleByLocation(e.location.unitId,e.location.subUnitId,e.location.row,e.location.col);if(!i)return void this._cellAlertManagerService.removeAlert(W0e);if(this._dataValidationModel.validator(i,{...e.location,workbook:r,worksheet:n})===Kg.INVALID){var t;let r=this._cellAlertManagerService.currentAlert.get(W0e),n=null==r||null==(t=r.alert)?void 0:t.location;if(n&&n.row===e.location.row&&n.col===e.location.col&&n.subUnitId===e.location.subUnitId&&n.unitId===e.location.unitId)return void this._cellAlertManagerService.removeAlert(W0e);let a=this._dataValidationModel.getValidator(i.type);return a?void this._cellAlertManagerService.showAlert({type:ije.ERROR,title:this._localeService.t("dataValidation.error.title"),message:null==a?void 0:a.getRuleFinalError(i,e.location),location:e.location,width:200,height:74,key:W0e}):void this._cellAlertManagerService.removeAlert(W0e)}}this._cellAlertManagerService.removeAlert(W0e)}))}_initZenService(){this.disposeWithMe(this._zenZoneService.visible$.subscribe(e=>{e&&this._cellAlertManagerService.removeAlert(W0e)}))}};z0e=x0e([R0e(0,Y(yUe)),R0e(1,Y(aje)),R0e(2,dg),R0e(3,Y(Cg)),R0e(4,ote),R0e(5,Y(I1e))],z0e);let X0e=class extends tu{constructor(e,t,r){super(),this._autoFillService=e,this._sheetDataValidationModel=t,this._injector=r,this._initAutoFill()}_initAutoFill(){let e=(e,t)=>{let{source:r,target:n,unitId:i,subUnitId:a}=e,o=this._sheetDataValidationModel.getRuleObjectMatrix(i,a).clone(),s=GOe([r,n]),[l,u]=s.ranges,{mapFunc:c}=s,d={row:l.startRow,col:l.startColumn},h=jRe.getAutoFillRepeatRange(l,u),m=new kd,f=new Set;h.forEach(e=>{let t=e.repeatStartCell,r=e.relativeRange,n={startRow:d.row,startColumn:d.col,endColumn:d.col,endRow:d.row},o={startRow:t.row,startColumn:t.col,endColumn:t.col,endRow:t.row};Sh.foreach(r,(e,t)=>{let r=Oh.getPositionRange({startRow:e,startColumn:t,endColumn:t,endRow:e},n),{row:s,col:l}=c(r.startRow,r.startColumn),u=this._sheetDataValidationModel.getRuleIdByLocation(i,a,s,l)||"",d=Oh.getPositionRange({startRow:e,startColumn:t,endColumn:t,endRow:e},o),{row:h,col:g}=c(d.startRow,d.startColumn);m.setValue(h,g,u),f.add(u)})});let g=Array.from(f).map(e=>({id:e,ranges:Dh(m,t=>t===e)}));o.addRangeRules(g);let{redoMutations:p,undoMutations:v}=G1e(i,a,o.diff(this._sheetDataValidationModel.getRules(i,a)),this._injector,"patched",t===HRe.ONLY_FORMAT);return{undos:v,redos:p}},t={id:r0e,onBeforeFillData:e=>{let{source:t,unitId:r,subUnitId:n}=e;for(let e of t.rows)for(let i of t.cols){let t=this._sheetDataValidationModel.getRuleByLocation(r,n,e,i);if(t&&t.type===$g.CHECKBOX)return void this._autoFillService.setDisableApplyType(HRe.SERIES,!0)}},onFillData:(t,r,n)=>n===HRe.COPY||n===HRe.ONLY_FORMAT||n===HRe.SERIES?e(t,n):{redos:[],undos:[]},onAfterFillData:()=>{}};this.disposeWithMe(this._autoFillService.addHook(t))}};X0e=x0e([R0e(0,pxe),R0e(1,Y(I1e)),R0e(2,Y(he))],X0e);const q0e=[rke.SPECIAL_PASTE_COL_WIDTH,rke.SPECIAL_PASTE_VALUE,rke.SPECIAL_PASTE_FORMAT,rke.SPECIAL_PASTE_FORMULA];let G0e=class extends tu{constructor(e,t,r,n){super(),this._sheetClipboardService=e,this._sheetDataValidationModel=t,this._injector=r,this._univerInstanceService=n,I0e(this,"_copyInfo",void 0),this._initCopyPaste()}_initCopyPaste(){this._sheetClipboardService.addClipboardHook({id:r0e,onBeforeCopy:(e,t,r)=>this._collect(e,t,r),onPasteCells:(e,t,r,n)=>e&&this._copyInfo&&!q0e.includes(n.pasteType)?this._generateMutations(e,t,n):{redos:[],undos:[]}})}_collect(e,t,r){let n=new kd;this._copyInfo={unitId:e,subUnitId:t,matrix:n};let i=this._injector.invoke(n=>qEe(r,n,e,t));if(!i)return;let{rows:a,cols:o}=i;a.forEach((r,i)=>{o.forEach((a,o)=>{let s=this._sheetDataValidationModel.getRuleIdByLocation(e,t,r,a);n.setValue(i,o,null==s?"":s)})})}_generateMutations(e,t,r){let{unitId:n,subUnitId:i,range:a}=e,{unitId:o,subUnitId:s,range:l}=t,{copyType:u=WLe.COPY}=r;if(!W_e(this._univerInstanceService,{unitId:o,subUnitId:s}))return{redos:[],undos:[]};if(u===WLe.CUT&&o===n&&s===i)return this._copyInfo=null,{redos:[],undos:[]};if(o!==n||s!==i){let e=this._sheetDataValidationModel.getRuleObjectMatrix(o,s).clone(),t=new kd,r=new Set,{ranges:[c,d],mapFunc:h}=GOe([a,l]),m=GLe(c,d,!0),f=new Map;m.forEach(({startRange:e})=>{var a;null==(a=this._copyInfo)||a.matrix.forValue((a,l,u)=>{let c=Oh.getPositionRange({startRow:a,endRow:a,startColumn:l,endColumn:l},e),d=`${i}-${u}`,m=this._sheetDataValidationModel.getRuleById(n,i,u);!this._sheetDataValidationModel.getRuleById(o,s,d)&&m&&f.set(d,{...m,uid:d});let{row:g,col:p}=h(c.startRow,c.startColumn);r.add(d),t.setValue(g,p,d)})});let g=Array.from(r).map(e=>({id:e,ranges:Dh(t,t=>t===e)}));e.addRangeRules(g);let{redoMutations:p,undoMutations:v}=G1e(o,s,e.diffWithAddition(this._sheetDataValidationModel.getRules(o,s),f.values()),this._injector,"patched",!1);if(u===WLe.CUT){let e=this._sheetDataValidationModel.getRuleObjectMatrix(n,i).clone(),t=h(c.startRow,c.startColumn),r=h(c.endRow,c.endColumn);e.addRangeRules([{id:"",ranges:[{startRow:t.row,endRow:r.row,startColumn:t.col,endColumn:r.col}]}]);let{redoMutations:a,undoMutations:o}=G1e(n,i,e.diff(this._sheetDataValidationModel.getRules(n,i)),this._injector,"patched",!1);p.push(...a),v.push(...o)}return{redos:p,undos:v}}{let e=this._sheetDataValidationModel.getRuleObjectMatrix(n,i).clone(),t=new kd,r=new Set,{ranges:[u,c],mapFunc:d}=GOe([a,l]);GLe(u,c,!0).forEach(({startRange:e})=>{var n;null==(n=this._copyInfo)||n.matrix.forValue((n,i,a)=>{let o=Oh.getPositionRange({startRow:n,endRow:n,startColumn:i,endColumn:i},e),{row:s,col:l}=d(o.startRow,o.startColumn);t.setValue(s,l,a),r.add(a)})});let h=Array.from(r).map(e=>({id:e,ranges:Dh(t,t=>t===e)}));e.addRangeRules(h);let{redoMutations:m,undoMutations:f}=G1e(o,s,e.diff(this._sheetDataValidationModel.getRules(n,i)),this._injector,"patched",!1);return{redos:m,undos:f}}}};G0e=x0e([R0e(0,ike),R0e(1,Y(I1e)),R0e(2,Y(he)),R0e(3,Y(dg))],G0e);let Y0e=class extends tu{constructor(e,t,r){super(),this._localeService=e,this._commandService=t,this._sheetPermissionCheckController=r,this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{if(e.id===Q1e.id){let{unitId:t,subUnitId:r,rule:{ranges:n}}=e.params;this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[PSe],rangeTypes:[SSe],worksheetTypes:[JSe,sAe]},n,t,r)||this._sheetPermissionCheckController.blockExecuteWithoutPermission(this._localeService.t("permission.dialog.setStyleErr"))}if(e.id===Y1e.id){let{unitId:t,subUnitId:r,ranges:n}=e.params;this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[PSe],rangeTypes:[SSe],worksheetTypes:[JSe,sAe]},n,t,r)||this._sheetPermissionCheckController.blockExecuteWithoutPermission(this._localeService.t("permission.dialog.setStyleErr"))}}))}};Y0e=x0e([R0e(0,Y(Cg)),R0e(1,Vc),R0e(2,Y(NNe))],Y0e);const Q0e="sheet.menu.data-validation",Z0e={[$8.RULES]:{[Q0e]:{order:0,menuItemFactory:function(e){return{id:Q0e,type:lee.SUBITEMS,icon:"DataValidationIcon",tooltip:"dataValidation.title",hidden$:X5(e,Pi.UNIVER_SHEET),disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[sAe,JSe],rangeTypes:[SSe]})}},[U0e.id]:{order:0,menuItemFactory:function(e){return{id:U0e.id,title:"dataValidation.panel.title",type:lee.BUTTON}}},[H0e.id]:{order:1,menuItemFactory:function(e){return{id:H0e.id,title:"dataValidation.panel.add",type:lee.BUTTON}}}}}},K0e={tr:{size:6,color:"#fe4b4b"}};let $0e=class extends ru{constructor(e,t,r,n,i,a,o,s,l,u,c){super(),this._commandService=e,this._menuManagerService=t,this._renderManagerService=r,this._univerInstanceService=n,this._autoHeightController=i,this._dropdownManagerService=a,this._sheetDataValidationModel=o,this._dataValidatorRegistryService=s,this._sheetInterceptorService=l,this._dataValidationCacheService=u,this._editorBridgeService=c,this._initMenu(),this._initDropdown(),this._initViewModelIntercept(),this._initAutoHeight()}_initMenu(){this._menuManagerService.mergeMenu(Z0e)}_initDropdown(){this._editorBridgeService&&this.disposeWithMe(this._editorBridgeService.visible$.subscribe(e=>{var t;if(!e.visible)return void("editor-bridge"===(null==(t=this._dropdownManagerService.activeDropdown)?void 0:t.trigger)&&this._dropdownManagerService.hideDropdown());let r=this._editorBridgeService.getEditCellState();if(r){let{unitId:e,sheetId:t,row:n,column:i}=r,a=this._univerInstanceService.getUniverSheetInstance(e);if(!a)return;let o=this._sheetDataValidationModel.getRuleByLocation(e,t,n,i);if(!o)return;let s=this._dataValidatorRegistryService.getValidatorItem(o.type);if(null==s||!s.dropdownType)return;let l=a.getActiveSheet();if(!l)return;let u=this._dropdownManagerService.activeDropdown,c=null==u?void 0:u.location;if(c&&c.unitId===e&&c.subUnitId===t&&c.row===n&&c.col===i)return;this._dropdownManagerService.showDropdown({location:{unitId:e,subUnitId:t,row:n,col:i,workbook:a,worksheet:l},trigger:"editor-bridge",closeOnOutSide:!1})}}))}_initViewModelIntercept(){this.disposeWithMe(this._sheetInterceptorService.intercept(G_e.CELL_CONTENT,{effect:Vl.Style,priority:Y_e.DATA_VALIDATION,handler:(e,t,r)=>{var n,i,a,o,s;let{row:l,col:u,unitId:c,subUnitId:d,workbook:h,worksheet:m}=t,f=this._sheetDataValidationModel.getRuleIdByLocation(c,d,l,u);if(!f)return r(e);let g=this._sheetDataValidationModel.getRuleById(c,d,f);if(!g)return r(e);let p,v=null==(n=this._dataValidationCacheService.getValue(c,d,l,u))?Kg.VALID:n,b=this._dataValidatorRegistryService.getValidatorItem(g.type),C=t.rawData,y={get value(){var e;return void 0===p&&(p=null==(e=v1e(C))?null:e),p}},_={get value(){var e;return`${null==(e=y.value)?"":e}`}};return(!e||e===t.rawData)&&(e={...t.rawData}),e.markers={...null==e?void 0:e.markers,...v===Kg.INVALID?K0e:null},e.customRender=[...null==(i=null==e?void 0:e.customRender)?[]:i,...null!=b&&b.canvasRender?[b.canvasRender]:[]],e.fontRenderExtension={...null==e?void 0:e.fontRenderExtension,isSkip:(null==e||null==(a=e.fontRenderExtension)?void 0:a.isSkip)||(null==b||null==(o=b.skipDefaultFontRender)?void 0:o.call(b,g,y.value,t))},e.interceptorStyle={...null==e?void 0:e.interceptorStyle,...null==b?void 0:b.getExtraStyle(g,_.value,{get style(){let t=h.getStyles();return("string"==typeof(null==e?void 0:e.s)?t.get(null==e?void 0:e.s):null==e?void 0:e.s)||{}}},l,u)},e.interceptorAutoHeight=()=>{var t,r,n,i,a;let o=null==(t=this._renderManagerService.getRenderById(c))||null==(t=t.with(vLe).getSkeletonParam(d))?void 0:t.skeleton;if(!o)return;let s=o.worksheet.getMergedCell(l,u),f={data:e,style:o.getStyles().getStyleByCell(e),primaryWithCoord:o.getCellWithCoordByIndex(null==(r=null==s?void 0:s.startRow)?l:r,null==(n=null==s?void 0:s.startColumn)?u:n),unitId:c,subUnitId:d,row:l,col:u,workbook:h,worksheet:m};return null==b||null==(i=b.canvasRender)||null==(a=i.calcCellAutoHeight)?void 0:a.call(i,f)},e.interceptorAutoWidth=()=>{var t,r,n,i,a;let o=null==(t=this._renderManagerService.getRenderById(c))||null==(t=t.with(vLe).getSkeletonParam(d))?void 0:t.skeleton;if(!o)return;let s=o.worksheet.getMergedCell(l,u),f={data:e,style:o.getStyles().getStyleByCell(e),primaryWithCoord:o.getCellWithCoordByIndex(null==(r=null==s?void 0:s.startRow)?l:r,null==(n=null==s?void 0:s.startColumn)?u:n),unitId:c,subUnitId:d,row:l,col:u,workbook:h,worksheet:m};return null==b||null==(i=b.canvasRender)||null==(a=i.calcCellAutoWidth)?void 0:a.call(i,f)},e.coverable=(null==(s=null==e?void 0:e.coverable)||s)&&!(g.type===$g.LIST||g.type===$g.LIST_MULTIPLE),r(e)}}))}_initAutoHeight(){this._sheetDataValidationModel.ruleChange$.pipe(Un(e=>"command"===e.source),une(100)).subscribe(e=>{if(0===e.length)return;let t=[];e.forEach(e=>{var r;e.rule.type!==$g.LIST_MULTIPLE&&e.rule.type!==$g.LIST||null!=(r=e.rule)&&r.ranges&&t.push(...e.rule.ranges)}),t.length&&zc(this._autoHeightController.getUndoRedoParamsOfAutoHeight(t).redos,this._commandService)})}};$0e=x0e([R0e(0,Vc),R0e(1,nee),R0e(2,kX),R0e(3,dg),R0e(4,Y(EDe)),R0e(5,Y(P0e)),R0e(6,Y(I1e)),R0e(7,Y(HJe)),R0e(8,Y(iwe)),R0e(9,Y(d1e)),R0e(10,G(GPe))],$0e);let J0e=class extends ru{constructor(e,t,r,n,i,a,o){super(),this._commandService=e,this._renderManagerService=t,this._autoHeightController=r,this._dataValidatorRegistryService=n,this._sheetInterceptorService=i,this._sheetDataValidationModel=a,this._dataValidationCacheService=o,this._initViewModelIntercept(),this._initAutoHeight()}_initViewModelIntercept(){this.disposeWithMe(this._sheetInterceptorService.intercept(G_e.CELL_CONTENT,{effect:Vl.Style,priority:Y_e.DATA_VALIDATION,handler:(e,t,r)=>{var n,i,a,o,s;let{row:l,col:u,unitId:c,subUnitId:d,workbook:h,worksheet:m}=t,f=this._sheetDataValidationModel.getRuleIdByLocation(c,d,l,u);if(!f)return r(e);let g=this._sheetDataValidationModel.getRuleById(c,d,f);if(!g)return r(e);let p=null==(n=this._dataValidationCacheService.getValue(c,d,l,u))?Kg.VALID:n,v=this._dataValidatorRegistryService.getValidatorItem(g.type),b=v1e(m.getCellRaw(l,u)),C=`${null==b?"":b}`;return(!e||e===t.rawData)&&(e={...t.rawData}),e.markers={...null==e?void 0:e.markers,...p===Kg.INVALID?K0e:null},e.customRender=[...null==(i=null==e?void 0:e.customRender)?[]:i,...null!=v&&v.canvasRender?[v.canvasRender]:[]],e.fontRenderExtension={...null==e?void 0:e.fontRenderExtension,isSkip:(null==e||null==(a=e.fontRenderExtension)?void 0:a.isSkip)||(null==v||null==(o=v.skipDefaultFontRender)?void 0:o.call(v,g,b,t))},e.interceptorStyle={...null==e?void 0:e.interceptorStyle,...null==v?void 0:v.getExtraStyle(g,C,{get style(){let t=h.getStyles();return("string"==typeof(null==e?void 0:e.s)?t.get(null==e?void 0:e.s):null==e?void 0:e.s)||{}}},l,u)},e.interceptorAutoHeight=()=>{var t,r,n,i,a;let o=null==(t=this._renderManagerService.getRenderById(c))||null==(t=t.with(vLe).getSkeletonParam(d))?void 0:t.skeleton;if(!o)return;let s=o.worksheet.getMergedCell(l,u),f={data:e,style:o.getStyles().getStyleByCell(e),primaryWithCoord:o.getCellWithCoordByIndex(null==(r=null==s?void 0:s.startRow)?l:r,null==(n=null==s?void 0:s.startColumn)?u:n),unitId:c,subUnitId:d,row:l,col:u,workbook:h,worksheet:m};return null==v||null==(i=v.canvasRender)||null==(a=i.calcCellAutoHeight)?void 0:a.call(i,f)},e.interceptorAutoWidth=()=>{var t,r,n,i,a;let o=null==(t=this._renderManagerService.getRenderById(c))||null==(t=t.with(vLe).getSkeletonParam(d))?void 0:t.skeleton;if(!o)return;let s=o.worksheet.getMergedCell(l,u),f={data:e,style:o.getStyles().getStyleByCell(e),primaryWithCoord:o.getCellWithCoordByIndex(null==(r=null==s?void 0:s.startRow)?l:r,null==(n=null==s?void 0:s.startColumn)?u:n),unitId:c,subUnitId:d,row:l,col:u,workbook:h,worksheet:m};return null==v||null==(i=v.canvasRender)||null==(a=i.calcCellAutoWidth)?void 0:a.call(i,f)},e.coverable=(null==(s=null==e?void 0:e.coverable)||s)&&!(g.type===$g.LIST||g.type===$g.LIST_MULTIPLE),r(e)}}))}_initAutoHeight(){this._sheetDataValidationModel.ruleChange$.pipe(Un(e=>"command"===e.source),une(16)).subscribe(e=>{let t=[];e.forEach(e=>{var r;e.rule.type!==$g.LIST_MULTIPLE&&e.rule.type!==$g.LIST||null!=(r=e.rule)&&r.ranges&&t.push(...e.rule.ranges)}),t.length&&zc(this._autoHeightController.getUndoRedoParamsOfAutoHeight(t).redos,this._commandService)})}};J0e=x0e([R0e(0,Vc),R0e(1,kX),R0e(2,Y(EDe)),R0e(3,Y(HJe)),R0e(4,Y(iwe)),R0e(5,Y(I1e)),R0e(6,Y(d1e))],J0e);let e2e=class extends tu{constructor(e,t,r){super(),this._context=e,this._sheetDataValidationModel=t,this._sheetSkeletonManagerService=r,this._initSkeletonChange()}_initSkeletonChange(){this.disposeWithMe(this._sheetDataValidationModel.validStatusChange$.pipe(Yc(16)).subscribe(e=>{var t;if(!e.length)return;let r=new Set;e.forEach(e=>{r.add(e.subUnitId)}),r.forEach(e=>{var t;null==(t=this._sheetSkeletonManagerService.getSkeletonParam(e))||t.skeleton.makeDirty(!0)}),null==(t=this._context.mainComponent)||t.makeForceDirty()}))}};function t2e(e){var t;let r=iK(Cg),n=iK(W5),{value:i,onChange:a,extraComponent:o}=e,[s,l]=(0,_q.useState)(!1),u=o?n.get(o):null;return(0,$Z.jsxs)($Z.Fragment,{children:[(0,$Z.jsxs)("div",{className:"univer-mb-3 univer-flex univer-cursor-pointer univer-items-center univer-text-sm univer-text-gray-900 dark:!univer-text-white",onClick:()=>l(!s),children:[r.t("dataValidation.panel.options"),(0,$Z.jsx)(s?hK:uQ,{className:"univer-ml-1"})]}),s&&(0,$Z.jsxs)($Z.Fragment,{children:[u?(0,$Z.jsx)(u,{value:i,onChange:a}):null,(0,$Z.jsx)(z9,{label:r.t("dataValidation.panel.invalid"),children:(0,$Z.jsxs)(v5,{value:`${null==(t=i.errorStyle)?Yg.WARNING:t}`,onChange:e=>a({...i,errorStyle:+e}),children:[(0,$Z.jsx)(b5,{value:`${Yg.WARNING}`,children:r.t("dataValidation.panel.showWarning")}),(0,$Z.jsx)(b5,{value:`${Yg.STOP}`,children:r.t("dataValidation.panel.rejectInput")})]})}),(0,$Z.jsx)(z9,{label:r.t("dataValidation.panel.messageInfo"),children:(0,$Z.jsx)($7,{checked:i.showErrorMessage,onChange:()=>a({...i,showErrorMessage:!i.showErrorMessage}),children:r.t("dataValidation.panel.showInfo")})}),i.showErrorMessage?(0,$Z.jsx)(z9,{children:(0,$Z.jsx)(Z9,{value:i.error,onChange:e=>a({...i,error:e})})}):null]})]})}function r2e(){var e,t;let[r,n]=(0,_q.useState)(0),i=iK(T0e),{unitId:a,subUnitId:o,rule:s}=aK(i.activeRule$,i.activeRule)||{},l=s.uid,u=iK(HJe),c=iK(dg),d=iK(W5),h=iK(Vc),m=iK(DJe),f=iK(Cg),g=aK(()=>c.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET),void 0,void 0,[]),p=aK(()=>{var e;return null==(e=null==g?void 0:g.activeSheet$)?Ai(null):e},void 0,void 0,[]),[v,b]=(0,_q.useState)(s),C=u.getValidatorItem(v.type),[y,_]=(0,_q.useState)(!1),w=u.getValidatorsByScope(jJe.SHEET),[E,S]=(0,_q.useState)(()=>v.ranges.map(e=>({unitId:"",sheetId:"",range:e}))),A=(0,_q.useMemo)(()=>(e=>Vr(async(t,r,n,i)=>{let a=await e.executeCommand(t,r,n);null==i||i(a)},1e3))(h),[h]),[I,R]=(0,_q.useState)(!1),[x,T]=(0,_q.useState)(!1),N=(0,_q.useRef)(null),M=iK(rSe);if((0,_q.useEffect)(()=>()=>{let e=M.getCurrentLastSelection();e&&M.setSelections([e])},[M]),(0,_q.useEffect)(()=>{h.onCommandExecuted(e=>{(e.id===Vg.id||e.id===Fg.id)&&setTimeout(()=>{let e=m.getRuleById(a,o,l);n(e=>e+1),e&&(b(e),S(e.ranges.map(e=>({unitId:"",sheetId:"",range:e}))))},20)})},[h,m,l,o,a]),!C)return null;let O=C.operators,L=C.operatorNames,k=!!v.operator&&e1e.includes(v.operator),P=()=>{(null==p?void 0:p.getSheetId())!==o&&h.syncExecuteCommand(fEe.id,{unitId:a,subUnitId:o})},D=$5(e=>{let t=e.split(",").filter(Boolean).map(jme).map(e=>{let t=e.sheetName;if(t){let r=function(e,t,r){var n,i;return t?(null==(i=e.getUnit(t))||null==(i=i.getSheetBySheetName(r))?void 0:i.getSheetId())||"":(null==(n=e.getCurrentUnitForType(Pi.UNIVER_SHEET))||null==(n=n.getSheetBySheetName(r))?void 0:n.getSheetId())||""}(c,e.unitId,t);return{...e,sheetId:r}}return{...e,sheetId:""}});if(((e,t)=>t.length===e.length&&e.every((e,r)=>{let n=t[r];return n.unitId===e.unitId&&n.sheetId===e.sheetId&&Oh.equals(e.range,n.range)}))(t,E))return;S(t);let r=t.filter(e=>!(e.unitId&&e.unitId!==a||e.sheetId&&e.sheetId!==o)).map(e=>e.range);if(b({...v,ranges:r}),0===r.length)return;let n={unitId:a,subUnitId:o,ruleId:l,ranges:r};A(Y1e.id,n)}),U=e=>{if(Ll(e,TJe(v)))return;b({...v,...e});let t={unitId:a,subUnitId:o,ruleId:l,setting:e};A(Z1e.id,t,void 0)},B={type:v.type,operator:v.operator,formula1:v.formula1,formula2:v.formula2,allowBlank:v.allowBlank},V=d.get(C.formulaInput),F=(0,_q.useMemo)(()=>E.map(e=>Pme(e.range)).join(","),[]),j=NJe(v),H=O.length&&!v.operator;return(0,$Z.jsxs)("div",{"data-u-comp":"data-validation-detail",className:"univer-py-2",children:[(0,$Z.jsx)(z9,{label:f.t("dataValidation.panel.range"),error:!v.ranges.length||I?f.t("dataValidation.panel.rangeError"):"",children:(0,$Z.jsx)(Cze,{selectorRef:N,unitId:a,subUnitId:o,initialValue:F,onChange:(e,t)=>{var r;!x&&null!=(r=N.current)&&r.verify()&&D(t)},onFocusChange:(e,t)=>{var r;T(e),!e&&t&&null!=(r=N.current)&&r.verify()&&D(t)},onVerify:e=>R(!e)})}),(0,$Z.jsx)(z9,{label:f.t("dataValidation.panel.type"),children:(0,$Z.jsx)(_5,{className:"univer-w-full",value:v.type,options:null==w||null==(e=w.sort((e,t)=>e.order-t.order))?void 0:e.map(e=>({label:f.t(e.title),value:e.id})),onChange:e=>{let t=u.getValidatorItem(e);if(!t)return;let r=t.operators,n=m.getRuleById(a,o,l),i=e===(null==n?void 0:n.type)||e.includes("list")&&null!=n&&n.type.includes("list")?{...n,type:e}:{...v,type:e,operator:r[0],formula1:void 0,formula2:void 0};b(i),h.executeCommand(Z1e.id,{unitId:a,subUnitId:o,ruleId:v.uid,setting:TJe(i)})}})}),null!=O&&O.length?(0,$Z.jsx)(z9,{label:f.t("dataValidation.panel.operator"),children:(0,$Z.jsx)(_5,{className:"univer-w-full",value:`${v.operator}`,options:[{value:"",label:f.t("dataValidation.operators.legal")},...O.map((e,t)=>({value:`${e}`,label:L[t]}))],onChange:e=>{U({...B,operator:e})}})}):null,V&&!H?(0,$Z.jsx)(V,{isTwoFormula:k,value:{formula1:v.formula1,formula2:v.formula2},onChange:e=>{U({...B,...e})},showError:y,validResult:C.validatorFormula(v,a,o),unitId:a,subUnitId:o,ruleId:l},r+v.type):null,(0,$Z.jsx)(z9,{children:(0,$Z.jsx)($7,{checked:null==(t=v.allowBlank)||t,onChange:()=>{var e;return U({...B,allowBlank:!(null==(e=v.allowBlank)||e)})},children:f.t("dataValidation.panel.allowBlank")})}),(0,$Z.jsx)(t2e,{value:j,onChange:e=>{Ll(e,NJe(v))||(b({...v,...e}),A(K1e.id,{unitId:a,subUnitId:o,ruleId:l,options:e}))},extraComponent:C.optionsInput}),(0,$Z.jsxs)("div",{className:"univer-mt-5 univer-flex univer-flex-row univer-justify-end",children:[(0,$Z.jsx)(O7,{className:"univer-ml-3",onClick:async()=>{await h.executeCommand(t0e.id,{ruleId:l,unitId:a,subUnitId:o}),i.setActiveRule(null),P()},children:f.t("dataValidation.panel.removeRule")}),(0,$Z.jsx)(O7,{className:"univer-ml-3",variant:"primary",onClick:()=>{var e,t;null!=(e=N.current)&&null!=(e=e.editor)&&e.isFocus()&&D(null==(t=N.current)?void 0:t.getValue()),!v.ranges.length||I||(C.validatorFormula(v,a,o).success?i.setActiveRule(null):_(!0),P())},children:f.t("dataValidation.panel.done")})]})]})}e2e=x0e([R0e(1,Y(I1e)),R0e(2,Y(vLe))],e2e);const n2e=e=>{let{rule:t,onClick:r,unitId:n,subUnitId:i,disable:a}=e,o=iK(HJe),s=iK(Vc),l=iK(ELe),u=o.getValidatorItem(t.type),c=(0,_q.useRef)(void 0),[d,h]=(0,_q.useState)(!1),m=iK(Lg),f=(0,_q.useMemo)(()=>{var e;let t=m.getColorFromTheme("primary.600"),r=m.getColorFromTheme("loop-color.2"),n=null==(e=m.getColorFromTheme(r))?t:e,i=new $c(n).toRgb();return{fill:`rgba(${i.r}, ${i.g}, ${i.b}, 0.1)`,stroke:n}},[aK(m.currentTheme$)]);return(0,_q.useEffect)(()=>()=>{var e;c.current&&(null==(e=c.current)||e.forEach(e=>{e&&l.removeShape(e)}))},[l]),(0,$Z.jsxs)("div",{className:x7("univer-bg-secondary univer-relative univer--mx-2 univer-box-border univer-flex univer-w-[287px] univer-cursor-pointer univer-flex-col univer-justify-between univer-overflow-hidden univer-rounded-md univer-p-2 univer-pr-9",{"hover:univer-bg-gray-50 dark:hover:!univer-bg-gray-700":!a,"univer-opacity-50":a}),onClick:r,onMouseEnter:()=>{a||(h(!0),c.current=t.ranges.map(e=>l.addShape({range:e,style:f,primary:null})))},onMouseLeave:()=>{var e;h(!1),null==(e=c.current)||e.forEach(e=>{e&&l.removeShape(e)}),c.current=void 0},children:[(0,$Z.jsx)("div",{className:"univer-truncate univer-text-sm univer-font-medium univer-leading-[22px] univer-text-gray-900 dark:!univer-text-white",children:null==u?void 0:u.generateRuleName(t)}),(0,$Z.jsx)("div",{className:"univer-text-secondary univer-truncate univer-text-xs univer-leading-[18px] dark:!univer-text-gray-300",children:t.ranges.map(e=>Pme(e)).join(",")}),d?(0,$Z.jsx)("div",{className:"univer-absolute univer-right-2 univer-top-[19px] univer-flex univer-size-5 univer-items-center univer-justify-center univer-rounded hover:univer-bg-gray-200 dark:!univer-text-gray-300 dark:hover:!univer-bg-gray-700",onClick:e=>{s.executeCommand(t0e.id,{ruleId:t.uid,unitId:n,subUnitId:i}),e.stopPropagation()},children:(0,$Z.jsx)(one,{})}):null]})};function i2e(e){let t=iK(I1e),r=iK(dg),n=iK(Vc),i=iK(he),a=iK(T0e),o=iK(Cg),[s,l]=(0,_q.useState)([]),{workbook:u}=e,c=aK(u.activeSheet$,void 0,!0),d=u.getUnitId(),h=null==c?void 0:c.getSheetId();(0,_q.useEffect)(()=>{l(t.getRules(d,h));let e=t.ruleChange$.subscribe(e=>{e.unitId===d&&e.subUnitId===h&&l(t.getRules(d,h))});return()=>{e.unsubscribe()}},[d,h,t]);let m=(e=>{let t=r.getCurrentUnitForType(Pi.UNIVER_SHEET),n=t.getActiveSheet(),a=t.getUnitId(),o=n.getSheetId();return e.map(e=>$Ne(i,a,o,e.ranges)?{...e}:{...e,disable:!0})})(s),f=null==m?void 0:m.some(e=>e.disable);return(0,$Z.jsxs)("div",{className:"univer-pb-4",children:[null==m?void 0:m.map(e=>{var t;return(0,$Z.jsx)(n2e,{unitId:d,subUnitId:h,onClick:()=>{e.disable||a.setActiveRule({unitId:d,subUnitId:h,rule:e})},rule:e,disable:null!=(t=e.disable)&&t},e.uid)}),(0,$Z.jsxs)("div",{className:"univer-mt-4 univer-flex univer-flex-row univer-justify-end univer-gap-2",children:[s.length&&!f?(0,$Z.jsx)(O7,{onClick:()=>{n.executeCommand(J1e.id,{unitId:d,subUnitId:h})},children:o.t("dataValidation.panel.removeAll")}):null,(0,$Z.jsx)(O7,{variant:"primary",onClick:async()=>{let e=p0e(i),t={unitId:d,subUnitId:h,rule:e};await n.executeCommand(Q1e.id,t),a.setActiveRule({unitId:d,subUnitId:h,rule:e})},children:o.t("dataValidation.panel.add")})]})]})}const a2e=()=>{let e=iK(T0e),t=aK(e.activeRule$,e.activeRule),r=iK(dg),n=aK(()=>r.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET),void 0,void 0,[]),i=aK(()=>{var e;return null==(e=null==n?void 0:n.activeSheet$)?Ai(null):e},void 0,void 0,[]);return n&&i?!t||t.subUnitId!==i.getSheetId()&&t.subUnitId!==e.getFocusFormulaEditorActiveRuleSubUnitId()?(0,$Z.jsx)(i2e,{workbook:n}):(0,$Z.jsx)(r2e,{},t.rule.uid):null},o2e=["#FFFFFF","#FEE7E7","#FEF0E6","#EFFBD0","#E4F4FE","#E8ECFD","#F1EAFA","#FDE8F3","#E5E5E5","#FDCECE","#FDC49B","#DEF6A2","#9FDAFF","#D0D9FB","#E3D5F6","#FBD0E8","#656565","#FE4B4B","#FF8C51","#8BBB11","#0B9EFB","#3A60F7","#9E6DE3","#F248A6"],s2e=e=>{let{value:t,onChange:r,disabled:n}=e,[i,a]=(0,_q.useState)(!1);return(0,$Z.jsx)(x9,{align:"start",disabled:n,open:i,onOpenChange:a,overlay:(0,$Z.jsx)("div",{className:"univer-box-border univer-grid univer-w-fit univer-grid-cols-6 univer-flex-wrap univer-gap-2 univer-p-1.5",children:o2e.map(e=>(0,$Z.jsx)("div",{className:x7("univer-box-border univer-size-4 univer-cursor-pointer univer-rounded",V7),style:{background:e},onClick:()=>{r(e),a(!1)}},e))}),children:(0,$Z.jsxs)("div",{className:x7("univer-box-border univer-inline-flex univer-h-8 univer-w-16 univer-cursor-pointer univer-items-center univer-justify-between univer-gap-2 univer-rounded-lg univer-bg-white univer-px-2.5 univer-transition-colors univer-duration-200 hover:univer-border-primary-600 dark:!univer-bg-gray-700 dark:!univer-text-white",V7),children:[(0,$Z.jsx)("div",{className:"univer-box-border univer-size-4 univer-rounded univer-text-base",style:{background:t}}),(0,$Z.jsx)(uQ,{})]})})},l2e=e=>{let{item:t,commonProps:r,className:n}=e,{onItemChange:i,onItemDelete:a}=r;return(0,$Z.jsxs)("div",{className:x7("univer-flex univer-items-center univer-gap-2",n),children:[!t.isRef&&(0,$Z.jsx)("div",{className:x7("univer-cursor-move","draggableHandle"),children:(0,$Z.jsx)(O$e,{})}),(0,$Z.jsx)(s2e,{value:t.color,onChange:e=>{i(t.id,t.label,e)}}),(0,$Z.jsx)(Z9,{disabled:t.isRef,value:t.label,onChange:e=>{i(t.id,e,t.color)}}),t.isRef?null:(0,$Z.jsx)("div",{className:"univer-ml-1 univer-cursor-pointer univer-rounded univer-text-base hover:univer-bg-gray-200",children:(0,$Z.jsx)(one,{onClick:()=>a(t.id)})})]})},u2e=[[v0e,function(e){var t;let{unitId:r,subUnitId:n,value:i,onChange:a,showError:o,validResult:s}=e,l=o?null==s?void 0:s.formula1:void 0,u=(0,_q.useRef)(null),[c,d]=(0,_q.useState)(!1);return Cre(e=>{var t;null!=(t=u.current)&&t.isClickOutSide(e)&&d(!1)}),(0,$Z.jsx)(z9,{error:l,children:(0,$Z.jsx)(gze,{ref:u,className:x7("univer-box-border univer-h-8 univer-w-full univer-cursor-pointer univer-items-center univer-rounded-lg univer-bg-white univer-pt-2 univer-transition-colors hover:univer-border-primary-600 dark:!univer-bg-gray-700 dark:!univer-text-white [&>div:first-child]:univer-px-2.5 [&>div]:univer-h-5 [&>div]:univer-ring-transparent",V7),initValue:null==(t=null==i?void 0:i.formula1)?"=":t,unitId:r,subUnitId:n,isFocus:c,isSupportAcrossSheet:!0,onChange:e=>{let t=(null==e?"":e).trim();t!==(null==i?void 0:i.formula1)&&(null==a||a({...i,formula1:t}))},onFocus:()=>d(!0)})})}],[b0e,e=>{let{isTwoFormula:t=!1,value:r,onChange:n,showError:i,validResult:a}=e,o=iK(Cg),s=i?null==a?void 0:a.formula1:"",l=i?null==a?void 0:a.formula2:"";return t?(0,$Z.jsxs)($Z.Fragment,{children:[(0,$Z.jsx)(z9,{error:s,children:(0,$Z.jsx)(Z9,{className:"univer-w-full",placeholder:o.t("dataValidation.panel.formulaPlaceholder"),value:null==r?void 0:r.formula1,onChange:e=>{null==n||n({...r,formula1:e})}})}),(0,$Z.jsx)("div",{className:"-univer-mt-2 univer-mb-1 univer-text-sm univer-text-gray-400",children:o.t("dataValidation.panel.formulaAnd")}),(0,$Z.jsx)(z9,{error:l,children:(0,$Z.jsx)(Z9,{className:"univer-w-full",placeholder:o.t("dataValidation.panel.formulaPlaceholder"),value:null==r?void 0:r.formula2,onChange:e=>{null==n||n({...r,formula2:e})}})})]}):(0,$Z.jsx)(z9,{error:s,children:(0,$Z.jsx)(Z9,{className:"univer-w-full",placeholder:o.t("dataValidation.panel.formulaPlaceholder"),value:null==r?void 0:r.formula1,onChange:e=>{null==n||n({formula1:e})}})})}],[C0e,function(e){let{value:t,onChange:r=()=>{},unitId:n,subUnitId:i,validResult:a,showError:o,ruleId:s}=e,{formula1:l="",formula2:u=""}=t||{},[c,d]=(0,_q.useState)(()=>Bd(l)?"1":"0"),[h,m]=(0,_q.useState)("1"===c?l:"="),[f,g]=(0,_q.useState)("1"===c?l:"="),p=iK(Cg),v=iK(HJe),b=iK(DJe),C=iK(n0e),y=iK(T0e),[_,w]=(0,_q.useState)(()=>u.split(",")),E=v.getValidatorItem($g.LIST),[S,A]=(0,_q.useState)([]),[I,R]=(0,_q.useState)(""),x=o?null==a?void 0:a.formula1:"",T=aK((0,_q.useMemo)(()=>b.ruleChange$.pipe(Gn(16)),[])),N=$5(r);(0,_q.useEffect)(()=>{(async()=>{await new Promise(e=>{setTimeout(()=>e(!0),100)});let e=b.getRuleById(n,i,s);Bd(null==e?void 0:e.formula1)&&E&&e&&A(await E.getListAsync(e,n,i))})()},[b,T,E,s,i,n]),(0,_q.useEffect)(()=>{Bd(l)&&l!==f&&(m(l),g(f))},[f,l]);let[M,O]=(0,_q.useState)(()=>{let e="1"===c?[]:y1e(l),t=u.split(",");return e.map((e,r)=>({label:e,color:t[r]||"#ECECEC",isRef:!1,id:cu(4)}))}),L=(e,t,r)=>{let n=M.find(t=>t.id===e);n&&(n.label=t,n.color=r,O([...M]))},k=e=>{let t=M.findIndex(t=>t.id===e);-1!==t&&(M.splice(t,1),O([...M]))},P=u.split(","),D=(0,_q.useMemo)(()=>S.map((e,t)=>({label:e,color:P[t]||"#ECECEC",id:`${t}`,isRef:!0})),[P,S]),U=(e,t,r)=>{let n=[..._];n[+e]=r,w(n),N({formula1:l,formula2:n.join(",")})};(0,_q.useEffect)(()=>{if("1"===c)return;let e=new Set,t=[];M.map(e=>({labelList:e.label.split(","),item:e})).forEach(({item:r,labelList:n})=>{n.forEach(n=>{e.has(n)||(e.add(n),t.push({label:n,color:r.color}))})}),N({formula1:C1e(t.map(e=>e.label)),formula2:t.map(e=>"#ECECEC"===e.color?"":e.color).join(",")})},[M,N,c,f,_]);let B=$5(async e=>{Bd(e)?C.getFormulaRefCheck(e)?(null==N||N({formula1:Bd(e)?e:"",formula2:u}),R("")):(null==N||N({formula1:"",formula2:u}),m("="),R(p.t("dataValidation.validFail.formulaError"))):null==N||N({formula1:"",formula2:u})}),V=(0,_q.useRef)(null),[F,j]=(0,_q.useState)(!1);return Cre(e=>{var t;null!=(t=V.current)&&t.isClickOutSide(e)&&j(!1)}),(0,_q.useEffect)(()=>{F?y.setFocusFormulaEditorActiveRuleSubUnitId(i):y.setFocusFormulaEditorActiveRuleSubUnitId(null)},[F,i,y]),(0,$Z.jsxs)($Z.Fragment,{children:[(0,$Z.jsx)(z9,{label:p.t("dataValidation.list.options"),children:(0,$Z.jsxs)(v5,{value:c,onChange:e=>{d(e),m(f),"1"===e&&N({formula1:"="===f?"":f,formula2:_.join(",")})},children:[(0,$Z.jsx)(b5,{value:"0",children:p.t("dataValidation.list.customOptions")}),(0,$Z.jsx)(b5,{value:"1",children:p.t("dataValidation.list.refOptions")})]})}),"1"===c?(0,$Z.jsxs)(z9,{error:x||I||void 0,children:[(0,$Z.jsx)(gze,{ref:V,className:x7("univer-box-border univer-h-8 univer-w-full univer-cursor-pointer univer-items-center univer-rounded-lg univer-bg-white univer-pt-2 univer-transition-colors hover:univer-border-primary-600 dark:!univer-bg-gray-700 dark:!univer-text-white [&>div:first-child]:univer-px-2.5 [&>div]:univer-h-5 [&>div]:univer-ring-transparent",V7),initValue:h,unitId:n,subUnitId:i,isFocus:F,isSupportAcrossSheet:!0,onFocus:()=>j(!0),onChange:(e="")=>{let t=(null==e?"":e).trim();g(t),B(t)}}),D.length>0&&(0,$Z.jsx)("div",{className:"univer-mt-3",children:D.map(e=>(0,$Z.jsx)(l2e,{className:"univer-mb-3",item:e,commonProps:{onItemChange:U}},e.id))})]}):(0,$Z.jsx)(z9,{error:x,children:(0,$Z.jsxs)("div",{className:"-univer-mt-3",children:[(0,$Z.jsx)(T9,{list:M,onListChange:O,rowHeight:28,margin:[0,12],draggableHandle:".draggableHandle",itemRender:e=>(0,$Z.jsx)(l2e,{item:e,commonProps:{onItemChange:L,onItemDelete:k}},e.id),idKey:"id"}),(0,$Z.jsxs)("a",{className:"univer-text-primary univer-flex univer-w-fit univer-cursor-pointer univer-flex-row univer-items-center univer-rounded univer-p-1 univer-px-2 univer-text-sm hover:univer-bg-primary-50 dark:hover:!univer-bg-gray-800",onClick:()=>{O([...M,{label:"",color:"#ECECEC",isRef:!1,id:cu(4)}])},children:[(0,$Z.jsx)(EY,{className:"univer-mr-1"}),p.t("dataValidation.list.add")]})]})})]})}],[y0e,function(e){let{value:t,onChange:r,showError:n,validResult:i}=e,a=iK(Cg),o=n?null==i?void 0:i.formula1:"",s=n?null==i?void 0:i.formula2:"",[l,u]=(0,_q.useState)(!(void 0===(null==t?void 0:t.formula1)&&void 0===(null==t?void 0:t.formula2)));return(0,$Z.jsxs)($Z.Fragment,{children:[(0,$Z.jsx)(z9,{children:(0,$Z.jsx)($7,{checked:l,onChange:e=>{e?u(!0):(u(!1),null==r||r({...t,formula1:void 0,formula2:void 0}))},children:a.t("dataValidation.checkbox.tips")})}),l?(0,$Z.jsx)(z9,{label:a.t("dataValidation.checkbox.checked"),error:o,children:(0,$Z.jsx)(Z9,{className:"univer-w-full",placeholder:a.t("dataValidation.panel.valuePlaceholder"),value:null==t?void 0:t.formula1,onChange:e=>{null==r||r({...t,formula1:e||void 0})}})}):null,l?(0,$Z.jsx)(z9,{label:a.t("dataValidation.checkbox.unchecked"),error:s,children:(0,$Z.jsx)(Z9,{className:"univer-w-full",placeholder:a.t("dataValidation.panel.valuePlaceholder"),value:null==t?void 0:t.formula2,onChange:e=>{null==r||r({...t,formula2:e||void 0})}})}):null]})}]];function c2e(e){var t;let{value:r,onChange:n}=e,i=iK(Cg);return(0,$Z.jsx)(z9,{label:i.t("dataValidation.renderMode.label"),children:(0,$Z.jsxs)(v5,{value:`${null==(t=r.renderMode)?Zg.CUSTOM:t}`,onChange:e=>n({...r,renderMode:+e}),children:[(0,$Z.jsx)(b5,{value:`${Zg.CUSTOM}`,children:i.t("dataValidation.renderMode.chip")}),(0,$Z.jsx)(b5,{value:`${Zg.ARROW}`,children:i.t("dataValidation.renderMode.arrow")}),(0,$Z.jsx)(b5,{value:`${Zg.TEXT}`,children:i.t("dataValidation.renderMode.text")})]})})}function d2e(e){var t;let{value:r,onChange:n}=e,i=iK(Cg);return(0,$Z.jsx)(z9,{children:(0,$Z.jsx)($7,{checked:null==(t=r.bizInfo)?void 0:t.showTime,onChange:e=>{n({...r,bizInfo:{...r.bizInfo,showTime:e}})},children:i.t("dataValidation.showTime.label")})})}c2e.componentKey="LIST_RENDER_MODE_OPTION_INPUT",d2e.componentKey="DATE_SHOW_TIME_OPTION";let h2e=class{_calc(e,t){var r,n,i;let{vt:a,ht:o}=t||{},s=e.endX-e.startX-12,l=e.endY-e.startY,u=1.6*(null==(r=null==t?void 0:t.fs)?10:r),c=0,d=0;switch(a){case ku.TOP:d=0;break;case ku.BOTTOM:d=l-u+0;break;default:d=0+(l-u)/2}switch(o){case Lu.LEFT:c=6;break;case Lu.RIGHT:c=s-u+6;break;default:c=6+(s-u)/2}return{left:e.startX+c,top:e.startY+d,width:1.6*(null==(n=null==t?void 0:t.fs)?10:n),height:1.6*(null==(i=null==t?void 0:t.fs)?10:i)}}constructor(e,t,r,n,i,a){this._commandService=e,this._univerInstanceService=t,this._formulaService=r,this._themeService=n,this._renderManagerService=i,this._dataValidationModel=a}calcCellAutoHeight(e){var t;let{style:r}=e;return 1.6*(null==(t=null==r?void 0:r.fs)?10:t)}calcCellAutoWidth(e){var t;let{style:r}=e;return 1.6*(null==(t=null==r?void 0:r.fs)?10:t)}async _parseFormula(e,t,r){var n,i,a;let{formula1:o=R1e,formula2:s=x1e}=e,l=await this._formulaService.getRuleFormulaResult(t,r,e.uid),u=h1e(null==l||null==(n=l[0])||null==(n=n.result)||null==(n=n[0])?void 0:n[0]),c=h1e(null==l||null==(i=l[1])||null==(i=i.result)||null==(i=i[0])?void 0:i[0]),d=f1e(String(u))&&f1e(String(c));return{formula1:Bd(o)?h1e(null==l||null==(a=l[0])||null==(a=a.result)||null==(a=a[0])?void 0:a[0]):o,formula2:Bd(s)?c:s,isFormulaValid:d}}drawWith(e,t){var r,n,i,a;let{style:o,primaryWithCoord:s,unitId:l,subUnitId:u,worksheet:c,row:d,col:h}=t,m=s.isMergedMainCell?s.mergeInfo:s,f=v1e(c.getCellRaw(d,h)),g=this._dataValidationModel.getRuleByLocation(l,u,d,h);if(!g)return;let p=this._dataValidationModel.getValidator(g.type);if(!p||null==(r=p.skipDefaultFontRender)||!r.call(p,g,f,{unitId:l,subUnitId:u,row:d,column:h}))return;let{formula1:v}=p.parseFormulaSync(g,l,u),b=this._calc(m,o),{a:C,d:y}=e.getTransform(),_=ZV(b.left,C),w=ZV(b.top,y),E=ej.create().composeMatrix({left:_,top:w,scaleX:1,scaleY:1,angle:0,skewX:0,skewY:0,flipX:!1,flipY:!1}),S=m.endX-m.startX,A=m.endY-m.startY;e.save(),e.beginPath(),e.rect(m.startX,m.startY,S,A),e.clip();let I=E.getMatrix();e.transform(I[0],I[1],I[2],I[3],I[4],I[5]);let R=1.6*(null==(n=null==o?void 0:o.fs)?10:n),x=String(f)===String(v),T=this._themeService.getColorFromTheme("primary.600");Jz.drawWith(e,{checked:x,width:R,height:R,fill:null==(i=null==o||null==(a=o.cl)?void 0:a.rgb)?T:i}),e.restore()}isHit(e,t){let r=t.primaryWithCoord.isMergedMainCell?t.primaryWithCoord.mergeInfo:t.primaryWithCoord,n=this._calc(r,t.style),i=n.top,a=n.top+n.height,o=n.left,s=n.left+n.width,{x:l,y:u}=e;return l<=s&&l>=o&&u<=a&&u>=i}async onPointerDown(e,t){var r;if(2===t.button)return;let{primaryWithCoord:n,unitId:i,subUnitId:a,worksheet:o,row:s,col:l}=e,u=v1e(o.getCellRaw(s,l)),c=this._dataValidationModel.getRuleByLocation(i,a,s,l);if(!c)return;let d=this._dataValidationModel.getValidator(c.type);if(!d||null==(r=d.skipDefaultFontRender)||!r.call(d,c,u,{unitId:i,subUnitId:a,row:s,column:l}))return;let{formula1:h,formula2:m}=await this._parseFormula(c,i,a),f={range:{startColumn:n.actualColumn,endColumn:n.actualColumn,startRow:n.actualRow,endRow:n.actualRow},value:{v:String(u)===N1e(String(h))?m:h,p:null}};this._commandService.executeCommand(mAe.id,f)}onPointerEnter(e,t){var r;null==(r=PX(Pi.UNIVER_SHEET,this._univerInstanceService,this._renderManagerService))||null==(r=r.mainComponent)||r.setCursor(TV.POINTER)}onPointerLeave(e,t){var r;null==(r=PX(Pi.UNIVER_SHEET,this._univerInstanceService,this._renderManagerService))||null==(r=r.mainComponent)||r.setCursor(TV.DEFAULT)}};h2e=x0e([R0e(0,Vc),R0e(1,dg),R0e(2,Y(S1e)),R0e(3,Y(Lg)),R0e(4,Y(kX)),R0e(5,Y(I1e))],h2e);let m2e=class{constructor(e){this.injector=e,I0e(this,"canvasRender",null),I0e(this,"dropdownType",void 0),I0e(this,"optionsInput",void 0),I0e(this,"formulaInput",C0e)}};m2e=x0e([R0e(0,Y(he))],m2e);var f2e=class extends m2e{constructor(...e){super(...e),I0e(this,"id",$g.CHECKBOX),I0e(this,"canvasRender",this.injector.createInstance(h2e)),I0e(this,"formulaInput",y0e)}},g2e=class extends m2e{constructor(...e){super(...e),I0e(this,"id",$g.CUSTOM),I0e(this,"formulaInput",v0e)}},p2e=class extends m2e{constructor(...e){super(...e),I0e(this,"id",$g.DATE),I0e(this,"formulaInput","data-validation.formula-input"),I0e(this,"optionsInput",d2e.componentKey),I0e(this,"dropdownType",a1e.DATE)}},v2e=class extends m2e{constructor(...e){super(...e),I0e(this,"id",$g.DECIMAL),I0e(this,"formulaInput",b0e)}};function b2e(e,t){let r=wF.getTextSize(e,t),n=r.width+8,{ba:i,bd:a}=r;return{width:n,height:i+a+0,ba:i}}function C2e(e,t,r,n){let i,a=r-26,o=n-12,s=e.map(e=>({layout:b2e(e,t),text:e})),l=[];s.forEach(e=>{let{layout:t}=e,{width:r,height:n}=t;!i||i.width+r+4>a?(i={width:r,height:n,items:[{...e,left:0}]},l.push(i)):(i.items.push({...e,left:i.width+4}),i.width=i.width+r+4)});let u=0,c=0;return l.forEach((e,t)=>{c=Math.max(c,e.width),t===l.length-1?u+=e.height:u+=e.height+4}),{lines:l,totalHeight:u,contentWidth:a,contentHeight:o,cellAutoHeight:u+12,calcAutoWidth:c+26}}var y2e=class extends oH{static drawWith(e,t){let{fontString:r,info:n,fill:i,color:a}=t,{layout:o,text:s}=n;e.save(),tX.drawWith(e,{width:o.width,height:o.height,radius:8,fill:i||"#ECECEC"}),e.translateWithPrecision(4,o.ba),e.font=r,e.fillStyle=a,e.fillText(s,0,0),e.restore()}};const _2e=new Path2D("M3.32201 4.84556C3.14417 5.05148 2.85583 5.05148 2.67799 4.84556L0.134292 1.90016C-0.152586 1.56798 0.0505937 1 0.456301 1L5.5437 1C5.94941 1 6.15259 1.56798 5.86571 1.90016L3.32201 4.84556Z");let w2e=class{constructor(e,t,r,n){this._commandService=e,this._univerInstanceService=t,this._renderManagerService=r,this._dataValidationModel=n,I0e(this,"zIndex",void 0),I0e(this,"_dropdownInfoMap",new Map)}_ensureMap(e){let t=this._dropdownInfoMap.get(e);return t||(t=new Map,this._dropdownInfoMap.set(e,t)),t}_generateKey(e,t){return`${e}.${t}`}_drawDownIcon(e,t,r,n,i){let a=r-14+4,o=4;switch(i){case ku.MIDDLE:o=(n-14)/2+4;break;case ku.BOTTOM:o=n-14+4}e.save(),e.translateWithPrecision(t.startX+a,t.startY+o),e.fillStyle="#565656",e.fill(_2e),e.restore()}drawWith(e,t,r,n){var i,a;let{primaryWithCoord:o,row:s,col:l,style:u,data:c,subUnitId:d}=t,h=o.isMergedMainCell?o.mergeInfo:o,{leftOffset:m=0,rightOffset:f=0,topOffset:g=0,downOffset:p=0}=(null==c?void 0:c.fontRenderExtension)||{},v=this._ensureMap(d),b=this._generateKey(s,l),C=o.isMergedMainCell?o.mergeInfo.startRow:s,y=o.isMergedMainCell?o.mergeInfo.startColumn:l,_=this._dataValidationModel.getRuleByLocation(t.unitId,t.subUnitId,C,y);if(!_)return;let w=this._dataValidationModel.getValidator(_.type);if(!w)return;let E={startX:h.startX+m,endX:h.endX-f,startY:h.startY+g,endY:h.endY-p},S=E.endX-E.startX,A=E.endY-E.startY,{cl:I}=u||{},R=null==(i="object"==typeof I?null==I?void 0:I.rgb:I)?"#000":i,x=KV(null==u?void 0:u),{vt:T,ht:N}=u||{},M=null==T?ku.MIDDLE:T,O=null==(a=v1e(c))?"":a,L=w.parseCellValue(O),k=w.getListWithColorMap(_),P=C2e(L,x,S,A);this._drawDownIcon(e,E,S,A,M),e.save(),e.translateWithPrecision(E.startX,E.startY),e.beginPath(),e.rect(0,0,S-14,A),e.clip(),e.translateWithPrecision(6,6);let D=0;switch(M){case ku.MIDDLE:D=(P.contentHeight-P.totalHeight)/2;break;case ku.BOTTOM:D=P.contentHeight-P.totalHeight}e.translateWithPrecision(0,D),P.lines.forEach((t,r)=>{e.save();let{width:n,height:i,items:a}=t,o=0;switch(N){case Lu.RIGHT:o=P.contentWidth-n;break;case Lu.CENTER:o=(P.contentWidth-n)/2}e.translate(o,r*(i+4)),a.forEach(t=>{e.save(),e.translateWithPrecision(t.left,0),y2e.drawWith(e,{...x,info:t,color:R,fill:k[t.text]}),e.restore()}),e.restore()}),e.restore(),v.set(b,{left:E.startX,top:E.startY,width:P.contentWidth+6+14,height:P.contentHeight+12})}calcCellAutoHeight(e){var t;let{primaryWithCoord:r,style:n,data:i,row:a,col:o}=e,{leftOffset:s=0,rightOffset:l=0,topOffset:u=0,downOffset:c=0}=(null==i?void 0:i.fontRenderExtension)||{},d=r.isMergedMainCell?r.mergeInfo:r,h=d.startX+s,m=d.endX-l,f=d.startY+u,g=d.endY-c,p=this._dataValidationModel.getRuleByLocation(e.unitId,e.subUnitId,a,o);if(!p)return;let v=this._dataValidationModel.getValidator(p.type);if(!v)return;let b=m-h,C=g-f,y=null==(t=v1e(i))?"":t;return C2e(v.parseCellValue(y),KV(null==n?void 0:n),b,C).cellAutoHeight}calcCellAutoWidth(e){var t;let{primaryWithCoord:r,style:n,data:i,row:a,col:o}=e,{leftOffset:s=0,rightOffset:l=0,topOffset:u=0,downOffset:c=0}=(null==i?void 0:i.fontRenderExtension)||{},d=r.isMergedMainCell?r.mergeInfo:r,h=d.startX+s,m=d.endX-l,f=d.startY+u,g=d.endY-c,p=this._dataValidationModel.getRuleByLocation(e.unitId,e.subUnitId,a,o);if(!p)return;let v=this._dataValidationModel.getValidator(p.type);if(!v)return;let b=m-h,C=g-f,y=null==(t=v1e(i))?"":t;return C2e(v.parseCellValue(y),KV(null==n?void 0:n),b,C).calcAutoWidth}isHit(e,t){let{primaryWithCoord:r}=t,{endX:n}=r.isMergedMainCell?r.mergeInfo:r,{x:i}=e;return i>=n-14&&i<=n}onPointerDown(e,t){if(2===t.button)return;let{unitId:r,subUnitId:n,row:i,col:a}=e,o={unitId:r,subUnitId:n,row:i,column:a};this._commandService.executeCommand(F0e.id,o)}onPointerEnter(e,t){var r;return null==(r=PX(Pi.UNIVER_SHEET,this._univerInstanceService,this._renderManagerService))||null==(r=r.mainComponent)?void 0:r.setCursor(TV.POINTER)}onPointerLeave(e,t){var r;return null==(r=PX(Pi.UNIVER_SHEET,this._univerInstanceService,this._renderManagerService))||null==(r=r.mainComponent)?void 0:r.setCursor(TV.DEFAULT)}};w2e=x0e([R0e(0,Vc),R0e(1,dg),R0e(2,Y(kX)),R0e(3,Y(I1e))],w2e);var E2e=class extends m2e{constructor(...e){super(...e),I0e(this,"id",$g.LIST_MULTIPLE),I0e(this,"canvasRender",this.injector.createInstance(w2e)),I0e(this,"dropdownType",a1e.MULTIPLE_LIST)}};const S2e=new Path2D("M3.32201 4.84556C3.14417 5.05148 2.85583 5.05148 2.67799 4.84556L0.134292 1.90016C-0.152586 1.56798 0.0505937 1 0.456301 1L5.5437 1C5.94941 1 6.15259 1.56798 5.86571 1.90016L3.32201 4.84556Z");function A2e(e,t,r,n,i,a,o=!0){let s=0,l=o?3:0;switch(i){case ku.BOTTOM:s=t-n-l;break;case ku.MIDDLE:s=(t-n)/2;break;default:s=l}s=Math.max(3,s);let u=0;switch(a){case Lu.CENTER:u=(e-r)/2;break;case Lu.RIGHT:u=e-r}return u=Math.max(6,u),{paddingLeft:u,paddingTop:s}}let I2e=class{constructor(e,t,r,n,i){this._univerInstanceService=e,this._localeService=t,this._commandService=r,this._renderManagerService=n,this._dataValidationModel=i,I0e(this,"_dropdownInfoMap",new Map),I0e(this,"zIndex",void 0)}_ensureMap(e){let t=this._dropdownInfoMap.get(e);return t||(t=new Map,this._dropdownInfoMap.set(e,t)),t}_generateKey(e,t){return`${e}.${t}`}_drawDownIcon(e,t,r,n,i,a,o){let s,{t:l=vh.pd.t,b:u=vh.pd.b}=o,c=r-14;switch(a){case ku.MIDDLE:s=(n-4)/2;break;case ku.BOTTOM:s=n-u-i-3+(i/2-2);break;default:s=l+3+(i/2-2)}e.save(),e.translateWithPrecision(t.startX+c,t.startY+s),e.fillStyle="#565656",e.fill(S2e),e.restore()}drawWith(e,t,r){var n,i,a,o;let{primaryWithCoord:s,row:l,col:u,style:c,data:d,subUnitId:h}=t,m=s.isMergedMainCell?s.mergeInfo:s,f=s.isMergedMainCell?s.mergeInfo.startRow:l,g=s.isMergedMainCell?s.mergeInfo.startColumn:u,p=this._dataValidationModel.getRuleByLocation(t.unitId,t.subUnitId,f,g);if(!p)return;let v=this._dataValidationModel.getValidator(p.type);if(!v)return;let{leftOffset:b=0,rightOffset:C=0,topOffset:y=0,downOffset:_=0}=(null==d?void 0:d.fontRenderExtension)||{};if(!(p&&v&&v&&0===v.id.indexOf($g.LIST)&&v.skipDefaultFontRender(p)))return;let w={startX:m.startX+b,endX:m.endX-C,startY:m.startY+y,endY:m.endY-_},E=w.endX-w.startX,S=w.endY-w.startY,A=this._ensureMap(h),I=this._generateKey(l,u),R=v.getListWithColorMap(p),x=v1e(d),T=`${null==x?"":x}`,N=R[T],{tb:M,vt:O,ht:L,pd:k}=c||{};M=null==(n=M)?Pu.WRAP:n,O=null==(i=O)?ku.BOTTOM:i,L=null==(a=L)?vh.ht:a,k=null==(o=k)?vh.pd:o;let P=KV(c).fontCache;if(p.renderMode===Zg.ARROW){var D,U,B;let{l:t=vh.pd.l,t:n=vh.pd.t,r:i=vh.pd.r,b:a=vh.pd.b}=k,o=E-t-i-14-4,s=new nH(T,P,M===Pu.WRAP,o,1/0);s.calculate();let l=s.getTotalWidth(),u=s.getTotalHeight(),{paddingTop:d,paddingLeft:h}=A2e(o,S-n-a,l,u,O,L,!0);this._drawDownIcon(e,w,E,S,u,O,k),e.save(),e.translateWithPrecision(w.startX+t,w.startY+n),e.beginPath(),e.rect(0,0,E-t-i,S-n-a),e.clip(),e.translateWithPrecision(0,d),e.save(),e.translateWithPrecision(h,0),e.beginPath(),e.rect(0,0,o,u),e.clip(),lH.drawWith(e,{text:T,fontStyle:P,width:o,height:u,color:null==c||null==(D=c.cl)?void 0:D.rgb,strokeLine:!(null==c||null==(U=c.st)||!U.s),underline:!(null==c||null==(B=c.ul)||!B.s),warp:M===Pu.WRAP,hAlign:Lu.LEFT},s),e.restore(),e.restore(),A.set(I,{left:w.endX-14+r.rowHeaderWidth,top:w.startY+n+r.columnHeaderHeight,width:14,height:S-n-a})}else{var V,F,j;e.save(),e.translateWithPrecision(w.startX,w.startY),e.beginPath(),e.rect(0,0,E,S),e.clip();let t=E-12-4-14-4,n=new nH(T,P,M===Pu.WRAP,t,1/0);n.calculate();let i=n.getTotalWidth(),a=n.getTotalHeight(),o=a+2,s=Math.max(E-12,1),{paddingTop:l}=A2e(s,S,i,o,O,L);e.translateWithPrecision(6,l),tX.drawWith(e,{width:s,height:o,fill:N||"#ECECEC",radius:8}),e.save(),e.translateWithPrecision(4,1),e.beginPath(),e.rect(0,0,t,a),e.clip(),lH.drawWith(e,{text:T,fontStyle:P,width:t,height:a,color:null==c||null==(V=c.cl)?void 0:V.rgb,strokeLine:!(null==c||null==(F=c.st)||!F.s),underline:!(null==c||null==(j=c.ul)||!j.s),warp:M===Pu.WRAP,hAlign:Lu.LEFT},n),e.restore(),e.translateWithPrecision(t+4+4,(a-4)/2),e.fillStyle="#565656",e.fill(S2e),e.restore(),A.set(I,{left:w.startX+6+r.rowHeaderWidth,top:w.startY+l+r.columnHeaderHeight,width:s,height:o})}}calcCellAutoHeight(e){var t;let{primaryWithCoord:r,style:n,data:i,row:a,col:o}=e,s=r.isMergedMainCell?r.mergeInfo:r,{leftOffset:l=0,rightOffset:u=0,topOffset:c=0,downOffset:d=0}=(null==i?void 0:i.fontRenderExtension)||{},h=this._dataValidationModel.getRuleByLocation(e.unitId,e.subUnitId,a,o);if(!h||h.renderMode===Zg.TEXT)return;let m=s.startX+l,f=s.endX-u,g=(s.startY,s.endY,f-m),p=v1e(i),v=`${null==p?"":p}`,{tb:b,pd:C}=n||{},{t:y=vh.pd.t,b:_=vh.pd.b}=null==C?{}:C;if(b=null==(t=b)?Pu.WRAP:t,h.renderMode===Zg.ARROW){let{l:e=vh.pd.l,r:t=vh.pd.r}=null==C?{}:C,r=g-e-t-14-4,i=new nH(v,KV(n).fontCache,b===Pu.WRAP,r,1/0);return i.calculate(),i.getTotalHeight()+y+_+6}{let e=Math.max(g-12-4-14-4,10),t=new nH(v,KV(n).fontCache,b===Pu.WRAP,e,1/0);return t.calculate(),t.getTotalHeight()+6+2}}calcCellAutoWidth(e){var t;let{primaryWithCoord:r,style:n,data:i,row:a,col:o}=e,s=r.isMergedMainCell?r.mergeInfo:r,{leftOffset:l=0,rightOffset:u=0,topOffset:c=0,downOffset:d=0}=(null==i?void 0:i.fontRenderExtension)||{},h=this._dataValidationModel.getRuleByLocation(e.unitId,e.subUnitId,a,o);if(!h||h.renderMode===Zg.TEXT)return;let m=s.startX+l,f=s.endX-u,g=(s.startY,s.endY,f-m),p=v1e(i),v=`${null==p?"":p}`,{tb:b,pd:C}=n||{},{l:y=vh.pd.l,r:_=vh.pd.r}=null==C?{}:C;b=null==(t=b)?Pu.WRAP:t;let w=26;switch(h.renderMode){case Zg.ARROW:w=18+_+y;break;case Zg.CUSTOM:default:w=34+_+y+4+1}let E=g-w,S=new nH(v,KV(n).fontCache,b===Pu.WRAP,E,1/0);return S.calculate(),S.getTotalWidth()+w}isHit(e,t){let{subUnitId:r,row:n,col:i}=t,a=this._ensureMap(r).get(this._generateKey(n,i)),o=this._dataValidationModel.getRuleByLocation(t.unitId,t.subUnitId,n,i);if(!o||!a||o.renderMode===Zg.TEXT)return!1;let{top:s,left:l,width:u,height:c}=a,{x:d,y:h}=e;return d>=l&&d<=l+u&&h>=s&&h<=s+c}onPointerDown(e,t){if(2===t.button)return;let{unitId:r,subUnitId:n,row:i,col:a}=e,o={unitId:r,subUnitId:n,row:i,column:a};this._commandService.executeCommand(F0e.id,o)}onPointerEnter(e,t){var r;null==(r=PX(Pi.UNIVER_SHEET,this._univerInstanceService,this._renderManagerService))||null==(r=r.mainComponent)||r.setCursor(TV.POINTER)}onPointerLeave(e,t){var r;null==(r=PX(Pi.UNIVER_SHEET,this._univerInstanceService,this._renderManagerService))||null==(r=r.mainComponent)||r.setCursor(TV.DEFAULT)}};I2e=x0e([R0e(0,dg),R0e(1,Y(Cg)),R0e(2,Vc),R0e(3,Y(kX)),R0e(4,Y(I1e))],I2e);var R2e=class extends m2e{constructor(...e){super(...e),I0e(this,"id",$g.LIST),I0e(this,"canvasRender",this.injector.createInstance(I2e)),I0e(this,"dropdownType",a1e.LIST),I0e(this,"optionsInput",c2e.componentKey),I0e(this,"formulaInput",C0e)}},x2e=class extends m2e{constructor(...e){super(...e),I0e(this,"id",$g.TEXT_LENGTH),I0e(this,"formulaInput",b0e)}},T2e=class extends m2e{constructor(...e){super(...e),I0e(this,"id",$g.WHOLE),I0e(this,"formulaInput",b0e)}};let N2e=class extends ru{constructor(e,t,r){super(),this._injector=e,this._componentManger=t,this._dataValidatorRegistryService=r,this._initComponents(),this._registerValidatorViews()}_initComponents(){[["DataValidationIcon",w0e],[D0e,a2e],[c2e.componentKey,c2e],[d2e.componentKey,d2e],...u2e].forEach(([e,t])=>{this.disposeWithMe(this._componentManger.register(e,t))})}_registerValidatorViews(){[v2e,T2e,x2e,p2e,f2e,R2e,E2e,g2e].forEach(e=>{let t=this._injector.createInstance(e),r=this._dataValidatorRegistryService.getValidatorItem(t.id);r&&(r.formulaInput=t.formulaInput,r.canvasRender=t.canvasRender,r.dropdownType=t.dropdownType,r.optionsInput=t.optionsInput)})}};N2e=x0e([R0e(0,Y(he)),R0e(1,Y(W5)),R0e(2,Y(HJe))],N2e);let M2e=class extends Rg{constructor(e=M0e,t,r,n){super(),this._config=e,this._injector=t,this._commandService=r,this._configService=n;let{menu:i,...a}=hr({},M0e,this._config);i&&this._configService.setConfig("menu",i,{merge:!0}),this._configService.setConfig(N0e,a)}onStarting(){[[T0e],[P0e],[z0e],[X0e],[$0e],[Y0e],[G0e],[N2e]].forEach(e=>{this._injector.add(e)}),[H0e,F0e,j0e,B0e,U0e,V0e].forEach(e=>{this._commandService.registerCommand(e)})}onReady(){this._injector.get(G0e),this._injector.get(Y0e),this._injector.get(kX).registerRenderModule(Pi.UNIVER_SHEET,[e2e])}onRendered(){this._injector.get(N2e),this._injector.get($0e)}onSteady(){this._injector.get(X0e)}};I0e(M2e,"pluginName","SHEET_DATA_VALIDATION_UI_PLUGIN"),I0e(M2e,"packageName",E0e),I0e(M2e,"version",S0e),I0e(M2e,"type",Pi.UNIVER_SHEET),M2e=x0e([R0e(1,Y(he)),R0e(2,Vc),R0e(3,Tc)],M2e);let O2e=class extends Rg{constructor(e=M0e,t,r,n){super(),this._config=e,this._injector=t,this._commandService=r,this._configService=n;let{menu:i,...a}=hr({},M0e,this._config);i&&this._configService.setConfig("menu",i,{merge:!0}),this._configService.setConfig(N0e,a)}onStarting(){[[T0e],[P0e],[z0e],[X0e],[$0e],[Y0e],[G0e],[O0e],[N2e]].forEach(e=>{this._injector.add(e)}),[H0e,F0e,j0e,B0e,U0e,V0e].forEach(e=>{this._commandService.registerCommand(e)})}onReady(){this._injector.get(G0e),this._injector.get(Y0e),this._injector.get(O0e),this._injector.get(z0e),this._injector.get(kX).registerRenderModule(Pi.UNIVER_SHEET,[e2e])}onRendered(){this._injector.get(N2e),this._injector.get($0e)}onSteady(){this._injector.get(X0e)}};function L2e(e){return L2e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},L2e(e)}function k2e(e,t,r){return(t=function(e){var t=function(e){if("object"!=L2e(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=L2e(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==L2e(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}I0e(O2e,"pluginName","SHEET_DATA_VALIDATION_UI_PLUGIN"),I0e(O2e,"packageName",E0e),I0e(O2e,"version",S0e),I0e(O2e,"type",Pi.UNIVER_SHEET),O2e=x0e([Tg(g0e),R0e(1,Y(he)),R0e(2,Vc),R0e(3,Tc)],O2e);var P2e=class e{constructor(e){k2e(this,"_rule",void 0),this._rule=null==e?{uid:cu(),ranges:void 0,type:$g.CUSTOM}:e}build(){return new D2e(this._rule)}copy(){return new e({...this._rule,uid:cu()})}getAllowInvalid(){return this._rule.errorStyle!==Yg.STOP}getCriteriaType(){return this._rule.type}getCriteriaValues(){return[this._rule.operator,this._rule.formula1,this._rule.formula2]}getHelpText(){return this._rule.error}requireCheckbox(e,t){return this._rule.type=$g.CHECKBOX,this._rule.formula1=e,this._rule.formula2=t,this}requireDateAfter(e){return this._rule.type=$g.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.operator=Qg.GREATER_THAN,this}requireDateBefore(e){return this._rule.type=$g.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.formula2=void 0,this._rule.operator=Qg.LESS_THAN,this}requireDateBetween(e,t){return this._rule.type=$g.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.formula2=t.toLocaleDateString(),this._rule.operator=Qg.BETWEEN,this}requireDateEqualTo(e){return this._rule.type=$g.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.formula2=void 0,this._rule.operator=Qg.EQUAL,this}requireDateNotBetween(e,t){return this._rule.type=$g.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.formula2=t.toLocaleDateString(),this._rule.operator=Qg.NOT_BETWEEN,this}requireDateOnOrAfter(e){return this._rule.type=$g.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.formula2=void 0,this._rule.operator=Qg.GREATER_THAN_OR_EQUAL,this}requireDateOnOrBefore(e){return this._rule.type=$g.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.formula2=void 0,this._rule.operator=Qg.LESS_THAN_OR_EQUAL,this}requireFormulaSatisfied(e){return this._rule.type=$g.CUSTOM,this._rule.formula1=e,this._rule.formula2=void 0,this}requireNumberBetween(e,t,r){return this._rule.formula1=`${e}`,this._rule.formula2=`${t}`,this._rule.operator=Qg.BETWEEN,this._rule.type=r?$g.WHOLE:$g.DECIMAL,this}requireNumberEqualTo(e,t){return this._rule.formula1=`${e}`,this._rule.formula2=void 0,this._rule.operator=Qg.EQUAL,this._rule.type=t?$g.WHOLE:$g.DECIMAL,this}requireNumberGreaterThan(e,t){return this._rule.formula1=`${e}`,this._rule.formula2=void 0,this._rule.operator=Qg.GREATER_THAN,this._rule.type=t?$g.WHOLE:$g.DECIMAL,this}requireNumberGreaterThanOrEqualTo(e,t){return this._rule.formula1=`${e}`,this._rule.formula2=void 0,this._rule.operator=Qg.GREATER_THAN_OR_EQUAL,this._rule.type=t?$g.WHOLE:$g.DECIMAL,this}requireNumberLessThan(e,t){return this._rule.formula1=`${e}`,this._rule.formula2=void 0,this._rule.operator=Qg.LESS_THAN,this._rule.type=t?$g.WHOLE:$g.DECIMAL,this}requireNumberLessThanOrEqualTo(e,t){return this._rule.formula1=`${e}`,this._rule.formula2=void 0,this._rule.operator=Qg.LESS_THAN_OR_EQUAL,this._rule.type=t?$g.WHOLE:$g.DECIMAL,this}requireNumberNotBetween(e,t,r){return this._rule.formula1=`${e}`,this._rule.formula2=`${t}`,this._rule.operator=Qg.NOT_BETWEEN,this._rule.type=r?$g.WHOLE:$g.DECIMAL,this}requireNumberNotEqualTo(e,t){return this._rule.formula1=`${e}`,this._rule.formula2=void 0,this._rule.operator=Qg.NOT_EQUAL,this._rule.type=t?$g.WHOLE:$g.DECIMAL,this}requireValueInList(e,t,r){return this._rule.type=t?$g.LIST_MULTIPLE:$g.LIST,this._rule.formula1=e.join(","),this._rule.formula2=void 0,this._rule.showDropDown=null==r||r,this}requireValueInRange(e,t,r){return this._rule.type=t?$g.LIST_MULTIPLE:$g.LIST,this._rule.formula1=`=${Bme({unitId:e.getUnitId(),sheetName:e.getSheetName(),range:e.getRange()})}`,this._rule.formula2=void 0,this._rule.showDropDown=null==r||r,this}setAllowInvalid(e){return this._rule.errorStyle=e?Yg.WARNING:Yg.STOP,this}setAllowBlank(e){return this._rule.allowBlank=e,this}setOptions(e){return Object.assign(this._rule,e),this}},D2e=class{constructor(e,t,r){k2e(this,"rule",void 0),k2e(this,"_worksheet",void 0),k2e(this,"_injector",void 0),this._injector=r,this.rule=e,this._worksheet=t}getAllowInvalid(){return this.rule.errorStyle!==Yg.STOP}getCriteriaType(){return this.rule.type}getCriteriaValues(){return[this.rule.operator,this.rule.formula1,this.rule.formula2]}getHelpText(){return this.rule.error}copy(){return new P2e(this.rule)}getApplied(){if(!this._worksheet)return!1;let e=this._injector.get(DJe).getRuleById(this._worksheet.getUnitId(),this._worksheet.getSheetId(),this.rule.uid);return!(!e||!e.ranges.length)}getRanges(){if(!this.getApplied())return[];let e=this._injector.get(dg).getUnit(this._worksheet.getUnitId());return this.rule.ranges.map(t=>this._injector.createInstance(mqe,e,this._worksheet,t))}getUnitId(){var e;return null==(e=this._worksheet)?void 0:e.getUnitId()}getSheetId(){var e;return null==(e=this._worksheet)?void 0:e.getSheetId()}setCriteria(e,t,r=!0){if(this.getApplied()&&!this._injector.get(Vc).syncExecuteCommand(Z1e.id,{unitId:this.getUnitId(),subUnitId:this.getSheetId(),ruleId:this.rule.uid,setting:{operator:t[0],formula1:t[1],formula2:t[2],type:this.rule.type,allowBlank:r}}))throw Error("setCriteria failed");return this.rule.operator=t[0],this.rule.formula1=t[1],this.rule.formula2=t[2],this.rule.type=e,this.rule.allowBlank=r,this}setOptions(e){if(this.getApplied()&&!this._injector.get(Vc).syncExecuteCommand(K1e.id,{unitId:this.getUnitId(),subUnitId:this.getSheetId(),ruleId:this.rule.uid,options:{...NJe(this.rule),...e}}))throw Error("setOptions failed");return Object.assign(this.rule,e),this}setRanges(e){if(this.getApplied()&&!this._injector.get(Vc).syncExecuteCommand(Y1e.id,{unitId:this.getUnitId(),subUnitId:this.getSheetId(),ruleId:this.rule.uid,ranges:e.map(e=>e.getRange())}))throw Error("setRanges failed");return this.rule.ranges=e.map(e=>e.getRange()),this}delete(){return!!this.getApplied()&&this._injector.get(Vc).syncExecuteCommand(t0e.id,{unitId:this.getUnitId(),subUnitId:this.getSheetId(),ruleId:this.rule.uid})}};function U2e(e={}){const{showEditOnDropdown:t,showSearchOnDropdown:r}=e;return{plugins:[ZJe,g0e,[O2e,{showEditOnDropdown:t,showSearchOnDropdown:r}]].filter(e=>!!e)}}mqe.extend(class extends mqe{setDataValidation(e){if(!e)return this._commandService.syncExecuteCommand($1e.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),ranges:[this._range]}),this;let t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),rule:{...e.rule,ranges:[this._range]}};return this._commandService.syncExecuteCommand(Q1e.id,t),this}getDataValidation(){let e=this._injector.get(f0e).getDataValidation(this._workbook.getUnitId(),this._worksheet.getSheetId(),[this._range]);return e&&new D2e(e,this._worksheet,this._injector)}getDataValidations(){return this._injector.get(f0e).getDataValidations(this._workbook.getUnitId(),this._worksheet.getSheetId(),[this._range]).map(e=>new D2e(e,this._worksheet,this._injector))}async getValidatorStatus(){return this._injector.get(f0e).validatorRanges(this._workbook.getUnitId(),this._worksheet.getSheetId(),[this._range])}async getDataValidationErrorAsync(){let e=this._workbook.getUnitId(),t=this._worksheet.getSheetId();return this._collectValidationErrorsForRange(e,t,[this._range])}async _collectValidationErrorsForRange(e,t,r){if(!r.length)return[];let n=this._injector.get(f0e),i=this._worksheet,a=i.getName(),o=[];for(let s of r){let r=[];for(let l=s.startRow;l<=s.endRow;l++)for(let u=s.startColumn;u<=s.endColumn;u++)r.push((async()=>{try{if(await n.validatorCell(e,t,l,u)!==Kg.VALID){let n=this._injector.get(I1e).getRuleByLocation(e,t,l,u);if(n){var r;let e=(null==(r=i.getCell(l,u))?void 0:r.v)||null,t=this._createDataValidationError(a,l,u,n,e);o.push(t)}}}catch(e){console.warn(`Failed to validate cell [${l}, ${u}]:`,e)}})());await Promise.all(r)}return o}_createDataValidationError(e,t,r,n,i){return{sheetName:e,row:t,column:r,ruleId:n.uid,inputValue:i,rule:n}}}),yp.extend(class extends yp{static newDataValidation(){return new P2e}newDataValidation(){return new P2e}_initialize(e){let t=e.get(Vc);this.disposeWithMe(this.registerEventHandler(this.Event.SheetDataValidationChanged,()=>e.has(I1e)?e.get(I1e).ruleChange$.subscribe(e=>{let{unitId:t,subUnitId:r,rule:n,oldRule:i,type:a}=e,o=this.getSheetTarget(t,r);if(!o)return;let{workbook:s,worksheet:l}=o,u=new D2e(n,l.getSheet(),this._injector);this.fireEvent(this.Event.SheetDataValidationChanged,{origin:e,worksheet:l,workbook:s,changeType:a,oldRule:i,rule:u})}):{dispose:()=>{}})),this.disposeWithMe(this.registerEventHandler(this.Event.SheetDataValidatorStatusChanged,()=>e.has(I1e)?e.get(I1e).validStatusChange$.subscribe(e=>{let{unitId:t,subUnitId:r,ruleId:n,status:i,row:a,col:o}=e,s=this.getSheetTarget(t,r);if(!s)return;let{workbook:l,worksheet:u}=s,c=u.getDataValidation(n);c&&this.fireEvent(this.Event.SheetDataValidatorStatusChanged,{workbook:l,worksheet:u,row:a,column:o,rule:c,status:i})}):{dispose:()=>{}})),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetDataValidationAdd,()=>t.beforeCommandExecuted(e=>{if(e.id===Q1e.id){let t=e.params,r=this.getSheetTarget(t.unitId,t.subUnitId);if(!r)return;let{workbook:n,worksheet:i}=r,a={worksheet:i,workbook:n,rule:t.rule};if(this.fireEvent(this.Event.BeforeSheetDataValidationAdd,a),a.cancel)throw new Pl}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetDataValidationCriteriaUpdate,()=>t.beforeCommandExecuted(e=>{if(e.id===Z1e.id){let t=e.params,r=this.getSheetTarget(t.unitId,t.subUnitId);if(!r)return;let{workbook:n,worksheet:i}=r,a=i.getDataValidation(t.ruleId);if(!a)return;let o={worksheet:i,workbook:n,rule:a,ruleId:t.ruleId,newCriteria:t.setting};if(this.fireEvent(this.Event.BeforeSheetDataValidationCriteriaUpdate,o),o.cancel)throw new Pl}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetDataValidationRangeUpdate,()=>t.beforeCommandExecuted(e=>{if(e.id===Y1e.id){let t=e.params,r=this.getSheetTarget(t.unitId,t.subUnitId);if(!r)return;let{workbook:n,worksheet:i}=r,a=i.getDataValidation(t.ruleId);if(!a)return;let o={worksheet:i,workbook:n,rule:a,ruleId:t.ruleId,newRanges:t.ranges};if(this.fireEvent(this.Event.BeforeSheetDataValidationRangeUpdate,o),o.cancel)throw new Pl}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetDataValidationOptionsUpdate,()=>t.beforeCommandExecuted(e=>{if(e.id===K1e.id){let t=e.params,r=this.getSheetTarget(t.unitId,t.subUnitId);if(!r)return;let{workbook:n,worksheet:i}=r,a=i.getDataValidation(t.ruleId);if(!a)return;let o={worksheet:i,workbook:n,rule:a,ruleId:t.ruleId,newOptions:t.options};if(this.fireEvent(this.Event.BeforeSheetDataValidationOptionsUpdate,o),o.cancel)throw new Pl}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetDataValidationDelete,()=>t.beforeCommandExecuted(e=>{if(e.id===t0e.id){let t=e.params,r=this.getSheetTarget(t.unitId,t.subUnitId);if(!r)return;let{workbook:n,worksheet:i}=r,a=i.getDataValidation(t.ruleId);if(!a)return;let o={worksheet:i,workbook:n,rule:a,ruleId:t.ruleId};if(this.fireEvent(this.Event.BeforeSheetDataValidationDelete,o),o.cancel)throw new Pl}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetDataValidationDeleteAll,()=>t.beforeCommandExecuted(e=>{if(e.id===J1e.id){let t=e.params,r=this.getSheetTarget(t.unitId,t.subUnitId);if(!r)return;let{workbook:n,worksheet:i}=r,a={worksheet:i,workbook:n,rules:i.getDataValidations()};if(this.fireEvent(this.Event.BeforeSheetDataValidationDeleteAll,a),a.cancel)throw new Pl}})))}}),gqe.extend(class extends gqe{_initialize(){Object.defineProperty(this,"_dataValidationModel",{get(){return this._injector.get(I1e)}})}getValidatorStatus(){return this._injector.get(f0e).validatorWorkbook(this._workbook.getUnitId())}async getAllDataValidationErrorAsync(){let e=this._workbook.getUnitId(),t=this._dataValidationModel.getSubUnitIds(e),r=[];for(let n of t){let t=await this._collectValidationErrorsForSheet(e,n);r.push(...t)}return r}async _collectValidationErrorsForSheet(e,t){let r=this._dataValidationModel.getRules(e,t);if(!r.length)return[];let n=r.flatMap(e=>e.ranges);return this._collectValidationErrorsForRange(e,t,n)}async _collectValidationErrorsForRange(e,t,r){if(!r.length)return[];let n=this._injector.get(f0e),i=this._workbook.getSheetBySheetId(t);if(!i)throw Error(`Cannot find worksheet with sheetId: ${t}`);let a=i.getName(),o=[];for(let s of r){let r=[];for(let l=s.startRow;l<=s.endRow;l++)for(let u=s.startColumn;u<=s.endColumn;u++)r.push((async()=>{try{if(await n.validatorCell(e,t,l,u)!==Kg.VALID){let n=this._dataValidationModel.getRuleByLocation(e,t,l,u);if(n){var r;let e=(null==(r=i.getCell(l,u))?void 0:r.v)||null,t=this._createDataValidationError(a,l,u,n,e);o.push(t)}}}catch(e){console.warn(`Failed to validate cell [${l}, ${u}]:`,e)}})());await Promise.all(r)}return o}_createDataValidationError(e,t,r,n,i){return{sheetName:e,row:t,column:r,ruleId:n.uid,inputValue:i,rule:n}}onDataValidationChange(e){return Jl(this._dataValidationModel.ruleChange$.pipe(Un(e=>e.unitId===this._workbook.getUnitId())).subscribe(e))}onDataValidationStatusChange(e){return Jl(this._dataValidationModel.validStatusChange$.pipe(Un(e=>e.unitId===this._workbook.getUnitId())).subscribe(e))}onBeforeAddDataValidation(e){return Jl(this._commandService.beforeCommandExecuted((t,r)=>{let n=t.params;if(t.id===Q1e.id){if(n.unitId!==this._workbook.getUnitId())return;if(!1===e(n,r))throw Error("Command is stopped by the hook onBeforeAddDataValidation")}}))}onBeforeUpdateDataValidationCriteria(e){return Jl(this._commandService.beforeCommandExecuted((t,r)=>{let n=t.params;if(t.id===Z1e.id){if(n.unitId!==this._workbook.getUnitId())return;if(!1===e(n,r))throw Error("Command is stopped by the hook onBeforeUpdateDataValidationCriteria")}}))}onBeforeUpdateDataValidationRange(e){return Jl(this._commandService.beforeCommandExecuted((t,r)=>{let n=t.params;if(t.id===Y1e.id){if(n.unitId!==this._workbook.getUnitId())return;if(!1===e(n,r))throw Error("Command is stopped by the hook onBeforeUpdateDataValidationRange")}}))}onBeforeUpdateDataValidationOptions(e){return Jl(this._commandService.beforeCommandExecuted((t,r)=>{let n=t.params;if(t.id===K1e.id){if(n.unitId!==this._workbook.getUnitId())return;if(!1===e(n,r))throw Error("Command is stopped by the hook onBeforeUpdateDataValidationOptions")}}))}onBeforeDeleteDataValidation(e){return Jl(this._commandService.beforeCommandExecuted((t,r)=>{let n=t.params;if(t.id===t0e.id){if(n.unitId!==this._workbook.getUnitId())return;if(!1===e(n,r))throw Error("Command is stopped by the hook onBeforeDeleteDataValidation")}}))}onBeforeDeleteAllDataValidation(e){return Jl(this._commandService.beforeCommandExecuted((t,r)=>{let n=t.params;if(t.id===J1e.id){if(n.unitId!==this._workbook.getUnitId())return;if(!1===e(n,r))throw Error("Command is stopped by the hook onBeforeDeleteAllDataValidation")}}))}}),cqe.extend(class extends cqe{getDataValidations(){return this._injector.get(DJe).getRules(this._workbook.getUnitId(),this._worksheet.getSheetId()).map(e=>new D2e(e,this._worksheet,this._injector))}getValidatorStatus(){return this._injector.get(f0e).validatorWorksheet(this._workbook.getUnitId(),this._worksheet.getSheetId())}getValidatorStatusAsync(){return this.getValidatorStatus()}getDataValidation(e){let t=this._injector.get(DJe).getRuleById(this._workbook.getUnitId(),this._worksheet.getSheetId(),e);return t?new D2e(t,this._worksheet,this._injector):null}async getAllDataValidationErrorAsync(){let e=this._workbook.getUnitId(),t=this._worksheet.getSheetId();return this._collectValidationErrorsForSheet(e,t)}async _collectValidationErrorsForSheet(e,t){let r=this._injector.get(DJe).getRules(e,t);if(!r.length)return[];let n=r.flatMap(e=>e.ranges);return this._collectValidationErrorsForRange(e,t,n)}async _collectValidationErrorsForRange(e,t,r){if(!r.length)return[];let n=this._injector.get(f0e),i=this._worksheet,a=i.getName(),o=[];for(let s of r){let r=[];for(let l=s.startRow;l<=s.endRow;l++)for(let u=s.startColumn;u<=s.endColumn;u++)r.push((async()=>{try{if(await n.validatorCell(e,t,l,u)!==Kg.VALID){let n=this._injector.get(I1e).getRuleByLocation(e,t,l,u);if(n){var r;let e=(null==(r=i.getCell(l,u))?void 0:r.v)||null,t=this._createDataValidationError(a,l,u,n,e);o.push(t)}}}catch(e){console.warn(`Failed to validate cell [${l}, ${u}]:`,e)}})());await Promise.all(r)}return o}_createDataValidationError(e,t,r,n,i){return{sheetName:e,row:t,column:r,ruleId:n.uid,inputValue:i,rule:n}}}),hp.extend(class{get SheetDataValidationChanged(){return"SheetDataValidationChanged"}get SheetDataValidatorStatusChanged(){return"SheetDataValidatorStatusChanged"}get BeforeSheetDataValidationAdd(){return"BeforeSheetDataValidationAdd"}get BeforeSheetDataValidationDelete(){return"BeforeSheetDataValidationDelete"}get BeforeSheetDataValidationDeleteAll(){return"BeforeSheetDataValidationDeleteAll"}get BeforeSheetDataValidationCriteriaUpdate(){return"BeforeSheetDataValidationCriteriaUpdate"}get BeforeSheetDataValidationRangeUpdate(){return"BeforeSheetDataValidationRangeUpdate"}get BeforeSheetDataValidationOptionsUpdate(){return"BeforeSheetDataValidationOptionsUpdate"}});const B2e="SHEET_CONDITIONAL_FORMATTING_PLUGIN";let V2e=function(e){return e.beginsWith="beginsWith",e.endsWith="endsWith",e.containsText="containsText",e.notContainsText="notContainsText",e.equal="equal",e.notEqual="notEqual",e.containsBlanks="containsBlanks",e.notContainsBlanks="notContainsBlanks",e.containsErrors="containsErrors",e.notContainsErrors="notContainsErrors",e}({}),F2e=function(e){return e.today="today",e.yesterday="yesterday",e.tomorrow="tomorrow",e.last7Days="last7Days",e.thisMonth="thisMonth",e.lastMonth="lastMonth",e.nextMonth="nextMonth",e.thisWeek="thisWeek",e.lastWeek="lastWeek",e.nextWeek="nextWeek",e}({}),j2e=function(e){return e.greaterThan="greaterThan",e.greaterThanOrEqual="greaterThanOrEqual",e.lessThan="lessThan",e.lessThanOrEqual="lessThanOrEqual",e.notBetween="notBetween",e.between="between",e.equal="equal",e.notEqual="notEqual",e}({}),H2e=function(e){return e.highlightCell="highlightCell",e.dataBar="dataBar",e.colorScale="colorScale",e.iconSet="iconSet",e}({}),W2e=function(e){return e.uniqueValues="uniqueValues",e.duplicateValues="duplicateValues",e.rank="rank",e.text="text",e.timePeriod="timePeriod",e.number="number",e.average="average",e.formula="formula",e}({}),z2e=function(e){return e.num="num",e.min="min",e.max="max",e.percent="percent",e.percentile="percentile",e.formula="formula",e}({});const X2e=()=>({cfId:void 0,ranges:[],stopIfTrue:!1,rule:{type:H2e.highlightCell,subType:W2e.text,operator:V2e.containsText}}),q2e=(e,t)=>{switch(e){case W2e.text:if([V2e.beginsWith,V2e.containsText,V2e.endsWith,V2e.equal,V2e.notContainsText,V2e.notEqual].includes(t))return"";break;case W2e.number:return[j2e.between,j2e.notBetween].includes(t)?[10,100]:10}return""},G2e=(e,t)=>{switch(e){case z2e.formula:return"=";case z2e.max:case z2e.min:return"";case z2e.percent:case z2e.percentile:case z2e.num:return void 0===t?10:t}return""},Y2e=(e,t,r)=>{if(!t)return null;let n=t.findIndex(t=>r(t)===e.id);if(n<0)return null;switch(e.type){case"after":return n+1;case"before":return n-1;case"self":return n}},Q2e=(e,t,r,n)=>{if("after"===e.type&&["after","before"].includes(t.type))return[e,t];let i={...e},a={...t};if("after"!==i.type){let e=Y2e(i,r,n);if(null===e)return null;if(e-1<0){let t=r[e+1];if(!t)return null;i.id=n(t),i.type="before"}else i.id=n(r[e-1]),i.type="after"}if(!["after","before"].includes(a.type)){let e=Y2e(a,r,n);if(null===e)return null;if(0===e)a.type="before";else if(e-1>=0)a.id=n(r[e-1]),a.type="after";else{if(!(e+1<=r.length-1))return null;a.id=n(r[e+1]),a.type="before"}}return i.id===a.id&&i.type===a.type?null:[i,a]},Z2e=()=>`${cu(8)}`;function K2e(e){return K2e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},K2e(e)}function $2e(e,t,r){return(t=function(e){var t=function(e){if("object"!=K2e(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=K2e(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==K2e(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var J2e=class{constructor(){$2e(this,"_model",new Map),$2e(this,"_ruleChange$",new On),$2e(this,"$ruleChange",this._ruleChange$.asObservable())}_ensureList(e,t){let r=this.getSubunitRules(e,t);if(!r){r=[];let n=this._model.get(e);n||(n=new Map,this._model.set(e,n)),n.set(t,r)}return r}getRule(e,t,r){let n=this.getSubunitRules(e,t);return n?n.find(e=>e.cfId===r):null}getUnitRules(e){return this._model.get(e)||null}getSubunitRules(e,t){var r;return(null==(r=this._model.get(e))?void 0:r.get(t))||null}getAll(){return this._model}deleteRule(e,t,r){let n=this.getSubunitRules(e,t);if(n){let i=n.findIndex(e=>e.cfId===r),a=n[i];a&&(n.splice(i,1),this._ruleChange$.next({rule:a,subUnitId:t,unitId:e,type:"delete"}))}}setRule(e,t,r,n){let i=this._ensureList(e,t).find(e=>e.cfId===n);if(i){let n=uu.deepClone(i);Object.assign(i,r),this._ruleChange$.next({rule:i,subUnitId:t,unitId:e,type:"set",oldRule:n})}}addRule(e,t,r){let n=this._ensureList(e,t);n.find(e=>e.cfId===r.cfId)||n.unshift(r),this._ruleChange$.next({rule:r,subUnitId:t,unitId:e,type:"add"})}moveRulePriority(e,t,r,n){let i=this._ensureList(e,t),a=Y2e(r,i,e=>e.cfId),o=Y2e(n,i,e=>e.cfId);if(null===o||null===a||o===a)return;let s=i[a];s&&(((e,t,r,n)=>{if(!r)return null;let i=Y2e(e,r,n),a=Y2e(t,r,n);if(null===i||null===a||i===a)return;let o=r.splice(i,1)[0];switch(ie.cfId),this._ruleChange$.next({rule:s,subUnitId:t,unitId:e,type:"sort"}))}createCfId(e,t){return Z2e()}deleteUnitId(e){this._model.delete(e)}};const e3e={type:Bc.MUTATION,id:"sheet.mutation.move-conditional-rule",handler(e,t){if(!t)return!1;let{unitId:r,subUnitId:n,start:i,end:a}=t;return e.get(J2e).moveRulePriority(r,n,i,a),!0}},t3e=(e,t)=>{let r=e.get(J2e),{unitId:n,subUnitId:i,cfId:a}=t,o=[...r.getSubunitRules(n,i)||[]],s=o.findIndex(e=>e.cfId===a),l=o[s-1];if(s>-1){let e=o[s],t=[{id:i3e.id,params:{unitId:n,subUnitId:i,rule:uu.deepClone(e)}}];if(o.splice(s,1),0!==s){let e=o[0];if(e){let r=Q2e({id:e.cfId,type:"before"},{id:l.cfId,type:"after"},o,e=>e.cfId);if(!r)return t;let[a,s]=r,u={unitId:n,subUnitId:i,start:a,end:s};t.push({id:e3e.id,params:u})}}return t}return[]},r3e={type:Bc.MUTATION,id:"sheet.mutation.delete-conditional-rule",handler(e,t){if(!t)return!1;let{unitId:r,subUnitId:n,cfId:i}=t;return e.get(J2e).deleteRule(r,n,i),!0}},n3e=(e,t)=>({id:r3e.id,params:{unitId:t.unitId,subUnitId:t.subUnitId,cfId:t.rule.cfId}}),i3e={type:Bc.MUTATION,id:"sheet.mutation.add-conditional-rule",handler(e,t){if(!t)return!1;let{unitId:r,subUnitId:n,rule:i}=t;return e.get(J2e).addRule(r,n,i),!0}},a3e={type:Bc.COMMAND,id:"sheet.command.add-conditional-rule",handler(e,t){if(!t)return!1;let{rule:r}=t,n=e.get(Pg),i=e.get(Vc),a=e.get(J2e),o=W_e(e.get(dg),t);if(!o)return!1;let{unitId:s,subUnitId:l}=o,u=a.createCfId(s,l),c={unitId:s,subUnitId:l,rule:{...r,cfId:r.cfId||u}},d=n3e(0,c),h=i.syncExecuteCommand(i3e.id,c);return h&&n.pushUndoRedo({unitID:s,redoMutations:[{id:i3e.id,params:c}],undoMutations:[d]}),h}},o3e={type:Bc.MUTATION,id:"sheet.mutation.set-conditional-rule",handler(e,t){if(!t)return!1;let{unitId:r,subUnitId:n,rule:i}=t,a=t.cfId||t.rule.cfId;return e.get(J2e).setRule(r,n,i,a),!0}},s3e=(e,t)=>{let r=e.get(J2e),{unitId:n,subUnitId:i}=t,a=t.cfId||t.rule.cfId,o=r.getRule(n,i,a);return o?[{id:o3e.id,params:{unitId:n,subUnitId:i,cfId:a,rule:uu.deepClone(o)}}]:[]},l3e={type:Bc.COMMAND,id:"sheet.command.clear-range-conditional-rule",handler(e,t){var r;if(!t)return!1;let n=e.get(J2e),i=e.get(dg),a=e.get(Vc),o=e.get(Pg),s=e.get(rSe),l=W_e(i,t);if(!l)return!1;let{unitId:u,subUnitId:c}=l,d=(null==(r=s.getCurrentSelections())?void 0:r.map(e=>e.range))||[],h=n.getSubunitRules(u,c);if(null==h||!h.length||!d.length)return!1;let m=[],f=[];h.forEach(t=>{let r=new kd;t.ranges.forEach(e=>{Sh.foreach(e,(e,t)=>{r.setValue(e,t,1)})}),d.forEach(e=>{Sh.foreach(e,(e,t)=>{r.realDeleteValue(e,t)})});let n=NEe(REe(r));if(n.length){let r={unitId:u,subUnitId:c,rule:{...t,ranges:n}},i=s3e(e,r);m.push({id:o3e.id,params:r}),f.push(...i)}else{let r={unitId:u,subUnitId:c,cfId:t.cfId},n=t3e(e,r);m.push({id:r3e.id,params:r}),f.push(...n)}});let g=zc(m,a).result;return g&&o.pushUndoRedo({unitID:u,redoMutations:m,undoMutations:f}),g}},u3e={type:Bc.COMMAND,id:"sheet.command.clear-worksheet-conditional-rule",handler(e,t){let r=e.get(J2e),n=e.get(dg),i=e.get(Vc),a=e.get(Pg),o=W_e(n,t);if(!o)return!1;let{unitId:s,subUnitId:l}=o,u=r.getSubunitRules(s,l);if(null==u||!u.length)return!1;let c=u.map(e=>({cfId:e.cfId,unitId:s,subUnitId:l})),d=c.map(e=>({id:r3e.id,params:e})),h=c.map(t=>t3e(e,t)[0]),m=zc(d,i).result;return m&&a.pushUndoRedo({unitID:s,redoMutations:d,undoMutations:h}),m}},c3e={type:Bc.COMMAND,id:"sheet.command.delete-conditional-rule",handler(e,t){if(!t)return!1;let r=e.get(Pg),n=e.get(Vc),i=W_e(e.get(dg),t);if(!i)return!1;let{unitId:a,subUnitId:o}=i,s={unitId:a,subUnitId:o,cfId:t.cfId},l=t3e(e,s),u=n.syncExecuteCommand(r3e.id,s);return u&&r.pushUndoRedo({unitID:a,undoMutations:l,redoMutations:[{id:r3e.id,params:s}]}),u}},d3e={type:Bc.COMMAND,id:"sheet.command.move-conditional-rule",handler(e,t){if(!t)return!1;let r=e.get(Pg),n=e.get(Vc),i=e.get(dg),a=e.get(J2e),o=W_e(i,t);if(!o)return!1;let{unitId:s,subUnitId:l}=o,u=Q2e(t.start,t.end,a.getSubunitRules(s,l)||[],e=>e.cfId);if(!u)return!1;let[c,d]=u,h={unitId:s,subUnitId:l,start:c,end:d},m=(e=>{let{unitId:t,subUnitId:r}=e,n=((e,t)=>{if(["after","before"].includes(t.type)){if("after"===e.type)return[t,e];if("before"===e.type)return[t,{...e,type:"self"}]}return null})(e.start,e.end);if(!n)return[];let[i,a]=n;return[{id:e3e.id,params:{unitId:t,subUnitId:r,start:i,end:a}}]})(h),f=n.syncExecuteCommand(e3e.id,h);return f&&r.pushUndoRedo({unitID:s,redoMutations:[{id:e3e.id,params:h}],undoMutations:m}),f}},h3e={type:Bc.COMMAND,id:"sheet.command.set-conditional-rule",handler(e,t){if(!t)return!1;let r=e.get(Pg),n=e.get(Vc),i=W_e(e.get(dg),t);if(!i)return!1;let{unitId:a,subUnitId:o}=i,s={unitId:a,subUnitId:o,rule:t.rule,cfId:t.cfId},l=s3e(e,s),u=n.syncExecuteCommand(o3e.id,s);return u&&r.pushUndoRedo({unitID:a,undoMutations:l,redoMutations:[{id:o3e.id,params:s}]}),u}};function m3e(e,t){return function(r,n){t(r,n,e)}}function f3e(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}let g3e=class extends tu{constructor(e,t){super(),this._registerOtherFormulaService=e,this._conditionalFormattingRuleModel=t,$2e(this,"_formulaMap",new Map),$2e(this,"_result$",new On),$2e(this,"result$",this._result$.asObservable()),this._initFormulaResultChange(),this._initRuleChange()}_initRuleChange(){let e=e=>{switch(e.type){case H2e.colorScale:return e.config.some(e=>e.value.type===z2e.formula);case H2e.dataBar:return[e.config.max,e.config.min].some(e=>e.type===z2e.formula);case H2e.iconSet:return e.config.some(e=>e.value.type===z2e.formula)}};this.disposeWithMe(this._conditionalFormattingRuleModel.$ruleChange.subscribe(t=>{let{unitId:r,subUnitId:n,rule:i,oldRule:a}=t;"delete"===t.type&&this._removeFormulaByCfId(r,n,i.cfId),"set"===t.type&&(e(i.rule)||a&&e(a.rule))&&this._removeFormulaByCfId(r,n,i.cfId),"add"===t.type&&this._registerRuleFormulas(r,n,i)}))}_registerRuleFormulas(e,t,r){if(r.rule.type===H2e.highlightCell&&r.rule.subType===W2e.formula){let n=r.rule.value;n&&this.registerFormulaWithRange(e,t,r.cfId,n,r.ranges)}}_initFormulaResultChange(){this.disposeWithMe(this._registerOtherFormulaService.formulaResult$.subscribe(e=>{for(let t in e)for(let r in e[t]){let n=e[t][r];for(let e of n){let n=this._ensureSubunitFormulaMap(t,r).getValue(e.formulaId,["formulaId"]);if(!n)continue;let i=this._getAllFormulaResultByCfId(t,r,n.cfId).every(e=>{let n=this._registerOtherFormulaService.getFormulaValueSync(t,r,e.formulaId);return(null==n?void 0:n.status)===c_e.SUCCESS});this._result$.next({...n,isAllFinished:i})}}}))}_ensureSubunitFormulaMap(e,t){let r=this._formulaMap.get(e);r||(r=new Map,this._formulaMap.set(e,r));let n=r.get(t);return n||(n=new Uh([],["formulaId","id"]),r.set(t,n)),n}getSubUnitFormulaMap(e,t){var r;return null==(r=this._formulaMap.get(e))?void 0:r.get(t)}registerFormulaWithRange(e,t,r,n,i=[{startRow:0,endRow:0,startColumn:0,endColumn:0}]){let a=this._ensureSubunitFormulaMap(e,t),o=this.createCFormulaId(r,n);if(a.getValue(o,["id"]))return;let s=this._registerOtherFormulaService.registerFormulaWithRange(e,t,n,i,void 0,d_e.CONDITIONAL_FORMATTING,r);a.addValue({formulaText:n,unitId:e,subUnitId:t,cfId:r,id:o,formulaId:s})}_removeFormulaByCfId(e,t,r){let n=this.deleteCache(e,t,r).map(e=>e.formulaId);this._registerOtherFormulaService.deleteFormula(e,t,n)}getFormulaResultWithCoords(e,t,r,n,i=0,a=0){let o=this.getSubUnitFormulaMap(e,t);if(!o)return{status:c_e.NOT_REGISTER};let s=o.getValue(this.createCFormulaId(r,n),["id"]);if(!s)return{status:c_e.NOT_REGISTER};let l=this._registerOtherFormulaService.getFormulaValueSync(e,t,s.formulaId);if(!l)return{status:c_e.NOT_REGISTER};if(l.status===c_e.SUCCESS&&l.result){var u;let e=null==(u=l.result[i])?void 0:u[a];return{result:this._getCellValue(e),status:c_e.SUCCESS}}return{status:l.status}}getFormulaMatrix(e,t,r,n){let i=this.getSubUnitFormulaMap(e,t);if(!i)return{status:c_e.NOT_REGISTER};let a=i.getValue(this.createCFormulaId(r,n),["id"]);if(!a)return{status:c_e.NOT_REGISTER};let o=this._registerOtherFormulaService.getFormulaValueSync(e,t,a.formulaId);if(!o)return{status:c_e.NOT_REGISTER};if(o.status===c_e.SUCCESS&&o.result){let e=new kd;return new kd(o.result).forValue((t,r,n)=>{e.setValue(t,r,this._getCellValue(n))}),{result:e,status:c_e.SUCCESS}}return{status:o.status}}_getCellValue(e){if(!e||!e[0]||!e[0][0])return!1;let t=e[0][0];return(null==t?void 0:t.t)===Fu.BOOLEAN?t.v===Vu.TRUE||!0===t.v:null==t?void 0:t.v}deleteCache(e,t,r,n){let i=this.getSubUnitFormulaMap(e,t);if(!i)return[];if(n){let e=this.createCFormulaId(r,n);return i.deleteValue(e,["id"]),[]}{let e=i.getValues().filter(e=>e.cfId===r);return e.forEach(e=>{i.deleteValue(e.formulaId,["formulaId"])}),e}}_getAllFormulaResultByCfId(e,t,r){let n=this.getSubUnitFormulaMap(e,t);return n?n.getValues().filter(e=>e.cfId===r):[]}createCFormulaId(e,t){return`${e}_${t}`}};g3e=f3e([m3e(0,Y(h_e)),m3e(1,Y(J2e))],g3e);let p3e=function(e){return e.preComputingStart="preComputingStart",e.preComputing="preComputing",e.preComputingEnd="preComputingEnd",e.preComputingError="preComputingError",e}({});var v3e=class{constructor(e){this._context=e,$2e(this,"_cache",void 0),$2e(this,"_preComputingStatus$",new Qn(p3e.preComputingStart)),$2e(this,"preComputingStatus$",this._preComputingStatus$.asObservable().pipe(Zn())),$2e(this,"_preComputingCache",void 0),$2e(this,"_rule",void 0),this._cache=new hh(e.limit),this._rule=e.rule,this._preComputingCache=null,this._initClearCacheListener()}setCacheLength(e){this._cache.limit=e}clearCache(){this._cache.clear()}resetPreComputingCache(){this._preComputingStatus$.next(p3e.preComputingStart),this._preComputingCache=null}updateRule(e){this._rule=e,this.resetPreComputingCache()}getCell(e,t){let r=this._createKey(e,t);if(this._preComputingStatus$.getValue()===p3e.preComputing)return this._cache.get(r);let n=this.getPreComputingResult(e,t);if(null===n&&(this._preComputingStatus$.next(p3e.preComputingStart),this.preComputing(e,t,this._getContext()),n=this.getPreComputingResult(e,t),null===n)||(this._preComputingStatus$.next(p3e.preComputingEnd),this._cache.has(r)))return this._cache.get(r);let i=this.getCellResult(e,t,n,this._getContext());return null!==i&&this._setCache(e,t,i),i}setPreComputingCache(e){this._preComputingCache=e}getPreComputingResult(e,t){return this._preComputingCache}_createKey(e,t){return`${e}_${t}`}_setCache(e,t,r){let n=this._createKey(e,t);this._cache.set(n,r)}_getContext(){return{...this._context,rule:this._rule}}_initClearCacheListener(){this.preComputingStatus$.subscribe(e=>{e===p3e.preComputingEnd&&this.clearCache()})}},b3e=class extends v3e{preComputing(e,t,r){let n=r.rule,i=r.worksheet,a=new kd;n.rule.config.every(e=>e.value.type===z2e.num)||D3e(n.ranges,i.getMaxRows()-1,i.getMaxColumns()-1).forEach(e=>{Sh.foreach(e,(e,t)=>{let n=r.getCellValue(e,t),i=n&&n.v;if(!x3e(i)&&(null==n?void 0:n.t)===Fu.NUMBER){let r=Number(i);!Number.isNaN(r)&&a.setValue(e,t,r)}})});let o=[...n.rule.config].sort((e,t)=>e.index-t.index).map(e=>({value:O3e(e.value,a,{...r,cfId:n.cfId}),color:new $c(e.color)}));if(!o.some(e=>!!function(e){return"[object Object]"===qV(e)}(e.value)&&e.value.status!==c_e.SUCCESS)){let e=o.map(e=>e.color).reduce((e,t,r)=>(e.result.push({color:t,value:e.sortValue[r]}),e),{result:[],sortValue:o.map(e=>e.value.result).sort((e,t)=>e-t)}).result;return this.setPreComputingCache(e),void this._preComputingStatus$.next(p3e.preComputingEnd)}this._preComputingStatus$.next(p3e.preComputing)}getCellResult(e,t,r,n){if(!r)return null;let i=n.getCellValue(e,t);if(i.t===Fu.NUMBER){let e=Number(i.v);if(!Number.isNaN(e))return P3e(r,e)}}};const C3e="#ffbe38",y3e="#abd91a";dj.add(class extends Ej{constructor(...e){super(...e),$2e(this,"_paddingRightAndLeft",2),$2e(this,"_paddingTopAndBottom",2),$2e(this,"uKey","sheet-conditional-rule-data-bar"),$2e(this,"Z_INDEX",34),$2e(this,"_radius",1)}draw(e,t,r,n){let{worksheet:i}=r;if(!i)return!1;let a=new Set;e.save(),Sh.foreach(r.rowColumnSegment,(t,o)=>{if(!i.getRowVisible(t)||!i.getColVisible(o))return;let s=r.getCellWithCoordByIndex(t,o,!1),{isMerged:l,isMergedMainCell:u,mergeInfo:c}=s,d=i.getCell(t,o);if(l&&(d=i.getCell(c.startRow,c.startColumn)),null==d||!d.dataBar||!this.isRenderDiffRangesByCell(c,n))return;if(l||u){let e=(e=>{let{startRow:t,endRow:r,startColumn:n,endColumn:i}=e;return`${t}-${r}-${n}-${i}`})(c);if(a.has(e))return;a.add(e)}let{color:h,value:m,startPoint:f,isGradient:g}=d.dataBar,{startX:p,endX:v,startY:b,endY:C}=l||u?c:s,y=C+kV-b,_=v-p-2*this._paddingRightAndLeft,w=y-2*this._paddingTopAndBottom;if(m>0){let t=Math.max(_*(1-f/100)*m/100,1),r=p+this._paddingRightAndLeft+f/100*_,n=b+this._paddingTopAndBottom;if(g){let i=e.createLinearGradient(r,n,r+t,n);i.addColorStop(0,h),i.addColorStop(1,"rgb(255 255 255)"),e.fillStyle=i,e.strokeStyle=h,e.lineWidth=1}else e.fillStyle=h;this._drawRectWithRoundedCorner(e,r,n,t,w,!1,!0,!0,!1),g&&e.stroke()}else{let t=Math.max(_*f/100*Math.abs(m)/100,1),r=p+this._paddingRightAndLeft+f/100*_-t,n=b+this._paddingTopAndBottom;if(g){let i=e.createLinearGradient(r,n,r+t,n);i.addColorStop(0,"rgb(255 255 255)"),i.addColorStop(1,h),e.fillStyle=i,e.strokeStyle=h,e.lineWidth=1}else e.fillStyle=h;this._drawRectWithRoundedCorner(e,r,n,t,w,!0,!1,!1,!0),g&&e.stroke()}}),e.restore()}_drawRectWithRoundedCorner(e,t,r,n,i,a,o,s,l){let u=this._radius;!i||!n||(e.beginPath(),e.moveTo(t+u,r),e.lineTo(t+n-u,r),o?e.arcTo(t+n,r,t+n,r+u,u):e.lineTo(t+n,r),e.lineTo(t+n,r+i-u),s?e.arcTo(t+n,r+i,t+n-u,r+i,u):e.lineTo(t+n,r+i),e.lineTo(t+u,r+i),l?e.arcTo(t,r+i,t,r+i-u,u):e.lineTo(t,r+i),e.lineTo(t,r+u),a?e.arcTo(t,r,t+u,r,u):e.lineTo(t,r),e.closePath(),e.fill())}});const _3e=e=>Math.max(Math.min(100,e),0);var w3e=class extends v3e{preComputing(e,t,r){let n=r.rule,i=n.rule,a=r.worksheet,o=new kd;[n.rule.config.max,n.rule.config.min].every(e=>e.type===z2e.num)||D3e(n.ranges,a.getMaxRows()-1,a.getMaxColumns()-1).forEach(e=>{Sh.foreach(e,(e,t)=>{let n=r.getCellValue(e,t),i=n&&n.v;if(!x3e(i)&&(null==n?void 0:n.t)===Fu.NUMBER){let r=Number(i);!Number.isNaN(r)&&o.setValue(e,t,r)}})});let s=O3e(i.config.min,o,{...r,cfId:n.cfId}),l=O3e(i.config.max,o,{...r,cfId:n.cfId}),u=0,c=0;if(s.status===c_e.SUCCESS){{let e=Number(s.result);u=Number.isNaN(e)?0:e}if(l.status===c_e.SUCCESS){let e=Number(l.result),t=Number.isNaN(e)?0:e;c=Math.max(t,u),u=Math.min(t,u);let r=50;if(u<0&&c<=0)r=100;else if(u<0&&c>0){let e=Math.abs(c)+Math.abs(u);r=Math.abs(u)/e*100}else u>=0&&c>0&&(r=0);return this.setPreComputingCache({min:u,max:c,startPoint:r}),void this._preComputingStatus$.next(p3e.preComputingEnd)}this._preComputingStatus$.next(p3e.preComputing)}else this._preComputingStatus$.next(p3e.preComputing)}getCellResult(e,t,r,n){let{min:i,max:a,startPoint:o}=r,s=n.rule.rule,l=s.isShowValue,u=s.config.isGradient,c=((e,t,r)=>{let n=r(e,t);if(n&&n.t===Fu.NUMBER){let e=Number(n.v);return Number.isNaN(e)?null:e}return null})(e,t,n.getCellValue);if(!(null===c||c0){if(c>0){let e=_3e(100*Math.min(c/a,1));return 0===e?void 0:{color:s.config.positiveColor||"#ffbe38",startPoint:o,value:e,isGradient:u,isShowValue:l}}{let e=_3e(100*Math.min(Math.abs(c)/Math.abs(i),1));return 0===e?void 0:{color:s.config.nativeColor||"#abd91a",startPoint:o,value:-e,isGradient:u,isShowValue:l}}}if(i>=0&&a>0){let e=_3e(100*(1-(a-c)/(a-i)));return 0===e?void 0:{color:s.config.positiveColor||"#ffbe38",startPoint:0,value:e,isGradient:u,isShowValue:l}}}}},E3e=class extends v3e{preComputing(e,t,r){let n=r.rule.rule,i=D3e(r.rule.ranges,r.worksheet.getMaxRows()-1,r.worksheet.getMaxColumns()-1),a=(()=>{switch(n.subType){case W2e.average:{let e=0,t=0;return i.forEach(n=>{Sh.foreach(n,(n,i)=>{let a=r.getCellValue(n,i),o=T3e(a);a&&a.t===Fu.NUMBER&&!x3e(o)&&(e+=Number(o)||0,t++)})}),{value:e/t,type:n.subType}}case W2e.uniqueValues:case W2e.duplicateValues:{let e=new Map;return i.forEach(t=>{Sh.foreach(t,(t,n)=>{let i=T3e(r.getCellValue(t,n));if(!x3e(i)){let t=e.get(i);t?e.set(i,t+1):e.set(i,1)}})}),{value:e,type:n.subType}}case W2e.rank:{let e=[];i.forEach(t=>{Sh.foreach(t,(t,n)=>{let i=r.getCellValue(t,n),a=T3e(i);i&&i.t===Fu.NUMBER&&!x3e(a)&&e.push(Number(a)||0)})}),e.sort((e,t)=>t-e);let t=r.rule.rule;if(t.isPercent){t.isBottom&&(e=e.toReversed());let r=uu.clamp(t.value,0,100)/100,i=Math.floor(r*e.length),a=uu.clamp(i-1,0,e.length-1);return{value:e[a],type:n.subType}}let a=Math.floor(uu.clamp(t.isBottom?t.value-1:t.value,0,e.length));return t.isBottom?{value:e[e.length-a-1],type:n.subType}:{value:e[Math.max(a-1,0)],type:n.subType}}case W2e.formula:{let e=n,t=r.accessor.get(g3e);t.registerFormulaWithRange(r.unitId,r.subUnitId,r.rule.cfId,e.value,r.rule.ranges);let i=t.getFormulaMatrix(r.unitId,r.subUnitId,r.rule.cfId,e.value);return i&&i.status===c_e.SUCCESS?(this._preComputingStatus$.next(p3e.preComputingEnd),{value:i.result,type:n.subType}):(this._preComputingStatus$.next(p3e.preComputing),null)}case W2e.timePeriod:switch(n.operator){case F2e.last7Days:return{value:{start:As()().subtract(7,"day").valueOf(),end:As()().valueOf()},type:n.subType};case F2e.lastMonth:return{value:{start:As()().startOf("month").subtract(1,"month").valueOf(),end:As()().endOf("month").subtract(1,"month").valueOf()},type:n.subType};case F2e.lastWeek:return{value:{start:As()().startOf("week").subtract(1,"week").valueOf(),end:As()().endOf("week").subtract(1,"week").valueOf()},type:n.subType};case F2e.nextMonth:return{value:{start:As()().startOf("month").add(1,"month").valueOf(),end:As()().endOf("month").add(1,"month").valueOf()},type:n.subType};case F2e.nextWeek:return{value:{start:As()().startOf("week").add(1,"week").valueOf(),end:As()().endOf("week").add(1,"week").valueOf()},type:n.subType};case F2e.thisMonth:return{value:{start:As()().startOf("month").valueOf(),end:As()().endOf("month").valueOf()},type:n.subType};case F2e.thisWeek:return{value:{start:As()().startOf("week").valueOf(),end:As()().endOf("week").valueOf()},type:n.subType};case F2e.today:return{value:{start:As()().startOf("day").valueOf(),end:As()().endOf("day").valueOf()},type:n.subType};case F2e.tomorrow:return{value:{start:As()().startOf("day").add(1,"day").valueOf(),end:As()().endOf("day").add(1,"day").valueOf()},type:n.subType};case F2e.yesterday:return{value:{start:As()().startOf("day").subtract(1,"day").valueOf(),end:As()().endOf("day").subtract(1,"day").valueOf()},type:n.subType}}}})();this.setPreComputingCache(a)}getCellResult(e,t,r,n){let i=n.getCellValue(e,t),a=n.rule.rule;return(()=>{switch(a.subType){case W2e.number:{let e=i&&Number(i.v),t=(null==i?void 0:i.t)===Fu.NUMBER,r=a;return t?x3e(e)||Number.isNaN(e)?void 0:L3e({operator:r.operator,value:r.value||0},e||0):!![j2e.notEqual,j2e.notBetween].includes(r.operator)}case W2e.text:{let e=a,t=T3e(i),r=x3e(t)?"":String(t),n=e.value||"";switch(e.operator){case V2e.beginsWith:return r.startsWith(n);case V2e.containsBlanks:return/^\s*$/.test(r);case V2e.notContainsBlanks:return!/^\s*$/.test(r);case V2e.containsErrors:return ehe.has(r);case V2e.notContainsErrors:return!ehe.has(r);case V2e.containsText:return r.indexOf(n)>-1;case V2e.notContainsText:return-1===r.indexOf(n);case V2e.endsWith:return r.endsWith(n);case V2e.equal:return r===n;case V2e.notEqual:return r!==n;default:return!1}}case W2e.timePeriod:{let e=T3e(i);if(x3e(e)||Number.isNaN(Number(e))||(null==i?void 0:i.t)!==Fu.NUMBER||!r)return;let t=M3e(Number(e)),{start:n,end:a}=r.value;return t>=n&&t<=a}case W2e.average:{let e=i&&i.v,t=Number(e),n=(null==i?void 0:i.t)===Fu.NUMBER,o=a;if(!n)return j2e.notEqual===o.operator;if(x3e(e)||Number.isNaN(t)||!r)return!1;let s=r.value;switch(o.operator){case j2e.greaterThan:return t>s;case j2e.greaterThanOrEqual:return t>=s;case j2e.lessThan:return t=n}case W2e.uniqueValues:{let e=T3e(i);return!(x3e(e)||!r)&&1===r.value.get(e)}case W2e.duplicateValues:{let e=T3e(i);if(x3e(e)||!r)return!1;let t=r.value.get(e);return t&&1!==t}case W2e.formula:{let i=null==r?void 0:r.value;if(i){let r=n.rule.ranges[0],a=e-r.startRow,o=t-r.startColumn;return!0===i.getValue(a,o)}return!1}}})()?a.style:{}}},S3e=class extends v3e{preComputing(e,t,r){let n=r.rule.rule,i=r.worksheet,a=new kd;n.config.every(e=>e.value.type===z2e.num)||D3e(r.rule.ranges,i.getMaxRows()-1,i.getMaxColumns()-1).forEach(e=>{Sh.foreach(e,(e,t)=>{let n=r.getCellValue(e,t),i=n&&n.v;if(!x3e(i)&&(null==n?void 0:n.t)===Fu.NUMBER){let r=Number(i);!Number.isNaN(r)&&a.setValue(e,t,r)}})});let o=n.config.map(e=>O3e(e.value,a,{...r,cfId:r.rule.cfId}));if(!o.some(e=>e.status!==c_e.SUCCESS)){let e=o.map((e,t)=>({operator:n.config[t].operator,value:Number(e.result)||0})).reduce((e,t,r,i)=>{let a=n.config[r];if(r&&r!==i.length-1){let n=i[r-1];L3e(n,t.value)||e.push({...t,iconId:a.iconId,iconType:a.iconType})}else e.push({...t,iconId:a.iconId,iconType:a.iconType});return e},[]);return this.setPreComputingCache(e),void this._preComputingStatus$.next(p3e.preComputingEnd)}this._preComputingStatus$.next(p3e.preComputing)}getCellResult(e,t,r,n){if(!r)return null;let i=((e,t,r)=>{let n=r(e,t);if(n&&n.t===Fu.NUMBER){let e=Number(n.v);return Number.isNaN(e)?null:e}return null})(e,t,n.getCellValue);if(null===i)return;let a=n.rule.rule,o=void 0===a.isShowValue||!!a.isShowValue;for(let e=0;e{if(this._cellCache.clear(),n){let n=this._ensureCalculateUnitManager(e,t).get(r);n&&n.resetPreComputingCache()}this._markDirty$.next({unitId:e,subUnitId:t,cfId:r})}),$2e(this,"markRuleDirty",(()=>{let e=new On;return this.disposeWithMe(e.pipe(une(100),Un(e=>!!e.length),Yn(e=>{let t=new Set,r=[];return e.forEach(e=>{let n=`${e.unitId}_${e.subUnitId}_${e.cfId}`;t.has(n)?e.isNeedResetPreComputingCache&&(r.find(t=>t.cfId===e.cfId).isNeedResetPreComputingCache=!0):(t.add(n),r.push({...e}))}),r})).subscribe(e=>{e.forEach(e=>{this._markRuleDirtyAtOnce(e.unitId,e.subUnitId,e.cfId,e.isNeedResetPreComputingCache)})})),(t,r,n,i=!0)=>{e.next({unitId:t,subUnitId:r,cfId:n,isNeedResetPreComputingCache:i})}})()),this._initRuleListener(),this._handleCustomFormulasSeparately(),this._initCFFormulaListener()}_initCFFormulaListener(){this.disposeWithMe(this._conditionalFormattingFormulaService.result$.subscribe(({unitId:e,subUnitId:t,cfId:r,isAllFinished:n})=>{n&&this._markRuleDirtyAtOnce(e,t,r,n)}))}getCellCfs(e,t,r,n){let i=this._createCacheKey(e,t,r,n);if(this._cellCache.has(i))return this._cellCache.get(i);let a=this._getCellCfs(e,t,r,n);return a.length&&this._cellCache.set(i,a),a}_getCellCfs(e,t,r,n){var i;let a=null==(i=this._conditionalFormattingRuleModel.getSubunitRules(e,t))?[]:i,o=this._ensureCalculateUnitManager(e,t),s=this._rTreeManager.bulkSearch([{unitId:e,sheetId:t,range:{startColumn:n,endColumn:n,startRow:r,endRow:r}}]),l=a.filter(e=>s.has(e.cfId));return l.length?l.map(e=>{let t=o.get(e.cfId);return t?{cfId:e.cfId,result:t.getCell(r,n)}:null}).filter(e=>!!e).map((e,t)=>({...e,priority:t})):[]}dispose(){this.clearCache(),super.dispose()}clearCache(){this._calculateUnitManagers.clear(),this._cellCache.clear(),this._rTreeManager.clear()}_handleCustomFormulasSeparately(){this.disposeWithMe(this._conditionalFormattingRuleModel.$ruleChange.subscribe(e=>{if("set"===e.type){let{unitId:t,subUnitId:r}=e,n=e.oldRule;n.rule.type===H2e.highlightCell&&n.rule.subType===W2e.formula&&this._conditionalFormattingFormulaService.deleteCache(t,r,n.cfId)}}))}_initRuleListener(){this.disposeWithMe(this._conditionalFormattingRuleModel.$ruleChange.subscribe(e=>{let{unitId:t,subUnitId:r,rule:n}=e,{cfId:i,ranges:a}=n,o=this._ensureCalculateUnitManager(t,r);switch(this.markRuleDirty(t,r,i),e.type){case"add":{this._rTreeManager.bulkInsert(a.map(e=>({unitId:t,sheetId:r,id:i,range:e})));let e=this._createRuleCalculateUnitInstance(t,r,n);if(!e)return;o.set(n.cfId,e);break}case"delete":this._rTreeManager.bulkRemove(a.map(e=>({unitId:t,sheetId:r,id:i,range:e}))),o.delete(n.cfId);break;case"set":{let s=e.oldRule;if(this._rTreeManager.bulkRemove(s.ranges.map(e=>({unitId:t,sheetId:r,id:s.cfId,range:e}))),this._rTreeManager.bulkInsert(a.map(e=>({unitId:t,sheetId:r,id:i,range:e}))),s.rule.type!==n.rule.type){let e=this._createRuleCalculateUnitInstance(t,r,n);if(!e)return;o.delete(s.cfId),o.set(n.cfId,e)}else{let e=o.get(s.cfId);if(!e)return;e.updateRule(n)}}}}))}_ensureCalculateUnitManager(e,t){let r=this._calculateUnitManagers.get(e);r||(r=new Map,this._calculateUnitManagers.set(e,r));let n=r.get(t);return n||(n=new Map,r.set(t,n)),n}_createRuleCalculateUnitInstance(e,t,r){let n=this._univerInstanceService.getUnit(e),i=null==n?void 0:n.getSheetBySheetId(t);if(!n||!i)return;let a={workbook:n,worksheet:i,unitId:e,subUnitId:t,accessor:this._injector,rule:r,limit:A3e,getCellValue:(e,t)=>i.getCellRaw(e,t)||{}};switch(r.rule.type){case H2e.colorScale:return new b3e(a);case H2e.dataBar:return new w3e(a);case H2e.highlightCell:return new E3e(a);case H2e.iconSet:return new S3e(a)}}_createCacheKey(e,t,r,n){return`${e}_${t}_${r}_${n}`}setCacheLength(e=9e3){this._cellCache.limit!==e&&(this._cellCache.limit=e,this._calculateUnitManagers.forEach(t=>{t.forEach(t=>{t.forEach(t=>{t.setCacheLength(e)})})}))}};function R3e(e,t){return Math.abs(e-t)<2**-52}I3e=f3e([m3e(0,Y(he)),m3e(1,Y(J2e)),m3e(2,Y(g3e)),m3e(3,dg)],I3e);const x3e=e=>null==e||"string"==typeof e&&""===e.trim(),T3e=e=>{var t;if(!e)return null;if(e.t===Fu.BOOLEAN)return e.v===Vu.TRUE?qde.TRUE:qde.FALSE;let r=e.v,n=null==(t=e.p)||null==(t=t.body)?void 0:t.dataStream.replace(/\r\n$/,"");return x3e(r)?x3e(n)?null:n:r},N3e=86400,M3e=e=>{let t=0|e,r=N3e*(e-t),n=Math.floor(r);r-n>.9999&&(n+=1,n===N3e&&(n=0,t+=1));let i=n<0?N3e+n:n,[a,o,s]=function(e,t=!0){if(t&&e>=0){if(0===e)return[1900,1,0];if(60===e)return[1900,2,29];if(e<60)return[1900,e<32?1:2,(e-1)%31+1]}let r=e+68569+2415019,n=Math.floor(4*r/146097);r-=Math.floor((146097*n+3)/4);let i=Math.floor(4e3*(r+1)/1461001);r=r-Math.floor(1461*i/4)+31;let a=Math.floor(80*r/2447),o=r-Math.floor(2447*a/80);return r=Math.floor(a/11),[100*(n-49)+i+r|0,0|a+2-12*r,0|o]}(e,!0);return As()(`${a}/${o}/${s} ${Math.floor(i/60/60)%60}:${Math.floor(i/60)%60}:${Math.floor(i)%60}`).valueOf()},O3e=(e,t,r)=>{switch(e.type){case z2e.max:{let e=0;return t.forValue((t,r,n)=>{n>e&&(e=n)}),{status:c_e.SUCCESS,result:e}}case z2e.min:{let e;return t.forValue((t,r,n)=>{void 0===e&&(e=n),n{(void 0===r||void 0===n)&&(r=i,n=i),i>r&&(r=i),ie-t),n=Math.max(Math.min(Number(e.value)||0,100),0),i=(r.length-1)*n/100,a=Math.floor(i),o=i-a,s=r[a]+(r[Math.min(a+1,r.length-1)]-r[a])*o;return{status:c_e.SUCCESS,result:s}}case z2e.formula:{let{accessor:t,unitId:n,subUnitId:i,cfId:a}=r,o=String(e.value),s=t.get(g3e);return s.registerFormulaWithRange(n,i,a,o),s.getFormulaResultWithCoords(n,i,a,o)}case z2e.num:default:{let t=Number(e.value);return{status:c_e.SUCCESS,result:Number.isNaN(t)?0:t}}}},L3e=(e,t)=>{switch(e.operator){case j2e.between:{if("object"!=typeof e.value||!e.value.length)return;let r=Math.min(...e.value),n=Math.max(...e.value);return t>=r&&t<=n}case j2e.notBetween:{if("object"!=typeof e.value||!e.value.length)return;let r=Math.min(...e.value),n=Math.max(...e.value);return!(t>=r&&t<=n)}case j2e.equal:return R3e(e.value||0,t);case j2e.notEqual:return!R3e(e.value||0,t);case j2e.greaterThan:return t>(e.value||0);case j2e.greaterThanOrEqual:return t>=(e.value||0);case j2e.lessThan:return t<(e.value||0);case j2e.lessThanOrEqual:return t<=(e.value||0);default:return!1}},k3e=e=>{switch(e){case j2e.greaterThan:return j2e.lessThanOrEqual;case j2e.greaterThanOrEqual:return j2e.lessThan;case j2e.lessThan:return j2e.greaterThanOrEqual;case j2e.lessThanOrEqual:return j2e.greaterThan}return e},P3e=(e,t)=>{let r=e=>void 0===e.a?{...e,a:1}:e,n=e.findIndex(e=>e.value>=t),i=n-1;if(0===n)return e[0].color.toRgbString();if(!(i>=0))return e[e.length-1].color.toRgbString();{let a=e[i],o=e[n];if(a.color.isValid&&o.color.isValid){let e=r(a.color.toRgb()),n=r(o.color.toRgb()),i=o.value-a.value,s=(t-a.value)/i;return new $c(["r","g","b","a"].reduce((t,r)=>{let i=e[r];return t[r]=(n[r]-i)*s+i,t},{})).toRgbString()}}},D3e=(e,t,r)=>e.map(e=>{if(e.startColumn>r||e.startRow>t)return null;let n={...e};return n.endRow=Math.min(n.endRow,t),n.endColumn=Math.min(n.endColumn,r),n}).filter(e=>!!e),U3e={mistake:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%227.03704%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6.87359%206.87332C6.6146%207.13231%206.6146%207.55221%206.87359%207.8112L9.062%209.99961L6.87356%2012.188C6.61457%2012.447%206.61457%2012.8669%206.87356%2013.1259C7.13255%2013.3849%207.55245%2013.3849%207.81144%2013.1259L9.99987%2010.9375L12.1882%2013.1258C12.4472%2013.3848%2012.8671%2013.3848%2013.1261%2013.1258C13.3851%2012.8669%2013.3851%2012.447%2013.1261%2012.188L10.9378%209.99961L13.1261%207.81127C13.3851%207.55228%2013.3851%207.13238%2013.1261%206.87339C12.8671%206.61441%2012.4472%206.61441%2012.1882%206.87339L9.99987%209.06173L7.81147%206.87332C7.55248%206.61433%207.13257%206.61433%206.87359%206.87332Z%22%20fill%3D%22%23FFFFFF%22%2F%3E%0A%3C%2Fsvg%3E%0A",warn:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%227.03704%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3Cpath%20d%3D%22M9.16817%206.67735C9.16646%206.61745%209.1656%206.5875%209.16653%206.56236C9.18103%206.16817%209.49136%205.84883%209.88497%205.82306C9.91008%205.82141%209.94004%205.82141%209.99996%205.82141V5.82141C10.0599%205.82141%2010.0899%205.82141%2010.115%205.82306C10.5086%205.84883%2010.8189%206.16817%2010.8334%206.56236C10.8343%206.5875%2010.8335%206.61745%2010.8318%206.67735L10.7043%2011.131C10.6934%2011.5121%2010.3812%2011.8154%209.99995%2011.8154V11.8154C9.61866%2011.8154%209.30655%2011.5121%209.29564%2011.131L9.16817%206.67735Z%22%20fill%3D%22%23FFFFFF%22%2F%3E%0A%3Crect%20x%3D%229.31488%22%20y%3D%2212.8086%22%20width%3D%221.37006%22%20height%3D%221.37006%22%20rx%3D%220.685032%22%20fill%3D%22%23FFFFFF%22%2F%3E%0A%3C%2Fsvg%3E%0A",correct:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M17.037%2010C17.037%2013.8865%2013.8864%2017.0371%209.99999%2017.0371C6.11354%2017.0371%202.96295%2013.8865%202.96295%2010C2.96295%206.1136%206.11354%202.96301%209.99999%202.96301C13.8864%202.96301%2017.037%206.1136%2017.037%2010Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3Cpath%20d%3D%22M13.9239%207.17477C13.6638%206.91472%2013.2422%206.91472%2012.9821%207.17477L8.74433%2011.4126L7.01786%209.6861C6.75781%209.42606%206.33619%209.42606%206.07614%209.6861C5.81609%209.94615%205.81609%2010.3678%206.07614%2010.6278L8.27349%2012.8252C8.53354%2013.0852%208.95516%2013.0852%209.21521%2012.8252L9.2195%2012.8209L13.9239%208.1165C14.1839%207.85645%2014.1839%207.43482%2013.9239%207.17477Z%22%20fill%3D%22%23FFFFFF%22%2F%3E%0A%3C%2Fsvg%3E%0A"},B3e={starEmpty:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M10.3437%203.3312L11.6861%206.67412C11.8451%207.0699%2012.2165%207.33978%2012.6421%207.36863L16.2362%207.61233C16.5693%207.63492%2016.7048%208.05202%2016.4486%208.26608L13.6841%2010.5758C13.3568%2010.8493%2013.215%2011.2859%2013.319%2011.6996L14.1979%2015.1931C14.2793%2015.5168%2013.9245%2015.7746%2013.6418%2015.5971L10.5908%2013.6817C10.2296%2013.4549%209.77045%2013.4549%209.40924%2013.6817L6.35828%2015.5971C6.07553%2015.7746%205.72072%2015.5168%205.80217%2015.1931L6.68105%2011.6996C6.7851%2011.2859%206.64322%2010.8493%206.31592%2010.5758L3.55145%208.26607C3.29525%208.05202%203.43078%207.63492%203.76386%207.61233L7.358%207.36863C7.78352%207.33978%208.15498%207.0699%208.31391%206.67412L9.65633%203.3312C9.78074%203.0214%2010.2193%203.0214%2010.3437%203.3312Z%22%20fill%3D%22%23fff%22%20stroke%3D%22%23FFBD37%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3C%2Fsvg%3E%0A",starIncomplete:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M10.3437%203.3312L11.6861%206.67412C11.845%207.0699%2012.2165%207.33978%2012.642%207.36863L16.2361%207.61233C16.5692%207.63492%2016.7047%208.05202%2016.4485%208.26608L13.6841%2010.5758C13.3568%2010.8493%2013.2149%2011.2859%2013.3189%2011.6996L14.1978%2015.1931C14.2793%2015.5168%2013.9245%2015.7746%2013.6417%2015.5971L10.5908%2013.6817C10.2295%2013.4549%209.77039%2013.4549%209.40918%2013.6817L6.35822%2015.5971C6.07547%2015.7746%205.72066%2015.5168%205.80211%2015.1931L6.68098%2011.6996C6.78504%2011.2859%206.64316%2010.8493%206.31586%2010.5758L3.55139%208.26607C3.29519%208.05202%203.43072%207.63492%203.7638%207.61233L7.35793%207.36863C7.78346%207.33978%208.15491%207.0699%208.31385%206.67412L9.65627%203.3312C9.78068%203.0214%2010.2192%203.0214%2010.3437%203.3312Z%22%20fill%3D%22%23fff%22%20stroke%3D%22%23FFBD37%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3Cmask%20id%3D%22mask1_613_177%22%20style%3D%22mask-type%3Aalpha%22%20maskUnits%3D%22userSpaceOnUse%22%20x%3D%220%22%20y%3D%220%22%20width%3D%2210%22%20height%3D%2220%22%3E%0A%3Crect%20width%3D%2210%22%20height%3D%2220%22%20fill%3D%22%23C4C4C4%22%2F%3E%0A%3C%2Fmask%3E%0A%3Cg%20mask%3D%22url(%23mask1_613_177)%22%3E%0A%3Cpath%20d%3D%22M10.3437%203.3312L11.6861%206.67412C11.845%207.0699%2012.2165%207.33978%2012.642%207.36863L16.2361%207.61233C16.5692%207.63492%2016.7047%208.05202%2016.4485%208.26608L13.6841%2010.5758C13.3568%2010.8493%2013.2149%2011.2859%2013.3189%2011.6996L14.1978%2015.1931C14.2793%2015.5168%2013.9245%2015.7746%2013.6417%2015.5971L10.5908%2013.6817C10.2295%2013.4549%209.77039%2013.4549%209.40918%2013.6817L6.35822%2015.5971C6.07547%2015.7746%205.72066%2015.5168%205.80211%2015.1931L6.68098%2011.6996C6.78504%2011.2859%206.64316%2010.8493%206.31586%2010.5758L3.55139%208.26607C3.29519%208.05202%203.43072%207.63492%203.7638%207.61233L7.35793%207.36863C7.78346%207.33978%208.15491%207.0699%208.31385%206.67412L9.65627%203.3312C9.78068%203.0214%2010.2192%203.0214%2010.3437%203.3312Z%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%23FFBD37%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A",starFull:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M10.3437%203.3312L11.6861%206.67412C11.8451%207.0699%2012.2165%207.33978%2012.6421%207.36863L16.2362%207.61233C16.5693%207.63492%2016.7048%208.05202%2016.4486%208.26608L13.6841%2010.5758C13.3568%2010.8493%2013.215%2011.2859%2013.319%2011.6996L14.1979%2015.1931C14.2793%2015.5168%2013.9245%2015.7746%2013.6418%2015.5971L10.5908%2013.6817C10.2296%2013.4549%209.77045%2013.4549%209.40924%2013.6817L6.35828%2015.5971C6.07553%2015.7746%205.72072%2015.5168%205.80217%2015.1931L6.68105%2011.6996C6.7851%2011.2859%206.64322%2010.8493%206.31592%2010.5758L3.55145%208.26607C3.29525%208.05202%203.43078%207.63492%203.76386%207.61233L7.358%207.36863C7.78352%207.33978%208.15498%207.0699%208.31391%206.67412L9.65633%203.3312C9.78074%203.0214%2010.2193%203.0214%2010.3437%203.3312Z%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%23FFBD37%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3C%2Fsvg%3E%0A"},V3e={progress0:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99993%22%20r%3D%226.66667%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3C%2Fsvg%3E%0A",progress25:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99993%22%20r%3D%226.66667%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3Cpath%20d%3D%22M16.2963%209.99991C16.2963%209.17307%2016.1335%208.35432%2015.8171%207.59042C15.5006%206.82652%2015.0369%206.13242%2014.4522%205.54776C13.8675%204.96309%2013.1734%204.49931%2012.4095%204.18289C11.6456%203.86647%2010.8269%203.70361%2010%203.70361L10%209.99991H16.2963Z%22%20fill%3D%22%237A7A7A%22%2F%3E%0A%3C%2Fsvg%3E%0A",progress50:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99993%22%20r%3D%226.66667%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3Cpath%20d%3D%22M10%2016.2962C11.6699%2016.2962%2013.2714%2015.6328%2014.4522%2014.4521C15.633%2013.2713%2016.2963%2011.6698%2016.2963%209.99991C16.2963%208.33003%2015.633%206.72854%2014.4522%205.54776C13.2714%204.36697%2011.6699%203.70361%2010%203.70361L10%209.99991L10%2016.2962Z%22%20fill%3D%22%237A7A7A%22%2F%3E%0A%3C%2Fsvg%3E%0A",progress75:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99993%22%20r%3D%226.66667%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3Cpath%20d%3D%22M3.70374%209.99991C3.70374%2011.2452%204.07301%2012.4625%204.76485%2013.4979C5.4567%2014.5334%206.44005%2015.3404%207.59054%2015.8169C8.74104%2016.2935%2010.007%2016.4182%2011.2284%2016.1752C12.4497%2015.9323%2013.5716%2015.3326%2014.4522%2014.4521C15.3327%2013.5715%2015.9324%2012.4496%2016.1753%2011.2283C16.4183%2010.0069%2016.2936%208.74092%2015.8171%207.59042C15.3405%206.43992%2014.5335%205.45658%2013.4981%204.76473C12.4626%204.07288%2011.2453%203.70361%2010%203.70361L10%209.99991L3.70374%209.99991Z%22%20fill%3D%22%237A7A7A%22%2F%3E%0A%3C%2Fsvg%3E%0A",progress100:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99993%22%20r%3D%226.66667%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99991%22%20r%3D%226.2963%22%20fill%3D%22%237A7A7A%22%2F%3E%0A%3C%2Fsvg%3E%0A"},F3e={signal0:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%2214.4764%22%20y%3D%222.98926%22%20width%3D%222.3%22%20height%3D%2214.0597%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2210.7255%22%20y%3D%225.93921%22%20width%3D%222.3%22%20height%3D%2211.1096%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%226.97455%22%20y%3D%229.70435%22%20width%3D%222.3%22%20height%3D%227.3443%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%223.22363%22%20y%3D%2213.3302%22%20width%3D%222.3%22%20height%3D%223.71851%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3C%2Fsvg%3E%0A",signal25:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%2214.4764%22%20y%3D%222.98926%22%20width%3D%222.3%22%20height%3D%2214.0597%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2210.7255%22%20y%3D%225.93921%22%20width%3D%222.3%22%20height%3D%2211.1096%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%226.97455%22%20y%3D%229.70435%22%20width%3D%222.3%22%20height%3D%227.3443%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%223.22363%22%20y%3D%2213.3302%22%20width%3D%222.3%22%20height%3D%223.71851%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3C%2Fsvg%3E%0A",signal50:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%2214.4764%22%20y%3D%222.98926%22%20width%3D%222.3%22%20height%3D%2214.0597%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2210.7255%22%20y%3D%225.93921%22%20width%3D%222.3%22%20height%3D%2211.1096%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%226.97455%22%20y%3D%229.70435%22%20width%3D%222.3%22%20height%3D%227.3443%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%223.22363%22%20y%3D%2213.3302%22%20width%3D%222.3%22%20height%3D%223.71851%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3C%2Fsvg%3E%0A",signal75:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%2214.4764%22%20y%3D%222.98926%22%20width%3D%222.3%22%20height%3D%2214.0597%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2210.7255%22%20y%3D%225.93921%22%20width%3D%222.3%22%20height%3D%2211.1096%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%226.97455%22%20y%3D%229.70435%22%20width%3D%222.3%22%20height%3D%227.3443%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%223.22363%22%20y%3D%2213.3302%22%20width%3D%222.3%22%20height%3D%223.71851%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3C%2Fsvg%3E%0A",signal100:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%2214.4764%22%20y%3D%222.98926%22%20width%3D%222.3%22%20height%3D%2214.0597%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%2210.7255%22%20y%3D%225.93933%22%20width%3D%222.3%22%20height%3D%2211.1096%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%226.97455%22%20y%3D%229.70447%22%20width%3D%222.3%22%20height%3D%227.3443%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%223.22363%22%20y%3D%2213.3302%22%20width%3D%222.3%22%20height%3D%223.71851%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3C%2Fsvg%3E%0A"},j3e={guffaw:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M16.887%2010C16.887%2013.8037%2013.8036%2016.8871%209.99999%2016.8871C6.19638%2016.8871%203.11295%2013.8037%203.11295%2010C3.11295%206.19644%206.19638%203.11301%209.99999%203.11301C13.8036%203.11301%2016.887%206.19644%2016.887%2010Z%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.3%22%2F%3E%0A%3Crect%20x%3D%227.40741%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Crect%20x%3D%2211.1111%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M12.5355%2013.5821C13.0482%2013.1841%2013.3951%2012.6107%2013.5405%2012.0327C13.5934%2011.8226%2013.5051%2011.6349%2013.3518%2011.5331C13.2036%2011.4346%2013.0031%2011.4203%2012.8265%2011.5131C11.0615%2012.4407%208.94609%2012.4427%207.1828%2011.513C7.00629%2011.4199%206.80602%2011.4343%206.65798%2011.5329C6.50518%2011.6346%206.41701%2011.8217%206.46844%2012.0312C6.61029%2012.609%206.95079%2013.1833%207.46449%2013.5821C8.14361%2014.1093%209.05608%2014.3999%2010%2014.3999C10.9439%2014.3999%2011.8564%2014.1093%2012.5355%2013.5821Z%22%20fill%3D%22white%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.4%22%2F%3E%0A%3C%2Fsvg%3E%0A",smile:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%226.88704%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.3%22%2F%3E%0A%3Crect%20x%3D%227.40741%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Crect%20x%3D%2211.1111%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M7.03705%2011.8518C7.03705%2011.8518%207.77779%2013.7037%2010%2013.7037C12.2222%2013.7037%2012.963%2011.8518%2012.963%2011.8518%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.962963%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E%0A",noninductive:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%226.88704%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.3%22%2F%3E%0A%3Crect%20x%3D%227.40741%22%20y%3D%227.9259%22%20width%3D%221.48148%22%20height%3D%221.11111%22%20rx%3D%220.555556%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Crect%20x%3D%2211.1111%22%20y%3D%227.9259%22%20width%3D%221.48148%22%20height%3D%221.11111%22%20rx%3D%220.555556%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M7.03705%2012.5927C7.03705%2012.5927%208.14816%2012.5927%2010.3704%2012.5927C12.5926%2012.5927%2012.963%2012.5927%2012.963%2012.5927%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.962963%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E%0A",dissatisfied:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%226.88704%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.3%22%2F%3E%0A%3Crect%20x%3D%227.40741%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Crect%20x%3D%2211.1111%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M7.03705%2013.7037C7.03705%2013.7037%207.77779%2011.8519%2010%2011.8519C12.2222%2011.8519%2012.963%2013.7037%2012.963%2013.7037%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.962963%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E%0A",impatient:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%226.88704%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.3%22%2F%3E%0A%3Crect%20x%3D%227.40741%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Crect%20x%3D%2211.1111%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M7.47573%2011.731C6.96306%2012.129%206.61613%2012.7024%206.47071%2013.2804C6.41784%2013.4905%206.50617%2013.6782%206.65942%2013.78C6.80761%2013.8785%207.00813%2013.8928%207.18477%2013.8C8.9498%2012.8724%2011.0652%2012.8704%2012.8285%2013.8002C13.005%2013.8932%2013.2052%2013.8788%2013.3533%2013.7802C13.5061%2013.6785%2013.5942%2013.4914%2013.5428%2013.2819C13.401%2012.7041%2013.0605%2012.1298%2012.5468%2011.731C11.8676%2011.2038%2010.9552%2010.9132%2010.0112%2010.9132C9.06732%2010.9132%208.15485%2011.2038%207.47573%2011.731Z%22%20fill%3D%22white%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.4%22%2F%3E%0A%3C%2Fsvg%3E%0A"},H3e={"down-red":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M8.90467%203.99244C8.84611%204.1338%208.84611%204.31301%208.84611%204.67143V13.716L5.92068%2010.7906C5.66724%2010.5371%205.54052%2010.4104%205.39916%2010.3519C5.21067%2010.2738%204.9989%2010.2738%204.81041%2010.3519C4.66905%2010.4104%204.54233%2010.5371%204.28889%2010.7906C4.03545%2011.044%203.90873%2011.1707%203.85018%2011.3121C3.77211%2011.5006%203.77211%2011.7124%203.85018%2011.9008C3.90873%2012.0422%204.03545%2012.1689%204.28889%2012.4224L9.03476%2017.1682C9.07839%2017.2127%209.12737%2017.2617%209.18231%2017.3166L9.18239%2017.3167L9.18241%2017.3167C9.40545%2017.5398%209.53035%2017.6647%209.65346%2017.7313C9.67085%2017.7408%209.6882%2017.7492%209.70577%2017.7564C9.89425%2017.8345%2010.106%2017.8345%2010.2945%2017.7564C10.4359%2017.6979%2010.5626%2017.5712%2010.816%2017.3177C10.8986%2017.2352%2010.9677%2017.1661%2011.0253%2017.1056L15.7095%2012.4214L15.7095%2012.4213C15.963%2012.1679%2016.0897%2012.0412%2016.1482%2011.8998C16.2263%2011.7114%2016.2263%2011.4996%2016.1482%2011.3111C16.0897%2011.1697%2015.963%2011.043%2015.7095%2010.7896C15.4561%2010.5361%2015.3294%2010.4094%2015.188%2010.3509C14.9995%2010.2728%2014.7878%2010.2728%2014.5993%2010.3509C14.4579%2010.4094%2014.3312%2010.5361%2014.0778%2010.7896L14.0777%2010.7896L11.1538%2013.7135V4.67142C11.1538%204.31301%2011.1538%204.1338%2011.0953%203.99244C11.0172%203.80395%2010.8674%203.6542%2010.6789%203.57613C10.5376%203.51758%2010.3584%203.51758%209.99996%203.51758C9.64154%203.51758%209.46233%203.51758%209.32097%203.57613C9.13249%203.6542%208.98274%203.80395%208.90467%203.99244Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A","right-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3.32508%2011.7609C3.46644%2011.8194%203.64565%2011.8194%204.00407%2011.8194H13.049L10.1235%2014.745C9.87002%2014.9984%209.7433%2015.1251%209.68475%2015.2665C9.60668%2015.455%209.60668%2015.6668%209.68475%2015.8552C9.7433%2015.9966%209.87002%2016.1233%2010.1235%2016.3768C10.3769%2016.6302%2010.5036%2016.7569%2010.645%2016.8155C10.8335%2016.8935%2011.0452%2016.8935%2011.2337%2016.8155C11.3751%2016.7569%2011.5018%2016.6302%2011.7552%2016.3768L16.5105%2011.6215C16.5524%2011.5803%2016.5983%2011.5344%2016.6493%2011.4834L16.6495%2011.4831C16.8561%2011.2765%2016.9785%2011.1542%2017.0484%2011.0394C17.0648%2011.0128%2017.0782%2010.9866%2017.0893%2010.9599C17.1674%2010.7714%2017.1674%2010.5596%2017.0893%2010.3711C17.0308%2010.2298%2016.904%2010.1031%2016.6506%209.84962C16.5685%209.76752%2016.4997%209.69872%2016.4394%209.64123L11.7542%204.95601C11.5007%204.70257%2011.374%204.57585%2011.2327%204.5173C11.0442%204.43923%2010.8324%204.43923%2010.6439%204.5173C10.5026%204.57585%2010.3758%204.70257%2010.1224%204.95601L10.1224%204.95601C9.86895%205.20945%209.74223%205.33617%209.68368%205.47753C9.60561%205.66601%209.60561%205.87779%209.68368%206.06627C9.74223%206.20764%209.86895%206.33436%2010.1224%206.5878L13.0463%209.51175H4.00407C3.64565%209.51175%203.46644%209.51175%203.32508%209.5703C3.1366%209.64837%202.98685%209.79812%202.90877%209.98661C2.85022%2010.128%202.85022%2010.3072%202.85022%2010.6656C2.85022%2011.024%202.85022%2011.2032%202.90877%2011.3446C2.98685%2011.5331%203.1366%2011.6828%203.32508%2011.7609Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A","up-green":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M11.0936%2017.3406C11.1522%2017.1992%2011.1522%2017.02%2011.1522%2016.6616V7.61701L14.0776%2010.5424C14.3311%2010.7959%2014.4578%2010.9226%2014.5991%2010.9811C14.7876%2011.0592%2014.9994%2011.0592%2015.1879%2010.9811C15.3292%2010.9226%2015.456%2010.7959%2015.7094%2010.5424C15.9628%2010.289%2016.0896%2010.1623%2016.1481%2010.0209C16.2262%209.83243%2016.2262%209.62066%2016.1481%209.43217C16.0896%209.29081%2015.9628%209.16409%2015.7094%208.91065L10.9645%204.16576C10.9207%204.12105%2010.8714%204.07178%2010.8161%204.01648L10.8159%204.0163C10.5916%203.792%2010.4666%203.66696%2010.3428%203.60058C10.3261%203.59154%2010.3094%203.58358%2010.2925%203.57658C10.104%203.49851%209.89226%203.49851%209.70378%203.57658C9.56242%203.63514%209.4357%203.76186%209.18226%204.0153C9.09955%204.09801%209.03034%204.16722%208.97258%204.22785L4.28878%208.91166C4.03534%209.1651%203.90862%209.29182%203.85006%209.43318C3.77199%209.62166%203.77199%209.83344%203.85006%2010.0219C3.90862%2010.1633%204.03534%2010.29%204.28878%2010.5434C4.54221%2010.7969%204.66893%2010.9236%204.8103%2010.9822C4.99878%2011.0602%205.21056%2011.0602%205.39904%2010.9822C5.5404%2010.9236%205.66712%2010.7969%205.92056%2010.5434L5.92056%2010.5434L8.84449%207.61951V16.6616C8.84449%2017.02%208.84449%2017.1992%208.90305%2017.3406C8.98112%2017.5291%209.13087%2017.6788%209.31935%2017.7569C9.46072%2017.8154%209.63992%2017.8154%209.99834%2017.8154C10.3568%2017.8154%2010.536%2017.8154%2010.6773%2017.7569C10.8658%2017.6788%2011.0156%2017.5291%2011.0936%2017.3406Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A","rightAndDown-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.5062%206.72126C4.56476%206.86262%204.69148%206.98934%204.94492%207.24278L11.3404%2013.6382L7.20313%2013.6382C6.84471%2013.6382%206.66551%2013.6382%206.52414%2013.6968C6.33566%2013.7749%206.18591%2013.9246%206.10784%2014.1131C6.04928%2014.2545%206.04928%2014.4337%206.04928%2014.7921C6.04928%2015.1505%206.04928%2015.3297%206.10784%2015.4711C6.18591%2015.6596%206.33566%2015.8093%206.52414%2015.8874C6.66551%2015.9459%206.84471%2015.9459%207.20313%2015.9459L13.9194%2015.9459C13.9805%2015.9465%2014.0484%2015.9465%2014.1243%2015.9465H14.1243C14.4353%2015.9465%2014.6114%2015.9465%2014.7449%2015.9082C14.7659%2015.9023%2014.7859%2015.8954%2014.8052%2015.8874C14.9937%2015.8093%2015.1434%2015.6596%2015.2215%2015.4711C15.2801%2015.3297%2015.2801%2015.1505%2015.2801%2014.7921C15.2801%2014.6767%2015.2801%2014.5799%2015.2781%2014.497L15.2781%207.86957C15.2781%207.51115%2015.2781%207.33194%2015.2195%207.19058C15.1415%207.0021%2014.9917%206.85235%2014.8032%206.77428C14.6619%206.71572%2014.4827%206.71572%2014.1243%206.71572C13.7658%206.71572%2013.5866%206.71572%2013.4453%206.77428C13.2568%206.85235%2013.107%207.0021%2013.029%207.19058C12.9704%207.33194%2012.9704%207.51115%2012.9704%207.86957L12.9704%2012.0047L6.5767%205.61099C6.32326%205.35755%206.19654%205.23083%206.05518%205.17228C5.8667%205.09421%205.65492%205.09421%205.46644%205.17228C5.32508%205.23083%205.19836%205.35755%204.94492%205.61099C4.69148%205.86443%204.56476%205.99115%204.5062%206.13251C4.42813%206.32099%204.42813%206.53277%204.5062%206.72126Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A","rightAndUp-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6.05431%2016.1597C6.19567%2016.1012%206.32239%2015.9745%206.57583%2015.721L12.9712%209.32568L12.9712%2013.4626C12.9712%2013.821%2012.9712%2014.0002%2013.0297%2014.1416C13.1078%2014.3301%2013.2576%2014.4798%2013.446%2014.5579C13.5874%2014.6164%2013.7666%2014.6164%2014.125%2014.6164C14.4834%2014.6164%2014.6626%2014.6164%2014.804%2014.5579C14.9925%2014.4798%2015.1422%2014.3301%2015.2203%2014.1416C15.2789%2014.0002%2015.2789%2013.821%2015.2789%2013.4626L15.2789%206.75233C15.2795%206.68972%2015.2795%206.62004%2015.2795%206.54182L15.2795%206.54157C15.2795%206.22585%2015.2795%206.04918%2015.2395%205.91495C15.2339%205.89605%2015.2276%205.878%2015.2203%205.86053C15.1422%205.67204%2014.9925%205.52229%2014.804%205.44422C14.6626%205.38567%2014.4834%205.38567%2014.125%205.38567L14.125%205.38567C14.0075%205.38567%2013.9093%205.38567%2013.8254%205.38773L7.20256%205.38773C6.84414%205.38773%206.66493%205.38773%206.52357%205.44628C6.33509%205.52436%206.18534%205.6741%206.10727%205.86259C6.04871%206.00395%206.04871%206.18315%206.04871%206.54156V6.54157L6.04871%206.54159C6.04871%206.9%206.04871%207.0792%206.10727%207.22056C6.18534%207.40905%206.33509%207.55879%206.52357%207.63687C6.66493%207.69542%206.84414%207.69542%207.20256%207.69542H11.3379L4.94405%2014.0892C4.69061%2014.3427%204.56389%2014.4694%204.50533%2014.6108C4.42726%2014.7992%204.42726%2015.011%204.50533%2015.1995C4.56389%2015.3409%204.69061%2015.4676%204.94405%2015.721C5.19749%2015.9745%205.32421%2016.1012%205.46557%2016.1597C5.65405%2016.2378%205.86583%2016.2378%206.05431%2016.1597Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A","down-gray":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M8.90467%203.99244C8.84611%204.1338%208.84611%204.31301%208.84611%204.67143V13.716L5.92068%2010.7906C5.66724%2010.5371%205.54052%2010.4104%205.39916%2010.3519C5.21067%2010.2738%204.9989%2010.2738%204.81041%2010.3519C4.66905%2010.4104%204.54233%2010.5371%204.28889%2010.7906C4.03545%2011.044%203.90873%2011.1707%203.85018%2011.3121C3.77211%2011.5006%203.77211%2011.7124%203.85018%2011.9008C3.90873%2012.0422%204.03545%2012.1689%204.28889%2012.4224L9.03476%2017.1682C9.07839%2017.2127%209.12737%2017.2617%209.18231%2017.3166L9.18239%2017.3167L9.18241%2017.3167C9.40545%2017.5398%209.53035%2017.6647%209.65346%2017.7313C9.67085%2017.7408%209.6882%2017.7492%209.70577%2017.7564C9.89425%2017.8345%2010.106%2017.8345%2010.2945%2017.7564C10.4359%2017.6979%2010.5626%2017.5712%2010.816%2017.3177C10.8986%2017.2352%2010.9677%2017.1661%2011.0253%2017.1056L15.7095%2012.4214L15.7095%2012.4213C15.963%2012.1679%2016.0897%2012.0412%2016.1482%2011.8998C16.2263%2011.7114%2016.2263%2011.4996%2016.1482%2011.3111C16.0897%2011.1697%2015.963%2011.043%2015.7095%2010.7896C15.4561%2010.5361%2015.3294%2010.4094%2015.188%2010.3509C14.9995%2010.2728%2014.7878%2010.2728%2014.5993%2010.3509C14.4579%2010.4094%2014.3312%2010.5361%2014.0778%2010.7896L14.0777%2010.7896L11.1538%2013.7135V4.67142C11.1538%204.31301%2011.1538%204.1338%2011.0953%203.99244C11.0172%203.80395%2010.8674%203.6542%2010.6789%203.57613C10.5376%203.51758%2010.3584%203.51758%209.99996%203.51758C9.64154%203.51758%209.46233%203.51758%209.32097%203.57613C9.13249%203.6542%208.98274%203.80395%208.90467%203.99244Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A","right-gray":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3.32508%2011.7609C3.46644%2011.8194%203.64565%2011.8194%204.00407%2011.8194H13.049L10.1235%2014.745C9.87002%2014.9984%209.7433%2015.1251%209.68475%2015.2665C9.60668%2015.455%209.60668%2015.6668%209.68475%2015.8552C9.7433%2015.9966%209.87002%2016.1233%2010.1235%2016.3768C10.3769%2016.6302%2010.5036%2016.7569%2010.645%2016.8155C10.8335%2016.8935%2011.0452%2016.8935%2011.2337%2016.8155C11.3751%2016.7569%2011.5018%2016.6302%2011.7552%2016.3768L16.5105%2011.6215C16.5524%2011.5803%2016.5983%2011.5344%2016.6493%2011.4834L16.6495%2011.4831C16.8561%2011.2765%2016.9785%2011.1542%2017.0484%2011.0394C17.0648%2011.0128%2017.0782%2010.9866%2017.0893%2010.9599C17.1674%2010.7714%2017.1674%2010.5596%2017.0893%2010.3711C17.0308%2010.2298%2016.904%2010.1031%2016.6506%209.84962C16.5685%209.76752%2016.4997%209.69872%2016.4394%209.64123L11.7542%204.95601C11.5007%204.70257%2011.374%204.57585%2011.2327%204.5173C11.0442%204.43923%2010.8324%204.43923%2010.6439%204.5173C10.5026%204.57585%2010.3758%204.70257%2010.1224%204.95601L10.1224%204.95601C9.86895%205.20945%209.74223%205.33617%209.68368%205.47753C9.60561%205.66601%209.60561%205.87779%209.68368%206.06627C9.74223%206.20764%209.86895%206.33436%2010.1224%206.5878L13.0463%209.51175H4.00407C3.64565%209.51175%203.46644%209.51175%203.32508%209.5703C3.1366%209.64837%202.98685%209.79812%202.90877%209.98661C2.85022%2010.128%202.85022%2010.3072%202.85022%2010.6656C2.85022%2011.024%202.85022%2011.2032%202.90877%2011.3446C2.98685%2011.5331%203.1366%2011.6828%203.32508%2011.7609Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A","up-gray":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M11.0936%2017.3406C11.1522%2017.1992%2011.1522%2017.02%2011.1522%2016.6616V7.61701L14.0776%2010.5424C14.3311%2010.7959%2014.4578%2010.9226%2014.5991%2010.9811C14.7876%2011.0592%2014.9994%2011.0592%2015.1879%2010.9811C15.3292%2010.9226%2015.456%2010.7959%2015.7094%2010.5424C15.9628%2010.289%2016.0896%2010.1623%2016.1481%2010.0209C16.2262%209.83243%2016.2262%209.62066%2016.1481%209.43217C16.0896%209.29081%2015.9628%209.16409%2015.7094%208.91065L10.9645%204.16576C10.9207%204.12105%2010.8714%204.07178%2010.8161%204.01648L10.8159%204.0163C10.5916%203.792%2010.4666%203.66696%2010.3428%203.60058C10.3261%203.59154%2010.3094%203.58358%2010.2925%203.57658C10.104%203.49851%209.89226%203.49851%209.70378%203.57658C9.56242%203.63514%209.4357%203.76186%209.18226%204.0153C9.09955%204.09801%209.03034%204.16722%208.97258%204.22785L4.28878%208.91166C4.03534%209.1651%203.90862%209.29182%203.85006%209.43318C3.77199%209.62166%203.77199%209.83344%203.85006%2010.0219C3.90862%2010.1633%204.03534%2010.29%204.28878%2010.5434C4.54221%2010.7969%204.66893%2010.9236%204.8103%2010.9822C4.99878%2011.0602%205.21056%2011.0602%205.39904%2010.9822C5.5404%2010.9236%205.66712%2010.7969%205.92056%2010.5434L5.92056%2010.5434L8.84449%207.61951V16.6616C8.84449%2017.02%208.84449%2017.1992%208.90305%2017.3406C8.98112%2017.5291%209.13087%2017.6788%209.31935%2017.7569C9.46072%2017.8154%209.63992%2017.8154%209.99834%2017.8154C10.3568%2017.8154%2010.536%2017.8154%2010.6773%2017.7569C10.8658%2017.6788%2011.0156%2017.5291%2011.0936%2017.3406Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A","rightAndDown-gray":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.5062%206.72126C4.56476%206.86262%204.69148%206.98934%204.94492%207.24278L11.3404%2013.6382L7.20313%2013.6382C6.84471%2013.6382%206.66551%2013.6382%206.52414%2013.6968C6.33566%2013.7749%206.18591%2013.9246%206.10784%2014.1131C6.04928%2014.2545%206.04928%2014.4337%206.04928%2014.7921C6.04928%2015.1505%206.04928%2015.3297%206.10784%2015.4711C6.18591%2015.6596%206.33566%2015.8093%206.52414%2015.8874C6.66551%2015.9459%206.84471%2015.9459%207.20313%2015.9459L13.9194%2015.9459C13.9805%2015.9465%2014.0484%2015.9465%2014.1243%2015.9465H14.1243C14.4353%2015.9465%2014.6114%2015.9465%2014.7449%2015.9082C14.7659%2015.9023%2014.7859%2015.8954%2014.8052%2015.8874C14.9937%2015.8093%2015.1434%2015.6596%2015.2215%2015.4711C15.2801%2015.3297%2015.2801%2015.1505%2015.2801%2014.7921C15.2801%2014.6767%2015.2801%2014.5799%2015.2781%2014.497L15.2781%207.86957C15.2781%207.51115%2015.2781%207.33194%2015.2195%207.19058C15.1415%207.0021%2014.9917%206.85235%2014.8032%206.77428C14.6619%206.71572%2014.4827%206.71572%2014.1243%206.71572C13.7658%206.71572%2013.5866%206.71572%2013.4453%206.77428C13.2568%206.85235%2013.107%207.0021%2013.029%207.19058C12.9704%207.33194%2012.9704%207.51115%2012.9704%207.86957L12.9704%2012.0047L6.5767%205.61099C6.32326%205.35755%206.19654%205.23083%206.05518%205.17228C5.8667%205.09421%205.65492%205.09421%205.46644%205.17228C5.32508%205.23083%205.19836%205.35755%204.94492%205.61099C4.69148%205.86443%204.56476%205.99115%204.5062%206.13251C4.42813%206.32099%204.42813%206.53277%204.5062%206.72126Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A","rightAndUp-gray":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6.05431%2016.1597C6.19567%2016.1012%206.32239%2015.9745%206.57583%2015.721L12.9712%209.32568L12.9712%2013.4626C12.9712%2013.821%2012.9712%2014.0002%2013.0297%2014.1416C13.1078%2014.3301%2013.2576%2014.4798%2013.446%2014.5579C13.5874%2014.6164%2013.7666%2014.6164%2014.125%2014.6164C14.4834%2014.6164%2014.6626%2014.6164%2014.804%2014.5579C14.9925%2014.4798%2015.1422%2014.3301%2015.2203%2014.1416C15.2789%2014.0002%2015.2789%2013.821%2015.2789%2013.4626L15.2789%206.75233C15.2795%206.68972%2015.2795%206.62004%2015.2795%206.54182L15.2795%206.54157C15.2795%206.22585%2015.2795%206.04918%2015.2395%205.91495C15.2339%205.89605%2015.2276%205.878%2015.2203%205.86053C15.1422%205.67204%2014.9925%205.52229%2014.804%205.44422C14.6626%205.38567%2014.4834%205.38567%2014.125%205.38567L14.125%205.38567C14.0075%205.38567%2013.9093%205.38567%2013.8254%205.38773L7.20256%205.38773C6.84414%205.38773%206.66493%205.38773%206.52357%205.44628C6.33509%205.52436%206.18534%205.6741%206.10727%205.86259C6.04871%206.00395%206.04871%206.18315%206.04871%206.54156V6.54157L6.04871%206.54159C6.04871%206.9%206.04871%207.0792%206.10727%207.22056C6.18534%207.40905%206.33509%207.55879%206.52357%207.63687C6.66493%207.69542%206.84414%207.69542%207.20256%207.69542H11.3379L4.94405%2014.0892C4.69061%2014.3427%204.56389%2014.4694%204.50533%2014.6108C4.42726%2014.7992%204.42726%2015.011%204.50533%2015.1995C4.56389%2015.3409%204.69061%2015.4676%204.94405%2015.721C5.19749%2015.9745%205.32421%2016.1012%205.46557%2016.1597C5.65405%2016.2378%205.86583%2016.2378%206.05431%2016.1597Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A"},W3e={cross:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%223.70374%22%20y%3D%228.14795%22%20width%3D%2212.5926%22%20height%3D%223.7037%22%20rx%3D%220.740741%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A",up:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M9.44533%205.81157C9.74012%205.47858%2010.2598%205.47858%2010.5546%205.81157L16.2868%2012.2867C16.71%2012.7647%2016.3706%2013.5184%2015.7322%2013.5184H4.26776C3.62933%2013.5184%203.28995%2012.7647%203.71313%2012.2867L9.44533%205.81157Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A",down:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M10.5547%2014.1884C10.2599%2014.5214%209.74019%2014.5214%209.4454%2014.1884L3.71321%207.71335C3.29002%207.23532%203.6294%206.48161%204.26784%206.48161L15.7322%206.48161C16.3707%206.48161%2016.7101%207.23532%2016.2869%207.71335L10.5547%2014.1884Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A","rhomboid-red":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M2.1415%2011.1984C1.8412%2010.9074%201.8412%2010.4256%202.1415%2010.1346L9.48467%203.01785C9.77196%202.73942%2010.2284%202.73942%2010.5157%203.01786L17.8586%2010.1346C18.1589%2010.4256%2018.1589%2010.9074%2017.8586%2011.1984L10.5157%2018.3151C10.2284%2018.5936%209.77196%2018.5936%209.48467%2018.3152L2.1415%2011.1984Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A","rhomboid-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M2.1415%2011.1984C1.8412%2010.9074%201.8412%2010.4256%202.1415%2010.1346L9.48467%203.01785C9.77196%202.73942%2010.2284%202.73942%2010.5157%203.01786L17.8586%2010.1346C18.1589%2010.4256%2018.1589%2010.9074%2017.8586%2011.1984L10.5157%2018.3151C10.2284%2018.5936%209.77196%2018.5936%209.48467%2018.3152L2.1415%2011.1984Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A","roundness-greed":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A","roundness-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A","roundness-red":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A","roundness-pink":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22%23FB9D9D%22%2F%3E%0A%3C%2Fsvg%3E%0A","roundness-gray":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A","roundness-black":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22black%22%2F%3E%0A%3C%2Fsvg%3E%0A","triangle-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cg%20clip-path%3D%22url(%23clip0_613_237)%22%3E%0A%3Cpath%20d%3D%22M9.32308%204.41301C9.58368%203.82623%2010.4164%203.82623%2010.677%204.413L15.9526%2016.2917C16.1701%2016.7815%2015.8115%2017.3331%2015.2756%2017.3331H4.72454C4.18858%2017.3331%203.83002%2016.7815%204.04756%2016.2917L9.32308%204.41301Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fg%3E%0A%3Cdefs%3E%0A%3CclipPath%20id%3D%22clip0_613_237%22%3E%0A%3Crect%20width%3D%2220%22%20height%3D%2220%22%20fill%3D%22white%22%20transform%3D%22translate(0%200.666504)%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E%0A","indicate-greed":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%222.76941%22%20y%3D%222.76941%22%20width%3D%2214.4612%22%20height%3D%2214.4612%22%20rx%3D%223%22%20fill%3D%22black%22%2F%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%224.5%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A","indicate-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%222.76941%22%20y%3D%222.76941%22%20width%3D%2214.4612%22%20height%3D%2214.4612%22%20rx%3D%223%22%20fill%3D%22black%22%2F%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%224.5%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A","indicate-red":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%222.76941%22%20y%3D%222.76941%22%20width%3D%2214.4612%22%20height%3D%2214.4612%22%20rx%3D%223%22%20fill%3D%22black%22%2F%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%224.5%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A"},z3e={mistake2:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.12194%206.33702C4.1805%206.47839%204.30722%206.6051%204.56066%206.85854L8.36822%2010.6661L4.56062%2014.4737C4.30718%2014.7272%204.18046%2014.8539%204.12191%2014.9952C4.04384%2015.1837%204.04384%2015.3955%204.12191%2015.584C4.18046%2015.7253%204.30718%2015.8521%204.56062%2016.1055C4.81406%2016.3589%204.94078%2016.4857%205.08214%2016.5442C5.27062%2016.6223%205.4824%2016.6223%205.67089%2016.5442C5.81225%2016.4857%205.93897%2016.3589%206.19241%2016.1055L10%2012.2979L13.8074%2016.1053C14.0609%2016.3588%2014.1876%2016.4855%2014.329%2016.544C14.5174%2016.6221%2014.7292%2016.6221%2014.9177%2016.544C15.0591%2016.4855%2015.1858%2016.3588%2015.4392%2016.1053L15.4392%2016.1053C15.6927%2015.8519%2015.8194%2015.7252%2015.8779%2015.5838C15.956%2015.3953%2015.956%2015.1835%2015.8779%2014.9951C15.8194%2014.8537%2015.6927%2014.727%2015.4392%2014.4735L15.4392%2014.4735L11.6318%2010.6661L15.4392%206.85872C15.6926%206.60528%2015.8193%206.47856%2015.8779%206.3372C15.956%206.14871%2015.956%205.93694%2015.8779%205.74845C15.8193%205.60709%2015.6926%205.48037%2015.4392%205.22693C15.1857%204.97349%2015.059%204.84677%2014.9177%204.78822C14.7292%204.71015%2014.5174%204.71015%2014.3289%204.78822C14.1876%204.84677%2014.0608%204.97349%2013.8074%205.22693L10%209.03433L6.19244%205.22676C5.939%204.97332%205.81228%204.8466%205.67092%204.78805C5.48244%204.70997%205.27066%204.70997%205.08218%204.78805C4.94082%204.8466%204.8141%204.97332%204.56066%205.22676L4.56066%205.22676C4.30722%205.4802%204.1805%205.60692%204.12194%205.74828C4.04387%205.93676%204.04387%206.14854%204.12194%206.33702Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A",warn2:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M8.49778%205.00963C8.48513%204.56774%208.47881%204.3468%208.56086%204.17746C8.63301%204.02856%208.75124%203.90689%208.89802%203.83052C9.06494%203.74365%209.28597%203.74365%209.72805%203.74365H10.272C10.714%203.74365%2010.9351%203.74365%2011.102%203.83052C11.2488%203.9069%2011.367%204.02856%2011.4392%204.17746C11.5212%204.3468%2011.5149%204.56775%2011.5022%205.00964L11.2644%2013.3173C11.2524%2013.737%2011.2464%2013.9468%2011.1609%2014.1065C11.0857%2014.2471%2010.9687%2014.3609%2010.826%2014.432C10.6639%2014.5129%2010.454%2014.5129%2010.0342%2014.5129H9.96582C9.54601%2014.5129%209.33611%2014.5129%209.17397%2014.432C9.0313%2014.3609%208.91426%2014.2471%208.83904%2014.1065C8.75357%2013.9468%208.74756%2013.737%208.73555%2013.3173L8.49778%205.00963Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3Crect%20x%3D%228.76917%22%20y%3D%2215.2817%22%20width%3D%222.46154%22%20height%3D%222.46154%22%20rx%3D%220.769231%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A",correct2:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cg%20clip-path%3D%22url(%23clip0_613_248)%22%3E%0A%3Cpath%20d%3D%22M15.689%205.69723C15.5476%205.75578%2015.4209%205.8825%2015.1675%206.13594L7.82436%2013.4791L4.83279%2010.4875C4.57935%2010.2341%204.45263%2010.1073%204.31127%2010.0488C4.12278%209.97071%203.91101%209.97071%203.72252%2010.0488C3.58116%2010.1073%203.45444%2010.2341%203.201%2010.4875C2.94756%2010.7409%202.82084%2010.8676%202.76229%2011.009C2.68422%2011.1975%202.68422%2011.4093%202.76229%2011.5978C2.82084%2011.7391%202.94756%2011.8658%203.201%2012.1193L7.0085%2015.9268C7.26194%2016.1802%207.38866%2016.3069%207.53002%2016.3655C7.7185%2016.4436%207.93028%2016.4436%208.11876%2016.3655C8.26013%2016.3069%208.38685%2016.1802%208.64028%2015.9268C8.66387%2015.9032%208.68636%2015.8807%208.7078%2015.8592L16.7993%207.76772C17.0527%207.51428%2017.1794%207.38756%2017.238%207.2462C17.3161%207.05772%2017.3161%206.84594%2017.238%206.65746C17.1794%206.5161%2017.0527%206.38938%2016.7993%206.13594C16.5458%205.8825%2016.4191%205.75578%2016.2777%205.69723C16.0893%205.61915%2015.8775%205.61915%2015.689%205.69723Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fg%3E%0A%3Cdefs%3E%0A%3CclipPath%20id%3D%22clip0_613_248%22%3E%0A%3Crect%20width%3D%2220%22%20height%3D%2220%22%20fill%3D%22white%22%20transform%3D%22translate(0%200.666504)%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E%0A"},X3e={"flag-green":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M15.4274%204.74935C14.0982%205.1012%2013.1363%205.13675%2012.3604%205.03379C11.5776%204.93009%2010.9487%204.68342%2010.2456%204.40416L10.2246%204.39527C9.53411%204.1212%208.76945%203.8175%207.81312%203.69157C6.84279%203.56268%205.71016%203.61898%204.24802%204.0049C4.09343%204.04217%203.95538%204.13393%203.85649%204.26515C3.7576%204.39636%203.70374%204.55925%203.70374%204.72712V17.3197C3.70374%2017.5162%203.79534%2017.7046%203.92654%2017.8435C4.05773%2017.9824%204.25893%2018.0605%204.44448%2018.0605C4.63002%2018.0605%204.84911%2017.9824%204.98031%2017.8435C5.11151%2017.7046%205.18522%2017.5162%205.18522%2017.3197V14.9123V12.5049C6.24649%2012.2738%206.97081%2012.2605%207.63962%2012.3486C8.42246%2012.4523%209.05139%2012.699%209.75448%2012.9782L9.77546%2012.9871C10.466%2013.2612%2011.2306%2013.5649%2012.1869%2013.6908C13.1601%2013.8197%2014.2976%2013.7627%2015.7667%2013.3738C15.8866%2013.3421%2016.0727%2013.2135%2016.1483%2013.111C16.2238%2013.0084%2016.2963%2012.8204%2016.2963%2012.6553V5.46787C16.2963%205.35535%2016.2721%205.24432%2016.2255%205.1432C16.1788%205.04208%2016.1111%204.95353%2016.0274%204.88428C15.9436%204.81502%2015.846%204.76688%2015.7421%204.7435C15.6382%204.72012%2015.494%204.73173%2015.4274%204.74935Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A","flag-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M15.4274%204.74935C14.0982%205.1012%2013.1363%205.13675%2012.3604%205.03379C11.5776%204.93009%2010.9487%204.68342%2010.2456%204.40416L10.2246%204.39527C9.53411%204.1212%208.76945%203.8175%207.81312%203.69157C6.84279%203.56268%205.71016%203.61898%204.24802%204.0049C4.09343%204.04217%203.95538%204.13393%203.85649%204.26515C3.7576%204.39636%203.70374%204.55925%203.70374%204.72712V17.3197C3.70374%2017.5162%203.79534%2017.7046%203.92654%2017.8435C4.05773%2017.9824%204.25893%2018.0605%204.44448%2018.0605C4.63002%2018.0605%204.84911%2017.9824%204.98031%2017.8435C5.11151%2017.7046%205.18522%2017.5162%205.18522%2017.3197V14.9123V12.5049C6.24649%2012.2738%206.97081%2012.2605%207.63962%2012.3486C8.42246%2012.4523%209.05139%2012.699%209.75448%2012.9782L9.77546%2012.9871C10.466%2013.2612%2011.2306%2013.5649%2012.1869%2013.6908C13.1601%2013.8197%2014.2976%2013.7627%2015.7667%2013.3738C15.8866%2013.3421%2016.0727%2013.2135%2016.1483%2013.111C16.2238%2013.0084%2016.2963%2012.8204%2016.2963%2012.6553V5.46787C16.2963%205.35535%2016.2721%205.24432%2016.2255%205.1432C16.1788%205.04208%2016.1111%204.95353%2016.0274%204.88428C15.9436%204.81502%2015.846%204.76688%2015.7421%204.7435C15.6382%204.72012%2015.494%204.73173%2015.4274%204.74935Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A","flag-red":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M15.4274%204.74935C14.0982%205.1012%2013.1363%205.13675%2012.3604%205.03379C11.5776%204.93009%2010.9487%204.68342%2010.2456%204.40416L10.2246%204.39527C9.53411%204.1212%208.76945%203.8175%207.81312%203.69157C6.84279%203.56268%205.71016%203.61898%204.24802%204.0049C4.09343%204.04217%203.95538%204.13393%203.85649%204.26515C3.7576%204.39636%203.70374%204.55925%203.70374%204.72712V17.3197C3.70374%2017.5162%203.79534%2017.7046%203.92654%2017.8435C4.05773%2017.9824%204.25893%2018.0605%204.44448%2018.0605C4.63002%2018.0605%204.84911%2017.9824%204.98031%2017.8435C5.11151%2017.7046%205.18522%2017.5162%205.18522%2017.3197V14.9123V12.5049C6.24649%2012.2738%206.97081%2012.2605%207.63962%2012.3486C8.42246%2012.4523%209.05139%2012.699%209.75448%2012.9782L9.77546%2012.9871C10.466%2013.2612%2011.2306%2013.5649%2012.1869%2013.6908C13.1601%2013.8197%2014.2976%2013.7627%2015.7667%2013.3738C15.8866%2013.3421%2016.0727%2013.2135%2016.1483%2013.111C16.2238%2013.0084%2016.2963%2012.8204%2016.2963%2012.6553V5.46787C16.2963%205.35535%2016.2721%205.24432%2016.2255%205.1432C16.1788%205.04208%2016.1111%204.95353%2016.0274%204.88428C15.9436%204.81502%2015.846%204.76688%2015.7421%204.7435C15.6382%204.72012%2015.494%204.73173%2015.4274%204.74935Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A"},q3e={"cell-0":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%224%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%224%22%20y%3D%224.00098%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%224.00098%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3C%2Fsvg%3E%0A","cell-25":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%224%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%224.00098%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3C%2Fsvg%3E%0A","cell-50":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%224%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3C%2Fsvg%3E%0A","cell-75":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%2211.251%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3C%2Fsvg%3E%0A","cell-100":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%2211.251%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211.25%22%20y%3D%2211.251%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3C%2Fsvg%3E%0A"},G3e=[{title:"sheet.cf.iconSet.direction",group:[{name:"3Arrows",list:[H3e["up-green"],H3e["right-gold"],H3e["down-red"]]},{name:"3ArrowsGray",list:[H3e["up-gray"],H3e["right-gray"],H3e["down-gray"]]},{name:"4Arrows",list:[H3e["up-green"],H3e["rightAndUp-gold"],H3e["rightAndDown-gold"],H3e["down-red"]]},{name:"4ArrowsGray",list:[H3e["up-gray"],H3e["rightAndUp-gray"],H3e["rightAndDown-gray"],H3e["down-gray"]]},{name:"5Arrows",list:[H3e["up-green"],H3e["rightAndUp-gold"],H3e["right-gold"],H3e["rightAndDown-gold"],H3e["down-red"]]},{name:"5ArrowsGray",list:[H3e["up-gray"],H3e["rightAndUp-gray"],H3e["right-gray"],H3e["rightAndDown-gray"],H3e["down-gray"]]},{name:"3Triangles",list:[W3e.up,W3e.cross,W3e.down]}]},{title:"sheet.cf.iconSet.shape",group:[{name:"3TrafficLights1",list:[W3e["roundness-greed"],W3e["roundness-gold"],W3e["roundness-red"]]},{name:"3Signs",list:[W3e["roundness-greed"],W3e["triangle-gold"],W3e["rhomboid-red"]]},{name:"3TrafficLights2",list:[W3e["indicate-greed"],W3e["indicate-gold"],W3e["indicate-red"]]},{name:"4RedToBlack",list:[W3e["roundness-red"],W3e["roundness-pink"],W3e["roundness-gray"],W3e["roundness-black"]]},{name:"4TrafficLights",list:[W3e["roundness-greed"],W3e["roundness-gold"],W3e["roundness-red"],W3e["roundness-black"]]}]},{title:"sheet.cf.iconSet.mark",group:[{name:"3Symbols",list:[U3e.correct,U3e.warn,U3e.mistake]},{name:"3Symbols2",list:[z3e.correct2,z3e.warn2,z3e.mistake2]},{name:"3Flags",list:[X3e["flag-green"],X3e["flag-gold"],X3e["flag-red"]]}]},{title:"sheet.cf.iconSet.rank",group:[{name:"4Rating",list:[F3e.signal25,F3e.signal50,F3e.signal75,F3e.signal100]},{name:"5Rating",list:[F3e.signal0,F3e.signal25,F3e.signal50,F3e.signal75,F3e.signal100]},{name:"5Quarters",list:[V3e.progress100,V3e.progress75,V3e.progress50,V3e.progress25,V3e.progress0]},{name:"_5Felling",list:[j3e.guffaw,j3e.smile,j3e.noninductive,j3e.dissatisfied,j3e.impatient]},{name:"5Boxes",list:[q3e["cell-100"],q3e["cell-75"],q3e["cell-50"],q3e["cell-25"],q3e["cell-0"]]},{name:"3Stars",list:[B3e.starFull,B3e.starIncomplete,B3e.starEmpty]}]}],Y3e=G3e.reduce((e,t)=>{let{group:r}=t;for(let t of r)e[t.name]=t.list;return e},{});for(let e in Y3e){let t=Y3e[e];Object.freeze(t)}const Q3e="EMPTY_ICON_TYPE",Z3e="ssheets-conditional-formatting.config";Symbol(Z3e);const K3e={};let $3e=class extends tu{get _conditionalFormattingViewModelV2(){return this._injector.get(I3e)}constructor(e,t,r,n,i,a){super(),this._conditionalFormattingRuleModel=e,this._injector=t,this._univerInstanceService=r,this._resourceManagerService=n,this._sheetInterceptorService=i,this._commandService=a,this._initCellChange(),this._initSnapshot(),this._initSheetChange()}composeStyle(e,t,r,n){let i=this._conditionalFormattingViewModelV2.getCellCfs(e,t,r,n);if(null==i||!i.length)return null;let a=[],o=-1;for(let r of i){let n=this._conditionalFormattingRuleModel.getRule(e,t,r.cfId);n&&(a.push({rule:n,cacheItem:r}),-1===o&&n.stopIfTrue&&(o=a.length-1))}if(!a.length)return null;let s=o>-1?a.slice(0,o+1):a,l={};for(let e=s.length-1;e>=0;e--){let{rule:t,cacheItem:r}=s[e],n=t.rule.type;if(n===H2e.highlightCell)r.result&&hr(l,{style:r.result});else if(n===H2e.colorScale){let e=r.result;e&&"string"==typeof e&&(l.style={...l.style||{},bg:{rgb:e}})}else if(n===H2e.dataBar){let e=r.result;e&&(l.dataBar=e,l.isShowValue=e.isShowValue)}else if(n===H2e.iconSet){let e=r.result;e&&(l.iconSet=e,l.isShowValue=e.isShowValue)}}return l}_initSnapshot(){let e=e=>{let t=this._conditionalFormattingRuleModel.getUnitRules(e),r={};return t?(t.forEach((e,t)=>{r[t]=e}),JSON.stringify(r)):""};this.disposeWithMe(this._resourceManagerService.registerPluginResource({pluginName:B2e,businesses:[Pi.UNIVER_SHEET],toJson:t=>e(t),parseJson:e=>(e=>{if(!e)return{};try{return JSON.parse(e)}catch{return{}}})(e),onUnLoad:e=>{this._conditionalFormattingRuleModel.deleteUnitId(e),!Nl(e)&&this._conditionalFormattingViewModelV2.clearCache()},onLoad:(e,t)=>{Object.keys(t).forEach(r=>{[...t[r]].reverse().forEach(t=>{this._conditionalFormattingRuleModel.addRule(e,r,t)})})}}))}_initSheetChange(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>{if(e.id===Hxe.id){let t=e.params,r=W_e(this._univerInstanceService,t);if(!r)return{redos:[],undos:[]};let{unitId:n,subUnitId:i}=r,a=this._conditionalFormattingRuleModel.getSubunitRules(n,i);if(!a)return{redos:[],undos:[]};let o=[],s=[];return a.forEach(e=>{let t={unitId:n,subUnitId:i,cfId:e.cfId};o.push({id:r3e.id,params:t}),s.push(...t3e(this._injector,t))}),{redos:o,undos:s}}if(e.id===Mxe.id){let t=e.params,r=W_e(this._univerInstanceService,t);if(!r)return{redos:[],undos:[]};let{unitId:n,subUnitId:i}=r,{targetSubUnitId:a}=t,o=this._conditionalFormattingRuleModel.getSubunitRules(n,i);if(!o)return{redos:[],undos:[]};let s=[],l=[];return o.forEach(e=>{let t={unitId:n,subUnitId:a,rule:{...e,cfId:this._conditionalFormattingRuleModel.createCfId(n,a)}};s.push({id:i3e.id,params:t}),l.push(n3e(this._injector,t))}),{redos:s,undos:l}}return{redos:[],undos:[]}}}))}_initCellChange(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{let t=(e,t,r)=>{let n=new Set;return r.forEach(([r,i])=>{let a=this._conditionalFormattingViewModelV2.getCellCfs(e,t,r,i);null==a||a.forEach(e=>n.add(e.cfId))}),[...n].map(r=>this._conditionalFormattingRuleModel.getRule(e,t,r)).filter(e=>!!e)};switch(e.id){case Kwe.id:{let{subUnitId:r,unitId:n,cellValue:i}=e.params,a=[];new kd(i).forValue((e,t,r)=>{r&&Object.keys(r).some(e=>["p","v"].includes(e))&&a.push([e,t])}),t(n,r,a).forEach(e=>{this._conditionalFormattingViewModelV2.markRuleDirty(n,r,e.cfId)});break}case wwe.id:case Rwe.id:{let t=e.params,r=W_e(this._univerInstanceService,t);if(!r)return;let{worksheet:n,unitId:i,subUnitId:a}=r,{range:o}=t,s={...o,endColumn:n.getColumnCount()-1},l=this._conditionalFormattingRuleModel.getSubunitRules(i,a);l&&l.filter(e=>e.ranges.some(e=>Oh.intersects(e,s))).forEach(e=>{this._conditionalFormattingViewModelV2.markRuleDirty(i,a,e.cfId)});break}case Iwe.id:case ywe.id:{let t=e.params,r=W_e(this._univerInstanceService,t);if(!r)return;let{worksheet:n,unitId:i,subUnitId:a}=r,{range:o}=t,s={...o,endRow:n.getRowCount()-1},l=this._conditionalFormattingRuleModel.getSubunitRules(i,a);l&&l.filter(e=>e.ranges.some(e=>Oh.intersects(e,s))).forEach(e=>{this._conditionalFormattingViewModelV2.markRuleDirty(i,a,e.cfId)});break}case Swe.id:{let t=e.params,r=W_e(this._univerInstanceService,t);if(!r)return;let{worksheet:n,unitId:i,subUnitId:a}=r,{sourceRange:o,targetRange:s}=t,l={startRow:Math.min(o.startRow,s.startRow),endRow:n.getRowCount()-1,startColumn:0,endColumn:n.getColumnCount()-1},u=this._conditionalFormattingRuleModel.getSubunitRules(i,a);u&&u.filter(e=>e.ranges.some(e=>Oh.intersects(e,l))).forEach(e=>{this._conditionalFormattingViewModelV2.markRuleDirty(i,a,e.cfId)});break}case Awe.id:{let t=e.params,r=W_e(this._univerInstanceService,t);if(!r)return;let{worksheet:n,unitId:i,subUnitId:a}=r,{sourceRange:o,targetRange:s}=t,l={startRow:0,endRow:n.getRowCount()-1,startColumn:Math.min(o.startColumn,s.startColumn),endColumn:n.getColumnCount()-1},u=this._conditionalFormattingRuleModel.getSubunitRules(i,a);u&&u.filter(e=>e.ranges.some(e=>Oh.intersects(e,l))).forEach(e=>{this._conditionalFormattingViewModelV2.markRuleDirty(i,a,e.cfId)});break}case Ewe.id:{let{unitId:r,to:n,from:i}=e.params,a=e=>{let n=[];new kd(e.value).forValue((e,t)=>{n.push([e,t])}),t(r,e.subUnitId,n).forEach(t=>{this._conditionalFormattingViewModelV2.markRuleDirty(r,e.subUnitId,t.cfId)})};a(n),a(i);break}case Mwe.id:{let{range:t,unitId:r,subUnitId:n}=e.params,i=this._conditionalFormattingRuleModel.getSubunitRules(r,n);i&&i.filter(e=>e.ranges.some(e=>Oh.intersects(e,t))).forEach(e=>{this._conditionalFormattingViewModelV2.markRuleDirty(r,n,e.cfId)});break}}}))}};$3e=f3e([m3e(0,Y(J2e)),m3e(1,Y(he)),m3e(2,Y(dg)),m3e(3,Y(hf)),m3e(4,Y(iwe)),m3e(5,Y(Vc))],$3e);let J3e=class extends Rg{constructor(e=K3e,t,r,n){super(),this._config=e,this._injector=t,this._commandService=r,this._configService=n;let{...i}=hr({},K3e,this._config);this._configService.setConfig(Z3e,i),[[$3e],[g3e],[J2e],[I3e]].forEach(e=>{this._injector.add(e)}),[a3e,l3e,u3e,c3e,d3e,h3e,i3e,r3e,o3e,e3e].forEach(e=>{this._commandService.registerCommand(e)})}onStarting(){this._injector.get($3e),Ol(this._injector,[[$3e],[I3e]])}};function e6e(e){if("object"!=typeof e||!e)return e;let t={};for(let r in e)if(e.hasOwnProperty(r)){let n=e6e(e[r]);void 0!==n&&(t[r]=n)}return t}$2e(J3e,"pluginName",B2e),$2e(J3e,"packageName","@univerjs/sheets-conditional-formatting"),$2e(J3e,"version","0.19.0"),$2e(J3e,"type",Pi.UNIVER_SHEET),J3e=f3e([Tg(m_e),m3e(1,Y(he)),m3e(2,Y(Vc)),m3e(3,Tc)],J3e),dj.add(class extends Ej{constructor(){super(),$2e(this,"_paddingRightAndLeft",2),$2e(this,"_width",15),$2e(this,"_imageMap",new Map),$2e(this,"uKey","sheet-conditional-rule-icon"),$2e(this,"Z_INDEX",35),$2e(this,"_radius",1),this._init()}draw(e,t,r,n){let{worksheet:i}=r;if(!i)return!1;let a=new Set;e.save(),Sh.foreach(r.rowColumnSegment,(t,o)=>{if(!i.getRowVisible(t)||!i.getColVisible(o))return;let s=r.getCellWithCoordByIndex(t,o,!1),{isMerged:l,isMergedMainCell:u,mergeInfo:c}=s,d=i.getCell(t,o);if(l&&(d=i.getCell(c.startRow,c.startColumn)),null==d||!d.iconSet)return;let{iconType:h,iconId:m}=d.iconSet;if("EMPTY_ICON_TYPE"===h)return;let f=this._imageMap.get(this._createKey(h,m));if(!f||!this.isRenderDiffRangesByCell(c,n))return;if(l||u){let e=(e=>{let{startRow:t,endRow:r,startColumn:n,endColumn:i}=e;return`${t}-${r}-${n}-${i}`})(c);if(a.has(e))return;a.add(e)}let{startX:g,endX:p,startY:v,endY:b}=l||u?c:s,C=p-g,y=b-v;if(this._width>y||this._width>C+2*this._paddingRightAndLeft)return;let _=(y-this._width)/2+v;e.drawImage(f,g+this._paddingRightAndLeft,_,this._width,this._width)}),e.restore()}_init(){for(let e in Y3e)Y3e[e].forEach((t,r)=>{let n=this._createKey(e,String(r)),i=new Image;i.onload=()=>{this._imageMap.set(n,i)},i.src=t})}_createKey(e,t){return`${e}_${t}`}});const t6e={type:Bc.COMMAND,id:"sheet.command.add-average-conditional-rule",handler(e,t){if(!t)return!1;let{ranges:r,style:n,stopIfTrue:i,operator:a}=t,o=e.get(J2e),s=e.get(Vc),l=W_e(e.get(dg));if(!l)return!1;let{unitId:u,subUnitId:c}=l,d={ranges:r,cfId:o.createCfId(u,c),stopIfTrue:!!i,rule:{type:H2e.highlightCell,subType:W2e.average,operator:a,style:n}};return s.executeCommand(i3e.id,{unitId:u,subUnitId:c,rule:d})}},r6e={type:Bc.COMMAND,id:"sheet.command.add-color-scale-conditional-rule",handler(e,t){if(!t)return!1;let{ranges:r,config:n,stopIfTrue:i}=t,a=e.get(J2e),o=e.get(Vc),s=W_e(e.get(dg));if(!s)return!1;let{unitId:l,subUnitId:u}=s,c={ranges:r,cfId:a.createCfId(l,u),stopIfTrue:!!i,rule:{type:H2e.colorScale,config:n}};return o.executeCommand(i3e.id,{unitId:l,subUnitId:u,rule:c})}},n6e={type:Bc.COMMAND,id:"sheet.command.add-data-bar-conditional-rule",handler(e,t){if(!t)return!1;let{ranges:r,min:n,max:i,nativeColor:a,positiveColor:o,isGradient:s,stopIfTrue:l,isShowValue:u}=t,c=e.get(J2e),d=W_e(e.get(dg));if(!d)return!1;let{unitId:h,subUnitId:m}=d,f=e.get(Vc),g={ranges:r,cfId:c.createCfId(h,m),stopIfTrue:!!l,rule:{type:H2e.dataBar,isShowValue:u,config:{min:n,max:i,nativeColor:a,positiveColor:o,isGradient:s}}};return f.executeCommand(i3e.id,{unitId:h,subUnitId:m,rule:g})}},i6e={type:Bc.COMMAND,id:"sheet.command.add-duplicate-values-conditional-rule",handler(e,t){if(!t)return!1;let{ranges:r,style:n,stopIfTrue:i}=t,a=e.get(J2e),o=e.get(Vc),s=W_e(e.get(dg));if(!s)return!1;let{unitId:l,subUnitId:u}=s,c={ranges:r,cfId:a.createCfId(l,u),stopIfTrue:!!i,rule:{type:H2e.highlightCell,subType:W2e.duplicateValues,style:n}};return o.executeCommand(i3e.id,{unitId:l,subUnitId:u,rule:c})}},a6e={type:Bc.COMMAND,id:"sheet.command.add-number-conditional-rule",handler(e,t){if(!t)return!1;let{ranges:r,style:n,stopIfTrue:i,operator:a,value:o}=t,s=e.get(J2e),l=e.get(Vc),u=W_e(e.get(dg));if(!u)return!1;let c,{unitId:d,subUnitId:h}=u,m=s.createCfId(d,h);if([j2e.between,j2e.notBetween].includes(a)){let e=o;if(2!==e.length||!Array.isArray(e))return!1;c={ranges:r,cfId:m,stopIfTrue:!!i,rule:{type:H2e.highlightCell,subType:W2e.number,operator:a,style:n,value:e}}}else{let e=o;if("number"!=typeof e)return!1;c={ranges:r,cfId:m,stopIfTrue:!!i,rule:{type:H2e.highlightCell,subType:W2e.number,operator:a,style:n,value:e}}}return l.executeCommand(i3e.id,{unitId:d,subUnitId:h,rule:c})}},o6e={type:Bc.COMMAND,id:"sheet.command.add-rank-conditional-rule",handler(e,t){if(!t)return!1;let{ranges:r,style:n,stopIfTrue:i,isPercent:a,isBottom:o,value:s}=t,l=e.get(J2e),u=e.get(dg),c=e.get(Vc),d=W_e(u);if(!d)return!1;let{unitId:h,subUnitId:m}=d,f={ranges:r,cfId:l.createCfId(h,m),stopIfTrue:!!i,rule:{type:H2e.highlightCell,subType:W2e.rank,isPercent:a,isBottom:o,style:n,value:s}};return c.executeCommand(i3e.id,{unitId:h,subUnitId:m,rule:f})}},s6e={type:Bc.COMMAND,id:"sheet.command.add-text-conditional-rule",handler(e,t){if(!t)return!1;let{ranges:r,style:n,stopIfTrue:i,operator:a,value:o}=t,s=e.get(J2e),l=W_e(e.get(dg));if(!l)return!1;let{unitId:u,subUnitId:c}=l,d=e.get(Vc),h={ranges:r,cfId:s.createCfId(u,c),stopIfTrue:!!i,rule:{type:H2e.highlightCell,subType:W2e.text,operator:a,style:n,value:o}};return d.executeCommand(i3e.id,{unitId:u,subUnitId:c,rule:h})}},l6e={type:Bc.COMMAND,id:"sheet.command.add-time-period-conditional-rule",handler(e,t){if(!t)return!1;let{ranges:r,style:n,stopIfTrue:i,operator:a}=t,o=e.get(J2e),s=e.get(dg),l=e.get(Vc),u=W_e(s);if(!u)return!1;let{unitId:c,subUnitId:d}=u,h={ranges:r,cfId:o.createCfId(c,d),stopIfTrue:!!i,rule:{type:H2e.highlightCell,subType:W2e.timePeriod,operator:a,style:n}};return l.executeCommand(i3e.id,{unitId:c,subUnitId:d,rule:h})}},u6e={type:Bc.COMMAND,id:"sheet.command.add-uniqueValues-conditional-rule",handler(e,t){if(!t)return!1;let{ranges:r,style:n,stopIfTrue:i}=t,a=e.get(J2e),o=e.get(dg),s=e.get(Vc),l=W_e(o);if(!l)return!1;let{unitId:u,subUnitId:c}=l,d={ranges:r,cfId:a.createCfId(u,c),stopIfTrue:!!i,rule:{type:H2e.highlightCell,subType:W2e.uniqueValues,style:n}};return s.executeCommand(i3e.id,{unitId:u,subUnitId:c,rule:d})}},c6e=e=>{let{color:t,onChange:r,disable:n=!1,Icon:i=EQ,className:a}=e,o=(0,_q.useMemo)(()=>new $c(t),[t]),s=()=>(0,$Z.jsx)(i,{className:x7("univer-fill-primary-600",n&&a),extend:{colorChannel1:o.isValid?t:""}});return n?s():(0,$Z.jsx)(x9,{overlay:(0,$Z.jsx)("div",{className:"univer-rounded-lg univer-p-4",children:(0,$Z.jsx)(w9,{value:t,onChange:r})}),children:(0,$Z.jsx)("span",{className:x7("univer-flex univer-cursor-pointer univer-items-center univer-rounded univer-p-1 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",a),children:s()})})},d6e=e=>{let t=e.rule;if(!t)return null;let r=(0,_q.useMemo)(()=>{if(t.type===H2e.colorScale){let e=t.config.map((e,t)=>({color:new $c(e.color),value:t})),r=e.length-1;return[,,,,,].fill("").map((e,t,n)=>t*r/(n.length-1)).map(t=>P3e(e,t))}return null},[t]),n=(0,_q.useMemo)(()=>{if(t.type===H2e.iconSet)return t.config.map(e=>{let t=Y3e[e.iconType];return t&&t[Number(e.iconId)]})},[t]),i="univer-pointer-events-none univer-flex univer-h-5 univer-min-w-[72px] univer-items-center univer-justify-center univer-text-xs";switch(t.type){case H2e.dataBar:{var a,o;let{isGradient:e}=t.config,r=e?`linear-gradient(to right, ${t.config.positiveColor||C3e}, rgb(255 255 255))`:t.config.positiveColor;return(0,$Z.jsxs)("div",{className:i,children:[(0,$Z.jsx)("div",{className:"univer-h-full univer-w-1/2 univer-border univer-border-solid",style:{background:e?`linear-gradient(to right, rgb(255 255 255),${t.config.nativeColor||y3e})`:t.config.nativeColor,borderColor:null==(a=t.config.nativeColor)?y3e:a}}),(0,$Z.jsx)("div",{className:"univer-h-full univer-w-1/2 univer-border univer-border-solid",style:{background:r,borderColor:null==(o=t.config.positiveColor)?C3e:o}})]})}case H2e.colorScale:return r&&(0,$Z.jsx)("div",{className:i,children:r.map((e,t)=>(0,$Z.jsx)("div",{className:"univer-h-full",style:{width:100/r.length+"%",background:e}},t))});case H2e.iconSet:return n&&(0,$Z.jsx)("div",{className:i,children:n.map((e,t)=>e?(0,$Z.jsx)("img",{className:"univer-h-full",src:e,draggable:!1},t):(0,$Z.jsx)(nZ,{},t))});case H2e.highlightCell:{var s,l,u;let{ul:e,st:r,it:n,bl:a,bg:o,cl:c}=t.style,d=(null==e?void 0:e.s)===Vu.TRUE,h=(null==r?void 0:r.s)===Vu.TRUE,m=n===Vu.TRUE,f=a===Vu.TRUE,g=null==(s=null==o?void 0:o.rgb)?"#fff":s,p=null==(l=null==c?void 0:c.rgb)?"#000000":l,v={textDecoration:null==(u=`${d?"underline":""} ${h?"line-through":""}`.replace(/^ /,""))?void 0:u,backgroundColor:g,color:p};return(0,$Z.jsx)("div",{className:x7(i,{"univer-font-bold":f,"univer-italic":m}),style:v,children:"123"})}}},h6e=x7("univer-mt-5 univer-px-1 univer-py-2 univer-rounded",V7),m6e=(e,t)=>({label:t.t(`sheet.cf.valueType.${e}`),value:e}),f6e=e=>{var t;let{type:r,className:n,onChange:i,id:a,value:o}=e,s=iK(dg),l=s.getCurrentUnitForType(Pi.UNIVER_SHEET).getUnitId(),u=null==(t=s.getCurrentUnitForType(Pi.UNIVER_SHEET).getActiveSheet())?void 0:t.getSheetId(),c=(0,_q.useMemo)(()=>String(o).startsWith("=")?String(o):"=",[o]),d=(0,_q.useMemo)(()=>[z2e.max,z2e.min,"none"].includes(r)?{disabled:!0}:[z2e.percent,z2e.percentile].includes(r)?{min:0,max:100}:{min:-(2**53-1),max:2**53-1},[r]),h=(0,_q.useRef)(null),[m,f]=(0,_q.useState)(!1);return Cre(e=>{var t;null!=(t=h.current)&&t.isClickOutSide(e)&&f(!1)}),r===z2e.formula?(0,$Z.jsx)("div",{className:"univer-ml-1 univer-w-full",children:(0,$Z.jsx)(gze,{ref:h,className:x7("univer-box-border univer-h-8 univer-w-full univer-cursor-pointer univer-items-center univer-rounded-lg univer-bg-white univer-pt-2 univer-transition-colors hover:univer-border-primary-600 dark:!univer-bg-gray-700 dark:!univer-text-white [&>div:first-child]:univer-px-2.5 [&>div]:univer-h-5 [&>div]:univer-ring-transparent",V7),initValue:c,unitId:l,subUnitId:u,isFocus:m,onChange:(e="")=>{i(e||"")},onFocus:()=>f(!0)})}):(0,$Z.jsx)(K9,{className:n,value:Number(e.value)||0,onChange:t=>e.onChange(t||0),...d})},g6e=e=>{var t;let{interceptorManager:r}=e,n=iK(Cg),i=(null==(t=e.rule)?void 0:t.type)===H2e.colorScale?e.rule:void 0,a=[m6e(z2e.num,n),m6e(z2e.percent,n),m6e(z2e.percentile,n),m6e(z2e.formula,n)],o=[m6e(z2e.min,n),...a],s=[m6e("none",n),...a],l=[m6e(z2e.max,n),...a],[u,c]=(0,_q.useState)(()=>{var e;let t=z2e.min;return i&&(null==(e=i.config[0])?void 0:e.value.type)||t}),[d,h]=(0,_q.useState)(()=>{var e;return i&&3===i.config.length&&(null==(e=i.config[1])?void 0:e.value.type)||"none"}),[m,f]=(0,_q.useState)(()=>{var e;let t=z2e.max;return i&&(null==(e=i.config[i.config.length-1])?void 0:e.value.type)||t}),[g,p]=(0,_q.useState)(()=>{if(!i)return 10;let e=i.config[0];return void 0===(null==e?void 0:e.value.value)?10:null==e?void 0:e.value.value}),[v,b]=(0,_q.useState)(()=>{var e;if(!i||3!==i.config.length)return 50;let t=null==(e=i.config[1])?void 0:e.value.value;return void 0===t?50:t}),[C,y]=(0,_q.useState)(()=>{var e;if(!i)return 90;let t=null==(e=i.config[i.config.length-1])?void 0:e.value.value;return void 0===t?90:t}),[_,w]=(0,_q.useState)(()=>{var e;return i&&(null==(e=i.config[0])?void 0:e.color)||"#d0d9fb"}),[E,S]=(0,_q.useState)(()=>{var e;return i&&3===i.config.length&&(null==(e=i.config[1])?void 0:e.color)||"#7790f3"}),[A,I]=(0,_q.useState)(()=>{var e;return i&&(null==(e=i.config[i.config.length-1])?void 0:e.color)||"#2e55ef"}),R=(0,_q.useMemo)(()=>e=>{let{minType:t,medianType:r,maxType:n,minValue:i,medianValue:a,maxValue:o,minColor:s,medianColor:l,maxColor:u}=e,c=[];return c.push({color:s,value:{type:t,value:i}}),"none"!==r&&c.push({color:l,value:{type:r,value:a}}),c.push({color:u,value:{type:n,value:o}}),{config:c.map((e,t)=>({...e,index:t})),type:H2e.colorScale}},[]);(0,_q.useEffect)(()=>r.intercept(r.getInterceptPoints().submit,{handler:()=>R({minType:u,medianType:d,maxType:m,minValue:g,medianValue:v,maxValue:C,minColor:_,medianColor:E,maxColor:A})}),[R,u,d,m,g,v,C,_,E,A,r]);let x=t=>{e.onChange(R(t))};return(0,$Z.jsxs)("div",{children:[(0,$Z.jsx)("div",{className:"univer-mt-4 univer-text-sm univer-text-gray-600 dark:!univer-text-gray-200",children:n.t("sheet.cf.panel.styleRule")}),(0,$Z.jsx)("div",{className:h6e,children:(0,$Z.jsx)(d6e,{rule:R({minType:u,medianType:d,maxType:m,minValue:g,medianValue:v,maxValue:C,minColor:_,medianColor:E,maxColor:A})})}),(0,$Z.jsx)("div",{className:"univer-mt-3 univer-text-xs univer-text-gray-600 dark:!univer-text-gray-200",children:n.t("sheet.cf.valueType.min")}),(0,$Z.jsxs)("div",{className:"univer-mt-3 univer-flex univer-h-8 univer-items-center",children:[(0,$Z.jsx)(_5,{className:"univer-flex-shrink-0",options:o,value:u,onChange:e=>{c(e);let t=G2e(e,10);p(t),x({minType:e,medianType:d,maxType:m,minValue:t,medianValue:v,maxValue:C,minColor:_,medianColor:E,maxColor:A})}}),(0,$Z.jsx)(f6e,{id:"min",className:"univer-ml-1",value:g,type:u,onChange:e=>{p(e),x({minType:u,medianType:d,maxType:m,minValue:e,medianValue:v,maxValue:C,minColor:_,medianColor:E,maxColor:A})}}),(0,$Z.jsx)(c6e,{className:"univer-ml-1",color:_,onChange:e=>{w(e),x({minType:u,medianType:d,maxType:m,minValue:g,medianValue:v,maxValue:C,minColor:e,medianColor:E,maxColor:A})}})]}),(0,$Z.jsx)("div",{className:"univer-text-gray-600dark:!univer-text-gray-200 univer-mt-3 univer-text-xs",children:n.t("sheet.cf.panel.medianValue")}),(0,$Z.jsxs)("div",{className:"univer-mt-3 univer-flex univer-h-8 univer-items-center",children:[(0,$Z.jsx)(_5,{className:"univer-flex-shrink-0",options:s,value:d,onChange:e=>{h(e);let t=G2e(e,50);b(t),x({minType:u,medianType:e,maxType:m,minValue:g,medianValue:t,maxValue:C,minColor:_,medianColor:E,maxColor:A})}}),(0,$Z.jsx)(f6e,{id:"median",className:"univer-ml-1",value:v,type:d,onChange:e=>{b(e),x({minType:u,medianType:d,maxType:m,minValue:g,medianValue:e,maxValue:C,minColor:_,medianColor:E,maxColor:A})}}),"none"!==d&&(0,$Z.jsx)(c6e,{className:"univer-ml-1",color:E,onChange:e=>{S(e),x({minType:u,medianType:d,maxType:m,minValue:g,medianValue:v,maxValue:C,minColor:_,medianColor:e,maxColor:A})}})]}),(0,$Z.jsx)("div",{className:"univer-mt-3 univer-text-xs univer-text-gray-600 dark:!univer-text-gray-200",children:n.t("sheet.cf.valueType.max")}),(0,$Z.jsxs)("div",{className:"univer-mt-3 univer-flex univer-h-8 univer-items-center",children:[(0,$Z.jsx)(_5,{className:"univer-flex-shrink-0",options:l,value:m,onChange:e=>{f(e);let t=G2e(e,90);y(t),x({minType:u,medianType:d,maxType:e,minValue:g,medianValue:v,maxValue:t,minColor:_,medianColor:E,maxColor:A})}}),(0,$Z.jsx)(f6e,{id:"max",className:"univer-ml-1",value:C,type:m,onChange:e=>{y(e),x({minType:u,medianType:d,maxType:m,minValue:g,medianValue:v,maxValue:e,minColor:_,medianColor:E,maxColor:A})}}),(0,$Z.jsx)(c6e,{className:"univer-ml-1",color:A,onChange:e=>{I(e),x({minType:u,medianType:d,maxType:m,minValue:g,medianValue:v,maxValue:C,minColor:_,medianColor:E,maxColor:e})}})]})]})},p6e=(e,t)=>({label:t.t(`sheet.cf.valueType.${e}`),value:e}),v6e=e=>{var t;let{onChange:r,className:n,value:i,type:a,id:o,disabled:s=!1}=e,l=iK(dg),u=l.getCurrentUnitOfType(Pi.UNIVER_SHEET).getUnitId(),c=null==(t=l.getCurrentUnitOfType(Pi.UNIVER_SHEET).getActiveSheet())?void 0:t.getSheetId(),d=(0,_q.useRef)(null),[h,m]=(0,_q.useState)(!1);Cre(e=>{var t;null!=(t=d.current)&&t.isClickOutSide(e)&&m(!1)});let f=(0,_q.useRef)(i),g=(0,_q.useMemo)(()=>[z2e.percentile,z2e.percent].includes(a)?{max:100,min:0}:{min:-(2**53-1),max:2**53-1},[a]);if(a===z2e.formula){let e=String(f.current).startsWith("=")?String(f.current)||"":"=";return(0,$Z.jsx)("div",{className:"univer-ml-3 univer-w-full",children:(0,$Z.jsx)(gze,{ref:d,className:x7("univer-box-border univer-h-8 univer-w-full univer-cursor-pointer univer-items-center univer-rounded-lg univer-bg-white univer-pt-2 univer-transition-colors hover:univer-border-primary-600 dark:!univer-bg-gray-700 dark:!univer-text-white [&>div:first-child]:univer-px-2.5 [&>div]:univer-h-5 [&>div]:univer-ring-transparent",V7),initValue:e,unitId:u,subUnitId:c,isFocus:h,onChange:(e="")=>{r(e||"")},onFocus:()=>m(!0)})})}return(0,$Z.jsx)(K9,{className:n,value:Number(i)||0,disabled:s,onChange:e=>{r(e||0)},...g})},b6e=e=>{var t;let{interceptorManager:r}=e,n=iK(Cg),i=(null==(t=e.rule)?void 0:t.type)===H2e.dataBar?e.rule:void 0,[a,o]=(0,_q.useState)(()=>{var e;return i&&null!=(e=i.config)&&e.isGradient?"1":"0"}),[s,l]=(0,_q.useState)(()=>{var e;return i&&(null==(e=i.config)?void 0:e.positiveColor)||C3e}),[u,c]=(0,_q.useState)(()=>{var e;return i&&(null==(e=i.config)?void 0:e.nativeColor)||y3e}),d=[p6e(z2e.num,n),p6e(z2e.percent,n),p6e(z2e.percentile,n),p6e(z2e.formula,n)],h=[p6e(z2e.min,n),...d],m=[p6e(z2e.max,n),...d],[f,g]=(0,_q.useState)(()=>{var e;let t=h[0].value;return i&&(null==(e=i.config)?void 0:e.min.type)||t}),[p,v]=(0,_q.useState)(()=>{var e;let t=m[0].value;return i&&(null==(e=i.config)?void 0:e.max.type)||t}),[b,C]=(0,_q.useState)(()=>{var e;if(!i)return 0;let t=(null==(e=i.config)?void 0:e.min)||{};return t.type===z2e.formula?t.value||"=":t.value||0}),[y,_]=(0,_q.useState)(()=>{var e;if(!i)return 100;let t=(null==(e=i.config)?void 0:e.max)||{};return t.type===z2e.formula?t.value||"=":void 0===t.value?100:t.value}),[w,E]=(0,_q.useState)(()=>!i||void 0===i.isShowValue||!!i.isShowValue),S=e=>({config:{min:{type:e.minValueType,value:e.minValue},max:{type:e.maxValueType,value:e.maxValue},isGradient:"1"===e.isGradient,positiveColor:e.positiveColor||C3e,nativeColor:e.nativeColor||y3e},type:H2e.dataBar,isShowValue:e.isShowValue});(0,_q.useEffect)(()=>r.intercept(r.getInterceptPoints().submit,{handler:()=>S({isGradient:a,minValue:b,minValueType:f,maxValue:y,maxValueType:p,positiveColor:s,nativeColor:u,isShowValue:w})}),[a,b,f,y,p,s,u,r,w]);let A=t=>{e.onChange(S(t))},I=e=>d.map(e=>e.value).includes(e);return(0,$Z.jsxs)("div",{children:[(0,$Z.jsx)("div",{className:"univer-mt-4 univer-text-sm univer-text-gray-600 dark:!univer-text-gray-200",children:n.t("sheet.cf.panel.styleRule")}),(0,$Z.jsx)("div",{className:h6e,children:(0,$Z.jsx)(d6e,{rule:S({isGradient:a,minValue:b,minValueType:f,maxValue:y,maxValueType:p,positiveColor:s,nativeColor:u,isShowValue:w})})}),(0,$Z.jsxs)("div",{children:[(0,$Z.jsx)("div",{className:"univer-mt-3 univer-text-sm univer-text-gray-600 dark:!univer-text-gray-200",children:n.t("sheet.cf.panel.fillType")}),(0,$Z.jsxs)("div",{className:"univer-ml-1 univer-mt-3 univer-flex univer-items-center",children:[(0,$Z.jsxs)(v5,{value:a,onChange:e=>{o(e),A({isGradient:e,minValue:b,minValueType:f,maxValue:y,maxValueType:p,positiveColor:s,nativeColor:u,isShowValue:w})},children:[(0,$Z.jsx)(b5,{value:"0",children:(0,$Z.jsx)("span",{className:"univer-text-xs",children:n.t("sheet.cf.panel.pureColor")})}),(0,$Z.jsx)(b5,{value:"1",children:(0,$Z.jsx)("span",{className:"univer-text-xs",children:n.t("sheet.cf.panel.gradient")})})]}),(0,$Z.jsxs)("div",{className:"univer-ml-6 univer-flex univer-items-center univer-text-xs",children:[(0,$Z.jsx)($7,{checked:!w,onChange:e=>{E(!e),A({isGradient:e,minValue:b,minValueType:f,maxValue:y,maxValueType:p,positiveColor:s,nativeColor:u,isShowValue:!e})}}),n.t("sheet.cf.panel.onlyShowDataBar")]})]})]}),(0,$Z.jsxs)("div",{children:[(0,$Z.jsx)("div",{className:"univer-mt-3 univer-text-sm univer-text-gray-600 dark:!univer-text-gray-200",children:n.t("sheet.cf.panel.colorSet")}),(0,$Z.jsxs)("div",{className:"univer-ml-1 univer-mt-3 univer-flex univer-items-center",children:[(0,$Z.jsxs)("div",{className:"univer-flex univer-items-center",children:[(0,$Z.jsx)("div",{className:"univer-text-xs",children:n.t("sheet.cf.panel.native")}),(0,$Z.jsx)(c6e,{color:u,onChange:e=>{c(e),A({isGradient:a,minValue:b,minValueType:f,maxValue:y,maxValueType:p,positiveColor:s,nativeColor:e,isShowValue:w})}})]}),(0,$Z.jsxs)("div",{className:"univer-ml-3 univer-flex univer-items-center",children:[(0,$Z.jsx)("div",{className:"univer-text-xs",children:n.t("sheet.cf.panel.positive")}),(0,$Z.jsx)(c6e,{color:s,onChange:e=>{l(e),A({isGradient:a,minValue:b,minValueType:f,maxValue:y,maxValueType:p,positiveColor:e,nativeColor:u,isShowValue:w})}})]})]})]}),(0,$Z.jsxs)("div",{children:[(0,$Z.jsx)("div",{className:"univer-mt-3 univer-text-sm univer-text-gray-600 dark:!univer-text-gray-200",children:n.t("sheet.cf.valueType.min")}),(0,$Z.jsxs)("div",{className:"univer-mt-3 univer-flex univer-items-center",children:[(0,$Z.jsx)(_5,{className:"univer-w-1/2 univer-flex-shrink-0",options:h,value:f,onChange:e=>{g(e);let t=G2e(e,10);C(t),A({isGradient:a,minValue:t,minValueType:e,maxValue:y,maxValueType:p,positiveColor:s,nativeColor:u,isShowValue:w})}}),(0,$Z.jsx)(v6e,{id:"min",className:"univer-ml-3",disabled:!I(f),type:f,value:b,onChange:e=>{C(e||0),A({isGradient:a,minValue:e||0,minValueType:f,maxValue:y,maxValueType:p,positiveColor:s,nativeColor:u,isShowValue:w})}})]}),(0,$Z.jsx)("div",{className:"univer-mt-3 univer-text-sm univer-text-gray-600 dark:!univer-text-gray-200",children:n.t("sheet.cf.valueType.max")}),(0,$Z.jsxs)("div",{className:"univer-mt-3 univer-flex univer-items-center",children:[(0,$Z.jsx)(_5,{className:"univer-w-1/2 univer-flex-shrink-0",options:m,value:p,onChange:e=>{v(e);let t=G2e(e,90);_(t),A({isGradient:a,minValue:b,minValueType:f,maxValue:t,maxValueType:e,positiveColor:s,nativeColor:u,isShowValue:w})}}),(0,$Z.jsx)(v6e,{className:"univer-ml-3",disabled:!I(p),id:"max",type:p,value:y,onChange:e=>{_(e||0),A({isGradient:a,minValue:b,minValueType:f,maxValue:e||0,maxValueType:p,positiveColor:s,nativeColor:u,isShowValue:w})}})]})]})]})},C6e=e=>[Vu.FALSE,void 0].includes(e)?Vu.TRUE:Vu.FALSE,y6e=e=>e!==Vu.FALSE,_6e=e=>{let{style:t,onChange:r,className:n}=e,[i,a]=(0,_q.useState)(()=>{if(null!=t&&t.bl)return t.bl}),[o,s]=(0,_q.useState)(()=>{if(null!=t&&t.it)return t.it}),[l,u]=(0,_q.useState)(()=>{if(null!=t&&t.ul)return t.ul.s}),[c,d]=(0,_q.useState)(()=>{if(null!=t&&t.st)return t.st.s}),[h,m]=(0,_q.useState)(()=>{var e;return null!=t&&null!=(e=t.cl)&&e.rgb?t.cl.rgb:"#2f56ef"}),[f,g]=(0,_q.useState)(()=>{var e;return null!=t&&null!=(e=t.bg)&&e.rgb?t.bg.rgb:"#e8ecfc"});(0,_q.useEffect)(()=>{let e={bl:i,it:o};void 0!==h&&(e.cl={rgb:h}),void 0!==f&&(e.bg={rgb:f}),void 0!==c&&(e.st={s:c}),void 0!==l&&(e.ul={s:l}),r(e6e(e))},[i,o,l,c,h,f]);let p="univer-flex univer-cursor-pointer univer-items-center univer-rounded univer-px-1";return(0,$Z.jsxs)("div",{className:x7("univer-my-2.5 univer-flex univer-justify-between",n),children:[(0,$Z.jsx)("div",{className:x7(p,{"univer-bg-gray-100 dark:!univer-bg-gray-700":y6e(i||Vu.FALSE)}),onClick:()=>a(C6e(i)),children:(0,$Z.jsx)(nG,{})}),(0,$Z.jsx)("div",{className:x7(p,{"univer-bg-gray-100 dark:!univer-bg-gray-700":y6e(o||Vu.FALSE)}),onClick:()=>s(C6e(o)),children:(0,$Z.jsx)(UY,{})}),(0,$Z.jsx)("div",{className:x7(p,{"univer-bg-gray-100 dark:!univer-bg-gray-700":y6e(l||Vu.FALSE)}),onClick:()=>u(C6e(l)),children:(0,$Z.jsx)(gZ,{})}),(0,$Z.jsx)("div",{className:x7(p,{"univer-bg-gray-100 dark:!univer-bg-gray-700":y6e(c||Vu.FALSE)}),onClick:()=>d(C6e(c)),children:(0,$Z.jsx)(aZ,{})}),(0,$Z.jsx)(c6e,{color:h,onChange:m,Icon:KG}),(0,$Z.jsx)(c6e,{color:f,onChange:g})]})},w6e=e=>{var t;let{onChange:r,interceptorManager:n}=e,i=iK(Cg),a=iK(dg).getCurrentUnitForType(Pi.UNIVER_SHEET),o=a.getActiveSheet(),s=(null==(t=e.rule)?void 0:t.type)===H2e.highlightCell?e.rule:void 0,l=(0,_q.useRef)(null),[u,c]=(0,_q.useState)(!1),d=(0,_q.useRef)(null),[h,m]=(0,_q.useState)({}),[f,g]=(0,_q.useState)(()=>(null==s?void 0:s.subType)===W2e.formula?s.value:"="),[p,v]=(0,_q.useState)(void 0),b=e=>({style:e.style,value:f,type:H2e.highlightCell,subType:W2e.formula});(0,_q.useEffect)(()=>n.intercept(n.getInterceptPoints().submit,{handler:()=>b({style:h,formula:f})}),[h,f,n]),(0,_q.useEffect)(()=>n.intercept(n.getInterceptPoints().beforeSubmit,{handler:(e,t,r)=>p||1===f.length||!f.startsWith("=")?(v(i.t("sheet.cf.errorMessage.formulaError")),!1):r(e)}),[p,f]);let C=e=>{r(b(e))};return Cre(e=>{var t;null!=(t=d.current)&&t.isClickOutSide(e)&&c(!1)}),(0,$Z.jsxs)("div",{ref:l,children:[(0,$Z.jsx)("div",{className:"univer-mt-4 univer-text-sm univer-text-gray-600 dark:!univer-text-gray-200",children:i.t("sheet.cf.panel.styleRule")}),(0,$Z.jsx)("div",{className:"univer-mt-3",children:(0,$Z.jsx)(gze,{ref:d,className:x7("univer-box-border univer-h-8 univer-w-full univer-cursor-pointer univer-items-center univer-rounded-lg univer-bg-white univer-pt-2 univer-transition-colors hover:univer-border-primary-600 dark:!univer-bg-gray-700 dark:!univer-text-white [&>div:first-child]:univer-px-2.5 [&>div]:univer-h-5 [&>div]:univer-ring-transparent",V7),errorText:p,isFocus:u,initValue:f,unitId:a.getUnitId(),subUnitId:null==o?void 0:o.getSheetId(),onFocus:()=>{c(!0)},onChange:e=>{g(e),C({style:h,formula:e})},onVerify:(e,t)=>{e&&1!==t.length?v(void 0):v(i.t("sheet.cf.errorMessage.formulaError"))}})}),(0,$Z.jsx)("div",{className:h6e,children:(0,$Z.jsx)(d6e,{rule:b({style:h,formula:f})})}),(0,$Z.jsx)(_6e,{style:null==s?void 0:s.style,className:"univer-mt-3",onChange:e=>{m(e),C({style:e,formula:f})}})]})},E6e=e=>(0,$Z.jsxs)("div",{className:"univer-relative",children:[(0,$Z.jsx)("div",{className:"univer-absolute univer-bottom-[-13px] univer-z-[999] univer-text-[10px] univer-text-red-500",children:e.errorText}),e.children]}),S6e=(e,t)=>({label:t.t(`sheet.cf.operator.${e}`),value:e}),A6e=e=>{let{type:t,operator:r,onChange:n,value:i,interceptorManager:a}=e,o=iK(Cg),[s,l]=(0,_q.useState)(()=>"number"==typeof i?i:0),[u,c]=(0,_q.useState)(""),[d,h]=(0,_q.useState)(()=>"string"==typeof i?i:""),[m,f]=(0,_q.useState)(""),[g,p]=(0,_q.useState)(()=>Array.isArray(i)?void 0===i[0]?0:i[0]:0),[v,b]=(0,_q.useState)(""),[C,y]=(0,_q.useState)(()=>Array.isArray(i)?void 0===i[1]?100:i[1]:100),[_,w]=(0,_q.useState)("");switch((0,_q.useEffect)(()=>{switch(t){case W2e.text:[V2e.beginsWith,V2e.endsWith,V2e.containsText,V2e.notContainsText,V2e.equal,V2e.notEqual].includes(r)&&n(d);break;case W2e.number:[j2e.equal,j2e.notEqual,j2e.greaterThan,j2e.greaterThanOrEqual,j2e.lessThan,j2e.lessThanOrEqual].includes(r)&&n(s),[j2e.between,j2e.notBetween].includes(r)&&n([g,C])}},[t]),(0,_q.useEffect)(()=>{let e=a.intercept(a.getInterceptPoints().beforeSubmit,{handler:(e,n,i)=>t===W2e.text&&[V2e.beginsWith,V2e.containsText,V2e.endsWith,V2e.notEqual,V2e.notContainsText,V2e.equal].includes(r)?d?i(e):(f(o.t("sheet.cf.errorMessage.notBlank")),!1):i(e)});return()=>{e()}},[t,s,d,r]),t){case W2e.text:if([V2e.beginsWith,V2e.endsWith,V2e.containsText,V2e.notContainsText,V2e.equal,V2e.notEqual].includes(r)){let e=e=>{h(e),n(e)};return(0,$Z.jsx)("div",{className:"univer-mt-3",children:(0,$Z.jsx)(E6e,{errorText:m,children:(0,$Z.jsx)(Z9,{value:d,onChange:t=>{f(""),e(t)}})})})}break;case W2e.number:if([j2e.equal,j2e.notEqual,j2e.greaterThan,j2e.greaterThanOrEqual,j2e.lessThan,j2e.lessThanOrEqual].includes(r))return(0,$Z.jsx)("div",{className:"univer-mt-3",children:(0,$Z.jsx)(E6e,{errorText:u,children:(0,$Z.jsx)(K9,{className:"univer-w-full",min:-(2**53-1),max:2**53-1,value:s,onChange:e=>{l(e||0),n(e||0),c("")}})})});if([j2e.between,j2e.notBetween].includes(r))return(0,$Z.jsxs)("div",{className:"univer-mt-3 univer-flex univer-items-center",children:[(0,$Z.jsx)(E6e,{errorText:v,children:(0,$Z.jsx)(K9,{min:-(2**53-1),max:2**53-1,value:g,onChange:e=>{p(e||0),n([e||0,C]),b("")}})}),(0,$Z.jsx)(E6e,{errorText:_,children:(0,$Z.jsx)(K9,{className:"univer-ml-3",min:-(2**53-1),max:2**53-1,value:C,onChange:e=>{y(e||0),n([g,e||0]),w("")}})})]})}return null},I6e=(e,t)=>{switch(e){case W2e.text:return[S6e(V2e.containsText,t),S6e(V2e.notContainsText,t),S6e(V2e.beginsWith,t),S6e(V2e.endsWith,t),S6e(V2e.equal,t),S6e(V2e.notEqual,t),S6e(V2e.containsBlanks,t),S6e(V2e.notContainsBlanks,t),S6e(V2e.containsErrors,t),S6e(V2e.notContainsErrors,t)];case W2e.number:return[S6e(j2e.between,t),S6e(j2e.notBetween,t),S6e(j2e.equal,t),S6e(j2e.notEqual,t),S6e(j2e.greaterThan,t),S6e(j2e.greaterThanOrEqual,t),S6e(j2e.lessThan,t),S6e(j2e.lessThanOrEqual,t)];case W2e.timePeriod:return[S6e(F2e.yesterday,t),S6e(F2e.today,t),S6e(F2e.tomorrow,t),S6e(F2e.last7Days,t),S6e(F2e.lastWeek,t),S6e(F2e.thisWeek,t),S6e(F2e.nextWeek,t),S6e(F2e.lastMonth,t),S6e(F2e.thisMonth,t),S6e(F2e.nextMonth,t)]}},R6e=e=>{var t;let{interceptorManager:r,onChange:n}=e,i=iK(Cg),a=(null==(t=e.rule)?void 0:t.type)===H2e.highlightCell?e.rule:void 0,[o,s]=(0,_q.useState)(()=>{let e=W2e.text;return a&&a.subType||e}),l=[{value:W2e.text,label:i.t("sheet.cf.subRuleType.text")},{value:W2e.number,label:i.t("sheet.cf.subRuleType.number")},{value:W2e.timePeriod,label:i.t("sheet.cf.subRuleType.timePeriod")},{value:W2e.duplicateValues,label:i.t("sheet.cf.subRuleType.duplicateValues")},{value:W2e.uniqueValues,label:i.t("sheet.cf.subRuleType.uniqueValues")}],u=(0,_q.useMemo)(()=>I6e(o,i),[o]),[c,d]=(0,_q.useState)(()=>{let e=u?u[0].value:void 0;return a&&a.operator||e}),[h,m]=(0,_q.useState)(()=>{var e;return a?null==(e=a.value)?q2e(a.subType,a.operator):e:""}),[f,g]=(0,_q.useState)({}),p=(0,_q.useMemo)(()=>e=>{var t,r,n;switch(e.subType||o){case W2e.text:var i,a,s,l;if([V2e.beginsWith,V2e.endsWith,V2e.containsText,V2e.notContainsText,V2e.equal,V2e.notEqual].includes(c))return{type:H2e.highlightCell,subType:null==(i=e.subType)?o:i,operator:null==(a=e.operator)?c:a,style:null==(s=e.style)?f:s,value:null==(l=e.value)?h:l};break;case W2e.number:var u,d,m,g,p,v,b,C;if([j2e.equal,j2e.notEqual,j2e.greaterThan,j2e.greaterThanOrEqual,j2e.lessThan,j2e.lessThanOrEqual].includes(c))return{type:H2e.highlightCell,subType:null==(u=e.subType)?o:u,operator:null==(d=e.operator)?c:d,style:null==(m=e.style)?f:m,value:null==(g=e.value)?h:g};if([j2e.between,j2e.notBetween].includes(c))return{type:H2e.highlightCell,subType:null==(p=e.subType)?o:p,operator:null==(v=e.operator)?c:v,style:null==(b=e.style)?f:b,value:null==(C=e.value)?h:C}}return{type:H2e.highlightCell,subType:null==(t=e.subType)?o:t,operator:null==(r=e.operator)?c:r,style:null==(n=e.style)?f:n}},[o,c,h,f]);(0,_q.useEffect)(()=>r.intercept(r.getInterceptPoints().submit,{handler:()=>p({})}),[p,r]),(0,_q.useEffect)(()=>{l.some(e=>e.value===o)||s(l[0].value)},[l]);let v=(0,_q.useMemo)(()=>`${o}_${c}_${Math.random()}`,[o,c]);return(0,$Z.jsxs)("div",{children:[(0,$Z.jsx)("div",{className:"univer-mt-4 univer-text-sm univer-text-gray-600 dark:!univer-text-gray-200",children:i.t("sheet.cf.panel.styleRule")}),(0,$Z.jsxs)("div",{className:"univer-flex univer-justify-between univer-gap-4",children:[(0,$Z.jsx)(_5,{className:"univer-mt-3 univer-w-full",onChange:e=>{let t=e,r=I6e(t,i),a=r&&r[0].value;s(t),d(a),a&&m(q2e(t,a)),n(p({subType:t,operator:a}))},value:o,options:l}),(null==u?void 0:u.length)&&(0,$Z.jsx)(_5,{className:"univer-mt-3 univer-w-full",onChange:e=>{let t=e;d(t),n(p({operator:t}))},value:c||"",options:u})]}),(0,$Z.jsx)(A6e,{value:h,interceptorManager:r,type:o,operator:c,rule:a,onChange:e=>{m(e),n(p({value:e}))}},v),(0,$Z.jsx)("div",{className:h6e,children:(0,$Z.jsx)(d6e,{rule:p({})})}),(0,$Z.jsx)(_6e,{style:null==a?void 0:a.style,className:"univer-ml-1",onChange:e=>{g(e),n(p({style:e}))}})]})},x6e=(e,t)=>(Y3e[e]||[])[Number(t)]||"",T6e=e=>{var t;let{error:r,type:n,onChange:i}=e,a=iK(dg),o=a.getCurrentUnitForType(Pi.UNIVER_SHEET).getUnitId(),s=null==(t=a.getCurrentUnitForType(Pi.UNIVER_SHEET).getActiveSheet())?void 0:t.getSheetId(),l=(0,_q.useRef)(null),[u,c]=(0,_q.useState)(!1);return Cre(e=>{var t;null!=(t=l.current)&&t.isClickOutSide(e)&&c(!1)}),(0,$Z.jsx)("div",{className:"univer-relative",children:n===z2e.formula?(0,$Z.jsx)("div",{className:"univer-w-full",children:(0,$Z.jsx)(gze,{ref:l,className:x7("univer-box-border univer-h-8 univer-w-full univer-cursor-pointer univer-items-center univer-rounded-lg univer-bg-white univer-pt-2 univer-transition-colors hover:univer-border-primary-600 dark:!univer-bg-gray-700 dark:!univer-text-white [&>div:first-child]:univer-px-2.5 [&>div]:univer-h-5 [&>div]:univer-ring-transparent",V7),initValue:String(e.value),unitId:o,subUnitId:s,isFocus:u,onChange:(e="")=>{i(e||"")},onFocus:()=>c(!0)})}):(0,$Z.jsxs)($Z.Fragment,{children:[(0,$Z.jsx)(K9,{className:x7({"univer-border-red-500":r}),value:Number(e.value)||0,onChange:e=>i(null==e?0:e)}),r&&(0,$Z.jsx)("div",{className:"univer-absolute univer-text-xs univer-text-red-500",children:r})]})})},N6e=(e,t,r)=>({operator:j2e.greaterThan,value:{type:z2e.num,value:10*(r.length-1-t)},iconType:e,iconId:String(t)}),M6e=(0,_q.forwardRef)((e,t)=>{let{onClick:r}=e,n=iK(Cg);return(0,$Z.jsx)("div",{ref:t,className:"univer-w-80",children:G3e.map((e,t)=>(0,$Z.jsxs)("div",{className:"univer-mb-3",children:[(0,$Z.jsx)("div",{className:"univer-mb-1 univer-text-sm",children:n.t(e.title)}),(0,$Z.jsx)("div",{className:"univer-flex univer-flex-wrap",children:e.group.map(e=>(0,$Z.jsx)("div",{className:"univer-mb-1 univer-flex univer-w-1/2 univer-items-center",onClick:()=>{(e=>{r(e)})(e.name)},children:(0,$Z.jsx)("a",{className:"univer-flex univer-cursor-pointer univer-rounded hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",children:e.list.map((e,t)=>(0,$Z.jsx)("img",{className:"univer-size-5",src:e,draggable:!1},t))})},e.name))})]},t))})}),O6e=e=>{let{onClick:t}=e,r=(0,_q.useMemo)(()=>{let e=[];for(let t in Y3e){let r=Y3e[t],n=t;r.forEach((t,r)=>{e.push({iconType:n,base64:t,iconId:String(r)})})}return e},[]),n=e=>{t(e.iconType,e.iconId)};return(0,$Z.jsxs)("div",{children:[(0,$Z.jsxs)("div",{className:"univer-mb-2.5 univer-flex univer-cursor-pointer univer-items-center univer-pl-1",onClick:()=>n({iconType:Q3e,iconId:"",base64:""}),children:[(0,$Z.jsx)(nZ,{className:"univer-size-5"}),(0,$Z.jsx)("span",{className:"univer-ml-2",children:"无单元格图标"})]}),(0,$Z.jsx)("div",{className:"univer-flex univer-w-64 univer-flex-wrap",children:r.map(e=>(0,$Z.jsx)("div",{className:"univer-mb-2 univer-mr-2 univer-flex univer-cursor-pointer univer-items-center univer-justify-center univer-rounded hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",children:(0,$Z.jsx)("img",{className:"univer-size-5",src:e.base64,draggable:!1,onClick:()=>n(e)})},`${e.iconType}_${e.iconId}`))})]})},L6e=e=>{let{onChange:t,configList:r,errorMap:n={}}=e,i=iK(Cg),a=[{label:i.t(`sheet.cf.symbol.${j2e.greaterThan}`),value:j2e.greaterThan},{label:i.t(`sheet.cf.symbol.${j2e.greaterThanOrEqual}`),value:j2e.greaterThanOrEqual}],o=[{label:i.t(`sheet.cf.valueType.${z2e.num}`),value:z2e.num},{label:i.t(`sheet.cf.valueType.${z2e.percent}`),value:z2e.percent},{label:i.t(`sheet.cf.valueType.${z2e.percentile}`),value:z2e.percentile},{label:i.t(`sheet.cf.valueType.${z2e.formula}`),value:z2e.formula}],s=(e,r)=>{t([String(r),"value","value"],e)};return(0,_q.useMemo)(()=>r.map((e,l)=>{let u=n[l],c=x6e(e.iconType,e.iconId),d=l===r.length-1,h=0===l,m=r[l-1],f=(null==m?void 0:m.value.type)===z2e.formula?i.t("sheet.cf.valueType.formula"):null==m?void 0:m.value.value;return(0,$Z.jsxs)("div",{className:l?"univer-mt-6":"univer-mt-3",children:[(0,$Z.jsxs)("div",{className:"univer-mt-3 univer-flex univer-items-center univer-justify-between univer-text-sm univer-text-gray-600 dark:!univer-text-gray-200",children:[(0,$Z.jsxs)("div",{className:"univer-w-[45%]",children:[i.t("sheet.cf.iconSet.icon"),l+1]}),(0,$Z.jsx)("div",{className:"univer-w-[45%]",children:(0,$Z.jsxs)($Z.Fragment,{children:[!h&&!d&&i.t("sheet.cf.iconSet.rule"),!h&&!d&&(0,$Z.jsxs)("span",{className:"univer-font-medium univer-text-gray-600 dark:!univer-text-gray-200",children:[i.t("sheet.cf.iconSet.when"),i.t(`sheet.cf.symbol.${k3e(m.operator)}`),f,d?"":` ${i.t("sheet.cf.iconSet.and")} `]})]})})]}),(0,$Z.jsxs)("div",{className:"univer-mt-3 univer-grid univer-grid-cols-2 univer-gap-4",children:[(0,$Z.jsx)("div",{className:"univer-flex univer-items-center",children:(0,$Z.jsx)(x9,{overlay:(0,$Z.jsx)("div",{className:"univer-rounded-lg univer-p-4",children:(0,$Z.jsx)(O6e,{onClick:(r,n)=>{let i={...e,iconId:n,iconType:r};t([String(l)],i)},iconId:e.iconId,iconType:e.iconType})}),children:(0,$Z.jsxs)("div",{className:x7("univer-box-border univer-flex univer-h-8 univer-w-full univer-items-center univer-justify-between univer-rounded-md univer-bg-white univer-px-4 univer-py-2 univer-text-xs univer-text-gray-600 univer-transition-all hover:univer-border-primary-600 dark:!univer-text-gray-200",V7),children:[c?(0,$Z.jsx)("img",{src:c,className:"univer-size-4",draggable:!1}):(0,$Z.jsx)(nZ,{className:"univer-size-4"}),(0,$Z.jsx)(uQ,{})]})})}),d?(0,$Z.jsxs)("div",{className:"univer-mt-0 univer-text-sm univer-text-gray-600 dark:!univer-text-gray-200",children:[i.t("sheet.cf.iconSet.rule"),(0,$Z.jsxs)("span",{className:"univer-font-medium",children:[i.t("sheet.cf.iconSet.when"),i.t(`sheet.cf.symbol.${k3e(m.operator)}`),f,d?"":` ${i.t("sheet.cf.iconSet.and")} `]})]}):(0,$Z.jsx)(_5,{options:a,value:e.operator,onChange:e=>{((e,r)=>{t([String(r),"operator"],e),s(q2e(W2e.number,e),r)})(e,l)}})]}),d?(0,$Z.jsx)("div",{}):(0,$Z.jsxs)($Z.Fragment,{children:[(0,$Z.jsxs)("div",{className:"univer-mt-3 univer-grid univer-grid-cols-2 univer-gap-4 univer-text-sm univer-text-gray-600 dark:!univer-text-gray-200",children:[(0,$Z.jsx)("div",{children:i.t("sheet.cf.iconSet.type")}),(0,$Z.jsx)("div",{children:i.t("sheet.cf.iconSet.value")})]}),(0,$Z.jsxs)("div",{className:"univer-mt-3 univer-grid univer-grid-cols-2 univer-gap-4",children:[(0,$Z.jsx)(_5,{options:o,value:e.value.type,onChange:e=>{((e,n)=>{t([String(n),"value","type"],e);let i=r[n];s(q2e(W2e.number,i.operator),n)})(e,l)}}),(0,$Z.jsx)(T6e,{id:l,type:e.value.type,error:u,value:e.value.value||"",onChange:e=>{s(e,l)}})]})]})]},l)}),[r,n])},k6e=e=>{var t;let{interceptorManager:r}=e,n=(null==(t=e.rule)?void 0:t.type)===H2e.iconSet?e.rule:void 0,i=iK(Cg),[a,o]=(0,_q.useState)({}),[s,l]=(0,_q.useState)(()=>{let e=Object.keys(Y3e)[0];if(n&&n.config.length){let e=n.config[0].iconType;if(!n.config.some(t=>t.iconType!==e))return e}return e}),[u,c]=(0,_q.useState)(()=>{if(n&&n.config.length)return uu.deepClone(null==n?void 0:n.config);let e=Y3e[s]||[];return Array(e.length).fill("").map((e,t,r)=>t===r.length-1?{operator:j2e.lessThanOrEqual,value:{type:z2e.num,value:2**53-1},iconType:s,iconId:String(t)}:N6e(s,t,r))}),[d,h]=(0,_q.useState)(()=>!n||!!n.isShowValue),m=(0,_q.useMemo)(()=>(0,$Z.jsx)("div",{className:"univer-flex univer-items-center",children:u.map(e=>x6e(e.iconType,e.iconId)).map((e,t)=>e?(0,$Z.jsx)("img",{className:"univer-size-5",src:e},t):(0,$Z.jsx)(nZ,{className:"univer-size-5"},t))}),[u]),f=e=>{if(e.reduce((t,r,n)=>t.preType&&!t.result||e.length-1===n?t:r.value.type===z2e.formula?{preType:z2e.formula,result:!1}:t.preType?{result:t.preType===r.value.type,preType:r.value.type}:{result:!0,preType:r.value.type},{result:!0,preType:""}).result&&[z2e.num,z2e.percent,z2e.percentile].includes(e[0].value.type)){let t={};return e.forEach((r,n,a)=>{if(n-1<0||n===a.length-1)return;let o=e[n-1],s=k3e(o.operator);L3e({operator:s,value:o.value.value},r.value.value)||(t[n]=`${i.t(`sheet.cf.form.${s}`,String(o.value.value))} `)}),t}return{}};(0,_q.useEffect)(()=>{let e=r.intercept(r.getInterceptPoints().submit,{handler:()=>({type:H2e.iconSet,isShowValue:d,config:u})});return()=>{e()}},[d,u,r]),(0,_q.useEffect)(()=>{let e=r.intercept(r.getInterceptPoints().beforeSubmit,{handler:()=>0===Object.keys(a).length});return()=>{e()}},[d,u,r,a]);let g=iK(O8),[p,v]=(0,_q.useState)();return J5(p,g.rootContainerElement),(0,$Z.jsxs)("div",{children:[(0,$Z.jsx)("div",{className:"univer-mt-4 univer-text-sm univer-text-gray-600",children:i.t("sheet.cf.panel.styleRule")}),(0,$Z.jsx)("div",{className:"univer-mt-3",children:(0,$Z.jsx)(x9,{overlay:(0,$Z.jsx)("div",{className:"univer-rounded-lg univer-p-4",children:(0,$Z.jsx)(M6e,{ref:e=>{!p&&e&&v(e)},iconType:s,onClick:e=>{l(e);let t=Y3e[e]||[],r=Array(t.length).fill("").map((t,r,n)=>N6e(e,r,n));c(r),o(f(r))}})}),children:(0,$Z.jsxs)("div",{className:x7("univer-box-border univer-flex univer-h-8 univer-w-full univer-items-center univer-justify-between univer-rounded-md univer-bg-white univer-px-4 univer-py-2 univer-text-xs univer-text-gray-600 univer-transition-all hover:univer-border-primary-600",V7),children:[m,(0,$Z.jsx)(uQ,{})]})})}),(0,$Z.jsxs)("div",{className:"univer-mt-3 univer-flex univer-items-center univer-text-xs",children:[(0,$Z.jsxs)("div",{className:"univer-flex univer-items-center univer-text-xs",children:[(0,$Z.jsx)($7,{onChange:()=>{let e=u.map(e=>({...e}));u.forEach((t,r)=>{let n=e[u.length-1-r];t.iconId=n.iconId,t.iconType=n.iconType}),c([...u])}}),i.t("sheet.cf.iconSet.reverseIconOrder")]}),(0,$Z.jsxs)("div",{className:"univer-ml-6 univer-flex univer-items-center univer-text-xs",children:[(0,$Z.jsx)($7,{checked:!d,onChange:e=>{h(!e)}}),i.t("sheet.cf.iconSet.onlyShowIcon")]})]}),(0,$Z.jsx)(L6e,{errorMap:a,onChange:(e,t)=>{Rr(u,e)!==t&&(jr(u,e,t),c([...u]),o(f(u)))},configList:u})]})},P6e=e=>{var t;let{onChange:r,interceptorManager:n}=e,i=iK(Cg),a=(null==(t=e.rule)?void 0:t.type)===H2e.highlightCell?e.rule:void 0,o=[{label:i.t("sheet.cf.panel.isNotBottom"),value:"isNotBottom"},{label:i.t("sheet.cf.panel.isBottom"),value:"isBottom"},{label:i.t("sheet.cf.panel.greaterThanAverage"),value:"greaterThanAverage"},{label:i.t("sheet.cf.panel.lessThanAverage"),value:"lessThanAverage"}],[s,l]=(0,_q.useState)(()=>{let e=o[0].value,t=null==a?void 0:a.type;if(!a)return e;if(t===H2e.highlightCell)switch(a.subType){case W2e.average:return[j2e.greaterThan,j2e.greaterThanOrEqual].includes(a.operator)?"greaterThanAverage":[j2e.lessThan,j2e.lessThanOrEqual].includes(a.operator)?"lessThanAverage":e;case W2e.rank:return a.isBottom?"isBottom":"isNotBottom"}return e}),[u,c]=(0,_q.useState)(()=>{let e=null==a?void 0:a.type;return a&&e===H2e.highlightCell&&a.subType===W2e.rank&&a.value||10}),[d,h]=(0,_q.useState)(()=>{let e=null==a?void 0:a.type;return a&&e===H2e.highlightCell&&a.subType===W2e.rank&&a.isPercent||!1}),[m,f]=(0,_q.useState)({}),g=e=>{let{type:t,isPercent:r,value:n,style:i}=e;return"isNotBottom"===t?{type:H2e.highlightCell,subType:W2e.rank,isPercent:r,isBottom:!1,value:n,style:i}:"isBottom"===t?{type:H2e.highlightCell,subType:W2e.rank,isPercent:r,isBottom:!0,value:n,style:i}:"greaterThanAverage"===t?{type:H2e.highlightCell,subType:W2e.average,operator:j2e.greaterThan,style:i}:"lessThanAverage"===t?{type:H2e.highlightCell,subType:W2e.average,operator:j2e.lessThan,style:i}:void 0};(0,_q.useEffect)(()=>n.intercept(n.getInterceptPoints().submit,{handler:()=>g({type:s,isPercent:d,value:u,style:m})}),[s,d,u,m,n]);let p=e=>{r(g(e))};return(0,$Z.jsxs)("div",{children:[(0,$Z.jsx)("div",{className:"univer-mt-4 univer-text-sm univer-text-gray-600 dark:!univer-text-gray-200",children:i.t("sheet.cf.panel.styleRule")}),(0,$Z.jsx)(_5,{className:"univer-mt-3 univer-w-full",value:s,options:o,onChange:e=>{l(e),p({type:e,isPercent:d,value:u,style:m})}}),["isNotBottom","isBottom"].includes(s)&&(0,$Z.jsxs)("div",{className:"univer-mt-3 univer-flex univer-items-center",children:[(0,$Z.jsx)(K9,{min:1,max:1e3,value:u,onChange:e=>{let t=e||0;c(t),p({type:s,isPercent:d,value:t,style:m})}}),(0,$Z.jsxs)("div",{className:"univer-ml-3 univer-flex univer-items-center univer-text-xs",children:[(0,$Z.jsx)($7,{checked:d,onChange:e=>{h(!!e),p({type:s,isPercent:!!e,value:u,style:m})}}),i.t("sheet.cf.valueType.percent")]})]}),(0,$Z.jsx)("div",{className:h6e,children:(0,$Z.jsx)(d6e,{rule:g({type:s,isPercent:d,value:u,style:m})})}),(0,$Z.jsx)(_6e,{style:null==a?void 0:a.style,className:"univer-mt-3",onChange:e=>{f(e),p({type:s,isPercent:d,value:u,style:e})}})]})},D6e=jl("beforeSubmit"),U6e=jl("submit"),B6e=e=>e.getCurrentUnitForType(Pi.UNIVER_SHEET).getUnitId(),V6e=e=>{var t;return null==(t=e.getCurrentUnitForType(Pi.UNIVER_SHEET).getActiveSheet())?void 0:t.getSheetId()},F6e=e=>{var t,r,n;let i=iK(Cg),a=iK(Vc),o=iK(dg),s=iK(J2e),l=iK(rSe),u=B6e(o),c=V6e(o),[d,h]=(0,_q.useState)(void 0),m=(0,_q.useRef)(null==(t=null==(r=e.rule)?void 0:r.ranges)?[]:t),f=(0,_q.useMemo)(()=>{var t;let r=null==(t=e.rule)?void 0:t.ranges;var n,i;return null!=r&&r.length||(r=null==(n=null==(i=l.getCurrentSelections())?void 0:i.map(e=>e.range))?[]:n),m.current=r,null!=r&&r.length?r.map(e=>{let t=Pme(e);return"NaN"===t?"":t}).filter(e=>!!e).join(","):""},[e.rule]),g=[{label:i.t("sheet.cf.ruleType.highlightCell"),value:"1"},{label:i.t("sheet.cf.panel.rankAndAverage"),value:"2"},{label:i.t("sheet.cf.ruleType.dataBar"),value:"3"},{label:i.t("sheet.cf.ruleType.colorScale"),value:"4"},{label:i.t("sheet.cf.ruleType.formula"),value:"5"},{label:i.t("sheet.cf.ruleType.iconSet"),value:"6"}],[p,v]=(0,_q.useState)(()=>{var t;let r=null==(t=e.rule)?void 0:t.rule.type,n=g[0].value;if(!r)return n;switch(r){case H2e.highlightCell:var i;switch(null==(i=e.rule)?void 0:i.rule.subType){case W2e.number:case W2e.text:case W2e.duplicateValues:case W2e.uniqueValues:case W2e.timePeriod:return"1";case W2e.average:case W2e.rank:return"2";case W2e.formula:return"5"}break;case H2e.dataBar:return"3";case H2e.colorScale:return"4";case H2e.iconSet:return"6"}return n}),b=(0,_q.useRef)(void 0),C=(0,_q.useMemo)(()=>new Wl({beforeSubmit:D6e,submit:U6e}),[]),y=(0,_q.useMemo)(()=>{switch(p){case"1":default:return R6e;case"2":return P6e;case"3":return b6e;case"4":return g6e;case"5":return w6e;case"6":return k6e}},[p]);return(0,_q.useEffect)(()=>{let t=a.onCommandExecuted(t=>{if(t.id===XAe.id){let r=t.params;r.subUnitId===c&&r.unitId===u&&e.onCancel()}t.id===fEe.id&&e.onCancel()});return()=>t.dispose()},[]),(0,$Z.jsxs)("div",{children:[(0,$Z.jsx)("div",{className:"univer-mt-4 univer-text-sm univer-text-gray-600 dark:!univer-text-gray-200",children:i.t("sheet.cf.panel.range")}),(0,$Z.jsxs)("div",{className:"univer-mt-4",children:[(0,$Z.jsx)(Cze,{unitId:u,subUnitId:c,initialValue:f,onChange:(e,t)=>(e=>{m.current=e.split(",").filter(e=>!!e).map(jme).map(e=>e.range)})(t),onVerify:(e,t)=>{e?t.length<1?h(i.t("sheet.cf.errorMessage.rangeError")):h(void 0):h(i.t("sheet.cf.errorMessage.rangeError"))}}),d&&(0,$Z.jsx)("div",{className:"univer-mt-1 univer-text-xs univer-text-red-500",children:d})]}),(0,$Z.jsx)("div",{className:"univer-mt-4 univer-text-sm univer-text-gray-600 dark:!univer-text-gray-200",children:i.t("sheet.cf.panel.styleType")}),(0,$Z.jsx)(_5,{className:"univer-mt-4 univer-w-full",value:p,options:g,onChange:e=>v(e)}),(0,$Z.jsx)(y,{interceptorManager:C,rule:null==(n=e.rule)?void 0:n.rule,onChange:e=>{b.current=e}}),(0,$Z.jsxs)("div",{className:"univer-mt-4 univer-flex univer-justify-end",children:[(0,$Z.jsx)(O7,{onClick:()=>{e.onCancel()},children:i.t("sheet.cf.panel.cancel")}),(0,$Z.jsx)(O7,{className:"univer-ml-3",variant:"primary",onClick:()=>{if(d)return;let t=(()=>{let e=o.getCurrentUnitForType(Pi.UNIVER_SHEET).getActiveSheet();if(!e)throw Error("No active sheet found");return m.current.map(t=>uSe(t,e.getRowCount(),e.getColumnCount())).filter(e=>!(Number.isNaN(e.startRow)||Number.isNaN(e.startColumn)))})();if(C.fetchThroughInterceptors(C.getInterceptPoints().beforeSubmit)(!0,null)){let r=C.fetchThroughInterceptors(C.getInterceptPoints().submit)(null,null);if(r){let n=B6e(o),i=V6e(o);if(!n||!i)throw Error("No active sheet found");let l={};e.rule&&e.rule.cfId?(l={...e.rule,ranges:t,rule:r},a.executeCommand(h3e.id,{unitId:n,subUnitId:i,rule:l}),e.onCancel()):(l={cfId:s.createCfId(n,i),ranges:t,rule:r,stopIfTrue:!1},a.executeCommand(a3e.id,{unitId:n,subUnitId:i,rule:l}),e.onCancel())}}},children:i.t("sheet.cf.panel.submit")})]})]})};function j6e(e){return j6e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},j6e(e)}function H6e(e,t,r){return(t=function(e){var t=function(e){if("object"!=j6e(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=j6e(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==j6e(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function W6e(e,t){return function(r,n){t(r,n,e)}}function z6e(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}let X6e=class extends tu{constructor(e){super(),this._localeService=e,H6e(this,"_initLocal",()=>{}),H6e(this,"_findReplaceIndex",e=>{let t=/\{([^}]+)?\}/g,r=[],n=t.exec(e);for(;n;)r.push({startIndex:n.index,key:Number(n[1]),endIndex:n.index+n[0].length-1}),n=t.exec(e);return r}),this._initLocal()}tWithReactNode(e,...t){let r=this._localeService.getLocales(),n=e.split("."),i=r&&this._localeService.resolveKeyPath(r,n);if("string"==typeof i){let e=[];return this._findReplaceIndex(i).forEach((r,n,a)=>{let o=a[n-1]||{startIndex:0,endIndex:-1};if(o.endIndex+1{let r=e.rule;switch(r.type){case H2e.colorScale:return t.t("sheet.cf.ruleType.colorScale");case H2e.dataBar:return t.t("sheet.cf.ruleType.dataBar");case H2e.iconSet:return t.t("sheet.cf.ruleType.iconSet");case H2e.highlightCell:switch(r.subType){case W2e.average:{let e=r.operator;return t.t(`sheet.cf.preview.describe.${e}`,t.t("sheet.cf.subRuleType.average"))}case W2e.duplicateValues:return t.t("sheet.cf.subRuleType.duplicateValues");case W2e.uniqueValues:return t.t("sheet.cf.subRuleType.uniqueValues");case W2e.number:{let e=r.operator;return t.t(`sheet.cf.preview.describe.${e}`,...Array.isArray(r.value)?r.value.map(e=>String(e)):[String(r.value||"")])}case W2e.text:{let e=r.operator;return t.t(`sheet.cf.preview.describe.${e}`,r.value||"")}case W2e.timePeriod:{let e=r.operator;return t.t(`sheet.cf.preview.describe.${e}`)}case W2e.rank:return r.isPercent?r.isBottom?t.t("sheet.cf.preview.describe.bottomNPercent",String(r.value)):t.t("sheet.cf.preview.describe.topNPercent",String(r.value)):r.isBottom?t.t("sheet.cf.preview.describe.bottomN",String(r.value)):t.t("sheet.cf.preview.describe.topN",String(r.value));case W2e.formula:return t.t("sheet.cf.ruleType.formula")}}},G6e=e=>{let{onClick:t}=e,r=iK(J2e),n=iK(dg),i=iK(rSe),a=iK(Vc),o=iK(Cg),s=iK(he),l=iK(X6e),u=aK(()=>n.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET),void 0,void 0,[]),c=u.getUnitId(),d=u.getActiveSheet();if(!d)throw Error("No active sheet found");let h=d.getSheetId(),[m,f]=(0,_q.useState)([]),[g,p]=(0,_q.useState)("2"),[v,b]=(0,_q.useState)(0),[C,y]=(0,_q.useState)(""),_=[{label:o.t("sheet.cf.panel.workSheet"),value:"2"},{label:o.t("sheet.cf.panel.selectedRange"),value:"1"}],w=()=>{let e=r.getSubunitRules(c,h);if(!e||!e.length)return[];if("1"===g){let t=i.getCurrentLastSelection();if(!t)return[];let r=t.range;return e.filter(e=>e.ranges.some(e=>Oh.intersects(e,r)))}return"2"===g?[...e]:[]},[E,S]=(0,_q.useState)(w);tje(m),(0,_q.useEffect)(()=>{let e=a.onCommandExecuted(e=>{e.id===fEe.id&&b(Math.random())});return()=>e.dispose()}),(0,_q.useEffect)(()=>{S(w)},[g,v,c,h]),(0,_q.useEffect)(()=>{if("2"===g)return;let e=new Tn(e=>{let t=[vSe.id,i3e.id,o3e.id,r3e.id,e3e.id],r=a.onCommandExecuted(r=>{let{id:i,params:a}=r,o=n.getCurrentUnitOfType(Pi.UNIVER_SHEET).getUnitId();t.includes(i)&&a.unitId===o&&e.next(null)});return()=>r.dispose()}).pipe(Gn(16)).subscribe(()=>{S(w)});return()=>{e.unsubscribe()}},[n,g,c,h]),(0,_q.useEffect)(()=>{let e=r.$ruleChange.subscribe(()=>{b(Math.random())});return()=>e.unsubscribe()},[r]);let A=(0,_q.useMemo)(()=>{let e=n.getCurrentUnitOfType(Pi.UNIVER_SHEET),t=e.getActiveSheet();return E.filter(r=>{let n=r.ranges;return $Ne(s,e.getUnitId(),t.getSheetId(),n)})},[E]),I=(0,_q.useMemo)(()=>{let e=n.getCurrentUnitOfType(Pi.UNIVER_SHEET),t=e.getActiveSheet();return E.every(r=>{let n=r.ranges;return $Ne(s,e.getUnitId(),t.getSheetId(),n)})},[E]);return(0,$Z.jsxs)("div",{children:[(0,$Z.jsxs)("div",{className:"\n univer-mb-2 univer-flex univer-items-center univer-justify-between univer-gap-2 univer-text-sm\n ",children:[(0,$Z.jsx)("div",{className:"univer-flex univer-items-center univer-gap-2",children:l.tWithReactNode("sheet.cf.panel.managerRuleSelect",(0,$Z.jsx)(_5,{className:"univer-w-36",options:_,value:g,onChange:e=>{p(e)}})).map((e,t)=>(0,$Z.jsx)("span",{children:e},t))}),(0,$Z.jsxs)("div",{className:"univer-flex univer-justify-end univer-space-x-2",children:[(0,$Z.jsx)(J9,{title:o.t("sheet.cf.panel.createRule"),placement:"bottom",children:(0,$Z.jsx)("a",{className:"univer-size-5 univer-cursor-pointer",onClick:()=>{e.onCreate()},children:(0,$Z.jsx)(EY,{})})}),E.length&&I?(0,$Z.jsx)(J9,{title:o.t("sheet.cf.panel.clear"),placement:"bottom",children:(0,$Z.jsx)("a",{className:"univer-size-5 univer-cursor-pointer",onClick:()=>{"2"===g?a.executeCommand(u3e.id):"1"===g&&E.map(e=>({unitId:c,subUnitId:h,cfId:e.cfId})).forEach(e=>{a.executeCommand(c3e.id,e)})},children:(0,$Z.jsx)(one,{className:"univer-text-red-500"})})}):(0,$Z.jsx)("div",{children:(0,$Z.jsx)(one,{className:"univer-text-gray-300"})})]})]}),(0,$Z.jsx)("div",{children:(0,$Z.jsx)(T9,{className:"univer-w-full",draggableHandle:".draggableHandle",list:A,onListChange:()=>{},idKey:"cfId",rowHeight:60,margin:[0,10],onDragStop:(e,t,r)=>{var i,o,s;y("");let l=n.getCurrentUnitOfType(Pi.UNIVER_SHEET).getUnitId(),u=null==(i=n.getCurrentUnitOfType(Pi.UNIVER_SHEET).getActiveSheet())?void 0:i.getSheetId();if(!l||!u)throw Error("No active sheet found");let c=e=>{let t=A.length;return Math.min(t-1,Math.max(0,e))},d=null==(o=A[c(t.y)])?void 0:o.cfId,h=null==(s=A[c(r.y)])?void 0:s.cfId;!d||!h||d!==h&&a.executeCommand(d3e.id,{unitId:l,subUnitId:u,start:{id:d,type:"self"},end:{id:h,type:r.y>t.y?"after":"before"}})},onDragStart:(e,t)=>{var r;let n=A[t.y];y(null==(r=null==n?void 0:n.cfId)?"":r)},itemRender:e=>(0,$Z.jsxs)("div",{className:x7("univer-group univer-relative univer-flex univer-items-center univer-justify-between univer-rounded univer-py-2 univer-pl-5 univer-pr-8 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",{"univer-bg-gray-100 dark:!univer-bg-gray-700":C===e.cfId}),onMouseMove:()=>{e.ranges!==m&&f(e.ranges)},onMouseLeave:()=>f([]),onClick:()=>{t(e)},children:[(0,$Z.jsx)("div",{className:x7("univer-absolute univer-left-0 univer-hidden univer-size-5 univer-cursor-grab univer-items-center univer-justify-center univer-rounded group-hover:univer-flex","draggableHandle"),onClick:e=>e.stopPropagation(),children:(0,$Z.jsx)(O$e,{})}),(0,$Z.jsxs)("div",{className:"univer-min-w-0 univer-max-w-full univer-flex-shrink univer-overflow-hidden",children:[(0,$Z.jsx)("div",{className:"univer-text-sm univer-text-gray-900 dark:!univer-text-white",children:q6e(e,o)}),(0,$Z.jsx)("div",{className:"univer-text-xs univer-text-gray-400",children:e.ranges.map(e=>Pme(e)).join(",")})]}),(0,$Z.jsx)("div",{children:(0,$Z.jsx)(d6e,{rule:e.rule})}),(0,$Z.jsx)("div",{className:x7("univer-absolute univer-right-1 univer-hidden univer-size-6 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded univer-text-red-500 group-hover:univer-flex hover:univer-bg-gray-200",{"univer-flex univer-items-center univer-justify-center":C===e.cfId}),onClick:t=>{t.stopPropagation(),(e=>{var t;let r=n.getCurrentUnitOfType(Pi.UNIVER_SHEET).getUnitId(),i=null==(t=n.getCurrentUnitOfType(Pi.UNIVER_SHEET).getActiveSheet())?void 0:t.getSheetId();if(!r||!i)throw Error("No active sheet found");a.executeCommand(c3e.id,{unitId:r,subUnitId:i,cfId:e.cfId})})(e),f([])},children:(0,$Z.jsx)(one,{})})]})})})]})},Y6e=e=>{let[t,r]=(0,_q.useState)(e.rule),[n,i]=(0,_q.useState)(!!e.rule);return(0,$Z.jsx)("div",{className:"univer-flex univer-h-full univer-flex-col univer-justify-between univer-py-4",children:n?(0,$Z.jsx)(F6e,{onCancel:()=>{i(!1),r(void 0)},rule:t}):(0,$Z.jsx)(G6e,{onClick:e=>{r(e),i(!0)},onCreate:()=>{i(!0)}})})},Q6e="sheet.conditional.formatting.panel";let Z6e=class extends tu{constructor(e,t,r,n,i){super(),this._univerInstanceService=e,this._injector=t,this._componentManager=r,this._sidebarService=n,this._localeService=i,H6e(this,"_sidebarDisposable",null),this._initPanel(),this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET).subscribe(e=>{var t;e||null==(t=this._sidebarDisposable)||t.dispose()})),this.disposeWithMe(this._sidebarService.sidebarOptions$.subscribe(e=>{e.id===Q6e&&(e.visible||setTimeout(()=>{this._sidebarService.sidebarOptions$.next({visible:!1})}))}))}openPanel(e){let t={id:Q6e,header:{title:this._localeService.t("sheet.cf.title")},children:{label:Q6e,rule:e,key:cu(4)},onClose:()=>this._sidebarDisposable=null};this._sidebarDisposable=this._sidebarService.open(t)}_initPanel(){this.disposeWithMe(this._componentManager.register(Q6e,Y6e))}};Z6e=z6e([W6e(0,dg),W6e(1,Y(he)),W6e(2,Y(W5)),W6e(3,Y(V5)),W6e(4,Y(Cg))],Z6e);let K6e=function(e){return e[e.createRule=1]="createRule",e[e.viewRule=2]="viewRule",e[e.highlightCell=3]="highlightCell",e[e.rank=4]="rank",e[e.formula=5]="formula",e[e.colorScale=6]="colorScale",e[e.dataBar=7]="dataBar",e[e.icon=8]="icon",e[e.clearRangeRules=9]="clearRangeRules",e[e.clearWorkSheetRules=10]="clearWorkSheetRules",e}({});const $6e={id:"sheet.operation.open.conditional.formatting.panel",type:Bc.OPERATION,handler:(e,t)=>{var r;let n=e.get(Z6e),i=e.get(rSe),a=e.get(Vc),o=(null==(r=i.getCurrentSelections())?void 0:r.map(e=>e.range))||[];switch(t.value){case K6e.highlightCell:n.openPanel({...X2e(),ranges:o});break;case K6e.rank:{let e={...X2e,ranges:o,rule:{type:H2e.highlightCell,subType:W2e.rank}};n.openPanel(e);break}case K6e.formula:{let e={...X2e,ranges:o,rule:{type:H2e.highlightCell,subType:W2e.formula,value:"="}};n.openPanel(e);break}case K6e.colorScale:{let e={...X2e,ranges:o,rule:{type:H2e.colorScale,config:[]}};n.openPanel(e);break}case K6e.dataBar:{let e={...X2e,ranges:o,rule:{type:H2e.dataBar,isShowValue:!0}};n.openPanel(e);break}case K6e.icon:{let e={...X2e,ranges:o,rule:{type:H2e.iconSet,config:[],isShowValue:!0}};n.openPanel(e);break}case K6e.viewRule:n.openPanel();break;case K6e.createRule:n.openPanel({...X2e(),ranges:o});break;case K6e.clearRangeRules:a.executeCommand(l3e.id,{ranges:o});break;case K6e.clearWorkSheetRules:a.executeCommand(u3e.id)}return!0}};let J6e=class extends tu{constructor(e,t,r,n,i){super(),this._injector=e,this._univerInstanceService=t,this._sheetInterceptorService=r,this._selectionManagerService=n,this._conditionalFormattingRuleModel=i,this._init()}_init(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>{let t=[],r=[],n={redos:t,undos:r};if([oSe.id,aSe.id].includes(e.id)){var i;let e=null==(i=this._selectionManagerService.getCurrentSelections())?void 0:i.map(e=>e.range);if(!e)return n;let a=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET),o=a.getActiveSheet();if(!o)return n;let s=a.getUnitId(),l=o.getSheetId(),u=this._conditionalFormattingRuleModel.getSubunitRules(s,l);if(!u||!u.length)return n;let{redos:c,undos:d}=e4e(this._injector,u,e,s,l);t.push(...c),r.push(...d)}return n}})),this.disposeWithMe(this._sheetInterceptorService.interceptRanges({getMutations:({unitId:e,subUnitId:t,ranges:r})=>{let n=[],i=[],a={redos:n,undos:i};if(!r||!r.length)return a;let o=this._conditionalFormattingRuleModel.getSubunitRules(e,t);if(!o||!o.length)return a;let{redos:s,undos:l}=e4e(this._injector,o,r,e,t);return n.push(...s),i.push(...l),a}}))}};function e4e(e,t,r,n,i){let a=[],o=[];return t.filter(e=>r.some(t=>e.ranges.some(e=>Oh.getIntersects(e,t)))).forEach(t=>{let s=(new OEe).add(...t.ranges).subtract(...r).merge();if(s.length){let r={id:o3e.id,params:{unitId:n,subUnitId:i,rule:{...t,ranges:s}}},l=s3e(e,r.params);a.push(r),o.push(...l)}else{let r={id:r3e.id,params:{unitId:n,subUnitId:i,cfId:t.cfId}},s=t3e(e,r.params);a.push(r),o.push(...s)}}),{redos:a,undos:o}}J6e=z6e([W6e(0,Y(he)),W6e(1,Y(dg)),W6e(2,Y(iwe)),W6e(3,Y(rSe)),W6e(4,Y(J2e))],J6e);var t4e="@univerjs/sheets-conditional-formatting-ui",r4e="0.19.0";const n4e="sheets-conditional-formatting-ui.config";Symbol(n4e);const i4e={};let a4e=class extends tu{constructor(e,t,r){super(),this._conditionalFormattingRuleModel=e,this._formulaRefRangeService=t,this._injector=r,H6e(this,"_disposableMap",new Map),this._initRefRange()}_getIdWithUnitId(e,t,r){return`${e}_${t}_${r}`}_getRuleFormulas(e){let t=[],r=e.rule;switch(r.type){case H2e.highlightCell:r.subType===W2e.formula&&t.push(r.value);break;case H2e.dataBar:{let e=r;e.config.min.type===z2e.formula&&t.push(e.config.min.value),e.config.max.type===z2e.formula&&t.push(e.config.max.value);break}case H2e.colorScale:case H2e.iconSet:r.config.forEach(e=>{e.value.type===z2e.formula&&t.push(e.value.value)})}return t}_updateRuleFormulas(e,t){let r=uu.deepClone(e),n=r.rule,i=0;switch(n.type){case H2e.highlightCell:n.subType===W2e.formula&&(n.value=t[i++]);break;case H2e.dataBar:{let e=n;e.config.min.type===z2e.formula&&(e.config.min.value=t[i++]),e.config.max.type===z2e.formula&&(e.config.max.value=t[i++]);break}case H2e.colorScale:case H2e.iconSet:n.config.forEach(e=>{e.value.type===z2e.formula&&(e.value.value=t[i++])})}return r}register(e,t,r){let n=r.ranges,i=this._getRuleFormulas(r),a=this._formulaRefRangeService.registerRangeFormula(e,t,n,i,n=>{if(0===n.length)return{undos:[{id:i3e.id,params:{unitId:e,subUnitId:t,rule:r}}],redos:[{id:r3e.id,params:{unitId:e,subUnitId:t,cfId:r.cfId}}]};let i=[],a=[],o=n[0],s=this._updateRuleFormulas(r,o.formulas);s.ranges=o.ranges,i.push({id:o3e.id,params:{unitId:e,subUnitId:t,cfId:r.cfId,rule:s}}),a.push(...s3e(this._injector,{unitId:e,subUnitId:t,cfId:r.cfId,rule:s}));for(let o=1;o{let{unitId:t,subUnitId:r,rule:n}=e;switch(e.type){case"add":this.register(t,r,n);break;case"delete":{let e=this._getIdWithUnitId(t,r,n.cfId),i=this._disposableMap.get(e);i&&(i.dispose(),this._disposableMap.delete(e));break}case"set":{let e=this._getIdWithUnitId(t,r,n.cfId),i=this._disposableMap.get(e);i&&(i.dispose(),this._disposableMap.delete(e)),this.register(t,r,n);break}}})),this.disposeWithMe(Jl(()=>{this._disposableMap.forEach(e=>{e.dispose()}),this._disposableMap.clear()}))}};a4e=z6e([W6e(0,Y(J2e)),W6e(1,Y(lOe)),W6e(2,Y(he))],a4e);const o4e=[rke.SPECIAL_PASTE_FORMAT,rke.DEFAULT_PASTE,rke.SPECIAL_PASTE_BESIDES_BORDER];let s4e=class extends tu{constructor(e,t,r,n,i){super(),this._sheetClipboardService=e,this._conditionalFormattingRuleModel=t,this._injector=r,this._conditionalFormattingViewModel=n,this._univerInstanceService=i,H6e(this,"_copyInfo",void 0),this._initClipboardHook()}_initClipboardHook(){this.disposeWithMe(this._sheetClipboardService.addClipboardHook({id:B2e,onBeforeCopy:(e,t,r)=>this._collectConditionalRule(e,t,r),onPasteCells:(e,t,r,n)=>e&&this._copyInfo&&o4e.includes(n.pasteType)?this._generateConditionalFormattingMutations(e,t,n):{redos:[],undos:[]}}))}_collectConditionalRule(e,t,r){let n=new kd,i={};this._copyInfo={matrix:n,info:{unitId:e,subUnitId:t,cfMap:i}};let a=this._injector.invoke(n=>qEe(r,n,e,t));if(!a)return;let{rows:o,cols:s}=a,l=new Set;o.forEach((r,i)=>{s.forEach((a,o)=>{let s=this._conditionalFormattingViewModel.getCellCfs(e,t,r,a);s&&(s.forEach(e=>l.add(e.cfId)),n.setValue(i,o,s.map(e=>e.cfId)))})}),l.forEach(r=>{let n=this._conditionalFormattingRuleModel.getRule(e,t,r);n&&(i[r]=n.rule)})}_generateConditionalFormattingMutations(e,t,r){let{unitId:n,subUnitId:i,range:a}=e,{unitId:o,subUnitId:s,range:l}=t,{copyType:u=WLe.COPY}=r;if(!W_e(this._univerInstanceService,{unitId:o,subUnitId:s}))return{redos:[],undos:[]};if(u===WLe.CUT&&o===n&&s===i)return this._copyInfo=null,{redos:[],undos:[]};let{ranges:[c,d],mapFunc:h}=GOe([a,l]),m=GLe(c,d,!0),f={};Sh.foreach(d,(e,t)=>{let{row:r,col:n}=h(e,t),i=this._conditionalFormattingViewModel.getCellCfs(o,s,r,n);i&&i.forEach(e=>{if(!f[e.cfId]){let t=new kd;f[e.cfId]={unitId:o,subUnitId:s,ruleMatrix:t};let r=this._conditionalFormattingRuleModel.getRule(o,s,e.cfId);null==r||r.ranges.forEach(e=>{Sh.foreach(e,(e,r)=>{t.setValue(e,r,1)})})}f[e.cfId].ruleMatrix.realDeleteValue(r,n)})}),u===WLe.CUT&&(o!==n||s!==i)&&Sh.foreach(c,(e,t)=>{let{row:r,col:a}=h(e,t),o=this._conditionalFormattingViewModel.getCellCfs(n,i,r,a);o&&o.forEach(e=>{if(!f[e.cfId]){let t=new kd;f[e.cfId]={unitId:n,subUnitId:i,ruleMatrix:t};let r=this._conditionalFormattingRuleModel.getRule(n,i,e.cfId);null==r||r.ranges.forEach(e=>{Sh.foreach(e,(e,r)=>{t.setValue(e,r,1)})})}f[e.cfId].ruleMatrix.realDeleteValue(r,a)})});let{matrix:g,info:p}=this._copyInfo,v=[],b={},C=e=>{let t=null==p?void 0:p.cfMap[e],r=[...this._conditionalFormattingRuleModel.getSubunitRules(o,s)||[],...v].find(e=>uu.diffValue(e.rule,t));if(r)return b[e]=r,r;{let r={rule:t,cfId:this._conditionalFormattingRuleModel.createCfId(o,s),ranges:[],stopIfTrue:!1};return b[e]=r,v.push(r),r}};m.forEach(e=>{g&&g.forValue((t,r,n)=>{let i=Oh.getPositionRange({startRow:t,endRow:t,startColumn:r,endColumn:r},e.startRange),{row:a,col:l}=h(i.startRow,i.startColumn);n.forEach(e=>{let t=b[e]||C(e);if(!f[t.cfId]){let e=new kd;f[t.cfId]={unitId:o,subUnitId:s,ruleMatrix:e},t.ranges.forEach(t=>{Sh.foreach(t,(t,r)=>{e.setValue(t,r,1)})})}f[t.cfId].ruleMatrix.setValue(a,l,1)})})});let y=[],_=[];for(let e in f){let{unitId:t,subUnitId:r,ruleMatrix:n}=f[e],i=NEe(REe(n));if(!i.length){let n={unitId:t,subUnitId:r,cfId:e};y.push({id:r3e.id,params:n}),_.push(...t3e(this._injector,n))}if(v.some(t=>t.cfId===e)){let t={unitId:o,subUnitId:s,rule:{...v.find(t=>t.cfId===e),ranges:i}};y.push({id:i3e.id,params:t}),_.push(n3e(this._injector,t))}else{let n=this._conditionalFormattingRuleModel.getRule(t,r,e);if(!n)continue;let a={unitId:t,subUnitId:r,rule:{...n,ranges:i}};y.push({id:o3e.id,params:a}),_.push(...s3e(this._injector,a))}}return{redos:y,undos:_}}};s4e=z6e([W6e(0,Y(ike)),W6e(1,Y(J2e)),W6e(2,Y(he)),W6e(3,Y(I3e)),W6e(4,Y(dg))],s4e);let l4e=class extends tu{constructor(e,t,r){super(),this._localeService=e,this._commandService=t,this._sheetPermissionCheckController=r,this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{if(e.id===a3e.id){let{unitId:t,subUnitId:r,rule:{ranges:n}}=e.params;this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[PSe],rangeTypes:[SSe],worksheetTypes:[JSe,sAe]},n,t,r)||this._sheetPermissionCheckController.blockExecuteWithoutPermission(this._localeService.t("permission.dialog.setStyleErr"))}}))}};l4e=z6e([W6e(0,Y(Cg)),W6e(1,Vc),W6e(2,Y(NNe))],l4e);let u4e=class extends tu{constructor(e,t,r,n,i,a){super(),this._sheetInterceptorService=e,this._conditionalFormattingService=t,this._univerInstanceService=r,this._renderManagerService=n,this._conditionalFormattingViewModel=i,this._conditionalFormattingRuleModel=a,H6e(this,"_ruleChangeCacheMap",new Map),this._initViewModelInterceptor(),this._initSkeleton(),this.disposeWithMe(()=>{this._ruleChangeCacheMap.clear()})}_markDirtySkeleton(){var e,t;let r=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET).getUnitId();null==(e=this._renderManagerService.getRenderById(r))||e.with(vLe).reCalculate(),null==(t=this._renderManagerService.getRenderById(r))||null==(t=t.mainComponent)||t.makeDirty()}_initSkeleton(){this.disposeWithMe(Ei(this._conditionalFormattingRuleModel.$ruleChange,this._conditionalFormattingViewModel.markDirty$).pipe(une(16),Un(e=>!!e.length),Un(e=>{let t=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET);if(!t)return!1;let r=t.getActiveSheet();return!!r&&e.filter(e=>e.unitId===t.getUnitId()&&e.subUnitId===r.getSheetId()).length>0})).subscribe(()=>this._markDirtySkeleton()))}_initViewModelInterceptor(){this.disposeWithMe(this._sheetInterceptorService.intercept(G_e.CELL_CONTENT,{effect:Vl.Style,handler:(e,t,r)=>{let n=this._conditionalFormattingService.composeStyle(t.unitId,t.subUnitId,t.row,t.col);if(!n)return r(e);let i=t.workbook.getStyles(),a=("string"==typeof(null==e?void 0:e.s)?i.get(null==e?void 0:e.s):null==e?void 0:e.s)||{},o=e===t.rawData?{...t.rawData}:e;if(n.style){let e={...a,...n.style};Object.assign(o,{s:e})}return o.fontRenderExtension||(o.fontRenderExtension={},void 0!==n.isShowValue&&(o.fontRenderExtension.isSkip=!n.isShowValue)),n.dataBar&&(o.dataBar=n.dataBar),n.iconSet&&(o.iconSet=n.iconSet,o.fontRenderExtension.leftOffset=17),r(o)},priority:10}))}};u4e=z6e([W6e(0,Y(iwe)),W6e(1,Y($3e)),W6e(2,Y(dg)),W6e(3,Y(kX)),W6e(4,Y(I3e)),W6e(5,Y(J2e))],u4e);let c4e=class extends Rg{constructor(e=i4e,t,r,n){super(),this._config=e,this._injector=t,this._commandService=r,this._configService=n;let{menu:i,...a}=hr({},i4e,this._config);i&&this._configService.setConfig("menu",i,{merge:!0}),this._configService.setConfig(n4e,a),this._initCommand(),this._injector.add([u4e]),this._injector.add([s4e]),this._injector.add([l4e]),this._injector.add([X6e]),this._injector.add([a4e])}_initCommand(){[t6e,r6e,n6e,i6e,a6e,o6e,s6e,l6e,u6e,$6e].forEach(e=>{this._commandService.registerCommand(e)})}};H6e(c4e,"pluginName",`${B2e}_MOBILE_UI_PLUGIN`),H6e(c4e,"packageName",t4e),H6e(c4e,"version",r4e),H6e(c4e,"type",Pi.UNIVER_SHEET),c4e=z6e([Tg(J3e),W6e(1,Y(he)),W6e(2,Y(Vc)),W6e(3,Tc)],c4e);let d4e=class extends tu{constructor(e,t,r,n,i){super(),this._injector=e,this._univerInstanceService=t,this._autoFillService=r,this._conditionalFormattingRuleModel=n,this._conditionalFormattingViewModel=i,this._initAutoFill()}_initAutoFill(){let e=(e,t,r,n,i)=>{var a;let o=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET).getUnitId(),s=null==(a=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET).getActiveSheet())?void 0:a.getSheetId();if(!o||!s)return;let l={startRow:e.row,startColumn:e.col,endColumn:e.col,endRow:e.row},u={startRow:t.row,startColumn:t.col,endColumn:t.col,endRow:t.row};Sh.foreach(r,(e,t)=>{let r=Oh.getPositionRange({startRow:e,startColumn:t,endColumn:t,endRow:e},l),a=Oh.getPositionRange({startRow:e,startColumn:t,endColumn:t,endRow:e},u),{row:c,col:d}=i(r.startRow,r.startColumn),h=this._conditionalFormattingViewModel.getCellCfs(o,s,c,d),{row:m,col:f}=i(a.startRow,a.startColumn),g=this._conditionalFormattingViewModel.getCellCfs(o,s,m,f);g&&g.forEach(e=>{let t=n.get(e.cfId);if(!n.get(e.cfId)){let r=this._conditionalFormattingRuleModel.getRule(o,s,e.cfId);if(!r)return;t=new kd,r.ranges.forEach(e=>{Sh.foreach(e,(e,r)=>{t.setValue(e,r,1)})}),n.set(e.cfId,t)}t.realDeleteValue(m,f)}),h&&h.forEach(e=>{let t=n.get(e.cfId);if(!n.get(e.cfId)){let r=this._conditionalFormattingRuleModel.getRule(o,s,e.cfId);if(!r)return;t=new kd,r.ranges.forEach(e=>{Sh.foreach(e,(e,r)=>{t.setValue(e,r,1)})}),n.set(e.cfId,t)}t.setValue(m,f,1)})})},t=(t,r)=>{var n,i;let a=null==(n=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET))?void 0:n.getUnitId(),o=null==(i=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET))||null==(i=i.getActiveSheet())?void 0:i.getSheetId(),s=new Map,l=[],u=[];if(!a||!o)return{redos:[],undos:[]};let c=GOe([t,r]),[d,h]=c.ranges,{mapFunc:m}=c,f={row:d.startRow,col:d.startColumn};return jRe.getAutoFillRepeatRange(d,h).forEach(t=>{e(f,t.repeatStartCell,t.relativeRange,s,m)}),s.forEach((e,t)=>{let r=this._conditionalFormattingRuleModel.getRule(a,o,t);if(!r)return;let n=NEe(REe(e));if(n.length){let e={unitId:a,subUnitId:o,rule:{...r,ranges:n}};l.push({id:o3e.id,params:e}),u.push(...s3e(this._injector,e))}else{let e={unitId:a,subUnitId:o,cfId:r.cfId};l.push({id:r3e.id,params:e}),u.push(...t3e(this._injector,e))}}),{undos:u,redos:l}},r={id:B2e,onFillData:(e,r,n)=>{if(n===HRe.COPY||n===HRe.ONLY_FORMAT||n===HRe.SERIES){let{source:r,target:n}=e;return t(r,n)}return{redos:[],undos:[]}}};this.disposeWithMe(this._autoFillService.addHook(r))}};d4e=z6e([W6e(0,Y(he)),W6e(1,Y(dg)),W6e(2,Y(pxe)),W6e(3,Y(J2e)),W6e(4,Y(I3e))],d4e);let h4e=class extends tu{constructor(e,t){super(),this._sheetInterceptorService=e,this._conditionalFormattingService=t,this._initInterceptorEditorEnd()}_initInterceptorEditorEnd(){this.disposeWithMe(Jl(this._sheetInterceptorService.writeCellInterceptor.intercept(rwe,{handler:(e,t,r)=>{var n;e||r(e);let i=this._conditionalFormattingService.composeStyle(t.unitId,t.subUnitId,t.row,t.col),a=null==(n=null==i?void 0:i.style)?{}:n,o=Object.keys(a);var s;if(null!=e&&e.p)return null==(s=e.p.body)||null==(s=s.textRuns)||s.forEach(e=>{e.ts&&o.forEach(t=>{var r;null==(r=e.ts)||delete r[t]})}),r(e);{let n={...("string"==typeof(null==e?void 0:e.s)?t.workbook.getStyles().get(e.s):null==e?void 0:e.s)||{}};return o.forEach(e=>{delete n[e]}),r({...e,s:{...n}})}}})))}};h4e=z6e([W6e(0,Y(iwe)),W6e(1,Y($3e))],h4e);let m4e=class extends tu{constructor(e,t,r,n,i,a){super(),this._injector=e,this._univerInstanceService=t,this._formatPainterService=r,this._sheetsSelectionsService=n,this._conditionalFormattingRuleModel=i,this._conditionalFormattingViewModel=a,H6e(this,"_painterConfig",null),this._initFormattingPainter()}_initFormattingPainter(){let e=(e,t,r,n,i)=>{let{unitId:a,subUnitId:o}=this._painterConfig,{targetUnitId:s,targetSubUnitId:l}=i,u={startRow:e.row,startColumn:e.col,endColumn:e.col,endRow:e.row},c={startRow:t.row,startColumn:t.col,endColumn:t.col,endRow:t.row};Sh.foreach(r,(e,t)=>{let r=Oh.getPositionRange({startRow:e,startColumn:t,endColumn:t,endRow:e},u),i=Oh.getPositionRange({startRow:e,startColumn:t,endColumn:t,endRow:e},c),d=this._conditionalFormattingViewModel.getCellCfs(a,o,r.startRow,r.startColumn),h=this._conditionalFormattingViewModel.getCellCfs(s,l,i.startRow,i.startColumn);h&&h.forEach(e=>{let t=n.get(e.cfId);if(!n.get(e.cfId)){let r=this._conditionalFormattingRuleModel.getRule(s,l,e.cfId);if(!r)return;t=new kd,r.ranges.forEach(e=>{Sh.foreach(e,(e,r)=>{t.setValue(e,r,1)})}),n.set(e.cfId,t)}t.realDeleteValue(i.startRow,i.startColumn)}),d&&d.forEach(e=>{let t=n.get(e.cfId);t&&t.setValue(i.startRow,i.startColumn,1)})})},t=(t,r,n)=>{var i;let{range:a,unitId:o,subUnitId:s}=this._painterConfig,l=t!==o||s!==r,u=new Map,c=[],d=[];if(!(t&&r&&o&&s))return{redos:[],undos:[]};let h=null==(i=this._conditionalFormattingRuleModel.getSubunitRules(o,s))?[]:i;null==h||h.forEach(e=>{let{ranges:t,cfId:r}=e;if(t.some(e=>Oh.intersects(a,e))){let e=new kd;l||t.forEach(t=>{Sh.foreach(t,(t,r)=>{e.setValue(t,r,1)})}),u.set(r,e)}});let m={row:a.startRow,col:a.startColumn};return((e,t)=>{let r=e=>e.endRow-e.startRow+1,n=e=>e.endColumn-e.startColumn+1,i=r(t)%r(e),a=n(t)%n(e),o=Math.floor(r(t)/r(e)),s=Math.floor(n(t)/n(e)),l=[],u={startRow:0,endRow:r(e)-1,startColumn:0,endColumn:n(e)-1};if(1===r(t)&&1===n(t)){let e={startRow:t.startRow,endRow:t.startRow,startColumn:t.startColumn,endColumn:t.startColumn};return l.push({repeatRelativeRange:u,startRange:e}),l}for(let c=0;c{e(m,{row:n.startRange.startRow,col:n.startRange.startColumn},n.repeatRelativeRange,u,{targetUnitId:t,targetSubUnitId:r})}),u.forEach((e,n)=>{if(l){let i=this._conditionalFormattingRuleModel.getRule(t,r,n),a=NEe(REe(e));if(i)if(a.length){let e={unitId:t,subUnitId:r,rule:{...i,ranges:a}};c.push({id:o3e.id,params:e}),d.push(...s3e(this._injector,e))}else{let e={unitId:t,subUnitId:r,cfId:i.cfId};c.push({id:r3e.id,params:e}),d.push(...t3e(this._injector,e))}else if(a.length){let e=this._conditionalFormattingRuleModel.getRule(o,s,n);if(e){let n={unitId:t,subUnitId:r,rule:{...uu.deepClone(e),cfId:this._conditionalFormattingRuleModel.createCfId(t,r),ranges:a}};c.push({id:i3e.id,params:n}),d.push(n3e(this._injector,n))}}}else{let t=this._conditionalFormattingRuleModel.getRule(o,s,n);if(!t)return;let r=NEe(REe(e));if(r.length){let e={unitId:o,subUnitId:s,rule:{...t,ranges:r}};c.push({id:o3e.id,params:e}),d.push(...s3e(this._injector,e))}else{let e={unitId:o,subUnitId:s,cfId:t.cfId};c.push({id:r3e.id,params:e}),d.push(...t3e(this._injector,e))}}}),{undos:d,redos:c}},r={id:B2e,onStatusChange:e=>{switch(e){case fPe.INFINITE:case fPe.ONCE:{var t,r;let e=null==(t=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET))?void 0:t.getUnitId(),n=null==(r=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET))||null==(r=r.getActiveSheet())?void 0:r.getSheetId(),i=this._sheetsSelectionsService.getCurrentLastSelection(),a=null==i?void 0:i.range;e&&n&&a&&(this._painterConfig={unitId:e,subUnitId:n,range:a});break}case fPe.OFF:this._painterConfig=null}},onApply:(e,r,n)=>this._painterConfig?t(e,r,n):{redos:[],undos:[]}};this._formatPainterService.addHook(r)}};m4e=z6e([W6e(0,Y(he)),W6e(1,Y(dg)),W6e(2,Y(gPe)),W6e(3,Y(rSe)),W6e(4,Y(J2e)),W6e(5,Y(I3e))],m4e);let f4e=class extends tu{constructor(e,t,r){super(),this._conditionalFormattingViewModel=e,this._univerInstanceService=t,this._renderManagerService=r,this._init()}_init(){let e=this._univerInstanceService.getCurrentUnitForType(Pi.UNIVER_SHEET),t=e=>{let t=e.getUnitId(),r=this._renderManagerService.getRenderById(t);if(!r)return;let n=r.with(vLe);this.disposeWithMe(n.currentSkeleton$.subscribe(e=>{if(e){let t=e.skeleton.rowColumnSegment,r=t.endColumn-t.startColumn+1,n=(t.endRow-t.startRow+1)*r*9,i=Math.max(A3e,n);this._conditionalFormattingViewModel.setCacheLength(i)}}))};e&&t(e),this._univerInstanceService.getCurrentTypeOfUnit$(Pi.UNIVER_SHEET).subscribe(e=>{e&&t(e)})}};f4e=z6e([W6e(0,Y(I3e)),W6e(1,dg),W6e(2,kX)],f4e);const g4e=[fEe.id,i3e.id,o3e.id,r3e.id,e3e.id],p4e=[{label:{name:"sheet.cf.ruleType.highlightCell",selectable:!1},value:K6e.highlightCell},{label:{name:"sheet.cf.panel.rankAndAverage",selectable:!1},value:K6e.rank},{label:{name:"sheet.cf.ruleType.formula",selectable:!1},value:K6e.formula},{label:{name:"sheet.cf.ruleType.colorScale",selectable:!1},value:K6e.colorScale},{label:{name:"sheet.cf.ruleType.dataBar",selectable:!1},value:K6e.dataBar},{label:{name:"sheet.cf.ruleType.iconSet",selectable:!1},value:K6e.icon},{label:{name:"sheet.cf.menu.manageConditionalFormatting",selectable:!1},value:K6e.viewRule},{label:{name:"sheet.cf.menu.createConditionalFormatting",selectable:!1},value:K6e.createRule},{label:{name:"sheet.cf.menu.clearRangeRules",selectable:!1},value:K6e.clearRangeRules,disabled:!1},{label:{name:"sheet.cf.menu.clearWorkSheetRules",selectable:!1},value:K6e.clearWorkSheetRules}],v4e={[$8.RULES]:{[$6e.id]:{order:1,menuItemFactory:e=>{let t=e.get(rSe),r=e.get(Vc),n=e.get(dg),i=e.get(J2e),a=new Tn(a=>Ei(t.selectionMoveEnd$,t.selectionSet$,new Tn(e=>{let t=r.onCommandExecuted(t=>{var r;let{id:i,params:a}=t,o=null==(r=n.getCurrentUnitForType(Pi.UNIVER_SHEET))?void 0:r.getUnitId();g4e.includes(i)&&a.unitId===o&&e.next(null)});return()=>t.dispose()})).pipe(Gn(16)).subscribe(()=>{var r;let o=(null==(r=t.getCurrentSelections())?void 0:r.map(e=>e.range))||[],s=n.getCurrentUnitForType(Pi.UNIVER_SHEET);if(!s)return;let l=s.getActiveSheet();if(!l)return;let u=(i.getSubunitRules(s.getUnitId(),l.getSheetId())||[]).filter(e=>e.ranges.some(e=>o.some(t=>Oh.intersects(t,e)))).map(e=>e.ranges).every(t=>$Ne(e,s.getUnitId(),l.getSheetId(),t));a.next(u)})),o=new Tn(t=>new Tn(e=>{let t=r.onCommandExecuted(t=>{var r;let{id:i,params:a}=t,o=null==(r=n.getCurrentUnitForType(Pi.UNIVER_SHEET))?void 0:r.getUnitId();g4e.includes(i)&&a.unitId===o&&e.next(null)});return()=>t.dispose()}).pipe(Gn(16)).subscribe(()=>{let r=n.getCurrentUnitForType(Pi.UNIVER_SHEET);if(!r)return;let a=r.getActiveSheet();if(!a)return;let o=i.getSubunitRules(r.getUnitId(),a.getSheetId())||[];if(!o.length)return t.next(!1),!1;let s=o.map(e=>e.ranges).every(t=>$Ne(e,r.getUnitId(),a.getSheetId(),t));t.next(s)})),s=new Tn(e=>{a.subscribe(t=>{let r=p4e.find(e=>e.value===K6e.clearRangeRules);r&&(r.disabled=!t,e.next(p4e))}),o.subscribe(t=>{let r=p4e.find(e=>e.value===K6e.clearWorkSheetRules);r&&(r.disabled=!t,e.next(p4e))}),e.next(p4e)});return{id:$6e.id,type:lee.SELECTOR,icon:"ConditionsDoubleIcon",tooltip:"sheet.cf.title",selections:s,hidden$:X5(e,Pi.UNIVER_SHEET),disabled$:fBe(e,{workbookTypes:[PSe],worksheetTypes:[sAe,JSe],rangeTypes:[SSe]})}}}}};let b4e=class extends tu{constructor(e,t){super(),this._injector=e,this._menuManagerService=t,H6e(this,"_sidebarDisposable",null),this._menuManagerService.mergeMenu(v4e)}};b4e=z6e([W6e(0,Y(he)),W6e(1,nee)],b4e);let C4e=class extends Rg{constructor(e=i4e,t,r,n){super(),this._config=e,this._injector=t,this._commandService=r,this._configService=n;let{menu:i,...a}=hr({},i4e,this._config);i&&this._configService.setConfig("menu",i,{merge:!0}),this._configService.setConfig(n4e,a),this._initCommand()}onStarting(){Ml(this._injector,[[u4e],[s4e],[d4e],[l4e],[Z6e],[b4e],[X6e],[h4e],[J6e],[m4e],[f4e],[a4e]]),Ol(this._injector,[[u4e],[a4e]])}onReady(){Ol(this._injector,[[b4e],[Z6e]])}onRendered(){Ol(this._injector,[[d4e],[J6e],[s4e],[h4e],[X6e],[m4e],[l4e],[f4e]])}_initCommand(){[t6e,r6e,n6e,i6e,a6e,o6e,s6e,l6e,u6e,$6e].forEach(e=>{this._commandService.registerCommand(e)})}};function y4e(e){return y4e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},y4e(e)}H6e(C4e,"pluginName",`${B2e}_UI_PLUGIN`),H6e(C4e,"packageName",t4e),H6e(C4e,"version",r4e),H6e(C4e,"type",Pi.UNIVER_SHEET),C4e=z6e([Tg(J3e,gOe),W6e(1,Y(he)),W6e(2,Y(Vc)),W6e(3,Tc)],C4e);var _4e=class e{get _ruleConfig(){return this._rule.rule||null}_getDefaultConfig(e=H2e.highlightCell){switch(e){case H2e.colorScale:return{type:e,config:[{index:0,color:new $c("").toRgbString(),value:{type:z2e.min}},{index:0,color:new $c("green").toRgbString(),value:{type:z2e.max}}]};case H2e.dataBar:return{type:e,isShowValue:!0,config:{min:{type:z2e.min},max:{type:z2e.max},positiveColor:new $c("green").toRgbString(),nativeColor:new $c("").toRgbString(),isGradient:!1}};case H2e.highlightCell:return{type:e,subType:W2e.text,operator:V2e.containsText,value:"abc",style:{}};case H2e.iconSet:return{type:e,isShowValue:!0,config:[{operator:j2e.greaterThanOrEqual,value:{type:z2e.min},iconType:Q3e,iconId:""},{operator:j2e.greaterThanOrEqual,value:{type:z2e.percentile,value:.5},iconType:Q3e,iconId:""},{operator:j2e.lessThanOrEqual,value:{type:z2e.max},iconType:Q3e,iconId:""}]}}}constructor(e={}){(function(e,t,r){(t=function(e){var t=function(e){if("object"!=y4e(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=y4e(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==y4e(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})(this,"_rule",{}),this._rule=e,this._ensureAttr(this._rule,["rule"])}_ensureAttr(e,t){return t.reduce((e,t)=>(e[t]||(e[t]={}),e[t]),e),e}build(){var e;this._rule.cfId||(this._rule.cfId=Z2e()),this._rule.ranges||(this._rule.ranges=[]),void 0===this._rule.stopIfTrue&&(this._rule.stopIfTrue=!1),null!=(e=this._rule.rule)&&e.type||(this._rule.rule.type=H2e.highlightCell,this._ensureAttr(this._rule,["rule","style"]));let t=this._getDefaultConfig(this._rule.rule.type);return{...this._rule,rule:{...t,...this._rule.rule}}}copy(){let t=uu.deepClone(this._rule);return t.cfId&&(t.cfId=Z2e()),new e(t)}getRanges(){return this._rule.ranges||[]}getIconMap(){return Y3e}createCfId(){return Z2e()}setRanges(e){return this._rule.ranges=e,this}},w4e=class e extends _4e{constructor(e={}){super(e),this._ensureAttr(this._rule,["rule","style"])}copy(){let t=uu.deepClone(this._rule);return t.cfId&&(t.cfId=Z2e()),new e(t)}setAverage(e){let t=this._ruleConfig;return t.type=H2e.highlightCell,t.subType=W2e.average,t.operator=e,this}setUniqueValues(){let e=this._ruleConfig;return e.type=H2e.highlightCell,e.subType=W2e.uniqueValues,this}setDuplicateValues(){let e=this._ruleConfig;return e.type=H2e.highlightCell,e.subType=W2e.duplicateValues,this}setRank(e){let t=this._ruleConfig;return t.type=H2e.highlightCell,t.subType=W2e.rank,t.isBottom=e.isBottom,t.isPercent=e.isPercent,t.value=e.value,this}setBackground(e){var t;if((null==(t=this._ruleConfig)?void 0:t.type)===H2e.highlightCell)if(e){this._ensureAttr(this._ruleConfig,["style","bg"]);let t=new $c(e);this._ruleConfig.style.bg.rgb=t.toRgbString()}else delete this._ruleConfig.style.bg;return this}setBold(e){var t;return(null==(t=this._ruleConfig)?void 0:t.type)===H2e.highlightCell&&(this._ensureAttr(this._ruleConfig,["style"]),this._ruleConfig.style.bl=e?Vu.TRUE:Vu.FALSE),this}setFontColor(e){var t;if((null==(t=this._ruleConfig)?void 0:t.type)===H2e.highlightCell)if(e){let t=new $c(e);this._ensureAttr(this._ruleConfig,["style","cl"]),this._ruleConfig.style.cl.rgb=t.toRgbString()}else delete this._ruleConfig.style.cl;return this}setItalic(e){var t;return(null==(t=this._ruleConfig)?void 0:t.type)===H2e.highlightCell&&(this._ensureAttr(this._ruleConfig,["style"]),this._ruleConfig.style.it=e?Vu.TRUE:Vu.FALSE),this}setStrikethrough(e){var t;return(null==(t=this._ruleConfig)?void 0:t.type)===H2e.highlightCell&&(this._ensureAttr(this._ruleConfig,["style","st"]),this._ruleConfig.style.st.s=e?Vu.TRUE:Vu.FALSE),this}setUnderline(e){var t;return(null==(t=this._ruleConfig)?void 0:t.type)===H2e.highlightCell&&(this._ensureAttr(this._ruleConfig,["style","ul"]),this._ruleConfig.style.ul.s=e?Vu.TRUE:Vu.FALSE),this}whenCellEmpty(){let e=this._ruleConfig;return e.type=H2e.highlightCell,e.subType=W2e.text,e.value="",e.operator=V2e.equal,this}whenCellNotEmpty(){let e=this._ruleConfig;return e.type=H2e.highlightCell,e.subType=W2e.text,e.value="",e.operator=V2e.notEqual,this}whenDate(e){let t=this._ruleConfig;return t.type=H2e.highlightCell,t.subType=W2e.timePeriod,t.operator=e,this}whenFormulaSatisfied(e){let t=this._ruleConfig;return t.type=H2e.highlightCell,t.subType=W2e.formula,t.value=e,this}whenNumberBetween(e,t){let r=Math.min(e,t),n=Math.max(e,t),i=this._ruleConfig;return i.type=H2e.highlightCell,i.subType=W2e.number,i.value=[r,n],i.operator=j2e.between,this}whenNumberEqualTo(e){let t=this._ruleConfig;return t.type=H2e.highlightCell,t.subType=W2e.number,t.value=e,t.operator=j2e.equal,this}whenNumberGreaterThan(e){let t=this._ruleConfig;return t.type=H2e.highlightCell,t.subType=W2e.number,t.value=e,t.operator=j2e.greaterThan,this}whenNumberGreaterThanOrEqualTo(e){let t=this._ruleConfig;return t.type=H2e.highlightCell,t.subType=W2e.number,t.value=e,t.operator=j2e.greaterThanOrEqual,this}whenNumberLessThan(e){let t=this._ruleConfig;return t.type=H2e.highlightCell,t.subType=W2e.number,t.value=e,t.operator=j2e.lessThan,this}whenNumberLessThanOrEqualTo(e){let t=this._ruleConfig;return t.type=H2e.highlightCell,t.subType=W2e.number,t.value=e,t.operator=j2e.lessThanOrEqual,this}whenNumberNotBetween(e,t){let r=Math.min(e,t),n=Math.max(e,t),i=this._ruleConfig;return i.type=H2e.highlightCell,i.subType=W2e.number,i.value=[r,n],i.operator=j2e.notBetween,this}whenNumberNotEqualTo(e){let t=this._ruleConfig;return t.type=H2e.highlightCell,t.subType=W2e.number,t.value=e,t.operator=j2e.notEqual,this}whenTextContains(e){let t=this._ruleConfig;return t.type=H2e.highlightCell,t.subType=W2e.text,t.value=e,t.operator=V2e.containsText,this}whenTextDoesNotContain(e){let t=this._ruleConfig;return t.type=H2e.highlightCell,t.subType=W2e.text,t.value=e,t.operator=V2e.notContainsText,this}whenTextEndsWith(e){let t=this._ruleConfig;return t.type=H2e.highlightCell,t.subType=W2e.text,t.value=e,t.operator=V2e.endsWith,this}whenTextEqualTo(e){let t=this._ruleConfig;return t.type=H2e.highlightCell,t.subType=W2e.text,t.value=e,t.operator=V2e.equal,this}whenTextStartsWith(e){let t=this._ruleConfig;return t.type=H2e.highlightCell,t.subType=W2e.text,t.value=e,t.operator=V2e.beginsWith,this}},E4e=class e extends _4e{copy(){let t=uu.deepClone(this._rule);return t.cfId&&(t.cfId=Z2e()),new e(t)}setDataBar(e){let t=this._ruleConfig;return t.type=H2e.dataBar,t.isShowValue=!!e.isShowValue,t.config={min:e.min,max:e.max,positiveColor:e.positiveColor,nativeColor:e.nativeColor,isGradient:!!e.isGradient},this}},S4e=class e extends _4e{copy(){let t=uu.deepClone(this._rule);return t.cfId&&(t.cfId=Z2e()),new e(t)}setColorScale(e){let t=this._ruleConfig;return t.type=H2e.colorScale,t.config=e,this}},A4e=class e extends _4e{copy(){let t=uu.deepClone(this._rule);return t.cfId&&(t.cfId=Z2e()),new e(t)}setIconSet(e){let t=this._ruleConfig;return t.type=H2e.iconSet,t.config=e.iconConfigs,t.isShowValue=e.isShowValue,this}},I4e=class{constructor(e={}){this._initConfig=e}build(){return new _4e(this._initConfig).build()}setAverage(e){return new w4e(this._initConfig).setAverage(e)}setUniqueValues(){return new w4e(this._initConfig).setUniqueValues()}setDuplicateValues(){return new w4e(this._initConfig).setDuplicateValues()}setRank(e){return new w4e(this._initConfig).setRank(e)}getIconMap(){return Y3e}setIconSet(e){return new A4e(this._initConfig).setIconSet(e)}setColorScale(e){return new S4e(this._initConfig).setColorScale(e)}setDataBar(e){return new E4e(this._initConfig).setDataBar(e)}setBackground(e){return new w4e(this._initConfig).setBackground(e)}setBold(e){return new w4e(this._initConfig).setBold(e)}setFontColor(e){return new w4e(this._initConfig).setFontColor(e)}setItalic(e){return new w4e(this._initConfig).setItalic(e)}setStrikethrough(e){return new w4e(this._initConfig).setStrikethrough(e)}setUnderline(e){return new w4e(this._initConfig).setUnderline(e)}whenCellEmpty(){return new w4e(this._initConfig).whenCellEmpty()}whenCellNotEmpty(){return new w4e(this._initConfig).whenCellNotEmpty()}whenDate(e){return new w4e(this._initConfig).whenDate(e)}whenFormulaSatisfied(e){return new w4e(this._initConfig).whenFormulaSatisfied(e)}whenNumberBetween(e,t){return new w4e(this._initConfig).whenNumberBetween(e,t)}whenNumberEqualTo(e){return new w4e(this._initConfig).whenNumberEqualTo(e)}whenNumberGreaterThan(e){return new w4e(this._initConfig).whenNumberGreaterThan(e)}whenNumberGreaterThanOrEqualTo(e){return new w4e(this._initConfig).whenNumberGreaterThanOrEqualTo(e)}whenNumberLessThan(e){return new w4e(this._initConfig).whenNumberLessThan(e)}whenNumberLessThanOrEqualTo(e){return new w4e(this._initConfig).whenNumberLessThanOrEqualTo(e)}whenNumberNotBetween(e,t){return new w4e(this._initConfig).whenNumberNotBetween(e,t)}whenNumberNotEqualTo(e){return new w4e(this._initConfig).whenNumberNotEqualTo(e)}whenTextContains(e){return new w4e(this._initConfig).whenTextContains(e)}whenTextDoesNotContain(e){return new w4e(this._initConfig).whenTextDoesNotContain(e)}whenTextEndsWith(e){return new w4e(this._initConfig).whenTextEndsWith(e)}whenTextEqualTo(e){return new w4e(this._initConfig).whenTextEqualTo(e)}whenTextStartsWith(e){return new w4e(this._initConfig).whenTextStartsWith(e)}};mqe.extend(class extends mqe{_getConditionalFormattingRuleModel(){return this._injector.get(J2e)}getConditionalFormattingRules(){return[...this._getConditionalFormattingRuleModel().getSubunitRules(this._workbook.getUnitId(),this._worksheet.getSheetId())||[]].filter(e=>e.ranges.some(e=>Oh.intersects(e,this._range)))}createConditionalFormattingRule(){return new I4e({ranges:[this._range]})}addConditionalFormattingRule(e){let t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),rule:e};return this._commandService.syncExecuteCommand(a3e.id,t),this}deleteConditionalFormattingRule(e){let t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),cfId:e};return this._commandService.syncExecuteCommand(c3e.id,t),this}moveConditionalFormattingRule(e,t,r="after"){let n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),start:{id:e,type:"self"},end:{id:t,type:r}};return this._commandService.syncExecuteCommand(d3e.id,n),this}setConditionalFormattingRule(e,t){let r={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),rule:t,cfId:e};return this._commandService.syncExecuteCommand(h3e.id,r),this}clearConditionalFormatRules(){let e={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),ranges:[this._range]};return this._commandService.syncExecuteCommand(l3e.id,e),this}}),cqe.extend(class extends cqe{_getConditionalFormattingRuleModel(){return this._injector.get(J2e)}getConditionalFormattingRules(){return[...this._getConditionalFormattingRuleModel().getSubunitRules(this._workbook.getUnitId(),this._worksheet.getSheetId())||[]]}createConditionalFormattingRule(){return new I4e}newConditionalFormattingRule(){return new I4e}addConditionalFormattingRule(e){let t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),rule:e};return this._commandService.syncExecuteCommand(a3e.id,t),this}deleteConditionalFormattingRule(e){let t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),cfId:e};return this._commandService.syncExecuteCommand(c3e.id,t),this}moveConditionalFormattingRule(e,t,r="after"){let n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),start:{id:e,type:"self"},end:{id:t,type:r}};return this._commandService.syncExecuteCommand(d3e.id,n),this}setConditionalFormattingRule(e,t){let r={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),cfId:e,rule:t};return this._commandService.syncExecuteCommand(h3e.id,r),this}clearConditionalFormatRules(){let e={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()};return this._commandService.syncExecuteCommand(u3e.id,e),this}}),dp.extend(class{get ConditionFormatNumberOperatorEnum(){return j2e}get ConditionFormatTimePeriodOperatorEnum(){return F2e}});const R4e={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M7.71899 1.36938C4.37604 1.36938 1.66602 4.07941 1.66602 7.42236C1.66602 10.7653 4.37604 13.4753 7.71899 13.4753C9.16744 13.4753 10.4971 12.9666 11.5389 12.118L13.6598 14.4109C13.8848 14.6542 14.2644 14.669 14.5077 14.444C14.7509 14.219 14.7657 13.8393 14.5407 13.5961L12.3906 11.2716C13.2536 10.2254 13.772 8.88442 13.772 7.42236C13.772 4.07941 11.0619 1.36938 7.71899 1.36938ZM2.86602 7.42236C2.86602 4.74215 5.03878 2.56938 7.71899 2.56938C10.3992 2.56938 12.572 4.74215 12.572 7.42236C12.572 10.1026 10.3992 12.2753 7.71899 12.2753C5.03878 12.2753 2.86602 10.1026 2.86602 7.42236Z",fillRule:"evenodd",clipRule:"evenodd"}}]},x4e=(0,_q.forwardRef)(function(e,t){return(0,_q.createElement)(Eq,Object.assign({},e,{id:"search-icon",ref:t,icon:R4e}))});x4e.displayName="SearchIcon";const T4e="FIND_REPLACE_INPUT_FOCUS",N4e="FIND_REPLACE_DIALOG_FOCUS",M4e="FIND_REPLACE_REPLACE_REVEALED";function O4e(e){return O4e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},O4e(e)}function L4e(e,t,r){return(t=function(e){var t=function(e){if("object"!=O4e(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=O4e(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==O4e(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function k4e(e,t){return function(r,n){t(r,n,e)}}function P4e(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}var D4e=class extends tu{};const U4e=V("find-replace.service");let B4e=class extends tu{get searched(){return this._findModels.length>0}constructor(e,t,r,n){super(),this._state=e,this._providers=t,this._univerInstanceService=r,this._commandService=n,L4e(this,"currentMatch$",new Qn(null)),L4e(this,"replaceables$",new Qn([])),L4e(this,"_findModels",[]),L4e(this,"_matchingModel",null),L4e(this,"_matches",[]),L4e(this,"_currentSearchingDisposables",null),this.disposeWithMe(this._state.stateUpdates$.pipe(pq(200,void 0,{leading:!0,trailing:!0})).subscribe(async e=>{let t=this._state.state;(function(e){return void 0!==e.findString||void 0!==e.inputtingFindString||void 0!==e.findDirection||void 0!==e.matchesTheWholeCell||void 0!==e.caseSensitive||void 0!==e.findScope||void 0!==e.findBy})(e)&&(""===t.findString||t.replaceRevealed?!0!==e.replaceRevealed&&this._stopSearching():(await this._startSearching(),this._state.changeState({findCompleted:!0})))}))}dispose(){super.dispose(),this._stopSearching(),this.currentMatch$.complete(),this.replaceables$.complete(),this._state.changeState({...H4e(),revealed:!1})}async start(){if(!this._state.findString)return{results:[]};let e=await this._startSearching();return this._state.changeState({findCompleted:!0}),e}focusSelection(){var e;null==(e=this._matchingModel)||e.focusSelection()}async _startSearching(){if(!this._state.findString)return{results:[]};let e=Array.from(this._providers),t=this._findModels=(await Promise.all(e.map(e=>e.find({findString:this._state.findString,findDirection:this._state.findDirection,findScope:this._state.findScope,findBy:this._state.findBy,replaceRevealed:this._state.replaceRevealed,caseSensitive:this._state.caseSensitive,matchesTheWholeCell:this._state.matchesTheWholeCell})))).flat();this._subscribeToModelsChanges(t);let r=this._matches=t.map(e=>e.getMatches()).flat();return this.replaceables$.next(r.filter(e=>e.replaceable)),r.length?(this._moveToInitialMatch(t),this._state.changeState({matchesCount:r.length}),{results:r}):(this._state.changeState({matchesCount:0,matchesPosition:0}),{results:[]})}_stopSearching(){var e;this._providers.forEach(e=>e.terminate()),this._findModels=[],this._matches=[],this._matchingModel=null,null==(e=this._currentSearchingDisposables)||e.dispose(),this._currentSearchingDisposables=null,this.currentMatch$.next(null),this.replaceables$.next([]),this._state.changeState({findCompleted:!1,matchesCount:0,matchesPosition:0})}_subscribeToModelsChanges(e){let t=this._currentSearchingDisposables=new eu,r=Oi(e.map(e=>e.matchesUpdate$)).pipe(Gn(220)).subscribe(([...e])=>{let t=this._matches=e.flat();t.length?(this._moveToInitialMatch(this._findModels,!0),this._state.changeState({matchesCount:t.length}),this.replaceables$.next(t.filter(e=>e.replaceable))):(this._state.changeState({matchesCount:0,matchesPosition:0}),this.replaceables$.next([]))});e.forEach(e=>t.add(Jl(e.activelyChangingMatch$.subscribe(e=>{let t=this._matches.findIndex(t=>t===e);this._state.changeState({matchesPosition:t+1})})))),t.add(Jl(r))}async replace(){return!!this._matchingModel&&this._matchingModel.replace(this._state.replaceString)}async replaceAll(){let e=await Promise.all(this._findModels.map(e=>e.replaceAll(this._state.replaceString))).then(e=>e.reduce((e,t)=>(e.success+=t.success,e.failure+=t.failure,e),{success:0,failure:0}));return 0===e.failure&&this._stopSearching(),e}getCurrentMatch(){return this._state.matchesPosition>0?this._matches[this._state.matchesPosition-1]:null}_markMatch(e){let t=this._matches.findIndex(t=>t===e);this.currentMatch$.next(e),this._state.changeState({matchesPosition:t+1})}moveToNextMatch(){if(!this._matchingModel)return;let e=1===this._findModels.length,t=this._matchingModel.moveToNextMatch({loop:e});if(t)return this._markMatch(t),t;{let e=this._findModels.findIndex(e=>e===this._matchingModel);return this._moveToNextUnitMatch(e)}}_moveToNextUnitMatch(e){let t=this._findModels.length;for(let r=(e+1)%t;r!==e;){let e=this._findModels[r],n=e.moveToNextMatch({ignoreSelection:!0});if(n)return this._matchingModel=e,this._markMatch(n),n;r=(r+1)%t}if(this._matchingModel){let e=this._matchingModel.moveToNextMatch({ignoreSelection:!0});return e&&this._markMatch(e),e}}moveToPreviousMatch(){if(!this._matchingModel)return;let e=1===this._findModels.length,t=this._matchingModel.moveToPreviousMatch({loop:e});if(t){let e=this._matches.findIndex(e=>e===t);return this.currentMatch$.next(t),this._state.changeState({matchesPosition:e+1}),t}{let e=this._findModels.length,t=this._findModels.findIndex(e=>e===this._matchingModel);for(let r=(t-1+e)%e;r!==t;){let t=this._findModels[r],n=t.moveToPreviousMatch({ignoreSelection:!0});if(n)return this._matchingModel=t,this._markMatch(n),n;r=(r-1)%e}let r=this._matchingModel.moveToPreviousMatch({ignoreSelection:!0});return r&&this._markMatch(r),r}}_moveToInitialMatch(e,t=!1){var r;let n=null==(r=this._univerInstanceService.getFocusedUnit())?void 0:r.getUnitId();if(!n)return-1;let i=e.findIndex(e=>e.unitId===n);if(-1!==i){this._matchingModel=e[i];let r=this._matchingModel.moveToNextMatch({stayIfOnMatch:!0,noFocus:t});if(r)return this._markMatch(r),i}return this._moveToNextUnitMatch(i),0}};B4e=P4e([k4e(2,dg),k4e(3,Vc)],B4e);let V4e=function(e){return e.ROW="row",e.COLUMN="column",e}({}),F4e=function(e){return e.VALUE="value",e.FORMULA="formula",e}({}),j4e=function(e){return e.SUBUNIT="subunit",e.UNIT="unit",e}({});function H4e(){return{caseSensitive:!1,findBy:F4e.VALUE,findCompleted:!1,findDirection:V4e.ROW,findScope:j4e.SUBUNIT,findString:"",inputtingFindString:"",matchesCount:0,matchesPosition:0,matchesTheWholeCell:!1,replaceRevealed:!1,replaceString:"",revealed:!0}}var W4e=class{constructor(){L4e(this,"_stateUpdates$",new On),L4e(this,"stateUpdates$",this._stateUpdates$.asObservable()),L4e(this,"_state$",new Qn(H4e())),L4e(this,"state$",this._state$.asObservable()),L4e(this,"_findString",""),L4e(this,"_inputtingFindString",""),L4e(this,"_replaceString",""),L4e(this,"_revealed",!1),L4e(this,"_replaceRevealed",!1),L4e(this,"_matchesPosition",0),L4e(this,"_matchesCount",0),L4e(this,"_caseSensitive",!0),L4e(this,"_matchesTheWholeCell",!1),L4e(this,"_findDirection",V4e.ROW),L4e(this,"_findScope",j4e.SUBUNIT),L4e(this,"_findBy",F4e.VALUE),L4e(this,"_findCompleted",!1)}get state(){return this._state$.getValue()}get inputtingFindString(){return this._inputtingFindString}get findString(){return this._findString}get revealed(){return this._revealed}get replaceRevealed(){return this._replaceRevealed}get matchesPosition(){return this._matchesPosition}get matchesCount(){return this._matchesCount}get replaceString(){return this._replaceString}get caseSensitive(){return this._caseSensitive}get matchesTheWholeCell(){return this._matchesTheWholeCell}get findDirection(){return this._findDirection}get findScope(){return this._findScope}get findBy(){return this._findBy}get findCompleted(){return this._findCompleted}changeState(e){let t=!1,r={};void 0!==e.findString&&e.findString!==this._findString&&(this._findString=e.findString,r.findString=this._findString,t=!0),void 0!==e.revealed&&e.revealed!==this._revealed&&(this._revealed=e.revealed,r.revealed=e.revealed,t=!0),void 0!==e.replaceRevealed&&e.replaceRevealed!==this._replaceRevealed&&(this._replaceRevealed=e.replaceRevealed,r.replaceRevealed=e.replaceRevealed,t=!0),void 0!==e.replaceString&&e.replaceString!==this._replaceString&&(this._replaceString=e.replaceString,r.replaceString=e.replaceString,t=!0),void 0!==e.matchesCount&&e.matchesCount!==this._matchesCount&&(this._matchesCount=e.matchesCount,r.matchesCount=e.matchesCount,t=!0),void 0!==e.matchesPosition&&e.matchesPosition!==this._matchesPosition&&(this._matchesPosition=e.matchesPosition,r.matchesPosition=e.matchesPosition,t=!0),void 0!==e.findBy&&e.findBy!==this._findBy&&(this._findBy=e.findBy,r.findBy=e.findBy,t=!0),void 0!==e.findScope&&e.findScope!==this._findScope&&(this._findScope=e.findScope,r.findScope=e.findScope,t=!0),void 0!==e.findDirection&&e.findDirection!==this._findDirection&&(this._findDirection=e.findDirection,r.findDirection=e.findDirection,t=!0),void 0!==e.caseSensitive&&e.caseSensitive!==this._caseSensitive&&(this._caseSensitive=e.caseSensitive,r.caseSensitive=e.caseSensitive,t=!0),void 0!==e.matchesTheWholeCell&&e.matchesTheWholeCell!==this._matchesTheWholeCell&&(this._matchesTheWholeCell=e.matchesTheWholeCell,r.matchesTheWholeCell=e.matchesTheWholeCell,t=!0),void 0!==e.inputtingFindString&&e.inputtingFindString!==this._inputtingFindString&&(this._inputtingFindString=e.inputtingFindString,r.inputtingFindString=e.inputtingFindString,t=!0),void 0!==e.findCompleted&&e.findCompleted!==this._findCompleted&&(this._findCompleted=e.findCompleted,r.findCompleted=e.findCompleted,t=!0),t&&(this._state$.next({caseSensitive:this._caseSensitive,findBy:this._findBy,findCompleted:this._findCompleted,findDirection:this._findDirection,findScope:this._findScope,findString:this._findString,inputtingFindString:this._inputtingFindString,matchesCount:this._matchesCount,matchesPosition:this._matchesPosition,matchesTheWholeCell:this._matchesTheWholeCell,replaceRevealed:this._replaceRevealed,revealed:this._revealed}),this._stateUpdates$.next(r))}};let z4e=class extends tu{get stateUpdates$(){return this._state.stateUpdates$}get state$(){return this._state.state$}get revealed(){return this._state.revealed}get replaceRevealed(){return this._state.replaceRevealed}constructor(e,t){super(),this._injector=e,this._contextService=t,L4e(this,"_providers",new Set),L4e(this,"_state",new W4e),L4e(this,"_model",void 0),L4e(this,"_currentMatch$",new Qn(null)),L4e(this,"currentMatch$",this._currentMatch$.asObservable()),L4e(this,"_replaceables$",new Qn([])),L4e(this,"replaceables$",this._replaceables$.asObservable()),L4e(this,"_focusSignal$",new On),L4e(this,"focusSignal$",this._focusSignal$.asObservable())}dispose(){super.dispose(),this._currentMatch$.next(null),this._currentMatch$.complete(),this._replaceables$.next([]),this._replaceables$.complete(),this._focusSignal$.complete()}getProviders(){return this._providers}getCurrentMatch(){var e;return null==(e=this._model)?void 0:e.getCurrentMatch()}getFindString(){return this._state.findString}changeFindString(e){this._state.changeState({findString:e})}focusFindInput(){this._focusSignal$.next()}changeInputtingFindString(e){e?this._state.changeState({inputtingFindString:e}):this._state.changeState({inputtingFindString:"",findString:""})}changeReplaceString(e){this._state.changeState({replaceString:e})}changeMatchesTheWholeCell(e){this._state.changeState({matchesTheWholeCell:e})}changeCaseSensitive(e){this._state.changeState({caseSensitive:e})}changeFindBy(e){this._state.changeState({findBy:e}),this._toggleDisplayRawFormula(e===F4e.FORMULA)}changeFindScope(e){this._state.changeState({findScope:e})}changeFindDirection(e){this._state.changeState({findDirection:e})}moveToNextMatch(){this._model&&(this._state.replaceRevealed&&!this._model.searched?(this._state.changeState({findString:this._state.inputtingFindString}),this._model.start()):this._model.moveToNextMatch(),this._focusSignal$.next())}moveToPreviousMatch(){this._model&&(this._state.replaceRevealed&&!this._model.searched?(this._state.changeState({findString:this._state.inputtingFindString}),this._model.start()):this._model.moveToPreviousMatch(),this._focusSignal$.next())}async replace(){return!!this._model&&this._model.replace()}async replaceAll(){if(!this._model)throw Error("[FindReplaceService] replaceAll: model is not initialized!");return this._model.replaceAll()}revealReplace(){this._state.changeState({replaceRevealed:!0,inputtingFindString:this._state.findString}),this._toggleRevealReplace(!0)}focusSelection(){var e;null==(e=this._model)||e.focusSelection()}start(e=!1){if(0===this._providers.size)return!1;this._model=this._injector.createInstance(B4e,this._state,this._providers),this._model.currentMatch$.subscribe(e=>this._currentMatch$.next(e)),this._model.replaceables$.subscribe(e=>this._replaceables$.next(e));let t=H4e();return e&&(t.replaceRevealed=!0),this._state.changeState(t),this._toggleRevealReplace(e),!0}find(){var e;null==(e=this._model)||e.start()}terminate(){var e;null==(e=this._model)||e.dispose(),this._model=null,this._toggleDisplayRawFormula(!1),this._toggleRevealReplace(!1)}registerFindReplaceProvider(e){return this._providers.add(e),Jl(()=>this._providers.delete(e))}_toggleRevealReplace(e){this._contextService.setContextValue(M4e,e)}_toggleDisplayRawFormula(e){this._contextService.setContextValue(Hz,e)}};z4e=P4e([k4e(0,Y(he)),k4e(1,Mc)],z4e);const X4e={id:"ui.command.replace-current-match",type:Bc.COMMAND,handler:e=>e.get(U4e).replace()},q4e={id:"ui.command.replace-all-matches",type:Bc.COMMAND,handler:async e=>{let t=e.get(bf),r=e.get(Cg),n=e.get(C8);if(!await t.confirm({id:"CONFIRM_REPLACE_ALL",title:{title:r.t("find-replace.replace.confirm.title")},cancelText:r.t("button.cancel"),confirmText:r.t("button.confirm")}))return!1;let{success:i,failure:a}=await e.get(U4e).replaceAll();return a>0?(0===i?n.show({type:o5.Error,content:r.t("find-replace.replace.all-failure")}):n.show({type:o5.Warning,content:r.t("find-replace.replace.partial-success",`${i}`,`${a}`)}),!1):(n.show({type:o5.Success,content:r.t("find-replace.replace.all-success",`${i}`)}),!0)}},G4e={id:"ui.operation.open-find-dialog",type:Bc.OPERATION,handler:e=>{let t=e.get(U4e);return t.revealed?t.focusFindInput():t.start(),!0}},Y4e={id:"ui.operation.open-replace-dialog",type:Bc.OPERATION,handler:e=>{let t=e.get(U4e);return t.revealed?t.replaceRevealed?t.focusFindInput():t.revealReplace():t.start(!0),!0}},Q4e={type:Bc.OPERATION,id:"ui.operation.go-to-next-match",handler:e=>(e.get(U4e).moveToNextMatch(),!0)},Z4e={type:Bc.OPERATION,id:"ui.operation.go-to-previous-match",handler:e=>(e.get(U4e).moveToPreviousMatch(),!0)},K4e={type:Bc.OPERATION,id:"ui.operation.focus-selection",handler:e=>(e.get(U4e).focusSelection(),!0)},$4e={[$8.ORGANIZATION]:{[G4e.id]:{order:2,menuItemFactory:function(e){let t=e.get(Mc);return{id:G4e.id,icon:"SearchIcon",tooltip:"find-replace.toolbar",type:lee.BUTTON,hidden$:X5(e,Pi.UNIVER_SHEET),disabled$:Oi([t.subscribeContextValue$(Sf),t.subscribeContextValue$(yf)]).pipe(Yn(([e,t])=>e||!t))}}}}};function J4e(e){let{findCompleted:t,localeService:r,matchesCount:n,matchesPosition:i,initialFindString:a,findReplaceService:o,onChange:s,...l}=e,[u,c]=(0,_q.useState)(a),d=t&&0===n?r.t("find-replace.dialog.no-result"):0===n?" ":void 0;return(0,$Z.jsx)("div",{className:"univer-relative univer-flex univer-items-center univer-gap-2",onDrag:e=>e.stopPropagation(),children:(0,$Z.jsx)(Z9,{"data-u-comp":"search-input",autoFocus:!0,placeholder:r.t("find-replace.dialog.find-placeholder"),value:u,onChange:e=>{c(e),null==s||s(e)},slot:(0,$Z.jsx)(q9,{loop:!0,text:d,value:i,total:n,onChange:function(e){i===n&&1===e?o.moveToNextMatch():1===i&&e===n||e{var e;null==(e=document.querySelector(".univer-find-input input"))||e.focus()},[]),n=(0,_q.useCallback)(()=>{let e=document.querySelectorAll("[data-u-comp=find-replace-dialog] [data-u-comp=search-input]");return Array.from(e).some(e=>e===document.activeElement)},[]);return(0,_q.useImperativeHandle)(t,()=>({focus:r,selectHasFocus:n})),(0,_q.useEffect)(()=>{let t=e.focusSignal$.subscribe(()=>r());return()=>t.unsubscribe()},[e,r]),{focus:r,selectHasFocus:n}}const t7e=(0,_q.forwardRef)(function(e,t){let r=iK(Cg),n=iK(U4e),i=iK(Vc),{findCompleted:a,findString:o,matchesCount:s,matchesPosition:l}=aK(n.state$,void 0,!0),u=(0,_q.useCallback)(()=>{i.executeCommand(Y4e.id)},[i]),c=function(e,t=300){let r=(0,_q.useRef)(null);return(0,_q.useCallback)((...n)=>{r.current&&clearTimeout(r.current),r.current=setTimeout(()=>{e(...n)},t)},[e,t])}(e=>n.changeFindString(e),500);return e7e(n,t),(0,$Z.jsxs)($Z.Fragment,{children:[(0,$Z.jsx)(J4e,{findCompleted:a,matchesCount:s,matchesPosition:l,findReplaceService:n,localeService:r,initialFindString:o,onChange:c}),(0,$Z.jsx)("div",{className:"univer-mt-4 univer-text-center",children:(0,$Z.jsx)("a",{className:"hover:univer-text-primary-500/80 univer-cursor-pointer univer-text-sm univer-text-primary-500 univer-transition-colors",onClick:u,children:r.t("find-replace.dialog.advanced-finding")})})]})}),r7e=(0,_q.forwardRef)(function(e,t){let r=iK(U4e),n=iK(Cg),i=iK(Vc),a=iK(C8),o=aK(r.currentMatch$,void 0,!0),s=aK(r.replaceables$,void 0,!0),{matchesCount:l,matchesPosition:u,findString:c,inputtingFindString:d,replaceString:h,caseSensitive:m,matchesTheWholeCell:f,findDirection:g,findScope:p,findBy:v,findCompleted:b}=aK(r.state$,void 0,!0),C=0===d.length,y=0===l||!(null!=o&&o.replaceable),_=0===s.length,w=(0,_q.useCallback)(e=>r.changeInputtingFindString(e),[r]),E=(0,_q.useCallback)(e=>r.changeReplaceString(e),[r]),{focus:S}=e7e(r,t),A=(0,_q.useCallback)(()=>{c===d?r.moveToNextMatch():(r.changeFindString(d),r.find())},[c,d,r]),I=(0,_q.useCallback)(()=>i.executeCommand(X4e.id),[i]),R=(0,_q.useCallback)(async()=>{await i.executeCommand(q4e.id),S()},[i]),x=(0,_q.useCallback)(e=>{r.changeFindDirection(e)},[r]),T=(0,_q.useCallback)(e=>{r.changeFindScope(e)},[r]),N=(0,_q.useCallback)(e=>{r.changeFindBy(e)},[r]),M=function(e){return(0,_q.useMemo)(()=>[{label:e.t("find-replace.dialog.find-scope.current-sheet"),value:j4e.SUBUNIT},{label:e.t("find-replace.dialog.find-scope.workbook"),value:j4e.UNIT}],[e.getCurrentLocale()])}(n),O=function(e){return(0,_q.useMemo)(()=>[{label:e.t("find-replace.dialog.find-direction.row"),value:V4e.ROW},{label:e.t("find-replace.dialog.find-direction.column"),value:V4e.COLUMN}],[e.getCurrentLocale()])}(n),L=function(e){return(0,_q.useMemo)(()=>[{label:e.t("find-replace.dialog.find-by.value"),value:F4e.VALUE},{label:e.t("find-replace.dialog.find-by.formula"),value:F4e.FORMULA}],[e.getCurrentLocale()])}(n);return(0,_q.useEffect)(()=>{b&&0===l&&a.show({content:n.t("find-replace.dialog.no-match"),type:o5.Warning,duration:5e3})},[b,l,a,n]),(0,$Z.jsxs)("div",{children:[(0,$Z.jsx)(z9,{label:n.t("find-replace.dialog.find"),children:(0,$Z.jsx)(J4e,{findCompleted:b,className:"univer-find-input",matchesCount:l,matchesPosition:u,findReplaceService:r,localeService:n,initialFindString:d,onChange:w})}),(0,$Z.jsx)(z9,{label:n.t("find-replace.dialog.replace"),children:(0,$Z.jsx)(Z9,{placeholder:n.t("find-replace.dialog.replace-placeholder"),value:h,onChange:e=>E(e)})}),(0,$Z.jsx)(z9,{label:n.t("find-replace.dialog.find-direction.title"),children:(0,$Z.jsx)(_5,{value:g,options:O,onChange:x})}),(0,$Z.jsx)(X9,{children:(0,$Z.jsxs)($Z.Fragment,{children:[(0,$Z.jsx)(z9,{label:n.t("find-replace.dialog.find-scope.title"),children:(0,$Z.jsx)(_5,{value:p,options:M,onChange:T})}),(0,$Z.jsx)(z9,{label:n.t("find-replace.dialog.find-by.title"),children:(0,$Z.jsx)(_5,{value:v,options:L,onChange:N})})]})}),(0,$Z.jsx)(X9,{children:(0,$Z.jsxs)($Z.Fragment,{children:[(0,$Z.jsx)(z9,{children:(0,$Z.jsx)($7,{checked:m,onChange:e=>{r.changeCaseSensitive(e)},children:n.t("find-replace.dialog.case-sensitive")})}),(0,$Z.jsx)(z9,{children:(0,$Z.jsx)($7,{checked:f,onChange:e=>{r.changeMatchesTheWholeCell(e)},children:n.t("find-replace.dialog.match-the-whole-cell")})})]})}),(0,$Z.jsxs)("div",{className:"univer-mt-6 univer-flex univer-justify-between",children:[(0,$Z.jsx)(O7,{variant:"primary",onClick:A,disabled:C,children:n.t("find-replace.dialog.find")}),(0,$Z.jsxs)("span",{className:"univer-inline-flex univer-gap-2",children:[(0,$Z.jsx)(O7,{disabled:y,onClick:I,children:n.t("find-replace.dialog.replace")}),(0,$Z.jsx)(O7,{disabled:_,onClick:R,children:n.t("find-replace.dialog.replace-all")})]})]})]})});function n7e(){let e=iK(U4e),t=iK(O8),r=iK(Mc),n=aK(e.state$,void 0,!0),i=(0,_q.useRef)(null);(0,_q.useEffect)(()=>{let e;return i.current&&(e=t.registerContainerElement(i.current)),()=>null==e?void 0:e.dispose()},[t]);let a=(0,_q.useRef)(null),o=(0,_q.useCallback)(e=>r.setContextValue(N4e,e),[r]),s=(0,_q.useCallback)(e=>r.setContextValue(T4e,e),[r]);return(0,_q.useEffect)(()=>{var e;let t=cq(document,"focusin").subscribe(e=>{var t;e.target&&null!=(t=i.current)&&t.contains(e.target)?o(!0):o(!1),a.current&&a.current.selectHasFocus()?s(!0):s(!1)});return null==(e=a.current)||e.focus(),o(!0),s(!0),()=>{t.unsubscribe(),o(!1)}},[o,s]),(0,$Z.jsx)("div",{ref:i,"data-u-comp":"find-replace-dialog",children:n.replaceRevealed?(0,$Z.jsx)(r7e,{ref:a}):(0,$Z.jsx)(t7e,{ref:a})})}function i7e(e){return e.getContextValue(N4e)}function a7e(e){return e.getContextValue(T4e)}const o7e="7_find-replace-shortcuts";function s7e(e){return e.getContextValue(yf)}function l7e(e){return!e.getContextValue(Sf)}const u7e={id:G4e.id,description:"find-replace.shortcut.open-find-dialog",binding:x8.F|N8.CTRL_COMMAND,group:o7e,preconditions:e=>!i7e(e)&&s7e(e)&&l7e(e)},c7e={id:G4e.id,description:"find-replace.shortcut.open-find-dialog",binding:x8.F|N8.CTRL_COMMAND,mac:x8.F|N8.MAC_CTRL,preconditions:e=>!i7e(e)&&s7e(e)&&l7e(e)},d7e={id:Y4e.id,description:"find-replace.shortcut.open-replace-dialog",binding:x8.H|N8.CTRL_COMMAND,mac:x8.H|N8.MAC_CTRL,group:o7e,preconditions:e=>s7e(e)&&l7e(e)&&(!i7e(e)||!function(e){return e.getContextValue(M4e)}(e))},h7e={id:Q4e.id,description:"find-replace.shortcut.go-to-next-match",binding:x8.ENTER,group:o7e,priority:1e3,preconditions:e=>a7e(e)&&i7e(e)},m7e={id:Z4e.id,description:"find-replace.shortcut.go-to-previous-match",binding:x8.ENTER|N8.SHIFT,group:o7e,priority:1e3,preconditions:e=>a7e(e)&&i7e(e)},f7e={id:K4e.id,description:"find-replace.shortcut.focus-selection",binding:x8.ESC,group:o7e,priority:1e3,preconditions:e=>i7e(e)},g7e="DESKTOP_FIND_REPLACE_DIALOG";let p7e=class extends ru{constructor(e,t,r,n,i,a,o,s,l){super(),this._univerInstanceService=e,this._menuManagerService=t,this._shortcutService=r,this._commandService=n,this._findReplaceService=i,this._dialogService=a,this._layoutService=o,this._localeService=s,this._componentManager=l,L4e(this,"_closingListenerDisposable",void 0),this._initCommands(),this._initUI(),this._initShortcuts()}dispose(){var e;super.dispose(),null==(e=this._closingListenerDisposable)||e.dispose(),this._closingListenerDisposable=null}_initCommands(){[G4e,Y4e,Q4e,Z4e,q4e,X4e,K4e].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initShortcuts(){[d7e,u7e,c7e,m7e,h7e,f7e].forEach(e=>this.disposeWithMe(this._shortcutService.registerShortcut(e)))}_initUI(){[["FindReplaceDialog",n7e],["SearchIcon",x4e]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))}),this._menuManagerService.mergeMenu($4e),this._findReplaceService.stateUpdates$.pipe(jX(this.dispose$)).subscribe(e=>{!0===e.revealed&&this._openPanel()})}_openPanel(){this._dialogService.open({id:g7e,draggable:!0,width:350,title:{title:this._localeService.t("find-replace.dialog.title")},children:{label:"FindReplaceDialog"},destroyOnClose:!0,mask:!1,maskClosable:!1,defaultPosition:v7e(),preservePositionOnDestroy:!0,onClose:()=>this.closePanel()}),this._closingListenerDisposable=Jl(this._univerInstanceService.focused$.pipe(jX(this.dispose$)).subscribe(e=>{(!e||!this._univerInstanceService.getUniverSheetInstance(e))&&this.closePanel()}))}closePanel(){this._closingListenerDisposable&&(this._closingListenerDisposable.dispose(),this._closingListenerDisposable=null,this._dialogService.close(g7e),this._findReplaceService.terminate(),queueMicrotask(()=>this._layoutService.focus()))}};function v7e(){let{innerWidth:e}=window;return{x:e-350-20,y:64}}p7e=P4e([k4e(0,dg),k4e(1,nee),k4e(2,U8),k4e(3,Vc),k4e(4,U4e),k4e(5,Jte),k4e(6,O8),k4e(7,Y(Cg)),k4e(8,Y(W5))],p7e);const b7e="find-replace.config";Symbol(b7e);const C7e={};let y7e=class extends Rg{constructor(e=C7e,t,r){super(),this._config=e,this._injector=t,this._configService=r;let{...n}=hr({},C7e,this._config);this._configService.setConfig(b7e,n)}onStarting(){[[p7e],[U4e,{useClass:z4e}]].forEach(e=>this._injector.add(e))}onRendered(){this._injector.get(p7e)}};L4e(y7e,"pluginName","UNIVER_FIND_REPLACE_PLUGIN"),L4e(y7e,"packageName","@univerjs/find-replace"),L4e(y7e,"version","0.19.0"),y7e=P4e([k4e(1,Y(he)),k4e(2,Tc)],y7e);const _7e={id:"sheet.command.replace",type:Bc.COMMAND,handler:async(e,t)=>{let r=e.get(Pg),n=e.get(Vc),{unitId:i,replacements:a}=t,o=r.__tempBatchingUndoRedo(i),s=await Promise.all(a.map(e=>n.executeCommand(mAe.id,{unitId:i,subUnitId:e.subUnitId,value:e.value})));return o.dispose(),function(e,t){let r=0,n=0;return e.forEach((e,i)=>{let a=t[i].count;e?r+=a:n+=a}),{success:r,failure:n}}(s,a)}};function w7e(e){return w7e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},w7e(e)}function E7e(e,t,r){return(t=function(e){var t=function(e){if("object"!=w7e(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=w7e(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==w7e(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var S7e=class extends oH{constructor(e,t){super(e,t),E7e(this,"_activated",!1),E7e(this,"_inHiddenRange",!1),E7e(this,"_color",void 0),t&&this.setShapeProps(t)}setShapeProps(e){this._activated=!!e.activated,void 0!==e.inHiddenRange&&(this._inHiddenRange=e.inHiddenRange),void 0!==e.color&&(this._color=e.color),this.transformByState({width:e.width,height:e.height})}_draw(e){let t=this._activated,r=`rgba(${this._color.r}, ${this._color.g}, ${this._color.b}, 0.35)`,n=`rgb(${this._color.r}, ${this._color.g}, ${this._color.b})`;tX.drawWith(e,{width:this.width,height:this.height,fill:r,stroke:t?n:void 0,strokeWidth:t?2:0,evented:!1})}};function A7e(e,t){return e.startRow===t.startRow&&e.startColumn===t.startColumn}function I7e(e,t){return e.startRow=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}let N7e=class extends tu{constructor(e,t,r,n,i){super(),this._injector=e,this._findReplaceController=t,this._contextService=r,this._findReplaceService=n,this._commandService=i,E7e(this,"_provider",void 0),this._init(),this._initCommands()}dispose(){super.dispose(),this._findReplaceController.closePanel(),this._provider.dispose()}_init(){let e=this._injector.createInstance(L7e);this._provider=e,this.disposeWithMe(this._findReplaceService.registerFindReplaceProvider(e)),this.disposeWithMe(this._contextService.subscribeContextValue$(Sf).pipe(Un(e=>!!e)).subscribe(()=>this._findReplaceController.closePanel()))}_initCommands(){[_7e].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e)))}};N7e=T7e([x7e(0,Y(he)),x7e(1,Y(p7e)),x7e(2,Mc),x7e(3,U4e),x7e(4,Vc)],N7e);let M7e=class extends D4e{get _matchesCount(){return this._matches.length}get unitId(){return this._workbook.getUnitId()}get matchesCount(){return this._matchesCount}get matchesPosition(){return this._matchesPosition}get currentMatch(){return this._matchesPosition>0?this._matches[this._matchesPosition-1]:null}constructor(e,t,r,n,i,a,o,s){super(),this._workbook=e,this._sheetSkeletonManagerService=t,this._univerInstanceService=r,this._renderManagerService=n,this._commandService=i,this._contextService=a,this._themeService=o,E7e(this,"_matchesUpdate$",new On),E7e(this,"matchesUpdate$",this._matchesUpdate$.asObservable()),E7e(this,"_activelyChangingMatch$",new On),E7e(this,"activelyChangingMatch$",this._activelyChangingMatch$.asObservable()),E7e(this,"_matchesByWorksheet",new Map),E7e(this,"_matches",[]),E7e(this,"_matchesPosition",0),E7e(this,"_activeHighlightIndex",-1),E7e(this,"_highlightShapes",[]),E7e(this,"_currentHighlightShape",null),E7e(this,"_query",null),E7e(this,"_workbookSelections",void 0),this._workbookSelections=s.getWorkbookSelections(this.unitId)}dispose(){super.dispose(),this._disposeHighlights(),this._toggleDisplayRawFormula(!1)}getMatches(){return this._matches}start(e){switch(this._query=e,e.findBy===F4e.FORMULA?this._toggleDisplayRawFormula(!0):this._toggleDisplayRawFormula(!1),e.findScope){case j4e.UNIT:this.findInWorkbook(e);break;case j4e.SUBUNIT:default:this.findInActiveWorksheet(e)}}focusSelection(){let e=this.currentMatch;e&&this._commandService.executeCommand(bSe.id,{unitId:e.unitId,subUnit:e.range.subUnitId,range:e.range.range})}_toggleDisplayRawFormula(e){this._contextService.setContextValue(Hz,e)}findInWorkbook(e){let t,r=this._workbook.getUnitId(),n=!0,i=()=>{this._matches=this._workbook.getSheets().filter(e=>!e.isSheetHidden()).map(t=>{let n=this._findInWorksheet(t,e,r),i=t.getSheetId(),{results:a}=n;return a.length?this._matchesByWorksheet.set(i,n.results):this._matchesByWorksheet.delete(i),n}).map(e=>e.results).flat(),this._updateFindHighlight(),n?(t={results:this._matches},n=!1):this._matchesUpdate$.next(this._matches)};return this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(()=>{this._updateFindHighlight(),this._updateCurrentHighlightShape(this._activeHighlightIndex)})),this.disposeWithMe(qc(this._commandService.onCommandExecuted.bind(this._commandService)).pipe(Un(([e,t])=>e.id===fEe.id&&!(null!=t&&t.fromFindReplace))).subscribe(()=>{let e=this._workbook.getActiveSheet();if(!e)return;let t=e.getSheetId();this._matchesByWorksheet.has(t)&&this._findNextMatchOnActiveSheetChange(e)})),this.disposeWithMe(qc(this._commandService.onCommandExecuted.bind(this._commandService)).pipe(Un(([e])=>e.type===Bc.MUTATION&&e.params.unitId===this._workbook.getUnitId()),pq(600,void 0,{leading:!1,trailing:!0})).subscribe(()=>i())),i(),t}_findNextMatchOnActiveSheetChange(e){let t,r,n=0,i=this._matchesByWorksheet.get(e.getSheetId()),a=this._workbookSelections.getCurrentSelections();null!=a&&a.length?([t,n]=this._findNextMatchByRange(i,a[0].range),r=i.findIndex(e=>e===t)):(t=i[0],r=0,n=this._matches.findIndex(e=>e===t)),this._matchesPosition=n+1,this._activelyChangingMatch$.next(t),this._activeHighlightIndex=r,this._updateFindHighlight(),this._updateCurrentHighlightShape(r)}findInActiveWorksheet(e){let t,r=this._workbook.getUnitId(),n=()=>{var e;let t=this._workbook.getActiveSheet();if(!t)return!1;let r=this._workbookSelections.getCurrentSelections();return null!=(e=null==r?void 0:r.some(e=>!function(e,t){let{range:r}=e,{startRow:n,startColumn:i}=r,a=t.getMergedCell(n,i);return a?Oh.equals(r,a):r.endRow===r.startRow&&r.endColumn===r.startColumn}(e,t)))&&e},i=!0,a=!1,o=()=>{let o=this._workbook.getActiveSheet();if(!o)return{results:[]};let s=this.currentMatch;a=n();let l=this._workbookSelections.getCurrentSelections(),u=a?this._findInSelections(o,l,e,r):this._findInWorksheet(o,e,r);return this._matches=u.results,this._matchesPosition=this._tryRestoreLastMatchesPosition(s,this._matches),i?(t=u,i=!1):this._matchesUpdate$.next(this._matches),this._updateFindHighlight(),u};return this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(()=>this._updateFindHighlight())),this.disposeWithMe(Ei(qc(this._commandService.onCommandExecuted.bind(this._commandService)).pipe(Un(([e])=>{if(e.type===Bc.MUTATION&&e.params.unitId===this._workbook.getUnitId())return!0;if(e.id===vSe.id&&e.params.unitId===r){let e=n();return(!1!==e||!1!==a)&&(a=e,!0)}return!1})),this._workbook.activeSheet$.pipe(Si(1))).pipe(Gn(200)).subscribe(()=>o())),o(),t}_findInRange(e,t,r,n,i){let a=[],o=e.getSheetId(),s=(t.findDirection===V4e.COLUMN?e.iterateByColumn:e.iterateByRow).bind(e)(r);for(let r of s){let{row:s,col:l,colSpan:u,rowSpan:c,value:d}=r;if(null!=i&&i(s,l)||!d||e.getRowFiltered(s))continue;let{hit:h,replaceable:m,isFormula:f}=P7e(e,s,l,t,d);if(h){let e={provider:"sheets-find-replace-provider",unitId:n,replaceable:m,isFormula:f,range:{subUnitId:o,range:{startRow:s,startColumn:l,endColumn:l+(null==u?1:u)-1,endRow:s+(null==c?1:c)-1}}};a.push(e)}}return{results:a}}_findInSelections(e,t,r,n){let{findDirection:i}=r,a=i===V4e.ROW?I7e:R7e,o=new Set;return{results:t.map(t=>this._findInRange(e,r,t.range,n,(e,t)=>{let r=`${e}-${t}`;return!!o.has(r)||(o.add(r),!1)}).results).flat().sort((e,t)=>a(e.range.range,t.range.range)?-1:1)}}_findInWorksheet(e,t,r){let n={startRow:0,startColumn:0,endRow:e.getRowCount()-1,endColumn:e.getColumnCount()-1};return this._findInRange(e,t,n,r)}_disposeHighlights(){var e;this._highlightShapes.forEach(e=>{var t;null==(t=e.getScene())||t.makeDirty(),e.dispose()}),this._highlightShapes=[],null==(e=this._currentHighlightShape)||e.dispose(),this._currentHighlightShape=null}_updateFindHighlight(){var e;this._disposeHighlights();let t=null==(e=this._sheetSkeletonManagerService.getCurrent())?void 0:e.skeleton;if(!t)return;let r=this._workbook.getUnitId(),n=this._renderManagerService.getRenderById(r);if(null==n)return;let{scene:i}=n,a=this._matches,o=new $c(this._themeService.getColorFromTheme("yellow.400")).toRgb(),s=this._workbook.getActiveSheet();if(!s)return;let l=s.getSheetId(),u=a.filter(e=>e.range.subUnitId===l).map((e,r)=>{let{startColumn:n,startRow:i,endColumn:a,endRow:l}=e.range.range,u=DPe(i,n,0,t),c=DPe(l,a,0,t),{startX:d,startY:h}=u,{endX:m,endY:f}=c,g=!0;for(let e=i;e<=l;e++)if(s.getRowRawVisible(e)){g=!1;break}let p=!0;for(let e=n;e<=a;e++)if(s.getColVisible(e)){p=!1;break}return new S7e(`find-highlight-${r}`,{left:d,top:h,color:o,width:p?2:m-d,height:g?2:f-h,evented:!1,inHiddenRange:g||p,zIndex:1e4})});i.addObjects(u),this._highlightShapes=u,i.makeDirty()}_updateCurrentHighlightShape(e){var t;if(null==(t=this._currentHighlightShape)||t.setShapeProps({activated:!1}),this._currentHighlightShape=null,void 0!==e){let t=this._highlightShapes[e];if(!t)return;this._currentHighlightShape=t,t.setShapeProps({activated:!0})}}_getSheetObject(){return PPe(this._univerInstanceService,this._renderManagerService)}_focusMatch(e){var t;let r=e.range.subUnitId;r!==(null==(t=this._workbook.getActiveSheet())?void 0:t.getSheetId())&&this._commandService.executeCommand(_Te.id,{unitId:this._workbook.getUnitId(),subUnitId:r},{fromFindReplace:!0}),this._commandService.executeCommand(WPe.id,{range:e.range.range},{fromFindReplace:!0})}_tryRestoreLastMatchesPosition(e,t){if(!e)return 0;let{subUnitId:r}=e.range,{startColumn:n,startRow:i}=e.range.range,a=t.findIndex(e=>{if(r!==e.range.subUnitId)return!1;let{startColumn:t,startRow:a}=e.range.range;return t===n&&a===i});return a>-1?a+1:0}moveToNextMatch(e){var t,r,n,i;if(!this._matches.length)return null;let a=null!=(t=null==e?void 0:e.loop)&&t,o=null!=(r=null==e?void 0:e.stayIfOnMatch)&&r,s=null!=(n=null==e?void 0:e.noFocus)&&n,l=null!=(i=null==e?void 0:e.ignoreSelection)&&i,u=this._findNextMatch(a,o,l);if(u){var c;let[e,t]=u;return this._matchesPosition=t+1,this._query.findScope===j4e.UNIT?this._activeHighlightIndex=this._matchesByWorksheet.get(e.range.subUnitId).findIndex(t=>t===e):this._activeHighlightIndex=t,s||this._focusMatch(e),(null==(c=this._workbook.getActiveSheet())?void 0:c.getSheetId())===e.range.subUnitId&&this._updateCurrentHighlightShape(this._activeHighlightIndex),e}return this._matchesPosition=0,this._updateCurrentHighlightShape(),null}moveToPreviousMatch(e){var t,r,n,i;if(!this._matches.length)return null;let a=null!=(t=null==e?void 0:e.loop)&&t,o=null!=(r=null==e?void 0:e.stayIfOnMatch)&&r,s=null!=(n=null==e?void 0:e.noFocus)&&n,l=null!=(i=null==e?void 0:e.ignoreSelection)&&i,u=this._findPreviousMatch(a,o,l);if(u){var c;let[e,t]=u;return this._matchesPosition=t+1,this._query.findScope===j4e.UNIT?this._activeHighlightIndex=this._matchesByWorksheet.get(e.range.subUnitId).findIndex(t=>t===e):this._activeHighlightIndex=t,s||this._focusMatch(e),(null==(c=this._workbook.getActiveSheet())?void 0:c.getSheetId())===e.range.subUnitId&&this._updateCurrentHighlightShape(this._activeHighlightIndex),e}return this._matchesPosition=0,this._updateCurrentHighlightShape(),null}_findPreviousMatch(e=!1,t=!1,r=!1){var n;if(this.currentMatch){let r=this._matches.findIndex(e=>e===this.currentMatch);if(t)return[this.currentMatch,r];let n=r-1;if(!e&&n<0)return null;let i=this._matches.length,a=(n+i)%i;return[this._matches[a],a]}let i=this._workbookSelections.getCurrentLastSelection();if(r||!i){let e=this._matches.length-1;return[this._matches[e],e]}if(this._query.findScope!==j4e.UNIT)return this._findPreviousMatchByRange(this._matches,i.range);let a=null==(n=this._workbook.getActiveSheet())?void 0:n.getSheetId();if(!a)return null;let o=this._findPreviousWorksheetThatHasAMatch(a,e);return o?this._findPreviousMatchByRange(this._matchesByWorksheet.get(o),i.range):null}_findNextMatch(e=!1,t=!1,r=!1){var n;if(this.currentMatch){let r=this._matches.findIndex(e=>e===this.currentMatch);if(t)return[this.currentMatch,r];let n=r+1,i=this._matches.length;if(!e&&n>=i)return null;let a=n%i;return[this._matches[a],a]}let i=this._workbookSelections.getCurrentLastSelection();if(r||!i)return[this._matches[0],0];if(this._query.findScope!==j4e.UNIT)return this._findNextMatchByRange(this._matches,i.range,t);let a=null==(n=this._workbook.getActiveSheet())?void 0:n.getSheetId();if(!a)return null;let o=this._findNextWorksheetThatHasAMatch(a,e);return o?this._findNextMatchByRange(this._matchesByWorksheet.get(o),i.range):null}_findPreviousWorksheetThatHasAMatch(e,t=!1){let r=this._workbook.getSheetOrders(),n=r.findIndex(t=>t===e),i=(t?Cl(r,n+1):r.slice(0,n+1)).findLast(e=>this._matchesByWorksheet.has(e));return null==i?null:i}_findNextWorksheetThatHasAMatch(e,t=!1){let r=this._workbook.getSheetOrders(),n=r.findIndex(t=>t===e),i=(t?Cl(r,n):r.slice(n)).find(e=>this._matchesByWorksheet.has(e));return null==i?null:i}_findNextMatchByRange(e,t,r=!1){let n=this._query.findDirection===V4e.ROW,i=e.findIndex(e=>{let i=e.range.range;if(!(n?I7e(t,i):R7e(t,i)))return!1;let a=A7e(t,i);return r?a:!a});-1===i&&(i=e.length-1);let a=e[i];return[a,this._matches.findIndex(e=>e===a)]}_findPreviousMatchByRange(e,t,r=!1){let n=this._query.findDirection===V4e.ROW,i=this._matches.findLastIndex(e=>{let i=e.range.range;if(!(n?function(e,t){return e.startRow>t.startRow||e.startRow===t.startRow&&e.startColumn>=t.startColumn}(t,i):function(e,t){return e.startColumn>t.startColumn||e.startColumn===t.startColumn&&e.startRow>=t.startRow}(t,i)))return!1;let a=A7e(t,i);return r?a:!a});-1===i&&(i=0);let a=e[i];return[a,this._matches.findIndex(e=>e===a)]}async replace(e){if(0===this._matchesCount||!this.currentMatch||!this._query||!this.currentMatch.replaceable)return!1;let t=this.currentMatch.range,r=this._workbook.getSheetBySheetId(this.currentMatch.range.subUnitId),n=this._getReplacedCellData(this.currentMatch,r,this._query.findBy===F4e.FORMULA,this._query.findString,e,this._query.caseSensitive?"g":"ig"),i={unitId:this.currentMatch.unitId,subUnitId:t.subUnitId,value:{[t.range.startRow]:{[t.range.startColumn]:n}}};return this._commandService.executeCommand(mAe.id,i)}async replaceAll(e){if(0===this._matchesCount||!this._query)return{success:0,failure:0};let t=this._workbook.getUnitId(),{findString:r,caseSensitive:n,findBy:i}=this._query,a=i===F4e.FORMULA,o=n?"g":"ig",s=[];return function(e){let t=new Map;return e.forEach(e=>{let r=(e=>e.range.subUnitId)(e),n=t.get(r);t.has(r)||(n=[],t.set(r,n)),n.push(e)}),t}(this._matches.filter(e=>e.replaceable)).forEach((t,n)=>{let i=new kd,l=this._workbook.getSheetBySheetId(n);t.forEach(t=>{let{startColumn:n,startRow:s}=t.range.range,u=this._getReplacedCellData(t,l,a,r,e,o);u&&i.setValue(s,n,u)}),s.push({count:t.length,subUnitId:n,value:i.getMatrix()})}),s?this._commandService.executeCommand(_7e.id,{unitId:t,replacements:s}):{success:0,failure:0}}_getReplacedCellData(e,t,r,n,i,a){var o;let{startRow:s,startColumn:l}=e.range.range,u=t.getCellRaw(s,l);if(e.isFormula)return r?{f:u.f.replace(new RegExp(O7e(n),a),i),v:null}:null;if(null!=(o=u.p)&&o.body){let e=uu.deepClone(u.p);return function(e,t,r,n){if(""===t)return e;let i,a=new Wm({id:"mock-id",body:e,documentStyle:{}}),o=t.length;for(;(i=(n?a.getBody().dataStream:a.getBody().dataStream.toLowerCase()).indexOf(t))>=0;){let e=new Pm,t=Dm.getInstance();if(i>0&&e.retain(i),r.length>0){var s;let t=a.sliceBody(i,i+o),n={dataStream:r};Array.isArray(null==t?void 0:t.textRuns)&&t.textRuns.length&&(n.textRuns=[{...t.textRuns[0],st:0,ed:r.length}]),!(null==t||null==(s=t.customRanges))&&s.length&&(n.customRanges=[{...t.customRanges[0],startIndex:0,endIndex:r.length-1}]),e.insert(r.length,n)}e.delete(o),a.apply(t.editOp(e.serialize()))}a.getBody();a.dispose()}(e.body,n,i,this._query.caseSensitive),{p:e}}return{v:u.v.toString().replace(new RegExp(O7e(n),a),i)}}};function O7e(e){return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}M7e=T7e([x7e(2,dg),x7e(3,kX),x7e(4,Vc),x7e(5,Mc),x7e(6,Y(Lg)),x7e(7,Y(rSe))],M7e);let L7e=class extends tu{constructor(e,t,r){super(),this._univerInstanceService=e,this._renderManagerService=t,this._injector=r,E7e(this,"_findModelsByUnitId",new Map)}async find(e){this._terminate();let t=this._univerInstanceService.getCurrentUnitOfType(Pi.UNIVER_SHEET);if(!t)return[];let r=this._preprocessQuery(e),n=this._renderManagerService.getRenderById(t.getUnitId()).with(vLe),i=this._injector.createInstance(M7e,t,n);return this._findModelsByUnitId.set(t.getUnitId(),i),i.start(r),[i]}terminate(){this._terminate()}_terminate(){this._findModelsByUnitId.forEach(e=>e.dispose()),this._findModelsByUnitId.clear()}_preprocessQuery(e){let t=e.caseSensitive?e.findString:e.findString.toLowerCase();return t=t.trim(),{...e,findString:t}}};L7e=T7e([x7e(0,dg),x7e(1,kX),x7e(2,Y(he))],L7e);const k7e={hit:!1,replaceable:!1,isFormula:!1,rawData:null};function P7e(e,t,r,n,i){let{findBy:a}=n,o=a===F4e.FORMULA,s=e.getCellRaw(t,r);return k7e.rawData=s,null!=s&&s.f?(k7e.isFormula=!0,o?D7e({v:s.f},n)?(k7e.hit=!0,k7e.replaceable=!0,k7e):(k7e.hit=!1,k7e.replaceable=!1,k7e):(k7e.replaceable=!1,D7e(i,n)?k7e.hit=!0:k7e.hit=!1,k7e)):(k7e.isFormula=!1,D7e(i,n)?s?(k7e.hit=!0,k7e.replaceable=!0):(k7e.hit=!0,k7e.replaceable=!1):(k7e.hit=!1,k7e.replaceable=!1),k7e)}function D7e(e,t){let r=function(e){var t,r;let n=null==(t=null==e||null==(r=e.p)||null==(r=r.body)?void 0:r.dataStream)?null==e?void 0:e.v:t;return"number"==typeof n?`${n}`:"boolean"==typeof n?n?"1":"0":n}(e);return!!r&&(t.matchesTheWholeCell?(r=function(e){return e.replace(/^ +/g,"").replace(/ +$/g,"")}(r),t.caseSensitive?r===t.findString:r.toLowerCase()===t.findString):t.caseSensitive?r.indexOf(t.findString)>-1:r.toLowerCase().indexOf(t.findString)>-1)}const U7e="sheets-find-replace.config";Symbol(U7e);const B7e={};let V7e=class extends Rg{constructor(e=B7e,t,r){super(),this._config=e,this._injector=t,this._configService=r;let{...n}=hr({},B7e,this._config);this._configService.setConfig(U7e,n)}onStarting(){[[N7e]].forEach(e=>this._injector.add(e))}onSteady(){this._injector.get(N7e)}};function F7e(e){return F7e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},F7e(e)}function j7e(e,t,r){return(t=function(e){var t=function(e){if("object"!=F7e(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=F7e(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==F7e(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function H7e(e,t){return function(r,n){t(r,n,e)}}E7e(V7e,"pluginName","SHEET_FIND_REPLACE_PLUGIN"),E7e(V7e,"packageName","@univerjs/sheets-find-replace"),E7e(V7e,"version","0.19.0"),E7e(V7e,"type",Pi.UNIVER_SHEET),V7e=T7e([Tg(ZNe,ZNe,y7e),x7e(1,Y(he)),x7e(2,Tc)],V7e);let W7e=class extends tu{constructor(e,t,r,n){super(),this._injector=t,this._univerInstanceService=r,this._findReplaceService=n,j7e(this,"_state",new W4e),j7e(this,"_model",void 0),j7e(this,"_complete",void 0);let i=this._findReplaceService.getProviders();this._model=this._injector.createInstance(B4e,this._state,i);let a={...H4e(),...e};this._state.changeState(a)}findAll(){return this._state.findCompleted&&this._complete?this._complete.results.map(e=>this._findMatchToFRange(e)):[]}findNext(){var e;if(!this._state.findCompleted||!this._complete)return null;let t=null==(e=this._model)?void 0:e.moveToNextMatch();return t?this._findMatchToFRange(t):null}findPrevious(){var e;let t=null==(e=this._model)?void 0:e.moveToPreviousMatch();return t?this._findMatchToFRange(t):null}getCurrentMatch(){var e;if(!this._state.findCompleted||!this._complete)throw Error("Find operation is not completed.");let t=null==(e=this._model)?void 0:e.currentMatch$.value;return t?this._findMatchToFRange(t):null}async matchCaseAsync(e){return this._state.changeState({caseSensitive:e,findCompleted:!1}),new Promise(e=>{let t=this._state.stateUpdates$.subscribe(async r=>{!0===r.findCompleted&&(t.unsubscribe(),await this.ensureCompleteAsync(),e(this))})})}async matchEntireCellAsync(e){return this._state.changeState({matchesTheWholeCell:e,findCompleted:!1}),new Promise(e=>{let t=this._state.stateUpdates$.subscribe(async r=>{!0===r.findCompleted&&(t.unsubscribe(),await this.ensureCompleteAsync(),e(this))})})}async matchFormulaTextAsync(e){return this._state.changeState({findBy:e?F4e.FORMULA:F4e.VALUE,findCompleted:!1}),new Promise(e=>{let t=this._state.stateUpdates$.subscribe(async r=>{!0===r.findCompleted&&(t.unsubscribe(),await this.ensureCompleteAsync(),e(this))})})}async replaceAllWithAsync(e){var t,r,n;await this._state.changeState({replaceRevealed:!0,replaceString:e});let i=null==(t=null==(r=await(null==(n=this._model)?void 0:n.replaceAll()))?void 0:r.success)?0:t;return this._state.changeState({replaceRevealed:!1}),i}async replaceWithAsync(e){var t;return await this._state.changeState({replaceRevealed:!0,replaceString:e}),await(null==(t=this._model)?void 0:t.replace()),this._state.changeState({replaceRevealed:!1}),!0}async ensureCompleteAsync(){var e;this._complete=await(null==(e=this._model)?void 0:e.start())}_findMatchToFRange(e){let{unitId:t}=e,{subUnitId:r,range:n}=e.range,i=this._univerInstanceService.getUnit(t),a=i.getSheetBySheetId(r);return this._injector.createInstance(mqe,i,a,n)}};W7e=function(e,t,r,n){var i,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o}([H7e(1,Y(he)),H7e(2,dg),H7e(3,U4e)],W7e),yp.extend(class extends yp{async createTextFinderAsync(e){let t={findString:e},r=this._injector.createInstance(W7e,t);return await r.ensureCompleteAsync(),r}});const z7e=th({design:{Confirm:{cancel:"取消",confirm:"确定"},CascaderList:{empty:"无"},Calendar:{year:"年",weekDays:["日","一","二","三","四","五","六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},Select:{empty:"无"},ColorPicker:{more:"更多颜色",cancel:"取消",confirm:"确定"},GradientColorPicker:{linear:"线性",radial:"径向",angular:"角向",diamond:"菱形",offset:"偏移",angle:"角度",flip:"翻转",delete:"删除"}}},{toolbar:{undo:"撤销",redo:"重做",font:"字体",fontSize:"字号",bold:"粗体",italic:"斜体",strikethrough:"删除线",subscript:"下标",superscript:"上标",underline:"下划线",textColor:{main:"文本颜色",right:"颜色选择"},fillColor:{main:"文本背景色",right:"背景色选择"},table:{main:"表格",insert:"插入表格",colCount:"列数",rowCount:"行数"},resetColor:"重置颜色",order:"有序列表",unorder:"无序列表",checklist:"任务列表",documentFlavor:"现代模式",alignLeft:"左对齐",alignCenter:"居中对齐",alignRight:"右对齐",alignJustify:"两端对齐",horizontalLine:"水平分割线",headerFooter:"页眉页脚",pageSetup:"页面设置"},table:{insert:"插入",insertRowAbove:"上方插入行",insertRowBelow:"下方插入行",insertColumnLeft:"左方插入列",insertColumnRight:"右方插入列",delete:"表格删除",deleteRows:"删除行",deleteColumns:"删除列",deleteTable:"删除表格"},headerFooter:{header:"页眉",footer:"页脚",panel:"页眉页脚设置",firstPageCheckBox:"首页不同",oddEvenCheckBox:"奇偶页不同",headerTopMargin:"页眉顶端距离",footerBottomMargin:"页脚底端距离",closeHeaderFooter:"关闭页眉页脚",disableText:"页眉页脚设置不可用"},doc:{menu:{paragraphSetting:"段落设置"},slider:{paragraphSetting:"段落设置"},paragraphSetting:{alignment:"对齐方式",indentation:"缩进",left:"左边距",right:"右边距",firstLine:"首行",hanging:"悬挂",spacing:"间距",before:"段落前",after:"段落后",lineSpace:"行距",multiSpace:"多倍行距",fixedValue:"固定值(px)"}},rightClick:{copy:"复制",cut:"剪切",paste:"粘贴",delete:"删除",bulletList:"无序列表",orderList:"有序列表",checkList:"任务列表",insertBellow:"在下方插入"},"page-settings":{"document-setting":"文档设置","page-size":{main:"纸张大小",a4:"A4",a3:"A3",a5:"A5",b4:"B4",b5:"B5",letter:"美式信纸",legal:"美式法律用纸",tabloid:"小报尺寸",statement:"声明用纸",executive:"行政用纸",folio:"对开纸"},"paper-size":"纸张大小",orientation:"方向",portrait:"纵向",landscape:"横向","custom-paper-size":"自定义纸张大小",top:"上",bottom:"下",left:"左",right:"右",cancel:"取消",confirm:"确认"}},{sheets:{tabs:{sheetCopy:"(副本{0})",sheet:"工作表"},info:{overlappingSelections:"无法对重叠选区使用该命令",acrossMergedCell:"无法跨越合并单元格",partOfCell:"仅选择了合并单元格的一部分",hideSheet:"隐藏后无可见工作表"}}},{formula:{progress:{analyzing:"分析中",calculating:"计算中","array-analysis":"数组分析","array-calculation":"数组计算",done:"完成"}}},{shortcut:{"sheets-formula-ui":{"quick-sum":"快速求和"}},formula:{insert:{tooltip:"函数",common:"常用函数"},functionList:{ACCRINT:{description:"返回定期支付利息的债券的应计利息",abstract:"返回定期支付利息的债券的应计利息",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/accrint-%E5%87%BD%E6%95%B0-fe45d089-6722-4fb3-9379-e1f911d8dc74"}],functionParameter:{issue:{name:"发行日",detail:"有价证券的发行日。"},firstInterest:{name:"首次计息日",detail:"有价证券的首次计息日。"},settlement:{name:"到期日",detail:"有价证券的到期日。"},rate:{name:"利率",detail:"有价证券的年息票利率。"},par:{name:"面值",detail:"有价证券的票面值。"},frequency:{name:"频次",detail:"年付息次数。"},basis:{name:"基准",detail:"要使用的日计数基准类型。"},calcMethod:{name:"计算方法",detail:"是一个逻辑值:从发行日期开始的应计利息 = TRUE 或忽略;从最后票息支付日期开始计算 = FALSE。"}}},ACCRINTM:{description:"返回在到期日支付利息的债券的应计利息",abstract:"返回在到期日支付利息的债券的应计利息",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/accrintm-%E5%87%BD%E6%95%B0-f62f01f9-5754-4cc4-805b-0e70199328a7"}],functionParameter:{issue:{name:"发行日",detail:"有价证券的发行日。"},settlement:{name:"到期日",detail:"有价证券的到期日。"},rate:{name:"利率",detail:"有价证券的年息票利率。"},par:{name:"面值",detail:"有价证券的票面值。"},basis:{name:"基准",detail:"要使用的日计数基准类型。"}}},AMORDEGRC:{description:"使用折旧系数返回每个记帐期的折旧值",abstract:"使用折旧系数返回每个记帐期的折旧值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/amordegrc-%E5%87%BD%E6%95%B0-a14d0ca1-64a4-42eb-9b3d-b0dededf9e51"}],functionParameter:{number1:{name:"number1",detail:"first"},number2:{name:"number2",detail:"second"}}},AMORLINC:{description:"返回每个记帐期的折旧值",abstract:"返回每个记帐期的折旧值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/amorlinc-%E5%87%BD%E6%95%B0-7d417b45-f7f5-4dba-a0a5-3451a81079a8"}],functionParameter:{cost:{name:"成本",detail:"资产原值。"},datePurchased:{name:"购买日期",detail:"购入资产的日期。"},firstPeriod:{name:"首个期间",detail:"第一个期间结束时的日期。"},salvage:{name:"残值",detail:"资产在使用寿命结束时的残值。"},period:{name:"期间",detail:"期间。"},rate:{name:"折旧率",detail:"折旧率。"},basis:{name:"基准",detail:"要使用的年基准。"}}},COUPDAYBS:{description:"返回从票息期开始到结算日之间的天数",abstract:"返回从票息期开始到结算日之间的天数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/coupdaybs-%E5%87%BD%E6%95%B0-eb9a8dfb-2fb2-4c61-8e5d-690b320cf872"}],functionParameter:{settlement:{name:"结算日",detail:"有价证券的结算日。"},maturity:{name:"到期日",detail:"有价证券的到期日。"},frequency:{name:"频次",detail:"年付息次数。"},basis:{name:"基准",detail:"要使用的日计数基准类型。"}}},COUPDAYS:{description:"返回包含结算日的票息期天数",abstract:"返回包含结算日的票息期天数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/coupdays-%E5%87%BD%E6%95%B0-cc64380b-315b-4e7b-950c-b30b0a76f671"}],functionParameter:{settlement:{name:"结算日",detail:"有价证券的结算日。"},maturity:{name:"到期日",detail:"有价证券的到期日。"},frequency:{name:"频次",detail:"年付息次数。"},basis:{name:"基准",detail:"要使用的日计数基准类型。"}}},COUPDAYSNC:{description:"返回从结算日到下一票息支付日之间的天数",abstract:"返回从结算日到下一票息支付日之间的天数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/coupdaysnc-%E5%87%BD%E6%95%B0-5ab3f0b2-029f-4a8b-bb65-47d525eea547"}],functionParameter:{settlement:{name:"结算日",detail:"有价证券的结算日。"},maturity:{name:"到期日",detail:"有价证券的到期日。"},frequency:{name:"频次",detail:"年付息次数。"},basis:{name:"基准",detail:"要使用的日计数基准类型。"}}},COUPNCD:{description:"返回结算日之后的下一个票息支付日",abstract:"返回结算日之后的下一个票息支付日",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/coupncd-%E5%87%BD%E6%95%B0-fd962fef-506b-4d9d-8590-16df5393691f"}],functionParameter:{settlement:{name:"结算日",detail:"有价证券的结算日。"},maturity:{name:"到期日",detail:"有价证券的到期日。"},frequency:{name:"频次",detail:"年付息次数。"},basis:{name:"基准",detail:"要使用的日计数基准类型。"}}},COUPNUM:{description:"返回结算日与到期日之间可支付的票息数",abstract:"返回结算日与到期日之间可支付的票息数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/coupnum-%E5%87%BD%E6%95%B0-a90af57b-de53-4969-9c99-dd6139db2522"}],functionParameter:{settlement:{name:"结算日",detail:"有价证券的结算日。"},maturity:{name:"到期日",detail:"有价证券的到期日。"},frequency:{name:"频次",detail:"年付息次数。"},basis:{name:"基准",detail:"要使用的日计数基准类型。"}}},COUPPCD:{description:"返回结算日之前的上一票息支付日",abstract:"返回结算日之前的上一票息支付日",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/couppcd-%E5%87%BD%E6%95%B0-2eb50473-6ee9-4052-a206-77a9a385d5b3"}],functionParameter:{settlement:{name:"结算日",detail:"有价证券的结算日。"},maturity:{name:"到期日",detail:"有价证券的到期日。"},frequency:{name:"频次",detail:"年付息次数。"},basis:{name:"基准",detail:"要使用的日计数基准类型。"}}},CUMIPMT:{description:"返回两个付款期之间累积支付的利息",abstract:"返回两个付款期之间累积支付的利息",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/cumipmt-%E5%87%BD%E6%95%B0-61067bb0-9016-427d-b95b-1a752af0e606"}],functionParameter:{rate:{name:"利率",detail:"利率。"},nper:{name:"总期数",detail:"总付款期数。"},pv:{name:"现值",detail:"现值。"},startPeriod:{name:"首期",detail:"计算中的首期。付款期数从1开始计数。"},endPeriod:{name:"末期",detail:"计算中的末期。"},type:{name:"类型",detail:"付款时间类型。"}}},CUMPRINC:{description:"返回两个付款期之间为贷款累积支付的本金",abstract:"返回两个付款期之间为贷款累积支付的本金",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/cumprinc-%E5%87%BD%E6%95%B0-94a4516d-bd65-41a1-bc16-053a6af4c04d"}],functionParameter:{rate:{name:"利率",detail:"利率。"},nper:{name:"总期数",detail:"总付款期数。"},pv:{name:"现值",detail:"现值。"},startPeriod:{name:"首期",detail:"计算中的首期。付款期数从1开始计数。"},endPeriod:{name:"末期",detail:"计算中的末期。"},type:{name:"类型",detail:"付款时间类型。"}}},DB:{description:"使用固定余额递减法,返回一笔资产在给定期间内的折旧值",abstract:"使用固定余额递减法,返回一笔资产在给定期间内的折旧值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/db-%E5%87%BD%E6%95%B0-354e7d28-5f93-4ff1-8a52-eb4ee549d9d7"}],functionParameter:{cost:{name:"成本",detail:"资产原值。"},salvage:{name:"残值",detail:"折旧末尾时的值(有时也称为资产残值)。"},life:{name:"使用寿命",detail:"资产的折旧期数(有时也称作资产的使用寿命)。"},period:{name:"期间",detail:"要计算折旧的时期。"},month:{name:"月份",detail:"第一年的月份数。如果省略月份,则假定其值为12。"}}},DDB:{description:"使用双倍余额递减法或其他指定方法,返回一笔资产在给定期间内的折旧值",abstract:"使用双倍余额递减法或其他指定方法,返回一笔资产在给定期间内的折旧值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/ddb-%E5%87%BD%E6%95%B0-519a7a37-8772-4c96-85c0-ed2c209717a5"}],functionParameter:{cost:{name:"成本",detail:"资产原值。"},salvage:{name:"残值",detail:"折旧末尾时的值(有时也称为资产残值)。"},life:{name:"使用寿命",detail:"资产的折旧期数(有时也称作资产的使用寿命)。"},period:{name:"期间",detail:"要计算折旧的时期。"},factor:{name:"速率",detail:"余额递减速率。如果省略影响因素,则假定为2(双倍余额递减法)。"}}},DISC:{description:"返回债券的贴现率",abstract:"返回债券的贴现率",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/disc-%E5%87%BD%E6%95%B0-71fce9f3-3f05-4acf-a5a3-eac6ef4daa53"}],functionParameter:{settlement:{name:"结算日",detail:"有价证券的结算日。"},maturity:{name:"到期日",detail:"有价证券的到期日。"},pr:{name:"价格",detail:"有价证券的价格(按面值为¥100计算)。"},redemption:{name:"清偿价",detail:"面值¥100的有价证券的清偿价值。"},basis:{name:"基准",detail:"要使用的日计数基准类型。"}}},DOLLARDE:{description:"将以分数表示的价格转换为以小数表示的价格",abstract:"将以分数表示的价格转换为以小数表示的价格",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/dollarde-%E5%87%BD%E6%95%B0-db85aab0-1677-428a-9dfd-a38476693427"}],functionParameter:{fractionalDollar:{name:"分数",detail:"以整数部份和分数部分表示的数字,用小数点隔开。"},fraction:{name:"分母",detail:"用作分数中的分母的整数。"}}},DOLLARFR:{description:"将以小数表示的价格转换为以分数表示的价格",abstract:"将以小数表示的价格转换为以分数表示的价格",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/dollarfr-%E5%87%BD%E6%95%B0-0835d163-3023-4a33-9824-3042c5d4f495"}],functionParameter:{decimalDollar:{name:"小数",detail:"小数。"},fraction:{name:"分母",detail:"用作分数中的分母的整数。"}}},DURATION:{description:"返回定期支付利息的债券的每年期限",abstract:"返回定期支付利息的债券的每年期限",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/duration-%E5%87%BD%E6%95%B0-b254ea57-eadc-4602-a86a-c8e369334038"}],functionParameter:{settlement:{name:"结算日",detail:"有价证券的结算日。"},maturity:{name:"到期日",detail:"有价证券的到期日。"},coupon:{name:"年息票利率",detail:"有价证券的年息票利率。"},yld:{name:"年收益率",detail:"有价证券的年收益率。"},frequency:{name:"频次",detail:"年付息次数。"},basis:{name:"基准",detail:"要使用的日计数基准类型。"}}},EFFECT:{description:"返回年有效利率",abstract:"返回年有效利率",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/effect-%E5%87%BD%E6%95%B0-910d4e4c-79e2-4009-95e6-507e04f11bc4"}],functionParameter:{nominalRate:{name:"名义利率",detail:"名义利率。"},npery:{name:"期数",detail:"每年的复利期数。"}}},FV:{description:"返回一笔投资的未来值",abstract:"返回一笔投资的未来值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/fv-%E5%87%BD%E6%95%B0-2eef9f44-a084-4c61-bdd8-4fe4bb1b71b3"}],functionParameter:{rate:{name:"利率",detail:"各期利率。"},nper:{name:"总期数",detail:"年金的付款总期数。"},pmt:{name:"金额",detail:"各期所应支付的金额,在整个年金期间保持不变。"},pv:{name:"现值",detail:"现值,或一系列未来付款的当前值的累积和。"},type:{name:"类型",detail:"数字0或1,用以指定各期的付款时间是在期初还是期末。"}}},FVSCHEDULE:{description:"返回应用一系列复利率计算的初始本金的未来值",abstract:"返回应用一系列复利率计算的初始本金的未来值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/fvschedule-%E5%87%BD%E6%95%B0-bec29522-bd87-4082-bab9-a241f3fb251d"}],functionParameter:{principal:{name:"本金",detail:"现值。"},schedule:{name:"利率数组",detail:"要应用的利率数组。"}}},INTRATE:{description:"返回完全投资型债券的利率",abstract:"返回完全投资型债券的利率",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/intrate-%E5%87%BD%E6%95%B0-5cb34dde-a221-4cb6-b3eb-0b9e55e1316f"}],functionParameter:{settlement:{name:"结算日",detail:"有价证券的结算日。"},maturity:{name:"到期日",detail:"有价证券的到期日。"},investment:{name:"投资额",detail:"有价证券的投资额。"},redemption:{name:"清偿价",detail:"有价证券到期时的兑换值。"},basis:{name:"基准",detail:"要使用的日计数基准类型。"}}},IPMT:{description:"返回一笔投资在给定期间内支付的利息",abstract:"返回一笔投资在给定期间内支付的利息",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/ipmt-%E5%87%BD%E6%95%B0-5cce0ad6-8402-4a41-8d29-61a0b054cb6f"}],functionParameter:{rate:{name:"利率",detail:"各期利率。"},per:{name:"期数",detail:"用于计算其利息数额的期数,必须在1到nper之间。"},nper:{name:"总期数",detail:"年金的付款总期数。"},pv:{name:"现值",detail:"现值,或一系列未来付款的当前值的累积和。"},fv:{name:"余额",detail:"未来值,或在最后一次付款后希望得到的现金余额。"},type:{name:"类型",detail:"数字0或1,用以指定各期的付款时间是在期初还是期末。"}}},IRR:{description:"返回一系列现金流的内部收益率",abstract:"返回一系列现金流的内部收益率",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/irr-%E5%87%BD%E6%95%B0-64925eaa-9988-495b-b290-3ad0c163c1bc"}],functionParameter:{values:{name:"现金流",detail:"数组或单元格的引用,这些单元格包含用来计算内部收益率的数字。\n1.Values 必须包含至少一个正值和一个负值,以计算返回的内部收益率。\n2.IRR 使用值的顺序来说明现金流的顺序。 一定要按需要的顺序输入支出值和收益值。\n3.如果数组或引用包含文本、逻辑值或空白单元格,这些数值将被忽略。"},guess:{name:"估计值",detail:"对函数 IRR 计算结果的估计值。"}}},ISPMT:{description:"计算特定投资期内要支付的利息",abstract:"计算特定投资期内要支付的利息",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/ispmt-%E5%87%BD%E6%95%B0-fa58adb6-9d39-4ce0-8f43-75399cea56cc"}],functionParameter:{rate:{name:"利率",detail:"投资的利率。"},per:{name:"期数",detail:"要查找兴趣的时间段,并且必须介于1和Nper之间。"},nper:{name:"总期数",detail:"投资的总支付期数。"},pv:{name:"现值",detail:"投资的现值。对于贷款,Pv是贷款金额。"}}},MDURATION:{description:"返回假设面值为 ¥100 的有价证券的 Macauley 修正期限",abstract:"返回假设面值为 ¥100 的有价证券的 Macauley 修正期限",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/mduration-%E5%87%BD%E6%95%B0-b3786a69-4f20-469a-94ad-33e5b90a763c"}],functionParameter:{settlement:{name:"结算日",detail:"有价证券的结算日。"},maturity:{name:"到期日",detail:"有价证券的到期日。"},coupon:{name:"年息票利率",detail:"有价证券的年息票利率。"},yld:{name:"年收益率",detail:"有价证券的年收益率。"},frequency:{name:"频次",detail:"年付息次数。"},basis:{name:"基准",detail:"要使用的日计数基准类型。"}}},MIRR:{description:"返回正和负现金流以不同利率进行计算的内部收益率",abstract:"返回正和负现金流以不同利率进行计算的内部收益率",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/mirr-%E5%87%BD%E6%95%B0-b020f038-7492-4fb4-93c1-35c345b53524"}],functionParameter:{values:{name:"现金流",detail:"数组或对包含数字的单元格的引用。 这些数值代表一系列定期支出(负值)和收益(正值)。\n1.Values 必须至少包含一个正值和一个负值,才能计算修改后的内部回报率。 否则,MIRR 返回 #DIV/0! 。\n2.如果数组或引用参数包含文本、逻辑值或空白单元格,则这些值将被忽略;但包含零值的单元格将计算在内。"},financeRate:{name:"融资利率",detail:"现金流中使用的资金支付的利率。"},reinvestRate:{name:"再投资收益率",detail:"将现金流再投资的收益率。"}}},NOMINAL:{description:"返回年度的名义利率",abstract:"返回年度的名义利率",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/nominal-%E5%87%BD%E6%95%B0-7f1ae29b-6b92-435e-b950-ad8b190ddd2b"}],functionParameter:{effectRate:{name:"实际利率",detail:"实际利率。"},npery:{name:"期数",detail:"每年的复利期数。"}}},NPER:{description:"返回投资的期数",abstract:"返回投资的期数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/nper-%E5%87%BD%E6%95%B0-240535b5-6653-4d2d-bfcf-b6a38151d815"}],functionParameter:{rate:{name:"利率",detail:"各期利率。"},pmt:{name:"金额",detail:"各期所应支付的金额,在整个年金期间保持不变。"},pv:{name:"现值",detail:"现值,或一系列未来付款的当前值的累积和。"},fv:{name:"余额",detail:"未来值,或在最后一次付款后希望得到的现金余额。"},type:{name:"类型",detail:"数字0或1,用以指定各期的付款时间是在期初还是期末。"}}},NPV:{description:"返回基于一系列定期的现金流和贴现率计算的投资的净现值",abstract:"返回基于一系列定期的现金流和贴现率计算的投资的净现值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/npv-%E5%87%BD%E6%95%B0-8672cb67-2576-4d07-b67b-ac28acf2a568"}],functionParameter:{rate:{name:"贴现率",detail:"某一期间的贴现率。"},value1:{name:"现金流1",detail:"这些是代表支出及收入的 1 到 254 个参数。"},value2:{name:"现金流2",detail:"这些是代表支出及收入的 1 到 254 个参数。"}}},ODDFPRICE:{description:"返回每张票面为 ¥100 且第一期为奇数的债券的现价",abstract:"返回每张票面为 ¥100 且第一期为奇数的债券的现价",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/oddfprice-%E5%87%BD%E6%95%B0-d7d664a8-34df-4233-8d2b-922bcf6a69e1"}],functionParameter:{settlement:{name:"结算日",detail:"有价证券的结算日。"},maturity:{name:"到期日",detail:"有价证券的到期日。"},issue:{name:"发行日",detail:"有价证券的发行日。"},firstCoupon:{name:"首期付息日",detail:"有价证券的首期付息日。"},rate:{name:"利率",detail:"有价证券的利率。"},yld:{name:"年收益率",detail:"有价证券的年收益率。"},redemption:{name:"清偿价",detail:"面值 ¥100 的有价证券的清偿价值。"},frequency:{name:"频次",detail:"年付息次数。 如果按年支付,frequency = 1;按半年期支付,frequency = 2;按季支付,frequency = 4。"},basis:{name:"基准",detail:"要使用的日计数基准类型。"}}},ODDFYIELD:{description:"返回第一期为奇数的债券的收益",abstract:"返回第一期为奇数的债券的收益",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/oddfyield-%E5%87%BD%E6%95%B0-66bc8b7b-6501-4c93-9ce3-2fd16220fe37"}],functionParameter:{settlement:{name:"结算日",detail:"有价证券的结算日。"},maturity:{name:"到期日",detail:"有价证券的到期日。"},issue:{name:"发行日",detail:"有价证券的发行日。"},firstCoupon:{name:"首期付息日",detail:"有价证券的首期付息日。"},rate:{name:"利率",detail:"有价证券的利率。"},pr:{name:"价格",detail:"有价证券的价格。"},redemption:{name:"清偿价",detail:"面值 ¥100 的有价证券的清偿价值。"},frequency:{name:"频次",detail:"年付息次数。 如果按年支付,frequency = 1;按半年期支付,frequency = 2;按季支付,frequency = 4。"},basis:{name:"基准",detail:"要使用的日计数基准类型。"}}},ODDLPRICE:{description:"返回每张票面为 ¥100 且最后一期为奇数的债券的现价",abstract:"返回每张票面为 ¥100 且最后一期为奇数的债券的现价",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/oddlprice-%E5%87%BD%E6%95%B0-fb657749-d200-4902-afaf-ed5445027fc4"}],functionParameter:{settlement:{name:"结算日",detail:"有价证券的结算日。"},maturity:{name:"到期日",detail:"有价证券的到期日。"},lastInterest:{name:"末期付息日",detail:"有价证券的末期付息日。"},rate:{name:"利率",detail:"有价证券的利率。"},yld:{name:"年收益率",detail:"有价证券的年收益率。"},redemption:{name:"清偿价",detail:"面值 ¥100 的有价证券的清偿价值。"},frequency:{name:"频次",detail:"年付息次数。 如果按年支付,frequency = 1;按半年期支付,frequency = 2;按季支付,frequency = 4。"},basis:{name:"基准",detail:"要使用的日计数基准类型。"}}},ODDLYIELD:{description:"返回最后一期为奇数的债券的收益",abstract:"返回最后一期为奇数的债券的收益",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/oddlyield-%E5%87%BD%E6%95%B0-c873d088-cf40-435f-8d41-c8232fee9238"}],functionParameter:{settlement:{name:"结算日",detail:"有价证券的结算日。"},maturity:{name:"到期日",detail:"有价证券的到期日。"},lastInterest:{name:"末期付息日",detail:"有价证券的末期付息日。"},rate:{name:"利率",detail:"有价证券的利率。"},pr:{name:"价格",detail:"有价证券的价格。"},redemption:{name:"清偿价",detail:"面值 ¥100 的有价证券的清偿价值。"},frequency:{name:"频次",detail:"年付息次数。 如果按年支付,frequency = 1;按半年期支付,frequency = 2;按季支付,frequency = 4。"},basis:{name:"基准",detail:"要使用的日计数基准类型。"}}},PDURATION:{description:"返回投资到达指定值所需的期数",abstract:"返回投资到达指定值所需的期数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/pduration-%E5%87%BD%E6%95%B0-44f33460-5be5-4c90-b857-22308892adaf"}],functionParameter:{rate:{name:"利率",detail:"每个周期的利率。"},pv:{name:"现值",detail:"投资的现值。"},fv:{name:"未来价值",detail:"投资的预期未来价值。"}}},PMT:{description:"返回年金的定期支付金额",abstract:"返回年金的定期支付金额",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/pmt-%E5%87%BD%E6%95%B0-0214da64-9a63-4996-bc20-214433fa6441"}],functionParameter:{rate:{name:"利率",detail:"各期利率。"},nper:{name:"总期数",detail:"年金的付款总期数。"},pv:{name:"现值",detail:"现值,或一系列未来付款的当前值的累积和。"},fv:{name:"余额",detail:"未来值,或在最后一次付款后希望得到的现金余额。"},type:{name:"类型",detail:"数字0或1,用以指定各期的付款时间是在期初还是期末。"}}},PPMT:{description:"返回一笔投资在给定期间内偿还的本金",abstract:"返回一笔投资在给定期间内偿还的本金",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/ppmt-%E5%87%BD%E6%95%B0-c370d9e3-7749-4ca4-beea-b06c6ac95e1b"}],functionParameter:{rate:{name:"利率",detail:"各期利率。"},per:{name:"期数",detail:"用于计算其利息数额的期数,必须在1到nper之间。"},nper:{name:"总期数",detail:"年金的付款总期数。"},pv:{name:"现值",detail:"现值,或一系列未来付款的当前值的累积和。"},fv:{name:"余额",detail:"未来值,或在最后一次付款后希望得到的现金余额。"},type:{name:"类型",detail:"数字0或1,用以指定各期的付款时间是在期初还是期末。"}}},PRICE:{description:"返回每张票面为 ¥100 且定期支付利息的债券的现价",abstract:"返回每张票面为 ¥100 且定期支付利息的债券的现价",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/price-%E5%87%BD%E6%95%B0-3ea9deac-8dfa-436f-a7c8-17ea02c21b0a"}],functionParameter:{settlement:{name:"结算日",detail:"有价证券的结算日。"},maturity:{name:"到期日",detail:"有价证券的到期日。"},rate:{name:"利率",detail:"有价证券的利率。"},yld:{name:"年收益率",detail:"有价证券的年收益率。"},redemption:{name:"清偿价",detail:"面值 ¥100 的有价证券的清偿价值。"},frequency:{name:"频次",detail:"年付息次数。 如果按年支付,frequency = 1;按半年期支付,frequency = 2;按季支付,frequency = 4。"},basis:{name:"基准",detail:"要使用的日计数基准类型。"}}},PRICEDISC:{description:"返回每张票面为 ¥100 的已贴现债券的现价",abstract:"返回每张票面为 ¥100 的已贴现债券的现价",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/pricedisc-%E5%87%BD%E6%95%B0-d06ad7c1-380e-4be7-9fd9-75e3079acfd3"}],functionParameter:{settlement:{name:"结算日",detail:"有价证券的结算日。"},maturity:{name:"到期日",detail:"有价证券的到期日。"},discount:{name:"贴现率",detail:"有价证券的贴现率。"},redemption:{name:"清偿价",detail:"面值 ¥100 的有价证券的清偿价值。"},basis:{name:"基准",detail:"要使用的日计数基准类型。"}}},PRICEMAT:{description:"返回每张票面为 ¥100 且在到期日支付利息的债券的现价",abstract:"返回每张票面为 ¥100 且在到期日支付利息的债券的现价",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/pricemat-%E5%87%BD%E6%95%B0-52c3b4da-bc7e-476a-989f-a95f675cae77"}],functionParameter:{settlement:{name:"结算日",detail:"有价证券的结算日。"},maturity:{name:"到期日",detail:"有价证券的到期日。"},issue:{name:"发行日",detail:"有价证券的发行日。"},rate:{name:"利率",detail:"有价证券的利率。"},yld:{name:"年收益率",detail:"有价证券的年收益率。"},basis:{name:"基准",detail:"要使用的日计数基准类型。"}}},PV:{description:"返回投资的现值",abstract:"返回投资的现值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/pv-%E5%87%BD%E6%95%B0-23879d31-0e02-4321-be01-da16e8168cbd"}],functionParameter:{rate:{name:"利率",detail:"各期利率。"},nper:{name:"总期数",detail:"年金的付款总期数。"},pmt:{name:"金额",detail:"各期所应支付的金额,在整个年金期间保持不变。"},fv:{name:"余额",detail:"未来值,或在最后一次付款后希望得到的现金余额。"},type:{name:"类型",detail:"数字0或1,用以指定各期的付款时间是在期初还是期末。"}}},RATE:{description:"返回年金的各期利率",abstract:"返回年金的各期利率",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/rate-%E5%87%BD%E6%95%B0-9f665657-4a7e-4bb7-a030-83fc59e748ce"}],functionParameter:{nper:{name:"总期数",detail:"年金的付款总期数。"},pmt:{name:"金额",detail:"各期所应支付的金额,在整个年金期间保持不变。"},pv:{name:"现值",detail:"现值,或一系列未来付款的当前值的累积和。"},fv:{name:"余额",detail:"未来值,或在最后一次付款后希望得到的现金余额。"},type:{name:"类型",detail:"数字0或1,用以指定各期的付款时间是在期初还是期末。"},guess:{name:"猜测值",detail:"预期利率。"}}},RECEIVED:{description:"返回完全投资型债券在到期日收回的金额",abstract:"返回完全投资型债券在到期日收回的金额",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/received-%E5%87%BD%E6%95%B0-7a3f8b93-6611-4f81-8576-828312c9b5e5"}],functionParameter:{settlement:{name:"结算日",detail:"有价证券的结算日。"},maturity:{name:"到期日",detail:"有价证券的到期日。"},investment:{name:"投资额",detail:"有价证券的投资额。"},discount:{name:"贴现率",detail:"有价证券的贴现率。"},basis:{name:"基准",detail:"要使用的日计数基准类型。"}}},RRI:{description:"返回某项投资增长的等效利率",abstract:"返回某项投资增长的等效利率",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/rri-%E5%87%BD%E6%95%B0-6f5822d8-7ef1-4233-944c-79e8172930f4"}],functionParameter:{nper:{name:"总期数",detail:"投资的周期数。"},pv:{name:"现值",detail:"投资的现值。"},fv:{name:"未来价值",detail:"投资的未来价值。"}}},SLN:{description:"返回固定资产的每期线性折旧费",abstract:"返回固定资产的每期线性折旧费",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/sln-%E5%87%BD%E6%95%B0-cdb666e5-c1c6-40a7-806a-e695edc2f1c8"}],functionParameter:{cost:{name:"资产原值",detail:"资产原值。"},salvage:{name:"资产残值",detail:"折旧末尾时的值(有时也称为资产残值)。"},life:{name:"资产使用寿命",detail:"资产的折旧期数(有时也称作资产的使用寿命)。"}}},SYD:{description:"返回某项固定资产按年限总和折旧法计算的每期折旧金额",abstract:"返回某项固定资产按年限总和折旧法计算的每期折旧金额",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/syd-%E5%87%BD%E6%95%B0-069f8106-b60b-4ca2-98e0-2a0f206bdb27"}],functionParameter:{cost:{name:"资产原值",detail:"资产原值。"},salvage:{name:"资产残值",detail:"折旧末尾时的值(有时也称为资产残值)。"},life:{name:"资产使用寿命",detail:"资产的折旧期数(有时也称作资产的使用寿命)。"},per:{name:"期间",detail:"期间。"}}},TBILLEQ:{description:"返回国库券的等价债券收益",abstract:"返回国库券的等价债券收益",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/tbilleq-%E5%87%BD%E6%95%B0-2ab72d90-9b4d-4efe-9fc2-0f81f2c19c8c"}],functionParameter:{settlement:{name:"结算日",detail:"国库券的结算日。"},maturity:{name:"到期日",detail:"国库券的到期日。"},discount:{name:"贴现率",detail:"国库券的贴现率。"}}},TBILLPRICE:{description:"返回面值 ¥100 的国库券的价格",abstract:"返回面值 ¥100 的国库券的价格",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/tbillprice-%E5%87%BD%E6%95%B0-eacca992-c29d-425a-9eb8-0513fe6035a2"}],functionParameter:{settlement:{name:"结算日",detail:"国库券的结算日。"},maturity:{name:"到期日",detail:"国库券的到期日。"},discount:{name:"贴现率",detail:"国库券的贴现率。"}}},TBILLYIELD:{description:"返回国库券的收益率",abstract:"返回国库券的收益率",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/tbillyield-%E5%87%BD%E6%95%B0-6d381232-f4b0-4cd5-8e97-45b9c03468ba"}],functionParameter:{settlement:{name:"结算日",detail:"国库券的结算日。"},maturity:{name:"到期日",detail:"国库券的到期日。"},pr:{name:"价格",detail:"面值 ¥100 的国库券的价格。"}}},VDB:{description:"使用余额递减法,返回一笔资产在给定期间或部分期间内的折旧值",abstract:"使用余额递减法,返回一笔资产在给定期间或部分期间内的折旧值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/vdb-%E5%87%BD%E6%95%B0-dde4e207-f3fa-488d-91d2-66d55e861d73"}],functionParameter:{cost:{name:"成本",detail:"资产原值。"},salvage:{name:"残值",detail:"折旧末尾时的值(有时也称为资产残值)。"},life:{name:"使用寿命",detail:"资产的折旧期数(有时也称作资产的使用寿命)。"},startPeriod:{name:"起始时期",detail:"要计算折旧的起始时期。"},endPeriod:{name:"终止时期",detail:"要计算折旧的终止时期。"},factor:{name:"速率",detail:"余额递减速率。如果省略影响因素,则假定为2(双倍余额递减法)。"},noSwitch:{name:"不切换",detail:"逻辑值,指定当折旧值大于余额递减计算值时,是否转用直线折旧法。"}}},XIRR:{description:"返回一组现金流的内部收益率,这些现金流不一定定期发生",abstract:"返回一组现金流的内部收益率,这些现金流不一定定期发生",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/xirr-%E5%87%BD%E6%95%B0-de1242ec-6477-445b-b11b-a303ad9adc9d"}],functionParameter:{values:{name:"现金流",detail:"与 dates 中的支付时间相对应的一系列现金流。 首期支付是可选的,并与投资开始时的成本或支付有关。 如果第一个值是成本或支付,则它必须是负值。 所有后续支付都基于 365 天/年贴现。 值系列中必须至少包含一个正值和一个负值。"},dates:{name:"日期表",detail:"与现金流支付相对应的支付日期表。 日期可以按任意顺序出现。"},guess:{name:"估计值",detail:"对函数 XIRR 计算结果的估计值。"}}},XNPV:{description:"返回一组现金流的净现值,这些现金流不一定定期发生",abstract:"返回一组现金流的净现值,这些现金流不一定定期发生",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/xnpv-%E5%87%BD%E6%95%B0-1b42bbf6-370f-4532-a0eb-d67c16b664b7"}],functionParameter:{rate:{name:"贴现率",detail:"应用于现金流的贴现率。"},values:{name:"现金流",detail:"与 dates 中的支付时间相对应的一系列现金流。 首期支付是可选的,并与投资开始时的成本或支付有关。 如果第一个值是成本或支付,则它必须是负值。 所有后续支付都基于 365 天/年贴现。 值系列中必须至少包含一个正值和一个负值。"},dates:{name:"日期表",detail:"与现金流支付相对应的支付日期表。 日期可以按任意顺序出现。"}}},YIELD:{description:"返回定期支付利息的债券的收益",abstract:"返回定期支付利息的债券的收益",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/yield-%E5%87%BD%E6%95%B0-f5f5ca43-c4bd-434f-8bd2-ed3c9727a4fe"}],functionParameter:{settlement:{name:"结算日",detail:"有价证券的结算日。"},maturity:{name:"到期日",detail:"有价证券的到期日。"},rate:{name:"利率",detail:"有价证券的利率。"},pr:{name:"价格",detail:"有价证券的价格(按面值为 ¥100 计算)。"},redemption:{name:"清偿价",detail:"面值 ¥100 的有价证券的清偿价值。"},frequency:{name:"频次",detail:"年付息次数。 如果按年支付,frequency = 1;按半年期支付,frequency = 2;按季支付,frequency = 4。"},basis:{name:"基准",detail:"要使用的日计数基准类型。"}}},YIELDDISC:{description:"返回已贴现债券的年收益;例如,短期国库券",abstract:"返回已贴现债券的年收益;例如,短期国库券",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/yielddisc-%E5%87%BD%E6%95%B0-a9dbdbae-7dae-46de-b995-615faffaaed7"}],functionParameter:{settlement:{name:"结算日",detail:"有价证券的结算日。"},maturity:{name:"到期日",detail:"有价证券的到期日。"},pr:{name:"价格",detail:"有价证券的价格(按面值为 ¥100 计算)。"},redemption:{name:"清偿价",detail:"面值 ¥100 的有价证券的清偿价值。"},basis:{name:"基准",detail:"要使用的日计数基准类型。"}}},YIELDMAT:{description:"返回在到期日支付利息的债券的年收益",abstract:"返回在到期日支付利息的债券的年收益",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/yieldmat-%E5%87%BD%E6%95%B0-ba7d1809-0d33-4bcb-96c7-6c56ec62ef6f"}],functionParameter:{settlement:{name:"结算日",detail:"有价证券的结算日。"},maturity:{name:"到期日",detail:"有价证券的到期日。"},issue:{name:"发行日",detail:"有价证券的发行日。"},rate:{name:"利率",detail:"有价证券的利率。"},pr:{name:"价格",detail:"有价证券的价格(按面值为 ¥100 计算)。"},basis:{name:"基准",detail:"要使用的日计数基准类型。"}}},DATE:{description:"采用三个单独的值并将它们合并为一个日期。",abstract:"返回特定日期的序列号",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/date-%E5%87%BD%E6%95%B0-e36c0c8c-4104-49da-ab83-82328b832349"}],functionParameter:{year:{name:"年",detail:"可以包含 1 到 4 位数字。 Excel 根据计算机使用的日期系统解释 year 参数。 默认情况下,Univer 使用 1900 日期系统,这意味着第一个日期是 1900 年 1 月 1 日。"},month:{name:"月",detail:"一个正整数或负整数,表示一年中从 1 月至 12 月(一月到十二月)的各个月。"},day:{name:"日",detail:"一个正整数或负整数,表示一月中从 1 日到 31 日的各天。"}}},DATEDIF:{description:"计算两个日期之间的天数、月数或年数。 此函数在用于计算年龄的公式中很有用。",abstract:"计算两个日期之间的天数、月数或年数。 此函数在用于计算年龄的公式中很有用。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/datedif-%E5%87%BD%E6%95%B0-25dba1a4-2812-480b-84dd-8b32a451b35c"}],functionParameter:{startDate:{name:"开始日期",detail:"表示给定时间段的第一个或开始日期的日期。"},endDate:{name:"结束日期",detail:"用于表示时间段的最后一个(即结束)日期的日期。"},method:{name:"信息类型",detail:"要返回的信息类型。"}}},DATEVALUE:{description:"将文本格式的日期转换为序列号。",abstract:"将文本格式的日期转换为序列号",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/datevalue-%E5%87%BD%E6%95%B0-df8b07d4-7761-4a93-bc33-b7471bbff252"}],functionParameter:{dateText:{name:"日期文本",detail:"表示 Excel 日期格式的日期的文本,或对包含表示 Excel 日期格式的日期的文本的单元格的引用。 例如,“1/30/2008”或“30-Jan-2008”是表示日期的引号内的文本字符串。\n使用 Microsoft Excel for Windows 中的默认日期系统, date_text 参数必须表示 1900 年 1 月 1 日至 9999 年 12 月 31 日的日期。 DATEVALUE 函数返回 #VALUE! 如果 date_text 参数的值超出此范围,则为 error 值。\n如果省略参数 date_text 中的年份部分,则 DATEVALUE 函数会使用计算机内置时钟的当前年份。 参数 date_text 中的时间信息将被忽略。"}}},DAY:{description:"返回以序列数表示的某日期的天数。天数是介于 1 到 31 之间的整数。",abstract:"将序列号转换为月份日期",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/day-%E5%87%BD%E6%95%B0-8a7d1cbb-6c7d-4ba1-8aea-25c134d03101"}],functionParameter:{serialNumber:{name:"日期序列号",detail:"要查找的日期。 应使用 DATE 函数输入日期,或者将日期作为其他公式或函数的结果输入。 例如,使用函数 DATE(2008,5,23) 输入 2008 年 5 月 23 日。"}}},DAYS:{description:"返回两个日期之间的天数",abstract:"返回两个日期之间的天数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/days-%E5%87%BD%E6%95%B0-57740535-d549-4395-8728-0f07bff0b9df"}],functionParameter:{endDate:{name:"结束日期",detail:"是用于计算期间天数的起止日期。"},startDate:{name:"开始日期",detail:"是用于计算期间天数的起止日期。"}}},DAYS360:{description:"以一年 360 天为基准计算两个日期间的天数",abstract:"以一年 360 天为基准计算两个日期间的天数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/days360-%E5%87%BD%E6%95%B0-b9a509fd-49ef-407e-94df-0cbda5718c2a"}],functionParameter:{startDate:{name:"开始日期",detail:"是用于计算期间天数的起止日期。"},endDate:{name:"结束日期",detail:"是用于计算期间天数的起止日期。"},method:{name:"方法",detail:"逻辑值,用于指定在计算中是采用美国方法 还是欧洲方法。"}}},EDATE:{description:"返回表示某个日期的序列号,该日期与指定日期 (start_date) 相隔(之前或之后)指示的月份数。 使用函数 EDATE 可以计算与发行日处于一月中同一天的到期日的日期。",abstract:"返回用于表示开始日期之前或之后月数的日期的序列号",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/edate-%E5%87%BD%E6%95%B0-3c920eb2-6e66-44e7-a1f5-753ae47ee4f5"}],functionParameter:{startDate:{name:"开始日期",detail:"一个代表开始日期的日期。 应使用 DATE 函数输入日期,或者将日期作为其他公式或函数的结果输入。 例如,使用函数 DATE(2008,5,23) 输入 2008 年 5 月 23 日。"},months:{name:"月份",detail:"Start Date 之前或之后的月份数。 Months 为正值将生成未来日期;为负值将生成过去日期。"}}},EOMONTH:{description:"返回指定月数之前或之后的月份的最后一天的序列号",abstract:"返回指定月数之前或之后的月份的最后一天的序列号",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/eomonth-%E5%87%BD%E6%95%B0-7314ffa1-2bc9-4005-9d66-f49db127d628"}],functionParameter:{startDate:{name:"开始日期",detail:"表示开始日期的日期。"},months:{name:"月份数",detail:"开始日期之前或之后的月份数。"}}},EPOCHTODATE:{description:"将 Unix 纪元时间戳(以秒、毫秒或微秒为单位)转换为世界协调时间 (UTC) 的日期时间",abstract:"将 Unix 纪元时间戳(以秒、毫秒或微秒为单位)转换为世界协调时间 (UTC) 的日期时间",links:[{title:"教学",url:"https://support.google.com/docs/answer/13193461?hl=zh-Hans&sjid=2155433538747546473-AP"}],functionParameter:{timestamp:{name:"时间戳",detail:"Unix 纪元时间戳(以秒、毫秒或微秒为单位)。"},unit:{name:"时间单位",detail:"表示时间戳的时间单位。默认情况为 1: \n1 表示时间单位是秒。\n2 表示时间单位是毫秒。\n3 表示时间单位是微秒。"}}},HOUR:{description:"将序列号转换为小时",abstract:"将序列号转换为小时",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/hour-%E5%87%BD%E6%95%B0-a3afa879-86cb-4339-b1b5-2dd2d7310ac7"}],functionParameter:{serialNumber:{name:"日期序列号",detail:"要查找的日期。 应使用 DATE 函数输入日期,或者将日期作为其他公式或函数的结果输入。 例如,使用函数 DATE(2008,5,23) 输入 2008 年 5 月 23 日。"}}},ISOWEEKNUM:{description:"返回给定日期在全年中的 ISO 周数",abstract:"返回给定日期在全年中的 ISO 周数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/isoweeknum-%E5%87%BD%E6%95%B0-1c2d0afe-d25b-4ab1-8894-8d0520e90e0e"}],functionParameter:{date:{name:"日期",detail:"用于日期和时间计算的日期时间代码。"}}},MINUTE:{description:"将序列号转换为分钟",abstract:"将序列号转换为分钟",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/minute-%E5%87%BD%E6%95%B0-af728df0-05c4-4b07-9eed-a84801a60589"}],functionParameter:{serialNumber:{name:"日期序列号",detail:"要查找的日期。 应使用 DATE 函数输入日期,或者将日期作为其他公式或函数的结果输入。 例如,使用函数 DATE(2008,5,23) 输入 2008 年 5 月 23 日。"}}},MONTH:{description:"返回日期(以序列数表示)中的月份。 月份是介于 1(一月)到 12(十二月)之间的整数。",abstract:"将序列号转换为月",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/month-%E5%87%BD%E6%95%B0-579a2881-199b-48b2-ab90-ddba0eba86e8"}],functionParameter:{serialNumber:{name:"日期序列号",detail:"要查找的月份的日期。 应使用 DATE 函数输入日期,或者将日期作为其他公式或函数的结果输入。 例如,使用函数 DATE(2008,5,23) 输入 2008 年 5 月 23 日。"}}},NETWORKDAYS:{description:"返回两个日期间的完整工作日的天数",abstract:"返回两个日期间的完整工作日的天数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/networkdays-%E5%87%BD%E6%95%B0-48e717bf-a7a3-495f-969e-5005e3eb18e7"}],functionParameter:{startDate:{name:"开始日期",detail:"一个代表开始日期的日期。"},endDate:{name:"终止日期",detail:"一个代表终止日期的日期。"},holidays:{name:"假期",detail:"不在工作日历中的一个或多个日期所构成的可选区域。"}}},NETWORKDAYS_INTL:{description:"返回两个日期之间的完整工作日的天数(使用参数指明周末有几天并指明是哪几天)",abstract:"返回两个日期之间的完整工作日的天数(使用参数指明周末有几天并指明是哪几天)",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/networkdays-intl-%E5%87%BD%E6%95%B0-a9b26239-4f20-46a1-9ab8-4e925bfd5e28"}],functionParameter:{startDate:{name:"开始日期",detail:"一个代表开始日期的日期。"},endDate:{name:"终止日期",detail:"一个代表终止日期的日期。"},weekend:{name:"周末",detail:"是一个用于指定周末日的周末数字或字符串。"},holidays:{name:"假期",detail:"不在工作日历中的一个或多个日期所构成的可选区域。"}}},NOW:{description:"返回当前日期和时间的序列号。",abstract:"返回当前日期和时间的序列号",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/now-%E5%87%BD%E6%95%B0-3337fd29-145a-4347-b2e6-20c904739c46"}],functionParameter:{}},SECOND:{description:"将序列号转换为秒",abstract:"将序列号转换为秒",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/second-%E5%87%BD%E6%95%B0-740d1cfc-553c-4099-b668-80eaa24e8af1"}],functionParameter:{serialNumber:{name:"日期序列号",detail:"要查找的日期。 应使用 DATE 函数输入日期,或者将日期作为其他公式或函数的结果输入。 例如,使用函数 DATE(2008,5,23) 输入 2008 年 5 月 23 日。"}}},TIME:{description:"返回特定时间的序列号。",abstract:"返回特定时间的序列号",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/time-%E5%87%BD%E6%95%B0-9a5aff99-8f7d-4611-845e-747d0b8d5457"}],functionParameter:{hour:{name:"小时",detail:"0(零)到 32767 之间的数字,代表小时。 任何大于 23 的值都会除以 24,余数将作为小时值。 例如,TIME(27,0,0) = TIME(3,0,0) = .125 或 3:00 AM。"},minute:{name:"分钟",detail:" 0 到 32767 之间的数字,代表分钟。 任何大于 59 的值将转换为小时和分钟。 例如,TIME(0,750,0) = TIME(12,30,0) = .520833 或 12:30 PM。"},second:{name:"秒",detail:"0 到 32767 之间的数字,代表秒。 任何大于 59 的值将转换为小时、分钟和秒。 例如,TIME(0,0,2000) = TIME(0,33,22) = .023148 或 12:33:20 AM。"}}},TIMEVALUE:{description:"将文本格式的时间转换为序列号。",abstract:"将文本格式的时间转换为序列号",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/timevalue-%E5%87%BD%E6%95%B0-0b615c12-33d8-4431-bf3d-f3eb6d186645"}],functionParameter:{timeText:{name:"时间文本",detail:'一个文本字符串,代表以任一时间格式表示的时间(例如,代表时间的具有引号的文本字符串 "6:45 PM" 和 "18:45")。'}}},TO_DATE:{description:"将提供的数字转换为日期",abstract:"将提供的数字转换为日期",links:[{title:"教学",url:"https://support.google.com/docs/answer/3094239?hl=zh-Hans&sjid=2155433538747546473-AP"}],functionParameter:{value:{name:"值",detail:"要转换为日期的参数或其单元格引用。"}}},TODAY:{description:"返回今天日期的序列号",abstract:"返回今天日期的序列号",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/today-%E5%87%BD%E6%95%B0-5eb3078d-a82c-4736-8930-2f51a028fdd9"}],functionParameter:{}},WEEKDAY:{description:"将序列号转换为星期日期",abstract:"将序列号转换为星期日期",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/weekday-%E5%87%BD%E6%95%B0-60e44483-2ed1-439f-8bd0-e404c190949a"}],functionParameter:{serialNumber:{name:"日期序列号",detail:"一个序列号,代表尝试查找的那一天的日期。"},returnType:{name:"返回值类型",detail:"用于确定返回值类型的数字。"}}},WEEKNUM:{description:"将序列号转换为代表该星期为一年中第几周的数字",abstract:"将序列号转换为代表该星期为一年中第几周的数字",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/weeknum-%E5%87%BD%E6%95%B0-e5c43a03-b4ab-426c-b411-b18c13c75340"}],functionParameter:{serialNumber:{name:"日期序列号",detail:"代表一周中的日期。"},returnType:{name:"返回值类型",detail:"一数字,确定星期从哪一天开始。 默认值为 1。"}}},WORKDAY:{description:"返回指定的若干个工作日之前或之后的日期的序列号",abstract:"返回指定的若干个工作日之前或之后的日期的序列号",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/workday-%E5%87%BD%E6%95%B0-f764a5b7-05fc-4494-9486-60d494efbf33"}],functionParameter:{startDate:{name:"开始日期",detail:"一个代表开始日期的日期。"},days:{name:"天数",detail:"开始日期之前或之后不含周末及节假日的天数。为正值将生成未来日期;为负值生成过去日期。"},holidays:{name:"假期",detail:"不在工作日历中的一个或多个日期所构成的可选区域。"}}},WORKDAY_INTL:{description:"返回日期在指定的工作日天数之前或之后的序列号(使用参数指明周末有几天并指明是哪几天)",abstract:"返回日期在指定的工作日天数之前或之后的序列号(使用参数指明周末有几天并指明是哪几天)",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/workday-intl-%E5%87%BD%E6%95%B0-a378391c-9ba7-4678-8a39-39611a9bf81d"}],functionParameter:{startDate:{name:"开始日期",detail:"一个代表开始日期的日期。"},days:{name:"天数",detail:"开始日期之前或之后不含周末及节假日的天数。为正值将生成未来日期;为负值生成过去日期。"},weekend:{name:"周末",detail:"是一个用于指定周末日的周末数字或字符串"},holidays:{name:"假期",detail:"不在工作日历中的一个或多个日期所构成的可选区域。"}}},YEAR:{description:"返回对应于某个日期的年份。 Year 作为 1900 - 9999 之间的整数返回。",abstract:"将序列号转换为年",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/year-%E5%87%BD%E6%95%B0-c64f017a-1354-490d-981f-578e8ec8d3b9"}],functionParameter:{serialNumber:{name:"日期序列号",detail:"要查找的年份的日期。 应使用 DATE 函数输入日期,或者将日期作为其他公式或函数的结果输入。 例如,使用函数 DATE(2008,5,23) 输入 2008 年 5 月 23 日。"}}},YEARFRAC:{description:"返回代表 start_date 和 end_date 之间整天天数的年分数",abstract:"返回代表 start_date 和 end_date 之间整天天数的年分数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/yearfrac-%E5%87%BD%E6%95%B0-3844141e-c76d-4143-82b6-208454ddc6a8"}],functionParameter:{startDate:{name:"开始日期",detail:"一个代表开始日期的日期。"},endDate:{name:"结束日期",detail:"一个代表终止日期的日期。"},basis:{name:"基准类型",detail:"要使用的日计数基准类型。"}}},ABS:{description:"返回数字的绝对值。一个数字的绝对值是该数字不带其符号的形式。",abstract:"返回数字的绝对值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/abs-%E5%87%BD%E6%95%B0-3420200f-5628-4e8c-99da-c99d7c87713c"}],functionParameter:{number:{name:"数值",detail:"需要计算其绝对值的实数。"}}},ACOS:{description:"返回数字的反余弦值。 反余弦值是指余弦值为 number 的角度。 返回的角度以弧度表示,弧度值在 0(零)到 pi 之间。",abstract:"返回数字的反余弦值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/acos-%E5%87%BD%E6%95%B0-cb73173f-d089-4582-afa1-76e5524b5d5b"}],functionParameter:{number:{name:"数值",detail:"所求角度的余弦值,必须介于 -1 到 1 之间。"}}},ACOSH:{description:"返回数字的反双曲余弦值。 该数字必须大于或等于 1。 反双曲余弦值是指双曲余弦值为 number 的值,因此 ACOSH(COSH(number)) 等于 number。",abstract:"返回数字的反双曲余弦值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/acosh-%E5%87%BD%E6%95%B0-e3992cc1-103f-4e72-9f04-624b9ef5ebfe"}],functionParameter:{number:{name:"数值",detail:"大于或等于 1 的任意实数。"}}},ACOT:{description:"返回数字的反余切值的主值。",abstract:"返回一个数的反余切值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/acot-%E5%87%BD%E6%95%B0-dc7e5008-fe6b-402e-bdd6-2eea8383d905"}],functionParameter:{number:{name:"数值",detail:"数字是需要的角度的正切值。 这必须是实数。"}}},ACOTH:{description:"返回数字的反双曲余切值。",abstract:"返回一个数的双曲反余切值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/acoth-%E5%87%BD%E6%95%B0-cc49480f-f684-4171-9fc5-73e4e852300f"}],functionParameter:{number:{name:"数值",detail:"数字的绝对值必须大于 1。"}}},AGGREGATE:{description:"返回列表或数据库中的聚合",abstract:"返回列表或数据库中的聚合",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/aggregate-%E5%87%BD%E6%95%B0-43b9278e-6aa7-4f17-92b6-e19993fa26df"}],functionParameter:{functionNum:{name:"函数编号",detail:"一个介于 1 到 19 之间的数字,指定要使用的函数。"},options:{name:"选项",detail:"一个数值,决定在函数的计算区域内要忽略哪些值。"},ref1:{name:"引用1",detail:"函数的第一个数值参数,这些函数具有要计算聚合值的多个数值参数。"},ref2:{name:"引用2",detail:"要计算聚合值的 2 至 252 个数值参数。"}}},ARABIC:{description:"将罗马数字转换为阿拉伯数字",abstract:"将罗马数字转换为阿拉伯数字",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/arabic-%E5%87%BD%E6%95%B0-9a8da418-c17b-4ef9-a657-9370a30a674f"}],functionParameter:{text:{name:"文本",detail:'用引号括起来的字符串、 ("") 的空字符串或对包含文本的单元格的引用。'}}},ASIN:{description:"返回数字的反正弦值。",abstract:"返回数字的反正弦值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/asin-%E5%87%BD%E6%95%B0-81fb95e5-6d6f-48c4-bc45-58f955c6d347"}],functionParameter:{number:{name:"数值",detail:" 所求角度的正弦值,必须介于 -1 到 1 之间。"}}},ASINH:{description:"返回数字的反双曲正弦值。",abstract:"返回数字的反双曲正弦值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/asinh-%E5%87%BD%E6%95%B0-4e00475a-067a-43cf-926a-765b0249717c"}],functionParameter:{number:{name:"数值",detail:"任意实数。"}}},ATAN:{description:"返回数字的反正切值。",abstract:"返回数字的反正切值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/atan-%E5%87%BD%E6%95%B0-50746fa8-630a-406b-81d0-4a2aed395543"}],functionParameter:{number:{name:"数值",detail:"所求角度的正切值。"}}},ATAN2:{description:"返回 X 和 Y 坐标的反正切值。",abstract:"返回 X 和 Y 坐标的反正切值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/atan2-%E5%87%BD%E6%95%B0-c04592ab-b9e3-4908-b428-c96b3a565033"}],functionParameter:{xNum:{name:"x 坐标",detail:"点的 x 坐标。"},yNum:{name:"y 坐标",detail:"点的 y 坐标。"}}},ATANH:{description:"返回数字的反双曲正切值。",abstract:"返回数字的反双曲正切值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/atanh-%E5%87%BD%E6%95%B0-3cd65768-0de7-4f1d-b312-d01c8c930d90"}],functionParameter:{number:{name:"数值",detail:"-1 到 1 之间的任意实数。"}}},BASE:{description:"将一个数转换为具有给定基数的文本表示",abstract:"将一个数转换为具有给定基数的文本表示",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/base-%E5%87%BD%E6%95%B0-2ef61411-aee9-4f29-a811-1c42456c6342"}],functionParameter:{number:{name:"数值",detail:"要转换的数字。必须是大于或等于 0 且小于 2^53 的整数。"},radix:{name:"基数",detail:"要将数字转换为的基数。必须是大于或等于 2 且小于或等于 36 的整数。"},minLength:{name:"最小长度",detail:"返回的字符串的最小长度。必须是大于或等于 0 的整数。"}}},CEILING:{description:"将数字舍入为最接近的整数或最接近的指定基数的倍数",abstract:"将数字舍入为最接近的整数或最接近的指定基数的倍数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/ceiling-%E5%87%BD%E6%95%B0-0a5cd7c8-0720-4f0a-bd2c-c943e510899f"}],functionParameter:{number:{name:"数值",detail:"要舍入的值。"},significance:{name:"倍数",detail:"要舍入到的倍数。"}}},CEILING_MATH:{description:"将数字向上舍入为最接近的整数或最接近的指定基数的倍数",abstract:"将数字向上舍入为最接近的整数或最接近的指定基数的倍数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/ceiling-math-%E5%87%BD%E6%95%B0-80f95d2f-b499-4eee-9f16-f795a8e306c8"}],functionParameter:{number:{name:"数值",detail:"要舍入的值。"},significance:{name:"倍数",detail:"要舍入到的倍数。"},mode:{name:"众数",detail:"对于负数,控制数值是舍入为零还是从零舍入。"}}},CEILING_PRECISE:{description:"将数字舍入为最接近的整数或最接近的指定基数的倍数。 无论该数字的符号如何,该数字都向上舍入。",abstract:"将数字舍入为最接近的整数或最接近的指定基数的倍数。 无论该数字的符号如何,该数字都向上舍入。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/ceiling-precise-%E5%87%BD%E6%95%B0-f366a774-527a-4c92-ba49-af0a196e66cb"}],functionParameter:{number:{name:"数值",detail:"要舍入的值。"},significance:{name:"倍数",detail:"要舍入到的倍数。"}}},COMBIN:{description:"返回给定数目对象的组合数",abstract:"返回给定数目对象的组合数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/combin-%E5%87%BD%E6%95%B0-12a3f276-0a21-423a-8de6-06990aaf638a"}],functionParameter:{number:{name:"总数",detail:"项目的数量。"},numberChosen:{name:"样品数量",detail:"每一组合中项目的数量。"}}},COMBINA:{description:"返回给定数目对象具有重复项的组合数",abstract:"返回给定数目对象具有重复项的组合数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/combina-%E5%87%BD%E6%95%B0-efb49eaa-4f4c-4cd2-8179-0ddfcf9d035d"}],functionParameter:{number:{name:"总数",detail:"项目的数量。"},numberChosen:{name:"样品数量",detail:"每一组合中项目的数量。"}}},COS:{description:"返回数字的余弦值。",abstract:"返回数字的余弦值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/cos-%E5%87%BD%E6%95%B0-0fb808a5-95d6-4553-8148-22aebdce5f05"}],functionParameter:{number:{name:"数值",detail:"想要求余弦的角度,以弧度表示。"}}},COSH:{description:"返回数字的双曲余弦值",abstract:"返回数字的双曲余弦值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/cosh-%E5%87%BD%E6%95%B0-e460d426-c471-43e8-9540-a57ff3b70555"}],functionParameter:{number:{name:"数值",detail:"想要求双曲余弦的任意实数。"}}},COT:{description:"返回以弧度表示的角度的余切值。",abstract:"指定角度的余切值(以弧度表示)",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/cot-%E5%87%BD%E6%95%B0-c446f34d-6fe4-40dc-84f8-cf59e5f5e31a"}],functionParameter:{number:{name:"数值",detail:"需要余切值的角度(以弧度为单位)。"}}},COTH:{description:"返回数字的双曲余切值",abstract:"返回数字的双曲余切值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/coth-%E5%87%BD%E6%95%B0-2e0b4cb6-0ba0-403e-aed4-deaa71b49df5"}],functionParameter:{number:{name:"数值",detail:"想要求双曲余切的任意实数。"}}},CSC:{description:"返回角度的余割值,以弧度表示。",abstract:"返回角度的余割值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/csc-%E5%87%BD%E6%95%B0-07379361-219a-4398-8675-07ddc4f135c1"}],functionParameter:{number:{name:"数值",detail:"想要求余割的角度,以弧度表示。"}}},CSCH:{description:"返回角度的双曲余割值",abstract:"返回角度的双曲余割值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/csch-%E5%87%BD%E6%95%B0-f58f2c22-eb75-4dd6-84f4-a503527f8eeb"}],functionParameter:{number:{name:"数值",detail:"想要求双曲余割值的角度,以弧度表示。"}}},DECIMAL:{description:"将给定基数内的数的文本表示转换为十进制数",abstract:"将给定基数内的数的文本表示转换为十进制数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/decimal-%E5%87%BD%E6%95%B0-ee554665-6176-46ef-82de-0a283658da2e"}],functionParameter:{text:{name:"字符串",detail:"字符串长度必须小于或等于 255 个字符。"},radix:{name:"基数",detail:"要将数字转换为的基数。 必须是大于或等于 2 且小于或等于 36 的整数。"}}},DEGREES:{description:"将弧度转换为度",abstract:"将弧度转换为度",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/degrees-%E5%87%BD%E6%95%B0-4d6ec4db-e694-4b94-ace0-1cc3f61f9ba1"}],functionParameter:{angle:{name:"角度",detail:"要转换的角度,以弧度表示。"}}},EVEN:{description:"将数字向上舍入到最接近的偶数",abstract:"将数字向上舍入到最接近的偶数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/even-%E5%87%BD%E6%95%B0-197b5f06-c795-4c1e-8696-3c3b8a646cf9"}],functionParameter:{number:{name:"数值",detail:"要舍入的值。"}}},EXP:{description:"返回e的 n 次方",abstract:"返回e的 n 次方",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/exp-%E5%87%BD%E6%95%B0-c578f034-2c45-4c37-bc8c-329660a63abe"}],functionParameter:{number:{name:"数值",detail:"底数 e 的指数。"}}},FACT:{description:"返回数字的阶乘",abstract:"返回数字的阶乘",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/fact-%E5%87%BD%E6%95%B0-ca8588c2-15f2-41c0-8e8c-c11bd471a4f3"}],functionParameter:{number:{name:"数值",detail:"要计算其阶乘的非负数。 如果 number 不是整数,将被截尾取整。"}}},FACTDOUBLE:{description:"返回数字的双倍阶乘",abstract:"返回数字的双倍阶乘",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/factdouble-%E5%87%BD%E6%95%B0-e67697ac-d214-48eb-b7b7-cce2589ecac8"}],functionParameter:{number:{name:"数值",detail:"要计算其双倍阶乘的非负数。 如果 number 不是整数,将被截尾取整。"}}},FLOOR:{description:"向绝对值减小的方向舍入数字",abstract:"向绝对值减小的方向舍入数字",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/floor-%E5%87%BD%E6%95%B0-14bb497c-24f2-4e04-b327-b0b4de5a8886"}],functionParameter:{number:{name:"数值",detail:"要舍入的值。"},significance:{name:"倍数",detail:"要舍入到的倍数。"}}},FLOOR_MATH:{description:"将数字向下舍入为最接近的整数或最接近的指定基数的倍数",abstract:"将数字向下舍入为最接近的整数或最接近的指定基数的倍数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/floor-math-%E5%87%BD%E6%95%B0-c302b599-fbdb-4177-ba19-2c2b1249a2f5"}],functionParameter:{number:{name:"数值",detail:"要舍入的值。"},significance:{name:"倍数",detail:"要舍入到的倍数。"},mode:{name:"众数",detail:"对于负数,控制数值是舍入为零还是从零舍入。"}}},FLOOR_PRECISE:{description:"将数字向下舍入为最接近的整数或最接近的指定基数的倍数。 无论该数字的符号如何,该数字都向下舍入。",abstract:"将数字向下舍入为最接近的整数或最接近的指定基数的倍数。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/floor-precise-%E5%87%BD%E6%95%B0-f769b468-1452-4617-8dc3-02f842a0702e"}],functionParameter:{number:{name:"数值",detail:"要舍入的值。"},significance:{name:"倍数",detail:"要舍入到的倍数。"}}},GCD:{description:"返回最大公约数",abstract:"返回最大公约数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/gcd-%E5%87%BD%E6%95%B0-d5107a51-69e3-461f-8e4c-ddfc21b5073a"}],functionParameter:{number1:{name:"数值1",detail:"用于计算的第一项数值或范围。"},number2:{name:"数值2",detail:"用于计算的其他数值或范围。"}}},INT:{description:"将数字向下舍入到最接近的整数",abstract:"将数字向下舍入到最接近的整数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/int-%E5%87%BD%E6%95%B0-a6c4af9e-356d-4369-ab6a-cb1fd9d343ef"}],functionParameter:{number:{name:"数值",detail:"需要进行向下舍入取整的实数。"}}},ISO_CEILING:{description:"返回一个数字,该数字向上舍入为最接近的整数或最接近的有效位的倍数",abstract:"返回一个数字,该数字向上舍入为最接近的整数或最接近的有效位的倍数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/iso-ceiling-%E5%87%BD%E6%95%B0-e587bb73-6cc2-4113-b664-ff5b09859a83"}],functionParameter:{number1:{name:"number1",detail:"first"},number2:{name:"number2",detail:"second"}}},LCM:{description:"返回最小公倍数",abstract:"返回最小公倍数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/lcm-%E5%87%BD%E6%95%B0-7152b67a-8bb5-4075-ae5c-06ede5563c94"}],functionParameter:{number1:{name:"数值1",detail:"用于计算的第一项数值或范围。"},number2:{name:"数值2",detail:"用于计算的其他数值或范围。"}}},LET:{description:"将名称分配给计算结果,以允许将中间计算、值或定义名称存储在公式内",abstract:"将名称分配给计算结果,以允许将中间计算、值或定义名称存储在公式内",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/let-%E5%87%BD%E6%95%B0-34842dd8-b92b-4d3f-b325-b8b8f9908999"}],functionParameter:{number1:{name:"number1",detail:"first"},number2:{name:"number2",detail:"second"}}},LN:{description:"返回数字的自然对数",abstract:"返回数字的自然对数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/ln-%E5%87%BD%E6%95%B0-81fe1ed7-dac9-4acd-ba1d-07a142c6118f"}],functionParameter:{number:{name:"数值",detail:"想要计算其自然对数的正实数。"}}},LOG:{description:"返回数字的以指定底为底的对数",abstract:"返回数字的以指定底为底的对数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/log-%E5%87%BD%E6%95%B0-4e82f196-1ca9-4747-8fb0-6c4a3abb3280"}],functionParameter:{number:{name:"数值",detail:"想要计算其对数的正实数。"},base:{name:"底数",detail:"对数的底数。 如果省略 base,则假定其值为 10。"}}},LOG10:{description:"返回数字的以 10 为底的对数",abstract:"返回数字的以 10 为底的对数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/log10-%E5%87%BD%E6%95%B0-c75b881b-49dd-44fb-b6f4-37e3486a0211"}],functionParameter:{number:{name:"数值",detail:"想要计算其以 10 为底的对数的正实数。"}}},MDETERM:{description:"返回数组的矩阵行列式的值",abstract:"返回数组的矩阵行列式的值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/mdeterm-%E5%87%BD%E6%95%B0-e7bfa857-3834-422b-b871-0ffd03717020"}],functionParameter:{array:{name:"数组",detail:"行数和列数相等的数值数组。"}}},MINVERSE:{description:"返回数组的逆矩阵",abstract:"返回数组的逆矩阵",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/minverse-%E5%87%BD%E6%95%B0-11f55086-adde-4c9f-8eb9-59da2d72efc6"}],functionParameter:{array:{name:"数组",detail:"行数和列数相等的数值数组。"}}},MMULT:{description:"返回两个数组的矩阵乘积",abstract:"返回两个数组的矩阵乘积",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/mmult-%E5%87%BD%E6%95%B0-40593ed7-a3cd-4b6b-b9a3-e4ad3c7245eb"}],functionParameter:{array1:{name:"数组1",detail:"要进行矩阵乘法运算的两个数组。"},array2:{name:"数组2",detail:"要进行矩阵乘法运算的两个数组。"}}},MOD:{description:"返回两数相除的余数。 结果的符号与除数相同。",abstract:"返回除法的余数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/mod-%E5%87%BD%E6%95%B0-9b6cd169-b6ee-406a-a97b-edf2a9dc24f3"}],functionParameter:{number:{name:"数值",detail:"要计算余数的被除数"},divisor:{name:"除数",detail:"除数"}}},MROUND:{description:"返回一个舍入到所需倍数的数字",abstract:"返回一个舍入到所需倍数的数字",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/mround-%E5%87%BD%E6%95%B0-c299c3b0-15a5-426d-aa4b-d2d5b3baf427"}],functionParameter:{number:{name:"数值",detail:"要四舍五入的数字。"},multiple:{name:"倍数",detail:"要舍入到的倍数。"}}},MULTINOMIAL:{description:"返回一组数字的多项式",abstract:"返回一组数字的多项式",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/multinomial-%E5%87%BD%E6%95%B0-6fa6373c-6533-41a2-a45e-a56db1db1bf6"}],functionParameter:{number1:{name:"数值1",detail:"用于计算的第一项数值或范围。"},number2:{name:"数值2",detail:"用于计算的其他数值或范围。"}}},MUNIT:{description:"返回单位矩阵或指定维度",abstract:"返回单位矩阵或指定维度",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/munit-%E5%87%BD%E6%95%B0-c9fe916a-dc26-4105-997d-ba22799853a3"}],functionParameter:{dimension:{name:"维度",detail:"是一个整数,用于指定要返回的单位矩阵的维度。 它返回一个数组。 维度必须大于零。"}}},ODD:{description:"将数字向上舍入为最接近的奇数",abstract:"将数字向上舍入为最接近的奇数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/odd-%E5%87%BD%E6%95%B0-deae64eb-e08a-4c88-8b40-6d0b42575c98"}],functionParameter:{number:{name:"数值",detail:"要舍入的值。"}}},PI:{description:"返回 pi 的值",abstract:"返回 pi 的值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/pi-%E5%87%BD%E6%95%B0-264199d0-a3ba-46b8-975a-c4a04608989b"}],functionParameter:{}},POWER:{description:"返回数字乘幂的结果。",abstract:"返回数的乘幂",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/power-%E5%87%BD%E6%95%B0-d3f2908b-56f4-4c3f-895a-07fb519c362a"}],functionParameter:{number:{name:"数值",detail:"基数。可为任意实数。"},power:{name:"指数",detail:"基数乘幂运算的指数。"}}},PRODUCT:{description:"将作为参数提供的所有数字相乘,并返回乘积。",abstract:"将其参数相乘",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/product-%E5%87%BD%E6%95%B0-8e6b5b24-90ee-4650-aeec-80982a0512ce"}],functionParameter:{number1:{name:"数值 1",detail:"要相乘的第一个数字或范围。"},number2:{name:"数值 2",detail:"要相乘的其他数字或单元格区域,最多可以使用 255 个参数。"}}},QUOTIENT:{description:"返回除法的整数部分",abstract:"返回除法的整数部分",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/quotient-%E5%87%BD%E6%95%B0-9f7bf099-2a18-4282-8fa4-65290cc99dee"}],functionParameter:{numerator:{name:"分子",detail:"被除数。"},denominator:{name:"分母",detail:"除数。"}}},RADIANS:{description:"将度转换为弧度",abstract:"将度转换为弧度",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/radians-%E5%87%BD%E6%95%B0-ac409508-3d48-45f5-ac02-1497c92de5bf"}],functionParameter:{angle:{name:"角度",detail:"要转换的以度数表示的角度。"}}},RAND:{description:"返回 0 和 1 之间的一个随机数",abstract:"返回 0 和 1 之间的一个随机数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/rand-%E5%87%BD%E6%95%B0-4cbfa695-8869-4788-8d90-021ea9f5be73"}],functionParameter:{}},RANDARRAY:{description:"RANDARRAY 函数返回 0 和 1 之间的随机数字数组。但是,你可以指定要填充的行数和列数、最小值和最大值,以及是否返回整个数字或小数值。",abstract:"RANDARRAY 函数返回 0 和 1 之间的随机数字数组。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/randarray-%E5%87%BD%E6%95%B0-21261e55-3bec-4885-86a6-8b0a47fd4d33"}],functionParameter:{rows:{name:"行数",detail:"要返回的行数"},columns:{name:"列数",detail:"要返回的列数"},min:{name:"最小值",detail:"想返回的最小数值"},max:{name:"最大值",detail:"想返回的最大数值"},wholeNumber:{name:"整数",detail:"返回整数或十进制值"}}},RANDBETWEEN:{description:"返回位于两个指定数之间的一个随机数",abstract:"返回位于两个指定数之间的一个随机数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/randbetween-%E5%87%BD%E6%95%B0-4cc7f0d1-87dc-4eb7-987f-a469ab381685"}],functionParameter:{bottom:{name:"最小值",detail:"将返回的最小整数。"},top:{name:"最大值",detail:"将返回的最大整数。"}}},ROMAN:{description:"将阿拉伯数字转换为文本式罗马数字",abstract:"将阿拉伯数字转换为文本式罗马数字",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/roman-%E5%87%BD%E6%95%B0-d6b0b99e-de46-4704-a518-b45a0f8b56f5"}],functionParameter:{number:{name:"数值",detail:"需要转换的阿拉伯数字。"},form:{name:"形式",detail:"指定所需罗马数字类型的数字。 罗马数字样式的范围从经典到简化,随着形式值的增加,会变得更加简洁。"}}},ROUND:{description:"将数字按指定位数舍入",abstract:"将数字按指定位数舍入",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/round-%E5%87%BD%E6%95%B0-c018c5d8-40fb-4053-90b1-b3e7f61a213c"}],functionParameter:{number:{name:"数值",detail:"要四舍五入的数字。"},numDigits:{name:"位数",detail:"要进行四舍五入运算的位数。"}}},ROUNDBANK:{description:"通过“四舍六入五成双”舍入数字",abstract:"通过“四舍六入五成双”舍入数字",links:[{title:"教学",url:""}],functionParameter:{number:{name:"数值",detail:"要“四舍六入五成双”的数字。"},numDigits:{name:"位数",detail:"要进行“四舍六入五成双”运算的位数。"}}},ROUNDDOWN:{description:"向绝对值减小的方向舍入数字",abstract:"向绝对值减小的方向舍入数字",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/rounddown-%E5%87%BD%E6%95%B0-2ec94c73-241f-4b01-8c6f-17e6d7968f53"}],functionParameter:{number:{name:"数值",detail:"要四舍五入的数字。"},numDigits:{name:"位数",detail:"要进行四舍五入运算的位数。"}}},ROUNDUP:{description:"向绝对值增大的方向舍入数字",abstract:"向绝对值增大的方向舍入数字",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/roundup-%E5%87%BD%E6%95%B0-f8bc9b23-e795-47db-8703-db171d0c42a7"}],functionParameter:{number:{name:"数值",detail:"要四舍五入的数字。"},numDigits:{name:"位数",detail:"要进行四舍五入运算的位数。"}}},SEC:{description:"返回角度的正割值",abstract:"返回角度的正割值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/sec-%E5%87%BD%E6%95%B0-ff224717-9c87-4170-9b58-d069ced6d5f7"}],functionParameter:{number:{name:"数值",detail:"数值是需要其正割值的角度(以弧度为单位)。"}}},SECH:{description:"返回角度的双曲正割值",abstract:"返回角度的双曲正割值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/sech-%E5%87%BD%E6%95%B0-e05a789f-5ff7-4d7f-984a-5edb9b09556f"}],functionParameter:{number:{name:"数值",detail:"数值是需要其双曲正割值的角度(以弧度为单位)。"}}},SERIESSUM:{description:"返回基于公式的幂级数的和",abstract:"返回基于公式的幂级数的和",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/seriessum-%E5%87%BD%E6%95%B0-a3ab25b5-1093-4f5b-b084-96c49087f637"}],functionParameter:{x:{name:"x",detail:"幂级数的输入值。"},n:{name:"n",detail:"x 的首项乘幂。"},m:{name:"m",detail:"级数中每一项的乘幂 n 的步长增加值。"},coefficients:{name:"系数",detail:"与 x 的每个连续乘幂相乘的一组系数。"}}},SEQUENCE:{description:"SEQUENCE 函数可在数组中生成一系列连续数字,例如,1、2、3、4。",abstract:"SEQUENCE 函数可在数组中生成一系列连续数字,例如,1、2、3、4。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/sequence-%E5%87%BD%E6%95%B0-57467a98-57e0-4817-9f14-2eb78519ca90"}],functionParameter:{rows:{name:"行数",detail:"要返回的行数。"},columns:{name:"列数",detail:"要返回的列数。"},start:{name:"起始数字",detail:"序列中第一个数字。"},step:{name:"递增值",detail:"数组中每个连续值递增的值。"}}},SIGN:{description:"返回数字的符号",abstract:"返回数字的符号",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/sign-%E5%87%BD%E6%95%B0-109c932d-fcdc-4023-91f1-2dd0e916a1d8"}],functionParameter:{number:{name:"数值",detail:"任意实数。"}}},SIN:{description:"返回给定角度的正弦值",abstract:"返回给定角度的正弦值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/sin-%E5%87%BD%E6%95%B0-cf0e3432-8b9e-483c-bc55-a76651c95602"}],functionParameter:{number:{name:"数值",detail:"需要求正弦的角度,以弧度表示。"}}},SINH:{description:"返回数字的双曲正弦值",abstract:"返回数字的双曲正弦值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/sinh-%E5%87%BD%E6%95%B0-1e4e8b9f-2b65-43fc-ab8a-0a37f4081fa7"}],functionParameter:{number:{name:"数值",detail:"任意实数。"}}},SQRT:{description:"返回正平方根",abstract:"返回正平方根",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/sqrt-%E5%87%BD%E6%95%B0-654975c2-05c4-4831-9a24-2c65e4040fdf"}],functionParameter:{number:{name:"数值",detail:"要计算其平方根的数字。"}}},SQRTPI:{description:"返回某数与 pi 的乘积的平方根",abstract:"返回某数与 pi 的乘积的平方根",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/sqrtpi-%E5%87%BD%E6%95%B0-1fb4e63f-9b51-46d6-ad68-b3e7a8b519b4"}],functionParameter:{number:{name:"数值",detail:"与 pi 相乘的数。"}}},SUBTOTAL:{description:"返回列表或数据库中的分类汇总。",abstract:"返回列表或数据库中的分类汇总",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/subtotal-%E5%87%BD%E6%95%B0-7b027003-f060-4ade-9040-e478765b9939"}],functionParameter:{functionNum:{name:"函数编号",detail:"数字 1-11 或 101-111,用于指定要为分类汇总使用的函数。 如果使用 1-11,将包括手动隐藏的行,如果使用 101-111,则排除手动隐藏的行;始终排除已筛选掉的单元格。"},ref1:{name:"引用1",detail:"要对其进行分类汇总计算的第一个命名区域或引用。"},ref2:{name:"引用2",detail:"要对其进行分类汇总计算的第 2 个至第 254 个命名区域或引用。"}}},SUM:{description:"将单个值、单元格引用或是区域相加,或者将三者的组合相加。",abstract:"求参数的和",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/sum-%E5%87%BD%E6%95%B0-043e1c7d-7726-4e80-8f32-07b23e057f89"}],functionParameter:{number1:{name:"数值 1",detail:"要相加的第一个数字。 该数字可以是 4 之类的数字,B6 之类的单元格引用或 B2:B8 之类的单元格范围。"},number2:{name:"数值 2",detail:"这是要相加的第二个数字。 可以按照这种方式最多指定 255 个数字。"}}},SUMIF:{description:"对范围中符合指定条件的值求和。",abstract:"按给定条件对指定单元格求和",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/sumif-%E5%87%BD%E6%95%B0-169b8c99-c05c-4483-a712-1697a653039b"}],functionParameter:{range:{name:"范围",detail:"要根据条件进行检测的范围。"},criteria:{name:"条件",detail:"以数字、表达式、单元格引用、文本或函数的形式来定义将添加哪些单元格。可包括的通配符字符 - 问号(?)以匹配任意单个字符,星号(*)以匹配任意字符序列。 如果要查找实际的问号或星号,请在该字符前键入波形符(~)。"},sumRange:{name:"求和范围",detail:"要添加的实际单元格,如果要添加在范围参数指定以外的其他单元格。 如果省略sum_range参数,Excel就会添加范围参数中指定的单元格(与应用标准的单元格相同)。"}}},SUMIFS:{description:"用于计算其满足多个条件的全部参数的总量。",abstract:"用于计算其满足多个条件的全部参数的总量。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/sumifs-%E5%87%BD%E6%95%B0-c9e748f5-7ea7-455d-9406-611cebce642b"}],functionParameter:{sumRange:{name:"求和范围",detail:"要求和的单元格区域。"},criteriaRange1:{name:"条件范围 1",detail:"使用条件 1 测试的区域。条件范围 1 和条件 1 设置用于搜索某个区域是否符合特定条件的搜索对。 一旦在该区域中找到了项,将计算求和范围中的相应值的和。"},criteria1:{name:"条件 1",detail:'定义将计算条件范围 1 中的哪些单元格的和的条件。 例如,可以将条件输入为 32、">32"、B4、"苹果" 或 "32"。'},criteriaRange2:{name:"条件范围 2",detail:"附加的区域,最多可以输入 127 个区域。"},criteria2:{name:"条件 2",detail:"附加的关联条件,最多可以输入 127 个条件。"}}},SUMPRODUCT:{description:"返回对应的数组元素的乘积和",abstract:"返回对应的数组元素的乘积和",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/sumproduct-%E5%87%BD%E6%95%B0-16753e75-9f68-4874-94ac-4d2145a2fd2e"}],functionParameter:{array1:{name:"数组",detail:"其相应元素需要进行相乘并求和的第一个数组参数。"},array2:{name:"数组",detail:"2 到 255 个数组参数,其相应元素需要进行相乘并求和。"}}},SUMSQ:{description:"返回参数的平方和",abstract:"返回参数的平方和",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/sumsq-%E5%87%BD%E6%95%B0-e3313c02-51cc-4963-aae6-31442d9ec307"}],functionParameter:{number1:{name:"数值1",detail:"要对其求平方和第1个数字,也可以用单一数组或对某个数组的引用来代替用逗号分隔的参数。"},number2:{name:"数值2",detail:"要对其求平方和的第2个数字。可以按照这种方式最多指定255个数字。"}}},SUMX2MY2:{description:"返回两数组中对应值平方差之和",abstract:"返回两数组中对应值平方差之和",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/sumx2my2-%E5%87%BD%E6%95%B0-9e599cc5-5399-48e9-a5e0-e37812dfa3e9"}],functionParameter:{arrayX:{name:"数组1",detail:"第一个数组或数值区域。"},arrayY:{name:"数组2",detail:"第二个数组或数值区域。"}}},SUMX2PY2:{description:"返回两数组中对应值的平方和之和",abstract:"返回两数组中对应值的平方和之和",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/sumx2py2-%E5%87%BD%E6%95%B0-826b60b4-0aa2-4e5e-81d2-be704d3d786f"}],functionParameter:{arrayX:{name:"数组1",detail:"第一个数组或数值区域。"},arrayY:{name:"数组2",detail:"第二个数组或数值区域。"}}},SUMXMY2:{description:"返回两个数组中对应值差的平方和",abstract:"返回两个数组中对应值差的平方和",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/sumxmy2-%E5%87%BD%E6%95%B0-9d144ac1-4d79-43de-b524-e2ecee23b299"}],functionParameter:{arrayX:{name:"数组1",detail:"第一个数组或数值区域。"},arrayY:{name:"数组2",detail:"第二个数组或数值区域。"}}},TAN:{description:"返回数字的正切值。",abstract:"返回数字的正切值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/tan-%E5%87%BD%E6%95%B0-08851a40-179f-4052-b789-d7f699447401"}],functionParameter:{number:{name:"数值",detail:"要求正切的角度,以弧度表示。"}}},TANH:{description:"返回数字的双曲正切值。",abstract:"返回数字的双曲正切值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/tanh-%E5%87%BD%E6%95%B0-017222f0-a0c3-4f69-9787-b3202295dc6c"}],functionParameter:{number:{name:"数值",detail:"任意实数。"}}},TRUNC:{description:"将数字截尾取整",abstract:"将数字截尾取整",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/trunc-%E5%87%BD%E6%95%B0-8b86a64c-3127-43db-ba14-aa5ceb292721"}],functionParameter:{number:{name:"数值",detail:"需要截尾取整的数字。"},numDigits:{name:"位数",detail:"用于指定取整精度的数字。num_digits 的默认值为 0(零)。"}}},AVEDEV:{description:"返回数据点与它们的平均值的绝对偏差平均值。",abstract:"返回数据点与它们的平均值的绝对偏差平均值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/avedev-%E5%87%BD%E6%95%B0-58fe8d65-2a84-4dc7-8052-f3f87b5c6639"}],functionParameter:{number1:{name:"数值 1",detail:"要计算平均值的第一个数字、单元格引用或单元格区域。"},number2:{name:"数值 2",detail:"要计算平均值的其他数字、单元格引用或单元格区域,最多可包含 255 个。"}}},AVERAGE:{description:"返回参数的平均值(算术平均值)。",abstract:"返回其参数的平均值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/average-%E5%87%BD%E6%95%B0-047bac88-d466-426c-a32b-8f33eb960cf6"}],functionParameter:{number1:{name:"数值 1",detail:"要计算平均值的第一个数字、单元格引用或单元格区域。"},number2:{name:"数值 2",detail:"要计算平均值的其他数字、单元格引用或单元格区域,最多可包含 255 个。"}}},AVERAGE_WEIGHTED:{description:"在已知数值和相应权重的情况下,计算出一组值的加权平均值",abstract:"在已知数值和相应权重的情况下,计算出一组值的加权平均值",links:[{title:"教学",url:"https://support.google.com/docs/answer/9084098?hl=zh-Hans&ref_topic=3105600&sjid=2155433538747546473-AP"}],functionParameter:{values:{name:"值",detail:"要计算平均数的值。"},weights:{name:"权重",detail:"要应用的相应权重列表。"},additionalValues:{name:"其他值",detail:"要计算平均数的其他值。"},additionalWeights:{name:"其他权重",detail:"要应用的其他权重。"}}},AVERAGEA:{description:"返回其参数的平均值,包括数字、文本和逻辑值。",abstract:"返回其参数的平均值,包括数字、文本和逻辑值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/averagea-%E5%87%BD%E6%95%B0-f5f84098-d453-4f4c-bbba-3d2c66356091"}],functionParameter:{value1:{name:"值 1",detail:"要计算平均值的第一个数字、单元格引用或单元格区域。"},value2:{name:"值 2",detail:"要计算平均值的其他数字、单元格引用或单元格区域,最多可包含 255 个。"}}},AVERAGEIF:{description:"返回区域中满足给定条件的所有单元格的平均值(算术平均值)。",abstract:"返回区域中满足给定条件的所有单元格的平均值(算术平均值)",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/averageif-%E5%87%BD%E6%95%B0-faec8e2e-0dec-4308-af69-f5576d8ac642"}],functionParameter:{range:{name:"范围",detail:"要计算平均值的一个或多个单元格,其中包含数字或包含数字的名称、数组或引用。"},criteria:{name:"条件",detail:'形式为数字、表达式、单元格引用或文本的条件,用来定义将计算平均值的单元格。 例如,条件可以表示为 32、"32"、">32"、"苹果" 或 B4。'},averageRange:{name:"平均范围",detail:"计算平均值的实际单元格组。 如果省略,则使用 range。"}}},AVERAGEIFS:{description:"返回满足多个条件的所有单元格的平均值(算术平均值)。",abstract:"返回满足多个条件的所有单元格的平均值(算术平均值)",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/averageifs-%E5%87%BD%E6%95%B0-48910c45-1fc0-4389-a028-f7c5c3001690"}],functionParameter:{averageRange:{name:"平均值范围",detail:"要计算平均值的一个或多个单元格,其中包含数字或包含数字的名称、数组或引用。"},criteriaRange1:{name:"条件范围 1",detail:"是一组用于条件计算的单元格。"},criteria1:{name:"条件 1",detail:'用来定义将计算平均值的单元格。 例如,条件可以表示为 32、"32"、">32"、"苹果" 或 B4'},criteriaRange2:{name:"条件范围 2",detail:"附加区域。 最多可以输入 127 个区域。"},criteria2:{name:"条件 2",detail:"附加关联条件。 最多可以输入 127 个条件。"}}},BETA_DIST:{description:"返回 beta 累积分布函数",abstract:"返回 beta 累积分布函数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/beta-dist-%E5%87%BD%E6%95%B0-11188c9c-780a-42c7-ba43-9ecb5a878d31"}],functionParameter:{x:{name:"值",detail:"用来计算其函数的值,介于下限值和上限值之间。"},alpha:{name:"alpha",detail:"分布的第一个参数。"},beta:{name:"beta",detail:"分布的第二个参数。"},cumulative:{name:"累积",detail:"决定函数形式的逻辑值。如果为TRUE,则 BETA.DIST 返回累积分布函数;如果为 FALSE,则返回概率密度函数。"},A:{name:"下限",detail:"函数的下限,默认值为 0。"},B:{name:"上限",detail:"函数的上限,默认值为 1。"}}},BETA_INV:{description:"返回指定 beta 分布的累积分布函数的反函数",abstract:"返回指定 beta 分布的累积分布函数的反函数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/beta-inv-%E5%87%BD%E6%95%B0-e84cb8aa-8df0-4cf6-9892-83a341d252eb"}],functionParameter:{probability:{name:"概率",detail:"与 beta 分布相关的概率。"},alpha:{name:"alpha",detail:"分布的第一个参数。"},beta:{name:"beta",detail:"分布的第二个参数。"},A:{name:"下限",detail:"函数的下限,默认值为 0。"},B:{name:"上限",detail:"函数的上限,默认值为 1。"}}},BINOM_DIST:{description:"返回一元二项式分布的概率",abstract:"返回一元二项式分布的概率",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/binom-dist-%E5%87%BD%E6%95%B0-c5ae37b6-f39c-4be2-94c2-509a1480770c"}],functionParameter:{numberS:{name:"成功次数",detail:"试验的成功次数。"},trials:{name:"试验次数",detail:"独立试验次数。"},probabilityS:{name:"成功概率",detail:"每次试验成功的概率。"},cumulative:{name:"累积",detail:"决定函数形式的逻辑值。如果为TRUE,则 BINOM.DIST 返回累积分布函数;如果为 FALSE,则返回概率密度函数。"}}},BINOM_DIST_RANGE:{description:"使用二项式分布返回试验结果的概率",abstract:"使用二项式分布返回试验结果的概率",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/binom-dist-range-%E5%87%BD%E6%95%B0-17331329-74c7-4053-bb4c-6653a7421595"}],functionParameter:{trials:{name:"试验次数",detail:"独立试验次数。"},probabilityS:{name:"成功概率",detail:"每次试验成功的概率。"},numberS:{name:"成功次数",detail:"试验的成功次数。"},numberS2:{name:"最大成功次数",detail:"如果提供,则返回成功试验数介于 成功次数 和 最大成功次数 之间的概率。"}}},BINOM_INV:{description:"返回使累积二项式分布小于或等于临界值的最小值",abstract:"返回使累积二项式分布小于或等于临界值的最小值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/binom-inv-%E5%87%BD%E6%95%B0-80a0370c-ada6-49b4-83e7-05a91ba77ac9"}],functionParameter:{trials:{name:"试验次数",detail:"伯努利试验的次数。"},probabilityS:{name:"成功概率",detail:"每次试验成功的概率。"},alpha:{name:"目标概率",detail:"临界值。"}}},CHISQ_DIST:{description:"返回 χ2 分布的左尾概率。",abstract:"返回 χ2 分布的左尾概率。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/chisq-dist-%E5%87%BD%E6%95%B0-8486b05e-5c05-4942-a9ea-f6b341518732"}],functionParameter:{x:{name:"值",detail:"用来计算分布的数值。"},degFreedom:{name:"自由度",detail:"自由度数。"},cumulative:{name:"累积",detail:"决定函数形式的逻辑值。 如果为 TRUE,则 CHISQ.DIST 返回累积分布函数;如果为 FALSE,则返回概率密度函数。"}}},CHISQ_DIST_RT:{description:"返回 χ2 分布的右尾概率。",abstract:"返回 χ2 分布的右尾概率。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/chisq-dist-rt-%E5%87%BD%E6%95%B0-dc4832e8-ed2b-49ae-8d7c-b28d5804c0f2"}],functionParameter:{x:{name:"值",detail:"用来计算分布的数值。"},degFreedom:{name:"自由度",detail:"自由度数。"}}},CHISQ_INV:{description:"返回 χ2 分布的左尾概率的反函数。",abstract:"返回 χ2 分布的左尾概率的反函数。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/chisq-inv-%E5%87%BD%E6%95%B0-400db556-62b3-472d-80b3-254723e7092f"}],functionParameter:{probability:{name:"概率",detail:"与 χ2 分布相关联的概率。"},degFreedom:{name:"自由度",detail:"自由度数。"}}},CHISQ_INV_RT:{description:"返回 χ2 分布的右尾概率的反函数。",abstract:"返回 χ2 分布的右尾概率的反函数。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/chisq-inv-rt-%E5%87%BD%E6%95%B0-435b5ed8-98d5-4da6-823f-293e2cbc94fe"}],functionParameter:{probability:{name:"概率",detail:"与 χ2 分布相关联的概率。"},degFreedom:{name:"自由度",detail:"自由度数。"}}},CHISQ_TEST:{description:"返回独立性检验值",abstract:"返回独立性检验值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/chisq-test-%E5%87%BD%E6%95%B0-2e8a7861-b14a-4985-aa93-fb88de3f260f"}],functionParameter:{actualRange:{name:"观察范围",detail:"包含观察值的数据区域,用于检验预期值。"},expectedRange:{name:"预期范围",detail:"包含行列汇总的乘积与总计值之比率的数据区域。"}}},CONFIDENCE_NORM:{description:"使用正态分布返回总体平均值的置信区间。",abstract:"使用正态分布返回总体平均值的置信区间。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/confidence-norm-%E5%87%BD%E6%95%B0-7cec58a6-85bb-488d-91c3-63828d4fbfd4"}],functionParameter:{alpha:{name:"alpha",detail:"用来计算置信水平的显著性水平。 置信水平等于 100*(1 - alpha)%,亦即,如果 alpha 为 0.05,则置信水平为 95%。"},standardDev:{name:"总体标准偏差",detail:"数据区域的总体标准偏差,假定为已知。"},size:{name:"样本大小",detail:"样本大小。"}}},CONFIDENCE_T:{description:"返回总体平均值的置信区间(使用学生 t-分布)",abstract:"返回总体平均值的置信区间(使用学生 t-分布)",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/confidence-t-%E5%87%BD%E6%95%B0-e8eca395-6c3a-4ba9-9003-79ccc61d3c53"}],functionParameter:{alpha:{name:"alpha",detail:"用来计算置信水平的显著性水平。 置信水平等于 100*(1 - alpha)%,亦即,如果 alpha 为 0.05,则置信水平为 95%。"},standardDev:{name:"总体标准偏差",detail:"数据区域的总体标准偏差,假定为已知。"},size:{name:"样本大小",detail:"样本大小。"}}},CORREL:{description:"返回两个数据集之间的相关系数",abstract:"返回两个数据集之间的相关系数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/correl-%E5%87%BD%E6%95%B0-995dcef7-0c0a-4bed-a3fb-239d7b68ca92"}],functionParameter:{array1:{name:"数组1",detail:"第一个单元格值区域。"},array2:{name:"数组2",detail:"第二个单元格值区域。"}}},COUNT:{description:"计算包含数字的单元格个数以及参数列表中数字的个数。",abstract:"计算参数列表中数字的个数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/count-%E5%87%BD%E6%95%B0-a59cd7fc-b623-4d93-87a4-d23bf411294c"}],functionParameter:{value1:{name:"值 1",detail:"要计算其中数字的个数的第一项、单元格引用或区域。"},value2:{name:"值 2",detail:"要计算其中数字的个数的其他项、单元格引用或区域,最多可包含 255 个。"}}},COUNTA:{description:'计算包含任何类型的信息(包括错误值和空文本 (""))的单元格\n 如果不需要对逻辑值、文本或错误值进行计数(换句话说,只希望对包含数字的单元格进行计数),请使用 COUNT 函数。',abstract:"计算参数列表中值的个数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/counta-%E5%87%BD%E6%95%B0-7dc98875-d5c1-46f1-9a82-53f3219e2509"}],functionParameter:{number1:{name:"数值 1",detail:"表示要计数的值的第一个参数"},number2:{name:"数值 2",detail:"表示要计数的值的其他参数,最多可包含 255 个参数。"}}},COUNTBLANK:{description:"计算区域内空白单元格的数量。",abstract:"计算区域内空白单元格的数量",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/countblank-%E5%87%BD%E6%95%B0-6a92d772-675c-4bee-b346-24af6bd3ac22"}],functionParameter:{range:{name:"范围",detail:"需要计算其中空白单元格个数的区域。"}}},COUNTIF:{description:"计算区域内符合给定条件的单元格的数量。",abstract:"计算区域内符合给定条件的单元格的数量",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/countif-%E5%87%BD%E6%95%B0-e0de10c6-f885-4e71-abb4-1f464816df34"}],functionParameter:{range:{name:"范围",detail:"要进行计数的单元格组。 区域可以包括数字、数组、命名区域或包含数字的引用。 空白和文本值将被忽略。"},criteria:{name:"条件",detail:"用于决定要统计哪些单元格的数量的数字、表达式、单元格引用或文本字符串。\n例如,可以使用 32 之类数字,“>32”之类比较,B4 之类单元格,或“苹果”之类单词。\nCOUNTIF 仅使用一个条件。 如果要使用多个条件,请使用 COUNTIFS。"}}},COUNTIFS:{description:"计算区域内符合多个条件的单元格的数量。",abstract:"计算区域内符合多个条件的单元格的数量",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/countifs-%E5%87%BD%E6%95%B0-dda3dc6e-f74e-4aee-88bc-aa8c2a866842"}],functionParameter:{criteriaRange1:{name:"条件范围 1",detail:"在其中计算关联条件的第一个区域。"},criteria1:{name:"条件 1",detail:'条件的形式为数字、表达式、单元格引用或文本,它定义了要计数的单元格范围。 例如,条件可以表示为 32、">32"、B4、"apples"或 "32"。'},criteriaRange2:{name:"条件范围 2",detail:"附加区域。 最多可以输入 127 个区域。"},criteria2:{name:"条件 2",detail:"附加关联条件。 最多可以输入 127 个条件。"}}},COVARIANCE_P:{description:"返回总体协方差,即两个数据集中每对数据点的偏差乘积的平均值。",abstract:"返回总体协方差",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/covariance-p-%E5%87%BD%E6%95%B0-6f0e1e6d-956d-4e4b-9943-cfef0bf9edfc"}],functionParameter:{array1:{name:"数组1",detail:"第一个单元格值区域。"},array2:{name:"数组2",detail:"第二个单元格值区域。"}}},COVARIANCE_S:{description:"返回样本协方差,即两个数据集中每对数据点的偏差乘积的平均值。",abstract:"返回样本协方差",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/covariance-s-%E5%87%BD%E6%95%B0-0a539b74-7371-42aa-a18f-1f5320314977"}],functionParameter:{array1:{name:"数组1",detail:"第一个单元格值区域。"},array2:{name:"数组2",detail:"第二个单元格值区域。"}}},DEVSQ:{description:"返回偏差的平方和",abstract:"返回偏差的平方和",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/devsq-%E5%87%BD%E6%95%B0-8b739616-8376-4df5-8bd0-cfe0a6caf444"}],functionParameter:{number1:{name:"数值1",detail:"用于计算偏差平方和的第 1 个参数。"},number2:{name:"数值2",detail:"用于计算偏差平方和的第 2 到 255 个参数。"}}},EXPON_DIST:{description:"返回指数分布",abstract:"返回指数分布",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/expon-dist-%E5%87%BD%E6%95%B0-4c12ae24-e563-4155-bf3e-8b78b6ae140e"}],functionParameter:{x:{name:"值",detail:"用来计算分布的数值。"},lambda:{name:"lambda",detail:"参数值。"},cumulative:{name:"累积",detail:"决定函数形式的逻辑值。 如果为 TRUE,则 EXPON.DIST 返回累积分布函数;如果为 FALSE,则返回概率密度函数。"}}},F_DIST:{description:"返回 F 概率分布",abstract:"返回 F 概率分布",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/f-dist-%E5%87%BD%E6%95%B0-a887efdc-7c8e-46cb-a74a-f884cd29b25d"}],functionParameter:{x:{name:"值",detail:"用来计算函数的值。"},degFreedom1:{name:"分子自由度",detail:"分子自由度。"},degFreedom2:{name:"分母自由度",detail:"分母自由度。"},cumulative:{name:"累积",detail:"决定函数形式的逻辑值。 如果为 TRUE,则 F.DIST 返回累积分布函数;如果为 FALSE,则返回概率密度函数。"}}},F_DIST_RT:{description:"返回 F 概率分布(右尾)",abstract:"返回 F 概率分布(右尾)",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/f-dist-rt-%E5%87%BD%E6%95%B0-d74cbb00-6017-4ac9-b7d7-6049badc0520"}],functionParameter:{x:{name:"值",detail:"用来计算函数的值。"},degFreedom1:{name:"分子自由度",detail:"分子自由度。"},degFreedom2:{name:"分母自由度",detail:"分母自由度。"}}},F_INV:{description:"返回 F 概率分布的反函数",abstract:"返回 F 概率分布的反函数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/f-inv-%E5%87%BD%E6%95%B0-0dda0cf9-4ea0-42fd-8c3c-417a1ff30dbe"}],functionParameter:{probability:{name:"概率",detail:"F 累积分布的概率值。"},degFreedom1:{name:"分子自由度",detail:"分子自由度。"},degFreedom2:{name:"分母自由度",detail:"分母自由度。"}}},F_INV_RT:{description:"返回 F 概率分布(右尾)的反函数",abstract:"返回 F 概率分布(右尾)的反函数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/f-inv-rt-%E5%87%BD%E6%95%B0-d371aa8f-b0b1-40ef-9cc2-496f0693ac00"}],functionParameter:{probability:{name:"概率",detail:"F 累积分布的概率值。"},degFreedom1:{name:"分子自由度",detail:"分子自由度。"},degFreedom2:{name:"分母自由度",detail:"分母自由度。"}}},F_TEST:{description:"返回 F 检验的结果",abstract:"返回 F 检验的结果",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/f-test-%E5%87%BD%E6%95%B0-100a59e7-4108-46f8-8443-78ffacb6c0a7"}],functionParameter:{array1:{name:"数组1",detail:"第一个数据数组或数据范围。"},array2:{name:"数组2",detail:"第二个数据数组或数据范围。"}}},FISHER:{description:"返回 Fisher 变换值",abstract:"返回 Fisher 变换值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/fisher-%E5%87%BD%E6%95%B0-d656523c-5076-4f95-b87b-7741bf236c69"}],functionParameter:{x:{name:"数值",detail:"要对其进行变换的数值。"}}},FISHERINV:{description:"返回 Fisher 变换的反函数",abstract:"返回 Fisher 变换的反函数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/fisherinv-%E5%87%BD%E6%95%B0-62504b39-415a-4284-a285-19c8e82f86bb"}],functionParameter:{y:{name:"数值",detail:"要对其进行逆变换的数值。"}}},FORECAST:{description:"返回线性趋势值",abstract:"返回线性趋势值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/forecast-%E5%92%8C-forecast-linear-%E5%87%BD%E6%95%B0-50ca49c9-7b40-4892-94e4-7ad38bbeda99"}],functionParameter:{x:{name:"x",detail:"需要进行值预测的数据点。"},knownYs:{name:"数据_y",detail:"代表因变量数据的数组或矩阵的范围。"},knownXs:{name:"数据_x",detail:"代表自变量数据的数组或矩阵的范围。"}}},FORECAST_ETS:{description:"通过使用指数平滑 (ETS) 算法的 AAA 版本,返回基于现有(历史)值的未来值",abstract:"通过使用指数平滑 (ETS) 算法的 AAA 版本,返回基于现有(历史)值的未来值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/%E9%A2%84%E6%B5%8B%E5%87%BD%E6%95%B0-%E5%8F%82%E8%80%83-897a2fe9-6595-4680-a0b0-93e0308d5f6e#_FORECAST.ETS"}],functionParameter:{number1:{name:"number1",detail:"first"},number2:{name:"number2",detail:"second"}}},FORECAST_ETS_CONFINT:{description:"返回指定目标日期预测值的置信区间",abstract:"返回指定目标日期预测值的置信区间",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/%E9%A2%84%E6%B5%8B%E5%87%BD%E6%95%B0-%E5%8F%82%E8%80%83-897a2fe9-6595-4680-a0b0-93e0308d5f6e#_FORECAST.ETS.CONFINT"}],functionParameter:{number1:{name:"number1",detail:"first"},number2:{name:"number2",detail:"second"}}},FORECAST_ETS_SEASONALITY:{description:"返回 Excel 针对指定时间系列检测到的重复模式的长度",abstract:"返回 Excel 针对指定时间系列检测到的重复模式的长度",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/%E9%A2%84%E6%B5%8B%E5%87%BD%E6%95%B0-%E5%8F%82%E8%80%83-897a2fe9-6595-4680-a0b0-93e0308d5f6e#_FORECAST.ETS.SEASONALITY"}],functionParameter:{number1:{name:"number1",detail:"first"},number2:{name:"number2",detail:"second"}}},FORECAST_ETS_STAT:{description:"返回作为时间序列预测的结果的统计值。",abstract:"返回作为时间序列预测的结果的统计值。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/%E9%A2%84%E6%B5%8B%E5%87%BD%E6%95%B0-%E5%8F%82%E8%80%83-897a2fe9-6595-4680-a0b0-93e0308d5f6e#_FORECAST.ETS.STAT"}],functionParameter:{number1:{name:"number1",detail:"first"},number2:{name:"number2",detail:"second"}}},FORECAST_LINEAR:{description:"返回基于现有值的未来值",abstract:"返回基于现有值的未来值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/forecast-%E5%92%8C-forecast-linear-%E5%87%BD%E6%95%B0-50ca49c9-7b40-4892-94e4-7ad38bbeda99"}],functionParameter:{x:{name:"x",detail:"需要进行值预测的数据点。"},knownYs:{name:"数据_y",detail:"代表因变量数据的数组或矩阵的范围。"},knownXs:{name:"数据_x",detail:"代表自变量数据的数组或矩阵的范围。"}}},FREQUENCY:{description:"以垂直数组的形式返回频率分布",abstract:"以垂直数组的形式返回频率分布",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/frequency-%E5%87%BD%E6%95%B0-44e3be2b-eca0-42cd-a3f7-fd9ea898fdb9"}],functionParameter:{dataArray:{name:"数据数组",detail:"要对其频率进行计数的一组数值或对这组数值的引用。 如果 data_array 中不包含任何数值,则 FREQUENCY 返回一个零数组。"},binsArray:{name:"区间数组",detail:"要将 data_array 中的值插入到的间隔数组或对间隔的引用。 如果 bins_array 中不包含任何数值,则 FREQUENCY 返回 data_array 中的元素个数。"}}},GAMMA:{description:"返回 γ 函数值",abstract:"返回 γ 函数值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/gamma-%E5%87%BD%E6%95%B0-ce1702b1-cf55-471d-8307-f83be0fc5297"}],functionParameter:{number:{name:"数值",detail:"伽玛函数的输入值。"}}},GAMMA_DIST:{description:"返回 γ 分布",abstract:"返回 γ 分布",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/gamma-dist-%E5%87%BD%E6%95%B0-9b6f1538-d11c-4d5f-8966-21f6a2201def"}],functionParameter:{x:{name:"x",detail:"需要计算其分布的数值。"},alpha:{name:"alpha",detail:"分布的第一个参数。"},beta:{name:"beta",detail:"分布的第二个参数。"},cumulative:{name:"累积",detail:"决定函数形式的逻辑值。如果为TRUE,则 GAMMA.DIST 返回累积分布函数;如果为 FALSE,则返回概率密度函数。"}}},GAMMA_INV:{description:"返回 γ 累积分布函数的反函数",abstract:"返回 γ 累积分布函数的反函数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/gamma-inv-%E5%87%BD%E6%95%B0-74991443-c2b0-4be5-aaab-1aa4d71fbb18"}],functionParameter:{probability:{name:"概率",detail:"与伽玛分布相关的概率。"},alpha:{name:"alpha",detail:"分布的第一个参数。"},beta:{name:"beta",detail:"分布的第二个参数。"}}},GAMMALN:{description:"返回 γ 函数的自然对数,Γ(x)",abstract:"返回 γ 函数的自然对数,Γ(x)",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/gammaln-%E5%87%BD%E6%95%B0-b838c48b-c65f-484f-9e1d-141c55470eb9"}],functionParameter:{x:{name:"x",detail:"要计算其 GAMMALN 的数值。"}}},GAMMALN_PRECISE:{description:"返回 γ 函数的自然对数,Γ(x)",abstract:"返回 γ 函数的自然对数,Γ(x)",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/gammaln-precise-%E5%87%BD%E6%95%B0-5cdfe601-4e1e-4189-9d74-241ef1caa599"}],functionParameter:{x:{name:"x",detail:"要计算其 GAMMALN.PRECISE 的数值。"}}},GAUSS:{description:"返回小于标准正态累积分布 0.5 的值",abstract:"返回小于标准正态累积分布 0.5 的值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/gauss-%E5%87%BD%E6%95%B0-069f1b4e-7dee-4d6a-a71f-4b69044a6b33"}],functionParameter:{z:{name:"z",detail:"需要计算其分布的数值。"}}},GEOMEAN:{description:"返回几何平均值",abstract:"返回几何平均值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/geomean-%E5%87%BD%E6%95%B0-db1ac48d-25a5-40a0-ab83-0b38980e40d5"}],functionParameter:{number1:{name:"数值 1",detail:"要计算几何平均值的第一个数字、单元格引用或单元格区域。"},number2:{name:"数值 2",detail:"要计算几何平均值的其他数字、单元格引用或单元格区域,最多可包含 255 个。"}}},GROWTH:{description:"返回指数趋势值",abstract:"返回指数趋势值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/growth-%E5%87%BD%E6%95%B0-541a91dc-3d5e-437d-b156-21324e68b80d"}],functionParameter:{knownYs:{name:"已知数据_y",detail:"关系表达式 y = b*m^x 中已知的 y 值集合。"},knownXs:{name:"已知数据_x",detail:"关系表达式 y = b*m^x 中已知的 x 值集合。"},newXs:{name:"新数据_x",detail:"需要 GROWTH 返回对应 y 值的新 x 值。"},constb:{name:"b",detail:"一个逻辑值,用于指定是否将常量 b 强制设为 1。"}}},HARMEAN:{description:"返回调和平均值",abstract:"返回调和平均值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/harmean-%E5%87%BD%E6%95%B0-5efd9184-fab5-42f9-b1d3-57883a1d3bc6"}],functionParameter:{number1:{name:"数值 1",detail:"要计算调和平均值的第一个数字、单元格引用或单元格区域。"},number2:{name:"数值 2",detail:"要计算调和平均值的其他数字、单元格引用或单元格区域,最多可包含 255 个。"}}},HYPGEOM_DIST:{description:"返回超几何分布",abstract:"返回超几何分布",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/hypgeom-dist-%E5%87%BD%E6%95%B0-6dbd547f-1d12-4b1f-8ae5-b0d9e3d22fbf"}],functionParameter:{sampleS:{name:"样本成功次数",detail:"样本中成功的次数。"},numberSample:{name:"样本大小",detail:"样本大小。"},populationS:{name:"总体成功次数",detail:"总体中成功的次数。"},numberPop:{name:"总体大小",detail:"总体大小。"},cumulative:{name:"累积",detail:"决定函数形式的逻辑值。如果为TRUE,则 HYPGEOM.DIST 返回累积分布函数;如果为 FALSE,则返回概率密度函数。"}}},INTERCEPT:{description:"返回线性回归线的截距",abstract:"返回线性回归线的截距",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/intercept-%E5%87%BD%E6%95%B0-2a9b74e2-9d47-4772-b663-3bca70bf63ef"}],functionParameter:{knownYs:{name:"数据_y",detail:"代表因变量数据的数组或矩阵的范围。"},knownXs:{name:"数据_x",detail:"代表自变量数据的数组或矩阵的范围。"}}},KURT:{description:"返回数据集的峰值",abstract:"返回数据集的峰值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/kurt-%E5%87%BD%E6%95%B0-bc3a265c-5da4-4dcb-b7fd-c237789095ab"}],functionParameter:{number1:{name:"数值 1",detail:"要计算峰值的第一个数字、单元格引用或单元格区域。"},number2:{name:"数值 2",detail:"要计算峰值的其他数字、单元格引用或单元格区域,最多可包含 255 个。"}}},LARGE:{description:"返回数据集中第 k 个最大值",abstract:"返回数据集中第 k 个最大值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/large-%E5%87%BD%E6%95%B0-3af0af19-1190-42bb-bb8b-01672ec00a64"}],functionParameter:{array:{name:"数组",detail:"需要确定第 k 个最大值的数组或数据区域。"},k:{name:"k",detail:"返回值在数组或数据单元格区域中的位置(从大到小排)。"}}},LINEST:{description:"返回线性趋势的参数",abstract:"返回线性趋势的参数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/linest-%E5%87%BD%E6%95%B0-84d7d0d9-6e50-4101-977a-fa7abf772b6d"}],functionParameter:{knownYs:{name:"已知数据_y",detail:"关系表达式 y = m*x+b 中已知的 y 值集合。"},knownXs:{name:"已知数据_x",detail:"关系表达式 y = m*x+b 中已知的 x 值集合。"},constb:{name:"b",detail:"一个逻辑值,用于指定是否将常量 b 强制设为 0。"},stats:{name:"统计",detail:"一个逻辑值,用于指定是否返回附加回归统计值。"}}},LOGEST:{description:"返回指数趋势的参数",abstract:"返回指数趋势的参数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/logest-%E5%87%BD%E6%95%B0-f27462d8-3657-4030-866b-a272c1d18b4b"}],functionParameter:{knownYs:{name:"已知数据_y",detail:"关系表达式 y = b*m^x 中已知的 y 值集合。"},knownXs:{name:"已知数据_x",detail:"关系表达式 y = b*m^x 中已知的 x 值集合。"},constb:{name:"b",detail:"一个逻辑值,用于指定是否将常量 b 强制设为 1。"},stats:{name:"统计",detail:"一个逻辑值,用于指定是否返回附加回归统计值。"}}},LOGNORM_DIST:{description:"返回对数正态累积分布",abstract:"返回对数正态累积分布",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/lognorm-dist-%E5%87%BD%E6%95%B0-eb60d00b-48a9-4217-be2b-6074aee6b070"}],functionParameter:{x:{name:"x",detail:"需要计算其分布的数值。"},mean:{name:"平均值",detail:"分布的算术平均值。"},standardDev:{name:"标准偏差",detail:"分布的标准偏差。"},cumulative:{name:"累积",detail:"决定函数形式的逻辑值。 如果为 TRUE,则 LOGNORM.DIST 返回累积分布函数;如果为 FALSE,则返回概率密度函数。"}}},LOGNORM_INV:{description:"返回对数正态累积分布的反函数",abstract:"返回对数正态累积分布的反函数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/lognorm-inv-%E5%87%BD%E6%95%B0-fe79751a-f1f2-4af8-a0a1-e151b2d4f600"}],functionParameter:{probability:{name:"概率",detail:"对应于对数正态分布的概率。"},mean:{name:"平均值",detail:"分布的算术平均值。"},standardDev:{name:"标准偏差",detail:"分布的标准偏差。"}}},MARGINOFERROR:{description:"根据一系列值和置信水平计算误差范围",abstract:"根据一系列值和置信水平计算误差范围",links:[{title:"教学",url:"https://support.google.com/docs/answer/12487850?hl=zh-Hans&sjid=11250989209896695200-AP"}],functionParameter:{range:{name:"范围",detail:"用于计算误差范围的值范围。"},confidence:{name:"置信度",detail:"所需的置信度介于 0 与 1 之间。"}}},MAX:{description:"返回一组值中的最大值。",abstract:"返回参数列表中的最大值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/max-%E5%87%BD%E6%95%B0-e0012414-9ac8-4b34-9a47-73e662c08098"}],functionParameter:{number1:{name:"数值 1",detail:"要计算最大值的第一个数字、单元格引用或单元格区域。"},number2:{name:"数值 2",detail:"要计算最大值的其他数字、单元格引用或单元格区域,最多可包含 255 个。"}}},MAXA:{description:"返回参数列表中的最大值,包括数字、文本和逻辑值。",abstract:"返回参数列表中的最大值,包括数字、文本和逻辑值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/maxa-%E5%87%BD%E6%95%B0-814bda1e-3840-4bff-9365-2f59ac2ee62d"}],functionParameter:{value1:{name:"值 1",detail:"要从中找出最大值的第一个数值参数。"},value2:{name:"值 2",detail:"要从中找出最大值的 2 到 255 个数值参数。"}}},MAXIFS:{description:"返回一组给定条件或标准指定的单元格之间的最大值",abstract:"返回一组给定条件或标准指定的单元格之间的最大值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/maxifs-%E5%87%BD%E6%95%B0-dfd611e6-da2c-488a-919b-9b6376b28883"}],functionParameter:{maxRange:{name:"最大值范围",detail:"确定最大值的实际单元格区域。"},criteriaRange1:{name:"条件范围 1",detail:"是一组用于条件计算的单元格。"},criteria1:{name:"条件 1",detail:"用于确定哪些单元格是最大值的条件,格式为数字、表达式或文本。 一组相同的条件适用于 MINIFS、SUMIFS 和 AVERAGEIFS 函数。"},criteriaRange2:{name:"条件范围 2",detail:"附加区域。 最多可以输入 127 个区域。"},criteria2:{name:"条件 2",detail:"附加关联条件。 最多可以输入 127 个条件。"}}},MEDIAN:{description:"返回给定数值集合的中值",abstract:"返回给定数值集合的中值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/median-%E5%87%BD%E6%95%B0-d0916313-4753-414c-8537-ce85bdd967d2"}],functionParameter:{number1:{name:"数值 1",detail:"要计算中值的第一个数字、单元格引用或单元格区域。"},number2:{name:"数值 2",detail:"要计算中值的其他数字、单元格引用或单元格区域,最多可包含 255 个。"}}},MIN:{description:"返回一组值中的最小值。",abstract:"返回参数列表中的最小值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/min-%E5%87%BD%E6%95%B0-61635d12-920f-4ce2-a70f-96f202dcc152"}],functionParameter:{number1:{name:"数值 1",detail:"要计算最小值的第一个数字、单元格引用或单元格区域。"},number2:{name:"数值 2",detail:"要计算最小值的其他数字、单元格引用或单元格区域,最多可包含 255 个。"}}},MINA:{description:"返回参数列表中的最小值,包括数字、文本和逻辑值。",abstract:"返回参数列表中的最小值,包括数字、文本和逻辑值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/mina-%E5%87%BD%E6%95%B0-245a6f46-7ca5-4dc7-ab49-805341bc31d3"}],functionParameter:{value1:{name:"值 1",detail:"要计算最小值的第一个数字、单元格引用或单元格区域。"},value2:{name:"值 2",detail:"要计算最小值的其他数字、单元格引用或单元格区域,最多可包含 255 个。"}}},MINIFS:{description:"返回一组给定条件或标准指定的单元格之间的最小值。",abstract:"返回一组给定条件或标准指定的单元格之间的最小值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/minifs-%E5%87%BD%E6%95%B0-6ca1ddaa-079b-4e74-80cc-72eef32e6599"}],functionParameter:{minRange:{name:"最小值范围",detail:"确定最小值的实际单元格区域。"},criteriaRange1:{name:"条件范围 1",detail:"是一组用于条件计算的单元格。"},criteria1:{name:"条件 1",detail:"用于确定哪些单元格是最小值的条件,格式为数字、表达式或文本。 一组相同的条件适用于 MAXIFS、SUMIFS 和 AVERAGEIFS 函数。"},criteriaRange2:{name:"条件范围 2",detail:"附加区域。 最多可以输入 127 个区域。"},criteria2:{name:"条件 2",detail:"附加关联条件。 最多可以输入 127 个条件。"}}},MODE_MULT:{description:"返回一组数据或数据区域中出现频率最高或重复出现的数值的垂直数组",abstract:"返回一组数据或数据区域中出现频率最高或重复出现的数值的垂直数组",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/mode-mult-%E5%87%BD%E6%95%B0-50fd9464-b2ba-4191-b57a-39446689ae8c"}],functionParameter:{number1:{name:"数值 1",detail:"要计算众数的第一个数字、单元格引用或单元格区域。"},number2:{name:"数值 2",detail:"要计算众数的其他数字、单元格引用或单元格区域,最多可包含 255 个。"}}},MODE_SNGL:{description:"返回在数据集内出现次数最多的值",abstract:"返回在数据集内出现次数最多的值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/mode-sngl-%E5%87%BD%E6%95%B0-f1267c16-66c6-4386-959f-8fba5f8bb7f8"}],functionParameter:{number1:{name:"数值 1",detail:"要计算众数的第一个数字、单元格引用或单元格区域。"},number2:{name:"数值 2",detail:"要计算众数的其他数字、单元格引用或单元格区域,最多可包含 255 个。"}}},NEGBINOM_DIST:{description:"返回负二项式分布",abstract:"返回负二项式分布",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/negbinom-dist-%E5%87%BD%E6%95%B0-c8239f89-c2d0-45bd-b6af-172e570f8599"}],functionParameter:{numberF:{name:"失败次数",detail:"失败的次数。"},numberS:{name:"成功次数",detail:"成功次数的阈值。"},probabilityS:{name:"成功概率",detail:"成功的概率。"},cumulative:{name:"累积",detail:"决定函数形式的逻辑值。 如果为 TRUE,则 NEGBINOM.DIST 返回累积分布函数;如果为 FALSE,则返回概率密度函数。"}}},NORM_DIST:{description:"返回正态累积分布",abstract:"返回正态累积分布",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/norm-dist-%E5%87%BD%E6%95%B0-edb1cc14-a21c-4e53-839d-8082074c9f8d"}],functionParameter:{x:{name:"x",detail:"需要计算其分布的数值。"},mean:{name:"平均值",detail:"分布的算术平均值。"},standardDev:{name:"标准偏差",detail:"分布的标准偏差。"},cumulative:{name:"累积",detail:"决定函数形式的逻辑值。 如果为 TRUE,则 NORM.DIST 返回累积分布函数;如果为 FALSE,则返回概率密度函数。"}}},NORM_INV:{description:"返回正态累积分布的反函数",abstract:"返回正态累积分布的反函数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/norm-inv-%E5%87%BD%E6%95%B0-54b30935-fee7-493c-bedb-2278a9db7e13"}],functionParameter:{probability:{name:"概率",detail:"对应于正态分布的概率。"},mean:{name:"平均值",detail:"分布的算术平均值。"},standardDev:{name:"标准偏差",detail:"分布的标准偏差。"}}},NORM_S_DIST:{description:"返回标准正态累积分布",abstract:"返回标准正态累积分布",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/norm-s-dist-%E5%87%BD%E6%95%B0-1e787282-3832-4520-a9ae-bd2a8d99ba88"}],functionParameter:{z:{name:"z",detail:"需要计算其分布的数值。"},cumulative:{name:"累积",detail:"决定函数形式的逻辑值。 如果为 TRUE,则 NORM.DIST 返回累积分布函数;如果为 FALSE,则返回概率密度函数。"}}},NORM_S_INV:{description:"返回标准正态累积分布函数的反函数",abstract:"返回标准正态累积分布函数的反函数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/norm-s-inv-%E5%87%BD%E6%95%B0-d6d556b4-ab7f-49cd-b526-5a20918452b1"}],functionParameter:{probability:{name:"概率",detail:"对应于正态分布的概率。"}}},PEARSON:{description:"返回 Pearson 乘积矩相关系数",abstract:"返回 Pearson 乘积矩相关系数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/pearson-%E5%87%BD%E6%95%B0-0c3e30fc-e5af-49c4-808a-3ef66e034c18"}],functionParameter:{array1:{name:"数据1",detail:"代表因变量数据的数组或矩阵的范围。"},array2:{name:"数据2",detail:"代表自变量数据的数组或矩阵的范围。"}}},PERCENTILE_EXC:{description:"返回数据集中第 k 个百分点的值 (不含 0 和 1)",abstract:"返回数据集中第 k 个百分点的值 (不含 0 和 1)",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/percentile-exc-%E5%87%BD%E6%95%B0-bbaa7204-e9e1-4010-85bf-c31dc5dce4ba"}],functionParameter:{array:{name:"数组",detail:"定义相对位置的数组或数据区域。"},k:{name:"k",detail:"0 到 1 之间的百分点值 (不含 0 和 1)。"}}},PERCENTILE_INC:{description:"返回数据集中第 k 个百分点的值 (包含 0 和 1)",abstract:"返回数据集中第 k 个百分点的值 (包含 0 和 1)",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/percentile-inc-%E5%87%BD%E6%95%B0-680f9539-45eb-410b-9a5e-c1355e5fe2ed"}],functionParameter:{array:{name:"数组",detail:"定义相对位置的数组或数据区域。"},k:{name:"k",detail:"0 到 1 之间的百分点值 (包含 0 和 1)。"}}},PERCENTRANK_EXC:{description:"返回数据集中值的百分比排位 (不含 0 和 1)",abstract:"返回数据集中值的百分比排位 (不含 0 和 1)",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/percentrank-exc-%E5%87%BD%E6%95%B0-d8afee96-b7e2-4a2f-8c01-8fcdedaa6314"}],functionParameter:{array:{name:"数组",detail:"定义相对位置的数组或数据区域。"},x:{name:"x",detail:"需要得到其排位的值。"},significance:{name:"有效位数",detail:"用于标识返回的百分比值的有效位数的值。 如果省略,则 PERCENTRANK.EXC 使用 3 位小数 (0.xxx)。"}}},PERCENTRANK_INC:{description:"返回数据集中值的百分比排位 (包含 0 和 1)",abstract:"返回数据集中值的百分比排位 (包含 0 和 1)",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/percentrank-inc-%E5%87%BD%E6%95%B0-149592c9-00c0-49ba-86c1-c1f45b80463a"}],functionParameter:{array:{name:"数组",detail:"定义相对位置的数组或数据区域。"},x:{name:"x",detail:"需要得到其排位的值。"},significance:{name:"有效位数",detail:"用于标识返回的百分比值的有效位数的值。 如果省略,则 PERCENTRANK.INC 使用 3 位小数 (0.xxx)。"}}},PERMUT:{description:"返回给定数目对象的排列数",abstract:"返回给定数目对象的排列数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/permut-%E5%87%BD%E6%95%B0-3bd1cb9a-2880-41ab-a197-f246a7a602d3"}],functionParameter:{number:{name:"总数",detail:"项目的数量。"},numberChosen:{name:"样品数量",detail:"每一排列中项目的数量。"}}},PERMUTATIONA:{description:"返回可从总计对象中选择的给定数目对象(含重复)的排列数",abstract:"返回可从总计对象中选择的给定数目对象(含重复)的排列数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/permutationa-%E5%87%BD%E6%95%B0-6c7d7fdc-d657-44e6-aa19-2857b25cae4e"}],functionParameter:{number:{name:"总数",detail:"项目的数量。"},numberChosen:{name:"样品数量",detail:"每一排列中项目的数量。"}}},PHI:{description:"返回标准正态分布的密度函数值",abstract:"返回标准正态分布的密度函数值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/phi-%E5%87%BD%E6%95%B0-23e49bc6-a8e8-402d-98d3-9ded87f6295c"}],functionParameter:{x:{name:"x",detail:"X 是需要标准正态分布密度的数字。"}}},POISSON_DIST:{description:"返回泊松分布",abstract:"返回泊松分布",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/poisson-dist-%E5%87%BD%E6%95%B0-8fe148ff-39a2-46cb-abf3-7772695d9636"}],functionParameter:{x:{name:"x",detail:"需要计算其分布的数值。"},mean:{name:"平均值",detail:"分布的算术平均值。"},cumulative:{name:"累积",detail:"决定函数形式的逻辑值。 如果为 TRUE,则 POISSON.DIST 返回累积分布函数;如果为 FALSE,则返回概率密度函数。"}}},PROB:{description:"返回区域中的数值落在指定区间内的概率",abstract:"返回区域中的数值落在指定区间内的概率",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/prob-%E5%87%BD%E6%95%B0-9ac30561-c81c-4259-8253-34f0a238fc49"}],functionParameter:{xRange:{name:"数值",detail:"具有各自相应概率值的数值区域。"},probRange:{name:"概率",detail:"与数值相关联的一组概率值。"},lowerLimit:{name:"下界",detail:"要计算其概率的数值下界。"},upperLimit:{name:"上界",detail:"要计算其概率的数值上界。"}}},QUARTILE_EXC:{description:"返回数据集的四分位数 (不含 0 和 1)",abstract:"返回数据集的四分位数 (不含 0 和 1)",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/quartile-exc-%E5%87%BD%E6%95%B0-5a355b7a-840b-4a01-b0f1-f538c2864cad"}],functionParameter:{array:{name:"数组",detail:"要求得四分位数值的数组或数据区域。"},quart:{name:"四分位值",detail:"要返回的四分位数值。"}}},QUARTILE_INC:{description:"返回数据集的四分位数 (包含 0 和 1)",abstract:"返回数据集的四分位数 (包含 0 和 1)",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/quartile-inc-%E5%87%BD%E6%95%B0-1bbacc80-5075-42f1-aed6-47d735c4819d"}],functionParameter:{array:{name:"数组",detail:"要求得四分位数值的数组或数据区域。"},quart:{name:"四分位值",detail:"要返回的四分位数值。"}}},RANK_AVG:{description:"返回一列数字的数字排位",abstract:"返回一列数字的数字排位",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/rank-avg-%E5%87%BD%E6%95%B0-bd406a6f-eb38-4d73-aa8e-6d1c3c72e83a"}],functionParameter:{number:{name:"数值",detail:"要找到其排位的数字。"},ref:{name:"数字列表",detail:"对数字列表的引用。Ref 中的非数字值会被忽略。"},order:{name:"排位方式",detail:"一个指定数字排位方式的数字。0 或省略为降序,非 0 为升序。"}}},RANK_EQ:{description:"返回一列数字的数字排位",abstract:"返回一列数字的数字排位",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/rank-eq-%E5%87%BD%E6%95%B0-284858ce-8ef6-450e-b662-26245be04a40"}],functionParameter:{number:{name:"数值",detail:"要找到其排位的数字。"},ref:{name:"数字列表",detail:"对数字列表的引用。Ref 中的非数字值会被忽略。"},order:{name:"排位方式",detail:"一个指定数字排位方式的数字。0 或省略为降序,非 0 为升序。"}}},RSQ:{description:"返回 Pearson 乘积矩相关系数的平方",abstract:"返回 Pearson 乘积矩相关系数的平方",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/rsq-%E5%87%BD%E6%95%B0-d7161715-250d-4a01-b80d-a8364f2be08f"}],functionParameter:{array1:{name:"数据1",detail:"代表因变量数据的数组或矩阵的范围。"},array2:{name:"数据2",detail:"代表自变量数据的数组或矩阵的范围。"}}},SKEW:{description:"返回分布的偏斜度",abstract:"返回分布的偏斜度",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/skew-%E5%87%BD%E6%95%B0-bdf49d86-b1ef-4804-a046-28eaea69c9fa"}],functionParameter:{number1:{name:"数值 1",detail:"要计算偏斜度的第一个数字、单元格引用或单元格区域。"},number2:{name:"数值 2",detail:"要计算偏斜度的其他数字、单元格引用或单元格区域,最多可包含 255 个。"}}},SKEW_P:{description:"返回基于样本总体的分布的偏斜度",abstract:"返回基于样本总体的分布的偏斜度",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/skew-p-%E5%87%BD%E6%95%B0-76530a5c-99b9-48a1-8392-26632d542fcb"}],functionParameter:{number1:{name:"数值 1",detail:"要计算偏斜度的第一个数字、单元格引用或单元格区域。"},number2:{name:"数值 2",detail:"要计算偏斜度的其他数字、单元格引用或单元格区域,最多可包含 255 个。"}}},SLOPE:{description:"返回线性回归线的斜率",abstract:"返回线性回归线的斜率",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/slope-%E5%87%BD%E6%95%B0-11fb8f97-3117-4813-98aa-61d7e01276b9"}],functionParameter:{knownYs:{name:"数据_y",detail:"代表因变量数据的数组或矩阵的范围。"},knownXs:{name:"数据_x",detail:"代表自变量数据的数组或矩阵的范围。"}}},SMALL:{description:"返回数据集中的第 k 个最小值",abstract:"返回数据集中的第 k 个最小值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/small-%E5%87%BD%E6%95%B0-17da8222-7c82-42b2-961b-14c45384df07"}],functionParameter:{array:{name:"数组",detail:"需要确定第 k 个最小值的数组或数据区域。"},k:{name:"k",detail:"返回值在数组或数据单元格区域中的位置(从小到大排)。"}}},STANDARDIZE:{description:"返回正态化数值",abstract:"返回正态化数值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/standardize-%E5%87%BD%E6%95%B0-81d66554-2d54-40ec-ba83-6437108ee775"}],functionParameter:{x:{name:"x",detail:"需要计算其正态化的数值。"},mean:{name:"平均值",detail:"分布的算术平均值。"},standardDev:{name:"标准偏差",detail:"分布的标准偏差。"}}},STDEV_P:{description:"计算基于以参数形式给出的整个样本总体的标准偏差(忽略逻辑值和文本)。",abstract:"基于整个样本总体计算标准偏差",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/stdev-p-%E5%87%BD%E6%95%B0-6e917c05-31a0-496f-ade7-4f4e7462f285"}],functionParameter:{number1:{name:"数值 1",detail:"对应于总体的第一个数值参数。"},number2:{name:"数值 2",detail:"对应于总体的 2 到 254 个数值参数。 也可以用单一数组或对某个数组的引用来代替用逗号分隔的参数。"}}},STDEV_S:{description:"基于样本估算标准偏差(忽略样本中的逻辑值和文本)。",abstract:"基于样本估算标准偏差",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/stdev-s-%E5%87%BD%E6%95%B0-7d69cf97-0c1f-4acf-be27-f3e83904cc23"}],functionParameter:{number1:{name:"数值 1",detail:"对应于总体样本的第一个数值参数。 也可以用单一数组或对某个数组的引用来代替用逗号分隔的参数。"},number2:{name:"数值 2",detail:"对应于总体样本的 2 到 254 个数值参数。 也可以用单一数组或对某个数组的引用来代替用逗号分隔的参数。"}}},STDEVA:{description:"基于样本(包括数字、文本和逻辑值)估算标准偏差。",abstract:"基于样本(包括数字、文本和逻辑值)估算标准偏差",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/stdeva-%E5%87%BD%E6%95%B0-5ff38888-7ea5-48de-9a6d-11ed73b29e9d"}],functionParameter:{value1:{name:"值 1",detail:"对应于总体样本的第一个值参数。 也可以用单一数组或对某个数组的引用来代替用逗号分隔的参数。"},value2:{name:"值 2",detail:"对应于总体样本的 2 到 254 个值参数。 也可以用单一数组或对某个数组的引用来代替用逗号分隔的参数。"}}},STDEVPA:{description:"根据作为参数(包括文字和逻辑值)给定的整个总体计算标准偏差。",abstract:"基于样本总体(包括数字、文本和逻辑值)计算标准偏差",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/stdevpa-%E5%87%BD%E6%95%B0-5578d4d6-455a-4308-9991-d405afe2c28c"}],functionParameter:{value1:{name:"值 1",detail:"对应于总体的第一个值参数。"},value2:{name:"值 2",detail:"对应于总体的 2 到 254 个值参数。 也可以用单一数组或对某个数组的引用来代替用逗号分隔的参数。"}}},STEYX:{description:"返回通过线性回归法预测每个 x 的 y 值时所产生的标准误差",abstract:"返回通过线性回归法预测每个 x 的 y 值时所产生的标准误差",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/steyx-%E5%87%BD%E6%95%B0-6ce74b2c-449d-4a6e-b9ac-f9cef5ba48ab"}],functionParameter:{knownYs:{name:"数据_y",detail:"代表因变量数据的数组或矩阵的范围。"},knownXs:{name:"数据_x",detail:"代表自变量数据的数组或矩阵的范围。"}}},T_DIST:{description:"返回学生的 t 概率分布",abstract:"返回学生的 t 概率分布",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/t-dist-%E5%87%BD%E6%95%B0-4329459f-ae91-48c2-bba8-1ead1c6c21b2"}],functionParameter:{x:{name:"x",detail:"需要计算分布的数值。"},degFreedom:{name:"自由度",detail:"一个表示自由度数的整数。"},cumulative:{name:"累积",detail:"决定函数形式的逻辑值。 如果为 TRUE,则 T.DIST 返回累积分布函数;如果为 FALSE,则返回概率密度函数。"}}},T_DIST_2T:{description:"返回学生的 t 概率分布 (双尾)",abstract:"返回学生的 t 概率分布 (双尾)",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/t-dist-2t-%E5%87%BD%E6%95%B0-198e9340-e360-4230-bd21-f52f22ff5c28"}],functionParameter:{x:{name:"x",detail:"需要计算分布的数值。"},degFreedom:{name:"自由度",detail:"一个表示自由度数的整数。"}}},T_DIST_RT:{description:"返回学生的 t 概率分布 (右尾)",abstract:"返回学生的 t 概率分布 (右尾)",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/t-dist-rt-%E5%87%BD%E6%95%B0-20a30020-86f9-4b35-af1f-7ef6ae683eda"}],functionParameter:{x:{name:"x",detail:"需要计算分布的数值。"},degFreedom:{name:"自由度",detail:"一个表示自由度数的整数。"}}},T_INV:{description:"返回学生的 t 概率分布的反函数",abstract:"返回学生的 t 概率分布的反函数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/t-inv-%E5%87%BD%E6%95%B0-2908272b-4e61-4942-9df9-a25fec9b0e2e"}],functionParameter:{probability:{name:"概率",detail:"与学生的 t 分布相关的概率。"},degFreedom:{name:"自由度",detail:"一个表示自由度数的整数。"}}},T_INV_2T:{description:"返回学生的 t 概率分布的反函数 (双尾)",abstract:"返回学生的 t 概率分布的反函数 (双尾)",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/t-inv-2t-%E5%87%BD%E6%95%B0-ce72ea19-ec6c-4be7-bed2-b9baf2264f17"}],functionParameter:{probability:{name:"概率",detail:"与学生的 t 分布相关的概率。"},degFreedom:{name:"自由度",detail:"一个表示自由度数的整数。"}}},T_TEST:{description:"返回与学生 t-检验相关的概率",abstract:"返回与学生 t-检验相关的概率",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/t-test-%E5%87%BD%E6%95%B0-d4e08ec3-c545-485f-962e-276f7cbed055"}],functionParameter:{array1:{name:"数组1",detail:"第一个数据数组或数据范围。"},array2:{name:"数组2",detail:"第二个数据数组或数据范围。"},tails:{name:"尾部特性",detail:"指定分布尾数。 如果 tails = 1,则 T.TEST 使用单尾分布。 如果 tails = 2,则 T.TEST 使用双尾分布。"},type:{name:"检验类型",detail:"要执行的 t 检验的类型。"}}},TREND:{description:"返回线性趋势值",abstract:"返回线性趋势值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/trend-%E5%87%BD%E6%95%B0-e2f135f0-8827-4096-9873-9a7cf7b51ef1"}],functionParameter:{knownYs:{name:"已知数据_y",detail:"关系表达式 y = m*x+b 中已知的 y 值集合。"},knownXs:{name:"已知数据_x",detail:"关系表达式 y = m*x+b 中已知的 x 值集合。"},newXs:{name:"新数据_x",detail:"需要 TREND 返回对应 y 值的新 x 值。"},constb:{name:"b",detail:"一个逻辑值,用于指定是否将常量 b 强制设为 0。"}}},TRIMMEAN:{description:"返回数据集的内部平均值",abstract:"返回数据集的内部平均值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/trimmean-%E5%87%BD%E6%95%B0-d90c9878-a119-4746-88fa-63d988f511d3"}],functionParameter:{array:{name:"数组",detail:"要求得内部平均值的数组或数据区域。"},percent:{name:"排除比例",detail:"从计算中排除数据点的百分比值。"}}},VAR_P:{description:"计算基于整个样本总体的方差(忽略样本总体中的逻辑值和文本)。",abstract:"计算基于样本总体的方差",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/var-p-%E5%87%BD%E6%95%B0-73d1285c-108c-4843-ba5d-a51f90656f3a"}],functionParameter:{number1:{name:"数值 1",detail:"对应于总体的第一个数值参数。"},number2:{name:"数值 2",detail:"对应于总体的 2 到 254 个数值参数。"}}},VAR_S:{description:"估算基于样本的方差(忽略样本中的逻辑值和文本)。",abstract:"基于样本估算方差",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/var-s-%E5%87%BD%E6%95%B0-913633de-136b-449d-813e-65a00b2b990b"}],functionParameter:{number1:{name:"数值 1",detail:"对应于总体样本的第一个数值参数。"},number2:{name:"数值 2",detail:"对应于总体样本的 2 到 254 个数值参数。"}}},VARA:{description:"基于样本(包括数字、文本和逻辑值)估算方差",abstract:"基于样本(包括数字、文本和逻辑值)估算方差",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/vara-%E5%87%BD%E6%95%B0-3de77469-fa3a-47b4-85fd-81758a1e1d07"}],functionParameter:{value1:{name:"值 1",detail:"对应于总体样本的第一个值参数。"},value2:{name:"值 2",detail:"对应于总体样本的 2 到 254 个值参数"}}},VARPA:{description:"基于样本总体(包括数字、文本和逻辑值)计算标准偏差",abstract:"基于样本总体(包括数字、文本和逻辑值)计算标准偏差",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/varpa-%E5%87%BD%E6%95%B0-59a62635-4e89-4fad-88ac-ce4dc0513b96"}],functionParameter:{value1:{name:"值 1",detail:"对应于总体的第一个值参数。"},value2:{name:"值 2",detail:"对应于总体的 2 到 254 个值参数"}}},WEIBULL_DIST:{description:"返回 Weibull 分布",abstract:"返回 Weibull 分布",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/weibull-dist-%E5%87%BD%E6%95%B0-4e783c39-9325-49be-bbc9-a83ef82b45db"}],functionParameter:{x:{name:"x",detail:"需要计算其分布的数值。"},alpha:{name:"alpha",detail:"分布的第一个参数。"},beta:{name:"beta",detail:"分布的第二个参数。"},cumulative:{name:"累积",detail:"决定函数形式的逻辑值。如果为TRUE,则 WEIBULL.DIST 返回累积分布函数;如果为 FALSE,则返回概率密度函数。"}}},Z_TEST:{description:"返回 z 检验的单尾概率值",abstract:"返回 z 检验的单尾概率值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/z-test-%E5%87%BD%E6%95%B0-d633d5a3-2031-4614-a016-92180ad82bee"}],functionParameter:{array:{name:"数组",detail:"用来检验 x 的数组或数据区域。"},x:{name:"x",detail:"要测试的值。"},sigma:{name:"标准偏差",detail:"总体(已知)标准偏差。 如果省略,则使用样本标准偏差。"}}},ADDRESS:{description:"根据指定行号和列号获得工作表中的某个单元格的地址。 例如,ADDRESS(2,3) 返回 $C$2。 再例如,ADDRESS(77,300) 返回 $KN$77。 可以使用其他函数(如 ROW 和 COLUMN 函数)为 ADDRESS 函数提供行号和列号参数。",abstract:"以文本形式将引用值返回到工作表的单个单元格",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/address-%E5%87%BD%E6%95%B0-d0c26c0d-3991-446b-8de4-ab46431d4f89"}],functionParameter:{row_num:{name:"行号",detail:"一个数值,指定要在单元格引用中使用的行号。"},column_num:{name:"列号",detail:"一个数值,指定要在单元格引用中使用的列号。"},abs_num:{name:"引用类型",detail:"一个数值,指定要返回的引用类型。"},a1:{name:"引用样式",detail:"一个逻辑值,指定 A1 或 R1C1 引用样式。 在 A1 样式中,列和行将分别按字母和数字顺序添加标签。 在 R1C1 引用样式中,列和行均按数字顺序添加标签。 如果参数 A1 为 TRUE 或被省略,则 ADDRESS 函数返回 A1 样式引用;如果为 FALSE,则 ADDRESS 函数返回 R1C1 样式引用。"},sheet_text:{name:"工作表名称",detail:'一个文本值,指定要用作外部引用的工作表的名称。 例如,公式=ADDRESS (1,1,,,"Sheet2") 返回 Sheet2!$A$1。 如果 sheet_text 参数,则不使用工作表名称,函数返回的地址引用当前工作表上的单元格。'}}},AREAS:{description:"返回引用中涉及的区域个数",abstract:"返回引用中涉及的区域个数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/areas-%E5%87%BD%E6%95%B0-8392ba32-7a41-43b3-96b0-3695d2ec6152"}],functionParameter:{reference:{name:"引用",detail:"对某个单元格或单元格区域的引用,可包含多个区域。"}}},CHOOSE:{description:"从值的列表中选择值。",abstract:"从值的列表中选择值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/choose-%E5%87%BD%E6%95%B0-fc5c184f-cb62-4ec7-a46e-38653b98f5bc"}],functionParameter:{indexNum:{name:"索引",detail:"用于指定所选定的数值参数。 index_num 必须是介于 1 到 254 之间的数字,或是包含 1 到 254 之间的数字的公式或单元格引用。\n如果 index_num 为 1,则 CHOOSE 返回 value1;如果为 2,则 CHOOSE 返回 value2,以此类推。\n如果 index_num 小于 1 或大于列表中最后一个值的索引号,则 CHOOSE 返回 #VALUE! 错误值。\n如果 index_num 为小数,则在使用前将被截尾取整。"},value1:{name:"值 1",detail:"CHOOSE 将根据 index_num 从中选择一个数值或一项要执行的操作。 参数可以是数字、单元格引用、定义的名称、公式、函数或文本。"},value2:{name:"值 2",detail:"1 到 254 个值参数。"}}},CHOOSECOLS:{description:"返回数组中的指定列",abstract:"返回数组中的指定列",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/choosecols-%E5%87%BD%E6%95%B0-bf117976-2722-4466-9b9a-1c01ed9aebff"}],functionParameter:{array:{name:"数组",detail:"包含要在新数组中返回的列的数组。"},colNum1:{name:"列号1",detail:"要返回的第一列。"},colNum2:{name:"列号2",detail:"要返回的其他列。"}}},CHOOSEROWS:{description:"返回数组中的指定行",abstract:"返回数组中的指定行",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/chooserows-%E5%87%BD%E6%95%B0-51ace882-9bab-4a44-9625-7274ef7507a3"}],functionParameter:{array:{name:"数组",detail:"包含要在新数组中返回的行的数组。"},rowNum1:{name:"行号1",detail:"要返回的第一行号。"},rowNum2:{name:"行号2",detail:"要返回的其他行号。"}}},COLUMN:{description:"返回给定单元格引用的列号。",abstract:"返回引用的列号",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/column-%E5%87%BD%E6%95%B0-44e8c754-711c-4df3-9da4-47a55042554b"}],functionParameter:{reference:{name:"引用",detail:"要返回其列号的单元格或单元格范围。"}}},COLUMNS:{description:"返回数组或引用的列数。",abstract:"返回引用中包含的列数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/columns-%E5%87%BD%E6%95%B0-4e8e7b4e-e603-43e8-b177-956088fa48ca"}],functionParameter:{array:{name:"数组",detail:"要计算列数的数组、数组公式或是对单元格区域的引用。"}}},DROP:{description:"从数组的开头或末尾删除指定数量的行或列",abstract:"从数组的开头或末尾删除指定数量的行或列",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/drop-%E5%87%BD%E6%95%B0-1cb4e151-9e17-4838-abe5-9ba48d8c6a34"}],functionParameter:{array:{name:"数组",detail:"要从中删除行或列的数组。"},rows:{name:"行数",detail:"要删除的行数。负数表示从数组末尾开始删除。"},columns:{name:"列数",detail:"要删除的列数。负数表示从数组末尾开始删除。"}}},EXPAND:{description:"将数组展开或填充到指定的行和列维度",abstract:"将数组展开或填充到指定的行和列维度",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/expand-%E5%87%BD%E6%95%B0-7433fba5-4ad1-41da-a904-d5d95808bc38"}],functionParameter:{array:{name:"数组",detail:"要展开的数组。"},rows:{name:"行数",detail:"扩展数组中的行数。 如果缺少,行将不会展开。"},columns:{name:"列数",detail:"展开数组中的列数。 如果缺少,列将不会展开。"},padWith:{name:"填充值",detail:"要填充的值。 默认值为 #N/A。"}}},FILTER:{description:"FILTER 函数可以基于定义的条件筛选一系列数据。",abstract:"FILTER 函数可以基于定义的条件筛选一系列数据。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/filter-%E5%87%BD%E6%95%B0-f4f7cb66-82eb-4767-8f7c-4877ad80c759"}],functionParameter:{array:{name:"数组",detail:"要筛选的区域或数组。"},include:{name:"布尔值数组",detail:"布尔值数组,其中 TRUE 表示要保留的一行或一列。"},ifEmpty:{name:"空值返回",detail:"如果未保留任何项,则返回。"}}},FORMULATEXT:{description:"将给定引用的公式返回为文本",abstract:"将给定引用的公式返回为文本",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/formulatext-%E5%87%BD%E6%95%B0-0a786771-54fd-4ae2-96ee-09cda35439c8"}],functionParameter:{reference:{name:"引用",detail:"对单元格或单元格区域的引用。"}}},GETPIVOTDATA:{description:"返回存储在数据透视表中的数据",abstract:"返回存储在数据透视表中的数据",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/getpivotdata-%E5%87%BD%E6%95%B0-8c083b99-a922-4ca0-af5e-3af55960761f"}],functionParameter:{number1:{name:"number1",detail:"first"},number2:{name:"number2",detail:"second"}}},HLOOKUP:{description:"在表格的首行或数值数组中搜索值,然后返回表格或数组中指定行的所在列中的值。",abstract:"查找数组的首行,并返回指定单元格的值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/hlookup-%E5%87%BD%E6%95%B0-a3034eec-b719-4ba3-bb65-e1ad662ed95f"}],functionParameter:{lookupValue:{name:"查找值",detail:"要查找的值。 要查找的值必须位于 table_array 参数中指定的单元格区域的第一行中。"},tableArray:{name:"范围",detail:"VLOOKUP 在其中搜索 lookup_value 和返回值的单元格区域。在其中查找数据的信息表。 使用对区域或区域名称的引用。"},rowIndexNum:{name:"行号",detail:"行号table_array匹配值将返回的行号(row_index_num为 1,则返回 table_array 中的第一行值,row_index_num 2 返回 table_array 中的第二行值)。"},rangeLookup:{name:"查询类型",detail:"指定希望查找精确匹配值还是近似匹配值:默认近似匹配 - 1/TRUE, 完全匹配 - 0/FALSE"}}},HSTACK:{description:"水平和顺序追加数组以返回较大的数组",abstract:"水平和顺序追加数组以返回较大的数组",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/hstack-%E5%87%BD%E6%95%B0-98c4ab76-10fe-4b4f-8d5f-af1c125fe8c2"}],functionParameter:{array1:{name:"数组",detail:"要追加的数组。"},array2:{name:"数组",detail:"要追加的数组。"}}},HYPERLINK:{description:"在单元格内创建一个超链接",abstract:"在单元格内创建一个超链接",links:[{title:"教学",url:"https://support.google.com/docs/answer/3093313?sjid=14131674310032162335-NC&hl=zh-Hans"}],functionParameter:{url:{name:"网址",detail:"以引号括住的链接位置的完整网址,或对包含这种网址的单元格的引用。"},linkLabel:{name:"链接标签",detail:"要在单元格中作为链接显示的文本(用引号括起来的),或者指向包含这种标签的单元格的引用。"}}},IMAGE:{description:"从给定源返回图像",abstract:"从给定源返回图像",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/image-%E5%87%BD%E6%95%B0-7e112975-5e52-4f2a-b9da-1d913d51f5d5"}],functionParameter:{source:{name:"图像源",detail:"图像文件的 URL 路径(使用“https”协议)。"},altText:{name:"描述文字",detail:"描述图像以提供辅助功能的可选文字。"},sizing:{name:"维度",detail:"指定图像维度。"},height:{name:"高度",detail:"图像的自定义高度(以像素为单位)。"},width:{name:"宽度",detail:"图像的自定义宽度(以像素为单位)。"}}},INDEX:{description:"返回指定的行与列交叉处的单元格引用。 如果引用由不连续的选定区域组成,可以选择某一选定区域。",abstract:"使用索引从引用或数组中选择值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/index-%E5%87%BD%E6%95%B0-a5dcf0dd-996d-40a4-a822-b56b061328bd"}],functionParameter:{reference:{name:"引用",detail:"对一个或多个单元格区域的引用。"},rowNum:{name:"行号",detail:"引用中某行的行号,函数从该行返回一个引用。"},columnNum:{name:"列号",detail:"引用中某列的列标,函数从该列返回一个引用。"},areaNum:{name:"区域编号",detail:"选择要返回行号和列号的交叉点的引用区域。"}}},INDIRECT:{description:"返回由文本字符串指定的引用。 此函数立即对引用进行计算,并显示其内容。",abstract:"返回由文本值指定的引用",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/indirect-%E5%87%BD%E6%95%B0-474b3a3a-8a26-4f44-b491-92b6306fa261"}],functionParameter:{refText:{name:"引用文本",detail:"对包含 A1 样式引用、R1C1 样式引用、定义为引用的名称或作为文本字符串引用的单元格的引用的引用。"},a1:{name:"引用类型",detail:"一个逻辑值,用于指定包含在单元格引用文本中的引用的类型。"}}},LOOKUP:{description:"当需要查询一行或一列并查找另一行或列中的相同位置的值时使用",abstract:"在向量或数组中查找值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/lookup-%E5%87%BD%E6%95%B0-446d94af-663b-451d-8251-369d5e3864cb"}],functionParameter:{lookupValue:{name:"查找值",detail:"在第一个向量中搜索的值。可以是数字、文本、逻辑值、名称或对值的引用。"},lookupVectorOrArray:{name:"查询范围或数组",detail:"只包含一行或一列的区域。"},resultVector:{name:"结果范围",detail:" 只包含一行或一列的区域。参数必须与 lookup_vector 参数大小相同。 其大小必须相同。"}}},MATCH:{description:"使用 MATCH 函数在 范围 单元格中搜索特定的项,然后返回该项在此区域中的相对位置。",abstract:"在引用或数组中查找值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/match-%E5%87%BD%E6%95%B0-e8dffd45-c762-47d6-bf89-533f4a37673a"}],functionParameter:{lookupValue:{name:"查找值",detail:"要在 lookup_array 中匹配的值。"},lookupArray:{name:"搜索区域",detail:"要搜索的单元格区域。"},matchType:{name:"匹配类型",detail:"数字 -1、0 或 1。"}}},OFFSET:{description:"从给定引用中返回引用偏移量",abstract:"从给定引用中返回引用偏移量",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/offset-%E5%87%BD%E6%95%B0-c8de19ae-dd79-4b9b-a14e-b4d906d11b66"}],functionParameter:{reference:{name:"引用",detail:"要基于偏移量的引用。"},rows:{name:"行数",detail:"需要左上角单元格引用的向上或向下行数。"},cols:{name:"列数",detail:"需要结果的左上角单元格引用的从左到右的列数。"},height:{name:"行高",detail:"需要返回的引用的行高。行高必须为正数。"},width:{name:"列宽",detail:"需要返回的引用的列宽。列宽必须为正数。"}}},ROW:{description:"返回给定单元格引用的行号。",abstract:"返回引用的行号",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/row-%E5%87%BD%E6%95%B0-3a63b74a-c4d0-4093-b49a-e76eb49a6d8d"}],functionParameter:{reference:{name:"引用",detail:"需要得到其行号的单元格或单元格区域。"}}},ROWS:{description:"返回数组或引用的行数。",abstract:"返回引用中的行数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/rows-%E5%87%BD%E6%95%B0-b592593e-3fc2-47f2-bec1-bda493811597"}],functionParameter:{array:{name:"数组",detail:"需要得到其行数的数组、数组公式或对单元格区域的引用。"}}},RTD:{description:"从支持 COM 自动化的程序中检索实时数据",abstract:"从支持 COM 自动化的程序中检索实时数据",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/rtd-%E5%87%BD%E6%95%B0-e0cc001a-56f0-470a-9b19-9455dc0eb593"}],functionParameter:{number1:{name:"number1",detail:"first"},number2:{name:"number2",detail:"second"}}},SORT:{description:"对区域或数组的内容进行排序",abstract:"对区域或数组的内容进行排序",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/sort-%E5%87%BD%E6%95%B0-22f63bd0-ccc8-492f-953d-c20e8e44b86c"}],functionParameter:{array:{name:"数组",detail:"要排序的范围或数组。"},sortIndex:{name:"排序索引",detail:"表示排序依据(按行或按列)的数字。"},sortOrder:{name:"排序顺序",detail:"表示所需排序顺序的数字;1表示顺序(默认),-1表示降序。"},byCol:{name:"排序方向",detail:"表示所需排序方向的逻辑值;FALSE指按行排序(默认),TRUE指按列排序。"}}},SORTBY:{description:"根据相应区域或数组中的值对区域或数组的内容进行排序",abstract:"根据相应区域或数组中的值对区域或数组的内容进行排序",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/sortby-%E5%87%BD%E6%95%B0-cd2d7a62-1b93-435c-b561-d6a35134f28f"}],functionParameter:{array:{name:"数组",detail:"要排序的范围或数组。"},byArray1:{name:"排序数组1",detail:"要基于其进行排序的范围或数组。"},sortOrder1:{name:"排序顺序1",detail:"表示所需排序顺序的数字;1表示顺序(默认),-1表示降序。"},byArray2:{name:"排序数组2",detail:"要基于其进行排序的范围或数组。"},sortOrder2:{name:"排序顺序2",detail:"表示所需排序顺序的数字;1表示顺序(默认),-1表示降序。"}}},TAKE:{description:"从数组的开头或末尾返回指定数量的连续行或列",abstract:"从数组的开头或末尾返回指定数量的连续行或列",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/take-%E5%87%BD%E6%95%B0-25382ff1-5da1-4f78-ab43-f33bd2e4e003"}],functionParameter:{array:{name:"数组",detail:"要从中获取行或列的数组。"},rows:{name:"行数",detail:"要获取的行数。负数表示从数组末尾开始获取。"},columns:{name:"列数",detail:"要获取的列数。负数表示从数组末尾开始获取。"}}},TOCOL:{description:"返回单个列中的数组",abstract:"返回单个列中的数组",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/tocol-%E5%87%BD%E6%95%B0-22839d9b-0b55-4fc1-b4e6-2761f8f122ed"}],functionParameter:{array:{name:"数组",detail:"要作为列返回的数组或引用。"},ignore:{name:"忽略值",detail:"是否忽略某些类型的值。默认情况下,不会忽略任何值。 指定下列操作之一:\n0 保留所有值(默认)\n1 忽略空白\n2 忽略错误\n3 忽略空白和错误"},scanByColumn:{name:"按列扫描数组",detail:"按列扫描数组。 默认情况下,按行扫描数组。 扫描确定值是按行排序还是按列排序。"}}},TOROW:{description:"返回单个行中的数组",abstract:"返回单个行中的数组",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/torow-%E5%87%BD%E6%95%B0-b90d0964-a7d9-44b7-816b-ffa5c2fe2289"}],functionParameter:{array:{name:"数组",detail:"要作为行返回的数组或引用。"},ignore:{name:"忽略值",detail:"是否忽略某些类型的值。默认情况下,不会忽略任何值。 指定下列操作之一:\n0 保留所有值(默认)\n1 忽略空白\n2 忽略错误\n3 忽略空白和错误"},scanByColumn:{name:"按列扫描数组",detail:"按列扫描数组。 默认情况下,按行扫描数组。 扫描确定值是按行排序还是按列排序。"}}},TRANSPOSE:{description:"返回数组的转置",abstract:"返回数组的转置",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/transpose-%E5%87%BD%E6%95%B0-ed039415-ed8a-4a81-93e9-4b6dfac76027"}],functionParameter:{array:{name:"数组",detail:"工作表中的单元格区域或数组。"}}},UNIQUE:{description:"返回列表或区域的唯一值列表",abstract:"返回列表或区域的唯一值列表",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/unique-%E5%87%BD%E6%95%B0-c5ab87fd-30a3-4ce9-9d1a-40204fb85e1e"}],functionParameter:{array:{name:"数组",detail:"从中返回唯一行或列的范围或数组。"},byCol:{name:"依据列",detail:"是一个逻辑值:将行彼此比较并返回唯一值 = FALSE,或已省略;将列彼此比较并返回唯一值 = TRUE。"},exactlyOnce:{name:"仅一次",detail:"是一个逻辑值:从数组中返回只出现一次的行或列 = TRUE;从数组中返回所有不同的行或列 = FALSE,或已省略。"}}},VLOOKUP:{description:"需要在表格或区域中按行查找内容时,请使用 VLOOKUP。 例如,按部件号查找汽车部件的价格,或根据员工 ID 查找员工姓名。",abstract:"在数组第一列中查找,然后在行之间移动以返回单元格的值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/vlookup-%E5%87%BD%E6%95%B0-0bbc8083-26fe-4963-8ab8-93a18ad188a1"}],functionParameter:{lookupValue:{name:"查找值",detail:"要查找的值。 要查找的值必须位于 table_array 参数中指定的单元格区域的第一列中。"},tableArray:{name:"范围",detail:"VLOOKUP 在其中搜索 lookup_value 和返回值的单元格区域。 可以使用命名区域或表,并且可以在参数中使用名称,而不是单元格引用。 "},colIndexNum:{name:"列号",detail:"其中包含返回值的单元格的编号(table_array 最左侧单元格为 1 开始编号)。"},rangeLookup:{name:"查询类型",detail:"一个逻辑值,该值指定希望 VLOOKUP 查找近似匹配还是精确匹配:近似匹配 - 1/TRUE, 完全匹配 - 0/FALSE"}}},VSTACK:{description:"按顺序垂直追加数组以返回更大的数组",abstract:"按顺序垂直追加数组以返回更大的数组",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/vstack-%E5%87%BD%E6%95%B0-a4b86897-be0f-48fc-adca-fcc10d795a9c"}],functionParameter:{array1:{name:"数组",detail:"要追加的数组。"},array2:{name:"数组",detail:"要追加的数组。"}}},WRAPCOLS:{description:"将提供的行或列的值按列换行到指定数量的元素之后以形成新数组。",abstract:"将提供的行或列的值按列换行到指定数量的元素之后以形成新数组。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/wrapcols-%E5%87%BD%E6%95%B0-d038b05a-57b7-4ee0-be94-ded0792511e2"}],functionParameter:{vector:{name:"矢量",detail:"要换行的矢量或引用。"},wrapCount:{name:"换行数量",detail:"每列的值的最大数量。"},padWith:{name:"填充值",detail:"要填充的值。 默认值为 #N/A。"}}},WRAPROWS:{description:"将提供的行或列的值按行换行到指定数量的元素之后以形成新数组。",abstract:"将提供的行或列的值按行换行到指定数量的元素之后以形成新数组。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/wraprows-%E5%87%BD%E6%95%B0-796825f3-975a-4cee-9c84-1bbddf60ade0"}],functionParameter:{vector:{name:"矢量",detail:"要换行的矢量或引用。"},wrapCount:{name:"换行数量",detail:"每行的值的最大数量。"},padWith:{name:"填充值",detail:"要填充的值。 默认值为 #N/A。"}}},XLOOKUP:{description:"函数搜索区域或数组,然后返回与它找到的第一个匹配项对应的项。 如果不存在匹配项,则 XLOOKUP 可以返回最接近的 (近似) 匹配项",abstract:"搜索区域或数组,并返回与之找到的第一个匹配项对应的项。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/xlookup-%E5%87%BD%E6%95%B0-b7fd680e-6d10-43e6-84f9-88eae8bf5929"}],functionParameter:{lookupValue:{name:"查找值",detail:"要搜索的值,如果省略,XLOOKUP 将返回在 lookup_array 中找到的空白单元格。"},lookupArray:{name:"搜索区域",detail:"要搜索的数组或区域"},returnArray:{name:"返回区域",detail:"要返回的数组或区域"},ifNotFound:{name:"默认显示值",detail:"如果未找到有效的匹配项,则返回你提供的 [if_not_found] 文本,否则返回#N/A "},matchMode:{name:"匹配类型",detail:"指定匹配类型: 0 - 完全匹配。 如果未找到,则返回 #N/A。默认选项。-1 - 完全匹配。 如果没有找到,则返回下一个较小的项。1 - 完全匹配。 如果没有找到,则返回下一个较大的项。 2 - 通配符匹配,其中 *, ? 和 ~ 有特殊含义。"},searchMode:{name:"搜索模式",detail:"指定要使用的搜索模式:1 从第一项开始执行搜索,默认选项。-1 从最后一项开始执行反向搜索。2 执行依赖于 lookup_array 按升序排序的二进制搜索, -2执行依赖于 lookup_array 按降序排序的二进制搜索"}}},XMATCH:{description:"在数组或单元格区域中搜索指定项,然后返回项的相对位置。",abstract:"返回项目在数组或单元格区域中的相对位置。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/xmatch-%E5%87%BD%E6%95%B0-d966da31-7a6b-4a13-a1c6-5a33ed6a0312"}],functionParameter:{lookupValue:{name:"查找值",detail:"查找值"},lookupArray:{name:"搜索区域",detail:"要搜索的数组或区域"},matchMode:{name:"匹配类型",detail:"指定匹配类型:\n0 - 完全匹配(默认值)\n-1 - 完全匹配或下一个最小项\n1 - 完全匹配或下一个最大项\n2 - 通配符匹配,其中 *, ? 和 ~ 有特殊含义。"},searchMode:{name:"搜索类型",detail:"指定搜索类型:\n1 - 搜索从第一到最后一个(默认值)\n-1 - 搜索从最后到第一个(反向搜索)。\n2 - 执行依赖于 lookup_array 按升序排序的二进制搜索。 如果未排序,将返回无效结果。\n2 - 执行依赖于 lookup_array 按降序排序的二进制搜索。 如果未排序,将返回无效结果。"}}},DAVERAGE:{description:"返回所选数据库条目的平均值",abstract:"返回所选数据库条目的平均值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/daverage-%E5%87%BD%E6%95%B0-a6a2d5ac-4b4b-48cd-a1d8-7b37834e5aee"}],functionParameter:{database:{name:"数据库",detail:"构成列表或数据库的单元格区域。"},field:{name:"字段",detail:"指定函数所使用的列。"},criteria:{name:"条件",detail:"包含指定条件的单元格区域。"}}},DCOUNT:{description:"计算数据库中包含数字的单元格的数量",abstract:"计算数据库中包含数字的单元格的数量",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/dcount-%E5%87%BD%E6%95%B0-c1fc7b93-fb0d-4d8d-97db-8d5f076eaeb1"}],functionParameter:{database:{name:"数据库",detail:"构成列表或数据库的单元格区域。"},field:{name:"字段",detail:"指定函数所使用的列。"},criteria:{name:"条件",detail:"包含指定条件的单元格区域。"}}},DCOUNTA:{description:"计算数据库中非空单元格的数量",abstract:"计算数据库中非空单元格的数量",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/dcounta-%E5%87%BD%E6%95%B0-00232a6d-5a66-4a01-a25b-c1653fda1244"}],functionParameter:{database:{name:"数据库",detail:"构成列表或数据库的单元格区域。"},field:{name:"字段",detail:"指定函数所使用的列。"},criteria:{name:"条件",detail:"包含指定条件的单元格区域。"}}},DGET:{description:"从数据库提取符合指定条件的单个记录",abstract:"从数据库提取符合指定条件的单个记录",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/dget-%E5%87%BD%E6%95%B0-455568bf-4eef-45f7-90f0-ec250d00892e"}],functionParameter:{database:{name:"数据库",detail:"构成列表或数据库的单元格区域。"},field:{name:"字段",detail:"指定函数所使用的列。"},criteria:{name:"条件",detail:"包含指定条件的单元格区域。"}}},DMAX:{description:"返回所选数据库条目的最大值",abstract:"返回所选数据库条目的最大值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/dmax-%E5%87%BD%E6%95%B0-f4e8209d-8958-4c3d-a1ee-6351665d41c2"}],functionParameter:{database:{name:"数据库",detail:"构成列表或数据库的单元格区域。"},field:{name:"字段",detail:"指定函数所使用的列。"},criteria:{name:"条件",detail:"包含指定条件的单元格区域。"}}},DMIN:{description:"返回所选数据库条目的最小值",abstract:"返回所选数据库条目的最小值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/dmin-%E5%87%BD%E6%95%B0-4ae6f1d9-1f26-40f1-a783-6dc3680192a3"}],functionParameter:{database:{name:"数据库",detail:"构成列表或数据库的单元格区域。"},field:{name:"字段",detail:"指定函数所使用的列。"},criteria:{name:"条件",detail:"包含指定条件的单元格区域。"}}},DPRODUCT:{description:"将数据库中符合条件的记录的特定字段中的值相乘",abstract:"将数据库中符合条件的记录的特定字段中的值相乘",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/dproduct-%E5%87%BD%E6%95%B0-4f96b13e-d49c-47a7-b769-22f6d017cb31"}],functionParameter:{database:{name:"数据库",detail:"构成列表或数据库的单元格区域。"},field:{name:"字段",detail:"指定函数所使用的列。"},criteria:{name:"条件",detail:"包含指定条件的单元格区域。"}}},DSTDEV:{description:"基于所选数据库条目的样本估算标准偏差",abstract:"基于所选数据库条目的样本估算标准偏差",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/dstdev-%E5%87%BD%E6%95%B0-026b8c73-616d-4b5e-b072-241871c4ab96"}],functionParameter:{database:{name:"数据库",detail:"构成列表或数据库的单元格区域。"},field:{name:"字段",detail:"指定函数所使用的列。"},criteria:{name:"条件",detail:"包含指定条件的单元格区域。"}}},DSTDEVP:{description:"基于所选数据库条目的样本总体计算标准偏差",abstract:"基于所选数据库条目的样本总体计算标准偏差",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/dstdevp-%E5%87%BD%E6%95%B0-04b78995-da03-4813-bbd9-d74fd0f5d94b"}],functionParameter:{database:{name:"数据库",detail:"构成列表或数据库的单元格区域。"},field:{name:"字段",detail:"指定函数所使用的列。"},criteria:{name:"条件",detail:"包含指定条件的单元格区域。"}}},DSUM:{description:"对数据库中符合条件的记录的字段列中的数字求和",abstract:"对数据库中符合条件的记录的字段列中的数字求和",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/dsum-%E5%87%BD%E6%95%B0-53181285-0c4b-4f5a-aaa3-529a322be41b"}],functionParameter:{database:{name:"数据库",detail:"构成列表或数据库的单元格区域。"},field:{name:"字段",detail:"指定函数所使用的列。"},criteria:{name:"条件",detail:"包含指定条件的单元格区域。"}}},DVAR:{description:"基于所选数据库条目的样本估算方差",abstract:"基于所选数据库条目的样本估算方差",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/dvar-%E5%87%BD%E6%95%B0-d6747ca9-99c7-48bb-996e-9d7af00f3ed1"}],functionParameter:{database:{name:"数据库",detail:"构成列表或数据库的单元格区域。"},field:{name:"字段",detail:"指定函数所使用的列。"},criteria:{name:"条件",detail:"包含指定条件的单元格区域。"}}},DVARP:{description:"基于所选数据库条目的样本总体计算方差",abstract:"基于所选数据库条目的样本总体计算方差",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/dvarp-%E5%87%BD%E6%95%B0-eb0ba387-9cb7-45c8-81e9-0394912502fc"}],functionParameter:{database:{name:"数据库",detail:"构成列表或数据库的单元格区域。"},field:{name:"字段",detail:"指定函数所使用的列。"},criteria:{name:"条件",detail:"包含指定条件的单元格区域。"}}},ASC:{description:"将字符串中的全角(双字节)英文字母或片假名更改为半角(单字节)字符",abstract:"将字符串中的全角(双字节)英文字母或片假名更改为半角(单字节)字符",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/asc-%E5%87%BD%E6%95%B0-0b6abf1c-c663-4004-a964-ebc00b723266"}],functionParameter:{text:{name:"文本",detail:"文本或对包含要更改文本的单元格的引用。 如果文本不包含任何全角字母,则不会对文本进行转换。"}}},ARRAYTOTEXT:{description:"ARRAYTOTEXT 函数返回任意指定区域内的文本值的数组。",abstract:"ARRAYTOTEXT 函数返回任意指定区域内的文本值的数组。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/arraytotext-%E5%87%BD%E6%95%B0-9cdcad46-2fa5-4c6b-ac92-14e7bc862b8b"}],functionParameter:{array:{name:"数组",detail:"要返回为文本的数组。"},format:{name:"数据格式",detail:"返回的数据的格式。它可以是两个值之一:\n0 默认。 易于阅读的简明格式。\n1 包含转义字符和行定界符的严格格式。 生成一条可在输入编辑栏时被解析的字符串。 将返回的字符串(布尔值、数字和错误除外)封装在引号中。"}}},BAHTTEXT:{description:"使用 ß(泰铢)货币格式将数字转换为文本",abstract:"使用 ß(泰铢)货币格式将数字转换为文本",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/bahttext-%E5%87%BD%E6%95%B0-5ba4d0b4-abd3-4325-8d22-7a92d59aab9c"}],functionParameter:{number:{name:"数值",detail:"要转换成文本的数字、对包含数字的单元格的引用或结果为数字的公式。"}}},CHAR:{description:"返回由代码数字指定的字符",abstract:"返回由代码数字指定的字符",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/char-%E5%87%BD%E6%95%B0-bbd249c8-b36e-4a91-8017-1c133f9b837a"}],functionParameter:{number:{name:"数值",detail:"介于 1 到 255 之间的数字,指定所需的字符。 使用的是当前计算机字符集中的字符。"}}},CLEAN:{description:"删除文本中所有非打印字符",abstract:"删除文本中所有非打印字符",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/clean-%E5%87%BD%E6%95%B0-26f3d7c5-475f-4a9c-90e5-4b8ba987ba41"}],functionParameter:{text:{name:"文本",detail:"要从中删除非打印字符的任何工作表信息。"}}},CODE:{description:"返回文本字符串中第一个字符的数字代码",abstract:"返回文本字符串中第一个字符的数字代码",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/code-%E5%87%BD%E6%95%B0-c32b692b-2ed0-4a04-bdd9-75640144b928"}],functionParameter:{text:{name:"文本",detail:"要为其获取第一个字符的代码的文本。"}}},CONCAT:{description:"将多个区域和/或字符串的文本组合起来,但不提供分隔符或 IgnoreEmpty 参数。",abstract:"将多个区域和/或字符串的文本组合起来,但不提供分隔符或 IgnoreEmpty 参数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/concat-%E5%87%BD%E6%95%B0-9b1a9a3f-94ff-41af-9736-694cbd6b4ca2"}],functionParameter:{text1:{name:"文本 1",detail:"要联接的文本项。 字符串或字符串数组,如单元格区域。"},text2:{name:"文本 2",detail:"要联接的其他文本项。 文本项最多可以有 253 个文本参数。 每个参数可以是一个字符串或字符串数组,如单元格区域。"}}},CONCATENATE:{description:"将几个文本项合并为一个文本项",abstract:"将几个文本项合并为一个文本项",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/concatenate-%E5%87%BD%E6%95%B0-8f8ae884-2ca8-4f7a-b093-75d702bea31d"}],functionParameter:{text1:{name:"文本 1",detail:"要联接的第一个项目。 项目可以是文本值、数字或单元格引用。"},text2:{name:"文本 2",detail:"要联接的其他文本项目。 最多可以有 255 个项目,总共最多支持 8,192 个字符。"}}},DBCS:{description:"将字符串中的半角(单字节)英文字母或片假名更改为全角(双字节)字符",abstract:"将字符串中的半角(单字节)英文字母或片假名更改为全角(双字节)字符",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/dbcs-%E5%87%BD%E6%95%B0-a4025e73-63d2-4958-9423-21a24794c9e5"}],functionParameter:{text:{name:"文本",detail:"文本或包含要转换的文本的单元格的引用。 如果文本中不包含任何半角英文字母或片假名,则不会对文本进行转换。"}}},DOLLAR:{description:"使用货币格式将数字转换为文本",abstract:"使用货币格式将数字转换为文本",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/dollar-%E5%87%BD%E6%95%B0-a6cd05d9-9740-4ad3-a469-8109d18ff611"}],functionParameter:{number:{name:"数值",detail:"数字、对包含数字的单元格的引用或是计算结果为数字的公式。"},decimals:{name:"小数位数",detail:"小数点右边的位数。 如果这是负数,则数字将舍入到小数点的左侧。 如果省略 decimals,则假设其值为 2。"}}},EXACT:{description:"检查两个文本值是否相同",abstract:"检查两个文本值是否相同",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/exact-%E5%87%BD%E6%95%B0-d3087698-fc15-4a15-9631-12575cf29926"}],functionParameter:{text1:{name:"文本1",detail:"第一个文本字符串。"},text2:{name:"文本2",detail:"第二个文本字符串。"}}},FIND:{description:"在一个文本值中查找另一个文本值(区分大小写)",abstract:"在一个文本值中查找另一个文本值(区分大小写)",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/find-findb-%E5%87%BD%E6%95%B0-c7912941-af2a-4bdf-a553-d0d89b0a0628"}],functionParameter:{findText:{name:"搜索字符串",detail:"要在“要搜索的文本”中查找的字符串。"},withinText:{name:"要搜索的文本",detail:"要搜索“搜索字符串”的首次出现的文本。"},startNum:{name:"开始位置",detail:"要在“要搜索的文本”中开始搜索的字符位置。如果省略则假定其值为 1。"}}},FINDB:{description:"在一个文本值中查找另一个文本值(区分大小写)",abstract:"在一个文本值中查找另一个文本值(区分大小写)",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/find-findb-%E5%87%BD%E6%95%B0-c7912941-af2a-4bdf-a553-d0d89b0a0628"}],functionParameter:{findText:{name:"搜索字符串",detail:"要在“要搜索的文本”中查找的字符串。"},withinText:{name:"要搜索的文本",detail:"要搜索“搜索字符串”的首次出现的文本。"},startNum:{name:"开始位置",detail:"要在“要搜索的文本”中开始搜索的字符位置。如果省略则假定其值为 1。"}}},FIXED:{description:"将数字格式设置为具有固定小数位数的文本",abstract:"将数字格式设置为具有固定小数位数的文本",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/fixed-%E5%87%BD%E6%95%B0-ffd5723c-324c-45e9-8b96-e41be2a8274a"}],functionParameter:{number:{name:"数值",detail:"要进行舍入并转换为文本的数字。"},decimals:{name:"小数位数",detail:"小数点右边的位数。 如果这是负数,则数字将舍入到小数点的左侧。 如果省略 decimals,则假设其值为 2。"},noCommas:{name:"禁用分隔符",detail:"一个逻辑值,如果为 TRUE,则会禁止 FIXED 在返回的文本中包含逗号。"}}},LEFT:{description:"返回文本值中最左边的字符",abstract:"返回文本值中最左边的字符",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/left-leftb-%E5%87%BD%E6%95%B0-9203d2d2-7960-479b-84c6-1ea52b99640c"}],functionParameter:{text:{name:"文本",detail:"包含要提取字符的文本字符串。"},numChars:{name:"字符数",detail:"指定希望 LEFT 提取的字符数。"}}},LEFTB:{description:"返回文本值中最左边的字符。",abstract:"返回文本值中最左边的字符",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/left-leftb-%E5%87%BD%E6%95%B0-9203d2d2-7960-479b-84c6-1ea52b99640c"}],functionParameter:{text:{name:"文本",detail:"包含要提取字符的文本字符串。"},numBytes:{name:"字节数",detail:"按字节指定要由 LEFTB 提取的字符的数量。"}}},LEN:{description:"返回文本字符串中的字符个数",abstract:"返回文本字符串中的字符个数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/len-lenb-%E5%87%BD%E6%95%B0-29236f94-cedc-429d-affd-b5e33d2c67cb"}],functionParameter:{text:{name:"文本",detail:"要查找其长度的文本。 空格将作为字符进行计数。"}}},LENB:{description:"返回文本字符串中用于代表字符的字节数。",abstract:"返回文本字符串中用于代表字符的字节数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/len-lenb-%E5%87%BD%E6%95%B0-29236f94-cedc-429d-affd-b5e33d2c67cb"}],functionParameter:{text:{name:"文本",detail:"要查找其长度的文本。 空格将作为字符进行计数。"}}},LOWER:{description:"将文本转换为小写。",abstract:"将文本转换为小写",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/lower-%E5%87%BD%E6%95%B0-3f21df02-a80c-44b2-afaf-81358f9fdeb4"}],functionParameter:{text:{name:"文本",detail:"要转换为小写字母的文本。"}}},MID:{description:"从文本字符串中的指定位置起返回特定个数的字符",abstract:"从文本字符串中的指定位置起返回特定个数的字符",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/mid-midb-%E5%87%BD%E6%95%B0-d5f9e25c-d7d6-472e-b568-4ecb12433028"}],functionParameter:{text:{name:"文本",detail:"包含要提取字符的文本字符串。"},startNum:{name:"开始位置",detail:"文本中要提取的第一个字符的位置。"},numChars:{name:"字符数",detail:"指定希望 MID 提取的字符数。"}}},MIDB:{description:"从文本字符串中的指定位置起返回特定个数的字符",abstract:"从文本字符串中的指定位置起返回特定个数的字符",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/mid-midb-%E5%87%BD%E6%95%B0-d5f9e25c-d7d6-472e-b568-4ecb12433028"}],functionParameter:{text:{name:"文本",detail:"包含要提取字符的文本字符串。"},startNum:{name:"开始位置",detail:"文本中要提取的第一个字符的位置。"},numBytes:{name:"字节数",detail:"按字节指定要由 MIDB 提取的字符的数量。"}}},NUMBERSTRING:{description:"将数字转换为中文字符串",abstract:"将数字转换为中文字符串",links:[{title:"教学",url:"https://www.wps.cn/learning/course/detail/id/340.html?chan=pc_kdocs_function"}],functionParameter:{number:{name:"数值",detail:"被转化为中文字符串的数值。"},type:{name:"类型",detail:"返回结果的类型。\n1. 汉字小写 \n2. 汉字大写 \n3. 汉字读写"}}},NUMBERVALUE:{description:"以与区域设置无关的方式将文本转换为数字",abstract:"以与区域设置无关的方式将文本转换为数字",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/numbervalue-%E5%87%BD%E6%95%B0-1b05c8cf-2bfa-4437-af70-596c7ea7d879"}],functionParameter:{text:{name:"文本",detail:"要转换为数字的文本。"},decimalSeparator:{name:"小数分隔符",detail:"用于分隔结果的整数和小数部分的字符。"},groupSeparator:{name:"分组分隔符",detail:"用于分隔数字分组的字符。"}}},PHONETIC:{description:"提取文本字符串中的拼音(汉字注音)字符",abstract:"提取文本字符串中的拼音(汉字注音)字符",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/phonetic-%E5%87%BD%E6%95%B0-9a329dac-0c0f-42f8-9a55-639086988554"}],functionParameter:{number1:{name:"number1",detail:"first"},number2:{name:"number2",detail:"second"}}},PROPER:{description:"将文本值的每个字的首字母大写",abstract:"将文本值的每个字的首字母大写",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/proper-%E5%87%BD%E6%95%B0-52a5a283-e8b2-49be-8506-b2887b889f94"}],functionParameter:{text:{name:"文本",detail:"用引号括起来的文本、返回文本值的公式,或者对包含要进行部分大写转换文本的单元格的引用。"}}},REGEXEXTRACT:{description:"根据正则表达式提取第一个匹配的字符串。",abstract:"根据正则表达式提取第一个匹配的字符串。",links:[{title:"教学",url:"https://support.google.com/docs/answer/3098244?sjid=5628197291201472796-AP&hl=zh-Hans"}],functionParameter:{text:{name:"文本",detail:"输入文本"},regularExpression:{name:"正则表达式",detail:"此函数将返回 text 中符合此表达式的第一个字符串。"}}},REGEXMATCH:{description:"判断一段文本是否与正则表达式相匹配。",abstract:"判断一段文本是否与正则表达式相匹配。",links:[{title:"教学",url:"https://support.google.com/docs/answer/3098292?sjid=5628197291201472796-AP&hl=zh-Hans"}],functionParameter:{text:{name:"文本",detail:"要用正则表达式测试的文本。"},regularExpression:{name:"正则表达式",detail:"用来测试文本的正则表达式。"}}},REGEXREPLACE:{description:"使用正则表达式将文本字符串中的一部分替换为其他文本字符串。",abstract:"使用正则表达式将文本字符串中的一部分替换为其他文本字符串。",links:[{title:"教学",url:"https://support.google.com/docs/answer/3098245?sjid=5628197291201472796-AP&hl=zh-Hans"}],functionParameter:{text:{name:"文本",detail:"其中一部分将被替换的文本。"},regularExpression:{name:"正则表达式",detail:"正则表达式。text 中所有匹配的实例都将被替换。"},replacement:{name:"替换内容",detail:"要插入到原有文本中的文本。"}}},REPLACE:{description:"替换文本中的字符",abstract:"替换文本中的字符",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/replace-replaceb-%E5%87%BD%E6%95%B0-8d799074-2425-4a8a-84bc-82472868878a"}],functionParameter:{oldText:{name:"旧文本",detail:"要替换其部分字符的文本。"},startNum:{name:"开始位置",detail:"文本中要替换的第一个字符的位置。"},numChars:{name:"字符数",detail:"指定希望 REPLACE 替换的字符数。"},newText:{name:"替换文本",detail:"将替换旧文本中字符的文本。"}}},REPLACEB:{description:"替换文本中的字符",abstract:"替换文本中的字符",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/replace-replaceb-%E5%87%BD%E6%95%B0-8d799074-2425-4a8a-84bc-82472868878a"}],functionParameter:{oldText:{name:"旧文本",detail:"要替换其部分字符的文本。"},startNum:{name:"开始位置",detail:"文本中要替换的第一个字符的位置。"},numBytes:{name:"字节数",detail:"按字节指定要由 REPLACEB 替换的字符的数量。"},newText:{name:"替换文本",detail:"将替换旧文本中字符的文本。"}}},REPT:{description:"按给定次数重复文本",abstract:"按给定次数重复文本",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/rept-%E5%87%BD%E6%95%B0-04c4d778-e712-43b4-9c15-d656582bb061"}],functionParameter:{text:{name:"文本",detail:"需要重复显示的文本。"},numberTimes:{name:"重复次数",detail:"用于指定文本重复次数的正数。"}}},RIGHT:{description:"返回文本值中最右边的字符",abstract:"返回文本值中最右边的字符",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/right-rightb-%E5%87%BD%E6%95%B0-240267ee-9afa-4639-a02b-f19e1786cf2f"}],functionParameter:{text:{name:"文本",detail:"包含要提取字符的文本字符串。"},numChars:{name:"字符数",detail:"指定希望 RIGHT 提取的字符数。"}}},RIGHTB:{description:"返回文本值中最右边的字符",abstract:"返回文本值中最右边的字符",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/right-rightb-%E5%87%BD%E6%95%B0-240267ee-9afa-4639-a02b-f19e1786cf2f"}],functionParameter:{text:{name:"文本",detail:"包含要提取字符的文本字符串。"},numBytes:{name:"字节数",detail:"按字节指定要由 RIGHTB 提取的字符的数量。"}}},SEARCH:{description:"在一个文本值中查找另一个文本值(不区分大小写)",abstract:"在一个文本值中查找另一个文本值(不区分大小写)",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/search-searchb-%E5%87%BD%E6%95%B0-9ab04538-0e55-4719-a72e-b6f54513b495"}],functionParameter:{findText:{name:"搜索字符串",detail:"要在“要搜索的文本”中查找的字符串。"},withinText:{name:"要搜索的文本",detail:"要搜索“搜索字符串”的首次出现的文本。"},startNum:{name:"开始位置",detail:"要在“要搜索的文本”中开始搜索的字符位置。如果省略则假定其值为 1。"}}},SEARCHB:{description:"在一个文本值中查找另一个文本值(不区分大小写)",abstract:"在一个文本值中查找另一个文本值(不区分大小写)",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/search-searchb-%E5%87%BD%E6%95%B0-9ab04538-0e55-4719-a72e-b6f54513b495"}],functionParameter:{findText:{name:"搜索字符串",detail:"要在“要搜索的文本”中查找的字符串。"},withinText:{name:"要搜索的文本",detail:"要搜索“搜索字符串”的首次出现的文本。"},startNum:{name:"开始位置",detail:"要在“要搜索的文本”中开始搜索的字符位置。如果省略则假定其值为 1。"}}},SUBSTITUTE:{description:"在文本字符串中用新文本替换旧文本",abstract:"在文本字符串中用新文本替换旧文本",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/substitute-%E5%87%BD%E6%95%B0-6434944e-a904-4336-a9b0-1e58df3bc332"}],functionParameter:{text:{name:"文本",detail:"需要替换其中字符的文本,或对含有文本(需要替换其中字符)的单元格的引用。"},oldText:{name:"搜索文本",detail:"需要替换的文本。"},newText:{name:"替换文本",detail:"用于替换 old_text 的文本。"},instanceNum:{name:"指定替换对象",detail:"指定要将第几个 old_text 替换为 new_text。 如果指定了 instance_num,则只有满足要求的 old_text 被替换。 否则,文本中出现的所有 old_text 都会更改为 new_text。"}}},T:{description:"将参数转换为文本",abstract:"将参数转换为文本",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/t-%E5%87%BD%E6%95%B0-fb83aeec-45e7-4924-af95-53e073541228"}],functionParameter:{value:{name:"值",detail:"要测试的值。"}}},TEXT:{description:"设置数字格式并将其转换为文本",abstract:"设置数字格式并将其转换为文本",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/text-%E5%87%BD%E6%95%B0-20d5ac4d-7b94-49fd-bb38-93d29371225c"}],functionParameter:{value:{name:"值",detail:"要转换为文本的数值。"},formatText:{name:"数字格式",detail:"一个文本字符串,定义要应用于所提供值的格式。"}}},TEXTAFTER:{description:"返回给定字符或字符串之后出现的文本",abstract:"返回给定字符或字符串之后出现的文本",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/textafter-%E5%87%BD%E6%95%B0-c8db2546-5b51-416a-9690-c7e6722e90b4"}],functionParameter:{text:{name:"文本",detail:"你要在其中搜索的文本。不允许使用通配符。"},delimiter:{name:"分隔符",detail:"标记要在其中提取的点的文本。"},instanceNum:{name:"实例编号",detail:"要在其中提取文本的分隔符的实例。"},matchMode:{name:"匹配模式",detail:"确定文本搜索是否区分大小写。 默认为区分大小写。"},matchEnd:{name:"末尾匹配",detail:"将文本结尾视为分隔符。默认情况下,文本完全匹配。"},ifNotFound:{name:"未匹配到的值",detail:"未找到匹配项时返回的值。默认情况下,返回 #N/A。"}}},TEXTBEFORE:{description:"返回出现在给定字符或字符串之前的文本",abstract:"返回出现在给定字符或字符串之前的文本",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/textbefore-%E5%87%BD%E6%95%B0-d099c28a-dba8-448e-ac6c-f086d0fa1b29"}],functionParameter:{text:{name:"文本",detail:"你要在其中搜索的文本。不允许使用通配符。"},delimiter:{name:"分隔符",detail:"标记要在其中提取的点的文本。"},instanceNum:{name:"实例编号",detail:"要在其中提取文本的分隔符的实例。"},matchMode:{name:"匹配模式",detail:"确定文本搜索是否区分大小写。 默认为区分大小写。"},matchEnd:{name:"末尾匹配",detail:"将文本结尾视为分隔符。默认情况下,文本完全匹配。"},ifNotFound:{name:"未匹配到的值",detail:"未找到匹配项时返回的值。默认情况下,返回 #N/A。"}}},TEXTJOIN:{description:"合并来自多个区域和/或字符串的文本",abstract:"合并来自多个区域和/或字符串的文本",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/textjoin-%E5%87%BD%E6%95%B0-357b449a-ec91-49d0-80c3-0e8fc845691c"}],functionParameter:{delimiter:{name:"分隔符",detail:"文本字符串,或者为空,或用双引号引起来的一个或多个字符,或对有效文本字符串的引用。"},ignoreEmpty:{name:"忽略空白",detail:"如果为 TRUE,则忽略空白单元格。"},text1:{name:"文本1",detail:"要联接的文本项。 文本字符串或字符串数组,如单元格区域中。"},text2:{name:"文本2",detail:"要联接的其他文本项。 文本项最多可以包含 252 个文本参数 text1。 每个参数可以是一个文本字符串或字符串数组,如单元格区域。"}}},TEXTSPLIT:{description:"使用列分隔符和行分隔符拆分文本字符串",abstract:"使用列分隔符和行分隔符拆分文本字符串",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/textsplit-%E5%87%BD%E6%95%B0-b1ca414e-4c21-4ca0-b1b7-bdecace8a6e7"}],functionParameter:{text:{name:"文本",detail:"要拆分的文本。"},colDelimiter:{name:"列分隔符",detail:"要拆分列依据的字符或字符串。"},rowDelimiter:{name:"行分隔符",detail:"要拆分行依据的字符或字符串。"},ignoreEmpty:{name:"忽略空单元格",detail:"是否忽略空单元格。默认为 FALSE。"},matchMode:{name:"匹配模式",detail:"搜索文本中的分隔符匹配。默认情况下,会进行区分大小写的匹配。"},padWith:{name:"填充值",detail:"用于填充的值。默认情况下,使用 #N/A。"}}},TRIM:{description:"除了单词之间的单个空格之外,删除文本中的所有空格。",abstract:"删除文本中的空格",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/trim-%E5%87%BD%E6%95%B0-410388fa-c5df-49c6-b16c-9e5630b479f9"}],functionParameter:{text:{name:"文本",detail:"要从中删除空格的文本。"}}},UNICHAR:{description:"返回给定数值引用的 Unicode 字符",abstract:"返回给定数值引用的 Unicode 字符",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/unichar-%E5%87%BD%E6%95%B0-ffeb64f5-f131-44c6-b332-5cd72f0659b8"}],functionParameter:{number:{name:"数值",detail:"是表示字符的 Unicode 编号。"}}},UNICODE:{description:"返回对应于文本的第一个字符的数字(代码点)",abstract:"返回对应于文本的第一个字符的数字(代码点)",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/unicode-%E5%87%BD%E6%95%B0-adb74aaa-a2a5-4dde-aff6-966e4e81f16f"}],functionParameter:{text:{name:"文本",detail:"是需要 Unicode 值的字符。"}}},UPPER:{description:"将文本转换为大写形式",abstract:"将文本转换为大写形式",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/upper-%E5%87%BD%E6%95%B0-c11f29b3-d1a3-4537-8df6-04d0049963d6"}],functionParameter:{text:{name:"文本",detail:"要转换为大写字母的文本。"}}},VALUE:{description:"将文本参数转换为数字",abstract:"将文本参数转换为数字",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/value-%E5%87%BD%E6%95%B0-257d0108-07dc-437d-ae1c-bc2d3953d8c2"}],functionParameter:{text:{name:"文本",detail:"用引号括起来的文本或包含要转换文本的单元格的引用。"}}},VALUETOTEXT:{description:"从任意指定值返回文本",abstract:"从任意指定值返回文本",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/valuetotext-%E5%87%BD%E6%95%B0-5fff61a2-301a-4ab2-9ffa-0a5242a08fea"}],functionParameter:{value:{name:"值",detail:"以文本形式返回的值。"},format:{name:"数据格式",detail:"返回的数据的格式。它可以是两个值之一:\n0 默认。 易于阅读的简明格式。\n1 包含转义字符和行定界符的严格格式。 生成一条可在输入编辑栏时被解析的字符串。 将返回的字符串(布尔值、数字和错误除外)封装在引号中。"}}},CALL:{description:"调用动态链接库或代码源中的过程",abstract:"调用动态链接库或代码源中的过程",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/call-%E5%87%BD%E6%95%B0-32d58445-e646-4ffd-8d5e-b45077a5e995"}],functionParameter:{number1:{name:"number1",detail:"first"},number2:{name:"number2",detail:"second"}}},EUROCONVERT:{description:"用于将数字转换为欧元形式,将数字由欧元形式转换为欧元成员国货币形式,或利用欧元作为中间货币将数字由某一欧元成员国货币转化为另一欧元成员国货币形式(三角转换关系)",abstract:"用于将数字转换为欧元形式,将数字由欧元形式转换为欧元成员国货币形式,或利用欧元作为中间货币将数字由某一欧元成员国货币转化为另一欧元成员国货币形式(三角转换关系)",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/euroconvert-%E5%87%BD%E6%95%B0-79c8fd67-c665-450c-bb6c-15fc92f8345c"}],functionParameter:{number1:{name:"number1",detail:"first"},number2:{name:"number2",detail:"second"}}},REGISTER_ID:{description:"返回已注册过的指定动态链接库 (DLL) 或代码源的注册号",abstract:"返回已注册过的指定动态链接库 (DLL) 或代码源的注册号",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/register-id-%E5%87%BD%E6%95%B0-f8f0af0f-fd66-4704-a0f2-87b27b175b50"}],functionParameter:{number1:{name:"number1",detail:"first"},number2:{name:"number2",detail:"second"}}},AND:{description:"如果其所有参数均为 TRUE,则返回 TRUE",abstract:"如果其所有参数均为 TRUE,则返回 TRUE",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/and-%E5%87%BD%E6%95%B0-5f19b2e8-e1df-4408-897a-ce285a19e9d9"}],functionParameter:{logical1:{name:"逻辑值 1",detail:"第一个想要测试且计算结果可为 TRUE 或 FALSE 的条件。"},logical2:{name:"逻辑值 2",detail:"其他想要测试且计算结果可为 TRUE 或 FALSE 的条件(最多 255 个条件)。"}}},BYCOL:{description:"将 LAMBDA 应用于每个列并返回结果数组",abstract:"将 LAMBDA 应用于每个列并返回结果数组",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/bycol-%E5%87%BD%E6%95%B0-58463999-7de5-49ce-8f38-b7f7a2192bfb"}],functionParameter:{array:{name:"数组",detail:"用列分隔的数组。"},lambda:{name:"lambda",detail:"将列作为单个参数并计算一个结果的 LAMBDA。 LAMBDA 接受单个参数:数组中的列。"}}},BYROW:{description:"将 LAMBDA 应用于每一行并返回结果数组",abstract:"将 LAMBDA 应用于每一行并返回结果数组",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/byrow-%E5%87%BD%E6%95%B0-2e04c677-78c8-4e6b-8c10-a4602f2602bb"}],functionParameter:{array:{name:"数组",detail:"用行分隔的数组。"},lambda:{name:"lambda",detail:"将行作为单个参数并计算结果的 LAMBDA。 LAMBDA 接受单个参数:数组中的行。"}}},FALSE:{description:"返回逻辑值 FALSE。",abstract:"返回逻辑值 FALSE。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/false-%E5%87%BD%E6%95%B0-2d58dfa5-9c03-4259-bf8f-f0ae14346904"}],functionParameter:{}},IF:{description:"指定要执行的逻辑检测",abstract:"指定要执行的逻辑检测",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/if-%E5%87%BD%E6%95%B0-69aed7c9-4e8a-4755-a9bc-aa8bbff73be2"}],functionParameter:{logicalTest:{name:"布尔表达式",detail:"要测试的条件。"},valueIfTrue:{name:"如果值为 true",detail:"logical_test 的结果为 TRUE 时,希望返回的值。"},valueIfFalse:{name:"如果值为 false",detail:"logical_test 的结果为 FALSE 时,希望返回的值。"}}},IFERROR:{description:"如果公式的计算结果错误,则返回指定的值;否则返回公式的结果",abstract:"如果公式的计算结果错误,则返回指定的值;否则返回公式的结果",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/iferror-%E5%87%BD%E6%95%B0-c526fd07-caeb-47b8-8bb6-63f3e417f611"}],functionParameter:{value:{name:"值",detail:" 检查是否存在错误的参数。"},valueIfError:{name:"错误时返回值",detail:"公式计算结果为错误时要返回的值。 评估以下错误类型:#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME? 或 #NULL!。"}}},IFNA:{description:"如果表达式的结果为 #N/A,则返回指定的值,否则返回表达式的结果",abstract:"如果表达式的结果为 #N/A,则返回指定的值,否则返回表达式的结果",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/ifna-%E5%87%BD%E6%95%B0-6626c961-a569-42fc-a49d-79b4951fd461"}],functionParameter:{value:{name:"值",detail:"检查是否存在 #N/A 错误值的参数。"},valueIfNa:{name:"如果为#N/A的值",detail:"如果公式结果为 #N/A 错误值,则返回的值。"}}},IFS:{description:"检查一个或多个条件是否满足,并返回第一个为 TRUE 的条件对应的值。",abstract:"检查一个或多个条件是否满足,并返回第一个为 TRUE 的条件对应的值。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/ifs-%E5%87%BD%E6%95%B0-36329a26-37b2-467c-972b-4a39bd951d45"}],functionParameter:{logicalTest1:{name:"条件1",detail:"要评估的第一个条件,可以是布尔值、数值、数组或指向这些值的引用。"},valueIfTrue1:{name:"值1",detail:"“条件1”为“TRUE”的情况下返回的值。"},logicalTest2:{name:"条件2",detail:"之前的条件为“FALSE”的情况下,要评估的其他条件。"},valueIfTrue2:{name:"值2",detail:"相应条件为“TRUE”的情况下返回的其他值。"}}},LAMBDA:{description:"使用 LAMBDA 函数创建可重用的自定义函数,并使用易记名称调用它们。 新函数在整个工作簿中可用,其调用类似本机 Excel 函数。",abstract:"创建自定义、可重用的函数,并通过友好名称调用它们",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/lambda-%E5%87%BD%E6%95%B0-bd212d27-1cd1-4321-a34a-ccbf254b8b67"}],functionParameter:{parameter:{name:"参数",detail:"要传递给函数的值,例如单元格引用、字符串或数字。 最多可以输入 253 个参数。 此参数可选。"},calculation:{name:"计算",detail:"要作为函数结果执行并返回的公式。 其必须为最后一个参数,且必须返回结果。 此参数是必需项。"}}},LET:{description:"将名称分配给计算结果",abstract:"将名称分配给计算结果",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/let-%E5%87%BD%E6%95%B0-34842dd8-b92b-4d3f-b325-b8b8f9908999"}],functionParameter:{name1:{name:"名称1",detail:"要分配的第一个名称。必须以字母开头。不能是公式的输出,也不能与范围语法冲突。"},nameValue1:{name:"值1",detail:"分配给 name1 的值。"},calculationOrName2:{name:"计算或名称2",detail:"下列任一项:\n1.使用 LET 函数中的所有名称的计算。这必须是 LET 函数中的最后一个参数。\n2.分配给第二个 name_value 的第二个名称。如果指定了名称,则 name_value2 和 calculation_or_name3 是必需的。"},nameValue2:{name:"值2",detail:"分配给 calculation_or_name2 的值。"},calculationOrName3:{name:"计算或名称3",detail:"下列任一项:\n1.使用 LET 函数中的所有名称的计算。LET 函数中的最后一个参数必须是一个计算。\n2.分配给第三个 name_value 的第三个名称。如果指定了名称,则 name_value3 和 calculation_or_name4 是必需的。"}}},MAKEARRAY:{description:"通过应用 LAMBDA 返回指定行和列大小的计算数组",abstract:"通过应用 LAMBDA 返回指定行和列大小的计算数组",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/makearray-%E5%87%BD%E6%95%B0-b80da5ad-b338-4149-a523-5b221da09097"}],functionParameter:{number1:{name:"行数",detail:"数组中的行数。 必须大于零"},number2:{name:"列数",detail:"数组中的列数。 必须大于零"},value3:{name:"lambda",detail:"调用 LAMBDA 来创建数组。 LAMBDA 接受两个参数:row数组的行索引, col数组的列索引"}}},MAP:{description:"通过应用 LAMBDA 来创建新值,返回将数组中每个值映射到新值而形成的数组。",abstract:"通过应用 LAMBDA 来创建新值,返回将数组中每个值映射到新值而形成的数组。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/map-%E5%87%BD%E6%95%B0-48006093-f97c-47c1-bfcc-749263bb1f01"}],functionParameter:{array1:{name:"数组1",detail:"要映射的数组1。"},array2:{name:"数组2",detail:"要映射的数组2。"},lambda:{name:"lambda",detail:"一个 LAMBDA,必须是最后一个参数,并且必须具有传递的每个数组的参数。"}}},NOT:{description:"反转其参数的逻辑值。",abstract:"反转其参数的逻辑值。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/not-%E5%87%BD%E6%95%B0-9cfc6011-a054-40c7-a140-cd4ba2d87d77"}],functionParameter:{logical:{name:"逻辑表达式",detail:"要反转逻辑的条件,可评估为 TRUE 或 FALSE。"}}},OR:{description:"如果 OR 函数的任意参数计算为 TRUE,则其返回 TRUE;如果其所有参数均计算机为 FALSE,则返回 FALSE。",abstract:"如果任一参数为 TRUE,则返回 TRUE",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/or-%E5%87%BD%E6%95%B0-7d17ad14-8700-4281-b308-00b131e22af0"}],functionParameter:{logical1:{name:"逻辑表达式 1",detail:"第一个想要测试且计算结果可为 TRUE 或 FALSE 的条件。"},logical2:{name:"逻辑表达式 2",detail:"其他想要测试且计算结果可为 TRUE 或 FALSE 的条件(最多 255 个条件)。"}}},REDUCE:{description:"通过将 LAMBDA 应用于每个值并返回累加器中的总值,将数组减少为累积值",abstract:"通过将 LAMBDA 应用于每个值并返回累加器中的总值,将数组减少为累积值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/reduce-%E5%87%BD%E6%95%B0-42e39910-b345-45f3-84b8-0642b568b7cb"}],functionParameter:{initialValue:{name:"起始值",detail:"设置累加器的起始值。"},array:{name:"数组",detail:"要减小的数组。"},lambda:{name:"lambda",detail:"调用 LAMBDA 来减小数组。 LAMBDA 采用三个参数:1.该值累加后作为最终结果返回。2.数组中的当前值。3.应用于数组中每个元素的计算。"}}},SCAN:{description:"通过将 LAMBDA 应用于每个值来扫描数组,并返回具有每个中间值的数组",abstract:"通过将 LAMBDA 应用于每个值来扫描数组,并返回具有每个中间值的数组",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/scan-%E5%87%BD%E6%95%B0-d58dfd11-9969-4439-b2dc-e7062724de29"}],functionParameter:{initialValue:{name:"起始值",detail:"设置累加器的起始值。"},array:{name:"数组",detail:"要扫描的数组。"},lambda:{name:"lambda",detail:"调用 LAMBDA 来扫描数组。 LAMBDA 采用三个参数:1.该值累加后作为最终结果返回。2.数组中的当前值。3.应用于数组中每个元素的计算。"}}},SWITCH:{description:"将表达式与值列表进行比较,并返回与第一个匹配值对应的结果。如果没有匹配项,可以返回一个可选的默认值。",abstract:"将表达式与值列表进行比较,并返回与第一个匹配值对应的结果。如果没有匹配项,可以返回一个可选的默认值。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/switch-%E5%87%BD%E6%95%B0-47ab33c0-28ce-4530-8a45-d532ec4aa25e"}],functionParameter:{expression:{name:"表达式",detail:"表达式是将要与 值1…值126 进行比较的值(例如数字、日期或一些文本)。"},value1:{name:"值1",detail:"值N 是将要与表达式进行比较的值。"},result1:{name:"结果1",detail:"结果N 是当对应的值N 参数与表达式匹配时要返回的值。必须为每个对应的值N 参数提供结果N。"},defaultOrValue2:{name:"默认或值2",detail:"默认是在值N 表达式中找不到匹配项时要返回的值。默认参数通过没有对应的结果N 表达式来识别(参见示例)。默认必须是函数中的最后一个参数。"},result2:{name:"结果2",detail:"结果N 是当对应的值N 参数与表达式匹配时要返回的值。必须为每个对应的值N 参数提供结果N。"}}},TRUE:{description:"返回逻辑值 TRUE。",abstract:"返回逻辑值 TRUE。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/true-%E5%87%BD%E6%95%B0-7652c6e3-8987-48d0-97cd-ef223246b3fb"}],functionParameter:{}},XOR:{description:"如果参数中计算结果为 TRUE 的数量为奇数,则返回 TRUE;如果计算结果为 TRUE 的数量为偶数,则返回 FALSE。",abstract:"如果参数中 TRUE 的数量为奇数,则返回 TRUE",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/xor-%E5%87%BD%E6%95%B0-1548d4c2-5e47-4f77-9a92-0533bba14f37"}],functionParameter:{logical1:{name:"逻辑表达式 1",detail:"第一个想要测试且计算结果可为 TRUE 或 FALSE 的条件。"},logical2:{name:"逻辑表达式 2",detail:"其他想要测试且计算结果可为 TRUE 或 FALSE 的条件(最多 255 个条件)。"}}},CELL:{description:"返回有关单元格格式、位置或内容的信息",abstract:"返回有关单元格格式、位置或内容的信息",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/cell-%E5%87%BD%E6%95%B0-51bd39a5-f338-4dbe-a33f-955d67c2b2cf"}],functionParameter:{infoType:{name:"信息类型",detail:"一个文本值,指定要返回的单元格信息的类型。"},reference:{name:"引用",detail:"需要其相关信息的单元格。"}}},ERROR_TYPE:{description:"返回对应于错误类型的数字",abstract:"返回对应于错误类型的数字",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/error-type-%E5%87%BD%E6%95%B0-10958677-7c8d-44f7-ae77-b9a9ee6eefaa"}],functionParameter:{errorVal:{name:"错误值",detail:"要查找其标识号的错误值。"}}},INFO:{description:"返回有关当前操作环境的信息",abstract:"返回有关当前操作环境的信息",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/info-%E5%87%BD%E6%95%B0-725f259a-0e4b-49b3-8b52-58815c69acae"}],functionParameter:{number1:{name:"number1",detail:"first"},number2:{name:"number2",detail:"second"}}},ISBETWEEN:{description:"检查所提供的数值是否介于其他两个数字之间",abstract:"检查所提供的数值是否介于其他两个数字之间",links:[{title:"教学",url:"https://support.google.com/docs/answer/10538337?hl=zh-Hans&sjid=7730820672019533290-AP"}],functionParameter:{valueToCompare:{name:"比较值",detail:"要测试的值,看是否介于“最小值”和“最大值”之间。"},lowerValue:{name:"最小值",detail:"范围的下限值,“比较值”的值可能落入这个范围内。"},upperValue:{name:"最大值",detail:"范围的上限值,“比较值”的值可能落入这个范围内。"},lowerValueIsInclusive:{name:"包括最小值",detail:"用于指定值的范围是否包含“最小值”。默认情况下为“TRUE”。"},upperValueIsInclusive:{name:"包括最大值",detail:"用于指定值的范围是否包含“最大值”。默认情况下为“TRUE”。"}}},ISBLANK:{description:"如果值为空,则返回 TRUE",abstract:"如果值为空,则返回 TRUE",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/is-%E5%87%BD%E6%95%B0-0f2d7971-6019-40a0-a171-f2d869135665"}],functionParameter:{value:{name:"值",detail:"指的是要测试的值。参数值可以是空白(空单元格)、错误值、逻辑值、文本、数字、引用值,或者引用要测试的以上任意值的名称。"}}},ISDATE:{description:"返回某个值是否为日期",abstract:"返回某个值是否为日期",links:[{title:"教学",url:"https://support.google.com/docs/answer/9061381?hl=zh-Hans&sjid=2155433538747546473-AP"}],functionParameter:{value:{name:"值",detail:"要验证其是否为日期的值。"}}},ISEMAIL:{description:"检查输入的值是否为有效的电子邮件地址",abstract:"检查输入的值是否为有效的电子邮件地址",links:[{title:"教学",url:"https://support.google.com/docs/answer/3256503?hl=zh-Hans&sjid=2155433538747546473-AP"}],functionParameter:{value:{name:"值",detail:"要验证其是否为电子邮件地址的值。"}}},ISERR:{description:"如果值为除 #N/A 以外的任何错误值,则返回 TRUE",abstract:"如果值为除 #N/A 以外的任何错误值,则返回 TRUE",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/is-%E5%87%BD%E6%95%B0-0f2d7971-6019-40a0-a171-f2d869135665"}],functionParameter:{value:{name:"值",detail:"指的是要测试的值。参数值可以是空白(空单元格)、错误值、逻辑值、文本、数字、引用值,或者引用要测试的以上任意值的名称。"}}},ISERROR:{description:"如果值为任何错误值,则返回 TRUE",abstract:"如果值为任何错误值,则返回 TRUE",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/is-%E5%87%BD%E6%95%B0-0f2d7971-6019-40a0-a171-f2d869135665"}],functionParameter:{value:{name:"值",detail:"指的是要测试的值。参数值可以是空白(空单元格)、错误值、逻辑值、文本、数字、引用值,或者引用要测试的以上任意值的名称。"}}},ISEVEN:{description:"如果数字为偶数,则返回 TRUE",abstract:"如果数字为偶数,则返回 TRUE",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/iseven-%E5%87%BD%E6%95%B0-aa15929a-d77b-4fbb-92f4-2f479af55356"}],functionParameter:{value:{name:"值",detail:"要测试的值。如果值不是整数,将被截尾取整。"}}},ISFORMULA:{description:"如果有对包含公式的单元格的引用,则返回 TRUE",abstract:"如果有对包含公式的单元格的引用,则返回 TRUE",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/isformula-%E5%87%BD%E6%95%B0-e4d1355f-7121-4ef2-801e-3839bfd6b1e5"}],functionParameter:{reference:{name:"引用",detail:"是对要测试的单元格的引用。"}}},ISLOGICAL:{description:"如果值为逻辑值,则返回 TRUE",abstract:"如果值为逻辑值,则返回 TRUE",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/is-%E5%87%BD%E6%95%B0-0f2d7971-6019-40a0-a171-f2d869135665"}],functionParameter:{value:{name:"值",detail:"指的是要测试的值。参数值可以是空白(空单元格)、错误值、逻辑值、文本、数字、引用值,或者引用要测试的以上任意值的名称。"}}},ISNA:{description:"如果值为错误值 #N/A,则返回 TRUE",abstract:"如果值为错误值 #N/A,则返回 TRUE",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/is-%E5%87%BD%E6%95%B0-0f2d7971-6019-40a0-a171-f2d869135665"}],functionParameter:{value:{name:"值",detail:"指的是要测试的值。参数值可以是空白(空单元格)、错误值、逻辑值、文本、数字、引用值,或者引用要测试的以上任意值的名称。"}}},ISNONTEXT:{description:"如果值不是文本,则返回 TRUE",abstract:"如果值不是文本,则返回 TRUE",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/is-%E5%87%BD%E6%95%B0-0f2d7971-6019-40a0-a171-f2d869135665"}],functionParameter:{value:{name:"值",detail:"指的是要测试的值。参数值可以是空白(空单元格)、错误值、逻辑值、文本、数字、引用值,或者引用要测试的以上任意值的名称。"}}},ISNUMBER:{description:"如果值为数字,则返回 TRUE",abstract:"如果值为数字,则返回 TRUE",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/is-%E5%87%BD%E6%95%B0-0f2d7971-6019-40a0-a171-f2d869135665"}],functionParameter:{value:{name:"值",detail:"指的是要测试的值。参数值可以是空白(空单元格)、错误值、逻辑值、文本、数字、引用值,或者引用要测试的以上任意值的名称。"}}},ISODD:{description:"如果数字为奇数,则返回 TRUE",abstract:"如果数字为奇数,则返回 TRUE",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/isodd-%E5%87%BD%E6%95%B0-1208a56d-4f10-4f44-a5fc-648cafd6c07a"}],functionParameter:{value:{name:"值",detail:"要测试的值。如果值不是整数,将被截尾取整。"}}},ISOMITTED:{description:"检查 LAMBDA 中的值是否缺失,并返回 TRUE 或 FALSE",abstract:"检查 LAMBDA 中的值是否缺失,并返回 TRUE 或 FALSE",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/isomitted-%E5%87%BD%E6%95%B0-831d6fbc-0f07-40c4-9c5b-9c73fd1d60c1"}],functionParameter:{number1:{name:"number1",detail:"first"},number2:{name:"number2",detail:"second"}}},ISREF:{description:"如果值为引用值,则返回 TRUE",abstract:"如果值为引用值,则返回 TRUE",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/is-%E5%87%BD%E6%95%B0-0f2d7971-6019-40a0-a171-f2d869135665"}],functionParameter:{value:{name:"值",detail:"指的是要测试的值。参数值可以是空白(空单元格)、错误值、逻辑值、文本、数字、引用值,或者引用要测试的以上任意值的名称。"}}},ISTEXT:{description:"如果值为文本,则返回 TRUE",abstract:"如果值为文本,则返回 TRUE",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/is-%E5%87%BD%E6%95%B0-0f2d7971-6019-40a0-a171-f2d869135665"}],functionParameter:{value:{name:"值",detail:"指的是要测试的值。参数值可以是空白(空单元格)、错误值、逻辑值、文本、数字、引用值,或者引用要测试的以上任意值的名称。"}}},ISURL:{description:"检查某个值是否为有效网址",abstract:"检查某个值是否为有效网址",links:[{title:"教学",url:"https://support.google.com/docs/answer/3256501?hl=zh-Hans&sjid=7312884847858065932-AP"}],functionParameter:{value:{name:"值",detail:"要验证其是否为网址的值。"}}},N:{description:"返回转换为数字的值",abstract:"返回转换为数字的值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/n-%E5%87%BD%E6%95%B0-a624cad1-3635-4208-b54a-29733d1278c9"}],functionParameter:{value:{name:"值",detail:"要转换的值。"}}},NA:{description:"返回错误值 #N/A",abstract:"返回错误值 #N/A",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/na-%E5%87%BD%E6%95%B0-5469c2d1-a90c-4fb5-9bbc-64bd9bb6b47c"}],functionParameter:{}},SHEET:{description:"返回引用工作表的工作表编号",abstract:"返回引用工作表的工作表编号",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/sheet-%E5%87%BD%E6%95%B0-44718b6f-8b87-47a1-a9d6-b701c06cff24"}],functionParameter:{value:{name:"值",detail:"需要其工作表编号的工作表或引用的名称。 如果省略值,SHEET 返回包含 函数的工作表编号。"}}},SHEETS:{description:"返回工作簿中的工作表数",abstract:"返回工作簿中的工作表数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/sheets-%E5%87%BD%E6%95%B0-770515eb-e1e8-45ce-8066-b557e5e4b80b"}],functionParameter:{}},TYPE:{description:"返回表示值的数据类型的数字",abstract:"返回表示值的数据类型的数字",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/type-%E5%87%BD%E6%95%B0-45b4e688-4bc3-48b3-a105-ffa892995899"}],functionParameter:{value:{name:"值",detail:"可以为任意值,如数字、文本以及逻辑值等等。"}}},BESSELI:{description:"返回修正的贝赛耳函数 In(x)",abstract:"返回修正的贝赛耳函数 In(x)",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/besseli-%E5%87%BD%E6%95%B0-8d33855c-9a8d-444b-98e0-852267b1c0df"}],functionParameter:{x:{name:"X",detail:"用来计算函数的值。"},n:{name:"N",detail:"贝赛耳函数的阶数。如果n不是整数,将被截尾取整。"}}},BESSELJ:{description:"返回贝赛耳函数 Jn(x)",abstract:"返回贝赛耳函数 Jn(x)",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/besselj-%E5%87%BD%E6%95%B0-839cb181-48de-408b-9d80-bd02982d94f7"}],functionParameter:{x:{name:"X",detail:"用来计算函数的值。"},n:{name:"N",detail:"贝赛耳函数的阶数。如果n不是整数,将被截尾取整。"}}},BESSELK:{description:"返回修正的贝赛耳函数 Kn(x)",abstract:"返回修正的贝赛耳函数 Kn(x)",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/besselk-%E5%87%BD%E6%95%B0-606d11bc-06d3-4d53-9ecb-2803e2b90b70"}],functionParameter:{x:{name:"X",detail:"用来计算函数的值。"},n:{name:"N",detail:"贝赛耳函数的阶数。如果n不是整数,将被截尾取整。"}}},BESSELY:{description:"返回贝赛耳函数 Yn(x)",abstract:"返回贝赛耳函数 Yn(x)",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/bessely-%E5%87%BD%E6%95%B0-f3a356b3-da89-42c3-8974-2da54d6353a2"}],functionParameter:{x:{name:"X",detail:"用来计算函数的值。"},n:{name:"N",detail:"贝赛耳函数的阶数。如果n不是整数,将被截尾取整。"}}},BIN2DEC:{description:"将二进制数转换为十进制数",abstract:"将二进制数转换为十进制数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/bin2dec-%E5%87%BD%E6%95%B0-63905b57-b3a0-453d-99f4-647bb519cd6c"}],functionParameter:{number:{name:"二进制数",detail:"要转换的二进制数。"}}},BIN2HEX:{description:"将二进制数转换为十六进制数",abstract:"将二进制数转换为十六进制数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/bin2hex-%E5%87%BD%E6%95%B0-0375e507-f5e5-4077-9af8-28d84f9f41cc"}],functionParameter:{number:{name:"二进制数",detail:"要转换的二进制数。"},places:{name:"字符数",detail:"要使用的字符数。"}}},BIN2OCT:{description:"将二进制数转换为八进制数",abstract:"将二进制数转换为八进制数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/bin2oct-%E5%87%BD%E6%95%B0-0a4e01ba-ac8d-4158-9b29-16c25c4c23fd"}],functionParameter:{number:{name:"二进制数",detail:"要转换的二进制数。"},places:{name:"字符数",detail:"要使用的字符数。"}}},BITAND:{description:"返回两个数的“按位与”",abstract:"返回两个数的“按位与”",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/bitand-%E5%87%BD%E6%95%B0-8a2be3d7-91c3-4b48-9517-64548008563a"}],functionParameter:{number1:{name:"数值1",detail:"必须为十进制格式且大于等于 0。"},number2:{name:"数值2",detail:"必须为十进制格式且大于等于 0。"}}},BITLSHIFT:{description:"返回左移 shift_amount 位的计算值接收数",abstract:"返回左移 shift_amount 位的计算值接收数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/bitlshift-%E5%87%BD%E6%95%B0-c55bb27e-cacd-4c7c-b258-d80861a03c9c"}],functionParameter:{number:{name:"数值",detail:"必须是大于或等于 0 的整数。"},shiftAmount:{name:"移位量",detail:"必须为整数。"}}},BITOR:{description:"返回两个数的“按位或”",abstract:"返回两个数的“按位或”",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/bitor-%E5%87%BD%E6%95%B0-f6ead5c8-5b98-4c9e-9053-8ad5234919b2"}],functionParameter:{number1:{name:"数值1",detail:"必须为十进制格式且大于等于 0。"},number2:{name:"数值2",detail:"必须为十进制格式且大于等于 0。"}}},BITRSHIFT:{description:"返回右移 shift_amount 位的计算值接收数",abstract:"返回右移 shift_amount 位的计算值接收数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/bitrshift-%E5%87%BD%E6%95%B0-274d6996-f42c-4743-abdb-4ff95351222c"}],functionParameter:{number:{name:"数值",detail:"必须是大于或等于 0 的整数。"},shiftAmount:{name:"移位量",detail:"必须为整数。"}}},BITXOR:{description:"返回两个数的按位“异或”",abstract:"返回两个数的按位“异或”",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/bitxor-%E5%87%BD%E6%95%B0-c81306a1-03f9-4e89-85ac-b86c3cba10e4"}],functionParameter:{number1:{name:"数值1",detail:"必须为十进制格式且大于等于 0。"},number2:{name:"数值2",detail:"必须为十进制格式且大于等于 0。"}}},COMPLEX:{description:"将实系数和虚系数转换为复数",abstract:"将实系数和虚系数转换为复数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/complex-%E5%87%BD%E6%95%B0-f0b8f3a9-51cc-4d6d-86fb-3a9362fa4128"}],functionParameter:{realNum:{name:"实系数",detail:"复数的实系数。"},iNum:{name:"虚系数",detail:"复数的虚系数。"},suffix:{name:"后缀",detail:"复数中虚系数的后缀。如果省略,则认为它是“i”。"}}},CONVERT:{description:"将数字从一种度量系统转换为另一种度量系统",abstract:"将数字从一种度量系统转换为另一种度量系统",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/convert-%E5%87%BD%E6%95%B0-d785bef1-808e-4aac-bdcd-666c810f9af2"}],functionParameter:{number:{name:"数值",detail:"需要进行转换的数值。"},fromUnit:{name:"转换前单位",detail:"是数值的单位。"},toUnit:{name:"转换后单位",detail:"是结果的单位。"}}},DEC2BIN:{description:"将十进制数转换为二进制数",abstract:"将十进制数转换为二进制数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/dec2bin-%E5%87%BD%E6%95%B0-0f63dd0e-5d1a-42d8-b511-5bf5c6d43838"}],functionParameter:{number:{name:"十进制数",detail:"要转换的十进制数。"},places:{name:"字符数",detail:"要使用的字符数。"}}},DEC2HEX:{description:"将十进制数转换为十六进制数",abstract:"将十进制数转换为十六进制数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/dec2hex-%E5%87%BD%E6%95%B0-6344ee8b-b6b5-4c6a-a672-f64666704619"}],functionParameter:{number:{name:"十进制数",detail:"要转换的十进制数。"},places:{name:"字符数",detail:"要使用的字符数。"}}},DEC2OCT:{description:"将十进制数转换为八进制数",abstract:"将十进制数转换为八进制数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/dec2oct-%E5%87%BD%E6%95%B0-c9d835ca-20b7-40c4-8a9e-d3be351ce00f"}],functionParameter:{number:{name:"十进制数",detail:"要转换的十进制数。"},places:{name:"字符数",detail:"要使用的字符数。"}}},DELTA:{description:"检验两个值是否相等",abstract:"检验两个值是否相等",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/delta-%E5%87%BD%E6%95%B0-2f763672-c959-4e07-ac33-fe03220ba432"}],functionParameter:{number1:{name:"数值1",detail:"第一个数值。"},number2:{name:"数值2",detail:"第二个数值。如果省略,则假设数值2为零。"}}},ERF:{description:"返回误差函数",abstract:"返回误差函数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/erf-%E5%87%BD%E6%95%B0-c53c7e7b-5482-4b6c-883e-56df3c9af349"}],functionParameter:{lowerLimit:{name:"下限",detail:"ERF函数的积分下限。"},upperLimit:{name:"上限",detail:"ERF函数的积分上限。如果省略,ERF积分将在零到下限之间。"}}},ERF_PRECISE:{description:"返回误差函数",abstract:"返回误差函数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/erf-precise-%E5%87%BD%E6%95%B0-9a349593-705c-4278-9a98-e4122831a8e0"}],functionParameter:{x:{name:"下限",detail:"ERF.PRECISE函数的积分下限。"}}},ERFC:{description:"返回互补误差函数",abstract:"返回互补误差函数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/erfc-%E5%87%BD%E6%95%B0-736e0318-70ba-4e8b-8d08-461fe68b71b3"}],functionParameter:{x:{name:"下限",detail:"ERFC函数的积分下限。"}}},ERFC_PRECISE:{description:"返回从 x 到无穷大积分的互补 ERF 函数",abstract:"返回从 x 到无穷大积分的互补 ERF 函数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/erfc-precise-%E5%87%BD%E6%95%B0-e90e6bab-f45e-45df-b2ac-cd2eb4d4a273"}],functionParameter:{x:{name:"下限",detail:"ERFC.PRECISE函数的积分下限。"}}},GESTEP:{description:"检验数字是否大于阈值",abstract:"检验数字是否大于阈值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/gestep-%E5%87%BD%E6%95%B0-f37e7d2a-41da-4129-be95-640883fca9df"}],functionParameter:{number:{name:"数值",detail:"要针对阈值进行测试的值。"},step:{name:"阈值",detail:"阈值。如果省略阈值,则 GESTEP 使用零。"}}},HEX2BIN:{description:"将十六进制数转换为二进制数",abstract:"将十六进制数转换为二进制数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/hex2bin-%E5%87%BD%E6%95%B0-a13aafaa-5737-4920-8424-643e581828c1"}],functionParameter:{number:{name:"十六进制数",detail:"要转换的十六进制数。"},places:{name:"字符数",detail:"要使用的字符数。"}}},HEX2DEC:{description:"将十六进制数转换为十进制数",abstract:"将十六进制数转换为十进制数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/hex2dec-%E5%87%BD%E6%95%B0-8c8c3155-9f37-45a5-a3ee-ee5379ef106e"}],functionParameter:{number:{name:"十六进制数",detail:"要转换的十六进制数。"}}},HEX2OCT:{description:"将十六进制数转换为八进制数",abstract:"将十六进制数转换为八进制数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/hex2oct-%E5%87%BD%E6%95%B0-54d52808-5d19-4bd0-8a63-1096a5d11912"}],functionParameter:{number:{name:"十六进制数",detail:"要转换的十六进制数。"},places:{name:"字符数",detail:"要使用的字符数。"}}},IMABS:{description:"返回复数的绝对值(模数)",abstract:"返回复数的绝对值(模数)",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/imabs-%E5%87%BD%E6%95%B0-b31e73c6-d90c-4062-90bc-8eb351d765a1"}],functionParameter:{inumber:{name:"复数",detail:"需要计算其绝对值的复数。"}}},IMAGINARY:{description:"返回复数的虚系数",abstract:"返回复数的虚系数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/imaginary-%E5%87%BD%E6%95%B0-dd5952fd-473d-44d9-95a1-9a17b23e428a"}],functionParameter:{inumber:{name:"复数",detail:"需要计算其虚系数的复数。"}}},IMARGUMENT:{description:"返回参数 theta,即以弧度表示的角",abstract:"返回参数 theta,即以弧度表示的角",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/imargument-%E5%87%BD%E6%95%B0-eed37ec1-23b3-4f59-b9f3-d340358a034a"}],functionParameter:{inumber:{name:"复数",detail:"要为其参数 theta 的复数。"}}},IMCONJUGATE:{description:"返回复数的共轭复数",abstract:"返回复数的共轭复数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/imconjugate-%E5%87%BD%E6%95%B0-2e2fc1ea-f32b-4f9b-9de6-233853bafd42"}],functionParameter:{inumber:{name:"复数",detail:"需要计算其共轭数的复数。"}}},IMCOS:{description:"返回复数的余弦",abstract:"返回复数的余弦",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/imcos-%E5%87%BD%E6%95%B0-dad75277-f592-4a6b-ad6c-be93a808a53c"}],functionParameter:{inumber:{name:"复数",detail:"需要计算其余弦值的复数。"}}},IMCOSH:{description:"返回复数的双曲余弦值",abstract:"返回复数的双曲余弦值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/imcosh-%E5%87%BD%E6%95%B0-053e4ddb-4122-458b-be9a-457c405e90ff"}],functionParameter:{inumber:{name:"复数",detail:"需要计算其双曲余弦值的复数。"}}},IMCOT:{description:"返回复数的余切值",abstract:"返回复数的余切值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/imcot-%E5%87%BD%E6%95%B0-dc6a3607-d26a-4d06-8b41-8931da36442c"}],functionParameter:{inumber:{name:"复数",detail:"需要计算其余切值的复数。"}}},IMCOTH:{description:"返回复数的双曲余切值",abstract:"返回复数的双曲余切值",links:[{title:"教学",url:"https://support.google.com/docs/answer/9366256?hl=zh-Hans&sjid=1719420110567985051-AP"}],functionParameter:{inumber:{name:"复数",detail:"需要计算其双曲余切值的复数。"}}},IMCSC:{description:"返回复数的余割值",abstract:"返回复数的余割值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/imcsc-%E5%87%BD%E6%95%B0-9e158d8f-2ddf-46cd-9b1d-98e29904a323"}],functionParameter:{inumber:{name:"复数",detail:"需要计算其余割值的复数。"}}},IMCSCH:{description:"返回复数的双曲余割值",abstract:"返回复数的双曲余割值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/imcsch-%E5%87%BD%E6%95%B0-c0ae4f54-5f09-4fef-8da0-dc33ea2c5ca9"}],functionParameter:{inumber:{name:"复数",detail:"需要计算其双曲余割值的复数。"}}},IMDIV:{description:"返回两个复数的商",abstract:"返回两个复数的商",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/imdiv-%E5%87%BD%E6%95%B0-a505aff7-af8a-4451-8142-77ec3d74d83f"}],functionParameter:{inumber1:{name:"复数分子",detail:"复数分子或被除数。"},inumber2:{name:"复数分母",detail:"复数分母或除数。"}}},IMEXP:{description:"返回复数的指数",abstract:"返回复数的指数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/imexp-%E5%87%BD%E6%95%B0-c6f8da1f-e024-4c0c-b802-a60e7147a95f"}],functionParameter:{inumber:{name:"复数",detail:"需要计算其指数的复数。"}}},IMLN:{description:"返回复数的自然对数",abstract:"返回复数的自然对数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/imln-%E5%87%BD%E6%95%B0-32b98bcf-8b81-437c-a636-6fb3aad509d8"}],functionParameter:{inumber:{name:"复数",detail:"需要计算其自然对数的复数。"}}},IMLOG:{description:"返回复数的以特定数为底的对数",abstract:"返回复数的以特定数为底的对数",links:[{title:"教学",url:"https://support.google.com/docs/answer/9366486?hl=zh-Hans&sjid=1719420110567985051-AP"}],functionParameter:{inumber:{name:"复数",detail:"需要计算其以特定数为底的对数的复数。"},base:{name:"底数",detail:"用于计算相应对数的底数。"}}},IMLOG10:{description:"返回复数的以 10 为底的对数",abstract:"返回复数的以 10 为底的对数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/imlog10-%E5%87%BD%E6%95%B0-58200fca-e2a2-4271-8a98-ccd4360213a5"}],functionParameter:{inumber:{name:"复数",detail:"需要计算其常用对数的复数。"}}},IMLOG2:{description:"返回复数的以 2 为底的对数",abstract:"返回复数的以 2 为底的对数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/imlog2-%E5%87%BD%E6%95%B0-152e13b4-bc79-486c-a243-e6a676878c51"}],functionParameter:{inumber:{name:"复数",detail:"需要计算以 2 为底数的对数的复数。"}}},IMPOWER:{description:"返回复数的整数幂",abstract:"返回复数的整数幂",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/impower-%E5%87%BD%E6%95%B0-210fd2f5-f8ff-4c6a-9d60-30e34fbdef39"}],functionParameter:{inumber:{name:"复数",detail:"需要计算其幂值的复数。"},number:{name:"数值",detail:"需要对复数应用的幂次。"}}},IMPRODUCT:{description:"返回多个复数的乘积",abstract:"返回多个复数的乘积",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/improduct-%E5%87%BD%E6%95%B0-2fb8651a-a4f2-444f-975e-8ba7aab3a5ba"}],functionParameter:{inumber1:{name:"复数1",detail:"1 到 255 个要相乘的复数。"},inumber2:{name:"复数2",detail:"1 到 255 个要相乘的复数。"}}},IMREAL:{description:"返回复数的实系数",abstract:"返回复数的实系数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/imreal-%E5%87%BD%E6%95%B0-d12bc4c0-25d0-4bb3-a25f-ece1938bf366"}],functionParameter:{inumber:{name:"复数",detail:"需要计算其实系数的复数。"}}},IMSEC:{description:"返回复数的正割值",abstract:"返回复数的正割值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/imsec-%E5%87%BD%E6%95%B0-6df11132-4411-4df4-a3dc-1f17372459e0"}],functionParameter:{inumber:{name:"复数",detail:"需要计算其正割值的复数。"}}},IMSECH:{description:"返回复数的双曲正割值",abstract:"返回复数的双曲正割值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/imsech-%E5%87%BD%E6%95%B0-f250304f-788b-4505-954e-eb01fa50903b"}],functionParameter:{inumber:{name:"复数",detail:"需要计算其双曲正割值的复数。"}}},IMSIN:{description:"返回复数的正弦",abstract:"返回复数的正弦",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/imsin-%E5%87%BD%E6%95%B0-1ab02a39-a721-48de-82ef-f52bf37859f6"}],functionParameter:{inumber:{name:"复数",detail:"需要计算其正弦值的复数。"}}},IMSINH:{description:"返回复数的双曲正弦值",abstract:"返回复数的双曲正弦值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/imsinh-%E5%87%BD%E6%95%B0-dfb9ec9e-8783-4985-8c42-b028e9e8da3d"}],functionParameter:{inumber:{name:"复数",detail:"需要计算其双曲正弦值的复数。"}}},IMSQRT:{description:"返回复数的平方根",abstract:"返回复数的平方根",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/imsqrt-%E5%87%BD%E6%95%B0-e1753f80-ba11-4664-a10e-e17368396b70"}],functionParameter:{inumber:{name:"复数",detail:"需要计算其平方根的复数。"}}},IMSUB:{description:"返回两个复数的差",abstract:"返回两个复数的差",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/imsub-%E5%87%BD%E6%95%B0-2e404b4d-4935-4e85-9f52-cb08b9a45054"}],functionParameter:{inumber1:{name:"复数1",detail:"复数1。"},inumber2:{name:"复数2",detail:"复数2。"}}},IMSUM:{description:"返回多个复数的和",abstract:"返回多个复数的和",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/imsum-%E5%87%BD%E6%95%B0-81542999-5f1c-4da6-9ffe-f1d7aaa9457f"}],functionParameter:{inumber1:{name:"复数1",detail:"1 到 255 个要相加的复数。"},inumber2:{name:"复数2",detail:"1 到 255 个要相加的复数。"}}},IMTAN:{description:"返回复数的正切值",abstract:"返回复数的正切值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/imtan-%E5%87%BD%E6%95%B0-8478f45d-610a-43cf-8544-9fc0b553a132"}],functionParameter:{inumber:{name:"复数",detail:"需要计算其正切值的复数。"}}},IMTANH:{description:"返回复数的双曲正切值",abstract:"返回复数的双曲正切值",links:[{title:"教学",url:"https://support.google.com/docs/answer/9366655?hl=zh-Hans&sjid=1719420110567985051-AP"}],functionParameter:{inumber:{name:"复数",detail:"需要计算其双曲正切值的复数。"}}},OCT2BIN:{description:"将八进制数转换为二进制数",abstract:"将八进制数转换为二进制数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/oct2bin-%E5%87%BD%E6%95%B0-55383471-3c56-4d27-9522-1a8ec646c589"}],functionParameter:{number:{name:"八进制数",detail:"要转换的八进制数。"},places:{name:"字符数",detail:"要使用的字符数。"}}},OCT2DEC:{description:"将八进制数转换为十进制数",abstract:"将八进制数转换为十进制数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/oct2dec-%E5%87%BD%E6%95%B0-87606014-cb98-44b2-8dbb-e48f8ced1554"}],functionParameter:{number:{name:"八进制数",detail:"要转换的八进制数。"}}},OCT2HEX:{description:"将八进制数转换为十六进制数",abstract:"将八进制数转换为十六进制数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/oct2hex-%E5%87%BD%E6%95%B0-912175b4-d497-41b4-a029-221f051b858f"}],functionParameter:{number:{name:"八进制数",detail:"要转换的八进制数。"},places:{name:"字符数",detail:"要使用的字符数。"}}},CUBEKPIMEMBER:{description:"返回重要性能指示器 (KPI) 属性,并在单元格中显示 KPI 名称。 KPI 是一种用于监控单位绩效的可计量度量值,如每月总利润或季度员工调整。",abstract:"返回重要性能指示器 (KPI) 属性,并在单元格中显示 KPI 名称。 KPI 是一种用于监控单位绩效的可计量度量值,如每月总利润或季度员工调整。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/cubekpimember-%E5%87%BD%E6%95%B0-744608bf-2c62-42cd-b67a-a56109f4b03b"}],functionParameter:{number1:{name:"number1",detail:"first"},number2:{name:"number2",detail:"second"}}},CUBEMEMBER:{description:"返回多维数据集中的成员或元组。 用于验证多维数据集内是否存在成员或元组。",abstract:"返回多维数据集中的成员或元组。 用于验证多维数据集内是否存在成员或元组。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/cubemember-%E5%87%BD%E6%95%B0-0f6a15b9-2c18-4819-ae89-e1b5c8b398ad"}],functionParameter:{number1:{name:"number1",detail:"first"},number2:{name:"number2",detail:"second"}}},CUBEMEMBERPROPERTY:{description:"返回多维数据集中成员属性的值。 用于验证多维数据集内是否存在某个成员名并返回此成员的指定属性。",abstract:"返回多维数据集中成员属性的值。 用于验证多维数据集内是否存在某个成员名并返回此成员的指定属性。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/cubememberproperty-%E5%87%BD%E6%95%B0-001e57d6-b35a-49e5-abcd-05ff599e8951"}],functionParameter:{number1:{name:"number1",detail:"first"},number2:{name:"number2",detail:"second"}}},CUBERANKEDMEMBER:{description:"返回集合中的第 n 个或排在一定名次的成员。 用来返回集合中的一个或多个元素,如业绩最好的销售人员或前 10 名的学生。",abstract:"返回集合中的第 n 个或排在一定名次的成员。 用来返回集合中的一个或多个元素,如业绩最好的销售人员或前 10 名的学生。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/cuberankedmember-%E5%87%BD%E6%95%B0-07efecde-e669-4075-b4bf-6b40df2dc4b3"}],functionParameter:{number1:{name:"number1",detail:"first"},number2:{name:"number2",detail:"second"}}},CUBESET:{description:"定义成员或元组的计算集。方法是向服务器上的多维数据集发送一个集合表达式,此表达式创建集合,并随后将该集合返回到 Microsoft Excel。",abstract:"定义成员或元组的计算集。方法是向服务器上的多维数据集发送一个集合表达式,此表达式创建集合,并随后将该集合返回到 Microsoft Excel。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/cubeset-%E5%87%BD%E6%95%B0-5b2146bd-62d6-4d04-9d8f-670e993ee1d9"}],functionParameter:{number1:{name:"number1",detail:"first"},number2:{name:"number2",detail:"second"}}},CUBESETCOUNT:{description:"返回集合中的项目数。",abstract:"返回集合中的项目数。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/cubesetcount-%E5%87%BD%E6%95%B0-c4c2a438-c1ff-4061-80fe-982f2d705286"}],functionParameter:{number1:{name:"number1",detail:"first"},number2:{name:"number2",detail:"second"}}},CUBEVALUE:{description:"从多维数据集中返回汇总值。",abstract:"从多维数据集中返回汇总值。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/cubevalue-%E5%87%BD%E6%95%B0-8733da24-26d1-4e34-9b3a-84a8f00dcbe0"}],functionParameter:{number1:{name:"number1",detail:"first"},number2:{name:"number2",detail:"second"}}},BETADIST:{description:"返回 beta 累积分布函数",abstract:"返回 beta 累积分布函数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/betadist-%E5%87%BD%E6%95%B0-49f1b9a9-a5da-470f-8077-5f1730b5fd47"}],functionParameter:{x:{name:"值",detail:"用来计算其函数的值,介于下限值和上限值之间。"},alpha:{name:"alpha",detail:"分布的第一个参数。"},beta:{name:"beta",detail:"分布的第二个参数。"},A:{name:"下限",detail:"函数的下限,默认值为 0。"},B:{name:"上限",detail:"函数的上限,默认值为 1。"}}},BETAINV:{description:"返回指定 beta 分布的累积分布函数的反函数",abstract:"返回指定 beta 分布的累积分布函数的反函数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/betainv-%E5%87%BD%E6%95%B0-8b914ade-b902-43c1-ac9c-c05c54f10d6c"}],functionParameter:{probability:{name:"概率",detail:"与 beta 分布相关的概率。"},alpha:{name:"alpha",detail:"分布的第一个参数。"},beta:{name:"beta",detail:"分布的第二个参数。"},A:{name:"下限",detail:"函数的下限,默认值为 0。"},B:{name:"上限",detail:"函数的上限,默认值为 1。"}}},BINOMDIST:{description:"返回一元二项式分布的概率",abstract:"返回一元二项式分布的概率",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/binomdist-%E5%87%BD%E6%95%B0-506a663e-c4ca-428d-b9a8-05583d68789c"}],functionParameter:{numberS:{name:"成功次数",detail:"试验的成功次数。"},trials:{name:"试验次数",detail:"独立试验次数。"},probabilityS:{name:"成功概率",detail:"每次试验成功的概率。"},cumulative:{name:"累积",detail:"决定函数形式的逻辑值。如果为 TRUE,则 BINOMDIST 返回累积分布函数;如果为 FALSE,则返回概率密度函数。"}}},CHIDIST:{description:"返回 χ2 分布的右尾概率。",abstract:"返回 χ2 分布的右尾概率。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/chidist-%E5%87%BD%E6%95%B0-c90d0fbc-5b56-4f5f-ab57-34af1bf6897e"}],functionParameter:{x:{name:"值",detail:"用来计算分布的数值。"},degFreedom:{name:"自由度",detail:"自由度数。"}}},CHIINV:{description:"返回 χ2 分布的右尾概率的反函数。",abstract:"返回 χ2 分布的右尾概率的反函数。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/chiinv-%E5%87%BD%E6%95%B0-cfbea3f6-6e4f-40c9-a87f-20472e0512af"}],functionParameter:{probability:{name:"概率",detail:"与 χ2 分布相关联的概率。"},degFreedom:{name:"自由度",detail:"自由度数。"}}},CHITEST:{description:"返回独立性检验值",abstract:"返回独立性检验值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/chitest-%E5%87%BD%E6%95%B0-981ff871-b694-4134-848e-38ec704577ac"}],functionParameter:{actualRange:{name:"观察范围",detail:"包含观察值的数据区域,用于检验预期值。"},expectedRange:{name:"预期范围",detail:"包含行列汇总的乘积与总计值之比率的数据区域。"}}},CONFIDENCE:{description:"使用正态分布返回总体平均值的置信区间。",abstract:"使用正态分布返回总体平均值的置信区间。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/confidence-%E5%87%BD%E6%95%B0-75ccc007-f77c-4343-bc14-673642091ad6"}],functionParameter:{alpha:{name:"alpha",detail:"用来计算置信水平的显著性水平。 置信水平等于 100*(1 - alpha)%,亦即,如果 alpha 为 0.05,则置信水平为 95%。"},standardDev:{name:"总体标准偏差",detail:"数据区域的总体标准偏差,假定为已知。"},size:{name:"样本大小",detail:"样本大小。"}}},COVAR:{description:"返回总体协方差,即两个数据集中每对数据点的偏差乘积的平均值。",abstract:"返回总体协方差",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/covar-%E5%87%BD%E6%95%B0-50479552-2c03-4daf-bd71-a5ab88b2db03"}],functionParameter:{array1:{name:"数组1",detail:"第一个单元格值区域。"},array2:{name:"数组2",detail:"第二个单元格值区域。"}}},CRITBINOM:{description:"返回使累积二项式分布小于或等于临界值的最小值",abstract:"返回使累积二项式分布小于或等于临界值的最小值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/critbinom-%E5%87%BD%E6%95%B0-eb6b871d-796b-4d21-b69b-e4350d5f407b"}],functionParameter:{trials:{name:"试验次数",detail:"伯努利试验的次数。"},probabilityS:{name:"成功概率",detail:"每次试验成功的概率。"},alpha:{name:"目标概率",detail:"临界值。"}}},EXPONDIST:{description:"返回指数分布",abstract:"返回指数分布",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/expondist-%E5%87%BD%E6%95%B0-68ab45fd-cd6d-4887-9770-9357eb8ee06a"}],functionParameter:{x:{name:"值",detail:"用来计算分布的数值。"},lambda:{name:"lambda",detail:"参数值。"},cumulative:{name:"累积",detail:"决定函数形式的逻辑值。 如果为 TRUE,则 EXPONDIST 返回累积分布函数;如果为 FALSE,则返回概率密度函数。"}}},FDIST:{description:"返回 F 概率分布(右尾)",abstract:"返回 F 概率分布(右尾)",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/fdist-%E5%87%BD%E6%95%B0-ecf76fba-b3f1-4e7d-a57e-6a5b7460b786"}],functionParameter:{x:{name:"值",detail:"用来计算函数的值。"},degFreedom1:{name:"分子自由度",detail:"分子自由度。"},degFreedom2:{name:"分母自由度",detail:"分母自由度。"}}},FINV:{description:"返回 F 概率分布(右尾)的反函数",abstract:"返回 F 概率分布(右尾)的反函数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/finv-%E5%87%BD%E6%95%B0-4d46c97c-c368-4852-bc15-41e8e31140b1"}],functionParameter:{probability:{name:"概率",detail:"F 累积分布的概率值。"},degFreedom1:{name:"分子自由度",detail:"分子自由度。"},degFreedom2:{name:"分母自由度",detail:"分母自由度。"}}},FTEST:{description:"返回 F 检验的结果",abstract:"返回 F 检验的结果",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/ftest-%E5%87%BD%E6%95%B0-4c9e1202-53fe-428c-a737-976f6fc3f9fd"}],functionParameter:{array1:{name:"数组1",detail:"第一个数据数组或数据范围。"},array2:{name:"数组2",detail:"第二个数据数组或数据范围。"}}},GAMMADIST:{description:"返回 γ 分布",abstract:"返回 γ 分布",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/gammadist-%E5%87%BD%E6%95%B0-7327c94d-0f05-4511-83df-1dd7ed23e19e"}],functionParameter:{x:{name:"x",detail:"需要计算其分布的数值。"},alpha:{name:"alpha",detail:"分布的第一个参数。"},beta:{name:"beta",detail:"分布的第二个参数。"},cumulative:{name:"累积",detail:"决定函数形式的逻辑值。如果为TRUE,则 GAMMADIST 返回累积分布函数;如果为 FALSE,则返回概率密度函数。"}}},GAMMAINV:{description:"返回 γ 累积分布函数的反函数",abstract:"返回 γ 累积分布函数的反函数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/gammainv-%E5%87%BD%E6%95%B0-06393558-37ab-47d0-aa63-432f99e7916d"}],functionParameter:{probability:{name:"概率",detail:"与伽玛分布相关的概率。"},alpha:{name:"alpha",detail:"分布的第一个参数。"},beta:{name:"beta",detail:"分布的第二个参数。"}}},HYPGEOMDIST:{description:"返回超几何分布",abstract:"返回超几何分布",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/hypgeomdist-%E5%87%BD%E6%95%B0-23e37961-2871-4195-9629-d0b2c108a12e"}],functionParameter:{sampleS:{name:"样本成功次数",detail:"样本中成功的次数。"},numberSample:{name:"样本大小",detail:"样本大小。"},populationS:{name:"总体成功次数",detail:"总体中成功的次数。"},numberPop:{name:"总体大小",detail:"总体大小。"},cumulative:{name:"累积",detail:"决定函数形式的逻辑值。如果为TRUE,则 HYPGEOMDIST 返回累积分布函数;如果为 FALSE,则返回概率密度函数。"}}},LOGINV:{description:"返回对数正态累积分布的反函数",abstract:"返回对数正态累积分布的反函数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/loginv-%E5%87%BD%E6%95%B0-0bd7631a-2725-482b-afb4-de23df77acfe"}],functionParameter:{probability:{name:"概率",detail:"对应于对数正态分布的概率。"},mean:{name:"平均值",detail:"分布的算术平均值。"},standardDev:{name:"标准偏差",detail:"分布的标准偏差。"}}},LOGNORMDIST:{description:"返回对数正态累积分布",abstract:"返回对数正态累积分布",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/lognormdist-%E5%87%BD%E6%95%B0-f8d194cb-9ee3-4034-8c75-1bdb3884100b"}],functionParameter:{x:{name:"x",detail:"需要计算其分布的数值。"},mean:{name:"平均值",detail:"分布的算术平均值。"},standardDev:{name:"标准偏差",detail:"分布的标准偏差。"},cumulative:{name:"累积",detail:"决定函数形式的逻辑值。 如果为 TRUE,则 LOGNORMDIST 返回累积分布函数;如果为 FALSE,则返回概率密度函数。"}}},MODE:{description:"返回在数据集内出现次数最多的值",abstract:"返回在数据集内出现次数最多的值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/mode-%E5%87%BD%E6%95%B0-e45192ce-9122-4980-82ed-4bdc34973120"}],functionParameter:{number1:{name:"数值 1",detail:"要计算众数的第一个数字、单元格引用或单元格区域。"},number2:{name:"数值 2",detail:"要计算众数的其他数字、单元格引用或单元格区域,最多可包含 255 个。"}}},NEGBINOMDIST:{description:"返回负二项式分布",abstract:"返回负二项式分布",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/negbinomdist-%E5%87%BD%E6%95%B0-f59b0a37-bae2-408d-b115-a315609ba714"}],functionParameter:{numberF:{name:"失败次数",detail:"失败的次数。"},numberS:{name:"成功次数",detail:"成功次数的阈值。"},probabilityS:{name:"成功概率",detail:"成功的概率。"},cumulative:{name:"累积",detail:"决定函数形式的逻辑值。 如果为 TRUE,则 NEGBINOMDIST 返回累积分布函数;如果为 FALSE,则返回概率密度函数。"}}},NORMDIST:{description:"返回正态累积分布",abstract:"返回正态累积分布",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/normdist-%E5%87%BD%E6%95%B0-126db625-c53e-4591-9a22-c9ff422d6d58"}],functionParameter:{x:{name:"x",detail:"需要计算其分布的数值。"},mean:{name:"平均值",detail:"分布的算术平均值。"},standardDev:{name:"标准偏差",detail:"分布的标准偏差。"},cumulative:{name:"累积",detail:"决定函数形式的逻辑值。 如果为 TRUE,则 NORMDIST 返回累积分布函数;如果为 FALSE,则返回概率密度函数。"}}},NORMINV:{description:"返回正态累积分布的反函数",abstract:"返回正态累积分布的反函数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/norminv-%E5%87%BD%E6%95%B0-87981ab8-2de0-4cb0-b1aa-e21d4cb879b8"}],functionParameter:{probability:{name:"概率",detail:"对应于正态分布的概率。"},mean:{name:"平均值",detail:"分布的算术平均值。"},standardDev:{name:"标准偏差",detail:"分布的标准偏差。"}}},NORMSDIST:{description:"返回标准正态累积分布",abstract:"返回标准正态累积分布",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/normsdist-%E5%87%BD%E6%95%B0-463369ea-0345-445d-802a-4ff0d6ce7cac"}],functionParameter:{z:{name:"z",detail:"需要计算其分布的数值。"}}},NORMSINV:{description:"返回标准正态累积分布函数的反函数",abstract:"返回标准正态累积分布函数的反函数",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/normsinv-%E5%87%BD%E6%95%B0-8d1bce66-8e4d-4f3b-967c-30eed61f019d"}],functionParameter:{probability:{name:"概率",detail:"对应于正态分布的概率。"}}},PERCENTILE:{description:"返回数据集中第 k 个百分点的值 (包含 0 和 1)",abstract:"返回数据集中第 k 个百分点的值 (包含 0 和 1)",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/percentile-%E5%87%BD%E6%95%B0-91b43a53-543c-4708-93de-d626debdddca"}],functionParameter:{array:{name:"数组",detail:"定义相对位置的数组或数据区域。"},k:{name:"k",detail:"0 到 1 之间的百分点值 (包含 0 和 1)。"}}},PERCENTRANK:{description:"返回数据集中值的百分比排位 (包含 0 和 1)",abstract:"返回数据集中值的百分比排位 (包含 0 和 1)",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/percentrank-%E5%87%BD%E6%95%B0-f1b5836c-9619-4847-9fc9-080ec9024442"}],functionParameter:{array:{name:"数组",detail:"定义相对位置的数组或数据区域。"},x:{name:"x",detail:"需要得到其排位的值。"},significance:{name:"有效位数",detail:"用于标识返回的百分比值的有效位数的值。 如果省略,则 PERCENTRANK 使用 3 位小数 (0.xxx)。"}}},POISSON:{description:"返回泊松分布",abstract:"返回泊松分布",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/poisson-%E5%87%BD%E6%95%B0-d81f7294-9d7c-4f75-bc23-80aa8624173a"}],functionParameter:{x:{name:"x",detail:"需要计算其分布的数值。"},mean:{name:"平均值",detail:"分布的算术平均值。"},cumulative:{name:"累积",detail:"决定函数形式的逻辑值。 如果为 TRUE,则 POISSON 返回累积分布函数;如果为 FALSE,则返回概率密度函数。"}}},QUARTILE:{description:"返回数据集的四分位数 (包含 0 和 1)",abstract:"返回数据集的四分位数 (包含 0 和 1)",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/quartile-%E5%87%BD%E6%95%B0-93cf8f62-60cd-4fdb-8a92-8451041e1a2a"}],functionParameter:{array:{name:"数组",detail:"要求得四分位数值的数组或数据区域。"},quart:{name:"四分位值",detail:"要返回的四分位数值。"}}},RANK:{description:"返回一列数字的数字排位",abstract:"返回一列数字的数字排位",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/rank-%E5%87%BD%E6%95%B0-6a2fc49d-1831-4a03-9d8c-c279cf99f723"}],functionParameter:{number:{name:"数值",detail:"要找到其排位的数字。"},ref:{name:"数字列表",detail:"对数字列表的引用。Ref 中的非数字值会被忽略。"},order:{name:"排位方式",detail:"一个指定数字排位方式的数字。0 或省略为降序,非 0 为升序。"}}},STDEV:{description:"根据样本估计标准偏差。 标准偏差可以测量值在平均值(中值)附近分布的范围大小。",abstract:"基于样本估算标准偏差",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/stdev-%E5%87%BD%E6%95%B0-51fecaaa-231e-4bbb-9230-33650a72c9b0"}],functionParameter:{number1:{name:"数值 1",detail:"对应于总体样本的第一个数值参数。"},number2:{name:"数值 2",detail:"对应于总体样本的 2 到 255 个数值参数。 也可以用单一数组或对某个数组的引用来代替用逗号分隔的参数。"}}},STDEVP:{description:"根据作为参数给定的整个总体计算标准偏差。",abstract:"基于整个样本总体计算标准偏差",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/stdevp-%E5%87%BD%E6%95%B0-1f7c1c88-1bec-4422-8242-e9f7dc8bb195"}],functionParameter:{number1:{name:"数值 1",detail:"对应于总体的第一个数值参数。"},number2:{name:"数值 2",detail:"对应于总体的 2 到 255 个数值参数。 也可以用单一数组或对某个数组的引用来代替用逗号分隔的参数。"}}},TDIST:{description:"返回学生的 t 概率分布",abstract:"返回学生的 t 概率分布",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/tdist-%E5%87%BD%E6%95%B0-630a7695-4021-4853-9468-4a1f9dcdd192"}],functionParameter:{x:{name:"x",detail:"需要计算分布的数值。"},degFreedom:{name:"自由度",detail:"一个表示自由度数的整数。"},tails:{name:"尾部特性",detail:"指定返回的分布函数是单尾分布还是双尾分布。 如果 Tails = 1,则 TDIST 返回单尾分布。 如果Tails = 2,则 TDIST 返回双尾分布。"}}},TINV:{description:"返回学生的 t 概率分布的反函数 (双尾)",abstract:"返回学生的 t 概率分布的反函数 (双尾)",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/tinv-%E5%87%BD%E6%95%B0-a7c85b9d-90f5-41fe-9ca5-1cd2f3e1ed7c"}],functionParameter:{probability:{name:"概率",detail:"与学生的 t 分布相关的概率。"},degFreedom:{name:"自由度",detail:"一个表示自由度数的整数。"}}},TTEST:{description:"返回与学生 t-检验相关的概率",abstract:"返回与学生 t-检验相关的概率",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/ttest-%E5%87%BD%E6%95%B0-1696ffc1-4811-40fd-9d13-a0eaad83c7ae"}],functionParameter:{array1:{name:"数组1",detail:"第一个数据数组或数据范围。"},array2:{name:"数组2",detail:"第二个数据数组或数据范围。"},tails:{name:"尾部特性",detail:"指定分布尾数。 如果 tails = 1,则 TTEST 使用单尾分布。 如果 tails = 2,则 TTEST 使用双尾分布。"},type:{name:"检验类型",detail:"要执行的 t 检验的类型。"}}},VAR:{description:"计算基于给定样本的方差。",abstract:"基于样本估算方差",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/var-%E5%87%BD%E6%95%B0-1f2b7ab2-954d-4e17-ba2c-9e58b15a7da2"}],functionParameter:{number1:{name:"数值 1",detail:"对应于总体样本的第一个数值参数。"},number2:{name:"数值 2",detail:"应于总体样本的 2 到 255 个数值参数。"}}},VARP:{description:"计算基于样本总体的方差。",abstract:"计算基于样本总体的方差",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/varp-%E5%87%BD%E6%95%B0-26a541c4-ecee-464d-a731-bd4c575b1a6b"}],functionParameter:{number1:{name:"数值 1",detail:"对应于总体的第一个数值参数。"},number2:{name:"数值 2",detail:"对应于总体的 2 到 255 个数值参数。"}}},WEIBULL:{description:"返回 Weibull 分布",abstract:"返回 Weibull 分布",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/weibull-%E5%87%BD%E6%95%B0-b83dc2c6-260b-4754-bef2-633196f6fdcc"}],functionParameter:{x:{name:"x",detail:"需要计算其分布的数值。"},alpha:{name:"alpha",detail:"分布的第一个参数。"},beta:{name:"beta",detail:"分布的第二个参数。"},cumulative:{name:"累积",detail:"决定函数形式的逻辑值。如果为TRUE,则 WEIBULL 返回累积分布函数;如果为 FALSE,则返回概率密度函数。"}}},ZTEST:{description:"返回 z 检验的单尾概率值",abstract:"返回 z 检验的单尾概率值",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/ztest-%E5%87%BD%E6%95%B0-8f33be8a-6bd6-4ecc-8e3a-d9a4420c4a6a"}],functionParameter:{array:{name:"数组",detail:"用来检验 x 的数组或数据区域。"},x:{name:"x",detail:"要测试的值。"},sigma:{name:"标准偏差",detail:"总体(已知)标准偏差。 如果省略,则使用样本标准偏差。"}}},ENCODEURL:{description:"返回 URL 编码的字符串",abstract:"返回 URL 编码的字符串",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/encodeurl-%E5%87%BD%E6%95%B0-07c7fb90-7c60-4bff-8687-fac50fe33d0e"}],functionParameter:{text:{name:"文本",detail:"要进行 URL 编码的字符串"}}},FILTERXML:{description:"通过使用指定的 XPath,返回 XML 内容中的特定数据",abstract:"通过使用指定的 XPath,返回 XML 内容中的特定数据",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/filterxml-%E5%87%BD%E6%95%B0-4df72efc-11ec-4951-86f5-c1374812f5b7"}],functionParameter:{number1:{name:"number1",detail:"first"},number2:{name:"number2",detail:"second"}}},WEBSERVICE:{description:"返回 Web 服务中的数据。",abstract:"返回 Web 服务中的数据。",links:[{title:"教学",url:"https://support.microsoft.com/zh-cn/office/webservice-%E5%87%BD%E6%95%B0-0546a35a-ecc6-4739-aed7-c0b7ce1562c4"}],functionParameter:{number1:{name:"number1",detail:"first"},number2:{name:"number2",detail:"second"}}},ARRAY_CONSTRAIN:{description:"以给定值约束数组结果的大小",abstract:"以给定值约束数组结果的大小",links:[{title:"教学",url:"https://support.google.com/docs/answer/3267036?hl=zh-Hans&sjid=8484774178571403392-AP"}],functionParameter:{inputRange:{name:"数组",detail:"要约束的范围。"},numRows:{name:"行数",detail:"结果中应包含的行数。"},numCols:{name:"列数",detail:"结果中应包含的列数。"}}},FLATTEN:{description:"将一个或多个范围中的所有值合并到单列",abstract:"将一个或多个范围中的所有值合并到单列",links:[{title:"教学",url:"https://support.google.com/docs/answer/10307761?hl=zh-Hans&sjid=17375453483079636084-AP"}],functionParameter:{range1:{name:"范围1",detail:"要合并的第一个范围。"},range2:{name:"范围2",detail:"要合并的其他范围。"}}}},prompt:{helpExample:"示例",helpAbstract:"简介",required:"必需。",optional:"可选。"},error:{title:"错误",divByZero:"除数为零",name:"无效名称",value:"值中的错误",num:"数值错误",na:"值不可用",cycle:"循环引用",ref:"无效的单元格引用",spill:"溢出区域不是空白区域",calc:"计算错误",error:"错误",connect:"正在连接中",null:"空值错误"},functionType:{financial:"财务",date:"日期与时间",math:"数学与三角函数",statistical:"统计",lookup:"查找与引用",database:"数据库",text:"文本",logical:"逻辑",information:"信息",engineering:"工程",cube:"多维数据集",compatibility:"兼容性",web:"Web",array:"数组",univer:"Univer",user:"用户自定义",definedname:"定义名称"},moreFunctions:{confirm:"应用",prev:"上一步",next:"下一步",searchFunctionPlaceholder:"搜索函数",allFunctions:"全部函数",syntax:"语法"},operation:{copyFormulaOnly:"仅复制公式",pasteFormula:"仅粘贴公式"}}},{sheet:{numfmt:{title:"数字格式",numfmtType:"格式类型",cancel:"取消",confirm:"确认",general:"常规",accounting:"会计",text:"文本",number:"数值",percent:"百分比",scientific:"科学记数",currency:"货币",date:"日期",time:"时间",thousandthPercentile:"千分位符",preview:"示例",dateTime:"日期时间",decimalLength:"小数位数",currencyType:"货币类型",moreFmt:"更多格式",financialValue:"财务数值",roundingCurrency:"货币取整",timeDuration:"持续时间",currencyDes:"货币格式用于表示一般货币数值。会计格式可以对一列数值进行小数点对齐",accountingDes:"会计数字格式可对一列数值进行货币符号和小数点对齐",dateType:"日期类型",dateDes:"日期格式将日期和时间系列数值品示为日期值。",negType:"负数类型",generalDes:"常规格式不包含任何特定的数字格式。",thousandthPercentileDes:"千分位符格式用于一般数字的表示。货币和会计格式则提供货币值计算的专用格式。",addDecimal:"增加小数位",subtractDecimal:"减少小数位",customFormat:"自定义格式",customFormatDes:"根据现有格式生成自定义数字格式。"}}},{spreadsheetLabel:"插件",spreadsheetRightLabel:"更多 Sheets",toolbar:{undo:"撤销",redo:"重做",formatPainter:"格式刷",font:"字体",fontSize:"字号",fontSizeIncrease:"增大字号",fontSizeDecrease:"减小字号",bold:"粗体",italic:"斜体",strikethrough:"删除线",subscript:"下标",superscript:"上标",underline:"下划线",textColor:{main:"文本颜色",right:"颜色选择"},resetColor:"重置颜色",fillColor:{main:"单元格颜色",right:"颜色选择"},border:{main:"边框",right:"边框类型"},mergeCell:{main:"合并单元格",right:"选择合并类型"},horizontalAlignMode:{main:"水平对齐",right:"对齐方式"},verticalAlignMode:{main:"垂直对齐",right:"对齐方式"},textWrapMode:{main:"文本换行",right:"换行方式"},textRotateMode:{main:"文本旋转",right:"旋转方式"},more:"更多",toggleGridlines:"切换网格线",textToNumber:"文本转数字"},align:{left:"左对齐",center:"中间对齐",right:"右对齐",top:"顶部对齐",middle:"居中对齐",bottom:"底部对齐"},button:{confirm:"确定",cancel:"取消",close:"关闭",update:"Update",delete:"Delete",insert:"新建",prevPage:"上一页",nextPage:"下一页",total:"总共:"},punctuation:{tab:"Tab 键",semicolon:"分号",comma:"逗号",space:"空格"},colorPicker:{collapse:"收起",customColor:"自定义",change:"切换",confirmColor:"确定",cancelColor:"取消"},borderLine:{borderTop:"上框线",borderBottom:"下框线",borderLeft:"左框线",borderRight:"右框线",borderNone:"无",borderAll:"所有",borderOutside:"外侧",borderInside:"内侧",borderHorizontal:"内侧横线",borderVertical:"内侧竖线",borderColor:"边框颜色",borderSize:"边框粗细",borderType:"边框线类型"},merge:{all:"全部合并",vertical:"垂直合并",horizontal:"水平合并",cancel:"取消合并",overlappingError:"不能合并重叠区域",partiallyError:"无法对部分合并单元格执行此操作",confirm:{title:"合并单元格仅保存左上角单元格的值,是否继续?",cancel:"取消合并",confirm:"继续合并",warning:"警告",dismantleMergeCellWarning:"此操作会导致一些合并单元格被拆散,是否继续?"}},filter:{confirm:{error:"出现了一个问题",notAllowedToInsertRange:"要移动这些单元格,请清除该区域的筛选器"}},textWrap:{overflow:"溢出",wrap:"自动换行",clip:"截断"},textRotate:{none:"无旋转",angleUp:"向上倾斜",angleDown:"向下倾斜",vertical:"竖排文字",rotationUp:"向上90°",rotationDown:"向下90°"},sheetConfig:{delete:"删除",copy:"复制",rename:"重命名",changeColor:"更改颜色",hide:"隐藏",unhide:"取消隐藏",moveLeft:"向左移",moveRight:"向右移",resetColor:"重置颜色",cancelText:"取消",chooseText:"确定颜色",tipNameRepeat:"标签页的名称不能重复!请重新修改",noMoreSheet:"工作薄内至少含有一张可视工作表。若需删除选定的工作表,请先插入一张新工作表或显示一张隐藏的工作表。",confirmDelete:"是否删除",redoDelete:"可以通过Ctrl+Z撤销删除",noHide:"不能隐藏, 至少保留一个sheet标签",chartEditNoOpt:"图表编辑模式下不允许该操作!",sheetNameErrorTitle:"错误",sheetNameSpecCharError:"名称不能超过 31 个字符,首尾不能是' 且名称不能包含: [ ] : \\ ? * /",sheetNameCannotIsEmptyError:"名称不能为空。",sheetNameAlreadyExistsError:"工作表已存在,请输入其它名称。",deleteSheet:"删除工作表",deleteSheetContent:"确认删除此工作表?",deleteLargeSheetContent:"确认删除此工作表,删除后将不可找回,确定要删除吗?",addProtectSheet:"保护工作表",removeProtectSheet:"取消保护工作表",changeSheetPermission:"更改工作表权限",viewAllProtectArea:"查看所有保护范围"},rightClick:{copy:"复制",cut:"剪切",paste:"粘贴",copySpecial:"选择性复制",pasteSpecial:"选择性粘贴",pasteValue:"仅粘贴值",pasteFormat:"仅粘贴格式",pasteColWidth:"仅粘贴列宽",pasteBesidesBorder:"仅粘贴边框以外内容",insert:"插入",delete:"删除",insertRow:"插入行",insertRowBefore:"在上方插入行",insertRowsAbove:"在上方插入",insertRowsAfter:"在下方插入",insertRowsAfterSuffix:"行",insertRowsAboveSuffix:"行",insertColumn:"插入列",insertColumnBefore:"在左侧插入列",insertColsLeft:"在左侧插入",insertColsRight:"在右侧插入",insertColsLeftSuffix:"列",insertColsRightSuffix:"列",deleteCell:"删除单元格",insertCell:"插入单元格",deleteSelected:"删除选中",hide:"隐藏",hideSelected:"隐藏选中",showHide:"显示隐藏",toTopAdd:"向上增加",toBottomAdd:"向下增加",toLeftAdd:"向左增加",toRightAdd:"向右增加",deleteSelectedRow:"删除选中行",deleteSelectedColumn:"删除选中列",hideSelectedRow:"隐藏选中行",showHideRow:"显示隐藏行",rowHeight:"行高",hideSelectedColumn:"隐藏选中列",showHideColumn:"显示隐藏列",columnWidth:"列宽",moveLeft:"左移",moveUp:"上移",moveRight:"右移",moveDown:"下移",add:"增加",row:"行",column:"列",confirm:"确认",clearSelection:"清除",clearContent:"清除内容",clearFormat:"清除格式",clearAll:"清除全部",root:"次方根",log:"log",delete0:"删除两端0值",removeDuplicate:"删除重复值",byRow:"按行",byCol:"按列",generateNewMatrix:"生成新矩阵",fitContent:"适合数据",freeze:"冻结",freezeCell:"冻结至活动单元格({0}行{1}列)",freezeCol:"冻结至第 {0} 列",freezeRow:"冻结至第 {0} 行",freezeFirstCol:"冻结首列",freezeFirstRow:"冻结首行",cancelFreeze:"取消冻结",deleteAllRowsAlert:"您无法删除工作表上的所有行",deleteAllColumnsAlert:"您无法删除工作表上的所有列",hideAllRowsAlert:"您无法隐藏工作表上的所有行",hideAllColumnsAlert:"您无法隐藏工作表上的所有列",protectRange:"保护行列",editProtectRange:"设置保护范围",removeProtectRange:"移除保护范围",turnOnProtectRange:"新增保护范围",viewAllProtectArea:"查看所有保护范围",textToNumber:"文本转数字"},info:{tooltip:"提示",error:"错误",notChangeMerge:"不能对合并单元格做部分更改",detailUpdate:"新打开",detailSave:"已恢复本地缓存",row:"行",column:"列",loading:"渲染中···",copy:"副本",return:"返回",rename:"重命名",tips:"重命名",noName:"无标题的电子表格",wait:"待更新",add:"添加",addLast:"在底部添加",backTop:"回到顶部",pageInfo:"共${total}条,${totalPage}页,当前已显示${currentPage}页",nextPage:"下一页",tipInputNumber:"请输入数字",tipInputNumberLimit:"增加范围限制在1-100",tipRowHeightLimit:"行高必须在0 ~ 545之间",tipColumnWidthLimit:"列宽必须在0 ~ 2038之间",pageInfoFull:"共${total}条,${totalPage}页,已显示全部数据",problem:"出现了一个问题",forceStringInfo:"以文本形式存储的数字"},clipboard:{paste:{exceedMaxCells:"粘贴区域超出最大单元格数",overlappingMergedCells:"粘贴区域与合并单元格重叠"},shortCutNotify:{title:"请使用快捷键粘贴",useShortCutInstead:"检测到 Excel 内容,请使用快捷键粘贴"}},statusbar:{sum:"求和",average:"平均值",min:"最小值",max:"最大值",count:"数值计数",countA:"计数",clickToCopy:"点击复制数值",copied:"已复制"},autoFill:{copy:"复制单元格",series:"填充序列",formatOnly:"仅填充格式",noFormat:"不带格式填充"},rangeSelector:{placeholder:"选择范围或输入值",tooltip:"选择范围"},shortcut:{sheet:{"zoom-in":"放大","zoom-out":"缩小","reset-zoom":"恢复缩放","select-below-cell":"选择下方单元格","select-up-cell":"选择上方单元格","select-left-cell":"选择左侧单元格","select-right-cell":"选择右侧单元格","select-next-cell":"选择后一个单元格","select-previous-cell":"选择前一个单元格","select-up-value-cell":"选择上方有值的单元格","select-below-value-cell":"选择下方有值的单元格","select-left-value-cell":"选择左侧有值的单元格","select-right-value-cell":"选择右侧有值的单元格","expand-selection-down":"向下扩展选区","expand-selection-up":"向上扩展选区","expand-selection-left":"向左扩展选区","expand-selection-right":"向右扩展选区","expand-selection-to-left-gap":"向左扩展选区到下一个边界","expand-selection-to-below-gap":"向下扩展选区到下一个边界","expand-selection-to-right-gap":"向右扩展选区到下一个边界","expand-selection-to-up-gap":"向上扩展选区到下一个边界","select-all":"全选","toggle-editing":"开始 / 结束编辑","delete-and-start-editing":"清空并开始编辑","abort-editing":"放弃编辑","break-line":"换行","set-bold":"切换粗体","set-italic":"切换斜体","set-underline":"切换下划线","set-strike-through":"切换删除线","start-editing":"开始编辑(选区切换到编辑器)"}},"sheet-view":"浏览表格","sheet-edit":"编辑表格",definedName:{managerTitle:"名称管理器",managerDescription:"通过选择单元格或公式,并在文本框中输入您想要的名称来创建一个定义名称。",addButton:"新建名称",featureTitle:"定义名称",ratioRange:"范围",ratioFormula:"公式",confirm:"确认",cancel:"取消",scopeWorkbook:"工作簿",inputNamePlaceholder:"请输入名称(必填)",inputCommentPlaceholder:"请输入备注",inputRangePlaceholder:"请输入范围(必填)",inputFormulaPlaceholder:"请输入公式(必填)",nameEmpty:"名称不能为空",nameDuplicate:"名称重复",formulaOrRefStringEmpty:"公式或引用字符串不能为空",formulaOrRefStringInvalid:"公式或引用字符串无效",defaultName:"DefinedName",updateButton:"修改",deleteButton:"删除",deleteConfirmText:"确定删除定义名称?",nameConflict:"与函数名称冲突",nameInvalid:"名称不包含空格或不允许的字符",nameSheetConflict:"名称与工作表名称冲突"},uploadLoading:{loading:"正在上传,当前剩余",error:"加载失败"},permission:{toolbarMenu:"保护",panel:{title:"保护行列",name:"名称",protectedRange:"保护区域",permissionDirection:"权限描述",permissionDirectionPlaceholder:"请输入权限描述",editPermission:"编辑权限",onlyICanEdit:"仅我可以编辑",designedUserCanEdit:"指定用户可以编辑",viewPermission:"查看权限",othersCanView:"其他人可以查看",noOneElseCanView:"其他人不可以查看",designedPerson:"指定人员",addPerson:"添加人员",canEdit:"可编辑",canView:"可查看",delete:"删除",currentSheet:"当前工作表",allSheet:"所有工作表",edit:"编辑",Print:"打印",Comment:"评论",Copy:"复制",SetCellStyle:"设置单元格样式",SetCellValue:"设置单元格值",SetHyperLink:"设置超链接",Sort:"排序",Filter:"筛选",PivotTable:"数据透视表",FloatImage:"浮动图片",RowHeightColWidth:"行高列宽",RowHeightColWidthReadonly:"只读行高列宽",FilterReadonly:"只读筛选",nameError:"名称不能为空",created:"创建",iCanEdit:"我可以编辑",iCanNotEdit:"我不可以编辑",iCanView:"我可以查看",iCanNotView:"我不可以查看",emptyRangeError:"范围不能为空",rangeOverlapError:"范围不能重叠",rangeOverlapOverPermissionError:"范围不能重叠已有权限范围",InsertHyperlink:"插入超链接",SetRowStyle:"设置行样式",SetColumnStyle:"设置列样式",InsertColumn:"插入列",InsertRow:"插入行",DeleteRow:"删除行",DeleteColumn:"删除列",EditExtraObject:"编辑其他对象"},dialog:{allowUserToEdit:"允许用户编辑",allowedPermissionType:"允许权限类型",setCellValue:"设置单元格值",setCellStyle:"设置单元格样式",copy:"复制",alert:"提示",search:"搜索",alertContent:"该范围已被保护,目前无编辑权限。如需编辑,请联系创建者。",userEmpty:"没有指定的人员,分享链接以邀请特定的人。",listEmpty:"你还没有设置任何范围或工作表为受保护状态。",commonErr:"该范围已被保护,目前无该操作权限。如需编辑,请联系创建者。",editErr:"该范围已被保护,目前无编辑权限。如需编辑,请联系创建者。",pasteErr:"该范围已被保护,目前无粘贴权限。如需粘贴,请联系创建者。",setStyleErr:"该范围已被保护,目前无设置样式权限。如需设置样式,请联系创建者。",copyErr:"该范围已被保护,目前无复制权限。如需复制,请联系创建者。",workbookCopyErr:"该工作簿已被保护,目前无复制权限。如需复制,请联系创建者。",setRowColStyleErr:"该范围已被保护,目前无设置行列样式权限。如需设置行列样式,请联系创建者。",moveRowColErr:"该范围已被保护,目前无移动行列权限。如需移动行列,请联系创建者。",moveRangeErr:"该范围已被保护,目前无移动选区权限。如需移动选区,请联系创建者。",autoFillErr:"该范围已被保护,目前无自动填充权限。如需自动填充,请联系创建者。",filterErr:"该范围已被保护,目前无筛选权限。如需筛选,请联系创建者。",operatorSheetErr:"该工作表已被保护,目前无操作工作表权限。如需操作工作表,请联系创建者。",insertOrDeleteMoveRangeErr:"插入、删除区域与保护范围相交,暂不支持此操作。",printErr:"该工作表已被保护,目前无打印权限。如需打印,请联系创建者。",formulaErr:"该范围或者引用范围已被保护,目前无编辑权限。如需编辑,请联系创建者。",hyperLinkErr:"该范围已被保护,目前无设置超链接权限。如需设置超链接,请联系创建者。",commentErr:"该范围已被保护,目前无评论权限。如需评论,请联系创建者。"},button:{confirm:"确认",cancel:"取消",addNewPermission:"添加新权限"}}},{toolbar:{heading:{normal:"正文",title:"标题",subTitle:"副标题",1:"标题1",2:"标题2",3:"标题3",4:"标题4",5:"标题5",6:"标题6",tooltip:"设置标题"}},ribbon:{start:"开始",startDesc:"初始化工作表并设置基本参数。",insert:"插入",insertDesc:"插入行、列、图表和各种其他元素。",formulas:"公式",formulasDesc:"使用函数和公式进行数据计算。",data:"数据",dataDesc:"管理数据,包括导入、排序和筛选。",view:"视图",viewDesc:"切换视图模式并调整显示效果。",others:"其他",othersDesc:"其他功能和设置。",more:"更多"},fontFamily:{"not-supported":"系统中未找到该字体,使用默认字体。",arial:"Arial","times-new-roman":"Times New Roman",tahoma:"Tahoma",verdana:"Verdana","microsoft-yahei":"微软雅黑",simsun:"宋体",simhei:"黑体",kaiti:"楷体",fangsong:"仿宋",nsimsun:"新宋体",stxinwei:"华文新魏",stxingkai:"华文行楷",stliti:"华文隶书"},"shortcut-panel":{title:"快捷键面板"},shortcut:{undo:"撤销",redo:"重做",cut:"剪切",copy:"复制",paste:"粘贴","shortcut-panel":"打开收起快捷键面板"},"common-edit":"常用编辑","toggle-shortcut-panel":"打开收起快捷键面板",clipboard:{authentication:{title:"无法访问剪贴板",content:"请允许 Univer 访问您的剪贴板。"}},textEditor:{formulaError:"请输入合法的公式,例如=SUM(A1)",rangeError:"请输入合法的范围,例如 A1:B10"},rangeSelector:{title:"选择一个数据范围",addAnotherRange:"添加范围",buttonTooltip:"选择数据范围",placeHolder:"框选范围或输入",confirm:"确认",cancel:"取消"},"global-shortcut":"全局快捷键","zoom-slider":{resetTo:"恢复至"}}),X7e=th({"image-popup":{replace:"替换",delete:"删除",edit:"编辑",crop:"裁剪",reset:"重置大小"},"image-cropper":{error:"无法裁剪非图片元素"},"image-panel":{arrange:{title:"排列",forward:"上移一层",backward:"下移一层",front:"置于顶层",back:"置于底层"},transform:{title:"变换",rotate:"旋转 (°)",x:"X (px)",y:"Y (px)",width:"宽度 (px)",height:"高度 (px)",lock:"锁定比例 (%)"},crop:{title:"裁剪",start:"开始裁剪",mode:"自由比例裁剪"},group:{title:"组合",group:"组合",reGroup:"重新组合",unGroup:"取消组合"},align:{title:"对齐方式",default:"选择对齐方式",left:"左对齐",center:"水平居中",right:"右对齐",top:"顶部对齐",middle:"垂直居中",bottom:"底部对齐",horizon:"水平分布",vertical:"垂直分布"},null:"未选中任何对象"},"drawing-view":"绘图",shortcut:{"drawing-move-down":"下移绘图","drawing-move-up":"上移绘图","drawing-move-left":"左移绘图","drawing-move-right":"右移绘图","drawing-delete":"删除绘图"}},{sheetImage:{title:"图片",upload:{float:"浮动图片",cell:"单元格图片"},panel:{title:"编辑图片"},save:{title:"保存单元格图片",menuLabel:"保存单元格图片",imageCount:"图片数量",fileNameConfig:"文件名",useRowCol:"使用单元格地址 (A1, B2...)",useColumnValue:"使用某列的值",selectColumn:"选择列",cancel:"取消",confirm:"保存",saving:"保存中...",error:"保存单元格图片失败"}},"image-popup":{replace:"替换",delete:"删除",edit:"编辑",crop:"裁剪",reset:"重置大小",flipH:"水平翻转",flipV:"垂直翻转"},"drawing-anchor":{title:"锚点属性",both:"与单元格一起移动和调整大小",position:"移动但不调整大小与单元格",none:"不要移动或调整大小与单元格"},"update-status":{exceedMaxSize:"图片大小超过限制, 限制为{0}M",invalidImageType:"图片类型错误",exceedMaxCount:"图片只能一次上传{0}张",invalidImage:"无效图片"},"cell-image":{pasteTitle:"粘贴为单元格图片",pasteContent:"粘贴单元格图片将覆盖单元格中的现有内容,继续粘贴",pasteError:"此单元中不支持单元格图片复制粘贴"}}),q7e=th({"sheets-filter":{toolbar:{"smart-toggle-filter-tooltip":"筛选","clear-filter-criteria":"清除筛选条件","re-calc-filter-conditions":"重新计算"},command:{"not-valid-filter-range":"选中的区域只有一行,无法进行筛选"},shortcut:{"smart-toggle-filter":"切换筛选"},panel:{"clear-filter":"清除筛选",cancel:"取消",confirm:"确认","by-values":"按值","by-colors":"按颜色","filter-by-cell-fill-color":"按单元格填充颜色筛选","filter-by-cell-text-color":"按单元格文本颜色筛选","filter-by-color-none":"该列仅包含一种颜色","by-conditions":"按条件","filter-only":"仅筛选","search-placeholder":"使用空格分隔关键字","select-all":"全选","input-values-placeholder":"请输入",or:"或",and:"和",empty:"(空白)","?":"可用 ? 代表单个字符","*":"可用 * 代表任意多个字符"},conditions:{none:"无",empty:"为空","not-empty":"不为空","text-contains":"文本包含","does-not-contain":"文本不包含","starts-with":"文本开头","ends-with":"文本结尾",equals:"文本相符","greater-than":"大于","greater-than-or-equal":"大于等于","less-than":"小于","less-than-or-equal":"小于等于",equal:"等于","not-equal":"不等于",between:"介于","not-between":"不介于",custom:"自定义"},msg:{"filter-header-forbidden":"无法移动筛选行头"},date:{1:"1月",2:"2月",3:"3月",4:"4月",5:"5月",6:"6月",7:"7月",8:"8月",9:"9月",10:"10月",11:"11月",12:"12月"},sync:{title:"筛选对所有人可见",statusTips:{on:"开启后,所有协作者都将看到此次筛选结果",off:"关闭后,仅你可见此次筛选结果"},switchTips:{on:"已开启“筛选对所有人可见”,所有协作者都将看到此次筛选结果",off:"已关闭“筛选对所有人可见”,仅你可见此次筛选结果"}}}}),G7e=th({sheetsSort:{title:"排序",toolbar:{"sort-asc":"升序","sort-desc":"降序","sort-custom":"自定义排序"},"context-menu":{"sort-asc":"升序","sort-desc":"降序","sort-custom":"自定义排序"}}},{"sheets-sort":{general:{sort:"排序","sort-asc":"升序","sort-desc":"降序","sort-custom":"自定义排序","sort-asc-ext":"拓展区域升序","sort-desc-ext":"拓展区域降序","sort-asc-cur":"当前区域升序","sort-desc-cur":"当前区域降序"},error:{"merge-size":"所选区域的合并单元格的大小不一致,无法排序。",empty:"所选区域无内容,无法排序。",single:"所选区域仅有一行,无法排序。","formula-array":"所选区域含数组公式,无法排序。"},dialog:{"sort-reminder":"排序提醒","sort-reminder-desc":"当前仅会对选中区域进行排序,是否拓展排序范围?","sort-reminder-ext":"拓展排序范围","sort-reminder-no":"保持所选排序范围","first-row-check":"标题不参与排序","add-condition":"添加排序条件",cancel:"取消",confirm:"确认"}}}),Y7e=th({dataValidation:{title:"数据验证",validFail:{value:"请输入一个合法值",common:"请输入值或公式",number:"请输入合法的数字或公式",formula:"请输入合法的公式",integer:"请输入合法的整数或公式",date:"请输入合法的日期或公式",list:"请输入至少一个合法选项",listInvalid:"列表源必须是分隔列表或对单行或列的引用。",checkboxEqual:"为勾选和未勾选的单元格内容输入不同的值。",formulaError:"引用范围内包含不可见的数据,请重新调整范围",listIntersects:"所选范围不能和规则范围相交",primitive:"自定义勾选和未勾选值不允许使用公式。"},panel:{title:"管理数据验证",addTitle:"新建数据验证",removeAll:"全部删除",add:"新建规则",range:"应用范围",rangeError:"请输入合法的应用范围",type:"条件类型",options:"高级设置",operator:"数据",removeRule:"删除规则",done:"确认",formulaPlaceholder:"请输入值或公式",valuePlaceholder:"请输入值",formulaAnd:"与",invalid:"数据无效时",showWarning:"显示警告",rejectInput:"拒绝输入",messageInfo:"文字提示",showInfo:"显示所选单元格的提示文字",allowBlank:"忽略空值"},operators:{between:"介于",greaterThan:"大于",greaterThanOrEqual:"大于或等于",lessThan:"小于",lessThanOrEqual:"小于或等于",equal:"等于",notEqual:"不等于",notBetween:"未介于",legal:"是合法类型"},ruleName:{between:"介于 {FORMULA1} 和 {FORMULA2} 之间",greaterThan:"大于 {FORMULA1}",greaterThanOrEqual:"大于或等于 {FORMULA1}",lessThan:"小于 {FORMULA1}",lessThanOrEqual:"小于或等于 {FORMULA1}",equal:"等于 {FORMULA1}",notEqual:"不等于 {FORMULA1}",notBetween:"在 {FORMULA1} 和 {FORMULA2} 范围之外",legal:"是一个合法的 {TYPE}"},errorMsg:{between:"值必须介于 {FORMULA1} 和 {FORMULA2} 之间",greaterThan:"值必须大于 {FORMULA1}",greaterThanOrEqual:"值必须大于或等于 {FORMULA1}",lessThan:"值必须小于 {FORMULA1}",lessThanOrEqual:"值必须小于或等于 {FORMULA1}",equal:"值必须等于 {FORMULA1}",notEqual:"值必须不等于 {FORMULA1}",notBetween:"值必须在 {FORMULA1} 和 {FORMULA2} 范围之外",legal:"值必须是一个合法的 {TYPE}"},any:{title:"任意值",error:"此单元格的内容违反了验证规则"},date:{title:"日期",operators:{between:"介于",greaterThan:"晚于",greaterThanOrEqual:"晚于或等于",lessThan:"早于",lessThanOrEqual:"早于或等于",equal:"等于",notEqual:"不等于",notBetween:"未介于",legal:"是合法日期"},ruleName:{between:"介于 {FORMULA1} 和 {FORMULA2} 之间",greaterThan:"晚于 {FORMULA1}",greaterThanOrEqual:"晚于或等于 {FORMULA1}",lessThan:"早于 {FORMULA1}",lessThanOrEqual:"早于或等于 {FORMULA1}",equal:"等于 {FORMULA1}",notEqual:"不等于 {FORMULA1}",notBetween:"在 {FORMULA1} 和 {FORMULA2} 范围之外",legal:"是一个合法的日期"},errorMsg:{between:"必须为有效日期且介于 {FORMULA1} 和 {FORMULA2} 之间",greaterThan:"必须为有效日期且晚于 {FORMULA1}",greaterThanOrEqual:"必须为有效日期且晚于或等于 {FORMULA1}",lessThan:"必须为有效日期且早于 {FORMULA1}",lessThanOrEqual:"必须为有效日期且早于或等于 {FORMULA1}",equal:"必须为有效日期且等于 {FORMULA1}",notEqual:"必须为有效日期且不等于 {FORMULA1}",notBetween:"必须为有效日期且在 {FORMULA1} 和 {FORMULA2} 范围之外",legal:"值必须是一个合法的日期"}},list:{title:"下拉菜单",name:"值必须是列表中的值",error:"输入必须在指定的范围内",emptyError:"请输入一个值",add:"添加选项",dropdown:"单选",options:"选项来源",customOptions:"自定义",refOptions:"引用数据",formulaError:"列表源必须是划定分界后的数据列表,或是对单一行或一列的引用。",edit:"编辑"},listMultiple:{title:"下拉菜单-多选",dropdown:"多选"},textLength:{title:"文本长度",errorMsg:{between:"文本长度必须介于 {FORMULA1} 和 {FORMULA2} 之间",greaterThan:"文本长度必须大于 {FORMULA1}",greaterThanOrEqual:"文本长度必须大于或等于 {FORMULA1}",lessThan:"文本长度必须小于 {FORMULA1}",lessThanOrEqual:"文本长度必须小于或等于 {FORMULA1}",equal:"文本长度必须等于 {FORMULA1}",notEqual:"文本长度必须不等于 {FORMULA1}",notBetween:"文本长度必须在 {FORMULA1} 和 {FORMULA2} 范围之外"}},decimal:{title:"数字"},whole:{title:"整数"},checkbox:{title:"复选框",error:"此单元格的内容违反了验证规则",tips:"在单元格内使用自定义值",checked:"选中值",unchecked:"未选中值"},custom:{title:"自定义公式",error:"此单元格的内容违反了验证规则",validFail:"请输入合法的公式",ruleName:"自定义公式 {FORMULA1}"},alert:{title:"提示",ok:"确定"},error:{title:"无效:"},renderMode:{arrow:"箭头",chip:"条状标签",text:"纯文本",label:"显示样式"},showTime:{label:"展示时间选择"}}}),Q7e=th({sheet:{cf:{title:"条件格式",menu:{manageConditionalFormatting:"管理条件格式",createConditionalFormatting:"新建条件格式",clearRangeRules:"清除所选区域的规则",clearWorkSheetRules:"清除整个工作表的规则"},form:{lessThan:"该值必须小于 {0}",lessThanOrEqual:"该值必须小于等于 {0}",greaterThan:"该值必大于 {0}",greaterThanOrEqual:"该值必大于等于 {0}",rangeSelector:"选择范围或者输入值"},iconSet:{direction:"方向",shape:"形状",mark:"标记",rank:"等级",rule:"规则",icon:"图标",type:"类型",value:"值",reverseIconOrder:"反转图标次序",and:"且",when:"当值",onlyShowIcon:"仅显示图标"},symbol:{greaterThan:">",greaterThanOrEqual:">=",lessThan:"<",lessThanOrEqual:"<="},panel:{createRule:"新增规则",clear:"清空所有规则",range:"应用范围",styleType:"样式类型",submit:"确认",cancel:"取消",rankAndAverage:"最前/最后/平均值",styleRule:"样式规则",isNotBottom:"最前",isBottom:"最后",greaterThanAverage:"大于平均值",lessThanAverage:"小于平均值",medianValue:"中间值",fillType:"填充方式",pureColor:"纯色",gradient:"渐变",colorSet:"颜色设置",positive:"正值",native:"负值",workSheet:"整张工作表",selectedRange:"所选单元格",managerRuleSelect:"管理 {0} 的规则",onlyShowDataBar:"仅显示数据条"},preview:{describe:{beginsWith:"开头为{0}",endsWith:"结尾为{0}",containsText:"文本包含{0}",notContainsText:"文本不包含{0}",equal:"等于{0}",notEqual:"不等于{0}",containsBlanks:"为空",notContainsBlanks:"不为空",containsErrors:"错误",notContainsErrors:"非错误",greaterThan:"大于{0}",greaterThanOrEqual:"大于等于{0}",lessThan:"小于{0}",lessThanOrEqual:"小于等于{0}",notBetween:"不介于{0}和{1}之间",between:"介于{0}和{1}之间",yesterday:"昨日",tomorrow:"明日",last7Days:"最近7天",thisMonth:"本月",lastMonth:"上个月",nextMonth:"下个月",thisWeek:"本周",lastWeek:"上周",nextWeek:"下周",today:"今日",topN:"前{0}项",bottomN:"后{0}项",topNPercent:"前{0}%",bottomNPercent:"后{0}%"}},operator:{beginsWith:"开头为",endsWith:"结尾为",containsText:"文本包含",notContainsText:"文本不包含",equal:"等于",notEqual:"不等于",containsBlanks:"为空",notContainsBlanks:"不为空",containsErrors:"错误",notContainsErrors:"非错误",greaterThan:"大于",greaterThanOrEqual:"大于等于",lessThan:"小于",lessThanOrEqual:"小于等于",notBetween:"不介于",between:"介于",yesterday:"昨日",tomorrow:"明日",last7Days:"最近 7 天",thisMonth:"本月",lastMonth:"上个月",nextMonth:"下个月",thisWeek:"本周",lastWeek:"上周",nextWeek:"下周",today:"今日"},ruleType:{highlightCell:"突出显示单元格",dataBar:"数据条",colorScale:"色阶",formula:"自定义公式",iconSet:"图标集",duplicateValues:"重复值",uniqueValues:"唯一值"},subRuleType:{uniqueValues:"唯一值",duplicateValues:"重复值",rank:"最前最后",text:"文本",timePeriod:"时间日期",number:"数值",average:"平均值"},valueType:{num:"数值",min:"最小值",max:"最大值",percent:"百分比",percentile:"百分点",formula:"公式",none:"无"},errorMessage:{notBlank:"条件不能为空",rangeError:"选区错误",formulaError:"公式错误"}}}}),Z7e=th({"find-replace":{toolbar:"查找替换",shortcut:{"open-find-dialog":"打开查找对话框","open-replace-dialog":"打开替换对话框","close-dialog":"关闭查找替换对话框","go-to-next-match":"下一个匹配项","go-to-previous-match":"下一个匹配项","focus-selection":"聚焦选区"},dialog:{title:"查找",find:"查找",replace:"替换","replace-all":"替换全部","find-placeholder":"输入查找内容","advanced-finding":"替换 / 高级查找","replace-placeholder":"输入替换内容","case-sensitive":"匹配大小写","match-the-whole-cell":"匹配整个单元格","find-scope":{title:"查找范围","current-sheet":"当前子表",workbook:"整个工作簿"},"find-direction":{title:"查找顺序",column:"按列查找",row:"按行查找"},"find-by":{title:"查找方式",formula:"查找公式",value:"查找值"},"no-match":"已完成搜索,但是未找到任何匹配项","no-result":"无结果"},replace:{"all-success":"已全部替换 {0} 个匹配项","all-failure":"替换失败",confirm:{title:"确定要替换所有的匹配项吗?"}}},"find-replace-shortcuts":"查找替换"},{"sheet-find-replace":{replace:{"partial-failure":"部分单元格替换失败",failure:"替换失败"}}});var K7e=o(5072),$7e=o.n(K7e),J7e=o(7825),e9e=o.n(J7e),t9e=o(7659),r9e=o.n(t9e),n9e=o(5056),i9e=o.n(n9e),a9e=o(540),o9e=o.n(a9e),s9e=o(1113),l9e=o.n(s9e),u9e=o(5778),c9e={};c9e.styleTagTransform=l9e(),c9e.setAttributes=i9e(),c9e.insert=r9e().bind(null,"head"),c9e.domAPI=e9e(),c9e.insertStyleElement=o9e(),$7e()(u9e.A,c9e),u9e.A&&u9e.A.locals&&u9e.A.locals;var d9e=o(865),h9e={};h9e.styleTagTransform=l9e(),h9e.setAttributes=i9e(),h9e.insert=r9e().bind(null,"head"),h9e.domAPI=e9e(),h9e.insertStyleElement=o9e(),$7e()(d9e.A,h9e),d9e.A&&d9e.A.locals&&d9e.A.locals;var m9e=o(3125),f9e={};f9e.styleTagTransform=l9e(),f9e.setAttributes=i9e(),f9e.insert=r9e().bind(null,"head"),f9e.domAPI=e9e(),f9e.insertStyleElement=o9e(),$7e()(m9e.A,f9e),m9e.A&&m9e.A.locals&&m9e.A.locals;var g9e=o(5477),p9e={};p9e.styleTagTransform=l9e(),p9e.setAttributes=i9e(),p9e.insert=r9e().bind(null,"head"),p9e.domAPI=e9e(),p9e.insertStyleElement=o9e(),$7e()(g9e.A,p9e),g9e.A&&g9e.A.locals&&g9e.A.locals;var v9e=o(6714),b9e={};b9e.styleTagTransform=l9e(),b9e.setAttributes=i9e(),b9e.insert=r9e().bind(null,"head"),b9e.domAPI=e9e(),b9e.insertStyleElement=o9e(),$7e()(v9e.A,b9e),v9e.A&&v9e.A.locals&&v9e.A.locals;var C9e=o(2937),y9e={};y9e.styleTagTransform=l9e(),y9e.setAttributes=i9e(),y9e.insert=r9e().bind(null,"head"),y9e.domAPI=e9e(),y9e.insertStyleElement=o9e(),$7e()(C9e.A,y9e),C9e.A&&C9e.A.locals&&C9e.A.locals,window.React=wq,window.ReactDOM=G$,window.ReactDOMClient=R7,window.CloudSheetsUniverAdapter={create:e=>{const t=e.container,{univerAPI:r}=(e.theme,function(e){const{presets:t,plugins:r,collaboration:n,override:i=[],...a}=e;n&&(i.push([Pg,null]),i.push([vf,null]),i.push([_g,null]));const o=new ep({logLevel:Lc.WARN,...a,override:i}),s=new Map;null==t||t.forEach(e=>{const t=Array.isArray(e)?e[0]:e,{plugins:r}=t;r.forEach(e=>{const[t,r]=Array.isArray(e)?[e[0],e[1]]:[e];s.has(t.pluginName)&&s.delete(t.pluginName),s.set(t.pluginName,{plugin:t,options:r})})}),null==r||r.forEach(e=>{const[t,r]=Array.isArray(e)?[e[0],e[1]]:[e];if(s.has(t.pluginName))throw new Error(`Plugin ${t.pluginName} already registered by presets or other ways! Repeated registration may cause potential problems, please check your code.`);s.set(t.pluginName,{plugin:t,options:r})}),s.forEach(({plugin:e,options:t})=>{o.registerPlugin(e,t)});const l=yp.newAPI(o);return{univer:o,univerAPI:l}}({locale:Iu.ZH_CN,locales:{[Iu.ZH_CN]:{...z7e,...X7e,...q7e,...G7e,...Y7e,...Q7e,...Z7e}},theme:ll,presets:[Uqe({container:t,header:!0,footer:!0,workerURL:"/tools/cloud_sheets/vendor/univer/univer.worker.js"}),sZe(),h$e(),{plugins:[N$e,xJe].filter(e=>!!e)},U2e(),{plugins:[J3e,C4e].filter(e=>!!e)},{plugins:[[y7e],[V7e]].filter(e=>!!e)}]}));let n=null;const i=e=>({id:"workbook-main",sheetOrder:["sheet-1"],name:"云表格",appVersion:"1.0.0",locale:"zhCN",styles:{},sheets:{"sheet-1":{id:"sheet-1",name:"Sheet1",tabColor:"",hidden:0,rowCount:1e3,columnCount:30,zoomRatio:1,defaultColumnWidth:80,defaultRowHeight:24,cellData:{}}},...e}),a=e=>{const t=i(e);if(t.id=`workbook-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,n&&"function"==typeof n.getId)try{r.disposeUnit(n.getId())}catch{}return n=r.createWorkbook(t),n};a(i({}));try{r&&"function"==typeof r.mount&&r.mount(t)}catch(e){console.error("挂载 Univer 失败",e)}return window.univerAPI=r,{setWorkbookJSON:e=>{const t=(e=>{try{return"string"==typeof e?JSON.parse(e||"{}"):e&&"object"==typeof e?e:{}}catch{return{}}})(e);a(t)},commitPendingChanges:async()=>{try{const e=r.getActiveWorkbook()||n;if(!e)return{ok:!1,reason:"no_active_workbook"};let t=!1;if("function"==typeof e.isCellEditing&&(t=e.isCellEditing()),t)try{if("function"==typeof e.endEditing)e.endEditing();else if("function"==typeof e.endEditingAsync)await e.endEditingAsync(!0);else{const e=document.activeElement;e&&"function"==typeof e.blur&&e.blur();const t=new KeyboardEvent("keydown",{key:"Enter",code:"Enter",keyCode:13,which:13,bubbles:!0});e&&e.dispatchEvent(t)}}catch(e){}return{ok:!0,isCellEditingBefore:t}}catch(e){return console.error("[UniverAdapter] commitPendingChanges error",e),{ok:!1,reason:e&&e.message?e.message:String(e||"unknown_error")}}},getWorkbookJSON:()=>{try{const e=r.getActiveWorkbook()||n;if(e&&"function"==typeof e.save){const t="function"==typeof e.getWorkbook?e.getWorkbook():null;let r=null;t&&"function"==typeof t.save&&(r=t.save()),r&&0!==Object.keys(r).length||"function"!=typeof e.save||(r=e.save()),r&&0!==Object.keys(r).length||!t||"function"!=typeof t.getSnapshot||(r=t.getSnapshot()),r&&0!==Object.keys(r).length||!t||"function"!=typeof t.getConfig||(r=t.getConfig()),r&&0!==Object.keys(r).length||"function"!=typeof e.getSnapshot||(r=e.getSnapshot());try{const n=r.sheets&&r.sheets["sheet-1"],i=n&&n.cellData,a=i&&i[0]&&i[0][0];console.log("[UniverAdapter] Sample cell 0,0:",a),console.log("[UniverAdapter] Workbook name:",t&&t.getName?t.getName():e.getName?e.getName():"")}catch(e){}return(e=>{try{return JSON.stringify(e)}catch(t){console.error("[UniverAdapter] stringifyWorkbook error",t);const r=(e,t=new WeakSet)=>{if(null===e||"object"!=typeof e)return e;if(t.has(e))return;if(t.add(e),Array.isArray(e)){const n=[];for(let i=0;i{try{n&&"function"==typeof n.getId&&r.disposeUnit(n.getId())}catch{}try{r&&"function"==typeof r.dispose&&r.dispose()}catch{}}}}}})()})(); \ No newline at end of file diff --git a/public/tools/cloud_sheets/vendor/univer/styles.entry.css b/public/tools/cloud_sheets/vendor/univer/styles.entry.css new file mode 100644 index 0000000..914fe57 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/styles.entry.css @@ -0,0 +1,16 @@ +@import "@univerjs/design/lib/index.css"; +@import "@univerjs/ui/lib/index.css"; +@import "@univerjs/docs-ui/lib/index.css"; +@import "@univerjs/sheets-ui/lib/index.css"; +@import "@univerjs/sheets-formula-ui/lib/index.css"; +@import "@univerjs/sheets-numfmt-ui/lib/index.css"; +@import "@univerjs/drawing-ui/lib/index.css"; +@import "@univerjs/sheets-drawing-ui/lib/index.css"; +@import "@univerjs/sheets-filter-ui/lib/index.css"; +@import "@univerjs/sheets-hyper-link-ui/lib/index.css"; +@import "@univerjs/sheets-data-validation-ui/lib/index.css"; +@import "@univerjs/find-replace/lib/index.css"; +@import "@univerjs/sheets-conditional-formatting-ui/lib/index.css"; +@import "@univerjs/sheets-table-ui/lib/index.css"; +@import "@univerjs/sheets-note-ui/lib/index.css"; +@import "@univerjs/sheets-sort-ui/lib/index.css"; diff --git a/public/tools/cloud_sheets/vendor/univer/univer.css b/public/tools/cloud_sheets/vendor/univer/univer.css new file mode 100644 index 0000000..f083b21 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/univer.css @@ -0,0 +1,7203 @@ +/* node_modules/@univerjs/design/lib/index.css */ +*, +:before, +:after, +::backdrop { + --univer-tw-border-spacing-x: 0; + --univer-tw-border-spacing-y: 0; + --univer-tw-translate-x: 0; + --univer-tw-translate-y: 0; + --univer-tw-rotate: 0; + --univer-tw-skew-x: 0; + --univer-tw-skew-y: 0; + --univer-tw-scale-x: 1; + --univer-tw-scale-y: 1; + --univer-tw-pan-x: ; + --univer-tw-pan-y: ; + --univer-tw-pinch-zoom: ; + --univer-tw-scroll-snap-strictness: proximity; + --univer-tw-gradient-from-position: ; + --univer-tw-gradient-via-position: ; + --univer-tw-gradient-to-position: ; + --univer-tw-ordinal: ; + --univer-tw-slashed-zero: ; + --univer-tw-numeric-figure: ; + --univer-tw-numeric-spacing: ; + --univer-tw-numeric-fraction: ; + --univer-tw-ring-inset: ; + --univer-tw-ring-offset-width: 0px; + --univer-tw-ring-offset-color: #fff; + --univer-tw-ring-color: #93c5fd80; + --univer-tw-ring-offset-shadow: 0 0 #0000; + --univer-tw-ring-shadow: 0 0 #0000; + --univer-tw-shadow: 0 0 #0000; + --univer-tw-shadow-colored: 0 0 #0000; + --univer-tw-blur: ; + --univer-tw-brightness: ; + --univer-tw-contrast: ; + --univer-tw-grayscale: ; + --univer-tw-hue-rotate: ; + --univer-tw-invert: ; + --univer-tw-saturate: ; + --univer-tw-sepia: ; + --univer-tw-drop-shadow: ; + --univer-tw-backdrop-blur: ; + --univer-tw-backdrop-brightness: ; + --univer-tw-backdrop-contrast: ; + --univer-tw-backdrop-grayscale: ; + --univer-tw-backdrop-hue-rotate: ; + --univer-tw-backdrop-invert: ; + --univer-tw-backdrop-opacity: ; + --univer-tw-backdrop-saturate: ; + --univer-tw-backdrop-sepia: ; + --univer-tw-contain-size: ; + --univer-tw-contain-layout: ; + --univer-tw-contain-paint: ; + --univer-tw-contain-style: ; +} +* { + scrollbar-color: initial; + scrollbar-width: initial; +} +.univer-sr-only { + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + position: absolute; + overflow: hidden; +} +.univer-pointer-events-none { + pointer-events: none; +} +.univer-pointer-events-auto { + pointer-events: auto; +} +.univer-fixed { + position: fixed; +} +.univer-absolute { + position: absolute; +} +.univer-relative { + position: relative; +} +.univer-inset-0 { + top: 0; + bottom: 0; + left: 0; + right: 0; +} +.univer-inset-x-0 { + left: 0; + right: 0; +} +.univer-bottom-0 { + bottom: 0; +} +.univer-bottom-0\.5 { + bottom: .125rem; +} +.univer-bottom-6 { + bottom: 1.5rem; +} +.univer-left-0 { + left: 0; +} +.univer-left-0\.5 { + left: .125rem; +} +.univer-left-1\.5 { + left: .375rem; +} +.univer-left-1\/2 { + left: 50%; +} +.univer-left-2 { + left: .5rem; +} +.univer-left-\[-16px\] { + left: -16px; +} +.univer-right-0 { + right: 0; +} +.univer-right-2 { + right: .5rem; +} +.univer-right-4 { + right: 1rem; +} +.univer-right-px { + right: 1px; +} +.univer-top-0 { + top: 0; +} +.univer-top-1\/2 { + top: 50%; +} +.univer-top-4 { + top: 1rem; +} +.univer-top-px { + top: 1px; +} +.univer-z-0 { + z-index: 0; +} +.univer-z-10 { + z-index: 10; +} +.univer-z-\[1080\] { + z-index: 1080; +} +.univer-z-\[1081\] { + z-index: 1081; +} +.univer-m-0 { + margin: 0; +} +.-univer-mx-1 { + margin-left: -.25rem; + margin-right: -.25rem; +} +.univer-mx-1 { + margin-left: .25rem; + margin-right: .25rem; +} +.univer-mx-auto { + margin-left: auto; + margin-right: auto; +} +.univer-my-0 { + margin-top: 0; + margin-bottom: 0; +} +.univer-my-1 { + margin-top: .25rem; + margin-bottom: .25rem; +} +.univer-mb-0 { + margin-bottom: 0; +} +.univer-mb-1 { + margin-bottom: .25rem; +} +.univer-mb-2 { + margin-bottom: .5rem; +} +.univer-mb-3 { + margin-bottom: .75rem; +} +.univer-mb-4 { + margin-bottom: 1rem; +} +.univer-ml-1 { + margin-left: .25rem; +} +.univer-ml-auto { + margin-left: auto; +} +.univer-mt-1 { + margin-top: .25rem; +} +.univer-mt-2 { + margin-top: .5rem; +} +.univer-mt-4 { + margin-top: 1rem; +} +.univer-mt-6 { + margin-top: 1.5rem; +} +.univer-box-border { + box-sizing: border-box; +} +.univer-block { + display: block; +} +.univer-inline-block { + display: inline-block; +} +.univer-flex { + display: flex; +} +.univer-inline-flex { + display: inline-flex; +} +.univer-grid { + display: grid; +} +.\!univer-hidden { + display: none !important; +} +.univer-hidden { + display: none; +} +.univer-size-0 { + width: 0; + height: 0; +} +.univer-size-2 { + width: .5rem; + height: .5rem; +} +.univer-size-2\.5 { + width: .625rem; + height: .625rem; +} +.univer-size-3 { + width: .75rem; + height: .75rem; +} +.univer-size-3\.5 { + width: .875rem; + height: .875rem; +} +.univer-size-4 { + width: 1rem; + height: 1rem; +} +.univer-size-5 { + width: 1.25rem; + height: 1.25rem; +} +.univer-size-6 { + width: 1.5rem; + height: 1.5rem; +} +.univer-size-7 { + width: 1.75rem; + height: 1.75rem; +} +.univer-size-9 { + width: 2.25rem; + height: 2.25rem; +} +.univer-size-full { + width: 100%; + height: 100%; +} +.univer-h-0\.5 { + height: .125rem; +} +.univer-h-1\/2 { + height: 50%; +} +.univer-h-10 { + height: 2.5rem; +} +.univer-h-12 { + height: 3rem; +} +.univer-h-2 { + height: .5rem; +} +.univer-h-32 { + height: 8rem; +} +.univer-h-4 { + height: 1rem; +} +.univer-h-48 { + height: 12rem; +} +.univer-h-6 { + height: 1.5rem; +} +.univer-h-7 { + height: 1.75rem; +} +.univer-h-8 { + height: 2rem; +} +.univer-h-\[150px\] { + height: 150px; +} +.univer-h-\[calc\(100\%-2px\)\] { + height: calc(100% - 2px); +} +.univer-h-full { + height: 100%; +} +.univer-h-px { + height: 1px; +} +.univer-max-h-0 { + max-height: 0; +} +.univer-max-h-80 { + max-height: 20rem; +} +.univer-max-h-\[--radix-popper-available-height\] { + max-height: var(--radix-popper-available-height); +} +.univer-max-h-\[40vh\] { + max-height: 40vh; +} +.univer-max-h-full { + max-height: 100%; +} +.univer-max-h-screen { + max-height: 100vh; +} +.univer-min-h-0 { + min-height: 0; +} +.univer-min-h-3\.5 { + min-height: .875rem; +} +.univer-min-h-\[520px\] { + min-height: 520px; +} +.\!univer-w-fit { + width: fit-content !important; +} +.univer-w-2\.5 { + width: .625rem; +} +.univer-w-5 { + width: 1.25rem; +} +.univer-w-64 { + width: 16rem; +} +.univer-w-7 { + width: 1.75rem; +} +.univer-w-72 { + width: 18rem; +} +.univer-w-80 { + width: 20rem; +} +.univer-w-96 { + width: 24rem; +} +.univer-w-\[--radix-popper-anchor-width\] { + width: var(--radix-popper-anchor-width); +} +.univer-w-\[calc\(100\%-16px\)\] { + width: calc(100% - 16px); +} +.univer-w-fit { + width: fit-content; +} +.univer-w-full { + width: 100%; +} +.univer-min-w-36 { + min-width: 9rem; +} +.univer-min-w-\[320px\] { + min-width: 320px; +} +.univer-max-w-2xl { + max-width: 42rem; +} +.univer-max-w-32 { + max-width: 8rem; +} +.univer-max-w-5xl { + max-width: 64rem; +} +.univer-max-w-\[520px\] { + max-width: 520px; +} +.univer-max-w-\[60vw\] { + max-width: 60vw; +} +.univer-max-w-full { + max-width: 100%; +} +.univer-max-w-lg { + max-width: 32rem; +} +.univer-max-w-sm { + max-width: 24rem; +} +.univer-max-w-xs { + max-width: 20rem; +} +.univer-flex-1 { + flex: 1; +} +.univer-flex-shrink-0 { + flex-shrink: 0; +} +.univer-shrink { + flex-shrink: 1; +} +.univer-shrink-0 { + flex-shrink: 0; +} +.univer-origin-\[--radix-hover-card-content-transform-origin\] { + transform-origin: var(--radix-hover-card-content-transform-origin); +} +.-univer-translate-x-1\/2 { + --univer-tw-translate-x: -50%; + transform: translate(-50%, var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.-univer-translate-y-1\/2, +.univer--translate-y-1\/2 { + --univer-tw-translate-y: -50%; + transform: translate(var(--univer-tw-translate-x), -50%) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.univer-translate-x-3 { + --univer-tw-translate-x: .75rem; + transform: translate(.75rem, var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.-univer-rotate-90 { + --univer-tw-rotate: -90deg; + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(-90deg) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.univer-rotate-0 { + --univer-tw-rotate: 0deg; + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(0deg) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.univer-rotate-180 { + --univer-tw-rotate: 180deg; + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(180deg) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.univer-rotate-45 { + --univer-tw-rotate: 45deg; + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(45deg) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.univer-rotate-\[-90deg\] { + --univer-tw-rotate: -90deg; + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(-90deg) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.\!univer-animate-none { + animation: none !important; +} +@keyframes univer-spin { + to { + transform: rotate(360deg); + } +} +.univer-animate-spin { + animation: 1s linear infinite univer-spin; +} +.univer-cursor-crosshair { + cursor: crosshair; +} +.univer-cursor-default { + cursor: default; +} +.univer-cursor-grabbing { + cursor: grabbing; +} +.univer-cursor-not-allowed { + cursor: not-allowed; +} +.univer-cursor-pointer { + cursor: pointer; +} +.univer-select-none { + user-select: none; +} +.univer-resize { + resize: both; +} +.univer-list-none { + list-style-type: none; +} +.univer-appearance-none { + -webkit-appearance: none; + appearance: none; +} +.univer-grid-flow-row { + grid-auto-flow: row; +} +.univer-grid-flow-col { + grid-auto-flow: column; +} +.univer-grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); +} +.univer-grid-cols-7 { + grid-template-columns: repeat(7, minmax(0, 1fr)); +} +.univer-flex-col { + flex-direction: column; +} +.univer-flex-col-reverse { + flex-direction: column-reverse; +} +.univer-flex-wrap { + flex-wrap: wrap; +} +.univer-content-center { + align-content: center; +} +.univer-items-end { + align-items: flex-end; +} +.univer-items-center { + align-items: center; +} +.univer-justify-end { + justify-content: flex-end; +} +.univer-justify-center { + justify-content: center; +} +.univer-justify-between { + justify-content: space-between; +} +.univer-gap-0\.5 { + gap: .125rem; +} +.univer-gap-1 { + gap: .25rem; +} +.univer-gap-1\.5 { + gap: .375rem; +} +.univer-gap-2 { + gap: .5rem; +} +.univer-gap-2\.5 { + gap: .625rem; +} +.univer-gap-3 { + gap: .75rem; +} +.univer-gap-4 { + gap: 1rem; +} +.univer-space-y-1\.5 > :not([hidden]) ~ :not([hidden]) { + --univer-tw-space-y-reverse: 0; + margin-top: .375rem; + margin-top: calc(.375rem * (1 - var(--univer-tw-space-y-reverse))); + margin-top: .375rem; + margin-top: calc(.375rem * calc(1 - var(--univer-tw-space-y-reverse))); + margin-bottom: 0; + margin-bottom: calc(.375rem * var(--univer-tw-space-y-reverse)); +} +.univer-space-y-2 > :not([hidden]) ~ :not([hidden]) { + --univer-tw-space-y-reverse: 0; + margin-top: .5rem; + margin-top: calc(.5rem * (1 - var(--univer-tw-space-y-reverse))); + margin-top: .5rem; + margin-top: calc(.5rem * calc(1 - var(--univer-tw-space-y-reverse))); + margin-bottom: 0; + margin-bottom: calc(.5rem * var(--univer-tw-space-y-reverse)); +} +.univer-divide-x > :not([hidden]) ~ :not([hidden]) { + --univer-tw-divide-x-reverse: 0; + border-right-width: 0; + border-right-width: calc(1px * var(--univer-tw-divide-x-reverse)); + border-left-width: 1px; + border-left-width: calc(1px * (1 - var(--univer-tw-divide-x-reverse))); + border-left-width: 1px; + border-left-width: calc(1px * calc(1 - var(--univer-tw-divide-x-reverse))); +} +.univer-divide-x-0 > :not([hidden]) ~ :not([hidden]) { + --univer-tw-divide-x-reverse: 0; + border-right-width: 0; + border-right-width: calc(0px * var(--univer-tw-divide-x-reverse)); + border-left-width: 0; + border-left-width: calc(0px * (1 - var(--univer-tw-divide-x-reverse))); + border-left-width: 0; + border-left-width: calc(0px * calc(1 - var(--univer-tw-divide-x-reverse))); +} +.univer-divide-y > :not([hidden]) ~ :not([hidden]) { + --univer-tw-divide-y-reverse: 0; + border-top-width: 1px; + border-top-width: calc(1px * (1 - var(--univer-tw-divide-y-reverse))); + border-top-width: 1px; + border-top-width: calc(1px * calc(1 - var(--univer-tw-divide-y-reverse))); + border-bottom-width: 0; + border-bottom-width: calc(1px * var(--univer-tw-divide-y-reverse)); +} +.univer-divide-y-0 > :not([hidden]) ~ :not([hidden]) { + --univer-tw-divide-y-reverse: 0; + border-top-width: 0; + border-top-width: calc(0px * (1 - var(--univer-tw-divide-y-reverse))); + border-top-width: 0; + border-top-width: calc(0px * calc(1 - var(--univer-tw-divide-y-reverse))); + border-bottom-width: 0; + border-bottom-width: calc(0px * var(--univer-tw-divide-y-reverse)); +} +.univer-divide-solid > :not([hidden]) ~ :not([hidden]) { + border-style: solid; +} +.univer-divide-gray-200 > :not([hidden]) ~ :not([hidden]) { + border-color: var(--univer-gray-200); +} +.univer-overflow-auto { + overflow: auto; +} +.univer-overflow-hidden { + overflow: hidden; +} +.univer-overflow-y-auto { + overflow-y: auto; +} +.univer-truncate { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} +.univer-text-ellipsis { + text-overflow: ellipsis; +} +.univer-whitespace-nowrap { + white-space: nowrap; +} +.univer-text-balance { + text-wrap: balance; +} +.univer-break-words { + word-wrap: break-word; +} +.univer-rounded { + border-radius: .25rem; +} +.univer-rounded-2xl { + border-radius: 1rem; +} +.univer-rounded-3xl { + border-radius: 1.5rem; +} +.univer-rounded-full { + border-radius: 9999px; +} +.univer-rounded-lg { + border-radius: .5rem; +} +.univer-rounded-md { + border-radius: .375rem; +} +.univer-rounded-sm { + border-radius: .125rem; +} +.\!univer-rounded-b-none { + border-bottom-right-radius: 0 !important; + border-bottom-left-radius: 0 !important; +} +.\!univer-rounded-l-none { + border-top-left-radius: 0 !important; + border-bottom-left-radius: 0 !important; +} +.\!univer-rounded-r-none { + border-top-right-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} +.\!univer-rounded-t-none { + border-top-left-radius: 0 !important; + border-top-right-radius: 0 !important; +} +.univer-rounded-r-md { + border-top-right-radius: .375rem; + border-bottom-right-radius: .375rem; +} +.univer-border { + border-width: 1px; +} +.univer-border-2 { + border-width: 2px; +} +.\!univer-border-l-0 { + border-left-width: 0 !important; +} +.\!univer-border-t-0 { + border-top-width: 0 !important; +} +.univer-border-b { + border-bottom-width: 1px; +} +.univer-border-b-0 { + border-bottom-width: 0; +} +.univer-border-l { + border-left-width: 1px; +} +.univer-border-l-0 { + border-left-width: 0; +} +.univer-border-r { + border-right-width: 1px; +} +.univer-border-r-0 { + border-right-width: 0; +} +.univer-border-t { + border-top-width: 1px; +} +.univer-border-t-0 { + border-top-width: 0; +} +.univer-border-solid { + border-style: solid; +} +.univer-border-dashed { + border-style: dashed; +} +.univer-border-none { + border-style: none; +} +.\!univer-border-gray-200 { + border-color: var(--univer-gray-200) !important; +} +.univer-border-gray-100 { + border-color: var(--univer-gray-100); +} +.univer-border-gray-200 { + border-color: var(--univer-gray-200); +} +.univer-border-gray-300 { + border-color: var(--univer-gray-300); +} +.univer-border-primary-200 { + border-color: var(--univer-primary-200); +} +.univer-border-primary-300 { + border-color: var(--univer-primary-300); +} +.univer-border-primary-600 { + border-color: var(--univer-primary-600); +} +.univer-border-red-500 { + border-color: var(--univer-red-500); +} +.univer-border-transparent { + border-color: #0000; +} +.univer-border-white { + border-color: var(--univer-white); +} +.\!univer-bg-gray-500 { + background-color: var(--univer-gray-500) !important; +} +.\!univer-bg-gray-600 { + background-color: var(--univer-gray-600) !important; +} +.\!univer-bg-primary-600 { + background-color: var(--univer-primary-600) !important; +} +.univer-bg-\[rgba\(0\,0\,0\,0\.8\)\] { + background-color: #000c; +} +.univer-bg-gray-100 { + background-color: var(--univer-gray-100); +} +.univer-bg-gray-200 { + background-color: var(--univer-gray-200); +} +.univer-bg-gray-300 { + background-color: var(--univer-gray-300); +} +.univer-bg-gray-50 { + background-color: var(--univer-gray-50); +} +.univer-bg-gray-700 { + background-color: var(--univer-gray-700); +} +.univer-bg-gray-800 { + background-color: var(--univer-gray-800); +} +.univer-bg-gray-900 { + background-color: var(--univer-gray-900); +} +.univer-bg-primary-500 { + background-color: var(--univer-primary-500); +} +.univer-bg-primary-600 { + background-color: var(--univer-primary-600); +} +.univer-bg-red-500 { + background-color: var(--univer-red-500); +} +.univer-bg-sky-100\/70 { + background-color: #e0f2feb3; +} +.univer-bg-slate-100\/80 { + background-color: #f1f5f9cc; +} +.univer-bg-slate-900\/90 { + background-color: #0f172ae6; +} +.univer-bg-transparent { + background-color: #0000; +} +.univer-bg-white { + background-color: var(--univer-white); +} +.univer-bg-gradient-to-br { + background-image: linear-gradient(to bottom right, var(--univer-tw-gradient-stops)); +} +.univer-from-slate-100 { + --univer-tw-gradient-from: #f1f5f9 var(--univer-tw-gradient-from-position); + --univer-tw-gradient-to: #f1f5f900 var(--univer-tw-gradient-to-position); + --univer-tw-gradient-stops: var(--univer-tw-gradient-from), var(--univer-tw-gradient-to); +} +.univer-via-cyan-50 { + --univer-tw-gradient-to: #ecfeff00 var(--univer-tw-gradient-to-position); + --univer-tw-gradient-stops: + var(--univer-tw-gradient-from), + #ecfeff var(--univer-tw-gradient-via-position), + var(--univer-tw-gradient-to); +} +.univer-to-blue-100 { + --univer-tw-gradient-to: var(--univer-blue-100) var(--univer-tw-gradient-to-position); +} +.univer-fill-current { + fill: currentColor; +} +.\!univer-p-2\.5 { + padding: .625rem !important; +} +.univer-p-0 { + padding: 0; +} +.univer-p-1 { + padding: .25rem; +} +.univer-p-1\.5 { + padding: .375rem; +} +.univer-p-2 { + padding: .5rem; +} +.univer-p-4 { + padding: 1rem; +} +.univer-p-6 { + padding: 1.5rem; +} +.univer-p-8 { + padding: 2rem; +} +.univer-px-1 { + padding-left: .25rem; + padding-right: .25rem; +} +.univer-px-1\.5 { + padding-left: .375rem; + padding-right: .375rem; +} +.univer-px-2 { + padding-left: .5rem; + padding-right: .5rem; +} +.univer-px-2\.5 { + padding-left: .625rem; + padding-right: .625rem; +} +.univer-px-3 { + padding-left: .75rem; + padding-right: .75rem; +} +.univer-px-3\.5 { + padding-left: .875rem; + padding-right: .875rem; +} +.univer-px-4 { + padding-left: 1rem; + padding-right: 1rem; +} +.univer-px-6 { + padding-left: 1.5rem; + padding-right: 1.5rem; +} +.univer-px-7 { + padding-left: 1.75rem; + padding-right: 1.75rem; +} +.univer-py-0\.5 { + padding-top: .125rem; + padding-bottom: .125rem; +} +.univer-py-1 { + padding-top: .25rem; + padding-bottom: .25rem; +} +.univer-py-1\.5 { + padding-top: .375rem; + padding-bottom: .375rem; +} +.univer-py-2 { + padding-top: .5rem; + padding-bottom: .5rem; +} +.univer-py-3 { + padding-top: .75rem; + padding-bottom: .75rem; +} +.\!univer-pl-4 { + padding-left: 1rem !important; +} +.univer-pl-2 { + padding-left: .5rem; +} +.univer-pl-6 { + padding-left: 1.5rem; +} +.univer-pl-8 { + padding-left: 2rem; +} +.univer-pr-2 { + padding-right: .5rem; +} +.univer-pr-32 { + padding-right: 8rem; +} +.univer-pr-8 { + padding-right: 2rem; +} +.univer-pt-4 { + padding-top: 1rem; +} +.univer-text-left { + text-align: left; +} +.univer-text-center { + text-align: center; +} +.univer-align-middle { + vertical-align: middle; +} +.univer-font-mono { + font-family: + ui-monospace, + SFMono-Regular, + Menlo, + Monaco, + Consolas, + Liberation Mono, + Courier New, + monospace; +} +.univer-font-sans { + font-family: + ui-sans-serif, + system-ui, + -apple-system, + Segoe UI, + Roboto, + Ubuntu, + Cantarell, + Noto Sans, + sans-serif, + Apple Color Emoji, + Segoe UI Emoji, + Segoe UI Symbol, + Noto Color Emoji; +} +.univer-text-2xl { + font-size: 1.5rem; + line-height: 2rem; +} +.univer-text-\[13px\] { + font-size: 13px; +} +.univer-text-\[8px\] { + font-size: 8px; +} +.univer-text-base { + font-size: 1rem; + line-height: 1.5rem; +} +.univer-text-lg { + font-size: 1.125rem; + line-height: 1.75rem; +} +.univer-text-sm { + font-size: .875rem; + line-height: 1.25rem; +} +.univer-text-sm\/8 { + font-size: .875rem; + line-height: 2rem; +} +.univer-text-xs { + font-size: .75rem; + line-height: 1rem; +} +.univer-text-xs\/6 { + font-size: .75rem; + line-height: 1.5rem; +} +.univer-font-bold { + font-weight: 700; +} +.univer-font-medium { + font-weight: 500; +} +.univer-font-semibold { + font-weight: 600; +} +.univer-uppercase { + text-transform: uppercase; +} +.univer-leading-5 { + line-height: 1.25rem; +} +.univer-leading-6 { + line-height: 1.5rem; +} +.univer-leading-7 { + line-height: 1.75rem; +} +.univer-leading-9 { + line-height: 2.25rem; +} +.univer-leading-none { + line-height: 1; +} +.univer-leading-normal { + line-height: 1.5; +} +.univer-tracking-tight { + letter-spacing: -.025em; +} +.univer-tracking-wide { + letter-spacing: .025em; +} +.univer-tracking-widest { + letter-spacing: .1em; +} +.\!univer-text-gray-400 { + color: var(--univer-gray-400) !important; +} +.\!univer-text-primary-500 { + color: var(--univer-primary-500) !important; +} +.\!univer-text-white { + color: var(--univer-white) !important; +} +.univer-text-amber-500 { + --univer-tw-text-opacity: 1; + color: rgba(245, 158, 11, var(--univer-tw-text-opacity, 1)); +} +.univer-text-current { + color: currentColor; +} +.univer-text-cyan-700 { + --univer-tw-text-opacity: 1; + color: rgba(14, 116, 144, var(--univer-tw-text-opacity, 1)); +} +.univer-text-gray-400 { + color: var(--univer-gray-400); +} +.univer-text-gray-500 { + color: var(--univer-gray-500); +} +.univer-text-gray-600 { + color: var(--univer-gray-600); +} +.univer-text-gray-700 { + color: var(--univer-gray-700); +} +.univer-text-gray-800 { + color: var(--univer-gray-800); +} +.univer-text-gray-900 { + color: var(--univer-gray-900); +} +.univer-text-green-500 { + color: var(--univer-green-500); +} +.univer-text-primary-500 { + color: var(--univer-primary-500); +} +.univer-text-primary-600 { + color: var(--univer-primary-600); +} +.univer-text-red-500 { + color: var(--univer-red-500); +} +.univer-text-sky-500 { + --univer-tw-text-opacity: 1; + color: rgba(14, 165, 233, var(--univer-tw-text-opacity, 1)); +} +.univer-text-sky-700 { + --univer-tw-text-opacity: 1; + color: rgba(3, 105, 161, var(--univer-tw-text-opacity, 1)); +} +.univer-text-sky-900 { + --univer-tw-text-opacity: 1; + color: rgba(12, 74, 110, var(--univer-tw-text-opacity, 1)); +} +.univer-text-slate-500 { + --univer-tw-text-opacity: 1; + color: rgba(100, 116, 139, var(--univer-tw-text-opacity, 1)); +} +.univer-text-slate-600 { + --univer-tw-text-opacity: 1; + color: rgba(71, 85, 105, var(--univer-tw-text-opacity, 1)); +} +.univer-text-slate-700 { + --univer-tw-text-opacity: 1; + color: rgba(51, 65, 85, var(--univer-tw-text-opacity, 1)); +} +.univer-text-slate-800 { + --univer-tw-text-opacity: 1; + color: rgba(30, 41, 59, var(--univer-tw-text-opacity, 1)); +} +.univer-text-violet-500 { + --univer-tw-text-opacity: 1; + color: rgba(139, 92, 246, var(--univer-tw-text-opacity, 1)); +} +.univer-text-white { + color: var(--univer-white); +} +.univer-underline-offset-4 { + text-underline-offset: 4px; +} +.univer-opacity-0 { + opacity: 0; +} +.univer-opacity-40 { + opacity: .4; +} +.univer-opacity-50 { + opacity: .5; +} +.univer-opacity-60 { + opacity: .6; +} +.univer-opacity-80 { + opacity: .8; +} +.univer-shadow { + --univer-tw-shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a; + --univer-tw-shadow-colored: 0 1px 3px 0 var(--univer-tw-shadow-color), 0 1px 2px -1px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 1px 3px #0000001a, + 0 1px 2px -1px #0000001a; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-shadow-\[0_30px_60px_-35px_rgba\(15\,23\,42\,0\.55\)\] { + --univer-tw-shadow: 0 30px 60px -35px #0f172a8c; + --univer-tw-shadow-colored: 0 30px 60px -35px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 30px 60px -35px #0f172a8c; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-shadow-inner { + --univer-tw-shadow: inset 0 2px 4px 0 #0000000d; + --univer-tw-shadow-colored: inset 0 2px 4px 0 var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + inset 0 2px 4px #0000000d; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-shadow-lg { + --univer-tw-shadow: 0px 4px 6px 0px #1e284d0d, 0px 10px 15px -3px #1e284d1a; + --univer-tw-shadow-colored: 0px 4px 6px 0px var(--univer-tw-shadow-color), 0px 10px 15px -3px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 4px 6px #1e284d0d, + 0 10px 15px -3px #1e284d1a; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-shadow-md { + --univer-tw-shadow: 0px 1px 6px -2px #1e284d14, 0px 2px 6px -1px #1e284d1a; + --univer-tw-shadow-colored: 0px 1px 6px -2px var(--univer-tw-shadow-color), 0px 2px 6px -1px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 1px 6px -2px #1e284d14, + 0 2px 6px -1px #1e284d1a; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-shadow-sm { + --univer-tw-shadow: 0px 1px 2px 0px #1e284d14; + --univer-tw-shadow-colored: 0px 1px 2px 0px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 1px 2px #1e284d14; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-outline-none { + outline-offset: 2px; + outline: 2px solid #0000; +} +.univer-ring-2 { + --univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color); + --univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(2px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color); + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + 0 0 #0000; + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + var(--univer-tw-shadow, 0 0 #0000); +} +.\!univer-ring-primary-900 { + --univer-tw-ring-color: var(--univer-primary-900) !important; +} +.univer-ring-primary-50 { + --univer-tw-ring-color: var(--univer-primary-50); +} +.univer-ring-primary-500 { + --univer-tw-ring-color: var(--univer-primary-500); +} +.univer-ring-white { + --univer-tw-ring-color: var(--univer-white); +} +.univer-ring-offset-2 { + --univer-tw-ring-offset-width: 2px; +} +.\!univer-ring-offset-gray-600 { + --univer-tw-ring-offset-color: var(--univer-gray-600) !important; +} +.univer-ring-offset-white { + --univer-tw-ring-offset-color: var(--univer-white); +} +.univer-drop-shadow-sm { + --univer-tw-drop-shadow: drop-shadow(0 1px 1px #0000000d); + filter: var(--univer-tw-blur) var(--univer-tw-brightness) var(--univer-tw-contrast) var(--univer-tw-grayscale) var(--univer-tw-hue-rotate) var(--univer-tw-invert) var(--univer-tw-saturate) var(--univer-tw-sepia) var(--univer-tw-drop-shadow); +} +.univer-backdrop-blur-xl { + --univer-tw-backdrop-blur: blur(24px); + backdrop-filter: var(--univer-tw-backdrop-blur) var(--univer-tw-backdrop-brightness) var(--univer-tw-backdrop-contrast) var(--univer-tw-backdrop-grayscale) var(--univer-tw-backdrop-hue-rotate) var(--univer-tw-backdrop-invert) var(--univer-tw-backdrop-opacity) var(--univer-tw-backdrop-saturate) var(--univer-tw-backdrop-sepia); +} +.univer-transition-\[color\,box-shadow\] { + transition-property: color, box-shadow; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-transition-\[max-height\,opacity\] { + transition-property: max-height, opacity; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-transition-all { + transition-property: all; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-transition-colors { + transition-property: + color, + background-color, + border-color, + text-decoration-color, + fill, + stroke; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-transition-opacity { + transition-property: opacity; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-transition-shadow { + transition-property: box-shadow; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-transition-transform { + transition-property: transform; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-duration-150 { + transition-duration: .15s; +} +.univer-duration-200 { + transition-duration: .2s; +} +.univer-duration-300 { + transition-duration: .3s; +} +.univer-duration-500 { + transition-duration: .5s; +} +.univer-duration-75 { + transition-duration: 75ms; +} +.univer-ease-in-out { + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-ease-out { + transition-timing-function: cubic-bezier(0, 0, .2, 1); +} +.univer-will-change-transform { + will-change: transform; +} +.univer-scrollbar-thin::-webkit-scrollbar-track { + background-color: var(--scrollbar-track); + border-radius: var(--scrollbar-track-radius); +} +.univer-scrollbar-thin::-webkit-scrollbar-track:hover { + background-color: var(--scrollbar-track-hover, var(--scrollbar-track)); +} +.univer-scrollbar-thin::-webkit-scrollbar-track:active { + background-color: var(--scrollbar-track-active, var(--scrollbar-track-hover, var(--scrollbar-track))); +} +.univer-scrollbar-thin::-webkit-scrollbar-thumb { + background-color: var(--scrollbar-thumb); + border-radius: var(--scrollbar-thumb-radius); +} +.univer-scrollbar-thin::-webkit-scrollbar-thumb:hover { + background-color: var(--scrollbar-thumb-hover, var(--scrollbar-thumb)); +} +.univer-scrollbar-thin::-webkit-scrollbar-thumb:active { + background-color: var(--scrollbar-thumb-active, var(--scrollbar-thumb-hover, var(--scrollbar-thumb))); +} +.univer-scrollbar-thin::-webkit-scrollbar-corner { + background-color: var(--scrollbar-corner); + border-radius: var(--scrollbar-corner-radius); +} +.univer-scrollbar-thin::-webkit-scrollbar-corner:hover { + background-color: var(--scrollbar-corner-hover, var(--scrollbar-corner)); +} +.univer-scrollbar-thin::-webkit-scrollbar-corner:active { + background-color: var(--scrollbar-corner-active, var(--scrollbar-corner-hover, var(--scrollbar-corner))); +} +.univer-scrollbar-thin { + scrollbar-width: thin; + scrollbar-color: initial initial; + scrollbar-color: var(--scrollbar-thumb, initial) var(--scrollbar-track, initial); +} +.univer-scrollbar-thin::-webkit-scrollbar { + width: 8px; + height: 8px; + display: block; +} +.univer-scrollbar-track-gray-50 { + --scrollbar-track: var(--univer-gray-50) !important; +} +.univer-scrollbar-thumb-gray-300 { + --scrollbar-thumb: var(--univer-gray-300) !important; +} +@keyframes enter { + from { + opacity: 1; + opacity: var(--univer-tw-enter-opacity, 1); + transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotate(0); + transform: translate3d(var(--univer-tw-enter-translate-x, 0), var(--univer-tw-enter-translate-y, 0), 0) scale3d(var(--univer-tw-enter-scale, 1), var(--univer-tw-enter-scale, 1), var(--univer-tw-enter-scale, 1)) rotate(var(--univer-tw-enter-rotate, 0)); + } +} +@keyframes exit { + to { + opacity: 1; + opacity: var(--univer-tw-exit-opacity, 1); + transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotate(0); + transform: translate3d(var(--univer-tw-exit-translate-x, 0), var(--univer-tw-exit-translate-y, 0), 0) scale3d(var(--univer-tw-exit-scale, 1), var(--univer-tw-exit-scale, 1), var(--univer-tw-exit-scale, 1)) rotate(var(--univer-tw-exit-rotate, 0)); + } +} +.univer-animate-in { + --univer-tw-enter-opacity: initial; + --univer-tw-enter-scale: initial; + --univer-tw-enter-rotate: initial; + --univer-tw-enter-translate-x: initial; + --univer-tw-enter-translate-y: initial; + animation-name: enter; + animation-duration: .15s; +} +.univer-animate-out { + --univer-tw-exit-opacity: initial; + --univer-tw-exit-scale: initial; + --univer-tw-exit-rotate: initial; + --univer-tw-exit-translate-x: initial; + --univer-tw-exit-translate-y: initial; + animation-name: exit; + animation-duration: .15s; +} +.univer-fade-in, +.univer-fade-in-0 { + --univer-tw-enter-opacity: 0; +} +.univer-fade-out { + --univer-tw-exit-opacity: 0; +} +.univer-zoom-in-95 { + --univer-tw-enter-scale: .95; +} +.univer-duration-150 { + animation-duration: .15s; +} +.univer-duration-200 { + animation-duration: .2s; +} +.univer-duration-300 { + animation-duration: .3s; +} +.univer-duration-500 { + animation-duration: .5s; +} +.univer-duration-75 { + animation-duration: 75ms; +} +.univer-ease-in-out { + animation-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-ease-out { + animation-timing-function: cubic-bezier(0, 0, .2, 1); +} +.placeholder\:univer-text-gray-200::placeholder { + color: var(--univer-gray-200); +} +.placeholder\:univer-text-gray-400::placeholder { + color: var(--univer-gray-400); +} +.before\:univer-absolute:before { + content: var(--univer-tw-content); + position: absolute; +} +.before\:univer-top-1\/2:before { + content: var(--univer-tw-content); + top: 50%; +} +.before\:univer-block:before { + content: var(--univer-tw-content); + display: block; +} +.before\:univer-h-px:before { + content: var(--univer-tw-content); + height: 1px; +} +.before\:univer-w-full:before { + content: var(--univer-tw-content); + width: 100%; +} +.before\:-univer-translate-y-1\/2:before { + content: var(--univer-tw-content); + --univer-tw-translate-y: -50%; + transform: translate(var(--univer-tw-translate-x), -50%) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.before\:univer-bg-gray-200:before { + content: var(--univer-tw-content); + background-color: var(--univer-gray-200); +} +.before\:univer-content-\[\"\"\]:before { + --univer-tw-content: ""; + content: ""; + content: var(--univer-tw-content); +} +.last\:univer-mb-0:last-child { + margin-bottom: 0; +} +.data-\[disabled\]\:univer-pointer-events-none[data-disabled] { + pointer-events: none; +} +.data-\[orientation\=horizontal\]\:univer-h-px[data-orientation=horizontal] { + height: 1px; +} +.data-\[orientation\=vertical\]\:univer-h-full[data-orientation=vertical] { + height: 100%; +} +.data-\[orientation\=horizontal\]\:univer-w-full[data-orientation=horizontal] { + width: 100%; +} +.data-\[orientation\=vertical\]\:univer-w-px[data-orientation=vertical] { + width: 1px; +} +.data-\[state\=open\]\:univer-bg-gray-100[data-state=open] { + background-color: var(--univer-gray-100); +} +.data-\[disabled\]\:univer-opacity-50[data-disabled] { + opacity: .5; +} +.data-\[state\=open\]\:univer-animate-in[data-state=open] { + --univer-tw-enter-opacity: initial; + --univer-tw-enter-scale: initial; + --univer-tw-enter-rotate: initial; + --univer-tw-enter-translate-x: initial; + --univer-tw-enter-translate-y: initial; + animation-name: enter; + animation-duration: .15s; +} +.data-\[state\=closed\]\:univer-animate-out[data-state=closed] { + --univer-tw-exit-opacity: initial; + --univer-tw-exit-scale: initial; + --univer-tw-exit-rotate: initial; + --univer-tw-exit-translate-x: initial; + --univer-tw-exit-translate-y: initial; + animation-name: exit; + animation-duration: .15s; +} +.data-\[state\=closed\]\:univer-fade-out-0[data-state=closed] { + --univer-tw-exit-opacity: 0; +} +.data-\[state\=open\]\:univer-fade-in-0[data-state=open] { + --univer-tw-enter-opacity: 0; +} +.data-\[state\=closed\]\:univer-zoom-out-95[data-state=closed] { + --univer-tw-exit-scale: .95; +} +.data-\[state\=open\]\:univer-zoom-in-95[data-state=open] { + --univer-tw-enter-scale: .95; +} +.data-\[side\=bottom\]\:univer-slide-in-from-top-2[data-side=bottom] { + --univer-tw-enter-translate-y: -.5rem; +} +.data-\[side\=left\]\:univer-slide-in-from-right-2[data-side=left] { + --univer-tw-enter-translate-x: .5rem; +} +.data-\[side\=right\]\:univer-slide-in-from-left-2[data-side=right] { + --univer-tw-enter-translate-x: -.5rem; +} +.data-\[side\=top\]\:univer-slide-in-from-bottom-2[data-side=top] { + --univer-tw-enter-translate-y: .5rem; +} +.data-\[state\=closed\]\:univer-slide-out-to-left-1\/2[data-state=closed] { + --univer-tw-exit-translate-x: -50%; +} +.data-\[state\=closed\]\:univer-slide-out-to-top-\[48\%\][data-state=closed] { + --univer-tw-exit-translate-y: -48%; +} +.data-\[state\=open\]\:univer-slide-in-from-left-1\/2[data-state=open] { + --univer-tw-enter-translate-x: -50%; +} +.data-\[state\=open\]\:univer-slide-in-from-top-\[48\%\][data-state=open] { + --univer-tw-enter-translate-y: -48%; +} +.hover\:univer-border-primary-600:hover { + border-color: var(--univer-primary-600); +} +.hover\:univer-border-red-400:hover { + border-color: var(--univer-red-400); +} +.hover\:univer-border-transparent:hover { + border-color: #0000; +} +.hover\:univer-bg-gray-100:hover { + background-color: var(--univer-gray-100); +} +.hover\:univer-bg-gray-200:hover { + background-color: var(--univer-gray-200); +} +.hover\:univer-bg-gray-50:hover { + background-color: var(--univer-gray-50); +} +.hover\:univer-bg-primary-500:hover { + background-color: var(--univer-primary-500); +} +.hover\:univer-bg-red-400:hover { + background-color: var(--univer-red-400); +} +.hover\:univer-text-gray-500:hover { + color: var(--univer-gray-500); +} +.hover\:univer-text-gray-900:hover { + color: var(--univer-gray-900); +} +.hover\:univer-text-primary-500:hover { + color: var(--univer-primary-500); +} +.hover\:univer-text-white:hover { + color: var(--univer-white); +} +.hover\:univer-underline:hover { + text-decoration-line: underline; +} +.hover\:univer-opacity-100:hover { + opacity: 1; +} +.hover\:univer-opacity-70:hover { + opacity: .7; +} +.hover\:univer-opacity-80:hover { + opacity: .8; +} +.focus\:univer-border-primary-500:focus { + border-color: var(--univer-primary-500); +} +.focus\:univer-border-primary-600:focus { + border-color: var(--univer-primary-600); +} +.focus\:univer-bg-gray-100:focus { + background-color: var(--univer-gray-100); +} +.focus\:univer-outline-none:focus { + outline-offset: 2px; + outline: 2px solid #0000; +} +.focus\:univer-ring-2:focus { + --univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color); + --univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(2px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color); + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + 0 0 #0000; + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + var(--univer-tw-shadow, 0 0 #0000); +} +.focus\:univer-ring-primary-50:focus { + --univer-tw-ring-color: var(--univer-primary-50); +} +.active\:univer-border-red-600:active { + border-color: var(--univer-red-600); +} +.active\:univer-bg-gray-200:active { + background-color: var(--univer-gray-200); +} +.active\:univer-bg-primary-700:active { + background-color: var(--univer-primary-700); +} +.active\:univer-bg-red-600:active { + background-color: var(--univer-red-600); +} +.active\:univer-text-primary-700:active { + color: var(--univer-primary-700); +} +.disabled\:univer-pointer-events-none:disabled { + pointer-events: none; +} +.disabled\:univer-cursor-not-allowed:disabled { + cursor: not-allowed; +} +.disabled\:univer-opacity-50:disabled { + opacity: .5; +} +@media (min-width: 640px) { + .sm\:\!univer-flex-row { + flex-direction: row !important; + } + .sm\:\!univer-justify-end { + justify-content: flex-end !important; + } + .sm\:\!univer-space-x-2 > :not([hidden]) ~ :not([hidden]) { + --univer-tw-space-x-reverse: 0 !important; + margin-right: 0 !important; + margin-right: calc(.5rem * var(--univer-tw-space-x-reverse)) !important; + margin-left: .5rem !important; + margin-left: calc(.5rem * (1 - var(--univer-tw-space-x-reverse))) !important; + margin-left: .5rem !important; + margin-left: calc(.5rem * calc(1 - var(--univer-tw-space-x-reverse))) !important; + } + .sm\:\!univer-rounded-lg { + border-radius: .5rem !important; + } + .sm\:\!univer-text-left { + text-align: left !important; + } +} +@media (min-width: 768px) { + .md\:univer-grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } +} +.dark\:\!univer-divide-gray-600:where(.univer-dark, .univer-dark *) > :not([hidden]) ~ :not([hidden]) { + border-color: var(--univer-gray-600) !important; +} +.dark\:\!univer-border-gray-500:where(.univer-dark, .univer-dark *) { + border-color: var(--univer-gray-500) !important; +} +.dark\:\!univer-border-gray-600:where(.univer-dark, .univer-dark *) { + border-color: var(--univer-gray-600) !important; +} +.dark\:\!univer-border-gray-700:where(.univer-dark, .univer-dark *) { + border-color: var(--univer-gray-700) !important; +} +.dark\:\!univer-border-primary-700:where(.univer-dark, .univer-dark *) { + border-color: var(--univer-primary-700) !important; +} +.dark\:\!univer-bg-gray-100:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-100) !important; +} +.dark\:\!univer-bg-gray-500:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-500) !important; +} +.dark\:\!univer-bg-gray-600:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-600) !important; +} +.dark\:\!univer-bg-gray-700:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-700) !important; +} +.dark\:\!univer-bg-gray-800:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-800) !important; +} +.dark\:\!univer-bg-gray-900:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-900) !important; +} +.dark\:\!univer-bg-primary-600:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-primary-600) !important; +} +.dark\:\!univer-text-gray-100:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-100) !important; +} +.dark\:\!univer-text-gray-200:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-200) !important; +} +.dark\:\!univer-text-gray-300:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-300) !important; +} +.dark\:\!univer-text-gray-400:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-400) !important; +} +.dark\:\!univer-text-gray-500:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-500) !important; +} +.dark\:\!univer-text-gray-900:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-900) !important; +} +.dark\:\!univer-text-primary-500:where(.univer-dark, .univer-dark *) { + color: var(--univer-primary-500) !important; +} +.dark\:\!univer-text-sky-400:where(.univer-dark, .univer-dark *) { + --univer-tw-text-opacity: 1 !important; + color: rgba(56, 189, 248, var(--univer-tw-text-opacity, 1)) !important; +} +.dark\:\!univer-text-white:where(.univer-dark, .univer-dark *) { + color: var(--univer-white) !important; +} +.dark\:\!univer-ring-primary-600:where(.univer-dark, .univer-dark *) { + --univer-tw-ring-color: var(--univer-primary-600) !important; +} +.dark\:\!univer-ring-primary-900:where(.univer-dark, .univer-dark *) { + --univer-tw-ring-color: var(--univer-primary-900) !important; +} +.dark\:\!univer-ring-offset-gray-600:where(.univer-dark, .univer-dark *) { + --univer-tw-ring-offset-color: var(--univer-gray-600) !important; +} +.dark\:\!univer-scrollbar-track-gray-900:where(.univer-dark, .univer-dark *) { + --scrollbar-track: var(--univer-gray-900) !important; +} +.dark\:\!univer-scrollbar-thumb-gray-700:where(.univer-dark, .univer-dark *) { + --scrollbar-thumb: var(--univer-gray-700) !important; +} +.dark\:before\:\!univer-bg-gray-600:where(.univer-dark, .univer-dark *):before { + content: var(--univer-tw-content); + background-color: var(--univer-gray-600) !important; +} +.dark\:data-\[state\=open\]\:\!univer-bg-gray-600[data-state=open]:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-600) !important; +} +.dark\:hover\:\!univer-bg-gray-600:hover:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-600) !important; +} +.dark\:hover\:\!univer-bg-gray-700:hover:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-700) !important; +} +.dark\:hover\:\!univer-text-white:hover:where(.univer-dark, .univer-dark *) { + color: var(--univer-white) !important; +} +.dark\:focus\:\!univer-border-primary-500:focus:where(.univer-dark, .univer-dark *) { + border-color: var(--univer-primary-500) !important; +} +.dark\:focus\:\!univer-bg-gray-600:focus:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-600) !important; +} +.dark\:focus\:\!univer-ring-primary-900:focus:where(.univer-dark, .univer-dark *) { + --univer-tw-ring-color: var(--univer-primary-900) !important; +} +.dark\:focus-visible\:\!univer-border-gray-600:focus-visible:where(.univer-dark, .univer-dark *) { + border-color: var(--univer-gray-600) !important; +} +.dark\:active\:\!univer-bg-gray-600:active:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-600) !important; +} +.dark\:active\:\!univer-bg-gray-700:active:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-700) !important; +} +.\[\&\:\:-webkit-calendar-picker-indicator\]\:univer-hidden::-webkit-calendar-picker-indicator { + display: none; +} +.\[\&\:\:-webkit-calendar-picker-indicator\]\:univer-appearance-none::-webkit-calendar-picker-indicator { + -webkit-appearance: none; + appearance: none; +} +.\[\&\>input\]\:univer-w-11 > input { + width: 2.75rem; +} +.\[\&\>input\]\:univer-border-gray-200 > input { + border-color: var(--univer-gray-200); +} +.\[\&\>input\]\:focus\:univer-border-primary-500:focus > input { + border-color: var(--univer-primary-500); +} +.dark\:\[\&\>input\]\:\!univer-border-gray-600 > input:where(.univer-dark, .univer-dark *) { + border-color: var(--univer-gray-600) !important; +} +.dark\:\[\&\>input\]\:\!univer-text-white > input:where(.univer-dark, .univer-dark *) { + color: var(--univer-white) !important; +} +.\[\&\>svg\]\:univer-block > svg { + display: block; +} +.\[\&\>svg\]\:univer-size-4 > svg { + width: 1rem; + height: 1rem; +} +.\[\&\>svg\]\:univer-shrink-0 > svg { + flex-shrink: 0; +} +.\[\&\>ul\:not\(\:last-child\)\]\:univer-border-0 > ul:not(:last-child) { + border-width: 0; +} +.\[\&\>ul\:not\(\:last-child\)\]\:univer-border-r > ul:not(:last-child) { + border-right-width: 1px; +} +.\[\&\>ul\:not\(\:last-child\)\]\:univer-border-solid > ul:not(:last-child) { + border-style: solid; +} +.\[\&\>ul\:not\(\:last-child\)\]\:univer-border-r-gray-200 > ul:not(:last-child) { + border-right-color: var(--univer-gray-200); +} +.\[\&_\[data-description\]\]\:univer-text-sm [data-description] { + font-size: .875rem; + line-height: 1.25rem; +} +.\[\&_\[data-description\]\]\:univer-text-gray-200 [data-description] { + color: var(--univer-gray-200); +} +.\[\&_\[data-description\]\]\:univer-text-gray-600 [data-description] { + color: var(--univer-gray-600); +} +.\[\&_\[data-icon\]\>svg\]\:univer-relative [data-icon] > svg { + position: relative; +} +.\[\&_\[data-icon\]\>svg\]\:univer-top-1 [data-icon] > svg { + top: .25rem; +} +.\[\&_\[data-icon\]\]\:univer-self-baseline [data-icon] { + align-self: baseline; +} +.\[\&_\[data-icon\]\]\:univer-text-amber-500 [data-icon] { + --univer-tw-text-opacity: 1; + color: rgba(245, 158, 11, var(--univer-tw-text-opacity, 1)); +} +.\[\&_\[data-icon\]\]\:univer-text-green-500 [data-icon] { + color: var(--univer-green-500); +} +.\[\&_\[data-icon\]\]\:univer-text-primary-600 [data-icon] { + color: var(--univer-primary-600); +} +.\[\&_\[data-icon\]\]\:univer-text-red-500 [data-icon] { + color: var(--univer-red-500); +} +.\[\&_\[data-icon\]\]\:univer-text-sky-500 [data-icon] { + --univer-tw-text-opacity: 1; + color: rgba(14, 165, 233, var(--univer-tw-text-opacity, 1)); +} +.\[\&_\[data-icon\]\]\:univer-text-violet-500 [data-icon] { + --univer-tw-text-opacity: 1; + color: rgba(139, 92, 246, var(--univer-tw-text-opacity, 1)); +} +.\[\&_\[data-icon\]\]\:univer-text-yellow-500 [data-icon] { + color: var(--univer-yellow-500); +} +.\[\&_\[data-sonner-toast\]\]\:univer-rounded-2xl [data-sonner-toast] { + border-radius: 1rem; +} +.\[\&_\[data-sonner-toast\]\]\:univer-border [data-sonner-toast] { + border-width: 1px; +} +.\[\&_\[data-sonner-toast\]\]\:univer-border-solid [data-sonner-toast] { + border-style: solid; +} +.\[\&_\[data-sonner-toast\]\]\:univer-border-gray-200 [data-sonner-toast] { + border-color: var(--univer-gray-200); +} +.\[\&_\[data-sonner-toast\]\]\:univer-shadow-\[0_16px_40px_-20px_rgba\(15\,23\,42\,0\.55\)\] [data-sonner-toast] { + --univer-tw-shadow: 0 16px 40px -20px #0f172a8c; + --univer-tw-shadow-colored: 0 16px 40px -20px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 16px 40px -20px #0f172a8c; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.\[\&_\[data-sonner-toast\]\]\:univer-shadow-md [data-sonner-toast] { + --univer-tw-shadow: 0px 1px 6px -2px #1e284d14, 0px 2px 6px -1px #1e284d1a; + --univer-tw-shadow-colored: 0px 1px 6px -2px var(--univer-tw-shadow-color), 0px 2px 6px -1px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 1px 6px -2px #1e284d14, + 0 2px 6px -1px #1e284d1a; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.\[\&_\[data-sonner-toast\]\]\:univer-backdrop-blur-sm [data-sonner-toast] { + --univer-tw-backdrop-blur: blur(4px); + backdrop-filter: var(--univer-tw-backdrop-blur) var(--univer-tw-backdrop-brightness) var(--univer-tw-backdrop-contrast) var(--univer-tw-backdrop-grayscale) var(--univer-tw-backdrop-hue-rotate) var(--univer-tw-backdrop-invert) var(--univer-tw-backdrop-opacity) var(--univer-tw-backdrop-saturate) var(--univer-tw-backdrop-sepia); +} +.dark\:\[\&_\[data-sonner-toast\]\]\:\!univer-border-gray-600 [data-sonner-toast]:where(.univer-dark, .univer-dark *) { + border-color: var(--univer-gray-600) !important; +} +.\[\&_\[data-title\]\]\:univer-text-sm [data-title] { + font-size: .875rem; + line-height: 1.25rem; +} +.\[\&_\[data-title\]\]\:univer-text-gray-900 [data-title] { + color: var(--univer-gray-900); +} +.\[\&_\[data-u-comp\=form-layout\]\]\:univer-max-w-\[calc\(50\%-8px\)\] [data-u-comp=form-layout] { + max-width: calc(50% - 8px); +} +.\[\&_\[data-u-comp\=form-layout\]\]\:univer-shrink [data-u-comp=form-layout] { + flex-shrink: 1; +} +.\[\&_\[data-u-comp\=form-layout\]\]\:univer-grow [data-u-comp=form-layout] { + flex-grow: 1; +} +.\[\&_\[data-u-comp\=input\]\]\:univer-w-full [data-u-comp=input] { + width: 100%; +} +.\[\&_\[data-u-comp\=input\]\]\:univer-border-red-500 [data-u-comp=input] { + border-color: var(--univer-red-500); +} +.\[\&_\[data-u-comp\=pager-left-arrow\]\:hover\]\:\!univer-bg-gray-600 [data-u-comp=pager-left-arrow]:hover, +.\[\&_\[data-u-comp\=pager-right-arrow\]\:hover\]\:\!univer-bg-gray-600 [data-u-comp=pager-right-arrow]:hover { + background-color: var(--univer-gray-600) !important; +} +.\[\&_\[data-u-comp\=select\]\]\:univer-w-full [data-u-comp=select] { + width: 100%; +} +.\[\&_\[data-u-comp\=select\]\]\:univer-border-red-500 [data-u-comp=select] { + border-color: var(--univer-red-500); +} +.\[\&_input\]\:univer-box-border input { + box-sizing: border-box; +} +.\[\&_input\]\:univer-flex input { + display: flex; +} +.\[\&_input\]\:univer-h-7 input { + height: 1.75rem; +} +.\[\&_input\]\:univer-items-center input { + align-items: center; +} +.\[\&_input\]\:univer-rounded input { + border-radius: .25rem; +} +.\[\&_input\]\:univer-border input { + border-width: 1px; +} +.\[\&_input\]\:univer-border-solid input { + border-style: solid; +} +.\[\&_input\]\:univer-border-gray-200 input { + border-color: var(--univer-gray-200); +} +.\[\&_input\]\:univer-border-gray-600 input { + border-color: var(--univer-gray-600); +} +.\[\&_input\]\:univer-bg-transparent input { + background-color: #0000; +} +.\[\&_input\]\:univer-px-1\.5 input { + padding-left: .375rem; + padding-right: .375rem; +} +.\[\&_input\]\:univer-text-sm input { + font-size: .875rem; + line-height: 1.25rem; +} +.\[\&_input\]\:univer-text-gray-700 input { + color: var(--univer-gray-700); +} +.\[\&_input\]\:univer-text-white input { + color: var(--univer-white); +} +.\[\&_input\]\:univer-outline-none input { + outline-offset: 2px; + outline: 2px solid #0000; +} +.\[\&_svg\]\:univer-pointer-events-none svg { + pointer-events: none; +} +.\[\&_svg\]\:univer-size-4 svg { + width: 1rem; + height: 1rem; +} +.\[\&_svg\]\:univer-shrink-0 svg { + flex-shrink: 0; +} +.univer-popup { + z-index: 1070; + --univer-tw-shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a; + --univer-tw-shadow-colored: 0 1px 3px 0 var(--univer-tw-shadow-color), 0 1px 2px -1px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 1px 3px #0000001a, + 0 1px 2px -1px #0000001a; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); + border-radius: 6px; + position: fixed; + top: -9999px; + left: -9999px; + overflow: hidden; +} +.univer-popup-enter { + transform-origin: 0 0; + opacity: 0; + animation-duration: .15s; + animation-timing-function: cubic-bezier(.08, .82, .17, 1); + animation-play-state: paused; + animation-fill-mode: both; +} +.univer-popup-enter-active { + animation-name: popup-slide-up-in; + animation-play-state: running; +} +.univer-popup-exit { + transform-origin: 0 0; + opacity: 1; + animation-name: popup-slide-up-out; + animation-duration: .15s; + animation-timing-function: cubic-bezier(.6, .04, .98, .34); + animation-play-state: running; + animation-fill-mode: both; +} +.univer-popup-exit-active { + display: none; +} +@keyframes popup-slide-up-in { + 0% { + transform-origin: 0 0; + opacity: 0; + transform: scaleY(0); + } + 100% { + transform-origin: 0 0; + opacity: 1; + transform: scaleY(1); + } +} +@keyframes popup-slide-up-out { + 0% { + transform-origin: 0 0; + opacity: 1; + transform: scaleY(1); + } + 100% { + transform-origin: 0 0; + opacity: 0; + transform: scaleY(0); + } +} +.univer-popup-mask { + z-index: 1060; + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; +} + +/* node_modules/@univerjs/ui/lib/index.css */ +.univer-pointer-events-none { + pointer-events: none; +} +.univer-pointer-events-auto { + pointer-events: auto; +} +.univer-invisible { + visibility: hidden; +} +.univer-fixed { + position: fixed; +} +.univer-absolute { + position: absolute; +} +.univer-relative { + position: relative; +} +.univer-sticky { + position: sticky; +} +.univer-inset-0 { + top: 0; + bottom: 0; + left: 0; + right: 0; +} +.-univer-left-\[99999\] { + left: -99999px; +} +.-univer-top-\[99999\] { + top: -99999px; +} +.univer-bottom-0 { + bottom: 0; +} +.univer-left-0 { + left: 0; +} +.univer-left-1 { + left: .25rem; +} +.univer-left-1\/2 { + left: 50%; +} +.univer-left-\[-9999px\] { + left: -9999px; +} +.univer-right-0 { + right: 0; +} +.univer-right-2 { + right: .5rem; +} +.univer-top-0 { + top: 0; +} +.univer-top-0\.5 { + top: .125rem; +} +.univer-top-1\/2 { + top: 50%; +} +.univer-top-\[-9999px\] { + top: -9999px; +} +.univer-top-\[calc\(50\%-6px\)\] { + top: calc(50% - 6px); +} +.univer-z-10 { + z-index: 10; +} +.univer-z-\[-1\] { + z-index: -1; +} +.univer-z-\[100\] { + z-index: 100; +} +.univer-z-\[1020\] { + z-index: 1020; +} +.univer-z-\[1080\] { + z-index: 1080; +} +.univer-z-\[1\] { + z-index: 1; +} +.univer-m-0 { + margin: 0; +} +.univer-mx-2 { + margin-left: .5rem; + margin-right: .5rem; +} +.univer-mx-auto { + margin-left: auto; + margin-right: auto; +} +.univer-mb-0 { + margin-bottom: 0; +} +.univer-mr-2 { + margin-right: .5rem; +} +.univer-mt-2 { + margin-top: .5rem; +} +.univer-mt-6 { + margin-top: 1.5rem; +} +.univer-box-border { + box-sizing: border-box; +} +.univer-line-clamp-2 { + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + display: -webkit-box; + overflow: hidden; +} +.univer-block { + display: block; +} +.univer-flex { + display: flex; +} +.univer-inline-flex { + display: inline-flex; +} +.univer-grid { + display: grid; +} +.univer-hidden { + display: none; +} +.univer-size-0\.5 { + width: .125rem; + height: .125rem; +} +.univer-size-12 { + width: 3rem; + height: 3rem; +} +.univer-size-3 { + width: .75rem; + height: .75rem; +} +.univer-size-3\.5 { + width: .875rem; + height: .875rem; +} +.univer-size-4 { + width: 1rem; + height: 1rem; +} +.univer-size-6 { + width: 1.5rem; + height: 1.5rem; +} +.univer-size-7 { + width: 1.75rem; + height: 1.75rem; +} +.univer-size-8 { + width: 2rem; + height: 2rem; +} +.univer-size-9 { + width: 2.25rem; + height: 2.25rem; +} +.univer-size-full { + width: 100%; + height: 100%; +} +.univer-h-0 { + height: 0; +} +.univer-h-0\.5 { + height: .125rem; +} +.univer-h-1 { + height: .25rem; +} +.univer-h-1\.5 { + height: .375rem; +} +.univer-h-10 { + height: 2.5rem; +} +.univer-h-6 { + height: 1.5rem; +} +.univer-h-7 { + height: 1.75rem; +} +.univer-h-8 { + height: 2rem; +} +.univer-h-9 { + height: 2.25rem; +} +.univer-h-full { + height: 100%; +} +.univer-max-h-\[80vh\] { + max-height: 80vh; +} +.univer-max-h-\[min\(72vh\,560px\)\] { + max-height: min(72vh, 560px); +} +.univer-min-h-0 { + min-height: 0; +} +.univer-min-h-8 { + min-height: 2rem; +} +.univer-min-h-\[560px\] { + min-height: 560px; +} +.univer-min-h-\[56px\] { + min-height: 56px; +} +.univer-min-h-full { + min-height: 100%; +} +.univer-w-0 { + width: 0; +} +.univer-w-10 { + width: 2.5rem; +} +.univer-w-24 { + width: 6rem; +} +.univer-w-32 { + width: 8rem; +} +.univer-w-40 { + width: 10rem; +} +.univer-w-5 { + width: 1.25rem; +} +.univer-w-7 { + width: 1.75rem; +} +.univer-w-8 { + width: 2rem; +} +.univer-w-96 { + width: 24rem; +} +.univer-w-full { + width: 100%; +} +.univer-w-max { + width: max-content; +} +.univer-w-screen { + width: 100vw; +} +.univer-min-w-0 { + min-width: 0; +} +.univer-min-w-52 { + min-width: 13rem; +} +.univer-min-w-6 { + min-width: 1.5rem; +} +.univer-min-w-min { + min-width: min-content; +} +.univer-max-w-3xl { + max-width: 48rem; +} +.univer-max-w-5xl { + max-width: 64rem; +} +.univer-max-w-96 { + max-width: 24rem; +} +.univer-max-w-\[--radix-popper-available-width\] { + max-width: var(--radix-popper-available-width); +} +.univer-max-w-\[32\%\] { + max-width: 32%; +} +.univer-max-w-\[560px\] { + max-width: 560px; +} +.univer-max-w-\[calc\(100vw-16px\)\] { + max-width: calc(100vw - 16px); +} +.univer-max-w-full { + max-width: 100%; +} +.univer-flex-1 { + flex: 1; +} +.univer-flex-shrink-0, +.univer-shrink-0 { + flex-shrink: 0; +} +.univer-origin-center { + transform-origin: center; +} +.-univer-translate-x-1\/2 { + --univer-tw-translate-x: -50%; + transform: translate(-50%, var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.-univer-translate-y-1\/2 { + --univer-tw-translate-y: -50%; + transform: translate(var(--univer-tw-translate-x), -50%) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.univer-translate-x-0 { + --univer-tw-translate-x: 0px; + transform: translate(0px, var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.univer-translate-x-full { + --univer-tw-translate-x: 100%; + transform: translate(100%, var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.univer-rotate-180 { + --univer-tw-rotate: 180deg; + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(180deg) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.univer-cursor-default { + cursor: default; +} +.univer-cursor-not-allowed { + cursor: not-allowed; +} +.univer-cursor-pointer { + cursor: pointer; +} +.univer-select-none { + user-select: none; +} +.univer-list-none { + list-style-type: none; +} +.univer-appearance-none { + -webkit-appearance: none; + appearance: none; +} +.univer-grid-flow-col { + grid-auto-flow: column; +} +.univer-grid-cols-3 { + grid-template-columns: repeat(3, minmax(0, 1fr)); +} +.univer-grid-cols-\[1fr\] { + grid-template-columns: 1fr; +} +.univer-grid-cols-\[22px_minmax\(0\,1fr\)_22px\] { + grid-template-columns: 22px minmax(0, 1fr) 22px; +} +.univer-grid-cols-\[28px_minmax\(0\,1fr\)_auto\] { + grid-template-columns: 28px minmax(0, 1fr) auto; +} +.univer-grid-cols-\[32px_minmax\(0\,1fr\)_32px\] { + grid-template-columns: 32px minmax(0, 1fr) 32px; +} +.univer-grid-cols-\[auto\,1fr\] { + grid-template-columns: auto 1fr; +} +.univer-grid-cols-\[auto_1fr_auto\] { + grid-template-columns: auto 1fr auto; +} +.univer-grid-cols-none { + grid-template-columns: none; +} +.univer-grid-rows-\[100\%\] { + grid-template-rows: 100%; +} +.univer-grid-rows-\[auto_1fr\] { + grid-template-rows: auto 1fr; +} +.univer-grid-rows-\[auto_1fr_auto\] { + grid-template-rows: auto 1fr auto; +} +.univer-flex-col { + flex-direction: column; +} +.univer-flex-wrap { + flex-wrap: wrap; +} +.univer-items-end { + align-items: flex-end; +} +.univer-items-center { + align-items: center; +} +.univer-justify-center { + justify-content: center; +} +.univer-justify-between { + justify-content: space-between; +} +.univer-gap-0\.5 { + gap: .125rem; +} +.univer-gap-1 { + gap: .25rem; +} +.univer-gap-1\.5 { + gap: .375rem; +} +.univer-gap-2 { + gap: .5rem; +} +.univer-gap-2\.5 { + gap: .625rem; +} +.univer-gap-3 { + gap: .75rem; +} +.univer-gap-6 { + gap: 1.5rem; +} +.univer-overflow-hidden { + overflow: hidden; +} +.univer-overflow-x-auto { + overflow-x: auto; +} +.univer-overflow-y-auto { + overflow-y: auto; +} +.univer-overscroll-contain { + overscroll-behavior: contain; +} +.univer-scroll-smooth { + scroll-behavior: smooth; +} +.univer-truncate { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} +.univer-whitespace-nowrap { + white-space: nowrap; +} +.univer-break-words { + word-wrap: break-word; +} +.\!univer-rounded-full { + border-radius: 9999px !important; +} +.\!univer-rounded-xl { + border-radius: .75rem !important; +} +.univer-rounded { + border-radius: .25rem; +} +.univer-rounded-2xl { + border-radius: 1rem; +} +.univer-rounded-3xl { + border-radius: 1.5rem; +} +.univer-rounded-full { + border-radius: 9999px; +} +.univer-rounded-lg { + border-radius: .5rem; +} +.univer-rounded-md { + border-radius: .375rem; +} +.univer-rounded-sm { + border-radius: .125rem; +} +.univer-rounded-xl { + border-radius: .75rem; +} +.univer-rounded-l { + border-top-left-radius: .25rem; + border-bottom-left-radius: .25rem; +} +.univer-rounded-r { + border-top-right-radius: .25rem; + border-bottom-right-radius: .25rem; +} +.univer-rounded-t-\[28px\] { + border-top-left-radius: 28px; + border-top-right-radius: 28px; +} +.univer-border { + border-width: 1px; +} +.univer-border-0 { + border-width: 0; +} +.univer-border-b { + border-bottom-width: 1px; +} +.univer-border-solid { + border-style: solid; +} +.univer-border-none { + border-style: none; +} +.univer-border-gray-200 { + border-color: var(--univer-gray-200); +} +.\!univer-bg-gray-200 { + background-color: var(--univer-gray-200) !important; +} +.\!univer-bg-gray-500 { + background-color: var(--univer-gray-500) !important; +} +.\!univer-bg-gray-900 { + background-color: var(--univer-gray-900) !important; +} +.univer-bg-\[rgba\(15\,23\,42\,0\.32\)\] { + background-color: #0f172a52; +} +.univer-bg-gray-100 { + background-color: var(--univer-gray-100); +} +.univer-bg-gray-200 { + background-color: var(--univer-gray-200); +} +.univer-bg-gray-300 { + background-color: var(--univer-gray-300); +} +.univer-bg-gray-400 { + background-color: var(--univer-gray-400); +} +.univer-bg-gray-50 { + background-color: var(--univer-gray-50); +} +.univer-bg-gray-700 { + background-color: var(--univer-gray-700); +} +.univer-bg-primary-50 { + background-color: var(--univer-primary-50); +} +.univer-bg-primary-600 { + background-color: var(--univer-primary-600); +} +.univer-bg-transparent { + background-color: #0000; +} +.univer-bg-white { + background-color: var(--univer-white); +} +.univer-bg-gradient-to-tr { + background-image: linear-gradient(to top right, var(--univer-tw-gradient-stops)); +} +.univer-from-slate-950 { + --univer-tw-gradient-from: #020617 var(--univer-tw-gradient-from-position); + --univer-tw-gradient-to: #02061700 var(--univer-tw-gradient-to-position); + --univer-tw-gradient-stops: var(--univer-tw-gradient-from), var(--univer-tw-gradient-to); +} +.univer-via-blue-950 { + --univer-tw-gradient-to: #17255400 var(--univer-tw-gradient-to-position); + --univer-tw-gradient-stops: + var(--univer-tw-gradient-from), + #172554 var(--univer-tw-gradient-via-position), + var(--univer-tw-gradient-to); +} +.univer-to-cyan-900 { + --univer-tw-gradient-to: #164e63 var(--univer-tw-gradient-to-position); +} +.univer-p-0 { + padding: 0; +} +.univer-p-1 { + padding: .25rem; +} +.univer-p-2 { + padding: .5rem; +} +.univer-p-4 { + padding: 1rem; +} +.univer-p-8 { + padding: 2rem; +} +.univer-px-0 { + padding-left: 0; + padding-right: 0; +} +.univer-px-0\.5 { + padding-left: .125rem; + padding-right: .125rem; +} +.univer-px-1 { + padding-left: .25rem; + padding-right: .25rem; +} +.univer-px-1\.5 { + padding-left: .375rem; + padding-right: .375rem; +} +.univer-px-2 { + padding-left: .5rem; + padding-right: .5rem; +} +.univer-px-3 { + padding-left: .75rem; + padding-right: .75rem; +} +.univer-px-4 { + padding-left: 1rem; + padding-right: 1rem; +} +.univer-py-0\.5 { + padding-top: .125rem; + padding-bottom: .125rem; +} +.univer-py-1 { + padding-top: .25rem; + padding-bottom: .25rem; +} +.univer-py-1\.5 { + padding-top: .375rem; + padding-bottom: .375rem; +} +.univer-py-3 { + padding-top: .75rem; + padding-bottom: .75rem; +} +.univer-pb-1 { + padding-bottom: .25rem; +} +.univer-pb-2 { + padding-bottom: .5rem; +} +.univer-pb-3 { + padding-bottom: .75rem; +} +.univer-pl-2 { + padding-left: .5rem; +} +.univer-pl-3 { + padding-left: .75rem; +} +.univer-pl-4 { + padding-left: 1rem; +} +.univer-pl-6 { + padding-left: 1.5rem; +} +.univer-pr-1\.5 { + padding-right: .375rem; +} +.univer-pr-2 { + padding-right: .5rem; +} +.univer-pr-5 { + padding-right: 1.25rem; +} +.univer-pt-1 { + padding-top: .25rem; +} +.univer-pt-3 { + padding-top: .75rem; +} +.univer-text-left { + text-align: left; +} +.univer-text-center { + text-align: center; +} +.univer-text-right { + text-align: right; +} +.univer-font-sans { + font-family: + ui-sans-serif, + system-ui, + -apple-system, + Segoe UI, + Roboto, + Ubuntu, + Cantarell, + Noto Sans, + sans-serif, + Apple Color Emoji, + Segoe UI Emoji, + Segoe UI Symbol, + Noto Color Emoji; +} +.univer-text-2xl { + font-size: 1.5rem; + line-height: 2rem; +} +.univer-text-base { + font-size: 1rem; + line-height: 1.5rem; +} +.univer-text-sm { + font-size: .875rem; + line-height: 1.25rem; +} +.univer-text-xs { + font-size: .75rem; + line-height: 1rem; +} +.univer-font-bold { + font-weight: 700; +} +.univer-font-medium { + font-weight: 500; +} +.univer-font-semibold { + font-weight: 600; +} +.univer-uppercase { + text-transform: uppercase; +} +.univer-leading-4 { + line-height: 1rem; +} +.univer-leading-6 { + line-height: 1.5rem; +} +.univer-leading-none { + line-height: 1; +} +.univer-tracking-\[0\.08em\] { + letter-spacing: .08em; +} +.univer-tracking-tight { + letter-spacing: -.025em; +} +.\!univer-text-gray-600 { + color: var(--univer-gray-600) !important; +} +.\!univer-text-white { + color: var(--univer-white) !important; +} +.univer-text-current { + color: currentColor; +} +.univer-text-gray-200 { + color: var(--univer-gray-200); +} +.univer-text-gray-300 { + color: var(--univer-gray-300); +} +.univer-text-gray-400 { + color: var(--univer-gray-400); +} +.univer-text-gray-500 { + color: var(--univer-gray-500); +} +.univer-text-gray-600 { + color: var(--univer-gray-600); +} +.univer-text-gray-700 { + color: var(--univer-gray-700); +} +.univer-text-gray-800 { + color: var(--univer-gray-800); +} +.univer-text-gray-900 { + color: var(--univer-gray-900); +} +.univer-text-primary-600 { + color: var(--univer-primary-600); +} +.univer-text-primary-700 { + color: var(--univer-primary-700); +} +.univer-text-slate-200 { + --univer-tw-text-opacity: 1; + color: rgba(226, 232, 240, var(--univer-tw-text-opacity, 1)); +} +.univer-text-white { + color: var(--univer-white); +} +.univer-underline { + text-decoration-line: underline; +} +.univer-opacity-0 { + opacity: 0; +} +.univer-opacity-30 { + opacity: .3; +} +.univer-opacity-40 { + opacity: .4; +} +.univer-opacity-60 { + opacity: .6; +} +.univer-shadow { + --univer-tw-shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a; + --univer-tw-shadow-colored: 0 1px 3px 0 var(--univer-tw-shadow-color), 0 1px 2px -1px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 1px 3px #0000001a, + 0 1px 2px -1px #0000001a; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-shadow-\[0_-16px_48px_rgba\(15\,23\,42\,0\.18\)\] { + --univer-tw-shadow: 0 -16px 48px #0f172a2e; + --univer-tw-shadow-colored: 0 -16px 48px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 -16px 48px #0f172a2e; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-shadow-md { + --univer-tw-shadow: 0px 1px 6px -2px #1e284d14, 0px 2px 6px -1px #1e284d1a; + --univer-tw-shadow-colored: 0px 1px 6px -2px var(--univer-tw-shadow-color), 0px 2px 6px -1px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 1px 6px -2px #1e284d14, + 0 2px 6px -1px #1e284d1a; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-shadow-sm { + --univer-tw-shadow: 0px 1px 2px 0px #1e284d14; + --univer-tw-shadow-colored: 0px 1px 2px 0px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 1px 2px #1e284d14; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-outline-none { + outline-offset: 2px; + outline: 2px solid #0000; +} +.univer-ring-0 { + --univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color); + --univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(0px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color); + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + 0 0 #0000; + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + var(--univer-tw-shadow, 0 0 #0000); +} +.univer-ring-1 { + --univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color); + --univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(1px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color); + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + 0 0 #0000; + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + var(--univer-tw-shadow, 0 0 #0000); +} +.univer-ring-primary-600 { + --univer-tw-ring-color: var(--univer-primary-600); +} +.univer-backdrop-blur-\[2px\] { + --univer-tw-backdrop-blur: blur(2px); + backdrop-filter: var(--univer-tw-backdrop-blur) var(--univer-tw-backdrop-brightness) var(--univer-tw-backdrop-contrast) var(--univer-tw-backdrop-grayscale) var(--univer-tw-backdrop-hue-rotate) var(--univer-tw-backdrop-invert) var(--univer-tw-backdrop-opacity) var(--univer-tw-backdrop-saturate) var(--univer-tw-backdrop-sepia); +} +.univer-backdrop-blur-xl { + --univer-tw-backdrop-blur: blur(24px); + backdrop-filter: var(--univer-tw-backdrop-blur) var(--univer-tw-backdrop-brightness) var(--univer-tw-backdrop-contrast) var(--univer-tw-backdrop-grayscale) var(--univer-tw-backdrop-hue-rotate) var(--univer-tw-backdrop-invert) var(--univer-tw-backdrop-opacity) var(--univer-tw-backdrop-saturate) var(--univer-tw-backdrop-sepia); +} +.univer-transition-\[width\] { + transition-property: width; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-transition-all { + transition-property: all; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-transition-colors { + transition-property: + color, + background-color, + border-color, + text-decoration-color, + fill, + stroke; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +@keyframes enter { + from { + opacity: 1; + opacity: var(--univer-tw-enter-opacity, 1); + transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotate(0); + transform: translate3d(var(--univer-tw-enter-translate-x, 0), var(--univer-tw-enter-translate-y, 0), 0) scale3d(var(--univer-tw-enter-scale, 1), var(--univer-tw-enter-scale, 1), var(--univer-tw-enter-scale, 1)) rotate(var(--univer-tw-enter-rotate, 0)); + } +} +@keyframes exit { + to { + opacity: 1; + opacity: var(--univer-tw-exit-opacity, 1); + transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotate(0); + transform: translate3d(var(--univer-tw-exit-translate-x, 0), var(--univer-tw-exit-translate-y, 0), 0) scale3d(var(--univer-tw-exit-scale, 1), var(--univer-tw-exit-scale, 1), var(--univer-tw-exit-scale, 1)) rotate(var(--univer-tw-exit-rotate, 0)); + } +} +.univer-animate-in { + --univer-tw-enter-opacity: initial; + --univer-tw-enter-scale: initial; + --univer-tw-enter-rotate: initial; + --univer-tw-enter-translate-x: initial; + --univer-tw-enter-translate-y: initial; + animation-name: enter; + animation-duration: .15s; +} +.univer-fade-in { + --univer-tw-enter-opacity: 0; +} +.univer-fade-in-70 { + --univer-tw-enter-opacity: .7; +} +.last\:univer-border-b-0:last-child { + border-bottom-width: 0; +} +.hover\:univer-bg-gray-100:hover { + background-color: var(--univer-gray-100); +} +.hover\:univer-bg-gray-200:hover { + background-color: var(--univer-gray-200); +} +.hover\:univer-bg-gray-50:hover { + background-color: var(--univer-gray-50); +} +.hover\:univer-bg-transparent:hover { + background-color: #0000; +} +.hover\:univer-opacity-50:hover { + opacity: .5; +} +.focus\:univer-bg-white:focus { + background-color: var(--univer-white); +} +.focus\:univer-outline-none:focus { + outline-offset: 2px; + outline: 2px solid #0000; +} +.focus-visible\:univer-ring-2:focus-visible { + --univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color); + --univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(2px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color); + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + 0 0 #0000; + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + var(--univer-tw-shadow, 0 0 #0000); +} +.focus-visible\:univer-ring-primary-600:focus-visible { + --univer-tw-ring-color: var(--univer-primary-600); +} +.focus-visible\:univer-ring-offset-0:focus-visible { + --univer-tw-ring-offset-width: 0px; +} +.active\:univer-bg-gray-200:active { + background-color: var(--univer-gray-200); +} +.enabled\:hover\:univer-bg-gray-50:hover:enabled { + background-color: var(--univer-gray-50); +} +.enabled\:active\:univer-bg-gray-100:active:enabled { + background-color: var(--univer-gray-100); +} +.disabled\:univer-cursor-not-allowed:disabled { + cursor: not-allowed; +} +.disabled\:univer-text-gray-300:disabled { + color: var(--univer-gray-300); +} +.disabled\:univer-opacity-40:disabled { + opacity: .4; +} +.disabled\:hover\:univer-bg-transparent:hover:disabled { + background-color: #0000; +} +@media (min-width: 640px) { + .sm\:\!univer-block { + display: block !important; + } +} +.rtl\:univer-pl-1\.5:where([dir=rtl], [dir=rtl] *) { + padding-left: .375rem; +} +.rtl\:univer-pr-0:where([dir=rtl], [dir=rtl] *) { + padding-right: 0; +} +.rtl\:univer-pr-2:where([dir=rtl], [dir=rtl] *) { + padding-right: .5rem; +} +.dark\:\!univer-border-gray-600:where(.univer-dark, .univer-dark *) { + border-color: var(--univer-gray-600) !important; +} +.dark\:\!univer-bg-gray-200:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-200) !important; +} +.dark\:\!univer-bg-gray-500:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-500) !important; +} +.dark\:\!univer-bg-gray-600:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-600) !important; +} +.dark\:\!univer-bg-gray-700:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-700) !important; +} +.dark\:\!univer-bg-gray-800:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-800) !important; +} +.dark\:\!univer-bg-gray-900:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-900) !important; +} +.dark\:\!univer-bg-primary-400:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-primary-400) !important; +} +.dark\:\!univer-bg-primary-900:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-primary-900) !important; +} +.dark\:\!univer-text-gray-100:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-100) !important; +} +.dark\:\!univer-text-gray-200:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-200) !important; +} +.dark\:\!univer-text-gray-300:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-300) !important; +} +.dark\:\!univer-text-gray-400:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-400) !important; +} +.dark\:\!univer-text-gray-500:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-500) !important; +} +.dark\:\!univer-text-gray-600:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-600) !important; +} +.dark\:\!univer-text-gray-800:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-800) !important; +} +.dark\:\!univer-text-primary-100:where(.univer-dark, .univer-dark *) { + color: var(--univer-primary-100) !important; +} +.dark\:\!univer-text-primary-300:where(.univer-dark, .univer-dark *) { + color: var(--univer-primary-300) !important; +} +.dark\:\!univer-text-primary-400:where(.univer-dark, .univer-dark *) { + color: var(--univer-primary-400) !important; +} +.dark\:\!univer-text-white:where(.univer-dark, .univer-dark *) { + color: var(--univer-white) !important; +} +.dark\:hover\:\!univer-bg-gray-600:hover:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-600) !important; +} +.dark\:hover\:\!univer-bg-gray-700:hover:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-700) !important; +} +.dark\:hover\:\!univer-bg-gray-900:hover:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-900) !important; +} +.dark\:hover\:\!univer-bg-transparent:hover:where(.univer-dark, .univer-dark *) { + background-color: #0000 !important; +} +.dark\:active\:\!univer-bg-gray-600:active:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-600) !important; +} +.dark\:disabled\:\!univer-text-gray-600:disabled:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-600) !important; +} +.\[\&\:\:-webkit-scrollbar\]\:univer-hidden::-webkit-scrollbar { + display: none; +} +.\[\&\>\*\]\:univer-m-0 > * { + margin: 0; +} +.\[\&\>\*\]\:univer-inline-flex > * { + display: inline-flex; +} +.\[\&\>\*\]\:univer-h-6 > * { + height: 1.5rem; +} +.\[\&\>\*\]\:univer-min-h-7 > * { + min-height: 1.75rem; +} +.\[\&\>\*\]\:univer-min-w-7 > * { + min-width: 1.75rem; +} +.\[\&\>\*\]\:univer-appearance-none > * { + -webkit-appearance: none; + appearance: none; +} +.\[\&\>\*\]\:univer-items-center > * { + align-items: center; +} +.\[\&\>\*\]\:univer-justify-center > * { + justify-content: center; +} +.\[\&\>\*\]\:univer-rounded > * { + border-radius: .25rem; +} +.\[\&\>\*\]\:univer-rounded-md > * { + border-radius: .375rem; +} +.\[\&\>\*\]\:univer-border-0 > * { + border-width: 0; +} +.\[\&\>\*\]\:univer-px-1 > * { + padding-left: .25rem; + padding-right: .25rem; +} +.\[\&\>\*\]\:univer-px-1\.5 > * { + padding-left: .375rem; + padding-right: .375rem; +} +.\[\&\>\*\]\:univer-leading-none > * { + line-height: 1; +} +.\[\&\>\*\]\:univer-outline-none > * { + outline-offset: 2px; + outline: 2px solid #0000; +} +.\[\&\>\*\]\:univer-transition-colors > * { + transition-property: + color, + background-color, + border-color, + text-decoration-color, + fill, + stroke; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.hover\:\[\&\>\*\]\:univer-bg-gray-100 > :hover { + background-color: var(--univer-gray-100); +} +.\[\&\>span\]\:univer-truncate > span { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} +.\[\&\>span\]\:univer-text-sm > span { + font-size: .875rem; + line-height: 1.25rem; +} +.\[\&\>span\]\:univer-font-medium > span { + font-weight: 500; +} +.\[\&\>svg\]\:univer-shrink-0 > svg { + flex-shrink: 0; +} +.\[\&\>svg\]\:univer-text-lg > svg { + font-size: 1.125rem; + line-height: 1.75rem; +} +.\[\&\>svg\]\:univer-text-gray-700 > svg { + color: var(--univer-gray-700); +} +.\[\&_\*\]\:univer-box-border * { + box-sizing: border-box; +} +.\[\&_\.univer-custom-label\]\:univer-text-sm .univer-custom-label { + font-size: .875rem; + line-height: 1.25rem; +} +.\[\&_\.univer-custom-label\]\:univer-leading-none .univer-custom-label { + line-height: 1; +} +.\[\&_\.univer-toolbar-button-selector-main\]\:\!univer-h-8 .univer-toolbar-button-selector-main { + height: 2rem !important; +} +.\[\&_\.univer-toolbar-button-selector-main\]\:\!univer-rounded-none .univer-toolbar-button-selector-main { + border-radius: 0 !important; +} +.\[\&_\.univer-toolbar-button-selector-main\]\:\!univer-rounded-l-md .univer-toolbar-button-selector-main { + border-top-left-radius: .375rem !important; + border-bottom-left-radius: .375rem !important; +} +.\[\&_\.univer-toolbar-button-selector-main\]\:\!univer-px-1\.5 .univer-toolbar-button-selector-main { + padding-left: .375rem !important; + padding-right: .375rem !important; +} +.\[\&_\.univer-toolbar-button-selector-root\]\:\!univer-h-8 .univer-toolbar-button-selector-root { + height: 2rem !important; +} +.\[\&_\.univer-toolbar-button-selector-root\]\:univer-overflow-hidden .univer-toolbar-button-selector-root { + overflow: hidden; +} +.\[\&_\.univer-toolbar-button-selector-root\]\:\!univer-rounded-md .univer-toolbar-button-selector-root { + border-radius: .375rem !important; +} +.\[\&_\.univer-toolbar-button-selector-root\]\:\!univer-pr-0 .univer-toolbar-button-selector-root { + padding-right: 0 !important; +} +.\[\&_\.univer-toolbar-button-selector-trigger\]\:\!univer-static .univer-toolbar-button-selector-trigger { + position: static !important; +} +.\[\&_\.univer-toolbar-button-selector-trigger\]\:\!univer-h-8 .univer-toolbar-button-selector-trigger { + height: 2rem !important; +} +.\[\&_\.univer-toolbar-button-selector-trigger\]\:\!univer-w-6 .univer-toolbar-button-selector-trigger { + width: 1.5rem !important; +} +.\[\&_\.univer-toolbar-button-selector-trigger\]\:\!univer-rounded-none .univer-toolbar-button-selector-trigger { + border-radius: 0 !important; +} +.\[\&_\.univer-toolbar-button-selector-trigger\]\:\!univer-rounded-r-md .univer-toolbar-button-selector-trigger { + border-top-right-radius: .375rem !important; + border-bottom-right-radius: .375rem !important; +} +.\[\&_\.univer-toolbar-selector-root\]\:\!univer-h-8 .univer-toolbar-selector-root { + height: 2rem !important; +} +.\[\&_\.univer-toolbar-selector-root\]\:\!univer-gap-1 .univer-toolbar-selector-root { + gap: .25rem !important; +} +.\[\&_\.univer-toolbar-selector-root\]\:\!univer-rounded-md .univer-toolbar-selector-root { + border-radius: .375rem !important; +} +.\[\&_\.univer-toolbar-selector-root\]\:\!univer-px-1\.5 .univer-toolbar-selector-root { + padding-left: .375rem !important; + padding-right: .375rem !important; +} +.\[\&_\.univer-toolbar-selector-trigger\]\:\!univer-pl-0\.5 .univer-toolbar-selector-trigger { + padding-left: .125rem !important; +} +.\[\&_\.univer-tooltip\]\:univer-inline-flex .univer-tooltip { + display: inline-flex; +} +.\[\&_\.univer-tooltip\]\:univer-h-full .univer-tooltip { + height: 100%; +} +.\[\&_\.univer-tooltip\]\:univer-items-center .univer-tooltip { + align-items: center; +} +.\[\&_\[data-u-command\]\]\:\!univer-h-8 [data-u-command] { + height: 2rem !important; +} +.\[\&_\[data-u-command\]\]\:\!univer-min-h-8 [data-u-command] { + min-height: 2rem !important; +} +.\[\&_\[data-u-command\]\]\:\!univer-rounded-md [data-u-command] { + border-radius: .375rem !important; +} +.\[\&_\[data-u-command\]\]\:\!univer-px-1\.5 [data-u-command] { + padding-left: .375rem !important; + padding-right: .375rem !important; +} +.\[\&_button\]\:\!univer-m-0 button { + margin: 0 !important; +} +.\[\&_button\]\:\!univer-h-8 button { + height: 2rem !important; +} +.\[\&_button\]\:\!univer-min-w-8 button { + min-width: 2rem !important; +} +.\[\&_button\]\:\!univer-appearance-none button { + -webkit-appearance: none !important; + appearance: none !important; +} +.\[\&_button\]\:\!univer-rounded-md button { + border-radius: .375rem !important; +} +.\[\&_button\]\:\!univer-border-0 button { + border-width: 0 !important; +} +.\[\&_button\]\:\!univer-bg-transparent button { + background-color: #0000 !important; +} +.\[\&_button\]\:\!univer-p-0 button { + padding: 0 !important; +} +.\[\&_button\]\:\!univer-px-1\.5 button { + padding-left: .375rem !important; + padding-right: .375rem !important; +} +.\[\&_button\]\:\!univer-leading-none button { + line-height: 1 !important; +} +.\[\&_button\]\:\!univer-outline-none button { + outline-offset: 2px !important; + outline: 2px solid #0000 !important; +} +.\[\&_input\:focus\]\:\!univer-ring-0 input:focus { + --univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color) !important; + --univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(0px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color) !important; + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + 0 0 #0000 !important; + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + var(--univer-tw-shadow, 0 0 #0000) !important; +} +.\[\&_input\]\:\!univer-m-0 input { + margin: 0 !important; +} +.\[\&_input\]\:univer-h-6 input { + height: 1.5rem; +} +.\[\&_input\]\:univer-w-7 input { + width: 1.75rem; +} +.\[\&_input\]\:\!univer-appearance-none input { + -webkit-appearance: none !important; + appearance: none !important; +} +.\[\&_input\]\:\!univer-border-0 input { + border-width: 0 !important; +} +.\[\&_input\]\:univer-border-none input { + border-style: none; +} +.\[\&_input\]\:\!univer-bg-transparent input { + background-color: #0000 !important; +} +.\[\&_input\]\:\!univer-p-0 input { + padding: 0 !important; +} +.\[\&_input\]\:univer-p-0 input { + padding: 0; +} +.\[\&_input\]\:univer-text-sm input { + font-size: .875rem; + line-height: 1.25rem; +} +.\[\&_input\]\:\!univer-leading-none input { + line-height: 1 !important; +} +.\[\&_input\]\:\!univer-outline-none input { + outline-offset: 2px !important; + outline: 2px solid #0000 !important; +} + +/* node_modules/@univerjs/docs-ui/lib/index.css */ +.univer-absolute { + position: absolute; +} +.univer-relative { + position: relative; +} +.univer-bottom-0 { + bottom: 0; +} +.univer-left-0 { + left: 0; +} +.univer-left-5 { + left: 1.25rem; +} +.univer-left-\[5px\] { + left: 5px; +} +.univer-top-0 { + top: 0; +} +.univer-top-4 { + top: 1rem; +} +.univer-top-\[5px\] { + top: 5px; +} +.univer-z-\[100\] { + z-index: 100; +} +.univer-mb-1 { + margin-bottom: .25rem; +} +.univer-mb-2 { + margin-bottom: .5rem; +} +.univer-mr-1 { + margin-right: .25rem; +} +.univer-mt-1\.5 { + margin-top: .375rem; +} +.univer-mt-12 { + margin-top: 3rem; +} +.univer-mt-3 { + margin-top: .75rem; +} +.univer-mt-4 { + margin-top: 1rem; +} +.univer-box-border { + box-sizing: border-box; +} +.univer-block { + display: block; +} +.univer-flex { + display: flex; +} +.univer-inline-flex { + display: inline-flex; +} +.univer-grid { + display: grid; +} +.univer-size-3 { + width: .75rem; + height: .75rem; +} +.univer-size-4 { + width: 1rem; + height: 1rem; +} +.univer-size-8 { + width: 2rem; + height: 2rem; +} +.univer-size-full { + width: 100%; + height: 100%; +} +.univer-h-20 { + height: 5rem; +} +.univer-h-7 { + height: 1.75rem; +} +.univer-h-8 { + height: 2rem; +} +.univer-h-\[24px\] { + height: 24px; +} +.univer-w-28 { + width: 7rem; +} +.univer-w-4\/5 { + width: 80%; +} +.univer-w-\[0px\] { + width: 0; +} +.univer-w-\[162px\] { + width: 162px; +} +.univer-w-\[212px\] { + width: 212px; +} +.univer-w-\[72px\] { + width: 72px; +} +.univer-w-full { + width: 100%; +} +.univer-min-w-\[180px\] { + min-width: 180px; +} +.univer-flex-1 { + flex: 1; +} +.univer-flex-shrink-0 { + flex-shrink: 0; +} +.univer-cursor-pointer { + cursor: pointer; +} +.univer-grid-cols-3 { + grid-template-columns: repeat(3, minmax(0, 1fr)); +} +.univer-flex-col { + flex-direction: column; +} +.univer-flex-nowrap { + flex-wrap: nowrap; +} +.univer-items-center { + align-items: center; +} +.univer-justify-end { + justify-content: flex-end; +} +.univer-justify-center { + justify-content: center; +} +.univer-justify-between { + justify-content: space-between; +} +.univer-justify-around { + justify-content: space-around; +} +.univer-gap-1 { + gap: .25rem; +} +.univer-gap-1\.5 { + gap: .375rem; +} +.univer-gap-2 { + gap: .5rem; +} +.univer-gap-2\.5 { + gap: .625rem; +} +.univer-gap-4 { + gap: 1rem; +} +.univer-overflow-hidden { + overflow: hidden; +} +.univer-overflow-y-auto { + overflow-y: auto; +} +.univer-overflow-x-hidden { + overflow-x: hidden; +} +.univer-truncate { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} +.univer-rounded { + border-radius: .25rem; +} +.univer-rounded-full { + border-radius: 9999px; +} +.univer-rounded-md { + border-radius: .375rem; +} +.univer-rounded-r-2xl { + border-top-right-radius: 1rem; + border-bottom-right-radius: 1rem; +} +.univer-border-primary-500 { + border-color: var(--univer-primary-500); +} +.\!univer-bg-gray-700 { + background-color: var(--univer-gray-700) !important; +} +.\!univer-bg-gray-900 { + background-color: var(--univer-gray-900) !important; +} +.univer-bg-gray-100 { + background-color: var(--univer-gray-100); +} +.univer-bg-white { + background-color: var(--univer-white); +} +.univer-bg-none { + background-image: none; +} +.univer-p-1 { + padding: .25rem; +} +.univer-p-1\.5 { + padding: .375rem; +} +.univer-px-2 { + padding-left: .5rem; + padding-right: .5rem; +} +.univer-px-2\.5 { + padding-left: .625rem; + padding-right: .625rem; +} +.univer-px-3 { + padding-left: .75rem; + padding-right: .75rem; +} +.univer-px-4 { + padding-left: 1rem; + padding-right: 1rem; +} +.univer-px-5 { + padding-left: 1.25rem; + padding-right: 1.25rem; +} +.univer-py-0 { + padding-top: 0; + padding-bottom: 0; +} +.univer-py-1 { + padding-top: .25rem; + padding-bottom: .25rem; +} +.univer-py-1\.5 { + padding-top: .375rem; + padding-bottom: .375rem; +} +.univer-pb-0\.5 { + padding-bottom: .125rem; +} +.univer-pb-4 { + padding-bottom: 1rem; +} +.univer-pl-1\.5 { + padding-left: .375rem; +} +.univer-pr-1 { + padding-right: .25rem; +} +.univer-pr-2 { + padding-right: .5rem; +} +.univer-pt-1\.5 { + padding-top: .375rem; +} +.univer-pt-14 { + padding-top: 3.5rem; +} +.univer-text-base { + font-size: 1rem; + line-height: 1.5rem; +} +.univer-text-sm { + font-size: .875rem; + line-height: 1.25rem; +} +.univer-text-xs { + font-size: .75rem; + line-height: 1rem; +} +.univer-font-\[500\], +.univer-font-medium { + font-weight: 500; +} +.univer-font-semibold { + font-weight: 600; +} +.univer-leading-\[24px\] { + line-height: 24px; +} +.\!univer-text-gray-200 { + color: var(--univer-gray-200) !important; +} +.\!univer-text-gray-400 { + color: var(--univer-gray-400) !important; +} +.univer-text-gray-400 { + color: var(--univer-gray-400); +} +.univer-text-gray-500 { + color: var(--univer-gray-500); +} +.univer-text-gray-600 { + color: var(--univer-gray-600); +} +.univer-text-gray-800 { + color: var(--univer-gray-800); +} +.univer-text-gray-900 { + color: var(--univer-gray-900); +} +.univer-shadow { + --univer-tw-shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a; + --univer-tw-shadow-colored: 0 1px 3px 0 var(--univer-tw-shadow-color), 0 1px 2px -1px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 1px 3px #0000001a, + 0 1px 2px -1px #0000001a; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-shadow-sm { + --univer-tw-shadow: 0px 1px 2px 0px #1e284d14; + --univer-tw-shadow-colored: 0px 1px 2px 0px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 1px 2px #1e284d14; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-backdrop-blur-\[10px\] { + --univer-tw-backdrop-blur: blur(10px); + backdrop-filter: var(--univer-tw-backdrop-blur) var(--univer-tw-backdrop-brightness) var(--univer-tw-backdrop-contrast) var(--univer-tw-backdrop-grayscale) var(--univer-tw-backdrop-hue-rotate) var(--univer-tw-backdrop-invert) var(--univer-tw-backdrop-opacity) var(--univer-tw-backdrop-saturate) var(--univer-tw-backdrop-sepia); +} +.univer-transition-all { + transition-property: all; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-duration-300 { + transition-duration: .3s; +} +.hover\:univer-border-primary-500:hover { + border-color: var(--univer-primary-500); +} +.hover\:univer-bg-gray-100:hover { + background-color: var(--univer-gray-100); +} +.dark\:\!univer-border-gray-700:where(.univer-dark, .univer-dark *) { + border-color: var(--univer-gray-700) !important; +} +.dark\:\!univer-bg-gray-600:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-600) !important; +} +.dark\:\!univer-bg-gray-700:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-700) !important; +} +.dark\:\!univer-bg-gray-900:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-900) !important; +} +.dark\:\!univer-text-gray-200:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-200) !important; +} +.dark\:\!univer-text-gray-400:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-400) !important; +} +.dark\:\!univer-text-white:where(.univer-dark, .univer-dark *) { + color: var(--univer-white) !important; +} +.dark\:hover\:\!univer-bg-gray-600:hover:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-600) !important; +} + +/* node_modules/@univerjs/sheets-ui/lib/index.css */ +.univer-pointer-events-none { + pointer-events: none; +} +.univer-absolute { + position: absolute; +} +.univer-relative { + position: relative; +} +.univer-inset-0 { + top: 0; + bottom: 0; + left: 0; + right: 0; +} +.-univer-bottom-0\.5 { + bottom: -.125rem; +} +.-univer-left-0\.5 { + left: -.125rem; +} +.-univer-right-0\.5 { + right: -.125rem; +} +.-univer-top-0\.5 { + top: -.125rem; +} +.univer-left-0 { + left: 0; +} +.univer-left-1 { + left: .25rem; +} +.univer-left-3 { + left: .75rem; +} +.univer-right-0 { + right: 0; +} +.univer-right-5 { + right: 1.25rem; +} +.univer-top-0 { + top: 0; +} +.univer-top-0\.5 { + top: .125rem; +} +.univer-top-1\/2 { + top: 50%; +} +.univer-z-10 { + z-index: 10; +} +.univer-z-\[1001\] { + z-index: 1001; +} +.univer-z-\[100\] { + z-index: 100; +} +.univer-m-0 { + margin: 0; +} +.univer-mx-1 { + margin-left: .25rem; + margin-right: .25rem; +} +.univer-my-1 { + margin-top: .25rem; + margin-bottom: .25rem; +} +.univer-my-1\.5 { + margin-top: .375rem; + margin-bottom: .375rem; +} +.univer-my-2 { + margin-top: .5rem; + margin-bottom: .5rem; +} +.univer-mb-1\.5 { + margin-bottom: .375rem; +} +.univer-mb-2 { + margin-bottom: .5rem; +} +.univer-mb-3 { + margin-bottom: .75rem; +} +.univer-mb-4 { + margin-bottom: 1rem; +} +.univer-ml-1 { + margin-left: .25rem; +} +.univer-ml-1\.5 { + margin-left: .375rem; +} +.univer-ml-3 { + margin-left: .75rem; +} +.univer-ml-6 { + margin-left: 1.5rem; +} +.univer-ml-px { + margin-left: 1px; +} +.univer-mr-1\.5 { + margin-right: .375rem; +} +.univer-mr-2 { + margin-right: .5rem; +} +.univer-mr-5 { + margin-right: 1.25rem; +} +.univer-mt-1 { + margin-top: .25rem; +} +.univer-mt-2 { + margin-top: .5rem; +} +.univer-mt-3 { + margin-top: .75rem; +} +.univer-mt-4 { + margin-top: 1rem; +} +.univer-mt-auto { + margin-top: auto; +} +.univer-box-border { + box-sizing: border-box; +} +.univer-block { + display: block; +} +.univer-flex { + display: flex; +} +.univer-inline-flex { + display: inline-flex; +} +.univer-grid { + display: grid; +} +.univer-hidden { + display: none; +} +.univer-size-0 { + width: 0; + height: 0; +} +.univer-size-10 { + width: 2.5rem; + height: 2.5rem; +} +.univer-size-4 { + width: 1rem; + height: 1rem; +} +.univer-size-6 { + width: 1.5rem; + height: 1.5rem; +} +.univer-size-full { + width: 100%; + height: 100%; +} +.univer-h-0\.5 { + height: .125rem; +} +.univer-h-1 { + height: .25rem; +} +.univer-h-10 { + height: 2.5rem; +} +.univer-h-20 { + height: 5rem; +} +.univer-h-4 { + height: 1rem; +} +.univer-h-5 { + height: 1.25rem; +} +.univer-h-6 { + height: 1.5rem; +} +.univer-h-60 { + height: 15rem; +} +.univer-h-7 { + height: 1.75rem; +} +.univer-h-8 { + height: 2rem; +} +.univer-h-9 { + height: 2.25rem; +} +.univer-h-\[270px\] { + height: 270px; +} +.univer-h-\[30px\] { + height: 30px; +} +.univer-h-\[calc\(100\%-16px\)\] { + height: calc(100% - 16px); +} +.univer-h-\[calc\(100\%-8px\)\] { + height: calc(100% - 8px); +} +.univer-h-full { + height: 100%; +} +.univer-h-px { + height: 1px; +} +.univer-max-h-52 { + max-height: 13rem; +} +.univer-max-h-\[100px\] { + max-height: 100px; +} +.univer-max-h-\[360px\] { + max-height: 360px; +} +.\!univer-w-\[90px\] { + width: 90px !important; +} +.univer-w-16 { + width: 4rem; +} +.univer-w-20 { + width: 5rem; +} +.univer-w-24 { + width: 6rem; +} +.univer-w-5 { + width: 1.25rem; +} +.univer-w-6 { + width: 1.5rem; +} +.univer-w-60 { + width: 15rem; +} +.univer-w-\[100px\] { + width: 100px; +} +.univer-w-\[130px\] { + width: 130px; +} +.univer-w-\[156px\] { + width: 156px; +} +.univer-w-\[300px\] { + width: 300px; +} +.univer-w-\[50\%\] { + width: 50%; +} +.univer-w-fit { + width: fit-content; +} +.univer-w-full { + width: 100%; +} +.univer-min-w-0 { + min-width: 0; +} +.univer-max-w-32 { + max-width: 8rem; +} +.univer-max-w-36 { + max-width: 9rem; +} +.univer-max-w-64 { + max-width: 16rem; +} +.univer-max-w-\[190px\] { + max-width: 190px; +} +.univer-max-w-\[200px\] { + max-width: 200px; +} +.univer-max-w-\[calc\(100\%-112px\)\] { + max-width: calc(100% - 112px); +} +.univer-max-w-fit { + max-width: fit-content; +} +.univer-max-w-lg { + max-width: 32rem; +} +.univer-flex-1 { + flex: 1; +} +.univer-flex-shrink-0, +.univer-shrink-0 { + flex-shrink: 0; +} +.univer-flex-grow { + flex-grow: 1; +} +.univer-flex-grow-0 { + flex-grow: 0; +} +.-univer-translate-y-1\/2 { + --univer-tw-translate-y: -50%; + transform: translate(var(--univer-tw-translate-x), -50%) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.univer-rotate-180 { + --univer-tw-rotate: 180deg; + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(180deg) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +@keyframes univer-spin { + to { + transform: rotate(360deg); + } +} +.univer-animate-spin { + animation: 1s linear infinite univer-spin; +} +.univer-cursor-default { + cursor: default; +} +.univer-cursor-not-allowed { + cursor: not-allowed; +} +.univer-cursor-pointer { + cursor: pointer; +} +.univer-select-none { + user-select: none; +} +.univer-list-none { + list-style-type: none; +} +.univer-appearance-none { + -webkit-appearance: none; + appearance: none; +} +.univer-grid-flow-col { + grid-auto-flow: column; +} +.univer-grid-cols-5 { + grid-template-columns: repeat(5, minmax(0, 1fr)); +} +.univer-grid-cols-\[1fr\,auto\,auto\,auto\] { + grid-template-columns: 1fr auto auto auto; +} +.univer-flex-row { + flex-direction: row; +} +.univer-flex-row-reverse { + flex-direction: row-reverse; +} +.univer-flex-col { + flex-direction: column; +} +.univer-flex-nowrap { + flex-wrap: nowrap; +} +.univer-items-center { + align-items: center; +} +.univer-justify-end { + justify-content: flex-end; +} +.univer-justify-center { + justify-content: center; +} +.univer-justify-between { + justify-content: space-between; +} +.univer-gap-1 { + gap: .25rem; +} +.univer-gap-2 { + gap: .5rem; +} +.univer-gap-7 { + gap: 1.75rem; +} +.univer-gap-x-2 { + -moz-column-gap: .5rem; + column-gap: .5rem; +} +.univer-space-y-2 > :not([hidden]) ~ :not([hidden]) { + --univer-tw-space-y-reverse: 0; + margin-top: .5rem; + margin-top: calc(.5rem * (1 - var(--univer-tw-space-y-reverse))); + margin-top: .5rem; + margin-top: calc(.5rem * calc(1 - var(--univer-tw-space-y-reverse))); + margin-bottom: 0; + margin-bottom: calc(.5rem * var(--univer-tw-space-y-reverse)); +} +.univer-divide-x-0 > :not([hidden]) ~ :not([hidden]) { + --univer-tw-divide-x-reverse: 0; + border-right-width: 0; + border-right-width: calc(0px * var(--univer-tw-divide-x-reverse)); + border-left-width: 0; + border-left-width: calc(0px * (1 - var(--univer-tw-divide-x-reverse))); + border-left-width: 0; + border-left-width: calc(0px * calc(1 - var(--univer-tw-divide-x-reverse))); +} +.univer-divide-y > :not([hidden]) ~ :not([hidden]) { + --univer-tw-divide-y-reverse: 0; + border-top-width: 1px; + border-top-width: calc(1px * (1 - var(--univer-tw-divide-y-reverse))); + border-top-width: 1px; + border-top-width: calc(1px * calc(1 - var(--univer-tw-divide-y-reverse))); + border-bottom-width: 0; + border-bottom-width: calc(1px * var(--univer-tw-divide-y-reverse)); +} +.univer-divide-solid > :not([hidden]) ~ :not([hidden]) { + border-style: solid; +} +.univer-divide-gray-200 > :not([hidden]) ~ :not([hidden]) { + border-color: var(--univer-gray-200); +} +.univer-justify-self-center { + justify-self: center; +} +.univer-overflow-hidden { + overflow: hidden; +} +.univer-overflow-x-auto { + overflow-x: auto; +} +.univer-overflow-y-auto { + overflow-y: auto; +} +.univer-overflow-y-hidden { + overflow-y: hidden; +} +.univer-truncate { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} +.univer-whitespace-nowrap { + white-space: nowrap; +} +.univer-break-words { + word-wrap: break-word; +} +.univer-rounded { + border-radius: .25rem; +} +.univer-rounded-full { + border-radius: 9999px; +} +.univer-rounded-lg { + border-radius: .5rem; +} +.univer-rounded-md { + border-radius: .375rem; +} +.univer-rounded-sm { + border-radius: .125rem; +} +.univer-border { + border-width: 1px; +} +.univer-border-2 { + border-width: 2px; +} +.univer-border-4 { + border-width: 4px; +} +.univer-border-b { + border-bottom-width: 1px; +} +.univer-border-solid { + border-style: solid; +} +.univer-border-none { + border-style: none; +} +.univer-border-\[rgba\(13\,13\,13\,0\.12\)\] { + border-color: #0d0d0d1f; +} +.univer-border-gray-100 { + border-color: var(--univer-gray-100); +} +.univer-border-gray-200 { + border-color: var(--univer-gray-200); +} +.univer-border-transparent { + border-color: #0000; +} +.univer-border-r-gray-200 { + border-right-color: var(--univer-gray-200); +} +.univer-border-t-primary-500 { + border-top-color: var(--univer-primary-500); +} +.\!univer-bg-gray-600 { + background-color: var(--univer-gray-600) !important; +} +.\!univer-bg-gray-700 { + background-color: var(--univer-gray-700) !important; +} +.\!univer-bg-gray-800 { + background-color: var(--univer-gray-800) !important; +} +.\!univer-bg-gray-900 { + background-color: var(--univer-gray-900) !important; +} +.univer-bg-blue-500 { + background-color: var(--univer-blue-500); +} +.univer-bg-blue-600 { + background-color: var(--univer-blue-600); +} +.univer-bg-gray-100 { + background-color: var(--univer-gray-100); +} +.univer-bg-gray-200 { + background-color: var(--univer-gray-200); +} +.univer-bg-transparent { + background-color: #0000; +} +.univer-bg-white { + background-color: var(--univer-white); +} +.univer-bg-gradient-to-b { + background-image: linear-gradient(to bottom, var(--univer-tw-gradient-stops)); +} +.univer-from-gray-50 { + --univer-tw-gradient-from: var(--univer-gray-50) var(--univer-tw-gradient-from-position); + --univer-tw-gradient-to: #fff0 var(--univer-tw-gradient-to-position); + --univer-tw-gradient-stops: var(--univer-tw-gradient-from), var(--univer-tw-gradient-to); +} +.univer-to-gray-100 { + --univer-tw-gradient-to: var(--univer-gray-100) var(--univer-tw-gradient-to-position); +} +.univer-fill-gray-900 { + fill: var(--univer-gray-900); +} +.univer-fill-primary-600 { + fill: var(--univer-primary-600); +} +.univer-p-0 { + padding: 0; +} +.univer-p-1 { + padding: .25rem; +} +.univer-p-1\.5 { + padding: .375rem; +} +.univer-p-2 { + padding: .5rem; +} +.univer-p-3 { + padding: .75rem; +} +.univer-p-4 { + padding: 1rem; +} +.univer-px-1 { + padding-left: .25rem; + padding-right: .25rem; +} +.univer-px-1\.5 { + padding-left: .375rem; + padding-right: .375rem; +} +.univer-px-2 { + padding-left: .5rem; + padding-right: .5rem; +} +.univer-px-3\.5 { + padding-left: .875rem; + padding-right: .875rem; +} +.univer-px-5 { + padding-left: 1.25rem; + padding-right: 1.25rem; +} +.univer-py-0\.5 { + padding-top: .125rem; + padding-bottom: .125rem; +} +.univer-py-1 { + padding-top: .25rem; + padding-bottom: .25rem; +} +.univer-py-1\.5 { + padding-top: .375rem; + padding-bottom: .375rem; +} +.univer-py-2 { + padding-top: .5rem; + padding-bottom: .5rem; +} +.univer-py-3 { + padding-top: .75rem; + padding-bottom: .75rem; +} +.univer-py-5 { + padding-top: 1.25rem; + padding-bottom: 1.25rem; +} +.univer-pb-1 { + padding-bottom: .25rem; +} +.univer-pl-1\.5 { + padding-left: .375rem; +} +.univer-pl-3 { + padding-left: .75rem; +} +.univer-pl-6 { + padding-left: 1.5rem; +} +.univer-pr-5 { + padding-right: 1.25rem; +} +.univer-pt-1 { + padding-top: .25rem; +} +.univer-pt-2 { + padding-top: .5rem; +} +.univer-text-center { + text-align: center; +} +.univer-text-base { + font-size: 1rem; + line-height: 1.5rem; +} +.univer-text-sm { + font-size: .875rem; + line-height: 1.25rem; +} +.univer-text-xs { + font-size: .75rem; + line-height: 1rem; +} +.univer-font-bold { + font-weight: 700; +} +.univer-font-medium { + font-weight: 500; +} +.univer-font-semibold { + font-weight: 600; +} +.univer-leading-5 { + line-height: 1.25rem; +} +.univer-leading-6 { + line-height: 1.5rem; +} +.univer-leading-7 { + line-height: 1.75rem; +} +.\!univer-text-blue-400 { + color: var(--univer-blue-400) !important; +} +.\!univer-text-gray-700 { + color: var(--univer-gray-700) !important; +} +.\!univer-text-white { + color: var(--univer-white) !important; +} +.univer-text-blue-500 { + color: var(--univer-blue-500); +} +.univer-text-blue-600 { + color: var(--univer-blue-600); +} +.univer-text-gray-200 { + color: var(--univer-gray-200); +} +.univer-text-gray-300 { + color: var(--univer-gray-300); +} +.univer-text-gray-400 { + color: var(--univer-gray-400); +} +.univer-text-gray-500 { + color: var(--univer-gray-500); +} +.univer-text-gray-600 { + color: var(--univer-gray-600); +} +.univer-text-gray-700 { + color: var(--univer-gray-700); +} +.univer-text-gray-900 { + color: var(--univer-gray-900); +} +.univer-text-green-600 { + color: var(--univer-green-600); +} +.univer-text-primary-500 { + color: var(--univer-primary-500); +} +.univer-text-primary-600 { + color: var(--univer-primary-600); +} +.univer-text-primary-700 { + color: var(--univer-primary-700); +} +.univer-text-red-500 { + color: var(--univer-red-500); +} +.univer-text-red-600 { + color: var(--univer-red-600); +} +.univer-text-white { + color: var(--univer-white); +} +.univer-text-yellow-500 { + color: var(--univer-yellow-500); +} +.univer-shadow { + --univer-tw-shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a; + --univer-tw-shadow-colored: 0 1px 3px 0 var(--univer-tw-shadow-color), 0 1px 2px -1px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 1px 3px #0000001a, + 0 1px 2px -1px #0000001a; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-shadow-lg { + --univer-tw-shadow: 0px 4px 6px 0px #1e284d0d, 0px 10px 15px -3px #1e284d1a; + --univer-tw-shadow-colored: 0px 4px 6px 0px var(--univer-tw-shadow-color), 0px 10px 15px -3px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 4px 6px #1e284d0d, + 0 10px 15px -3px #1e284d1a; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-outline-none { + outline-offset: 2px; + outline: 2px solid #0000; +} +.univer-blur-sm { + --univer-tw-blur: blur(4px); + filter: var(--univer-tw-blur) var(--univer-tw-brightness) var(--univer-tw-contrast) var(--univer-tw-grayscale) var(--univer-tw-hue-rotate) var(--univer-tw-invert) var(--univer-tw-saturate) var(--univer-tw-sepia) var(--univer-tw-drop-shadow); +} +.univer-backdrop-blur { + --univer-tw-backdrop-blur: blur(8px); + backdrop-filter: var(--univer-tw-backdrop-blur) var(--univer-tw-backdrop-brightness) var(--univer-tw-backdrop-contrast) var(--univer-tw-backdrop-grayscale) var(--univer-tw-backdrop-hue-rotate) var(--univer-tw-backdrop-invert) var(--univer-tw-backdrop-opacity) var(--univer-tw-backdrop-saturate) var(--univer-tw-backdrop-sepia); +} +.univer-transition-\[colors\,box-shadow\] { + transition-property: colors, box-shadow; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-transition-\[height\] { + transition-property: height; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-transition-all { + transition-property: all; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-transition-colors { + transition-property: + color, + background-color, + border-color, + text-decoration-color, + fill, + stroke; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-duration-200 { + transition-duration: .2s; +} +.univer-ease-linear { + transition-timing-function: linear; +} +.after\:univer-absolute:after { + content: var(--univer-tw-content); + position: absolute; +} +.after\:univer-right-0:after { + content: var(--univer-tw-content); + right: 0; +} +.after\:univer-top-1\/2:after { + content: var(--univer-tw-content); + top: 50%; +} +.after\:univer-block:after { + content: var(--univer-tw-content); + display: block; +} +.after\:univer-h-4:after { + content: var(--univer-tw-content); + height: 1rem; +} +.after\:univer-w-px:after { + content: var(--univer-tw-content); + width: 1px; +} +.after\:-univer-translate-y-1\/2:after { + content: var(--univer-tw-content); + --univer-tw-translate-y: -50%; + transform: translate(var(--univer-tw-translate-x), -50%) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.after\:univer-bg-gray-200:after { + content: var(--univer-tw-content); + background-color: var(--univer-gray-200); +} +.after\:univer-content-\[\"\"\]:after { + --univer-tw-content: ""; + content: ""; + content: var(--univer-tw-content); +} +.last\:univer-mb-0:last-child { + margin-bottom: 0; +} +.univer-group:hover .group-hover\:univer-flex { + display: flex; +} +.hover\:univer-border-primary-600:hover { + border-color: var(--univer-primary-600); +} +.hover\:univer-bg-gray-100:hover { + background-color: var(--univer-gray-100); +} +.hover\:univer-bg-gray-200:hover { + background-color: var(--univer-gray-200); +} +.hover\:univer-bg-gray-50:hover { + background-color: var(--univer-gray-50); +} +.hover\:univer-bg-transparent:hover { + background-color: #0000; +} +.focus\:univer-border-primary-500:focus { + border-color: var(--univer-primary-500); +} +.focus\:univer-outline-none:focus { + outline-offset: 2px; + outline: 2px solid #0000; +} +.focus-visible\:univer-ring-2:focus-visible { + --univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color); + --univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(2px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color); + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + 0 0 #0000; + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + var(--univer-tw-shadow, 0 0 #0000); +} +.focus-visible\:univer-ring-primary-500:focus-visible { + --univer-tw-ring-color: var(--univer-primary-500); +} +.active\:univer-bg-gray-100:active { + background-color: var(--univer-gray-100); +} +.dark\:\!univer-divide-gray-600:where(.univer-dark, .univer-dark *) > :not([hidden]) ~ :not([hidden]) { + border-color: var(--univer-gray-600) !important; +} +.dark\:\!univer-border-gray-700:where(.univer-dark, .univer-dark *) { + border-color: var(--univer-gray-700) !important; +} +.dark\:\!univer-border-r-gray-700:where(.univer-dark, .univer-dark *) { + border-right-color: var(--univer-gray-700) !important; +} +.dark\:\!univer-bg-black:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-black) !important; +} +.dark\:\!univer-bg-blue-400:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-blue-400) !important; +} +.dark\:\!univer-bg-gray-600:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-600) !important; +} +.dark\:\!univer-bg-gray-700:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-700) !important; +} +.dark\:\!univer-bg-gray-800:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-800) !important; +} +.dark\:\!univer-bg-gray-900:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-900) !important; +} +.dark\:\!univer-from-gray-800:where(.univer-dark, .univer-dark *) { + --univer-tw-gradient-from: var(--univer-gray-800) var(--univer-tw-gradient-from-position) !important; + --univer-tw-gradient-to: #fff0 var(--univer-tw-gradient-to-position) !important; + --univer-tw-gradient-stops: var(--univer-tw-gradient-from), var(--univer-tw-gradient-to) !important; +} +.dark\:\!univer-to-gray-900:where(.univer-dark, .univer-dark *) { + --univer-tw-gradient-to: var(--univer-gray-900) var(--univer-tw-gradient-to-position) !important; +} +.dark\:\!univer-fill-white:where(.univer-dark, .univer-dark *) { + fill: var(--univer-white) !important; +} +.dark\:\!univer-text-blue-400:where(.univer-dark, .univer-dark *) { + color: var(--univer-blue-400) !important; +} +.dark\:\!univer-text-gray-200:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-200) !important; +} +.dark\:\!univer-text-gray-300:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-300) !important; +} +.dark\:\!univer-text-gray-700:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-700) !important; +} +.dark\:\!univer-text-green-400:where(.univer-dark, .univer-dark *) { + color: var(--univer-green-400) !important; +} +.dark\:\!univer-text-red-400:where(.univer-dark, .univer-dark *) { + color: var(--univer-red-400) !important; +} +.dark\:\!univer-text-white:where(.univer-dark, .univer-dark *) { + color: var(--univer-white) !important; +} +.dark\:hover\:\!univer-bg-gray-600:hover:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-600) !important; +} +.dark\:hover\:\!univer-bg-gray-700:hover:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-700) !important; +} +.dark\:hover\:\!univer-bg-gray-800:hover:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-800) !important; +} +.\[\&\>div\:first-child\]\:univer-px-2\.5 > div:first-child { + padding-left: .625rem; + padding-right: .625rem; +} +.\[\&\>div\]\:univer-h-5 > div { + height: 1.25rem; +} +.\[\&\>div\]\:univer-ring-transparent > div { + --univer-tw-ring-color: transparent; +} +.\[\&_canvas\]\:univer-absolute canvas { + position: absolute; +} + +/* node_modules/@univerjs/sheets-formula-ui/lib/index.css */ +.univer-absolute { + position: absolute; +} +.univer-relative { + position: relative; +} +.univer-left-1\.5 { + left: .375rem; +} +.univer-top-1\/2 { + top: 50%; +} +.univer-z-\[15\] { + z-index: 15; +} +.univer-m-0 { + margin: 0; +} +.-univer-mx-6 { + margin-left: -1.5rem; + margin-right: -1.5rem; +} +.univer-mx-0 { + margin-left: 0; + margin-right: 0; +} +.univer-my-1 { + margin-top: .25rem; + margin-bottom: .25rem; +} +.univer-my-2 { + margin-top: .5rem; + margin-bottom: .5rem; +} +.univer-mb-0 { + margin-bottom: 0; +} +.univer-mb-2 { + margin-bottom: .5rem; +} +.univer-mb-5 { + margin-bottom: 1.25rem; +} +.univer-ml-2 { + margin-left: .5rem; +} +.univer-ml-4 { + margin-left: 1rem; +} +.univer-mr-0 { + margin-right: 0; +} +.univer-mt-0 { + margin-top: 0; +} +.univer-mt-1 { + margin-top: .25rem; +} +.univer-mt-2 { + margin-top: .5rem; +} +.univer-mt-3 { + margin-top: .75rem; +} +.univer-box-border { + box-sizing: border-box; +} +.univer-block { + display: block; +} +.univer-flex { + display: flex; +} +.univer-inline-flex { + display: inline-flex; +} +.univer-size-6 { + width: 1.5rem; + height: 1.5rem; +} +.univer-size-full { + width: 100%; + height: 100%; +} +.univer-h-\[18px\] { + height: 18px; +} +.univer-h-\[364px\] { + height: 364px; +} +.univer-h-full { + height: 100%; +} +.univer-max-h-60 { + max-height: 15rem; +} +.univer-max-h-72 { + max-height: 18rem; +} +.univer-max-h-\[350px\] { + max-height: 350px; +} +.univer-max-h-\[400px\] { + max-height: 400px; +} +.univer-w-\[250px\] { + width: 250px; +} +.univer-w-full { + width: 100%; +} +.univer-flex-1 { + flex: 1; +} +.-univer-translate-y-1\/2 { + --univer-tw-translate-y: -50%; + transform: translate(var(--univer-tw-translate-x), -50%) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); + transform: translate(var(--univer-tw-translate-x), var(--univer-tw-translate-y)) rotate(var(--univer-tw-rotate)) skewX(var(--univer-tw-skew-x)) skewY(var(--univer-tw-skew-y)) scaleX(var(--univer-tw-scale-x)) scaleY(var(--univer-tw-scale-y)); +} +.univer-cursor-pointer { + cursor: pointer; +} +.univer-select-none { + user-select: none; +} +.univer-list-none { + list-style-type: none; +} +.univer-flex-col { + flex-direction: column; +} +.univer-items-center { + align-items: center; +} +.univer-justify-end { + justify-content: flex-end; +} +.univer-justify-center { + justify-content: center; +} +.univer-justify-between { + justify-content: space-between; +} +.univer-justify-around { + justify-content: space-around; +} +.univer-gap-2 { + gap: .5rem; +} +.univer-gap-4 { + gap: 1rem; +} +.univer-overflow-visible { + overflow: visible; +} +.univer-overflow-y-auto { + overflow-y: auto; +} +.univer-truncate { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} +.univer-whitespace-nowrap { + white-space: nowrap; +} +.univer-whitespace-pre-wrap { + white-space: pre-wrap; +} +.univer-break-words { + word-wrap: break-word; +} +.univer-break-all { + word-break: break-all; +} +.univer-rounded { + border-radius: .25rem; +} +.univer-rounded-lg { + border-radius: .5rem; +} +.univer-rounded-none { + border-radius: 0; +} +.univer-rounded-l { + border-top-left-radius: .25rem; + border-bottom-left-radius: .25rem; +} +.univer-border { + border-width: 1px; +} +.univer-border-r-0 { + border-right-width: 0; +} +.univer-border-gray-600 { + border-color: var(--univer-gray-600); +} +.univer-border-primary-600 { + border-color: var(--univer-primary-600); +} +.\!univer-bg-gray-600 { + background-color: var(--univer-gray-600) !important; +} +.univer-bg-gray-200 { + background-color: var(--univer-gray-200); +} +.univer-bg-primary-600 { + background-color: var(--univer-primary-600); +} +.univer-bg-transparent { + background-color: #0000; +} +.univer-bg-white { + background-color: var(--univer-white); +} +.univer-p-0 { + padding: 0; +} +.univer-p-0\.5 { + padding: .125rem; +} +.univer-p-2 { + padding: .5rem; +} +.univer-p-3 { + padding: .75rem; +} +.univer-px-2 { + padding-left: .5rem; + padding-right: .5rem; +} +.univer-px-4 { + padding-left: 1rem; + padding-right: 1rem; +} +.univer-px-6 { + padding-left: 1.5rem; + padding-right: 1.5rem; +} +.univer-px-7 { + padding-left: 1.75rem; + padding-right: 1.75rem; +} +.univer-py-1 { + padding-top: .25rem; + padding-bottom: .25rem; +} +.univer-py-2 { + padding-top: .5rem; + padding-bottom: .5rem; +} +.univer-py-3 { + padding-top: .75rem; + padding-bottom: .75rem; +} +.univer-pb-3 { + padding-bottom: .75rem; +} +.univer-pt-0 { + padding-top: 0; +} +.univer-text-base { + font-size: 1rem; + line-height: 1.5rem; +} +.univer-text-sm { + font-size: .875rem; + line-height: 1.25rem; +} +.univer-text-xs { + font-size: .75rem; + line-height: 1rem; +} +.univer-font-bold { + font-weight: 700; +} +.univer-font-medium { + font-weight: 500; +} +.univer-leading-5 { + line-height: 1.25rem; +} +.univer-leading-\[13px\] { + line-height: 13px; +} +.univer-text-gray-400 { + color: var(--univer-gray-400); +} +.univer-text-gray-500 { + color: var(--univer-gray-500); +} +.univer-text-gray-600 { + color: var(--univer-gray-600); +} +.univer-text-gray-900 { + color: var(--univer-gray-900); +} +.univer-text-primary-500 { + color: var(--univer-primary-500); +} +.univer-text-primary-600 { + color: var(--univer-primary-600); +} +.univer-text-red-500 { + color: var(--univer-red-500); +} +.univer-text-white { + color: var(--univer-white); +} +.univer-shadow-md { + --univer-tw-shadow: 0px 1px 6px -2px #1e284d14, 0px 2px 6px -1px #1e284d1a; + --univer-tw-shadow-colored: 0px 1px 6px -2px var(--univer-tw-shadow-color), 0px 2px 6px -1px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 1px 6px -2px #1e284d14, + 0 2px 6px -1px #1e284d1a; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-outline-none { + outline-offset: 2px; + outline: 2px solid #0000; +} +.univer-ring-1 { + --univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color); + --univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(1px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color); + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + 0 0 #0000; + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + var(--univer-tw-shadow, 0 0 #0000); +} +.univer-ring-primary-500 { + --univer-tw-ring-color: var(--univer-primary-500); +} +.univer-ring-red-500 { + --univer-tw-ring-color: var(--univer-red-500); +} +.univer-transition-colors { + transition-property: + color, + background-color, + border-color, + text-decoration-color, + fill, + stroke; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.hover\:univer-bg-gray-200:hover { + background-color: var(--univer-gray-200); +} +.hover\:univer-bg-gray-300:hover { + background-color: var(--univer-gray-300); +} +.dark\:\!univer-bg-gray-600:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-600) !important; +} +.dark\:\!univer-bg-gray-900:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-900) !important; +} +.dark\:\!univer-text-gray-200:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-200) !important; +} +.dark\:\!univer-text-gray-300:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-300) !important; +} +.dark\:\!univer-text-white:where(.univer-dark, .univer-dark *) { + color: var(--univer-white) !important; +} +.dark\:hover\:\!univer-bg-gray-600:hover:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-600) !important; +} + +/* node_modules/@univerjs/sheets-numfmt-ui/lib/index.css */ +.univer-mb-5 { + margin-bottom: 1.25rem; +} +.univer-mr-3 { + margin-right: .75rem; +} +.univer-mt-2 { + margin-top: .5rem; +} +.univer-mt-3 { + margin-top: .75rem; +} +.univer-mt-3\.5 { + margin-top: .875rem; +} +.univer-mt-4 { + margin-top: 1rem; +} +.univer-flex { + display: flex; +} +.univer-grid { + display: grid; +} +.univer-h-7 { + height: 1.75rem; +} +.univer-h-full { + height: 100%; +} +.univer-max-h-\[400px\] { + max-height: 400px; +} +.univer-w-32 { + width: 8rem; +} +.univer-w-36 { + width: 9rem; +} +.univer-w-4 { + width: 1rem; +} +.univer-w-\[340px\] { + width: 340px; +} +.univer-w-full { + width: 100%; +} +.univer-cursor-default { + cursor: default; +} +.univer-cursor-pointer { + cursor: pointer; +} +.univer-flex-col { + flex-direction: column; +} +.univer-items-center { + align-items: center; +} +.univer-justify-end { + justify-content: flex-end; +} +.univer-justify-between { + justify-content: space-between; +} +.univer-gap-1 { + gap: .25rem; +} +.univer-gap-1\.5 { + gap: .375rem; +} +.univer-gap-6 { + gap: 1.5rem; +} +.univer-overflow-auto { + overflow: auto; +} +.univer-overflow-y-auto { + overflow-y: auto; +} +.univer-rounded { + border-radius: .25rem; +} +.univer-rounded-lg { + border-radius: .5rem; +} +.univer-p-1\.5 { + padding: .375rem; +} +.univer-p-2 { + padding: .5rem; +} +.univer-px-2 { + padding-left: .5rem; + padding-right: .5rem; +} +.univer-py-1\.5 { + padding-top: .375rem; + padding-bottom: .375rem; +} +.univer-pb-5 { + padding-bottom: 1.25rem; +} +.univer-text-sm, +.univer-text-sm\/5 { + font-size: .875rem; + line-height: 1.25rem; +} +.univer-text-xs { + font-size: .75rem; + line-height: 1rem; +} +.univer-text-gray-400 { + color: var(--univer-gray-400); +} +.univer-text-gray-500 { + color: var(--univer-gray-500); +} +.univer-text-gray-600 { + color: var(--univer-gray-600); +} +.univer-text-primary-600 { + color: var(--univer-primary-600); +} +.hover\:univer-bg-gray-100:hover { + background-color: var(--univer-gray-100); +} +.dark\:\!univer-text-gray-200:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-200) !important; +} +.dark\:\!univer-text-gray-400:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-400) !important; +} +.dark\:hover\:\!univer-bg-gray-700:hover:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-700) !important; +} + +/* node_modules/@univerjs/drawing-ui/lib/index.css */ +.univer-relative { + position: relative; +} +.univer-mt-2\.5 { + margin-top: .625rem; +} +.univer-flex { + display: flex; +} +.univer-grid { + display: grid; +} +.univer-hidden { + display: none; +} +.univer-h-full { + height: 100%; +} +.univer-w-full { + width: 100%; +} +.univer-grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); +} +.univer-grid-cols-3 { + grid-template-columns: repeat(3, minmax(0, 1fr)); +} +.univer-items-center { + align-items: center; +} +.univer-justify-center { + justify-content: center; +} +.univer-gap-2 { + gap: .5rem; +} +.univer-rounded { + border-radius: .25rem; +} +.\!univer-bg-gray-800 { + background-color: var(--univer-gray-800) !important; +} +.\!univer-bg-gray-900 { + background-color: var(--univer-gray-900) !important; +} +.univer-bg-gray-100 { + background-color: var(--univer-gray-100); +} +.univer-bg-white { + background-color: var(--univer-white); +} +.univer-fill-primary-600 { + fill: var(--univer-primary-600); +} +.univer-p-1 { + padding: .25rem; +} +.univer-py-2 { + padding-top: .5rem; + padding-bottom: .5rem; +} +.univer-text-center { + text-align: center; +} +.univer-text-gray-400 { + color: var(--univer-gray-400); +} +.univer-text-gray-600 { + color: var(--univer-gray-600); +} +.univer-text-gray-900 { + color: var(--univer-gray-900); +} +.hover\:univer-bg-gray-100:hover { + background-color: var(--univer-gray-100); +} +.dark\:\!univer-bg-gray-800:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-800) !important; +} +.dark\:\!univer-bg-gray-900:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-900) !important; +} +.dark\:\!univer-text-gray-200:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-200) !important; +} +.dark\:\!univer-text-white:where(.univer-dark, .univer-dark *) { + color: var(--univer-white) !important; +} +.dark\:hover\:\!univer-bg-gray-800:hover:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-800) !important; +} +.\[\&\>div\]\:univer-grid > div { + display: grid; +} +.\[\&\>div\]\:univer-gap-2 > div { + gap: .5rem; +} + +/* node_modules/@univerjs/sheets-drawing-ui/lib/index.css */ +.univer-flex { + display: flex; +} +.univer-grid { + display: grid; +} +.univer-hidden { + display: none; +} +.univer-flex-col { + flex-direction: column; +} +.univer-justify-end { + justify-content: flex-end; +} +.univer-gap-2 { + gap: .5rem; +} +.univer-border-t { + border-top-width: 1px; +} +.univer-border-gray-200 { + border-color: var(--univer-gray-200); +} +.univer-py-2 { + padding-top: .5rem; + padding-bottom: .5rem; +} +.univer-pt-3 { + padding-top: .75rem; +} +.univer-text-sm { + font-size: .875rem; + line-height: 1.25rem; +} +.univer-text-xs { + font-size: .75rem; + line-height: 1rem; +} +.univer-text-gray-400 { + color: var(--univer-gray-400); +} +.univer-text-gray-600 { + color: var(--univer-gray-600); +} +.univer-text-red-500 { + color: var(--univer-red-500); +} +.dark\:\!univer-text-gray-200:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-200) !important; +} + +/* node_modules/@univerjs/sheets-filter-ui/lib/index.css */ +.univer-absolute { + position: absolute; +} +.univer-relative { + position: relative; +} +.-univer-bottom-0\.5 { + bottom: -.125rem; +} +.-univer-right-0\.5 { + right: -.125rem; +} +.univer-mx-1 { + margin-left: .25rem; + margin-right: .25rem; +} +.univer-mb-1 { + margin-bottom: .25rem; +} +.univer-mb-2 { + margin-bottom: .5rem; +} +.univer-ml-1 { + margin-left: .25rem; +} +.univer-mt-2 { + margin-top: .5rem; +} +.univer-mt-4 { + margin-top: 1rem; +} +.univer-box-border { + box-sizing: border-box; +} +.univer-block { + display: block; +} +.univer-inline-block { + display: inline-block; +} +.univer-flex { + display: flex; +} +.univer-inline-flex { + display: inline-flex; +} +.univer-grid { + display: grid; +} +.univer-hidden { + display: none; +} +.univer-size-3 { + width: .75rem; + height: .75rem; +} +.univer-size-6 { + width: 1.5rem; + height: 1.5rem; +} +.univer-size-full { + width: 100%; + height: 100%; +} +.univer-h-4 { + height: 1rem; +} +.univer-h-5 { + height: 1.25rem; +} +.univer-h-7 { + height: 1.75rem; +} +.univer-h-8 { + height: 2rem; +} +.univer-h-\[300px\] { + height: 300px; +} +.univer-h-full { + height: 100%; +} +.univer-max-h-\[500px\] { + max-height: 500px; +} +.univer-min-h-\[300px\] { + min-height: 300px; +} +.univer-w-\[400px\] { + width: 400px; +} +.univer-w-full { + width: 100%; +} +.univer-flex-1 { + flex: 1; +} +.univer-flex-shrink { + flex-shrink: 1; +} +.univer-flex-shrink-0 { + flex-shrink: 0; +} +.univer-flex-grow { + flex-grow: 1; +} +.univer-flex-grow-0 { + flex-grow: 0; +} +.univer-cursor-pointer { + cursor: pointer; +} +.univer-grid-cols-8 { + grid-template-columns: repeat(8, minmax(0, 1fr)); +} +.univer-flex-col { + flex-direction: column; +} +.univer-flex-nowrap { + flex-wrap: nowrap; +} +.univer-items-center { + align-items: center; +} +.univer-justify-start { + justify-content: flex-start; +} +.univer-justify-center { + justify-content: center; +} +.univer-justify-between { + justify-content: space-between; +} +.univer-gap-1 { + gap: .25rem; +} +.univer-gap-2 { + gap: .5rem; +} +.univer-gap-4 { + gap: 1rem; +} +.univer-overflow-auto { + overflow: auto; +} +.univer-overflow-hidden { + overflow: hidden; +} +.univer-truncate { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} +.univer-whitespace-nowrap { + white-space: nowrap; +} +.univer-rounded-full { + border-radius: 9999px; +} +.univer-rounded-lg { + border-radius: .5rem; +} +.univer-rounded-md { + border-radius: .375rem; +} +.univer-border { + border-width: 1px; +} +.univer-border-solid { + border-style: solid; +} +.univer-border-\[rgba\(13\,13\,13\,0\.06\)\] { + border-color: #0d0d0d0f; +} +.univer-border-transparent { + border-color: #0000; +} +.univer-bg-gray-300 { + background-color: var(--univer-gray-300); +} +.univer-bg-white { + background-color: var(--univer-white); +} +.univer-p-0\.5 { + padding: .125rem; +} +.univer-p-2 { + padding: .5rem; +} +.univer-p-4 { + padding: 1rem; +} +.univer-px-1\.5 { + padding-left: .375rem; + padding-right: .375rem; +} +.univer-px-2 { + padding-left: .5rem; + padding-right: .5rem; +} +.univer-py-0 { + padding-top: 0; + padding-bottom: 0; +} +.univer-py-0\.5 { + padding-top: .125rem; + padding-bottom: .125rem; +} +.univer-py-2\.5 { + padding-top: .625rem; + padding-bottom: .625rem; +} +.univer-pl-5 { + padding-left: 1.25rem; +} +.univer-pr-0\.5 { + padding-right: .125rem; +} +.univer-pr-2 { + padding-right: .5rem; +} +.univer-pt-2 { + padding-top: .5rem; +} +.univer-text-sm { + font-size: .875rem; + line-height: 1.25rem; +} +.univer-text-xs { + font-size: .75rem; + line-height: 1rem; +} +.univer-font-bold { + font-weight: 700; +} +.univer-text-\[\#418F1F\] { + --univer-tw-text-opacity: 1; + color: rgba(65, 143, 31, var(--univer-tw-text-opacity, 1)); +} +.univer-text-gray-400 { + color: var(--univer-gray-400); +} +.univer-text-gray-500 { + color: var(--univer-gray-500); +} +.univer-text-gray-900 { + color: var(--univer-gray-900); +} +.univer-text-primary-500 { + color: var(--univer-primary-500); +} +.univer-shadow-lg { + --univer-tw-shadow: 0px 4px 6px 0px #1e284d0d, 0px 10px 15px -3px #1e284d1a; + --univer-tw-shadow-colored: 0px 4px 6px 0px var(--univer-tw-shadow-color), 0px 10px 15px -3px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 4px 6px #1e284d0d, + 0 10px 15px -3px #1e284d1a; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-transition-shadow { + transition-property: box-shadow; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.hover\:univer-bg-gray-50:hover { + background-color: var(--univer-gray-50); +} +.hover\:univer-ring-2:hover { + --univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color); + --univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(2px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color); + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + 0 0 #0000; + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + var(--univer-tw-shadow, 0 0 #0000); +} +.hover\:univer-ring-offset-2:hover { + --univer-tw-ring-offset-width: 2px; +} +.hover\:univer-ring-offset-white:hover { + --univer-tw-ring-offset-color: var(--univer-white); +} +.dark\:\!univer-border-\[rgba\(255\,255\,255\,0\.06\)\]:where(.univer-dark, .univer-dark *) { + border-color: #ffffff0f !important; +} +.dark\:\!univer-border-gray-600:where(.univer-dark, .univer-dark *) { + border-color: var(--univer-gray-600) !important; +} +.dark\:\!univer-bg-gray-700:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-700) !important; +} +.dark\:\!univer-text-gray-200:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-200) !important; +} +.dark\:\!univer-text-gray-500:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-500) !important; +} +.dark\:\!univer-text-white:where(.univer-dark, .univer-dark *) { + color: var(--univer-white) !important; +} +.dark\:hover\:\!univer-bg-gray-900:hover:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-900) !important; +} +.\[\&\:hover_a\]\:univer-inline-block:hover a { + display: inline-block; +} + +/* node_modules/@univerjs/sheets-hyper-link-ui/lib/index.css */ +.univer-mb-1 { + margin-bottom: .25rem; +} +.univer-ml-2 { + margin-left: .5rem; +} +.univer-mr-2 { + margin-right: .5rem; +} +.univer-box-border { + box-sizing: border-box; +} +.univer-flex { + display: flex; +} +.univer-size-5 { + width: 1.25rem; + height: 1.25rem; +} +.univer-size-6 { + width: 1.5rem; + height: 1.5rem; +} +.univer-h-6 { + height: 1.5rem; +} +.univer-w-\[296px\] { + width: 296px; +} +.univer-w-full { + width: 100%; +} +.univer-max-w-80 { + max-width: 20rem; +} +.univer-flex-1 { + flex: 1; +} +.univer-flex-none { + flex: none; +} +.univer-cursor-pointer { + cursor: pointer; +} +.univer-flex-row { + flex-direction: row; +} +.univer-items-center { + align-items: center; +} +.univer-justify-end { + justify-content: flex-end; +} +.univer-justify-center { + justify-content: center; +} +.univer-justify-between { + justify-content: space-between; +} +.univer-gap-2 { + gap: .5rem; +} +.univer-overflow-hidden { + overflow: hidden; +} +.univer-truncate { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} +.univer-rounded { + border-radius: .25rem; +} +.univer-rounded-lg { + border-radius: .5rem; +} +.univer-rounded-xl { + border-radius: .75rem; +} +.univer-bg-white { + background-color: var(--univer-white); +} +.univer-p-3 { + padding: .75rem; +} +.univer-p-4 { + padding: 1rem; +} +.univer-text-base { + font-size: 1rem; + line-height: 1.5rem; +} +.univer-text-sm { + font-size: .875rem; + line-height: 1.25rem; +} +.univer-leading-5 { + line-height: 1.25rem; +} +.univer-text-gray-900 { + color: var(--univer-gray-900); +} +.univer-text-green-500 { + color: var(--univer-green-500); +} +.univer-text-primary-600 { + color: var(--univer-primary-600); +} +.univer-text-red-500 { + color: var(--univer-red-500); +} +.univer-shadow-md { + --univer-tw-shadow: 0px 1px 6px -2px #1e284d14, 0px 2px 6px -1px #1e284d1a; + --univer-tw-shadow-colored: 0px 1px 6px -2px var(--univer-tw-shadow-color), 0px 2px 6px -1px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 1px 6px -2px #1e284d14, + 0 2px 6px -1px #1e284d1a; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.hover\:univer-bg-gray-100:hover { + background-color: var(--univer-gray-100); +} +.dark\:\!univer-bg-gray-900:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-900) !important; +} +.dark\:\!univer-text-white:where(.univer-dark, .univer-dark *) { + color: var(--univer-white) !important; +} +.dark\:hover\:\!univer-bg-gray-700:hover:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-700) !important; +} + +/* node_modules/@univerjs/sheets-data-validation-ui/lib/index.css */ +.univer-absolute { + position: absolute; +} +.univer-relative { + position: relative; +} +.univer-right-2 { + right: .5rem; +} +.univer-top-\[19px\] { + top: 19px; +} +.univer--mx-2 { + margin-left: -.5rem; + margin-right: -.5rem; +} +.-univer-mt-2 { + margin-top: -.5rem; +} +.-univer-mt-3 { + margin-top: -.75rem; +} +.univer-mb-1 { + margin-bottom: .25rem; +} +.univer-mb-3 { + margin-bottom: .75rem; +} +.univer-ml-1 { + margin-left: .25rem; +} +.univer-ml-3 { + margin-left: .75rem; +} +.univer-mr-1 { + margin-right: .25rem; +} +.univer-mt-3 { + margin-top: .75rem; +} +.univer-mt-4 { + margin-top: 1rem; +} +.univer-mt-5 { + margin-top: 1.25rem; +} +.univer-box-border { + box-sizing: border-box; +} +.univer-flex { + display: flex; +} +.univer-inline-flex { + display: inline-flex; +} +.univer-grid { + display: grid; +} +.univer-size-4 { + width: 1rem; + height: 1rem; +} +.univer-size-5 { + width: 1.25rem; + height: 1.25rem; +} +.univer-h-8 { + height: 2rem; +} +.univer-w-16 { + width: 4rem; +} +.univer-w-\[287px\] { + width: 287px; +} +.univer-w-fit { + width: fit-content; +} +.univer-w-full { + width: 100%; +} +.univer-cursor-move { + cursor: move; +} +.univer-cursor-pointer { + cursor: pointer; +} +.univer-grid-cols-6 { + grid-template-columns: repeat(6, minmax(0, 1fr)); +} +.univer-flex-row { + flex-direction: row; +} +.univer-flex-col { + flex-direction: column; +} +.univer-flex-wrap { + flex-wrap: wrap; +} +.univer-items-center { + align-items: center; +} +.univer-justify-end { + justify-content: flex-end; +} +.univer-justify-center { + justify-content: center; +} +.univer-justify-between { + justify-content: space-between; +} +.univer-gap-2 { + gap: .5rem; +} +.univer-overflow-hidden { + overflow: hidden; +} +.univer-truncate { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} +.univer-rounded { + border-radius: .25rem; +} +.univer-rounded-lg { + border-radius: .5rem; +} +.univer-rounded-md { + border-radius: .375rem; +} +.\!univer-bg-gray-700 { + background-color: var(--univer-gray-700) !important; +} +.univer-bg-white { + background-color: var(--univer-white); +} +.univer-p-1 { + padding: .25rem; +} +.univer-p-1\.5 { + padding: .375rem; +} +.univer-p-2 { + padding: .5rem; +} +.univer-px-2 { + padding-left: .5rem; + padding-right: .5rem; +} +.univer-px-2\.5 { + padding-left: .625rem; + padding-right: .625rem; +} +.univer-py-2 { + padding-top: .5rem; + padding-bottom: .5rem; +} +.univer-pb-4 { + padding-bottom: 1rem; +} +.univer-pr-9 { + padding-right: 2.25rem; +} +.univer-pt-2 { + padding-top: .5rem; +} +.univer-text-base { + font-size: 1rem; + line-height: 1.5rem; +} +.univer-text-sm { + font-size: .875rem; + line-height: 1.25rem; +} +.univer-text-xs { + font-size: .75rem; + line-height: 1rem; +} +.univer-font-medium { + font-weight: 500; +} +.univer-leading-\[18px\] { + line-height: 18px; +} +.univer-leading-\[22px\] { + line-height: 22px; +} +.univer-text-gray-400 { + color: var(--univer-gray-400); +} +.univer-text-gray-900 { + color: var(--univer-gray-900); +} +.univer-opacity-50 { + opacity: .5; +} +.univer-transition-colors { + transition-property: + color, + background-color, + border-color, + text-decoration-color, + fill, + stroke; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-duration-200 { + transition-duration: .2s; +} +.hover\:univer-border-primary-600:hover { + border-color: var(--univer-primary-600); +} +.hover\:univer-bg-gray-200:hover { + background-color: var(--univer-gray-200); +} +.hover\:univer-bg-gray-50:hover { + background-color: var(--univer-gray-50); +} +.hover\:univer-bg-primary-50:hover { + background-color: var(--univer-primary-50); +} +.dark\:\!univer-bg-gray-700:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-700) !important; +} +.dark\:\!univer-text-gray-300:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-300) !important; +} +.dark\:\!univer-text-white:where(.univer-dark, .univer-dark *) { + color: var(--univer-white) !important; +} +.dark\:hover\:\!univer-bg-gray-700:hover:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-700) !important; +} +.dark\:hover\:\!univer-bg-gray-800:hover:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-800) !important; +} +.\[\&\>div\:first-child\]\:univer-px-2\.5 > div:first-child { + padding-left: .625rem; + padding-right: .625rem; +} +.\[\&\>div\]\:univer-h-5 > div { + height: 1.25rem; +} +.\[\&\>div\]\:univer-ring-transparent > div { + --univer-tw-ring-color: transparent; +} + +/* node_modules/@univerjs/find-replace/lib/index.css */ +.univer-relative { + position: relative; +} +.univer-mt-4 { + margin-top: 1rem; +} +.univer-mt-6 { + margin-top: 1.5rem; +} +.univer-flex { + display: flex; +} +.univer-inline-flex { + display: inline-flex; +} +.univer-cursor-pointer { + cursor: pointer; +} +.univer-items-center { + align-items: center; +} +.univer-justify-between { + justify-content: space-between; +} +.univer-gap-2 { + gap: .5rem; +} +.univer-text-center { + text-align: center; +} +.univer-text-sm { + font-size: .875rem; + line-height: 1.25rem; +} +.univer-text-primary-500 { + color: var(--univer-primary-500); +} +.univer-transition-colors { + transition-property: + color, + background-color, + border-color, + text-decoration-color, + fill, + stroke; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} + +/* node_modules/@univerjs/sheets-conditional-formatting-ui/lib/index.css */ +.univer-pointer-events-none { + pointer-events: none; +} +.univer-absolute { + position: absolute; +} +.univer-relative { + position: relative; +} +.univer-bottom-\[-13px\] { + bottom: -13px; +} +.univer-left-0 { + left: 0; +} +.univer-right-1 { + right: .25rem; +} +.univer-z-\[999\] { + z-index: 999; +} +.univer-my-2\.5 { + margin-top: .625rem; + margin-bottom: .625rem; +} +.univer-mb-1 { + margin-bottom: .25rem; +} +.univer-mb-2 { + margin-bottom: .5rem; +} +.univer-mb-2\.5 { + margin-bottom: .625rem; +} +.univer-mb-3 { + margin-bottom: .75rem; +} +.univer-ml-1 { + margin-left: .25rem; +} +.univer-ml-2 { + margin-left: .5rem; +} +.univer-ml-3 { + margin-left: .75rem; +} +.univer-ml-6 { + margin-left: 1.5rem; +} +.univer-mr-2 { + margin-right: .5rem; +} +.univer-mt-0 { + margin-top: 0; +} +.univer-mt-1 { + margin-top: .25rem; +} +.univer-mt-3 { + margin-top: .75rem; +} +.univer-mt-4 { + margin-top: 1rem; +} +.univer-mt-5 { + margin-top: 1.25rem; +} +.univer-mt-6 { + margin-top: 1.5rem; +} +.univer-box-border { + box-sizing: border-box; +} +.univer-flex { + display: flex; +} +.univer-grid { + display: grid; +} +.univer-hidden { + display: none; +} +.univer-size-4 { + width: 1rem; + height: 1rem; +} +.univer-size-5 { + width: 1.25rem; + height: 1.25rem; +} +.univer-size-6 { + width: 1.5rem; + height: 1.5rem; +} +.univer-h-5 { + height: 1.25rem; +} +.univer-h-8 { + height: 2rem; +} +.univer-h-full { + height: 100%; +} +.univer-w-1\/2 { + width: 50%; +} +.univer-w-36 { + width: 9rem; +} +.univer-w-64 { + width: 16rem; +} +.univer-w-80 { + width: 20rem; +} +.univer-w-\[45\%\] { + width: 45%; +} +.univer-w-full { + width: 100%; +} +.univer-min-w-0 { + min-width: 0; +} +.univer-min-w-\[72px\] { + min-width: 72px; +} +.univer-max-w-full { + max-width: 100%; +} +.univer-flex-shrink { + flex-shrink: 1; +} +.univer-flex-shrink-0 { + flex-shrink: 0; +} +.univer-cursor-grab { + cursor: grab; +} +.univer-cursor-pointer { + cursor: pointer; +} +.univer-grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); +} +.univer-flex-col { + flex-direction: column; +} +.univer-flex-wrap { + flex-wrap: wrap; +} +.univer-items-center { + align-items: center; +} +.univer-justify-end { + justify-content: flex-end; +} +.univer-justify-center { + justify-content: center; +} +.univer-justify-between { + justify-content: space-between; +} +.univer-gap-2 { + gap: .5rem; +} +.univer-gap-4 { + gap: 1rem; +} +.univer-space-x-2 > :not([hidden]) ~ :not([hidden]) { + --univer-tw-space-x-reverse: 0; + margin-right: 0; + margin-right: calc(.5rem * var(--univer-tw-space-x-reverse)); + margin-left: .5rem; + margin-left: calc(.5rem * (1 - var(--univer-tw-space-x-reverse))); + margin-left: .5rem; + margin-left: calc(.5rem * calc(1 - var(--univer-tw-space-x-reverse))); +} +.univer-overflow-hidden { + overflow: hidden; +} +.univer-rounded { + border-radius: .25rem; +} +.univer-rounded-lg { + border-radius: .5rem; +} +.univer-rounded-md { + border-radius: .375rem; +} +.univer-border { + border-width: 1px; +} +.univer-border-solid { + border-style: solid; +} +.univer-border-red-500 { + border-color: var(--univer-red-500); +} +.\!univer-bg-gray-700 { + background-color: var(--univer-gray-700) !important; +} +.univer-bg-gray-100 { + background-color: var(--univer-gray-100); +} +.univer-bg-white { + background-color: var(--univer-white); +} +.univer-fill-primary-600 { + fill: var(--univer-primary-600); +} +.univer-p-1 { + padding: .25rem; +} +.univer-p-4 { + padding: 1rem; +} +.univer-px-1 { + padding-left: .25rem; + padding-right: .25rem; +} +.univer-px-4 { + padding-left: 1rem; + padding-right: 1rem; +} +.univer-py-2 { + padding-top: .5rem; + padding-bottom: .5rem; +} +.univer-py-4 { + padding-top: 1rem; + padding-bottom: 1rem; +} +.univer-pl-1 { + padding-left: .25rem; +} +.univer-pl-5 { + padding-left: 1.25rem; +} +.univer-pr-8 { + padding-right: 2rem; +} +.univer-pt-2 { + padding-top: .5rem; +} +.univer-text-\[10px\] { + font-size: 10px; +} +.univer-text-sm { + font-size: .875rem; + line-height: 1.25rem; +} +.univer-text-xs { + font-size: .75rem; + line-height: 1rem; +} +.univer-font-bold { + font-weight: 700; +} +.univer-font-medium { + font-weight: 500; +} +.univer-italic { + font-style: italic; +} +.univer-text-gray-300 { + color: var(--univer-gray-300); +} +.univer-text-gray-400 { + color: var(--univer-gray-400); +} +.univer-text-gray-600 { + color: var(--univer-gray-600); +} +.univer-text-gray-900 { + color: var(--univer-gray-900); +} +.univer-text-red-500 { + color: var(--univer-red-500); +} +.univer-transition-all { + transition-property: all; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-transition-colors { + transition-property: + color, + background-color, + border-color, + text-decoration-color, + fill, + stroke; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-group:hover .group-hover\:univer-flex { + display: flex; +} +.hover\:univer-border-primary-600:hover { + border-color: var(--univer-primary-600); +} +.hover\:univer-bg-gray-100:hover { + background-color: var(--univer-gray-100); +} +.hover\:univer-bg-gray-200:hover { + background-color: var(--univer-gray-200); +} +.dark\:\!univer-bg-gray-700:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-700) !important; +} +.dark\:\!univer-text-gray-200:where(.univer-dark, .univer-dark *) { + color: var(--univer-gray-200) !important; +} +.dark\:\!univer-text-white:where(.univer-dark, .univer-dark *) { + color: var(--univer-white) !important; +} +.dark\:hover\:\!univer-bg-gray-700:hover:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-700) !important; +} +.\[\&\>div\:first-child\]\:univer-px-2\.5 > div:first-child { + padding-left: .625rem; + padding-right: .625rem; +} +.\[\&\>div\]\:univer-h-5 > div { + height: 1.25rem; +} +.\[\&\>div\]\:univer-ring-transparent > div { + --univer-tw-ring-color: transparent; +} + +/* node_modules/@univerjs/sheets-table-ui/lib/index.css */ +.univer-absolute { + position: absolute; +} +.univer-relative { + position: relative; +} +.univer-right-\[-3px\] { + right: -3px; +} +.univer-top-\[-3px\] { + top: -3px; +} +.univer-z-10 { + z-index: 10; +} +.univer-z-50 { + z-index: 50; +} +.univer-my-1 { + margin-top: .25rem; + margin-bottom: .25rem; +} +.univer-mb-3 { + margin-bottom: .75rem; +} +.univer-ml-1 { + margin-left: .25rem; +} +.univer-ml-2 { + margin-left: .5rem; +} +.univer-mr-1 { + margin-right: .25rem; +} +.univer-mr-2 { + margin-right: .5rem; +} +.univer-mt-1 { + margin-top: .25rem; +} +.univer-mt-2 { + margin-top: .5rem; +} +.univer-mt-3 { + margin-top: .75rem; +} +.univer-mt-4 { + margin-top: 1rem; +} +.univer-box-border { + box-sizing: border-box; +} +.univer-inline-block { + display: inline-block; +} +.\!univer-flex { + display: flex !important; +} +.univer-flex { + display: flex; +} +.univer-inline-flex { + display: inline-flex; +} +.univer-hidden { + display: none; +} +.univer-size-0 { + width: 0; + height: 0; +} +.univer-size-2 { + width: .5rem; + height: .5rem; +} +.univer-size-3 { + width: .75rem; + height: .75rem; +} +.univer-size-4 { + width: 1rem; + height: 1rem; +} +.univer-size-full { + width: 100%; + height: 100%; +} +.\!univer-h-\[150px\] { + height: 150px !important; +} +.univer-h-10 { + height: 2.5rem; +} +.univer-h-2\.5 { + height: .625rem; +} +.univer-h-40 { + height: 10rem; +} +.univer-h-5 { + height: 1.25rem; +} +.univer-h-60 { + height: 15rem; +} +.univer-h-7 { + height: 1.75rem; +} +.univer-h-8 { + height: 2rem; +} +.univer-h-9 { + height: 2.25rem; +} +.univer-h-\[180px\] { + height: 180px; +} +.univer-h-\[18px\] { + height: 18px; +} +.univer-h-full { + height: 100%; +} +.univer-h-px { + height: 1px; +} +.univer-max-h-\[180px\] { + max-height: 180px; +} +.univer-w-1\/2 { + width: 50%; +} +.univer-w-52 { + width: 13rem; +} +.univer-w-8 { + width: 2rem; +} +.univer-w-\[80px\] { + width: 80px; +} +.univer-w-full { + width: 100%; +} +.univer-min-w-16 { + min-width: 4rem; +} +.univer-min-w-32 { + min-width: 8rem; +} +.univer-min-w-\[312px\] { + min-width: 312px; +} +.univer-max-w-24 { + max-width: 6rem; +} +.univer-flex-1 { + flex: 1; +} +.univer-flex-shrink-0 { + flex-shrink: 0; +} +.univer-flex-grow { + flex-grow: 1; +} +.univer-flex-grow-0 { + flex-grow: 0; +} +.univer-cursor-pointer { + cursor: pointer; +} +.univer-flex-col { + flex-direction: column; +} +.univer-flex-wrap { + flex-wrap: wrap; +} +.univer-items-center { + align-items: center; +} +.univer-justify-end { + justify-content: flex-end; +} +.univer-justify-between { + justify-content: space-between; +} +.univer-gap-2 { + gap: .5rem; +} +.univer-gap-6 { + gap: 1.5rem; +} +.univer-overflow-hidden { + overflow: hidden; +} +.univer-overflow-y-auto { + overflow-y: auto; +} +.univer-truncate { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} +.univer-text-nowrap { + text-wrap: nowrap; +} +.univer-rounded-\[10px\] { + border-radius: 10px; +} +.univer-rounded-lg { + border-radius: .5rem; +} +.univer-rounded-md { + border-radius: .375rem; +} +.univer-rounded-none { + border-radius: 0; +} +.univer-rounded-sm { + border-radius: .125rem; +} +.univer-rounded-xl { + border-radius: .75rem; +} +.univer-border { + border-width: 1px; +} +.univer-border-solid { + border-style: solid; +} +.univer-border-blue-500 { + border-color: var(--univer-blue-500); +} +.univer-border-gray-200 { + border-color: var(--univer-gray-200); +} +.univer-bg-gray-200 { + background-color: var(--univer-gray-200); +} +.univer-bg-gray-400 { + background-color: var(--univer-gray-400); +} +.univer-bg-white { + background-color: var(--univer-white); +} +.univer-p-1 { + padding: .25rem; +} +.univer-p-2 { + padding: .5rem; +} +.univer-p-4 { + padding: 1rem; +} +.univer-p-px { + padding: 1px; +} +.univer-px-2 { + padding-left: .5rem; + padding-right: .5rem; +} +.univer-py-1 { + padding-top: .25rem; + padding-bottom: .25rem; +} +.univer-py-1\.5 { + padding-top: .375rem; + padding-bottom: .375rem; +} +.univer-py-2 { + padding-top: .5rem; + padding-bottom: .5rem; +} +.univer-pl-2 { + padding-left: .5rem; +} +.univer-text-center { + text-align: center; +} +.univer-text-sm { + font-size: .875rem; + line-height: 1.25rem; +} +.univer-text-xs { + font-size: .75rem; + line-height: 1rem; +} +.univer-leading-10 { + line-height: 2.5rem; +} +.univer-leading-9 { + line-height: 2.25rem; +} +.univer-leading-\[10px\] { + line-height: 10px; +} +.univer-text-gray-400 { + color: var(--univer-gray-400); +} +.univer-text-gray-900 { + color: var(--univer-gray-900); +} +.univer-text-red-500 { + color: var(--univer-red-500); +} +.univer-text-white { + color: var(--univer-white); +} +.univer-shadow-lg { + --univer-tw-shadow: 0px 4px 6px 0px #1e284d0d, 0px 10px 15px -3px #1e284d1a; + --univer-tw-shadow-colored: 0px 4px 6px 0px var(--univer-tw-shadow-color), 0px 10px 15px -3px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 4px 6px #1e284d0d, + 0 10px 15px -3px #1e284d1a; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-transition-colors { + transition-property: + color, + background-color, + border-color, + text-decoration-color, + fill, + stroke; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-duration-200 { + transition-duration: .2s; +} +.hover\:univer-border-primary-600:hover { + border-color: var(--univer-primary-600); +} +.hover\:univer-bg-gray-200:hover { + background-color: var(--univer-gray-200); +} +.focus\:univer-border-primary-600:focus { + border-color: var(--univer-primary-600); +} +.focus\:univer-outline-none:focus { + outline-offset: 2px; + outline: 2px solid #0000; +} +.focus\:univer-ring-2:focus { + --univer-tw-ring-offset-shadow: var(--univer-tw-ring-inset) 0 0 0 var(--univer-tw-ring-offset-width) var(--univer-tw-ring-offset-color); + --univer-tw-ring-shadow: var(--univer-tw-ring-inset) 0 0 0 calc(2px + var(--univer-tw-ring-offset-width)) var(--univer-tw-ring-color); + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + 0 0 #0000; + box-shadow: + var(--univer-tw-ring-offset-shadow), + var(--univer-tw-ring-shadow), + var(--univer-tw-shadow, 0 0 #0000); +} +.dark\:\!univer-border-gray-600:where(.univer-dark, .univer-dark *) { + border-color: var(--univer-gray-600) !important; +} +.dark\:\!univer-bg-gray-700:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-700) !important; +} +.dark\:\!univer-text-white:where(.univer-dark, .univer-dark *) { + color: var(--univer-white) !important; +} +.\[\&\>div\]\:univer-box-border > div { + box-sizing: border-box; +} +.\[\&\>div\]\:univer-h-2\.5 > div { + height: .625rem; +} + +/* node_modules/@univerjs/sheets-note-ui/lib/index.css */ +.univer-ml-px { + margin-left: 1px; +} +.univer-min-h-1 { + min-height: .25rem; +} +.univer-min-w-1 { + min-width: .25rem; +} +.univer-bg-white { + background-color: var(--univer-white); +} +.\!univer-text-sm { + font-size: .875rem !important; + line-height: 1.25rem !important; +} +.univer-shadow { + --univer-tw-shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a; + --univer-tw-shadow-colored: 0 1px 3px 0 var(--univer-tw-shadow-color), 0 1px 2px -1px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 1px 3px #0000001a, + 0 1px 2px -1px #0000001a; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.dark\:\!univer-bg-gray-800:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-800) !important; +} + +/* node_modules/@univerjs/sheets-sort-ui/lib/index.css */ +.univer-relative { + position: relative; +} +.univer-my-0 { + margin-top: 0; + margin-bottom: 0; +} +.univer-mb-2 { + margin-bottom: .5rem; +} +.univer-mb-3 { + margin-bottom: .75rem; +} +.univer-ml-1\.5 { + margin-left: .375rem; +} +.univer-ml-2 { + margin-left: .5rem; +} +.univer-ml-3 { + margin-left: .75rem; +} +.univer-mt-4 { + margin-top: 1rem; +} +.univer-mt-5 { + margin-top: 1.25rem; +} +.univer-box-border { + box-sizing: border-box; +} +.univer-flex { + display: flex; +} +.univer-grid { + display: grid; +} +.univer-h-7 { + height: 1.75rem; +} +.univer-max-h-\[310px\] { + max-height: 310px; +} +.univer-w-\[--radix-popper-anchor-width\] { + width: var(--radix-popper-anchor-width); +} +.univer-w-full { + width: 100%; +} +.univer-max-w-\[220px\] { + max-width: 220px; +} +.univer-cursor-pointer { + cursor: pointer; +} +.univer-select-none { + user-select: none; +} +.univer-list-none { + list-style-type: none; +} +.univer-grid-flow-col { + grid-auto-flow: column; +} +.univer-grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); +} +.univer-items-center { + align-items: center; +} +.univer-justify-end { + justify-content: flex-end; +} +.univer-justify-center { + justify-content: center; +} +.univer-justify-between { + justify-content: space-between; +} +.univer-gap-1 { + gap: .25rem; +} +.univer-gap-2 { + gap: .5rem; +} +.univer-overflow-hidden { + overflow: hidden; +} +.univer-overflow-y-auto { + overflow-y: auto; +} +.univer-overflow-x-hidden { + overflow-x: hidden; +} +.univer-truncate { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} +.univer-rounded { + border-radius: .25rem; +} +.univer-rounded-lg { + border-radius: .5rem; +} +.univer-rounded-md { + border-radius: .375rem; +} +.univer-border { + border-width: 1px; +} +.univer-bg-white { + background-color: var(--univer-white); +} +.univer-p-1 { + padding: .25rem; +} +.univer-px-2 { + padding-left: .5rem; + padding-right: .5rem; +} +.univer-py-1\.5 { + padding-top: .375rem; + padding-bottom: .375rem; +} +.univer-text-base { + font-size: 1rem; + line-height: 1.5rem; +} +.univer-text-sm { + font-size: .875rem; + line-height: 1.25rem; +} +.univer-text-xs { + font-size: .75rem; + line-height: 1rem; +} +.univer-text-gray-700 { + color: var(--univer-gray-700); +} +.univer-text-gray-900 { + color: var(--univer-gray-900); +} +.univer-text-primary-500 { + color: var(--univer-primary-500); +} +.univer-shadow-lg { + --univer-tw-shadow: 0px 4px 6px 0px #1e284d0d, 0px 10px 15px -3px #1e284d1a; + --univer-tw-shadow-colored: 0px 4px 6px 0px var(--univer-tw-shadow-color), 0px 10px 15px -3px var(--univer-tw-shadow-color); + box-shadow: + 0 0 #0000, + 0 0 #0000, + 0 4px 6px #1e284d0d, + 0 10px 15px -3px #1e284d1a; + box-shadow: + var(--univer-tw-ring-offset-shadow, 0 0 #0000), + var(--univer-tw-ring-shadow, 0 0 #0000), + var(--univer-tw-shadow); +} +.univer-transition-all { + transition-property: all; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.univer-transition-colors { + transition-property: + color, + background-color, + border-color, + text-decoration-color, + fill, + stroke; + transition-duration: .15s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); +} +.hover\:univer-bg-gray-100:hover { + background-color: var(--univer-gray-100); +} +.hover\:univer-text-red-500:hover { + color: var(--univer-red-500); +} +.disabled\:univer-cursor-not-allowed:disabled { + cursor: not-allowed; +} +.disabled\:univer-divide-opacity-30:disabled > :not([hidden]) ~ :not([hidden]) { + --univer-tw-divide-opacity: .3; +} +.disabled\:univer-text-gray-800:disabled { + color: var(--univer-gray-800); +} +.dark\:\!univer-text-white:where(.univer-dark, .univer-dark *) { + color: var(--univer-white) !important; +} +.dark\:hover\:\!univer-bg-gray-700:hover:where(.univer-dark, .univer-dark *) { + background-color: var(--univer-gray-700) !important; +} + +/* public/tools/cloud_sheets/vendor/univer/styles.entry.css */ diff --git a/public/tools/cloud_sheets/vendor/univer/univer.umd.js b/public/tools/cloud_sheets/vendor/univer/univer.umd.js new file mode 100644 index 0000000..634309d --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/univer.umd.js @@ -0,0 +1,4 @@ +;(function () { + if (typeof window === 'undefined') return + if (!window.Univer) window.Univer = {} +})() diff --git a/public/tools/cloud_sheets/vendor/univer/univer.worker.js b/public/tools/cloud_sheets/vendor/univer/univer.worker.js new file mode 100644 index 0000000..c55d5b0 --- /dev/null +++ b/public/tools/cloud_sheets/vendor/univer/univer.worker.js @@ -0,0 +1,51994 @@ +(() => { + var __create = Object.create; + var __defProp = Object.defineProperty; + var __getOwnPropDesc = Object.getOwnPropertyDescriptor; + var __getOwnPropNames = Object.getOwnPropertyNames; + var __getProtoOf = Object.getPrototypeOf; + var __hasOwnProp = Object.prototype.hasOwnProperty; + var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; + var __commonJS = (cb, mod2) => function __require() { + return mod2 || (0, cb[__getOwnPropNames(cb)[0]])((mod2 = { exports: {} }).exports, mod2), mod2.exports; + }; + var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps = (to4, from2, except, desc) => { + if (from2 && typeof from2 === "object" || typeof from2 === "function") { + for (let key of __getOwnPropNames(from2)) + if (!__hasOwnProp.call(to4, key) && key !== except) + __defProp(to4, key, { get: () => from2[key], enumerable: !(desc = __getOwnPropDesc(from2, key)) || desc.enumerable }); + } + return to4; + }; + var __toESM = (mod2, isNodeMode, target) => (target = mod2 != null ? __create(__getProtoOf(mod2)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod2 || !mod2.__esModule ? __defProp(target, "default", { value: mod2, enumerable: true }) : target, + mod2 + )); + var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + + // node_modules/async-lock/lib/index.js + var require_lib = __commonJS({ + "node_modules/async-lock/lib/index.js"(exports2, module2) { + "use strict"; + var AsyncLock = function(opts) { + opts = opts || {}; + this.Promise = opts.Promise || Promise; + this.queues = /* @__PURE__ */ Object.create(null); + this.domainReentrant = opts.domainReentrant || false; + if (this.domainReentrant) { + if (typeof process === "undefined" || typeof process.domain === "undefined") { + throw new Error( + "Domain-reentrant locks require `process.domain` to exist. Please flip `opts.domainReentrant = false`, use a NodeJS version that still implements Domain, or install a browser polyfill." + ); + } + this.domains = /* @__PURE__ */ Object.create(null); + } + this.timeout = opts.timeout || AsyncLock.DEFAULT_TIMEOUT; + this.maxOccupationTime = opts.maxOccupationTime || AsyncLock.DEFAULT_MAX_OCCUPATION_TIME; + this.maxExecutionTime = opts.maxExecutionTime || AsyncLock.DEFAULT_MAX_EXECUTION_TIME; + if (opts.maxPending === Infinity || Number.isInteger(opts.maxPending) && opts.maxPending >= 0) { + this.maxPending = opts.maxPending; + } else { + this.maxPending = AsyncLock.DEFAULT_MAX_PENDING; + } + }; + AsyncLock.DEFAULT_TIMEOUT = 0; + AsyncLock.DEFAULT_MAX_OCCUPATION_TIME = 0; + AsyncLock.DEFAULT_MAX_EXECUTION_TIME = 0; + AsyncLock.DEFAULT_MAX_PENDING = 1e3; + AsyncLock.prototype.acquire = function(key, fn3, cb, opts) { + if (Array.isArray(key)) { + return this._acquireBatch(key, fn3, cb, opts); + } + if (typeof fn3 !== "function") { + throw new Error("You must pass a function to execute"); + } + var deferredResolve = null; + var deferredReject = null; + var deferred = null; + if (typeof cb !== "function") { + opts = cb; + cb = null; + deferred = new this.Promise(function(resolve, reject) { + deferredResolve = resolve; + deferredReject = reject; + }); + } + opts = opts || {}; + var resolved = false; + var timer2 = null; + var occupationTimer = null; + var executionTimer = null; + var self2 = this; + var done = function(locked, err, ret) { + if (occupationTimer) { + clearTimeout(occupationTimer); + occupationTimer = null; + } + if (executionTimer) { + clearTimeout(executionTimer); + executionTimer = null; + } + if (locked) { + if (!!self2.queues[key] && self2.queues[key].length === 0) { + delete self2.queues[key]; + } + if (self2.domainReentrant) { + delete self2.domains[key]; + } + } + if (!resolved) { + if (!deferred) { + if (typeof cb === "function") { + cb(err, ret); + } + } else { + if (err) { + deferredReject(err); + } else { + deferredResolve(ret); + } + } + resolved = true; + } + if (locked) { + if (!!self2.queues[key] && self2.queues[key].length > 0) { + self2.queues[key].shift()(); + } + } + }; + var exec = function(locked) { + if (resolved) { + return done(locked); + } + if (timer2) { + clearTimeout(timer2); + timer2 = null; + } + if (self2.domainReentrant && locked) { + self2.domains[key] = process.domain; + } + var maxExecutionTime = opts.maxExecutionTime || self2.maxExecutionTime; + if (maxExecutionTime) { + executionTimer = setTimeout(function() { + if (!!self2.queues[key]) { + done(locked, new Error("Maximum execution time is exceeded " + key)); + } + }, maxExecutionTime); + } + if (fn3.length === 1) { + var called = false; + try { + fn3(function(err, ret) { + if (!called) { + called = true; + done(locked, err, ret); + } + }); + } catch (err) { + if (!called) { + called = true; + done(locked, err); + } + } + } else { + self2._promiseTry(function() { + return fn3(); + }).then(function(ret) { + done(locked, void 0, ret); + }, function(error) { + done(locked, error); + }); + } + }; + if (self2.domainReentrant && !!process.domain) { + exec = process.domain.bind(exec); + } + var maxPending = opts.maxPending || self2.maxPending; + if (!self2.queues[key]) { + self2.queues[key] = []; + exec(true); + } else if (self2.domainReentrant && !!process.domain && process.domain === self2.domains[key]) { + exec(false); + } else if (self2.queues[key].length >= maxPending) { + done(false, new Error("Too many pending tasks in queue " + key)); + } else { + var taskFn = function() { + exec(true); + }; + if (opts.skipQueue) { + self2.queues[key].unshift(taskFn); + } else { + self2.queues[key].push(taskFn); + } + var timeout = opts.timeout || self2.timeout; + if (timeout) { + timer2 = setTimeout(function() { + timer2 = null; + done(false, new Error("async-lock timed out in queue " + key)); + }, timeout); + } + } + var maxOccupationTime = opts.maxOccupationTime || self2.maxOccupationTime; + if (maxOccupationTime) { + occupationTimer = setTimeout(function() { + if (!!self2.queues[key]) { + done(false, new Error("Maximum occupation time is exceeded in queue " + key)); + } + }, maxOccupationTime); + } + if (deferred) { + return deferred; + } + }; + AsyncLock.prototype._acquireBatch = function(keys, fn3, cb, opts) { + if (typeof cb !== "function") { + opts = cb; + cb = null; + } + var self2 = this; + var getFn = function(key, fn4) { + return function(cb2) { + self2.acquire(key, fn4, cb2, opts); + }; + }; + var fnx = keys.reduceRight(function(prev, key) { + return getFn(key, prev); + }, fn3); + if (typeof cb === "function") { + fnx(cb); + } else { + return new this.Promise(function(resolve, reject) { + if (fnx.length === 1) { + fnx(function(err, ret) { + if (err) { + reject(err); + } else { + resolve(ret); + } + }); + } else { + resolve(fnx()); + } + }); + } + }; + AsyncLock.prototype.isBusy = function(key) { + if (!key) { + return Object.keys(this.queues).length > 0; + } else { + return !!this.queues[key]; + } + }; + AsyncLock.prototype._promiseTry = function(fn3) { + try { + return this.Promise.resolve(fn3()); + } catch (e29) { + return this.Promise.reject(e29); + } + }; + module2.exports = AsyncLock; + } + }); + + // node_modules/async-lock/index.js + var require_async_lock = __commonJS({ + "node_modules/async-lock/index.js"(exports2, module2) { + "use strict"; + module2.exports = require_lib(); + } + }); + + // node_modules/ot-json1/dist/deepEqual.js + var require_deepEqual = __commonJS({ + "node_modules/ot-json1/dist/deepEqual.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + function eqObj(a, b) { + if (Array.isArray(b)) + return false; + for (let k4 in a) { + if (!deepEqual(a[k4], b[k4])) + return false; + } + for (let k4 in b) { + if (a[k4] === void 0) + return false; + } + return true; + } + function eqArr(a, b) { + if (!Array.isArray(b)) + return false; + if (a.length !== b.length) + return false; + for (let i = 0; i < a.length; i++) { + if (!deepEqual(a[i], b[i])) + return false; + } + return true; + } + function deepEqual(a, b) { + if (a === b) + return true; + if (a === null || b === null) + return false; + if (typeof a !== "object" || typeof b !== "object") + return false; + return Array.isArray(a) ? eqArr(a, b) : eqObj(a, b); + } + exports2.default = deepEqual; + } + }); + + // node_modules/ot-json1/dist/deepClone.js + var require_deepClone = __commonJS({ + "node_modules/ot-json1/dist/deepClone.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + function deepClone(old) { + if (old === null) + return null; + if (Array.isArray(old)) { + return old.map(deepClone); + } else if (typeof old === "object") { + const o = {}; + for (let k4 in old) + o[k4] = deepClone(old[k4]); + return o; + } else { + return old; + } + } + exports2.default = deepClone; + } + }); + + // node_modules/ot-json1/dist/cursor.js + var require_cursor = __commonJS({ + "node_modules/ot-json1/dist/cursor.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.eachChildOf = exports2.advancer = exports2.readCursor = exports2.writeCursor = exports2.WriteCursor = exports2.ReadCursor = exports2.isValidPathItem = void 0; + function assert(pred, msg) { + if (!pred) + throw new Error(msg); + } + var isObject2 = (o) => o != null && typeof o === "object" && !Array.isArray(o); + var isGreaterKey = (a, b) => ( + // All the numbers, then all the letters. Just as the gods of ascii intended. + typeof a === typeof b ? a > b : typeof a === "string" && typeof b === "number" + ); + function copyAll(c, w2) { + for (let _k in c) { + const k4 = _k; + w2.write(k4, c[k4]); + } + } + exports2.isValidPathItem = (k4) => typeof k4 === "number" || typeof k4 === "string" && k4 !== "__proto__"; + var Cursor = class { + constructor(op2 = null) { + this.parents = []; + this.indexes = []; + this.lcIdx = -1; + this.idx = -1; + this.container = op2; + } + ascend() { + assert(this.parents.length === this.indexes.length / 2); + if (this.idx === 0) { + if (this.parents.length) { + this.lcIdx = this.indexes.pop(); + this.container = this.parents.pop(); + this.idx = this.indexes.pop(); + } else { + this.lcIdx = 0; + this.idx = -1; + } + } else { + assert(this.idx > 0); + this.idx--; + if (isObject2(this.container[this.idx])) + this.idx--; + } + } + getPath() { + const path = []; + let c = this.container; + let p = this.parents.length - 1; + let i = this.idx; + while (i >= 0) { + path.unshift(c[i]); + if (i === 0) { + i = this.indexes[p * 2]; + c = this.parents[p--]; + } else { + i -= isObject2(c[i - 1]) ? 2 : 1; + } + } + return path; + } + }; + var ReadCursor = class _ReadCursor extends Cursor { + get() { + return this.container ? this.container.slice(this.idx + 1) : null; + } + // Its only valid to call this after descending into a child. + getKey() { + assert(this.container != null, "Invalid call to getKey before cursor descended"); + return this.container[this.idx]; + } + getComponent() { + let c; + if (this.container && this.container.length > this.idx + 1 && isObject2(c = this.container[this.idx + 1])) { + return c; + } else { + return null; + } + } + descendFirst() { + let i = this.idx + 1; + if (!this.container || i >= this.container.length || isObject2(this.container[i]) && i + 1 >= this.container.length) { + return false; + } + if (isObject2(this.container[i])) + i++; + const firstChild = this.container[i]; + if (Array.isArray(firstChild)) { + this.indexes.push(this.idx); + this.parents.push(this.container); + this.indexes.push(i); + this.idx = 0; + this.container = firstChild; + } else { + this.idx = i; + } + return true; + } + nextSibling() { + assert(this.parents.length === this.indexes.length / 2); + if (this.idx > 0 || this.parents.length === 0) + return false; + const i = this.indexes[this.indexes.length - 1] + 1; + const c = this.parents[this.parents.length - 1]; + if (i >= c.length) + return false; + assert(!isNaN(i)); + this.indexes[this.indexes.length - 1] = i; + this.container = c[i]; + return true; + } + _init(_container, _idx, _parents, _indexes) { + this.container = _container; + this.idx = _idx; + this.parents = _parents.slice(); + this.indexes = _indexes.slice(); + } + clone() { + const c = new _ReadCursor(); + c._init(this.container, this.idx, this.parents, this.indexes); + return c; + } + *[Symbol.iterator]() { + if (!this.descendFirst()) + return; + do + yield this.getKey(); + while (this.nextSibling()); + this.ascend(); + } + // TODO(cleanup): Consider moving these functions out of cursor, since + // they're really just helper methods. + // It'd be really nice to do this using generators. + traverse(w2, fn3) { + const c = this.getComponent(); + if (c) + fn3(c, w2); + for (const key of this) { + if (w2) + w2.descend(key); + this.traverse(w2, fn3); + if (w2) + w2.ascend(); + } + } + eachPick(w2, fn3) { + this.traverse(w2, (c, w3) => { + if (c.p != null) + fn3(c.p, w3); + }); + } + eachDrop(w2, fn3) { + this.traverse(w2, (c, w3) => { + if (c.d != null) + fn3(c.d, w3); + }); + } + }; + exports2.ReadCursor = ReadCursor; + var WriteCursor = class extends Cursor { + constructor(op2 = null) { + super(op2); + this.pendingDescent = []; + this._op = op2; + } + flushDescent() { + assert(this.parents.length === this.indexes.length / 2); + if (this.container === null) + this._op = this.container = []; + for (let j4 = 0; j4 < this.pendingDescent.length; j4++) { + const k4 = this.pendingDescent[j4]; + let i = this.idx + 1; + if (i < this.container.length && isObject2(this.container[i])) + i++; + assert(i === this.container.length || !isObject2(this.container[i])); + if (i === this.container.length) { + this.container.push(k4); + this.idx = i; + } else if (this.container[i] === k4) { + this.idx = i; + } else { + if (!Array.isArray(this.container[i])) { + const oldChild = this.container.splice(i, this.container.length - i); + this.container.push(oldChild); + if (this.lcIdx > -1) + this.lcIdx = i; + } + this.indexes.push(this.idx); + this.parents.push(this.container); + if (this.lcIdx !== -1) { + assert(isGreaterKey(k4, this.container[this.lcIdx][0])); + i = this.lcIdx + 1; + this.lcIdx = -1; + } + while (i < this.container.length && isGreaterKey(k4, this.container[i][0])) + i++; + this.indexes.push(i); + this.idx = 0; + if (i < this.container.length && this.container[i][0] === k4) { + this.container = this.container[i]; + } else { + const child = [k4]; + this.container.splice(i, 0, child); + this.container = child; + } + } + } + this.pendingDescent.length = 0; + } + reset() { + this.lcIdx = -1; + } + // Creates and returns a component, creating one if need be. You should + // probably write to it immediately - ops are not valid with empty + // components. + getComponent() { + this.flushDescent(); + const i = this.idx + 1; + if (i < this.container.length && isObject2(this.container[i])) { + return this.container[i]; + } else { + const component = {}; + this.container.splice(i, 0, component); + return component; + } + } + write(key, value) { + const component = this.getComponent(); + assert(component[key] == null || component[key] === value, "Internal consistency error: Overwritten component. File a bug"); + component[key] = value; + } + get() { + return this._op; + } + descend(key) { + if (!exports2.isValidPathItem(key)) + throw Error("Invalid JSON key"); + this.pendingDescent.push(key); + } + descendPath(path) { + this.pendingDescent.push(...path); + return this; + } + ascend() { + if (this.pendingDescent.length) + this.pendingDescent.pop(); + else + super.ascend(); + } + mergeTree(data, mergeFn = copyAll) { + if (data === null) + return; + assert(Array.isArray(data)); + if (data === this._op) + throw Error("Cannot merge into my own tree"); + const _lcIdx = this.lcIdx; + const oldDepth = this.parents.length; + let depth = 0; + for (let i = 0; i < data.length; i++) { + const c = data[i]; + if (typeof c === "string" || typeof c === "number") { + depth++; + this.descend(c); + } else if (Array.isArray(c)) { + this.mergeTree(c, mergeFn); + } else if (typeof c === "object") { + mergeFn(c, this); + } + } + while (depth--) + this.ascend(); + this.lcIdx = this.parents.length === oldDepth ? _lcIdx : -1; + } + at(path, fn3) { + this.descendPath(path); + fn3(this); + for (let i = 0; i < path.length; i++) + this.ascend(); + return this; + } + // This is used by helpers, so the strict ordering guarantees are + // relaxed. + writeAtPath(path, key, value) { + this.at(path, () => this.write(key, value)); + this.reset(); + return this; + } + writeMove(path1, path2, slot = 0) { + return this.writeAtPath(path1, "p", slot).writeAtPath(path2, "d", slot); + } + getPath() { + const path = super.getPath(); + path.push(...this.pendingDescent); + return path; + } + }; + exports2.WriteCursor = WriteCursor; + exports2.writeCursor = () => new WriteCursor(); + exports2.readCursor = (op2) => new ReadCursor(op2); + function advancer(r, listMap, listAdv) { + let didDescend, valid; + valid = didDescend = r ? r.descendFirst() : false; + function adv(ktarget) { + let k2_; + while (valid) { + const k22 = k2_ = r.getKey(); + if (ktarget != null) { + let skip2 = false; + if (listMap && typeof k22 === "number") { + k2_ = listMap(k22, r.getComponent()); + if (k2_ < 0) { + k2_ = ~k2_; + skip2 = true; + } + } + if (isGreaterKey(k2_, ktarget)) + return null; + else if (k2_ === ktarget && !skip2) + return r; + } + if (listAdv && typeof k2_ === "number") + listAdv(k2_, r.getComponent()); + valid = r.nextSibling(); + } + return null; + } + adv.end = () => { + if (didDescend) + r.ascend(); + }; + return adv; + } + exports2.advancer = advancer; + function eachChildOf(r1, r2, fn3) { + let hasChild1, descended1, hasChild2, descended2; + hasChild1 = descended1 = r1 && r1.descendFirst(); + hasChild2 = descended2 = r2 && r2.descendFirst(); + while (hasChild1 || hasChild2) { + let k1 = hasChild1 ? r1.getKey() : null; + let k22 = hasChild2 ? r2.getKey() : null; + if (k1 !== null && k22 !== null) { + if (isGreaterKey(k22, k1)) + k22 = null; + else if (k1 !== k22) + k1 = null; + } + fn3(k1 == null ? k22 : k1, k1 != null ? r1 : null, k22 != null ? r2 : null); + if (k1 != null && hasChild1) { + hasChild1 = r1.nextSibling(); + } + if (k22 != null && hasChild2) { + hasChild2 = r2.nextSibling(); + } + } + if (descended1) + r1.ascend(); + if (descended2) + r2.ascend(); + } + exports2.eachChildOf = eachChildOf; + } + }); + + // node_modules/ot-json1/dist/types.js + var require_types = __commonJS({ + "node_modules/ot-json1/dist/types.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.ConflictType = void 0; + var ConflictType; + (function(ConflictType2) { + ConflictType2[ConflictType2["RM_UNEXPECTED_CONTENT"] = 1] = "RM_UNEXPECTED_CONTENT"; + ConflictType2[ConflictType2["DROP_COLLISION"] = 2] = "DROP_COLLISION"; + ConflictType2[ConflictType2["BLACKHOLE"] = 3] = "BLACKHOLE"; + })(ConflictType = exports2.ConflictType || (exports2.ConflictType = {})); + } + }); + + // node_modules/unicount/index.js + var require_unicount = __commonJS({ + "node_modules/unicount/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.uniToStrPos = exports2.strPosToUni = void 0; + exports2.strPosToUni = (s, strOffset = s.length) => { + let pairs = 0; + let i = 0; + for (; i < strOffset; i++) { + const code = s.charCodeAt(i); + if (code >= 55296 && code <= 57343) { + pairs++; + i++; + } + } + if (i !== strOffset) + throw Error("Invalid offset - splits unicode bytes"); + return i - pairs; + }; + exports2.uniToStrPos = (s, uniOffset) => { + let pos = 0; + for (; uniOffset > 0; uniOffset--) { + const code = s.charCodeAt(pos); + pos += code >= 55296 && code <= 57343 ? 2 : 1; + } + return pos; + }; + } + }); + + // node_modules/ot-text-unicode/dist/type.js + var require_type = __commonJS({ + "node_modules/ot-text-unicode/dist/type.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.uniSlice = exports2.dlen = exports2.eachOp = void 0; + var unicount_1 = require_unicount(); + var debugMode = false; + var checkOp = (op2) => { + if (!Array.isArray(op2)) + throw Error("Op must be an array of components"); + let last2 = null; + for (let i = 0; i < op2.length; i++) { + const c = op2[i]; + switch (typeof c) { + case "object": + if (typeof c.d !== "number" && typeof c.d !== "string") + throw Error("Delete must be number or string"); + if (exports2.dlen(c.d) <= 0) + throw Error("Deletes must not be empty"); + break; + case "string": + if (!(c.length > 0)) + throw Error("Inserts cannot be empty"); + break; + case "number": + if (!(c > 0)) + throw Error("Skip components must be >0"); + if (typeof last2 === "number") + throw Error("Adjacent skip components should be combined"); + break; + } + last2 = c; + } + if (typeof last2 === "number") + throw Error("Op has a trailing skip"); + }; + function eachOp(op2, fn3) { + let prePos = 0, postPos = 0; + for (let i = 0; i < op2.length; i++) { + const c = op2[i]; + fn3(c, prePos, postPos); + switch (typeof c) { + case "object": + prePos += exports2.dlen(c.d); + break; + case "string": + postPos += unicount_1.strPosToUni(c); + break; + case "number": + prePos += c; + postPos += c; + break; + } + } + } + exports2.eachOp = eachOp; + function mapOp(op2, fn3) { + const newOp = []; + const append = makeAppend(newOp); + eachOp(op2, (c, prePos, postPos) => { + append(fn3(c, prePos, postPos)); + }); + return trim(newOp); + } + var id4 = (x2) => x2; + var normalize = (op2) => { + return mapOp(op2, id4); + }; + exports2.dlen = (d) => typeof d === "number" ? d : unicount_1.strPosToUni(d); + var makeAppend = (op2) => (component) => { + if (!component || component.d === 0 || component.d === "") { + } else if (op2.length === 0) { + op2.push(component); + } else if (typeof component === typeof op2[op2.length - 1]) { + if (typeof component === "object") { + const last2 = op2[op2.length - 1]; + last2.d = typeof last2.d === "string" && typeof component.d === "string" ? last2.d + component.d : exports2.dlen(last2.d) + exports2.dlen(component.d); + } else { + op2[op2.length - 1] += component; + } + } else { + op2.push(component); + } + }; + var componentLength = (c) => typeof c === "number" ? c : typeof c === "string" ? unicount_1.strPosToUni(c) : typeof c.d === "number" ? c.d : unicount_1.strPosToUni(c.d); + exports2.uniSlice = (s, startUni, endUni) => { + const start = unicount_1.uniToStrPos(s, startUni); + const end = endUni == null ? Infinity : unicount_1.uniToStrPos(s, endUni); + return s.slice(start, end); + }; + var dslice = (d, start, end) => typeof d === "number" ? end == null ? d - start : Math.min(d, end) - start : exports2.uniSlice(d, start, end); + var makeTake = (op2) => { + let idx = 0; + let offset = 0; + const take2 = (n, indivisableField) => { + if (idx === op2.length) + return n === -1 ? null : n; + const c = op2[idx]; + let part; + if (typeof c === "number") { + if (n === -1 || c - offset <= n) { + part = c - offset; + ++idx; + offset = 0; + return part; + } else { + offset += n; + return n; + } + } else if (typeof c === "string") { + if (n === -1 || indivisableField === "i" || unicount_1.strPosToUni(c.slice(offset)) <= n) { + part = c.slice(offset); + ++idx; + offset = 0; + return part; + } else { + const offset2 = offset + unicount_1.uniToStrPos(c.slice(offset), n); + part = c.slice(offset, offset2); + offset = offset2; + return part; + } + } else { + if (n === -1 || indivisableField === "d" || exports2.dlen(c.d) - offset <= n) { + part = { d: dslice(c.d, offset) }; + ++idx; + offset = 0; + return part; + } else { + let result = dslice(c.d, offset, offset + n); + offset += n; + return { d: result }; + } + } + }; + const peek = () => op2[idx]; + return { take: take2, peek }; + }; + var trim = (op2) => { + if (op2.length > 0 && typeof op2[op2.length - 1] === "number") { + op2.pop(); + } + return op2; + }; + function transform(op1, op2, side) { + if (side !== "left" && side !== "right") { + throw Error("side (" + side + ") must be 'left' or 'right'"); + } + checkOp(op1); + checkOp(op2); + const newOp = []; + const append = makeAppend(newOp); + const { take: take2, peek } = makeTake(op1); + for (let i = 0; i < op2.length; i++) { + const c2 = op2[i]; + let length, c1; + switch (typeof c2) { + case "number": + length = c2; + while (length > 0) { + c1 = take2(length, "i"); + append(c1); + if (typeof c1 !== "string") { + length -= componentLength(c1); + } + } + break; + case "string": + if (side === "left") { + if (typeof peek() === "string") { + append(take2(-1)); + } + } + append(unicount_1.strPosToUni(c2)); + break; + case "object": + length = exports2.dlen(c2.d); + while (length > 0) { + c1 = take2(length, "i"); + switch (typeof c1) { + case "number": + length -= c1; + break; + case "string": + append(c1); + break; + case "object": + length -= exports2.dlen(c1.d); + } + } + break; + } + } + let c; + while (c = take2(-1)) + append(c); + if (debugMode && isInvertible(op1) && isInvertible(op2) && !isInvertible(newOp)) { + throw Error("Internal error - composed operation should also be invertible"); + } + return trim(newOp); + } + function compose(op1, op2) { + checkOp(op1); + checkOp(op2); + const result = []; + const append = makeAppend(result); + const { take: take2 } = makeTake(op1); + for (let i = 0; i < op2.length; i++) { + const component = op2[i]; + let length, chunk; + switch (typeof component) { + case "number": + length = component; + while (length > 0) { + chunk = take2(length, "d"); + append(chunk); + if (typeof chunk !== "object") { + length -= componentLength(chunk); + } + } + break; + case "string": + append(component); + break; + case "object": + length = exports2.dlen(component.d); + let offset = 0; + while (offset < length) { + chunk = take2(length - offset, "d"); + switch (typeof chunk) { + case "number": + append({ d: dslice(component.d, offset, offset + chunk) }); + offset += chunk; + break; + case "string": + offset += unicount_1.strPosToUni(chunk); + break; + case "object": + append(chunk); + } + } + break; + } + } + let c; + while (c = take2(-1)) + append(c); + if (debugMode && isInvertible(op1) && isInvertible(op2) && !isInvertible(result)) { + throw Error("Internal error - composed operation should also be invertible"); + } + return trim(result); + } + var transformPosition = (cursor, op2) => { + let pos = 0; + for (let i = 0; i < op2.length && cursor > pos; i++) { + const c = op2[i]; + switch (typeof c) { + case "number": { + pos += c; + break; + } + case "string": + const offset = unicount_1.strPosToUni(c); + pos += offset; + cursor += offset; + break; + case "object": + cursor -= Math.min(exports2.dlen(c.d), cursor - pos); + break; + } + } + return cursor; + }; + var transformSelection = (selection, op2) => typeof selection === "number" ? transformPosition(selection, op2) : selection.map((s) => transformPosition(s, op2)); + function makeInvertible(op2, doc, ropeImpl) { + return mapOp(op2, (c, prePos) => typeof c === "object" && typeof c.d === "number" ? { d: ropeImpl.slice(doc, prePos, prePos + c.d) } : c); + } + function invert(op2) { + return mapOp(op2, (c) => { + switch (typeof c) { + case "object": + if (typeof c.d === "number") { + throw Error("Cannot invert text op: Deleted characters missing from operation. makeInvertible must be called first."); + } else + return c.d; + // delete -> insert + case "string": + return { d: c }; + // Insert -> delete + case "number": + return c; + } + }); + } + function stripInvertible(op2) { + return mapOp(op2, (c) => typeof c === "object" && typeof c.d === "string" ? { d: unicount_1.strPosToUni(c.d) } : c); + } + function isInvertible(op2) { + let invertible = true; + eachOp(op2, (c) => { + if (typeof c === "object" && typeof c.d === "number") + invertible = false; + }); + return invertible; + } + function makeType(ropeImpl) { + return { + name: "text-unicode", + uri: "http://sharejs.org/types/text-unicode", + trim, + normalize, + checkOp, + /** Create a new text snapshot. + * + * @param {string} initial - initial snapshot data. Optional. Defaults to ''. + * @returns {Snap} Initial document snapshot object + */ + create(initial = "") { + if (typeof initial !== "string") { + throw Error("Initial data must be a string"); + } + return ropeImpl.create(initial); + }, + /** Apply an operation to a document snapshot + */ + apply(str, op2) { + checkOp(op2); + const builder = ropeImpl.builder(str); + for (let i = 0; i < op2.length; i++) { + const component = op2[i]; + switch (typeof component) { + case "number": + builder.skip(component); + break; + case "string": + builder.append(component); + break; + case "object": + builder.del(exports2.dlen(component.d)); + break; + } + } + return builder.build(); + }, + transform, + compose, + transformPosition, + transformSelection, + isInvertible, + makeInvertible(op2, doc) { + return makeInvertible(op2, doc, ropeImpl); + }, + stripInvertible, + invert, + invertWithDoc(op2, doc) { + return invert(makeInvertible(op2, doc, ropeImpl)); + }, + isNoop: (op2) => op2.length === 0 + }; + } + exports2.default = makeType; + } + }); + + // node_modules/ot-text-unicode/dist/api.js + var require_api = __commonJS({ + "node_modules/ot-text-unicode/dist/api.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + var type_1 = require_type(); + var unicount_1 = require_unicount(); + function api(getSnapshot, submitOp) { + return { + // Returns the text content of the document + get: getSnapshot, + // Returns the number of characters in the string + getLength() { + return getSnapshot().length; + }, + // Insert the specified text at the given position in the document + insert(pos, text, callback) { + const uniPos = unicount_1.strPosToUni(getSnapshot(), pos); + return submitOp([uniPos, text], callback); + }, + remove(pos, lengthOrContent, callback) { + const uniPos = unicount_1.strPosToUni(getSnapshot(), pos); + return submitOp([uniPos, { d: lengthOrContent }], callback); + }, + // When you use this API, you should implement these two methods + // in your editing context. + //onInsert: function(pos, text) {}, + //onRemove: function(pos, removedLength) {}, + _onOp(op2) { + type_1.eachOp(op2, (component, prePos, postPos) => { + switch (typeof component) { + case "string": + if (this.onInsert) + this.onInsert(postPos, component); + break; + case "object": + const dl4 = type_1.dlen(component.d); + if (this.onRemove) + this.onRemove(postPos, dl4); + } + }); + }, + onInsert: null, + onRemove: null + }; + } + exports2.default = api; + api.provides = { text: true }; + } + }); + + // node_modules/ot-text-unicode/dist/index.js + var require_dist = __commonJS({ + "node_modules/ot-text-unicode/dist/index.js"(exports2) { + "use strict"; + var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k4, k22) { + if (k22 === void 0) k22 = k4; + Object.defineProperty(o, k22, { enumerable: true, get: function() { + return m[k4]; + } }); + }) : (function(o, m, k4, k22) { + if (k22 === void 0) k22 = k4; + o[k22] = m[k4]; + })); + var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar = exports2 && exports2.__importStar || function(mod2) { + if (mod2 && mod2.__esModule) return mod2; + var result = {}; + if (mod2 != null) { + for (var k4 in mod2) if (Object.hasOwnProperty.call(mod2, k4)) __createBinding(result, mod2, k4); + } + __setModuleDefault(result, mod2); + return result; + }; + var __importDefault = exports2 && exports2.__importDefault || function(mod2) { + return mod2 && mod2.__esModule ? mod2 : { "default": mod2 }; + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.type = exports2.remove = exports2.insert = void 0; + var unicount_1 = require_unicount(); + var type_1 = __importStar(require_type()); + var api_1 = __importDefault(require_api()); + var ropeImplUnicodeString = { + create(s) { + return s; + }, + toString(s) { + return s; + }, + builder(oldDoc) { + if (typeof oldDoc !== "string") + throw Error("Invalid document snapshot: " + oldDoc); + const newDoc = []; + return { + skip(n) { + let offset = unicount_1.uniToStrPos(oldDoc, n); + if (offset > oldDoc.length) + throw Error("The op is too long for this document"); + newDoc.push(oldDoc.slice(0, offset)); + oldDoc = oldDoc.slice(offset); + }, + append(s) { + newDoc.push(s); + }, + del(n) { + oldDoc = oldDoc.slice(unicount_1.uniToStrPos(oldDoc, n)); + }, + build() { + return newDoc.join("") + oldDoc; + } + }; + }, + slice: type_1.uniSlice + }; + var textString = type_1.default(ropeImplUnicodeString); + var type2 = Object.assign(Object.assign({}, textString), { api: api_1.default }); + exports2.type = type2; + exports2.insert = (pos, text) => text.length === 0 ? [] : pos === 0 ? [text] : [pos, text]; + exports2.remove = (pos, textOrLen) => type_1.dlen(textOrLen) === 0 ? [] : pos === 0 ? [{ d: textOrLen }] : [pos, { d: textOrLen }]; + var type_2 = require_type(); + Object.defineProperty(exports2, "makeType", { enumerable: true, get: function() { + return type_2.default; + } }); + } + }); + + // node_modules/ot-json1/dist/json1.release.js + var require_json1_release = __commonJS({ + "node_modules/ot-json1/dist/json1.release.js"(exports2) { + "use strict"; + var __importDefault = exports2 && exports2.__importDefault || function(mod2) { + return mod2 && mod2.__esModule ? mod2 : { + default: mod2 + }; + }; + Object.defineProperty(exports2, "__esModule", { + value: true + }), exports2.editOp = exports2.replaceOp = exports2.insertOp = exports2.moveOp = exports2.removeOp = exports2.type = void 0; + var deepEqual_js_1 = __importDefault(require_deepEqual()); + var deepClone_js_1 = __importDefault(require_deepClone()); + var cursor_js_1 = require_cursor(); + var types_js_1 = require_types(); + var log3 = () => { + }; + function assert(pred, msg) { + if (!pred) throw new Error(msg); + } + var debugMode = false; + exports2.type = { + name: "json1", + uri: "http://sharejs.org/types/JSONv1", + readCursor: cursor_js_1.readCursor, + writeCursor: cursor_js_1.writeCursor, + create: (data) => data, + isNoop: (op2) => null == op2, + setDebug(val) { + debugMode = val, log3.quiet = !val; + }, + registerSubtype, + checkValidOp, + normalize, + apply: apply2, + transformPosition, + compose, + tryTransform, + transform, + makeInvertible, + invert, + invertWithDoc, + RM_UNEXPECTED_CONTENT: types_js_1.ConflictType.RM_UNEXPECTED_CONTENT, + DROP_COLLISION: types_js_1.ConflictType.DROP_COLLISION, + BLACKHOLE: types_js_1.ConflictType.BLACKHOLE, + transformNoConflict: (op1, op2, side) => transformWithConflictsPred(() => true, op1, op2, side), + typeAllowingConflictsPred: (allowConflict) => Object.assign(Object.assign({}, exports2.type), { + transform: (op1, op2, side) => transformWithConflictsPred(allowConflict, op1, op2, side) + }) + }; + var getComponent = (r) => r ? r.getComponent() : null; + function isObject2(o) { + return o && "object" == typeof o && !Array.isArray(o); + } + var shallowClone = (obj) => Array.isArray(obj) ? obj.slice() : null !== obj && "object" == typeof obj ? Object.assign({}, obj) : obj; + var hasPick = (c) => c && (null != c.p || void 0 !== c.r); + var hasDrop = (c) => c && (null != c.d || void 0 !== c.i); + function removeChild(container, key) { + return assert(null != container), "number" == typeof key ? (assert(Array.isArray(container), "Invalid key - child is not an array"), (container = container.slice()).splice(key, 1)) : (assert(isObject2(container), "Invalid key - child is not an object"), delete (container = Object.assign({}, container))[key]), container; + } + function insertChildMut(container, key, value) { + return "number" == typeof key ? (assert(null != container, "Container is missing for key"), assert(Array.isArray(container), "Cannot use numerical key for object container"), assert(container.length >= key, "Cannot insert into out of bounds index"), container.splice(key, 0, value)) : (assert(isObject2(container), "Cannot insert into missing item"), assert(void 0 === container[key], "Trying to overwrite value at key. Your op needs to remove it first"), container[key] = value), value; + } + exports2.removeOp = (path, value = true) => cursor_js_1.writeCursor().writeAtPath(path, "r", value).get(), exports2.moveOp = (from2, to4) => cursor_js_1.writeCursor().writeMove(from2, to4).get(), exports2.insertOp = (path, value) => cursor_js_1.writeCursor().writeAtPath(path, "i", value).get(), exports2.replaceOp = (path, oldVal, newVal) => cursor_js_1.writeCursor().at(path, (w2) => { + w2.write("r", oldVal), w2.write("i", newVal); + }).get(), exports2.editOp = (path, type2, subOp, preserveNoop = false) => cursor_js_1.writeCursor().at(path, (w2) => writeEdit(w2, type2, subOp, preserveNoop)).get(); + var isValidKey = (container, key) => null != container && ("number" == typeof key ? Array.isArray(container) : "object" == typeof container); + var maybeGetChild = (container, key) => isValidKey(container, key) ? container[key] : void 0; + var subtypes = {}; + function registerSubtype(subtype) { + let _subtype = subtype.type ? subtype.type : subtype; + _subtype.name && (subtypes[_subtype.name] = _subtype), _subtype.uri && (subtypes[_subtype.uri] = _subtype); + } + var typeOrThrow = (name) => { + const type2 = subtypes[name]; + if (type2) return type2; + throw Error("Missing type: " + name); + }; + registerSubtype(require_dist()); + var add3 = (a, b) => a + b; + registerSubtype({ + name: "number", + apply: add3, + compose: add3, + invert: (n) => -n, + transform: (a) => a + }); + var getEditType = (c) => null == c ? null : c.et ? typeOrThrow(c.et) : c.es ? subtypes["text-unicode"] : null != c.ena ? subtypes.number : null; + var getEdit = (c) => c.es ? c.es : null != c.ena ? c.ena : c.e; + var writeEdit = (w2, typeOrName, edit, preserveNoop = false) => { + const [type2, name] = "string" == typeof typeOrName ? [typeOrThrow(typeOrName), typeOrName] : [typeOrName, typeOrName.name]; + !preserveNoop && type2.isNoop && type2.isNoop(edit) || ("number" === name ? w2.write("ena", edit) : "text-unicode" === name ? w2.write("es", edit) : (w2.write("et", name), w2.write("e", edit))); + }; + function checkNonNegInteger(n) { + assert("number" == typeof n), assert(n >= 0), assert(n === (0 | n)); + } + function checkScalar(s) { + "number" == typeof s ? checkNonNegInteger(s) : assert("string" == typeof s); + } + function checkValidOp(op2) { + if (null === op2) return; + const pickedSlots = /* @__PURE__ */ new Set(), droppedSlots = /* @__PURE__ */ new Set(), checkComponent = (e29) => { + let empty = true, hasEdit = false; + for (let k4 in e29) { + const v = e29[k4]; + if (empty = false, assert("p" === k4 || "r" === k4 || "d" === k4 || "i" === k4 || "e" === k4 || "es" === k4 || "ena" === k4 || "et" === k4, "Invalid component item '" + k4 + "'"), "p" === k4) checkNonNegInteger(v), assert(!pickedSlots.has(v)), pickedSlots.add(v), assert(void 0 === e29.r); + else if ("d" === k4) checkNonNegInteger(v), assert(!droppedSlots.has(v)), droppedSlots.add(v), assert(void 0 === e29.i); + else if ("e" === k4 || "es" === k4 || "ena" === k4) { + assert(!hasEdit), hasEdit = true; + const t = getEditType(e29); + assert(t, "Missing type in edit"), t.checkValidOp && t.checkValidOp(getEdit(e29)); + } + } + assert(!empty); + }, checkDescent = (descent, isRoot, removed) => { + if (!Array.isArray(descent)) throw Error("Op must be null or a list"); + if (0 === descent.length) throw Error("Empty descent"); + isRoot || checkScalar(descent[0]); + let last2 = 1, numDescents = 0, lastKey = 0; + for (let i = 0; i < descent.length; i++) { + const d = descent[i]; + if (assert(null != d), Array.isArray(d)) { + const key = checkDescent(d, false, removed); + if (numDescents) { + const t1 = typeof lastKey, t2 = typeof key; + t1 === t2 ? assert(lastKey < key, "descent keys are not in order") : assert("number" === t1 && "string" === t2); + } + lastKey = key, numDescents++, last2 = 3; + } else "object" == typeof d ? (assert(1 === last2, `Prev not scalar - instead ${last2}`), checkComponent(d), last2 = 2) : (assert(3 !== last2), checkScalar(d), assert(cursor_js_1.isValidPathItem(d), "Invalid path key"), last2 = 1); + } + return assert(1 !== numDescents, "Operation makes multiple descents. Remove some []"), assert(2 === last2 || 3 === last2), descent[0]; + }; + checkDescent(op2, true, false), assert(pickedSlots.size === droppedSlots.size, "Mismatched picks and drops in op"); + for (let i = 0; i < pickedSlots.size; i++) assert(pickedSlots.has(i)), assert(droppedSlots.has(i)); + } + function normalize(op2) { + let nextSlot = 0, slotMap = []; + const w2 = cursor_js_1.writeCursor(); + return w2.mergeTree(op2, (c, w3) => { + const t = getEditType(c); + if (t) { + const op3 = getEdit(c); + writeEdit(w3, t, t.normalize ? t.normalize(op3) : op3); + } + for (const k4 of ["r", "p", "i", "d"]) if (void 0 !== c[k4]) { + const r = "p" === k4 || "d" === k4 ? (inSlot = c[k4], null == slotMap[inSlot] && (slotMap[inSlot] = nextSlot++), slotMap[inSlot]) : c[k4]; + w3.write(k4, r); + } + var inSlot; + }), w2.get(); + } + function apply2(snapshot, op2) { + if (log3.quiet = !debugMode, checkValidOp(op2), null === op2) return snapshot; + const held = []; + return (function drop(root2, descent) { + let subDoc = root2, i = 0, rootContainer = { + root: root2 + }, m = 0, container = rootContainer, key = "root"; + function mut() { + for (; m < i; m++) { + let d = descent[m]; + "object" != typeof d && (assert(isValidKey(container, key)), container = container[key] = shallowClone(container[key]), key = d); + } + } + for (; i < descent.length; i++) { + const d = descent[i]; + if (Array.isArray(d)) { + const child = drop(subDoc, d); + child !== subDoc && void 0 !== child && (mut(), subDoc = container[key] = child); + } else if ("object" == typeof d) { + null != d.d ? (mut(), subDoc = insertChildMut(container, key, held[d.d])) : void 0 !== d.i && (mut(), subDoc = insertChildMut(container, key, d.i)); + const t = getEditType(d); + if (t) mut(), subDoc = container[key] = t.apply(subDoc, getEdit(d)); + else if (void 0 !== d.e) throw Error("Subtype " + d.et + " undefined"); + } else subDoc = maybeGetChild(subDoc, d); + } + return rootContainer.root; + })(snapshot = (function pick(subDoc, descent) { + const stack = []; + let i = 0; + for (; i < descent.length; i++) { + const d = descent[i]; + if (Array.isArray(d)) break; + "object" != typeof d && (stack.push(subDoc), subDoc = maybeGetChild(subDoc, d)); + } + for (let j4 = descent.length - 1; j4 >= i; j4--) subDoc = pick(subDoc, descent[j4]); + for (--i; i >= 0; i--) { + const d = descent[i]; + if ("object" != typeof d) { + const container = stack.pop(); + subDoc = subDoc === maybeGetChild(container, d) ? container : void 0 === subDoc ? removeChild(container, d) : (k4 = d, v = subDoc, (obj = shallowClone(obj = container))[k4] = v, obj); + } else hasPick(d) && (assert(void 0 !== subDoc, "Cannot pick up or remove undefined"), null != d.p && (held[d.p] = subDoc), subDoc = void 0); + } + var obj, k4, v; + return subDoc; + })(snapshot, op2), op2); + } + function transformPosition(path, op2) { + path = path.slice(), checkValidOp(op2); + const r = cursor_js_1.readCursor(op2); + let pickedAtSlot, pickIndex, removed = false; + const advStack = []; + for (let i = 0; ; i++) { + const k4 = path[i], c = r.getComponent(); + if (c && (void 0 !== c.r ? removed = true : null != c.p && (removed = false, pickedAtSlot = c.p, pickIndex = i)), i >= path.length) break; + let pickOffset = 0; + const pickAdv = cursor_js_1.advancer(r, void 0, (k5, c2) => { + hasPick(c2) && pickOffset++; + }); + advStack.unshift(pickAdv); + const hasNext = pickAdv(k4); + if ("number" == typeof k4 && (path[i] -= pickOffset), !hasNext) break; + } + if (advStack.forEach((pickAdv) => pickAdv.end()), removed) return null; + const handleDrop = () => { + let i = 0; + if (null != pickedAtSlot) { + const rPath = r.getPath(); + i = rPath.length, path = rPath.concat(path.slice(pickIndex)); + } + for (; i < path.length; i++) { + const k4 = path[i], c = getComponent(r), et3 = getEditType(c); + if (et3) { + const e29 = getEdit(c); + et3.transformPosition && (path[i] = et3.transformPosition(path[i], e29)); + break; + } + let dropOffset = 0; + const hasNext = cursor_js_1.advancer(r, (k5, c2) => hasDrop(c2) ? ~(k5 - dropOffset) : k5 - dropOffset, (k5, c2) => { + hasDrop(c2) && dropOffset++; + })(k4); + if ("number" == typeof k4 && (path[i] += dropOffset), !hasNext) break; + } + }; + return null != pickedAtSlot ? r.eachDrop(null, (slot) => { + slot === pickedAtSlot && handleDrop(); + }) : handleDrop(), path; + } + function compose(op1, op2) { + if (checkValidOp(op1), checkValidOp(op2), null == op1) return op2; + if (null == op2) return op1; + let nextSlot = 0; + const r1 = cursor_js_1.readCursor(op1), r2 = cursor_js_1.readCursor(op2), w2 = cursor_js_1.writeCursor(), heldPickWrites = [], heldDropWrites = [], held1Pick = [], held2Drop = [], p1SlotMap = [], p2SlotMap = [], visitedOp2EditCs = /* @__PURE__ */ new Set(); + r1.traverse(null, (c) => { + null != c.p && (held1Pick[c.p] = r1.clone()); + }), r2.traverse(null, (c) => { + null != c.d && (held2Drop[c.d] = r2.clone()); + }); + const w22 = cursor_js_1.writeCursor(); + return (function xfBoundary(r1Pick, r1Drop, r2Pick, r2Drop, litIn, rmParent, wd4, wp2) { + assert(r1Drop || r2Pick); + const c1d = getComponent(r1Drop), c2p = getComponent(r2Pick), rmHere = !!c2p && void 0 !== c2p.r, insHere = !!c1d && void 0 !== c1d.i, drop1Slot = c1d ? c1d.d : null, pick2Slot = c2p ? c2p.p : null, rmChildren = (rmParent || rmHere) && null == pick2Slot; + if (null != pick2Slot) r2Drop = held2Drop[pick2Slot], wd4 = heldDropWrites[pick2Slot] = new cursor_js_1.WriteCursor(); + else if (c2p && void 0 !== c2p.r) r2Drop = null; + else { + const c2d2 = getComponent(r2Drop); + c2d2 && null != c2d2.d && (r2Drop = null); + } + const c2d = getComponent(r2Drop); + if (null != drop1Slot) if (r1Pick = held1Pick[drop1Slot], wp2 = heldPickWrites[drop1Slot] = new cursor_js_1.WriteCursor(), rmChildren) rmParent && !rmHere && wp2.write("r", true); + else { + const slot = p1SlotMap[drop1Slot] = nextSlot++; + wd4.write("d", slot); + } + else if (c1d && void 0 !== c1d.i) r1Pick = null; + else { + const c1p = getComponent(r1Pick); + c1p && null != c1p.p && (r1Pick = null); + } + let litOut; + insHere ? (assert(void 0 === litIn), litOut = c1d.i) : litOut = litIn; + const insComponent = (null == pick2Slot ? !insHere || rmParent || rmHere : void 0 === litOut) ? null : wd4.getComponent(); + if (null != pick2Slot) if (void 0 !== litIn || insHere) ; + else { + const slot = null != drop1Slot ? p1SlotMap[drop1Slot] : nextSlot++; + p2SlotMap[pick2Slot] = slot, wp2.write("p", slot); + } + else rmHere && (insHere || void 0 !== litIn || (c2p.r, wp2.write("r", c2p.r))); + const type1 = rmChildren ? null : getEditType(c1d), type2 = getEditType(c2d); + if ((type1 || type2) && (type1 && type1.name, type2 && type2.name), type1 && type2) { + assert(type1 === type2); + const e1 = getEdit(c1d), e29 = getEdit(c2d), r = type1.compose(e1, e29); + writeEdit(wd4, type1, r), visitedOp2EditCs.add(c2d); + } else type1 ? writeEdit(wd4, type1, getEdit(c1d)) : type2 && (writeEdit(wd4, type2, getEdit(c2d)), visitedOp2EditCs.add(c2d)); + const hasContainerLiteral = "object" == typeof litOut && null != litOut; + let isCloned = false, p1PickOff = 0, p1DropOff = 0, p2PickOff = 0, p2DropOff = 0, litOff = 0; + const p2DropAdv = cursor_js_1.advancer(r2Drop, (k4, c) => hasDrop(c) ? p2DropOff - k4 - 1 : k4 - p2DropOff, (k4, c) => { + hasDrop(c) && p2DropOff++; + }), p1PickAdv = cursor_js_1.advancer(r1Pick, (k4, c) => hasPick(c) ? p1PickOff - k4 - 1 : k4 - p1PickOff, (k4, c) => { + hasPick(c) && p1PickOff++; + }); + if (cursor_js_1.eachChildOf(r1Drop, r2Pick, (inKey, _p1Drop, _p2Pick) => { + let _p1Pick, _p2Drop, p1PickKey = inKey, p2DropKey = inKey, litKey = inKey; + if ("number" == typeof inKey) { + let p2Mid = inKey + p2PickOff; + _p2Drop = p2DropAdv(p2Mid), p2DropKey = p2Mid + p2DropOff; + let p1Mid = inKey + p1DropOff; + _p1Pick = p1PickAdv(p1Mid), hasDrop(getComponent(_p2Drop)) && (_p1Pick = null), p1PickKey = p1Mid + p1PickOff, litKey = inKey + litOff, assert(p1PickKey >= 0, "p1PickKey is negative"), assert(p2DropKey >= 0, "p2DropKey is negative"); + const hd1 = hasDrop(getComponent(_p1Drop)), hp2 = hasPick(getComponent(_p2Pick)); + (hd1 || hp2 && !rmChildren) && litOff--, hd1 && p1DropOff--, hp2 && p2PickOff--; + } else _p1Pick = p1PickAdv(inKey), _p2Drop = p2DropAdv(inKey); + wp2.descend(p1PickKey), wd4.descend(p2DropKey); + const _lit = hasContainerLiteral && !hasDrop(getComponent(_p1Drop)) ? litOut[litKey] : void 0, _litResult = xfBoundary(_p1Pick, _p1Drop, _p2Pick, _p2Drop, _lit, rmChildren, wd4, wp2); + var container, key, child; + hasContainerLiteral && !rmChildren ? _lit !== _litResult && (isCloned || (litOut = Array.isArray(litOut) ? litOut.slice() : Object.assign({}, litOut), isCloned = true), container = litOut, child = _litResult, "number" == typeof (key = litKey) ? (assert(Array.isArray(container)), assert(key < container.length)) : (assert(!Array.isArray(container)), assert(void 0 !== container[key])), void 0 === child ? "number" == typeof key ? container.splice(key, 1) : delete container[key] : container[key] = child) : assert(void 0 === _litResult), wd4.ascend(), wp2.ascend(); + }), p1PickAdv.end(), p2DropAdv.end(), null != insComponent) insComponent.i = litOut; + else if (!rmParent && !rmHere && null == pick2Slot) return litOut; + })(r1, r1.clone(), r2, r2.clone(), void 0, false, w2, w22), w2.reset(), w2.mergeTree(w22.get()), w2.reset(), w2.get(), heldPickWrites.map((w3) => w3.get()), heldDropWrites.map((w3) => w3.get()), r1.traverse(w2, (c, w3) => { + const slot1 = c.p; + if (null != slot1) { + const slot = p1SlotMap[slot1]; + null != slot && w3.write("p", slot); + const _w = heldPickWrites[slot1]; + _w && _w.get(), _w && w3.mergeTree(_w.get()); + } else void 0 !== c.r && w3.write("r", c.r); + }), w2.reset(), w2.get(), r2.traverse(w2, (c, w3) => { + const slot2 = c.d; + if (null != slot2) { + const slot = p2SlotMap[slot2]; + null != slot && w3.write("d", slot); + const _w = heldDropWrites[slot2]; + _w && w3.mergeTree(_w.get()); + } else void 0 !== c.i && w3.write("i", c.i); + const t = getEditType(c); + t && !visitedOp2EditCs.has(c) && writeEdit(w3, t, getEdit(c)); + }), w2.get(); + } + function invert(op2) { + if (null == op2) return null; + const r = new cursor_js_1.ReadCursor(op2), w2 = new cursor_js_1.WriteCursor(); + let editsToTransform; + const heldPick = [], heldWrites = []; + return (function invertSimple(r2, w3, subDoc) { + const c = r2.getComponent(); + let insertHere, subdocModified = false; + if (c) { + null != c.p && (w3.write("d", c.p), heldPick[c.p] = r2.clone()), void 0 !== c.r && w3.write("i", c.r), null != c.d && (w3.write("p", c.d), subDoc = void 0), void 0 !== c.i && (subDoc = insertHere = c.i); + const t = getEditType(c); + t && (void 0 === subDoc ? (editsToTransform || (editsToTransform = /* @__PURE__ */ new Set()), editsToTransform.add(c)) : (getEdit(c), subDoc = t.apply(subDoc, getEdit(c)), subdocModified = true)); + } + let dropOff = 0; + for (const key of r2) { + w3.descend(key); + const raw = "number" == typeof key ? key - dropOff : key, childIn = maybeGetChild(subDoc, raw); + hasDrop(r2.getComponent()) && dropOff++; + const childOut = invertSimple(r2, w3, childIn); + if (void 0 !== subDoc && void 0 !== childOut) { + if (subdocModified || (subdocModified = true, subDoc = shallowClone(subDoc)), !isValidKey(subDoc, raw)) throw Error("Cannot modify child - invalid operation"); + subDoc[raw] = childOut; + } + w3.ascend(); + } + if (void 0 === insertHere) return subdocModified ? subDoc : void 0; + w3.write("r", subDoc); + })(r, w2, void 0), editsToTransform && (w2.reset(), (function transformEdits(rPick, rDrop, w3) { + const cd4 = rDrop.getComponent(); + if (cd4) { + const dropSlot = cd4.d; + if (null != dropSlot && (rPick = heldPick[dropSlot], w3 = heldWrites[dropSlot] = cursor_js_1.writeCursor()), editsToTransform.has(cd4)) { + const t = getEditType(cd4); + if (!t.invert) throw Error(`Cannot invert subtype ${t.name}`); + writeEdit(w3, t, t.invert(getEdit(cd4))); + } + } + let pickOff = 0, dropOff = 0; + const ap2 = cursor_js_1.advancer(rPick, (k4, c) => hasPick(c) ? pickOff - k4 - 1 : k4 - pickOff, (k4, c) => { + hasPick(c) && pickOff++; + }); + for (const key of rDrop) if ("number" == typeof key) { + const mid = key - dropOff, _rPick = ap2(mid), raw = mid + pickOff; + w3.descend(raw), transformEdits(_rPick, rDrop, w3), hasDrop(rDrop.getComponent()) && dropOff++, w3.ascend(); + } else w3.descend(key), transformEdits(ap2(key), rDrop, w3), w3.ascend(); + ap2.end(); + })(r.clone(), r, w2), heldWrites.length && (w2.reset(), r.traverse(w2, (c, w3) => { + const slot = c.p; + if (null != slot) { + const _w = heldWrites[slot]; + _w && _w.get(), _w && w3.mergeTree(_w.get()); + } + }))), w2.get(); + } + var anyComponent = (op2, fn3) => op2.some((c) => "object" == typeof c && (Array.isArray(c) ? anyComponent(c, fn3) : fn3(c))); + function makeInvertible(op2, doc) { + if (null == op2 || !anyComponent(op2, (c) => { + var _a4; + return void 0 !== c.r || null != (null === (_a4 = getEditType(c)) || void 0 === _a4 ? void 0 : _a4.makeInvertible); + })) return op2; + const r = new cursor_js_1.ReadCursor(op2), w2 = new cursor_js_1.WriteCursor(); + let hasEdits = false; + const heldPick = [], heldDoc = [], traversePick = (r2, w3, subDoc) => { + const c = r2.getComponent(); + let modified = false; + if (c) { + null != c.d && w3.write("d", c.d), void 0 !== c.i && w3.write("i", c.i); + const pickSlot = c.p; + if (null != pickSlot && (heldPick[pickSlot] = r2.clone(), assert(void 0 !== subDoc, "Operation picks up at an invalid key"), heldDoc[pickSlot] = subDoc, w3.write("p", c.p)), void 0 !== c.r && void 0 === subDoc) throw Error("Invalid doc / op in makeInvertible: removed item missing from doc"); + const t = getEditType(c); + t && (t.makeInvertible ? hasEdits = true : writeEdit(w3, t, getEdit(c), true)); + } + let listOff = 0; + for (const key of r2) { + w3.descend(key); + const keyRaw = "number" == typeof key ? key - listOff : key, childIn = maybeGetChild(subDoc, keyRaw), childOut = traversePick(r2, w3, childIn); + childIn !== childOut && (modified || (modified = true, subDoc = shallowClone(subDoc)), void 0 === childOut ? (subDoc = removeChild(subDoc, keyRaw), "number" == typeof key && listOff++) : subDoc[keyRaw] = childOut), w3.ascend(); + } + return c && (void 0 !== c.r ? (w3.write("r", deepClone_js_1.default(subDoc)), subDoc = void 0) : null != c.p && (subDoc = void 0)), subDoc; + }; + return traversePick(r, w2, doc), w2.get(), hasEdits && (w2.reset(), (function traverseDrop(rPick, rDrop, w3, subDoc, isLiteral) { + const c = rDrop.getComponent(); + if (c) { + void 0 !== c.i ? (subDoc = c.i, isLiteral = true) : null != c.d && (subDoc = heldDoc[c.d], rPick = heldPick[c.d], isLiteral = false, c.d); + let t = getEditType(c); + if (t && t.makeInvertible) { + const edit = getEdit(c); + writeEdit(w3, t, t.makeInvertible(edit, subDoc), true); + } + } + let pickOff = 0, dropOff = 0; + const ap2 = cursor_js_1.advancer(rPick, (k4, c2) => hasPick(c2) ? pickOff - k4 - 1 : k4 - pickOff, (k4, c2) => { + hasPick(c2) && pickOff++; + }); + for (const key of rDrop) if ("number" == typeof key) { + const mid = key - dropOff, _rPick = ap2(mid), raw = mid + pickOff, child = maybeGetChild(subDoc, isLiteral ? mid : raw); + w3.descend(key), traverseDrop(_rPick, rDrop, w3, child, isLiteral), hasDrop(rDrop.getComponent()) && dropOff++, w3.ascend(); + } else { + const child = maybeGetChild(subDoc, key); + w3.descend(key), traverseDrop(ap2(key), rDrop, w3, child, isLiteral), w3.ascend(); + } + ap2.end(); + })(r.clone(), r, w2, doc, false)), w2.get(); + } + function invertWithDoc(op2, doc) { + return invert(makeInvertible(op2, doc)); + } + var shallowCloneOp = (op2) => { + if (null == op2) return null; + const result = op2.slice(); + for (let i = 0; i < op2.length; i++) { + const c = result[i]; + Array.isArray(c) && (result[i] = shallowCloneOp(c)); + } + return result; + }; + function tryTransform(op1, op2, direction) { + assert("left" === direction || "right" === direction, "Direction must be left or right"); + const side = "left" === direction ? 0 : 1; + if (log3.quiet = !debugMode, log3.prefix = 0, null == op2) return { + ok: true, + result: op1 + }; + checkValidOp(op1), checkValidOp(op2); + let conflict = null; + const heldOp1PickByOp1 = [], heldOp1DropByOp1 = [], heldOp2PickByOp2 = [], heldOp2DropByOp2 = [], heldOp1PickByOp2 = [], heldOp2PickByOp1 = [], heldOp2DropByOp1 = [], heldOp2RmForOp1 = [], heldOp1RmForOp2 = [], cancelledOp2 = [], discardedOp2Drop = [], heldPickWrites = [], heldDropWrites = [], op1PickAtOp2Pick = [], op1PicksOp2DropSlots = []; + let nextSlot = 0; + const r1 = cursor_js_1.readCursor(op1), r2 = cursor_js_1.readCursor(op2), w2 = cursor_js_1.writeCursor(); + if ((function scanOp2Pick(r2Pick, r1Pick = null, removed1) { + const c1 = getComponent(r1Pick); + c1 && (void 0 !== c1.r ? removed1 = r1Pick.clone() : null != c1.p && (removed1 = null, heldOp2PickByOp1[c1.p] = r2Pick.clone())); + const c2 = r2Pick.getComponent(); + let slot2; + c2 && null != (slot2 = c2.p) && (heldOp1PickByOp2[slot2] = r1Pick ? r1Pick.clone() : null, heldOp2PickByOp2[slot2] = r2Pick.clone(), removed1 && (cancelledOp2[slot2] = true, heldOp1RmForOp2[slot2] = removed1), c1 && null != c1.p && (op1PickAtOp2Pick[slot2] = c1.p)); + const ap1 = cursor_js_1.advancer(r1Pick); + for (const key of r2Pick) scanOp2Pick(r2Pick, ap1(key), removed1); + ap1.end(); + })(r2, r1, null), (function scanOp2Drop(r1Pick, r2Pick, r2Drop, pickSlot1, removed1) { + const c2d = r2Drop.getComponent(); + let slot2, droppedHere = false; + c2d && (null != (slot2 = c2d.d) ? (heldOp2DropByOp2[slot2] = r2Drop.clone(), null != pickSlot1 && (null == op1PicksOp2DropSlots[pickSlot1] && (op1PicksOp2DropSlots[pickSlot1] = []), op1PicksOp2DropSlots[pickSlot1].push(slot2)), cancelledOp2[slot2], r1Pick = heldOp1PickByOp2[slot2] || null, r2Pick = heldOp2PickByOp2[slot2] || null, cancelledOp2[slot2] ? (removed1 && (discardedOp2Drop[slot2] = true), removed1 = heldOp1RmForOp2[slot2] || null) : !removed1 || 1 !== side && null != op1PickAtOp2Pick[slot2] || null == conflict && (conflict = { + type: types_js_1.ConflictType.RM_UNEXPECTED_CONTENT, + op1: exports2.removeOp(removed1.getPath()), + op2: exports2.moveOp(r2Pick.getPath(), r2Drop.getPath()) + }), droppedHere = true) : void 0 !== c2d.i && (r1Pick = r2Pick = null, droppedHere = true, removed1 && null == conflict && (conflict = { + type: types_js_1.ConflictType.RM_UNEXPECTED_CONTENT, + op1: exports2.removeOp(removed1.getPath()), + op2: exports2.insertOp(r2Drop.getPath(), c2d.i) + }))); + const c1p = getComponent(r1Pick); + c1p && (void 0 !== c1p.r ? removed1 = r1Pick.clone() : null != c1p.p && (c1p.p, pickSlot1 = c1p.p, removed1 = null)); + const t2 = getEditType(c2d); + t2 && removed1 && null == conflict && (conflict = { + type: types_js_1.ConflictType.RM_UNEXPECTED_CONTENT, + op1: exports2.removeOp(removed1.getPath()), + op2: exports2.editOp(r2Drop.getPath(), t2, getEdit(c2d), true) + }); + let p2PickOff = 0, p2DropOff = 0; + const ap2 = cursor_js_1.advancer(r2Pick, (k4, c) => hasPick(c) ? p2PickOff - k4 - 1 : k4 - p2PickOff, (k4, c) => { + hasPick(c) && p2PickOff++; + }), ap1 = cursor_js_1.advancer(r1Pick); + for (const key of r2Drop) if ("number" == typeof key) { + const p2Mid = key - p2DropOff, _p2Pick = ap2(p2Mid); + p2DropOff += +scanOp2Drop(ap1(p2Mid + p2PickOff), _p2Pick, r2Drop, pickSlot1, removed1); + } else { + const _p2Pick = ap2(key); + scanOp2Drop(ap1(key), _p2Pick, r2Drop, pickSlot1, removed1); + } + return ap2.end(), ap1.end(), droppedHere; + })(r1, r2, r2.clone(), null, null), heldOp2DropByOp2.map((x2) => x2 && x2.get()), conflict) return { + ok: false, + conflict + }; + discardedOp2Drop.map((x2) => !!x2); + const pickComponents = []; + let cancelledRemoves = null; + !(function writeOp1Pick(r1Pick, r2Pick, r2Drop, w3, removed2) { + let iAmMoved = false; + const c2p = getComponent(r2Pick); + if (hasPick(c2p)) { + const slot2 = c2p.p; + null != slot2 ? (r2Drop = heldOp2DropByOp2[slot2], w3 = heldPickWrites[slot2] = cursor_js_1.writeCursor(), iAmMoved = true, removed2 = null) : (r2Drop = null, removed2 = r2Pick.clone()); + } else hasDrop(getComponent(r2Drop)) && (r2Drop = null); + const c1 = r1Pick.getComponent(); + if (c1) { + const slot1 = c1.p; + null != slot1 ? (removed2 && (heldOp2RmForOp1[slot1] = removed2), pickComponents[slot1] = removed2 || 1 === side && iAmMoved ? null : w3.getComponent(), heldOp1PickByOp1[slot1] = r1Pick.clone(), r2Drop && (heldOp2DropByOp1[slot1] = r2Drop.clone())) : void 0 !== c1.r && (removed2 || w3.write("r", true), (removed2 || iAmMoved) && (null == cancelledRemoves && (cancelledRemoves = /* @__PURE__ */ new Set()), cancelledRemoves.add(c1))); + } + let p2PickOff = 0, p2DropOff = 0; + const ap2Pick = cursor_js_1.advancer(r2Pick, void 0, (k4, c) => { + hasPick(c) && p2PickOff++; + }), ap2Drop = cursor_js_1.advancer(r2Drop, (k4, c) => hasDrop(c) ? ~(k4 - p2DropOff) : k4 - p2DropOff, (k4, c) => { + hasDrop(c) && p2DropOff++; + }); + if (r1Pick) for (const key of r1Pick) if ("string" == typeof key) { + const p2Pick_ = ap2Pick(key), p2Drop_ = ap2Drop(key); + w3.descend(key), writeOp1Pick(r1Pick, p2Pick_, p2Drop_, w3, removed2), w3.ascend(); + } else { + const p2Pick_ = ap2Pick(key), p2Mid = key - p2PickOff, p2Drop_ = hasPick(getComponent(p2Pick_)) ? null : ap2Drop(p2Mid), finalKey = p2Mid + p2DropOff; + assert(finalKey >= 0), w3.descend(finalKey), writeOp1Pick(r1Pick, p2Pick_, p2Drop_, w3, removed2), w3.ascend(); + } + ap2Pick.end(), ap2Drop.end(); + })(r1, r2, r2.clone(), w2, null), w2.reset(); + let outputSlotMap = []; + if ((function writeOp1Drop(p1Pick, p1Drop, p2Pick, p2Drop, w3, removed2) { + assert(p1Drop); + const c1d = p1Drop.getComponent(); + let c2d = getComponent(p2Drop), droppedHere = false; + const insOrMv = (r12, r22, c) => r12 ? exports2.moveOp(r12.getPath(), r22.getPath()) : exports2.insertOp(r22.getPath(), c.i); + if (hasDrop(c1d)) { + const slot1 = c1d.d; + null != slot1 && (heldOp1DropByOp1[slot1] = p1Drop.clone()); + const pc4 = null != slot1 ? pickComponents[slot1] : null; + let identical = false; + if (void 0 !== c1d.i || null != slot1 && pc4) { + let slot2; + c2d && (void 0 !== c2d.i || null != (slot2 = c2d.d) && !cancelledOp2[slot2]) && (identical = null != slot2 ? null != slot1 && slot1 === op1PickAtOp2Pick[slot2] : deepEqual_js_1.default(c2d.i, c1d.i), identical || null != slot2 && 1 !== side && null != op1PickAtOp2Pick[slot2] || null == conflict && (conflict = { + type: types_js_1.ConflictType.DROP_COLLISION, + op1: insOrMv(null != slot1 ? heldOp1PickByOp1[slot1] : null, p1Drop, c1d), + op2: insOrMv(null != slot2 ? heldOp2PickByOp2[slot2] : null, p2Drop, c2d) + })), identical || (removed2 ? null == conflict && (conflict = { + type: types_js_1.ConflictType.RM_UNEXPECTED_CONTENT, + op1: insOrMv(null != slot1 ? heldOp1PickByOp1[slot1] : null, p1Drop, c1d), + op2: exports2.removeOp(removed2.getPath()) + }) : (null != slot1 ? (outputSlotMap[nextSlot] = slot1, w3.write("d", pc4.p = nextSlot++)) : w3.write("i", deepClone_js_1.default(c1d.i)), droppedHere = true)); + } else if (null != slot1 && !pc4) { + const h = heldOp2RmForOp1[slot1]; + h && (removed2 = h.clone()); + } + null != slot1 ? (p1Pick = heldOp1PickByOp1[slot1], p2Pick = heldOp2PickByOp1[slot1], p2Drop = heldOp2DropByOp1[slot1]) : void 0 !== c1d.i && (p1Pick = p2Pick = null, identical || (p2Drop = null)); + } else hasPick(getComponent(p1Pick)) && (p1Pick = p2Pick = p2Drop = null); + const c1p = getComponent(p1Pick), c2p = getComponent(p2Pick); + if (hasPick(c2p)) { + const slot2 = c2p.p; + void 0 !== c2p.r && (!c1p || void 0 === c1p.r) || cancelledOp2[slot2] ? (p2Drop = null, removed2 = p2Pick.clone()) : null != slot2 && (p2Drop = heldOp2DropByOp2[slot2], 1 !== side && null != op1PickAtOp2Pick[slot2] || ((w3 = heldDropWrites[slot2]) || (w3 = heldDropWrites[slot2] = cursor_js_1.writeCursor()), w3.reset(), removed2 = null)); + } else !hasDrop(c1d) && hasDrop(c2d) && (p2Drop = null); + c2d = null != p2Drop ? p2Drop.getComponent() : null; + const t1 = getEditType(c1d); + if (t1) { + const e1 = getEdit(c1d); + if (removed2) null == conflict && (conflict = { + type: types_js_1.ConflictType.RM_UNEXPECTED_CONTENT, + op1: exports2.editOp(p1Drop.getPath(), t1, e1, true), + op2: exports2.removeOp(removed2.getPath()) + }); + else { + const t2 = getEditType(c2d); + let e29; + if (t2) { + if (t1 !== t2) throw Error("Transforming incompatible types"); + const e210 = getEdit(c2d); + e29 = t1.transform(e1, e210, direction); + } else e29 = deepClone_js_1.default(e1); + writeEdit(w3, t1, e29); + } + } + let p1PickOff = 0, p1DropOff = 0, p2PickOff = 0, p2DropOff = 0, outPickOff = 0, outDropOff = 0, p1pValid = null != p1Pick && p1Pick.descendFirst(), p1pDidDescend = p1pValid; + const ap2p = cursor_js_1.advancer(p2Pick, void 0, (k4, c) => { + hasPick(c) && p2PickOff++; + }); + let p2dValid = null != p2Drop && p2Drop.descendFirst(), p2dDidDescend = p2dValid; + for (const key of p1Drop) if ("number" == typeof key) { + let _p1Pick; + const hd1 = hasDrop(p1Drop.getComponent()), k1Mid = key - p1DropOff; + { + let p1k; + for (; p1pValid && "number" == typeof (p1k = p1Pick.getKey()); ) { + p1k += p1PickOff; + const c = p1Pick.getComponent(), hp2 = hasPick(c); + if (p1k > k1Mid || p1k === k1Mid && (!hp2 || 0 === side && hd1)) break; + if (hp2) { + p1PickOff--; + const slot1 = c.p; + pickComponents[slot1], op1PickAtOp2Pick.includes(slot1), c.d, getComponent(heldDropWrites[c.d]), hasPick(getComponent(heldDropWrites[c.d])), (void 0 === c.r || cancelledRemoves && cancelledRemoves.has(c)) && (null == slot1 || !pickComponents[slot1] || 1 !== side && op1PickAtOp2Pick.includes(slot1)) || outPickOff--; + } + p1pValid = p1Pick.nextSibling(); + } + _p1Pick = p1pValid && p1k === k1Mid ? p1Pick : null; + } + const raw = k1Mid - p1PickOff; + let _p2Pick = ap2p(raw); + const k2Mid = raw - p2PickOff; + let _p2Drop = null; + { + let p2dk, op2Mid; + for (; p2dValid && "number" == typeof (p2dk = p2Drop.getKey()); ) { + op2Mid = p2dk - p2DropOff; + const c = p2Drop.getComponent(), hd22 = hasDrop(c); + if (op2Mid > k2Mid) break; + if (op2Mid === k2Mid) { + if (!hd22) { + _p2Drop = p2Drop; + break; + } + { + if (0 === side && hd1) { + _p2Drop = p2Drop; + break; + } + const hp2 = _p2Pick && hasPick(_p2Pick.getComponent()); + if (0 === side && hp2) break; + } + } + if (hd22) { + const slot2 = c.d; + cancelledOp2[slot2], op1PickAtOp2Pick[slot2], void 0 === c.i && (cancelledOp2[slot2] || null != op1PickAtOp2Pick[slot2] && 1 !== side) ? (cancelledOp2[slot2] || null != op1PickAtOp2Pick[slot2] && 0 === side) && (p2DropOff++, outDropOff--) : p2DropOff++; + } + p2dValid = p2Drop.nextSibling(); + } + } + const descend = k2Mid + p2DropOff + outPickOff + outDropOff; + assert(descend >= 0, "trying to descend to a negative index"), w3.descend(descend), hd1 && (_p1Pick = _p2Pick = _p2Drop = null, p1DropOff++), writeOp1Drop(_p1Pick, p1Drop, _p2Pick, _p2Drop, w3, removed2) && outDropOff++, w3.ascend(); + } else { + let p1k; + for (; p1pValid && (p1k = p1Pick.getKey(), "string" != typeof p1k || !(p1k > key || p1k === key)); ) p1pValid = p1Pick.nextSibling(); + const _p1Pick = p1pValid && p1k === key ? p1Pick : null, _p2Pick = ap2p(key); + let p2dk; + for (; p2dValid && (p2dk = p2Drop.getKey(), "string" != typeof p2dk || !(p2dk > key || p2dk === key)); ) p2dValid = p2Drop.nextSibling(); + const _p2Drop = p2dValid && p2dk === key ? p2Drop : null; + w3.descend(key), writeOp1Drop(_p1Pick, p1Drop, _p2Pick, _p2Drop, w3, removed2), w3.ascend(); + } + return ap2p.end(), p1pDidDescend && p1Pick.ascend(), p2dDidDescend && p2Drop.ascend(), droppedHere; + })(r1, r1.clone(), r2, r2.clone(), w2, null), conflict) return { + ok: false, + conflict + }; + w2.reset(); + const eachDrop = (r, w3, fn3) => r.traverse(w3, (c, w4) => { + null != c.d && fn3(c.d, r, w4); + }); + (cancelledOp2.length || heldPickWrites.length) && (eachDrop(r2, w2, (slot2, r, w3) => { + cancelledOp2[slot2] && !discardedOp2Drop[slot2] && w3.write("r", true), heldPickWrites[slot2] && w3.mergeTree(heldPickWrites[slot2].get()); + }), w2.reset()); + const heldOutDropRead = [], heldOutDropWrites = []; + if ((heldDropWrites.length || cancelledOp2.length) && !conflict) { + const rOut = cursor_js_1.readCursor(shallowCloneOp(w2.get())); + if (eachDrop(rOut, null, (slotOut, r) => { + heldOutDropRead[slotOut] = r.clone(); + }), heldDropWrites.forEach((hdw) => { + hdw && eachDrop(cursor_js_1.readCursor(hdw.get()), null, (slotOut, r) => { + heldOutDropRead[slotOut] = r.clone(); + }); + }), (function writeHeldOp2Drop(p2Drop, outPick, outDrop, w3, parentC, removedOut) { + log3.prefix++; + const coutp = getComponent(outPick); + if (coutp && hasPick(coutp)) if (null != coutp.p) { + parentC = coutp; + const slot = coutp.p; + heldOutDropRead[slot].getPath(), outDrop = heldOutDropRead[slot], w3 = heldOutDropWrites[slot] = cursor_js_1.writeCursor(); + } else void 0 !== coutp.r && (outDrop = null, removedOut = true); + else hasDrop(getComponent(outDrop)) && (outDrop = null); + const c2 = p2Drop.getComponent(); + if (c2) { + let slot2; + if (null != (slot2 = c2.d)) { + const _w = heldDropWrites[slot2]; + _w && (_w.get(), w3.mergeTree(_w.get()), outDrop = cursor_js_1.readCursor(_w.get())); + } + } + let outPickOff = 0, outDropOff = 0; + const oPickAdv = cursor_js_1.advancer(outPick, void 0, (k4, c) => { + hasPick(c) && outPickOff--; + }), oDropAdv = cursor_js_1.advancer(outDrop, (k4, c) => hasDrop(c) ? -(k4 - outDropOff) - 1 : k4 - outDropOff, (k4, c) => { + hasDrop(c) && outDropOff++; + }); + for (const o2dk of p2Drop) if ("number" == typeof o2dk) { + const _outPick = oPickAdv(o2dk), rmid = o2dk + outPickOff, _outDrop = oDropAdv(rmid), rfinal = rmid + outDropOff; + w3.descend(rfinal), writeHeldOp2Drop(p2Drop, _outPick, _outDrop, w3, parentC, removedOut), w3.ascend(); + } else w3.descend(o2dk), writeHeldOp2Drop(p2Drop, oPickAdv(o2dk), oDropAdv(o2dk), w3, parentC, removedOut), w3.ascend(); + oPickAdv.end(), oDropAdv.end(); + })(r2, rOut, rOut.clone(), w2, null, false), w2.reset(), conflict) return { + ok: false, + conflict + }; + if (w2.get(), heldOutDropWrites.length) { + const heldOutDropContent = heldOutDropWrites.map((w3) => w3 ? w3.get() : null), rOut2 = cursor_js_1.readCursor(shallowCloneOp(w2.get())); + if (eachDrop(rOut2, w2, (slotOut, r, w3) => { + const data = heldOutDropContent[slotOut]; + data && (w3.mergeTree(data), heldOutDropContent[slotOut] = null); + }), heldOutDropContent.find((x2) => x2)) { + const w1 = cursor_js_1.writeCursor(), w22 = cursor_js_1.writeCursor(); + let nextSlot1 = 0, nextSlot2 = 0; + heldOutDropContent.forEach((data) => { + null != data && eachDrop(cursor_js_1.readCursor(data), null, (c) => { + const slot1 = outputSlotMap[c]; + w1.writeMove(heldOp1PickByOp1[slot1].getPath(), heldOp1DropByOp1[slot1].getPath(), nextSlot1++); + const slot2s = op1PicksOp2DropSlots[slot1]; + slot2s && slot2s.forEach((slot2) => { + cancelledOp2[slot2] || 1 !== side && null != op1PickAtOp2Pick[slot2] || w22.writeMove(heldOp2PickByOp2[slot2].getPath(), heldOp2DropByOp2[slot2].getPath(), nextSlot2++); + }); + }); + }), conflict = { + type: types_js_1.ConflictType.BLACKHOLE, + op1: w1.get(), + op2: w22.get() + }; + } + } + } + if (conflict) return { + ok: false, + conflict + }; + return { + ok: true, + result: w2.get() + }; + } + var throwConflictErr = (conflict) => { + const err = new Error("Transform detected write conflict"); + throw err.conflict = conflict, err.type = err.name = "writeConflict", err; + }; + function transform(op1, op2, side) { + const res = tryTransform(op1, op2, side); + if (res.ok) return res.result; + throwConflictErr(res.conflict); + } + var opThatRemovesDE = (op2) => { + const w2 = cursor_js_1.writeCursor(); + return cursor_js_1.readCursor(op2).traverse(w2, (c, w3) => { + (hasDrop(c) || getEditType(c)) && w3.write("r", true); + }), w2.get(); + }; + var resolveConflict = (conflict, side) => { + const { type: type2, op1, op2 } = conflict; + switch (type2) { + case types_js_1.ConflictType.DROP_COLLISION: + return "left" === side ? [null, opThatRemovesDE(op2)] : [opThatRemovesDE(op1), null]; + case types_js_1.ConflictType.RM_UNEXPECTED_CONTENT: + let op1HasRemove = false; + return cursor_js_1.readCursor(op1).traverse(null, (c) => { + void 0 !== c.r && (op1HasRemove = true); + }), op1HasRemove ? [null, opThatRemovesDE(op2)] : [opThatRemovesDE(op1), null]; + case types_js_1.ConflictType.BLACKHOLE: + return [opThatRemovesDE(op1), opThatRemovesDE(op2)]; + default: + throw Error("Unrecognised conflict: " + type2); + } + }; + function transformWithConflictsPred(allowConflict, op1, op2, side) { + let r2Aggregate = null; + for (; ; ) { + const res = tryTransform(op1, op2, side); + if (res.ok) return compose(r2Aggregate, res.result); + { + const { conflict } = res; + allowConflict(conflict) || throwConflictErr(conflict); + const [r1, r2] = resolveConflict(conflict, side); + op1 = compose(normalize(op1), r1), op2 = compose(normalize(op2), r2), r2Aggregate = compose(r2Aggregate, r2); + } + } + } + } + }); + + // node_modules/ot-json1/dist/index.js + var require_dist2 = __commonJS({ + "node_modules/ot-json1/dist/index.js"(exports2) { + "use strict"; + var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k4, k22) { + if (k22 === void 0) k22 = k4; + Object.defineProperty(o, k22, { enumerable: true, get: function() { + return m[k4]; + } }); + }) : (function(o, m, k4, k22) { + if (k22 === void 0) k22 = k4; + o[k22] = m[k4]; + })); + var __exportStar = exports2 && exports2.__exportStar || function(m, exports3) { + for (var p in m) if (p !== "default" && !exports3.hasOwnProperty(p)) __createBinding(exports3, m, p); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + __exportStar(require_json1_release(), exports2); + var cursor_js_1 = require_cursor(); + Object.defineProperty(exports2, "ReadCursor", { enumerable: true, get: function() { + return cursor_js_1.ReadCursor; + } }); + Object.defineProperty(exports2, "WriteCursor", { enumerable: true, get: function() { + return cursor_js_1.WriteCursor; + } }); + var types_1 = require_types(); + Object.defineProperty(exports2, "ConflictType", { enumerable: true, get: function() { + return types_1.ConflictType; + } }); + } + }); + + // node_modules/dayjs/dayjs.min.js + var require_dayjs_min = __commonJS({ + "node_modules/dayjs/dayjs.min.js"(exports2, module2) { + !(function(t, e29) { + "object" == typeof exports2 && "undefined" != typeof module2 ? module2.exports = e29() : "function" == typeof define && define.amd ? define(e29) : (t = "undefined" != typeof globalThis ? globalThis : t || self).dayjs = e29(); + })(exports2, (function() { + "use strict"; + var t = 1e3, e29 = 6e4, n = 36e5, r = "millisecond", i = "second", s = "minute", u = "hour", a = "day", o = "week", c = "month", f = "quarter", h = "year", d = "date", l = "Invalid Date", $6 = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, y = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, M4 = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), ordinal: function(t2) { + var e30 = ["th", "st", "nd", "rd"], n2 = t2 % 100; + return "[" + t2 + (e30[(n2 - 20) % 10] || e30[n2] || e30[0]) + "]"; + } }, m = function(t2, e30, n2) { + var r2 = String(t2); + return !r2 || r2.length >= e30 ? t2 : "" + Array(e30 + 1 - r2.length).join(n2) + t2; + }, v = { s: m, z: function(t2) { + var e30 = -t2.utcOffset(), n2 = Math.abs(e30), r2 = Math.floor(n2 / 60), i2 = n2 % 60; + return (e30 <= 0 ? "+" : "-") + m(r2, 2, "0") + ":" + m(i2, 2, "0"); + }, m: function t2(e30, n2) { + if (e30.date() < n2.date()) return -t2(n2, e30); + var r2 = 12 * (n2.year() - e30.year()) + (n2.month() - e30.month()), i2 = e30.clone().add(r2, c), s2 = n2 - i2 < 0, u2 = e30.clone().add(r2 + (s2 ? -1 : 1), c); + return +(-(r2 + (n2 - i2) / (s2 ? i2 - u2 : u2 - i2)) || 0); + }, a: function(t2) { + return t2 < 0 ? Math.ceil(t2) || 0 : Math.floor(t2); + }, p: function(t2) { + return { M: c, y: h, w: o, d: a, D: d, h: u, m: s, s: i, ms: r, Q: f }[t2] || String(t2 || "").toLowerCase().replace(/s$/, ""); + }, u: function(t2) { + return void 0 === t2; + } }, g2 = "en", D4 = {}; + D4[g2] = M4; + var p = "$isDayjsObject", S4 = function(t2) { + return t2 instanceof _2 || !(!t2 || !t2[p]); + }, w2 = function t2(e30, n2, r2) { + var i2; + if (!e30) return g2; + if ("string" == typeof e30) { + var s2 = e30.toLowerCase(); + D4[s2] && (i2 = s2), n2 && (D4[s2] = n2, i2 = s2); + var u2 = e30.split("-"); + if (!i2 && u2.length > 1) return t2(u2[0]); + } else { + var a2 = e30.name; + D4[a2] = e30, i2 = a2; + } + return !r2 && i2 && (g2 = i2), i2 || !r2 && g2; + }, O5 = function(t2, e30) { + if (S4(t2)) return t2.clone(); + var n2 = "object" == typeof e30 ? e30 : {}; + return n2.date = t2, n2.args = arguments, new _2(n2); + }, b = v; + b.l = w2, b.i = S4, b.w = function(t2, e30) { + return O5(t2, { locale: e30.$L, utc: e30.$u, x: e30.$x, $offset: e30.$offset }); + }; + var _2 = (function() { + function M5(t2) { + this.$L = w2(t2.locale, null, true), this.parse(t2), this.$x = this.$x || t2.x || {}, this[p] = true; + } + var m2 = M5.prototype; + return m2.parse = function(t2) { + this.$d = (function(t3) { + var e30 = t3.date, n2 = t3.utc; + if (null === e30) return /* @__PURE__ */ new Date(NaN); + if (b.u(e30)) return /* @__PURE__ */ new Date(); + if (e30 instanceof Date) return new Date(e30); + if ("string" == typeof e30 && !/Z$/i.test(e30)) { + var r2 = e30.match($6); + if (r2) { + var i2 = r2[2] - 1 || 0, s2 = (r2[7] || "0").substring(0, 3); + return n2 ? new Date(Date.UTC(r2[1], i2, r2[3] || 1, r2[4] || 0, r2[5] || 0, r2[6] || 0, s2)) : new Date(r2[1], i2, r2[3] || 1, r2[4] || 0, r2[5] || 0, r2[6] || 0, s2); + } + } + return new Date(e30); + })(t2), this.init(); + }, m2.init = function() { + var t2 = this.$d; + this.$y = t2.getFullYear(), this.$M = t2.getMonth(), this.$D = t2.getDate(), this.$W = t2.getDay(), this.$H = t2.getHours(), this.$m = t2.getMinutes(), this.$s = t2.getSeconds(), this.$ms = t2.getMilliseconds(); + }, m2.$utils = function() { + return b; + }, m2.isValid = function() { + return !(this.$d.toString() === l); + }, m2.isSame = function(t2, e30) { + var n2 = O5(t2); + return this.startOf(e30) <= n2 && n2 <= this.endOf(e30); + }, m2.isAfter = function(t2, e30) { + return O5(t2) < this.startOf(e30); + }, m2.isBefore = function(t2, e30) { + return this.endOf(e30) < O5(t2); + }, m2.$g = function(t2, e30, n2) { + return b.u(t2) ? this[e30] : this.set(n2, t2); + }, m2.unix = function() { + return Math.floor(this.valueOf() / 1e3); + }, m2.valueOf = function() { + return this.$d.getTime(); + }, m2.startOf = function(t2, e30) { + var n2 = this, r2 = !!b.u(e30) || e30, f2 = b.p(t2), l2 = function(t3, e31) { + var i2 = b.w(n2.$u ? Date.UTC(n2.$y, e31, t3) : new Date(n2.$y, e31, t3), n2); + return r2 ? i2 : i2.endOf(a); + }, $7 = function(t3, e31) { + return b.w(n2.toDate()[t3].apply(n2.toDate("s"), (r2 ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(e31)), n2); + }, y2 = this.$W, M6 = this.$M, m3 = this.$D, v2 = "set" + (this.$u ? "UTC" : ""); + switch (f2) { + case h: + return r2 ? l2(1, 0) : l2(31, 11); + case c: + return r2 ? l2(1, M6) : l2(0, M6 + 1); + case o: + var g3 = this.$locale().weekStart || 0, D5 = (y2 < g3 ? y2 + 7 : y2) - g3; + return l2(r2 ? m3 - D5 : m3 + (6 - D5), M6); + case a: + case d: + return $7(v2 + "Hours", 0); + case u: + return $7(v2 + "Minutes", 1); + case s: + return $7(v2 + "Seconds", 2); + case i: + return $7(v2 + "Milliseconds", 3); + default: + return this.clone(); + } + }, m2.endOf = function(t2) { + return this.startOf(t2, false); + }, m2.$set = function(t2, e30) { + var n2, o2 = b.p(t2), f2 = "set" + (this.$u ? "UTC" : ""), l2 = (n2 = {}, n2[a] = f2 + "Date", n2[d] = f2 + "Date", n2[c] = f2 + "Month", n2[h] = f2 + "FullYear", n2[u] = f2 + "Hours", n2[s] = f2 + "Minutes", n2[i] = f2 + "Seconds", n2[r] = f2 + "Milliseconds", n2)[o2], $7 = o2 === a ? this.$D + (e30 - this.$W) : e30; + if (o2 === c || o2 === h) { + var y2 = this.clone().set(d, 1); + y2.$d[l2]($7), y2.init(), this.$d = y2.set(d, Math.min(this.$D, y2.daysInMonth())).$d; + } else l2 && this.$d[l2]($7); + return this.init(), this; + }, m2.set = function(t2, e30) { + return this.clone().$set(t2, e30); + }, m2.get = function(t2) { + return this[b.p(t2)](); + }, m2.add = function(r2, f2) { + var d2, l2 = this; + r2 = Number(r2); + var $7 = b.p(f2), y2 = function(t2) { + var e30 = O5(l2); + return b.w(e30.date(e30.date() + Math.round(t2 * r2)), l2); + }; + if ($7 === c) return this.set(c, this.$M + r2); + if ($7 === h) return this.set(h, this.$y + r2); + if ($7 === a) return y2(1); + if ($7 === o) return y2(7); + var M6 = (d2 = {}, d2[s] = e29, d2[u] = n, d2[i] = t, d2)[$7] || 1, m3 = this.$d.getTime() + r2 * M6; + return b.w(m3, this); + }, m2.subtract = function(t2, e30) { + return this.add(-1 * t2, e30); + }, m2.format = function(t2) { + var e30 = this, n2 = this.$locale(); + if (!this.isValid()) return n2.invalidDate || l; + var r2 = t2 || "YYYY-MM-DDTHH:mm:ssZ", i2 = b.z(this), s2 = this.$H, u2 = this.$m, a2 = this.$M, o2 = n2.weekdays, c2 = n2.months, f2 = n2.meridiem, h2 = function(t3, n3, i3, s3) { + return t3 && (t3[n3] || t3(e30, r2)) || i3[n3].slice(0, s3); + }, d2 = function(t3) { + return b.s(s2 % 12 || 12, t3, "0"); + }, $7 = f2 || function(t3, e31, n3) { + var r3 = t3 < 12 ? "AM" : "PM"; + return n3 ? r3.toLowerCase() : r3; + }; + return r2.replace(y, (function(t3, r3) { + return r3 || (function(t4) { + switch (t4) { + case "YY": + return String(e30.$y).slice(-2); + case "YYYY": + return b.s(e30.$y, 4, "0"); + case "M": + return a2 + 1; + case "MM": + return b.s(a2 + 1, 2, "0"); + case "MMM": + return h2(n2.monthsShort, a2, c2, 3); + case "MMMM": + return h2(c2, a2); + case "D": + return e30.$D; + case "DD": + return b.s(e30.$D, 2, "0"); + case "d": + return String(e30.$W); + case "dd": + return h2(n2.weekdaysMin, e30.$W, o2, 2); + case "ddd": + return h2(n2.weekdaysShort, e30.$W, o2, 3); + case "dddd": + return o2[e30.$W]; + case "H": + return String(s2); + case "HH": + return b.s(s2, 2, "0"); + case "h": + return d2(1); + case "hh": + return d2(2); + case "a": + return $7(s2, u2, true); + case "A": + return $7(s2, u2, false); + case "m": + return String(u2); + case "mm": + return b.s(u2, 2, "0"); + case "s": + return String(e30.$s); + case "ss": + return b.s(e30.$s, 2, "0"); + case "SSS": + return b.s(e30.$ms, 3, "0"); + case "Z": + return i2; + } + return null; + })(t3) || i2.replace(":", ""); + })); + }, m2.utcOffset = function() { + return 15 * -Math.round(this.$d.getTimezoneOffset() / 15); + }, m2.diff = function(r2, d2, l2) { + var $7, y2 = this, M6 = b.p(d2), m3 = O5(r2), v2 = (m3.utcOffset() - this.utcOffset()) * e29, g3 = this - m3, D5 = function() { + return b.m(y2, m3); + }; + switch (M6) { + case h: + $7 = D5() / 12; + break; + case c: + $7 = D5(); + break; + case f: + $7 = D5() / 3; + break; + case o: + $7 = (g3 - v2) / 6048e5; + break; + case a: + $7 = (g3 - v2) / 864e5; + break; + case u: + $7 = g3 / n; + break; + case s: + $7 = g3 / e29; + break; + case i: + $7 = g3 / t; + break; + default: + $7 = g3; + } + return l2 ? $7 : b.a($7); + }, m2.daysInMonth = function() { + return this.endOf(c).$D; + }, m2.$locale = function() { + return D4[this.$L]; + }, m2.locale = function(t2, e30) { + if (!t2) return this.$L; + var n2 = this.clone(), r2 = w2(t2, e30, true); + return r2 && (n2.$L = r2), n2; + }, m2.clone = function() { + return b.w(this.$d, this); + }, m2.toDate = function() { + return new Date(this.valueOf()); + }, m2.toJSON = function() { + return this.isValid() ? this.toISOString() : null; + }, m2.toISOString = function() { + return this.$d.toISOString(); + }, m2.toString = function() { + return this.$d.toUTCString(); + }, M5; + })(), k4 = _2.prototype; + return O5.prototype = k4, [["$ms", r], ["$s", i], ["$m", s], ["$H", u], ["$W", a], ["$M", c], ["$y", h], ["$D", d]].forEach((function(t2) { + k4[t2[1]] = function(e30) { + return this.$g(e30, t2[0], t2[1]); + }; + })), O5.extend = function(t2, e30) { + return t2.$i || (t2(e30, _2, O5), t2.$i = true), O5; + }, O5.locale = w2, O5.isDayjs = S4, O5.unix = function(t2) { + return O5(1e3 * t2); + }, O5.en = D4[g2], O5.Ls = D4, O5.p = {}, O5; + })); + } + }); + + // node_modules/dayjs/plugin/advancedFormat.js + var require_advancedFormat = __commonJS({ + "node_modules/dayjs/plugin/advancedFormat.js"(exports2, module2) { + !(function(e29, t) { + "object" == typeof exports2 && "undefined" != typeof module2 ? module2.exports = t() : "function" == typeof define && define.amd ? define(t) : (e29 = "undefined" != typeof globalThis ? globalThis : e29 || self).dayjs_plugin_advancedFormat = t(); + })(exports2, (function() { + "use strict"; + return function(e29, t) { + var r = t.prototype, n = r.format; + r.format = function(e30) { + var t2 = this, r2 = this.$locale(); + if (!this.isValid()) return n.bind(this)(e30); + var s = this.$utils(), a = (e30 || "YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g, (function(e31) { + switch (e31) { + case "Q": + return Math.ceil((t2.$M + 1) / 3); + case "Do": + return r2.ordinal(t2.$D); + case "gggg": + return t2.weekYear(); + case "GGGG": + return t2.isoWeekYear(); + case "wo": + return r2.ordinal(t2.week(), "W"); + case "w": + case "ww": + return s.s(t2.week(), "w" === e31 ? 1 : 2, "0"); + case "W": + case "WW": + return s.s(t2.isoWeek(), "W" === e31 ? 1 : 2, "0"); + case "k": + case "kk": + return s.s(String(0 === t2.$H ? 24 : t2.$H), "k" === e31 ? 1 : 2, "0"); + case "X": + return Math.floor(t2.$d.getTime() / 1e3); + case "x": + return t2.$d.getTime(); + case "z": + return "[" + t2.offsetName() + "]"; + case "zzz": + return "[" + t2.offsetName("long") + "]"; + default: + return e31; + } + })); + return n.bind(this)(a); + }; + }; + })); + } + }); + + // node_modules/dayjs/plugin/customParseFormat.js + var require_customParseFormat = __commonJS({ + "node_modules/dayjs/plugin/customParseFormat.js"(exports2, module2) { + !(function(e29, t) { + "object" == typeof exports2 && "undefined" != typeof module2 ? module2.exports = t() : "function" == typeof define && define.amd ? define(t) : (e29 = "undefined" != typeof globalThis ? globalThis : e29 || self).dayjs_plugin_customParseFormat = t(); + })(exports2, (function() { + "use strict"; + var e29 = { LTS: "h:mm:ss A", LT: "h:mm A", L: "MM/DD/YYYY", LL: "MMMM D, YYYY", LLL: "MMMM D, YYYY h:mm A", LLLL: "dddd, MMMM D, YYYY h:mm A" }, t = /(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g, n = /\d/, r = /\d\d/, i = /\d\d?/, o = /\d*[^-_:/,()\s\d]+/, s = {}, a = function(e30) { + return (e30 = +e30) + (e30 > 68 ? 1900 : 2e3); + }; + var f = function(e30) { + return function(t2) { + this[e30] = +t2; + }; + }, h = [/[+-]\d\d:?(\d\d)?|Z/, function(e30) { + (this.zone || (this.zone = {})).offset = (function(e31) { + if (!e31) return 0; + if ("Z" === e31) return 0; + var t2 = e31.match(/([+-]|\d\d)/g), n2 = 60 * t2[1] + (+t2[2] || 0); + return 0 === n2 ? 0 : "+" === t2[0] ? -n2 : n2; + })(e30); + }], u = function(e30) { + var t2 = s[e30]; + return t2 && (t2.indexOf ? t2 : t2.s.concat(t2.f)); + }, d = function(e30, t2) { + var n2, r2 = s.meridiem; + if (r2) { + for (var i2 = 1; i2 <= 24; i2 += 1) if (e30.indexOf(r2(i2, 0, t2)) > -1) { + n2 = i2 > 12; + break; + } + } else n2 = e30 === (t2 ? "pm" : "PM"); + return n2; + }, c = { A: [o, function(e30) { + this.afternoon = d(e30, false); + }], a: [o, function(e30) { + this.afternoon = d(e30, true); + }], Q: [n, function(e30) { + this.month = 3 * (e30 - 1) + 1; + }], S: [n, function(e30) { + this.milliseconds = 100 * +e30; + }], SS: [r, function(e30) { + this.milliseconds = 10 * +e30; + }], SSS: [/\d{3}/, function(e30) { + this.milliseconds = +e30; + }], s: [i, f("seconds")], ss: [i, f("seconds")], m: [i, f("minutes")], mm: [i, f("minutes")], H: [i, f("hours")], h: [i, f("hours")], HH: [i, f("hours")], hh: [i, f("hours")], D: [i, f("day")], DD: [r, f("day")], Do: [o, function(e30) { + var t2 = s.ordinal, n2 = e30.match(/\d+/); + if (this.day = n2[0], t2) for (var r2 = 1; r2 <= 31; r2 += 1) t2(r2).replace(/\[|\]/g, "") === e30 && (this.day = r2); + }], w: [i, f("week")], ww: [r, f("week")], M: [i, f("month")], MM: [r, f("month")], MMM: [o, function(e30) { + var t2 = u("months"), n2 = (u("monthsShort") || t2.map((function(e31) { + return e31.slice(0, 3); + }))).indexOf(e30) + 1; + if (n2 < 1) throw new Error(); + this.month = n2 % 12 || n2; + }], MMMM: [o, function(e30) { + var t2 = u("months").indexOf(e30) + 1; + if (t2 < 1) throw new Error(); + this.month = t2 % 12 || t2; + }], Y: [/[+-]?\d+/, f("year")], YY: [r, function(e30) { + this.year = a(e30); + }], YYYY: [/\d{4}/, f("year")], Z: h, ZZ: h }; + function l(n2) { + var r2, i2; + r2 = n2, i2 = s && s.formats; + for (var o2 = (n2 = r2.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g, (function(t2, n3, r3) { + var o3 = r3 && r3.toUpperCase(); + return n3 || i2[r3] || e29[r3] || i2[o3].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g, (function(e30, t3, n4) { + return t3 || n4.slice(1); + })); + }))).match(t), a2 = o2.length, f2 = 0; f2 < a2; f2 += 1) { + var h2 = o2[f2], u2 = c[h2], d2 = u2 && u2[0], l2 = u2 && u2[1]; + o2[f2] = l2 ? { regex: d2, parser: l2 } : h2.replace(/^\[|\]$/g, ""); + } + return function(e30) { + for (var t2 = {}, n3 = 0, r3 = 0; n3 < a2; n3 += 1) { + var i3 = o2[n3]; + if ("string" == typeof i3) r3 += i3.length; + else { + var s2 = i3.regex, f3 = i3.parser, h3 = e30.slice(r3), u3 = s2.exec(h3)[0]; + f3.call(t2, u3), e30 = e30.replace(u3, ""); + } + } + return (function(e31) { + var t3 = e31.afternoon; + if (void 0 !== t3) { + var n4 = e31.hours; + t3 ? n4 < 12 && (e31.hours += 12) : 12 === n4 && (e31.hours = 0), delete e31.afternoon; + } + })(t2), t2; + }; + } + return function(e30, t2, n2) { + n2.p.customParseFormat = true, e30 && e30.parseTwoDigitYear && (a = e30.parseTwoDigitYear); + var r2 = t2.prototype, i2 = r2.parse; + r2.parse = function(e31) { + var t3 = e31.date, r3 = e31.utc, o2 = e31.args; + this.$u = r3; + var a2 = o2[1]; + if ("string" == typeof a2) { + var f2 = true === o2[2], h2 = true === o2[3], u2 = f2 || h2, d2 = o2[2]; + h2 && (d2 = o2[2]), s = this.$locale(), !f2 && d2 && (s = n2.Ls[d2]), this.$d = (function(e32, t4, n3, r4) { + try { + if (["x", "X"].indexOf(t4) > -1) return new Date(("X" === t4 ? 1e3 : 1) * e32); + var i3 = l(t4)(e32), o3 = i3.year, s2 = i3.month, a3 = i3.day, f3 = i3.hours, h3 = i3.minutes, u3 = i3.seconds, d3 = i3.milliseconds, c3 = i3.zone, m2 = i3.week, M5 = /* @__PURE__ */ new Date(), Y6 = a3 || (o3 || s2 ? 1 : M5.getDate()), p = o3 || M5.getFullYear(), v = 0; + o3 && !s2 || (v = s2 > 0 ? s2 - 1 : M5.getMonth()); + var D4, w2 = f3 || 0, g2 = h3 || 0, y = u3 || 0, L4 = d3 || 0; + return c3 ? new Date(Date.UTC(p, v, Y6, w2, g2, y, L4 + 60 * c3.offset * 1e3)) : n3 ? new Date(Date.UTC(p, v, Y6, w2, g2, y, L4)) : (D4 = new Date(p, v, Y6, w2, g2, y, L4), m2 && (D4 = r4(D4).week(m2).toDate()), D4); + } catch (e33) { + return /* @__PURE__ */ new Date(""); + } + })(t3, a2, r3, n2), this.init(), d2 && true !== d2 && (this.$L = this.locale(d2).$L), u2 && t3 != this.format(a2) && (this.$d = /* @__PURE__ */ new Date("")), s = {}; + } else if (a2 instanceof Array) for (var c2 = a2.length, m = 1; m <= c2; m += 1) { + o2[1] = a2[m - 1]; + var M4 = n2.apply(this, o2); + if (M4.isValid()) { + this.$d = M4.$d, this.$L = M4.$L, this.init(); + break; + } + m === c2 && (this.$d = /* @__PURE__ */ new Date("")); + } + else i2.call(this, e31); + }; + }; + })); + } + }); + + // node_modules/dayjs/plugin/localeData.js + var require_localeData = __commonJS({ + "node_modules/dayjs/plugin/localeData.js"(exports2, module2) { + !(function(n, e29) { + "object" == typeof exports2 && "undefined" != typeof module2 ? module2.exports = e29() : "function" == typeof define && define.amd ? define(e29) : (n = "undefined" != typeof globalThis ? globalThis : n || self).dayjs_plugin_localeData = e29(); + })(exports2, (function() { + "use strict"; + return function(n, e29, t) { + var r = e29.prototype, o = function(n2) { + return n2 && (n2.indexOf ? n2 : n2.s); + }, u = function(n2, e30, t2, r2, u2) { + var i2 = n2.name ? n2 : n2.$locale(), a2 = o(i2[e30]), s2 = o(i2[t2]), f = a2 || s2.map((function(n3) { + return n3.slice(0, r2); + })); + if (!u2) return f; + var d = i2.weekStart; + return f.map((function(n3, e31) { + return f[(e31 + (d || 0)) % 7]; + })); + }, i = function() { + return t.Ls[t.locale()]; + }, a = function(n2, e30) { + return n2.formats[e30] || (function(n3) { + return n3.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g, (function(n4, e31, t2) { + return e31 || t2.slice(1); + })); + })(n2.formats[e30.toUpperCase()]); + }, s = function() { + var n2 = this; + return { months: function(e30) { + return e30 ? e30.format("MMMM") : u(n2, "months"); + }, monthsShort: function(e30) { + return e30 ? e30.format("MMM") : u(n2, "monthsShort", "months", 3); + }, firstDayOfWeek: function() { + return n2.$locale().weekStart || 0; + }, weekdays: function(e30) { + return e30 ? e30.format("dddd") : u(n2, "weekdays"); + }, weekdaysMin: function(e30) { + return e30 ? e30.format("dd") : u(n2, "weekdaysMin", "weekdays", 2); + }, weekdaysShort: function(e30) { + return e30 ? e30.format("ddd") : u(n2, "weekdaysShort", "weekdays", 3); + }, longDateFormat: function(e30) { + return a(n2.$locale(), e30); + }, meridiem: this.$locale().meridiem, ordinal: this.$locale().ordinal }; + }; + r.localeData = function() { + return s.bind(this)(); + }, t.localeData = function() { + var n2 = i(); + return { firstDayOfWeek: function() { + return n2.weekStart || 0; + }, weekdays: function() { + return t.weekdays(); + }, weekdaysShort: function() { + return t.weekdaysShort(); + }, weekdaysMin: function() { + return t.weekdaysMin(); + }, months: function() { + return t.months(); + }, monthsShort: function() { + return t.monthsShort(); + }, longDateFormat: function(e30) { + return a(n2, e30); + }, meridiem: n2.meridiem, ordinal: n2.ordinal }; + }, t.months = function() { + return u(i(), "months"); + }, t.monthsShort = function() { + return u(i(), "monthsShort", "months", 3); + }, t.weekdays = function(n2) { + return u(i(), "weekdays", null, null, n2); + }, t.weekdaysShort = function(n2) { + return u(i(), "weekdaysShort", "weekdays", 3, n2); + }, t.weekdaysMin = function(n2) { + return u(i(), "weekdaysMin", "weekdays", 2, n2); + }; + }; + })); + } + }); + + // node_modules/dayjs/plugin/localizedFormat.js + var require_localizedFormat = __commonJS({ + "node_modules/dayjs/plugin/localizedFormat.js"(exports2, module2) { + !(function(e29, t) { + "object" == typeof exports2 && "undefined" != typeof module2 ? module2.exports = t() : "function" == typeof define && define.amd ? define(t) : (e29 = "undefined" != typeof globalThis ? globalThis : e29 || self).dayjs_plugin_localizedFormat = t(); + })(exports2, (function() { + "use strict"; + var e29 = { LTS: "h:mm:ss A", LT: "h:mm A", L: "MM/DD/YYYY", LL: "MMMM D, YYYY", LLL: "MMMM D, YYYY h:mm A", LLLL: "dddd, MMMM D, YYYY h:mm A" }; + return function(t, o, n) { + var r = o.prototype, i = r.format; + n.en.formats = e29, r.format = function(t2) { + void 0 === t2 && (t2 = "YYYY-MM-DDTHH:mm:ssZ"); + var o2 = this.$locale().formats, n2 = (function(t3, o3) { + return t3.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g, (function(t4, n3, r2) { + var i2 = r2 && r2.toUpperCase(); + return n3 || o3[r2] || e29[r2] || o3[i2].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g, (function(e30, t5, o4) { + return t5 || o4.slice(1); + })); + })); + })(t2, void 0 === o2 ? {} : o2); + return i.call(this, n2); + }; + }; + })); + } + }); + + // node_modules/dayjs/plugin/utc.js + var require_utc = __commonJS({ + "node_modules/dayjs/plugin/utc.js"(exports2, module2) { + !(function(t, i) { + "object" == typeof exports2 && "undefined" != typeof module2 ? module2.exports = i() : "function" == typeof define && define.amd ? define(i) : (t = "undefined" != typeof globalThis ? globalThis : t || self).dayjs_plugin_utc = i(); + })(exports2, (function() { + "use strict"; + var t = "minute", i = /[+-]\d\d(?::?\d\d)?/g, e29 = /([+-]|\d\d)/g; + return function(s, f, n) { + var u = f.prototype; + n.utc = function(t2) { + var i2 = { date: t2, utc: true, args: arguments }; + return new f(i2); + }, u.utc = function(i2) { + var e30 = n(this.toDate(), { locale: this.$L, utc: true }); + return i2 ? e30.add(this.utcOffset(), t) : e30; + }, u.local = function() { + return n(this.toDate(), { locale: this.$L, utc: false }); + }; + var r = u.parse; + u.parse = function(t2) { + t2.utc && (this.$u = true), this.$utils().u(t2.$offset) || (this.$offset = t2.$offset), r.call(this, t2); + }; + var o = u.init; + u.init = function() { + if (this.$u) { + var t2 = this.$d; + this.$y = t2.getUTCFullYear(), this.$M = t2.getUTCMonth(), this.$D = t2.getUTCDate(), this.$W = t2.getUTCDay(), this.$H = t2.getUTCHours(), this.$m = t2.getUTCMinutes(), this.$s = t2.getUTCSeconds(), this.$ms = t2.getUTCMilliseconds(); + } else o.call(this); + }; + var a = u.utcOffset; + u.utcOffset = function(s2, f2) { + var n2 = this.$utils().u; + if (n2(s2)) return this.$u ? 0 : n2(this.$offset) ? a.call(this) : this.$offset; + if ("string" == typeof s2 && (s2 = (function(t2) { + void 0 === t2 && (t2 = ""); + var s3 = t2.match(i); + if (!s3) return null; + var f3 = ("" + s3[0]).match(e29) || ["-", 0, 0], n3 = f3[0], u3 = 60 * +f3[1] + +f3[2]; + return 0 === u3 ? 0 : "+" === n3 ? u3 : -u3; + })(s2), null === s2)) return this; + var u2 = Math.abs(s2) <= 16 ? 60 * s2 : s2; + if (0 === u2) return this.utc(f2); + var r2 = this.clone(); + if (f2) return r2.$offset = u2, r2.$u = false, r2; + var o2 = this.$u ? this.toDate().getTimezoneOffset() : -1 * this.utcOffset(); + return (r2 = this.local().add(u2 + o2, t)).$offset = u2, r2.$x.$localOffset = o2, r2; + }; + var h = u.format; + u.format = function(t2) { + var i2 = t2 || (this.$u ? "YYYY-MM-DDTHH:mm:ss[Z]" : ""); + return h.call(this, i2); + }, u.valueOf = function() { + var t2 = this.$utils().u(this.$offset) ? 0 : this.$offset + (this.$x.$localOffset || this.$d.getTimezoneOffset()); + return this.$d.valueOf() - 6e4 * t2; + }, u.isUTC = function() { + return !!this.$u; + }, u.toISOString = function() { + return this.toDate().toISOString(); + }, u.toString = function() { + return this.toDate().toUTCString(); + }; + var l = u.toDate; + u.toDate = function(t2) { + return "s" === t2 && this.$offset ? n(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate() : l.call(this); + }; + var c = u.diff; + u.diff = function(t2, i2, e30) { + if (t2 && this.$u === t2.$u) return c.call(this, t2, i2, e30); + var s2 = this.local(), f2 = n(t2).local(); + return c.call(s2, f2, i2, e30); + }; + }; + })); + } + }); + + // node_modules/dayjs/plugin/weekday.js + var require_weekday = __commonJS({ + "node_modules/dayjs/plugin/weekday.js"(exports2, module2) { + !(function(e29, t) { + "object" == typeof exports2 && "undefined" != typeof module2 ? module2.exports = t() : "function" == typeof define && define.amd ? define(t) : (e29 = "undefined" != typeof globalThis ? globalThis : e29 || self).dayjs_plugin_weekday = t(); + })(exports2, (function() { + "use strict"; + return function(e29, t) { + t.prototype.weekday = function(e30) { + var t2 = this.$locale().weekStart || 0, i = this.$W, n = (i < t2 ? i + 7 : i) - t2; + return this.$utils().u(e30) ? n : this.subtract(n, "day").add(e30, "day"); + }; + }; + })); + } + }); + + // node_modules/dayjs/plugin/weekOfYear.js + var require_weekOfYear = __commonJS({ + "node_modules/dayjs/plugin/weekOfYear.js"(exports2, module2) { + !(function(e29, t) { + "object" == typeof exports2 && "undefined" != typeof module2 ? module2.exports = t() : "function" == typeof define && define.amd ? define(t) : (e29 = "undefined" != typeof globalThis ? globalThis : e29 || self).dayjs_plugin_weekOfYear = t(); + })(exports2, (function() { + "use strict"; + var e29 = "week", t = "year"; + return function(i, n, r) { + var f = n.prototype; + f.week = function(i2) { + if (void 0 === i2 && (i2 = null), null !== i2) return this.add(7 * (i2 - this.week()), "day"); + var n2 = this.$locale().yearStart || 1; + if (11 === this.month() && this.date() > 25) { + var f2 = r(this).startOf(t).add(1, t).date(n2), s = r(this).endOf(e29); + if (f2.isBefore(s)) return 1; + } + var a = r(this).startOf(t).date(n2).startOf(e29).subtract(1, "millisecond"), o = this.diff(a, e29, true); + return o < 0 ? r(this).startOf("week").week() : Math.ceil(o); + }, f.weeks = function(e30) { + return void 0 === e30 && (e30 = null), this.week(e30); + }; + }; + })); + } + }); + + // node_modules/dayjs/plugin/weekYear.js + var require_weekYear = __commonJS({ + "node_modules/dayjs/plugin/weekYear.js"(exports2, module2) { + !(function(e29, t) { + "object" == typeof exports2 && "undefined" != typeof module2 ? module2.exports = t() : "function" == typeof define && define.amd ? define(t) : (e29 = "undefined" != typeof globalThis ? globalThis : e29 || self).dayjs_plugin_weekYear = t(); + })(exports2, (function() { + "use strict"; + return function(e29, t) { + t.prototype.weekYear = function() { + var e30 = this.month(), t2 = this.week(), n = this.year(); + return 1 === t2 && 11 === e30 ? n + 1 : 0 === e30 && t2 >= 52 ? n - 1 : n; + }; + }; + })); + } + }); + + // node_modules/fast-diff/diff.js + var require_diff = __commonJS({ + "node_modules/fast-diff/diff.js"(exports2, module2) { + var DIFF_DELETE = -1; + var DIFF_INSERT = 1; + var DIFF_EQUAL = 0; + function diff_main(text1, text2, cursor_pos, cleanup, _fix_unicode) { + if (text1 === text2) { + if (text1) { + return [[DIFF_EQUAL, text1]]; + } + return []; + } + if (cursor_pos != null) { + var editdiff = find_cursor_edit_diff(text1, text2, cursor_pos); + if (editdiff) { + return editdiff; + } + } + var commonlength = diff_commonPrefix(text1, text2); + var commonprefix = text1.substring(0, commonlength); + text1 = text1.substring(commonlength); + text2 = text2.substring(commonlength); + commonlength = diff_commonSuffix(text1, text2); + var commonsuffix = text1.substring(text1.length - commonlength); + text1 = text1.substring(0, text1.length - commonlength); + text2 = text2.substring(0, text2.length - commonlength); + var diffs = diff_compute_(text1, text2); + if (commonprefix) { + diffs.unshift([DIFF_EQUAL, commonprefix]); + } + if (commonsuffix) { + diffs.push([DIFF_EQUAL, commonsuffix]); + } + diff_cleanupMerge(diffs, _fix_unicode); + if (cleanup) { + diff_cleanupSemantic(diffs); + } + return diffs; + } + function diff_compute_(text1, text2) { + var diffs; + if (!text1) { + return [[DIFF_INSERT, text2]]; + } + if (!text2) { + return [[DIFF_DELETE, text1]]; + } + var longtext = text1.length > text2.length ? text1 : text2; + var shorttext = text1.length > text2.length ? text2 : text1; + var i = longtext.indexOf(shorttext); + if (i !== -1) { + diffs = [ + [DIFF_INSERT, longtext.substring(0, i)], + [DIFF_EQUAL, shorttext], + [DIFF_INSERT, longtext.substring(i + shorttext.length)] + ]; + if (text1.length > text2.length) { + diffs[0][0] = diffs[2][0] = DIFF_DELETE; + } + return diffs; + } + if (shorttext.length === 1) { + return [ + [DIFF_DELETE, text1], + [DIFF_INSERT, text2] + ]; + } + var hm2 = diff_halfMatch_(text1, text2); + if (hm2) { + var text1_a = hm2[0]; + var text1_b = hm2[1]; + var text2_a = hm2[2]; + var text2_b = hm2[3]; + var mid_common = hm2[4]; + var diffs_a = diff_main(text1_a, text2_a); + var diffs_b = diff_main(text1_b, text2_b); + return diffs_a.concat([[DIFF_EQUAL, mid_common]], diffs_b); + } + return diff_bisect_(text1, text2); + } + function diff_bisect_(text1, text2) { + var text1_length = text1.length; + var text2_length = text2.length; + var max_d = Math.ceil((text1_length + text2_length) / 2); + var v_offset = max_d; + var v_length = 2 * max_d; + var v1 = new Array(v_length); + var v2 = new Array(v_length); + for (var x2 = 0; x2 < v_length; x2++) { + v1[x2] = -1; + v2[x2] = -1; + } + v1[v_offset + 1] = 0; + v2[v_offset + 1] = 0; + var delta = text1_length - text2_length; + var front = delta % 2 !== 0; + var k1start = 0; + var k1end = 0; + var k2start = 0; + var k2end = 0; + for (var d = 0; d < max_d; d++) { + for (var k1 = -d + k1start; k1 <= d - k1end; k1 += 2) { + var k1_offset = v_offset + k1; + var x1; + if (k1 === -d || k1 !== d && v1[k1_offset - 1] < v1[k1_offset + 1]) { + x1 = v1[k1_offset + 1]; + } else { + x1 = v1[k1_offset - 1] + 1; + } + var y1 = x1 - k1; + while (x1 < text1_length && y1 < text2_length && text1.charAt(x1) === text2.charAt(y1)) { + x1++; + y1++; + } + v1[k1_offset] = x1; + if (x1 > text1_length) { + k1end += 2; + } else if (y1 > text2_length) { + k1start += 2; + } else if (front) { + var k2_offset = v_offset + delta - k1; + if (k2_offset >= 0 && k2_offset < v_length && v2[k2_offset] !== -1) { + var x22 = text1_length - v2[k2_offset]; + if (x1 >= x22) { + return diff_bisectSplit_(text1, text2, x1, y1); + } + } + } + } + for (var k22 = -d + k2start; k22 <= d - k2end; k22 += 2) { + var k2_offset = v_offset + k22; + var x22; + if (k22 === -d || k22 !== d && v2[k2_offset - 1] < v2[k2_offset + 1]) { + x22 = v2[k2_offset + 1]; + } else { + x22 = v2[k2_offset - 1] + 1; + } + var y2 = x22 - k22; + while (x22 < text1_length && y2 < text2_length && text1.charAt(text1_length - x22 - 1) === text2.charAt(text2_length - y2 - 1)) { + x22++; + y2++; + } + v2[k2_offset] = x22; + if (x22 > text1_length) { + k2end += 2; + } else if (y2 > text2_length) { + k2start += 2; + } else if (!front) { + var k1_offset = v_offset + delta - k22; + if (k1_offset >= 0 && k1_offset < v_length && v1[k1_offset] !== -1) { + var x1 = v1[k1_offset]; + var y1 = v_offset + x1 - k1_offset; + x22 = text1_length - x22; + if (x1 >= x22) { + return diff_bisectSplit_(text1, text2, x1, y1); + } + } + } + } + } + return [ + [DIFF_DELETE, text1], + [DIFF_INSERT, text2] + ]; + } + function diff_bisectSplit_(text1, text2, x2, y) { + var text1a = text1.substring(0, x2); + var text2a = text2.substring(0, y); + var text1b = text1.substring(x2); + var text2b = text2.substring(y); + var diffs = diff_main(text1a, text2a); + var diffsb = diff_main(text1b, text2b); + return diffs.concat(diffsb); + } + function diff_commonPrefix(text1, text2) { + if (!text1 || !text2 || text1.charAt(0) !== text2.charAt(0)) { + return 0; + } + var pointermin = 0; + var pointermax = Math.min(text1.length, text2.length); + var pointermid = pointermax; + var pointerstart = 0; + while (pointermin < pointermid) { + if (text1.substring(pointerstart, pointermid) == text2.substring(pointerstart, pointermid)) { + pointermin = pointermid; + pointerstart = pointermin; + } else { + pointermax = pointermid; + } + pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin); + } + if (is_surrogate_pair_start(text1.charCodeAt(pointermid - 1))) { + pointermid--; + } + return pointermid; + } + function diff_commonOverlap_(text1, text2) { + var text1_length = text1.length; + var text2_length = text2.length; + if (text1_length == 0 || text2_length == 0) { + return 0; + } + if (text1_length > text2_length) { + text1 = text1.substring(text1_length - text2_length); + } else if (text1_length < text2_length) { + text2 = text2.substring(0, text1_length); + } + var text_length = Math.min(text1_length, text2_length); + if (text1 == text2) { + return text_length; + } + var best = 0; + var length = 1; + while (true) { + var pattern = text1.substring(text_length - length); + var found = text2.indexOf(pattern); + if (found == -1) { + return best; + } + length += found; + if (found == 0 || text1.substring(text_length - length) == text2.substring(0, length)) { + best = length; + length++; + } + } + } + function diff_commonSuffix(text1, text2) { + if (!text1 || !text2 || text1.slice(-1) !== text2.slice(-1)) { + return 0; + } + var pointermin = 0; + var pointermax = Math.min(text1.length, text2.length); + var pointermid = pointermax; + var pointerend = 0; + while (pointermin < pointermid) { + if (text1.substring(text1.length - pointermid, text1.length - pointerend) == text2.substring(text2.length - pointermid, text2.length - pointerend)) { + pointermin = pointermid; + pointerend = pointermin; + } else { + pointermax = pointermid; + } + pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin); + } + if (is_surrogate_pair_end(text1.charCodeAt(text1.length - pointermid))) { + pointermid--; + } + return pointermid; + } + function diff_halfMatch_(text1, text2) { + var longtext = text1.length > text2.length ? text1 : text2; + var shorttext = text1.length > text2.length ? text2 : text1; + if (longtext.length < 4 || shorttext.length * 2 < longtext.length) { + return null; + } + function diff_halfMatchI_(longtext2, shorttext2, i) { + var seed = longtext2.substring(i, i + Math.floor(longtext2.length / 4)); + var j4 = -1; + var best_common = ""; + var best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b; + while ((j4 = shorttext2.indexOf(seed, j4 + 1)) !== -1) { + var prefixLength = diff_commonPrefix( + longtext2.substring(i), + shorttext2.substring(j4) + ); + var suffixLength = diff_commonSuffix( + longtext2.substring(0, i), + shorttext2.substring(0, j4) + ); + if (best_common.length < suffixLength + prefixLength) { + best_common = shorttext2.substring(j4 - suffixLength, j4) + shorttext2.substring(j4, j4 + prefixLength); + best_longtext_a = longtext2.substring(0, i - suffixLength); + best_longtext_b = longtext2.substring(i + prefixLength); + best_shorttext_a = shorttext2.substring(0, j4 - suffixLength); + best_shorttext_b = shorttext2.substring(j4 + prefixLength); + } + } + if (best_common.length * 2 >= longtext2.length) { + return [ + best_longtext_a, + best_longtext_b, + best_shorttext_a, + best_shorttext_b, + best_common + ]; + } else { + return null; + } + } + var hm1 = diff_halfMatchI_( + longtext, + shorttext, + Math.ceil(longtext.length / 4) + ); + var hm2 = diff_halfMatchI_( + longtext, + shorttext, + Math.ceil(longtext.length / 2) + ); + var hm3; + if (!hm1 && !hm2) { + return null; + } else if (!hm2) { + hm3 = hm1; + } else if (!hm1) { + hm3 = hm2; + } else { + hm3 = hm1[4].length > hm2[4].length ? hm1 : hm2; + } + var text1_a, text1_b, text2_a, text2_b; + if (text1.length > text2.length) { + text1_a = hm3[0]; + text1_b = hm3[1]; + text2_a = hm3[2]; + text2_b = hm3[3]; + } else { + text2_a = hm3[0]; + text2_b = hm3[1]; + text1_a = hm3[2]; + text1_b = hm3[3]; + } + var mid_common = hm3[4]; + return [text1_a, text1_b, text2_a, text2_b, mid_common]; + } + function diff_cleanupSemantic(diffs) { + var changes = false; + var equalities = []; + var equalitiesLength = 0; + var lastequality = null; + var pointer = 0; + var length_insertions1 = 0; + var length_deletions1 = 0; + var length_insertions2 = 0; + var length_deletions2 = 0; + while (pointer < diffs.length) { + if (diffs[pointer][0] == DIFF_EQUAL) { + equalities[equalitiesLength++] = pointer; + length_insertions1 = length_insertions2; + length_deletions1 = length_deletions2; + length_insertions2 = 0; + length_deletions2 = 0; + lastequality = diffs[pointer][1]; + } else { + if (diffs[pointer][0] == DIFF_INSERT) { + length_insertions2 += diffs[pointer][1].length; + } else { + length_deletions2 += diffs[pointer][1].length; + } + if (lastequality && lastequality.length <= Math.max(length_insertions1, length_deletions1) && lastequality.length <= Math.max(length_insertions2, length_deletions2)) { + diffs.splice(equalities[equalitiesLength - 1], 0, [ + DIFF_DELETE, + lastequality + ]); + diffs[equalities[equalitiesLength - 1] + 1][0] = DIFF_INSERT; + equalitiesLength--; + equalitiesLength--; + pointer = equalitiesLength > 0 ? equalities[equalitiesLength - 1] : -1; + length_insertions1 = 0; + length_deletions1 = 0; + length_insertions2 = 0; + length_deletions2 = 0; + lastequality = null; + changes = true; + } + } + pointer++; + } + if (changes) { + diff_cleanupMerge(diffs); + } + diff_cleanupSemanticLossless(diffs); + pointer = 1; + while (pointer < diffs.length) { + if (diffs[pointer - 1][0] == DIFF_DELETE && diffs[pointer][0] == DIFF_INSERT) { + var deletion = diffs[pointer - 1][1]; + var insertion = diffs[pointer][1]; + var overlap_length1 = diff_commonOverlap_(deletion, insertion); + var overlap_length2 = diff_commonOverlap_(insertion, deletion); + if (overlap_length1 >= overlap_length2) { + if (overlap_length1 >= deletion.length / 2 || overlap_length1 >= insertion.length / 2) { + diffs.splice(pointer, 0, [ + DIFF_EQUAL, + insertion.substring(0, overlap_length1) + ]); + diffs[pointer - 1][1] = deletion.substring( + 0, + deletion.length - overlap_length1 + ); + diffs[pointer + 1][1] = insertion.substring(overlap_length1); + pointer++; + } + } else { + if (overlap_length2 >= deletion.length / 2 || overlap_length2 >= insertion.length / 2) { + diffs.splice(pointer, 0, [ + DIFF_EQUAL, + deletion.substring(0, overlap_length2) + ]); + diffs[pointer - 1][0] = DIFF_INSERT; + diffs[pointer - 1][1] = insertion.substring( + 0, + insertion.length - overlap_length2 + ); + diffs[pointer + 1][0] = DIFF_DELETE; + diffs[pointer + 1][1] = deletion.substring(overlap_length2); + pointer++; + } + } + pointer++; + } + pointer++; + } + } + var nonAlphaNumericRegex_ = /[^a-zA-Z0-9]/; + var whitespaceRegex_ = /\s/; + var linebreakRegex_ = /[\r\n]/; + var blanklineEndRegex_ = /\n\r?\n$/; + var blanklineStartRegex_ = /^\r?\n\r?\n/; + function diff_cleanupSemanticLossless(diffs) { + function diff_cleanupSemanticScore_(one, two) { + if (!one || !two) { + return 6; + } + var char1 = one.charAt(one.length - 1); + var char2 = two.charAt(0); + var nonAlphaNumeric1 = char1.match(nonAlphaNumericRegex_); + var nonAlphaNumeric2 = char2.match(nonAlphaNumericRegex_); + var whitespace1 = nonAlphaNumeric1 && char1.match(whitespaceRegex_); + var whitespace2 = nonAlphaNumeric2 && char2.match(whitespaceRegex_); + var lineBreak1 = whitespace1 && char1.match(linebreakRegex_); + var lineBreak2 = whitespace2 && char2.match(linebreakRegex_); + var blankLine1 = lineBreak1 && one.match(blanklineEndRegex_); + var blankLine2 = lineBreak2 && two.match(blanklineStartRegex_); + if (blankLine1 || blankLine2) { + return 5; + } else if (lineBreak1 || lineBreak2) { + return 4; + } else if (nonAlphaNumeric1 && !whitespace1 && whitespace2) { + return 3; + } else if (whitespace1 || whitespace2) { + return 2; + } else if (nonAlphaNumeric1 || nonAlphaNumeric2) { + return 1; + } + return 0; + } + var pointer = 1; + while (pointer < diffs.length - 1) { + if (diffs[pointer - 1][0] == DIFF_EQUAL && diffs[pointer + 1][0] == DIFF_EQUAL) { + var equality1 = diffs[pointer - 1][1]; + var edit = diffs[pointer][1]; + var equality2 = diffs[pointer + 1][1]; + var commonOffset = diff_commonSuffix(equality1, edit); + if (commonOffset) { + var commonString = edit.substring(edit.length - commonOffset); + equality1 = equality1.substring(0, equality1.length - commonOffset); + edit = commonString + edit.substring(0, edit.length - commonOffset); + equality2 = commonString + equality2; + } + var bestEquality1 = equality1; + var bestEdit = edit; + var bestEquality2 = equality2; + var bestScore = diff_cleanupSemanticScore_(equality1, edit) + diff_cleanupSemanticScore_(edit, equality2); + while (edit.charAt(0) === equality2.charAt(0)) { + equality1 += edit.charAt(0); + edit = edit.substring(1) + equality2.charAt(0); + equality2 = equality2.substring(1); + var score = diff_cleanupSemanticScore_(equality1, edit) + diff_cleanupSemanticScore_(edit, equality2); + if (score >= bestScore) { + bestScore = score; + bestEquality1 = equality1; + bestEdit = edit; + bestEquality2 = equality2; + } + } + if (diffs[pointer - 1][1] != bestEquality1) { + if (bestEquality1) { + diffs[pointer - 1][1] = bestEquality1; + } else { + diffs.splice(pointer - 1, 1); + pointer--; + } + diffs[pointer][1] = bestEdit; + if (bestEquality2) { + diffs[pointer + 1][1] = bestEquality2; + } else { + diffs.splice(pointer + 1, 1); + pointer--; + } + } + } + pointer++; + } + } + function diff_cleanupMerge(diffs, fix_unicode) { + diffs.push([DIFF_EQUAL, ""]); + var pointer = 0; + var count_delete = 0; + var count_insert = 0; + var text_delete = ""; + var text_insert = ""; + var commonlength; + while (pointer < diffs.length) { + if (pointer < diffs.length - 1 && !diffs[pointer][1]) { + diffs.splice(pointer, 1); + continue; + } + switch (diffs[pointer][0]) { + case DIFF_INSERT: + count_insert++; + text_insert += diffs[pointer][1]; + pointer++; + break; + case DIFF_DELETE: + count_delete++; + text_delete += diffs[pointer][1]; + pointer++; + break; + case DIFF_EQUAL: + var previous_equality = pointer - count_insert - count_delete - 1; + if (fix_unicode) { + if (previous_equality >= 0 && ends_with_pair_start(diffs[previous_equality][1])) { + var stray = diffs[previous_equality][1].slice(-1); + diffs[previous_equality][1] = diffs[previous_equality][1].slice( + 0, + -1 + ); + text_delete = stray + text_delete; + text_insert = stray + text_insert; + if (!diffs[previous_equality][1]) { + diffs.splice(previous_equality, 1); + pointer--; + var k4 = previous_equality - 1; + if (diffs[k4] && diffs[k4][0] === DIFF_INSERT) { + count_insert++; + text_insert = diffs[k4][1] + text_insert; + k4--; + } + if (diffs[k4] && diffs[k4][0] === DIFF_DELETE) { + count_delete++; + text_delete = diffs[k4][1] + text_delete; + k4--; + } + previous_equality = k4; + } + } + if (starts_with_pair_end(diffs[pointer][1])) { + var stray = diffs[pointer][1].charAt(0); + diffs[pointer][1] = diffs[pointer][1].slice(1); + text_delete += stray; + text_insert += stray; + } + } + if (pointer < diffs.length - 1 && !diffs[pointer][1]) { + diffs.splice(pointer, 1); + break; + } + if (text_delete.length > 0 || text_insert.length > 0) { + if (text_delete.length > 0 && text_insert.length > 0) { + commonlength = diff_commonPrefix(text_insert, text_delete); + if (commonlength !== 0) { + if (previous_equality >= 0) { + diffs[previous_equality][1] += text_insert.substring( + 0, + commonlength + ); + } else { + diffs.splice(0, 0, [ + DIFF_EQUAL, + text_insert.substring(0, commonlength) + ]); + pointer++; + } + text_insert = text_insert.substring(commonlength); + text_delete = text_delete.substring(commonlength); + } + commonlength = diff_commonSuffix(text_insert, text_delete); + if (commonlength !== 0) { + diffs[pointer][1] = text_insert.substring(text_insert.length - commonlength) + diffs[pointer][1]; + text_insert = text_insert.substring( + 0, + text_insert.length - commonlength + ); + text_delete = text_delete.substring( + 0, + text_delete.length - commonlength + ); + } + } + var n = count_insert + count_delete; + if (text_delete.length === 0 && text_insert.length === 0) { + diffs.splice(pointer - n, n); + pointer = pointer - n; + } else if (text_delete.length === 0) { + diffs.splice(pointer - n, n, [DIFF_INSERT, text_insert]); + pointer = pointer - n + 1; + } else if (text_insert.length === 0) { + diffs.splice(pointer - n, n, [DIFF_DELETE, text_delete]); + pointer = pointer - n + 1; + } else { + diffs.splice( + pointer - n, + n, + [DIFF_DELETE, text_delete], + [DIFF_INSERT, text_insert] + ); + pointer = pointer - n + 2; + } + } + if (pointer !== 0 && diffs[pointer - 1][0] === DIFF_EQUAL) { + diffs[pointer - 1][1] += diffs[pointer][1]; + diffs.splice(pointer, 1); + } else { + pointer++; + } + count_insert = 0; + count_delete = 0; + text_delete = ""; + text_insert = ""; + break; + } + } + if (diffs[diffs.length - 1][1] === "") { + diffs.pop(); + } + var changes = false; + pointer = 1; + while (pointer < diffs.length - 1) { + if (diffs[pointer - 1][0] === DIFF_EQUAL && diffs[pointer + 1][0] === DIFF_EQUAL) { + if (diffs[pointer][1].substring( + diffs[pointer][1].length - diffs[pointer - 1][1].length + ) === diffs[pointer - 1][1]) { + diffs[pointer][1] = diffs[pointer - 1][1] + diffs[pointer][1].substring( + 0, + diffs[pointer][1].length - diffs[pointer - 1][1].length + ); + diffs[pointer + 1][1] = diffs[pointer - 1][1] + diffs[pointer + 1][1]; + diffs.splice(pointer - 1, 1); + changes = true; + } else if (diffs[pointer][1].substring(0, diffs[pointer + 1][1].length) == diffs[pointer + 1][1]) { + diffs[pointer - 1][1] += diffs[pointer + 1][1]; + diffs[pointer][1] = diffs[pointer][1].substring(diffs[pointer + 1][1].length) + diffs[pointer + 1][1]; + diffs.splice(pointer + 1, 1); + changes = true; + } + } + pointer++; + } + if (changes) { + diff_cleanupMerge(diffs, fix_unicode); + } + } + function is_surrogate_pair_start(charCode) { + return charCode >= 55296 && charCode <= 56319; + } + function is_surrogate_pair_end(charCode) { + return charCode >= 56320 && charCode <= 57343; + } + function starts_with_pair_end(str) { + return is_surrogate_pair_end(str.charCodeAt(0)); + } + function ends_with_pair_start(str) { + return is_surrogate_pair_start(str.charCodeAt(str.length - 1)); + } + function remove_empty_tuples(tuples) { + var ret = []; + for (var i = 0; i < tuples.length; i++) { + if (tuples[i][1].length > 0) { + ret.push(tuples[i]); + } + } + return ret; + } + function make_edit_splice(before, oldMiddle, newMiddle, after) { + if (ends_with_pair_start(before) || starts_with_pair_end(after)) { + return null; + } + return remove_empty_tuples([ + [DIFF_EQUAL, before], + [DIFF_DELETE, oldMiddle], + [DIFF_INSERT, newMiddle], + [DIFF_EQUAL, after] + ]); + } + function find_cursor_edit_diff(oldText, newText, cursor_pos) { + var oldRange = typeof cursor_pos === "number" ? { index: cursor_pos, length: 0 } : cursor_pos.oldRange; + var newRange = typeof cursor_pos === "number" ? null : cursor_pos.newRange; + var oldLength = oldText.length; + var newLength = newText.length; + if (oldRange.length === 0 && (newRange === null || newRange.length === 0)) { + var oldCursor = oldRange.index; + var oldBefore = oldText.slice(0, oldCursor); + var oldAfter = oldText.slice(oldCursor); + var maybeNewCursor = newRange ? newRange.index : null; + editBefore: { + var newCursor = oldCursor + newLength - oldLength; + if (maybeNewCursor !== null && maybeNewCursor !== newCursor) { + break editBefore; + } + if (newCursor < 0 || newCursor > newLength) { + break editBefore; + } + var newBefore = newText.slice(0, newCursor); + var newAfter = newText.slice(newCursor); + if (newAfter !== oldAfter) { + break editBefore; + } + var prefixLength = Math.min(oldCursor, newCursor); + var oldPrefix = oldBefore.slice(0, prefixLength); + var newPrefix = newBefore.slice(0, prefixLength); + if (oldPrefix !== newPrefix) { + break editBefore; + } + var oldMiddle = oldBefore.slice(prefixLength); + var newMiddle = newBefore.slice(prefixLength); + return make_edit_splice(oldPrefix, oldMiddle, newMiddle, oldAfter); + } + editAfter: { + if (maybeNewCursor !== null && maybeNewCursor !== oldCursor) { + break editAfter; + } + var cursor = oldCursor; + var newBefore = newText.slice(0, cursor); + var newAfter = newText.slice(cursor); + if (newBefore !== oldBefore) { + break editAfter; + } + var suffixLength = Math.min(oldLength - cursor, newLength - cursor); + var oldSuffix = oldAfter.slice(oldAfter.length - suffixLength); + var newSuffix = newAfter.slice(newAfter.length - suffixLength); + if (oldSuffix !== newSuffix) { + break editAfter; + } + var oldMiddle = oldAfter.slice(0, oldAfter.length - suffixLength); + var newMiddle = newAfter.slice(0, newAfter.length - suffixLength); + return make_edit_splice(oldBefore, oldMiddle, newMiddle, oldSuffix); + } + } + if (oldRange.length > 0 && newRange && newRange.length === 0) { + replaceRange: { + var oldPrefix = oldText.slice(0, oldRange.index); + var oldSuffix = oldText.slice(oldRange.index + oldRange.length); + var prefixLength = oldPrefix.length; + var suffixLength = oldSuffix.length; + if (newLength < prefixLength + suffixLength) { + break replaceRange; + } + var newPrefix = newText.slice(0, prefixLength); + var newSuffix = newText.slice(newLength - suffixLength); + if (oldPrefix !== newPrefix || oldSuffix !== newSuffix) { + break replaceRange; + } + var oldMiddle = oldText.slice(prefixLength, oldLength - suffixLength); + var newMiddle = newText.slice(prefixLength, newLength - suffixLength); + return make_edit_splice(oldPrefix, oldMiddle, newMiddle, oldSuffix); + } + } + return null; + } + function diff(text1, text2, cursor_pos, cleanup) { + return diff_main(text1, text2, cursor_pos, cleanup, true); + } + diff.INSERT = DIFF_INSERT; + diff.DELETE = DIFF_DELETE; + diff.EQUAL = DIFF_EQUAL; + module2.exports = diff; + } + }); + + // node_modules/@univerjs/core/lib/es/index.js + var import_async_lock = __toESM(require_async_lock()); + + // node_modules/@wendellhu/redi/dist/esm/index.js + var IdentifierDecoratorSymbol = /* @__PURE__ */ Symbol("$$IDENTIFIER_DECORATOR"); + function isIdentifierDecorator(thing) { + return thing && thing[IdentifierDecoratorSymbol] === true; + } + function isCtor(thing) { + return typeof thing === "function"; + } + function isClassDependencyItem(thing) { + if (thing && typeof thing.useClass !== "undefined") return true; + return false; + } + function isFactoryDependencyItem(thing) { + if (thing && typeof thing.useFactory !== "undefined") return true; + return false; + } + function isValueDependencyItem(thing) { + if (thing && typeof thing.useValue !== "undefined") return true; + return false; + } + function isExistingDependencyItem(thing) { + if (thing && typeof thing.useExisting !== "undefined") return true; + return false; + } + function isAsyncDependencyItem(thing) { + if (thing && typeof thing.useAsync !== "undefined") return true; + return false; + } + var AsyncHookSymbol = /* @__PURE__ */ Symbol("AsyncHook"); + function isAsyncHook(thing) { + if (thing && thing.__symbol === AsyncHookSymbol) return true; + return false; + } + function prettyPrintIdentifier(id4) { + return isCtor(id4) && !id4[IdentifierDecoratorSymbol] ? id4.name : id4.toString(); + } + var RediError = class extends Error { + constructor(message) { + super(`[redi]: ${message}`); + } + }; + var Quantity = /* @__PURE__ */ (function(Quantity$1) { + Quantity$1["MANY"] = "many"; + Quantity$1["OPTIONAL"] = "optional"; + Quantity$1["REQUIRED"] = "required"; + return Quantity$1; + })({}); + var LookUp = /* @__PURE__ */ (function(LookUp$1) { + LookUp$1["SELF"] = "self"; + LookUp$1["SKIP_SELF"] = "skipSelf"; + return LookUp$1; + })({}); + var TARGET = /* @__PURE__ */ Symbol("$$TARGET"); + var DEPENDENCIES = /* @__PURE__ */ Symbol("$$DEPENDENCIES"); + var DependencyDescriptorNotFoundError = class extends RediError { + constructor(index, target) { + const msg = `Could not find dependency registered on the ${index} (indexed) parameter of the constructor of "${prettyPrintIdentifier(target)}".`; + super(msg); + } + }; + var RequiredDecoratorMisusedError = class extends RediError { + constructor(target, index) { + const msg = `It seems that you forgot to provide a parameter to @Required() on the ${index}th parameter of "${prettyPrintIdentifier(target)}"`; + super(msg); + } + }; + var IdentifierUndefinedError = class extends RediError { + constructor(target, index) { + const msg = `It seems that you register "undefined" as dependency on the ${index}th parameter of "${prettyPrintIdentifier(target)}". Please make sure that there is not cyclic dependency among your TypeScript files, or consider using "forwardRef". For more info please visit our website https://redi.wendell.fun/docs/faq#could-not-find-dependency-registered-on`; + super(msg); + } + }; + function getDependencies(registerTarget) { + const target = registerTarget; + return target[DEPENDENCIES] || []; + } + function getDependencyByIndex(registerTarget, index) { + const allDependencies = getDependencies(registerTarget); + const dep = allDependencies.find((descriptor) => descriptor.paramIndex === index); + if (!dep) throw new DependencyDescriptorNotFoundError(index, registerTarget); + return dep; + } + function setDependency(registerTarget, identifier, paramIndex, quantity = Quantity.REQUIRED, lookUp) { + const descriptor = { + paramIndex, + identifier, + quantity, + lookUp, + withNew: false + }; + if (typeof identifier === "undefined") throw new IdentifierUndefinedError(registerTarget, paramIndex); + const target = registerTarget; + if (target[TARGET] === target) target[DEPENDENCIES].push(descriptor); + else { + target[DEPENDENCIES] = [descriptor]; + target[TARGET] = target; + } + } + var knownIdentifiers = /* @__PURE__ */ new Set(); + var cachedIdentifiers = /* @__PURE__ */ new Map(); + function createIdentifier(id4) { + if (knownIdentifiers.has(id4)) { + console.error(`Identifier "${id4}" already exists. Returning the cached identifier decorator.`); + return cachedIdentifiers.get(id4); + } + const decorator = function(registerTarget, _key, index) { + setDependency(registerTarget, decorator, index); + }; + decorator.decoratorName = id4; + decorator.toString = () => decorator.decoratorName; + decorator[IdentifierDecoratorSymbol] = true; + knownIdentifiers.add(id4); + cachedIdentifiers.set(id4, decorator); + return decorator; + } + function changeLookup(target, index, lookUp) { + const descriptor = getDependencyByIndex(target, index); + descriptor.lookUp = lookUp; + } + function lookupDecoratorFactoryProducer(lookUp) { + return function DecoratorFactory() { + if (this instanceof DecoratorFactory) return this; + return function(target, _key, index) { + changeLookup(target, index, lookUp); + }; + }; + } + var SkipSelf = lookupDecoratorFactoryProducer(LookUp.SKIP_SELF); + var Self = lookupDecoratorFactoryProducer(LookUp.SELF); + function mapQuantityToNumber(quantity) { + if (quantity === Quantity.OPTIONAL) return "0 or 1"; + else return "1"; + } + var QuantityCheckError = class extends RediError { + constructor(id4, quantity, actual) { + let msg = `Expect ${mapQuantityToNumber(quantity)} dependency item(s) for id "${prettyPrintIdentifier(id4)}" but get ${actual}.`; + if (actual === 0) msg += " Did you forget to register it?"; + if (actual > 1) msg += " You register it more than once."; + super(msg); + this.quantity = quantity; + this.actual = actual; + } + }; + function checkQuantity(id4, quantity, length) { + if (quantity === Quantity.OPTIONAL && length > 1 || quantity === Quantity.REQUIRED && length !== 1) throw new QuantityCheckError(id4, quantity, length); + } + function retrieveQuantity(quantity, arr) { + if (quantity === Quantity.MANY) return arr; + else return arr[0]; + } + function changeQuantity(target, index, quantity) { + const descriptor = getDependencyByIndex(target, index); + descriptor.quantity = quantity; + } + function quantifyDecoratorFactoryProducer(quantity) { + return function decoratorFactory(id4) { + if (this instanceof decoratorFactory) return this; + return function(registerTarget, _key, index) { + if (id4) setDependency(registerTarget, id4, index, quantity); + else { + if (quantity === Quantity.REQUIRED) throw new RequiredDecoratorMisusedError(registerTarget, index); + changeQuantity(registerTarget, index, quantity); + } + }; + }; + } + var Many = quantifyDecoratorFactoryProducer(Quantity.MANY); + var Optional = quantifyDecoratorFactoryProducer(Quantity.OPTIONAL); + var Inject = quantifyDecoratorFactoryProducer(Quantity.REQUIRED); + function normalizeFactoryDeps(deps, startIndex = 0) { + if (!deps) return []; + return deps.map((dep, index) => { + index += startIndex; + if (!Array.isArray(dep)) return { + paramIndex: index, + identifier: dep, + quantity: Quantity.REQUIRED, + withNew: false + }; + const modifiers = dep.slice(0, dep.length - 1); + const identifier = dep[dep.length - 1]; + let lookUp; + let quantity = Quantity.REQUIRED; + let withNew = false; + modifiers.forEach((modifier) => { + if (modifier instanceof Self) lookUp = LookUp.SELF; + else if (modifier instanceof SkipSelf) lookUp = LookUp.SKIP_SELF; + else if (modifier instanceof Optional) quantity = Quantity.OPTIONAL; + else if (modifier instanceof Many) quantity = Quantity.MANY; + else withNew = true; + }); + return { + paramIndex: index, + identifier, + quantity, + lookUp, + withNew + }; + }); + } + function isForwardRef(thing) { + return !!thing && typeof thing.unwrap === "function"; + } + function normalizeForwardRef(id4) { + if (isForwardRef(id4)) return id4.unwrap(); + return id4; + } + function changeToSelf(target, index, withNew) { + const descriptor = getDependencyByIndex(target, index); + descriptor.withNew = withNew; + } + function withNewDecoratorFactoryProducer(withNew) { + return function DecoratorFactory() { + if (this instanceof DecoratorFactory) return this; + return function(target, _key, index) { + changeToSelf(target, index, withNew); + }; + }; + } + var WithNew = withNewDecoratorFactoryProducer(true); + function isDisposable(thing) { + return !!thing && typeof thing.dispose === "function"; + } + function isBareClassDependency(thing) { + return thing.length === 1; + } + var ResolvingStack = []; + function pushResolvingStack(id4) { + ResolvingStack.push(id4); + } + function popupResolvingStack() { + ResolvingStack.pop(); + } + function clearResolvingStack() { + ResolvingStack.length = 0; + } + var DependencyNotFoundForModuleError = class extends RediError { + constructor(toInstantiate, id4, index) { + const msg = `Cannot find "${prettyPrintIdentifier(id4)}" registered by any injector. It is the ${index}th param of "${isIdentifierDecorator(toInstantiate) ? prettyPrintIdentifier(toInstantiate) : toInstantiate.name}".`; + super(msg); + } + }; + var DependencyNotFoundError = class extends RediError { + constructor(id4) { + const msg = `Cannot find "${prettyPrintIdentifier(id4)}" registered by any injector. The stack of dependencies is: "${ResolvingStack.map((id$1) => prettyPrintIdentifier(id$1)).join(" -> ")}".`; + super(msg); + clearResolvingStack(); + } + }; + var DependencyCollection = class { + constructor(dependencies) { + __publicField(this, "dependencyMap", /* @__PURE__ */ new Map()); + this.normalizeDependencies(dependencies).map((pair) => this.add(pair[0], pair[1])); + } + add(ctorOrId, val) { + if (typeof val === "undefined") val = { + useClass: ctorOrId, + lazy: false + }; + let arr = this.dependencyMap.get(ctorOrId); + if (typeof arr === "undefined") { + arr = []; + this.dependencyMap.set(ctorOrId, arr); + } + arr.push(val); + } + delete(id4) { + this.dependencyMap.delete(id4); + } + get(id4, quantity) { + const ret = this.dependencyMap.get(id4); + checkQuantity(id4, quantity, ret.length); + return retrieveQuantity(quantity, ret); + } + has(id4) { + return this.dependencyMap.has(id4); + } + dispose() { + this.dependencyMap.clear(); + } + /** + * normalize dependencies to `DependencyItem` + */ + normalizeDependencies(dependencies) { + return dependencies.map((dependency) => { + const id4 = dependency[0]; + let val; + if (isBareClassDependency(dependency)) val = { + useClass: dependency[0], + lazy: false + }; + else val = dependency[1]; + return [id4, val]; + }); + } + }; + var ResolvedDependencyCollection = class { + constructor() { + __publicField(this, "resolvedDependencies", /* @__PURE__ */ new Map()); + } + add(id4, val) { + let arr = this.resolvedDependencies.get(id4); + if (typeof arr === "undefined") { + arr = []; + this.resolvedDependencies.set(id4, arr); + } + arr.push(val); + } + has(id4) { + return this.resolvedDependencies.has(id4); + } + get(id4, quantity) { + const ret = this.resolvedDependencies.get(id4); + if (!ret) throw new DependencyNotFoundError(id4); + checkQuantity(id4, quantity, ret.length); + if (quantity === Quantity.MANY) return ret; + else return ret[0]; + } + dispose() { + Array.from(this.resolvedDependencies.values()).forEach((items) => { + items.forEach((item) => isDisposable(item) ? item.dispose() : void 0); + }); + this.resolvedDependencies.clear(); + } + }; + var runWhenIdle; + (function() { + if (typeof requestIdleCallback !== "undefined" && typeof cancelIdleCallback !== "undefined") runWhenIdle = (runner, timeout) => { + const handle = requestIdleCallback(runner, typeof timeout === "number" ? { timeout } : void 0); + let disposed = false; + return () => { + if (disposed) return; + disposed = true; + cancelIdleCallback(handle); + }; + }; + else { + const dummyIdle = Object.freeze({ + didTimeout: true, + timeRemaining() { + return 15; + } + }); + runWhenIdle = (runner) => { + const handle = setTimeout(() => runner(dummyIdle)); + let disposed = false; + return () => { + if (disposed) return; + disposed = true; + clearTimeout(handle); + }; + }; + } + })(); + var IdleValue = class { + constructor(executor) { + __publicField(this, "executor"); + __publicField(this, "disposeIdleCallback"); + __publicField(this, "didRun", false); + __publicField(this, "value"); + __publicField(this, "error"); + this.executor = () => { + try { + this.value = executor(); + } catch (err) { + this.error = err; + } finally { + this.didRun = true; + } + }; + this.disposeIdleCallback = runWhenIdle(() => this.executor()); + } + hasRun() { + return this.didRun; + } + dispose() { + this.disposeIdleCallback(); + } + getValue() { + if (!this.didRun) { + this.disposeIdleCallback(); + this.executor(); + } + if (this.error) throw this.error; + return this.value; + } + }; + var MAX_RESOLUTIONS_QUEUED = 300; + var NotInstantiatedSymbol = /* @__PURE__ */ Symbol("$$NOT_INSTANTIATED_SYMBOL"); + var CircularDependencyError = class extends RediError { + constructor(id4) { + super(`Detecting cyclic dependency. The last identifier is "${prettyPrintIdentifier(id4)}".`); + } + }; + var InjectorAlreadyDisposedError = class extends RediError { + constructor() { + super("Injector cannot be accessed after it was disposed."); + } + }; + var AsyncItemReturnAsyncItemError = class extends RediError { + constructor(id4) { + super(`Async item "${prettyPrintIdentifier(id4)}" returns another async item.`); + } + }; + var GetAsyncItemFromSyncApiError = class extends RediError { + constructor(id4) { + super(`Cannot get async item "${prettyPrintIdentifier(id4)}" from sync api.`); + } + }; + var AddDependencyAfterResolutionError = class extends RediError { + constructor(id4) { + super(`Cannot add dependency "${prettyPrintIdentifier(id4)}" after it is already resolved.`); + } + }; + var DeleteDependencyAfterResolutionError = class extends RediError { + constructor(id4) { + super(`Cannot delete dependency "${prettyPrintIdentifier(id4)}" when it is already resolved.`); + } + }; + var Injector = class Injector2 { + /** + * Create a new `Injector` instance. + * + * @param dependencies - An array of dependencies to register with this injector. + * Each dependency can be: + * - `[ClassName]` - Register a class as its own identifier + * - `[Identifier, DependencyItem]` - Register with a specific identifier and configuration + * @param parent - Optional parent injector for hierarchical injection. + * Child injectors inherit dependencies from their parent. + * + * @example + * ```typescript + * // Root injector + * const rootInjector = new Injector([ + * [AuthService], + * [ILogger, { useClass: ConsoleLogger }], + * ]); + * + * // Child injector with parent + * const childInjector = new Injector( + * [[ICache, { useClass: MemoryCache }]], + * rootInjector + * ); + * ``` + */ + constructor(dependencies, parent = null) { + __publicField(this, "dependencyCollection"); + __publicField(this, "resolvedDependencyCollection"); + __publicField(this, "children", []); + __publicField(this, "resolutionOngoing", 0); + __publicField(this, "disposingCallbacks", /* @__PURE__ */ new Set()); + __publicField(this, "disposed", false); + this.parent = parent; + this.dependencyCollection = new DependencyCollection(dependencies || []); + this.resolvedDependencyCollection = new ResolvedDependencyCollection(); + if (parent) parent.children.push(this); + } + /** + * Register a callback to be called when this injector is disposed. + * + * Use this to perform cleanup tasks or release external resources + * when the injector lifecycle ends. + * + * **Note:** When your callback is invoked, the injector is already disposed + * and you cannot interact with it anymore. + * + * @param callback - The function to call when the injector is disposed. + * @returns A disposable that removes the callback when disposed. + * + * @example + * ```typescript + * const cleanup = injector.onDispose(() => { + * console.log('Injector disposed, cleaning up...'); + * }); + * + * // Later, remove the callback if no longer needed + * cleanup.dispose(); + * ``` + */ + onDispose(callback) { + this.disposingCallbacks.add(callback); + return { dispose: () => this.disposingCallbacks.delete(callback) }; + } + /** + * Create a child injector that inherits from this injector. + * + * The child injector can: + * - Access all dependencies registered in parent injectors + * - Override parent dependencies with its own registrations + * - Have its own scoped dependencies + * + * When the parent injector is disposed, all child injectors are disposed first. + * + * @param dependencies - Dependencies to register with the child injector. + * @returns The newly created child injector. + * + * @example + * ```typescript + * const rootInjector = new Injector([[ILogger, { useClass: ConsoleLogger }]]); + * + * const requestInjector = rootInjector.createChild([ + * [RequestContext, { useClass: RequestContext }], + * ]); + * + * // requestInjector can access both RequestContext and ILogger + * ``` + */ + createChild(dependencies) { + this._ensureInjectorNotDisposed(); + return new Injector2(dependencies, this); + } + /** + * Dispose the injector and release all resources. + * + * This method: + * 1. Recursively disposes all child injectors first + * 2. Calls `dispose()` on all instantiated dependencies that implement `IDisposable` + * 3. Clears all internal collections + * 4. Detaches from parent injector + * 5. Invokes all registered `onDispose` callbacks + * + * After disposal, the injector cannot be used anymore. + * + * @example + * ```typescript + * const injector = new Injector([[DatabaseService]]); + * const db = injector.get(DatabaseService); + * + * // When done with the injector + * injector.dispose(); // DatabaseService.dispose() is called automatically + * ``` + */ + dispose() { + this.children.forEach((c) => c.dispose()); + this.children.length = 0; + this.dependencyCollection.dispose(); + this.resolvedDependencyCollection.dispose(); + this.deleteSelfFromParent(); + this.disposed = true; + this.disposingCallbacks.forEach((callback) => callback()); + this.disposingCallbacks.clear(); + } + deleteSelfFromParent() { + if (this.parent) { + const index = this.parent.children.indexOf(this); + this.parent.children.splice(index, 1); + } + } + /** + * Add a dependency or pre-created instance to the injector at runtime. + * + * This allows dynamic registration of dependencies after the injector is created. + * Throws an error if the dependency has already been instantiated. + * + * @param dependency - A tuple containing: + * - `[Ctor]` - A class to register as its own identifier + * - `[Identifier, DependencyItem]` - An identifier with its configuration + * - `[Identifier, Instance]` - An identifier with a pre-created instance + * + * @throws {AddDependencyAfterResolutionError} If the dependency is already resolved. + * + * @example + * ```typescript + * const injector = new Injector(); + * + * // Add a class + * injector.add([MyService]); + * + * // Add with configuration + * injector.add([ILogger, { useClass: ConsoleLogger }]); + * + * // Add a pre-created instance + * const config = { apiUrl: 'https://api.example.com' }; + * injector.add([IConfig, config]); + * ``` + */ + add(dependency) { + this._ensureInjectorNotDisposed(); + const identifierOrCtor = dependency[0]; + const item = dependency[1]; + if (this.resolvedDependencyCollection.has(identifierOrCtor)) throw new AddDependencyAfterResolutionError(identifierOrCtor); + if (typeof item === "undefined") this.dependencyCollection.add(identifierOrCtor); + else if (isAsyncDependencyItem(item) || isClassDependencyItem(item) || isValueDependencyItem(item) || isFactoryDependencyItem(item)) this.dependencyCollection.add(identifierOrCtor, item); + else this.resolvedDependencyCollection.add(identifierOrCtor, item); + } + /** + * Replace an existing dependency registration. + * + * Use this to swap out an implementation, typically for testing purposes. + * Throws an error if the dependency has already been instantiated. + * + * @param dependency - A tuple of `[Identifier, DependencyItem]` to replace the existing registration. + * + * @throws {AddDependencyAfterResolutionError} If the dependency is already resolved. + * + * @example + * ```typescript + * // In tests, replace a real service with a mock + * injector.replace([IHttpClient, { useClass: MockHttpClient }]); + * ``` + */ + replace(dependency) { + this._ensureInjectorNotDisposed(); + const identifier = dependency[0]; + if (this.resolvedDependencyCollection.has(identifier)) throw new AddDependencyAfterResolutionError(identifier); + this.dependencyCollection.delete(identifier); + this.dependencyCollection.add(identifier, dependency[1]); + } + /** + * Remove a dependency registration from the injector. + * + * Throws an error if the dependency has already been instantiated. + * + * @param identifier - The identifier of the dependency to remove. + * + * @throws {DeleteDependencyAfterResolutionError} If the dependency is already resolved. + * + * @example + * ```typescript + * injector.delete(ITemporaryService); + * ``` + */ + delete(identifier) { + this._ensureInjectorNotDisposed(); + if (this.resolvedDependencyCollection.has(identifier)) throw new DeleteDependencyAfterResolutionError(identifier); + this.dependencyCollection.delete(identifier); + } + /** + * Execute a function with controlled access to the injector. + * + * The callback receives an `IAccessor` that provides limited access to + * the injector's `get` and `has` methods. This is useful for service locator + * patterns or when you need to resolve dependencies dynamically. + * + * @param cb - The function to execute. Receives an accessor and any additional arguments. + * @param args - Additional arguments to pass to the callback. + * @returns The return value of the callback function. + * + * @example + * ```typescript + * const result = injector.invoke((accessor, multiplier) => { + * const calc = accessor.get(ICalculator); + * return calc.compute() * multiplier; + * }, 2); + * ``` + */ + invoke(cb, ...args) { + this._ensureInjectorNotDisposed(); + const accessor = { + get: (id4, quantityOrLookup, lookUp) => { + return this._get(id4, quantityOrLookup, lookUp); + }, + has: (id4) => { + return this.has(id4); + } + }; + return cb(accessor, ...args); + } + /** + * Check if a dependency is registered in this injector or any parent injector. + * + * @param id - The identifier of the dependency to check. + * @returns `true` if the dependency is registered, `false` otherwise. + * + * @example + * ```typescript + * if (injector.has(IOptionalFeature)) { + * const feature = injector.get(IOptionalFeature); + * feature.enable(); + * } + * ``` + */ + has(id4) { + return this.dependencyCollection.has(id4) || this.parent?.has(id4) || false; + } + /** + * Retrieve a dependency instance from the injector. + * + * The dependency will be instantiated on first access and cached for subsequent requests. + * If the dependency is not found and not optional, an error is thrown. + * + * @param id - The identifier of the dependency to retrieve. + * @param quantityOrLookup - Either a {@link Quantity} specifying how many instances to get, + * or a {@link LookUp} specifying where to search. + * @param lookUp - A {@link LookUp} specifying where to search (if first param is Quantity). + * @returns The dependency instance, an array of instances (for `Quantity.MANY`), + * or `null` (for `Quantity.OPTIONAL` when not found). + * + * @throws {DependencyNotFoundError} If the dependency is not registered and not optional. + * @throws {GetAsyncItemFromSyncApiError} If trying to get an async dependency synchronously. + * + * @example + * ```typescript + * // Get a required dependency + * const logger = injector.get(ILogger); + * + * // Get an optional dependency + * const cache = injector.get(ICache, Quantity.OPTIONAL); + * + * // Get all registered handlers + * const handlers = injector.get(IHandler, Quantity.MANY); + * + * // Only search current injector + * const localService = injector.get(IService, LookUp.SELF); + * ``` + */ + get(id4, quantityOrLookup, lookUp) { + this._ensureInjectorNotDisposed(); + const newResult = this._get(id4, quantityOrLookup, lookUp); + if (Array.isArray(newResult) && newResult.some((r) => isAsyncHook(r)) || isAsyncHook(newResult)) throw new GetAsyncItemFromSyncApiError(id4); + return newResult; + } + _get(id4, quantityOrLookup, lookUp, withNew) { + let quantity = Quantity.REQUIRED; + if (quantityOrLookup === Quantity.REQUIRED || quantityOrLookup === Quantity.OPTIONAL || quantityOrLookup === Quantity.MANY) quantity = quantityOrLookup; + else lookUp = quantityOrLookup; + if (!withNew) { + const cachedResult = this.getValue(id4, quantity, lookUp); + if (cachedResult !== NotInstantiatedSymbol) return cachedResult; + } + const shouldCache = !withNew; + return this.createDependency(id4, quantity, lookUp, shouldCache); + } + /** + * Get a dependency in the async way. + */ + getAsync(id4) { + this._ensureInjectorNotDisposed(); + const cachedResult = this.getValue(id4, Quantity.REQUIRED); + if (cachedResult !== NotInstantiatedSymbol) return Promise.resolve(cachedResult); + const newResult = this.createDependency(id4, Quantity.REQUIRED); + if (!isAsyncHook(newResult)) return Promise.resolve(newResult); + return newResult.whenReady(); + } + /** + * Create an instance of a class with its dependencies injected. + * + * Unlike `get()`, the created instance is NOT cached by the injector. + * Each call creates a new instance. You can also pass custom arguments + * that will be passed before the injected dependencies. + * + * @param ctor - The class constructor to instantiate. + * @param customArgs - Custom arguments to pass before injected dependencies. + * @returns A new instance of the class. + * + * @example + * ```typescript + * class RequestHandler { + * constructor( + * requestId: string, // Custom arg + * @Inject(ILogger) logger: ILogger // Injected + * ) {} + * } + * + * // Create instance with custom requestId + * const handler = injector.createInstance(RequestHandler, 'req-123'); + * ``` + */ + createInstance(ctor, ...customArgs) { + this._ensureInjectorNotDisposed(); + return this._resolveClassImpl({ useClass: ctor }, ...customArgs); + } + _resolveDependency(id4, item, shouldCache = true) { + let result; + pushResolvingStack(id4); + try { + if (isValueDependencyItem(item)) result = this._resolveValueDependency(id4, item); + else if (isFactoryDependencyItem(item)) result = this._resolveFactory(id4, item, shouldCache); + else if (isClassDependencyItem(item)) result = this._resolveClass(id4, item, shouldCache); + else if (isExistingDependencyItem(item)) result = this._resolveExisting(id4, item); + else result = this._resolveAsync(id4, item); + popupResolvingStack(); + } catch (e29) { + popupResolvingStack(); + throw e29; + } + return result; + } + _resolveExisting(id4, item) { + const thing = this.get(item.useExisting); + this.resolvedDependencyCollection.add(id4, thing); + return thing; + } + _resolveValueDependency(id4, item) { + const thing = item.useValue; + this.resolvedDependencyCollection.add(id4, thing); + return thing; + } + _resolveClass(id4, item, shouldCache) { + let thing; + if (item.lazy) { + const idle = new IdleValue(() => { + this._ensureInjectorNotDisposed(); + return this._resolveClassImpl(item); + }); + thing = new Proxy(/* @__PURE__ */ Object.create(null), { + get(target, key) { + if (key in target) return target[key]; + const thing$1 = idle.getValue(); + let property = thing$1[key]; + if (typeof property !== "function") return property; + property = property.bind(thing$1); + target[key] = property; + return property; + }, + set(_target, key, value) { + idle.getValue()[key] = value; + return true; + } + }); + } else thing = this._resolveClassImpl(item); + if (id4 && shouldCache) this.resolvedDependencyCollection.add(id4, thing); + return thing; + } + _resolveClassImpl(item, ...extraParams) { + const Ctor = item.useClass; + this.markNewResolution(Ctor); + const declaredDependencies = getDependencies(Ctor).sort((a, b) => a.paramIndex - b.paramIndex).map((descriptor) => ({ + ...descriptor, + identifier: normalizeForwardRef(descriptor.identifier) + })); + const resolvedArgs = []; + for (const dep of declaredDependencies) try { + const thing$1 = this._get(dep.identifier, dep.quantity, dep.lookUp, dep.withNew); + resolvedArgs.push(thing$1); + } catch (error) { + if (error instanceof DependencyNotFoundError || error instanceof QuantityCheckError && error.actual === 0) throw new DependencyNotFoundForModuleError(Ctor, dep.identifier, dep.paramIndex); + throw error; + } + let args = [...extraParams]; + const firstDependencyArgIndex = declaredDependencies.length > 0 ? declaredDependencies[0].paramIndex : args.length; + if (args.length !== firstDependencyArgIndex) { + console.warn(`[redi]: Expect ${firstDependencyArgIndex} custom parameter(s) of ${prettyPrintIdentifier(Ctor)} but get ${args.length}.`); + const delta = firstDependencyArgIndex - args.length; + if (delta > 0) args = [...args, ...Array.from({ length: delta }).fill(void 0)]; + else args = args.slice(0, firstDependencyArgIndex); + } + const thing = new Ctor(...args, ...resolvedArgs); + item?.onInstantiation?.(thing); + this.markResolutionCompleted(); + return thing; + } + _resolveFactory(id4, item, shouldCache) { + this.markNewResolution(id4); + const declaredDependencies = normalizeFactoryDeps(item.deps); + const resolvedArgs = []; + for (const dep of declaredDependencies) try { + const thing$1 = this._get(dep.identifier, dep.quantity, dep.lookUp, dep.withNew); + resolvedArgs.push(thing$1); + } catch (error) { + if (error instanceof DependencyNotFoundError || error instanceof QuantityCheckError && error.actual === 0) throw new DependencyNotFoundForModuleError(id4, dep.identifier, dep.paramIndex); + throw error; + } + const thing = item.useFactory.apply(null, resolvedArgs); + if (shouldCache) this.resolvedDependencyCollection.add(id4, thing); + this.markResolutionCompleted(); + item?.onInstantiation?.(thing); + return thing; + } + _resolveAsync(id4, item) { + const asyncLoader = { + __symbol: AsyncHookSymbol, + whenReady: () => this._resolveAsyncImpl(id4, item) + }; + return asyncLoader; + } + _resolveAsyncImpl(id4, item) { + return item.useAsync().then((thing) => { + const resolvedCheck = this.getValue(id4); + if (resolvedCheck !== NotInstantiatedSymbol) return resolvedCheck; + let ret; + if (Array.isArray(thing)) { + const item$1 = thing[1]; + if (isAsyncDependencyItem(item$1)) throw new AsyncItemReturnAsyncItemError(id4); + else ret = this._resolveDependency(id4, item$1); + } else if (isCtor(thing)) ret = this._resolveClassImpl({ + useClass: thing, + onInstantiation: item.onInstantiation + }); + else ret = thing; + this.resolvedDependencyCollection.add(id4, ret); + return ret; + }); + } + getValue(id4, quantity = Quantity.REQUIRED, lookUp) { + const onSelf = () => { + if (this.dependencyCollection.has(id4) && !this.resolvedDependencyCollection.has(id4)) return NotInstantiatedSymbol; + return this.resolvedDependencyCollection.get(id4, quantity); + }; + const onParent = () => { + if (this.parent) return this.parent.getValue(id4, quantity); + else { + if (quantity === Quantity.OPTIONAL) return null; + else if (quantity === Quantity.MANY) return []; + throw new QuantityCheckError(id4, Quantity.REQUIRED, 0); + } + }; + if (lookUp === LookUp.SKIP_SELF) return onParent(); + if (id4 === Injector2) return this; + if (lookUp === LookUp.SELF) return onSelf(); + if (this.resolvedDependencyCollection.has(id4) || this.dependencyCollection.has(id4)) return onSelf(); + return onParent(); + } + createDependency(id4, quantity, lookUp, shouldCache = true) { + const onSelf = () => { + const registrations = this.dependencyCollection.get(id4, quantity); + let ret = null; + if (Array.isArray(registrations)) ret = registrations.map((dependencyItem) => this._resolveDependency(id4, dependencyItem, shouldCache)); + else ret = this._resolveDependency(id4, registrations, shouldCache); + return ret; + }; + const onParent = () => { + if (this.parent) return this.parent.createDependency(id4, quantity, void 0, shouldCache); + else { + if (quantity === Quantity.OPTIONAL) return null; + else if (quantity === Quantity.MANY) return []; + pushResolvingStack(id4); + throw new DependencyNotFoundError(id4); + } + }; + if (lookUp === LookUp.SKIP_SELF) return onParent(); + if (this.dependencyCollection.has(id4)) return onSelf(); + return onParent(); + } + markNewResolution(id4) { + this.resolutionOngoing += 1; + if (this.resolutionOngoing >= MAX_RESOLUTIONS_QUEUED) throw new CircularDependencyError(id4); + } + markResolutionCompleted() { + this.resolutionOngoing -= 1; + } + _ensureInjectorNotDisposed() { + if (this.disposed) throw new InjectorAlreadyDisposedError(); + } + }; + var globalObject = typeof globalThis !== "undefined" && globalThis || typeof window !== "undefined" && window || typeof global !== "undefined" && global; + var __REDI_GLOBAL_LOCK__ = "REDI_GLOBAL_LOCK"; + var isNode = typeof process !== "undefined" && process.versions != null && process.versions.node != null; + if (globalObject[__REDI_GLOBAL_LOCK__]) { + if (!isNode) console.error(`[redi]: You are loading scripts of redi more than once! This may cause undesired behavior in your application. +Maybe your dependencies added redi as its dependency and bundled redi to its dist files. Or you import different versions of redi. +For more info please visit our website: https://redi.wendell.fun/en-US/docs/faq#import-scripts-of-redi-more-than-once`); + } else globalObject[__REDI_GLOBAL_LOCK__] = true; + + // node_modules/lodash-es/_freeGlobal.js + var freeGlobal = typeof global == "object" && global && global.Object === Object && global; + var freeGlobal_default = freeGlobal; + + // node_modules/lodash-es/_root.js + var freeSelf = typeof self == "object" && self && self.Object === Object && self; + var root = freeGlobal_default || freeSelf || Function("return this")(); + var root_default = root; + + // node_modules/lodash-es/_Symbol.js + var Symbol2 = root_default.Symbol; + var Symbol_default = Symbol2; + + // node_modules/lodash-es/_getRawTag.js + var objectProto = Object.prototype; + var hasOwnProperty = objectProto.hasOwnProperty; + var nativeObjectToString = objectProto.toString; + var symToStringTag = Symbol_default ? Symbol_default.toStringTag : void 0; + function getRawTag(value) { + var isOwn = hasOwnProperty.call(value, symToStringTag), tag2 = value[symToStringTag]; + try { + value[symToStringTag] = void 0; + var unmasked = true; + } catch (e29) { + } + var result = nativeObjectToString.call(value); + if (unmasked) { + if (isOwn) { + value[symToStringTag] = tag2; + } else { + delete value[symToStringTag]; + } + } + return result; + } + var getRawTag_default = getRawTag; + + // node_modules/lodash-es/_objectToString.js + var objectProto2 = Object.prototype; + var nativeObjectToString2 = objectProto2.toString; + function objectToString(value) { + return nativeObjectToString2.call(value); + } + var objectToString_default = objectToString; + + // node_modules/lodash-es/_baseGetTag.js + var nullTag = "[object Null]"; + var undefinedTag = "[object Undefined]"; + var symToStringTag2 = Symbol_default ? Symbol_default.toStringTag : void 0; + function baseGetTag(value) { + if (value == null) { + return value === void 0 ? undefinedTag : nullTag; + } + return symToStringTag2 && symToStringTag2 in Object(value) ? getRawTag_default(value) : objectToString_default(value); + } + var baseGetTag_default = baseGetTag; + + // node_modules/lodash-es/isObjectLike.js + function isObjectLike(value) { + return value != null && typeof value == "object"; + } + var isObjectLike_default = isObjectLike; + + // node_modules/lodash-es/isArray.js + var isArray = Array.isArray; + var isArray_default = isArray; + + // node_modules/lodash-es/isObject.js + function isObject(value) { + var type2 = typeof value; + return value != null && (type2 == "object" || type2 == "function"); + } + var isObject_default = isObject; + + // node_modules/lodash-es/identity.js + function identity(value) { + return value; + } + var identity_default = identity; + + // node_modules/lodash-es/isFunction.js + var asyncTag = "[object AsyncFunction]"; + var funcTag = "[object Function]"; + var genTag = "[object GeneratorFunction]"; + var proxyTag = "[object Proxy]"; + function isFunction(value) { + if (!isObject_default(value)) { + return false; + } + var tag2 = baseGetTag_default(value); + return tag2 == funcTag || tag2 == genTag || tag2 == asyncTag || tag2 == proxyTag; + } + var isFunction_default = isFunction; + + // node_modules/lodash-es/_coreJsData.js + var coreJsData = root_default["__core-js_shared__"]; + var coreJsData_default = coreJsData; + + // node_modules/lodash-es/_isMasked.js + var maskSrcKey = (function() { + var uid = /[^.]+$/.exec(coreJsData_default && coreJsData_default.keys && coreJsData_default.keys.IE_PROTO || ""); + return uid ? "Symbol(src)_1." + uid : ""; + })(); + function isMasked(func) { + return !!maskSrcKey && maskSrcKey in func; + } + var isMasked_default = isMasked; + + // node_modules/lodash-es/_toSource.js + var funcProto = Function.prototype; + var funcToString = funcProto.toString; + function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e29) { + } + try { + return func + ""; + } catch (e29) { + } + } + return ""; + } + var toSource_default = toSource; + + // node_modules/lodash-es/_baseIsNative.js + var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; + var reIsHostCtor = /^\[object .+?Constructor\]$/; + var funcProto2 = Function.prototype; + var objectProto3 = Object.prototype; + var funcToString2 = funcProto2.toString; + var hasOwnProperty2 = objectProto3.hasOwnProperty; + var reIsNative = RegExp( + "^" + funcToString2.call(hasOwnProperty2).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$" + ); + function baseIsNative(value) { + if (!isObject_default(value) || isMasked_default(value)) { + return false; + } + var pattern = isFunction_default(value) ? reIsNative : reIsHostCtor; + return pattern.test(toSource_default(value)); + } + var baseIsNative_default = baseIsNative; + + // node_modules/lodash-es/_getValue.js + function getValue(object, key) { + return object == null ? void 0 : object[key]; + } + var getValue_default = getValue; + + // node_modules/lodash-es/_getNative.js + function getNative(object, key) { + var value = getValue_default(object, key); + return baseIsNative_default(value) ? value : void 0; + } + var getNative_default = getNative; + + // node_modules/lodash-es/_baseCreate.js + var objectCreate = Object.create; + var baseCreate = /* @__PURE__ */ (function() { + function object() { + } + return function(proto) { + if (!isObject_default(proto)) { + return {}; + } + if (objectCreate) { + return objectCreate(proto); + } + object.prototype = proto; + var result = new object(); + object.prototype = void 0; + return result; + }; + })(); + var baseCreate_default = baseCreate; + + // node_modules/lodash-es/_apply.js + function apply(func, thisArg, args) { + switch (args.length) { + case 0: + return func.call(thisArg); + case 1: + return func.call(thisArg, args[0]); + case 2: + return func.call(thisArg, args[0], args[1]); + case 3: + return func.call(thisArg, args[0], args[1], args[2]); + } + return func.apply(thisArg, args); + } + var apply_default = apply; + + // node_modules/lodash-es/_copyArray.js + function copyArray(source, array) { + var index = -1, length = source.length; + array || (array = Array(length)); + while (++index < length) { + array[index] = source[index]; + } + return array; + } + var copyArray_default = copyArray; + + // node_modules/lodash-es/_shortOut.js + var HOT_COUNT = 800; + var HOT_SPAN = 16; + var nativeNow = Date.now; + function shortOut(func) { + var count = 0, lastCalled = 0; + return function() { + var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled); + lastCalled = stamp; + if (remaining > 0) { + if (++count >= HOT_COUNT) { + return arguments[0]; + } + } else { + count = 0; + } + return func.apply(void 0, arguments); + }; + } + var shortOut_default = shortOut; + + // node_modules/lodash-es/constant.js + function constant(value) { + return function() { + return value; + }; + } + var constant_default = constant; + + // node_modules/lodash-es/_defineProperty.js + var defineProperty = (function() { + try { + var func = getNative_default(Object, "defineProperty"); + func({}, "", {}); + return func; + } catch (e29) { + } + })(); + var defineProperty_default = defineProperty; + + // node_modules/lodash-es/_baseSetToString.js + var baseSetToString = !defineProperty_default ? identity_default : function(func, string) { + return defineProperty_default(func, "toString", { + "configurable": true, + "enumerable": false, + "value": constant_default(string), + "writable": true + }); + }; + var baseSetToString_default = baseSetToString; + + // node_modules/lodash-es/_setToString.js + var setToString = shortOut_default(baseSetToString_default); + var setToString_default = setToString; + + // node_modules/lodash-es/_isIndex.js + var MAX_SAFE_INTEGER = 9007199254740991; + var reIsUint = /^(?:0|[1-9]\d*)$/; + function isIndex(value, length) { + var type2 = typeof value; + length = length == null ? MAX_SAFE_INTEGER : length; + return !!length && (type2 == "number" || type2 != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length); + } + var isIndex_default = isIndex; + + // node_modules/lodash-es/_baseAssignValue.js + function baseAssignValue(object, key, value) { + if (key == "__proto__" && defineProperty_default) { + defineProperty_default(object, key, { + "configurable": true, + "enumerable": true, + "value": value, + "writable": true + }); + } else { + object[key] = value; + } + } + var baseAssignValue_default = baseAssignValue; + + // node_modules/lodash-es/eq.js + function eq(value, other) { + return value === other || value !== value && other !== other; + } + var eq_default = eq; + + // node_modules/lodash-es/_assignValue.js + var objectProto4 = Object.prototype; + var hasOwnProperty3 = objectProto4.hasOwnProperty; + function assignValue(object, key, value) { + var objValue = object[key]; + if (!(hasOwnProperty3.call(object, key) && eq_default(objValue, value)) || value === void 0 && !(key in object)) { + baseAssignValue_default(object, key, value); + } + } + var assignValue_default = assignValue; + + // node_modules/lodash-es/_copyObject.js + function copyObject(source, props, object, customizer) { + var isNew = !object; + object || (object = {}); + var index = -1, length = props.length; + while (++index < length) { + var key = props[index]; + var newValue = customizer ? customizer(object[key], source[key], key, object, source) : void 0; + if (newValue === void 0) { + newValue = source[key]; + } + if (isNew) { + baseAssignValue_default(object, key, newValue); + } else { + assignValue_default(object, key, newValue); + } + } + return object; + } + var copyObject_default = copyObject; + + // node_modules/lodash-es/_overRest.js + var nativeMax = Math.max; + function overRest(func, start, transform) { + start = nativeMax(start === void 0 ? func.length - 1 : start, 0); + return function() { + var args = arguments, index = -1, length = nativeMax(args.length - start, 0), array = Array(length); + while (++index < length) { + array[index] = args[start + index]; + } + index = -1; + var otherArgs = Array(start + 1); + while (++index < start) { + otherArgs[index] = args[index]; + } + otherArgs[start] = transform(array); + return apply_default(func, this, otherArgs); + }; + } + var overRest_default = overRest; + + // node_modules/lodash-es/_baseRest.js + function baseRest(func, start) { + return setToString_default(overRest_default(func, start, identity_default), func + ""); + } + var baseRest_default = baseRest; + + // node_modules/lodash-es/isLength.js + var MAX_SAFE_INTEGER2 = 9007199254740991; + function isLength(value) { + return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER2; + } + var isLength_default = isLength; + + // node_modules/lodash-es/isArrayLike.js + function isArrayLike(value) { + return value != null && isLength_default(value.length) && !isFunction_default(value); + } + var isArrayLike_default = isArrayLike; + + // node_modules/lodash-es/_isIterateeCall.js + function isIterateeCall(value, index, object) { + if (!isObject_default(object)) { + return false; + } + var type2 = typeof index; + if (type2 == "number" ? isArrayLike_default(object) && isIndex_default(index, object.length) : type2 == "string" && index in object) { + return eq_default(object[index], value); + } + return false; + } + var isIterateeCall_default = isIterateeCall; + + // node_modules/lodash-es/_createAssigner.js + function createAssigner(assigner) { + return baseRest_default(function(object, sources) { + var index = -1, length = sources.length, customizer = length > 1 ? sources[length - 1] : void 0, guard = length > 2 ? sources[2] : void 0; + customizer = assigner.length > 3 && typeof customizer == "function" ? (length--, customizer) : void 0; + if (guard && isIterateeCall_default(sources[0], sources[1], guard)) { + customizer = length < 3 ? void 0 : customizer; + length = 1; + } + object = Object(object); + while (++index < length) { + var source = sources[index]; + if (source) { + assigner(object, source, index, customizer); + } + } + return object; + }); + } + var createAssigner_default = createAssigner; + + // node_modules/lodash-es/_isPrototype.js + var objectProto5 = Object.prototype; + function isPrototype(value) { + var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto5; + return value === proto; + } + var isPrototype_default = isPrototype; + + // node_modules/lodash-es/_baseTimes.js + function baseTimes(n, iteratee) { + var index = -1, result = Array(n); + while (++index < n) { + result[index] = iteratee(index); + } + return result; + } + var baseTimes_default = baseTimes; + + // node_modules/lodash-es/_baseIsArguments.js + var argsTag = "[object Arguments]"; + function baseIsArguments(value) { + return isObjectLike_default(value) && baseGetTag_default(value) == argsTag; + } + var baseIsArguments_default = baseIsArguments; + + // node_modules/lodash-es/isArguments.js + var objectProto6 = Object.prototype; + var hasOwnProperty4 = objectProto6.hasOwnProperty; + var propertyIsEnumerable = objectProto6.propertyIsEnumerable; + var isArguments = baseIsArguments_default(/* @__PURE__ */ (function() { + return arguments; + })()) ? baseIsArguments_default : function(value) { + return isObjectLike_default(value) && hasOwnProperty4.call(value, "callee") && !propertyIsEnumerable.call(value, "callee"); + }; + var isArguments_default = isArguments; + + // node_modules/lodash-es/stubFalse.js + function stubFalse() { + return false; + } + var stubFalse_default = stubFalse; + + // node_modules/lodash-es/isBuffer.js + var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports; + var freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module; + var moduleExports = freeModule && freeModule.exports === freeExports; + var Buffer2 = moduleExports ? root_default.Buffer : void 0; + var nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : void 0; + var isBuffer = nativeIsBuffer || stubFalse_default; + var isBuffer_default = isBuffer; + + // node_modules/lodash-es/_baseIsTypedArray.js + var argsTag2 = "[object Arguments]"; + var arrayTag = "[object Array]"; + var boolTag = "[object Boolean]"; + var dateTag = "[object Date]"; + var errorTag = "[object Error]"; + var funcTag2 = "[object Function]"; + var mapTag = "[object Map]"; + var numberTag = "[object Number]"; + var objectTag = "[object Object]"; + var regexpTag = "[object RegExp]"; + var setTag = "[object Set]"; + var stringTag = "[object String]"; + var weakMapTag = "[object WeakMap]"; + var arrayBufferTag = "[object ArrayBuffer]"; + var dataViewTag = "[object DataView]"; + var float32Tag = "[object Float32Array]"; + var float64Tag = "[object Float64Array]"; + var int8Tag = "[object Int8Array]"; + var int16Tag = "[object Int16Array]"; + var int32Tag = "[object Int32Array]"; + var uint8Tag = "[object Uint8Array]"; + var uint8ClampedTag = "[object Uint8ClampedArray]"; + var uint16Tag = "[object Uint16Array]"; + var uint32Tag = "[object Uint32Array]"; + var typedArrayTags = {}; + typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true; + typedArrayTags[argsTag2] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag2] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false; + function baseIsTypedArray(value) { + return isObjectLike_default(value) && isLength_default(value.length) && !!typedArrayTags[baseGetTag_default(value)]; + } + var baseIsTypedArray_default = baseIsTypedArray; + + // node_modules/lodash-es/_baseUnary.js + function baseUnary(func) { + return function(value) { + return func(value); + }; + } + var baseUnary_default = baseUnary; + + // node_modules/lodash-es/_nodeUtil.js + var freeExports2 = typeof exports == "object" && exports && !exports.nodeType && exports; + var freeModule2 = freeExports2 && typeof module == "object" && module && !module.nodeType && module; + var moduleExports2 = freeModule2 && freeModule2.exports === freeExports2; + var freeProcess = moduleExports2 && freeGlobal_default.process; + var nodeUtil = (function() { + try { + var types = freeModule2 && freeModule2.require && freeModule2.require("util").types; + if (types) { + return types; + } + return freeProcess && freeProcess.binding && freeProcess.binding("util"); + } catch (e29) { + } + })(); + var nodeUtil_default = nodeUtil; + + // node_modules/lodash-es/isTypedArray.js + var nodeIsTypedArray = nodeUtil_default && nodeUtil_default.isTypedArray; + var isTypedArray = nodeIsTypedArray ? baseUnary_default(nodeIsTypedArray) : baseIsTypedArray_default; + var isTypedArray_default = isTypedArray; + + // node_modules/lodash-es/_arrayLikeKeys.js + var objectProto7 = Object.prototype; + var hasOwnProperty5 = objectProto7.hasOwnProperty; + function arrayLikeKeys(value, inherited) { + var isArr = isArray_default(value), isArg = !isArr && isArguments_default(value), isBuff = !isArr && !isArg && isBuffer_default(value), isType = !isArr && !isArg && !isBuff && isTypedArray_default(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes_default(value.length, String) : [], length = result.length; + for (var key in value) { + if ((inherited || hasOwnProperty5.call(value, key)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode. + (key == "length" || // Node.js 0.10 has enumerable non-index properties on buffers. + isBuff && (key == "offset" || key == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays. + isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || // Skip index properties. + isIndex_default(key, length)))) { + result.push(key); + } + } + return result; + } + var arrayLikeKeys_default = arrayLikeKeys; + + // node_modules/lodash-es/_overArg.js + function overArg(func, transform) { + return function(arg) { + return func(transform(arg)); + }; + } + var overArg_default = overArg; + + // node_modules/lodash-es/_nativeKeysIn.js + function nativeKeysIn(object) { + var result = []; + if (object != null) { + for (var key in Object(object)) { + result.push(key); + } + } + return result; + } + var nativeKeysIn_default = nativeKeysIn; + + // node_modules/lodash-es/_baseKeysIn.js + var objectProto8 = Object.prototype; + var hasOwnProperty6 = objectProto8.hasOwnProperty; + function baseKeysIn(object) { + if (!isObject_default(object)) { + return nativeKeysIn_default(object); + } + var isProto = isPrototype_default(object), result = []; + for (var key in object) { + if (!(key == "constructor" && (isProto || !hasOwnProperty6.call(object, key)))) { + result.push(key); + } + } + return result; + } + var baseKeysIn_default = baseKeysIn; + + // node_modules/lodash-es/keysIn.js + function keysIn(object) { + return isArrayLike_default(object) ? arrayLikeKeys_default(object, true) : baseKeysIn_default(object); + } + var keysIn_default = keysIn; + + // node_modules/lodash-es/_nativeCreate.js + var nativeCreate = getNative_default(Object, "create"); + var nativeCreate_default = nativeCreate; + + // node_modules/lodash-es/_hashClear.js + function hashClear() { + this.__data__ = nativeCreate_default ? nativeCreate_default(null) : {}; + this.size = 0; + } + var hashClear_default = hashClear; + + // node_modules/lodash-es/_hashDelete.js + function hashDelete(key) { + var result = this.has(key) && delete this.__data__[key]; + this.size -= result ? 1 : 0; + return result; + } + var hashDelete_default = hashDelete; + + // node_modules/lodash-es/_hashGet.js + var HASH_UNDEFINED = "__lodash_hash_undefined__"; + var objectProto9 = Object.prototype; + var hasOwnProperty7 = objectProto9.hasOwnProperty; + function hashGet(key) { + var data = this.__data__; + if (nativeCreate_default) { + var result = data[key]; + return result === HASH_UNDEFINED ? void 0 : result; + } + return hasOwnProperty7.call(data, key) ? data[key] : void 0; + } + var hashGet_default = hashGet; + + // node_modules/lodash-es/_hashHas.js + var objectProto10 = Object.prototype; + var hasOwnProperty8 = objectProto10.hasOwnProperty; + function hashHas(key) { + var data = this.__data__; + return nativeCreate_default ? data[key] !== void 0 : hasOwnProperty8.call(data, key); + } + var hashHas_default = hashHas; + + // node_modules/lodash-es/_hashSet.js + var HASH_UNDEFINED2 = "__lodash_hash_undefined__"; + function hashSet(key, value) { + var data = this.__data__; + this.size += this.has(key) ? 0 : 1; + data[key] = nativeCreate_default && value === void 0 ? HASH_UNDEFINED2 : value; + return this; + } + var hashSet_default = hashSet; + + // node_modules/lodash-es/_Hash.js + function Hash(entries) { + var index = -1, length = entries == null ? 0 : entries.length; + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } + } + Hash.prototype.clear = hashClear_default; + Hash.prototype["delete"] = hashDelete_default; + Hash.prototype.get = hashGet_default; + Hash.prototype.has = hashHas_default; + Hash.prototype.set = hashSet_default; + var Hash_default = Hash; + + // node_modules/lodash-es/_listCacheClear.js + function listCacheClear() { + this.__data__ = []; + this.size = 0; + } + var listCacheClear_default = listCacheClear; + + // node_modules/lodash-es/_assocIndexOf.js + function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq_default(array[length][0], key)) { + return length; + } + } + return -1; + } + var assocIndexOf_default = assocIndexOf; + + // node_modules/lodash-es/_listCacheDelete.js + var arrayProto = Array.prototype; + var splice = arrayProto.splice; + function listCacheDelete(key) { + var data = this.__data__, index = assocIndexOf_default(data, key); + if (index < 0) { + return false; + } + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + --this.size; + return true; + } + var listCacheDelete_default = listCacheDelete; + + // node_modules/lodash-es/_listCacheGet.js + function listCacheGet(key) { + var data = this.__data__, index = assocIndexOf_default(data, key); + return index < 0 ? void 0 : data[index][1]; + } + var listCacheGet_default = listCacheGet; + + // node_modules/lodash-es/_listCacheHas.js + function listCacheHas(key) { + return assocIndexOf_default(this.__data__, key) > -1; + } + var listCacheHas_default = listCacheHas; + + // node_modules/lodash-es/_listCacheSet.js + function listCacheSet(key, value) { + var data = this.__data__, index = assocIndexOf_default(data, key); + if (index < 0) { + ++this.size; + data.push([key, value]); + } else { + data[index][1] = value; + } + return this; + } + var listCacheSet_default = listCacheSet; + + // node_modules/lodash-es/_ListCache.js + function ListCache(entries) { + var index = -1, length = entries == null ? 0 : entries.length; + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } + } + ListCache.prototype.clear = listCacheClear_default; + ListCache.prototype["delete"] = listCacheDelete_default; + ListCache.prototype.get = listCacheGet_default; + ListCache.prototype.has = listCacheHas_default; + ListCache.prototype.set = listCacheSet_default; + var ListCache_default = ListCache; + + // node_modules/lodash-es/_Map.js + var Map2 = getNative_default(root_default, "Map"); + var Map_default = Map2; + + // node_modules/lodash-es/_mapCacheClear.js + function mapCacheClear() { + this.size = 0; + this.__data__ = { + "hash": new Hash_default(), + "map": new (Map_default || ListCache_default)(), + "string": new Hash_default() + }; + } + var mapCacheClear_default = mapCacheClear; + + // node_modules/lodash-es/_isKeyable.js + function isKeyable(value) { + var type2 = typeof value; + return type2 == "string" || type2 == "number" || type2 == "symbol" || type2 == "boolean" ? value !== "__proto__" : value === null; + } + var isKeyable_default = isKeyable; + + // node_modules/lodash-es/_getMapData.js + function getMapData(map2, key) { + var data = map2.__data__; + return isKeyable_default(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map; + } + var getMapData_default = getMapData; + + // node_modules/lodash-es/_mapCacheDelete.js + function mapCacheDelete(key) { + var result = getMapData_default(this, key)["delete"](key); + this.size -= result ? 1 : 0; + return result; + } + var mapCacheDelete_default = mapCacheDelete; + + // node_modules/lodash-es/_mapCacheGet.js + function mapCacheGet(key) { + return getMapData_default(this, key).get(key); + } + var mapCacheGet_default = mapCacheGet; + + // node_modules/lodash-es/_mapCacheHas.js + function mapCacheHas(key) { + return getMapData_default(this, key).has(key); + } + var mapCacheHas_default = mapCacheHas; + + // node_modules/lodash-es/_mapCacheSet.js + function mapCacheSet(key, value) { + var data = getMapData_default(this, key), size = data.size; + data.set(key, value); + this.size += data.size == size ? 0 : 1; + return this; + } + var mapCacheSet_default = mapCacheSet; + + // node_modules/lodash-es/_MapCache.js + function MapCache(entries) { + var index = -1, length = entries == null ? 0 : entries.length; + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } + } + MapCache.prototype.clear = mapCacheClear_default; + MapCache.prototype["delete"] = mapCacheDelete_default; + MapCache.prototype.get = mapCacheGet_default; + MapCache.prototype.has = mapCacheHas_default; + MapCache.prototype.set = mapCacheSet_default; + var MapCache_default = MapCache; + + // node_modules/lodash-es/_getPrototype.js + var getPrototype = overArg_default(Object.getPrototypeOf, Object); + var getPrototype_default = getPrototype; + + // node_modules/lodash-es/isPlainObject.js + var objectTag2 = "[object Object]"; + var funcProto3 = Function.prototype; + var objectProto11 = Object.prototype; + var funcToString3 = funcProto3.toString; + var hasOwnProperty9 = objectProto11.hasOwnProperty; + var objectCtorString = funcToString3.call(Object); + function isPlainObject(value) { + if (!isObjectLike_default(value) || baseGetTag_default(value) != objectTag2) { + return false; + } + var proto = getPrototype_default(value); + if (proto === null) { + return true; + } + var Ctor = hasOwnProperty9.call(proto, "constructor") && proto.constructor; + return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString3.call(Ctor) == objectCtorString; + } + var isPlainObject_default = isPlainObject; + + // node_modules/lodash-es/_stackClear.js + function stackClear() { + this.__data__ = new ListCache_default(); + this.size = 0; + } + var stackClear_default = stackClear; + + // node_modules/lodash-es/_stackDelete.js + function stackDelete(key) { + var data = this.__data__, result = data["delete"](key); + this.size = data.size; + return result; + } + var stackDelete_default = stackDelete; + + // node_modules/lodash-es/_stackGet.js + function stackGet(key) { + return this.__data__.get(key); + } + var stackGet_default = stackGet; + + // node_modules/lodash-es/_stackHas.js + function stackHas(key) { + return this.__data__.has(key); + } + var stackHas_default = stackHas; + + // node_modules/lodash-es/_stackSet.js + var LARGE_ARRAY_SIZE = 200; + function stackSet(key, value) { + var data = this.__data__; + if (data instanceof ListCache_default) { + var pairs = data.__data__; + if (!Map_default || pairs.length < LARGE_ARRAY_SIZE - 1) { + pairs.push([key, value]); + this.size = ++data.size; + return this; + } + data = this.__data__ = new MapCache_default(pairs); + } + data.set(key, value); + this.size = data.size; + return this; + } + var stackSet_default = stackSet; + + // node_modules/lodash-es/_Stack.js + function Stack(entries) { + var data = this.__data__ = new ListCache_default(entries); + this.size = data.size; + } + Stack.prototype.clear = stackClear_default; + Stack.prototype["delete"] = stackDelete_default; + Stack.prototype.get = stackGet_default; + Stack.prototype.has = stackHas_default; + Stack.prototype.set = stackSet_default; + var Stack_default = Stack; + + // node_modules/lodash-es/_cloneBuffer.js + var freeExports3 = typeof exports == "object" && exports && !exports.nodeType && exports; + var freeModule3 = freeExports3 && typeof module == "object" && module && !module.nodeType && module; + var moduleExports3 = freeModule3 && freeModule3.exports === freeExports3; + var Buffer3 = moduleExports3 ? root_default.Buffer : void 0; + var allocUnsafe = Buffer3 ? Buffer3.allocUnsafe : void 0; + function cloneBuffer(buffer, isDeep) { + if (isDeep) { + return buffer.slice(); + } + var length = buffer.length, result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); + buffer.copy(result); + return result; + } + var cloneBuffer_default = cloneBuffer; + + // node_modules/lodash-es/_Uint8Array.js + var Uint8Array2 = root_default.Uint8Array; + var Uint8Array_default = Uint8Array2; + + // node_modules/lodash-es/_cloneArrayBuffer.js + function cloneArrayBuffer(arrayBuffer) { + var result = new arrayBuffer.constructor(arrayBuffer.byteLength); + new Uint8Array_default(result).set(new Uint8Array_default(arrayBuffer)); + return result; + } + var cloneArrayBuffer_default = cloneArrayBuffer; + + // node_modules/lodash-es/_cloneTypedArray.js + function cloneTypedArray(typedArray, isDeep) { + var buffer = isDeep ? cloneArrayBuffer_default(typedArray.buffer) : typedArray.buffer; + return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); + } + var cloneTypedArray_default = cloneTypedArray; + + // node_modules/lodash-es/_initCloneObject.js + function initCloneObject(object) { + return typeof object.constructor == "function" && !isPrototype_default(object) ? baseCreate_default(getPrototype_default(object)) : {}; + } + var initCloneObject_default = initCloneObject; + + // node_modules/lodash-es/_createBaseFor.js + function createBaseFor(fromRight) { + return function(object, iteratee, keysFunc) { + var index = -1, iterable = Object(object), props = keysFunc(object), length = props.length; + while (length--) { + var key = props[fromRight ? length : ++index]; + if (iteratee(iterable[key], key, iterable) === false) { + break; + } + } + return object; + }; + } + var createBaseFor_default = createBaseFor; + + // node_modules/lodash-es/_baseFor.js + var baseFor = createBaseFor_default(); + var baseFor_default = baseFor; + + // node_modules/lodash-es/_assignMergeValue.js + function assignMergeValue(object, key, value) { + if (value !== void 0 && !eq_default(object[key], value) || value === void 0 && !(key in object)) { + baseAssignValue_default(object, key, value); + } + } + var assignMergeValue_default = assignMergeValue; + + // node_modules/lodash-es/isArrayLikeObject.js + function isArrayLikeObject(value) { + return isObjectLike_default(value) && isArrayLike_default(value); + } + var isArrayLikeObject_default = isArrayLikeObject; + + // node_modules/lodash-es/_safeGet.js + function safeGet(object, key) { + if (key === "constructor" && typeof object[key] === "function") { + return; + } + if (key == "__proto__") { + return; + } + return object[key]; + } + var safeGet_default = safeGet; + + // node_modules/lodash-es/toPlainObject.js + function toPlainObject(value) { + return copyObject_default(value, keysIn_default(value)); + } + var toPlainObject_default = toPlainObject; + + // node_modules/lodash-es/_baseMergeDeep.js + function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) { + var objValue = safeGet_default(object, key), srcValue = safeGet_default(source, key), stacked = stack.get(srcValue); + if (stacked) { + assignMergeValue_default(object, key, stacked); + return; + } + var newValue = customizer ? customizer(objValue, srcValue, key + "", object, source, stack) : void 0; + var isCommon = newValue === void 0; + if (isCommon) { + var isArr = isArray_default(srcValue), isBuff = !isArr && isBuffer_default(srcValue), isTyped = !isArr && !isBuff && isTypedArray_default(srcValue); + newValue = srcValue; + if (isArr || isBuff || isTyped) { + if (isArray_default(objValue)) { + newValue = objValue; + } else if (isArrayLikeObject_default(objValue)) { + newValue = copyArray_default(objValue); + } else if (isBuff) { + isCommon = false; + newValue = cloneBuffer_default(srcValue, true); + } else if (isTyped) { + isCommon = false; + newValue = cloneTypedArray_default(srcValue, true); + } else { + newValue = []; + } + } else if (isPlainObject_default(srcValue) || isArguments_default(srcValue)) { + newValue = objValue; + if (isArguments_default(objValue)) { + newValue = toPlainObject_default(objValue); + } else if (!isObject_default(objValue) || isFunction_default(objValue)) { + newValue = initCloneObject_default(srcValue); + } + } else { + isCommon = false; + } + } + if (isCommon) { + stack.set(srcValue, newValue); + mergeFunc(newValue, srcValue, srcIndex, customizer, stack); + stack["delete"](srcValue); + } + assignMergeValue_default(object, key, newValue); + } + var baseMergeDeep_default = baseMergeDeep; + + // node_modules/lodash-es/_baseMerge.js + function baseMerge(object, source, srcIndex, customizer, stack) { + if (object === source) { + return; + } + baseFor_default(source, function(srcValue, key) { + stack || (stack = new Stack_default()); + if (isObject_default(srcValue)) { + baseMergeDeep_default(object, source, key, srcIndex, baseMerge, customizer, stack); + } else { + var newValue = customizer ? customizer(safeGet_default(object, key), srcValue, key + "", object, source, stack) : void 0; + if (newValue === void 0) { + newValue = srcValue; + } + assignMergeValue_default(object, key, newValue); + } + }, keysIn_default); + } + var baseMerge_default = baseMerge; + + // node_modules/lodash-es/merge.js + var merge = createAssigner_default(function(object, source, srcIndex) { + baseMerge_default(object, source, srcIndex); + }); + var merge_default = merge; + + // node_modules/tslib/tslib.es6.mjs + var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { + d2.__proto__ = b2; + } || function(d2, b2) { + for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p]; + }; + return extendStatics(d, b); + }; + function __extends(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __2() { + this.constructor = d; + } + d.prototype = b === null ? Object.create(b) : (__2.prototype = b.prototype, new __2()); + } + function __awaiter(thisArg, _arguments, P6, generator) { + function adopt(value) { + return value instanceof P6 ? value : new P6(function(resolve) { + resolve(value); + }); + } + return new (P6 || (P6 = Promise))(function(resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e29) { + reject(e29); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e29) { + reject(e29); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + } + function __generator(thisArg, body) { + var _2 = { label: 0, sent: function() { + if (t[0] & 1) throw t[1]; + return t[1]; + }, trys: [], ops: [] }, f, y, t, g2 = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype); + return g2.next = verb(0), g2["throw"] = verb(1), g2["return"] = verb(2), typeof Symbol === "function" && (g2[Symbol.iterator] = function() { + return this; + }), g2; + function verb(n) { + return function(v) { + return step([n, v]); + }; + } + function step(op2) { + if (f) throw new TypeError("Generator is already executing."); + while (g2 && (g2 = 0, op2[0] && (_2 = 0)), _2) try { + if (f = 1, y && (t = op2[0] & 2 ? y["return"] : op2[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op2[1])).done) return t; + if (y = 0, t) op2 = [op2[0] & 2, t.value]; + switch (op2[0]) { + case 0: + case 1: + t = op2; + break; + case 4: + _2.label++; + return { value: op2[1], done: false }; + case 5: + _2.label++; + y = op2[1]; + op2 = [0]; + continue; + case 7: + op2 = _2.ops.pop(); + _2.trys.pop(); + continue; + default: + if (!(t = _2.trys, t = t.length > 0 && t[t.length - 1]) && (op2[0] === 6 || op2[0] === 2)) { + _2 = 0; + continue; + } + if (op2[0] === 3 && (!t || op2[1] > t[0] && op2[1] < t[3])) { + _2.label = op2[1]; + break; + } + if (op2[0] === 6 && _2.label < t[1]) { + _2.label = t[1]; + t = op2; + break; + } + if (t && _2.label < t[2]) { + _2.label = t[2]; + _2.ops.push(op2); + break; + } + if (t[2]) _2.ops.pop(); + _2.trys.pop(); + continue; + } + op2 = body.call(thisArg, _2); + } catch (e29) { + op2 = [6, e29]; + y = 0; + } finally { + f = t = 0; + } + if (op2[0] & 5) throw op2[1]; + return { value: op2[0] ? op2[1] : void 0, done: true }; + } + } + function __values(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function() { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); + } + function __read(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar5 = [], e29; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar5.push(r.value); + } catch (error) { + e29 = { error }; + } finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } finally { + if (e29) throw e29.error; + } + } + return ar5; + } + function __spreadArray(to4, from2, pack) { + if (pack || arguments.length === 2) for (var i = 0, l = from2.length, ar5; i < l; i++) { + if (ar5 || !(i in from2)) { + if (!ar5) ar5 = Array.prototype.slice.call(from2, 0, i); + ar5[i] = from2[i]; + } + } + return to4.concat(ar5 || Array.prototype.slice.call(from2)); + } + function __await(v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); + } + function __asyncGenerator(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var g2 = generator.apply(thisArg, _arguments || []), i, q5 = []; + return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function() { + return this; + }, i; + function awaitReturn(f) { + return function(v) { + return Promise.resolve(v).then(f, reject); + }; + } + function verb(n, f) { + if (g2[n]) { + i[n] = function(v) { + return new Promise(function(a, b) { + q5.push([n, v, a, b]) > 1 || resume(n, v); + }); + }; + if (f) i[n] = f(i[n]); + } + } + function resume(n, v) { + try { + step(g2[n](v)); + } catch (e29) { + settle(q5[0][3], e29); + } + } + function step(r) { + r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q5[0][2], r); + } + function fulfill(value) { + resume("next", value); + } + function reject(value) { + resume("throw", value); + } + function settle(f, v) { + if (f(v), q5.shift(), q5.length) resume(q5[0][0], q5[0][1]); + } + } + function __asyncValues(o) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() { + return this; + }, i); + function verb(n) { + i[n] = o[n] && function(v) { + return new Promise(function(resolve, reject) { + v = o[n](v), settle(resolve, reject, v.done, v.value); + }); + }; + } + function settle(resolve, reject, d, v) { + Promise.resolve(v).then(function(v2) { + resolve({ value: v2, done: d }); + }, reject); + } + } + + // node_modules/rxjs/dist/esm5/internal/util/isFunction.js + function isFunction2(value) { + return typeof value === "function"; + } + + // node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js + function createErrorClass(createImpl) { + var _super = function(instance) { + Error.call(instance); + instance.stack = new Error().stack; + }; + var ctorFunc = createImpl(_super); + ctorFunc.prototype = Object.create(Error.prototype); + ctorFunc.prototype.constructor = ctorFunc; + return ctorFunc; + } + + // node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js + var UnsubscriptionError = createErrorClass(function(_super) { + return function UnsubscriptionErrorImpl(errors) { + _super(this); + this.message = errors ? errors.length + " errors occurred during unsubscription:\n" + errors.map(function(err, i) { + return i + 1 + ") " + err.toString(); + }).join("\n ") : ""; + this.name = "UnsubscriptionError"; + this.errors = errors; + }; + }); + + // node_modules/rxjs/dist/esm5/internal/util/arrRemove.js + function arrRemove(arr, item) { + if (arr) { + var index = arr.indexOf(item); + 0 <= index && arr.splice(index, 1); + } + } + + // node_modules/rxjs/dist/esm5/internal/Subscription.js + var Subscription = (function() { + function Subscription2(initialTeardown) { + this.initialTeardown = initialTeardown; + this.closed = false; + this._parentage = null; + this._finalizers = null; + } + Subscription2.prototype.unsubscribe = function() { + var e_1, _a4, e_2, _b; + var errors; + if (!this.closed) { + this.closed = true; + var _parentage = this._parentage; + if (_parentage) { + this._parentage = null; + if (Array.isArray(_parentage)) { + try { + for (var _parentage_1 = __values(_parentage), _parentage_1_1 = _parentage_1.next(); !_parentage_1_1.done; _parentage_1_1 = _parentage_1.next()) { + var parent_1 = _parentage_1_1.value; + parent_1.remove(this); + } + } catch (e_1_1) { + e_1 = { error: e_1_1 }; + } finally { + try { + if (_parentage_1_1 && !_parentage_1_1.done && (_a4 = _parentage_1.return)) _a4.call(_parentage_1); + } finally { + if (e_1) throw e_1.error; + } + } + } else { + _parentage.remove(this); + } + } + var initialFinalizer = this.initialTeardown; + if (isFunction2(initialFinalizer)) { + try { + initialFinalizer(); + } catch (e29) { + errors = e29 instanceof UnsubscriptionError ? e29.errors : [e29]; + } + } + var _finalizers = this._finalizers; + if (_finalizers) { + this._finalizers = null; + try { + for (var _finalizers_1 = __values(_finalizers), _finalizers_1_1 = _finalizers_1.next(); !_finalizers_1_1.done; _finalizers_1_1 = _finalizers_1.next()) { + var finalizer = _finalizers_1_1.value; + try { + execFinalizer(finalizer); + } catch (err) { + errors = errors !== null && errors !== void 0 ? errors : []; + if (err instanceof UnsubscriptionError) { + errors = __spreadArray(__spreadArray([], __read(errors)), __read(err.errors)); + } else { + errors.push(err); + } + } + } + } catch (e_2_1) { + e_2 = { error: e_2_1 }; + } finally { + try { + if (_finalizers_1_1 && !_finalizers_1_1.done && (_b = _finalizers_1.return)) _b.call(_finalizers_1); + } finally { + if (e_2) throw e_2.error; + } + } + } + if (errors) { + throw new UnsubscriptionError(errors); + } + } + }; + Subscription2.prototype.add = function(teardown) { + var _a4; + if (teardown && teardown !== this) { + if (this.closed) { + execFinalizer(teardown); + } else { + if (teardown instanceof Subscription2) { + if (teardown.closed || teardown._hasParent(this)) { + return; + } + teardown._addParent(this); + } + (this._finalizers = (_a4 = this._finalizers) !== null && _a4 !== void 0 ? _a4 : []).push(teardown); + } + } + }; + Subscription2.prototype._hasParent = function(parent) { + var _parentage = this._parentage; + return _parentage === parent || Array.isArray(_parentage) && _parentage.includes(parent); + }; + Subscription2.prototype._addParent = function(parent) { + var _parentage = this._parentage; + this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent; + }; + Subscription2.prototype._removeParent = function(parent) { + var _parentage = this._parentage; + if (_parentage === parent) { + this._parentage = null; + } else if (Array.isArray(_parentage)) { + arrRemove(_parentage, parent); + } + }; + Subscription2.prototype.remove = function(teardown) { + var _finalizers = this._finalizers; + _finalizers && arrRemove(_finalizers, teardown); + if (teardown instanceof Subscription2) { + teardown._removeParent(this); + } + }; + Subscription2.EMPTY = (function() { + var empty = new Subscription2(); + empty.closed = true; + return empty; + })(); + return Subscription2; + })(); + var EMPTY_SUBSCRIPTION = Subscription.EMPTY; + function isSubscription(value) { + return value instanceof Subscription || value && "closed" in value && isFunction2(value.remove) && isFunction2(value.add) && isFunction2(value.unsubscribe); + } + function execFinalizer(finalizer) { + if (isFunction2(finalizer)) { + finalizer(); + } else { + finalizer.unsubscribe(); + } + } + + // node_modules/rxjs/dist/esm5/internal/config.js + var config = { + onUnhandledError: null, + onStoppedNotification: null, + Promise: void 0, + useDeprecatedSynchronousErrorHandling: false, + useDeprecatedNextContext: false + }; + + // node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js + var timeoutProvider = { + setTimeout: function(handler, timeout) { + var args = []; + for (var _i5 = 2; _i5 < arguments.length; _i5++) { + args[_i5 - 2] = arguments[_i5]; + } + var delegate = timeoutProvider.delegate; + if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) { + return delegate.setTimeout.apply(delegate, __spreadArray([handler, timeout], __read(args))); + } + return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args))); + }, + clearTimeout: function(handle) { + var delegate = timeoutProvider.delegate; + return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle); + }, + delegate: void 0 + }; + + // node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js + function reportUnhandledError(err) { + timeoutProvider.setTimeout(function() { + var onUnhandledError = config.onUnhandledError; + if (onUnhandledError) { + onUnhandledError(err); + } else { + throw err; + } + }); + } + + // node_modules/rxjs/dist/esm5/internal/util/noop.js + function noop() { + } + + // node_modules/rxjs/dist/esm5/internal/NotificationFactories.js + var COMPLETE_NOTIFICATION = (function() { + return createNotification("C", void 0, void 0); + })(); + function errorNotification(error) { + return createNotification("E", void 0, error); + } + function nextNotification(value) { + return createNotification("N", value, void 0); + } + function createNotification(kind, value, error) { + return { + kind, + value, + error + }; + } + + // node_modules/rxjs/dist/esm5/internal/util/errorContext.js + var context = null; + function errorContext(cb) { + if (config.useDeprecatedSynchronousErrorHandling) { + var isRoot = !context; + if (isRoot) { + context = { errorThrown: false, error: null }; + } + cb(); + if (isRoot) { + var _a4 = context, errorThrown = _a4.errorThrown, error = _a4.error; + context = null; + if (errorThrown) { + throw error; + } + } + } else { + cb(); + } + } + function captureError(err) { + if (config.useDeprecatedSynchronousErrorHandling && context) { + context.errorThrown = true; + context.error = err; + } + } + + // node_modules/rxjs/dist/esm5/internal/Subscriber.js + var Subscriber = (function(_super) { + __extends(Subscriber2, _super); + function Subscriber2(destination) { + var _this = _super.call(this) || this; + _this.isStopped = false; + if (destination) { + _this.destination = destination; + if (isSubscription(destination)) { + destination.add(_this); + } + } else { + _this.destination = EMPTY_OBSERVER; + } + return _this; + } + Subscriber2.create = function(next, error, complete) { + return new SafeSubscriber(next, error, complete); + }; + Subscriber2.prototype.next = function(value) { + if (this.isStopped) { + handleStoppedNotification(nextNotification(value), this); + } else { + this._next(value); + } + }; + Subscriber2.prototype.error = function(err) { + if (this.isStopped) { + handleStoppedNotification(errorNotification(err), this); + } else { + this.isStopped = true; + this._error(err); + } + }; + Subscriber2.prototype.complete = function() { + if (this.isStopped) { + handleStoppedNotification(COMPLETE_NOTIFICATION, this); + } else { + this.isStopped = true; + this._complete(); + } + }; + Subscriber2.prototype.unsubscribe = function() { + if (!this.closed) { + this.isStopped = true; + _super.prototype.unsubscribe.call(this); + this.destination = null; + } + }; + Subscriber2.prototype._next = function(value) { + this.destination.next(value); + }; + Subscriber2.prototype._error = function(err) { + try { + this.destination.error(err); + } finally { + this.unsubscribe(); + } + }; + Subscriber2.prototype._complete = function() { + try { + this.destination.complete(); + } finally { + this.unsubscribe(); + } + }; + return Subscriber2; + })(Subscription); + var _bind = Function.prototype.bind; + function bind(fn3, thisArg) { + return _bind.call(fn3, thisArg); + } + var ConsumerObserver = (function() { + function ConsumerObserver2(partialObserver) { + this.partialObserver = partialObserver; + } + ConsumerObserver2.prototype.next = function(value) { + var partialObserver = this.partialObserver; + if (partialObserver.next) { + try { + partialObserver.next(value); + } catch (error) { + handleUnhandledError(error); + } + } + }; + ConsumerObserver2.prototype.error = function(err) { + var partialObserver = this.partialObserver; + if (partialObserver.error) { + try { + partialObserver.error(err); + } catch (error) { + handleUnhandledError(error); + } + } else { + handleUnhandledError(err); + } + }; + ConsumerObserver2.prototype.complete = function() { + var partialObserver = this.partialObserver; + if (partialObserver.complete) { + try { + partialObserver.complete(); + } catch (error) { + handleUnhandledError(error); + } + } + }; + return ConsumerObserver2; + })(); + var SafeSubscriber = (function(_super) { + __extends(SafeSubscriber2, _super); + function SafeSubscriber2(observerOrNext, error, complete) { + var _this = _super.call(this) || this; + var partialObserver; + if (isFunction2(observerOrNext) || !observerOrNext) { + partialObserver = { + next: observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : void 0, + error: error !== null && error !== void 0 ? error : void 0, + complete: complete !== null && complete !== void 0 ? complete : void 0 + }; + } else { + var context_1; + if (_this && config.useDeprecatedNextContext) { + context_1 = Object.create(observerOrNext); + context_1.unsubscribe = function() { + return _this.unsubscribe(); + }; + partialObserver = { + next: observerOrNext.next && bind(observerOrNext.next, context_1), + error: observerOrNext.error && bind(observerOrNext.error, context_1), + complete: observerOrNext.complete && bind(observerOrNext.complete, context_1) + }; + } else { + partialObserver = observerOrNext; + } + } + _this.destination = new ConsumerObserver(partialObserver); + return _this; + } + return SafeSubscriber2; + })(Subscriber); + function handleUnhandledError(error) { + if (config.useDeprecatedSynchronousErrorHandling) { + captureError(error); + } else { + reportUnhandledError(error); + } + } + function defaultErrorHandler(err) { + throw err; + } + function handleStoppedNotification(notification, subscriber) { + var onStoppedNotification = config.onStoppedNotification; + onStoppedNotification && timeoutProvider.setTimeout(function() { + return onStoppedNotification(notification, subscriber); + }); + } + var EMPTY_OBSERVER = { + closed: true, + next: noop, + error: defaultErrorHandler, + complete: noop + }; + + // node_modules/rxjs/dist/esm5/internal/symbol/observable.js + var observable = (function() { + return typeof Symbol === "function" && Symbol.observable || "@@observable"; + })(); + + // node_modules/rxjs/dist/esm5/internal/util/identity.js + function identity2(x2) { + return x2; + } + + // node_modules/rxjs/dist/esm5/internal/util/pipe.js + function pipeFromArray(fns) { + if (fns.length === 0) { + return identity2; + } + if (fns.length === 1) { + return fns[0]; + } + return function piped(input) { + return fns.reduce(function(prev, fn3) { + return fn3(prev); + }, input); + }; + } + + // node_modules/rxjs/dist/esm5/internal/Observable.js + var Observable = (function() { + function Observable2(subscribe) { + if (subscribe) { + this._subscribe = subscribe; + } + } + Observable2.prototype.lift = function(operator) { + var observable2 = new Observable2(); + observable2.source = this; + observable2.operator = operator; + return observable2; + }; + Observable2.prototype.subscribe = function(observerOrNext, error, complete) { + var _this = this; + var subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete); + errorContext(function() { + var _a4 = _this, operator = _a4.operator, source = _a4.source; + subscriber.add(operator ? operator.call(subscriber, source) : source ? _this._subscribe(subscriber) : _this._trySubscribe(subscriber)); + }); + return subscriber; + }; + Observable2.prototype._trySubscribe = function(sink) { + try { + return this._subscribe(sink); + } catch (err) { + sink.error(err); + } + }; + Observable2.prototype.forEach = function(next, promiseCtor) { + var _this = this; + promiseCtor = getPromiseCtor(promiseCtor); + return new promiseCtor(function(resolve, reject) { + var subscriber = new SafeSubscriber({ + next: function(value) { + try { + next(value); + } catch (err) { + reject(err); + subscriber.unsubscribe(); + } + }, + error: reject, + complete: resolve + }); + _this.subscribe(subscriber); + }); + }; + Observable2.prototype._subscribe = function(subscriber) { + var _a4; + return (_a4 = this.source) === null || _a4 === void 0 ? void 0 : _a4.subscribe(subscriber); + }; + Observable2.prototype[observable] = function() { + return this; + }; + Observable2.prototype.pipe = function() { + var operations = []; + for (var _i5 = 0; _i5 < arguments.length; _i5++) { + operations[_i5] = arguments[_i5]; + } + return pipeFromArray(operations)(this); + }; + Observable2.prototype.toPromise = function(promiseCtor) { + var _this = this; + promiseCtor = getPromiseCtor(promiseCtor); + return new promiseCtor(function(resolve, reject) { + var value; + _this.subscribe(function(x2) { + return value = x2; + }, function(err) { + return reject(err); + }, function() { + return resolve(value); + }); + }); + }; + Observable2.create = function(subscribe) { + return new Observable2(subscribe); + }; + return Observable2; + })(); + function getPromiseCtor(promiseCtor) { + var _a4; + return (_a4 = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a4 !== void 0 ? _a4 : Promise; + } + function isObserver(value) { + return value && isFunction2(value.next) && isFunction2(value.error) && isFunction2(value.complete); + } + function isSubscriber(value) { + return value && value instanceof Subscriber || isObserver(value) && isSubscription(value); + } + + // node_modules/rxjs/dist/esm5/internal/util/lift.js + function hasLift(source) { + return isFunction2(source === null || source === void 0 ? void 0 : source.lift); + } + function operate(init) { + return function(source) { + if (hasLift(source)) { + return source.lift(function(liftedSource) { + try { + return init(liftedSource, this); + } catch (err) { + this.error(err); + } + }); + } + throw new TypeError("Unable to lift unknown Observable type"); + }; + } + + // node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js + function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) { + return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize); + } + var OperatorSubscriber = (function(_super) { + __extends(OperatorSubscriber2, _super); + function OperatorSubscriber2(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) { + var _this = _super.call(this, destination) || this; + _this.onFinalize = onFinalize; + _this.shouldUnsubscribe = shouldUnsubscribe; + _this._next = onNext ? function(value) { + try { + onNext(value); + } catch (err) { + destination.error(err); + } + } : _super.prototype._next; + _this._error = onError ? function(err) { + try { + onError(err); + } catch (err2) { + destination.error(err2); + } finally { + this.unsubscribe(); + } + } : _super.prototype._error; + _this._complete = onComplete ? function() { + try { + onComplete(); + } catch (err) { + destination.error(err); + } finally { + this.unsubscribe(); + } + } : _super.prototype._complete; + return _this; + } + OperatorSubscriber2.prototype.unsubscribe = function() { + var _a4; + if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) { + var closed_1 = this.closed; + _super.prototype.unsubscribe.call(this); + !closed_1 && ((_a4 = this.onFinalize) === null || _a4 === void 0 ? void 0 : _a4.call(this)); + } + }; + return OperatorSubscriber2; + })(Subscriber); + + // node_modules/rxjs/dist/esm5/internal/util/ObjectUnsubscribedError.js + var ObjectUnsubscribedError = createErrorClass(function(_super) { + return function ObjectUnsubscribedErrorImpl() { + _super(this); + this.name = "ObjectUnsubscribedError"; + this.message = "object unsubscribed"; + }; + }); + + // node_modules/rxjs/dist/esm5/internal/Subject.js + var Subject = (function(_super) { + __extends(Subject2, _super); + function Subject2() { + var _this = _super.call(this) || this; + _this.closed = false; + _this.currentObservers = null; + _this.observers = []; + _this.isStopped = false; + _this.hasError = false; + _this.thrownError = null; + return _this; + } + Subject2.prototype.lift = function(operator) { + var subject = new AnonymousSubject(this, this); + subject.operator = operator; + return subject; + }; + Subject2.prototype._throwIfClosed = function() { + if (this.closed) { + throw new ObjectUnsubscribedError(); + } + }; + Subject2.prototype.next = function(value) { + var _this = this; + errorContext(function() { + var e_1, _a4; + _this._throwIfClosed(); + if (!_this.isStopped) { + if (!_this.currentObservers) { + _this.currentObservers = Array.from(_this.observers); + } + try { + for (var _b = __values(_this.currentObservers), _c4 = _b.next(); !_c4.done; _c4 = _b.next()) { + var observer = _c4.value; + observer.next(value); + } + } catch (e_1_1) { + e_1 = { error: e_1_1 }; + } finally { + try { + if (_c4 && !_c4.done && (_a4 = _b.return)) _a4.call(_b); + } finally { + if (e_1) throw e_1.error; + } + } + } + }); + }; + Subject2.prototype.error = function(err) { + var _this = this; + errorContext(function() { + _this._throwIfClosed(); + if (!_this.isStopped) { + _this.hasError = _this.isStopped = true; + _this.thrownError = err; + var observers = _this.observers; + while (observers.length) { + observers.shift().error(err); + } + } + }); + }; + Subject2.prototype.complete = function() { + var _this = this; + errorContext(function() { + _this._throwIfClosed(); + if (!_this.isStopped) { + _this.isStopped = true; + var observers = _this.observers; + while (observers.length) { + observers.shift().complete(); + } + } + }); + }; + Subject2.prototype.unsubscribe = function() { + this.isStopped = this.closed = true; + this.observers = this.currentObservers = null; + }; + Object.defineProperty(Subject2.prototype, "observed", { + get: function() { + var _a4; + return ((_a4 = this.observers) === null || _a4 === void 0 ? void 0 : _a4.length) > 0; + }, + enumerable: false, + configurable: true + }); + Subject2.prototype._trySubscribe = function(subscriber) { + this._throwIfClosed(); + return _super.prototype._trySubscribe.call(this, subscriber); + }; + Subject2.prototype._subscribe = function(subscriber) { + this._throwIfClosed(); + this._checkFinalizedStatuses(subscriber); + return this._innerSubscribe(subscriber); + }; + Subject2.prototype._innerSubscribe = function(subscriber) { + var _this = this; + var _a4 = this, hasError = _a4.hasError, isStopped = _a4.isStopped, observers = _a4.observers; + if (hasError || isStopped) { + return EMPTY_SUBSCRIPTION; + } + this.currentObservers = null; + observers.push(subscriber); + return new Subscription(function() { + _this.currentObservers = null; + arrRemove(observers, subscriber); + }); + }; + Subject2.prototype._checkFinalizedStatuses = function(subscriber) { + var _a4 = this, hasError = _a4.hasError, thrownError = _a4.thrownError, isStopped = _a4.isStopped; + if (hasError) { + subscriber.error(thrownError); + } else if (isStopped) { + subscriber.complete(); + } + }; + Subject2.prototype.asObservable = function() { + var observable2 = new Observable(); + observable2.source = this; + return observable2; + }; + Subject2.create = function(destination, source) { + return new AnonymousSubject(destination, source); + }; + return Subject2; + })(Observable); + var AnonymousSubject = (function(_super) { + __extends(AnonymousSubject2, _super); + function AnonymousSubject2(destination, source) { + var _this = _super.call(this) || this; + _this.destination = destination; + _this.source = source; + return _this; + } + AnonymousSubject2.prototype.next = function(value) { + var _a4, _b; + (_b = (_a4 = this.destination) === null || _a4 === void 0 ? void 0 : _a4.next) === null || _b === void 0 ? void 0 : _b.call(_a4, value); + }; + AnonymousSubject2.prototype.error = function(err) { + var _a4, _b; + (_b = (_a4 = this.destination) === null || _a4 === void 0 ? void 0 : _a4.error) === null || _b === void 0 ? void 0 : _b.call(_a4, err); + }; + AnonymousSubject2.prototype.complete = function() { + var _a4, _b; + (_b = (_a4 = this.destination) === null || _a4 === void 0 ? void 0 : _a4.complete) === null || _b === void 0 ? void 0 : _b.call(_a4); + }; + AnonymousSubject2.prototype._subscribe = function(subscriber) { + var _a4, _b; + return (_b = (_a4 = this.source) === null || _a4 === void 0 ? void 0 : _a4.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION; + }; + return AnonymousSubject2; + })(Subject); + + // node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js + var BehaviorSubject = (function(_super) { + __extends(BehaviorSubject2, _super); + function BehaviorSubject2(_value) { + var _this = _super.call(this) || this; + _this._value = _value; + return _this; + } + Object.defineProperty(BehaviorSubject2.prototype, "value", { + get: function() { + return this.getValue(); + }, + enumerable: false, + configurable: true + }); + BehaviorSubject2.prototype._subscribe = function(subscriber) { + var subscription = _super.prototype._subscribe.call(this, subscriber); + !subscription.closed && subscriber.next(this._value); + return subscription; + }; + BehaviorSubject2.prototype.getValue = function() { + var _a4 = this, hasError = _a4.hasError, thrownError = _a4.thrownError, _value = _a4._value; + if (hasError) { + throw thrownError; + } + this._throwIfClosed(); + return _value; + }; + BehaviorSubject2.prototype.next = function(value) { + _super.prototype.next.call(this, this._value = value); + }; + return BehaviorSubject2; + })(Subject); + + // node_modules/rxjs/dist/esm5/internal/scheduler/dateTimestampProvider.js + var dateTimestampProvider = { + now: function() { + return (dateTimestampProvider.delegate || Date).now(); + }, + delegate: void 0 + }; + + // node_modules/rxjs/dist/esm5/internal/ReplaySubject.js + var ReplaySubject = (function(_super) { + __extends(ReplaySubject2, _super); + function ReplaySubject2(_bufferSize, _windowTime, _timestampProvider) { + if (_bufferSize === void 0) { + _bufferSize = Infinity; + } + if (_windowTime === void 0) { + _windowTime = Infinity; + } + if (_timestampProvider === void 0) { + _timestampProvider = dateTimestampProvider; + } + var _this = _super.call(this) || this; + _this._bufferSize = _bufferSize; + _this._windowTime = _windowTime; + _this._timestampProvider = _timestampProvider; + _this._buffer = []; + _this._infiniteTimeWindow = true; + _this._infiniteTimeWindow = _windowTime === Infinity; + _this._bufferSize = Math.max(1, _bufferSize); + _this._windowTime = Math.max(1, _windowTime); + return _this; + } + ReplaySubject2.prototype.next = function(value) { + var _a4 = this, isStopped = _a4.isStopped, _buffer = _a4._buffer, _infiniteTimeWindow = _a4._infiniteTimeWindow, _timestampProvider = _a4._timestampProvider, _windowTime = _a4._windowTime; + if (!isStopped) { + _buffer.push(value); + !_infiniteTimeWindow && _buffer.push(_timestampProvider.now() + _windowTime); + } + this._trimBuffer(); + _super.prototype.next.call(this, value); + }; + ReplaySubject2.prototype._subscribe = function(subscriber) { + this._throwIfClosed(); + this._trimBuffer(); + var subscription = this._innerSubscribe(subscriber); + var _a4 = this, _infiniteTimeWindow = _a4._infiniteTimeWindow, _buffer = _a4._buffer; + var copy = _buffer.slice(); + for (var i = 0; i < copy.length && !subscriber.closed; i += _infiniteTimeWindow ? 1 : 2) { + subscriber.next(copy[i]); + } + this._checkFinalizedStatuses(subscriber); + return subscription; + }; + ReplaySubject2.prototype._trimBuffer = function() { + var _a4 = this, _bufferSize = _a4._bufferSize, _timestampProvider = _a4._timestampProvider, _buffer = _a4._buffer, _infiniteTimeWindow = _a4._infiniteTimeWindow; + var adjustedBufferSize = (_infiniteTimeWindow ? 1 : 2) * _bufferSize; + _bufferSize < Infinity && adjustedBufferSize < _buffer.length && _buffer.splice(0, _buffer.length - adjustedBufferSize); + if (!_infiniteTimeWindow) { + var now = _timestampProvider.now(); + var last2 = 0; + for (var i = 1; i < _buffer.length && _buffer[i] <= now; i += 2) { + last2 = i; + } + last2 && _buffer.splice(0, last2 + 1); + } + }; + return ReplaySubject2; + })(Subject); + + // node_modules/rxjs/dist/esm5/internal/observable/empty.js + var EMPTY = new Observable(function(subscriber) { + return subscriber.complete(); + }); + + // node_modules/rxjs/dist/esm5/internal/util/isScheduler.js + function isScheduler(value) { + return value && isFunction2(value.schedule); + } + + // node_modules/rxjs/dist/esm5/internal/util/args.js + function last(arr) { + return arr[arr.length - 1]; + } + function popResultSelector(args) { + return isFunction2(last(args)) ? args.pop() : void 0; + } + function popScheduler(args) { + return isScheduler(last(args)) ? args.pop() : void 0; + } + function popNumber(args, defaultValue) { + return typeof last(args) === "number" ? args.pop() : defaultValue; + } + + // node_modules/rxjs/dist/esm5/internal/util/isArrayLike.js + var isArrayLike2 = (function(x2) { + return x2 && typeof x2.length === "number" && typeof x2 !== "function"; + }); + + // node_modules/rxjs/dist/esm5/internal/util/isPromise.js + function isPromise(value) { + return isFunction2(value === null || value === void 0 ? void 0 : value.then); + } + + // node_modules/rxjs/dist/esm5/internal/util/isInteropObservable.js + function isInteropObservable(input) { + return isFunction2(input[observable]); + } + + // node_modules/rxjs/dist/esm5/internal/util/isAsyncIterable.js + function isAsyncIterable(obj) { + return Symbol.asyncIterator && isFunction2(obj === null || obj === void 0 ? void 0 : obj[Symbol.asyncIterator]); + } + + // node_modules/rxjs/dist/esm5/internal/util/throwUnobservableError.js + function createInvalidObservableTypeError(input) { + return new TypeError("You provided " + (input !== null && typeof input === "object" ? "an invalid object" : "'" + input + "'") + " where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable."); + } + + // node_modules/rxjs/dist/esm5/internal/symbol/iterator.js + function getSymbolIterator() { + if (typeof Symbol !== "function" || !Symbol.iterator) { + return "@@iterator"; + } + return Symbol.iterator; + } + var iterator = getSymbolIterator(); + + // node_modules/rxjs/dist/esm5/internal/util/isIterable.js + function isIterable(input) { + return isFunction2(input === null || input === void 0 ? void 0 : input[iterator]); + } + + // node_modules/rxjs/dist/esm5/internal/util/isReadableStreamLike.js + function readableStreamLikeToAsyncGenerator(readableStream) { + return __asyncGenerator(this, arguments, function readableStreamLikeToAsyncGenerator_1() { + var reader, _a4, value, done; + return __generator(this, function(_b) { + switch (_b.label) { + case 0: + reader = readableStream.getReader(); + _b.label = 1; + case 1: + _b.trys.push([1, , 9, 10]); + _b.label = 2; + case 2: + if (false) return [3, 8]; + return [4, __await(reader.read())]; + case 3: + _a4 = _b.sent(), value = _a4.value, done = _a4.done; + if (!done) return [3, 5]; + return [4, __await(void 0)]; + case 4: + return [2, _b.sent()]; + case 5: + return [4, __await(value)]; + case 6: + return [4, _b.sent()]; + case 7: + _b.sent(); + return [3, 2]; + case 8: + return [3, 10]; + case 9: + reader.releaseLock(); + return [7]; + case 10: + return [2]; + } + }); + }); + } + function isReadableStreamLike(obj) { + return isFunction2(obj === null || obj === void 0 ? void 0 : obj.getReader); + } + + // node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js + function innerFrom(input) { + if (input instanceof Observable) { + return input; + } + if (input != null) { + if (isInteropObservable(input)) { + return fromInteropObservable(input); + } + if (isArrayLike2(input)) { + return fromArrayLike(input); + } + if (isPromise(input)) { + return fromPromise(input); + } + if (isAsyncIterable(input)) { + return fromAsyncIterable(input); + } + if (isIterable(input)) { + return fromIterable(input); + } + if (isReadableStreamLike(input)) { + return fromReadableStreamLike(input); + } + } + throw createInvalidObservableTypeError(input); + } + function fromInteropObservable(obj) { + return new Observable(function(subscriber) { + var obs = obj[observable](); + if (isFunction2(obs.subscribe)) { + return obs.subscribe(subscriber); + } + throw new TypeError("Provided object does not correctly implement Symbol.observable"); + }); + } + function fromArrayLike(array) { + return new Observable(function(subscriber) { + for (var i = 0; i < array.length && !subscriber.closed; i++) { + subscriber.next(array[i]); + } + subscriber.complete(); + }); + } + function fromPromise(promise) { + return new Observable(function(subscriber) { + promise.then(function(value) { + if (!subscriber.closed) { + subscriber.next(value); + subscriber.complete(); + } + }, function(err) { + return subscriber.error(err); + }).then(null, reportUnhandledError); + }); + } + function fromIterable(iterable) { + return new Observable(function(subscriber) { + var e_1, _a4; + try { + for (var iterable_1 = __values(iterable), iterable_1_1 = iterable_1.next(); !iterable_1_1.done; iterable_1_1 = iterable_1.next()) { + var value = iterable_1_1.value; + subscriber.next(value); + if (subscriber.closed) { + return; + } + } + } catch (e_1_1) { + e_1 = { error: e_1_1 }; + } finally { + try { + if (iterable_1_1 && !iterable_1_1.done && (_a4 = iterable_1.return)) _a4.call(iterable_1); + } finally { + if (e_1) throw e_1.error; + } + } + subscriber.complete(); + }); + } + function fromAsyncIterable(asyncIterable) { + return new Observable(function(subscriber) { + process2(asyncIterable, subscriber).catch(function(err) { + return subscriber.error(err); + }); + }); + } + function fromReadableStreamLike(readableStream) { + return fromAsyncIterable(readableStreamLikeToAsyncGenerator(readableStream)); + } + function process2(asyncIterable, subscriber) { + var asyncIterable_1, asyncIterable_1_1; + var e_2, _a4; + return __awaiter(this, void 0, void 0, function() { + var value, e_2_1; + return __generator(this, function(_b) { + switch (_b.label) { + case 0: + _b.trys.push([0, 5, 6, 11]); + asyncIterable_1 = __asyncValues(asyncIterable); + _b.label = 1; + case 1: + return [4, asyncIterable_1.next()]; + case 2: + if (!(asyncIterable_1_1 = _b.sent(), !asyncIterable_1_1.done)) return [3, 4]; + value = asyncIterable_1_1.value; + subscriber.next(value); + if (subscriber.closed) { + return [2]; + } + _b.label = 3; + case 3: + return [3, 1]; + case 4: + return [3, 11]; + case 5: + e_2_1 = _b.sent(); + e_2 = { error: e_2_1 }; + return [3, 11]; + case 6: + _b.trys.push([6, , 9, 10]); + if (!(asyncIterable_1_1 && !asyncIterable_1_1.done && (_a4 = asyncIterable_1.return))) return [3, 8]; + return [4, _a4.call(asyncIterable_1)]; + case 7: + _b.sent(); + _b.label = 8; + case 8: + return [3, 10]; + case 9: + if (e_2) throw e_2.error; + return [7]; + case 10: + return [7]; + case 11: + subscriber.complete(); + return [2]; + } + }); + }); + } + + // node_modules/rxjs/dist/esm5/internal/util/executeSchedule.js + function executeSchedule(parentSubscription, scheduler, work, delay, repeat) { + if (delay === void 0) { + delay = 0; + } + if (repeat === void 0) { + repeat = false; + } + var scheduleSubscription = scheduler.schedule(function() { + work(); + if (repeat) { + parentSubscription.add(this.schedule(null, delay)); + } else { + this.unsubscribe(); + } + }, delay); + parentSubscription.add(scheduleSubscription); + if (!repeat) { + return scheduleSubscription; + } + } + + // node_modules/rxjs/dist/esm5/internal/operators/observeOn.js + function observeOn(scheduler, delay) { + if (delay === void 0) { + delay = 0; + } + return operate(function(source, subscriber) { + source.subscribe(createOperatorSubscriber(subscriber, function(value) { + return executeSchedule(subscriber, scheduler, function() { + return subscriber.next(value); + }, delay); + }, function() { + return executeSchedule(subscriber, scheduler, function() { + return subscriber.complete(); + }, delay); + }, function(err) { + return executeSchedule(subscriber, scheduler, function() { + return subscriber.error(err); + }, delay); + })); + }); + } + + // node_modules/rxjs/dist/esm5/internal/operators/subscribeOn.js + function subscribeOn(scheduler, delay) { + if (delay === void 0) { + delay = 0; + } + return operate(function(source, subscriber) { + subscriber.add(scheduler.schedule(function() { + return source.subscribe(subscriber); + }, delay)); + }); + } + + // node_modules/rxjs/dist/esm5/internal/scheduled/scheduleObservable.js + function scheduleObservable(input, scheduler) { + return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler)); + } + + // node_modules/rxjs/dist/esm5/internal/scheduled/schedulePromise.js + function schedulePromise(input, scheduler) { + return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler)); + } + + // node_modules/rxjs/dist/esm5/internal/scheduled/scheduleArray.js + function scheduleArray(input, scheduler) { + return new Observable(function(subscriber) { + var i = 0; + return scheduler.schedule(function() { + if (i === input.length) { + subscriber.complete(); + } else { + subscriber.next(input[i++]); + if (!subscriber.closed) { + this.schedule(); + } + } + }); + }); + } + + // node_modules/rxjs/dist/esm5/internal/scheduled/scheduleIterable.js + function scheduleIterable(input, scheduler) { + return new Observable(function(subscriber) { + var iterator2; + executeSchedule(subscriber, scheduler, function() { + iterator2 = input[iterator](); + executeSchedule(subscriber, scheduler, function() { + var _a4; + var value; + var done; + try { + _a4 = iterator2.next(), value = _a4.value, done = _a4.done; + } catch (err) { + subscriber.error(err); + return; + } + if (done) { + subscriber.complete(); + } else { + subscriber.next(value); + } + }, 0, true); + }); + return function() { + return isFunction2(iterator2 === null || iterator2 === void 0 ? void 0 : iterator2.return) && iterator2.return(); + }; + }); + } + + // node_modules/rxjs/dist/esm5/internal/scheduled/scheduleAsyncIterable.js + function scheduleAsyncIterable(input, scheduler) { + if (!input) { + throw new Error("Iterable cannot be null"); + } + return new Observable(function(subscriber) { + executeSchedule(subscriber, scheduler, function() { + var iterator2 = input[Symbol.asyncIterator](); + executeSchedule(subscriber, scheduler, function() { + iterator2.next().then(function(result) { + if (result.done) { + subscriber.complete(); + } else { + subscriber.next(result.value); + } + }); + }, 0, true); + }); + }); + } + + // node_modules/rxjs/dist/esm5/internal/scheduled/scheduleReadableStreamLike.js + function scheduleReadableStreamLike(input, scheduler) { + return scheduleAsyncIterable(readableStreamLikeToAsyncGenerator(input), scheduler); + } + + // node_modules/rxjs/dist/esm5/internal/scheduled/scheduled.js + function scheduled(input, scheduler) { + if (input != null) { + if (isInteropObservable(input)) { + return scheduleObservable(input, scheduler); + } + if (isArrayLike2(input)) { + return scheduleArray(input, scheduler); + } + if (isPromise(input)) { + return schedulePromise(input, scheduler); + } + if (isAsyncIterable(input)) { + return scheduleAsyncIterable(input, scheduler); + } + if (isIterable(input)) { + return scheduleIterable(input, scheduler); + } + if (isReadableStreamLike(input)) { + return scheduleReadableStreamLike(input, scheduler); + } + } + throw createInvalidObservableTypeError(input); + } + + // node_modules/rxjs/dist/esm5/internal/observable/from.js + function from(input, scheduler) { + return scheduler ? scheduled(input, scheduler) : innerFrom(input); + } + + // node_modules/rxjs/dist/esm5/internal/observable/of.js + function of() { + var args = []; + for (var _i5 = 0; _i5 < arguments.length; _i5++) { + args[_i5] = arguments[_i5]; + } + var scheduler = popScheduler(args); + return from(args, scheduler); + } + + // node_modules/rxjs/dist/esm5/internal/util/isObservable.js + function isObservable(obj) { + return !!obj && (obj instanceof Observable || isFunction2(obj.lift) && isFunction2(obj.subscribe)); + } + + // node_modules/rxjs/dist/esm5/internal/util/EmptyError.js + var EmptyError = createErrorClass(function(_super) { + return function EmptyErrorImpl() { + _super(this); + this.name = "EmptyError"; + this.message = "no elements in sequence"; + }; + }); + + // node_modules/rxjs/dist/esm5/internal/firstValueFrom.js + function firstValueFrom(source, config3) { + var hasConfig = typeof config3 === "object"; + return new Promise(function(resolve, reject) { + var subscriber = new SafeSubscriber({ + next: function(value) { + resolve(value); + subscriber.unsubscribe(); + }, + error: reject, + complete: function() { + if (hasConfig) { + resolve(config3.defaultValue); + } else { + reject(new EmptyError()); + } + } + }); + source.subscribe(subscriber); + }); + } + + // node_modules/rxjs/dist/esm5/internal/operators/map.js + function map(project, thisArg) { + return operate(function(source, subscriber) { + var index = 0; + source.subscribe(createOperatorSubscriber(subscriber, function(value) { + subscriber.next(project.call(thisArg, value, index++)); + })); + }); + } + + // node_modules/rxjs/dist/esm5/internal/util/mapOneOrManyArgs.js + var isArray2 = Array.isArray; + function callOrApply(fn3, args) { + return isArray2(args) ? fn3.apply(void 0, __spreadArray([], __read(args))) : fn3(args); + } + function mapOneOrManyArgs(fn3) { + return map(function(args) { + return callOrApply(fn3, args); + }); + } + + // node_modules/rxjs/dist/esm5/internal/util/argsArgArrayOrObject.js + var isArray3 = Array.isArray; + var getPrototypeOf = Object.getPrototypeOf; + var objectProto12 = Object.prototype; + var getKeys = Object.keys; + function argsArgArrayOrObject(args) { + if (args.length === 1) { + var first_1 = args[0]; + if (isArray3(first_1)) { + return { args: first_1, keys: null }; + } + if (isPOJO(first_1)) { + var keys = getKeys(first_1); + return { + args: keys.map(function(key) { + return first_1[key]; + }), + keys + }; + } + } + return { args, keys: null }; + } + function isPOJO(obj) { + return obj && typeof obj === "object" && getPrototypeOf(obj) === objectProto12; + } + + // node_modules/rxjs/dist/esm5/internal/util/createObject.js + function createObject(keys, values) { + return keys.reduce(function(result, key, i) { + return result[key] = values[i], result; + }, {}); + } + + // node_modules/rxjs/dist/esm5/internal/observable/combineLatest.js + function combineLatest() { + var args = []; + for (var _i5 = 0; _i5 < arguments.length; _i5++) { + args[_i5] = arguments[_i5]; + } + var scheduler = popScheduler(args); + var resultSelector = popResultSelector(args); + var _a4 = argsArgArrayOrObject(args), observables = _a4.args, keys = _a4.keys; + if (observables.length === 0) { + return from([], scheduler); + } + var result = new Observable(combineLatestInit(observables, scheduler, keys ? function(values) { + return createObject(keys, values); + } : identity2)); + return resultSelector ? result.pipe(mapOneOrManyArgs(resultSelector)) : result; + } + function combineLatestInit(observables, scheduler, valueTransform) { + if (valueTransform === void 0) { + valueTransform = identity2; + } + return function(subscriber) { + maybeSchedule(scheduler, function() { + var length = observables.length; + var values = new Array(length); + var active = length; + var remainingFirstValues = length; + var _loop_1 = function(i2) { + maybeSchedule(scheduler, function() { + var source = from(observables[i2], scheduler); + var hasFirstValue = false; + source.subscribe(createOperatorSubscriber(subscriber, function(value) { + values[i2] = value; + if (!hasFirstValue) { + hasFirstValue = true; + remainingFirstValues--; + } + if (!remainingFirstValues) { + subscriber.next(valueTransform(values.slice())); + } + }, function() { + if (!--active) { + subscriber.complete(); + } + })); + }, subscriber); + }; + for (var i = 0; i < length; i++) { + _loop_1(i); + } + }, subscriber); + }; + } + function maybeSchedule(scheduler, execute, subscription) { + if (scheduler) { + executeSchedule(subscription, scheduler, execute); + } else { + execute(); + } + } + + // node_modules/rxjs/dist/esm5/internal/operators/mergeInternals.js + function mergeInternals(source, subscriber, project, concurrent, onBeforeNext, expand, innerSubScheduler, additionalFinalizer) { + var buffer = []; + var active = 0; + var index = 0; + var isComplete = false; + var checkComplete = function() { + if (isComplete && !buffer.length && !active) { + subscriber.complete(); + } + }; + var outerNext = function(value) { + return active < concurrent ? doInnerSub(value) : buffer.push(value); + }; + var doInnerSub = function(value) { + expand && subscriber.next(value); + active++; + var innerComplete = false; + innerFrom(project(value, index++)).subscribe(createOperatorSubscriber(subscriber, function(innerValue) { + onBeforeNext === null || onBeforeNext === void 0 ? void 0 : onBeforeNext(innerValue); + if (expand) { + outerNext(innerValue); + } else { + subscriber.next(innerValue); + } + }, function() { + innerComplete = true; + }, void 0, function() { + if (innerComplete) { + try { + active--; + var _loop_1 = function() { + var bufferedValue = buffer.shift(); + if (innerSubScheduler) { + executeSchedule(subscriber, innerSubScheduler, function() { + return doInnerSub(bufferedValue); + }); + } else { + doInnerSub(bufferedValue); + } + }; + while (buffer.length && active < concurrent) { + _loop_1(); + } + checkComplete(); + } catch (err) { + subscriber.error(err); + } + } + })); + }; + source.subscribe(createOperatorSubscriber(subscriber, outerNext, function() { + isComplete = true; + checkComplete(); + })); + return function() { + additionalFinalizer === null || additionalFinalizer === void 0 ? void 0 : additionalFinalizer(); + }; + } + + // node_modules/rxjs/dist/esm5/internal/operators/mergeMap.js + function mergeMap(project, resultSelector, concurrent) { + if (concurrent === void 0) { + concurrent = Infinity; + } + if (isFunction2(resultSelector)) { + return mergeMap(function(a, i) { + return map(function(b, ii4) { + return resultSelector(a, b, i, ii4); + })(innerFrom(project(a, i))); + }, concurrent); + } else if (typeof resultSelector === "number") { + concurrent = resultSelector; + } + return operate(function(source, subscriber) { + return mergeInternals(source, subscriber, project, concurrent); + }); + } + + // node_modules/rxjs/dist/esm5/internal/operators/mergeAll.js + function mergeAll(concurrent) { + if (concurrent === void 0) { + concurrent = Infinity; + } + return mergeMap(identity2, concurrent); + } + + // node_modules/rxjs/dist/esm5/internal/observable/merge.js + function merge2() { + var args = []; + for (var _i5 = 0; _i5 < arguments.length; _i5++) { + args[_i5] = arguments[_i5]; + } + var scheduler = popScheduler(args); + var concurrent = popNumber(args, Infinity); + var sources = args; + return !sources.length ? EMPTY : sources.length === 1 ? innerFrom(sources[0]) : mergeAll(concurrent)(from(sources, scheduler)); + } + + // node_modules/rxjs/dist/esm5/internal/operators/filter.js + function filter(predicate, thisArg) { + return operate(function(source, subscriber) { + var index = 0; + source.subscribe(createOperatorSubscriber(subscriber, function(value) { + return predicate.call(thisArg, value, index++) && subscriber.next(value); + })); + }); + } + + // node_modules/rxjs/dist/esm5/internal/operators/bufferWhen.js + function bufferWhen(closingSelector) { + return operate(function(source, subscriber) { + var buffer = null; + var closingSubscriber = null; + var openBuffer = function() { + closingSubscriber === null || closingSubscriber === void 0 ? void 0 : closingSubscriber.unsubscribe(); + var b = buffer; + buffer = []; + b && subscriber.next(b); + innerFrom(closingSelector()).subscribe(closingSubscriber = createOperatorSubscriber(subscriber, openBuffer, noop)); + }; + openBuffer(); + source.subscribe(createOperatorSubscriber(subscriber, function(value) { + return buffer === null || buffer === void 0 ? void 0 : buffer.push(value); + }, function() { + buffer && subscriber.next(buffer); + subscriber.complete(); + }, void 0, function() { + return buffer = closingSubscriber = null; + })); + }); + } + + // node_modules/rxjs/dist/esm5/internal/operators/defaultIfEmpty.js + function defaultIfEmpty(defaultValue) { + return operate(function(source, subscriber) { + var hasValue = false; + source.subscribe(createOperatorSubscriber(subscriber, function(value) { + hasValue = true; + subscriber.next(value); + }, function() { + if (!hasValue) { + subscriber.next(defaultValue); + } + subscriber.complete(); + })); + }); + } + + // node_modules/rxjs/dist/esm5/internal/operators/take.js + function take(count) { + return count <= 0 ? function() { + return EMPTY; + } : operate(function(source, subscriber) { + var seen = 0; + source.subscribe(createOperatorSubscriber(subscriber, function(value) { + if (++seen <= count) { + subscriber.next(value); + if (count <= seen) { + subscriber.complete(); + } + } + })); + }); + } + + // node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js + function distinctUntilChanged(comparator, keySelector) { + if (keySelector === void 0) { + keySelector = identity2; + } + comparator = comparator !== null && comparator !== void 0 ? comparator : defaultCompare; + return operate(function(source, subscriber) { + var previousKey; + var first2 = true; + source.subscribe(createOperatorSubscriber(subscriber, function(value) { + var currentKey = keySelector(value); + if (first2 || !comparator(previousKey, currentKey)) { + first2 = false; + previousKey = currentKey; + subscriber.next(value); + } + })); + }); + } + function defaultCompare(a, b) { + return a === b; + } + + // node_modules/rxjs/dist/esm5/internal/operators/throwIfEmpty.js + function throwIfEmpty(errorFactory) { + if (errorFactory === void 0) { + errorFactory = defaultErrorFactory; + } + return operate(function(source, subscriber) { + var hasValue = false; + source.subscribe(createOperatorSubscriber(subscriber, function(value) { + hasValue = true; + subscriber.next(value); + }, function() { + return hasValue ? subscriber.complete() : subscriber.error(errorFactory()); + })); + }); + } + function defaultErrorFactory() { + return new EmptyError(); + } + + // node_modules/rxjs/dist/esm5/internal/operators/first.js + function first(predicate, defaultValue) { + var hasDefaultValue = arguments.length >= 2; + return function(source) { + return source.pipe(predicate ? filter(function(v, i) { + return predicate(v, i, source); + }) : identity2, take(1), hasDefaultValue ? defaultIfEmpty(defaultValue) : throwIfEmpty(function() { + return new EmptyError(); + })); + }; + } + + // node_modules/rxjs/dist/esm5/internal/operators/share.js + function share(options) { + if (options === void 0) { + options = {}; + } + var _a4 = options.connector, connector = _a4 === void 0 ? function() { + return new Subject(); + } : _a4, _b = options.resetOnError, resetOnError = _b === void 0 ? true : _b, _c4 = options.resetOnComplete, resetOnComplete = _c4 === void 0 ? true : _c4, _d3 = options.resetOnRefCountZero, resetOnRefCountZero = _d3 === void 0 ? true : _d3; + return function(wrapperSource) { + var connection; + var resetConnection; + var subject; + var refCount = 0; + var hasCompleted = false; + var hasErrored = false; + var cancelReset = function() { + resetConnection === null || resetConnection === void 0 ? void 0 : resetConnection.unsubscribe(); + resetConnection = void 0; + }; + var reset = function() { + cancelReset(); + connection = subject = void 0; + hasCompleted = hasErrored = false; + }; + var resetAndUnsubscribe = function() { + var conn = connection; + reset(); + conn === null || conn === void 0 ? void 0 : conn.unsubscribe(); + }; + return operate(function(source, subscriber) { + refCount++; + if (!hasErrored && !hasCompleted) { + cancelReset(); + } + var dest = subject = subject !== null && subject !== void 0 ? subject : connector(); + subscriber.add(function() { + refCount--; + if (refCount === 0 && !hasErrored && !hasCompleted) { + resetConnection = handleReset(resetAndUnsubscribe, resetOnRefCountZero); + } + }); + dest.subscribe(subscriber); + if (!connection && refCount > 0) { + connection = new SafeSubscriber({ + next: function(value) { + return dest.next(value); + }, + error: function(err) { + hasErrored = true; + cancelReset(); + resetConnection = handleReset(reset, resetOnError, err); + dest.error(err); + }, + complete: function() { + hasCompleted = true; + cancelReset(); + resetConnection = handleReset(reset, resetOnComplete); + dest.complete(); + } + }); + innerFrom(source).subscribe(connection); + } + })(wrapperSource); + }; + } + function handleReset(reset, on4) { + var args = []; + for (var _i5 = 2; _i5 < arguments.length; _i5++) { + args[_i5 - 2] = arguments[_i5]; + } + if (on4 === true) { + reset(); + return; + } + if (on4 === false) { + return; + } + var onSubscriber = new SafeSubscriber({ + next: function() { + onSubscriber.unsubscribe(); + reset(); + } + }); + return innerFrom(on4.apply(void 0, __spreadArray([], __read(args)))).subscribe(onSubscriber); + } + + // node_modules/rxjs/dist/esm5/internal/operators/shareReplay.js + function shareReplay(configOrBufferSize, windowTime, scheduler) { + var _a4, _b, _c4; + var bufferSize; + var refCount = false; + if (configOrBufferSize && typeof configOrBufferSize === "object") { + _a4 = configOrBufferSize.bufferSize, bufferSize = _a4 === void 0 ? Infinity : _a4, _b = configOrBufferSize.windowTime, windowTime = _b === void 0 ? Infinity : _b, _c4 = configOrBufferSize.refCount, refCount = _c4 === void 0 ? false : _c4, scheduler = configOrBufferSize.scheduler; + } else { + bufferSize = configOrBufferSize !== null && configOrBufferSize !== void 0 ? configOrBufferSize : Infinity; + } + return share({ + connector: function() { + return new ReplaySubject(bufferSize, windowTime, scheduler); + }, + resetOnError: true, + resetOnComplete: false, + resetOnRefCountZero: refCount + }); + } + + // node_modules/rxjs/dist/esm5/internal/operators/skip.js + function skip(count) { + return filter(function(_2, index) { + return count <= index; + }); + } + + // node_modules/rxjs/dist/esm5/internal/operators/switchMap.js + function switchMap(project, resultSelector) { + return operate(function(source, subscriber) { + var innerSubscriber = null; + var index = 0; + var isComplete = false; + var checkComplete = function() { + return isComplete && !innerSubscriber && subscriber.complete(); + }; + source.subscribe(createOperatorSubscriber(subscriber, function(value) { + innerSubscriber === null || innerSubscriber === void 0 ? void 0 : innerSubscriber.unsubscribe(); + var innerIndex = 0; + var outerIndex = index++; + innerFrom(project(value, outerIndex)).subscribe(innerSubscriber = createOperatorSubscriber(subscriber, function(innerValue) { + return subscriber.next(resultSelector ? resultSelector(value, innerValue, outerIndex, innerIndex++) : innerValue); + }, function() { + innerSubscriber = null; + checkComplete(); + })); + }, function() { + isComplete = true; + checkComplete(); + })); + }); + } + + // node_modules/rxjs/dist/esm5/internal/operators/takeUntil.js + function takeUntil(notifier) { + return operate(function(source, subscriber) { + innerFrom(notifier).subscribe(createOperatorSubscriber(subscriber, function() { + return subscriber.complete(); + }, noop)); + !subscriber.closed && source.subscribe(subscriber); + }); + } + + // node_modules/@univerjs/protocol/lib/es/index.js + var O = /* @__PURE__ */ ((_2) => (_2[_2.UNIVER_UNKNOWN = 0] = "UNIVER_UNKNOWN", _2[_2.UNIVER_DOC = 1] = "UNIVER_DOC", _2[_2.UNIVER_SHEET = 2] = "UNIVER_SHEET", _2[_2.UNIVER_SLIDE = 3] = "UNIVER_SLIDE", _2[_2.UNIVER_PROJECT = 4] = "UNIVER_PROJECT", _2[_2.UNRECOGNIZED = -1] = "UNRECOGNIZED", _2))(O || {}); + var R = /* @__PURE__ */ ((_2) => (_2[_2.View = 0] = "View", _2[_2.Edit = 1] = "Edit", _2[_2.ManageCollaborator = 2] = "ManageCollaborator", _2[_2.Print = 3] = "Print", _2[_2.Duplicate = 4] = "Duplicate", _2[_2.Comment = 5] = "Comment", _2[_2.Copy = 6] = "Copy", _2[_2.Share = 7] = "Share", _2[_2.Export = 8] = "Export", _2[_2.MoveWorksheet = 9] = "MoveWorksheet", _2[_2.DeleteWorksheet = 10] = "DeleteWorksheet", _2[_2.HideWorksheet = 11] = "HideWorksheet", _2[_2.RenameWorksheet = 12] = "RenameWorksheet", _2[_2.CreateWorksheet = 13] = "CreateWorksheet", _2[_2.SetWorksheetStyle = 14] = "SetWorksheetStyle", _2[_2.EditWorksheetCell = 15] = "EditWorksheetCell", _2[_2.InsertHyperlink = 16] = "InsertHyperlink", _2[_2.Sort = 17] = "Sort", _2[_2.Filter = 18] = "Filter", _2[_2.PivotTable = 19] = "PivotTable", _2[_2.FloatImg = 20] = "FloatImg", _2[_2.History = 21] = "History", _2[_2.RwHgtClWdt = 22] = "RwHgtClWdt", _2[_2.ViemRwHgtClWdt = 23] = "ViemRwHgtClWdt", _2[_2.ViewFilter = 24] = "ViewFilter", _2[_2.MoveSheet = 25] = "MoveSheet", _2[_2.DeleteSheet = 26] = "DeleteSheet", _2[_2.HideSheet = 27] = "HideSheet", _2[_2.CopySheet = 28] = "CopySheet", _2[_2.RenameSheet = 29] = "RenameSheet", _2[_2.CreateSheet = 30] = "CreateSheet", _2[_2.SelectProtectedCells = 31] = "SelectProtectedCells", _2[_2.SelectUnProtectedCells = 32] = "SelectUnProtectedCells", _2[_2.SetCellStyle = 33] = "SetCellStyle", _2[_2.SetCellValue = 34] = "SetCellValue", _2[_2.SetRowStyle = 35] = "SetRowStyle", _2[_2.SetColumnStyle = 36] = "SetColumnStyle", _2[_2.InsertRow = 37] = "InsertRow", _2[_2.InsertColumn = 38] = "InsertColumn", _2[_2.DeleteRow = 39] = "DeleteRow", _2[_2.DeleteColumn = 40] = "DeleteColumn", _2[_2.EditExtraObject = 41] = "EditExtraObject", _2[_2.Delete = 42] = "Delete", _2[_2.RecoverHistory = 43] = "RecoverHistory", _2[_2.ViewHistory = 44] = "ViewHistory", _2[_2.CreatePermissionObject = 45] = "CreatePermissionObject", _2[_2.UNRECOGNIZED = -1] = "UNRECOGNIZED", _2))(R || {}); + var T = /* @__PURE__ */ ((_2) => (_2[_2.Reader = 0] = "Reader", _2[_2.Editor = 1] = "Editor", _2[_2.Owner = 2] = "Owner", _2[_2.UNRECOGNIZED = -1] = "UNRECOGNIZED", _2))(T || {}); + var S = /* @__PURE__ */ ((_2) => (_2[_2.Unkonwn = 0] = "Unkonwn", _2[_2.Workbook = 1] = "Workbook", _2[_2.Worksheet = 2] = "Worksheet", _2[_2.SelectRange = 3] = "SelectRange", _2[_2.Document = 4] = "Document", _2[_2.Slide = 5] = "Slide", _2[_2.UNRECOGNIZED = -1] = "UNRECOGNIZED", _2))(S || {}); + var P = /* @__PURE__ */ ((_2) => (_2[_2.SomeCollaborator = 0] = "SomeCollaborator", _2[_2.AllCollaborator = 1] = "AllCollaborator", _2[_2.OneSelf = 2] = "OneSelf", _2[_2.UNRECOGNIZED = -1] = "UNRECOGNIZED", _2))(P || {}); + + // node_modules/nanoid/url-alphabet/index.js + var urlAlphabet = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"; + + // node_modules/nanoid/index.browser.js + var random = (bytes) => crypto.getRandomValues(new Uint8Array(bytes)); + var customRandom = (alphabet, defaultSize, getRandom) => { + let mask = (2 << Math.log2(alphabet.length - 1)) - 1; + let step = -~(1.6 * mask * defaultSize / alphabet.length); + return (size = defaultSize) => { + let id4 = ""; + while (true) { + let bytes = getRandom(step); + let j4 = step | 0; + while (j4--) { + id4 += alphabet[bytes[j4] & mask] || ""; + if (id4.length >= size) return id4; + } + } + }; + }; + var customAlphabet = (alphabet, size = 21) => customRandom(alphabet, size | 0, random); + var nanoid = (size = 21) => { + let id4 = ""; + let bytes = crypto.getRandomValues(new Uint8Array(size |= 0)); + while (size--) { + id4 += urlAlphabet[bytes[size] & 63]; + } + return id4; + }; + + // node_modules/@univerjs/core/lib/es/index.js + var S2 = __toESM(require_dist2()); + + // node_modules/numfmt/lib/index.js + var lib_exports = {}; + __export(lib_exports, { + addLocale: () => addLocale, + dateFromSerial: () => dateFromSerial, + dateToSerial: () => dateToSerial, + dec2frac: () => dec2frac, + format: () => format, + formatColor: () => formatColor2, + getFormatDateInfo: () => getFormatDateInfo, + getFormatInfo: () => getFormatInfo, + getLocale: () => getLocale, + isDateFormat: () => isDateFormat, + isPercentFormat: () => isPercentFormat, + isTextFormat: () => isTextFormat, + isValidFormat: () => isValidFormat, + parseBool: () => parseBool, + parseDate: () => parseDate, + parseLocale: () => parseLocale, + parseNumber: () => parseNumber, + parseTime: () => parseTime, + parseValue: () => parseValue, + round: () => round, + tokenTypes: () => tokenTypes, + tokenize: () => tokenize + }); + + // node_modules/numfmt/lib/constants.js + var u_YEAR = 2; + var u_MONTH = 2 ** 2; + var u_DAY = 2 ** 3; + var u_HOUR = 2 ** 4; + var u_MIN = 2 ** 5; + var u_SEC = 2 ** 6; + var u_DSEC = 2 ** 7; + var u_CSEC = 2 ** 8; + var u_MSEC = 2 ** 9; + var MIN_S_DATE = 0; + var MAX_S_DATE = 2958466; + var MIN_L_DATE = -694324; + var MAX_L_DATE = 35830291; + var EPOCH_1904 = -1; + var EPOCH_1900 = 1; + var EPOCH_1317 = 6; + var TOKEN_GENERAL = "general"; + var TOKEN_HASH = "hash"; + var TOKEN_ZERO = "zero"; + var TOKEN_QMARK = "qmark"; + var TOKEN_SLASH = "slash"; + var TOKEN_GROUP = "group"; + var TOKEN_SCALE = "scale"; + var TOKEN_COMMA = "comma"; + var TOKEN_BREAK = "break"; + var TOKEN_TEXT = "text"; + var TOKEN_PLUS = "plus"; + var TOKEN_MINUS = "minus"; + var TOKEN_POINT = "point"; + var TOKEN_SPACE = "space"; + var TOKEN_PERCENT = "percent"; + var TOKEN_DIGIT = "digit"; + var TOKEN_CALENDAR = "calendar"; + var TOKEN_ERROR = "error"; + var TOKEN_DATETIME = "datetime"; + var TOKEN_DURATION = "duration"; + var TOKEN_CONDITION = "condition"; + var TOKEN_DBNUM = "dbnum"; + var TOKEN_NATNUM = "natnum"; + var TOKEN_LOCALE = "locale"; + var TOKEN_COLOR = "color"; + var TOKEN_MODIFIER = "modifier"; + var TOKEN_AMPM = "ampm"; + var TOKEN_ESCAPED = "escaped"; + var TOKEN_STRING = "string"; + var TOKEN_SKIP = "skip"; + var TOKEN_EXP = "exp"; + var TOKEN_FILL = "fill"; + var TOKEN_PAREN = "paren"; + var TOKEN_CHAR = "char"; + var indexColors = [ + "#000000", + "#FFFFFF", + "#FF0000", + "#00FF00", + "#0000FF", + "#FFFF00", + "#FF00FF", + "#00FFFF", + "#800000", + "#008000", + "#000080", + "#808000", + "#800080", + "#008080", + "#C0C0C0", + "#808080", + "#9999FF", + "#993366", + "#FFFFCC", + "#CCFFFF", + "#660066", + "#FF8080", + "#0066CC", + "#CCCCFF", + "#000080", + "#FF00FF", + "#FFFF00", + "#00FFFF", + "#800080", + "#800000", + "#008080", + "#0000FF", + "#00CCFF", + "#CCFFFF", + "#CCFFCC", + "#FFFF99", + "#99CCFF", + "#FF99CC", + "#CC99FF", + "#FFCC99", + "#3366FF", + "#33CCCC", + "#99CC00", + "#FFCC00", + "#FF9900", + "#FF6600", + "#666699", + "#969696", + "#003366", + "#339966", + "#003300", + "#333300", + "#993300", + "#993366", + "#333399", + "#333333" + ]; + var currencySymbols = [ + "\xA4", + "$", + "\xA3", + "\xA5", + "\u058F", + "\u060B", + "\u09F3", + "\u0E3F", + "\u17DB", + "\u20A1", + "\u20A6", + "\u20A9", + "\u20AA", + "\u20AB", + "\u20AC", + "\u20AD", + "\u20AE", + "\u20B1", + "\u20B2", + "\u20B4", + "\u20B8", + "\u20B9", + "\u20BA", + "\u20BC", + "\u20BD", + "\u20BE", + "\u20BF" + ]; + var reCurrencySymbols = new RegExp("[" + currencySymbols.join("") + "]"); + + // node_modules/numfmt/lib/codeToLocale.js + var codeToLocale_default = Object.freeze({ + 1078: "af", + // Afrikaans + 1052: "sq", + // Albanian + 1118: "am", + // Amharic + 5121: "ar_DZ", + // Arabic - Algeria + 15361: "ar_BH", + // Arabic - Bahrain + 3073: "ar_EG", + // Arabic - Egypt + 2049: "ar_IQ", + // Arabic - Iraq + 11265: "ar_JO", + // Arabic - Jordan + 13313: "ar_KW", + // Arabic - Kuwait + 12289: "ar_LB", + // Arabic - Lebanon + 4097: "ar_LY", + // Arabic - Libya + 6145: "ar_MA", + // Arabic - Morocco + 8193: "ar_OM", + // Arabic - Oman + 16385: "ar_QA", + // Arabic - Qatar + 1025: "ar_SA", + // Arabic - Saudi Arabia + 10241: "ar_SY", + // Arabic - Syria + 7169: "ar_TN", + // Arabic - Tunisia + 14337: "ar_AE", + // Arabic - United Arab Emirates + 9217: "ar_YE", + // Arabic - Yemen + 1067: "hy", + // Armenian + 1101: "as", + // Assamese + 2092: "az_AZ", + // Azeri - Cyrillic + 1068: "az_AZ", + // Azeri - Latin + 1069: "eu", + // Basque + 1059: "be", + // Belarusian + 2117: "bn", + // Bengali - Bangladesh + 1093: "bn_IN", + // Bengali - India + 5146: "bs", + // Bosnian + 1026: "bg", + // Bulgarian + 1109: "my", + // Burmese + 1027: "ca", + // Catalan + 2052: "zh_CN", + // Chinese - China + 3076: "zh_HK", + // Chinese - Hong Kong SAR + 5124: "zh_MO", + // Chinese - Macau SAR + 4100: "zh_SG", + // Chinese - Singapore + 1028: "zh_TW", + // Chinese - Taiwan + 1050: "hr", + // Croatian + 1029: "cs", + // Czech + 1030: "da", + // Danish + 1125: "dv", + // Divehi; Dhivehi; Maldivian + 2067: "nl_BE", + // Dutch - Belgium + 1043: "nl_NL", + // Dutch - Netherlands + 1126: "bin", + // Edo + 3081: "en_AU", + // English - Australia + 10249: "en_BZ", + // English - Belize + 4105: "en_CA", + // English - Canada + 9225: "en_CB", + // English - Caribbean + 2057: "en_GB", + // English - Great Britain + 16393: "en_IN", + // English - India + 6153: "en_IE", + // English - Ireland + 8201: "en_JM", + // English - Jamaica + 5129: "en_NZ", + // English - New Zealand + 13321: "en_PH", + // English - Phillippines + 7177: "en_ZA", + // English - Southern Africa + 11273: "en_TT", + // English - Trinidad + 1033: "en_US", + // English - United States + 12297: "en_ZW", + // English - Zimbabwe + 1061: "et", + // Estonian + 1071: "mk", + // FYRO Macedonia + 1080: "fo", + // Faroese + 1065: "fa", + // Farsi - Persian + 1124: "fil", + // Filipino + 1035: "fi", + // Finnish + 2060: "fr_BE", + // French - Belgium + 11276: "fr_CM", + // French - Cameroon + 3084: "fr_CA", + // French - Canada + 9228: "fr_CG", + // French - Congo + 12300: "fr_CI", + // French - Cote d'Ivoire + 1036: "fr_FR", + // French - France + 5132: "fr_LU", + // French - Luxembourg + 13324: "fr_ML", + // French - Mali + 6156: "fr_MC", + // French - Monaco + 14348: "fr_MA", + // French - Morocco + 10252: "fr_SN", + // French - Senegal + 4108: "fr_CH", + // French - Switzerland + 7180: "fr", + // French - West Indies + 1122: "fy_NL", + // Frisian - Netherlands + 2108: "gd_IE", + // Gaelic - Ireland + 1084: "gd", + // Gaelic - Scotland + 1110: "gl", + // Galician + 1079: "ka", + // Georgian + 3079: "de_AT", + // German - Austria + 1031: "de_DE", + // German - Germany + 5127: "de_LI", + // German - Liechtenstein + 4103: "de_LU", + // German - Luxembourg + 2055: "de_CH", + // German - Switzerland + 1032: "el", + // Greek + 1140: "gn", + // Guarani - Paraguay + 1095: "gu", + // Gujarati + 1279: "en", + // HID (Human Interface Device) + 1037: "he", + // Hebrew + 1081: "hi", + // Hindi + 1038: "hu", + // Hungarian + 1039: "is", + // Icelandic + 1136: "ig_NG", + // Igbo - Nigeria + 1057: "id", + // Indonesian + 1040: "it_IT", + // Italian - Italy + 2064: "it_CH", + // Italian - Switzerland + 1041: "ja", + // Japanese + 1099: "kn", + // Kannada + 1120: "ks", + // Kashmiri + 1087: "kk", + // Kazakh + 1107: "km", + // Khmer + 1111: "kok", + // Konkani + 1042: "ko", + // Korean + 1088: "ky", + // Kyrgyz - Cyrillic + 1108: "lo", + // Lao + 1142: "la", + // Latin + 1062: "lv", + // Latvian + 1063: "lt", + // Lithuanian + 2110: "ms_BN", + // Malay - Brunei + 1086: "ms_MY", + // Malay - Malaysia + 1100: "ml", + // Malayalam + 1082: "mt", + // Maltese + 1112: "mni", + // Manipuri + 1153: "mi", + // Maori + 1102: "mr", + // Marathi + 1104: "mn", + // Mongolian + 2128: "mn", + // Mongolian + 1121: "ne", + // Nepali + 1044: "no_NO", + // Norwegian - Bokml + 2068: "no_NO", + // Norwegian - Nynorsk + 1096: "or", + // Oriya + 1045: "pl", + // Polish + 1046: "pt_BR", + // Portuguese - Brazil + 2070: "pt_PT", + // Portuguese - Portugal + 1094: "pa", + // Punjabi + 1047: "rm", + // Raeto-Romance + 2072: "ro_MO", + // Romanian - Moldova + 1048: "ro_RO", + // Romanian - Romania + 1049: "ru", + // Russian + 2073: "ru_MO", + // Russian - Moldova + 1083: "se", + // Sami Lappish + 1103: "sa", + // Sanskrit + 3098: "sr_SP", + // Serbian - Cyrillic + 2074: "sr_SP", + // Serbian - Latin + 1072: "st", + // Sesotho (Sutu) + 1074: "tn", + // Setsuana + 1113: "sd", + // Sindhi + 1115: "si", + // Sinhala; Sinhalese + 1051: "sk", + // Slovak + 1060: "sl", + // Slovenian + 1143: "so", + // Somali + 1070: "sb", + // Sorbian + 11274: "es_AR", + // Spanish - Argentina + 16394: "es_BO", + // Spanish - Bolivia + 13322: "es_CL", + // Spanish - Chile + 9226: "es_CO", + // Spanish - Colombia + 5130: "es_CR", + // Spanish - Costa Rica + 7178: "es_DO", + // Spanish - Dominican Republic + 12298: "es_EC", + // Spanish - Ecuador + 17418: "es_SV", + // Spanish - El Salvador + 4106: "es_GT", + // Spanish - Guatemala + 18442: "es_HN", + // Spanish - Honduras + 2058: "es_MX", + // Spanish - Mexico + 19466: "es_NI", + // Spanish - Nicaragua + 6154: "es_PA", + // Spanish - Panama + 15370: "es_PY", + // Spanish - Paraguay + 10250: "es_PE", + // Spanish - Peru + 20490: "es_PR", + // Spanish - Puerto Rico + 1034: "es_ES", + // Spanish - Spain (Traditional) + 14346: "es_UY", + // Spanish - Uruguay + 8202: "es_VE", + // Spanish - Venezuela + 1089: "sw", + // Swahili + 2077: "sv_FI", + // Swedish - Finland + 1053: "sv_SE", + // Swedish - Sweden + 1114: "syc", + // Syriac + 1064: "tg", + // Tajik + 1097: "ta", + // Tamil + 1092: "tt", + // Tatar + 1098: "te", + // Telugu + 1054: "th", + // Thai + 1105: "bo", + // Tibetan + 1073: "ts", + // Tsonga + 1055: "tr", + // Turkish + 1090: "tk", + // Turkmen + 1058: "uk", + // Ukrainian + 1056: "ur", + // Urdu + 2115: "uz_UZ", + // Uzbek - Cyrillic + 1091: "uz_UZ", + // Uzbek - Latin + 1075: "ve", + // Venda + 1066: "vi", + // Vietnamese + 1106: "cy", + // Welsh + 1076: "xh", + // Xhosa + 1085: "yi", + // Yiddish + 1077: "zu" + // Zulu + }); + + // node_modules/numfmt/lib/locale.js + var re_locale = /^([a-z\d]+)(?:[_-]([a-z\d]+))?(?:\.([a-z\d]+))?(?:@([a-z\d]+))?$/i; + var locales = {}; + var _ = (str, tilde = "") => str.replace(/~/g, tilde).split(";"); + var xm = (o, ml4 = 0, dl4 = 0) => { + if (!o.mmm) { + o.mmm = ml4 < 1 ? o.mmmm.concat() : o.mmmm.map((d) => { + const s = d.slice(0, ml4 % 10); + return s + (ml4 < 10 || d === s ? "" : "."); + }); + } + if (!o.ddd) { + o.ddd = dl4 < 1 ? o.dddd.concat() : o.dddd.map((d) => { + const s = d.slice(0, dl4 % 10); + return s + (dl4 < 10 || d === s ? "" : "."); + }); + } + if (!o.mmm6 && o.mmmm6) { + o.mmm6 = o.mmmm6; + } + return o; + }; + var baseLocaleData = { + group: "\xA0", + decimal: ".", + positive: "+", + negative: "-", + percent: "%", + exponent: "E", + nan: "NaN", + infinity: "\u221E", + ampm: _("AM;PM"), + mmmm6: _("Muharram;Safar;Rabi\u02BB I;Rabi\u02BB II;Jumada I;Jumada II;Rajab;Sha\u02BBban;Ramadan;Shawwal;Dhu\u02BBl-Qi\u02BBdah;Dhu\u02BBl-Hijjah"), + mmm6: _("Muh.;Saf.;Rab. I;Rab. II;Jum. I;Jum. II;Raj.;Sha.;Ram.;Shaw.;Dhu\u02BBl-Q.;Dhu\u02BBl-H."), + mmmm: _("January;February;March;April;May;June;July;August;September;October;November;December"), + mmm: _("Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec"), + dddd: _("Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday"), + ddd: _("Sun;Mon;Tue;Wed;Thu;Fri;Sat"), + bool: _("TRUE;FALSE"), + preferMDY: false + }; + function parseLocale(locale) { + const lm2 = re_locale.exec(locale); + if (!lm2) { + throw new SyntaxError(`Malformed locale: ${locale}`); + } + return { + lang: lm2[1] + (lm2[2] ? "_" + lm2[2] : ""), + language: lm2[1], + territory: lm2[2] || "" + }; + } + function resolveLocale(l4e) { + if (typeof l4e === "number") { + return codeToLocale_default[l4e & 65535] || null; + } + const wincode = parseInt(l4e, 16); + if (isFinite(wincode) && codeToLocale_default[wincode & 65535]) { + return codeToLocale_default[wincode & 65535] || null; + } + if (re_locale.test(l4e)) { + return l4e; + } + return null; + } + function getLocale(locale) { + const tag2 = resolveLocale(locale); + let obj = null; + if (tag2) { + const c = parseLocale(tag2); + obj = locales[c.lang] || locales[c.language] || null; + } + return obj; + } + function createLocale(data) { + return Object.assign({}, baseLocaleData, data); + } + function addLocale(localeSettings, l4e) { + const c = typeof l4e === "object" ? l4e : parseLocale(l4e); + locales[c.lang] = createLocale(localeSettings); + if (c.language !== c.lang && !locales[c.language]) { + locales[c.language] = createLocale(localeSettings); + } + return locales[c.lang]; + } + var defaultLocale = createLocale({ group: ",", preferMDY: true }); + defaultLocale.isDefault = true; + addLocale({ + group: ",", + ampm: _("\u4E0A\u5348;\u4E0B\u5348"), + mmmm: _("\u4E00\u6708;\u4E8C\u6708;\u4E09\u6708;\u56DB\u6708;\u4E94\u6708;\u516D\u6708;\u4E03\u6708;\u516B\u6708;\u4E5D\u6708;\u5341\u6708;\u5341\u4E00\u6708;\u5341\u4E8C\u6708"), + mmm: _("1\u6708;2\u6708;3\u6708;4\u6708;5\u6708;6\u6708;7\u6708;8\u6708;9\u6708;10\u6708;11\u6708;12\u6708"), + dddd: _("~\u65E5;~\u4E00;~\u4E8C;~\u4E09;~\u56DB;~\u4E94;~\u516D", "\u661F\u671F"), + ddd: _("\u5468\u65E5;\u5468\u4E00;\u5468\u4E8C;\u5468\u4E09;\u5468\u56DB;\u5468\u4E94;\u5468\u516D") + }, "zh_CN"); + var _zh = { + group: ",", + ampm: _("\u4E0A\u5348;\u4E0B\u5348"), + mmmm: _("1\u6708;2\u6708;3\u6708;4\u6708;5\u6708;6\u6708;7\u6708;8\u6708;9\u6708;10\u6708;11\u6708;12\u6708"), + mmm: _("1\u6708;2\u6708;3\u6708;4\u6708;5\u6708;6\u6708;7\u6708;8\u6708;9\u6708;10\u6708;11\u6708;12\u6708"), + dddd: _("~\u65E5;~\u4E00;~\u4E8C;~\u4E09;~\u56DB;~\u4E94;~\u516D", "\u661F\u671F"), + ddd: _("\u5468\u65E5;\u5468\u4E00;\u5468\u4E8C;\u5468\u4E09;\u5468\u56DB;\u5468\u4E94;\u5468\u516D") + }; + addLocale({ + ..._zh, + nan: "\u975E\u6578\u503C", + dddd: _("~\u65E5;~\u4E00;~\u4E8C;~\u4E09;~\u56DB;~\u4E94;~\u516D", "\u661F\u671F") + }, "zh_TW"); + addLocale({ + ..._zh, + dddd: _("~\u65E5;~\u4E00;~\u4E8C;~\u4E09;~\u56DB;~\u4E94;~\u516D", "\u661F\u671F") + }, "zh_HK"); + addLocale({ + ..._zh, + ampm: _("\u5348\u524D;\u5348\u5F8C"), + dddd: _("\u65E5~;\u6708~;\u706B~;\u6C34~;\u6728~;\u91D1~;\u571F~", "\u66DC\u65E5"), + ddd: _("\u65E5;\u6708;\u706B;\u6C34;\u6728;\u91D1;\u571F") + }, "ja"); + addLocale({ + group: ",", + ampm: _("\uC624\uC804;\uC624\uD6C4"), + mmmm: _("1\uC6D4;2\uC6D4;3\uC6D4;4\uC6D4;5\uC6D4;6\uC6D4;7\uC6D4;8\uC6D4;9\uC6D4;10\uC6D4;11\uC6D4;12\uC6D4"), + mmm: _("1\uC6D4;2\uC6D4;3\uC6D4;4\uC6D4;5\uC6D4;6\uC6D4;7\uC6D4;8\uC6D4;9\uC6D4;10\uC6D4;11\uC6D4;12\uC6D4"), + dddd: _("\uC77C\uC694\uC77C;\uC6D4\uC694\uC77C;\uD654\uC694\uC77C;\uC218\uC694\uC77C;\uBAA9\uC694\uC77C;\uAE08\uC694\uC77C;\uD1A0\uC694\uC77C"), + ddd: _("\uC77C;\uC6D4;\uD654;\uC218;\uBAA9;\uAE08;\uD1A0") + }, "ko"); + addLocale({ + group: ",", + ampm: _("\u0E01\u0E48\u0E2D\u0E19\u0E40\u0E17\u0E35\u0E48\u0E22\u0E07;\u0E2B\u0E25\u0E31\u0E07\u0E40\u0E17\u0E35\u0E48\u0E22\u0E07"), + mmmm: _("\u0E21\u0E01\u0E23~;\u0E01\u0E38\u0E21\u0E20\u0E32\u0E1E\u0E31\u0E19\u0E18\u0E4C;\u0E21\u0E35\u0E19~;\u0E40\u0E21\u0E29\u0E32\u0E22\u0E19;\u0E1E\u0E24\u0E29\u0E20~;\u0E21\u0E34\u0E16\u0E38\u0E19\u0E32\u0E22\u0E19;\u0E01\u0E23\u0E01\u0E0E~;\u0E2A\u0E34\u0E07\u0E2B~;\u0E01\u0E31\u0E19\u0E22\u0E32\u0E22\u0E19;\u0E15\u0E38\u0E25~;\u0E1E\u0E24\u0E28\u0E08\u0E34\u0E01\u0E32\u0E22\u0E19;\u0E18\u0E31\u0E19\u0E27~", "\u0E32\u0E04\u0E21"), + mmm: _("\u0E21.\u0E04.;\u0E01.\u0E1E.;\u0E21\u0E35.\u0E04.;\u0E40\u0E21.\u0E22.;\u0E1E.\u0E04.;\u0E21\u0E34.\u0E22.;\u0E01.\u0E04.;\u0E2A.\u0E04.;\u0E01.\u0E22.;\u0E15.\u0E04.;\u0E1E.\u0E22.;\u0E18.\u0E04."), + dddd: _("\u0E27\u0E31\u0E19\u0E2D\u0E32\u0E17\u0E34\u0E15\u0E22\u0E4C;\u0E27\u0E31\u0E19\u0E08\u0E31\u0E19\u0E17\u0E23\u0E4C;\u0E27\u0E31\u0E19\u0E2D\u0E31\u0E07\u0E04\u0E32\u0E23;\u0E27\u0E31\u0E19\u0E1E\u0E38\u0E18;\u0E27\u0E31\u0E19\u0E1E\u0E24\u0E2B\u0E31\u0E2A\u0E1A\u0E14\u0E35;\u0E27\u0E31\u0E19\u0E28\u0E38\u0E01\u0E23\u0E4C;\u0E27\u0E31\u0E19\u0E40\u0E2A\u0E32\u0E23\u0E4C"), + ddd: _("\u0E2D\u0E32.;\u0E08.;\u0E2D.;\u0E1E.;\u0E1E\u0E24.;\u0E28.;\u0E2A.") + }, "th"); + addLocale(xm({ + decimal: ",", + ampm: _("dop.;odp."), + mmmm: _("ledna;\xFAnora;b\u0159ezna;dubna;kv\u011Btna;\u010Dervna;\u010Dervence;srpna;z\xE1\u0159\xED;\u0159\xEDjna;listopadu;prosince"), + mmm: _("I;II;III;IV;V;VI;VII;VIII;IX;X;XI;XII"), + dddd: _("ned\u011Ble;pond\u011Bl\xED;\xFAter\xFD;st\u0159eda;\u010Dtvrtek;p\xE1tek;sobota"), + bool: _("PRAVDA;NEPRAVDA") + }, -1, 2), "cs"); + addLocale(xm({ + group: ".", + decimal: ",", + mmmm: _("januar;februar;marts;april;maj;juni;juli;august;september;oktober;november;december"), + dddd: _("s\xF8n~;man~;tirs~;ons~;tors~;fre~;l\xF8r~", "dag"), + bool: _("SAND;FALSK") + }, 13, 13), "da"); + addLocale(xm({ + group: ".", + decimal: ",", + ampm: _("a.m.;p.m."), + mmmm: _("januari;februari;maart;april;mei;juni;juli;augustus;september;oktober;november;december"), + mmm: _("jan.;feb.;mrt.;apr.;mei;jun.;jul.;aug.;sep.;okt.;nov.;dec."), + dddd: _("zondag;maandag;dinsdag;woensdag;donderdag;vrijdag;zaterdag"), + bool: _("WAAR;ONWAAR") + }, -1, 2), "nl"); + addLocale({ group: ",", preferMDY: true }, "en"); + addLocale({ group: ",", preferMDY: true }, "en_US"); + addLocale({ group: "," }, "en_AU"); + addLocale({ group: "," }, "en_CA"); + addLocale({ group: "," }, "en_GB"); + addLocale({ group: ",", mmm: _("Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sept;Oct;Nov;Dec") }, "en_IE"); + addLocale(xm({ + decimal: ",", + nan: "ep\xE4luku", + ampm: _("ap.;ip."), + mmmm: _("tammi~;helmi~;maalis~;huhti~;touko~;kes\xE4~;hein\xE4~;elo~;syys~;loka~;marras~;joulu~", "kuuta"), + mmm: _("tammik.;helmik.;maalisk.;huhtik.;toukok.;kes\xE4k.;hein\xE4k.;elok.;syysk.;lokak.;marrask.;jouluk."), + dddd: _("sunnun~;maanan~;tiis~;keskiviikkona;tors~;perjan~;lauan~", "taina"), + bool: _("TOSI;EP\xC4TOSI") + }, -1, 2), "fi"); + var _fr = xm({ + group: "\u202F", + decimal: ",", + mmmm: _("janvier;f\xE9vrier;mars;avril;mai;juin;juillet;ao\xFBt;septembre;octobre;novembre;d\xE9cembre"), + mmm: _("janv.;f\xE9vr.;mars;avr.;mai;juin;juil.;ao\xFBt;sept.;oct.;nov.;d\xE9c."), + dddd: _("~manche;lun~;mar~;mercre~;jeu~;vendre~;same~", "di"), + bool: _("VRAI;FAUX") + }, -1, 13); + addLocale({ ..._fr }, "fr"); + addLocale({ ..._fr, mmm: _("janv.;f\xE9vr.;mars;avr.;mai;juin;juill.;ao\xFBt;sept.;oct.;nov.;d\xE9c.") }, "fr_CA"); + addLocale({ group: "'", decimal: ".", ..._fr }, "fr_CH"); + var _de = xm({ + mmmm: _("Januar;Februar;M\xE4rz;April;Mai;Juni;Juli;August;September;Oktober;November;Dezember"), + mmm: _("Jan.;Feb.;M\xE4rz;Apr.;Mai;Juni;Juli;Aug.;Sept.;Okt.;Nov.;Dez."), + dddd: _("Sonn~;Mon~;Diens~;Mittwoch;Donners~;Frei~;Sams~", "tag"), + bool: _("WAHR;FALSCH") + }, -1, 12); + addLocale({ group: ".", decimal: ",", ..._de }, "de"); + addLocale({ group: "'", decimal: ".", ..._de }, "de_CH"); + addLocale(xm({ + group: ".", + decimal: ",", + ampm: _("\u03C0.\u03BC.;\u03BC.\u03BC."), + mmmm: _("\u0399\u03B1\u03BD\u03BF\u03C5\u03B1\u03C1~;\u03A6\u03B5\u03B2\u03C1\u03BF\u03C5\u03B1\u03C1~;\u039C\u03B1\u03C1\u03C4~;\u0391\u03C0\u03C1\u03B9\u03BB~;\u039C\u03B1\u0390\u03BF\u03C5;\u0399\u03BF\u03C5\u03BD~;\u0399\u03BF\u03C5\u03BB~;\u0391\u03C5\u03B3\u03BF\u03CD\u03C3\u03C4\u03BF\u03C5;\u03A3\u03B5\u03C0\u03C4\u03B5\u03BC\u03B2\u03C1~;\u039F\u03BA\u03C4\u03C9\u03B2\u03C1~;\u039D\u03BF\u03B5\u03BC\u03B2\u03C1~;\u0394\u03B5\u03BA\u03B5\u03BC\u03B2\u03C1~", "\u03AF\u03BF\u03C5"), + mmm: _("\u0399\u03B1\u03BD;\u03A6\u03B5\u03B2;\u039C\u03B1\u03C1;\u0391\u03C0\u03C1;\u039C\u03B1\u0390;\u0399\u03BF\u03C5\u03BD;\u0399\u03BF\u03C5\u03BB;\u0391\u03C5\u03B3;\u03A3\u03B5\u03C0;\u039F\u03BA\u03C4;\u039D\u03BF\u03B5;\u0394\u03B5\u03BA"), + dddd: _("\u039A\u03C5\u03C1\u03B9\u03B1\u03BA\u03AE;\u0394\u03B5\u03C5\u03C4\u03AD\u03C1\u03B1;\u03A4\u03C1\u03AF\u03C4\u03B7;\u03A4\u03B5\u03C4\u03AC\u03C1\u03C4\u03B7;\u03A0\u03AD\u03BC\u03C0\u03C4\u03B7;\u03A0\u03B1\u03C1\u03B1\u03C3\u03BA\u03B5\u03C5\u03AE;\u03A3\u03AC\u03B2\u03B2\u03B1\u03C4\u03BF") + }, -1, 3), "el"); + addLocale({ + decimal: ",", + ampm: _("de.;du."), + mmmm: _("janu\xE1r;febru\xE1r;m\xE1rcius;\xE1prilis;m\xE1jus;j\xFAnius;j\xFAlius;augusztus;szeptember;okt\xF3ber;november;december"), + mmm: _("jan.;febr.;m\xE1rc.;\xE1pr.;m\xE1j.;j\xFAn.;j\xFAl.;aug.;szept.;okt.;nov.;dec."), + dddd: _("vas\xE1rnap;h\xE9tf\u0151;kedd;szerda;cs\xFCt\xF6rt\xF6k;p\xE9ntek;szombat"), + ddd: _("V;H;K;Sze;Cs;P;Szo"), + bool: _("IGAZ;HAMIS") + }, "hu"); + addLocale(xm({ + group: ".", + decimal: ",", + ampm: _("f.h.;e.h."), + mmmm: _("jan\xFAar;febr\xFAar;mars;apr\xEDl;ma\xED;j\xFAn\xED;j\xFAl\xED;\xE1g\xFAst;september;okt\xF3ber;n\xF3vember;desember"), + dddd: _("sunnu~;m\xE1nu~;\xFEri\xF0ju~;mi\xF0viku~;fimmtu~;f\xF6stu~;laugar~", "dagur") + }, 13, 13), "is"); + addLocale(xm({ + group: ".", + decimal: ",", + mmmm: _("Januari;Februari;Maret;April;Mei;Juni;Juli;Agustus;September;Oktober;November;Desember"), + dddd: _("Minggu;Senin;Selasa;Rabu;Kamis;Jumat;Sabtu") + }, 3, 3), "id"); + var _it = xm({ + mmmm: _("gennaio;febbraio;marzo;aprile;maggio;giugno;luglio;agosto;settembre;ottobre;novembre;dicembre"), + dddd: _("domenica;luned\xEC;marted\xEC;mercoled\xEC;gioved\xEC;venerd\xEC;sabato"), + bool: _("VERO;FALSO") + }, 3, 3); + addLocale({ group: ".", decimal: ",", ..._it }, "it"); + addLocale({ group: "'", decimal: ".", ..._it }, "it_CH"); + var _no = { + decimal: ",", + ampm: _("a.m.;p.m."), + mmmm: _("januar;februar;mars;april;mai;juni;juli;august;september;oktober;november;desember"), + mmm: _("jan.;feb.;mar.;apr.;mai;jun.;jul.;aug.;sep.;okt.;nov.;des."), + dddd: _("s\xF8n~;man~;tirs~;ons~;tors~;fre~;l\xF8r~", "dag"), + bool: _("SANN;USANN") + }; + addLocale(xm({ ..._no }, -1, 13), "nb"); + addLocale(xm({ ..._no }, -1, 13), "no"); + addLocale(xm({ + decimal: ",", + mmmm: _("stycznia;lutego;marca;kwietnia;maja;czerwca;lipca;sierpnia;wrze\u015Bnia;pa\u017Adziernika;listopada;grudnia"), + dddd: _("niedziela;poniedzia\u0142ek;wtorek;\u015Broda;czwartek;pi\u0105tek;sobota"), + ddd: _("niedz.;pon.;wt.;\u015Br.;czw.;pt.;sob."), + bool: _("PRAWDA;FA\u0141SZ") + }, 3, -1), "pl"); + var _pt = { + group: ".", + decimal: ",", + mmmm: _("janeiro;fevereiro;mar\xE7o;abril;maio;junho;julho;agosto;setembro;outubro;novembro;dezembro"), + dddd: _("domingo;segunda-feira;ter\xE7a-feira;quarta-feira;quinta-feira;sexta-feira;s\xE1bado"), + bool: _("VERDADEIRO;FALSO") + }; + addLocale(xm(_pt, 13, 13), "pt"); + addLocale(xm(_pt, 13, 13), "pt_BR"); + addLocale({ + decimal: ",", + nan: "\u043D\u0435\xA0\u0447\u0438\u0441\u043B\u043E", + mmmm: _("\u044F\u043D\u0432\u0430\u0440\u044F;\u0444\u0435\u0432\u0440\u0430\u043B\u044F;\u043C\u0430\u0440\u0442\u0430;\u0430\u043F\u0440\u0435\u043B\u044F;\u043C\u0430\u044F;\u0438\u044E\u043D\u044F;\u0438\u044E\u043B\u044F;\u0430\u0432\u0433\u0443\u0441\u0442\u0430;\u0441\u0435\u043D\u0442\u044F\u0431\u0440\u044F;\u043E\u043A\u0442\u044F\u0431\u0440\u044F;\u043D\u043E\u044F\u0431\u0440\u044F;\u0434\u0435\u043A\u0430\u0431\u0440\u044F"), + mmm: _("\u044F\u043D\u0432.;\u0444\u0435\u0432\u0440.;\u043C\u0430\u0440.;\u0430\u043F\u0440.;\u043C\u0430\u044F;\u0438\u044E\u043D.;\u0438\u044E\u043B.;\u0430\u0432\u0433.;\u0441\u0435\u043D\u0442.;\u043E\u043A\u0442.;\u043D\u043E\u044F\u0431.;\u0434\u0435\u043A."), + dddd: _("\u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435;\u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A;\u0432\u0442\u043E\u0440\u043D\u0438\u043A;\u0441\u0440\u0435\u0434\u0430;\u0447\u0435\u0442\u0432\u0435\u0440\u0433;\u043F\u044F\u0442\u043D\u0438\u0446\u0430;\u0441\u0443\u0431\u0431\u043E\u0442\u0430"), + ddd: _("\u0432\u0441;\u043F\u043D;\u0432\u0442;\u0441\u0440;\u0447\u0442;\u043F\u0442;\u0441\u0431"), + mmmm6: _("\u0440\u0430\u043C\u0430\u0434\u0430\u043D;\u0448\u0430\u0432\u0432\u0430\u043B\u044C;\u0437\u0443\u043B\u044C-\u043A\u0430\u0430\u0434\u0430;\u0437\u0443\u043B\u044C-\u0445\u0438\u0434\u0436\u0436\u0430;\u043C\u0443\u0445\u0430\u0440\u0440\u0430\u043C;\u0440\u0430\u0431\u0438-\u0443\u043B\u044C-\u0430\u0432\u0432\u0430\u043B\u044C;\u0440\u0430\u0431\u0438-\u0443\u043B\u044C-\u0430\u0445\u0438\u0440;\u0434\u0436\u0443\u043C\u0430\u0434-\u0443\u043B\u044C-\u0430\u0432\u0432\u0430\u043B\u044C;\u0434\u0436\u0443\u043C\u0430\u0434-\u0443\u043B\u044C-\u0430\u0445\u0438\u0440;\u0440\u0430\u0434\u0436\u0430\u0431;\u0448\u0430\u0430\u0431\u0430\u043D;\u0440\u0430\u043C\u0430\u0434\u0430\u043D"), + mmm6: _("\u0440\u0430\u043C.;\u0448\u0430\u0432.;\u0437\u0443\u043B\u044C-\u043A.;\u0437\u0443\u043B\u044C-\u0445.;\u043C\u0443\u0445.;\u0440\u0430\u0431. I;\u0440\u0430\u0431. II;\u0434\u0436\u0443\u043C. I;\u0434\u0436\u0443\u043C. II;\u0440\u0430\u0434\u0436.;\u0448\u0430\u0430\u0431.;\u0440\u0430\u043C."), + bool: _("\u0418\u0421\u0422\u0418\u041D\u0410;\u041B\u041E\u0416\u042C") + }, "ru"); + addLocale(xm({ + decimal: ",", + mmmm: _("janu\xE1ra;febru\xE1ra;marca;apr\xEDla;m\xE1ja;j\xFAna;j\xFAla;augusta;septembra;okt\xF3bra;novembra;decembra"), + dddd: _("nede\u013Ea;pondelok;utorok;streda;\u0161tvrtok;piatok;sobota") + }, 3, 2), "sk"); + var _es = { + group: ".", + decimal: ",", + ampm: _("a.\xA0m.;p.\xA0m."), + mmmm: _("enero;febrero;marzo;abril;mayo;junio;julio;agosto;septiem~;octu~;noviem~;diciem~", "bre"), + mmm: _("ene;feb;mar;abr;may;jun;jul;ago;sept;oct;nov;dic"), + dddd: _("domingo;lunes;martes;mi\xE9rcoles;jueves;viernes;s\xE1bado"), + ddd: _("dom;lun;mar;mi\xE9;jue;vie;s\xE1b"), + bool: _("VERDADERO;FALSO") + }; + var _esM3 = _("ene;feb;mar;abr;may;jun;jul;ago;sep;oct;nov;dic"); + var _esM13 = _("ene.;feb.;mar.;abr.;may.;jun.;jul.;ago.;sept.;oct.;nov.;dic."); + addLocale({ ..._es }, "es"); + addLocale({ ..._es }, "es_AR"); + addLocale({ ..._es }, "es_BO"); + addLocale({ ..._es }, "es_CL"); + addLocale({ ..._es }, "es_CO"); + addLocale({ ..._es }, "es_EC"); + addLocale({ ..._es, mmm: _esM3, ampm: _("a.m.;p.m.") }, "es_MX"); + addLocale({ ..._es, mmm: _esM13 }, "es_PY"); + addLocale({ ..._es, mmm: _esM13 }, "es_UY"); + addLocale({ ..._es, mmm: _esM13, mmmm: _("enero;febrero;marzo;abril;mayo;junio;julio;agosto;setiembre;octubre;noviembre;diciembre") }, "es_VE"); + addLocale({ + decimal: ",", + ampm: _("fm;em"), + mmmm: _("januari;februari;mars;april;maj;juni;juli;augusti;september;oktober;november;december"), + mmm: _("jan.;feb.;mars;apr.;maj;juni;juli;aug.;sep.;okt.;nov.;dec."), + dddd: _("s\xF6n~;m\xE5n~;tis~;ons~;tors~;fre~;l\xF6r~", "dag"), + ddd: _("s\xF6n;m\xE5n;tis;ons;tors;fre;l\xF6r") + }, "sv"); + addLocale(xm({ + group: ".", + decimal: ",", + ampm: _("\xD6\xD6;\xD6S"), + mmmm: _("Ocak;\u015Eubat;Mart;Nisan;May\u0131s;Haziran;Temmuz;A\u011Fustos;Eyl\xFCl;Ekim;Kas\u0131m;Aral\u0131k"), + mmm: _("Oca;\u015Eub;Mar;Nis;May;Haz;Tem;A\u011Fu;Eyl;Eki;Kas;Ara"), + dddd: _("Pazar;Pazartesi;Sal\u0131;\xC7ar\u015Famba;Per\u015Fembe;Cuma;Cumartesi"), + ddd: _("Paz;Pzt;Sal;\xC7ar;Per;Cum;Cmt"), + bool: _("DO\u011ERU;YANLI\u015E") + }, 3, -1), "tr"); + addLocale({ + group: ",", + ampm: _("yb;yh"), + mmmm: _("Ionawr;Chwefror;Mawrth;Ebrill;Mai;Mehefin;Gorffennaf;Awst;Medi;Hydref;Tachwedd;Rhagfyr"), + mmm: _("Ion;Chwef;Maw;Ebr;Mai;Meh;Gorff;Awst;Medi;Hyd;Tach;Rhag"), + dddd: _("Dydd Sul;Dydd Llun;Dydd Mawrth;Dydd Mercher;Dydd Iau;Dydd Gwener;Dydd Sadwrn"), + ddd: _("Sul;Llun;Maw;Mer;Iau;Gwen;Sad") + }, "cy"); + addLocale({ + group: ".", + decimal: ",", + mmmm: _("yanvar;fevral;mart;aprel;may;iyun;iyul;avqust;sentyabr;oktyabr;noyabr;dekabr"), + mmm: _("yan;fev;mar;apr;may;iyn;iyl;avq;sen;okt;noy;dek"), + dddd: _("bazar;bazar ert\u0259si;\xE7\u0259r\u015F\u0259nb\u0259 ax\u015Fam\u0131;\xE7\u0259r\u015F\u0259nb\u0259;c\xFCm\u0259 ax\u015Fam\u0131;c\xFCm\u0259;\u015F\u0259nb\u0259"), + ddd: _("B.;B.e.;\xC7.a.;\xC7.;C.a.;C.;\u015E.") + }, "az"); + addLocale(xm({ + decimal: ",", + mmmm: _("\u0441\u0442\u0443\u0434\u0437\u0435\u043D\u044F;\u043B\u044E\u0442\u0430\u0433\u0430;\u0441\u0430\u043A\u0430\u0432\u0456\u043A\u0430;\u043A\u0440\u0430\u0441\u0430\u0432\u0456\u043A\u0430;\u043C\u0430\u044F;\u0447\u044D\u0440\u0432\u0435\u043D\u044F;\u043B\u0456\u043F\u0435\u043D\u044F;\u0436\u043D\u0456\u045E\u043D\u044F;\u0432\u0435\u0440\u0430\u0441\u043D\u044F;\u043A\u0430\u0441\u0442\u0440\u044B\u0447\u043D\u0456\u043A\u0430;\u043B\u0456\u0441\u0442\u0430\u043F\u0430\u0434\u0430;\u0441\u043D\u0435\u0436\u043D\u044F"), + dddd: _("\u043D\u044F\u0434\u0437\u0435\u043B\u044F;\u043F\u0430\u043D\u044F\u0434\u0437\u0435\u043B\u0430\u043A;\u0430\u045E\u0442\u043E\u0440\u0430\u043A;\u0441\u0435\u0440\u0430\u0434\u0430;\u0447\u0430\u0446\u0432\u0435\u0440;\u043F\u044F\u0442\u043D\u0456\u0446\u0430;\u0441\u0443\u0431\u043E\u0442\u0430"), + ddd: _("\u043D\u0434;\u043F\u043D;\u0430\u045E;\u0441\u0440;\u0447\u0446;\u043F\u0442;\u0441\u0431") + }, 3, -1), "be"); + addLocale({ + decimal: ",", + ampm: _("\u043F\u0440.\u043E\u0431.;\u0441\u043B.\u043E\u0431."), + mmmm: _("\u044F\u043D\u0443\u0430\u0440\u0438;\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438;\u043C\u0430\u0440\u0442;\u0430\u043F\u0440\u0438\u043B;\u043C\u0430\u0439;\u044E\u043D\u0438;\u044E\u043B\u0438;\u0430\u0432\u0433\u0443\u0441\u0442;\u0441\u0435\u043F\u0442\u0435\u043C\u0432\u0440\u0438;\u043E\u043A\u0442\u043E\u043C\u0432\u0440\u0438;\u043D\u043E\u0435\u043C\u0432\u0440\u0438;\u0434\u0435\u043A\u0435\u043C\u0432\u0440\u0438"), + mmm: _("\u044F\u043D\u0443;\u0444\u0435\u0432;\u043C\u0430\u0440\u0442;\u0430\u043F\u0440;\u043C\u0430\u0439;\u044E\u043D\u0438;\u044E\u043B\u0438;\u0430\u0432\u0433;\u0441\u0435\u043F;\u043E\u043A\u0442;\u043D\u043E\u0435;\u0434\u0435\u043A"), + dddd: _("\u043D\u0435\u0434\u0435\u043B\u044F;\u043F\u043E\u043D\u0435\u0434\u0435\u043B\u043D\u0438\u043A;\u0432\u0442\u043E\u0440\u043D\u0438\u043A;\u0441\u0440\u044F\u0434\u0430;\u0447\u0435\u0442\u0432\u044A\u0440\u0442\u044A\u043A;\u043F\u0435\u0442\u044A\u043A;\u0441\u044A\u0431\u043E\u0442\u0430"), + ddd: _("\u043D\u0434;\u043F\u043D;\u0432\u0442;\u0441\u0440;\u0447\u0442;\u043F\u0442;\u0441\u0431"), + bool: _("\u0418\u0421\u0422\u0418\u041D\u0410;\u041B\u041E\u0416\u042C") + }, "bg"); + addLocale({ + group: ".", + decimal: ",", + mmmm: _("de gener;de febrer;de mar\xE7;d\u2019abril;de maig;de juny;de juliol;d\u2019agost;de setembre;d\u2019octubre;de novembre;de desembre"), + mmm: _("de gen.;de febr.;de mar\xE7;d\u2019abr.;de maig;de juny;de jul.;d\u2019ag.;de set.;d\u2019oct.;de nov.;de des."), + dddd: _("diumenge;dilluns;dimarts;dimecres;dijous;divendres;dissabte"), + ddd: _("dg.;dl.;dt.;dc.;dj.;dv.;ds."), + ampm: _("a.\xA0m.;p.\xA0m.") + }, "ca"); + addLocale(xm({ + group: ",", + decimal: ".", + mmmm: _("Enero;Pebrero;Marso;Abril;Mayo;Hunyo;Hulyo;Agosto;Setyembre;Oktubre;Nobyembre;Disyembre"), + dddd: _("Linggo;Lunes;Martes;Miyerkules;Huwebes;Biyernes;Sabado") + }, 3, 3), "fil"); + addLocale({ + group: ",", + decimal: ".", + mmmm: _("\u0A9C\u0ABE\u0AA8\u0ACD\u0AAF\u0AC1\u0A86\u0AB0\u0AC0;\u0AAB\u0AC7\u0AAC\u0ACD\u0AB0\u0AC1\u0A86\u0AB0\u0AC0;\u0AAE\u0ABE\u0AB0\u0ACD\u0A9A;\u0A8F\u0AAA\u0ACD\u0AB0\u0ABF\u0AB2;\u0AAE\u0AC7;\u0A9C\u0AC2\u0AA8;\u0A9C\u0AC1\u0AB2\u0ABE\u0A88;\u0A91\u0A97\u0AB8\u0ACD\u0A9F;\u0AB8\u0AAA\u0ACD\u0A9F\u0AC7\u0AAE\u0ACD\u0AAC\u0AB0;\u0A91\u0A95\u0ACD\u0A9F\u0ACB\u0AAC\u0AB0;\u0AA8\u0AB5\u0AC7\u0AAE\u0ACD\u0AAC\u0AB0;\u0AA1\u0ABF\u0AB8\u0AC7\u0AAE\u0ACD\u0AAC\u0AB0"), + mmm: _("\u0A9C\u0ABE\u0AA8\u0ACD\u0AAF\u0AC1;\u0AAB\u0AC7\u0AAC\u0ACD\u0AB0\u0AC1;\u0AAE\u0ABE\u0AB0\u0ACD\u0A9A;\u0A8F\u0AAA\u0ACD\u0AB0\u0ABF\u0AB2;\u0AAE\u0AC7;\u0A9C\u0AC2\u0AA8;\u0A9C\u0AC1\u0AB2\u0ABE\u0A88;\u0A91\u0A97\u0AB8\u0ACD\u0A9F;\u0AB8\u0AAA\u0ACD\u0A9F\u0AC7;\u0A91\u0A95\u0ACD\u0A9F\u0ACB;\u0AA8\u0AB5\u0AC7;\u0AA1\u0ABF\u0AB8\u0AC7"), + dddd: _("\u0AB0\u0AB5\u0ABF~;\u0AB8\u0ACB\u0AAE~;\u0AAE\u0A82\u0A97\u0AB3~;\u0AAC\u0AC1\u0AA7~;\u0A97\u0AC1\u0AB0\u0AC1~;\u0AB6\u0AC1\u0A95\u0ACD\u0AB0~;\u0AB6\u0AA8\u0ABF~", "\u0AB5\u0ABE\u0AB0"), + ddd: _("\u0AB0\u0AB5\u0ABF;\u0AB8\u0ACB\u0AAE;\u0AAE\u0A82\u0A97\u0AB3;\u0AAC\u0AC1\u0AA7;\u0A97\u0AC1\u0AB0\u0AC1;\u0AB6\u0AC1\u0A95\u0ACD\u0AB0;\u0AB6\u0AA8\u0ABF") + }, "gu"); + addLocale({ + group: ",", + decimal: ".", + ampm: _("\u05DC\u05E4\u05E0\u05D4\u05F4\u05E6;\u05D0\u05D7\u05D4\u05F4\u05E6"), + dddd: _("~\u05E8\u05D0\u05E9\u05D5\u05DF;~\u05E9\u05E0\u05D9;~\u05E9\u05DC\u05D9\u05E9\u05D9;~\u05E8\u05D1\u05D9\u05E2\u05D9;~\u05D7\u05DE\u05D9\u05E9\u05D9;~\u05E9\u05D9\u05E9\u05D9;~\u05E9\u05D1\u05EA", "\u05D9\u05D5\u05DD "), + ddd: _("~\u05D0\u05F3;~\u05D1\u05F3;~\u05D2\u05F3;~\u05D3\u05F3;~\u05D4\u05F3;~\u05D5\u05F3;\u05E9\u05D1\u05EA", "\u05D9\u05D5\u05DD "), + mmmm: _("\u05D9\u05E0\u05D5\u05D0\u05E8;\u05E4\u05D1\u05E8\u05D5\u05D0\u05E8;\u05DE\u05E8\u05E5;\u05D0\u05E4\u05E8\u05D9\u05DC;\u05DE\u05D0\u05D9;\u05D9\u05D5\u05E0\u05D9;\u05D9\u05D5\u05DC\u05D9;\u05D0\u05D5\u05D2\u05D5\u05E1\u05D8;\u05E1\u05E4\u05D8\u05DE\u05D1\u05E8;\u05D0\u05D5\u05E7\u05D8\u05D5\u05D1\u05E8;\u05E0\u05D5\u05D1\u05DE\u05D1\u05E8;\u05D3\u05E6\u05DE\u05D1\u05E8"), + mmm: _("\u05D9\u05E0\u05D5\u05F3;\u05E4\u05D1\u05E8\u05F3;\u05DE\u05E8\u05E5;\u05D0\u05E4\u05E8\u05F3;\u05DE\u05D0\u05D9;\u05D9\u05D5\u05E0\u05D9;\u05D9\u05D5\u05DC\u05D9;\u05D0\u05D5\u05D2\u05F3;\u05E1\u05E4\u05D8\u05F3;\u05D0\u05D5\u05E7\u05F3;\u05E0\u05D5\u05D1\u05F3;\u05D3\u05E6\u05DE\u05F3"), + mmmm6: _("\u05E8\u05DE\u05D3\u05D0\u05DF;\u05E9\u05D5\u05D5\u05D0\u05DC;\u05D3\u05F3\u05D5 \u05D0\u05DC\u05BE\u05E7\u05E2\u05D3\u05D4;\u05D3\u05F3\u05D5 \u05D0\u05DC\u05BE\u05D7\u05D9\u05D2\u05F3\u05D4;\u05DE\u05D5\u05D7\u05E8\u05DD;\u05E8\u05D1\u05D9\u05E2 \u05D0\u05DC\u05BE\u05D0\u05D5\u05D5\u05DC;\u05E8\u05D1\u05D9\u05E2 \u05D0\u05BE\u05EA\u05F3\u05D0\u05E0\u05D9;\u05D2\u05F3\u05D5\u05DE\u05D0\u05D3\u05D0 \u05D0\u05DC\u05BE\u05D0\u05D5\u05DC\u05D0;\u05D2\u05F3\u05D5\u05DE\u05D0\u05D3\u05D0 \u05D0\u05BE\u05EA\u05F3\u05D0\u05E0\u05D9\u05D4;\u05E8\u05D2\u05F3\u05D1;\u05E9\u05E2\u05D1\u05D0\u05DF;\u05E8\u05DE\u05D3\u05D0\u05DF"), + mmm6: _("\u05E8\u05DE\u05D3\u05D0\u05DF;\u05E9\u05D5\u05D5\u05D0\u05DC;\u05D3\u05F3\u05D5 \u05D0\u05DC\u05BE\u05E7\u05E2\u05D3\u05D4;\u05D3\u05F3\u05D5 \u05D0\u05DC\u05BE\u05D7\u05D9\u05D2\u05F3\u05D4;\u05DE\u05D5\u05D7\u05E8\u05DD;\u05E8\u05D1\u05D9\u05E2 \u05D0\u05F3;\u05E8\u05D1\u05D9\u05E2 \u05D1\u05F3;\u05D2\u05F3\u05D5\u05DE\u05D0\u05D3\u05D0 \u05D0\u05F3;\u05D2\u05F3\u05D5\u05DE\u05D0\u05D3\u05D0 \u05D1\u05F3;\u05E8\u05D2\u05F3\u05D1;\u05E9\u05E2\u05D1\u05D0\u05DF;\u05E8\u05DE\u05D3\u05D0\u05DF") + }, "he"); + addLocale(xm({ + group: ".", + decimal: ",", + mmmm: _("sije\u010Dnja;velja\u010De;o\u017Eujka;travnja;svibnja;lipnja;srpnja;kolovoza;rujna;listopada;studenoga;prosinca"), + mmm: _("sij;velj;o\u017Eu;tra;svi;lip;srp;kol;ruj;lis;stu;pro"), + dddd: _("nedjelja;ponedjeljak;utorak;srijeda;\u010Detvrtak;petak;subota") + }, -1, 3), "hr"); + addLocale({ + decimal: ",", + mmmm: _("\u0570\u0578\u0582\u0576\u057E\u0561\u0580\u056B;\u0583\u0565\u057F\u0580\u057E\u0561\u0580\u056B;\u0574\u0561\u0580\u057F\u056B;\u0561\u057A\u0580\u056B\u056C\u056B;\u0574\u0561\u0575\u056B\u057D\u056B;\u0570\u0578\u0582\u0576\u056B\u057D\u056B;\u0570\u0578\u0582\u056C\u056B\u057D\u056B;\u0585\u0563\u0578\u057D\u057F\u0578\u057D\u056B;\u057D\u0565\u057A\u057F\u0565\u0574\u0562\u0565\u0580\u056B;\u0570\u0578\u056F\u057F\u0565\u0574\u0562\u0565\u0580\u056B;\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580\u056B;\u0564\u0565\u056F\u057F\u0565\u0574\u0562\u0565\u0580\u056B"), + mmm: _("\u0570\u0576\u057E;\u0583\u057F\u057E;\u0574\u0580\u057F;\u0561\u057A\u0580;\u0574\u0575\u057D;\u0570\u0576\u057D;\u0570\u056C\u057D;\u0585\u0563\u057D;\u057D\u0565\u057A;\u0570\u0578\u056F;\u0576\u0578\u0575;\u0564\u0565\u056F"), + dddd: _("\u056F\u056B\u0580\u0561\u056F\u056B;\u0565\u0580\u056F\u0578\u0582\u0577\u0561\u0562\u0569\u056B;\u0565\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056B;\u0579\u0578\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056B;\u0570\u056B\u0576\u0563\u0577\u0561\u0562\u0569\u056B;\u0578\u0582\u0580\u0562\u0561\u0569;\u0577\u0561\u0562\u0561\u0569"), + ddd: _("\u056F\u056B\u0580;\u0565\u0580\u056F;\u0565\u0580\u0584;\u0579\u0580\u0584;\u0570\u0576\u0563;\u0578\u0582\u0580;\u0577\u0562\u0569") + }, "hy"); + addLocale(xm({ + decimal: ",", + mmmm: _("\u10D8\u10D0\u10DC\u10D5\u10D0\u10E0\u10D8;\u10D7\u10D4\u10D1\u10D4\u10E0\u10D5\u10D0\u10DA\u10D8;\u10DB\u10D0\u10E0\u10E2\u10D8;\u10D0\u10DE\u10E0\u10D8\u10DA\u10D8;\u10DB\u10D0\u10D8\u10E1\u10D8;\u10D8\u10D5\u10DC\u10D8\u10E1\u10D8;\u10D8\u10D5\u10DA\u10D8\u10E1\u10D8;\u10D0\u10D2\u10D5\u10D8\u10E1\u10E2\u10DD;\u10E1\u10D4\u10E5\u10E2\u10D4\u10DB\u10D1\u10D4\u10E0\u10D8;\u10DD\u10E5\u10E2\u10DD\u10DB\u10D1\u10D4\u10E0\u10D8;\u10DC\u10DD\u10D4\u10DB\u10D1\u10D4\u10E0\u10D8;\u10D3\u10D4\u10D9\u10D4\u10DB\u10D1\u10D4\u10E0\u10D8"), + dddd: _("\u10D9\u10D5\u10D8\u10E0\u10D0;\u10DD\u10E0\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8;\u10E1\u10D0\u10DB\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8;\u10DD\u10D7\u10EE\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8;\u10EE\u10E3\u10D7\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8;\u10DE\u10D0\u10E0\u10D0\u10E1\u10D9\u10D4\u10D5\u10D8;\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8") + }, 3, 3), "ka"); + addLocale(xm({ + decimal: ",", + mmmm: _("\u049B\u0430\u04A3\u0442\u0430\u0440;\u0430\u049B\u043F\u0430\u043D;\u043D\u0430\u0443\u0440\u044B\u0437;\u0441\u04D9\u0443\u0456\u0440;\u043C\u0430\u043C\u044B\u0440;\u043C\u0430\u0443\u0441\u044B\u043C;\u0448\u0456\u043B\u0434\u0435;\u0442\u0430\u043C\u044B\u0437;\u049B\u044B\u0440\u043A\u04AF\u0439\u0435\u043A;\u049B\u0430\u0437\u0430\u043D;\u049B\u0430\u0440\u0430\u0448\u0430;\u0436\u0435\u043B\u0442\u043E\u049B\u0441\u0430\u043D"), + dddd: _("\u0436\u0435\u043A\u0441\u0435\u043D\u0431\u0456;\u0434\u04AF\u0439\u0441\u0435\u043D\u0431\u0456;\u0441\u0435\u0439\u0441\u0435\u043D\u0431\u0456;\u0441\u04D9\u0440\u0441\u0435\u043D\u0431\u0456;\u0431\u0435\u0439\u0441\u0435\u043D\u0431\u0456;\u0436\u04B1\u043C\u0430;\u0441\u0435\u043D\u0431\u0456"), + ddd: _("\u0436\u0441;\u0434\u0441;\u0441\u0441;\u0441\u0440;\u0431\u0441;\u0436\u043C;\u0441\u0431") + }, 13, -1), "kk"); + addLocale({ + group: ",", + mmmm: _("\u0C9C\u0CA8\u0CB5\u0CB0\u0CBF;\u0CAB\u0CC6\u0CAC\u0CCD\u0CB0\u0CB5\u0CB0\u0CBF;\u0CAE\u0CBE\u0CB0\u0CCD\u0C9A\u0CCD;\u0C8F\u0CAA\u0CCD\u0CB0\u0CBF\u0CB2\u0CCD;\u0CAE\u0CC7;\u0C9C\u0CC2\u0CA8\u0CCD;\u0C9C\u0CC1\u0CB2\u0CC8;\u0C86\u0C97\u0CB8\u0CCD\u0C9F\u0CCD;\u0CB8\u0CC6\u0CAA\u0CCD\u0C9F\u0CC6\u0C82\u0CAC\u0CB0\u0CCD;\u0C85\u0C95\u0CCD\u0C9F\u0CCB\u0CAC\u0CB0\u0CCD;\u0CA8\u0CB5\u0CC6\u0C82\u0CAC\u0CB0\u0CCD;\u0CA1\u0CBF\u0CB8\u0CC6\u0C82\u0CAC\u0CB0\u0CCD"), + mmm: _("\u0C9C\u0CA8\u0CB5\u0CB0\u0CBF;\u0CAB\u0CC6\u0CAC\u0CCD\u0CB0\u0CB5\u0CB0\u0CBF;\u0CAE\u0CBE\u0CB0\u0CCD\u0C9A\u0CCD;\u0C8F\u0CAA\u0CCD\u0CB0\u0CBF;\u0CAE\u0CC7;\u0C9C\u0CC2\u0CA8\u0CCD;\u0C9C\u0CC1\u0CB2\u0CC8;\u0C86\u0C97\u0CB8\u0CCD\u0C9F\u0CCD;\u0CB8\u0CC6\u0CAA\u0CCD\u0C9F\u0CC6\u0C82;\u0C85\u0C95\u0CCD\u0C9F\u0CCB;\u0CA8\u0CB5\u0CC6\u0C82;\u0CA1\u0CBF\u0CB8\u0CC6\u0C82"), + dddd: _("\u0CAD\u0CBE\u0CA8\u0CC1~;\u0CB8\u0CCB\u0CAE~;\u0CAE\u0C82\u0C97\u0CB3~;\u0CAC\u0CC1\u0CA7~;\u0C97\u0CC1\u0CB0\u0CC1~;\u0CB6\u0CC1\u0C95\u0CCD\u0CB0~;\u0CB6\u0CA8\u0CBF~", "\u0CB5\u0CBE\u0CB0"), + ddd: _("\u0CAD\u0CBE\u0CA8\u0CC1;\u0CB8\u0CCB\u0CAE;\u0CAE\u0C82\u0C97\u0CB3;\u0CAC\u0CC1\u0CA7;\u0C97\u0CC1\u0CB0\u0CC1;\u0CB6\u0CC1\u0C95\u0CCD\u0CB0;\u0CB6\u0CA8\u0CBF"), + ampm: _("\u0CAA\u0CC2\u0CB0\u0CCD\u0CB5\u0CBE\u0CB9\u0CCD\u0CA8;\u0C85\u0CAA\u0CB0\u0CBE\u0CB9\u0CCD\u0CA8") + }, "kn"); + addLocale({ + decimal: ",", + mmmm: _("sausio;vasario;kovo;baland\u017Eio;gegu\u017E\u0117s;bir\u017Eelio;liepos;rugpj\u016B\u010Dio;rugs\u0117jo;spalio;lapkri\u010Dio;gruod\u017Eio"), + mmm: _("saus.;vas.;kov.;bal.;geg.;bir\u017E.;liep.;rugp.;rugs.;spal.;lapkr.;gruod."), + dddd: _("sekmadienis;pirmadienis;antradienis;tre\u010Diadienis;ketvirtadienis;penktadienis;\u0161e\u0161tadienis"), + ddd: _("sk;pr;an;tr;kt;pn;\u0161t"), + ampm: _("prie\u0161piet;popiet") + }, "lt"); + addLocale({ + decimal: ",", + mmmm: _("janv\u0101ris;febru\u0101ris;marts;apr\u012Blis;maijs;j\u016Bnijs;j\u016Blijs;augusts;septembris;oktobris;novembris;decembris"), + mmm: _("janv.;febr.;marts;apr.;maijs;j\u016Bn.;j\u016Bl.;aug.;sept.;okt.;nov.;dec."), + dddd: _("sv\u0113tdiena;pirmdiena;otrdiena;tre\u0161diena;ceturtdiena;piektdiena;sestdiena"), + ddd: _("sv\u0113td.;pirmd.;otrd.;tre\u0161d.;ceturtd.;piektd.;sestd."), + ampm: _("priek\u0161pusdien\u0101;p\u0113cpusdien\u0101") + }, "lv"); + addLocale({ + group: ",", + decimal: ".", + mmmm: _("\u0D1C\u0D28\u0D41\u0D35\u0D30\u0D3F;\u0D2B\u0D46\u0D2C\u0D4D\u0D30\u0D41\u0D35\u0D30\u0D3F;\u0D2E\u0D3E\u0D7C\u0D1A\u0D4D\u0D1A\u0D4D;\u0D0F\u0D2A\u0D4D\u0D30\u0D3F\u0D7D;\u0D2E\u0D47\u0D2F\u0D4D;\u0D1C\u0D42\u0D7A;\u0D1C\u0D42\u0D32\u0D48;\u0D13\u0D17\u0D38\u0D4D\u0D31\u0D4D\u0D31\u0D4D;\u0D38\u0D46\u0D2A\u0D4D\u0D31\u0D4D\u0D31\u0D02\u0D2C\u0D7C;\u0D12\u0D15\u0D4D\u200C\u0D1F\u0D4B\u0D2C\u0D7C;\u0D28\u0D35\u0D02\u0D2C\u0D7C;\u0D21\u0D3F\u0D38\u0D02\u0D2C\u0D7C"), + mmm: _("\u0D1C\u0D28\u0D41;\u0D2B\u0D46\u0D2C\u0D4D\u0D30\u0D41;\u0D2E\u0D3E\u0D7C;\u0D0F\u0D2A\u0D4D\u0D30\u0D3F;\u0D2E\u0D47\u0D2F\u0D4D;\u0D1C\u0D42\u0D7A;\u0D1C\u0D42\u0D32\u0D48;\u0D13\u0D17;\u0D38\u0D46\u0D2A\u0D4D\u0D31\u0D4D\u0D31\u0D02;\u0D12\u0D15\u0D4D\u0D1F\u0D4B;\u0D28\u0D35\u0D02;\u0D21\u0D3F\u0D38\u0D02"), + dddd: _("\u0D1E\u0D3E\u0D2F\u0D31\u0D3E\u0D34\u0D4D\u200C\u0D1A;\u0D24\u0D3F\u0D19\u0D4D\u0D15\u0D33\u0D3E\u0D34\u0D4D\u200C\u0D1A;\u0D1A\u0D4A\u0D35\u0D4D\u0D35\u0D3E\u0D34\u0D4D\u0D1A;\u0D2C\u0D41\u0D27\u0D28\u0D3E\u0D34\u0D4D\u200C\u0D1A;\u0D35\u0D4D\u0D2F\u0D3E\u0D34\u0D3E\u0D34\u0D4D\u200C\u0D1A;\u0D35\u0D46\u0D33\u0D4D\u0D33\u0D3F\u0D2F\u0D3E\u0D34\u0D4D\u200C\u0D1A;\u0D36\u0D28\u0D3F\u0D2F\u0D3E\u0D34\u0D4D\u200C\u0D1A"), + ddd: _("\u0D1E\u0D3E\u0D2F\u0D7C;\u0D24\u0D3F\u0D19\u0D4D\u0D15\u0D7E;\u0D1A\u0D4A\u0D35\u0D4D\u0D35;\u0D2C\u0D41\u0D27\u0D7B;\u0D35\u0D4D\u0D2F\u0D3E\u0D34\u0D02;\u0D35\u0D46\u0D33\u0D4D\u0D33\u0D3F;\u0D36\u0D28\u0D3F") + }, "ml"); + addLocale({ + group: ",", + decimal: ".", + mmmm: _("\u043D\u044D\u0433\u0434\u04AF\u0433\u044D\u044D~;\u0445\u043E\u0451\u0440\u0434\u0443\u0433\u0430\u0430~;\u0433\u0443\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430~;\u0434\u04E9\u0440\u04E9\u0432\u0434\u04AF\u0433\u044D\u044D~;\u0442\u0430\u0432\u0434\u0443\u0433\u0430\u0430~;\u0437\u0443\u0440\u0433\u0430\u0430\u0434\u0443\u0433\u0430\u0430~;\u0434\u043E\u043B\u043E\u043E\u0434\u0443\u0433\u0430\u0430~;\u043D\u0430\u0439\u043C\u0434\u0443\u0433\u0430\u0430~;\u0435\u0441\u0434\u04AF\u0433\u044D\u044D~;\u0430\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430~;\u0430\u0440\u0432\u0430\u043D \u043D\u044D\u0433\u0434\u04AF\u0433\u044D\u044D~;\u0430\u0440\u0432\u0430\u043D \u0445\u043E\u0451\u0440\u0434\u0443\u0433\u0430\u0430~", "\u0440 \u0441\u0430\u0440"), + mmm: _("1~;2~;3~;4~;5~;6~;7~;8~;9~;10~;11~;12~", "-\u0440 \u0441\u0430\u0440"), + dddd: _("\u043D\u044F\u043C;\u0434\u0430\u0432\u0430\u0430;\u043C\u044F\u0433\u043C\u0430\u0440;\u043B\u0445\u0430\u0433\u0432\u0430;\u043F\u04AF\u0440\u044D\u0432;\u0431\u0430\u0430\u0441\u0430\u043D;\u0431\u044F\u043C\u0431\u0430"), + ddd: _("\u041D\u044F;\u0414\u0430;\u041C\u044F;\u041B\u0445;\u041F\u04AF;\u0411\u0430;\u0411\u044F"), + ampm: _("\u04AF.\u04E9.;\u04AF.\u0445.") + }, "mn"); + addLocale({ + group: ",", + decimal: ".", + mmmm: _("\u091C\u093E\u0928\u0947\u0935\u093E\u0930\u0940;\u092B\u0947\u092C\u094D\u0930\u0941\u0935\u093E\u0930\u0940;\u092E\u093E\u0930\u094D\u091A;\u090F\u092A\u094D\u0930\u093F\u0932;\u092E\u0947;\u091C\u0942\u0928;\u091C\u0941\u0932\u0948;\u0911\u0917\u0938\u094D\u091F;\u0938\u092A\u094D\u091F\u0947\u0902\u092C\u0930;\u0911\u0915\u094D\u091F\u094B\u092C\u0930;\u0928\u094B\u0935\u094D\u0939\u0947\u0902\u092C\u0930;\u0921\u093F\u0938\u0947\u0902\u092C\u0930"), + mmm: _("\u091C\u093E\u0928\u0947;\u092B\u0947\u092C\u094D\u0930\u0941;\u092E\u093E\u0930\u094D\u091A;\u090F\u092A\u094D\u0930\u093F;\u092E\u0947;\u091C\u0942\u0928;\u091C\u0941\u0932\u0948;\u0911\u0917;\u0938\u092A\u094D\u091F\u0947\u0902;\u0911\u0915\u094D\u091F\u094B;\u0928\u094B\u0935\u094D\u0939\u0947\u0902;\u0921\u093F\u0938\u0947\u0902"), + dddd: _("\u0930\u0935\u093F\u0935\u093E\u0930;\u0938\u094B\u092E\u0935\u093E\u0930;\u092E\u0902\u0917\u0933\u0935\u093E\u0930;\u092C\u0941\u0927\u0935\u093E\u0930;\u0917\u0941\u0930\u0941\u0935\u093E\u0930;\u0936\u0941\u0915\u094D\u0930\u0935\u093E\u0930;\u0936\u0928\u093F\u0935\u093E\u0930"), + ddd: _("\u0930\u0935\u093F;\u0938\u094B\u092E;\u092E\u0902\u0917\u0933;\u092C\u0941\u0927;\u0917\u0941\u0930\u0941;\u0936\u0941\u0915\u094D\u0930;\u0936\u0928\u093F") + }, "mr"); + addLocale(xm({ + group: ",", + decimal: ".", + mmmm: _("\u1007\u1014\u103A\u1014\u101D\u102B\u101B\u102E;\u1016\u1031\u1016\u1031\u102C\u103A\u101D\u102B\u101B\u102E;\u1019\u1010\u103A;\u1027\u1015\u103C\u102E;\u1019\u1031;\u1007\u103D\u1014\u103A;\u1007\u1030\u101C\u102D\u102F\u1004\u103A;\u1029\u1002\u102F\u1010\u103A;\u1005\u1000\u103A\u1010\u1004\u103A\u1018\u102C;\u1021\u1031\u102C\u1000\u103A\u1010\u102D\u102F\u1018\u102C;\u1014\u102D\u102F\u101D\u1004\u103A\u1018\u102C;\u1012\u102E\u1007\u1004\u103A\u1018\u102C"), + mmm: _("\u1007\u1014\u103A;\u1016\u1031;\u1019\u1010\u103A;\u1027;\u1019\u1031;\u1007\u103D\u1014\u103A;\u1007\u1030;\u1029;\u1005\u1000\u103A;\u1021\u1031\u102C\u1000\u103A;\u1014\u102D\u102F;\u1012\u102E"), + dddd: _("\u1010\u1014\u1004\u103A\u1039\u1002\u1014\u103D\u1031;\u1010\u1014\u1004\u103A\u1039\u101C\u102C;\u1021\u1004\u103A\u1039\u1002\u102B;\u1017\u102F\u1012\u1039\u1013\u101F\u1030\u1038;\u1000\u103C\u102C\u101E\u1015\u1010\u1031\u1038;\u101E\u1031\u102C\u1000\u103C\u102C;\u1005\u1014\u1031"), + ampm: _("\u1014\u1036\u1014\u1000\u103A;\u100A\u1014\u1031") + }, -1, 0), "my"); + addLocale({ + group: ",", + decimal: ".", + mmmm: _("\u0A1C\u0A28\u0A35\u0A30\u0A40;\u0A2B\u0A3C\u0A30\u0A35\u0A30\u0A40;\u0A2E\u0A3E\u0A30\u0A1A;\u0A05\u0A2A\u0A4D\u0A30\u0A48\u0A32;\u0A2E\u0A08;\u0A1C\u0A42\u0A28;\u0A1C\u0A41\u0A32\u0A3E\u0A08;\u0A05\u0A17\u0A38\u0A24;\u0A38\u0A24\u0A70\u0A2C\u0A30;\u0A05\u0A15\u0A24\u0A42\u0A2C\u0A30;\u0A28\u0A35\u0A70\u0A2C\u0A30;\u0A26\u0A38\u0A70\u0A2C\u0A30"), + mmm: _("\u0A1C\u0A28;\u0A2B\u0A3C\u0A30;\u0A2E\u0A3E\u0A30\u0A1A;\u0A05\u0A2A\u0A4D\u0A30\u0A48;\u0A2E\u0A08;\u0A1C\u0A42\u0A28;\u0A1C\u0A41\u0A32\u0A3E;\u0A05\u0A17;\u0A38\u0A24\u0A70;\u0A05\u0A15\u0A24\u0A42;\u0A28\u0A35\u0A70;\u0A26\u0A38\u0A70"), + dddd: _("\u0A10\u0A24\u0A35\u0A3E\u0A30;\u0A38\u0A4B\u0A2E\u0A35\u0A3E\u0A30;\u0A2E\u0A70\u0A17\u0A32\u0A35\u0A3E\u0A30;\u0A2C\u0A41\u0A71\u0A27\u0A35\u0A3E\u0A30;\u0A35\u0A40\u0A30\u0A35\u0A3E\u0A30;\u0A38\u0A3C\u0A41\u0A71\u0A15\u0A30\u0A35\u0A3E\u0A30;\u0A38\u0A3C\u0A28\u0A3F\u0A71\u0A1A\u0A30\u0A35\u0A3E\u0A30"), + ddd: _("\u0A10\u0A24;\u0A38\u0A4B\u0A2E;\u0A2E\u0A70\u0A17\u0A32;\u0A2C\u0A41\u0A71\u0A27;\u0A35\u0A40\u0A30;\u0A38\u0A3C\u0A41\u0A71\u0A15\u0A30;\u0A38\u0A3C\u0A28\u0A3F\u0A71\u0A1A\u0A30"), + ampm: _("\u0A2A\u0A42.\u0A26\u0A41.;\u0A2C\u0A3E.\u0A26\u0A41.") + }, "pa"); + addLocale({ + group: ".", + decimal: ",", + mmmm: _("ianuarie;februarie;martie;aprilie;mai;iunie;iulie;august;septem~;octom~;noiem~;decem~", "brie"), + mmm: _("ian.;feb.;mar.;apr.;mai;iun.;iul.;aug.;sept.;oct.;nov.;dec."), + dddd: _("duminic\u0103;luni;mar\u021Bi;miercuri;joi;vineri;s\xE2mb\u0103t\u0103"), + ddd: _("dum.;lun.;mar.;mie.;joi;vin.;s\xE2m."), + ampm: _("a.m.;p.m.") + }, "ro"); + addLocale(xm({ + group: ".", + decimal: ",", + mmmm: _("januar;februar;marec;april;maj;junij;julij;avgust;september;oktober;november;december"), + mmm: _("jan.;feb.;mar.;apr.;maj;jun.;jul.;avg.;sep.;okt.;nov.;dec."), + dddd: _("nedelja;ponedeljek;torek;sreda;\u010Detrtek;petek;sobota"), + ampm: _("dop.;pop.") + }, -1, 13), "sl"); + addLocale(xm({ + group: ".", + decimal: ",", + mmmm: _("\u0458\u0430\u043D\u0443\u0430\u0440;\u0444\u0435\u0431\u0440\u0443\u0430\u0440;\u043C\u0430\u0440\u0442;\u0430\u043F\u0440\u0438\u043B;\u043C\u0430\u0458;\u0458\u0443\u043D;\u0458\u0443\u043B;\u0430\u0432\u0433\u0443\u0441\u0442;\u0441\u0435\u043F\u0442\u0435\u043C\u0431\u0430\u0440;\u043E\u043A\u0442\u043E\u0431\u0430\u0440;\u043D\u043E\u0432\u0435\u043C\u0431\u0430\u0440;\u0434\u0435\u0446\u0435\u043C\u0431\u0430\u0440"), + dddd: _("\u043D\u0435\u0434\u0435\u0459\u0430;\u043F\u043E\u043D\u0435\u0434\u0435\u0459\u0430\u043A;\u0443\u0442\u043E\u0440\u0430\u043A;\u0441\u0440\u0435\u0434\u0430;\u0447\u0435\u0442\u0432\u0440\u0442\u0430\u043A;\u043F\u0435\u0442\u0430\u043A;\u0441\u0443\u0431\u043E\u0442\u0430") + }, 3, 3), "sr"); + addLocale({ + group: ",", + decimal: ".", + mmmm: _("\u0B9C\u0BA9\u0BB5\u0BB0\u0BBF;\u0BAA\u0BBF\u0BAA\u0BCD\u0BB0\u0BB5\u0BB0\u0BBF;\u0BAE\u0BBE\u0BB0\u0BCD\u0B9A\u0BCD;\u0B8F\u0BAA\u0BCD\u0BB0\u0BB2\u0BCD;\u0BAE\u0BC7;\u0B9C\u0BC2\u0BA9\u0BCD;\u0B9C\u0BC2\u0BB2\u0BC8;\u0B86\u0B95\u0BB8\u0BCD\u0B9F\u0BCD;\u0B9A\u0BC6\u0BAA\u0BCD\u0B9F\u0BAE\u0BCD\u0BAA\u0BB0\u0BCD;\u0B85\u0B95\u0BCD\u0B9F\u0BCB\u0BAA\u0BB0\u0BCD;\u0BA8\u0BB5\u0BAE\u0BCD\u0BAA\u0BB0\u0BCD;\u0B9F\u0BBF\u0B9A\u0BAE\u0BCD\u0BAA\u0BB0\u0BCD"), + mmm: _("\u0B9C\u0BA9.;\u0BAA\u0BBF\u0BAA\u0BCD.;\u0BAE\u0BBE\u0BB0\u0BCD.;\u0B8F\u0BAA\u0BCD.;\u0BAE\u0BC7;\u0B9C\u0BC2\u0BA9\u0BCD;\u0B9C\u0BC2\u0BB2\u0BC8;\u0B86\u0B95.;\u0B9A\u0BC6\u0BAA\u0BCD.;\u0B85\u0B95\u0BCD.;\u0BA8\u0BB5.;\u0B9F\u0BBF\u0B9A."), + dddd: _("\u0B9E\u0BBE\u0BAF\u0BBF\u0BB1\u0BC1;\u0BA4\u0BBF\u0B99\u0BCD\u0B95\u0BB3\u0BCD;\u0B9A\u0BC6\u0BB5\u0BCD\u0BB5\u0BBE\u0BAF\u0BCD;\u0BAA\u0BC1\u0BA4\u0BA9\u0BCD;\u0BB5\u0BBF\u0BAF\u0BBE\u0BB4\u0BA9\u0BCD;\u0BB5\u0BC6\u0BB3\u0BCD\u0BB3\u0BBF;\u0B9A\u0BA9\u0BBF"), + ddd: _("\u0B9E\u0BBE\u0BAF\u0BBF.;\u0BA4\u0BBF\u0B99\u0BCD.;\u0B9A\u0BC6\u0BB5\u0BCD.;\u0BAA\u0BC1\u0BA4.;\u0BB5\u0BBF\u0BAF\u0BBE.;\u0BB5\u0BC6\u0BB3\u0BCD.;\u0B9A\u0BA9\u0BBF") + }, "ta"); + addLocale({ + group: ",", + decimal: ".", + mmmm: _("\u0C1C\u0C28\u0C35\u0C30\u0C3F;\u0C2B\u0C3F\u0C2C\u0C4D\u0C30\u0C35\u0C30\u0C3F;\u0C2E\u0C3E\u0C30\u0C4D\u0C1A\u0C3F;\u0C0F\u0C2A\u0C4D\u0C30\u0C3F\u0C32\u0C4D;\u0C2E\u0C47;\u0C1C\u0C42\u0C28\u0C4D;\u0C1C\u0C41\u0C32\u0C48;\u0C06\u0C17\u0C38\u0C4D\u0C1F\u0C41;\u0C38\u0C46\u0C2A\u0C4D\u0C1F\u0C46\u0C02\u0C2C\u0C30\u0C4D;\u0C05\u0C15\u0C4D\u0C1F\u0C4B\u0C2C\u0C30\u0C4D;\u0C28\u0C35\u0C02\u0C2C\u0C30\u0C4D;\u0C21\u0C3F\u0C38\u0C46\u0C02\u0C2C\u0C30\u0C4D"), + mmm: _("\u0C1C\u0C28;\u0C2B\u0C3F\u0C2C\u0C4D\u0C30;\u0C2E\u0C3E\u0C30\u0C4D\u0C1A\u0C3F;\u0C0F\u0C2A\u0C4D\u0C30\u0C3F;\u0C2E\u0C47;\u0C1C\u0C42\u0C28\u0C4D;\u0C1C\u0C41\u0C32\u0C48;\u0C06\u0C17;\u0C38\u0C46\u0C2A\u0C4D\u0C1F\u0C46\u0C02;\u0C05\u0C15\u0C4D\u0C1F\u0C4B;\u0C28\u0C35\u0C02;\u0C21\u0C3F\u0C38\u0C46\u0C02"), + dddd: _("\u0C06\u0C26\u0C3F\u0C35\u0C3E\u0C30\u0C02;\u0C38\u0C4B\u0C2E\u0C35\u0C3E\u0C30\u0C02;\u0C2E\u0C02\u0C17\u0C33\u0C35\u0C3E\u0C30\u0C02;\u0C2C\u0C41\u0C27\u0C35\u0C3E\u0C30\u0C02;\u0C17\u0C41\u0C30\u0C41\u0C35\u0C3E\u0C30\u0C02;\u0C36\u0C41\u0C15\u0C4D\u0C30\u0C35\u0C3E\u0C30\u0C02;\u0C36\u0C28\u0C3F\u0C35\u0C3E\u0C30\u0C02"), + ddd: _("\u0C06\u0C26\u0C3F;\u0C38\u0C4B\u0C2E;\u0C2E\u0C02\u0C17\u0C33;\u0C2C\u0C41\u0C27;\u0C17\u0C41\u0C30\u0C41;\u0C36\u0C41\u0C15\u0C4D\u0C30;\u0C36\u0C28\u0C3F") + }, "te"); + addLocale({ + decimal: ",", + mmmm: _("\u0441\u0456\u0447\u043D\u044F;\u043B\u044E\u0442\u043E\u0433\u043E;\u0431\u0435\u0440\u0435\u0437\u043D\u044F;\u043A\u0432\u0456\u0442\u043D\u044F;\u0442\u0440\u0430\u0432\u043D\u044F;\u0447\u0435\u0440\u0432\u043D\u044F;\u043B\u0438\u043F\u043D\u044F;\u0441\u0435\u0440\u043F\u043D\u044F;\u0432\u0435\u0440\u0435\u0441\u043D\u044F;\u0436\u043E\u0432\u0442\u043D\u044F;\u043B\u0438\u0441\u0442\u043E\u043F\u0430\u0434\u0430;\u0433\u0440\u0443\u0434\u043D\u044F"), + mmm: _("\u0441\u0456\u0447.;\u043B\u044E\u0442.;\u0431\u0435\u0440.;\u043A\u0432\u0456\u0442.;\u0442\u0440\u0430\u0432.;\u0447\u0435\u0440\u0432.;\u043B\u0438\u043F.;\u0441\u0435\u0440\u043F.;\u0432\u0435\u0440.;\u0436\u043E\u0432\u0442.;\u043B\u0438\u0441\u0442.;\u0433\u0440\u0443\u0434."), + dddd: _("\u043D\u0435\u0434\u0456\u043B\u044E;\u043F\u043E\u043D\u0435\u0434\u0456\u043B\u043E\u043A;\u0432\u0456\u0432\u0442\u043E\u0440\u043E\u043A;\u0441\u0435\u0440\u0435\u0434\u0443;\u0447\u0435\u0442\u0432\u0435\u0440;\u043F\u02BC\u044F\u0442\u043D\u0438\u0446\u044E;\u0441\u0443\u0431\u043E\u0442\u0443"), + ddd: _("\u043D\u0434;\u043F\u043D;\u0432\u0442;\u0441\u0440;\u0447\u0442;\u043F\u0442;\u0441\u0431"), + ampm: _("\u0434\u043F;\u043F\u043F") + }, "uk"); + addLocale({ + group: ".", + decimal: ",", + mmmm: _("~1;~2;~3;~4;~5;~6;~7;~8;~9;~10;~11;~12", "th\xE1ng "), + mmm: _("~1;~2;~3;~4;~5;~6;~7;~8;~9;~10;~11;~12", "thg "), + dddd: _("Ch\u1EE7 Nh\u1EADt;Th\u1EE9 Hai;Th\u1EE9 Ba;Th\u1EE9 T\u01B0;Th\u1EE9 N\u0103m;Th\u1EE9 S\xE1u;Th\u1EE9 B\u1EA3y"), + ddd: _("CN;Th 2;Th 3;Th 4;Th 5;Th 6;Th 7"), + ampm: _("SA;CH") + }, "vi"); + addLocale(xm({ + group: "\u066C", + decimal: "\u066B", + ampm: _("\u0635;\u0645"), + mmmm: _("\u064A\u0646\u0627\u064A\u0631;\u0641\u0628\u0631\u0627\u064A\u0631;\u0645\u0627\u0631\u0633;\u0623\u0628\u0631\u064A\u0644;\u0645\u0627\u064A\u0648;\u064A\u0648\u0646\u064A\u0648;\u064A\u0648\u0644\u064A\u0648;\u0623\u063A\u0633\u0637\u0633;\u0633\u0628\u062A\u0645\u0628\u0631;\u0623\u0643\u062A\u0648\u0628\u0631;\u0646\u0648\u0641\u0645\u0628\u0631;\u062F\u064A\u0633\u0645\u0628\u0631"), + dddd: _("\u0627\u0644\u0623\u062D\u062F;\u0627\u0644\u0627\u062B\u0646\u064A\u0646;\u0627\u0644\u062B\u0644\u0627\u062B\u0627\u0621;\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621;\u0627\u0644\u062E\u0645\u064A\u0633;\u0627\u0644\u062C\u0645\u0639\u0629;\u0627\u0644\u0633\u0628\u062A"), + mmmm6: _("\u0631\u0645\u0636\u0627\u0646;\u0634\u0648\u0627\u0644;\u0630\u0648 \u0627\u0644\u0642\u0639\u062F\u0629;\u0630\u0648 \u0627\u0644\u062D\u062C\u0629;\u0645\u062D\u0631\u0645;\u0631\u0628\u064A\u0639 \u0627\u0644\u0623\u0648\u0644;\u0631\u0628\u064A\u0639 \u0627\u0644\u0622\u062E\u0631\u0629;\u062C\u0645\u0627\u062F\u0649 \u0627\u0644\u0623\u0648\u0644\u0649;\u062C\u0645\u0627\u062F\u0649 \u0627\u0644\u0622\u062E\u0631\u0629;\u0631\u062C\u0628;\u0634\u0639\u0628\u0627\u0646;\u0631\u0645\u0636\u0627\u0646") + }, 0, 0), "ar"); + addLocale({ + group: ",", + decimal: ".", + mmmm: _("\u099C\u09BE\u09A8\u09C1\u09AF\u09BC\u09BE\u09B0\u09C0;\u09AB\u09C7\u09AC\u09CD\u09B0\u09C1\u09AF\u09BC\u09BE\u09B0\u09C0;\u09AE\u09BE\u09B0\u09CD\u099A;\u098F\u09AA\u09CD\u09B0\u09BF\u09B2;\u09AE\u09C7;\u099C\u09C1\u09A8;\u099C\u09C1\u09B2\u09BE\u0987;\u0986\u0997\u09B8\u09CD\u099F;\u09B8\u09C7\u09AA\u09CD\u099F\u09C7\u09AE\u09CD\u09AC\u09B0;\u0985\u0995\u09CD\u099F\u09CB\u09AC\u09B0;\u09A8\u09AD\u09C7\u09AE\u09CD\u09AC\u09B0;\u09A1\u09BF\u09B8\u09C7\u09AE\u09CD\u09AC\u09B0"), + mmm: _("\u099C\u09BE\u09A8\u09C1;\u09AB\u09C7\u09AC;\u09AE\u09BE\u09B0\u09CD\u099A;\u098F\u09AA\u09CD\u09B0\u09BF;\u09AE\u09C7;\u099C\u09C1\u09A8;\u099C\u09C1\u09B2;\u0986\u0997;\u09B8\u09C7\u09AA\u09CD\u099F\u09C7\u0983;\u0985\u0995\u09CD\u099F\u09CB\u0983;\u09A8\u09AD\u09C7\u0983;\u09A1\u09BF\u09B8\u09C7\u0983"), + dddd: _("\u09B0\u09AC\u09BF\u09AC\u09BE\u09B0;\u09B8\u09CB\u09AE\u09AC\u09BE\u09B0;\u09AE\u0999\u09CD\u0997\u09B2\u09AC\u09BE\u09B0;\u09AC\u09C1\u09A7\u09AC\u09BE\u09B0;\u09AC\u09C3\u09B9\u09B8\u09CD\u09AA\u09A4\u09BF\u09AC\u09BE\u09B0;\u09B6\u09C1\u0995\u09CD\u09B0\u09AC\u09BE\u09B0;\u09B6\u09A8\u09BF\u09AC\u09BE\u09B0"), + ddd: _("\u09B0\u09AC\u09BF;\u09B8\u09CB\u09AE;\u09AE\u0999\u09CD\u0997\u09B2;\u09AC\u09C1\u09A7;\u09AC\u09C3\u09B9\u09B8\u09CD\u09AA\u09A4\u09BF;\u09B6\u09C1\u0995\u09CD\u09B0;\u09B6\u09A8\u09BF") + }, "bn"); + addLocale({ + group: ",", + decimal: ".", + mmmm: _("\u091C\u0928\u0935\u0930\u0940;\u092B\u093C\u0930\u0935\u0930\u0940;\u092E\u093E\u0930\u094D\u091A;\u0905\u092A\u094D\u0930\u0948\u0932;\u092E\u0908;\u091C\u0942\u0928;\u091C\u0941\u0932\u093E\u0908;\u0905\u0917\u0938\u094D\u0924;\u0938\u093F\u0924\u0902\u092C\u0930;\u0905\u0915\u094D\u0924\u0942\u092C\u0930;\u0928\u0935\u0902\u092C\u0930;\u0926\u093F\u0938\u0902\u092C\u0930"), + mmm: _("\u091C\u0928\u0970;\u092B\u093C\u0930\u0970;\u092E\u093E\u0930\u094D\u091A;\u0905\u092A\u094D\u0930\u0948\u0932;\u092E\u0908;\u091C\u0942\u0928;\u091C\u0941\u0932\u0970;\u0905\u0917\u0970;\u0938\u093F\u0924\u0970;\u0905\u0915\u094D\u0924\u0942\u0970;\u0928\u0935\u0970;\u0926\u093F\u0938\u0970"), + dddd: _("\u0930\u0935\u093F\u0935\u093E\u0930;\u0938\u094B\u092E\u0935\u093E\u0930;\u092E\u0902\u0917\u0932\u0935\u093E\u0930;\u092C\u0941\u0927\u0935\u093E\u0930;\u0917\u0941\u0930\u0941\u0935\u093E\u0930;\u0936\u0941\u0915\u094D\u0930\u0935\u093E\u0930;\u0936\u0928\u093F\u0935\u093E\u0930"), + ddd: _("\u0930\u0935\u093F;\u0938\u094B\u092E;\u092E\u0902\u0917\u0932;\u092C\u0941\u0927;\u0917\u0941\u0930\u0941;\u0936\u0941\u0915\u094D\u0930;\u0936\u0928\u093F"), + ampm: _("am;pm") + }, "hi"); + + // node_modules/numfmt/lib/options.js + var defaultOptions = { + // Overflow error string + overflow: "######", + // dateErrorThrow needs to be off! [prev in locale] + // Should it throw when there is an overflow error? + dateErrorThrows: false, + // Should it emit a number when date has an overflow error? (Sheets does this) + dateErrorNumber: true, + // dateErrorThrow needs to be off! + // Should it emit a number when bigint has an is an overflow error? + bigintErrorNumber: false, + // Sheets mode (see #3) + dateSpanLarge: true, + // Simulate the Lotus 1-2-3 leap year bug + leap1900: true, + // Emit regular vs. non-breaking spaces + nbsp: false, + // Robust/throw mode + throws: true, + // What is emitted when robust mode fails to parse (###### currently) + invalid: "######", + // Locale + locale: "", + // Don't adjust dates to UTC when converting them to serial time + ignoreTimezone: false, + // Integer digit grouping + grouping: [3, 3], + // resolve indexed colors to hex + indexColors: true, + // Skip-next signifier character + skipChar: "", + // Repear-next signifier character + repeatChar: "" + }; + + // node_modules/numfmt/lib/round.js + function round(number, places = 0) { + if (typeof number !== "number") { + return number; + } + if (number < 0) { + return -round(-number, places); + } + if (places) { + const p = 10 ** places || 1; + return round(number * p, 0) / p; + } + return Math.round(number); + } + + // node_modules/numfmt/lib/dec2frac.js + var PRECISION = 1e-13; + function dec2frac(number, numeratorMaxDigits = 2, denominatorMaxDigits = 2) { + const sign2 = number < 0 ? -1 : 1; + const maxdigits_n = 10 ** (numeratorMaxDigits || 2); + const maxdigits_d = 10 ** (denominatorMaxDigits || 2); + let z4 = Math.abs(number); + let last_d = 0; + let last_n = 0; + let curr_n = 0; + let curr_d = 1; + let tmp; + let r; + number = z4; + if (number % 1 === 0) { + r = [number * sign2, 1]; + } else if (number < 1e-19) { + r = [sign2, 1e19]; + } else if (number > 1e19) { + r = [1e19 * sign2, 1]; + } else { + do { + z4 = 1 / (z4 - Math.floor(z4)); + tmp = curr_d; + curr_d = curr_d * Math.floor(z4) + last_d; + last_d = tmp; + last_n = curr_n; + curr_n = Math.floor(number * curr_d + 0.5); + if (curr_n >= maxdigits_n || curr_d >= maxdigits_d) { + return [sign2 * last_n, last_d]; + } + } while (Math.abs(number - curr_n / curr_d) >= PRECISION && z4 !== Math.floor(z4)); + r = [sign2 * curr_n, curr_d]; + } + return r; + } + + // node_modules/numfmt/lib/toYMD.js + var floor = Math.floor; + function toYMD_1900(ord, leap1900 = true) { + if (leap1900 && ord >= 0) { + if (ord === 0) { + return [1900, 1, 0]; + } + if (ord === 60) { + return [1900, 2, 29]; + } + if (ord < 60) { + return [1900, ord < 32 ? 1 : 2, (ord - 1) % 31 + 1]; + } + } + let l = ord + 68569 + 2415019; + const n = floor(4 * l / 146097); + l = l - floor((146097 * n + 3) / 4); + const i = floor(4e3 * (l + 1) / 1461001); + l = l - floor(1461 * i / 4) + 31; + const j4 = floor(80 * l / 2447); + const nDay = l - floor(2447 * j4 / 80); + l = floor(j4 / 11); + const nMonth = j4 + 2 - 12 * l; + const nYear = 100 * (n - 49) + i + l; + return [nYear | 0, nMonth | 0, nDay | 0]; + } + function toYMD_1904(ord) { + return toYMD_1900(ord + 1462); + } + function toYMD_1317(ord) { + if (ord === 60) { + throw new Error("#VALUE!"); + } + if (ord <= 1) { + return [1317, 8, 29]; + } + if (ord < 60) { + return [1317, ord < 32 ? 9 : 10, 1 + (ord - 2) % 30]; + } + const y = 10631 / 30; + const shift1 = 8.01 / 60; + let z4 = ord + 466935; + const cyc = floor(z4 / 10631); + z4 = z4 - 10631 * cyc; + const j4 = floor((z4 - shift1) / y); + z4 = z4 - floor(j4 * y + shift1); + const m = floor((z4 + 28.5001) / 29.5); + if (m === 13) { + return [30 * cyc + j4, 12, 30]; + } + return [30 * cyc + j4, m, z4 - floor(29.5001 * m - 29)]; + } + function toYMD(ord, system = 0, leap1900 = true) { + const int = floor(ord); + if (system === EPOCH_1317) { + return toYMD_1317(int); + } + if (system === EPOCH_1904) { + return toYMD_1904(int); + } + return toYMD_1900(int, leap1900); + } + + // node_modules/numfmt/lib/serialDate.js + var floor2 = Math.floor; + var DAYSIZE = 86400; + function dateToSerial(date, options) { + let ts4 = null; + if (Array.isArray(date)) { + const [y, m, d, hh2, mm2, ss4] = date; + ts4 = Date.UTC(y, m == null ? 0 : m - 1, d ?? 1, hh2 || 0, mm2 || 0, ss4 || 0); + } else if (date instanceof Date) { + ts4 = date * 1; + if (!options || !options.ignoreTimezone) { + const dt3 = /* @__PURE__ */ new Date(); + dt3.setUTCFullYear( + date.getFullYear(), + date.getMonth(), + date.getDate() + ); + dt3.setUTCHours( + date.getHours(), + date.getMinutes(), + date.getSeconds(), + date.getMilliseconds() + ); + ts4 = dt3 * 1; + } + } + if (ts4 != null && isFinite(ts4)) { + const d = ts4 / 864e5; + return d - (d <= -25509 ? -25568 : -25569); + } + return null; + } + function dateFromSerial(serialDate, options) { + let date = serialDate | 0; + const t = DAYSIZE * (serialDate - date); + let time = floor2(t); + if (t - time > 0.9999) { + time += 1; + if (time === DAYSIZE) { + time = 0; + date += 1; + } + } + const x2 = time < 0 ? DAYSIZE + time : time; + const [y, m, d] = toYMD(serialDate, 0, options && options.leap1900); + const hh2 = floor2(x2 / 60 / 60) % 60; + const mm2 = floor2(x2 / 60) % 60; + const ss4 = floor2(x2) % 60; + return [y, m, d, hh2, mm2, ss4]; + } + + // node_modules/numfmt/lib/parseValue.js + var okDateFormats = [ + // day-month-year + "!d-m-y", + "!d-m-Y", + "!j-m-y", + "!j-m-Y", + "!d-n-y", + "!d-n-Y", + "!j-n-y", + "!j-n-Y", + // month-day-year + "?m-d-y", + "?m-d-Y", + "?m-j-y", + "?m-j-Y", + "?n-d-y", + "?n-d-Y", + "?n-j-y", + "?n-j-Y", + // unab + "d-M-y", + "d-M-Y", + "j-M-y", + "j-M-Y", + "M-d-y", + "M-d-Y", + "M-j-y", + "M-j-Y", + "d-F-y", + "d-F-Y", + "F-d-y", + "F-d-Y", + "F-j-y", + "F-j-Y", + "j-F-y", + "j-F-Y", + "y-F-d", + "y-F-j", + "y-M-d", + "y-M-j", + "Y-F-d", + "Y-F-j", + "Y-M-d", + "Y-m-d", + "Y-M-j", + "Y-m-j", + "Y-n-d", + "Y-n-j", + "j-F", + // 2-April + "j-M", + // 2-Apr + "d-F", + // 02-April + "d-M", + // 02-Apr + "n-d", + // 4-02 + "n-j", + // 4-2 + "n-Y", + // 4-1908 + "m-d", + // 04-02 + "m-j", + // 04-2 + "m-Y", + // 04-1908 + "M-Y", + // Apr-1908 + "M-y", + // Apr-08 + "F-y", + // April-08 + "F-Y", + // April-1908 + "Y-M", + // 1908-Apr + "Y-n", + // 1908-4 + "Y-m", + // 1908-04 + "Y-F", + // 1908-April + "Y-M" + // 1908-Apr + ]; + var tx0 = { j: "d", d: "d", D: "ddd", l: "dddd", n: "m", m: "m", M: "mmm", F: "mmmm", y: "yy", Y: "yyyy" }; + var tx00 = { j: "dd", d: "dd", D: "ddd", l: "dddd", n: "mm", m: "mm", M: "mmm", F: "mmmm", y: "yy", Y: "yyyy" }; + var dateTrieDM = {}; + var dateTrieMD = {}; + function packDate(f, node, allowType = 1) { + if (f) { + const char = f[0]; + const next = f.slice(1); + if (char === "!") { + packDate(next, node, 4); + } else if (char === "?") { + packDate(next, node, 2); + } else { + node[char] = node[char] || {}; + packDate(next, node[char], allowType); + } + } else { + node.$ = allowType; + } + } + function addFormatToTrie(fmt, trie) { + packDate(fmt, trie); + packDate(fmt + " x", trie); + packDate(fmt + " l", trie); + packDate(fmt + " l x", trie); + packDate("l " + fmt, trie); + packDate("l " + fmt + " x", trie); + packDate(fmt + " D", trie); + packDate(fmt + " D x", trie); + packDate("D " + fmt, trie); + packDate("D " + fmt + " x", trie); + } + okDateFormats.forEach((fmt) => { + fmt[0] !== "?" && addFormatToTrie(fmt, dateTrieDM); + fmt[0] !== "!" && addFormatToTrie(fmt, dateTrieMD); + }); + var currentYear = (/* @__PURE__ */ new Date()).getUTCFullYear(); + var PT = "."; + var CM = ","; + var SP = " "; + var NS = "\xA0"; + var NN = "\u202F"; + var AP = "'"; + var AG = "\u066C"; + var dec2group = { + ".": [CM, NS, NN, AP, AG], + ",": [PT, NS, NN, AP, AG], + "\u066B": [PT, NS, NN, AP, AG] + }; + var isDigit = (d) => d && d.length === 1 && d >= "0" && d <= "9"; + function parseNumber(value, options = {}) { + const l10n = getLocale(options.locale || "") || defaultLocale; + const dec = l10n.decimal; + const grp = [...dec2group[dec] || [AP, AG]]; + if (!grp.includes(l10n.group) && l10n.group !== SP && l10n.group !== dec) { + grp.push(l10n.group); + } + let num = ""; + let exp2 = ""; + let sign2 = 1; + let format2 = ""; + let minus = false; + let openParen = false; + let closeParen = false; + let percent = false; + let currency = false; + let currencySymbol = null; + let currencyTrailing = false; + let i = 0; + const prefixChars = [SP, NS, NN, "+", "%", "(", "-"].concat(currencySymbols); + while (prefixChars.includes(value[i])) { + const char = value[i]; + if (char === "-") { + if (minus || openParen) { + return null; + } + minus = true; + sign2 = -1; + } else if (reCurrencySymbols.test(char)) { + if (currency) { + return null; + } + currency = true; + currencySymbol = char; + } else if (char === "(") { + if (openParen || minus) { + return null; + } + openParen = true; + sign2 = -1; + } else if (char === "%") { + if (percent) { + return null; + } + percent = true; + } + i++; + } + let haveDecimal = false; + let g2; + if (value[i] === dec || isDigit(value[i])) { + while (i < value.length) { + const ch2 = value[i]; + if (!g2 && grp.includes(ch2)) { + g2 = ch2; + } else if (g2 && g2 === ch2) { + } else if (ch2 === dec) { + if (haveDecimal) { + break; + } + num += "."; + haveDecimal = true; + } else if (isDigit(ch2)) { + num += ch2; + } else { + break; + } + i++; + } + } + if (value[i] === "e" || value[i] === "E") { + exp2 += value[i]; + i++; + if (value[i] === "+" || value[i] === "-") { + exp2 += value[i]; + i++; + } + const d = i; + while (isDigit(value[i])) { + exp2 += value[i]; + i++; + } + if (d === i) { + return null; + } + } + const suffixChars = [SP, NS, NN, "%", "$", ")"].concat(currencySymbols); + while (suffixChars.includes(value[i])) { + const char = value[i]; + if (reCurrencySymbols.test(char)) { + if (currency) { + return null; + } + currency = true; + currencySymbol = char; + currencyTrailing = true; + } else if (char === ")") { + if (closeParen || !openParen) { + return null; + } + closeParen = true; + } else if (char === "%") { + if (percent) { + return null; + } + percent = true; + } + i++; + } + if (i !== value.length) { + return null; + } + let numberValue = parseFloat(num + exp2); + if (!isFinite(numberValue)) { + return null; + } + if (exp2) { + if (percent || currency) { + return null; + } + format2 = "0.00E+00"; + } else if (percent) { + if (currency) { + return null; + } + format2 = num.includes(".") ? "0.00%" : "0%"; + numberValue *= 0.01; + } else if (currency) { + const currencyFormat = num.includes(".") ? "#,##0.00" : "#,##0"; + if (currencyTrailing) { + format2 = currencyFormat + currencySymbol; + } else { + format2 = currencySymbol + currencyFormat; + } + } else if (g2) { + format2 = num.includes(".") ? "#,##0.00" : "#,##0"; + } + const ret = { v: numberValue * sign2 }; + if (format2) { + ret.z = format2; + } + return ret; + } + function isValidDate(y, m, d) { + if (d < 1) { + return false; + } + if (m < 1 || m > 12) { + return false; + } + if (m === 2) { + const isLeapYear = y % 4 === 0 && y % 100 !== 0 || y % 400 === 0; + const febDays = isLeapYear || y === 1900 ? 29 : 28; + if (d > febDays) { + return false; + } + } else if ((m === 4 || m === 6 || m === 9 || m === 11) && d > 30 || (m === 1 || m === 3 || m === 5 || m === 7 || m === 8 || m === 10 || m === 12) && d > 31) { + return false; + } + return true; + } + var matchRec = (str, data, skipPeriod = false) => { + for (const item of data) { + if (str.startsWith(item[0])) { + let l = item[0].length; + if (skipPeriod && (item[2] === "D" || item[2] === "M") && str[l] === ".") { + l++; + } + return [str.slice(0, l), item]; + } + } + return ["", null]; + }; + var nextToken = (str, node, data, lData) => { + const path = data.path || ""; + const matchOrder = Object.keys(node); + for (let i = 0; i < matchOrder.length; i++) { + let r; + const t = matchOrder[i]; + if (!node[t]) { + continue; + } + if (t === "$" || t === "\u20AC") { + if (!str) { + r = data; + } + } else if (t === "-") { + const m = /^(\s*([./-]|,\s)\s*|\s+)/.exec(str); + if (m) { + const sep = m[1] === "-" || m[1] === "/" || m[1] === "." ? m[1] : " "; + if (!data.sep || data.sep === sep) { + const s = m[0].replace(/\s+/g, " "); + r = nextToken(str.slice(m[0].length), node[t], { ...data, sep, path: path + s }, lData); + } + } + } else if (t === " ") { + const m = /^[,.]?\s+/.exec(str); + if (m) { + const s = m[0].replace(/\s+/g, " "); + r = nextToken(str.slice(m[0].length), node[t], { ...data, path: path + s }, lData); + } + } else if (t === "j" || t === "d") { + const m = /^(0?[1-9]|1\d|2\d|3[01])\b/.exec(str); + if (m) { + r = nextToken(str.slice(m[0].length), node[t], { ...data, day: m[0], path: path + t }, lData); + } + } else if (t === "n" || t === "m") { + const m = /^(0?[1-9]|1[012])\b/.exec(str); + if (m) { + r = nextToken(str.slice(m[0].length), node[t], { ...data, month: +m[0], _mon: m[0], path: path + t }, lData); + } + } else if (t === "F" || t === "M") { + const [m, match] = matchRec(str, lData.mon, lData.mp); + if (match && match[2] === t) { + r = nextToken( + str.slice(m.length), + node[t], + { ...data, month: match[1], _mon: m, path: path + t }, + lData + ); + } + } else if (t === "l" || t === "D") { + const [m, match] = matchRec(str, lData.day, lData.dp); + if (match && match[2] === t) { + r = nextToken(str.slice(m.length), node[t], { ...data, path: path + t }, lData); + } + } else if (t === "y") { + const m = /^\d\d\b/.exec(str); + if (m) { + const y = +m[0] >= 30 ? +m[0] + 1900 : +m[0] + 2e3; + r = nextToken(str.slice(m[0].length), node[t], { ...data, year: y, path: path + t }, lData); + } + } else if (t === "Y") { + const m = /^\d\d\d\d\b/.exec(str); + if (m) { + r = nextToken(str.slice(m[0].length), node[t], { ...data, year: +m[0], path: path + t }, lData); + } + } else if (t === "x") { + const time = parseTime(str, { locale: lData.locale }); + if (time) { + r = nextToken("", node[t], { ...data, time: time.v, tf: time.z, path: path + t }, lData); + } + } else { + throw new Error(`Unknown date token "${t}"`); + } + if (r) { + if (isValidDate(data.year || 1916, data.month || 1, data.day ? +data.day : 1)) { + return r; + } + } + } + }; + var normDateStr = (s) => s.replace(/\s+/g, " ").trim().replace(/’/, "'").replace(/\.$/, "").toLowerCase(); + var getLookups = (arr, sym) => { + const s = arr.map((d, i) => [normDateStr(d), i + 1, sym]); + s.sort((a, b) => b[0].length - a[0].length); + return s; + }; + function parseDate(value, options = {}) { + const l10n = getLocale(options.locale || "") || defaultLocale; + const lData = { + mon: getLookups(l10n.mmmm, "F").concat(getLookups(l10n.mmm, "M")), + mp: l10n.mmm[0].at(-1) === ".", + day: getLookups(l10n.dddd, "l").concat(getLookups(l10n.ddd, "D")), + dp: l10n.ddd[0].at(-1) === ".", + locale: options.locale + }; + const date = nextToken( + normDateStr(value), + l10n.preferMDY ? dateTrieMD : dateTrieDM, + { path: "" }, + lData + ); + if (date) { + if (date.sep === "." && date.path.length === 3) { + return null; + } + const year = +(date.year ?? currentYear); + if (!date.day) { + date.day = 1; + } + let epoch = -Infinity; + if (year < 1900) { + return null; + } else if (year <= 1900 && date.month <= 2) { + epoch = 25568; + } else if (year < 1e4) { + epoch = 25569; + } + const dateValue = Date.UTC(year, date.month - 1, date.day) / 864e5 + epoch + (date.time || 0); + if (dateValue >= 0 && dateValue <= 2958465) { + const lead0 = ( + // either has a leading zero + date._mon[0] === "0" || date.day[0] === "0" || // both are 2-digits long + date._mon.length === 2 && date.day.length === 2 + ); + const format2 = date.path.replace(/[jdlDnmMFyYx]/g, (a) => { + if (a === "x") { + return date.tf || ""; + } + return (lead0 ? tx00[a] : tx0[a]) || a; + }); + return { v: dateValue, z: format2 }; + } + } + return null; + } + var normAMPMStr = (s) => s.replace(/\s+/g, "").trim().replace(/\./g, "").toLowerCase(); + function parseTime(value, options = {}) { + const l10n = getLocale(options.locale || "") || defaultLocale; + const parts = /^\s*([10]?\d|2[0-4])(?::([0-5]\d|\d))?(?::([0-5]\d|\d))?(\.\d{1,10})?(?=\s*[^\s\d]|$)/.exec(value); + let ampm = ""; + if (parts) { + const tail = normAMPMStr(value.slice(parts[0].length)); + if (tail === normAMPMStr(l10n.ampm[0]) || tail === "a" || tail === "am") { + ampm = "a"; + } else if (tail === normAMPMStr(l10n.ampm[1]) || tail === "p" || tail === "pm") { + ampm = "p"; + } else if (tail) { + return null; + } + } + if (parts) { + const [, h, m, s, f] = parts; + if (f && !s) { + return null; + } + if (!ampm && !m && !s) { + return null; + } + let hrs = +(h || 0) * 1; + if (ampm) { + if (hrs >= 13) { + return null; + } + if (ampm === "p") { + hrs += 12; + } + } + const min2 = +(m || 0) * 1; + const sec = +(s || 0) * 1; + const mss = +(f || 0) * 1; + return { + v: (hrs * 60 * 60 + min2 * 60 + sec + mss) / (60 * 60 * 24), + z: (h.length === 2 ? "hh" : "h") + ":mm" + (s ? ":ss" : "") + (ampm ? " AM/PM" : "") + }; + } + return null; + } + function parseBool(value, options = {}) { + const l10n = getLocale(options.locale || "") || defaultLocale; + const v = value.trim().toLowerCase(); + const bT = l10n.bool[0].toLowerCase(); + if (v === "true" || v === bT) { + return { v: true }; + } + const bF = l10n.bool[1].toLowerCase(); + if (v === "false" || v === bF) { + return { v: false }; + } + return null; + } + function parseValue(value, options) { + return parseNumber(value, options) ?? parseDate(value, options) ?? parseTime(value, options) ?? parseBool(value, options); + } + + // node_modules/numfmt/lib/parseFormatSection.js + function minMaxPad(str, part, prefix) { + part[prefix + "_max"] = str.length; + part[prefix + "_min"] = str.replace(/#/g, "").length; + return part; + } + function add(s, tokens) { + if (typeof s === "string") { + tokens.push({ type: "string", value: s }); + } else { + tokens.push(s); + } + } + function isNumOp(token, activePattern) { + const type2 = token && token.type; + return type2 === TOKEN_HASH || type2 === TOKEN_ZERO || type2 === TOKEN_QMARK || type2 === TOKEN_DIGIT && activePattern === "den"; + } + function parseFormatSection(inputTokens) { + const outputTokens = []; + const part = { + scale: 1, + percent: false, + text: false, + date: 0, + date_eval: false, + date_system: EPOCH_1900, + sec_decimals: 0, + general: false, + clock: 24, + int_pattern: [], + frac_pattern: [], + man_pattern: [], + den_pattern: [], + num_pattern: [], + tokens: outputTokens + }; + let currentPattern = "int"; + let lastNumberChunk = null; + const dateChunks = []; + let last2; + let haveLocale = false; + let index = -1; + let partOver = false; + let patternSource = ""; + let haveSlash = false; + while (++index < inputTokens.length && !partOver) { + const token = inputTokens[index]; + const type2 = token.type || TOKEN_ERROR; + patternSource += token.raw; + if (type2 === TOKEN_GENERAL) { + part.general = true; + add(token, outputTokens); + } else if (isNumOp(token, currentPattern)) { + const pt3 = part[currentPattern + "_pattern"]; + if (isNumOp(last2, currentPattern) || last2?.type === TOKEN_GROUP) { + pt3.push((pt3.pop() || "") + token.value); + lastNumberChunk.num += token.value; + } else { + pt3.push(token.value); + lastNumberChunk = { type: currentPattern, num: token.value }; + add(lastNumberChunk, outputTokens); + } + } else if (type2 === TOKEN_PAREN) { + if (token.value === "(") { + part.parens = true; + } + add(token.value, outputTokens); + } else if (type2 === TOKEN_DIGIT) { + add(token.value, outputTokens); + } else if (type2 === TOKEN_SLASH) { + haveSlash = true; + if (part[currentPattern + "_pattern"].length) { + if (!lastNumberChunk) { + throw new SyntaxError("Format pattern is missing a numerator"); + } + part.fractions = true; + part.num_pattern.push(part[currentPattern + "_pattern"].pop()); + lastNumberChunk.type = "num"; + currentPattern = "den"; + add({ type: "div" }, outputTokens); + } else { + add(token.value, outputTokens); + } + } else if (type2 === TOKEN_COMMA) { + add(",", outputTokens); + } else if (type2 === TOKEN_SCALE) { + part.scale = 1e-3 ** token.raw.length; + } else if (type2 === TOKEN_GROUP) { + if (currentPattern === "int") { + part.grouping = true; + } + if (currentPattern === "den") { + throw new SyntaxError("Cannot group denominator digits"); + } + } else if (type2 === TOKEN_SPACE) { + add(token, outputTokens); + } else if (type2 === TOKEN_BREAK) { + partOver = true; + break; + } else if (type2 === TOKEN_TEXT) { + part.text = true; + add(token, outputTokens); + } else if (type2 === TOKEN_PLUS || type2 === TOKEN_MINUS) { + add(token, outputTokens); + } else if (type2 === TOKEN_DURATION) { + const tokenValue = token.value.toLowerCase(); + const startsWith = tokenValue[0]; + const bit = { type: "", size: 0, date: 1, pad: tokenValue.length }; + if (startsWith === "h") { + bit.size = u_HOUR; + bit.type = "hour-elap"; + } else if (startsWith === "m") { + bit.size = u_MIN; + bit.type = "min-elap"; + } else { + bit.size = u_SEC; + bit.type = "sec-elap"; + } + part.date = part.date | bit.size; + dateChunks.push(bit); + add(bit, outputTokens); + } else if (part.date && type2 === TOKEN_POINT && inputTokens[index + 1]?.type === TOKEN_ZERO) { + let dec = 1; + index++; + let raw = "0"; + if (inputTokens[index + 1]?.type === TOKEN_ZERO) { + raw += "0"; + dec = 2; + index++; + } + if (inputTokens[index + 1]?.type === TOKEN_ZERO) { + raw += "0"; + dec = 3; + index++; + } + patternSource += raw; + const size = [u_SEC, u_DSEC, u_CSEC, u_MSEC][dec]; + part.date = part.date | size; + part.date_eval = true; + part.sec_decimals = Math.max(part.sec_decimals, dec); + add({ + type: "subsec", + size, + decimals: dec, + date: 1 + }, outputTokens); + } else if (type2 === TOKEN_CALENDAR) { + if (!haveLocale) { + if (token.value === "B2" || token.value === "b2") { + part.date_system = EPOCH_1317; + } else { + part.date_system = EPOCH_1900; + } + } + } else if (type2 === TOKEN_DATETIME) { + const bit = { type: "", size: 0, date: 1 }; + const value = token.value.toLowerCase(); + const startsWith = value[0]; + if (value === "y" || value === "yy") { + bit.size = u_YEAR; + bit.type = "year-short"; + } else if (startsWith === "y" || startsWith === "e") { + bit.size = u_YEAR; + bit.type = "year"; + } else if (value === "b" || value === "bb") { + bit.size = u_YEAR; + bit.type = "b-year-short"; + } else if (startsWith === "b") { + bit.size = u_YEAR; + bit.type = "b-year"; + } else if (value === "d" || value === "dd") { + bit.size = u_DAY; + bit.type = "day"; + bit.pad = /dd/.test(value); + } else if (value === "ddd" || value === "aaa") { + bit.size = u_DAY; + bit.type = "weekday-short"; + } else if (startsWith === "d" || startsWith === "a") { + bit.size = u_DAY; + bit.type = "weekday"; + } else if (startsWith === "h") { + bit.size = u_HOUR; + bit.type = "hour"; + bit.pad = /hh/i.test(value); + } else if (startsWith === "m") { + if (value.length === 3) { + bit.size = u_MONTH; + bit.type = "monthname-short"; + } else if (value.length === 5) { + bit.size = u_MONTH; + bit.type = "monthname-single"; + } else if (value.length >= 4) { + bit.size = u_MONTH; + bit.type = "monthname"; + } + const last_date_chunk = dateChunks[dateChunks.length - 1]; + if (!bit.type && last_date_chunk && !last_date_chunk.used && last_date_chunk.size & (u_HOUR | u_SEC)) { + last_date_chunk.used = true; + bit.size = u_MIN; + bit.type = "min"; + bit.pad = /mm/.test(value); + } + if (!bit.type) { + bit.size = u_MONTH; + bit.type = "month"; + bit.pad = /mm/.test(value); + bit.indeterminate = true; + } + } else if (startsWith === "s") { + bit.size = u_SEC; + bit.type = "sec"; + bit.pad = /ss/.test(value); + const last_date_chunk = dateChunks[dateChunks.length - 1]; + if (last_date_chunk && last_date_chunk.size & u_MIN) { + bit.used = true; + } else if (last_date_chunk && last_date_chunk.indeterminate) { + delete last_date_chunk.indeterminate; + last_date_chunk.size = u_MIN; + last_date_chunk.type = "min"; + bit.used = true; + } + } else if (startsWith === "g") { + } + part.date = part.date | bit.size; + part.date_eval = true; + dateChunks.push(bit); + add(bit, outputTokens); + } else if (type2 === TOKEN_AMPM) { + part.clock = 12; + part.date = part.date | u_HOUR; + part.date_eval = true; + token.short = token.value === "A/P"; + add(token, outputTokens); + } else if (type2 === TOKEN_STRING || type2 === TOKEN_ESCAPED || type2 === TOKEN_CHAR) { + add(token.value, outputTokens); + } else if (type2 === TOKEN_CONDITION) { + part.condition = [ + token.value[0], + // operator + parseFloat(token.value[1]) + // operand + ]; + } else if (type2 === TOKEN_LOCALE) { + const bits = token.value.split("-"); + const code = bits.length < 2 ? "" : bits.slice(1).join("-"); + const currency = bits[0]; + if (currency) { + add(currency, outputTokens); + } + const l4e = resolveLocale(code); + if (l4e) { + part.locale = l4e; + } + const wincode = parseInt(code, 16); + if (isFinite(wincode) && wincode & 16711680) { + const cal = wincode >> 16 & 255; + if (cal === 6) { + part.date_system = EPOCH_1317; + } + } + haveLocale = true; + } else if (type2 === TOKEN_COLOR) { + let cm2; + let v = token.value.toLowerCase(); + if (cm2 = /^color\s*(\d+)$/i.exec(v)) { + v = parseInt(cm2[1], 10); + } + part.color = v; + } else if (type2 === TOKEN_PERCENT) { + part.scale = 100; + part.percent = true; + add("%", outputTokens); + } else if (type2 === TOKEN_POINT) { + add(token, outputTokens); + if (!part.date) { + part.dec_fractions = true; + currentPattern = "frac"; + } + } else if (type2 === TOKEN_EXP) { + part.exponential = true; + part.exp_plus = token.value.includes("+"); + currentPattern = "man"; + add({ type: "exp", plus: part.exp_plus }, outputTokens); + } else if (type2 === TOKEN_SKIP) { + add(token, outputTokens); + } else if (type2 === TOKEN_FILL) { + add(token, outputTokens); + } else if (type2 === TOKEN_DBNUM || type2 === TOKEN_NATNUM) { + } else if (type2 === TOKEN_ERROR) { + throw new SyntaxError(`Illegal character: ${patternSource}`); + } else { + throw new SyntaxError(`Unknown token ${type2} in ${patternSource}`); + } + last2 = token; + } + part.tokensUsed = index; + part.pattern = patternSource; + if (/^((?:\[[^\]]+\])+)(;|$)/.test(part.pattern) && !/^\[(?:h+|m+|s+)\]/.test(part.pattern)) { + add({ type: "text" }, outputTokens); + } + if (part.fractions && part.dec_fractions || part.grouping && !part.int_pattern.length || part.fractions && part.exponential || part.fractions && part.den_pattern.length * part.num_pattern.length === 0 || haveSlash && !part.fractions && !part.date || part.exponential && (part.int_pattern.length || part.frac_pattern.length) * part.man_pattern.length === 0) { + throw new SyntaxError(`Invalid pattern: ${patternSource}`); + } + const intPattern = part.int_pattern.join(""); + const manPattern = part.man_pattern.join(""); + const fracPattern = part.frac_pattern.join(""); + minMaxPad(intPattern, part, "int"); + let min2 = 0; + for (let i = 0; i < intPattern.length; i++) { + const ch2 = intPattern[intPattern.length - 1 - i]; + if (/^[0-9?]/.test(ch2)) { + min2 = i + 1; + } + } + part.int_min = min2; + minMaxPad(fracPattern, part, "frac"); + minMaxPad(manPattern, part, "man"); + let num_pat = part.num_pattern.join(""); + let den_pat = part.den_pattern[0] || ""; + const enforce_padded = den_pat.includes("?") || num_pat.includes("?"); + if (enforce_padded) { + den_pat = den_pat.replace(/\d/g, "?"); + den_pat = den_pat.replace(/#$/g, "?"); + minMaxPad(num_pat, part, "num"); + minMaxPad(den_pat, part, "den"); + num_pat = num_pat.replace(/#$/g, "?"); + } else { + minMaxPad(num_pat, part, "num"); + minMaxPad(den_pat, part, "den"); + } + part.int_p = intPattern; + part.man_p = manPattern; + part.num_p = num_pat; + part.den_p = den_pat; + if (part.den_pattern.length) { + part.denominator = parseInt(part.den_pattern.join("").replace(/\D/g, ""), 10); + } + part.integer = !!intPattern.length; + if (!part.integer && !part.exponential && fracPattern.length) { + const pointIdx = part.tokens.findIndex((d) => d.type === "point"); + part.tokens.splice(pointIdx, 0, { type: "int", value: "#" }); + part.integer = true; + part.int_pattern = ["#"]; + part.int_p = "#"; + } + if (part.fractions) { + for (let i = 0; i < outputTokens.length - 1; i++) { + const tok = outputTokens[i]; + if (tok.type !== "string" && tok.type !== "space") { + continue; + } + const nextType = outputTokens[i + 1].type; + if (nextType === "num") { + tok.rule = "num+int"; + } else if (nextType === "div") { + tok.rule = "num"; + } else if (nextType === "den") { + tok.rule = "den"; + } else { + } + } + } + if (part.grouping) { + if (part.int_pattern.length > 1) { + part.grouping = false; + } + } + return part; + } + + // node_modules/numfmt/lib/clamp.js + function clamp(number) { + if (number === 0) { + return number; + } + const d = Math.ceil(Math.log10(number < 0 ? -number : number)); + const mag = 10 ** (16 - Math.floor(d)); + return isFinite(mag) ? Math.round(number * mag) / mag : 0; + } + + // node_modules/numfmt/lib/numberProps.js + function getExponent(num, int_max = 0) { + const exp2 = Math.floor(Math.log10(num)); + return int_max > 1 ? Math.floor(exp2 / int_max) * int_max : exp2; + } + function getSignificand(n, exp2 = 1) { + if (exp2 < -300) { + return parseFloat(n.toExponential().split("e")[0]); + } + return n * 10 ** -exp2; + } + + // node_modules/numfmt/lib/numdec.js + var zero = { + total: 1, + sign: 0, + period: 0, + int: 1, + frac: 0 + }; + function numdec(value, incl_sign = true) { + const v = Math.abs(value); + if (!v) { + return zero; + } + const signSize = incl_sign && value < 0 ? 1 : 0; + const intPart = Math.floor(v); + const intSize = Math.floor(Math.log10(v) + 1); + let periodSize = 0; + let fracSize = 0; + if (intPart !== v) { + periodSize = 1; + const n = String( + round(v * 10 ** -intSize, 15) + ); + let f = n.length; + let z4 = true; + let i = 0; + while (i <= n.length) { + if (n[i] === ".") { + f--; + break; + } else if (n[i] === "0" && z4) { + f--; + } else { + z4 = false; + } + i++; + } + fracSize = f - intSize; + if (fracSize < 0) { + fracSize = 0; + periodSize = 0; + } + } + return { + total: signSize + Math.max(intSize, 1) + periodSize + fracSize, + digits: Math.max(intSize, 0) + fracSize, + sign: signSize, + period: periodSize, + int: Math.max(intSize, 1), + frac: fracSize + }; + } + + // node_modules/numfmt/lib/general.js + var fixLocale = (s, l10n) => { + return s.replace(/\./, l10n.decimal); + }; + var getExp = (n, exp2, l10n) => { + const x2 = Math.abs(exp2); + let m; + if (n === 1) { + m = n; + } else { + m = round(n, 5); + } + return [ + fixLocale(m + "", l10n), + l10n.exponent, + exp2 < 0 ? l10n.negative : l10n.positive, + x2 < 10 ? "0" : "", + x2 + ]; + }; + function general(ret, part, value, l10n) { + const int = value | 0; + if (typeof value === "string") { + ret.push(value); + } else if (value === int) { + ret.push(Math.abs(int)); + } else { + const v = Math.abs(value); + let exp2 = getExponent(v); + let n = getSignificand(v, exp2); + if (n === 10) { + n = 1; + exp2++; + } + const num_dig = numdec(v); + if (exp2 >= -4 && exp2 <= -1) { + const o = v.toPrecision(10 + exp2).replace(/\.?0+$/, ""); + ret.push(fixLocale(o, l10n)); + } else if (exp2 === 10) { + const o = v.toFixed(10).slice(0, 12).replace(/\.$/, ""); + ret.push(fixLocale(o, l10n)); + } else if (Math.abs(exp2) <= 9) { + if (num_dig.total <= 11) { + const o = round(v, 9).toFixed(num_dig.frac); + ret.push(fixLocale(o, l10n)); + } else if (exp2 === 9) { + ret.push(Math.floor(v)); + } else if (exp2 >= 0 && exp2 < 9) { + ret.push(fixLocale(String(round(v, 9 - exp2)), l10n)); + } else { + ret.push(...getExp(n, exp2, l10n)); + } + } else if (num_dig.total >= 12) { + ret.push(...getExp(n, exp2, l10n)); + } else { + ret.push(fixLocale(round(v, 9).toFixed(num_dig.frac), l10n)); + } + } + return ret; + } + + // node_modules/numfmt/lib/pad.js + function pad(c, nbsp = false) { + if (c === "0") { + return "0"; + } else if (c === "?") { + return nbsp ? "\xA0" : " "; + } + return ""; + } + + // node_modules/numfmt/lib/runPart.js + var DAYSIZE2 = 86400; + var dateOverflows = (inputValue, roundedValue, bigRange) => { + if (bigRange) { + return inputValue < MIN_L_DATE || roundedValue >= MAX_L_DATE; + } + return inputValue < MIN_S_DATE || roundedValue >= MAX_S_DATE; + }; + function runPart(value, part, opts, l10n_) { + let mantissa = ""; + let mantissa_sign = ""; + let numerator = ""; + let denominator = ""; + let fraction = ""; + let integer = ""; + let exp2 = 0; + let date = 0; + if (typeof value === "bigint") { + if (value <= Number.MAX_SAFE_INTEGER && value >= Number.MIN_SAFE_INTEGER) { + value = Number(value); + } else { + return opts.bigintErrorNumber ? String(value) : opts.overflow; + } + date = value; + } else { + date = Math.trunc(value); + } + let time = 0; + let year = 0; + let month = 1; + let day = 0; + let weekday = 0; + let hour = 0; + let minute = 0; + let second = 0; + let subsec = 0; + const l10n = l10n_ || defaultLocale; + if (!part.text && isFinite(part.scale) && part.scale !== 1) { + value = clamp(value * part.scale); + } + if (part.exponential) { + let v = Math.abs(value); + if (v) { + exp2 = getExponent(v, part.int_max); + } + if (value && !part.integer) { + exp2++; + } + v = getSignificand(v, exp2); + if (part.int_max === 1 && round(v, part.frac_max) === 10) { + v = 1; + exp2++; + } + value = value < 0 ? -v : v; + mantissa += Math.abs(exp2); + } + if (part.integer) { + const i = Math.abs(round(value, part.fractions ? 1 : part.frac_max)); + integer += i < 1 ? "" : Math.floor(i); + } + const group_pri = opts.grouping[0] ?? 3; + const group_sec = opts.grouping[1] ?? group_pri; + if (part.dec_fractions) { + fraction = String(round(value, part.frac_max)).split(".")[1] || ""; + } + const fixed_slash = !part.error && (part.num_p.includes("0") || part.den_p.includes("0")); + let have_fraction = fixed_slash; + if (part.fractions) { + have_fraction = fixed_slash || !!(value % 1); + const _dec = Math.abs(part.integer ? value % 1 : value); + if (_dec) { + have_fraction = true; + if (part.denominator && isFinite(part.denominator)) { + denominator += part.denominator; + numerator += round(_dec * part.denominator); + if (numerator === "0") { + numerator = ""; + denominator = ""; + have_fraction = fixed_slash; + } + } else { + const frt = dec2frac(_dec, Infinity, part.den_max); + numerator += frt[0]; + denominator += frt[1]; + if (part.integer && numerator === "0") { + numerator = ""; + denominator = ""; + have_fraction = fixed_slash; + } + } + } else if (!value && !part.integer) { + have_fraction = true; + numerator = "0"; + denominator = "1"; + } + if (part.integer && !have_fraction && !Math.trunc(value)) { + integer = "0"; + } + } + if (part.date) { + date = Math.trunc(value); + const t = DAYSIZE2 * (value - date); + time = Math.floor(t); + subsec = t - time; + if (Math.abs(subsec) < 1e-6) { + subsec = 0; + } else if (subsec > 0.9999) { + subsec = 0; + time += 1; + if (time === DAYSIZE2) { + time = 0; + date += 1; + } + } + if (subsec) { + const minU = part.date & u_MSEC || part.date & u_CSEC || part.date & u_DSEC; + if (minU === u_MSEC && subsec > 0.9995 || minU === u_CSEC && subsec > 0.995 || minU === u_DSEC && subsec > 0.95 || !minU && subsec >= 0.5) { + time++; + subsec = 0; + } + } + if (date || part.date_system) { + const dout = toYMD(value, part.date_system, opts.leap1900); + year = dout[0]; + month = dout[1]; + day = dout[2]; + } + if (time) { + const x2 = time < 0 ? DAYSIZE2 + time : time; + second = Math.floor(x2) % 60; + minute = Math.floor(x2 / 60) % 60; + hour = Math.floor(x2 / 60 / 60) % 60; + } + weekday = (6 + date) % 7; + if (part.date_eval && dateOverflows(value, date + time / DAYSIZE2, opts.dateSpanLarge)) { + if (opts.dateErrorThrows) { + throw new Error("Date out of bounds"); + } + if (opts.dateErrorNumber) { + const _ret = value < 0 ? [l10n.negative] : []; + return general(_ret, {}, value, l10n).join(""); + } + return opts.overflow; + } + } + const padQ = pad("?", opts.nbsp); + if (exp2 < 0) { + mantissa_sign = "-"; + } else if (part.exp_plus) { + mantissa_sign = "+"; + } + const ret = []; + const digitsStart = (numstr, pattern, part2, offset) => { + const l = !offset && numstr.length > pattern.length ? part2.length + numstr.length - pattern.length : part2.length; + if (numstr.length < pattern.length) { + offset += numstr.length - pattern.length; + } + for (let i = 0; i < l; i++) { + ret.push(numstr[i + offset] || pad(part2[i], opts.nbsp)); + } + return l; + }; + let denominator_fixed = false; + const counter = { int: 0, frac: 0, man: 0, num: 0, den: 0 }; + for (let ti4 = 0, tl4 = part.tokens.length; ti4 < tl4; ti4++) { + const tok = part.tokens[ti4]; + const tokenType = tok.type; + const len = tok.num ? tok.num.length : 0; + if (tokenType === "string") { + if (tok.rule) { + if (tok.rule === "num") { + if (have_fraction) { + ret.push(tok.value.replace(/ /g, padQ)); + } else if (part.num_min > 0 || part.den_min > 0) { + ret.push(tok.value.replace(/./g, padQ)); + } + } else if (tok.rule === "num+int") { + if (have_fraction && integer) { + ret.push(tok.value.replace(/ /g, padQ)); + } else if (part.den_min > 0 && (integer || part.num_min)) { + ret.push(tok.value.replace(/./g, padQ)); + } + } else if (tok.rule === "den") { + if (have_fraction) { + ret.push(tok.value.replace(/ /g, padQ)); + } else if (part.den_min > 0 || part.den_min > 0) { + ret.push(tok.value.replace(/./g, padQ)); + } + } + } else { + ret.push(tok.value.replace(/ /g, padQ)); + } + } else if (tokenType === "space") { + if (tok.rule === "num+int") { + if ((have_fraction || part.num_min || part.den_min) && (integer || part.num_min)) { + ret.push(padQ); + } + } else { + ret.push(padQ); + } + } else if (tokenType === "error") { + ret.push(opts.invalid); + } else if (tokenType === "point") { + ret.push(part.date ? tok.value : l10n.decimal); + } else if (tokenType === "general") { + general(ret, part, value, l10n); + } else if (tokenType === "exp") { + ret.push(l10n.exponent); + } else if (tokenType === "minus") { + if (tok.volatile && part.date) { + } else if (tok.volatile && (value >= 0 || typeof value !== "number")) { + } else if (tok.volatile && !part.fractions && (part.integer || part.dec_fractions)) { + if (value < 0 && (integer && integer !== "0") || fraction) { + ret.push(l10n.negative); + } + } else { + ret.push(l10n.negative); + } + } else if (tokenType === "plus") { + ret.push(l10n.positive); + } else if (tokenType === "text") { + ret.push(value); + } else if (tokenType === "fill") { + if (opts.fillChar) { + ret.push(opts.fillChar, tok.value); + } + } else if (tokenType === "skip") { + if (opts.skipChar) { + ret.push(opts.skipChar, tok.value); + } else { + ret.push(opts.nbsp ? "\xA0" : " "); + } + } else if (tokenType === "div") { + if (have_fraction) { + ret.push("/"); + } else if (part.num_min > 0 || part.den_min > 0) { + ret.push(padQ); + } else { + ret.push(pad("#", opts.nbsp)); + } + } else if (tokenType === "int") { + if (part.int_pattern.length === 1) { + const pt3 = part.int_p; + const l = Math.max(part.int_min, integer.length); + let digits = ""; + for (let i = l; i > 0; i--) { + const d = integer.charAt(integer.length - i); + const p = d ? "" : pt3.charAt(pt3.length - i) || pt3[0]; + let sep = ""; + if (part.grouping) { + const n = i - 1 - group_pri; + if (n >= 0 && !(n % group_sec)) { + sep = d || p === "0" ? l10n.group : pad("?", opts.nbsp); + } + } + digits += (d || pad(p, opts.nbsp)) + sep; + } + ret.push(digits); + } else { + counter.int += digitsStart(integer, part.int_p, tok.num, counter.int); + } + } else if (tokenType === "frac") { + const o = counter.frac; + for (let i = 0; i < len; i++) { + ret.push(fraction[i + o] || pad(tok.num[i], opts.nbsp)); + } + counter.frac += len; + } else if (tokenType === "man") { + if (!counter[tokenType] && !counter.man) { + ret.push(mantissa_sign); + } + counter.man += digitsStart(mantissa, part.man_p, tok.num, counter.man); + } else if (tokenType === "num") { + counter.num += digitsStart(numerator, part.num_p, tok.num, counter.num); + } else if (tokenType === "den") { + const o = counter.den; + for (let i = 0; i < len; i++) { + let digit = denominator[i + o]; + if (!digit) { + const ch2 = tok.num[i]; + if ("123456789".includes(ch2) || denominator_fixed && ch2 === "0") { + denominator_fixed = true; + digit = opts.nbsp ? "\xA0" : " "; + } else if (!denominator_fixed && i === len - 1 && ch2 === "0" && !denominator) { + digit = "1"; + } else { + digit = pad(ch2, opts.nbsp); + } + } + ret.push(digit); + } + counter.den += len; + } else if (tokenType === "year") { + if (year < 0) { + ret.push(l10n.negative); + } + ret.push(String(Math.abs(year)).padStart(4, "0")); + } else if (tokenType === "year-short") { + const y = year % 100; + ret.push(y < 10 ? "0" : "", y); + } else if (tokenType === "month") { + ret.push(tok.pad && month < 10 ? "0" : "", month); + } else if (tokenType === "monthname-single") { + if (part.date_system === EPOCH_1317) { + ret.push(l10n.mmmm6[month - 1].charAt(0)); + } else { + ret.push(l10n.mmmm[month - 1].charAt(0)); + } + } else if (tokenType === "monthname-short") { + if (part.date_system === EPOCH_1317) { + ret.push(l10n.mmm6[month - 1]); + } else { + ret.push(l10n.mmm[month - 1]); + } + } else if (tokenType === "monthname") { + if (part.date_system === EPOCH_1317) { + ret.push(l10n.mmmm6[month - 1]); + } else { + ret.push(l10n.mmmm[month - 1]); + } + } else if (tok.type === "weekday-short") { + ret.push(l10n.ddd[weekday]); + } else if (tokenType === "weekday") { + ret.push(l10n.dddd[weekday]); + } else if (tokenType === "day") { + ret.push(tok.pad && day < 10 ? "0" : "", day); + } else if (tokenType === "hour") { + const h = hour % part.clock || (part.clock < 24 ? part.clock : 0); + ret.push(tok.pad && h < 10 ? "0" : "", h); + } else if (tokenType === "min") { + ret.push(tok.pad && minute < 10 ? "0" : "", minute); + } else if (tokenType === "sec") { + ret.push(tok.pad && second < 10 ? "0" : "", second); + } else if (tokenType === "subsec") { + ret.push(l10n.decimal); + const f = subsec.toFixed(part.sec_decimals); + ret.push(f.slice(2, 2 + tok.decimals)); + } else if (tokenType === "ampm") { + const idx = hour < 12 ? 0 : 1; + if (tok.short && !l10n_) { + ret.push("AP"[idx]); + } else { + ret.push(l10n.ampm[idx]); + } + } else if (tokenType === "hour-elap") { + if (value < 0) { + ret.push(l10n.negative); + } + const hh2 = date * 24 + Math.floor(Math.abs(time) / (60 * 60)); + ret.push(String(Math.abs(hh2)).padStart(tok.pad, "0")); + } else if (tokenType === "min-elap") { + if (value < 0) { + ret.push(l10n.negative); + } + const mm2 = date * 1440 + Math.floor(Math.abs(time) / 60); + ret.push(String(Math.abs(mm2)).padStart(tok.pad, "0")); + } else if (tokenType === "sec-elap") { + if (value < 0) { + ret.push(l10n.negative); + } + const ss4 = date * DAYSIZE2 + Math.abs(time); + ret.push(String(Math.abs(ss4)).padStart(tok.pad, "0")); + } else if (tokenType === "b-year") { + ret.push(year + 543); + } else if (tokenType === "b-year-short") { + const y = (year + 543) % 100; + ret.push(y < 10 ? "0" : "", y); + } + } + return ret.join(""); + } + + // node_modules/numfmt/lib/formatNumber.js + var default_text = parseFormatSection([ + { type: TOKEN_TEXT, value: "@", raw: "@" } + ]); + function getPart(value, parts) { + for (let pi3 = 0; pi3 < 3; pi3++) { + const part = parts[pi3]; + if (part) { + let cond; + if (part.condition) { + const operator = part.condition[0]; + const operand = part.condition[1]; + if (operator === "=") { + cond = value === operand; + } else if (operator === ">") { + cond = value > operand; + } else if (operator === "<") { + cond = value < operand; + } else if (operator === ">=") { + cond = value >= operand; + } else if (operator === "<=") { + cond = value <= operand; + } else if (operator === "<>") { + cond = value !== operand; + } + } else { + cond = true; + } + if (cond) { + return part; + } + } + } + return void 0; + } + function formatColor(value, parseData, opts) { + const parts = parseData.partitions; + let part = parts[3]; + let color = null; + if ((typeof value === "number" || typeof value === "bigint") && isFinite(value)) { + part = getPart(value, parts); + } + if (part && part.color) { + color = part.color; + } + if (color && typeof color === "number" && opts.indexColors) { + color = indexColors[color - 1] || "#000"; + } + return color; + } + function formatValue(value, parseData, opts) { + const parts = parseData.partitions; + const l10n = getLocale(parseData.locale || opts.locale); + const text_part = parts[3] ? parts[3] : default_text; + if (typeof value === "boolean") { + const loc = l10n || defaultLocale; + value = loc.bool[value ? 0 : 1]; + } + if (value == null) { + return ""; + } + const n = typeof value === "bigint"; + if (typeof value !== "number" && !n) { + return runPart(value, text_part, opts, l10n); + } + if (!n && !isFinite(value)) { + const loc = l10n || defaultLocale; + if (isNaN(value)) { + return loc.nan; + } + return (value < 0 ? loc.negative : "") + loc.infinity; + } + const part = getPart(value, parts); + return part ? runPart(value, part, opts, l10n) : opts.overflow; + } + + // node_modules/numfmt/lib/formatInfo.js + function isPercent(partitions) { + return !!(partitions[0] && partitions[0].percent || partitions[1] && partitions[1].percent || partitions[2] && partitions[2].percent || partitions[3] && partitions[3].percent); + } + function isDate(partitions) { + return !!(partitions[0] && partitions[0].date || partitions[1] && partitions[1].date || partitions[2] && partitions[2].date || partitions[3] && partitions[3].date); + } + function isText(partitions) { + const [part1, part2, part3, part4] = partitions; + return !!((!part1 || part1.generated) && (!part2 || part2.generated) && (!part3 || part3.generated) && (part4 && part4.text && !part4.generated)); + } + var level = { + text: 15, + datetime: 10.8, + date: 10.8, + time: 10.8, + percent: 10.6, + currency: 10.4, + grouped: 10.2, + scientific: 6, + number: 4, + fraction: 2, + general: 0, + error: 0 + }; + var dateCodes = [ + ["DMY", 1], + ["DM", 2], + ["MY", 3], + ["MDY", 4], + ["MD", 5], + ["hmsa", 6], + ["hma", 7], + ["hms", 8], + ["hm", 9] + ]; + function info(partitions, currencyId = null) { + const [partPos, partNeg] = partitions; + const frac_max = partPos.frac_max; + const info2 = { + type: "general", + isDate: isDate(partitions), + isText: isText(partitions), + isPercent: isPercent(partitions), + maxDecimals: partPos.general ? 9 : frac_max, + scale: partPos.scale ?? 1, + color: 0, + parentheses: 0, + grouped: partPos.grouping ? 1 : 0 + }; + const isCurrency = !info2.isDate && !info2.isText && !partPos.error && partPos.tokens.some((tok) => tok.type === "string" && (currencyId ? tok.value === currencyId : reCurrencySymbols.test(tok.value))); + let codeType = "G"; + let codeNum = frac_max >= 0 ? Math.min(15, frac_max) : ""; + let codeParens = ""; + let codeDash = ""; + if (partNeg && partNeg.color) { + codeDash = "-"; + info2.color = 1; + } + if (partPos.parens) { + codeParens = "()"; + info2.parentheses = 1; + } + if (isCurrency) { + codeType = "C"; + info2.type = "currency"; + } else if (partPos.error) { + info2.type = "error"; + info2.maxDecimals = 0; + } else if (info2.isDate) { + let haveTime = 0; + let haveDate = 0; + let order = ""; + partPos.tokens.forEach((tok) => { + const type2 = tok.type; + if (/^(b-)?year/.test(type2)) { + order += "Y"; + haveDate++; + } else if (type2.startsWith("month")) { + order += "M"; + haveDate++; + } else if (/^(week)?day/.test(type2)) { + order += "D"; + haveDate++; + } else if (type2 === "hour" || type2 === "min" || type2 === "sec" || type2 === "ampm") { + order += type2[0]; + haveTime++; + } + }); + info2.type = "date"; + if (haveDate && haveTime) { + info2.type = "datetime"; + } else if (!haveDate && haveTime) { + info2.type = "time"; + } + const code = dateCodes.find((d) => order.startsWith(d[0])); + codeType = code ? "D" : "G"; + codeNum = code ? code[1] : ""; + } else if (info2.isText) { + codeType = "G"; + info2.type = "text"; + codeNum = ""; + info2.maxDecimals = 0; + } else if (partPos.general) { + codeType = "G"; + info2.type = "general"; + codeNum = ""; + } else if (partPos.fractions) { + codeType = "G"; + info2.type = "fraction"; + codeNum = ""; + } else if (partPos.exponential) { + codeType = "S"; + info2.type = "scientific"; + } else if (info2.isPercent) { + codeType = "P"; + info2.type = "percent"; + } else if (partPos.grouping) { + codeType = ","; + info2.type = "grouped"; + } else if (partPos.int_max || frac_max) { + codeType = "F"; + info2.type = "number"; + } + info2.code = codeType + codeNum + codeDash + codeParens; + info2.level = level[info2.type]; + return Object.freeze(info2); + } + function dateInfo(partitions) { + const [partPos] = partitions; + const r = { + year: !!(partPos.date & u_YEAR), + month: !!(partPos.date & u_MONTH), + day: !!(partPos.date & u_DAY), + hours: !!(partPos.date & u_HOUR), + minutes: !!(partPos.date & u_MIN), + seconds: !!(partPos.date & u_SEC), + clockType: partPos.clock === 12 ? 12 : 24 + }; + return r; + } + + // node_modules/numfmt/lib/tokenize.js + var tokenHandlers = [ + [TOKEN_GENERAL, /^General/i, 0], + [TOKEN_HASH, /^#/, 0], + [TOKEN_ZERO, /^0/, 0], + [TOKEN_QMARK, /^\?/, 0], + [TOKEN_SLASH, /^\//, 0], + // Commas are dealt with as a special case in the tokenizer but will end up + // as one of these: + // [ TOKEN_GROUP, /^(,),*/, 1 ], + // [ TOKEN_SCALE, /^(,),*/, 1 ], + // [ TOKEN_COMMA, /^(,),*/, 1 ], + [TOKEN_BREAK, /^;/, 0], + [TOKEN_TEXT, /^@/, 0], + [TOKEN_PLUS, /^\+/, 0], + [TOKEN_MINUS, /^-/, 0], + [TOKEN_POINT, /^\./, 0], + [TOKEN_SPACE, /^ /, 0], + [TOKEN_PERCENT, /^%/, 0], + [TOKEN_DIGIT, /^[1-9]/, 0], + [TOKEN_CALENDAR, /^(?:B[12])/i, 0], + [TOKEN_ERROR, /^B$/, 0], + // pattern must not end in a "B" + [TOKEN_DATETIME, /^(?:[hH]+|[mM]+|[sS]+|[yY]+|[bB]+|[dD]+|[gG]+|[aA]{3,}|e+)/, 0], + [TOKEN_DURATION, /^(?:\[(h+|m+|s+)\])/i, 1], + [TOKEN_CONDITION, /^\[(<[=>]?|>=?|=)\s*(-?[.\d]+)\]/, [1, 2]], + [TOKEN_DBNUM, /^\[(DBNum[0-4]?\d)\]/i, 1], + [TOKEN_NATNUM, /^\[(NatNum[0-4]?\d)\]/i, 1], + [TOKEN_LOCALE, /^\[\$([^\]]+)\]/, 1], + [TOKEN_COLOR, /^\[(black|blue|cyan|green|magenta|red|white|yellow|color\s*\d+)\]/i, 1], + // conditionally allow these open ended directions? + [TOKEN_MODIFIER, /^\[([^\]]+)\]/, 1], + [TOKEN_AMPM, /^(?:AM\/PM|am\/pm|A\/P)/, 0], + [TOKEN_ESCAPED, /^\\(.)/, 1], + [TOKEN_STRING, /^"([^"]*?)"/, 1], + [TOKEN_SKIP, /^_(\\.|.)/, 1], + // Google Sheets and Excel diverge on "e": Excel only accepts E. + [TOKEN_EXP, /^[Ee]([+-])/, 1], + [TOKEN_FILL, /^\*(\\.|.)/, 1], + [TOKEN_PAREN, /^[()]/, 0], + [TOKEN_ERROR, /^[EÈÉÊËèéêëĒēĔĕĖėĘęĚěȄȅȆȇȨȩNnÑñŃńŅņŇňǸǹ["*/\\_]/, 0], + [TOKEN_CHAR, /^./, 0] + ]; + var CODE_QMRK = 63; + var CODE_HASH = 35; + var CODE_ZERO = 48; + var CODE_NINE = 57; + var isNumOp2 = (char) => { + const c = (char || "\0").charCodeAt(0); + return c === CODE_QMRK || c === CODE_HASH || c >= CODE_ZERO && c <= CODE_NINE; + }; + function tokenize(pattern) { + let i = 0; + const tokens = []; + const unresolvedCommas = []; + while (i < pattern.length) { + const curr = pattern.slice(i); + let step = 0; + const mComma = /^(,+)(.)?/.exec(curr); + if (mComma) { + const raw = mComma[1]; + step = raw.length; + const lookBehind = pattern[i - 1] || ""; + let maybeGROUP = false; + let maybeSCALE = false; + if (isNumOp2(lookBehind)) { + maybeGROUP = true; + maybeSCALE = true; + } else if (lookBehind === ".") { + maybeSCALE = true; + } + const lookAhead = mComma[2] || ""; + if (maybeGROUP && (!lookAhead || lookAhead === ";")) { + maybeGROUP = false; + } + if (maybeSCALE && isNumOp2(lookAhead)) { + maybeSCALE = false; + } + if (maybeGROUP && !maybeSCALE) { + tokens.push({ type: TOKEN_GROUP, value: ",", raw }); + } else if (!maybeGROUP && maybeSCALE) { + tokens.push({ type: TOKEN_SCALE, value: ",", raw }); + } else if (maybeGROUP && maybeSCALE) { + const t = { type: TOKEN_SCALE, value: ",", raw }; + tokens.push(t); + unresolvedCommas.push(t); + } else { + tokens.push({ type: TOKEN_COMMA, value: ",", raw }); + } + } else { + let token; + for (const [type2, expr, group] of tokenHandlers) { + const m = expr.exec(curr); + if (m) { + const value = Array.isArray(group) ? group.map((d) => m[d]) : m[group || 0]; + token = { type: type2, value, raw: m[0] }; + tokens.push(token); + step = m[0].length; + break; + } + } + if (unresolvedCommas.length && token.raw === ";") { + unresolvedCommas.length = 0; + } + if (unresolvedCommas.length && isNumOp2(token.raw)) { + unresolvedCommas.forEach((d) => d.type = TOKEN_GROUP); + unresolvedCommas.length = 0; + } + } + if (!step) { + const raw = curr[0]; + step = 1; + tokens.push({ type: TOKEN_CHAR, value: raw, raw }); + } + i += step; + } + return tokens; + } + + // node_modules/numfmt/lib/parsePattern.js + var maybeAddMinus = (part) => { + const cond = part.condition; + const exception = cond && cond[1] < 0 && (cond[0] === "<" || cond[0] === "<=" || cond[0] === "="); + if (!exception) { + part.tokens.unshift({ + type: "minus", + volatile: true + }); + } + }; + var clonePart = (part, prefixToken = null) => { + const r = {}; + for (const key in part) { + if (Array.isArray(part[key])) { + r[key] = [...part[key]]; + } else { + r[key] = part[key]; + } + } + if (prefixToken) { + r.tokens.unshift(prefixToken); + } + r.generated = true; + return r; + }; + function parsePattern(pattern) { + const partitions = []; + let conditional = false; + let l10n_override; + let text_partition = null; + let more = 0; + let part = false; + let i = 0; + let conditions = 0; + let tokens = tokenize(pattern); + do { + part = parseFormatSection(tokens); + if ((part.date || part.general) && (part.int_pattern.length || part.frac_pattern.length || part.scale !== 1 || part.text)) { + throw new Error("Illegal format"); + } + if (part.condition) { + conditions++; + conditional = true; + } + if (part.text) { + if (text_partition) { + throw new Error("Unexpected partition"); + } + text_partition = part; + } + if (part.locale) { + l10n_override = resolveLocale(part.locale); + } + partitions.push(part); + more = tokens[part.tokensUsed]?.type === "break" ? 1 : 0; + tokens = tokens.slice(part.tokensUsed + more); + i++; + } while (more && i < 4 && conditions < 3); + if (more) { + throw new Error("Unexpected partition"); + } + if (conditions > 2) { + throw new Error("Unexpected condition"); + } + const part3 = partitions[3]; + if (part3 && (part3.int_pattern.length || part3.frac_pattern.length || part3.date)) { + throw new Error("Unexpected partition"); + } + if (conditional) { + const numParts = partitions.length; + if (numParts === 1) { + partitions[1] = parseFormatSection(tokenize("General")); + partitions[1].generated = true; + } + if (numParts <= 2) { + } + if (numParts < 3) { + const part1 = partitions[0]; + const part2 = partitions[1]; + maybeAddMinus(part1); + if (part2.condition) { + maybeAddMinus(part2); + } else { + const cond = part1.condition; + if (cond[0] === "=" || cond[1] >= 0 && (cond[0] === ">" || cond[0] === ">=")) { + part2.tokens.unshift({ + type: "minus", + volatile: true + }); + } + } + } else { + partitions.forEach(maybeAddMinus); + } + } else { + if (partitions.length < 4 && text_partition) { + for (let pi3 = 0, pl4 = partitions.length; pi3 < pl4; pi3++) { + if (partitions[pi3] === text_partition) { + partitions.splice(pi3, 1); + } + } + } + if (partitions.length < 1 && text_partition) { + partitions[0] = parseFormatSection(tokenize("General")); + partitions[0].generated = true; + } + if (partitions.length < 2) { + const volMinus = { type: "minus", volatile: true }; + partitions.push(clonePart(partitions[0], volMinus)); + } + if (partitions.length < 3) { + partitions.push(clonePart(partitions[0])); + } + if (partitions.length < 4) { + if (text_partition) { + partitions.push(text_partition); + } else { + const part2 = parseFormatSection(tokenize("@")); + part2.generated = true; + partitions.push(part2); + } + } + partitions[0].condition = [">", 0]; + partitions[1].condition = ["<", 0]; + partitions[2].condition = null; + } + return { + pattern, + partitions, + locale: l10n_override + }; + } + + // node_modules/numfmt/lib/index.js + var _parseDataCache = /* @__PURE__ */ Object.create({}); + function prepareFormatterData(pattern, shouldThrow = false) { + if (!pattern) { + pattern = "General"; + } + let parseData = _parseDataCache[pattern]; + if (!parseData) { + try { + parseData = parsePattern(pattern); + _parseDataCache[pattern] = parseData; + } catch (err) { + if (shouldThrow) { + throw err; + } + const errPart = { + tokens: [{ type: "error" }], + error: err.message + }; + parseData = { + pattern, + partitions: [errPart, errPart, errPart, errPart], + error: err.message, + locale: null + }; + } + } + return parseData; + } + function format(pattern, value, options = {}) { + const opts = Object.assign({}, defaultOptions, options); + const data = prepareFormatterData(pattern, opts.throws); + const val = dateToSerial(value, opts) ?? value; + return formatValue(val, data, opts); + } + function formatColor2(pattern, value, options) { + const opts = Object.assign({}, defaultOptions, options); + const data = prepareFormatterData(pattern, opts.throws); + const val = dateToSerial(value, opts) ?? value; + return formatColor(val, data, opts); + } + function isDateFormat(pattern) { + const data = prepareFormatterData(pattern, false); + return isDate(data.partitions); + } + function isPercentFormat(pattern) { + const data = prepareFormatterData(pattern, false); + return isPercent(data.partitions); + } + function isTextFormat(pattern) { + const data = prepareFormatterData(pattern, false); + return isText(data.partitions); + } + function isValidFormat(pattern) { + try { + prepareFormatterData(pattern, true); + return true; + } catch (err) { + return false; + } + } + function getFormatInfo(pattern, options = {}) { + const data = prepareFormatterData(pattern, false); + if (!data.info) { + data.info = info(data.partitions, options?.currency); + } + return data.info; + } + function getFormatDateInfo(pattern) { + const data = prepareFormatterData(pattern, false); + if (!data.dateInfo) { + data.dateInfo = dateInfo(data.partitions); + } + return data.dateInfo; + } + var tokenTypes = Object.freeze({ + AMPM: TOKEN_AMPM, + BREAK: TOKEN_BREAK, + CALENDAR: TOKEN_CALENDAR, + CHAR: TOKEN_CHAR, + COLOR: TOKEN_COLOR, + COMMA: TOKEN_COMMA, + CONDITION: TOKEN_CONDITION, + DATETIME: TOKEN_DATETIME, + DBNUM: TOKEN_DBNUM, + DIGIT: TOKEN_DIGIT, + DURATION: TOKEN_DURATION, + ERROR: TOKEN_ERROR, + ESCAPED: TOKEN_ESCAPED, + EXP: TOKEN_EXP, + FILL: TOKEN_FILL, + GENERAL: TOKEN_GENERAL, + GROUP: TOKEN_GROUP, + HASH: TOKEN_HASH, + LOCALE: TOKEN_LOCALE, + MINUS: TOKEN_MINUS, + MODIFIER: TOKEN_MODIFIER, + NATNUM: TOKEN_NATNUM, + PAREN: TOKEN_PAREN, + PERCENT: TOKEN_PERCENT, + PLUS: TOKEN_PLUS, + POINT: TOKEN_POINT, + QMARK: TOKEN_QMARK, + SCALE: TOKEN_SCALE, + SKIP: TOKEN_SKIP, + SLASH: TOKEN_SLASH, + SPACE: TOKEN_SPACE, + STRING: TOKEN_STRING, + TEXT: TOKEN_TEXT, + ZERO: TOKEN_ZERO + }); + + // node_modules/@univerjs/core/lib/es/index.js + var import_dayjs = __toESM(require_dayjs_min()); + var import_advancedFormat = __toESM(require_advancedFormat()); + var import_customParseFormat = __toESM(require_customParseFormat()); + var import_localeData = __toESM(require_localeData()); + var import_localizedFormat = __toESM(require_localizedFormat()); + var import_utc = __toESM(require_utc()); + var import_weekday = __toESM(require_weekday()); + var import_weekOfYear = __toESM(require_weekOfYear()); + var import_weekYear = __toESM(require_weekYear()); + + // node_modules/quickselect/index.js + function quickselect(arr, k4, left = 0, right = arr.length - 1, compare = defaultCompare2) { + while (right > left) { + if (right - left > 600) { + const n = right - left + 1; + const m = k4 - left + 1; + const z4 = Math.log(n); + const s = 0.5 * Math.exp(2 * z4 / 3); + const sd4 = 0.5 * Math.sqrt(z4 * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1); + const newLeft = Math.max(left, Math.floor(k4 - m * s / n + sd4)); + const newRight = Math.min(right, Math.floor(k4 + (n - m) * s / n + sd4)); + quickselect(arr, k4, newLeft, newRight, compare); + } + const t = arr[k4]; + let i = left; + let j4 = right; + swap(arr, left, k4); + if (compare(arr[right], t) > 0) swap(arr, left, right); + while (i < j4) { + swap(arr, i, j4); + i++; + j4--; + while (compare(arr[i], t) < 0) i++; + while (compare(arr[j4], t) > 0) j4--; + } + if (compare(arr[left], t) === 0) swap(arr, left, j4); + else { + j4++; + swap(arr, j4, right); + } + if (j4 <= k4) left = j4 + 1; + if (k4 <= j4) right = j4 - 1; + } + } + function swap(arr, i, j4) { + const tmp = arr[i]; + arr[i] = arr[j4]; + arr[j4] = tmp; + } + function defaultCompare2(a, b) { + return a < b ? -1 : a > b ? 1 : 0; + } + + // node_modules/rbush/index.js + var RBush = class { + constructor(maxEntries = 9) { + this._maxEntries = Math.max(4, maxEntries); + this._minEntries = Math.max(2, Math.ceil(this._maxEntries * 0.4)); + this.clear(); + } + all() { + return this._all(this.data, []); + } + search(bbox) { + let node = this.data; + const result = []; + if (!intersects(bbox, node)) return result; + const toBBox = this.toBBox; + const nodesToSearch = []; + while (node) { + for (let i = 0; i < node.children.length; i++) { + const child = node.children[i]; + const childBBox = node.leaf ? toBBox(child) : child; + if (intersects(bbox, childBBox)) { + if (node.leaf) result.push(child); + else if (contains(bbox, childBBox)) this._all(child, result); + else nodesToSearch.push(child); + } + } + node = nodesToSearch.pop(); + } + return result; + } + collides(bbox) { + let node = this.data; + if (!intersects(bbox, node)) return false; + const nodesToSearch = []; + while (node) { + for (let i = 0; i < node.children.length; i++) { + const child = node.children[i]; + const childBBox = node.leaf ? this.toBBox(child) : child; + if (intersects(bbox, childBBox)) { + if (node.leaf || contains(bbox, childBBox)) return true; + nodesToSearch.push(child); + } + } + node = nodesToSearch.pop(); + } + return false; + } + load(data) { + if (!(data && data.length)) return this; + if (data.length < this._minEntries) { + for (let i = 0; i < data.length; i++) { + this.insert(data[i]); + } + return this; + } + let node = this._build(data.slice(), 0, data.length - 1, 0); + if (!this.data.children.length) { + this.data = node; + } else if (this.data.height === node.height) { + this._splitRoot(this.data, node); + } else { + if (this.data.height < node.height) { + const tmpNode = this.data; + this.data = node; + node = tmpNode; + } + this._insert(node, this.data.height - node.height - 1, true); + } + return this; + } + insert(item) { + if (item) this._insert(item, this.data.height - 1); + return this; + } + clear() { + this.data = createNode([]); + return this; + } + remove(item, equalsFn) { + if (!item) return this; + let node = this.data; + const bbox = this.toBBox(item); + const path = []; + const indexes = []; + let i, parent, goingUp; + while (node || path.length) { + if (!node) { + node = path.pop(); + parent = path[path.length - 1]; + i = indexes.pop(); + goingUp = true; + } + if (node.leaf) { + const index = findItem(item, node.children, equalsFn); + if (index !== -1) { + node.children.splice(index, 1); + path.push(node); + this._condense(path); + return this; + } + } + if (!goingUp && !node.leaf && contains(node, bbox)) { + path.push(node); + indexes.push(i); + i = 0; + parent = node; + node = node.children[0]; + } else if (parent) { + i++; + node = parent.children[i]; + goingUp = false; + } else node = null; + } + return this; + } + toBBox(item) { + return item; + } + compareMinX(a, b) { + return a.minX - b.minX; + } + compareMinY(a, b) { + return a.minY - b.minY; + } + toJSON() { + return this.data; + } + fromJSON(data) { + this.data = data; + return this; + } + _all(node, result) { + const nodesToSearch = []; + while (node) { + if (node.leaf) result.push(...node.children); + else nodesToSearch.push(...node.children); + node = nodesToSearch.pop(); + } + return result; + } + _build(items, left, right, height) { + const N4 = right - left + 1; + let M4 = this._maxEntries; + let node; + if (N4 <= M4) { + node = createNode(items.slice(left, right + 1)); + calcBBox(node, this.toBBox); + return node; + } + if (!height) { + height = Math.ceil(Math.log(N4) / Math.log(M4)); + M4 = Math.ceil(N4 / Math.pow(M4, height - 1)); + } + node = createNode([]); + node.leaf = false; + node.height = height; + const N22 = Math.ceil(N4 / M4); + const N1 = N22 * Math.ceil(Math.sqrt(M4)); + multiSelect(items, left, right, N1, this.compareMinX); + for (let i = left; i <= right; i += N1) { + const right2 = Math.min(i + N1 - 1, right); + multiSelect(items, i, right2, N22, this.compareMinY); + for (let j4 = i; j4 <= right2; j4 += N22) { + const right3 = Math.min(j4 + N22 - 1, right2); + node.children.push(this._build(items, j4, right3, height - 1)); + } + } + calcBBox(node, this.toBBox); + return node; + } + _chooseSubtree(bbox, node, level2, path) { + while (true) { + path.push(node); + if (node.leaf || path.length - 1 === level2) break; + let minArea = Infinity; + let minEnlargement = Infinity; + let targetNode; + for (let i = 0; i < node.children.length; i++) { + const child = node.children[i]; + const area = bboxArea(child); + const enlargement = enlargedArea(bbox, child) - area; + if (enlargement < minEnlargement) { + minEnlargement = enlargement; + minArea = area < minArea ? area : minArea; + targetNode = child; + } else if (enlargement === minEnlargement) { + if (area < minArea) { + minArea = area; + targetNode = child; + } + } + } + node = targetNode || node.children[0]; + } + return node; + } + _insert(item, level2, isNode2) { + const bbox = isNode2 ? item : this.toBBox(item); + const insertPath = []; + const node = this._chooseSubtree(bbox, this.data, level2, insertPath); + node.children.push(item); + extend(node, bbox); + while (level2 >= 0) { + if (insertPath[level2].children.length > this._maxEntries) { + this._split(insertPath, level2); + level2--; + } else break; + } + this._adjustParentBBoxes(bbox, insertPath, level2); + } + // split overflowed node into two + _split(insertPath, level2) { + const node = insertPath[level2]; + const M4 = node.children.length; + const m = this._minEntries; + this._chooseSplitAxis(node, m, M4); + const splitIndex = this._chooseSplitIndex(node, m, M4); + const newNode = createNode(node.children.splice(splitIndex, node.children.length - splitIndex)); + newNode.height = node.height; + newNode.leaf = node.leaf; + calcBBox(node, this.toBBox); + calcBBox(newNode, this.toBBox); + if (level2) insertPath[level2 - 1].children.push(newNode); + else this._splitRoot(node, newNode); + } + _splitRoot(node, newNode) { + this.data = createNode([node, newNode]); + this.data.height = node.height + 1; + this.data.leaf = false; + calcBBox(this.data, this.toBBox); + } + _chooseSplitIndex(node, m, M4) { + let index; + let minOverlap = Infinity; + let minArea = Infinity; + for (let i = m; i <= M4 - m; i++) { + const bbox1 = distBBox(node, 0, i, this.toBBox); + const bbox2 = distBBox(node, i, M4, this.toBBox); + const overlap = intersectionArea(bbox1, bbox2); + const area = bboxArea(bbox1) + bboxArea(bbox2); + if (overlap < minOverlap) { + minOverlap = overlap; + index = i; + minArea = area < minArea ? area : minArea; + } else if (overlap === minOverlap) { + if (area < minArea) { + minArea = area; + index = i; + } + } + } + return index || M4 - m; + } + // sorts node children by the best axis for split + _chooseSplitAxis(node, m, M4) { + const compareMinX = node.leaf ? this.compareMinX : compareNodeMinX; + const compareMinY = node.leaf ? this.compareMinY : compareNodeMinY; + const xMargin = this._allDistMargin(node, m, M4, compareMinX); + const yMargin = this._allDistMargin(node, m, M4, compareMinY); + if (xMargin < yMargin) node.children.sort(compareMinX); + } + // total margin of all possible split distributions where each node is at least m full + _allDistMargin(node, m, M4, compare) { + node.children.sort(compare); + const toBBox = this.toBBox; + const leftBBox = distBBox(node, 0, m, toBBox); + const rightBBox = distBBox(node, M4 - m, M4, toBBox); + let margin = bboxMargin(leftBBox) + bboxMargin(rightBBox); + for (let i = m; i < M4 - m; i++) { + const child = node.children[i]; + extend(leftBBox, node.leaf ? toBBox(child) : child); + margin += bboxMargin(leftBBox); + } + for (let i = M4 - m - 1; i >= m; i--) { + const child = node.children[i]; + extend(rightBBox, node.leaf ? toBBox(child) : child); + margin += bboxMargin(rightBBox); + } + return margin; + } + _adjustParentBBoxes(bbox, path, level2) { + for (let i = level2; i >= 0; i--) { + extend(path[i], bbox); + } + } + _condense(path) { + for (let i = path.length - 1, siblings; i >= 0; i--) { + if (path[i].children.length === 0) { + if (i > 0) { + siblings = path[i - 1].children; + siblings.splice(siblings.indexOf(path[i]), 1); + } else this.clear(); + } else calcBBox(path[i], this.toBBox); + } + } + }; + function findItem(item, items, equalsFn) { + if (!equalsFn) return items.indexOf(item); + for (let i = 0; i < items.length; i++) { + if (equalsFn(item, items[i])) return i; + } + return -1; + } + function calcBBox(node, toBBox) { + distBBox(node, 0, node.children.length, toBBox, node); + } + function distBBox(node, k4, p, toBBox, destNode) { + if (!destNode) destNode = createNode(null); + destNode.minX = Infinity; + destNode.minY = Infinity; + destNode.maxX = -Infinity; + destNode.maxY = -Infinity; + for (let i = k4; i < p; i++) { + const child = node.children[i]; + extend(destNode, node.leaf ? toBBox(child) : child); + } + return destNode; + } + function extend(a, b) { + a.minX = Math.min(a.minX, b.minX); + a.minY = Math.min(a.minY, b.minY); + a.maxX = Math.max(a.maxX, b.maxX); + a.maxY = Math.max(a.maxY, b.maxY); + return a; + } + function compareNodeMinX(a, b) { + return a.minX - b.minX; + } + function compareNodeMinY(a, b) { + return a.minY - b.minY; + } + function bboxArea(a) { + return (a.maxX - a.minX) * (a.maxY - a.minY); + } + function bboxMargin(a) { + return a.maxX - a.minX + (a.maxY - a.minY); + } + function enlargedArea(a, b) { + return (Math.max(b.maxX, a.maxX) - Math.min(b.minX, a.minX)) * (Math.max(b.maxY, a.maxY) - Math.min(b.minY, a.minY)); + } + function intersectionArea(a, b) { + const minX = Math.max(a.minX, b.minX); + const minY = Math.max(a.minY, b.minY); + const maxX = Math.min(a.maxX, b.maxX); + const maxY = Math.min(a.maxY, b.maxY); + return Math.max(0, maxX - minX) * Math.max(0, maxY - minY); + } + function contains(a, b) { + return a.minX <= b.minX && a.minY <= b.minY && b.maxX <= a.maxX && b.maxY <= a.maxY; + } + function intersects(a, b) { + return b.minX <= a.maxX && b.minY <= a.maxY && b.maxX >= a.minX && b.maxY >= a.minY; + } + function createNode(children) { + return { + children, + height: 1, + leaf: true, + minX: Infinity, + minY: Infinity, + maxX: -Infinity, + maxY: -Infinity + }; + } + function multiSelect(arr, left, right, n, compare) { + const stack = [left, right]; + while (stack.length) { + right = stack.pop(); + left = stack.pop(); + if (right - left <= n) continue; + const mid = left + Math.ceil((right - left) / n / 2) * n; + quickselect(arr, mid, left, right, compare); + stack.push(left, mid, mid, right); + } + } + + // node_modules/@univerjs/core/lib/es/index.js + var import_fast_diff = __toESM(require_diff()); + + // node_modules/kdbush/index.js + var ARRAY_TYPES = [ + Int8Array, + Uint8Array, + Uint8ClampedArray, + Int16Array, + Uint16Array, + Int32Array, + Uint32Array, + Float32Array, + Float64Array + ]; + var VERSION = 1; + var HEADER_SIZE = 8; + var KDBush = class _KDBush { + /** + * Creates an index from raw `ArrayBuffer` data. + * @param {ArrayBuffer} data + */ + static from(data) { + if (!(data instanceof ArrayBuffer)) { + throw new Error("Data must be an instance of ArrayBuffer."); + } + const [magic, versionAndType] = new Uint8Array(data, 0, 2); + if (magic !== 219) { + throw new Error("Data does not appear to be in a KDBush format."); + } + const version = versionAndType >> 4; + if (version !== VERSION) { + throw new Error(`Got v${version} data when expected v${VERSION}.`); + } + const ArrayType = ARRAY_TYPES[versionAndType & 15]; + if (!ArrayType) { + throw new Error("Unrecognized array type."); + } + const [nodeSize] = new Uint16Array(data, 2, 1); + const [numItems] = new Uint32Array(data, 4, 1); + return new _KDBush(numItems, nodeSize, ArrayType, data); + } + /** + * Creates an index that will hold a given number of items. + * @param {number} numItems + * @param {number} [nodeSize=64] Size of the KD-tree node (64 by default). + * @param {TypedArrayConstructor} [ArrayType=Float64Array] The array type used for coordinates storage (`Float64Array` by default). + * @param {ArrayBuffer} [data] (For internal use only) + */ + constructor(numItems, nodeSize = 64, ArrayType = Float64Array, data) { + if (isNaN(numItems) || numItems < 0) throw new Error(`Unpexpected numItems value: ${numItems}.`); + this.numItems = +numItems; + this.nodeSize = Math.min(Math.max(+nodeSize, 2), 65535); + this.ArrayType = ArrayType; + this.IndexArrayType = numItems < 65536 ? Uint16Array : Uint32Array; + const arrayTypeIndex = ARRAY_TYPES.indexOf(this.ArrayType); + const coordsByteSize = numItems * 2 * this.ArrayType.BYTES_PER_ELEMENT; + const idsByteSize = numItems * this.IndexArrayType.BYTES_PER_ELEMENT; + const padCoords = (8 - idsByteSize % 8) % 8; + if (arrayTypeIndex < 0) { + throw new Error(`Unexpected typed array class: ${ArrayType}.`); + } + if (data && data instanceof ArrayBuffer) { + this.data = data; + this.ids = new this.IndexArrayType(this.data, HEADER_SIZE, numItems); + this.coords = new this.ArrayType(this.data, HEADER_SIZE + idsByteSize + padCoords, numItems * 2); + this._pos = numItems * 2; + this._finished = true; + } else { + this.data = new ArrayBuffer(HEADER_SIZE + coordsByteSize + idsByteSize + padCoords); + this.ids = new this.IndexArrayType(this.data, HEADER_SIZE, numItems); + this.coords = new this.ArrayType(this.data, HEADER_SIZE + idsByteSize + padCoords, numItems * 2); + this._pos = 0; + this._finished = false; + new Uint8Array(this.data, 0, 2).set([219, (VERSION << 4) + arrayTypeIndex]); + new Uint16Array(this.data, 2, 1)[0] = nodeSize; + new Uint32Array(this.data, 4, 1)[0] = numItems; + } + } + /** + * Add a point to the index. + * @param {number} x + * @param {number} y + * @returns {number} An incremental index associated with the added item (starting from `0`). + */ + add(x2, y) { + const index = this._pos >> 1; + this.ids[index] = index; + this.coords[this._pos++] = x2; + this.coords[this._pos++] = y; + return index; + } + /** + * Perform indexing of the added points. + */ + finish() { + const numAdded = this._pos >> 1; + if (numAdded !== this.numItems) { + throw new Error(`Added ${numAdded} items when expected ${this.numItems}.`); + } + sort(this.ids, this.coords, this.nodeSize, 0, this.numItems - 1, 0); + this._finished = true; + return this; + } + /** + * Search the index for items within a given bounding box. + * @param {number} minX + * @param {number} minY + * @param {number} maxX + * @param {number} maxY + * @returns {number[]} An array of indices correponding to the found items. + */ + range(minX, minY, maxX, maxY) { + if (!this._finished) throw new Error("Data not yet indexed - call index.finish()."); + const { ids, coords, nodeSize } = this; + const stack = [0, ids.length - 1, 0]; + const result = []; + while (stack.length) { + const axis = stack.pop() || 0; + const right = stack.pop() || 0; + const left = stack.pop() || 0; + if (right - left <= nodeSize) { + for (let i = left; i <= right; i++) { + const x3 = coords[2 * i]; + const y2 = coords[2 * i + 1]; + if (x3 >= minX && x3 <= maxX && y2 >= minY && y2 <= maxY) result.push(ids[i]); + } + continue; + } + const m = left + right >> 1; + const x2 = coords[2 * m]; + const y = coords[2 * m + 1]; + if (x2 >= minX && x2 <= maxX && y >= minY && y <= maxY) result.push(ids[m]); + if (axis === 0 ? minX <= x2 : minY <= y) { + stack.push(left); + stack.push(m - 1); + stack.push(1 - axis); + } + if (axis === 0 ? maxX >= x2 : maxY >= y) { + stack.push(m + 1); + stack.push(right); + stack.push(1 - axis); + } + } + return result; + } + /** + * Search the index for items within a given radius. + * @param {number} qx + * @param {number} qy + * @param {number} r Query radius. + * @returns {number[]} An array of indices correponding to the found items. + */ + within(qx, qy2, r) { + if (!this._finished) throw new Error("Data not yet indexed - call index.finish()."); + const { ids, coords, nodeSize } = this; + const stack = [0, ids.length - 1, 0]; + const result = []; + const r2 = r * r; + while (stack.length) { + const axis = stack.pop() || 0; + const right = stack.pop() || 0; + const left = stack.pop() || 0; + if (right - left <= nodeSize) { + for (let i = left; i <= right; i++) { + if (sqDist(coords[2 * i], coords[2 * i + 1], qx, qy2) <= r2) result.push(ids[i]); + } + continue; + } + const m = left + right >> 1; + const x2 = coords[2 * m]; + const y = coords[2 * m + 1]; + if (sqDist(x2, y, qx, qy2) <= r2) result.push(ids[m]); + if (axis === 0 ? qx - r <= x2 : qy2 - r <= y) { + stack.push(left); + stack.push(m - 1); + stack.push(1 - axis); + } + if (axis === 0 ? qx + r >= x2 : qy2 + r >= y) { + stack.push(m + 1); + stack.push(right); + stack.push(1 - axis); + } + } + return result; + } + }; + function sort(ids, coords, nodeSize, left, right, axis) { + if (right - left <= nodeSize) return; + const m = left + right >> 1; + select(ids, coords, m, left, right, axis); + sort(ids, coords, nodeSize, left, m - 1, 1 - axis); + sort(ids, coords, nodeSize, m + 1, right, 1 - axis); + } + function select(ids, coords, k4, left, right, axis) { + while (right > left) { + if (right - left > 600) { + const n = right - left + 1; + const m = k4 - left + 1; + const z4 = Math.log(n); + const s = 0.5 * Math.exp(2 * z4 / 3); + const sd4 = 0.5 * Math.sqrt(z4 * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1); + const newLeft = Math.max(left, Math.floor(k4 - m * s / n + sd4)); + const newRight = Math.min(right, Math.floor(k4 + (n - m) * s / n + sd4)); + select(ids, coords, k4, newLeft, newRight, axis); + } + const t = coords[2 * k4 + axis]; + let i = left; + let j4 = right; + swapItem(ids, coords, left, k4); + if (coords[2 * right + axis] > t) swapItem(ids, coords, left, right); + while (i < j4) { + swapItem(ids, coords, i, j4); + i++; + j4--; + while (coords[2 * i + axis] < t) i++; + while (coords[2 * j4 + axis] > t) j4--; + } + if (coords[2 * left + axis] === t) swapItem(ids, coords, left, j4); + else { + j4++; + swapItem(ids, coords, j4, right); + } + if (j4 <= k4) left = j4 + 1; + if (k4 <= j4) right = j4 - 1; + } + } + function swapItem(ids, coords, i, j4) { + swap2(ids, i, j4); + swap2(coords, 2 * i, 2 * j4); + swap2(coords, 2 * i + 1, 2 * j4 + 1); + } + function swap2(arr, i, j4) { + const tmp = arr[i]; + arr[i] = arr[j4]; + arr[j4] = tmp; + } + function sqDist(ax, ay2, bx, by2) { + const dx = ax - bx; + const dy2 = ay2 - by2; + return dx * dx + dy2 * dy2; + } + + // node_modules/@univerjs/core/lib/es/index.js + var Xe = typeof global < `u` ? global : typeof self < `u` ? self : window; + function Ze() { + let e29 = /* @__PURE__ */ new Map(), t = 0; + typeof Xe.requestIdleCallback != `function` && (Xe.requestIdleCallback = function(n) { + let r = Date.now(), i = ++t, a = setTimeout(function() { + e29.delete(i); + let t2 = Math.max(0, 50 - (Date.now() - r)); + n({ didTimeout: t2 === 0, timeRemaining() { + return t2; + } }); + }, 1); + return e29.set(i, a), i; + }), typeof Xe.cancelIdleCallback != `function` && (Xe.cancelIdleCallback = function(t2) { + let n = e29.get(t2); + n !== void 0 && (clearTimeout(n), e29.delete(t2)); + }); + } + function Qe() { + typeof Xe.Array.prototype.findLastIndex != `function` && (Xe.Array.prototype.findLastIndex = function(e29, t) { + if (this == null) throw TypeError(`Array.prototype.findLastIndex called on null or undefined`); + if (typeof e29 != `function`) throw TypeError(`callback must be a function`); + let n = this.length >>> 0; + for (let r = n - 1; r >= 0; r--) if (r in this && e29.call(t, this[r], r, this)) return r; + return -1; + }), typeof Xe.Array.prototype.findLast != `function` && (Xe.Array.prototype.findLast = function(e29, t) { + let n = this.findLastIndex(e29, t); + return n === -1 ? void 0 : this[n]; + }); + } + function $e() { + typeof Xe.String.prototype.at != `function` && (Xe.String.prototype.at = function(e29) { + if (this == null) throw TypeError(`String.prototype.at called on null or undefined`); + let t = this.length; + if (e29 < 0 && (e29 = t + e29), !(e29 < 0 || e29 >= t)) return this.charAt(e29); + }); + } + function et() { + Ze(), Qe(), $e(); + } + function tt(e29, t) { + let n = e29.indexOf(t); + return n > -1 ? (e29.splice(n, 1), true) : false; + } + function it(e29, t) { + for (let n = e29.length - 1; n > -1; n--) { + let r = e29[n]; + if (t(r, n)) return r; + } + return null; + } + var ct = /* @__PURE__ */ new Set([`true`, `false`]); + function lt(e29) { + return ct.has(e29.toLowerCase()); + } + var ut = `__INTERNAL_EDITOR__`; + var dt = `${ut}DOCS_NORMAL`; + var ft = `${ut}DOCS_FORMULA_BAR`; + var pt = `${ut}ZEN_EDITOR`; + var mt = `${ut}COMMENT_EDITOR`; + var gt = `isRowStylePrecedeColumnStyle`; + var _t = /* @__PURE__ */ Symbol(`AUTO_HEIGHT_FOR_MERGED_CELLS`); + function yt(e29) { + return e29.startsWith(ut); + } + function xt(e29, t) { + t.forEach((t2) => e29.add(t2)); + } + function St(e29, t) { + t.forEach(([t2]) => { + e29.has(t2) && e29.get(t2); + }); + } + function Ct(e29, t) { + if (Object.is(e29, t)) return true; + if (typeof e29 != `object` || !e29 || typeof t != `object` || !t) return false; + let n = Object.keys(e29), r = Object.keys(t); + if (n.length !== r.length) return false; + let i = Object.prototype.hasOwnProperty.bind(t); + for (let r2 = 0; r2 < n.length; r2++) { + let a = n[r2]; + if (!i(a) || e29[a] !== t[a]) return false; + } + return true; + } + var wt = class extends Error { + constructor(e29) { + super(e29), this.name = `CustomCommandExecutionError`; + } + }; + function Et(e29, t = 16) { + let n = 0, r = null; + return function(...i) { + let a = Date.now(); + a - n < t ? (r && clearTimeout(r), r = setTimeout(() => { + n = a, e29.apply(this, i); + }, t)) : (n = a, e29.apply(this, i)); + }; + } + function Dt(e29) { + "@babel/helpers - typeof"; + return Dt = typeof Symbol == `function` && typeof Symbol.iterator == `symbol` ? function(e30) { + return typeof e30; + } : function(e30) { + return e30 && typeof Symbol == `function` && e30.constructor === Symbol && e30 !== Symbol.prototype ? `symbol` : typeof e30; + }, Dt(e29); + } + function Ot(e29, t) { + if (Dt(e29) != `object` || !e29) return e29; + var n = e29[Symbol.toPrimitive]; + if (n !== void 0) { + var r = n.call(e29, t || `default`); + if (Dt(r) != `object`) return r; + throw TypeError(`@@toPrimitive must return a primitive value.`); + } + return (t === `string` ? String : Number)(e29); + } + function kt(e29) { + var t = Ot(e29, `string`); + return Dt(t) == `symbol` ? t : t + ``; + } + function C(e29, t, n) { + return (t = kt(t)) in e29 ? Object.defineProperty(e29, t, { value: n, enumerable: true, configurable: true, writable: true }) : e29[t] = n, e29; + } + var At = (function(e29) { + return e29[e29.Style = 1] = `Style`, e29[e29.Value = 2] = `Value`, e29; + })({}); + function jt(e29) { + return `sheet_interceptor_${e29}`; + } + var Mt = (e29) => function(t, n) { + let r = -1, i = t; + for (let t2 = 0; t2 <= e29.length; t2++) { + if (t2 <= r) throw Error(`[SheetInterceptorService]: next() called multiple times!`); + if (r = t2, t2 === e29.length) return i; + let a = e29[t2], o = false; + if (i = a.handler(i, n, (e30) => (o = true, e30)), !o) break; + } + return i; + }; + var Nt = class { + constructor(e29) { + C(this, `_interceptorsByName`, /* @__PURE__ */ new Map()), C(this, `_interceptorPoints`, void 0), this._interceptorPoints = e29; + } + fetchThroughInterceptors(e29, t) { + let n = e29, r = this._interceptorsByName.get(n); + return t && (r = r.filter(t)), Mt(r || []); + } + intercept(e29, t) { + let n = e29; + this._interceptorsByName.has(n) || this._interceptorsByName.set(n, []); + let r = this._interceptorsByName.get(n); + return r.push(t), this._interceptorsByName.set(n, r.sort((e30, t2) => { + var n2, r2; + return ((n2 = t2.priority) == null ? 0 : n2) - ((r2 = e30.priority) == null ? 0 : r2); + })), () => tt(this._interceptorsByName.get(n), t); + } + getInterceptPoints() { + return this._interceptorPoints; + } + dispose() { + this._interceptorsByName.clear(); + } + }; + function Bt(e29, t, n) { + let r = [e29, t, n].map((e30) => e30 <= 0.03928 ? e30 / 12.92 : ((e30 + 0.055) / 1.055) ** 2.4); + return 0.2126 * r[0] + 0.7152 * r[1] + 0.0722 * r[2]; + } + var Ut = { r: 1, g: 1, b: 1 }; + var Wt = { r: 0, g: 0, b: 0 }; + var Gt = Bt(Ut.r, Ut.g, Ut.b); + var Kt = Bt(Wt.r, Wt.g, Wt.b); + var Zt = class { + constructor() { + C(this, `cursor`, 0); + } + reset() { + return this.cursor = 0, this; + } + moveCursor(e29) { + this.cursor += e29; + } + moveCursorTo(e29) { + this.cursor = e29; + } + }; + function $t(e29) { + return /^-?\d+(\.\d+)?$/.test(e29); + } + function en(e29) { + return $t(e29) ? Number(e29) <= 2 ** 53 - 1 : false; + } + function tn(e29) { + return Number(e29) > 2 ** 53 - 1 || e29.length >= 18; + } + function an(e29) { + let t = new MessageChannel(), n = false, r = () => { + n || e29(); + }; + return t.port1.onmessage = r, t.port2.postMessage(null), () => { + n = true, t.port1.onmessage = null, t.port1.close(), t.port2.close(); + }; + } + async function on(e29) { + for (let [t, n] of e29.entries()) try { + if (!await n()) return { index: t, result: false }; + } catch (e30) { + return { index: t, result: false, error: e30 }; + } + return { result: true, index: -1 }; + } + function sn(e29) { + for (let [t, n] of e29.entries()) try { + if (!n()) return { index: t, result: false }; + } catch (e30) { + return { index: t, result: false, error: e30 }; + } + return { result: true, index: -1 }; + } + function ln(e29) { + return e29 instanceof Subscription || e29 instanceof Subject || e29 && `closed` in e29 && e29.unsubscribe !== void 0; + } + function T2(e29) { + let t = false; + return e29 ? ln(e29) ? { dispose: () => e29.unsubscribe() } : typeof e29 == `function` ? { dispose: () => { + t || (t = true, e29()); + } } : e29 : T2(() => { + }); + } + var un = class { + constructor() { + C(this, `_disposables`, /* @__PURE__ */ new Set()); + } + add(e29) { + let t = T2(e29); + return this._disposables.add(t), { dispose: (e30 = false) => { + e30 || t.dispose(), this._disposables.delete(t); + } }; + } + dispose() { + this._disposables.forEach((e29) => { + e29.dispose(); + }), this._disposables.clear(); + } + }; + var E = class { + constructor() { + C(this, `_disposed`, false), C(this, `_collection`, new un()); + } + disposeWithMe(e29) { + return this._collection.add(e29); + } + ensureNotDisposed() { + if (this._disposed) throw Error(`[Disposable]: object is disposed!`); + } + dispose() { + this._disposed || (this._disposed = true, this._collection.dispose()); + } + }; + var dn = class extends E { + constructor(...e29) { + super(...e29), C(this, `dispose$`, new Subject()); + } + dispose() { + super.dispose(), this.dispose$.next(), this.dispose$.complete(); + } + }; + var pn = class extends E { + }; + var mn = new Set(`ac.ad.ae.aero.af.ag.ai.al.am.ao.aq.ar.arpa.as.asia.at.au.aw.ax.az.ba.bb.bd.be.bf.bg.bh.bi.biz.bj.bm.bn.bo.br.bs.bt.bv.bw.by.bz.ca.cat.cc.cd.cf.cg.ch.ci.ck.cl.cm.cn.co.com.coop.cr.cu.cv.cw.cx.cy.cz.de.dj.dk.dm.do.dz.ec.edu.ee.eg.er.es.et.eu.fi.fj.fk.fm.fo.fr.ga.gb.gd.ge.gf.gg.gh.gi.gl.gm.gn.gov.gp.gq.gr.gs.gt.gu.gw.gy.hk.hm.hn.hr.ht.hu.id.ie.il.im.in.info.int.io.iq.ir.is.it.je.jm.jo.jobs.jp.ke.kg.kh.ki.km.kn.kp.kr.kw.ky.kz.la.lb.lc.li.lk.lr.ls.lt.lu.lv.ly.ma.mc.md.me.mg.mh.mil.mk.ml.mm.mn.mo.mobi.mp.mq.mr.ms.mt.mu.museum.mv.mw.mx.my.mz.na.name.nc.ne.net.nf.ng.ni.nl.no.np.nr.nu.nz.om.onion.org.pa.pe.pf.pg.ph.pk.pl.pm.pn.post.pr.pro.ps.pt.pw.py.qa.re.ro.rs.ru.rw.sa.sb.sc.sd.se.sg.sh.si.sj.sk.sl.sm.sn.so.sr.ss.st.su.sv.sx.sy.sz.tc.td.tel.tf.tg.th.tj.tk.tl.tm.tn.to.tr.tt.tv.tw.tz.ua.ug.uk.us.uy.uz.va.vc.ve.vg.vi.vn.vu.wf.ws.yt.za.zm.zw`.split(`.`)); + var hn = RegExp(`^(?:(?:(?:https?|ftp):)?\\/\\/)?(?:\\S+(?::\\S*)?@)?(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z0-9\\u00a1-\\uffff][a-z0-9\\u00a1-\\uffff_-]{0,62})?[a-z0-9\\u00a1-\\uffff]\\.)+(?:[a-z\\u00a1-\\uffff]{2,}\\.?))(?::\\d{2,5})?(?:[/?#]\\S*)?$`, `i`); + function gn(e29) { + if (!Number.isNaN(+e29)) return false; + if (e29.startsWith(`http://localhost:3002`) || e29.startsWith(`localhost:3002`)) return true; + if (hn.test(e29)) { + if (_n(e29)) return true; + try { + let t = new URL(yn(e29)).hostname.split(`.`).pop(); + if (t && mn.has(t)) return true; + } catch { + return false; + } + } + return false; + } + function _n(e29) { + return /^[a-zA-Z]+:\/\//.test(e29); + } + function vn(e29) { + return /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/.test(e29); + } + function yn(e29) { + return _n(e29) ? e29 : vn(e29) ? `mailto://${e29}` : `https://${e29}`; + } + function xn(e29, t) { + return D.getValueType(e29) === D.getValueType(t) ? D.isArray(e29) ? Sn(e29, t) : D.isObject(e29) ? Cn(e29, t) : D.isDate(e29) ? e29.getTime() === t.getTime() : D.isRegExp(e29) ? e29.toString() === t.toString() : e29 === t : false; + } + function Sn(e29, t) { + if (e29.length !== t.length) return false; + for (let n = 0, r = e29.length; n < r; n++) { + let r2 = e29[n], i = t[n]; + if (!xn(r2, i)) return false; + } + return true; + } + function Cn(e29, t) { + let n = Object.keys(e29), r = Object.keys(t); + if (n.length !== r.length) return false; + for (let i of n) { + if (!r.includes(i)) return false; + let n2 = e29[i], a = t[i]; + if (!xn(n2, a)) return false; + } + return true; + } + var D = class e3 { + static deleteNull(e29) { + for (let t in e29) (e29[t] === null || e29[t] === void 0) && delete e29[t]; + return e29; + } + static getSystemType() { + let e29 = navigator.userAgent, t = navigator.platform === `Win32` || navigator.platform === `Windows`, n = navigator.platform === `Mac68K` || navigator.platform === `MacPPC` || navigator.platform === `Macintosh` || navigator.platform === `MacIntel`; + if (n) return `Mac`; + if (navigator.platform === `X11` && !t && !n) return `Unix`; + if (String(navigator.platform).indexOf(`Linux`) > -1) return `Linux`; + if (t) { + if (e29.indexOf(`Windows NT 5.0`) > -1 || e29.indexOf(`Windows 2000`) > -1) return `Windows 2000`; + if (e29.indexOf(`Windows NT 5.1`) > -1 || e29.indexOf(`Windows XP`) > -1) return `Windows XP`; + if (e29.indexOf(`Windows NT 5.2`) > -1 || e29.indexOf(`Windows 2003`) > -1) return `Windows 2003`; + if (e29.indexOf(`Windows NT 6.0`) > -1 || e29.indexOf(`Windows Vista`) > -1) return `Windows Vista`; + if (e29.indexOf(`Windows NT 6.1`) > -1 || e29.indexOf(`Windows 7`) > -1) return `Windows 7`; + if (e29.indexOf(`Windows NT 10`) > -1 || e29.indexOf(`Windows 10`) > -1) return `Windows 10`; + if (e29.indexOf(`Windows NT 11`) > -1 || e29.indexOf(`Windows 11`) > -1) return `Windows 11`; + } + return `Unknown system`; + } + static getBrowserType() { + let e29 = navigator.userAgent, t = e29.indexOf(`Opera`) > -1, n = e29.indexOf(`compatible`) > -1 && e29.indexOf(`MSIE`) > -1 && !t, r = e29.indexOf(`Trident`) > -1 && e29.indexOf(`rv:11.0`) > -1, i = e29.indexOf(`Edge`) > -1, a = e29.indexOf(`Firefox`) > -1, o = e29.indexOf(`Safari`) > -1 && e29.indexOf(`Chrome`) === -1, s = e29.indexOf(`Chrome`) > -1 && e29.indexOf(`Safari`) > -1; + if (n) { + RegExp(`MSIE (\\d+\\.\\d+);`).test(e29); + let t2 = Number.parseFloat(RegExp.$1); + return t2 === 7 ? `IE7` : t2 === 8 ? `IE8` : t2 === 9 ? `IE9` : t2 === 10 ? `IE10` : `0`; + } + return a ? `FF` : t ? `Opera` : o ? `Safari` : s ? `Chrome` : i ? `Edge` : r ? `IE11` : `Unknown browser`; + } + static deepMerge(t, ...n) { + n.forEach((e29) => e29 && a(e29)); + function r(t2, n2) { + t2.forEach((t3, a2) => { + if (e3.isArray(t3)) { + var o; + let e29 = (o = n2[a2]) == null ? [] : o; + n2[a2] = e29, r(t3, e29); + return; + } + if (e3.isObject(t3)) { + var s; + let e29 = (s = n2[a2]) == null ? {} : s; + n2[a2] = e29, i(t3, e29); + return; + } + n2[a2] = t3; + }); + } + function i(t2, n2) { + Object.keys(t2).forEach((a2) => { + let o = t2[a2]; + if (e3.isObject(o)) { + var s; + let e29 = (s = n2[a2]) == null ? {} : s; + n2[a2] = e29, i(o, e29); + return; + } + if (e3.isArray(o)) { + var c; + let e29 = (c = n2[a2]) == null ? [] : c; + n2[a2] = e29, r(o, e29); + return; + } + n2[a2] = o; + }); + } + function a(n2) { + Object.keys(n2).forEach((a2) => { + let o = n2[a2]; + if (e3.isArray(o)) { + var s; + let e29 = (s = t[a2]) == null ? [] : s; + t[a2] = e29, r(o, e29); + return; + } + if (e3.isObject(o)) { + var c; + let e29 = (c = t[a2]) == null ? {} : c; + t[a2] = e29, i(o, e29); + return; + } + t[a2] = o; + }); + } + return t; + } + static diffValue(e29, t) { + return xn(e29, t); + } + static deepClone(t) { + if (!this.isDefine(t)) return t; + if (this.isRegExp(t)) return new RegExp(t); + if (this.isDate(t)) return new Date(t); + if (this.isArray(t)) { + let n = []; + return t.forEach((t2, r) => { + n[r] = e3.deepClone(t2); + }), n; + } + if (this.isObject(t)) { + let n = {}; + return Object.keys(t).forEach((r) => { + let i = t[r]; + n[r] = e3.deepClone(i); + }), Object.setPrototypeOf(n, Object.getPrototypeOf(t)), n; + } + return t; + } + static getValueType(e29) { + return Object.prototype.toString.apply(e29); + } + static isDefine(e29) { + return e29 != null; + } + static isBlank(e29) { + return this.isDefine(e29) ? this.isString(e29) ? e29.trim() === `` : false : true; + } + static isPlainObject(e29) { + return this.isDefine(e29) ? Object.getPrototypeOf(e29) === Object.getPrototypeOf({}) : false; + } + static isDate(e29) { + return this.getValueType(e29) === `[object Date]`; + } + static isRegExp(e29) { + return this.getValueType(e29) === `[object RegExp]`; + } + static isArray(e29) { + return this.getValueType(e29) === `[object Array]`; + } + static isString(e29) { + return this.getValueType(e29) === `[object String]`; + } + static isNumber(e29) { + return this.getValueType(e29) === `[object Number]`; + } + static isStringNumber(e29) { + return !isNaN(Number.parseFloat(e29)) && isFinite(e29); + } + static isObject(e29) { + return this.getValueType(e29) === `[object Object]`; + } + static isEmptyObject(e29) { + for (let t in e29) return false; + return true; + } + static isTablet() { + return /ipad|android|android 3.0|xoom|sch-i800|playbook|tablet|kindle/i.test(navigator.userAgent.toLowerCase()); + } + static isIPhone() { + return /iPhone/i.test(navigator.userAgent); + } + static isLegalUrl(e29) { + return gn(e29); + } + static normalizeUrl(e29) { + return yn(e29); + } + static topLevelDomainCombiningString() { + return [...mn].join(`|`); + } + static removeNull(t) { + return this.isObject(t) && Object.keys(t).forEach((n) => { + let r = t[n]; + r == null ? delete t[n] : e3.removeNull(r); + }), t; + } + static numToWord(e29) { + let t = ``; + for (; e29 > 0; ) { + let n = e29 % 26; + n = n === 0 ? n = 26 : n, t = String.fromCharCode(96 + n) + t, e29 = (e29 - n) / 26; + } + return t.toLocaleUpperCase(); + } + static ABCatNum(e29) { + if (e29 == null || e29.length === 0) return NaN; + let t = e29.toLowerCase().split(``), n = t.length, r = 0, i = 0; + for (let e30 = 0; e30 < n; e30++) i = t[e30].charCodeAt(0) - 96, r += i * 26 ** (n - e30 - 1); + return r === 0 ? NaN : r - 1; + } + static chatAtABC(e29) { + let t = ``; + for (; e29 >= 0; ) t = String.fromCharCode(e29 % 26 + 97) + t, e29 = Math.floor(e29 / 26) - 1; + return t.toUpperCase(); + } + static commonExtend(e29, t) { + let n = {}; + for (let t2 in e29) n[t2] = e29[t2]; + for (let e30 in t) t[e30] != null && (n[e30] = t[e30]); + return n; + } + static hasIntersectionBetweenTwoRanges(e29, t, n, r) { + return t >= n && r >= e29; + } + static isStartValidPosition(e29) { + return /^[A-Za-zА-Яа-яЁё_]/.test(e29); + } + static isValidParameter(e29) { + let t = /[~!@#$%^&*()+=\-{}\[\]\|:;"'<>,?\/ ]+/.test(e29), n = e29.length <= 255; + return !t && n; + } + static clamp(e29, t, n) { + return Math.max(t, Math.min(n, e29)); + } + static now() { + return performance && performance.now ? performance.now() : Date.now(); + } + }; + function O2(e29 = 21, t) { + return t ? customAlphabet(t, e29)() : nanoid(e29); + } + function wn(...e29) { + let t = {}, n = e29.length; + for (let r = n - 1; r >= 0; r--) { + let n2 = e29[r]; + if (n2) { + let e30 = Object.keys(n2); + for (let r2 of e30) t[r2] === void 0 && (t[r2] = n2[r2]); + } + } + return t; + } + var Tn = () => typeof process < `u` && process.versions != null && process.versions.node != null; + var Dn = (function(e29) { + return e29[e29.DEFAULT_SERIES = 0] = `DEFAULT_SERIES`, e29[e29.ALTERNATE_SERIES = 1] = `ALTERNATE_SERIES`, e29; + })({}); + var k = (function(e29) { + return e29[e29.NONE = 0] = `NONE`, e29[e29.THIN = 1] = `THIN`, e29[e29.HAIR = 2] = `HAIR`, e29[e29.DOTTED = 3] = `DOTTED`, e29[e29.DASHED = 4] = `DASHED`, e29[e29.DASH_DOT = 5] = `DASH_DOT`, e29[e29.DASH_DOT_DOT = 6] = `DASH_DOT_DOT`, e29[e29.DOUBLE = 7] = `DOUBLE`, e29[e29.MEDIUM = 8] = `MEDIUM`, e29[e29.MEDIUM_DASHED = 9] = `MEDIUM_DASHED`, e29[e29.MEDIUM_DASH_DOT = 10] = `MEDIUM_DASH_DOT`, e29[e29.MEDIUM_DASH_DOT_DOT = 11] = `MEDIUM_DASH_DOT_DOT`, e29[e29.SLANT_DASH_DOT = 12] = `SLANT_DASH_DOT`, e29[e29.THICK = 13] = `THICK`, e29; + })({}); + var On = (function(e29) { + return e29.TOP = `top`, e29.BOTTOM = `bottom`, e29.LEFT = `left`, e29.RIGHT = `right`, e29.NONE = `none`, e29.ALL = `all`, e29.OUTSIDE = `outside`, e29.INSIDE = `inside`, e29.HORIZONTAL = `horizontal`, e29.VERTICAL = `vertical`, e29.TLBR = `tlbr`, e29.TLBC_TLMR = `tlbc_tlmr`, e29.TLBR_TLBC_TLMR = `tlbr_tlbc_tlmr`, e29.BLTR = `bl_tr`, e29.MLTR_BCTR = `mltr_bctr`, e29; + })({}); + var kn = (function(e29) { + return e29[e29.UNSUPPORTED = 0] = `UNSUPPORTED`, e29[e29.RGB = 1] = `RGB`, e29[e29.HEX = 2] = `HEX`, e29[e29.THEME = 3] = `THEME`, e29; + })({}); + var An = (function(e29) { + return e29[e29.ON = 0] = `ON`, e29[e29.OFF = 1] = `OFF`, e29; + })({}); + var jn = (function(e29) { + return e29[e29.PASTE_NORMAL = 0] = `PASTE_NORMAL`, e29[e29.PASTE_NO_BORDERS = 1] = `PASTE_NO_BORDERS`, e29[e29.PASTE_FORMAT = 2] = `PASTE_FORMAT`, e29[e29.PASTE_FORMULA = 3] = `PASTE_FORMULA`, e29[e29.PASTE_DATA_VALIDATION = 4] = `PASTE_DATA_VALIDATION`, e29[e29.PASTE_VALUES = 5] = `PASTE_VALUES`, e29[e29.PASTE_CONDITIONAL_FORMATTING = 6] = `PASTE_CONDITIONAL_FORMATTING`, e29[e29.PASTE_COLUMN_WIDTHS = 7] = `PASTE_COLUMN_WIDTHS`, e29; + })({}); + var Mn = (function(e29) { + return e29[e29.LEFT = 0] = `LEFT`, e29[e29.RIGHT = 1] = `RIGHT`, e29; + })({}); + var Nn = (function(e29) { + return e29[e29.DOCUMENT = 0] = `DOCUMENT`, e29[e29.PROJECT = 1] = `PROJECT`, e29; + })({}); + var Pn = (function(e29) { + return e29[e29.COLUMNS = 0] = `COLUMNS`, e29[e29.ROWS = 1] = `ROWS`, e29; + })({}); + var Fn = (function(e29) { + return e29[e29.UP = 0] = `UP`, e29[e29.RIGHT = 1] = `RIGHT`, e29[e29.DOWN = 2] = `DOWN`, e29[e29.LEFT = 3] = `LEFT`, e29; + })({}); + var Ln = (function(e29) { + return e29[e29.INTERPOLATION_POINT_TYPE_UNSPECIFIED = 0] = `INTERPOLATION_POINT_TYPE_UNSPECIFIED`, e29[e29.MIN = 1] = `MIN`, e29[e29.MAX = 2] = `MAX`, e29[e29.NUMBER = 3] = `NUMBER`, e29[e29.PERCENT = 4] = `PERCENT`, e29[e29.PERCENTILE = 5] = `PERCENTILE`, e29; + })({}); + var Rn = (function(e29) { + return e29.EN_US = `enUS`, e29.FR_FR = `frFR`, e29.ZH_CN = `zhCN`, e29.RU_RU = `ruRU`, e29.ZH_TW = `zhTW`, e29.VI_VN = `viVN`, e29.FA_IR = `faIR`, e29.JA_JP = `jaJP`, e29.KO_KR = `koKR`, e29.ES_ES = `esES`, e29.CA_ES = `caES`, e29.SK_SK = `skSK`, e29; + })({}); + var zn = (function(e29) { + return e29[e29.PERSON = 0] = `PERSON`, e29[e29.FILE = 1] = `FILE`, e29[e29.DATE = 2] = `DATE`, e29[e29.LOCATION = 3] = `LOCATION`, e29[e29.EVENT = 4] = `EVENT`, e29; + })({}); + var Bn = (function(e29) { + return e29[e29.RANGE = 0] = `RANGE`, e29[e29.SHEET = 1] = `SHEET`, e29; + })({}); + var Vn = (function(e29) { + return e29.Line = `line`, e29.LineInv = `lineInv`, e29.Triangle = `triangle`, e29.RtTriangle = `rtTriangle`, e29.Rect = `rect`, e29.Diamond = `diamond`, e29.Parallelogram = `parallelogram`, e29.Trapezoid = `trapezoid`, e29.NonIsocelesTrapezoid = `nonIsocelesTrapezoid`, e29.Pentagon = `pentagon`, e29.Hexagon = `hexagon`, e29.Heptagon = `heptagon`, e29.Octagon = `octagon`, e29.Decagon = `decagon`, e29.Dodecagon = `dodecagon`, e29.Star4 = `star4`, e29.Star5 = `star5`, e29.Star6 = `star6`, e29.Star7 = `star7`, e29.Star8 = `star8`, e29.Star10 = `star10`, e29.Star12 = `star12`, e29.Star16 = `star16`, e29.Star24 = `star24`, e29.Star32 = `star32`, e29.RoundRect = `roundRect`, e29.Round1Rect = `round1Rect`, e29.Round2SameRect = `round2SameRect`, e29.Round2DiagRect = `round2DiagRect`, e29.Ellipse = `ellipse`, e29; + })({}); + var Hn = (function(e29) { + return e29.RightArrow = `rightArrow`, e29.LeftArrow = `leftArrow`, e29.UpArrow = `upArrow`, e29.DownArrow = `downArrow`, e29.LeftRightArrow = `leftRightArrow`, e29.UpDownArrow = `upDownArrow`, e29.QuadArrow = `quadArrow`, e29.LeftRightUpArrow = `leftRightUpArrow`, e29.BentArrow = `bentArrow`, e29.UturnArrow = `uturnArrow`, e29.CircularArrow = `circularArrow`, e29.NotchedRightArrow = `notchedRightArrow`, e29.HomePlate = `homePlate`, e29.Chevron = `chevron`, e29.LeftCircularArrow = `leftCircularArrow`, e29.LeftRightCircularArrow = `leftRightCircularArrow`, e29; + })({}); + var Un = (function(e29) { + return e29.Plaque = `plaque`, e29.Can = `can`, e29.Cube = `cube`, e29.Bevel = `bevel`, e29.Donut = `donut`, e29.NoSmoking = `noSmoking`, e29.BlockArc = `blockArc`, e29.FoldedCorner = `foldedCorner`, e29; + })({}); + var Wn = (function(e29) { + return e29.SmileyFace = `smileyFace`, e29.Heart = `heart`, e29.LightningBolt = `lightningBolt`, e29.Sun = `sun`, e29.Moon = `moon`, e29.Cloud = `cloud`, e29.Arc = `arc`, e29.Backpack = `backpack`, e29.Frame = `frame`, e29.HalfFrame = `halfFrame`, e29.Corner = `corner`, e29.Chord = `chord`, e29.Pie = `pie`, e29.Teardrop = `teardrop`, e29.WedgeRectCallout = `wedgeRectCallout`, e29.WedgeRRectCallout = `wedgeRRectCallout`, e29.WedgeEllipseCallout = `wedgeEllipseCallout`, e29.CloudCallout = `cloudCallout`, e29.BorderCallout1 = `borderCallout1`, e29.BorderCallout2 = `borderCallout2`, e29.BorderCallout3 = `borderCallout3`, e29.AccentCallout1 = `accentCallout1`, e29.AccentCallout2 = `accentCallout2`, e29.AccentCallout3 = `accentCallout3`, e29.Callout1 = `callout1`, e29.Callout2 = `callout2`, e29.Callout3 = `callout3`, e29.ActionButtonBackPrevious = `actionButtonBackPrevious`, e29.ActionButtonEnd = `actionButtonEnd`, e29.ActionButtonForwardNext = `actionButtonForwardNext`, e29.ActionButtonHelp = `actionButtonHelp`, e29.ActionButtonHome = `actionButtonHome`, e29.ActionButtonInformation = `actionButtonInformation`, e29.ActionButtonMovie = `actionButtonMovie`, e29.ActionButtonReturn = `actionButtonReturn`, e29.ActionButtonSound = `actionButtonSound`, e29; + })({}); + var Gn = (function(e29) { + return e29[e29.RELATIVE_DATE_UNSPECIFIED = 0] = `RELATIVE_DATE_UNSPECIFIED`, e29[e29.PAST_YEAR = 1] = `PAST_YEAR`, e29[e29.PAST_MONTH = 2] = `PAST_MONTH`, e29[e29.PAST_WEEK = 3] = `PAST_WEEK`, e29[e29.YESTERDAY = 4] = `YESTERDAY`, e29[e29.TODAY = 5] = `TODAY`, e29[e29.TOMORROW = 6] = `TOMORROW`, e29; + })({}); + var Kn = (function(e29) { + return e29[e29.GRID = 0] = `GRID`, e29[e29.KANBAN = 1] = `KANBAN`, e29[e29.GANTT = 2] = `GANTT`, e29; + })({}); + var qn = (function(e29) { + return e29[e29.UNSPECIFIED = 0] = `UNSPECIFIED`, e29[e29.LEFT_TO_RIGHT = 1] = `LEFT_TO_RIGHT`, e29[e29.RIGHT_TO_LEFT = 2] = `RIGHT_TO_LEFT`, e29; + })({}); + var Jn = (function(e29) { + return e29[e29.DASH = 0] = `DASH`, e29[e29.DASH_DOT_DOT_HEAVY = 1] = `DASH_DOT_DOT_HEAVY`, e29[e29.DASH_DOT_HEAVY = 2] = `DASH_DOT_HEAVY`, e29[e29.DASHED_HEAVY = 3] = `DASHED_HEAVY`, e29[e29.DASH_LONG = 4] = `DASH_LONG`, e29[e29.DASH_LONG_HEAVY = 5] = `DASH_LONG_HEAVY`, e29[e29.DOT_DASH = 6] = `DOT_DASH`, e29[e29.DOT_DOT_DASH = 7] = `DOT_DOT_DASH`, e29[e29.DOTTED = 8] = `DOTTED`, e29[e29.DOTTED_HEAVY = 9] = `DOTTED_HEAVY`, e29[e29.DOUBLE = 10] = `DOUBLE`, e29[e29.NONE = 11] = `NONE`, e29[e29.SINGLE = 12] = `SINGLE`, e29[e29.THICK = 13] = `THICK`, e29[e29.WAVE = 14] = `WAVE`, e29[e29.WAVY_DOUBLE = 15] = `WAVY_DOUBLE`, e29[e29.WAVY_HEAVY = 16] = `WAVY_HEAVY`, e29[e29.WORDS = 17] = `WORDS`, e29; + })({}); + var Yn = (function(e29) { + return e29[e29.UNSPECIFIED = 0] = `UNSPECIFIED`, e29[e29.LEFT = 1] = `LEFT`, e29[e29.CENTER = 2] = `CENTER`, e29[e29.RIGHT = 3] = `RIGHT`, e29[e29.JUSTIFIED = 4] = `JUSTIFIED`, e29[e29.BOTH = 5] = `BOTH`, e29[e29.DISTRIBUTED = 6] = `DISTRIBUTED`, e29; + })({}); + var Xn = (function(e29) { + return e29[e29.UNSPECIFIED = 0] = `UNSPECIFIED`, e29[e29.TOP = 1] = `TOP`, e29[e29.MIDDLE = 2] = `MIDDLE`, e29[e29.BOTTOM = 3] = `BOTTOM`, e29; + })({}); + var Zn = (function(e29) { + return e29[e29.UNSPECIFIED = 0] = `UNSPECIFIED`, e29[e29.OVERFLOW = 1] = `OVERFLOW`, e29[e29.CLIP = 2] = `CLIP`, e29[e29.WRAP = 3] = `WRAP`, e29; + })({}); + var Qn = (function(e29) { + return e29[e29.NORMAL = 0] = `NORMAL`, e29[e29.ITALIC = 1] = `ITALIC`, e29; + })({}); + var $n = (function(e29) { + return e29[e29.NORMAL = 0] = `NORMAL`, e29[e29.BOLD = 1] = `BOLD`, e29; + })({}); + var er = (function(e29) { + return e29[e29.NORMAL = 1] = `NORMAL`, e29[e29.SUBSCRIPT = 2] = `SUBSCRIPT`, e29[e29.SUPERSCRIPT = 3] = `SUPERSCRIPT`, e29; + })({}); + var A = (function(e29) { + return e29[e29.FALSE = 0] = `FALSE`, e29[e29.TRUE = 1] = `TRUE`, e29; + })({}); + var tr = (function(e29) { + return e29[e29.STRING = 1] = `STRING`, e29[e29.NUMBER = 2] = `NUMBER`, e29[e29.BOOLEAN = 3] = `BOOLEAN`, e29[e29.FORCE_STRING = 4] = `FORCE_STRING`, e29; + })({}); + var j = (function(e29) { + return e29[e29.DARK1 = 0] = `DARK1`, e29[e29.LIGHT1 = 1] = `LIGHT1`, e29[e29.DARK2 = 2] = `DARK2`, e29[e29.LIGHT2 = 3] = `LIGHT2`, e29[e29.ACCENT1 = 4] = `ACCENT1`, e29[e29.ACCENT2 = 5] = `ACCENT2`, e29[e29.ACCENT3 = 6] = `ACCENT3`, e29[e29.ACCENT4 = 7] = `ACCENT4`, e29[e29.ACCENT5 = 8] = `ACCENT5`, e29[e29.ACCENT6 = 9] = `ACCENT6`, e29[e29.HYPERLINK = 10] = `HYPERLINK`, e29[e29.FOLLOWED_HYPERLINK = 11] = `FOLLOWED_HYPERLINK`, e29; + })({}); + var nr = (function(e29) { + return e29.OFFICE = `Office`, e29.OFFICE_2007_2010 = `Office 2007-2010`, e29.GRAYSCALE = `Grayscale`, e29.BLUE_WARM = `Blue Warm`, e29.BLUE = `Blue`, e29.BLUE_II = `Blue II`, e29.BLUE_GREEN = `Blue Green`, e29.GREEN = `Green`, e29.GREEN_YELLOW = `Green Yellow`, e29.YELLOW = `Yellow`, e29.YELLOW_ORANGE = `Yellow Orange`, e29.ORANGE = `Orange`, e29.ORANGE_RED = `Orange Red`, e29.RED_ORANGE = `Red Orange`, e29.RED = `Red`, e29.RED_VIOLET = `Red Violet`, e29.VIOLET = `Violet`, e29.VIOLET_II = `Violet II`, e29.MEDIAN = `Median`, e29.PAPER = `Paper`, e29.MARQUEE = `Marquee`, e29.SLIPSTREAM = `Slipstream`, e29.Aspect = `Aspect`, e29; + })({}); + var rr = (function(e29) { + return e29[e29.character = 0] = `character`, e29[e29.paragraph = 1] = `paragraph`, e29[e29.table = 2] = `table`, e29[e29.numbering = 3] = `numbering`, e29; + })({}); + var ir = (function(e29) { + return e29[e29.TAB = 0] = `TAB`, e29[e29.SPACE = 1] = `SPACE`, e29[e29.NOTHING = 2] = `NOTHING`, e29; + })({}); + var M = (function(e29) { + return e29[e29.BULLET = 0] = `BULLET`, e29[e29.NONE = 1] = `NONE`, e29[e29.DECIMAL = 2] = `DECIMAL`, e29[e29.DECIMAL_ZERO = 3] = `DECIMAL_ZERO`, e29[e29.UPPER_LETTER = 4] = `UPPER_LETTER`, e29[e29.LOWER_LETTER = 5] = `LOWER_LETTER`, e29[e29.UPPER_ROMAN = 6] = `UPPER_ROMAN`, e29[e29.LOWER_ROMAN = 7] = `LOWER_ROMAN`, e29[e29.ORDINAL = 8] = `ORDINAL`, e29[e29.CARDINAL_TEXT = 9] = `CARDINAL_TEXT`, e29[e29.ORDINAL_TEXT = 10] = `ORDINAL_TEXT`, e29[e29.HEX = 11] = `HEX`, e29[e29.CHICAGO = 12] = `CHICAGO`, e29[e29.IDEOGRAPH_DIGITAL = 13] = `IDEOGRAPH_DIGITAL`, e29[e29.JAPANESE_COUNTING = 14] = `JAPANESE_COUNTING`, e29[e29.AIUEO = 15] = `AIUEO`, e29[e29.IROHA = 16] = `IROHA`, e29[e29.DECIMAL_FULL_WIDTH = 17] = `DECIMAL_FULL_WIDTH`, e29[e29.DECIMAL_HALF_WIDTH = 18] = `DECIMAL_HALF_WIDTH`, e29[e29.JAPANESE_LEGAL = 19] = `JAPANESE_LEGAL`, e29[e29.JAPANESE_DIGITAL_TEN_THOUSAND = 20] = `JAPANESE_DIGITAL_TEN_THOUSAND`, e29[e29.DECIMAL_ENCLOSED_CIRCLE = 21] = `DECIMAL_ENCLOSED_CIRCLE`, e29[e29.DECIMAL_FULL_WIDTH2 = 22] = `DECIMAL_FULL_WIDTH2`, e29[e29.AIUEO_FULL_WIDTH = 23] = `AIUEO_FULL_WIDTH`, e29[e29.IROHA_FULL_WIDTH = 24] = `IROHA_FULL_WIDTH`, e29[e29.GANADA = 25] = `GANADA`, e29[e29.CHOSUNG = 26] = `CHOSUNG`, e29[e29.DECIMAL_ENCLOSED_FULLSTOP = 27] = `DECIMAL_ENCLOSED_FULLSTOP`, e29[e29.DECIMAL_ENCLOSED_PAREN = 28] = `DECIMAL_ENCLOSED_PAREN`, e29[e29.DECIMAL_ENCLOSED_CIRCLE_CHINESE = 29] = `DECIMAL_ENCLOSED_CIRCLE_CHINESE`, e29[e29.IDEOGRAPH_ENCLOSED_CIRCLE = 30] = `IDEOGRAPH_ENCLOSED_CIRCLE`, e29[e29.IDEOGRAPH_TRADITIONAL = 31] = `IDEOGRAPH_TRADITIONAL`, e29[e29.IDEOGRAPH_ZODIAC = 32] = `IDEOGRAPH_ZODIAC`, e29[e29.IDEOGRAPH_ZODIAC_TRADITIONAL = 33] = `IDEOGRAPH_ZODIAC_TRADITIONAL`, e29[e29.TAIWANESE_COUNTING = 34] = `TAIWANESE_COUNTING`, e29[e29.IDEOGRAPH_LEGAL_TRADITIONAL = 35] = `IDEOGRAPH_LEGAL_TRADITIONAL`, e29[e29.TAIWANESE_COUNTING_THOUSAND = 36] = `TAIWANESE_COUNTING_THOUSAND`, e29[e29.TAIWANESE_DIGITAL = 37] = `TAIWANESE_DIGITAL`, e29[e29.CHINESE_COUNTING = 38] = `CHINESE_COUNTING`, e29[e29.CHINESE_LEGAL_SIMPLIFIED = 39] = `CHINESE_LEGAL_SIMPLIFIED`, e29[e29.CHINESE_COUNTING_THOUSAND = 40] = `CHINESE_COUNTING_THOUSAND`, e29[e29.KOREAN_DIGITAL = 41] = `KOREAN_DIGITAL`, e29[e29.KOREAN_COUNTING = 42] = `KOREAN_COUNTING`, e29[e29.KOREAN_LEGAL = 43] = `KOREAN_LEGAL`, e29[e29.KOREAN_DIGITAL2 = 44] = `KOREAN_DIGITAL2`, e29[e29.VIETNAMESE_COUNTING = 45] = `VIETNAMESE_COUNTING`, e29[e29.RUSSIAN_LOWER = 46] = `RUSSIAN_LOWER`, e29[e29.RUSSIAN_UPPER = 47] = `RUSSIAN_UPPER`, e29[e29.NUMBER_IN_DASH = 48] = `NUMBER_IN_DASH`, e29[e29.HEBREW1 = 49] = `HEBREW1`, e29[e29.HEBREW2 = 50] = `HEBREW2`, e29[e29.ARABIC_ALPHA = 51] = `ARABIC_ALPHA`, e29[e29.ARABIC_ABJAD = 52] = `ARABIC_ABJAD`, e29[e29.HINDI_VOWELS = 53] = `HINDI_VOWELS`, e29[e29.HINDI_CONSONANTS = 54] = `HINDI_CONSONANTS`, e29[e29.HINDI_NUMBERS = 55] = `HINDI_NUMBERS`, e29[e29.HINDI_COUNTING = 56] = `HINDI_COUNTING`, e29[e29.THAI_LETTERS = 57] = `THAI_LETTERS`, e29[e29.THAI_NUMBERS = 58] = `THAI_NUMBERS`, e29[e29.THAI_COUNTING = 59] = `THAI_COUNTING`, e29[e29.CUSTOM = 60] = `CUSTOM`, e29; + })({}); + var ar = (function(e29) { + return e29[e29.BULLET_ALIGNMENT_UNSPECIFIED = 0] = `BULLET_ALIGNMENT_UNSPECIFIED`, e29[e29.START = 1] = `START`, e29[e29.CENTER = 2] = `CENTER`, e29[e29.END = 3] = `END`, e29[e29.BOTH = 4] = `BOTH`, e29; + })({}); + var or = (function(e29) { + return e29[e29.HYPERLINK = 0] = `HYPERLINK`, e29[e29.FIELD = 1] = `FIELD`, e29[e29.SDT = 2] = `SDT`, e29[e29.BOOKMARK = 3] = `BOOKMARK`, e29[e29.COMMENT = 4] = `COMMENT`, e29[e29.CUSTOM = 5] = `CUSTOM`, e29[e29.MENTION = 6] = `MENTION`, e29[e29.UNI_FORMULA = 7] = `UNI_FORMULA`, e29[e29.DELTED = 9999] = `DELTED`, e29; + })({}); + var sr = (function(e29) { + return e29[e29.COMMENT = 0] = `COMMENT`, e29[e29.DELETED = 9999] = `DELETED`, e29; + })({}); + var cr = (function(e29) { + return e29[e29.DRAWING = 0] = `DRAWING`, e29[e29.CUSTOM = 1] = `CUSTOM`, e29; + })({}); + var lr = (function(e29) { + return e29[e29.UNSPECIFIED = 0] = `UNSPECIFIED`, e29[e29.TRADITIONAL = 1] = `TRADITIONAL`, e29[e29.MODERN = 2] = `MODERN`, e29; + })({}); + var ur = (function(e29) { + return e29[e29.DEFAULT = 0] = `DEFAULT`, e29[e29.LINES = 1] = `LINES`, e29[e29.LINES_AND_CHARS = 2] = `LINES_AND_CHARS`, e29[e29.SNAP_TO_CHARS = 3] = `SNAP_TO_CHARS`, e29; + })({}); + var dr = (function(e29) { + return e29[e29.SECTION_TYPE_UNSPECIFIED = 0] = `SECTION_TYPE_UNSPECIFIED`, e29[e29.CONTINUOUS = 1] = `CONTINUOUS`, e29[e29.NEXT_PAGE = 2] = `NEXT_PAGE`, e29[e29.EVEN_PAGE = 3] = `EVEN_PAGE`, e29[e29.ODD_PAGE = 4] = `ODD_PAGE`, e29; + })({}); + var fr = (function(e29) { + return e29[e29.COLUMN_SEPARATOR_STYLE_UNSPECIFIED = 0] = `COLUMN_SEPARATOR_STYLE_UNSPECIFIED`, e29[e29.NONE = 1] = `NONE`, e29[e29.BETWEEN_EACH_COLUMN = 2] = `BETWEEN_EACH_COLUMN`, e29; + })({}); + var pr = (function(e29) { + return e29[e29.NORMAL = 0] = `NORMAL`, e29[e29.TBRL = 1] = `TBRL`, e29[e29.LRTBV = 2] = `LRTBV`, e29; + })({}); + var mr = (function(e29) { + return e29[e29.TEXT_RUN = 0] = `TEXT_RUN`, e29[e29.AUTO_TEXT = 1] = `AUTO_TEXT`, e29[e29.PAGE_BREAK = 2] = `PAGE_BREAK`, e29[e29.COLUMN_BREAK = 3] = `COLUMN_BREAK`, e29[e29.FOOT_NOTE_REFERENCE = 4] = `FOOT_NOTE_REFERENCE`, e29[e29.HORIZONTAL_RULE = 5] = `HORIZONTAL_RULE`, e29[e29.EQUATION = 6] = `EQUATION`, e29[e29.DRAWING = 7] = `DRAWING`, e29[e29.PERSON = 8] = `PERSON`, e29[e29.RICH_LINK = 9] = `RICH_LINK`, e29; + })({}); + var hr = (function(e29) { + return e29[e29.BOTH_SIDES = 0] = `BOTH_SIDES`, e29[e29.LEFT = 1] = `LEFT`, e29[e29.RIGHT = 2] = `RIGHT`, e29[e29.LARGEST = 3] = `LARGEST`, e29; + })({}); + var gr = (function(e29) { + return e29[e29.INLINE = 0] = `INLINE`, e29[e29.WRAP_NONE = 1] = `WRAP_NONE`, e29[e29.WRAP_POLYGON = 2] = `WRAP_POLYGON`, e29[e29.WRAP_SQUARE = 3] = `WRAP_SQUARE`, e29[e29.WRAP_THROUGH = 4] = `WRAP_THROUGH`, e29[e29.WRAP_TIGHT = 5] = `WRAP_TIGHT`, e29[e29.WRAP_TOP_AND_BOTTOM = 6] = `WRAP_TOP_AND_BOTTOM`, e29; + })({}); + var N = (function(e29) { + return e29[e29.NAMED_STYLE_TYPE_UNSPECIFIED = 0] = `NAMED_STYLE_TYPE_UNSPECIFIED`, e29[e29.NORMAL_TEXT = 1] = `NORMAL_TEXT`, e29[e29.TITLE = 2] = `TITLE`, e29[e29.SUBTITLE = 3] = `SUBTITLE`, e29[e29.HEADING_1 = 4] = `HEADING_1`, e29[e29.HEADING_2 = 5] = `HEADING_2`, e29[e29.HEADING_3 = 6] = `HEADING_3`, e29[e29.HEADING_4 = 7] = `HEADING_4`, e29[e29.HEADING_5 = 8] = `HEADING_5`, e29; + })({}); + var _r = (function(e29) { + return e29[e29.AUTO = 0] = `AUTO`, e29[e29.AT_LEAST = 1] = `AT_LEAST`, e29[e29.EXACT = 2] = `EXACT`, e29; + })({}); + var vr = (function(e29) { + return e29[e29.DASH_STYLE_UNSPECIFIED = 0] = `DASH_STYLE_UNSPECIFIED`, e29[e29.SOLID = 1] = `SOLID`, e29[e29.DOT = 2] = `DOT`, e29[e29.DASH = 3] = `DASH`, e29; + })({}); + var yr = (function(e29) { + return e29[e29.TAB_STOP_ALIGNMENT_UNSPECIFIED = 0] = `TAB_STOP_ALIGNMENT_UNSPECIFIED`, e29[e29.START = 1] = `START`, e29[e29.CENTER = 2] = `CENTER`, e29[e29.END = 3] = `END`, e29; + })({}); + var br = (function(e29) { + return e29[e29.UNSPECIFIED = 0] = `UNSPECIFIED`, e29[e29.SPECIFIED = 1] = `SPECIFIED`, e29; + })({}); + var xr = (function(e29) { + return e29[e29.START = 0] = `START`, e29[e29.CENTER = 1] = `CENTER`, e29[e29.END = 2] = `END`, e29; + })({}); + var Sr = (function(e29) { + return e29[e29.AUTO_FIT = 0] = `AUTO_FIT`, e29[e29.FIXED = 1] = `FIXED`, e29; + })({}); + var Cr = (function(e29) { + return e29[e29.NONE = 0] = `NONE`, e29[e29.WRAP = 1] = `WRAP`, e29; + })({}); + var wr = (function(e29) { + return e29[e29.AUTO = 0] = `AUTO`, e29[e29.AT_LEAST = 1] = `AT_LEAST`, e29[e29.EXACT = 2] = `EXACT`, e29; + })({}); + var Tr = (function(e29) { + return e29[e29.CONTENT_ALIGNMENT_UNSPECIFIED = 0] = `CONTENT_ALIGNMENT_UNSPECIFIED`, e29[e29.BOTH = 1] = `BOTH`, e29[e29.TOP = 2] = `TOP`, e29[e29.CENTER = 3] = `CENTER`, e29[e29.BOTTOM = 4] = `BOTTOM`, e29; + })({}); + var Er = (function(e29) { + return e29.NORMAL = `normal`, e29.BOLD = `bold`, e29.ITALIC = `italic`, e29; + })({}); + var Dr = (function(e29) { + return e29[e29.PAGE = 0] = `PAGE`, e29[e29.COLUMN = 1] = `COLUMN`, e29[e29.CHARACTER = 2] = `CHARACTER`, e29[e29.MARGIN = 3] = `MARGIN`, e29[e29.INSIDE_MARGIN = 4] = `INSIDE_MARGIN`, e29[e29.OUTSIDE_MARGIN = 5] = `OUTSIDE_MARGIN`, e29[e29.LEFT_MARGIN = 6] = `LEFT_MARGIN`, e29[e29.RIGHT_MARGIN = 7] = `RIGHT_MARGIN`, e29; + })({}); + var Or = (function(e29) { + return e29[e29.PAGE = 0] = `PAGE`, e29[e29.PARAGRAPH = 1] = `PARAGRAPH`, e29[e29.LINE = 2] = `LINE`, e29[e29.MARGIN = 3] = `MARGIN`, e29[e29.TOP_MARGIN = 4] = `TOP_MARGIN`, e29[e29.BOTTOM_MARGIN = 5] = `BOTTOM_MARGIN`, e29[e29.INSIDE_MARGIN = 6] = `INSIDE_MARGIN`, e29[e29.OUTSIDE_MARGIN = 7] = `OUTSIDE_MARGIN`, e29; + })({}); + var kr = (function(e29) { + return e29[e29.POINT = 0] = `POINT`, e29[e29.LINE = 1] = `LINE`, e29[e29.CHARACTER = 2] = `CHARACTER`, e29[e29.PIXEL = 3] = `PIXEL`, e29[e29.PERCENT = 4] = `PERCENT`, e29; + })({}); + var Ar = (function(e29) { + return e29[e29.CENTER = 0] = `CENTER`, e29[e29.INSIDE = 1] = `INSIDE`, e29[e29.LEFT = 2] = `LEFT`, e29[e29.OUTSIDE = 3] = `OUTSIDE`, e29[e29.RIGHT = 4] = `RIGHT`, e29[e29.BOTH = 5] = `BOTH`, e29[e29.DISTRIBUTE = 6] = `DISTRIBUTE`, e29; + })({}); + var jr = (function(e29) { + return e29[e29.BOTTOM = 0] = `BOTTOM`, e29[e29.CENTER = 1] = `CENTER`, e29[e29.INSIDE = 2] = `INSIDE`, e29[e29.OUTSIDE = 3] = `OUTSIDE`, e29[e29.TOP = 4] = `TOP`, e29; + })({}); + var Mr = (function(e29) { + return e29[e29.compressPunctuation = 0] = `compressPunctuation`, e29[e29.compressPunctuationAndJapaneseKana = 1] = `compressPunctuationAndJapaneseKana`, e29[e29.doNotCompress = 2] = `doNotCompress`, e29; + })({}); + var Nr = (function(e29) { + return e29[e29.PORTRAIT = 0] = `PORTRAIT`, e29[e29.LANDSCAPE = 1] = `LANDSCAPE`, e29; + })({}); + var P2 = (function(e29) { + return e29.Letter = `Letter`, e29.Tabloid = `Tabloid`, e29.Legal = `Legal`, e29.Statement = `Statement`, e29.Executive = `Executive`, e29.Folio = `Folio`, e29.A3 = `A3`, e29.A4 = `A4`, e29.A5 = `A5`, e29.B4 = `B4`, e29.B5 = `B5`, e29; + })({}); + var Pr = [P2.A3, P2.A4, P2.A5, P2.B4, P2.B5, P2.Letter, P2.Tabloid, P2.Legal, P2.Statement, P2.Executive, P2.Folio]; + var Fr = (function(e29) { + return e29[e29.forward = 0] = `forward`, e29[e29.backward = 1] = `backward`, e29[e29.front = 2] = `front`, e29[e29.back = 3] = `back`, e29; + })({}); + var Ir = (function(e29) { + return e29[e29.UNRECOGNIZED = -1] = `UNRECOGNIZED`, e29[e29.DRAWING_IMAGE = 0] = `DRAWING_IMAGE`, e29[e29.DRAWING_SHAPE = 1] = `DRAWING_SHAPE`, e29[e29.DRAWING_CHART = 2] = `DRAWING_CHART`, e29[e29.DRAWING_TABLE = 3] = `DRAWING_TABLE`, e29[e29.DRAWING_SMART_ART = 4] = `DRAWING_SMART_ART`, e29[e29.DRAWING_VIDEO = 5] = `DRAWING_VIDEO`, e29[e29.DRAWING_GROUP = 6] = `DRAWING_GROUP`, e29[e29.DRAWING_UNIT = 7] = `DRAWING_UNIT`, e29[e29.DRAWING_DOM = 8] = `DRAWING_DOM`, e29; + })({}); + var Lr = (function(e29) { + return e29[e29.SLIDE = 0] = `SLIDE`, e29[e29.MASTER = 1] = `MASTER`, e29[e29.LAYOUT = 2] = `LAYOUT`, e29[e29.HANDOUT_MASTER = 3] = `HANDOUT_MASTER`, e29[e29.NOTES_MASTER = 4] = `NOTES_MASTER`, e29; + })({}); + var Rr = (function(e29) { + return e29[e29.SHAPE = 0] = `SHAPE`, e29[e29.IMAGE = 1] = `IMAGE`, e29[e29.TEXT = 2] = `TEXT`, e29[e29.SPREADSHEET = 3] = `SPREADSHEET`, e29[e29.DOCUMENT = 4] = `DOCUMENT`, e29[e29.SLIDE = 5] = `SLIDE`, e29; + })({}); + var zr = (function(e29) { + return e29[e29.RELATIVE_SLIDE_LINK_UNSPECIFIED = 0] = `RELATIVE_SLIDE_LINK_UNSPECIFIED`, e29[e29.NEXT_SLIDE = 1] = `NEXT_SLIDE`, e29[e29.PREVIOUS_SLIDE = 2] = `PREVIOUS_SLIDE`, e29[e29.FIRST_SLIDE = 3] = `FIRST_SLIDE`, e29[e29.LAST_SLIDE = 4] = `LAST_SLIDE`, e29; + })({}); + function Br() { + return (e29) => e29; + } + var Vr = Br()([`s`, `c`, `cl`, `t`]); + var Hr = Br()([`rgb`, `th`]); + var Ur = Br()([`s`, `cl`]); + var Wr = Br()([`t`, `r`, `b`, `l`, `tl_br`, `tl_bc`, `tl_mr`, `bl_tr`, `ml_tr`, `bc_tr`]); + var Gr = Br()([`a`, `v`]); + var Kr = Br()([`t`, `r`, `b`, `l`]); + var qr = Br()([`ff`, `fs`, `it`, `bl`, `ul`, `bbl`, `st`, `ol`, `bg`, `bd`, `cl`, `va`, `n`, `tr`, `td`, `ht`, `vt`, `tb`, `pd`]); + function Jr(e29 = O2(6), t = Rn.EN_US, n = ``) { + return { id: e29, locale: t, title: n, tableSource: {}, drawings: {}, drawingsOrder: [], headers: {}, footers: {}, body: { dataStream: `\r +`, textRuns: [], customBlocks: [], tables: [], paragraphs: [{ startIndex: 0, paragraphStyle: { spaceAbove: { v: 5 }, lineSpacing: 1, spaceBelow: { v: 0 } } }], sectionBreaks: [{ startIndex: 1 }] }, documentStyle: { pageSize: { width: 595 / 0.75, height: 842 / 0.75 }, documentFlavor: lr.TRADITIONAL, marginTop: 50, marginBottom: 50, marginRight: 50, marginLeft: 50, renderConfig: { zeroWidthParagraphBreak: A.FALSE, vertexAngle: 0, centerAngle: 0, background: { rgb: `#ccc` } }, autoHyphenation: A.TRUE, doNotHyphenateCaps: A.FALSE, consecutiveHyphenLimit: 2, defaultHeaderId: ``, defaultFooterId: ``, evenPageHeaderId: ``, evenPageFooterId: ``, firstPageHeaderId: ``, firstPageFooterId: ``, evenAndOddHeaders: A.FALSE, useFirstPageHeaderFooter: A.FALSE, marginHeader: 30, marginFooter: 30 }, settings: {} }; + } + var F = (function(e29) { + return e29[e29.COVER = 0] = `COVER`, e29[e29.REPLACE = 1] = `REPLACE`, e29; + })({}); + var I = (function(e29) { + return e29.RETAIN = `r`, e29.INSERT = `i`, e29.DELETE = `d`, e29; + })({}); + var Yr = createIdentifier(`univer.config-service`); + var Zr = createIdentifier(`univer.context-service`); + var $r = (function(e29) { + return e29[e29.SILENT = 0] = `SILENT`, e29[e29.ERROR = 1] = `ERROR`, e29[e29.WARN = 2] = `WARN`, e29[e29.INFO = 3] = `INFO`, e29[e29.VERBOSE = 4] = `VERBOSE`, e29; + })({}); + var L = createIdentifier(`univer.log`); + function R2(e29, t) { + return function(n, r) { + t(n, r, e29); + }; + } + function z(e29, t, n, r) { + var i = arguments.length, a = i < 3 ? t : r === null ? r = Object.getOwnPropertyDescriptor(t, n) : r, o; + if (typeof Reflect == `object` && typeof Reflect.decorate == `function`) a = Reflect.decorate(e29, t, n, r); + else for (var s = e29.length - 1; s >= 0; s--) (o = e29[s]) && (a = (i < 3 ? o(a) : i > 3 ? o(t, n, a) : o(t, n)) || a); + return i > 3 && a && Object.defineProperty(t, n, a), a; + } + var ri = (function(e29) { + return e29[e29.COMMAND = 0] = `COMMAND`, e29[e29.OPERATION = 1] = `OPERATION`, e29[e29.MUTATION = 2] = `MUTATION`, e29; + })({}); + var ii = createIdentifier(`univer.core.command-service`); + var ai = class { + constructor() { + C(this, `_commands`, /* @__PURE__ */ new Map()), C(this, `_commandTypes`, /* @__PURE__ */ new Map()); + } + registerCommand(e29) { + if (this._commands.has(e29.id)) throw Error(`[CommandRegistry]: command "${e29.id}" has been registered before.`); + return this._commands.set(e29.id, e29), this._commandTypes.set(e29.id, e29.type), T2(() => { + this.unregisterCommand(e29.id); + }); + } + unregisterCommand(e29) { + this._commands.delete(e29), this._commandTypes.delete(e29); + } + hasCommand(e29) { + return this._commands.has(e29); + } + getCommand(e29) { + return this._commands.has(e29) ? [this._commands.get(e29)] : null; + } + getCommandType(e29) { + return this._commandTypes.get(e29); + } + }; + var oi = { id: `nil`, type: ri.COMMAND, handler: () => true }; + var si = class extends E { + constructor(e29, t, n) { + super(), this._injector = e29, this._logService = t, this._configService = n, C(this, `_commandRegistry`, void 0), C(this, `_beforeCommandExecutionListeners`, []), C(this, `_commandExecutedListeners`, []), C(this, `_collabMutationListeners`, []), C(this, `_multiCommandDisposables`, /* @__PURE__ */ new Map()), C(this, `_commandExecutingLevel`, 0), C(this, `_commandExecutionStack`, []), this._commandRegistry = new ai(), this.registerCommand(oi); + } + dispose() { + super.dispose(), this._commandExecutedListeners.length = 0, this._beforeCommandExecutionListeners.length = 0, this._collabMutationListeners.length = 0; + } + disposed() { + return this._disposed; + } + hasCommand(e29) { + return this._commandRegistry.hasCommand(e29); + } + registerCommand(e29) { + return this._commandRegistry.registerCommand(e29); + } + unregisterCommand(e29) { + var t; + this._commandRegistry.unregisterCommand(e29), (t = this._multiCommandDisposables.get(e29)) == null || t.dispose(); + } + registerMultipleCommand(e29) { + return this._registerMultiCommand(e29); + } + beforeCommandExecuted(e29) { + if (this._beforeCommandExecutionListeners.indexOf(e29) === -1) return this._beforeCommandExecutionListeners.push(e29), T2(() => { + let t = this._beforeCommandExecutionListeners.indexOf(e29); + this._beforeCommandExecutionListeners.splice(t, 1); + }); + throw Error(`[CommandService]: could not add a listener twice.`); + } + onCommandExecuted(e29) { + if (this._commandExecutedListeners.indexOf(e29) === -1) return this._commandExecutedListeners.push(e29), T2(() => { + let t = this._commandExecutedListeners.indexOf(e29); + this._commandExecutedListeners.splice(t, 1); + }); + throw Error(`[CommandService]: could not add a listener twice.`); + } + onMutationExecutedForCollab(e29) { + if (this._collabMutationListeners.indexOf(e29) === -1) return this._collabMutationListeners.push(e29), T2(() => { + let t = this._collabMutationListeners.indexOf(e29); + this._collabMutationListeners.splice(t, 1); + }); + throw Error(`[CommandService]: could not add a collab mutation listener twice.`); + } + async executeCommand(e29, t, n) { + try { + let r = this._commandRegistry.getCommand(e29); + if (r) { + let [e30] = r, i = { id: e30.id, type: e30.type, params: t }, a = this._pushCommandExecutionStack(i), o = n == null ? {} : n; + this._beforeCommandExecutionListeners.forEach((e31) => e31(i, o)); + let s = await this._execute(e30, t, o); + return o.syncOnly || this._commandExecutedListeners.forEach((e31) => e31(i, o)), e30.type === ri.MUTATION && this._collabMutationListeners.forEach((e31) => e31(i, o)), a.dispose(), s; + } + throw Error(`[CommandService]: command "${e29}" is not registered.`); + } catch (e30) { + if (e30 instanceof wt) return false; + throw e30; + } + } + syncExecuteCommand(e29, t, n) { + try { + let i = this._commandRegistry.getCommand(e29); + if (i) { + let [e30] = i, a = { id: e30.id, type: e30.type, params: t }; + if (e30.type === ri.MUTATION) { + let e31 = it(this._commandExecutionStack, (e32) => e32.type === ri.COMMAND); + if (e31) { + var r; + a.params = (r = a.params) == null ? {} : r, a.params.trigger = e31.id; + } + } + let o = this._pushCommandExecutionStack(a), s = n == null ? {} : n; + this._beforeCommandExecutionListeners.forEach((e31) => e31(a, s)); + let c = this._syncExecute(e30, t, s); + return s.syncOnly || this._commandExecutedListeners.forEach((e31) => e31(a, s)), e30.type === ri.MUTATION && this._collabMutationListeners.forEach((e31) => e31(a, s)), o.dispose(), c; + } + throw Error(`[CommandService]: command "${e29}" is not registered.`); + } catch (e30) { + if (e30 instanceof wt) return false; + throw e30; + } + } + _pushCommandExecutionStack(e29) { + return this._commandExecutionStack.push(e29), T2(() => tt(this._commandExecutionStack, e29)); + } + _registerMultiCommand(e29) { + let t = this._commandRegistry.getCommand(e29.id), n; + if (!t) { + n = new ci(e29.id); + let t2 = new un(); + t2.add(this._commandRegistry.registerCommand(n)), t2.add(T2(() => { + this._multiCommandDisposables.delete(e29.id); + })), this._multiCommandDisposables.set(e29.id, t2); + } else if (t[0].multi !== true) throw Error(`Command has registered as a single command.`); + else n = t[0]; + let r = n.registerImplementation(e29); + return T2(() => { + if (r.dispose(), !n.hasImplementations()) { + var t2; + (t2 = this._multiCommandDisposables.get(e29.id)) == null || t2.dispose(); + } + }); + } + async _execute(e29, t, n) { + if (n != null && n.syncOnly) return true; + this._configService.getConfig(`command.logExecution`) !== false && this._logService.debug(`[CommandService]`, `${`|-`.repeat(Math.max(this._commandExecutingLevel, 0))}executing command "${e29.id}"`), this._commandExecutingLevel++; + let r; + try { + r = await this._injector.invoke(e29.handler, t, n), this._commandExecutingLevel--; + } catch (e30) { + throw r = false, this._commandExecutingLevel = 0, e30; + } + return r; + } + _syncExecute(e29, t, n) { + if (n != null && n.syncOnly) return true; + this._configService.getConfig(`command.logExecution`) !== false && this._logService.debug(`[CommandService]`, `${`|-`.repeat(Math.max(0, this._commandExecutingLevel))}executing command "${e29.id}".`), this._commandExecutingLevel++; + let r; + try { + if (r = this._injector.invoke(e29.handler, t, n), r instanceof Promise) throw TypeError(`[CommandService]: Command handler should not return a promise.`); + this._commandExecutingLevel--; + } catch (e30) { + throw r = false, this._commandExecutingLevel = 0, e30; + } + return r; + } + }; + si = z([R2(0, Inject(Injector)), R2(1, L), R2(2, Yr)], si); + var ci = class { + constructor(e29) { + this.id = e29, C(this, `name`, void 0), C(this, `multi`, true), C(this, `type`, ri.COMMAND), C(this, `priority`, 0), C(this, `_implementations`, []), C(this, `handler`, async (e30, t) => { + if (!this._implementations.length) return false; + let n = e30.get(L), r = e30.get(Zr), a = e30.get(Injector); + for (let e31 of this._implementations) { + let i = e31.command.preconditions; + if ((!i || i && i(r)) && (n.debug(`[MultiCommand]`, `executing implementation "${e31.command.name}".`), await a.invoke(e31.command.handler, t))) return true; + } + return false; + }), this.name = e29; + } + registerImplementation(e29) { + let t = { command: e29 }; + return this._implementations.push(t), this._implementations.sort((e30, t2) => t2.command.priority - e30.command.priority), T2(() => { + let e30 = this._implementations.indexOf(t); + this._implementations.splice(e30, 1); + }); + } + hasImplementations() { + return this._implementations.length > 0; + } + }; + function li(e29, t, n) { + return sn(e29.map((e30) => () => t.syncExecuteCommand(e30.id, e30.params, n))); + } + function ui(e29, t, n) { + return on(e29.map((e30) => () => t.executeCommand(e30.id, e30.params, n))); + } + function fi(e29) { + return function(t) { + return new Observable((n) => (t.subscribe({ next: (t2) => { + n.next(t2), e29(t2) && n.complete(); + }, complete: () => n.complete(), error: (e30) => n.error(e30) }), () => n.unsubscribe())); + }; + } + function _i(e29, t) { + let n = 0, r = e29.length - 1; + if (t < e29[0]) return 0; + if (t >= e29[e29.length - 1]) return e29.length - 1; + for (; n <= r; ) { + if (e29[n] === t) { + for (; n < e29.length && e29[n] === t; ) n++; + return n; + } + if (t > e29[n] && t < e29[n + 1]) return n + 1; + if (e29[r] === t) { + for (; r < e29.length && e29[r] === t; ) r++; + return r; + } + if (t > e29[r - 1] && t < e29[r]) return r; + n++, r--; + } + return -1; + } + function yi(e29, t) { + let n = 0, r = e29.length; + for (; n < r; ) { + let i = Math.floor((n + r) / 2); + e29[i] <= t ? n = i + 1 : r = i; + } + return n < e29.length ? n : e29.length - 1; + } + function bi(e29, t, n = false) { + let r = e29.length - 1; + if (t < 0 || t < e29[0]) return 0; + if (r = e29.length < 40 || t <= e29[20] || t >= e29[r - 20] ? _i(e29, t) : yi(e29, t), n) { + let t2 = e29[r]; + return e29.indexOf(t2); + } + return r; + } + function Ki(e29) { + return e29 && (e29.s !== void 0 || e29.p !== void 0 || e29.v !== void 0 || e29.t !== void 0 || e29.f !== void 0 || e29.si !== void 0 || e29.custom !== void 0); + } + var B = (function(e29) { + return e29[e29.NORMAL = 0] = `NORMAL`, e29[e29.ROW = 1] = `ROW`, e29[e29.COLUMN = 2] = `COLUMN`, e29[e29.ALL = 3] = `ALL`, e29; + })({}); + var V = (function(e29) { + return e29[e29.NONE = 0] = `NONE`, e29[e29.ROW = 1] = `ROW`, e29[e29.COLUMN = 2] = `COLUMN`, e29[e29.ALL = 3] = `ALL`, e29; + })({}); + function Xi(e29) { + return [e29.startRow, e29.startColumn, e29.endRow, e29.endColumn]; + } + var Zi = (function(e29) { + return e29.NONE = `none`, e29.BACKWARD = `backward`, e29.FORWARD = `forward`, e29; + })({}); + var Qi = (function(e29) { + return e29.RECT = `RECT`, e29.TEXT = `TEXT`, e29; + })({}); + var ea = (function(e29) { + return e29.Raw = `raw`, e29.Intercepted = `intercepted`, e29.Both = `both`, e29; + })({}); + var ta = { [nr.OFFICE]: { [j.ACCENT1]: `#4472C4`, [j.ACCENT2]: `#ED7D31`, [j.ACCENT3]: `#A5A5A5`, [j.ACCENT4]: `#70AD47`, [j.ACCENT5]: `#5B9BD5`, [j.ACCENT6]: `#70AD47`, [j.DARK1]: `#000000`, [j.DARK2]: `#44546A`, [j.LIGHT1]: `#FFFFFF`, [j.LIGHT2]: `#E7E6E6`, [j.HYPERLINK]: `#0563C1`, [j.FOLLOWED_HYPERLINK]: `#954F72` } }; + function aa(e29) { + return e29 === `@@@` || e29 === `@`; + } + function oa(e29) { + return e29 == null || e29 === `General`; + } + var ca = /* @__PURE__ */ new Set([`m d`]); + var la = /* @__PURE__ */ new Set([`h:mm AM/PM`, `hh:mm AM/PM`]); + var ua = /* @__PURE__ */ new Set([`$`, `\xA5`, `\u20BD`, `\u20AB`, `NT$`, `\u20AC`, `\u20A9`, `\uFDFC`]); + var da = (e29) => { + var t, n; + let r = (t = (n = parseDate(e29)) == null ? parseTime(e29) : n) == null ? parseNumber(e29) : t; + if (!r) return null; + let { z: i } = r; + if (i) { + if (ca.has(i) || la.has(i) && !/\s(A|AM|P|PM)$/i.test(e29)) return null; + if (i.includes(`#,##0`)) { + if (/[.,]$/.test(e29)) return null; + let t2 = e29.replace(RegExp(`^[${[...ua].join(``)}]+`), ``).trim(); + if (t2.includes(`,`) && !/^-?\d{1,3}(,\d{3})*(\.\d+)?$/.test(t2)) return null; + } + } + return r; + }; + function fa(e29, t) { + let n = {}; + for (let r in e29) { + let i = Number(r), a = e29[i]; + for (let e30 in a) { + let r2 = Number(e30), o = a[r2], s = t(i, r2, o); + s !== void 0 && (n[i] ? n[i][r2] = s : n[i] = { [r2]: s }); + } + } + return n; + } + function pa(e29) { + let t = 0, n = Object.keys(e29); + for (let e30 of n) { + let n2 = Number(e30); + t = Math.max(t, n2); + } + return t + 1; + } + function ga(e29, t, n) { + let r = Object.keys(n).reduce((e30, t2) => Math.max(e30, Number.parseInt(t2)), 0) + 1; + for (let i = e29; i < r; i++) i < e29 + t ? delete n[i] : n[i] !== void 0 && (n[i - t] = n[i], delete n[i]); + } + function _a(e29, t) { + let n = e29, r = Object.keys(n), i = r.length, a = t, o = Object.keys(a), s = o.length, c = {}, l = 0; + for (let e30 = 0; e30 < i; e30++, l++) c[l] = n[r[e30]]; + for (let e30 = 0; e30 < s; e30++, l++) c[l] = a[o[e30]]; + return c; + } + function va(e29, t, n) { + let r = n; + if (pa(n) > 0) { + let n2 = {}, i = 0; + for (let a = e29; a <= t; a++) r[a] && (n2[i] = r[a], i++); + return n2; + } + return {}; + } + function ya(e29, t, n, r) { + let i = e29 > n; + if (!i && e29 + t > n) throw Error(`Invalid move operation`); + i ? ba(e29, t, n, r) : xa(e29, t, n, r); + } + function ba(e29, t, n, r) { + let i = r, a = []; + for (let n2 = e29; n2 < e29 + t; n2++) a.push(i[n2]); + for (let r2 = e29 - 1; r2 >= n; r2--) { + let e30 = i[r2]; + i[r2 + t] = e30, e30 === void 0 && delete i[r2 + t]; + } + a.forEach((e30, t2) => { + i[n + t2] = e30, e30 === void 0 && delete i[n + t2]; + }); + } + function xa(e29, t, n, r) { + let i = r, a = []; + for (let n2 = e29; n2 < e29 + t; n2++) a.push(i[n2]); + for (let r2 = e29 + t; r2 < n; r2++) { + let e30 = i[r2]; + i[r2 - t] = e30, e30 === void 0 && delete i[r2 - t]; + } + a.forEach((e30, r2) => { + i[n + r2 - t] = e30, e30 === void 0 && delete i[n + r2 - t]; + }); + } + var Sa = class e4 { + constructor(e29 = {}) { + C(this, `_matrix`, void 0), this._setOriginValue(e29); + } + static MakeObjectMatrixSize(t) { + return new e4({ [t - 1]: {} }); + } + getMatrix() { + return this._matrix; + } + forEach(e29) { + let t = this._matrix, n = Object.keys(t); + for (let r of n) { + let n2 = Number(r), i = t[n2]; + if (e29(n2, i) === false) return this; + } + return this; + } + forRow(e29) { + let t = this._matrix, n = Object.keys(t); + for (let r of n) { + let n2 = Number(r), i = t[n2]; + if (e29(n2, Object.keys(i).map((e30) => Number(e30))) === false) return this; + } + return this; + } + forValue(e29) { + let t = this._matrix; + for (let n in t) { + let r = Number(n), i = t[r]; + if (i) for (let t2 in i) { + let n2 = Number(t2), a = i[n2]; + if (e29(r, n2, a) === false) return this; + } + } + return this; + } + swapRow(e29, t) { + let n = this._matrix[e29], r = this._matrix[t]; + this._matrix[e29] = r, this._matrix[t] = n; + } + getRow(e29) { + return this._matrix[e29]; + } + getRowOrCreate(e29) { + let t = this.getRow(e29); + return t == null && (t = {}, this._matrix[e29] = t), t; + } + reset() { + this._setOriginValue({}); + } + hasValue() { + let e29 = this._matrix, t = Object.keys(e29); + if (t.length === 0) return false; + for (let n of t) { + let t2 = e29[Number(n)]; + if (Object.keys(t2).length > 0) return true; + } + return false; + } + getValue(e29, t) { + var n; + return (n = this._matrix) == null || (n = n[e29]) == null ? void 0 : n[t]; + } + setValue(e29, t, n) { + let r = this.getRowOrCreate(e29); + r[t] = n; + } + deleteValue(e29, t) { + var n; + (n = this._matrix) == null || (n = n[e29]) == null || delete n[t]; + } + realDeleteValue(e29, t) { + var n; + if ((n = this._matrix) == null || (n = n[e29]) == null || delete n[t], this.getRow(e29)) { + let t2 = this.getRow(e29); + if (t2 == null) return; + if (Object.keys(t2).length === 0) { + var r; + (r = this._matrix) == null || delete r[e29]; + } + } + } + setRow(e29, t) { + this._matrix[e29] = t; + } + moveRows(e29, t, n) { + ya(e29, t, n, this._matrix); + } + moveColumns(e29, t, n) { + this.forEach((r, i) => { + ya(e29, t, n, i); + }); + } + insertRows(e29, t) { + let n = Object.keys(this._matrix); + for (let r = n.length - 1; r >= 0; r--) { + let i = Number(n[r]); + if (i >= e29) { + let e30 = this._matrix[i]; + delete this._matrix[i], this._matrix[i + t] = e30; + } + } + } + insertColumns(e29, t) { + let n = Object.keys(this._matrix); + for (let r = 0; r < n.length; r++) { + let i = Number(n[r]), a = this._matrix[i], o = Object.keys(a); + for (let n2 = o.length - 1; n2 >= 0; n2--) { + let r2 = Number(o[n2]); + if (r2 >= e29) { + let e30 = a[r2]; + delete a[r2], a[r2 + t] = e30; + } + } + } + } + removeRows(e29, t) { + ga(e29, t, this._matrix); + } + removeColumns(e29, t) { + this.forEach((n, r) => { + r && ga(e29, t, r); + }); + } + getFragment(t, n, r, i) { + let a = new e4(), o = 0; + for (let e29 = t; e29 <= n; e29++) { + let t2 = {}, n2 = 0; + for (let a2 = r; a2 <= i; a2++) t2[n2] = this.getValue(e29, a2), n2++; + a.setRow(o, t2), o++; + } + return a; + } + getSlice(t, n, r, i) { + let a = new e4(); + for (let e29 = t; e29 <= n; e29++) for (let t2 = r; t2 <= i; t2++) { + let n2 = this.getValue(e29, t2); + n2 && a.setValue(e29, t2, D.deepClone(n2)); + } + return a; + } + getSliceDataAndCellCountByRows(t, n) { + let r = new e4(), i = 0; + for (let e29 = t; e29 <= n; e29++) { + let t2 = this.getRow(e29); + t2 && (r.setRow(e29, t2), i += Object.keys(t2).length); + } + return { sliceData: r, cellCount: i }; + } + getSizeOf() { + return Object.keys(this._matrix).length; + } + getLength() { + return pa(this._matrix); + } + getRange() { + let e29 = this.getLength() - 1, t = 0, n = this.getLength(); + for (let e30 = 0; e30 < n; e30++) { + let n2 = this.getRow(e30); + if (n2) { + let e31 = pa(n2) - 1; + t = e31 > t ? e31 : t; + } + } + return { startRow: 0, startColumn: 0, endRow: e29, endColumn: t }; + } + getRealRange() { + let e29 = Object.keys(this._matrix), t = e29.length, n = t > 0 ? Number(e29[0]) : 0, r = t > 0 ? Number(e29[t - 1]) : 0, i = -1 / 0, a = 0; + for (let t2 of e29) { + let e30 = this.getRow(Number(t2)); + if (e30) { + let t3 = Object.keys(e30); + if (t3.length > 0) { + let e31 = Number(t3[0]), n2 = Number(t3[t3.length - 1]); + (i === -1 / 0 || e31 < i) && (i = e31), n2 > a && (a = n2); + } + } + } + return i === -1 / 0 && (i = 0), { startRow: n, endRow: r, startColumn: i, endColumn: a }; + } + getRealRowRange() { + let e29 = Object.keys(this._matrix), t = e29.length; + return { startRow: t > 0 ? Number(e29[0]) : 0, endRow: t > 0 ? Number(e29[t - 1]) : 0 }; + } + toNativeArray() { + let e29 = []; + return this.forValue((t, n, r) => { + e29.push(r); + }), e29; + } + toArray() { + let e29 = []; + return this.forRow((t, n) => { + e29[t] == null && (e29[t] = []), n.forEach((n2) => { + e29[t][n2] = this.getValue(t, n2); + }); + }), e29; + } + toFullArray() { + let { endColumn: e29, endRow: t } = this.getRange(), n = []; + for (let r = 0; r <= t; r++) { + let t2 = Array(e29 + 1).fill(void 0); + n.push(t2); + } + return this.forValue((e30, t2, r) => { + n[e30][t2] = r; + }), n; + } + toJSON() { + return this._matrix; + } + clone() { + let e29 = JSON.stringify(this._matrix); + return JSON.parse(e29); + } + getData() { + let e29 = JSON.stringify(this._matrix); + return JSON.parse(e29); + } + getArrayData() { + let t = 0, n = 0, r = false, i = false, a = new e4(); + return this.forEach((e29, o) => { + r || (r = true, t = e29), Object.keys(o).forEach((r2) => { + let o2 = Number(r2); + i ? o2 < n && (n = o2) : (i = true, n = o2); + let s = this.getValue(e29, o2); + a.setValue(e29 - t, o2 - n, s); + }); + }), a.getData(); + } + getStartEndScope() { + let e29 = 1 / 0, t = -1 / 0, n = 1 / 0, r = -1 / 0, i = Object.keys(this._matrix); + i.length > 0 && (e29 = +i[0], t = +i[i.length - 1]); + for (let e30 of i) { + let t2 = Object.keys(this._matrix[e30]); + t2.length > 0 && (n = Math.min(n, +t2[0]), r = Math.max(r, +t2[t2.length - 1])); + } + return { startRow: e29, endRow: t, startColumn: n, endColumn: r }; + } + getDataRange() { + let e29 = 0, t = 0, n = 0, r = -1, i = false, a = false; + return this.forEach((o, s) => { + if (i || (i = true, e29 = o), s == null) return; + let c = pa(s) - 1; + c > n && (n = c), Object.keys(s).forEach((e30) => { + let n2 = Number(e30); + a ? n2 < t && (t = n2) : (a = true, t = n2); + }), o > r && (r = o); + }), { startRow: e29, startColumn: t, endRow: r, endColumn: n }; + } + getDiscreteRanges() { + let e29 = []; + return this.forEach((t, n) => { + Object.keys(n).forEach((n2) => { + let r = Number(n2), i = false; + for (let n3 of e29) if (t >= n3.startRow && t <= n3.endRow + 1 && r >= n3.startColumn && r <= n3.endColumn + 1) { + n3.endRow = Math.max(t, n3.endRow), n3.endColumn = Math.max(r, n3.endColumn), i = true; + break; + } + i || e29.push({ startRow: t, endRow: t, startColumn: r, endColumn: r }); + }); + }), e29; + } + merge(e29) { + this.forValue((t, n) => { + let r = e29.getValue(t, n); + r != null && this.setValue(t, n, r); + }); + } + concatRows(e29) { + let t = e29.getMatrix(); + for (let e30 in t) { + let n = Number(e30); + this.setRow(n, t[n]); + } + } + _setOriginValue(e29 = {}) { + this._matrix = e29; + } + }; + function Ea(e29) { + var t; + return !e29 || ((e29 == null || (t = e29.v) == null ? void 0 : t.toString()) || ``).length === 0 && !e29.p; + } + function Da(e29) { + return Ea(e29) && (e29 == null ? void 0 : e29.coverable) !== false; + } + function ka(e29) { + return D.isString(e29) && e29.substring(0, 1) === `=` && e29.length > 1; + } + function Aa(e29) { + return D.isString(e29) && e29.length > 0; + } + function Fa(e29, t) { + let { startRow: n, endRow: r, startColumn: i, endColumn: a, rangeType: o } = e29; + if (n < 0 || i < 0 || r < 0 || a < 0 || !(Number.isNaN(n) && Number.isNaN(r)) && o === B.COLUMN || !(Number.isNaN(i) && Number.isNaN(a)) && o === B.ROW || o !== B.ROW && o !== B.COLUMN && (Number.isNaN(i) || Number.isNaN(n) || Number.isNaN(a) || Number.isNaN(r))) return false; + if (t) { + let e30 = t.getRowCount(), n2 = t.getColumnCount(); + if (r >= e30 || a >= n2) return false; + } + return true; + } + function Ia(e29, t) { + return { startRow: e29, endRow: e29, startColumn: t, endColumn: t }; + } + function za(e29, t) { + return Object.prototype.toString.call(e29) === Object.prototype.toString.call(t) ? Object.prototype.toString.call(e29) === `[object Object]` || Object.prototype.toString.call(e29) === `[object Array]` ? Object.keys(e29).length === Object.keys(t).length ? Object.keys(e29).every((n) => za(e29[n], t[n])) : false : e29 === t : false; + } + function Ba(e29, t) { + let n = e29.ts || {}, r = t.ts || {}; + return e29.sId === t.sId ? za(n, r) : false; + } + import_dayjs.default.extend(import_customParseFormat.default), import_dayjs.default.extend(import_advancedFormat.default), import_dayjs.default.extend(import_weekday.default), import_dayjs.default.extend(import_localeData.default), import_dayjs.default.extend(import_weekOfYear.default), import_dayjs.default.extend(import_weekYear.default), import_dayjs.default.extend(import_utc.default), import_dayjs.default.extend(import_localizedFormat.default); + function Ha(e29, t, n, r) { + if (e29 > t) throw Error(`a1 should be less than a2`); + if (n > r) throw Error(`b1 should be less than b2`); + if (t < n || r < e29) return [e29, t]; + if (n <= e29 && r >= t) return []; + let i = r - n + 1; + return e29 < n && t > r ? [e29, t - i] : n <= e29 && r < t ? [r + 1 - i, t - i] : n > e29 && r >= t ? [e29, n - 1] : [e29, t]; + } + function Ka(e29, t, n) { + return e29.slice(0, t) + n + e29.slice(t); + } + function qa(e29, t, n) { + return t > n ? e29 : e29.slice(0, t) + e29.slice(n); + } + function Ja(e29) { + if (e29 == null || typeof e29 == `boolean`) return false; + if (typeof e29 == `number`) return !isNaN(e29); + if (typeof e29 == `string`) { + let t = e29.trim(); + return t === `` ? false : !isNaN(Number(t)); + } + return false; + } + function Ya(e29) { + let t = 0; + for (let n = 0; n < e29.length; n++) t = e29.charCodeAt(n) + (t << 6) + (t << 16) - t; + return t >>> 0; + } + function Za(e29) { + if (e29.length === 0) return []; + let t = e29.slice().sort((e30, t2) => e30[0] - t2[0]), n = [], [r, i] = t[0]; + for (let e30 = 1; e30 < t.length; e30++) { + let [a, o] = t[e30]; + a <= i + 1 ? i = Math.max(i, o) : (n.push([r, i]), r = a, i = o); + } + return n.push([r, i]), n; + } + var $a; + var eo; + var to; + var no; + var H = /* @__PURE__ */ Symbol(`newer`); + var U = /* @__PURE__ */ Symbol(`older`); + $a = Symbol.iterator; + var ro = class { + constructor(e29) { + C(this, `entry`, void 0), this.entry = e29; + } + [$a]() { + return this; + } + next() { + let e29 = this.entry; + return e29 ? (this.entry = e29[H], { done: false, value: e29.key }) : { done: true, value: void 0 }; + } + }; + eo = Symbol.iterator; + var io = class { + constructor(e29) { + C(this, `entry`, void 0), this.entry = e29; + } + [eo]() { + return this; + } + next() { + let e29 = this.entry; + return e29 ? (this.entry = e29[H], { done: false, value: e29.value }) : { done: true, value: void 0 }; + } + }; + to = Symbol.iterator; + var ao = class { + constructor(e29) { + C(this, `entry`, void 0), this.entry = e29; + } + [to]() { + return this; + } + next() { + let e29 = this.entry; + return e29 ? (this.entry = e29[H], { done: false, value: [e29.key, e29.value] }) : { done: true, value: void 0 }; + } + }; + var oo = class { + constructor(e29, t) { + C(this, `key`, void 0), C(this, `value`, void 0), C(this, H, void 0), C(this, U, void 0), this.key = e29, this.value = t, this[H] = void 0, this[U] = void 0; + } + toJSON() { + return { key: this.key, value: this.value }; + } + }; + no = Symbol.iterator; + var so = class { + onShift(e29) { + if (this._onShiftListeners.indexOf(e29) === -1) return this._onShiftListeners.push(e29), T2(() => tt(this._onShiftListeners, e29)); + throw Error(`[LRUMap]: the listener has been registered!`); + } + constructor(...e29) { + if (C(this, `_keymap`, void 0), C(this, `size`, 0), C(this, `limit`, void 0), C(this, `oldest`, void 0), C(this, `newest`, void 0), C(this, `_onShiftListeners`, []), co.hasLength(e29, 1)) { + if (co.isNumber(e29[0])) { + let t = e29[0]; + this._initialize(t, void 0); + return; + } + if (co.isIterable(e29[0])) { + let t = e29[0]; + this._initialize(0, t); + return; + } + return; + } + if (co.hasLength(e29, 2)) { + let t = e29[0], n = e29[1]; + this._initialize(t, n); + } + } + _initialize(e29, t) { + this.oldest = void 0, this.newest = void 0, this.size = 0, this.limit = e29, this._keymap = /* @__PURE__ */ new Map(), t && (this.assign(t), e29 < 1 && (this.limit = this.size)); + } + _markEntryAsUsed(e29) { + e29 !== this.newest && (e29[H] && (e29 === this.oldest && (this.oldest = e29[H]), e29[H][U] = e29[U]), e29[U] && (e29[U][H] = e29[H]), e29[H] = void 0, e29[U] = this.newest, this.newest && (this.newest[H] = e29), this.newest = e29); + } + assign(e29) { + let t, n = this.limit || Number.MAX_VALUE; + this._keymap.clear(); + let r = e29[Symbol.iterator](); + for (let e30 = r.next(); !e30.done; e30 = r.next()) { + let r2 = new oo(e30.value[0], e30.value[1]); + if (this._keymap.set(r2.key, r2), t ? (t[H] = r2, r2[U] = t) : this.oldest = r2, t = r2, n-- === 0) throw Error(`overflow`); + } + this.newest = t, this.size = this._keymap.size; + } + set(e29, t) { + let n = this._keymap.get(e29); + return n ? (n.value = t, this._markEntryAsUsed(n), this) : (this._keymap.set(e29, n = new oo(e29, t)), this.newest ? (this.newest[H] = n, n[U] = this.newest) : this.oldest = n, this.newest = n, ++this.size, this.size > this.limit && this.shift(), this); + } + shift() { + let e29 = this.oldest; + if (e29) return this.oldest && this.oldest[H] ? (this.oldest = this.oldest[H], this.oldest[U] = void 0) : (this.oldest = void 0, this.newest = void 0), e29[H] = e29[U] = void 0, this._keymap.delete(e29.key), --this.size, this._onShiftListeners.forEach((t) => t(e29)), [e29.key, e29.value]; + } + get(e29) { + let t = this._keymap.get(e29); + if (t) return this._markEntryAsUsed(t), t.value; + } + has(e29) { + return this._keymap.has(e29); + } + find(e29) { + let t = this._keymap.get(e29); + return t ? t.value : void 0; + } + delete(e29) { + let t = this._keymap.get(e29); + if (t) return this._keymap.delete(t.key), t[H] && t[U] ? (t[U][H] = t[H], t[H][U] = t[U]) : t[H] ? (t[H][U] = void 0, this.oldest = t[H]) : t[U] ? (t[U][H] = void 0, this.newest = t[U]) : this.oldest = this.newest = void 0, this.size--, t.value; + } + clear() { + this.oldest = void 0, this.newest = void 0, this.size = 0, this._keymap.clear(); + } + keys() { + return new ro(this.oldest); + } + values() { + return new io(this.oldest); + } + entries() { + return this[Symbol.iterator](); + } + [no]() { + return new ao(this.oldest); + } + forEach(e29, t) { + typeof t != `object` && (t = this); + let n = this.oldest; + for (; n; ) e29.call(t, n.value, n.key, this), n = n[H]; + } + toJSON() { + let e29 = Array(this.size), t = 0, n = this.oldest; + for (; n; ) e29[t++] = { key: n.key, value: n.value }, n = n[H]; + return e29; + } + toString() { + let e29 = ``, t = this.oldest; + for (; t; ) e29 += `${String(t.key)}:${t.value}`, t = t[H], t && (e29 += ` < `); + return e29; + } + }; + var co = class { + static hasLength(e29, t) { + return e29.length === t; + } + static getValueType(e29) { + return Object.prototype.toString.apply(e29); + } + static isObject(e29) { + return this.getValueType(e29) === `[object Object]`; + } + static isIterable(e29) { + return e29[Symbol.iterator] != null; + } + static isNumber(e29) { + return this.getValueType(e29) === `[object Number]`; + } + }; + function lo(e29) { + let t = 0; + for (let n = 0; n < e29.length; n++) { + let r = e29.charCodeAt(n); + if (r < 65 || r > 90) return -1; + t = t * 26 + (r - 64); + } + return t; + } + var uo = 1048576; + var fo = 16384; + var W = { ff: `Arial`, fs: 11, it: A.FALSE, bl: A.FALSE, ul: { s: A.FALSE }, st: { s: A.FALSE }, ol: { s: A.FALSE }, tr: { a: 0, v: A.FALSE }, td: qn.UNSPECIFIED, cl: { rgb: `#000000` }, bg: { rgb: `#fff` }, ht: Yn.UNSPECIFIED, vt: Xn.UNSPECIFIED, tb: Zn.UNSPECIFIED, pd: { t: 0, r: 0, b: 0, l: 0 }, n: null, bd: { b: null, l: null, r: null, t: null } }; + var _o = { id: `default_slide`, title: `defaultSlide`, pageSize: { width: 300, height: 300 } }; + var yo = { [N.HEADING_1]: { fs: 20, bl: 1 }, [N.HEADING_2]: { fs: 18, bl: 1 }, [N.HEADING_3]: { fs: 16, bl: 1 }, [N.HEADING_4]: { fs: 14, bl: 1 }, [N.HEADING_5]: { fs: 12, bl: 1 }, [N.NORMAL_TEXT]: null, [N.TITLE]: { fs: 26, bl: 1 }, [N.SUBTITLE]: { fs: 15, cl: { rgb: `#999999` } }, [N.NAMED_STYLE_TYPE_UNSPECIFIED]: null }; + var bo = { [N.HEADING_1]: { spaceAbove: { v: 20 }, spaceBelow: { v: 10 } }, [N.HEADING_2]: { spaceAbove: { v: 18 }, spaceBelow: { v: 10 } }, [N.HEADING_3]: { spaceAbove: { v: 16 }, spaceBelow: { v: 10 } }, [N.HEADING_4]: { spaceAbove: { v: 14 }, spaceBelow: { v: 8 } }, [N.HEADING_5]: { spaceAbove: { v: 12 }, spaceBelow: { v: 8 } }, [N.NORMAL_TEXT]: { spaceAbove: { v: 0 }, spaceBelow: { v: 0 } }, [N.TITLE]: { spaceAbove: { v: 0 }, spaceBelow: { v: 7 } }, [N.SUBTITLE]: { spaceAbove: { v: 0 }, spaceBelow: { v: 16 } }, [N.NAMED_STYLE_TYPE_UNSPECIFIED]: null }; + var Co = (function(e29) { + return e29.ARRAY_CONVERTOR = `ARRAY_CONVERTOR`, e29.MATRIX_CONVERTOR = `MATRIX_CONVERTOR`, e29; + })({}); + var wo = { [P2.A3]: { width: 1123, height: 1587 }, [P2.A4]: { width: 794, height: 1124 }, [P2.A5]: { width: 559, height: 794 }, [P2.B4]: { width: 944, height: 1344 }, [P2.B5]: { width: 665, height: 944 }, [P2.Executive]: { width: 696, height: 1008 }, [P2.Folio]: { width: 816, height: 1248 }, [P2.Legal]: { width: 816, height: 1344 }, [P2.Letter]: { width: 816, height: 1056 }, [P2.Statement]: { width: 528, height: 816 }, [P2.Tabloid]: { width: 1056, height: 1632 } }; + function To(e29, t) { + let { textRuns: n = [] } = t, r = 0; + for (let t2 of n) { + let { ts: n2 = {}, st: i, ed: a } = t2; + if (n2[e29] == null) return A.FALSE; + switch (e29) { + case `bl`: + case `it`: + if (n2[e29] === A.FALSE) return A.FALSE; + break; + case `ul`: + case `st`: + if (n2[e29].s === A.FALSE) return A.FALSE; + break; + default: + throw Error(`unknown style key: ${e29} in IStyleBase`); + } + r += a - i; + } + return t.dataStream.indexOf(`\r +`) === r ? A.TRUE : A.FALSE; + } + var Eo = class e5 { + constructor(e29, t, n) { + this._deps = n, C(this, `_range`, void 0), C(this, `_worksheet`, void 0), this._range = t, this._worksheet = e29; + } + static foreach(e29, t) { + let { startRow: n, startColumn: r, endRow: i, endColumn: a } = e29; + for (let e30 = n; e30 <= i; e30++) for (let n2 = r; n2 <= a; n2++) t(e30, n2); + } + getRangeData() { + return this._range; + } + getValue() { + return this.getValues()[0][0]; + } + getValues() { + let { startRow: e29, endRow: t, startColumn: n, endColumn: r } = this._range, i = []; + for (let a = e29; a <= t; a++) { + let e30 = []; + for (let t2 = n; t2 <= r; t2++) e30.push(this.getMatrix().getValue(a, t2) || null); + i.push(e30); + } + return i; + } + getMatrix() { + let { startRow: e29, endRow: t, startColumn: n, endColumn: r } = this._range, i = this._worksheet.getCellMatrix(), a = new Sa(); + for (let o = e29; o <= t; o++) for (let e30 = n; e30 <= r; e30++) a.setValue(o, e30, i.getValue(o, e30) || null); + return a; + } + getMatrixObject() { + let { startRow: e29, endRow: t, startColumn: n, endColumn: r } = this._range, i = this._worksheet.getCellMatrix(), a = new Sa(); + for (let o = e29; o <= t; o++) for (let t2 = n; t2 <= r; t2++) a.setValue(o - e29, t2 - n, i.getValue(o, t2) || {}); + return a; + } + getA1Notation() { + let { startRow: e29, endRow: t, startColumn: n, endColumn: r } = this._range, i, a; + return n < r ? (i = D.numToWord(n + 1) + (e29 + 1), a = D.numToWord(r + 1) + (t + 1)) : (i = D.numToWord(r + 1) + (t + 1), a = D.numToWord(n + 1) + (e29 + 1)), i === a ? `${i}` : `${i}:${a}`; + } + getBackground() { + return this.getBackgrounds()[0][0]; + } + getBackgrounds() { + let e29 = this._deps.getStyles(); + return this.getValues().map((t) => t.map((t2) => { + var n; + let r = e29.getStyleByCell(t2); + return (r == null || (n = r.bg) == null ? void 0 : n.rgb) || W.bg.rgb; + })); + } + getCell(t, n) { + let { startRow: r, startColumn: i } = this._range, a = { startRow: r + t, endRow: r + t, startColumn: i + n, endColumn: i + n }; + return new e5(this._worksheet, a, this._deps); + } + getColumn() { + return this._range.startColumn; + } + getObjectValue(e29 = {}) { + return this.getObjectValues(e29)[0][0]; + } + getObjectValues(e29 = {}) { + let { startRow: t, endRow: n, startColumn: r, endColumn: i } = this._range, a = this._worksheet.getCellMatrix().getFragment(t, n, r, i).getData(); + if (e29.isIncludeStyle) { + let e30 = this._deps.getStyles(); + for (let s = 0; s <= n - t; s++) for (let t2 = 0; t2 <= i - r; t2++) { + var o; + if (a == null || (a == null || (o = a[s]) == null ? void 0 : o[t2]) == null) continue; + let n2 = a[s][t2].s; + n2 && (a[s][t2].s = e30.get(n2)); + } + } + return a; + } + getFontColor() { + return this.getFontColors()[0][0]; + } + getFontColors() { + let e29 = this._deps.getStyles(); + return this.getValues().map((t) => t.map((t2) => { + var n; + let r = e29.getStyleByCell(t2); + return (r == null || (n = r.cl) == null ? void 0 : n.rgb) || W.cl.rgb; + })); + } + getFontFamilies() { + return this._getStyles(`ff`); + } + getFontFamily() { + return this.getFontFamilies()[0][0]; + } + getUnderlines() { + return this._getStyles(`ul`); + } + getUnderline() { + var e29, t; + let { p: n } = (e29 = this.getValue()) == null ? {} : e29; + return n && Array.isArray((t = n.body) == null ? void 0 : t.textRuns) && n.body.textRuns.length > 0 ? To(`ul`, n.body) === A.TRUE ? { s: A.TRUE } : { s: A.FALSE } : this.getUnderlines()[0][0]; + } + getOverlines() { + return this._getStyles(`ol`); + } + getOverline() { + return this.getOverlines()[0][0]; + } + getStrikeThrough() { + var e29, t; + let { p: n } = (e29 = this.getValue()) == null ? {} : e29; + return n && Array.isArray((t = n.body) == null ? void 0 : t.textRuns) && n.body.textRuns.length > 0 ? To(`st`, n.body) === A.TRUE ? { s: A.TRUE } : { s: A.FALSE } : this.getStrikeThroughs()[0][0]; + } + getStrikeThroughs() { + return this._getStyles(`st`); + } + getFontSize() { + var e29, t; + let n = ((e29 = this.getValue()) == null ? void 0 : e29.p) || {}; + return n && Array.isArray((t = n.body) == null ? void 0 : t.textRuns) && n.body.textRuns.length > 0 && n.body.textRuns.some((e30) => { + var t2; + return (e30 == null || (t2 = e30.ts) == null ? void 0 : t2.fs) != null; + }) ? Math.max(...n.body.textRuns.map((e30) => { + var t2; + return (e30 == null || (t2 = e30.ts) == null ? void 0 : t2.fs) || 0; + })) : this.getFontSizes()[0][0]; + } + getFontSizes() { + return this._getStyles(`fs`); + } + getBorder() { + return this.getBorders()[0][0]; + } + getBorders() { + return this._getStyles(`bd`); + } + getFontStyle() { + var e29, t; + let { p: n } = (e29 = this.getValue()) == null ? {} : e29; + return n && Array.isArray((t = n.body) == null ? void 0 : t.textRuns) && n.body.textRuns.length > 0 ? To(`it`, n.body) === A.TRUE ? Qn.ITALIC : Qn.NORMAL : this._getFontStyles()[0][0]; + } + _getFontStyles() { + return this._getStyles(`it`); + } + getFontWeight() { + var e29, t; + let { p: n } = (e29 = this.getValue()) == null ? {} : e29; + return n && Array.isArray((t = n.body) == null ? void 0 : t.textRuns) && n.body.textRuns.length > 0 ? To(`bl`, n.body) === A.TRUE ? $n.BOLD : $n.NORMAL : this._getFontWeights()[0][0]; + } + _getFontWeights() { + return this._getStyles(`bl`); + } + getGridId() { + return this._worksheet.getSheetId(); + } + getHeight() { + let { _range: e29, _worksheet: t } = this, { startRow: n, endRow: r } = e29, i = 0; + for (let e30 = 0; e30 <= r - n; e30++) { + let n2 = t.getRowHeight(e30); + i += n2; + } + return i; + } + getHorizontalAlignment() { + return this.getHorizontalAlignments()[0][0]; + } + getHorizontalAlignments() { + return this._getStyles(`ht`); + } + getLastColumn() { + return this._range.endColumn; + } + getLastRow() { + return this._range.endRow; + } + getNumColumns() { + let { startColumn: e29, endColumn: t } = this._range; + return t - e29 + 1; + } + getNumRows() { + let { startRow: e29, endRow: t } = this._range; + return t - e29 + 1; + } + getRichTextValue() { + return this.getRichTextValues()[0][0]; + } + getRichTextValues() { + return this.getValues().map((e29) => e29.map((e30) => (e30 == null ? void 0 : e30.p) || ``)); + } + getRowIndex() { + return this._range.startRow; + } + getSheet() { + return this._worksheet; + } + getTextDirection() { + return this.getTextDirections()[0][0]; + } + getTextDirections() { + return this._getStyles(`td`); + } + getTextRotation() { + return this.getTextRotations()[0][0]; + } + getTextRotations() { + return this._getStyles(`tr`); + } + getTextStyle() { + return this.getTextStyles()[0][0]; + } + getTextStyles() { + let e29 = this._deps.getStyles(); + return this.getValues().map((t) => t.map((t2) => e29.getStyleByCell(t2))); + } + getVerticalAlignment() { + return this.getVerticalAlignments()[0][0]; + } + getVerticalAlignments() { + return this._getStyles(`vt`); + } + getWidth() { + let { _range: e29, _worksheet: t } = this, { startColumn: n, endColumn: r } = e29, i = 0; + for (let e30 = 0; e30 <= r - n; e30++) i += t.getColumnWidth(e30); + return i; + } + getWrap() { + return this.getWrapStrategy() === Zn.WRAP ? A.TRUE : A.FALSE; + } + getWrapStrategies() { + return this._getStyles(`tb`); + } + getWrapStrategy() { + return this.getWrapStrategies()[0][0]; + } + forEach(t) { + e5.foreach(this._range, t); + } + _getStyles(e29) { + let t = this._deps.getStyles(); + return this.getValues().map((n) => n.map((n2) => { + let r = t && t.getStyleByCell(n2); + return r && r[e29] || W[e29]; + })); + } + }; + C(Eo, `transformRange`, (e29, t) => { + let n = t.getMaxColumns() - 1, r = t.getMaxRows() - 1; + return e29.rangeType === B.ALL ? { startColumn: 0, startRow: 0, endColumn: n, endRow: r } : e29.rangeType === B.COLUMN ? { startRow: 0, endRow: r, startColumn: e29.startColumn, endColumn: e29.endColumn } : e29.rangeType === B.ROW ? { startColumn: 0, endColumn: n, startRow: e29.startRow, endRow: e29.endRow } : { startColumn: e29.startColumn, endColumn: Math.min(e29.endColumn, n), startRow: e29.startRow, endRow: Math.min(e29.endRow, r) }; + }); + function Do(e29, t, n, r = false) { + if (t === 0 && n === 0) return e29; + let i = { ...e29 }, a = i.startAbsoluteRefType || V.NONE, o = i.endAbsoluteRefType || V.NONE, s = i.rangeType || B.NORMAL; + if (!r && a === V.ALL && o === V.ALL) return i; + let c = Oo(i.startRow, n, i.startColumn, t, s), l = Oo(i.endRow, n, i.endColumn, t, s); + return r || a === V.NONE && o === V.NONE ? i = { ...i, startRow: c.row, startColumn: c.column, endRow: l.row, endColumn: l.column } : (a === V.NONE ? i = { ...i, startRow: c.row, startColumn: c.column } : a === V.COLUMN ? i = { ...i, startRow: c.row } : a === V.ROW && (i = { ...i, startColumn: c.column }), o === V.NONE ? i = { ...i, endRow: l.row, endColumn: l.column } : o === V.COLUMN ? i = { ...i, endRow: l.row } : o === V.ROW && (i = { ...i, endColumn: l.column }), i); + } + function Oo(e29, t, n, r, i) { + return i === B.NORMAL ? { row: e29 + t, column: n + r } : i === B.ROW ? { row: e29 + t, column: n } : i === B.COLUMN ? { row: e29, column: n + r } : { row: e29, column: n }; + } + function ko(e29) { + let t = /* @__PURE__ */ new Set(), n = /* @__PURE__ */ new Set(); + for (let r2 of e29) t.add(r2.startColumn), t.add(r2.endColumn + 1), n.add(r2.startRow), n.add(r2.endRow + 1); + let r = Array.from(t).sort((e30, t2) => e30 - t2), i = Array.from(n).sort((e30, t2) => e30 - t2); + e29.sort((e30, t2) => e30.startRow - t2.startRow || e30.startColumn - t2.startColumn); + let a = []; + for (let t2 = 0; t2 < i.length - 1; t2++) for (let n2 = 0; n2 < r.length - 1; n2++) { + let o = r[n2], s = r[n2 + 1] - 1, c = i[t2], l = i[t2 + 1] - 1; + for (let t3 of e29) { + if (t3.startRow > l) break; + if (t3.startRow <= c && t3.endRow >= l && t3.startColumn <= o && t3.endColumn >= s) { + a.push({ startColumn: o, endColumn: s, startRow: c, endRow: l }); + break; + } + } + } + return a; + } + function Ao(e29) { + e29.sort((e30, t2) => e30.startRow - t2.startRow || e30.startColumn - t2.startColumn); + let t = {}; + for (let n2 of e29) t[n2.startRow] || (t[n2.startRow] = []), t[n2.startRow].push(n2); + let n = []; + for (let e30 in t) { + let r = t[+e30]; + r.sort((e31, t2) => e31.startColumn - t2.startColumn); + let i = r[0]; + for (let e31 = 1; e31 < r.length; e31++) { + let t2 = r[e31]; + t2.startColumn <= i.endColumn + 1 && t2.startRow === i.startRow && t2.endRow === i.endRow ? i.endColumn = Math.max(i.endColumn, t2.endColumn) : (n.push(i), i = t2); + } + n.push(i); + } + return n; + } + function jo(e29) { + e29.sort((e30, t2) => e30.startColumn - t2.startColumn || e30.startRow - t2.startRow); + let t = {}; + for (let n2 of e29) t[n2.startColumn] || (t[n2.startColumn] = []), t[n2.startColumn].push(n2); + let n = []; + for (let e30 in t) { + let r = t[+e30]; + r.sort((e31, t2) => e31.startRow - t2.startRow); + let i = r[0]; + for (let e31 = 1; e31 < r.length; e31++) { + let t2 = r[e31]; + t2.startRow <= i.endRow + 1 && t2.startColumn === i.startColumn && t2.endColumn === i.endColumn ? i.endRow = Math.max(i.endRow, t2.endRow) : (n.push(i), i = t2); + } + n.push(i); + } + return n; + } + function Mo(e29) { + return jo(Ao(ko(e29))); + } + function No(e29, t) { + let n = []; + return e29.forEach((e30) => { + n.push(...G.subtract(e30, t)); + }), G.mergeRanges(n); + } + function Po(e29, t) { + let n = Fo(e29.startRow, e29.endRow, t.startRow, t.endRow), r = Fo(e29.startColumn, e29.endColumn, t.startColumn, t.endColumn); + if (!n || !r) return null; + let [i, a] = n, [o, s] = r; + return { startRow: i, endRow: a, startColumn: o, endColumn: s, rangeType: Io(e29.rangeType, t.rangeType, i, a, o, s) }; + } + function Fo(e29, t, n, r) { + let i = isNaN(e29) ? -1 / 0 : e29, a = isNaN(t) ? 1 / 0 : t, o = isNaN(n) ? -1 / 0 : n, s = isNaN(r) ? 1 / 0 : r, c = Math.max(i, o), l = Math.min(a, s); + return c <= l ? [c === -1 / 0 ? NaN : c, l === 1 / 0 ? NaN : l] : null; + } + function Io(e29, t, n, r, i, a) { + let o = e29 === void 0 ? Lo(n, r, i, a) : e29, s = t === void 0 ? Lo(n, r, i, a) : t; + return o === B.ALL || s === B.ALL ? o === s ? o : o === B.ALL ? s : o : o === s ? o : (o === B.NORMAL || B.NORMAL, B.NORMAL); + } + function Lo(e29, t, n, r) { + let i = !isNaN(e29) && !isNaN(t), a = !isNaN(n) && !isNaN(r); + return i && a ? B.NORMAL : i ? B.ROW : a ? B.COLUMN : B.ALL; + } + var G = class e6 { + static clone(e29) { + return e29.rangeType === void 0 ? { startRow: e29.startRow, startColumn: e29.startColumn, endRow: e29.endRow, endColumn: e29.endColumn } : { startRow: e29.startRow, startColumn: e29.startColumn, endRow: e29.endRow, endColumn: e29.endColumn, rangeType: e29.rangeType }; + } + static equals(e29, t) { + return e29 == null || t == null ? false : e29.endRow === t.endRow && e29.endColumn === t.endColumn && e29.startRow === t.startRow && e29.startColumn === t.startColumn && (e29.rangeType === t.rangeType || e29.rangeType === void 0 && t.rangeType === B.NORMAL || t.rangeType === void 0 && e29.rangeType === B.NORMAL); + } + static simpleRangesIntersect(e29, t) { + let { startRow: n, endRow: r, startColumn: i, endColumn: a } = e29, { startRow: o, endRow: s, startColumn: c, endColumn: l } = t; + return n <= s && r >= o && i <= l && a >= c; + } + static intersects(e29, t) { + if (e29.rangeType === B.ROW && t.rangeType === B.COLUMN || e29.rangeType === B.COLUMN && t.rangeType === B.ROW) return true; + if (e29.rangeType === B.ROW && t.rangeType === B.ROW) return e29.startRow <= t.endRow && e29.endRow >= t.startRow; + if (e29.rangeType === B.COLUMN && t.rangeType === B.COLUMN) return e29.startColumn <= t.endColumn && e29.endColumn >= t.startColumn; + let n = Number.isNaN(e29.startRow) ? 0 : e29.startRow, r = Number.isNaN(e29.endRow) ? uo - 1 : e29.endRow, i = Number.isNaN(e29.startColumn) ? 0 : e29.startColumn, a = Number.isNaN(e29.endColumn) ? fo - 1 : e29.endColumn, o = Number.isNaN(t.startRow) ? 0 : t.startRow, s = Number.isNaN(t.endRow) ? uo - 1 : t.endRow, c = Number.isNaN(t.startColumn) ? 0 : t.startColumn, l = Number.isNaN(t.endColumn) ? fo - 1 : t.endColumn, u = Math.abs(i + a - c - l), d = Math.abs(i - a) + Math.abs(c - l), f = Math.abs(n + r - o - s), p = Math.abs(n - r) + Math.abs(o - s); + return u <= d && f <= p; + } + static doAnyRangesIntersect(e29, t) { + let n = new RBush(); + return n.load(e29.map((e30) => ({ minX: e30.startColumn, minY: e30.startRow, maxX: e30.endColumn, maxY: e30.endRow }))), t.some((e30) => n.search({ minX: e30.startColumn, minY: e30.startRow, maxX: e30.endColumn, maxY: e30.endRow }).length > 0); + } + static getIntersects(e29, t) { + let n = e29.startRow, r = e29.endRow, i = e29.startColumn, a = e29.endColumn, o = t.startRow, s = t.endRow, c = t.startColumn, l = t.endColumn, u, d, f, p; + if (o <= r) d = o >= n ? o : n; + else return null; + if (s >= n) p = s >= r ? r : s; + else return null; + if (c <= a) u = c > i ? c : i; + else return null; + if (l >= i) f = l >= a ? a : l; + else return null; + return { startRow: d, endRow: p, startColumn: u, endColumn: f, rangeType: B.NORMAL }; + } + static contains(e29, t) { + return e29.startRow <= t.startRow && e29.endRow >= t.endRow && e29.startColumn <= t.startColumn && e29.endColumn >= t.endColumn; + } + static realContain(t, n) { + return e6.contains(t, n) && (t.startRow < n.startRow || t.endRow > n.endRow || t.startColumn < n.startColumn || t.endColumn > n.endColumn); + } + static union(...e29) { + return e29.reduce((e30, t) => ({ startRow: Math.min(e30.startRow, t.startRow), startColumn: Math.min(e30.startColumn, t.startColumn), endRow: Math.max(e30.endRow, t.endRow), endColumn: Math.max(e30.endColumn, t.endColumn), rangeType: B.NORMAL }), e29[0]); + } + static realUnion(...t) { + let n = t.some((e29) => e29.rangeType === B.COLUMN), r = t.some((e29) => e29.rangeType === B.ROW), i = e6.union(...t); + return { startColumn: r ? NaN : i.startColumn, endColumn: r ? NaN : i.endColumn, startRow: n ? NaN : i.startRow, endRow: n ? NaN : i.endRow, rangeType: r ? B.ROW : n ? B.COLUMN : B.NORMAL }; + } + static subtract(e29, t) { + if (t.startRow > e29.endRow || t.endRow < e29.startRow || t.startColumn > e29.endColumn || t.endColumn < e29.startColumn) return [e29]; + let n = []; + t.startRow >= e29.startRow && n.push({ startRow: e29.startRow, startColumn: e29.startColumn, endRow: t.startRow - 1, endColumn: e29.endColumn }), t.endRow <= e29.endRow && n.push({ startRow: t.endRow + 1, startColumn: e29.startColumn, endRow: e29.endRow, endColumn: e29.endColumn }); + let r = Math.max(e29.startRow, t.startRow), i = Math.min(e29.endRow, t.endRow); + return t.startColumn >= e29.startColumn && n.push({ startRow: r, startColumn: e29.startColumn, endRow: i, endColumn: t.startColumn - 1 }), t.endColumn <= e29.endColumn && n.push({ startRow: r, startColumn: t.endColumn + 1, endRow: i, endColumn: e29.endColumn }), n.filter((e30) => e30.startRow <= e30.endRow && e30.startColumn <= e30.endColumn); + } + static mergeRanges(e29) { + return Mo(e29); + } + static splitIntoGrid(e29) { + return ko(e29); + } + static subtractMulti(e29, t) { + if (!t.length) return e29; + let n = e29; + return t.forEach((e30) => { + n = No(n, e30); + }), n; + } + static hasIntersectionBetweenTwoRect(e29, t) { + return !(e29.left > t.right || e29.right < t.left || e29.top > t.bottom || e29.bottom < t.top); + } + static getIntersectionBetweenTwoRect(e29, t) { + let n = Math.max(e29.left, t.left), r = Math.min(e29.right, t.right), i = Math.max(e29.top, t.top), a = Math.min(e29.bottom, t.bottom); + return r <= n || a <= i ? null : { left: n, right: r, top: i, bottom: a, width: r - n, height: a - i }; + } + static sort(e29) { + return e29.sort((e30, t) => e30.startRow - t.startRow || e30.startColumn - t.startColumn); + } + }; + C(G, `getRelativeRange`, (e29, t) => ({ startRow: e29.startRow - t.startRow, endRow: e29.endRow - e29.startRow, startColumn: e29.startColumn - t.startColumn, endColumn: e29.endColumn - e29.startColumn })), C(G, `getPositionRange`, (e29, t, n) => ({ ...n || {}, startRow: n && [V.ROW, V.ALL].includes(n.startAbsoluteRefType || 0) ? n.startRow : e29.startRow + t.startRow, endRow: n && [V.ROW, V.ALL].includes(n.endAbsoluteRefType || 0) ? n.endRow : e29.endRow + e29.startRow + t.startRow, startColumn: n && [V.COLUMN, V.ALL].includes(n.startAbsoluteRefType || 0) ? n.startColumn : e29.startColumn + t.startColumn, endColumn: n && [V.COLUMN, V.ALL].includes(n.endAbsoluteRefType || 0) ? n.endColumn : e29.endColumn + e29.startColumn + t.startColumn })), C(G, `moveHorizontal`, (e29, t = 0, n = 0) => ({ ...e29, startColumn: e29.startColumn + t, endColumn: e29.endColumn + t + n })), C(G, `moveVertical`, (e29, t = 0, n = 0) => ({ ...e29, startRow: e29.startRow + t, endRow: e29.endRow + t + n })), C(G, `moveOffset`, (e29, t, n) => { + let r = { ...e29 }; + switch (e29.startAbsoluteRefType) { + case V.ROW: + r.startColumn += t; + break; + case V.COLUMN: + r.startRow += n; + break; + case V.ALL: + break; + case V.NONE: + default: + r.startRow += n, r.startColumn += t; + break; + } + switch (e29.endAbsoluteRefType) { + case V.ROW: + r.endColumn += t; + break; + case V.COLUMN: + r.endRow += n; + break; + case V.ALL: + break; + case V.NONE: + default: + r.endRow += n, r.endColumn += t; + break; + } + return r; + }); + function Ro(e29, t) { + if (e29.length === 0 || e29[0].length === 0) return null; + let n = Array(e29[0].length).fill(0), r = 0, i = null; + for (let a = 0; a < e29.length; a++) { + for (let r2 = 0; r2 < e29[0].length; r2++) n[r2] = t(e29[a][r2]) ? n[r2] + 1 : 0; + let o = zo(n); + o.area > r && (r = o.area, i = { startColumn: o.start, startRow: a - o.height + 1, endColumn: o.end, endRow: a }); + } + return i; + } + function zo(e29) { + let t = [], n = 0, r = { area: 0, height: 0, start: 0, end: 0 }, i = 0; + for (; i < e29.length; ) if (t.length === 0 || e29[i] >= e29[t[t.length - 1]]) t.push(i++); + else { + let a = e29[t.pop()], o = t.length === 0 ? i : i - t[t.length - 1] - 1; + a * o > n && (n = a * o, r = { area: n, height: a, start: t.length === 0 ? 0 : t[t.length - 1] + 1, end: i - 1 }); + } + for (; t.length > 0; ) { + let a = e29[t.pop()], o = t.length === 0 ? i : i - t[t.length - 1] - 1; + a * o > n && (n = a * o, r = { area: n, height: a, start: t.length === 0 ? 0 : t[t.length - 1] + 1, end: i - 1 }); + } + return r; + } + function Bo(e29, t) { + Eo.foreach(t, (t2, n) => { + e29[t2][n] = void 0; + }); + } + function Vo(e29, t) { + let n = e29.toFullArray(), r = []; + for (; ; ) { + let e30 = Ro(n, t); + if (!e30) break; + r.push(e30), Bo(n, e30); + } + return r; + } + function Uo(e29, t, n, r) { + return { forEach(i) { + for (let a = e29; a <= t; a++) for (let e30 = n; e30 <= r; e30++) i(a, e30); + } }; + } + function Jo(e29, t) { + return e29.zIndex > t.zIndex ? 1 : e29.zIndex === t.zIndex ? 0 : -1; + } + function Xo(e29 = `index`, t = 1) { + return (n, r) => n[e29] > r[e29] ? t : n[e29] === r[e29] ? 0 : -t; + } + function Zo(e29, t = false) { + let n = []; + for (let r of e29) { + let { st: e30, ed: i, ts: a } = r; + if (r.sId === void 0 && delete r.sId, e30 === i || !t && D.isEmptyObject(a) && r.sId == null) continue; + if (n.length === 0) { + n.push(r); + continue; + } + let o = n.pop(); + Ba(r, o) && D.hasIntersectionBetweenTwoRanges(o.st, o.ed, r.st, r.ed) ? n.push({ ...r, st: o.st, ed: i }) : n.push(o, r); + } + return n; + } + function Qo(e29, t, n, r) { + var i; + let { textRuns: a } = e29; + if (a == null) return; + let o = [], s = a.length, c = false, l = (i = t.textRuns) == null ? [] : i; + if (l.length) for (let e30 of l) e30.st += r, e30.ed += r; + for (let e30 = 0; e30 < s; e30++) { + let t2 = a[e30], { st: i2, ed: s2 } = t2; + if (s2 <= r) o.push(t2); + else if (r > i2 && r < s2) { + c = true; + let e31 = { ...t2, ed: r }; + o.push(e31), l.length && o.push(...l); + let i3 = { ...t2, st: r + n, ed: s2 + n }; + o.push(i3); + } else t2.st += n, t2.ed += n, c || (c = true, o.push(...l)), o.push(t2); + } + c || (c = true, o.push(...l)), e29.textRuns = Zo(o); + } + function $o(e29, t, n, r) { + let { paragraphs: i } = e29; + if (i == null) return; + let { paragraphs: a } = t, o = [], s = -1; + for (let e30 = 0, t2 = i.length; e30 < t2; e30++) { + let t3 = i[e30], { startIndex: a2 } = t3; + a2 >= r && (t3.startIndex += n), s === -1 && a2 >= r && (s = e30), o.push(t3.startIndex); + } + let c = -1; + if (a) { + for (let e30 = 0, t2 = a.length; e30 < t2; e30++) { + let t3 = a[e30]; + t3.startIndex += r; + let n2 = t3.startIndex; + c = o.indexOf(n2); + } + c !== -1 && i.splice(c, 1), i.push(...a), i.sort(Xo(`startIndex`)); + } + } + function es(e29, t, n, r) { + let { sectionBreaks: i } = e29; + if (i == null) return; + for (let e30 = 0, t2 = i.length; e30 < t2; e30++) { + let t3 = i[e30], { startIndex: a2 } = t3; + a2 >= r && (t3.startIndex += n); + } + let a = t.sectionBreaks; + if (a) { + for (let e30 = 0, t2 = a.length; e30 < t2; e30++) { + let t3 = a[e30]; + t3.startIndex += r; + } + i.push(...a), i.sort(Xo(`startIndex`)); + } + } + function ts(e29, t, n, r) { + let { customBlocks: i = [] } = e29; + for (let e30 = 0, t2 = i.length; e30 < t2; e30++) { + let t3 = i[e30], { startIndex: a2 } = t3; + a2 >= r && (t3.startIndex += n); + } + let a = t.customBlocks; + if (a) { + for (let e30 = 0, t2 = a.length; e30 < t2; e30++) { + let t3 = a[e30]; + t3.startIndex += r; + } + i.push(...a), i.sort(Xo(`startIndex`)); + } + i.length && !e29.customBlocks && (e29.customBlocks = i); + } + function ns(e29, t, n, r) { + let { tables: i } = e29; + if (i == null) return; + for (let e30 = 0, t2 = i.length; e30 < t2; e30++) { + let t3 = i[e30], { startIndex: a2, endIndex: o } = t3; + a2 > r ? (t3.startIndex += n, t3.endIndex += n) : o > r && (t3.endIndex += n); + } + let a = t.tables; + if (a) { + for (let e30 = 0, t2 = a.length; e30 < t2; e30++) { + let t3 = a[e30]; + t3.startIndex += r, t3.endIndex += r; + } + i.push(...a), i.sort(Xo(`startIndex`)); + } + } + var rs = (e29) => e29.split(`$`)[0]; + function is(e29) { + if (e29.length <= 1) return e29; + e29.sort((e30, t2) => e30.startIndex - t2.startIndex); + let t = [], n = { ...e29[0] }; + n.rangeId = rs(n.rangeId); + for (let r2 = 1; r2 < e29.length; r2++) { + let i = e29[r2]; + i.rangeId = rs(i.rangeId), i.rangeId === n.rangeId && Ct(n.properties, i.properties) && n.endIndex + 1 >= i.startIndex ? n.endIndex = i.endIndex : (t.push(n), n = { ...i }); + } + t.push(n); + let r = /* @__PURE__ */ Object.create(null); + for (let e30 = 0, n2 = t.length; e30 < n2; e30++) { + let n3 = t[e30], i = n3.rangeId; + r[i] ? (n3.rangeId = `${i}$${r[i]}`, r[i] = r[i] + 1) : r[i] = 1; + } + return t; + } + function as(e29, t) { + let n = e29.findIndex((e30) => e30.startIndex < t && e30.endIndex >= t), r = e29[n]; + r && e29.splice(n, 1, { rangeId: r.rangeId, rangeType: r.rangeType, startIndex: r.startIndex, endIndex: t - 1, properties: { ...r.properties } }, { rangeId: r.rangeId, rangeType: r.rangeType, startIndex: t, endIndex: r.endIndex, properties: { ...r.properties } }); + } + function os(e29) { + if (e29.length <= 1) return e29; + e29.sort((e30, t2) => e30.startIndex - t2.startIndex); + let t = [], n = { ...e29[0] }; + for (let r = 1; r < e29.length; r++) { + let i = e29[r]; + i.id === n.id && n.endIndex + 1 >= i.startIndex ? n.endIndex = i.endIndex : (t.push(n), n = { ...i }); + } + return t.push(n), t; + } + function ss(e29, t) { + e29.filter((e30) => e30.startIndex < t && e30.endIndex >= t).forEach((n) => { + let r = e29.indexOf(n); + e29.splice(r, 1, { id: n.id, type: n.type, startIndex: n.startIndex, endIndex: t - 1 }, { id: n.id, type: n.type, startIndex: t, endIndex: n.endIndex }); + }); + } + function cs(e29, t, n, r) { + e29.customRanges || (e29.customRanges = []); + let { customRanges: i } = e29; + as(i, r); + for (let e30 = 0, t2 = i.length; e30 < t2; e30++) { + let t3 = i[e30], { startIndex: a2 } = t3; + a2 >= r && (t3.startIndex += n, t3.endIndex += n); + } + let a = []; + if (t.customRanges) { + for (let e30 = 0, n2 = t.customRanges.length; e30 < n2; e30++) { + let n3 = t.customRanges[e30]; + n3.startIndex += r, n3.endIndex += r, a.push(n3); + } + i.push(...a); + } + e29.customRanges = is(i); + } + function ls(e29, t, n, r) { + e29.customDecorations || (e29.customDecorations = []); + let { customDecorations: i } = e29; + ss(i, r); + for (let e30 = 0, t2 = i.length; e30 < t2; e30++) { + let t3 = i[e30], { startIndex: a2 } = t3; + a2 >= r && (t3.startIndex += n, t3.endIndex += n); + } + let a = []; + if (t.customDecorations) { + for (let e30 = 0, n2 = t.customDecorations.length; e30 < n2; e30++) { + let n3 = t.customDecorations[e30]; + n3.startIndex += r, n3.endIndex += r, a.push(n3); + } + i.push(...a); + } + e29.customDecorations = os(i); + } + function us(e29, t, n) { + let { textRuns: r } = e29, i = n, a = n + t, o = []; + if (r) { + let n2 = []; + for (let e30 = 0, s = r.length; e30 < s; e30++) { + let s2 = r[e30], { st: c, ed: l } = s2; + if (i <= c && a >= l) { + o.push({ ...s2, st: c - i, ed: l - i }); + continue; + } else c <= i && l >= a ? (o.push({ ...s2, st: i - i, ed: a - i }), s2.ed -= t) : i >= c && i < l ? (o.push({ ...s2, st: i - i, ed: l - i }), s2.ed = i) : a > c && a <= l ? (o.push({ ...s2, st: c - i, ed: a - i }), s2.st = a - t, s2.ed -= t) : c >= a && (s2.st -= t, s2.ed -= t); + n2.push(s2); + } + e29.textRuns = n2; + } + return o.length === 0 && o.push({ st: 0, ed: t, ts: {} }), o; + } + function ds(e29, t, n) { + let { paragraphs: r } = e29, i = n, a = n + t, o = [], s = null, c = false; + if (r) { + let l = []; + for (let e30 = 0, u = r.length; e30 < u; e30++) { + let u2 = r[e30], { startIndex: d } = u2; + if (d >= i && d < a) { + o.push({ ...u2, startIndex: d - n }), c = true; + continue; + } else d >= a && (u2.startIndex -= t); + l.push(u2), s == null && c && (s = u2); + } + e29.paragraphs = l; + } + return o; + } + function fs(e29, t, n) { + let { sectionBreaks: r } = e29, i = n, a = n + t - 1, o = []; + if (r) { + let s = []; + for (let e30 = 0, c = r.length; e30 < c; e30++) { + let c2 = r[e30], { startIndex: l } = c2; + if (l >= i && l <= a) { + o.push({ ...c2, startIndex: l - n }); + continue; + } else l > a && (c2.startIndex -= t); + s.push(c2); + } + e29.sectionBreaks = s; + } + return o; + } + function ps(e29, t, n) { + let { customBlocks: r = [] } = e29, i = n, a = n + t - 1, o = []; + if (r) { + let s = []; + for (let e30 = 0, c = r.length; e30 < c; e30++) { + let c2 = r[e30], { startIndex: l } = c2; + if (l >= i && l <= a) { + o.push({ ...c2, startIndex: l - n }); + continue; + } else l > a && (c2.startIndex -= t); + s.push(c2); + } + e29.customBlocks = s; + } + return r.length && !e29.customBlocks && (e29.customBlocks = r), o; + } + function ms(e29, t, n) { + let { tables: r } = e29, i = n, a = n + t - 1, o = []; + if (r) { + let s = []; + for (let e30 = 0, c = r.length; e30 < c; e30++) { + let c2 = r[e30], { startIndex: l, endIndex: u } = c2; + if (i <= l && a >= u) { + o.push({ ...c2, startIndex: l - n, endIndex: u - n }); + continue; + } else if (l <= i && u >= a) { + let e31 = Ha(l, u, i, a); + if (e31.length === 0 || (c2.startIndex = e31[0], c2.endIndex = e31[1], c2.startIndex === c2.endIndex)) continue; + } else a < l && (c2.startIndex -= t, c2.endIndex -= t); + s.push(c2); + } + e29.tables = s; + } + return o; + } + function hs(e29, t, n) { + let { customRanges: r } = e29, i = n, a = n + t - 1, o = []; + if (r) { + let n2 = []; + for (let e30 = 0, s = r.length; e30 < s; e30++) { + let s2 = r[e30], { startIndex: c, endIndex: l } = s2; + if (c >= i && l <= a) { + o.push(s2); + continue; + } else if (Math.max(i, c) <= Math.min(a, l)) { + let e31 = Ha(c, l, i, a); + if (e31.length === 0) continue; + s2.startIndex = e31[0], s2.endIndex = e31[1]; + } else a < c && (s2.startIndex -= t, s2.endIndex -= t); + n2.push(s2); + } + e29.customRanges = is(n2); + } + return o; + } + function gs(e29, t, n, r = true) { + let { customDecorations: i } = e29, a = n, o = n + t - 1, s = []; + if (i) { + let n2 = []; + for (let e30 = 0, c = i.length; e30 < c; e30++) { + let c2 = i[e30], { startIndex: l, endIndex: u } = c2; + if (l >= a && u <= o) { + s.push(c2); + continue; + } else if (Math.max(a, l) <= Math.min(o, u)) { + let e31 = Ha(l, u, a, o); + if (e31.length === 0) continue; + c2.startIndex = e31[0], c2.endIndex = e31[1]; + } else o < l && r && (c2.startIndex -= t, c2.endIndex -= t); + n2.push(c2); + } + e29.customDecorations = n2; + } + return s; + } + var K = (function(e29) { + return e29.ORDER_LIST_QUICK_1 = `1.`, e29.ORDER_LIST_QUICK_2 = `a)`, e29.ORDER_LIST_QUICK_3 = `a.`, e29.ORDER_LIST_QUICK_4 = `i.`, e29.ORDER_LIST_QUICK_5 = `A.`, e29.ORDER_LIST_QUICK_6 = `I.`, e29.ORDER_LIST_QUICK_7 = `01.`, e29.BULLET_LIST = `*`, e29; + })({}); + var q = (function(e29) { + return e29.BULLET_LIST = `BULLET_LIST`, e29.BULLET_LIST_1 = `BULLET_LIST_1`, e29.BULLET_LIST_2 = `BULLET_LIST_2`, e29.BULLET_LIST_3 = `BULLET_LIST_3`, e29.BULLET_LIST_4 = `BULLET_LIST_4`, e29.BULLET_LIST_5 = `BULLET_LIST_5`, e29.ORDER_LIST = `ORDER_LIST`, e29.ORDER_LIST_1 = `ORDER_LIST_1`, e29.ORDER_LIST_2 = `ORDER_LIST_2`, e29.ORDER_LIST_3 = `ORDER_LIST_3`, e29.ORDER_LIST_4 = `ORDER_LIST_4`, e29.ORDER_LIST_5 = `ORDER_LIST_5`, e29.ORDER_LIST_QUICK_2 = `ORDER_LIST_QUICK_2`, e29.ORDER_LIST_QUICK_3 = `ORDER_LIST_QUICK_3`, e29.ORDER_LIST_QUICK_4 = `ORDER_LIST_QUICK_4`, e29.ORDER_LIST_QUICK_5 = `ORDER_LIST_QUICK_5`, e29.ORDER_LIST_QUICK_6 = `ORDER_LIST_QUICK_6`, e29.CHECK_LIST = `CHECK_LIST`, e29.CHECK_LIST_CHECKED = `CHECK_LIST_CHECKED`, e29; + })({}); + var _s = { "a)": { glyphFormat: `%1)`, glyphType: M.DECIMAL }, "1.": { glyphFormat: `%1.`, glyphType: M.DECIMAL }, "a.": { glyphFormat: `%1.`, glyphType: M.LOWER_LETTER }, "A.": { glyphFormat: `%1.`, glyphType: M.UPPER_LETTER }, "i.": { glyphFormat: `%1.`, glyphType: M.LOWER_ROMAN }, "I.": { glyphFormat: `%1.`, glyphType: M.UPPER_LETTER } }; + var vs = (e29) => [...e29, ...e29, ...e29].map((e30, t) => ({ glyphFormat: ` %${t + 1}`, glyphSymbol: e30, bulletAlignment: ar.START, textStyle: { fs: 12 }, startNumber: 0, paragraphProperties: { hanging: { v: 21 }, indentStart: { v: 21 * t } } })); + var ys = (e29) => e29.map((e30, t) => ({ ...e30, bulletAlignment: ar.START, textStyle: { fs: 12 }, startNumber: 0, paragraphProperties: { hanging: { v: 21 }, indentStart: { v: 21 * t } } })); + var bs = (e29, t) => Array(9).fill(0).map((n, r) => ({ glyphFormat: ` %${r + 1}`, glyphSymbol: e29, bulletAlignment: ar.START, textStyle: { fs: 16 }, startNumber: 0, paragraphProperties: { hanging: { v: 21 }, indentStart: { v: 21 * r }, textStyle: t } })); + var xs = { [q.BULLET_LIST]: { listType: q.BULLET_LIST, nestingLevel: vs([`\u25CF`, `\u25CB`, `\u25A0`]) }, [q.BULLET_LIST_1]: { listType: q.BULLET_LIST, nestingLevel: vs([`\u2756`, `\u27A2`, `\u25A0`]) }, [q.BULLET_LIST_2]: { listType: q.BULLET_LIST, nestingLevel: vs([`\u2714`, `\u25CF`, `\u25C6`]) }, [q.BULLET_LIST_3]: { listType: q.BULLET_LIST, nestingLevel: vs([`\u25A0`, `\u25C6`, `\u25CB`]) }, [q.BULLET_LIST_4]: { listType: q.BULLET_LIST, nestingLevel: vs([`\u2727`, `\u25CB`, `\u25A0`]) }, [q.BULLET_LIST_5]: { listType: q.BULLET_LIST, nestingLevel: vs([`\u27A2`, `\u25CB`, `\u25C6`]) }, [q.ORDER_LIST]: { listType: q.ORDER_LIST, nestingLevel: ys([{ glyphFormat: `%1.`, glyphType: M.DECIMAL }, { glyphFormat: `%2.`, glyphType: M.LOWER_LETTER }, { glyphFormat: `%3.`, glyphType: M.LOWER_ROMAN }, { glyphFormat: `%4.`, glyphType: M.DECIMAL }, { glyphFormat: `%5.`, glyphType: M.LOWER_LETTER }, { glyphFormat: `%6.`, glyphType: M.LOWER_ROMAN }, { glyphFormat: `%7.`, glyphType: M.DECIMAL }, { glyphFormat: `%8.`, glyphType: M.LOWER_LETTER }, { glyphFormat: `%9.`, glyphType: M.LOWER_ROMAN }]) }, [q.ORDER_LIST_1]: { listType: q.ORDER_LIST, nestingLevel: ys([{ glyphFormat: `%1)`, glyphType: M.DECIMAL }, { glyphFormat: `%2)`, glyphType: M.LOWER_LETTER }, { glyphFormat: `%3)`, glyphType: M.LOWER_ROMAN }, { glyphFormat: `%4)`, glyphType: M.DECIMAL }, { glyphFormat: `%5)`, glyphType: M.LOWER_LETTER }, { glyphFormat: `%6)`, glyphType: M.LOWER_ROMAN }, { glyphFormat: `%7)`, glyphType: M.DECIMAL }, { glyphFormat: `%8)`, glyphType: M.LOWER_LETTER }, { glyphFormat: `%9)`, glyphType: M.LOWER_ROMAN }]) }, [q.ORDER_LIST_2]: { listType: q.ORDER_LIST, nestingLevel: ys([`%1.`, `%1.%2.`, `%1.%2.%3.`, `%1.%2.%3.%4.`, `%1.%2.%3.%4.%5.`, `%1.%2.%3.%4.%5.%6.`, `%1.%2.%3.%4.%5.%6.%7.`].map((e29) => ({ glyphFormat: e29, glyphType: M.DECIMAL }))) }, [q.ORDER_LIST_3]: { listType: q.ORDER_LIST, nestingLevel: ys([{ glyphFormat: `%1.`, glyphType: M.UPPER_LETTER }, { glyphFormat: `%2.`, glyphType: M.LOWER_LETTER }, { glyphFormat: `%3.`, glyphType: M.LOWER_ROMAN }, { glyphFormat: `%4.`, glyphType: M.UPPER_LETTER }, { glyphFormat: `%5.`, glyphType: M.LOWER_LETTER }, { glyphFormat: `%6.`, glyphType: M.LOWER_ROMAN }, { glyphFormat: `%7.`, glyphType: M.UPPER_LETTER }, { glyphFormat: `%8.`, glyphType: M.LOWER_LETTER }, { glyphFormat: `%9.`, glyphType: M.LOWER_ROMAN }]) }, [q.ORDER_LIST_4]: { listType: q.ORDER_LIST, nestingLevel: ys([{ glyphFormat: `%1.`, glyphType: M.UPPER_LETTER }, { glyphFormat: `%2.`, glyphType: M.DECIMAL }, { glyphFormat: `%3.`, glyphType: M.LOWER_ROMAN }, { glyphFormat: `%4.`, glyphType: M.UPPER_LETTER }, { glyphFormat: `%5.`, glyphType: M.DECIMAL }, { glyphFormat: `%6.`, glyphType: M.LOWER_ROMAN }, { glyphFormat: `%7.`, glyphType: M.UPPER_LETTER }, { glyphFormat: `%8.`, glyphType: M.DECIMAL }, { glyphFormat: `%9.`, glyphType: M.LOWER_ROMAN }]) }, [q.ORDER_LIST_5]: { listType: q.ORDER_LIST, nestingLevel: ys([{ glyphFormat: `%1.`, glyphType: M.DECIMAL_ZERO }, { glyphFormat: `%2.`, glyphType: M.LOWER_LETTER }, { glyphFormat: `%3.`, glyphType: M.LOWER_ROMAN }, { glyphFormat: `%4.`, glyphType: M.DECIMAL_ZERO }, { glyphFormat: `%5.`, glyphType: M.LOWER_LETTER }, { glyphFormat: `%6.`, glyphType: M.LOWER_ROMAN }, { glyphFormat: `%7.`, glyphType: M.DECIMAL_ZERO }, { glyphFormat: `%8.`, glyphType: M.LOWER_LETTER }, { glyphFormat: `%9.`, glyphType: M.LOWER_ROMAN }]) }, [q.CHECK_LIST]: { listType: q.CHECK_LIST, nestingLevel: bs(`\u2610`) }, [q.CHECK_LIST_CHECKED]: { listType: q.CHECK_LIST_CHECKED, nestingLevel: bs(`\u2611`, { st: { s: A.TRUE } }) } }; + var Ss = (e29) => { + let { glyphFormat: t, glyphType: n } = e29, r = D.deepClone(xs[q.ORDER_LIST]); + return r.nestingLevel[0].glyphFormat = t, r.nestingLevel[0].glyphType = n, r; + }; + var Cs = { [q.ORDER_LIST_QUICK_2]: Ss(_s[K.ORDER_LIST_QUICK_2]), [q.ORDER_LIST_QUICK_3]: Ss(_s[K.ORDER_LIST_QUICK_3]), [q.ORDER_LIST_QUICK_4]: Ss(_s[K.ORDER_LIST_QUICK_4]), [q.ORDER_LIST_QUICK_6]: Ss(_s[K.ORDER_LIST_QUICK_6]) }; + Object.assign(xs, Cs); + var ws = { [K.ORDER_LIST_QUICK_1]: q.ORDER_LIST, [K.ORDER_LIST_QUICK_2]: q.ORDER_LIST_QUICK_2, [K.ORDER_LIST_QUICK_3]: q.ORDER_LIST_QUICK_3, [K.ORDER_LIST_QUICK_4]: q.ORDER_LIST_QUICK_4, [K.ORDER_LIST_QUICK_5]: q.ORDER_LIST_3, [K.ORDER_LIST_QUICK_6]: q.ORDER_LIST_QUICK_6, [K.ORDER_LIST_QUICK_7]: q.ORDER_LIST_5, [K.BULLET_LIST]: q.BULLET_LIST }; + function Ts(e29, t, n, r, i) { + return { dataStream: ``, textRuns: Es(e29, t, n, r, i), paragraphs: Os(e29, t, n, r, i), sectionBreaks: ks(e29, t, n, r, i), customBlocks: As(e29, t, n, r, i), tables: js(e29, t, n, r, i), customRanges: Ms(e29, t, n, r, i), customDecorations: Ns(e29, t, n, r, i) }; + } + function Es(e29, t, n, r, i) { + let { textRuns: a } = e29, { textRuns: o } = t; + if (a == null || o == null) return; + let s = us(e29, n, r); + return i !== F.REPLACE && (t.textRuns = Ds(o, s, i)), Qo(e29, t, n, r), s; + } + function Ds(e29, t, n) { + if (t.length === 0) return e29; + e29 = D.deepClone(e29), t = D.deepClone(t); + let r = [], i = e29.length, a = t.length, o = 0, s = 0, c = null; + function l() { + return c ? (r.push(c), c = null, true) : false; + } + for (; o < i && s < a; ) { + let { st: i2, ed: a2, ts: u2 } = e29[o], { st: d2, ed: f2, ts: p, sId: m } = t[s], h; + if (h = n === F.COVER ? { ...p, ...u2 } : { ...u2 }, a2 < d2) l() || r.push(e29[o]), o++; + else if (f2 < i2) l() || r.push(t[s]), s++; + else { + let n2 = { st: Math.min(i2, d2), ed: Math.max(i2, d2), ts: i2 < d2 ? { ...u2 } : { ...p }, sId: i2 < d2 ? void 0 : m }; + n2.ed > n2.st && r.push(n2), r.push({ st: Math.max(i2, d2), ed: Math.min(a2, f2), ts: h, sId: m }), a2 < f2 ? (o++, t[s].st = a2, t[s].st === t[s].ed && s++) : (s++, e29[o].st = f2, e29[o].st === e29[o].ed && o++); + let l2 = { st: Math.min(a2, f2), ed: Math.max(a2, f2), ts: a2 < f2 ? { ...p } : { ...u2 }, sId: a2 < f2 ? m : void 0 }; + c = l2.ed > l2.st ? l2 : null; + } + } + l(); + let u = r[r.length - 1], d = e29[i - 1], f = t[a - 1]; + return u && u.ed !== Math.max(d.ed, f.ed) && (d.ed > f.ed ? r.push(d) : r.push(f)), Zo(r); + } + function Os(e29, t, n, r, i) { + let { paragraphs: a } = e29, { paragraphs: o } = t; + if (a == null || o == null) return; + let s = ds(e29, n, r); + if (i !== F.REPLACE) { + let e30 = []; + for (let t2 of o) { + let { startIndex: n2, paragraphStyle: r2, bullet: a2 } = t2, o2 = []; + for (let e31 of s) { + let { startIndex: t3, paragraphStyle: s2, bullet: c } = e31, l, u; + if (i === F.COVER ? (l = { ...s2, ...r2 }, u = { listId: ``, listType: q.BULLET_LIST, nestingLevel: 0, textStyle: {}, ...c, ...a2 }) : (l = { ...r2, ...s2 }, u = { listId: ``, listType: q.BULLET_LIST, nestingLevel: 0, textStyle: {}, ...a2, ...c }), n2 === t3) { + o2.push({ startIndex: n2, paragraphStyle: l, bullet: u }); + break; + } + } + e30.push(...o2), o2 = []; + } + t.paragraphs = e30; + } + return $o(e29, t, n, r), s; + } + function ks(e29, t, n, r, i) { + let { sectionBreaks: a } = e29, { sectionBreaks: o } = t; + if (a == null || o == null) return; + let s = fs(e29, n, r); + if (i !== F.REPLACE) { + let e30 = []; + for (let t2 of o) { + let { startIndex: n2 } = t2, r2 = []; + for (let e31 of s) { + let { startIndex: a2 } = e31; + if (n2 === a2) { + i === F.COVER ? r2.push({ ...e31, ...t2 }) : r2.push({ ...t2, ...e31 }); + break; + } + } + e30.push(...r2), r2 = []; + } + t.sectionBreaks = e30; + } + return es(e29, t, n, r), s; + } + function As(e29, t, n, r, i) { + let { customBlocks: a = [] } = e29, { customBlocks: o } = t; + if (a == null || o == null) return; + let s = ps(e29, n, r); + if (i !== F.REPLACE) { + let e30 = []; + for (let t2 of o) { + let { startIndex: n2 } = t2, r2 = []; + for (let e31 of s) { + let { startIndex: a2 } = e31; + if (n2 === a2) { + i === F.COVER ? r2.push({ ...e31, ...t2 }) : r2.push({ ...t2, ...e31 }); + break; + } + } + e30.push(...r2), r2 = []; + } + t.customBlocks = e30; + } + return ts(e29, t, n, r), a.length && !e29.customBlocks && (e29.customBlocks = a), s; + } + function js(e29, t, n, r, i) { + let { tables: a } = e29, { tables: o } = t; + if (a == null || o == null) return; + let s = ms(e29, n, r); + if (i !== F.REPLACE) { + let e30 = []; + for (let t2 of o) { + let { startIndex: n2, endIndex: r2 } = t2, a2 = []; + for (let e31 of s) { + let { startIndex: o2, endIndex: s2 } = e31; + if (o2 >= n2 && s2 <= r2) { + i === F.COVER ? a2.push({ ...e31, ...t2 }) : a2.push({ ...t2, ...e31 }); + break; + } + } + e30.push(...a2), a2 = []; + } + t.tables = e30; + } + return ns(e29, t, n, r), s; + } + function Ms(e29, t, n, r, i) { + e29.customRanges || (e29.customRanges = []), as(e29.customRanges, r), as(e29.customRanges, r + n); + let a = r, o = r + n - 1, { customRanges: s } = t, c = [], l = /* @__PURE__ */ new Map(); + return e29.customRanges.forEach((e30) => { + let { startIndex: t2, endIndex: n2 } = e30; + t2 >= a && n2 <= o ? l.set(e30.rangeId, e30) : c.push(e30); + }), s ? (s.forEach((e30) => { + let { startIndex: t2, endIndex: n2 } = e30; + c.push({ ...e30, startIndex: t2 + r, endIndex: n2 + r }); + }), e29.customRanges = is(c), []) : []; + } + function Ns(e29, t, n, r, i) { + e29.customDecorations || (e29.customDecorations = []), ss(e29.customDecorations, r), ss(e29.customDecorations, r + n); + let a = [], { customDecorations: o } = e29, { customDecorations: s = [] } = t; + if (i === F.REPLACE) { + for (let e30 = 0; e30 < o.length; e30++) { + let t2 = o[e30], { startIndex: i2, endIndex: s2 } = t2; + i2 >= r && s2 <= r + n - 1 && a.push(t2); + } + s.forEach((e30) => { + let { startIndex: t2, endIndex: n2 } = e30; + o.push({ ...e30, startIndex: t2 + r, endIndex: n2 + r }); + }); + } else for (let e30 of s) { + let { id: t2 } = e30; + if (e30.type === sr.DELETED) { + let e31 = o.filter((e32) => e32.id === t2); + e31.length && a.push(...e31); + } else o.push({ ...e30, startIndex: e30.startIndex + r, endIndex: e30.endIndex + r }); + } + for (let e30 of a) { + let { id: t2 } = e30, n2 = o.findIndex((e31) => e31.id === t2); + n2 !== -1 && o.splice(n2, 1); + } + return e29.customDecorations = os(o), a; + } + var Ps = (function(e29) { + return e29[e29.copy = 0] = `copy`, e29[e29.cut = 1] = `cut`, e29; + })({}); + function Fs(e29, t, n, r = true) { + let { textRuns: i } = e29; + if (i) { + let e30 = []; + for (let r2 of i) { + let i2 = D.deepClone(r2), { st: a, ed: o } = i2; + D.hasIntersectionBetweenTwoRanges(a, o, t, n) && (t >= a && t <= o ? e30.push({ ...i2, st: t, ed: Math.min(n, o) }) : n >= a && n <= o ? e30.push({ ...i2, st: Math.max(t, a), ed: n }) : e30.push(i2)); + } + return Zo(e30.map((e31) => { + let { st: n2, ed: r2 } = e31; + return { ...e31, st: n2 - t, ed: r2 - t }; + })); + } else if (r) return [{ st: 0, ed: n - t, ts: {} }]; + } + function Is(e29, t, n) { + let { tables: r = [] } = e29, i = []; + for (let e30 of r) { + let r2 = D.deepClone(e30), { startIndex: a, endIndex: o } = r2; + a >= t && o <= n && i.push({ ...r2, startIndex: a - t, endIndex: o - t }); + } + return i; + } + function Ls(e29, t, n) { + let { paragraphs: r = [] } = e29, i = []; + for (let e30 of r) { + let { startIndex: r2 } = e30; + if (r2 >= t && r2 < n) { + let t2 = D.deepClone(e30); + i.push(t2); + } + } + if (i.length) return i.map((e30) => ({ ...e30, startIndex: e30.startIndex - t })); + } + function zs(e29, t, n) { + let { customBlocks: r = [] } = e29, i = []; + for (let e30 of r) { + let { startIndex: r2 } = e30; + r2 >= t && r2 < n && i.push(D.deepClone(e30)); + } + if (i.length) return i.map((e30) => ({ ...e30, startIndex: e30.startIndex - t })); + } + function Bs(e29, t, n, r = true, i = Ps.cut) { + let { dataStream: a } = e29, o = { dataStream: a.slice(t, n) }; + o.textRuns = Fs(e29, t, n, r); + let s = Is(e29, t, n); + if (s.length && (o.tables = s), o.paragraphs = Ls(e29, t, n), i === Ps.cut) { + let i2 = Us(e29, t, n); + i2 ? o.customDecorations = i2 : r && (o.customDecorations = []); + } + let { customRanges: c } = Hs(e29, t, n); + return c ? o.customRanges = c : r && (o.customRanges = []), o.customBlocks = zs(e29, t, n), o; + } + function Hs(e29, t, n) { + if (e29.customRanges == null) return {}; + let { customRanges: r } = e29; + return { customRanges: r.filter((e30) => Math.max(e30.startIndex, t) <= Math.min(e30.endIndex, n - 1)).map((e30) => ({ ...e30, startIndex: Math.max(e30.startIndex, t), endIndex: Math.min(e30.endIndex, n - 1) })).map((e30) => ({ ...e30, startIndex: e30.startIndex - t, endIndex: e30.endIndex - t })), leftOffset: 0, rightOffset: 0 }; + } + function Us(e29, t, n) { + if (e29.customDecorations == null) return; + let { customDecorations: r = [] } = e29, i = []; + return r.forEach((e30) => { + if (Math.max(e30.startIndex, t) <= Math.min(e30.endIndex, n - 1)) { + let r2 = D.deepClone(e30); + i.push({ ...r2, startIndex: Math.max(r2.startIndex - t, 0), endIndex: Math.min(r2.endIndex, n - 1) - t }); + } + }), i; + } + function Ws(e29, t, n) { + return e29 == null || t == null ? e29 == null ? t : e29 : Ds(e29, t, n); + } + function Gs(e29, t, n) { + if (e29 == null || t == null) return e29 == null ? t : e29; + if (t.length === 0 || e29.length === 0) return e29; + if (t.length > 1 || e29.length > 1) throw Error(`Cannot cover multiple customRanges`); + return n === F.REPLACE ? [{ ...e29[0] }] : [{ ...t[0], ...e29[0] }]; + } + function Ks(e29, t, n) { + return t.length === 0 || e29.length === 0 || n === F.REPLACE ? e29 : [...e29, ...t.filter((t2) => !e29.some((e30) => t2.id === e30.id))]; + } + function qs(e29, t, n = F.COVER) { + if (t.dataStream !== ``) throw Error(`Cannot compose other body with non-empty dataStream`); + let r = { dataStream: e29.dataStream }, { textRuns: i, paragraphs: a = [], customRanges: o, customDecorations: s = [] } = e29, { textRuns: c, paragraphs: l = [], customRanges: u, customDecorations: d = [] } = t; + r.textRuns = Ws(c, i, n), r.customRanges = Gs(u, o, n); + let f = Ks(d, s, n); + f.length && (r.customDecorations = f); + let p = [], m = 0, h = 0; + for (; m < a.length && h < l.length; ) { + let e30 = a[m], t2 = l[h], { startIndex: n2 } = e30, { startIndex: r2 } = t2; + n2 === r2 ? (p.push(D.deepMerge(e30, t2)), m++, h++) : n2 < r2 ? (p.push(D.deepClone(e30)), m++) : (p.push(D.deepClone(t2)), h++); + } + return m < a.length && p.push(...a.slice(m)), h < l.length && p.push(...l.slice(h)), p.length && (r.paragraphs = p), r; + } + function Js(e29) { + let { body: t } = e29; + if (t == null) return true; + let { textRuns: n, paragraphs: r, customRanges: i, customBlocks: a, customDecorations: o, tables: s } = t; + return n == null && r == null && i == null && a == null && o == null && s == null; + } + var Ys = class { + constructor(e29) { + this._actions = e29, C(this, `_index`, 0), C(this, `_offset`, 0); + } + hasNext() { + return this.peekLength() < 1 / 0; + } + next(e29) { + e29 || (e29 = 1 / 0); + let t = this._actions[this._index]; + if (t) { + let n = this._offset, r = t.len; + return e29 >= r - n ? (e29 = r - n, this._index += 1, this._offset = 0) : this._offset += e29, t.t === I.DELETE || t.t === I.RETAIN && t.body == null ? D.deepClone({ ...t, len: e29 }) : D.deepClone({ ...t, len: e29, body: Bs(t.body, n, n + e29, false) }); + } else return { t: I.RETAIN, len: 1 / 0 }; + } + peek() { + return this._actions[this._index]; + } + peekLength() { + return this._actions[this._index] ? this._actions[this._index].len - this._offset : 1 / 0; + } + peekType() { + let e29 = this._actions[this._index]; + return e29 ? e29.t : I.RETAIN; + } + rest() { + if (!this.hasNext()) return []; + if (this._offset === 0) return this._actions.slice(this._index); + { + let e29 = this._offset, t = this._index, n = this.next(), r = this._actions.slice(this._index); + return this._offset = e29, this._index = t, [n].concat(r); + } + } + }; + function Xs(e29, t, n) { + let { dataStream: r } = e29, i = n, a = n + t, o = us(e29, t, n), s = ds(e29, t, n), c = fs(e29, t, n), l = ps(e29, t, n), u = ms(e29, t, n), d = hs(e29, t, n), f = gs(e29, t, n), p = ``; + return r && (e29.dataStream = qa(r, i, a), p = r.slice(i, a)), { dataStream: p, textRuns: o, paragraphs: s, sectionBreaks: c, customBlocks: l, tables: u, customRanges: d, customDecorations: f }; + } + function Zs(e29, t, n, r) { + e29.dataStream = Ka(e29.dataStream, r, t.dataStream), Qo(e29, t, n, r), $o(e29, t, n, r), es(e29, t, n, r), ts(e29, t, n, r), ns(e29, t, n, r), cs(e29, t, n, r), ls(e29, t, n, r); + } + function Qs(e29, t, n, r, i = F.COVER) { + return Ts(e29, t, n, r, i); + } + function $s(e29, t, n) { + return t <= 0 ? { dataStream: `` } : Xs(e29, t, n); + } + function ec(e29, t, n, r) { + n !== 0 && Zs(e29, t, n, r); + } + function tc(e29, t) { + let n = new Zt(); + return n.reset(), t.forEach((t2) => { + let r = D.deepClone(t2); + switch (r.t) { + case I.RETAIN: { + let { coverType: t3, body: i, len: a } = r; + i != null && Qs(e29, i, a, n.cursor, t3), n.moveCursor(a); + break; + } + case I.INSERT: { + let { body: t3, len: i } = r; + ec(e29, t3, i, n.cursor), n.moveCursor(i); + break; + } + case I.DELETE: { + let { len: t3 } = r; + $s(e29, t3, n.cursor); + break; + } + default: + throw Error(`Unknown action type for action: ${r}.`); + } + }), e29; + } + var J = (function(e29) { + return e29[e29.COVER = 0] = `COVER`, e29[e29.COVER_ONLY_NOT_EXISTED = 1] = `COVER_ONLY_NOT_EXISTED`, e29; + })(J || {}); + function nc(e29, t, n, r, i) { + if (e29 == null || t == null) return t; + if (e29.length === 0 || t.length === 0) return []; + t = D.deepClone(t), e29 = D.deepClone(e29); + let a = [], o = t.length, s = e29.length, c = 0, l = 0, u = null; + function d() { + return u ? (a.push(u), u = null, true) : false; + } + for (; c < o && l < s; ) { + let { st: o2, ed: s2, ts: f2 } = t[c], { st: p2, ed: m2, ts: h, sId: g2 } = e29[l], _2 = {}; + if (i === J.COVER) _2 = { ...f2 }, n === F.COVER && r === F.REPLACE && h && (_2 = Object.assign({}, h, _2)); + else if (_2 = { ...f2 }, n === F.REPLACE) { + if (r === F.REPLACE) _2 = { ...h }; + else if (f2 && h) { + let e30 = Object.keys(f2); + for (let t2 of e30) h[t2] && delete _2[t2]; + } + } else if (r === F.REPLACE) { + if (h) { + let e30 = Object.keys(h); + for (let t2 of e30) h[t2] !== void 0 && (_2[t2] = h[t2]); + } + } else if (h) { + let e30 = Object.keys(h); + for (let t2 of e30) _2[t2] !== void 0 && delete _2[t2]; + } + if (s2 < p2) d() || a.push(t[c]), c++; + else if (m2 < o2) d() || a.push(e29[l]), l++; + else { + let n2 = { st: Math.min(o2, p2), ed: Math.max(o2, p2), ts: o2 < p2 ? { ...f2 } : { ...h }, sId: o2 < p2 ? void 0 : g2 }; + n2.ed > n2.st && a.push(), a.push({ st: Math.max(o2, p2), ed: Math.min(s2, m2), ts: _2, sId: g2 }), s2 < m2 ? (c++, e29[l].st = s2, e29[l].st === e29[l].ed && l++) : (l++, t[c].st = m2, t[c].st === t[c].ed && c++); + let r2 = { st: Math.min(s2, m2), ed: Math.max(s2, m2), ts: s2 < m2 ? { ...h } : { ...f2 }, sId: s2 < m2 ? g2 : void 0 }; + u = r2.ed > r2.st ? r2 : null; + } + } + d(); + let f = a[a.length - 1], p = t[o - 1], m = e29[s - 1]; + return f.ed !== Math.max(p.ed, m.ed) && (p.ed > m.ed ? a.push(p) : a.push(m)), Zo(a, true); + } + function rc(e29, t, n, r, i) { + if (e29 == null || t == null) return t; + if (e29.length === 0 || t.length === 0) return []; + if (e29.length > 1 || t.length > 1) throw Error(`CustomRanges is only supported transform for length one now.`); + let a = e29[0], o = t[0]; + if (n === F.REPLACE) return i === J.COVER_ONLY_NOT_EXISTED ? [D.deepClone(a)] : [D.deepClone(o)]; + if (r === F.REPLACE) { + let e30 = D.deepClone(o); + return i === J.COVER_ONLY_NOT_EXISTED && Object.assign(e30, D.deepClone(a)), [e30]; + } else { + let e30 = D.deepClone(o); + return i === J.COVER_ONLY_NOT_EXISTED && Object.assign(e30, D.deepClone(a)), [e30]; + } + } + function ic(e29, t, n, r, i) { + let a = { startIndex: t.startIndex }; + if (t.paragraphStyle && (a.paragraphStyle = D.deepClone(t.paragraphStyle), e29.paragraphStyle)) { + if (n === F.REPLACE) if (r === F.REPLACE) i === J.COVER_ONLY_NOT_EXISTED && (a.paragraphStyle = { ...e29.paragraphStyle }); + else if (i === J.COVER_ONLY_NOT_EXISTED) { + let t2 = Object.keys(e29.paragraphStyle); + for (let n2 of t2) e29.paragraphStyle[n2] !== void 0 && (a.paragraphStyle[n2] = e29.paragraphStyle[n2]); + } else { + let t2 = Object.keys(e29.paragraphStyle); + for (let n2 of t2) a.paragraphStyle[n2] === void 0 && (a.paragraphStyle[n2] = e29.paragraphStyle[n2]); + } + else if (r === F.REPLACE) if (i === J.COVER_ONLY_NOT_EXISTED) { + let t2 = Object.keys(e29.paragraphStyle); + for (let n2 of t2) e29.paragraphStyle[n2] !== void 0 && (a.paragraphStyle[n2] = e29.paragraphStyle[n2]); + } else { + let t2 = Object.keys(e29.paragraphStyle); + for (let n2 of t2) a.paragraphStyle[n2] === void 0 && (a.paragraphStyle[n2] = e29.paragraphStyle[n2]); + } + else if (i === J.COVER_ONLY_NOT_EXISTED) { + let t2 = Object.keys(e29.paragraphStyle); + for (let e30 of t2) a.paragraphStyle[e30] && delete a.paragraphStyle[e30]; + } + } + return n === F.REPLACE && r === F.REPLACE ? a.bullet = i === J.COVER_ONLY_NOT_EXISTED ? D.deepClone(e29.bullet) : D.deepClone(t.bullet) : e29.bullet === void 0 ? a.bullet = D.deepClone(t.bullet) : n === F.REPLACE || r === F.REPLACE ? a.bullet = i === J.COVER && t.bullet ? D.deepClone(t.bullet) : D.deepClone(e29.bullet) : i === J.COVER && t.bullet !== void 0 && (a.bullet = D.deepClone(t.bullet)), a; + } + function ac(e29, t) { + if (e29 == null || t == null) return t; + if (e29.length === 0 || t.length === 0) return D.deepClone(t); + let n = []; + for (let r of t) { + let { id: t2, type: i } = r, a = false; + for (let o of e29) if (o.id === t2) { + (o.type === sr.DELETED || i === sr.DELETED) && (a = true, n.push({ ...r, type: sr.DELETED })); + break; + } + a || n.push(r); + } + return n; + } + function oc(e29, t, n = false) { + let { body: r, coverType: i = F.COVER } = e29, { body: a, coverType: o = F.COVER } = t; + if (r == null || r.dataStream !== `` || a == null || a.dataStream !== ``) throw Error(`Data stream is not supported in retain transform.`); + let s = { dataStream: `` }, c = o, { textRuns: l, paragraphs: u = [], customRanges: d, customDecorations: f } = r, { textRuns: p, paragraphs: m = [], customRanges: h, customDecorations: g2 } = a, _2 = nc(l, p, i, o, n ? J.COVER_ONLY_NOT_EXISTED : J.COVER); + _2 && (s.textRuns = _2); + let ee = rc(d, h, i, o, n ? J.COVER_ONLY_NOT_EXISTED : J.COVER); + ee && (s.customRanges = ee); + let te = ac(f, g2); + te && (s.customDecorations = te); + let ne = [], re = 0, ie = 0; + for (; re < u.length && ie < m.length; ) { + let e30 = u[re], t2 = m[ie], { startIndex: r2 } = e30, { startIndex: a2 } = t2; + if (r2 === a2) { + let a3 = { startIndex: r2 }; + a3 = n ? ic(e30, t2, i, o, J.COVER_ONLY_NOT_EXISTED) : ic(e30, t2, i, o, J.COVER), ne.push(a3), re++, ie++; + } else r2 < a2 ? re++ : (ne.push(D.deepClone(t2)), ie++); + } + return ie < m.length && ne.push(...m.slice(ie)), ne.length && (s.paragraphs = ne), { coverType: c, body: s }; + } + function sc(e29) { + return Object.keys(e29).length === 1; + } + var Y = class e7 { + constructor() { + C(this, `_actions`, []); + } + static apply(e29, t) { + return tc(e29, t); + } + static compose(t, n) { + let r = new Ys(t), i = new Ys(n), a = new e7(); + for (; r.hasNext() || i.hasNext(); ) if (i.peekType() === I.INSERT) a.push(i.next()); + else if (r.peekType() === I.DELETE) a.push(r.next()); + else { + let e29 = Math.min(r.peekLength(), i.peekLength()), t2 = r.next(e29), n2 = i.next(e29); + if (t2.t === I.INSERT && n2.t === I.RETAIN) n2.body == null ? a.push(t2) : a.push({ ...t2, body: qs(t2.body, n2.body, n2.coverType) }); + else if (t2.t === I.RETAIN && n2.t === I.RETAIN) if (t2.body == null && n2.body == null) a.push(t2.len === 1 / 0 ? n2 : t2); + else if (t2.body && n2.body) { + let e30 = t2.coverType === F.REPLACE || n2.coverType === F.REPLACE ? F.REPLACE : F.COVER; + a.push({ ...t2, t: I.RETAIN, coverType: e30, body: qs(t2.body, n2.body, n2.coverType) }); + } else a.push(t2.body ? t2 : n2); + else t2.t === I.RETAIN && n2.t === I.DELETE ? a.push(n2) : t2.t === I.INSERT && (n2.t, I.DELETE); + } + return a.trimEndUselessRetainAction(), a.serialize(); + } + static transform(e29, t, n = `right`) { + return this._transform(t, e29, n === `left` ? `right` : `left`); + } + static _transform(t, n, r = `right`) { + let i = new Ys(t), a = new Ys(n), o = new e7(); + for (; i.hasNext() || a.hasNext(); ) if (i.peekType() === I.INSERT && (r === `left` || a.peekType() !== I.INSERT)) { + let e29 = i.next(); + o.retain(e29.len); + } else if (a.peekType() === I.INSERT) o.push(a.next()); + else { + let e29 = Math.min(i.peekLength(), a.peekLength()), t2 = i.next(e29), n2 = a.next(e29); + if (t2.t === I.DELETE) continue; + if (n2.t === I.DELETE) { + o.push(n2); + continue; + } + if (t2.body == null || n2.body == null) o.push(n2); + else { + let { coverType: e30, body: i2 } = oc(t2, n2, r === `left`); + o.push({ ...n2, t: I.RETAIN, coverType: e30, body: i2 }); + } + } + return o.trimEndUselessRetainAction(), o.serialize(); + } + static transformPosition(e29, t, n = false) { + let r = new Ys(e29), i = 0; + for (; r.hasNext() && i <= t; ) { + let e30 = r.peekLength(), a = r.peekType(); + if (r.next(), a === I.DELETE) { + t -= Math.min(e30, t - i); + continue; + } else a === I.INSERT && (i < t || !n) && (t += e30); + i += e30; + } + return t; + } + static isNoop(e29) { + return e29.length === 0; + } + static invert(e29) { + let t = []; + for (let n of e29) if (n.t === I.INSERT) t.push({ t: I.DELETE, len: n.len, body: n.body }); + else if (n.t === I.DELETE) { + if (n.body == null) throw Error(`Can not invert DELETE action without body property, makeInvertible must be called first.`); + t.push({ t: I.INSERT, body: n.body, len: n.len }); + } else if (n.body != null) { + if (n.oldBody == null) throw Error(`Can not invert RETAIN action without oldBody property, makeInvertible must be called first.`); + t.push({ t: I.RETAIN, body: n.oldBody, oldBody: n.body, len: n.len, coverType: F.REPLACE }); + } else t.push(n); + return t; + } + static makeInvertible(e29, t) { + let n = [], r = 0; + for (let i of e29) { + if (i.t === I.DELETE && (i.body == null || i.body && i.body.dataStream.length !== i.len)) { + let e30 = Bs(t, r, r + i.len, false); + i.len = e30.dataStream.length, i.body = e30; + } + if (i.t === I.RETAIN && i.body != null) { + let e30 = Bs(t, r, r + i.len, true); + i.oldBody = { ...e30, dataStream: `` }, i.len = e30.dataStream.length; + } + n.push(i), i.t !== I.INSERT && (r += i.len); + } + return n; + } + insert(e29, t) { + let n = { t: I.INSERT, body: t, len: e29 }; + return this.push(n), this; + } + retain(e29, t, n) { + let r = { t: I.RETAIN, len: e29 }; + return t != null && (r.body = t), n != null && (r.coverType = n), this.push(r), this; + } + delete(e29) { + let t = { t: I.DELETE, len: e29 }; + return this.push(t), this; + } + empty() { + return this._actions = [], this; + } + serialize() { + return this._actions; + } + push(...e29) { + if (e29.length > 1) { + for (let t2 of e29) this.push(t2); + return this; + } + let t = this._actions.length, n = this._actions[t - 1], r = D.deepClone(e29[0]); + if (r.t === I.RETAIN && r.len === 0 && r.body == null) return this; + if (typeof n == `object`) { + if (n.t === I.DELETE && r.t === I.DELETE) return n.len += r.len, this; + if (n.t === I.DELETE && r.t === I.INSERT && (--t, n = this._actions[t - 1], n == null)) return this._actions.unshift(r), this; + if (n.t === I.RETAIN && r.t === I.RETAIN && n.body == null && r.body == null) return n.len += r.len, this; + if (n.t === I.INSERT && sc(n.body) && r.t === I.INSERT && sc(r.body)) return n.len += r.len, n.body.dataStream += r.body.dataStream, this; + } + return t === this._actions.length ? this._actions.push(r) : this._actions.splice(t, 0, r), this; + } + trimEndUselessRetainAction() { + let e29 = this._actions[this._actions.length - 1]; + for (; e29 && e29.t === I.RETAIN && Js(e29); ) this._actions.pop(), e29 = this._actions[this._actions.length - 1]; + return this; + } + }; + C(Y, `id`, `text-x`), C(Y, `uri`, `https://github.com/dream-num/univer#text-x`), Object.defineProperty(Y, `name`, { value: `text-x` }); + var cc = class e8 { + static registerSubtype(e29) { + var t; + e29 == null || this._subTypes.has(e29.name) && ((t = this._subTypes.get(e29.name)) == null ? void 0 : t.id) !== Y.id || (this._subTypes.set(e29.name, e29), S2.type.registerSubtype(e29)); + } + static apply(e29, t) { + if (!S2.type.isNoop(t)) return S2.type.apply(e29, t); + } + static compose(e29, t) { + return S2.type.compose(e29, t); + } + static transform(e29, t, n) { + return S2.type.transform(e29, t, n); + } + static transformPosition(e29, t, n = `right`) { + return e29 && e29.length === 2 && e29[0] === `body` && e29[1].et === Y.name ? Y.transformPosition(e29[1].e, t, n === `left`) : t; + } + static invertWithDoc(e29, t) { + return S2.type.invertWithDoc(e29, t); + } + static isNoop(e29) { + return S2.type.isNoop(e29); + } + static getInstance() { + return this._instance == null && (this._instance = new e8()), this._instance; + } + removeOp(e29, t) { + return S2.removeOp(e29, t); + } + moveOp(e29, t) { + return S2.moveOp(e29, t); + } + insertOp(e29, t) { + return S2.insertOp(e29, t); + } + replaceOp(e29, t, n) { + return S2.replaceOp(e29, t, n); + } + editOp(e29, t = [`body`]) { + return S2.editOp(t, Y.name, e29); + } + }; + C(cc, `uri`, `https://github.com/dream-num/univer#json-x`), C(cc, `_subTypes`, /* @__PURE__ */ new Map()), C(cc, `_instance`, null), cc.registerSubtype(Y); + var lc = (function(e29) { + return e29.PARAGRAPH = `PARAGRAPH`, e29.SECTION_BREAK = `SECTION_BREAK`, e29.TABLE = `TABLE`, e29.TABLE_ROW = `TABLE_ROW`, e29.TABLE_CELL = `TABLE_CELL`, e29.CUSTOM_BLOCK = `CUSTOM_BLOCK`, e29; + })({}); + var X = (function(e29) { + return e29.PARAGRAPH = `\r`, e29.SECTION_BREAK = ` +`, e29.TABLE_START = ``, e29.TABLE_ROW_START = `\x1B`, e29.TABLE_CELL_START = ``, e29.TABLE_CELL_END = ``, e29.TABLE_ROW_END = ``, e29.TABLE_END = ``, e29.CUSTOM_RANGE_START = ``, e29.CUSTOM_RANGE_END = ``, e29.COLUMN_BREAK = `\v`, e29.PAGE_BREAK = `\f`, e29.DOCS_END = `\0`, e29.TAB = ` `, e29.CUSTOM_BLOCK = `\b`, e29.LETTER = ``, e29.SPACE = ` `, e29; + })({}); + var dc = [X.TABLE_START, X.TABLE_ROW_START, X.TABLE_CELL_START, X.TABLE_CELL_END, X.TABLE_ROW_END, X.TABLE_END]; + var fc = (e29) => { + let t = e29.endsWith(`\r +`) ? e29.slice(0, -2) : e29; + return dc.reduce((e30, t2) => e30.replaceAll(t2, ``), t); + }; + var pc = (e29) => e29 ? fc(e29).replaceAll(`\r`, ``) === `` : true; + var mc = (e29) => { + let t = e29.replace(/\n/g, `\r`), n = [], r = [], i = 0, a = ``, o = (o2, s2 = true) => { + let c = t.slice(i, o2); + if (D.isLegalUrl(c)) { + let t2 = O2(), l = `${c}`, u = { startIndex: i, endIndex: i + l.length - 1, rangeId: t2, rangeType: or.HYPERLINK, properties: { url: e29 } }; + r.push(u), a += l, i = o2 + 1, s2 && (a += `\r`, n.push({ startIndex: o2 })); + } else a += t.slice(i, o2 + 1), i = o2 + 1, s2 && n.push({ startIndex: o2 }); + }, s = 0; + for (let e30 = 0; e30 < t.length; e30++) t[e30] === `\r` && (o(e30), s = e30); + return (s !== t.length - 1 || t.length === 1) && o(t.length, false), { dataStream: a, paragraphs: n, customRanges: r }; + }; + var hc = { id: `default_doc`, documentStyle: {} }; + var gc = class extends pn { + getUnitId() { + throw Error(`Method not implemented.`); + } + constructor(e29) { + var t; + super(), C(this, `type`, O.UNIVER_DOC), C(this, `_name$`, new BehaviorSubject(``)), C(this, `name$`, this._name$.asObservable()), C(this, `snapshot`, void 0), this.snapshot = { ...hc, ...e29 }, this._name$.next((t = this.snapshot.title) == null ? `No Title` : t); + } + getRev() { + var e29; + return (e29 = this.snapshot.rev) == null ? 1 : e29; + } + incrementRev() { + this.snapshot.rev = this.getRev() + 1; + } + setRev(e29) { + this.snapshot.rev = e29; + } + setName(e29) { + this.snapshot.title = e29, this._name$.next(e29); + } + get drawings() { + return this.snapshot.drawings; + } + get documentStyle() { + return this.snapshot.documentStyle; + } + get lists() { + return this.snapshot.lists; + } + get zoomRatio() { + var e29; + return ((e29 = this.snapshot.settings) == null ? void 0 : e29.zoomRatio) || 1; + } + resetDrawing(e29, t) { + this.snapshot.drawings = e29, this.snapshot.drawingsOrder = t; + } + getBody() { + return this.snapshot.body; + } + getSnapshot() { + return this.snapshot; + } + getBulletPresetList() { + var e29; + let t = (e29 = this.snapshot.lists) == null ? {} : e29; + return { ...xs, ...t }; + } + updateDocumentId(e29) { + this.snapshot.id = e29; + } + updateDocumentRenderConfig(e29) { + let { documentStyle: t } = this.snapshot; + t.renderConfig == null ? t.renderConfig = e29 : t.renderConfig = { ...t.renderConfig, ...e29 }; + } + getDocumentStyle() { + return this.snapshot.documentStyle; + } + updateDocumentStyle(e29) { + this.snapshot.documentStyle == null ? this.snapshot.documentStyle = e29 : this.snapshot.documentStyle = { ...this.snapshot.documentStyle, ...e29 }; + } + updateDocumentDataMargin(e29) { + let { t, l: n, b: r, r: i } = e29, { documentStyle: a } = this.snapshot; + t != null && (a.marginTop = t), n != null && (a.marginLeft = n), r != null && (a.marginBottom = r), i != null && (a.marginRight = i); + } + updateDocumentDataPageSize(e29, t) { + let { documentStyle: n } = this.snapshot; + if (!n.pageSize) { + n.pageSize = { width: e29 == null ? 1 / 0 : e29, height: t == null ? 1 / 0 : t }; + return; + } + e29 !== void 0 && (n.pageSize.width = e29), t !== void 0 && (n.pageSize.height = t); + } + updateDrawing(e29, t) { + let { drawings: n } = this, { width: r, height: i, left: a, top: o } = t, s = n == null ? void 0 : n[e29]; + if (!s) return; + let c = s.docTransform; + c.size.width = r, c.size.height = i, c.positionH.posOffset = a, c.positionV.posOffset = o; + } + setZoomRatio(e29 = 1) { + this.snapshot.settings ? this.snapshot.settings.zoomRatio = e29 : this.snapshot.settings = { zoomRatio: e29 }; + } + setDisabled(e29) { + this.snapshot.disabled = e29; + } + getDisabled() { + return this.snapshot.disabled; + } + getTitle() { + return this.snapshot.title; + } + }; + var _c = class e9 extends gc { + constructor(e29) { + var t, n; + super(D.isEmptyObject(e29) ? Jr() : e29), C(this, `_unitId`, void 0), C(this, `headerModelMap`, /* @__PURE__ */ new Map()), C(this, `footerModelMap`, /* @__PURE__ */ new Map()), C(this, `change$`, new BehaviorSubject(0)), this._unitId = (t = this.snapshot.id) == null ? O2(6) : t, this._initializeHeaderFooterModel(), this._name$.next((n = this.snapshot.title) == null ? `` : n); + } + dispose() { + super.dispose(), this.headerModelMap.forEach((e29) => { + e29.dispose(); + }), this.footerModelMap.forEach((e29) => { + e29.dispose(); + }), this._name$.complete(); + } + getDrawings() { + return this.snapshot.drawings; + } + getDrawingsOrder() { + return this.snapshot.drawingsOrder; + } + getCustomRanges() { + var e29; + return (e29 = this.snapshot.body) == null ? void 0 : e29.customRanges; + } + getCustomDecorations() { + var e29; + return (e29 = this.snapshot.body) == null ? void 0 : e29.customDecorations; + } + getSettings() { + return this.snapshot.settings; + } + reset(e29) { + if (e29.id && e29.id !== this._unitId) throw Error(`Cannot reset a document model with a different unit id!`); + this.snapshot = { ...hc, ...e29 }, this._initializeHeaderFooterModel(), this.change$.next(this.change$.value + 1); + } + getSelfOrHeaderFooterModel(e29) { + if (e29 != null) { + if (this.headerModelMap.has(e29)) return this.headerModelMap.get(e29); + if (this.footerModelMap.has(e29)) return this.footerModelMap.get(e29); + } + return this; + } + getUnitId() { + return this._unitId; + } + apply(e29) { + if (!cc.isNoop(e29)) return this.snapshot = cc.apply(this.snapshot, e29), e29 != null && e29.some((e30) => Array.isArray(e30) && ((e30 == null ? void 0 : e30[0]) === `headers` || (e30 == null ? void 0 : e30[0]) === `footers`)) && (this.headerModelMap.clear(), this.footerModelMap.clear(), this._initializeHeaderFooterModel()), this.change$.next(this.change$.value + 1), this.snapshot; + } + sliceBody(e29, t, n = Ps.copy) { + let r = this.getBody(); + if (r != null) return Bs(r, e29, t, false, n); + } + _initializeHeaderFooterModel() { + let { headers: t, footers: n } = this.getSnapshot(); + if (t) for (let n2 in t) { + let r = t[n2]; + this.headerModelMap.set(n2, new e9(r)), this.headerModelMap.get(n2).updateDocumentId(this.getUnitId()); + } + if (n) for (let t2 in n) { + let r = n[t2]; + this.footerModelMap.set(t2, new e9(r)), this.footerModelMap.get(t2).updateDocumentId(this.getUnitId()); + } + } + updateDocumentId(e29) { + super.updateDocumentId(e29), this._unitId = e29; + } + getPlainText() { + var e29, t; + return fc((e29 = (t = this.getBody()) == null ? void 0 : t.dataStream) == null ? `` : e29); + } + }; + function vc(e29) { + let { ranges: t, id: n, type: r } = e29, i = new Y(), a = 0; + for (let e30 = 0; e30 < t.length; e30++) { + let { startOffset: o, endOffset: s } = t[e30]; + o > 0 && i.push({ t: I.RETAIN, len: o - a }), i.push({ t: I.RETAIN, body: { dataStream: ``, customDecorations: [{ id: n, type: r, startIndex: 0, endIndex: s - o - 1 }] }, len: s - o }), a = s; + } + return i; + } + function yc(e29) { + var t; + let { id: n, segmentId: r, documentDataModel: i } = e29, a = i == null ? void 0 : i.getBody(); + if (!i || !a) return false; + let o = (t = i.getSelfOrHeaderFooterModel(r)) == null || (t = t.getBody()) == null || (t = t.customDecorations) == null ? void 0 : t.find((e30) => e30.id === n); + if (!o) return false; + let s = new Y(), { startIndex: c, endIndex: l } = o, u = l - c + 1; + return s.push({ t: I.RETAIN, len: c }), s.push({ t: I.RETAIN, len: u, body: { dataStream: ``, customDecorations: [{ startIndex: 0, endIndex: u - 1, id: n, type: sr.DELETED }] } }), s; + } + function bc(e29, t, n, r) { + return e29 <= n && t >= n || e29 >= n && e29 <= r; + } + function xc(e29, t) { + let n = []; + for (let r = 0, i = t.length; r < i; r++) { + let i2 = t[r]; + e29.collapsed ? i2.startIndex < e29.startOffset && e29.startOffset <= i2.endIndex && n.push(i2) : bc(e29.startOffset, e29.endOffset - 1, i2.startIndex, i2.endIndex) && n.push(i2); + } + return n; + } + function Sc(e29) { + return { ...D.deepClone(e29), rangeId: O2() }; + } + function Cc(e29, t) { + let n = [], r = e29[0]; + for (let i of t) i < e29[0] || i > e29[1] || (r < i && n.push([r, i - 1]), r = i + 1); + return r <= e29[1] && n.push([r, e29[1]]), n; + } + function wc(e29, t, n, r) { + let i = []; + for (let a = 0, o = n.length; a < o; a++) { + let o2 = n[a]; + if ((r === void 0 || o2.rangeType === r) && Math.max(o2.startIndex, e29) <= Math.min(o2.endIndex, t) && i.push({ ...o2 }), o2.startIndex > t) break; + } + return i; + } + function Tc(e29, t) { + var n, r, i, a, o; + let s = wc(e29.startOffset, e29.collapsed ? e29.startOffset : e29.endOffset - 1, (n = t.customRanges) == null ? [] : n), c = Math.min(e29.startOffset, (r = (i = s[0]) == null ? void 0 : i.startIndex) == null ? 1 / 0 : r), l = Math.max(e29.endOffset, ((a = (o = s[s.length - 1]) == null ? void 0 : o.endIndex) == null ? -1 / 0 : a) + 1); + return { startOffset: c, endOffset: l, collapsed: c === l }; + } + function Ec(e29) { + var t, n; + let { rangeId: r, segmentId: i, documentDataModel: a, insert: o } = e29, s = (t = a.getSelfOrHeaderFooterModel(i).getBody()) == null || (t = t.customRanges) == null ? void 0 : t.find((e30) => e30.rangeId === r); + if (!s) return false; + let { startIndex: c, endIndex: l } = s, u = new Y(), d = l - c + 1; + u.push({ t: I.RETAIN, len: c }), u.push({ t: I.RETAIN, len: d, body: { dataStream: ``, customRanges: [] } }), o && u.push({ t: I.INSERT, body: o, len: o.dataStream.length }); + let f = l + 1 + ((n = o == null ? void 0 : o.dataStream.length) == null ? 0 : n); + return u.selections = [{ startOffset: f, endOffset: f, collapsed: true }], u; + } + function Dc(e29) { + let { ranges: t, rangeId: n, rangeType: r, wholeEntity: i, properties: a, body: o } = e29, s = 0, c = new Y(), l = false; + return t.forEach((e30) => { + var t2, u, d; + let f = Tc(e30, o); + if (!f || !o) return false; + let { startOffset: p, endOffset: m } = f, h = (t2 = o.customRanges) == null ? [] : t2, g2 = (e31, t3, o2) => { + var l2, u2, d2, f2; + let p2 = wc(e31, t3, h, r), m2 = Math.min((l2 = (u2 = p2[0]) == null ? void 0 : u2.startIndex) == null ? 1 / 0 : l2, e31), g3 = Math.max((d2 = (f2 = p2[p2.length - 1]) == null ? void 0 : f2.endIndex) == null ? -1 / 0 : d2, t3), _3 = { rangeId: o2 ? `${n}$${o2}` : n, rangeType: r, startIndex: 0, endIndex: g3 - m2, wholeEntity: i, properties: { ...a } }; + c.push({ t: I.RETAIN, len: m2 - s }), c.push({ t: I.RETAIN, len: g3 - m2 + 1, body: { dataStream: ``, customRanges: [_3] }, coverType: F.COVER }), s = g3 + 1; + }, _2 = ((u = o.paragraphs) == null ? [] : u).filter((e31) => e31.startIndex < m && e31.startIndex > p), ee = ((d = o.customBlocks) == null ? [] : d).filter((e31) => e31.startIndex < m && e31.startIndex > p); + Cc([p, m - 1], [..._2.map((e31) => e31.startIndex), ...ee.map((e31) => e31.startIndex)]).forEach(([e31, t3], n2) => g2(e31, t3, n2)), l = true, c.selections = [{ startOffset: f.endOffset, endOffset: f.endOffset, collapsed: true }]; + }), l ? c : false; + } + function Oc(e29, t, n = 0, r = null, i = true) { + e29.sort((e30, t2) => e30.startOffset - t2.startOffset); + let a = [], { paragraphs: o = [] } = t, s = o == null ? void 0 : o.find((t2) => t2.startIndex >= e29[0].startOffset && t2.startIndex < e29[0].endOffset), c = n; + if (e29.forEach((e30) => { + let { startOffset: t2, endOffset: n2 } = e30; + t2 > c && (a.push({ t: I.RETAIN, len: t2 - c }), c = t2), c < n2 && (a.push({ t: I.DELETE, len: n2 - c }), c = n2); + }), r && a.push({ t: I.INSERT, body: r, len: r.dataStream.length }), s && i) { + let t2 = o.find((t3) => t3.startIndex - n >= e29[e29.length - 1].endOffset - 1); + t2 && (t2.startIndex > c && (a.push({ t: I.RETAIN, len: t2.startIndex - c }), c = t2.startIndex), a.push({ t: I.RETAIN, len: 1, body: { dataStream: ``, paragraphs: [{ ...t2, startIndex: 0, bullet: s == null ? void 0 : s.bullet }] }, coverType: F.REPLACE })); + } + return a; + } + function kc(e29, t, n = 0) { + let r = [], i = n; + return e29.forEach((e30) => { + let { startOffset: n2, endOffset: a } = e30; + n2 > i && (r.push({ t: I.RETAIN, len: n2 - i }), i = n2), a > i && (r.push({ t: I.RETAIN, len: a - i, body: { ...D.deepClone(t), dataStream: `` } }), i = a); + }), r; + } + var Ac = (e29) => { + var t; + let { selection: n, body: r, doc: i } = e29, a = n.segmentId, o = (t = i.getSelfOrHeaderFooterModel(a)) == null ? void 0 : t.getBody(); + if (!o) return false; + let s = n.collapsed ? null : Bs(o, n.startOffset, n.endOffset), c = (0, import_fast_diff.default)(s ? s.dataStream : ``, r.dataStream), l = 0, u = c.map(([e30, t2]) => { + switch (e30) { + case 0: { + let e31 = { t: I.RETAIN, body: { ...Bs(r, l, l + t2.length, false), dataStream: `` }, len: t2.length }; + return l += t2.length, e31; + } + case 1: { + let e31 = { t: I.INSERT, body: Bs(r, l, l + t2.length), len: t2.length }; + return l += t2.length, e31; + } + default: + return { t: I.DELETE, len: t2.length }; + } + }), d = new Y(); + return d.push({ t: I.RETAIN, len: n.startOffset }), d.push(...u), d; + }; + function jc(e29, t) { + return !!((e29 == null ? void 0 : e29.length) === (t == null ? void 0 : t.length) && e29 != null && e29.every((e30, n) => JSON.stringify(e30) === JSON.stringify(t == null ? void 0 : t[n]))); + } + var Mc = (e29) => { + var t; + let { selection: n, body: r, doc: i, themeService: a } = e29, o = n.segmentId, s = (t = i.getSelfOrHeaderFooterModel(o)) == null ? void 0 : t.getBody(); + if (!s) return false; + let c = n.collapsed ? null : Bs(s, n.startOffset, n.endOffset), l = (0, import_fast_diff.default)(c ? c.dataStream : ``, r.dataStream), u = 0, d = l.map(([e30, t2]) => { + switch (e30) { + case 0: { + let e31 = Fs(r, u, u + t2.length, false), n2 = Fs(c, u, u + t2.length, false), i2 = { t: I.RETAIN, body: jc(e31, n2) ? void 0 : { textRuns: e31 == null ? void 0 : e31.map((e32) => { + var t3, n3, r2, i3; + return { ...e32, ts: { ...e32.ts, cl: !((t3 = e32.ts) == null || (t3 = t3.cl) == null || (t3 = t3.rgb) == null) && t3.includes(`.`) ? { rgb: a.getColorFromTheme((n3 = (r2 = e32.ts) == null || (r2 = r2.cl) == null ? void 0 : r2.rgb) == null ? `` : n3) } : (i3 = e32.ts) == null ? void 0 : i3.cl } }; + }), dataStream: `` }, len: t2.length }; + return u += t2.length, i2; + } + case 1: { + let e31 = { t: I.INSERT, body: Bs(r, u, u + t2.length), len: t2.length }; + return u += t2.length, e31; + } + default: + return { t: I.DELETE, len: t2.length }; + } + }); + if (d.every((e30) => e30.t === I.RETAIN && !e30.body)) return false; + let f = new Y(); + return f.push({ t: I.RETAIN, len: n.startOffset }), f.push(...d), f; + }; + function Nc(e29, t) { + let n = [], { customBlocks: r = [] } = e29; + for (let e30 of t) { + let { startOffset: t2, endOffset: i } = e30; + if (!(t2 == null || i == null)) for (let e31 of r) { + let { startIndex: r2 } = e31; + r2 >= t2 && r2 < i && n.push(e31.blockId); + } + } + return n; + } + function Pc(e29, t = ``) { + if (!t) return [`body`]; + let { headers: n, footers: r } = e29.getSnapshot(); + if (n == null && r == null) throw Error(`Document data model must have headers or footers when update by segment id`); + if ((n == null ? void 0 : n[t]) != null) return [`headers`, t, `body`]; + if ((r == null ? void 0 : r[t]) != null) return [`footers`, t, `body`]; + throw Error(`Segment id not found in headers or footers`); + } + var Fc = (e29) => { + var t, n; + let { selection: r, documentDataModel: i, drawings: a } = e29, { collapsed: o, startOffset: s, segmentId: c } = r, l = new Y(), u = cc.getInstance(), d = [], f = i.getSelfOrHeaderFooterModel(c).getBody(); + if (!f) return false; + let p = (t = (n = i.getSnapshot().drawingsOrder) == null ? void 0 : n.length) == null ? 0 : t, m = 0; + if (o) s > 0 && l.push({ t: I.RETAIN, len: s }); + else { + var h, g2; + let e30 = Oc([r], f, 0, null, false); + l.push(...e30); + let t2 = Nc(f, [r]), n2 = (h = i.getDrawings()) == null ? {} : h, a2 = (g2 = i.getDrawingsOrder()) == null ? [] : g2, o2 = t2.sort((e31, t3) => a2.indexOf(e31) > a2.indexOf(t3) ? -1 : a2.indexOf(e31) < a2.indexOf(t3) ? 1 : 0); + if (o2.length > 0) for (let e31 of o2) { + let t3 = n2[e31], r2 = a2.indexOf(e31); + if (t3 == null || r2 < 0) continue; + let i2 = u.removeOp([`drawings`, e31], t3), o3 = u.removeOp([`drawingsOrder`, r2], e31); + d.push(i2), d.push(o3), m++; + } + } + l.push({ t: I.INSERT, body: { dataStream: `\b`.repeat(a.length), customBlocks: a.map((e30, t2) => ({ startIndex: t2, blockId: e30.drawingId })) }, len: a.length }); + let _2 = Pc(i, c), ee = u.editOp(l.serialize(), _2); + d.push(ee); + for (let e30 of a) { + let { drawingId: t2 } = e30, n2 = u.insertOp([`drawings`, t2], e30), r2 = u.insertOp([`drawingsOrder`, p - m], t2); + d.push(n2), d.push(r2); + } + return d.reduce((e30, t2) => cc.compose(e30, t2), null); + }; + function Ic(e29, t) { + if (t === void 0) return { startOffset: e29, endOffset: e29, collapsed: true }; + if (t < e29) throw Error(`Cannot make a doc selection when endOffset ${t} is less than startOffset ${e29}.`); + return { startOffset: e29, endOffset: t, collapsed: e29 === t }; + } + function Lc(e29) { + let { startOffset: t, endOffset: n, collapsed: r } = e29; + return { startOffset: Math.min(t, n), endOffset: Math.max(t, n), collapsed: r }; + } + function Rc(e29, t, n, r) { + return Math.max(e29, n) <= Math.min(t, r); + } + function zc(e29, t, n, r) { + let { startOffset: i, endOffset: a } = e29, o = r == null ? Hc(t, n) : r, s = [], c = -1; + for (let e30 = 0; e30 < o.length; e30++) { + let t2 = o[e30], { startIndex: n2 } = t2; + (i > c && i <= n2 || a > c && a <= n2 || n2 >= i && n2 <= a) && s.push(t2), c = n2; + } + return s; + } + function Bc(e29, t, n) { + let r = [], i = Hc(t, n); + for (let a of e29) { + let e30 = zc(a, t, n, i); + r.push(...e30); + } + return r; + } + var Vc = [X.PARAGRAPH, X.TABLE_START, X.TABLE_END, X.TABLE_ROW_START, X.TABLE_CELL_START, X.TABLE_CELL_END]; + function Hc(e29, t) { + let n = []; + for (let r = 0; r < e29.length; r++) { + let i = e29[r], { startIndex: a } = i, o = a - 1; + for (; !Vc.includes(t[o]) && o >= 0; ) o--; + n.push({ ...i, paragraphStart: o + 1, paragraphEnd: i.startIndex }); + } + return n; + } + var Uc = (e29) => { + var t, n; + let { paragraphs: r, segmentId: i, document: a } = e29, o = e29.listType, s = (t = (n = a.getSelfOrHeaderFooterModel(i).getBody()) == null ? void 0 : n.paragraphs) == null ? [] : t, c = r.every((e30) => { + var t2; + return ((t2 = e30.bullet) == null ? void 0 : t2.listType.indexOf(o)) === 0; + }), l = O2(6); + if (r.length === 1) { + let e30 = s.indexOf(r[0]), t2 = s[e30 - 1], n2 = s[e30 + 1]; + t2 && t2.bullet && t2.bullet.listType.indexOf(o) === 0 ? (l = t2.bullet.listId, o !== q.CHECK_LIST && (o = t2.bullet.listType)) : n2 && n2.bullet && n2.bullet.listType.indexOf(o) === 0 && (l = n2.bullet.listId, o !== q.CHECK_LIST && (o = n2.bullet.listType)); + } + let u = new Zt(); + u.reset(); + let d = new Y(); + for (let e30 of r) { + var f; + let { startIndex: t2, paragraphStyle: n2 = {}, bullet: r2 } = e30; + d.push({ t: I.RETAIN, len: t2 - u.cursor }), d.push({ t: I.RETAIN, len: 1, body: { dataStream: ``, paragraphs: [c ? { paragraphStyle: n2, startIndex: 0 } : { startIndex: 0, paragraphStyle: { ...n2 }, bullet: { nestingLevel: (f = r2 == null ? void 0 : r2.nestingLevel) == null ? 0 : f, textStyle: { fs: 20 }, listType: o, listId: l } }] }, coverType: F.REPLACE }), u.moveCursorTo(t2 + 1); + } + return d; + }; + var Wc = (e29) => { + var t; + let { paragraphIndex: n, segmentId: r, document: i } = e29, a = (t = i.getSelfOrHeaderFooterModel(r).getBody()) == null ? void 0 : t.paragraphs; + if (a == null) return false; + let o = a.find((e30) => e30.startIndex === n); + if (!(o != null && o.bullet) || o.bullet.listType.indexOf(q.CHECK_LIST) === -1) return false; + let s = new Zt(); + s.reset(); + let c = new Y(), { startIndex: l, paragraphStyle: u = {} } = o, d = o.bullet.listType === q.CHECK_LIST ? q.CHECK_LIST_CHECKED : q.CHECK_LIST; + return c.push({ t: I.RETAIN, len: l - s.cursor }), c.push({ t: I.RETAIN, len: 1, body: { dataStream: ``, paragraphs: [{ ...o, paragraphStyle: u, startIndex: 0, bullet: { ...o.bullet, listType: d } }] }, coverType: F.REPLACE }), s.moveCursorTo(l + 1), c; + }; + var Gc = (e29) => { + var t; + let { paragraphs: n, listType: r, segmentId: i, document: a } = e29; + if (((t = a.getSelfOrHeaderFooterModel(i).getBody()) == null ? void 0 : t.paragraphs) == null) return false; + let o = O2(6), s = new Zt(); + s.reset(); + let c = new Y(); + for (let e30 of n) { + var l; + let { startIndex: t2, paragraphStyle: n2 = {}, bullet: i2 } = e30; + c.push({ t: I.RETAIN, len: t2 - s.cursor }), c.push({ t: I.RETAIN, len: 1, body: { dataStream: ``, paragraphs: [{ startIndex: 0, paragraphStyle: n2, bullet: { nestingLevel: (l = i2 == null ? void 0 : i2.nestingLevel) == null ? 0 : l, textStyle: (i2 == null ? void 0 : i2.listType) === r ? i2.textStyle : { fs: 20 }, listType: r, listId: o } }] }, coverType: F.REPLACE }), s.moveCursorTo(t2 + 1); + } + return c; + }; + function Kc(e29, t) { + return t.some((t2) => e29.startIndex > t2.startIndex && e29.startIndex < t2.endIndex); + } + var qc = (e29) => { + var t, n, r; + let { paragraphs: i, document: a, type: o } = e29, s = new Zt(); + s.reset(); + let c = new Y(), l = (t = a.getSnapshot().lists) == null ? {} : t, u = (n = (r = a.getBody()) == null ? void 0 : r.tables) == null ? [] : n, d = { ...xs, ...l }; + for (let e30 of i) { + let { startIndex: t2, paragraphStyle: n2 = {}, bullet: r2 } = e30, i2 = Kc(e30, u); + if (c.push({ t: I.RETAIN, len: t2 - s.cursor }), r2) { + let e31 = d[r2.listType].nestingLevel.length - 1; + i2 && (e31 = Math.min(e31, 2)), c.push({ t: I.RETAIN, len: 1, body: { dataStream: ``, paragraphs: [{ startIndex: 0, paragraphStyle: { ...n2 }, bullet: { ...r2, nestingLevel: Math.max(Math.min(r2.nestingLevel + o, e31), 0) } }] }, coverType: F.REPLACE }); + } else c.push({ t: I.RETAIN, len: 1 }); + s.moveCursorTo(t2 + 1); + } + return c; + }; + var Jc = (e29) => { + var t, n, r, i; + let { textRanges: a, segmentId: o, document: s, style: c, paragraphTextRun: l, cursor: u, deleteLen: d, textX: f } = e29, p = s.getSelfOrHeaderFooterModel(o), m = Bc(a, (t = (n = p.getBody()) == null ? void 0 : n.paragraphs) == null ? [] : t, (r = (i = p.getBody()) == null ? void 0 : i.dataStream) == null ? `` : r), h = new Zt(); + u && h.moveCursorTo(u); + let g2 = f == null ? new Y() : f; + m.sort((e30, t2) => e30.startIndex - t2.startIndex); + let _2 = Math.max(0, m[0].paragraphStart - 1); + _2 > h.cursor && (g2.push({ t: I.RETAIN, len: _2 - h.cursor }), h.moveCursorTo(_2)), d && g2.push({ t: I.DELETE, len: d }); + for (let e30 of m) { + let { startIndex: t2, paragraphStyle: n2 = {} } = e30, r2 = t2 - h.cursor; + g2.push({ t: I.RETAIN, len: r2, ...l ? { body: { dataStream: ``, textRuns: [{ ts: l, st: 0, ed: r2 }] }, coverType: F.REPLACE } : null }), g2.push({ t: I.RETAIN, len: 1, body: { dataStream: ``, paragraphs: [{ startIndex: 0, paragraphStyle: { ...n2, ...c } }] }, coverType: F.REPLACE }), h.moveCursorTo(t2 + 1); + } + return g2; + }; + var Z = class { + }; + C(Z, `customRange`, { add: Dc, delete: Ec, copyCustomRange: Sc, getCustomRangesInterestsWithSelection: xc, isIntersecting: bc }), C(Z, `customDecoration`, { add: vc, delete: yc }), C(Z, `selection`, { replace: Ac, makeSelection: Ic, normalizeSelection: Lc, delete: Oc, replaceTextRuns: Mc, retain: kc }), C(Z, `range`, { isIntersects: Rc, getParagraphsInRange: zc, getParagraphsInRanges: Bc }), C(Z, `transform`, { getPlainText: fc, fromPlainText: mc, isEmptyDocument: pc }), C(Z, `paragraph`, { bullet: { set: Gc, switch: Uc, toggleChecklist: Wc, changeNestLevel: qc }, style: { set: Jc }, util: { transform: Hc, getParagraphsInRange: zc, getParagraphsInRanges: Bc } }), C(Z, `drawing`, { add: Fc }); + function Xc(e29) { + if (e29.customRanges || (e29.customRanges = []), !e29.paragraphs) { + e29.paragraphs = []; + for (let t = 0; t < e29.dataStream.length; t++) e29.dataStream[t] === `\r` && e29.paragraphs.push({ startIndex: t }); + } + return e29.customBlocks || (e29.customBlocks = []), e29.textRuns || (e29.textRuns = []), e29.customDecorations || (e29.customDecorations = []), e29.sectionBreaks || (e29.sectionBreaks = []), e29.tables || (e29.tables = []), e29; + } + function Zc(e29) { + var t; + return e29.body = Xc((t = e29.body) == null ? { dataStream: `` } : t), e29.drawingsOrder || (e29.drawingsOrder = []), e29.drawings || (e29.drawings = {}), e29.documentStyle || (e29.documentStyle = {}), e29; + } + var Qc = class e10 { + static create(t = {}) { + return new e10(t); + } + constructor(e29 = {}) { + C(this, `_style`, void 0), this._style = e29; + } + get fontFamily() { + return this._style.ff; + } + get fontSize() { + return this._style.fs; + } + get italic() { + return this._style.it === A.TRUE; + } + get bold() { + return this._style.bl === A.TRUE; + } + get underline() { + return this._style.ul && el.create(this._style.ul); + } + get bottomBorderLine() { + return this._style.bbl && el.create(this._style.bbl); + } + get strikethrough() { + return this._style.st && el.create(this._style.st); + } + get overline() { + return this._style.ol && el.create(this._style.ol); + } + get background() { + return this._style.bg; + } + get border() { + return this._style.bd; + } + get color() { + return this._style.cl; + } + get verticalAlign() { + return this._style.va; + } + get numberFormat() { + return this._style.n; + } + copy() { + return $c.create(D.deepClone(this._style)); + } + getValue() { + return { ...this._style }; + } + }; + var $c = class e11 extends Qc { + static create(t = {}) { + return new e11(t); + } + constructor(e29 = {}) { + super(e29); + } + setFontFamily(e29) { + return this._style.ff = e29, this; + } + setFontSize(e29) { + return this._style.fs = e29, this; + } + setItalic(e29) { + return this._style.it = e29 ? 1 : 0, this; + } + setBold(e29) { + return this._style.bl = e29 ? 1 : 0, this; + } + setUnderline(e29) { + return this._style.ul = e29.build(), this; + } + setBottomBorderLine(e29) { + return this._style.bbl = e29.build(), this; + } + setStrikethrough(e29) { + return this._style.st = e29.build(), this; + } + setOverline(e29) { + return this._style.ol = e29.build(), this; + } + setBackground(e29) { + return this._style.bg = e29, this; + } + setBorder(e29) { + return this._style.bd = e29, this; + } + setColor(e29) { + return this._style.cl = e29, this; + } + setVerticalAlign(e29) { + return this._style.va = e29, this; + } + copy() { + return e11.create(D.deepClone(this._style)); + } + build() { + return this.getValue(); + } + }; + var el = class e12 { + static create(t = { s: 1 }) { + return new e12(t); + } + constructor(e29 = { s: 1 }) { + C(this, `_decoration`, void 0), this._decoration = e29; + } + get show() { + return this._decoration.s === A.TRUE; + } + get followFontColor() { + return this._decoration.c === A.TRUE; + } + get color() { + return this._decoration.cl; + } + get type() { + return this._decoration.t; + } + setShow(e29) { + return this._decoration.s = e29 ? 1 : 0, this; + } + setFollowFontColor(e29) { + return this._decoration.c = e29 ? 1 : 0, this; + } + setColor(e29) { + return this._decoration.cl = e29, this; + } + setLineType(e29) { + return this._decoration.t = e29, this; + } + copy() { + return e12.create(D.deepClone(this._decoration)); + } + build() { + return { ...this._decoration }; + } + }; + var tl = class e13 { + static create(t = {}) { + return new e13(t); + } + constructor(e29 = {}) { + C(this, `_style`, void 0), this._style = e29; + } + get indentFirstLine() { + return this._style.indentFirstLine; + } + get hanging() { + return this._style.hanging; + } + get indentStart() { + return this._style.indentStart; + } + get tabStops() { + return this._style.tabStops; + } + get indentEnd() { + return this._style.indentEnd; + } + get textStyle() { + return this._style.textStyle; + } + get headingId() { + return this._style.headingId; + } + get namedStyleType() { + return this._style.namedStyleType; + } + get horizontalAlign() { + return this._style.horizontalAlign; + } + get lineSpacing() { + return this._style.lineSpacing; + } + get direction() { + return this._style.direction; + } + get spacingRule() { + return this._style.spacingRule; + } + get snapToGrid() { + return this._style.snapToGrid; + } + get spaceAbove() { + return this._style.spaceAbove; + } + get spaceBelow() { + return this._style.spaceBelow; + } + get borderBetween() { + return this._style.borderBetween; + } + get borderTop() { + return this._style.borderTop; + } + get borderBottom() { + return this._style.borderBottom; + } + get borderLeft() { + return this._style.borderLeft; + } + get borderRight() { + return this._style.borderRight; + } + get keepLines() { + return this._style.keepLines === A.TRUE; + } + get keepNext() { + return this._style.keepNext === A.TRUE; + } + get wordWrap() { + return this._style.wordWrap === A.TRUE; + } + get widowControl() { + return this._style.widowControl === A.TRUE; + } + get shading() { + return this._style.shading; + } + get suppressHyphenation() { + return this._style.suppressHyphenation === A.TRUE; + } + copy() { + return nl.create(D.deepClone(this._style)); + } + getValue() { + return this._style; + } + }; + var nl = class e14 extends tl { + static create(t = {}) { + return new e14(t); + } + constructor(e29 = {}) { + super(e29); + } + setIndentFirstLine(e29) { + return this._style.indentFirstLine = e29, this; + } + setHanging(e29) { + return this._style.hanging = e29, this; + } + setIndentStart(e29) { + return this._style.indentStart = e29, this; + } + setTabStops(e29) { + return this._style.tabStops = e29, this; + } + setIndentEnd(e29) { + return this._style.indentEnd = e29, this; + } + setTextStyle(e29) { + return this._style.textStyle = e29, this; + } + setHeadingId(e29) { + return this._style.headingId = e29, this; + } + setNamedStyleType(e29) { + return this._style.namedStyleType = e29, this; + } + setHorizontalAlign(e29) { + return this._style.horizontalAlign = e29, this; + } + setLineSpacing(e29) { + return this._style.lineSpacing = e29, this; + } + setDirection(e29) { + return this._style.direction = e29, this; + } + setSpacingRule(e29) { + return this._style.spacingRule = e29, this; + } + setSnapToGrid(e29) { + return this._style.snapToGrid = e29 ? 1 : 0, this; + } + setSpaceAbove(e29) { + return this._style.spaceAbove = e29, this; + } + setSpaceBelow(e29) { + return this._style.spaceBelow = e29, this; + } + setBorderBetween(e29) { + return this._style.borderBetween = e29, this; + } + setBorderTop(e29) { + return this._style.borderTop = e29, this; + } + setBorderBottom(e29) { + return this._style.borderBottom = e29, this; + } + setBorderLeft(e29) { + return this._style.borderLeft = e29, this; + } + setBorderRight(e29) { + return this._style.borderRight = e29, this; + } + setKeepLines(e29) { + return this._style.keepLines = e29 ? 1 : 0, this; + } + setKeepNext(e29) { + return this._style.keepNext = e29 ? 1 : 0, this; + } + setWordWrap(e29) { + return this._style.wordWrap = e29 ? 1 : 0, this; + } + setWidowControl(e29) { + return this._style.widowControl = e29 ? 1 : 0, this; + } + setShading(e29) { + return this._style.shading = e29, this; + } + setSuppressHyphenation(e29) { + return this._style.suppressHyphenation = e29 ? 1 : 0, this; + } + copy() { + return e14.create(D.deepClone(this._style)); + } + build() { + return this.getValue(); + } + }; + var rl = class e15 { + static create(t) { + return new e15(t); + } + static createByBody(t) { + return new e15({ body: t, id: `d`, documentStyle: {} }); + } + constructor(e29) { + if (C(this, `_data`, void 0), !e29.body) throw Error(`Invalid document data, body is required`); + this._data = Zc(e29); + } + copy() { + return il.create(D.deepClone(this._data)); + } + slice(e29, t) { + let { body: n, ...r } = this._data; + return il.create({ ...D.deepClone(r), body: Bs(n, e29, t) }); + } + toPlainText() { + var e29, t; + return Z.transform.getPlainText((e29 = (t = this._data.body) == null ? void 0 : t.dataStream) == null ? `` : e29).replaceAll(`\r`, ` +`); + } + getParagraphStyle() { + var e29; + return tl.create((e29 = this._data.body) == null || (e29 = e29.paragraphs) == null ? void 0 : e29[0].paragraphStyle); + } + getParagraphBullet() { + var e29; + return (e29 = this._data.body) == null || (e29 = e29.paragraphs) == null ? void 0 : e29[0].bullet; + } + getParagraphs() { + var e29, t; + let n = (e29 = (t = this._data.body) == null ? void 0 : t.paragraphs) == null ? [] : e29, r = 0; + return n.map((e30) => { + let t2 = this.slice(r, e30.startIndex); + return r = e30.startIndex, t2; + }); + } + getTextRuns() { + var e29, t; + return ((e29 = (t = this._data.body) == null ? void 0 : t.textRuns) == null ? [] : e29).map((e30) => ({ ...e30, ts: e30.ts ? Qc.create(e30.ts) : null })); + } + getLinks() { + var e29, t; + return (e29 = (t = this._data.body) == null || (t = t.customRanges) == null ? void 0 : t.filter((e30) => e30.rangeType === or.HYPERLINK)) == null ? [] : e29; + } + getData() { + return this._data; + } + }; + var il = class e16 extends rl { + static newEmptyData() { + return Zc({ id: `d`, documentStyle: {}, drawings: {}, drawingsOrder: [], body: { dataStream: `\r +`, customBlocks: [], customRanges: [], paragraphs: [{ startIndex: 0 }], textRuns: [], tables: [], sectionBreaks: [] } }); + } + static create(t) { + return new e16(t == null ? e16.newEmptyData() : t); + } + constructor(e29) { + super(e29), C(this, `_doc`, void 0), this._doc = new _c(e29); + } + insertText(e29, t, n) { + var r, i; + let a = ((r = (i = this._data.body) == null ? void 0 : i.dataStream.length) == null ? 2 : r) - 2, o, s; + if (typeof e29 == `string` ? o = e29 : (a = Math.min(e29, a), o = t), s = typeof t == `object` ? t instanceof $c ? t.build() : t : n instanceof $c ? n.build() : n, !o) return this; + let c = { dataStream: o, textRuns: s ? [{ ts: s, st: a, ed: a + o.length }] : [] }, l = Z.selection.replace({ doc: this._doc, selection: { startOffset: a, endOffset: a, collapsed: true }, body: c }); + if (!l) throw Error(`Insert text failed, please check.`); + return Y.apply(this._doc.getBody(), l.serialize()), this; + } + insertRichText(e29, t) { + var n, r; + let i = ((n = (r = this._data.body) == null ? void 0 : r.dataStream.length) == null ? 2 : n) - 2, a; + typeof e29 == `object` ? a = e29 instanceof rl ? e29.getData() : e29 : (i = Math.min(e29, i), a = t instanceof rl ? t.getData() : t); + let o = Z.selection.replace({ doc: this._doc, selection: { startOffset: i, endOffset: i, collapsed: true }, body: a.body }); + if (!o) throw Error(`Insert text failed, please check.`); + return Y.apply(this._doc.getBody(), o.serialize()), this; + } + delete(e29, t) { + if (t !== void 0) { + if (!t) return this; + let n = Z.selection.delete([{ startOffset: e29, endOffset: e29 + t, collapsed: true }], this._data.body); + Y.apply(this._doc.getBody(), n); + } + return this; + } + setStyle(e29, t, n) { + let r = { dataStream: ``, textRuns: [{ ts: n instanceof $c ? n.build() : n, st: 0, ed: t - e29 }] }, i = Z.selection.retain([{ startOffset: e29, endOffset: t, collapsed: true }], r); + return Y.apply(this._doc.getBody(), i), this; + } + setLink(e29, t, n) { + let r = Z.customRange.add({ rangeType: or.HYPERLINK, rangeId: O2(), properties: { url: n }, ranges: [{ startOffset: e29, endOffset: t, collapsed: false }], body: this._data.body }); + if (!r) throw Error(`Insert text failed, please check.`); + return Y.apply(this._doc.getBody(), r.serialize()), this; + } + cancelLink(e29, t) { + if (typeof e29 == `string`) { + let t2 = Z.customRange.delete({ rangeId: e29, documentDataModel: this._doc }); + if (!t2) throw Error(`Insert text failed, please check.`); + Y.apply(this._doc.getBody(), t2.serialize()); + } else this.slice(e29, t).getLinks().forEach((e30) => { + let t2 = Z.customRange.delete({ rangeId: e30.rangeId, documentDataModel: this._doc }); + if (!t2) throw Error(`Insert text failed, please check.`); + Y.apply(this._doc.getBody(), t2.serialize()); + }); + return this; + } + updateLink(e29, t) { + var n; + let r = (n = this._data.body) == null || (n = n.customRanges) == null ? void 0 : n.find((t2) => t2.rangeId === e29); + if (!r) throw Error(`Link not found`); + return r.properties.url = t, this; + } + insertParagraph(e29, t) { + let n, r; + if (typeof e29 == `object`) { + var i, a; + n = { dataStream: `\r`, paragraphs: [{ startIndex: 0, paragraphStyle: e29.build() }] }, r = ((i = (a = this._data.body) == null ? void 0 : a.dataStream.length) == null ? 2 : i) - 2; + } else r = e29, n = { dataStream: `\r`, paragraphs: [{ startIndex: 0, paragraphStyle: t == null ? void 0 : t.build() }] }; + return this.insertRichText(r, rl.create({ body: n, id: `d`, documentStyle: {} })), this; + } + insertLink(t, n, r) { + let i = ``, a = ``; + typeof t == `string` ? (i = t, a = n) : (i = n, a = r); + let o = e16.createByBody({ dataStream: i, customRanges: [{ rangeType: or.HYPERLINK, rangeId: O2(), properties: { url: a }, startIndex: 0, endIndex: i.length - 1 }] }); + return typeof t == `number` ? this.insertRichText(t, o) : this.insertRichText(o); + } + }; + var ll = createIdentifier(`core.resource-manager.service`); + var ul = { [T.Editor]: `Editor`, [T.Owner]: `Owner`, [T.Reader]: `Reader`, [T.UNRECOGNIZED]: `UNRECOGNIZED` }; + var dl = (e29) => e29 ? { userID: `${ul[e29]}_${O2(8)}`, name: ul[e29], avatar: `` } : { userID: ``, name: ``, avatar: ``, anonymous: true, canBindAnonymous: false }; + var fl = (e29, t) => e29.startsWith(ul[t]); + var pl = class extends E { + constructor(...e29) { + super(...e29), C(this, `_model`, /* @__PURE__ */ new Map()), C(this, `_userChange$`, new Subject()), C(this, `userChange$`, this._userChange$.asObservable()), C(this, `_currentUser$`, new BehaviorSubject(dl())), C(this, `currentUser$`, this._currentUser$.asObservable()); + } + dispose() { + super.dispose(), this._model.clear(), this._userChange$.complete(), this._currentUser$.complete(); + } + getCurrentUser() { + return this._currentUser$.getValue(); + } + setCurrentUser(e29) { + this.addUser(e29), this._currentUser$.next(e29); + } + addUser(e29) { + this._model.set(e29.userID, e29), this._userChange$.next({ type: `add`, user: e29 }); + } + getUser(e29, t) { + let n = this._model.get(e29); + if (n) return n; + t && t(); + } + delete(e29) { + let t = this.getUser(e29); + this._model.delete(e29), t && this._userChange$.next({ type: `delete`, user: t }); + } + clear() { + this._model.clear(), this._userChange$.next({ type: `clear` }); + } + list() { + return Array.from(this._model.values()); + } + }; + var ml = class { + constructor(e29, t) { + this._resourceManagerService = e29, this._userManagerService = t, C(this, `_permissionMap`, /* @__PURE__ */ new Map([])), C(this, `_permissionOverrides`, /* @__PURE__ */ new Map()), this._initSnapshot(), this._initDefaultUser(); + } + _initDefaultUser() { + let e29 = this._userManagerService.getCurrentUser(); + e29 && e29.userID || this._userManagerService.setCurrentUser(dl(T.Owner)); + } + _getRole(e29) { + let t = this._userManagerService.getCurrentUser(); + return t ? fl(t.userID, e29) : false; + } + _initSnapshot() { + this._resourceManagerService.registerPluginResource({ toJson: (e29) => { + let t = [...this._permissionMap.keys()].reduce((e30, t2) => (e30[t2] = this._permissionMap.get(t2), e30), {}); + return JSON.stringify(t); + }, parseJson: (e29) => JSON.parse(e29), pluginName: `SHEET_AuthzIoMockService_PLUGIN`, businesses: [O.UNIVER_SHEET, O.UNIVER_DOC, O.UNIVER_SLIDE], onLoad: (e29, t) => { + for (let e30 in t) this._permissionMap.set(e30, t[e30]); + }, onUnLoad: () => { + this._permissionMap.clear(); + } }); + } + async create(e29) { + let t = O2(8), { objectType: n, selectRangeObject: r, worksheetObject: i } = e29, a = r || i, o = { objectType: n, unitID: (a == null ? void 0 : a.unitID) || ``, name: (a == null ? void 0 : a.name) || ``, strategies: [{ action: 6, role: T.Owner }, { action: 16, role: T.Owner }, { action: 17, role: T.Owner }, { action: 18, role: T.Owner }, { action: 19, role: T.Owner }, { action: 33, role: T.Owner }, { action: 34, role: T.Owner }, { action: 35, role: T.Owner }, { action: 36, role: T.Owner }, { action: 37, role: T.Owner }, { action: 38, role: T.Owner }, { action: 39, role: T.Owner }, { action: 40, role: T.Owner }], selectRangeObject: r }; + return this._permissionMap.set(t, o), t; + } + async allowed(e29) { + let { objectID: t, actions: n } = e29, r = this._permissionMap.get(t); + return r ? n.map((e30) => { + let n2 = `${t}:${e30}`; + if (this._permissionOverrides.has(n2)) return { action: e30, allowed: this._permissionOverrides.get(n2) }; + let i = r.strategies.find((t2) => t2.action === e30); + return i ? { action: e30, allowed: this._getRole(i.role) } : { action: e30, allowed: this._getRole(T.Owner) || this._getRole(T.Editor) }; + }) : n.map((e30) => ({ action: e30, allowed: this._getRole(T.Owner) || this._getRole(T.Editor) })); + } + async batchAllowed(e29) { + let t = await Promise.all(e29.map((e30) => this.allowed(e30))); + return e29.map((e30, n) => ({ unitID: e30.unitID, objectID: e30.objectID, actions: t[n] })); + } + async list(e29) { + let t = [], n = [{ action: 6, role: T.Owner }, { action: 16, role: T.Owner }, { action: 17, role: T.Owner }, { action: 18, role: T.Owner }, { action: 19, role: T.Owner }, { action: 33, role: T.Owner }, { action: 34, role: T.Owner }, { action: 35, role: T.Owner }, { action: 36, role: T.Owner }, { action: 37, role: T.Owner }, { action: 38, role: T.Owner }, { action: 39, role: T.Owner }, { action: 40, role: T.Owner }]; + return e29.objectIDs.forEach((r) => { + let i = this._permissionMap.get(r), a = (i == null ? void 0 : i.strategies) || n, o = { objectID: r, unitID: e29.unitID, objectType: (i == null ? void 0 : i.objectType) || 3, name: (i == null ? void 0 : i.name) || ``, shareOn: false, shareRole: T.Owner, shareScope: -1, scope: { read: P.AllCollaborator, edit: P.AllCollaborator }, creator: dl(T.Owner), strategies: a.map((e30) => ({ action: e30.action, role: e30.role })), actions: e29.actions.map((e30) => { + let t2 = `${r}:${e30}`; + if (this._permissionOverrides.has(t2)) return { action: e30, allowed: this._permissionOverrides.get(t2) }; + let n2 = a.find((t3) => t3.action === e30); + return n2 ? { action: e30, allowed: this._getRole(n2.role) } : { action: e30, allowed: this._getRole(T.Owner) || this._getRole(T.Editor) }; + }) }; + t.push(o); + }), t; + } + async listCollaborators() { + return []; + } + async listRoles() { + return { roles: [], actions: [] }; + } + async deleteCollaborator() { + } + async update(e29) { + let { objectID: t, strategies: n } = e29, r = this._permissionMap.get(t); + r && n && (r.strategies = n.map((e30) => ({ action: e30.action, role: e30.role })), this._permissionMap.set(t, r), n.forEach((e30) => { + e30.role === T.Reader ? this.setPermissionOverride(t, e30.action, false) : (e30.role === T.Owner || e30.role === T.Editor) && this.clearPermissionOverride(t, e30.action); + })); + } + setPermissionOverride(e29, t, n) { + let r = `${e29}:${t}`; + this._permissionOverrides.set(r, n); + } + clearPermissionOverride(e29, t) { + let n = `${e29}:${t}`; + this._permissionOverrides.delete(n); + } + clearAllOverrides(e29) { + let t = []; + this._permissionOverrides.forEach((n, r) => { + r.startsWith(`${e29}:`) && t.push(r); + }), t.forEach((e30) => this._permissionOverrides.delete(e30)); + } + async updateCollaborator() { + } + async createCollaborator() { + } + async putCollaborators(e29) { + } + }; + ml = z([R2(0, ll), R2(1, Inject(pl))], ml); + var hl = createIdentifier(`IAuthzIoIoService`); + var gl = createIdentifier(`univer.confirm-service`); + var vl = `FOCUSING_UNIT`; + var yl = `FOCUSING_SHEET`; + var bl = `FOCUSING_DOC`; + var xl = `FOCUSING_SLIDE`; + var Cl = `EDITOR_ACTIVATED`; + var Tl = `FOCUSING_FX_BAR_EDITOR`; + var Pl = class extends E { + constructor(...e29) { + super(...e29), C(this, `_error$`, new Subject()), C(this, `error$`, this._error$.asObservable()); + } + dispose() { + this._error$.complete(); + } + emit(e29) { + this._error$.next({ errorKey: e29 }); + } + }; + var Fl = (function(e29) { + return e29.URL = `URL`, e29.UUID = `UUID`, e29.BASE64 = `BASE64`, e29; + })({}); + var Il = (function(e29) { + return e29.SUCCUSS = `0`, e29.ERROR_EXCEED_SIZE = `1`, e29.ERROR_IMAGE_TYPE = `2`, e29.ERROR_UPLOAD_COUNT_LIMIT = `3`, e29.ERROR_IMAGE = `4`, e29; + })({}); + var Ll = createIdentifier(`core.image-io.service`); + var Rl = createIdentifier(`core.url-image.service`); + var zl = `@univerjs/core`; + var Bl = `0.19.0`; + function Vl(e29 = ``, t = Rn.ZH_CN, n = ``) { + return { id: e29, sheetOrder: [], name: n, appVersion: Bl, locale: t, styles: {}, sheets: {}, resources: [] }; + } + var Hl = class { + constructor(e29 = {}) { + C(this, `_styles`, void 0), C(this, `_cacheMap`, new so(1e5)), this._styles = e29, this._generateCacheMap(); + } + each(e29) { + return Object.entries(this._styles).forEach(e29), this; + } + search(e29, t) { + return this._cacheMap.has(t) ? this._cacheMap.get(t) : this._getExistingStyleId(e29) || `-1`; + } + get(e29) { + return typeof e29 == `string` ? (e29 = String(e29), this._styles[e29]) : e29; + } + add(e29, t) { + let n = O2(6); + return this._styles[n] = e29, this._cacheMap.set(t, n), n; + } + setValue(e29) { + if (e29 == null) return; + let t = JSON.stringify(e29), n = this.search(e29, t); + return n === `-1` ? this.add(e29, t) : n; + } + addCustomStyle(e29, t) { + t != null && (this._styles[e29] = t, this._cacheMap.set(JSON.stringify(t), e29)); + } + remove(e29) { + let t = this._styles[e29]; + t && (delete this._styles[e29], this._cacheMap.delete(JSON.stringify(t))); + } + toJSON() { + return this._styles; + } + getStyleByCell(e29) { + let t; + t = e29 && D.isObject(e29.s) ? e29.s : (e29 == null ? void 0 : e29.s) && this.get(e29.s); + let n = e29 == null ? void 0 : e29.interceptorStyle; + return n ? { ...t, ...n } : t; + } + _generateCacheMap() { + let { _styles: e29, _cacheMap: t } = this; + for (let n in e29) { + let r = JSON.stringify(e29[n]); + t.set(r, n); + } + } + _getExistingStyleId(e29) { + let { _styles: t } = this; + for (let n in t) if (D.diffValue(t[n], e29)) return n; + return null; + } + }; + var Gl = { t: 0, b: 2, l: 2, r: 2 }; + var Kl = (e29) => ({ sbr: 0.6, sbo: e29, spr: 0.6, spo: e29 }); + function ql(e29, t, n = {}) { + let r = e29.length, { textRotation: i, paddingData: a, horizontalAlign: o = Yn.UNSPECIFIED, verticalAlign: s = Xn.UNSPECIFIED, wrapStrategy: c = Zn.UNSPECIFIED, cellValueType: l } = n, { t: u, r: d, b: f, l: p } = a || Gl, { vertexAngle: m, centerAngle: h } = tu(i); + return new _c({ id: `d`, body: { dataStream: `${e29}\r +`, textRuns: [{ ts: t, st: 0, ed: r }], paragraphs: [{ startIndex: r, paragraphStyle: { horizontalAlign: o } }], sectionBreaks: [{ startIndex: r + 1 }] }, documentStyle: { pageSize: { width: 1 / 0, height: 1 / 0 }, marginTop: u, marginBottom: f, marginRight: d, marginLeft: p, renderConfig: { horizontalAlign: o, verticalAlign: s, centerAngle: h, vertexAngle: m, wrapStrategy: c, cellValueType: l } }, drawings: {}, drawingsOrder: [] }); + } + function Jl(e29) { + if (!e29) return {}; + let { tr: t, td: n, ht: r, vt: i, tb: a, pd: o } = e29; + return { textRotation: t, textDirection: n, horizontalAlign: r, verticalAlign: i, wrapStrategy: a, paddingData: o }; + } + function Yl(e29) { + if (!e29) return {}; + let { ff: t, fs: n, it: r, bl: i, ul: a, st: o, ol: s, cl: c } = e29, l = {}; + return t && (l.ff = t), n && (l.fs = n), r && (l.it = r), i && (l.bl = i), a && (l.ul = a), o && (l.st = o), s && (l.ol = s), c && (l.cl = c), l; + } + function Xl(e29, t, n) { + var r; + let i = e29.getBody(); + if ((r = i.customRanges) != null && r.some((e30) => e30.rangeType === or.HYPERLINK)) return; + let a = Z.customRange.add({ ranges: [{ startOffset: 0, endOffset: i.dataStream.length - 1, collapsed: false }], rangeId: n, rangeType: or.HYPERLINK, body: i, properties: { url: t, refId: n } }); + a && Y.apply(i, a.serialize()); + } + function Zl(e29) { + return e29 != null; + } + function $l(e29) { + let t = W.ff, n = W.fs; + if (!e29) { + let e30 = `${n}pt ${t}`; + return { fontCache: e30, fontString: e30, fontSize: n, originFontSize: n, fontFamily: t }; + } + let r = Er.ITALIC; + (e29.it === 0 || e29.it === void 0) && (r = Er.NORMAL); + let i = Er.BOLD; + (e29.bl === 0 || e29.bl === void 0) && (i = Er.NORMAL); + let a = n; + e29.fs && (a = Math.ceil(e29.fs)); + let o = t; + if (e29.ff) { + let n2 = e29.ff; + n2 = n2.replace(/"/g, ``).replace(/'/g, ``), n2.indexOf(` `) > -1 && (n2 = `"${n2}"`), n2 == null && (n2 = t), o = n2; + } + let { va: s } = e29, c = a; + if (s === er.SUBSCRIPT || s === er.SUPERSCRIPT) { + let { sbr: e30, spr: t2 } = eu(o, c); + c *= s === er.SUBSCRIPT ? e30 : t2; + } + let l = `${r} ${i} ${c}pt ${o}`; + return { fontCache: l, fontString: `${l}, "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif `, fontSize: c, originFontSize: a, fontFamily: o }; + } + function eu(e29, t) { + return Kl(t); + } + function tu(e29) { + let { a: t = 0, v: n = A.FALSE } = e29 || { a: 0, v: A.FALSE }, r = 0, i = t; + return n === A.TRUE && (r = 90, i = 90), { centerAngle: r, vertexAngle: i }; + } + function Q(e29) { + if (typeof e29 != `object` || !e29) return e29; + if (Array.isArray(e29)) { + let t2 = e29.length, n2 = Array(t2); + for (let r = 0; r < t2; r++) n2[r] = Q(e29[r]); + return n2; + } + let t = {}, n = Object.keys(e29); + for (let r = 0, i = n.length; r < i; r++) { + let i2 = n[r]; + t[i2] = Q(e29[i2]); + } + return t; + } + function nu(e29) { + if (e29 == null) return e29; + let t = {}; + return e29.p !== void 0 && (t.p = e29.p === null ? null : Q(e29.p)), e29.s !== void 0 && (e29.s === null || typeof e29.s == `string` ? t.s = e29.s : t.s = Q(e29.s)), e29.v !== void 0 && (t.v = e29.v), e29.t !== void 0 && (t.t = e29.t), e29.f !== void 0 && (t.f = e29.f), e29.ref !== void 0 && (t.ref = e29.ref), e29.xf !== void 0 && (t.xf = e29.xf), e29.si !== void 0 && (t.si = e29.si), e29.custom !== void 0 && (t.custom = e29.custom === null ? null : Q(e29.custom)), t; + } + function iu(e29) { + let t = {}, n = Object.keys(e29); + for (let r = 0, i = n.length; r < i; r++) { + let i2 = n[r], a = Number(i2), o = e29[a]; + if (o === void 0) continue; + let s = {}, c = Object.keys(o); + for (let e30 = 0, t2 = c.length; e30 < t2; e30++) { + let t3 = c[e30], n2 = Number(t3), r2 = o[n2]; + r2 != null && (s[n2] = nu(r2)); + } + t[a] = s; + } + return t; + } + function au(e29) { + let t = {}, n = Object.keys(e29); + for (let r = 0, i = n.length; r < i; r++) { + let i2 = n[r], a = Number(i2), o = e29[a]; + if (o === void 0) continue; + let s = {}; + `h` in o && o.h !== void 0 && (s.h = o.h), `ia` in o && o.ia !== void 0 && (s.ia = o.ia), `ah` in o && o.ah !== void 0 && (s.ah = o.ah), `hd` in o && o.hd !== void 0 && (s.hd = o.hd), `w` in o && o.w !== void 0 && (s.w = o.w), `s` in o && o.s !== void 0 && (o.s === null || typeof o.s == `string` ? s.s = o.s : s.s = Q(o.s)), `custom` in o && o.custom !== void 0 && (s.custom = o.custom === null ? null : Q(o.custom)), t[a] = s; + } + return t; + } + function ou(e29) { + let t = e29.length, n = Array(t); + for (let r = 0; r < t; r++) { + let t2 = e29[r]; + n[r] = { startRow: t2.startRow, startColumn: t2.startColumn, endRow: t2.endRow, endColumn: t2.endColumn, rangeType: t2.rangeType, startAbsoluteRefType: t2.startAbsoluteRefType, endAbsoluteRefType: t2.endAbsoluteRefType }; + } + return n; + } + function su(e29) { + let t = { id: e29.id, name: e29.name, tabColor: e29.tabColor, hidden: e29.hidden, rowCount: e29.rowCount, columnCount: e29.columnCount, zoomRatio: e29.zoomRatio, scrollTop: e29.scrollTop, scrollLeft: e29.scrollLeft, defaultColumnWidth: e29.defaultColumnWidth, defaultRowHeight: e29.defaultRowHeight, showGridlines: e29.showGridlines, rightToLeft: e29.rightToLeft, freeze: { xSplit: e29.freeze.xSplit, ySplit: e29.freeze.ySplit, startRow: e29.freeze.startRow, startColumn: e29.freeze.startColumn }, rowHeader: { width: e29.rowHeader.width, hidden: e29.rowHeader.hidden }, columnHeader: { height: e29.columnHeader.height, hidden: e29.columnHeader.hidden }, mergeData: ou(e29.mergeData), cellData: iu(e29.cellData), rowData: au(e29.rowData), columnData: au(e29.columnData) }; + return e29.gridlinesColor !== void 0 && (t.gridlinesColor = e29.gridlinesColor), e29.defaultStyle !== void 0 && (e29.defaultStyle === null || typeof e29.defaultStyle == `string` ? t.defaultStyle = e29.defaultStyle : t.defaultStyle = Q(e29.defaultStyle)), e29.custom !== void 0 && (t.custom = e29.custom === null ? null : Q(e29.custom)), t; + } + var cu = class { + constructor(e29, t) { + this._config = e29, C(this, `_columnData`, {}), this._columnData = t; + } + getColumnData() { + return this._columnData; + } + getColVisible(e29) { + let { _columnData: t } = this, n = t[e29]; + return n ? n.hd !== A.TRUE : true; + } + getColumnStyle(e29) { + var t; + return (t = this._columnData[e29]) == null ? void 0 : t.s; + } + setColumnStyle(e29, t) { + let n = this.getColumnOrCreate(e29); + n.s = t; + } + getHiddenCols(e29 = 0, t = this.getSize() - 1) { + let n = [], r = false, i = -1; + for (let a = e29; a <= t; a++) { + let e30 = this.getColVisible(a); + r && e30 ? (r = false, n.push({ rangeType: B.COLUMN, startColumn: i, endColumn: a - 1, startRow: 0, endRow: 0 })) : !r && !e30 && (r = true, i = a); + } + return r && n.push({ startRow: 0, endRow: 0, startColumn: i, endColumn: t, rangeType: B.COLUMN }), n; + } + getVisibleCols(e29 = 0, t = this.getSize() - 1) { + let n = [], r = false, i = -1; + for (let a = e29; a <= t; a++) { + let e30 = this.getColVisible(a); + r && !e30 ? (r = false, n.push({ rangeType: B.COLUMN, startColumn: i, endColumn: a - 1, startRow: 0, endRow: 0 })) : !r && e30 && (r = true, i = a); + } + return r && n.push({ startRow: 0, endRow: 0, startColumn: i, endColumn: t, rangeType: B.COLUMN }), n; + } + getColumnDatas(e29, t) { + let n = {}, r = 0; + for (let i = e29; i < e29 + t; i++) { + let e30 = this.getColumn(i); + n[r] = e30 == null ? { w: this._config.defaultColumnWidth, hd: A.FALSE } : e30, r++; + } + return n; + } + getSize() { + return pa(this._columnData); + } + getColumnWidth(e29) { + var t, n; + return (t = (n = this._columnData[e29]) == null ? void 0 : n.w) == null ? this._config.defaultColumnWidth : t; + } + setColumnWidth(e29, t) { + let n = this._columnData[e29]; + t === this._config.defaultColumnWidth ? n && (delete n.w, Object.keys(n).length === 0 && delete this._columnData[e29]) : this._columnData[e29] = n ? { ...n, w: t } : { w: t }; + } + getColumn(e29) { + return this._columnData[e29]; + } + insertColumnsWithData(e29, t, n) { + let r = t - e29 + 1, i = Object.keys(this._columnData); + for (let t2 = i.length - 1; t2 >= 0; t2--) { + let n2 = Number(i[t2]); + n2 >= e29 && (this._columnData[n2 + r] = this._columnData[n2], delete this._columnData[n2]); + } + for (let r2 = e29; r2 <= t; r2++) { + let t2 = n == null ? void 0 : n[r2 - e29]; + t2 != null && Object.keys(t2).length > 0 && (this._columnData[r2] = { ...t2 }); + } + } + removeColumn(e29) { + delete this._columnData[e29]; + } + getColumnOrCreate(e29) { + let { _columnData: t } = this, n = t[e29]; + if (n) return n; + let r = {}; + return this._columnData[e29] = r, r; + } + setCustomMetadata(e29, t) { + let n = this.getColumn(e29); + n && (n.custom = t); + } + getCustomMetadata(e29) { + var t; + return (t = this.getColumn(e29)) == null ? void 0 : t.custom; + } + }; + var lu = class { + constructor(e29, t, n) { + this._config = e29, this._viewModel = t, C(this, `_rowData`, void 0), this._rowData = n; + } + getRowData() { + return this._rowData; + } + getRowStyle(e29) { + var t; + return (t = this._rowData[e29]) == null ? void 0 : t.s; + } + setRowStyle(e29, t) { + let n = this.getRowOrCreate(e29); + n.s = t; + } + getRowDatas(e29, t) { + let n = {}, r = 0; + for (let i = e29; i < e29 + t; i++) { + let e30 = this.getRow(i); + n[r] = e30 == null ? { h: this._config.defaultRowHeight, hd: A.FALSE } : e30, r++; + } + return n; + } + getRowHeight(e29, t = 1) { + let { _rowData: n } = this, r = this._config, i = 0; + for (let a = 0; a < t; a++) { + let { ia: t2, ah: o, h: s = r.defaultRowHeight } = n[a + e29] || { hd: A.FALSE, h: r.defaultRowHeight }; + i += (t2 == null || t2 === A.TRUE) && typeof o == `number` ? o : s; + } + return i; + } + setRowHeight(e29, t) { + let n = this._rowData[e29]; + if (t === this._config.defaultRowHeight) n && (delete n.h, Object.keys(n).length === 0 && delete this._rowData[e29]); + else { + let r = Math.min(t, 2e3); + this._rowData[e29] = n ? { ...n, h: r } : { h: r }; + } + } + getRow(e29) { + return this._rowData[e29]; + } + insertRowsWithData(e29, t, n) { + let r = t - e29 + 1, i = Object.keys(this._rowData); + for (let t2 = i.length - 1; t2 >= 0; t2--) { + let n2 = Number(i[t2]); + n2 >= e29 && (this._rowData[n2 + r] = this._rowData[n2], delete this._rowData[n2]); + } + for (let r2 = e29; r2 <= t; r2++) { + let t2 = n == null ? void 0 : n[r2 - e29]; + t2 != null && Object.keys(t2).length > 0 && (this._rowData[r2] = { ...t2 }); + } + } + removeRow(e29) { + delete this._rowData[e29]; + } + getRowOrCreate(e29) { + let { _rowData: t } = this, n = t[e29]; + if (n) return n; + let r = {}; + return t[e29] = r, r; + } + getHiddenRows(e29 = 0, t = this.getSize() - 1) { + let n = [], r = false, i = -1; + for (let a = e29; a <= t; a++) { + let e30 = this.getRowRawVisible(a); + r && e30 ? (r = false, n.push({ startRow: i, endRow: a - 1, startColumn: 0, endColumn: 0, rangeType: B.ROW })) : !r && !e30 && (r = true, i = a); + } + return r && n.push({ startRow: i, endRow: t, startColumn: 0, endColumn: 0, rangeType: B.ROW }), n; + } + getVisibleRows(e29 = 0, t = this.getSize() - 1) { + let n = [], r = false, i = -1; + for (let a = e29; a <= t; a++) { + let e30 = this.getRowRawVisible(a); + r && !e30 ? (r = false, n.push({ startRow: i, endRow: a - 1, startColumn: 0, endColumn: 0, rangeType: B.ROW })) : !r && e30 && (r = true, i = a); + } + return r && n.push({ startRow: i, endRow: t, startColumn: 0, endColumn: 0, rangeType: B.ROW }), n; + } + getRowRawVisible(e29) { + let t = this.getRow(e29); + return t ? t.hd !== A.TRUE : true; + } + getSize() { + return pa(this._rowData); + } + setCustomMetadata(e29, t) { + let n = this.getRow(e29); + n && (n.custom = t); + } + getCustomMetadata(e29) { + var t; + return (t = this.getRow(e29)) == null ? void 0 : t.custom; + } + }; + var du = 1e3; + function Su(e29) { + let t = { name: `Sheet1`, id: `sheet-01`, tabColor: ``, hidden: A.FALSE, rowCount: du, columnCount: 20, zoomRatio: 1, freeze: { xSplit: 0, ySplit: 0, startRow: -1, startColumn: -1 }, scrollTop: 0, scrollLeft: 0, defaultColumnWidth: 88, defaultRowHeight: 24, mergeData: [], cellData: {}, rowData: {}, columnData: {}, showGridlines: A.TRUE, rowHeader: { width: 46, hidden: A.FALSE }, columnHeader: { height: 20, hidden: A.FALSE }, rightToLeft: A.FALSE }; + return Object.keys(t).forEach((n) => { + let r = n; + e29[r] === void 0 && (e29[r] = t[r]); + }), e29; + } + var Cu = class extends E { + constructor(e29) { + super(), C(this, `_cellCache`, /* @__PURE__ */ new Map()), C(this, `_rowCache`, /* @__PURE__ */ new Map()), C(this, `_columnCache`, /* @__PURE__ */ new Map()), C(this, `_hasRow`, false), C(this, `_hasColumn`, false), C(this, `_hasAll`, false), C(this, `_allIndex`, -1), C(this, `_mergeData`, void 0), C(this, `_rangeMap`, new so(5e4)), this._init(e29.concat()); + } + _init(e29) { + this._mergeData = e29, this._createCache(e29); + } + _clearCache() { + this._cellCache.clear(), this._rowCache.clear(), this._columnCache.clear(), this._hasAll = false, this._allIndex = -1, this._rangeMap.clear(), this._hasColumn = false, this._hasRow = false; + } + _createCache(e29) { + let t = 0; + for (let n of e29) { + let { rangeType: e30 } = n; + e30 === B.ROW ? this._createRowCache(n, t) : e30 === B.COLUMN ? this._createColumnCache(n, t) : e30 === B.ALL ? this._createCellAllCache(t) : this._createCellCache(n, t), t++; + } + } + rebuild(e29) { + this._clearCache(), this._init(e29.concat()); + } + _createRowCache(e29, t) { + let { startRow: n, endRow: r } = e29; + for (let e30 = n; e30 <= r; e30++) this._rowCache.set(e30, t), this._hasRow = true; + } + _createColumnCache(e29, t) { + let { startColumn: n, endColumn: r } = e29; + for (let e30 = n; e30 <= r; e30++) this._columnCache.set(e30, t), this._hasColumn = true; + } + _createCellAllCache(e29) { + this._hasAll = true, this._allIndex = e29; + } + _createCellCache(e29, t) { + for (let n = e29.startRow; n <= e29.endRow; n++) { + let r = this._cellCache.get(n); + r == null && (r = /* @__PURE__ */ new Map(), this._cellCache.set(n, r)); + for (let n2 = e29.startColumn; n2 <= e29.endColumn; n2++) r.set(n2, t); + } + } + add(e29) { + this._mergeData.push(e29), this._clearCache(), this._createCache(this._mergeData); + } + remove(e29, t) { + let n = this._getMergeDataIndex(e29, t); + n !== -1 && (this._mergeData.splice(n, 1), this._clearCache(), this._createCache(this._mergeData)); + } + getMergedCell(e29, t) { + let n = this._getMergeDataIndex(e29, t); + return n === -1 ? null : this._mergeData[n]; + } + getMergeDataIndex(e29, t) { + return this._getMergeDataIndex(e29, t); + } + isRowContainsMergedCell(e29) { + return this._hasAll || !D.isEmptyObject(this._columnCache) ? true : this._mergeData.some((t) => t.startRow <= e29 && e29 <= t.endRow); + } + isColumnContainsMergedCell(e29) { + return this._hasAll || !D.isEmptyObject(this._rowCache) ? true : this._mergeData.some((t) => t.startColumn <= e29 && e29 <= t.endColumn); + } + getMergedCellRange(e29, t, n, r) { + let i = [], a = `${e29}-${t}-${n}-${r}`; + if (this._rangeMap.has(a)) return this._getRangeFromCache(a); + let o = 0, s = []; + for (let a2 of this._mergeData || []) G.intersects(a2, { startRow: e29, endRow: n, startColumn: t, endColumn: r }) && (i.push({ ...a2 }), s.push(o)), o++; + return this._rangeMap.set(a, s), i; + } + _getRangeFromCache(e29) { + let t = this._rangeMap.get(e29) || [], n = []; + for (let e30 of t) n.push({ ...this._mergeData[e30] }); + return n; + } + _getMergeDataIndex(e29, t) { + var n; + if (this._hasAll) return this._allIndex; + if (this._hasRow) { + let t2 = this._rowCache.get(e29); + if (t2 !== void 0) return t2; + } + if (this._hasColumn) { + let e30 = this._columnCache.get(t); + if (e30 !== void 0) return e30; + } + let r = (n = this._cellCache.get(e29)) == null ? void 0 : n.get(t); + return r === void 0 ? -1 : r; + } + getMergeDataSnapshot() { + return this._mergeData; + } + dispose() { + this._clearCache(), this._mergeData = []; + } + }; + var wu = class extends E { + constructor(e29) { + super(), this.getRawCell = e29, C(this, `_cellContentInterceptor`, null), C(this, `_rowFilteredInterceptor`, null); + } + dispose() { + super.dispose(), this._cellContentInterceptor = null, this._rowFilteredInterceptor = null; + } + getCell(e29, t, n, r) { + return this._cellContentInterceptor ? this._cellContentInterceptor.getCell(e29, t, At.Value | At.Style, n, r) : this.getRawCell(e29, t); + } + getCellValueOnly(e29, t) { + return this._cellContentInterceptor ? this._cellContentInterceptor.getCell(e29, t, At.Value) : this.getRawCell(e29, t); + } + getCellStyleOnly(e29, t) { + return this._cellContentInterceptor ? this._cellContentInterceptor.getCell(e29, t, At.Style) : this.getRawCell(e29, t); + } + getRowFiltered(e29) { + var t, n; + return (t = (n = this._rowFilteredInterceptor) == null ? void 0 : n.getRowFiltered(e29)) == null ? false : t; + } + registerCellContentInterceptor(e29) { + if (this._cellContentInterceptor) throw Error(`[SheetViewModel]: Interceptor already registered.`); + return this._cellContentInterceptor = e29, T2(() => this._cellContentInterceptor = null); + } + registerRowFilteredInterceptor(e29) { + if (this._rowFilteredInterceptor) throw Error(`[SheetViewModel]: Interceptor already registered.`); + return this._rowFilteredInterceptor = e29, T2(() => this._rowFilteredInterceptor = null); + } + }; + var Tu = { isDeepClone: false, displayRawFormula: false, ignoreTextRotation: false }; + var Eu = class e17 { + constructor(e29, t, n) { + var r; + this.unitId = e29, this._styles = n, C(this, `_sheetId`, void 0), C(this, `_snapshot`, void 0), C(this, `_cellData`, void 0), C(this, `_rowManager`, void 0), C(this, `_columnManager`, void 0), C(this, `_viewModel`, void 0), C(this, `_spanModel`, void 0), C(this, `_isRowStylePrecedeColumnStyle`, true), C(this, `_getCellHeight`, void 0), this._snapshot = Su(t); + let { columnData: i, rowData: a, cellData: o } = this._snapshot; + this._sheetId = (r = this._snapshot.id) == null ? O2(6) : r, this._cellData = new Sa(o), this._viewModel = new wu((e30, t2) => this.getCellRaw(e30, t2)), this._rowManager = new lu(this._snapshot, this._viewModel, a), this._columnManager = new cu(this._snapshot, i), this._spanModel = new Cu(this._snapshot.mergeData); + } + __interceptViewModel(e29) { + e29(this._viewModel); + } + __registerGetCellHeight(e29) { + return this._getCellHeight = e29, T2(() => { + this._getCellHeight = null; + }); + } + getSnapshot() { + return this._snapshot; + } + getCellHeight(e29, t) { + return this._getCellHeight ? this._getCellHeight(e29, t) : this._snapshot.defaultRowHeight; + } + setMergeData(e29) { + this._snapshot.mergeData = e29, this.getSpanModel().rebuild(e29); + } + getSpanModel() { + return this._spanModel; + } + setIsRowStylePrecedeColumnStyle(e29) { + this._isRowStylePrecedeColumnStyle = e29; + } + getStyleDataByHash(e29) { + return { ...this._styles.get(e29) }; + } + setStyleData(e29) { + return this._styles.setValue(e29); + } + getColumnStyle(e29, t = false) { + return t ? this._columnManager.getColumnStyle(e29) : this._styles.get(this._columnManager.getColumnStyle(e29)); + } + setColumnStyle(e29, t) { + this._columnManager.setColumnStyle(e29, t); + } + getRowStyle(e29, t = false) { + return t ? this._rowManager.getRowStyle(e29) : this._styles.get(this._rowManager.getRowStyle(e29)); + } + setRowStyle(e29, t) { + this._rowManager.setRowStyle(e29, t); + } + getDefaultCellStyle() { + return this._snapshot.defaultStyle; + } + getDefaultCellStyleInternal() { + let e29 = this._snapshot.defaultStyle; + return this._styles.get(e29); + } + setDefaultCellStyle(e29) { + this._snapshot.defaultStyle = e29; + } + getCellStyle(e29, t) { + let n = this.getCell(e29, t); + if (n) { + let e30 = n.s; + return typeof e30 == `string` ? this._styles.get(e30) : e30; + } + return null; + } + getComposedCellStyle(e29, t, n) { + let r = this.getDefaultCellStyleInternal(), i = this.getRowStyle(e29), a = this.getColumnStyle(t), o = this.getCell(e29, t), s = this._styles.getStyleByCell(o); + return (n == null ? this._isRowStylePrecedeColumnStyle : n) ? wn(r, a, i, o == null ? void 0 : o.themeStyle, s) : wn(r, i, a, o == null ? void 0 : o.themeStyle, s); + } + getComposedCellStyleByCellData(e29, t, n, r) { + let i = this.getDefaultCellStyleInternal(), a = this.getRowStyle(e29), o = this.getColumnStyle(t), s = this._styles.getStyleByCell(n); + return (r == null ? this._isRowStylePrecedeColumnStyle : r) ? wn(i, o, a, n == null ? void 0 : n.themeStyle, s) : wn(i, a, o, n == null ? void 0 : n.themeStyle, s); + } + getComposedCellStyleWithoutSelf(e29, t, n, r) { + let i = n === void 0 ? this.getComposedCellStyle(e29, t, r) : this.getComposedCellStyleByCellData(e29, t, n, r), a = this.getCellRaw(e29, t); + if (!a || !a.s) return i; + let o = typeof a.s == `string` ? this._styles.get(a.s) : a.s; + if (!o) return i; + for (let e30 in o) e30 in i && delete i[e30]; + return i; + } + getCellMatrix() { + return this._cellData; + } + getCellMatrixPrintRange() { + let e29 = this.getCellMatrix(), t = this.getMergeData(), n = -1, r = -1, i = -1, a = -1, o = false, s = false; + return e29.forEach((t2, c) => { + Object.keys(c).forEach((c2) => { + let l = +c2, u = e29.getValue(t2, l), d = u != null && u.s ? this._styles.get(u.s) : null, f = (d == null ? void 0 : d.bd) && (d.bd.b || d.bd.l || d.bd.r || d.bd.t || d.bd.bc_tr || d.bd.bl_tr || d.bd.ml_tr || d.bd.tl_bc || d.bd.tl_br || d.bd.tl_mr); + (u && (u.v !== null && u.v !== void 0 && u.v !== `` || u.p) || d != null && d.bg || f) && (o ? n = Math.min(n, t2) : (n = t2, o = true), r = Math.max(r, t2), s ? i = Math.min(i, l) : (s = true, i = l), a = Math.max(a, l)); + }); + }), t.forEach((e30) => { + o ? n = Math.min(n, e30.startRow) : (n = e30.startRow, o = true), r = Math.max(r, e30.endRow), s ? i = Math.min(i, e30.startColumn) : (i = e30.startColumn, o = true), a = Math.max(a, e30.endColumn); + }), !o || !s ? null : { startColumn: i, startRow: n, endColumn: a, endRow: r }; + } + getRowManager() { + return this._rowManager; + } + getUnitId() { + return this.unitId; + } + getSheetId() { + return this._sheetId; + } + getColumnManager() { + return this._columnManager; + } + getName() { + return this._snapshot.name; + } + clone() { + let { _snapshot: t } = this, n = su(t); + return new e17(this.unitId, n, this._styles); + } + getMergeData() { + return this._spanModel.getMergeDataSnapshot(); + } + getMergedCell(e29, t) { + return this._spanModel.getMergedCell(e29, t); + } + getMergedCellRange(e29, t, n, r) { + return this._spanModel.getMergedCellRange(e29, t, n, r); + } + isRowContainsMergedCell(e29) { + return this._spanModel.isRowContainsMergedCell(e29); + } + isColumnContainsMergedCell(e29) { + return this._spanModel.isColumnContainsMergedCell(e29); + } + getCellInfoInMergeData(e29, t) { + let n = this.getMergedCell(e29, t), r = false, i = false, a = e29, o = t, s = e29, c = t; + if (n) { + let { startRow: l, endRow: u, startColumn: d, endColumn: f } = n; + e29 === l && t === d ? (a = u, o = f, s = l, c = d, i = true) : e29 >= l && e29 <= u && t >= d && t <= f && (a = u, o = f, s = l, c = d, r = true); + } + return { actualRow: e29, actualColumn: t, isMergedMainCell: i, isMerged: r, endRow: a, endColumn: o, startRow: s, startColumn: c }; + } + getCell(e29, t) { + return e29 < 0 || t < 0 ? null : this._viewModel.getCell(e29, t); + } + getCellValueOnly(e29, t) { + return e29 < 0 || t < 0 ? null : this._viewModel.getCellValueOnly(e29, t); + } + getCellStyleOnly(e29, t) { + return e29 < 0 || t < 0 ? null : this._viewModel.getCellStyleOnly(e29, t); + } + getCellRaw(e29, t) { + return this.getCellMatrix().getValue(e29, t); + } + getCellWithFilteredInterceptors(e29, t, n, r) { + return this._viewModel.getCell(e29, t, n, r); + } + getRowFiltered(e29) { + return this._viewModel.getRowFiltered(e29); + } + getRangeFilterRows(e29) { + let t = []; + for (let n = e29.startRow; n <= e29.endRow; n++) this.getRowFiltered(n) && t.push(n); + return t; + } + getMatrixWithMergedCells(e29, t, n, r, i = ea.Raw) { + let a = this.getCellMatrix(), o = this._spanModel.getMergedCellRange(e29, t, n, r), s = new Sa(); + return Uo(e29, n, t, r).forEach((e30, t2) => { + let n2; + if (i === ea.Raw) n2 = this.getCellRaw(e30, t2); + else if (i === ea.Intercepted) n2 = this.getCell(e30, t2); + else if (i === ea.Both) { + let i2 = this.getCellRaw(e30, t2); + if (i2) { + var r2; + n2 = { ...i2 }; + let a2 = (r2 = this.getCell(e30, t2)) == null ? void 0 : r2.v; + Zl(a2) && n2 && (n2.displayV = String(a2)); + } + } + n2 && s.setValue(e30, t2, n2); + }), o.forEach((e30) => { + let { startColumn: t2, startRow: n2, endColumn: r2, endRow: i2 } = e30; + Uo(n2, i2, t2, r2).forEach((e31, o2) => { + e31 === n2 && o2 === t2 && s.setValue(e31, o2, { ...a.getValue(e31, o2), rowSpan: i2 - n2 + 1, colSpan: r2 - t2 + 1 }), (e31 !== n2 || o2 !== t2) && s.realDeleteValue(e31, o2); + }); + }), s; + } + getRange(e29, t, n, r) { + return typeof e29 == `object` ? new Eo(this, e29, { getStyles: () => this._styles }) : new Eo(this, { startRow: e29, startColumn: t, endColumn: r || t, endRow: n || e29 }, { getStyles: () => this._styles }); + } + getScrollLeftTopFromSnapshot() { + return { scrollLeft: this._snapshot.scrollLeft, scrollTop: this._snapshot.scrollTop }; + } + getZoomRatio() { + return this._snapshot.zoomRatio || 1; + } + getConfig() { + return this._snapshot; + } + getFreeze() { + return this._snapshot.freeze; + } + getMaxColumns() { + let { _snapshot: e29 } = this, { columnCount: t } = e29; + return t; + } + getMaxRows() { + let { _snapshot: e29 } = this, { rowCount: t } = e29; + return t; + } + getRowCount() { + return this._snapshot.rowCount; + } + setRowCount(e29) { + this._snapshot.rowCount = e29; + } + getColumnCount() { + return this._snapshot.columnCount; + } + setColumnCount(e29) { + this._snapshot.columnCount = e29; + } + isSheetHidden() { + return this._snapshot.hidden; + } + hasHiddenGridlines() { + let { _snapshot: e29 } = this, { showGridlines: t } = e29; + return t === 0; + } + getGridlinesColor() { + return this.getConfig().gridlinesColor; + } + getTabColor() { + let { _snapshot: e29 } = this, { tabColor: t } = e29; + return t; + } + getColumnWidth(e29) { + return this.getColumnManager().getColumnWidth(e29); + } + getRowHeight(e29) { + return this._viewModel.getRowFiltered(e29) ? 0 : this.getRowManager().getRowHeight(e29); + } + isRowFiltered(e29) { + return this._viewModel.getRowFiltered(e29); + } + getRowVisible(e29) { + return !this.isRowFiltered(e29) && this.getRowRawVisible(e29); + } + getRowRawVisible(e29) { + return this.getRowManager().getRowRawVisible(e29); + } + getHiddenRows(e29, t) { + let n = this.getMaxColumns() - 1, r = this._rowManager.getHiddenRows(e29, t); + return r.forEach((e30) => e30.endColumn = n), r; + } + getColVisible(e29) { + return this._columnManager.getColVisible(e29); + } + getHiddenCols(e29, t) { + let n = this.getMaxRows() - 1, r = this._columnManager.getHiddenCols(e29, t); + return r.forEach((e30) => e30.endRow = n), r; + } + getVisibleRows() { + let e29 = this.getRowCount(); + return this._rowManager.getVisibleRows(0, e29 - 1); + } + getVisibleCols() { + let e29 = this.getColumnCount(); + return this._columnManager.getVisibleCols(0, e29 - 1); + } + isRightToLeft() { + let { _snapshot: e29 } = this, { rightToLeft: t } = e29; + return t; + } + getLastRowWithContent() { + return this._cellData.getRealRowRange().endRow; + } + getLastColumnWithContent() { + return this.getDataRealRange().endColumn; + } + getDataRealRange() { + return this._cellData.getRealRange(); + } + getDataRangeScope() { + return this._cellData.getStartEndScope(); + } + cellHasValue(e29) { + return e29 && (e29.v !== void 0 || e29.f !== void 0 || e29.p !== void 0); + } + iterateByRow(e29, t = true) { + let { startRow: n, startColumn: r, endRow: i, endColumn: a } = e29, o = this; + return { [Symbol.iterator]: () => { + let e30 = n, s = r; + return { next() { + for (; ; ) { + if (s > a && (e30 += 1, s = r), e30 > i) return { done: true, value: void 0 }; + let n2 = o.getCell(e30, s), c = !n2, l = o.getMergedCell(e30, s); + if (l) { + if (e30 !== l.startRow || s !== l.startColumn) { + s = l.endColumn + 1; + continue; + } + if (c && t) { + s = l.endColumn + 1; + continue; + } + let r2 = { row: e30, col: s, value: n2 }; + return r2.colSpan = l.endColumn - l.startColumn + 1, r2.rowSpan = l.endRow - l.startRow + 1, s = l.endColumn + 1, { done: false, value: r2 }; + } + if (c && t) s += 1; + else { + let t2 = { row: e30, col: s, value: n2 }; + return s += 1, { done: false, value: t2 }; + } + } + } }; + } }; + } + iterateByColumn(e29, t = true, n = true) { + let { startRow: r, startColumn: i, endRow: a, endColumn: o } = e29, s = this; + return { [Symbol.iterator]: () => { + let e30 = r, c = i; + return { next() { + for (; ; ) { + if (e30 > a && (c += 1, e30 = r), c > o) return { done: true, value: void 0 }; + let i2 = s.getMergedCell(e30, c); + if (i2) { + let r2 = e30 !== i2.startRow, a2 = r2 || c !== i2.startColumn; + if (n && a2 || !n && r2) { + e30 = i2.endRow + 1; + continue; + } + let o2 = s.getCell(i2.startRow, i2.startColumn); + if (!o2 && t) { + e30 = i2.endRow + 1; + continue; + } + let l2 = { row: e30, col: i2.startColumn, value: o2 }; + return l2.colSpan = i2.endColumn - i2.startColumn + 1, l2.rowSpan = i2.endRow - i2.startRow + 1, e30 = i2.endRow + 1, { done: false, value: l2 }; + } + let l = s.getCell(e30, c); + if (!l && t) e30 += 1; + else { + let t2 = { row: e30, col: c, value: l }; + return e30 += 1, { done: false, value: t2 }; + } + } + } }; + } }; + } + getCellDocumentModel(e29, t, n = Tu) { + var r; + if (!e29) return; + let { isDeepClone: i, displayRawFormula: a, ignoreTextRotation: o } = { ...Tu, ...n }, s, c = `document`, l = Jl(t), u = o ? W.tr : l.textRotation || W.tr, d = l.horizontalAlign || W.ht, f = l.verticalAlign || W.vt, p = l.wrapStrategy || W.tb, m = l.paddingData || Gl; + if (e29.f && a) s = ql(e29.f.toString(), {}, { verticalAlign: f }), d = W.ht; + else if (e29.p) { + let { centerAngle: t2, vertexAngle: n2 } = tu(u); + s = this._updateConfigAndGetDocumentModel(i ? D.deepClone(e29.p) : e29.p, d, m, { horizontalAlign: d, verticalAlign: f, centerAngle: t2, vertexAngle: n2, wrapStrategy: p, zeroWidthParagraphBreak: 1 }); + } else if (e29.v != null) { + let n2 = Yl(t); + c = $l(n2).fontCache; + let r2 = Du(e29); + e29.t === tr.FORCE_STRING && a && (r2 = `'${r2}`), s = ql(r2, n2, { ...l, textRotation: u, cellValueType: e29.t }); + } + return s && e29.linkUrl && e29.linkId && Xl(s, e29.linkUrl, e29.linkId), { documentModel: s, fontString: c, textRotation: u, wrapStrategy: p, verticalAlign: f, horizontalAlign: d, paddingData: m, fill: t == null || (r = t.bg) == null ? void 0 : r.rgb }; + } + _updateConfigAndGetDocumentModel(e29, t, n, r) { + var i, a, o, s, c; + if (!r || !((i = e29.body) != null && i.dataStream)) return; + e29.documentStyle || (e29.documentStyle = {}), e29.documentStyle.marginTop = (a = n.t) == null ? 0 : a, e29.documentStyle.marginBottom = (o = n.b) == null ? 2 : o, e29.documentStyle.marginLeft = (s = n.l) == null ? 2 : s, e29.documentStyle.marginRight = (c = n.r) == null ? 2 : c, e29.documentStyle.pageSize = { width: 1 / 0, height: 1 / 0 }, e29.documentStyle.renderConfig = { ...e29.documentStyle.renderConfig, ...r }; + let l = e29.body.paragraphs || []; + for (let e30 of l) e30.paragraphStyle || (e30.paragraphStyle = {}), e30.paragraphStyle.horizontalAlign = t; + return new _c(e29); + } + getBlankCellDocumentModel(e29, t, n) { + let r = this.getComposedCellStyleByCellData(t, n, e29), i = Yl(r), a = this.getCellDocumentModel(e29, r, { ignoreTextRotation: true }); + if (a != null) return a.documentModel == null && (a.documentModel = ql(``, i)), a; + let o = `document`, s = W.tr, c = W.ht, l = W.vt, u = W.tb, d = Gl; + return o = $l({}).fontCache, { documentModel: ql(``, i), fontString: o, textRotation: s, wrapStrategy: u, verticalAlign: l, horizontalAlign: c, paddingData: d }; + } + getCellDocumentModelWithFormula(e29, t, n) { + let r = this.getComposedCellStyleByCellData(t, n, e29); + return this.getCellDocumentModel(e29, r, { isDeepClone: true, displayRawFormula: true, ignoreTextRotation: true }); + } + getCustomMetadata() { + return this._snapshot.custom; + } + setCustomMetadata(e29) { + this._snapshot.custom = e29; + } + }; + function Du(e29) { + var t; + if (!e29) return ``; + let n = (t = e29.p) == null || (t = t.body) == null ? void 0 : t.dataStream; + if (n) return Z.transform.getPlainText(n); + let r = e29.v; + return typeof r == `string` ? e29.t === tr.BOOLEAN ? r.toUpperCase() : r.replace(/[\r\n]/g, ``) : typeof r == `number` ? e29.t === tr.BOOLEAN ? r ? `TRUE` : `FALSE` : r.toString() : typeof r == `boolean` ? r ? `TRUE` : `FALSE` : ``; + } + var Au = class extends pn { + get _activeSheet() { + return this._activeSheet$.getValue(); + } + get name() { + return this._name$.getValue(); + } + static isIRangeType(e29) { + return typeof e29 == `string` || `startRow` in e29 || `row` in e29; + } + constructor(e29 = {}, t) { + super(), this._logService = t, C(this, `type`, O.UNIVER_SHEET), C(this, `_sheetCreated$`, new Subject()), C(this, `sheetCreated$`, this._sheetCreated$.asObservable()), C(this, `_sheetDisposed$`, new Subject()), C(this, `sheetDisposed$`, this._sheetDisposed$.asObservable()), C(this, `_activeSheet$`, new BehaviorSubject(null)), C(this, `activeSheet$`, this._activeSheet$.asObservable()), C(this, `_worksheets`, void 0), C(this, `_styles`, void 0), C(this, `_snapshot`, void 0), C(this, `_unitId`, void 0), C(this, `_count`, void 0), C(this, `_name$`, void 0), C(this, `name$`, void 0); + let n = Vl(); + D.isEmptyObject(e29) ? this._snapshot = n : this._snapshot = D.commonExtend(n, e29); + let { styles: r } = this._snapshot; + (this._snapshot.id == null || this._snapshot.id.length === 0) && (this._snapshot.id = O2(6)), this._unitId = this._snapshot.id, this._styles = new Hl(r), this._count = 1, this._worksheets = /* @__PURE__ */ new Map(), this._name$ = new BehaviorSubject(e29.name || ``), this.name$ = this._name$.asObservable(), this._parseWorksheetSnapshots(); + } + dispose() { + super.dispose(), this._sheetCreated$.complete(), this._sheetDisposed$.complete(), this._activeSheet$.complete(), this._name$.complete(), Array.from(this._worksheets.keys()).forEach((e29) => { + this._removeSheet(e29); + }); + } + save() { + return D.deepClone(this._snapshot); + } + getSnapshot() { + return this._snapshot; + } + getName() { + return this._snapshot.name; + } + setName(e29) { + this._name$.next(e29), this._snapshot.name = e29; + } + getUnitId() { + return this._unitId; + } + getRev() { + var e29; + return (e29 = this._snapshot.rev) == null ? 1 : e29; + } + incrementRev() { + this._snapshot.rev = this.getRev() + 1; + } + setRev(e29) { + this._snapshot.rev = e29; + } + addWorksheet(e29, t, n) { + let { sheets: r, sheetOrder: i } = this._snapshot; + if (r[e29]) return false; + r[e29] = n, i.splice(t, 0, e29), this.ensureSheetOrderUnique(); + let a = new Eu(this._unitId, n, this._styles); + return this._worksheets.set(e29, a), this._sheetCreated$.next(a), true; + } + getSheetOrders() { + return this._snapshot.sheetOrder; + } + ensureSheetOrderUnique() { + let e29 = /* @__PURE__ */ new Set(), t = []; + for (let n of this._snapshot.sheetOrder) e29.has(n) || (e29.add(n), t.push(n)); + this._snapshot.sheetOrder = t, e29.clear(); + } + getWorksheets() { + return this._worksheets; + } + getActiveSpreadsheet() { + return this; + } + getStyles() { + return this._styles; + } + addStyles(e29) { + Object.entries(e29).forEach(([e30, t]) => { + this._styles.addCustomStyle(e30, t); + }); + } + removeStyles(e29) { + e29.forEach((e30) => { + this._styles.remove(e30); + }); + } + getConfig() { + return this._snapshot; + } + getIndexBySheetId(e29) { + let { sheetOrder: t } = this._snapshot; + return t.findIndex((t2) => t2 === e29); + } + getActiveSheet(e29) { + if (!this._activeSheet && e29 === void 0) throw Error(`[Workbook]: no active Worksheet on Workbook ${this._unitId}!`); + return this._activeSheet; + } + ensureActiveSheet() { + let e29 = this._activeSheet; + if (e29) return e29; + let t = this._snapshot.sheetOrder; + for (let e30 = 0, n2 = t.length; e30 < n2; e30++) { + let n3 = this._worksheets.get(t[e30]); + if (n3 && n3.isSheetHidden() !== A.TRUE) return this.setActiveSheet(n3), n3; + } + let n = this._worksheets.get(t[0]); + return this.setActiveSheet(n), n; + } + setActiveSheet(e29) { + this._activeSheet$.next(e29); + } + _removeSheet(e29) { + let t = this._worksheets.get(e29); + return t ? (this._worksheets.delete(e29), this._snapshot.sheetOrder.splice(this._snapshot.sheetOrder.indexOf(e29), 1), this.ensureSheetOrderUnique(), this._sheetDisposed$.next(t), true) : false; + } + removeSheet(e29) { + let t = this._removeSheet(e29); + return t && delete this._snapshot.sheets[e29], t; + } + getActiveSheetIndex() { + let { sheetOrder: e29 } = this._snapshot; + return e29.findIndex((e30) => this._worksheets.get(e30) === this._activeSheet); + } + getSheetSize() { + return this._snapshot.sheetOrder.length; + } + getSheets() { + let { sheetOrder: e29 } = this._snapshot; + return e29.map((e30) => this._worksheets.get(e30)); + } + getSheetsName() { + let { sheetOrder: e29 } = this._snapshot, t = []; + return e29.forEach((e30) => { + let n = this._worksheets.get(e30); + n && t.push(n.getName()); + }), t; + } + getSheetIndex(e29) { + let { sheetOrder: t } = this._snapshot; + return t.findIndex((t2) => e29.getSheetId() === t2); + } + getSheetBySheetName(e29) { + let { sheetOrder: t } = this._snapshot, n = t.find((t2) => this._worksheets.get(t2).getName() === e29); + return this._worksheets.get(n); + } + getSheetBySheetId(e29) { + return this._worksheets.get(e29); + } + getSheetByIndex(e29) { + let { sheetOrder: t } = this._snapshot; + return this._worksheets.get(t[e29]); + } + getHiddenWorksheets() { + return this.getSheets().filter((e29) => e29.getConfig().hidden === A.TRUE).map((e29) => e29.getConfig().id); + } + getUnhiddenWorksheets() { + return this.getSheets().filter((e29) => e29.getConfig().hidden !== A.TRUE).map((e29) => e29.getConfig().id); + } + load(e29) { + this._snapshot = e29; + } + checkSheetName(e29) { + return this.getSheetsName().some((t) => t.toLowerCase() === e29.toLowerCase()); + } + uniqueSheetName(e29 = `Sheet1`) { + let t = e29; + for (; this.checkSheetName(t); ) t = e29 + this._count, this._count++; + return t; + } + generateNewSheetName(e29) { + let t = e29 + this._count; + for (; this.checkSheetName(t); ) t = e29 + this._count, this._count++; + return t; + } + _parseWorksheetSnapshots() { + let { _snapshot: e29, _worksheets: t } = this, { sheets: n, sheetOrder: r } = e29; + if (D.isEmptyObject(n)) { + let e30 = O2(); + n[e30] = { id: e30 }; + } + for (let e30 in n) { + let i = n[e30], { name: a } = i; + i.name = this.uniqueSheetName(a), i.name !== a && this._logService.debug(`[Workbook]`, `The worksheet name ${a} is duplicated, we changed it to ${i.name}. Please fix the problem in your snapshot.`); + let o = new Eu(this._unitId, i, this._styles); + t.set(e30, o), r.includes(e30) || r.push(e30); + } + this.ensureSheetOrderUnique(), this.ensureActiveSheet(); + } + getCustomMetadata() { + return this._snapshot.custom; + } + setCustomMetadata(e29) { + this._snapshot.custom = e29; + } + }; + Au = z([R2(1, L)], Au); + var ju = class extends pn { + get _activePage() { + let e29 = this._activePage$.getValue(); + if (!e29) { + var t, n; + let e30 = (t = this.getPageOrder()) == null ? void 0 : t[0]; + return e30 ? (n = this.getPages()) == null ? void 0 : n[e30] : null; + } + return e29; + } + constructor(e29) { + var t; + super(), C(this, `type`, O.UNIVER_SLIDE), C(this, `_activePage$`, new BehaviorSubject(null)), C(this, `activePage$`, this._activePage$.asObservable()), C(this, `_name$`, void 0), C(this, `name$`, void 0), C(this, `_snapshot`, void 0), C(this, `_unitId`, void 0), this._snapshot = { ..._o, ...e29 }, this._unitId = (t = this._snapshot.id) == null ? O2(6) : t, this._name$ = new BehaviorSubject(this._snapshot.title), this.name$ = this._name$.asObservable(); + } + setName(e29) { + var t; + this._snapshot.title = e29, this._name$.next(e29), this._unitId = (t = this._snapshot.id) == null ? O2(6) : t; + } + getRev() { + return 0; + } + incrementRev() { + } + setRev(e29) { + } + getSnapshot() { + return this._snapshot; + } + getUnitId() { + return this._unitId; + } + getPages() { + var e29; + return (e29 = this._snapshot.body) == null ? void 0 : e29.pages; + } + getPageOrder() { + var e29; + return (e29 = this._snapshot.body) == null ? void 0 : e29.pageOrder; + } + getPage(e29) { + let t = this.getPages(); + return t == null ? void 0 : t[e29]; + } + getElementsByPage(e29) { + var t; + return (t = this.getPage(e29)) == null ? void 0 : t.pageElements; + } + getElement(e29, t) { + var n; + return (n = this.getElementsByPage(e29)) == null ? void 0 : n[t]; + } + getPageSize() { + return this._snapshot.pageSize; + } + getBlankPage() { + let e29 = O2(6); + return { id: e29, pageType: Lr.SLIDE, zIndex: 10, title: e29, description: ``, pageBackgroundFill: { rgb: `rgb(255,255,255)` }, pageElements: {} }; + } + setActivePage(e29) { + this._activePage$.next(e29); + } + getActivePage() { + return this._activePage; + } + updatePage(e29, t) { + this._snapshot.body && (this._snapshot.body.pages[e29] = t); + } + appendPage(e29) { + var t; + if (!this._snapshot.body) return; + this._snapshot.body.pages[e29.id] = e29; + let n = this._activePage, r = this._snapshot.body.pageOrder.indexOf((t = n == null ? void 0 : n.id) == null ? `` : t); + this._snapshot.body.pageOrder.splice(r + 1, 0, e29.id); + } + }; + var Mu = createIdentifier(`univer.current`); + var Nu = class extends E { + constructor(e29, t, n) { + super(), this._injector = e29, this._contextService = t, this._logService = n, C(this, `_unitsByType`, /* @__PURE__ */ new Map()), C(this, `_createHandler`, void 0), C(this, `_ctorByType`, /* @__PURE__ */ new Map()), C(this, `_currentUnits`, /* @__PURE__ */ new Map()), C(this, `_currentUnits$`, new BehaviorSubject(this._currentUnits)), C(this, `currentUnits$`, this._currentUnits$.asObservable()), C(this, `_unitAdded$`, new Subject()), C(this, `unitAdded$`, this._unitAdded$.asObservable()), C(this, `_unitDisposed$`, new Subject()), C(this, `unitDisposed$`, this._unitDisposed$.asObservable()), C(this, `_focused$`, new BehaviorSubject(null)), C(this, `focused$`, this._focused$.asObservable()); + } + dispose() { + super.dispose(), this._focused$.complete(), this._currentUnits$.complete(), this._unitAdded$.complete(), this._currentUnits.forEach((e29) => e29 == null ? void 0 : e29.dispose()), this._currentUnits.clear(), this._unitsByType.clear(); + } + __setCreateHandler(e29) { + this._createHandler = e29; + } + createUnit(e29, t, n) { + return this._createHandler(e29, t, this._ctorByType.get(e29), n); + } + registerCtorForType(e29, t) { + return this._ctorByType.set(e29, t), { dispose: () => { + this._ctorByType.delete(e29); + } }; + } + getCurrentTypeOfUnit$(e29) { + return this.currentUnits$.pipe(map((t) => { + var n; + return (n = t.get(e29)) == null ? null : n; + }), distinctUntilChanged()); + } + getCurrentUnitForType(e29) { + return this._currentUnits.get(e29); + } + getCurrentUnitOfType(e29) { + return this.getCurrentUnitForType(e29); + } + setCurrentUnitForType(e29) { + let t = this._getUnitById(e29); + if (!t) throw Error(`[UniverInstanceService]: no document with unitId ${e29}!`); + this._currentUnits.set(t[1], t[0]), this._currentUnits$.next(this._currentUnits); + } + getTypeOfUnitAdded$(e29) { + return this._unitAdded$.pipe(filter((t) => t.type === e29)); + } + __addUnit(e29, t) { + var n; + this._logService.debug(`[UniverInstanceService]: Adding unit with id ${e29.getUnitId()}`); + let r = e29.type; + this._unitsByType.has(r) || this._unitsByType.set(r, []); + let i = this._unitsByType.get(r), a = e29.getUnitId(); + if (i.findIndex((e30) => e30.getUnitId() === a) !== -1) throw Error(`[UniverInstanceService]: cannot create a unit with the same unit id: ${a}.`); + i.push(e29), this._unitAdded$.next(e29), ((n = t == null ? void 0 : t.makeCurrent) == null || n) && this.setCurrentUnitForType(e29.getUnitId()); + } + getTypeOfUnitDisposed$(e29) { + return this.unitDisposed$.pipe(filter((t) => t.type === e29)); + } + getUnit(e29, t) { + var n; + let r = (n = this._getUnitById(e29)) == null ? void 0 : n[0]; + return t && (r == null ? void 0 : r.type) !== t ? null : r; + } + getCurrentUniverDocInstance() { + return this.getCurrentUnitForType(O.UNIVER_DOC); + } + getUniverDocInstance(e29) { + return this.getUnit(e29, O.UNIVER_DOC); + } + getUniverSheetInstance(e29) { + return this.getUnit(e29, O.UNIVER_SHEET); + } + getAllUnitsForType(e29) { + var t; + return (t = this._unitsByType.get(e29)) == null ? [] : t; + } + changeDoc(e29, t) { + let n = this.getAllUnitsForType(O.UNIVER_DOC), r = n.find((t2) => t2.getUnitId() === e29); + if (r != null) { + let e30 = n.indexOf(r); + n.splice(e30, 1); + } + this.__addUnit(t); + } + get focused() { + var e29; + let t = this._focused$.getValue(); + return t ? (e29 = this._getUnitById(t)) == null ? void 0 : e29[0] : null; + } + focusUnit(e29) { + this._focused$.next(e29), this.focused instanceof Au ? (this._contextService.setContextValue(vl, true), this._contextService.setContextValue(bl, false), this._contextService.setContextValue(yl, true), this._contextService.setContextValue(xl, false), this.setCurrentUnitForType(e29)) : this.focused instanceof _c ? (this._contextService.setContextValue(vl, true), this._contextService.setContextValue(bl, true), this._contextService.setContextValue(yl, false), this._contextService.setContextValue(xl, false), this.setCurrentUnitForType(e29)) : this.focused instanceof ju ? (this._contextService.setContextValue(vl, true), this._contextService.setContextValue(bl, false), this._contextService.setContextValue(yl, false), this._contextService.setContextValue(xl, true), this.setCurrentUnitForType(e29)) : (this._contextService.setContextValue(vl, false), this._contextService.setContextValue(bl, false), this._contextService.setContextValue(yl, false), this._contextService.setContextValue(xl, false)); + } + getFocusedUnit() { + return this.focused; + } + getUnitType(e29) { + let t = this._getUnitById(e29); + return t ? t[1] : O.UNRECOGNIZED; + } + disposeUnit(e29) { + this._logService.debug(`[UniverInstanceService]: Disposing unit with id ${e29}`); + let t = this._getUnitById(e29); + if (!t) return this._logService.debug(`[UniverInstanceService]: No unit found with id ${e29}`), false; + let [n, r] = t, i = this._unitsByType.get(r), a = i.indexOf(n); + return i.splice(a, 1), this._tryResetCurrentOnRemoval(e29, r), this._tryResetFocusOnRemoval(e29), this._unitDisposed$.next(n), n.dispose(), true; + } + _tryResetCurrentOnRemoval(e29, t) { + let n = this.getCurrentUnitForType(t); + (n == null ? void 0 : n.getUnitId()) === e29 && (this._currentUnits.set(t, null), this._currentUnits$.next(this._currentUnits)); + } + _tryResetFocusOnRemoval(e29) { + var t; + ((t = this.focused) == null ? void 0 : t.getUnitId()) === e29 && this._focused$.next(null); + } + _getUnitById(e29) { + for (let [t, n] of this._unitsByType) { + let r = n.find((t2) => t2.getUnitId() === e29); + if (r) return [r, t]; + } + } + }; + Nu = z([R2(0, Inject(Injector)), R2(1, Zr), R2(2, Inject(L))], Nu); + var $ = (function(e29) { + return e29[e29.Starting = 0] = `Starting`, e29[e29.Ready = 1] = `Ready`, e29[e29.Rendered = 2] = `Rendered`, e29[e29.Steady = 3] = `Steady`, e29; + })({}); + var Pu = { [$.Starting]: `Starting`, [$.Ready]: `Ready`, [$.Rendered]: `Rendered`, [$.Steady]: `Steady` }; + var Fu = class extends Error { + constructor(e29) { + super(`[LifecycleService]: lifecycle stage "${Pu[e29]}" will never be reached!`), this.name = `LifecycleUnreachableError`; + } + }; + var Iu = class extends E { + constructor(e29) { + super(), this._logService = e29, C(this, `_lifecycle$`, new BehaviorSubject($.Starting)), C(this, `lifecycle$`, this._lifecycle$.asObservable()), C(this, `_lock`, false), this._reportProgress($.Starting); + } + get stage() { + return this._lifecycle$.getValue(); + } + set stage(e29) { + if (this._lock) throw Error(`[LifecycleService]: cannot set new stage when related logic is all handled!`); + if (e29 < this.stage) throw Error(`[LifecycleService]: lifecycle stage cannot go backward!`); + e29 !== this.stage && (this._lock = true, this._reportProgress(e29), this._lifecycle$.next(e29), this._lock = false); + } + dispose() { + this._lifecycle$.complete(), super.dispose(); + } + onStage(e29) { + return firstValueFrom(this.lifecycle$.pipe(filter((t) => t >= e29), fi((t) => t === e29), map(() => void 0))).catch((t) => t.name === `EmptyError` ? Promise.reject(new Fu(e29)) : Promise.reject(t)); + } + subscribeWithPrevious() { + return merge2(Lu(this.stage), this._lifecycle$.pipe(skip(1))).pipe(fi((e29) => e29 === $.Steady)); + } + _reportProgress(e29) { + this._logService.debug(`[LifecycleService]`, `lifecycle progressed to "${Pu[e29]}".`); + } + }; + Iu = z([R2(0, L)], Iu); + function Lu(e29) { + switch (e29) { + case $.Starting: + return of($.Starting); + case $.Ready: + return of($.Starting, $.Ready); + case $.Rendered: + return of($.Starting, $.Ready, $.Rendered); + default: + return of($.Starting, $.Ready, $.Rendered, $.Steady); + } + } + var Ru = createIdentifier(`ILocalStorageService`); + var zu = class extends E { + get _currentLocale() { + return this._currentLocale$.value; + } + constructor() { + super(), C(this, `_currentLocale$`, new BehaviorSubject(Rn.ZH_CN)), C(this, `currentLocale$`, this._currentLocale$.asObservable()), C(this, `_locales`, null), C(this, `localeChanged$`, new Subject()), C(this, `t`, (e29, ...t) => { + if (!this._locales) throw Error(`[LocaleService]: Locale not initialized`); + let n = e29.split(`.`), r = this.resolveKeyPath(this._locales[this._currentLocale], n); + if (typeof r == `string`) { + let e30 = r; + return t.forEach((t2, n2) => { + e30 = e30.replace(`{${n2}}`, t2); + }), e30; + } else return e29; + }), this.disposeWithMe(T2(() => { + this._locales = null, this._currentLocale$.complete(), this.localeChanged$.complete(); + })); + } + load(e29) { + var t; + this._locales = merge_default((t = this._locales) == null ? {} : t, e29); + } + setLocale(e29) { + this._currentLocale$.next(e29), this.localeChanged$.next(); + } + getLocales() { + var e29; + return (e29 = this._locales) == null ? void 0 : e29[this._currentLocale]; + } + getCurrentLocale() { + return this._currentLocale; + } + resolveKeyPath(e29, t) { + let n = t.shift(); + if (n && e29 && n in e29) { + let r = e29[n]; + return t.length > 0 && (typeof r == `object` || Array.isArray(r)) ? this.resolveKeyPath(r, t) : r; + } + return null; + } + }; + var Bu = class { + constructor(e29) { + this._userManagerService = e29; + } + async list(e29) { + return { list: [{ type: zn.PERSON, mentions: [{ objectType: zn.PERSON, objectId: this._userManagerService.getCurrentUser().userID, label: this._userManagerService.getCurrentUser().name, metadata: { icon: this._userManagerService.getCurrentUser().avatar } }], metadata: {}, title: `PEOPLE` }], page: e29.page, size: e29.size, total: 1 }; + } + }; + Bu = z([R2(0, Inject(pl))], Bu); + var Vu = createIdentifier(`univer.service.mention-io`); + var Hu = (function(e29) { + return e29.INIT = `init`, e29.FETCHING = `fetching`, e29.DONE = `done`, e29; + })({}); + var Uu = createIdentifier(`univer.permission-service`); + function Gu(e29, t) { + if (!t) return e29; + let n = []; + for (let r of e29) { + let e30 = t.find(([e31]) => e31 === r[0]); + if (e30) { + if (e30[1] === null) continue; + n.push([r[0], e30[1]]); + } else n.push(r); + } + return n; + } + var Ku = /* @__PURE__ */ Symbol(`DependentOn`); + var qu = class extends E { + onStarting() { + } + onReady() { + } + onRendered() { + } + onSteady() { + } + getUnitType() { + return this.constructor.type; + } + getPluginName() { + return this.constructor.pluginName; + } + }; + C(qu, `pluginName`, void 0), C(qu, `packageName`, zl), C(qu, `version`, Bl), C(qu, `type`, O.UNIVER_UNKNOWN); + var Ju = class { + constructor() { + C(this, `_plugins`, []); + } + addPlugin(e29) { + this._plugins.push(e29); + } + removePlugins() { + let e29 = this._plugins.slice(); + return this._plugins.length = 0, e29; + } + forEachPlugin(e29) { + this._plugins.forEach(e29); + } + }; + function Yu(...e29) { + return function(t) { + t[Ku] = e29; + }; + } + var Xu = class { + constructor(e29, t, n) { + this._injector = e29, this._lifecycleService = t, this._logService = n, C(this, `_pluginRegistry`, /* @__PURE__ */ new Map()), C(this, `_pluginStore`, new Ju()), C(this, `_seenPlugins`, /* @__PURE__ */ new Set()), C(this, `_loadedPlugins`, /* @__PURE__ */ new Set()), C(this, `_loadedPluginTypes`, /* @__PURE__ */ new Set([O.UNIVER_UNKNOWN])), C(this, `_flushTimerByType`, /* @__PURE__ */ new Map()); + } + dispose() { + this._pluginStore.removePlugins().forEach((e29) => e29.dispose()), this._flushTimerByType.forEach((e29) => clearTimeout(e29)); + } + registerPlugin(e29, t) { + this._assertPluginValid(e29); + let n = { plugin: e29, options: t }; + this._pluginRegistry.set(e29.pluginName, n), this._logService.debug(`[PluginService]`, `Plugin "${e29.pluginName}" registered.`); + let { type: r } = e29; + this._loadedPluginTypes.has(r) && (r === O.UNIVER_UNKNOWN ? this._loadFromPlugins([n]) : this._flushType(r)); + } + startPluginsForType(e29) { + this._loadedPluginTypes.has(e29) || this._loadPluginsForType(e29); + } + _loadPluginsForType(e29) { + let t = Array.from(this._pluginRegistry.keys()), n = []; + t.forEach((t2) => { + let r = this._pluginRegistry.get(t2); + r.plugin.type === e29 && n.push(r); + }), this._loadFromPlugins(n), this._loadedPluginTypes.add(e29); + } + _assertPluginValid(e29) { + let { type: t, pluginName: n, packageName: r, version: i } = e29; + if (t === O.UNRECOGNIZED) throw Error(`[PluginService]: invalid plugin type for ${e29.name}. Please assign a "type" to your plugin.`); + if (!n) throw Error(`[PluginService]: no plugin name for ${e29.name}. Please assign a "pluginName" to your plugin.`); + if (i && i !== qu.version) throw Error(`[PluginService]: package "${r == null ? `UNKNOWN` : r}" version mismatch. Plugin version is "${i}" but @univerjs/core version is "${qu.version}". Please make sure all @univerjs packages use the same version.`); + if (this._seenPlugins.has(n)) throw Error(`[PluginService]: duplicated plugin name for "${n}". Maybe a plugin that dependents on "${n} has already registered it. In that case please register "${n}" before the that plugin.`); + this._seenPlugins.add(e29.pluginName); + } + _flushType(e29) { + this._flushTimerByType.get(e29) === void 0 && this._flushTimerByType.set(e29, setTimeout(() => { + this._loadPluginsForType(e29), this._flushTimerByType.delete(e29); + }, 4)); + } + _loadFromPlugins(e29) { + let t = [], n = /* @__PURE__ */ new Set(), r = (e30) => { + let { plugin: i2 } = e30, { pluginName: a } = i2; + if (this._loadedPlugins.has(a) || n.has(a)) return; + n.add(a), this._pluginRegistry.delete(a); + let o = i2[Ku]; + o && o.forEach((e31) => { + let t2 = this._pluginRegistry.get(e31.pluginName); + if (t2) r(t2); + else if (!this._seenPlugins.has(e31.pluginName) && !n.has(e31.pluginName)) { + if (i2.type === O.UNIVER_UNKNOWN && e31.type !== O.UNIVER_UNKNOWN) throw Error(`[PluginService]: cannot register a plugin with Univer type that depends on a plugin with other type. The dependent is ${i2.pluginName} and the dependency is ${e31.pluginName}.`); + i2.type !== e31.type && e31.type !== O.UNIVER_UNKNOWN && this._logService.debug(`[PluginService]`, `Plugin "${a}" depends on "${e31.pluginName}" which has different type.`), this._logService.debug(`[PluginService]`, `Plugin "${a}" depends on "${e31.pluginName}" which is not registered. Univer will automatically register it with default configuration.`), this._assertPluginValid(e31), r({ plugin: e31, options: void 0 }); + } + }), t.push(e30); + }; + e29.forEach((e30) => r(e30)); + let i = t.map((e30) => this._initPlugin(e30.plugin, e30.options)); + this._pluginsRunLifecycle(i); + } + _pluginsRunLifecycle(e29) { + let t = this._lifecycleService.stage; + if (Lu(t).subscribe((t2) => this._runStage(e29, t2)), t !== $.Steady) { + let t2 = this._lifecycleService.lifecycle$.pipe(skip(1)).subscribe((n) => { + this._runStage(e29, n), n === $.Steady && t2.unsubscribe(); + }); + } + } + _runStage(e29, t) { + e29.forEach((e30) => { + switch (t) { + case $.Starting: + e30.onStarting(); + break; + case $.Ready: + e30.onReady(); + break; + case $.Rendered: + e30.onRendered(); + break; + case $.Steady: + e30.onSteady(); + break; + } + }); + } + _initPlugin(e29, t) { + let n = this._injector.createInstance(e29, t); + return this._pluginStore.addPlugin(n), this._loadedPlugins.add(e29.pluginName), this._logService.debug(`[PluginService]`, `Plugin "${n.getPluginName()}" loaded.`), n; + } + }; + Xu = z([R2(0, Inject(Injector)), R2(1, Inject(Iu)), R2(2, L)], Xu); + var Zu = createIdentifier(`resource-loader-service`); + var Qu = class extends E { + constructor(e29) { + super(), this._logService = e29, C(this, `_resourceMap`, /* @__PURE__ */ new Map()), C(this, `_register$`, new Subject()), C(this, `register$`, this._register$.asObservable()); + } + getAllResourceHooks() { + return [...this._resourceMap.values()]; + } + getResources(e29, t) { + return t ? this.getResourcesByType(e29, t) : this.getAllResourceHooks().map((t2) => { + let n = t2.toJson(e29); + return { name: t2.pluginName, data: n }; + }); + } + getResourcesByType(e29, t) { + return this.getAllResourceHooks().filter((e30) => e30.businesses.includes(t)).map((t2) => { + let n = t2.toJson(e29); + return { name: t2.pluginName, data: n }; + }); + } + registerPluginResource(e29) { + let t = e29.pluginName; + if (this._resourceMap.has(t)) throw Error(`the pluginName is registered {${t}}`); + return this._resourceMap.set(t, e29), this._register$.next(e29), T2(() => this._resourceMap.delete(t)); + } + disposePluginResource(e29) { + this._resourceMap.delete(e29); + } + loadResources(e29, t) { + this.getAllResourceHooks().forEach((n) => { + var r; + let i = t == null || (r = t.find((e30) => e30.name === n.pluginName)) == null ? void 0 : r.data; + if (i) try { + let t2 = n.parseJson(i); + n.onLoad(e29, t2); + } catch (e30) { + this._logService.error(`[ResourceManagerService]`, `loadResources error`, e30); + } + }); + } + unloadResources(e29, t) { + this.getAllResourceHooks().filter((e30) => e30.businesses.includes(t)).forEach((t2) => { + t2.onUnLoad(e29); + }); + } + dispose() { + this._register$.complete(), this._resourceMap.clear(); + } + }; + Qu = z([R2(0, L)], Qu); + var ed = (function(e29) { + return e29[e29.WAITING = 0] = `WAITING`, e29[e29.CREATED = 1] = `CREATED`, e29; + })(ed || {}); + var td = createIdentifier(`univer.undo-redo.service`); + var nd = class { + dispose() { + } + async dispatchToHandlers() { + return false; + } + }; + var rd = `univer.command.redo`; + var id = `univer.command.undo`; + var ad = new class extends nd { + constructor(...e29) { + super(...e29), C(this, `type`, ri.COMMAND), C(this, `id`, id); + } + handler(e29) { + let t = e29.get(td), n = t.pitchTopUndoElement(); + if (!n) return false; + let r = e29.get(ii); + return li(n.undoMutations, r) ? (t.popUndoToRedo(), true) : false; + } + }(); + var od = new class extends nd { + constructor(...e29) { + super(...e29), C(this, `type`, ri.COMMAND), C(this, `id`, rd); + } + handler(e29) { + let t = e29.get(td), n = t.pitchTopRedoElement(); + if (!n) return false; + let r = e29.get(ii); + return li(n.redoMutations, r) ? (t.popRedoToUndo(), true) : false; + } + }(); + var sd = class extends E { + constructor(e29, t, n) { + super(), this._univerInstanceService = e29, this._commandService = t, this._contextService = n, C(this, `undoRedoStatus$`, void 0), C(this, `_undoRedoStatus$`, new BehaviorSubject({ undos: 0, redos: 0 })), C(this, `_undoStacks`, /* @__PURE__ */ new Map()), C(this, `_redoStacks`, /* @__PURE__ */ new Map()), C(this, `_batchingStatus`, /* @__PURE__ */ new Map()), this.undoRedoStatus$ = this._undoRedoStatus$.asObservable(), this.disposeWithMe(this._commandService.registerCommand(ad)), this.disposeWithMe(this._commandService.registerCommand(od)), this.disposeWithMe(T2(() => this._undoRedoStatus$.complete())), this.disposeWithMe(T2(this._univerInstanceService.focused$.subscribe(() => this._updateStatus()))); + } + pushUndoRedo(e29) { + let { unitID: t } = e29, n = this._getRedoStack(t, true), r = this._getUndoStack(t, true); + if (n.length = 0, this._batchingStatus.has(e29.unitID)) { + let t2 = this._batchingStatus.get(e29.unitID), n2 = this._pitchUndoElement(e29.unitID); + t2 === ed.WAITING || !n2 ? (i(e29), this._batchingStatus.set(e29.unitID, ed.CREATED)) : this._tryBatchingElements(n2, e29); + } else i(e29); + function i(e30) { + r.push(e30), r.length > 20 && r.splice(0, 1); + } + this._updateStatus(); + } + clearUndoRedo(e29) { + let t = this._getRedoStack(e29); + t && (t.length = 0); + let n = this._getUndoStack(e29); + n && (n.length = 0), this._updateStatus(); + } + pitchTopUndoElement() { + let e29 = this._getFocusedUnitId(); + return this._pitchUndoElement(e29); + } + pitchTopRedoElement() { + let e29 = this._getFocusedUnitId(); + return this._pitchRedoElement(e29); + } + _pitchUndoElement(e29) { + let t = this._getUndoStack(e29); + return t != null && t.length ? t[t.length - 1] : null; + } + _pitchRedoElement(e29) { + let t = this._getRedoStack(e29); + return t != null && t.length ? t[t.length - 1] : null; + } + popUndoToRedo() { + let e29 = this._getUndoStackForFocused().pop(); + e29 && (e29.redoMutations.length > 0 && this._getRedoStackForFocused().push(e29), this._updateStatus()); + } + popRedoToUndo() { + let e29 = this._getRedoStackForFocused().pop(); + e29 && (this._getUndoStackForFocused().push(e29), this._updateStatus()); + } + rollback(e29, t) { + let n = t || this._getFocusedUnitId(), r = this._getUndoStack(n), i = r == null ? void 0 : r[(r == null ? void 0 : r.length) - 1]; + i && i.id === e29 && (r.pop(), li(i.undoMutations, this._commandService)); + } + __tempBatchingUndoRedo(e29) { + if (this._batchingStatus.has(e29)) throw Error(`[LocalUndoRedoService]: cannot batching undo redo twice at the same time!`); + return this._batchingStatus.set(e29, ed.WAITING), T2(() => this._batchingStatus.delete(e29)); + } + _updateStatus() { + var e29, t; + let n = this._getFocusedUnitId(), r = n && ((e29 = this._undoStacks.get(n)) == null ? void 0 : e29.length) || 0, i = n && ((t = this._redoStacks.get(n)) == null ? void 0 : t.length) || 0; + this._undoRedoStatus$.next({ undos: r, redos: i }); + } + _getUndoStack(e29, t = false) { + let n = this._undoStacks.get(e29); + return !n && t && (n = [], this._undoStacks.set(e29, n)), n || null; + } + _getRedoStack(e29, t = false) { + let n = this._redoStacks.get(e29); + return !n && t && (n = [], this._redoStacks.set(e29, n)), n || null; + } + _getUndoStackForFocused() { + let e29 = this._getFocusedUnitId(); + if (!e29) throw Error(`No focused univer instance!`); + return this._getUndoStack(e29, true); + } + _getRedoStackForFocused() { + let e29 = this._getFocusedUnitId(); + if (!e29) throw Error(`No focused univer instance!`); + return this._getRedoStack(e29, true); + } + _tryBatchingElements(e29, t) { + e29.redoMutations.push(...t.redoMutations), e29.undoMutations.push(...t.undoMutations); + } + _getFocusedUnitId() { + let e29 = ``, t = this._contextService.getContextValue(yl), n = this._contextService.getContextValue(Tl), r = this._contextService.getContextValue(Cl); + if (t) if (n) e29 = ft; + else if (r) e29 = dt; + else { + var i, a; + e29 = (i = (a = this._univerInstanceService.getFocusedUnit()) == null ? void 0 : a.getUnitId()) == null ? `` : i; + } + else { + var o, s; + e29 = (o = (s = this._univerInstanceService.getFocusedUnit()) == null ? void 0 : s.getUnitId()) == null ? `` : o; + } + return e29; + } + }; + sd = z([R2(0, Mu), R2(1, ii), R2(2, Zr)], sd); + var cd = class { + constructor(e29, t = 1e3) { + this._injector = e29, C(this, `_imageCacheMap`, void 0), this._imageCacheMap = new so(t); + } + _getImageCacheKey(e29, t) { + return `${e29}-${t}`; + } + getImage(e29, t, n, r) { + let i = this._getImageCacheKey(e29, t); + return this._imageCacheMap.get(i) || ((async () => { + let a = new Image(), o = this._injector.has(Ll) ? this._injector.get(Ll) : null, s = this._injector.has(Rl) ? this._injector.get(Rl) : null; + if (e29 === Fl.UUID) try { + a.src = await (o == null ? void 0 : o.getImage(t)) || ``; + } catch (e30) { + console.error(e30); + } + else if (e29 === Fl.URL) try { + a.src = await (s == null ? void 0 : s.getImage(t)) || t; + } catch { + a.src = t; + } + else a.src = t; + a.onload = () => { + a.removeAttribute(`data-error`), n == null || n(); + }, a.onerror = () => { + a.setAttribute(`data-error`, `true`), r == null || r(); + }, this._imageCacheMap.set(i, a); + })(), null); + } + }; + var dd = class { + constructor(e29 = false) { + this._enableOneCellCache = e29, C(this, `_tree`, /* @__PURE__ */ new Map()), C(this, `_oneCellCache`, /* @__PURE__ */ new Map()), C(this, `_kdTree`, /* @__PURE__ */ new Map()); + } + dispose() { + this.clear(); + } + getTree(e29, t) { + return this._tree.has(e29) || this._tree.set(e29, /* @__PURE__ */ new Map()), this._tree.get(e29).has(t) || this._tree.get(e29).set(t, new RBush()), this._tree.get(e29).get(t); + } + _getOneCellCache(e29, t, n, r) { + return this._oneCellCache.has(e29) || this._oneCellCache.set(e29, /* @__PURE__ */ new Map()), this._oneCellCache.get(e29).has(t) || this._oneCellCache.get(e29).set(t, /* @__PURE__ */ new Map()), this._oneCellCache.get(e29).get(t).has(n) || this._oneCellCache.get(e29).get(t).set(n, /* @__PURE__ */ new Map()), this._oneCellCache.get(e29).get(t).get(n).has(r) || this._oneCellCache.get(e29).get(t).get(n).set(r, /* @__PURE__ */ new Set()), this._oneCellCache.get(e29).get(t).get(n).get(r); + } + _removeOneCellCache(e29, t, n, r, i) { + let a = this._oneCellCache.get(e29); + if (!a) return; + let o = a.get(t); + if (!o) return; + let s = o.get(n); + if (!s) return; + let c = s.get(r); + c && c.delete(i); + } + _removeCellCacheByRange(e29) { + let { unitId: t, sheetId: n, range: r, id: i } = e29, a = this._oneCellCache.get(t); + if (!a) return; + let o = a.get(n); + if (!o) return; + let { startRow: s, startColumn: c, endRow: l, endColumn: u } = r; + for (let e30 = s; e30 <= l; e30++) { + let t2 = o.get(e30); + if (t2) for (let e31 = c; e31 <= u; e31++) { + let n2 = t2.get(e31); + n2 && n2.delete(i); + } + } + } + _insertOneCellCache(e29, t, n, r, i) { + this._getOneCellCache(e29, t, n, r).add(i); + } + _getRdTreeItems(e29) { + let t = []; + for (let [n, r] of e29) for (let [e30, i] of r) t.push({ x: e30, y: n, ids: i }); + return t; + } + _searchByOneCellCache(e29) { + var t; + let { unitId: n, sheetId: r, range: i } = e29, { startRow: a, startColumn: o, endRow: s, endColumn: c } = i, l = (t = this._kdTree.get(n)) == null ? void 0 : t.get(r); + if (!l) return []; + let { tree: u, items: d } = l, f = u.range(o, a, c, s), p = []; + for (let e30 of f) { + let t2 = d[e30]; + p.push(...Array.from(t2.ids)); + } + return p; + } + openKdTree() { + for (let [t, n] of this._oneCellCache) { + this._kdTree.has(t) || this._kdTree.set(t, /* @__PURE__ */ new Map()); + for (let [r, i] of n) { + var e29; + let n2 = this._getRdTreeItems(i), a = new KDBush(n2.length); + (e29 = this._kdTree.get(t)) == null || e29.set(r, { tree: a, items: n2 }); + for (let e30 of n2) a.add(e30.x, e30.y); + a.finish(); + } + } + } + closeKdTree() { + for (let [t, n] of this._oneCellCache) for (let [r, i] of n) { + var e29; + (e29 = this._kdTree.get(t)) == null || e29.set(r, void 0); + } + } + insert(e29) { + let { unitId: t, sheetId: n, range: r, id: i } = e29; + if (!t || t.length === 0) return; + let { startRow: a, endRow: o, startColumn: s, endColumn: c } = r; + if (this._enableOneCellCache && a === o && s === c) { + this._insertOneCellCache(t, n, a, s, i); + return; + } + let l = this.getTree(t, n); + Number.isNaN(a) && (a = 0), Number.isNaN(s) && (s = 0), Number.isNaN(o) && (o = 1 / 0), Number.isNaN(c) && (c = 1 / 0), l.insert({ minX: s, minY: a, maxX: c, maxY: o, id: i }); + } + bulkInsert(e29) { + for (let t of e29) this.insert(t); + } + *searchGenerator(e29) { + var t; + let { unitId: n, sheetId: r, range: i } = e29; + if (this._enableOneCellCache) { + let t2 = this._searchByOneCellCache(e29); + for (let e30 of t2) yield e30; + } + let a = (t = this._tree.get(n)) == null ? void 0 : t.get(r); + if (!a) return; + let o = a.search({ minX: i.startColumn, minY: i.startRow, maxX: i.endColumn, maxY: i.endRow }); + for (let e30 of o) yield e30.id; + } + bulkSearch(e29, t) { + let n = /* @__PURE__ */ new Set(); + for (let r of e29) for (let e30 of this.searchGenerator(r)) (t == null ? void 0 : t.has(e30)) !== true && n.add(e30); + return n; + } + removeById(e29, t) { + if (t) { + var n, r; + (n = this._tree.get(e29)) == null || n.delete(t), (r = this._oneCellCache.get(e29)) == null || r.delete(t); + } else this._tree.delete(e29), this._oneCellCache.delete(e29); + } + _removeRTreeItem(e29) { + let { unitId: t, sheetId: n, range: r, id: i } = e29, a = this.getTree(t, n), o = a.search({ minX: r.startColumn, minY: r.startRow, maxX: r.endColumn, maxY: r.endRow }); + for (let e30 = 0; e30 < o.length; e30++) o[e30].id === i && a.remove(o[e30]); + } + remove(e29) { + let { unitId: t, sheetId: n, range: r, id: i } = e29, { startRow: a, startColumn: o, endRow: s, endColumn: c } = r; + this._enableOneCellCache ? a === s && o === c ? this._removeOneCellCache(t, n, r.startRow, r.startColumn, i) : (this._removeCellCacheByRange(e29), this._removeRTreeItem(e29)) : this._removeRTreeItem(e29); + } + bulkRemove(e29) { + for (let t of e29) this.remove(t); + } + clear() { + this._tree.clear(), this._oneCellCache.clear(); + } + toJSON() { + let e29 = {}; + return this._tree.forEach((t, n) => { + e29[n] = {}, t.forEach((t2, r) => { + e29[n][r] = t2.toJSON(); + }); + }), e29; + } + fromJSON(e29) { + this._tree.clear(); + for (let t in e29) { + this._tree.set(t, /* @__PURE__ */ new Map()); + for (let n in e29[t]) { + let r = new RBush(); + r.fromJSON(e29[t][n]), this._tree.get(t).set(n, r); + } + } + } + }; + var md = class extends E { + constructor(e29) { + super(), this._localeService = e29, C(this, `_fontLocale`, void 0), C(this, `_dirty`, true), this._localeInitial(); + } + get dirty() { + return this._dirty; + } + getFontLocale() { + return this._fontLocale; + } + makeDirty(e29) { + this._dirty = e29; + } + dispose() { + super.dispose(), this._fontLocale = null; + } + _localeInitial() { + } + }; + md = z([R2(0, Inject(zu))], md); + var hd = class extends md { + constructor(e29, t, n, r, i, a) { + super(n), this.worksheet = e29, this._styles = t, this._contextService = r, this._configService = i, this._injector = a, C(this, `_worksheetData`, void 0), C(this, `_renderRawFormula`, false), C(this, `_cellData`, void 0), C(this, `_imageCacheMap`, void 0), C(this, `_skipAutoHeightForMergedCells`, true), C(this, `_rowTotalHeight`, 0), C(this, `_columnTotalWidth`, 0), C(this, `_rowHeaderWidth`, 0), C(this, `_columnHeaderHeight`, 0), C(this, `_rowHeightAccumulation`, []), C(this, `_columnWidthAccumulation`, []), C(this, `_marginTop`, 0), C(this, `_marginLeft`, 0), C(this, `_scaleX`, void 0), C(this, `_scaleY`, void 0), C(this, `_scrollX`, void 0), C(this, `_scrollY`, void 0), this._worksheetData = this.worksheet.getConfig(), this._cellData = this.worksheet.getCellMatrix(), this._imageCacheMap = new cd(this._injector), this.initConfig(); + } + initConfig() { + var e29, t; + this._skipAutoHeightForMergedCells = !((e29 = this._configService.getConfig(_t)) != null && e29), this.worksheet.setIsRowStylePrecedeColumnStyle((t = this._configService.getConfig(`isRowStylePrecedeColumnStyle`)) == null ? false : t); + } + resetCache() { + } + getWorksheetConfig() { + return this._worksheetData; + } + getLocation() { + return [this.worksheet.getUnitId(), this.worksheet.getSheetId()]; + } + set columnHeaderHeight(e29) { + this._columnHeaderHeight = e29, this._worksheetData.columnHeader.height = e29; + } + set rowHeaderWidth(e29) { + this._rowHeaderWidth = e29, this._worksheetData.rowHeader.width = e29; + } + get rowHeightAccumulation() { + return this._rowHeightAccumulation; + } + get rowTotalHeight() { + return this._rowTotalHeight; + } + get columnWidthAccumulation() { + return this._columnWidthAccumulation; + } + get columnTotalWidth() { + return this._columnTotalWidth; + } + get rowHeaderWidth() { + return this._rowHeaderWidth; + } + get columnHeaderHeight() { + return this._columnHeaderHeight; + } + setMarginLeft(e29) { + this._marginLeft = e29; + } + setMarginTop(e29) { + this._marginTop = e29; + } + setScale(e29, t) { + this._updateLayout(), this._scaleX = e29, this._scaleY = t || e29, this._updateLayout(); + } + setScroll(e29, t) { + D.isDefine(e29) && (this._scrollX = e29), D.isDefine(t) && (this._scrollY = t); + } + get scrollX() { + return this._scrollX; + } + get scrollY() { + return this._scrollY; + } + get scaleX() { + return this._scaleX; + } + get scaleY() { + return this._scaleY; + } + get rowHeaderWidthAndMarginLeft() { + return this.rowHeaderWidth + this._marginLeft; + } + get columnHeaderHeightAndMarginTop() { + return this.columnHeaderHeight + this._marginTop; + } + get imageCacheMap() { + return this._imageCacheMap; + } + _generateRowMatrixCache(e29, t, n) { + let r = 0, i = [], a = t; + for (let t2 = 0; t2 < e29; t2++) { + let e30 = n; + if (this.worksheet.getRowFiltered(t2)) e30 = 0; + else if (a[t2] != null) { + let r2 = a[t2]; + if (!r2) continue; + let { h: i2 = n, ah: o, ia: s } = r2; + e30 = (s == null || s === A.TRUE) && typeof o == `number` && o > 0 ? o : i2, r2.hd === A.TRUE && (e30 = 0); + } + r += e30, i.push(r); + } + return { rowTotalHeight: r, rowHeightAccumulation: i }; + } + _generateColumnMatrixCache(e29, t, n) { + let r = 0, i = [], a = t; + for (let t2 = 0; t2 < e29; t2++) { + let e30 = n; + if (a[t2] != null) { + let n2 = a[t2]; + if (!n2) continue; + n2.w != null && (e30 = n2.w), n2.hd === A.TRUE && (e30 = 0); + } + r += e30, i.push(r); + } + return { columnTotalWidth: r, columnWidthAccumulation: i }; + } + intersectMergeRange(e29, t) { + return !!this.worksheet.getMergedCell(e29, t); + } + _getOverflowBound(e29, t, n, r, i = Yn.LEFT) { + let a = 0; + if (t > n) { + let o = this._columnWidthAccumulation.length - 1; + for (let s = t; s >= n; s--) { + let n2 = s; + if (!Da(this.worksheet.getCell(e29, n2)) && n2 !== t || this.intersectMergeRange(e29, n2)) return n2 === t ? n2 : n2 + 1 > o ? o : n2 + 1; + let { startX: c, endX: l } = vd(e29, n2, this.rowHeightAccumulation, this.columnWidthAccumulation); + if (i === Yn.CENTER && n2 === t ? a += (l - c) / 2 : a += l - c, r < a) return n2; + } + return t; + } + for (let o = t; o <= n; o++) { + let n2 = o; + if (!Da(this.worksheet.getCell(e29, n2)) && n2 !== t || this.intersectMergeRange(e29, n2)) return n2 === t ? n2 : n2 - 1 < 0 ? 0 : n2 - 1; + let { startX: s, endX: c } = vd(e29, n2, this.rowHeightAccumulation, this.columnWidthAccumulation); + if (i === Yn.CENTER && n2 === t ? a += (c - s) / 2 : a += c - s, r < a) return n2; + } + return n; + } + _updateLayout() { + if (!this.dirty) return; + let { rowData: e29, columnData: t, defaultRowHeight: n, defaultColumnWidth: r, rowCount: i, columnCount: a, rowHeader: o, columnHeader: s } = this._worksheetData, { rowTotalHeight: c, rowHeightAccumulation: l } = this._generateRowMatrixCache(i, e29, n), { columnTotalWidth: u, columnWidthAccumulation: d } = this._generateColumnMatrixCache(a, t, r); + this._rowHeaderWidth = o.hidden === A.TRUE ? 0 : this._dynamicallyUpdateRowHeaderWidth(o), this._columnHeaderHeight = s.hidden === A.TRUE ? 0 : s.height, this._rowTotalHeight = c, this._rowHeightAccumulation = l, this._columnTotalWidth = u, this._columnWidthAccumulation = d, this.makeDirty(false); + } + calculate() { + return this.resetCache(), this._updateLayout(), this; + } + resetRangeCache(e29) { + } + _dynamicallyUpdateRowHeaderWidth(e29) { + let t = `${this.worksheet.getRowCount()}`.length * 8; + return Math.max(e29.width, t); + } + _hasUnMergedCellInRow(e29, t, n) { + if (!this.worksheet.getMergeData()) return false; + for (let r = t; r <= n; r++) { + let { isMerged: t2, isMergedMainCell: n2 } = this.worksheet.getCellInfoInMergeData(e29, r); + if (!t2 && !n2) return true; + } + return false; + } + expandRangeByMerge(e29, t) { + let { startRow: n, startColumn: r, endRow: i, endColumn: a } = e29, o = this._worksheetData.mergeData; + if (!o) return { startRow: n, startColumn: r, endRow: i, endColumn: a }; + let s = true, c = new Sa(), l = 0, u = null; + for (; s; ) { + s = false; + for (let e30 = 0; e30 < o.length; e30++) { + let { startRow: t2, startColumn: d, endRow: f, endColumn: p } = o[e30]; + if (c.getValue(t2, d)) continue; + let m = { startColumn: r, startRow: n, endColumn: a, endRow: i }, h = { startColumn: d, startRow: t2, endColumn: p, endRow: f }; + Po(m, h) && (n = Math.min(n, t2), r = Math.min(r, d), i = Math.max(i, f), a = Math.max(a, p), c.setValue(t2, d, true), s = true, l++, u = h); + } + } + return t && l === 1 && G.contains(u, e29) ? { startRow: u.startRow, startColumn: u.startColumn, endRow: u.startRow, endColumn: u.startColumn } : { startRow: n, startColumn: r, endRow: i, endColumn: a }; + } + getColumnCount() { + return this._columnWidthAccumulation.length; + } + getRowCount() { + return this._rowHeightAccumulation.length; + } + _getCellMergeInfo(e29, t) { + return this.worksheet.getCellInfoInMergeData(e29, t); + } + getNoMergeCellPositionByIndex(e29, t, n = true) { + return this.getNoMergeCellWithCoordByIndex(e29, t, n); + } + getNoMergeCellWithCoordByIndex(e29, t, n = true) { + let { rowHeightAccumulation: r, columnWidthAccumulation: i, rowHeaderWidthAndMarginLeft: a, columnHeaderHeightAndMarginTop: o } = this, { startY: s, endY: c, startX: l, endX: u } = vd(e29, t, r, i); + return n && (s += o, c += o, l += a, u += a), { startY: s, endY: c, startX: l, endX: u }; + } + getNoMergeCellPositionByIndexWithNoHeader(e29, t) { + let { rowHeightAccumulation: n, columnWidthAccumulation: r } = this, { startY: i, endY: a, startX: o, endX: s } = vd(e29, t, n, r); + return { startY: i, endY: a, startX: o, endX: s }; + } + getRowIndexByOffsetY(e29, t, n, r) { + let { rowHeightAccumulation: i } = this; + e29 = bd(e29, t, n, this.columnHeaderHeightAndMarginTop); + let a = bi(i, e29, r == null ? void 0 : r.firstMatch); + if (r != null && r.closeFirst) { + var o; + Math.abs(i[a] - e29) < Math.abs(e29 - ((o = i[a - 1]) == null ? 0 : o)) && (a += 1); + } + return a; + } + getColumnIndexByOffsetX(e29, t, n, r) { + let i = yd(e29, t, n, this.rowHeaderWidthAndMarginLeft), { columnWidthAccumulation: a } = this, o = bi(a, i, r == null ? void 0 : r.firstMatch); + if (r != null && r.closeFirst) { + var s; + Math.abs(a[o] - i) < Math.abs(i - ((s = a[o - 1]) == null ? 0 : s)) && (o += 1); + } + return o; + } + getCellIndexByOffset(e29, t, n, r, i, a) { + return { row: this.getRowIndexByOffsetY(t, r, i, a), column: this.getColumnIndexByOffsetX(e29, n, i, a) }; + } + getCellByOffset(e29, t, n, r, i) { + var a; + let o = (a = this) == null ? void 0 : a.getCellIndexByOffset(e29, t, n, r, i, { firstMatch: true }); + return o ? this.worksheet.getCellInfoInMergeData(o.row, o.column) : null; + } + getCellWithCoordByIndex(e29, t, n = true) { + var r; + let { rowHeightAccumulation: i, columnWidthAccumulation: a, rowHeaderWidthAndMarginLeft: o, columnHeaderHeightAndMarginTop: s } = this, c = vd(e29, t, i, a, (r = this.worksheet) == null ? void 0 : r.getCellInfoInMergeData(e29, t)), { isMerged: l, isMergedMainCell: u } = c, { startY: d, endY: f, startX: p, endX: m, mergeInfo: h } = c, g2 = o, _2 = s; + return n === false && (g2 = 0, _2 = 0), d += _2, f += _2, p += g2, m += g2, h.startY += _2, h.endY += _2, h.startX += g2, h.endX += g2, { actualRow: e29, actualColumn: t, startX: p, startY: d, endX: m, endY: f, isMerged: l, isMergedMainCell: u, mergeInfo: h }; + } + getCellWithCoordByOffset(e29, t, n, r, i, a) { + let { row: o, column: s } = this.getCellIndexByOffset(e29, t, n, r, i, a); + return this.getCellWithCoordByIndex(o, s); + } + getOffsetByColumn(e29) { + let { columnWidthAccumulation: t, rowHeaderWidthAndMarginLeft: n } = this, r = t.length - 1, i = t[e29]; + return i == null ? e29 < 0 ? n : t[r] + n : i + n; + } + getOffsetByRow(e29) { + let { rowHeightAccumulation: t, columnHeaderHeightAndMarginTop: n } = this, r = t.length - 1, i = t[e29]; + return i == null ? e29 < 0 ? n : t[r] + n : i + n; + } + getOffsetRelativeToRowCol(e29, t) { + let n = bi(this.columnWidthAccumulation, e29), r = 0; + r = n === 0 ? e29 : e29 - this._columnWidthAccumulation[n - 1]; + let i = bi(this.rowHeightAccumulation, t), a = 0; + return a = i === 0 ? t : t - this._rowHeightAccumulation[i - 1], { row: i, column: n, columnOffset: r, rowOffset: a }; + } + _updateConfigAndGetDocumentModel(e29, t, n, r) { + var i, a, o, s, c; + if (!r || !((i = e29.body) != null && i.dataStream)) return; + e29.documentStyle || (e29.documentStyle = {}), e29.documentStyle.marginTop = (a = n.t) == null ? 0 : a, e29.documentStyle.marginBottom = (o = n.b) == null ? 2 : o, e29.documentStyle.marginLeft = (s = n.l) == null ? 2 : s, e29.documentStyle.marginRight = (c = n.r) == null ? 2 : c, e29.documentStyle.pageSize = { width: 1 / 0, height: 1 / 0 }, e29.documentStyle.renderConfig = { ...e29.documentStyle.renderConfig, ...r }; + let l = e29.body.paragraphs || []; + for (let e30 of l) e30.paragraphStyle || (e30.paragraphStyle = {}), e30.paragraphStyle.horizontalAlign = t; + return new _c(e29); + } + dispose() { + super.dispose(), this._rowHeightAccumulation = [], this._columnWidthAccumulation = [], this._rowTotalHeight = 0, this._columnTotalWidth = 0, this._rowHeaderWidth = 0, this._columnHeaderHeight = 0, this._worksheetData = null, this._cellData = null, this._styles = null, this.worksheet = null; + } + }; + hd = z([R2(2, Inject(zu)), R2(3, Zr), R2(4, Yr), R2(5, Inject(Injector))], hd); + function gd(e29, t, n, r) { + let i = e29 - 1, a = t - 1, o = n[i] || 0, s = n[e29]; + s == null && (s = n[n.length - 1]); + let c = r[a] || 0, l = r[t]; + return l == null && (l = r[r.length - 1]), { startY: o, endY: s, startX: c, endX: l }; + } + function vd(e29, t, n, r, i) { + e29 = D.clamp(e29, 0, n.length - 1), t = D.clamp(t, 0, r.length - 1); + let { startY: a, endY: o, startX: s, endX: c } = gd(e29, t, n, r); + if (!i) return { startY: a, endY: o, startX: s, endX: c, isMerged: false, isMergedMainCell: false, actualRow: e29, actualColumn: t, mergeInfo: { startY: a, endY: o, startX: s, endX: c, startRow: e29, startColumn: t, endRow: e29, endColumn: t } }; + let { isMerged: l, isMergedMainCell: u, startRow: d, startColumn: f, endRow: p, endColumn: m } = i, h = { startRow: d, startColumn: f, endRow: p, endColumn: m, startY: a, endY: o, startX: s, endX: c }, g2 = n.length - 1, _2 = r.length - 1; + if (l && d !== -1 && f !== -1) { + let e30 = n[d - 1] || 0, t2 = n[p] || n[g2], i2 = r[f - 1] || 0, a2 = r[m] || r[_2]; + h = { ...h, startY: e30, endY: t2, startX: i2, endX: a2 }; + } else if (!l && p !== -1 && m !== -1) { + let e30 = n[p] || n[g2], t2 = r[m] || r[_2]; + h = { ...h, startY: a, endY: e30, startX: s, endX: t2 }; + } + return { isMerged: l, isMergedMainCell: u, actualRow: e29, actualColumn: t, startY: a, endY: o, startX: s, endX: c, mergeInfo: h }; + } + function yd(e29, t, n, r) { + let { x: i } = n; + return e29 / t + i - r; + } + function bd(e29, t, n, r) { + let { y: i } = n; + return e29 = e29 / t + i - r, e29; + } + var Sd = (function(e29) { + return e29[e29.INFO = 0] = `INFO`, e29[e29.STOP = 1] = `STOP`, e29[e29.WARNING = 2] = `WARNING`, e29; + })({}); + var Cd = (function(e29) { + return e29[e29.DISABLED = 0] = `DISABLED`, e29[e29.FULL_ALPHA = 1] = `FULL_ALPHA`, e29[e29.FULL_HANGUL = 2] = `FULL_HANGUL`, e29[e29.FULL_KATAKANA = 3] = `FULL_KATAKANA`, e29[e29.HALF_ALPHA = 4] = `HALF_ALPHA`, e29[e29.HALF_HANGUL = 5] = `HALF_HANGUL`, e29[e29.HALF_KATAKANA = 6] = `HALF_KATAKANA`, e29[e29.HIRAGANA = 7] = `HIRAGANA`, e29[e29.NO_CONTROL = 8] = `NO_CONTROL`, e29[e29.OFF = 9] = `OFF`, e29[e29.ON = 10] = `ON`, e29; + })({}); + var wd = (function(e29) { + return e29.BETWEEN = `between`, e29.EQUAL = `equal`, e29.GREATER_THAN = `greaterThan`, e29.GREATER_THAN_OR_EQUAL = `greaterThanOrEqual`, e29.LESS_THAN = `lessThan`, e29.LESS_THAN_OR_EQUAL = `lessThanOrEqual`, e29.NOT_BETWEEN = `notBetween`, e29.NOT_EQUAL = `notEqual`, e29; + })({}); + var Td = (function(e29) { + return e29[e29.TEXT = 0] = `TEXT`, e29[e29.ARROW = 1] = `ARROW`, e29[e29.CUSTOM = 2] = `CUSTOM`, e29; + })({}); + var Ed = (function(e29) { + return e29.VALID = `valid`, e29.INVALID = `invalid`, e29.VALIDATING = `validating`, e29; + })({}); + var Dd = (function(e29) { + return e29.CUSTOM = `custom`, e29.LIST = `list`, e29.LIST_MULTIPLE = `listMultiple`, e29.NONE = `none`, e29.TEXT_LENGTH = `textLength`, e29.DATE = `date`, e29.TIME = `time`, e29.WHOLE = `whole`, e29.DECIMAL = `decimal`, e29.CHECKBOX = `checkbox`, e29.ANY = `any`, e29; + })({}); + var Od = class extends E { + constructor(e29, t) { + super(), this._resourceManagerService = e29, this._univerInstanceService = t, this._init(); + } + _init() { + let e29 = (e30) => { + e30.businesses.forEach((t) => { + switch (t) { + case O.UNRECOGNIZED: + case O.UNIVER_UNKNOWN: + case O.UNIVER_SLIDE: + case O.UNIVER_DOC: + this._univerInstanceService.getAllUnitsForType(O.UNIVER_DOC).forEach((t2) => { + let n = (t2.getSnapshot().resources || []).find((t3) => t3.name === e30.pluginName); + if (n) try { + let r = e30.parseJson(n.data); + e30.onLoad(t2.getUnitId(), r); + } catch { + console.error(`Load Document{${t2.getUnitId()}} Resources{${e30.pluginName}} Data Error.`); + } + }); + break; + case O.UNIVER_SHEET: + this._univerInstanceService.getAllUnitsForType(O.UNIVER_SHEET).forEach((t2) => { + let n = (t2.getSnapshot().resources || []).find((t3) => t3.name === e30.pluginName); + if (n) try { + let r = e30.parseJson(n.data); + e30.onLoad(t2.getUnitId(), r); + } catch { + console.error(`Load Workbook{${t2.getUnitId()}} Resources{${e30.pluginName}} Data Error.`); + } + }); + } + }); + }; + this._resourceManagerService.getAllResourceHooks().forEach((t) => e29(t)), this.disposeWithMe(this._resourceManagerService.register$.subscribe((t) => e29(t))), this.disposeWithMe(this._univerInstanceService.getTypeOfUnitAdded$(O.UNIVER_SHEET).subscribe((e30) => { + this._resourceManagerService.loadResources(e30.getUnitId(), e30.getSnapshot().resources); + })), this.disposeWithMe(this._univerInstanceService.getTypeOfUnitAdded$(O.UNIVER_DOC).subscribe((e30) => { + yt(e30.getUnitId()) || this._resourceManagerService.loadResources(e30.getUnitId(), e30.getSnapshot().resources); + })), this.disposeWithMe(this._univerInstanceService.getTypeOfUnitDisposed$(O.UNIVER_SHEET).subscribe((e30) => { + this._resourceManagerService.unloadResources(e30.getUnitId(), O.UNIVER_SHEET); + })), this.disposeWithMe(this._univerInstanceService.getTypeOfUnitDisposed$(O.UNIVER_DOC).subscribe((e30) => { + this._resourceManagerService.unloadResources(e30.getUnitId(), O.UNIVER_DOC); + })); + } + saveUnit(e29) { + let t = this._univerInstanceService.getUnit(e29); + if (!t) return null; + let n = this._resourceManagerService.getResources(e29, t.type), r = D.deepClone(t.getSnapshot()); + return r.resources = n, r; + } + }; + Od = z([R2(0, Inject(ll)), R2(1, Inject(Mu))], Od); + et(); + + // node_modules/@flatten-js/interval-tree/dist/main.mjs + var Interval = class Interval2 { + /** + * Accept two comparable values and creates new instance of interval + * Predicate Interval.comparable_less(low, high) supposed to return true on these values + * @param low + * @param high + */ + constructor(low, high) { + this.low = low; + this.high = high; + } + /** + * Clone interval + * @returns {Interval} + */ + clone() { + return new Interval2(this.low, this.high); + } + /** + * Propery max returns clone of this interval + * @returns {Interval} + */ + get max() { + return this.clone(); + } + /** + * Predicate returns true is this interval less than other interval + * @param other_interval + * @returns {boolean} + */ + less_than(other_interval) { + return this.low < other_interval.low || this.low === other_interval.low && this.high < other_interval.high; + } + /** + * Predicate returns true is this interval equals to other interval + * @param other_interval + * @returns {boolean} + */ + equal_to(other_interval) { + return this.low === other_interval.low && this.high === other_interval.high; + } + /** + * Predicate returns true if this interval intersects other interval + * @param other_interval + * @returns {boolean} + */ + intersect(other_interval) { + return !this.not_intersect(other_interval); + } + /** + * Predicate returns true if this interval does not intersect other interval + * @param other_interval + * @returns {boolean} + */ + not_intersect(other_interval) { + return this.high < other_interval.low || other_interval.high < this.low; + } + /** + * Returns new interval merged with other interval + * @param {Interval} other_interval - Other interval to merge with + * @returns {Interval} + */ + merge(other_interval) { + return new Interval2( + this.low === void 0 ? other_interval.low : this.low < other_interval.low ? this.low : other_interval.low, + this.high === void 0 ? other_interval.high : this.high > other_interval.high ? this.high : other_interval.high + ); + } + /** + * Returns how key should return + */ + output() { + return [this.low, this.high]; + } + /** + * Function returns maximum between two comparable values + * @param interval1 + * @param interval2 + * @returns {Interval} + */ + static comparable_max(interval1, interval2) { + return interval1.merge(interval2); + } + /** + * Predicate returns true if first value less than second value + * @param val1 + * @param val2 + * @returns {boolean} + */ + static comparable_less_than(val1, val2) { + return val1 < val2; + } + }; + var RB_TREE_COLOR_RED = 0; + var RB_TREE_COLOR_BLACK = 1; + var Node = class { + constructor(key = void 0, value = void 0, left = null, right = null, parent = null, color = RB_TREE_COLOR_BLACK) { + this.left = left; + this.right = right; + this.parent = parent; + this.color = color; + this.item = { key, value }; + if (key && key instanceof Array && key.length === 2) { + if (!Number.isNaN(key[0]) && !Number.isNaN(key[1])) { + let [low, high] = key; + if (low > high) [low, high] = [high, low]; + this.item.key = new Interval(low, high); + } + } + this.max = this.item.key ? this.item.key.max : void 0; + } + isNil() { + return this.item.key === void 0 && this.item.value === void 0 && this.left === null && this.right === null && this.color === RB_TREE_COLOR_BLACK; + } + _value_less_than(other_node) { + return this.item.value && other_node.item.value && this.item.value.less_than ? this.item.value.less_than(other_node.item.value) : this.item.value < other_node.item.value; + } + less_than(other_node) { + if (this.item.value === this.item.key && other_node.item.value === other_node.item.key) { + return this.item.key.less_than(other_node.item.key); + } else { + return this.item.key.less_than(other_node.item.key) || this.item.key.equal_to(other_node.item.key) && this._value_less_than(other_node); + } + } + _value_equal(other_node) { + return this.item.value && other_node.item.value && this.item.value.equal_to ? this.item.value.equal_to(other_node.item.value) : this.item.value === other_node.item.value; + } + equal_to(other_node) { + if (this.item.value === this.item.key && other_node.item.value === other_node.item.key) { + return this.item.key.equal_to(other_node.item.key); + } else { + return this.item.key.equal_to(other_node.item.key) && this._value_equal(other_node); + } + } + intersect(other_node) { + return this.item.key.intersect(other_node.item.key); + } + copy_data(other_node) { + this.item.key = other_node.item.key; + this.item.value = other_node.item.value; + } + update_max() { + this.max = this.item.key ? this.item.key.max : void 0; + if (this.right && this.right.max) { + const comparable_max = this.item.key.constructor.comparable_max; + this.max = comparable_max(this.max, this.right.max); + } + if (this.left && this.left.max) { + const comparable_max = this.item.key.constructor.comparable_max; + this.max = comparable_max(this.max, this.left.max); + } + } + // Other_node does not intersect any node of left subtree, if this.left.max < other_node.item.key.low + not_intersect_left_subtree(search_node) { + const comparable_less_than = this.item.key.constructor.comparable_less_than; + let high = this.left.max.high !== void 0 ? this.left.max.high : this.left.max; + return comparable_less_than(high, search_node.item.key.low); + } + // Other_node does not intersect right subtree if other_node.item.key.high < this.right.key.low + not_intersect_right_subtree(search_node) { + const comparable_less_than = this.item.key.constructor.comparable_less_than; + let low = this.right.max.low !== void 0 ? this.right.max.low : this.right.item.key.low; + return comparable_less_than(search_node.item.key.high, low); + } + }; + var IntervalTree = class _IntervalTree { + /** + * Construct new empty instance of IntervalTree + */ + constructor() { + this.root = null; + this.nil_node = new Node(); + } + /** + * Returns number of items stored in the interval tree + * @returns {number} + */ + get size() { + let count = 0; + this.tree_walk(this.root, () => count++); + return count; + } + /** + * Returns array of sorted keys in the ascending order + * @returns {Array} + */ + get keys() { + let res = []; + this.tree_walk(this.root, (node) => res.push( + node.item.key.output ? node.item.key.output() : node.item.key + )); + return res; + } + /** + * Return array of values in the ascending keys order + * @returns {Array} + */ + get values() { + let res = []; + this.tree_walk(this.root, (node) => res.push(node.item.value)); + return res; + } + /** + * Returns array of items ( pairs) in the ascended keys order + * @returns {Array} + */ + get items() { + let res = []; + this.tree_walk(this.root, (node) => res.push({ + key: node.item.key.output ? node.item.key.output() : node.item.key, + value: node.item.value + })); + return res; + } + /** + * Returns true if tree is empty + * @returns {boolean} + */ + isEmpty() { + return this.root == null || this.root === this.nil_node; + } + /** + * Clear tree + */ + clear() { + this.root = null; + } + /** + * Insert new item into interval tree + * @param {Interval} key - interval object or array of two numbers [low, high] + * @param {any} value - value representing any object (optional) + * @returns {Node} returns reference to inserted node as an object {key:interval, value: value} + */ + insert(key, value = key) { + if (key === void 0) return; + let insert_node = new Node(key, value, this.nil_node, this.nil_node, null, RB_TREE_COLOR_RED); + this.tree_insert(insert_node); + this.recalc_max(insert_node); + return insert_node; + } + /** + * Returns true if item {key,value} exist in the tree + * @param {Interval} key - interval correspondent to keys stored in the tree + * @param {any} value - value object to be checked + * @returns {boolean} true if item {key, value} exist in the tree, false otherwise + */ + exist(key, value = key) { + let search_node = new Node(key, value); + return !!this.tree_search(this.root, search_node); + } + /** + * Remove entry {key, value} from the tree + * @param {Interval} key - interval correspondent to keys stored in the tree + * @param {any} value - value object + * @returns {boolean} true if item {key, value} deleted, false if not found + */ + remove(key, value = key) { + let search_node = new Node(key, value); + let delete_node = this.tree_search(this.root, search_node); + if (delete_node) { + this.tree_delete(delete_node); + } + return delete_node; + } + /** + * Returns array of entry values which keys intersect with given interval
    + * If no values stored in the tree, returns array of keys which intersect given interval + * @param {Interval} interval - search interval, or tuple [low, high] + * @param outputMapperFn(value,key) - optional function that maps (value, key) to custom output + * @returns {Array} + */ + search(interval, outputMapperFn = (value, key) => value === key ? key.output() : value) { + let search_node = new Node(interval); + let resp_nodes = []; + this.tree_search_interval(this.root, search_node, resp_nodes); + return resp_nodes.map((node) => outputMapperFn(node.item.value, node.item.key)); + } + /** + * Returns true if intersection between given and any interval stored in the tree found + * @param {Interval} interval - search interval or tuple [low, high] + * @returns {boolean} + */ + intersect_any(interval) { + let search_node = new Node(interval); + return this.tree_find_any_interval(this.root, search_node); + } + /** + * Tree visitor. For each node implement a callback function.
    + * Method calls a callback function with two parameters (key, value) + * @param visitor(key,value) - function to be called for each tree item + */ + forEach(visitor) { + this.tree_walk(this.root, (node) => visitor(node.item.key, node.item.value)); + } + /** + * Value Mapper. Walk through every node and map node value to another value + * @param callback(value,key) - function to be called for each tree item + */ + map(callback) { + const tree = new _IntervalTree(); + this.tree_walk(this.root, (node) => tree.insert(node.item.key, callback(node.item.value, node.item.key))); + return tree; + } + /** + * @param {Interval} interval - optional if the iterator is intended to start from the beginning + * @param outputMapperFn(value,key) - optional function that maps (value, key) to custom output + * @returns {Iterator} + */ + *iterate(interval, outputMapperFn = (value, key) => value === key ? key.output() : value) { + let node; + if (interval) { + node = this.tree_search_nearest_forward(this.root, new Node(interval)); + } else if (this.root) { + node = this.local_minimum(this.root); + } + while (node) { + yield outputMapperFn(node.item.value, node.item.key); + node = this.tree_successor(node); + } + } + recalc_max(node) { + let node_current = node; + while (node_current.parent != null) { + node_current.parent.update_max(); + node_current = node_current.parent; + } + } + tree_insert(insert_node) { + let current_node = this.root; + let parent_node = null; + if (this.root == null || this.root === this.nil_node) { + this.root = insert_node; + } else { + while (current_node !== this.nil_node) { + parent_node = current_node; + if (insert_node.less_than(current_node)) { + current_node = current_node.left; + } else { + current_node = current_node.right; + } + } + insert_node.parent = parent_node; + if (insert_node.less_than(parent_node)) { + parent_node.left = insert_node; + } else { + parent_node.right = insert_node; + } + } + this.insert_fixup(insert_node); + } + // After insertion insert_node may have red-colored parent, and this is a single possible violation + // Go upwords to the root and re-color until violation will be resolved + insert_fixup(insert_node) { + let current_node; + let uncle_node; + current_node = insert_node; + while (current_node !== this.root && current_node.parent.color === RB_TREE_COLOR_RED) { + if (current_node.parent === current_node.parent.parent.left) { + uncle_node = current_node.parent.parent.right; + if (uncle_node.color === RB_TREE_COLOR_RED) { + current_node.parent.color = RB_TREE_COLOR_BLACK; + uncle_node.color = RB_TREE_COLOR_BLACK; + current_node.parent.parent.color = RB_TREE_COLOR_RED; + current_node = current_node.parent.parent; + } else { + if (current_node === current_node.parent.right) { + current_node = current_node.parent; + this.rotate_left(current_node); + } + current_node.parent.color = RB_TREE_COLOR_BLACK; + current_node.parent.parent.color = RB_TREE_COLOR_RED; + this.rotate_right(current_node.parent.parent); + } + } else { + uncle_node = current_node.parent.parent.left; + if (uncle_node.color === RB_TREE_COLOR_RED) { + current_node.parent.color = RB_TREE_COLOR_BLACK; + uncle_node.color = RB_TREE_COLOR_BLACK; + current_node.parent.parent.color = RB_TREE_COLOR_RED; + current_node = current_node.parent.parent; + } else { + if (current_node === current_node.parent.left) { + current_node = current_node.parent; + this.rotate_right(current_node); + } + current_node.parent.color = RB_TREE_COLOR_BLACK; + current_node.parent.parent.color = RB_TREE_COLOR_RED; + this.rotate_left(current_node.parent.parent); + } + } + } + this.root.color = RB_TREE_COLOR_BLACK; + } + tree_delete(delete_node) { + let cut_node; + let fix_node; + if (delete_node.left === this.nil_node || delete_node.right === this.nil_node) { + cut_node = delete_node; + } else { + cut_node = this.tree_successor(delete_node); + } + if (cut_node.left !== this.nil_node) { + fix_node = cut_node.left; + } else { + fix_node = cut_node.right; + } + fix_node.parent = cut_node.parent; + if (cut_node === this.root) { + this.root = fix_node; + } else { + if (cut_node === cut_node.parent.left) { + cut_node.parent.left = fix_node; + } else { + cut_node.parent.right = fix_node; + } + cut_node.parent.update_max(); + } + this.recalc_max(fix_node); + if (cut_node !== delete_node) { + delete_node.copy_data(cut_node); + delete_node.update_max(); + this.recalc_max(delete_node); + } + if ( + /*fix_node != this.nil_node && */ + cut_node.color === RB_TREE_COLOR_BLACK + ) { + this.delete_fixup(fix_node); + } + } + delete_fixup(fix_node) { + let current_node = fix_node; + let brother_node; + while (current_node !== this.root && current_node.parent != null && current_node.color === RB_TREE_COLOR_BLACK) { + if (current_node === current_node.parent.left) { + brother_node = current_node.parent.right; + if (brother_node.color === RB_TREE_COLOR_RED) { + brother_node.color = RB_TREE_COLOR_BLACK; + current_node.parent.color = RB_TREE_COLOR_RED; + this.rotate_left(current_node.parent); + brother_node = current_node.parent.right; + } + if (brother_node.left.color === RB_TREE_COLOR_BLACK && brother_node.right.color === RB_TREE_COLOR_BLACK) { + brother_node.color = RB_TREE_COLOR_RED; + current_node = current_node.parent; + } else { + if (brother_node.right.color === RB_TREE_COLOR_BLACK) { + brother_node.color = RB_TREE_COLOR_RED; + brother_node.left.color = RB_TREE_COLOR_BLACK; + this.rotate_right(brother_node); + brother_node = current_node.parent.right; + } + brother_node.color = current_node.parent.color; + current_node.parent.color = RB_TREE_COLOR_BLACK; + brother_node.right.color = RB_TREE_COLOR_BLACK; + this.rotate_left(current_node.parent); + current_node = this.root; + } + } else { + brother_node = current_node.parent.left; + if (brother_node.color === RB_TREE_COLOR_RED) { + brother_node.color = RB_TREE_COLOR_BLACK; + current_node.parent.color = RB_TREE_COLOR_RED; + this.rotate_right(current_node.parent); + brother_node = current_node.parent.left; + } + if (brother_node.left.color === RB_TREE_COLOR_BLACK && brother_node.right.color === RB_TREE_COLOR_BLACK) { + brother_node.color = RB_TREE_COLOR_RED; + current_node = current_node.parent; + } else { + if (brother_node.left.color === RB_TREE_COLOR_BLACK) { + brother_node.color = RB_TREE_COLOR_RED; + brother_node.right.color = RB_TREE_COLOR_BLACK; + this.rotate_left(brother_node); + brother_node = current_node.parent.left; + } + brother_node.color = current_node.parent.color; + current_node.parent.color = RB_TREE_COLOR_BLACK; + brother_node.left.color = RB_TREE_COLOR_BLACK; + this.rotate_right(current_node.parent); + current_node = this.root; + } + } + } + current_node.color = RB_TREE_COLOR_BLACK; + } + tree_search(node, search_node) { + if (node == null || node === this.nil_node) + return void 0; + if (search_node.equal_to(node)) { + return node; + } + if (search_node.less_than(node)) { + return this.tree_search(node.left, search_node); + } else { + return this.tree_search(node.right, search_node); + } + } + tree_search_nearest_forward(node, search_node) { + let best; + let curr = node; + while (curr && curr !== this.nil_node) { + if (curr.less_than(search_node)) { + if (curr.intersect(search_node)) { + best = curr; + curr = curr.left; + } else { + curr = curr.right; + } + } else { + if (!best || curr.less_than(best)) best = curr; + curr = curr.left; + } + } + return best || null; + } + // Original search_interval method; container res support push() insertion + // Search all intervals intersecting given one + tree_search_interval(node, search_node, res) { + if (node != null && node !== this.nil_node) { + if (node.left !== this.nil_node && !node.not_intersect_left_subtree(search_node)) { + this.tree_search_interval(node.left, search_node, res); + } + if (node.intersect(search_node)) { + res.push(node); + } + if (node.right !== this.nil_node && !node.not_intersect_right_subtree(search_node)) { + this.tree_search_interval(node.right, search_node, res); + } + } + } + tree_find_any_interval(node, search_node) { + let found = false; + if (node != null && node !== this.nil_node) { + if (node.left !== this.nil_node && !node.not_intersect_left_subtree(search_node)) { + found = this.tree_find_any_interval(node.left, search_node); + } + if (!found) { + found = node.intersect(search_node); + } + if (!found && node.right !== this.nil_node && !node.not_intersect_right_subtree(search_node)) { + found = this.tree_find_any_interval(node.right, search_node); + } + } + return found; + } + local_minimum(node) { + let node_min = node; + while (node_min.left != null && node_min.left !== this.nil_node) { + node_min = node_min.left; + } + return node_min; + } + // not in use + local_maximum(node) { + let node_max = node; + while (node_max.right != null && node_max.right !== this.nil_node) { + node_max = node_max.right; + } + return node_max; + } + tree_successor(node) { + let node_successor; + let current_node; + let parent_node; + if (node.right !== this.nil_node) { + node_successor = this.local_minimum(node.right); + } else { + current_node = node; + parent_node = node.parent; + while (parent_node != null && parent_node.right === current_node) { + current_node = parent_node; + parent_node = parent_node.parent; + } + node_successor = parent_node; + } + return node_successor; + } + // | right-rotate(T,y) | + // y ---------------. x + // / \ / \ + // x c left-rotate(T,x) a y + // / \ <--------------- / \ + // a b b c + rotate_left(x2) { + let y = x2.right; + x2.right = y.left; + if (y.left !== this.nil_node) { + y.left.parent = x2; + } + y.parent = x2.parent; + if (x2 === this.root) { + this.root = y; + } else { + if (x2 === x2.parent.left) { + x2.parent.left = y; + } else { + x2.parent.right = y; + } + } + y.left = x2; + x2.parent = y; + if (x2 != null && x2 !== this.nil_node) { + x2.update_max(); + } + y = x2.parent; + if (y != null && y !== this.nil_node) { + y.update_max(); + } + } + rotate_right(y) { + let x2 = y.left; + y.left = x2.right; + if (x2.right !== this.nil_node) { + x2.right.parent = y; + } + x2.parent = y.parent; + if (y === this.root) { + this.root = x2; + } else { + if (y === y.parent.left) { + y.parent.left = x2; + } else { + y.parent.right = x2; + } + } + x2.right = y; + y.parent = x2; + if (y !== null && y !== this.nil_node) { + y.update_max(); + } + x2 = y.parent; + if (x2 != null && x2 !== this.nil_node) { + x2.update_max(); + } + } + tree_walk(node, action) { + if (node != null && node !== this.nil_node) { + this.tree_walk(node.left, action); + action(node); + this.tree_walk(node.right, action); + } + } + /* Return true if all red nodes have exactly two black child nodes */ + testRedBlackProperty() { + let res = true; + this.tree_walk(this.root, function(node) { + if (node.color === RB_TREE_COLOR_RED) { + if (!(node.left.color === RB_TREE_COLOR_BLACK && node.right.color === RB_TREE_COLOR_BLACK)) { + res = false; + } + } + }); + return res; + } + /* Throw error if not every path from root to bottom has same black height */ + testBlackHeightProperty(node) { + let height = 0; + let heightLeft = 0; + let heightRight = 0; + if (node.color === RB_TREE_COLOR_BLACK) { + height++; + } + if (node.left !== this.nil_node) { + heightLeft = this.testBlackHeightProperty(node.left); + } else { + heightLeft = 1; + } + if (node.right !== this.nil_node) { + heightRight = this.testBlackHeightProperty(node.right); + } else { + heightRight = 1; + } + if (heightLeft !== heightRight) { + throw new Error("Red-black height property violated"); + } + height += heightLeft; + return height; + } + }; + + // node_modules/decimal.js/decimal.mjs + var EXP_LIMIT = 9e15; + var MAX_DIGITS = 1e9; + var NUMERALS = "0123456789abcdef"; + var LN10 = "2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058"; + var PI = "3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789"; + var DEFAULTS = { + // These values must be integers within the stated ranges (inclusive). + // Most of these values can be changed at run-time using the `Decimal.config` method. + // The maximum number of significant digits of the result of a calculation or base conversion. + // E.g. `Decimal.config({ precision: 20 });` + precision: 20, + // 1 to MAX_DIGITS + // The rounding mode used when rounding to `precision`. + // + // ROUND_UP 0 Away from zero. + // ROUND_DOWN 1 Towards zero. + // ROUND_CEIL 2 Towards +Infinity. + // ROUND_FLOOR 3 Towards -Infinity. + // ROUND_HALF_UP 4 Towards nearest neighbour. If equidistant, up. + // ROUND_HALF_DOWN 5 Towards nearest neighbour. If equidistant, down. + // ROUND_HALF_EVEN 6 Towards nearest neighbour. If equidistant, towards even neighbour. + // ROUND_HALF_CEIL 7 Towards nearest neighbour. If equidistant, towards +Infinity. + // ROUND_HALF_FLOOR 8 Towards nearest neighbour. If equidistant, towards -Infinity. + // + // E.g. + // `Decimal.rounding = 4;` + // `Decimal.rounding = Decimal.ROUND_HALF_UP;` + rounding: 4, + // 0 to 8 + // The modulo mode used when calculating the modulus: a mod n. + // The quotient (q = a / n) is calculated according to the corresponding rounding mode. + // The remainder (r) is calculated as: r = a - n * q. + // + // UP 0 The remainder is positive if the dividend is negative, else is negative. + // DOWN 1 The remainder has the same sign as the dividend (JavaScript %). + // FLOOR 3 The remainder has the same sign as the divisor (Python %). + // HALF_EVEN 6 The IEEE 754 remainder function. + // EUCLID 9 Euclidian division. q = sign(n) * floor(a / abs(n)). Always positive. + // + // Truncated division (1), floored division (3), the IEEE 754 remainder (6), and Euclidian + // division (9) are commonly used for the modulus operation. The other rounding modes can also + // be used, but they may not give useful results. + modulo: 1, + // 0 to 9 + // The exponent value at and beneath which `toString` returns exponential notation. + // JavaScript numbers: -7 + toExpNeg: -7, + // 0 to -EXP_LIMIT + // The exponent value at and above which `toString` returns exponential notation. + // JavaScript numbers: 21 + toExpPos: 21, + // 0 to EXP_LIMIT + // The minimum exponent value, beneath which underflow to zero occurs. + // JavaScript numbers: -324 (5e-324) + minE: -EXP_LIMIT, + // -1 to -EXP_LIMIT + // The maximum exponent value, above which overflow to Infinity occurs. + // JavaScript numbers: 308 (1.7976931348623157e+308) + maxE: EXP_LIMIT, + // 1 to EXP_LIMIT + // Whether to use cryptographically-secure random number generation, if available. + crypto: false + // true/false + }; + var inexact; + var quadrant; + var external = true; + var decimalError = "[DecimalError] "; + var invalidArgument = decimalError + "Invalid argument: "; + var precisionLimitExceeded = decimalError + "Precision limit exceeded"; + var cryptoUnavailable = decimalError + "crypto unavailable"; + var tag = "[object Decimal]"; + var mathfloor = Math.floor; + var mathpow = Math.pow; + var isBinary = /^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i; + var isHex = /^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i; + var isOctal = /^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i; + var isDecimal = /^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i; + var BASE = 1e7; + var LOG_BASE = 7; + var MAX_SAFE_INTEGER3 = 9007199254740991; + var LN10_PRECISION = LN10.length - 1; + var PI_PRECISION = PI.length - 1; + var P3 = { toStringTag: tag }; + P3.absoluteValue = P3.abs = function() { + var x2 = new this.constructor(this); + if (x2.s < 0) x2.s = 1; + return finalise(x2); + }; + P3.ceil = function() { + return finalise(new this.constructor(this), this.e + 1, 2); + }; + P3.clampedTo = P3.clamp = function(min2, max2) { + var k4, x2 = this, Ctor = x2.constructor; + min2 = new Ctor(min2); + max2 = new Ctor(max2); + if (!min2.s || !max2.s) return new Ctor(NaN); + if (min2.gt(max2)) throw Error(invalidArgument + max2); + k4 = x2.cmp(min2); + return k4 < 0 ? min2 : x2.cmp(max2) > 0 ? max2 : new Ctor(x2); + }; + P3.comparedTo = P3.cmp = function(y) { + var i, j4, xdL, ydL, x2 = this, xd3 = x2.d, yd4 = (y = new x2.constructor(y)).d, xs4 = x2.s, ys4 = y.s; + if (!xd3 || !yd4) { + return !xs4 || !ys4 ? NaN : xs4 !== ys4 ? xs4 : xd3 === yd4 ? 0 : !xd3 ^ xs4 < 0 ? 1 : -1; + } + if (!xd3[0] || !yd4[0]) return xd3[0] ? xs4 : yd4[0] ? -ys4 : 0; + if (xs4 !== ys4) return xs4; + if (x2.e !== y.e) return x2.e > y.e ^ xs4 < 0 ? 1 : -1; + xdL = xd3.length; + ydL = yd4.length; + for (i = 0, j4 = xdL < ydL ? xdL : ydL; i < j4; ++i) { + if (xd3[i] !== yd4[i]) return xd3[i] > yd4[i] ^ xs4 < 0 ? 1 : -1; + } + return xdL === ydL ? 0 : xdL > ydL ^ xs4 < 0 ? 1 : -1; + }; + P3.cosine = P3.cos = function() { + var pr5, rm2, x2 = this, Ctor = x2.constructor; + if (!x2.d) return new Ctor(NaN); + if (!x2.d[0]) return new Ctor(1); + pr5 = Ctor.precision; + rm2 = Ctor.rounding; + Ctor.precision = pr5 + Math.max(x2.e, x2.sd()) + LOG_BASE; + Ctor.rounding = 1; + x2 = cosine(Ctor, toLessThanHalfPi(Ctor, x2)); + Ctor.precision = pr5; + Ctor.rounding = rm2; + return finalise(quadrant == 2 || quadrant == 3 ? x2.neg() : x2, pr5, rm2, true); + }; + P3.cubeRoot = P3.cbrt = function() { + var e29, m, n, r, rep, s, sd4, t, t3, t3plusx, x2 = this, Ctor = x2.constructor; + if (!x2.isFinite() || x2.isZero()) return new Ctor(x2); + external = false; + s = x2.s * mathpow(x2.s * x2, 1 / 3); + if (!s || Math.abs(s) == 1 / 0) { + n = digitsToString(x2.d); + e29 = x2.e; + if (s = (e29 - n.length + 1) % 3) n += s == 1 || s == -2 ? "0" : "00"; + s = mathpow(n, 1 / 3); + e29 = mathfloor((e29 + 1) / 3) - (e29 % 3 == (e29 < 0 ? -1 : 2)); + if (s == 1 / 0) { + n = "5e" + e29; + } else { + n = s.toExponential(); + n = n.slice(0, n.indexOf("e") + 1) + e29; + } + r = new Ctor(n); + r.s = x2.s; + } else { + r = new Ctor(s.toString()); + } + sd4 = (e29 = Ctor.precision) + 3; + for (; ; ) { + t = r; + t3 = t.times(t).times(t); + t3plusx = t3.plus(x2); + r = divide(t3plusx.plus(x2).times(t), t3plusx.plus(t3), sd4 + 2, 1); + if (digitsToString(t.d).slice(0, sd4) === (n = digitsToString(r.d)).slice(0, sd4)) { + n = n.slice(sd4 - 3, sd4 + 1); + if (n == "9999" || !rep && n == "4999") { + if (!rep) { + finalise(t, e29 + 1, 0); + if (t.times(t).times(t).eq(x2)) { + r = t; + break; + } + } + sd4 += 4; + rep = 1; + } else { + if (!+n || !+n.slice(1) && n.charAt(0) == "5") { + finalise(r, e29 + 1, 1); + m = !r.times(r).times(r).eq(x2); + } + break; + } + } + } + external = true; + return finalise(r, e29, Ctor.rounding, m); + }; + P3.decimalPlaces = P3.dp = function() { + var w2, d = this.d, n = NaN; + if (d) { + w2 = d.length - 1; + n = (w2 - mathfloor(this.e / LOG_BASE)) * LOG_BASE; + w2 = d[w2]; + if (w2) for (; w2 % 10 == 0; w2 /= 10) n--; + if (n < 0) n = 0; + } + return n; + }; + P3.dividedBy = P3.div = function(y) { + return divide(this, new this.constructor(y)); + }; + P3.dividedToIntegerBy = P3.divToInt = function(y) { + var x2 = this, Ctor = x2.constructor; + return finalise(divide(x2, new Ctor(y), 0, 1, 1), Ctor.precision, Ctor.rounding); + }; + P3.equals = P3.eq = function(y) { + return this.cmp(y) === 0; + }; + P3.floor = function() { + return finalise(new this.constructor(this), this.e + 1, 3); + }; + P3.greaterThan = P3.gt = function(y) { + return this.cmp(y) > 0; + }; + P3.greaterThanOrEqualTo = P3.gte = function(y) { + var k4 = this.cmp(y); + return k4 == 1 || k4 === 0; + }; + P3.hyperbolicCosine = P3.cosh = function() { + var k4, n, pr5, rm2, len, x2 = this, Ctor = x2.constructor, one = new Ctor(1); + if (!x2.isFinite()) return new Ctor(x2.s ? 1 / 0 : NaN); + if (x2.isZero()) return one; + pr5 = Ctor.precision; + rm2 = Ctor.rounding; + Ctor.precision = pr5 + Math.max(x2.e, x2.sd()) + 4; + Ctor.rounding = 1; + len = x2.d.length; + if (len < 32) { + k4 = Math.ceil(len / 3); + n = (1 / tinyPow(4, k4)).toString(); + } else { + k4 = 16; + n = "2.3283064365386962890625e-10"; + } + x2 = taylorSeries(Ctor, 1, x2.times(n), new Ctor(1), true); + var cosh2_x, i = k4, d8 = new Ctor(8); + for (; i--; ) { + cosh2_x = x2.times(x2); + x2 = one.minus(cosh2_x.times(d8.minus(cosh2_x.times(d8)))); + } + return finalise(x2, Ctor.precision = pr5, Ctor.rounding = rm2, true); + }; + P3.hyperbolicSine = P3.sinh = function() { + var k4, pr5, rm2, len, x2 = this, Ctor = x2.constructor; + if (!x2.isFinite() || x2.isZero()) return new Ctor(x2); + pr5 = Ctor.precision; + rm2 = Ctor.rounding; + Ctor.precision = pr5 + Math.max(x2.e, x2.sd()) + 4; + Ctor.rounding = 1; + len = x2.d.length; + if (len < 3) { + x2 = taylorSeries(Ctor, 2, x2, x2, true); + } else { + k4 = 1.4 * Math.sqrt(len); + k4 = k4 > 16 ? 16 : k4 | 0; + x2 = x2.times(1 / tinyPow(5, k4)); + x2 = taylorSeries(Ctor, 2, x2, x2, true); + var sinh2_x, d5 = new Ctor(5), d16 = new Ctor(16), d20 = new Ctor(20); + for (; k4--; ) { + sinh2_x = x2.times(x2); + x2 = x2.times(d5.plus(sinh2_x.times(d16.times(sinh2_x).plus(d20)))); + } + } + Ctor.precision = pr5; + Ctor.rounding = rm2; + return finalise(x2, pr5, rm2, true); + }; + P3.hyperbolicTangent = P3.tanh = function() { + var pr5, rm2, x2 = this, Ctor = x2.constructor; + if (!x2.isFinite()) return new Ctor(x2.s); + if (x2.isZero()) return new Ctor(x2); + pr5 = Ctor.precision; + rm2 = Ctor.rounding; + Ctor.precision = pr5 + 7; + Ctor.rounding = 1; + return divide(x2.sinh(), x2.cosh(), Ctor.precision = pr5, Ctor.rounding = rm2); + }; + P3.inverseCosine = P3.acos = function() { + var x2 = this, Ctor = x2.constructor, k4 = x2.abs().cmp(1), pr5 = Ctor.precision, rm2 = Ctor.rounding; + if (k4 !== -1) { + return k4 === 0 ? x2.isNeg() ? getPi(Ctor, pr5, rm2) : new Ctor(0) : new Ctor(NaN); + } + if (x2.isZero()) return getPi(Ctor, pr5 + 4, rm2).times(0.5); + Ctor.precision = pr5 + 6; + Ctor.rounding = 1; + x2 = new Ctor(1).minus(x2).div(x2.plus(1)).sqrt().atan(); + Ctor.precision = pr5; + Ctor.rounding = rm2; + return x2.times(2); + }; + P3.inverseHyperbolicCosine = P3.acosh = function() { + var pr5, rm2, x2 = this, Ctor = x2.constructor; + if (x2.lte(1)) return new Ctor(x2.eq(1) ? 0 : NaN); + if (!x2.isFinite()) return new Ctor(x2); + pr5 = Ctor.precision; + rm2 = Ctor.rounding; + Ctor.precision = pr5 + Math.max(Math.abs(x2.e), x2.sd()) + 4; + Ctor.rounding = 1; + external = false; + x2 = x2.times(x2).minus(1).sqrt().plus(x2); + external = true; + Ctor.precision = pr5; + Ctor.rounding = rm2; + return x2.ln(); + }; + P3.inverseHyperbolicSine = P3.asinh = function() { + var pr5, rm2, x2 = this, Ctor = x2.constructor; + if (!x2.isFinite() || x2.isZero()) return new Ctor(x2); + pr5 = Ctor.precision; + rm2 = Ctor.rounding; + Ctor.precision = pr5 + 2 * Math.max(Math.abs(x2.e), x2.sd()) + 6; + Ctor.rounding = 1; + external = false; + x2 = x2.times(x2).plus(1).sqrt().plus(x2); + external = true; + Ctor.precision = pr5; + Ctor.rounding = rm2; + return x2.ln(); + }; + P3.inverseHyperbolicTangent = P3.atanh = function() { + var pr5, rm2, wpr, xsd, x2 = this, Ctor = x2.constructor; + if (!x2.isFinite()) return new Ctor(NaN); + if (x2.e >= 0) return new Ctor(x2.abs().eq(1) ? x2.s / 0 : x2.isZero() ? x2 : NaN); + pr5 = Ctor.precision; + rm2 = Ctor.rounding; + xsd = x2.sd(); + if (Math.max(xsd, pr5) < 2 * -x2.e - 1) return finalise(new Ctor(x2), pr5, rm2, true); + Ctor.precision = wpr = xsd - x2.e; + x2 = divide(x2.plus(1), new Ctor(1).minus(x2), wpr + pr5, 1); + Ctor.precision = pr5 + 4; + Ctor.rounding = 1; + x2 = x2.ln(); + Ctor.precision = pr5; + Ctor.rounding = rm2; + return x2.times(0.5); + }; + P3.inverseSine = P3.asin = function() { + var halfPi, k4, pr5, rm2, x2 = this, Ctor = x2.constructor; + if (x2.isZero()) return new Ctor(x2); + k4 = x2.abs().cmp(1); + pr5 = Ctor.precision; + rm2 = Ctor.rounding; + if (k4 !== -1) { + if (k4 === 0) { + halfPi = getPi(Ctor, pr5 + 4, rm2).times(0.5); + halfPi.s = x2.s; + return halfPi; + } + return new Ctor(NaN); + } + Ctor.precision = pr5 + 6; + Ctor.rounding = 1; + x2 = x2.div(new Ctor(1).minus(x2.times(x2)).sqrt().plus(1)).atan(); + Ctor.precision = pr5; + Ctor.rounding = rm2; + return x2.times(2); + }; + P3.inverseTangent = P3.atan = function() { + var i, j4, k4, n, px, t, r, wpr, x2, x3 = this, Ctor = x3.constructor, pr5 = Ctor.precision, rm2 = Ctor.rounding; + if (!x3.isFinite()) { + if (!x3.s) return new Ctor(NaN); + if (pr5 + 4 <= PI_PRECISION) { + r = getPi(Ctor, pr5 + 4, rm2).times(0.5); + r.s = x3.s; + return r; + } + } else if (x3.isZero()) { + return new Ctor(x3); + } else if (x3.abs().eq(1) && pr5 + 4 <= PI_PRECISION) { + r = getPi(Ctor, pr5 + 4, rm2).times(0.25); + r.s = x3.s; + return r; + } + Ctor.precision = wpr = pr5 + 10; + Ctor.rounding = 1; + k4 = Math.min(28, wpr / LOG_BASE + 2 | 0); + for (i = k4; i; --i) x3 = x3.div(x3.times(x3).plus(1).sqrt().plus(1)); + external = false; + j4 = Math.ceil(wpr / LOG_BASE); + n = 1; + x2 = x3.times(x3); + r = new Ctor(x3); + px = x3; + for (; i !== -1; ) { + px = px.times(x2); + t = r.minus(px.div(n += 2)); + px = px.times(x2); + r = t.plus(px.div(n += 2)); + if (r.d[j4] !== void 0) for (i = j4; r.d[i] === t.d[i] && i--; ) ; + } + if (k4) r = r.times(2 << k4 - 1); + external = true; + return finalise(r, Ctor.precision = pr5, Ctor.rounding = rm2, true); + }; + P3.isFinite = function() { + return !!this.d; + }; + P3.isInteger = P3.isInt = function() { + return !!this.d && mathfloor(this.e / LOG_BASE) > this.d.length - 2; + }; + P3.isNaN = function() { + return !this.s; + }; + P3.isNegative = P3.isNeg = function() { + return this.s < 0; + }; + P3.isPositive = P3.isPos = function() { + return this.s > 0; + }; + P3.isZero = function() { + return !!this.d && this.d[0] === 0; + }; + P3.lessThan = P3.lt = function(y) { + return this.cmp(y) < 0; + }; + P3.lessThanOrEqualTo = P3.lte = function(y) { + return this.cmp(y) < 1; + }; + P3.logarithm = P3.log = function(base) { + var isBase10, d, denominator, k4, inf, num, sd4, r, arg = this, Ctor = arg.constructor, pr5 = Ctor.precision, rm2 = Ctor.rounding, guard = 5; + if (base == null) { + base = new Ctor(10); + isBase10 = true; + } else { + base = new Ctor(base); + d = base.d; + if (base.s < 0 || !d || !d[0] || base.eq(1)) return new Ctor(NaN); + isBase10 = base.eq(10); + } + d = arg.d; + if (arg.s < 0 || !d || !d[0] || arg.eq(1)) { + return new Ctor(d && !d[0] ? -1 / 0 : arg.s != 1 ? NaN : d ? 0 : 1 / 0); + } + if (isBase10) { + if (d.length > 1) { + inf = true; + } else { + for (k4 = d[0]; k4 % 10 === 0; ) k4 /= 10; + inf = k4 !== 1; + } + } + external = false; + sd4 = pr5 + guard; + num = naturalLogarithm(arg, sd4); + denominator = isBase10 ? getLn10(Ctor, sd4 + 10) : naturalLogarithm(base, sd4); + r = divide(num, denominator, sd4, 1); + if (checkRoundingDigits(r.d, k4 = pr5, rm2)) { + do { + sd4 += 10; + num = naturalLogarithm(arg, sd4); + denominator = isBase10 ? getLn10(Ctor, sd4 + 10) : naturalLogarithm(base, sd4); + r = divide(num, denominator, sd4, 1); + if (!inf) { + if (+digitsToString(r.d).slice(k4 + 1, k4 + 15) + 1 == 1e14) { + r = finalise(r, pr5 + 1, 0); + } + break; + } + } while (checkRoundingDigits(r.d, k4 += 10, rm2)); + } + external = true; + return finalise(r, pr5, rm2); + }; + P3.minus = P3.sub = function(y) { + var d, e29, i, j4, k4, len, pr5, rm2, xd3, xe, xLTy, yd4, x2 = this, Ctor = x2.constructor; + y = new Ctor(y); + if (!x2.d || !y.d) { + if (!x2.s || !y.s) y = new Ctor(NaN); + else if (x2.d) y.s = -y.s; + else y = new Ctor(y.d || x2.s !== y.s ? x2 : NaN); + return y; + } + if (x2.s != y.s) { + y.s = -y.s; + return x2.plus(y); + } + xd3 = x2.d; + yd4 = y.d; + pr5 = Ctor.precision; + rm2 = Ctor.rounding; + if (!xd3[0] || !yd4[0]) { + if (yd4[0]) y.s = -y.s; + else if (xd3[0]) y = new Ctor(x2); + else return new Ctor(rm2 === 3 ? -0 : 0); + return external ? finalise(y, pr5, rm2) : y; + } + e29 = mathfloor(y.e / LOG_BASE); + xe = mathfloor(x2.e / LOG_BASE); + xd3 = xd3.slice(); + k4 = xe - e29; + if (k4) { + xLTy = k4 < 0; + if (xLTy) { + d = xd3; + k4 = -k4; + len = yd4.length; + } else { + d = yd4; + e29 = xe; + len = xd3.length; + } + i = Math.max(Math.ceil(pr5 / LOG_BASE), len) + 2; + if (k4 > i) { + k4 = i; + d.length = 1; + } + d.reverse(); + for (i = k4; i--; ) d.push(0); + d.reverse(); + } else { + i = xd3.length; + len = yd4.length; + xLTy = i < len; + if (xLTy) len = i; + for (i = 0; i < len; i++) { + if (xd3[i] != yd4[i]) { + xLTy = xd3[i] < yd4[i]; + break; + } + } + k4 = 0; + } + if (xLTy) { + d = xd3; + xd3 = yd4; + yd4 = d; + y.s = -y.s; + } + len = xd3.length; + for (i = yd4.length - len; i > 0; --i) xd3[len++] = 0; + for (i = yd4.length; i > k4; ) { + if (xd3[--i] < yd4[i]) { + for (j4 = i; j4 && xd3[--j4] === 0; ) xd3[j4] = BASE - 1; + --xd3[j4]; + xd3[i] += BASE; + } + xd3[i] -= yd4[i]; + } + for (; xd3[--len] === 0; ) xd3.pop(); + for (; xd3[0] === 0; xd3.shift()) --e29; + if (!xd3[0]) return new Ctor(rm2 === 3 ? -0 : 0); + y.d = xd3; + y.e = getBase10Exponent(xd3, e29); + return external ? finalise(y, pr5, rm2) : y; + }; + P3.modulo = P3.mod = function(y) { + var q5, x2 = this, Ctor = x2.constructor; + y = new Ctor(y); + if (!x2.d || !y.s || y.d && !y.d[0]) return new Ctor(NaN); + if (!y.d || x2.d && !x2.d[0]) { + return finalise(new Ctor(x2), Ctor.precision, Ctor.rounding); + } + external = false; + if (Ctor.modulo == 9) { + q5 = divide(x2, y.abs(), 0, 3, 1); + q5.s *= y.s; + } else { + q5 = divide(x2, y, 0, Ctor.modulo, 1); + } + q5 = q5.times(y); + external = true; + return x2.minus(q5); + }; + P3.naturalExponential = P3.exp = function() { + return naturalExponential(this); + }; + P3.naturalLogarithm = P3.ln = function() { + return naturalLogarithm(this); + }; + P3.negated = P3.neg = function() { + var x2 = new this.constructor(this); + x2.s = -x2.s; + return finalise(x2); + }; + P3.plus = P3.add = function(y) { + var carry, d, e29, i, k4, len, pr5, rm2, xd3, yd4, x2 = this, Ctor = x2.constructor; + y = new Ctor(y); + if (!x2.d || !y.d) { + if (!x2.s || !y.s) y = new Ctor(NaN); + else if (!x2.d) y = new Ctor(y.d || x2.s === y.s ? x2 : NaN); + return y; + } + if (x2.s != y.s) { + y.s = -y.s; + return x2.minus(y); + } + xd3 = x2.d; + yd4 = y.d; + pr5 = Ctor.precision; + rm2 = Ctor.rounding; + if (!xd3[0] || !yd4[0]) { + if (!yd4[0]) y = new Ctor(x2); + return external ? finalise(y, pr5, rm2) : y; + } + k4 = mathfloor(x2.e / LOG_BASE); + e29 = mathfloor(y.e / LOG_BASE); + xd3 = xd3.slice(); + i = k4 - e29; + if (i) { + if (i < 0) { + d = xd3; + i = -i; + len = yd4.length; + } else { + d = yd4; + e29 = k4; + len = xd3.length; + } + k4 = Math.ceil(pr5 / LOG_BASE); + len = k4 > len ? k4 + 1 : len + 1; + if (i > len) { + i = len; + d.length = 1; + } + d.reverse(); + for (; i--; ) d.push(0); + d.reverse(); + } + len = xd3.length; + i = yd4.length; + if (len - i < 0) { + i = len; + d = yd4; + yd4 = xd3; + xd3 = d; + } + for (carry = 0; i; ) { + carry = (xd3[--i] = xd3[i] + yd4[i] + carry) / BASE | 0; + xd3[i] %= BASE; + } + if (carry) { + xd3.unshift(carry); + ++e29; + } + for (len = xd3.length; xd3[--len] == 0; ) xd3.pop(); + y.d = xd3; + y.e = getBase10Exponent(xd3, e29); + return external ? finalise(y, pr5, rm2) : y; + }; + P3.precision = P3.sd = function(z4) { + var k4, x2 = this; + if (z4 !== void 0 && z4 !== !!z4 && z4 !== 1 && z4 !== 0) throw Error(invalidArgument + z4); + if (x2.d) { + k4 = getPrecision(x2.d); + if (z4 && x2.e + 1 > k4) k4 = x2.e + 1; + } else { + k4 = NaN; + } + return k4; + }; + P3.round = function() { + var x2 = this, Ctor = x2.constructor; + return finalise(new Ctor(x2), x2.e + 1, Ctor.rounding); + }; + P3.sine = P3.sin = function() { + var pr5, rm2, x2 = this, Ctor = x2.constructor; + if (!x2.isFinite()) return new Ctor(NaN); + if (x2.isZero()) return new Ctor(x2); + pr5 = Ctor.precision; + rm2 = Ctor.rounding; + Ctor.precision = pr5 + Math.max(x2.e, x2.sd()) + LOG_BASE; + Ctor.rounding = 1; + x2 = sine(Ctor, toLessThanHalfPi(Ctor, x2)); + Ctor.precision = pr5; + Ctor.rounding = rm2; + return finalise(quadrant > 2 ? x2.neg() : x2, pr5, rm2, true); + }; + P3.squareRoot = P3.sqrt = function() { + var m, n, sd4, r, rep, t, x2 = this, d = x2.d, e29 = x2.e, s = x2.s, Ctor = x2.constructor; + if (s !== 1 || !d || !d[0]) { + return new Ctor(!s || s < 0 && (!d || d[0]) ? NaN : d ? x2 : 1 / 0); + } + external = false; + s = Math.sqrt(+x2); + if (s == 0 || s == 1 / 0) { + n = digitsToString(d); + if ((n.length + e29) % 2 == 0) n += "0"; + s = Math.sqrt(n); + e29 = mathfloor((e29 + 1) / 2) - (e29 < 0 || e29 % 2); + if (s == 1 / 0) { + n = "5e" + e29; + } else { + n = s.toExponential(); + n = n.slice(0, n.indexOf("e") + 1) + e29; + } + r = new Ctor(n); + } else { + r = new Ctor(s.toString()); + } + sd4 = (e29 = Ctor.precision) + 3; + for (; ; ) { + t = r; + r = t.plus(divide(x2, t, sd4 + 2, 1)).times(0.5); + if (digitsToString(t.d).slice(0, sd4) === (n = digitsToString(r.d)).slice(0, sd4)) { + n = n.slice(sd4 - 3, sd4 + 1); + if (n == "9999" || !rep && n == "4999") { + if (!rep) { + finalise(t, e29 + 1, 0); + if (t.times(t).eq(x2)) { + r = t; + break; + } + } + sd4 += 4; + rep = 1; + } else { + if (!+n || !+n.slice(1) && n.charAt(0) == "5") { + finalise(r, e29 + 1, 1); + m = !r.times(r).eq(x2); + } + break; + } + } + } + external = true; + return finalise(r, e29, Ctor.rounding, m); + }; + P3.tangent = P3.tan = function() { + var pr5, rm2, x2 = this, Ctor = x2.constructor; + if (!x2.isFinite()) return new Ctor(NaN); + if (x2.isZero()) return new Ctor(x2); + pr5 = Ctor.precision; + rm2 = Ctor.rounding; + Ctor.precision = pr5 + 10; + Ctor.rounding = 1; + x2 = x2.sin(); + x2.s = 1; + x2 = divide(x2, new Ctor(1).minus(x2.times(x2)).sqrt(), pr5 + 10, 0); + Ctor.precision = pr5; + Ctor.rounding = rm2; + return finalise(quadrant == 2 || quadrant == 4 ? x2.neg() : x2, pr5, rm2, true); + }; + P3.times = P3.mul = function(y) { + var carry, e29, i, k4, r, rL, t, xdL, ydL, x2 = this, Ctor = x2.constructor, xd3 = x2.d, yd4 = (y = new Ctor(y)).d; + y.s *= x2.s; + if (!xd3 || !xd3[0] || !yd4 || !yd4[0]) { + return new Ctor(!y.s || xd3 && !xd3[0] && !yd4 || yd4 && !yd4[0] && !xd3 ? NaN : !xd3 || !yd4 ? y.s / 0 : y.s * 0); + } + e29 = mathfloor(x2.e / LOG_BASE) + mathfloor(y.e / LOG_BASE); + xdL = xd3.length; + ydL = yd4.length; + if (xdL < ydL) { + r = xd3; + xd3 = yd4; + yd4 = r; + rL = xdL; + xdL = ydL; + ydL = rL; + } + r = []; + rL = xdL + ydL; + for (i = rL; i--; ) r.push(0); + for (i = ydL; --i >= 0; ) { + carry = 0; + for (k4 = xdL + i; k4 > i; ) { + t = r[k4] + yd4[i] * xd3[k4 - i - 1] + carry; + r[k4--] = t % BASE | 0; + carry = t / BASE | 0; + } + r[k4] = (r[k4] + carry) % BASE | 0; + } + for (; !r[--rL]; ) r.pop(); + if (carry) ++e29; + else r.shift(); + y.d = r; + y.e = getBase10Exponent(r, e29); + return external ? finalise(y, Ctor.precision, Ctor.rounding) : y; + }; + P3.toBinary = function(sd4, rm2) { + return toStringBinary(this, 2, sd4, rm2); + }; + P3.toDecimalPlaces = P3.toDP = function(dp2, rm2) { + var x2 = this, Ctor = x2.constructor; + x2 = new Ctor(x2); + if (dp2 === void 0) return x2; + checkInt32(dp2, 0, MAX_DIGITS); + if (rm2 === void 0) rm2 = Ctor.rounding; + else checkInt32(rm2, 0, 8); + return finalise(x2, dp2 + x2.e + 1, rm2); + }; + P3.toExponential = function(dp2, rm2) { + var str, x2 = this, Ctor = x2.constructor; + if (dp2 === void 0) { + str = finiteToString(x2, true); + } else { + checkInt32(dp2, 0, MAX_DIGITS); + if (rm2 === void 0) rm2 = Ctor.rounding; + else checkInt32(rm2, 0, 8); + x2 = finalise(new Ctor(x2), dp2 + 1, rm2); + str = finiteToString(x2, true, dp2 + 1); + } + return x2.isNeg() && !x2.isZero() ? "-" + str : str; + }; + P3.toFixed = function(dp2, rm2) { + var str, y, x2 = this, Ctor = x2.constructor; + if (dp2 === void 0) { + str = finiteToString(x2); + } else { + checkInt32(dp2, 0, MAX_DIGITS); + if (rm2 === void 0) rm2 = Ctor.rounding; + else checkInt32(rm2, 0, 8); + y = finalise(new Ctor(x2), dp2 + x2.e + 1, rm2); + str = finiteToString(y, false, dp2 + y.e + 1); + } + return x2.isNeg() && !x2.isZero() ? "-" + str : str; + }; + P3.toFraction = function(maxD) { + var d, d0, d1, d2, e29, k4, n, n0, n1, pr5, q5, r, x2 = this, xd3 = x2.d, Ctor = x2.constructor; + if (!xd3) return new Ctor(x2); + n1 = d0 = new Ctor(1); + d1 = n0 = new Ctor(0); + d = new Ctor(d1); + e29 = d.e = getPrecision(xd3) - x2.e - 1; + k4 = e29 % LOG_BASE; + d.d[0] = mathpow(10, k4 < 0 ? LOG_BASE + k4 : k4); + if (maxD == null) { + maxD = e29 > 0 ? d : n1; + } else { + n = new Ctor(maxD); + if (!n.isInt() || n.lt(n1)) throw Error(invalidArgument + n); + maxD = n.gt(d) ? e29 > 0 ? d : n1 : n; + } + external = false; + n = new Ctor(digitsToString(xd3)); + pr5 = Ctor.precision; + Ctor.precision = e29 = xd3.length * LOG_BASE * 2; + for (; ; ) { + q5 = divide(n, d, 0, 1, 1); + d2 = d0.plus(q5.times(d1)); + if (d2.cmp(maxD) == 1) break; + d0 = d1; + d1 = d2; + d2 = n1; + n1 = n0.plus(q5.times(d2)); + n0 = d2; + d2 = d; + d = n.minus(q5.times(d2)); + n = d2; + } + d2 = divide(maxD.minus(d0), d1, 0, 1, 1); + n0 = n0.plus(d2.times(n1)); + d0 = d0.plus(d2.times(d1)); + n0.s = n1.s = x2.s; + r = divide(n1, d1, e29, 1).minus(x2).abs().cmp(divide(n0, d0, e29, 1).minus(x2).abs()) < 1 ? [n1, d1] : [n0, d0]; + Ctor.precision = pr5; + external = true; + return r; + }; + P3.toHexadecimal = P3.toHex = function(sd4, rm2) { + return toStringBinary(this, 16, sd4, rm2); + }; + P3.toNearest = function(y, rm2) { + var x2 = this, Ctor = x2.constructor; + x2 = new Ctor(x2); + if (y == null) { + if (!x2.d) return x2; + y = new Ctor(1); + rm2 = Ctor.rounding; + } else { + y = new Ctor(y); + if (rm2 === void 0) { + rm2 = Ctor.rounding; + } else { + checkInt32(rm2, 0, 8); + } + if (!x2.d) return y.s ? x2 : y; + if (!y.d) { + if (y.s) y.s = x2.s; + return y; + } + } + if (y.d[0]) { + external = false; + x2 = divide(x2, y, 0, rm2, 1).times(y); + external = true; + finalise(x2); + } else { + y.s = x2.s; + x2 = y; + } + return x2; + }; + P3.toNumber = function() { + return +this; + }; + P3.toOctal = function(sd4, rm2) { + return toStringBinary(this, 8, sd4, rm2); + }; + P3.toPower = P3.pow = function(y) { + var e29, k4, pr5, r, rm2, s, x2 = this, Ctor = x2.constructor, yn4 = +(y = new Ctor(y)); + if (!x2.d || !y.d || !x2.d[0] || !y.d[0]) return new Ctor(mathpow(+x2, yn4)); + x2 = new Ctor(x2); + if (x2.eq(1)) return x2; + pr5 = Ctor.precision; + rm2 = Ctor.rounding; + if (y.eq(1)) return finalise(x2, pr5, rm2); + e29 = mathfloor(y.e / LOG_BASE); + if (e29 >= y.d.length - 1 && (k4 = yn4 < 0 ? -yn4 : yn4) <= MAX_SAFE_INTEGER3) { + r = intPow(Ctor, x2, k4, pr5); + return y.s < 0 ? new Ctor(1).div(r) : finalise(r, pr5, rm2); + } + s = x2.s; + if (s < 0) { + if (e29 < y.d.length - 1) return new Ctor(NaN); + if ((y.d[e29] & 1) == 0) s = 1; + if (x2.e == 0 && x2.d[0] == 1 && x2.d.length == 1) { + x2.s = s; + return x2; + } + } + k4 = mathpow(+x2, yn4); + e29 = k4 == 0 || !isFinite(k4) ? mathfloor(yn4 * (Math.log("0." + digitsToString(x2.d)) / Math.LN10 + x2.e + 1)) : new Ctor(k4 + "").e; + if (e29 > Ctor.maxE + 1 || e29 < Ctor.minE - 1) return new Ctor(e29 > 0 ? s / 0 : 0); + external = false; + Ctor.rounding = x2.s = 1; + k4 = Math.min(12, (e29 + "").length); + r = naturalExponential(y.times(naturalLogarithm(x2, pr5 + k4)), pr5); + if (r.d) { + r = finalise(r, pr5 + 5, 1); + if (checkRoundingDigits(r.d, pr5, rm2)) { + e29 = pr5 + 10; + r = finalise(naturalExponential(y.times(naturalLogarithm(x2, e29 + k4)), e29), e29 + 5, 1); + if (+digitsToString(r.d).slice(pr5 + 1, pr5 + 15) + 1 == 1e14) { + r = finalise(r, pr5 + 1, 0); + } + } + } + r.s = s; + external = true; + Ctor.rounding = rm2; + return finalise(r, pr5, rm2); + }; + P3.toPrecision = function(sd4, rm2) { + var str, x2 = this, Ctor = x2.constructor; + if (sd4 === void 0) { + str = finiteToString(x2, x2.e <= Ctor.toExpNeg || x2.e >= Ctor.toExpPos); + } else { + checkInt32(sd4, 1, MAX_DIGITS); + if (rm2 === void 0) rm2 = Ctor.rounding; + else checkInt32(rm2, 0, 8); + x2 = finalise(new Ctor(x2), sd4, rm2); + str = finiteToString(x2, sd4 <= x2.e || x2.e <= Ctor.toExpNeg, sd4); + } + return x2.isNeg() && !x2.isZero() ? "-" + str : str; + }; + P3.toSignificantDigits = P3.toSD = function(sd4, rm2) { + var x2 = this, Ctor = x2.constructor; + if (sd4 === void 0) { + sd4 = Ctor.precision; + rm2 = Ctor.rounding; + } else { + checkInt32(sd4, 1, MAX_DIGITS); + if (rm2 === void 0) rm2 = Ctor.rounding; + else checkInt32(rm2, 0, 8); + } + return finalise(new Ctor(x2), sd4, rm2); + }; + P3.toString = function() { + var x2 = this, Ctor = x2.constructor, str = finiteToString(x2, x2.e <= Ctor.toExpNeg || x2.e >= Ctor.toExpPos); + return x2.isNeg() && !x2.isZero() ? "-" + str : str; + }; + P3.truncated = P3.trunc = function() { + return finalise(new this.constructor(this), this.e + 1, 1); + }; + P3.valueOf = P3.toJSON = function() { + var x2 = this, Ctor = x2.constructor, str = finiteToString(x2, x2.e <= Ctor.toExpNeg || x2.e >= Ctor.toExpPos); + return x2.isNeg() ? "-" + str : str; + }; + function digitsToString(d) { + var i, k4, ws4, indexOfLastWord = d.length - 1, str = "", w2 = d[0]; + if (indexOfLastWord > 0) { + str += w2; + for (i = 1; i < indexOfLastWord; i++) { + ws4 = d[i] + ""; + k4 = LOG_BASE - ws4.length; + if (k4) str += getZeroString(k4); + str += ws4; + } + w2 = d[i]; + ws4 = w2 + ""; + k4 = LOG_BASE - ws4.length; + if (k4) str += getZeroString(k4); + } else if (w2 === 0) { + return "0"; + } + for (; w2 % 10 === 0; ) w2 /= 10; + return str + w2; + } + function checkInt32(i, min2, max2) { + if (i !== ~~i || i < min2 || i > max2) { + throw Error(invalidArgument + i); + } + } + function checkRoundingDigits(d, i, rm2, repeating) { + var di3, k4, r, rd4; + for (k4 = d[0]; k4 >= 10; k4 /= 10) --i; + if (--i < 0) { + i += LOG_BASE; + di3 = 0; + } else { + di3 = Math.ceil((i + 1) / LOG_BASE); + i %= LOG_BASE; + } + k4 = mathpow(10, LOG_BASE - i); + rd4 = d[di3] % k4 | 0; + if (repeating == null) { + if (i < 3) { + if (i == 0) rd4 = rd4 / 100 | 0; + else if (i == 1) rd4 = rd4 / 10 | 0; + r = rm2 < 4 && rd4 == 99999 || rm2 > 3 && rd4 == 49999 || rd4 == 5e4 || rd4 == 0; + } else { + r = (rm2 < 4 && rd4 + 1 == k4 || rm2 > 3 && rd4 + 1 == k4 / 2) && (d[di3 + 1] / k4 / 100 | 0) == mathpow(10, i - 2) - 1 || (rd4 == k4 / 2 || rd4 == 0) && (d[di3 + 1] / k4 / 100 | 0) == 0; + } + } else { + if (i < 4) { + if (i == 0) rd4 = rd4 / 1e3 | 0; + else if (i == 1) rd4 = rd4 / 100 | 0; + else if (i == 2) rd4 = rd4 / 10 | 0; + r = (repeating || rm2 < 4) && rd4 == 9999 || !repeating && rm2 > 3 && rd4 == 4999; + } else { + r = ((repeating || rm2 < 4) && rd4 + 1 == k4 || !repeating && rm2 > 3 && rd4 + 1 == k4 / 2) && (d[di3 + 1] / k4 / 1e3 | 0) == mathpow(10, i - 3) - 1; + } + } + return r; + } + function convertBase(str, baseIn, baseOut) { + var j4, arr = [0], arrL, i = 0, strL = str.length; + for (; i < strL; ) { + for (arrL = arr.length; arrL--; ) arr[arrL] *= baseIn; + arr[0] += NUMERALS.indexOf(str.charAt(i++)); + for (j4 = 0; j4 < arr.length; j4++) { + if (arr[j4] > baseOut - 1) { + if (arr[j4 + 1] === void 0) arr[j4 + 1] = 0; + arr[j4 + 1] += arr[j4] / baseOut | 0; + arr[j4] %= baseOut; + } + } + } + return arr.reverse(); + } + function cosine(Ctor, x2) { + var k4, len, y; + if (x2.isZero()) return x2; + len = x2.d.length; + if (len < 32) { + k4 = Math.ceil(len / 3); + y = (1 / tinyPow(4, k4)).toString(); + } else { + k4 = 16; + y = "2.3283064365386962890625e-10"; + } + Ctor.precision += k4; + x2 = taylorSeries(Ctor, 1, x2.times(y), new Ctor(1)); + for (var i = k4; i--; ) { + var cos2x = x2.times(x2); + x2 = cos2x.times(cos2x).minus(cos2x).times(8).plus(1); + } + Ctor.precision -= k4; + return x2; + } + var divide = /* @__PURE__ */ (function() { + function multiplyInteger(x2, k4, base) { + var temp, carry = 0, i = x2.length; + for (x2 = x2.slice(); i--; ) { + temp = x2[i] * k4 + carry; + x2[i] = temp % base | 0; + carry = temp / base | 0; + } + if (carry) x2.unshift(carry); + return x2; + } + function compare(a, b, aL, bL) { + var i, r; + if (aL != bL) { + r = aL > bL ? 1 : -1; + } else { + for (i = r = 0; i < aL; i++) { + if (a[i] != b[i]) { + r = a[i] > b[i] ? 1 : -1; + break; + } + } + } + return r; + } + function subtract(a, b, aL, base) { + var i = 0; + for (; aL--; ) { + a[aL] -= i; + i = a[aL] < b[aL] ? 1 : 0; + a[aL] = i * base + a[aL] - b[aL]; + } + for (; !a[0] && a.length > 1; ) a.shift(); + } + return function(x2, y, pr5, rm2, dp2, base) { + var cmp, e29, i, k4, logBase, more, prod, prodL, q5, qd3, rem, remL, rem0, sd4, t, xi4, xL, yd0, yL, yz, Ctor = x2.constructor, sign2 = x2.s == y.s ? 1 : -1, xd3 = x2.d, yd4 = y.d; + if (!xd3 || !xd3[0] || !yd4 || !yd4[0]) { + return new Ctor( + // Return NaN if either NaN, or both Infinity or 0. + !x2.s || !y.s || (xd3 ? yd4 && xd3[0] == yd4[0] : !yd4) ? NaN : ( + // Return ±0 if x is 0 or y is ±Infinity, or return ±Infinity as y is 0. + xd3 && xd3[0] == 0 || !yd4 ? sign2 * 0 : sign2 / 0 + ) + ); + } + if (base) { + logBase = 1; + e29 = x2.e - y.e; + } else { + base = BASE; + logBase = LOG_BASE; + e29 = mathfloor(x2.e / logBase) - mathfloor(y.e / logBase); + } + yL = yd4.length; + xL = xd3.length; + q5 = new Ctor(sign2); + qd3 = q5.d = []; + for (i = 0; yd4[i] == (xd3[i] || 0); i++) ; + if (yd4[i] > (xd3[i] || 0)) e29--; + if (pr5 == null) { + sd4 = pr5 = Ctor.precision; + rm2 = Ctor.rounding; + } else if (dp2) { + sd4 = pr5 + (x2.e - y.e) + 1; + } else { + sd4 = pr5; + } + if (sd4 < 0) { + qd3.push(1); + more = true; + } else { + sd4 = sd4 / logBase + 2 | 0; + i = 0; + if (yL == 1) { + k4 = 0; + yd4 = yd4[0]; + sd4++; + for (; (i < xL || k4) && sd4--; i++) { + t = k4 * base + (xd3[i] || 0); + qd3[i] = t / yd4 | 0; + k4 = t % yd4 | 0; + } + more = k4 || i < xL; + } else { + k4 = base / (yd4[0] + 1) | 0; + if (k4 > 1) { + yd4 = multiplyInteger(yd4, k4, base); + xd3 = multiplyInteger(xd3, k4, base); + yL = yd4.length; + xL = xd3.length; + } + xi4 = yL; + rem = xd3.slice(0, yL); + remL = rem.length; + for (; remL < yL; ) rem[remL++] = 0; + yz = yd4.slice(); + yz.unshift(0); + yd0 = yd4[0]; + if (yd4[1] >= base / 2) ++yd0; + do { + k4 = 0; + cmp = compare(yd4, rem, yL, remL); + if (cmp < 0) { + rem0 = rem[0]; + if (yL != remL) rem0 = rem0 * base + (rem[1] || 0); + k4 = rem0 / yd0 | 0; + if (k4 > 1) { + if (k4 >= base) k4 = base - 1; + prod = multiplyInteger(yd4, k4, base); + prodL = prod.length; + remL = rem.length; + cmp = compare(prod, rem, prodL, remL); + if (cmp == 1) { + k4--; + subtract(prod, yL < prodL ? yz : yd4, prodL, base); + } + } else { + if (k4 == 0) cmp = k4 = 1; + prod = yd4.slice(); + } + prodL = prod.length; + if (prodL < remL) prod.unshift(0); + subtract(rem, prod, remL, base); + if (cmp == -1) { + remL = rem.length; + cmp = compare(yd4, rem, yL, remL); + if (cmp < 1) { + k4++; + subtract(rem, yL < remL ? yz : yd4, remL, base); + } + } + remL = rem.length; + } else if (cmp === 0) { + k4++; + rem = [0]; + } + qd3[i++] = k4; + if (cmp && rem[0]) { + rem[remL++] = xd3[xi4] || 0; + } else { + rem = [xd3[xi4]]; + remL = 1; + } + } while ((xi4++ < xL || rem[0] !== void 0) && sd4--); + more = rem[0] !== void 0; + } + if (!qd3[0]) qd3.shift(); + } + if (logBase == 1) { + q5.e = e29; + inexact = more; + } else { + for (i = 1, k4 = qd3[0]; k4 >= 10; k4 /= 10) i++; + q5.e = i + e29 * logBase - 1; + finalise(q5, dp2 ? pr5 + q5.e + 1 : pr5, rm2, more); + } + return q5; + }; + })(); + function finalise(x2, sd4, rm2, isTruncated) { + var digits, i, j4, k4, rd4, roundUp, w2, xd3, xdi, Ctor = x2.constructor; + out: if (sd4 != null) { + xd3 = x2.d; + if (!xd3) return x2; + for (digits = 1, k4 = xd3[0]; k4 >= 10; k4 /= 10) digits++; + i = sd4 - digits; + if (i < 0) { + i += LOG_BASE; + j4 = sd4; + w2 = xd3[xdi = 0]; + rd4 = w2 / mathpow(10, digits - j4 - 1) % 10 | 0; + } else { + xdi = Math.ceil((i + 1) / LOG_BASE); + k4 = xd3.length; + if (xdi >= k4) { + if (isTruncated) { + for (; k4++ <= xdi; ) xd3.push(0); + w2 = rd4 = 0; + digits = 1; + i %= LOG_BASE; + j4 = i - LOG_BASE + 1; + } else { + break out; + } + } else { + w2 = k4 = xd3[xdi]; + for (digits = 1; k4 >= 10; k4 /= 10) digits++; + i %= LOG_BASE; + j4 = i - LOG_BASE + digits; + rd4 = j4 < 0 ? 0 : w2 / mathpow(10, digits - j4 - 1) % 10 | 0; + } + } + isTruncated = isTruncated || sd4 < 0 || xd3[xdi + 1] !== void 0 || (j4 < 0 ? w2 : w2 % mathpow(10, digits - j4 - 1)); + roundUp = rm2 < 4 ? (rd4 || isTruncated) && (rm2 == 0 || rm2 == (x2.s < 0 ? 3 : 2)) : rd4 > 5 || rd4 == 5 && (rm2 == 4 || isTruncated || rm2 == 6 && // Check whether the digit to the left of the rounding digit is odd. + (i > 0 ? j4 > 0 ? w2 / mathpow(10, digits - j4) : 0 : xd3[xdi - 1]) % 10 & 1 || rm2 == (x2.s < 0 ? 8 : 7)); + if (sd4 < 1 || !xd3[0]) { + xd3.length = 0; + if (roundUp) { + sd4 -= x2.e + 1; + xd3[0] = mathpow(10, (LOG_BASE - sd4 % LOG_BASE) % LOG_BASE); + x2.e = -sd4 || 0; + } else { + xd3[0] = x2.e = 0; + } + return x2; + } + if (i == 0) { + xd3.length = xdi; + k4 = 1; + xdi--; + } else { + xd3.length = xdi + 1; + k4 = mathpow(10, LOG_BASE - i); + xd3[xdi] = j4 > 0 ? (w2 / mathpow(10, digits - j4) % mathpow(10, j4) | 0) * k4 : 0; + } + if (roundUp) { + for (; ; ) { + if (xdi == 0) { + for (i = 1, j4 = xd3[0]; j4 >= 10; j4 /= 10) i++; + j4 = xd3[0] += k4; + for (k4 = 1; j4 >= 10; j4 /= 10) k4++; + if (i != k4) { + x2.e++; + if (xd3[0] == BASE) xd3[0] = 1; + } + break; + } else { + xd3[xdi] += k4; + if (xd3[xdi] != BASE) break; + xd3[xdi--] = 0; + k4 = 1; + } + } + } + for (i = xd3.length; xd3[--i] === 0; ) xd3.pop(); + } + if (external) { + if (x2.e > Ctor.maxE) { + x2.d = null; + x2.e = NaN; + } else if (x2.e < Ctor.minE) { + x2.e = 0; + x2.d = [0]; + } + } + return x2; + } + function finiteToString(x2, isExp, sd4) { + if (!x2.isFinite()) return nonFiniteToString(x2); + var k4, e29 = x2.e, str = digitsToString(x2.d), len = str.length; + if (isExp) { + if (sd4 && (k4 = sd4 - len) > 0) { + str = str.charAt(0) + "." + str.slice(1) + getZeroString(k4); + } else if (len > 1) { + str = str.charAt(0) + "." + str.slice(1); + } + str = str + (x2.e < 0 ? "e" : "e+") + x2.e; + } else if (e29 < 0) { + str = "0." + getZeroString(-e29 - 1) + str; + if (sd4 && (k4 = sd4 - len) > 0) str += getZeroString(k4); + } else if (e29 >= len) { + str += getZeroString(e29 + 1 - len); + if (sd4 && (k4 = sd4 - e29 - 1) > 0) str = str + "." + getZeroString(k4); + } else { + if ((k4 = e29 + 1) < len) str = str.slice(0, k4) + "." + str.slice(k4); + if (sd4 && (k4 = sd4 - len) > 0) { + if (e29 + 1 === len) str += "."; + str += getZeroString(k4); + } + } + return str; + } + function getBase10Exponent(digits, e29) { + var w2 = digits[0]; + for (e29 *= LOG_BASE; w2 >= 10; w2 /= 10) e29++; + return e29; + } + function getLn10(Ctor, sd4, pr5) { + if (sd4 > LN10_PRECISION) { + external = true; + if (pr5) Ctor.precision = pr5; + throw Error(precisionLimitExceeded); + } + return finalise(new Ctor(LN10), sd4, 1, true); + } + function getPi(Ctor, sd4, rm2) { + if (sd4 > PI_PRECISION) throw Error(precisionLimitExceeded); + return finalise(new Ctor(PI), sd4, rm2, true); + } + function getPrecision(digits) { + var w2 = digits.length - 1, len = w2 * LOG_BASE + 1; + w2 = digits[w2]; + if (w2) { + for (; w2 % 10 == 0; w2 /= 10) len--; + for (w2 = digits[0]; w2 >= 10; w2 /= 10) len++; + } + return len; + } + function getZeroString(k4) { + var zs4 = ""; + for (; k4--; ) zs4 += "0"; + return zs4; + } + function intPow(Ctor, x2, n, pr5) { + var isTruncated, r = new Ctor(1), k4 = Math.ceil(pr5 / LOG_BASE + 4); + external = false; + for (; ; ) { + if (n % 2) { + r = r.times(x2); + if (truncate(r.d, k4)) isTruncated = true; + } + n = mathfloor(n / 2); + if (n === 0) { + n = r.d.length - 1; + if (isTruncated && r.d[n] === 0) ++r.d[n]; + break; + } + x2 = x2.times(x2); + truncate(x2.d, k4); + } + external = true; + return r; + } + function isOdd(n) { + return n.d[n.d.length - 1] & 1; + } + function maxOrMin(Ctor, args, n) { + var k4, y, x2 = new Ctor(args[0]), i = 0; + for (; ++i < args.length; ) { + y = new Ctor(args[i]); + if (!y.s) { + x2 = y; + break; + } + k4 = x2.cmp(y); + if (k4 === n || k4 === 0 && x2.s === n) { + x2 = y; + } + } + return x2; + } + function naturalExponential(x2, sd4) { + var denominator, guard, j4, pow2, sum2, t, wpr, rep = 0, i = 0, k4 = 0, Ctor = x2.constructor, rm2 = Ctor.rounding, pr5 = Ctor.precision; + if (!x2.d || !x2.d[0] || x2.e > 17) { + return new Ctor(x2.d ? !x2.d[0] ? 1 : x2.s < 0 ? 0 : 1 / 0 : x2.s ? x2.s < 0 ? 0 : x2 : 0 / 0); + } + if (sd4 == null) { + external = false; + wpr = pr5; + } else { + wpr = sd4; + } + t = new Ctor(0.03125); + while (x2.e > -2) { + x2 = x2.times(t); + k4 += 5; + } + guard = Math.log(mathpow(2, k4)) / Math.LN10 * 2 + 5 | 0; + wpr += guard; + denominator = pow2 = sum2 = new Ctor(1); + Ctor.precision = wpr; + for (; ; ) { + pow2 = finalise(pow2.times(x2), wpr, 1); + denominator = denominator.times(++i); + t = sum2.plus(divide(pow2, denominator, wpr, 1)); + if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum2.d).slice(0, wpr)) { + j4 = k4; + while (j4--) sum2 = finalise(sum2.times(sum2), wpr, 1); + if (sd4 == null) { + if (rep < 3 && checkRoundingDigits(sum2.d, wpr - guard, rm2, rep)) { + Ctor.precision = wpr += 10; + denominator = pow2 = t = new Ctor(1); + i = 0; + rep++; + } else { + return finalise(sum2, Ctor.precision = pr5, rm2, external = true); + } + } else { + Ctor.precision = pr5; + return sum2; + } + } + sum2 = t; + } + } + function naturalLogarithm(y, sd4) { + var c, c0, denominator, e29, numerator, rep, sum2, t, wpr, x1, x2, n = 1, guard = 10, x3 = y, xd3 = x3.d, Ctor = x3.constructor, rm2 = Ctor.rounding, pr5 = Ctor.precision; + if (x3.s < 0 || !xd3 || !xd3[0] || !x3.e && xd3[0] == 1 && xd3.length == 1) { + return new Ctor(xd3 && !xd3[0] ? -1 / 0 : x3.s != 1 ? NaN : xd3 ? 0 : x3); + } + if (sd4 == null) { + external = false; + wpr = pr5; + } else { + wpr = sd4; + } + Ctor.precision = wpr += guard; + c = digitsToString(xd3); + c0 = c.charAt(0); + if (Math.abs(e29 = x3.e) < 15e14) { + while (c0 < 7 && c0 != 1 || c0 == 1 && c.charAt(1) > 3) { + x3 = x3.times(y); + c = digitsToString(x3.d); + c0 = c.charAt(0); + n++; + } + e29 = x3.e; + if (c0 > 1) { + x3 = new Ctor("0." + c); + e29++; + } else { + x3 = new Ctor(c0 + "." + c.slice(1)); + } + } else { + t = getLn10(Ctor, wpr + 2, pr5).times(e29 + ""); + x3 = naturalLogarithm(new Ctor(c0 + "." + c.slice(1)), wpr - guard).plus(t); + Ctor.precision = pr5; + return sd4 == null ? finalise(x3, pr5, rm2, external = true) : x3; + } + x1 = x3; + sum2 = numerator = x3 = divide(x3.minus(1), x3.plus(1), wpr, 1); + x2 = finalise(x3.times(x3), wpr, 1); + denominator = 3; + for (; ; ) { + numerator = finalise(numerator.times(x2), wpr, 1); + t = sum2.plus(divide(numerator, new Ctor(denominator), wpr, 1)); + if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum2.d).slice(0, wpr)) { + sum2 = sum2.times(2); + if (e29 !== 0) sum2 = sum2.plus(getLn10(Ctor, wpr + 2, pr5).times(e29 + "")); + sum2 = divide(sum2, new Ctor(n), wpr, 1); + if (sd4 == null) { + if (checkRoundingDigits(sum2.d, wpr - guard, rm2, rep)) { + Ctor.precision = wpr += guard; + t = numerator = x3 = divide(x1.minus(1), x1.plus(1), wpr, 1); + x2 = finalise(x3.times(x3), wpr, 1); + denominator = rep = 1; + } else { + return finalise(sum2, Ctor.precision = pr5, rm2, external = true); + } + } else { + Ctor.precision = pr5; + return sum2; + } + } + sum2 = t; + denominator += 2; + } + } + function nonFiniteToString(x2) { + return String(x2.s * x2.s / 0); + } + function parseDecimal(x2, str) { + var e29, i, len; + if ((e29 = str.indexOf(".")) > -1) str = str.replace(".", ""); + if ((i = str.search(/e/i)) > 0) { + if (e29 < 0) e29 = i; + e29 += +str.slice(i + 1); + str = str.substring(0, i); + } else if (e29 < 0) { + e29 = str.length; + } + for (i = 0; str.charCodeAt(i) === 48; i++) ; + for (len = str.length; str.charCodeAt(len - 1) === 48; --len) ; + str = str.slice(i, len); + if (str) { + len -= i; + x2.e = e29 = e29 - i - 1; + x2.d = []; + i = (e29 + 1) % LOG_BASE; + if (e29 < 0) i += LOG_BASE; + if (i < len) { + if (i) x2.d.push(+str.slice(0, i)); + for (len -= LOG_BASE; i < len; ) x2.d.push(+str.slice(i, i += LOG_BASE)); + str = str.slice(i); + i = LOG_BASE - str.length; + } else { + i -= len; + } + for (; i--; ) str += "0"; + x2.d.push(+str); + if (external) { + if (x2.e > x2.constructor.maxE) { + x2.d = null; + x2.e = NaN; + } else if (x2.e < x2.constructor.minE) { + x2.e = 0; + x2.d = [0]; + } + } + } else { + x2.e = 0; + x2.d = [0]; + } + return x2; + } + function parseOther(x2, str) { + var base, Ctor, divisor, i, isFloat, len, p, xd3, xe; + if (str.indexOf("_") > -1) { + str = str.replace(/(\d)_(?=\d)/g, "$1"); + if (isDecimal.test(str)) return parseDecimal(x2, str); + } else if (str === "Infinity" || str === "NaN") { + if (!+str) x2.s = NaN; + x2.e = NaN; + x2.d = null; + return x2; + } + if (isHex.test(str)) { + base = 16; + str = str.toLowerCase(); + } else if (isBinary.test(str)) { + base = 2; + } else if (isOctal.test(str)) { + base = 8; + } else { + throw Error(invalidArgument + str); + } + i = str.search(/p/i); + if (i > 0) { + p = +str.slice(i + 1); + str = str.substring(2, i); + } else { + str = str.slice(2); + } + i = str.indexOf("."); + isFloat = i >= 0; + Ctor = x2.constructor; + if (isFloat) { + str = str.replace(".", ""); + len = str.length; + i = len - i; + divisor = intPow(Ctor, new Ctor(base), i, i * 2); + } + xd3 = convertBase(str, base, BASE); + xe = xd3.length - 1; + for (i = xe; xd3[i] === 0; --i) xd3.pop(); + if (i < 0) return new Ctor(x2.s * 0); + x2.e = getBase10Exponent(xd3, xe); + x2.d = xd3; + external = false; + if (isFloat) x2 = divide(x2, divisor, len * 4); + if (p) x2 = x2.times(Math.abs(p) < 54 ? mathpow(2, p) : Decimal.pow(2, p)); + external = true; + return x2; + } + function sine(Ctor, x2) { + var k4, len = x2.d.length; + if (len < 3) { + return x2.isZero() ? x2 : taylorSeries(Ctor, 2, x2, x2); + } + k4 = 1.4 * Math.sqrt(len); + k4 = k4 > 16 ? 16 : k4 | 0; + x2 = x2.times(1 / tinyPow(5, k4)); + x2 = taylorSeries(Ctor, 2, x2, x2); + var sin2_x, d5 = new Ctor(5), d16 = new Ctor(16), d20 = new Ctor(20); + for (; k4--; ) { + sin2_x = x2.times(x2); + x2 = x2.times(d5.plus(sin2_x.times(d16.times(sin2_x).minus(d20)))); + } + return x2; + } + function taylorSeries(Ctor, n, x2, y, isHyperbolic) { + var j4, t, u, x22, i = 1, pr5 = Ctor.precision, k4 = Math.ceil(pr5 / LOG_BASE); + external = false; + x22 = x2.times(x2); + u = new Ctor(y); + for (; ; ) { + t = divide(u.times(x22), new Ctor(n++ * n++), pr5, 1); + u = isHyperbolic ? y.plus(t) : y.minus(t); + y = divide(t.times(x22), new Ctor(n++ * n++), pr5, 1); + t = u.plus(y); + if (t.d[k4] !== void 0) { + for (j4 = k4; t.d[j4] === u.d[j4] && j4--; ) ; + if (j4 == -1) break; + } + j4 = u; + u = y; + y = t; + t = j4; + i++; + } + external = true; + t.d.length = k4 + 1; + return t; + } + function tinyPow(b, e29) { + var n = b; + while (--e29) n *= b; + return n; + } + function toLessThanHalfPi(Ctor, x2) { + var t, isNeg = x2.s < 0, pi3 = getPi(Ctor, Ctor.precision, 1), halfPi = pi3.times(0.5); + x2 = x2.abs(); + if (x2.lte(halfPi)) { + quadrant = isNeg ? 4 : 1; + return x2; + } + t = x2.divToInt(pi3); + if (t.isZero()) { + quadrant = isNeg ? 3 : 2; + } else { + x2 = x2.minus(t.times(pi3)); + if (x2.lte(halfPi)) { + quadrant = isOdd(t) ? isNeg ? 2 : 3 : isNeg ? 4 : 1; + return x2; + } + quadrant = isOdd(t) ? isNeg ? 1 : 4 : isNeg ? 3 : 2; + } + return x2.minus(pi3).abs(); + } + function toStringBinary(x2, baseOut, sd4, rm2) { + var base, e29, i, k4, len, roundUp, str, xd3, y, Ctor = x2.constructor, isExp = sd4 !== void 0; + if (isExp) { + checkInt32(sd4, 1, MAX_DIGITS); + if (rm2 === void 0) rm2 = Ctor.rounding; + else checkInt32(rm2, 0, 8); + } else { + sd4 = Ctor.precision; + rm2 = Ctor.rounding; + } + if (!x2.isFinite()) { + str = nonFiniteToString(x2); + } else { + str = finiteToString(x2); + i = str.indexOf("."); + if (isExp) { + base = 2; + if (baseOut == 16) { + sd4 = sd4 * 4 - 3; + } else if (baseOut == 8) { + sd4 = sd4 * 3 - 2; + } + } else { + base = baseOut; + } + if (i >= 0) { + str = str.replace(".", ""); + y = new Ctor(1); + y.e = str.length - i; + y.d = convertBase(finiteToString(y), 10, base); + y.e = y.d.length; + } + xd3 = convertBase(str, 10, base); + e29 = len = xd3.length; + for (; xd3[--len] == 0; ) xd3.pop(); + if (!xd3[0]) { + str = isExp ? "0p+0" : "0"; + } else { + if (i < 0) { + e29--; + } else { + x2 = new Ctor(x2); + x2.d = xd3; + x2.e = e29; + x2 = divide(x2, y, sd4, rm2, 0, base); + xd3 = x2.d; + e29 = x2.e; + roundUp = inexact; + } + i = xd3[sd4]; + k4 = base / 2; + roundUp = roundUp || xd3[sd4 + 1] !== void 0; + roundUp = rm2 < 4 ? (i !== void 0 || roundUp) && (rm2 === 0 || rm2 === (x2.s < 0 ? 3 : 2)) : i > k4 || i === k4 && (rm2 === 4 || roundUp || rm2 === 6 && xd3[sd4 - 1] & 1 || rm2 === (x2.s < 0 ? 8 : 7)); + xd3.length = sd4; + if (roundUp) { + for (; ++xd3[--sd4] > base - 1; ) { + xd3[sd4] = 0; + if (!sd4) { + ++e29; + xd3.unshift(1); + } + } + } + for (len = xd3.length; !xd3[len - 1]; --len) ; + for (i = 0, str = ""; i < len; i++) str += NUMERALS.charAt(xd3[i]); + if (isExp) { + if (len > 1) { + if (baseOut == 16 || baseOut == 8) { + i = baseOut == 16 ? 4 : 3; + for (--len; len % i; len++) str += "0"; + xd3 = convertBase(str, base, baseOut); + for (len = xd3.length; !xd3[len - 1]; --len) ; + for (i = 1, str = "1."; i < len; i++) str += NUMERALS.charAt(xd3[i]); + } else { + str = str.charAt(0) + "." + str.slice(1); + } + } + str = str + (e29 < 0 ? "p" : "p+") + e29; + } else if (e29 < 0) { + for (; ++e29; ) str = "0" + str; + str = "0." + str; + } else { + if (++e29 > len) for (e29 -= len; e29--; ) str += "0"; + else if (e29 < len) str = str.slice(0, e29) + "." + str.slice(e29); + } + } + str = (baseOut == 16 ? "0x" : baseOut == 2 ? "0b" : baseOut == 8 ? "0o" : "") + str; + } + return x2.s < 0 ? "-" + str : str; + } + function truncate(arr, len) { + if (arr.length > len) { + arr.length = len; + return true; + } + } + function abs(x2) { + return new this(x2).abs(); + } + function acos(x2) { + return new this(x2).acos(); + } + function acosh(x2) { + return new this(x2).acosh(); + } + function add2(x2, y) { + return new this(x2).plus(y); + } + function asin(x2) { + return new this(x2).asin(); + } + function asinh(x2) { + return new this(x2).asinh(); + } + function atan(x2) { + return new this(x2).atan(); + } + function atanh(x2) { + return new this(x2).atanh(); + } + function atan2(y, x2) { + y = new this(y); + x2 = new this(x2); + var r, pr5 = this.precision, rm2 = this.rounding, wpr = pr5 + 4; + if (!y.s || !x2.s) { + r = new this(NaN); + } else if (!y.d && !x2.d) { + r = getPi(this, wpr, 1).times(x2.s > 0 ? 0.25 : 0.75); + r.s = y.s; + } else if (!x2.d || y.isZero()) { + r = x2.s < 0 ? getPi(this, pr5, rm2) : new this(0); + r.s = y.s; + } else if (!y.d || x2.isZero()) { + r = getPi(this, wpr, 1).times(0.5); + r.s = y.s; + } else if (x2.s < 0) { + this.precision = wpr; + this.rounding = 1; + r = this.atan(divide(y, x2, wpr, 1)); + x2 = getPi(this, wpr, 1); + this.precision = pr5; + this.rounding = rm2; + r = y.s < 0 ? r.minus(x2) : r.plus(x2); + } else { + r = this.atan(divide(y, x2, wpr, 1)); + } + return r; + } + function cbrt(x2) { + return new this(x2).cbrt(); + } + function ceil(x2) { + return finalise(x2 = new this(x2), x2.e + 1, 2); + } + function clamp2(x2, min2, max2) { + return new this(x2).clamp(min2, max2); + } + function config2(obj) { + if (!obj || typeof obj !== "object") throw Error(decimalError + "Object expected"); + var i, p, v, useDefaults = obj.defaults === true, ps4 = [ + "precision", + 1, + MAX_DIGITS, + "rounding", + 0, + 8, + "toExpNeg", + -EXP_LIMIT, + 0, + "toExpPos", + 0, + EXP_LIMIT, + "maxE", + 0, + EXP_LIMIT, + "minE", + -EXP_LIMIT, + 0, + "modulo", + 0, + 9 + ]; + for (i = 0; i < ps4.length; i += 3) { + if (p = ps4[i], useDefaults) this[p] = DEFAULTS[p]; + if ((v = obj[p]) !== void 0) { + if (mathfloor(v) === v && v >= ps4[i + 1] && v <= ps4[i + 2]) this[p] = v; + else throw Error(invalidArgument + p + ": " + v); + } + } + if (p = "crypto", useDefaults) this[p] = DEFAULTS[p]; + if ((v = obj[p]) !== void 0) { + if (v === true || v === false || v === 0 || v === 1) { + if (v) { + if (typeof crypto != "undefined" && crypto && (crypto.getRandomValues || crypto.randomBytes)) { + this[p] = true; + } else { + throw Error(cryptoUnavailable); + } + } else { + this[p] = false; + } + } else { + throw Error(invalidArgument + p + ": " + v); + } + } + return this; + } + function cos(x2) { + return new this(x2).cos(); + } + function cosh(x2) { + return new this(x2).cosh(); + } + function clone(obj) { + var i, p, ps4; + function Decimal2(v) { + var e29, i2, t, x2 = this; + if (!(x2 instanceof Decimal2)) return new Decimal2(v); + x2.constructor = Decimal2; + if (isDecimalInstance(v)) { + x2.s = v.s; + if (external) { + if (!v.d || v.e > Decimal2.maxE) { + x2.e = NaN; + x2.d = null; + } else if (v.e < Decimal2.minE) { + x2.e = 0; + x2.d = [0]; + } else { + x2.e = v.e; + x2.d = v.d.slice(); + } + } else { + x2.e = v.e; + x2.d = v.d ? v.d.slice() : v.d; + } + return; + } + t = typeof v; + if (t === "number") { + if (v === 0) { + x2.s = 1 / v < 0 ? -1 : 1; + x2.e = 0; + x2.d = [0]; + return; + } + if (v < 0) { + v = -v; + x2.s = -1; + } else { + x2.s = 1; + } + if (v === ~~v && v < 1e7) { + for (e29 = 0, i2 = v; i2 >= 10; i2 /= 10) e29++; + if (external) { + if (e29 > Decimal2.maxE) { + x2.e = NaN; + x2.d = null; + } else if (e29 < Decimal2.minE) { + x2.e = 0; + x2.d = [0]; + } else { + x2.e = e29; + x2.d = [v]; + } + } else { + x2.e = e29; + x2.d = [v]; + } + return; + } + if (v * 0 !== 0) { + if (!v) x2.s = NaN; + x2.e = NaN; + x2.d = null; + return; + } + return parseDecimal(x2, v.toString()); + } + if (t === "string") { + if ((i2 = v.charCodeAt(0)) === 45) { + v = v.slice(1); + x2.s = -1; + } else { + if (i2 === 43) v = v.slice(1); + x2.s = 1; + } + return isDecimal.test(v) ? parseDecimal(x2, v) : parseOther(x2, v); + } + if (t === "bigint") { + if (v < 0) { + v = -v; + x2.s = -1; + } else { + x2.s = 1; + } + return parseDecimal(x2, v.toString()); + } + throw Error(invalidArgument + v); + } + Decimal2.prototype = P3; + Decimal2.ROUND_UP = 0; + Decimal2.ROUND_DOWN = 1; + Decimal2.ROUND_CEIL = 2; + Decimal2.ROUND_FLOOR = 3; + Decimal2.ROUND_HALF_UP = 4; + Decimal2.ROUND_HALF_DOWN = 5; + Decimal2.ROUND_HALF_EVEN = 6; + Decimal2.ROUND_HALF_CEIL = 7; + Decimal2.ROUND_HALF_FLOOR = 8; + Decimal2.EUCLID = 9; + Decimal2.config = Decimal2.set = config2; + Decimal2.clone = clone; + Decimal2.isDecimal = isDecimalInstance; + Decimal2.abs = abs; + Decimal2.acos = acos; + Decimal2.acosh = acosh; + Decimal2.add = add2; + Decimal2.asin = asin; + Decimal2.asinh = asinh; + Decimal2.atan = atan; + Decimal2.atanh = atanh; + Decimal2.atan2 = atan2; + Decimal2.cbrt = cbrt; + Decimal2.ceil = ceil; + Decimal2.clamp = clamp2; + Decimal2.cos = cos; + Decimal2.cosh = cosh; + Decimal2.div = div; + Decimal2.exp = exp; + Decimal2.floor = floor3; + Decimal2.hypot = hypot; + Decimal2.ln = ln2; + Decimal2.log = log; + Decimal2.log10 = log10; + Decimal2.log2 = log2; + Decimal2.max = max; + Decimal2.min = min; + Decimal2.mod = mod; + Decimal2.mul = mul; + Decimal2.pow = pow; + Decimal2.random = random2; + Decimal2.round = round2; + Decimal2.sign = sign; + Decimal2.sin = sin; + Decimal2.sinh = sinh; + Decimal2.sqrt = sqrt; + Decimal2.sub = sub; + Decimal2.sum = sum; + Decimal2.tan = tan; + Decimal2.tanh = tanh; + Decimal2.trunc = trunc; + if (obj === void 0) obj = {}; + if (obj) { + if (obj.defaults !== true) { + ps4 = ["precision", "rounding", "toExpNeg", "toExpPos", "maxE", "minE", "modulo", "crypto"]; + for (i = 0; i < ps4.length; ) if (!obj.hasOwnProperty(p = ps4[i++])) obj[p] = this[p]; + } + } + Decimal2.config(obj); + return Decimal2; + } + function div(x2, y) { + return new this(x2).div(y); + } + function exp(x2) { + return new this(x2).exp(); + } + function floor3(x2) { + return finalise(x2 = new this(x2), x2.e + 1, 3); + } + function hypot() { + var i, n, t = new this(0); + external = false; + for (i = 0; i < arguments.length; ) { + n = new this(arguments[i++]); + if (!n.d) { + if (n.s) { + external = true; + return new this(1 / 0); + } + t = n; + } else if (t.d) { + t = t.plus(n.times(n)); + } + } + external = true; + return t.sqrt(); + } + function isDecimalInstance(obj) { + return obj instanceof Decimal || obj && obj.toStringTag === tag || false; + } + function ln2(x2) { + return new this(x2).ln(); + } + function log(x2, y) { + return new this(x2).log(y); + } + function log2(x2) { + return new this(x2).log(2); + } + function log10(x2) { + return new this(x2).log(10); + } + function max() { + return maxOrMin(this, arguments, -1); + } + function min() { + return maxOrMin(this, arguments, 1); + } + function mod(x2, y) { + return new this(x2).mod(y); + } + function mul(x2, y) { + return new this(x2).mul(y); + } + function pow(x2, y) { + return new this(x2).pow(y); + } + function random2(sd4) { + var d, e29, k4, n, i = 0, r = new this(1), rd4 = []; + if (sd4 === void 0) sd4 = this.precision; + else checkInt32(sd4, 1, MAX_DIGITS); + k4 = Math.ceil(sd4 / LOG_BASE); + if (!this.crypto) { + for (; i < k4; ) rd4[i++] = Math.random() * 1e7 | 0; + } else if (crypto.getRandomValues) { + d = crypto.getRandomValues(new Uint32Array(k4)); + for (; i < k4; ) { + n = d[i]; + if (n >= 429e7) { + d[i] = crypto.getRandomValues(new Uint32Array(1))[0]; + } else { + rd4[i++] = n % 1e7; + } + } + } else if (crypto.randomBytes) { + d = crypto.randomBytes(k4 *= 4); + for (; i < k4; ) { + n = d[i] + (d[i + 1] << 8) + (d[i + 2] << 16) + ((d[i + 3] & 127) << 24); + if (n >= 214e7) { + crypto.randomBytes(4).copy(d, i); + } else { + rd4.push(n % 1e7); + i += 4; + } + } + i = k4 / 4; + } else { + throw Error(cryptoUnavailable); + } + k4 = rd4[--i]; + sd4 %= LOG_BASE; + if (k4 && sd4) { + n = mathpow(10, LOG_BASE - sd4); + rd4[i] = (k4 / n | 0) * n; + } + for (; rd4[i] === 0; i--) rd4.pop(); + if (i < 0) { + e29 = 0; + rd4 = [0]; + } else { + e29 = -1; + for (; rd4[0] === 0; e29 -= LOG_BASE) rd4.shift(); + for (k4 = 1, n = rd4[0]; n >= 10; n /= 10) k4++; + if (k4 < LOG_BASE) e29 -= LOG_BASE - k4; + } + r.e = e29; + r.d = rd4; + return r; + } + function round2(x2) { + return finalise(x2 = new this(x2), x2.e + 1, this.rounding); + } + function sign(x2) { + x2 = new this(x2); + return x2.d ? x2.d[0] ? x2.s : 0 * x2.s : x2.s || NaN; + } + function sin(x2) { + return new this(x2).sin(); + } + function sinh(x2) { + return new this(x2).sinh(); + } + function sqrt(x2) { + return new this(x2).sqrt(); + } + function sub(x2, y) { + return new this(x2).sub(y); + } + function sum() { + var i = 0, args = arguments, x2 = new this(args[i]); + external = false; + for (; x2.s && ++i < args.length; ) x2 = x2.plus(args[i]); + external = true; + return finalise(x2, this.precision, this.rounding); + } + function tan(x2) { + return new this(x2).tan(); + } + function tanh(x2) { + return new this(x2).tanh(); + } + function trunc(x2) { + return finalise(x2 = new this(x2), x2.e + 1, 1); + } + P3[/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")] = P3.toString; + P3[Symbol.toStringTag] = "Decimal"; + var Decimal = P3.constructor = clone(DEFAULTS); + LN10 = new Decimal(LN10); + PI = new Decimal(PI); + var decimal_default = Decimal; + + // node_modules/@univerjs/rpc/lib/es/index.js + var x = `rpc.main-thread.config`; + Symbol(x); + var S3 = {}; + var C2 = `rpc.worker-thread.config`; + Symbol(C2); + var w = {}; + function T3(e29, t) { + return function(n, r) { + t(n, r, e29); + }; + } + function E2(e29, t, n, r) { + var i = arguments.length, a = i < 3 ? t : r === null ? r = Object.getOwnPropertyDescriptor(t, n) : r, o; + if (typeof Reflect == `object` && typeof Reflect.decorate == `function`) a = Reflect.decorate(e29, t, n, r); + else for (var s = e29.length - 1; s >= 0; s--) (o = e29[s]) && (a = (i < 3 ? o(a) : i > 3 ? o(t, n, a) : o(t, n)) || a); + return i > 3 && a && Object.defineProperty(t, n, a), a; + } + var D2 = `rpc.remote-sync.service`; + var O3 = createIdentifier(D2); + var k2 = class { + constructor(e29) { + this._commandService = e29; + } + async syncMutation(e29, t) { + let { fromCollab: n, ...r } = t || {}; + return this._commandService.syncExecuteCommand(e29.mutationInfo.id, e29.mutationInfo.params, { ...r, onlyLocal: true, fromSync: true }); + } + }; + k2 = E2([T3(0, ii)], k2); + var A2 = `univer.remote-instance-service`; + var j2 = createIdentifier(A2); + var M2 = class { + constructor(e29, t, n) { + this._univerInstanceService = e29, this._commandService = t, this._logService = n; + } + whenReady() { + return Promise.resolve(true); + } + async syncMutation(e29, t) { + return this._applyMutation(e29.mutationInfo, t); + } + async createInstance(e29) { + this._logService.debug(`[WebWorkerRemoteInstanceService]: Creating instance with id ${e29.unitID}`); + let { type: t, snapshot: n } = e29; + try { + switch (t) { + case O.UNIVER_SHEET: + return this._univerInstanceService.createUnit(O.UNIVER_SHEET, n), true; + default: + throw Error(`[WebWorkerRemoteInstanceService]: cannot create replica for document type: ${t}.`); + } + } catch (e30) { + throw e30 instanceof Error ? e30 : TypeError(`${e30}`); + } + } + async disposeInstance(e29) { + return this._logService.debug(`[WebWorkerRemoteInstanceService]: Disposing instance with id ${e29.unitID}`), this._univerInstanceService.disposeUnit(e29.unitID); + } + _applyMutation(e29, t) { + let { id: n, params: r } = e29, { fromCollab: i, ...a } = t || {}; + return this._commandService.syncExecuteCommand(n, r, { ...a, onlyLocal: true, fromSync: true }); + } + }; + M2 = E2([T3(0, Mu), T3(1, ii), T3(2, L)], M2); + function N2(e29) { + "@babel/helpers - typeof"; + return N2 = typeof Symbol == `function` && typeof Symbol.iterator == `symbol` ? function(e30) { + return typeof e30; + } : function(e30) { + return e30 && typeof Symbol == `function` && e30.constructor === Symbol && e30 !== Symbol.prototype ? `symbol` : typeof e30; + }, N2(e29); + } + function P4(e29, t) { + if (N2(e29) != `object` || !e29) return e29; + var n = e29[Symbol.toPrimitive]; + if (n !== void 0) { + var r = n.call(e29, t || `default`); + if (N2(r) != `object`) return r; + throw TypeError(`@@toPrimitive must return a primitive value.`); + } + return (t === `string` ? String : Number)(e29); + } + function F2(e29) { + var t = P4(e29, `string`); + return N2(t) == `symbol` ? t : t + ``; + } + function I2(e29, t, n) { + return (t = F2(t)) in e29 ? Object.defineProperty(e29, t, { value: n, enumerable: true, configurable: true, writable: true }) : e29[t] = n, e29; + } + function L2(e29) { + let t = e29; + return new class { + call(e30, n) { + let r = t[e30]; + if (typeof r == `function`) { + let e31 = n ? r.apply(t, n) : r.call(t); + return e31 instanceof Promise || (e31 = Promise.resolve(e31)), e31; + } + throw Error(`[RPC]: method not found for ${e30}!`); + } + subscribe(e30, n) { + let r = t[e30]; + if (typeof r == `function`) { + let e31 = n ? r.apply(t, n) : r.call(t); + return isObservable(e31) ? e31 : of(e31); + } + throw Error(`[RPC]: observable method not found for ${e30}!`); + } + }(); + } + function R3(e29) { + return new Proxy({}, { get(t, n) { + if (n !== `dispose`) return function(...t2) { + return z2(n) ? e29.subscribe(n, t2) : e29.call(n, t2); + }; + } }); + } + function z2(e29) { + return e29.endsWith(`$`); + } + var B2 = (function(e29) { + return e29[e29.REQUEST_INITIALIZATION = 50] = `REQUEST_INITIALIZATION`, e29[e29.CALL = 100] = `CALL`, e29[e29.SUBSCRIBE = 101] = `SUBSCRIBE`, e29[e29.UNSUBSCRIBE = 102] = `UNSUBSCRIBE`, e29; + })(B2 || {}); + var V2 = (function(e29) { + return e29[e29.INITIALIZE = 0] = `INITIALIZE`, e29[e29.CALL_SUCCESS = 201] = `CALL_SUCCESS`, e29[e29.CALL_FAILURE = 202] = `CALL_FAILURE`, e29[e29.SUBSCRIBE_NEXT = 300] = `SUBSCRIBE_NEXT`, e29[e29.SUBSCRIBE_ERROR = 301] = `SUBSCRIBE_ERROR`, e29[e29.SUBSCRIBE_COMPLETE = 302] = `SUBSCRIBE_COMPLETE`, e29; + })(V2 || {}); + var H2 = class extends dn { + constructor(e29) { + super(), this._protocol = e29, I2(this, `_initialized`, new BehaviorSubject(false)), I2(this, `_lastRequestCounter`, 0), I2(this, `_pendingRequests`, /* @__PURE__ */ new Map()), this._protocol.send({ type: B2.REQUEST_INITIALIZATION }), this._protocol.onMessage.pipe(takeUntil(this.dispose$)).subscribe((e30) => this._onMessage(e30)); + } + dispose() { + this._pendingRequests.clear(); + } + getChannel(e29) { + return { call: (t, n) => this._disposed ? Promise.reject(Error(`[ChannelClient]: client is disposed!`)) : this._remoteCall(e29, t, n), subscribe: (t, n) => { + if (this._disposed) throw Error(`[ChannelClient]: client is disposed!`); + return this._remoteSubscribe(e29, t, n); + } }; + } + _whenReady() { + return firstValueFrom(this._initialized.pipe(filter((e29) => e29), take(1))); + } + _remoteCall(e29, t, n) { + return this._initialized.getValue() ? this._doRemoteCall(e29, t, n) : this._whenReady().then(() => this._doRemoteCall(e29, t, n)); + } + _doRemoteCall(e29, t, n) { + let r = ++this._lastRequestCounter, i = { seq: r, type: B2.CALL, channelName: e29, method: t, args: n }, a = this._pendingRequests; + return new Promise((e30, t2) => { + this._pendingRequests.set(r, { handle(n2) { + switch (n2.type) { + case V2.CALL_SUCCESS: + a.delete(r), e30(n2.data); + break; + case V2.CALL_FAILURE: + a.delete(r), t2(n2.data); + break; + default: + throw Error(`[ChannelClient]: unknown response type!`); + } + } }), this._sendRequest(i); + }); + } + _remoteSubscribe(e29, t, n) { + return new Observable((r) => { + let i = -1, a = () => { + i = ++this._lastRequestCounter; + let a2 = B2.SUBSCRIBE, o = { seq: i, type: a2, channelName: e29, method: t, args: n }; + this._pendingRequests.set(i, { handle(e30) { + switch (e30.type) { + case V2.SUBSCRIBE_NEXT: + r.next(e30.data); + break; + case V2.SUBSCRIBE_ERROR: + r.error(e30.data); + break; + case V2.SUBSCRIBE_COMPLETE: + r.complete(); + break; + default: + throw Error(`[ChannelClient]: unknown response type!`); + } + } }), this._sendRequest(o); + }; + return this._initialized.getValue() ? a() : this._whenReady().then(a), () => { + if (i === -1) return; + let n2 = { type: B2.UNSUBSCRIBE, seq: i, channelName: e29, method: t }; + this._sendRequest(n2); + }; + }); + } + _sendRequest(e29) { + this._protocol.send(e29); + } + _onMessage(e29) { + let { type: t, seq: n } = e29; + switch (t) { + case V2.INITIALIZE: + this._initialized.next(true); + break; + case V2.CALL_SUCCESS: + case V2.CALL_FAILURE: + case V2.SUBSCRIBE_NEXT: + case V2.SUBSCRIBE_COMPLETE: + case V2.SUBSCRIBE_ERROR: { + var r; + let { _pendingRequests: i } = this; + (r = i.get(n)) == null || r.handle(e29), t !== V2.SUBSCRIBE_NEXT && i.delete(n); + break; + } + } + } + }; + var U2 = class extends dn { + constructor(e29) { + super(), this._protocol = e29, I2(this, `_channels`, /* @__PURE__ */ new Map()), I2(this, `_subscriptions`, /* @__PURE__ */ new Map()), this._protocol.onMessage.pipe(takeUntil(this.dispose$)).subscribe((e30) => this._onRequest(e30)), this._sendInitialize(); + } + dispose() { + super.dispose(), this._subscriptions.clear(), this._channels.clear(); + } + registerChannel(e29, t) { + this._channels.set(e29, t); + } + _onRequest(e29) { + switch (e29.type) { + case B2.REQUEST_INITIALIZATION: + this._sendInitialize(); + break; + case B2.CALL: + this._onMethodCall(e29); + break; + case B2.SUBSCRIBE: + this._onSubscribe(e29); + break; + case B2.UNSUBSCRIBE: + this._onUnsubscribe(e29); + break; + default: + break; + } + } + _sendInitialize() { + this._sendResponse({ seq: -1, type: V2.INITIALIZE }); + } + _onMethodCall(e29) { + let { channelName: t, method: n, args: r } = e29, i = this._channels.get(t), a; + try { + if (!i) throw Error(`[ChannelServer]: Channel ${t} not found!`); + a = r ? i.call(n, r) : i.call(n); + } catch (e30) { + a = Promise.reject(e30 instanceof Error ? e30 : Error(String(e30))); + } + a.then((t2) => { + this._sendResponse({ seq: e29.seq, type: V2.CALL_SUCCESS, data: t2 }); + }).catch((t2) => { + t2 instanceof Error ? this._sendResponse({ seq: e29.seq, type: V2.CALL_FAILURE, data: t2.message }) : this._sendResponse({ seq: e29.seq, type: V2.CALL_FAILURE, data: String(t2) }); + }); + } + _onSubscribe(e29) { + let { channelName: t, seq: n } = e29, r = this._channels.get(t); + try { + if (!r) throw Error(`[ChannelServer]: Channel ${t} not found!`); + let i = r.subscribe(e29.method, e29.args).subscribe({ next: (e30) => { + this._sendResponse({ seq: n, type: V2.SUBSCRIBE_NEXT, data: e30 }); + }, error: (e30) => { + this._sendResponse({ seq: n, type: V2.SUBSCRIBE_ERROR, data: e30.message }), this._sendResponse({ seq: n, type: V2.SUBSCRIBE_COMPLETE }); + }, complete: () => { + this._sendResponse({ seq: n, type: V2.SUBSCRIBE_COMPLETE }); + } }); + this._subscriptions.set(e29.seq, i); + } catch (t2) { + t2 instanceof Error ? this._sendResponse({ seq: e29.seq, type: V2.SUBSCRIBE_ERROR, data: t2.message }) : this._sendResponse({ seq: e29.seq, type: V2.SUBSCRIBE_ERROR, data: String(t2) }); + } + } + _onUnsubscribe(e29) { + let t = this._subscriptions.get(e29.seq); + t && (t.unsubscribe(), this._subscriptions.delete(e29.seq)); + } + _sendResponse(e29) { + this._protocol.send(e29); + } + }; + var W2 = createIdentifier(`IRPCChannelService`); + var G2 = class { + constructor(e29) { + I2(this, `_client`, void 0), I2(this, `_server`, void 0), this._client = new H2(e29), this._server = new U2(e29); + } + dispose() { + this._client.dispose(), this._server.dispose(); + } + requestChannel(e29) { + return this._client.getChannel(e29); + } + registerChannel(e29, t) { + this._server.registerChannel(e29, t); + } + }; + var K2 = class extends dn { + constructor(e29, t, n, r, i) { + super(), this._injector = e29, this._commandService = t, this._univerInstanceService = n, this._rpcChannelService = r, this._remoteSyncService = i, I2(this, `_remoteInstanceService`, void 0), I2(this, `_syncingUnits`, /* @__PURE__ */ new Set()), I2(this, `_syncingMutations`, /* @__PURE__ */ new Set()), this._initRPCChannels(), this._init(); + } + registerSyncingMutations(e29) { + this._syncingMutations.add(e29.id); + } + syncUnit(e29) { + return this._syncingUnits.add(e29), T2(() => this._syncingUnits.delete(e29)); + } + _initRPCChannels() { + this._rpcChannelService.registerChannel(D2, L2(this._remoteSyncService)), this._injector.add([j2, { useFactory: () => R3(this._rpcChannelService.requestChannel(A2)) }]), this._remoteInstanceService = this._injector.get(j2); + } + _init() { + this._univerInstanceService.getTypeOfUnitAdded$(O.UNIVER_SHEET).pipe(takeUntil(this.dispose$)).subscribe((e29) => { + this._syncingUnits.add(e29.getUnitId()), this._remoteInstanceService.createInstance({ unitID: e29.getUnitId(), type: O.UNIVER_SHEET, snapshot: e29.getSnapshot() }); + }), this._univerInstanceService.getTypeOfUnitDisposed$(O.UNIVER_SHEET).pipe(takeUntil(this.dispose$)).subscribe((e29) => { + this._syncingUnits.delete(e29.getUnitId()), this._remoteInstanceService.disposeInstance({ unitID: e29.getUnitId() }); + }), this.disposeWithMe(this._commandService.onCommandExecuted((t, n) => { + let { type: r, params: i, id: a } = t, o = (i == null ? void 0 : i.unitId) || ``; + r === ri.MUTATION && (!o || this._syncingUnits.has(o)) && !(n != null && n.fromSync) && this._syncingMutations.has(a) && this._remoteInstanceService.syncMutation({ mutationInfo: t }, n); + })); + } + }; + K2 = E2([T3(0, Inject(Injector)), T3(1, ii), T3(2, Mu), T3(3, W2), T3(4, O3)], K2); + var q2 = class extends E { + constructor(e29, t, n, r) { + super(), this._injector = e29, this._remoteInstanceService = t, this._commandService = n, this._rpcChannelService = r, I2(this, `_remoteSyncService`, void 0), this._initRPCChannels(), this._init(); + } + _initRPCChannels() { + this._rpcChannelService.registerChannel(A2, L2(this._remoteInstanceService)), this._injector.add([O3, { useFactory: () => R3(this._rpcChannelService.requestChannel(D2)) }]), this._remoteSyncService = this._injector.get(O3); + } + _init() { + this.disposeWithMe(this._commandService.onCommandExecuted((t, n) => { + t.type === ri.MUTATION && !(n != null && n.fromSync) && this._remoteSyncService.syncMutation({ mutationInfo: t }, n); + })); + } + }; + q2 = E2([T3(0, Inject(Injector)), T3(1, j2), T3(2, ii), T3(3, W2)], q2); + var J2 = `@univerjs/rpc`; + var Y2 = `0.19.0`; + function X2() { + return { send(e29) { + postMessage(e29); + }, onMessage: new Observable((e29) => { + let t = (t2) => { + e29.next(t2.data); + }; + return addEventListener(`message`, t), () => removeEventListener(`message`, t); + }).pipe(shareReplay(1)) }; + } + function Z2(e29) { + return { send(t) { + e29.postMessage(t); + }, onMessage: new Observable((t) => { + let n = (e30) => { + t.next(e30.data); + }; + return e29.addEventListener(`message`, n), () => e29.removeEventListener(`message`, n); + }).pipe(shareReplay(1)) }; + } + var Q2 = class extends qu { + constructor(e29 = S3, t, n) { + super(), this._config = e29, this._injector = t, this._configService = n, I2(this, `_internalWorker`, null); + let { ...r } = merge_default({}, S3, this._config); + this._configService.setConfig(x, r); + } + dispose() { + super.dispose(), this._internalWorker && (this._internalWorker.terminate(), this._internalWorker = null); + } + onStarting() { + let { workerURL: e29 } = this._config; + if (!e29) throw Error(`[UniverRPCMainThreadPlugin]: The workerURL is required for the RPC main thread plugin.`); + let t = e29 instanceof Worker ? e29 : new Worker(e29); + this._internalWorker = e29 instanceof Worker ? null : t; + let n = Z2(t); + [[W2, { useFactory: () => new G2(n) }], [K2], [O3, { useClass: k2 }]].forEach((e30) => this._injector.add(e30)), this._injector.get(K2); + } + }; + I2(Q2, `pluginName`, `UNIVER_RPC_MAIN_THREAD_PLUGIN`), I2(Q2, `packageName`, J2), I2(Q2, `version`, Y2), Q2 = E2([T3(1, Inject(Injector)), T3(2, Yr)], Q2); + var $2 = class extends qu { + constructor(e29 = w, t, n) { + super(), this._config = e29, this._injector = t, this._configService = n; + let { ...r } = merge_default({}, w, this._config); + this._configService.setConfig(C2, r); + } + onStarting() { + [[q2], [W2, { useFactory: () => new G2(X2()) }], [j2, { useClass: M2 }]].forEach((e29) => this._injector.add(e29)), this._injector.get(q2); + } + }; + I2($2, `pluginName`, `UNIVER_RPC_WORKER_THREAD_PLUGIN`), I2($2, `packageName`, J2), I2($2, `version`, Y2), $2 = E2([T3(1, Inject(Injector)), T3(2, Yr)], $2); + + // node_modules/@univerjs/engine-formula/lib/es/index.js + var Ne = (function(e29) { + return e29.FALSE = `FALSE`, e29.TRUE = `TRUE`, e29; + })({}); + var Pe = (function(e29) { + return e29[e29.SUCCESS = 0] = `SUCCESS`, e29[e29.ERROR = 1] = `ERROR`, e29; + })({}); + var Fe = (function(e29) { + return e29.ALL = `#All`, e29.DATA = `#Data`, e29.HEADERS = `#Headers`, e29.TOTALS = `#Totals`, e29.THIS_ROW = `#This Row`, e29; + })({}); + var Ie2 = (function(e29) { + return e29[e29.FRONT = 0] = `FRONT`, e29[e29.BACK = 1] = `BACK`, e29; + })({}); + function Le2(e29) { + "@babel/helpers - typeof"; + return Le2 = typeof Symbol == `function` && typeof Symbol.iterator == `symbol` ? function(e30) { + return typeof e30; + } : function(e30) { + return e30 && typeof Symbol == `function` && e30.constructor === Symbol && e30 !== Symbol.prototype ? `symbol` : typeof e30; + }, Le2(e29); + } + function Re2(e29, t) { + if (Le2(e29) != `object` || !e29) return e29; + var n = e29[Symbol.toPrimitive]; + if (n !== void 0) { + var r = n.call(e29, t || `default`); + if (Le2(r) != `object`) return r; + throw TypeError(`@@toPrimitive must return a primitive value.`); + } + return (t === `string` ? String : Number)(e29); + } + function ze2(e29) { + var t = Re2(e29, `string`); + return Le2(t) == `symbol` ? t : t + ``; + } + function E3(e29, t, n) { + return (t = ze2(t)) in e29 ? Object.defineProperty(e29, t, { value: n, enumerable: true, configurable: true, writable: true }) : e29[t] = n, e29; + } + var Be2 = class { + constructor(e29) { + E3(this, `_cache`, void 0), this._cache = new so(e29); + } + set(e29, t) { + let n = this._hash(e29); + this._cache.set(n, t); + } + get(e29) { + let t = this._hash(e29); + return this._cache.get(t); + } + clear() { + this._cache.clear(); + } + delete(e29) { + this._cache.delete(this._hash(e29)); + } + forEach(e29, t) { + this._cache.forEach(e29, t); + } + _hash(e29) { + return e29.length <= 64 ? e29 : Ya(e29).toString(); + } + }; + var D3 = (function(e29) { + return e29.DIV_BY_ZERO = `#DIV/0!`, e29.NAME = `#NAME?`, e29.VALUE = `#VALUE!`, e29.NUM = `#NUM!`, e29.NA = `#N/A`, e29.CYCLE = `#CYCLE!`, e29.REF = `#REF!`, e29.SPILL = `#SPILL!`, e29.CALC = `#CALC!`, e29.ERROR = `#ERROR!`, e29.CONNECT = `#GETTING_DATA`, e29.NULL = `#NULL!`, e29; + })({}); + var Ve2 = new Set(Object.values(D3)); + var He2 = [...new Set(Object.values(D3).map((e29) => e29.length))]; + var Ue2 = class { + constructor() { + E3(this, `pattern`, ``); + } + dispose() { + } + getPattern() { + return this.pattern; + } + setPattern(e29) { + this.pattern = e29; + } + isError() { + return false; + } + isAsyncObject() { + return false; + } + isAsyncArrayObject() { + return false; + } + isReferenceObject() { + return false; + } + isArray() { + return false; + } + isValueObject() { + return false; + } + isEqualType(e29) { + return false; + } + }; + var O4 = (function(e29) { + return e29.PLUS = `+`, e29.MINUS = `-`, e29.MULTIPLY = `*`, e29.DIVIDED = `/`, e29.CONCATENATE = `&`, e29.POWER = `^`, e29.EQUALS = `=`, e29.NOT_EQUAL = `<>`, e29.GREATER_THAN = `>`, e29.GREATER_THAN_OR_EQUAL = `>=`, e29.LESS_THAN = `<`, e29.LESS_THAN_OR_EQUAL = `<=`, e29; + })({}); + var k3 = (function(e29) { + return e29.EQUALS = `=`, e29.NOT_EQUAL = `<>`, e29.GREATER_THAN = `>`, e29.GREATER_THAN_OR_EQUAL = `>=`, e29.LESS_THAN = `<`, e29.LESS_THAN_OR_EQUAL = `<=`, e29; + })({}); + var We2 = /* @__PURE__ */ new Map([[O4.NOT_EQUAL, 4], [O4.LESS_THAN, 4], [O4.GREATER_THAN_OR_EQUAL, 4], [O4.EQUALS, 4], [O4.GREATER_THAN, 4], [O4.LESS_THAN_OR_EQUAL, 4], [O4.CONCATENATE, 3], [O4.PLUS, 2], [O4.MINUS, 2], [O4.DIVIDED, 1], [O4.MULTIPLY, 1], [O4.POWER, 0]]); + var Ge = new Set(We2.keys()); + var Ke = /* @__PURE__ */ new Set([O4.EQUALS, O4.NOT_EQUAL, O4.GREATER_THAN, O4.GREATER_THAN_OR_EQUAL, O4.LESS_THAN, O4.LESS_THAN_OR_EQUAL]); + var A3 = (function(e29) { + return e29.OPEN_BRACKET = `(`, e29.CLOSE_BRACKET = `)`, e29.COMMA = `,`, e29.SINGLE_QUOTATION = `'`, e29.DOUBLE_QUOTATION = `"`, e29.OPEN_BRACES = `{`, e29.CLOSE_BRACES = `}`, e29.COLON = `:`, e29.OPEN_SQUARE_BRACKET = `[`, e29.CLOSE_SQUARE_BRACKET = `]`, e29; + })({}); + var qe2 = (function(e29) { + return e29.PERCENTAGE = `%`, e29.POUND = `#`, e29; + })({}); + var Je = /* @__PURE__ */ new Set([qe2.PERCENTAGE, qe2.POUND]); + var Ye = (function(e29) { + return e29.AT = `@`, e29.MINUS = `-`, e29.PLUS = `+`, e29; + })({}); + var Xe2 = class extends Ue2 { + constructor(e29) { + super(), this._rawValue = e29, E3(this, `_customData`, void 0); + } + isValueObject() { + return true; + } + toUnitRange() { + return { range: { startColumn: -1, startRow: -1, endRow: -1, endColumn: -1 }, sheetId: ``, unitId: `` }; + } + getValue() { + return 0; + } + getArrayValue() { + return []; + } + setValue(e29) { + } + setArrayValue(e29) { + } + withCustomData(e29) { + return this._customData = e29, this; + } + getCustomData() { + return this._customData; + } + isCube() { + return false; + } + isString() { + return false; + } + isNumber() { + return false; + } + isBoolean() { + return false; + } + isLambda() { + return false; + } + isDateFormat() { + return false; + } + isError() { + return false; + } + isNull() { + return false; + } + isHyperlink() { + return false; + } + isImage() { + return false; + } + sum() { + return j3.create(D3.VALUE); + } + max() { + return j3.create(D3.VALUE); + } + min() { + return j3.create(D3.VALUE); + } + count() { + return j3.create(D3.VALUE); + } + countA() { + return j3.create(D3.VALUE); + } + countBlank() { + return j3.create(D3.VALUE); + } + getNegative() { + return j3.create(D3.VALUE); + } + getReciprocal() { + return j3.create(D3.VALUE); + } + plus(e29) { + return j3.create(D3.VALUE); + } + minus(e29) { + return j3.create(D3.VALUE); + } + multiply(e29) { + return j3.create(D3.VALUE); + } + divided(e29) { + return j3.create(D3.VALUE); + } + mod(e29) { + return j3.create(D3.VALUE); + } + map(e29) { + return j3.create(D3.NAME); + } + mapValue(e29) { + return j3.create(D3.NAME); + } + compare(e29, t, n = false) { + return j3.create(D3.NAME); + } + isEqual(e29) { + return this.compare(e29, k3.EQUALS); + } + isNotEqual(e29) { + return this.compare(e29, k3.NOT_EQUAL); + } + isGreaterThanOrEqual(e29) { + return this.compare(e29, k3.GREATER_THAN_OR_EQUAL); + } + isLessThanOrEqual(e29) { + return this.compare(e29, k3.LESS_THAN_OR_EQUAL); + } + isLessThan(e29) { + return this.compare(e29, k3.LESS_THAN); + } + isGreaterThan(e29) { + return this.compare(e29, k3.GREATER_THAN); + } + concatenateFront(e29) { + return j3.create(D3.NAME); + } + concatenateBack(e29) { + return j3.create(D3.NAME); + } + plusBy(e29) { + return j3.create(D3.VALUE); + } + minusBy(e29) { + return j3.create(D3.VALUE); + } + multiplyBy(e29) { + return j3.create(D3.VALUE); + } + dividedBy(e29) { + return j3.create(D3.VALUE); + } + modInverse(e29) { + return j3.create(D3.VALUE); + } + compareBy(e29, t, n = false) { + return j3.create(D3.NAME); + } + concatenate(e29, t = Ie2.FRONT) { + let n = this.getValue().toString(); + if (typeof e29 == `string`) t === Ie2.FRONT ? n = e29 + n : n += e29; + else if (typeof e29 == `number`) t === Ie2.FRONT ? n = e29.toString() + n : n += e29.toString(); + else if (typeof e29 == `boolean`) { + let r = e29 ? `TRUE` : `FALSE`; + t === Ie2.FRONT ? n = r + n : n += r; + } + return n; + } + pow(e29) { + return j3.create(D3.VALUE); + } + powInverse(e29) { + return j3.create(D3.VALUE); + } + sqrt() { + return j3.create(D3.VALUE); + } + cbrt() { + return j3.create(D3.VALUE); + } + cos() { + return j3.create(D3.VALUE); + } + cosh() { + return j3.create(D3.VALUE); + } + acos() { + return j3.create(D3.VALUE); + } + acosh() { + return j3.create(D3.VALUE); + } + sin() { + return j3.create(D3.VALUE); + } + sinh() { + return j3.create(D3.VALUE); + } + asin() { + return j3.create(D3.VALUE); + } + asinh() { + return j3.create(D3.VALUE); + } + tan() { + return j3.create(D3.VALUE); + } + tanh() { + return j3.create(D3.VALUE); + } + atan() { + return j3.create(D3.VALUE); + } + atan2(e29) { + return j3.create(D3.VALUE); + } + atan2Inverse(e29) { + return j3.create(D3.VALUE); + } + atanh() { + return j3.create(D3.VALUE); + } + mean() { + return this; + } + median() { + return this; + } + var() { + return this; + } + std() { + return this; + } + log() { + return j3.create(D3.VALUE); + } + log10() { + return j3.create(D3.VALUE); + } + exp() { + return j3.create(D3.VALUE); + } + abs() { + return j3.create(D3.VALUE); + } + round(e29) { + return j3.create(D3.VALUE); + } + roundInverse(e29) { + return j3.create(D3.VALUE); + } + floor(e29) { + return j3.create(D3.VALUE); + } + floorInverse(e29) { + return j3.create(D3.VALUE); + } + ceil(e29) { + return j3.create(D3.VALUE); + } + ceilInverse(e29) { + return j3.create(D3.VALUE); + } + convertToNumberObjectValue() { + return j3.create(D3.VALUE); + } + convertToBooleanObjectValue() { + return j3.create(D3.VALUE); + } + }; + var Ze2 = new Be2(1e3); + var j3 = class e18 extends Xe2 { + static create(t, n = ``) { + let r = `${t}-${n}`, i = Ze2.get(r); + if (i) return i; + let a = new e18(t, n); + return Ze2.set(r, a), a; + } + constructor(e29, t = ``) { + super(e29), this._errorType = e29, this._errorContent = t; + } + getValue() { + return this._errorType; + } + getErrorType() { + return this._errorType; + } + getErrorContent() { + return this._errorContent; + } + isEqualType(e29) { + return e29.getErrorType() === this.getErrorType(); + } + isError() { + return true; + } + }; + var Qe2 = `yyyy/mm/dd;@`; + var $e2 = 1440 * 60 * 1e3; + function et2(e29) { + let t = Date.UTC(1900, 0, 1), n = Date.UTC(1900, 1, 28), r = Date.UTC(e29.getUTCFullYear(), e29.getUTCMonth(), e29.getUTCDate()), i = (r - t) / $e2; + return r > n && (i += 1), Math.floor(i) + 1; + } + function tt2(e29) { + let t = Date.UTC(1900, 0, 1, 0, 0, 0), n = Date.UTC(1900, 1, 28, 0, 0, 0), r = Date.UTC(e29.getUTCFullYear(), e29.getUTCMonth(), e29.getUTCDate(), e29.getUTCHours(), e29.getUTCMinutes(), e29.getUTCSeconds(), e29.getUTCMilliseconds()), i = (r - t) / $e2; + return r > n && (i += 1), i + 1; + } + function M3(e29) { + let t = Date.UTC(1900, 0, 1), n = Date.UTC(1900, 1, 28), r = Math.floor(e29) - 1; + return r > (n - t) / $e2 && --r, new Date(t + r * $e2); + } + function nt(e29) { + let t = Date.UTC(1900, 0, 1, 0, 0, 0), n = Date.UTC(1900, 1, 28, 0, 0, 0), r = e29 - 1; + return r > (n - t) / $e2 && --r, r < 0 && (r = e29), new Date(t + r * $e2); + } + function rt(e29) { + if (!/^\d{4}[-/](0?[1-9]|1[012])[-/](0?[1-9]|[12][0-9]|3[01])$/.test(e29)) return false; + let t = e29.replace(/-/g, `/`).replace(/T.+/, ``), n = /* @__PURE__ */ new Date(`${t}`); + if (Number.isNaN(n.getTime())) return false; + let r = `${n.getFullYear()}-${(n.getMonth() + 1).toString().padStart(2, `0`)}-${n.getDate().toString().padStart(2, `0`)}`; + return e29.replace(/\//g, `-`).split(`-`).map((e30) => e30.padStart(2, `0`)).join(`-`) === r; + } + function it2(e29) { + return lib_exports.parseDate(e29); + } + function at(e29) { + return lib_exports.parseTime(e29); + } + function ot(e29) { + return lib_exports.getFormatInfo(e29).isDate; + } + var st = { 1: [6, 0], 2: [0, 1], 3: [1, 2], 4: [2, 3], 5: [3, 4], 6: [4, 5], 7: [5, 6], 11: [0], 12: [1], 13: [2], 14: [3], 15: [4], 16: [5], 17: [6] }; + function ct2(e29) { + return !!(typeof e29 == `string` && /^[0|1]{7}/.test(e29) || st[Number(e29)]); + } + function lt2(e29) { + if (!ct2(e29)) return []; + if (typeof e29 == `string` && /^[0|1]{7}/.test(e29)) { + let t = []; + for (let n = 1; n <= e29.length; n++) `${e29[n - 1]}` == `1` && (n === e29.length ? t.push(0) : t.push(n)); + return t; + } + return st[Number(e29)] || []; + } + function ut2(e29, t, n = 1, r) { + let i = lt2(n), a = Math.floor(e29), o = Math.floor(t), s = o > a ? a : o, c = 0, l = Math.abs(Math.floor(t) - Math.floor(e29)) + 1; + for (let e30 = 0; e30 < l; e30++) { + let t2 = s + e30; + if (r && r.length > 0 && r.some((e31) => Math.floor(e31) === t2)) continue; + let n2 = ft2(t2); + i.includes(n2) || c++; + } + return o >= a ? c : -c; + } + function dt2(e29, t, n = 1, r) { + let i = lt2(n), a = Math.floor(e29), o = a, s = Math.abs(t); + for (let e30 = 1; e30 <= s; e30++) { + let n2 = t < 0 ? a - e30 : a + e30; + if (n2 < 0) return j3.create(D3.NUM); + if (r && r.length > 0 && r.some((e31) => Math.floor(e31) === n2)) { + s++; + continue; + } + let c = ft2(n2); + if (i.includes(c)) { + s++; + continue; + } + o = n2; + } + return o; + } + function N3(e29) { + if (e29.isError()) return e29; + let t = e29.getValue(); + if (e29.isString()) { + let e30; + if (it2(`${t}`)) e30 = it2(`${t}`).v; + else if (at(`${t}`)) e30 = at(`${t}`).v; + else if (Ja(t)) e30 = +t; + else return j3.create(D3.VALUE); + return e30 instanceof Date && (e30 = tt2(e30)), +e30 < 0 || +e30 > 2958465 ? j3.create(D3.NUM) : +e30; + } else { + let t2 = +e29.getValue(); + return t2 < 0 || t2 > 2958465 ? j3.create(D3.NUM) : t2; + } + } + function ft2(e29) { + let t = Math.floor(e29) === 60, n = M3(e29), r = Date.UTC(1900, 1, 28), i = Date.UTC(n.getUTCFullYear(), n.getUTCMonth(), n.getUTCDate()); + return !t && i <= r && (n = new Date(i - $e2)), n.getUTCDay(); + } + function pt2(e29, t, n) { + switch (n) { + case 0: + return mt2(e29, t); + case 1: + return ht(e29, t); + case 2: + return { days: Math.abs(t - e29), yearDays: 360 }; + case 3: + return { days: Math.abs(t - e29), yearDays: 365 }; + case 4: + return gt2(e29, t); + default: + return { days: Math.abs(t - e29), yearDays: 365 }; + } + } + function mt2(e29, t) { + let n = M3(e29), r = e29 > 0 ? n.getUTCFullYear() : 1900, i = e29 > 0 ? n.getUTCMonth() + 1 : 1, a = e29 > 0 ? n.getUTCDate() : 0, o = M3(t), s = t > 0 ? o.getUTCFullYear() : 1900, c = t > 0 ? o.getUTCMonth() + 1 : 1, l = t > 0 ? o.getUTCDate() : 0; + i === 2 ? M3(e29 + 1).getUTCMonth() + 1 === 3 && (a = 30) : a === 31 && (a = 30), l === 31 && (a < 30 ? (o = M3(t + 1), s = o.getUTCFullYear(), c = o.getUTCMonth() + 1, l = o.getUTCDate()) : l = 30); + let u = (s - r) * 360, d = t >= e29 ? 30 - a : -a, f = t >= e29 ? l : l - 30, p = (t >= e29 ? c - i - 1 : c - i + 1) * 30; + return { days: Math.abs(u + d + f + p), yearDays: 360 }; + } + function ht(e29, t) { + let n = M3(e29), r = e29 > 0 ? n.getUTCFullYear() : 1900, i = M3(t), a = t > 0 ? i.getUTCFullYear() : 1900, o = Math.abs(t - e29), s = Math.abs(a - r) + 1, c, l; + if (a < r) { + let e30 = new Date(Date.UTC(a, 0, 1)), t2 = new Date(Date.UTC(r, 11, 31)); + c = et2(e30), l = et2(t2), a === 1900 && (c += 1); + } else { + let e30 = new Date(Date.UTC(r, 0, 1)), t2 = new Date(Date.UTC(a, 11, 31)); + c = et2(e30), l = et2(t2), r === 1900 && (c += 1); + } + return { days: o, yearDays: (l - c + 1) / s }; + } + function gt2(e29, t) { + let n = M3(e29), r = e29 > 0 ? n.getUTCFullYear() : 1900, i = e29 > 0 ? n.getUTCMonth() + 1 : 1, a = e29 > 0 ? n.getUTCDate() : 0, o = M3(t), s = t > 0 ? o.getUTCFullYear() : 1900, c = t > 0 ? o.getUTCMonth() + 1 : 1, l = t > 0 ? o.getUTCDate() : 0; + a === 31 && (a = 30), l === 31 && (l = 30); + let u = (s - r) * 360, d = t >= e29 ? 30 - a : -a, f = t >= e29 ? l : l - 30, p = (t >= e29 ? c - i - 1 : c - i + 1) * 30; + return { days: Math.abs(u + d + f + p), yearDays: 360 }; + } + function _t2(e29) { + return e29 % 4 == 0 && e29 % 100 != 0 || e29 % 400 == 0; + } + function vt(e29) { + return e29 % 4 == 0 && e29 % 100 != 0 || e29 % 400 == 0 || e29 === 1900; + } + var yt2 = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + var bt = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + function xt2(e29, t) { + return _t2(e29) ? yt2[t] : bt[t]; + } + function St2(e29) { + return vt(e29) ? 366 : 365; + } + function Ct2(e29, t) { + switch (t) { + case 0: + case 2: + case 4: + return 360; + case 1: + return St2(M3(e29).getUTCFullYear()); + case 3: + return 365; + default: + return -1; + } + } + function wt2(e29, t, n) { + return xt2(e29, t) === n; + } + function Tt(e29, t) { + let n = e29.getUTCFullYear(), r = e29.getUTCMonth(), i = e29.getUTCDate(); + return wt2(n, r, i) ? (e29.setUTCDate(1), e29.setUTCMonth(e29.getUTCMonth() + t), n = e29.getUTCFullYear(), r = e29.getUTCMonth(), e29.setUTCDate(xt2(n, r))) : e29.setUTCMonth(e29.getUTCMonth() + t), e29; + } + function Et2(e29, t, n, r, i) { + for (let a = 0, o = e29.length; a < o; a++) { + let o2 = e29[a]; + if (t !== o2.unitId || n !== o2.sheetId) continue; + let { startRow: s, startColumn: c, endRow: l, endColumn: u } = o2.range; + if (r >= s && r <= l && i >= c && i <= u) return true; + } + return false; + } + var Dt2 = (function(e29) { + return e29[e29.Financial = 0] = `Financial`, e29[e29.Date = 1] = `Date`, e29[e29.Math = 2] = `Math`, e29[e29.Statistical = 3] = `Statistical`, e29[e29.Lookup = 4] = `Lookup`, e29[e29.Database = 5] = `Database`, e29[e29.Text = 6] = `Text`, e29[e29.Logical = 7] = `Logical`, e29[e29.Information = 8] = `Information`, e29[e29.Engineering = 9] = `Engineering`, e29[e29.Cube = 10] = `Cube`, e29[e29.Compatibility = 11] = `Compatibility`, e29[e29.Web = 12] = `Web`, e29[e29.Array = 13] = `Array`, e29[e29.Univer = 14] = `Univer`, e29[e29.User = 15] = `User`, e29[e29.DefinedName = 16] = `DefinedName`, e29[e29.Table = 17] = `Table`, e29; + })({}); + var Ot2 = [...Object.values(k3), ...Object.values(O4), ...Object.values(A3), ...Object.values(qe2), ...Object.values(Ye)]; + function kt2(e29) { + return Ot2.includes(e29); + } + function At2(e29) { + for (let t of Ot2) if (e29.indexOf(t) > -1) return true; + return false; + } + var Nt2 = /* @__PURE__ */ new Set([O4.PLUS, O4.MINUS, O4.MULTIPLY, O4.DIVIDED, O4.CONCATENATE, O4.POWER, O4.EQUALS, O4.NOT_EQUAL, O4.GREATER_THAN, O4.GREATER_THAN_OR_EQUAL, O4.LESS_THAN, O4.LESS_THAN_OR_EQUAL, A3.OPEN_BRACKET, A3.COMMA, A3.COLON, A3.OPEN_BRACES, A3.OPEN_SQUARE_BRACKET]); + function Pt(e29) { + return Nt2.has(e29); + } + var Ft = /* @__PURE__ */ new Set([O4.PLUS, O4.MINUS, O4.MULTIPLY, O4.DIVIDED, O4.CONCATENATE, O4.POWER, O4.EQUALS, O4.NOT_EQUAL, O4.GREATER_THAN, O4.GREATER_THAN_OR_EQUAL, O4.LESS_THAN, O4.LESS_THAN_OR_EQUAL, A3.OPEN_BRACKET, A3.COMMA, A3.COLON, A3.OPEN_BRACES, A3.OPEN_SQUARE_BRACKET, qe2.PERCENTAGE, qe2.POUND]); + function It(e29) { + return Ft.has(e29); + } + var Lt = `\\[([^\\[\\]\\/?:"<>|*\\\\]+)\\]`; + var Rt = new RegExp(Lt); + var zt = `\\s*?:\\s*?`; + var Bt2 = `[A-Za-z]+`; + var Vt = `[1-9][0-9]*`; + var Ht = `'?(${Lt})?(((?![\\[\\]\\/?*\\\\]).)*!)?'?`; + var Ut2 = `\\$?${Bt2}\\$?${Vt}`; + var Wt2 = `^(${Ye.AT})?${Ht}${Ut2}${zt}${Ut2}$`; + var Gt2 = new RegExp(Wt2); + var Kt2 = `^${Ht}\\s*?${Ut2}(${qe2.POUND})?$`; + var qt = new RegExp(Kt2); + var Jt = `^${Ht}\\$?${Vt}${zt}\\$?${Vt}$`; + var Yt = new RegExp(Jt); + var Xt = `^${Ht}\\$?${Bt2}${zt}\\$?${Bt2}$`; + var Zt2 = new RegExp(Xt); + var Qt = `^${Ht}\\s*?\\$?${Vt}$`; + var $t2 = new RegExp(Qt); + var en2 = `^${Ht}\\s*?\\$?${Bt2}$`; + var tn2 = new RegExp(en2); + var nn = `((?![~!@#$%^&*()_+<>?:,./;\u2019\uFF0C\u3002\u3001\u2018\uFF1A\u201C\u300A\u300B\uFF1F~\uFF01@#\uFFE5%\u2026\u2026\uFF08\uFF09\u3010\u3011\\[\\]\\/\\\\]).)+`; + var rn = `\\[#.+\\]\\s*?,\\s*?`; + var an2 = `\\[((? { + let r = e29[n]; + if (r == null) return true; + t[n] == null && (t[n] = {}), Object.keys(r).forEach((e30) => { + let i = r[e30]; + t[n][e30] = new Sa(i); + }); + }), t; + } + function kn2(e29) { + let t = {}; + for (let n in e29) { + let r = e29[n]; + if (r != null) { + t[n] == null && (t[n] = {}); + for (let e30 in r) { + let i = r[e30], a = {}; + i.forValue((e31, t2, n2) => { + a[e31] === void 0 && (a[e31] = {}), a[e31][t2] = n2; + }), t[n][e30] = a; + } + } + } + return t; + } + var Nn2 = `LO_1`; + var Fn2 = `LAMBDA`; + var In = /* @__PURE__ */ new Set([`RAND`, `RANDBETWEEN`, `NOW`, `TODAY`]); + var Ln2 = { type: ri.MUTATION, id: `sheet.mutation.data-validation-formula-mark-dirty`, handler() { + return true; + } }; + var Rn2 = { id: `formula.mutation.register-function`, type: ri.MUTATION, handler: () => true }; + var zn2 = { id: `formula.mutation.set-array-formula-data`, type: ri.MUTATION, handler: (e29, t) => true }; + var Bn2 = /[^0-9]/g; + var Vn2 = /[^A-Za-z]/g; + function Hn2(t) { + let n = t[0] === `$`, r = t.substring(1), i = r.indexOf(`$`) > -1; + return D.isStringNumber(r) && n && !i && (n = false, i = true), n && i ? V.ALL : n ? V.COLUMN : i ? V.ROW : V.NONE; + } + function Wn2(t = V.NONE) { + let n = ``, r = ``; + return t === V.ROW ? n = `$` : t === V.COLUMN ? r = `$` : t === V.ALL && (n = `$`, r = `$`), { rowAbsoluteString: n, columnAbsoluteString: r }; + } + function Gn2(e29) { + let { startColumn: t, startRow: n, endColumn: r, endRow: i, startAbsoluteRefType: a, endAbsoluteRefType: o, rangeType: s = B.NORMAL } = e29, c = Wn2(a), l = Wn2(o); + if (s === B.ROW || s === B.ALL) return `${`${c.rowAbsoluteString}${n + 1}`}:${`${l.rowAbsoluteString}${i + 1}`}`; + if (s === B.COLUMN) return `${`${c.columnAbsoluteString}${D.chatAtABC(t)}`}:${`${l.columnAbsoluteString}${D.chatAtABC(r)}`}`; + let u = `${c.columnAbsoluteString}${D.chatAtABC(t)}${c.rowAbsoluteString}${n + 1}`, d = `${l.columnAbsoluteString}${D.chatAtABC(r)}${l.rowAbsoluteString}${i + 1}`; + return u === d ? u : `${u}:${d}`; + } + function Kn2(e29, t) { + return `${ir2(e29)}!${Gn2(t)}`; + } + function qn2(e29, t, n) { + return rr2(e29) || rr2(t) ? `'[${ar2(e29)}]${ar2(t)}'!${Gn2(n)}` : `[${e29}]${t}!${Gn2(n)}`; + } + function Jn2(e29) { + let { unitId: t, sheetName: n, range: r } = e29; + return t != null && t.length > 0 && n != null && n.length > 0 ? qn2(t, n, r) : n != null && n.length > 0 ? Kn2(n, r) : Gn2(r); + } + function Yn2(e29) { + return { row: Number.parseInt(e29.replace(Bn2, ``)) - 1, column: D.ABCatNum(e29.replace(Vn2, ``)), absoluteRefType: Hn2(e29) }; + } + function Xn2(e29) { + let t = Rt.exec(e29), n = ``; + t != null && (n = t[0].trim(), n = or2(n.slice(1, n.length - 1)), e29 = e29.replace(Rt, ``)); + let r = e29.indexOf(`!`), i = ``, a = ``; + return r > -1 ? (i = e29.substring(0, r), i[0] === `'` && i[i.length - 1] === `'` && (i = i.substring(1, i.length - 1)), i = or2(i), a = e29.substring(r + 1)) : a = e29, { refBody: a, sheetName: i, unitId: n }; + } + function Zn2(e29) { + let { refBody: t, sheetName: n, unitId: r } = Xn2(e29), i = t.indexOf(`:`); + if (i === -1) { + let e30 = Yn2(t), i2 = e30.row, a2 = e30.column, o2 = e30.absoluteRefType; + return { unitId: r, sheetName: n, range: { startRow: i2, startColumn: a2, endRow: i2, endColumn: a2, startAbsoluteRefType: o2, endAbsoluteRefType: o2 } }; + } + let a = t.substring(0, i), o = t.substring(i + 1), s = Yn2(a), c = Yn2(o), l = s.row > c.row ? c.row : s.row, u = s.column > c.column ? c.column : s.column, d = s.row > c.row ? s.row : c.row, f = s.column > c.column ? s.column : c.column, p = B.NORMAL; + return Number.isNaN(l) && Number.isNaN(d) ? p = B.COLUMN : Number.isNaN(u) && Number.isNaN(f) && (p = B.ROW), { unitId: r, sheetName: n, range: { startRow: l, startColumn: u, endRow: d, endColumn: f, startAbsoluteRefType: s.absoluteRefType, endAbsoluteRefType: c.absoluteRefType, rangeType: p } }; + } + var Qn2 = [`LOG10`]; + function $n2(e29) { + let t = er2(e29); + if (!Dn2(t) || Qn2.includes(t.toUpperCase().trim())) return false; + let { range: n } = Zn2(t); + return !(n.endColumn >= fo); + } + function er2(e29) { + let t = [], n = false; + for (let r = 0, i = e29.length; r < i; r++) { + let i2 = e29[r]; + if (i2 === ` ` && !n) t.push(i2); + else if (!n && (i2 === Ye.AT || i2 === Ye.MINUS || i2 === Ye.PLUS)) continue; + else t.push(i2), n = true; + } + return t.join(``); + } + function nr2(e29) { + return ((e29 == null ? void 0 : e29.split(`,`)) || []).every((e30) => $n2(e30.trim())); + } + function rr2(e29) { + return e29.length === 0 ? false : !!(At2(e29) || sr2(e29) || cr2(e29) || lr2(e29) || /[\s!$%^&*()+\-=\[\]{};':"\\|,.<>\/?()]/.test(e29)); + } + function ir2(e29) { + return rr2(e29) ? `'${ar2(e29)}'` : e29; + } + function ar2(e29) { + return e29.replace(/'/g, `''`); + } + function or2(e29) { + return e29.replace(/''/g, `'`); + } + function sr2(e29) { + let t = /^([A-Z]+)([1-9][0-9]*)$/.exec(e29); + if (!t) return false; + let [, n, r] = t, i = Number(r); + if (i < 1 || i > uo) return false; + let a = lo(n); + return !(a < 1 || a > fo); + } + function cr2(e29) { + return /^(R(-?[0-9]+)?C(-?[0-9]+)?|C(-?[0-9]+)?|R(-?[0-9]+)?)$/.test(e29); + } + function lr2(e29) { + return !/^\p{Letter}/u.test(e29.charAt(0)); + } + function ur2(e29) { + let t = e29.indexOf(`[`); + return t === -1 ? { tableName: e29, struct: `` } : { tableName: e29.slice(0, t), columnStruct: e29.slice(t) }; + } + function P5(e29, t) { + return function(n, r) { + t(n, r, e29); + }; + } + function dr2(e29, t, n, r) { + var i = arguments.length, a = i < 3 ? t : r === null ? r = Object.getOwnPropertyDescriptor(t, n) : r, o; + if (typeof Reflect == `object` && typeof Reflect.decorate == `function`) a = Reflect.decorate(e29, t, n, r); + else for (var s = e29.length - 1; s >= 0; s--) (o = e29[s]) && (a = (i < 3 ? o(a) : i > 3 ? o(t, n, a) : o(t, n)) || a); + return i > 3 && a && Object.defineProperty(t, n, a), a; + } + var fr2 = class extends E { + constructor(e29) { + super(), this._univerInstanceService = e29, E3(this, `_definedNameMap`, {}), E3(this, `_nameCacheMap`, {}), E3(this, `_update$`, new Subject()), E3(this, `update$`, this._update$.asObservable()), E3(this, `_currentRange`, { unitId: ``, sheetId: ``, range: { startRow: 0, endRow: 0, startColumn: 0, endColumn: 0 } }), E3(this, `_currentRange$`, new Subject()), E3(this, `currentRange$`, this._currentRange$.asObservable()), E3(this, `_focusRange$`, new Subject()), E3(this, `focusRange$`, this._focusRange$.asObservable()); + } + dispose() { + super.dispose(), this._definedNameMap = {}, this._nameCacheMap = {}, this._update$.complete(), this._currentRange$.complete(), this._focusRange$.complete(); + } + getWorksheetByRef(e29, t) { + var n; + let { sheetName: r } = Xn2(t); + return (n = this._univerInstanceService.getUnit(e29)) == null ? void 0 : n.getSheetBySheetName(r); + } + focusRange(e29, t) { + let n = this.getValueById(e29, t); + n !== void 0 && this._focusRange$.next({ ...n, unitId: e29 }); + } + setCurrentRange(e29) { + this._currentRange = e29, this._currentRange$.next(e29); + } + getCurrentRange() { + return this._currentRange; + } + getCurrentRangeForString() { + return Gn2(this._currentRange.range); + } + registerDefinedNames(e29, t) { + this._definedNameMap[e29] = t, this._updateCache(e29), this._update(); + } + registerDefinedName(e29, t) { + this._definedNameMap[e29] === void 0 && (this._definedNameMap[e29] = {}), this._definedNameMap[e29][t.id] = t, this._updateCache(e29), this._update(); + } + removeDefinedName(e29, t) { + var n; + (n = this._definedNameMap[e29]) == null || delete n[t], this._updateCache(e29), this._update(); + } + removeUnitDefinedName(e29) { + delete this._definedNameMap[e29], this._updateCache(e29), this._update(); + } + getDefinedNameMap(e29) { + return this._definedNameMap[e29]; + } + getValueByName(e29, t) { + let n = this._nameCacheMap[e29]; + if (n) return n[t.toLowerCase()] || null; + let r = this._definedNameMap[e29]; + if (r === void 0) return null; + let i = null; + for (let e30 of Object.values(r)) if (e30.name === t) { + i = e30; + break; + } + return i && (this._nameCacheMap[e29] = this._nameCacheMap[e29] || {}, this._nameCacheMap[e29][t.toLowerCase()] = i), i; + } + getValueById(e29, t) { + var n; + return (n = this._definedNameMap[e29]) == null ? void 0 : n[t]; + } + hasDefinedName(e29) { + return this._definedNameMap[e29] === void 0 ? false : (Array.from(Object.values(this._definedNameMap[e29])).length || 0) !== 0; + } + getAllDefinedNames() { + return this._definedNameMap; + } + getDefinedNameByRefString(e29, t) { + if (this._definedNameMap[e29]) { + for (let [n, r] of Object.entries(this._definedNameMap[e29])) if (r.formulaOrRefString === t) return r; + } + } + _update() { + this._update$.next(null); + } + _updateCache(e29) { + let t = this._definedNameMap[e29]; + if (t === void 0) { + delete this._nameCacheMap[e29]; + return; + } + this._nameCacheMap[e29] = {}; + for (let n of Object.values(t)) this._nameCacheMap[e29][n.name.toLowerCase()] = n; + } + }; + fr2 = dr2([P5(0, Mu)], fr2); + var pr2 = createIdentifier(`univer.formula.defined-names.service`); + var mr2 = (e29, t) => { + let { unitId: n, id: r } = t; + return { ...e29.get(pr2).getValueById(n, r), unitId: n }; + }; + var hr2 = { id: `formula.mutation.set-defined-name`, type: ri.MUTATION, handler: (e29, t) => { + if (t == null) return false; + let n = e29.get(pr2), { id: r, unitId: i, name: a, formulaOrRefString: o, comment: s, hidden: c, localSheetId: l, formulaOrRefStringWithPrefix: u } = t; + return n.registerDefinedName(i, { id: r, name: a.trim(), formulaOrRefString: o.trim(), comment: s == null ? void 0 : s.trim(), hidden: c, localSheetId: l, formulaOrRefStringWithPrefix: u }), true; + } }; + var gr2 = { id: `formula.mutation.remove-defined-name`, type: ri.MUTATION, handler: (e29, t) => { + if (t == null) return false; + let n = e29.get(pr2), { unitId: r, id: i } = t; + return n.removeDefinedName(r, i), true; + } }; + var _r2 = { id: `formula.mutation.set-feature-calculation`, type: ri.MUTATION, handler: () => true }; + var vr2 = { id: `formula.mutation.remove-feature-calculation`, type: ri.MUTATION, handler: () => true }; + var yr2 = { id: `formula.mutation.set-formula-calculation-start`, type: ri.MUTATION, handler: () => true }; + var br2 = { id: `formula.mutation.set-trigger-formula-calculation-start`, type: ri.MUTATION, handler: () => true }; + var xr2 = { id: `formula.mutation.set-formula-string-batch-calculation`, type: ri.MUTATION, handler: () => true }; + var Sr2 = { id: `formula.mutation.set-formula-string-batch-calculation-result`, type: ri.MUTATION, handler: () => true }; + var Cr2 = { id: `formula.mutation.set-formula-calculation-stop`, type: ri.MUTATION, handler: () => true }; + var wr2 = { id: `formula.mutation.set-formula-calculation-notification`, type: ri.MUTATION, handler: () => true }; + var Tr2 = { id: `formula.mutation.set-formula-calculation-result`, type: ri.MUTATION, handler: () => true }; + var Er2 = { id: `formula.mutation.set-formula-dependency-calculation`, type: ri.MUTATION, handler: () => true }; + var Dr2 = { id: `formula.mutation.set-formula-dependency-calculation-result`, type: ri.MUTATION, handler: () => true }; + var Or2 = { id: `formula.mutation.set-cell-formula-dependency-calculation`, type: ri.MUTATION, handler: () => true }; + var kr2 = { id: `formula.mutation.set-cell-formula-dependency-calculation-result`, type: ri.MUTATION, handler: () => true }; + var Ar2 = { id: `formula.mutation.set-query-formula-dependency`, type: ri.MUTATION, handler: () => true }; + var jr2 = { id: `formula.mutation.set-query-formula-dependency-result`, type: ri.MUTATION, handler: () => true }; + var Mr2 = { id: `formula.mutation.set-query-formula-dependency-all`, type: ri.MUTATION, handler: () => true }; + var Nr2 = { id: `formula.mutation.set-query-formula-dependency-all-result`, type: ri.MUTATION, handler: () => true }; + var Pr2 = { id: `formula.mutation.set-formula-data`, type: ri.MUTATION, handler: (e29, t) => true }; + var Fr2 = { id: `formula.mutation.set-image-formula-data`, type: ri.MUTATION, handler: (e29, t) => true }; + var Ir2 = { id: `formula.mutation.set-other-formula`, type: ri.MUTATION, handler: () => true }; + var Lr2 = { id: `formula.mutation.remove-other-formula`, type: ri.MUTATION, handler: () => true }; + var Rr2 = class extends E { + constructor() { + super(), E3(this, `_tableMap`, /* @__PURE__ */ new Map()), E3(this, `_tableOptionMap`, /* @__PURE__ */ new Map()), E3(this, `_update$`, new Subject()), E3(this, `update$`, this._update$.asObservable()), this.registerTableOptionMap(Fe.ALL, Fe.ALL), this.registerTableOptionMap(Fe.DATA, Fe.DATA), this.registerTableOptionMap(Fe.HEADERS, Fe.HEADERS), this.registerTableOptionMap(Fe.TOTALS, Fe.TOTALS), this.registerTableOptionMap(Fe.THIS_ROW, Fe.THIS_ROW); + } + dispose() { + super.dispose(), this._update$.complete(), this._tableMap.clear(), this._tableOptionMap.clear(); + } + remove(e29, t) { + var n; + (n = this._tableMap.get(e29)) == null || n.delete(t), this._update(); + } + getTableMap(e29) { + return this._tableMap.get(e29); + } + getTableOptionMap() { + return this._tableOptionMap; + } + registerTable(e29, t, n) { + var r; + this._tableMap.get(e29) == null && this._tableMap.set(e29, /* @__PURE__ */ new Map()), (r = this._tableMap.get(e29)) == null || r.set(t, n), this._update(); + } + registerTableOptionMap(e29, t) { + this._tableOptionMap.set(e29, t); + } + getTable(e29, t) { + var n; + return (n = this._tableMap.get(e29)) == null ? void 0 : n.get(t); + } + hasTable(e29, t) { + let n = this._tableMap.get(e29); + return n ? n.keys().some((e30) => e30.toLowerCase() === t.toLowerCase()) : false; + } + _update() { + this._update$.next(null); + } + }; + var zr2 = createIdentifier(`univer.formula.super-table.service`); + var Br2 = { id: `formula.mutation.set-super-table`, type: ri.MUTATION, handler: (e29, t) => { + let { unitId: n, tableName: r, reference: i } = t; + return e29.get(zr2).registerTable(n, r, i), true; + } }; + var Vr2 = { id: `formula.mutation.remove-super-table`, type: ri.MUTATION, handler: (e29, t) => { + let { unitId: n, tableName: r } = t; + return e29.get(zr2).remove(n, r), true; + } }; + var Hr2 = { id: `formula.mutation.set-super-table-option`, type: ri.MUTATION, handler: (e29, t) => { + let { tableOption: n, tableOptionType: r } = t; + return e29.get(zr2).registerTableOptionMap(n, r), true; + } }; + var Ur2 = `engine-formula.config`; + var Wr2 = `CYCLE_REFERENCE_COUNT`; + var Gr2 = `RETURN_DEPENDENCY_TREE`; + Symbol(Ur2); + var Kr2 = {}; + var qr2 = new Be2(1e5); + function Jr2(e29) { + let t = qr2.get(e29); + if (t) return t; + let n = Zn2(e29); + return qr2.set(e29, n), Zn2(e29); + } + function Yr2() { + qr2.clear(); + } + var Xr = (function(e29) { + return e29[e29.NORMAL = 0] = `NORMAL`, e29[e29.NUMBER = 1] = `NUMBER`, e29[e29.STRING = 2] = `STRING`, e29[e29.FUNCTION = 3] = `FUNCTION`, e29[e29.REFERENCE = 4] = `REFERENCE`, e29[e29.ARRAY = 5] = `ARRAY`, e29[e29.DEFINED_NAME = 6] = `DEFINED_NAME`, e29[e29.TABLE = 7] = `TABLE`, e29; + })({}); + function Zr2(e29) { + let t = ``; + for (let n of e29) typeof n == `string` ? t += n : t += n.token; + return t; + } + var F3 = class e19 { + constructor() { + E3(this, `_parent`, void 0), E3(this, `_token`, `R_1`), E3(this, `_children`, []), E3(this, `_lambdaId`, void 0), E3(this, `_functionDefinitionPrivacyVar`, void 0), E3(this, `_lambdaParameter`, ``), E3(this, `_startIndex`, -1), E3(this, `_endIndex`, -1), E3(this, `_definedNames`, []); + } + dispose() { + var e29; + this._children.forEach((e30) => { + typeof e30 != `string` && e30.dispose(); + }), (e29 = this._functionDefinitionPrivacyVar) == null || e29.clear(), this._functionDefinitionPrivacyVar = null, this._children = [], this._parent = null, this._definedNames = []; + } + getDefinedNames() { + return this._definedNames; + } + getStartIndex() { + return this._startIndex; + } + getLambdaId() { + return this._lambdaId; + } + setLambdaId(e29) { + this._lambdaId = e29; + } + getFunctionDefinitionPrivacyVar() { + return this._functionDefinitionPrivacyVar; + } + setLambdaPrivacyVar(e29) { + this._functionDefinitionPrivacyVar = e29; + } + getLambdaParameter() { + return this._lambdaParameter; + } + setLambdaParameter(e29) { + this._lambdaParameter = e29; + } + getParent() { + return this._parent; + } + setParent(e29) { + this._parent = e29; + } + getChildren() { + return this._children; + } + setChildren(e29) { + this._children = e29; + } + addChildren(e29) { + this._children.push(e29); + } + addChildrenFirst(e29) { + this._children.unshift(e29); + } + getToken() { + return this._token; + } + setToken(e29) { + this._token = e29; + } + setIndex(e29, t) { + this._startIndex = e29, this._endIndex = t; + } + setDefinedNames(e29) { + this._definedNames = e29; + } + hasDefinedNames() { + return this._definedNames.length > 0; + } + replaceChild(e29, t) { + let n = this._getIndexInParent(e29); + n != null && (this.getChildren().splice(n, 1, t), t.setParent(this)); + } + changeToParent(e29) { + let t = this.getParent(); + t && t.removeChild(this), this.setParent(e29), e29.getChildren().push(this); + } + removeChild(e29) { + let t = this._getIndexInParent(e29); + t != null && this.getChildren().splice(t, 1); + } + serialize() { + let t = this.getToken(), n = this.getChildren(), r = [], i = n.length; + for (let t2 = 0; t2 < i; t2++) { + let i2 = n[t2]; + i2 instanceof e19 ? r.push(i2.serialize()) : r.push(i2); + } + return { token: t, st: this._startIndex, ed: this._endIndex, children: r }; + } + _getIndexInParent(e29) { + let t = this.getChildren(), n = t.length; + for (let r = 0; r < n; r++) if (t[r] === e29) return r; + } + }; + var Qr = (function(e29) { + return e29[e29.NORMAL = 0] = `NORMAL`, e29[e29.FUNCTION = 1] = `FUNCTION`, e29[e29.LAMBDA = 2] = `LAMBDA`, e29; + })(Qr || {}); + var $r2 = 2e3; + var ei = new Be2($r2); + var ti = new Be2($r2); + var ni = class extends E { + constructor(...e29) { + super(...e29), E3(this, `_currentLexerNode`, new F3()), E3(this, `_upLevel`, 0), E3(this, `_segment`, ``), E3(this, `_bracketState`, []), E3(this, `_openBracketNormalIndexStack`, []), E3(this, `_squareBracketState`, 0), E3(this, `_bracesState`, 0), E3(this, `_singleQuotationState`, 0), E3(this, `_doubleQuotationState`, 0), E3(this, `_lambdaState`, false), E3(this, `_colonState`, false), E3(this, `_formulaErrorCount`, 0), E3(this, `_tableBracketState`, false); + } + dispose() { + this._resetTemp(), this._currentLexerNode.dispose(), ei.clear(), ti.clear(); + } + getUpLevel() { + return this._upLevel; + } + isColonClose() { + return this._colonState === false; + } + isColonOpen() { + return this._colonState === true; + } + isDoubleQuotationClose() { + return this._doubleQuotationState === 0; + } + isLambdaOpen() { + return this._lambdaState === true; + } + isLambdaClose() { + return this._lambdaState === false; + } + isSingleQuotationClose() { + return this._singleQuotationState === 0; + } + isBracesClose() { + return this._bracesState === 0; + } + isBracketClose() { + return this._bracketState.length === 0; + } + isSquareBracketClose() { + return this._squareBracketState === 0; + } + getCurrentLexerNode() { + return this._currentLexerNode; + } + getFunctionAndParameter(e29, t) { + let n = this._getCurrentParamIndex(e29, t); + if (n == null || n === D3.VALUE) return; + let r = n[0]; + if (typeof r == `string`) return; + let i = r.getParent(), a = r; + for (; i; ) { + let e30 = i.getToken(); + if (e30 !== `P_1` && !kt2(e30) && i.getStartIndex() !== -1) return { functionName: e30, paramIndex: i.getChildren().indexOf(a) }; + a = i, i = i.getParent(); + } + } + checkIfAddBracket(e29) { + let t = 0, n = e29.length - 1, r = e29[n]; + for (; (r === A3.CLOSE_BRACKET || r === ` `) && n >= 0; ) r === A3.CLOSE_BRACKET && t++, r = e29[--n]; + let i = this._getCurrentParamIndex(e29, e29.length - 2); + if (i == null || i === D3.VALUE) return 0; + let a = i[0]; + if (typeof a == `string`) return 0; + let o = a.getParent(), s = 0; + for (i[1] === A3.OPEN_BRACKET && s++; o; ) { + let e30 = o.getToken(); + e30 !== `P_1` && e30 !== A3.COLON && o.getStartIndex() !== -1 && e30.toUpperCase() !== `LAMBDA` && (t === 0 ? s += 1 : t--), o = o.getParent(); + } + return s; + } + sequenceNodesBuilder(e29) { + let t = ti.get(e29); + if (t) return [...t]; + let n = this._getSequenceArray(e29); + if (n.length === 0) return; + let r = this.getSequenceNode(n); + return ti.set(e29, [...r]), r; + } + convertRefersToAbsolute(e29, t, n, r = ``) { + let i = this.sequenceNodesBuilder(e29); + if (i == null) return e29; + let a = ``; + e29.substring(0, 1) === O4.EQUALS && (a = O4.EQUALS); + for (let e30 = 0, a2 = i.length; e30 < a2; e30++) { + let o = i[e30]; + if (typeof o != `string` && o.nodeType === Xr.REFERENCE) { + let { token: s, endIndex: c } = o, l = Jr2(s); + if (l == null) continue; + let { range: u, sheetName: d, unitId: f } = l, p = Jn2({ range: { ...u, startAbsoluteRefType: t, endAbsoluteRefType: n }, unitId: f, sheetName: d || r }), m = p.length - s.length; + i[e30] = { ...o, token: p, endIndex: c + m }; + for (let t2 = e30 + 1; t2 < a2; t2++) { + let e31 = i[t2]; + typeof e31 != `string` && (e31.startIndex += m, e31.endIndex += m); + } + } + } + return `${a}${Zr2(i)}`; + } + moveFormulaRefOffset(t, n, r, i = false) { + let a = this.sequenceNodesBuilder(t); + if (a == null) return t; + let o = []; + for (let t2 = 0, s = a.length; t2 < s; t2++) { + let s2 = a[t2]; + if (typeof s2 == `string` || s2.nodeType !== Xr.REFERENCE) { + o.push(s2); + continue; + } + let { token: c } = s2, l = Jr2(c), { sheetName: u, unitId: d } = l, f = l.range; + if (!i && f.startAbsoluteRefType === V.ALL && f.endAbsoluteRefType === V.ALL) { + o.push(s2); + continue; + } else f = Do(f, n, r, i); + let p = ``; + p = Fa(f) ? Jn2({ range: f, unitId: d, sheetName: u }) : D3.REF, o.push({ ...s2, token: p }); + } + return `=${Zr2(o)}`; + } + _formulaSpellCheck() { + if (this._currentLexerNode.getChildren().length === 0) return true; + let e29 = this._currentLexerNode.getChildren()[0]; + return e29 instanceof F3 ? true : !!(this._passArrayOperator(e29) || Ge.has(e29) || Je.has(e29) || e29 === Ye.AT || e29 === A3.COMMA || e29 === A3.COLON || e29 === A3.OPEN_BRACKET); + } + _passArrayOperator(e29) { + if (e29.length === 0 || !(e29[0] === `{` && e29[e29.length - 1] === `}`)) return false; + let t = this._currentLexerNode.getChildren(), n = t[t.length - 1]; + return n instanceof F3 ? false : !!Ge.has(n); + } + getSequenceNode(e29) { + let t = [], n = false; + for (let r = 0, i = e29.length; r < i; r++) { + let a = e29[r], o = e29[r - 1], { segment: s, currentString: c } = a; + if (c === A3.DOUBLE_QUOTATION && (n = true), (s !== `` || r === 0) && r !== i - 1) { + t.push(c); + continue; + } + let l = (o == null ? void 0 : o.segment) || ``, u = r - l.length, d = r - 1, f = r - 1; + if (r === i - 1 && this._isLastMergeString(c) && (l += c, d += 1), l === `` || We2.has(l)) { + t.push(c); + continue; + } + let p = l.trim(), m = er2(p); + n === true && p[p.length - 1] === A3.DOUBLE_QUOTATION && p[0] !== A3.OPEN_BRACES ? (n = false, this._processPushSequenceNode(t, Xr.STRING, l, u, d, f)) : gn2(m) && $n2(m) ? this._processPushSequenceNode(t, Xr.REFERENCE, l, u, d, f) : D.isStringNumber(p) ? this._processPushSequenceNode(t, Xr.NUMBER, l, u, d, f) : p.length > 0 && this._processPushSequenceNode(t, Xr.FUNCTION, l, u, d, f), (r !== i - 1 || !this._isLastMergeString(c)) && t.push(c); + } + return this._mergeSequenceNodeReference(t); + } + _processPushSequenceNode(e29, t, n, r, i, a) { + this._pushSequenceNode(e29, { nodeType: t, token: n, startIndex: r, endIndex: i }, a); + } + _getCurrentParamIndex(e29, t) { + return this._nodeMaker(e29, void 0, t); + } + _isLastMergeString(e29) { + return e29 === A3.DOUBLE_QUOTATION || D.isStringNumber(e29) || !kt2(e29); + } + _mergeSequenceNodeReference(e29) { + let t = [], n = e29.length, r = 0; + for (; r < n; ) { + let n2 = e29[r]; + if (typeof n2 == `string`) { + let i = e29[r - 1]; + if (n2.trim() === A3.CLOSE_BRACES && i != null && typeof i != `string` && i.nodeType === Xr.FUNCTION && i.token.trim().substring(0, 1) === A3.OPEN_BRACES) { + i.nodeType = Xr.ARRAY, i.token += n2, i.endIndex += n2.length, r++; + continue; + } + t.push(n2); + } else { + let i = e29[r + 1], a = e29[r + 2]; + i === A3.COLON && typeof n2 != `string` && a != null && typeof a != `string` && $n2((n2.token + i + a.token).trim()) && (n2.nodeType = Xr.REFERENCE, n2.token += i + a.token, n2.endIndex = a.endIndex, r += 2), t.push(n2); + } + r++; + } + return this._minusSplitSequenceNode(t); + } + _minusSplitSequenceNode(e29) { + let t = []; + for (let n of e29) { + if (typeof n != `string`) { + let e30 = n.token.match(/^(\s*([-@+]\s*)+)(.*)$/); + if (e30) { + let r = e30[1], i = e30[3]; + if ($n2(i.trim())) { + let e31 = r.length, a = n.startIndex, o = n.startIndex + e31 - 1, s = { nodeType: Xr.NORMAL, token: r, startIndex: a, endIndex: o }, c = { nodeType: Xr.REFERENCE, token: i, startIndex: o + 1, endIndex: n.endIndex }; + t.push(s), t.push(c); + continue; + } + } + } + t.push(n); + } + return t; + } + _pushSequenceNode(e29, t, n) { + let r = n - t.startIndex + 1; + e29.splice(e29.length - r, r, t); + } + nodeMakerTest(e29) { + return this._nodeMaker(e29); + } + treeBuilder(e29, t = true, n) { + if (t === true) { + var r; + let t2 = ei.get(e29), i2 = n && ((r = this._simpleCheckDefinedName) == null ? void 0 : r.call(this, e29, n)); + if (t2 && !i2) return t2; + } + this._resetCurrentLexerNode(), this._currentLexerNode.setToken(`R_1`); + let i = [], a = this._nodeMaker(e29, i); + if (a === D3.VALUE || i.length === 0) return a; + let o = false, s = ``, c = []; + if (n) { + let { hasDefinedName: e30, sequenceString: t2, definedNames: r2 } = this._handleDefinedName(i, n); + o = e30, s = t2, c = r2; + } + if (o && (this._resetCurrentLexerNode(), this._currentLexerNode.setToken(`R_1`), a = this._nodeMaker(`=${s}`), a === D3.VALUE)) return a; + let l = this._getTopNode(this._currentLexerNode); + if (l && (this._currentLexerNode = l), t) { + if (!this._suffixExpressionHandler(this._currentLexerNode)) return D3.VALUE; + ei.set(e29, this._currentLexerNode); + } + return o && this._currentLexerNode.setDefinedNames(c), this._currentLexerNode; + } + _handleDefinedName(e29, t) { + let { unitId: n, getValueByName: r, getSheetName: i } = t; + if (n == null) return { sequenceString: ``, hasDefinedName: false, definedNames: [] }; + let a = this.getSequenceNode(e29), o = ``, s = false, c = []; + for (let e30 = 0, i2 = a.length; e30 < i2; e30++) { + let i3 = a[e30]; + if (typeof i3 == `string`) { + o += i3; + continue; + } + let { nodeType: l, token: u } = i3, d = u; + if (l === Xr.REFERENCE || l === Xr.FUNCTION) { + l === Xr.FUNCTION && (d = this._getHasSheetNameDefinedName(u, n, t)); + let e31 = r(n, d); + if (e31) { + let n2 = e31.formulaOrRefString, r2 = this._handleNestedDefinedName(n2, t); + if (typeof r2 != `object` || !r2) o += r2 || D3.NAME, s = true, c.push(d); + else if (typeof r2 == `object`) { + let { sequenceString: e32, definedNames: t2 } = r2; + o += e32, t2.forEach((e33) => { + c.push(e33); + }), s = true; + } + } else this._checkDefinedNameDirty(d, t) ? (o += D3.NAME, s = true, c.push(d)) : o += d; + } else o += d; + } + return { sequenceString: o, hasDefinedName: s, definedNames: c }; + } + _getHasSheetNameDefinedName(e29, t, n) { + if (!e29.includes(`!`)) return e29; + let r = e29.split(`!`); + if (r.length !== 2) return e29; + let i = r[0], a = r[1].trim(), o = n.getValueByName(t, a); + if (!o) return e29; + let s = o.localSheetId; + if (s !== void 0) { + if (s === `AllDefaultWorkbook` || i === n.getSheetName(t, s)) return a; + } else return a; + return e29; + } + _handleNestedDefinedName(e29, t) { + let n = [], r = this._nodeMaker(e29, n); + return r === D3.VALUE || n.length === 0 ? r : this._handleDefinedName(n, t); + } + _simpleCheckDefinedName(e29, t) { + let { getDirtyDefinedNameMap: n, unitId: r } = t, i = n(), a = r; + if (a != null && i[a] != null) { + let t2 = Object.keys(i[a]); + for (let n2 = 0, r2 = t2.length; n2 < r2; n2++) { + let r3 = t2[n2]; + if (e29.indexOf(r3) > -1) return true; + } + } + return false; + } + _checkDefinedNameDirty(e29, t) { + let { getDirtyDefinedNameMap: n, unitId: r } = t, i = n(), a = r; + if (a != null && i[a] != null) { + let t2 = Object.keys(i[a]); + for (let n2 = 0, r2 = t2.length; n2 < r2; n2++) if (t2[n2] === e29) return true; + } + return false; + } + _suffixExpressionHandler(e29) { + let t = e29.getChildren(); + if (!t) return false; + let n = t.length, r = [], i = [], a = true; + for (let e30 = 0; e30 < n; e30++) { + let n2 = t[e30]; + if (n2 instanceof F3) a = this._suffixExpressionHandler(n2), r.push(n2); + else { + let a2 = n2.trim(); + if (a2 === ``) continue; + if (Ge.has(a2)) { + if (a2 === O4.PLUS && this._deletePlusForPreNode(t[e30 - 1])) continue; + if (a2 !== O4.PLUS && a2 !== O4.MINUS && this._deletePlusForPreNode(t[e30 - 1])) return false; + for (; i.length > 0; ) { + var o; + let e31 = (o = i[i.length - 1]) == null ? void 0 : o.trim(); + if (!e31 || e31 === A3.OPEN_BRACKET) break; + let t2 = We2.get(e31), n3 = We2.get(a2); + if (t2 === void 0 || n3 === void 0) break; + if (n3 >= t2) r.push(i.pop()); + else break; + } + i.push(n2); + } else if (a2 === A3.OPEN_BRACKET) i.push(n2); + else if (a2 === A3.CLOSE_BRACKET) this._processSuffixExpressionCloseBracket(r, i, t, e30); + else { + if (this._checkCloseBracket(t[e30 - 1])) return false; + r.push(n2); + } + } + } + return a ? this._processSuffixExpressionRemain(r, i, e29) : false; + } + _processSuffixExpressionRemain(e29, t, n) { + let r = e29[e29.length - 1]; + for (; t.length > 0; ) { + let n2 = t.pop(); + if (!(r instanceof F3) && (n2 === A3.OPEN_BRACKET || n2 === A3.CLOSE_BRACKET)) return false; + e29.push(n2); + } + return n.setChildren(e29), true; + } + _processSuffixExpressionCloseBracket(e29, t, n, r) { + if (this._checkOpenBracket(n[r - 1]) || this._checkOperator(n[r - 1])) return false; + for (; t.length > 0; ) { + var i; + let n2 = (i = t[t.length - 1]) == null ? void 0 : i.trim(); + if (!n2) break; + if (n2 === A3.OPEN_BRACKET) { + t.pop(); + break; + } + e29.push(t.pop()); + } + } + _checkCloseBracket(e29) { + return e29 === A3.CLOSE_BRACKET || e29 instanceof F3; + } + _checkOpenBracket(e29) { + return e29 === A3.OPEN_BRACKET; + } + _checkOperator(e29) { + return e29 == null || e29 instanceof F3 ? false : Ge.has(e29); + } + _deletePlusForPreNode(e29) { + if (e29 == null) return true; + if (!(e29 instanceof F3)) { + let t = e29.trim(); + if (Ge.has(t) || t === A3.OPEN_BRACKET) return true; + } + return false; + } + _resetCurrentLexerNode() { + this._currentLexerNode = new F3(); + } + _resetSegment() { + this._segment = ``; + } + _openBracket(e29 = Qr.NORMAL) { + this._bracketState.push(e29); + } + _closeBracket() { + this._bracketState.pop(); + } + _openBracketNormalIndex() { + this._openBracketNormalIndexStack.push(this._currentLexerNode.getChildren().length - 1); + } + _getNodesByCurrentBracketNormalIndex() { + let e29 = this._openBracketNormalIndexStack.pop(); + if (e29 === void 0) return []; + let t = this._currentLexerNode.getChildren(); + return t.length === 0 ? [] : t.splice(e29); + } + _openSquareBracket() { + this._squareBracketState += 1; + } + _closeSquareBracket() { + --this._squareBracketState; + } + _getCurrentBracket() { + let e29 = this._bracketState; + return e29[e29.length - 1]; + } + _changeCurrentBracket(e29) { + let t = this._bracketState; + t[t.length - 1] = e29; + } + _openBraces() { + this._bracesState += 1; + } + _closeBraces() { + --this._bracesState; + } + _openSingleQuotation() { + this._singleQuotationState += 1; + } + _closeSingleQuotation() { + --this._singleQuotationState; + } + _openDoubleQuotation() { + this._doubleQuotationState += 1; + } + _closeDoubleQuotation() { + --this._doubleQuotationState; + } + _openLambda() { + this._lambdaState = true; + } + _closeLambda() { + this._lambdaState = false; + } + _openColon(e29) { + this._upLevel = e29, this._colonState = true; + } + _closeColon() { + this._upLevel = 0, this._colonState = false; + } + _isTableBracket() { + return this._tableBracketState; + } + _openTableBracket() { + this._tableBracketState = true; + } + _closeTableBracket() { + this._tableBracketState = false; + } + _formalErrorOccurred() { + this._formulaErrorCount += 1; + } + _hasFormalError() { + return this._formulaErrorCount > 0; + } + _getLastChildCurrentLexerNode() { + let e29 = this._currentLexerNode.getChildren(); + if (e29 && e29.length > 0) { + let t = e29[e29.length - 1]; + if (t instanceof F3) return t; + } + return false; + } + _getLastChildCurrent() { + let e29 = this._currentLexerNode.getChildren(); + return e29 && e29.length > 0 ? e29[e29.length - 1] : false; + } + _setParentCurrentLexerNode() { + let e29 = this._currentLexerNode.getParent(); + return e29 ? (this._currentLexerNode = e29, true) : false; + } + _setAncestorCurrentLexerNode() { + var e29; + let t = (e29 = this._currentLexerNode) == null ? void 0 : e29.getParent(), n = false; + if (t && t.getToken() === `L_1`) { + var r; + if (!(t == null || (r = t.getParent()) == null) && r.getParent()) { + var i; + let e30 = (i = this._currentLexerNode.getParent()) == null || (i = i.getParent()) == null ? void 0 : i.getParent(); + e30 && (this._currentLexerNode = e30), n = true; + } + } else if (t != null && t.getParent()) { + var a; + let e30 = (a = this._currentLexerNode.getParent()) == null ? void 0 : a.getParent(); + e30 && (this._currentLexerNode = e30), n = true; + } + for (let e30 = 0; e30 < this._upLevel; e30++) { + var o; + let e31 = (o = this._currentLexerNode) == null ? void 0 : o.getParent(); + e31 && (this._currentLexerNode = e31), n = !!this._currentLexerNode; + } + return n; + } + _segmentCount() { + return this._segment.trim().length; + } + _pushSegment(e29) { + this._segment += e29; + } + _pushNodeToChildren(e29, t = false) { + let n = e29; + if (n !== ``) { + let e30 = this._currentLexerNode.getChildren(); + if (!(n instanceof F3) && this.isColonOpen()) { + let e31 = new F3(); + e31.setToken(n), e31.setParent(this._currentLexerNode), n = e31; + } + t ? e30.unshift(n) : e30.push(n); + } + this.isColonOpen() && (this._setAncestorCurrentLexerNode(), this._closeColon()); + } + _setCurrentLexerNode(e29, t = false) { + this._pushNodeToChildren(e29, t), e29.setParent(this._currentLexerNode), this._currentLexerNode = e29; + } + _newAndPushCurrentLexerNode(e29, t, n = false) { + let r = new F3(); + r.setToken(e29), r.setIndex(t - e29.length, t - 1), this._setCurrentLexerNode(r, n); + } + _getTopNode(e29) { + let t = e29; + for (; t != null && t.getParent(); ) t = t.getParent(); + return t; + } + _removeLastChild() { + this._currentLexerNode.getChildren().splice(-1); + } + _formulaErrorLastTokenCheck(e29, t) { + let n = this._findPreviousToken(e29, t) || ``, r = e29.length - 1 === t; + if (!r && this._isOperatorToken(n) || r && Pt(n)) return true; + if (Je.has(n)) { + let n2 = this._findSecondLastNonSpaceToken(e29, t); + if (n2 == null || It(n2)) return true; + } + return false; + } + _findPreviousToken(e29, t) { + let n = t; + for (; n >= 0; ) { + let t2 = e29[n]; + if (t2 !== ` `) return t2; + n--; + } + } + _findSecondLastNonSpaceToken(e29, t) { + let n = t, r = 0; + for (; n >= 0; ) { + let t2 = e29[n]; + if (t2 !== ` ` && (r++, r === 2)) return t2; + n--; + } + return null; + } + _findNextToken(e29, t) { + let n = t; + for (; n >= 0; ) { + let t2 = e29[n]; + if (t2 !== ` `) return t2; + n++; + } + } + _unexpectedEndingTokenExcludeOperator(e29) { + return e29 === A3.OPEN_BRACKET || e29 === A3.COMMA || e29 === O4.EQUALS || e29 === ``; + } + _unexpectedEndingToken(e29) { + return !!(this._isOperatorToken(e29) || this._unexpectedEndingTokenExcludeOperator(e29)); + } + _isOperatorToken(e29) { + return !!Ge.has(e29); + } + _getSequenceArray(e29) { + let t = []; + return this._nodeMaker(e29, t), t; + } + _resetTemp() { + this._currentLexerNode = new F3(), this._upLevel = 0, this._segment = ``, this._bracketState = [], this._bracesState = 0, this._singleQuotationState = 0, this._doubleQuotationState = 0, this._lambdaState = false, this._colonState = false, this._formulaErrorCount = 0; + } + _checkErrorState() { + return !!(this._bracketState.length > 0 || this._bracesState > 0 || this._singleQuotationState > 0 || this._doubleQuotationState > 0 || this._hasFormalError()); + } + _checkSimilarErrorToken(e29, t, n) { + let r = t; + if (e29 !== qe2.POUND) return true; + let i = n[++r]; + for (; i === ` `; ) i = n[++r]; + return !!kt2(i); + } + _checkIfErrorObject(e29, t) { + return !!this._findErrorObject(e29, t); + } + _findErrorObject(e29, t) { + for (let n = 0; n < He2.length; n++) { + let r = He2[n], i = t.slice(e29, e29 + r).join(``).toUpperCase(); + if (Ve2.has(i)) return i; + } + } + _nodeMaker(e29, t, n) { + let r = e29.replace(/\r\n$|\r|\n/g, ` `); + r.substring(0, 1) === O4.EQUALS && (r = r.substring(1)); + let i = r.split(``), a = i.length; + this._resetTemp(), this._formulaErrorLastTokenCheck(i, a - 1) && this._formalErrorOccurred(); + let o = 0; + for (; o < a; ) { + let e30 = i[o]; + if (n === o) return [this._currentLexerNode, e30]; + if (e30 === qe2.POUND && this.isSingleQuotationClose() && this.isDoubleQuotationClose() && this.isBracesClose() && this.isSquareBracketClose() && this._checkIfErrorObject(o, i)) { + let e31 = this._findErrorObject(o, i); + if (e31 == null) return D3.VALUE; + this._pushNodeToChildren(e31); + for (let n2 = 0; n2 < e31.length; n2++) { + let e32 = i[o]; + this._pushSegment(e32), this._addSequenceArray(t, e32, o), o++; + } + this._resetSegment(); + continue; + } else if (e30 === A3.OPEN_BRACKET && this.isSingleQuotationClose() && this.isDoubleQuotationClose()) if (this._segmentCount() > 0 || this.isLambdaOpen()) { + this.isLambdaClose() && (this._newAndPushCurrentLexerNode(this._segment, o), this._resetSegment()), this._openBracket(Qr.FUNCTION), this._closeLambda(); + let n2 = i[o + 1]; + if (n2 && n2 === A3.CLOSE_BRACKET) { + if (!this._setParentCurrentLexerNode() && o !== a - 1) return D3.VALUE; + this._addSequenceArray(t, e30, o), o++, this._addSequenceArray(t, n2, o), o++, this._closeBracket(); + continue; + } else n2 && this._newAndPushCurrentLexerNode(`P_1`, o); + } else this._pushNodeToChildren(e30), this._openBracket(Qr.NORMAL), this._openBracketNormalIndex(), this._resetSegment(); + else if (e30 === A3.CLOSE_BRACKET && this.isSingleQuotationClose() && this.isDoubleQuotationClose()) { + this._formulaErrorLastTokenCheck(i, o - 1) && this._formalErrorOccurred(), this._pushNodeToChildren(this._segment), this._resetSegment(); + let t2 = this._getCurrentBracket(); + if (t2 === Qr.NORMAL) this._pushNodeToChildren(e30); + else if (t2 === Qr.FUNCTION) { + let e31 = i[o + 1]; + if (e31 && e31 === A3.OPEN_BRACKET) { + if (!this._setParentCurrentLexerNode() && o !== a - 1) return D3.VALUE; + this._newAndPushCurrentLexerNode(`L_1`, o, true), this._openLambda(); + } else if (!this._setAncestorCurrentLexerNode() && o !== a - 1) return D3.VALUE; + } else return D3.VALUE; + this._closeBracket(); + } else if (e30 === A3.OPEN_BRACES && this.isSingleQuotationClose() && this.isDoubleQuotationClose()) { + if (this._pushSegment(e30), this._openBraces(), !this._formulaSpellCheck()) return D3.VALUE; + } else if (e30 === A3.CLOSE_BRACES && this.isSingleQuotationClose() && this.isDoubleQuotationClose()) this._pushSegment(e30), this._pushNodeToChildren(this._segment), this._resetSegment(), this._closeBraces(); + else if (e30 === A3.OPEN_SQUARE_BRACKET && this.isSingleQuotationClose() && this.isDoubleQuotationClose()) this._segment.length > 0 && this._openTableBracket(), this._pushSegment(e30), this._openSquareBracket(); + else if (e30 === A3.CLOSE_SQUARE_BRACKET && this.isSingleQuotationClose() && this.isDoubleQuotationClose()) this._closeSquareBracket(), this.isSquareBracketClose() ? (this._pushSegment(e30), this._isTableBracket() && (this._pushNodeToChildren(this._segment), this._resetSegment()), this._closeTableBracket()) : this._pushSegment(e30); + else if (e30 === A3.DOUBLE_QUOTATION && this.isSingleQuotationClose() && this.isSquareBracketClose()) { + if (this.isDoubleQuotationClose()) this._openDoubleQuotation(); + else { + let e31 = i[o + 1]; + e31 && e31 === A3.DOUBLE_QUOTATION ? o++ : this._closeDoubleQuotation(); + } + this._pushSegment(e30); + } else if (e30 === A3.SINGLE_QUOTATION && this.isDoubleQuotationClose()) { + if (this.isSingleQuotationClose()) this._openSingleQuotation(), this._segmentCount() === 0 && this._resetSegment(); + else { + let n2 = i[o + 1]; + if (n2 && n2 === A3.SINGLE_QUOTATION) { + this._pushSegment(e30), this._addSequenceArray(t, e30, o), o++, this._pushSegment(n2), this._addSequenceArray(t, n2, o), o++; + continue; + } else this._closeSingleQuotation(); + } + this._pushSegment(e30); + } else if (e30 === A3.COMMA && this.isSingleQuotationClose() && this.isDoubleQuotationClose() && this.isBracesClose() && this.isSquareBracketClose()) { + this._formulaErrorLastTokenCheck(i, o - 1) && this._formalErrorOccurred(); + let e31 = this._getCurrentBracket(); + if (e31 === Qr.FUNCTION || e31 == null) { + if (this._pushNodeToChildren(this._segment), this._resetSegment(), !this._setParentCurrentLexerNode() && o !== a - 1 && e31 != null) return D3.VALUE; + this._newAndPushCurrentLexerNode(`P_1`, o); + } else { + let e32 = new F3(); + e32.setToken(`CUBE`); + let t2 = new F3(); + t2.setToken(`P_1`), t2.changeToParent(e32); + let n2 = this._currentLexerNode.getParent(); + if (n2 && n2.getToken() === A3.COLON) { + let r2 = n2.getParent(); + if (!r2) return D3.VALUE; + n2.changeToParent(t2), r2.setChildren([]), e32.changeToParent(r2); + } else return D3.VALUE; + this._changeCurrentBracket(Qr.FUNCTION), this._pushNodeToChildren(this._segment), this._resetSegment(), this._currentLexerNode = e32, this._newAndPushCurrentLexerNode(`P_1`, o); + } + } else if (e30 === A3.COLON && this.isSingleQuotationClose() && this.isDoubleQuotationClose() && this.isBracesClose() && this.isSquareBracketClose()) { + let t2 = new F3(); + t2.setToken(e30); + let n2 = new F3(); + n2.setToken(`P_1`), n2.setParent(t2); + let r2 = new F3(); + r2.setToken(`P_1`), r2.setParent(t2), t2.getChildren().push(n2, r2); + let i2 = t2, a2 = 0; + if (this._segmentCount() > 0) { + let e31, r3, s = 0, c = this._segment.trim(), l = c[0], u = c[1]; + if (l === Ye.MINUS && (e31 = new F3(), e31.setToken(Ye.MINUS), e31.setIndex(o - this._segment.length, o - this._segment.length), s++), l === Ye.AT || u === Ye.AT) { + r3 = new F3(), r3.setToken(Ye.AT); + let t3 = o - this._segment.length + s; + r3.setIndex(t3, t3), e31 && (e31.addChildren(r3), r3.setParent(e31)), s++; + } + if (s > 0 && (this._segment = c.slice(s)), a2 = s, r3) if (r3.addChildren(t2), t2.setParent(r3), r3.getParent()) { + let e32 = r3.getParent(); + e32 && (i2 = e32); + } else i2 = r3; + else e31 && (i2 = e31, e31.addChildren(t2), t2.setParent(e31)); + let d = new F3(); + d.setToken(this._segment), d.setParent(n2), d.setIndex(o - this._segment.length, o - 1), n2.getChildren().push(d), this._resetSegment(); + } else { + let e31 = this._getLastChildCurrentLexerNode(); + e31 && e31.changeToParent(n2); + } + this._setCurrentLexerNode(i2), this._currentLexerNode = r2, this._openColon(a2); + } else if (Je.has(e30) && this._checkSimilarErrorToken(e30, o, i) && this.isSingleQuotationClose() && this.isDoubleQuotationClose() && this.isSquareBracketClose() && this.isBracesClose()) { + this._pushNodeToChildren(this._segment); + let t2 = new F3(); + t2.setToken(e30), t2.setIndex(o - 1, o - 1); + let n2 = this._getLastChildCurrent(); + if (n2 instanceof F3) n2.changeToParent(t2); + else if (n2 === A3.CLOSE_BRACKET) { + let e31 = this._getNodesByCurrentBracketNormalIndex(); + t2.getChildren().push(...e31); + } else n2 !== false && (t2.getChildren().push(n2), this._removeLastChild()); + this._pushNodeToChildren(t2), t2.setParent(this._currentLexerNode), this._resetSegment(); + } else if (Ge.has(e30) && this.isSingleQuotationClose() && this.isDoubleQuotationClose() && this.isSquareBracketClose() && this.isBracesClose()) { + let n2 = this._segment.trim(); + if (e30 === O4.MINUS && n2 === ``) { + let n3 = this._findPreviousToken(i, o - 1) || ``, r2 = this._findNextToken(i, o + 1) || ``; + if (this._unexpectedEndingTokenExcludeOperator(n3) && this._isOperatorToken(r2)) { + this._pushNodeToChildren(`0`), this._pushNodeToChildren(O4.MINUS), this._addSequenceArray(t, e30, o), this._resetSegment(), o++; + continue; + } else if (this._unexpectedEndingToken(n3)) if (r2 === O4.PLUS) { + this._pushSegment(O4.MINUS), this._addSequenceArray(t, e30, o), this._addSequenceArray(t, O4.PLUS, o + 1), o += 2; + continue; + } else { + this._pushSegment(O4.MINUS), this._addSequenceArray(t, e30, o), o++; + continue; + } + } else if (this._segment.length > 0 && this._isScientificNotation(i, o, e30)) { + this._pushSegment(e30), this._addSequenceArray(t, e30, o), o++; + continue; + } else this._segment.length > 0 && n2 === `` ? n2 = this._segment : (this._pushNodeToChildren(this._segment), n2 = ``); + if (e30 === O4.LESS_THAN || e30 === O4.GREATER_THAN) { + let r2 = i[o + 1]; + if (r2 && Ge.has(e30 + r2)) { + this._pushNodeToChildren(n2 + e30 + r2), this._resetSegment(), this._addSequenceArray(t, e30, o), o++, this._addSequenceArray(t, r2, o), o++; + continue; + } else this._pushNodeToChildren(n2 + e30); + } else this._pushNodeToChildren(n2 + e30); + this._resetSegment(); + } else (this._segment !== `` || e30 !== ` `) && this._pushSegment(e30); + this._addSequenceArray(t, e30, o), o++; + } + if (this._pushNodeToChildren(this._segment), this._checkErrorState()) return D3.VALUE; + } + _isScientificNotation(e29, t, n) { + let r = e29[t - 2]; + if (r && Number.isNaN(Number(r)) || !(n === O4.MINUS || n === O4.PLUS)) return false; + let i = e29[t + 1]; + if (i && Number.isNaN(Number(i))) return false; + let a = e29[t - 1]; + return a && a.toUpperCase() === `E`; + } + _addSequenceArray(e29, t, n) { + e29 == null || e29.push({ segment: this._segment, currentString: t, cur: n, currentLexerNode: this._currentLexerNode }); + } + getNewFormulaWithPrefix(e29, t) { + return null; + } + getFormulaExprTree(e29, t, n, r, i) { + return null; + } + }; + function ri2(e29, t, n, r, i, a, o) { + let s = (o == null ? void 0 : o.f) || ``, c = (o == null ? void 0 : o.si) || ``, l = ka(s), u = Aa(c), d = e29.getValue(i, a), f = (d == null ? void 0 : d.f) || ``, p = (d == null ? void 0 : d.si) || ``, m = (d == null ? void 0 : d.x) || 0, h = (d == null ? void 0 : d.y) || 0; + function g2() { + if (ka(f) && Aa(p) && m === 0 && h === 0) { + var e30; + let t2 = n == null || (e30 = n[p]) == null ? void 0 : e30.f; + t2 ? r.set(p, t2) : r.set(p, f); + } + } + l && u ? (p !== c && g2(), e29.setValue(i, a, { f: s, si: c }), n[c] = { f: s, r: i, c: a }, t.setValue(i, a, { f: s, si: c })) : l && !u ? (f !== s && g2(), e29.setValue(i, a, { f: s }), t.setValue(i, a, { f: s })) : !l && u ? (p !== c && g2(), e29.setValue(i, a, { f: ``, si: c })) : !l && !u && e29.getValue(i, a) && (g2(), e29.realDeleteValue(i, a), t.setValue(i, a, null)); + } + function ii2(e29, t, n, r) { + let i = e29 == null ? void 0 : e29.getValue(n, r); + if (i == null) return true; + let a = []; + e29.forValue((e30, t2, o2) => { + e30 === n && t2 === r || G.intersects(o2, i) && a.push(o2); + }); + let { startRow: o, startColumn: s, endRow: c, endColumn: l } = i; + for (let e30 = o; e30 <= c; e30++) for (let n2 = s; n2 <= l; n2++) { + let r2 = false, i2 = Ia(e30, n2); + a.some((e31) => G.contains(e31, i2) ? (r2 = true, true) : false), r2 || t.realDeleteValue(e30, n2); + } + } + var ai2 = class extends E { + constructor(e29, t) { + super(), this._univerInstanceService = e29, this._lexerTreeBuilder = t, E3(this, `_arrayFormulaRange`, {}), E3(this, `_arrayFormulaCellData`, {}), E3(this, `_unitImageFormulaData`, {}); + } + dispose() { + super.dispose(), this._arrayFormulaRange = {}, this._arrayFormulaCellData = {}, this._unitImageFormulaData = {}; + } + clearPreviousArrayFormulaCellData(e29) { + Object.keys(e29).forEach((t) => { + let n = e29[t]; + if (n == null) return true; + Object.keys(n).forEach((e30) => { + var r, i; + let a = n[e30], o = (r = this._arrayFormulaRange) == null || (r = r[t]) == null ? void 0 : r[e30]; + if (o == null) return true; + let s = new Sa(o), c = new Sa(); + if (((i = this._arrayFormulaCellData[t]) == null ? void 0 : i[e30]) != null) { + var l; + c = new Sa((l = this._arrayFormulaCellData[t]) == null ? void 0 : l[e30]); + } + a.forValue((e31, t2) => { + let n2 = s.getValue(e31, t2); + if (n2 == null) return true; + let { startRow: r2, startColumn: i2, endRow: a2, endColumn: o2 } = n2; + for (let e32 = r2; e32 <= a2; e32++) for (let t3 = i2; t3 <= o2; t3++) c.setValue(e32, t3, null); + s.realDeleteValue(e31, t2); + }), this._arrayFormulaCellData[t] && (this._arrayFormulaCellData[t][e30] = c.getData()); + }); + }); + } + mergeArrayFormulaCellData(e29) { + Object.keys(e29).forEach((t) => { + let n = e29[t]; + if (n == null) return true; + this._arrayFormulaRange[t] == null && (this._arrayFormulaRange[t] = {}), this._arrayFormulaCellData[t] == null && (this._arrayFormulaCellData[t] = {}), Object.keys(n).forEach((e30) => { + var r, i; + let a = n[e30], o = new Sa((r = this._arrayFormulaRange[t]) == null ? void 0 : r[e30]), s = new Sa((i = this._arrayFormulaCellData[t]) == null ? void 0 : i[e30]); + a.forValue((e31, t2) => { + let n2 = o == null ? void 0 : o.getValue(e31, t2); + if (n2 == null) return true; + let { startRow: r2, startColumn: i2, endRow: a2, endColumn: c } = n2; + for (let e32 = r2; e32 <= a2; e32++) for (let t3 = i2; t3 <= c; t3++) s.setValue(e32, t3, null); + }), a.forValue((e31, t2, n2) => { + s.setValue(e31, t2, n2); + }), this._arrayFormulaCellData[t] && (this._arrayFormulaCellData[t][e30] = s.getData()); + }); + }); + } + getFormulaData() { + let e29 = {}, t = this._univerInstanceService.getAllUnitsForType(O.UNIVER_SHEET); + return t.length === 0 || t.forEach((t2) => { + let n = t2.getUnitId(); + e29[n] = {}, t2.getSheets().forEach((t3) => { + let r = t3.getCellMatrix(); + oi2(e29, n, t3.getSheetId(), r); + }); + }), e29; + } + getSheetFormulaData(e29, t) { + let n = {}, r = this._univerInstanceService.getUnit(e29); + if (r == null) return {}; + n[e29] = {}; + let i = r.getSheetBySheetId(t); + return i == null ? {} : (oi2(n, e29, t, i.getCellMatrix()), n[e29][t]); + } + getArrayFormulaRange() { + return this._arrayFormulaRange; + } + setArrayFormulaRange(e29) { + this._arrayFormulaRange = e29; + } + getArrayFormulaCellData() { + return this._arrayFormulaCellData; + } + setArrayFormulaCellData(e29) { + this._arrayFormulaCellData = e29; + } + getUnitImageFormulaData() { + return this._unitImageFormulaData; + } + setUnitImageFormulaData(e29) { + this._unitImageFormulaData = e29; + } + mergeArrayFormulaRange(e29) { + Object.keys(e29).forEach((t) => { + let n = e29[t]; + if (n == null) return true; + this._arrayFormulaRange[t] || (this._arrayFormulaRange[t] = {}), Object.keys(n).forEach((e30) => { + var r; + let i = new Sa(n[e30]), a = new Sa((r = this._arrayFormulaRange[t]) == null ? void 0 : r[e30]); + i.forValue((e31, t2, n2) => { + a.setValue(e31, t2, n2); + }), this._arrayFormulaRange[t] && (this._arrayFormulaRange[t][e30] = a.getData()); + }); + }); + } + mergeUnitImageFormulaData(e29) { + let t = Object.keys(e29); + for (let n = 0; n < t.length; n++) { + let r = t[n], i = e29[r]; + if (!i) continue; + this._unitImageFormulaData[r] || (this._unitImageFormulaData[r] = {}); + let a = Object.keys(i); + for (let e30 = 0; e30 < a.length; e30++) { + let t2 = a[e30], n2 = i[t2]; + n2 && (this._unitImageFormulaData[r][t2] || (this._unitImageFormulaData[r][t2] = new Sa()), n2.forValue((e31, n3, i2) => { + this._unitImageFormulaData[r][t2].setValue(e31, n3, i2); + })); + } + } + } + deleteArrayFormulaRange(e29, t, n, r) { + var i; + let a = (i = this._arrayFormulaRange[e29]) == null ? void 0 : i[t]; + if (a == null) return; + let o = new Sa(a); + o.getValue(n, r) && (o.realDeleteValue(n, r), this._arrayFormulaRange[e29] && (this._arrayFormulaRange[e29][t] = o.getData())); + } + getCalculateData() { + let e29 = this._univerInstanceService.getAllUnitsForType(O.UNIVER_SHEET), t = {}, n = {}, r = {}; + for (let i of e29) { + let e30 = i.getUnitId(), a = i.getSheets(), o = {}, s = {}; + for (let e31 of a) { + let t2 = e31.getSheetId(), n2 = e31.getConfig(); + o[t2] = { cellData: new Sa(n2.cellData), rowCount: n2.rowCount, columnCount: n2.columnCount, rowData: n2.rowData, columnData: n2.columnData, defaultRowHeight: n2.defaultRowHeight, defaultColumnWidth: n2.defaultColumnWidth }, s[e31.getName()] = e31.getSheetId(); + } + t[e30] = o, n[e30] = i.getStyles(), r[e30] = s; + } + return { allUnitData: t, unitStylesData: n, unitSheetNameMap: r }; + } + getHiddenRowsFiltered() { + let e29 = this._univerInstanceService.getAllUnitsForType(O.UNIVER_SHEET), t = {}; + for (let r of e29) { + let e30 = r.getUnitId(), i = r.getSheets(); + t[e30] = {}; + for (let r2 of i) { + let i2 = r2.getSheetId(); + t[e30][i2] = {}; + let a = r2.getRowCount() - 1, o = {}; + for (let e31 = 0; e31 <= a; e31++) r2.getRowVisible(e31) || (o[e31] = { hd: A.TRUE }); + t[e30][i2] = o; + } + } + return t; + } + updateFormulaData(e29, t, n) { + let r = new Sa(n), i = this._getSheetFormulaIdMap(e29, t), a = /* @__PURE__ */ new Map(), o = this.getFormulaData(); + o[e29] == null && (o[e29] = {}); + let s = o[e29]; + s[t] == null && (s[t] = {}); + let c = new Sa(s[t] || {}), l = new Sa(); + return r.forValue((e30, t2, n2) => { + ri2(c, l, i, a, e30, t2, n2); + }), c.forValue((e30, t2, n2) => { + let r2 = (n2 == null ? void 0 : n2.f) || ``, o2 = (n2 == null ? void 0 : n2.si) || ``; + if (Aa(o2)) { + let s2 = i == null ? void 0 : i[o2], u = a.get(o2); + if (s2 && !ka(r2)) { + let n3 = s2.f, r3 = t2 - s2.c, i2 = e30 - s2.r; + c.setValue(e30, t2, { f: n3, si: o2, x: r3, y: i2 }), l.setValue(e30, t2, { f: n3, si: o2, x: r3, y: i2 }); + } else if (typeof u == `string`) { + let r3 = (n2 == null ? void 0 : n2.x) || 0, i2 = (n2 == null ? void 0 : n2.y) || 0, s3 = this._lexerTreeBuilder.moveFormulaRefOffset(u, r3, i2); + a.set(o2, { r: e30, c: t2, f: s3 }), c.setValue(e30, t2, { f: s3, si: o2 }), l.setValue(e30, t2, { f: s3, si: o2 }); + } else if (typeof u == `object`) { + let n3 = t2 - u.c, r3 = e30 - u.r; + c.setValue(e30, t2, { f: u.f, si: o2, x: n3, y: r3 }), l.setValue(e30, t2, { f: u.f, si: o2, x: n3, y: r3 }); + } + } + }), l.getMatrix(); + } + updateArrayFormulaRange(e29, t, n) { + var r; + let i = (r = this._arrayFormulaRange[e29]) == null ? void 0 : r[t]; + if (!i) return; + let a = new Sa(i); + new Sa(n).forValue((e30, t2, n2) => { + a.realDeleteValue(e30, t2); + }); + } + updateArrayFormulaCellData(e29, t, n) { + var r, i; + let a = (r = this._arrayFormulaRange[e29]) == null ? void 0 : r[t]; + if (!a) return; + let o = new Sa(a), s = (i = this._arrayFormulaCellData[e29]) == null ? void 0 : i[t]; + if (!s) return; + let c = new Sa(s); + new Sa(n).forValue((e30, t2, n2) => { + ii2(o, c, e30, t2); + }); + } + updateImageFormulaData(e29, t, n) { + var r; + let i = (r = this._unitImageFormulaData[e29]) == null ? void 0 : r[t]; + i && new Sa(n).forValue((e30, t2) => { + i.realDeleteValue(e30, t2); + }); + } + getFormulaStringByCell(e29, t, n, r) { + let i = this._univerInstanceService.getUnit(r); + if (i == null) return null; + let a = i.getSheetBySheetId(n); + if (a == null) return null; + let o = a.getCellMatrix(), s = o.getValue(e29, t); + if (s == null) return null; + let { f: c, si: l } = s; + if (ka(c)) return c; + if (Aa(l)) { + let n2 = null; + return o.forValue((r2, i2, a2) => { + if (a2 == null) return true; + let { f: o2, si: s2 } = a2; + if (ka(o2) && l === s2) return n2 = this._lexerTreeBuilder.moveFormulaRefOffset(o2, t - i2, e29 - r2), false; + }), n2; + } + return null; + } + getFormulaDirtyRanges() { + let e29 = this.getFormulaData(), t = []; + for (let n in e29) { + let r = e29[n]; + if (!r) continue; + let i = this._univerInstanceService.getUnit(n); + if (i) for (let e30 in r) { + let a = r[e30]; + if (!a) continue; + let o = i.getSheetBySheetId(e30); + if (!o) continue; + let s = {}; + for (let e31 of Object.keys(a)) { + let t2 = Number(e31); + for (let e32 in a[t2]) { + let n2 = Number(e32), r2 = o.getCellRaw(t2, n2), i2 = ka(r2 == null ? void 0 : r2.f) || Aa(r2 == null ? void 0 : r2.si), a2 = (r2 == null ? void 0 : r2.v) === void 0 || (r2 == null ? void 0 : r2.v) === null || (r2 == null ? void 0 : r2.v) === ``; + if (!(i2 && a2)) continue; + s[n2] || (s[n2] = []); + let c = s[n2].slice(-1)[0]; + c && c.endRow === t2 - 1 ? c.endRow = t2 : s[n2].push({ startRow: t2, endRow: t2 }); + } + } + for (let r2 in s) { + let i2 = s[r2]; + for (let a2 = 0; a2 < i2.length; a2++) { + let o2 = i2[a2]; + t.push({ unitId: n, sheetId: e30, range: { rangeType: B.NORMAL, startRow: o2.startRow, endRow: o2.endRow, startColumn: Number(r2), endColumn: Number(r2) } }); + } + } + } + } + return t; + } + _getSheetFormulaIdMap(e29, t) { + let n = {}, r = this._univerInstanceService.getUnit(e29); + if (r == null) return n; + let i = r.getSheetBySheetId(t); + return i == null || i.getCellMatrix().forValue((e30, t2, r2) => { + if (r2 == null) return true; + let { f: i2, si: a } = r2; + ka(i2) && Aa(a) && (n[a] = { f: i2, r: e30, c: t2 }); + }), n; + } + }; + ai2 = dr2([P5(0, Mu), P5(1, Inject(ni))], ai2); + function oi2(e29, t, n, r) { + e29[t] || (e29[t] = {}), e29[t][n] || (e29[t][n] = {}); + let i = /* @__PURE__ */ new Map(), a = new Sa(e29[t][n]); + r.forValue((e30, t2, n2) => { + let r2 = (n2 == null ? void 0 : n2.f) || ``, o2 = (n2 == null ? void 0 : n2.si) || ``, s = ka(r2), c = Aa(o2); + s && c ? (a.setValue(e30, t2, { f: r2, si: o2 }), i.set(o2, { f: r2, r: e30, c: t2 })) : s && !c ? a.setValue(e30, t2, { f: r2 }) : !s && c && a.setValue(e30, t2, { f: ``, si: o2 }); + }), a.forValue((e30, t2, n2) => { + let r2 = (n2 == null ? void 0 : n2.f) || ``, o2 = (n2 == null ? void 0 : n2.si) || ``; + if (Aa(o2) && !ka(r2)) { + let n3 = i.get(o2); + if (n3) { + let r3 = n3.f, i2 = t2 - n3.c, s = e30 - n3.r; + a.setValue(e30, t2, { f: r3, si: o2, x: i2, y: s }); + } else a.realDeleteValue(e30, t2); + } + }); + let o = a.getMatrix(); + return { [t]: { [n]: o } }; + } + var si2 = /* @__PURE__ */ Symbol(`EMPTY_CELL`); + var ci2 = new class { + constructor() { + E3(this, `_cache`, /* @__PURE__ */ new Map()), E3(this, `_continueBuildingCache`, /* @__PURE__ */ new Map()); + } + set(e29, t, n, r, i, a = false) { + if (!this.shouldContinueBuildingCache(e29, t, n, i) && !a) return; + let o = this._cache.get(e29); + o == null && (o = /* @__PURE__ */ new Map(), this._cache.set(e29, o)); + let s = o.get(t); + s == null && (s = /* @__PURE__ */ new Map(), o.set(t, s)); + let c = s.get(n); + if (c == null && (c = /* @__PURE__ */ new Map(), s.set(n, c)), a) { + for (let [e30, t2] of c) if (t2.has(i)) { + t2.delete(i); + break; + } + } + let l = typeof r == `string` ? r.toLowerCase() : r; + (l === `` || l === null) && (l = si2); + let u = c.get(l); + u == null && (u = /* @__PURE__ */ new Set(), c.set(l, u)), u.add(i); + } + getCellValuePositions(e29, t, n) { + var r; + return (r = this._cache.get(e29)) == null || (r = r.get(t)) == null ? void 0 : r.get(n); + } + getCellPositions(e29, t, n, r, i) { + var a; + let o = typeof r == `string` ? r.toLowerCase() : r; + (o === `` || o === null) && (o = si2); + let s = (a = this._cache.get(e29)) == null || (a = a.get(t)) == null || (a = a.get(n)) == null ? void 0 : a.get(o); + return s && [...s].filter((e30) => i.some(([t2, n2]) => e30 >= t2 && e30 <= n2)); + } + setContinueBuildingCache(e29, t, n, r, i) { + if (n === -1 || r === -1 || i === -1) return; + let a = this._continueBuildingCache.get(e29); + a == null && (a = /* @__PURE__ */ new Map(), this._continueBuildingCache.set(e29, a)); + let o = a.get(t); + o == null && (o = /* @__PURE__ */ new Map(), a.set(t, o)); + let s = o.get(n); + if (s == null) { + s = new IntervalTree(), s.insert([r, i]), o.set(n, s); + return; + } + this._handleNewInterval(s, r, i); + } + shouldContinueBuildingCache(e29, t, n, r) { + var i; + if (n === -1 || r === -1) return false; + let a = (i = this._continueBuildingCache.get(e29)) == null || (i = i.get(t)) == null ? void 0 : i.get(n); + return a ? a.search([r, r]).length === 0 : true; + } + canUseCache(e29, t, n, r, i) { + var a; + let o = (a = this._continueBuildingCache.get(e29)) == null || (a = a.get(t)) == null ? void 0 : a.get(n); + if (n === -1 || r === -1 || i === -1 || !o) return { rowsInCache: [], rowsNotInCache: [] }; + let s = o.search([r, i]); + if (s.length === 0) return { rowsInCache: [], rowsNotInCache: [] }; + s.sort((e30, t2) => e30[0] - t2[0]); + let c = [], l = [], u = r; + for (let e30 = 0; e30 < s.length; e30++) { + let [t2, n2] = s[e30]; + if (u >= t2) { + if (i <= n2) { + c.push([u, i]); + break; + } + c.push([u, n2]), u = n2 + 1, e30 === s.length - 1 && u <= i && l.push([u, i]); + } else { + if (i > n2) { + c.push([t2, n2]), l.push([u, t2 - 1]), u = n2 + 1, e30 === s.length - 1 && u <= i && l.push([u, i]); + continue; + } + c.push([t2, i]), l.push([u, t2 - 1]); + } + } + return { rowsInCache: c, rowsNotInCache: l }; + } + clear() { + this._cache.clear(), this._continueBuildingCache.clear(); + } + _handleNewInterval(e29, t, n) { + let r = e29.search([t, n]); + if (r.length === 0) { + let i2 = [t - 1 < 0 ? 0 : t - 1, n + 1]; + if (r = e29.search(i2), r.length === 0) { + e29.insert([t, n]); + return; + } + } + let i = t, a = n; + for (let t2 of r) i = Math.min(i, t2[0]), a = Math.max(a, t2[1]), e29.remove(t2); + e29.insert([i, a]); + } + }(); + var li2 = class extends E { + constructor(...e29) { + super(...e29), E3(this, `_getRowFilteredCallback`, void 0); + } + register(e29) { + this._getRowFilteredCallback = e29; + } + getRowFiltered(e29, t, n) { + var r; + return this._getRowFilteredCallback ? (r = this._getRowFilteredCallback(e29, t, n)) == null ? false : r : false; + } + }; + var ui2 = createIdentifier(`univer.formula.sheet-row-filtered.service`); + var di = class extends E { + constructor(e29, t, n, r) { + super(), this._univerInstanceService = e29, this._localeService = t, this._formulaDataModel = n, this._sheetRowFilteredService = r, E3(this, `_unitData`, {}), E3(this, `_unitStylesData`, {}), E3(this, `_arrayFormulaCellData`, {}), E3(this, `_arrayFormulaRange`, {}), E3(this, `_formulaData`, {}), E3(this, `_sheetNameMap`, {}), E3(this, `_forceCalculate`, false), E3(this, `_clearDependencyTreeCache`, {}), E3(this, `_dirtyRanges`, []), E3(this, `_dirtyNameMap`, {}), E3(this, `_dirtyDefinedNameMap`, {}), E3(this, `_dirtyUnitFeatureMap`, {}), E3(this, `_dirtyUnitOtherFormulaMap`, {}), E3(this, `_excludedCell`, void 0), E3(this, `_sheetIdToNameMap`, {}), E3(this, `_executeUnitId`, ``), E3(this, `_executeSubUnitId`, ``); + } + dispose() { + super.dispose(), this._unitData = {}, this._unitStylesData = {}, this._arrayFormulaCellData = {}, this._arrayFormulaRange = {}, this._formulaData = {}, this._sheetNameMap = {}, this._clearDependencyTreeCache = {}, this._dirtyRanges = [], this._dirtyNameMap = {}, this._dirtyDefinedNameMap = {}, this._dirtyUnitFeatureMap = {}, this._dirtyUnitOtherFormulaMap = {}, this._excludedCell = {}, this._sheetIdToNameMap = {}; + } + getExecuteUnitId() { + return this._executeUnitId; + } + getExecuteSubUnitId() { + return this._executeSubUnitId; + } + setExecuteUnitId(e29) { + this._executeUnitId = e29; + } + setExecuteSubUnitId(e29) { + this._executeSubUnitId = e29; + } + getExcludedRange() { + return this._excludedCell; + } + getUnitData() { + return this._unitData; + } + getUnitStylesData() { + return this._unitStylesData; + } + getFormulaData() { + return this._formulaData; + } + getArrayFormulaCellData() { + return this._arrayFormulaCellData; + } + getArrayFormulaRange() { + return this._arrayFormulaRange; + } + getSheetNameMap() { + return this._sheetNameMap; + } + isForceCalculate() { + return this._forceCalculate; + } + getDirtyRanges() { + return this._dirtyRanges; + } + getDirtyNameMap() { + return this._dirtyNameMap; + } + getDirtyDefinedNameMap() { + return this._dirtyDefinedNameMap; + } + getDirtyUnitFeatureMap() { + return this._dirtyUnitFeatureMap; + } + getDirtyUnitOtherFormulaMap() { + return this._dirtyUnitOtherFormulaMap; + } + getSheetName(e29, t) { + return this._sheetIdToNameMap[e29] == null ? `` : this._sheetIdToNameMap[e29][t] || ``; + } + setSheetNameMap(e29) { + this._sheetIdToNameMap = e29; + } + getClearDependencyTreeCache() { + return this._clearDependencyTreeCache; + } + getLocale() { + return this._localeService.getCurrentLocale(); + } + getSheetsInfo() { + let { id: e29, sheetOrder: t } = this._univerInstanceService.getCurrentUnitForType(O.UNIVER_SHEET).getSnapshot(); + return { sheetOrder: t, sheetNameMap: this._sheetIdToNameMap[e29] }; + } + getSheetRowColumnCount(e29, t) { + let n = this._univerInstanceService.getUnit(e29), r = n == null ? void 0 : n.getSheetBySheetId(t), i = r == null ? void 0 : r.getSnapshot(); + if (!i) return { rowCount: 0, columnCount: 0 }; + let { rowCount: a, columnCount: o } = i; + return { rowCount: a, columnCount: o }; + } + getFilteredOutRows(e29, t, n, r) { + let i = []; + for (let a = n; a <= r; a++) this._sheetRowFilteredService.getRowFiltered(e29, t, a) && i.push(a); + return i; + } + load(e29) { + if (e29.allUnitData && e29.unitSheetNameMap && e29.unitStylesData) this._unitData = e29.allUnitData, this._unitStylesData = e29.unitStylesData, this._sheetNameMap = e29.unitSheetNameMap; + else { + let { allUnitData: e30, unitSheetNameMap: t, unitStylesData: n } = this._loadSheetData(); + this._unitData = e30, this._unitStylesData = n, this._sheetNameMap = t; + } + e29.rowData && this._applyUnitRowData(e29.rowData), this._formulaData = e29.formulaData, this._arrayFormulaCellData = On2(e29.arrayFormulaCellData), this._arrayFormulaRange = e29.arrayFormulaRange, this._forceCalculate = e29.forceCalculate, this._clearDependencyTreeCache = e29.clearDependencyTreeCache || {}, this._dirtyRanges = e29.dirtyRanges, this._dirtyNameMap = e29.dirtyNameMap, this._dirtyDefinedNameMap = e29.dirtyDefinedNameMap, this._dirtyUnitFeatureMap = e29.dirtyUnitFeatureMap, this._dirtyUnitOtherFormulaMap = e29.dirtyUnitOtherFormulaMap, this._excludedCell = e29.excludedCell, this._mergeNameMap(this._sheetNameMap, this._dirtyNameMap); + } + loadDataLite(e29) { + let { allUnitData: t, unitSheetNameMap: n, unitStylesData: r } = this._loadSheetData(); + this._unitData = t, this._unitStylesData = r, this._sheetNameMap = n, this._formulaData = this._formulaDataModel.getFormulaData(), this._arrayFormulaCellData = On2(this._formulaDataModel.getArrayFormulaCellData()), this._arrayFormulaRange = this._formulaDataModel.getArrayFormulaRange(), e29 && this._applyUnitRowData(e29); + } + getDirtyData() { + return { forceCalculation: this._forceCalculate, dirtyRanges: this._dirtyRanges, dirtyNameMap: this._dirtyNameMap, dirtyDefinedNameMap: this._dirtyDefinedNameMap, dirtyUnitFeatureMap: this._dirtyUnitFeatureMap, dirtyUnitOtherFormulaMap: this._dirtyUnitOtherFormulaMap, clearDependencyTreeCache: this._clearDependencyTreeCache }; + } + loadDirtyRangesAndExcludedCell(e29, t) { + this._dirtyRanges = e29, this._excludedCell = t, this._dirtyNameMap = {}; + } + registerUnitData(e29) { + this._unitData = e29; + } + registerFormulaData(e29) { + this._formulaData = e29; + } + registerSheetNameMap(e29) { + this._sheetNameMap = e29; + } + _mergeNameMap(e29, t) { + Object.keys(t).forEach((n) => { + t[n] && Object.keys(t[n]).forEach((r) => { + e29[n] == null && (e29[n] = {}), e29[n][t[n][r]] = r; + }); + }), this._sheetIdToNameMap = {}, Object.keys(e29).forEach((t2) => { + Object.keys(e29[t2]).forEach((n) => { + this._sheetIdToNameMap[t2] == null && (this._sheetIdToNameMap[t2] = {}), this._sheetIdToNameMap[t2][e29[t2][n]] = n; + }); + }); + } + _loadSheetData() { + let e29 = this._univerInstanceService.getCurrentUnitForType(O.UNIVER_SHEET), t = e29 == null ? void 0 : e29.getActiveSheet(); + return this._executeUnitId = e29 == null ? void 0 : e29.getUnitId(), this._executeSubUnitId = t == null ? void 0 : t.getSheetId(), this._formulaDataModel.getCalculateData(); + } + _applyUnitRowData(e29) { + for (let t in e29) if (e29[t] != null) for (let n in e29[t]) e29[t][n] != null && (this._unitData[t] == null && (this._unitData[t] = {}), this._unitData[t][n] == null && (this._unitData[t][n] = { cellData: new Sa({}), rowCount: 0, columnCount: 0, rowData: {}, columnData: {} }), this._unitData[t][n].rowData = e29[t][n]); + } + }; + di = dr2([P5(0, Mu), P5(1, Inject(zu)), P5(2, Inject(ai2)), P5(3, Inject(ui2))], di); + var fi2 = createIdentifier(`univer.formula.current-data.service`); + var pi = class extends E { + constructor(e29, t, n) { + super(), this._definedNamesService = e29, this._lexerTreeBuilder = t, this._formulaCurrentConfigService = n; + } + treeBuilder(e29, t = true) { + let n = this._definedNamesService.getAllDefinedNames(); + return this._isDeepDefinedNameMapEmpty(n) ? this._lexerTreeBuilder.treeBuilder(e29, t) : this._lexerTreeBuilder.treeBuilder(e29, t, { unitId: this._formulaCurrentConfigService.getExecuteUnitId(), getValueByName: this._definedNamesService.getValueByName.bind(this._definedNamesService), getDirtyDefinedNameMap: this._formulaCurrentConfigService.getDirtyDefinedNameMap.bind(this._formulaCurrentConfigService), getSheetName: this._formulaCurrentConfigService.getSheetName.bind(this._formulaCurrentConfigService) }); + } + _isDeepDefinedNameMapEmpty(e29) { + for (let t in e29) if (Object.keys(e29[t]).length > 0) return false; + return true; + } + }; + pi = dr2([P5(0, pr2), P5(1, Inject(ni)), P5(2, fi2)], pi); + function mi(e29) { + if (e29 == null) return true; + let { v: t, f: n, si: r, p: i } = e29; + return !(!(t == null || typeof t == `string` && t.length === 0) || n != null && n.length > 0 || r != null && r.length > 0 || i != null); + } + function hi(e29) { + var t; + if (e29 === null) return 0; + if (e29 != null && e29.p) { + let t2 = e29 == null ? void 0 : e29.p.body; + if (t2 == null) return 0; + let n = t2.dataStream; + return Z.transform.getPlainText(n); + } + return (t = e29 == null ? void 0 : e29.v) == null ? 0 : t; + } + function _i2(e29, t, n, r, i) { + let a = Object.keys(i); + for (let s of a) { + var o; + let a2 = i[s], c = a2 == null || (o = a2[r]) == null ? void 0 : o[n]; + if (c == null) continue; + let l = c.getValue(e29, t); + if (l != null) return l; + } + } + var vi = (function(e29) { + return e29[e29.MIN = 0] = `MIN`, e29[e29.MAX = 1] = `MAX`, e29; + })({}); + var yi2 = (function(e29) { + return e29[e29.NORMAL = 0] = `NORMAL`, e29[e29.MIN = 1] = `MIN`, e29[e29.MAX = 2] = `MAX`, e29; + })({}); + function bi2() { + return Intl && Intl.Collator ? new Intl.Collator(void 0, { numeric: false }).compare : (e29, t) => e29.localeCompare(t); + } + function xi(e29) { + return e29.indexOf(`*`) > -1 || e29.indexOf(`?`) > -1; + } + function Si(e29, t) { + let n = Ti(t).replace(/~?[*?]/g, (e30) => e30.startsWith(`~`) ? `\\${e30.substring(1)}` : e30 === `*` ? `.*` : e30 === `?` ? `.` : e30); + return RegExp(`^${n}$`).test(e29); + } + function Ci(e29) { + return e29.replace(/~?[*?]/g, (e30) => e30.startsWith(`~`) ? e30.substring(1) : ` `); + } + function wi(e29, t, n) { + let r = false; + switch (n) { + case k3.EQUALS: + r = Si(e29, t); + break; + case k3.NOT_EQUAL: + r = !Si(e29, t); + break; + case k3.GREATER_THAN: + case k3.GREATER_THAN_OR_EQUAL: + r = Si(e29, t) || e29 > Ci(t); + break; + case k3.LESS_THAN: + case k3.LESS_THAN_OR_EQUAL: + r = e29 < Ci(t); + break; + default: + break; + } + return r; + } + function Ti(e29) { + return e29.replace(/[.+^${}()|[\]\\]/g, `\\$&`); + } + function Ei(e29) { + switch (e29) { + case 1: + return yi2.MAX; + case 0: + return yi2.NORMAL; + case -1: + return yi2.MIN; + default: + return yi2.NORMAL; + } + } + function Di(e29) { + return e29 === -2 ? vi.MAX : vi.MIN; + } + var Oi = (function(e29) { + return e29[e29.General = 0] = `General`, e29[e29.Number = 1] = `Number`, e29[e29.Currency = 2] = `Currency`, e29[e29.Accounting = 3] = `Accounting`, e29[e29.Date = 4] = `Date`, e29[e29.Time = 5] = `Time`, e29[e29.Percentage = 6] = `Percentage`, e29[e29.Fraction = 7] = `Fraction`, e29[e29.Scientific = 8] = `Scientific`, e29[e29.Text = 9] = `Text`, e29[e29.Special = 10] = `Special`, e29[e29.Custom = 11] = `Custom`, e29; + })(Oi || {}); + Oi.Currency, Oi.Date, Oi.Time, Oi.Custom, Oi.Fraction, Oi.General, Oi.Custom, Oi.Number, Oi.Percentage, Oi.Scientific, Oi.Text, Oi.Time, Oi.Custom; + function ki(e29, t, n) { + var r, i; + if (e29 == null || t == null) return t; + let a = (n == null ? void 0 : n.getStyleByCell(e29)) || e29.s, o = (n == null ? void 0 : n.getStyleByCell(t)) || t.s; + if (a == null || o == null || typeof a != `object` || typeof o != `object`) return t; + let s = a == null || (r = a.n) == null ? void 0 : r.pattern, c = o == null || (i = o.n) == null ? void 0 : i.pattern; + if (s == null || c == null) return t; + let l = s || c; + return o.n.pattern = l, t; + } + var Ai = new Be2(1e5); + function ji() { + Ai.clear(); + } + var Mi = /* @__PURE__ */ new Map([[Rn.EN_US, `$`], [Rn.RU_RU, `\u20BD`], [Rn.VI_VN, `\u20AB`], [Rn.ZH_CN, `\xA5`], [Rn.ZH_TW, `NT$`], [Rn.FR_FR, `\u20AC`], [Rn.FA_IR, `\uFDFC`], [Rn.KO_KR, `\u20A9`], [Rn.ES_ES, `\u20AC`], [Rn.CA_ES, `\u20AC`]]); + function Ni(e29) { + return Mi.get(e29) || `$`; + } + function Pi(e29, t = 2) { + let n = t; + t > 127 && (n = 127); + let r = ``; + return n > 0 && (r = `.${`0`.repeat(n)}`), `"${Ni(e29)}"#,##0${r}_);[Red]("${Ni(e29)}"#,##0${r})`; + } + function Fi(e29, t, n = 2) { + return lib_exports.format(Pi(e29, n), t); + } + var Ii = new Be2(1e5); + function Li(e29) { + let t = e29; + t.startsWith(`"`) && t.endsWith(`"`) && (t = t.slice(1, -1)); + let n = Ii.get(t); + if (n) return { isNumberPattern: true, value: n.value, pattern: n.pattern }; + let r = da(t); + return r && r.z ? Ri(t, r.v, r.z) : { isNumberPattern: false }; + } + function Ri(e29, t, n) { + return Ii.set(e29, { value: t, pattern: n }), { isNumberPattern: true, value: t, pattern: n }; + } + function zi() { + Ii.clear(); + } + function Bi(e29) { + let t; + switch (e29) { + case k3.EQUALS: + t = k3.EQUALS; + break; + case k3.GREATER_THAN: + t = k3.LESS_THAN; + break; + case k3.GREATER_THAN_OR_EQUAL: + t = k3.LESS_THAN_OR_EQUAL; + break; + case k3.LESS_THAN: + t = k3.GREATER_THAN; + break; + case k3.LESS_THAN_OR_EQUAL: + t = k3.GREATER_THAN_OR_EQUAL; + break; + case k3.NOT_EQUAL: + t = k3.NOT_EQUAL; + break; + } + return t; + } + function Vi(e29, t) { + let n = e29 + t; + return Number.isSafeInteger(n) ? n : new decimal_default(e29).add(t).toNumber(); + } + function Hi(e29, t) { + let n = e29 - t; + return Number.isSafeInteger(n) ? n : new decimal_default(e29).sub(t).toNumber(); + } + function Ui(e29, t) { + let n = e29 * t; + return Number.isSafeInteger(n) ? n : new decimal_default(e29).mul(t).toNumber(); + } + function Wi(e29, t) { + let n = e29 / t; + return Number.isSafeInteger(n) ? n : new decimal_default(e29).div(t).toNumber(); + } + function Gi(e29, t) { + let n = 10 ** Math.trunc(t), r = Ji(e29, n); + return Math.round(Ui(e29, n) + r) / n; + } + function Ki2(e29, t) { + let n = 10 ** Math.trunc(t), r = Ji(e29, n); + return Math.floor(Ui(e29, n) + r) / n; + } + function qi(e29, t) { + let n = 10 ** Math.trunc(t), r = Ji(e29, n); + return Math.ceil(Ui(e29, n) - r) / n; + } + function Ji(e29, t) { + return 2 ** -52 * Math.max(1, Math.abs(Ui(e29, t))); + } + function Yi(e29, t) { + return e29 - t * Math.floor(e29 / t); + } + function Xi2(e29, t) { + return e29 ** t; + } + function Zi2(e29) { + return Math.sqrt(e29); + } + function Qi2(e29, t) { + return e29 === t; + } + function $i(e29, t) { + return e29 > t; + } + function ea2(e29, t) { + return e29 >= t; + } + function ta2(e29, t) { + return e29 < t; + } + function na(e29, t) { + return e29 <= t; + } + function ra(e29, t = 15) { + return Math.floor(Math.abs(e29)).toString().length >= t ? e29 : Number.parseFloat(e29.toPrecision(t)); + } + function ia(e29, t, n = 2 ** -52) { + return Math.abs(e29 - t) < n; + } + function aa2(e29, t = 12, n = 1e-10) { + let r = ra(e29, t); + return ia(e29, r, n) ? r : ra(e29); + } + function oa2(e29) { + return e29 - Math.trunc(e29); + } + var I3 = class e20 extends Xe2 { + static create() { + return this._instance = this._instance || new e20(0), this._instance; + } + isNull() { + return true; + } + plus(e29) { + return R4.create(0).plus(e29); + } + minus(e29) { + return R4.create(0).minus(e29); + } + multiply(e29) { + return R4.create(0).multiply(e29); + } + divided(e29) { + return R4.create(0).divided(e29); + } + mod(e29) { + return R4.create(0).mod(e29); + } + compare(e29, t) { + return e29.isString() ? z3.create(``).compare(e29, t) : e29.isBoolean() ? L3.create(false).compare(e29, t) : R4.create(0).compare(e29, t); + } + concatenateFront(e29) { + return e29.isArray() ? e29.concatenateBack(z3.create(``)) : z3.create(this.concatenate(e29.getValue(), Ie2.FRONT)); + } + concatenateBack(e29) { + return e29.isArray() ? e29.concatenateFront(z3.create(``)) : z3.create(this.concatenate(e29.getValue(), Ie2.BACK)); + } + plusBy(e29) { + return R4.create(0).plusBy(e29); + } + minusBy(e29) { + return R4.create(0).minusBy(e29); + } + multiplyBy(e29) { + return R4.create(0).multiplyBy(e29); + } + dividedBy(e29) { + return R4.create(0).dividedBy(e29); + } + compareBy(e29, t) { + return typeof e29 == `string` ? z3.create(``).compareBy(e29, t) : typeof e29 == `boolean` ? L3.create(false).compareBy(e29, t) : R4.create(0).compareBy(e29, t); + } + pow(e29) { + return R4.create(0).pow(e29); + } + sqrt() { + return R4.create(0).sqrt(); + } + cbrt() { + return R4.create(0).cbrt(); + } + cos() { + return R4.create(0).cos(); + } + cosh() { + return R4.create(0).cosh(); + } + acos() { + return R4.create(0).acos(); + } + acosh() { + return R4.create(0).acosh(); + } + sin() { + return R4.create(0).sin(); + } + sinh() { + return R4.create(0).sinh(); + } + asin() { + return R4.create(0).asin(); + } + asinh() { + return R4.create(0).asinh(); + } + tan() { + return R4.create(0).tan(); + } + tanh() { + return R4.create(0).tanh(); + } + atan() { + return R4.create(0).atan(); + } + atan2(e29) { + return R4.create(0).atan2(e29); + } + atanh() { + return R4.create(0).atanh(); + } + log() { + return j3.create(D3.NUM); + } + log10() { + return j3.create(D3.NUM); + } + exp() { + return R4.create(0).exp(); + } + abs() { + return R4.create(0).abs(); + } + round(e29) { + return R4.create(0).round(e29); + } + floor(e29) { + return R4.create(0).floor(e29); + } + ceil(e29) { + return R4.create(0).ceil(e29); + } + convertToNumberObjectValue() { + return R4.create(0); + } + convertToBooleanObjectValue() { + return L3.create(false); + } + }; + E3(I3, `_instance`, void 0); + var L3 = class e21 extends Xe2 { + static create(t) { + return t ? (this._instanceTrue = this._instanceTrue || new e21(true), this._instanceTrue) : (this._instanceFalse = this._instanceFalse || new e21(false), this._instanceFalse); + } + constructor(e29) { + super(e29), E3(this, `_value`, false), this._value = e29; + } + getValue() { + return this._value; + } + isBoolean() { + return true; + } + getNegative() { + let e29 = this.getValue(), t = 0; + return e29 && (t = 1), R4.create(-t); + } + getReciprocal() { + return this.getValue() ? R4.create(1) : j3.create(D3.DIV_BY_ZERO); + } + plus(e29) { + return this._convertToNumber().plus(e29); + } + minus(e29) { + return this._convertToNumber().minus(e29); + } + multiply(e29) { + return this._convertToNumber().multiply(e29); + } + divided(e29) { + return this._convertToNumber().divided(e29); + } + mod(e29) { + return this._convertToNumber().mod(e29); + } + compare(e29, t) { + return e29.isArray() ? e29.compare(this, Bi(t)) : e29.isNull() ? this._convertToNumber().compare(e29, t) : this.compareBy(e29.getValue(), t); + } + compareBy(t, n) { + let r = false; + if (typeof t == `string` || typeof t == `number`) r = this._compareString(n); + else if (typeof t == `boolean`) { + let e29 = R4.create(t ? 1 : 0); + return this._convertToNumber().compare(e29, n); + } + return e21.create(r); + } + _compareString(e29) { + switch (e29) { + case k3.GREATER_THAN: + case k3.GREATER_THAN_OR_EQUAL: + return true; + case k3.EQUALS: + case k3.LESS_THAN: + case k3.LESS_THAN_OR_EQUAL: + case k3.NOT_EQUAL: + return false; + } + } + concatenateFront(e29) { + return this._convertToNumber().concatenateFront(e29); + } + concatenateBack(e29) { + return this._convertToNumber().concatenateBack(e29); + } + _convertToNumber() { + let e29 = this.getValue(), t = 0; + return e29 && (t = 1), R4.create(t); + } + pow(e29) { + return this._convertToNumber().pow(e29); + } + sqrt() { + return this._convertToNumber().sqrt(); + } + cbrt() { + return this._convertToNumber().cbrt(); + } + cos() { + return this._convertToNumber().cos(); + } + cosh() { + return this._convertToNumber().cosh(); + } + acos() { + return this._convertToNumber().acos(); + } + acosh() { + return this._convertToNumber().acosh(); + } + sin() { + return this._convertToNumber().sin(); + } + sinh() { + return this._convertToNumber().sinh(); + } + asin() { + return this._convertToNumber().asin(); + } + asinh() { + return this._convertToNumber().asinh(); + } + tan() { + return this._convertToNumber().tan(); + } + tanh() { + return this._convertToNumber().tanh(); + } + atan() { + return this._convertToNumber().atan(); + } + atan2(e29) { + return this._convertToNumber().atan2(e29); + } + atanh() { + return this._convertToNumber().atanh(); + } + log() { + return this._convertToNumber().log(); + } + log10() { + return this._convertToNumber().log10(); + } + exp() { + return this._convertToNumber().exp(); + } + abs() { + return this._convertToNumber().abs(); + } + round(e29) { + return this._convertToNumber().round(e29); + } + floor(e29) { + return this._convertToNumber().floor(e29); + } + ceil(e29) { + return this._convertToNumber().ceil(e29); + } + convertToNumberObjectValue() { + return ua2(this.getValue()); + } + convertToBooleanObjectValue() { + return this; + } + }; + E3(L3, `_instanceTrue`, void 0), E3(L3, `_instanceFalse`, void 0); + var R4 = class e22 extends Xe2 { + static create(t, n = ``) { + let r = new e22(t); + return n && r.setPattern(n), r; + } + constructor(e29) { + super(e29), E3(this, `_value`, 0), this._value = Number(e29); + } + getValue() { + return this._value; + } + setValue(e29) { + this._value = e29; + } + isNumber() { + return true; + } + getNegative() { + return e22.create(0).minus(this); + } + getReciprocal() { + return e22.create(1).divided(this); + } + plus(e29) { + if (e29.isArray()) return e29.plus(this); + let t = e29; + e29.isNumber() || (t = e29.convertToNumberObjectValue()); + let n = this.plusBy(t.getValue()); + return n.isError(), n; + } + equalZero() { + return this._value === 0; + } + minus(e29) { + if (e29.isArray()) { + let t2 = e29.getNegative(); + return t2.isError() ? t2 : t2.plus(this); + } + let t = e29; + e29.isNumber() || (t = e29.convertToNumberObjectValue()); + let n = this.minusBy(t.getValue()); + return n.isError(), n; + } + multiply(e29) { + if (e29.isArray()) return e29.multiply(this); + let t = e29; + e29.isNumber() || (t = e29.convertToNumberObjectValue()); + let n = this.multiplyBy(t.getValue()); + return n.isError(), n; + } + divided(e29) { + if (e29.isArray()) { + let t2 = e29.getReciprocal(); + return t2.isError() ? t2 : t2.multiply(this); + } + let t = e29; + e29.isNumber() || (t = e29.convertToNumberObjectValue()); + let n = this.dividedBy(t.getValue()); + return n.isError(), n; + } + mod(t) { + if (t.isArray()) return t.modInverse(this); + let n = this.getValue(), r = t.getValue(); + if (t.isNull()) return j3.create(D3.DIV_BY_ZERO); + if (typeof r == `string`) return j3.create(D3.VALUE); + if (typeof r == `number`) { + if (r === 0) return j3.create(D3.DIV_BY_ZERO); + if (!Number.isFinite(n) || !Number.isFinite(r) || Math.abs(r) * 11259e8 <= Math.abs(n)) return j3.create(D3.NUM); + let t2 = Yi(n, r); + return Number.isFinite(t2) ? e22.create(t2) : j3.create(D3.NUM); + } + if (typeof r == `boolean`) { + let t2 = r ? 1 : 0; + return t2 === 0 ? j3.create(D3.DIV_BY_ZERO) : e22.create(Yi(n, t2)); + } + return this; + } + concatenateFront(e29) { + return e29.isArray() ? e29.concatenateBack(this) : z3.create(this.concatenate(e29.getValue(), Ie2.FRONT)); + } + concatenateBack(e29) { + return e29.isArray() ? e29.concatenateFront(this) : z3.create(this.concatenate(e29.getValue(), Ie2.BACK)); + } + isDateFormat() { + let e29 = this.getPattern(); + return lib_exports.isDateFormat(e29); + } + compare(e29, t) { + if (e29.isArray()) return e29.compare(this, Bi(t)); + let n = false; + return e29.isDateFormat() && this.isDateFormat() && (n = true), this.compareBy(e29.getValue(), t, n); + } + plusBy(t) { + if (typeof t == `string` && t.trim() === ``) return j3.create(D3.VALUE); + let n = +this.getValue(), r = +t; + if (Number.isNaN(n) || Number.isNaN(r)) return j3.create(D3.VALUE); + if (!Number.isFinite(n) || !Number.isFinite(r)) return j3.create(D3.NUM); + let i = Vi(n, r); + return Number.isFinite(i) ? e22.create(i) : j3.create(D3.NUM); + } + minusBy(t) { + if (typeof t == `string` && t.trim() === ``) return j3.create(D3.VALUE); + let n = +this.getValue(), r = +t; + if (Number.isNaN(n) || Number.isNaN(r)) return j3.create(D3.VALUE); + if (!Number.isFinite(n) || !Number.isFinite(r)) return j3.create(D3.NUM); + let i = Hi(n, r); + return Number.isFinite(i) ? e22.create(i) : j3.create(D3.NUM); + } + multiplyBy(t) { + if (typeof t == `string` && t.trim() === ``) return j3.create(D3.VALUE); + let n = +this.getValue(), r = +t; + if (Number.isNaN(n) || Number.isNaN(r)) return j3.create(D3.VALUE); + if (!Number.isFinite(n) || !Number.isFinite(r)) return j3.create(D3.NUM); + let i = Ui(n, r); + return Number.isFinite(i) ? e22.create(i) : j3.create(D3.NUM); + } + dividedBy(t) { + if (typeof t == `string` && t.trim() === ``) return j3.create(D3.VALUE); + let n = +this.getValue(), r = +t; + if (Number.isNaN(n) || Number.isNaN(r)) return j3.create(D3.VALUE); + if (!Number.isFinite(n) || !Number.isFinite(r)) return j3.create(D3.NUM); + if (r === 0) return j3.create(D3.DIV_BY_ZERO); + let i = Wi(n, r); + return Number.isFinite(i) ? e22.create(i) : j3.create(D3.NUM); + } + compareBy(e29, t, n = false) { + let r = this.getValue(), i = false, a = r, o = e29; + return n && (a = Math.round(r * 1e8) / 1e8, o = Math.round(e29 * 1e8) / 1e8), typeof o == `string` ? i = this._compareString(t) : typeof o == `number` ? i = this._compareNumber(a, o, t) : typeof o == `boolean` && (i = this._compareBoolean(t)), L3.create(i); + } + _compareString(e29) { + switch (e29) { + case k3.EQUALS: + case k3.GREATER_THAN: + case k3.GREATER_THAN_OR_EQUAL: + return false; + case k3.LESS_THAN: + case k3.LESS_THAN_OR_EQUAL: + case k3.NOT_EQUAL: + return true; + } + } + _compareNumber(e29, t, n) { + return !Number.isFinite(e29) || !Number.isFinite(t) ? this._compareInfinity(e29, t, n) : this._compareFiniteNumber(e29, t, n); + } + _compareFiniteNumber(e29, t, n) { + switch (n) { + case k3.EQUALS: + return Qi2(e29, t); + case k3.GREATER_THAN: + return $i(e29, t); + case k3.GREATER_THAN_OR_EQUAL: + return ea2(e29, t); + case k3.LESS_THAN: + return ta2(e29, t); + case k3.LESS_THAN_OR_EQUAL: + return na(e29, t); + case k3.NOT_EQUAL: + return !Qi2(e29, t); + } + } + _compareBoolean(e29) { + switch (e29) { + case k3.EQUALS: + case k3.GREATER_THAN: + case k3.GREATER_THAN_OR_EQUAL: + return false; + case k3.LESS_THAN: + case k3.LESS_THAN_OR_EQUAL: + case k3.NOT_EQUAL: + return true; + } + } + pow(t) { + if (t.isArray()) return t.powInverse(this); + if (this.isError()) return this; + let n = this.getValue(), r = t; + if (t.isString() && (r = t.convertToNumberObjectValue()), r.isError()) return r; + let i = +r.getValue(); + if (Number.isNaN(i)) return j3.create(D3.VALUE); + if (!Number.isFinite(n) || !Number.isFinite(i)) return j3.create(D3.NUM); + if (n === 0) return i < 0 ? j3.create(D3.DIV_BY_ZERO) : i === 0 ? j3.create(D3.NUM) : e22.create(0); + let a = Xi2(n, i); + return Number.isFinite(a) ? e22.create(a) : j3.create(D3.NUM); + } + sqrt() { + let t = this.getValue(); + if (!Number.isFinite(t)) return j3.create(D3.NUM); + let n = Zi2(t); + return Number.isFinite(n) ? e22.create(n) : j3.create(D3.NUM); + } + cbrt() { + let t = this.getValue(); + if (!Number.isFinite(t)) return j3.create(D3.NUM); + let n = Math.cbrt(t); + return Number.isFinite(n) ? e22.create(n) : j3.create(D3.NUM); + } + cos() { + let t = this.getValue(); + if (!Number.isFinite(t)) return j3.create(D3.NUM); + let n = Math.cos(t); + return Number.isFinite(n) ? e22.create(n) : j3.create(D3.NUM); + } + cosh() { + let t = this.getValue(); + if (!Number.isFinite(t)) return j3.create(D3.NUM); + let n = Math.cosh(t); + return Number.isFinite(n) ? e22.create(n) : j3.create(D3.NUM); + } + acos() { + let t = this.getValue(); + if (!Number.isFinite(t)) return j3.create(D3.NUM); + let n = Math.acos(t); + return Number.isNaN(n) ? j3.create(D3.NUM) : e22.create(n); + } + acosh() { + let t = this.getValue(); + if (!Number.isFinite(t)) return j3.create(D3.NUM); + let n = Math.acosh(t); + return Number.isNaN(n) ? j3.create(D3.NUM) : e22.create(n); + } + sin() { + let t = this.getValue(); + if (!Number.isFinite(t)) return j3.create(D3.NUM); + let n = Math.sin(t); + return Number.isFinite(n) ? e22.create(n) : j3.create(D3.NUM); + } + sinh() { + let t = this.getValue(); + if (!Number.isFinite(t)) return j3.create(D3.NUM); + let n = Math.sinh(t); + return Number.isFinite(n) ? e22.create(n) : j3.create(D3.NUM); + } + asin() { + let t = this.getValue(); + if (!Number.isFinite(t)) return j3.create(D3.NUM); + let n = Math.asin(t); + return Number.isNaN(n) ? j3.create(D3.NUM) : e22.create(n); + } + asinh() { + let t = this.getValue(); + if (!Number.isFinite(t)) return j3.create(D3.NUM); + let n = Math.asinh(t); + return Number.isNaN(n) ? j3.create(D3.NUM) : e22.create(n); + } + tan() { + let t = this.getValue(); + if (!Number.isFinite(t)) return j3.create(D3.NUM); + let n = Math.tan(t); + return Number.isFinite(n) ? e22.create(n) : j3.create(D3.NUM); + } + tanh() { + let t = this.getValue(); + if (!Number.isFinite(t)) return j3.create(D3.NUM); + let n = Math.tanh(t); + return Number.isFinite(n) ? e22.create(n) : j3.create(D3.NUM); + } + atan() { + let t = this.getValue(); + if (!Number.isFinite(t)) return j3.create(D3.NUM); + let n = Math.atan(t); + return Number.isFinite(n) ? e22.create(n) : j3.create(D3.NUM); + } + atan2(t) { + if (t.isArray()) return t.atan2Inverse(this); + let n = this.getValue(), r = t.getValue(); + if (typeof r == `string`) return j3.create(D3.VALUE); + if (typeof r == `number`) { + if (!Number.isFinite(n) || !Number.isFinite(r)) return j3.create(D3.NUM); + if (n === 0 && r === 0) return j3.create(D3.DIV_BY_ZERO); + let t2 = Math.atan2(n, r); + return Number.isFinite(t2) ? e22.create(t2) : j3.create(D3.NUM); + } + return typeof r == `boolean` ? e22.create(Math.atan2(n, r ? 1 : 0)) : this; + } + atanh() { + let t = this.getValue(); + if (!Number.isFinite(t)) return j3.create(D3.NUM); + let n = Math.atanh(t); + return Number.isFinite(n) ? e22.create(n) : j3.create(D3.NUM); + } + log() { + let t = this.getValue(); + if (typeof t == `number` && t <= 0 || !Number.isFinite(t)) return j3.create(D3.NUM); + let n = Math.log(t); + return Number.isFinite(n) ? e22.create(n) : j3.create(D3.NUM); + } + log10() { + let t = this.getValue(); + if (typeof t == `number` && t <= 0 || !Number.isFinite(t)) return j3.create(D3.NUM); + let n = Math.log10(t); + return Number.isFinite(n) ? e22.create(n) : j3.create(D3.NUM); + } + exp() { + let t = this.getValue(); + if (!Number.isFinite(t)) return j3.create(D3.NUM); + let n = Math.exp(t); + return Number.isFinite(n) ? e22.create(n) : j3.create(D3.NUM); + } + abs() { + let t = this.getValue(); + if (!Number.isFinite(t)) return j3.create(D3.NUM); + let n = Math.abs(t); + return Number.isFinite(n) ? e22.create(n) : j3.create(D3.NUM); + } + round(t) { + if (t.isArray()) return t.roundInverse(this); + let n = this.getValue(), r = t.getValue(); + if (typeof r == `string`) return j3.create(D3.VALUE); + if (typeof r == `number`) { + if (!Number.isFinite(n) || !Number.isFinite(r)) return j3.create(D3.NUM); + let t2 = n < 0 ? -Gi(Math.abs(n), r) : Gi(n, r); + return Number.isFinite(t2) ? e22.create(t2) : j3.create(D3.NUM); + } + return typeof r == `boolean` ? e22.create(Gi(n, r ? 1 : 0)) : this; + } + floor(t) { + if (t.isArray()) return t.floorInverse(this); + let n = this.getValue(), r = t.getValue(); + if (typeof r == `string`) return j3.create(D3.VALUE); + if (typeof r == `number`) { + if (!Number.isFinite(n) || !Number.isFinite(r)) return j3.create(D3.NUM); + let t2 = n < 0 ? -Ki2(Math.abs(n), r) : Ki2(n, r); + return Number.isFinite(t2) ? e22.create(t2) : j3.create(D3.NUM); + } + return typeof r == `boolean` ? e22.create(Ki2(n, r ? 1 : 0)) : this; + } + ceil(t) { + if (t.isArray()) return t.ceilInverse(this); + let n = this.getValue(), r = t.getValue(); + if (typeof r == `string`) return j3.create(D3.VALUE); + if (typeof r == `number`) { + if (!Number.isFinite(n) || !Number.isFinite(r)) return j3.create(D3.NUM); + let t2 = n < 0 ? -qi(Math.abs(n), r) : qi(n, r); + return Number.isFinite(t2) ? e22.create(t2) : j3.create(D3.NUM); + } + return typeof r == `boolean` ? e22.create(qi(n, r ? 1 : 0)) : this; + } + convertToNumberObjectValue() { + return this; + } + convertToBooleanObjectValue() { + return ca2(true); + } + _compareInfinity(e29, t, n) { + let r = false; + switch (n) { + case k3.EQUALS: + r = e29 === t; + break; + case k3.GREATER_THAN: + r = e29 > t; + break; + case k3.GREATER_THAN_OR_EQUAL: + r = e29 >= t; + break; + case k3.LESS_THAN: + r = e29 < t; + break; + case k3.LESS_THAN_OR_EQUAL: + r = e29 <= t; + break; + case k3.NOT_EQUAL: + r = e29 !== t; + break; + } + return r; + } + }; + var sa = new Be2(1e5); + var z3 = class e23 extends Xe2 { + static create(t, n) { + let r = sa.get(t); + if (r && n && this.checkCacheByOptions(r, n)) return r; + let i = new e23(t); + if (n != null && n.isHyperlink) { + var a; + i._isHyperlink = n.isHyperlink, i._hyperlinkUrl = (a = n.hyperlinkUrl) == null ? `` : a; + } + return n != null && n.isImage && (i._isImage = n.isImage, i._imageInfo = n.imageInfo), sa.set(t, i), i; + } + static checkCacheByOptions(e29, t) { + return !(e29.isHyperlink() !== t.isHyperlink || e29.getHyperlinkUrl() !== t.hyperlinkUrl || e29.isImage() !== t.isImage || !D.diffValue(e29.getImageInfo(), t.imageInfo)); + } + constructor(e29) { + super(e29), E3(this, `_value`, void 0), E3(this, `_isHyperlink`, false), E3(this, `_hyperlinkUrl`, ``), E3(this, `_isImage`, false), E3(this, `_imageInfo`, void 0), this._value = e29; + } + getValue() { + return this._value; + } + isString() { + return true; + } + isHyperlink() { + return this._isHyperlink; + } + getHyperlinkUrl() { + return this._hyperlinkUrl; + } + isImage() { + return this._isImage; + } + getImageInfo() { + return this._imageInfo; + } + concatenateFront(t) { + return t.isArray() ? t.concatenateBack(this) : e23.create(this.concatenate(t.getValue(), Ie2.FRONT)); + } + concatenateBack(t) { + return t.isArray() ? t.concatenateFront(this) : e23.create(this.concatenate(t.getValue(), Ie2.BACK)); + } + plus(e29) { + return this.convertToNumberObjectValue().plus(e29); + } + minus(e29) { + return this.convertToNumberObjectValue().minus(e29); + } + multiply(e29) { + return this.convertToNumberObjectValue().multiply(e29); + } + divided(e29) { + return this.convertToNumberObjectValue().divided(e29); + } + compare(e29, t, n) { + return e29.isArray() ? e29.compare(this, Bi(t), n) : this.compareBy(e29.getValue(), t, n); + } + compareBy(e29, t, n = false) { + let r = this.getValue(), i = false; + if (typeof e29 == `string`) { + let a = e29; + if (n || (r = r.toLocaleLowerCase(), a = a.toLocaleLowerCase()), xi(a)) return this._checkWildcard(a, t); + i = this._compareString(r, a, t); + } else typeof e29 == `number` ? i = this._compareNumber(t) : typeof e29 == `boolean` && (i = this._compareBoolean(t)); + return L3.create(i); + } + _compareString(e29, t, n) { + switch (n) { + case k3.EQUALS: + return e29 === t; + case k3.GREATER_THAN: + return e29 > t; + case k3.GREATER_THAN_OR_EQUAL: + return e29 >= t; + case k3.LESS_THAN: + return e29 < t; + case k3.LESS_THAN_OR_EQUAL: + return e29 <= t; + case k3.NOT_EQUAL: + return e29 !== t; + } + } + _compareNumber(e29) { + switch (e29) { + case k3.NOT_EQUAL: + case k3.GREATER_THAN: + case k3.GREATER_THAN_OR_EQUAL: + return true; + case k3.EQUALS: + case k3.LESS_THAN: + case k3.LESS_THAN_OR_EQUAL: + return false; + } + } + _compareBoolean(e29) { + switch (e29) { + case k3.EQUALS: + case k3.GREATER_THAN: + case k3.GREATER_THAN_OR_EQUAL: + return false; + case k3.LESS_THAN: + case k3.LESS_THAN_OR_EQUAL: + case k3.NOT_EQUAL: + return true; + } + } + convertToNumberObjectValue() { + let e29 = this.getValue(), t = da(e29); + return t && t.z ? ua2(t.v, t.z) : ua2(e29); + } + convertToBooleanObjectValue() { + return L3.create(true); + } + _checkWildcard(e29, t) { + let n = wi(this.getValue().toLocaleLowerCase(), e29, t); + return L3.create(n); + } + }; + function ca2(e29) { + if (typeof e29 == `boolean`) return L3.create(e29); + let t = false; + if (typeof e29 == `string`) { + let n = e29.toLocaleUpperCase(); + n === Ne.TRUE ? t = true : n === Ne.FALSE && (t = false); + } else t = e29 === 1; + return L3.create(t); + } + function la2(e29) { + let t = e29.toString(); + return t.charAt(0) === `"` && t.charAt(t.length - 1) === `"` && (t = t.slice(1, -1), t = t.replace(/""/g, `"`)), z3.create(t); + } + function ua2(e29, t = ``) { + if (typeof e29 == `boolean`) { + let n = 0; + return e29 && (n = 1), R4.create(n, t); + } else if (typeof e29 == `number`) return Number.isFinite(e29) ? R4.create(e29, t) : j3.create(D3.NUM); + else if (Ja(e29)) return R4.create(Number(e29), t); + return j3.create(D3.VALUE); + } + var da2 = (function(e29) { + return e29[e29.MINUS = 0] = `MINUS`, e29[e29.PLUS = 1] = `PLUS`, e29[e29.MULTIPLY = 2] = `MULTIPLY`, e29[e29.DIVIDED = 3] = `DIVIDED`, e29[e29.MOD = 4] = `MOD`, e29[e29.COMPARE = 5] = `COMPARE`, e29[e29.CONCATENATE_FRONT = 6] = `CONCATENATE_FRONT`, e29[e29.CONCATENATE_BACK = 7] = `CONCATENATE_BACK`, e29[e29.POW = 8] = `POW`, e29[e29.ROUND = 9] = `ROUND`, e29[e29.FLOOR = 10] = `FLOOR`, e29[e29.CEIL = 11] = `CEIL`, e29[e29.ATAN2 = 12] = `ATAN2`, e29; + })(da2 || {}); + var fa2 = (function(e29) { + return e29[e29.PRODUCT = 0] = `PRODUCT`, e29[e29.ROW = 1] = `ROW`, e29[e29.COLUMN = 2] = `COLUMN`, e29[e29.SINGLE = 3] = `SINGLE`, e29; + })(fa2 || {}); + function pa2(e29) { + return ``; + } + function ma(e29 = [], t = false) { + let n = []; + for (let r = 0; r < e29.length; r++) { + let i = e29[r]; + n[r] == null && (n[r] = []); + for (let e30 = 0; e30 < i.length; e30++) { + let a = i[e30]; + n[r][e30] = ga2.create(a, t); + } + } + return n; + } + function ha(e29 = []) { + let t = []; + for (let n = 0; n < e29.length; n++) { + let r = e29[n]; + t[n] == null && (t[n] = []); + for (let e30 = 0; e30 < r.length; e30++) { + let i = r[e30]; + i == null ? t[n][e30] = null : i.isError() ? t[n][e30] = i.getErrorType() : t[n][e30] = i.getValue(); + } + } + return t; + } + var B3 = class e24 extends Xe2 { + static create(t) { + return new e24(t); + } + static createByArray(t) { + return new e24({ calculateValueList: ma(t), rowCount: t.length, columnCount: t[0].length || 0, unitId: ``, sheetId: ``, row: -1, column: -1 }); + } + constructor(e29) { + super(typeof e29 == `string` ? e29 : pa2(e29)), E3(this, `_values`, []), E3(this, `_rowCount`, -1), E3(this, `_columnCount`, -1), E3(this, `_unitId`, ``), E3(this, `_sheetId`, ``), E3(this, `_currentRow`, -1), E3(this, `_currentColumn`, -1), E3(this, `_sliceCache`, /* @__PURE__ */ new Map()), E3(this, `_flattenCache`, void 0), E3(this, `_defaultValue`, null), E3(this, `_flattenPosition`, void 0), this._values = this._formatValue(e29); + } + dispose() { + this._values = [], this._defaultValue = null, this._flattenPosition = null, this._clearCache(); + } + clone() { + return this.map((e29) => e29); + } + getRowCount() { + return this._rowCount; + } + setRowCount(e29) { + this._rowCount = e29; + } + getColumnCount() { + return this._columnCount; + } + setColumnCount(e29) { + this._columnCount = e29; + } + setCurrent(e29, t) { + this._currentRow = e29, this._currentColumn = t; + } + setUnitId(e29) { + this._unitId = e29; + } + getUnitId() { + return this._unitId; + } + setSheetId(e29) { + this._sheetId = e29; + } + getSheetId() { + return this._sheetId; + } + getCurrentRow() { + return this._currentRow; + } + getCurrentColumn() { + return this._currentColumn; + } + getArrayValue() { + return this._values; + } + setArrayValue(e29) { + this._clearCache(), this._values = e29; + } + isArray() { + return true; + } + setDefaultValue(e29) { + this._defaultValue = e29; + } + get(e29, t) { + var n; + return ((n = this._values[e29]) == null ? void 0 : n[t]) || this._defaultValue; + } + getRealValue(e29, t) { + let n = this._values[e29]; + if (n == null) return null; + let r = n[t]; + return r == null ? null : r; + } + getValueOrDefault(e29, t) { + return this.get(e29, t) || this._defaultValue; + } + set(e29, t, n) { + if (e29 >= this._rowCount || t >= this._columnCount) { + console.error(`Exceeding array bounds.`); + return; + } + this._clearCache(), this._values[e29][t] = n; + } + getRangePosition() { + let e29 = this.getRowCount(), t = this.getColumnCount(); + return { startRow: 0, endRow: e29 - 1, startColumn: 0, endColumn: t - 1 }; + } + iterator(e29) { + let { startRow: t, endRow: n, startColumn: r, endColumn: i } = this.getRangePosition(), a = this.getArrayValue(); + for (let s = t; s <= n; s++) for (let t2 = r; t2 <= i; t2++) { + var o; + if (e29(((o = a[s]) == null ? void 0 : o[t2]) || this._defaultValue, s, t2) === false) return; + } + } + iteratorReverse(e29) { + let { startRow: t, endRow: n, startColumn: r, endColumn: i } = this.getRangePosition(), a = this.getArrayValue(); + for (let s = n; s >= t; s--) for (let t2 = i; t2 >= r; t2--) { + var o; + if (e29(((o = a[s]) == null ? void 0 : o[t2]) || this._defaultValue, s, t2) === false) return; + } + } + getLastTruePosition() { + let e29; + return this.iteratorReverse((t, n, r) => { + if (t != null && t.isBoolean() && t.getValue() === true) return e29 = { row: n, column: r }, false; + }), e29; + } + getFirstTruePosition() { + let e29; + return this.iterator((t, n, r) => { + if (t != null && t.isBoolean() && t.getValue() === true) return e29 = { row: n, column: r }, false; + }), e29; + } + getFirstCell() { + let { startRow: e29, startColumn: t } = this.getRangePosition(); + return this.get(e29, t) || this._defaultValue || I3.create(); + } + getLastCell() { + let { endRow: e29, endColumn: t } = this.getRangePosition(); + return this.get(e29, t) || this._defaultValue || I3.create(); + } + pick(e29) { + let t = this.pickRaw(e29); + return this._createNewArray(t, 1, t[0].length); + } + pickRaw(e29) { + let t = e29.getRowCount(), n = e29.getColumnCount(); + if (t !== this._rowCount || n !== this._columnCount) return [[I3.create()]]; + let r = []; + r[0] = []; + for (let i = 0; i < t; i++) for (let t2 = 0; t2 < n; t2++) { + let n2 = e29.get(i, t2); + if (!(n2 == null || n2.isError()) && n2.getValue() === true) { + let e30 = this.get(i, t2); + r[0].push(e30); + } + } + return r; + } + flatten() { + if (this._flattenCache != null) return this._flattenCache; + let e29 = []; + e29[0] = []; + for (let t2 = 0; t2 < this._rowCount; t2++) for (let n = 0; n < this._columnCount; n++) { + let r = this.get(t2, n); + e29[0].push(r); + } + let t = this._createNewArray(e29, 1, e29[0].length); + return t.setDefaultValue(this._defaultValue), this._flattenCache = t, t; + } + flattenPosition() { + if (this._flattenPosition != null) return this._flattenPosition; + let e29 = [], t = [], n = [], r = [], i = 0; + for (let a2 = 0; a2 < this._rowCount; a2++) for (let o = 0; o < this._columnCount; o++) { + let s = this.get(a2, o); + if (s == null || s.isError() || s.isNull()) { + i++; + continue; + } + s.isString() ? (e29.push(s), n.push(i++)) : (t.push(s), r.push(i++)); + } + let a = { stringArray: e29, numberArray: t, stringPosition: n, numberPosition: r }; + return this._flattenPosition = a, a; + } + slice(e29, t) { + let n = 0, r = this._rowCount, i = 1, a = 0, o = this._columnCount, s = 1; + if (e29 != null && (n = e29[0] || 0, r = e29[1] || this._rowCount, i = e29[2] || 1), t != null && (a = t[0] || 0, o = t[1] || this._columnCount, s = t[2] || 1), n >= this._rowCount || a >= this._columnCount) return; + let c = `${n}_${r}_${i}_${a}_${o}_${s}`, l = this._sliceCache.get(c); + if (l != null) return l; + let u = [], d = this._values, f = 0, p = 0; + for (let e30 = n; e30 < r; e30 += i) { + p = 0, u[f] == null && (u[f] = []); + for (let t2 = a; t2 < o; t2 += s) { + if (!d[e30]) return; + let n2 = d[e30][t2] || this._defaultValue; + n2 == null && (n2 = I3.create()), u[f][p] = n2, p++; + } + f++; + } + if (u.length === 0 || u[0].length === 0) return; + let m = i > 1 ? -1 : n + this._currentRow, h = s > 1 ? -1 : a + this._currentColumn, g2 = this._createNewArray(u, u.length, u[0].length, m, h); + return g2.setDefaultValue(this._defaultValue), this._sliceCache.set(c, g2), g2; + } + sortByRow(e29) { + let t = this._transposeArray(this._values); + t.sort(this._sort(e29)), this._clearCache(), this._values = this._transposeArray(t); + } + sortByColumn(e29) { + this._clearCache(), this._values.sort(this._sort(e29)); + } + transpose() { + let e29 = this._transposeArray(this._values), t = this._rowCount, n = this._columnCount, r = this._createNewArray(e29, n, t); + return r.setDefaultValue(this._defaultValue), r; + } + orderSearch(e29, t = yi2.MIN, n = false, r = false) { + let i, a, o, s, c = (n2, c2, l) => { + if (n2 == null || n2.isNull()) return true; + let u; + if (u = r === true ? n2.compare(e29, k3.EQUALS) : n2.isEqual(e29), (u == null ? void 0 : u.getValue()) === true) return i = n2, o = { row: c2, column: l }, false; + t === yi2.MAX ? n2.isGreaterThan(e29).getValue() === true && (a == null || n2.minus(e29).abs().isLessThanOrEqual(a.minus(e29).abs()).getValue() === true) && (a = n2, s = { row: c2, column: l }) : t === yi2.MIN && n2.isLessThan(e29).getValue() === true && (a == null || n2.minus(e29).abs().isLessThanOrEqual(a.minus(e29).abs()).getValue() === true) && (a = n2, s = { row: c2, column: l }); + }; + if (n ? this.iteratorReverse((e30, t2, n2) => c(e30, t2, n2)) : this.iterator((e30, t2, n2) => c(e30, t2, n2)), i != null) return o; + if (a != null) return s; + } + binarySearch(e29, t = vi.MIN, n = yi2.MIN) { + if (e29.isError()) return; + let { stringArray: r, stringPosition: i, numberArray: a, numberPosition: o } = this.flattenPosition(); + return e29.isString() ? this._binarySearch(e29, r, i, t, n) : this._binarySearch(e29, a, o, t, n); + } + _binarySearch(e29, t, n, r = vi.MIN, i = yi2.MIN) { + let a = bi2(), o = Number(e29.getValue()), s = !Number.isNaN(o), c = 0, l = t.length - 1, u = -1, d = -1, f = -1; + for (; c <= l; ) { + let n2 = Math.floor((c + l) / 2), i2 = t[n2], p; + if (i2.isNull()) p = r === vi.MIN ? 1 : -1; + else { + let t2 = i2.getValue(); + if (s) { + let e30 = Number(t2); + p = Number.isNaN(e30) ? 1 : Math.sign(e30 - o); + } else p = a(t2.toString().toLocaleLowerCase(), e29.getValue().toString().toLocaleLowerCase()); + } + if (r === vi.MAX && (p = -p), p === 0) { + u = n2; + break; + } + p < 0 ? (d = n2, c = n2 + 1) : (f = n2, l = n2 - 1); + } + if (i === yi2.NORMAL) return u === -1 ? void 0 : n[u]; + if (i === yi2.MIN) return u === -1 ? r === vi.MIN ? n[d] : n[f] : n[u]; + if (i === yi2.MAX) return u === -1 ? r === vi.MIN ? n[f] : n[d] : n[u]; + } + sum() { + let e29 = R4.create(0); + return this.iterator((t) => { + if (t == null || t.isString() || t.isBoolean() || t.isNull()) return true; + if (t.isError()) return e29 = t, false; + e29 = e29.plus(t); + }), e29; + } + max() { + let e29 = R4.create(-1 / 0); + return this.iterator((t) => { + if (t == null) return true; + if (t.isError()) return e29 = t, false; + if (t.isString() || t.isNull() || t.isBoolean()) return true; + e29.isLessThan(t).getValue() && (e29 = t); + }), e29; + } + min() { + let e29 = R4.create(1 / 0); + return this.iterator((t) => { + if (t == null) return true; + if (t.isError()) return e29 = t, false; + if (t.isString() || t.isNull() || t.isBoolean()) return true; + e29.isGreaterThan(t).getValue() && (e29 = t); + }), e29; + } + count() { + let e29 = R4.create(0); + return this.iterator((t) => { + if (t == null || t.isError() || t.isString() || t.isNull() || t.isBoolean()) return true; + e29 = e29.plusBy(1); + }), e29; + } + countA() { + let e29 = R4.create(0); + return this.iterator((t) => { + if (t == null || t.isNull()) return true; + e29 = e29.plusBy(1); + }), e29; + } + countBlank() { + let e29 = R4.create(0); + return this.iterator((t) => { + (t == null || t.isNull() || t.getValue() === ``) && (e29 = e29.plusBy(1)); + }), e29; + } + getNegative() { + return e24.create(`{0}`).minus(this); + } + getReciprocal() { + return e24.create(`{1}`).divided(this); + } + plus(e29) { + return this._batchOperator(e29, da2.PLUS); + } + minus(e29) { + return this._batchOperator(e29, da2.MINUS); + } + multiply(e29) { + return this._batchOperator(e29, da2.MULTIPLY); + } + divided(e29) { + return this._batchOperator(e29, da2.DIVIDED); + } + mod(e29) { + return this._batchOperator(e29, da2.MOD); + } + modInverse(e29) { + return this.map((t) => t.isError() ? t : e29.mod(t)); + } + compare(e29, t, n) { + return this._batchOperator(e29, da2.COMPARE, t, n); + } + concatenateFront(e29) { + return this._batchOperator(e29, da2.CONCATENATE_FRONT); + } + concatenateBack(e29) { + return this._batchOperator(e29, da2.CONCATENATE_BACK); + } + map(e29) { + return this.mapValue((t, n, r) => t == null ? I3.create() : t.isError() ? t : e29(t, n, r)); + } + mapValue(e29) { + let t = this._rowCount, n = this._columnCount, r = []; + for (let a = 0; a < t; a++) { + let t2 = []; + for (let r2 = 0; r2 < n; r2++) { + var i; + let n2 = (i = this._values) == null ? void 0 : i[a]; + if (n2 == null) t2[r2] = j3.create(D3.VALUE); + else { + let i2 = n2[r2] || this._defaultValue; + i2 ? t2[r2] = e29(i2, a, r2) : t2[r2] = I3.create(); + } + } + r.push(t2); + } + return this._createNewArray(r, t, n); + } + pow(e29) { + return this._batchOperator(e29, da2.POW); + } + powInverse(e29) { + return this.map((t) => t.isError() ? t : e29.pow(t)); + } + sqrt() { + return this.map((e29) => e29.isError() ? e29 : e29.sqrt()); + } + cbrt() { + return this.map((e29) => e29.isError() ? e29 : e29.cbrt()); + } + cos() { + return this.map((e29) => e29.isError() ? e29 : e29.cos()); + } + cosh() { + return this.map((e29) => e29.isError() ? e29 : e29.cosh()); + } + acos() { + return this.map((e29) => e29.isError() ? e29 : e29.acos()); + } + acosh() { + return this.map((e29) => e29.isError() ? e29 : e29.acosh()); + } + sin() { + return this.map((e29) => e29.isError() ? e29 : e29.sin()); + } + sinh() { + return this.map((e29) => e29.isError() ? e29 : e29.sinh()); + } + asin() { + return this.map((e29) => e29.isError() ? e29 : e29.asin()); + } + asinh() { + return this.map((e29) => e29.isError() ? e29 : e29.asinh()); + } + tan() { + return this.map((e29) => e29.isError() ? e29 : e29.tan()); + } + tanh() { + return this.map((e29) => e29.isError() ? e29 : e29.tanh()); + } + atan() { + return this.map((e29) => e29.isError() ? e29 : e29.atan()); + } + atanh() { + return this.map((e29) => e29.isError() ? e29 : e29.atanh()); + } + atan2(e29) { + return this._batchOperator(e29, da2.ATAN2); + } + atan2Inverse(e29) { + return this.map((t) => t.isError() ? t : e29.atan2(t)); + } + mean(e29 = 0) { + let t = this.sum(), n = this.count(); + return t.divided(e29 === 0 ? n : n.minusBy(1)); + } + median() { + let e29 = this.flattenPosition().numberArray, t = this._createNewArray([e29], 1, e29.length), n = t.getColumnCount(); + if (n <= 1) return t.get(0, 0) || I3.create(); + if (t.sortByRow(0), n % 2 == 0) { + let e30 = t.get(0, n / 2) || I3.create(), r = t.get(0, n / 2 - 1) || I3.create(); + return e30.plus(r).divided(R4.create(2)); + } + return t.get(0, (n - 1) / 2) || I3.create(); + } + var(t = 0) { + let n = this.mean(), r = [[]]; + this.iterator((e29) => { + if (e29 == null || e29.isError() || e29.isString() || e29.isBoolean() || e29.isNull()) return; + let t2 = e29.minus(n).pow(R4.create(2)); + t2.isError() || r[0].push(t2); + }); + let { _unitId: i, _sheetId: a, _currentRow: o, _currentColumn: s } = this; + return e24.create({ calculateValueList: r, rowCount: 1, columnCount: r[0].length, unitId: i, sheetId: a, row: o, column: s }).mean(t); + } + std(e29 = 0) { + let t = this.var(e29); + return t.isError() ? t : t.sqrt(); + } + log() { + return this.map((e29) => e29.isError() ? e29 : e29.log()); + } + log10() { + return this.map((e29) => e29.isError() ? e29 : e29.log10()); + } + exp() { + return this.map((e29) => e29.isError() ? e29 : e29.exp()); + } + abs() { + return this.map((e29) => e29.isError() ? e29 : e29.abs()); + } + round(e29) { + return this._batchOperator(e29, da2.ROUND); + } + roundInverse(e29) { + return this.map((t) => t.isError() ? t : e29.round(t)); + } + floor(e29) { + return this._batchOperator(e29, da2.FLOOR); + } + floorInverse(e29) { + return this.map((t) => t.isError() ? t : e29.floor(t)); + } + ceil(e29) { + return this._batchOperator(e29, da2.CEIL); + } + ceilInverse(e29) { + return this.map((t) => t.isError() ? t : e29.ceil(t)); + } + toValue() { + return ha(this._values); + } + _clearCache() { + this._flattenCache = null, this._sliceCache.clear(); + } + _sort(e29) { + let t = bi2(); + return (n, r) => { + let i = n[e29], a = r[e29]; + return i == null ? 1 : a == null ? -1 : i.isError() && i.isError() ? 0 : i.isError() ? 1 : a.isError() ? -1 : t(i.getValue(), a.getValue()); + }; + } + _transposeArray(e29) { + let t = e29.length, n = e29[0].length, r = []; + for (let i = 0; i < n; i++) { + r[i] = []; + for (let n2 = 0; n2 < t; n2++) r[i][n2] = e29[n2][i]; + } + return r; + } + _batchOperator(e29, t, n, r) { + let i = [], a = this._rowCount, o = this._columnCount; + if (e29.isArray()) { + let s2 = e29.getRowCount(), c2 = e29.getColumnCount(); + if (a = Math.max(s2, a), o = Math.max(c2, o), s2 === 1 && c2 === 1) { + let t2 = e29.getFirstCell(); + for (let e30 = 0; e30 < o; e30++) i.push(t2); + } else if (s2 === 1 && this._columnCount > 1) { + let t2 = e29.getArrayValue(); + for (let e30 = 0; e30 < o; e30++) t2[0] && t2[0][e30] ? i.push(t2[0][e30]) : i.push(I3.create()); + } else return this._batchOperatorArray(e29, t, n, r); + } else for (let t2 = 0; t2 < o; t2++) i.push(e29); + let s = []; + for (let e30 = 0; e30 < o; e30++) { + let a2 = i[e30]; + this._batchOperatorValue(a2, e30, s, t, n, r); + } + let c = this._createNewArray(s, a, o); + return c.setDefaultValue(L3.create(false)), c; + } + _batchOperatorValue(e29, t, n, r, i, a) { + let o = this._rowCount, s = this.getUnitId(), c = this.getSheetId(), l = this.getCurrentRow(), u = this.getCurrentColumn(); + if (r === da2.COMPARE) { + let { rowsInCache: d, rowsNotInCache: f } = ci2.canUseCache(s, c, t + u, l, l + o - 1); + if (d.length > 0) { + if (i === k3.EQUALS && !(e29.isString() && xi(e29.getValue()))) { + let r2 = ci2.getCellPositions(s, c, t + u, e29.isNull() ? null : e29.getValue(), d); + r2 != null && r2.forEach((e30) => { + if (e30 < l || e30 > l + o - 1) return; + let r3 = e30 - l; + n[r3] == null && (n[r3] = []), n[r3][t] = L3.create(true); + }); + } else { + let r2 = ci2.getCellValuePositions(s, c, t + u); + r2 != null && r2.forEach((r3, s2) => { + let c2 = I3.create(); + Ve2.has(s2) ? c2 = j3.create(s2) : typeof s2 == `string` ? c2 = z3.create(s2) : typeof s2 == `number` ? c2 = R4.create(s2) : typeof s2 == `boolean` && (c2 = L3.create(s2)); + let u2; + u2 = c2.isError() ? c2 : e29.isError() ? e29 : c2.compare(e29, i, a), r3.forEach((e30) => { + e30 >= l && e30 <= l + o - 1 && (n[e30 - l] == null && (n[e30 - l] = []), n[e30 - l][t] = u2); + }); + }); + } + if (f.length > 0) for (let o2 of f) { + let [d2, f2] = o2; + for (let o3 = d2; o3 <= f2; o3++) this.__batchOperatorRowValue(e29, t, n, r, o3 - l, s, c, l, u, i, a); + ci2.setContinueBuildingCache(s, c, t + u, d2, f2); + } + return; + } + } + for (let d = 0; d < o; d++) this.__batchOperatorRowValue(e29, t, n, r, d, s, c, l, u, i, a); + ci2.setContinueBuildingCache(s, c, t + u, l, l + o - 1); + } + __batchOperatorRowValue(e29, t, n, r, i, a, o, s, c, l, u) { + let d = this.getValueOrDefault(i, t); + if (n[i] == null && (n[i] = []), d && e29) if (d.isError()) n[i][t] = d; + else if (e29.isError()) n[i][t] = e29; + else switch (r) { + case da2.PLUS: + n[i][t] = d.plus(e29); + break; + case da2.MINUS: + n[i][t] = d.minus(e29); + break; + case da2.MULTIPLY: + n[i][t] = d.multiply(e29); + break; + case da2.DIVIDED: + n[i][t] = d.divided(e29); + break; + case da2.MOD: + n[i][t] = d.mod(e29); + break; + case da2.COMPARE: + l ? n[i][t] = d.compare(e29, l, u) : n[i][t] = j3.create(D3.VALUE); + break; + case da2.CONCATENATE_FRONT: + n[i][t] = d.concatenateFront(e29); + break; + case da2.CONCATENATE_BACK: + n[i][t] = d.concatenateBack(e29); + break; + case da2.POW: + n[i][t] = d.pow(e29); + break; + case da2.ROUND: + n[i][t] = d.round(e29); + break; + case da2.FLOOR: + n[i][t] = d.floor(e29); + break; + case da2.ATAN2: + n[i][t] = d.atan2(e29); + break; + case da2.CEIL: + n[i][t] = d.ceil(e29); + break; + } + else n[i][t] = j3.create(D3.NA); + !d || d != null && d.isNull() ? ci2.set(a, o, t + c, si2, i + s) : ci2.set(a, o, t + c, d.getValue(), i + s); + } + _batchOperatorArray(e29, t, n, r) { + let i = e29.getRowCount(), a = e29.getColumnCount(); + i < this._rowCount && (i = this._rowCount), a < this._columnCount && (a = this._columnCount); + let o = [], s = this._checkArrayCalculateType(this), c = this._checkArrayCalculateType(e29); + for (let l = 0; l < i; l++) { + let i2 = []; + for (let o2 = 0; o2 < a; o2++) { + let a2; + a2 = s === fa2.SINGLE ? this.getValueOrDefault(0, 0) : s === fa2.ROW ? this.getValueOrDefault(0, o2) : s === fa2.COLUMN ? this.getValueOrDefault(l, 0) : this.getValueOrDefault(l, o2); + let u; + if (u = c === fa2.SINGLE ? e29.getValueOrDefault(0, 0) : c === fa2.ROW ? e29.getValueOrDefault(0, o2) : c === fa2.COLUMN ? e29.getValueOrDefault(l, 0) : e29.getValueOrDefault(l, o2), a2 && u) if (a2.isError()) i2[o2] = a2; + else if (u.isError()) i2[o2] = u; + else switch (t) { + case da2.PLUS: + i2[o2] = a2.plus(u); + break; + case da2.MINUS: + i2[o2] = a2.minus(u); + break; + case da2.MULTIPLY: + i2[o2] = a2.multiply(u); + break; + case da2.DIVIDED: + i2[o2] = a2.divided(u); + break; + case da2.MOD: + i2[o2] = a2.mod(u); + break; + case da2.COMPARE: + n ? i2[o2] = a2.compare(u, n, r) : i2[o2] = j3.create(D3.VALUE); + break; + case da2.CONCATENATE_FRONT: + i2[o2] = a2.concatenateFront(u); + break; + case da2.CONCATENATE_BACK: + i2[o2] = a2.concatenateBack(u); + break; + case da2.POW: + i2[o2] = a2.pow(u); + break; + case da2.ROUND: + i2[o2] = a2.round(u); + break; + case da2.ATAN2: + i2[o2] = a2.atan2(u); + break; + case da2.FLOOR: + i2[o2] = a2.floor(u); + break; + case da2.CEIL: + i2[o2] = a2.ceil(u); + break; + } + else i2[o2] = j3.create(D3.NA); + } + o.push(i2); + } + return this._createNewArray(o, i, a); + } + _checkArrayCalculateType(e29) { + return e29.getRowCount() === 1 && e29.getColumnCount() === 1 ? fa2.SINGLE : e29.getRowCount() === 1 ? fa2.ROW : e29.getColumnCount() === 1 ? fa2.COLUMN : fa2.PRODUCT; + } + _formatValue(e29) { + if (typeof e29 != `string`) return e29 = e29, this._rowCount = e29.rowCount, this._columnCount = e29.columnCount, this._unitId = e29.unitId, this._sheetId = e29.sheetId, this._currentRow = e29.row, this._currentColumn = e29.column, e29.calculateValueList; + e29 = e29.slice(1, -1); + let t = e29.split(`;`), n = t.length, r = [], i = 0; + for (let e30 = 0; e30 < n; e30++) { + let n2 = t[e30].split(`,`), a = n2.length; + i < a && (i = a); + let o = []; + for (let e31 = 0; e31 < a; e31++) { + let t2 = n2[e31].trim(); + o.push(ga2.create(t2)); + } + r.push(o); + } + return this._rowCount = n, this._columnCount = i, r; + } + _createNewArray(t, n, r, i = -1, a = -1) { + (this._currentColumn === -1 || this._currentRow === -1) && (i = -1, a = -1); + let o = { calculateValueList: t, rowCount: n, columnCount: r, unitId: this.getUnitId(), sheetId: this.getSheetId(), row: i, column: a }; + return e24.create(o); + } + }; + var ga2 = class { + static create(e29, t = false) { + if (e29 == null) return I3.create(); + if (typeof e29 == `boolean`) return L3.create(e29); + if (typeof e29 == `string`) { + let n = e29.toLocaleUpperCase().trim(); + if (Ve2.has(n)) return j3.create(n); + if (n === Ne.TRUE || n === Ne.FALSE) return ca2(e29); + if (Ja(e29) && Number(e29).toString() === e29.trim()) return R4.create(Number(e29)); + if (!t) { + let { isNumberPattern: t2, value: n2, pattern: r2 } = Li(e29); + if (t2) return R4.create(n2, r2); + } + let r = e29.replace(/\n/g, ``).replace(/\r/g, ``); + return !_a2(r) && En(r) ? B3.create(r) : la2(e29); + } + return typeof e29 == `number` ? ua2(e29) : j3.create(D3.VALUE); + } + }; + function _a2(e29) { + let t = e29.trim(); + return t.startsWith(`"`) && t.endsWith(`"`); + } + var va2 = new Be2(1e4); + var ya2 = class extends Ue2 { + constructor(e29) { + super(), this._token = e29, E3(this, `_forcedSheetId`, ``), E3(this, `_forcedSheetName`, ``), E3(this, `_defaultSheetId`, ``), E3(this, `_rangeData`, { startColumn: -1, startRow: -1, endRow: -1, endColumn: -1 }), E3(this, `_unitData`, {}), E3(this, `_unitStylesData`, {}), E3(this, `_filteredOutRows`, []), E3(this, `_defaultUnitId`, ``), E3(this, `_forcedUnitId`, ``), E3(this, `_runtimeData`, {}), E3(this, `_arrayFormulaCellData`, {}), E3(this, `_arrayFormulaRange`, {}), E3(this, `_runtimeArrayFormulaCellData`, {}), E3(this, `_runtimeArrayFormulaRange`, {}), E3(this, `_runtimeFeatureCellData`, {}), E3(this, `_refOffsetX`, 0), E3(this, `_refOffsetY`, 0), E3(this, `_currentRow`, void 0), E3(this, `_currentColumn`, void 0); + } + dispose() { + this._unitData = {}, this._unitStylesData = {}, this._runtimeData = {}; + } + getToken() { + return this._token; + } + setToken(e29) { + this._token = e29; + } + isExceedRange() { + let { startRow: e29, endRow: t, startColumn: n, endColumn: r } = this.getRangePosition(); + return e29 < 0 || n < 0 || t >= this.getActiveSheetRowCount() || r >= this.getActiveSheetColumnCount(); + } + setRefOffset(e29 = 0, t = 0) { + this._refOffsetX = e29, this._refOffsetY = t; + } + getRefOffset() { + return { x: this._refOffsetX, y: this._refOffsetY }; + } + getRangePosition() { + let { x: e29, y: t } = this.getRefOffset(), n = Do(this.getRangeData(), e29, t); + return Number.isNaN(n.startRow) && (n.startRow = 0), Number.isNaN(n.startColumn) && (n.startColumn = 0), Number.isNaN(n.endRow) && (n.endRow = this.getActiveSheetRowCount() - 1), Number.isNaN(n.endColumn) && (n.endColumn = this.getActiveSheetColumnCount() - 1), n; + } + isReferenceObject() { + return true; + } + iterator(e29) { + let { startRow: t, endRow: n, startColumn: r, endColumn: i } = this.getRangePosition(); + if (this._checkIfWorksheetMiss()) return e29(j3.create(D3.VALUE), t, r); + let a = this._forcedUnitId || this._defaultUnitId, o = this._forcedSheetId || this._defaultSheetId; + for (let s = t; s <= n; s++) for (let n2 = r; n2 <= i; n2++) { + if (s < 0 || n2 < 0) return e29(j3.create(D3.REF), s, n2); + let i2 = this.getCellData(s, n2), c = false; + if (mi(i2)) { + c = e29(null, s, n2); + continue; + } + let l = this.getCellValueObject(i2); + if (s === t && n2 === r) { + let e30 = this.getCellPattern(a, o, s, n2); + if (e30 && l.isNumber()) { + let t2 = Number(l.getValue()); + l = R4.create(t2, e30); + } + } + if (c = e29(l, s, n2), c === false) return; + } + } + getFirstCell() { + if (this._checkIfWorksheetMiss()) return j3.create(D3.VALUE); + let { startRow: e29, startColumn: t } = this.getRangePosition(), n = this.getCellData(e29, t); + if (!n) return R4.create(0); + let r = this.getCellValueObject(n), i = this._forcedUnitId || this._defaultUnitId, a = this._forcedSheetId || this._defaultSheetId, o = this.getCellPattern(i, a, e29, t); + if (o && r.isNumber()) { + let e30 = Number(r.getValue()); + r = R4.create(e30, o); + } + return r; + } + getRangeData() { + return this._rangeData; + } + setRangeData(e29) { + this._rangeData = e29; + } + getUnitId() { + return this._forcedUnitId && this._forcedUnitId.length > 0 ? this._forcedUnitId : this._defaultUnitId; + } + getSheetId() { + return this._forcedSheetId && this._forcedSheetId.length > 0 ? this._forcedSheetId : this._defaultSheetId; + } + setForcedUnitIdDirect(e29) { + e29.length > 0 && (this._forcedUnitId = e29); + } + getForcedUnitId() { + return this._forcedUnitId; + } + setForcedSheetId(e29) { + var t; + this._forcedSheetId = (t = e29[this.getUnitId()]) == null ? void 0 : t[this._forcedSheetName]; + } + setForcedSheetIdDirect(e29) { + this._forcedSheetId = e29; + } + getForcedSheetId() { + return this._forcedSheetId; + } + setForcedSheetName(e29) { + e29.length > 0 && (this._forcedSheetName = e29); + } + getForcedSheetName() { + return this._forcedSheetName; + } + setDefaultSheetId(e29) { + this._defaultSheetId = e29; + } + getDefaultSheetId() { + return this._defaultSheetId; + } + setDefaultUnitId(e29) { + this._defaultUnitId = e29; + } + getDefaultUnitId() { + return this._defaultUnitId; + } + getUnitData() { + return this._unitData; + } + setUnitData(e29) { + this._unitData = e29; + } + getUnitStylesData() { + return this._unitStylesData; + } + setUnitStylesData(e29) { + this._unitStylesData = e29; + } + getFilteredOutRows() { + return this._filteredOutRows; + } + setFilteredOutRows(e29) { + this._filteredOutRows = e29; + } + getRuntimeData() { + return this._runtimeData; + } + setRuntimeData(e29) { + this._runtimeData = e29; + } + getArrayFormulaCellData() { + return this._arrayFormulaCellData; + } + setArrayFormulaCellData(e29) { + this._arrayFormulaCellData = e29; + } + getArrayFormulaRange() { + return this._arrayFormulaRange; + } + setArrayFormulaRange(e29) { + this._arrayFormulaRange = e29; + } + getRuntimeArrayFormulaCellData() { + return this._runtimeArrayFormulaCellData; + } + setRuntimeArrayFormulaCellData(e29) { + this._runtimeArrayFormulaCellData = e29; + } + getRuntimeArrayFormulaRange() { + return this._runtimeArrayFormulaRange; + } + setRuntimeArrayFormulaRange(e29) { + this._runtimeArrayFormulaRange = e29; + } + getRuntimeFeatureCellData() { + return this._runtimeFeatureCellData; + } + setRuntimeFeatureCellData(e29) { + this._runtimeFeatureCellData = e29; + } + getActiveSheetRowCount() { + var e29; + return ((e29 = this.getCurrentActiveSheetData()) == null ? void 0 : e29.rowCount) || 0; + } + getActiveSheetColumnCount() { + var e29; + return ((e29 = this.getCurrentActiveSheetData()) == null ? void 0 : e29.columnCount) || 0; + } + getRowCount() { + let e29 = this.getRangeData(); + return e29.endRow - e29.startRow + 1; + } + getColumnCount() { + let e29 = this.getRangeData(); + return e29.endColumn - e29.startColumn + 1; + } + getRowData() { + var e29; + return ((e29 = this.getCurrentActiveSheetData()) == null ? void 0 : e29.rowData) || {}; + } + getColumnData() { + var e29; + return ((e29 = this.getCurrentActiveSheetData()) == null ? void 0 : e29.columnData) || {}; + } + isCell() { + return false; + } + isColumn() { + return false; + } + isRow() { + return false; + } + isRange() { + return false; + } + isTable() { + return false; + } + isCurrentRowForRange() { + return false; + } + isCurrentColumnForRange() { + return false; + } + isMultiArea() { + return false; + } + unionBy(e29) { + return j3.create(D3.REF); + } + unionRange(e29, t) { + return { startRow: -1, startColumn: -1, endRow: -1, endColumn: -1 }; + } + getCellValueObject(e29) { + let t = hi(e29); + if (Ve2.has(t)) return j3.create(t); + if (e29.t === tr.NUMBER) { + let n = this._getPatternByCell(e29); + return aa(n) ? z3.create(t.toString()) : ua2(t, n); + } + return e29.t === tr.STRING || e29.t === tr.FORCE_STRING ? z3.create(t.toString()) : e29.t === tr.BOOLEAN ? ca2(t) : ga2.create(t); + } + _getPatternByCell(e29) { + var t; + let n = this._unitStylesData[this.getUnitId()]; + if (!n) return ``; + let r = n.getStyleByCell(e29); + return (r == null || (t = r.n) == null ? void 0 : t.pattern) || ``; + } + getCellByRow(e29) { + return this.getCellByPosition(e29); + } + getCellByColumn(e29) { + return this.getCellByPosition(void 0, e29); + } + getCurrentActiveSheetData() { + var e29; + return (e29 = this._unitData[this.getUnitId()]) == null ? void 0 : e29[this.getSheetId()]; + } + getCurrentStylesData() { + return this._unitStylesData[this.getUnitId()]; + } + getCurrentRuntimeSheetData() { + var e29; + return (e29 = this._runtimeData) == null || (e29 = e29[this.getUnitId()]) == null ? void 0 : e29[this.getSheetId()]; + } + getCurrentActiveArrayFormulaCellData() { + var e29; + return (e29 = this._arrayFormulaCellData) == null || (e29 = e29[this.getUnitId()]) == null ? void 0 : e29[this.getSheetId()]; + } + getCurrentRuntimeActiveArrayFormulaCellData() { + var e29; + return (e29 = this._runtimeArrayFormulaCellData) == null || (e29 = e29[this.getUnitId()]) == null ? void 0 : e29[this.getSheetId()]; + } + getCurrentActiveArrayFormulaRange() { + var e29; + return (e29 = this._arrayFormulaRange) == null || (e29 = e29[this.getUnitId()]) == null ? void 0 : e29[this.getSheetId()]; + } + getCurrentRuntimeActiveArrayFormulaRange() { + var e29; + return (e29 = this._runtimeArrayFormulaRange) == null || (e29 = e29[this.getUnitId()]) == null ? void 0 : e29[this.getSheetId()]; + } + getCellData(e29, t) { + let n = this.getCurrentActiveSheetData(), r = this.getCurrentRuntimeSheetData(), i = this.getCurrentActiveArrayFormulaCellData(), a = this.getCurrentRuntimeActiveArrayFormulaCellData(), o = new Sa(this.getCurrentActiveArrayFormulaRange()), s = new Sa(this.getCurrentRuntimeActiveArrayFormulaRange()), c = (r == null ? void 0 : r.getValue(e29, t)) || (a == null ? void 0 : a.getValue(e29, t)) || this.getRuntimeFeatureCellValue(e29, t); + if (c) return c; + if (c = i == null ? void 0 : i.getValue(e29, t), c) { + let n2 = false; + return o.forValue((r2, i2, a2) => { + if (e29 >= a2.startRow && e29 <= a2.endRow && t >= a2.startColumn && t <= a2.endColumn && s.getValue(r2, i2)) return n2 = true, false; + }), n2 ? null : c; + } + return n == null ? void 0 : n.cellData.getValue(e29, t); + } + getRuntimeFeatureCellValue(e29, t) { + return _i2(e29, t, this.getSheetId(), this.getUnitId(), this._runtimeFeatureCellData); + } + getCellByPosition(e29, t) { + let n = e29, r = t, i = this.getRangeData(); + n || (n = i.startRow), r || (r = i.startColumn); + let a = this.getCellData(n, r); + return a ? this.getCellValueObject(a) : j3.create(D3.VALUE); + } + setCurrentRowAndColumn(e29, t) { + this._currentRow = e29, this._currentColumn = t; + } + getCurrentRow() { + return this._currentRow; + } + getCurrentColumn() { + return this._currentColumn; + } + getCellPattern(e29, t, n, r) { + var i, a; + let o = this._unitStylesData[e29]; + if (!o) return ``; + let s = (i = this._unitData[e29]) == null || (i = i[t]) == null || (i = i.cellData) == null ? void 0 : i.getValue(n, r); + if (!s) return ``; + let c = o.getStyleByCell(s); + return (c == null || (a = c.n) == null ? void 0 : a.pattern) || ``; + } + toArrayValueObject(e29 = true) { + var t; + let { startRow: n, endRow: r, startColumn: i, endColumn: a } = this.getRangePosition(), o = `${this.getUnitId()}_${this.getSheetId()}_${n}_${r}_${i}_${a}`, s = va2.get(o); + if (s && e29) return s; + let c = r - n + 1, l = a - i + 1; + if (c < 0 || l < 0) return this._getBlankArrayValueObject(); + let u = Array(c); + this.iterator((e30, t2, r2) => { + let a2 = t2 - n, o2 = r2 - i; + u[a2] || (u[a2] = Array(l)), e30 == null && (e30 = I3.create()), u[a2][o2] = e30; + }); + let d = { calculateValueList: u, rowCount: u.length, columnCount: ((t = u[0]) == null ? void 0 : t.length) || 0, unitId: this.getUnitId(), sheetId: this.getSheetId(), row: n, column: i }, f = B3.create(d); + return e29 && va2.set(o, f), f; + } + toUnitRange() { + return { range: this.getRangePosition(), sheetId: this.getSheetId(), unitId: this.getUnitId() }; + } + _checkIfWorksheetMiss() { + return (this._forcedSheetId == null || this._forcedSheetId.length === 0) && this._forcedSheetName.length > 0; + } + _getBlankArrayValueObject() { + let e29 = { calculateValueList: [], rowCount: 0, columnCount: 0, unitId: this.getUnitId(), sheetId: this.getSheetId(), row: 0, column: 0 }; + return B3.create(e29); + } + }; + var ba2 = class extends Ue2 { + constructor(e29) { + super(), this._promise = e29; + } + isAsyncObject() { + return true; + } + async getValue() { + return this._promise; + } + }; + var xa2 = class extends Ue2 { + constructor(e29) { + super(), this._promiseList = e29; + } + isAsyncArrayObject() { + return true; + } + async getValue() { + var e29; + let t = []; + for (let e30 = 0; e30 < this._promiseList.length; e30++) { + let n2 = this._promiseList[e30]; + t[e30] == null && (t[e30] = []); + for (let r = 0; r < n2.length; r++) { + let i = n2[r]; + i.isAsyncObject() ? t[e30][r] = await i.getValue() : t[e30][r] = i; + } + } + let n = { calculateValueList: t, rowCount: t.length, columnCount: ((e29 = t[0]) == null ? void 0 : e29.length) || 0, unitId: ``, sheetId: ``, row: 0, column: 0 }; + return B3.create(n); + } + }; + var Sa2 = class extends ya2 { + constructor(e29, t, n) { + super(``), this.setRangeData(e29), t && this.setForcedSheetIdDirect(t), n && this.setForcedUnitIdDirect(n); + } + isRange() { + return true; + } + }; + var Ca = class extends ya2 { + constructor(e29) { + super(e29); + let t = Jr2(e29); + this.setForcedUnitIdDirect(t.unitId), this.setForcedSheetName(t.sheetName), this.setRangeData(t.range); + } + isCell() { + return true; + } + unionBy(e29) { + if (!e29.isCell()) return j3.create(D3.REF); + let t = e29, n = this.unionRange(this.getRangeData(), t.getRangeData()); + return this._createRange(n); + } + unionRange(e29, t) { + let n = e29.startRow, r = e29.startColumn, i = t.startRow, a = t.startColumn, o = { startRow: -1, startColumn: -1, endRow: -1, endColumn: -1 }; + return n > i ? (o.startRow = i, o.endRow = n) : (o.startRow = n, o.endRow = i), r > a ? (o.startColumn = a, o.endColumn = r) : (o.startColumn = r, o.endColumn = a), e29.startAbsoluteRefType && (o.startAbsoluteRefType = e29.startAbsoluteRefType), t.startAbsoluteRefType && (o.endAbsoluteRefType = t.startAbsoluteRefType), o; + } + _createRange(e29) { + let t = new Sa2(e29, this.getForcedSheetId(), this.getForcedUnitId()); + t.setUnitData(this.getUnitData()), t.setDefaultSheetId(this.getDefaultSheetId()), t.setDefaultUnitId(this.getDefaultUnitId()), t.setRuntimeData(this.getRuntimeData()), t.setUnitStylesData(this.getUnitStylesData()), t.setArrayFormulaCellData(this.getArrayFormulaCellData()), t.setRuntimeArrayFormulaCellData(this.getRuntimeArrayFormulaCellData()), t.setRuntimeFeatureCellData(this.getRuntimeFeatureCellData()); + let { x: n, y: r } = this.getRefOffset(); + t.setRefOffset(n, r); + let i = this.getForcedSheetId(); + t.setForcedSheetName(this.getForcedSheetName()), i != null && t.setForcedSheetIdDirect(i); + let a = this.getForcedUnitId(); + return a && t.setForcedUnitIdDirect(a), t; + } + }; + var wa = class extends ya2 { + constructor(e29) { + super(e29); + let t = Jr2(e29); + this.setForcedUnitIdDirect(t.unitId), this.setForcedSheetName(t.sheetName); + let n = { ...t.range, startColumn: t.range.startColumn, startRow: NaN, endColumn: t.range.endColumn, endRow: NaN, rangeType: B.COLUMN }; + this.setRangeData(n); + } + isColumn() { + return true; + } + unionBy(e29) { + if (!e29.isColumn()) return j3.create(D3.REF); + let t = e29; + if (t.getForcedSheetName() !== void 0 && t.getForcedSheetName() !== ``) return j3.create(D3.REF); + let n = this.getRangeData(), r = t.getRangeData(), i = r.startColumn; + if (i >= n.startColumn && i <= n.endColumn) return this; + let a = n.startColumn; + return i > a ? n.endColumn = i : (n.startColumn = i, n.endColumn = a), r.startAbsoluteRefType && (n.endAbsoluteRefType = r.startAbsoluteRefType), n.rangeType = B.COLUMN, this.setToken(`${this.getToken()}${A3.COLON}${t.getToken()}`), this; + } + }; + var Ta = class extends ya2 { + constructor(e29) { + super(e29); + let t = Jr2(e29); + this.setForcedUnitIdDirect(t.unitId), this.setForcedSheetName(t.sheetName); + let n = { ...t.range, startColumn: NaN, startRow: t.range.startRow, endColumn: NaN, endRow: t.range.endRow, rangeType: B.ROW }; + this.setRangeData(n); + } + isRow() { + return true; + } + unionBy(e29) { + if (!e29.isRow()) return j3.create(D3.REF); + let t = e29; + if (t.getForcedSheetName() !== void 0 && t.getForcedSheetName() !== ``) return j3.create(D3.REF); + let n = this.getRangeData(), r = t.getRangeData(), i = r.startRow; + if (i >= n.startRow && i <= n.endRow) return this; + let a = n.startRow; + return i > a ? n.endRow = i : (n.startRow = i, n.endRow = a), r.startAbsoluteRefType && (n.endAbsoluteRefType = r.startAbsoluteRefType), n.rangeType = B.ROW, this.setToken(`${this.getToken()}${A3.COLON}${t.getToken()}`), this; + } + }; + function V3(e29, t, n, r) { + let i = n.isArray() ? n.getRowCount() : 1, a = n.isArray() ? n.getColumnCount() : 1, o = []; + for (let s = 0; s < e29; s++) { + let e30 = []; + for (let o2 = 0; o2 < t; o2++) { + if (i === 1 && a === 1) { + let t3 = n.isArray() ? n.get(0, 0) : n; + e30.push(t3); + continue; + } + if (i === 1 && o2 < a) { + let t3 = n.get(0, o2); + e30.push(t3); + continue; + } + if (a === 1 && s < i) { + let t3 = n.get(s, 0); + e30.push(t3); + continue; + } + if (s >= i || o2 >= a) { + e30.push(r == null ? I3.create() : r); + continue; + } + let t2 = n.get(s, o2); + e30.push(t2); + } + o.push(e30); + } + return Ea2(o, e29, t); + } + function Ea2(e29, t, n, r = ``, i = ``) { + let a = { calculateValueList: e29, rowCount: t, columnCount: n, unitId: r, sheetId: i, row: -1, column: -1 }; + return B3.create(a); + } + function Da2(e29) { + let t = [k3.EQUALS, k3.NOT_EQUAL, k3.GREATER_THAN_OR_EQUAL, k3.GREATER_THAN, k3.LESS_THAN_OR_EQUAL, k3.LESS_THAN]; + for (let n of t) if (e29.startsWith(n)) { + let t2 = e29.substring(n.length); + return [n, ga2.create(t2)]; + } + return [k3.EQUALS, ga2.create(e29)]; + } + function Oa(e29, t, n, r) { + if (!n) if (t.isString()) { + let [e30, r2] = Da2(`${t.getValue()}`); + n = e30, t = r2; + } else n = k3.EQUALS; + return e29.compare(t, n, r); + } + function ka2(e29, t) { + let n = e29.getRowCount(), r = e29.getColumnCount(), i = t.getRowCount(), a = t.getColumnCount(), o = e29, s = t; + if (n !== i || r !== a) { + let c = Math.max(n, i), l = Math.max(r, a); + o = V3(c, l, e29), s = V3(c, l, t); + } + return o.mapValue((e30, t2, n2) => { + let r2 = s.get(t2, n2); + return e30 != null && e30.isError() ? e30 : r2 != null && r2.isError() ? r2 : e30 != null && e30.isBoolean() && r2 != null && r2.isBoolean() ? ca2(e30.getValue() && r2.getValue()) : L3.create(false); + }); + } + function Aa2(e29) { + let t = e29.getValue(), n = 0; + return t && (n = 1), R4.create(n); + } + function ja(e29) { + return e29.isArray() && e29.getRowCount() === 1 && e29.getColumnCount() === 1 ? true : e29.isReferenceObject() ? !!(e29.isCell() || e29.getRowCount() === 1 && e29.getColumnCount() === 1) : (e29 = e29, !!(e29.isString() || e29.isNumber() || e29.isBoolean() || e29.isError() || e29.isNull())); + } + function Ma(e29) { + let t = e29 == null ? void 0 : e29.getPattern(), n = {}, r = {}; + if (t && (n = { s: { n: { pattern: t } } }), e29 != null && e29.getCustomData() && (r = { custom: e29.getCustomData() }), e29 == null) return { v: null, ...n }; + if (e29.isError()) return { v: e29.getErrorType(), t: tr.STRING, ...n, ...r }; + if (e29.isValueObject()) { + let t2 = e29, a = t2.getValue(); + return t2.isNumber() ? { v: a, t: tr.NUMBER, ...n, ...r } : t2.isBoolean() ? { v: a ? 1 : 0, t: tr.BOOLEAN, ...n, ...r } : t2.isString() ? { v: a, t: tr.STRING, ...n, ...r } : t2.isNull() ? { v: null, ...n, ...r } : { v: a, t: tr.STRING, ...n, ...r }; + } + } + function Na(e29) { + let t = 0, n = 0; + return e29.forEach((e30, r) => { + if (r % 2 == 1) if (e30.isArray()) { + let r2 = e30; + t = Math.max(t, r2.getRowCount()), n = Math.max(n, r2.getColumnCount()); + } else t = Math.max(t, 1), n = Math.max(n, 1); + }), { maxRowLength: t, maxColumnLength: n }; + } + function Pa(e29, t) { + if (e29.length === 0 || e29.length % 2 != 0) return { isError: true, errorObject: j3.create(D3.VALUE), rangeIsDifferentSize: false, criteriaMaxRowLength: 0, criteriaMaxColumnLength: 0, targetRange: null, variants: [] }; + let n = null, r = -1, i = -1; + if (t) { + if (!t.isReferenceObject()) return { isError: true, errorObject: j3.create(D3.VALUE), rangeIsDifferentSize: false, criteriaMaxRowLength: 0, criteriaMaxColumnLength: 0, targetRange: null, variants: [] }; + n = t.toArrayValueObject(), r = n.getRowCount(), i = n.getColumnCount(); + } + let a = 0, o = 0, s = false, c = []; + for (let t2 = 0; t2 < e29.length; t2++) if (t2 % 2 == 1) { + let n2 = e29[t2 - 1], l = e29[t2]; + if (!n2.isReferenceObject()) return { isError: true, errorObject: j3.create(D3.VALUE), rangeIsDifferentSize: false, criteriaMaxRowLength: 0, criteriaMaxColumnLength: 0, targetRange: null, variants: [] }; + let u = n2.toArrayValueObject(), d = u.getRowCount(), f = u.getColumnCount(); + t2 === 1 && r === -1 && i === -1 ? (r = d, i = f) : !s && (r !== d || i !== f) && (s = true); + let p = l; + l.isReferenceObject() && (p = l.toArrayValueObject()), a = Math.max(a, p.isArray() ? p.getRowCount() : 1), o = Math.max(o, p.isArray() ? p.getColumnCount() : 1), c.push(u), c.push(p); + } + return { isError: false, errorObject: null, rangeIsDifferentSize: s, criteriaMaxRowLength: a, criteriaMaxColumnLength: o, targetRange: n, variants: c }; + } + function Fa2(e29) { + return e29.isArray() ? e29 : B3.createByArray([[e29.getValue()]]); + } + function Ia2(e29, t) { + let { formulaName: n, maxRowLength: r, maxColumnLength: i, isNumberSensitive: a = false, targetRange: o } = t, s = []; + for (let t2 = 0; t2 < e29.length; t2++) { + if (t2 % 2 == 1) continue; + let n2 = e29[t2], a2 = e29[t2 + 1], o2 = V3(r, i, a2, j3.create(D3.NA)); + s.push({ range: n2, criteriaArray: o2 }); + } + if (s.length === 0) return []; + let c = []; + return s[0].criteriaArray.iterator((e30, t2, r2) => { + let i2; + for (let e31 = 0; e31 < s.length; e31++) { + let { range: n2, criteriaArray: o2 } = s[e31], c2 = o2.get(t2, r2); + if (!c2) continue; + let l2 = Oa(n2, c2); + if (a && (l2 = La(l2, n2, c2)), i2 === void 0) { + i2 = l2; + continue; + } + i2 = ka2(i2, l2); + } + let l; + if (n === `COUNTIFS`) { + let e31 = 0; + i2.iterator((t3) => { + t3 != null && t3.isBoolean() && t3.getValue() === true && e31++; + }), l = R4.create(e31); + } else if (n === `SUMIFS`) l = o.pick(i2).sum(); + else if (n === `AVERAGEIFS`) { + let e31 = o.pick(i2), t3 = e31.sum(), n2 = e31.count(); + l = t3.divided(n2); + } else if (n === `MAXIFS`) { + let e31 = o.pick(i2); + l = e31.getColumnCount() === 0 ? B3.create(`0`) : e31.max(); + } else if (n === `MINIFS`) { + let e31 = o.pick(i2); + l = e31.getColumnCount() === 0 ? B3.create(`0`) : e31.min(); + } + c[t2] || (c[t2] = []), c[t2][r2] = l; + }), c; + } + function La(e29, t, n) { + let [r, i] = Da2(`${n.getValue()}`); + return e29.mapValue((e30, n2, a) => { + let o = t.get(n2, a); + if (o && Ra(o, i)) return e30; + if (o != null && o.isError() && i.isError() && o.getValue() === i.getValue()) return L3.create(true); + if (r === k3.EQUALS || r === k3.NOT_EQUAL) { + if (o != null && o.isNumber() && i.isString()) { + let e31 = i.convertToNumberObjectValue(); + if (e31.isNumber()) return o.compare(e31, r); + } + if (i.isNumber() && o != null && o.isString()) { + let e31 = o.convertToNumberObjectValue(); + if (e31.isNumber()) return e31.compare(i, r); + } + if (r === k3.EQUALS) return L3.create(false); + if (r === k3.NOT_EQUAL) return L3.create(true); + } + return L3.create(false); + }); + } + function Ra(e29, t) { + if (e29.isNumber() && t.isNumber() || e29.isBoolean() && t.isBoolean()) return true; + let n = e29.isString() && e29.getValue() === ``, r = t.isString() && t.getValue() === ``; + return !!((n || e29.isNull()) && (r || t.isNull()) || e29.isString() && !n && t.isString() && !r); + } + var za2 = (function(e29) { + return e29[e29.CELL = 0] = `CELL`, e29[e29.COLUMN = 1] = `COLUMN`, e29[e29.ROW = 2] = `ROW`, e29; + })({}); + function Ba2(e29, t) { + let n; + switch (t) { + case za2.COLUMN: + n = new wa(e29); + break; + case za2.ROW: + n = new Ta(e29); + break; + case za2.CELL: + default: + n = new Ca(e29); + break; + } + return n; + } + function Va(e29, t) { + let n; + return n = e29.isCell() && t.isCell() || e29.isRow() && t.isRow() || e29.isColumn() && t.isColumn() ? e29.unionBy(t) : j3.create(D3.NAME), n; + } + var Ha2 = class extends E { + constructor(e29) { + super(), this._univerInstanceService = e29; + } + generateCellValue(e29, t) { + if (t.trim() === ``) return { v: `` }; + let n = e29; + if (e29.startsWith(`#`) && Dn2(e29.slice(1))) { + let { unitId: t2, sheetName: r, range: i } = Zn2(e29.slice(1)), a = this._univerInstanceService.getCurrentUnitOfType(O.UNIVER_SHEET); + if (t2 === `` || t2 === a.getUnitId()) if (r === ``) n = `#gid=${a.getActiveSheet().getSheetId()}&range=${Gn2(i)}`; + else { + let e30 = a.getSheetBySheetName(r); + e30 && (n = `#gid=${e30.getSheetId()}&range=${Gn2(i)}`); + } + } else D.isLegalUrl(e29) && (n = D.normalizeUrl(e29)); + return { p: il.create().insertLink(t, n).getData() }; + } + }; + Ha2 = dr2([P5(0, Mu)], Ha2); + var Ua = createIdentifier(`univer.formula.hyperlink-engine-formula.service`); + var Wa = (function(e29) { + return e29[e29.IDLE = 0] = `IDLE`, e29[e29.START = 1] = `START`, e29[e29.START_DEPENDENCY = 2] = `START_DEPENDENCY`, e29[e29.START_CALCULATION = 3] = `START_CALCULATION`, e29[e29.CURRENTLY_CALCULATING = 4] = `CURRENTLY_CALCULATING`, e29[e29.START_DEPENDENCY_ARRAY_FORMULA = 5] = `START_DEPENDENCY_ARRAY_FORMULA`, e29[e29.START_CALCULATION_ARRAY_FORMULA = 6] = `START_CALCULATION_ARRAY_FORMULA`, e29[e29.CURRENTLY_CALCULATING_ARRAY_FORMULA = 7] = `CURRENTLY_CALCULATING_ARRAY_FORMULA`, e29[e29.CALCULATION_COMPLETED = 8] = `CALCULATION_COMPLETED`, e29; + })({}); + var Ga = (function(e29) { + return e29[e29.INITIAL = 0] = `INITIAL`, e29[e29.STOP_EXECUTION = 1] = `STOP_EXECUTION`, e29[e29.NOT_EXECUTED = 2] = `NOT_EXECUTED`, e29[e29.SUCCESS = 3] = `SUCCESS`, e29; + })({}); + var Ka2 = class extends E { + constructor(e29, t) { + super(), this._currentConfigService = e29, this._hyperlinkEngineFormulaService = t, E3(this, `_formulaExecuteStage`, Wa.IDLE), E3(this, `_stopState`, false), E3(this, `_currentRow`, -1), E3(this, `_currentColumn`, -1), E3(this, `_currentRowCount`, -1 / 0), E3(this, `_currentColumnCount`, -1 / 0), E3(this, `_currentSubUnitId`, ``), E3(this, `_currentUnitId`, ``), E3(this, `_runtimeData`, {}), E3(this, `_runtimeOtherData`, {}), E3(this, `_unitArrayFormulaRange`, {}), E3(this, `_unitArrayFormulaEmbeddedMap`, {}), E3(this, `_runtimeArrayFormulaCellData`, {}), E3(this, `_runtimeClearArrayFormulaCellData`, {}), E3(this, `_runtimeFeatureRange`, {}), E3(this, `_runtimeFeatureCellData`, {}), E3(this, `_runtimeImageFormulaData`, []), E3(this, `_functionsExecutedState`, Ga.INITIAL), E3(this, `_functionDefinitionPrivacyVar`, /* @__PURE__ */ new Map()), E3(this, `_totalFormulasToCalculate`, 0), E3(this, `_completedFormulasCount`, 0), E3(this, `_totalArrayFormulasToCalculate`, 0), E3(this, `_completedArrayFormulasCount`, 0), E3(this, `_formulaCycleIndex`, 0), E3(this, `_isCycleDependency`, false), E3(this, `_dependencyTreeModelData`, []); + } + get currentRow() { + return this._currentRow; + } + get currentColumn() { + return this._currentColumn; + } + get currentRowCount() { + return this._currentRowCount; + } + get currentColumnCount() { + return this._currentColumnCount; + } + get currentSubUnitId() { + return this._currentSubUnitId; + } + get currentUnitId() { + return this._currentUnitId; + } + dispose() { + super.dispose(), this.reset(), this._runtimeFeatureCellData = {}, this._runtimeFeatureRange = {}, this.clearReferenceAndNumberformatCache(); + } + enableCycleDependency() { + this._isCycleDependency = true; + } + disableCycleDependency() { + this._isCycleDependency = false; + } + isCycleDependency() { + return this._isCycleDependency; + } + setFormulaCycleIndex(e29) { + this._formulaCycleIndex = e29; + } + getFormulaCycleIndex() { + return this._formulaCycleIndex; + } + setTotalArrayFormulasToCalculate(e29) { + this._totalArrayFormulasToCalculate = e29; + } + getTotalArrayFormulasToCalculate() { + return this._totalArrayFormulasToCalculate; + } + setCompletedArrayFormulasCount(e29) { + this._completedArrayFormulasCount = e29; + } + getCompletedArrayFormulasCount() { + return this._completedArrayFormulasCount; + } + setTotalFormulasToCalculate(e29) { + this._totalFormulasToCalculate = e29; + } + getTotalFormulasToCalculate() { + return this._totalFormulasToCalculate; + } + setCompletedFormulasCount(e29) { + this._completedFormulasCount = e29; + } + getCompletedFormulasCount() { + return this._completedFormulasCount; + } + markedAsSuccessfullyExecuted() { + this._functionsExecutedState = Ga.SUCCESS; + } + markedAsNoFunctionsExecuted() { + this._functionsExecutedState = Ga.NOT_EXECUTED; + } + markedAsStopFunctionsExecuted() { + this._functionsExecutedState = Ga.STOP_EXECUTION; + } + markedAsInitialFunctionsExecuted() { + this._functionsExecutedState = Ga.INITIAL; + } + stopExecution() { + this._stopState = true, this.setFormulaExecuteStage(Wa.IDLE); + } + isStopExecution() { + return this._stopState; + } + setFormulaExecuteStage(e29) { + this._formulaExecuteStage = e29; + } + getFormulaExecuteStage() { + return this._formulaExecuteStage; + } + reset() { + this._formulaExecuteStage = Wa.IDLE, this._runtimeData = {}, this._runtimeOtherData = {}, this._unitArrayFormulaRange = {}, this._unitArrayFormulaEmbeddedMap = {}, this._runtimeArrayFormulaCellData = {}, this._runtimeClearArrayFormulaCellData = {}, this._runtimeImageFormulaData = [], this._functionDefinitionPrivacyVar.clear(), this.markedAsInitialFunctionsExecuted(), this._stopState = false, this._isCycleDependency = false, this._totalFormulasToCalculate = 0, this._completedFormulasCount = 0, this.clearReferenceAndNumberformatCache(); + } + clearReferenceAndNumberformatCache() { + ji(), zi(), Yr2(); + } + setCurrent(e29, t, n, r, i, a) { + this._currentRow = e29, this._currentColumn = t, this._currentRowCount = n, this._currentColumnCount = r, this._currentSubUnitId = i, this._currentUnitId = a; + } + clearFunctionDefinitionPrivacyVar() { + this._functionDefinitionPrivacyVar.clear(); + } + registerFunctionDefinitionPrivacyVar(e29, t) { + this._functionDefinitionPrivacyVar.set(e29, t); + } + getFunctionDefinitionPrivacyVar(e29) { + return this._functionDefinitionPrivacyVar.get(e29); + } + setRuntimeOtherData(e29, t, n, r) { + let i = this._currentSubUnitId, a = this._currentUnitId; + this._runtimeOtherData[a] === void 0 && (this._runtimeOtherData[a] = {}); + let o = this._runtimeOtherData[a]; + (o[i] === void 0 || o[i] === null) && (o[i] = {}); + let s = o[i], c = []; + if (r.isReferenceObject() || r.isValueObject() && r.isArray()) { + let e30 = r, { startRow: t2, startColumn: n2 } = e30.getRangePosition(); + e30.iterator((e31, r2, i2) => { + let a2 = this._getValueObjectOfRuntimeData(e31), o2 = r2 - t2, s2 = i2 - n2; + c[o2] == null && (c[o2] = []), c[o2][s2] = a2; + }); + } else c = [[this._getValueObjectOfRuntimeData(r)]]; + (s[e29] === void 0 || s[e29] === null) && (s[e29] = {}), (s[e29][n] === void 0 || s[e29][n] === null) && (s[e29][n] = {}), s[e29][n][t] = c; + } + setRuntimeData(e29) { + let t = this._currentRow, n = this._currentColumn, r = this._currentRowCount, i = this.currentColumnCount, a = this._currentSubUnitId, o = this._currentUnitId; + this._runtimeData[o] == null && (this._runtimeData[o] = {}); + let s = this._runtimeData[o]; + s[a] == null && (s[a] = new Sa()); + let c = s[a]; + this._unitArrayFormulaRange[o] == null && (this._unitArrayFormulaRange[o] = {}); + let l = this._unitArrayFormulaRange[o]; + (l[a] === null || l[a] === void 0) && (l[a] = {}); + let u = new Sa(l[a]); + this._runtimeArrayFormulaCellData[o] === void 0 && (this._runtimeArrayFormulaCellData[o] = {}); + let d = this._runtimeArrayFormulaCellData[o]; + d[a] == null && (d[a] = new Sa()); + let f = d[a]; + this._runtimeClearArrayFormulaCellData[o] === void 0 && (this._runtimeClearArrayFormulaCellData[o] = {}); + let p = this._runtimeClearArrayFormulaCellData[o]; + p[a] == null && (p[a] = new Sa()); + let m = p[a]; + if (e29.isReferenceObject() || e29.isValueObject() && e29.isArray()) { + let s2 = e29, { startRow: l2, startColumn: d2, endRow: p2, endColumn: h } = s2.getRangePosition(); + if (l2 === p2 && d2 === h) { + let e30 = s2.getFirstCell(), r2 = this._getValueObjectOfRuntimeData(e30); + c.setValue(t, n, r2), m.setValue(t, n, r2), ci2.set(o, a, n, e30.getValue(), t, true); + return; + } + let g2 = { startRow: t, startColumn: n, endRow: p2 - l2 + t, endColumn: h - d2 + n }; + if (u.setValue(t, n, g2), this._checkIfArrayFormulaRangeHasData(o, a, t, n, g2) || this._checkIfArrayFormulaExceeded(r, i, g2)) { + let e30 = this._getValueObjectOfRuntimeData(j3.create(D3.SPILL)); + c.setValue(t, n, e30), m.setValue(t, n, e30), ci2.set(o, a, n, D3.SPILL, t, true); + let r2 = this._currentConfigService.getUnitData(); + s2.iterator((i2, s3, c2) => { + var u2; + let p3 = s3 - l2 + t, m2 = c2 - d2 + n, h2 = (u2 = r2[o]) == null || (u2 = u2[a]) == null ? void 0 : u2.cellData.getValue(p3, m2); + if (s3 === l2 && c2 === d2) f.setValue(t, n, e30); + else if (h2 != null) h2.v == null && (h2.v = ``), f.setValue(p3, m2, h2); + else if (this._isInOtherArrayFormulaRange(o, a, t, n, p3, m2)) return true; + else f.setValue(p3, m2, { v: `` }); + }); + } else { + let e30 = j3.create(D3.SPILL); + s2.iterator((r2, i2, s3) => { + ci2.set(o, a, n - d2 + s3, r2 ? r2.getValue() : 0, t - l2 + i2, true); + let u2 = this._getValueObjectOfRuntimeData(r2); + if (i2 === l2 && s3 === d2) { + if (r2 != null && r2.isError() && r2.isEqualType(e30)) return m.setValue(t, n, {}), c.setValue(t, n, { ...this._getValueObjectOfRuntimeData(e30) }), false; + c.setValue(t, n, { ...u2 }); + } + let p3 = i2 - l2 + t, h2 = s3 - d2 + n; + f.setValue(p3, h2, u2); + }); + } + } else { + let r2 = this._getValueObjectOfRuntimeData(e29); + if (c.setValue(t, n, r2), e29.isString() && e29.isImage()) { + let r3 = e29.getImageInfo(); + r3 && this._runtimeImageFormulaData.push({ ...r3, unitId: o, sheetId: a, row: t, column: n }); + } + ci2.set(o, a, n, e29.getValue(), t, true), m.setValue(t, n, r2); + } + } + _getValueObjectOfRuntimeData(e29) { + return e29 != null && e29.isString() && e29.isHyperlink() ? this._hyperlinkEngineFormulaService.generateCellValue(e29.getHyperlinkUrl(), e29.getValue()) : Ma(e29); + } + getUnitData() { + return this._runtimeData; + } + getUnitArrayFormula() { + return this._unitArrayFormulaRange; + } + getUnitArrayFormulaEmbeddedMap() { + return this._unitArrayFormulaEmbeddedMap; + } + setUnitArrayFormulaEmbeddedMap() { + let e29 = this._currentUnitId, t = this._currentSubUnitId, n = this._currentRow, r = this._currentColumn, i = this._unitArrayFormulaEmbeddedMap; + i[e29] == null && (i[e29] = {}), i[e29][t] == null && (i[e29][t] = {}), i[e29][t][n] == null && (i[e29][t][n] = {}), i[e29][t][n][r] = true; + } + getRuntimeOtherData() { + return this._runtimeOtherData; + } + getRuntimeArrayFormulaCellData() { + return this._runtimeArrayFormulaCellData; + } + getRuntimeClearArrayFormulaCellData() { + return this._runtimeClearArrayFormulaCellData; + } + getRuntimeFeatureRange() { + return this._runtimeFeatureRange; + } + setRuntimeFeatureRange(e29, t) { + this._runtimeFeatureRange[e29] = t; + } + getRuntimeFeatureCellData() { + return this._runtimeFeatureCellData; + } + setRuntimeFeatureCellData(e29, t) { + this._runtimeFeatureCellData[e29] = t; + } + setDependencyTreeModelData(e29) { + this._dependencyTreeModelData = e29; + } + getDependencyTreeModelData() { + return this._dependencyTreeModelData; + } + getRuntimeImageFormulaData() { + return this._runtimeImageFormulaData; + } + getAllRuntimeData() { + return { unitData: this.getUnitData(), arrayFormulaRange: this.getUnitArrayFormula(), arrayFormulaEmbedded: this.getUnitArrayFormulaEmbeddedMap(), unitOtherData: this.getRuntimeOtherData(), functionsExecutedState: this._functionsExecutedState, arrayFormulaCellData: this.getRuntimeArrayFormulaCellData(), clearArrayFormulaCellData: this.getRuntimeClearArrayFormulaCellData(), imageFormulaData: this.getRuntimeImageFormulaData(), runtimeFeatureRange: this.getRuntimeFeatureRange(), runtimeFeatureCellData: this.getRuntimeFeatureCellData(), dependencyTreeModelData: this.getDependencyTreeModelData() }; + } + getRuntimeState() { + return { totalFormulasToCalculate: this.getTotalFormulasToCalculate(), completedFormulasCount: this.getCompletedFormulasCount(), totalArrayFormulasToCalculate: this.getTotalArrayFormulasToCalculate(), completedArrayFormulasCount: this.getCompletedArrayFormulasCount(), stage: this.getFormulaExecuteStage(), formulaCycleIndex: this.getFormulaCycleIndex() }; + } + clearArrayObjectCache() { + va2.clear(); + } + _checkIfArrayFormulaRangeHasData(e29, t, n, r, i) { + var a; + let { startRow: o, startColumn: s, endRow: c, endColumn: l } = i, u = this._currentConfigService.getUnitData(), d = this._currentConfigService.getArrayFormulaCellData(); + (a = this._unitArrayFormulaRange[e29]) == null || (a = a[t]) == null || (a = a[n]) == null || a[r]; + for (let i2 = o; i2 <= c; i2++) for (let a2 = s; a2 <= l; a2++) { + var f, p, m; + if (i2 === n && r === a2) continue; + let o2 = (f = this._runtimeData) == null || (f = f[e29]) == null || (f = f[t]) == null ? void 0 : f.getValue(i2, a2); + d == null || (p = d[e29]) == null || (p = p[t]) == null || p.getValue(i2, a2); + let s2 = u == null || (m = u[e29]) == null || (m = m[t]) == null || (m = m.cellData) == null ? void 0 : m.getValue(i2, a2), c2 = this._getRuntimeFeatureCellValue(i2, a2, t, e29); + if (!mi(o2) || this._isInOtherArrayFormulaRange(e29, t, n, r, i2, a2) || !mi(s2) || !mi(c2)) return true; + } + return false; + } + _getRuntimeFeatureCellValue(e29, t, n, r) { + return _i2(e29, t, n, r, this._runtimeFeatureCellData); + } + _arrayCellHasData(e29) { + return e29 == null ? false : e29.v !== void 0; + } + _isInOtherArrayFormulaRange(e29, t, n, r, i, a) { + var o; + let s = (o = this._currentConfigService.getArrayFormulaRange()[e29]) == null ? void 0 : o[t]; + if (s == null) return false; + let c = false; + return new Sa(s).forValue((o2, s2, l) => { + var u; + if (o2 === n && s2 === r) return; + let d = this._isInArrayFormulaRange(l, i, a), f = (u = this._runtimeData[e29]) == null || (u = u[t]) == null ? void 0 : u.getValue(o2, s2); + d && (f == null ? void 0 : f.v) !== D3.SPILL && (c = true); + }), c; + } + _isInArrayFormulaRange(e29, t, n) { + if (e29 == null) return false; + let { startRow: r, startColumn: i, endRow: a, endColumn: o } = e29; + return t >= r && t <= a && n >= i && n <= o; + } + _checkIfArrayFormulaExceeded(e29, t, n) { + return n.endRow >= e29 || n.endColumn >= t; + } + _isInDirtyRange(e29, t, n, r) { + let i = this._currentConfigService.getDirtyRanges(); + return i.length === 0 ? true : Et2(i, e29, t, n, r); + } + }; + Ka2 = dr2([P5(0, fi2), P5(1, Ua)], Ka2); + var qa2 = createIdentifier(`univer.formula.runtime.service`); + var H3 = (function(e29) { + return e29[e29.REFERENCE = 1] = `REFERENCE`, e29[e29.VALUE = 2] = `VALUE`, e29[e29.OPERATOR = 3] = `OPERATOR`, e29[e29.FUNCTION = 4] = `FUNCTION`, e29[e29.LAMBDA = 5] = `LAMBDA`, e29[e29.LAMBDA_PARAMETER = 6] = `LAMBDA_PARAMETER`, e29[e29.ERROR = 7] = `ERROR`, e29[e29.BASE = 8] = `BASE`, e29[e29.ROOT = 9] = `ROOT`, e29[e29.UNION = 10] = `UNION`, e29[e29.PREFIX = 11] = `PREFIX`, e29[e29.SUFFIX = 12] = `SUFFIX`, e29[e29.NULL = 13] = `NULL`, e29; + })({}); + var Ja2 = /* @__PURE__ */ new Map([[H3.REFERENCE, 7], [H3.VALUE, 9], [H3.OPERATOR, 8], [H3.FUNCTION, 6], [H3.LAMBDA, 1], [H3.LAMBDA_PARAMETER, 2], [H3.ROOT, 10], [H3.UNION, 3], [H3.PREFIX, 4], [H3.SUFFIX, 5]]); + var Ya2 = class { + constructor(e29) { + this._token = e29, E3(this, `_children`, []), E3(this, `_definedNames`, void 0), E3(this, `_parent`, void 0), E3(this, `_valueObject`, void 0), E3(this, `_calculateState`, false), E3(this, `_async`, false), E3(this, `_address`, false), E3(this, `_isForcedCalculateFunction`, false); + } + dispose() { + var e29; + this._children.forEach((e30) => { + e30.dispose(); + }), (e29 = this._valueObject) == null || e29.dispose(), this._valueObject = null, this._children = [], this._definedNames = null, this._parent = null; + } + get nodeType() { + return H3.BASE; + } + resetCalculationState() { + this._children.forEach((e29) => { + e29.resetCalculationState(); + }), this._valueObject = null, this._calculateState = false; + } + isAsync() { + return this._async; + } + isAddress() { + return this._address; + } + isForcedCalculateFunction() { + return this._isForcedCalculateFunction; + } + setAsync() { + this._async = true; + } + setAddress() { + this._address = true; + } + getParent() { + return this._parent; + } + setParent(e29) { + this._parent = e29, e29.addChildren(this); + } + setForcedCalculateFunction() { + this._isForcedCalculateFunction = true; + } + getChildren() { + return this._children; + } + addChildren(...e29) { + this._children.push(...e29); + } + getToken() { + return this._token; + } + setValue(e29) { + this._valueObject = e29; + } + getValue() { + return this._valueObject; + } + isCalculated() { + return this._calculateState; + } + setCalculated() { + this._calculateState = true; + } + execute() { + } + setNotEmpty(e29 = true) { + } + async executeAsync() { + return Promise.resolve(Pe.SUCCESS); + } + serialize() { + let e29 = this.getToken(), t = this.getChildren(), n = [], r = t.length; + for (let e30 = 0; e30 < r; e30++) { + let r2 = t[e30]; + n.push(r2.serialize()); + } + let i = { token: e29, nodeType: this.nodeType }; + return r > 0 && (i.children = n), i; + } + hasDefinedName(e29) { + var t; + return ((t = this._definedNames) == null ? void 0 : t.includes(e29)) || false; + } + setDefinedNames(e29) { + this._definedNames = e29; + } + getDefinedNames() { + return this._definedNames; + } + }; + var Xa = class e25 extends Ya2 { + constructor(e29) { + super(e29), E3(this, `_errorValueObject`, void 0), this._errorValueObject = j3.create(e29); + } + get nodeType() { + return H3.ERROR; + } + static create(t) { + return new e25(t); + } + getValue() { + return this._errorValueObject; + } + }; + var Za2 = class { + get zIndex() { + return 0; + } + dispose() { + } + create(e29, t, n) { + let r; + return r = e29 instanceof F3 ? e29.getToken() : e29, new Ya2(r); + } + }; + var Qa = class extends Ya2 { + get nodeType() { + return H3.ROOT; + } + execute() { + let e29 = this.getChildren(); + if (e29.length > 1) { + this.setValue(j3.create(D3.VALUE)); + return; + } + let t = e29[0]; + t == null ? this.setValue(j3.create(D3.VALUE)) : this.setValue(t.getValue()); + } + }; + var $a2 = class extends Za2 { + get zIndex() { + return Ja2.get(H3.ROOT) || 100; + } + checkAndCreateNodeType(e29) { + if (e29 instanceof F3 && e29.getToken() === `R_1`) return new Qa(`R_1`); + } + }; + var eo2 = (function(e29) { + return e29.DATE = `DATE`, e29.DATEDIF = `DATEDIF`, e29.DATEVALUE = `DATEVALUE`, e29.DAY = `DAY`, e29.DAYS = `DAYS`, e29.DAYS360 = `DAYS360`, e29.EDATE = `EDATE`, e29.EOMONTH = `EOMONTH`, e29.EPOCHTODATE = `EPOCHTODATE`, e29.HOUR = `HOUR`, e29.ISOWEEKNUM = `ISOWEEKNUM`, e29.MINUTE = `MINUTE`, e29.MONTH = `MONTH`, e29.NETWORKDAYS = `NETWORKDAYS`, e29.NETWORKDAYS_INTL = `NETWORKDAYS.INTL`, e29.NOW = `NOW`, e29.SECOND = `SECOND`, e29.TIME = `TIME`, e29.TIMEVALUE = `TIMEVALUE`, e29.TO_DATE = `TO_DATE`, e29.TODAY = `TODAY`, e29.WEEKDAY = `WEEKDAY`, e29.WEEKNUM = `WEEKNUM`, e29.WORKDAY = `WORKDAY`, e29.WORKDAY_INTL = `WORKDAY.INTL`, e29.YEAR = `YEAR`, e29.YEARFRAC = `YEARFRAC`, e29; + })({}); + var U3 = (function(e29) { + return e29.BESSELI = `BESSELI`, e29.BESSELJ = `BESSELJ`, e29.BESSELK = `BESSELK`, e29.BESSELY = `BESSELY`, e29.BIN2DEC = `BIN2DEC`, e29.BIN2HEX = `BIN2HEX`, e29.BIN2OCT = `BIN2OCT`, e29.BITAND = `BITAND`, e29.BITLSHIFT = `BITLSHIFT`, e29.BITOR = `BITOR`, e29.BITRSHIFT = `BITRSHIFT`, e29.BITXOR = `BITXOR`, e29.COMPLEX = `COMPLEX`, e29.CONVERT = `CONVERT`, e29.DEC2BIN = `DEC2BIN`, e29.DEC2HEX = `DEC2HEX`, e29.DEC2OCT = `DEC2OCT`, e29.DELTA = `DELTA`, e29.ERF = `ERF`, e29.ERF_PRECISE = `ERF.PRECISE`, e29.ERFC = `ERFC`, e29.ERFC_PRECISE = `ERFC.PRECISE`, e29.GESTEP = `GESTEP`, e29.HEX2BIN = `HEX2BIN`, e29.HEX2DEC = `HEX2DEC`, e29.HEX2OCT = `HEX2OCT`, e29.IMABS = `IMABS`, e29.IMAGINARY = `IMAGINARY`, e29.IMARGUMENT = `IMARGUMENT`, e29.IMCONJUGATE = `IMCONJUGATE`, e29.IMCOS = `IMCOS`, e29.IMCOSH = `IMCOSH`, e29.IMCOT = `IMCOT`, e29.IMCOTH = `IMCOTH`, e29.IMCSC = `IMCSC`, e29.IMCSCH = `IMCSCH`, e29.IMDIV = `IMDIV`, e29.IMEXP = `IMEXP`, e29.IMLN = `IMLN`, e29.IMLOG = `IMLOG`, e29.IMLOG10 = `IMLOG10`, e29.IMLOG2 = `IMLOG2`, e29.IMPOWER = `IMPOWER`, e29.IMPRODUCT = `IMPRODUCT`, e29.IMREAL = `IMREAL`, e29.IMSEC = `IMSEC`, e29.IMSECH = `IMSECH`, e29.IMSIN = `IMSIN`, e29.IMSINH = `IMSINH`, e29.IMSQRT = `IMSQRT`, e29.IMSUB = `IMSUB`, e29.IMSUM = `IMSUM`, e29.IMTAN = `IMTAN`, e29.IMTANH = `IMTANH`, e29.OCT2BIN = `OCT2BIN`, e29.OCT2DEC = `OCT2DEC`, e29.OCT2HEX = `OCT2HEX`, e29; + })({}); + var W3 = (function(e29) { + return e29.ACCRINT = `ACCRINT`, e29.ACCRINTM = `ACCRINTM`, e29.AMORDEGRC = `AMORDEGRC`, e29.AMORLINC = `AMORLINC`, e29.COUPDAYBS = `COUPDAYBS`, e29.COUPDAYS = `COUPDAYS`, e29.COUPDAYSNC = `COUPDAYSNC`, e29.COUPNCD = `COUPNCD`, e29.COUPNUM = `COUPNUM`, e29.COUPPCD = `COUPPCD`, e29.CUMIPMT = `CUMIPMT`, e29.CUMPRINC = `CUMPRINC`, e29.DB = `DB`, e29.DDB = `DDB`, e29.DISC = `DISC`, e29.DOLLARDE = `DOLLARDE`, e29.DOLLARFR = `DOLLARFR`, e29.DURATION = `DURATION`, e29.EFFECT = `EFFECT`, e29.FV = `FV`, e29.FVSCHEDULE = `FVSCHEDULE`, e29.INTRATE = `INTRATE`, e29.IPMT = `IPMT`, e29.IRR = `IRR`, e29.ISPMT = `ISPMT`, e29.MDURATION = `MDURATION`, e29.MIRR = `MIRR`, e29.NOMINAL = `NOMINAL`, e29.NPER = `NPER`, e29.NPV = `NPV`, e29.ODDFPRICE = `ODDFPRICE`, e29.ODDFYIELD = `ODDFYIELD`, e29.ODDLPRICE = `ODDLPRICE`, e29.ODDLYIELD = `ODDLYIELD`, e29.PDURATION = `PDURATION`, e29.PMT = `PMT`, e29.PPMT = `PPMT`, e29.PRICE = `PRICE`, e29.PRICEDISC = `PRICEDISC`, e29.PRICEMAT = `PRICEMAT`, e29.PV = `PV`, e29.RATE = `RATE`, e29.RECEIVED = `RECEIVED`, e29.RRI = `RRI`, e29.SLN = `SLN`, e29.SYD = `SYD`, e29.TBILLEQ = `TBILLEQ`, e29.TBILLPRICE = `TBILLPRICE`, e29.TBILLYIELD = `TBILLYIELD`, e29.VDB = `VDB`, e29.XIRR = `XIRR`, e29.XNPV = `XNPV`, e29.YIELD = `YIELD`, e29.YIELDDISC = `YIELDDISC`, e29.YIELDMAT = `YIELDMAT`, e29; + })({}); + var to2 = (function(e29) { + return e29.CELL = `CELL`, e29.ERROR_TYPE = `ERROR.TYPE`, e29.INFO = `INFO`, e29.ISBETWEEN = `ISBETWEEN`, e29.ISBLANK = `ISBLANK`, e29.ISDATE = `ISDATE`, e29.ISEMAIL = `ISEMAIL`, e29.ISERR = `ISERR`, e29.ISERROR = `ISERROR`, e29.ISEVEN = `ISEVEN`, e29.ISFORMULA = `ISFORMULA`, e29.ISLOGICAL = `ISLOGICAL`, e29.ISNA = `ISNA`, e29.ISNONTEXT = `ISNONTEXT`, e29.ISNUMBER = `ISNUMBER`, e29.ISODD = `ISODD`, e29.ISOMITTED = `ISOMITTED`, e29.ISREF = `ISREF`, e29.ISTEXT = `ISTEXT`, e29.ISURL = `ISURL`, e29.N = `N`, e29.NA = `NA`, e29.SHEET = `SHEET`, e29.SHEETS = `SHEETS`, e29.TYPE = `TYPE`, e29; + })({}); + var no2 = (function(e29) { + return e29.AND = `AND`, e29.BYCOL = `BYCOL`, e29.BYROW = `BYROW`, e29.FALSE = `FALSE`, e29.IF = `IF`, e29.IFERROR = `IFERROR`, e29.IFNA = `IFNA`, e29.IFS = `IFS`, e29.LAMBDA = `LAMBDA`, e29.LET = `LET`, e29.MAKEARRAY = `MAKEARRAY`, e29.MAP = `MAP`, e29.NOT = `NOT`, e29.OR = `OR`, e29.REDUCE = `REDUCE`, e29.SCAN = `SCAN`, e29.SWITCH = `SWITCH`, e29.TRUE = `TRUE`, e29.XOR = `XOR`, e29; + })({}); + var G3 = (function(e29) { + return e29.ADDRESS = `ADDRESS`, e29.AREAS = `AREAS`, e29.CHOOSE = `CHOOSE`, e29.CHOOSECOLS = `CHOOSECOLS`, e29.CHOOSEROWS = `CHOOSEROWS`, e29.COLUMN = `COLUMN`, e29.COLUMNS = `COLUMNS`, e29.DROP = `DROP`, e29.EXPAND = `EXPAND`, e29.FILTER = `FILTER`, e29.FORMULATEXT = `FORMULATEXT`, e29.GETPIVOTDATA = `GETPIVOTDATA`, e29.HLOOKUP = `HLOOKUP`, e29.HSTACK = `HSTACK`, e29.HYPERLINK = `HYPERLINK`, e29.IMAGE = `IMAGE`, e29.INDEX = `INDEX`, e29.INDIRECT = `INDIRECT`, e29.LOOKUP = `LOOKUP`, e29.MATCH = `MATCH`, e29.OFFSET = `OFFSET`, e29.ROW = `ROW`, e29.ROWS = `ROWS`, e29.RTD = `RTD`, e29.SORT = `SORT`, e29.SORTBY = `SORTBY`, e29.TAKE = `TAKE`, e29.TOCOL = `TOCOL`, e29.TOROW = `TOROW`, e29.TRANSPOSE = `TRANSPOSE`, e29.UNIQUE = `UNIQUE`, e29.VLOOKUP = `VLOOKUP`, e29.VSTACK = `VSTACK`, e29.WRAPCOLS = `WRAPCOLS`, e29.WRAPROWS = `WRAPROWS`, e29.XLOOKUP = `XLOOKUP`, e29.XMATCH = `XMATCH`, e29; + })({}); + var K3 = (function(e29) { + return e29.ABS = `ABS`, e29.ACOS = `ACOS`, e29.ACOSH = `ACOSH`, e29.ACOT = `ACOT`, e29.ACOTH = `ACOTH`, e29.AGGREGATE = `AGGREGATE`, e29.ARABIC = `ARABIC`, e29.ASIN = `ASIN`, e29.ASINH = `ASINH`, e29.ATAN = `ATAN`, e29.ATAN2 = `ATAN2`, e29.ATANH = `ATANH`, e29.BASE = `BASE`, e29.CEILING = `CEILING`, e29.CEILING_MATH = `CEILING.MATH`, e29.CEILING_PRECISE = `CEILING.PRECISE`, e29.COMBIN = `COMBIN`, e29.COMBINA = `COMBINA`, e29.COS = `COS`, e29.COSH = `COSH`, e29.COT = `COT`, e29.COTH = `COTH`, e29.CSC = `CSC`, e29.CSCH = `CSCH`, e29.DECIMAL = `DECIMAL`, e29.DEGREES = `DEGREES`, e29.EVEN = `EVEN`, e29.EXP = `EXP`, e29.FACT = `FACT`, e29.FACTDOUBLE = `FACTDOUBLE`, e29.FLOOR = `FLOOR`, e29.FLOOR_MATH = `FLOOR.MATH`, e29.FLOOR_PRECISE = `FLOOR.PRECISE`, e29.GCD = `GCD`, e29.INT = `INT`, e29.ISO_CEILING = `ISO.CEILING`, e29.LCM = `LCM`, e29.LET = `LET`, e29.LN = `LN`, e29.LOG = `LOG`, e29.LOG10 = `LOG10`, e29.MDETERM = `MDETERM`, e29.MINVERSE = `MINVERSE`, e29.MMULT = `MMULT`, e29.MOD = `MOD`, e29.MROUND = `MROUND`, e29.MULTINOMIAL = `MULTINOMIAL`, e29.MUNIT = `MUNIT`, e29.ODD = `ODD`, e29.PI = `PI`, e29.POWER = `POWER`, e29.PRODUCT = `PRODUCT`, e29.QUOTIENT = `QUOTIENT`, e29.RADIANS = `RADIANS`, e29.RAND = `RAND`, e29.RANDARRAY = `RANDARRAY`, e29.RANDBETWEEN = `RANDBETWEEN`, e29.ROMAN = `ROMAN`, e29.ROUND = `ROUND`, e29.ROUNDBANK = `ROUNDBANK`, e29.ROUNDDOWN = `ROUNDDOWN`, e29.ROUNDUP = `ROUNDUP`, e29.SEC = `SEC`, e29.SECH = `SECH`, e29.SERIESSUM = `SERIESSUM`, e29.SEQUENCE = `SEQUENCE`, e29.SIGN = `SIGN`, e29.SIN = `SIN`, e29.SINH = `SINH`, e29.SQRT = `SQRT`, e29.SQRTPI = `SQRTPI`, e29.SUBTOTAL = `SUBTOTAL`, e29.SUM = `SUM`, e29.SUMIF = `SUMIF`, e29.SUMIFS = `SUMIFS`, e29.SUMPRODUCT = `SUMPRODUCT`, e29.SUMSQ = `SUMSQ`, e29.SUMX2MY2 = `SUMX2MY2`, e29.SUMX2PY2 = `SUMX2PY2`, e29.SUMXMY2 = `SUMXMY2`, e29.TAN = `TAN`, e29.TANH = `TANH`, e29.TRUNC = `TRUNC`, e29; + })({}); + var q3 = (function(e29) { + return e29.AVEDEV = `AVEDEV`, e29.AVERAGE = `AVERAGE`, e29.AVERAGE_WEIGHTED = `AVERAGE.WEIGHTED`, e29.AVERAGEA = `AVERAGEA`, e29.AVERAGEIF = `AVERAGEIF`, e29.AVERAGEIFS = `AVERAGEIFS`, e29.BETA_DIST = `BETA.DIST`, e29.BETA_INV = `BETA.INV`, e29.BINOM_DIST = `BINOM.DIST`, e29.BINOM_DIST_RANGE = `BINOM.DIST.RANGE`, e29.BINOM_INV = `BINOM.INV`, e29.CHISQ_DIST = `CHISQ.DIST`, e29.CHISQ_DIST_RT = `CHISQ.DIST.RT`, e29.CHISQ_INV = `CHISQ.INV`, e29.CHISQ_INV_RT = `CHISQ.INV.RT`, e29.CHISQ_TEST = `CHISQ.TEST`, e29.CONFIDENCE_NORM = `CONFIDENCE.NORM`, e29.CONFIDENCE_T = `CONFIDENCE.T`, e29.CORREL = `CORREL`, e29.COUNT = `COUNT`, e29.COUNTA = `COUNTA`, e29.COUNTBLANK = `COUNTBLANK`, e29.COUNTIF = `COUNTIF`, e29.COUNTIFS = `COUNTIFS`, e29.COVARIANCE_P = `COVARIANCE.P`, e29.COVARIANCE_S = `COVARIANCE.S`, e29.DEVSQ = `DEVSQ`, e29.EXPON_DIST = `EXPON.DIST`, e29.F_DIST = `F.DIST`, e29.F_DIST_RT = `F.DIST.RT`, e29.F_INV = `F.INV`, e29.F_INV_RT = `F.INV.RT`, e29.F_TEST = `F.TEST`, e29.FISHER = `FISHER`, e29.FISHERINV = `FISHERINV`, e29.FORECAST = `FORECAST`, e29.FORECAST_ETS = `FORECAST.ETS`, e29.FORECAST_ETS_CONFINT = `FORECAST.ETS.CONFINT`, e29.FORECAST_ETS_SEASONALITY = `FORECAST.ETS.SEASONALITY`, e29.FORECAST_ETS_STAT = `FORECAST.ETS.STAT`, e29.FORECAST_LINEAR = `FORECAST.LINEAR`, e29.FREQUENCY = `FREQUENCY`, e29.GAMMA = `GAMMA`, e29.GAMMA_DIST = `GAMMA.DIST`, e29.GAMMA_INV = `GAMMA.INV`, e29.GAMMALN = `GAMMALN`, e29.GAMMALN_PRECISE = `GAMMALN.PRECISE`, e29.GAUSS = `GAUSS`, e29.GEOMEAN = `GEOMEAN`, e29.GROWTH = `GROWTH`, e29.HARMEAN = `HARMEAN`, e29.HYPGEOM_DIST = `HYPGEOM.DIST`, e29.INTERCEPT = `INTERCEPT`, e29.KURT = `KURT`, e29.LARGE = `LARGE`, e29.LINEST = `LINEST`, e29.LOGEST = `LOGEST`, e29.LOGNORM_DIST = `LOGNORM.DIST`, e29.LOGNORM_INV = `LOGNORM.INV`, e29.MARGINOFERROR = `MARGINOFERROR`, e29.MAX = `MAX`, e29.MAXA = `MAXA`, e29.MAXIFS = `MAXIFS`, e29.MEDIAN = `MEDIAN`, e29.MIN = `MIN`, e29.MINA = `MINA`, e29.MINIFS = `MINIFS`, e29.MODE_MULT = `MODE.MULT`, e29.MODE_SNGL = `MODE.SNGL`, e29.NEGBINOM_DIST = `NEGBINOM.DIST`, e29.NORM_DIST = `NORM.DIST`, e29.NORM_INV = `NORM.INV`, e29.NORM_S_DIST = `NORM.S.DIST`, e29.NORM_S_INV = `NORM.S.INV`, e29.PEARSON = `PEARSON`, e29.PERCENTILE_EXC = `PERCENTILE.EXC`, e29.PERCENTILE_INC = `PERCENTILE.INC`, e29.PERCENTRANK_EXC = `PERCENTRANK.EXC`, e29.PERCENTRANK_INC = `PERCENTRANK.INC`, e29.PERMUT = `PERMUT`, e29.PERMUTATIONA = `PERMUTATIONA`, e29.PHI = `PHI`, e29.POISSON_DIST = `POISSON.DIST`, e29.PROB = `PROB`, e29.QUARTILE_EXC = `QUARTILE.EXC`, e29.QUARTILE_INC = `QUARTILE.INC`, e29.RANK_AVG = `RANK.AVG`, e29.RANK_EQ = `RANK.EQ`, e29.RSQ = `RSQ`, e29.SKEW = `SKEW`, e29.SKEW_P = `SKEW.P`, e29.SLOPE = `SLOPE`, e29.SMALL = `SMALL`, e29.STANDARDIZE = `STANDARDIZE`, e29.STDEV_P = `STDEV.P`, e29.STDEV_S = `STDEV.S`, e29.STDEVA = `STDEVA`, e29.STDEVPA = `STDEVPA`, e29.STEYX = `STEYX`, e29.T_DIST = `T.DIST`, e29.T_DIST_2T = `T.DIST.2T`, e29.T_DIST_RT = `T.DIST.RT`, e29.T_INV = `T.INV`, e29.T_INV_2T = `T.INV.2T`, e29.T_TEST = `T.TEST`, e29.TREND = `TREND`, e29.TRIMMEAN = `TRIMMEAN`, e29.VAR_P = `VAR.P`, e29.VAR_S = `VAR.S`, e29.VARA = `VARA`, e29.VARPA = `VARPA`, e29.WEIBULL_DIST = `WEIBULL.DIST`, e29.Z_TEST = `Z.TEST`, e29; + })({}); + var J3 = (function(e29) { + return e29.ASC = `ASC`, e29.ARRAYTOTEXT = `ARRAYTOTEXT`, e29.BAHTTEXT = `BAHTTEXT`, e29.CHAR = `CHAR`, e29.CLEAN = `CLEAN`, e29.CODE = `CODE`, e29.CONCAT = `CONCAT`, e29.CONCATENATE = `CONCATENATE`, e29.DBCS = `DBCS`, e29.DOLLAR = `DOLLAR`, e29.EXACT = `EXACT`, e29.FIND = `FIND`, e29.FINDB = `FINDB`, e29.FIXED = `FIXED`, e29.LEFT = `LEFT`, e29.LEFTB = `LEFTB`, e29.LEN = `LEN`, e29.LENB = `LENB`, e29.LOWER = `LOWER`, e29.MID = `MID`, e29.MIDB = `MIDB`, e29.NUMBERSTRING = `NUMBERSTRING`, e29.NUMBERVALUE = `NUMBERVALUE`, e29.PHONETIC = `PHONETIC`, e29.PROPER = `PROPER`, e29.REGEXEXTRACT = `REGEXEXTRACT`, e29.REGEXMATCH = `REGEXMATCH`, e29.REGEXREPLACE = `REGEXREPLACE`, e29.REPLACE = `REPLACE`, e29.REPLACEB = `REPLACEB`, e29.REPT = `REPT`, e29.RIGHT = `RIGHT`, e29.RIGHTB = `RIGHTB`, e29.SEARCH = `SEARCH`, e29.SEARCHB = `SEARCHB`, e29.SUBSTITUTE = `SUBSTITUTE`, e29.T = `T`, e29.TEXT = `TEXT`, e29.TEXTAFTER = `TEXTAFTER`, e29.TEXTBEFORE = `TEXTBEFORE`, e29.TEXTJOIN = `TEXTJOIN`, e29.TEXTSPLIT = `TEXTSPLIT`, e29.TRIM = `TRIM`, e29.UNICHAR = `UNICHAR`, e29.UNICODE = `UNICODE`, e29.UPPER = `UPPER`, e29.VALUE = `VALUE`, e29.VALUETOTEXT = `VALUETOTEXT`, e29.CALL = `CALL`, e29.EUROCONVERT = `EUROCONVERT`, e29.REGISTER_ID = `REGISTER.ID`, e29; + })({}); + var ro2 = (function(e29) { + return e29.ENCODEURL = `ENCODEURL`, e29.FILTERXML = `FILTERXML`, e29.WEBSERVICE = `WEBSERVICE`, e29; + })({}); + var io2 = [eo2, U3, W3, to2, no2, G3, K3, q3, J3, ro2]; + var ao2 = new Set(io2.flatMap((e29) => Object.values(e29)).filter((e29) => /^[A-Z]{1,3}$/.test(e29)).filter((e29) => { + let t = lo(e29); + return t > 0 && t <= fo; + })); + var oo2 = new Be2(5e3); + function so2(e29, t, n, r, i) { + let a = oo2.get(`${e29}${t}`); + if (a && !co2(a, i)) return a; + let o = n.treeBuilder(t); + return Ve2.has(o) ? Xa.create(o) : (a = r.parse(o), a == null ? (console.error(`generateAstNode astNode is null`), Xa.create(o)) : (oo2.set(`${e29}${t}`, a), a)); + } + function co2(e29, t) { + let n = t.getDirtyDefinedNameMap(), r = t.getExecuteUnitId(); + if (r != null && n[r] != null) { + let t2 = Object.keys(n[r]); + for (let n2 = 0, r2 = t2.length; n2 < r2; n2++) { + let r3 = t2[n2]; + if (e29.hasDefinedName(r3)) return true; + } + } + return false; + } + function lo2(e29, t, n) { + return !!(t != null && co2(t, n)); + } + var uo2 = createIdentifier(`univer.formula-function.service`); + var fo2 = class extends E { + constructor(...e29) { + super(...e29), E3(this, `_functionExecutors`, /* @__PURE__ */ new Map()), E3(this, `_functionDescriptions`, /* @__PURE__ */ new Map()); + } + dispose() { + super.dispose(), this._functionExecutors.clear(), this._functionDescriptions.clear(); + } + registerExecutors(...e29) { + for (let t = 0; t < e29.length; t++) { + let n = e29[t]; + this._functionExecutors.set(n.name, n); + } + } + getExecutors() { + return this._functionExecutors; + } + getExecutor(e29) { + return this._functionExecutors.get(e29); + } + hasExecutor(e29) { + return this._functionExecutors.has(e29); + } + unregisterExecutors(...e29) { + for (let t = 0; t < e29.length; t++) { + let n = e29[t]; + this._functionExecutors.delete(n); + } + } + registerDescriptions(...e29) { + for (let t = 0; t < e29.length; t++) { + let n = e29[t]; + this._functionDescriptions.set(n.functionName, n); + } + return T2(() => { + for (let t = 0; t < e29.length; t++) { + let n = e29[t]; + this._functionDescriptions.delete(n.functionName); + } + }); + } + getDescriptions() { + return this._functionDescriptions; + } + getDescription(e29) { + return this._functionDescriptions.get(e29); + } + hasDescription(e29) { + return this._functionDescriptions.has(e29); + } + unregisterDescriptions(...e29) { + for (let t = 0; t < e29.length; t++) { + let n = e29[t]; + this._functionDescriptions.delete(n); + } + } + deleteFormulaAstCacheKey(...e29) { + oo2.forEach((t, n) => { + e29.forEach((e30) => { + n.includes(e30) && oo2.delete(n); + }); + }); + } + }; + var po = (function(e29) { + return e29.COMPARE = `COMPARE`, e29.DIVIDED = `DIVIDED`, e29.MINUS = `MINUS`, e29.MULTIPLY = `MULTIPLY`, e29.PLUS = `PLUS`, e29.UNION = `UNION`, e29.CUBE = `CUBE`, e29; + })({}); + var mo = class extends Ya2 { + constructor(e29, t, n) { + super(t), this._runtimeService = e29, this._operatorString = t, this._functionExecutor = n; + } + get nodeType() { + return H3.PREFIX; + } + execute() { + let e29 = this.getChildren()[0].getValue(), t; + if (e29 == null) { + console.error(`PrefixNode execute value is null`), this.setValue(j3.create(D3.VALUE)); + return; + } + this._operatorString === Ye.MINUS ? (e29.isReferenceObject() && (e29 = e29.toArrayValueObject()), t = this._functionExecutor.calculate(R4.create(0), e29)) : t = this._operatorString === Ye.AT ? this._handlerAT(e29) : j3.create(D3.VALUE), this.setValue(t); + } + _handlerAT(e29) { + if (!e29.isReferenceObject()) return j3.create(D3.VALUE); + let t = e29; + if (t.isCell()) return j3.create(D3.VALUE); + let n = this._runtimeService, r = n.currentRow || 0, i = n.currentColumn || 0, { startRow: a, startColumn: o, endRow: s, endColumn: c } = t.getRangePosition(); + return c !== o && s !== a || a === s && o === c ? j3.create(D3.VALUE) : s === a && i >= o && i <= c ? t.getCellByColumn(i) : o === c && r >= a && r <= s ? t.getCellByRow(r) : t.isTable() ? t.getCellByPosition(r) : j3.create(D3.VALUE); + } + }; + var ho = class extends Za2 { + constructor(e29, t) { + super(), this._functionService = e29, this._runtimeService = t; + } + get zIndex() { + return Ja2.get(H3.PREFIX) || 100; + } + checkAndCreateNodeType(e29) { + if (!(e29 instanceof F3)) return; + let t = e29.getToken(), n = t.trim(); + if (n.charAt(0) === `"` && n.charAt(n.length - 1) === `"`) return; + let r = ``; + if (n === Ye.MINUS) r = po.MINUS; + else if (n === Ye.AT) return new mo(this._runtimeService, n); + else return; + let i = this._functionService.getExecutor(r); + return i ? new mo(this._runtimeService, n, i) : (console.error(`No function ${t}`), Xa.create(D3.NAME)); + } + }; + ho = dr2([P5(0, uo2), P5(1, qa2)], ho); + function go(e29, t, n) { + let r, i, a = e29, o = a[0], s = 0; + if (o === Ye.MINUS) { + let e30 = t.getExecutor(po.MINUS); + r = new mo(n, Ye.MINUS, e30), s++; + } else o === Ye.AT && (i = new mo(n, Ye.AT), r && i.setParent(r), s++); + return s > 0 && (a = a.slice(s)), { tokenTrim: a, minusPrefixNode: r, atPrefixNode: i }; + } + var _o2 = class extends Ya2 { + constructor(e29, t, n, r, i, a) { + super(e29), this._functionExecutor = t, this._currentConfigService = n, this._runtimeService = r, this._definedNamesService = i, this._formulaDataModel = a, this._functionExecutor.isAsync() && this.setAsync(), this._functionExecutor.isAddress() && this.setAddress(), this._functionExecutor.needsLocale && this._setLocale(), this._functionExecutor.needsSheetsInfo && this._setSheetsInfo(), this._functionExecutor.needsFormulaDataModel && this._functionExecutor.setFormulaDataModel(this._formulaDataModel); + } + get nodeType() { + return H3.FUNCTION; + } + async executeAsync() { + let e29 = [], t = this.getChildren(), n = t.length; + this._compatibility(); + for (let r2 = 0; r2 < n; r2++) { + let n2 = t[r2].getValue(); + n2 != null && (n2.isReferenceObject() && !this._functionExecutor.needsReferenceObject ? e29.push(n2.toArrayValueObject()) : e29.push(n2)); + } + let r = await this._calculateAsync(e29), i; + return i = r.isAsyncObject() || r.isAsyncArrayObject() ? await r.getValue() : r, this._setEmbeddedArrayFormulaToResult(i), this._setRefData(i), this.setValue(i), Promise.resolve(Pe.SUCCESS); + } + execute() { + let e29 = [], t = this.getChildren(), n = t.length; + this._compatibility(); + for (let r2 = 0; r2 < n; r2++) { + let n2 = t[r2].getValue(); + n2 != null && (n2.isReferenceObject() && this._functionExecutor.needsFilteredOutRows && this._setFilteredOutRows(n2), n2.isReferenceObject() && !this._functionExecutor.needsReferenceObject ? e29.push(n2.toArrayValueObject()) : e29.push(n2)); + } + let r = this._calculate(e29); + this._setEmbeddedArrayFormulaToResult(r), this._setRefData(r), this.setValue(r); + } + isFunctionExecutorArgumentsIgnoreNumberPattern() { + return this._functionExecutor.isArgumentsIgnoreNumberPattern(); + } + _setEmbeddedArrayFormulaToResult(e29) { + if (!e29.isArray()) return; + let t = e29.getRowCount(), n = e29.getColumnCount(); + t <= 1 && n <= 1 || this._runtimeService.setUnitArrayFormulaEmbeddedMap(); + } + _compatibility() { + this._lookupCompatibility(); + } + _lookupCompatibility() { + let e29 = this.getChildren(), t = e29.length; + if (!this._functionExecutor.needsExpandParams || t !== 3) return; + let n = e29[1].getValue(), r = e29[2].getValue(); + if (!(n != null && n.isReferenceObject()) && !(r != null && r.isReferenceObject())) return; + let i, a; + if (n != null && n.isReferenceObject()) { + let { startRow: e30, startColumn: t2, endRow: r2, endColumn: o2 } = n.getRangeData(); + i = r2 - e30 + 1, a = o2 - t2 + 1; + } else i = n != null && n.isArray() ? n.getRowCount() : 1, a = n != null && n.isArray() ? n.getColumnCount() : 1; + let o = r.getRangeData(), { startRow: s, startColumn: c, endRow: l, endColumn: u } = o, d = l - s + 1, f = u - c + 1; + i !== d && (o.endRow += i - d), a !== f && (o.endColumn += a - f); + } + _handleCustomResult(e29) { + var t; + if (typeof e29 != `object` || !e29) return ga2.create(e29); + let n = ma(e29); + return B3.create({ calculateValueList: n, rowCount: n.length, columnCount: ((t = n[0]) == null ? void 0 : t.length) || 0, unitId: ``, sheetId: ``, row: -1, column: -1 }); + } + _handleAddressFunction() { + this._functionExecutor.isAddress() && this._setDefinedNamesForFunction(); + } + _mapVariantsToValues(e29) { + return e29.map((e30) => e30.isArray() ? e30.toValue() : e30.isLambda() ? e30 : e30.getValue()); + } + _calculate(e29) { + let { minParams: t, maxParams: n } = this._functionExecutor; + if (t !== -1 && n !== -1 && (e29.length < t || e29.length > n)) return j3.create(D3.NA); + let r; + if (this._setRefInfo(), this._functionExecutor.isCustom()) { + let t2 = this._functionExecutor.calculateCustom(...this._mapVariantsToValues(e29)); + r = this._handleCustomResult(t2); + } else this._handleAddressFunction(), r = this._functionExecutor.calculate(...e29); + return r; + } + async _calculateAsync(e29) { + let { minParams: t, maxParams: n } = this._functionExecutor; + if (t !== -1 && n !== -1 && (e29.length < t || e29.length > n)) return j3.create(D3.NA); + let r; + if (this._setRefInfo(), this._functionExecutor.isCustom()) { + let t2 = await this._functionExecutor.calculateCustom(...this._mapVariantsToValues(e29)); + r = this._handleCustomResult(t2); + } else this._handleAddressFunction(), r = this._functionExecutor.calculate(...e29); + return r; + } + _setDefinedNamesForFunction() { + let e29 = this._currentConfigService.getExecuteUnitId(); + if (e29 == null) return; + let t = this._definedNamesService.getDefinedNameMap(e29); + t != null && this._functionExecutor.setDefinedNames(t); + } + _setRefInfo() { + let { currentUnitId: e29, currentSubUnitId: t, currentRow: n, currentColumn: r } = this._runtimeService; + if (this._functionExecutor.setRefInfo(e29, t, n, r), this._functionExecutor.needsSheetRowColumnCount) { + let { rowCount: n2, columnCount: r2 } = this._currentConfigService.getSheetRowColumnCount(e29, t); + this._functionExecutor.setSheetRowColumnCount(n2, r2); + } + } + _setRefData(e29) { + if (!e29.isReferenceObject()) return; + let t = e29; + t.setForcedSheetId(this._currentConfigService.getSheetNameMap()), t.setUnitData(this._currentConfigService.getUnitData()), t.setArrayFormulaCellData(this._currentConfigService.getArrayFormulaCellData()), t.setArrayFormulaRange(this._currentConfigService.getArrayFormulaRange()), t.setRuntimeData(this._runtimeService.getUnitData()), t.setRuntimeArrayFormulaCellData(this._runtimeService.getRuntimeArrayFormulaCellData()), t.setRuntimeArrayFormulaRange(this._runtimeService.getUnitArrayFormula()), t.setRuntimeFeatureCellData(this._runtimeService.getRuntimeFeatureCellData()); + } + _setLocale() { + this._functionExecutor.setLocale(this._currentConfigService.getLocale()); + } + _setSheetsInfo() { + this._functionExecutor.setSheetsInfo(this._currentConfigService.getSheetsInfo()); + } + _setFilteredOutRows(e29) { + let { startRow: t, endRow: n } = e29.getRangePosition(), r = this._currentConfigService.getFilteredOutRows(e29.getUnitId(), e29.getSheetId(), t, n); + e29.setFilteredOutRows(r); + } + }; + var vo = class extends Ya2 { + constructor(e29 = `Error`) { + super(e29); + } + get nodeType() { + return H3.FUNCTION; + } + async executeAsync() { + return this.setValue(j3.create(D3.NAME)), Promise.resolve(Pe.SUCCESS); + } + execute() { + this.setValue(j3.create(D3.NAME)); + } + }; + var yo2 = class extends Za2 { + constructor(e29, t, n, r, i, a) { + super(), this._functionService = e29, this._currentConfigService = t, this._runtimeService = n, this._definedNamesService = r, this._injector = i, this._formulaDataModel = a; + } + get zIndex() { + return Ja2.get(H3.FUNCTION) || 100; + } + create(e29) { + let t = this._functionService.getExecutor(e29); + return t ? new _o2(e29, t, this._currentConfigService, this._runtimeService, this._definedNamesService, this._formulaDataModel) : (console.error(`No function ${e29}`), Xa.create(D3.NAME)); + } + checkAndCreateNodeType(e29) { + if (typeof e29 == `string`) return; + let { tokenTrim: t, minusPrefixNode: n, atPrefixNode: r } = go(e29.getToken().trim(), this._functionService, this._runtimeService), i = this._isParentUnionNode(e29); + if (!Number.isNaN(Number(t)) && !i) return Xa.create(D3.VALUE); + let a = t.toUpperCase(); + if (!(i && ao2.has(a)) && this._functionService.hasExecutor(a)) { + let e30 = this.create(a); + return r ? e30.setParent(r) : n && e30.setParent(n), e30; + } + } + _isParentUnionNode(e29) { + var t; + return ((t = e29.getParent()) == null || (t = t.getParent()) == null ? void 0 : t.getToken()) === A3.COLON; + } + }; + yo2 = dr2([P5(0, uo2), P5(1, fi2), P5(2, qa2), P5(3, pr2), P5(4, Inject(Injector)), P5(5, Inject(ai2))], yo2); + var bo2 = class extends E { + constructor(e29) { + super(), this._runtimeService = e29; + } + async executeAsync(e29) { + if (!e29 || !e29.node) return Promise.resolve(j3.create(D3.VALUE)); + let t = e29.node, n = e29.refOffsetX, r = e29.refOffsetY; + await this._executeAsync(t, n, r); + let i = t.getValue(); + return i == null ? Promise.resolve(j3.create(D3.VALUE)) : Promise.resolve(i); + } + execute(e29) { + if (!e29 || !e29.node) return j3.create(D3.VALUE); + let t = e29.node, n = e29.refOffsetX, r = e29.refOffsetY; + this._execute(t, n, r); + let i = t.getValue(); + return i == null ? j3.create(D3.VALUE) : i; + } + executePreCalculateNode(e29) { + return e29.execute(), e29.getValue(); + } + checkAsyncNode(e29) { + if (e29 == null) return false; + let t = []; + this._checkAsyncNode(e29, t); + for (let e30 = 0, n = t.length; e30 < n; e30++) if (t[e30] === true) return true; + return false; + } + _checkAsyncNode(e29, t) { + let n = e29.getChildren(), r = n.length; + for (let e30 = 0; e30 < r; e30++) { + let r2 = n[e30]; + t.push(r2.isAsync()), this._checkAsyncNode(r2, t); + } + } + async _executeAsync(e29, t = 0, n = 0) { + if (this._runtimeService.isStopExecution()) return Promise.resolve(Pe.ERROR); + let r = e29.getChildren(), i = r.length; + for (let e30 = 0; e30 < i; e30++) { + let i2 = r[e30]; + if (i2.getToken().toUpperCase() === `LAMBDA` && i2.isEmptyParamFunction()) { + i2.execute(); + continue; + } + await this._executeAsync(i2, t, n); + } + return e29.nodeType === H3.REFERENCE && e29.setRefOffset(t, n), e29.nodeType === H3.FUNCTION && e29.isAsync() ? await e29.executeAsync() : e29.execute(), Promise.resolve(Pe.SUCCESS); + } + _execute(e29, t = 0, n = 0) { + if (this._runtimeService.isStopExecution()) return Pe.ERROR; + let r = e29.getChildren(), i = r.length; + for (let e30 = 0; e30 < i; e30++) { + let i2 = r[e30]; + if (i2.getToken().toUpperCase() === `LAMBDA` && i2.isEmptyParamFunction()) { + i2.execute(); + continue; + } + this._execute(i2, t, n); + } + return e29.nodeType === H3.REFERENCE && e29.setRefOffset(t, n), e29.execute(), Pe.SUCCESS; + } + }; + bo2 = dr2([P5(0, qa2)], bo2); + function xo(e29) { + return e29 instanceof F3 ? e29.getToken() === `L_1` : false; + } + function So(e29) { + return e29 instanceof F3 ? e29.getToken() === Nn2 : false; + } + function Co2(e29, t, n) { + let r = e29.getChildren(), i = r.length, a = r[0]; + for (let e30 = 0; e30 < i; e30++) { + let i2 = r[e30]; + if (!(xo(a) && e30 !== 0)) if (i2 instanceof F3) Co2(i2, t, n); + else { + let a2 = i2.trim(); + if (n.has(a2)) { + let i3 = new F3(); + i3.setToken(`LR_1`), i3.setLambdaId(t), i3.setLambdaPrivacyVar(n), i3.setLambdaParameter(a2), r[e30] = i3; + } + } + } + } + function wo2(e29) { + let t = e29; + for (; t != null && t.getParent(); ) t = t.getParent(); + return t; + } + function To2(e29, t = 0, n = 0) { + return { node: e29, refOffsetX: t, refOffsetY: n }; + } + function Eo2(e29) { + if (!e29) return; + if (e29.getToken() !== `LR_1`) return e29; + let t = e29, n = t.getCurrentLambdaPrivacyVar(), r = t.getLambdaParameter(); + if (!n) return; + let i = n.get(r); + return i == null && e29.getValue() ? e29 : Eo2(i); + } + var Do2 = class e26 extends Xe2 { + static create(t, n, r) { + return new e26(t, n, r); + } + constructor(e29, t, n) { + super(0), this._lambdaNode = e29, this._interpreter = t, this._lambdaPrivacyVarKeys = n, E3(this, `_lambdaPrivacyValueMap`, /* @__PURE__ */ new Map()), this._lambdaPrivacyValueMap.clear(); + } + dispose() { + this._lambdaPrivacyValueMap.clear(), this._lambdaPrivacyValueMap = /* @__PURE__ */ new Map(), this._lambdaNode = null, this._interpreter = null, this._lambdaPrivacyVarKeys = []; + } + isLambda() { + return true; + } + execute(...e29) { + let t = this._lambdaPrivacyVarKeys.length; + if (e29.length !== t || !this._interpreter || !this._lambdaNode) return j3.create(D3.VALUE); + this._setLambdaPrivacyValueMap(e29), this._setLambdaNodeValue(this._lambdaNode), this._lambdaNode.setNotEmpty(false); + let n; + if (this._interpreter.checkAsyncNode(this._lambdaNode)) n = new ba2(this._interpreter.executeAsync(To2(this._lambdaNode))); + else { + let e30 = this._interpreter.execute(To2(this._lambdaNode)); + n = e30.isReferenceObject() ? e30.toArrayValueObject() : e30; + } + return this._lambdaNode.setNotEmpty(true), n; + } + executeCustom(...e29) { + let t = e29.map((e30) => ga2.create(e30)); + return this.execute(...t); + } + _setLambdaNodeValue(e29) { + if (!e29) return; + let t = e29.getChildren(), n = t.length; + for (let e30 = 0; e30 < n; e30++) { + let n2 = t[e30]; + if (n2.getToken() === `LR_1`) { + let e31 = n2.getLambdaParameter(), t2 = this._lambdaPrivacyValueMap.get(e31); + if (t2) n2.setValue(t2); + else { + let t3 = Eo2(n2.getCurrentLambdaPrivacyVar().get(e31)); + t3 != null && n2.setValue(t3.getValue()); + } + continue; + } + this._setLambdaNodeValue(n2); + } + } + _setLambdaPrivacyValueMap(e29) { + for (let t = 0; t < e29.length; t++) { + let n = e29[t], r = this._lambdaPrivacyVarKeys[t]; + this._lambdaPrivacyValueMap.set(r, n); + } + } + getLambdaPrivacyVarKeys() { + return this._lambdaPrivacyVarKeys; + } + }; + var Oo2 = class extends Ya2 { + constructor(e29, t, n, r, i) { + super(e29), this._lambdaId = t, this._interpreter = n, this._lambdaPrivacyVarKeys = r, this._runtimeService = i, E3(this, `_isNotEmpty`, true); + } + get nodeType() { + return H3.LAMBDA; + } + setNotEmpty(e29 = false) { + this._isNotEmpty = e29; + } + isEmptyParamFunction() { + return this.getChildren().length < 2 && this._isNotEmpty; + } + isFunctionParameter() { + return this._lambdaId === null; + } + getLambdaId() { + return this._lambdaId; + } + execute() { + if (this.isEmptyParamFunction()) this.setValue(Do2.create(this, this._interpreter, this._lambdaPrivacyVarKeys)); + else { + let e29 = this.getChildren(), t = e29.length; + this.setValue(e29[t - 1].getValue()); + } + this._runtimeService.setUnitArrayFormulaEmbeddedMap(); + } + }; + var ko2 = class extends Za2 { + constructor(e29, t) { + super(), this._runtimeService = e29, this._interpreter = t; + } + get zIndex() { + return Ja2.get(H3.LAMBDA) || 100; + } + create(e29) { + let t = e29.getChildren(), n = t[0], r = t.slice(1, -1), i = t[t.length - 1]; + if (!(n instanceof F3 && i instanceof F3)) return Xa.create(D3.NAME); + if (n.getToken() === `L_1`) { + let e30 = n.getChildren(); + if (r.length !== e30.length) return Xa.create(D3.VALUE); + } else r = t.slice(0, -1); + let a = O2(8), o = /* @__PURE__ */ new Map(); + for (let e30 = 0; e30 < r.length; e30++) { + let t2 = r[e30]; + if (t2 instanceof F3) { + let e31 = t2.getChildren()[0]; + t2.setToken(Nn2), o.set(e31.trim(), void 0); + } else return Xa.create(D3.VALUE); + } + return this._runtimeService.registerFunctionDefinitionPrivacyVar(a, o), this._updateLambdaStatement(i, a, o), new Oo2(e29.getToken(), a, this._interpreter, [...o.keys()], this._runtimeService); + } + checkAndCreateNodeType(e29) { + if (e29 instanceof F3 && e29.getToken().trim().toUpperCase() === `LAMBDA`) return this.create(e29); + } + _updateLambdaStatement(e29, t, n) { + Co2(e29, t, n); + } + }; + ko2 = dr2([P5(0, qa2), P5(1, Inject(bo2))], ko2); + function Ao2(e29) { + if (!e29) return; + if (e29.getToken() !== `LR_1`) return e29; + let t = e29, n = t.getCurrentLambdaPrivacyVar(), r = t.getLambdaParameter(); + if (n) return Ao2(n.get(r)); + } + var jo2 = class extends Ya2 { + constructor(e29, t, n) { + super(e29), this._lambdaParameter = t, this._currentLambdaPrivacyVar = n; + } + getLambdaParameter() { + return this._lambdaParameter; + } + getCurrentLambdaPrivacyVar() { + return this._currentLambdaPrivacyVar; + } + get nodeType() { + return H3.LAMBDA_PARAMETER; + } + execute() { + let e29 = Ao2(this._currentLambdaPrivacyVar.get(this._lambdaParameter)); + if (e29) this.setValue(e29.getValue()); + else { + let e30 = this.getValue(); + (e30 == null || e30.isError()) && this.setValue(j3.create(D3.NAME)); + } + } + }; + var Mo2 = class extends Za2 { + get zIndex() { + return Ja2.get(H3.LAMBDA_PARAMETER) || 100; + } + create(e29) { + let t = e29.getFunctionDefinitionPrivacyVar(), n = e29.getLambdaParameter(); + return t ? new jo2(e29.getToken(), n, t) : new Xa(D3.NAME); + } + checkAndCreateNodeType(e29) { + if (e29 instanceof F3 && e29.getToken().trim() === `LR_1`) return this.create(e29); + } + }; + var No2 = class extends Ya2 { + constructor(e29) { + super(e29), this._operatorString = e29; + } + get nodeType() { + return H3.NULL; + } + execute() { + this.setValue(I3.create()); + } + }; + var Po2 = class extends Ya2 { + constructor(e29, t, n) { + super(e29), this._functionExecutor = t, this._runtimeService = n; + } + get nodeType() { + return H3.OPERATOR; + } + execute() { + let e29 = this.getChildren(); + this._functionExecutor.name === po.COMPARE && this._functionExecutor.setCompareType(this.getToken()); + let t = e29[0], n = e29[1], r = t == null ? void 0 : t.getValue(), i = n == null ? void 0 : n.getValue(), a = this.getToken(); + if ((r == null || i == null) && a !== O4.MINUS && a !== O4.PLUS) { + this.setValue(j3.create(D3.VALUE)); + return; + } + r == null && (r = I3.create()), i == null && (i = I3.create()), r.isReferenceObject() && (r = r.toArrayValueObject()), i.isReferenceObject() && (i = i.toArrayValueObject()); + let o = this._functionExecutor.calculate(r, i); + this._setEmbeddedArrayFormulaToResult(o), this.setValue(o); + } + _setEmbeddedArrayFormulaToResult(e29) { + if (!e29.isArray()) return; + let t = e29.getRowCount(), n = e29.getColumnCount(); + t <= 1 && n <= 1 || this._runtimeService.setUnitArrayFormulaEmbeddedMap(); + } + }; + var Fo2 = class extends Za2 { + constructor(e29, t) { + super(), this._functionService = e29, this._runtimeService = t; + } + get zIndex() { + return Ja2.get(H3.OPERATOR) || 100; + } + create(e29) { + let t = ``, n = e29; + n === O4.PLUS ? t = po.PLUS : n === O4.MINUS ? t = po.MINUS : n === O4.MULTIPLY ? t = po.MULTIPLY : n === O4.DIVIDED ? t = po.DIVIDED : n === O4.CONCATENATE ? t = J3.CONCATENATE : n === O4.POWER ? t = K3.POWER : Ke.has(n) && (t = po.COMPARE); + let r = this._functionService.getExecutor(t); + return r ? new Po2(n, r, this._runtimeService) : (console.error(`No function ${e29}`), Xa.create(D3.NAME)); + } + checkAndCreateNodeType(e29) { + if (e29 instanceof F3) return; + let t = e29.trim(); + if (!(t.charAt(0) === `"` && t.charAt(t.length - 1) === `"`) && Ge.has(t)) return this.create(t); + } + }; + Fo2 = dr2([P5(0, uo2), P5(1, qa2)], Fo2); + var Io2 = class extends ya2 { + constructor(e29, t, n, r) { + super(e29), this._tableData = t, this._columnDataString = n, this._tableOptionMap = r, E3(this, `_isCurrentRowForRange`, false); + let { sheetId: i, range: a, titleMap: o } = this._tableData; + this.setForcedSheetIdDirect(i); + let { startColumn: s, endColumn: c, type: l } = this._parseStructuredRef(this._columnDataString, o), u = a.startRow, d = a.endRow, f = -1, p = -1; + switch (l) { + case Fe.ALL: + f = u, p = d; + break; + case Fe.DATA: + f = u + 1, p = d; + break; + case Fe.HEADERS: + f = u, p = u; + break; + case Fe.TOTALS: + f = d, p = d; + break; + case Fe.THIS_ROW: { + let e30 = this._resolveThisRow(u, d); + f = e30, p = e30; + break; + } + default: + f = u + 1, p = d; + break; + } + this.setRangeData({ startColumn: s, endColumn: c, startRow: f, endRow: p }); + } + getRangeData() { + let e29 = super.getRangeData(); + if (this._isCurrentRowForRange) { + let { startRow: t, startColumn: n, endRow: r, endColumn: i } = e29, a = this.getCurrentRow(); + return { startRow: a == null ? t : a, endRow: a == null ? r : a, startColumn: n, endColumn: i }; + } + return e29; + } + getRefOffset() { + return { x: 0, y: 0 }; + } + isTable() { + return true; + } + isCurrentRowForRange() { + return this._isCurrentRowForRange; + } + setForcedSheetId(e29) { + } + _parseStructuredRef(e29, t) { + var n, r; + let { range: i } = this._tableData, a = (n = i.startColumn) == null ? 0 : n, o = (r = i.endColumn) == null ? 0 : r; + if (!e29 || e29.trim().length === 0) return { startColumn: a, endColumn: o, type: Fe.DATA }; + let s = e29.trim(); + if (s[0] !== `[`) { + let e30 = this._mapSection(s); + if (e30 !== void 0) return { startColumn: a, endColumn: o, type: e30 }; + let { startColumn: n2, endColumn: r2 } = this._parseColumnOrRange(s, t, a); + return { startColumn: n2, endColumn: r2, type: Fe.DATA }; + } + let c = this._stripOuterBracketOnce(s), l = this._findCommaAtTopLevel(c); + if (c.length === 0) return { startColumn: a, endColumn: o, type: Fe.DATA }; + if (l === -1) { + if (c.startsWith(`#`)) { + let e31 = this._mapSection(c); + return e31 === void 0 ? { startColumn: a, endColumn: o, type: Fe.DATA } : { startColumn: a, endColumn: o, type: e31 }; + } + let { startColumn: e30, endColumn: n2 } = this._parseColumnOrRange(c, t, a); + return { startColumn: e30, endColumn: n2, type: Fe.DATA }; + } + let u = c.slice(0, l).trim(), d = c.slice(l + 1).trim(), f = this._parseSectionMaybeBracketed(u), { startColumn: p, endColumn: m } = this._parseColumnOrRange(d, t, a); + return { startColumn: p, endColumn: m, type: f }; + } + _stripOuterBracketOnce(e29) { + return e29.length >= 2 && e29[0] === `[` && e29[e29.length - 1] === `]` ? e29.slice(1, -1) : e29; + } + _findCommaAtTopLevel(e29) { + let t = 0; + for (let n = 0; n < e29.length; n++) { + let r = e29[n]; + if (r === `[`) t++; + else if (r === `]`) t = Math.max(0, t - 1); + else if (r === A3.COMMA && t === 0) return n; + } + return -1; + } + _parseSectionMaybeBracketed(e29) { + let t = e29.trim(), n = t.startsWith(`[`) && t.endsWith(`]`) ? this._stripOuterBracketOnce(t) : t, r = this._mapSection(n); + return r == null ? Fe.DATA : r; + } + _mapSection(e29) { + let t = e29.trim(); + if (!t.startsWith(`#`)) return; + let n = this._tableOptionMap.get(t); + if (n !== void 0) return n; + let r = t.replace(/\s+/g, ` `).toLowerCase(); + for (let [e30, t2] of this._tableOptionMap.entries()) if (e30.replace(/\s+/g, ` `).toLowerCase() === r) return t2; + } + _parseColumnOrRange(e29, t, n) { + let r = e29.trim(), i = this._findColonAtTopLevel(r); + if (i === -1) { + let e30 = this._stripOuterBracketIfAny(r), i2 = this._titleToIndex(e30, t); + return { startColumn: n + i2, endColumn: +n + i2 }; + } + let a = r.slice(0, i).trim(), o = r.slice(i + 1).trim(), s = this._stripOuterBracketIfAny(a), c = this._stripOuterBracketIfAny(o), l = this._titleToIndex(s, t), u = this._titleToIndex(c, t); + return l !== -1 && u !== -1 && l > u ? { startColumn: n + u, endColumn: n + l } : { startColumn: n + l, endColumn: n + u }; + } + _stripOuterBracketIfAny(e29) { + return e29.length >= 2 && e29[0] === `[` && e29[e29.length - 1] === `]` ? e29.slice(1, -1) : e29; + } + _findColonAtTopLevel(e29) { + let t = 0; + for (let n = 0; n < e29.length; n++) { + let r = e29[n]; + if (r === `[`) t++; + else if (r === `]`) t = Math.max(0, t - 1); + else if (r === A3.COLON && t === 0) return n; + } + return -1; + } + _titleToIndex(e29, t) { + var n; + let r = e29.trim(), i = t.get(r); + if (i !== void 0) return i; + let a = r.replace(/\u3000/g, ` `).trim(); + return (n = t.get(a)) == null ? -1 : n; + } + _resolveThisRow(e29, t) { + return this._isCurrentRowForRange = true, Math.min(e29 + 1, t); + } + }; + var Lo2 = class extends Ya2 { + constructor(e29, t, n, r, i = false, a) { + super(n), this._currentConfigService = e29, this._runtimeService = t, this._referenceObjectType = r, this._isPrepareMerge = i, this._tableReferenceObject = a, E3(this, `_refOffsetX`, 0), E3(this, `_refOffsetY`, 0); + } + get nodeType() { + return H3.REFERENCE; + } + execute() { + let e29 = this._currentConfigService, t = this._runtimeService, n = this._tableReferenceObject || Ba2(this.getToken(), this._referenceObjectType); + n.setDefaultUnitId(t.currentUnitId), n.setDefaultSheetId(t.currentSubUnitId), n.setForcedSheetId(e29.getSheetNameMap()), n.setUnitData(e29.getUnitData()), n.setArrayFormulaCellData(e29.getArrayFormulaCellData()), n.setArrayFormulaRange(e29.getArrayFormulaRange()), n.setRuntimeData(t.getUnitData()), n.setUnitStylesData(e29.getUnitStylesData()), n.setRuntimeArrayFormulaCellData(t.getRuntimeArrayFormulaCellData()), n.setRuntimeArrayFormulaRange(t.getUnitArrayFormula()), n.setRuntimeFeatureCellData(t.getRuntimeFeatureCellData()); + let r = t.currentRow, i = t.currentColumn; + n.setCurrentRowAndColumn(r, i); + let { x: a, y: o } = this.getRefOffset(); + n.setRefOffset(a, o), !this._isPrepareMerge && n.isExceedRange() ? this.setValue(j3.create(D3.NAME)) : this.setValue(n); + } + setRefOffset(e29 = 0, t = 0) { + this._refOffsetX = e29, this._refOffsetY = t; + } + getRefOffset() { + return { x: this._refOffsetX, y: this._refOffsetY }; + } + }; + var Ro2 = class extends Za2 { + constructor(e29, t, n, r) { + super(), this._currentConfigService = e29, this._formulaRuntimeService = t, this._functionService = n, this._superTableService = r; + } + get zIndex() { + return Ja2.get(H3.REFERENCE) || 100; + } + checkAndCreateNodeType(e29) { + let t = false, n, r = false; + if (e29 instanceof F3) { + var i; + t = true, n = e29.getToken().trim(), ((i = e29.getParent()) == null || (i = i.getParent()) == null ? void 0 : i.getToken().trim()) === A3.COLON && (r = true); + } else n = e29.trim(); + let { tokenTrim: a, minusPrefixNode: o, atPrefixNode: s } = go(n, this._functionService, this._formulaRuntimeService); + if (!t && a.charAt(0) === `"` && a.charAt(a.length - 1) === `"`) return; + let c = this._getNode(a, t, r, e29); + if (c) return s ? c.setParent(s) : o && c.setParent(o), c; + } + _getTableMap() { + let e29 = this._currentConfigService.getExecuteUnitId(); + if (e29) return this._superTableService.getTableMap(e29); + } + _getNode(e29, t, n, r) { + var i; + let a = this._currentConfigService, o = this._formulaRuntimeService, s = (t2) => new Lo2(a, o, e29, t2, n), c = this._getTableMap(); + if ((i = c == null ? void 0 : c.has(e29)) != null && i) return this._getTableReferenceNode(e29, t, n, true); + if (gn2(e29)) return s(za2.CELL); + let l = t && this._checkParentIsUnionOperator(r); + return l && bn(e29) ? s(za2.ROW) : l && xn2(e29) ? s(za2.COLUMN) : this._getTableReferenceNode(e29, t, n, false); + } + _getTableReferenceNode(e29, t, n, r = false) { + if (!this._checkTokenIsTableReference(e29) && !r) return; + let { tableName: i, columnStruct: a } = ur2(e29), o = this._getTableMap(); + if (!t && o != null && o.has(i)) { + let t2 = a, r2 = o.get(i), s = this._superTableService.getTableOptionMap(); + return new Lo2(this._currentConfigService, this._formulaRuntimeService, e29, za2.COLUMN, n, new Io2(e29, r2, t2, s)); + } + } + _checkTokenIsTableReference(e29) { + return Sn2(e29) || Cn2(e29) || wn2(e29) || Tn2(e29); + } + _checkParentIsUnionOperator(e29) { + var t; + return ((t = e29.getParent()) == null || (t = t.getParent()) == null ? void 0 : t.getToken().trim()) === A3.COLON; + } + }; + Ro2 = dr2([P5(0, fi2), P5(1, qa2), P5(2, uo2), P5(3, zr2)], Ro2); + var zo2 = class extends Ya2 { + constructor(e29, t, n, r) { + super(n), this._currentConfigService = e29, this._lexer = t, this._operatorString = n, this._functionExecutor = r; + } + get nodeType() { + return H3.SUFFIX; + } + execute() { + var e29; + let t = (e29 = this.getChildren()[0]) == null ? void 0 : e29.getValue(), n; + if (t == null) { + this.setValue(j3.create(D3.ERROR)); + return; + } + if (this._operatorString === qe2.PERCENTAGE) { + if (t.isReferenceObject() && (t = t.toArrayValueObject()), n = this._functionExecutor.calculate(t, R4.create(100)), n.isNumber()) { + let e30 = Number(n.getValue()); + n = R4.create(e30, `0.00%`); + } + } else n = this._operatorString === qe2.POUND ? this._handlerPound(t) : j3.create(D3.VALUE); + this.setValue(n); + } + _handlerPound(e29) { + var t; + if (!e29.isReferenceObject() || !e29.isCell()) return j3.create(D3.VALUE); + let n = e29, r = n.getRangePosition(), i = n.getUnitId(), a = n.getSheetId(), o = this._currentConfigService.getFormulaData(), s = o == null || (t = o[i]) == null || (t = t[a]) == null || (t = t[r.startRow]) == null || (t = t[r.startColumn]) == null ? void 0 : t.f; + return s && this._lexer.treeBuilder(s), j3.create(D3.VALUE); + } + }; + var Bo2 = class extends Za2 { + constructor(e29, t, n) { + super(), this._functionService = e29, this._lexer = t, this._currentConfigService = n; + } + get zIndex() { + return Ja2.get(H3.SUFFIX) || 100; + } + checkAndCreateNodeType(e29) { + if (!(e29 instanceof F3)) return; + let t = e29.getToken().trim(); + if (t.charAt(0) === `"` && t.charAt(t.length - 1) === `"`) return; + let n = ``; + if (t === qe2.PERCENTAGE) n = po.DIVIDED; + else if (t === qe2.POUND) return new zo2(this._currentConfigService, this._lexer, t); + else return; + let r = this._functionService.getExecutor(n); + return r ? new zo2(this._currentConfigService, this._lexer, t, r) : (console.error(`No function ${e29}`), Xa.create(D3.NAME)); + } + }; + Bo2 = dr2([P5(0, uo2), P5(1, Inject(pi)), P5(2, fi2)], Bo2); + var Vo2 = class extends Ya2 { + constructor(e29) { + super(e29); + } + get nodeType() { + return H3.UNION; + } + execute() { + let e29 = this.getChildren(), t = e29[0], n = e29[1], r = t.getValue(), i = n.getValue(); + if (r == null || i == null) { + console.error(`UnionNode execute leftNode or rightNode is null`), this.setValue(j3.create(D3.VALUE)); + return; + } + let a; + a = this.getToken() === A3.COLON ? this._unionFunction(r, i) : j3.create(D3.NAME), this.setValue(a); + } + _unionFunction(e29, t) { + return e29.isError() || t.isError() || !e29.isReferenceObject() || !t.isReferenceObject() ? j3.create(D3.REF) : (e29 = e29, t = t, Va(e29, t)); + } + }; + var Ho = class extends Za2 { + constructor(e29) { + super(), this._functionService = e29; + } + get zIndex() { + return Ja2.get(H3.UNION) || 100; + } + create(e29) { + return new Vo2(e29); + } + checkAndCreateNodeType(e29) { + if (!(e29 instanceof F3)) return; + let t = e29.getToken().trim(); + if (!(t.charAt(0) === `"` && t.charAt(t.length - 1) === `"`) && t === A3.COLON) return this.create(t); + } + }; + Ho = dr2([P5(0, uo2)], Ho); + var Uo2 = class extends Ya2 { + constructor(e29) { + super(e29); + } + get nodeType() { + return H3.VALUE; + } + execute() { + let e29 = this.getParent(), t = true; + if ((e29 == null ? void 0 : e29.nodeType) === H3.FUNCTION) { + var n, r; + t = (n = (r = e29.isFunctionExecutorArgumentsIgnoreNumberPattern) == null ? void 0 : r.call(e29)) == null ? true : n; + } + this.setValue(ga2.create(this.getToken(), t)); + } + }; + var Wo = class extends Za2 { + get zIndex() { + return Ja2.get(H3.VALUE) || 100; + } + _checkValueNode(e29) { + if (Number.isNaN(Number(e29))) { + let t = e29.trim(), n = t.charAt(0), r = t.charAt(t.length - 1); + if (Ve2.has(t) || n === `"` && r === `"` || n === `{` && r === `}`) return this.create(t); + let i = t.toUpperCase(); + if (i === Ne.TRUE || i === Ne.FALSE) return this.create(i); + } else return this.create(e29); + } + create(e29) { + return new Uo2(e29); + } + checkAndCreateNodeType(e29) { + if (!(e29 instanceof F3)) return this._checkValueNode(e29); + } + }; + var Go = class extends E { + constructor(e29, t, n, r, i, a, o, s, c, l, u) { + super(), this._runtimeService = e29, this._astRootNodeFactory = t, this._functionNodeFactory = n, this._lambdaNodeFactory = r, this._lambdaParameterNodeFactory = i, this._operatorNodeFactory = a, this._prefixNodeFactory = o, this._referenceNodeFactory = s, this._suffixNodeFactory = c, this._unionNodeFactory = l, this._valueNodeFactory = u, E3(this, `_astNodeFactoryList`, []), this._initializeAstNode(); + } + dispose() { + this._astNodeFactoryList.forEach((e29) => { + e29.dispose(); + }), this._astNodeFactoryList = []; + } + parse(e29) { + let t = new Qa(`R_1`), n = this._parse(e29, t); + return e29.hasDefinedNames() && (n == null || n.setDefinedNames(e29.getDefinedNames())), n; + } + _lambdaParameterHandler(e29, t) { + if (t.getLambdaId == null) return Xa.create(D3.VALUE); + let n = t.getLambdaId(), r = new Qa(`R_1`), i = this._runtimeService.getFunctionDefinitionPrivacyVar(n); + if (!i) return false; + let a = [...i.keys()], o = e29.getChildren(), s = o.length; + for (let e30 = 0; e30 < s; e30++) { + let t2 = o[e30]; + if (t2 instanceof F3) { + Co2(t2, n, i), this._parse(t2, r); + let o2 = r.getChildren()[e30]; + o2 != null && i.set(a[e30], o2); + } else return false; + } + return r.setParent(t), t; + } + _changeLetToLambda(e29) { + let t = e29.getChildren(), n = t.length; + if (n % 2 != 1 || n === 0) return; + let r = new F3(); + r.setToken(Fn2); + let i = new F3(); + i.setToken(`L_1`); + let a = [...t]; + for (let e30 = 0; e30 < n; e30++) { + let t2 = a[e30]; + if (!(t2 instanceof F3)) return; + e30 % 2 == 0 ? t2.changeToParent(r) : t2.changeToParent(i); + } + r.addChildrenFirst(i), i.setParent(r); + let o = e29.getParent(); + return o == null || o.replaceChild(e29, r), r; + } + _parse(e29, t) { + let n = e29.getChildren(), r = n.length, i = [], a = null, o = e29.getToken().trim().toUpperCase(); + if (o === `LET`) { + let n2 = this._changeLetToLambda(e29); + return n2 == null ? Xa.create(D3.ERROR) : this._parse(n2, t); + } + if (o === `P_1`) { + if (a = t, r === 0) return new No2(`R_1`).setParent(t), a; + } else { + if (o === `L_1`) { + let n2 = this._lambdaParameterHandler(e29, t); + return n2 === false && (n2 = Xa.create(D3.ERROR)), n2; + } + if (a = this._checkAstNode(e29), a == null) return Xa.create(D3.NAME); + } + let s = n[0]; + for (let e30 = 0; e30 < r; e30++) { + let t2 = n[e30]; + if (xo(s)) { + if (e30 !== 0 && e30 !== r - 1) continue; + } else if (So(t2) && e30 !== r - 1) continue; + let o2 = null; + if (t2 instanceof F3) { + if (t2.getToken() === `P_1` && t2.getChildren().length === 0) { + var c; + let e31 = (c = t2.getParent()) == null ? void 0 : c.getChildren(); + if (e31 && e31.length === 1) return Xa.create(D3.NAME); + } + if (o2 = this._parse(t2, a), o2 === a) continue; + } else o2 = this._checkAstNode(t2); + if (o2 == null) return Xa.create(D3.NAME); + if (o2 = wo2(o2), o2 == null || (o2 == null ? void 0 : o2.nodeType) === H3.ERROR) return o2; + switch (o2.nodeType) { + case H3.FUNCTION: { + let e31 = o2.getToken().trim().toUpperCase(); + In.has(e31) && o2.setForcedCalculateFunction(), i.push(o2); + break; + } + case H3.LAMBDA: + i.push(o2); + break; + case H3.LAMBDA_PARAMETER: + i.push(o2); + break; + case H3.OPERATOR: { + let e31 = i.pop(), t3 = i.pop(); + t3 && t3.setParent(o2), e31 && e31.setParent(o2), i.push(o2); + break; + } + case H3.REFERENCE: + i.push(o2); + break; + case H3.ROOT: + i.push(o2); + break; + case H3.UNION: + i.push(o2); + break; + case H3.VALUE: + i.push(o2); + break; + case H3.PREFIX: + i.push(o2); + break; + case H3.SUFFIX: + i.push(o2); + break; + } + } + let l = i.length; + for (let e30 = 0; e30 < l; e30++) i[e30].setParent(a); + return a; + } + _checkAstNode(e29) { + let t = null, n = this._astNodeFactoryList.length; + for (let r = 0; r < n && (t = this._astNodeFactoryList[r].checkAndCreateNodeType(e29), t == null); r++) ; + return t == null ? new vo() : t; + } + _initializeAstNode() { + this._astNodeFactoryList = [this._astRootNodeFactory, this._functionNodeFactory, this._lambdaNodeFactory, this._lambdaParameterNodeFactory, this._operatorNodeFactory, this._prefixNodeFactory, this._referenceNodeFactory, this._suffixNodeFactory, this._unionNodeFactory, this._valueNodeFactory].sort(Jo); + } + }; + Go = dr2([P5(0, qa2), P5(1, Inject($a2)), P5(2, Inject(yo2)), P5(3, Inject(ko2)), P5(4, Inject(Mo2)), P5(5, Inject(Fo2)), P5(6, Inject(ho)), P5(7, Inject(Ro2)), P5(8, Inject(Bo2)), P5(9, Inject(Ho)), P5(10, Inject(Wo))], Go); + var Ko = class extends E { + constructor(...e29) { + super(...e29), E3(this, `_otherFormulaData`, /* @__PURE__ */ new Map()), E3(this, `_featureFormulaData`, /* @__PURE__ */ new Map()), E3(this, `_formulaData`, /* @__PURE__ */ new Map()), E3(this, `_definedNameMap`, /* @__PURE__ */ new Map()), E3(this, `_otherFormulaDataMainData`, /* @__PURE__ */ new Set()), E3(this, `_dependencyRTreeCache`, new dd()), E3(this, `_dependencyTreeIdLast`, 0); + } + buildDependencyTree(e29, t) { + throw Error(`Method not implemented.`); + } + getTreeById(e29) { + throw Error(`Method not implemented.`); + } + getAllTree() { + throw Error(`Method not implemented.`); + } + reset() { + throw Error(`Method not implemented.`); + } + addOtherFormulaDependency(e29, t, n, r) { + throw Error(`Method not implemented.`); + } + removeOtherFormulaDependency(e29, t, n) { + throw Error(`Method not implemented.`); + } + clearOtherFormulaDependency(e29, t) { + throw Error(`Method not implemented.`); + } + addFeatureFormulaDependency(e29, t, n, r) { + throw Error(`Method not implemented.`); + } + removeFeatureFormulaDependency(e29, t, n) { + throw Error(`Method not implemented.`); + } + clearFeatureFormulaDependency(e29, t) { + throw Error(`Method not implemented.`); + } + addFormulaDependency(e29, t, n, r, i) { + throw Error(`Method not implemented.`); + } + removeFormulaDependency(e29, t, n, r) { + throw Error(`Method not implemented.`); + } + clearFormulaDependency(e29, t) { + throw Error(`Method not implemented.`); + } + removeFormulaDependencyByDefinedName(e29, t) { + throw Error(`Method not implemented.`); + } + searchDependency(e29, t) { + return this._dependencyRTreeCache.bulkSearch(e29, t); + } + _restDependencyTreeId() { + this._dependencyTreeIdLast = 0; + } + getOtherFormulaDependency(e29, t, n) { + var r; + return (r = this._otherFormulaData.get(e29)) == null || (r = r.get(t)) == null ? void 0 : r.get(n); + } + addOtherFormulaDependencyMainData(e29) { + this._otherFormulaDataMainData.add(e29); + } + hasOtherFormulaDataMainData(e29) { + return this._otherFormulaDataMainData.has(e29); + } + _removeDependencyRTreeCacheById(e29, t) { + this._dependencyRTreeCache.removeById(e29, t); + } + getFeatureFormulaDependency(e29, t, n) { + var r; + return (r = this._featureFormulaData.get(e29)) == null || (r = r.get(t)) == null ? void 0 : r.get(n); + } + getFormulaDependency(e29, t, n, r) { + var i; + return (i = this._formulaData.get(e29)) == null || (i = i.get(t)) == null ? void 0 : i.getValue(n, r); + } + addDependencyRTreeCache(e29) { + let t = []; + for (let n = 0; n < e29.rangeList.length; n++) { + let { unitId: r, sheetId: i, range: a } = e29.rangeList[n]; + t.push({ unitId: r, sheetId: i, range: a, id: e29.treeId }); + } + this._dependencyRTreeCache.bulkInsert(t), this._addAllTreeMap(e29); + } + getLastTreeId() { + let e29 = this._dependencyTreeIdLast; + return this._dependencyTreeIdLast++, e29; + } + _addAllTreeMap(e29) { + throw Error(`Method not implemented.`); + } + _addDefinedName(e29, t, n) { + this._definedNameMap.has(e29) || this._definedNameMap.set(e29, /* @__PURE__ */ new Map()); + let r = this._definedNameMap.get(e29); + r.has(t) || r.set(t, /* @__PURE__ */ new Set()), r.get(t).add(n); + } + addFormulaDependencyByDefinedName(e29, t) { + let n = e29.treeId, r = (t == null ? void 0 : t.getDefinedNames()) || []; + for (let t2 of r) this._addDefinedName(e29.unitId, t2, n); + } + updateDependencyTreeDirtyState(e29, t) { + throw Error(`Method not implemented.`); + } + }; + var qo = class extends Ko { + constructor(...e29) { + super(...e29), E3(this, `_allTreeMap`, /* @__PURE__ */ new Map()); + } + dispose() { + super.dispose(), this.reset(); + } + buildDependencyTree(e29, t = []) { + let n = this.getAllTree(); + return e29.length === 0 ? (this._buildReverseDependency(n, t), n) : (this._buildDependencyTree(n, e29), this._buildReverseDependency(n, e29), n); + } + _buildDependencyTree(e29, t) { + let n = /* @__PURE__ */ new Map(); + for (let e30 = 0; e30 < t.length; e30++) { + let r = t[e30]; + n.set(r.treeId, r); + } + for (let t2 = 0; t2 < e29.length; t2++) { + let r = e29[t2], i = r.toRTreeItem(), a = this._dependencyRTreeCache.bulkSearch(i); + for (let e30 of a) { + let t3 = n.get(e30); + t3 && r !== t3 && !t3.hasChildren(r.treeId) && t3.pushChildren(r); + } + } + n.clear(); + } + _buildReverseDependency(e29, t) { + let n = /* @__PURE__ */ new Map(); + for (let t2 = 0; t2 < e29.length; t2++) { + let r = e29[t2]; + n.set(r.treeId, r); + } + for (let e30 = 0; e30 < t.length; e30++) { + let r = t[e30], i = r.toRTreeItem(), a = this._dependencyRTreeCache.bulkSearch(i); + for (let e31 of a) { + let t2 = n.get(e31); + t2 && r !== t2 && !t2.hasChildren(r.treeId) && t2.pushChildren(r); + } + } + n.clear(); + } + getAllTree() { + let e29 = []; + return this._allTreeMap.forEach((t) => { + t.resetState(), e29.push(t); + }), e29; + } + getTreeById(e29) { + return this._allTreeMap.get(e29); + } + reset() { + this._otherFormulaData.clear(), this._featureFormulaData.clear(), this._formulaData.clear(), this._definedNameMap.clear(), this._otherFormulaDataMainData.clear(), this._dependencyRTreeCache.clear(), this._allTreeMap.clear(), this._restDependencyTreeId(); + } + addOtherFormulaDependency(e29, t, n, r) { + this._otherFormulaData.has(e29) || this._otherFormulaData.set(e29, /* @__PURE__ */ new Map()); + let i = this._otherFormulaData.get(e29); + i.has(t) || i.set(t, /* @__PURE__ */ new Map()); + let a = i.get(t); + a.has(n) || a.set(n, new Sa()), a.get(n).setValue(r.refOffsetX, r.refOffsetY, r.treeId), this._addAllTreeMap(r); + } + removeOtherFormulaDependency(e29, t, n) { + let r = this._otherFormulaData.get(e29); + if (r && r.has(t)) { + let i = r.get(t); + n.forEach((e30) => { + let t2 = i.get(e30); + t2 != null && (t2.forValue((e31, t3, n2) => { + this._removeDependencyRTreeCache(n2), this.clearDependencyForTree(this._allTreeMap.get(n2)), this._removeAllTreeMap(n2); + }), i.delete(e30), this._otherFormulaDataMainData.delete(e30)); + }), i.size === 0 && r.delete(t), r.size === 0 && this._otherFormulaData.delete(e29); + } + } + clearOtherFormulaDependency(e29, t) { + let n = this._otherFormulaData.get(e29); + if (t && n && n.has(t)) { + let r = n.get(t); + this._removeDependencyRTreeCacheById(e29, t); + for (let e30 of r.keys()) { + let t2 = r.get(e30); + t2 != null && (t2.forValue((e31, t3, n2) => { + let r2 = this._allTreeMap.get(n2); + r2 && (this.clearDependencyForTree(r2), this._removeAllTreeMap(n2)); + }), this._otherFormulaDataMainData.delete(e30)); + } + r.clear(); + } else if (n) { + for (let t2 of n.keys()) { + let r = n.get(t2); + this._removeDependencyRTreeCacheById(e29, t2); + for (let e30 of r.keys()) { + let t3 = r.get(e30); + t3 != null && (t3.forValue((e31, t4, n2) => { + let r2 = this._allTreeMap.get(n2); + r2 && (this.clearDependencyForTree(r2), this._removeAllTreeMap(n2)); + }), this._otherFormulaDataMainData.delete(e30)); + } + } + this._otherFormulaData.delete(e29); + } + } + addFeatureFormulaDependency(e29, t, n, r) { + this._featureFormulaData.has(e29) || this._featureFormulaData.set(e29, /* @__PURE__ */ new Map()); + let i = this._featureFormulaData.get(e29); + i.has(t) || i.set(t, /* @__PURE__ */ new Map()), i.get(t).set(n, r.treeId), this._addAllTreeMap(r); + } + removeFeatureFormulaDependency(e29, t, n) { + let r = this._featureFormulaData.get(e29); + if (r && r.has(t)) { + let e30 = r.get(t); + n.forEach((t2) => { + let n2 = e30.get(t2); + n2 != null && (this._removeDependencyRTreeCache(n2), e30.delete(t2), this.clearDependencyForTree(this._allTreeMap.get(n2)), this._removeAllTreeMap(n2)); + }); + } + } + clearFeatureFormulaDependency(e29, t) { + let n = this._featureFormulaData.get(e29); + if (t && n && n.has(t)) { + let r = n.get(t); + this._removeDependencyRTreeCacheById(e29, t), r.forEach((e30) => { + e30 != null && (this.clearDependencyForTree(this._allTreeMap.get(e30)), this._removeAllTreeMap(e30)); + }), r.clear(); + } else n && (n.forEach((t2, n2) => { + this._removeDependencyRTreeCacheById(e29, n2), t2.forEach((e30) => { + e30 != null && (this.clearDependencyForTree(this._allTreeMap.get(e30)), this._removeAllTreeMap(e30)); + }); + }), this._featureFormulaData.delete(e29)); + } + addFormulaDependency(e29, t, n, r, i) { + this._formulaData.has(e29) || this._formulaData.set(e29, /* @__PURE__ */ new Map()); + let a = this._formulaData.get(e29); + a.has(t) || a.set(t, new Sa()), a.get(t).setValue(n, r, i.treeId), this._addAllTreeMap(i); + } + removeFormulaDependency(e29, t, n, r) { + let i = this._formulaData.get(e29); + if (i && i.has(t)) { + let e30 = i.get(t), a = e30.getValue(n, r); + if (a == null) return; + this._removeDependencyRTreeCache(a), e30.realDeleteValue(n, r), this.clearDependencyForTree(this._allTreeMap.get(a)), this._removeAllTreeMap(a); + } + } + clearFormulaDependency(e29, t) { + let n = this._formulaData.get(e29); + if (t && n && n.has(t)) { + let r = n.get(t); + this._removeDependencyRTreeCacheById(e29, t), r.forValue((e30, t2, n2) => { + if (n2 == null) return true; + this.clearDependencyForTree(this._allTreeMap.get(n2)), this._removeAllTreeMap(n2); + }), r.reset(); + } else n && (n.forEach((t2, n2) => { + this._removeDependencyRTreeCacheById(e29, n2), t2.forValue((e30, t3, n3) => { + if (n3 == null) return true; + this.clearDependencyForTree(this._allTreeMap.get(n3)), this._removeAllTreeMap(n3); + }); + }), this._formulaData.delete(e29)); + } + clearDependencyForTree(e29) { + if (e29 == null) return; + let t = e29.parents, n = e29.children, r = this._allTreeMap; + for (let n2 of t) { + let t2 = r.get(n2); + t2 == null || t2.children.delete(e29.treeId); + } + for (let t2 of n) { + let n2 = r.get(t2); + n2 == null || n2.parents.delete(e29.treeId); + } + e29.dispose(); + } + _removeDependencyRTreeCache(e29) { + if (e29 == null) return; + let t = this._allTreeMap.get(e29); + if (t) { + let n = []; + for (let r = 0; r < t.rangeList.length; r++) { + let { unitId: i, sheetId: a, range: o } = t.rangeList[r]; + n.push({ unitId: i, sheetId: a, range: o, id: e29 }); + } + this._dependencyRTreeCache.bulkRemove(n); + } + } + removeFormulaDependencyByDefinedName(e29, t) { + let n = this._definedNameMap.get(e29); + if (n) { + let e30 = n.get(t); + if (e30) { + for (let t2 of e30) this._removeDependencyRTreeCache(t2), this.clearDependencyForTree(this._allTreeMap.get(t2)), this._removeAllTreeMap(t2); + e30.clear(); + } + } + } + _removeAllTreeMap(e29) { + e29 != null && this._allTreeMap.delete(e29); + } + _addAllTreeMap(e29) { + this._allTreeMap.set(e29.treeId, e29); + } + updateDependencyTreeDirtyState(e29, t) { + let n = this._allTreeMap.get(e29); + n && (n.isDirty = t); + } + }; + var Jo2 = createIdentifier(`univer.formula.dependency-manager.service`); + var Yo = class extends E { + constructor(...e29) { + super(...e29), E3(this, `_referenceExecutorMap`, /* @__PURE__ */ new Map()), E3(this, `_onChanged$`, new Subject()), E3(this, `onChanged$`, this._onChanged$.asObservable()); + } + dispose() { + super.dispose(), this._referenceExecutorMap.clear(), this._onChanged$.complete(); + } + remove(e29, t, n) { + n.forEach((n2) => { + var r; + (r = this._referenceExecutorMap.get(e29)) == null || (r = r.get(t)) == null || r.delete(n2); + }), this._onChanged$.next({ unitId: e29, subUnitId: t, featureIds: n }); + } + get(e29, t, n) { + var r; + return (r = this._referenceExecutorMap.get(e29)) == null || (r = r.get(t)) == null ? void 0 : r.get(n); + } + has(e29, t, n) { + var r; + return !!(!((r = this._referenceExecutorMap.get(e29)) == null || (r = r.get(t)) == null) && r.has(n)); + } + register(e29, t, n, r) { + let i = this._referenceExecutorMap.get(e29); + i || (i = /* @__PURE__ */ new Map(), this._referenceExecutorMap.set(e29, i)); + let a = i.get(t); + a || (a = /* @__PURE__ */ new Map(), i.set(t, a)), this._onChanged$.next({ unitId: e29, subUnitId: t, featureIds: [n] }), a.set(n, r); + } + getReferenceExecutorMap() { + return this._referenceExecutorMap; + } + }; + var Xo2 = createIdentifier(`univer.formula.feature-calculation-manager.service`); + var Zo2 = class extends E { + constructor(...e29) { + super(...e29), E3(this, `_otherFormulaData`, {}); + } + dispose() { + super.dispose(), this._otherFormulaData = {}; + } + remove(e29) { + var t; + let { unitId: n, subUnitId: r, formulaId: i } = e29; + (t = this._otherFormulaData) == null || (t = t[n]) == null || (t = t[r]) == null || delete t[i]; + } + get(e29) { + var t; + let { unitId: n, subUnitId: r, formulaId: i } = e29; + return (t = this._otherFormulaData[n]) == null || (t = t[r]) == null ? void 0 : t[i]; + } + has(e29) { + var t; + let { unitId: n, subUnitId: r, formulaId: i } = e29; + return ((t = this._otherFormulaData[n]) == null || (t = t[r]) == null ? void 0 : t[i]) != null; + } + register(e29) { + let { unitId: t, subUnitId: n, formulaId: r, item: i } = e29; + this._otherFormulaData[t] || (this._otherFormulaData[t] = {}), this._otherFormulaData[t][n] || (this._otherFormulaData[t][n] = {}), this._otherFormulaData[t][n][r] = i; + } + batchRegister(e29) { + Object.keys(e29).forEach((t) => { + let n = e29[t]; + if (n == null) return true; + Object.keys(n).forEach((e30) => { + let r = n[e30]; + if (r == null) return true; + Object.keys(r).forEach((n2) => { + let i = r[n2]; + if (i == null) return true; + this.register({ unitId: t, subUnitId: e30, formulaId: n2, item: i }); + }); + }); + }); + } + batchRemove(e29) { + Object.keys(e29).forEach((t) => { + let n = e29[t]; + if (n == null) return true; + Object.keys(n).forEach((e30) => { + let r = n[e30]; + if (r == null) return true; + Object.keys(r).forEach((n2) => { + this.remove({ unitId: t, subUnitId: e30, formulaId: n2 }); + }); + }); + }); + } + getOtherFormulaData() { + return this._otherFormulaData; + } + }; + var Qo2 = createIdentifier(`univer.formula.other-formula-manager.service`); + var $o2 = (function(e29) { + return e29[e29.DEFAULT = 0] = `DEFAULT`, e29[e29.ADDED = 1] = `ADDED`, e29[e29.SKIP = 2] = `SKIP`, e29; + })({}); + var es2 = (function(e29) { + return e29[e29.NORMAL_FORMULA = 0] = `NORMAL_FORMULA`, e29[e29.OTHER_FORMULA = 1] = `OTHER_FORMULA`, e29[e29.FEATURE_FORMULA = 2] = `FEATURE_FORMULA`, e29; + })({}); + var ts2 = class { + constructor() { + E3(this, `_state`, $o2.DEFAULT), E3(this, `type`, es2.NORMAL_FORMULA), E3(this, `treeId`, void 0), E3(this, `children`, /* @__PURE__ */ new Set()), E3(this, `parents`, /* @__PURE__ */ new Set()); + } + resetState() { + this._state = $o2.DEFAULT; + } + setAdded() { + this._state = $o2.ADDED; + } + isAdded() { + return this._state === $o2.ADDED; + } + setSkip() { + this._state = $o2.SKIP; + } + isSkip() { + return this._state === $o2.SKIP; + } + pushChildren(e29) { + this.children.add(e29.treeId), e29._pushParent(this); + } + hasChildren(e29) { + return this.children.has(e29); + } + _pushParent(e29) { + this.parents.add(e29.treeId); + } + }; + var ns2 = class extends ts2 { + constructor(...e29) { + super(...e29), E3(this, `refTree`, void 0), E3(this, `refOffsetX`, -1), E3(this, `refOffsetY`, -1), E3(this, `isCache`, false), E3(this, `isDirty`, false), E3(this, `addressFunctionNodes`, []), E3(this, `getDirtyData`, void 0), E3(this, `featureId`, void 0); + } + get isVirtual() { + return true; + } + get row() { + return this.refTree == null ? -1 : this.refTree.row + this.refOffsetY; + } + get column() { + return this.refTree == null ? -1 : this.refTree.column + this.refOffsetX; + } + get rowCount() { + return this.refTree == null ? 0 : this.refTree.rowCount; + } + get columnCount() { + return this.refTree == null ? 0 : this.refTree.columnCount; + } + get unitId() { + return this.refTree == null ? `` : this.refTree.unitId; + } + get subUnitId() { + return this.refTree == null ? `` : this.refTree.subUnitId; + } + get formula() { + var e29, t; + return (e29 = (t = this.refTree) == null ? void 0 : t.formula) == null ? `` : e29; + } + get nodeData() { + return { node: this.node, refOffsetX: this.refOffsetX, refOffsetY: this.refOffsetY }; + } + get node() { + var e29; + return (e29 = this.refTree) == null ? void 0 : e29.node; + } + dispose() { + this.refTree = null; + } + get rangeList() { + let e29 = []; + if (this.refTree == null) return []; + for (let t = 0; t < this.refTree.rangeList.length; t++) { + let n = this.refTree.rangeList[t]; + e29.push({ unitId: n.unitId, sheetId: n.sheetId, range: Do(n.range, this.refOffsetX, this.refOffsetY) }); + } + return e29; + } + toRTreeItem() { + let e29 = this.row, t = this.column; + return [{ unitId: this.unitId, sheetId: this.subUnitId, range: { startRow: e29, startColumn: t, endRow: e29, endColumn: t } }]; + } + inRangeData(e29) { + let t = e29.startRow, n = e29.startColumn, r = e29.endRow, i = e29.endColumn, a = this.row, o = this.column; + return !(a < t || a > r || o < n || o > i); + } + dependencySheetName(e29) { + return this.refTree == null ? false : this.refTree.dependencySheetName(e29); + } + isExcludeRange(e29) { + let t = this.rangeList; + if (t.length === 0) return false; + for (let r = 0, i = t.length; r < i; r++) { + var n; + let { unitId: i2, sheetId: a, range: o } = t[r], s = e29 == null || (n = e29[i2]) == null ? void 0 : n[a], { startRow: c, endRow: l, startColumn: u, endColumn: d } = o; + Number.isNaN(c) && (c = 0), Number.isNaN(u) && (u = 0), Number.isNaN(l) && (l = 1 / 0), Number.isNaN(d) && (d = 1 / 0); + let f = false; + if (s == null || s.forValue((e30, t2) => { + if (e30 >= c && e30 <= l && t2 >= u && t2 <= d) return f = true, false; + }), f) return true; + } + return false; + } + get formulaId() { + return this.refTree == null ? `` : this.refTree.formulaId; + } + }; + var rs2 = class extends ts2 { + constructor(e29) { + super(), E3(this, `isCache`, false), E3(this, `featureId`, void 0), E3(this, `featureDirtyRanges`, []), E3(this, `refOffsetX`, 0), E3(this, `refOffsetY`, 0), E3(this, `formulaId`, void 0), E3(this, `subUnitId`, ``), E3(this, `unitId`, ``), E3(this, `rangeList`, []), E3(this, `formula`, ``), E3(this, `row`, -1), E3(this, `column`, -1), E3(this, `rowCount`, -1 / 0), E3(this, `columnCount`, -1 / 0), E3(this, `isDirty`, false), E3(this, `node`, void 0), E3(this, `addressFunctionNodes`, []), E3(this, `getDirtyData`, void 0), this.treeId = e29; + } + get isVirtual() { + return false; + } + get nodeData() { + return { node: this.node, refOffsetX: 0, refOffsetY: 0 }; + } + toJson() { + return { formula: this.formula, refOffsetX: this.refOffsetX, refOffsetY: this.refOffsetY }; + } + dispose() { + this.featureDirtyRanges = [], this.rangeList = [], this.addressFunctionNodes = [], this.getDirtyData = null; + } + inRangeData(e29) { + let t = e29.startRow, n = e29.startColumn, r = e29.endRow, i = e29.endColumn, a = this.row, o = this.column; + return !(a < t || a > r || o < n || o > i); + } + dependencySheetName(e29) { + let t = this.rangeList; + if (t.length === 0 || e29 == null) return false; + for (let r = 0, i = t.length; r < i; r++) { + var n; + let { unitId: i2, sheetId: a } = t[r]; + if (((n = e29[i2]) == null ? void 0 : n[a]) != null) return true; + } + return false; + } + isExcludeRange(e29) { + let t = this.rangeList; + if (t.length === 0) return false; + for (let r = 0, i = t.length; r < i; r++) { + var n; + let { unitId: i2, sheetId: a, range: o } = t[r], s = e29 == null || (n = e29[i2]) == null ? void 0 : n[a], { startRow: c, endRow: l, startColumn: u, endColumn: d } = o; + Number.isNaN(c) && (c = 0), Number.isNaN(u) && (u = 0), Number.isNaN(l) && (l = 1 / 0), Number.isNaN(d) && (d = 1 / 0); + let f = false; + if (s == null || s.forValue((e30, t2) => { + if (e30 >= c && e30 <= l && t2 >= u && t2 <= d) return f = true, false; + }), f) return true; + } + return false; + } + pushRangeList(e29) { + this.rangeList.push(...e29); + } + shouldBePushRangeList() { + return this.rangeList.length === 0 && this.type !== es2.FEATURE_FORMULA; + } + toRTreeItem() { + if (this.featureId != null) return this.featureDirtyRanges; + let e29 = this.row, t = this.column; + return [{ unitId: this.unitId, sheetId: this.subUnitId, range: { startRow: e29, startColumn: t, endRow: e29, endColumn: t } }]; + } + }; + var is2 = class { + constructor(e29) { + if (E3(this, `children`, /* @__PURE__ */ new Set()), E3(this, `parents`, /* @__PURE__ */ new Set()), E3(this, `treeId`, -1), E3(this, `formula`, ``), E3(this, `refOffsetX`, 0), E3(this, `refOffsetY`, 0), E3(this, `row`, -1), E3(this, `column`, -1), E3(this, `unitId`, ``), E3(this, `subUnitId`, ``), E3(this, `rangeList`, []), E3(this, `refTreeId`, void 0), E3(this, `formulaId`, void 0), E3(this, `featureId`, void 0), E3(this, `type`, void 0), this.treeId = e29.treeId, this.row = e29.row, this.column = e29.column, this.unitId = e29.unitId, this.subUnitId = e29.subUnitId, this.refOffsetX = e29.refOffsetX, this.refOffsetY = e29.refOffsetY, this.rangeList = e29.rangeList, e29.isVirtual) { + var t, n; + this.refTreeId = (t = (n = e29.refTree) == null ? void 0 : n.treeId) == null ? -1 : t; + } else { + var r, i; + this.formula = e29.formula, this.formulaId = (r = e29.formulaId) == null ? void 0 : r, this.featureId = (i = e29.featureId) == null ? void 0 : i, this.type = e29.type; + } + } + toJson() { + return { children: Array.from(this.children).map((e29) => e29.treeId), parents: Array.from(this.parents).map((e29) => e29.treeId), treeId: this.treeId, formula: this.formula, row: this.row, column: this.column, unitId: this.unitId, subUnitId: this.subUnitId, refOffsetX: this.refOffsetX, refOffsetY: this.refOffsetY, rangeList: this.rangeList, refTreeId: this.refTreeId, formulaId: this.formulaId, featureId: this.featureId, type: this.type }; + } + toFullJson() { + return { children: Array.from(this.children).map((e29) => e29.toJson()), parents: Array.from(this.parents).map((e29) => e29.toJson()), treeId: this.treeId, formula: this.formula, row: this.row, column: this.column, unitId: this.unitId, subUnitId: this.subUnitId, refOffsetX: this.refOffsetX, refOffsetY: this.refOffsetY, rangeList: this.rangeList, refTreeId: this.refTreeId, formulaId: this.formulaId, featureId: this.featureId, type: this.type }; + } + addParent(e29) { + this.parents.add(e29); + } + addChild(e29) { + this.children.add(e29); + } + }; + function as2(e29) { + return e29.getLastTreeId() || 0; + } + var os2 = createIdentifier(`engine-formula.dependency-generator`); + var ss2 = class extends E { + constructor(e29, t, n, r, i, a, o, s, c, l) { + super(), this._currentConfigService = e29, this._runtimeService = t, this._otherFormulaManagerService = n, this._featureCalculationManagerService = r, this._univerInstanceService = i, this._interpreter = a, this._astTreeBuilder = o, this._lexer = s, this._dependencyManagerService = c, this._lexerTreeBuilder = l, E3(this, `_updateRangeFlattenCache`, /* @__PURE__ */ new Map()), E3(this, `_dependencyRTreeCacheForAddressFunction`, new dd()), E3(this, `_executedAddressFunctionNodeIds`, /* @__PURE__ */ new Set()), E3(this, `_formulaDependencyTreeModel`, /* @__PURE__ */ new Map()), this._initUnitDispose(); + } + dispose() { + super.dispose(), this._updateRangeFlattenCache.clear(), this._dependencyRTreeCacheForAddressFunction.clear(), oo2.clear(); + } + _initUnitDispose() { + this.disposeWithMe(this._univerInstanceService.getTypeOfUnitDisposed$(O.UNIVER_SHEET).subscribe((e29) => { + this._disposeByUnitId(e29.getUnitId()); + })); + } + _disposeByUnitId(e29) { + oo2.forEach((t, n) => { + n.startsWith(e29) && oo2.delete(n); + }); + } + async generate(e29 = false) { + this._updateRangeFlatten(); + let t = this._currentConfigService.getFormulaData(), n = this._otherFormulaManagerService.getOtherFormulaData(), r = this._currentConfigService.getClearDependencyTreeCache(); + r != null && Object.keys(r).forEach((e30) => { + e30 != null && Object.keys(r[e30]).forEach((t2) => { + t2 != null && (this._dependencyManagerService.clearOtherFormulaDependency(e30, t2), this._dependencyManagerService.clearFeatureFormulaDependency(e30, t2), this._dependencyManagerService.clearFormulaDependency(e30, t2)); + }); + }); + let i = this._currentConfigService.getUnitData(), a = await this._generateTreeList(t, n, i); + e29 && this._runtimeService.setDependencyTreeModelData(this._getAllDependencyJson(a)); + let o = this._getUpdateTreeListAndMakeDependency(a), s = this._calculateRunList(o); + return this._dependencyFeatureCalculation(s) && (s.forEach((e30) => { + e30.resetState(); + }), s = this._calculateRunList(s)), this._checkIsCycleDependency(s) && this._runtimeService.enableCycleDependency(), this._dependencyRTreeCacheForAddressFunction.clear(), this._runtimeService.clearArrayObjectCache(), Promise.resolve(s); + } + _dependencyFeatureCalculation(e29) { + let t = this._featureCalculationManagerService.getReferenceExecutorMap(); + if (t.size === 0) return; + this._clearFeatureCalculationNode(e29); + let n = false; + return t.forEach((t2, r) => { + t2.forEach((t3, r2) => { + t3.forEach((t4, r3) => { + let { unitId: i, subUnitId: a, getDirtyData: o } = t4, s = o(this._currentConfigService.getDirtyData(), this._runtimeService.getAllRuntimeData()), c = this._convertDirtyRangesToUnitRange(s.dirtyRanges), l = this._intersectFeatureCalculation(c, e29, { unitId: i, subUnitId: a, featureId: r3 }); + if (l.length > 0) { + let o2 = this._getExistTreeList({ unitId: i, subUnitId: a, featureId: r3 }, e29); + o2 == null && (o2 = this._getFeatureFormulaTree(r3, as2(this._dependencyManagerService), t4), e29.push(o2)), o2.parents = /* @__PURE__ */ new Set(), l.forEach((e30) => { + e30.hasChildren(o2.treeId) || e30.pushChildren(o2); + }), n = true; + } + }); + }); + }), n; + } + _clearFeatureCalculationNode(e29) { + let t = this._featureCalculationManagerService.getReferenceExecutorMap(); + e29.forEach((e30) => { + let n = /* @__PURE__ */ new Set(); + for (let i2 of e30.children) { + var r; + let a2 = this._dependencyManagerService.getTreeById(i2); + a2 && (a2.featureId && !((r = t.get(e30.unitId)) == null || (r = r.get(e30.subUnitId)) == null) && r.has(a2.featureId) || n.add(i2)); + } + e30.children = n; + let i = /* @__PURE__ */ new Set(); + for (let n2 of e30.parents) { + var a; + let r2 = this._dependencyManagerService.getTreeById(n2); + r2 && (r2.featureId && !((a = t.get(e30.unitId)) == null || (a = a.get(e30.subUnitId)) == null) && a.has(r2.featureId) || i.add(n2)); + } + e30.parents = i; + }); + } + _convertDirtyRangesToUnitRange(e29) { + let t = []; + for (let n in e29) { + let r = e29[n]; + for (let e30 in r) { + let i = r[e30]; + for (let r2 of i) t.push({ unitId: n, sheetId: e30, range: r2 }); + } + } + return t; + } + _intersectFeatureCalculation(e29, t, n) { + let r = [], i = this._dependencyManagerService.searchDependency(e29); + for (let e30 = 0, a = t.length; e30 < a; e30++) { + let a2 = t[e30]; + a2.unitId === n.unitId && a2.subUnitId === n.subUnitId && a2.featureId === n.featureId || i.has(a2.treeId) && r.push(a2); + } + return r; + } + _getExistTreeList(e29, t) { + let { unitId: n, subUnitId: r, featureId: i } = e29; + for (let e30 = 0, a = t.length; e30 < a; e30++) { + let a2 = t[e30]; + if (a2.unitId === n && a2.subUnitId === r && a2.featureId === i) return a2; + } + } + _isCyclicUtil(e29, t, n) { + let r = this._dependencyManagerService.getTreeById(e29); + if (r == null) return false; + if (!t.has(r.treeId)) { + t.add(r.treeId), n.add(r.treeId); + for (let e30 of r.children) if (!t.has(e30) && this._isCyclicUtil(e30, t, n) || n.has(e30)) return true; + } + return n.delete(r.treeId), false; + } + _checkIsCycleDependency(e29) { + let t = /* @__PURE__ */ new Set(), n = /* @__PURE__ */ new Set(); + for (let r = 0, i = e29.length; r < i; r++) { + let i2 = e29[r]; + if (this._isCyclicUtil(i2.treeId, t, n) === true) return true; + } + return false; + } + async _generateTreeList(e29, t, n) { + let r = Object.keys(e29), i = Object.keys(t), a = []; + this._currentConfigService.isForceCalculate() && this._dependencyManagerService.reset(), this._registerFormulas(r, e29, n, a), this._registerOtherFormulas(t, i, a), this._registerFeatureFormulas(a); + for (let e30 = 0, t2 = a.length; e30 < t2; e30++) { + let t3 = a[e30]; + if (!t3.formula) continue; + let n2 = this._getTreeNode(t3); + t3.isDirty = this._includeTree(t3, n2); + let r2 = this._getAddressFunctionNodeList(n2); + if (r2.length > 0 && (t3.addressFunctionNodes = r2), t3.isVirtual) continue; + this._runtimeService.setCurrent(t3.row, t3.column, t3.rowCount, t3.columnCount, t3.subUnitId, t3.unitId); + let i2 = await this._getRangeListByNode({ node: n2, refOffsetX: t3.refOffsetX, refOffsetY: t3.refOffsetY }); + t3.pushRangeList(i2); + } + for (let e30 = 0, t2 = a.length; e30 < t2; e30++) { + let t3 = a[e30]; + t3.isCache || this._dependencyManagerService.addDependencyRTreeCache(t3); + } + return await this._calculateListByFunctionRefNode(a), a; + } + _registerFeatureFormulas(e29) { + this._featureCalculationManagerService.getReferenceExecutorMap().forEach((t, n) => { + t.forEach((t2, n2) => { + t2.forEach((t3, n3) => { + let r = this._dependencyManagerService.getFeatureFormulaDependency(t3.unitId, t3.subUnitId, n3); + e29.push(this._getFeatureFormulaTree(n3, r, t3)); + }); + }); + }); + } + _getFeatureFormulaTree(e29, t, n) { + let { unitId: r, subUnitId: i, dependencyRanges: a, getDirtyData: o } = n, s = new rs2(t || as2(this._dependencyManagerService)); + s.unitId = r, s.subUnitId = i, s.rangeList = a, s.getDirtyData = o; + let c = o(this._currentConfigService.getDirtyData(), this._runtimeService.getAllRuntimeData()); + return s.featureDirtyRanges = this._convertDirtyRangesToUnitRange(c.dirtyRanges), s.featureId = e29, s.type = es2.FEATURE_FORMULA, this._dependencyManagerService.addFeatureFormulaDependency(r, i, e29, s), this._dependencyManagerService.getFeatureFormulaDependency(n.unitId, n.subUnitId, e29) && (s.isCache = true), s; + } + _registerOtherFormulas(e29, t, n) { + for (let r of t) { + let t2 = e29[r]; + if (t2 == null) continue; + let i = Object.keys(t2); + for (let e30 of i) { + let i2 = t2[e30]; + if (i2 == null) continue; + let { rowCount: a = 1 / 0, columnCount: o = 1 / 0 } = this._currentConfigService.getSheetRowColumnCount(r, e30) || {}, s = Object.keys(i2); + for (let t3 of s) { + let s2 = this._dependencyManagerService.hasOtherFormulaDataMainData(t3), { f: c, ranges: l } = i2[t3], u = false; + s2 && (u = true); + let d = so2(r, c, this._lexer, this._astTreeBuilder, this._currentConfigService), { firstRow: f, firstColumn: p } = this._getFirstCellOfRange(l), m = this._dependencyManagerService.getOtherFormulaDependency(r, e30, t3), h = new rs2((m == null ? void 0 : m.getValue(0, 0)) || as2(this._dependencyManagerService)); + for (let i3 = 0; i3 < l.length; i3++) { + let s3 = l[i3], { startRow: g2, startColumn: _2 } = s3, { endRow: v, endColumn: y } = s3; + v = Math.min(v, a - 1), y = Math.min(y, o - 1); + for (let i4 = g2; i4 <= v; i4++) for (let a2 = _2; a2 <= y; a2++) { + let o2 = a2 - p, s4 = i4 - f; + if (o2 === 0 && s4 === 0) { + h.node = d, h.formula = c, h.unitId = r, h.subUnitId = e30, h.formulaId = t3, h.type = es2.OTHER_FORMULA, h.isCache = u, n.push(h), this._dependencyManagerService.addOtherFormulaDependency(r, e30, t3, h), this._dependencyManagerService.addFormulaDependencyByDefinedName(h); + continue; + } + let l2 = new ns2(); + l2.treeId = (m == null ? void 0 : m.getValue(o2, s4)) || as2(this._dependencyManagerService), l2.refTree = h, l2.refOffsetX = o2, l2.refOffsetY = s4, l2.isCache = u, l2.type = es2.OTHER_FORMULA, this._dependencyManagerService.addOtherFormulaDependency(r, e30, t3, l2), this._dependencyManagerService.addFormulaDependencyByDefinedName(l2), n.push(l2); + } + } + this._dependencyManagerService.addOtherFormulaDependencyMainData(t3); + } + } + } + } + _getFirstCellOfRange(e29) { + let t = e29[0]; + return { firstRow: t.startRow, firstColumn: t.startColumn }; + } + _registerFormulas(e29, t, n, r) { + for (let i of e29) { + let e30 = t[i]; + if (e30 == null) continue; + let a = Object.keys(e30); + for (let t2 of a) { + let a2 = new Sa(e30[t2] || {}), o = /* @__PURE__ */ new Map(); + a2.forValue((e31, a3, s) => { + if (s == null) return true; + let { x: c = 0, y: l = 0, si: u } = s; + if (!(c === 0 && l === 0 && u != null)) return true; + let d = this._createFDtree(i, t2, e31, a3, n, s), f = this._dependencyManagerService.getFormulaDependency(i, t2, e31, a3); + f == null ? (this._dependencyManagerService.addFormulaDependency(i, t2, e31, a3, d), this._dependencyManagerService.addFormulaDependencyByDefinedName(d)) : (d.treeId = f, d.isCache = true, this._dependencyManagerService.updateDependencyTreeDirtyState(f, false)), o.set(u, d), r.push(d); + }), a2.forValue((e31, a3, s) => { + if (s == null) return true; + let { x: c = 0, y: l = 0, si: u } = s; + if (c === 0 && l === 0 && u != null) return true; + let d; + if (u && o.has(u)) { + let e32 = o.get(u); + d = this._createVirtualFDtree(e32, s); + } else d = this._createFDtree(i, t2, e31, a3, n, s); + let f = this._dependencyManagerService.getFormulaDependency(i, t2, e31, a3); + f == null ? (this._dependencyManagerService.addFormulaDependency(i, t2, e31, a3, d), this._dependencyManagerService.addFormulaDependencyByDefinedName(d)) : (d.treeId = f, d.isCache = true, this._dependencyManagerService.updateDependencyTreeDirtyState(f, false)), r.push(d); + }), o.clear(); + } + } + } + _createFDtree(e29, t, n, r, i, a) { + let { f: o, x: s = 0, y: c = 0 } = a, l = new rs2(as2(this._dependencyManagerService)), u = i[e29][t]; + return l.node = so2(e29, o, this._lexer, this._astTreeBuilder, this._currentConfigService), l.formula = o, l.unitId = e29, l.subUnitId = t, l.row = n, l.column = r, l.rowCount = u.rowCount, l.columnCount = u.columnCount, l; + } + _createVirtualFDtree(e29, t) { + let { x: n = 0, y: r = 0 } = t, i = new ns2(); + return i.treeId = as2(this._dependencyManagerService), i.refTree = e29, i.refOffsetX = n, i.refOffsetY = r, i; + } + _updateRangeFlatten() { + let e29 = this._currentConfigService.isForceCalculate(), t = this._currentConfigService.getDirtyRanges(); + if (!e29) { + this._updateRangeFlattenCache.clear(); + for (let e30 = 0; e30 < t.length; e30++) { + let n = t[e30], r = n.range, i = n.sheetId, a = n.unitId; + this._addFlattenCache(a, i, r); + } + } + } + _addFlattenCache(e29, t, n) { + let r = this._updateRangeFlattenCache.get(e29); + r == null && (r = /* @__PURE__ */ new Map(), this._updateRangeFlattenCache.set(e29, r)); + let i = r.get(t); + i == null && (i = [], r.set(t, i)), i.push(n); + } + _isPreCalculateNode(e29) { + return e29.nodeType === H3.UNION || e29.nodeType === H3.PREFIX && e29.getToken() === Ye.AT || e29.nodeType === H3.SUFFIX && e29.getToken() === qe2.POUND; + } + _nodeTraversalRef(e29, t) { + let n = e29.getChildren(), r = n.length; + for (let e30 = 0; e30 < r; e30++) { + let r2 = n[e30]; + if (this._isPreCalculateNode(r2)) { + if (t.push(r2), r2.nodeType === H3.UNION) for (let e31 of r2.getChildren()) e31.nodeType === H3.FUNCTION && e31.isAddress() && this._nodeTraversalRef(e31, t); + continue; + } else r2.nodeType === H3.REFERENCE && t.push(r2); + this._nodeTraversalRef(r2, t); + } + } + _nodeTraversalReferenceFunction(e29, t) { + let n = e29.getChildren(), r = n.length; + for (let e30 = 0; e30 < r; e30++) { + let r2 = n[e30]; + if (r2.nodeType === H3.FUNCTION && r2.isAddress()) { + t.push(r2); + continue; + } + this._nodeTraversalReferenceFunction(r2, t); + } + } + async _executeNode(e29, t = 0, n = 0) { + let r, i = { node: e29, refOffsetX: t, refOffsetY: n }; + return r = this._interpreter.checkAsyncNode(e29) ? await this._interpreter.executeAsync(i) : this._interpreter.execute(i), r; + } + async _getRangeListByNode(e29) { + let t = [], n = e29.refOffsetX, r = e29.refOffsetY, i = e29.node; + if (i == null) return []; + this._nodeTraversalRef(i, t); + let a = []; + for (let e30 = 0, i2 = t.length; e30 < i2; e30++) { + let i3 = t[e30], o = (await this._executeNode(i3, n, r)).toUnitRange(); + a.push(o), i3.setValue(null); + } + return a; + } + _getAddressFunctionNodeList(e29) { + let t = []; + return e29 == null ? [] : (this._nodeTraversalReferenceFunction(e29, t), t); + } + _getTreeNode(e29) { + return e29.node; + } + async _buildDirtyRangesByAddressFunction(e29, t) { + let n = t.addressFunctionNodes; + if (n.length === 0) return; + let r = t.refOffsetX, i = t.refOffsetY, a = await this._getRangeListByFunctionRefNode(n, r, i); + t.addressFunctionNodes = [], this._addDependencyTreeByAddressFunction(t, a); + let o = e29.bulkSearch(a), s = this._buildTreeNodeById(o); + s.length !== 0 && await this._calculateAddressFunctionRuntimeData(e29, s); + } + async _calculateListByFunctionRefNode(e29) { + let t = new dd(); + for (let n = 0, r = e29.length; n < r; n++) { + let r2 = e29[n]; + t.insert({ unitId: r2.unitId, sheetId: r2.subUnitId, range: { startRow: r2.row, startColumn: r2.column, endRow: r2.row, endColumn: r2.column }, id: r2.treeId }); + } + this._executedAddressFunctionNodeIds.clear(); + for (let n = 0, r = e29.length; n < r; n++) { + let r2 = e29[n]; + await this._calculateAddressFunction(t, r2); + } + } + async _calculateAddressFunction(e29, t) { + let n = t.addressFunctionNodes; + if (n.length === 0) return; + let r = t.refOffsetX, i = t.refOffsetY; + this._runtimeService.setCurrent(t.row, t.column, t.rowCount, t.columnCount, t.subUnitId, t.unitId); + let a = []; + for (let e30 = 0, t2 = n.length; e30 < t2; e30++) { + let t3 = await this._getRangeListByNode({ node: n[e30], refOffsetX: r, refOffsetY: i }); + a.push(...t3); + } + let o = /* @__PURE__ */ new Set(); + this._searchDependencyByAddressFunction(e29, a, o); + let s = this._buildTreeNodeById(o); + if (s.length === 0) { + await this._buildDirtyRangesByAddressFunction(e29, t); + return; + } + await this._calculateAddressFunctionRuntimeData(e29, s), await this._buildDirtyRangesByAddressFunction(e29, t); + } + async _calculateAddressFunctionRuntimeData(e29, t) { + for (; t.length > 0; ) { + let n = t.pop(), r = { node: this._getTreeNode(n), refOffsetX: n.refOffsetX, refOffsetY: n.refOffsetY }; + await this._calculateAddressFunction(e29, n), this._runtimeService.setCurrent(n.row, n.column, n.rowCount, n.columnCount, n.subUnitId, n.unitId); + let i; + i = this._interpreter.checkAsyncNode(r.node) ? await this._interpreter.executeAsync(r) : this._interpreter.execute(r), n.formulaId == null ? this._runtimeService.setRuntimeData(i) : this._runtimeService.setRuntimeOtherData(n.formulaId, n.refOffsetX, n.refOffsetY, i); + } + } + _buildTreeNodeById(e29) { + let t = []; + for (let n of e29) { + let e30 = this._getTreeById(n); + !e30 || this._executedAddressFunctionNodeIds.has(n) || (this._executedAddressFunctionNodeIds.add(n), t.push(e30)); + } + return t; + } + _searchDependencyByAddressFunction(e29, t, n) { + let r = e29.bulkSearch(t), i = this._dependencyRTreeCacheForAddressFunction.bulkSearch(t); + for (let e30 of i) n.has(e30) || n.add(e30); + let a = []; + for (let e30 of r) { + let t2 = this._getTreeById(e30); + t2 && !n.has(e30) && (a.push(...t2.rangeList), n.add(e30)); + } + return a.length > 0 && this._searchDependencyByAddressFunction(e29, a, n), n; + } + _getTreeById(e29) { + return this._dependencyManagerService.getTreeById(e29); + } + _addDependencyTreeByAddressFunction(e29, t) { + let n = []; + for (let r = 0; r < t.length; r++) { + let { unitId: i, sheetId: a, range: o } = t[r]; + n.push({ unitId: i, sheetId: a, range: o, id: e29.treeId }); + } + this._dependencyRTreeCacheForAddressFunction.bulkInsert(n); + } + async _getRangeListByFunctionRefNode(e29, t, n) { + let r = []; + for (let i = 0, a = e29.length; i < a; i++) { + let a2 = e29[i], o = (await this._executeNode(a2, t, n)).toUnitRange(); + r.push(o), a2.setValue(null); + } + return r; + } + _getUpdateTreeListAndMakeDependency(e29) { + let t = [], n = /* @__PURE__ */ new Set(), r = this._currentConfigService.isForceCalculate(), i = this._currentConfigService.getDirtyRanges(), a = this._dependencyManagerService.searchDependency(i), o = this._dependencyRTreeCacheForAddressFunction.bulkSearch(i); + for (let e30 of o) a.add(e30); + let s = this._dependencyManagerService.buildDependencyTree(e29); + for (let e30 of s) { + let i2 = e30.treeId; + (r || e30.isDirty || e30.dependencySheetName(this._currentConfigService.getDirtyNameMap()) || a.has(i2) && !e30.isExcludeRange(this._currentConfigService.getExcludedRange())) && !n.has(i2) && (t.push(e30), n.add(i2)); + } + return t; + } + _includeTreeFeature(e29) { + let t = e29.unitId, n = e29.subUnitId, r = e29.featureId; + if (r != null) { + var i; + let e30 = this._currentConfigService.getDirtyUnitFeatureMap(); + if ((e30 == null || (i = e30[t]) == null || (i = i[n]) == null ? void 0 : i[r]) != null) return true; + } + return false; + } + _includeOtherFormula(e29) { + let t = e29.unitId, n = e29.subUnitId, r = e29.formulaId; + if (r != null) { + var i; + let e30 = this._currentConfigService.getDirtyUnitOtherFormulaMap(); + if ((e30 == null || (i = e30[t]) == null || (i = i[n]) == null ? void 0 : i[r]) != null) return true; + } + return false; + } + _detectForcedRecalculationNode(e29, t) { + return t == null ? false : this._detectForcedRecalculationNodeRecursion(t); + } + _detectForcedRecalculationNodeRecursion(e29) { + if (e29.isForcedCalculateFunction()) return true; + let t = e29.getChildren(); + for (let e30 = 0, n = t.length; e30 < n; e30++) { + let n2 = t[e30]; + if (this._detectForcedRecalculationNodeRecursion(n2)) return true; + } + return false; + } + _includeTree(e29, t) { + var n, r; + let i = e29.unitId, a = e29.subUnitId; + if (this._detectForcedRecalculationNode(e29, t) === true || this._includeTreeFeature(e29) === true || this._includeOtherFormula(e29) === true || lo2(e29, t, this._currentConfigService) === true) return true; + let o = (n = this._currentConfigService.getExcludedRange()) == null || (n = n[i]) == null ? void 0 : n[a]; + if ((o == null ? void 0 : o.getValue(e29.row, e29.column)) != null) return false; + if (((r = this._currentConfigService.getDirtyNameMap()[i]) == null ? void 0 : r[a]) != null) return true; + if (!this._updateRangeFlattenCache.has(i)) return false; + let s = this._updateRangeFlattenCache.get(i); + if (!s.has(a)) return false; + let c = s.get(a); + for (let t2 of c) if (e29.inRangeData(t2)) return true; + return false; + } + _calculateRunList(e29) { + e29.length; + let t = e29, n = [], r = []; + for (; t.length > 0; ) { + let e30 = t.pop(); + if (e30 === void 0 || e30.isSkip()) continue; + if (e30.isAdded()) { + n.push(e30), e30.setSkip(); + continue; + } + r.length = 0; + for (let t2 of e30.parents) { + let n2 = this._dependencyManagerService.getTreeById(t2); + if (!n2) { + console.error(`Dependency tree not found for treeId:`, t2); + continue; + } + n2.isAdded() || e30.isSkip() || r.push(n2); + } + let i = this._dependencyRTreeCacheForAddressFunction.bulkSearch(e30.toRTreeItem()); + for (let t2 of i) { + let n2 = this._dependencyManagerService.getTreeById(t2); + if (!n2) { + console.error(`Dependency tree not found for treeId:`, t2); + continue; + } + n2.isAdded() || e30.isSkip() || r.push(n2); + } + r.length === 0 ? (n.push(e30), e30.setSkip()) : (e30.setAdded(), t.push(e30, ...r)); + } + return n; + } + async _initializeGenerateTreeList() { + let e29 = this._currentConfigService.getFormulaData(), t = this._otherFormulaManagerService.getOtherFormulaData(), n = this._currentConfigService.getUnitData(); + return await this._generateTreeList(e29, t, n); + } + async _getAllTreeList() { + let e29 = await this._initializeGenerateTreeList(); + return this._dependencyManagerService.buildDependencyTree(e29); + } + _getTreeModel(e29) { + let t = this._formulaDependencyTreeModel.get(e29); + if (!t) { + let n = this._getTreeById(e29); + if (!n) { + console.error(`FormulaDependencyTree is null for treeId:`, e29); + return; + } + t = new is2(n), this._formulaDependencyTreeModel.set(e29, t); + } + return t; + } + _getDependencyTreeParenIds(e29) { + return e29.parents; + } + _getDependencyTreeChildrenIds(e29) { + return e29.children; + } + _getFormulaDependencyTreeModel(e29) { + let t = this._getTreeModel(e29.treeId), n = this._getDependencyTreeParenIds(e29); + if (!t) return new is2(e29); + for (let e30 of n) { + let n2 = this._getTreeModel(e30); + n2 && (t.addParent(n2), n2.addChild(t)); + } + return t; + } + _endFormulaDependencyTreeModel() { + this._formulaDependencyTreeModel.clear(); + } + _startFormulaDependencyTreeModel() { + } + _getAllDependencyJson(e29) { + this._startFormulaDependencyTreeModel(); + let t = []; + for (let n2 of e29) { + let e30 = n2.type; + if (n2.isVirtual && (e30 === es2.FEATURE_FORMULA || e30 === es2.OTHER_FORMULA)) continue; + let r = this._getFormulaDependencyTreeModel(n2); + t.push(r); + } + let n = []; + for (let e30 of t) n.push(e30.toJson()); + return this._endFormulaDependencyTreeModel(), n; + } + async getAllDependencyJson() { + let e29 = await this._getAllTreeList(); + return this._getAllDependencyJson(e29); + } + _setRealFormulaString(e29) { + if (e29.refTreeId == null) return; + let t = this._getTreeById(e29.refTreeId); + t && (e29.formula = this._lexerTreeBuilder.moveFormulaRefOffset(t.formula, e29.refOffsetX, e29.refOffsetY)); + } + async getCellDependencyJson(e29, t, n, r) { + await this._initializeGenerateTreeList(); + let i = this._dependencyManagerService.getFormulaDependency(e29, t, n, r); + if (i == null) return; + let a = this._getTreeById(i); + if (!a) return; + this._startFormulaDependencyTreeModel(); + let o = this._getFormulaDependencyTreeModel(a); + this._setRealFormulaString(o); + let s = this._getDependencyTreeChildrenIds(a); + for (let e30 of s) { + let t2 = this._getTreeModel(e30); + t2 && (this._setRealFormulaString(t2), o.addChild(t2)); + } + for (let e30 of o.parents) this._setRealFormulaString(e30); + return this._endFormulaDependencyTreeModel(), o.toFullJson(); + } + _getRangeDependents(e29) { + let t = this._dependencyManagerService.searchDependency(e29), n = []; + for (let e30 of t) { + let t2 = this._getTreeById(e30); + if (!t2) continue; + let r2 = this._getFormulaDependencyTreeModel(t2); + this._setRealFormulaString(r2), n.push(r2); + } + let r = []; + for (let e30 of n) e30 && r.push(e30.toJson()); + return r; + } + async getRangeDependents(e29) { + await this._initializeGenerateTreeList(), this._startFormulaDependencyTreeModel(); + let t = this._getRangeDependents(e29); + return this._endFormulaDependencyTreeModel(), t; + } + _getInRangeFormulas(e29, t) { + let n = []; + for (let r2 of t) for (let t2 of e29) { + let e30 = t2.unitId, i2 = t2.sheetId; + if (!(r2.unitId !== e30 || r2.subUnitId !== i2) && (t2.range, r2.inRangeData(t2.range))) { + n.push(r2); + break; + } + } + let r = []; + for (let e30 of n) { + let t2 = this._getFormulaDependencyTreeModel(e30); + this._setRealFormulaString(t2), r[e30.treeId] = t2; + } + let i = []; + for (let e30 of r) e30 && i.push(e30.toJson()); + return i; + } + async getInRangeFormulas(e29) { + let t = await this._getAllTreeList(); + this._startFormulaDependencyTreeModel(); + let n = this._getInRangeFormulas(e29, t); + return this._endFormulaDependencyTreeModel(), n; + } + async getRangeDependentsAndInRangeFormulas(e29) { + let t = await this._getAllTreeList(); + this._startFormulaDependencyTreeModel(); + let n = this._getRangeDependents(e29), r = this._getInRangeFormulas(e29, t); + return this._endFormulaDependencyTreeModel(), { dependents: n, inRanges: r }; + } + }; + ss2 = dr2([P5(0, fi2), P5(1, qa2), P5(2, Qo2), P5(3, Xo2), P5(4, Inject(Mu)), P5(5, Inject(bo2)), P5(6, Inject(Go)), P5(7, Inject(pi)), P5(8, Jo2), P5(9, Inject(ni))], ss2); + var ls2 = createIdentifier(`engine-formula.calculate-formula.service`); + var us2 = class extends E { + constructor(e29, n, r, i, a, o, s) { + super(), this._configService = e29, this._lexer = n, this._currentConfigService = r, this._runtimeService = i, this._formulaDependencyGenerator = a, this._interpreter = o, this._astTreeBuilder = s, E3(this, `_executionInProgressListener$`, new Subject()), E3(this, `executionInProgressListener$`, this._executionInProgressListener$.asObservable()), E3(this, `_executionCompleteListener$`, new Subject()), E3(this, `executionCompleteListener$`, this._executionCompleteListener$.asObservable()), E3(this, `_executeLock`, new import_async_lock.default()), E3(this, `_isCalculateTreeModel`, false); + } + dispose() { + super.dispose(), this._executionInProgressListener$.complete(), this._executionCompleteListener$.complete(), va2.clear(), ci2.clear(), Ze2.clear(), sa.clear(); + } + stopFormulaExecution() { + this._runtimeService.stopExecution(); + } + setRuntimeFeatureCellData(e29, t) { + this._runtimeService.setRuntimeFeatureCellData(e29, t); + } + setRuntimeFeatureRange(e29, t) { + this._runtimeService.setRuntimeFeatureRange(e29, t); + } + async execute(e29) { + this._runtimeService.setFormulaExecuteStage(Wa.START), this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()), this._currentConfigService.load(e29), this._runtimeService.reset(); + let t = e29.maxIteration || 1; + this._isCalculateTreeModel = e29.isCalculateTreeModel || false, this._executeLock.acquire(`FORMULA_EXECUTION_LOCK`, async () => { + for (let e30 = 0; e30 < t && (this._runtimeService.setFormulaCycleIndex(e30), await this._executeStep(), va2.clear(), this._runtimeService.isCycleDependency()); e30++) ; + this._runtimeService.setFormulaExecuteStage(Wa.CALCULATION_COMPLETED), this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()), this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData()), ci2.clear(), this._runtimeService.reset(); + }); + } + async _executeStep() { + let e29 = await this._apply(); + if (e29 == null) return; + let { arrayFormulaRange: t, runtimeFeatureRange: n } = e29, { dirtyRanges: r, excludedCell: i } = this._getArrayFormulaDirtyRangeAndExcludedRange(t, n); + return r == null || r.length === 0 ? true : (va2.clear(), this._currentConfigService.loadDirtyRangesAndExcludedCell(r, i), await this._apply(true), true); + } + _getArrayFormulaDirtyRangeAndExcludedRange(e29, t) { + let n = [], r = {}; + return Object.keys(e29).forEach((t2) => { + let i = e29[t2]; + if (i == null) return true; + Object.keys(i).forEach((e30) => { + let a = new Sa(i[e30]); + if (a == null) return true; + let o = new Sa(); + a.forValue((r2, i2, a2) => { + o.setValue(r2, i2, true), n.push({ unitId: t2, sheetId: e30, range: a2 }); + }), r[t2] == null && (r[t2] = {}), r[t2][e30] = o; + }); + }), Object.keys(t).forEach((e30) => { + let r2 = t[e30]; + Object.keys(r2).forEach((e31) => { + let t2 = r2[e31]; + if (t2 == null) return true; + Object.keys(t2).forEach((r3) => { + let i = t2[r3]; + if (i == null) return true; + for (let t3 of i) n.push({ unitId: e31, sheetId: r3, range: t3 }); + }); + }); + }), { dirtyRanges: n, excludedCell: r }; + } + async _apply(e29 = false) { + e29 ? this._runtimeService.setFormulaExecuteStage(Wa.START_DEPENDENCY_ARRAY_FORMULA) : this._runtimeService.setFormulaExecuteStage(Wa.START_DEPENDENCY), this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()); + let t = (await this._formulaDependencyGenerator.generate(this._isCalculateTreeModel)).reverse(), n = this._interpreter; + e29 ? (this._runtimeService.setFormulaExecuteStage(Wa.START_CALCULATION_ARRAY_FORMULA), this._runtimeService.setTotalArrayFormulasToCalculate(t.length)) : (this._runtimeService.setFormulaExecuteStage(Wa.START_CALCULATION), this._runtimeService.setTotalFormulasToCalculate(t.length)), this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()); + let r = [], i = this._configService.getConfig(Ur2), a = (i == null ? void 0 : i.intervalCount) || 500, o = t.length; + for (let i2 = 0; i2 < o; i2++) { + var s; + let o2 = t[i2], c = o2.nodeData, l = o2.getDirtyData; + if (i2 % a === 0 && (await new Promise((e30) => { + let t2 = an(e30); + r.push(t2); + }), e29 ? (this._runtimeService.setFormulaExecuteStage(Wa.CURRENTLY_CALCULATING_ARRAY_FORMULA), this._runtimeService.setCompletedArrayFormulasCount(i2 + 1)) : (this._runtimeService.setFormulaExecuteStage(Wa.CURRENTLY_CALCULATING), this._runtimeService.setCompletedFormulasCount(i2 + 1)), this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()), this._runtimeService.isStopExecution() || c == null && l == null)) { + this._runtimeService.setFormulaExecuteStage(Wa.IDLE), this._runtimeService.markedAsStopFunctionsExecuted(), this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData()); + return; + } + this._runtimeService.setCurrent(o2.row, o2.column, o2.rowCount, o2.columnCount, o2.subUnitId, o2.unitId); + let u; + if (l != null && o2.featureId != null) { + let { runtimeCellData: e30, dirtyRanges: t2 } = l(this._currentConfigService.getDirtyData(), this._runtimeService.getAllRuntimeData()); + this._runtimeService.setRuntimeFeatureCellData(o2.featureId, e30), this._runtimeService.setRuntimeFeatureRange(o2.featureId, t2); + } else c != null && (u = n.checkAsyncNode(c.node) ? await n.executeAsync(c) : n.execute(c), o2.formulaId == null ? this._runtimeService.setRuntimeData(u) : this._runtimeService.setRuntimeOtherData(o2.formulaId, o2.refOffsetX, o2.refOffsetY, u)); + (s = c.node) == null || s.resetCalculationState(); + } + return r.forEach((e30) => e30()), r = [], o > 0 ? this._runtimeService.markedAsSuccessfullyExecuted() : e29 || this._runtimeService.markedAsNoFunctionsExecuted(), this._runtimeService.getAllRuntimeData(); + } + async executeFormulas(e29, t) { + this._currentConfigService.loadDataLite(t); + let n = this._currentConfigService.getUnitData(); + this._runtimeService.reset(); + let r = {}; + for (let t2 of Object.keys(e29)) { + let a = e29[t2]; + if (a != null) { + r[t2] = {}; + for (let e30 of Object.keys(a)) { + var i; + let o = a[e30]; + if (o == null) continue; + let s = (i = n[t2]) == null ? void 0 : i[e30]; + if (s != null) { + r[t2][e30] = {}; + for (let n2 of Object.keys(o)) { + let i2 = Number.parseInt(n2); + r[t2][e30][i2] = {}; + let a2 = o[i2]; + if (a2) for (let n3 of Object.keys(a2)) { + let o2 = Number.parseInt(n3), c = a2[o2]; + if (!c) continue; + let l = s.rowCount || 0, u = s.columnCount || 0; + this._runtimeService.setCurrent(i2, o2, l, u, e30, t2); + let d = []; + for (let e31 of c) { + let t3 = await this.calculate(e31); + if (!t3) { + d.push({ value: null, formula: e31 }); + continue; + } + t3.isReferenceObject() && (t3 = t3.toArrayValueObject()); + let n4 = t3; + if (n4.isArray()) { + let t4 = n4; + if (t4.getRowCount() === 1 && t4.getColumnCount() === 1) { + d.push({ value: t4.getFirstCell().getValue(), formula: e31 }); + continue; + } + d.push({ value: t4.toValue(), formula: e31 }); + continue; + } + d.push({ value: n4.getValue(), formula: e31 }); + } + r[t2][e30][i2][o2] = d; + } + } + } + } + } + } + return r; + } + async calculate(e29) { + let t = this._lexer.treeBuilder(e29); + if (Object.values(D3).includes(t)) return; + let n = this._astTreeBuilder.parse(t), r = this._interpreter; + if (n == null) return; + let i = { node: n, refOffsetX: 0, refOffsetY: 0 }; + return r.checkAsyncNode(n) ? await r.executeAsync(i) : r.execute(i); + } + async getAllDependencyJson() { + return this._currentConfigService.loadDataLite(), this._formulaDependencyGenerator.getAllDependencyJson(); + } + async getCellDependencyJson(e29, t, n, r) { + return this._currentConfigService.loadDataLite(), this._formulaDependencyGenerator.getCellDependencyJson(e29, t, n, r); + } + async getRangeDependents(e29) { + return this._currentConfigService.loadDataLite(), this._formulaDependencyGenerator.getRangeDependents(e29); + } + async getInRangeFormulas(e29) { + return this._currentConfigService.loadDataLite(), this._formulaDependencyGenerator.getInRangeFormulas(e29); + } + async getDependentsAndInRangeFormulas(e29) { + return this._currentConfigService.loadDataLite(), this._formulaDependencyGenerator.getRangeDependentsAndInRangeFormulas(e29); + } + }; + us2 = dr2([P5(0, Yr), P5(1, Inject(pi)), P5(2, fi2), P5(3, qa2), P5(4, os2), P5(5, Inject(bo2)), P5(6, Inject(Go))], us2); + var ds2 = class extends E { + constructor(e29, t, n) { + super(), this._commandService = e29, this._calculateFormulaService = t, this._formulaDataModel = n, this._initialize(); + } + _initialize() { + this._commandExecutedListener(), this._initialExecuteFormulaListener(); + } + _commandExecutedListener() { + this.disposeWithMe(this._commandService.onCommandExecuted((e29) => { + if (e29.id === Cr2.id) this._calculateFormulaService.stopFormulaExecution(); + else if (e29.id === yr2.id) this._calculate(e29.params); + else if (e29.id === zn2.id) { + let t = e29.params; + if (t == null) return; + let { arrayFormulaRange: n, arrayFormulaCellData: r } = t; + this._formulaDataModel.setArrayFormulaRange(n), this._formulaDataModel.setArrayFormulaCellData(r); + } else if (e29.id === xr2.id) this._calculateFormulaString(e29.params); + else if (e29.id === Er2.id) this._generateAllDependencyTreeJson(); + else if (e29.id === Or2.id) this._generateCellDependencyTreeJson(e29.params); + else if (e29.id === Ar2.id) { + let t = e29.params; + this._queryFormulaDependencyJson(t); + } else if (e29.id === Mr2.id) { + let t = e29.params; + this._queryFormulaDependencyAllJson(t); + } + })); + } + async _calculate(e29) { + let { forceCalculation: t = false, dirtyRanges: n = [], dirtyNameMap: r = {}, dirtyDefinedNameMap: i = {}, dirtyUnitFeatureMap: a = {}, dirtyUnitOtherFormulaMap: o = {}, clearDependencyTreeCache: s = {}, maxIteration: c = 1, rowData: l, isCalculateTreeModel: u = false } = e29, d = this._formulaDataModel.getFormulaData(), f = this._formulaDataModel.getArrayFormulaCellData(), p = this._formulaDataModel.getArrayFormulaRange(); + this._calculateFormulaService.execute({ formulaData: d, arrayFormulaCellData: f, arrayFormulaRange: p, forceCalculate: t, dirtyRanges: n, dirtyNameMap: r, dirtyDefinedNameMap: i, dirtyUnitFeatureMap: a, dirtyUnitOtherFormulaMap: o, clearDependencyTreeCache: s, maxIteration: c, isCalculateTreeModel: u, rowData: l }); + } + async _queryFormulaDependencyJson(e29) { + let { unitRanges: t, isInRange: n } = e29, r = []; + r = n ? await this._calculateFormulaService.getInRangeFormulas(t) : await this._calculateFormulaService.getRangeDependents(t), this._commandService.executeCommand(jr2.id, { result: r }, { onlyLocal: true }); + } + async _queryFormulaDependencyAllJson(e29) { + let { unitRanges: t } = e29, n = await this._calculateFormulaService.getDependentsAndInRangeFormulas(t); + this._commandService.executeCommand(Nr2.id, { result: n }, { onlyLocal: true }); + } + async _generateAllDependencyTreeJson() { + let e29 = await this._calculateFormulaService.getAllDependencyJson(); + this._commandService.executeCommand(Dr2.id, { result: e29 }, { onlyLocal: true }); + } + async _generateCellDependencyTreeJson(e29) { + let { unitId: t, sheetId: n, row: r, column: i } = e29, a = await this._calculateFormulaService.getCellDependencyJson(t, n, r, i); + this._commandService.executeCommand(kr2.id, { result: a }, { onlyLocal: true }); + } + async _calculateFormulaString(e29) { + let { formulas: t } = e29, n = await this._calculateFormulaService.executeFormulas(t); + this._commandService.executeCommand(Sr2.id, { result: n }, { onlyLocal: true }); + } + _initialExecuteFormulaListener() { + this._calculateFormulaService.executionCompleteListener$.subscribe((e29) => { + let t = e29.functionsExecutedState; + switch (t) { + case Ga.NOT_EXECUTED: + this._applyTreeResult(e29); + break; + case Ga.STOP_EXECUTION: + break; + case Ga.SUCCESS: + this._applyResult(e29); + break; + case Ga.INITIAL: + break; + } + this._commandService.executeCommand(wr2.id, { functionsExecutedState: t }, { onlyLocal: true }); + }), this._calculateFormulaService.executionInProgressListener$.subscribe((e29) => { + this._commandService.executeCommand(wr2.id, { stageInfo: e29 }, { onlyLocal: true }); + }); + } + async _applyTreeResult(e29) { + let { dependencyTreeModelData: t } = e29; + t.length > 0 && this._commandService.executeCommand(Dr2.id, { result: t }, { onlyLocal: true }); + } + async _applyResult(e29) { + let { unitData: t, unitOtherData: n, arrayFormulaRange: r, arrayFormulaCellData: i, clearArrayFormulaCellData: a, arrayFormulaEmbedded: o, imageFormulaData: s, dependencyTreeModelData: c } = e29; + if (!t) { + this._applyTreeResult(e29), console.error(`No sheetData from Formula Engine!`); + return; + } + (r || o) && (this._formulaDataModel.clearPreviousArrayFormulaCellData(a), this._formulaDataModel.mergeArrayFormulaCellData(i), this._formulaDataModel.mergeArrayFormulaRange(r), this._commandService.executeCommand(zn2.id, { arrayFormulaRange: this._formulaDataModel.getArrayFormulaRange(), arrayFormulaCellData: this._formulaDataModel.getArrayFormulaCellData(), arrayFormulaEmbedded: o }, { onlyLocal: true })), s && s.length > 0 && this._commandService.executeCommand(Fr2.id, { imageFormulaData: s }, { onlyLocal: true }), this._applyTreeResult(e29), this._commandService.executeCommand(Tr2.id, { unitData: kn2(t), unitOtherData: n }, { onlyLocal: true }); + } + }; + ds2 = dr2([P5(0, ii), P5(1, ls2), P5(2, Inject(ai2))], ds2); + var fs2 = /[\[\]]/g; + function ps2(e29, t) { + return fs2.test(e29) ? t + Number(e29.replace(fs2, ``)) : Number(e29) - 1; + } + function ms2(t, n = 0, r = 0) { + t = t.toLocaleUpperCase(); + let i = t.split(/[RC]/), a = i[1], o = i[2]; + return { row: ps2(a, n), column: ps2(o, r), absoluteRefType: V.NONE }; + } + function hs2(e29, t = 0, n = 0) { + let { refBody: r, sheetName: i, unitId: a } = Xn2(e29), o = r.indexOf(`:`); + if (o === -1) { + let e30 = ms2(r, t, n), o2 = e30.row, s2 = e30.column, c2 = e30.absoluteRefType; + return { unitId: a, sheetName: i, range: { startRow: o2, startColumn: s2, endRow: o2, endColumn: s2, startAbsoluteRefType: c2, endAbsoluteRefType: c2 } }; + } + let s = r.substring(0, o), c = r.substring(o + 1), l = ms2(s, t, n), u = ms2(c, t, n); + return { unitId: a, sheetName: i, range: { startRow: l.row, startColumn: l.column, endRow: u.row, endColumn: u.column, startAbsoluteRefType: l.absoluteRefType, endAbsoluteRefType: u.absoluteRefType } }; + } + function gs2(e29) { + let t = _s2(e29.startRow, e29.startAbsoluteRefType, true), n = _s2(e29.startColumn, e29.startAbsoluteRefType, false), r = _s2(e29.endRow, e29.endAbsoluteRefType, true), i = _s2(e29.endColumn, e29.endAbsoluteRefType, false); + return t === r && n === i ? `R${t}C${n}` : `R${t}C${n}:R${r}C${i}`; + } + function _s2(t, n = V.ALL, r) { + switch (t += 1, n) { + case V.ALL: + return `${t}`; + case V.ROW: + return r ? `${t}` : `[${t}]`; + case V.COLUMN: + return r ? `[${t}]` : `${t}`; + case V.NONE: + return `[${t}]`; + } + } + function vs2(e29) { + let t = e29; + if (e29.isArray()) { + let n = e29.getRowCount(), r = e29.getColumnCount(); + if (n > 1 || r > 1) return j3.create(D3.VALUE); + t = e29.get(0, 0); + } + return t.isError(), t; + } + function ys2(...e29) { + for (let t = 0; t < e29.length; t++) { + let n = vs2(e29[t]); + if (n.isError()) return { isError: true, errorObject: n }; + e29[t] = n; + } + return { isError: false, variants: e29 }; + } + function Y3(...e29) { + for (let t = 0; t < e29.length; t++) { + let n = vs2(e29[t]); + if (n.isError()) return { isError: true, errorObject: n }; + if (n.isBoolean()) return { isError: true, errorObject: j3.create(D3.VALUE) }; + e29[t] = n; + } + return { isError: false, variants: e29 }; + } + function bs2(...e29) { + for (let t = 0; t < e29.length; t++) { + let n = e29[t]; + if (n.isError()) return { isError: true, errorObject: n }; + if (n.isNull()) return { isError: true, errorObject: j3.create(D3.NA) }; + if (n = vs2(e29[t]), n.isError()) return { isError: true, errorObject: n }; + if (n.isBoolean()) return { isError: true, errorObject: j3.create(D3.VALUE) }; + e29[t] = n; + } + return { isError: false, variants: e29 }; + } + function X3(...e29) { + for (let t = 0; t < e29.length; t++) { + let n = e29[t]; + if (n.isString() && (n = n.convertToNumberObjectValue()), n.isError()) return { isError: true, errorObject: n }; + e29[t] = n; + } + return { isError: false, variants: e29 }; + } + var Z3 = class { + constructor(e29) { + this._name = e29, E3(this, `_unitId`, void 0), E3(this, `_subUnitId`, void 0), E3(this, `_row`, -1), E3(this, `_column`, -1), E3(this, `_definedNames`, void 0), E3(this, `_locale`, void 0), E3(this, `_sheetOrder`, void 0), E3(this, `_sheetNameMap`, void 0), E3(this, `_formulaDataModel`, void 0), E3(this, `_rowCount`, -1), E3(this, `_columnCount`, -1), E3(this, `needsExpandParams`, false), E3(this, `needsReferenceObject`, false), E3(this, `needsLocale`, false), E3(this, `needsSheetsInfo`, false), E3(this, `needsFormulaDataModel`, false), E3(this, `needsSheetRowColumnCount`, false), E3(this, `needsFilteredOutRows`, false), E3(this, `minParams`, -1), E3(this, `maxParams`, -1); + } + get name() { + return this._name; + } + get unitId() { + return this._unitId; + } + get subUnitId() { + return this._subUnitId; + } + get row() { + return this._row; + } + get column() { + return this._column; + } + dispose() { + } + getDefinedName(e29) { + var t; + let n = this._definedNames; + return n == null ? null : (t = Array.from(Object.values(n)).filter((t2) => t2.name === e29)) == null ? void 0 : t[0]; + } + setDefinedNames(e29) { + this._definedNames = e29; + } + getLocale() { + return this._locale; + } + setLocale(e29) { + this._locale = e29; + } + getSheetsInfo() { + return { sheetOrder: this._sheetOrder, sheetNameMap: this._sheetNameMap }; + } + setSheetsInfo({ sheetOrder: e29, sheetNameMap: t }) { + this._sheetOrder = e29, this._sheetNameMap = t; + } + setFormulaDataModel(e29) { + this._formulaDataModel = e29; + } + setSheetRowColumnCount(e29, t) { + this._rowCount = e29, this._columnCount = t; + } + isAsync() { + return false; + } + isAddress() { + return false; + } + isCustom() { + return false; + } + isArgumentsIgnoreNumberPattern() { + return false; + } + setRefInfo(e29, t, n, r) { + this._unitId = e29, this._subUnitId = t, this._row = n, this._column = r; + } + calculateCustom(...e29) { + return null; + } + calculate(...e29) { + return j3.create(D3.VALUE); + } + checkArrayType(e29) { + return e29.isReferenceObject() || e29.isValueObject() && e29.isArray(); + } + getIndexNumValue(e29, t = 1) { + let n = e29; + if (n.isArray() && (n = n.getFirstCell()), n.isBoolean()) return n.getValue() === false ? j3.create(D3.VALUE) : t; + if (n.isString()) { + let e30 = Number(n.getValue()); + return Number.isNaN(e30) ? j3.create(D3.REF) : e30; + } else if (n.isNumber()) return n.getValue(); + return j3.create(D3.VALUE); + } + getZeroOrOneByOneDefault(e29) { + if (e29 == null) return 1; + let t = 1; + if (e29.isArray() && (e29 = e29.getFirstCell()), e29.isBoolean()) e29.getValue() === false && (t = 0); + else if (e29.isString()) return; + else e29.isNumber() && e29.getValue() === 0 && (t = 0); + return t; + } + getMatchTypeValue(e29) { + if (e29 == null) return 1; + let t = 1; + if (e29.isArray() && (e29 = e29.getFirstCell()), e29.isBoolean()) e29.getValue() === false && (t = 0); + else if (e29.isString()) return; + else if (e29.isNumber()) { + let n = e29.getValue(); + n <= 0 && (t = n); + } + return t; + } + binarySearch(e29, t, n, r, i) { + let a = t.binarySearch(e29, r, i); + if (a == null) return j3.create(D3.NA); + let o; + return o = n.getRowCount() === 1 ? n.get(0, a) || I3.create() : n.get(a, 0) || I3.create(), o.isNull() ? R4.create(0) : o; + } + _getOneFirstByRaw(e29) { + return e29.length === 0 ? j3.create(D3.NA) : e29[0][0] || j3.create(D3.NA); + } + _getOneLastByRaw(e29) { + return e29.length === 0 ? j3.create(D3.NA) : e29[e29.length - 1][e29[0].length - 1] || j3.create(D3.NA); + } + equalSearch(e29, t, n, r = true) { + let i = n.pickRaw(t.isEqual(e29)); + return r ? this._getOneFirstByRaw(i) : this._getOneLastByRaw(i); + } + fuzzySearch(e29, t, n, r = true) { + let i = n.pickRaw(t.compare(e29, k3.EQUALS)); + return r ? this._getOneFirstByRaw(i) : this._getOneLastByRaw(i); + } + orderSearch(e29, t, n, r = yi2.MIN, i = false) { + let a = t.orderSearch(e29, r, i); + if (a == null) return j3.create(D3.NA); + let o = n.get(a.row, a.column) || I3.create(); + return o.isNull() ? j3.create(D3.NA) : o; + } + binarySearchExpand(e29, t, n, r = 0, i, a) { + let o = t.binarySearch(e29, i, a); + return o == null ? j3.create(D3.NA) : r === 0 ? n.slice([o, o + 1]) : n.slice(void 0, [o, o + 1]); + } + equalSearchExpand(e29, t, n, r = true, i = 0) { + let a = t.isEqual(e29), o; + return o = r ? a.getFirstTruePosition() : a.getLastTruePosition(), o == null ? j3.create(D3.NA) : i === 0 ? n.slice([o.row, o.row + 1]) : n.slice(void 0, [o.column, o.column + 1]); + } + fuzzySearchExpand(e29, t, n, r = true, i = 0) { + let a = t.compare(e29, k3.EQUALS), o; + return o = r ? a.getFirstTruePosition() : a.getLastTruePosition(), o == null ? j3.create(D3.NA) : i === 0 ? n.slice([o.row, o.row + 1]) : n.slice(void 0, [o.column, o.column + 1]); + } + orderSearchExpand(e29, t, n, r = yi2.MIN, i = false, a = 0) { + let o = t.orderSearch(e29, r, i); + return o == null ? j3.create(D3.NA) : a === 0 ? n.slice([o.row, o.row + 1]) : n.slice(void 0, [o.column, o.column + 1]); + } + flattenArray(e29, t = true) { + let n = []; + n[0] = []; + for (let r = 0; r < e29.length; r++) { + let i = e29[r]; + if ((i.isString() || i.isBoolean() || i.isNull()) && (i = i.convertToNumberObjectValue()), i.isError()) return i; + if (i.isArray()) { + let e30; + if (i.iterator((r2) => { + if (r2 == null || r2.isNull() || t && (r2.isString() || r2.isBoolean())) return true; + if (r2 = this._includingLogicalValuesAndText(r2), r2.isError()) return e30 = r2, false; + n[0].push(r2); + }), e30 != null && e30.isError()) return e30; + } else n[0].push(i); + } + return Ea2(n, 1, n[0].length); + } + _includingLogicalValuesAndText(e29) { + if (e29.isBoolean() && (e29 = Aa2(e29)), e29.isString()) { + let t = Number(e29.getValue()); + e29 = R4.create(Number.isNaN(t) ? 0 : t); + } + return e29; + } + createReferenceObject(e29, t) { + let n = e29.getForcedUnitId() || e29.getDefaultUnitId() || ``, r = e29.getForcedSheetId() || e29.getDefaultUnitId() || ``, i = Jn2({ unitId: n, sheetName: e29.getForcedSheetName(), range: t }), a; + return a = gn2(i) ? new Ca(i) : bn(i) ? new Ta(i) : xn2(i) ? new wa(i) : new Sa2(t, r, n), this._setReferenceDefault(e29, a); + } + _setReferenceDefault(e29, t) { + if (this.unitId == null || this.subUnitId == null) return j3.create(D3.REF); + t.setDefaultUnitId(this.unitId), t.setDefaultSheetId(this.subUnitId); + let n = e29.getUnitId(); + n != null && t.setForcedUnitIdDirect(n); + let r = e29.getForcedSheetId(); + return r != null && t.setForcedSheetIdDirect(r), t.setForcedSheetName(e29.getForcedSheetName()), t.setUnitData(e29.getUnitData()), t.setRuntimeData(e29.getRuntimeData()), t.setArrayFormulaCellData(e29.getArrayFormulaCellData()), t.setUnitStylesData(e29.getUnitStylesData()), t; + } + }; + var xs2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + if (e29.isError()) return e29; + let { isError: r, errorObject: i, variants: a } = ys2(t, n); + if (r) return i; + let { isError: o, errorObject: s, variants: c } = X3(...a); + if (o) return s; + let [l, u] = c, d = Math.floor(+l.getValue()), f = Math.floor(+u.getValue()); + if (d < 0 || f < 0) return j3.create(D3.NUM); + if (d === 0 || f === 0) return j3.create(D3.REF); + let p = e29.isArray() ? e29.getRowCount() : 1, m = e29.isArray() ? e29.getColumnCount() : 1; + if (p === 1 && m === 1) return e29.isArray() ? e29.get(0, 0) : e29; + let h = d > p ? p : d, g2 = f > m ? m : f; + return e29.slice([0, h], [0, g2]); + } + }; + var Ss2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = []; + for (let n = 0; n < e29.length; n++) { + let r = e29[n], i = r.isArray() ? r.getRowCount() : 1, a = r.isArray() ? r.getColumnCount() : 1; + for (let e30 = 0; e30 < i; e30++) for (let n2 = 0; n2 < a; n2++) { + let i2 = r.isArray() ? r.get(e30, n2) : r; + t.push([i2]); + } + } + return B3.create({ calculateValueList: t, rowCount: t.length, columnCount: 1, unitId: this.unitId, sheetId: this.subUnitId, row: this.row, column: this.column }); + } + }; + var Cs2 = (function(e29) { + return e29.ARRAY_CONSTRAIN = `ARRAY_CONSTRAIN`, e29.FLATTEN = `FLATTEN`, e29; + })({}); + var ws2 = [[xs2, Cs2.ARRAY_CONSTRAIN], [Ss2, Cs2.FLATTEN]]; + var Ts2; + (function(e29) { + let t = 0.636619772; + function n(e30, t2) { + let n2 = 0; + for (let r2 = 0; r2 < e30.length; ++r2) n2 = t2 * n2 + e30[r2]; + return n2; + } + function r(e30, t2, n2, r2, i2) { + if (t2 === 0) return n2; + if (t2 === 1) return r2; + let a2 = 2 / e30, o2 = n2, s = r2, c = r2; + for (let e31 = 1; e31 < t2; ++e31) c = s * e31 * a2 + i2 * o2, o2 = s, s = c; + return c; + } + function i(e30, t2, n2, i2) { + return function(a2, o2) { + if (n2) { + if (a2 === 0) return n2 === 1 ? -1 / 0 : 1 / 0; + if (a2 < 0) return NaN; + } + return o2 === 0 ? e30(a2) : o2 === 1 ? t2(a2) : o2 < 0 ? NaN : r(a2, o2 | 0, e30(a2), t2(a2), i2); + }; + } + let a = e29.besselj = /* @__PURE__ */ (() => { + let e30 = [-184.9052456, 77392.33017, -1121442418e-2, 6516196407e-1, -13362590354, 57568490574], i2 = [1, 267.8532712, 59272.64853, 9494680718e-3, 1029532985, 57568490411], a2 = [2093887211e-16, -2073370639e-15, 2734510407e-14, -0.001098628627, 1], o2 = [-934935152e-16, 7621095161e-16, -6911147651e-15, 1430488765e-13, -0.01562499995]; + function s(r2) { + let s2 = 0, c2 = 0, l2 = 0, u2 = r2 * r2; + if (r2 < 8) c2 = n(e30, u2), l2 = n(i2, u2), s2 = c2 / l2; + else { + let e31 = r2 - 0.785398164; + u2 = 64 / u2, c2 = n(a2, u2), l2 = n(o2, u2), s2 = Math.sqrt(t / r2) * (Math.cos(e31) * c2 - Math.sin(e31) * l2 * 8 / r2); + } + return s2; + } + let c = [-30.16036606, 15704.4826, -2972611439e-3, 2423968531e-1, -7895059235, 72362614232], l = [1, 376.9991397, 99447.43394, 1858330474e-2, 2300535178, 144725228442], u = [-240337019e-15, 2457520174e-15, -3516396496e-14, 183105e-8, 1], d = [105787412e-15, -88228987e-14, 8449199096e-15, -2002690873e-13, 0.04687499995]; + function f(e31) { + let r2 = 0, i3 = 0, a3 = 0, o3 = e31 * e31, s2 = Math.abs(e31) - 2.356194491; + return Math.abs(e31) < 8 ? (i3 = e31 * n(c, o3), a3 = n(l, o3), r2 = i3 / a3) : (o3 = 64 / o3, i3 = n(u, o3), a3 = n(d, o3), r2 = Math.sqrt(t / Math.abs(e31)) * (Math.cos(s2) * i3 - Math.sin(s2) * a3 * 8 / Math.abs(e31)), e31 < 0 && (r2 = -r2)), r2; + } + return function e31(t2, n2) { + let i3 = Math.round(n2); + if (!Number.isFinite(t2)) return Number.isNaN(t2) ? t2 : 0; + if (i3 < 0) return (i3 % 2 ? -1 : 1) * e31(t2, -i3); + if (t2 < 0) return (i3 % 2 ? -1 : 1) * e31(-t2, i3); + if (i3 === 0) return s(t2); + if (i3 === 1) return f(t2); + if (t2 === 0) return 0; + let a3 = 0; + if (t2 > i3) a3 = r(t2, i3, s(t2), f(t2), -1); + else { + let e32 = 2 * Math.floor((i3 + Math.floor(Math.sqrt(40 * i3))) / 2), n3 = false, r2 = 0, o3 = 0, s2 = 1, c2 = 0, l2 = 2 / t2; + for (let t3 = e32; t3 > 0; t3--) if (c2 = t3 * l2 * s2 - r2, r2 = s2, s2 = c2, Math.abs(s2) > 1e10 && (s2 *= 1e-10, r2 *= 1e-10, a3 *= 1e-10, o3 *= 1e-10), n3 && (o3 += s2), n3 = !n3, t3 === i3 && (a3 = r2), e32 - t3 > 100 && a3 === 0) return NaN; + o3 = 2 * o3 - s2, a3 /= o3; + } + return a3; + }; + })(); + e29.bessely = (() => { + let e30 = [228.4622733, -86327.92757, 1087988129e-2, -5123598036e-1, 7062834065, -2957821389], r2 = [1, 226.1030244, 47447.2647, 7189466438e-3, 7452499648e-1, 40076544269], o2 = [2093887211e-16, -2073370639e-15, 2734510407e-14, -0.001098628627, 1], s = [-934945152e-16, 7621095161e-16, -6911147651e-15, 1430488765e-13, -0.01562499995]; + function c(i2) { + let c2 = 0, l2 = 0, u2 = 0, d2 = i2 * i2, f2 = i2 - 0.785398164; + return i2 < 8 ? (l2 = n(e30, d2), u2 = n(r2, d2), c2 = l2 / u2 + t * a(i2, 0) * Math.log(i2)) : (d2 = 64 / d2, l2 = n(o2, d2), u2 = n(s, d2), c2 = Math.sqrt(t / i2) * (Math.sin(f2) * l2 + Math.cos(f2) * u2 * 8 / i2)), c2; + } + let l = [8511.937935, -4237922726e-3, 7349264551e-1, -51534381390, 127527439e4, -4900604943e3], u = [1, 354.9632885, 102042.605, 2245904002e-2, 3733650367, 424441966400, 249958057e5], d = [-240337019e-15, 2457520174e-15, -3516396496e-14, 183105e-8, 1], f = [105787412e-15, -88228987e-14, 8449199096e-15, -2002690873e-13, 0.04687499995]; + function p(e31) { + let r3 = 0, i2 = 0, o3 = 0, s2 = e31 * e31, c2 = e31 - 2.356194491; + return e31 < 8 ? (i2 = e31 * n(l, s2), o3 = n(u, s2), r3 = i2 / o3 + t * (a(e31, 1) * Math.log(e31) - 1 / e31)) : (s2 = 64 / s2, i2 = n(d, s2), o3 = n(f, s2), r3 = Math.sqrt(t / e31) * (Math.sin(c2) * i2 + Math.cos(c2) * o3 * 8 / e31)), r3; + } + return i(c, p, 1, -1); + })(); + let o = e29.besseli = /* @__PURE__ */ (() => { + let e30 = [45813e-7, 0.0360768, 0.2659732, 1.2067492, 3.0899424, 3.5156229, 1], t2 = [392377e-8, -0.01647633, 0.02635537, -0.02057706, 916281e-8, -157565e-8, 225319e-8, 0.01328592, 0.39894228]; + function r2(r3) { + return r3 <= 3.75 ? n(e30, r3 * r3 / (3.75 * 3.75)) : Math.exp(Math.abs(r3)) / Math.sqrt(Math.abs(r3)) * n(t2, 3.75 / Math.abs(r3)); + } + let i2 = [32411e-8, 301532e-8, 0.02658733, 0.15084934, 0.51498869, 0.87890594, 0.5], a2 = [-420059e-8, 0.01787654, -0.02895312, 0.02282967, -0.01031555, 163801e-8, -362018e-8, -0.03988024, 0.39894228]; + function o2(e31) { + return e31 < 3.75 ? e31 * n(i2, e31 * e31 / (3.75 * 3.75)) : (e31 < 0 ? -1 : 1) * Math.exp(Math.abs(e31)) / Math.sqrt(Math.abs(e31)) * n(a2, 3.75 / Math.abs(e31)); + } + return function e31(t3, n2) { + let i3 = Math.round(n2); + if (i3 === 0) return r2(t3); + if (i3 === 1) return o2(t3); + if (i3 < 0) return NaN; + if (Math.abs(t3) === 0) return 0; + if (t3 === 1 / 0) return 1 / 0; + let a3 = 0, s, c = 2 / Math.abs(t3), l = 0, u = 1, d = 0, f = 2 * Math.round((i3 + Math.round(Math.sqrt(40 * i3))) / 2); + for (s = f; s > 0; s--) if (d = s * c * u + l, l = u, u = d, Math.abs(u) > 1e10 && (u *= 1e-10, l *= 1e-10, a3 *= 1e-10), s === i3 && (a3 = l), f - s > 100 && a3 === 0) return NaN; + return a3 *= e31(t3, 0) / u, t3 < 0 && i3 % 2 ? -a3 : a3; + }; + })(); + e29.besselk = (() => { + let e30 = [74e-7, 1075e-7, 262698e-8, 0.0348859, 0.23069756, 0.4227842, -0.57721566], t2 = [53208e-8, -25154e-7, 587872e-8, -0.01062446, 0.02189568, -0.07832358, 1.25331414]; + function r2(r3) { + return r3 <= 2 ? -Math.log(r3 / 2) * o(r3, 0) + n(e30, r3 * r3 / 4) : Math.exp(-r3) / Math.sqrt(r3) * n(t2, 2 / r3); + } + let a2 = [-4686e-8, -110404e-8, -0.01919402, -0.18156897, -0.67278579, 0.15443144, 1], s = [-68245e-8, 325614e-8, -780353e-8, 0.01504268, -0.0365562, 0.23498619, 1.25331414]; + function c(e31) { + return e31 <= 2 ? Math.log(e31 / 2) * o(e31, 1) + 1 / e31 * n(a2, e31 * e31 / 4) : Math.exp(-e31) / Math.sqrt(e31) * n(s, 2 / e31); + } + return i(r2, c, 2, 1); + })(); + })(Ts2 || (Ts2 = {})); + function Es2(e29) { + return /^[01]{1,10}$/.test(e29); + } + function Ds2(e29) { + return /^[0-7]{1,10}$/.test(e29); + } + function Os2(e29) { + return /^[0-9A-Fa-f]{1,10}$/.test(e29); + } + function ks2(e29) { + if (e29 === 0) return 0; + let t = [-1.3026537197817094, 0.6419697923564902, 0.019476473204185836, -0.00956151478680863, -946595344482036e-18, 366839497852761e-18, 42523324806907e-18, -20278578112534e-18, -1624290004647e-18, 130365583558e-17, 15626441722e-18, -85238095915e-18, 6529054439e-18, 5059343495e-18, -991364156e-18, -227365122e-18, 96467911e-18, 2394038e-18, -6886027e-18, 894487e-18, 313092e-18, -112708e-18, 381e-18, 7106e-18, -1523e-18, -94e-18, 121e-18, -28e-18], n = e29, r = false; + n < 0 && (n = -n, r = true); + let i = 2 / (2 + n), a = 4 * i - 2, o = 0, s = 0, c; + for (let e30 = t.length - 1; e30 > 0; e30--) c = o, o = a * o - s + t[e30], s = c; + let l = i * Math.exp(-n * n + 0.5 * (t[0] + a * o) - s); + return r ? l - 1 : 1 - l; + } + function As2(e29) { + return 1 - ks2(e29); + } + function js2(e29) { + if (e29 >= 2) return -100; + if (e29 <= 0) return 100; + let t = e29 < 1 ? e29 : 2 - e29, n = Math.sqrt(-2 * Math.log(t / 2)), r = -0.70711 * ((2.30753 + n * 0.27061) / (1 + n * (0.99229 + n * 0.04481)) - n); + for (let e30 = 0; e30 < 2; e30++) { + let e31 = As2(r) - t; + r += e31 / (1.1283791670955126 * Math.exp(-r * r) - r * e31); + } + return e29 < 1 ? r : -r; + } + function Ms2(e29, t = 1) { + let n = Math.floor(e29); + if (e29 < 0) return NaN; + let r = 1; + for (; n > 1 && Number.isFinite(r); ) r *= n, n -= t; + return r; + } + function Ns2(e29, t) { + let n = Math.min(e29 - t, t), r = 1; + for (let t2 = 1; t2 <= n && Number.isFinite(r); t2++) r *= e29 - t2 + 1, r /= t2; + return r; + } + function Ps2(e29, t) { + let n = Math.floor(e29), r = Math.floor(t); + for (; r !== 0; ) { + let e30 = r; + r = n % r, n = e30; + } + return n; + } + function Fs2(e29, t) { + let n = Ps2(e29, t); + return n === 0 ? 0 : Math.abs(e29 * t) / n; + } + function Is2(e29) { + let t = e29.length; + if (t === 1) return e29[0][0]; + if (t === 2) return e29[0][0] * e29[1][1] - e29[0][1] * e29[1][0]; + let { rowSwap: n, smallPivotDetected: r, luMatrix: i, permutation: a } = Us2(e29); + if (r) return 0; + let o = n ? 1 : -1; + for (let e30 = 0; e30 < a.length; e30++) o *= i[e30][e30]; + return o === 0 ? 0 : o; + } + function Ls2(e29) { + let t = Is2(e29); + return t === 0 ? null : e29.length === 1 ? [[1 / t]] : zs2(e29).map((e30) => e30.map((e31) => e31 / t)); + } + function Rs(e29, t, n) { + return e29.filter((e30, n2) => n2 !== t).map((e30) => e30.filter((e31, t2) => t2 !== n)); + } + function zs2(e29) { + let t = e29.length, n = Array.from({ length: t }, () => Array(t).fill(0)); + for (let r = 0; r < t; r++) for (let i = 0; i < t; i++) { + let t2 = ((r + i) % 2 == 0 ? 1 : -1) * Is2(Rs(e29, r, i)); + n[i][r] = t2 === 0 ? 0 : t2; + } + return n; + } + function Bs2(e29, t) { + return e29.map((e30) => t[0].map((n, r) => e30.reduce((e31, n2, i) => e31 + n2 * t[i][r], 0))); + } + function Vs(e29) { + return e29[0].map((t, n) => e29.map((e30) => e30[n])); + } + function Hs2(e29) { + let { smallPivotDetected: t, luMatrix: n, permutation: r } = Us2(e29); + return t ? null : Ws2(n, r); + } + function Us2(e29) { + let t = Vs(e29), n = t.length, r = t[0].length, i = true, a = false, o = Gs2(n, r, 0), s = Array(r).fill(0).map((e30, t2) => t2); + for (let e30 = 0; e30 < r; e30++) { + for (let n2 = 0; n2 < e30; n2++) { + let r3 = t[n2][e30]; + for (let t2 = 0; t2 < n2; t2++) r3 -= o[n2][t2] * o[t2][e30]; + o[n2][e30] = r3; + } + let r2 = -1 / 0, c = e30; + for (let i2 = e30; i2 < n; i2++) { + let n2 = t[i2][e30]; + for (let t2 = 0; t2 < e30; t2++) n2 -= o[i2][t2] * o[t2][e30]; + o[i2][e30] = n2; + let a2 = Math.abs(n2); + a2 > r2 && (r2 = a2, c = i2); + } + if (Math.abs(o[c][e30]) < 1e-11) { + a = true; + break; + } + c !== e30 && ([o[e30], o[c]] = [o[c], o[e30]], [t[e30], t[c]] = [t[c], t[e30]], [s[e30], s[c]] = [s[c], s[e30]], i = !i); + let l = o[e30][e30]; + for (let t2 = e30 + 1; t2 < n; t2++) o[t2][e30] /= l; + } + return { rowSwap: i, smallPivotDetected: a, luMatrix: o, permutation: s }; + } + function Ws2(e29, t) { + let n = t.length, r = Gs2(n, n, 0); + for (let e30 = 0; e30 < n; e30++) r[e30][e30] = 1; + let i = Gs2(n, n, 0); + for (let e30 = 0; e30 < n; e30++) { + let a = t[e30]; + for (let t2 = 0; t2 < n; t2++) i[e30][t2] = r[a][t2]; + } + for (let t2 = 0; t2 < n; t2++) { + let r2 = i[t2]; + for (let a = t2 + 1; a < n; a++) { + let o = e29[a][t2]; + for (let e30 = 0; e30 < n; e30++) i[a][e30] -= r2[e30] * o; + } + } + for (let t2 = n - 1; t2 >= 0; t2--) { + let r2 = i[t2], a = e29[t2][t2]; + for (let e30 = 0; e30 < n; e30++) r2[e30] /= a; + for (let a2 = 0; a2 < t2; a2++) { + let o = e29[a2][t2]; + for (let e30 = 0; e30 < n; e30++) i[a2][e30] -= r2[e30] * o; + } + } + return i; + } + function Gs2(e29, t, n) { + let r = []; + for (let i = 0; i < e29; i++) { + r[i] = []; + for (let e30 = 0; e30 < t; e30++) r[i].push(n); + } + return r; + } + function Ks2(e29) { + let t = qs2(e29); + if (!t) return null; + let { matrixU: n, matrixS: r, matrixV: i } = t, a = Vs(n), o = Array.from({ length: r.length }, () => Array(e29[0].length).fill(0)), s = Math.max(e29.length, e29[0].length) * 2 ** -52 * r[0]; + for (let e30 = 0; e30 < r.length; e30++) Math.abs(r[e30]) > s && (o[e30][e30] = 1 / r[e30]); + return Bs2(i, Bs2(o, a)); + } + function qs2(e29) { + let t = Vs(e29), n = t.length, r = t[0].length; + if (n < r) return null; + let i = Array(r).fill(0), a = Array(r).fill(0), o = Array.from({ length: r }, () => Array(r).fill(0)), s = 2 ** -52, c = 0, l = 0, u = 0; + for (let e30 = 0; e30 < r; e30++) { + if (i[e30] = c, l = Ys2(t, e30, n, e30, e30), l <= 1e-64 / s) c = 0; + else { + c = Math.sqrt(l), t[e30][e30] >= 0 && (c = -c); + let i2 = t[e30][e30] * c - l; + t[e30][e30] -= c; + for (let a2 = e30 + 1; a2 < r; a2++) { + l = Ys2(t, e30, n, e30, a2); + for (let r2 = e30; r2 < n; r2++) t[r2][a2] += l / i2 * t[r2][e30]; + } + } + if (a[e30] = c, l = Xs2(t, e30 + 1, r, e30, e30), l <= 1e-64 / s) c = 0; + else { + c = Math.sqrt(l), t[e30][e30 + 1] >= 0 && (c = -c); + let a2 = t[e30][e30 + 1] * c - l; + t[e30][e30 + 1] -= c; + for (let n2 = e30 + 1; n2 < r; n2++) i[n2] = t[e30][n2] / a2; + for (let a3 = e30 + 1; a3 < n; a3++) { + l = Xs2(t, e30 + 1, r, a3, e30); + for (let n2 = e30 + 1; n2 < r; n2++) t[a3][n2] += l * i[n2]; + } + } + let o2 = Math.abs(a[e30]) + Math.abs(i[e30]); + o2 > u && (u = o2); + } + let d = 0; + for (let e30 = r - 1; e30 >= 0; e30--) { + if (c !== 0) { + for (let n2 = d; n2 < r; n2++) o[n2][e30] = t[e30][n2] / (c * t[e30][e30 + 1]); + for (let n2 = d; n2 < r; n2++) { + l = 0; + for (let i2 = d; i2 < r; i2++) l += t[e30][i2] * o[i2][n2]; + for (let t2 = d; t2 < r; t2++) o[t2][n2] += l * o[t2][e30]; + } + } + for (let t2 = d; t2 < r; t2++) o[e30][t2] = 0, o[t2][e30] = 0; + o[e30][e30] = 1, c = i[e30], d = e30; + } + for (let e30 = r - 1; e30 >= 0; e30--) { + c = a[e30]; + for (let n2 = e30 + 1; n2 < r; n2++) t[e30][n2] = 0; + if (c !== 0) { + for (let i2 = e30 + 1; i2 < r; i2++) { + l = Ys2(t, e30 + 1, n, e30, i2); + for (let r2 = e30; r2 < n; r2++) t[r2][i2] += l / (t[e30][e30] * c) * t[r2][e30]; + } + for (let r2 = e30; r2 < n; r2++) t[r2][e30] /= c; + } else for (let r2 = e30; r2 < n; r2++) t[r2][e30] = 0; + t[e30][e30] += 1; + } + s *= u; + let f = 0, p = 0, m = 0; + for (let e30 = r - 1; e30 >= 0; e30--) for (let c2 = 0; c2 < 50; c2++) { + let l2 = false, u2 = e30; + for (; u2 >= 0; u2--) { + if (Math.abs(i[u2]) <= s) { + l2 = true; + break; + } + if (Math.abs(a[u2 - 1]) <= s) break; + } + if (!l2) { + let r2 = 0, o2 = 1; + for (let c3 = u2; c3 < e30 + 1 && (f = o2 * i[c3], p = a[c3], i[c3] *= r2, !(Math.abs(f) <= s)); c3++) { + m = Js2(f, p), a[c3] = m, r2 = p / m, o2 = -f / m; + for (let e31 = 0; e31 < n; e31++) { + let n2 = t[e31][u2 - 1], i2 = t[e31][c3]; + t[e31][u2 - 1] = n2 * r2 + i2 * o2, t[e31][c3] = -n2 * o2 + i2 * r2; + } + } + } + if (u2 === e30) { + if (a[e30] < 0) { + a[e30] = -a[e30]; + for (let t2 = 0; t2 < r; t2++) o[t2][e30] = -o[t2][e30]; + } + break; + } + if (c2 >= 49) return null; + let d2 = a[u2]; + f = ((a[e30 - 1] - a[e30]) * (a[e30 - 1] + a[e30]) + (i[e30 - 1] - i[e30]) * (i[e30 - 1] + i[e30])) / (2 * i[e30] * a[e30 - 1]), m = Js2(f, 1), f = f < 0 ? ((d2 - a[e30]) * (d2 + a[e30]) + i[e30] * (a[e30 - 1] / (f - m) - i[e30])) / d2 : ((d2 - a[e30]) * (d2 + a[e30]) + i[e30] * (a[e30 - 1] / (f + m) - i[e30])) / d2; + let h = 1, g2 = 1; + for (let s2 = u2 + 1; s2 < e30 + 1; s2++) { + let e31 = i[s2], c3 = a[s2]; + p = g2 * e31, e31 *= h, m = Js2(f, p), i[s2 - 1] = m, h = f / m, g2 = p / m, f = d2 * h + e31 * g2, p = c3 * g2, e31 = -d2 * g2 + e31 * h, c3 *= h; + for (let e32 = 0; e32 < r; e32++) { + let t2 = o[e32][s2 - 1], n2 = o[e32][s2]; + o[e32][s2 - 1] = t2 * h + n2 * g2, o[e32][s2] = -t2 * g2 + n2 * h; + } + m = Js2(f, p), a[s2 - 1] = m, h = f / m, g2 = p / m, f = h * e31 + g2 * c3, d2 = -g2 * e31 + h * c3; + for (let e32 = 0; e32 < n; e32++) { + let n2 = t[e32][s2 - 1], r2 = t[e32][s2]; + t[e32][s2 - 1] = n2 * h + r2 * g2, t[e32][s2] = -n2 * g2 + r2 * h; + } + } + i[u2] = 0, i[e30] = f, a[e30] = d2; + } + for (let e30 = 0; e30 < a.length; e30++) a[e30] < s && (a[e30] = 0); + for (let e30 = 0; e30 < r; e30++) for (let n2 = e30 - 1; n2 >= 0; n2--) if (a[n2] < a[e30]) { + let r2 = a[n2]; + a[n2] = a[e30], a[e30] = r2; + for (let r3 = 0; r3 < t.length; r3++) { + let i2 = t[r3][e30]; + t[r3][e30] = t[r3][n2], t[r3][n2] = i2; + } + for (let t2 = 0; t2 < o.length; t2++) { + let r3 = o[t2][e30]; + o[t2][e30] = o[t2][n2], o[t2][n2] = r3; + } + e30 = n2; + } + return { matrixU: t, matrixS: a, matrixV: o }; + } + function Js2(e29, t) { + let n = 0; + return Math.abs(e29) > Math.abs(t) ? (n = t / e29, Math.abs(e29) * Math.sqrt(1 + n * n)) : t === 0 ? 0 : (n = e29 / t, Math.abs(t) * Math.sqrt(1 + n * n)); + } + function Ys2(e29, t, n, r, i) { + let a = 0; + for (let o = t; o < n; o++) a += e29[o][r] * e29[o][i]; + return a; + } + function Xs2(e29, t, n, r, i) { + let a = 0; + for (let o = t; o < n; o++) a += e29[r][o] * e29[i][o]; + return a; + } + var Zs2 = /* @__PURE__ */ new Map([[`I`, 1], [`V`, 5], [`X`, 10], [`L`, 50], [`C`, 100], [`D`, 500], [`M`, 1e3]]); + var Qs2 = /* @__PURE__ */ new Map([[1, `I`], [4, `IV`], [5, `V`], [9, `IX`], [10, `X`], [40, `XL`], [45, `VL`], [49, `IL`], [50, `L`], [90, `XC`], [95, `VC`], [99, `IC`], [100, `C`], [400, `CD`], [450, `LD`], [490, `XD`], [495, `VD`], [499, `ID`], [500, `D`], [900, `CM`], [950, `LM`], [990, `XM`], [995, `VM`], [999, `IM`], [1e3, `M`]]); + var $s2 = [[1, 4, 5, 9, 10, 40, 50, 90, 100, 400, 500, 900, 1e3, 4e3], [1, 4, 5, 9, 10, 40, 45, 50, 90, 95, 100, 400, 450, 500, 900, 950, 1e3, 4e3], [1, 4, 5, 9, 10, 40, 45, 49, 50, 90, 95, 99, 100, 400, 450, 490, 500, 900, 950, 990, 1e3, 4e3], [1, 4, 5, 9, 10, 40, 45, 49, 50, 90, 95, 99, 100, 400, 450, 490, 495, 500, 900, 950, 990, 995, 1e3, 4e3], [1, 4, 5, 9, 10, 40, 45, 49, 50, 90, 95, 99, 100, 400, 450, 490, 495, 499, 500, 900, 950, 990, 995, 999, 1e3, 4e3]]; + function ec2(e29, t, n) { + return e29 <= 0 ? 0 : e29 >= 1 ? 1 : rc2(e29, t, n); + } + function tc2(e29, t, n) { + return e29 <= 0 || e29 >= 1 ? 0 : t === 1 && n === 1 ? 1 : t < 512 && n < 512 ? e29 ** (t - 1) * (1 - e29) ** (n - 1) / ac2(t, n) : Math.exp((t - 1) * Math.log(e29) + (n - 1) * Math.log(1 - e29) - oc2(t, n)); + } + function nc2(e29, t, n) { + if (e29 <= 0) return 0; + if (e29 >= 1) return 1; + let r; + if (t >= 1 && n >= 1) { + let i2 = e29 < 0.5 ? e29 : 1 - e29, a2 = Math.sqrt(-2 * Math.log(i2)); + r = (2.30753 + a2 * 0.27061) / (1 + a2 * (0.99229 + a2 * 0.04481)) - a2, e29 < 0.5 && (r = -r); + let o2 = (r * r - 3) / 6, s2 = 2 / (1 / (2 * t - 1) + 1 / (2 * n - 1)), c = r * Math.sqrt(o2 + s2) / s2 - (1 / (2 * n - 1) - 1 / (2 * t - 1)) * (o2 + 5 / 6 - 2 / (3 * s2)); + r = t / (t + n * Math.exp(2 * c)); + } else { + let i2 = Math.exp(t * Math.log(t / (t + n))) / t, a2 = i2 + Math.exp(n * Math.log(n / (t + n))) / n; + r = e29 < i2 / a2 ? (t * a2 * e29) ** (1 / t) : 1 - (n * a2 * (1 - e29)) ** (1 / n); + } + let i = -oc2(t, n), a, o, s; + for (let c = 0; c < 10; c++) { + if (r === 0 || r === 1) return r; + if (a = rc2(r, t, n) - e29, o = Math.exp((t - 1) * Math.log(r) + (n - 1) * Math.log(1 - r) + i), s = a / o, r -= o = s / (1 - 0.5 * Math.min(1, s * ((t - 1) / r - (n - 1) / (1 - r)))), r <= 0 && (r = 0.5 * (r + o)), r >= 1 && (r = 0.5 * (r + o + 1)), Math.abs(o) < 1e-8 * r && c > 0) break; + } + return r; + } + function rc2(e29, t, n) { + let r = e29 === 0 || e29 === 1 ? 0 : Math.exp(Sc2(t + n) - Sc2(t) - Sc2(n) + t * Math.log(e29) + n * Math.log(1 - e29)); + return e29 < (t + 1) / (t + n + 2) ? r * ic2(e29, t, n) / t : 1 - r * ic2(1 - e29, n, t) / n; + } + function ic2(e29, t, n) { + let r = 1e-8, i = 1 - (t + n) * e29 / (t + 1); + Math.abs(i) < r && (i = r), i = 1 / i; + let a = 1, o = i; + for (let s = 1; s <= 100; s++) { + let c = s * (n - s) * e29 / ((t - 1 + s * 2) * (t + s * 2)); + if (i = 1 + c * i, Math.abs(i) < r && (i = r), a = 1 + c / a, Math.abs(a) < r && (a = r), i = 1 / i, o *= i * a, c = -(t + s) * (t + n + s) * e29 / ((t + s * 2) * (t + 1 + s * 2)), i = 1 + c * i, Math.abs(i) < r && (i = r), a = 1 + c / a, Math.abs(a) < r && (a = r), i = 1 / i, o *= i * a, Math.abs(i * a - 1) < r) break; + } + return o; + } + function ac2(e29, t) { + return e29 + t > 170 ? Math.exp(oc2(e29, t)) : vc2(e29) * vc2(t) / vc2(e29 + t); + } + function oc2(e29, t) { + return Sc2(e29) + Sc2(t) - Sc2(e29 + t); + } + function sc2(e29, t, n) { + if (e29 < 0) return 0; + if (e29 >= t) return 1; + if (n < 0 || n > 1 || t <= 0) return NaN; + let r = 0; + for (let i = 0; i <= e29; i++) r += cc2(i, t, n); + return r; + } + function cc2(e29, t, n) { + return n === 0 || n === 1 ? t * n === e29 ? 1 : 0 : Ns2(t, e29) * n ** e29 * (1 - n) ** (t - e29); + } + function lc2(e29, t) { + return e29 <= 0 ? 0 : Cc2(t / 2, e29 / 2); + } + function uc(e29, t) { + return e29 < 0 ? 0 : e29 === 0 && t === 2 ? 0.5 : Math.exp((t / 2 - 1) * Math.log(e29) - e29 / 2 - t / 2 * Math.log(2) - Sc2(t / 2)); + } + function dc2(e29, t) { + return e29 <= 0 ? 0 : e29 >= 1 ? 1 / 0 : 2 * wc2(e29, t / 2); + } + function fc2(e29, t, n) { + return e29 < 0 ? 0 : rc2(t * e29 / (t * e29 + n), t / 2, n / 2); + } + function pc2(e29, t, n) { + if (e29 < 0) return 0; + if (e29 === 0 && t < 2) return 1 / 0; + if (e29 === 0 && t === 2) return 1; + let r = 1 / ac2(t / 2, n / 2); + return r *= (t / n) ** (t / 2), r *= e29 ** (t / 2 - 1), r *= (1 + t / n * e29) ** (-(t + n) / 2), r; + } + function mc2(e29, t, n) { + return e29 <= 0 ? 0 : e29 >= 1 ? 1 / 0 : n / (t * (1 / nc2(e29, t / 2, n / 2) - 1)); + } + function hc2(e29, t) { + return e29 < 0 ? 0 : 1 - Math.exp(-t * e29); + } + function gc2(e29, t) { + return e29 < 0 ? 0 : t * Math.exp(-t * e29); + } + function _c2(e29, t, n) { + let r = t.length, i = 0, a = 0; + for (let e30 = 0; e30 < r; e30++) i += t[e30], a += n[e30]; + let o = i / r, s = a / r, c = 0, l = 0; + for (let e30 = 0; e30 < r; e30++) c += (t[e30] - o) * (n[e30] - s), l += (n[e30] - s) ** 2; + if (l === 0) return 1 / 0; + let u = c / l; + return o - u * s + u * e29; + } + function vc2(e29) { + let t = [-1.716185138865495, 24.76565080557592, -379.80425647094563, 629.3311553128184, 866.9662027904133, -31451.272968848367, -36144.413418691176, 66456.14382024054], n = [-30.8402300119739, 315.35062697960416, -1015.1563674902192, -3107.771671572311, 22538.11842098015, 4755.846277527881, -134659.9598649693, -115132.2596755535], r = 0, i = e29; + if (e29 > 171.6243769536076) return 1 / 0; + if (i <= 0) { + let e30 = i % 1 + 36e-17; + if (e30) r = (i & 1 ? -1 : 1) * Math.PI / Math.sin(Math.PI * e30), i = 1 - i; + else return 1 / 0; + } + let a = i, o = 0, s; + s = i < 1 ? i++ : (i -= o = (i | 0) - 1) - 1; + let c = 0, l = 0; + for (let e30 = 0; e30 < 8; ++e30) c = (c + t[e30]) * s, l = l * s + n[e30]; + let u = c / l + 1; + if (a < i) u /= a; + else if (a > i) for (let e30 = 0; e30 < o; ++e30) u *= i, i++; + return r && (u = r / u), u; + } + function yc2(e29, t, n) { + return e29 <= 0 ? 0 : Cc2(t, e29 / n); + } + function bc2(e29, t, n) { + return e29 < 0 ? 0 : e29 === 0 && t === 1 ? 1 / n : Math.exp((t - 1) * Math.log(e29) - e29 / n - Sc2(t) - t * Math.log(n)); + } + function xc2(e29, t, n) { + return e29 <= 0 ? 0 : e29 >= 1 ? 1 / 0 : n * wc2(e29, t); + } + function Sc2(e29) { + let t = [76.18009172947146, -86.50532032941678, 24.01409824083091, -1.231739572450155, 0.001208650973866179, -5395239384953e-18], n = e29, r = e29 + 5.5; + r -= (e29 + 0.5) * Math.log(r); + let i = 1.000000000190015; + for (let e30 = 0; e30 < 6; e30++) i += t[e30] / ++n; + return -r + Math.log(2.5066282746310007 * i / e29); + } + function Cc2(e29, t) { + if (t < 0 || e29 <= 0) return NaN; + let n = 1e-30, r = -~(Math.log(e29 >= 1 ? e29 : 1 / e29) * 8.5 + e29 * 0.4 + 17), i = Sc2(e29), a = Math.exp(-t + e29 * Math.log(t) - i), o = e29, s = 1 / e29, c = s; + if (t < e29 + 1) { + if (a === 0) return 0; + for (let e30 = 1; e30 <= r && (s += c *= t / ++o, !(Math.abs(c) < Math.abs(s) * n)); e30++) ; + return s * a; + } + if (a === 0) return 1; + let l = t + 1 - e29, u = 1 / n, d = 1 / l, f = d; + for (let t2 = 1; t2 <= r; t2++) { + let r2 = -t2 * (t2 - e29); + if (l += 2, d = r2 * d + l, Math.abs(d) < n && (d = n), u = l + r2 / u, Math.abs(u) < n && (u = n), d = 1 / d, f *= d * u, Math.abs(d * u - 1) < n) break; + } + return 1 - f * a; + } + function wc2(e29, t) { + if (e29 <= 0) return 0; + if (e29 >= 1) return Math.max(100, t + 100 * Math.sqrt(t)); + let n; + if (t > 1) { + let r2 = e29 < 0.5 ? e29 : 1 - e29, i2 = Math.sqrt(-2 * Math.log(r2)); + n = (2.30753 + i2 * 0.27061) / (1 + i2 * (0.99229 + i2 * 0.04481)) - i2, e29 < 0.5 && (n = -n), n = Math.max(1e-3, t * (1 - 1 / (9 * t) - n / (3 * Math.sqrt(t))) ** 3); + } else { + let r2 = 1 - t * (0.253 + t * 0.12); + n = e29 < r2 ? (e29 / r2) ** (1 / t) : 1 - Math.log(1 - (e29 - r2) / (1 - r2)); + } + let r = Sc2(t), i, a; + for (let o = 0; o < 12; o++) { + if (n <= 0) return 0; + if (i = Cc2(t, n) - e29, a = t > 1 ? Math.exp((t - 1) * (Math.log(t - 1) - 1) - r) * Math.exp(-(n - (t - 1)) + (t - 1) * (Math.log(n) - Math.log(t - 1))) : Math.exp(-n + (t - 1) * Math.log(n) - r), a !== 0 && (a = i / a / (1 - 0.5 * Math.min(1, i / a * ((t - 1) / n - 1)))), n -= a, n <= 0 && (n = 0.5 * (n + a)), Math.abs(a) < 1e-8 * n) break; + } + return n; + } + function Tc2(e29, t, n, r) { + let i = 0; + for (let a = 0; a <= e29; a++) i += Ec2(a, t, n, r); + return i; + } + function Ec2(e29, t, n, r) { + return t - e29 > r - n ? 0 : Ns2(n, e29) * Ns2(r - n, t - e29) / Ns2(r, t); + } + function Dc2(e29, t, n) { + return e29 < 0 ? 0 : 0.5 + 0.5 * ks2((Math.log(e29) - t) / Math.sqrt(2 * n * n)); + } + function Oc2(e29, t, n) { + return e29 <= 0 ? 0 : Math.exp(-Math.log(e29) - 0.5 * Math.log(2 * Math.PI) - Math.log(n) - (Math.log(e29) - t) ** 2 / (2 * n * n)); + } + function kc2(e29, t, n) { + return Math.exp(Pc2(e29, t, n)); + } + function Ac2(e29, t, n) { + if (e29 < 0) return 0; + let r = 0; + for (let i = 0; i <= e29; i++) r += jc2(i, t, n); + return r; + } + function jc2(e29, t, n) { + return e29 < 0 ? 0 : Ns2(e29 + t - 1, t - 1) * n ** t * (1 - n) ** e29; + } + function Mc2(e29, t, n) { + return 0.5 * (1 + ks2((e29 - t) / Math.sqrt(2 * n * n))); + } + function Nc2(e29, t, n) { + return Math.exp(-0.5 * Math.log(2 * Math.PI) - Math.log(n) - (e29 - t) ** 2 / (2 * n * n)); + } + function Pc2(e29, t, n) { + return -1.4142135623730951 * n * js2(2 * e29) + t; + } + function Fc2(e29, t) { + let n = 0; + for (let r = 0; r <= e29; r++) n += Ic2(r, t); + return n; + } + function Ic2(e29, t) { + return Math.exp(-t) * t ** e29 / Ms2(e29); + } + function Lc2(e29, t) { + let n = 0.5 * rc2(t / (e29 ** 2 + t), t / 2, 0.5); + return e29 < 0 ? n : 1 - n; + } + function Rc2(e29, t) { + let n = (1 + e29 ** 2 / t) ** (-(t + 1) / 2); + return 1 / (Math.sqrt(t) * ac2(0.5, t / 2)) * n; + } + function zc2(e29, t) { + let n = nc2(2 * Math.min(e29, 1 - e29), 0.5 * t, 0.5); + return n = Math.sqrt(t * (1 - n) / n), e29 > 0.5 ? n : -n; + } + function Bc2(e29, t, n, r, i) { + let a = [], o = [], s = true; + for (let c = 0; c < n; c++) { + let n2 = Math.floor(c / r), l = c % r, u = Math.floor(c / i), d = c % i, f = e29.isArray() ? e29.get(n2, l) : e29, p = t.isArray() ? t.get(u, d) : t; + if (f.isError()) return { isError: true, errorObject: f, array1Values: a, array2Values: o, noCalculate: s }; + if (p.isError()) return { isError: true, errorObject: p, array1Values: a, array2Values: o, noCalculate: s }; + if (f.isNull() || p.isNull() || f.isBoolean() || p.isBoolean()) continue; + let m = f.getValue(), h = p.getValue(); + !Ja(m) || !Ja(h) || (a.push(+m), o.push(+h), s = false); + } + return { isError: false, errorObject: null, array1Values: a, array2Values: o, noCalculate: s }; + } + function Vc2(e29, t, n) { + let r = e29.isArray() ? e29.getRowCount() : 1, i = e29.isArray() ? e29.getColumnCount() : 1, a = r, o = i; + if (t && !t.isNull() && (a = t.isArray() ? t.getRowCount() : 1, o = t.isArray() ? t.getColumnCount() : 1, r === 1 && o !== i || i === 1 && a !== r || r !== 1 && i !== 1 && (a !== r || o !== i))) return { isError: true, errorObject: j3.create(D3.REF) }; + if (n && !n.isNull()) { + let e30 = n.isArray() ? n.getRowCount() : 1, t2 = n.isArray() ? n.getColumnCount() : 1; + if (r === 1 && a > 1 && e30 !== a || i === 1 && o > 1 && t2 !== o) return { isError: true, errorObject: j3.create(D3.REF) }; + } + return { isError: false, errorObject: null }; + } + function Hc2(e29) { + let t = e29.isArray() ? e29.getRowCount() : 1, n = e29.isArray() ? e29.getColumnCount() : 1, r = []; + for (let i = 0; i < t; i++) { + r[i] = []; + for (let t2 = 0; t2 < n; t2++) { + let n2 = e29.isArray() ? e29.get(i, t2) : e29; + if (n2.isError() || n2.isNull() || n2.isBoolean() || n2.isString()) return j3.create(D3.VALUE); + r[i].push(+n2.getValue()); + } + } + return r; + } + function Uc2(e29, t) { + let n = [], r = 1; + for (let i = 0; i < e29; i++) { + n[i] = []; + for (let e30 = 0; e30 < t; e30++) n[i].push(r++); + } + return n; + } + function Wc2(e29, t, n, r) { + let i = t; + r && (i = t.map((e30) => Math.log(e30))); + let a, o; + return n ? { slope: a, intercept: o } = Gc2(e29, i) : { slope: a, intercept: o } = Kc2(e29, i), r && (a = Math.exp(a), o = Math.exp(o)), Number.isNaN(a) && !n && (a = 0), { slope: a, intercept: o, Y: i }; + } + function Gc2(e29, t) { + let n = t.length, r = 0, i = 0, a = 0, o = 0; + for (let s2 = 0; s2 < n; s2++) r += e29[s2], i += t[s2], a += e29[s2] * e29[s2], o += e29[s2] * t[s2]; + let s = (n * o - r * i) / (n * a - r * r); + return { slope: s, intercept: 1 / n * i - 1 / n * s * r }; + } + function Kc2(e29, t) { + let n = [[...e29]], r = [...t], i = n.length, a = n[0].length, o = Math.min(i, a), s = Array(o).fill(0); + for (let e30 = 0; e30 < o; e30++) { + let t2 = n[e30], r2 = 0; + for (let e31 = 0; e31 < a; e31++) r2 += t2[e31] ** 2; + let o2 = t2[e30] < 0 ? Math.sqrt(r2) : -Math.sqrt(r2); + if (s[e30] = o2, o2 !== 0) { + t2[e30] -= o2; + for (let r3 = e30 + 1; r3 < i; r3++) { + let i2 = 0; + for (let o3 = e30; o3 < a; o3++) i2 -= n[r3][o3] * t2[o3]; + i2 /= o2 * t2[e30]; + for (let o3 = e30; o3 < a; o3++) n[r3][o3] -= i2 * t2[o3]; + } + } + } + i = n.length, a = n[0].length, o = Math.min(i, a); + let c = Array(i).fill(0); + for (let e30 = 0; e30 < o; e30++) { + let t2 = n[e30], i2 = 0; + for (let e31 = 0; e31 < a; e31++) i2 += r[e31] * t2[e31]; + i2 /= s[e30] * t2[e30]; + for (let e31 = 0; e31 < a; e31++) r[e31] += i2 * t2[e31]; + } + for (let e30 = s.length - 1; e30 >= 0; e30--) { + r[e30] /= s[e30]; + let t2 = r[e30], i2 = n[e30]; + c[e30] = t2; + for (let n2 = 0; n2 < e30; n2++) r[n2] -= t2 * i2[n2]; + } + return { slope: c[0], intercept: 0 }; + } + function qc2(e29, t, n, r, i) { + let a = e29.length === 1 && e29[0].length > 1, o = e29; + i && (o = e29.map((e30) => e30.map((e31) => Math.log(e31)))); + let s = t, c = n; + a && (o = Vs(o), s = Vs(s), c = Vs(c)), r && (s = s.map((e30) => [...e30, 1])); + let l = Vs(s), u = Bs2(l, s), d = Bs2(l, o), f = Hs2(u); + if (!f && (f = Ks2(u), !f)) return j3.create(D3.NA); + let p = Bs2(f, d); + r || p.push([0]), p = Vs(p); + let m = p[0].pop(); + if (p[0].reverse(), p[0].push(m), i) for (let e30 = 0; e30 < p[0].length; e30++) p[0][e30] = Math.exp(p[0][e30]); + return { coefficients: p, Y: o, X: s, newX: c, XTXInverse: f }; + } + function Jc2(e29) { + let t = [], n = [], r = false; + for (let i = 0; i < e29.length; i++) { + let a = e29[i]; + if (a.isReferenceObject()) a.isMultiArea() ? t.push(a) : n.push(a); + else { + r = true; + break; + } + } + return { isError: r, multiAreaRefs: t, normalRefs: n }; + } + var Q3 = (function(e29) { + return e29.AVERAGE = `AVERAGE`, e29.COUNT = `COUNT`, e29.COUNTA = `COUNTA`, e29.MAX = `MAX`, e29.MIN = `MIN`, e29.PRODUCT = `PRODUCT`, e29.STDEV = `STDEV`, e29.STDEV_S = `STDEV.S`, e29.STDEVP = `STDEVP`, e29.STDEV_P = `STDEV.P`, e29.SUM = `SUM`, e29.VAR = `VAR`, e29.VAR_S = `VAR.S`, e29.VARP = `VARP`, e29.VAR_P = `VAR.P`, e29.MEDIAN = `MEDIAN`, e29.MODE_SNGL = `MODE.SNGL`, e29; + })({}); + function Yc(e29, t) { + let r = e29[t]; + return r ? r.hd === A.TRUE : false; + } + function Xc2(e29, t, n, r, i, a) { + let o = e29.getValue(t, n); + if (o != null && o.f || o != null && o.si) { + let e30 = a.getFormulaStringByCell(t, n, r, i); + if (e30 && (e30.indexOf(`${K3.SUBTOTAL}(`) > -1 || e30.indexOf(`${K3.AGGREGATE}(`) > -1)) return true; + } + return false; + } + function Zc2(e29, t) { + let n = Object.entries(e29).filter(([e30, { count: n2 }]) => n2 === t).sort((e30, t2) => e30[1].order - t2[1].order).map(([e30]) => +e30); + return R4.create(n[0]); + } + function Qc2(e29, t) { + let { type: n, ignoreRowHidden: r, ignoreErrorValues: i, ignoreNested: a, formulaDataModel: o } = e29, s = [], c = 0, l = 0, u = 0, d = 0, f = 0, p = 0, m = 1, h = {}, g2 = 1, _2 = 0; + for (let e30 = 0; e30 < t.length; e30++) { + var v; + let y = t[e30], b = y.getFilteredOutRows(), x2 = y.getRowData(), S4 = y.getUnitId(), C3 = y.getSheetId(), ee = (v = y.getUnitData()[S4]) == null || (v = v[C3]) == null ? void 0 : v.cellData, te; + if (y.iterator((e31, t2, v2) => { + if (b.includes(t2) || r && Yc(x2, t2) || a && Xc2(ee, t2, v2, C3, S4, o)) return true; + if (n === Q3.COUNT) return e31 != null && e31.isNumber() && c++, true; + if (n === Q3.COUNTA) return e31 != null && !e31.isNull() && l++, true; + if (e31 != null && e31.isError()) return i ? true : (te = e31, false); + if (!e31 || e31.isNull() || e31.isBoolean() || e31.isString()) return true; + let y2 = e31.getValue(); + if (!Ja(y2)) return true; + if (y2 = +y2, d++, n === Q3.MAX) return f = d === 1 ? y2 : Math.max(f, y2), true; + if (n === Q3.MIN) return p = d === 1 ? y2 : Math.min(p, y2), true; + if (n === Q3.MODE_SNGL) return h[y2] ? (h[y2].count++, h[y2].count > g2 && (g2 = h[y2].count)) : h[y2] = { count: 1, order: _2++ }, true; + u += y2, m *= y2, s.push(e31); + }), te != null && te.isError()) return te; + } + switch (n) { + case Q3.AVERAGE: + return d === 0 ? j3.create(D3.DIV_BY_ZERO) : R4.create(u / d); + case Q3.COUNT: + return R4.create(c); + case Q3.COUNTA: + return R4.create(l); + case Q3.MAX: + return R4.create(f); + case Q3.MIN: + return R4.create(p); + case Q3.PRODUCT: + return R4.create(d === 0 ? 0 : m); + case Q3.STDEV: + case Q3.STDEV_S: + return d < 2 ? j3.create(D3.DIV_BY_ZERO) : Ea2([s], 1, d).std(1); + case Q3.STDEVP: + case Q3.STDEV_P: + return d === 0 ? j3.create(D3.DIV_BY_ZERO) : Ea2([s], 1, d).std(); + case Q3.SUM: + return R4.create(u); + case Q3.VAR: + case Q3.VAR_S: + return d < 2 ? j3.create(D3.DIV_BY_ZERO) : Ea2([s], 1, d).var(1); + case Q3.VARP: + case Q3.VAR_P: + return d === 0 ? j3.create(D3.DIV_BY_ZERO) : Ea2([s], 1, d).var(); + case Q3.MEDIAN: + return d === 0 ? j3.create(D3.NUM) : el2(s.map((e30) => +e30.getValue())); + case Q3.MODE_SNGL: + return _2 === 0 || g2 === 1 ? j3.create(D3.NA) : Zc2(h, g2); + default: + return j3.create(D3.VALUE); + } + } + function $c2(e29, t, n) { + let { ignoreRowHidden: r = false, ignoreErrorValues: i = false, ignoreNested: a = false } = t == null ? {} : t, o = []; + if (e29.isReferenceObject()) { + var s; + let t2 = e29.getFilteredOutRows(), c = e29.getRowData(), l = e29.getUnitId(), u = e29.getSheetId(), d = (s = e29.getUnitData()[l]) == null || (s = s[u]) == null ? void 0 : s.cellData, f; + if (e29.iterator((e30, s2, p) => { + if (t2.includes(s2) || r && Yc(c, s2)) return true; + if (e30 != null && e30.isError()) return i ? true : (f = e30, false); + if (a && n && Xc2(d, s2, p, u, l, n) || !e30 || e30.isNull() || e30.isBoolean() || e30.isString()) return true; + let m = e30.getValue(); + if (!Ja(m)) return true; + o.push(+m); + }), f) return f; + } else { + let t2 = e29.isArray() ? e29.getRowCount() : 1, n2 = e29.isArray() ? e29.getColumnCount() : 1; + for (let r2 = 0; r2 < t2; r2++) for (let t3 = 0; t3 < n2; t3++) { + let n3 = e29.isArray() ? e29.get(r2, t3) : e29; + if (n3.isError()) { + if (i) continue; + return n3; + } + if (!n3 || n3.isNull() || n3.isBoolean() || n3.isString()) continue; + let a2 = n3.getValue(); + Ja(a2) && o.push(+a2); + } + } + return o.length === 0 ? j3.create(D3.NUM) : o; + } + function el2(e29) { + let t = e29.length; + e29.sort((e30, t2) => e30 - t2); + let n; + if (t % 2 == 0) { + let r = t / 2; + n = (e29[r - 1] + e29[r]) / 2; + } else n = e29[Math.floor(t / 2)]; + return R4.create(n); + } + function tl2(e29, t) { + if (t < 1 || t > e29.length) return j3.create(D3.NUM); + e29.sort((e30, t2) => t2 - e30); + let n = Math.ceil(t); + return R4.create(e29[n - 1]); + } + function nl2(e29, t) { + if (t < 1 || t > e29.length) return j3.create(D3.NUM); + e29.sort((e30, t2) => e30 - t2); + let n = Math.floor(t); + return R4.create(e29[n - 1]); + } + function rl2(e29, t) { + let n = e29.length; + if (t < 0 || t > 1) return j3.create(D3.NUM); + e29.sort((e30, t2) => e30 - t2); + let r = t * (n - 1), i = Math.floor(r), a = r - i; + if (a === 0) return R4.create(e29[i]); + let o = e29[i] + a * (e29[i + 1] - e29[i]); + return R4.create(o); + } + function il2(e29, t) { + let n = e29.length; + if (t < 1 / (n + 1) || t > 1 - 1 / (n + 1)) return j3.create(D3.NUM); + e29.sort((e30, t2) => e30 - t2); + let r = t * (n + 1) - 1, i = Math.floor(r), a = r - i; + if (a === 0) return R4.create(e29[i]); + let o = e29[i] + a * (e29[i + 1] - e29[i]); + return R4.create(o); + } + function al(e29, t) { + let n = e29.length; + if (t < 0 || t > 4) return j3.create(D3.NUM); + e29.sort((e30, t2) => e30 - t2); + let r = t / 4 * (n - 1), i = Math.floor(r), a = r - i; + if (a === 0) return R4.create(e29[i]); + let o = e29[i] + a * (e29[i + 1] - e29[i]); + return R4.create(o); + } + function ol(e29, t) { + let n = e29.length; + if (t <= 0 || t >= 4) return j3.create(D3.NUM); + e29.sort((e30, t2) => e30 - t2); + let r = t / 4; + if (r < 1 / (n + 1) || r > 1 - 1 / (n + 1)) return j3.create(D3.NUM); + let i = r * (n + 1) - 1, a = Math.floor(i), o = i - a; + if (o === 0) return R4.create(e29[a]); + let s = e29[a] + o * (e29[a + 1] - e29[a]); + return R4.create(s); + } + var sl = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 5); + } + calculate(e29, t, n, r, i) { + let a = r == null ? R4.create(0) : r, o = i == null ? R4.create(1) : i; + a.isNull() && (a = R4.create(0)), o.isNull() && (o = R4.create(1)); + let s = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1, a.isArray() ? a.getRowCount() : 1, o.isArray() ? o.getRowCount() : 1), c = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1, a.isArray() ? a.getColumnCount() : 1, o.isArray() ? o.getColumnCount() : 1), l = V3(s, c, e29, j3.create(D3.NA)), u = V3(s, c, t, j3.create(D3.NA)), d = V3(s, c, n, j3.create(D3.NA)), f = V3(s, c, a, j3.create(D3.NA)), p = V3(s, c, o, j3.create(D3.NA)), m = l.mapValue((e30, t2, n2) => { + let r2 = u.get(t2, n2), i2 = d.get(t2, n2), a2 = f.get(t2, n2), o2 = p.get(t2, n2); + return this._handleSingleObject(e30, r2, i2, a2, o2); + }); + return s === 1 && c === 1 ? m.get(0, 0) : m; + } + _handleSingleObject(e29, t, n, r, i) { + if (e29.isError()) return e29; + if (t.isError()) return t; + if (n.isError()) return n; + if (r.isError()) return r; + if (i.isError()) return i; + let { isError: a, errorObject: o, variants: s } = X3(e29, t, n, r, i); + if (a) return o; + let [c, l, u, d, f] = s, p = +c.getValue(), m = +l.getValue(), h = +u.getValue(), g2 = +d.getValue(), _2 = +f.getValue(); + if (m <= 0 || h <= 0 || p <= 0 || p >= 1 || g2 >= _2) return j3.create(D3.NUM); + let v = nc2(p, m, h) * (_2 - g2) + g2; + return R4.create(v); + } + }; + var cl = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 4), E3(this, `maxParams`, 4); + } + calculate(e29, t, n, r) { + let i = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1), a = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1), o = V3(i, a, e29, j3.create(D3.NA)), s = V3(i, a, t, j3.create(D3.NA)), c = V3(i, a, n, j3.create(D3.NA)), l = V3(i, a, r, j3.create(D3.NA)), u = o.mapValue((e30, t2, n2) => { + let r2 = s.get(t2, n2), i2 = c.get(t2, n2), a2 = l.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : a2.isError() ? a2 : this._handleSingleObject(e30, r2, i2, a2); + }); + return i === 1 && a === 1 ? u.get(0, 0) : u; + } + _handleSingleObject(e29, t, n, r) { + let { isError: i, errorObject: a, variants: o } = X3(e29, t, n, r); + if (i) return a; + let [s, c, l, u] = o, d = Math.floor(+s.getValue()), f = Math.floor(+c.getValue()), p = +l.getValue(), m = +u.getValue(); + if (d < 0 || d > f || p < 0 || p > 1) return j3.create(D3.NUM); + let h; + return h = m ? sc2(d, f, p) : cc2(d, f, p), R4.create(h); + } + }; + var ll2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, j3.create(D3.NA)), o = V3(r, i, t, j3.create(D3.NA)), s = V3(r, i, n, j3.create(D3.NA)), c = a.mapValue((e30, t2, n2) => { + let r2 = o.get(t2, n2), i2 = s.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : this._handleSingleObject(e30, r2, i2); + }); + return r === 1 && i === 1 ? c.get(0, 0) : c; + } + _handleSingleObject(e29, t, n) { + let { isError: r, errorObject: i, variants: a } = X3(e29, t, n); + if (r) return i; + let [o, s, c] = a, l = Math.floor(+o.getValue()), u = +s.getValue(), d = +c.getValue(); + if (l < 0 || u <= 0 || u >= 1 || d <= 0 || d >= 1) return j3.create(D3.NUM); + let f = 0; + for (; f <= l && !(sc2(f, l, u) >= d); ) f++; + return R4.create(f); + } + }; + var ul2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1), r = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1), i = V3(n, r, e29, j3.create(D3.NA)), a = V3(n, r, t, j3.create(D3.NA)), o = i.mapValue((e30, t2, n2) => { + let r2 = a.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : this._handleSingleObject(e30, r2); + }); + return n === 1 && r === 1 ? o.get(0, 0) : o; + } + _handleSingleObject(e29, t) { + let { isError: n, errorObject: r, variants: i } = X3(e29, t); + if (n) return r; + let [a, o] = i, s = +a.getValue(), c = Math.floor(+o.getValue()); + if (s < 0 || c < 1 || c > 10 ** 10) return j3.create(D3.NUM); + let l = 1 - lc2(s, c); + return R4.create(l); + } + }; + var dl2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1), r = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1), i = V3(n, r, e29, j3.create(D3.NA)), a = V3(n, r, t, j3.create(D3.NA)), o = i.mapValue((e30, t2, n2) => { + let r2 = a.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : this._handleSingleObject(e30, r2); + }); + return n === 1 && r === 1 ? o.get(0, 0) : o; + } + _handleSingleObject(e29, t) { + let { isError: n, errorObject: r, variants: i } = X3(e29, t); + if (n) return r; + let [a, o] = i, s = +a.getValue(), c = Math.floor(+o.getValue()); + if (s < 0 || s > 1 || c < 1 || c > 10 ** 10) return j3.create(D3.NUM); + let l = dc2(1 - s, c); + return Number.isNaN(l) || !Number.isFinite(l) ? j3.create(D3.NUM) : R4.create(l); + } + }; + var fl2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = e29.isArray() ? e29.getRowCount() : 1, r = e29.isArray() ? e29.getColumnCount() : 1, i = t.isArray() ? t.getRowCount() : 1, a = t.isArray() ? t.getColumnCount() : 1, o = e29; + if (e29.isArray() && n === 1 && r === 1 && (o = e29.get(0, 0)), o.isError()) return o; + let s = t; + if (t.isArray() && i === 1 && a === 1 && (s = t.get(0, 0)), s.isError()) return s; + if (n * r === 1 || i * a === 1) return o.isNull() || s.isNull() ? j3.create(D3.VALUE) : j3.create(D3.NA); + if (n * r !== i * a) return j3.create(D3.NA); + let { isError: c, errorObject: l, array1Values: u, array2Values: d, noCalculate: f } = Bc2(e29, t, n * r, r, a); + return c ? l : f ? j3.create(D3.DIV_BY_ZERO) : this._getResult(u, d, n, r); + } + _getResult(e29, t, n, r) { + let i = 0; + for (let n2 = 0; n2 < e29.length; n2++) { + if (t[n2] === 0) return j3.create(D3.DIV_BY_ZERO); + i += (e29[n2] - t[n2]) ** 2 / t[n2]; + } + let a = (n - 1) * (r - 1); + n === 1 ? a = r - 1 : r === 1 && (a = n - 1); + let o = 1 - lc2(i, a); + return R4.create(o); + } + }; + var pl2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, j3.create(D3.NA)), o = V3(r, i, t, j3.create(D3.NA)), s = V3(r, i, n, j3.create(D3.NA)), c = a.mapValue((e30, t2, n2) => { + let r2 = o.get(t2, n2), i2 = s.get(t2, n2); + if (e30.isError()) return e30; + if (r2.isError()) return r2; + if (i2.isError()) return i2; + let { isError: a2, errorObject: c2, variants: l } = X3(e30, r2, i2); + if (a2) return c2; + let [u, d, f] = l, p = +u.getValue(), m = +d.getValue(), h = Math.floor(+f.getValue()); + if (p <= 0 || p >= 1 || m <= 0 || h < 1) return j3.create(D3.NUM); + let g2 = Math.abs(Pc2(p / 2, 0, 1) * m / Math.sqrt(h)); + return R4.create(g2); + }); + return r === 1 && i === 1 ? c.get(0, 0) : c; + } + }; + var ml2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = e29.isArray() ? e29.getRowCount() : 1, r = e29.isArray() ? e29.getColumnCount() : 1, i = t.isArray() ? t.getRowCount() : 1, a = t.isArray() ? t.getColumnCount() : 1, o = e29; + if (e29.isArray() && n === 1 && r === 1 && (o = e29.get(0, 0)), o.isError()) return o; + let s = t; + if (t.isArray() && i === 1 && a === 1 && (s = t.get(0, 0)), s.isError()) return s; + if ((n * r === 1 || i * a === 1) && (o.isNull() || s.isNull())) return j3.create(D3.VALUE); + if (n * r !== i * a) return j3.create(D3.NA); + let { isError: c, errorObject: l, array1Values: u, array2Values: d, noCalculate: f } = Bc2(e29, t, n * r, r, a); + return c ? l : f ? j3.create(D3.DIV_BY_ZERO) : this._getResult(u, d); + } + _getResult(e29, t) { + if (e29.length === 0) return j3.create(D3.DIV_BY_ZERO); + let n = e29.length, r = 0, i = 0; + for (let a2 = 0; a2 < n; a2++) r += e29[a2], i += t[a2]; + let a = r / n, o = i / n, s = 0; + for (let r2 = 0; r2 < n; r2++) { + let n2 = e29[r2] - a, i2 = t[r2] - o; + s += n2 * i2; + } + return R4.create(s / n); + } + }; + var hl2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, j3.create(D3.NA)), o = V3(r, i, t, j3.create(D3.NA)), s = V3(r, i, n, j3.create(D3.NA)), c = a.mapValue((e30, t2, n2) => { + let r2 = o.get(t2, n2), i2 = s.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : this._handleSingleObject(e30, r2, i2); + }); + return r === 1 && i === 1 ? c.get(0, 0) : c; + } + _handleSingleObject(e29, t, n) { + let { isError: r, errorObject: i, variants: a } = X3(e29, t, n); + if (r) return i; + let [o, s, c] = a, l = +o.getValue(), u = +s.getValue(), d = +c.getValue(); + if (l < 0 || u <= 0) return j3.create(D3.NUM); + let f; + return f = d ? hc2(l, u) : gc2(l, u), R4.create(f); + } + }; + var gl2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, j3.create(D3.NA)), o = V3(r, i, t, j3.create(D3.NA)), s = V3(r, i, n, j3.create(D3.NA)), c = a.mapValue((e30, t2, n2) => { + let r2 = o.get(t2, n2), i2 = s.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : this._handleSingleObject(e30, r2, i2); + }); + return r === 1 && i === 1 ? c.get(0, 0) : c; + } + _handleSingleObject(e29, t, n) { + let { isError: r, errorObject: i, variants: a } = X3(e29, t, n); + if (r) return i; + let [o, s, c] = a, l = +o.getValue(), u = Math.floor(+s.getValue()), d = Math.floor(+c.getValue()); + if (l < 0 || u < 1 || u > 10 ** 10 || d < 1 || d > 10 ** 10) return j3.create(D3.NUM); + let f = 1 - fc2(l, u, d); + return R4.create(f); + } + }; + var _l = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, j3.create(D3.NA)), o = V3(r, i, t, j3.create(D3.NA)), s = V3(r, i, n, j3.create(D3.NA)), c = a.mapValue((e30, t2, n2) => { + let r2 = o.get(t2, n2), i2 = s.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : this._handleSingleObject(e30, r2, i2); + }); + return r === 1 && i === 1 ? c.get(0, 0) : c; + } + _handleSingleObject(e29, t, n) { + let { isError: r, errorObject: i, variants: a } = X3(e29, t, n); + if (r) return i; + let [o, s, c] = a, l = +o.getValue(), u = Math.floor(+s.getValue()), d = Math.floor(+c.getValue()); + if (l < 0 || l > 1 || u < 1 || u > 10 ** 10 || d < 1 || d > 10 ** 10) return j3.create(D3.NUM); + let f = mc2(1 - l, u, d); + return Number.isNaN(f) || !Number.isFinite(f) ? j3.create(D3.NUM) : R4.create(f); + } + }; + var vl2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let { isError: n, errorObject: r, variance: i, ns1: a } = this._getValues(e29); + if (n) return r; + let { isError: o, errorObject: s, variance: c, ns1: l } = this._getValues(t); + if (o) return s; + let u = 2 * (1 - fc2(i / c, a, l)); + return u > 1 && (u = 2 - u), R4.create(u); + } + _getValues(e29) { + let t = 0, n = 0, r = e29.isArray() ? e29.getRowCount() : 1, i = e29.isArray() ? e29.getColumnCount() : 1; + if (r === 1 && i === 1) { + let r2 = e29.isArray() ? e29.get(0, 0) : e29; + return r2.isError() ? { isError: true, errorObject: r2, variance: t, ns1: n } : r2.isNull() ? { isError: true, errorObject: j3.create(D3.VALUE), variance: t, ns1: n } : { isError: true, errorObject: j3.create(D3.DIV_BY_ZERO), variance: t, ns1: n }; + } + let a = [], o = 0; + for (let s2 = 0; s2 < r; s2++) for (let r2 = 0; r2 < i; r2++) { + let i2 = e29.isArray() ? e29.get(s2, r2) : e29; + if (i2.isError()) return { isError: true, errorObject: i2, variance: t, ns1: n }; + if (i2.isNull() || i2.isBoolean()) continue; + let c2 = i2.getValue(); + Ja(c2) && (a.push(+c2), o += +c2); + } + if (a.length <= 1) return { isError: true, errorObject: j3.create(D3.DIV_BY_ZERO), variance: t, ns1: n }; + let s = o / a.length, c = 0; + for (let e30 = 0; e30 < a.length; e30++) c += (a[e30] - s) ** 2; + return n = a.length - 1, t = c / n, t === 0 ? { isError: true, errorObject: j3.create(D3.DIV_BY_ZERO), variance: t, ns1: n } : { isError: false, errorObject: null, variance: t, ns1: n }; + } + }; + var yl2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 4), E3(this, `maxParams`, 4); + } + calculate(e29, t, n, r) { + let i = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1), a = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1), o = V3(i, a, e29, j3.create(D3.NA)), s = V3(i, a, t, j3.create(D3.NA)), c = V3(i, a, n, j3.create(D3.NA)), l = V3(i, a, r, j3.create(D3.NA)), u = o.mapValue((e30, t2, n2) => { + let r2 = s.get(t2, n2), i2 = c.get(t2, n2), a2 = l.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : a2.isError() ? a2 : this._handleSingleObject(e30, r2, i2, a2); + }); + return i === 1 && a === 1 ? u.get(0, 0) : u; + } + _handleSingleObject(e29, t, n, r) { + let { isError: i, errorObject: a, variants: o } = X3(e29, t, n, r); + if (i) return a; + let [s, c, l, u] = o, d = +s.getValue(), f = +c.getValue(), p = +l.getValue(), m = +u.getValue(); + if (d < 0 || f <= 0 || p <= 0) return j3.create(D3.NUM); + let h; + return h = m ? yc2(d, f, p) : bc2(d, f, p), R4.create(h); + } + }; + var bl2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, j3.create(D3.NA)), o = V3(r, i, t, j3.create(D3.NA)), s = V3(r, i, n, j3.create(D3.NA)), c = a.mapValue((e30, t2, n2) => { + let r2 = o.get(t2, n2), i2 = s.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : this._handleSingleObject(e30, r2, i2); + }); + return r === 1 && i === 1 ? c.get(0, 0) : c; + } + _handleSingleObject(e29, t, n) { + let { isError: r, errorObject: i, variants: a } = X3(e29, t, n); + if (r) return i; + let [o, s, c] = a, l = +o.getValue(), u = +s.getValue(), d = +c.getValue(); + if (l < 0 || l > 1 || u <= 0 || d <= 0) return j3.create(D3.NUM); + let f = xc2(l, u, d); + return Number.isNaN(f) || !Number.isFinite(f) ? j3.create(D3.NUM) : R4.create(f); + } + }; + var xl2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, j3.create(D3.NA)), o = V3(r, i, t, j3.create(D3.NA)), s = V3(r, i, n, j3.create(D3.NA)), c = a.mapValue((e30, t2, n2) => { + let r2 = o.get(t2, n2), i2 = s.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : this._handleSingleObject(e30, r2, i2); + }); + return r === 1 && i === 1 ? c.get(0, 0) : c; + } + _handleSingleObject(e29, t, n) { + let { isError: r, errorObject: i, variants: a } = X3(e29, t, n); + if (r) return i; + let [o, s, c] = a, l = +o.getValue(), u = +s.getValue(), d = +c.getValue(); + if (l <= 0 || l >= 1 || d <= 0) return j3.create(D3.NUM); + let f = kc2(l, u, d); + return Number.isNaN(f) || !Number.isFinite(f) ? j3.create(D3.NUM) : R4.create(f); + } + }; + var Sl = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = {}, n = 0, r = 1; + for (let i = 0; i < e29.length; i++) { + let a = e29[i]; + if (a.isError()) return a; + if (a.isString()) { + let e30 = a.convertToNumberObjectValue(); + if (e30.isError()) return e30; + } + let o = a.isArray() ? a.getRowCount() : 1, s = a.isArray() ? a.getColumnCount() : 1; + for (let e30 = 0; e30 < o; e30++) for (let i2 = 0; i2 < s; i2++) { + let o2 = a.isArray() ? a.get(e30, i2) : a; + if (o2.isError()) return o2; + if (o2.isNull() || o2.isBoolean() || o2.isString()) continue; + let s2 = o2.getValue(); + Ja(s2) && (t[+s2] ? (t[+s2].count++, t[+s2].count > r && (r = t[+s2].count)) : t[+s2] = { count: 1, order: n++ }); + } + } + return n === 0 || r === 1 ? new j3(D3.NA) : Zc2(t, r); + } + }; + var Cl2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 4), E3(this, `maxParams`, 4); + } + calculate(e29, t, n, r) { + let i = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1), a = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1), o = V3(i, a, e29, j3.create(D3.NA)), s = V3(i, a, t, j3.create(D3.NA)), c = V3(i, a, n, j3.create(D3.NA)), l = V3(i, a, r, j3.create(D3.NA)), u = o.mapValue((e30, t2, n2) => { + let r2 = s.get(t2, n2), i2 = c.get(t2, n2), a2 = l.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : a2.isError() ? a2 : this._handleSingleObject(e30, r2, i2, a2); + }); + return i === 1 && a === 1 ? u.get(0, 0) : u; + } + _handleSingleObject(e29, t, n, r) { + let { isError: i, errorObject: a, variants: o } = X3(e29, t, n, r); + if (i) return a; + let [s, c, l, u] = o, d = +s.getValue(), f = +c.getValue(), p = +l.getValue(), m = +u.getValue(); + if (p <= 0) return j3.create(D3.NUM); + let h; + return h = m ? Mc2(d, f, p) : Nc2(d, f, p), R4.create(h); + } + }; + var wl = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, j3.create(D3.NA)), o = V3(r, i, t, j3.create(D3.NA)), s = V3(r, i, n, j3.create(D3.NA)), c = a.mapValue((e30, t2, n2) => { + let r2 = o.get(t2, n2), i2 = s.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : this._handleSingleObject(e30, r2, i2); + }); + return r === 1 && i === 1 ? c.get(0, 0) : c; + } + _handleSingleObject(e29, t, n) { + let { isError: r, errorObject: i, variants: a } = X3(e29, t, n); + if (r) return i; + let [o, s, c] = a, l = +o.getValue(), u = +s.getValue(), d = +c.getValue(); + if (l <= 0 || l >= 1 || d <= 0) return j3.create(D3.NUM); + let f = Pc2(l, u, d); + return R4.create(f); + } + }; + var Tl2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + if (e29.isArray()) { + let t = e29.mapValue((e30) => this._handleSingleObject(e30)); + return e29.getRowCount() === 1 && e29.getColumnCount() === 1 ? t.get(0, 0) : t; + } + return this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + let { isError: t, errorObject: n, variants: r } = X3(e29); + if (t) return n; + let [i] = r, a = +i.getValue(); + if (a <= 0 || a >= 1) return j3.create(D3.NUM); + let o = Pc2(a, 0, 1); + return R4.create(o); + } + }; + var El = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = $c2(e29); + if (t.isArray()) { + let e30 = t.mapValue((e31) => this._handleSingleObject(n, e31)); + return e30.getRowCount() === 1 && e30.getColumnCount() === 1 ? e30.get(0, 0) : e30; + } + return this._handleSingleObject(n, t); + } + _handleSingleObject(e29, t) { + if (!Array.isArray(e29)) return e29; + let { isError: n, errorObject: r, variants: i } = X3(t); + if (n) return r; + let [a] = i; + return rl2(e29, +a.getValue()); + } + }; + var Dl = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = this._getValues(e29), i = n == null ? R4.create(3) : n; + i.isNull() && (i = R4.create(3)); + let a = Math.max(t.isArray() ? t.getRowCount() : 1, i.isArray() ? i.getRowCount() : 1), o = Math.max(t.isArray() ? t.getColumnCount() : 1, i.isArray() ? i.getColumnCount() : 1), s = V3(a, o, t, j3.create(D3.NA)), c = V3(a, o, i, j3.create(D3.NA)), l = s.mapValue((e30, t2, n2) => { + let i2 = c.get(t2, n2); + return e30.isError() ? e30 : i2.isError() ? i2 : this._handleSingleObject(r, e30, i2); + }); + return a === 1 && o === 1 ? l.get(0, 0) : l; + } + _handleSingleObject(e29, t, n) { + if (e29 instanceof j3) return e29; + let { isError: r, errorObject: i, variants: a } = X3(t, n); + if (r) return i; + let [o, s] = a, c = +o.getValue(), l = Math.floor(+s.getValue()), u = e29.length; + if (u === 0 || c < e29[0] || c > e29[u - 1]) return j3.create(D3.NA); + if (u === 1) return c === e29[0] ? R4.create(1) : j3.create(D3.NA); + let d = 0, f = false, p = 0; + for (; !f && p < u; ) c === e29[p] ? (d = p / (u - 1), f = true) : c > e29[p] && p + 1 < u && c < e29[p + 1] && (d = (p + (c - e29[p]) / (e29[p + 1] - e29[p])) / (u - 1), f = true), p++; + return f ? l < 1 ? j3.create(D3.NUM) : (d = Ki2(d, l), R4.create(d)) : j3.create(D3.NA); + } + _getValues(e29) { + let t = e29.isArray() ? e29.getRowCount() : 1, n = e29.isArray() ? e29.getColumnCount() : 1, r = []; + for (let i = 0; i < t; i++) for (let t2 = 0; t2 < n; t2++) { + let n2 = e29.isArray() ? e29.get(i, t2) : e29; + if (n2.isError()) return n2; + if (n2.isNull() || n2.isBoolean()) continue; + let a = n2.getValue(); + Ja(a) && r.push(+a); + } + return r.sort((e30, t2) => e30 - t2); + } + }; + var Ol = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, j3.create(D3.NA)), o = V3(r, i, t, j3.create(D3.NA)), s = V3(r, i, n, j3.create(D3.NA)), c = a.mapValue((e30, t2, n2) => { + let r2 = o.get(t2, n2), i2 = s.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : this._handleSingleObject(e30, r2, i2); + }); + return r === 1 && i === 1 ? c.get(0, 0) : c; + } + _handleSingleObject(e29, t, n) { + let { isError: r, errorObject: i, variants: a } = X3(e29, t, n); + if (r) return i; + let [o, s, c] = a, l = Math.floor(+o.getValue()), u = +s.getValue(), d = +c.getValue(); + if (l < 0 || u < 0) return j3.create(D3.NUM); + let f; + return f = d ? Fc2(l, u) : Ic2(l, u), R4.create(f); + } + }; + var kl = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = $c2(e29); + if (t.isArray()) { + let e30 = t.mapValue((e31) => this._handleSingleObject(n, e31)); + return e30.getRowCount() === 1 && e30.getColumnCount() === 1 ? e30.get(0, 0) : e30; + } + return this._handleSingleObject(n, t); + } + _handleSingleObject(e29, t) { + if (!Array.isArray(e29)) return e29; + let { isError: n, errorObject: r, variants: i } = X3(t); + if (n) return r; + let [a] = i; + return al(e29, Math.floor(+a.getValue())); + } + }; + var Al = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = this.flattenArray(e29); + return t.isError() ? t : t.std(); + } + }; + var jl = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = this.flattenArray(e29); + return t.isError() ? t : t.std(1); + } + }; + var Ml = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1), r = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1), i = V3(n, r, e29, j3.create(D3.NA)), a = V3(n, r, t, j3.create(D3.NA)), o = i.mapValue((e30, t2, n2) => { + let r2 = a.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : this._handleSingleObject(e30, r2); + }); + return n === 1 && r === 1 ? o.get(0, 0) : o; + } + _handleSingleObject(e29, t) { + let { isError: n, errorObject: r, variants: i } = X3(e29, t); + if (n) return r; + let [a, o] = i, s = +a.getValue(), c = Math.floor(+o.getValue()); + if (s <= 0 || s > 1 || c < 1 || c > 10 ** 10) return j3.create(D3.NUM); + let l = Math.abs(zc2(s / 2, c)); + return Number.isNaN(l) || !Number.isFinite(l) ? j3.create(D3.NUM) : R4.create(l); + } + }; + var Nl = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 4), E3(this, `maxParams`, 4); + } + calculate(e29, t, n, r) { + let { isError: i, errorObject: a, array1Values: o, array2Values: s } = this._handleArray1AndArray2(e29, t), c = this._getArrayValues(e29), l = this._getArrayValues(t), u = Math.max(n.isArray() ? n.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1), d = Math.max(n.isArray() ? n.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1), f = V3(u, d, n, j3.create(D3.NA)), p = V3(u, d, r, j3.create(D3.NA)), m = f.mapValue((n2, r2, u2) => { + let d2 = p.get(r2, u2); + if (e29.isError()) return e29; + if (t.isError()) return t; + if (n2.isError()) return n2; + if (d2.isError()) return d2; + let { isError: f2, errorObject: m2, variants: h } = X3(n2, d2); + if (f2) return m2; + let [g2, _2] = h, v = Math.floor(+g2.getValue()), y = Math.floor(+_2.getValue()); + return ![1, 2].includes(v) || ![1, 2, 3].includes(y) ? j3.create(D3.NUM) : y === 1 && i ? a : y !== 1 && c instanceof j3 ? c : y !== 1 && l instanceof j3 ? l : this._handleSingleObject(y === 1 ? o : c, y === 1 ? s : l, v, y); + }); + return u === 1 && d === 1 ? m.get(0, 0) : m; + } + _handleSingleObject(e29, t, n, r) { + if (e29.length < 2 || t.length < 2) return j3.create(D3.DIV_BY_ZERO); + let { isError: i, errorObject: a, x: o, degFreedom: s } = this._getTDistParamByArrayValues(e29, t, r); + if (i) return a; + let c = Lc2(-o, s); + return n === 2 && (c *= 2), Number.isNaN(c) || !Number.isFinite(c) ? j3.create(D3.NUM) : R4.create(c); + } + _getArrayValues(e29) { + let t = e29.isArray() ? e29.getRowCount() : 1, n = e29.isArray() ? e29.getColumnCount() : 1, r = []; + for (let i = 0; i < t; i++) for (let a = 0; a < n; a++) { + let o = e29.isArray() ? e29.get(i, a) : e29; + if (o.isError()) return o; + if (o.isNull()) { + if (t * n === 1) return j3.create(D3.VALUE); + continue; + } + o.isBoolean() || o.isString() || r.push(+o.getValue()); + } + return r; + } + _handleArray1AndArray2(e29, t) { + let n = e29.isArray() ? e29.getRowCount() : 1, r = e29.isArray() ? e29.getColumnCount() : 1, i = t.isArray() ? t.getRowCount() : 1, a = t.isArray() ? t.getColumnCount() : 1, o = e29; + if (e29.isArray() && n === 1 && r === 1 && (o = e29.get(0, 0)), o.isError()) return { isError: true, errorObject: o, array1Values: [], array2Values: [] }; + let s = t; + if (t.isArray() && i === 1 && a === 1 && (s = t.get(0, 0)), s.isError()) return { isError: true, errorObject: s, array1Values: [], array2Values: [] }; + if ((n * r === 1 || i * a === 1) && (o.isNull() || s.isNull())) return { isError: true, errorObject: j3.create(D3.VALUE), array1Values: [], array2Values: [] }; + if (n * r !== i * a) return { isError: true, errorObject: j3.create(D3.NA), array1Values: [], array2Values: [] }; + let { isError: c, errorObject: l, array1Values: u, array2Values: d, noCalculate: f } = Bc2(e29, t, n * r, r, a); + return c ? { isError: true, errorObject: l, array1Values: [], array2Values: [] } : f || u.length < 2 ? { isError: true, errorObject: j3.create(D3.DIV_BY_ZERO), array1Values: [], array2Values: [] } : { isError: false, errorObject: null, array1Values: u, array2Values: d }; + } + _getTDistParamByArrayValues(e29, t, n) { + return n === 1 ? this._getTDistParamByType1(e29, t) : n === 2 ? this._getTDistParamByType2(e29, t) : this._getTDistParamByType3(e29, t); + } + _getTDistParamByType1(e29, t) { + let n = e29.length, r = 0, i = 0, a = 0; + for (let o2 = 0; o2 < n; o2++) r += e29[o2], i += t[o2], a += (e29[o2] - t[o2]) ** 2; + let o = r - i, s = n * a - o ** 2, c = n - 1; + return s === 0 ? { isError: true, errorObject: j3.create(D3.DIV_BY_ZERO), x: 0, degFreedom: c } : { isError: false, errorObject: null, x: Math.abs(o) * Math.sqrt(c / s), degFreedom: c }; + } + _getTDistParamByType2(e29, t) { + let n = e29.length, r = t.length, i = 0, a = 0; + for (let t2 = 0; t2 < n; t2++) i += e29[t2], a += e29[t2] ** 2; + let o = 0, s = 0; + for (let e30 = 0; e30 < r; e30++) o += t[e30], s += t[e30] ** 2; + let c = a - i ** 2 / n, l = s - o ** 2 / r, u = Math.sqrt(c + l); + if (u === 0) return { isError: true, errorObject: j3.create(D3.DIV_BY_ZERO), x: 0, degFreedom: 0 }; + let d = n - 1 + r - 1, f = Math.sqrt(n * r * d / (n + r)); + return { isError: false, errorObject: null, x: Math.abs(i / n - o / r) / u * f, degFreedom: d }; + } + _getTDistParamByType3(e29, t) { + let n = e29.length, r = t.length, i = 0, a = 0; + for (let t2 = 0; t2 < n; t2++) i += e29[t2], a += e29[t2] ** 2; + let o = 0, s = 0; + for (let e30 = 0; e30 < r; e30++) o += t[e30], s += t[e30] ** 2; + let c = (a - i ** 2 / n) / (n * (n - 1)), l = (s - o ** 2 / r) / (r * (r - 1)); + if (c + l === 0) return { isError: true, errorObject: j3.create(D3.DIV_BY_ZERO), x: 0, degFreedom: 0 }; + let u = c / (c + l); + return { isError: false, errorObject: null, x: Math.abs(i / n - o / r) / Math.sqrt(c + l), degFreedom: 1 / (u ** 2 / (n - 1) + (1 - u) ** 2 / (r - 1)) }; + } + }; + var Pl2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = this.flattenArray(e29); + return t.isError() ? t : t.var(); + } + }; + var Fl2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = this.flattenArray(e29); + return t.isError() ? t : t.var(1); + } + }; + var Il2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 4), E3(this, `maxParams`, 4); + } + calculate(e29, t, n, r) { + let i = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1), a = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1), o = V3(i, a, e29, j3.create(D3.NA)), s = V3(i, a, t, j3.create(D3.NA)), c = V3(i, a, n, j3.create(D3.NA)), l = V3(i, a, r, j3.create(D3.NA)), u = o.mapValue((e30, t2, n2) => { + let r2 = s.get(t2, n2), i2 = c.get(t2, n2), a2 = l.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : a2.isError() ? a2 : this._handleSingleObject(e30, r2, i2, a2); + }); + return i === 1 && a === 1 ? u.get(0, 0) : u; + } + _handleSingleObject(e29, t, n, r) { + let { isError: i, errorObject: a, variants: o } = X3(e29, t, n, r); + if (i) return a; + let [s, c, l, u] = o, d = +s.getValue(), f = +c.getValue(), p = +l.getValue(), m = +u.getValue(); + if (d < 0 || f <= 0 || p <= 0) return j3.create(D3.NUM); + let h = Math.exp(-((d / p) ** f)), g2; + return g2 = m ? 1 - h : f / p ** f * d ** (f - 1) * h, Number.isNaN(g2) || !Number.isFinite(g2) ? j3.create(D3.NUM) : R4.create(g2); + } + }; + var Ll2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = this._getArrayValues(e29), i = Math.max(t.isArray() ? t.getRowCount() : 1, n != null && n.isArray() ? n.getRowCount() : 1), a = Math.max(t.isArray() ? t.getColumnCount() : 1, n != null && n.isArray() ? n.getColumnCount() : 1), o = V3(i, a, t, j3.create(D3.NA)), s = n ? V3(i, a, n, j3.create(D3.NA)) : void 0, c = o.mapValue((e30, t2, i2) => { + if (r instanceof j3) return r; + if (e30.isError()) return e30; + let a2 = n ? s.get(t2, i2) : void 0; + return a2 != null && a2.isError() ? a2 : r.length === 0 ? j3.create(D3.NA) : r.length === 1 ? j3.create(D3.DIV_BY_ZERO) : this._handleSingleObject(r, e30, a2); + }); + return i === 1 && a === 1 ? c.get(0, 0) : c; + } + _handleSingleObject(e29, t, n) { + let { isError: r, errorObject: i, variants: a } = X3(t); + if (r) return i; + let [o] = a, s = +o.getValue(), c = e29.length, l = 0, u = 0; + for (let t2 = 0; t2 < c; t2++) l += e29[t2], u += e29[t2] ** 2; + let d = 0; + if (n !== void 0) { + let { isError: e30, errorObject: t2, variants: r2 } = X3(n); + if (e30) return t2; + let [i2] = r2; + d = +i2.getValue(); + } else { + let e30 = l / c; + d = Math.sqrt((u - 2 * e30 * l + c * e30 ** 2) / (c - 1)); + } + if (d <= 0) return j3.create(D3.NUM); + let f = 1 - Mc2((l / c - s) / (d / Math.sqrt(c)), 0, 1); + return Number.isNaN(f) || !Number.isFinite(f) ? j3.create(D3.NUM) : R4.create(f); + } + _getArrayValues(e29) { + let t = [], n = e29.isArray() ? e29.getRowCount() : 1, r = e29.isArray() ? e29.getColumnCount() : 1; + for (let i = 0; i < n; i++) for (let n2 = 0; n2 < r; n2++) { + let r2 = e29.isArray() ? e29.get(i, n2) : e29; + if (r2.isError()) return r2; + if (r2.isNull() || r2.isBoolean() || r2.isString()) continue; + let a = r2.getValue(); + Ja(a) && t.push(+a); + } + return t; + } + }; + var Rl2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 5); + } + calculate(e29, t, n, r, i) { + let a = r == null ? R4.create(0) : r, o = i == null ? R4.create(1) : i; + a.isNull() && (a = R4.create(0)), o.isNull() && (o = R4.create(1)); + let s = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1, a.isArray() ? a.getRowCount() : 1, o.isArray() ? o.getRowCount() : 1), c = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1, a.isArray() ? a.getColumnCount() : 1, o.isArray() ? o.getColumnCount() : 1), l = V3(s, c, e29, j3.create(D3.NA)), u = V3(s, c, t, j3.create(D3.NA)), d = V3(s, c, n, j3.create(D3.NA)), f = V3(s, c, a, j3.create(D3.NA)), p = V3(s, c, o, j3.create(D3.NA)), m = l.mapValue((e30, t2, n2) => { + let r2 = u.get(t2, n2), i2 = d.get(t2, n2), a2 = f.get(t2, n2), o2 = p.get(t2, n2); + return this._handleSingleObject(e30, r2, i2, a2, o2); + }); + return s === 1 && c === 1 ? m.get(0, 0) : m; + } + _handleSingleObject(e29, t, n, r, i) { + if (e29.isError()) return e29; + if (t.isError()) return t; + if (n.isError()) return n; + if (r.isError()) return r; + if (i.isError()) return i; + let { isError: a, errorObject: o, variants: s } = X3(e29, t, n, r, i); + if (a) return o; + let [c, l, u, d, f] = s, p = +c.getValue(), m = +l.getValue(), h = +u.getValue(), g2 = +d.getValue(), _2 = +f.getValue(); + if (m <= 0 || h <= 0 || p < g2 || p > _2 || g2 === _2) return j3.create(D3.NUM); + let v = ec2((p - g2) / (_2 - g2), m, h); + return R4.create(v); + } + }; + var zl2 = (function(e29) { + return e29.BETADIST = `BETADIST`, e29.BETAINV = `BETAINV`, e29.BINOMDIST = `BINOMDIST`, e29.CHIDIST = `CHIDIST`, e29.CHIINV = `CHIINV`, e29.CHITEST = `CHITEST`, e29.CONFIDENCE = `CONFIDENCE`, e29.COVAR = `COVAR`, e29.CRITBINOM = `CRITBINOM`, e29.EXPONDIST = `EXPONDIST`, e29.FDIST = `FDIST`, e29.FINV = `FINV`, e29.FTEST = `FTEST`, e29.GAMMADIST = `GAMMADIST`, e29.GAMMAINV = `GAMMAINV`, e29.HYPGEOMDIST = `HYPGEOMDIST`, e29.LOGINV = `LOGINV`, e29.LOGNORMDIST = `LOGNORMDIST`, e29.MODE = `MODE`, e29.NEGBINOMDIST = `NEGBINOMDIST`, e29.NORMDIST = `NORMDIST`, e29.NORMINV = `NORMINV`, e29.NORMSDIST = `NORMSDIST`, e29.NORMSINV = `NORMSINV`, e29.PERCENTILE = `PERCENTILE`, e29.PERCENTRANK = `PERCENTRANK`, e29.POISSON = `POISSON`, e29.QUARTILE = `QUARTILE`, e29.RANK = `RANK`, e29.STDEV = `STDEV`, e29.STDEVP = `STDEVP`, e29.TDIST = `TDIST`, e29.TINV = `TINV`, e29.TTEST = `TTEST`, e29.VAR = `VAR`, e29.VARP = `VARP`, e29.WEIBULL = `WEIBULL`, e29.ZTEST = `ZTEST`, e29; + })({}); + var Bl2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 4), E3(this, `maxParams`, 4); + } + calculate(e29, t, n, r) { + let i = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1), a = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1), o = V3(i, a, e29, j3.create(D3.NA)), s = V3(i, a, t, j3.create(D3.NA)), c = V3(i, a, n, j3.create(D3.NA)), l = V3(i, a, r, j3.create(D3.NA)), u = o.mapValue((e30, t2, n2) => { + let r2 = s.get(t2, n2), i2 = c.get(t2, n2), a2 = l.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : a2.isError() ? a2 : this._handleSingleObject(e30, r2, i2, a2); + }); + return i === 1 && a === 1 ? u.get(0, 0) : u; + } + _handleSingleObject(e29, t, n, r) { + let { isError: i, errorObject: a, variants: o } = X3(e29, t, n, r); + if (i) return a; + let [s, c, l, u] = o, d = Math.floor(+s.getValue()), f = Math.floor(+c.getValue()), p = Math.floor(+l.getValue()), m = Math.floor(+u.getValue()); + if (d < 0 || d > f || d > p || d < f - m + p || f <= 0 || f > m || p <= 0 || p > m || m <= 0) return j3.create(D3.NUM); + let h = Ec2(d, f, p, m); + return Number.isNaN(h) && (h = 0), R4.create(h); + } + }; + var Vl2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, j3.create(D3.NA)), o = V3(r, i, t, j3.create(D3.NA)), s = V3(r, i, n, j3.create(D3.NA)), c = a.mapValue((e30, t2, n2) => { + let r2 = o.get(t2, n2), i2 = s.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : this._handleSingleObject(e30, r2, i2); + }); + return r === 1 && i === 1 ? c.get(0, 0) : c; + } + _handleSingleObject(e29, t, n) { + let { isError: r, errorObject: i, variants: a } = X3(e29, t, n); + if (r) return i; + let [o, s, c] = a, l = +o.getValue(), u = +s.getValue(), d = +c.getValue(); + if (l <= 0 || d <= 0) return j3.create(D3.NUM); + let f = Dc2(l, u, d); + return R4.create(f); + } + }; + var Hl2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, j3.create(D3.NA)), o = V3(r, i, t, j3.create(D3.NA)), s = V3(r, i, n, j3.create(D3.NA)), c = a.mapValue((e30, t2, n2) => { + let r2 = o.get(t2, n2), i2 = s.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : this._handleSingleObject(e30, r2, i2); + }); + return r === 1 && i === 1 ? c.get(0, 0) : c; + } + _handleSingleObject(e29, t, n) { + let { isError: r, errorObject: i, variants: a } = X3(e29, t, n); + if (r) return i; + let [o, s, c] = a, l = Math.floor(+o.getValue()), u = Math.floor(+s.getValue()), d = +c.getValue(); + if (l < 0 || u < 1 || d <= 0 || d >= 1) return j3.create(D3.NUM); + let f = jc2(l, u, d); + return R4.create(f); + } + }; + var Ul = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + if (e29.isArray()) { + let t = e29.mapValue((e30) => this._handleSingleObject(e30)); + return e29.getRowCount() === 1 && e29.getColumnCount() === 1 ? t.get(0, 0) : t; + } + return this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + let { isError: t, errorObject: n, variants: r } = X3(e29); + if (t) return n; + let [i] = r, a = Mc2(+i.getValue(), 0, 1); + return R4.create(a); + } + }; + var Wl = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 3), E3(this, `needsReferenceObject`, true); + } + calculate(e29, t, n) { + let r = e29; + r.isReferenceObject() && (r = r.toArrayValueObject()); + let { refHasError: i, refErrorObject: a, refNumbers: o } = this._checkRefReferenceObject(t), s = n == null ? R4.create(0) : n; + s.isReferenceObject() && (s = s.toArrayValueObject()); + let c = Math.max(r.isArray() ? r.getRowCount() : 1, s.isArray() ? s.getRowCount() : 1), l = Math.max(r.isArray() ? r.getColumnCount() : 1, s.isArray() ? s.getColumnCount() : 1), u = V3(c, l, r, j3.create(D3.NA)), d = V3(c, l, s, j3.create(D3.NA)), f = u.map((t2, n2, r2) => { + let s2 = d.get(n2, r2); + if (!e29.isReferenceObject() && e29.isNull()) return j3.create(D3.NA); + if (i) return a; + if (s2.isError()) return s2; + let c2 = +t2.getValue(), l2 = +s2.getValue(); + if (Number.isNaN(c2) || Number.isNaN(l2)) return j3.create(D3.VALUE); + let u2 = o.sort((e30, t3) => l2 ? e30 - t3 : t3 - e30).indexOf(c2); + return u2 === -1 ? j3.create(D3.NA) : R4.create(u2 + 1); + }); + return c === 1 && l === 1 ? f.get(0, 0) : f; + } + _checkRefReferenceObject(e29) { + let t = false, n = j3.create(D3.NA), r = []; + return e29.isReferenceObject() ? (e29.toArrayValueObject().iterator((e30) => { + let i = e30; + if (i.isError()) return t = true, n = i, false; + if (i.isNull() || i.isBoolean()) return true; + let a = +i.getValue(); + if (Number.isNaN(a)) return true; + r.push(a); + }), { refHasError: t, refErrorObject: n, refNumbers: r }) : { refHasError: true, refErrorObject: n, refNumbers: r }; + } + }; + var Gl2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, j3.create(D3.NA)), o = V3(r, i, t, j3.create(D3.NA)), s = V3(r, i, n, j3.create(D3.NA)), c = a.mapValue((e30, t2, n2) => { + let r2 = o.get(t2, n2), i2 = s.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : this._handleSingleObject(e30, r2, i2); + }); + return r === 1 && i === 1 ? c.get(0, 0) : c; + } + _handleSingleObject(e29, t, n) { + let { isError: r, errorObject: i, variants: a } = X3(e29, t, n); + if (r) return i; + let [o, s, c] = a, l = +o.getValue(), u = Math.floor(+s.getValue()), d = Math.floor(+c.getValue()); + if (l < 0 || u < 1 || u > 10 ** 10 || d < 1 || d > 2) return j3.create(D3.NUM); + let f = Lc2(-l, u); + return d === 2 && (f *= 2), Number.isNaN(f) || !Number.isFinite(f) ? j3.create(D3.NUM) : R4.create(f); + } + }; + var Kl2 = [[Rl2, zl2.BETADIST], [sl, zl2.BETAINV], [cl, zl2.BINOMDIST], [ul2, zl2.CHIDIST], [dl2, zl2.CHIINV], [fl2, zl2.CHITEST], [pl2, zl2.CONFIDENCE], [ml2, zl2.COVAR], [ll2, zl2.CRITBINOM], [hl2, zl2.EXPONDIST], [gl2, zl2.FDIST], [_l, zl2.FINV], [vl2, zl2.FTEST], [yl2, zl2.GAMMADIST], [bl2, zl2.GAMMAINV], [Bl2, zl2.HYPGEOMDIST], [Vl2, zl2.LOGNORMDIST], [xl2, zl2.LOGINV], [Sl, zl2.MODE], [Hl2, zl2.NEGBINOMDIST], [Cl2, zl2.NORMDIST], [wl, zl2.NORMINV], [Ul, zl2.NORMSDIST], [Tl2, zl2.NORMSINV], [El, zl2.PERCENTILE], [Dl, zl2.PERCENTRANK], [Ol, zl2.POISSON], [kl, zl2.QUARTILE], [Wl, zl2.RANK], [jl, zl2.STDEV], [Al, zl2.STDEVP], [Gl2, zl2.TDIST], [Ml, zl2.TINV], [Nl, zl2.TTEST], [Fl2, zl2.VAR], [Pl2, zl2.VARP], [Il2, zl2.WEIBULL], [Ll2, zl2.ZTEST]]; + var ql2 = []; + var Jl2 = (function(e29) { + return e29.CUBEKPIMEMBER = `CUBEKPIMEMBER`, e29.CUBEMEMBER = `CUBEMEMBER`, e29.CUBEMEMBERPROPERTY = `CUBEMEMBERPROPERTY`, e29.CUBERANKEDMEMBER = `CUBERANKEDMEMBER`, e29.CUBESET = `CUBESET`, e29.CUBESETCOUNT = `CUBESETCOUNT`, e29.CUBEVALUE = `CUBEVALUE`, e29; + })({}); + var Yl2 = class extends Z3 { + isCustom() { + return true; + } + }; + var Xl2 = class extends Yl2 { + isAsync() { + return true; + } + }; + function Zl2(e29) { + let t = []; + if (e29.isError()) return { isError: true, errorObject: e29, databaseValues: t }; + let n = e29.isArray() ? e29.getRowCount() : 1, r = e29.isArray() ? e29.getColumnCount() : 1; + if (n < 2) return { isError: true, errorObject: j3.create(D3.VALUE), databaseValues: t }; + for (let i = 0; i < n; i++) { + let n2 = []; + for (let t2 = 0; t2 < r; t2++) { + let r2 = e29.get(i, t2); + if (r2.isNull()) { + n2.push(null); + continue; + } + let a = `${r2.getValue()}`; + if (r2.isBoolean() && (a = a.toLocaleUpperCase()), r2.isNumber() || Ja(a)) { + n2.push(+a); + continue; + } + n2.push(a); + } + t.push(n2); + } + return { isError: false, errorObject: null, databaseValues: t }; + } + function Ql(e29, t) { + let n = -1; + if (e29.isError()) return { isError: true, errorObject: e29, fieldIndex: n }; + let r = e29.isArray() ? e29.getRowCount() : 1, i = e29.isArray() ? e29.getColumnCount() : 1; + if (r > 1 || i > 1) return { isError: true, errorObject: j3.create(D3.VALUE), fieldIndex: n }; + let a = e29.isArray() ? e29.get(0, 0) : e29, o = `${a.getValue()}`; + if (a.isNull() ? o = 0 : a.isBoolean() ? o = a.getValue() ? 1 : 0 : (a.isNumber() || Ja(o)) && (o = Math.floor(+o)), typeof o == `number`) { + if (o < 1 || o > t[0].length) return { isError: true, errorObject: j3.create(D3.VALUE), fieldIndex: n }; + n = o - 1; + } else if (n = t[0].findIndex((e30) => e30 === null ? false : `${e30}`.toLocaleLowerCase() === o.toLocaleLowerCase()), n === -1) return { isError: true, errorObject: j3.create(D3.VALUE), fieldIndex: n }; + return { isError: false, errorObject: null, fieldIndex: n }; + } + function $l2(e29) { + let t = []; + if (e29.isError()) return { isError: true, errorObject: e29, criteriaValues: t }; + let n = e29.isArray() ? e29.getRowCount() : 1, r = e29.isArray() ? e29.getColumnCount() : 1; + if (n < 2) return { isError: true, errorObject: j3.create(D3.VALUE), criteriaValues: t }; + for (let i = 0; i < n; i++) { + let n2 = []; + for (let t2 = 0; t2 < r; t2++) { + let r2 = e29.get(i, t2); + if (r2.isNull()) { + n2.push(null); + continue; + } + let a = `${r2.getValue()}`; + if (r2.isBoolean()) { + n2.push(r2.getValue() ? 1 : 0); + continue; + } + if (r2.isNumber() || Ja(a)) { + n2.push(+a); + continue; + } + n2.push(a); + } + t.push(n2); + } + return { isError: false, errorObject: null, criteriaValues: t }; + } + function eu2(e29, t, n) { + let r = e29.length, i = e29[0].length, a = {}, o = false; + for (let s = 1; s < r; s++) { + let r2 = true; + for (let o2 = 0; o2 < i; o2++) { + let i2 = e29[s][o2]; + if (i2 === null) continue; + let c = a[o2]; + if (c === void 0) { + let n2 = e29[0][o2]; + c = t[0].findIndex((e30) => e30 === null || n2 === null ? false : `${e30}`.toLocaleLowerCase() === `${n2}`.toLocaleLowerCase()), a[o2] = c; + } + if (c === -1 && (typeof i2 == `string` || i2 === 0)) { + r2 = false; + break; + } else if (c > -1) { + let e30 = t[n][c]; + if (e30 === null) { + r2 = false; + break; + } + let [a2, o3] = Da2(`${i2}`); + if (!ga2.create(`${e30}`).compare(o3, a2).getValue()) { + r2 = false; + break; + } + } + } + if (r2) { + o = true; + break; + } + } + return o; + } + var tu2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let { isError: r, errorObject: i, databaseValues: a } = Zl2(e29); + if (r) return i; + let { isError: o, errorObject: s, fieldIndex: c } = Ql(t, a); + if (o) return s; + let { isError: l, errorObject: u, criteriaValues: d } = $l2(n); + if (l) return u; + let f = 0, p = 0; + for (let e30 = 1; e30 < a.length; e30++) { + let t2 = a[e30][c]; + typeof t2 == `number` && eu2(d, a, e30) && (f += t2, p++); + } + return p === 0 ? j3.create(D3.DIV_BY_ZERO) : R4.create(f / p); + } + }; + var nu2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let { isError: r, errorObject: i, databaseValues: a } = Zl2(e29); + if (r) return i; + let { isError: o, errorObject: s, fieldIndex: c } = Ql(t, a); + if (o) return s; + let { isError: l, errorObject: u, criteriaValues: d } = $l2(n); + if (l) return u; + let f = 0; + for (let e30 = 1; e30 < a.length; e30++) typeof a[e30][c] == `number` && eu2(d, a, e30) && f++; + return R4.create(f); + } + }; + var ru = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let { isError: r, errorObject: i, databaseValues: a } = Zl2(e29); + if (r) return i; + let { isError: o, errorObject: s, fieldIndex: c } = Ql(t, a); + if (o) return s; + let { isError: l, errorObject: u, criteriaValues: d } = $l2(n); + if (l) return u; + let f = 0; + for (let e30 = 1; e30 < a.length; e30++) a[e30][c] != null && eu2(d, a, e30) && f++; + return R4.create(f); + } + }; + var iu2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let { isError: r, errorObject: i, databaseValues: a } = Zl2(e29); + if (r) return i; + let { isError: o, errorObject: s, fieldIndex: c } = Ql(t, a); + if (o) return s; + let { isError: l, errorObject: u, criteriaValues: d } = $l2(n); + if (l) return u; + let f = 0, p = 0; + for (let e30 = 1; e30 < a.length; e30++) a[e30][c] != null && eu2(d, a, e30) && (f++, p = e30); + return f === 0 ? j3.create(D3.VALUE) : f > 1 ? j3.create(D3.NUM) : e29.get(p, c); + } + }; + var au2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let { isError: r, errorObject: i, databaseValues: a } = Zl2(e29); + if (r) return i; + let { isError: o, errorObject: s, fieldIndex: c } = Ql(t, a); + if (o) return s; + let { isError: l, errorObject: u, criteriaValues: d } = $l2(n); + if (l) return u; + let f = -1 / 0, p = 0; + for (let e30 = 1; e30 < a.length; e30++) { + let t2 = a[e30][c]; + typeof t2 == `number` && eu2(d, a, e30) && (f = Math.max(f, t2), p++); + } + return p === 0 ? R4.create(0) : R4.create(f); + } + }; + var ou2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let { isError: r, errorObject: i, databaseValues: a } = Zl2(e29); + if (r) return i; + let { isError: o, errorObject: s, fieldIndex: c } = Ql(t, a); + if (o) return s; + let { isError: l, errorObject: u, criteriaValues: d } = $l2(n); + if (l) return u; + let f = 1 / 0, p = 0; + for (let e30 = 1; e30 < a.length; e30++) { + let t2 = a[e30][c]; + typeof t2 == `number` && eu2(d, a, e30) && (f = Math.min(f, t2), p++); + } + return p === 0 ? R4.create(0) : R4.create(f); + } + }; + var su2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let { isError: r, errorObject: i, databaseValues: a } = Zl2(e29); + if (r) return i; + let { isError: o, errorObject: s, fieldIndex: c } = Ql(t, a); + if (o) return s; + let { isError: l, errorObject: u, criteriaValues: d } = $l2(n); + if (l) return u; + let f = 1, p = 0; + for (let e30 = 1; e30 < a.length; e30++) { + let t2 = a[e30][c]; + typeof t2 == `number` && eu2(d, a, e30) && (f *= t2, p++); + } + return p === 0 ? R4.create(0) : R4.create(f); + } + }; + var cu2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let { isError: r, errorObject: i, databaseValues: a } = Zl2(e29); + if (r) return i; + let { isError: o, errorObject: s, fieldIndex: c } = Ql(t, a); + if (o) return s; + let { isError: l, errorObject: u, criteriaValues: d } = $l2(n); + if (l) return u; + let f = [], p = 0, m = 0; + for (let e30 = 1; e30 < a.length; e30++) { + let t2 = a[e30][c]; + typeof t2 == `number` && eu2(d, a, e30) && (f.push(t2), p += t2, m++); + } + if (m <= 1) return j3.create(D3.DIV_BY_ZERO); + let h = p / m, g2 = 0; + for (let e30 = 0; e30 < m; e30++) g2 += (f[e30] - h) ** 2; + let _2 = Math.sqrt(g2 / (m - 1)); + return R4.create(_2); + } + }; + var lu2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let { isError: r, errorObject: i, databaseValues: a } = Zl2(e29); + if (r) return i; + let { isError: o, errorObject: s, fieldIndex: c } = Ql(t, a); + if (o) return s; + let { isError: l, errorObject: u, criteriaValues: d } = $l2(n); + if (l) return u; + let f = [], p = 0, m = 0; + for (let e30 = 1; e30 < a.length; e30++) { + let t2 = a[e30][c]; + typeof t2 == `number` && eu2(d, a, e30) && (f.push(t2), p += t2, m++); + } + if (m === 0) return j3.create(D3.DIV_BY_ZERO); + let h = p / m, g2 = 0; + for (let e30 = 0; e30 < m; e30++) g2 += (f[e30] - h) ** 2; + let _2 = Math.sqrt(g2 / m); + return R4.create(_2); + } + }; + var uu = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let { isError: r, errorObject: i, databaseValues: a } = Zl2(e29); + if (r) return i; + let { isError: o, errorObject: s, fieldIndex: c } = Ql(t, a); + if (o) return s; + let { isError: l, errorObject: u, criteriaValues: d } = $l2(n); + if (l) return u; + let f = 0; + for (let e30 = 1; e30 < a.length; e30++) { + let t2 = a[e30][c]; + typeof t2 == `number` && eu2(d, a, e30) && (f += t2); + } + return R4.create(f); + } + }; + var du2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let { isError: r, errorObject: i, databaseValues: a } = Zl2(e29); + if (r) return i; + let { isError: o, errorObject: s, fieldIndex: c } = Ql(t, a); + if (o) return s; + let { isError: l, errorObject: u, criteriaValues: d } = $l2(n); + if (l) return u; + let f = [], p = 0, m = 0; + for (let e30 = 1; e30 < a.length; e30++) { + let t2 = a[e30][c]; + typeof t2 == `number` && eu2(d, a, e30) && (f.push(t2), p += t2, m++); + } + if (m <= 1) return j3.create(D3.DIV_BY_ZERO); + let h = p / m, g2 = 0; + for (let e30 = 0; e30 < m; e30++) g2 += (f[e30] - h) ** 2; + let _2 = g2 / (m - 1); + return R4.create(_2); + } + }; + var fu = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let { isError: r, errorObject: i, databaseValues: a } = Zl2(e29); + if (r) return i; + let { isError: o, errorObject: s, fieldIndex: c } = Ql(t, a); + if (o) return s; + let { isError: l, errorObject: u, criteriaValues: d } = $l2(n); + if (l) return u; + let f = [], p = 0, m = 0; + for (let e30 = 1; e30 < a.length; e30++) { + let t2 = a[e30][c]; + typeof t2 == `number` && eu2(d, a, e30) && (f.push(t2), p += t2, m++); + } + if (m === 0) return j3.create(D3.DIV_BY_ZERO); + let h = p / m, g2 = 0; + for (let e30 = 0; e30 < m; e30++) g2 += (f[e30] - h) ** 2; + let _2 = g2 / m; + return R4.create(_2); + } + }; + var pu = (function(e29) { + return e29.DAVERAGE = `DAVERAGE`, e29.DCOUNT = `DCOUNT`, e29.DCOUNTA = `DCOUNTA`, e29.DGET = `DGET`, e29.DMAX = `DMAX`, e29.DMIN = `DMIN`, e29.DPRODUCT = `DPRODUCT`, e29.DSTDEV = `DSTDEV`, e29.DSTDEVP = `DSTDEVP`, e29.DSUM = `DSUM`, e29.DVAR = `DVAR`, e29.DVARP = `DVARP`, e29; + })({}); + var mu = [[tu2, pu.DAVERAGE], [nu2, pu.DCOUNT], [ru, pu.DCOUNTA], [iu2, pu.DGET], [au2, pu.DMAX], [ou2, pu.DMIN], [su2, pu.DPRODUCT], [cu2, pu.DSTDEV], [lu2, pu.DSTDEVP], [uu, pu.DSUM], [du2, pu.DVAR], [fu, pu.DVARP]]; + var hu = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, j3.create(D3.NA)), o = V3(r, i, t, j3.create(D3.NA)), s = V3(r, i, n, j3.create(D3.NA)), c = a.map((e30, t2, n2) => { + let r2 = o.get(t2, n2), i2 = s.get(t2, n2); + if (e30.isError()) return e30; + if (r2.isError()) return r2; + if (i2.isError()) return i2; + let { isError: a2, errorObject: c2, variants: l } = X3(e30, r2, i2); + if (a2) return c2; + let [u, d, f] = l, p = Math.floor(+u.getValue()), m = Math.floor(+d.getValue()), h = Math.floor(+f.getValue()); + if (p < 0 || p > 9999) return j3.create(D3.NUM); + p >= 0 && p < 1899 && (p += 1900); + let g2 = et2(new Date(Date.UTC(p, m - 1, h))); + return g2 < 0 ? j3.create(D3.NUM) : R4.create(g2, Qe2); + }); + return r === 1 && i === 1 ? c.get(0, 0) : c; + } + }; + var gu = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = e29, i = t, a = n; + if (r.isArray() && (r = r.get(0, 0)), i.isArray() && (i = i.get(0, 0)), a.isArray() && (a = a.get(0, 0)), r.isError()) return r; + if (i.isError()) return i; + if (a.isError()) return a; + let o = N3(r); + if (typeof o != `number`) return o; + let s = N3(i); + return typeof s == `number` ? s < o || !a.isString() ? j3.create(D3.NUM) : this._getResultByUnit(o, s, a) : s; + } + _getResultByUnit(e29, t, n) { + let r = M3(e29), i = r.getUTCFullYear(), a = r.getUTCMonth() + 1, o = r.getUTCDate(), s = M3(t), c = s.getUTCFullYear(), l = s.getUTCMonth() + 1, u = s.getUTCDate(), d = `${n.getValue()}`.toLocaleUpperCase(), f = 0, p; + switch (d) { + case `Y`: + f = c - i, (l < a || l === a && u < o) && --f; + break; + case `M`: + f = (c - i) * 12 + l - a, u < o && --f; + break; + case `D`: + f = Math.floor(t) - Math.floor(e29); + break; + case `MD`: + f = u - o, u < o && (p = new Date(Date.UTC(c, l - 1, 0)), f += xt2(p.getUTCFullYear(), p.getUTCMonth())); + break; + case `YM`: + f = l - a, (l < a || l === a && u < o) && (f += 12), u < o && --f; + break; + case `YD`: + p = new Date(Date.UTC(i, l - 1, u)), (l < a || l === a && u < o) && (p = new Date(Date.UTC(i + 1, l - 1, u))), f = Math.floor(et2(p)) - Math.floor(e29); + break; + default: + return j3.create(D3.NUM); + } + return R4.create(f); + } + }; + var _u = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + isArgumentsIgnoreNumberPattern() { + return true; + } + calculate(e29) { + return e29.isArray() ? e29.mapValue((e30) => this._handleSingleObject(e30)) : this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + if (e29.isError()) return e29; + if (e29.isString()) { + let t = `${e29.getValue()}`, n = it2(t); + if (n === null && (n = at(t)), n) { + let { v: e30, z: t2 } = n; + if (t2 && ot(t2)) return e30 instanceof Date && (e30 = tt2(e30)), R4.create(Math.trunc(+e30)); + } + } + return j3.create(D3.VALUE); + } + }; + var vu = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + return e29.isError() ? e29 : e29.isArray() ? e29.map((e30) => this._handleSingleObject(e30)) : this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + let t, n = e29.getValue(); + if (e29.isString()) { + if (!rt(`${n}`)) return j3.create(D3.VALUE); + t = /* @__PURE__ */ new Date(`${n}`); + } else { + let n2 = +e29.getValue(); + if (n2 < 0) return j3.create(D3.NUM); + if (n2 === 0) return R4.create(0); + t = M3(n2); + } + let r = t.getUTCDate(); + return R4.create(r); + } + }; + var yu = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + if (e29.isError()) return e29; + if (t.isError()) return t; + let n = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1), r = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1), i = V3(n, r, e29), a = V3(n, r, t), o = i.map((e30, t2, n2) => { + let r2 = a.get(t2, n2); + if (e30.isError()) return e30; + if (r2.isError()) return r2; + let i2 = N3(e30); + if (typeof i2 != `number`) return i2; + let o2 = N3(r2); + if (typeof o2 != `number`) return o2; + let s = Math.floor(i2) - Math.floor(o2); + return R4.create(s); + }); + return n === 1 && r === 1 ? o.get(0, 0) : o; + } + }; + var bu = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = n == null ? L3.create(false) : n; + if (e29.isError()) return e29; + if (t.isError()) return t; + if (r.isError()) return r; + let i = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1), a = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1), o = V3(i, a, e29, j3.create(D3.NA)), s = V3(i, a, t, j3.create(D3.NA)), c = V3(i, a, r, j3.create(D3.NA)), l = o.map((e30, t2, n2) => { + let r2 = s.get(t2, n2), i2 = c.get(t2, n2); + if (e30.isError()) return e30; + let a2 = N3(e30); + if (typeof a2 != `number`) return a2; + if (r2.isError()) return r2; + let o2 = N3(r2); + if (typeof o2 != `number`) return o2; + if (i2.isString() && (i2 = i2.convertToNumberObjectValue()), i2.isError()) return i2; + let { days: l2 } = pt2(a2, o2, +i2.getValue() ? 4 : 0), u = o2 >= a2 ? l2 : -l2; + return R4.create(u); + }); + return i === 1 && a === 1 ? l.get(0, 0) : l; + } + }; + var xu = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + if (e29.isError()) return e29; + if (t.isError()) return t; + let n = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1), r = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1), i = V3(n, r, e29), a = V3(n, r, t); + return i.map((e30, t2, n2) => { + let r2 = a.get(t2, n2) || I3.create(); + if (e30.isError()) return e30; + if (r2.isError()) return r2; + if (e30.isString() || e30.isBoolean() || r2.isString() || r2.isBoolean()) return j3.create(D3.VALUE); + let i2 = +e30.getValue(); + if (i2 < 0) return j3.create(D3.NUM); + let o = Math.floor(+r2.getValue()), s = M3(i2), c = s.getUTCFullYear(), l = s.getUTCMonth() + o, u = s.getUTCDate(), d = et2(new Date(Date.UTC(c, l, u))); + return R4.create(d, Qe2); + }); + } + }; + var Su2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = e29, r = t; + if (n.isArray()) { + let e30 = n.getRowCount(), t2 = n.getColumnCount(); + if (e30 > 1 || t2 > 1) return j3.create(D3.VALUE); + n = n.get(0, 0); + } + if (r.isArray()) { + let e30 = r.getRowCount(), t2 = r.getColumnCount(); + if (e30 > 1 || t2 > 1) return j3.create(D3.VALUE); + r = r.get(0, 0); + } + if (n.isError()) return n; + if (r.isError()) return r; + let i = N3(n); + if (typeof i != `number`) return i; + if (r.isBoolean()) return j3.create(D3.VALUE); + let a = M3(i), o = i > 0 ? a.getUTCFullYear() : 1900, s = i > 0 ? a.getUTCMonth() : 0, c = Math.floor(+r.getValue()); + if (Number.isNaN(c)) return j3.create(D3.VALUE); + let l = et2(new Date(Date.UTC(o, s + c + 1, 0))); + return R4.create(l); + } + }; + var Cu2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 2), E3(this, `needsReferenceObject`, true); + } + calculate(e29, t) { + let n = t == null ? R4.create(1) : t, { isError: r, errorObject: i, timestampIsReferenceObject: a, timestampObject: o, unitObject: s } = this._checkVariants(e29, n); + if (r) return i; + if (o.isNull() || o.isBoolean() || o.isString() || !a && o.isNumber() && o.getPattern() !== ``) return j3.create(D3.VALUE); + let c = +o.getValue(), { isError: l, errorObject: u, variants: d } = X3(s); + if (l) return u; + let [f] = d, p = Math.floor(+f.getValue()); + if (c < 0 || p < 1 || p > 3) return j3.create(D3.NUM); + p === 1 && (c *= 1e3), p === 3 && (c /= 1e3); + let m = new Date(Date.UTC(1970, 0, 1, 0, 0, 0, 0) + c); + if (Number.isNaN(m.getTime())) { + let e30 = 25569 + c / 864e5; + return R4.create(e30); + } else { + let e30 = tt2(m); + return R4.create(e30, `yyyy-MM-dd AM/PM hh:mm:ss`); + } + } + _checkVariants(e29, t) { + let n = e29.isReferenceObject(), r = t.isReferenceObject(), i = e29; + if (n && (i = e29.toArrayValueObject()), i.isArray()) { + let e30 = i.getRowCount(), t2 = i.getColumnCount(); + if (e30 > 1 || t2 > 1) return { isError: true, errorObject: j3.create(D3.VALUE) }; + i = i.get(0, 0); + } + if (i.isError()) return { isError: true, errorObject: i }; + let a = t; + if (r && (a = t.toArrayValueObject()), a.isArray()) { + let e30 = a.getRowCount(), t2 = a.getColumnCount(); + if (e30 > 1 || t2 > 1) return { isError: true, errorObject: j3.create(D3.VALUE) }; + a = a.get(0, 0); + } + return a.isError() ? { isError: true, errorObject: a } : { isError: false, errorObject: null, timestampIsReferenceObject: n, timestampObject: i, unitIsReferenceObject: r, unitObject: a }; + } + }; + var wu2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + return e29.isError() ? e29 : e29.isArray() ? e29.map((e30) => e30.isError() ? e30 : this._handleSingleObject(e30)) : this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + let t = N3(e29); + if (typeof t != `number`) return t; + if (t === 0) return R4.create(0); + let n = nt(t).getUTCHours(); + return R4.create(n); + } + }; + var Tu2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + return e29.isError() ? e29 : e29.isArray() ? e29.map((e30) => e30.isError() ? e30 : this._handleSingleObject(e30)) : this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + let t = N3(e29); + if (typeof t != `number`) return t; + let n = M3(t), r = t > 0 ? n.getUTCFullYear() : 1900, i = new Date(Date.UTC(r, 0, 1)), a = et2(i), o = ft2(a), s; + s = o < 1 ? a + 1 : o <= 4 ? a - (o - 1) : a + (11 - o), t < s && (i = new Date(Date.UTC(r - 1, 0, 1)), a = et2(i), o = ft2(a), s = o < 1 ? a + 1 : o <= 4 ? a - (o - 1) : a + (11 - o)); + let c = Math.ceil((t - s + 1) / 7); + return R4.create(c); + } + }; + var Eu2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + return e29.isError() ? e29 : e29.isArray() ? e29.map((e30) => e30.isError() ? e30 : this._handleSingleObject(e30)) : this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + let t = N3(e29); + if (typeof t != `number`) return t; + if (t === 0) return R4.create(0); + let n = nt(t).getUTCMinutes(); + return R4.create(n); + } + }; + var Du2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + return e29.isArray() ? e29.map((e30) => this._handleSingleObject(e30)) : this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + if (e29.isError()) return e29; + let t, n = e29.getValue(); + if (e29.isString()) { + if (!rt(`${n}`)) return j3.create(D3.VALUE); + t = /* @__PURE__ */ new Date(`${n}`); + } else { + let n2 = +e29.getValue(); + if (n2 < 0) return j3.create(D3.NUM); + if (n2 === 0) return R4.create(1); + t = M3(n2); + } + let r = t.getUTCMonth() + 1; + return R4.create(r); + } + }; + var Ou = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = e29, i = t; + if (r.isArray()) { + let e30 = r.getRowCount(), t2 = r.getColumnCount(); + if (e30 > 1 || t2 > 1) return j3.create(D3.VALUE); + r = r.get(0, 0); + } + if (r.isError()) return r; + if (i.isArray()) { + let e30 = i.getRowCount(), t2 = i.getColumnCount(); + if (e30 > 1 || t2 > 1) return j3.create(D3.VALUE); + i = i.get(0, 0); + } + if (i.isError()) return i; + if (n != null && n.isError()) return n; + if (r.isBoolean() || i.isBoolean()) return j3.create(D3.VALUE); + let a = N3(r); + if (typeof a != `number`) return a; + let o = N3(i); + if (typeof o != `number`) return o; + if (n) return this._getResultByHolidays(a, o, n); + let s = ut2(a, o); + return R4.create(s); + } + _getResultByHolidays(e29, t, n) { + let r = []; + if (n != null && n.isArray()) { + let e30 = n.getRowCount(), t2 = n.getColumnCount(); + for (let i2 = 0; i2 < e30; i2++) for (let e31 = 0; e31 < t2; e31++) { + let t3 = n.get(i2, e31); + if (t3.isBoolean()) return j3.create(D3.VALUE); + let a = N3(t3); + if (typeof a != `number`) return a; + r.push(a); + } + } else { + if (n.isBoolean()) return j3.create(D3.VALUE); + let e30 = N3(n); + if (typeof e30 != `number`) return e30; + r.push(e30); + } + let i = ut2(e29, t, 1, r); + return R4.create(i); + } + }; + var ku = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 4); + } + calculate(e29, t, n, r) { + return e29.isError() ? e29 : t.isError() ? t : n != null && n.isError() ? n : r != null && r.isError() ? r : n != null && n.isArray() ? n.map((n2) => this._handleSingleObject(e29, t, n2, r)) : this._handleSingleObject(e29, t, n, r); + } + _handleSingleObject(e29, t, n, r) { + let i = e29, a = t; + if (i.isArray()) { + let e30 = i.getRowCount(), t2 = i.getColumnCount(); + if (e30 > 1 || t2 > 1) return j3.create(D3.VALUE); + i = i.get(0, 0); + } + if (i.isError()) return i; + if (a.isArray()) { + let e30 = a.getRowCount(), t2 = a.getColumnCount(); + if (e30 > 1 || t2 > 1) return j3.create(D3.VALUE); + a = a.get(0, 0); + } + if (a.isError()) return a; + let o = 1; + if (n) { + if (o = n.getValue(), n.isBoolean() && (o = +o), n.isString() && !ct2(o)) return j3.create(D3.VALUE); + if (!ct2(o)) return j3.create(D3.NUM); + } + if (i.isBoolean() || a.isBoolean()) return j3.create(D3.VALUE); + let s = N3(i); + if (typeof s != `number`) return s; + let c = N3(a); + if (typeof c != `number`) return c; + if (r) return this._getResultByHolidays(s, c, o, r); + let l = ut2(s, c, o); + return R4.create(l); + } + _getResultByHolidays(e29, t, n, r) { + let i = []; + if (r != null && r.isArray()) { + let e30 = r.getRowCount(), t2 = r.getColumnCount(); + for (let n2 = 0; n2 < e30; n2++) for (let e31 = 0; e31 < t2; e31++) { + let t3 = r.get(n2, e31); + if (t3.isBoolean()) return j3.create(D3.VALUE); + let a2 = N3(t3); + if (typeof a2 != `number`) return a2; + i.push(a2); + } + } else { + if (r.isBoolean()) return j3.create(D3.VALUE); + let e30 = N3(r); + if (typeof e30 != `number`) return e30; + i.push(e30); + } + let a = ut2(e29, t, n, i); + return R4.create(a); + } + }; + var Au2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 0), E3(this, `maxParams`, 0); + } + calculate() { + let e29 = /* @__PURE__ */ new Date(), t = tt2(new Date(Date.UTC(e29.getFullYear(), e29.getMonth(), e29.getDate(), e29.getHours(), e29.getMinutes(), e29.getSeconds()))); + return R4.create(t, `yyyy/mm/dd hh:mm`); + } + }; + var ju2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + return e29.isError() ? e29 : e29.isArray() ? e29.map((e30) => e30.isError() ? e30 : this._handleSingleObject(e30)) : this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + let t = N3(e29); + if (typeof t != `number`) return t; + if (t === 0) return R4.create(0); + let n = nt(t).getUTCSeconds(); + return R4.create(n); + } + }; + var Mu2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + if (e29.isError()) return e29; + if (t.isError()) return t; + if (n.isError()) return n; + let r = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29), o = V3(r, i, t), s = V3(r, i, n); + return a.map((e30, t2, n2) => this._calculateTime(e30, o, s, t2, n2)); + } + _calculateTime(e29, t, n, r, i) { + let a = e29, o = t.get(r, i) || I3.create(), s = n.get(r, i) || I3.create(); + if ((a.isString() || a.isBoolean()) && (a = a.convertToNumberObjectValue()), (o.isString() || o.isBoolean()) && (o = o.convertToNumberObjectValue()), (s.isString() || s.isBoolean()) && (s = s.convertToNumberObjectValue()), a.isError()) return a; + if (o.isError()) return o; + if (s.isError()) return s; + let c = Math.floor(+a.getValue()), l = Math.floor(+o.getValue()), u = Math.floor(+s.getValue()); + if (c < 0 || l < 0 || u < 0 || c > 32767 || l > 32767 || u > 32767) return j3.create(D3.NUM); + l += Math.floor(u / 60), u %= 60, c += Math.floor(l / 60), l %= 60, c %= 24; + let d = (c * 3600 + l * 60 + u) / 86400; + return R4.create(d, `h:mm A/P`); + } + }; + var Nu2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + isArgumentsIgnoreNumberPattern() { + return true; + } + calculate(e29) { + return e29.isArray() ? e29.mapValue((e30) => this._handleSingleObject(e30)) : this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + if (e29.isError()) return e29; + if (e29.isString()) { + let t = da(`${e29.getValue()}`); + if (t) { + let { v: e30, z: n } = t; + if (n && ot(n)) return e30 instanceof Date && (e30 = tt2(e30)), R4.create(oa2(+e30)); + } + } + return j3.create(D3.VALUE); + } + }; + var Pu2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1), E3(this, `needsReferenceObject`, true); + } + calculate(e29) { + let t = e29.isReferenceObject(), n = e29; + if (t && (n = e29.toArrayValueObject()), n.isArray()) { + let e30 = n.getRowCount(), t2 = n.getColumnCount(); + if (e30 > 1 || t2 > 1) return j3.create(D3.VALUE); + n = n.get(0, 0); + } + if (n.isError() || n.isNull() || n.isBoolean() || n.isString() || !t && n.isNumber() && n.getPattern() !== ``) return n; + let r = +n.getValue(); + return R4.create(r, `yyyy-MM-dd hh:mm:ss AM/PM`); + } + }; + var Fu2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 0), E3(this, `maxParams`, 0); + } + calculate() { + let e29 = /* @__PURE__ */ new Date(), t = et2(new Date(Date.UTC(e29.getUTCFullYear(), e29.getUTCMonth(), e29.getUTCDate()))); + return R4.create(t, Qe2); + } + }; + var Iu2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 2), E3(this, `_returnTypeMap`, { 1: [1, 2, 3, 4, 5, 6, 7], 2: [7, 1, 2, 3, 4, 5, 6], 3: [6, 0, 1, 2, 3, 4, 5], 11: [7, 1, 2, 3, 4, 5, 6], 12: [6, 7, 1, 2, 3, 4, 5], 13: [5, 6, 7, 1, 2, 3, 4], 14: [4, 5, 6, 7, 1, 2, 3], 15: [3, 4, 5, 6, 7, 1, 2], 16: [2, 3, 4, 5, 6, 7, 1], 17: [1, 2, 3, 4, 5, 6, 7] }); + } + calculate(e29, t) { + let n = t == null ? R4.create(1) : t; + if (e29.isError()) return e29; + if (n.isError()) return n; + let r = Math.max(e29.isArray() ? e29.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, j3.create(D3.NA)), o = V3(r, i, n, j3.create(D3.NA)), s = a.map((e30, t2, n2) => { + let r2 = o.get(t2, n2); + return this._handleSingleObject(e30, r2); + }); + return r === 1 && i === 1 ? s.get(0, 0) : s; + } + _handleSingleObject(e29, t) { + let n = t; + if (e29.isError()) return e29; + if (n.isError()) return n; + let r = N3(e29); + if (typeof r != `number`) return r; + if (n.isString() && (n = n.convertToNumberObjectValue(), n.isError())) return n; + let i = Math.floor(+n.getValue()); + if (!this._returnTypeMap[i]) return j3.create(D3.NUM); + let a = ft2(r), o = this._returnTypeMap[i][a]; + return R4.create(o); + } + }; + var Lu2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 2), E3(this, `_returnTypeMap`, { 1: 0, 2: 1, 11: 1, 12: 2, 13: 3, 14: 4, 15: 5, 16: 6, 17: 0, 21: 4 }); + } + calculate(e29, t) { + let n = e29, r = t == null ? R4.create(1) : t; + if (n.isArray()) { + let e30 = n.getRowCount(), t2 = n.getColumnCount(); + if (e30 > 1 || t2 > 1) return j3.create(D3.VALUE); + n = n.get(0, 0); + } + if (n.isError()) return n; + if (r.isArray()) { + let e30 = r.getRowCount(), t2 = r.getColumnCount(); + if (e30 > 1 || t2 > 1) return j3.create(D3.VALUE); + r = r.get(0, 0); + } + if (r.isError()) return r; + if (n.isBoolean()) return j3.create(D3.VALUE); + let i = N3(n); + if (typeof i != `number`) return i; + if (r.isBoolean()) return j3.create(D3.VALUE); + let a = Math.floor(+r.getValue()); + return Number.isNaN(a) ? j3.create(D3.VALUE) : a in this._returnTypeMap ? this._getResult(i, a) : j3.create(D3.NUM); + } + _getResult(e29, t) { + let n = M3(e29), r = e29 > 0 ? n.getUTCFullYear() : 1900, i = new Date(Date.UTC(r, 0, 1)), a = et2(i), o = ft2(a), s; + if (t === 21) s = o < 1 ? a + 1 : o <= 4 ? a - (o - 1) : a + (11 - o), e29 < s && (i = new Date(Date.UTC(r - 1, 0, 1)), a = et2(i), o = ft2(a), s = o < 1 ? a + 1 : o <= 4 ? a - (o - 1) : a + (11 - o)); + else { + let e30 = this._returnTypeMap[t]; + s = o < e30 ? a - (o + 7 - e30) : a - (o - e30); + } + let c = Math.ceil((e29 - s + 1) / 7); + return R4.create(c); + } + }; + var Ru2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = e29, i = t; + if (r.isArray()) { + let e30 = r.getRowCount(), t2 = r.getColumnCount(); + if (e30 > 1 || t2 > 1) return j3.create(D3.VALUE); + r = r.get(0, 0); + } + if (r.isError()) return r; + if (i.isArray()) { + let e30 = i.getRowCount(), t2 = i.getColumnCount(); + if (e30 > 1 || t2 > 1) return j3.create(D3.VALUE); + i = i.get(0, 0); + } + if (i.isError()) return i; + if (n != null && n.isError()) return n; + if (r.isBoolean() || i.isBoolean()) return j3.create(D3.VALUE); + let a = N3(r); + if (typeof a != `number`) return a; + let o = +i.getValue(); + if (Number.isNaN(o)) return j3.create(D3.VALUE); + if (n) return this._getResultByHolidays(a, o, n); + let s = dt2(a, o); + return typeof s == `number` ? R4.create(s) : s; + } + _getResultByHolidays(e29, t, n) { + let r = []; + if (n != null && n.isArray()) { + let e30 = n.getRowCount(), t2 = n.getColumnCount(); + for (let i2 = 0; i2 < e30; i2++) for (let e31 = 0; e31 < t2; e31++) { + let t3 = n.get(i2, e31); + if (t3.isBoolean()) return j3.create(D3.VALUE); + let a = N3(t3); + if (typeof a != `number`) return a; + r.push(a); + } + } else { + if (n.isBoolean()) return j3.create(D3.VALUE); + let e30 = N3(n); + if (typeof e30 != `number`) return e30; + r.push(e30); + } + let i = dt2(e29, t, 1, r); + return typeof i == `number` ? R4.create(i) : i; + } + }; + var zu2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 4); + } + calculate(e29, t, n, r) { + return e29.isError() ? e29 : t.isError() ? t : n != null && n.isError() ? n : r != null && r.isError() ? r : n != null && n.isArray() ? n.map((n2) => this._handleSingleObject(e29, t, n2, r)) : this._handleSingleObject(e29, t, n, r); + } + _handleSingleObject(e29, t, n, r) { + let i = n == null ? R4.create(1) : n, a = this._checkArrayError(e29); + if (a.isError()) return a; + let o = this._checkArrayError(t); + if (o.isError()) return o; + if (a.isBoolean() || o.isBoolean()) return j3.create(D3.VALUE); + let s = N3(e29); + if (typeof s != `number`) return s; + let c = +t.getValue(); + if (Number.isNaN(c)) return j3.create(D3.VALUE); + let l = i.getValue(); + if (i.isBoolean() && (l = +l), i.isString() && (!ct2(l) || l === `1111111`)) return j3.create(D3.VALUE); + if (!ct2(l)) return j3.create(D3.NUM); + if (r) return this._getResultByHolidays(s, c, l, r); + let u = dt2(s, c, l); + return typeof u == `number` ? R4.create(u) : u; + } + _checkArrayError(e29) { + let t = e29; + if (t.isArray()) { + let e30 = t.getRowCount(), n = t.getColumnCount(); + if (e30 > 1 || n > 1) return j3.create(D3.VALUE); + t = t.get(0, 0); + } + return t.isError(), t; + } + _getResultByHolidays(e29, t, n, r) { + let i = []; + if (r != null && r.isArray()) { + let e30 = r.getRowCount(), t2 = r.getColumnCount(); + for (let n2 = 0; n2 < e30; n2++) for (let e31 = 0; e31 < t2; e31++) { + let t3 = r.get(n2, e31); + if (t3.isBoolean()) return j3.create(D3.VALUE); + let a2 = N3(t3); + if (typeof a2 != `number`) return a2; + i.push(a2); + } + } else { + if (r.isBoolean()) return j3.create(D3.VALUE); + let e30 = N3(r); + if (typeof e30 != `number`) return e30; + i.push(e30); + } + let a = dt2(e29, t, n, i); + return typeof a == `number` ? R4.create(a) : a; + } + }; + var Bu2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + return e29.isArray() ? e29.map((e30) => this._handleSingleObject(e30)) : this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + if (e29.isError()) return e29; + let t, n = e29.getValue(); + if (e29.isString()) { + if (!rt(`${n}`)) return j3.create(D3.VALUE); + t = /* @__PURE__ */ new Date(`${n}`); + } else { + let e30 = +n; + if (e30 < 0) return j3.create(D3.NUM); + if (e30 === 0) return R4.create(1900); + t = M3(e30); + } + let r = t.getUTCFullYear(); + return R4.create(r); + } + }; + var Vu2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = n == null ? R4.create(0) : n, i = vs2(e29); + if (i.isError()) return i; + let a = vs2(t); + if (a.isError()) return a; + if (r = vs2(r), r.isError()) return r; + if (i.isBoolean() || a.isBoolean() || r.isBoolean()) return j3.create(D3.VALUE); + let o = N3(i); + if (typeof o != `number`) return o; + let s = N3(a); + if (typeof s != `number`) return s; + let c = Math.floor(+r.getValue()); + if (Number.isNaN(c)) return j3.create(D3.VALUE); + if (c < 0 || c > 4) return j3.create(D3.NUM); + let { days: l, yearDays: u } = pt2(o, s, c), d = l / u; + return R4.create(d); + } + }; + var Hu2 = [[hu, eo2.DATE], [gu, eo2.DATEDIF], [_u, eo2.DATEVALUE], [vu, eo2.DAY], [yu, eo2.DAYS], [bu, eo2.DAYS360], [xu, eo2.EDATE], [Su2, eo2.EOMONTH], [Cu2, eo2.EPOCHTODATE], [wu2, eo2.HOUR], [Tu2, eo2.ISOWEEKNUM], [Eu2, eo2.MINUTE], [Du2, eo2.MONTH], [Ou, eo2.NETWORKDAYS], [ku, eo2.NETWORKDAYS_INTL], [Au2, eo2.NOW], [ju2, eo2.SECOND], [Mu2, eo2.TIME], [Nu2, eo2.TIMEVALUE], [Pu2, eo2.TO_DATE], [Fu2, eo2.TODAY], [Iu2, eo2.WEEKDAY], [Lu2, eo2.WEEKNUM], [Ru2, eo2.WORKDAY], [zu2, eo2.WORKDAY_INTL], [Bu2, eo2.YEAR], [Vu2, eo2.YEARFRAC]]; + var Uu2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + if (e29.isNull() || t.isNull()) return j3.create(D3.NA); + let { isError: n, errorObject: r, variants: i } = Y3(e29, t); + if (n) return r; + let [a, o] = i, s = +a.getValue(), c = Math.floor(+o.getValue()); + if (Number.isNaN(s) || Number.isNaN(c)) return j3.create(D3.VALUE); + if (c < 0) return j3.create(D3.NUM); + let l = Ts2.besseli(s, c); + return Number.isNaN(l) || !Number.isFinite(l) ? j3.create(D3.NUM) : R4.create(l); + } + }; + var Wu = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + if (e29.isNull() || t.isNull()) return j3.create(D3.NA); + let { isError: n, errorObject: r, variants: i } = Y3(e29, t); + if (n) return r; + let [a, o] = i, s = +a.getValue(), c = Math.floor(+o.getValue()); + if (Number.isNaN(s) || Number.isNaN(c)) return j3.create(D3.VALUE); + if (c < 0) return j3.create(D3.NUM); + let l = Ts2.besselj(s, c); + return Number.isNaN(l) || !Number.isFinite(l) ? j3.create(D3.NUM) : R4.create(l); + } + }; + var Gu2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + if (e29.isNull() || t.isNull()) return j3.create(D3.NA); + let { isError: n, errorObject: r, variants: i } = Y3(e29, t); + if (n) return r; + let [a, o] = i, s = +a.getValue(), c = Math.floor(+o.getValue()); + if (Number.isNaN(s) || Number.isNaN(c)) return j3.create(D3.VALUE); + if (c < 0) return j3.create(D3.NUM); + let l = Ts2.besselk(s, c); + return Number.isNaN(l) || !Number.isFinite(l) ? j3.create(D3.NUM) : R4.create(l); + } + }; + var Ku2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + if (e29.isNull() || t.isNull()) return j3.create(D3.NA); + let { isError: n, errorObject: r, variants: i } = Y3(e29, t); + if (n) return r; + let [a, o] = i, s = +a.getValue(), c = Math.floor(+o.getValue()); + if (Number.isNaN(s) || Number.isNaN(c)) return j3.create(D3.VALUE); + if (c < 0) return j3.create(D3.NUM); + let l = Ts2.bessely(s, c); + return Number.isNaN(l) || !Number.isFinite(l) ? j3.create(D3.NUM) : R4.create(l); + } + }; + var qu2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let { isError: t, errorObject: n, variants: r } = Y3(e29); + if (t) return n; + let [i] = r, a = `${i.getValue()}`; + if (!Es2(a)) return j3.create(D3.NUM); + let o; + return o = a.length === 10 && a.substring(0, 1) === `1` ? Number.parseInt(a.substring(1), 2) - 512 : Number.parseInt(a, 2), R4.create(o); + } + }; + var Ju2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + if (e29.isNull()) return j3.create(D3.NA); + let n = 0; + if (t) { + let { isError: e30, errorObject: r2, variants: i2 } = Y3(t); + if (e30) return r2; + let [a2] = i2; + if (n = Math.floor(+a2.getValue()), Number.isNaN(n)) return j3.create(D3.VALUE); + if (n < 0 || n > 10) return j3.create(D3.NUM); + } + let { isError: r, errorObject: i, variants: a } = Y3(e29); + if (r) return i; + let [o] = a, s = `${o.getValue()}`; + if (!Es2(s)) return j3.create(D3.NUM); + let c; + if (s.length === 10 && s.substring(0, 1) === `1`) c = (1099511627264 + Number.parseInt(s.substring(1), 2)).toString(16); + else if (c = Number.parseInt(s, 2).toString(16), t) { + if (n < c.length) return j3.create(D3.NUM); + c = `0`.repeat(n - c.length) + c; + } + return z3.create(c.toLocaleUpperCase()); + } + }; + var Yu2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + if (e29.isNull()) return j3.create(D3.NA); + let n = 0; + if (t) { + let { isError: e30, errorObject: r2, variants: i2 } = Y3(t); + if (e30) return r2; + let [a2] = i2; + if (n = Math.floor(+a2.getValue()), Number.isNaN(n)) return j3.create(D3.VALUE); + if (n < 0 || n > 10) return j3.create(D3.NUM); + } + let { isError: r, errorObject: i, variants: a } = Y3(e29); + if (r) return i; + let [o] = a, s = `${o.getValue()}`; + if (!Es2(s)) return j3.create(D3.NUM); + let c; + if (s.length === 10 && s.substring(0, 1) === `1`) c = (1073741312 + Number.parseInt(s.substring(1), 2)).toString(8); + else if (c = Number.parseInt(s, 2).toString(8), t) { + if (n < c.length) return j3.create(D3.NUM); + c = `0`.repeat(n - c.length) + c; + } + return z3.create(c); + } + }; + var Xu2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + if (e29.isError()) return e29; + if (t.isError()) return t; + let n = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1), r = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1), i = V3(n, r, e29, j3.create(D3.NA)), a = V3(n, r, t, j3.create(D3.NA)), o = i.map((e30, t2, n2) => { + let r2 = e30; + if (r2.isString() && (r2 = r2.convertToNumberObjectValue()), r2.isError()) return r2; + let i2 = a.get(t2, n2); + if (i2.isString() && (i2 = i2.convertToNumberObjectValue()), i2.isError()) return i2; + let o2 = +r2.getValue(), s = +i2.getValue(); + if (o2 < 0 || s < 0 || Math.floor(o2) !== o2 || Math.floor(s) !== s || o2 > 281474976710655 || s > 281474976710655) return j3.create(D3.NUM); + let c = o2 & s; + return R4.create(c); + }); + return n === 1 && r === 1 ? o.get(0, 0) : o; + } + }; + var Zu2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + if (e29.isError()) return e29; + if (t.isError()) return t; + let n = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1), r = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1), i = V3(n, r, e29, j3.create(D3.NA)), a = V3(n, r, t, j3.create(D3.NA)), o = i.map((e30, t2, n2) => { + let r2 = e30; + if (r2.isString() && (r2 = r2.convertToNumberObjectValue()), r2.isError()) return r2; + let i2 = a.get(t2, n2); + if (i2.isString() && (i2 = i2.convertToNumberObjectValue()), i2.isError()) return i2; + let o2 = +r2.getValue(), s = +i2.getValue(); + if (o2 < 0 || Math.floor(o2) !== o2 || o2 > 281474976710655 || Math.abs(s) > 53) return j3.create(D3.NUM); + s = Math.trunc(s); + let c = Number(s >= 0 ? BigInt(o2) << BigInt(s) : BigInt(o2) >> BigInt(-s)); + return c > 281474976710655 ? j3.create(D3.NUM) : R4.create(c); + }); + return n === 1 && r === 1 ? o.get(0, 0) : o; + } + }; + var Qu2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + if (e29.isError()) return e29; + if (t.isError()) return t; + let n = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1), r = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1), i = V3(n, r, e29, j3.create(D3.NA)), a = V3(n, r, t, j3.create(D3.NA)), o = i.map((e30, t2, n2) => { + let r2 = e30; + if (r2.isString() && (r2 = r2.convertToNumberObjectValue()), r2.isError()) return r2; + let i2 = a.get(t2, n2); + if (i2.isString() && (i2 = i2.convertToNumberObjectValue()), i2.isError()) return i2; + let o2 = +r2.getValue(), s = +i2.getValue(); + if (o2 < 0 || s < 0 || Math.floor(o2) !== o2 || Math.floor(s) !== s || o2 > 281474976710655 || s > 281474976710655) return j3.create(D3.NUM); + let c = Number(BigInt(o2) | BigInt(s)); + return R4.create(c); + }); + return n === 1 && r === 1 ? o.get(0, 0) : o; + } + }; + var $u = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + if (e29.isError()) return e29; + if (t.isError()) return t; + let n = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1), r = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1), i = V3(n, r, e29, j3.create(D3.NA)), a = V3(n, r, t, j3.create(D3.NA)), o = i.map((e30, t2, n2) => { + let r2 = e30; + if (r2.isString() && (r2 = r2.convertToNumberObjectValue()), r2.isError()) return r2; + let i2 = a.get(t2, n2); + if (i2.isString() && (i2 = i2.convertToNumberObjectValue()), i2.isError()) return i2; + let o2 = +r2.getValue(), s = +i2.getValue(); + if (o2 < 0 || Math.floor(o2) !== o2 || o2 > 281474976710655 || Math.abs(s) > 53) return j3.create(D3.NUM); + s = Math.trunc(s); + let c = Number(s >= 0 ? BigInt(o2) >> BigInt(s) : BigInt(o2) << BigInt(-s)); + return c > 281474976710655 ? j3.create(D3.NUM) : R4.create(c); + }); + return n === 1 && r === 1 ? o.get(0, 0) : o; + } + }; + var ed2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + if (e29.isError()) return e29; + if (t.isError()) return t; + let n = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1), r = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1), i = V3(n, r, e29, j3.create(D3.NA)), a = V3(n, r, t, j3.create(D3.NA)), o = i.map((e30, t2, n2) => { + let r2 = e30; + if (r2.isString() && (r2 = r2.convertToNumberObjectValue()), r2.isError()) return r2; + let i2 = a.get(t2, n2); + if (i2.isString() && (i2 = i2.convertToNumberObjectValue()), i2.isError()) return i2; + let o2 = +r2.getValue(), s = +i2.getValue(); + if (o2 < 0 || s < 0 || Math.floor(o2) !== o2 || Math.floor(s) !== s || o2 > 281474976710655 || s > 281474976710655) return j3.create(D3.NUM); + let c = o2 ^ s; + return R4.create(c); + }); + return n === 1 && r === 1 ? o.get(0, 0) : o; + } + }; + decimal_default.prototype.cos = function() { + let e29 = this.toNumber(); + return new decimal_default(Math.cos(e29)); + }; + var td2 = class e27 { + static getComplex(e29, t, n) { + let r = new decimal_default(e29).toSignificantDigits(15).toNumber(), i = new decimal_default(t).toSignificantDigits(15).toNumber(), a = n === `` ? `i` : n, o; + return o = r === 0 && i === 0 ? 0 : r === 0 ? i === 1 ? a : `${i}${a}` : i === 0 ? r : `${r}${i > 0 ? `+` : ``}${i === 1 ? a : `${i}${a}`}`, o; + } + static createByComplexStr(t, n, r) { + return new e27(e27.getComplex(t, n, r)); + } + constructor(e29) { + if (E3(this, `_inumber`, ``), E3(this, `_realNum`, 0), E3(this, `_iNum`, 0), E3(this, `_suffix`, ``), E3(this, `_isError`, false), `${e29}`.trim() === ``) { + this._isError = true; + return; + } + this._inumber = e29, this._getImReal(), this._getImAginary(), this._getImSuffix(); + } + _getImReal() { + if (this._inumber === 0 || this._inumber === `0`) { + this._realNum = 0; + return; + } + let e29 = `${this._inumber}`; + if ([`i`, `+i`, `1i`, `+1i`, `-i`, `-1i`, `j`, `+j`, `1j`, `+1j`, `-j`, `-1j`].indexOf(e29) >= 0) { + this._realNum = 0; + return; + } + let t = e29.indexOf(`+`), n = e29.indexOf(`-`); + t === 0 && (t = e29.indexOf(`+`, 1)), n === 0 && (n = e29.indexOf(`-`, 1)); + let r = e29.substring(e29.length - 1, e29.length), i = r === `i` || r === `j`; + if (t >= 0 || n >= 0) { + if (!i) { + this._isError = true; + return; + } + t >= 0 ? Number.isNaN(+e29.substring(0, t)) || Number.isNaN(+e29.substring(t + 1, e29.length - 1)) ? this._isError = true : this._realNum = +e29.substring(0, t) : Number.isNaN(+e29.substring(0, n)) || Number.isNaN(+e29.substring(n + 1, e29.length - 1)) ? this._isError = true : this._realNum = +e29.substring(0, n); + } else i ? Number.isNaN(+e29.substring(0, e29.length - 1)) ? this._isError = true : this._realNum = 0 : Number.isNaN(+e29) ? this._isError = true : this._realNum = +e29; + } + _getImAginary() { + if (this._isError) return; + if (this._inumber === 0 || this._inumber === `0`) { + this._iNum = 0; + return; + } + let e29 = `${this._inumber}`; + if ([`i`, `j`].indexOf(e29) >= 0) { + this._iNum = 1; + return; + } + e29 = e29.replace(`+i`, `+1i`).replace(`-i`, `-1i`).replace(`+j`, `+1j`).replace(`-j`, `-1j`); + let t = e29.indexOf(`+`), n = e29.indexOf(`-`); + t === 0 && (t = e29.indexOf(`+`, 1)), n === 0 && (n = e29.indexOf(`-`, 1)); + let r = e29.substring(e29.length - 1, e29.length), i = r === `i` || r === `j`; + if (t >= 0 || n >= 0) { + if (!i) { + this._isError = true; + return; + } + t >= 0 ? Number.isNaN(+e29.substring(0, t)) || Number.isNaN(+e29.substring(t + 1, e29.length - 1)) ? this._isError = true : this._iNum = +e29.substring(t + 1, e29.length - 1) : Number.isNaN(+e29.substring(0, n)) || Number.isNaN(+e29.substring(n + 1, e29.length - 1)) ? this._isError = true : this._iNum = -+e29.substring(n + 1, e29.length - 1); + } else i ? Number.isNaN(+e29.substring(0, e29.length - 1)) ? this._isError = true : this._iNum = +e29.substring(0, e29.length - 1) : Number.isNaN(+e29) ? this._isError = true : this._iNum = 0; + } + _getImSuffix() { + let e29 = `${this._inumber}`, t = e29.substring(e29.length - 1); + this._suffix = t === `i` || t === `j` ? t : ``; + } + getRealNum() { + return this._realNum; + } + getINum() { + return this._iNum; + } + getSuffix() { + return this._suffix; + } + isError() { + return this._isError; + } + toString() { + return e27.getComplex(this._realNum, this._iNum, this._suffix); + } + isDifferentSuffixes(e29) { + let t = e29.getSuffix(); + return this._suffix === `` || t === `` ? false : this._suffix !== t; + } + Abs() { + return decimal_default.sqrt(decimal_default.pow(this._realNum, 2).add(decimal_default.pow(this._iNum, 2))).toSignificantDigits(16).toNumber(); + } + Argument() { + let e29 = decimal_default.sqrt(decimal_default.pow(this._realNum, 2).add(decimal_default.pow(this._iNum, 2))), t = decimal_default.acos(new decimal_default(this._realNum).div(e29)).toSignificantDigits(16).toNumber(); + return this._iNum < 0 && (t = -t), t; + } + Conjugate() { + return e27.getComplex(this._realNum, -this._iNum, this._suffix); + } + Cos() { + if (this._iNum) { + let t = decimal_default.cos(this._realNum).mul(decimal_default.cosh(this._iNum)).toNumber(), n = decimal_default.sin(this._realNum).mul(decimal_default.sinh(this._iNum)).negated().toNumber(); + return e27.getComplex(t, n, this._suffix); + } else { + let t = decimal_default.cos(this._realNum).toNumber(); + return e27.getComplex(t, this._iNum, this._suffix); + } + } + Cosh() { + if (!Number.isFinite(Math.sinh(this._realNum)) || !Number.isFinite(Math.cosh(this._realNum))) return this._isError = true, ``; + if (this._iNum) { + let t = decimal_default.cosh(this._realNum).mul(decimal_default.cos(this._iNum)).toNumber(), n = decimal_default.sinh(this._realNum).mul(decimal_default.sin(this._iNum)).toNumber(); + return e27.getComplex(t, n, this._suffix); + } else { + let t = decimal_default.cosh(this._realNum).toNumber(); + return e27.getComplex(t, this._iNum, this._suffix); + } + } + Cot() { + if (this._iNum) { + let t = decimal_default.cosh(this._iNum * 2).sub(decimal_default.cos(this._realNum * 2)), n = decimal_default.sin(this._realNum * 2).div(t).toNumber(), r = decimal_default.sinh(this._iNum * 2).div(t).negated().toNumber(); + return e27.getComplex(n, r, this._suffix); + } else { + let t = new decimal_default(1).div(decimal_default.tan(this._realNum)).toNumber(); + return e27.getComplex(t, this._iNum, this._suffix); + } + } + Coth() { + if (!Number.isFinite(Math.sinh(this._realNum)) || !Number.isFinite(Math.cosh(this._realNum))) return this._isError = true, ``; + if (this._iNum) { + let t = decimal_default.cosh(this._realNum * 2).sub(decimal_default.cos(this._iNum * 2)), n = decimal_default.sinh(this._realNum * 2).div(t).toNumber(), r = decimal_default.sin(this._iNum * 2).div(t).negated().toNumber(); + return e27.getComplex(n, r, this._suffix); + } else { + let t = new decimal_default(1).div(decimal_default.tanh(this._realNum)).toNumber(); + return e27.getComplex(t, this._iNum, this._suffix); + } + } + Csc() { + if (this._iNum) { + let t = decimal_default.cosh(this._iNum * 2).sub(decimal_default.cos(this._realNum * 2)), n = decimal_default.sin(this._realNum).mul(decimal_default.cosh(this._iNum)).mul(2).div(t).toNumber(), r = decimal_default.cos(this._realNum).mul(decimal_default.sinh(this._iNum)).mul(-2).div(t).toNumber(); + return e27.getComplex(n, r, this._suffix); + } else { + let t = new decimal_default(1).div(decimal_default.sin(this._realNum)).toNumber(); + return e27.getComplex(t, this._iNum, this._suffix); + } + } + Csch() { + if (!Number.isFinite(Math.sinh(this._realNum)) || !Number.isFinite(Math.cosh(this._realNum))) return e27.getComplex(0, 0, this._suffix); + if (this._iNum) { + let t = decimal_default.cosh(this._realNum * 2).sub(decimal_default.cos(this._iNum * 2)), n = decimal_default.sinh(this._realNum).mul(decimal_default.cos(this._iNum)).mul(2).div(t).toNumber(), r = decimal_default.cosh(this._realNum).mul(decimal_default.sin(this._iNum)).mul(-2).div(t).toNumber(); + return e27.getComplex(n, r, this._suffix); + } else { + let t = new decimal_default(1).div(decimal_default.sinh(this._realNum)).toNumber(); + return e27.getComplex(t, this._iNum, this._suffix); + } + } + Div(t) { + let n = new decimal_default(this._realNum), r = new decimal_default(this._iNum), i = new decimal_default(t.getRealNum()), a = new decimal_default(t.getINum()), o = i.mul(i).add(a.mul(a)), s = n.mul(i).add(r.mul(a)).div(o).toNumber(), c = r.mul(i).sub(n.mul(a)).div(o).toNumber(), l = this._suffix === `` ? t.getSuffix() : this._suffix; + return e27.getComplex(s, c, l); + } + Exp() { + if (!Number.isFinite(Math.exp(this._realNum))) return this._isError = true, ``; + let t = decimal_default.exp(this._realNum).mul(decimal_default.cos(this._iNum)).toNumber(), n = decimal_default.exp(this._realNum).mul(decimal_default.sin(this._iNum)).toNumber(); + return e27.getComplex(t, n, this._suffix); + } + Ln() { + let t = decimal_default.sqrt(decimal_default.pow(this._realNum, 2).add(decimal_default.pow(this._iNum, 2))), n = decimal_default.ln(t).toNumber(), r = decimal_default.acos(new decimal_default(this._realNum).div(t)).toNumber(); + return e27.getComplex(n, r, this._suffix); + } + Log(t) { + let n = decimal_default.sqrt(decimal_default.pow(this._realNum, 2).add(decimal_default.pow(this._iNum, 2))), r = decimal_default.ln(n), i = decimal_default.acos(new decimal_default(this._realNum).div(n)); + this._iNum < 0 && (i = i.negated()); + let a = decimal_default.ln(t), o = new decimal_default(0), s = a.mul(a).add(o.mul(o)); + if (s.eq(0)) return this._isError = true, ``; + let c = r.mul(a).add(i.mul(o)).div(s).toNumber(), l = i.mul(a).sub(r.mul(o)).div(s).toNumber(); + return e27.getComplex(c, l, this._suffix); + } + Power(t) { + if (this._realNum === 0 && this._iNum === 0) return t > 0 ? e27.getComplex(this._realNum, this._iNum, this._suffix) : (this._isError = true, ``); + let n = decimal_default.sqrt(decimal_default.pow(this._realNum, 2).add(decimal_default.pow(this._iNum, 2))), r = decimal_default.acos(new decimal_default(this._realNum).div(n)); + this._iNum < 0 && (r = r.negated()), n = decimal_default.pow(n, t), r = r.mul(t); + let i = decimal_default.cos(r).mul(n).toNumber(), a = decimal_default.sin(r).mul(n).toNumber(); + return !Number.isFinite(i) || !Number.isFinite(a) ? (this._isError = true, ``) : e27.getComplex(i, a, this._suffix); + } + Product(t) { + let n = new decimal_default(this._realNum), r = new decimal_default(this._iNum), i = new decimal_default(t.getRealNum()), a = new decimal_default(t.getINum()), o = n.mul(i).sub(r.mul(a)).toNumber(), s = n.mul(a).add(r.mul(i)).toNumber(), c = this._suffix === `` ? t.getSuffix() : this._suffix; + return e27.getComplex(o, s, c); + } + Sec() { + if (this._iNum) { + let t = decimal_default.cosh(this._iNum * 2).add(decimal_default.cos(this._realNum * 2)), n = decimal_default.cos(this._realNum).mul(decimal_default.cosh(this._iNum)).mul(2).div(t).toNumber(), r = decimal_default.sin(this._realNum).mul(decimal_default.sinh(this._iNum)).mul(2).div(t).toNumber(); + return e27.getComplex(n, r, this._suffix); + } else { + let t = new decimal_default(1).div(decimal_default.cos(this._realNum)).toNumber(); + return e27.getComplex(t, this._iNum, this._suffix); + } + } + Sech() { + if (!Number.isFinite(Math.sinh(this._realNum * 2)) || !Number.isFinite(Math.cosh(this._realNum * 2))) return e27.getComplex(0, 0, this._suffix); + if (this._iNum) { + let t = decimal_default.cosh(this._realNum * 2).add(decimal_default.cos(this._iNum * 2)), n = decimal_default.cosh(this._realNum).mul(decimal_default.cos(this._iNum)).mul(2).div(t).toNumber(), r = decimal_default.sinh(this._realNum).mul(decimal_default.sin(this._iNum)).mul(-2).div(t).toNumber(); + return e27.getComplex(n, r, this._suffix); + } else { + let t = new decimal_default(1).div(decimal_default.cosh(this._realNum)).toNumber(); + return e27.getComplex(t, this._iNum, this._suffix); + } + } + Sin() { + if (this._iNum) { + let t = decimal_default.sin(this._realNum).mul(decimal_default.cosh(this._iNum)).toNumber(), n = decimal_default.cos(this._realNum).mul(decimal_default.sinh(this._iNum)).toNumber(); + return e27.getComplex(t, n, this._suffix); + } else { + let t = decimal_default.sin(this._realNum).toNumber(); + return e27.getComplex(t, this._iNum, this._suffix); + } + } + Sinh() { + if (!Number.isFinite(Math.sinh(this._realNum)) || !Number.isFinite(Math.cosh(this._realNum))) return this._isError = true, ``; + if (this._iNum) { + let t = decimal_default.sinh(this._realNum).mul(decimal_default.cos(this._iNum)).toNumber(), n = decimal_default.cosh(this._realNum).mul(decimal_default.sin(this._iNum)).toNumber(); + return e27.getComplex(t, n, this._suffix); + } else { + let t = decimal_default.sinh(this._realNum).toNumber(); + return e27.getComplex(t, this._iNum, this._suffix); + } + } + Sqrt() { + let t = decimal_default.sqrt(decimal_default.pow(this._realNum, 2).add(decimal_default.pow(this._iNum, 2))), n = decimal_default.sqrt(t), r = decimal_default.acos(new decimal_default(this._realNum).div(t)); + this._iNum < 0 && (r = r.negated()); + let i = n.mul(decimal_default.cos(r.div(2).toNumber())).toNumber(), a = n.mul(decimal_default.sin(r.div(2))).toNumber(); + return e27.getComplex(i, a, this._suffix); + } + Sub(t) { + let n = new decimal_default(this._realNum), r = new decimal_default(this._iNum), i = new decimal_default(t.getRealNum()), a = new decimal_default(t.getINum()), o = n.sub(i).toNumber(), s = r.sub(a).toNumber(), c = this._suffix === `` ? t.getSuffix() : this._suffix; + return e27.getComplex(o, s, c); + } + Sum(t) { + let n = new decimal_default(this._realNum), r = new decimal_default(this._iNum), i = new decimal_default(t.getRealNum()), a = new decimal_default(t.getINum()), o = n.add(i).toNumber(), s = r.add(a).toNumber(), c = this._suffix === `` ? t.getSuffix() : this._suffix; + return e27.getComplex(o, s, c); + } + Tan() { + if (this._iNum) { + let t = decimal_default.cos(this._realNum * 2).add(decimal_default.cosh(this._iNum * 2)), n = decimal_default.sin(this._realNum * 2).div(t).toNumber(), r = decimal_default.sinh(this._iNum * 2).div(t).toNumber(); + return e27.getComplex(n, r, this._suffix); + } else { + let t = decimal_default.tan(this._realNum).toNumber(); + return e27.getComplex(t, this._iNum, this._suffix); + } + } + Tanh() { + if (!Number.isFinite(Math.sinh(this._realNum)) || !Number.isFinite(Math.cosh(this._realNum))) return this._isError = true, ``; + if (this._iNum) { + let t = decimal_default.cosh(this._realNum * 2).add(decimal_default.cos(this._iNum * 2)), n = decimal_default.sinh(this._realNum * 2).div(t).toNumber(), r = decimal_default.sin(this._iNum * 2).div(t).toNumber(); + return e27.getComplex(n, r, this._suffix); + } else { + let t = decimal_default.tanh(this._realNum).toNumber(); + return e27.getComplex(t, this._iNum, this._suffix); + } + } + }; + var nd2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let { isError: r, errorObject: i, variants: a } = Y3(e29, t, n == null ? z3.create(`i`) : n); + if (r) return i; + let [o, s, c] = a, l = +o.getValue(), u = +s.getValue(), d = `${c.getValue()}`; + if (Number.isNaN(l) || Number.isNaN(u) || d !== `i` && d !== `j`) return j3.create(D3.VALUE); + let f = td2.getComplex(l, u, d); + return typeof f == `number` ? R4.create(f) : z3.create(f); + } + }; + var rd2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3), E3(this, `_units`, [[`a.u. of action`, `?`, null, `action`, false, false, 105457168181818e-48], [`a.u. of charge`, `e`, null, `electric_charge`, false, false, 160217653141414e-33], [`a.u. of energy`, `Eh`, null, `energy`, false, false, 435974417757576e-32], [`a.u. of length`, `a?`, null, `length`, false, false, 529177210818182e-25], [`a.u. of mass`, `m?`, null, `mass`, false, false, 910938261616162e-45], [`a.u. of time`, `?/Eh`, null, `time`, false, false, 241888432650516e-31], [`admiralty knot`, `admkn`, null, `speed`, false, true, 0.514773333], [`ampere`, `A`, null, `electric_current`, true, false, 1], [`ampere per meter`, `A/m`, null, `magnetic_field_intensity`, true, false, 1], [`\xE5ngstr\xF6m`, `\xC5`, [`ang`], `length`, false, true, 1e-10], [`are`, `ar`, null, `area`, false, true, 100], [`astronomical unit`, `ua`, null, `length`, false, false, 149597870691667e-25], [`bar`, `bar`, null, `pressure`, false, false, 1e5], [`barn`, `b`, null, `area`, false, false, 1e-28], [`becquerel`, `Bq`, null, `radioactivity`, true, false, 1], [`bit`, `bit`, [`b`], `information`, false, true, 1], [`btu`, `BTU`, [`btu`], `energy`, false, true, 1055.05585262], [`byte`, `byte`, null, `information`, false, true, 8], [`candela`, `cd`, null, `luminous_intensity`, true, false, 1], [`candela per square metre`, `cd/m?`, null, `luminance`, true, false, 1], [`centigrade`, `C`, [`cel`], `temperature`, true, false, 1], [`cubic \xE5ngstr\xF6m`, `ang3`, [`ang^3`], `volume`, false, true, 1e-30], [`cubic foot`, `ft3`, [`ft^3`], `volume`, false, true, 0.028316846592], [`cubic inch`, `in3`, [`in^3`], `volume`, false, true, 16387064e-12], [`cubic light-year`, `ly3`, [`ly^3`], `volume`, false, true, 846786664623715e-61], [`cubic metre`, `m3`, [`m^3`], `volume`, true, true, 1], [`cubic mile`, `mi3`, [`mi^3`], `volume`, false, true, 416818182544058e-5], [`cubic nautical mile`, `Nmi3`, [`Nmi^3`], `volume`, false, true, 6352182208], [`cubic Pica`, `Pica3`, [`Picapt3`, `Pica^3`, `Picapt^3`], `volume`, false, true, 758660370370369e-22], [`cubic yard`, `yd3`, [`yd^3`], `volume`, false, true, 0.764554857984], [`cup`, `cup`, null, `volume`, false, true, 2365882365e-13], [`dalton`, `Da`, [`u`], `mass`, false, false, 166053886282828e-41], [`day`, `d`, [`day`], `time`, false, true, 86400], [`degree`, `\xB0`, null, `angle`, false, false, 0.0174532925199433], [`dyne`, `dyn`, [`dy`], `force`, false, true, 1e-5], [`electronvolt`, `eV`, [`ev`], `energy`, false, true, 1.60217656514141], [`ell`, `ell`, null, `length`, false, true, 1.143], [`erg`, `erg`, [`e`], `energy`, false, true, 1e-7], [`fahrenheit`, `F`, [`fah`], `temperature`, true, false, 1], [`fluid ounce`, `oz`, null, `volume`, false, true, 295735295625e-16], [`foot`, `ft`, null, `length`, false, true, 0.3048], [`foot-pound`, `flb`, null, `energy`, false, true, 1.3558179483314], [`gal`, `Gal`, null, `acceleration`, false, false, 0.01], [`gallon`, `gal`, null, `volume`, false, true, 0.003785411784], [`gauss`, `G`, [`ga`], `magnetic_flux_density`, false, true, 1], [`grain`, `grain`, null, `mass`, false, true, 647989e-10], [`gram`, `g`, null, `mass`, false, true, 1e-3], [`gray`, `Gy`, null, `absorbed_dose`, true, false, 1], [`gross registered ton`, `GRT`, [`regton`], `volume`, false, true, 2.8316846592], [`hectare`, `ha`, null, `area`, false, true, 1e4], [`henry`, `H`, null, `inductance`, true, false, 1], [`hertz`, `Hz`, null, `frequency`, true, false, 1], [`horsepower`, `HP`, [`h`], `power`, false, true, 745.69987158227], [`horsepower-hour`, `HPh`, [`hh`, `hph`], `energy`, false, true, 2684519538e-3], [`hour`, `h`, [`hr`], `time`, false, true, 3600], [`imperial gallon (U.K.)`, `uk_gal`, null, `volume`, false, true, 454609e-8], [`imperial hundredweight`, `lcwt`, [`uk_cwt`, `hweight`], `mass`, false, true, 50.802345], [`imperial quart (U.K)`, `uk_qt`, null, `volume`, false, true, 0.0011365225], [`imperial ton`, `brton`, [`uk_ton`, `LTON`], `mass`, false, true, 1016.046909], [`inch`, `in`, null, `length`, false, true, 0.0254], [`international acre`, `uk_acre`, null, `area`, false, true, 4046.8564224], [`IT calorie`, `cal`, null, `energy`, false, true, 4.1868], [`joule`, `J`, null, `energy`, true, true, 1], [`katal`, `kat`, null, `catalytic_activity`, true, false, 1], [`kelvin`, `K`, [`kel`], `temperature`, true, true, 1], [`kilogram`, `kg`, null, `mass`, true, true, 1], [`knot`, `kn`, null, `speed`, false, true, 0.514444444444444], [`light-year`, `ly`, null, `length`, false, true, 9460730472580800], [`litre`, `L`, [`l`, `lt`], `volume`, false, true, 1e-3], [`lumen`, `lm`, null, `luminous_flux`, true, false, 1], [`lux`, `lx`, null, `illuminance`, true, false, 1], [`maxwell`, `Mx`, null, `magnetic_flux`, false, false, 1e-18], [`measurement ton`, `MTON`, null, `volume`, false, true, 1.13267386368], [`meter per hour`, `m/h`, [`m/hr`], `speed`, false, true, 27777777777778e-17], [`meter per second`, `m/s`, [`m/sec`], `speed`, true, true, 1], [`meter per second squared`, `m?s??`, null, `acceleration`, true, false, 1], [`parsec`, `pc`, [`parsec`], `length`, false, true, 30856775814671900], [`meter squared per second`, `m?/s`, null, `kinematic_viscosity`, true, false, 1], [`metre`, `m`, null, `length`, true, true, 1], [`miles per hour`, `mph`, null, `speed`, false, true, 0.44704], [`millimetre of mercury`, `mmHg`, null, `pressure`, false, false, 133.322], [`minute`, `?`, null, `angle`, false, false, 290888208665722e-18], [`minute`, `min`, [`mn`], `time`, false, true, 60], [`modern teaspoon`, `tspm`, null, `volume`, false, true, 5e-6], [`mole`, `mol`, null, `amount_of_substance`, true, false, 1], [`morgen`, `Morgen`, null, `area`, false, true, 2500], [`n.u. of action`, `?`, null, `action`, false, false, 105457168181818e-48], [`n.u. of mass`, `m?`, null, `mass`, false, false, 910938261616162e-45], [`n.u. of speed`, `c?`, null, `speed`, false, false, 299792458], [`n.u. of time`, `?/(me?c??)`, null, `time`, false, false, 128808866778687e-35], [`nautical mile`, `M`, [`Nmi`], `length`, false, true, 1852], [`newton`, `N`, null, `force`, true, true, 1], [`\u0153rsted`, `Oe `, null, `magnetic_field_intensity`, false, false, 79.5774715459477], [`ohm`, `\u03A9`, null, `electric_resistance`, true, false, 1], [`ounce mass`, `ozm`, null, `mass`, false, true, 0.028349523125], [`pascal`, `Pa`, null, `pressure`, true, false, 1], [`pascal second`, `Pa?s`, null, `dynamic_viscosity`, true, false, 1], [`pferdest\xE4rke`, `PS`, null, `power`, false, true, 735.49875], [`phot`, `ph`, null, `illuminance`, false, false, 1e-4], [`pica (1/6 inch)`, `pica`, null, `length`, false, true, 35277777777778e-17], [`pica (1/72 inch)`, `Pica`, [`Picapt`], `length`, false, true, 0.00423333333333333], [`poise`, `P`, null, `dynamic_viscosity`, false, false, 0.1], [`pond`, `pond`, null, `force`, false, true, 980665e-8], [`pound force`, `lbf`, null, `force`, false, true, 4.4482216152605], [`pound mass`, `lbm`, null, `mass`, false, true, 0.45359237], [`quart`, `qt`, null, `volume`, false, true, 946352946e-12], [`radian`, `rad`, null, `angle`, true, false, 1], [`rankine`, `Rank`, null, `temperature`, false, true, 1], [`reaumur`, `Reau`, null, `temperature`, false, true, 1], [`second`, `?`, null, `angle`, false, false, 484813681109536e-20], [`second`, `s`, [`sec`], `time`, true, true, 1], [`short hundredweight`, `cwt`, [`shweight`], `mass`, false, true, 45.359237], [`siemens`, `S`, null, `electrical_conductance`, true, false, 1], [`sievert`, `Sv`, null, `equivalent_dose`, true, false, 1], [`slug`, `sg`, null, `mass`, false, true, 14.59390294], [`square \xE5ngstr\xF6m`, `ang2`, [`ang^2`], `area`, false, true, 1e-20], [`square foot`, `ft2`, [`ft^2`], `area`, false, true, 0.09290304], [`square inch`, `in2`, [`in^2`], `area`, false, true, 64516e-8], [`square light-year`, `ly2`, [`ly^2`], `area`, false, true, 895054210748189e17], [`square meter`, `m?`, null, `area`, true, true, 1], [`square mile`, `mi2`, [`mi^2`], `area`, false, true, 2589988110336e-6], [`square nautical mile`, `Nmi2`, [`Nmi^2`], `area`, false, true, 3429904], [`square Pica`, `Pica2`, [`Picapt2`, `Pica^2`, `Picapt^2`], `area`, false, true, 1792111111111e-17], [`square yard`, `yd2`, [`yd^2`], `area`, false, true, 0.83612736], [`statute mile`, `mi`, null, `length`, false, true, 1609.344], [`steradian`, `sr`, null, `solid_angle`, true, false, 1], [`stilb`, `sb`, null, `luminance`, false, false, 1e-4], [`stokes`, `St`, null, `kinematic_viscosity`, false, false, 1e-4], [`stone`, `stone`, null, `mass`, false, true, 6.35029318], [`tablespoon`, `tbs`, null, `volume`, false, true, 147868e-10], [`teaspoon`, `tsp`, null, `volume`, false, true, 492892e-11], [`tesla`, `T`, null, `magnetic_flux_density`, true, true, 1], [`thermodynamic calorie`, `c`, null, `energy`, false, true, 4.184], [`ton`, `ton`, null, `mass`, false, true, 907.18474], [`tonne`, `t`, null, `mass`, false, false, 1e3], [`U.K. pint`, `uk_pt`, null, `volume`, false, true, 56826125e-11], [`U.S. bushel`, `bushel`, null, `volume`, false, true, 0.03523907], [`U.S. oil barrel`, `barrel`, null, `volume`, false, true, 0.158987295], [`U.S. pint`, `pt`, [`us_pt`], `volume`, false, true, 473176473e-12], [`U.S. survey mile`, `survey_mi`, null, `length`, false, true, 1609.347219], [`U.S. survey/statute acre`, `us_acre`, null, `area`, false, true, 4046.87261], [`volt`, `V`, null, `voltage`, true, false, 1], [`watt`, `W`, null, `power`, true, true, 1], [`watt-hour`, `Wh`, [`wh`], `energy`, false, true, 3600], [`weber`, `Wb`, null, `magnetic_flux`, true, false, 1], [`yard`, `yd`, null, `length`, false, true, 0.9144], [`year`, `yr`, null, `time`, false, true, 31557600]]), E3(this, `_binaryPrefixes`, { Yi: [`yobi`, 80, 12089258196146292e8, `Yi`, `yotta`], Zi: [`zebi`, 70, 11805916207174113e5, `Zi`, `zetta`], Ei: [`exbi`, 60, 1152921504606847e3, `Ei`, `exa`], Pi: [`pebi`, 50, 1125899906842624, `Pi`, `peta`], Ti: [`tebi`, 40, 1099511627776, `Ti`, `tera`], Gi: [`gibi`, 30, 1073741824, `Gi`, `giga`], Mi: [`mebi`, 20, 1048576, `Mi`, `mega`], ki: [`kibi`, 10, 1024, `ki`, `kilo`] }), E3(this, `_unitPrefixes`, { Y: [`yotta`, 1e24, `Y`], Z: [`zetta`, 1e21, `Z`], E: [`exa`, 1e18, `E`], P: [`peta`, 1e15, `P`], T: [`tera`, 1e12, `T`], G: [`giga`, 1e9, `G`], M: [`mega`, 1e6, `M`], k: [`kilo`, 1e3, `k`], h: [`hecto`, 100, `h`], e: [`dekao`, 10, `e`], d: [`deci`, 0.1, `d`], c: [`centi`, 0.01, `c`], m: [`milli`, 1e-3, `m`], u: [`micro`, 1e-6, `u`], n: [`nano`, 1e-9, `n`], p: [`pico`, 1e-12, `p`], f: [`femto`, 1e-15, `f`], a: [`atto`, 1e-18, `a`], z: [`zepto`, 1e-21, `z`], y: [`yocto`, 1e-24, `y`] }); + } + calculate(e29, t, n) { + let { isError: r, errorObject: i, variants: a } = Y3(e29, t, n); + if (r) return i; + let [o, s, c] = a, l = +o.getValue(), u = `${s.getValue()}`, d = `${c.getValue()}`; + if (Number.isNaN(l)) return j3.create(D3.VALUE); + let f, p = 1, m, h = 1, { _from: g2, _to: _2 } = this._lookupFromAndToUnits(u, d); + if (f = g2, m = _2, f === null) { + let { _from: e30, _fromMultiplier: t2 } = this._lookupFromPrefix(u); + f = e30, p = t2; + } + if (m === null) { + let { _to: e30, _toMultiplier: t2 } = this._lookupToPrefix(d); + m = e30, h = t2; + } + if (f === null || m === null || f[3] !== m[3]) return j3.create(D3.NA); + let v; + return f[3] === `temperature` ? (v = this._getTemperatureConversion(l, f[1], m[1]), v = +v.toFixed(2)) : v = l * f[6] * p / (m[6] * h), R4.create(v); + } + _lookupFromAndToUnits(e29, t) { + let n = null, r = null, i; + for (let a = 0; a < this._units.length; a++) i = this._units[a][2] === null ? [] : this._units[a][2], (this._units[a][1] === e29 || i.indexOf(e29) >= 0) && (n = this._units[a]), (this._units[a][1] === t || i.indexOf(t) >= 0) && (r = this._units[a]); + return { _from: n, _to: r }; + } + _lookupFromPrefix(e29) { + let t = null, n = 1, r = e29, i, a = this._binaryPrefixes[e29.substring(0, 2)], o = this._unitPrefixes[e29.substring(0, 1)]; + e29.substring(0, 2) === `da` && (o = [`dekao`, 10, `da`]), a ? (n = a[2], r = e29.substring(2)) : o && (n = o[1], r = e29.substring(o[2].length)); + for (let e30 = 0; e30 < this._units.length; e30++) i = this._units[e30][2] === null ? [] : this._units[e30][2], (this._units[e30][1] === r || i.indexOf(r) >= 0) && (t = this._units[e30]); + return { _from: t, _fromMultiplier: n }; + } + _lookupToPrefix(e29) { + let t = null, n = 1, r = e29, i, a = this._binaryPrefixes[e29.substring(0, 2)], o = this._unitPrefixes[e29.substring(0, 1)]; + e29.substring(0, 2) === `da` && (o = [`dekao`, 10, `da`]), a ? (n = a[2], r = e29.substring(2)) : o && (n = o[1], r = e29.substring(o[2].length)); + for (let e30 = 0; e30 < this._units.length; e30++) i = this._units[e30][2] === null ? [] : this._units[e30][2], (this._units[e30][1] === r || i.indexOf(r) >= 0) && (t = this._units[e30]); + return { _to: t, _toMultiplier: n }; + } + _getTemperatureConversion(e29, t, n) { + switch (t) { + case `C`: + return this._centigradeConversion(e29, n); + case `F`: + return this._fahrenheitConversion(e29, n); + case `K`: + return this._kelvinConversion(e29, n); + case `Rank`: + return this._rankineConversion(e29, n); + case `Reau`: + return this._reaumurConversion(e29, n); + default: + return e29; + } + } + _centigradeConversion(e29, t) { + switch (t) { + case `F`: + return e29 * 9 / 5 + 32; + case `K`: + return e29 + 273.15; + case `Rank`: + return (e29 + 273.15) * 9 / 5; + case `Reau`: + return e29 * 4 / 5; + default: + return e29; + } + } + _fahrenheitConversion(e29, t) { + switch (t) { + case `C`: + return (e29 - 32) * 5 / 9; + case `K`: + return (e29 - 32) * 5 / 9 + 273.15; + case `Rank`: + return e29 + 459.67; + case `Reau`: + return (e29 - 32) * 4 / 9; + default: + return e29; + } + } + _kelvinConversion(e29, t) { + switch (t) { + case `C`: + return e29 - 273.15; + case `F`: + return (e29 - 273.15) * 9 / 5 + 32; + case `Rank`: + return e29 * 9 / 5; + case `Reau`: + return (e29 - 273.15) * 4 / 5; + default: + return e29; + } + } + _rankineConversion(e29, t) { + switch (t) { + case `C`: + return (e29 - 491.67) * 5 / 9; + case `F`: + return e29 - 459.67; + case `K`: + return e29 * 5 / 9; + case `Reau`: + return (e29 - 491.67) * 4 / 9; + default: + return e29; + } + } + _reaumurConversion(e29, t) { + switch (t) { + case `C`: + return e29 * 5 / 4; + case `F`: + return e29 * 9 / 4 + 32; + case `K`: + return e29 * 5 / 4 + 273.15; + case `Rank`: + return e29 * 9 / 4 + 491.67; + default: + return e29; + } + } + }; + var id2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + if (e29.isNull()) return j3.create(D3.NA); + let n = 0; + if (t) { + let { isError: e30, errorObject: r2, variants: i2 } = Y3(t); + if (e30) return r2; + let [a2] = i2; + if (n = Math.floor(+a2.getValue()), Number.isNaN(n)) return j3.create(D3.VALUE); + if (n < 0 || n > 10) return j3.create(D3.NUM); + } + let { isError: r, errorObject: i, variants: a } = Y3(e29); + if (r) return i; + let [o] = a, s = Math.trunc(+o.getValue()); + if (Number.isNaN(s)) return j3.create(D3.VALUE); + if (!/^-?[0-9]{1,3}$/.test(`${s}`) || s < -512 || s > 511) return j3.create(D3.NUM); + let c; + if (s < 0) { + let e30 = (512 + s).toString(2); + c = `1${`0`.repeat(9 - e30.length)}${e30}`; + } else if (c = Number.parseInt(`${s}`, 10).toString(2), t) { + if (n < c.length) return j3.create(D3.NUM); + c = `0`.repeat(n - c.length) + c; + } + return z3.create(c); + } + }; + var ad2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + if (e29.isNull()) return j3.create(D3.NA); + let n = 0; + if (t) { + let { isError: e30, errorObject: r2, variants: i2 } = Y3(t); + if (e30) return r2; + let [a2] = i2; + if (n = Math.floor(+a2.getValue()), Number.isNaN(n)) return j3.create(D3.VALUE); + if (n < 0 || n > 10) return j3.create(D3.NUM); + } + let { isError: r, errorObject: i, variants: a } = Y3(e29); + if (r) return i; + let [o] = a, s = Math.trunc(+o.getValue()); + if (Number.isNaN(s)) return j3.create(D3.VALUE); + if (!/^-?[0-9]{1,12}$/.test(`${s}`) || s < -549755813888 || s > 549755813887) return j3.create(D3.NUM); + let c; + if (s < 0) c = (1099511627776 + s).toString(16); + else if (c = Number.parseInt(`${s}`, 10).toString(16), t) { + if (n < c.length) return j3.create(D3.NUM); + c = `0`.repeat(n - c.length) + c; + } + return z3.create(c.toLocaleUpperCase()); + } + }; + var od2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + if (e29.isNull()) return j3.create(D3.NA); + let n = 0; + if (t) { + let { isError: e30, errorObject: r2, variants: i2 } = Y3(t); + if (e30) return r2; + let [a2] = i2; + if (n = Math.floor(+a2.getValue()), Number.isNaN(n)) return j3.create(D3.VALUE); + if (n < 0 || n > 10) return j3.create(D3.NUM); + } + let { isError: r, errorObject: i, variants: a } = Y3(e29); + if (r) return i; + let [o] = a, s = Math.trunc(+o.getValue()); + if (Number.isNaN(s)) return j3.create(D3.VALUE); + if (!/^-?[0-9]{1,9}$/.test(`${s}`) || s < -536870912 || s > 536870911) return j3.create(D3.NUM); + let c; + if (s < 0) c = (1073741824 + s).toString(8); + else if (c = Number.parseInt(`${s}`, 10).toString(8), t) { + if (n < c.length) return j3.create(D3.NUM); + c = `0`.repeat(n - c.length) + c; + } + return z3.create(c); + } + }; + var sd2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let { isError: n, errorObject: r, variants: i } = Y3(e29, t == null ? R4.create(0) : t); + if (n) return r; + let [a, o] = i, s = +a.getValue(), c = +o.getValue(); + if (Number.isNaN(s) || Number.isNaN(c)) return j3.create(D3.VALUE); + let l = s === c ? 1 : 0; + return R4.create(l); + } + }; + var cd2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n; + if (t) { + let { isError: r, errorObject: i, variants: a } = Y3(e29, t); + if (r) return i; + let [o, s] = a, c = +o.getValue(), l = +s.getValue(); + if (Number.isNaN(c) || Number.isNaN(l)) return j3.create(D3.VALUE); + n = ks2(l) - ks2(c); + } else { + let { isError: t2, errorObject: r, variants: i } = Y3(e29); + if (t2) return r; + let [a] = i, o = +a.getValue(); + if (Number.isNaN(o)) return j3.create(D3.VALUE); + n = ks2(o); + } + return R4.create(n); + } + }; + var ld = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let { isError: t, errorObject: n, variants: r } = Y3(e29); + if (t) return n; + let [i] = r, a = +i.getValue(); + if (Number.isNaN(a)) return j3.create(D3.VALUE); + let o = ks2(a); + return R4.create(o); + } + }; + var ud = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let { isError: t, errorObject: n, variants: r } = Y3(e29); + if (t) return n; + let [i] = r, a = +i.getValue(); + if (Number.isNaN(a)) return j3.create(D3.VALUE); + let o = As2(a); + return R4.create(o); + } + }; + var dd2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let { isError: t, errorObject: n, variants: r } = Y3(e29); + if (t) return n; + let [i] = r, a = +i.getValue(); + if (Number.isNaN(a)) return j3.create(D3.VALUE); + let o = As2(a); + return R4.create(o); + } + }; + var fd = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + if (e29.isNull()) return j3.create(D3.NA); + let { isError: n, errorObject: r, variants: i } = Y3(e29, t == null ? R4.create(0) : t); + if (n) return r; + let [a, o] = i, s = +a.getValue(), c = +o.getValue(); + if (Number.isNaN(s) || Number.isNaN(c)) return j3.create(D3.VALUE); + let l = s >= c ? 1 : 0; + return R4.create(l); + } + }; + var pd = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + if (e29.isNull()) return j3.create(D3.NA); + let n = 0; + if (t) { + let { isError: e30, errorObject: r2, variants: i2 } = Y3(t); + if (e30) return r2; + let [a2] = i2; + if (n = Math.floor(+a2.getValue()), Number.isNaN(n)) return j3.create(D3.VALUE); + if (n < 0 || n > 10) return j3.create(D3.NUM); + } + let { isError: r, errorObject: i, variants: a } = Y3(e29); + if (r) return i; + let [o] = a, s = `${o.getValue()}`; + if (!Os2(s)) return j3.create(D3.NUM); + let c = s.length === 10 && s.substring(0, 1).toLocaleUpperCase() === `F`, l = c ? Number.parseInt(s, 16) - 1099511627776 : Number.parseInt(s, 16); + if (l < -512 || l > 511) return j3.create(D3.NUM); + let u; + if (c) { + let e30 = (512 + l).toString(2); + u = `1${`0`.repeat(9 - e30.length)}${e30}`; + } else if (u = l.toString(2), t) { + if (n < u.length) return j3.create(D3.NUM); + u = `0`.repeat(n - u.length) + u; + } + return z3.create(u); + } + }; + var md2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let { isError: t, errorObject: n, variants: r } = Y3(e29); + if (t) return n; + let [i] = r, a = `${i.getValue()}`; + if (!Os2(a)) return j3.create(D3.NUM); + let o = Number.parseInt(a, 16); + return o >= 549755813888 && (o -= 1099511627776), R4.create(o); + } + }; + var hd2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + if (e29.isNull()) return j3.create(D3.NA); + let n = 0; + if (t) { + let { isError: e30, errorObject: r2, variants: i2 } = Y3(t); + if (e30) return r2; + let [a2] = i2; + if (n = Math.floor(+a2.getValue()), Number.isNaN(n)) return j3.create(D3.VALUE); + if (n < 0 || n > 10) return j3.create(D3.NUM); + } + let { isError: r, errorObject: i, variants: a } = Y3(e29); + if (r) return i; + let [o] = a, s = `${o.getValue()}`; + if (!Os2(s)) return j3.create(D3.NUM); + let c = Number.parseInt(s, 16); + if (c > 536870911 && c < 1098974756864) return j3.create(D3.NUM); + let l; + if (c >= 1098974756864) l = (c - 1098437885952).toString(8); + else if (l = c.toString(8), t) { + if (n < l.length) return j3.create(D3.NUM); + l = `0`.repeat(n - l.length) + l; + } + return z3.create(l); + } + }; + var gd2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let { isError: t, errorObject: n, variants: r } = Y3(e29); + if (t) return n; + let [i] = r, a = new td2(`${i.getValue()}`); + if (a.isError()) return j3.create(D3.NUM); + let o = a.Abs(); + return R4.create(o); + } + }; + var _d = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let { isError: t, errorObject: n, variants: r } = Y3(e29); + if (t) return n; + let [i] = r, a = new td2(`${i.getValue()}`); + if (a.isError()) return j3.create(D3.NUM); + let o = a.getINum(); + return R4.create(o); + } + }; + var vd2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let { isError: t, errorObject: n, variants: r } = Y3(e29); + if (t) return n; + let [i] = r, a = new td2(`${i.getValue()}`); + if (a.isError()) return j3.create(D3.NUM); + if (a.getRealNum() === 0 && a.getINum() === 0) return j3.create(D3.DIV_BY_ZERO); + let o = a.Argument(); + return R4.create(o); + } + }; + var yd2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let { isError: t, errorObject: n, variants: r } = Y3(e29); + if (t) return n; + let [i] = r, a = new td2(`${i.getValue()}`); + if (a.isError()) return j3.create(D3.NUM); + let o = a.Conjugate(); + return typeof o == `number` || Ja(o) ? R4.create(+o) : z3.create(o); + } + }; + var bd2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let { isError: t, errorObject: n, variants: r } = Y3(e29); + if (t) return n; + let [i] = r, a = new td2(`${i.getValue()}`); + if (a.isError()) return j3.create(D3.NUM); + let o = a.Cos(); + return typeof o == `number` || Ja(o) ? R4.create(+o) : z3.create(o); + } + }; + var xd = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let { isError: t, errorObject: n, variants: r } = Y3(e29); + if (t) return n; + let [i] = r, a = new td2(`${i.getValue()}`); + if (a.isError()) return j3.create(D3.NUM); + let o = a.Cosh(); + return a.isError() ? j3.create(D3.NUM) : typeof o == `number` || Ja(o) ? R4.create(+o) : z3.create(o); + } + }; + var Sd2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let { isError: t, errorObject: n, variants: r } = Y3(e29); + if (t) return n; + let [i] = r, a = new td2(`${i.getValue()}`); + if (a.isError() || a.getRealNum() === 0 && a.getINum() === 0) return j3.create(D3.NUM); + let o = a.Cot(); + return typeof o == `number` || Ja(o) ? R4.create(+o) : z3.create(o); + } + }; + var Cd2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let { isError: t, errorObject: n, variants: r } = Y3(e29); + if (t) return n; + let [i] = r, a = new td2(`${i.getValue()}`); + if (a.isError() || a.getRealNum() === 0 && a.getINum() === 0) return j3.create(D3.NUM); + let o = a.Coth(); + return a.isError() ? j3.create(D3.NUM) : typeof o == `number` || Ja(o) ? R4.create(+o) : z3.create(o); + } + }; + var wd2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let { isError: t, errorObject: n, variants: r } = Y3(e29); + if (t) return n; + let [i] = r, a = new td2(`${i.getValue()}`); + if (a.isError() || a.getRealNum() === 0 && a.getINum() === 0) return j3.create(D3.NUM); + let o = a.Csc(); + return typeof o == `number` || Ja(o) ? R4.create(+o) : z3.create(o); + } + }; + var Td2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let { isError: t, errorObject: n, variants: r } = Y3(e29); + if (t) return n; + let [i] = r, a = new td2(`${i.getValue()}`); + if (a.isError() || a.getRealNum() === 0 && a.getINum() === 0) return j3.create(D3.NUM); + let o = a.Csch(); + return typeof o == `number` || Ja(o) ? R4.create(+o) : z3.create(o); + } + }; + var Ed2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + if (e29.isNull() || t.isNull()) return j3.create(D3.NA); + let { isError: n, errorObject: r, variants: i } = Y3(e29, t); + if (n) return r; + let [a, o] = i, s = `${a.getValue()}`, c = `${o.getValue()}`, l = new td2(s), u = new td2(c); + if (l.isError() || u.isError() || l.isDifferentSuffixes(u) || u.getRealNum() === 0 && u.getINum() === 0) return j3.create(D3.NUM); + let d = l.Div(u); + return typeof d == `number` || Ja(d) ? R4.create(+d) : z3.create(d); + } + }; + var Dd2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let { isError: t, errorObject: n, variants: r } = Y3(e29); + if (t) return n; + let [i] = r, a = new td2(`${i.getValue()}`); + if (a.isError()) return j3.create(D3.NUM); + let o = a.Exp(); + return a.isError() ? j3.create(D3.NUM) : typeof o == `number` || Ja(o) ? R4.create(+o) : z3.create(o); + } + }; + var Od2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let { isError: t, errorObject: n, variants: r } = Y3(e29); + if (t) return n; + let [i] = r, a = new td2(`${i.getValue()}`); + if (a.isError() || a.getRealNum() === 0 && a.getINum() === 0) return j3.create(D3.NUM); + let o = a.Ln(); + return typeof o == `number` || Ja(o) ? R4.create(+o) : z3.create(o); + } + }; + var kd = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let { isError: n, errorObject: r, variants: i } = Y3(e29); + if (n) return r; + let [a] = i, o = t == null ? R4.create(10) : t; + if (o.isArray()) { + let e30 = o.getRowCount(), t2 = o.getColumnCount(); + if (e30 > 1 || t2 > 1) return j3.create(D3.VALUE); + o = o.get(0, 0); + } + let { isError: s, errorObject: c, variants: l } = X3(o); + if (s) return c; + let [u] = l, d = `${a.getValue()}`, f = +u.getValue(), p = new td2(d); + if (p.isError() || p.getRealNum() === 0 && p.getINum() === 0 || f <= 0) return j3.create(D3.NUM); + let m = p.Log(f); + return p.isError() ? j3.create(D3.NUM) : typeof m == `number` || Ja(m) ? R4.create(+m) : z3.create(m); + } + }; + var Ad = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let { isError: t, errorObject: n, variants: r } = Y3(e29); + if (t) return n; + let [i] = r, a = new td2(`${i.getValue()}`); + if (a.isError() || a.getRealNum() === 0 && a.getINum() === 0) return j3.create(D3.NUM); + let o = a.Log(2); + return typeof o == `number` || Ja(o) ? R4.create(+o) : z3.create(o); + } + }; + var jd = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let { isError: t, errorObject: n, variants: r } = Y3(e29); + if (t) return n; + let [i] = r, a = new td2(`${i.getValue()}`); + if (a.isError() || a.getRealNum() === 0 && a.getINum() === 0) return j3.create(D3.NUM); + let o = a.Log(10); + return typeof o == `number` || Ja(o) ? R4.create(+o) : z3.create(o); + } + }; + var Md = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + if (e29.isNull() || t.isNull()) return j3.create(D3.NA); + let { isError: n, errorObject: r, variants: i } = Y3(e29, t); + if (n) return r; + let [a, o] = i, s = new td2(`${a.getValue()}`); + if (s.isError()) return j3.create(D3.NUM); + let c = +o.getValue(); + if (Number.isNaN(c)) return j3.create(D3.VALUE); + let l = s.Power(c); + return s.isError() ? j3.create(D3.NUM) : typeof l == `number` || Ja(l) ? R4.create(+l) : z3.create(l); + } + }; + var Nd = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = ``; + for (let n = 0; n < e29.length; n++) { + if (t instanceof j3) return t; + let r = e29[n]; + if (r.isArray()) { + let e30 = false, n2; + if (r.iterator((r2) => { + if (t = this._handleSingleObject(r2, t), t instanceof j3) return e30 = true, n2 = t, false; + }), e30) return n2; + } else t = this._handleSingleObject(r, t); + } + return t instanceof j3 ? t : typeof t == `number` || Ja(t) ? R4.create(+t) : z3.create(t); + } + _handleSingleObject(e29, t) { + let n = t; + if (e29.isError()) return e29; + if (e29.isBoolean()) return j3.create(D3.VALUE); + let r = `${e29.getValue()}`; + if (typeof t != `number` && !t) { + let e30 = new td2(r); + if (e30.isError()) return j3.create(D3.NUM); + n = e30.toString(); + } else { + let e30 = new td2(t), i = new td2(r); + if (e30.isError() || i.isError()) return j3.create(D3.NUM); + if (e30.isDifferentSuffixes(i)) return j3.create(D3.VALUE); + n = e30.Product(i); + } + return n; + } + }; + var Pd = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let { isError: t, errorObject: n, variants: r } = Y3(e29); + if (t) return n; + let [i] = r, a = new td2(`${i.getValue()}`); + if (a.isError()) return j3.create(D3.NUM); + let o = a.getRealNum(); + return R4.create(o); + } + }; + var Fd = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let { isError: t, errorObject: n, variants: r } = Y3(e29); + if (t) return n; + let [i] = r, a = new td2(`${i.getValue()}`); + if (a.isError()) return j3.create(D3.NUM); + let o = a.Sec(); + return typeof o == `number` || Ja(o) ? R4.create(+o) : z3.create(o); + } + }; + var Id = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let { isError: t, errorObject: n, variants: r } = Y3(e29); + if (t) return n; + let [i] = r, a = new td2(`${i.getValue()}`); + if (a.isError()) return j3.create(D3.NUM); + let o = a.Sech(); + return typeof o == `number` || Ja(o) ? R4.create(+o) : z3.create(o); + } + }; + var Ld = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let { isError: t, errorObject: n, variants: r } = Y3(e29); + if (t) return n; + let [i] = r, a = new td2(`${i.getValue()}`); + if (a.isError()) return j3.create(D3.NUM); + let o = a.Sin(); + return typeof o == `number` || Ja(o) ? R4.create(+o) : z3.create(o); + } + }; + var Rd = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let { isError: t, errorObject: n, variants: r } = Y3(e29); + if (t) return n; + let [i] = r, a = new td2(`${i.getValue()}`); + if (a.isError()) return j3.create(D3.NUM); + let o = a.Sinh(); + return a.isError() ? j3.create(D3.NUM) : typeof o == `number` || Ja(o) ? R4.create(+o) : z3.create(o); + } + }; + var zd = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let { isError: t, errorObject: n, variants: r } = Y3(e29); + if (t) return n; + let [i] = r, a = new td2(`${i.getValue()}`); + if (a.isError()) return j3.create(D3.NUM); + if (a.getRealNum() === 0 && a.getINum() === 0) return R4.create(0); + let o = a.Sqrt(); + return typeof o == `number` || Ja(o) ? R4.create(+o) : z3.create(o); + } + }; + var Bd = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + if (e29.isNull() || t.isNull()) return j3.create(D3.NA); + let { isError: n, errorObject: r, variants: i } = Y3(e29, t); + if (n) return r; + let [a, o] = i, s = `${a.getValue()}`, c = `${o.getValue()}`, l = new td2(s), u = new td2(c); + if (l.isError() || u.isError() || l.isDifferentSuffixes(u)) return j3.create(D3.NUM); + let d = l.Sub(u); + return typeof d == `number` || Ja(d) ? R4.create(+d) : z3.create(d); + } + }; + var Vd = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = ``; + for (let n = 0; n < e29.length; n++) { + if (t instanceof j3) return t; + let r = e29[n]; + if (r.isArray()) { + let e30 = false, n2; + if (r.iterator((r2) => { + if (t = this._handleSingleObject(r2, t), t instanceof j3) return e30 = true, n2 = t, false; + }), e30) return n2; + } else t = this._handleSingleObject(r, t); + } + return t instanceof j3 ? t : typeof t == `number` || Ja(t) ? R4.create(+t) : z3.create(t); + } + _handleSingleObject(e29, t) { + let n = t; + if (e29.isError()) return e29; + if (e29.isBoolean()) return j3.create(D3.VALUE); + let r = `${e29.getValue()}`; + if (typeof t != `number` && !t) { + let e30 = new td2(r); + if (e30.isError()) return j3.create(D3.NUM); + n = e30.toString(); + } else { + let e30 = new td2(t), i = new td2(r); + if (e30.isError() || i.isError()) return j3.create(D3.NUM); + if (e30.isDifferentSuffixes(i)) return j3.create(D3.VALUE); + n = e30.Sum(i); + } + return n; + } + }; + var Hd = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let { isError: t, errorObject: n, variants: r } = Y3(e29); + if (t) return n; + let [i] = r, a = new td2(`${i.getValue()}`); + if (a.isError()) return j3.create(D3.NUM); + let o = a.Tan(); + return typeof o == `number` || Ja(o) ? R4.create(+o) : z3.create(o); + } + }; + var Ud = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let { isError: t, errorObject: n, variants: r } = Y3(e29); + if (t) return n; + let [i] = r, a = new td2(`${i.getValue()}`); + if (a.isError()) return j3.create(D3.NUM); + let o = a.Tanh(); + return a.isError() ? j3.create(D3.NUM) : typeof o == `number` || Ja(o) ? R4.create(+o) : z3.create(o); + } + }; + var Wd = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + if (e29.isNull()) return j3.create(D3.NA); + let n = 0; + if (t) { + let { isError: e30, errorObject: r2, variants: i2 } = Y3(t); + if (e30) return r2; + let [a2] = i2; + if (n = Math.floor(+a2.getValue()), Number.isNaN(n)) return j3.create(D3.VALUE); + if (n < 0 || n > 10) return j3.create(D3.NUM); + } + let { isError: r, errorObject: i, variants: a } = Y3(e29); + if (r) return i; + let [o] = a, s = `${o.getValue()}`; + if (!Ds2(s)) return j3.create(D3.NUM); + let c = s.length === 10 && s.substring(0, 1) === `7`, l = c ? Number.parseInt(s, 8) - 1073741824 : Number.parseInt(s, 8); + if (l < -512 || l > 511) return j3.create(D3.NUM); + let u; + if (c) { + let e30 = (512 + l).toString(2); + u = `1${`0`.repeat(9 - e30.length)}${e30}`; + } else if (u = l.toString(2), t) { + if (n < u.length) return j3.create(D3.NUM); + u = `0`.repeat(n - u.length) + u; + } + return z3.create(u); + } + }; + var Gd = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let { isError: t, errorObject: n, variants: r } = Y3(e29); + if (t) return n; + let [i] = r, a = `${i.getValue()}`; + if (!Ds2(a)) return j3.create(D3.NUM); + let o = Number.parseInt(a, 8); + return o >= 536870912 && (o -= 1073741824), R4.create(o); + } + }; + var Kd = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + if (e29.isNull()) return j3.create(D3.NA); + let n = 0; + if (t) { + let { isError: e30, errorObject: r2, variants: i2 } = Y3(t); + if (e30) return r2; + let [a2] = i2; + if (n = Math.floor(+a2.getValue()), Number.isNaN(n)) return j3.create(D3.VALUE); + if (n < 0 || n > 10) return j3.create(D3.NUM); + } + let { isError: r, errorObject: i, variants: a } = Y3(e29); + if (r) return i; + let [o] = a, s = `${o.getValue()}`; + if (!Ds2(s)) return j3.create(D3.NUM); + let c = Number.parseInt(s, 8), l; + if (c >= 536870912) l = `ff${(c + 3221225472).toString(16)}`; + else if (l = c.toString(16), t) { + if (n < l.length) return j3.create(D3.NUM); + l = `0`.repeat(n - l.length) + l; + } + return z3.create(l.toLocaleUpperCase()); + } + }; + var qd = [[Uu2, U3.BESSELI], [Wu, U3.BESSELJ], [Gu2, U3.BESSELK], [Ku2, U3.BESSELY], [qu2, U3.BIN2DEC], [Ju2, U3.BIN2HEX], [Yu2, U3.BIN2OCT], [Xu2, U3.BITAND], [Zu2, U3.BITLSHIFT], [Qu2, U3.BITOR], [$u, U3.BITRSHIFT], [ed2, U3.BITXOR], [nd2, U3.COMPLEX], [rd2, U3.CONVERT], [id2, U3.DEC2BIN], [ad2, U3.DEC2HEX], [od2, U3.DEC2OCT], [sd2, U3.DELTA], [cd2, U3.ERF], [ld, U3.ERF_PRECISE], [ud, U3.ERFC], [dd2, U3.ERFC_PRECISE], [fd, U3.GESTEP], [pd, U3.HEX2BIN], [md2, U3.HEX2DEC], [hd2, U3.HEX2OCT], [gd2, U3.IMABS], [_d, U3.IMAGINARY], [vd2, U3.IMARGUMENT], [yd2, U3.IMCONJUGATE], [bd2, U3.IMCOS], [xd, U3.IMCOSH], [Sd2, U3.IMCOT], [Cd2, U3.IMCOTH], [wd2, U3.IMCSC], [Td2, U3.IMCSCH], [Ed2, U3.IMDIV], [Dd2, U3.IMEXP], [Od2, U3.IMLN], [kd, U3.IMLOG], [jd, U3.IMLOG10], [Ad, U3.IMLOG2], [Md, U3.IMPOWER], [Nd, U3.IMPRODUCT], [Pd, U3.IMREAL], [Fd, U3.IMSEC], [Id, U3.IMSECH], [Ld, U3.IMSIN], [Rd, U3.IMSINH], [zd, U3.IMSQRT], [Bd, U3.IMSUB], [Vd, U3.IMSUM], [Hd, U3.IMTAN], [Ud, U3.IMTANH], [Wd, U3.OCT2BIN], [Gd, U3.OCT2DEC], [Kd, U3.OCT2HEX]]; + function Jd(e29, t, n, r) { + let { days: i } = pt2(Qd(e29, t, n), e29, r); + return i; + } + function Yd(e29, t, n, r) { + let i; + if (r === 1) { + let r2 = Qd(e29, t, n), a = M3(r2); + a = Tt(a, 12 / n); + let o = et2(a); + i = r2 < 0 && n === 1 ? 365 : o - r2; + } else i = r === 3 ? 365 / n : 360 / n; + return i; + } + function Xd(e29, t, n) { + let r = M3(e29), i = M3(t); + for (i.setUTCFullYear(r.getUTCFullYear()), i < r && i.setUTCFullYear(i.getUTCFullYear() + 1); i > r; ) i = Tt(i, -12 / n); + return i = Tt(i, 12 / n), et2(i); + } + function Zd(e29, t, n) { + let r = 0, i = M3(e29), a = M3(t); + for (; a > i; ) a = Tt(a, -12 / n), r++; + return r; + } + function Qd(e29, t, n) { + let r = M3(e29), i = M3(t); + for (i.setUTCFullYear(r.getUTCFullYear()), i < r && i.setUTCFullYear(i.getUTCFullYear() + 1); i > r; ) i = Tt(i, -12 / n); + return et2(i); + } + function $d(e29, t, n, r, i, a) { + let o = Jd(e29, t, i, a), s = Yd(e29, t, i, a), c = Zd(e29, t, i), l = (s - o) / s - 1, u = r / i + 1, d = n * 100 / i, f = 0, p = 0; + for (let e30 = 1; e30 <= c; e30++) { + let t2 = e30 + l, n2 = d / u ** t2; + f += t2 * n2, p += n2; + } + let m = c + l, h = 100 / u ** m; + return f += m * h, p += h, f / p / i; + } + function ef(e29, t, n, r, i) { + let a; + if (e29 === 0) a = (n + r) / t; + else { + let o = (1 + e29) ** t; + a = i === 1 ? (r * e29 / (o - 1) + n * e29 / (1 - 1 / o)) / (1 + e29) : r * e29 / (o - 1) + n * e29 / (1 - 1 / o); + } + return -a; + } + function tf(e29, t, n, r, i) { + let a; + if (e29 === 0) a = r + n * t; + else { + if (e29 === -1 && t === 0) return NaN; + let o = (1 + e29) ** t; + a = i === 1 ? r * o + n * (1 + e29) * (o - 1) / e29 : r * o + n * (o - 1) / e29; + } + return -a; + } + function nf(e29, t, n, r, i, a) { + let o = ef(e29, n, r, i, a); + return (t === 1 ? a === 1 ? 0 : -r : a === 1 ? tf(e29, t - 2, o, r, 1) - o : tf(e29, t - 1, o, r, 0)) * e29; + } + function rf(e29, t) { + let n = 0; + for (let r = 1; r <= t.length; r++) n += t[r - 1] / (1 + e29) ** r; + return n; + } + function af(e29, t, n, r, i, a, o, s, c) { + let l = cf(n, r, c), u = Yd(e29, r, s, c); + return l < u ? of2(e29, t, n, r, i, a, o, s, c, l, u) : sf(e29, t, n, r, i, a, o, s, c, u); + } + function of2(e29, t, n, r, i, a, o, s, c, l, u) { + let d = 0, f = Zd(e29, t, s), p = cf(e29, r, c); + d += o / (1 + a / s) ** (f - 1 + p / u), d += 100 * i / s * l / u / (1 + a / s) ** (p / u); + for (let e30 = 2; e30 <= f; e30++) d += 100 * i / s / (1 + a / s) ** (e30 - 1 + p / u); + let m = cf(n, e29, c); + return d -= 100 * i / s * m / u, d; + } + function sf(e29, t, n, r, i, a, o, s, c, l) { + let u = 0, d = Zd(r, t, s), f = ff(r, e29, 12 / s, true), p; + if (c === 2 || c === 3) p = cf(e29, Xd(e29, r, s), c); + else { + let { days: t2 } = pt2(Qd(e29, r, s), e29, c); + p = l - t2; + } + u += o / (1 + a / s) ** (d + f + p / l); + let m = Zd(n, r, s), h = r, g2 = 0, _2 = 0; + for (let t2 = m; t2 >= 1; t2--) { + let r2 = df(h, -12 / s, false), i2 = c === 1 ? cf(r2, h, c) : l, a2 = t2 > 1 ? i2 : cf(n, h, c); + g2 += a2 / i2; + let o2 = cf(n > r2 ? n : r2, e29 < h ? e29 : h, c); + _2 += o2 / i2, h = r2; + } + u += 100 * i / s * g2 / (1 + a / s) ** (f + p / l); + for (let e30 = 1; e30 <= d; e30++) u += 100 * i / s / (1 + a / s) ** (e30 + f + p / l); + return u -= 100 * i / s * _2, u; + } + function cf(e29, t, n) { + let { days: r } = pt2(e29, t, n); + return e29 < t ? r : 0; + } + function lf(e29, t, n) { + let r = M3(e29), i = r.getUTCFullYear(), a = r.getUTCMonth(), o = r.getUTCDate(), s = wt2(i, a, o), c = M3(t), l = c.getUTCFullYear(), u = c.getUTCMonth(), d = c.getUTCDate(), f = wt2(l, u, d); + return !(o !== d && !(s && f) || Math.abs((l - i) * 12 + (u - a)) % (12 / n) != 0); + } + function uf(e29, t, n) { + return Qd(e29, t, n) >= 0; + } + function df(e29, t, n) { + let r = M3(e29); + if (r = Tt(r, t), n) { + let e30 = xt2(r.getUTCFullYear(), r.getUTCMonth()); + r.setUTCDate(e30); + } + return et2(r); + } + function ff(e29, t, n, r) { + let i = M3(e29), a = M3(t), o = i.getUTCFullYear(), s = i.getUTCMonth(), c = i.getUTCDate(), l = a.getUTCFullYear(), u = a.getUTCMonth(), d = a.getUTCDate(), f = wt2(o, s, c), p = !f && s !== 1 && c > 28 && c < xt2(o, s) ? wt2(l, u, d) : f, m = df(t, 0, p), h = r - 0 + +(t < m), g2 = df(m, n, p); + for (; !(n > 0 ? g2 >= t : g2 <= t); ) g2 = df(g2, n, p), h++; + return h; + } + function pf(e29, t) { + let n = 1e-7; + n * 2; + let r = 1, i = 0, a = e29, o; + for (; r > n && i < 500; ) { + let e30 = (t(a + n) - t(a - n)) / 2e-7; + o = a - t(a) / e30, i++, r = Math.abs(o - a), a = o; + } + return Number.isNaN(a) || Math.abs(a) === 1 / 0 || i === 500 ? mf(e29, t) : a; + } + function mf(e29, t) { + let n = 1e-7, r = Number.MAX_VALUE, i = 1.6, a = e29 - 0.01 <= -1 ? -1 + n : e29 - 0.01, o = e29 + 0.01 >= r ? r - n : e29 + 0.01, s, c, l = 0; + if (e29 <= -1 || e29 >= r) return j3.create(D3.NUM); + for (let e30 = 0; e30 < 60; e30++) { + s = a <= -1 ? -1 + n : a, c = o >= r ? r - n : o; + let l2 = t(s), u2 = t(c); + if (l2 * u2 <= 0) break; + if (l2 * u2 > 0) a = s + i * (s - c), o = c + i * (c - s); + else return j3.create(D3.NUM); + if (e30 === 59) return j3.create(D3.NUM); + } + s = s, c = c; + let u = t(s), d = t(c), f, p; + if (Math.abs(u) < n || Math.abs(d) < n) return j3.create(D3.NUM); + do + p = s + (c - s) / 2, f = t(p), u * f < 0 ? c = p : s = p, u = t(s), l++; + while (Math.abs(f) > n && l < 60); + return p; + } + function hf(e29, t, n, r, i, a, o) { + let s = Zd(e29, t, a), c = Yd(e29, t, a, o), l = Jd(e29, t, a, o); + if (s === 1) { + let e30 = c - l, t2 = 100 * n / a + i, o2 = r / a * e30 / c + 1, s2 = 100 * n / a * l / c; + return t2 / o2 - s2; + } + let u = c - l, d = i / (1 + r / a) ** (s - 1 + u / c); + for (let e30 = 1; e30 <= s; e30++) d += 100 * n / a / (1 + r / a) ** (e30 - 1 + u / c); + return d -= 100 * n / a * l / c, d; + } + function gf(e29, t, n, r, i) { + let a = 0, o = i / n; + o >= 1 ? (o = 1, a = r === 1 ? e29 : 0) : a = e29 * (1 - o) ** (r - 1); + let s = e29 * (1 - o) ** r, c = 0; + return c = s < t ? a - t : a - s, c < 0 && (c = 0), c; + } + var _f = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 6), E3(this, `maxParams`, 8); + } + calculate(e29, t, n, r, i, a, o, s) { + let c = o == null ? R4.create(0) : o, l = s == null ? L3.create(true) : s, { isError: u, errorObject: d, variants: f } = Y3(e29, t, n, r, i, a, c); + if (u) return d; + let [p, m, h, g2, _2, v, y] = f, b = N3(p); + if (typeof b != `number`) return b; + let x2 = N3(m); + if (typeof x2 != `number`) return x2; + let S4 = N3(h); + if (typeof S4 != `number`) return S4; + let C3 = +g2.getValue(), ee = +_2.getValue(), te = Math.floor(+v.getValue()), ne = Math.floor(+y.getValue()), re = +l.getValue(); + return Number.isNaN(C3) || Number.isNaN(ee) || Number.isNaN(te) || Number.isNaN(ne) || Number.isNaN(re) ? j3.create(D3.VALUE) : C3 <= 0 || ee <= 0 || ![1, 2, 4].includes(te) || ne < 0 || ne > 4 || Math.floor(b) >= Math.floor(S4) ? j3.create(D3.NUM) : this._getResult(b, x2, S4, C3, ee, te, ne, re); + } + _getResult(e29, t, n, r, i, a, o, s) { + let c = Qd(e29, t, a); + if (c <= 0) return R4.create(0); + c = Qd(n, t, a); + let l = 12 / a, u = M3(t), d = wt2(u.getUTCFullYear(), u.getUTCMonth(), u.getUTCDate()), f = df(t, -l, d); + if (n > t && s) for (f = t; f < n; ) f = df(f, l, d); + let p = e29 > f ? e29 : f, { days: m } = pt2(p, n, o); + if (c >= e29) { + let { days: e30 } = pt2(p, n, o ? 4 : 0); + m = e30; + } + n < p && (m = -m); + let h = Yd(f, t, a, o), g2 = m / h, _2 = f, v = e29; + for (; _2 > e29; ) { + v = _2, _2 = df(_2, -l, d), p = e29 > _2 ? e29 : _2; + let { days: t2 } = pt2(p, v, o); + if (o === 0) m = v >= p || e29 <= _2 ? t2 : -t2, h = Yd(_2, v, a, o); + else if (m = v < p ? -t2 : t2, o === 3) h = 365 / a; + else { + let { days: e30 } = pt2(_2, v, o); + h = v < _2 ? -e30 : e30; + } + g2 += e29 <= _2 ? s ? 1 : 0 : m / h; + } + let y = i * r / a * g2; + return R4.create(y); + } + }; + var vf = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 4), E3(this, `maxParams`, 5); + } + calculate(e29, t, n, r, i) { + let { isError: a, errorObject: o, variants: s } = Y3(e29, t, n, r, i == null ? R4.create(0) : i); + if (a) return o; + let [c, l, u, d, f] = s, p = N3(c); + if (typeof p != `number`) return p; + let m = N3(l); + if (typeof m != `number`) return m; + let h = +u.getValue(), g2 = +d.getValue(), _2 = Math.floor(+f.getValue()); + if (Number.isNaN(h) || Number.isNaN(g2) || Number.isNaN(_2)) return j3.create(D3.VALUE); + if (h <= 0 || g2 <= 0 || _2 < 0 || _2 > 4 || Math.floor(p) > Math.floor(m)) return j3.create(D3.NUM); + if (Math.floor(p) === Math.floor(m)) return R4.create(0); + let { days: v, yearDays: y } = pt2(p, m, _2), b = g2 * h * v / y; + return R4.create(b); + } + }; + var yf = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 6), E3(this, `maxParams`, 7); + } + calculate(e29, t, n, r, i, a, o) { + let { isError: s, errorObject: c, variants: l } = Y3(e29, t, n, r, i, a, o == null ? R4.create(0) : o); + if (s) return c; + let [u, d, f, p, m, h, g2] = l, _2 = N3(d); + if (typeof _2 != `number`) return _2; + let v = N3(f); + if (typeof v != `number`) return v; + let y = +u.getValue(), b = +p.getValue(), x2 = +m.getValue(), S4 = +h.getValue(), C3 = Math.floor(+g2.getValue()); + return Number.isNaN(y) || Number.isNaN(b) || Number.isNaN(x2) || Number.isNaN(S4) || Number.isNaN(C3) ? j3.create(D3.VALUE) : y <= 0 || b < 0 || y < b || Math.floor(_2) > Math.floor(v) || x2 < 0 || S4 <= 0 || ![0, 1, 3, 4].includes(C3) ? j3.create(D3.NUM) : (x2 = x2 > 1 ? Math.floor(x2) : Math.ceil(x2), this._getResult(y, _2, v, b, x2, S4, C3)); + } + _getResult(e29, t, n, r, i, a, o) { + let s = e29 - r, c = e29 * a, { days: l, yearDays: u } = pt2(t, n, o), d = l / u, f = Math.ceil(s / c - d); + if (f < 0) return R4.create(0); + let p = c; + return i === 0 ? p = c * d : i === f ? p = s - c * (d + i - 1) : i > f && (p = 0), R4.create(p); + } + }; + var bf = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 4); + } + calculate(e29, t, n, r) { + let { isError: i, errorObject: a, variants: o } = Y3(e29, t, n, r == null ? R4.create(0) : r); + if (i) return a; + let [s, c, l, u] = o, d = N3(s); + if (typeof d != `number`) return d; + let f = N3(c); + if (typeof f != `number`) return f; + let p = Math.floor(+l.getValue()), m = Math.floor(+u.getValue()); + if (Number.isNaN(p) || Number.isNaN(m)) return j3.create(D3.VALUE); + if (![1, 2, 4].includes(p) || m < 0 || m > 4 || Math.floor(d) >= Math.floor(f)) return j3.create(D3.NUM); + let h = Jd(d, f, p, m); + return R4.create(h); + } + }; + var xf = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 4); + } + calculate(e29, t, n, r) { + let { isError: i, errorObject: a, variants: o } = Y3(e29, t, n, r == null ? R4.create(0) : r); + if (i) return a; + let [s, c, l, u] = o, d = N3(s); + if (typeof d != `number`) return d; + let f = N3(c); + if (typeof f != `number`) return f; + let p = Math.floor(+l.getValue()), m = Math.floor(+u.getValue()); + if (Number.isNaN(p) || Number.isNaN(m)) return j3.create(D3.VALUE); + if (![1, 2, 4].includes(p) || m < 0 || m > 4 || Math.floor(d) >= Math.floor(f)) return j3.create(D3.NUM); + let h = Yd(d, f, p, m); + return R4.create(h); + } + }; + var Sf = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 4); + } + calculate(e29, t, n, r) { + let { isError: i, errorObject: a, variants: o } = Y3(e29, t, n, r == null ? R4.create(0) : r); + if (i) return a; + let [s, c, l, u] = o, d = N3(s); + if (typeof d != `number`) return d; + let f = N3(c); + if (typeof f != `number`) return f; + let p = Math.floor(+l.getValue()), m = Math.floor(+u.getValue()); + if (Number.isNaN(p) || Number.isNaN(m)) return j3.create(D3.VALUE); + if (![1, 2, 4].includes(p) || m < 0 || m > 4 || Math.floor(d) >= Math.floor(f)) return j3.create(D3.NUM); + let h = M3(d), g2 = M3(f); + for (g2.setUTCFullYear(h.getUTCFullYear()), g2 < h && g2.setUTCFullYear(g2.getUTCFullYear() + 1); g2 > h; ) g2.setUTCMonth(g2.getUTCMonth() - 12 / p); + g2.setUTCMonth(g2.getUTCMonth() + 12 / p); + let { days: _2 } = pt2(d, et2(g2), m); + return R4.create(_2); + } + }; + var Cf = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 4); + } + calculate(e29, t, n, r) { + let { isError: i, errorObject: a, variants: o } = Y3(e29, t, n, r == null ? R4.create(0) : r); + if (i) return a; + let [s, c, l, u] = o, d = N3(s); + if (typeof d != `number`) return d; + let f = N3(c); + if (typeof f != `number`) return f; + let p = Math.floor(+l.getValue()), m = Math.floor(+u.getValue()); + if (Number.isNaN(p) || Number.isNaN(m)) return j3.create(D3.VALUE); + if (![1, 2, 4].includes(p) || m < 0 || m > 4 || Math.floor(d) >= Math.floor(f)) return j3.create(D3.NUM); + let h = Xd(d, f, p); + return R4.create(h); + } + }; + var wf = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 4); + } + calculate(e29, t, n, r) { + let { isError: i, errorObject: a, variants: o } = Y3(e29, t, n, r == null ? R4.create(0) : r); + if (i) return a; + let [s, c, l, u] = o, d = N3(s); + if (typeof d != `number`) return d; + let f = N3(c); + if (typeof f != `number`) return f; + let p = Math.floor(+l.getValue()), m = Math.floor(+u.getValue()); + if (Number.isNaN(p) || Number.isNaN(m)) return j3.create(D3.VALUE); + if (![1, 2, 4].includes(p) || m < 0 || m > 4 || Math.floor(d) >= Math.floor(f) || Qd(d, f, p) < 0) return j3.create(D3.NUM); + let h = Zd(d, f, p); + return R4.create(h); + } + }; + var Tf = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 4); + } + calculate(e29, t, n, r) { + let { isError: i, errorObject: a, variants: o } = Y3(e29, t, n, r == null ? R4.create(0) : r); + if (i) return a; + let [s, c, l, u] = o, d = N3(s); + if (typeof d != `number`) return d; + let f = N3(c); + if (typeof f != `number`) return f; + let p = Math.floor(+l.getValue()), m = Math.floor(+u.getValue()); + if (Number.isNaN(p) || Number.isNaN(m)) return j3.create(D3.VALUE); + if (![1, 2, 4].includes(p) || m < 0 || m > 4 || Math.floor(d) >= Math.floor(f)) return j3.create(D3.NUM); + let h = Qd(d, f, p); + return h < 0 && (h = 0), R4.create(h); + } + }; + var Ef = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 6), E3(this, `maxParams`, 6); + } + calculate(e29, t, n, r, i, a) { + let { isError: o, errorObject: s, variants: c } = Y3(e29, t, n, r, i, a); + if (o) return s; + let [l, u, d, f, p, m] = c, h = +l.getValue(), g2 = +u.getValue(), _2 = +d.getValue(), v = +f.getValue(), y = +p.getValue(), b = +m.getValue(); + return Number.isNaN(h) || Number.isNaN(g2) || Number.isNaN(_2) || Number.isNaN(v) || Number.isNaN(y) || Number.isNaN(b) ? j3.create(D3.VALUE) : h <= 0 || g2 <= 0 || _2 <= 0 || v < 1 || y < 1 || v > y || v > g2 || y > g2 || ![0, 1].includes(b) ? j3.create(D3.NUM) : Math.trunc(v) !== v && Math.trunc(y) !== y && Math.trunc(v) === Math.trunc(y) ? R4.create(0) : this._getResult(h, g2, _2, v, y, b); + } + _getResult(e29, t, n, r, i, a) { + let o = ef(e29, t, n, 0, a), s = 0, c = Math.ceil(r); + c === 1 && (a === 0 && (s = -n), c++); + let l = false; + for (let t2 = c; t2 <= i; t2++) { + let r2 = a === 1 ? tf(e29, t2 - 2, o, n, 1) : tf(e29, t2 - 1, o, n, 0); + if (r2 === 0) { + l = true; + break; + } + s += a === 1 ? r2 - o : r2; + } + return s *= e29, (s < o * (i - r + 1) || l) && (s = o * (i - r + 1)), R4.create(s); + } + }; + var Df = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 6), E3(this, `maxParams`, 6); + } + calculate(e29, t, n, r, i, a) { + let { isError: o, errorObject: s, variants: c } = Y3(e29, t, n, r, i, a); + if (o) return s; + let [l, u, d, f, p, m] = c, h = +l.getValue(), g2 = +u.getValue(), _2 = +d.getValue(), v = +f.getValue(), y = +p.getValue(), b = +m.getValue(); + return Number.isNaN(h) || Number.isNaN(g2) || Number.isNaN(_2) || Number.isNaN(v) || Number.isNaN(y) || Number.isNaN(b) ? j3.create(D3.VALUE) : h <= 0 || g2 <= 0 || _2 <= 0 || v < 1 || y < 1 || v > y || ![0, 1].includes(b) ? j3.create(D3.NUM) : Math.trunc(v) !== v && Math.trunc(y) !== y && Math.trunc(v) === Math.trunc(y) ? R4.create(0) : this._getResult(h, g2, _2, v, y, b); + } + _getResult(e29, t, n, r, i, a) { + let o = ef(e29, t, n, 0, a), s = 0, c = Math.ceil(r); + c === 1 && (s = a === 0 ? o + n * e29 : o, c++); + for (let t2 = c; t2 <= i; t2++) s += a === 1 ? o - (tf(e29, t2 - 2, o, n, 1) - o) * e29 : o - tf(e29, t2 - 1, o, n, 0) * e29; + return R4.create(s); + } + }; + var Of = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 4), E3(this, `maxParams`, 5), E3(this, `needsLocale`, true); + } + calculate(e29, t, n, r, i) { + let a = i == null ? R4.create(12) : i; + a.isNull() && (a = R4.create(12)); + let o = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1, a.isArray() ? a.getRowCount() : 1), s = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1, a.isArray() ? a.getColumnCount() : 1), c = V3(o, s, e29, j3.create(D3.NA)), l = V3(o, s, t, j3.create(D3.NA)), u = V3(o, s, n, j3.create(D3.NA)), d = V3(o, s, r, j3.create(D3.NA)), f = V3(o, s, a, j3.create(D3.NA)), p = c.map((e30, t2, n2) => { + let { isError: r2, errorObject: i2, variants: a2 } = X3(e30, l.get(t2, n2), u.get(t2, n2), d.get(t2, n2), f.get(t2, n2)); + if (r2) return i2; + let [o2, s2, c2, p2, m] = a2, h = +o2.getValue(), g2 = +s2.getValue(), _2 = +c2.getValue(), v = +p2.getValue(), y = Math.floor(+m.getValue()); + return h < 0 || g2 < 0 || _2 <= 0 || v <= 0 || Math.floor(v) > Math.floor(_2) || y < 1 || y > 12 ? j3.create(D3.NUM) : (v < 1 && (v = 1), v = Math.floor(v), this._getResult(h, g2, _2, v, y, t2, n2)); + }); + return o === 1 && s === 1 ? p.get(0, 0) : p; + } + _getResult(e29, t, n, r, i, a, o) { + let s = +(1 - (t / e29) ** (1 / n)).toFixed(3), c = e29 * s * i / 12, l = c, u = 0, d = r === n ? n - 1 : r; + for (let t2 = 2; t2 <= d; t2++) u = (e29 - l) * s, l += u; + let f; + return f = r === 1 ? c : r === n ? (e29 - l) * s : u, Number.isNaN(f) || !Number.isFinite(f) ? j3.create(D3.NUM) : a === 0 && o === 0 ? R4.create(f, Pi(this.getLocale())) : R4.create(f); + } + }; + var kf = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 4), E3(this, `maxParams`, 5), E3(this, `needsLocale`, true); + } + calculate(e29, t, n, r, i) { + let a = i == null ? R4.create(2) : i; + a.isNull() && (a = R4.create(2)); + let o = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1, a.isArray() ? a.getRowCount() : 1), s = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1, a.isArray() ? a.getColumnCount() : 1), c = V3(o, s, e29, j3.create(D3.NA)), l = V3(o, s, t, j3.create(D3.NA)), u = V3(o, s, n, j3.create(D3.NA)), d = V3(o, s, r, j3.create(D3.NA)), f = V3(o, s, a, j3.create(D3.NA)), p = c.map((e30, t2, n2) => { + let { isError: r2, errorObject: i2, variants: a2 } = X3(e30, l.get(t2, n2), u.get(t2, n2), d.get(t2, n2), f.get(t2, n2)); + if (r2) return i2; + let [o2, s2, c2, p2, m] = a2, h = +o2.getValue(), g2 = +s2.getValue(), _2 = +c2.getValue(), v = +p2.getValue(), y = +m.getValue(); + if (h < 0 || g2 < 0 || _2 <= 0 || v <= 0 || v > _2 || y <= 0) return j3.create(D3.NUM); + let b = gf(h, g2, _2, v, y); + return Number.isNaN(b) || !Number.isFinite(b) ? j3.create(D3.NUM) : t2 === 0 && n2 === 0 ? R4.create(b, Pi(this.getLocale())) : R4.create(b); + }); + return o === 1 && s === 1 ? p.get(0, 0) : p; + } + }; + var Af = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 4), E3(this, `maxParams`, 5); + } + calculate(e29, t, n, r, i) { + let { isError: a, errorObject: o, variants: s } = Y3(e29, t, n, r, i == null ? R4.create(0) : i); + if (a) return o; + let [c, l, u, d, f] = s, p = N3(c); + if (typeof p != `number`) return p; + let m = N3(l); + if (typeof m != `number`) return m; + let h = +u.getValue(), g2 = +d.getValue(), _2 = Math.floor(+f.getValue()); + if (Number.isNaN(h) || Number.isNaN(g2) || Number.isNaN(_2)) return j3.create(D3.VALUE); + if (h <= 0 || g2 <= 0 || _2 < 0 || _2 > 4 || Math.floor(p) >= Math.floor(m)) return j3.create(D3.NUM); + let { days: v, yearDays: y } = pt2(p, m, _2), b = (g2 - h) / g2 * (y / v); + return R4.create(b); + } + }; + var jf = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let { isError: n, errorObject: r, variants: i } = Y3(e29, t); + if (n) return r; + let [a, o] = i, s = +a.getValue(), c = Math.floor(+o.getValue()); + if (Number.isNaN(s) || Number.isNaN(c)) return j3.create(D3.VALUE); + if (c < 0) return j3.create(D3.NUM); + if (c >= 0 && c < 1) return j3.create(D3.DIV_BY_ZERO); + c = Number.parseInt(`${c}`, 10); + let l = Number.parseInt(`${s}`, 10); + l += s % 1 * 10 ** Math.ceil(Math.log(c) / Math.LN10) / c; + let u = 10 ** (Math.ceil(Math.log(c) / Math.LN2) + 1); + return l = Math.round(l * u) / u, R4.create(l); + } + }; + var Mf = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let { isError: n, errorObject: r, variants: i } = Y3(e29, t); + if (n) return r; + let [a, o] = i, s = +a.getValue(), c = Math.floor(+o.getValue()); + if (Number.isNaN(s) || Number.isNaN(c)) return j3.create(D3.VALUE); + if (c < 0) return j3.create(D3.NUM); + if (c >= 0 && c < 1) return j3.create(D3.DIV_BY_ZERO); + c = Number.parseInt(`${c}`, 10); + let l = Number.parseInt(`${s}`, 10); + return l += s % 1 * 10 ** -Math.ceil(Math.log(c) / Math.LN10) * c, R4.create(l); + } + }; + var Nf = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 5), E3(this, `maxParams`, 6); + } + calculate(e29, t, n, r, i, a) { + let o = a == null ? R4.create(0) : a; + o.isNull() && (o = R4.create(0)); + let { isError: s, errorObject: c, variants: l } = bs2(e29, t, n, r, i, o); + if (s) return c; + let [u, d, f, p, m, h] = l, g2 = N3(u); + if (typeof g2 != `number`) return g2; + let _2 = N3(d); + if (typeof _2 != `number`) return _2; + let v = +f.getValue(), y = +p.getValue(), b = Math.floor(+m.getValue()), x2 = Math.floor(+h.getValue()); + if (Number.isNaN(v) || Number.isNaN(y) || Number.isNaN(b) || Number.isNaN(x2)) return j3.create(D3.VALUE); + if (v < 0 || y < 0 || ![1, 2, 4].includes(b) || x2 < 0 || x2 > 4 || Math.floor(g2) >= Math.floor(_2) || g2 <= 0 || _2 <= 366) return j3.create(D3.NUM); + let S4 = $d(g2, _2, v, y, b, x2); + return R4.create(S4); + } + }; + var Pf = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let { isError: n, errorObject: r, variants: i } = Y3(e29, t); + if (n) return r; + let [a, o] = i, s = +a.getValue(), c = Math.floor(+o.getValue()); + if (Number.isNaN(s) || Number.isNaN(c)) return j3.create(D3.VALUE); + if (s <= 0 || c < 1) return j3.create(D3.NUM); + c = Number.parseInt(`${c}`, 10); + let l = (1 + s / c) ** c - 1; + return R4.create(l); + } + }; + var Ff = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 5), E3(this, `needsLocale`, true); + } + calculate(e29, t, n, r, i) { + let a = r == null ? R4.create(0) : r, o = i == null ? R4.create(0) : i, s = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1, a.isArray() ? a.getRowCount() : 1, o.isArray() ? o.getRowCount() : 1), c = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1, a.isArray() ? a.getColumnCount() : 1, o.isArray() ? o.getColumnCount() : 1), l = V3(s, c, e29, j3.create(D3.NA)), u = V3(s, c, t, j3.create(D3.NA)), d = V3(s, c, n, j3.create(D3.NA)), f = V3(s, c, a, j3.create(D3.NA)), p = V3(s, c, o, j3.create(D3.NA)), m = l.map((e30, t2, n2) => { + let { isError: r2, errorObject: i2, variants: a2 } = X3(e30, u.get(t2, n2), d.get(t2, n2), f.get(t2, n2), p.get(t2, n2)); + if (r2) return i2; + let [o2, s2, c2, l2, m2] = a2, h = tf(+o2.getValue(), +s2.getValue(), +c2.getValue(), +l2.getValue(), +m2.getValue() ? 1 : 0); + return Number.isNaN(h) || !Number.isFinite(h) ? j3.create(D3.NUM) : t2 === 0 && n2 === 0 ? R4.create(h, Pi(this.getLocale())) : R4.create(h); + }); + return s === 1 && c === 1 ? m.get(0, 0) : m; + } + }; + var If = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let { isError: n, errorObject: r, variants: i } = Y3(e29); + if (n) return r; + let [a] = i, o = +a.getValue(); + if (Number.isNaN(o)) return j3.create(D3.VALUE); + let s = o; + if (t.isArray()) { + let e30 = t.getArrayValue().flat(); + for (let t2 = 0; t2 < e30.length; t2++) { + let n2 = e30[t2]; + if (n2.isBoolean()) return j3.create(D3.VALUE); + let r2 = +n2.getValue(); + if (Number.isNaN(r2)) return j3.create(D3.VALUE); + s *= 1 + r2; + } + } else { + if (t.isBoolean()) return j3.create(D3.VALUE); + let e30 = +t.getValue(); + if (Number.isNaN(e30)) return j3.create(D3.VALUE); + s *= 1 + e30; + } + return R4.create(s); + } + }; + var Lf = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 4), E3(this, `maxParams`, 5); + } + calculate(e29, t, n, r, i) { + let { isError: a, errorObject: o, variants: s } = Y3(e29, t, n, r, i == null ? R4.create(0) : i); + if (a) return o; + let [c, l, u, d, f] = s, p = N3(c); + if (typeof p != `number`) return p; + let m = N3(l); + if (typeof m != `number`) return m; + let h = +u.getValue(), g2 = +d.getValue(), _2 = Math.floor(+f.getValue()); + if (Number.isNaN(h) || Number.isNaN(g2) || Number.isNaN(_2)) return j3.create(D3.VALUE); + if (h <= 0 || g2 <= 0 || _2 < 0 || _2 > 4 || Math.floor(p) >= Math.floor(m)) return j3.create(D3.NUM); + let { days: v, yearDays: y } = pt2(p, m, _2), b = (g2 - h) / h * (y / v); + return R4.create(b); + } + }; + var Rf = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 4), E3(this, `maxParams`, 6), E3(this, `needsLocale`, true); + } + calculate(e29, t, n, r, i, a) { + let o = i == null ? R4.create(0) : i, s = a == null ? R4.create(0) : a, c = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1, o.isArray() ? o.getRowCount() : 1, s.isArray() ? s.getRowCount() : 1), l = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1, o.isArray() ? o.getColumnCount() : 1, s.isArray() ? s.getColumnCount() : 1), u = V3(c, l, e29, j3.create(D3.NA)), d = V3(c, l, t, j3.create(D3.NA)), f = V3(c, l, n, j3.create(D3.NA)), p = V3(c, l, r, j3.create(D3.NA)), m = V3(c, l, o, j3.create(D3.NA)), h = V3(c, l, s, j3.create(D3.NA)), g2 = u.map((e30, t2, n2) => { + let { isError: r2, errorObject: i2, variants: a2 } = X3(e30, d.get(t2, n2), f.get(t2, n2), p.get(t2, n2), m.get(t2, n2), h.get(t2, n2)); + if (r2) return i2; + let [o2, s2, c2, l2, u2, g3] = a2, _2 = +o2.getValue(), v = +s2.getValue(), y = +c2.getValue(), b = +l2.getValue(), x2 = +u2.getValue(), S4 = +g3.getValue(); + if (v < 1 || Math.floor(v) > Math.ceil(y)) return j3.create(D3.NUM); + let C3 = nf(_2, v, y, b, x2, S4 ? 1 : 0); + return Number.isNaN(C3) || !Number.isFinite(C3) ? j3.create(D3.NUM) : t2 === 0 && n2 === 0 ? R4.create(C3, Pi(this.getLocale())) : R4.create(C3); + }); + return c === 1 && l === 1 ? g2.get(0, 0) : g2; + } + }; + var zf = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = t == null ? R4.create(0.1) : t; + return n.isNull() && (n = R4.create(0.1)), n.isArray() ? n.map((t2, n2, r) => this._handleSingleObject(e29, t2, n2, r)) : this._handleSingleObject(e29, n); + } + _handleSingleObject(e29, t, n = 0, r = 0) { + if (e29.isError()) return e29; + if (t.isError()) return t; + if (e29.isNull()) return j3.create(D3.VALUE); + if (!e29.isArray()) return j3.create(D3.NUM); + let { _values: i, valuesHasError: a } = this._getValues(e29); + if (a) return j3.create(D3.VALUE); + let o = t; + if (o.isString() && (o = o.convertToNumberObjectValue(), o.isError())) return o; + let s = +o.getValue(), { positive: c, negative: l } = this._checkValues(i); + if (!c || !l) return j3.create(D3.NUM); + let u = pf(s, (e30) => rf(e30, i)); + return typeof u == `number` ? n === 0 && r === 0 ? R4.create(u, `0%`) : R4.create(u) : u; + } + _getValues(e29) { + let t = [], n = false; + return e29.iterator((e30) => { + let r = e30; + if (r.isError()) return n = true, false; + if (r.isNull() || r.isBoolean() || r.isString() && r.getValue() === ``) return true; + let i = +r.getValue(); + if (Number.isNaN(i)) return true; + t.push(i); + }), { _values: t, valuesHasError: n }; + } + _checkValues(e29) { + let t = false, n = false; + for (let r = 0; r < e29.length; r++) e29[r] > 0 && (t = true), e29[r] < 0 && (n = true); + return { positive: t, negative: n }; + } + }; + var Bf = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 4), E3(this, `maxParams`, 4); + } + calculate(e29, t, n, r) { + let i = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1), a = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1), o = V3(i, a, e29, j3.create(D3.NA)), s = V3(i, a, t, j3.create(D3.NA)), c = V3(i, a, n, j3.create(D3.NA)), l = V3(i, a, r, j3.create(D3.NA)), u = o.map((e30, t2, n2) => { + let { isError: r2, errorObject: i2, variants: a2 } = X3(e30, s.get(t2, n2), c.get(t2, n2), l.get(t2, n2)); + if (r2) return i2; + let [o2, u2, d, f] = a2, p = +o2.getValue(), m = +u2.getValue(), h = +d.getValue(), g2 = +f.getValue(); + if (h === 0) return j3.create(D3.DIV_BY_ZERO); + let _2 = g2 * p * (m / h - 1); + return R4.create(_2); + }); + return i === 1 && a === 1 ? u.get(0, 0) : u; + } + }; + var Vf = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 5), E3(this, `maxParams`, 6); + } + calculate(e29, t, n, r, i, a) { + let o = a == null ? R4.create(0) : a; + o.isNull() && (o = R4.create(0)); + let { isError: s, errorObject: c, variants: l } = bs2(e29, t, n, r, i, o); + if (s) return c; + let [u, d, f, p, m, h] = l, g2 = N3(u); + if (typeof g2 != `number`) return g2; + let _2 = N3(d); + if (typeof _2 != `number`) return _2; + let v = +f.getValue(), y = +p.getValue(), b = Math.floor(+m.getValue()), x2 = Math.floor(+h.getValue()); + if (Number.isNaN(v) || Number.isNaN(y) || Number.isNaN(b) || Number.isNaN(x2)) return j3.create(D3.VALUE); + if (v < 0 || y < 0 || ![1, 2, 4].includes(b) || x2 < 0 || x2 > 4 || Math.floor(g2) >= Math.floor(_2)) return j3.create(D3.NUM); + let S4 = $d(g2, _2, v, y, b, x2); + return S4 /= 1 + y / b, R4.create(S4); + } + }; + var Hf = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let { _values: r, numberValues: i, positive: a, negative: o } = this._getValues(e29), s = Math.max(t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), c = Math.max(t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), l = V3(s, c, t, j3.create(D3.NA)), u = V3(s, c, n, j3.create(D3.NA)), d = l.map((t2, n2, s2) => { + let c2 = u.get(n2, s2); + if (e29.isError()) return e29; + if (c2.isError()) return c2; + if (r.isError()) return r; + if (!a || !o) return j3.create(D3.DIV_BY_ZERO); + let l2 = +t2.getValue(), d2 = +c2.getValue(); + if (Number.isNaN(l2) || Number.isNaN(d2)) return j3.create(D3.VALUE); + if (d2 === -1) return j3.create(D3.DIV_BY_ZERO); + let f = this._getResult(i, l2, d2); + return n2 === 0 && s2 === 0 ? R4.create(f, `0%`) : R4.create(f); + }); + return s === 1 && c === 1 ? d.get(0, 0) : d; + } + _getValues(e29) { + let t = e29, n = [], r = false, i = false; + if (!e29.isError()) if (e29.isNull()) t = j3.create(D3.VALUE); + else if (!e29.isArray()) t = j3.create(D3.DIV_BY_ZERO); + else { + let { numberValues: a, valuesHasError: o, errorObject: s, positive: c, negative: l } = this._checkValues(e29); + o && (t = s), n = a, r = c, i = l; + } + return { _values: t, numberValues: n, positive: r, negative: i }; + } + _checkValues(e29) { + let t = [], n = false, r = j3.create(D3.VALUE), i = false, a = false; + return e29.iterator((e30) => { + let o = e30; + if (o.isError()) return n = true, r = o, false; + if (o.isNull() || o.isBoolean() || o.isString() && o.getValue() === ``) return true; + let s = +o.getValue(); + if (Number.isNaN(s)) return true; + s > 0 && (i = true), s < 0 && (a = true), t.push(s); + }), { numberValues: t, valuesHasError: n, errorObject: r, positive: i, negative: a }; + } + _getResult(e29, t, n) { + let r = e29.length, i = [], a = []; + for (let t2 = 0; t2 < r; t2++) e29[t2] > 0 ? a.push(e29[t2]) : e29[t2] < 0 && i.push(e29[t2]); + let o = this._npv(n, e29, `positive`), s = this._npv(t, e29, `negative`); + return (-o * (1 + n) ** r / (s * (1 + t))) ** (1 / (r - 1)) - 1; + } + _npv(e29, t, n) { + let r = 0; + for (let i = 1; i <= t.length; i++) { + let a = t[i - 1]; + (n === `positive` && a > 0 || n === `negative` && a < 0) && (r += a / (1 + e29) ** i); + } + return r; + } + }; + var Uf = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let { isError: n, errorObject: r, variants: i } = Y3(e29, t); + if (n) return r; + let [a, o] = i, s = +a.getValue(), c = Math.floor(+o.getValue()); + if (Number.isNaN(s) || Number.isNaN(c)) return j3.create(D3.VALUE); + if (s <= 0 || c < 1) return j3.create(D3.NUM); + c = Number.parseInt(`${c}`, 10); + let l = ((s + 1) ** (1 / c) - 1) * c; + return R4.create(l); + } + }; + var Wf = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 5); + } + calculate(e29, t, n, r, i) { + let a = r == null ? R4.create(0) : r, o = i == null ? R4.create(0) : i, s = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1, a.isArray() ? a.getRowCount() : 1, o.isArray() ? o.getRowCount() : 1), c = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1, a.isArray() ? a.getColumnCount() : 1, o.isArray() ? o.getColumnCount() : 1), l = V3(s, c, e29, j3.create(D3.NA)), u = V3(s, c, t, j3.create(D3.NA)), d = V3(s, c, n, j3.create(D3.NA)), f = V3(s, c, a, j3.create(D3.NA)), p = V3(s, c, o, j3.create(D3.NA)), m = l.map((e30, t2, n2) => { + let { isError: r2, errorObject: i2, variants: a2 } = X3(e30, u.get(t2, n2), d.get(t2, n2), f.get(t2, n2), p.get(t2, n2)); + if (r2) return i2; + let [o2, s2, c2, l2, m2] = a2, h = +o2.getValue(), g2 = +s2.getValue(), _2 = +c2.getValue(), v = +l2.getValue(), y = +m2.getValue(); + if (y = y ? 1 : 0, h === 0 && g2 === 0) return j3.create(D3.DIV_BY_ZERO); + let b; + if (h === 0) b = -(_2 + v) / g2; + else { + let e31 = g2 * (1 + h * y) - v * h, t3 = _2 * h + g2 * (1 + h * y); + b = Math.log(e31 / t3) / Math.log(1 + h); + } + return Number.isNaN(b) || !Number.isFinite(b) ? j3.create(D3.NUM) : R4.create(b); + }); + return s === 1 && c === 1 ? m.get(0, 0) : m; + } + }; + var Gf = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 255), E3(this, `needsLocale`, true); + } + calculate(e29, ...t) { + if (e29.isError()) return e29; + let { isError: n, errorObject: r, values: i } = this._getValues(t); + return e29.isArray() ? e29.map((e30, t2, a) => this._handleSingleObject(e30, n, r, i, t2, a)) : this._handleSingleObject(e29, n, r, i); + } + _handleSingleObject(e29, t, n, r, i = 0, a = 0) { + let o = e29; + if (o.isString() && (o = o.convertToNumberObjectValue()), o.isError()) return o; + if (t) return n; + let s = rf(+e29.getValue(), r); + return Number.isNaN(s) || Math.abs(s) === 1 / 0 ? j3.create(D3.DIV_BY_ZERO) : i === 0 && a === 0 ? R4.create(s, Pi(this.getLocale())) : R4.create(s); + } + _getValues(e29) { + let t = []; + for (let n = 0; n < e29.length; n++) { + let r = e29[n]; + if (r.isError()) return { isError: true, errorObject: r }; + if (r.isArray()) { + let e30 = false, n2 = j3.create(D3.VALUE); + if (r.iterator((r2) => { + let i = r2; + if (i.isError()) return e30 = true, n2 = i, false; + if (i.isNull() || i.isBoolean() || i.isString() && i.getValue() === ``) return true; + let a = +i.getValue(); + if (Number.isNaN(a)) return true; + t.push(a); + }), e30) return { isError: e30, errorObject: n2 }; + } else { + let e30 = +r.getValue(); + if (Number.isNaN(e30)) return { isError: true, errorObject: j3.create(D3.VALUE) }; + t.push(e30); + } + } + return { isError: false, values: t }; + } + }; + var Kf = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 8), E3(this, `maxParams`, 9); + } + calculate(e29, t, n, r, i, a, o, s, c) { + let l = c == null ? R4.create(0) : c; + l.isNull() && (l = R4.create(0)); + let { isError: u, errorObject: d, variants: f } = bs2(e29, t, n, r, i, a, o, s, l); + if (u) return d; + let [p, m, h, g2, _2, v, y, b, x2] = f, S4 = N3(p); + if (typeof S4 != `number`) return S4; + let C3 = N3(m); + if (typeof C3 != `number`) return C3; + let ee = N3(h); + if (typeof ee != `number`) return ee; + let te = N3(g2); + if (typeof te != `number`) return te; + let ne = +_2.getValue(), re = +v.getValue(), ie = +y.getValue(), ae = Math.floor(+b.getValue()), oe = Math.floor(+x2.getValue()); + if (Number.isNaN(ne) || Number.isNaN(re) || Number.isNaN(ie) || Number.isNaN(ae) || Number.isNaN(oe)) return j3.create(D3.VALUE); + if (ne < 0 || re < 0 || ie <= 0 || ![1, 2, 4].includes(ae) || oe < 0 || oe > 4 || !this._validDate(C3, te, S4, ee, ae)) return j3.create(D3.NUM); + let se = af(S4, C3, ee, te, ne, re, ie, ae, oe); + return R4.create(se); + } + _validDate(e29, t, n, r, i) { + return this._getDateCorrectOrder(e29, t, n, r) && lf(e29, t, i) && uf(r, e29, i); + } + _getDateCorrectOrder(e29, t, n, r) { + return Math.floor(e29) > Math.floor(t) && Math.floor(t) > Math.floor(n) && Math.floor(n) > Math.floor(r); + } + }; + var qf = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 8), E3(this, `maxParams`, 9); + } + calculate(e29, t, n, r, i, a, o, s, c) { + let l = c == null ? R4.create(0) : c; + l.isNull() && (l = R4.create(0)); + let { isError: u, errorObject: d, variants: f } = bs2(e29, t, n, r, i, a, o, s, l); + if (u) return d; + let [p, m, h, g2, _2, v, y, b, x2] = f, S4 = N3(p); + if (typeof S4 != `number`) return S4; + let C3 = N3(m); + if (typeof C3 != `number`) return C3; + let ee = N3(h); + if (typeof ee != `number`) return ee; + let te = N3(g2); + if (typeof te != `number`) return te; + let ne = +_2.getValue(), re = +v.getValue(), ie = +y.getValue(), ae = Math.floor(+b.getValue()), oe = Math.floor(+x2.getValue()); + return Number.isNaN(ne) || Number.isNaN(re) || Number.isNaN(ie) || Number.isNaN(ae) || Number.isNaN(oe) ? j3.create(D3.VALUE) : ne < 0 || re <= 0 || ie <= 0 || ![1, 2, 4].includes(ae) || oe < 0 || oe > 4 || !this._validDate(C3, te, S4, ee, ae) ? j3.create(D3.NUM) : this._getResult(S4, C3, ee, te, ne, re, ie, ae, oe); + } + _validDate(e29, t, n, r, i) { + return this._getDateCorrectOrder(e29, t, n, r) && lf(e29, t, i) && uf(r, e29, i); + } + _getDateCorrectOrder(e29, t, n, r) { + return Math.floor(e29) > Math.floor(t) && Math.floor(t) > Math.floor(n) && Math.floor(n) > Math.floor(r); + } + _getResult(e29, t, n, r, i, a, o, s, c) { + let { days: l } = pt2(e29, t, c), u = (i * l * 100 - (a - 100)) / ((a - 100) * 0.25 * (1 + 2 * l) + l * 100); + function d(l2) { + return a - af(e29, t, n, r, i, l2, o, s, c); + } + let f = pf(u, (e30) => d(e30)); + return typeof f == `number` ? R4.create(f) : f; + } + }; + var Jf = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 7), E3(this, `maxParams`, 8); + } + calculate(e29, t, n, r, i, a, o, s) { + let c = s == null ? R4.create(0) : s; + c.isNull() && (c = R4.create(0)); + let { isError: l, errorObject: u, variants: d } = bs2(e29, t, n, r, i, a, o, c); + if (l) return u; + let [f, p, m, h, g2, _2, v, y] = d, b = N3(f); + if (typeof b != `number`) return b; + let x2 = N3(p); + if (typeof x2 != `number`) return x2; + let S4 = N3(m); + if (typeof S4 != `number`) return S4; + let C3 = +h.getValue(), ee = +g2.getValue(), te = +_2.getValue(), ne = Math.floor(+v.getValue()), re = Math.floor(+y.getValue()); + if (Number.isNaN(C3) || Number.isNaN(ee) || Number.isNaN(te) || Number.isNaN(ne) || Number.isNaN(re)) return j3.create(D3.VALUE); + if (C3 < 0 || ee < 0 || te <= 0 || ![1, 2, 4].includes(ne) || re < 0 || re > 4 || !this._validDate(x2, b, S4, ne)) return j3.create(D3.NUM); + let ie = this._getResult(b, x2, S4, C3, ee, te, ne, re); + return R4.create(ie); + } + _validDate(e29, t, n, r) { + return Math.floor(e29) > Math.floor(t) && Math.floor(t) > Math.floor(n) && uf(n, e29, r); + } + _getResult(e29, t, n, r, i, a, o, s) { + let c = this._getCoupDate(t, n, o), l = this._getFrac(n, e29, c, o, s), u = this._getFrac(n, t, c, o, s), d = this._getFrac(e29, t, c, o, s); + return (a * o + 100 * r * (u - l * (1 + i * d / o))) / (i * d + o); + } + _getCoupDate(e29, t, n) { + let r = M3(e29), i = M3(t); + for (i.setUTCFullYear(r.getUTCFullYear()), i > r && i.setUTCFullYear(i.getUTCFullYear() - 1); i < r; ) i.setUTCMonth(i.getUTCMonth() + 12 / n); + return et2(i); + } + _getFrac(e29, t, n, r, i) { + let a = M3(e29), o = M3(t), s = M3(n); + for (s.setUTCFullYear(a.getUTCFullYear()), s < a && s.setUTCFullYear(s.getUTCFullYear() + 1); s > a; ) s.setUTCMonth(s.getUTCMonth() - 12 / r); + let c = et2(s); + s.setUTCMonth(s.getUTCMonth() + 12 / r); + let l = et2(s); + if (l >= t) { + let { days: n2 } = pt2(e29, t, i); + return n2 / Yd(c, l, r, i); + } + let { days: u } = pt2(e29, l, i), d = u / Yd(c, l, r, i), f = M3(l), p = M3(l); + for (p.setUTCMonth(p.getUTCMonth() + 12 / r); p < o; ) f.setUTCMonth(f.getUTCMonth() + 12 / r), p.setUTCMonth(p.getUTCMonth() + 12 / r), d += 1; + c = et2(f), l = et2(p); + let { days: m } = pt2(c, t, i), h = Yd(c, l, r, i); + return d += m / h, d; + } + }; + var Yf = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 8), E3(this, `maxParams`, 9); + } + calculate(e29, t, n, r, i, a, o, s) { + let c = s == null ? R4.create(0) : s; + c.isNull() && (c = R4.create(0)); + let { isError: l, errorObject: u, variants: d } = bs2(e29, t, n, r, i, a, o, c); + if (l) return u; + let [f, p, m, h, g2, _2, v, y] = d, b = N3(f); + if (typeof b != `number`) return b; + let x2 = N3(p); + if (typeof x2 != `number`) return x2; + let S4 = N3(m); + if (typeof S4 != `number`) return S4; + let C3 = +h.getValue(), ee = +g2.getValue(), te = +_2.getValue(), ne = Math.floor(+v.getValue()), re = Math.floor(+y.getValue()); + if (Number.isNaN(C3) || Number.isNaN(ee) || Number.isNaN(te) || Number.isNaN(ne) || Number.isNaN(re)) return j3.create(D3.VALUE); + if (C3 < 0 || ee <= 0 || te <= 0 || ![1, 2, 4].includes(ne) || re < 0 || re > 4 || !this._validDate(x2, b, S4, ne)) return j3.create(D3.NUM); + let ie = this._getResult(b, x2, S4, C3, ee, te, ne, re); + return R4.create(ie); + } + _validDate(e29, t, n, r) { + return Math.floor(e29) > Math.floor(t) && Math.floor(t) > Math.floor(n) && uf(n, e29, r); + } + _getResult(e29, t, n, r, i, a, o, s) { + let c = this._getCoupDate(t, n, o), l = this._getFrac(n, e29, c, o, s), u = this._getFrac(n, t, c, o, s), d = this._getFrac(e29, t, c, o, s); + return (o * (a - i) + 100 * r * (u - l)) / (d * i + 100 * r * l * d / o); + } + _getCoupDate(e29, t, n) { + let r = M3(e29), i = M3(t); + for (i.setUTCFullYear(r.getUTCFullYear()), i > r && i.setUTCFullYear(i.getUTCFullYear() - 1); i < r; ) i.setUTCMonth(i.getUTCMonth() + 12 / n); + return et2(i); + } + _getFrac(e29, t, n, r, i) { + let a = M3(e29), o = M3(t), s = M3(n); + for (s.setUTCFullYear(a.getUTCFullYear()), s < a && s.setUTCFullYear(s.getUTCFullYear() + 1); s > a; ) s.setUTCMonth(s.getUTCMonth() - 12 / r); + let c = et2(s); + s.setUTCMonth(s.getUTCMonth() + 12 / r); + let l = et2(s); + if (l >= t) { + let { days: n2 } = pt2(e29, t, i); + return n2 / Yd(c, l, r, i); + } + let { days: u } = pt2(e29, l, i), d = u / Yd(c, l, r, i), f = M3(l), p = M3(l); + for (p.setUTCMonth(p.getUTCMonth() + 12 / r); p < o; ) f.setUTCMonth(f.getUTCMonth() + 12 / r), p.setUTCMonth(p.getUTCMonth() + 12 / r), d += 1; + c = et2(f), l = et2(p); + let { days: m } = pt2(c, t, i), h = Yd(c, l, r, i); + return d += m / h, d; + } + }; + var Xf = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, j3.create(D3.NA)), o = V3(r, i, t, j3.create(D3.NA)), s = V3(r, i, n, j3.create(D3.NA)), c = a.map((e30, t2, n2) => { + let { isError: r2, errorObject: i2, variants: a2 } = X3(e30, o.get(t2, n2), s.get(t2, n2)); + if (r2) return i2; + let [c2, l, u] = a2, d = +c2.getValue(), f = +l.getValue(), p = +u.getValue(); + if (d <= -1) return j3.create(D3.NUM); + let m = (Math.log(p) - Math.log(f)) / Math.log(1 + d); + return Number.isNaN(m) || !Number.isFinite(m) ? j3.create(D3.NUM) : R4.create(m); + }); + return r === 1 && i === 1 ? c.get(0, 0) : c; + } + }; + var Zf = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 5), E3(this, `needsLocale`, true); + } + calculate(e29, t, n, r, i) { + let a = r == null ? R4.create(0) : r, o = i == null ? R4.create(0) : i, s = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1, a.isArray() ? a.getRowCount() : 1, o.isArray() ? o.getRowCount() : 1), c = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1, a.isArray() ? a.getColumnCount() : 1, o.isArray() ? o.getColumnCount() : 1), l = V3(s, c, e29, j3.create(D3.NA)), u = V3(s, c, t, j3.create(D3.NA)), d = V3(s, c, n, j3.create(D3.NA)), f = V3(s, c, a, j3.create(D3.NA)), p = V3(s, c, o, j3.create(D3.NA)), m = l.map((e30, t2, n2) => { + let { isError: r2, errorObject: i2, variants: a2 } = X3(e30, u.get(t2, n2), d.get(t2, n2), f.get(t2, n2), p.get(t2, n2)); + if (r2) return i2; + let [o2, s2, c2, l2, m2] = a2, h = +o2.getValue(), g2 = +s2.getValue(), _2 = +c2.getValue(), v = +l2.getValue(), y = +m2.getValue(); + if (h <= -1) return j3.create(D3.NUM); + let b = ef(h, g2, _2, v, y ? 1 : 0); + return Number.isNaN(b) || !Number.isFinite(b) ? j3.create(D3.NUM) : t2 === 0 && n2 === 0 ? R4.create(b, Pi(this.getLocale())) : R4.create(b); + }); + return s === 1 && c === 1 ? m.get(0, 0) : m; + } + }; + var Qf = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 4), E3(this, `maxParams`, 6), E3(this, `needsLocale`, true); + } + calculate(e29, t, n, r, i, a) { + let o = i == null ? R4.create(0) : i, s = a == null ? R4.create(0) : a, c = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1, o.isArray() ? o.getRowCount() : 1, s.isArray() ? s.getRowCount() : 1), l = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1, o.isArray() ? o.getColumnCount() : 1, s.isArray() ? s.getColumnCount() : 1), u = V3(c, l, e29, j3.create(D3.NA)), d = V3(c, l, t, j3.create(D3.NA)), f = V3(c, l, n, j3.create(D3.NA)), p = V3(c, l, r, j3.create(D3.NA)), m = V3(c, l, o, j3.create(D3.NA)), h = V3(c, l, s, j3.create(D3.NA)), g2 = u.map((e30, t2, n2) => { + let { isError: r2, errorObject: i2, variants: a2 } = X3(e30, d.get(t2, n2), f.get(t2, n2), p.get(t2, n2), m.get(t2, n2), h.get(t2, n2)); + if (r2) return i2; + let [o2, s2, c2, l2, u2, g3] = a2, _2 = +o2.getValue(), v = +s2.getValue(), y = +c2.getValue(), b = +l2.getValue(), x2 = +u2.getValue(), S4 = +g3.getValue(); + if (v < 1 || Math.floor(v) > Math.ceil(y) || v - y >= 1) return j3.create(D3.NUM); + let C3 = ef(_2, y, b, x2, S4 ? 1 : 0) - nf(_2, v, y, b, x2, S4 ? 1 : 0); + return Number.isNaN(C3) || !Number.isFinite(C3) ? j3.create(D3.NUM) : t2 === 0 && n2 === 0 ? R4.create(C3, Pi(this.getLocale())) : R4.create(C3); + }); + return c === 1 && l === 1 ? g2.get(0, 0) : g2; + } + }; + var $f = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 6), E3(this, `maxParams`, 7); + } + calculate(e29, t, n, r, i, a, o) { + let s = o == null ? R4.create(0) : o; + s.isNull() && (s = R4.create(0)); + let { isError: c, errorObject: l, variants: u } = bs2(e29, t, n, r, i, a, s); + if (c) return l; + let [d, f, p, m, h, g2, _2] = u, v = N3(d); + if (typeof v != `number`) return v; + let y = N3(f); + if (typeof y != `number`) return y; + let b = +p.getValue(), x2 = +m.getValue(), S4 = +h.getValue(), C3 = Math.floor(+g2.getValue()), ee = Math.floor(+_2.getValue()); + if (Number.isNaN(b) || Number.isNaN(x2) || Number.isNaN(S4) || Number.isNaN(C3) || Number.isNaN(ee)) return j3.create(D3.VALUE); + if (b < 0 || x2 < 0 || S4 <= 0 || ![1, 2, 4].includes(C3) || ee < 0 || ee > 4 || v >= y || !uf(v, y, C3)) return j3.create(D3.NUM); + let te = hf(v, y, b, x2, S4, C3, ee); + return R4.create(te); + } + }; + var ep = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 4), E3(this, `maxParams`, 5); + } + calculate(e29, t, n, r, i) { + let a = i == null ? R4.create(0) : i; + a.isNull() && (a = R4.create(0)); + let { isError: o, errorObject: s, variants: c } = bs2(e29, t, n, r, a); + if (o) return s; + let [l, u, d, f, p] = c, m = N3(l); + if (typeof m != `number`) return m; + let h = N3(u); + if (typeof h != `number`) return h; + let g2 = +d.getValue(), _2 = +f.getValue(), v = Math.floor(+p.getValue()); + if (Number.isNaN(g2) || Number.isNaN(_2) || Number.isNaN(v)) return j3.create(D3.VALUE); + if (g2 <= 0 || _2 <= 0 || v < 0 || v > 4 || m >= h) return j3.create(D3.NUM); + let { days: y, yearDays: b } = pt2(m, h, v), x2 = _2 - g2 * _2 * y / b; + return R4.create(x2); + } + }; + var tp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 5), E3(this, `maxParams`, 6); + } + calculate(e29, t, n, r, i, a) { + let o = a == null ? R4.create(0) : a; + o.isNull() && (o = R4.create(0)); + let { isError: s, errorObject: c, variants: l } = bs2(e29, t, n, r, i, o); + if (s) return c; + let [u, d, f, p, m, h] = l, g2 = N3(u); + if (typeof g2 != `number`) return g2; + let _2 = N3(d); + if (typeof _2 != `number`) return _2; + let v = N3(f); + if (typeof v != `number`) return v; + let y = +p.getValue(), b = +m.getValue(), x2 = Math.floor(+h.getValue()); + if (Number.isNaN(y) || Number.isNaN(b) || Number.isNaN(x2)) return j3.create(D3.VALUE); + let S4 = this._getDateCorrectOrder(_2, g2, v); + if (y < 0 || b < 0 || x2 < 0 || x2 > 4 || !S4) return j3.create(D3.NUM); + let C3 = Ct2(g2, x2), { days: ee } = pt2(g2, _2, x2), { days: te } = pt2(v, _2, x2), { days: ne } = pt2(v, g2, x2), re = (100 + te / C3 * y * 100) / (1 + ee / C3 * b) - ne / C3 * y * 100; + return R4.create(re); + } + _getDateCorrectOrder(e29, t, n) { + return Math.floor(e29) > Math.floor(t) && Math.floor(t) > Math.floor(n); + } + }; + var np = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 5), E3(this, `needsLocale`, true); + } + calculate(e29, t, n, r, i) { + let a = r == null ? R4.create(0) : r, o = i == null ? R4.create(0) : i, s = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1, a.isArray() ? a.getRowCount() : 1, o.isArray() ? o.getRowCount() : 1), c = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1, a.isArray() ? a.getColumnCount() : 1, o.isArray() ? o.getColumnCount() : 1), l = V3(s, c, e29, j3.create(D3.NA)), u = V3(s, c, t, j3.create(D3.NA)), d = V3(s, c, n, j3.create(D3.NA)), f = V3(s, c, a, j3.create(D3.NA)), p = V3(s, c, o, j3.create(D3.NA)), m = l.map((e30, t2, n2) => { + let { isError: r2, errorObject: i2, variants: a2 } = X3(e30, u.get(t2, n2), d.get(t2, n2), f.get(t2, n2), p.get(t2, n2)); + if (r2) return i2; + let [o2, s2, c2, l2, m2] = a2, h = +o2.getValue(), g2 = +s2.getValue(), _2 = +c2.getValue(), v = +l2.getValue(), y = +m2.getValue(); + y = y ? 1 : 0; + let b = h === 0 ? -_2 * g2 - v : ((1 - (1 + h) ** g2) / h * _2 * (1 + h * y) - v) / (1 + h) ** g2; + return Number.isNaN(b) || !Number.isFinite(b) ? j3.create(D3.NUM) : t2 === 0 && n2 === 0 ? R4.create(b, Pi(this.getLocale())) : R4.create(b); + }); + return s === 1 && c === 1 ? m.get(0, 0) : m; + } + }; + var rp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 6); + } + calculate(e29, t, n, r, i, a) { + let o = r == null ? R4.create(0) : r, s = i == null ? R4.create(0) : i, c = a == null ? R4.create(0.1) : a, l = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1, o.isArray() ? o.getRowCount() : 1, s.isArray() ? s.getRowCount() : 1, c.isArray() ? c.getRowCount() : 1), u = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1, o.isArray() ? o.getColumnCount() : 1, s.isArray() ? s.getColumnCount() : 1, c.isArray() ? c.getColumnCount() : 1), d = V3(l, u, e29, j3.create(D3.NA)), f = V3(l, u, t, j3.create(D3.NA)), p = V3(l, u, n, j3.create(D3.NA)), m = V3(l, u, o, j3.create(D3.NA)), h = V3(l, u, s, j3.create(D3.NA)), g2 = V3(l, u, c, j3.create(D3.NA)), _2 = d.map((e30, t2, n2) => { + let { isError: r2, errorObject: i2, variants: a2 } = X3(e30, f.get(t2, n2), p.get(t2, n2), m.get(t2, n2), h.get(t2, n2), g2.get(t2, n2)); + if (r2) return i2; + let [o2, s2, c2, l2, u2, d2] = a2, _3 = +o2.getValue(), v = +s2.getValue(), y = +c2.getValue(), b = +l2.getValue(), x2 = +u2.getValue(), S4 = +d2.getValue(); + return x2 = x2 ? 1 : 0, _3 <= 0 || v >= 0 && y >= 0 && b >= 0 || v <= 0 && y <= 0 && b <= 0 ? j3.create(D3.NUM) : this._getResult(_3, v, y, b, x2, S4, t2, n2); + }); + return l === 1 && u === 1 ? _2.get(0, 0) : _2; + } + _getResult(e29, t, n, r, i, a, o, s) { + let c = 1e-10; + if (Math.abs(t) < 1e-14) return this._computeSimpleGrowthRate(e29, n, r, o, s); + let l = a, u = 1 / 0; + for (let a2 = 0; a2 < 100; a2++) { + if (l <= -1) return j3.create(D3.NUM); + let { value: a3, derivative: o2 } = this._evaluateRateFunction(l, e29, t, n, r, i, c), s2 = Math.abs(a3); + if (s2 < c || Math.abs(o2) < 1e-14) break; + let d = this._getAdaptiveDampedStep(a3, o2, s2, u); + l -= d, u = s2; + } + return !Number.isFinite(l) || l <= -1 ? j3.create(D3.NUM) : R4.create(l, o === 0 && s === 0 ? `0%` : void 0); + } + _computeSimpleGrowthRate(e29, t, n, r, i) { + if (Math.sign(t) === Math.sign(n)) return j3.create(D3.NUM); + let a = (n / -t) ** (1 / e29) - 1; + return R4.create(a, r === 0 && i === 0 ? `0%` : void 0); + } + _evaluateRateFunction(e29, t, n, r, i, a, o) { + let s, c, l; + if (Math.abs(e29) < o) s = r * (1 + t * e29) + n * (1 + e29 * a) * t + i, c = r * t + n * a * t; + else { + l = (1 + e29) ** t, s = r * l + n * (1 / e29 + a) * (l - 1) + i; + let o2 = t * (1 + e29) ** (t - 1); + c = r * o2 + n * (1 / e29 + a) * o2 + n * (-1 / (e29 * e29)) * (l - 1); + } + return { value: s, derivative: c }; + } + _getAdaptiveDampedStep(e29, t, n, r) { + let i = e29 / t; + return n > 1e-3 || n >= r * 0.9 ? Math.max(Math.min(i, 5), -5) : Math.max(Math.min(i, 0.5), -0.5); + } + }; + var ip = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 4), E3(this, `maxParams`, 5); + } + calculate(e29, t, n, r, i) { + let a = i == null ? R4.create(0) : i; + a.isNull() && (a = R4.create(0)); + let { isError: o, errorObject: s, variants: c } = bs2(e29, t, n, r, a); + if (o) return s; + let [l, u, d, f, p] = c, m = N3(l); + if (typeof m != `number`) return m; + let h = N3(u); + if (typeof h != `number`) return h; + let g2 = +d.getValue(), _2 = +f.getValue(), v = Math.floor(+p.getValue()); + if (Number.isNaN(g2) || Number.isNaN(_2) || Number.isNaN(v)) return j3.create(D3.VALUE); + if (g2 <= 0 || _2 <= 0 || v < 0 || v > 4 || m >= h) return j3.create(D3.NUM); + let { days: y, yearDays: b } = pt2(m, h, v), x2 = g2 / (1 - _2 * y / b); + return x2 < 0 ? j3.create(D3.NUM) : R4.create(x2); + } + }; + var ap = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 6); + } + calculate(e29, t, n) { + let r = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, j3.create(D3.NA)), o = V3(r, i, t, j3.create(D3.NA)), s = V3(r, i, n, j3.create(D3.NA)), c = a.map((e30, t2, n2) => { + let { isError: r2, errorObject: i2, variants: a2 } = X3(e30, o.get(t2, n2), s.get(t2, n2)); + if (r2) return i2; + let [c2, l, u] = a2, d = +c2.getValue(), f = +l.getValue(), p = +u.getValue(); + if (d <= 0) return j3.create(D3.NUM); + if (f === 0 && p === 0) return R4.create(0); + let m = (p / f) ** (1 / d) - 1; + return Number.isNaN(m) || !Number.isFinite(m) || p / f < 0 ? j3.create(D3.NUM) : R4.create(m); + }); + return r === 1 && i === 1 ? c.get(0, 0) : c; + } + }; + var op = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3), E3(this, `needsLocale`, true); + } + calculate(e29, t, n) { + let r = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, j3.create(D3.NA)), o = V3(r, i, t, j3.create(D3.NA)), s = V3(r, i, n, j3.create(D3.NA)), c = a.map((e30, t2, n2) => { + let r2 = o.get(t2, n2), i2 = s.get(t2, n2); + if (r2.isError()) return r2; + if (i2.isError()) return i2; + let a2 = +e30.getValue(), c2 = +r2.getValue(), l = +i2.getValue(); + if (Number.isNaN(a2) || Number.isNaN(c2) || Number.isNaN(l)) return j3.create(D3.VALUE); + if (l === 0) return j3.create(D3.DIV_BY_ZERO); + let u = (a2 - c2) / l; + return t2 === 0 && n2 === 0 ? R4.create(u, Pi(this.getLocale())) : R4.create(u); + }); + return r === 1 && i === 1 ? c.get(0, 0) : c; + } + }; + var sp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 4), E3(this, `maxParams`, 4), E3(this, `needsLocale`, true); + } + calculate(e29, t, n, r) { + let i = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1), a = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1), o = V3(i, a, e29, j3.create(D3.NA)), s = V3(i, a, t, j3.create(D3.NA)), c = V3(i, a, n, j3.create(D3.NA)), l = V3(i, a, r, j3.create(D3.NA)), u = o.map((e30, t2, n2) => { + let r2 = s.get(t2, n2), i2 = c.get(t2, n2), a2 = l.get(t2, n2); + if (r2.isError()) return r2; + if (i2.isError()) return i2; + if (a2.isError()) return a2; + let o2 = +e30.getValue(), u2 = +r2.getValue(), d = +i2.getValue(), f = +a2.getValue(); + if (Number.isNaN(o2) || Number.isNaN(u2) || Number.isNaN(d) || Number.isNaN(f)) return j3.create(D3.VALUE); + if (u2 < 0 || d <= 0 || f > d) return j3.create(D3.NUM); + let p = (o2 - u2) * (d - f + 1) * 2 / (d * (d + 1)); + return t2 === 0 && n2 === 0 ? R4.create(p, Pi(this.getLocale())) : R4.create(p); + }); + return i === 1 && a === 1 ? u.get(0, 0) : u; + } + }; + var cp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let { isError: r, errorObject: i, variants: a } = bs2(e29, t, n); + if (r) return i; + let [o, s, c] = a, l = N3(o); + if (typeof l != `number`) return l; + let u = N3(s); + if (typeof u != `number`) return u; + let d = +c.getValue(); + if (Number.isNaN(d)) return j3.create(D3.VALUE); + if (d <= 0 || l >= u) return j3.create(D3.NUM); + let f = Math.floor(u) - Math.floor(l); + if (f > St2(M3(l).getUTCFullYear())) return j3.create(D3.NUM); + let p = 365 * d / (360 - d * f); + if (f > 182) { + let e30 = 100 * (1 - d * f / 360), t2 = f / 365; + if (p = (-t2 + Math.sqrt(t2 * t2 - (t2 * 2 - 1) * (1 - 100 / e30))) / (t2 - 0.5), Number.isNaN(p)) return j3.create(D3.NUM); + } + return p < 0 ? j3.create(D3.NUM) : R4.create(p); + } + }; + var lp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3), E3(this, `needsLocale`, true); + } + calculate(e29, t, n) { + let { isError: r, errorObject: i, variants: a } = bs2(e29, t, n); + if (r) return i; + let [o, s, c] = a, l = N3(o); + if (typeof l != `number`) return l; + let u = N3(s); + if (typeof u != `number`) return u; + let d = +c.getValue(); + if (Number.isNaN(d)) return j3.create(D3.VALUE); + if (d <= 0 || l >= u) return j3.create(D3.NUM); + let f = Math.floor(u) - Math.floor(l); + if (f > St2(M3(l).getUTCFullYear())) return j3.create(D3.NUM); + let p = 100 * (1 - d * f / 360); + return p < 0 ? j3.create(D3.NUM) : R4.create(p, Pi(this.getLocale())); + } + }; + var up = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let { isError: r, errorObject: i, variants: a } = bs2(e29, t, n); + if (r) return i; + let [o, s, c] = a, l = N3(o); + if (typeof l != `number`) return l; + let u = N3(s); + if (typeof u != `number`) return u; + let d = +c.getValue(); + if (Number.isNaN(d)) return j3.create(D3.VALUE); + if (d <= 0 || l >= u) return j3.create(D3.NUM); + let f = Math.floor(u) - Math.floor(l); + if (f > St2(M3(l).getUTCFullYear())) return j3.create(D3.NUM); + let p = (100 - d) / d * 360 / f; + return R4.create(p); + } + }; + var dp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 5), E3(this, `maxParams`, 7), E3(this, `needsLocale`, true); + } + calculate(e29, t, n, r, i, a, o) { + let s = a == null ? R4.create(2) : a; + s.isNull() && (s = R4.create(2)); + let c = o == null ? L3.create(false) : o; + c.isNull() && (c = L3.create(false)); + let l = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1, i.isArray() ? i.getRowCount() : 1, s.isArray() ? s.getRowCount() : 1, c.isArray() ? c.getRowCount() : 1), u = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1, i.isArray() ? i.getColumnCount() : 1, s.isArray() ? s.getColumnCount() : 1, c.isArray() ? c.getColumnCount() : 1), d = V3(l, u, e29, j3.create(D3.NA)), f = V3(l, u, t, j3.create(D3.NA)), p = V3(l, u, n, j3.create(D3.NA)), m = V3(l, u, r, j3.create(D3.NA)), h = V3(l, u, i, j3.create(D3.NA)), g2 = V3(l, u, s, j3.create(D3.NA)), _2 = V3(l, u, c, j3.create(D3.NA)); + return this._getResultArray(d, f, p, m, h, g2, _2, l, u); + } + _getResultArray(e29, t, n, r, i, a, o, s, c) { + let l = e29.map((e30, s2, c2) => { + let { isError: l2, errorObject: u, variants: d } = X3(e30, t.get(s2, c2), n.get(s2, c2), r.get(s2, c2), i.get(s2, c2), a.get(s2, c2), o.get(s2, c2)); + if (l2) return u; + let [f, p, m, h, g2, _2, v] = d, y = +f.getValue(), b = +p.getValue(), x2 = +m.getValue(), S4 = +h.getValue(), C3 = +g2.getValue(), ee = +_2.getValue(), te = +v.getValue(); + if (y < 0 || b < 0 || x2 < 0 || S4 < 0 || C3 < 0 || C3 > x2 || S4 > C3 || ee < 0) return j3.create(D3.NUM); + if (x2 === 0 && S4 === 0 && C3 === 0) return j3.create(D3.DIV_BY_ZERO); + let ne = this._getResult(y, b, x2, S4, C3, ee, te); + return s2 === 0 && c2 === 0 ? R4.create(ne, Pi(this.getLocale())) : R4.create(ne); + }); + return s === 1 && c === 1 ? l.get(0, 0) : l; + } + _getResult(e29, t, n, r, i, a, o) { + let s = Math.floor(r), c = Math.ceil(i), l = 0; + if (e29 < t) { + if (r >= 1 || o) return l; + let n2 = Math.abs(e29 - t); + return l = n2 * (i - r) > n2 ? n2 : n2 * (i - r), -l; + } + if (o) for (let o2 = s + 1; o2 <= c; o2++) { + let u = gf(e29, t, n, o2, a); + o2 === s + 1 ? u *= Math.min(i, s + 1) - r : o2 === c && (u *= i + 1 - c), l += u; + } + else { + let o2 = e29 - this._getVdb(e29, t, n, n, r, a); + l = this._getVdb(o2, t, n, n - r, i - r, a); + } + return l; + } + _getVdb(e29, t, n, r, i, a) { + let o = Math.ceil(i), s = 0, c = e29 - t, l = 0, u = 0, d = false; + for (let f = 1; f <= o; f++) { + if (d) u = l; + else { + let i2 = gf(e29, t, n, f, a); + l = c / (r - (f - 1)), l > i2 ? (u = l, d = true) : (u = i2, c -= i2); + } + f === o && (u *= i + 1 - o), s += u; + } + return s; + } + }; + var fp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + if (e29.isNull() || t.isNull()) return j3.create(D3.NA); + let { isError: r, errorObejct: i, _values: a, _dates: o } = this._checkErrors(e29, t); + if (r) return i; + let s = n == null ? R4.create(0.1) : n; + s.isNull() && (s = R4.create(0.1)); + let { isError: c, errorObject: l, variants: u } = Y3(s); + if (c) return l; + let [d] = u, f = +d.getValue(); + if (Number.isNaN(f)) return j3.create(D3.VALUE); + let { positive: p, negative: m } = this._checkValues(a); + if (!p || !m || (a == null ? void 0 : a.length) !== (o == null ? void 0 : o.length) || f < 0) return j3.create(D3.NUM); + let h = pf(f, (e30) => this._iterF(a, o, e30)); + return typeof h == `number` ? R4.create(h) : h; + } + _checkErrors(e29, t) { + if (e29.isError()) return { isError: true, errorObejct: e29 }; + if (t.isError()) return { isError: true, errorObejct: t }; + let { isError: n, errorObejct: r, _values: i } = this._checkErrorValues(e29); + if (n) return { isError: n, errorObejct: r }; + let { isError: a, errorObejct: o, _dates: s } = this._checkErrorDates(t); + return a ? { isError: a, errorObejct: o } : { isError: false, _values: i, _dates: s }; + } + _checkErrorValues(e29) { + let t = []; + if (e29.isArray()) { + let n = false, r = j3.create(D3.VALUE); + return e29.iterator((e30) => { + let i = e30; + if (i.isError()) return n = true, r = i, false; + if (i.isBoolean()) return n = true, r = j3.create(D3.VALUE), false; + let a = +i.getValue(); + if (Number.isNaN(a)) return n = true, r = j3.create(D3.VALUE), false; + t.push(a); + }), n ? { isError: n, errorObejct: r } : t.length <= 1 ? { isError: true, errorObejct: j3.create(D3.NA) } : { isError: n, _values: t }; + } else { + let t2 = e29.getValue(); + return e29.isBoolean() || e29.isString() && !Ja(t2) ? { isError: true, errorObejct: j3.create(D3.VALUE) } : { isError: true, errorObejct: j3.create(D3.NA) }; + } + } + _checkErrorDates(e29) { + let t = []; + if (e29.isArray()) { + let n = false, r = j3.create(D3.VALUE); + return e29.iterator((e30) => { + if (e30 != null && e30.isError()) return n = true, r = e30, false; + if (e30 != null && e30.isBoolean()) return n = true, r = j3.create(D3.VALUE), false; + let i = +e30.getValue(); + if (Number.isNaN(i)) return n = true, r = j3.create(D3.VALUE), false; + if (i < 0) return n = true, r = j3.create(D3.NUM), false; + t.push(Math.floor(i)); + }), n ? { isError: n, errorObejct: r } : t.length <= 1 ? { isError: true, errorObejct: j3.create(D3.NA) } : { isError: n, _dates: t }; + } else { + let t2 = e29.getValue(); + return e29.isBoolean() || e29.isString() && !Ja(t2) ? { isError: true, errorObejct: j3.create(D3.VALUE) } : +t2 < 0 ? { isError: true, errorObejct: j3.create(D3.NUM) } : { isError: true, errorObejct: j3.create(D3.NA) }; + } + } + _checkValues(e29) { + let t = false, n = false; + for (let r = 0; r < e29.length; r++) e29[r] > 0 && (t = true), e29[r] < 0 && (n = true); + return { positive: t, negative: n }; + } + _iterF(e29, t, n) { + return e29.reduce((e30, r, i) => e30 + r / (1 + n) ** ((t[i] - t[0]) / 365), 0); + } + }; + var pp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + if (e29.isNull() || t.isNull() || n.isNull()) return j3.create(D3.NA); + let { isError: r, errorObject: i, variants: a } = Y3(e29); + if (r) return i; + let [o] = a, s = +o.getValue(); + if (Number.isNaN(s)) return j3.create(D3.VALUE); + let { isError: c, errorObejct: l, _values: u, _dates: d } = this._checkErrors(t, n); + if (c) return l; + if (u = u, d = d, s < 0 || u.length !== d.length) return j3.create(D3.NUM); + let f = 0, p = d[0]; + for (let e30 = 0; e30 < d.length; e30++) { + let t2 = d[e30], n2 = u[e30]; + f += n2 / (1 + s) ** ((t2 - p) / 365); + } + return R4.create(f); + } + _checkErrors(e29, t) { + if (e29.isError()) return { isError: true, errorObejct: e29 }; + if (t.isError()) return { isError: true, errorObejct: t }; + let { isError: n, errorObejct: r, _values: i } = this._checkErrorValues(e29); + if (n) return { isError: n, errorObejct: r }; + let { isError: a, errorObejct: o, _dates: s } = this._checkErrorDates(t); + return a ? { isError: a, errorObejct: o } : { isError: false, _values: i, _dates: s }; + } + _checkErrorValues(e29) { + let t = []; + if (e29.isArray()) { + let n = false, r = j3.create(D3.VALUE); + return e29.iterator((e30) => { + let i = e30; + if (i.isError()) return n = true, r = i, false; + if (i.isNull() || i.isBoolean() || i.isString() && i.getValue() === ``) return n = true, r = j3.create(D3.VALUE), false; + let a = +i.getValue(); + if (Number.isNaN(a)) return n = true, r = j3.create(D3.VALUE), false; + t.push(a); + }), n ? { isError: n, errorObejct: r } : { isError: n, _values: t }; + } else { + if (e29.isError()) return { isError: true, errorObejct: e29 }; + if (e29.isNull() || e29.isBoolean()) return { isError: true, errorObejct: j3.create(D3.VALUE) }; + let t2 = +e29.getValue(); + return Number.isNaN(t2) ? { isError: true, errorObejct: j3.create(D3.VALUE) } : { isError: false, _values: [t2] }; + } + } + _checkErrorDates(e29) { + let t = []; + if (e29.isArray()) { + let n = false, r = j3.create(D3.VALUE); + return e29.iterator((e30) => { + let i = e30; + if (i.isError()) return n = true, r = i, false; + if (i.isNull() || i.isBoolean()) return n = true, r = j3.create(D3.VALUE), false; + let a = +i.getValue(); + if (Number.isNaN(a)) return n = true, r = j3.create(D3.VALUE), false; + if (a < 0) return n = true, r = j3.create(D3.NUM), false; + t.push(Math.floor(a)); + }), n ? { isError: n, errorObejct: r } : { isError: n, _dates: t }; + } else { + if (e29.isError()) return { isError: true, errorObejct: e29 }; + if (e29.isNull() || e29.isBoolean()) return { isError: true, errorObejct: j3.create(D3.VALUE) }; + let t2 = +e29.getValue(); + return Number.isNaN(t2) ? { isError: true, errorObejct: j3.create(D3.VALUE) } : +t2 < 0 ? { isError: true, errorObejct: j3.create(D3.NUM) } : { isError: false, _dates: [Math.floor(t2)] }; + } + } + }; + var mp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 6), E3(this, `maxParams`, 7); + } + calculate(e29, t, n, r, i, a, o) { + let s = o == null ? R4.create(0) : o; + s.isNull() && (s = R4.create(0)); + let { isError: c, errorObject: l, variants: u } = bs2(e29, t, n, r, i, a, s); + if (c) return l; + let [d, f, p, m, h, g2, _2] = u, v = N3(d); + if (typeof v != `number`) return v; + let y = N3(f); + if (typeof y != `number`) return y; + let b = +p.getValue(), x2 = +m.getValue(), S4 = +h.getValue(), C3 = Math.floor(+g2.getValue()), ee = Math.floor(+_2.getValue()); + if (Number.isNaN(b) || Number.isNaN(x2) || Number.isNaN(S4) || Number.isNaN(C3) || Number.isNaN(ee)) return j3.create(D3.VALUE); + if (b < 0 || x2 <= 0 || S4 <= 0 || ![1, 2, 4].includes(C3) || ee < 0 || ee > 4 || v >= y || !uf(v, y, C3)) return j3.create(D3.NUM); + let te = this._getResult(v, y, b, x2, S4, C3, ee); + return R4.create(te); + } + _getResult(e29, t, n, r, i, a, o) { + if (Zd(e29, t, a) > 1) { + let s2 = n || 0.01, c2 = hf(e29, t, n, s2, i, a, o), l2 = c2 - r; + for (let u2 = 0; u2 < 100 && Math.abs(l2) > 1e-7; u2++) c2 = hf(e29, t, n, 1.01 * s2, i, a, o), s2 += -l2 / (c2 - r - l2) * s2 * 0.01, l2 = hf(e29, t, n, s2, i, a, o) - r; + return s2; + } + let s = Jd(e29, t, a, o), c = Yd(e29, t, a, o), { days: l } = pt2(e29, t, o), u = r / 100 + s / c * n / a; + return (i / 100 + n / a - u) / u * a * c / l; + } + }; + var hp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 4), E3(this, `maxParams`, 5); + } + calculate(e29, t, n, r, i) { + let a = i == null ? R4.create(0) : i; + a.isNull() && (a = R4.create(0)); + let { isError: o, errorObject: s, variants: c } = bs2(e29, t, n, r, a); + if (o) return s; + let [l, u, d, f, p] = c, m = N3(l); + if (typeof m != `number`) return m; + let h = N3(u); + if (typeof h != `number`) return h; + let g2 = +d.getValue(), _2 = +f.getValue(), v = Math.floor(+p.getValue()); + if (Number.isNaN(g2) || Number.isNaN(_2) || Number.isNaN(v)) return j3.create(D3.VALUE); + if (g2 <= 0 || _2 <= 0 || v < 0 || v > 4 || m >= h) return j3.create(D3.NUM); + let { days: y, yearDays: b } = pt2(m, h, v), x2 = (_2 / g2 - 1) / (y / b); + return R4.create(x2); + } + }; + var gp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 5), E3(this, `maxParams`, 6); + } + calculate(e29, t, n, r, i, a) { + let o = a == null ? R4.create(0) : a; + o.isNull() && (o = R4.create(0)); + let { isError: s, errorObject: c, variants: l } = bs2(e29, t, n, r, i, o); + if (s) return c; + let [u, d, f, p, m, h] = l, g2 = N3(u); + if (typeof g2 != `number`) return g2; + let _2 = N3(d); + if (typeof _2 != `number`) return _2; + let v = N3(f); + if (typeof v != `number`) return v; + let y = +p.getValue(), b = +m.getValue(), x2 = Math.floor(+h.getValue()); + if (Number.isNaN(y) || Number.isNaN(b) || Number.isNaN(x2)) return j3.create(D3.VALUE); + let S4 = this._getDateCorrectOrder(_2, g2, v); + if (y < 0 || b <= 0 || x2 < 0 || x2 > 4 || !S4) return j3.create(D3.NUM); + let C3 = Ct2(g2, x2), { days: ee } = pt2(g2, _2, x2), { days: te } = pt2(v, _2, x2), { days: ne } = pt2(v, g2, x2), re = ((1 + te / C3 * y) / (b / 100 + ne / C3 * y) - 1) / (ee / C3); + return R4.create(re); + } + _getDateCorrectOrder(e29, t, n) { + return Math.floor(e29) > Math.floor(t) && Math.floor(t) > Math.floor(n); + } + }; + var _p = [[_f, W3.ACCRINT], [vf, W3.ACCRINTM], [yf, W3.AMORLINC], [bf, W3.COUPDAYBS], [xf, W3.COUPDAYS], [Sf, W3.COUPDAYSNC], [Cf, W3.COUPNCD], [wf, W3.COUPNUM], [Tf, W3.COUPPCD], [Ef, W3.CUMIPMT], [Df, W3.CUMPRINC], [Of, W3.DB], [kf, W3.DDB], [Af, W3.DISC], [jf, W3.DOLLARDE], [Mf, W3.DOLLARFR], [Nf, W3.DURATION], [Pf, W3.EFFECT], [Ff, W3.FV], [If, W3.FVSCHEDULE], [Lf, W3.INTRATE], [Rf, W3.IPMT], [zf, W3.IRR], [Bf, W3.ISPMT], [Vf, W3.MDURATION], [Hf, W3.MIRR], [Uf, W3.NOMINAL], [Wf, W3.NPER], [Gf, W3.NPV], [Kf, W3.ODDFPRICE], [qf, W3.ODDFYIELD], [Jf, W3.ODDLPRICE], [Yf, W3.ODDLYIELD], [Xf, W3.PDURATION], [Zf, W3.PMT], [Qf, W3.PPMT], [$f, W3.PRICE], [ep, W3.PRICEDISC], [tp, W3.PRICEMAT], [np, W3.PV], [rp, W3.RATE], [ip, W3.RECEIVED], [ap, W3.RRI], [op, W3.SLN], [sp, W3.SYD], [cp, W3.TBILLEQ], [lp, W3.TBILLPRICE], [up, W3.TBILLYIELD], [dp, W3.VDB], [fp, W3.XIRR], [pp, W3.XNPV], [mp, W3.YIELD], [hp, W3.YIELDDISC], [gp, W3.YIELDMAT]]; + var vp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `needsReferenceObject`, true), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = e29; + if (n.isError()) return n; + if (n.isReferenceObject() && (n = n.toArrayValueObject()), n.isArray()) { + let e30 = n.getRowCount(), r = n.getColumnCount(); + if (e30 === 1 && r === 1) { + let e31 = n.get(0, 0); + return this._handleSingleObject(e31, t); + } + return n.map((e31) => e31.isError() ? e31 : this._handleSingleObject(e31, t, true)); + } + return this._handleSingleObject(n, t); + } + _handleSingleObject(e29, t, n = false) { + let r = t; + if (r.isError()) return r; + if (!r.isReferenceObject()) return j3.create(D3.NA); + let { columnData: i, defaultColumnWidth: a } = r.getCurrentActiveSheetData(); + r = r.toArrayValueObject(); + let o = r.getCurrentRow(), s = r.getCurrentColumn(); + r = r.getFirstCell(); + let c = `${e29.getValue()}`, l; + switch (c.toLocaleLowerCase()) { + case `address`: + return z3.create(`$${D.chatAtABC(s)}$${o + 1}`); + case `col`: + return R4.create(s + 1); + case `color`: + return R4.create(0); + case `contents`: + return r; + case `filename`: + return j3.create(D3.VALUE); + case `format`: + return z3.create(`G`); + case `parentheses`: + return R4.create(0); + case `prefix`: + return z3.create(``); + case `protect`: + return R4.create(1); + case `row`: + return R4.create(o + 1); + case `type`: + return l = `v`, r.isNull() && (l = `b`), r.isString() && (l = `l`), z3.create(l); + case `width`: + return this._getWidthResult(i, a, s, n); + default: + return j3.create(D3.VALUE); + } + } + _getWidthResult(e29, t, n, r) { + var i; + let a = (i = e29[n]) == null ? void 0 : i.w; + if (!a && a !== 0 && (a = t), r) return R4.create(a); + let o = [[a, a === t]]; + return B3.createByArray(o); + } + }; + var yp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1), E3(this, `_errorTypeValueMap`, /* @__PURE__ */ new Map([[D3.NULL, 1], [D3.DIV_BY_ZERO, 2], [D3.VALUE, 3], [D3.REF, 4], [D3.NAME, 5], [D3.NUM, 6], [D3.NA, 7], [D3.CONNECT, 8], [D3.CALC, 14]])); + } + calculate(e29) { + return e29.isArray() ? e29.mapValue((e30) => this._handleSingleObject(e30)) : this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + let t = e29.getValue(), n = this._errorTypeValueMap.get(t); + return n ? R4.create(n) : j3.create(D3.NA); + } + }; + var bp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 5); + } + calculate(e29, t, n, r, i) { + let { isError: a, errorObject: o, variants: s } = ys2(e29, t, n, r == null ? L3.create(true) : r, i == null ? L3.create(true) : i); + if (a) return o; + let [c, l, u, d, f] = s; + if (d.isString() || f.isString()) return j3.create(D3.VALUE); + if (l.compare(u, `>`).getValue() === true) return j3.create(D3.NUM); + let p = +d.getValue(), m = +f.getValue(), h = p ? `>=` : `>`, g2 = m ? `<=` : `<`; + return c.compare(l, h).getValue() === false || c.compare(u, g2).getValue() === false ? L3.create(false) : L3.create(true); + } + }; + var xp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + return e29.isNull() ? L3.create(true) : e29.isArray() ? e29.mapValue((e30) => e30.isNull() ? L3.create(true) : L3.create(false)) : L3.create(false); + } + }; + var Sp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let t = e29; + if (t.isArray()) { + let e30 = t.getRowCount(), n = t.getColumnCount(); + if (e30 > 1 || n > 1) return j3.create(D3.VALUE); + t = t.get(0, 0); + } + return t.isError() ? t : t.isNumber() && t.getPattern() !== `` ? L3.create(ot(t.getPattern())) : t.isString() && (it2(`${t.getValue()}`) || at(`${t.getValue()}`)) ? L3.create(true) : L3.create(false); + } + }; + var Cp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let t = e29; + if (t.isArray()) { + let e30 = t.getRowCount(), n2 = t.getColumnCount(); + if (e30 > 1 || n2 > 1) return j3.create(D3.VALUE); + t = t.get(0, 0); + } + if (t.isError()) return t; + if (t.isNull() || t.isBoolean() || t.isNumber()) return L3.create(false); + let n = `${t.getValue()}`; + if (n.length > 254) return L3.create(false); + let r = D.topLevelDomainCombiningString(), i = RegExp(`^(?:[\\w+-]+\\.)*[\\w+-]+@[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*\\.(?:${r})$`, `i`); + return L3.create(i.test(n)); + } + }; + var wp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + return e29.getValue() === D3.NA ? L3.create(false) : e29.isError() ? L3.create(true) : e29.isArray() ? e29.mapValue((e30) => e30.getValue() === D3.NA ? L3.create(false) : e30.isError() ? L3.create(true) : L3.create(false)) : L3.create(false); + } + }; + var Tp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + return e29.isError() ? L3.create(true) : e29.isArray() ? e29.mapValue((e30) => e30.isError() ? L3.create(true) : L3.create(false)) : L3.create(false); + } + }; + var Ep = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let t = e29; + if (t.isArray()) { + let e30 = t.getRowCount(), n2 = t.getColumnCount(); + if (e30 > 1 || n2 > 1) return j3.create(D3.VALUE); + t = t.get(0, 0); + } + if (t.isError()) return t; + if (t.isBoolean()) return j3.create(D3.VALUE); + let n = Math.trunc(+t.getValue()); + if (Number.isNaN(n)) return j3.create(D3.VALUE); + let r = n % 2 == 0; + return L3.create(r); + } + }; + var Dp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1), E3(this, `needsReferenceObject`, true); + } + calculate(e29) { + var t; + if (e29.isError()) return e29; + if (!e29.isReferenceObject()) return j3.create(D3.NA); + let n = (t = e29.getCurrentActiveSheetData()) == null ? void 0 : t.cellData.getMatrix(), { startRow: r, startColumn: i } = e29.getRangePosition(), a = e29.toArrayValueObject(), o = a.mapValue((e30, t2, a2) => { + var o2; + let s = n == null || (o2 = n[r + t2]) == null ? void 0 : o2[i + a2]; + return s != null && s.f || s != null && s.si ? L3.create(true) : L3.create(false); + }); + return a.getRowCount() === 1 && a.getColumnCount() === 1 ? o.get(0, 0) : o; + } + }; + var Op = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + return e29.isBoolean() ? L3.create(true) : e29.isArray() ? e29.mapValue((e30) => e30.isBoolean() ? L3.create(true) : L3.create(false)) : L3.create(false); + } + }; + var kp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + return e29.getValue() === D3.NA ? L3.create(true) : e29.isArray() ? e29.mapValue((e30) => e30.getValue() === D3.NA ? L3.create(true) : L3.create(false)) : L3.create(false); + } + }; + var Ap = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + return !e29.isArray() && !e29.isString() ? L3.create(true) : e29.isArray() ? e29.mapValue((e30) => e30.isString() ? L3.create(false) : L3.create(true)) : L3.create(false); + } + }; + var jp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + return e29.isNumber() ? L3.create(true) : e29.isArray() ? e29.mapValue((e30) => e30.isNumber() ? L3.create(true) : L3.create(false)) : L3.create(false); + } + }; + var Mp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let t = e29; + if (t.isArray()) { + let e30 = t.getRowCount(), n2 = t.getColumnCount(); + if (e30 > 1 || n2 > 1) return j3.create(D3.VALUE); + t = t.get(0, 0); + } + if (t.isError()) return t; + if (t.isBoolean()) return j3.create(D3.VALUE); + let n = Math.trunc(+t.getValue()); + if (Number.isNaN(n)) return j3.create(D3.VALUE); + let r = n % 2 != 0; + return L3.create(r); + } + }; + var Np = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1), E3(this, `needsReferenceObject`, true); + } + calculate(e29) { + return e29.isReferenceObject() ? L3.create(true) : L3.create(false); + } + }; + var Pp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + return e29.isString() ? L3.create(true) : e29.isArray() ? e29.mapValue((e30) => e30.isString() ? L3.create(true) : L3.create(false)) : L3.create(false); + } + }; + var Fp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let t = e29; + if (t.isArray()) { + let e30 = t.getRowCount(), n2 = t.getColumnCount(); + if (e30 > 1 || n2 > 1) return j3.create(D3.VALUE); + t = t.get(0, 0); + } + if (t.isError()) return t; + if (t.isNull() || t.isBoolean() || t.isNumber()) return L3.create(false); + let n = `${t.getValue()}`.replace(/^\s+|\s+$/g, ``); + if (n.length > 1e3) return L3.create(false); + let r = D.topLevelDomainCombiningString(), i = RegExp(`^(?:(?:https?|s?ftp|ftps|nfs|ssh)://+[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*(?::[0-9]+)?(?:/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[A-Fa-f0-9]{2})*)*/?(?:[?#]\\S*)?|[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*\\.(?:${r})(?::[0-9]+)?(?:/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[A-Fa-f0-9]{2})*)*/?(?:[?#]\\S*)?|mailto:(?:[\\w+-]+\\.)*[\\w+-]+@[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*\\.(?:${r})|(?:news|aim):[%a-z0-9$_\\.+!*(),;/?#:@&~=-]+)$`, `i`); + return L3.create(i.test(n)); + } + }; + var Ip = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let t = e29; + if (e29.isArray() && (t = e29.get(0, 0)), t.isError()) return t; + if (t.isString()) return R4.create(0); + let n = +t.getValue(); + return R4.create(n); + } + }; + var Lp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 0), E3(this, `maxParams`, 0); + } + calculate() { + return j3.create(D3.NA); + } + }; + var Rp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 0), E3(this, `maxParams`, 1), E3(this, `needsReferenceObject`, true), E3(this, `needsSheetsInfo`, true); + } + calculate(e29) { + var t; + if (e29 != null && e29.isError()) return e29; + let { sheetOrder: n, sheetNameMap: r } = this.getSheetsInfo(); + if (!e29) { + let e30 = n.findIndex((e31) => e31 === this.subUnitId); + return R4.create(e30 + 1); + } + if (e29.isReferenceObject()) { + let t2 = e29.getForcedSheetId(), r2 = e29.getDefaultSheetId(), i2 = n.findIndex((e30) => t2 ? e30 === t2 : e30 === r2); + return R4.create(i2 + 1); + } + if (e29.isArray()) return j3.create(D3.NA); + let i = `${e29.getValue()}`.toLocaleLowerCase(), a = (t = Object.entries(r).find(([e30, t2]) => t2.toLocaleLowerCase() === i)) == null ? void 0 : t[0]; + if (!a) return j3.create(D3.NA); + let o = n.findIndex((e30) => e30 === a); + return R4.create(o + 1); + } + }; + var zp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 0), E3(this, `maxParams`, 0), E3(this, `needsSheetsInfo`, true); + } + calculate() { + let { sheetOrder: e29 } = this.getSheetsInfo(); + return R4.create(e29.length); + } + }; + var Bp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `needsReferenceObject`, true), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + if (e29.isReferenceObject()) { + let t = e29.getRowCount(), n = e29.getColumnCount(); + if (t === 1 && n === 1) { + let t2 = e29.getFirstCell(); + if (t2.isError()) return R4.create(16); + if (t2.isBoolean()) return R4.create(4); + if (t2.isString()) return R4.create(2); + if (t2.isNumber() || t2.isNull()) return R4.create(1); + } else return R4.create(64); + } else { + if (e29.isArray()) return R4.create(64); + if (e29.isError()) return R4.create(16); + if (e29.isBoolean()) return R4.create(4); + if (e29.isString()) return R4.create(2); + if (e29.isNumber() || e29.isNull()) return R4.create(1); + } + return R4.create(128); + } + }; + var Vp = [[vp, to2.CELL], [yp, to2.ERROR_TYPE], [bp, to2.ISBETWEEN], [xp, to2.ISBLANK], [Sp, to2.ISDATE], [Cp, to2.ISEMAIL], [wp, to2.ISERR], [Tp, to2.ISERROR], [Ep, to2.ISEVEN], [Dp, to2.ISFORMULA], [Op, to2.ISLOGICAL], [kp, to2.ISNA], [Ap, to2.ISNONTEXT], [jp, to2.ISNUMBER], [Mp, to2.ISODD], [Np, to2.ISREF], [Pp, to2.ISTEXT], [Fp, to2.ISURL], [Ip, to2.N], [Lp, to2.NA], [Rp, to2.SHEET], [zp, to2.SHEETS], [Bp, to2.TYPE]]; + var Hp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = true, n = true, r = null; + for (let i of e29) { + if (i.isError()) return i; + if (i.isArray()) { + if (i.iterator((e30) => { + if (e30 != null && e30.isError()) return r = e30, false; + (e30 != null && e30.isBoolean() || e30 != null && e30.isNumber()) && (t = t && !!e30.getValue(), n = false); + }), r) return r; + } else (i.isBoolean() || i.isNumber()) && (t = t && !!i.getValue(), n = false); + } + return n ? j3.create(D3.VALUE) : L3.create(t); + } + }; + var Up = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2), E3(this, `needsReferenceObject`, true); + } + calculate(e29, t) { + let n = e29, r = null; + if (e29.isReferenceObject() && (n = e29.toArrayValueObject(), r = e29), n.isError()) return n; + if (t.isError()) return t; + if (!(t.isValueObject() && t.isLambda() && t.getLambdaPrivacyVarKeys().length === 1)) return j3.create(D3.VALUE); + let i = t, a = n.isArray() ? n.getRowCount() : 1, o = n.isArray() ? n.getColumnCount() : 1; + n = V3(a, o, n); + let s = [[]]; + for (let e30 = 0; e30 < o; e30++) { + let t2 = []; + for (let r2 = 0; r2 < a; r2++) { + let i2 = n.get(r2, e30); + t2.push([i2]); + } + let o2 = B3.create({ calculateValueList: t2, rowCount: a, columnCount: 1, unitId: ``, sheetId: ``, row: 0, column: 0 }); + if (r) { + let { startRow: t3, startColumn: n2 } = r.getRangePosition(), i2 = { startRow: t3, startColumn: n2 + e30, endRow: t3 + a - 1, endColumn: n2 + e30 }; + o2 = this.createReferenceObject(r, i2); + } + let c = i.execute(o2); + if (c.isArray()) { + let e31 = c.getRowCount(), t3 = c.getColumnCount(); + if (e31 > 1 || t3 > 1) return j3.create(D3.CALC); + c = c.get(0, 0); + } + c.isNull() && (c = R4.create(0)), s[0].push(c); + } + return o === 1 ? s[0][0] : B3.create({ calculateValueList: s, rowCount: 1, columnCount: o, unitId: this.unitId, sheetId: this.subUnitId, row: this.row, column: this.column }); + } + }; + var Wp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2), E3(this, `needsReferenceObject`, true); + } + calculate(e29, t) { + let n = e29, r = null; + if (e29.isReferenceObject() && (n = e29.toArrayValueObject(), r = e29), n.isError()) return n; + if (t.isError()) return t; + if (!(t.isValueObject() && t.isLambda() && t.getLambdaPrivacyVarKeys().length === 1)) return j3.create(D3.VALUE); + let i = t, a = n.isArray() ? n.getRowCount() : 1, o = n.isArray() ? n.getColumnCount() : 1; + n = V3(a, o, n); + let s = []; + for (let e30 = 0; e30 < a; e30++) { + let t2 = [[]]; + for (let r2 = 0; r2 < o; r2++) { + let i2 = n.get(e30, r2); + t2[0].push(i2); + } + let a2 = B3.create({ calculateValueList: t2, rowCount: 1, columnCount: o, unitId: ``, sheetId: ``, row: 0, column: 0 }); + if (r) { + let { startRow: t3, startColumn: n2 } = r.getRangePosition(), i2 = { startRow: t3 + e30, startColumn: n2, endRow: t3 + e30, endColumn: n2 + o - 1 }; + a2 = this.createReferenceObject(r, i2); + } + let c = i.execute(a2); + if (c.isArray()) { + let e31 = c.getRowCount(), t3 = c.getColumnCount(); + if (e31 > 1 || t3 > 1) return j3.create(D3.CALC); + c = c.get(0, 0); + } + c.isNull() && (c = R4.create(0)), s.push([c]); + } + return a === 1 ? s[0][0] : B3.create({ calculateValueList: s, rowCount: a, columnCount: 1, unitId: this.unitId, sheetId: this.subUnitId, row: this.row, column: this.column }); + } + }; + var Gp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 0), E3(this, `maxParams`, 0); + } + calculate() { + return L3.create(false); + } + }; + var Kp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 3); + } + calculate(e29, t, n = L3.create(false)) { + let r = e29; + if (e29.isArray()) { + let t2 = e29.getRowCount(), n2 = e29.getColumnCount(); + t2 === 1 && n2 === 1 && (r = e29.get(0, 0)); + } + if (!r.isArray()) return this._handleSingleObject(r, t, n); + let i = Math.max(r.isArray() ? r.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), a = Math.max(r.isArray() ? r.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), o = V3(i, a, r, j3.create(D3.NA)), s = V3(i, a, t, j3.create(D3.NA)), c = V3(i, a, n, j3.create(D3.NA)); + return o.mapValue((e30, t2, n2) => { + let r2 = s.get(t2, n2), i2 = c.get(t2, n2); + return this._handleSingleObject(e30, r2, i2); + }); + } + _handleSingleObject(e29, t, n) { + return e29.isError() ? e29 : e29.getValue() ? t : n; + } + }; + var qp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + if (!e29.isArray()) return e29.isError() ? t : e29; + let n = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1), r = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1), i = V3(n, r, e29), a = V3(n, r, t); + return i.iterator((e30, t2, n2) => { + e30 != null && e30.isError() && i.set(t2, n2, a.get(t2, n2)); + }), i; + } + }; + var Jp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + if (e29.isError() && e29.getErrorType() !== D3.NA) return e29; + if (t.isError()) return t; + if (!e29.isArray()) return e29.isError() && e29.getErrorType() === D3.NA ? t : e29; + let n = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1), r = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1), i = V3(n, r, e29), a = V3(n, r, t); + return i.iterator((e30, t2, n2) => { + e30 != null && e30.isError() && e30.getErrorType() === D3.NA && i.set(t2, n2, a.get(t2, n2)); + }), i; + } + }; + var Yp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 255); + } + calculate(...e29) { + if (e29.length % 2 != 0) return j3.create(D3.NA); + for (let t2 = 0; t2 < e29.length; t2++) if (e29[t2].isError()) return e29[t2]; + let t = Math.max(...e29.map((e30) => e30.isArray() ? e30.getRowCount() : 1)), n = Math.max(...e29.map((e30) => e30.isArray() ? e30.getColumnCount() : 1)), r = e29.map((e30) => V3(t, n, e30, j3.create(D3.NA))), i = r[0].map((e30, t2, n2) => { + for (let e31 = 0; e31 < r.length; e31 += 2) { + let i2 = r[e31].get(t2, n2) || I3.create(), a = r[e31 + 1].get(t2, n2) || I3.create(); + if (i2.isNull()) continue; + if (i2.isError()) return i2; + let o = i2.getValue(); + if (i2.isString()) { + if (`${o}`.toLocaleUpperCase() === `TRUE`) return a; + if (`${o}`.toLocaleUpperCase() === `FALSE`) continue; + return j3.create(D3.VALUE); + } + if (+o) return a.isNull() ? j3.create(D3.NA) : a; + } + return j3.create(D3.NA); + }); + return t === 1 && n === 1 ? i.get(0, 0) : i; + } + }; + var Xp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + return j3.create(D3.VALUE); + } + }; + var Zp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 255); + } + calculate(...e29) { + return j3.create(D3.VALUE); + } + }; + var Qp = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(...e29) { + let t = this.getIndexNumValue(e29[0]); + if (typeof t != `number`) return t; + let n = this.getIndexNumValue(e29[1]); + if (typeof n != `number`) return n; + if (!(e29[2].isValueObject() && e29[2].isLambda())) return j3.create(D3.VALUE); + let r = e29[2], i = []; + for (let e30 = 0; e30 < t; e30++) { + i[e30] == null && (i[e30] = []); + for (let t2 = 0; t2 < n; t2++) { + let n2 = r.execute(R4.create(e30 + 1), R4.create(t2 + 1)); + n2.isArray() && (n2 = n2.get(0, 0)), i[e30][t2] = n2; + } + } + return new xa2(i); + } + isAsync() { + return true; + } + }; + var $p = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 255), E3(this, `needsReferenceObject`, true); + } + calculate(...e29) { + let t = [], n = null, r = 0, i = 0; + for (let a2 = 0; a2 < e29.length; a2++) { + let o = e29[a2], s = o; + if (s.isReferenceObject() && (s = o.toArrayValueObject()), s.isError()) return s; + if (a2 === e29.length - 1) { + if (!(o.isValueObject() && o.isLambda())) return j3.create(D3.VALUE); + n = o; + } else t.push(o), r = Math.max(r, s.isArray() ? s.getRowCount() : 1), i = Math.max(i, s.isArray() ? s.getColumnCount() : 1); + } + let a = this._getResultArray(t, n, r, i); + return a instanceof j3 ? a : r === 1 && i === 1 ? a[0][0] : B3.create({ calculateValueList: a, rowCount: r, columnCount: i, unitId: this.unitId, sheetId: this.subUnitId, row: this.row, column: this.column }); + } + _getResultArray(e29, t, n, r) { + let i = []; + for (let a = 0; a < n; a++) { + let n2 = []; + for (let i2 = 0; i2 < r; i2++) { + let r2 = [], o = false; + for (let t2 = 0; t2 < e29.length; t2++) { + let s2 = e29[t2], c = null; + if (s2.isReferenceObject() && (c = s2, s2 = s2.toArrayValueObject()), !s2.isArray()) if (a === 0 && i2 === 0) { + r2.push(c || s2); + continue; + } else { + n2.push(j3.create(D3.NA)), o = true; + break; + } + let l = s2.get(a, i2); + if (!l) { + n2.push(j3.create(D3.NA)), o = true; + break; + } + if (c) { + let { startRow: e30, startColumn: t3 } = c.getRangePosition(), n3 = { startRow: e30 + a, startColumn: t3 + i2, endRow: e30 + a, endColumn: t3 + i2 }; + l = this.createReferenceObject(c, n3); + } + r2.push(l); + } + if (o || r2.length === 0) continue; + let s = t.execute(...r2); + if (s.isArray()) { + let e30 = s.getRowCount(), t2 = s.getColumnCount(); + if (e30 > 1 || t2 > 1) return j3.create(D3.CALC); + s = s.get(0, 0); + } + s.isNull() && (s = R4.create(0)), n2.push(s); + } + i.push(n2); + } + return i; + } + }; + var em = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + return e29.isArray() ? e29.map((e30) => this._handleSingleObject(e30)) : this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + if (e29.isError()) return e29; + let t = +e29.getValue(); + return Number.isNaN(t) ? j3.create(D3.VALUE) : L3.create(!t); + } + }; + var tm = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = false, n = true, r = null; + for (let i of e29) { + if (i.isError()) return i; + if (i.isArray()) { + if (i.iterator((e30) => { + if (e30 != null && e30.isError()) return r = e30, false; + (e30 != null && e30.isBoolean() || e30 != null && e30.isNumber()) && (t = t || !!e30.getValue(), n = false); + }), r) return r; + } else (i.isBoolean() || i.isNumber()) && (t = t || !!i.getValue(), n = false); + } + return n ? new j3(D3.VALUE) : new L3(t); + } + }; + var nm = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3), E3(this, `needsReferenceObject`, true); + } + calculate(e29, t, n) { + let r, i; + e29.isReferenceObject() ? (r = e29.toArrayValueObject(), i = e29) : (r = e29, i = null); + let a, o; + return t.isReferenceObject() ? (a = t.toArrayValueObject(), o = t) : (a = t, o = null), r.isArray() ? r.mapValue((e30) => this._handleSingleValueObject(e30, a, n, i, o)) : this._handleSingleValueObject(r, a, n, i, o); + } + _handleSingleValueObject(e29, t, n, r, i) { + if (e29.isError()) return e29; + if (t.isError()) return t; + if (n.isError()) return n; + if (!(n.isValueObject() && n.isLambda() && n.getLambdaPrivacyVarKeys().length === 2)) return j3.create(D3.VALUE); + let a = n, o = t.isArray() ? t.getRowCount() : 1, s = t.isArray() ? t.getColumnCount() : 1, c = e29; + r && (c = r); + for (let e30 = 0; e30 < o; e30++) for (let n2 = 0; n2 < s; n2++) { + let r2 = t.isArray() ? t.get(e30, n2) : t; + if (r2.isError()) return r2; + if (i) { + let { startRow: t2, startColumn: a2 } = i.getRangePosition(), o3 = { startRow: t2 + e30, startColumn: a2 + n2, endRow: t2 + e30, endColumn: a2 + n2 }; + r2 = this.createReferenceObject(i, o3); + } + let o2 = a.execute(c, r2); + if (o2.isError()) return o2; + o2.isNull() && (o2 = R4.create(0)), c = o2; + } + return c.isReferenceObject() ? c.toArrayValueObject() : c; + } + }; + var rm = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3), E3(this, `needsReferenceObject`, true); + } + calculate(e29, t, n) { + let r = e29, i = null; + e29.isReferenceObject() && (r = e29.toArrayValueObject(), i = e29), r = r; + let a = t, o = null; + if (t.isReferenceObject() && (a = t.toArrayValueObject(), o = t), a = a, r.isError()) return r; + if (a.isError()) return a; + if (n.isError()) return n; + if (!(n.isValueObject() && n.isLambda() && n.getLambdaPrivacyVarKeys().length === 2)) return j3.create(D3.VALUE); + if (r.isArray()) { + let e30 = r.getRowCount(), t2 = r.getColumnCount(); + if (e30 > 1 || t2 > 1) return j3.create(D3.CALC); + r = r.get(0, 0); + } + return this._getResult(r, a, n, i, o); + } + _getResult(e29, t, n, r, i) { + let a = [], o = t.isArray() ? t.getRowCount() : 1, s = t.isArray() ? t.getColumnCount() : 1, c = e29; + r && (c = r); + for (let e30 = 0; e30 < o; e30++) { + let r2 = []; + for (let a2 = 0; a2 < s; a2++) { + if (c.isError()) { + r2.push(c); + continue; + } + let o2 = t.isArray() ? t.get(e30, a2) : t; + if (o2.isError()) { + c = o2, r2.push(o2); + continue; + } + if (i) { + let { startRow: t2, startColumn: n2 } = i.getRangePosition(), r3 = { startRow: t2 + e30, startColumn: n2 + a2, endRow: t2 + e30, endColumn: n2 + a2 }; + o2 = this.createReferenceObject(i, r3); + } + let s2 = n.execute(c, o2); + if (s2.isArray()) { + let e31 = s2.getRowCount(), t2 = s2.getColumnCount(); + if (e31 > 1 || t2 > 1) return j3.create(D3.CALC); + s2 = s2.get(0, 0); + } + s2.isNull() && (s2 = R4.create(0)), c = s2, r2.push(s2); + } + a.push(r2); + } + return o === 1 && s === 1 ? a[0][0] : B3.create({ calculateValueList: a, rowCount: o, columnCount: s, unitId: this.unitId, sheetId: this.subUnitId, row: this.row, column: this.column }); + } + }; + var im = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3); + } + calculate(e29, ...t) { + if (e29.isError()) return e29; + let n = t.length % 2 != 0, r = n ? t[t.length - 1] : I3.create(); + return !e29.isArray() && !t.some((e30) => e30.isArray()) ? this._handleNonArrayInputs(e29, t, r, n) : this._handleArrayInputs(e29, t, r, n); + } + _handleNonArrayInputs(e29, t, n, r) { + for (let n2 = 0; n2 < t.length - (r ? 1 : 0); n2 += 2) { + let r2 = t[n2], i = t[n2 + 1]; + if (!r2.isNull()) { + if (r2.isError()) return r2; + if (`${e29.getValue()}`.toLocaleLowerCase() === `${r2.getValue()}`.toLocaleLowerCase()) return i.isNull() ? j3.create(D3.NA) : i; + } + } + return n.isNull() ? j3.create(D3.NA) : n; + } + _handleArrayInputs(e29, t, n, r) { + let i = Math.max(e29.isArray() ? e29.getRowCount() : 1, ...t.map((e30) => e30.isArray() ? e30.getRowCount() : 1), n.isArray() ? n.getRowCount() : 1), a = Math.max(e29.isArray() ? e29.getColumnCount() : 1, ...t.map((e30) => e30.isArray() ? e30.getColumnCount() : 1), n.isArray() ? n.getColumnCount() : 1), o = V3(i, a, e29), s = t.map((e30) => V3(i, a, e30, j3.create(D3.NA))), c = V3(i, a, n, j3.create(D3.NA)); + return o.map((e30, t2, n2) => { + for (let i3 = 0; i3 < s.length - (r ? 1 : 0); i3 += 2) { + let r2 = s[i3].get(t2, n2) || I3.create(), a2 = s[i3 + 1].get(t2, n2) || I3.create(); + if (!r2.isNull()) { + if (r2.isError() || e30.isError()) return r2.isError() ? r2 : e30; + if (`${e30.getValue()}`.toLocaleLowerCase() === `${r2.getValue()}`.toLocaleLowerCase()) return a2.isNull() ? j3.create(D3.NA) : a2; + } + } + let i2 = c.get(t2, n2) || I3.create(); + return i2.isNull() ? j3.create(D3.NA) : i2; + }); + } + }; + var am = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 0), E3(this, `maxParams`, 0); + } + calculate() { + return L3.create(true); + } + }; + var om = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = 0, n = true, r = null; + for (let i of e29) { + if (i.isError()) return i; + if (i.isArray()) { + if (i.iterator((e30) => { + if (e30 != null && e30.isError()) return r = e30, false; + (e30 != null && e30.isBoolean() || e30 != null && e30.isNumber()) && (e30.getValue() && t++, n = false); + }), r) return r; + } else (i.isBoolean() || i.isNumber()) && (i.getValue() && t++, n = false); + } + return n ? j3.create(D3.VALUE) : L3.create(t % 2 == 1); + } + }; + var sm = [[Hp, no2.AND], [Up, no2.BYCOL], [Wp, no2.BYROW], [Gp, no2.FALSE], [Kp, no2.IF], [qp, no2.IFERROR], [Jp, no2.IFNA], [Yp, no2.IFS], [Xp, no2.LAMBDA], [Zp, no2.LET], [Qp, no2.MAKEARRAY], [$p, no2.MAP], [em, no2.NOT], [tm, no2.OR], [nm, no2.REDUCE], [rm, no2.SCAN], [im, no2.SWITCH], [am, no2.TRUE], [om, no2.XOR]]; + var cm = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 5); + } + calculate(e29, t, n, r, i) { + if (e29.isError()) return e29; + if (t.isError()) return t; + if (n != null && n.isError()) return n; + if (r != null && r.isError()) return r; + if (i != null && i.isError()) return i; + let a = n == null ? R4.create(1) : n, o = r == null ? L3.create(true) : r, s = i == null ? z3.create(``) : i, c = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, a.isArray() ? a.getRowCount() : 1, o.isArray() ? o.getRowCount() : 1, s.isArray() ? s.getRowCount() : 1), l = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, a.isArray() ? a.getColumnCount() : 1, o.isArray() ? o.getColumnCount() : 1, s.isArray() ? s.getColumnCount() : 1), u = V3(c, l, e29, j3.create(D3.NA)), d = V3(c, l, t, j3.create(D3.NA)), f = V3(c, l, a, j3.create(D3.NA)), p = V3(c, l, o, j3.create(D3.NA)), m = V3(c, l, s, j3.create(D3.NA)); + return u.map((e30, t2, n2) => { + let r2 = d.get(t2, n2) || j3.create(D3.NA), i2 = f.get(t2, n2) || j3.create(D3.NA), a2 = p.get(t2, n2) || j3.create(D3.NA), o2 = m.get(t2, n2) || j3.create(D3.NA); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : a2.isError() ? a2 : o2.isError() ? o2 : this._calculateSingleCell(e30, r2, i2, a2, o2); + }); + } + _calculateSingleCell(e29, t, n, r, i) { + let a = Number.parseInt(`${Number(e29.getValue()) - 1}`), o = Number.parseInt(`${Number(t.getValue()) - 1}`), s = Number.parseInt(`${Number(n.getValue())}`); + if (Number.isNaN(a) || Number.isNaN(o) || Number.isNaN(s) || s < 1 || s > 4) return j3.create(D3.VALUE); + let c = lm(s), l = this.getZeroOrOneByOneDefault(r), u = ir2(`${i.getValue()}`), d = { startRow: a, startColumn: o, endRow: a, endColumn: o, startAbsoluteRefType: c, endAbsoluteRefType: c }, f = r && !l ? gs2(d) : Gn2(d); + return z3.create(u === `` ? f : `${u}!${f}`); + } + }; + function lm(t) { + switch (t) { + case 1: + return V.ALL; + case 2: + return V.ROW; + case 3: + return V.COLUMN; + case 4: + return V.NONE; + default: + return V.ALL; + } + } + var um = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1), E3(this, `needsReferenceObject`, true); + } + calculate(e29) { + return e29.isReferenceObject() ? R4.create(1) : j3.create(D3.VALUE); + } + }; + var dm = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 255), E3(this, `needsReferenceObject`, true); + } + calculate(e29, ...t) { + let n = e29; + if (n.isError()) return n; + if (n.isReferenceObject() && (n = n.toArrayValueObject()), !n.isArray()) { + let e30 = n.convertToNumberObjectValue(); + return e30.isError() ? e30 : t[Math.trunc(+e30.getValue()) - 1] || j3.create(D3.VALUE); + } + let r = n.isArray() ? n.getRowCount() : 1, i = n.isArray() ? n.getColumnCount() : 1; + t.forEach((e30, t2) => { + if (e30.isArray()) { + let t3 = e30; + r = Math.max(r, t3.getRowCount()), i = Math.max(i, t3.getColumnCount()); + } else r = Math.max(r, 1), i = Math.max(i, 1); + }); + let a = V3(r, i, n, j3.create(D3.NA)), o = t.map((e30) => { + let t2 = e30; + return t2.isReferenceObject() && (t2 = t2.toArrayValueObject()), V3(r, i, t2, j3.create(D3.NA)); + }); + return a.map((e30, t2, n2) => { + if (e30.isError()) return e30; + let r2 = e30.convertToNumberObjectValue(); + if (r2.isError()) return r2; + let i2 = o[Math.trunc(+r2.getValue()) - 1], a2 = (i2 == null ? void 0 : i2.get(t2, n2)) || j3.create(D3.VALUE); + return a2 != null && a2.isNull() && (a2 = R4.create(0)), a2; + }); + } + }; + var fm = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 255); + } + calculate(e29, ...t) { + if (e29.isError()) return e29; + let n = e29.isArray() ? e29.getRowCount() : 1, r = e29.isArray() ? e29.getColumnCount() : 1, i = []; + for (let a = 0; a < t.length; a++) { + let o = t[a]; + if (o.isArray()) { + let e30 = o.getRowCount(), t2 = o.getColumnCount(); + if (e30 > 1 || t2 > 1) return j3.create(D3.VALUE); + o = o.get(0, 0); + } + if (o.isString() && (o = o.convertToNumberObjectValue()), o.isError()) return o; + let s = Math.trunc(+o.getValue()); + if (s === 0 || Math.abs(s) > r) return j3.create(D3.VALUE); + let c = e29; + r > 1 && (c = s < 0 ? e29.slice(void 0, [s + r, s + 1 + r]) : e29.slice(void 0, [s - 1, s])); + for (let t2 = 0; t2 < n; t2++) i[t2] || (i[t2] = []), e29.isArray() ? i[t2].push(c.get(t2, 0)) : i[t2].push(e29); + } + return B3.create({ calculateValueList: i, rowCount: i.length, columnCount: i[0].length || 0, unitId: this.unitId, sheetId: this.subUnitId, row: this.row, column: this.column }); + } + }; + var pm = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 255); + } + calculate(e29, ...t) { + if (e29.isError()) return e29; + let n = e29.isArray() ? e29.getRowCount() : 1, r = []; + for (let i = 0; i < t.length; i++) { + let a = t[i]; + if (a.isArray()) { + let e30 = a.getRowCount(), t2 = a.getColumnCount(); + if (e30 > 1 || t2 > 1) return j3.create(D3.VALUE); + a = a.get(0, 0); + } + if (a.isString() && (a = a.convertToNumberObjectValue()), a.isError()) return a; + let o = Math.trunc(+a.getValue()); + if (o === 0 || Math.abs(o) > n) return j3.create(D3.VALUE); + let s = e29; + n > 1 && (s = o < 0 ? e29.slice([o + n, o + 1 + n]) : e29.slice([o - 1, o])), e29.isArray() ? r.push(s.getArrayValue()[0]) : r.push([e29]); + } + return B3.create({ calculateValueList: r, rowCount: r.length, columnCount: r[0].length || 0, unitId: this.unitId, sheetId: this.subUnitId, row: this.row, column: this.column }); + } + }; + var mm = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 0), E3(this, `maxParams`, 1); + } + calculate(e29) { + if (e29 == null) return R4.create(this.column + 1); + if (e29.isError()) return e29; + if (!e29.isArray()) return j3.create(D3.NA); + let t = e29.getCurrentColumn(), n = e29.getColumnCount(), r = []; + for (let e30 = 0; e30 < n; e30++) r.push(R4.create(t + e30 + 1)); + let i = { calculateValueList: [r], rowCount: 1, columnCount: n, unitId: this.unitId || ``, sheetId: this.subUnitId || ``, row: this.row, column: this.column }; + return B3.create(i); + } + }; + var hm = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + if (e29.isError()) return e29; + if (e29.isString() || e29.isNumber() || e29.isBoolean()) return R4.create(1); + if (!e29.isArray()) return j3.create(D3.NA); + let t = e29.getColumnCount(); + return R4.create(t); + } + }; + var gm = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = n == null ? R4.create(0) : n, i = e29.isArray() ? e29.getRowCount() : 1, a = e29.isArray() ? e29.getColumnCount() : 1, o = Math.max(t.isArray() ? t.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1), s = Math.max(t.isArray() ? t.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1), c = V3(o, s, t, j3.create(D3.NA)), l = V3(o, s, r, j3.create(D3.NA)); + if (o > 1 || s > 1) return c.mapValue((t2, n2, r2) => { + let o2 = l.get(n2, r2); + if (e29.isError()) return e29; + if (e29.isNull()) return j3.create(D3.VALUE); + let { isError: s2, errorObject: c2 } = this._checkRowsColumns(t2, o2, i, a); + return s2 ? c2 : e29.isArray() ? j3.create(D3.VALUE) : e29; + }); + if (e29.isError()) return e29; + if (e29.isNull()) return j3.create(D3.VALUE); + let u = t.isArray() ? t.get(0, 0) : t, d = r.isArray() ? r.get(0, 0) : r, { isError: f, errorObject: p, rowsValue: m, columnsValue: h } = this._checkRowsColumns(u, d, i, a); + return f ? p : this._getResultArray(e29, m, h, i, a); + } + _checkRowsColumns(e29, t, n, r) { + if (e29.isError()) return { isError: true, errorObject: e29 }; + if (t.isError()) return { isError: true, errorObject: t }; + let i = Math.trunc(+e29.getValue()), a = Math.trunc(+t.getValue()); + return Number.isNaN(i) || Number.isNaN(a) ? { isError: true, errorObject: j3.create(D3.VALUE) } : Math.abs(i) >= n || Math.abs(a) >= r ? { isError: true, errorObject: j3.create(D3.CALC) } : { isError: false, rowsValue: i, columnsValue: a }; + } + _getResultArray(e29, t, n, r, i) { + let a = t >= 0 ? [t, r] : [0, r + t], o = n >= 0 ? [n, i] : [0, i + n], s; + return s = t === 0 && n === 0 ? e29 : t === 0 ? e29.slice(void 0, o) : n === 0 ? e29.slice(a, void 0) : e29.slice(a, o), s = s.map((e30) => e30.isNull() ? R4.create(0) : e30), r - t === 1 && i - n === 1 ? s.get(0, 0) : s; + } + }; + var _m = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 4); + } + calculate(e29, t, n, r) { + let i = e29.isArray() ? e29.getRowCount() : 1, a = e29.isArray() ? e29.getColumnCount() : 1, o = t, s = n == null ? R4.create(a) : n, c = r == null ? j3.create(D3.NA) : r; + t.isNull() && (o = R4.create(i)), s.isNull() && (s = R4.create(a)); + let l = Math.max(o.isArray() ? o.getRowCount() : 1, s.isArray() ? s.getRowCount() : 1), u = Math.max(o.isArray() ? o.getColumnCount() : 1, s.isArray() ? s.getColumnCount() : 1), d = V3(l, u, o, j3.create(D3.NA)), f = V3(l, u, s, j3.create(D3.NA)); + if (l > 1 || u > 1) return d.mapValue((t2, n2, r2) => { + let o2 = f.get(n2, r2); + if (e29.isError()) return e29; + if (e29.isNull()) return j3.create(D3.VALUE); + let { isError: s2, errorObject: l2 } = this._checkRowsColumnsPadWith(t2, o2, c, i, a); + return s2 ? l2 : e29.isArray() ? e29.get(0, 0) : e29; + }); + if (e29.isError()) return e29; + if (e29.isNull()) return j3.create(D3.VALUE); + let p = o.isArray() ? o.get(0, 0) : o, m = s.isArray() ? s.get(0, 0) : s, { isError: h, errorObject: g2, rowsValue: _2, columnsValue: v, padWithObject: y } = this._checkRowsColumnsPadWith(p, m, c, i, a); + return h ? g2 : this._getResultArray(e29, _2, v, y, i, a); + } + _checkRowsColumnsPadWith(e29, t, n, r, i) { + if (e29.isError()) return { isError: true, errorObject: e29 }; + if (t.isError()) return { isError: true, errorObject: t }; + let a = Math.trunc(+e29.getValue()), o = Math.trunc(+t.getValue()); + if (Number.isNaN(a) || Number.isNaN(o) || Math.abs(a) < r || Math.abs(o) < i) return { isError: true, errorObject: j3.create(D3.VALUE) }; + let s = n; + if (n.isArray()) { + let e30 = n.getRowCount(), t2 = n.getColumnCount(); + if (e30 > 1 || t2 > 1) return { isError: true, errorObject: j3.create(D3.VALUE) }; + s = n.get(0, 0); + } + return { isError: false, rowsValue: a, columnsValue: o, padWithObject: s }; + } + _getResultArray(e29, t, n, r, i, a) { + let o = []; + o = e29.isArray() ? e29.map((e30) => e30.isNull() ? R4.create(0) : e30).getArrayValue() : [[e29]]; + let s = Math.max(0, t - i), c = Math.max(0, n - a); + for (let e30 = 0; e30 < s; e30++) o.push(Array(a).fill(r)); + for (let e30 = 0; e30 < c; e30++) o.forEach((e31) => { + e31.push(r); + }); + return t === 1 && n === 1 ? o[0][0] : B3.create({ calculateValueList: o, rowCount: o.length, columnCount: o[0].length, unitId: this.unitId, sheetId: this.subUnitId, row: this.row, column: this.column }); + } + }; + var vm = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = n == null ? j3.create(D3.CALC) : n; + if (e29.isError()) return e29; + if (t.isError()) return t; + let i = e29.isArray() ? e29.getRowCount() : 1, a = e29.isArray() ? e29.getColumnCount() : 1, o = t.isArray() ? t.getRowCount() : 1, s = t.isArray() ? t.getColumnCount() : 1; + return o > 1 && s > 1 || o === 1 && s !== a || s === 1 && o !== i ? j3.create(D3.VALUE) : i === 1 && a === 1 ? this._getResultArrayByR1C1(e29, t, r) : o === 1 ? s === a ? this._getResultArrayByR1(i, a, e29, t, r) : j3.create(D3.VALUE) : s === 1 ? o === i ? this._getResultArrayByC1(i, a, e29, t, r) : j3.create(D3.VALUE) : r; + } + _getResultArrayByR1C1(e29, t, n) { + let r = e29, i = t; + return r.isArray() && (r = r.get(0, 0)), i.isArray() && (i = i.get(0, 0)), i.isString() && (i = i.convertToNumberObjectValue()), i.isError() ? i : +i.getValue() ? r : n; + } + _getResultArrayByR1(e29, t, n, r, i) { + let a = []; + for (let i2 = 0; i2 < t; i2++) { + let t2 = r.get(0, i2); + if (t2.isString() && (t2 = t2.convertToNumberObjectValue()), t2.isError()) return t2; + if (+t2.getValue()) for (let t3 = 0; t3 < e29; t3++) { + a[t3] || (a[t3] = []); + let e30 = n.get(t3, i2); + a[t3].push(e30); + } + } + return a.length === 0 ? i : B3.create({ calculateValueList: a, rowCount: a.length, columnCount: a[0].length || 0, unitId: this.unitId, sheetId: this.subUnitId, row: this.row, column: this.column }); + } + _getResultArrayByC1(e29, t, n, r, i) { + let a = []; + for (let i2 = 0; i2 < e29; i2++) { + let e30 = r.get(i2, 0); + if (e30.isString() && (e30 = e30.convertToNumberObjectValue()), e30.isError()) return e30; + if (!+e30.getValue()) continue; + let o = []; + for (let e31 = 0; e31 < t; e31++) { + let t2 = n.get(i2, e31); + o.push(t2); + } + a.push(o); + } + return a.length === 0 ? i : B3.create({ calculateValueList: a, rowCount: a.length, columnCount: a[0].length || 0, unitId: this.unitId, sheetId: this.subUnitId, row: this.row, column: this.column }); + } + }; + var ym = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1), E3(this, `needsReferenceObject`, true), E3(this, `needsFormulaDataModel`, true); + } + calculate(e29) { + var t; + if (!e29.isReferenceObject()) return j3.create(D3.NA); + let n = e29.getUnitId(), r = e29.getSheetId(), i = (t = e29.getUnitData()[n]) == null || (t = t[r]) == null ? void 0 : t.cellData, { startRow: a, startColumn: o } = e29.getRangePosition(), s = e29.toArrayValueObject().mapValue((e30, t2, s2) => { + let c = i.getValue(a + t2, o + s2); + if (c != null && c.f || c != null && c.si) { + let e31 = this._formulaDataModel.getFormulaStringByCell(a + t2, o + s2, r, n); + return z3.create(e31); + } + return j3.create(D3.NA); + }); + return s.getRowCount() === 1 && s.getColumnCount() === 1 ? s.get(0, 0) : s; + } + }; + var bm = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 4); + } + calculate(e29, t, n, r) { + if (e29.isError()) return e29; + if (t.isError()) return j3.create(D3.REF); + if (!t.isArray() || n.isError() || r != null && r.isError()) return j3.create(D3.NA); + let i = this.getZeroOrOneByOneDefault(r); + if (i == null) return j3.create(D3.VALUE); + let a = this.getIndexNumValue(n); + if (a instanceof j3) return a; + let o = t.slice([0, 1]), s = t.slice([a - 1, a]); + return o == null || s == null ? j3.create(D3.REF) : e29.isArray() ? e29.map((e30) => this._handleSingleObject(e30, o, s, i)) : this._handleSingleObject(e29, o, s, i); + } + _handleSingleObject(e29, t, n, r) { + return r === 0 ? this.equalSearch(e29, t, n) : this.binarySearch(e29, t, n); + } + }; + var xm2 = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = Math.max(...e29.map((e30) => e30.isArray() ? e30.getRowCount() : 1)), n = []; + for (let r = 0; r < e29.length; r++) { + let i = e29[r]; + if (i.isError()) return i; + let a = i.isArray() ? i.getRowCount() : 1, o = i.isArray() ? i.getColumnCount() : 1; + for (let e30 = 0; e30 < t; e30++) { + n[e30] || (n[e30] = []); + for (let t2 = 0; t2 < o; t2++) { + let r2 = i; + i.isArray() && (r2 = i.get(e30, t2)), e30 > a - 1 || !r2 ? n[e30].push(j3.create(D3.NA)) : n[e30].push(r2); + } + } + } + return B3.create({ calculateValueList: n, rowCount: n.length, columnCount: n[0].length || 0, unitId: this.unitId, sheetId: this.subUnitId, row: this.row, column: this.column }); + } + }; + var Sm = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = e29; + if (e29.isArray() && (n = e29.get(0, 0)), n.isError()) return n; + let r = t; + if (t != null && t.isArray() && (r = t.get(0, 0)), r != null && r.isError()) return r; + let i = `${n.getValue()}`; + n.isNull() && (i = ``); + let a = i; + return r && (a = `${r.getValue()}`, r.isNull() ? a = `0` : r.isBoolean() && (a = a.toLocaleUpperCase())), z3.create(a, { isHyperlink: true, hyperlinkUrl: i }); + } + }; + var Cm = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 5); + } + calculate(e29, t, n, r, i) { + let a = Math.max(e29.isArray() ? e29.getRowCount() : 1, t != null && t.isArray() ? t.getRowCount() : 1, n != null && n.isArray() ? n.getRowCount() : 1, r != null && r.isArray() ? r.getRowCount() : 1, i != null && i.isArray() ? i.getRowCount() : 1), o = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t != null && t.isArray() ? t.getColumnCount() : 1, n != null && n.isArray() ? n.getColumnCount() : 1, r != null && r.isArray() ? r.getColumnCount() : 1, i != null && i.isArray() ? i.getColumnCount() : 1), s = V3(a, o, e29, j3.create(D3.NA)), c = t ? V3(a, o, t, j3.create(D3.NA)) : void 0, l = n ? V3(a, o, n, j3.create(D3.NA)) : void 0, u = r ? V3(a, o, r, j3.create(D3.NA)) : void 0, d = i ? V3(a, o, i, j3.create(D3.NA)) : void 0, f = s.mapValue((e30, t2, n2) => { + if (e30.isError()) return e30; + let r2 = c ? c.get(t2, n2) : void 0; + if (r2 != null && r2.isError()) return r2; + let i2 = l ? l.get(t2, n2) : void 0; + if (i2 != null && i2.isError()) return i2; + let a2 = u ? u.get(t2, n2) : void 0; + if (a2 != null && a2.isError()) return a2; + let o2 = d ? d.get(t2, n2) : void 0; + return o2 != null && o2.isError() ? o2 : this._handleSingleObject(e30, r2, i2, a2, o2); + }); + return a === 1 && o === 1 ? f.get(0, 0) : f; + } + _handleSingleObject(e29, t, n, r, i) { + if (!e29.isString()) return j3.create(D3.VALUE); + let a = e29.getValue(), o = ``; + t && (t.isBoolean() ? o = t.getValue() ? `TRUE` : `FALSE` : t.isNull() || (o = `${t.getValue()}`)); + let s = n == null ? R4.create(0) : n; + if (s.isString() && (s = s.convertToNumberObjectValue()), s.isError()) return s; + let c = Math.abs(Math.trunc(+s.getValue())); + if (c < 0 || c > 3 || [0, 1, 2].includes(c) && (r || i)) return j3.create(D3.VALUE); + let l = r == null ? R4.create(0) : r; + if (l.isString() && (l = l.convertToNumberObjectValue()), l.isError()) return l; + let u = Math.ceil(+l.getValue()), d = i == null ? R4.create(0) : i; + if (d.isString() && (d = d.convertToNumberObjectValue()), d.isError()) return d; + let f = Math.ceil(+d.getValue()); + return c === 3 && u < 1 && f < 1 ? j3.create(D3.VALUE) : z3.create(``, { isImage: true, imageInfo: { source: a, altText: o, sizing: c, height: u, width: f } }); + } + }; + var wm = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 4), E3(this, `needsReferenceObject`, true); + } + calculate(e29, t, n, r) { + if (e29.isError()) return e29; + let i = this._getReferenceCounts(e29), a = t; + t.isReferenceObject() && (a = t.toArrayValueObject()); + let o = n; + o != null && o.isReferenceObject() && (o = n.toArrayValueObject()); + let s = r == null ? R4.create(1) : r; + s.isReferenceObject() && (s = r.toArrayValueObject()); + let c = Math.max(a.isArray() ? a.getRowCount() : 1, o != null && o.isArray() ? o.getRowCount() : 1, s.isArray() ? s.getRowCount() : 1), l = Math.max(a.isArray() ? a.getColumnCount() : 1, o != null && o.isArray() ? o.getColumnCount() : 1, s.isArray() ? s.getColumnCount() : 1); + if (c === 1 && l === 1) return this._handleSingleObject(e29, a.isArray() ? a.get(0, 0) : a, o ? o.isArray() ? o.get(0, 0) : o : void 0, s.isArray() ? s.get(0, 0) : s, i); + { + let t2 = V3(c, l, a, j3.create(D3.NA)), n2 = o ? V3(c, l, o, j3.create(D3.NA)) : [], r2 = V3(c, l, s, j3.create(D3.NA)); + return t2.mapValue((t3, a2, s2) => { + let c2 = o ? n2.get(a2, s2) : void 0, l2 = r2.get(a2, s2), u = this._handleSingleObject(e29, t3, c2, l2, i); + return u.isReferenceObject() ? u.getCellByPosition() : u; + }); + } + } + _handleSingleObject(e29, t, n, r, i) { + let a, o, s; + if (n) { + let { isError: e30, errorObject: i2, variants: c2 } = X3(t, n, r); + if (e30) return i2; + a = c2[0], o = c2[1], s = c2[2]; + } else { + let { isError: e30, errorObject: n2, variants: i2 } = X3(t, r); + if (e30) return n2; + a = i2[0], s = i2[1]; + } + let c = Math.floor(+s.getValue()); + if (c < 0) return j3.create(D3.VALUE); + if (c > i.length) return j3.create(D3.REF); + let l = i[c - 1], u = 0, d = 0; + if (l.rowCount === 1 && !n ? d = Math.floor(+a.getValue()) : (u = Math.floor(+a.getValue()), n && (d = Math.floor(+o.getValue()))), u < 0 || d < 0) return j3.create(D3.VALUE); + if (u > l.rowCount || d > l.columnCount) return j3.create(D3.REF); + let f = e29; + return c > 1 && (f = e29.getCubeValues()[c - 1]), f.isReferenceObject() ? this._calculateReferenceObject(f, u, d) : this._calculateArrayObject(f, u, d); + } + _getReferenceCounts(e29) { + let t = [{ rowCount: 1, columnCount: 1 }]; + return e29.isReferenceObject() ? t = [{ rowCount: e29.getRowCount(), columnCount: e29.getColumnCount() }] : e29.isCube() ? t = e29.getCubeValues().map((e30) => ({ rowCount: e30.getRowCount(), columnCount: e30.getColumnCount() })) : e29.isArray() && (t = [{ rowCount: e29.getRowCount(), columnCount: e29.getColumnCount() }]), t; + } + _calculateReferenceObject(e29, t, n) { + let { startRow: r, endRow: i, startColumn: a, endColumn: o } = e29.getRangePosition(), s = 0, c = 0, l = 0, u = 0; + if (t === 0 ? (s = r, c = i) : s = c = r + t - 1, n === 0 ? (l = a, u = o) : l = u = a + n - 1, s > i || l > o) return j3.create(D3.REF); + let d = { startRow: s, startColumn: l, endRow: c, endColumn: u }; + return this.createReferenceObject(e29, d); + } + _calculateArrayObject(e29, t, n) { + return !e29.isArray() || t === 0 && n === 0 ? e29 : t === 0 ? e29.slice(void 0, [n - 1, n]) : n === 0 ? e29.slice([t - 1, t], void 0) : e29.get(t - 1, n - 1); + } + }; + var Tm = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 2); + } + isAddress() { + return true; + } + calculate(e29, t) { + if (e29.isError()) return e29; + if (t != null && t.isError()) return t; + let n = this.getZeroOrOneByOneDefault(t); + n == null && (n = 1); + let r = e29; + if (e29.isArray()) { + let t2 = e29.getRowCount(), n2 = e29.getColumnCount(); + if (t2 > 1 || n2 > 1) return e29.map(() => j3.create(D3.VALUE)); + r = e29.getFirstCell(); + } + return this._handleSingleObject(r, n); + } + _handleSingleObject(e29, t) { + let n = `${e29.getValue()}`; + if (n.trim() === ``) return j3.create(D3.REF); + let r = this._convertToDefinedName(n); + if (t === 0) { + let { range: e30, sheetName: t2, unitId: n2 } = hs2(r), i2 = new Sa2(e30); + return i2.setForcedUnitIdDirect(n2), i2.setForcedSheetName(t2), this._setDefault(i2); + } + if (gn2(r)) return this._setDefault(new Ca(r)); + if (vn2(r)) return this._setDefault(new Ta(r)); + if (yn2(r)) return this._setDefault(new wa(r)); + let { range: i, sheetName: a, unitId: o } = Jr2(r); + if (Number.isNaN(i.startRow) || i.endRow + 1 > uo || Number.isNaN(i.startColumn) || i.endColumn + 1 > fo) return j3.create(D3.REF); + let s = new Sa2(i); + return s.setForcedUnitIdDirect(o), s.setForcedSheetName(a), this._setDefault(s); + } + _setDefault(e29) { + return this.unitId == null || this.subUnitId == null ? j3.create(D3.REF) : (e29.setDefaultUnitId(this.unitId), e29.setDefaultSheetId(this.subUnitId), e29); + } + _convertToDefinedName(e29) { + let t = this.getDefinedName(e29); + if (t == null) return e29; + let n = t.formulaOrRefString; + return n == null ? e29 : n.startsWith(O4.EQUALS) ? n.slice(1) : n; + } + }; + var Em = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 3), E3(this, `needsExpandParams`, true); + } + calculate(e29, t, n) { + return e29.isError() ? e29 : t.isError() ? j3.create(D3.REF) : t.isArray() ? n != null && n.isError() ? n : t.getColumnCount() === 1 || t.getRowCount() === 1 ? n != null && !n.isArray() ? j3.create(D3.REF) : this._handleVector(e29, t, n) : this._handleArray(e29, t) : j3.create(D3.VALUE); + } + _handleVector(e29, t, n) { + let r = n; + if (r == null) r = t; + else if (r.getRowCount() !== t.getRowCount() || r.getColumnCount() !== t.getColumnCount()) return j3.create(D3.REF); + return e29.isArray() ? e29.map((e30) => this.binarySearch(e30, t, r)) : this.binarySearch(e29, t, r); + } + _handleArray(e29, t) { + let n = t.getRowCount(), r = t.getColumnCount(), i, a; + return r > n ? (i = t.slice([0, 1]), a = t.slice([n - 1, n])) : (i = t.slice(void 0, [0, 1]), a = t.slice(void 0, [r - 1, r])), i == null || a == null ? j3.create(D3.VALUE) : e29.isArray() ? e29.map((e30) => this.binarySearch(e30, i, a)) : this.binarySearch(e29, i, a); + } + }; + var Dm = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + if (e29.isError()) return e29; + if (t.isError()) return j3.create(D3.REF); + if (!t.isArray()) return j3.create(D3.VALUE); + let r = t.getRowCount(), i = t.getColumnCount(); + if (r !== 1 && i !== 1 || n != null && n.isError()) return j3.create(D3.NA); + let a = this.getMatchTypeValue(n); + return a == null ? j3.create(D3.VALUE) : e29.isArray() ? e29.map((e30) => this._handleSingleObject(e30, t, a)) : this._handleSingleObject(e29, t, a); + } + _handleSingleObject(e29, t, n) { + let r = e29.isNull() ? R4.create(0) : e29, i = this._getSearchModeValue(n), a = t.orderSearch(r, i); + if (a == null) return j3.create(D3.NA); + if (a instanceof j3) return a; + let o = t.getRowCount() === 1 ? a.column + 1 : a.row + 1; + return R4.create(o); + } + _getSearchModeValue(e29) { + switch (e29) { + case 1: + return yi2.MIN; + case 0: + return yi2.NORMAL; + case -1: + return yi2.MAX; + } + } + }; + var Om = class extends ya2 { + constructor(e29, t = []) { + super(e29), E3(this, `_areas`, []), this._areas = t; + } + dispose() { + this._areas.forEach((e29) => { + e29.forEach((e30) => e30.dispose()); + }), this._areas = [], super.dispose(); + } + getAreas() { + return this._areas; + } + setAreas(e29) { + this._areas = e29; + } + addArea(e29) { + Array.isArray(e29) ? this._areas.push(e29) : this._areas.push([e29]); + } + _flatAreas() { + return this._areas.flat(); + } + isMultiArea() { + return true; + } + isRange() { + return false; + } + isCell() { + return false; + } + isRow() { + return false; + } + isColumn() { + return false; + } + getRowCount() { + let e29 = 0; + for (let t of this._flatAreas()) t.isError() || (e29 += t.getRowCount()); + return e29; + } + getColumnCount() { + let e29 = 0; + for (let t of this._flatAreas()) t.isError() || (e29 += t.getColumnCount()); + return e29; + } + isExceedRange() { + return this._flatAreas().some((e29) => e29.isError() ? false : e29.isExceedRange()); + } + setRefOffset(e29 = 0, t = 0) { + super.setRefOffset(e29, t), this._flatAreas().forEach((n) => { + n.isError() || n.setRefOffset(e29, t); + }); + } + _getReferenceArea() { + return this._flatAreas().find((e29) => !e29.isError()); + } + getUnitId() { + var e29, t; + return (e29 = (t = this._getReferenceArea()) == null ? void 0 : t.getUnitId()) == null ? super.getUnitId() : e29; + } + getSheetId() { + var e29, t; + return (e29 = (t = this._getReferenceArea()) == null ? void 0 : t.getSheetId()) == null ? super.getSheetId() : e29; + } + getActiveSheetRowCount() { + var e29, t; + return (e29 = (t = this._getReferenceArea()) == null ? void 0 : t.getActiveSheetRowCount()) == null ? 0 : e29; + } + getActiveSheetColumnCount() { + var e29, t; + return (e29 = (t = this._getReferenceArea()) == null ? void 0 : t.getActiveSheetColumnCount()) == null ? 0 : e29; + } + iterator(e29) { + for (let t of this._areas) { + let n = false; + for (let r of t) { + if (r.isError()) continue; + let t2 = false; + if (r.iterator((r2, i, a) => { + let o = e29(r2, i, a); + return o === false ? (t2 = true, n = true, false) : o; + }), t2) break; + } + if (n) return; + } + } + getFirstCell() { + let e29 = this._getReferenceArea(); + return e29 ? e29.getFirstCell() : super.getFirstCell(); + } + toArrayValueObject() { + var e29, t; + let n = this._areas.length; + if (n === 0) return Ea2([], 0, 0); + let r = (e29 = (t = this._areas[0]) == null ? void 0 : t.length) == null ? 0 : e29, i = []; + for (let e30 = 0; e30 < n; e30++) { + let t2 = this._areas[e30]; + if (t2) { + i[e30] = i[e30] || []; + for (let n2 = 0; n2 < r; n2++) { + let r2 = t2[n2]; + if (!r2) continue; + if (r2.isError()) { + i[e30][n2] = r2; + continue; + } + let a = null; + r2.iterator((e31) => (a = e31 == null ? null : e31, false)), a != null && (i[e30][n2] = a), i[e30][n2] = I3.create(); + } + } + } + return Ea2(i, n, r); + } + getRangePosition() { + let e29 = this._flatAreas(); + if (!e29.length) return super.getRangePosition(); + let t = 1 / 0, n = 1 / 0, r = -1 / 0, i = -1 / 0; + for (let a of e29) { + if (a.isError()) continue; + let { startRow: e30, startColumn: o, endRow: s, endColumn: c } = a.getRangePosition(); + !Number.isFinite(e30) || !Number.isFinite(o) || !Number.isFinite(s) || !Number.isFinite(c) || (e30 < t && (t = e30), o < n && (n = o), s > r && (r = s), c > i && (i = i < c ? c : i)); + } + return !Number.isFinite(t) || !Number.isFinite(n) || !Number.isFinite(r) || !Number.isFinite(i) ? super.getRangePosition() : { startRow: t, startColumn: n, endRow: r, endColumn: i }; + } + toUnitRange() { + return { range: this.getRangePosition(), sheetId: this.getSheetId(), unitId: this.getUnitId() }; + } + getRangeData() { + let e29 = this._flatAreas(); + if (!e29.length) return super.getRangeData(); + let t = 1 / 0, n = 1 / 0, r = -1 / 0, i = -1 / 0; + for (let a of e29) { + if (a.isError()) continue; + let { startRow: e30, startColumn: o, endRow: s, endColumn: c } = a.getRangeData(); + !Number.isFinite(e30) || !Number.isFinite(o) || !Number.isFinite(s) || !Number.isFinite(c) || (e30 < t && (t = e30), o < n && (n = o), s > r && (r = s), c > i && (i = c)); + } + return !Number.isFinite(t) || !Number.isFinite(n) || !Number.isFinite(r) || !Number.isFinite(i) ? super.getRangeData() : { startRow: t, startColumn: n, endRow: r, endColumn: i }; + } + }; + var km = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 5), E3(this, `needsReferenceObject`, true); + } + isAddress() { + return true; + } + calculate(e29, t, n, r, i) { + if (e29.isError()) return e29; + if (t.isError()) return t; + if (n.isError()) return n; + if (r != null && r.isError()) return r; + if (i != null && i.isError()) return i; + if (!e29.isReferenceObject()) return j3.create(D3.VALUE); + let a = e29.getRowCount(), o = e29.getColumnCount(), s = t; + s.isReferenceObject() && (s = s.toArrayValueObject()); + let c = n; + c.isReferenceObject() && (c = c.toArrayValueObject()); + let l = r == null ? R4.create(a) : r; + l.isReferenceObject() && (l = l.toArrayValueObject()), l.isNull() && (l = R4.create(a)); + let u = i == null ? R4.create(o) : i; + u.isReferenceObject() && (u = u.toArrayValueObject()), u.isNull() && (u = R4.create(o)); + let d = Math.max(s.isArray() ? s.getRowCount() : 1, c.isArray() ? c.getRowCount() : 1, l.isArray() ? l.getRowCount() : 1, u.isArray() ? u.getRowCount() : 1), f = Math.max(s.isArray() ? s.getColumnCount() : 1, c.isArray() ? c.getColumnCount() : 1, l.isArray() ? l.getColumnCount() : 1, u.isArray() ? u.getColumnCount() : 1); + if (s = s, c = c, l = l, u = u, d === 1 && f === 1) return s = s.isArray() ? s.get(0, 0) : s, c = c.isArray() ? c.get(0, 0) : c, l = l.isArray() ? l.get(0, 0) : l, u = u.isArray() ? u.get(0, 0) : u, this._handleSingleObject(e29, s, c, l, u); + let p = V3(d, f, s, j3.create(D3.NA)), m = V3(d, f, c, j3.create(D3.NA)), h = V3(d, f, l, j3.create(D3.NA)), g2 = V3(d, f, u, j3.create(D3.NA)), _2 = []; + return p.iterator((t2, n2, r2) => { + let i2 = m.get(n2, r2), a2 = h.get(n2, r2), o2 = g2.get(n2, r2); + if (_2[n2] = _2[n2] || [], t2 == null) { + _2[n2][r2] = j3.create(D3.NA); + return; + } + if (t2.isError()) { + _2[n2][r2] = t2; + return; + } + if (i2.isError()) { + _2[n2][r2] = i2; + return; + } + if (a2.isError()) { + _2[n2][r2] = a2; + return; + } + if (o2.isError()) { + _2[n2][r2] = o2; + return; + } + let s2 = this._handleSingleObject(e29, t2, i2, a2, o2); + _2[n2][r2] = s2; + }), new Om(``, _2); + } + _handleSingleObject(e29, t, n, r, i) { + let { startRow: a, startColumn: o } = e29.getRangePosition(), s = t; + if (s.isString() && (s = s.convertToNumberObjectValue()), s.isError()) return s; + let c = n; + if (c.isString() && (c = c.convertToNumberObjectValue()), c.isError()) return c; + let l = +s.getValue(), u = +c.getValue(); + if (typeof l != `number` || typeof u != `number`) return j3.create(D3.VALUE); + let d = a + l, f = o + u; + if (d < 0 || f < 0 || d >= uo || f >= fo) return j3.create(D3.REF); + let p = this.getIndexNumValue(r), m = this.getIndexNumValue(i); + if (typeof p != `number` || typeof m != `number`) return j3.create(D3.VALUE); + if (p === 0 || m === 0) return j3.create(D3.REF); + let h = p > 0 ? d + p - 1 : d + p + 1, g2 = m > 0 ? f + m - 1 : f + m + 1; + if (h < 0 || g2 < 0 || h >= uo || g2 >= fo) return j3.create(D3.REF); + let _2 = { startRow: d < h ? d : h, startColumn: f < g2 ? f : g2, endRow: d > h ? d : h, endColumn: f > g2 ? f : g2 }; + return this.createReferenceObject(e29, _2); + } + }; + var Am = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 0), E3(this, `maxParams`, 1); + } + calculate(e29) { + if (e29 == null) return R4.create(this.row + 1); + if (e29.isError()) return e29; + if (!e29.isArray()) return j3.create(D3.NA); + let t = e29.getCurrentRow(), n = e29.getRowCount(), r = []; + for (let e30 = 0; e30 < n; e30++) r.push([R4.create(t + e30 + 1)]); + let i = { calculateValueList: r, rowCount: n, columnCount: 1, unitId: this.unitId || ``, sheetId: this.subUnitId || ``, row: this.row, column: this.column }; + return B3.create(i); + } + }; + var jm = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + if (e29.isError()) return e29; + if (e29.isString() || e29.isNumber() || e29.isBoolean()) return R4.create(1); + if (!e29.isArray()) return j3.create(D3.NA); + let t = e29.getRowCount(); + return R4.create(t); + } + }; + var Mm = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 4); + } + calculate(e29, t, n, r) { + let i = t == null ? R4.create(1) : t, a = n == null ? R4.create(1) : n, o = r == null ? L3.create(false) : r; + if (i.isNull() && (i = R4.create(1)), o.isArray()) { + let t2 = o.getRowCount(), n2 = o.getColumnCount(); + if (t2 === 1 && n2 === 1) { + let t3 = o.get(0, 0); + return this._handleSingleObject(e29, i, a, t3); + } + return o.map((t3) => { + let n3 = this._handleSingleObject(e29, i, a, t3); + return n3.isArray() ? n3.get(0, 0) : n3; + }); + } + return this._handleSingleObject(e29, i, a, o); + } + _handleSingleObject(e29, t, n, r) { + if (e29.isError()) return e29; + let i = e29.isArray() ? e29.getRowCount() : 1, a = e29.isArray() ? e29.getColumnCount() : 1, o = this._checkArrayError(t); + if (o.isError()) return o; + let s = Math.floor(+o.getValue()); + if (s < 1) return j3.create(D3.VALUE); + let c = this._checkArrayError(n); + if (c.isError()) return c; + let l = Math.floor(+c.getValue()); + if (l !== -1 && l !== 1) return j3.create(D3.VALUE); + let u = r; + if (u.isString() && (u = u.convertToNumberObjectValue()), u.isError()) return u; + if (!e29.isArray() || i === 1 && a === 1) return e29; + let d = +u.getValue(); + return this._getResult(e29, s, l, d, i, a); + } + _checkArrayError(e29) { + let t = e29; + if (t.isArray()) { + let e30 = t.getRowCount(), n = t.getColumnCount(); + if (e30 > 1 || n > 1) return j3.create(D3.VALUE); + t = t.get(0, 0); + } + return t.isString() && (t = t.convertToNumberObjectValue()), t; + } + _getResult(e29, t, n, r, i, a) { + if (r) { + if (t > i) return j3.create(D3.VALUE); + let r2 = e29.transpose().getArrayValue(); + return r2.sort(this._sort(t - 1, n)), B3.create({ calculateValueList: r2, rowCount: r2.length, columnCount: r2[0].length || 0, unitId: this.unitId, sheetId: this.subUnitId, row: this.row, column: this.column }).transpose(); + } else { + if (t > a) return j3.create(D3.VALUE); + let r2 = e29.getArrayValue(); + return r2.sort(this._sort(t - 1, n)), B3.create({ calculateValueList: r2, rowCount: r2.length, columnCount: r2[0].length || 0, unitId: this.unitId, sheetId: this.subUnitId, row: this.row, column: this.column }); + } + } + _sort(e29, t = 1) { + let n = bi2(); + return t === 1 ? this._sortAsc(e29, n) : this._sortDesc(e29, n); + } + _sortAsc(e29, t) { + return (n, r) => { + let i = n[e29], a = r[e29]; + if (i == null || i.isNull()) return 1; + if (a == null || a.isNull()) return -1; + if (i.isError() && a.isError()) return 0; + if (i.isError()) return 1; + if (a.isError()) return -1; + let o = i.getValue(), s = a.getValue(); + return i.isBoolean() && o === true ? 1 : a.isBoolean() && s === true ? -1 : i.isBoolean() && o === false ? 1 : a.isBoolean() && s === false ? -1 : i.isNumber() && a.isNumber() ? o - +s : t(o, s); + }; + } + _sortDesc(e29, t) { + return (n, r) => { + let i = n[e29], a = r[e29]; + if (i == null || i.isNull()) return 1; + if (a == null || a.isNull()) return -1; + if (i.isError() && a.isError()) return 0; + if (i.isError()) return -1; + if (a.isError()) return 1; + let o = i.getValue(), s = a.getValue(); + return i.isBoolean() && o === true ? -1 : a.isBoolean() && s === true ? 1 : i.isBoolean() && o === false ? -1 : a.isBoolean() && s === false ? 1 : i.isNumber() && a.isNumber() ? s - +o : t(s, o); + }; + } + }; + var Nm = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 255); + } + calculate(e29, ...t) { + t.length === 1 && t.push(R4.create(1)); + let n = this._getVariantsError(e29, ...t), { maxRowLength: r, maxColumnLength: i } = Na(t); + if (n.isError()) { + let e30 = V3(r, i, n); + return r === 1 && i === 1 ? e30.get(0, 0) : e30; + } + let a = t.map((e30, t2) => t2 % 2 == 0 ? e30 : V3(r, i, e30, j3.create(D3.NA))), o = this._getResultArray(e29, a, r, i); + return r === 1 && i === 1 ? o[0][0] : B3.create({ calculateValueList: o, rowCount: o.length, columnCount: o[0].length || 0, unitId: this.unitId, sheetId: this.subUnitId, row: this.row, column: this.column }); + } + _getVariantsError(e29, ...t) { + if (e29.isError()) return e29; + for (let e30 = 0; e30 < t.length; e30++) { + let n2 = t[e30]; + if (n2.isError()) return n2; + } + if (t.length < 2 || t.length % 2 != 0) return j3.create(D3.VALUE); + let n = e29.isArray() ? e29.getRowCount() : 1, r = e29.isArray() ? e29.getColumnCount() : 1, i = t[0].isArray() ? t[0].getRowCount() : 1, a = t[0].isArray() ? t[0].getColumnCount() : 1; + if ((i > 1 || a > 1) && (i > 1 && a > 1 || i === 1 && a !== r || a === 1 && i !== n)) return j3.create(D3.VALUE); + for (let e30 = 2; e30 < t.length; e30++) { + if (e30 % 2 == 1) continue; + let n2 = t[e30].isArray() ? t[e30].getRowCount() : 1, r2 = t[e30].isArray() ? t[e30].getColumnCount() : 1; + if (n2 !== i || r2 !== a) return j3.create(D3.VALUE); + } + return L3.create(true); + } + _getResultArray(e29, t, n, r) { + let i = e29.isArray() ? e29.getRowCount() : 1, a = e29.isArray() ? e29.getColumnCount() : 1, o = t[0].isArray() ? t[0].getRowCount() : 1, s = t[0].isArray() ? t[0].getColumnCount() : 1, c = []; + for (let l = 0; l < n; l++) { + c[l] = []; + for (let u = 0; u < r; u++) { + let { isError: d, errorObject: f, byArrays: p, sortOrders: m } = this._getByArraysAndSortOrders(t, l, u, s); + if (d) { + c[l].push(f); + continue; + } + if (!e29.isArray() || i === 1 && a === 1) { + c[l].push(e29); + continue; + } + let h = e29.getArrayValue(); + o === 1 && s === 1 || (o === 1 ? (h = h.concat(p), h = this._transposeArray(h), h.sort(this._sort(i, m)), h = this._transposeArray(h).slice(0, i)) : s === 1 && (h = this._transposeArray(h), h = h.concat(p), h = this._transposeArray(h), h.sort(this._sort(a, m)), h = h.map((e30) => e30.slice(0, a)))); + let g2 = B3.create({ calculateValueList: h, rowCount: h.length, columnCount: h[0].length || 0, unitId: this.unitId, sheetId: this.subUnitId, row: this.row, column: this.column }); + if (n > 1 || r > 1) { + c[l].push(g2.get(0, 0)); + continue; + } + c[l].push(g2); + } + } + return c; + } + _getByArraysAndSortOrders(e29, t, n, r) { + let i = [], a = [], o = false, s = null; + for (let c = 0; c < e29.length; c++) { + if (c % 2 == 1) continue; + let l = e29[c], u = e29[c + 1].get(t, n); + if (u.isString() && (u = u.convertToNumberObjectValue()), u.isError()) { + o = true, s = u; + break; + } + let d = Math.floor(+u.getValue()); + if (d !== -1 && d !== 1) { + o = true, s = j3.create(D3.VALUE); + break; + } + if (a.push(d), l.isArray()) { + let e30 = l.getArrayValue(); + r === 1 && (e30 = this._transposeArray(e30)), i.push(e30[0]); + } else i.push([l]); + } + return { isError: o, errorObject: s, byArrays: i, sortOrders: a }; + } + _transposeArray(e29) { + let t = e29.length, n = e29[0].length, r = []; + for (let i = 0; i < n; i++) { + r[i] = []; + for (let n2 = 0; n2 < t; n2++) r[i][n2] = e29[n2][i]; + } + return r; + } + _sort(e29, t) { + let n = bi2(); + return (r, i) => { + let a = r[e29], o = i[e29], s = this._compare(a, o, t[0], n); + if (s === 0 && t.length > 1) { + for (let c = 1; c < t.length; c++) if (a = r[e29 + c], o = i[e29 + c], s = this._compare(a, o, t[c], n), s !== 0) return s; + } + return s; + }; + } + _compare(e29, t, n, r) { + return n === 1 ? this._asc(e29, t, r) : this._desc(e29, t, r); + } + _asc(e29, t, n) { + if (e29 == null || e29.isNull()) return 1; + if (t == null || t.isNull()) return -1; + if (e29.isError() && t.isError()) return 0; + if (e29.isError()) return 1; + if (t.isError()) return -1; + let r = e29.getValue(), i = t.getValue(); + return e29.isBoolean() && r === true ? 1 : t.isBoolean() && i === true ? -1 : e29.isBoolean() && r === false ? 1 : t.isBoolean() && i === false ? -1 : e29.isNumber() && t.isNumber() ? r - +i : n(r, i); + } + _desc(e29, t, n) { + if (e29 == null || e29.isNull()) return 1; + if (t == null || t.isNull()) return -1; + if (e29.isError() && t.isError()) return 0; + if (e29.isError()) return -1; + if (t.isError()) return 1; + let r = e29.getValue(), i = t.getValue(); + return e29.isBoolean() && r === true ? -1 : t.isBoolean() && i === true ? 1 : e29.isBoolean() && r === false ? -1 : t.isBoolean() && i === false ? 1 : e29.isNumber() && t.isNumber() ? i - +r : n(i, r); + } + }; + var Pm = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = e29.isArray() ? e29.getRowCount() : 1, i = e29.isArray() ? e29.getColumnCount() : 1, a = t, o = n == null ? R4.create(i) : n; + t.isNull() && (a = R4.create(r)), o.isNull() && (o = R4.create(i)); + let s = Math.max(a.isArray() ? a.getRowCount() : 1, o.isArray() ? o.getRowCount() : 1), c = Math.max(a.isArray() ? a.getColumnCount() : 1, o.isArray() ? o.getColumnCount() : 1), l = V3(s, c, a, j3.create(D3.NA)), u = V3(s, c, o, j3.create(D3.NA)); + if (s > 1 || c > 1) return l.mapValue((t2, n2, a2) => { + let o2 = u.get(n2, a2); + if (e29.isError()) return e29; + if (e29.isNull()) return j3.create(D3.VALUE); + let { isError: s2, errorObject: c2 } = this._checkRowsColumns(t2, o2, r, i); + return s2 ? c2 : e29.isArray() ? j3.create(D3.VALUE) : e29; + }); + if (e29.isError()) return e29; + if (e29.isNull()) return j3.create(D3.VALUE); + let d = a.isArray() ? a.get(0, 0) : a, f = o.isArray() ? o.get(0, 0) : o, { isError: p, errorObject: m, rowsValue: h, columnsValue: g2 } = this._checkRowsColumns(d, f, r, i); + return p ? m : this._getResultArray(e29, h, g2, r, i); + } + _checkRowsColumns(e29, t, n, r) { + if (e29.isError()) return { isError: true, errorObject: e29 }; + if (t.isError()) return { isError: true, errorObject: t }; + let i = Math.trunc(+e29.getValue()), a = Math.trunc(+t.getValue()); + return Number.isNaN(i) || Number.isNaN(a) ? { isError: true, errorObject: j3.create(D3.VALUE) } : Math.abs(i) === 0 || Math.abs(a) === 0 ? { isError: true, errorObject: j3.create(D3.CALC) } : (i > n && (i = n), a > r && (a = r), { isError: false, rowsValue: i, columnsValue: a }); + } + _getResultArray(e29, t, n, r, i) { + if (!e29.isArray()) return e29; + let a = t >= 0 ? [0, t] : [r + t, r], o = n >= 0 ? [0, n] : [i + n, i], s; + return s = t === r && n === i ? e29 : t === r ? e29.slice(void 0, o) : n === i ? e29.slice(a, void 0) : e29.slice(a, o), s = s.map((e30) => e30.isNull() ? R4.create(0) : e30), t === 1 && n === 1 ? s.get(0, 0) : s; + } + }; + var Fm = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = t == null ? R4.create(0) : t, i = n == null ? L3.create(false) : n, a = Math.max(r.isArray() ? r.getRowCount() : 1, i.isArray() ? i.getRowCount() : 1), o = Math.max(r.isArray() ? r.getColumnCount() : 1, i.isArray() ? i.getColumnCount() : 1), s = V3(a, o, r, j3.create(D3.NA)), c = V3(a, o, i, j3.create(D3.NA)), l = s.mapValue((t2, n2, r2) => { + let i2 = c.get(n2, r2); + if (e29.isError()) return e29; + if (e29.isNull()) return j3.create(D3.VALUE); + if (t2.isError()) return t2; + if (i2.isError()) return i2; + let s2 = Math.trunc(+t2.getValue()), l2 = +i2.getValue(); + if (Number.isNaN(s2) || s2 < 0 || s2 > 3 || Number.isNaN(l2)) return j3.create(D3.VALUE); + if (!e29.isArray()) return e29; + let u = []; + return u = l2 ? this._getArrayValueByColumn(e29, s2) : this._getArrayValueByRow(e29, s2), u.length === 0 ? j3.create(D3.CALC) : a > 1 || o > 1 || u.length === 1 ? u[0] : B3.create({ calculateValueList: u.map((e30) => [e30]), rowCount: u.length, columnCount: 1, unitId: this.unitId, sheetId: this.subUnitId, row: this.row, column: this.column }); + }); + return a === 1 && o === 1 ? l.get(0, 0) : l; + } + _getArrayValueByColumn(e29, t) { + let n = e29, r = n.getRowCount(), i = n.getColumnCount(), a = []; + for (let e30 = 0; e30 < i; e30++) for (let i2 = 0; i2 < r; i2++) { + let r2 = n.get(i2, e30); + this._isIgnore(r2, t) || a.push(r2.isNull() ? R4.create(0) : r2); + } + return a; + } + _getArrayValueByRow(e29, t) { + let n = e29, r = n.getRowCount(), i = n.getColumnCount(), a = []; + for (let e30 = 0; e30 < r; e30++) for (let r2 = 0; r2 < i; r2++) { + let i2 = n.get(e30, r2); + this._isIgnore(i2, t) || a.push(i2.isNull() ? R4.create(0) : i2); + } + return a; + } + _isIgnore(e29, t) { + switch (t) { + case 0: + return false; + case 1: + return e29.isNull(); + case 2: + return e29.isError(); + case 3: + return e29.isNull() || e29.isError(); + default: + return false; + } + } + }; + var Im = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = t == null ? R4.create(0) : t, i = n == null ? L3.create(false) : n, a = Math.max(r.isArray() ? r.getRowCount() : 1, i.isArray() ? i.getRowCount() : 1), o = Math.max(r.isArray() ? r.getColumnCount() : 1, i.isArray() ? i.getColumnCount() : 1), s = V3(a, o, r, j3.create(D3.NA)), c = V3(a, o, i, j3.create(D3.NA)), l = s.mapValue((t2, n2, r2) => { + let i2 = c.get(n2, r2); + if (e29.isError()) return e29; + if (t2.isError()) return t2; + if (i2.isError()) return i2; + let s2 = Math.trunc(+t2.getValue()), l2 = +i2.getValue(); + if (Number.isNaN(s2) || s2 < 0 || s2 > 3 || Number.isNaN(l2) || e29.isNull()) return j3.create(D3.VALUE); + if (!e29.isArray()) return e29; + let u = []; + return u = l2 ? this._getArrayValueByColumn(e29, s2) : this._getArrayValueByRow(e29, s2), u.length === 0 ? j3.create(D3.CALC) : a > 1 || o > 1 || u.length === 1 ? u[0] : B3.create({ calculateValueList: [u], rowCount: 1, columnCount: u.length, unitId: this.unitId, sheetId: this.subUnitId, row: this.row, column: this.column }); + }); + return a === 1 && o === 1 ? l.get(0, 0) : l; + } + _getArrayValueByColumn(e29, t) { + let n = e29, r = n.getRowCount(), i = n.getColumnCount(), a = []; + for (let e30 = 0; e30 < i; e30++) for (let i2 = 0; i2 < r; i2++) { + let r2 = n.get(i2, e30); + this._isIgnore(r2, t) || a.push(r2.isNull() ? R4.create(0) : r2); + } + return a; + } + _getArrayValueByRow(e29, t) { + let n = e29, r = n.getRowCount(), i = n.getColumnCount(), a = []; + for (let e30 = 0; e30 < r; e30++) for (let r2 = 0; r2 < i; r2++) { + let i2 = n.get(e30, r2); + this._isIgnore(i2, t) || a.push(i2.isNull() ? R4.create(0) : i2); + } + return a; + } + _isIgnore(e29, t) { + switch (t) { + case 0: + return false; + case 1: + return e29.isNull(); + case 2: + return e29.isError(); + case 3: + return e29.isNull() || e29.isError(); + default: + return false; + } + } + }; + var Lm = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + if (e29.isError()) return e29; + if (e29.isArray()) { + let t = e29.getRowCount(), n = e29.getColumnCount(); + return t === 1 && n === 1 ? e29.get(0, 0) : e29.transpose(); + } + return e29; + } + }; + var Rm = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = t == null ? L3.create(false) : t, i = n == null ? L3.create(false) : n, a = e29.isArray() ? e29.getRowCount() : 1, o = e29.isArray() ? e29.getColumnCount() : 1, s = Math.max(r.isArray() ? r.getRowCount() : 1, i.isArray() ? i.getRowCount() : 1), c = Math.max(r.isArray() ? r.getColumnCount() : 1, i.isArray() ? i.getColumnCount() : 1), l = V3(s, c, r, j3.create(D3.NA)), u = V3(s, c, i, j3.create(D3.NA)), d = l.map((t2, n2, r2) => { + let i2 = t2, l2 = u.get(n2, r2); + if (e29.isError()) return e29; + if (i2.isString() && (i2 = i2.convertToNumberObjectValue()), i2.isError()) return i2; + if (l2.isString() && (l2 = l2.convertToNumberObjectValue()), l2.isError()) return l2; + let d2 = +i2.getValue(), f = +l2.getValue(), p; + return p = !d2 && a === 1 || d2 && o === 1 ? e29 : this._getResult(e29, d2, f), (s > 1 || c > 1) && p != null && p.isArray() ? p.get(0, 0) : p; + }); + return s === 1 && c === 1 ? d.get(0, 0) : d; + } + _getResult(e29, t, n) { + let r = e29.isArray() ? e29.getRowCount() : 1, i = e29.isArray() ? e29.getColumnCount() : 1, a = e29.getArrayValue(), o = r, s = i; + t && (a = this._transposeArray(a), o = i, s = r); + let c = this._getRepeatRows(a, o, s); + if (c.length > 0) { + let e30 = []; + c.forEach((t2) => { + t2.forEach((t3, r2) => { + (r2 !== 0 || n) && e30.push(t3); + }); + }), a = a.filter((t2, n2) => !e30.includes(n2)); + } + return a.length === 0 ? j3.create(D3.CALC) : (t && (a = this._transposeArray(a)), B3.create({ calculateValueList: a, rowCount: a.length, columnCount: a[0].length || 0, unitId: this.unitId, sheetId: this.subUnitId, row: this.row, column: this.column })); + } + _getRepeatRows(e29, t, n) { + let r = []; + for (let i = 0; i < n; i++) if (i === 0) { + let n2 = Array(t).fill(null).map((t2, n3) => ({ r: n3, valueObject: e29[n3][i] })); + r = this._getRepeatRowsByObjects(n2); + } else { + if (r.length === 0) break; + let t2 = []; + r.forEach((n2) => { + let r2 = n2.map((t3) => ({ r: t3, valueObject: e29[t3][i] })), a = this._getRepeatRowsByObjects(r2); + t2 = t2.concat(a); + }), r = t2; + } + return r; + } + _getRepeatRowsByObjects(e29) { + let t = /* @__PURE__ */ new Map(); + return e29.forEach((e30) => { + let n = e30.r, r = e30.valueObject, i = r.getValue(); + if (r.isNull() ? i = null : r.isString() && Ja(i) && (i = +i), !t.has(i)) t.set(i, [n]); + else { + let e31 = t.get(i); + e31.push(n), t.set(i, e31); + } + }), Array.from(t.values()).filter((e30) => e30.length > 1); + } + _transposeArray(e29) { + let t = e29.length, n = e29[0].length, r = []; + for (let i = 0; i < n; i++) { + r[i] = []; + for (let n2 = 0; n2 < t; n2++) r[i][n2] = e29[n2][i]; + } + return r; + } + }; + var zm = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 4); + } + calculate(e29, t, n, r) { + if (e29.isError()) return e29; + if (t.isError()) return t; + if (!t.isArray()) return j3.create(D3.VALUE); + if (n.isError()) return n; + if (r != null && r.isError()) return r; + let i = r == null ? L3.create(true) : r; + return ja(e29) && ja(i) && n.isArray() ? this._handleArrayColIndexNum(e29, t, n, i) : this._handleNonArrayColIndexNum(e29, t, n, i); + } + _handleArrayColIndexNum(e29, t, n, r) { + let i = e29.isArray() ? e29.getFirstCell() : e29, a = this.getZeroOrOneByOneDefault(r); + if (a == null) return j3.create(D3.VALUE); + let o, s = []; + return n.iterator((e30, n2, r2) => { + if (e30 == null) return o = j3.create(D3.VALUE), false; + let c = this._handleTableArray(i, t, e30, a); + if (c.isError()) return o = c, false; + s[n2] === void 0 && (s[n2] = []), s[n2][r2] = c; + }), o || Ea2(s, s.length, s[0].length, this.unitId || ``, this.subUnitId || ``); + } + _handleNonArrayColIndexNum(e29, t, n, r) { + let i = Math.max(e29.isArray() ? e29.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1), a = Math.max(e29.isArray() ? e29.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1), o = V3(i, a, e29), s = V3(i, a, r); + return o.map((e30, r2, i2) => { + if (e30.isError()) return e30; + let a2 = s.get(r2, i2); + if (a2 == null) return j3.create(D3.VALUE); + if (a2.isError()) return a2; + let o2 = this.getZeroOrOneByOneDefault(a2); + return o2 == null ? j3.create(D3.VALUE) : this._handleTableArray(e30, t, n, o2); + }); + } + _handleTableArray(e29, t, n, r) { + let i = this.getIndexNumValue(n); + if (i instanceof j3) return i; + if (i = Math.floor(i), i < 1) return j3.create(D3.VALUE); + let a = t.slice(void 0, [0, 1]); + if (a == null) return j3.create(D3.VALUE); + let o = t.slice(void 0, [i - 1, i]); + return o == null ? j3.create(D3.REF) : this._handleSingleObject(e29, a, o, r); + } + _handleSingleObject(e29, t, n, r) { + return r === 0 ? this.equalSearch(e29, t, n) : this.binarySearch(e29, t, n); + } + }; + var Bm = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = Math.max(...e29.map((e30) => e30.isArray() ? e30.getColumnCount() : 1)), n = []; + for (let r = 0; r < e29.length; r++) { + let i = e29[r]; + if (i.isError()) return i; + let a = i.isArray() ? i.getRowCount() : 1, o = i.isArray() ? i.getColumnCount() : 1; + for (let e30 = 0; e30 < a; e30++) { + let r2 = []; + for (let n2 = 0; n2 < t; n2++) { + let t2 = i; + i.isArray() && (t2 = i.get(e30, n2)), n2 > o - 1 || !t2 ? r2.push(j3.create(D3.NA)) : r2.push(t2); + } + n.push(r2); + } + } + return B3.create({ calculateValueList: n, rowCount: n.length, columnCount: n[0].length || 0, unitId: this.unitId, sheetId: this.subUnitId, row: this.row, column: this.column }); + } + }; + var Vm = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = n == null ? j3.create(D3.NA) : n; + r.isNull() && (r = j3.create(D3.NA)); + let i = e29.isArray() ? e29.getRowCount() : 1, a = e29.isArray() ? e29.getColumnCount() : 1, o = Math.max(t.isArray() ? t.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1), s = Math.max(t.isArray() ? t.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1), c = V3(o, s, t, j3.create(D3.NA)), l = V3(o, s, r, j3.create(D3.NA)), u = c.mapValue((t2, n2, r2) => { + let c2 = l.get(n2, r2); + if (e29.isError()) return e29; + if (e29.isNull()) return j3.create(D3.VALUE); + if (t2.isError()) return t2; + let u2 = Math.trunc(+t2.getValue()); + if (i > 1 && a > 1 || Number.isNaN(u2)) return j3.create(D3.VALUE); + if (u2 < 1) return j3.create(D3.NUM); + let d = e29.isArray() ? e29.getArrayValue().flat() : [e29], f = this._getWrapArray(d, u2, c2); + return o > 1 || s > 1 || f.length === 1 && f[0].length === 1 ? f[0][0] : B3.create({ calculateValueList: f, rowCount: f.length, columnCount: f[0].length, unitId: this.unitId, sheetId: this.subUnitId, row: this.row, column: this.column }); + }); + return o === 1 && s === 1 ? u.get(0, 0) : u; + } + _getWrapArray(e29, t, n) { + let r = Math.ceil(e29.length / t), i = r > 1 ? t : e29.length, a = []; + for (let t2 = 0; t2 < r; t2++) for (let r2 = 0; r2 < i; r2++) { + a[r2] || (a[r2] = []); + let o = t2 * i + r2; + o < e29.length ? a[r2].push(e29[o].isNull() ? R4.create(0) : e29[o]) : a[r2].push(n); + } + return a; + } + }; + var Hm = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = n == null ? j3.create(D3.NA) : n; + r.isNull() && (r = j3.create(D3.NA)); + let i = e29.isArray() ? e29.getRowCount() : 1, a = e29.isArray() ? e29.getColumnCount() : 1, o = Math.max(t.isArray() ? t.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1), s = Math.max(t.isArray() ? t.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1), c = V3(o, s, t, j3.create(D3.NA)), l = V3(o, s, r, j3.create(D3.NA)), u = c.mapValue((t2, n2, r2) => { + let c2 = l.get(n2, r2); + if (e29.isError()) return e29; + if (e29.isNull()) return j3.create(D3.VALUE); + if (t2.isError()) return t2; + let u2 = Math.trunc(+t2.getValue()); + if (i > 1 && a > 1 || Number.isNaN(u2)) return j3.create(D3.VALUE); + if (u2 < 1) return j3.create(D3.NUM); + let d = e29.isArray() ? e29.getArrayValue().flat() : [e29], f = this._getWrapArray(d, u2, c2); + return o > 1 || s > 1 || f.length === 1 && f[0].length === 1 ? f[0][0] : B3.create({ calculateValueList: f, rowCount: f.length, columnCount: f[0].length, unitId: this.unitId, sheetId: this.subUnitId, row: this.row, column: this.column }); + }); + return o === 1 && s === 1 ? u.get(0, 0) : u; + } + _getWrapArray(e29, t, n) { + let r = Math.ceil(e29.length / t), i = r > 1 ? t : e29.length, a = []; + for (let t2 = 0; t2 < r; t2++) { + let r2 = []; + for (let a2 = 0; a2 < i; a2++) { + let o = t2 * i + a2; + o < e29.length ? r2.push(e29[o].isNull() ? R4.create(0) : e29[o]) : r2.push(n); + } + a.push(r2); + } + return a; + } + }; + var Um = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 6); + } + calculate(e29, t, n, r, i, a) { + let o = r == null ? j3.create(D3.NA) : r; + r != null && r.isNull() && (o = j3.create(D3.NA)); + let s = i == null ? R4.create(0) : i; + i != null && i.isNull() && (s = R4.create(0)); + let c = a == null ? R4.create(1) : a; + if (a != null && a.isNull() && (c = R4.create(1)), e29.isError()) return e29; + let l = t.isArray() ? t.getRowCount() : 1, u = t.isArray() ? t.getColumnCount() : 1, d = n.isArray() ? n.getRowCount() : 1, f = n.isArray() ? n.getColumnCount() : 1; + if (l !== 1 && u !== 1 || l === 1 && u > 1 && u !== f || u === 1 && l > 1 && l !== d) return j3.create(D3.VALUE); + if (s.isError()) return s; + if (c.isError()) return c; + let p = this.getIndexNumValue(s); + if (p instanceof j3) return p; + let m = this.getIndexNumValue(c); + return m instanceof j3 ? m : this._getResult(e29, Fa2(t), Fa2(n), o, p, m, l, u, d, f); + } + _getResult(e29, t, n, r, i, a, o, s, c, l) { + let u = e29.isArray() ? e29.getRowCount() : 1, d = e29.isArray() ? e29.getColumnCount() : 1; + if (u > 1 || d > 1) { + let s2; + return s2 = o === 1 ? n.slice([0, 1]) : n.slice(void 0, [0, 1]), s2 == null ? j3.create(D3.NA) : e29.map((e30) => { + let n2 = this._checkErrorCombination(i, a); + if (n2) return n2; + let o2 = this._handleSingleObject(e30, t, s2, i, a); + return o2.isError() ? r : o2; + }); + } + let f = e29.isArray() ? e29.get(0, 0) : e29; + if (s === l && o === c) { + let e30 = this._checkErrorCombination(i, a); + if (e30) return e30; + let o2 = this._handleSingleObject(f, t, n, i, a); + return o2.isError() ? r : o2; + } + let p = 0; + s === l && (p = 1); + let m = this._handleExpandObject(f, t, n, i, a, p); + return m == null ? j3.create(D3.NA) : m; + } + _handleExpandObject(e29, t, n, r, i, a = 0) { + if ((i === 2 || i === -2) && r !== 2) { + let o = Di(i), s = Ei(r); + return this.binarySearchExpand(e29, t, n, a, o, s); + } + return r === 2 ? this.fuzzySearchExpand(e29, t, n, i !== -1, a) : r === -1 || r === 1 ? this.orderSearchExpand(e29, t, n, r === 1 ? yi2.MAX : yi2.MIN, i === -1, a) : this.equalSearchExpand(e29, t, n, i !== -1, a); + } + _handleSingleObject(e29, t, n, r, i) { + if ((i === 2 || i === -2) && r !== 2) { + let a = Di(i), o = Ei(r); + return this.binarySearch(e29, t, n, a, o); + } + return r === 2 ? this.fuzzySearch(e29, t, n, i !== -1) : r === -1 || r === 1 ? this.orderSearch(e29, t, n, r === 1 ? yi2.MAX : yi2.MIN, i === -1) : this.equalSearch(e29, t, n, i !== -1); + } + _checkErrorCombination(e29, t) { + return e29 === 2 && (t === -2 || t === 2) ? j3.create(D3.VALUE) : null; + } + }; + var Wm = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 4); + } + calculate(e29, t, n, r) { + let i = R4.create(0); + n && !n.isNull() && (i = n); + let a = R4.create(1); + r && !r.isNull() && (a = r); + let o = Math.max(e29.isArray() ? e29.getRowCount() : 1, i.isArray() ? i.getRowCount() : 1, a.isArray() ? a.getRowCount() : 1), s = Math.max(e29.isArray() ? e29.getColumnCount() : 1, i.isArray() ? i.getColumnCount() : 1, a.isArray() ? a.getColumnCount() : 1), c = V3(o, s, e29, j3.create(D3.NA)), l = V3(o, s, i, j3.create(D3.NA)), u = V3(o, s, a, j3.create(D3.NA)), d = c.mapValue((e30, n2, r2) => { + if (e30.isError()) return e30; + let i2 = l.get(n2, r2), a2 = u.get(n2, r2); + return i2.isError() ? i2 : a2.isError() ? a2 : this._handleSingleObject(e30, t, i2, a2); + }); + return o === 1 && s === 1 ? d.get(0, 0) : d; + } + _handleSingleObject(e29, t, n, r) { + let i = t.isArray() ? t.getRowCount() : 1, a = t.isArray() ? t.getColumnCount() : 1; + if (i !== 1 && a !== 1) return j3.create(D3.VALUE); + let o = n; + if ((n.isString() || n.isBoolean() || n.isNull()) && (o = n.convertToNumberObjectValue()), o.isError()) return o; + let s = r; + if ((r.isString() || r.isBoolean() || r.isNull()) && (s = r.convertToNumberObjectValue()), s.isError()) return s; + let c = o.getValue(), l = s.getValue(); + return ![-1, 0, 1, 2].includes(c) || ![-1, 1, 2].includes(l) ? j3.create(D3.VALUE) : this._getResult(e29, t, c, l); + } + _getResult(e29, t, n, r) { + let i = Fa2(t), a; + if ((r === 2 || r === -2) && n !== 2) { + let t2 = Di(r), o = Ei(n); + a = i.binarySearch(e29, t2, o); + } else if (n === 2) { + let t2 = i.compare(e29, k3.EQUALS), n2; + if (n2 = r === -1 ? t2.getLastTruePosition() : t2.getFirstTruePosition(), n2 == null) return j3.create(D3.NA); + a = i.getRowCount() === 1 ? n2.column : n2.row; + } else if (n === -1 || n === 1) { + let t2 = i.orderSearch(e29, n === 1 ? yi2.MAX : yi2.MIN, r === -1); + if (t2 == null) return j3.create(D3.NA); + if (t2 instanceof j3) return t2; + a = i.getRowCount() === 1 ? t2.column : t2.row; + } else { + let t2 = i.isEqual(e29), n2; + if (n2 = r === -1 ? t2.getLastTruePosition() : t2.getFirstTruePosition(), n2 == null) return j3.create(D3.NA); + a = i.getRowCount() === 1 ? n2.column : n2.row; + } + return a == null ? j3.create(D3.NA) : R4.create(a + 1); + } + }; + var Gm = [[cm, G3.ADDRESS], [um, G3.AREAS], [dm, G3.CHOOSE], [fm, G3.CHOOSECOLS], [pm, G3.CHOOSEROWS], [mm, G3.COLUMN], [hm, G3.COLUMNS], [gm, G3.DROP], [_m, G3.EXPAND], [vm, G3.FILTER], [ym, G3.FORMULATEXT], [bm, G3.HLOOKUP], [xm2, G3.HSTACK], [Sm, G3.HYPERLINK], [Cm, G3.IMAGE], [wm, G3.INDEX], [Tm, G3.INDIRECT], [Em, G3.LOOKUP], [Dm, G3.MATCH], [km, G3.OFFSET], [Am, G3.ROW], [jm, G3.ROWS], [Mm, G3.SORT], [Nm, G3.SORTBY], [Pm, G3.TAKE], [Fm, G3.TOCOL], [Im, G3.TOROW], [Lm, G3.TRANSPOSE], [Rm, G3.UNIQUE], [zm, G3.VLOOKUP], [Bm, G3.VSTACK], [Vm, G3.WRAPCOLS], [Hm, G3.WRAPROWS], [Um, G3.XLOOKUP], [Wm, G3.XMATCH]]; + var Km = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let t = e29; + return t.isString() && (t = t.convertToNumberObjectValue()), t.isError() ? t : t.abs(); + } + }; + var qm = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let t = e29; + return t.isString() && (t = t.convertToNumberObjectValue()), t.isError() ? t : t.acos(); + } + }; + var Jm = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let t = e29; + return t.isString() && (t = t.convertToNumberObjectValue()), t.isError() ? t : t.acosh(); + } + }; + var Ym = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let t = e29; + return t.isString() && (t = t.convertToNumberObjectValue()), t.isError() ? t : t.isArray() ? t.map((e30) => e30.isError() ? e30 : Xm(e30)) : Xm(t); + } + }; + function Xm(e29) { + let t = e29.getValue(); + if (e29.isBoolean() && (t = t ? 1 : 0), !Number.isFinite(t)) return j3.create(D3.VALUE); + t = Number(t); + let n = Math.atan(1 / t); + return t < 0 && (n += Math.PI), Number.isNaN(n) ? j3.create(D3.VALUE) : R4.create(n); + } + var Zm = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let t = e29; + return t.isString() && (t = t.convertToNumberObjectValue()), t.isError() ? t : t.isArray() ? t.map((e30) => e30.isError() ? e30 : Qm(e30)) : Qm(t); + } + }; + function Qm(e29) { + let t = e29.getValue(); + if (e29.isBoolean() && (t = t ? 1 : 0), !Number.isFinite(t)) return j3.create(D3.VALUE); + if (t = Number(t), Math.abs(t) <= 1) return j3.create(D3.NUM); + let n = 1 / 2 * Math.log((t + 1) / (t - 1)); + return Number.isNaN(n) ? j3.create(D3.VALUE) : R4.create(n); + } + var $m = { 1: Q3.AVERAGE, 2: Q3.COUNT, 3: Q3.COUNTA, 4: Q3.MAX, 5: Q3.MIN, 6: Q3.PRODUCT, 7: Q3.STDEV_S, 8: Q3.STDEV_P, 9: Q3.SUM, 10: Q3.VAR_S, 11: Q3.VAR_P, 12: Q3.MEDIAN, 13: Q3.MODE_SNGL }; + var eh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 255), E3(this, `needsReferenceObject`, true), E3(this, `needsFilteredOutRows`, true), E3(this, `needsFormulaDataModel`, true); + } + calculate(e29, t, ...n) { + let { isError: r, multiAreaRefs: i, normalRefs: a } = Jc2(n), o; + o = e29.isReferenceObject() ? e29.toArrayValueObject() : e29; + let s; + s = t.isReferenceObject() ? t.toArrayValueObject() : t; + let c = Math.max(o.isArray() ? o.getRowCount() : 1, s.isArray() ? s.getRowCount() : 1), l = Math.max(o.isArray() ? o.getColumnCount() : 1, s.isArray() ? s.getColumnCount() : 1), u = V3(c, l, o, j3.create(D3.NA)), d = V3(c, l, s, j3.create(D3.NA)), f = u.mapValue((e30, t2, o2) => { + if (e30.isError()) return e30; + let s2 = d.get(t2, o2); + return s2.isError() ? s2 : i.length > 0 ? j3.create(D3.VALUE) : this._handleSingleObject(e30, s2, n, r, a); + }); + return f.getRowCount() === 1 && f.getColumnCount() === 1 ? f.get(0, 0) : f; + } + _handleSingleObject(e29, t, n, r, i) { + let a = e29; + if (e29.isString() && (a = e29.convertToNumberObjectValue()), a.isError()) return a; + let o = Math.floor(+a.getValue()); + if (o < 1 || o > 19 || o >= 1 && o <= 13 && r || o >= 14 && o <= 19 && n.length !== 2) return j3.create(D3.VALUE); + let s = t; + if (t.isString() && (s = t.convertToNumberObjectValue()), s.isError()) return s; + let c = Math.floor(+s.getValue()); + if (c < 0 || c > 7) return j3.create(D3.VALUE); + let l = this._getAggregateOptions(c); + return o >= 14 && o <= 19 ? this._handleLargeSmallPercentileQuartile(o, l, n[0], n[1]) : Qc2({ type: $m[o], ...l, formulaDataModel: this._formulaDataModel }, i); + } + _getAggregateOptions(e29) { + switch (e29) { + case 1: + return { ignoreRowHidden: true, ignoreErrorValues: false, ignoreNested: true }; + case 2: + return { ignoreRowHidden: false, ignoreErrorValues: true, ignoreNested: true }; + case 3: + return { ignoreRowHidden: true, ignoreErrorValues: true, ignoreNested: true }; + case 4: + return { ignoreRowHidden: false, ignoreErrorValues: false, ignoreNested: false }; + case 5: + return { ignoreRowHidden: true, ignoreErrorValues: false, ignoreNested: false }; + case 6: + return { ignoreRowHidden: false, ignoreErrorValues: true, ignoreNested: false }; + case 7: + return { ignoreRowHidden: true, ignoreErrorValues: true, ignoreNested: false }; + default: + return { ignoreRowHidden: false, ignoreErrorValues: false, ignoreNested: true }; + } + } + _handleLargeSmallPercentileQuartile(e29, t, n, r) { + let i; + if (i = r.isReferenceObject() ? r.toArrayValueObject() : r, i.isError()) return i; + if (i.isArray()) { + let e30 = i.getRowCount(), t2 = i.getColumnCount(); + if (e30 > 1 || t2 > 1) return j3.create(D3.VALUE); + i = i.get(0, 0); + } + let a = $c2(n, t, this._formulaDataModel); + if (!Array.isArray(a)) return a; + let o = +i.getValue(); + switch (e29) { + case 14: + return tl2(a, o); + case 15: + return nl2(a, o); + case 16: + return rl2(a, o); + case 17: + return al(a, o); + case 18: + return il2(a, o); + case 19: + return ol(a, o); + default: + return j3.create(D3.VALUE); + } + } + }; + var th = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + if (e29.isArray()) { + let t = e29.mapValue((e30) => this._handleSingleObject(e30)); + return t.getRowCount() === 1 && t.getColumnCount() === 1 ? t.get(0, 0) : t; + } + return this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + if (e29.isError()) return e29; + if (e29.isNull()) return R4.create(0); + if (e29.isBoolean() || e29.isNumber()) return j3.create(D3.VALUE); + let t = e29.getValue().toLocaleString().toLocaleUpperCase(); + if (t.length > 255) return j3.create(D3.VALUE); + let n = t.startsWith(`-`); + n && (t = t.slice(1)); + let r = 0; + for (let e30 = 0; e30 < t.length; e30++) { + let n2 = Zs2.get(t[e30]) || 0, i = Zs2.get(t[e30 + 1]) || 0, a = Zs2.get(t[e30 + 2]) || 0, o = Zs2.get(t[e30 + 3]) || 0; + if (!n2 || a >= i && a > n2 || n2 === i && n2 === a && n2 === o || n2 === i / 2) return j3.create(D3.VALUE); + n2 < i ? r -= n2 : r += n2; + } + return R4.create(n ? -r : r); + } + }; + var nh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let t = e29; + return t.isString() && (t = t.convertToNumberObjectValue()), t.isError() ? t : t.asin(); + } + }; + var rh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let t = e29; + return t.isString() && (t = t.convertToNumberObjectValue()), t.isError() ? t : t.asinh(); + } + }; + var ih = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let t = e29; + return t.isString() && (t = t.convertToNumberObjectValue()), t.isError() ? t : t.atan(); + } + }; + var ah = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = e29, r = t; + return n.isString() && (n = n.convertToNumberObjectValue()), n.isError() ? n : (r.isString() && (r = r.convertToNumberObjectValue()), r.isError() ? r : r.atan2(n)); + } + }; + var oh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let t = e29; + return t.isString() && (t = t.convertToNumberObjectValue()), t.isError() ? t : t.atanh(); + } + }; + var sh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = n == null ? R4.create(0) : n; + if (e29.isError()) return e29; + if (t.isError()) return t; + if (r.isError()) return r; + let i = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1), a = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1), o = V3(i, a, e29, j3.create(D3.NA)), s = V3(i, a, t, j3.create(D3.NA)), c = V3(i, a, r, j3.create(D3.NA)), l = o.map((e30, t2, n2) => { + let r2 = s.get(t2, n2), i2 = c.get(t2, n2); + return this._handleSingleObject(e30, r2, i2); + }); + return l.getRowCount() === 1 && l.getColumnCount() === 1 ? l.getArrayValue()[0][0] : l; + } + _handleSingleObject(e29, t, n) { + let r = e29; + if (r.isString() && (r = r.convertToNumberObjectValue()), r.isError()) return r; + let i = t; + if (i.isString() && (i = i.convertToNumberObjectValue()), i.isError()) return i; + let a = n; + if (a.isString() && (a = a.convertToNumberObjectValue()), a.isError()) return a; + let o = Math.floor(+r.getValue()), s = Math.floor(+i.getValue()), c = Math.floor(+a.getValue()); + if (o < 0 || o >= 2 ** 53 || s < 2 || s > 36 || c < 0) return j3.create(D3.NUM); + let l = o.toString(s); + return l.length < c && (l = Array(c - l.length + 1).join(`0`) + l), z3.create(l.toLocaleUpperCase()); + } + }; + var ch = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + if (e29.isError()) return e29; + if (t.isError()) return t; + let n = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1), r = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1), i = V3(n, r, e29, j3.create(D3.NA)), a = V3(n, r, t, j3.create(D3.NA)), o = i.map((e30, t2, n2) => { + let r2 = e30, i2 = a.get(t2, n2); + if (r2.isString() && (r2 = r2.convertToNumberObjectValue()), r2.isError()) return r2; + if (i2.isString() && (i2 = i2.convertToNumberObjectValue()), i2.isError()) return i2; + let o2 = +r2.getValue(), s = +i2.getValue(); + if (o2 > 0 && s < 0) return j3.create(D3.NUM); + if (o2 === 0 || s === 0) return R4.create(0); + let c = qi(o2 / s, 0) * s; + return R4.create(c); + }); + return o.getRowCount() === 1 && o.getColumnCount() === 1 ? o.getArrayValue()[0][0] : o; + } + }; + var lh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = t == null ? R4.create(1) : t, i = n == null ? R4.create(0) : n; + if (e29.isError()) return e29; + if (r.isError()) return r; + if (i.isError()) return i; + let a = Math.max(e29.isArray() ? e29.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1, i.isArray() ? i.getRowCount() : 1), o = Math.max(e29.isArray() ? e29.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1, i.isArray() ? i.getColumnCount() : 1), s = V3(a, o, e29, j3.create(D3.NA)), c = V3(a, o, r, j3.create(D3.NA)), l = V3(a, o, i, j3.create(D3.NA)), u = s.map((e30, t2, n2) => { + let r2 = e30, i2 = c.get(t2, n2), a2 = l.get(t2, n2); + if (r2.isString() && (r2 = r2.convertToNumberObjectValue()), r2.isError()) return r2; + if (i2.isString() && (i2 = i2.convertToNumberObjectValue()), i2.isError()) return i2; + if (a2.isString() && (a2 = a2.convertToNumberObjectValue()), a2.isError()) return a2; + let o2 = +r2.getValue(), s2 = +i2.getValue(), u2 = +a2.getValue(); + return o2 === 0 || s2 === 0 ? R4.create(0) : this._getResult(o2, s2, u2); + }); + return a === 1 && o === 1 ? u.get(0, 0) : u; + } + _getResult(e29, t, n) { + let r; + return r = e29 < 0 && n !== 0 ? (t < 0 ? qi(Math.abs(e29) / Math.abs(t), 0) : -qi(Math.abs(e29) / t, 0)) * t : (t < 0 ? -qi(e29 / Math.abs(t), 0) : qi(e29 / t, 0)) * t, R4.create(r); + } + }; + var uh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = t == null ? R4.create(1) : t; + if (e29.isError()) return e29; + if (n.isError()) return n; + let r = Math.max(e29.isArray() ? e29.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, j3.create(D3.NA)), o = V3(r, i, n, j3.create(D3.NA)), s = a.map((e30, t2, n2) => { + let r2 = o.get(t2, n2), i2 = e30; + if (i2.isString() && (i2 = i2.convertToNumberObjectValue()), i2.isError()) return i2; + if (r2.isString() && (r2 = r2.convertToNumberObjectValue()), r2.isError()) return r2; + let a2 = +i2.getValue(), s2 = +r2.getValue(); + if (a2 === 0 || s2 === 0) return R4.create(0); + let c = (s2 < 0 ? -qi(a2 / Math.abs(s2), 0) : qi(a2 / s2, 0)) * s2; + return R4.create(c); + }); + return r === 1 && i === 1 ? s.get(0, 0) : s; + } + }; + var dh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1), r = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1), i = V3(n, r, e29, j3.create(D3.NA)), a = V3(n, r, t, j3.create(D3.NA)), o = i.mapValue((e30, t2, n2) => { + let r2 = e30, i2 = a.get(t2, n2); + if (r2.isString() && (r2 = r2.convertToNumberObjectValue()), i2.isString() && (i2 = i2.convertToNumberObjectValue()), r2.isError()) return r2; + if (i2.isError()) return i2; + let o2 = Math.floor(+r2.getValue()), s = Math.floor(+i2.getValue()); + if (o2 < 0 || s < 0 || o2 < s) return j3.create(D3.NUM); + let c = Ns2(o2, s); + return Number.isNaN(c) || !Number.isFinite(c) ? j3.create(D3.NUM) : R4.create(c); + }); + return n === 1 && r === 1 ? o.get(0, 0) : o; + } + }; + var fh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1), r = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1), i = V3(n, r, e29, j3.create(D3.NA)), a = V3(n, r, t, j3.create(D3.NA)), o = i.mapValue((e30, t2, n2) => { + let r2 = e30, i2 = a.get(t2, n2); + if (r2.isString() && (r2 = r2.convertToNumberObjectValue()), i2.isString() && (i2 = i2.convertToNumberObjectValue()), r2.isError()) return r2; + if (i2.isError()) return i2; + let o2 = Math.floor(+r2.getValue()), s = Math.floor(+i2.getValue()); + if (o2 < 0 || s < 0 || o2 === 0 && o2 < s) return j3.create(D3.NUM); + let c = Ns2(o2 + s - 1, o2 - 1); + return Number.isNaN(c) || !Number.isFinite(c) ? j3.create(D3.NUM) : R4.create(c); + }); + return n === 1 && r === 1 ? o.get(0, 0) : o; + } + }; + var ph = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let t = e29; + return t.isString() && (t = t.convertToNumberObjectValue()), t.isError() ? t : t.cos(); + } + }; + var mh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let t = e29; + return t.isString() && (t = t.convertToNumberObjectValue()), t.isError() ? t : t.cosh(); + } + }; + var hh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + return e29.isArray() ? e29.map((e30) => this._handleSingleObject(e30)) : this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + let t = e29; + if (t.isString() && (t = t.convertToNumberObjectValue()), t.isError()) return t; + let n = +t.getValue(); + return Math.abs(n) >= 2 ** 27 ? j3.create(D3.NUM) : n === 0 ? j3.create(D3.DIV_BY_ZERO) : t.tan().getReciprocal(); + } + }; + var gh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + return e29.isArray() ? e29.map((e30) => this._handleSingleObject(e30)) : this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + let t = e29; + return t.isString() && (t = t.convertToNumberObjectValue()), t.isError() ? t : +t.getValue() == 0 ? j3.create(D3.DIV_BY_ZERO) : t.tanh().getReciprocal(); + } + }; + var _h = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + return e29.isArray() ? e29.map((e30) => this._handleSingleObject(e30)) : this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + let t = e29; + if (t.isString() && (t = t.convertToNumberObjectValue()), t.isError()) return t; + let n = +t.getValue(); + return Math.abs(n) >= 2 ** 27 ? j3.create(D3.NUM) : n === 0 ? j3.create(D3.DIV_BY_ZERO) : t.sin().getReciprocal(); + } + }; + var vh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + return e29.isArray() ? e29.map((e30) => this._handleSingleObject(e30)) : this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + let t = e29; + if (t.isString() && (t = t.convertToNumberObjectValue()), t.isError()) return t; + let n = +t.getValue(); + return n === 0 ? j3.create(D3.DIV_BY_ZERO) : !Number.isNaN(n) && !Number.isFinite(Math.sinh(n)) ? R4.create(0) : t.sinh().getReciprocal(); + } + }; + var yh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + if (e29.isError()) return e29; + if (t.isError()) return t; + let n = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1), r = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1), i = V3(n, r, e29, j3.create(D3.NA)), a = V3(n, r, t, j3.create(D3.NA)), o = i.map((e30, t2, n2) => { + if (e30.isError()) return e30; + let r2 = a.get(t2, n2); + if (r2.isString() && (r2 = r2.convertToNumberObjectValue()), r2.isError()) return r2; + let i2 = `${e30.getValue()}`, o2 = Math.floor(+r2.getValue()); + if (Ja(i2) && (+i2 < 0 || +i2 >= 2 ** 53 || !Number.isInteger(+i2)) || i2.toLocaleLowerCase() === `true` || i2.toLocaleLowerCase() === `false` || o2 < 2 || o2 > 36) return j3.create(D3.NUM); + if (i2.replace(/\s/g, ``) === ``) return R4.create(0); + if (!this._isValidCharForRadix(i2, o2)) return j3.create(D3.NUM); + let s = Number.parseInt(i2, o2); + return Number.isNaN(s) ? j3.create(D3.NUM) : R4.create(s); + }); + return n === 1 && r === 1 ? o.get(0, 0) : o; + } + _isValidCharForRadix(e29, t) { + for (let n of e29) { + let e30 = n.toUpperCase().charCodeAt(0); + if (t <= 10 && !(e30 >= 48 && e30 < 48 + t) || t > 10 && !(e30 >= 48 && e30 < 58 || e30 >= 65 && e30 < 65 + t - 10)) return false; + } + return true; + } + }; + var bh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + return e29.isArray() ? e29.map((e30) => this._handleSingleObject(e30)) : this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + let t = e29; + if (t.isString() && (t = t.convertToNumberObjectValue()), t.isError()) return t; + let n = +t.getValue(); + if (!Number.isFinite(n)) return j3.create(D3.VALUE); + let r = n * (180 / Math.PI); + return Number.isNaN(r) ? j3.create(D3.VALUE) : R4.create(r); + } + }; + var xh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + return e29.isArray() ? e29.map((e30) => this._handleSingleObject(e30)) : this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + let t = e29; + if (t.isString() && (t = t.convertToNumberObjectValue()), t.isError()) return t; + let n = +t.getValue(); + if (!Number.isFinite(n)) return j3.create(D3.VALUE); + let r = (n < 0 ? -qi(Math.abs(n) / 2, 0) : qi(n / 2, 0)) * 2; + return Number.isNaN(r) ? j3.create(D3.VALUE) : r === 0 ? R4.create(0) : R4.create(r); + } + }; + var Sh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let t = e29; + return t.isString() && (t = t.convertToNumberObjectValue()), t.isError() ? t : t.exp(); + } + }; + var Ch = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + return e29.isArray() ? e29.mapValue((e30) => this._handleSingleObject(e30)) : this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + let t = e29; + if (t.isString() && (t = t.convertToNumberObjectValue()), t.isError()) return t; + let n = Ms2(Math.floor(+t.getValue())); + return Number.isNaN(n) || !Number.isFinite(n) ? j3.create(D3.NUM) : R4.create(n); + } + }; + var wh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let t = e29; + if (e29.isArray()) { + let n = e29.getRowCount(), r = e29.getColumnCount(); + if (n > 1 || r > 1) return j3.create(D3.VALUE); + t = e29.get(0, 0); + } + return this._handleSingleObject(t); + } + _handleSingleObject(e29) { + let t = e29; + if (t.isString() && (t = t.convertToNumberObjectValue()), t.isError()) return t; + let n = Ms2(Math.floor(+t.getValue()), 2); + return Number.isNaN(n) || !Number.isFinite(n) ? j3.create(D3.NUM) : R4.create(n); + } + }; + var Th = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + if (e29.isError()) return e29; + if (t.isError()) return t; + let n = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1), r = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1), i = V3(n, r, e29, j3.create(D3.NA)), a = V3(n, r, t, j3.create(D3.NA)), o = i.map((e30, t2, n2) => { + let r2 = a.get(t2, n2), i2 = e30; + if (i2.isString() && (i2 = i2.convertToNumberObjectValue()), i2.isError()) return i2; + if (r2.isString() && (r2 = r2.convertToNumberObjectValue()), r2.isError()) return r2; + let o2 = +i2.getValue(), s = +r2.getValue(); + if (o2 > 0 && s < 0) return j3.create(D3.NUM); + if (o2 === 0) return R4.create(0); + if (s === 0) return j3.create(D3.DIV_BY_ZERO); + let c = Ki2(o2 / s, 0) * s; + return R4.create(c); + }); + return n === 1 && r === 1 ? o.get(0, 0) : o; + } + }; + var Eh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = t == null ? R4.create(1) : t, i = n == null ? R4.create(0) : n, a = Math.max(e29.isArray() ? e29.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1, i.isArray() ? i.getRowCount() : 1), o = Math.max(e29.isArray() ? e29.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1, i.isArray() ? i.getColumnCount() : 1), s = V3(a, o, e29, j3.create(D3.NA)), c = V3(a, o, r, j3.create(D3.NA)), l = V3(a, o, i, j3.create(D3.NA)), u = s.map((e30, t2, n2) => { + let r2 = e30, i2 = c.get(t2, n2), a2 = l.get(t2, n2); + if (r2.isString() && (r2 = r2.convertToNumberObjectValue()), r2.isError()) return r2; + if (i2.isString() && (i2 = i2.convertToNumberObjectValue()), i2.isError()) return i2; + if (a2.isString() && (a2 = a2.convertToNumberObjectValue()), a2.isError()) return a2; + let o2 = +r2.getValue(), s2 = +i2.getValue(), u2 = +a2.getValue(); + if (o2 === 0 || s2 === 0) return R4.create(0); + let d; + return d = o2 < 0 && u2 !== 0 ? (s2 < 0 ? Ki2(Math.abs(o2) / Math.abs(s2), 0) : -Ki2(Math.abs(o2) / s2, 0)) * s2 : (s2 < 0 ? -Ki2(o2 / Math.abs(s2), 0) : Ki2(o2 / s2, 0)) * s2, R4.create(d); + }); + return a === 1 && o === 1 ? u.get(0, 0) : u; + } + }; + var Dh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = t == null ? R4.create(1) : t; + if (e29.isError()) return e29; + if (n.isError()) return n; + let r = Math.max(e29.isArray() ? e29.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, j3.create(D3.NA)), o = V3(r, i, n, j3.create(D3.NA)), s = a.map((e30, t2, n2) => { + let r2 = o.get(t2, n2), i2 = e30; + if (i2.isString() && (i2 = i2.convertToNumberObjectValue()), i2.isError()) return i2; + if (r2.isString() && (r2 = r2.convertToNumberObjectValue()), r2.isError()) return r2; + let a2 = +i2.getValue(), s2 = +r2.getValue(); + if (a2 === 0 || s2 === 0) return R4.create(0); + let c = (s2 < 0 ? -Ki2(a2 / Math.abs(s2), 0) : Ki2(a2 / s2, 0)) * s2; + return R4.create(c); + }); + return r === 1 && i === 1 ? s.get(0, 0) : s; + } + }; + var Oh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = 0; + for (let n = 0; n < e29.length; n++) { + let r = e29[n]; + if (!r.isNull()) if (r.isArray()) { + let e30 = false, n2 = j3.create(D3.VALUE); + if (r.iterator((r2) => { + if (r2 != null && r2.isNull()) return true; + let { isError: i, errorObject: a, number: o } = this._handleSingleObject(r2); + if (i) return e30 = true, n2 = a, false; + t = Ps2(t, o); + }), e30) return n2; + } else { + let { isError: e30, errorObject: n2, number: i } = this._handleSingleObject(r); + if (e30) return n2; + t = Ps2(t, i); + } + } + return R4.create(t); + } + _handleSingleObject(e29) { + if (e29.isBoolean()) return { isError: true, errorObject: j3.create(D3.VALUE), number: null }; + let t = e29; + if (e29.isString() && (t = t.convertToNumberObjectValue()), t.isError()) return { isError: true, errorObject: t, number: null }; + let n = Math.floor(+t.getValue()); + return n < 0 || n >= 2 ** 53 ? { isError: true, errorObject: j3.create(D3.NUM), number: null } : { isError: false, errorObject: null, number: n }; + } + }; + var kh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + return e29.isArray() ? e29.mapValue((e30) => this._handleSingleObject(e30)) : this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + let t = e29; + if (t.isString() && (t = t.convertToNumberObjectValue()), t.isError()) return t; + let n = Math.floor(+t.getValue()); + return R4.create(n); + } + }; + var Ah = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = 1, n = true; + for (let r = 0; r < e29.length; r++) { + let i = e29[r]; + if (!i.isNull()) if (i.isArray()) { + let e30 = false, r2 = j3.create(D3.VALUE); + if (i.iterator((i2) => { + if (i2 != null && i2.isNull()) return true; + let { isError: a, errorObject: o, number: s } = this._handleSingleObject(i2); + if (a) return e30 = true, r2 = o, false; + t = Fs2(t, s), n = false; + }), e30) return r2; + } else { + let { isError: e30, errorObject: r2, number: a } = this._handleSingleObject(i); + if (e30) return r2; + t = Fs2(t, a), n = false; + } + } + return n ? R4.create(0) : Number.isNaN(t) || !Number.isFinite(t) || t >= 2 ** 53 ? j3.create(D3.VALUE) : R4.create(t); + } + _handleSingleObject(e29) { + if (e29.isBoolean()) return { isError: true, errorObject: j3.create(D3.VALUE), number: null }; + let t = e29; + if (e29.isString() && (t = t.convertToNumberObjectValue()), t.isError()) return { isError: true, errorObject: t, number: null }; + let n = Math.floor(+t.getValue()); + return n < 0 ? { isError: true, errorObject: j3.create(D3.NUM), number: null } : { isError: false, errorObject: null, number: n }; + } + }; + var jh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let t = e29; + return t.isString() && (t = t.convertToNumberObjectValue()), t.isError() ? t : t.log(); + } + }; + var Mh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = t == null ? R4.create(10) : t; + if (e29.isError()) return e29; + if (n.isError()) return n; + let r = Math.max(e29.isArray() ? e29.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, j3.create(D3.NA)), o = V3(r, i, n, j3.create(D3.NA)), s = a.map((e30, t2, n2) => { + let r2 = o.get(t2, n2), i2 = e30; + if (i2.isString() && (i2 = i2.convertToNumberObjectValue()), i2.isError()) return i2; + if (r2.isString() && (r2 = r2.convertToNumberObjectValue()), r2.isError()) return r2; + let a2 = +i2.getValue(), s2 = +r2.getValue(); + if (a2 <= 0 || s2 <= 0) return j3.create(D3.NUM); + let c = Math.log(s2); + if (c === 0) return j3.create(D3.DIV_BY_ZERO); + let l = Math.log(a2) / c; + return R4.create(l); + }); + return r === 1 && i === 1 ? s.get(0, 0) : s; + } + }; + var Nh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let t = e29; + return t.isString() && (t = t.convertToNumberObjectValue()), t.isError() ? t : t.log10(); + } + }; + var Ph = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let t = e29.isArray() ? e29.getRowCount() : 1, n = e29.isArray() ? e29.getColumnCount() : 1, r = []; + for (let i2 = 0; i2 < t; i2++) { + let t2 = []; + for (let r2 = 0; r2 < n; r2++) { + let n2 = e29.isArray() ? e29.get(i2, r2) : e29; + if (n2.isError()) return n2; + if (n2.isNull() || n2.isBoolean()) return j3.create(D3.VALUE); + if (n2.isString() && (n2 = n2.convertToNumberObjectValue()), n2.isError()) return n2; + let a = +n2.getValue(); + t2.push(a); + } + r.push(t2); + } + if (t !== n) return j3.create(D3.VALUE); + let i = Is2(r); + return R4.create(i); + } + }; + var Fh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let t = e29.isArray() ? e29.getRowCount() : 1, n = e29.isArray() ? e29.getColumnCount() : 1, r = []; + for (let i2 = 0; i2 < t; i2++) { + let t2 = []; + for (let r2 = 0; r2 < n; r2++) { + let n2 = e29.isArray() ? e29.get(i2, r2) : e29; + if (n2.isError()) return n2; + if (n2.isNull() || n2.isBoolean()) return j3.create(D3.VALUE); + if (n2.isString() && (n2 = n2.convertToNumberObjectValue()), n2.isError()) return n2; + let a = +n2.getValue(); + t2.push(a); + } + r.push(t2); + } + if (t !== n) return j3.create(D3.VALUE); + let i = Ls2(r); + return i === null ? j3.create(D3.NUM) : B3.createByArray(i); + } + }; + var Ih = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = e29.isArray() ? e29.getRowCount() : 1, r = e29.isArray() ? e29.getColumnCount() : 1, i = t.isArray() ? t.getRowCount() : 1, a = t.isArray() ? t.getColumnCount() : 1; + if (r !== i) return j3.create(D3.VALUE); + let o = this._getMatrix(e29, n, r), s = this._getMatrix(t, i, a); + if (o instanceof j3) return o; + if (s instanceof j3) return s; + let c = Bs2(o, s); + return B3.createByArray(c); + } + _getMatrix(e29, t, n) { + let r = []; + for (let i = 0; i < t; i++) { + let t2 = []; + for (let r2 = 0; r2 < n; r2++) { + let n2 = e29.isArray() ? e29.get(i, r2) : e29; + if (n2.isError()) return n2; + if (n2.isNull() || n2.isBoolean()) return j3.create(D3.VALUE); + if (n2.isString() && (n2 = n2.convertToNumberObjectValue()), n2.isError()) return n2; + let a = +n2.getValue(); + t2.push(a); + } + r.push(t2); + } + return r; + } + }; + var Lh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = e29; + if (n.isString() && (n = n.convertToNumberObjectValue()), n.isError()) return n; + let r = t; + return r.isString() && (r = r.convertToNumberObjectValue()), r.isError() ? r : n.mod(r); + } + }; + var Rh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = e29; + if (n.isArray()) { + let e30 = n.getRowCount(), t2 = n.getColumnCount(); + if (e30 > 1 || t2 > 1) return j3.create(D3.VALUE); + n = n.get(0, 0); + } + if (n.isError()) return n; + let r = t; + if (r.isArray()) { + let e30 = r.getRowCount(), t2 = r.getColumnCount(); + if (e30 > 1 || t2 > 1) return j3.create(D3.VALUE); + r = r.get(0, 0); + } + if (r.isError()) return r; + if (n.isBoolean() || r.isBoolean()) return j3.create(D3.VALUE); + let i = +n.getValue(), a = +r.getValue(); + if (Number.isNaN(i) || Number.isNaN(a)) return j3.create(D3.VALUE); + if (a === 0) return R4.create(0); + if (i > 0 && a < 0 || i < 0 && a > 0) return j3.create(D3.NUM); + let o = Gi(i / a, 0) * a; + return R4.create(o); + } + }; + var zh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = 0, n = 1; + for (let r2 = 0; r2 < e29.length; r2++) { + let i = e29[r2]; + if (!i.isNull()) if (i.isArray()) { + let e30 = false, r3 = j3.create(D3.VALUE); + if (i.iterator((i2) => { + if (i2 != null && i2.isNull()) return true; + let { isError: a, errorObject: o, number: s } = this._handleSingleObject(i2); + if (a) return e30 = true, r3 = o, false; + if (t += s, t > 170) return e30 = true, r3 = j3.create(D3.NUM), false; + n *= Ms2(s); + }), e30) return r3; + } else { + let { isError: e30, errorObject: r3, number: a } = this._handleSingleObject(i); + if (e30) return r3; + if (t += a, t > 170) return j3.create(D3.NUM); + n *= Ms2(a); + } + } + let r = Ms2(t) / n; + return R4.create(r); + } + _handleSingleObject(e29) { + if (e29.isBoolean()) return { isError: true, errorObject: j3.create(D3.VALUE), number: null }; + let t = e29; + if (e29.isString() && (t = t.convertToNumberObjectValue()), t.isError()) return { isError: true, errorObject: t, number: null }; + let n = Math.floor(+t.getValue()); + return n < 0 ? { isError: true, errorObject: j3.create(D3.NUM), number: null } : { isError: false, errorObject: null, number: n }; + } + }; + var Bh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + if (e29.isArray()) { + let t = e29.getRowCount(), n = e29.getColumnCount(), r = e29.mapValue((e30) => { + let r2 = this._handleSingleObject(e30); + return r2.isError() ? r2 : t > 1 || n > 1 ? r2.get(0, 0) : r2; + }); + return t === 1 && n === 1 ? r.get(0, 0) : r; + } + return this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + let t = e29; + if (t.isString() && (t = t.convertToNumberObjectValue()), t.isError()) return t; + let n = Math.floor(+t.getValue()); + if (n <= 0) return j3.create(D3.VALUE); + let r = []; + for (let e30 = 0; e30 < n; e30++) { + r[e30] = []; + for (let t2 = 0; t2 < n; t2++) r[e30][t2] = e30 === t2 ? 1 : 0; + } + return B3.createByArray(r); + } + }; + var Vh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + return e29.isArray() ? e29.map((e30) => this._handleSingleObject(e30)) : this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + let t = e29; + if (t.isString() && (t = t.convertToNumberObjectValue()), t.isError()) return t; + let n = +t.getValue(); + if (!Number.isFinite(n)) return j3.create(D3.VALUE); + let r = n < 0 ? -qi(Math.abs(n), 0) : qi(n, 0); + return Number.isNaN(r) ? j3.create(D3.VALUE) : (Math.abs(r) % 2 == 0 && (n < 0 ? r-- : r++), R4.create(r)); + } + }; + var Hh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 0), E3(this, `maxParams`, 0); + } + calculate() { + return R4.create(Math.PI); + } + }; + var Uh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = e29; + if (n.isString() && (n = n.convertToNumberObjectValue()), n.isError()) return n; + let r = t; + return r.isString() && (r = r.convertToNumberObjectValue()), r.isError() ? r : n.pow(r); + } + }; + var Wh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = R4.create(1), n = true; + for (let r = 0; r < e29.length; r++) { + let i = e29[r]; + if (i.isError()) return i; + if (i.isArray()) { + let e30 = false, r2 = null; + if (i.iterator((i2) => { + if (i2 != null && i2.isError()) return e30 = true, r2 = i2, false; + if (!i2 || i2.isNull() || i2.isString() || i2.isBoolean()) return true; + t = t.multiply(i2), n = false; + }), e30) return r2; + } else { + if (i.isNull()) continue; + if (i.isString() && (i = i.convertToNumberObjectValue()), i.isError()) return i; + t = t.multiply(i), n = false; + } + if (t.isError()) return t; + } + return n ? R4.create(0) : t; + } + }; + var Gh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let { isError: n, errorObject: r, variants: i } = Y3(e29, t); + if (n) return r; + let [a, o] = i, s = +a.getValue(), c = +o.getValue(); + if (Number.isNaN(s) || Number.isNaN(c)) return j3.create(D3.VALUE); + if (c === 0) return j3.create(D3.DIV_BY_ZERO); + let l = Math.trunc(s / c); + return R4.create(l); + } + }; + var Kh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + return e29.isArray() ? e29.map((e30) => this._handleSingleObject(e30)) : this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + let t = e29; + if (t.isString() && (t = t.convertToNumberObjectValue()), t.isError()) return t; + let n = +t.getValue(); + if (!Number.isFinite(n)) return j3.create(D3.VALUE); + let r = n * (Math.PI / 180); + return Number.isNaN(r) ? j3.create(D3.VALUE) : R4.create(r); + } + }; + var qh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 0), E3(this, `maxParams`, 0); + } + calculate() { + return R4.create(Math.random()); + } + }; + var Jh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 0), E3(this, `maxParams`, 5), E3(this, `needsSheetRowColumnCount`, true); + } + calculate(e29, t, n, r, i) { + if (e29 != null && e29.isError()) return e29; + if (t != null && t.isError()) return t; + if (n != null && n.isError()) return n; + if (r != null && r.isError()) return r; + if (i != null && i.isError()) return i; + let a = e29 == null ? R4.create(1) : e29, o = t == null ? R4.create(1) : t, s = n == null ? R4.create(0) : n, c = r == null ? R4.create(1) : r, l = i == null ? R4.create(0) : i; + return this._calculateResult(a, o, s, c, l); + } + _calculateResult(e29, t, n, r, i) { + let a = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1, i.isArray() ? i.getRowCount() : 1), o = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1, i.isArray() ? i.getColumnCount() : 1); + if (a === 1 && o === 1) return this._calculateSingleCell(e29, t, n, r, i); + let s = V3(a, o, e29, j3.create(D3.NA)), c = V3(a, o, t, j3.create(D3.NA)), l = V3(a, o, n, j3.create(D3.NA)), u = V3(a, o, r, j3.create(D3.NA)), d = V3(a, o, i, j3.create(D3.NA)); + return s.map((e30, t2, n2) => { + let r2 = c.get(t2, n2), i2 = l.get(t2, n2), a2 = u.get(t2, n2), o2 = d.get(t2, n2), s2 = this._handleError(e30, r2, i2, a2, o2); + if (s2.errorObject) return s2.errorObject; + let { minValue: f, maxValue: p, wholeNumberValue: m } = s2, h; + return m ? (f = Math.ceil(f), p = Math.floor(p), h = Math.floor(Math.random() * (p - f + 1)) + f) : h = Math.random() * (p - f) + f, h < f || h > p ? j3.create(D3.VALUE) : R4.create(h); + }); + } + _calculateSingleCell(e29, t, n, r, i) { + let a = e29; + a.isArray() && (a = a.get(0, 0)); + let o = t; + o.isArray() && (o = o.get(0, 0)); + let s = n; + s.isArray() && (s = s.get(0, 0)); + let c = r; + c.isArray() && (c = c.get(0, 0)); + let l = i; + l.isArray() && (l = l.get(0, 0)); + let u = this._handleError(a, o, s, c, l); + if (u.errorObject) return u.errorObject; + let { rowsValue: d, columnsValue: f, minValue: p, maxValue: m, wholeNumberValue: h } = u; + if (h && (p = Math.ceil(p), m = Math.floor(m), p > m)) return j3.create(D3.VALUE); + let g2 = []; + for (let e30 = 0; e30 < d; e30++) { + let e31 = []; + for (let t2 = 0; t2 < f; t2++) h ? e31.push(Math.floor(Math.random() * (m - p + 1)) + p) : e31.push(Math.random() * (m - p) + p); + g2.push(e31); + } + return d === 1 && f === 1 ? R4.create(g2[0][0]) : B3.createByArray(g2); + } + _handleError(e29, t, n, r, i) { + let a = e29; + if (a.isString() && (a = a.convertToNumberObjectValue()), a.isError()) return { errorObject: a }; + let o = t; + if (o.isString() && (o = o.convertToNumberObjectValue()), o.isError()) return { errorObject: o }; + let s = n; + if (s.isString() && (s = s.convertToNumberObjectValue()), s.isError()) return { errorObject: s }; + let c = r; + if (c.isString() && (c = c.convertToNumberObjectValue()), c.isError()) return { errorObject: c }; + let l = i; + return l.isString() && (l = l.convertToNumberObjectValue()), l.isError() ? { errorObject: l } : this._getValue(a, o, s, c, l); + } + _getValue(e29, t, n, r, i) { + let a = Math.floor(+e29.getValue()), o = Math.floor(+t.getValue()); + if (a === 0 || o === 0) return { errorObject: j3.create(D3.CALC) }; + let s = this._rowCount - this.row, c = this._columnCount - this.column; + if (a < 0 || o < 0 || a * o > 10 ** 7) return { errorObject: j3.create(D3.VALUE) }; + if (a > s || o > c) return { errorObject: j3.create(D3.REF) }; + let l = +n.getValue(), u = +r.getValue(), d = +i.getValue(); + return l > u || d && (!Number.isInteger(l) || !Number.isInteger(u)) ? { errorObject: j3.create(D3.VALUE) } : { rowsValue: a, columnsValue: o, minValue: l, maxValue: u, wholeNumberValue: d }; + } + }; + var Yh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = e29; + if (n.isArray()) { + let e30 = n.getRowCount(), t2 = n.getColumnCount(); + if (e30 > 1 || t2 > 1) return j3.create(D3.VALUE); + n = n.get(0, 0); + } + if (n.isError()) return n; + let r = t; + if (r.isArray()) { + let e30 = r.getRowCount(), t2 = r.getColumnCount(); + if (e30 > 1 || t2 > 1) return j3.create(D3.VALUE); + r = r.get(0, 0); + } + if (r.isError()) return r; + if (n.isBoolean() || r.isBoolean()) return j3.create(D3.VALUE); + let i = +n.getValue(), a = +r.getValue(); + if (Number.isNaN(i) || Number.isNaN(a)) return j3.create(D3.VALUE); + if (i > a) return j3.create(D3.NUM); + i = Math.ceil(i), a = Math.floor(a); + let o = Math.floor(Math.random() * (a - i + 1)) + i; + return R4.create(o); + } + }; + var Xh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = t == null ? R4.create(0) : t, r = Math.max(e29.isArray() ? e29.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, j3.create(D3.NA)), o = V3(r, i, n, j3.create(D3.NA)), s = a.mapValue((e30, t2, n2) => { + let r2 = o.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : this._handleSingleObject(e30, r2); + }); + return r === 1 && i === 1 ? s.get(0, 0) : s; + } + _handleSingleObject(e29, t) { + let { isError: n, errorObject: r, variants: i } = X3(e29); + if (n) return r; + let [a] = i, o = Math.floor(+a.getValue()), s = t; + if (s.isString() && (s = s.convertToNumberObjectValue(), s.isError())) return s; + let c = Math.floor(+s.getValue()); + if (s.isBoolean() && (c = s.getValue() ? 0 : 4), o < 0 || o > 3999 || c < 0 || c > 4) return j3.create(D3.VALUE); + let l = $s2[c], u = l.length - 1, d = ``; + for (; o > 0; ) { + u = this._binarySearch(o, 0, u, l); + let e30 = l[u]; + o -= e30, d += Qs2.get(e30); + } + return z3.create(d); + } + _binarySearch(e29, t, n, r) { + let i = t, a = n; + for (; a - i > 1; ) { + let t2 = Math.floor((i + a) / 2), n2 = r[t2]; + if (n2 === e29) return t2; + n2 > e29 ? a = t2 : i = t2; + } + return i !== a && r[a] <= e29 ? a : i; + } + }; + var Zh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = e29; + if (n.isString() && (n = n.convertToNumberObjectValue()), n.isError()) return n; + let r = t; + return r.isString() && (r = r.convertToNumberObjectValue()), r.isError() ? r : n.round(r); + } + }; + var Qh = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1), r = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1), i = V3(n, r, e29, j3.create(D3.NA)), a = V3(n, r, t, j3.create(D3.NA)), o = i.mapValue((e30, t2, n2) => { + let r2 = a.get(t2, n2); + if (e30.isError()) return e30; + if (r2.isError()) return r2; + let { isError: i2, errorObject: o2, variants: s } = X3(e30, r2); + if (i2) return o2; + let [c, l] = s, u = +c.getValue(), d = Math.trunc(+l.getValue()), f = this._roundBank(u, d); + return R4.create(f); + }); + return n === 1 && r === 1 ? o.get(0, 0) : o; + } + _roundBank(e29, t) { + if (t > 16) return e29; + if (t < -16) return 0; + let n = 1e-8, r = 10 ** t, i = +(e29 * r).toFixed(8), a = Math.floor(i), o = i - a, s = Math.round(i); + return o > 0.5 - n && o < 0.5 + n && (s = a % 2 == 0 ? a : a + 1), t ? s / r : s; + } + }; + var $h = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = e29; + if (n.isString() && (n = n.convertToNumberObjectValue()), n.isError()) return n; + let r = t; + return r.isString() && (r = r.convertToNumberObjectValue()), r.isError() ? r : n.floor(r); + } + }; + var eg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = e29; + if (n.isString() && (n = n.convertToNumberObjectValue()), n.isError()) return n; + let r = t; + return r.isString() && (r = r.convertToNumberObjectValue()), r.isError() ? r : n.ceil(r); + } + }; + var tg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + return e29.isArray() ? e29.map((e30) => this._handleSingleObject(e30)) : this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + let t = e29; + if (t.isString() && (t = t.convertToNumberObjectValue()), t.isError()) return t; + let n = +t.getValue(); + return Math.abs(n) >= 2 ** 27 ? j3.create(D3.NUM) : t.cos().getReciprocal(); + } + }; + var ng = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + return e29.isArray() ? e29.map((e30) => this._handleSingleObject(e30)) : this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + let t = e29; + if (t.isString() && (t = t.convertToNumberObjectValue()), t.isError()) return t; + let n = +t.getValue(); + return Number.isFinite(Math.cosh(n)) ? Math.abs(n) >= 2 ** 27 ? j3.create(D3.NUM) : t.cosh().getReciprocal() : R4.create(0); + } + }; + var rg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 4), E3(this, `needsSheetRowColumnCount`, true); + } + calculate(e29, t, n, r) { + let i = e29, a = t == null ? R4.create(1) : t, o = n == null ? R4.create(1) : n, s = r == null ? R4.create(1) : r; + i.isNull() && (i = R4.create(1)), a.isNull() && (a = R4.create(1)), o.isNull() && (o = R4.create(1)), s.isNull() && (s = R4.create(1)); + let c = Math.max(i.isArray() ? i.getRowCount() : 1, a.isArray() ? a.getRowCount() : 1, o.isArray() ? o.getRowCount() : 1, s.isArray() ? s.getRowCount() : 1), l = Math.max(i.isArray() ? i.getColumnCount() : 1, a.isArray() ? a.getColumnCount() : 1, o.isArray() ? o.getColumnCount() : 1, s.isArray() ? s.getColumnCount() : 1), u = V3(c, l, i, j3.create(D3.NA)), d = V3(c, l, a, j3.create(D3.NA)), f = V3(c, l, o, j3.create(D3.NA)), p = V3(c, l, s, j3.create(D3.NA)), m = u.mapValue((e30, t2, n2) => { + let r2 = d.get(t2, n2), i2 = f.get(t2, n2), a2 = p.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : a2.isError() ? a2 : this._getResult(e30, r2, i2, a2, c, l); + }); + return c === 1 && l === 1 ? m.get(0, 0) : m; + } + _getResult(e29, t, n, r, i, a) { + let { isError: o, errorObject: s, variants: c } = X3(e29, t, n, r); + if (o) return s; + let [l, u, d, f] = c, p = Math.floor(+l.getValue()), m = Math.floor(+u.getValue()), h = +d.getValue(), g2 = +f.getValue(); + if (p < 0 || m < 0 || p * m > 10 ** 7) return j3.create(D3.VALUE); + if (p === 0 || m === 0) return j3.create(D3.CALC); + let _2 = this._rowCount - this.row, v = this._columnCount - this.column; + if (p > _2 || m > v) return j3.create(D3.REF); + let y = []; + for (let e30 = 0; e30 < p; e30++) { + y[e30] = []; + for (let t2 = 0; t2 < m; t2++) y[e30][t2] = h + (e30 * m + t2) * g2; + } + return i > 1 || a > 1 ? R4.create(y[0][0]) : B3.createByArray(y); + } + }; + var ig = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 4), E3(this, `maxParams`, 4); + } + calculate(e29, t, n, r) { + if (e29.isNull() || t.isNull() || n.isNull() || r.isNull()) return j3.create(D3.NA); + let { isError: i, errorObject: a, variants: o } = Y3(e29, t, n); + if (i) return a; + let { isError: s, errorObject: c, variants: l } = X3(...o); + if (s) return c; + let [u, d, f] = l, p = +u.getValue(), m = +d.getValue(), h = +f.getValue(), g2 = []; + if (r.isArray()) { + let e30 = false, t2 = j3.create(D3.VALUE); + if (r.iterator((n2) => { + let { isError: r2, errorObject: i2, coefficientsObject: a2 } = this._handleSingleObject(n2); + if (r2) return e30 = true, t2 = i2, false; + let o2 = +a2.getValue(); + g2.push(o2); + }), e30) return t2; + } else { + let { isError: e30, errorObject: t2, coefficientsObject: n2 } = this._handleSingleObject(r); + if (e30) return t2; + let i2 = +n2.getValue(); + g2.push(i2); + } + let _2 = 0; + for (let e30 = 0; e30 < g2.length; e30++) _2 += g2[e30] * p ** (m + e30 * h); + return Number.isNaN(_2) || !Number.isFinite(_2) ? j3.create(D3.NUM) : R4.create(_2); + } + _handleSingleObject(e29) { + if (e29.isError()) return { isError: true, errorObject: e29, coefficientsObject: null }; + if (e29 != null && e29.isBoolean()) return { isError: true, errorObject: j3.create(D3.VALUE), coefficientsObject: null }; + let t = e29; + return t.isString() && (t = t.convertToNumberObjectValue()), t.isError() ? { isError: true, errorObject: t, coefficientsObject: null } : { isError: false, errorObject: null, coefficientsObject: t }; + } + }; + var ag = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + if (e29.isArray()) { + let t = e29.mapValue((e30) => this._handleSingleObject(e30)); + return t.getRowCount() === 1 && t.getColumnCount() === 1 ? t.get(0, 0) : t; + } + return this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + if (e29.isError()) return e29; + let { isError: t, errorObject: n, variants: r } = X3(e29); + if (t) return n; + let [i] = r, a = +i.getValue(); + return a > 0 ? R4.create(1) : a < 0 ? R4.create(-1) : R4.create(0); + } + }; + var og = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let t = e29; + return t.isString() && (t = t.convertToNumberObjectValue()), t.isError() ? t : t.sin(); + } + }; + var sg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let t = e29; + return t.isString() && (t = t.convertToNumberObjectValue()), t.isError() ? t : t.sinh(); + } + }; + var cg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let t = e29; + return t.isString() && (t = t.convertToNumberObjectValue()), t.isError() ? t : t.sqrt(); + } + }; + var lg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let t = e29; + if (t.isArray()) { + let e30 = t.getRowCount(), n2 = t.getColumnCount(); + if (e30 > 1 || n2 > 1) return j3.create(D3.VALUE); + t = t.get(0, 0); + } + if (t.isString() && (t = t.convertToNumberObjectValue()), t.isError()) return t; + let n = +t.getValue(); + if (n < 0) return j3.create(D3.NUM); + let r = Math.sqrt(n * Math.PI); + return R4.create(r); + } + }; + var ug = { 1: Q3.AVERAGE, 2: Q3.COUNT, 3: Q3.COUNTA, 4: Q3.MAX, 5: Q3.MIN, 6: Q3.PRODUCT, 7: Q3.STDEV, 8: Q3.STDEVP, 9: Q3.SUM, 10: Q3.VAR, 11: Q3.VARP }; + var dg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 255), E3(this, `needsReferenceObject`, true), E3(this, `needsFilteredOutRows`, true), E3(this, `needsFormulaDataModel`, true); + } + calculate(e29, ...t) { + let n; + n = e29.isReferenceObject() ? e29.toArrayValueObject() : e29; + let { isError: r, multiAreaRefs: i, normalRefs: a } = Jc2(t); + if (!r && i.length > 0) return this._handleMultiAreaRefs(n, i, t); + if (n.isArray()) { + let e30 = n.mapValue((e31) => this._handleSingleObject(e31, { isError: r, refs: a })); + return e30.getRowCount() === 1 && e30.getColumnCount() === 1 ? e30.get(0, 0) : e30; + } + return this._handleSingleObject(n, { isError: r, refs: a }); + } + _handleSingleObject(e29, t) { + let { isError: n = false, refs: r } = t, i = e29; + if (e29.isString() && (i = e29.convertToNumberObjectValue()), i.isError()) return i; + if (n) return j3.create(D3.VALUE); + let a = Math.floor(+i.getValue()); + if (a < 1 || a > 11 && a < 101 || a > 111) return j3.create(D3.VALUE); + let o = false; + return a >= 101 && (a -= 100, o = true), Qc2({ type: ug[a], ignoreRowHidden: o, ignoreErrorValues: false, ignoreNested: true, formulaDataModel: this._formulaDataModel }, r); + } + _handleMultiAreaRefs(e29, t, n) { + let r = e29.isArray() ? e29.getRowCount() : 1, i = e29.isArray() ? e29.getColumnCount() : 1, { multiAreaInfoMap: a, maxAreasLen: o } = this._getMultiAreaInfo(t), s = Math.max(r, o), c = []; + for (let t2 = 0; t2 < s; t2++) { + let o2 = t2 < r ? t2 : r - 1, s2 = []; + for (let c2 = 0; c2 < i; c2++) { + if (r > 1 && t2 >= r) { + s2.push(j3.create(D3.NA)); + continue; + } + let i2 = e29.isArray() ? e29.get(o2, c2) : e29, l = []; + for (let e30 = 0; e30 < n.length; e30++) { + let r2 = n[e30], i3 = a.get(r2); + if (i3) { + let e31 = t2 < i3.rowAreas.length ? t2 : i3.rowAreas.length - 1, n2 = i3.rowAreas[e31]; + if (n2.isError()) { + s2.push(n2); + break; + } + l.push(n2); + continue; + } + l.push(r2); + } + let u = this._handleSingleObject(i2, { isError: false, refs: l }); + s2.push(u); + } + c.push(s2); + } + return c.length === 1 ? c[0][0] : Ea2(c, c.length, i); + } + _getMultiAreaInfo(e29) { + let t = /* @__PURE__ */ new Map(), n = 1; + return e29.forEach((e30) => { + let r = e30.getAreas().map((t2) => { + if (!t2 || t2.length === 0) return e30; + let n2 = t2.find((e31) => !e31.isError()); + return n2 == null ? t2[0] : n2; + }); + t.set(e30, { ref: e30, rowAreas: r }), n = Math.max(n, r.length || 1); + }), { multiAreaInfoMap: t, maxAreasLen: n }; + } + }; + var fg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = R4.create(0); + for (let n = 0; n < e29.length; n++) { + let r = e29[n]; + if (r.isString() && (r = r.convertToNumberObjectValue()), r.isError() || (r.isArray() && (r = r.sum()), r.isError())) return r; + if (t = t.plus(r), t.isError()) return t; + } + return t; + } + }; + var pg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 3), E3(this, `needsReferenceObject`, true); + } + calculate(e29, t, n) { + if (!e29.isReferenceObject() || n && !n.isReferenceObject()) return j3.create(D3.VALUE); + let r = t; + if (t.isReferenceObject() && (r = t.toArrayValueObject()), r.isArray()) { + let t2 = r.mapValue((t3) => this._handleSingleObject(e29, t3, n)); + return t2.getRowCount() === 1 && t2.getColumnCount() === 1 ? t2.get(0, 0) : t2; + } + return this._handleSingleObject(e29, r, n); + } + _handleSingleObject(e29, t, n) { + let r = e29.toArrayValueObject(), i = Oa(r, t); + i = La(i, r, t); + let a = r.getRowCount(), o = r.getColumnCount(), s = r; + if (n) { + s = n.toArrayValueObject(); + let e30 = s.getRowCount(), t2 = s.getColumnCount(); + if (a !== e30 || o !== t2) { + let e31 = n.getRangeData(); + e31.endRow = e31.startRow + a - 1, e31.endColumn = e31.startColumn + o - 1, n.setRangeData(e31), s = n.toArrayValueObject(); + } + } + return s.pick(i).sum(); + } + }; + var mg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 255), E3(this, `needsReferenceObject`, true); + } + calculate(e29, ...t) { + let { isError: n, errorObject: r, rangeIsDifferentSize: i, criteriaMaxRowLength: a, criteriaMaxColumnLength: o, targetRange: s, variants: c } = Pa(t, e29); + if (n) return r; + if (i) return a === 1 && o === 1 ? j3.create(D3.VALUE) : V3(a, o, j3.create(D3.VALUE)); + let l = Ia2(c, { formulaName: `SUMIFS`, maxRowLength: a, maxColumnLength: o, isNumberSensitive: true, targetRange: s }); + return l.length === 1 && l[0].length === 1 ? l[0][0] : B3.create({ calculateValueList: l, rowCount: l.length, columnCount: l[0].length, unitId: this.unitId || ``, sheetId: this.subUnitId || ``, row: this.row, column: this.column }); + } + }; + var hg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(e29, ...t) { + if (e29.isError()) return e29; + let n = this._initArray1(e29); + if (t.length === 0) return n.sum(); + let r = n.getRowCount(), i = n.getColumnCount(), a = this._getResultArrayByArray1(r, i, n); + if (a instanceof j3) return a; + let o = a; + return this._validateVariants(t, r, i) || this._sumProduct(o, t, r, i); + } + _validateVariants(e29, t, n) { + for (let r of e29) { + if (r.isError()) return r; + if (r.isArray()) { + let e30 = r, i = e30.getRowCount(), a = e30.getColumnCount(); + if (i !== t && a !== n) return j3.create(D3.VALUE); + } + } + return null; + } + _sumProduct(e29, t, n, r) { + let i = 0; + for (let a = 0; a < n; a++) for (let n2 = 0; n2 < r; n2++) { + let r2 = e29[a][n2]; + for (let e30 = 0; e30 < t.length; e30++) { + let i2 = t[e30], o = this._getVariantCell(i2, a, n2); + if (!o) return j3.create(D3.VALUE); + if (o.isError()) return o; + o.isNumber() ? r2 *= o.getValue() : r2 = 0; + } + i += r2; + } + return R4.create(i); + } + _getVariantCell(e29, t, n) { + if (!e29.isArray()) return e29; + let r = e29.get(t, n); + return r == null ? null : r; + } + _initArray1(e29) { + let t = e29; + return t.isArray() || (t = B3.create({ calculateValueList: [[t]], rowCount: 1, columnCount: 1, unitId: ``, sheetId: ``, row: 0, column: 0 })), t; + } + _getResultArrayByArray1(e29, t, n) { + let r = []; + for (let i = 0; i < e29; i++) { + let e30 = []; + for (let r2 = 0; r2 < t; r2++) { + let t2 = n.get(i, r2); + if (t2.isError()) return t2; + t2.isNumber() ? e30.push(t2.getValue()) : e30.push(0); + } + r.push(e30); + } + return r; + } + }; + var gg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = R4.create(0), n = R4.create(2); + for (let r = 0; r < e29.length; r++) { + let i = e29[r]; + if (i.isString() && (i = i.convertToNumberObjectValue()), i.isError()) return i; + if (i.isArray() ? i.iterator((e30) => { + if (e30 == null || e30.isString() || e30.isBoolean() || e30.isNull()) return true; + if (e30.isError()) return t = e30, false; + t = t.plus(e30.pow(n)); + }) : t = t.plus(i.pow(n)), t.isError()) return t; + } + return t; + } + }; + var _g = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + if (e29.isError()) return e29; + if (t.isError()) return t; + let n = (e29.isArray() ? e29.getRowCount() : 1) * (e29.isArray() ? e29.getColumnCount() : 1); + if (n !== (t.isArray() ? t.getRowCount() : 1) * (t.isArray() ? t.getColumnCount() : 1)) return j3.create(D3.NA); + if (n === 1) return this._calculateSingleCell(e29, t); + { + let n2 = e29.flatten(), r = t.flatten(), i = I3.create(), a = [], o = [], s = 0; + return n2.iterator((e30, t2, n3) => { + let c = r.get(t2, n3); + if (e30 == null || e30.isString() || e30.isBoolean() || e30.isNull()) return true; + if (e30 != null && e30.isError()) return i = e30, false; + if (c == null || c.isString() || c.isBoolean() || c.isNull()) return true; + if (c != null && c.isError()) return i = c, false; + let l = +e30.getValue(), u = +c.getValue(); + a.push(l), o.push(u), s += l ** 2 - u ** 2; + }), i.isError() ? i : a.length === 0 || o.length === 0 ? j3.create(D3.DIV_BY_ZERO) : R4.create(s); + } + } + _calculateSingleCell(e29, t) { + let n = e29; + if (n.isArray() && (n = n.get(0, 0)), n.isError()) return n; + let r = t; + if (r.isArray() && (r = r.get(0, 0)), r.isError()) return r; + if (n.isNull() || r.isNull()) return j3.create(D3.VALUE); + let i = +n.getValue(), a = +r.getValue(); + if (n.isString() && !Ja(i) || n.isBoolean() || r.isString() && !Ja(a) || r.isBoolean()) return j3.create(D3.DIV_BY_ZERO); + let o = i ** 2 - a ** 2; + return R4.create(o); + } + }; + var vg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + if (e29.isError()) return e29; + if (t.isError()) return t; + let n = (e29.isArray() ? e29.getRowCount() : 1) * (e29.isArray() ? e29.getColumnCount() : 1); + if (n !== (t.isArray() ? t.getRowCount() : 1) * (t.isArray() ? t.getColumnCount() : 1)) return j3.create(D3.NA); + if (n === 1) return this._calculateSingleCell(e29, t); + { + let n2 = e29.flatten(), r = t.flatten(), i = I3.create(), a = [], o = [], s = 0; + return n2.iterator((e30, t2, n3) => { + let c = r.get(t2, n3); + if (e30 == null || e30.isString() || e30.isBoolean() || e30.isNull()) return true; + if (e30 != null && e30.isError()) return i = e30, false; + if (c == null || c.isString() || c.isBoolean() || c.isNull()) return true; + if (c != null && c.isError()) return i = c, false; + let l = +e30.getValue(), u = +c.getValue(); + a.push(l), o.push(u), s += l ** 2 + u ** 2; + }), i.isError() ? i : a.length === 0 || o.length === 0 ? j3.create(D3.DIV_BY_ZERO) : R4.create(s); + } + } + _calculateSingleCell(e29, t) { + let n = e29; + if (n.isArray() && (n = n.get(0, 0)), n.isError()) return n; + let r = t; + if (r.isArray() && (r = r.get(0, 0)), r.isError()) return r; + if (n.isNull() || r.isNull()) return j3.create(D3.VALUE); + let i = +n.getValue(), a = +r.getValue(); + if (n.isString() && !Ja(i) || n.isBoolean() || r.isString() && !Ja(a) || r.isBoolean()) return j3.create(D3.DIV_BY_ZERO); + let o = i ** 2 + a ** 2; + return R4.create(o); + } + }; + var yg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + if (e29.isError()) return e29; + if (t.isError()) return t; + let n = (e29.isArray() ? e29.getRowCount() : 1) * (e29.isArray() ? e29.getColumnCount() : 1); + if (n !== (t.isArray() ? t.getRowCount() : 1) * (t.isArray() ? t.getColumnCount() : 1)) return j3.create(D3.NA); + if (n === 1) return this._calculateSingleCell(e29, t); + { + let n2 = e29.flatten(), r = t.flatten(), i = I3.create(), a = [], o = [], s = 0; + return n2.iterator((e30, t2, n3) => { + let c = r.get(t2, n3); + if (e30 == null || e30.isString() || e30.isBoolean() || e30.isNull()) return true; + if (e30 != null && e30.isError()) return i = e30, false; + if (c == null || c.isString() || c.isBoolean() || c.isNull()) return true; + if (c != null && c.isError()) return i = c, false; + let l = +e30.getValue(), u = +c.getValue(); + a.push(l), o.push(u), s += (l - u) ** 2; + }), i.isError() ? i : a.length === 0 || o.length === 0 ? j3.create(D3.DIV_BY_ZERO) : R4.create(s); + } + } + _calculateSingleCell(e29, t) { + let n = e29; + if (n.isArray() && (n = n.get(0, 0)), n.isError()) return n; + let r = t; + if (r.isArray() && (r = r.get(0, 0)), r.isError()) return r; + if (n.isNull() || r.isNull()) return j3.create(D3.VALUE); + let i = +n.getValue(), a = +r.getValue(); + if (n.isString() && !Ja(i) || n.isBoolean() || r.isString() && !Ja(a) || r.isBoolean()) return j3.create(D3.DIV_BY_ZERO); + let o = (i - a) ** 2; + return R4.create(o); + } + }; + var bg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let t = e29; + return t.isString() && (t = t.convertToNumberObjectValue()), t.isError() ? t : t.tan(); + } + }; + var xg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + let t = e29; + return t.isString() && (t = t.convertToNumberObjectValue()), t.isError() ? t : t.tanh(); + } + }; + var Sg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = t == null ? R4.create(0) : t, r = Math.max(e29.isArray() ? e29.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, j3.create(D3.NA)), o = V3(r, i, n, j3.create(D3.NA)), s = a.map((e30, t2, n2) => { + let r2 = o.get(t2, n2), i2 = e30; + if (i2.isString() && (i2 = i2.convertToNumberObjectValue()), i2.isError()) return i2; + if (r2.isString() && (r2 = r2.convertToNumberObjectValue()), r2.isError()) return r2; + let a2 = +i2.getValue(), s2 = +r2.getValue(), c = 10 ** Math.trunc(s2), l = Ji(a2, c), u = Math.trunc(Ui(a2, c) + l) / c; + return R4.create(u); + }); + return r === 1 && i === 1 ? s.get(0, 0) : s; + } + }; + var Cg = [[Km, K3.ABS], [qm, K3.ACOS], [Jm, K3.ACOSH], [Ym, K3.ACOT], [Zm, K3.ACOTH], [eh, K3.AGGREGATE], [th, K3.ARABIC], [nh, K3.ASIN], [rh, K3.ASINH], [ih, K3.ATAN], [ah, K3.ATAN2], [oh, K3.ATANH], [sh, K3.BASE], [ch, K3.CEILING], [lh, K3.CEILING_MATH], [uh, K3.CEILING_PRECISE], [dh, K3.COMBIN], [fh, K3.COMBINA], [ph, K3.COS], [mh, K3.COSH], [hh, K3.COT], [gh, K3.COTH], [_h, K3.CSC], [vh, K3.CSCH], [yh, K3.DECIMAL], [bh, K3.DEGREES], [xh, K3.EVEN], [Sh, K3.EXP], [Ch, K3.FACT], [wh, K3.FACTDOUBLE], [Th, K3.FLOOR], [Eh, K3.FLOOR_MATH], [Dh, K3.FLOOR_PRECISE], [Oh, K3.GCD], [kh, K3.INT], [Ah, K3.LCM], [jh, K3.LN], [Mh, K3.LOG], [Nh, K3.LOG10], [Ph, K3.MDETERM], [Fh, K3.MINVERSE], [Ih, K3.MMULT], [Lh, K3.MOD], [Rh, K3.MROUND], [zh, K3.MULTINOMIAL], [Bh, K3.MUNIT], [Vh, K3.ODD], [Hh, K3.PI], [Uh, K3.POWER], [Wh, K3.PRODUCT], [Gh, K3.QUOTIENT], [Kh, K3.RADIANS], [qh, K3.RAND], [Jh, K3.RANDARRAY], [Yh, K3.RANDBETWEEN], [Xh, K3.ROMAN], [Zh, K3.ROUND], [Qh, K3.ROUNDBANK], [$h, K3.ROUNDDOWN], [eg, K3.ROUNDUP], [tg, K3.SEC], [ng, K3.SECH], [ig, K3.SERIESSUM], [rg, K3.SEQUENCE], [ag, K3.SIGN], [og, K3.SIN], [sg, K3.SINH], [cg, K3.SQRT], [lg, K3.SQRTPI], [dg, K3.SUBTOTAL], [fg, K3.SUM], [pg, K3.SUMIF], [mg, K3.SUMIFS], [hg, K3.SUMPRODUCT], [gg, K3.SUMSQ], [_g, K3.SUMX2MY2], [vg, K3.SUMX2PY2], [yg, K3.SUMXMY2], [bg, K3.TAN], [xg, K3.TANH], [Sg, K3.TRUNC]]; + var wg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2), E3(this, `_compareType`, k3.EQUALS); + } + setCompareType(e29) { + this._compareType = e29; + } + calculate(e29, t) { + return e29.isError() ? e29 : t.isError() ? t : e29.compare(t, this._compareType); + } + }; + var Tg = class e28 extends Xe2 { + static create(t) { + return new e28(t); + } + isCube() { + return true; + } + constructor(e29) { + super(``), E3(this, `_values`, []), this._values = e29; + } + dispose() { + this._values.forEach((e29) => { + e29.dispose(); + }), this._values = []; + } + getCubeValues() { + return this._values; + } + getCubeCount() { + return this._values.length; + } + sum() { + let e29 = R4.create(0); + return this._values.forEach((t) => { + e29.plus(t.sum()); + }), e29; + } + max() { + let e29 = R4.create(-1 / 0); + return this._values.forEach((t) => { + let n = t.max(); + e29.isLessThan(n) && (e29 = n); + }), e29; + } + min() { + let e29 = R4.create(1 / 0); + return this._values.forEach((t) => { + let n = t.max(); + e29.isGreaterThan(n) && (e29 = n); + }), e29; + } + count() { + let e29 = R4.create(0); + return this._values.forEach((t) => { + e29.plus(t.count()); + }), e29; + } + countA() { + let e29 = R4.create(0); + return this._values.forEach((t) => { + e29.plus(t.countA()); + }), e29; + } + countBlank() { + let e29 = R4.create(0); + return this._values.forEach((t) => { + e29.plus(t.countBlank()); + }), e29; + } + }; + var Eg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = []; + for (let n = 0; n < e29.length; n++) { + let r = e29[n]; + if (r.isError()) return r; + if (!r.isArray()) return j3.create(D3.VALUE); + t.push(r); + } + return Tg.create(t); + } + }; + var Dg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + return e29.isError() ? e29 : t.isError() ? t : !t.isArray() && t.getValue() === 0 ? j3.create(D3.DIV_BY_ZERO) : e29.divided(t); + } + }; + var Og = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + return e29.isError() ? e29 : t.isError() ? t : e29.minus(t); + } + }; + var kg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + return e29.isError() ? e29 : t.isError() ? t : e29.multiply(t); + } + }; + var Ag = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + return e29.isError() ? e29 : t.isError() ? t : e29.plus(t); + } + }; + var jg = [[wg, po.COMPARE], [Dg, po.DIVIDED], [Og, po.MINUS], [kg, po.MULTIPLY], [Ag, po.PLUS], [Eg, po.CUBE]]; + var Mg = /* @__PURE__ */ new Set([K3.ACOT, K3.ACOTH, K3.ARABIC, K3.BASE, K3.CEILING_MATH, K3.CEILING_PRECISE, K3.COMBINA, K3.COT, K3.COTH, K3.CSC, K3.CSCH, K3.DECIMAL, K3.FLOOR_MATH, K3.FLOOR_PRECISE, K3.MUNIT, K3.RANDARRAY, K3.SEC, K3.SECH, K3.SEQUENCE, G3.CHOOSECOLS, G3.CHOOSEROWS, G3.DROP, G3.EXPAND, G3.FILTER, G3.FORMULATEXT, G3.HSTACK, G3.SORT, G3.SORTBY, G3.TAKE, G3.TOCOL, G3.TOROW, G3.UNIQUE, G3.VSTACK, G3.WRAPCOLS, G3.WRAPROWS, G3.XLOOKUP, G3.XMATCH, U3.BITAND, U3.BITLSHIFT, U3.BITOR, U3.BITRSHIFT, U3.BITXOR, U3.ERF_PRECISE, U3.ERFC_PRECISE, U3.IMCOSH, U3.IMCOT, U3.IMCSC, U3.IMCSCH, U3.IMSEC, U3.IMSECH, U3.IMSINH, U3.IMTAN, to2.ISFORMULA, to2.SHEET, to2.SHEETS, no2.IFNA, no2.IFS, no2.SWITCH, no2.XOR, q3.BETA_DIST, q3.BETA_INV, q3.BINOM_DIST, q3.BINOM_DIST_RANGE, q3.BINOM_INV, q3.CHISQ_DIST, q3.CHISQ_DIST_RT, q3.CHISQ_INV, q3.CHISQ_INV_RT, q3.CHISQ_TEST, q3.CONFIDENCE_NORM, q3.CONFIDENCE_T, q3.COVARIANCE_P, q3.COVARIANCE_S, q3.EXPON_DIST, q3.F_DIST, q3.F_DIST_RT, q3.F_INV, q3.F_INV_RT, q3.F_TEST, q3.FORECAST_LINEAR, q3.GAMMA, q3.GAMMA_DIST, q3.GAMMA_INV, q3.GAMMALN_PRECISE, q3.GAUSS, q3.HYPGEOM_DIST, q3.LOGNORM_DIST, q3.LOGNORM_INV, q3.MAXIFS, q3.MINIFS, q3.MODE_MULT, q3.MODE_SNGL, q3.NEGBINOM_DIST, q3.NORM_DIST, q3.NORM_INV, q3.NORM_S_DIST, q3.NORM_S_INV, q3.PERCENTILE_EXC, q3.PERCENTILE_INC, q3.PERCENTRANK_EXC, q3.PERCENTRANK_INC, q3.PERMUTATIONA, q3.PHI, q3.POISSON_DIST, q3.QUARTILE_EXC, q3.QUARTILE_INC, q3.RANK_AVG, q3.RANK_EQ, q3.SKEW_P, q3.STDEV_P, q3.STDEV_S, q3.T_DIST, q3.T_DIST_2T, q3.T_DIST_RT, q3.T_INV, q3.T_INV_2T, q3.T_TEST, q3.VAR_P, q3.VAR_S, q3.WEIBULL_DIST, q3.Z_TEST, J3.ARRAYTOTEXT, ro2.ENCODEURL, J3.NUMBERVALUE, J3.TEXTAFTER, J3.TEXTBEFORE, J3.TEXTJOIN, J3.TEXTSPLIT, J3.UNICHAR, J3.UNICODE, J3.VALUETOTEXT, eo2.DAYS, eo2.ISOWEEKNUM, W3.PDURATION, W3.RRI, no2.BYCOL, no2.BYROW, no2.MAKEARRAY, no2.MAP, no2.REDUCE, no2.SCAN]); + var Ng = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = R4.create(0), n = R4.create(0); + for (let r2 = 0; r2 < e29.length; r2++) { + let i2 = e29[r2]; + if (i2.isString() && (i2 = i2.convertToNumberObjectValue()), i2.isError()) return i2; + if (i2.isArray()) { + if (i2 = Pg(i2), i2.isError()) return i2; + if (e29[r2] = i2, t = t.plus(i2.sum()), t.isError()) return t; + n = n.plus(i2.count()); + } else i2.isNull() || (t = t.plus(i2), n = n.plus(R4.create(1))); + } + if (n.getValue() === 0) return j3.create(D3.NUM); + let r = t.divided(n); + if (r.isError()) return r; + let i = R4.create(0); + for (let t2 = 0; t2 < e29.length; t2++) { + let n2 = e29[t2]; + if (n2.isString() && (n2 = n2.convertToNumberObjectValue()), n2.isError()) return n2; + if (n2.isArray()) { + if (i = i.plus(n2.minus(r).abs().sum()), i.isError()) return i; + } else n2.isNull() || (i = i.plus(n2.minus(r).abs())); + } + return i.divided(n); + } + }; + function Pg(e29) { + let t = []; + t[0] = []; + let n = null; + return e29.iterator((e30, r, i) => { + if (e30 != null && e30.isError()) return n = e30, false; + e30 != null && e30.isNumber() && t[0].push(e30); + }), n || Ea2(t, 1, t[0].length); + } + var Fg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = R4.create(0), n = R4.create(0); + for (let r = 0; r < e29.length; r++) { + let i = e29[r]; + if ((i.isString() || i.isBoolean()) && (i = i.convertToNumberObjectValue()), i.isError()) return i; + if (i.isArray()) { + if (t = t.plus(i.sum()), t.isError()) return t; + n = n.plus(i.count()); + } else i.isNull() || (t = t.plus(i), n = n.plus(R4.create(1))); + } + return t.divided(n); + } + }; + var Ig = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 254); + } + calculate(...e29) { + let t = false, n; + e29.length % 2 != 0 && (t = true, n = j3.create(D3.NA)); + let r = [], i = []; + for (let a = 0; a < e29.length; a += 2) { + let o = e29[a], s = o.isArray() ? o.getRowCount() : 1, c = o.isArray() ? o.getColumnCount() : 1; + for (let e30 = 0; e30 < s; e30++) for (let n2 = 0; n2 < c; n2++) { + let i2 = o.isArray() ? o.get(e30, n2) : o; + if (i2.isError()) return i2; + if (t) continue; + let a2 = i2.isNull() ? `` : i2.getValue(); + r.push(a2); + } + if (a + 1 >= e29.length) continue; + let l = e29[a + 1], u = l.isArray() ? l.getRowCount() : 1, d = l.isArray() ? l.getColumnCount() : 1; + (u !== s || d !== c) && (t = true, n = j3.create(D3.VALUE)); + for (let e30 = 0; e30 < u; e30++) for (let n2 = 0; n2 < d; n2++) { + let r2 = l.isArray() ? l.get(e30, n2) : l; + if (r2.isError()) return r2; + if (t) continue; + let a2 = r2.isNull() ? `` : r2.getValue(); + i.push(a2); + } + } + return t ? n : this._getResult(r, i); + } + _getResult(e29, t) { + let n = e29.length, r = 0, i = 0; + for (let a2 = 0; a2 < n; a2++) { + let n2 = e29[a2], o = t[a2]; + if (!(typeof n2 != `number` && typeof o != `number`)) { + if (typeof n2 != `number` || typeof o != `number` || o < 0) return j3.create(D3.VALUE); + r += n2 * o, i += o; + } + } + if (i === 0) return j3.create(D3.DIV_BY_ZERO); + let a = r / i; + return R4.create(a); + } + }; + var Lg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = R4.create(0), n = R4.create(0); + for (let r = 0; r < e29.length; r++) { + let i = e29[r]; + if ((i.isString() || i.isBoolean()) && (i = i.convertToNumberObjectValue()), i.isError()) return i; + if (i.isArray()) { + if (i.iterator((e30) => { + if (e30 == null || e30.isNull()) return true; + let r2 = e30; + if (r2.isString() && (r2 = r2.convertToNumberObjectValue(), r2.isError() && (r2 = R4.create(0))), r2.isBoolean() && (r2 = r2.convertToNumberObjectValue()), r2.isError()) return t = r2, false; + t = t.plus(r2), n = n.plus(R4.create(1)); + }), t.isError()) return t; + } else i.isNull() || (t = t.plus(i), n = n.plus(R4.create(1))); + } + return t.divided(n); + } + }; + var Rg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 3), E3(this, `needsReferenceObject`, true); + } + calculate(e29, t, n) { + if (!e29.isReferenceObject() || n && !n.isReferenceObject()) return j3.create(D3.VALUE); + let r = t; + if (t.isReferenceObject() && (r = t.toArrayValueObject()), r.isArray()) { + let t2 = r.mapValue((t3) => this._handleSingleObject(e29, t3, n)); + return t2.getRowCount() === 1 && t2.getColumnCount() === 1 ? t2.get(0, 0) : t2; + } + return this._handleSingleObject(e29, r, n); + } + _handleSingleObject(e29, t, n) { + let r = e29.toArrayValueObject(), i = Oa(r, t); + i = La(i, r, t); + let a = r.getRowCount(), o = r.getColumnCount(), s = r; + if (n) { + s = n.toArrayValueObject(); + let e30 = s.getRowCount(), t2 = s.getColumnCount(); + if (a !== e30 || o !== t2) { + let e31 = n.getRangeData(); + e31.endRow = e31.startRow + a - 1, e31.endColumn = e31.startColumn + o - 1, n.setRangeData(e31), s = n.toArrayValueObject(); + } + } + let c = s.pick(i), l = c.sum(), u = c.count(); + return l.divided(u); + } + }; + var zg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 255), E3(this, `needsReferenceObject`, true); + } + calculate(e29, ...t) { + let { isError: n, errorObject: r, rangeIsDifferentSize: i, criteriaMaxRowLength: a, criteriaMaxColumnLength: o, targetRange: s, variants: c } = Pa(t, e29); + if (n) return r; + if (i) return a === 1 && o === 1 ? j3.create(D3.VALUE) : V3(a, o, j3.create(D3.VALUE)); + let l = Ia2(c, { formulaName: `AVERAGEIFS`, maxRowLength: a, maxColumnLength: o, isNumberSensitive: true, targetRange: s }); + return l.length === 1 && l[0].length === 1 ? l[0][0] : B3.create({ calculateValueList: l, rowCount: l.length, columnCount: l[0].length, unitId: this.unitId || ``, sheetId: this.subUnitId || ``, row: this.row, column: this.column }); + } + }; + var Bg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 4), E3(this, `maxParams`, 6); + } + calculate(e29, t, n, r, i, a) { + let o = i == null ? R4.create(0) : i, s = a == null ? R4.create(1) : a; + o.isNull() && (o = R4.create(0)), s.isNull() && (s = R4.create(1)); + let c = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1, o.isArray() ? o.getRowCount() : 1, s.isArray() ? s.getRowCount() : 1), l = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1, o.isArray() ? o.getColumnCount() : 1, s.isArray() ? s.getColumnCount() : 1), u = V3(c, l, e29, j3.create(D3.NA)), d = V3(c, l, t, j3.create(D3.NA)), f = V3(c, l, n, j3.create(D3.NA)), p = V3(c, l, r, j3.create(D3.NA)), m = V3(c, l, o, j3.create(D3.NA)), h = V3(c, l, s, j3.create(D3.NA)), g2 = u.mapValue((e30, t2, n2) => { + let r2 = d.get(t2, n2), i2 = f.get(t2, n2), a2 = p.get(t2, n2), o2 = m.get(t2, n2), s2 = h.get(t2, n2); + return this._handleSingleObject(e30, r2, i2, a2, o2, s2); + }); + return c === 1 && l === 1 ? g2.get(0, 0) : g2; + } + _handleSingleObject(e29, t, n, r, i, a) { + if (e29.isError()) return e29; + if (t.isError()) return t; + if (n.isError()) return n; + if (r.isError()) return r; + if (i.isError()) return i; + if (a.isError()) return a; + let { isError: o, errorObject: s, variants: c } = X3(e29, t, n, r, i, a); + if (o) return s; + let [l, u, d, f, p, m] = c, h = +l.getValue(), g2 = +u.getValue(), _2 = +d.getValue(), v = +f.getValue(), y = +p.getValue(), b = +m.getValue(); + if (g2 <= 0 || _2 <= 0 || h < y || h > b || y === b) return j3.create(D3.NUM); + let x2; + return x2 = v ? ec2((h - y) / (b - y), g2, _2) : tc2((h - y) / (b - y), g2, _2) / (b - y), R4.create(x2); + } + }; + var Vg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 4); + } + calculate(e29, t, n, r) { + let i = r == null ? n : r; + i.isNull() && (i = n); + let a = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1, i.isArray() ? i.getRowCount() : 1), o = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1, i.isArray() ? i.getColumnCount() : 1), s = V3(a, o, e29, j3.create(D3.NA)), c = V3(a, o, t, j3.create(D3.NA)), l = V3(a, o, n, j3.create(D3.NA)), u = V3(a, o, i, j3.create(D3.NA)), d = s.mapValue((e30, t2, n2) => { + let r2 = c.get(t2, n2), i2 = l.get(t2, n2), a2 = u.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : a2.isError() ? a2 : this._handleSingleObject(e30, r2, i2, a2); + }); + return a === 1 && o === 1 ? d.get(0, 0) : d; + } + _handleSingleObject(e29, t, n, r) { + let { isError: i, errorObject: a, variants: o } = X3(e29, t, n, r); + if (i) return a; + let [s, c, l, u] = o, d = Math.floor(+s.getValue()), f = +c.getValue(), p = Math.floor(+l.getValue()), m = Math.floor(+u.getValue()); + if (d < 0 || f < 0 || f > 1 || p < 0 || p > d || m < 0 || m < p || m > d) return j3.create(D3.NUM); + let h = 0; + for (let e30 = p; e30 <= m; e30++) h += cc2(e30, d, f); + return R4.create(h); + } + }; + var Hg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, j3.create(D3.NA)), o = V3(r, i, t, j3.create(D3.NA)), s = V3(r, i, n, j3.create(D3.NA)), c = a.mapValue((e30, t2, n2) => { + let r2 = o.get(t2, n2), i2 = s.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : this._handleSingleObject(e30, r2, i2); + }); + return r === 1 && i === 1 ? c.get(0, 0) : c; + } + _handleSingleObject(e29, t, n) { + let { isError: r, errorObject: i, variants: a } = X3(e29, t, n); + if (r) return i; + let [o, s, c] = a, l = +o.getValue(), u = Math.floor(+s.getValue()), d = +c.getValue(); + if (l < 0 || u < 1 || u > 10 ** 10) return j3.create(D3.NUM); + let f; + return f = d ? lc2(l, u) : uc(l, u), R4.create(f); + } + }; + var Ug = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1), r = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1), i = V3(n, r, e29, j3.create(D3.NA)), a = V3(n, r, t, j3.create(D3.NA)), o = i.mapValue((e30, t2, n2) => { + let r2 = a.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : this._handleSingleObject(e30, r2); + }); + return n === 1 && r === 1 ? o.get(0, 0) : o; + } + _handleSingleObject(e29, t) { + let { isError: n, errorObject: r, variants: i } = X3(e29, t); + if (n) return r; + let [a, o] = i, s = +a.getValue(), c = Math.floor(+o.getValue()); + if (s < 0 || s > 1 || c < 1 || c > 10 ** 10) return j3.create(D3.NUM); + let l = dc2(s, c); + return Number.isNaN(l) || !Number.isFinite(l) ? j3.create(D3.NUM) : R4.create(l); + } + }; + var Wg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, j3.create(D3.NA)), o = V3(r, i, t, j3.create(D3.NA)), s = V3(r, i, n, j3.create(D3.NA)), c = a.mapValue((e30, t2, n2) => { + let r2 = o.get(t2, n2), i2 = s.get(t2, n2); + if (e30.isError()) return e30; + if (r2.isError()) return r2; + if (i2.isError()) return i2; + let { isError: a2, errorObject: c2, variants: l } = X3(e30, r2, i2); + if (a2) return c2; + let [u, d, f] = l, p = +u.getValue(), m = +d.getValue(), h = Math.floor(+f.getValue()); + if (p <= 0 || p >= 1 || m <= 0 || h < 1) return j3.create(D3.NUM); + if (h === 1) return j3.create(D3.DIV_BY_ZERO); + let g2 = Math.abs(zc2(p / 2, h - 1) * m / Math.sqrt(h)); + return R4.create(g2); + }); + return r === 1 && i === 1 ? c.get(0, 0) : c; + } + }; + var Gg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = e29.isArray() ? e29.getRowCount() : 1, r = e29.isArray() ? e29.getColumnCount() : 1, i = t.isArray() ? t.getRowCount() : 1, a = t.isArray() ? t.getColumnCount() : 1, o = e29; + if (e29.isArray() && n === 1 && r === 1 && (o = e29.get(0, 0)), o.isError()) return o; + let s = t; + if (t.isArray() && i === 1 && a === 1 && (s = t.get(0, 0)), s.isError()) return s; + if (n * r === 1 || i * a === 1) return o.isNull() || s.isNull() ? j3.create(D3.VALUE) : j3.create(D3.DIV_BY_ZERO); + if (n * r !== i * a) return j3.create(D3.NA); + let { isError: c, errorObject: l, array1Values: u, array2Values: d, noCalculate: f } = Bc2(e29, t, n * r, r, a); + return c ? l : f ? j3.create(D3.DIV_BY_ZERO) : this._getResult(u, d); + } + _getResult(e29, t) { + let n = e29.length, r = 0, i = 0; + for (let a2 = 0; a2 < n; a2++) r += e29[a2], i += t[a2]; + let a = r / n, o = i / n, s = 0, c = 0, l = 0; + for (let r2 = 0; r2 < n; r2++) { + let n2 = e29[r2] - a, i2 = t[r2] - o; + s += n2 * i2, c += n2 ** 2, l += i2 ** 2; + } + let u = Math.sqrt(c * l); + return u === 0 ? j3.create(D3.DIV_BY_ZERO) : R4.create(s / u); + } + }; + var Kg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = R4.create(0); + for (let n = 0; n < e29.length; n++) { + let r = e29[n]; + r.isError() || (r.isArray() ? t = t.plus(r.count()) : r.isString() ? r.convertToNumberObjectValue().isError() || (t = t.plus(R4.create(1))) : r.isNull() || (t = t.plus(R4.create(1)))); + } + return t; + } + }; + var qg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = R4.create(0); + for (let n = 0; n < e29.length; n++) { + let r = e29[n]; + if (r.isError()) { + t = t.plus(R4.create(1)); + continue; + } + r.isArray() ? (r = r.countA(), t = t.plus(r)) : r.isNull() || (t = t.plus(R4.create(1))); + } + return t; + } + }; + var Jg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + return e29.isError() ? e29 : e29.getValue() === `` || e29.isNull() ? R4.create(1) : e29.isArray() ? e29.countBlank() : R4.create(0); + } + }; + var Yg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2), E3(this, `needsReferenceObject`, true); + } + calculate(e29, t) { + if (!e29.isReferenceObject()) return j3.create(D3.VALUE); + let n = t; + if (t.isReferenceObject() && (n = t.toArrayValueObject()), n.isArray()) { + let t2 = n.mapValue((t3) => this._handleSingleObject(e29, t3)); + return t2.getRowCount() === 1 && t2.getColumnCount() === 1 ? t2.get(0, 0) : t2; + } + return this._handleSingleObject(e29, n); + } + _handleSingleObject(e29, t) { + let n = e29.toArrayValueObject(), r = Oa(n, t); + r = La(r, n, t); + let i = n.pick(r); + return this._countA(i); + } + _countA(e29) { + let t = R4.create(0); + return e29.iterator((e30) => { + if (e30 == null) return true; + t = t.plusBy(1); + }), t; + } + }; + var Xg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 255), E3(this, `needsReferenceObject`, true); + } + calculate(...e29) { + let { isError: t, errorObject: n, rangeIsDifferentSize: r, criteriaMaxRowLength: i, criteriaMaxColumnLength: a, variants: o } = Pa(e29); + if (t) return n; + if (r) return i === 1 && a === 1 ? j3.create(D3.VALUE) : V3(i, a, j3.create(D3.VALUE)); + let s = Ia2(o, { formulaName: `COUNTIFS`, maxRowLength: i, maxColumnLength: a, isNumberSensitive: true }); + return s.length === 1 && s[0].length === 1 ? s[0][0] : B3.create({ calculateValueList: s, rowCount: s.length, columnCount: s[0].length, unitId: this.unitId || ``, sheetId: this.subUnitId || ``, row: this.row, column: this.column }); + } + }; + var Zg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = e29.isArray() ? e29.getRowCount() : 1, r = e29.isArray() ? e29.getColumnCount() : 1, i = t.isArray() ? t.getRowCount() : 1, a = t.isArray() ? t.getColumnCount() : 1, o = e29; + if (e29.isArray() && n === 1 && r === 1 && (o = e29.get(0, 0)), o.isError()) return o; + let s = t; + if (t.isArray() && i === 1 && a === 1 && (s = t.get(0, 0)), s.isError()) return s; + if ((n * r === 1 || i * a === 1) && (o.isNull() || s.isNull())) return j3.create(D3.VALUE); + if (n * r !== i * a) return j3.create(D3.NA); + let { isError: c, errorObject: l, array1Values: u, array2Values: d, noCalculate: f } = Bc2(e29, t, n * r, r, a); + return c ? l : f ? j3.create(D3.DIV_BY_ZERO) : this._getResult(u, d); + } + _getResult(e29, t) { + if (e29.length <= 1) return j3.create(D3.DIV_BY_ZERO); + let n = e29.length, r = 0, i = 0; + for (let a2 = 0; a2 < n; a2++) r += e29[a2], i += t[a2]; + let a = r / n, o = i / n, s = 0; + for (let r2 = 0; r2 < n; r2++) { + let n2 = e29[r2] - a, i2 = t[r2] - o; + s += n2 * i2; + } + return R4.create(s / (n - 1)); + } + }; + var Qg = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = [], n = 0, r = true; + for (let i2 = 0; i2 < e29.length; i2++) { + let a2 = e29[i2]; + if (a2.isArray()) { + let e30 = false, i3 = j3.create(D3.VALUE); + if (a2.iterator((a3) => { + let o = this._handleSingleObject(a3); + if (o.isError()) return e30 = true, i3 = o, false; + if (o.isNull()) return true; + let s = o.getValue(); + t.push(s), n += s, r = false; + }), e30) return i3; + } else { + let e30 = this._handleSingleObject(a2); + if (e30.isError()) return e30; + if (e30.isNull()) continue; + let i3 = e30.getValue(); + t.push(i3), n += i3, r = false; + } + } + if (r) return j3.create(D3.NUM); + let i = n / t.length, a = 0; + for (let e30 = 0; e30 < t.length; e30++) a += (t[e30] - i) ** 2; + return R4.create(a); + } + _handleSingleObject(e29) { + if (e29.isError()) return e29; + if (e29.isNull() || e29.isBoolean()) return I3.create(); + let t = e29.getValue(); + return Ja(t) ? R4.create(+t) : I3.create(); + } + }; + var $g = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 4), E3(this, `maxParams`, 4); + } + calculate(e29, t, n, r) { + let i = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1), a = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1), o = V3(i, a, e29, j3.create(D3.NA)), s = V3(i, a, t, j3.create(D3.NA)), c = V3(i, a, n, j3.create(D3.NA)), l = V3(i, a, r, j3.create(D3.NA)), u = o.mapValue((e30, t2, n2) => { + let r2 = s.get(t2, n2), i2 = c.get(t2, n2), a2 = l.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : a2.isError() ? a2 : this._handleSingleObject(e30, r2, i2, a2); + }); + return i === 1 && a === 1 ? u.get(0, 0) : u; + } + _handleSingleObject(e29, t, n, r) { + let { isError: i, errorObject: a, variants: o } = X3(e29, t, n, r); + if (i) return a; + let [s, c, l, u] = o, d = +s.getValue(), f = Math.floor(+c.getValue()), p = Math.floor(+l.getValue()), m = +u.getValue(); + if (d < 0 || f < 1 || f > 10 ** 10 || p < 1 || p > 10 ** 10) return j3.create(D3.NUM); + let h; + return h = m ? fc2(d, f, p) : pc2(d, f, p), Number.isNaN(h) || !Number.isFinite(h) ? j3.create(D3.NUM) : R4.create(h); + } + }; + var e_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, j3.create(D3.NA)), o = V3(r, i, t, j3.create(D3.NA)), s = V3(r, i, n, j3.create(D3.NA)), c = a.mapValue((e30, t2, n2) => { + let r2 = o.get(t2, n2), i2 = s.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : this._handleSingleObject(e30, r2, i2); + }); + return r === 1 && i === 1 ? c.get(0, 0) : c; + } + _handleSingleObject(e29, t, n) { + let { isError: r, errorObject: i, variants: a } = X3(e29, t, n); + if (r) return i; + let [o, s, c] = a, l = +o.getValue(), u = Math.floor(+s.getValue()), d = Math.floor(+c.getValue()); + if (l < 0 || l > 1 || u < 1 || u > 10 ** 10 || d < 1 || d > 10 ** 10) return j3.create(D3.NUM); + let f = mc2(l, u, d); + return Number.isNaN(f) || !Number.isFinite(f) ? j3.create(D3.NUM) : R4.create(f); + } + }; + var t_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + return e29.isArray() ? e29.mapValue((e30) => this._handleSingleObject(e30)) : this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + let { isError: t, errorObject: n, variants: r } = X3(e29); + if (t) return n; + let [i] = r, a = i.getValue(); + if (a <= -1 || a >= 1) return j3.create(D3.NUM); + let o = Math.log((1 + a) / (1 - a)) / 2; + return R4.create(o); + } + }; + var n_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + return e29.isArray() ? e29.mapValue((e30) => this._handleSingleObject(e30)) : this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + let { isError: t, errorObject: n, variants: r } = X3(e29); + if (t) return n; + let [i] = r, a = +i.getValue(), o = Math.exp(2 * a) - 1, s = Math.exp(2 * a) + 1; + return !Number.isFinite(o) && o > 0 && !Number.isFinite(s) && s > 0 ? R4.create(1) : R4.create(o / s); + } + }; + var r_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = t.isArray() ? t.getRowCount() : 1, i = t.isArray() ? t.getColumnCount() : 1, a = n.isArray() ? n.getRowCount() : 1, o = n.isArray() ? n.getColumnCount() : 1, s = t; + t.isArray() && r === 1 && i === 1 && (s = t.get(0, 0)); + let c = n; + return n.isArray() && a === 1 && o === 1 && (c = n.get(0, 0)), e29.isArray() ? e29.mapValue((e30) => this._handleSingleObject(e30, s, c, r, i, a, o)) : this._handleSingleObject(e29, s, c, r, i, a, o); + } + _handleSingleObject(e29, t, n, r, i, a, o) { + if (e29.isError()) return e29; + if (t.isError()) return t; + if (n.isError()) return n; + let s = e29; + if (e29.isString() && (s = e29.convertToNumberObjectValue()), s.isError()) return s; + let c = +s.getValue(); + if ((r * i === 1 || a * o === 1) && (t.isNull() || n.isNull())) return j3.create(D3.VALUE); + if (r * i !== a * o) return j3.create(D3.NA); + let { isError: l, errorObject: u, array1Values: d, array2Values: f, noCalculate: p } = Bc2(t, n, r * i, i, o); + if (l) return u; + if (p) return j3.create(D3.DIV_BY_ZERO); + let m = _c2(c, d, f); + return Number.isFinite(m) ? R4.create(m) : j3.create(D3.DIV_BY_ZERO); + } + }; + var i_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let { isError: n, errorObject: r, values: i } = this._getValues(e29); + if (n) return r; + if (e29.isNull() || t.isNull()) return j3.create(D3.VALUE); + let { values: a } = this._getValues(t, true); + a.length === 0 && (a = [0]); + let o = this._getNewBinsArrayValues(a), s = Array(o.length).fill(0); + for (let e30 = 0; e30 < i.length; e30++) { + let t2 = i[e30], n2 = o.findIndex((e31) => t2 > e31.start && t2 <= e31.end); + s[n2]++; + } + return B3.createByArray(s.map((e30) => [e30])); + } + _getValues(e29, t = false) { + let n = [], r = e29.isArray() ? e29.getRowCount() : 1, i = e29.isArray() ? e29.getColumnCount() : 1; + for (let a = 0; a < r; a++) for (let r2 = 0; r2 < i; r2++) { + let i2 = e29.isArray() ? e29.get(a, r2) : e29; + if (i2.isError()) { + if (!t) return { isError: true, errorObject: i2, values: n }; + continue; + } + if (i2.isNull() || i2.isBoolean()) continue; + let o = i2.getValue(); + Ja(o) && n.push(+o); + } + return { isError: false, errorObject: null, values: n }; + } + _getNewBinsArrayValues(e29) { + let t = e29.map((e30, t2) => ({ value: e30, index: t2 })).sort((e30, t2) => e30.value - t2.value), n = []; + for (let e30 = 0; e30 < t.length; e30++) { + let r = t[e30].index; + if (e30 === 0) { + n[r] = { start: -1 / 0, end: t[e30].value }; + continue; + } + n[r] = { start: t[e30 - 1].value, end: t[e30].value }; + } + return n.push({ start: t[t.length - 1].value, end: 1 / 0 }), n; + } + }; + var a_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + if (e29.isArray()) { + let t = e29.mapValue((e30) => this._handleSingleObject(e30)); + return t.getRowCount() === 1 && t.getColumnCount() === 1 ? t.get(0, 0) : t; + } + return this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + let { isError: t, errorObject: n, variants: r } = X3(e29); + if (t) return n; + let [i] = r, a = +i.getValue(); + if (a === 0 || a < 0 && a % 1 == 0) return j3.create(D3.NUM); + let o = vc2(a); + return Number.isNaN(o) || !Number.isFinite(o) ? j3.create(D3.NUM) : R4.create(o); + } + }; + var o_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + if (e29.isArray()) { + let t = e29.mapValue((e30) => this._handleSingleObject(e30)); + return t.getRowCount() === 1 && t.getColumnCount() === 1 ? t.get(0, 0) : t; + } + return this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + let { isError: t, errorObject: n, variants: r } = X3(e29); + if (t) return n; + let [i] = r, a = +i.getValue(); + if (a <= 0) return j3.create(D3.NUM); + let o = Sc2(a); + return Math.abs(o) < 1e-15 ? R4.create(0) : R4.create(o); + } + }; + var s_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + if (e29.isArray()) { + let t = e29.mapValue((e30) => this._handleSingleObject(e30)); + return t.getRowCount() === 1 && t.getColumnCount() === 1 ? t.get(0, 0) : t; + } + return this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + let { isError: t, errorObject: n, variants: r } = X3(e29); + if (t) return n; + let [i] = r, a = Mc2(+i.getValue(), 0, 1) - 0.5; + return R4.create(a); + } + }; + var c_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = 1, n = 0, r = false; + for (let i2 = 0; i2 < e29.length; i2++) { + let a = e29[i2]; + if (a.isArray()) { + let e30 = false, i3 = j3.create(D3.VALUE); + if (a.iterator((a2) => { + if (a2 != null && a2.isError()) return e30 = true, i3 = a2, false; + if (a2 != null && a2.isNull() || a2 != null && a2.isBoolean()) return true; + let o = a2.getValue(); + if (!Ja(o)) return true; + +o <= 0 && (r = true), t *= +o, n++; + }), e30) return i3; + } else { + if (a.isError()) return a; + if (a.isString()) { + let e31 = a.convertToNumberObjectValue(); + if (e31.isError()) return e31; + } + if (a.isNull() || a.isBoolean()) continue; + let e30 = a.getValue(); + if (!Ja(e30)) continue; + +e30 <= 0 && (r = true), t *= +e30, n++; + } + } + if (n === 0 || r) return j3.create(D3.NUM); + let i = t ** (1 / n); + return R4.create(i); + } + }; + var l_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 4); + } + calculate(e29, t, n, r) { + let { isError: i, errorObject: a } = Vc2(e29, t, n); + if (i) return a; + let o = Hc2(e29); + if (o instanceof j3) return o; + let s = this._getKnownXsValues(o, t); + if (s instanceof j3) return s; + let c = this._getNewXsValues(s, n); + if (c instanceof j3) return c; + let l = r == null ? L3.create(true) : r; + if (l.isArray() && (l = l.get(0, 0)), l.isString() && (l = l.convertToNumberObjectValue()), l.isError()) return l; + let u = +l.getValue(); + return this._getResult(o, s, c, u); + } + _getResult(e29, t, n, r) { + return e29.length === 1 && t.length > 1 || e29[0].length === 1 && t[0].length > 1 ? e29.length === 1 && t.length > 1 && (r ? t.length + 1 : t.length) > e29[0].length || e29[0].length === 1 && t[0].length > 1 && (r ? t[0].length + 1 : t[0].length) > e29.length ? j3.create(D3.NA) : this._getResultByMultipleVariables(e29, t, n, r) : this._getResultBySimpleVariables(e29, t, n, r); + } + _getResultByMultipleVariables(e29, t, n, r) { + let i = e29.length === 1 && e29[0].length > 1, a = qc2(e29, t, n, r, true); + if (a instanceof j3) return a; + let { coefficients: o, newX: s } = a, c = o[0].length, l = o[0][c - 1], u = []; + for (let e30 = 0; e30 < s.length; e30++) { + u[e30] = []; + let t2 = l; + for (let n2 = c - 2; n2 >= 0; n2--) t2 *= o[0][c - 2 - n2] ** s[e30][n2]; + u[e30].push(t2); + } + return i && (u = Vs(u)), B3.createByArray(u); + } + _getResultBySimpleVariables(e29, t, n, r) { + let i = e29.flat(), { slope: a, intercept: o } = Wc2(t.flat(), i, r, true), s = n.map((e30) => e30.map((e31) => o * a ** e31)); + return B3.createByArray(s); + } + _getKnownXsValues(e29, t) { + return !t || t.isNull() ? Uc2(e29.length, e29[0].length) : Hc2(t); + } + _getNewXsValues(e29, t) { + return !t || t.isNull() ? e29 : Hc2(t); + } + }; + var u_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = 0, n = 0, r = false; + for (let i2 = 0; i2 < e29.length; i2++) { + let a = e29[i2]; + if (a.isArray()) { + let e30 = false, i3 = j3.create(D3.VALUE); + if (a.iterator((a2) => { + if (a2 != null && a2.isError()) return e30 = true, i3 = a2, false; + if (a2 != null && a2.isNull() || a2 != null && a2.isBoolean()) return true; + let o = a2.getValue(); + if (!Ja(o)) return true; + +o <= 0 && (r = true), t += 1 / o, n++; + }), e30) return i3; + } else { + if (a.isError()) return a; + if (a.isString()) { + let e31 = a.convertToNumberObjectValue(); + if (e31.isError()) return e31; + } + if (a.isNull() || a.isBoolean()) continue; + let e30 = a.getValue(); + if (!Ja(e30)) continue; + +e30 <= 0 && (r = true), t += 1 / e30, n++; + } + } + if (n === 0) return j3.create(D3.NA); + if (r) return j3.create(D3.NUM); + let i = n / t; + return R4.create(i); + } + }; + var d_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 5), E3(this, `maxParams`, 5); + } + calculate(e29, t, n, r, i) { + let a = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1, i.isArray() ? i.getRowCount() : 1), o = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1, i.isArray() ? i.getColumnCount() : 1), s = V3(a, o, e29, j3.create(D3.NA)), c = V3(a, o, t, j3.create(D3.NA)), l = V3(a, o, n, j3.create(D3.NA)), u = V3(a, o, r, j3.create(D3.NA)), d = V3(a, o, i, j3.create(D3.NA)), f = s.mapValue((e30, t2, n2) => { + let r2 = c.get(t2, n2), i2 = l.get(t2, n2), a2 = u.get(t2, n2), o2 = d.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : a2.isError() ? a2 : o2.isError() ? o2 : this._handleSingleObject(e30, r2, i2, a2, o2); + }); + return a === 1 && o === 1 ? f.get(0, 0) : f; + } + _handleSingleObject(e29, t, n, r, i) { + let { isError: a, errorObject: o, variants: s } = X3(e29, t, n, r, i); + if (a) return o; + let [c, l, u, d, f] = s, p = Math.floor(+c.getValue()), m = Math.floor(+l.getValue()), h = Math.floor(+u.getValue()), g2 = Math.floor(+d.getValue()), _2 = +f.getValue(); + if (p < 0 || p > m || p > h || p < m - g2 + h || m <= 0 || m > g2 || h <= 0 || h > g2 || g2 <= 0) return j3.create(D3.NUM); + let v; + return v = _2 ? Tc2(p, m, h, g2) : Ec2(p, m, h, g2), Number.isNaN(v) && (v = 0), R4.create(v); + } + }; + var f_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = e29.isArray() ? e29.getRowCount() : 1, r = e29.isArray() ? e29.getColumnCount() : 1, i = t.isArray() ? t.getRowCount() : 1, a = t.isArray() ? t.getColumnCount() : 1, o = e29; + if (e29.isArray() && n === 1 && r === 1 && (o = e29.get(0, 0)), o.isError()) return o; + let s = t; + if (t.isArray() && i === 1 && a === 1 && (s = t.get(0, 0)), s.isError()) return s; + if (n * r === 1 || i * a === 1) return o.isNull() || s.isNull() ? j3.create(D3.VALUE) : j3.create(D3.DIV_BY_ZERO); + if (n * r !== i * a) return j3.create(D3.NA); + let { isError: c, errorObject: l, array1Values: u, array2Values: d, noCalculate: f } = Bc2(e29, t, n * r, r, a); + return c ? l : f ? j3.create(D3.DIV_BY_ZERO) : this._getResult(u, d); + } + _getResult(e29, t) { + let n = _c2(0, e29, t); + return Number.isFinite(n) ? R4.create(n) : j3.create(D3.DIV_BY_ZERO); + } + }; + var p_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = [], n = 0; + for (let r = 0; r < e29.length; r++) { + let i = e29[r]; + if (i.isError()) return i; + if (i.isString()) { + let e30 = i.convertToNumberObjectValue(); + if (e30.isError()) return e30; + } + let a = i.isArray() ? i.getRowCount() : 1, o = i.isArray() ? i.getColumnCount() : 1; + for (let e30 = 0; e30 < a; e30++) for (let r2 = 0; r2 < o; r2++) { + let a2 = i.isArray() ? i.get(e30, r2) : i; + if (a2.isError()) return a2; + if (a2.isNull() || a2.isBoolean()) continue; + let o2 = a2.getValue(); + Ja(o2) && (t.push(+o2), n += +o2); + } + } + return t.length <= 3 ? j3.create(D3.DIV_BY_ZERO) : this._getResult(t, n); + } + _getResult(e29, t) { + let n = e29.length, r = t / n, i = 0; + for (let t2 = 0; t2 < n; t2++) i += (e29[t2] - r) ** 2; + let a = Math.sqrt(i / (n - 1)); + if (a === 0) return j3.create(D3.DIV_BY_ZERO); + let o = 0; + for (let t2 = 0; t2 < n; t2++) o += ((e29[t2] - r) / a) ** 4; + let s = n * (n + 1) / ((n - 1) * (n - 2) * (n - 3)) * o - 3 * (n - 1) ** 2 / ((n - 2) * (n - 3)); + return R4.create(s); + } + }; + var m_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = $c2(e29); + if (t.isArray()) { + let e30 = t.mapValue((e31) => this._handleSingleObject(n, e31)); + return e30.getRowCount() === 1 && e30.getColumnCount() === 1 ? e30.get(0, 0) : e30; + } + return this._handleSingleObject(n, t); + } + _handleSingleObject(e29, t) { + if (!Array.isArray(e29)) return e29; + let { isError: n, errorObject: r, variants: i } = X3(t); + if (n) return r; + let [a] = i; + return tl2(e29, +a.getValue()); + } + }; + var h_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 4); + } + calculate(e29, t, n, r) { + let { isError: i, errorObject: a } = Vc2(e29, t); + if (i) return a; + let o = Hc2(e29); + if (o instanceof j3) return o; + let s = this._getKnownXsValues(o, t); + if (s instanceof j3) return s; + let c = n == null ? L3.create(true) : n; + c.isArray() && (c = c.get(0, 0)); + let l = r == null ? L3.create(false) : r; + l.isArray() && (l = l.get(0, 0)); + let { isError: u, errorObject: d, variants: f } = X3(c, l); + if (u) return d; + let [p, m] = f; + return this._getResult(o, s, +p.getValue(), +m.getValue()); + } + _getResult(e29, t, n, r) { + return e29.length === 1 && t.length > 1 || e29[0].length === 1 && t[0].length > 1 ? e29.length === 1 && t.length > 1 && (n ? t.length + 1 : t.length) > e29[0].length || e29[0].length === 1 && t[0].length > 1 && (n ? t[0].length + 1 : t[0].length) > e29.length ? j3.create(D3.NA) : this._getResultByMultipleVariables(e29, t, n, r) : this._getResultBySimpleVariables(e29, t, n, r); + } + _getResultByMultipleVariables(e29, t, n, r) { + let i = qc2(e29, t, t, n, false); + if (i instanceof j3) return i; + let { coefficients: a, X: o, XTXInverse: s } = i, c = []; + if (r) { + let t2 = e29.flat(), r2 = t2.length, i2 = n ? t2.reduce((e30, t3) => e30 + t3, 0) / r2 : 0, l = s.length, u = r2 - l, d = a[0].length, f = Array(d - 2).fill(D3.NA), p = a[0][d - 1], m = []; + for (let e30 = 0; e30 < o.length; e30++) { + let t3 = p; + for (let n2 = d - 2; n2 >= 0; n2--) t3 += a[0][d - 2 - n2] * o[e30][n2]; + m.push(t3); + } + let h = 0, g2 = 0; + for (let e30 = 0; e30 < r2; e30++) h += (t2[e30] - i2) ** 2, g2 += (t2[e30] - m[e30]) ** 2; + let _2 = h - g2, v = h === 0 ? 0 : _2 / h, y = []; + for (let e30 = l - 1; e30 >= 0; e30--) { + let t3 = u > 0 ? Math.sqrt(g2 / u * s[e30][e30]) : 0; + y.push(t3); + } + if (n) { + let e30 = y.shift(); + y.push(e30); + } else y.push(D3.NA); + let b = u > 0 ? Math.sqrt(g2 / u) : 0, x2 = u > 0 ? _2 / (d - 1) / (g2 / u) : D3.NUM; + c = [a[0], [...y], [v, b, ...f], [x2, u, ...f], [_2, g2, ...f]]; + } else c = [a[0]]; + return B3.createByArray(c); + } + _getResultBySimpleVariables(e29, t, n, r) { + let i = e29.flat(), a = t.flat(), { slope: o, intercept: s } = Wc2(a, i, n, false); + if (Number.isNaN(o)) return j3.create(D3.NA); + let c = []; + if (r) { + let e30 = i.length, t2 = 0, r2 = 0, l = e30 - 1; + if (n) { + let n2 = 0, o2 = 0; + for (let t3 = 0; t3 < e30; t3++) n2 += i[t3], o2 += a[t3]; + t2 = n2 / e30, r2 = o2 / e30, l = e30 - 2; + } + let u = 0, d = 0, f = 0; + for (let n2 = 0; n2 < e30; n2++) u += (i[n2] - t2) ** 2, d += (i[n2] - (o * a[n2] + s)) ** 2, f += (a[n2] - r2) ** 2; + let p = u - d, m = p === u ? 1 : p / u, h = 0, g2 = 0, _2 = 0; + l > 0 && (f > 0 && (h = Math.sqrt(d / l / f), g2 = Math.sqrt(d / l * (1 / e30 + r2 ** 2 / f))), _2 = Math.sqrt(d / l)); + let v = l > 0 ? p / 1 / (d / l) : D3.NUM; + n || (g2 = D3.NA), c = [[o, s], [h, g2], [m, _2], [v, l], [p, d]]; + } else c = [[o, s]]; + return B3.createByArray(c); + } + _getKnownXsValues(e29, t) { + return !t || t.isNull() ? Uc2(e29.length, e29[0].length) : Hc2(t); + } + }; + var g_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 4); + } + calculate(e29, t, n, r) { + let { isError: i, errorObject: a } = Vc2(e29, t); + if (i) return a; + let o = Hc2(e29); + if (o instanceof j3) return o; + let s = this._getKnownXsValues(o, t); + if (s instanceof j3) return s; + let c = n == null ? L3.create(true) : n; + c.isArray() && (c = c.get(0, 0)); + let l = r == null ? L3.create(false) : r; + l.isArray() && (l = l.get(0, 0)); + let { isError: u, errorObject: d, variants: f } = X3(c, l); + if (u) return d; + let [p, m] = f; + return this._getResult(o, s, +p.getValue(), +m.getValue()); + } + _getResult(e29, t, n, r) { + return e29.length === 1 && t.length > 1 || e29[0].length === 1 && t[0].length > 1 ? e29.length === 1 && t.length > 1 && (n ? t.length + 1 : t.length) > e29[0].length || e29[0].length === 1 && t[0].length > 1 && (n ? t[0].length + 1 : t[0].length) > e29.length ? j3.create(D3.NA) : this._getResultByMultipleVariables(e29, t, n, r) : this._getResultBySimpleVariables(e29, t, n, r); + } + _getResultByMultipleVariables(e29, t, n, r) { + let i = qc2(e29, t, t, n, true); + if (i instanceof j3) return i; + let { coefficients: a, Y: o, X: s, XTXInverse: c } = i, l = []; + if (r) { + let e30 = o.flat(), t2 = e30.length, r2 = n ? e30.reduce((e31, t3) => e31 + t3, 0) / t2 : 0, i2 = c.length, u = t2 - i2, d = a[0].length, f = Array(d - 2).fill(D3.NA), p = a[0][d - 1], m = []; + for (let e31 = 0; e31 < s.length; e31++) { + let t3 = p; + for (let n2 = d - 2; n2 >= 0; n2--) t3 *= a[0][d - 2 - n2] ** s[e31][n2]; + m.push(Math.log(t3)); + } + let h = 0, g2 = 0; + for (let i3 = 0; i3 < t2; i3++) h += (e30[i3] - r2) ** 2, !(!n && !Number.isFinite(m[i3])) && (g2 += (e30[i3] - m[i3]) ** 2); + Number.isFinite(g2) || (g2 = 0); + let _2 = h - g2, v = h === 0 ? 0 : _2 / h, y = []; + for (let e31 = i2 - 1; e31 >= 0; e31--) { + let t3 = u > 0 ? Math.sqrt(g2 / u * c[e31][e31]) : 0; + y.push(t3); + } + if (n) { + let e31 = y.shift(); + y.push(e31); + } else y.push(D3.NA); + let b = u > 0 ? Math.sqrt(g2 / u) : 0, x2 = u > 0 ? _2 / (d - 1) / (g2 / u) : D3.NUM; + l = [a[0], [...y], [v, b, ...f], [x2, u, ...f], [_2, g2, ...f]]; + } else l = [a[0]]; + return B3.createByArray(l); + } + _getResultBySimpleVariables(e29, t, n, r) { + let i = e29.flat(), a = t.flat(), { slope: o, intercept: s, Y: c } = Wc2(a, i, n, true); + if (Number.isNaN(o)) return j3.create(D3.NA); + let l = []; + if (r) { + let e30 = c.length, t2 = 0, r2 = 0, i2 = e30 - 1; + if (n) { + let n2 = 0, o2 = 0; + for (let t3 = 0; t3 < e30; t3++) n2 += c[t3], o2 += a[t3]; + t2 = n2 / e30, r2 = o2 / e30, i2 = e30 - 2; + } + let u = 0, d = 0, f = 0; + for (let n2 = 0; n2 < e30; n2++) u += (c[n2] - t2) ** 2, d += (c[n2] - Math.log(s * o ** a[n2])) ** 2, f += (a[n2] - r2) ** 2; + let p = u - d, m = u === 0 ? 0 : p / u, h = 0, g2 = 0, _2 = 0, v = 0; + i2 > 0 && (f > 0 && (h = Math.sqrt(d / i2 / f), g2 = Math.sqrt(d / i2 * (1 / e30 + r2 ** 2 / f))), _2 = Math.sqrt(d / i2), v = p / 1 / (d / i2)), n || (g2 = D3.NA), l = [[o, s], [h, g2], [m, _2], [v, i2], [p, d]]; + } else l = [[o, s]]; + return B3.createByArray(l); + } + _getKnownXsValues(e29, t) { + return !t || t.isNull() ? Uc2(e29.length, e29[0].length) : Hc2(t); + } + }; + var __ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 4), E3(this, `maxParams`, 4); + } + calculate(e29, t, n, r) { + let i = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1), a = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1), o = V3(i, a, e29, j3.create(D3.NA)), s = V3(i, a, t, j3.create(D3.NA)), c = V3(i, a, n, j3.create(D3.NA)), l = V3(i, a, r, j3.create(D3.NA)), u = o.mapValue((e30, t2, n2) => { + let r2 = s.get(t2, n2), i2 = c.get(t2, n2), a2 = l.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : a2.isError() ? a2 : this._handleSingleObject(e30, r2, i2, a2); + }); + return i === 1 && a === 1 ? u.get(0, 0) : u; + } + _handleSingleObject(e29, t, n, r) { + let { isError: i, errorObject: a, variants: o } = X3(e29, t, n, r); + if (i) return a; + let [s, c, l, u] = o, d = +s.getValue(), f = +c.getValue(), p = +l.getValue(), m = +u.getValue(); + if (d <= 0 || p <= 0) return j3.create(D3.NUM); + let h; + return h = m ? Dc2(d, f, p) : Oc2(d, f, p), R4.create(h); + } + }; + var v_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = this._getRangeValues(e29); + if (n instanceof j3) return n; + let r = vs2(t); + if (r.isError()) return r; + let { isError: i, errorObject: a, variants: o } = X3(r); + if (i) return a; + let [s] = o, c = +s.getValue(); + if (c <= 0 || c >= 1) return j3.create(D3.NUM); + if (n.length < 2) return j3.create(D3.DIV_BY_ZERO); + let l = 1 - c, u = n.length, d = n.reduce((e30, t2) => e30 + t2, 0) / u, f = n.reduce((e30, t2) => e30 + (t2 - d) ** 2, 0) / (u - 1), p = Math.sqrt(f); + if (p <= 0) return j3.create(D3.NUM); + let m = Math.abs(zc2(l / 2, u - 1) * p / Math.sqrt(u)); + return R4.create(m); + } + _getRangeValues(e29) { + let t = [], n = e29.isArray() ? e29.getRowCount() : 1, r = e29.isArray() ? e29.getColumnCount() : 1; + for (let i = 0; i < n; i++) for (let n2 = 0; n2 < r; n2++) { + let r2 = e29.isArray() ? e29.get(i, n2) : e29; + if (r2.isError()) return r2; + r2.isNull() || r2.isBoolean() || r2.isString() || t.push(+r2.getValue()); + } + return t; + } + }; + var y_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = R4.create(-1 / 0); + for (let n = 0; n < e29.length; n++) { + let r = e29[n]; + if (!r.isNull()) { + if ((r.isString() || r.isBoolean()) && (r = r.convertToNumberObjectValue()), r.isArray() && (r = r.max()), r.isError()) return r; + t = this._validator(t, r); + } + } + return t.getValue() === -1 / 0 ? R4.create(0) : t; + } + _validator(e29, t) { + let n = e29.isLessThan(t), r = e29; + return n.getValue() && (r = t), r; + } + }; + var b_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = R4.create(-1 / 0); + for (let n = 0; n < e29.length; n++) { + let r = e29[n]; + if (!r.isNull()) { + if ((r.isString() || r.isBoolean()) && (r = r.convertToNumberObjectValue()), r.isError()) return r; + if (r.isArray() && r.iterator((e30) => { + let n2 = e30; + if ((n2 == null || n2.isNull() || n2.isString()) && (n2 = R4.create(0)), n2.isBoolean() && (n2 = n2.convertToNumberObjectValue()), n2.isError()) return t = n2, false; + t = this._validator(t, n2); + }), t.isError()) return t; + t = this._validator(t, r); + } + } + return t.getValue() === -1 / 0 ? R4.create(0) : t; + } + _validator(e29, t) { + let n = e29.isLessThan(t), r = e29; + return n.getValue() && (r = t), r; + } + }; + var x_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 255), E3(this, `needsReferenceObject`, true); + } + calculate(e29, ...t) { + let { isError: n, errorObject: r, rangeIsDifferentSize: i, criteriaMaxRowLength: a, criteriaMaxColumnLength: o, targetRange: s, variants: c } = Pa(t, e29); + if (n) return r; + if (i) return a === 1 && o === 1 ? j3.create(D3.VALUE) : V3(a, o, j3.create(D3.VALUE)); + let l = Ia2(c, { formulaName: `MAXIFS`, maxRowLength: a, maxColumnLength: o, isNumberSensitive: true, targetRange: s }); + return l.length === 1 && l[0].length === 1 ? l[0][0] : B3.create({ calculateValueList: l, rowCount: l.length, columnCount: l[0].length, unitId: this.unitId || ``, sheetId: this.subUnitId || ``, row: this.row, column: this.column }); + } + }; + var S_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = []; + for (let n = 0; n < e29.length; n++) { + let r = e29[n]; + if (r.isArray()) { + let e30 = false, n2 = j3.create(D3.VALUE); + if (r.iterator((r2) => { + if (r2 != null && r2.isError()) return e30 = true, n2 = r2, false; + if (r2 != null && r2.isNull() || r2 != null && r2.isBoolean()) return true; + let i = r2.getValue(); + if (!Ja(i)) return true; + t.push(+i); + }), e30) return n2; + } else { + if (r.isError()) return r; + if (r.isNull() || r.isBoolean()) continue; + if (r.isString()) { + let e31 = r.convertToNumberObjectValue(); + if (e31.isError()) return e31; + } + let e30 = r.getValue(); + if (!Ja(e30)) continue; + t.push(+e30); + } + } + return t.length === 0 ? j3.create(D3.NUM) : el2(t); + } + }; + var C_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = R4.create(1 / 0); + for (let n = 0; n < e29.length; n++) { + let r = e29[n]; + if (!r.isNull()) { + if ((r.isString() || r.isBoolean()) && (r = r.convertToNumberObjectValue()), r.isArray() && (r = r.min()), r.isError()) return r; + t = this._validator(t, r); + } + } + return t.getValue() === 1 / 0 ? R4.create(0) : t; + } + _validator(e29, t) { + let n = e29.isGreaterThan(t), r = e29; + return n.getValue() && (r = t), r; + } + }; + var w_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = R4.create(1 / 0); + for (let n = 0; n < e29.length; n++) { + let r = e29[n]; + if (!r.isNull()) { + if ((r.isString() || r.isBoolean()) && (r = r.convertToNumberObjectValue()), r.isError()) return r; + if (r.isArray() && r.iterator((e30) => { + let n2 = e30; + if ((n2 == null || n2.isNull() || n2.isString()) && (n2 = R4.create(0)), n2.isBoolean() && (n2 = n2.convertToNumberObjectValue()), n2.isError()) return t = n2, false; + t = this._validator(t, n2); + }), t.isError()) return t; + t = this._validator(t, r); + } + } + return t.getValue() === 1 / 0 ? R4.create(0) : t; + } + _validator(e29, t) { + let n = e29.isGreaterThan(t), r = e29; + return n.getValue() && (r = t), r; + } + }; + var T_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 255), E3(this, `needsReferenceObject`, true); + } + calculate(e29, ...t) { + let { isError: n, errorObject: r, rangeIsDifferentSize: i, criteriaMaxRowLength: a, criteriaMaxColumnLength: o, targetRange: s, variants: c } = Pa(t, e29); + if (n) return r; + if (i) return a === 1 && o === 1 ? j3.create(D3.VALUE) : V3(a, o, j3.create(D3.VALUE)); + let l = Ia2(c, { formulaName: `MINIFS`, maxRowLength: a, maxColumnLength: o, isNumberSensitive: true, targetRange: s }); + return l.length === 1 && l[0].length === 1 ? l[0][0] : B3.create({ calculateValueList: l, rowCount: l.length, columnCount: l[0].length, unitId: this.unitId || ``, sheetId: this.subUnitId || ``, row: this.row, column: this.column }); + } + }; + var E_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = {}, n = 0, r = 1; + for (let i = 0; i < e29.length; i++) { + let a = e29[i]; + if (a.isError()) return a; + if (a.isString()) { + let e30 = a.convertToNumberObjectValue(); + if (e30.isError()) return e30; + } + let o = a.isArray() ? a.getRowCount() : 1, s = a.isArray() ? a.getColumnCount() : 1; + for (let e30 = 0; e30 < o; e30++) for (let i2 = 0; i2 < s; i2++) { + let o2 = a.isArray() ? a.get(e30, i2) : a; + if (o2.isError()) return o2; + if (o2.isNull() || o2.isBoolean() || o2.isString()) continue; + let s2 = o2.getValue(); + Ja(s2) && (t[+s2] ? (t[+s2].count++, t[+s2].count > r && (r = t[+s2].count)) : t[+s2] = { count: 1, order: n++ }); + } + } + return n === 0 || r === 1 ? new j3(D3.NA) : this._getResult(t, r); + } + _getResult(e29, t) { + let n = Object.entries(e29).filter(([e30, { count: n2 }]) => n2 === t).sort((e30, t2) => e30[1].order - t2[1].order).map(([e30]) => +e30); + return n.length === 1 ? R4.create(n[0]) : B3.createByArray(n.map((e30) => [e30])); + } + }; + var D_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 4), E3(this, `maxParams`, 4); + } + calculate(e29, t, n, r) { + let i = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1), a = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1), o = V3(i, a, e29, j3.create(D3.NA)), s = V3(i, a, t, j3.create(D3.NA)), c = V3(i, a, n, j3.create(D3.NA)), l = V3(i, a, r, j3.create(D3.NA)), u = o.mapValue((e30, t2, n2) => { + let r2 = s.get(t2, n2), i2 = c.get(t2, n2), a2 = l.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : a2.isError() ? a2 : this._handleSingleObject(e30, r2, i2, a2); + }); + return i === 1 && a === 1 ? u.get(0, 0) : u; + } + _handleSingleObject(e29, t, n, r) { + let { isError: i, errorObject: a, variants: o } = X3(e29, t, n, r); + if (i) return a; + let [s, c, l, u] = o, d = Math.floor(+s.getValue()), f = Math.floor(+c.getValue()), p = +l.getValue(), m = +u.getValue(); + if (d < 0 || f < 1 || p <= 0 || p >= 1) return j3.create(D3.NUM); + let h; + return h = m ? Ac2(d, f, p) : jc2(d, f, p), R4.create(h); + } + }; + var O_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1), r = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1), i = V3(n, r, e29, j3.create(D3.NA)), a = V3(n, r, t, j3.create(D3.NA)), o = i.mapValue((e30, t2, n2) => { + let r2 = a.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : this._handleSingleObject(e30, r2); + }); + return n === 1 && r === 1 ? o.get(0, 0) : o; + } + _handleSingleObject(e29, t) { + let { isError: n, errorObject: r, variants: i } = X3(e29, t); + if (n) return r; + let [a, o] = i, s = +a.getValue(), c = +o.getValue(), l; + return l = c ? Mc2(s, 0, 1) : Nc2(s, 0, 1), R4.create(l); + } + }; + var k_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = e29.isArray() ? e29.getRowCount() : 1, r = e29.isArray() ? e29.getColumnCount() : 1, i = t.isArray() ? t.getRowCount() : 1, a = t.isArray() ? t.getColumnCount() : 1, o = e29; + if (e29.isArray() && n === 1 && r === 1 && (o = e29.get(0, 0)), o.isError()) return o; + let s = t; + if (t.isArray() && i === 1 && a === 1 && (s = t.get(0, 0)), s.isError()) return s; + if (n * r === 1 || i * a === 1) return o.isNull() || s.isNull() ? j3.create(D3.VALUE) : j3.create(D3.DIV_BY_ZERO); + if (n * r !== i * a) return j3.create(D3.NA); + let { isError: c, errorObject: l, array1Values: u, array2Values: d, noCalculate: f } = Bc2(e29, t, n * r, r, a); + return c ? l : f ? j3.create(D3.DIV_BY_ZERO) : this._getResult(u, d); + } + _getResult(e29, t) { + let n = e29.length, r = 0, i = 0; + for (let a2 = 0; a2 < n; a2++) r += e29[a2], i += t[a2]; + let a = r / n, o = i / n, s = 0, c = 0, l = 0; + for (let r2 = 0; r2 < n; r2++) s += (e29[r2] - a) * (t[r2] - o), c += (e29[r2] - a) ** 2, l += (t[r2] - o) ** 2; + if (c === 0 || l === 0) return j3.create(D3.DIV_BY_ZERO); + let u = s / Math.sqrt(c * l); + return R4.create(u); + } + }; + var A_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = $c2(e29); + if (t.isArray()) { + let e30 = t.mapValue((e31) => this._handleSingleObject(n, e31)); + return e30.getRowCount() === 1 && e30.getColumnCount() === 1 ? e30.get(0, 0) : e30; + } + return this._handleSingleObject(n, t); + } + _handleSingleObject(e29, t) { + if (!Array.isArray(e29)) return e29; + let { isError: n, errorObject: r, variants: i } = X3(t); + if (n) return r; + let [a] = i; + return il2(e29, +a.getValue()); + } + }; + var j_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = this._getValues(e29), i = n == null ? R4.create(3) : n; + i.isNull() && (i = R4.create(3)); + let a = Math.max(t.isArray() ? t.getRowCount() : 1, i.isArray() ? i.getRowCount() : 1), o = Math.max(t.isArray() ? t.getColumnCount() : 1, i.isArray() ? i.getColumnCount() : 1), s = V3(a, o, t, j3.create(D3.NA)), c = V3(a, o, i, j3.create(D3.NA)), l = s.mapValue((e30, t2, n2) => { + let i2 = c.get(t2, n2); + return e30.isError() ? e30 : i2.isError() ? i2 : this._handleSingleObject(r, e30, i2); + }); + return a === 1 && o === 1 ? l.get(0, 0) : l; + } + _handleSingleObject(e29, t, n) { + if (e29 instanceof j3) return e29; + let { isError: r, errorObject: i, variants: a } = X3(t, n); + if (r) return i; + let [o, s] = a, c = +o.getValue(), l = Math.floor(+s.getValue()), u = e29.length; + if (u === 0 || c < e29[0] || c > e29[u - 1]) return j3.create(D3.NA); + if (u === 1) return c === e29[0] ? R4.create(1) : j3.create(D3.NA); + let d = 0, f = false, p = 0; + for (; !f && p < u; ) c === e29[p] ? (d = (p + 1) / (u + 1), f = true) : c > e29[p] && p + 1 < u && c < e29[p + 1] && (d = (p + 1 + (c - e29[p]) / (e29[p + 1] - e29[p])) / (u + 1), f = true), p++; + return f ? l < 1 ? j3.create(D3.NUM) : (d = Ki2(d, l), R4.create(d)) : j3.create(D3.NA); + } + _getValues(e29) { + let t = e29.isArray() ? e29.getRowCount() : 1, n = e29.isArray() ? e29.getColumnCount() : 1, r = []; + for (let i = 0; i < t; i++) for (let t2 = 0; t2 < n; t2++) { + let n2 = e29.isArray() ? e29.get(i, t2) : e29; + if (n2.isError()) return n2; + if (n2.isNull() || n2.isBoolean()) continue; + let a = n2.getValue(); + Ja(a) && r.push(+a); + } + return r.sort((e30, t2) => e30 - t2); + } + }; + var M_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1), r = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1), i = V3(n, r, e29, j3.create(D3.NA)), a = V3(n, r, t, j3.create(D3.NA)), o = i.mapValue((e30, t2, n2) => { + let r2 = a.get(t2, n2); + if (e30.isError()) return e30; + if (r2.isError()) return r2; + let { isError: i2, errorObject: o2, variants: s } = X3(e30, r2); + if (i2) return o2; + let [c, l] = s, u = Math.floor(+c.getValue()), d = Math.floor(+l.getValue()); + if (u < 0 || u >= 2147483647 || d < 0 || u < d) return j3.create(D3.NUM); + let f = 1; + for (let e31 = u - d + 1; e31 <= u; e31++) f *= e31; + return Number.isFinite(f) ? R4.create(f) : j3.create(D3.NUM); + }); + return n === 1 && r === 1 ? o.get(0, 0) : o; + } + }; + var N_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1), r = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1), i = V3(n, r, e29, j3.create(D3.NA)), a = V3(n, r, t, j3.create(D3.NA)), o = i.mapValue((e30, t2, n2) => { + let r2 = a.get(t2, n2); + if (e30.isError()) return e30; + if (r2.isError()) return r2; + let { isError: i2, errorObject: o2, variants: s } = X3(e30, r2); + if (i2) return o2; + let [c, l] = s, u = Math.floor(+c.getValue()), d = Math.floor(+l.getValue()); + if (u < 0 || u >= 2147483647 || d < 0) return j3.create(D3.NUM); + if (u === 0) return d === 0 ? R4.create(1) : R4.create(0); + let f = u ** d; + return Number.isFinite(f) ? R4.create(f) : j3.create(D3.NUM); + }); + return n === 1 && r === 1 ? o.get(0, 0) : o; + } + }; + var P_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + if (e29.isArray()) { + let t = e29.mapValue((e30) => this._handleSingleObject(e30)); + return t.getRowCount() === 1 && t.getColumnCount() === 1 ? t.get(0, 0) : t; + } + return this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + let { isError: t, errorObject: n, variants: r } = X3(e29); + if (t) return n; + let [i] = r, a = +i.getValue(), o = Math.exp(-0.5 * a * a) / Math.sqrt(2 * Math.PI); + return R4.create(o); + } + }; + var F_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 4); + } + calculate(e29, t, n, r) { + let { isError: i, errorObject: a, xRangeValues: o, probRangeValues: s } = this._handleXRangeAndProbRange(e29, t), c = r == null ? n : r; + r != null && r.isNull() && (c = n); + let l = Math.max(n.isArray() ? n.getRowCount() : 1, c.isArray() ? c.getRowCount() : 1), u = Math.max(n.isArray() ? n.getColumnCount() : 1, c.isArray() ? c.getColumnCount() : 1), d = V3(l, u, n, j3.create(D3.NA)), f = V3(l, u, c, j3.create(D3.NA)), p = d.mapValue((n2, r2, c2) => { + let l2 = f.get(r2, c2); + return e29.isError() ? e29 : t.isError() ? t : n2.isError() ? n2 : l2.isError() ? l2 : i ? a : this._handleSingleObject(o, s, n2, l2); + }); + return l === 1 && u === 1 ? p.get(0, 0) : p; + } + _handleSingleObject(e29, t, n, r) { + let { isError: i, errorObject: a, variants: o } = X3(n, r); + if (i) return a; + let [s, c] = o, l = +s.getValue(), u = +c.getValue(); + if (t.reduce((e30, t2) => e30 + t2, 0) !== 1) return j3.create(D3.NUM); + let d = 0; + for (let n2 = 0; n2 < e29.length; n2++) e29[n2] >= l && e29[n2] <= u && (d += t[n2]); + return R4.create(d); + } + _handleXRangeAndProbRange(e29, t) { + let n = e29.isArray() ? e29.getRowCount() : 1, r = e29.isArray() ? e29.getColumnCount() : 1, i = t.isArray() ? t.getRowCount() : 1, a = t.isArray() ? t.getColumnCount() : 1, o = e29; + if (e29.isArray() && n === 1 && r === 1 && (o = e29.get(0, 0)), o.isError()) return { isError: true, errorObject: o, xRangeValues: [], probRangeValues: [] }; + let s = t; + if (t.isArray() && i === 1 && a === 1 && (s = t.get(0, 0)), s.isError()) return { isError: true, errorObject: s, xRangeValues: [], probRangeValues: [] }; + if ((n * r === 1 || i * a === 1) && (o.isNull() || s.isNull())) return { isError: true, errorObject: j3.create(D3.VALUE), xRangeValues: [], probRangeValues: [] }; + if (n * r !== i * a) return { isError: true, errorObject: j3.create(D3.NA), xRangeValues: [], probRangeValues: [] }; + let { isError: c, errorObject: l, array1Values: u, array2Values: d, noCalculate: f } = Bc2(e29, t, n * r, r, a); + return c ? { isError: true, errorObject: l, xRangeValues: [], probRangeValues: [] } : f ? { isError: true, errorObject: j3.create(D3.DIV_BY_ZERO), xRangeValues: [], probRangeValues: [] } : { isError: false, errorObject: null, xRangeValues: u, probRangeValues: d }; + } + }; + var I_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = $c2(e29); + if (t.isArray()) { + let e30 = t.mapValue((e31) => this._handleSingleObject(n, e31)); + return e30.getRowCount() === 1 && e30.getColumnCount() === 1 ? e30.get(0, 0) : e30; + } + return this._handleSingleObject(n, t); + } + _handleSingleObject(e29, t) { + if (!Array.isArray(e29)) return e29; + let { isError: n, errorObject: r, variants: i } = X3(t); + if (n) return r; + let [a] = i; + return ol(e29, Math.floor(+a.getValue())); + } + }; + var L_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 3), E3(this, `needsReferenceObject`, true); + } + calculate(e29, t, n) { + let r = e29; + r.isReferenceObject() && (r = r.toArrayValueObject()); + let { refHasError: i, refErrorObject: a, refNumbers: o } = this._checkRefReferenceObject(t), s = n == null ? R4.create(0) : n; + s.isReferenceObject() && (s = s.toArrayValueObject()); + let c = Math.max(r.isArray() ? r.getRowCount() : 1, s.isArray() ? s.getRowCount() : 1), l = Math.max(r.isArray() ? r.getColumnCount() : 1, s.isArray() ? s.getColumnCount() : 1), u = V3(c, l, r, j3.create(D3.NA)), d = V3(c, l, s, j3.create(D3.NA)), f = u.map((t2, n2, r2) => { + let s2 = d.get(n2, r2); + if (!e29.isReferenceObject() && e29.isNull()) return j3.create(D3.NA); + if (i) return a; + if (s2.isError()) return s2; + let c2 = +t2.getValue(), l2 = +s2.getValue(); + return Number.isNaN(c2) || Number.isNaN(l2) ? j3.create(D3.VALUE) : this._getResult(c2, l2, o); + }); + return c === 1 && l === 1 ? f.get(0, 0) : f; + } + _getResult(e29, t, n) { + let r = n.sort((e30, n2) => t ? e30 - n2 : n2 - e30), i = r.indexOf(e29), a = []; + for (; i >= 0; ) { + let t2 = i + 1; + a.push(t2), i = r.indexOf(e29, t2); + } + if (a.length === 0) return j3.create(D3.NA); + let o = a.reduce((e30, t2) => e30 + t2, 0) / a.length; + return R4.create(o); + } + _checkRefReferenceObject(e29) { + let t = false, n = j3.create(D3.NA), r = []; + return e29.isReferenceObject() ? (e29.toArrayValueObject().iterator((e30) => { + let i = e30; + if (i.isError()) return t = true, n = i, false; + if (i.isNull() || i.isBoolean()) return true; + let a = +i.getValue(); + if (Number.isNaN(a)) return true; + r.push(a); + }), { refHasError: t, refErrorObject: n, refNumbers: r }) : { refHasError: true, refErrorObject: n, refNumbers: r }; + } + }; + var R_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 3), E3(this, `needsReferenceObject`, true); + } + calculate(e29, t, n) { + let r = e29; + r.isReferenceObject() && (r = r.toArrayValueObject()); + let { refHasError: i, refErrorObject: a, refNumbers: o } = this._checkRefReferenceObject(t), s = n == null ? R4.create(0) : n; + s.isReferenceObject() && (s = s.toArrayValueObject()); + let c = Math.max(r.isArray() ? r.getRowCount() : 1, s.isArray() ? s.getRowCount() : 1), l = Math.max(r.isArray() ? r.getColumnCount() : 1, s.isArray() ? s.getColumnCount() : 1), u = V3(c, l, r, j3.create(D3.NA)), d = V3(c, l, s, j3.create(D3.NA)), f = u.map((t2, n2, r2) => { + let s2 = d.get(n2, r2); + if (!e29.isReferenceObject() && e29.isNull()) return j3.create(D3.NA); + if (i) return a; + if (s2.isError()) return s2; + let c2 = +t2.getValue(), l2 = +s2.getValue(); + if (Number.isNaN(c2) || Number.isNaN(l2)) return j3.create(D3.VALUE); + let u2 = o.sort((e30, t3) => l2 ? e30 - t3 : t3 - e30).indexOf(c2); + return u2 === -1 ? j3.create(D3.NA) : R4.create(u2 + 1); + }); + return c === 1 && l === 1 ? f.get(0, 0) : f; + } + _checkRefReferenceObject(e29) { + let t = false, n = j3.create(D3.NA), r = []; + return e29.isReferenceObject() ? (e29.toArrayValueObject().iterator((e30) => { + let i = e30; + if (i.isError()) return t = true, n = i, false; + if (i.isNull() || i.isBoolean()) return true; + let a = +i.getValue(); + if (Number.isNaN(a)) return true; + r.push(a); + }), { refHasError: t, refErrorObject: n, refNumbers: r }) : { refHasError: true, refErrorObject: n, refNumbers: r }; + } + }; + var z_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = e29.isArray() ? e29.getRowCount() : 1, r = e29.isArray() ? e29.getColumnCount() : 1, i = t.isArray() ? t.getRowCount() : 1, a = t.isArray() ? t.getColumnCount() : 1, o = e29; + if (e29.isArray() && n === 1 && r === 1 && (o = e29.get(0, 0)), o.isError()) return o; + let s = t; + if (t.isArray() && i === 1 && a === 1 && (s = t.get(0, 0)), s.isError()) return s; + if ((n * r === 1 || i * a === 1) && (o.isNull() || s.isNull())) return j3.create(D3.VALUE); + if (n * r !== i * a) return j3.create(D3.NA); + let { isError: c, errorObject: l, array1Values: u, array2Values: d, noCalculate: f } = Bc2(e29, t, n * r, r, a); + return c ? l : f ? j3.create(D3.DIV_BY_ZERO) : this._getResult(u, d); + } + _getResult(e29, t) { + if (e29.length === 0) return j3.create(D3.DIV_BY_ZERO); + let n = e29.length, r = 0, i = 0; + for (let a2 = 0; a2 < n; a2++) r += e29[a2], i += t[a2]; + let a = r / n, o = i / n, s = 0, c = 0, l = 0; + for (let r2 = 0; r2 < n; r2++) s += (e29[r2] - a) * (t[r2] - o), c += (e29[r2] - a) ** 2, l += (t[r2] - o) ** 2; + if (c === 0 || l === 0) return j3.create(D3.DIV_BY_ZERO); + let u = (s / Math.sqrt(c * l)) ** 2; + return R4.create(u); + } + }; + var B_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = [], n = 0; + for (let r = 0; r < e29.length; r++) { + let i = e29[r]; + if (i.isError()) return i; + if (i.isString()) { + let e30 = i.convertToNumberObjectValue(); + if (e30.isError()) return e30; + } + let a = i.isArray() ? i.getRowCount() : 1, o = i.isArray() ? i.getColumnCount() : 1; + for (let e30 = 0; e30 < a; e30++) for (let r2 = 0; r2 < o; r2++) { + let a2 = i.isArray() ? i.get(e30, r2) : i; + if (a2.isError()) return a2; + if (a2.isNull() || a2.isBoolean()) continue; + let o2 = a2.getValue(); + Ja(o2) && (t.push(+o2), n += +o2); + } + } + return t.length <= 2 ? j3.create(D3.DIV_BY_ZERO) : this._getResult(t, n); + } + _getResult(e29, t) { + let n = e29.length, r = t / n, i = 0; + for (let t2 = 0; t2 < n; t2++) i += (e29[t2] - r) ** 2; + let a = Math.sqrt(i / (n - 1)); + if (a === 0) return j3.create(D3.DIV_BY_ZERO); + let o = 0; + for (let t2 = 0; t2 < n; t2++) o += ((e29[t2] - r) / a) ** 3; + let s = n / ((n - 1) * (n - 2)) * o; + return R4.create(s); + } + }; + var V_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = [], n = 0; + for (let r = 0; r < e29.length; r++) { + let i = e29[r]; + if (i.isError()) return i; + if (i.isString()) { + let e30 = i.convertToNumberObjectValue(); + if (e30.isError()) return e30; + } + let a = i.isArray() ? i.getRowCount() : 1, o = i.isArray() ? i.getColumnCount() : 1; + for (let e30 = 0; e30 < a; e30++) for (let r2 = 0; r2 < o; r2++) { + let a2 = i.isArray() ? i.get(e30, r2) : i; + if (a2.isError()) return a2; + if (a2.isNull() || a2.isBoolean()) continue; + let o2 = a2.getValue(); + Ja(o2) && (t.push(+o2), n += +o2); + } + } + return t.length <= 2 ? j3.create(D3.DIV_BY_ZERO) : this._getResult(t, n); + } + _getResult(e29, t) { + let n = e29.length, r = t / n, i = 0; + for (let t2 = 0; t2 < n; t2++) i += (e29[t2] - r) ** 2; + let a = Math.sqrt(i / n); + if (a === 0) return j3.create(D3.DIV_BY_ZERO); + let o = 0; + for (let t2 = 0; t2 < n; t2++) o += ((e29[t2] - r) / a) ** 3; + let s = o / n; + return R4.create(s); + } + }; + var H_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = e29.isArray() ? e29.getRowCount() : 1, r = e29.isArray() ? e29.getColumnCount() : 1, i = t.isArray() ? t.getRowCount() : 1, a = t.isArray() ? t.getColumnCount() : 1, o = e29; + if (e29.isArray() && n === 1 && r === 1 && (o = e29.get(0, 0)), o.isError()) return o; + let s = t; + if (t.isArray() && i === 1 && a === 1 && (s = t.get(0, 0)), s.isError()) return s; + if (n * r === 1 || i * a === 1) return o.isNull() || s.isNull() ? j3.create(D3.VALUE) : j3.create(D3.DIV_BY_ZERO); + if (n * r !== i * a) return j3.create(D3.NA); + let { isError: c, errorObject: l, array1Values: u, array2Values: d, noCalculate: f } = Bc2(e29, t, n * r, r, a); + return c ? l : f ? j3.create(D3.DIV_BY_ZERO) : this._getResult(u, d); + } + _getResult(e29, t) { + let n = e29.length, r = 0, i = 0; + for (let a2 = 0; a2 < n; a2++) r += e29[a2], i += t[a2]; + let a = r / n, o = i / n, s = 0, c = 0; + for (let r2 = 0; r2 < n; r2++) s += (e29[r2] - a) * (t[r2] - o), c += (t[r2] - o) ** 2; + if (c === 0) return j3.create(D3.DIV_BY_ZERO); + let l = s / c; + return R4.create(l); + } + }; + var U_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = $c2(e29); + if (t.isArray()) { + let e30 = t.mapValue((e31) => this._handleSingleObject(n, e31)); + return e30.getRowCount() === 1 && e30.getColumnCount() === 1 ? e30.get(0, 0) : e30; + } + return this._handleSingleObject(n, t); + } + _handleSingleObject(e29, t) { + if (!Array.isArray(e29)) return e29; + let { isError: n, errorObject: r, variants: i } = X3(t); + if (n) return r; + let [a] = i; + return nl2(e29, +a.getValue()); + } + }; + var W_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, j3.create(D3.NA)), o = V3(r, i, t, j3.create(D3.NA)), s = V3(r, i, n, j3.create(D3.NA)), c = a.mapValue((e30, t2, n2) => { + let r2 = o.get(t2, n2), i2 = s.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : this._handleSingleObject(e30, r2, i2); + }); + return r === 1 && i === 1 ? c.get(0, 0) : c; + } + _handleSingleObject(e29, t, n) { + let { isError: r, errorObject: i, variants: a } = X3(e29, t, n); + if (r) return i; + let [o, s, c] = a, l = +o.getValue(), u = +s.getValue(), d = +c.getValue(); + if (d <= 0) return j3.create(D3.NUM); + let f = (l - u) / d; + return R4.create(f); + } + }; + var G_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = this.flattenArray(e29, false); + return t.isError() ? t : t.std(1); + } + }; + var K_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = this.flattenArray(e29, false); + return t.isError() ? t : t.std(); + } + }; + var q_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = e29.isArray() ? e29.getRowCount() : 1, r = e29.isArray() ? e29.getColumnCount() : 1, i = t.isArray() ? t.getRowCount() : 1, a = t.isArray() ? t.getColumnCount() : 1, o = e29; + if (e29.isArray() && n === 1 && r === 1 && (o = e29.get(0, 0)), o.isError()) return o; + let s = t; + if (t.isArray() && i === 1 && a === 1 && (s = t.get(0, 0)), s.isError()) return s; + if ((n * r === 1 || i * a === 1) && (o.isNull() || s.isNull())) return j3.create(D3.VALUE); + if (n * r !== i * a) return j3.create(D3.NA); + let { isError: c, errorObject: l, array1Values: u, array2Values: d, noCalculate: f } = Bc2(e29, t, n * r, r, a); + return c ? l : f ? j3.create(D3.DIV_BY_ZERO) : this._getResult(u, d); + } + _getResult(e29, t) { + let n = e29.length; + if (n <= 2) return j3.create(D3.DIV_BY_ZERO); + let r = 0, i = 0; + for (let a2 = 0; a2 < n; a2++) r += e29[a2], i += t[a2]; + let a = r / n, o = i / n, s = 0, c = 0, l = 0; + for (let r2 = 0; r2 < n; r2++) s += (e29[r2] - a) * (t[r2] - o), c += (e29[r2] - a) ** 2, l += (t[r2] - o) ** 2; + if (l === 0) return j3.create(D3.DIV_BY_ZERO); + let u = Math.sqrt((c - s ** 2 / l) / (n - 2)); + return Number.isNaN(u) || !Number.isFinite(u) ? j3.create(D3.NUM) : R4.create(u); + } + }; + var J_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, j3.create(D3.NA)), o = V3(r, i, t, j3.create(D3.NA)), s = V3(r, i, n, j3.create(D3.NA)), c = a.mapValue((e30, t2, n2) => { + let r2 = o.get(t2, n2), i2 = s.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : this._handleSingleObject(e30, r2, i2); + }); + return r === 1 && i === 1 ? c.get(0, 0) : c; + } + _handleSingleObject(e29, t, n) { + let { isError: r, errorObject: i, variants: a } = X3(e29, t, n); + if (r) return i; + let [o, s, c] = a, l = +o.getValue(), u = Math.floor(+s.getValue()), d = +c.getValue(); + if (u < 1) return j3.create(D3.NUM); + let f; + return f = d ? Lc2(l, u) : Rc2(l, u), Number.isNaN(f) || !Number.isFinite(f) ? j3.create(D3.NUM) : R4.create(f); + } + }; + var Y_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1), r = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1), i = V3(n, r, e29, j3.create(D3.NA)), a = V3(n, r, t, j3.create(D3.NA)), o = i.mapValue((e30, t2, n2) => { + let r2 = a.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : this._handleSingleObject(e30, r2); + }); + return n === 1 && r === 1 ? o.get(0, 0) : o; + } + _handleSingleObject(e29, t) { + let { isError: n, errorObject: r, variants: i } = X3(e29, t); + if (n) return r; + let [a, o] = i, s = +a.getValue(), c = Math.floor(+o.getValue()); + if (s < 0 || c < 1 || c > 10 ** 10) return j3.create(D3.NUM); + let l = Lc2(-s, c) * 2; + return Number.isNaN(l) || !Number.isFinite(l) ? j3.create(D3.NUM) : R4.create(l); + } + }; + var X_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1), r = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1), i = V3(n, r, e29, j3.create(D3.NA)), a = V3(n, r, t, j3.create(D3.NA)), o = i.mapValue((e30, t2, n2) => { + let r2 = a.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : this._handleSingleObject(e30, r2); + }); + return n === 1 && r === 1 ? o.get(0, 0) : o; + } + _handleSingleObject(e29, t) { + let { isError: n, errorObject: r, variants: i } = X3(e29, t); + if (n) return r; + let [a, o] = i, s = +a.getValue(), c = Math.floor(+o.getValue()); + if (c < 1 || c > 10 ** 10) return j3.create(D3.NUM); + let l = Lc2(-s, c); + return Number.isNaN(l) || !Number.isFinite(l) ? j3.create(D3.NUM) : R4.create(l); + } + }; + var Z_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1), r = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1), i = V3(n, r, e29, j3.create(D3.NA)), a = V3(n, r, t, j3.create(D3.NA)), o = i.mapValue((e30, t2, n2) => { + let r2 = a.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : this._handleSingleObject(e30, r2); + }); + return n === 1 && r === 1 ? o.get(0, 0) : o; + } + _handleSingleObject(e29, t) { + let { isError: n, errorObject: r, variants: i } = X3(e29, t); + if (n) return r; + let [a, o] = i, s = +a.getValue(), c = Math.floor(+o.getValue()); + if (s <= 0 || s > 1 || c < 1 || c > 10 ** 10) return j3.create(D3.NUM); + let l = zc2(s, c); + return Number.isNaN(l) || !Number.isFinite(l) ? j3.create(D3.NUM) : R4.create(l); + } + }; + var Q_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 4); + } + calculate(e29, t, n, r) { + let { isError: i, errorObject: a } = Vc2(e29, t, n); + if (i) return a; + let o = Hc2(e29); + if (o instanceof j3) return o; + let s = this._getKnownXsValues(o, t); + if (s instanceof j3) return s; + let c = this._getNewXsValues(s, n); + if (c instanceof j3) return c; + let l = r == null ? L3.create(true) : r; + if (l.isArray() && (l = l.get(0, 0)), l.isString() && (l = l.convertToNumberObjectValue()), l.isError()) return l; + let u = +l.getValue(); + return this._getResult(o, s, c, u); + } + _getResult(e29, t, n, r) { + return e29.length === 1 && t.length > 1 || e29[0].length === 1 && t[0].length > 1 ? e29.length === 1 && t.length > 1 && (r ? t.length + 1 : t.length) > e29[0].length || e29[0].length === 1 && t[0].length > 1 && (r ? t[0].length + 1 : t[0].length) > e29.length ? j3.create(D3.NA) : this._getResultByMultipleVariables(e29, t, n, r) : this._getResultBySimpleVariables(e29, t, n, r); + } + _getResultByMultipleVariables(e29, t, n, r) { + let i = e29.length === 1 && e29[0].length > 1, a = qc2(e29, t, n, r, false); + if (a instanceof j3) return a; + let { coefficients: o, newX: s } = a, c = o[0].length, l = o[0][c - 1], u = []; + for (let e30 = 0; e30 < s.length; e30++) { + u[e30] = []; + let t2 = l; + for (let n2 = c - 2; n2 >= 0; n2--) t2 += o[0][c - 2 - n2] * s[e30][n2]; + u[e30].push(t2); + } + return i && (u = Vs(u)), B3.createByArray(u); + } + _getResultBySimpleVariables(e29, t, n, r) { + let i = e29.flat(), { slope: a, intercept: o } = Wc2(t.flat(), i, r, false); + if (Number.isNaN(a)) return j3.create(D3.NA); + let s = n.map((e30) => e30.map((e31) => a * e31 + o)); + return B3.createByArray(s); + } + _getKnownXsValues(e29, t) { + return !t || t.isNull() ? Uc2(e29.length, e29[0].length) : Hc2(t); + } + _getNewXsValues(e29, t) { + return !t || t.isNull() ? e29 : Hc2(t); + } + }; + var $_ = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = this._getValues(e29); + if (t.isArray()) { + let e30 = t.mapValue((e31) => this._handleSingleObject(n, e31)); + return e30.getRowCount() === 1 && e30.getColumnCount() === 1 ? e30.get(0, 0) : e30; + } + return this._handleSingleObject(n, t); + } + _handleSingleObject(e29, t) { + if (e29 instanceof j3) return e29; + let { isError: n, errorObject: r, variants: i } = X3(t); + if (n) return r; + let [a] = i, o = +a.getValue(); + if (o < 0 || o >= 1) return j3.create(D3.NUM); + let s = Ki2(e29.length * o / 2, 0) * 2, c = e29.slice(s / 2, e29.length - s / 2), l = c.reduce((e30, t2) => e30 + t2, 0) / c.length; + return R4.create(l); + } + _getValues(e29) { + let t = e29.isArray() ? e29.getRowCount() : 1, n = e29.isArray() ? e29.getColumnCount() : 1, r = []; + for (let i = 0; i < t; i++) for (let t2 = 0; t2 < n; t2++) { + let n2 = e29.isArray() ? e29.get(i, t2) : e29; + if (n2.isError()) return n2; + if (n2.isNull() || n2.isBoolean()) continue; + let a = n2.getValue(); + Ja(a) && r.push(+a); + } + return r.length === 0 ? j3.create(D3.NUM) : r.sort((e30, t2) => e30 - t2); + } + }; + var ev = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = this.flattenArray(e29, false); + return t.isError() ? t : t.var(1); + } + }; + var tv = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = this.flattenArray(e29, false); + return t.isError() ? t : t.var(); + } + }; + var nv = [[Ng, q3.AVEDEV], [Fg, q3.AVERAGE], [Ig, q3.AVERAGE_WEIGHTED], [Lg, q3.AVERAGEA], [Rg, q3.AVERAGEIF], [zg, q3.AVERAGEIFS], [Bg, q3.BETA_DIST], [sl, q3.BETA_INV], [cl, q3.BINOM_DIST], [Vg, q3.BINOM_DIST_RANGE], [ll2, q3.BINOM_INV], [Hg, q3.CHISQ_DIST], [ul2, q3.CHISQ_DIST_RT], [Ug, q3.CHISQ_INV], [dl2, q3.CHISQ_INV_RT], [fl2, q3.CHISQ_TEST], [pl2, q3.CONFIDENCE_NORM], [Wg, q3.CONFIDENCE_T], [Gg, q3.CORREL], [Kg, q3.COUNT], [qg, q3.COUNTA], [Jg, q3.COUNTBLANK], [Yg, q3.COUNTIF], [Xg, q3.COUNTIFS], [ml2, q3.COVARIANCE_P], [Zg, q3.COVARIANCE_S], [Qg, q3.DEVSQ], [hl2, q3.EXPON_DIST], [$g, q3.F_DIST], [gl2, q3.F_DIST_RT], [e_, q3.F_INV], [_l, q3.F_INV_RT], [vl2, q3.F_TEST], [t_, q3.FISHER], [n_, q3.FISHERINV], [r_, q3.FORECAST], [r_, q3.FORECAST_LINEAR], [i_, q3.FREQUENCY], [a_, q3.GAMMA], [yl2, q3.GAMMA_DIST], [bl2, q3.GAMMA_INV], [o_, q3.GAMMALN], [o_, q3.GAMMALN_PRECISE], [s_, q3.GAUSS], [c_, q3.GEOMEAN], [l_, q3.GROWTH], [u_, q3.HARMEAN], [d_, q3.HYPGEOM_DIST], [f_, q3.INTERCEPT], [p_, q3.KURT], [m_, q3.LARGE], [h_, q3.LINEST], [g_, q3.LOGEST], [__, q3.LOGNORM_DIST], [xl2, q3.LOGNORM_INV], [v_, q3.MARGINOFERROR], [y_, q3.MAX], [b_, q3.MAXA], [x_, q3.MAXIFS], [S_, q3.MEDIAN], [C_, q3.MIN], [w_, q3.MINA], [T_, q3.MINIFS], [E_, q3.MODE_MULT], [Sl, q3.MODE_SNGL], [D_, q3.NEGBINOM_DIST], [Cl2, q3.NORM_DIST], [wl, q3.NORM_INV], [O_, q3.NORM_S_DIST], [Tl2, q3.NORM_S_INV], [k_, q3.PEARSON], [A_, q3.PERCENTILE_EXC], [El, q3.PERCENTILE_INC], [j_, q3.PERCENTRANK_EXC], [Dl, q3.PERCENTRANK_INC], [M_, q3.PERMUT], [N_, q3.PERMUTATIONA], [P_, q3.PHI], [Ol, q3.POISSON_DIST], [F_, q3.PROB], [I_, q3.QUARTILE_EXC], [kl, q3.QUARTILE_INC], [L_, q3.RANK_AVG], [R_, q3.RANK_EQ], [z_, q3.RSQ], [B_, q3.SKEW], [V_, q3.SKEW_P], [H_, q3.SLOPE], [U_, q3.SMALL], [W_, q3.STANDARDIZE], [Al, q3.STDEV_P], [jl, q3.STDEV_S], [G_, q3.STDEVA], [K_, q3.STDEVPA], [q_, q3.STEYX], [J_, q3.T_DIST], [Y_, q3.T_DIST_2T], [X_, q3.T_DIST_RT], [Z_, q3.T_INV], [Ml, q3.T_INV_2T], [Nl, q3.T_TEST], [Q_, q3.TREND], [$_, q3.TRIMMEAN], [Pl2, q3.VAR_P], [Fl2, q3.VAR_S], [ev, q3.VARA], [tv, q3.VARPA], [Il2, q3.WEIBULL_DIST], [Ll2, q3.Z_TEST]]; + var rv = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = t == null ? R4.create(0) : t; + if (t != null && t.isNull() && (n = R4.create(0)), n.isArray()) { + let t2 = n.mapValue((t3) => this._handleSingleObject(e29, t3)); + return t2.getRowCount() === 1 && t2.getColumnCount() === 1 ? t2.get(0, 0) : t2; + } + return this._handleSingleObject(e29, n); + } + _handleSingleObject(e29, t) { + let n = this._checkArray(e29); + if (n.isError()) return n; + let { isError: r, errorObject: i, variants: a } = X3(t); + if (r) return i; + let [o] = a, s = +o.getValue(), c = e29.isArray() ? e29.getRowCount() : 1, l = e29.isArray() ? e29.getColumnCount() : 1, u = ``; + for (let t2 = 0; t2 < c; t2++) for (let n2 = 0; n2 < l; n2++) { + let r2 = e29.isArray() ? e29.get(t2, n2) : e29, i2 = `${r2.getValue()}`; + r2.isNull() && (i2 = ``), r2.isBoolean() && (i2 = i2.toLocaleUpperCase()), r2.isString() && s ? u += `"${i2}"` : u += i2, t2 === c - 1 && n2 === l - 1 || (s ? n2 === l - 1 ? u += `;` : u += `,` : u += `, `); + } + return s && (u = `{${u}}`), u.length > 32767 ? j3.create(D3.CALC) : z3.create(u); + } + _checkArray(e29) { + if (e29.isArray()) { + let t = e29.getRowCount(), n = e29.getColumnCount(); + return t > 1 || n > 1 ? e29 : e29.get(0, 0); + } + return e29; + } + }; + var iv = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + if (e29.isArray()) { + let t = e29.mapValue((e30) => this._handleSingleObject(e30)); + return t.getRowCount() === 1 && t.getColumnCount() === 1 ? t.get(0, 0) : t; + } + return this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + if (e29.isError() || e29.isNull() || e29.isBoolean() || e29.isNumber()) return e29; + let t = e29.getValue().toLocaleString(), n = ``; + for (let e30 = 0; e30 < t.length; e30++) { + let r = t.charCodeAt(e30); + r === 12288 ? r = 32 : r >= 65281 && r <= 65374 && (r -= 65248), n += String.fromCharCode(r); + } + return z3.create(n); + } + }; + var av = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + if (e29.isArray()) { + let t = e29.mapValue((e30) => this._handleSingleObject(e30)); + return t.getRowCount() === 1 && t.getColumnCount() === 1 ? t.get(0, 0) : t; + } + return this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + let { isError: t, errorObject: n, variants: r } = X3(e29); + if (t) return n; + let [i] = r, a = +i.getValue(), o = Math.abs(Number.parseInt(a.toString(), 10)), s = Number.parseFloat((Math.abs(a) - o).toFixed(2)), c = ``; + return c = o === 0 ? s === 0 ? `\u0E28\u0E39\u0E19\u0E22\u0E4C\u0E1A\u0E32\u0E17\u0E16\u0E49\u0E27\u0E19` : `${a < 0 ? `\u0E25\u0E1A` : ``}${this._convertNumberToThaiText(s * 100)}\u0E2A\u0E15\u0E32\u0E07\u0E04\u0E4C` : s === 0 ? `${a < 0 ? `\u0E25\u0E1A` : ``}${this._convertNumberToThaiText(o)}\u0E1A\u0E32\u0E17\u0E16\u0E49\u0E27\u0E19` : `${a < 0 ? `\u0E25\u0E1A` : ``}${this._convertNumberToThaiText(o)}\u0E1A\u0E32\u0E17${this._convertNumberToThaiText(s * 100)}\u0E2A\u0E15\u0E32\u0E07\u0E04\u0E4C`, z3.create(c); + } + _convertNumberToThaiText(e29) { + let t = [`\u0E25\u0E49\u0E32\u0E19`, `\u0E2A\u0E34\u0E1A`, `\u0E23\u0E49\u0E2D\u0E22`, `\u0E1E\u0E31\u0E19`, `\u0E2B\u0E21\u0E37\u0E48\u0E19`, `\u0E41\u0E2A\u0E19`, ``], n = [`\u0E28\u0E39\u0E19\u0E22\u0E4C`, `\u0E2B\u0E19\u0E36\u0E48\u0E07`, `\u0E2A\u0E2D\u0E07`, `\u0E2A\u0E32\u0E21`, `\u0E2A\u0E35\u0E48`, `\u0E2B\u0E49\u0E32`, `\u0E2B\u0E01`, `\u0E40\u0E08\u0E47\u0E14`, `\u0E41\u0E1B\u0E14`, `\u0E40\u0E01\u0E49\u0E32`], r = [`\u0E25\u0E1A`, `\u0E1A\u0E32\u0E17`, `\u0E16\u0E49\u0E27\u0E19`, `\u0E2A\u0E15\u0E32\u0E07\u0E04\u0E4C`, `\u0E22\u0E35\u0E48`, `\u0E40\u0E2D\u0E47\u0E14`, `,`, ` `, `\u0E3F`], i = e29.toString(), a = i.length, o = ``; + for (let e30 = a; e30 > 0; e30--) { + let s = Number.parseInt(i.charAt(a - e30), 10), c = n[s], l = e30 > 1 ? (e30 - 1) % 6 : 6; + if (l === 1 && s === 2 && (c = r[4]), s === 1) switch (l) { + case 0: + case 6: + o += e30 < a ? r[5] : c; + break; + case 1: + break; + default: + o += c; + break; + } + else if (s === 0) { + l === 0 && (o += t[l]); + continue; + } else o += c; + o += t[l]; + } + return o; + } + }; + var ov = Object.values(X).filter((e29) => [X.TABLE_START, X.TABLE_ROW_START, X.TABLE_CELL_START, X.TABLE_CELL_END, X.TABLE_ROW_END, X.TABLE_END, X.CUSTOM_BLOCK].includes(e29)); + var sv = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + if (e29.isArray()) { + let t = e29.mapValue((e30) => this._handleSingleObject(e30)); + return t.getRowCount() === 1 && t.getColumnCount() === 1 ? t.get(0, 0) : t; + } + return this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + let { isError: t, errorObject: n, variants: r } = X3(e29); + if (t) return n; + let [i] = r, a = Math.floor(+i.getValue()); + if (a <= 0) return j3.create(D3.VALUE); + let o = String.fromCharCode(a); + return ov.some((e30) => e30 === o) && (o = ``), z3.create(o); + } + }; + var cv = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + if (e29.isArray()) { + let t = e29.mapValue((e30) => this._handleSingleObject(e30)); + return t.getRowCount() === 1 && t.getColumnCount() === 1 ? t.get(0, 0) : t; + } + return this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + if (e29.isError() || e29.isBoolean() || e29.isNumber()) return e29; + if (e29.isNull()) return z3.create(``); + let t = `${e29.getValue()}`.replace(/[\0-\x1F]/g, ``); + return z3.create(t); + } + }; + var lv = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + if (e29.isArray()) { + let t = e29.mapValue((e30) => this._handleSingleObject(e30)); + return t.getRowCount() === 1 && t.getColumnCount() === 1 ? t.get(0, 0) : t; + } + return this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + if (e29.isError()) return e29; + if (e29.isNull()) return j3.create(D3.VALUE); + let t = e29.getValue().toLocaleString(); + if (e29.isBoolean() && (t = t.toLocaleUpperCase()), t === ``) return j3.create(D3.VALUE); + let n = t.charCodeAt(0); + return R4.create(n); + } + }; + var uv = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = ``, n = null; + for (let r of e29) if (r.isArray()) { + if (r.iterator((e30) => { + if (e30 == null || e30.isNull()) return true; + if (e30.isError()) return n = e30, false; + e30.isBoolean() ? t += `${e30.getValue()}`.toLocaleUpperCase() : (e30.isString() || e30.isNumber()) && (t += e30.getValue()); + }), n) return n; + } else !r.isError() && !r.isNull() && (t += r.getValue()); + return z3.create(t); + } + }; + var dv = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 255); + } + calculate(...e29) { + let t = 0, n = 0; + e29.forEach((e30) => { + if (e30.isArray()) { + let r2 = e30; + t = Math.max(t, r2.getRowCount()), n = Math.max(n, r2.getColumnCount()); + } else t = Math.max(t, 1), n = Math.max(n, 1); + }); + let r = null; + for (let i of e29) r = V3(t, n, i, j3.create(D3.NA)).mapValue((e30, t2, n2) => { + var i2, a; + let o = r && r.get(t2, n2); + if (o != null && o.isError()) return o; + if (e30.isError()) return e30; + let s = o == null ? void 0 : o.getValue(), c = e30 == null ? void 0 : e30.getValue(); + o != null && o.isBoolean() && (s = `${s}`.toLocaleUpperCase()), e30 != null && e30.isBoolean() && (c = `${c}`.toLocaleUpperCase()); + let l = o != null && o.isNull() || (i2 = s) == null ? `` : i2, u = e30 != null && e30.isNull() || (a = c) == null ? `` : a; + return z3.create(`${l}${u}`); + }); + return r || j3.create(D3.VALUE); + } + }; + var fv = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + if (e29.isArray()) { + let t = e29.mapValue((e30) => this._handleSingleObject(e30)); + return t.getRowCount() === 1 && t.getColumnCount() === 1 ? t.get(0, 0) : t; + } + return this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + if (e29.isError()) return e29; + if (e29.isNull()) return z3.create(``); + let t = `${e29.getValue()}`; + e29.isBoolean() && (t = t.toLocaleUpperCase()); + let n = ``; + for (let e30 = 0; e30 < t.length; e30++) { + let r = t.charCodeAt(e30); + r >= 33 && r <= 126 ? n += String.fromCharCode(r + 65248) : r === 32 ? n += `\u3000` : n += t.charAt(e30); + } + return z3.create(n); + } + }; + var pv = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 2), E3(this, `needsLocale`, true); + } + calculate(e29, t) { + let n = t == null ? R4.create(2) : t; + n.isNull() && (n = R4.create(2)); + let r = Math.max(e29.isArray() ? e29.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, j3.create(D3.NA)), o = V3(r, i, n, j3.create(D3.NA)), s = a.mapValue((e30, t2, n2) => { + let r2 = o.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : this._handleSingleObject(e30, r2); + }); + return r === 1 && i === 1 ? s.get(0, 0) : s; + } + _handleSingleObject(e29, t) { + let { isError: n, errorObject: r, variants: i } = X3(e29, t); + if (n) return r; + let [a, o] = i, s = +a.getValue(), c = Math.trunc(+o.getValue()); + if (c > 127) return j3.create(D3.VALUE); + c < 0 && (s = `${s}`.length < Math.abs(c) ? 0 : s < 0 ? -Gi(Math.abs(s), c) : Gi(s, c), c = 0); + let l = Fi(this.getLocale(), s, c); + return z3.create(l); + } + }; + var mv = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1), r = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1), i = V3(n, r, e29, I3.create()), a = V3(n, r, t, I3.create()), o = i.mapValue((e30, t2, n2) => { + let r2 = a.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : this._handleSingleObject(e30, r2); + }); + return n === 1 && r === 1 ? o.get(0, 0) : o; + } + _handleSingleObject(e29, t) { + if (e29.isNull() || t.isNull()) { + let n2 = e29.isNull() && t.isNull(); + return L3.create(n2); + } + let n = `${e29.getValue()}`; + e29.isBoolean() && (n = n.toLocaleUpperCase()); + let r = `${t.getValue()}`; + t.isBoolean() && (r = r.toLocaleUpperCase()); + let i = n === r; + return L3.create(i); + } + }; + var hv = (e29, t) => lib_exports.format(e29, t, { throws: false }); + var gv = (e29) => { + let t = `${e29.getValue()}`; + return e29.isNull() && (t = ``), e29.isBoolean() && (t = t.toLocaleUpperCase()), e29.isNumber() && (t = e29.getPattern() === `` ? `${aa2(+e29.getValue())}` : hv(e29.getPattern(), +e29.getValue())), t; + }; + var _v = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = n == null ? R4.create(1) : n, i = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1), a = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1), o = V3(i, a, e29, j3.create(D3.NA)), s = V3(i, a, t, j3.create(D3.NA)), c = V3(i, a, r, j3.create(D3.NA)), l = o.mapValue((e30, t2, n2) => { + let r2 = s.get(t2, n2), i2 = c.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : this._handleSingleObject(e30, r2, i2); + }); + return i === 1 && a === 1 ? l.get(0, 0) : l; + } + _handleSingleObject(e29, t, n) { + let r = gv(e29), i = gv(t), { isError: a, errorObject: o, variants: s } = X3(n); + if (a) return o; + let [c] = s, l = Math.floor(+c.getValue()); + if (t.isNull() || l <= 0 || l > i.length) return j3.create(D3.VALUE); + if (e29.isNull() || r.length === 0) return R4.create(l); + let u = i.indexOf(r, l - 1); + return u === -1 ? j3.create(D3.VALUE) : R4.create(u + 1); + } + }; + function vv(e29) { + let t = 0; + for (let n = 0; n < e29.length; n++) t += yv(e29, n); + return t; + } + function yv(e29, t, n = `ltr`) { + return Cv(e29, t, n) > 255 ? 2 : 1; + } + function bv(e29) { + return e29 >= 55296 && e29 <= 56319; + } + function xv(e29) { + return e29 >= 56320 && e29 <= 57343; + } + function Sv(e29, t) { + return ((e29 & 1023) << 10) + (t & 1023) + 65536; + } + function Cv(e29, t, n = `ltr`) { + let r = e29.charCodeAt(t); + if (n === `ltr` && bv(r) && t + 1 < e29.length) { + let n2 = e29.charCodeAt(t + 1); + if (xv(n2)) return Sv(r, n2); + } + if (n === `rtl` && xv(r) && t - 1 >= 0) { + let n2 = e29.charCodeAt(t - 1); + if (bv(n2)) return Sv(n2, r); + } + return r; + } + var wv = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = n == null ? R4.create(1) : n, i = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1), a = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1), o = V3(i, a, e29, j3.create(D3.NA)), s = V3(i, a, t, j3.create(D3.NA)), c = V3(i, a, r, j3.create(D3.NA)), l = o.mapValue((e30, t2, n2) => { + let r2 = s.get(t2, n2), i2 = c.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : this._handleSingleObject(e30, r2, i2); + }); + return i === 1 && a === 1 ? l.get(0, 0) : l; + } + _handleSingleObject(e29, t, n) { + let r = gv(e29), i = gv(t), { isError: a, errorObject: o, variants: s } = X3(n); + if (a) return o; + let [c] = s, l = Math.floor(+c.getValue()); + if (t.isNull() || l <= 0 || l > i.length) return j3.create(D3.VALUE); + if (e29.isNull() || r.length === 0) return R4.create(l); + let u = i.indexOf(r, l - 1); + if (u === -1) return j3.create(D3.VALUE); + let d = vv(i.substring(0, u)) + 1; + return R4.create(d); + } + }; + var Tv = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = t == null ? R4.create(2) : t; + r.isNull() && (r = R4.create(2)); + let i = n == null ? L3.create(false) : n; + i.isNull() && (i = L3.create(false)); + let a = Math.max(e29.isArray() ? e29.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1, i.isArray() ? i.getRowCount() : 1), o = Math.max(e29.isArray() ? e29.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1, i.isArray() ? i.getColumnCount() : 1), s = V3(a, o, e29, j3.create(D3.NA)), c = V3(a, o, r, j3.create(D3.NA)), l = V3(a, o, i, j3.create(D3.NA)), u = s.mapValue((e30, t2, n2) => { + let r2 = c.get(t2, n2), i2 = l.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : this._handleSingleObject(e30, r2, i2); + }); + return a === 1 && o === 1 ? u.get(0, 0) : u; + } + _handleSingleObject(e29, t, n) { + let { isError: r, errorObject: i, variants: a } = X3(e29, t, n); + if (r) return i; + let [o, s, c] = a, l = +o.getValue(), u = Math.trunc(+s.getValue()), d = +c.getValue(); + if (u > 127) return j3.create(D3.VALUE); + u < 0 && (l = `${l}`.length < Math.abs(u) ? 0 : l < 0 ? -Gi(Math.abs(l), u) : Gi(l, u), u = 0); + let f = d ? `###0` : `#,##0`; + u > 0 && (f += `.${`0`.repeat(u)}`); + let p = hv(f, l); + return z3.create(p); + } + }; + var Ev = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = t == null ? R4.create(1) : t, r = Math.max(e29.isArray() ? e29.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, j3.create(D3.NA)), o = V3(r, i, n, j3.create(D3.NA)), s = a.mapValue((e30, t2, n2) => { + let r2 = o.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : this._handleSingleObject(e30, r2); + }); + return r === 1 && i === 1 ? s.get(0, 0) : s; + } + _handleSingleObject(e29, t) { + let n = gv(e29), { isError: r, errorObject: i, variants: a } = X3(t); + if (r) return i; + let [o] = a, s = Math.floor(+o.getValue()); + if (s < 0) return j3.create(D3.VALUE); + if (e29.isNull() || s === 0) return z3.create(``); + if (s >= n.length) return z3.create(n); + let c = n.substring(0, s); + return z3.create(c); + } + }; + var Dv = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = t == null ? R4.create(1) : t, r = Math.max(e29.isArray() ? e29.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, I3.create()), o = V3(r, i, n, I3.create()), s = a.mapValue((e30, t2, n2) => { + let r2 = o.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : this._handleSingleObject(e30, r2); + }); + return r === 1 && i === 1 ? s.get(0, 0) : s; + } + _handleSingleObject(e29, t) { + let n = gv(e29), { isError: r, errorObject: i, variants: a } = X3(t); + if (r) return i; + let [o] = a, s = Math.floor(+o.getValue()); + if (s < 0) return j3.create(D3.VALUE); + if (e29.isNull() || s === 0) return z3.create(``); + let c = 0, l = 0, u = ``; + for (; l < s && c < n.length; ) l += yv(n, c), u += n.charAt(c), c++; + return z3.create(u); + } + }; + var Ov = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + if (e29.isArray()) { + let t = e29.mapValue((e30) => this._handleSingleText(e30)); + return t.getRowCount() === 1 && t.getColumnCount() === 1 ? t.get(0, 0) : t; + } + return this._handleSingleText(e29); + } + _handleSingleText(e29) { + if (e29.isError()) return e29; + let t = gv(e29); + return R4.create(t.length); + } + }; + var kv = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + if (e29.isArray()) { + let t = e29.mapValue((e30) => this._handleSingleText(e30)); + return t.getRowCount() === 1 && t.getColumnCount() === 1 ? t.get(0, 0) : t; + } + return this._handleSingleText(e29); + } + _handleSingleText(e29) { + if (e29.isError()) return e29; + let t = vv(gv(e29)); + return R4.create(t); + } + }; + var Av = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + if (e29.isArray()) { + let t = e29.mapValue((e30) => this._handleSingleObject(e30)); + return t.getRowCount() === 1 && t.getColumnCount() === 1 ? t.get(0, 0) : t; + } + return this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + if (e29.isError()) return e29; + if (e29.isNull()) return z3.create(``); + let t = `${e29.getValue()}`.toLocaleLowerCase(); + return z3.create(t); + } + }; + var jv = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, j3.create(D3.NA)), o = V3(r, i, t, j3.create(D3.NA)), s = V3(r, i, n, j3.create(D3.NA)), c = a.mapValue((e30, t2, n2) => { + let r2 = o.get(t2, n2), i2 = s.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : this._handleSingleObject(e30, r2, i2); + }); + return r === 1 && i === 1 ? c.get(0, 0) : c; + } + _handleSingleObject(e29, t, n) { + let r = gv(e29), { isError: i, errorObject: a, variants: o } = X3(t, n); + if (i) return a; + let [s, c] = o, l = Math.floor(+s.getValue()), u = Math.floor(+c.getValue()); + if (l <= 0 || u < 0) return j3.create(D3.VALUE); + if (e29.isNull() || l > r.length || u === 0) return z3.create(``); + let d = r.substring(l - 1, l - 1 + u); + return z3.create(d); + } + }; + var Mv = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, j3.create(D3.NA)), o = V3(r, i, t, j3.create(D3.NA)), s = V3(r, i, n, j3.create(D3.NA)), c = a.mapValue((e30, t2, n2) => { + let r2 = o.get(t2, n2), i2 = s.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : this._handleSingleObject(e30, r2, i2); + }); + return r === 1 && i === 1 ? c.get(0, 0) : c; + } + _handleSingleObject(e29, t, n) { + let r = gv(e29), { isError: i, errorObject: a, variants: o } = X3(t, n); + if (i) return a; + let [s, c] = o, l = Math.floor(+s.getValue()), u = Math.floor(+c.getValue()); + if (l <= 0 || u < 0) return j3.create(D3.VALUE); + if (e29.isNull() || l > r.length || u === 0) return z3.create(``); + r = r.substring(l - 1); + let d = 0, f = 0, p = ``; + for (; f < u && d < r.length; ) f += yv(r, d), p += r.charAt(d), d++; + return z3.create(p); + } + }; + var Nv = [`\u3007`, `\u4E00`, `\u4E8C`, `\u4E09`, `\u56DB`, `\u4E94`, `\u516D`, `\u4E03`, `\u516B`, `\u4E5D`]; + var Pv = [`\u96F6`, `\u58F9`, `\u8D30`, `\u53C1`, `\u8086`, `\u4F0D`, `\u9646`, `\u67D2`, `\u634C`, `\u7396`]; + var Fv = [``, `\u5341`, `\u767E`, `\u5343`]; + var Iv = [``, `\u62FE`, `\u4F70`, `\u4EDF`]; + var Lv = [``, `\u4E07`, `\u4EBF`, `\u5146`]; + var Rv = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1), r = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1), i = V3(n, r, e29, j3.create(D3.NA)), a = V3(n, r, t, j3.create(D3.NA)), o = i.mapValue((e30, t2, n2) => { + let r2 = a.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : this._handleSingleObject(e30, r2); + }); + return n === 1 && r === 1 ? o.get(0, 0) : o; + } + _handleSingleObject(e29, t) { + let n = e29.convertToNumberObjectValue(); + if (n.isError()) return n; + let r = t.convertToNumberObjectValue(); + if (r.isError()) return r; + let i = n.getValue(), a = Math.trunc(r.getValue()); + if (i < 0 || ![1, 2, 3].includes(a)) return j3.create(D3.NUM); + i = Math.round(i); + let o = i.toString(), s = o.length, c = ``, l = false; + for (let e30 = 0; e30 < s; e30++) { + let t2 = Number(o[e30]); + if (s === 1 && t2 === 0) { + c += a === 2 ? Pv[0] : Nv[0]; + break; + } + if (a === 3) { + c += Nv[t2]; + continue; + } + let n2 = s - e30 - 1, r2 = n2 % 4, i2 = Math.trunc(n2 / 4); + if (s >= 17 && i2 > 2) { + if (c += a === 1 ? Nv[t2] : Pv[t2], i2 > 3) continue; + } else t2 === 0 ? l = r2 !== 0 : (l && (c += a === 1 ? Nv[0] : Pv[0], l = false), c += a === 1 ? Nv[t2] + Fv[r2] : Pv[t2] + Iv[r2]); + r2 === 0 && i2 > 0 && o.slice(Math.max(0, e30 - 3), e30 + 1) !== `0000` && (c += Lv[i2]); + } + return z3.create(c); + } + }; + var zv = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 3); + } + isArgumentsIgnoreNumberPattern() { + return true; + } + calculate(e29, t, n) { + let r = t == null ? z3.create(`.`) : t, i = Math.max(e29.isArray() ? e29.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1, n != null && n.isArray() ? n.getRowCount() : 1), a = Math.max(e29.isArray() ? e29.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1, n != null && n.isArray() ? n.getColumnCount() : 1), o = V3(i, a, e29, j3.create(D3.NA)), s = V3(i, a, r, j3.create(D3.NA)), c = n ? V3(i, a, n, j3.create(D3.NA)) : void 0, l = o.mapValue((e30, t2, r2) => { + let i2 = s.get(t2, r2), a2 = n ? c.get(t2, r2) : void 0; + return e30.isError() ? e30 : i2.isError() ? i2 : a2 != null && a2.isError() ? a2 : i2.isNull() || a2 != null && a2.isNull() ? j3.create(D3.VALUE) : e30.isNull() ? R4.create(0) : this._handleSingleObject(e30, i2, a2); + }); + return i === 1 && a === 1 ? l.get(0, 0) : l; + } + _handleSingleObject(e29, t, n) { + let r = `${e29.getValue()}`; + r = r.replace(/\s+/g, ``); + let i = `${t.getValue()}`; + t.isBoolean() && (i = i.toLocaleUpperCase()), i = i.charAt(0); + let a; + if (n && (a = `${n.getValue()}`, n.isBoolean() && (a = a.toLocaleUpperCase()), a = a.charAt(0), i === a)) return j3.create(D3.VALUE); + if (r.trim() === ``) return R4.create(0); + if (!r.match(/^\s*[+-]?\s*(?:(?:\d+(?:\.\d*)?)|(?:\.\d+))(?:[eE][+-]?\d+)?[ \t]*/)) return j3.create(D3.VALUE); + let o = r.split(i); + if (o.length > 2) return j3.create(D3.VALUE); + let s = o[0].replace(/,/g, ``); + n && (s = s.split(a).join(``)); + let c = 0; + if (o.length === 1) { + i === `,` && (s = s.replace(/\./g, ``)); + let e30 = 0; + for (; s.endsWith(`%`); ) s = s.slice(0, -1), e30++; + c = e30 > 0 ? s / 100 ** e30 : +s; + } else { + if (!Ja(s)) return j3.create(D3.VALUE); + let e30 = o[1], t2 = 0; + for (; e30.endsWith(`%`); ) e30 = e30.slice(0, -1), t2++; + let n2 = `${s}.${e30}`; + if (!Ja(n2)) return j3.create(D3.VALUE); + c = t2 > 0 ? n2 / 100 ** t2 : +n2; + } + return Number.isNaN(c) ? j3.create(D3.VALUE) : R4.create(c); + } + }; + var Bv = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + if (e29.isArray()) { + let t = e29.mapValue((e30) => this._handleSingleObject(e30)); + return t.getRowCount() === 1 && t.getColumnCount() === 1 ? t.get(0, 0) : t; + } + return this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + if (e29.isError() || e29.isNull() || e29.isBoolean() || e29.isNumber()) return e29; + let t = e29.getValue().toLocaleString().toLocaleLowerCase().replace(/(^|\b|\W|\d|_)[a-z]/g, (e30) => e30.toLocaleUpperCase()); + return z3.create(t); + } + }; + var $3 = (function(e29) { + return e29[e29.ROOT = 0] = `ROOT`, e29[e29.GROUP = 1] = `GROUP`, e29[e29.POSITION = 2] = `POSITION`, e29[e29.SET = 3] = `SET`, e29[e29.RANGE = 4] = `RANGE`, e29[e29.REPETITION = 5] = `REPETITION`, e29[e29.REFERENCE = 6] = `REFERENCE`, e29[e29.CHAR = 7] = `CHAR`, e29; + })($3 || {}); + var Vv = () => [{ type: $3.RANGE, from: 48, to: 57 }]; + var Hv = () => [{ type: $3.CHAR, value: 95 }, { type: $3.RANGE, from: 97, to: 122 }, { type: $3.RANGE, from: 65, to: 90 }, { type: $3.RANGE, from: 48, to: 57 }]; + var Uv = () => [{ type: $3.CHAR, value: 9 }, { type: $3.CHAR, value: 10 }, { type: $3.CHAR, value: 11 }, { type: $3.CHAR, value: 12 }, { type: $3.CHAR, value: 13 }, { type: $3.CHAR, value: 32 }, { type: $3.CHAR, value: 160 }, { type: $3.CHAR, value: 5760 }, { type: $3.RANGE, from: 8192, to: 8202 }, { type: $3.CHAR, value: 8232 }, { type: $3.CHAR, value: 8233 }, { type: $3.CHAR, value: 8239 }, { type: $3.CHAR, value: 8287 }, { type: $3.CHAR, value: 12288 }, { type: $3.CHAR, value: 65279 }]; + var Wv = () => ({ type: $3.SET, set: Hv(), not: false }); + var Gv = () => ({ type: $3.SET, set: Hv(), not: true }); + var Kv = () => ({ type: $3.SET, set: Vv(), not: false }); + var qv = () => ({ type: $3.SET, set: Vv(), not: true }); + var Jv = () => ({ type: $3.SET, set: Uv(), not: false }); + var Yv = () => ({ type: $3.SET, set: Uv(), not: true }); + var Xv = () => ({ type: $3.SET, set: [{ type: $3.CHAR, value: 10 }, { type: $3.CHAR, value: 13 }, { type: $3.CHAR, value: 8232 }, { type: $3.CHAR, value: 8233 }], not: true }); + function Zv(e29) { + let t = { type: $3.ROOT, stack: [] }, n = t, r = t.stack, i = [], a = [], o = 0, s = (t2) => { + throw SyntaxError(`Invalid regular expression: /${e29}/: Nothing to repeat at column ${t2 - 1}`); + }, c = $v(e29), l = 0, u; + for (; l < c.length; ) switch (u = c[l++], u) { + case `\\`: + if (l === c.length) throw SyntaxError(`Invalid regular expression: /${e29}/: \\ at end of pattern`); + switch (u = c[l++], u) { + case `b`: + r.push({ type: $3.POSITION, value: `b` }); + break; + case `B`: + r.push({ type: $3.POSITION, value: `B` }); + break; + case `w`: + r.push(Wv()); + break; + case `W`: + r.push(Gv()); + break; + case `d`: + r.push(Kv()); + break; + case `D`: + r.push(qv()); + break; + case `s`: + r.push(Jv()); + break; + case `S`: + r.push(Yv()); + break; + default: + if (/\d/.test(u)) { + for (; /\d/.test(c[l]) && l < c.length; ) u += c[l++]; + let e30 = Number.parseInt(u, 10); + r.push({ type: $3.REFERENCE, value: e30 }), a.push({ reference: { type: $3.REFERENCE, value: e30 }, stack: r, index: r.length - 1 }); + } else r.push({ type: $3.CHAR, value: u.charCodeAt(0) }); + } + break; + case `^`: + r.push({ type: $3.POSITION, value: `^` }); + break; + case `$`: + r.push({ type: $3.POSITION, value: `$` }); + break; + case `[`: { + let t2 = c[l] === `^`; + t2 && l++; + let n2 = Qv(c.slice(l), e29); + l += n2[1], r.push({ type: $3.SET, set: n2[0], not: t2 }); + break; + } + case `.`: + r.push(Xv()); + break; + case `(`: { + let t2 = { type: $3.GROUP, stack: [], remember: true }; + if (c[l] === `?`) { + let n2 = c[l + 1]; + if (l += 2, n2 === `=`) t2.followedBy = true; + else if (n2 === `!`) t2.notFollowedBy = true; + else if (n2 !== `:`) throw SyntaxError(`Invalid regular expression: /${e29}/: Invalid group, character '${n2}' after '?' at column ${l - 1}`); + t2.remember = false; + } else o += 1; + r.push(t2), i.push(n), n = t2, r = t2.stack; + break; + } + case `)`: + if (i.length === 0) throw SyntaxError(`Invalid regular expression: /${e29}/: Unmatched ) at column ${l - 1}`); + n = i.pop(), r = n.options ? n.options[n.options.length - 1] : n.stack; + break; + case `|`: { + n.options || (n.options = [n.stack], delete n.stack); + let e30 = []; + n.options.push(e30), r = e30; + break; + } + case `{`: { + let e30 = /^(\d+)(,(\d+)?)?\}/.exec(c.slice(l)); + if (e30) { + r.length === 0 && s(l); + let t2 = Number.parseInt(e30[1], 10), n2 = e30[2] ? e30[3] ? Number.parseInt(e30[3], 10) : 1 / 0 : t2; + l += e30[0].length, r.push({ type: $3.REPETITION, min: t2, max: n2, value: r.pop() }); + } else r.push({ type: $3.CHAR, value: 123 }); + break; + } + case `?`: + r.length === 0 && s(l), r.push({ type: $3.REPETITION, min: 0, max: 1, value: r.pop() }); + break; + case `+`: + r.length === 0 && s(l), r.push({ type: $3.REPETITION, min: 1, max: 1 / 0, value: r.pop() }); + break; + case `*`: + r.length === 0 && s(l), r.push({ type: $3.REPETITION, min: 0, max: 1 / 0, value: r.pop() }); + break; + default: + r.push({ type: $3.CHAR, value: u.charCodeAt(0) }); + } + if (i.length > 0) throw SyntaxError(`Invalid regular expression: /${e29}/: Unterminated group`); + return ey(a, o), t; + } + function Qv(e29, t) { + let n, r = [], i = /\\(?:(w)|(d)|(s)|(W)|(D)|(S))|((?:(?:\\)(.)|([^\]\\]))-(((?:\\)])|(((?:\\)?([^\]])))))|(\])|(?:\\)?([^])/g; + for (; (n = i.exec(e29)) !== null; ) { + let e30 = null, [, t2, a, o, s, c, l, u, d, f, p] = n; + if (t2 || a || o || s || c || l ? e30 = (() => { + let e31 = { type: $3.SET, set: [], not: false }; + return t2 ? e31 = Wv() : a ? e31 = Kv() : o ? e31 = Jv() : s ? e31 = Gv() : c ? e31 = qv() : l && (e31 = Yv()), e31; + })() : u && p ? e30 = { type: $3.RANGE, from: (d || f).charCodeAt(0), to: p.charCodeAt(p.length - 1) } : n[16] && (e30 = { type: $3.CHAR, value: n[16].charCodeAt(0) }), !e30) return [r, i.lastIndex]; + r.push(e30); + } + throw SyntaxError(`Invalid regular expression: /${t}/: Unterminated character class`); + } + function $v(e29) { + return e29.replace(/(\[\\b\])|(\\)?\\(?:u([A-F0-9]{4})|x([A-F0-9]{2})|c([@A-Z[\\\]^?])|([0tnvfr]))/g, (e30, t, n, r, i, a, o) => { + if (n) return e30; + let s; + s = t ? 8 : r ? Number.parseInt(r, 16) : i ? Number.parseInt(i, 16) : a ? `@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^ ?`.indexOf(a) : { 0: 0, t: 9, n: 10, v: 11, f: 12, r: 13 }[o]; + let c = String.fromCharCode(s); + return /[[\]{}^$.|?*+()]/.test(c) ? `\\${c}` : c; + }); + } + function ey(e29, t) { + for (let n of e29.reverse()) { + let e30 = n.reference.value; + if (t < e30) { + n.reference.type = $3.CHAR; + let t2 = e30.toString(); + if (n.reference.value = Number.parseInt(t2, 8), !/^[0-7]+$/.test(t2)) { + let e31 = 0; + for (; t2[e31] !== `8` && t2[e31] !== `9` && e31 < t2.length; ) e31 += 1; + if (e31 === 0 ? (n.reference.value = t2.charCodeAt(0), e31 += 1) : n.reference.value = Number.parseInt(t2.slice(0, e31), 8), t2.length > e31) { + let r = n.stack.splice(n.index + 1); + for (let r2 of t2.slice(e31)) n.stack.push({ type: $3.CHAR, value: r2.charCodeAt(0) }); + n.stack.push(...r); + } + } + } + } + } + function ty(e29, t) { + if (!ny(e29)) return { isError: true, regExp: null }; + try { + let n = new RegExp(e29, t ? `ug` : `u`); + return ry(n) ? { isError: false, regExp: n } : { isError: true, regExp: null }; + } catch { + return { isError: true, regExp: null }; + } + } + function ny(e29) { + return !(/\(\?<=.*?\)/g.test(e29) && !/\[.*?(\?<=.*?)\]/g.test(e29) || /\(\? { + let n2 = t2; + if (e30.type === $3.REPETITION) { + if (t2 > 0 && (e30.min === 0 || e30.max === 1 / 0) || iy(e30) && (o++, o > r)) return false; + n2 = t2 + 1; + } + if (e30.options) { + for (let t3 of e30.options) if (!s({ stack: t3 }, n2)) return false; + } + let i2 = e30.stack || e30.value && e30.value.stack; + if (!i2) return true; + for (let e31 of i2) if (!s(e31, n2)) return false; + return true; + }; + return s(a, 0); + } + function iy(e29) { + let t = e29.stack || e29.value && e29.value.stack; + return t ? ay(t) : false; + } + function ay(e29) { + for (let t of e29) { + if (t.options && t.options.length > 0) return true; + let e30 = t.stack || t.value && t.value.stack; + if (e30 && ay(e30)) return true; + } + return false; + } + var oy = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let { isError: n, errorObject: r, variants: i } = ys2(e29, t); + if (n) return r; + let [a, o] = i, s = a.getValue(); + a.isNull() && (s = ``), a.isBoolean() && (s = s ? `TRUE` : `FALSE`), s = `${s}`; + let c = o.getValue(); + o.isNull() && (c = ``), o.isBoolean() && (c = c ? `TRUE` : `FALSE`), c = `${c}`; + let { isError: l, regExp: u } = ty(c, false); + if (l) return j3.create(D3.REF); + let d = s.match(u); + if (d === null) return j3.create(D3.NA); + if (d.length > 1) { + let e30 = d.slice(1).map((e31) => z3.create(e31)); + return e30.length > 1 ? B3.create({ calculateValueList: [e30], rowCount: 1, columnCount: e30.length, unitId: this.unitId, sheetId: this.subUnitId, row: this.row, column: this.column }) : e30[0]; + } + return z3.create(d[0]); + } + }; + var sy = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let { isError: n, errorObject: r, variants: i } = ys2(e29, t); + if (n) return r; + let [a, o] = i, s = a.getValue(); + a.isNull() && (s = ``), a.isBoolean() && (s = s ? `TRUE` : `FALSE`), s = `${s}`; + let c = o.getValue(); + o.isNull() && (c = ``), o.isBoolean() && (c = c ? `TRUE` : `FALSE`), c = `${c}`; + let { isError: l, regExp: u } = ty(c, false); + return l ? j3.create(D3.REF) : s.match(u) === null ? L3.create(false) : L3.create(true); + } + }; + var cy = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let { isError: r, errorObject: i, variants: a } = ys2(e29, t, n); + if (r) return i; + let [o, s, c] = a, l = o.getValue(); + o.isNull() && (l = ``), o.isBoolean() && (l = l ? `TRUE` : `FALSE`), l = `${l}`; + let u = s.getValue(); + s.isNull() && (u = ``), s.isBoolean() && (u = u ? `TRUE` : `FALSE`), u = `${u}`; + let d = c.getValue(); + c.isNull() && (d = ``), c.isBoolean() && (d = d ? `TRUE` : `FALSE`), d = `${d}`; + let { isError: f, regExp: p } = ty(u, true); + if (f) return j3.create(D3.REF); + let m = l.replace(p, d); + return z3.create(m); + } + }; + var ly = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 4), E3(this, `maxParams`, 4); + } + calculate(e29, t, n, r) { + let i = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1), a = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1), o = V3(i, a, e29, j3.create(D3.NA)), s = V3(i, a, t, j3.create(D3.NA)), c = V3(i, a, n, j3.create(D3.NA)), l = V3(i, a, r, j3.create(D3.NA)), u = o.mapValue((e30, t2, n2) => { + let r2 = s.get(t2, n2), i2 = c.get(t2, n2), a2 = l.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : a2.isError() ? a2 : this._handleSingleObject(e30, r2, i2, a2); + }); + return i === 1 && a === 1 ? u.get(0, 0) : u; + } + _handleSingleObject(e29, t, n, r) { + let { isError: i, errorObject: a, variants: o } = X3(t, n); + if (i) return a; + let [s, c] = o, l = Math.floor(+s.getValue()), u = Math.floor(+c.getValue()); + if (l <= 0 || u < 0) return j3.create(D3.VALUE); + let d = gv(e29), f = gv(r), p = d.substring(0, l - 1) + f + d.substring(l - 1 + u); + return z3.create(p); + } + }; + var uy = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 4), E3(this, `maxParams`, 4); + } + calculate(e29, t, n, r) { + let i = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1), a = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1), o = V3(i, a, e29, j3.create(D3.NA)), s = V3(i, a, t, j3.create(D3.NA)), c = V3(i, a, n, j3.create(D3.NA)), l = V3(i, a, r, j3.create(D3.NA)), u = o.mapValue((e30, t2, n2) => { + let r2 = s.get(t2, n2), i2 = c.get(t2, n2), a2 = l.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : a2.isError() ? a2 : this._handleSingleObject(e30, r2, i2, a2); + }); + return i === 1 && a === 1 ? u.get(0, 0) : u; + } + _handleSingleObject(e29, t, n, r) { + let { isError: i, errorObject: a, variants: o } = X3(t, n); + if (i) return a; + let [s, c] = o, l = Math.floor(+s.getValue()), u = Math.floor(+c.getValue()); + if (l <= 0 || u < 0) return j3.create(D3.VALUE); + let d = gv(e29), f = gv(r), p = d.substring(0, l - 1); + d = d.substring(l - 1); + let m = 0, h = 0; + for (; h < u && m < d.length; ) h += yv(d, m), m++; + return p += f + d.substring(m), z3.create(p); + } + }; + var dy = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + if (e29.isError()) return e29; + if (t.isError()) return t; + let n = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1), r = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1), i = V3(n, r, e29, j3.create(D3.NA)), a = V3(n, r, t, j3.create(D3.NA)), o = i.map((e30, t2, n2) => { + let r2 = a.get(t2, n2); + if (e30.isError()) return e30; + let i2 = e30.getValue(); + if (e30.isNull() && (i2 = ``), e30.isBoolean() && (i2 = i2 ? `TRUE` : `FALSE`), i2 += ``, r2.isString() && (r2 = r2.convertToNumberObjectValue()), r2.isError()) return r2; + let o2 = Math.floor(+r2.getValue()); + if (o2 < 0 || o2 > 32767 / i2.length) return j3.create(D3.VALUE); + let s = i2.repeat(o2); + return z3.create(s); + }); + return n === 1 && r === 1 ? o.get(0, 0) : o; + } + }; + var fy = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = t == null ? R4.create(1) : t, r = Math.max(e29.isArray() ? e29.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, j3.create(D3.NA)), o = V3(r, i, n, j3.create(D3.NA)), s = a.mapValue((e30, t2, n2) => { + let r2 = o.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : this._handleSingleObject(e30, r2); + }); + return r === 1 && i === 1 ? s.get(0, 0) : s; + } + _handleSingleObject(e29, t) { + let n = gv(e29), { isError: r, errorObject: i, variants: a } = X3(t); + if (r) return i; + let [o] = a, s = Math.floor(+o.getValue()); + if (s < 0) return j3.create(D3.VALUE); + if (e29.isNull() || s === 0) return z3.create(``); + if (s >= n.length) return z3.create(n); + let c = n.substring(n.length - s); + return z3.create(c); + } + }; + var py = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = t == null ? R4.create(1) : t, r = Math.max(e29.isArray() ? e29.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, j3.create(D3.NA)), o = V3(r, i, n, j3.create(D3.NA)), s = a.mapValue((e30, t2, n2) => { + let r2 = o.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : this._handleSingleObject(e30, r2); + }); + return r === 1 && i === 1 ? s.get(0, 0) : s; + } + _handleSingleObject(e29, t) { + let n = gv(e29), { isError: r, errorObject: i, variants: a } = X3(t); + if (r) return i; + let [o] = a, s = Math.floor(+o.getValue()); + if (s < 0) return j3.create(D3.VALUE); + if (e29.isNull() || s === 0) return z3.create(``); + let c = n.length - 1, l = 0, u = ``; + for (; l < s && c >= 0; ) l += yv(n, c, `rtl`), u = n.charAt(c) + u, c--; + return z3.create(u); + } + }; + var my = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = n == null ? R4.create(1) : n, i = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1), a = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1), o = V3(i, a, e29, j3.create(D3.NA)), s = V3(i, a, t, j3.create(D3.NA)), c = V3(i, a, r, j3.create(D3.NA)), l = o.mapValue((e30, t2, n2) => { + let r2 = s.get(t2, n2), i2 = c.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : this._handleSingleObject(e30, r2, i2); + }); + return i === 1 && a === 1 ? l.get(0, 0) : l; + } + _handleSingleObject(e29, t, n) { + let r = gv(e29).toLocaleUpperCase(), i = gv(t).toLocaleUpperCase(), { isError: a, errorObject: o, variants: s } = X3(n); + if (a) return o; + let [c] = s, l = Math.floor(+c.getValue()); + if (t.isNull() || l <= 0 || l > i.length) return j3.create(D3.VALUE); + if (e29.isNull() || r.length === 0) return R4.create(l); + let u = i.indexOf(r, l - 1); + return u === -1 ? j3.create(D3.VALUE) : R4.create(u + 1); + } + }; + var hy = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 3); + } + calculate(e29, t, n) { + let r = n == null ? R4.create(1) : n, i = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, r.isArray() ? r.getRowCount() : 1), a = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, r.isArray() ? r.getColumnCount() : 1), o = V3(i, a, e29, j3.create(D3.NA)), s = V3(i, a, t, j3.create(D3.NA)), c = V3(i, a, r, j3.create(D3.NA)), l = o.mapValue((e30, t2, n2) => { + let r2 = s.get(t2, n2), i2 = c.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : i2.isError() ? i2 : this._handleSingleObject(e30, r2, i2); + }); + return i === 1 && a === 1 ? l.get(0, 0) : l; + } + _handleSingleObject(e29, t, n) { + let r = gv(e29).toLocaleUpperCase(), i = gv(t).toLocaleUpperCase(), { isError: a, errorObject: o, variants: s } = X3(n); + if (a) return o; + let [c] = s, l = Math.floor(+c.getValue()); + if (t.isNull() || l <= 0 || l > i.length) return j3.create(D3.VALUE); + if (e29.isNull() || r.length === 0) return R4.create(l); + let u = i.indexOf(r, l - 1); + if (u === -1) return j3.create(D3.VALUE); + let d = vv(i.substring(0, u)) + 1; + return R4.create(d); + } + }; + var gy = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 4); + } + calculate(e29, t, n, r) { + let i = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1, r != null && r.isArray() ? r.getRowCount() : 1), a = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1, r != null && r.isArray() ? r.getColumnCount() : 1), o = V3(i, a, e29, j3.create(D3.NA)), s = V3(i, a, t, j3.create(D3.NA)), c = V3(i, a, n, j3.create(D3.NA)), l = r ? V3(i, a, r, j3.create(D3.NA)) : void 0, u = o.mapValue((e30, t2, n2) => { + let i2 = s.get(t2, n2), a2 = c.get(t2, n2), o2 = r ? l.get(t2, n2) : void 0; + return e30.isError() ? e30 : i2.isError() ? i2 : a2.isError() ? a2 : o2 != null && o2.isError() ? o2 : o2 != null && o2.isNull() || o2 != null && o2.isBoolean() ? j3.create(D3.VALUE) : (o2 != null && o2.isString() && (o2 = o2.convertToNumberObjectValue()), o2 != null && o2.isError() ? o2 : this._handleSingleObject(e30, i2, a2, o2)); + }); + return i === 1 && a === 1 ? u.get(0, 0) : u; + } + _handleSingleObject(e29, t, n, r) { + let i = this._getObjectString(e29), a = this._getObjectString(t), o = this._getObjectString(n), s = r ? Math.floor(+r.getValue()) : void 0; + if (r && s <= 0) return j3.create(D3.VALUE); + if (a === ``) return z3.create(i); + let c = ``, l = 0; + for (let e30 = 0; e30 < i.length; e30++) { + let t2 = i.substr(e30, a.length); + if (t2 === a || t2.length === a.length && t2.trim() === a.trim()) { + if (l++, l === s) { + c = i.substr(0, e30) + o + i.substr(e30 + a.length); + break; + } + s === void 0 && (c += o), e30 += a.length - 1; + } else s === void 0 && (c += i[e30]); + } + return s && l < s && (c = i), z3.create(c); + } + _getObjectString(e29) { + let t = `${e29.getValue()}`; + return e29.isNull() && (t = ``), e29.isBoolean() && (t = t.toLocaleUpperCase()), t; + } + }; + var _y = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1), E3(this, `needsReferenceObject`, true); + } + calculate(e29) { + let t = e29; + return e29.isReferenceObject() && (t = e29.toArrayValueObject().get(0, 0)), t.isArray() ? t.mapValue((e30) => this._handleSingleObject(e30)) : this._handleSingleObject(t); + } + _handleSingleObject(e29) { + return e29.isError() ? e29 : e29.isNull() || e29.isBoolean() || e29.isNumber() ? z3.create(``) : e29; + } + }; + var vy = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 2); + } + isArgumentsIgnoreNumberPattern() { + return true; + } + calculate(e29, t) { + if (e29.isError()) return e29; + if (t.isError()) return t; + let n = Math.max(e29.isArray() ? e29.getRowCount() : 1, t.isArray() ? t.getRowCount() : 1), r = Math.max(e29.isArray() ? e29.getColumnCount() : 1, t.isArray() ? t.getColumnCount() : 1), i = V3(n, r, e29), a = V3(n, r, t), o = i.map((e30, t2, n2) => { + if (e30.isError()) return e30; + let r2 = a.get(t2, n2) || z3.create(` `); + if (r2.isError()) return r2; + if (r2.isBoolean()) return j3.create(D3.VALUE); + if (e30.isBoolean()) return e30; + let i2 = e30.getValue(); + if (e30.isNull() && (i2 = 0), e30.isString()) if (Ja(i2)) i2 = Number(i2); + else { + let e31 = da(`${i2}`); + e31 && e31.v != null && typeof e31.v == `number` && (i2 = e31.v); + } + r2.isNull() && (r2 = z3.create(` `)); + let o2 = `${r2.getValue()}`, s = hv(o2, i2); + return z3.create(o2 === ` ` ? s.trimEnd() : s); + }); + return o.getRowCount() === 1 && o.getColumnCount() === 1 ? o.get(0, 0) : o; + } + }; + var yy = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 6); + } + calculate(e29, t, n, r, i, a) { + let o = false, s = n == null ? R4.create(1) : n; + s.isNull() && (o = true, s = R4.create(1)); + let c = !r, l = r == null ? R4.create(0) : r, u = i == null ? R4.create(0) : i, d = a == null ? j3.create(D3.NA) : a, f = Math.max(e29.isArray() ? e29.getRowCount() : 1, s.isArray() ? s.getRowCount() : 1, l.isArray() ? l.getRowCount() : 1, u.isArray() ? u.getRowCount() : 1, d.isArray() ? d.getRowCount() : 1), p = Math.max(e29.isArray() ? e29.getColumnCount() : 1, s.isArray() ? s.getColumnCount() : 1, l.isArray() ? l.getColumnCount() : 1, u.isArray() ? u.getColumnCount() : 1, d.isArray() ? d.getColumnCount() : 1), m = V3(f, p, e29, j3.create(D3.NA)), h = V3(f, p, s, j3.create(D3.NA)), g2 = V3(f, p, l, j3.create(D3.NA)), _2 = V3(f, p, u, j3.create(D3.NA)), v = V3(f, p, d, j3.create(D3.NA)), y = this._getResultArray(m, t, h, g2, _2, v, o, c); + return f === 1 && p === 1 ? y.get(0, 0) : y; + } + _getResultArray(e29, t, n, r, i, a, o, s) { + return e29.map((e30, c, l) => { + let u = n.get(c, l), d = r.get(c, l), f = i.get(c, l), p = a.get(c, l), m = this._checkVariantsError(e30, u, d, f); + if (m.isError()) return m; + let h = this._getStringValue(e30), g2 = this._getDelimiterValue(t); + if (g2 instanceof j3) return g2; + let _2 = this._getVariantsNumberFloorValue(u, d, f); + if (_2 instanceof j3) return _2; + let [v, y, b] = _2; + return v === 0 || y < 0 || y > 1 || b < 0 || b > 1 ? j3.create(D3.VALUE) : g2.includes(``) ? v > 0 ? z3.create(h) : z3.create(``) : !o && Math.abs(v) > h.length ? j3.create(D3.VALUE) : g2.every((e31) => e31.length > h.length) ? j3.create(D3.NA) : this._getResult(h, g2, v, y, b, p, s); + }); + } + _checkVariantsError(...e29) { + for (let t = 0; t < e29.length; t++) { + let n = e29[t]; + if (n.isError()) return n; + } + return L3.create(true); + } + _getStringValue(e29) { + let t = `${e29.getValue()}`; + return e29.isNull() && (t = ``), e29.isBoolean() && (t = t.toLocaleUpperCase()), t; + } + _getDelimiterValue(e29) { + let t = []; + if (e29.isArray()) { + let n = false, r = j3.create(D3.VALUE); + if (e29.iterator((e30) => { + let i = e30; + if (i.isError()) return n = true, r = i, false; + t.push(this._getStringValue(i)); + }), n) return r; + } else { + if (e29.isError()) return e29; + t.push(this._getStringValue(e29)); + } + return t; + } + _getVariantsNumberFloorValue(...e29) { + let t = []; + for (let n = 0; n < e29.length; n++) { + let r = e29[n]; + if (r.isString() && (r = r.convertToNumberObjectValue()), r.isError()) return r; + let i = Math.floor(+r.getValue()); + t.push(i); + } + return t; + } + _getResult(e29, t, n, r, i, a, o) { + let s = r ? e29.toLocaleLowerCase() : e29, c = r ? t.map((e30) => e30.toLocaleLowerCase()) : t, l = 0, u = 0, d = 0; + for (let e30 = 0; e30 < Math.abs(n); e30++) if (n < 0) { + let e31 = c.map((e32) => ({ index: s.lastIndexOf(e32), length: e32.length })).filter((e32) => e32.index !== -1).sort((e32, t2) => t2.index - e32.index)[0]; + if (!e31) break; + l = e31.index, s = s.substr(0, e31.index), d = e31.length, u++; + } else { + let e31 = c.map((e32) => ({ index: s.indexOf(e32), length: e32.length })).filter((e32) => e32.index !== -1).sort((e32, t2) => e32.index - t2.index)[0]; + if (!e31) break; + l += e31.index + d, s = s.substr(e31.index + e31.length), d = e31.length, u++; + } + if (u && u < Math.abs(n) && o) return j3.create(D3.NA); + if (!u || u < Math.abs(n)) return i ? n > 0 ? z3.create(``) : z3.create(e29) : a; + let f = e29.substr(l + d); + return z3.create(f); + } + }; + var by = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 6); + } + calculate(e29, t, n, r, i, a) { + let o = false, s = n == null ? R4.create(1) : n; + s.isNull() && (o = true, s = R4.create(1)); + let c = !r, l = r == null ? R4.create(0) : r, u = i == null ? R4.create(0) : i, d = a == null ? j3.create(D3.NA) : a, f = Math.max(e29.isArray() ? e29.getRowCount() : 1, s.isArray() ? s.getRowCount() : 1, l.isArray() ? l.getRowCount() : 1, u.isArray() ? u.getRowCount() : 1, d.isArray() ? d.getRowCount() : 1), p = Math.max(e29.isArray() ? e29.getColumnCount() : 1, s.isArray() ? s.getColumnCount() : 1, l.isArray() ? l.getColumnCount() : 1, u.isArray() ? u.getColumnCount() : 1, d.isArray() ? d.getColumnCount() : 1), m = V3(f, p, e29, j3.create(D3.NA)), h = V3(f, p, s, j3.create(D3.NA)), g2 = V3(f, p, l, j3.create(D3.NA)), _2 = V3(f, p, u, j3.create(D3.NA)), v = V3(f, p, d, j3.create(D3.NA)), y = this._getResultArray(m, t, h, g2, _2, v, o, c); + return f === 1 && p === 1 ? y.get(0, 0) : y; + } + _getResultArray(e29, t, n, r, i, a, o, s) { + return e29.map((e30, c, l) => { + let u = n.get(c, l), d = r.get(c, l), f = i.get(c, l), p = a.get(c, l), m = this._checkVariantsError(e30, u, d, f); + if (m.isError()) return m; + let h = this._getStringValue(e30), g2 = this._getDelimiterValue(t); + if (g2 instanceof j3) return g2; + let _2 = this._getVariantsNumberFloorValue(u, d, f); + if (_2 instanceof j3) return _2; + let [v, y, b] = _2; + return v === 0 || y < 0 || y > 1 || b < 0 || b > 1 ? j3.create(D3.VALUE) : g2.includes(``) ? v > 0 ? z3.create(``) : z3.create(h) : !o && Math.abs(v) > h.length ? j3.create(D3.VALUE) : g2.every((e31) => e31.length > h.length) ? j3.create(D3.NA) : this._getResult(h, g2, v, y, b, p, s); + }); + } + _checkVariantsError(...e29) { + for (let t = 0; t < e29.length; t++) { + let n = e29[t]; + if (n.isError()) return n; + } + return L3.create(true); + } + _getStringValue(e29) { + let t = `${e29.getValue()}`; + return e29.isNull() && (t = ``), e29.isBoolean() && (t = t.toLocaleUpperCase()), t; + } + _getDelimiterValue(e29) { + let t = []; + if (e29.isArray()) { + let n = false, r = j3.create(D3.VALUE); + if (e29.iterator((e30) => { + let i = e30; + if (i.isError()) return n = true, r = i, false; + t.push(this._getStringValue(i)); + }), n) return r; + } else { + if (e29.isError()) return e29; + t.push(this._getStringValue(e29)); + } + return t; + } + _getVariantsNumberFloorValue(...e29) { + let t = []; + for (let n = 0; n < e29.length; n++) { + let r = e29[n]; + if (r.isString() && (r = r.convertToNumberObjectValue()), r.isError()) return r; + let i = Math.floor(+r.getValue()); + t.push(i); + } + return t; + } + _getResult(e29, t, n, r, i, a, o) { + let s = r ? e29.toLocaleLowerCase() : e29, c = r ? t.map((e30) => e30.toLocaleLowerCase()) : t, l = 0, u = 0, d = 0; + for (let e30 = 0; e30 < Math.abs(n); e30++) if (n < 0) { + let e31 = c.map((e32) => ({ index: s.lastIndexOf(e32), length: e32.length })).filter((e32) => e32.index !== -1).sort((e32, t2) => t2.index - e32.index)[0]; + if (!e31) break; + l = e31.index, s = s.substr(0, e31.index), u++; + } else { + let e31 = c.map((e32) => ({ index: s.indexOf(e32), length: e32.length })).filter((e32) => e32.index !== -1).sort((e32, t2) => e32.index - t2.index)[0]; + if (!e31) break; + l += e31.index + d, s = s.substr(e31.index + e31.length), d = e31.length, u++; + } + if (u && u < Math.abs(n) && o) return j3.create(D3.NA); + if (!u || u < Math.abs(n)) return i ? n > 0 ? z3.create(e29) : z3.create(``) : a; + let f = e29.substr(0, l); + return z3.create(f); + } + }; + var xy = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 3), E3(this, `maxParams`, 255); + } + calculate(e29, t, ...n) { + let r = this._getDelimiterValues(e29), i = this._getTextValues(n); + if (t.isArray()) { + let e30 = t.mapValue((e31) => this._handleSingleObject(r, e31, i)); + return e30.getRowCount() === 1 && e30.getColumnCount() === 1 ? e30.get(0, 0) : e30; + } + let a = t; + if (a.isString()) { + let e30 = `${a.getValue()}`.toLocaleUpperCase(); + if (e30 === `TRUE`) return this._handleSingleObject(r, L3.create(true), i); + if (e30 === `FALSE`) return this._handleSingleObject(r, L3.create(false), i); + } + return this._handleSingleObject(r, t, i); + } + _handleSingleObject(e29, t, n) { + if (e29 instanceof j3) return e29; + let { isError: r, errorObject: i, variants: a } = X3(t); + if (r) return i; + if (n instanceof j3) return n; + let [o] = a, s = +o.getValue(), c = n; + s && (c = n.filter((e30) => e30 !== null && e30 !== ``)); + let l = ``; + for (let t2 = 0; t2 < c.length; t2++) c[t2] !== null && (l += c[t2]), t2 < c.length - 1 && (l += e29[t2 % e29.length]); + return z3.create(l); + } + _getDelimiterValues(e29) { + let t = [], n = e29.isArray() ? e29.getRowCount() : 1, r = e29.isArray() ? e29.getColumnCount() : 1; + for (let i = 0; i < n; i++) for (let n2 = 0; n2 < r; n2++) { + let r2 = e29.isArray() ? e29.get(i, n2) : e29; + if (r2.isError()) return r2; + let a = `${r2.getValue()}`; + r2.isNull() && (a = ``), r2.isBoolean() && (a = a.toLocaleUpperCase()), t.push(a); + } + return t; + } + _getTextValues(e29) { + let t = []; + for (let n of e29) { + let e30 = n.isArray() ? n.getRowCount() : 1, r = n.isArray() ? n.getColumnCount() : 1; + for (let i = 0; i < e30; i++) for (let e31 = 0; e31 < r; e31++) { + let r2 = n.isArray() ? n.get(i, e31) : n; + if (r2.isError()) return r2; + if (r2.isNull()) { + t.push(null); + continue; + } + let a = `${r2.getValue()}`; + r2.isBoolean() && (a = a.toLocaleUpperCase()), t.push(a); + } + } + return t; + } + }; + var Sy = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 2), E3(this, `maxParams`, 6); + } + calculate(e29, t, n, r, i, a) { + let o = n == null ? z3.create(`\\s`) : n, s = r == null ? R4.create(0) : r, c = i == null ? R4.create(0) : i, l = a == null ? z3.create(D3.NA) : a, { _variant: u, values: d } = this._getStringValues(t), { _variant: f, values: p } = this._getStringValues(o, false); + o = f; + let m = Math.max(e29.isArray() ? e29.getRowCount() : 1, s.isArray() ? s.getRowCount() : 1, c.isArray() ? c.getRowCount() : 1), h = Math.max(e29.isArray() ? e29.getColumnCount() : 1, s.isArray() ? s.getColumnCount() : 1, c.isArray() ? c.getColumnCount() : 1), g2 = V3(m, h, e29, j3.create(D3.NA)), _2 = V3(m, h, s, j3.create(D3.NA)), v = V3(m, h, c, j3.create(D3.NA)), y = this._getResultArray(g2, u, o, _2, v, l, d, p); + return m === 1 && h === 1 ? y.get(0, 0) : y.map((e30) => e30.get(0, 0)); + } + _getStringValues(e29, t = true) { + let n = e29, r = []; + if (n.isArray()) n.iterator((e30) => { + if (e30 != null && e30.isError()) return n = e30, false; + if (e30 != null && e30.isNull() && t) return n = j3.create(D3.VALUE), false; + let i = this._getRegExpStringValue(e30); + if (i === ``) return n = j3.create(D3.VALUE), false; + r.push(i); + }); + else { + n.isNull() && t && (n = j3.create(D3.VALUE)); + let e30 = this._getRegExpStringValue(n); + e30 === `` && (n = j3.create(D3.VALUE)), r.push(e30); + } + return { _variant: n, values: r }; + } + _getResultArray(e29, t, n, r, i, a, o, s) { + return e29.map((e30, c, l) => { + let u = r.get(c, l), d = i.get(c, l), f = this._checkVariantsError(e30, t, n, u, d); + if (f.isError()) return f; + if (e30.isNull()) return j3.create(D3.VALUE); + let p = a; + if (p.isArray()) { + let e31 = p.getRowCount(), t2 = p.getColumnCount(); + if (e31 > 1 || t2 > 1) return j3.create(D3.VALUE); + p = p.get(0, 0); + } + let m = `${e30.getValue()}`; + if (e30.isBoolean() && (m = m.toLocaleUpperCase()), u.isString() && (u = u.convertToNumberObjectValue(), u.isError())) return u; + let h = Math.floor(+u.getValue()); + if (d.isString() && (d = d.convertToNumberObjectValue(), d.isError())) return d; + let g2 = Math.floor(+d.getValue()); + if (g2 < 0 || g2 > 1) return j3.create(D3.VALUE); + let _2 = `${p.getValue()}`; + return p.isBoolean() && (_2 = _2.toLocaleUpperCase()), this._getResult(m, o, s, h, g2, _2); + }); + } + _getResult(e29, t, n, r, i, a) { + let o = new RegExp(n.join(`|`), `g${i ? `i` : ``}`), s = new RegExp(t.join(`|`), `g${i ? `i` : ``}`), c = e29.split(o), l = 1, u = c.map((e30) => { + let t2 = e30.split(s); + return r && (t2 = t2.filter((e31) => e31 !== ``)), l = Math.max(l, t2.length), t2; + }); + return u = u.map((e30) => { + let t2 = e30; + return t2.length < l && (t2 = t2.concat(Array(l - t2.length).fill(a))), t2; + }), B3.createByArray(u); + } + _checkVariantsError(...e29) { + for (let t = 0; t < e29.length; t++) { + let n = e29[t]; + if (n.isError()) return n; + } + return L3.create(true); + } + _getRegExpStringValue(e29) { + let t = e29.getValue(); + return e29.isNull() && (t = `\\s`), e29.isBoolean() && (t = t ? `TRUE` : `FALSE`), t += ``, this._escapeRegExp(t); + } + _escapeRegExp(e29) { + return e29.replace(/[.*+?^${}()|[\]\\]/g, `\\$&`); + } + }; + var Cy = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + if (e29.isArray()) { + let t = e29.mapValue((e30) => this._handleSingleObject(e30)); + return t.getRowCount() === 1 && t.getColumnCount() === 1 ? t.get(0, 0) : t; + } + return this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + if (e29.isError()) return e29; + if (e29.isNull()) return z3.create(``); + let t = `${e29.getValue()}`; + return e29.isBoolean() && (t = t.toLocaleUpperCase()), t = t.trim().replace(/\s+/g, ` `), z3.create(t); + } + }; + var wy = Object.values(X).filter((e29) => [X.TABLE_START, X.TABLE_ROW_START, X.TABLE_CELL_START, X.TABLE_CELL_END, X.TABLE_ROW_END, X.TABLE_END, X.CUSTOM_BLOCK].includes(e29)); + var Ty = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + if (e29.isArray()) { + let t = e29.mapValue((e30) => this._handleSingleObject(e30)); + return t.getRowCount() === 1 && t.getColumnCount() === 1 ? t.get(0, 0) : t; + } + return this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + let { isError: t, errorObject: n, variants: r } = X3(e29); + if (t) return n; + let [i] = r, a = Math.floor(+i.getValue()); + if (a < 1 || a > 1114111) return j3.create(D3.VALUE); + if (a === 1114111 || a === 1114110) return j3.create(D3.NA); + let o = String.fromCharCode(a); + return wy.some((e30) => e30 === o) && (o = ``), z3.create(o); + } + }; + var Ey = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + if (e29.isArray()) { + let t = e29.mapValue((e30) => this._handleSingleObject(e30)); + return t.getRowCount() === 1 && t.getColumnCount() === 1 ? t.get(0, 0) : t; + } + return this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + if (e29.isError()) return e29; + if (e29.isNull()) return j3.create(D3.VALUE); + let t = e29.getValue().toLocaleString(); + e29.isBoolean() && (t = t.toLocaleUpperCase()); + let n = t.charCodeAt(0); + return R4.create(n); + } + }; + var Dy = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + if (e29.isArray()) { + let t = e29.mapValue((e30) => this._handleSingleObject(e30)); + return t.getRowCount() === 1 && t.getColumnCount() === 1 ? t.get(0, 0) : t; + } + return this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + if (e29.isError()) return e29; + if (e29.isNull()) return z3.create(``); + let t = `${e29.getValue()}`.toLocaleUpperCase(); + return z3.create(t); + } + }; + var Oy = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + if (e29.isArray()) { + let t = e29.mapValue((e30) => this._handleSingleObject(e30)); + return t.getRowCount() === 1 && t.getColumnCount() === 1 ? t.get(0, 0) : t; + } + return this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + if (e29.isError()) return e29; + if (e29.isBoolean()) return j3.create(D3.VALUE); + let t = e29; + if (e29.isString() && (t = t.convertToNumberObjectValue(), t.isError())) return t; + let n = +t.getValue(); + return R4.create(n); + } + }; + var ky = class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 2); + } + calculate(e29, t) { + let n = t == null ? R4.create(0) : t, r = Math.max(e29.isArray() ? e29.getRowCount() : 1, n.isArray() ? n.getRowCount() : 1), i = Math.max(e29.isArray() ? e29.getColumnCount() : 1, n.isArray() ? n.getColumnCount() : 1), a = V3(r, i, e29, j3.create(D3.NA)), o = V3(r, i, n, j3.create(D3.NA)), s = a.mapValue((e30, t2, n2) => { + let r2 = o.get(t2, n2); + return e30.isError() ? e30 : r2.isError() ? r2 : this._handleSingleObject(e30, r2); + }); + return r === 1 && i === 1 ? s.get(0, 0) : s; + } + _handleSingleObject(e29, t) { + let { isError: n, errorObject: r, variants: i } = X3(t); + if (n) return r; + let [a] = i, o = Math.floor(+a.getValue()); + if (o < 0 || o > 1) return j3.create(D3.VALUE); + if (e29.isNull()) return z3.create(``); + if (e29.isBoolean()) return e29; + if (e29.isNumber()) return R4.create(e29.getValue()); + let s = o ? `"${e29.getValue()}"` : `${e29.getValue()}`; + return z3.create(s); + } + }; + var Ay = [[iv, J3.ASC], [rv, J3.ARRAYTOTEXT], [av, J3.BAHTTEXT], [sv, J3.CHAR], [cv, J3.CLEAN], [lv, J3.CODE], [uv, J3.CONCAT], [dv, J3.CONCATENATE], [fv, J3.DBCS], [pv, J3.DOLLAR], [mv, J3.EXACT], [_v, J3.FIND], [wv, J3.FINDB], [Tv, J3.FIXED], [Ev, J3.LEFT], [Dv, J3.LEFTB], [Ov, J3.LEN], [kv, J3.LENB], [Av, J3.LOWER], [jv, J3.MID], [Mv, J3.MIDB], [Rv, J3.NUMBERSTRING], [zv, J3.NUMBERVALUE], [oy, J3.REGEXEXTRACT], [sy, J3.REGEXMATCH], [cy, J3.REGEXREPLACE], [Bv, J3.PROPER], [ly, J3.REPLACE], [uy, J3.REPLACEB], [dy, J3.REPT], [fy, J3.RIGHT], [py, J3.RIGHTB], [my, J3.SEARCH], [hy, J3.SEARCHB], [gy, J3.SUBSTITUTE], [_y, J3.T], [vy, J3.TEXT], [yy, J3.TEXTAFTER], [by, J3.TEXTBEFORE], [xy, J3.TEXTJOIN], [Sy, J3.TEXTSPLIT], [Cy, J3.TRIM], [Ty, J3.UNICHAR], [Ey, J3.UNICODE], [Dy, J3.UPPER], [Oy, J3.VALUE], [ky, J3.VALUETOTEXT]]; + var jy = []; + var Fy = [[class extends Z3 { + constructor(...e29) { + super(...e29), E3(this, `minParams`, 1), E3(this, `maxParams`, 1); + } + calculate(e29) { + if (e29.isArray()) { + let t = e29.mapValue((e30) => this._handleSingleObject(e30)); + return t.getRowCount() === 1 && t.getColumnCount() === 1 ? t.get(0, 0) : t; + } + return this._handleSingleObject(e29); + } + _handleSingleObject(e29) { + if (e29.isError()) return e29; + let t = gv(e29), n = encodeURIComponent(t).replace(/[!~'()*]/g, (e30) => `%${e30.charCodeAt(0).toString(16).toLocaleUpperCase()}`); + return z3.create(n); + } + }, ro2.ENCODEURL]]; + var Iy = `@univerjs/engine-formula`; + var Ly = `0.19.0`; + var Ry = class extends E { + constructor(...e29) { + super(...e29), E3(this, `_allSubjects`, []), E3(this, `_computingStatus$`, new BehaviorSubject(true)), E3(this, `computingStatus$`, this._computingStatus$.pipe(distinctUntilChanged())), E3(this, `_computingSubscription`, void 0); + } + get computingStatus() { + return this._computingStatus$.getValue(); + } + dispose() { + var e29; + super.dispose(), (e29 = this._computingSubscription) == null || e29.unsubscribe(), this._computingStatus$.next(true), this._computingStatus$.complete(), this._allSubjects.forEach((e30) => { + e30.complete(); + }); + } + pushComputingStatusSubject(e29) { + return this._allSubjects.push(e29), this._updateComputingObservable(), { dispose: () => { + let t = this._allSubjects.indexOf(e29); + t !== -1 && this._allSubjects.splice(t, 1), this._updateComputingObservable(); + } }; + } + _updateComputingObservable() { + var e29; + if ((e29 = this._computingSubscription) == null || e29.unsubscribe(), this._allSubjects.length === 0) { + this._computingStatus$.next(true); + return; + } + this._computingSubscription = combineLatest(this._allSubjects).pipe(map((e30) => e30.every((e31) => e31))).subscribe((e30) => this._computingStatus$.next(e30)); + } + }; + var zy = class extends E { + constructor(e29, t) { + super(), this._commandService = e29, this._globalComputingSrv = t, E3(this, `_computingCompleted$`, new Observable((e30) => { + this._commandService.onCommandExecuted((t2) => { + if (t2.id !== wr2.id) return; + let n2 = t2.params; + if (n2.stageInfo) return e30.next(n2.stageInfo.stage === Wa.IDLE || n2.stageInfo.stage === Wa.CALCULATION_COMPLETED); + }); + }).pipe(distinctUntilChanged(), shareReplay())); + let n = new un(), r = new BehaviorSubject(true); + n.add(this._globalComputingSrv.pushComputingStatusSubject(r)), n.add(this._computingCompleted$.subscribe((e30) => r.next(e30))), n.add(() => r.complete()), this.disposeWithMe(n); + } + }; + zy = dr2([P5(0, ii), P5(1, Inject(Ry))], zy); + var By = class extends E { + constructor(e29, t, n, r) { + super(), this._commandService = e29, this._functionService = t, this._configService = n, this._dataSyncPrimaryController = r, this._initialize(); + } + _initialize() { + this._registerCommands(), this._registerFunctions(); + } + _registerCommands() { + [Pr2, zn2, Fr2, yr2, br2, xr2, Sr2, Ar2, jr2, Cr2, wr2, Tr2, Mr2, Nr2, Er2, Dr2, Or2, kr2, hr2, gr2, _r2, vr2, Ir2, Lr2, Br2, Vr2, Hr2, Rn2].forEach((e29) => { + var t; + this._commandService.registerCommand(e29), (t = this._dataSyncPrimaryController) == null || t.registerSyncingMutations(e29); + }); + } + _registerFunctions() { + var e29; + let t = this._configService.getConfig(Ur2), n = [...ws2, ...Kl2, ...ql2, ...mu, ...Hu2, ...qd, ..._p, ...Vp, ...sm, ...Gm, ...Cg, ...jg, ...nv, ...Ay, ...jy, ...Fy].concat((e29 = t == null ? void 0 : t.function) == null ? [] : e29).map((e30) => { + let t2 = e30[0], n2 = e30[1]; + return new t2(n2); + }); + this._functionService.registerExecutors(...n); + } + }; + By = dr2([P5(0, ii), P5(1, uo2), P5(2, Yr), P5(3, Optional(K2))], By); + var Vy = class extends E { + constructor(e29, t, n) { + super(), this._commandService = e29, this._dependencyManagerService = t, this._featureCalculationManagerService = n, this._initialize(); + } + _initialize() { + this._commandExecutedListener(), this._featureCalculationManagerServiceListener(); + } + _featureCalculationManagerServiceListener() { + this.disposeWithMe(this._featureCalculationManagerService.onChanged$.subscribe((e29) => { + let { unitId: t, subUnitId: n, featureIds: r } = e29; + this._dependencyManagerService.removeFeatureFormulaDependency(t, n, r); + })); + } + _commandExecutedListener() { + this.disposeWithMe(this._commandService.onCommandExecuted((e29) => { + if (e29.id === vr2.id) { + let t = e29.params; + if (t == null) return; + let { featureIds: n, unitId: r, subUnitId: i } = t; + this._dependencyManagerService.removeFeatureFormulaDependency(r, i, n); + } else if (e29.id === _r2.id) { + let t = e29.params; + if (t == null) return; + let { featureId: n, calculationParam: r } = t, { unitId: i, subUnitId: a } = r; + this._dependencyManagerService.removeFeatureFormulaDependency(i, a, [n]); + } else if (e29.id === Lr2.id) { + let t = e29.params; + if (t == null) return; + this._dependencyManagerService.removeOtherFormulaDependency(t.unitId, t.subUnitId, t.formulaIdList); + } else if (e29.id === Ir2.id) { + let t = e29.params; + if (t == null) return; + let n = t.formulaMap, r = []; + Object.keys(n).forEach((e30) => { + r.push(e30); + }), this._dependencyManagerService.removeOtherFormulaDependency(t.unitId, t.subUnitId, r); + } else if (e29.id === Pr2.id) { + let t = e29.params.formulaData; + Object.keys(t).forEach((e30) => { + let n = t[e30]; + if (n !== void 0) { + if (n === null) { + this._dependencyManagerService.clearFormulaDependency(e30); + return; + } + Object.keys(n).forEach((t2) => { + let r = n[t2]; + if (r !== void 0) { + if (r === null) return this._dependencyManagerService.clearFormulaDependency(e30, t2), true; + new Sa(r).forValue((n2, r2) => { + this._dependencyManagerService.removeFormulaDependency(e30, t2, n2, r2); + }); + } + }); + } + }); + } else e29.id === hr2.id && this._handleSetDefinedName(e29); + })); + } + _handleSetDefinedName(e29) { + let t = e29.params; + if (t == null) return; + let { unitId: n, name: r } = t; + this._dependencyManagerService.removeFormulaDependencyByDefinedName(n, r); + } + }; + Vy = dr2([P5(0, ii), P5(1, Xo2), P5(1, Jo2), P5(2, Xo2)], Vy); + var Hy = class extends E { + constructor(e29, t) { + super(), this._commandService = e29, this._featureCalculationManagerService = t, this._initialize(); + } + _initialize() { + this._commandExecutedListener(); + } + _commandExecutedListener() { + this.disposeWithMe(this._commandService.onCommandExecuted((e29) => { + if (e29.id === _r2.id) { + let t = e29.params; + if (t == null) return; + let { featureId: n, calculationParam: r } = t, { unitId: i, subUnitId: a } = r; + this._featureCalculationManagerService.register(i, a, n, r); + } else if (e29.id === vr2.id) { + let t = e29.params; + if (t == null) return; + let { featureIds: n, unitId: r, subUnitId: i } = t; + this._featureCalculationManagerService.remove(r, i, n); + } + })); + } + }; + Hy = dr2([P5(0, ii), P5(1, Xo2)], Hy); + var Uy = class extends E { + constructor(e29, t, n) { + super(), this._commandService = e29, this._otherFormulaManagerService = t, this._dependencyManagerService = n, this._initialize(); + } + _initialize() { + this._commandExecutedListener(); + } + _commandExecutedListener() { + this.disposeWithMe(this._commandService.onCommandExecuted((e29) => { + if (e29.id === Ir2.id) { + let t = e29.params; + if (t == null) return; + let n = { [t.unitId]: { [t.subUnitId]: t.formulaMap } }; + this._otherFormulaManagerService.batchRegister(n); + } else if (e29.id === Lr2.id) { + let t = e29.params; + if (t == null) return; + let n = {}; + t.formulaIdList.forEach((e30) => n[e30] = true); + let r = { [t.unitId]: { [t.subUnitId]: n } }; + this._otherFormulaManagerService.batchRemove(r); + } + })); + } + }; + Uy = dr2([P5(0, ii), P5(1, Qo2), P5(2, Jo2)], Uy); + var Wy = class extends E { + constructor(...e29) { + super(...e29), E3(this, `_dirtyConversionMap`, /* @__PURE__ */ new Map()); + } + dispose() { + this._dirtyConversionMap.clear(); + } + remove(e29) { + this._dirtyConversionMap.delete(e29); + } + get(e29) { + return this._dirtyConversionMap.get(e29); + } + has(e29) { + return this._dirtyConversionMap.has(e29); + } + register(e29, t) { + this._dirtyConversionMap.set(e29, t); + } + getDirtyConversionMap() { + return this._dirtyConversionMap; + } + }; + var Gy = createIdentifier(`univer.formula.active-dirty-manager.service`); + var Ky = (function(e29) { + return e29[e29.NOT_REGISTER = 1] = `NOT_REGISTER`, e29[e29.SUCCESS = 2] = `SUCCESS`, e29[e29.WAIT = 3] = `WAIT`, e29[e29.ERROR = 4] = `ERROR`, e29; + })({}); + var qy = (function(e29) { + return e29.DEFAULT = `default`, e29.DATA_VALIDATION = `dv`, e29.DATA_VALIDATION_CUSTOM = `dv-custom`, e29.CONDITIONAL_FORMATTING = `cf`, e29.DOC = `doc`, e29.SLIDE = `slide`, e29; + })({}); + var Jy = class extends E { + constructor(e29, t, n) { + super(), this._commandService = e29, this._activeDirtyManagerService = t, this._lifecycleService = n, E3(this, `_formulaCacheMap`, /* @__PURE__ */ new Map()), E3(this, `_formulaChangeWithRange$`, new Subject()), E3(this, `formulaChangeWithRange$`, this._formulaChangeWithRange$.asObservable()), E3(this, `_formulaResult$`, new Subject()), E3(this, `formulaResult$`, this._formulaResult$.asObservable()), E3(this, `calculateStarted$`, new BehaviorSubject(false)), this._initFormulaRegister(), this._initFormulaCalculationResultChange(); + } + dispose() { + super.dispose(), this._formulaChangeWithRange$.complete(), this._formulaResult$.complete(), this.calculateStarted$.complete(); + } + _ensureCacheMap(e29, t) { + let n = this._formulaCacheMap.get(e29); + n || (n = /* @__PURE__ */ new Map(), this._formulaCacheMap.set(e29, n)); + let r = n.get(t); + return r || (r = /* @__PURE__ */ new Map(), n.set(t, r)), r; + } + _createFormulaId(e29, t, n, r) { + return `formula.${e29}_${t}_${n}_${r}_${O2(8)}`; + } + _initFormulaRegister() { + this._activeDirtyManagerService.register(Ln2.id, { commandId: Ln2.id, getDirtyData(e30) { + return { dirtyUnitOtherFormulaMap: e30.params }; + } }); + let e29 = (e30) => { + let { unitId: t, subUnitId: n, formulaText: r, formulaId: i, ranges: a } = e30; + if (!this._ensureCacheMap(t, n).has(i)) return; + let o = { unitId: t, subUnitId: n, formulaMap: { [i]: { f: r, ranges: a } } }; + this._commandService.executeCommand(Ir2.id, o, { onlyLocal: true }).then(() => { + this._commandService.executeCommand(Ln2.id, { [t]: { [n]: { [i]: true } } }, { onlyLocal: true }); + }); + }; + this.disposeWithMe(this._formulaChangeWithRange$.pipe(bufferWhen(() => this.calculateStarted$.pipe(filter((e30) => e30)))).subscribe((t) => t.forEach(e29))), this.disposeWithMe(this._formulaChangeWithRange$.pipe(filter(() => this.calculateStarted$.getValue())).subscribe(e29)); + } + _initFormulaCalculationResultChange() { + this.disposeWithMe(this._commandService.onCommandExecuted((e29) => { + if (e29.id === Tr2.id) { + let { unitOtherData: t } = e29.params, n = {}; + for (let e30 in t) { + let r = t[e30], i = {}; + n[e30] = i; + for (let t2 in r) { + let n2 = this._ensureCacheMap(e30, t2), a = r[t2], o = []; + i[t2] = o; + for (let e31 in a) { + let t3 = a[e31]; + if (n2.has(e31)) { + let r2 = n2.get(e31); + if (!r2) continue; + r2.result || (r2.result = {}); + let i2 = new Sa(t3), a2 = new Sa(r2.result); + i2.forValue((e32, t4, n3) => { + a2.setValue(e32, t4, n3); + }), r2.status = Ky.SUCCESS, r2.callbacks.forEach((e32) => { + e32(t3); + }), r2.callbacks.clear(), o.push(r2); + } + } + } + } + this._formulaResult$.next(n); + } + })); + } + registerFormulaWithRange(e29, t, n, r = [{ startRow: 0, endRow: 0, startColumn: 0, endColumn: 0 }], i, a = qy.DEFAULT, o = ``) { + let s = this._createFormulaId(e29, t, a, o); + return this._ensureCacheMap(e29, t).set(s, { result: void 0, status: Ky.WAIT, formulaId: s, callbacks: /* @__PURE__ */ new Set(), extra: i }), this._formulaChangeWithRange$.next({ unitId: e29, subUnitId: t, formulaText: n, formulaId: s, ranges: r }), s; + } + deleteFormula(e29, t, n) { + let r = { unitId: e29, subUnitId: t, formulaIdList: n }; + this._commandService.executeCommand(Lr2.id, r, { onlyLocal: true }); + let i = this._ensureCacheMap(e29, t); + n.forEach((e30) => i.delete(e30)); + } + getFormulaValue(e29, t, n) { + let r = this._ensureCacheMap(e29, t), i = r.get(n); + return i ? i.status === Ky.SUCCESS || i.status === Ky.ERROR ? Promise.resolve(i) : new Promise((e30) => { + i.callbacks.add(() => { + e30(r.get(n)); + }); + }) : Promise.resolve(null); + } + getFormulaValueSync(e29, t, n) { + return this._ensureCacheMap(e29, t).get(n); + } + markFormulaDirty(e29, t, n) { + let r = this.getFormulaValueSync(e29, t, n); + r && (r.status = Ky.WAIT, this._commandService.executeCommand(Ln2.id, { [e29]: { [t]: { [n]: true } } }, { onlyLocal: true })); + } + }; + Jy = dr2([P5(0, ii), P5(1, Gy), P5(2, Inject(Iu))], Jy); + var Yy = class extends qu { + constructor(e29 = Kr2, t, n) { + super(), this._config = e29, this._injector = t, this._configService = n; + let { ...r } = merge_default({}, Kr2, this._config); + this._configService.setConfig(Ur2, r); + } + onStarting() { + this._initialize(), this._initializeWithOverride(); + } + onReady() { + var e29; + St(this._injector, [[By]]), (e29 = this._config) != null && e29.notExecuteFormula || St(this._injector, [[Uy], [Hy], [Vy], [ds2]]); + } + onRendered() { + var e29; + (e29 = this._config) != null && e29.notExecuteFormula || St(this._injector, [[ls2], [os2]]); + } + _initialize() { + let e29 = !this._config.notExecuteFormula, t = [[uo2, { useClass: fo2 }], [pr2, { useClass: fr2 }], [Gy, { useClass: Wy }], [Jy], [Ua, { useClass: Ha2 }], [ui2, { useClass: li2 }], [zr2, { useClass: Rr2 }], [Ry], [ai2], [By], [zy]]; + e29 && t.push([Qo2, { useClass: Zo2 }], [qa2, { useClass: Ka2 }], [fi2, { useClass: di }], [Xo2, { useClass: Yo }], [ds2], [Uy], [Vy], [Hy], [bo2], [Go], [pi], [$a2], [yo2], [ko2], [Mo2], [Fo2], [ho], [Ro2], [Bo2], [Ho], [Wo]), t.forEach((e30) => this._injector.add(e30)); + } + _initializeWithOverride() { + var e29; + this._injector.add([ni, { useClass: ni }]), (e29 = this._config) != null && e29.notExecuteFormula || [[ls2, { useClass: us2 }], [Jo2, { useClass: qo }], [os2, { useClass: ss2 }]].forEach((e30) => this._injector.add(e30)); + } + }; + E3(Yy, `pluginName`, `UNIVER_ENGINE_FORMULA_PLUGIN`), E3(Yy, `packageName`, Iy), E3(Yy, `version`, Ly), Yy = dr2([P5(1, Inject(Injector)), P5(2, Yr)], Yy); + + // node_modules/@univerjs/sheets/lib/es/index.js + function Nt3(e29, t, n) { + var r; + if (t.t) return t.t; + if (t.v === null) return null; + let i = e29.getStyleByCell(t), a = e29.getStyleByCell(n); + if (n.t === tr.FORCE_STRING) { + var o; + if (!aa(a == null || (o = a.n) == null ? void 0 : o.pattern) && t.v !== void 0) { + if (Ja(t.v)) return tr.NUMBER; + if (lt(`${t.v}`)) return tr.BOOLEAN; + } + return tr.FORCE_STRING; + } + if (Ft2(i)) { + var s; + return aa(i == null || (s = i.n) == null ? void 0 : s.pattern) ? tr.STRING : Pt2(t, n); + } + return aa(a == null || (r = a.n) == null ? void 0 : r.pattern) ? tr.STRING : Pt2(t, n); + } + function Pt2(e29, t) { + return e29.v === void 0 ? It2(t.v, t.t) : It2(e29.v, e29.t); + } + function Ft2(e29) { + var t; + return !!(!(e29 == null || (t = e29.n) == null) && t.pattern); + } + function It2(e29, t) { + return e29 === null ? null : typeof e29 == `string` ? Ja(e29) ? (+e29 == 0 || +e29 == 1) && t === tr.BOOLEAN ? tr.BOOLEAN : t !== tr.STRING && t !== tr.FORCE_STRING && tn(e29) ? tr.FORCE_STRING : tr.NUMBER : lt(e29) ? tr.BOOLEAN : tr.STRING : typeof e29 == `number` ? (e29 === 0 || e29 === 1) && t === tr.BOOLEAN ? tr.BOOLEAN : tr.NUMBER : typeof e29 == `boolean` ? tr.BOOLEAN : tr.FORCE_STRING; + } + function Lt2(e29, t) { + let { unitId: n } = t, r = n ? e29.getUnit(n, O.UNIVER_SHEET) : e29.getCurrentUnitOfType(O.UNIVER_SHEET); + return r ? { workbook: r, unitId: r.getUnitId() } : null; + } + function V4(e29, t = {}) { + let { unitId: n, subUnitId: r } = t, i = n ? e29.getUnit(n, O.UNIVER_SHEET) : e29.getCurrentUnitOfType(O.UNIVER_SHEET); + if (!i) return null; + let a = r ? i.getSheetBySheetId(r) : i.getActiveSheet(true); + return a ? { worksheet: a, workbook: i, unitId: i.getUnitId(), subUnitId: a.getSheetId() } : null; + } + function Rt2(e29, t) { + let { unitId: n, subUnitId: r } = t, i = e29.getUnit(n, O.UNIVER_SHEET); + if (!i) return null; + let a = i.getSheetBySheetId(r); + return a ? { worksheet: a, workbook: i } : null; + } + var zt2 = (e29, t) => { + if (!Rt2(e29.get(Mu), t)) throw Error(`Workbook or worksheet is null error!`); + return { unitId: t.unitId, subUnitId: t.subUnitId, ranges: D.deepClone(t.ranges) }; + }; + var H4 = { id: `sheet.mutation.add-worksheet-merge`, type: ri.MUTATION, handler: (e29, t) => { + let n = Rt2(e29.get(Mu), t); + if (!n) throw Error(`Workbook or worksheet is null error!`); + let { worksheet: r } = n, i = r.getConfig().mergeData, a = t.ranges; + for (let e30 = 0; e30 < a.length; e30++) i.push(a[e30]); + return r.getSpanModel().rebuild(i), true; + } }; + var Bt3 = { CELL_CONTENT: jt(`CELL_CONTENT`), ROW_FILTERED: jt(`ROW_FILTERED`) }; + var Vt2 = (function(e29) { + return e29[e29.DATA_VALIDATION = 9] = `DATA_VALIDATION`, e29[e29.NUMFMT = 10] = `NUMFMT`, e29[e29.CELL_IMAGE = 11] = `CELL_IMAGE`, e29; + })({}); + var Ht2 = `sheet.interceptor.range-theme-id`; + var Ut3 = `sheet.interceptor.ignore-range-theme`; + function Wt3(e29) { + "@babel/helpers - typeof"; + return Wt3 = typeof Symbol == `function` && typeof Symbol.iterator == `symbol` ? function(e30) { + return typeof e30; + } : function(e30) { + return e30 && typeof Symbol == `function` && e30.constructor === Symbol && e30 !== Symbol.prototype ? `symbol` : typeof e30; + }, Wt3(e29); + } + function Gt3(e29, t) { + if (Wt3(e29) != `object` || !e29) return e29; + var n = e29[Symbol.toPrimitive]; + if (n !== void 0) { + var r = n.call(e29, t || `default`); + if (Wt3(r) != `object`) return r; + throw TypeError(`@@toPrimitive must return a primitive value.`); + } + return (t === `string` ? String : Number)(e29); + } + function Kt3(e29) { + var t = Gt3(e29, `string`); + return Wt3(t) == `symbol` ? t : t + ``; + } + function U4(e29, t, n) { + return (t = Kt3(t)) in e29 ? Object.defineProperty(e29, t, { value: n, enumerable: true, configurable: true, writable: true }) : e29[t] = n, e29; + } + function W4(e29, t) { + return function(n, r) { + t(n, r, e29); + }; + } + function G4(e29, t, n, r) { + var i = arguments.length, a = i < 3 ? t : r === null ? r = Object.getOwnPropertyDescriptor(t, n) : r, o; + if (typeof Reflect == `object` && typeof Reflect.decorate == `function`) a = Reflect.decorate(e29, t, n, r); + else for (var s = e29.length - 1; s >= 0; s--) (o = e29[s]) && (a = (i < 3 ? o(a) : i > 3 ? o(t, n, a) : o(t, n)) || a); + return i > 3 && a && Object.defineProperty(t, n, a), a; + } + var qt2 = jt(`BEFORE_CELL_EDIT`); + var Jt2 = jt(`AFTER_CELL_EDIT`); + var Yt2 = jt(`VALIDATE_CELL`); + var K4 = class extends E { + constructor(e29) { + super(), this._univerInstanceService = e29, U4(this, `_interceptorsByName`, /* @__PURE__ */ new Map()), U4(this, `_commandInterceptors`, []), U4(this, `_rangeInterceptors`, []), U4(this, `_autoHeightInterceptors`, []), U4(this, `_beforeCommandInterceptor`, []), U4(this, `_afterCommandInterceptors`, []), U4(this, `_workbookDisposables`, /* @__PURE__ */ new Map()), U4(this, `_worksheetDisposables`, /* @__PURE__ */ new Map()), U4(this, `_interceptorsDirty`, false), U4(this, `_composedInterceptorByKey`, /* @__PURE__ */ new Map()), U4(this, `writeCellInterceptor`, new Nt({ BEFORE_CELL_EDIT: qt2, AFTER_CELL_EDIT: Jt2, VALIDATE_CELL: Yt2 })), this.disposeWithMe(this._univerInstanceService.getTypeOfUnitAdded$(O.UNIVER_SHEET).subscribe((e30) => { + this._interceptWorkbook(e30); + })), this.disposeWithMe(this._univerInstanceService.getTypeOfUnitDisposed$(O.UNIVER_SHEET).subscribe((e30) => this._disposeWorkbookInterceptor(e30))), this.intercept(Bt3.CELL_CONTENT, { priority: -1, effect: At.Style | At.Value, handler: (e30) => e30 }), this.disposeWithMe(this.writeCellInterceptor.intercept(Jt2, { priority: -1, handler: (e30) => e30 })), this.disposeWithMe(this.writeCellInterceptor.intercept(qt2, { priority: -1, handler: (e30) => e30 })), this.disposeWithMe(this.writeCellInterceptor.intercept(Yt2, { priority: -1, handler: (e30) => e30 })); + } + dispose() { + super.dispose(), this._workbookDisposables.forEach((e29) => e29.dispose()), this._workbookDisposables.clear(), this._worksheetDisposables.forEach((e29) => e29.dispose()), this._worksheetDisposables.clear(), this._interceptorsByName.clear(); + } + interceptCommand(e29) { + if (this._commandInterceptors.includes(e29)) throw Error(`[SheetInterceptorService]: Interceptor already exists!`); + return this._commandInterceptors.push(e29), this._commandInterceptors.sort((e30, t) => { + var n, r; + return ((n = t.priority) == null ? 0 : n) - ((r = e30.priority) == null ? 0 : r); + }), this.disposeWithMe(T2(() => tt(this._commandInterceptors, e29))); + } + onCommandExecute(e29) { + let t = this._commandInterceptors.map((t2) => t2.getMutations(e29)); + return { preUndos: t.map((e30) => { + var t2; + return (t2 = e30.preUndos) == null ? [] : t2; + }).flat(), undos: t.map((e30) => e30.undos).flat(), preRedos: t.map((e30) => { + var t2; + return (t2 = e30.preRedos) == null ? [] : t2; + }).flat(), redos: t.map((e30) => e30.redos).flat() }; + } + interceptAfterCommand(e29) { + if (this._afterCommandInterceptors.includes(e29)) throw Error(`[SheetInterceptorService]: Interceptor already exists!`); + return this._afterCommandInterceptors.push(e29), this._afterCommandInterceptors.sort((e30, t) => { + var n, r; + return ((n = t.priority) == null ? 0 : n) - ((r = e30.priority) == null ? 0 : r); + }), this.disposeWithMe(T2(() => tt(this._afterCommandInterceptors, e29))); + } + afterCommandExecute(e29) { + let t = this._afterCommandInterceptors.map((t2) => t2.getMutations(e29)); + return { undos: t.map((e30) => e30.undos).flat(), redos: t.map((e30) => e30.redos).flat() }; + } + interceptAutoHeight(e29) { + if (this._autoHeightInterceptors.includes(e29)) throw Error(`[SheetInterceptorService]: Interceptor already exists!`); + return this._autoHeightInterceptors.push(e29), this._autoHeightInterceptors.sort((e30, t) => { + var n, r; + return ((n = t.priority) == null ? 0 : n) - ((r = e30.priority) == null ? 0 : r); + }), this.disposeWithMe(T2(() => tt(this._autoHeightInterceptors, e29))); + } + generateMutationsOfAutoHeight(e29) { + let t = this._autoHeightInterceptors.map((t2) => t2.getMutations(e29)); + return { preUndos: t.map((e30) => { + var t2; + return (t2 = e30.preUndos) == null ? [] : t2; + }).flat(), undos: t.map((e30) => e30.undos).flat(), preRedos: t.map((e30) => { + var t2; + return (t2 = e30.preRedos) == null ? [] : t2; + }).flat(), redos: t.map((e30) => e30.redos).flat() }; + } + interceptBeforeCommand(e29) { + if (this._beforeCommandInterceptor.includes(e29)) throw Error(`[SheetInterceptorService]: Interceptor already exists!`); + return this._beforeCommandInterceptor.push(e29), this._beforeCommandInterceptor.sort((e30, t) => { + var n, r; + return ((n = t.priority) == null ? 0 : n) - ((r = e30.priority) == null ? 0 : r); + }), this.disposeWithMe(T2(() => tt(this._beforeCommandInterceptor, e29))); + } + async beforeCommandExecute(e29) { + return (await Promise.all(this._beforeCommandInterceptor.map((t) => t.performCheck(e29)))).every((e30) => e30); + } + interceptRanges(e29) { + if (this._rangeInterceptors.includes(e29)) throw Error(`[SheetInterceptorService]: Interceptor already exists!`); + return this._rangeInterceptors.push(e29), this._rangeInterceptors.sort((e30, t) => { + var n, r; + return ((n = t.priority) == null ? 0 : n) - ((r = e30.priority) == null ? 0 : r); + }), this.disposeWithMe(T2(() => tt(this._rangeInterceptors, e29))); + } + generateMutationsByRanges(e29) { + let t = this._rangeInterceptors.map((t2) => t2.getMutations(e29)); + return { preUndos: t.map((e30) => { + var t2; + return (t2 = e30.preUndos) == null ? [] : t2; + }).flat(), undos: t.map((e30) => e30.undos).flat(), preRedos: t.map((e30) => { + var t2; + return (t2 = e30.preRedos) == null ? [] : t2; + }).flat(), redos: t.map((e30) => e30.redos).flat() }; + } + onWriteCell(e29, t, n, r, i) { + let a = { subUnitId: t.getSheetId(), unitId: e29.getUnitId(), workbook: e29, worksheet: t, row: n, col: r, origin: D.deepClone(i) }; + return this.writeCellInterceptor.fetchThroughInterceptors(Jt2)(i, a); + } + onValidateCell(e29, t, n, r) { + let i = { subUnitId: t.getSheetId(), unitId: e29.getUnitId(), workbook: e29, worksheet: t, row: n, col: r }; + return this.writeCellInterceptor.fetchThroughInterceptors(Yt2)(Promise.resolve(true), i); + } + intercept(e29, t) { + let n = e29; + this._interceptorsByName.has(n) || this._interceptorsByName.set(n, []); + let r = this._interceptorsByName.get(n); + r.push(t); + let i = r.sort((e30, t2) => { + var n2, r2; + return ((n2 = t2.priority) == null ? 0 : n2) - ((r2 = e30.priority) == null ? 0 : r2); + }); + if (this._interceptorsDirty = true, n === Bt3.CELL_CONTENT) { + let e30 = At.Style | At.Value; + this._interceptorsByName.set(`${n}-${e30}`, i); + let r2 = At.Style | At.Value; + return this._interceptorsByName.set(`${n}-${At.Style}`, i.filter((e31) => ((e31.effect || r2) & At.Style) > 0)), this._interceptorsByName.set(`${n}-${At.Value}`, i.filter((e31) => ((e31.effect || r2) & At.Value) > 0)), this.disposeWithMe(T2(() => { + tt(this._interceptorsByName.get(n), t), tt(this._interceptorsByName.get(`${n}-${e30}`), t), tt(this._interceptorsByName.get(`${n}-${At.Style}`), t), tt(this._interceptorsByName.get(`${n}-${At.Value}`), t); + })); + } else return this._interceptorsByName.set(n, i), this.disposeWithMe(T2(() => tt(this._interceptorsByName.get(n), t))); + } + fetchThroughInterceptors(e29, t, n, r) { + let i = t === void 0 ? e29 : `${e29}-${t}`, a = n == null ? i : n, o = this._composedInterceptorByKey.get(a); + if (!o || !this._interceptorsDirty) { + let e30 = this._interceptorsByName.get(i); + e30 && r && (e30 = e30.filter(r)), o = Mt(e30 || []), this._composedInterceptorByKey.set(a, o); + } + return o; + } + _interceptWorkbook(e29) { + let t = new un(), n = e29.getUnitId(), r = this, i = (t2) => { + let i2 = t2.getSheetId(); + t2.__interceptViewModel((a) => { + let o = new un(); + r._worksheetDisposables.set(Xt2(n, t2), o), o.add(a.registerCellContentInterceptor({ getCell(a2, o2, s, c, l) { + let u = t2.getCellRaw(a2, o2); + return r.fetchThroughInterceptors(Bt3.CELL_CONTENT, s, c, l)(u, { unitId: n, subUnitId: i2, row: a2, col: o2, worksheet: t2, workbook: e29, rawData: u }); + } })), o.add(a.registerRowFilteredInterceptor({ getRowFiltered(a2) { + return !!r.fetchThroughInterceptors(Bt3.ROW_FILTERED)(false, { unitId: n, subUnitId: i2, row: a2, workbook: e29, worksheet: t2 }); + } })); + }); + }; + e29.getSheets().forEach((e30) => i(e30)), t.add(e29.sheetCreated$.subscribe((e30) => i(e30))), t.add(T2(() => e29.getSheets().forEach((e30) => this._disposeSheetInterceptor(n, e30)))), t.add(e29.sheetDisposed$.subscribe((e30) => this._disposeSheetInterceptor(n, e30))), this._workbookDisposables.set(n, t); + } + _disposeWorkbookInterceptor(e29) { + let t = e29.getUnitId(), n = this._workbookDisposables.get(t); + n && (n.dispose(), this._workbookDisposables.delete(t)); + } + _disposeSheetInterceptor(e29, t) { + let n = Xt2(e29, t), r = this._worksheetDisposables.get(n); + r && (r.dispose(), this._worksheetDisposables.delete(n)); + } + }; + K4 = G4([W4(0, Mu)], K4); + function Xt2(e29, t) { + return `${e29}|${t.getSheetId()}`; + } + var Zt3 = (e29) => { + let t = {}; + return e29.bg && (t.bg = { ...e29.bg }), e29.ol && (t.ol = { ...e29.ol }), e29.bd && (t.bd = { ...e29.bd }), e29.cl && (t.cl = { ...e29.cl }), e29.ht && (t.ht = e29.ht), e29.vt && (t.vt = e29.vt), e29.bl !== void 0 && (t.bl = e29.bl), t; + }; + function Qt2(e29) { + let t = {}; + if (e29.length === 1) return e29[0]; + for (let n of e29) n.bg && (t.bg = n.bg), n.ol && (t.ol = n.ol), n.bd && (t.bd = { ...t.bd, ...n.bd }), n.cl && (t.cl = n.cl), n.ht && (t.ht = n.ht), n.vt && (t.vt = n.vt), n.bl !== void 0 && (t.bl = n.bl); + return t; + } + var $t3 = { wholeStyle: 1, headerRowStyle: 2, headerColumnStyle: 4, firstRowStyle: 8, secondRowStyle: 16, lastRowStyle: 32, firstColumnStyle: 128, secondColumnStyle: 256, lastColumnStyle: 512 }; + var en3 = class { + constructor(e29, t) { + U4(this, `_name`, void 0), U4(this, `wholeStyle`, null), U4(this, `headerRowStyle`, null), U4(this, `headerColumnStyle`, null), U4(this, `firstRowStyle`, null), U4(this, `secondRowStyle`, null), U4(this, `lastRowStyle`, null), U4(this, `firstColumnStyle`, null), U4(this, `secondColumnStyle`, null), U4(this, `lastColumnStyle`, null), U4(this, `_mergeCacheMap`, /* @__PURE__ */ new Map()), t && this.fromJson({ ...t, name: e29 }), this._name = e29; + } + getName() { + return this._name; + } + getWholeStyle() { + return this.wholeStyle; + } + setWholeStyle(e29) { + this.wholeStyle = e29, this._resetStyleCache(); + } + getFirstRowStyle() { + return this.firstRowStyle; + } + setFirstRowStyle(e29) { + this.firstRowStyle = e29, this._resetStyleCache(); + } + getSecondRowStyle() { + return this.secondRowStyle; + } + setSecondRowStyle(e29) { + this.secondRowStyle = e29, this._resetStyleCache(); + } + getLastRowStyle() { + return this.lastRowStyle; + } + setLastRowStyle(e29) { + this.lastRowStyle = e29, this._resetStyleCache(); + } + getFirstColumnStyle() { + return this.firstColumnStyle; + } + setFirstColumnStyle(e29) { + this.firstColumnStyle = e29, this._resetStyleCache(); + } + getSecondColumnStyle() { + return this.secondColumnStyle; + } + setSecondColumnStyle(e29) { + this.secondColumnStyle = e29, this._resetStyleCache(); + } + getLastColumnStyle() { + return this.lastColumnStyle; + } + setLastColumnStyle(e29) { + this.lastColumnStyle = e29, this._resetStyleCache(); + } + getHeaderRowStyle() { + return this.headerRowStyle; + } + setHeaderRowStyle(e29) { + this.headerRowStyle = e29, this._resetStyleCache(); + } + getHeaderColumnStyle() { + return this.headerColumnStyle; + } + setHeaderColumnStyle(e29) { + this.headerColumnStyle = e29, this._resetStyleCache(); + } + getStyle(e29, t, n, r, i) { + let a = 0; + return n && (a |= $t3.lastRowStyle), r && (a |= $t3.lastColumnStyle), e29 >= 0 && t >= 0 && (a |= $t3.wholeStyle), e29 % 2 == 1 && (a |= i ? $t3.secondRowStyle : $t3.firstRowStyle), e29 % 2 == 0 && (a |= i ? $t3.firstRowStyle : $t3.secondRowStyle), e29 === 0 && (a |= $t3.headerRowStyle), t === 0 && (a |= $t3.headerColumnStyle), t % 2 == 1 && (a |= $t3.firstColumnStyle), t % 2 == 0 && (a |= $t3.secondColumnStyle), a === 0 ? null : this._getMergeStyle(a); + } + _getMergeStyle(e29) { + let t = this._mergeCacheMap.get(e29); + return t || (t = this._mergeStyle(e29), this._mergeCacheMap.set(e29, t)), t; + } + _mergeStyle(e29) { + let t = []; + return this.wholeStyle && e29 & $t3.wholeStyle && t.push(this.wholeStyle), this.firstColumnStyle && e29 & $t3.firstColumnStyle && t.push(this.firstColumnStyle), this.secondColumnStyle && e29 & $t3.secondColumnStyle && t.push(this.secondColumnStyle), this.firstRowStyle && e29 & $t3.firstRowStyle && t.push(this.firstRowStyle), this.secondRowStyle && e29 & $t3.secondRowStyle && t.push(this.secondRowStyle), this.headerColumnStyle && e29 & $t3.headerColumnStyle && t.push(this.headerColumnStyle), this.lastColumnStyle && e29 & $t3.lastColumnStyle && t.push(this.lastColumnStyle), this.headerRowStyle && e29 & $t3.headerRowStyle && t.push(this.headerRowStyle), this.lastRowStyle && e29 & $t3.lastRowStyle && t.push(this.lastRowStyle), Qt2(t); + } + _resetStyleCache() { + this._mergeCacheMap.clear(); + } + toJson() { + let e29 = { name: this._name }; + return this.wholeStyle && (e29.wholeStyle = Zt3(this.wholeStyle)), this.headerRowStyle && (e29.headerRowStyle = Zt3(this.headerRowStyle)), this.headerColumnStyle && (e29.headerColumnStyle = Zt3(this.headerColumnStyle)), this.firstRowStyle && (e29.firstRowStyle = Zt3(this.firstRowStyle)), this.secondRowStyle && (e29.secondRowStyle = Zt3(this.secondRowStyle)), this.lastRowStyle && (e29.lastRowStyle = Zt3(this.lastRowStyle)), this.firstColumnStyle && (e29.firstColumnStyle = Zt3(this.firstColumnStyle)), this.secondColumnStyle && (e29.secondColumnStyle = Zt3(this.secondColumnStyle)), this.lastColumnStyle && (e29.lastColumnStyle = Zt3(this.lastColumnStyle)), e29; + } + fromJson(e29) { + this._name = e29.name, e29.wholeStyle && (this.wholeStyle = Zt3(e29.wholeStyle)), e29.headerRowStyle && (this.headerRowStyle = Zt3(e29.headerRowStyle)), e29.headerColumnStyle && (this.headerColumnStyle = Zt3(e29.headerColumnStyle)), e29.firstRowStyle && (this.firstRowStyle = Zt3(e29.firstRowStyle)), e29.secondRowStyle && (this.secondRowStyle = Zt3(e29.secondRowStyle)), e29.lastRowStyle && (this.lastRowStyle = Zt3(e29.lastRowStyle)), e29.firstColumnStyle && (this.firstColumnStyle = Zt3(e29.firstColumnStyle)), e29.secondColumnStyle && (this.secondColumnStyle = Zt3(e29.secondColumnStyle)), e29.lastColumnStyle && (this.lastColumnStyle = Zt3(e29.lastColumnStyle)); + } + dispose() { + this._mergeCacheMap.clear(); + } + }; + var tn3 = (e29, t, n) => new en3(`light-${e29}`, { headerRowStyle: { bg: { rgb: t } }, firstColumnStyle: { bg: { rgb: `rgb(255, 255, 255)` } }, secondColumnStyle: { bg: { rgb: n } }, lastRowStyle: { bg: { rgb: t } } }); + var nn2 = (e29, t, n) => new en3(`middle-${e29}`, { headerRowStyle: { bg: { rgb: t } }, headerColumnStyle: { bg: { rgb: n } }, secondRowStyle: { bg: { rgb: n } }, lastRowStyle: { bg: { rgb: t } }, lastColumnStyle: { bg: { rgb: n } } }); + var rn2 = (e29, t, n, i) => new en3(`dark-${e29}`, { headerRowStyle: { bg: { rgb: t }, cl: { rgb: `rgb(255, 255, 255)` }, ht: Yn.CENTER, bl: A.TRUE }, firstRowStyle: { bg: { rgb: n } }, secondRowStyle: { bg: { rgb: i } }, lastRowStyle: { bg: { rgb: t } } }); + var an3 = [{ baseName: `blue`, header: `rgb(164, 202, 254)`, color: `rgb(225, 239, 254)` }, { baseName: `grey`, header: `rgb(205, 208, 216)`, color: `rgb(238, 239, 241)` }, { baseName: `red`, header: `rgb(248, 180, 180)`, color: `rgb(253, 232, 232)` }, { baseName: `orange`, header: `rgb(253, 186, 140)`, color: `rgb(254, 236, 220)` }, { baseName: `yellow`, header: `rgb(250, 200, 21)`, color: `rgb(255, 244, 185)` }, { baseName: `green`, header: `rgb(132, 225, 188)`, color: `rgb(222, 247, 236)` }, { baseName: `azure`, header: `rgb(126, 220, 226)`, color: `rgb(213, 245, 246)` }, { baseName: `indigo`, header: `rgb(186, 198, 248)`, color: `rgb(233, 237, 255)` }, { baseName: `purple`, header: `rgb(202, 191, 253)`, color: `rgb(237, 235, 254)` }, { baseName: `magenta`, header: `rgb(248, 180, 217)`, color: `rgb(252, 232, 243)` }]; + var on3 = [{ baseName: `blue`, rowHeader: `rgb(63, 131, 248)`, colHeader: `rgb(195, 221, 253)` }, { baseName: `grey`, rowHeader: `rgb(95, 101, 116)`, colHeader: `rgb(227, 229, 234)` }, { baseName: `red`, rowHeader: `rgb(240, 82, 82)`, colHeader: `rgb(251, 213, 213)` }, { baseName: `orange`, rowHeader: `rgb(255, 90, 31)`, colHeader: `rgb(252, 217, 189)` }, { baseName: `yellow`, rowHeader: `rgb(212, 157, 15)`, colHeader: `rgb(252, 220, 106)` }, { baseName: `green`, rowHeader: `rgb(13, 164, 113)`, colHeader: `rgb(188, 240, 218)` }, { baseName: `azure`, rowHeader: `rgb(6, 148, 162)`, colHeader: `rgb(175, 236, 239)` }, { baseName: `indigo`, rowHeader: `rgb(70, 106, 247)`, colHeader: `rgb(210, 218, 250)` }, { baseName: `purple`, rowHeader: `rgb(144, 97, 249)`, colHeader: `rgb(220, 215, 254)` }, { baseName: `magenta`, rowHeader: `rgb(231, 70, 148)`, colHeader: `rgb(250, 209, 232)` }]; + var sn3 = [{ baseName: `blue`, rowHeader: `rgb(30, 66, 159)`, firstRow: `rgb(195, 221, 253)`, secondRow: `rgb(118, 169, 250)` }, { baseName: `grey`, rowHeader: `rgb(44, 48, 64)`, firstRow: `rgb(227, 229, 234)`, secondRow: `rgb(151, 157, 172)` }, { baseName: `red`, rowHeader: `rgb(155, 28, 28)`, firstRow: `rgb(251, 213, 213)`, secondRow: `rgb(249, 128, 128)` }, { baseName: `orange`, rowHeader: `rgb(180, 52, 3)`, firstRow: `rgb(252, 217, 189)`, secondRow: `rgb(255, 138, 76)` }, { baseName: `yellow`, rowHeader: `rgb(154, 109, 21)`, firstRow: `rgb(252, 220, 106)`, secondRow: `rgb(212, 157, 15)` }, { baseName: `green`, rowHeader: `rgb(4, 108, 78)`, firstRow: `rgb(188, 240, 218)`, secondRow: `rgb(49, 196, 141)` }, { baseName: `azure`, rowHeader: `rgb(3, 102, 114)`, firstRow: `rgb(175, 236, 239)`, secondRow: `rgb(22, 189, 202)` }, { baseName: `indigo`, rowHeader: `rgb(16, 51, 191)`, firstRow: `rgb(210, 218, 250)`, secondRow: `rgb(98, 128, 249)` }, { baseName: `purple`, rowHeader: `rgb(74, 29, 150)`, firstRow: `rgb(220, 215, 254)`, secondRow: `rgb(172, 148, 250)` }, { baseName: `magenta`, rowHeader: `rgb(153, 21, 75)`, firstRow: `rgb(250, 209, 232)`, secondRow: `rgb(241, 126, 184)` }]; + var cn2 = an3.map(({ baseName: e29, header: t, color: n }) => tn3(e29, t, n)); + var ln4 = on3.map(({ baseName: e29, rowHeader: t, colHeader: n }) => nn2(e29, t, n)); + var un3 = sn3.map(({ baseName: e29, rowHeader: t, firstRow: n, secondRow: r }) => rn2(e29, t, n, r)); + var dn3 = [...cn2, ...ln4, ...un3]; + var fn2 = { headerRowStyle: { bg: { rgb: `rgb(68,114,196)` }, cl: { rgb: `rgb(255,255,255)` }, ht: Yn.CENTER, bl: A.TRUE }, firstRowStyle: { bg: { rgb: `rgb(217,225,242)` } } }; + var pn3 = new en3(`default`, fn2); + var mn3 = new en3(`default-last-row`, { ...fn2, lastRowStyle: { bd: { t: { s: k.THIN, cl: { rgb: `rgb(68,114,196)` } } }, ht: Yn.CENTER, bl: A.TRUE } }); + var hn3 = class { + constructor() { + U4(this, `_toggleRanges`, []); + } + refresh(e29, t) { + let { startRow: n, endRow: r } = e29, i = [], a = 0, o = false, s = -1; + for (let e30 = n; e30 <= r; e30++) { + if (!t(e30)) { + a++, a % 2 == 1 ? o = true : (o = false, s !== -1 && (i.push([s, e30 - 1]), s = -1)); + continue; + } + a % 2 == 1 ? o ? s === -1 && (s = e30) : (o = true, s = e30) : o && (i.push([s, e30 - 2]), o = false, s = -1), e30 === r && o && i.push([s, e30]); + } + this._toggleRanges = i; + } + getToggleRanges() { + return this._toggleRanges.concat(); + } + getIsToggled(e29) { + let t = 0, n = this._toggleRanges.length - 1; + for (; t <= n; ) { + let r = Math.floor((t + n) / 2), [i, a] = this._toggleRanges[r]; + if (e29 < i) n = r - 1; + else if (e29 > a) t = r + 1; + else return true; + } + return false; + } + }; + var gn3 = class extends E { + constructor(e29, t, n) { + super(), this._sheetInterceptorService = e29, this._resourceManagerService = t, this._univerInstanceService = n, U4(this, `_rangeThemeStyleMap`, /* @__PURE__ */ new Map()), U4(this, `_rangeThemeStyleRuleMap`, /* @__PURE__ */ new Map()), U4(this, `_rTreeCollection`, /* @__PURE__ */ new Map()), U4(this, `_defaultRangeThemeMap`, /* @__PURE__ */ new Map()), U4(this, `_zebraCrossingCacheMap`, /* @__PURE__ */ new Map()), U4(this, `_rowVisibleFuncSet`, /* @__PURE__ */ new Map()), U4(this, `_rangeThemeMapChanged$`, new Subject()), U4(this, `rangeThemeMapChange$`, this._rangeThemeMapChanged$.asObservable()), this._registerIntercept(), this._initSnapshot(), this._initDefaultTheme(); + } + _initDefaultTheme() { + this.registerDefaultRangeTheme(pn3), this.registerDefaultRangeTheme(mn3); + for (let e29 of dn3) this.registerDefaultRangeTheme(e29); + } + _ensureRangeThemeStyleMap(e29) { + return this._rangeThemeStyleMap.has(e29) || this._rangeThemeStyleMap.set(e29, /* @__PURE__ */ new Map()), this._rangeThemeStyleMap.get(e29); + } + _ensureRangeThemeStyleRuleMap(e29) { + return this._rangeThemeStyleRuleMap.has(e29) || this._rangeThemeStyleRuleMap.set(e29, /* @__PURE__ */ new Map()), this._rangeThemeStyleRuleMap.get(e29); + } + _ensureRTreeCollection(e29) { + return this._rTreeCollection.has(e29) || this._rTreeCollection.set(e29, new dd()), this._rTreeCollection.get(e29); + } + getDefaultRangeThemeStyle(e29) { + return this._defaultRangeThemeMap.get(e29); + } + getCustomRangeThemeStyle(e29, t) { + return this._ensureRangeThemeStyleMap(e29).get(t); + } + _getSheetRowVisibleFuncSet(e29, t) { + this._rowVisibleFuncSet.has(e29) || this._rowVisibleFuncSet.set(e29, /* @__PURE__ */ new Map()); + let n = this._rowVisibleFuncSet.get(e29); + return n.has(t) || n.set(t, /* @__PURE__ */ new Set()), n.get(t); + } + _getSheetRowVisibleHasInit(e29, t) { + var n; + return !!(this._rowVisibleFuncSet.has(e29) && (n = this._rowVisibleFuncSet.get(e29)) != null && n.has(t)); + } + refreshSheetRowVisibleFuncSet(e29, t) { + let n = this._getSheetRowVisibleFuncSet(e29, t); + n.clear(); + let r = this._univerInstanceService.getUnit(e29); + if (r) { + let e30 = r.getSheetBySheetId(t); + if (e30) { + let t2 = e30.getRowCount(), r2 = e30.getRowManager(); + for (let i = 1; i <= t2; i++) e30.getRowVisible(i) ? r2.getRowHeight(i) === 0 && n.add(i) : n.add(i); + } + } + } + _ensureZebraCrossingCache(e29, t, n) { + this._zebraCrossingCacheMap.has(e29) || this._zebraCrossingCacheMap.set(e29, /* @__PURE__ */ new Map()); + let r = this._zebraCrossingCacheMap.get(e29); + r.has(t) || r.set(t, /* @__PURE__ */ new Map()); + let i = r.get(t); + return i.has(n) || i.set(n, new hn3()), i.get(n); + } + registerRangeThemeRule(e29, t) { + let { unitId: n, subUnitId: r, range: i } = t, a = O2(), o = this._ensureRangeThemeStyleRuleMap(n), s = this._ensureRTreeCollection(n); + o.set(a, { rangeInfo: t, themeName: e29 }), s.insert({ unitId: n, sheetId: r, range: i, id: a }), this._getSheetRowVisibleHasInit(n, r) || this.refreshSheetRowVisibleFuncSet(n, r); + let c = this._ensureZebraCrossingCache(n, r, a), l = this._getSheetRowVisibleFuncSet(n, r); + c.refresh(i, (e30) => !l.has(e30)); + } + getRegisteredRangeThemeStyle(e29) { + let { unitId: t, subUnitId: n, range: r } = e29, i = this._ensureRTreeCollection(t), a = Array.from(i.bulkSearch([{ unitId: t, sheetId: n, range: r }])); + if (a[0]) { + let e30 = this._ensureRangeThemeStyleRuleMap(t).get(a[0]); + if (e30) return e30.themeName; + } + } + refreshZebraCrossingCacheBySheet(e29, t) { + this._zebraCrossingCacheMap.has(e29) || this._zebraCrossingCacheMap.set(e29, /* @__PURE__ */ new Map()); + let n = this._zebraCrossingCacheMap.get(e29); + n.has(t) || n.set(t, /* @__PURE__ */ new Map()); + let r = n.get(t); + r && r.forEach((n2, i) => { + let a = this._ensureRangeThemeStyleRuleMap(e29).get(i); + a ? n2.refresh(a.rangeInfo.range, (n3) => !this._getSheetRowVisibleFuncSet(e29, t).has(n3)) : r.delete(i); + }); + } + removeRangeThemeRule(e29, t) { + let { unitId: n, subUnitId: r, range: i } = t, a = this._ensureRTreeCollection(n), o = Array.from(a.bulkSearch([{ unitId: n, sheetId: r, range: i }])), s = this._ensureRangeThemeStyleRuleMap(n); + for (let t2 = 0; t2 < o.length; t2++) { + let c = s.get(o[t2]); + if (c && c.themeName === e29) { + s.delete(o[t2]), a.remove({ unitId: n, sheetId: r, range: i, id: o[t2] }); + let e30 = this._zebraCrossingCacheMap.get(n); + if (e30) { + let n2 = e30.get(r); + n2 && n2.delete(o[t2]); + } + break; + } + } + } + registerDefaultRangeTheme(e29) { + this._defaultRangeThemeMap.set(e29.getName(), e29), this._rangeThemeMapChanged$.next({ type: `add`, styleName: e29.getName() }); + } + unRegisterDefaultRangeTheme(e29) { + this._defaultRangeThemeMap.delete(e29), this._rangeThemeMapChanged$.next({ type: `remove`, styleName: e29 }); + } + getRegisteredRangeThemes() { + return Array.from(this._defaultRangeThemeMap.keys()); + } + registerRangeThemeStyle(e29, t) { + this._ensureRangeThemeStyleMap(e29).set(t.getName(), t), this._rangeThemeMapChanged$.next({ type: `add`, styleName: t.getName() }); + } + unregisterRangeThemeStyle(e29, t) { + this._ensureRangeThemeStyleMap(e29).delete(t), this._rangeThemeMapChanged$.next({ type: `remove`, styleName: t }); + } + getALLRegisteredTheme(e29) { + return Array.from(this._ensureRangeThemeStyleMap(e29).keys()); + } + getRangeThemeStyle(e29, t) { + return this._defaultRangeThemeMap.has(t) ? this._defaultRangeThemeMap.get(t) : this._ensureRangeThemeStyleMap(e29).get(t); + } + getCellStyle(e29, t, n, r) { + let i = { startRow: n, startColumn: r, endRow: n, endColumn: r }, a = this._ensureRTreeCollection(e29), o = Array.from(a.bulkSearch([{ unitId: e29, sheetId: t, range: i }])); + if (o[0]) { + let i2 = this._ensureRangeThemeStyleRuleMap(e29).get(o[0]); + if (i2) { + let { rangeInfo: a2, themeName: s } = i2, c = n - a2.range.startRow, l = r - a2.range.startColumn, u = this.getRangeThemeStyle(e29, s), d = this._ensureZebraCrossingCache(e29, t, o[0]).getIsToggled(n); + if (u) return u.getStyle(c, l, n === a2.range.endRow, r === a2.range.endColumn, d); + } + } + } + _registerIntercept() { + this.disposeWithMe(this._sheetInterceptorService.intercept(Bt3.CELL_CONTENT, { id: Ht2, effect: At.Style, handler: (e29, t, n) => { + let { row: r, col: i, unitId: a, subUnitId: o } = t, s = this.getCellStyle(a, o, r, i); + if (s) { + let r2 = !e29 || e29 === t.rawData ? { ...t.rawData } : e29; + return r2.themeStyle = s, n(r2); + } + return n(e29); + } })); + } + toJson(e29) { + let t = this._ensureRangeThemeStyleRuleMap(e29), n = this._ensureRangeThemeStyleMap(e29); + if (n.size === 0 && t.size === 0) return `{}`; + let r = {}; + t.forEach((e30, t2) => { + r[t2] = e30; + }); + let i = {}; + return n.forEach((e30, t2) => { + i[t2] = e30.toJson(); + }), JSON.stringify({ rangeThemeStyleRuleMap: r, rangeThemeStyleMapJson: i }); + } + fromJSON(e29, t) { + let { rangeThemeStyleRuleMap: n, rangeThemeStyleMapJson: r } = t; + n && Object.keys(n).forEach((e30) => { + let { themeName: t2, rangeInfo: r2 } = n[e30]; + t2.startsWith(`table`) || (this.registerRangeThemeRule(t2, r2), this._ensureRTreeCollection(r2.unitId).insert({ unitId: e30, sheetId: r2.subUnitId, range: r2.range, id: e30 })); + }), r && Object.keys(r).forEach((t2) => { + let n2 = r[t2], i = new en3(n2.name); + i.fromJson(n2), this._ensureRangeThemeStyleMap(e29).set(i.getName(), i); + }); + } + deleteUnitId(e29) { + this._rangeThemeStyleMap.delete(e29), this._rangeThemeStyleRuleMap.delete(e29), this._rTreeCollection.delete(e29); + } + _initSnapshot() { + this.disposeWithMe(this._resourceManagerService.registerPluginResource({ toJson: (e29) => this.toJson(e29), parseJson: (e29) => { + if (!e29) return {}; + try { + return JSON.parse(e29); + } catch { + return {}; + } + }, businesses: [O.UNIVER_SHEET], pluginName: `SHEET_RANGE_THEME_MODEL_PLUGIN`, onLoad: (e29, t) => { + this.fromJSON(e29, t); + }, onUnLoad: (e29) => { + this.deleteUnitId(e29); + } })); + } + dispose() { + super.dispose(), this._rangeThemeStyleMap.clear(), this._rangeThemeStyleRuleMap.clear(), this._defaultRangeThemeMap.clear(), this._rTreeCollection.clear(), this._zebraCrossingCacheMap.clear(), this._rowVisibleFuncSet.clear(); + } + }; + gn3 = G4([W4(0, Inject(K4)), W4(1, Inject(ll)), W4(2, Inject(Mu))], gn3); + var _n3 = { id: `sheet.mutation.set-worksheet-range-theme-style`, type: ri.MUTATION, handler: (e29, t) => { + if (!V4(e29.get(Mu), t)) return false; + let n = e29.get(gn3), { unitId: r, subUnitId: i, range: a, themeName: o } = t; + return n.registerRangeThemeRule(o, { range: a, unitId: r, subUnitId: i }), true; + } }; + var vn3 = (e29, t) => { + let n = Rt2(e29.get(Mu), t); + if (!n) throw Error(`[SetWorksheetRangeThemeStyleMutation]: worksheet is null error!`); + let { worksheet: r } = n; + return { unitId: t.unitId, subUnitId: r.getSheetId(), range: t.range, themeName: t.themeName }; + }; + var yn3 = { id: `sheet.mutation.remove-worksheet-range-theme-style`, type: ri.MUTATION, handler: (e29, t) => { + if (!V4(e29.get(Mu), t)) return false; + let n = e29.get(gn3), { unitId: r, subUnitId: i, range: a, themeName: o } = t; + return n.removeRangeThemeRule(o, { range: a, unitId: r, subUnitId: i }), true; + } }; + var bn2 = (e29, t) => { + let n = Rt2(e29.get(Mu), t); + if (!n) throw Error(`[DeleteWorksheetRangeThemeStyleMutationFactory]: worksheet is null error!`); + let { worksheet: r } = n; + return { unitId: t.unitId, subUnitId: r.getSheetId(), range: t.range, themeName: t.themeName }; + }; + var xn3 = (e29, t) => { + if (!Rt2(e29.get(Mu), t)) throw Error(`Workbook or Worksheet not found at InsertRowMutationUndoFactory`); + return { unitId: t.unitId, subUnitId: t.subUnitId, range: t.range }; + }; + var Sn3 = { id: `sheet.mutation.insert-row`, type: ri.MUTATION, handler: (e29, t) => { + let n = Rt2(e29.get(Mu), t); + if (!n) throw Error(`Workbook or Worksheet not found at InsertRowMutation`); + let { worksheet: r } = n, i = r.getRowManager(), { range: a, rowInfo: o } = t, { startRow: s, endRow: c } = a; + i.insertRowsWithData(s, c, o); + let l = c - s + 1; + return r.setRowCount(r.getRowCount() + l), r.getCellMatrix().insertRows(s, l), true; + } }; + var Cn3 = (e29, t) => { + if (!Rt2(e29.get(Mu), t)) throw Error(`Workbook or Worksheet not found at InsertColMutationUndoFactory`); + return { unitId: t.unitId, subUnitId: t.subUnitId, range: t.range }; + }; + var wn3 = { id: `sheet.mutation.insert-col`, type: ri.MUTATION, handler: (e29, t) => { + let n = Rt2(e29.get(Mu), t); + if (!n) throw Error(`Workbook or Worksheet not found at InsertColMutation`); + let { worksheet: r } = n, i = r.getColumnManager(), { range: a, colInfo: o } = t, { startColumn: s, endColumn: c } = a; + i.insertColumnsWithData(s, c, o); + let l = c - s + 1; + return r.setColumnCount(r.getColumnCount() + l), r.getCellMatrix().insertColumns(a.startColumn, l), true; + } }; + var Tn3 = { id: `sheet.mutation.move-range`, type: ri.MUTATION, handler: (e29, t) => { + let { from: n, to: r } = t; + if (!n || !r) return false; + let i = e29.get(Mu).getCurrentUnitForType(O.UNIVER_SHEET); + if (!i) return false; + let a = i.getSheetBySheetId(t.from.subUnitId), o = i.getSheetBySheetId(t.to.subUnitId); + if (!a || !o) return false; + let s = a.getCellMatrix(), c = o.getCellMatrix(); + return new Sa(n.value).forValue((e30, t2, n2) => { + n2 == null ? s.realDeleteValue(e30, t2) : s.setValue(e30, t2, n2); + }), new Sa(r.value).forValue((e30, t2, n2) => { + n2 == null ? c.realDeleteValue(e30, t2) : c.setValue(e30, t2, n2); + }), true; + } }; + function En2(e29, t) { + let { unitId: n, subUnitId: r, sourceRange: i, targetRange: a } = t, o = i.startRow > a.startRow, s = i.endRow - i.startRow + 1; + return o ? { unitId: n, subUnitId: r, sourceRange: G.clone(a), targetRange: { ...i, endRow: i.endRow + s, startRow: i.startRow + s } } : { unitId: n, subUnitId: r, targetRange: G.clone(i), sourceRange: { ...a, endRow: a.endRow - s, startRow: a.startRow - s } }; + } + var Dn3 = { id: `sheet.mutation.move-rows`, type: ri.MUTATION, handler: (e29, t) => { + let { unitId: n, subUnitId: r, sourceRange: i, targetRange: a } = t, o = e29.get(Mu).getUniverSheetInstance(n); + if (!o) throw Error(`[MoveRowMutation] univerSheet is null!`); + let s = o.getSheetBySheetId(r); + if (!s) throw Error(`[MoveRowMutation] worksheet is null!`); + let c = i.startRow, l = i.endRow - i.startRow + 1, u = a.startRow; + return ya(c, l, u, s.getRowManager().getRowData()), s.getCellMatrix().moveRows(c, l, u), true; + } }; + function On3(e29, t) { + let { unitId: n, subUnitId: r, sourceRange: i, targetRange: a } = t, o = i.startColumn > a.startColumn, s = i.endColumn - i.startColumn + 1; + return o ? { unitId: n, subUnitId: r, sourceRange: G.clone(a), targetRange: { ...i, endColumn: i.endColumn + s, startColumn: i.startColumn + s } } : { unitId: n, subUnitId: r, targetRange: G.clone(i), sourceRange: { ...a, startColumn: a.startColumn - s, endColumn: a.endColumn - s } }; + } + var kn3 = { id: `sheet.mutation.move-columns`, type: ri.MUTATION, handler: (e29, t) => { + let { unitId: n, subUnitId: r, sourceRange: i, targetRange: a } = t, o = e29.get(Mu).getUniverSheetInstance(n); + if (!o) throw Error(`[MoveColumnMutation] univerSheet is null!`); + let s = o.getSheetBySheetId(r); + if (!s) throw Error(`[MoveColumnMutation] worksheet is null!`); + let c = i.startColumn, l = i.endColumn - i.startColumn + 1, u = a.startColumn; + return ya(c, l, u, s.getColumnManager().getColumnData()), s.getCellMatrix().moveColumns(c, l, u), true; + } }; + var An2 = (e29, t) => { + let n = t.getRowManager().getRowData(), r = {}, i = e29.range, a = _a(r, va(i.startRow, i.endRow, n)); + return { unitId: e29.unitId, subUnitId: e29.subUnitId, range: e29.range, rowInfo: a }; + }; + var jn2 = { id: `sheet.mutation.remove-rows`, type: ri.MUTATION, handler: (e29, t) => { + let n = e29.get(Mu).getUniverSheetInstance(t.unitId); + if (n == null) throw Error(`universheet is null error!`); + let r = n.getSheetBySheetId(t.subUnitId); + if (!r) return false; + let i = t.range, a = r.getRowManager().getRowData(), o = []; + for (let e30 = i.startRow; e30 <= i.endRow; e30++) r.getRowFiltered(e30) && o.push(e30); + let s = i.endRow - i.startRow + 1; + return ga(i.startRow, s, a), r.getCellMatrix().removeRows(i.startRow, s), r.setRowCount(r.getRowCount() - s), true; + } }; + var Mn2 = (e29, t) => { + let n = e29.get(Mu).getUniverSheetInstance(t.unitId); + if (n == null) throw Error(`universheet is null error!`); + let r = n.getSheetBySheetId(t.subUnitId); + if (r == null) throw Error(`worksheet is null error!`); + let i = r.getColumnManager().getColumnData(), a = {}, o = t.range, s = _a(a, va(o.startColumn, o.endColumn, i)); + return { unitId: t.unitId, subUnitId: t.subUnitId, range: t.range, colInfo: s }; + }; + var Nn3 = { id: `sheet.mutation.remove-col`, type: ri.MUTATION, handler: (e29, t) => { + let n = e29.get(Mu).getUniverSheetInstance(t.unitId); + if (n == null) throw Error(`universheet is null error!`); + let r = n.getSheetBySheetId(t.subUnitId); + if (!r) return false; + let i = t.range, a = r.getColumnManager().getColumnData(), o = i.endColumn - i.startColumn + 1; + return ga(i.startColumn, o, a), r.setColumnCount(r.getColumnCount() - o), r.getCellMatrix().removeColumns(i.startColumn, o), true; + } }; + var Pn2 = (e29, t) => { + let n = Rt2(e29.get(Mu), t); + if (!n) throw Error(`Workbook or worksheet is null error!`); + let { worksheet: r } = n, i = r.getConfig().mergeData, a = t.ranges, o = []; + for (let e30 = 0; e30 < a.length; e30++) for (let t2 = i.length - 1; t2 >= 0; t2--) { + let n2 = i[t2], r2 = a[e30]; + G.intersects(n2, r2) && o.push(i[t2]); + } + return { unitId: t.unitId, subUnitId: t.subUnitId, ranges: o }; + }; + var q4 = { id: `sheet.mutation.remove-worksheet-merge`, type: ri.MUTATION, handler: (e29, t) => { + let n = Rt2(e29.get(Mu), t); + if (!n) throw Error(`Workbook or worksheet is null error!`); + let { worksheet: r } = n, i = r.getConfig().mergeData, a = t.ranges; + for (let e30 = 0; e30 < a.length; e30++) for (let t2 = i.length - 1; t2 >= 0; t2--) { + let n2 = i[t2], r2 = a[e30]; + G.intersects(n2, r2) && i.splice(t2, 1); + } + return r.getSpanModel().rebuild(i), true; + } }; + var Fn3 = (e29) => { + let { order: t } = e29, n = {}; + return Object.keys(t).forEach((e30) => { + n[t[Number(e30)]] = Number(e30); + }), { ...e29, order: n }; + }; + var In2 = { id: `sheet.mutation.reorder-range`, type: ri.MUTATION, handler: (e29, t) => { + let { subUnitId: n, unitId: r, range: i, order: a } = t, o = e29.get(Mu).getUnit(r).getSheetBySheetId(n); + if (!o) return false; + let s = new Sa(); + Eo.foreach(i, (e30, t2) => { + if (a.hasOwnProperty(e30)) { + let n2 = a[e30], r2 = D.deepClone(o.getCellRaw(n2, t2)); + s.setValue(e30, t2, r2); + } + }); + let c = o.getCellMatrix(); + return s.forValue((e30, t2, n2) => { + c.setValue(e30, t2, n2); + }), true; + } }; + function Ln3(e29, t) { + if (e29 == null) return e29; + let n = D.deepClone(e29); + if (t == null) return n; + let r = {}; + return `h` in t && (r.h = n.h), `ia` in t && (r.ia = n.ia), `ah` in t && (r.ah = n.ah), `hd` in t && (r.hd = n.hd), `s` in t && (r.s = n.s), `custom` in t && (r.custom = n.custom), r; + } + function Rn3(e29, t) { + if (e29 == null) return e29; + let n = D.deepClone(e29); + if (t == null) return n; + let r = {}; + return `w` in t && (r.w = n.w), `hd` in t && (r.hd = n.hd), `s` in t && (r.s = n.s), `custom` in t && (r.custom = n.custom), r; + } + var zn3 = (e29, t) => { + let { unitId: n, subUnitId: r, columnData: i } = e29, a = {}, o = t.getColumnManager(); + for (let e30 in i) { + let t2 = i[e30]; + a[e30] = Rn3(o.getColumn(Number(e30)), t2); + } + return { unitId: n, subUnitId: r, columnData: a }; + }; + var Bn3 = { id: `sheet.mutation.set-col-data`, type: ri.MUTATION, handler: (e29, t) => { + let { columnData: n } = t, r = V4(e29.get(Mu), t); + if (!r) return false; + let { worksheet: i } = r, a = i.getColumnManager(); + for (let e30 in n) { + let t2 = n[e30]; + if (t2 == null) { + a.removeColumn(Number(e30)); + continue; + } + let r2 = a.getColumnOrCreate(Number(e30)); + Object.assign(r2, t2); + } + return true; + } }; + var Vn3 = (e29, t) => { + if (e29.get(Mu).getUniverSheetInstance(t.unitId) == null) throw Error(`universheet is null error!`); + return { unitId: t.unitId, subUnitId: t.subUnitId, ranges: t.ranges }; + }; + var Hn3 = { id: `sheet.mutation.set-col-hidden`, type: ri.MUTATION, handler: (e29, t) => { + let n = e29.get(Mu).getUniverSheetInstance(t.unitId); + if (!n) return false; + let i = n.getSheetBySheetId(t.subUnitId).getColumnManager(); + for (let e30 = 0; e30 < t.ranges.length; e30++) { + let n2 = t.ranges[e30]; + for (let e31 = n2.startColumn; e31 < n2.endColumn + 1; e31++) { + let t2 = i.getColumnOrCreate(e31); + t2 != null && (t2.hd = A.TRUE); + } + } + return true; + } }; + var Un2 = (e29, t) => { + if (e29.get(Mu).getUniverSheetInstance(t.unitId) == null) throw Error(`universheet is null error!`); + return { unitId: t.unitId, subUnitId: t.subUnitId, ranges: t.ranges }; + }; + var Wn3 = { id: `sheet.mutation.set-col-visible`, type: ri.MUTATION, handler: (e29, t) => { + let n = e29.get(Mu).getUniverSheetInstance(t.unitId); + if (!n) return false; + let i = n.getSheetBySheetId(t.subUnitId).getColumnManager(); + for (let e30 = 0; e30 < t.ranges.length; e30++) { + let n2 = t.ranges[e30]; + for (let e31 = n2.startColumn; e31 < n2.endColumn + 1; e31++) { + let t2 = i.getColumnOrCreate(e31); + t2 != null && (t2.hd = A.FALSE); + } + } + return true; + } }; + var Gn3 = { id: `sheet.mutation.set-gridlines-color`, type: ri.MUTATION, handler: (e29, t) => { + let n = V4(e29.get(Mu), t); + if (!n) return false; + let { worksheet: r } = n, i = r.getConfig(); + return i.gridlinesColor = t.color, true; + } }; + function Kn3(e29) { + return typeof e29 == `object` && !!e29 && !Array.isArray(e29); + } + function qn3(e29, t, n) { + for (let r of t) Object.prototype.hasOwnProperty.call(e29, r) && n(r, e29[r]); + } + function Jn3(e29, t, n) { + if (e29 == null) return e29; + if (!Kn3(e29)) return; + let r = {}, i = false; + if (qn3(e29, t, (e30, t2) => { + r[e30] = t2, i = true; + }), n) for (let t2 in n) { + let a = n[t2]; + if (!a || !Object.prototype.hasOwnProperty.call(e29, t2)) continue; + let o = a(e29[t2]); + o !== void 0 && (r[t2] = o, i = true); + } + return i ? r : void 0; + } + function Yn3(e29, t, n) { + if (e29 == null) return e29; + if (!Kn3(e29)) return; + let r = {}, i = false; + return qn3(e29, t, (e30, t2) => { + let a = n(t2); + a !== void 0 && (r[e30] = a, i = true); + }), i ? r : void 0; + } + function Xn3(e29) { + switch (e29) { + case `bd`: + case `tr`: + case `td`: + case `ht`: + case `vt`: + case `tb`: + case `pd`: + case `bg`: + return true; + default: + return false; + } + } + function Zn3(e29) { + return e29 == null || [`string`, `number`, `boolean`].includes(typeof e29); + } + function Qn3(e29) { + return Jn3(e29, Hr); + } + function $n3(e29) { + return Jn3(e29, Vr, { cl: Qn3 }); + } + function er3(e29) { + return Jn3(e29, Ur, { cl: Qn3 }); + } + function tr2(e29) { + return Yn3(e29, Wr, er3); + } + function nr3(e29) { + return Jn3(e29, Gr); + } + function rr3(e29) { + return Jn3(e29, Kr); + } + function ir3(e29) { + if (e29 == null) return e29; + if (!(!Kn3(e29) || !Object.prototype.hasOwnProperty.call(e29, `pattern`) || typeof e29.pattern != `string`)) return { pattern: e29.pattern }; + } + function ar3(e29, t) { + switch (e29) { + case `ul`: + case `bbl`: + case `st`: + case `ol`: + return $n3(t); + case `bg`: + case `cl`: + return Qn3(t); + case `bd`: + return tr2(t); + case `tr`: + return nr3(t); + case `pd`: + return rr3(t); + case `n`: + return ir3(t); + default: + return Zn3(t) ? t : void 0; + } + } + function or3(e29, n) { + if (n === null) return null; + if (n === void 0) return e29; + let r = n, i = D.isObject(e29) ? { ...e29 } : {}; + return qn3(r, Wr, (e30, t) => { + let n2 = er3(t); + n2 !== void 0 && (i[e30] = n2); + }), i; + } + function sr3(e29, t, n) { + let r = e29.getStyleByCell(t); + r == null && delete t.s, typeof n.s == `string` && (n.s = e29.get(n.s)); + let i = ur3(r, n.s ? n.s : null); + i && (D.removeNull(i), Object.entries(i).forEach(([e30, t2]) => { + typeof t2 == `object` && t2 && Object.keys(t2).length === 0 && delete i[e30]; + })), D.isEmptyObject(i) ? delete t.s : t.s = e29.setValue(i); + let a = n.v ? `${n.v}\r +` : ``; + if (!n.p && t.p) { + var o; + a && a !== ((o = t.p.body) == null ? void 0 : o.dataStream) ? delete t.p : fr3(t.p, n.s ? n.s : null); + } + } + function cr3(e29, t) { + if (!t || !Object.keys(t).length) return e29; + let n = D.deepClone(e29 == null ? {} : e29) || {}, r = t; + for (let e30 of qr) { + if (!Object.prototype.hasOwnProperty.call(r, e30)) continue; + let t2 = ar3(e30, r[e30]); + t2 !== void 0 && (e30 === `bd` ? n[e30] = lr3(n[e30] || {}, t2) : e30 in n || (n[e30] = null)); + } + return n; + } + function lr3(e29, n) { + if (!n || !Object.keys(n).length) return e29; + let r = e29; + for (let i of Wr) Object.prototype.hasOwnProperty.call(n, i) && (i in e29 || (r[i] = null)); + return e29; + } + function ur3(e29, t, n = false) { + if (t === null) return t; + if (t === void 0) return e29; + let r = D.deepClone(e29) || {}, i = t; + for (let e30 of qr) { + if (!Object.prototype.hasOwnProperty.call(i, e30) || n && Xn3(e30)) continue; + let t2 = ar3(e30, i[e30]); + t2 !== void 0 && (e30 === `bd` ? r[e30] = or3(r[e30], t2) : r[e30] = t2); + } + if (`cl` in r) { + let e30 = r, t2 = e30.cl; + `ul` in e30 && e30.ul && (e30.ul.cl = t2), `ol` in e30 && e30.ol && (e30.ol.cl = t2), `st` in e30 && e30.st && (e30.st.cl = t2); + } + return r; + } + function dr3(e29, t) { + return e29.some((e30) => e30.startIndex === t) ? dr3(e29, t + 1) : t; + } + function fr3(e29, t) { + var n; + if (e29.body == null) return; + Array.isArray(e29.body.textRuns) || (e29.body.textRuns = []); + let r = 0, i = [], a = ((n = e29.body) == null ? void 0 : n.paragraphs) || []; + for (let n2 of e29.body.textRuns) { + let { st: e30, ed: o2, ts: s = {} } = n2; + if (r < e30) { + let n3 = { st: r, ed: e30 }, a2 = ur3({}, t, true); + a2 && D.removeNull(a2), D.isEmptyObject(a2) || (n3.ts = a2), i.push(n3); + } + let c = ur3(s, t, true); + c && D.removeNull(c), D.isEmptyObject(c) ? delete n2.ts : n2.ts = c, i.push(n2), r = dr3(a, o2); + } + let o = e29.body.dataStream.endsWith(`\r +`) ? e29.body.dataStream.length - 2 : e29.body.dataStream.length; + if (r < o) { + let e30 = { st: r, ed: o }, n2 = ur3({}, t, true); + n2 && D.removeNull(n2), D.isEmptyObject(n2) || (e30.ts = n2), i.push(e30); + } + e29.body.textRuns = Zo(i); + } + function pr3(e29, t) { + return t.v === void 0 || t.v === null ? t.v : e29 === tr.NUMBER ? Number(t.v) : e29 === tr.BOOLEAN ? mr3(t.v) ? 1 : 0 : e29 === tr.STRING || e29 === tr.FORCE_STRING ? `${t.v}` : t.v; + } + function mr3(e29) { + if (typeof e29 == `string`) { + if (e29.toUpperCase() === `TRUE`) return true; + if (e29.toUpperCase() === `FALSE`) return false; + if (en(e29)) { + if (Number(e29) === 0) return false; + if (Number(e29) === 1) return true; + } + } + if (typeof e29 == `number`) { + if (e29 === 0) return false; + if (e29 === 1) return true; + } + return typeof e29 == `boolean` ? e29 : null; + } + function hr3(e29) { + return e29 == null ? null : (e29.f === void 0 && (e29.f = null), e29.si === void 0 && (e29.si = null), e29.p === void 0 && (e29.p = null), e29.v === void 0 && (e29.v = null), e29.t === void 0 && (e29.t = null), e29.s === void 0 && (e29.s = null), e29.custom === void 0 && (e29.custom = null), e29); + } + var gr3 = (e29, t) => { + let { unitId: n, subUnitId: r, cellValue: i } = t, a = e29.get(Mu).getUniverSheetInstance(n); + if (a == null) throw Error(`workbook is null error!`); + let o = a.getSheetBySheetId(r); + if (o == null) throw Error(`worksheet is null error!`); + let s = o.getCellMatrix(), c = a.getStyles(), l = new Sa(); + return new Sa(i).forValue((e30, t2, n2) => { + let r2 = D.deepClone(s == null ? void 0 : s.getValue(e30, t2)) || {}; + r2.s = cr3(c.getStyleByCell(r2), c.getStyleByCell(n2)), l.setValue(e30, t2, hr3(r2)); + }), { ...t, options: {}, cellValue: l.getMatrix() }; + }; + var J4 = { id: `sheet.mutation.set-range-values`, type: ri.MUTATION, handler: (e29, t) => { + let { cellValue: n, subUnitId: r, unitId: i } = t, a = e29.get(Mu).getUnit(i); + if (!a) return false; + let o = a.getSheetBySheetId(r); + if (!o) return false; + let s = o.getCellMatrix(), c = a.getStyles(); + return new Sa(n).forValue((e30, t2, n2) => { + if (!n2) s.realDeleteValue(e30, t2); + else { + let r2 = s.getValue(e30, t2) || {}; + r2 = vr3(n2, r2, c), D.isEmptyObject(r2) ? s.realDeleteValue(e30, t2) : s.setValue(e30, t2, r2); + } + }), true; + } }; + var _r3 = /* @__PURE__ */ new Set([`f`, `p`, `si`, `custom`, `ref`, `xf`]); + function vr3(e29, t, n) { + let r = Nt3(n, e29, t); + return Object.keys(e29).forEach((i) => { + let a = i; + if (_r3.has(a)) { + let n2 = e29[a]; + yr3(t, a, n2); + } else a === `v` ? e29.v !== void 0 && (t.v = pr3(r, e29)) : a === `s` && sr3(n, t, e29); + }), t.v !== void 0 && (t.t = r, t.v = pr3(r, t)), t.v === null && (delete t.t, delete t.v), t; + } + function yr3(e29, t, n) { + n === void 0 || (n === null ? delete e29[t] : e29[t] = n); + } + var br3 = (e29, t) => { + let { unitId: n, subUnitId: r, rowData: i } = e29, a = {}, o = t.getRowManager(); + for (let e30 in i) { + let t2 = i[e30]; + a[e30] = Ln3(o.getRow(Number(e30)), t2); + } + return { unitId: n, subUnitId: r, rowData: a }; + }; + var xr3 = { id: `sheet.mutation.set-row-data`, type: ri.MUTATION, handler: (e29, t) => { + let { rowData: n } = t, r = V4(e29.get(Mu), t); + if (!r) return false; + let { worksheet: i } = r, a = i.getRowManager(); + for (let e30 in n) { + let t2 = n[e30]; + if (t2 == null) { + a.removeRow(Number(e30)); + continue; + } + let r2 = a.getRowOrCreate(Number(e30)); + Object.assign(r2, t2); + } + return true; + } }; + var Sr3 = (e29, t) => { + if (e29.get(Mu).getUniverSheetInstance(t.unitId) == null) throw Error(`universheet is null error!`); + return { unitId: t.unitId, subUnitId: t.subUnitId, ranges: t.ranges }; + }; + var Cr3 = { id: `sheet.mutation.set-row-visible`, type: ri.MUTATION, handler: (e29, t) => { + let n = e29.get(Mu).getUniverSheetInstance(t.unitId); + if (n == null) throw Error(`universheet is null error!`); + let r = n.getSheetBySheetId(t.subUnitId).getRowManager(); + for (let e30 = 0; e30 < t.ranges.length; e30++) { + let n2 = t.ranges[e30]; + for (let e31 = n2.startRow; e31 < n2.endRow + 1; e31++) { + let t2 = r.getRowOrCreate(e31); + t2 != null && (t2.hd = 0); + } + } + return true; + } }; + var wr3 = (e29, t) => { + if (e29.get(Mu).getUniverSheetInstance(t.unitId) == null) throw Error(`universheet is null error!`); + return { unitId: t.unitId, subUnitId: t.subUnitId, ranges: t.ranges }; + }; + var Tr3 = { id: `sheet.mutation.set-row-hidden`, type: ri.MUTATION, handler: (e29, t) => { + let n = e29.get(Mu).getUniverSheetInstance(t.unitId); + if (n == null) throw Error(`universheet is null error!`); + let r = n.getSheetBySheetId(t.subUnitId).getRowManager(); + for (let e30 = 0; e30 < t.ranges.length; e30++) { + let n2 = t.ranges[e30]; + for (let e31 = n2.startRow; e31 < n2.endRow + 1; e31++) { + let t2 = r.getRowOrCreate(e31); + t2 != null && (t2.hd = 1); + } + } + return true; + } }; + var Er3 = (e29, t) => { + let { unitId: n, subUnitId: r, ranges: i } = e29, a = {}, o = t.getColumnManager(); + for (let e30 = 0; e30 < i.length; e30++) { + let t2 = i[e30]; + for (let e31 = t2.startColumn; e31 < t2.endColumn + 1; e31++) a[e31] = o.getColumnWidth(e31); + } + return { unitId: n, subUnitId: r, ranges: i, colWidth: a }; + }; + var Dr3 = { id: `sheet.mutation.set-worksheet-col-width`, type: ri.MUTATION, handler: (e29, t) => { + let n = V4(e29.get(Mu), t); + if (!n) return false; + let { worksheet: r } = n, i = r.getColumnManager(), a = t.ranges; + for (let e30 = 0; e30 < a.length; e30++) { + let n2 = a[e30]; + for (let e31 = n2.startColumn; e31 < n2.endColumn + 1; e31++) r.getColVisible(e31) && (typeof t.colWidth == `number` ? i.setColumnWidth(e31, t.colWidth) : D.isDefine(t.colWidth[e31]) && i.setColumnWidth(e31, t.colWidth[e31])); + } + return true; + } }; + var Or3 = (e29, t) => { + let n = Rt2(e29.get(Mu), t); + if (!n) throw Error(`[SetWorksheetColumnCountUndoMutationFactory]: worksheet is null error!`); + return { unitId: t.unitId, subUnitId: t.subUnitId, columnCount: n.worksheet.getColumnCount() }; + }; + var kr3 = { id: `sheet.mutation.set-worksheet-column-count`, type: ri.MUTATION, handler: (e29, t) => { + let n = Rt2(e29.get(Mu), t); + return n ? (n.worksheet.setColumnCount(t.columnCount), true) : false; + } }; + var Ar3 = { id: `sheet.mutation.set-worksheet-default-style`, type: ri.MUTATION, handler: (e29, t) => { + let n = V4(e29.get(Mu), t); + if (!n) return false; + let { worksheet: r } = n, { defaultStyle: i } = t; + return r.setDefaultCellStyle(i), true; + } }; + var jr3 = (e29, t) => { + let n = Rt2(e29.get(Mu), t); + if (!n) throw Error(`[SetWorksheetDefaultStyleMutationFactory]: worksheet is null error!`); + let { worksheet: r } = n; + return { unitId: t.unitId, subUnitId: r.getSheetId(), defaultStyle: r.getDefaultCellStyle() }; + }; + var Mr3 = (e29, t) => { + let n = Rt2(e29.get(Mu), t); + if (!n) throw Error(`[SetWorksheetRowCountUndoMutationFactory]: worksheet is null error!`); + return { unitId: t.unitId, subUnitId: t.subUnitId, rowCount: n.worksheet.getRowCount() }; + }; + var Nr3 = { id: `sheet.mutation.set-worksheet-row-count`, type: ri.MUTATION, handler: (e29, t) => { + let n = Rt2(e29.get(Mu), t); + return n ? (n.worksheet.setRowCount(t.rowCount), true) : false; + } }; + var Pr3 = (e29, t) => { + let { unitId: n, subUnitId: r, ranges: i } = e29, a = {}, o = t.getRowManager(); + for (let { startRow: e30, endRow: n2 } of i) for (let r2 = e30; r2 < n2 + 1; r2++) { + var s, c; + a[r2] = (s = (c = o.getRow(r2)) == null ? void 0 : c.h) == null ? t.getConfig().defaultRowHeight : s; + } + return { unitId: n, subUnitId: r, ranges: i, rowHeight: a }; + }; + var Fr3 = (e29, t) => { + let { unitId: n, subUnitId: r, ranges: i } = e29, a = {}, o = t.getRowManager(); + for (let { startRow: e30, endRow: t2 } of i) for (let n2 = e30; n2 <= t2; n2++) { + var s; + a[n2] = (s = o.getRow(n2)) == null ? void 0 : s.ia; + } + return { unitId: n, subUnitId: r, ranges: i, autoHeightInfo: a }; + }; + var Ir3 = (e29, t) => { + let { unitId: n, subUnitId: r, rowsAutoHeightInfo: i } = e29, a = [], o = t.getRowManager(); + for (let e30 of i) { + var s, c; + let { row: n2 } = e30; + a.push({ row: n2, autoHeight: (s = (c = o.getRow(n2)) == null ? void 0 : c.ah) == null ? t.getConfig().defaultRowHeight : s }); + } + return { unitId: n, subUnitId: r, rowsAutoHeightInfo: a }; + }; + var Lr3 = { id: `sheet.mutation.set-worksheet-row-height`, type: ri.MUTATION, handler: (e29, t) => { + let { ranges: n, rowHeight: r } = t, i = V4(e29.get(Mu), t); + if (!i) return false; + let { worksheet: a } = i, o = a.getRowManager(); + for (let { startRow: e30, endRow: t2 } of n) for (let n2 = e30; n2 <= t2; n2++) typeof r == `number` ? o.setRowHeight(n2, r) : D.isDefine(r[n2]) && o.setRowHeight(n2, r[n2]); + return true; + } }; + var Rr3 = { id: `sheet.mutation.set-worksheet-row-is-auto-height`, type: ri.MUTATION, handler: (e29, t) => { + let { ranges: n, autoHeightInfo: r } = t, i = V4(e29.get(Mu), t); + if (!i) return false; + let a = i.worksheet.getRowManager(); + for (let { startRow: e30, endRow: t2 } of n) for (let n2 = e30; n2 <= t2; n2++) { + let e31 = a.getRowOrCreate(n2); + if (typeof r == `number`) e31.ia = r; + else { + var o; + e31.ia = (o = r[n2]) == null ? void 0 : o; + } + } + return true; + } }; + var zr3 = { id: `sheet.mutation.set-worksheet-row-auto-height`, type: ri.MUTATION, handler: (e29, t) => { + let { rowsAutoHeightInfo: n } = t, r = V4(e29.get(Mu), t); + if (!r) return false; + let i = r.worksheet.getRowManager(); + for (let { row: e30, autoHeight: t2 } of n) { + let n2 = i.getRowOrCreate(e30); + n2.ah = t2; + } + return true; + } }; + var Br3 = { id: `sheet.mutation.toggle-gridlines`, type: ri.MUTATION, handler: (e29, t) => { + let n = V4(e29.get(Mu), t); + if (!n) return false; + let { worksheet: r } = n, i = r.getConfig(); + return i.showGridlines = t.showGridlines, true; + } }; + var Vr3 = { id: `sheet.operation.set-worksheet-active`, type: ri.OPERATION, handler: (e29, t) => { + let n = e29.get(Mu).getUniverSheetInstance(t.unitId); + if (!n) return false; + let r = n.getWorksheets(); + for (let [, e30] of r) if (e30.getSheetId() === t.subUnitId) return n.setActiveSheet(e30), true; + return false; + } }; + var Hr3 = (function(e29) { + return e29.SET_WORKSHEET_ROW_HEIGHT = `sheet.mutation.set-worksheet-row-height`, e29.SET_WORKSHEET_ROW_IS_AUTO_HEIGHT = `sheet.mutation.set-worksheet-row-is-auto-height`, e29.SET_WORKSHEET_ROW_AUTO_HEIGHT = `sheet.mutation.set-worksheet-row-auto-height`, e29.SET_WORKSHEET_COL_WIDTH = `sheet.mutation.set-worksheet-col-width`, e29.SET_WORKSHEET_ACTIVE = `sheet.operation.set-worksheet-active`, e29.MOVE_ROWS = `sheet.mutation.move-rows`, e29.MOVE_COLUMNS = `sheet.mutation.move-columns`, e29.SET_COL_HIDDEN = `sheet.mutation.set-col-hidden`, e29.SET_COL_VISIBLE = `sheet.mutation.set-col-visible`, e29.SET_ROW_HIDDEN = `sheet.mutation.set-row-hidden`, e29.SET_ROW_VISIBLE = `sheet.mutation.set-row-visible`, e29.INSERT_COL = `sheet.mutation.insert-col`, e29.INSERT_ROW = `sheet.mutation.insert-row`, e29.REMOVE_COL = `sheet.mutation.remove-col`, e29.REMOVE_ROW = `sheet.mutation.remove-rows`, e29.TOGGLE_GRIDLINES = `sheet.mutation.toggle-gridlines`, e29.SET_GRIDLINES_COLOR = `sheet.mutation.set-gridlines-color`, e29; + })({}); + var Ur3 = (function(e29) { + return e29.SET_RANGE_VALUES = `sheet.mutation.set-range-values`, e29.MOVE_RANGE = `sheet.mutation.move-range`, e29.REMOVE_WORKSHEET_MERGE = `sheet.mutation.remove-worksheet-merge`, e29.ADD_WORKSHEET_MERGE = `sheet.mutation.add-worksheet-merge`, e29.REORDER_RANGE = `sheet.mutation.reorder-range`, e29.SET_WORKSHEET_DEFAULT_STYLE = `sheet.mutation.set-worksheet-default-style`, e29.SET_ROW_DATA = `sheet.mutation.set-row-data`, e29.SET_COL_DATA = `sheet.mutation.set-col-data`, e29.SET_WORKSHEET_RANGE_THEME_STYLE = `sheet.mutation.set-worksheet-range-theme-style`, e29.DELETE_WORKSHEET_RANGE_THEME_STYLE = `sheet.mutation.delete-worksheet-range-theme-style`, e29; + })({}); + var Wr3 = [Lr3.id, Rr3.id, zr3.id, Dr3.id, Vr3.id, Dn3.id, kn3.id, Hn3.id, Wn3.id, Tr3.id, Cr3.id, wn3.id, Sn3.id, Nn3.id, jn2.id, Br3.id, Gn3.id, Nr3.id, kr3.id]; + var Gr3 = [J4.id, Tn3.id, q4.id, H4.id, In2.id, Ar3.id, xr3.id, Bn3.id, _n3.id, yn3.id]; + function Jr3(e29) { + return e29 == null ? false : e29.v !== void 0 && e29.v !== null && e29.v !== `` || e29.p !== void 0; + } + function Yr3(e29, t) { + return e29 && e29.spanAnchor ? Jr3(t.getValue(e29.spanAnchor.startRow, e29.spanAnchor.startColumn)) : Jr3(e29); + } + function Xr2(e29, t, n, r, i) { + let a = e29.getCellMatrix(), o = e29.getSpanModel().getMergedCellRange(t, n, r, i), s = new Sa(); + return a.forValue((e30, t2) => { + let n2 = a.getValue(e30, t2); + n2 && s.setValue(e30, t2, n2); + }), o.forEach((e30) => { + let { startColumn: t2, startRow: n2, endColumn: r2, endRow: i2 } = e30; + Uo(n2, i2, t2, r2).forEach((e31, o2) => { + e31 === n2 && o2 === t2 && s.setValue(e31, o2, { ...a.getValue(e31, o2), spanAnchor: { startRow: n2, endRow: i2, startColumn: t2, endColumn: r2 } }), (e31 !== n2 || o2 !== t2) && (s.realDeleteValue(e31, o2), s.setValue(e31, o2, { spanAnchor: { startRow: n2, endRow: i2, startColumn: t2, endColumn: r2 } })); + }); + }), s; + } + function Zr3(e29, t, n, r) { + let { startRow: i, startColumn: a, endRow: o } = e29, s = null, c = false; + for (let e30 = i; e30 <= o; e30++) { + let i2 = t.getValue(e30, a - n); + if (c = c || Yr3(i2, t), !r && c) break; + i2 && i2.spanAnchor && (s = s ? { startRow: Math.min(i2.spanAnchor.startRow, s.startRow), startColumn: Math.min(i2.spanAnchor.startColumn, s.startColumn), endRow: Math.max(i2.spanAnchor.endRow, s.endRow), endColumn: Math.max(i2.spanAnchor.endColumn, s.endColumn) } : { startRow: i2.spanAnchor.startRow, startColumn: i2.spanAnchor.startColumn, endRow: i2.spanAnchor.endRow, endColumn: i2.spanAnchor.endColumn }); + } + return c ? (e29.startColumn -= n, { spanAnchor: s, hasValue: true, range: e29 }) : s ? { spanAnchor: G.simpleRangesIntersect(e29, s) ? s : null, hasValue: false, range: e29 } : { spanAnchor: null, hasValue: false, range: e29 }; + } + function Qr2(e29, t, n, r) { + let { startRow: i, endColumn: a, endRow: o } = e29, s = null, c = false; + for (let e30 = i; e30 <= o; e30++) { + let i2 = t.getValue(e30, a + n); + if (c = c || Yr3(i2, t), !r && c) break; + i2 && i2.spanAnchor && (s = s ? { startRow: Math.min(i2.spanAnchor.startRow, s.startRow), startColumn: Math.min(i2.spanAnchor.startColumn, s.startColumn), endRow: Math.max(i2.spanAnchor.endRow, s.endRow), endColumn: Math.max(i2.spanAnchor.endColumn, s.endColumn) } : { startRow: i2.spanAnchor.startRow, startColumn: i2.spanAnchor.startColumn, endRow: i2.spanAnchor.endRow, endColumn: i2.spanAnchor.endColumn }); + } + return c ? (e29.endColumn += n, { spanAnchor: s, hasValue: true, range: e29 }) : s ? { spanAnchor: G.simpleRangesIntersect(e29, s) ? s : null, hasValue: false, range: e29 } : { spanAnchor: null, hasValue: false, range: e29 }; + } + function $r3(e29, t, n, r) { + let { startRow: i, startColumn: a, endColumn: o } = e29, s = null, c = false; + for (let e30 = a; e30 <= o; e30++) { + let a2 = t.getValue(i - n, e30); + if (c = c || Yr3(a2, t), !r && c) break; + a2 && a2.spanAnchor && (s = s ? { startRow: Math.min(a2.spanAnchor.startRow, s.startRow), startColumn: Math.min(a2.spanAnchor.startColumn, s.startColumn), endRow: Math.max(a2.spanAnchor.endRow, s.endRow), endColumn: Math.max(a2.spanAnchor.endColumn, s.endColumn) } : { startRow: a2.spanAnchor.startRow, startColumn: a2.spanAnchor.startColumn, endRow: a2.spanAnchor.endRow, endColumn: a2.spanAnchor.endColumn }); + } + return c ? (e29.startRow -= n, { spanAnchor: s, hasValue: true, range: e29 }) : s ? { spanAnchor: G.simpleRangesIntersect(e29, s) ? s : null, hasValue: false, range: e29 } : { spanAnchor: null, hasValue: false, range: e29 }; + } + function ei2(e29, t, n, r) { + let { startColumn: i, endColumn: a, endRow: o } = e29, s = null, c = false; + for (let e30 = i; e30 <= a; e30++) { + let i2 = t.getValue(o + n, e30); + if (c = c || Yr3(i2, t), !r && c) break; + i2 && i2.spanAnchor && (s = s ? { startRow: Math.min(i2.spanAnchor.startRow, s.startRow), startColumn: Math.min(i2.spanAnchor.startColumn, s.startColumn), endRow: Math.max(i2.spanAnchor.endRow, s.endRow), endColumn: Math.max(i2.spanAnchor.endColumn, s.endColumn) } : { startRow: i2.spanAnchor.startRow, startColumn: i2.spanAnchor.startColumn, endRow: i2.spanAnchor.endRow, endColumn: i2.spanAnchor.endColumn }); + } + return c ? (e29.endRow += n, { spanAnchor: s, hasValue: true, range: e29 }) : s ? { spanAnchor: G.simpleRangesIntersect(e29, s) ? s : null, hasValue: false, range: e29 } : { spanAnchor: null, hasValue: false, range: e29 }; + } + function ti2({ range: e29, allMatrixWithSpan: t, directions: n, isWorksheetHasSpan: r, maxRow: i, maxColumn: a }) { + let { left: o, right: s, up: c, down: l } = n, { startRow: u, startColumn: d, endRow: f, endColumn: p } = e29, m = false; + if (o && c && u > 0 && d > 0) { + let n2 = t.getValue(u - 1, d - 1); + Yr3(n2, t) && (r && n2.spanAnchor ? (e29.startRow = n2.spanAnchor.startRow, e29.startColumn = n2.spanAnchor.startColumn) : (e29.startRow = u - 1, e29.startColumn = d - 1), m = true); + } + if (s && c && u > 0 && p < a - 1) { + let n2 = t.getValue(u - 1, p + 1); + Yr3(n2, t) && (r && n2.spanAnchor ? (e29.startRow = n2.spanAnchor.startRow, e29.endColumn = n2.spanAnchor.endColumn) : (e29.startRow = u - 1, e29.endColumn = p + 1), m = true); + } + if (o && l && f < i - 1 && d > 0) { + let n2 = t.getValue(f + 1, d - 1); + Yr3(n2, t) && (r && n2.spanAnchor ? (e29.endRow = n2.spanAnchor.endRow, e29.startColumn = n2.spanAnchor.startColumn) : (e29.endRow = f + 1, e29.startColumn = d - 1), m = true); + } + if (s && l && f < i - 1 && p < a - 1) { + let n2 = t.getValue(f + 1, p + 1); + Yr3(n2, t) && (r && n2.spanAnchor ? (e29.endRow = n2.spanAnchor.endRow, e29.endColumn = n2.spanAnchor.endColumn) : (e29.endRow = f + 1, e29.endColumn = p + 1), m = true); + } + return { hasValue: m, range: e29 }; + } + function ni2(e29, t, n) { + let r = n.getMaxRows(), i = n.getMaxColumns(), a = Xr2(n, 0, 0, r - 1, i - 1), o = n.getSnapshot().mergeData.length > 0, { left: s, right: c, up: l, down: u } = t, d = true, f = { ...e29 }, p = []; + for (; d; ) { + d = false; + let e30 = ti2({ range: f, allMatrixWithSpan: a, directions: t, isWorksheetHasSpan: o, maxRow: r, maxColumn: i }); + if (e30.hasValue) { + f = e30.range, d = true; + continue; + } + if (l && f.startRow !== 0) { + let { hasValue: e31, range: t2, spanAnchor: n2 } = $r3(f, a, 1, o); + if (n2 && p.push(n2), e31) { + f = t2, d = true; + continue; + } + } + if (u && f.endRow !== r - 1) { + let { hasValue: e31, range: t2, spanAnchor: n2 } = ei2(f, a, 1, o); + if (n2 && p.push(n2), e31) { + f = t2, d = true; + continue; + } + } + if (s && f.startColumn !== 0) { + let { hasValue: e31, range: t2, spanAnchor: n2 } = Zr3(f, a, 1, o); + if (n2 && p.push(n2), e31) { + f = t2, d = true; + continue; + } + } + if (c && f.endColumn !== i - 1) { + let { hasValue: e31, range: t2, spanAnchor: n2 } = Qr2(f, a, 1, o); + if (n2 && p.push(n2), e31) { + f = t2, d = true; + continue; + } + } + } + return p.length > 0 && (f = G.union(f, ...p)), f; + } + var ri3 = (e29) => { + let t = new Sa(); + return e29.forEach((e30) => { + Eo.foreach(e30, (e31, n) => { + t.setValue(e31, n, 1); + }); + }), t.forValue((e30, n) => { + let r = t.getValue(e30 - 1, n); + r && t.setValue(e30, n, r + 1); + }), t; + }; + var ai3 = (e29) => { + let t = { area: 0 }, n = (e30, n2) => t.area < e30 ? (t.area = e30, t.range = n2, true) : false; + return e29.forValue((t2, r, i) => { + let a = 1, o = i; + n(a * o, { startRow: t2 - o + 1, endRow: t2, startColumn: r, endColumn: r }); + let s = { startRow: t2 - o + 1, endRow: t2, startColumn: 0, endColumn: r }; + for (let i2 = r - 1; i2 >= 0 && e29.getValue(t2, i2); i2--) { + o = Math.min(e29.getValue(t2, i2) || 0, o), a++; + let r2 = o * a; + s.startColumn = i2, s.startRow = t2 - o + 1, n(r2, s); + } + }), t; + }; + var oi3 = (e29, t) => { + Eo.foreach(t, (t2, n) => { + e29.realDeleteValue(t2, n); + }); + for (let n = t.startColumn; n <= t.endColumn; n++) { + let r = t.endRow + 1; + if (e29.getValue(r, n) > 0) { + e29.setValue(r, n, 1); + let t2 = r + 1; + for (; e29.getValue(t2, n) > 0; ) e29.setValue(t2, n, e29.getValue(t2 - 1, n) + 1), t2++; + } + } + return e29; + }; + var si3 = (e29) => { + let t = [], n = ai3(e29); + for (; n.area > 0; ) n.range && (t.push(n.range), oi3(e29, n.range)), n = ai3(e29); + return t; + }; + var ci3 = (e29) => si3(ri3(e29)); + var mi2 = (function(e29) { + return e29[e29.Tab = 1] = `Tab`, e29[e29.Comma = 2] = `Comma`, e29[e29.Semicolon = 4] = `Semicolon`, e29[e29.Space = 8] = `Space`, e29[e29.Custom = 16] = `Custom`, e29; + })({}); + var hi2 = class { + constructor() { + U4(this, `_tabCount`, 0), U4(this, `_commaCount`, 0), U4(this, `_semicolonCount`, 0), U4(this, `_spaceCount`, 0); + } + add(e29) { + switch (e29) { + case ` `: + this._tabCount++; + break; + case `,`: + this._commaCount++; + break; + case `;`: + this._semicolonCount++; + break; + case ` `: + this._spaceCount++; + break; + default: + break; + } + } + update(e29) { + e29 && typeof e29 == `string` && (e29.includes(` `) && this._tabCount++, e29.includes(`,`) && this._commaCount++, e29.includes(`;`) && this._semicolonCount++, e29.trim().includes(` `) && this._spaceCount++); + } + getDelimiter() { + let e29 = Math.max(this._tabCount, this._commaCount, this._semicolonCount, this._spaceCount); + return e29 === 0 || e29 === this._tabCount ? mi2.Tab : e29 === this._commaCount ? mi2.Comma : e29 === this._semicolonCount ? mi2.Semicolon : e29 === this._spaceCount ? mi2.Space : mi2.Tab; + } + }; + function gi(e29, t, n) { + let r = []; + n !== void 0 && (e29 & mi2.Custom) > 0 && r.push(n), (e29 & mi2.Tab) > 0 && r.push(` `), (e29 & mi2.Comma) > 0 && r.push(`,`), (e29 & mi2.Semicolon) > 0 && r.push(`;`), (e29 & mi2.Space) > 0 && r.push(` `); + let i = ``; + for (let e30 of r) i += _i3(e30); + let a = `[${i}]`; + return t && (a += `+`), new RegExp(a); + } + function _i3(e29) { + return e29.replace(/[.*+?^${}()|[\]\\]/g, `\\$&`); + } + var vi2 = (e29) => { + var t; + return ((t = e29.body) == null ? void 0 : t.dataStream.replace(/\r\n$/, ``)) || ``; + }; + function yi3(e29) { + if (e29 != null) { + if (e29.p) return vi2(e29.p); + if (e29.v && typeof e29.v == `string`) return e29.v; + if (e29.t && (e29.t === tr.FORCE_STRING || e29.t === tr.STRING)) return String(e29.v); + } + } + function bi3(e29, t, n, r, i = false) { + let { startColumn: a, startRow: o, endColumn: s, endRow: c } = Eo.transformRange(t, e29); + if (a !== s) throw Error(`The range must be in the same column.`); + if (n && (n & mi2.Custom) > 0 && (r === void 0 || r.length !== 1)) throw Error(`The custom delimiter must a character.`); + let l = n === void 0, u = l ? new hi2() : null, d = []; + for (let t2 = o; t2 <= c; t2++) { + let n2 = yi3(e29.getCell(t2, a)); + d.push(n2), u && u.update(n2); + } + let f = gi(l ? u.getDelimiter() : n, i, r), p = -1, m = 0, h = 0, g2 = []; + for (let e30 of d) { + if (e30 !== void 0) { + let t2 = String(e30).split(f); + p = p < 0 ? t2.length : Math.max(p, t2.length), g2.push(t2), m = h; + } else g2.push(void 0); + h++; + } + return { rs: g2, maxLength: p === -1 ? 0 : p, lastRow: m }; + } + var xi2 = (e29, t, n = ``) => e29.reduce((e30, r) => { + let i = r && r[t]; + return typeof i == `string` ? (i ? (e30[i] || (e30[i] = []), e30[i].push(r)) : e30[n].push(r), e30) : (console.warn(r, `${t} is not string`), e30); + }, {}); + var Si2 = (e29 = 0) => { + let t = e29; + return function() { + return t++; + }; + }; + function Ci2(e29) { + return e29 == null ? false : e29.v !== void 0 && e29.v !== null && e29.v !== `` || e29.p !== void 0; + } + function wi2(e29, t) { + for (let n = e29.startRow; n <= e29.endRow; n++) for (let r = e29.startColumn; r <= e29.endColumn; r++) if (Ci2(t.getCell(n, r))) return { startRow: n, startColumn: r, endRow: n, endColumn: r }; + return null; + } + function Ti2(e29) { + let t = new Sa(); + return e29.forEach((e30) => { + let { startRow: n, startColumn: r, endRow: i, endColumn: a } = e30; + for (let e31 = n; e31 <= i; e31++) for (let n2 = r; n2 <= a; n2++) t.setValue(e31, n2, null); + }), t.clone(); + } + function Ei2(e29) { + let t = new Sa(); + return e29.forEach((e30) => { + let { startRow: n, startColumn: r, endRow: i, endColumn: a } = e30; + for (let e31 = n; e31 <= i; e31++) for (let n2 = r; n2 <= a; n2++) t.setValue(e31, n2, { v: null, p: null, f: null, si: null, custom: null }); + }), t.clone(); + } + function Di2(e29) { + let t = new Sa(); + return e29.forEach((e30) => { + let { startRow: n, startColumn: r, endRow: i, endColumn: a } = e30; + for (let e31 = n; e31 <= i; e31++) for (let n2 = r; n2 <= a; n2++) t.setValue(e31, n2, { s: null }); + }), t.clone(); + } + function Oi2(e29) { + let { rows: t, cols: n } = e29; + return { startRow: t[0], endRow: t[t.length - 1], startColumn: n[0], endColumn: n[n.length - 1] }; + } + function ki2(e29, t, n, r) { + let i = t.get(Mu), a = n ? i.getUnit(n, O.UNIVER_SHEET) : i.getCurrentUnitForType(O.UNIVER_SHEET), o = r ? a == null ? void 0 : a.getSheetBySheetId(r) : a == null ? void 0 : a.getActiveSheet(); + if (!o) return null; + let { startRow: s, endRow: c, startColumn: l, endColumn: u } = e29, d = [], f = []; + for (let e30 = s; e30 <= c; e30++) o.getRowFiltered(e30) || d.push(e30); + for (let e30 = l; e30 <= u; e30++) f.push(e30); + return { rows: d, cols: f }; + } + function Ai2(e29, t, n, r) { + let i = V4(t.get(Mu), { unitId: n, subUnitId: r }); + if (!i) return e29; + let { worksheet: a } = i, o = []; + for (let t2 of e29) { + let { startRow: e30, endRow: n2, startColumn: r2, endColumn: i2 } = t2, s2 = [], c = e30; + for (let t3 = e30; t3 <= n2; t3++) a.getRowFiltered(t3) ? (c < t3 && s2.push([c, t3 - 1]), c = t3 + 1) : t3 === n2 && s2.push([c, n2]); + let l = o.findIndex((e31) => e31.startColumn === r2 && e31.endColumn === i2); + l > -1 ? o[l].rowIntervals = o[l].rowIntervals.concat(s2) : o.push({ startColumn: r2, endColumn: i2, rowIntervals: s2 }); + } + let s = []; + for (let e30 of o) { + let { startColumn: t2, endColumn: n2, rowIntervals: r2 } = e30, i2 = Za(r2); + for (let [e31, r3] of i2) s.push({ startRow: e31, endRow: r3, startColumn: t2, endColumn: n2 }); + } + return s; + } + var ji2 = (function(e29) { + return e29.OthersCanView = `othersCanView`, e29.NoOneElseCanView = `noOneElseCanView`, e29; + })({}); + var Mi2 = (function(e29) { + return e29.DesignedUserCanEdit = `designedUserCanEdit`, e29.OnlyMe = `onlyMe`, e29; + })({}); + var Ni2 = class { + constructor() { + U4(this, `_model`, /* @__PURE__ */ new Map()), U4(this, `_ruleChange$`, new Subject()), U4(this, `ruleChange$`, this._ruleChange$.asObservable()), U4(this, `_ruleRefresh$`, new Subject()), U4(this, `ruleRefresh$`, this._ruleRefresh$.asObservable()), U4(this, `_rangeRuleInitStateChange`, new BehaviorSubject(false)), U4(this, `rangeRuleInitStateChange$`, this._rangeRuleInitStateChange.asObservable()); + } + dispose() { + this._ruleChange$.complete(), this._ruleRefresh$.complete(); + } + ruleRefresh(e29) { + this._ruleRefresh$.next(e29); + } + getRangeRuleInitState() { + return this._rangeRuleInitStateChange.value; + } + changeRuleInitState(e29) { + this._rangeRuleInitStateChange.next(e29); + } + addRule(e29, t, n) { + this._ensureRuleMap(e29, t).set(n.id, n), this._ruleChange$.next({ unitId: e29, subUnitId: t, rule: n, type: `add` }); + } + deleteRule(e29, t, n) { + var r; + let i = (r = this._model.get(e29)) == null || (r = r.get(t)) == null ? void 0 : r.get(n); + if (i) { + var a; + (a = this._model.get(e29)) == null || (a = a.get(t)) == null || a.delete(n), this._ruleChange$.next({ unitId: e29, subUnitId: t, rule: i, type: `delete` }); + } + } + setRule(e29, t, n, r) { + let i = this.getRule(e29, t, n); + if (i) { + var a; + (a = this._model.get(e29)) == null || (a = a.get(t)) == null || a.set(n, r), this._ruleChange$.next({ unitId: e29, subUnitId: t, oldRule: i, rule: r, type: `set` }); + } + } + getRule(e29, t, n) { + var r; + return (r = this._model.get(e29)) == null || (r = r.get(t)) == null ? void 0 : r.get(n); + } + getSubunitRuleList(e29, t) { + var n; + return [...(((n = this._model.get(e29)) == null ? void 0 : n.get(t)) || /* @__PURE__ */ new Map()).values()]; + } + getSubunitRuleListLength(e29, t) { + var n; + let r = (n = this._model.get(e29)) == null ? void 0 : n.get(t); + return r ? r.size : 0; + } + _ensureRuleMap(e29, t) { + let n = this._model.get(e29); + n || (n = /* @__PURE__ */ new Map(), this._model.set(e29, n)); + let r = n.get(t); + return r || (r = /* @__PURE__ */ new Map(), n.set(t, r)), r; + } + toObject() { + let e29 = {}; + return [...this._model.keys()].forEach((t) => { + let n = this._model.get(t), r = [...n.keys()]; + e29[t] = {}, r.forEach((r2) => { + let i = n.get(r2); + e29[t][r2] = [...i.values()]; + }); + }), e29; + } + fromObject(e29) { + let t = /* @__PURE__ */ new Map(); + Object.keys(e29).forEach((n) => { + let r = e29[n], i = /* @__PURE__ */ new Map(); + Object.keys(r).forEach((e30) => { + let t2 = r[e30].reduce((e31, t3) => (e31.set(t3.id, t3), e31), /* @__PURE__ */ new Map()); + i.set(e30, t2); + }), t.set(n, i); + }), this._model = t; + } + deleteUnitModel(e29) { + this._model.delete(e29); + } + createRuleId(e29, t) { + let n = O2(4), r = this._ensureRuleMap(e29, t); + for (; r.has(n); ) n = O2(4); + return n; + } + getTargetByPermissionId(e29, t) { + let n = this._model.get(e29); + if (!n) return null; + for (let [r, i] of n) for (let n2 of i.values()) if (n2.permissionId === t) return [e29, r]; + return null; + } + }; + var Fi2 = { id: `sheet.mutation.delete-range-protection`, type: ri.MUTATION, handler: (e29, t) => { + let { unitId: n, subUnitId: r, ruleIds: i } = t, a = e29.get(Ni2); + return i.forEach((e30) => { + a.deleteRule(n, r, e30); + }), true; + } }; + var Li2 = { id: `sheet.mutation.add-range-protection`, type: ri.MUTATION, handler: (e29, t) => { + let { unitId: n, subUnitId: r, rules: i } = t, a = e29.get(Ni2); + return i.forEach((e30) => { + a.addRule(n, r, e30); + }), true; + } }; + var Ri2 = { type: ri.COMMAND, id: `sheet.command.add-range-protection`, async handler(e29, t) { + if (!t) return false; + let n = e29.get(ii), r = e29.get(td), i = e29.get(Ni2), { rule: a, permissionId: o } = t, { unitId: s, subUnitId: c, ranges: l, description: u, viewState: d, editState: f } = a, p = [{ ranges: l, permissionId: o, id: i.createRuleId(s, c), description: u, unitType: a.unitType, unitId: s, subUnitId: c, viewState: d, editState: f }]; + if (await n.executeCommand(Li2.id, { unitId: s, subUnitId: c, rules: p })) { + let e30 = [{ id: Li2.id, params: { unitId: s, subUnitId: c, rules: p } }], t2 = [{ id: Fi2.id, params: { unitId: s, subUnitId: c, ruleIds: p.map((e31) => e31.id) } }]; + r.pushUndoRedo({ unitID: s, redoMutations: e30, undoMutations: t2 }); + } + return true; + } }; + var zi2 = (function(e29) { + return e29[e29.MOVE_START = 0] = `MOVE_START`, e29[e29.MOVING = 1] = `MOVING`, e29[e29.MOVE_END = 2] = `MOVE_END`, e29[e29.ONLY_SET = 3] = `ONLY_SET`, e29; + })({}); + var Bi2 = class extends E { + constructor(e29) { + super(), this._workbook = e29, U4(this, `_worksheetSelections`, /* @__PURE__ */ new Map()), U4(this, `_worksheetLastSelectionPrimaryCell`, /* @__PURE__ */ new Map()), U4(this, `_selectionMoveStart$`, new Subject()), U4(this, `selectionMoveStart$`, this._selectionMoveStart$.asObservable()), U4(this, `_selectionMoving$`, new Subject()), U4(this, `selectionMoving$`, this._selectionMoving$.asObservable()), U4(this, `_selectionMoveEnd$`, new BehaviorSubject([])), U4(this, `selectionMoveEnd$`, this._selectionMoveEnd$.asObservable()), U4(this, `_selectionSet$`, new BehaviorSubject([])), U4(this, `selectionSet$`, this._selectionSet$.asObservable()), U4(this, `selectionChanged$`, void 0), U4(this, `_beforeSelectionMoveEnd$`, new BehaviorSubject([])), U4(this, `beforeSelectionMoveEnd$`, this._beforeSelectionMoveEnd$.asObservable()), this.selectionChanged$ = merge2(this._selectionMoveEnd$, this._selectionSet$); + } + dispose() { + super.dispose(), this._beforeSelectionMoveEnd$.complete(), this._selectionMoveEnd$.complete(), this._selectionMoving$.complete(), this._selectionMoveStart$.complete(), this._selectionSet$.complete(), this._workbook = null, this.clear(); + } + addSelections(e29, t) { + let n = this.getSelectionsOfWorksheet(e29); + n.push(...t), this._selectionSet$.next(n); + } + setSelections(e29, t = [], n) { + switch (this.setSelectionsOfWorksheet(e29, t), n) { + case zi2.MOVE_START: + this._selectionMoveStart$.next(t); + break; + case zi2.MOVING: + this._selectionMoving$.next(t); + break; + case zi2.MOVE_END: + this._beforeSelectionMoveEnd$.next(t), this._selectionMoveEnd$.next(t); + break; + case zi2.ONLY_SET: + this._selectionSet$.next(t); + break; + default: + this._selectionSet$.next(t); + break; + } + } + getCurrentSelections() { + return this._getCurrentSelections(); + } + getSelectionOfWorksheet(e29) { + return this.getSelectionsOfWorksheet(e29); + } + getSelectionsOfWorksheet(e29) { + return this._worksheetSelections.has(e29) || this._worksheetSelections.set(e29, []), this._worksheetSelections.get(e29); + } + getLastSelectionPrimaryCellOfWorksheet(e29) { + var t; + return (t = this._worksheetLastSelectionPrimaryCell.get(e29)) == null ? null : t; + } + setSelectionsOfWorksheet(e29, t) { + this._worksheetSelections.set(e29, [...t]), t.length > 0 && t[t.length - 1].primary && this._worksheetLastSelectionPrimaryCell.set(e29, t[t.length - 1].primary); + } + deleteSheetSelection(e29) { + this._worksheetSelections.set(e29, []), this._worksheetLastSelectionPrimaryCell.delete(e29); + } + clear() { + this._worksheetSelections.clear(), this._worksheetLastSelectionPrimaryCell.clear(), this._selectionSet$.next([]); + } + _getCurrentSelections() { + return this.getSelectionsOfWorksheet(this._workbook.getActiveSheet().getSheetId()); + } + getCurrentLastSelection() { + let e29 = this._getCurrentSelections(); + return e29[e29.length - 1]; + } + }; + var Y4 = class extends dn { + get _currentSelectionPos() { + let e29 = this._instanceSrv.getCurrentUnitForType(O.UNIVER_SHEET); + if (!e29) return null; + let t = e29.getActiveSheet(); + return { unitId: e29.getUnitId(), sheetId: t.getSheetId() }; + } + get currentSelectionParam() { + return this._currentSelectionPos; + } + constructor(e29) { + super(), this._instanceSrv = e29, U4(this, `_cellStylesCache`, /* @__PURE__ */ new Map()), U4(this, `selectionMoveStart$`, void 0), U4(this, `selectionMoving$`, void 0), U4(this, `selectionMoveEnd$`, void 0), U4(this, `selectionSet$`, void 0), U4(this, `selectionChanged$`, void 0), U4(this, `_workbookSelections`, /* @__PURE__ */ new Map()), this._init(); + } + _init() { + let e29 = this._instanceSrv.getCurrentTypeOfUnit$(O.UNIVER_SHEET).pipe(shareReplay(1), takeUntil(this.dispose$)); + this.selectionMoveStart$ = e29.pipe().pipe(switchMap((e30) => e30 ? this._ensureWorkbookSelection(e30.getUnitId()).selectionMoveStart$ : of())).pipe(takeUntil(this.dispose$)), this.selectionMoving$ = e29.pipe(switchMap((e30) => e30 ? this._ensureWorkbookSelection(e30.getUnitId()).selectionMoving$ : of())).pipe(takeUntil(this.dispose$)), this.selectionMoveEnd$ = e29.pipe(switchMap((e30) => e30 ? this._ensureWorkbookSelection(e30.getUnitId()).selectionMoveEnd$ : of([]))).pipe(takeUntil(this.dispose$)), this.selectionSet$ = e29.pipe(switchMap((e30) => e30 ? this._ensureWorkbookSelection(e30.getUnitId()).selectionSet$ : of([]))).pipe(takeUntil(this.dispose$)), this.selectionChanged$ = e29.pipe(switchMap((e30) => e30 ? this._ensureWorkbookSelection(e30.getUnitId()).selectionChanged$ : of([]))).pipe(distinctUntilChanged((e30, t) => e30.length === t.length ? e30.length === 0 && t.length === 0 ? true : e30.every((e31, n) => JSON.stringify(e31) === JSON.stringify(t[n])) : false), skip(1)).pipe(takeUntil(this.dispose$)), this.disposeWithMe(this._instanceSrv.getTypeOfUnitDisposed$(O.UNIVER_SHEET).pipe(takeUntil(this.dispose$)).subscribe((e30) => { + this._removeWorkbookSelection(e30.getUnitId()); + })), this.disposeWithMe(this.selectionChanged$.pipe(takeUntil(this.dispose$)).subscribe(() => { + this._cellStylesCache.clear(); + })); + } + dispose() { + super.dispose(), this._cellStylesCache.clear(), this._workbookSelections.forEach((e29) => e29.dispose()), this._workbookSelections.clear(), this.selectionMoveStart$ = of(null), this.selectionMoving$ = of(null), this.selectionMoveEnd$ = of([]), this.selectionSet$ = of(null), this.selectionChanged$ = of(null); + } + clear() { + this._workbookSelections.forEach((e29) => e29.clear()); + } + getCurrentSelections() { + return this._getCurrentSelections(); + } + getCurrentLastSelection() { + let e29 = this._getCurrentSelections(); + return e29 == null ? void 0 : e29[e29.length - 1]; + } + getCurrentLastSelectionPrimaryCell() { + let e29 = this._currentSelectionPos; + if (!e29) return null; + let { unitId: t, sheetId: n } = e29; + return this._ensureWorkbookSelection(t).getLastSelectionPrimaryCellOfWorksheet(n); + } + addSelections(e29, t, n) { + if (typeof e29 == `string`) { + this._ensureWorkbookSelection(e29).addSelections(t, n); + return; + } + let r = this._currentSelectionPos; + if (!r) throw Error(`[SheetsSelectionsService]: cannot find current selection position!`); + let { unitId: i, sheetId: a } = r; + this._ensureWorkbookSelection(i).addSelections(a, e29); + } + setSelections(e29, t, n, r) { + if (typeof e29 == `string` && typeof t == `string`) { + let i2 = e29; + this._ensureWorkbookSelection(i2).setSelections(t, n || [], r == null ? zi2.ONLY_SET : r); + return; + } + let i = this._currentSelectionPos; + if (!i) throw Error(`[SheetsSelectionsService]: cannot find current selection position!`); + let { unitId: a, sheetId: o } = i; + if (typeof e29 == `object`) { + var s; + let r2 = e29 == null ? n : e29, i2 = (s = t) == null ? zi2.ONLY_SET : s; + this._ensureWorkbookSelection(a).setSelections(o, r2, i2); + } + } + clearCurrentSelections() { + this._getCurrentSelections().splice(0); + } + isOverlapping() { + let e29 = this.getCurrentSelections(); + return e29 == null ? false : e29.some(({ range: t }, n) => e29.some(({ range: e30 }, r) => n === r ? false : t.startRow <= e30.endRow && t.endRow >= e30.startRow && t.startColumn <= e30.endColumn && t.endColumn >= e30.startColumn)); + } + _getCurrentSelections() { + let e29 = this._currentSelectionPos; + if (!e29) return []; + let { unitId: t, sheetId: n } = e29; + return this._ensureWorkbookSelection(t).getSelectionsOfWorksheet(n); + } + getWorkbookSelections(e29) { + return this._ensureWorkbookSelection(e29); + } + _ensureWorkbookSelection(e29) { + let t = this._workbookSelections.get(e29); + if (!t) { + let n = this._instanceSrv.getUnit(e29); + if (!n) throw Error(`[SheetsSelectionsService]: cannot resolve unit with id "${e29}"!`); + t = new Bi2(n), this._workbookSelections.set(e29, t); + } + return t; + } + _removeWorkbookSelection(e29) { + this._workbookSelections.delete(e29); + } + getCellStylesProperty(e29) { + var t; + let n = (t = this._instanceSrv.getCurrentUnitForType(O.UNIVER_SHEET)) == null ? void 0 : t.getActiveSheet(), r = this.getCurrentSelections(); + if (!n || r.length === 0) return { isAllValuesSame: false, value: null }; + let i = null; + for (let t2 = 0; t2 < r.length; t2++) { + let { startRow: a, endRow: o, startColumn: s, endColumn: c } = r[t2].range; + for (let t3 = a; t3 <= o; t3++) for (let r2 = s; r2 <= c; r2++) { + let a2 = `${t3}_${r2}`, o2; + this._cellStylesCache.has(a2) ? o2 = this._cellStylesCache.get(a2) : (o2 = n.getComposedCellStyle(t3, r2), this._cellStylesCache.set(a2, o2)); + let s2 = o2[e29]; + if (i != null && !D.diffValue(i, s2)) return { isAllValuesSame: false, value: null }; + i = s2; + } + } + return { isAllValuesSame: true, value: i }; + } + }; + Y4 = G4([W4(0, Mu)], Y4); + var Ui2 = `REF_SELECTIONS_ENABLED`; + var Wi2 = { id: `sheet.command.clear-selection-all`, type: ri.COMMAND, handler: (e29, t) => { + var n; + let r = e29.get(Mu), i = e29.get(ii), a = e29.get(Y4), o = e29.get(td), s = e29.get(K4), c = r.getCurrentUnitForType(O.UNIVER_SHEET); + if (!c) return false; + let l = (t == null ? void 0 : t.unitId) || c.getUnitId(), u = c.getActiveSheet(); + if (!u) return false; + let d = (t == null ? void 0 : t.subUnitId) || u.getSheetId(), f = (t == null ? void 0 : t.ranges) || ((n = a.getCurrentSelections()) == null ? void 0 : n.map((e30) => e30.range)); + if (!(f != null && f.length)) return false; + let p = Ai2(f, e29, l, d), m = [], h = [], g2 = { subUnitId: d, unitId: l, cellValue: Ti2(p) }, _2 = gr3(e29, g2); + m.push({ id: J4.id, params: g2 }), h.push({ id: J4.id, params: _2 }); + let v = s.onCommandExecute({ id: Wi2.id }); + return m.push(...v.redos), h.unshift(...v.undos), li(m, i) ? (o.pushUndoRedo({ unitID: l, undoMutations: h, redoMutations: m }), true) : false; + } }; + var Gi2 = { id: `sheet.command.clear-selection-format`, type: ri.COMMAND, handler: (e29, t) => { + var n; + let r = e29.get(Mu), i = e29.get(ii), a = e29.get(Y4), o = e29.get(td), s = e29.get(K4), c = r.getCurrentUnitForType(O.UNIVER_SHEET); + if (!c) return false; + let l = (t == null ? void 0 : t.unitId) || c.getUnitId(), u = c.getActiveSheet(); + if (!u) return false; + let d = (t == null ? void 0 : t.subUnitId) || u.getSheetId(), f = (t == null ? void 0 : t.ranges) || ((n = a.getCurrentSelections()) == null ? void 0 : n.map((e30) => e30.range)); + if (!(f != null && f.length)) return false; + let p = Ai2(f, e29, l, d), m = [], h = [], g2 = { subUnitId: d, unitId: l, cellValue: Di2(p) }, _2 = gr3(e29, g2); + m.push({ id: J4.id, params: g2 }), h.push({ id: J4.id, params: _2 }); + let v = s.onCommandExecute({ id: Gi2.id }); + return m.push(...v.redos), h.unshift(...v.undos), li(m, i) ? (o.pushUndoRedo({ unitID: l, undoMutations: h, redoMutations: m }), true) : false; + } }; + function Ki3(e29, t, n = true) { + let r = t.getMatrixWithMergedCells(...Xi(e29)), i = []; + if (r.forValue((t2, n2, r2) => { + if (r2.colSpan !== void 0 && r2.rowSpan !== void 0) { + let a2 = { startRow: t2, startColumn: n2, endRow: t2 + r2.rowSpan - 1, endColumn: n2 + r2.colSpan - 1 }; + G.contains(e29, a2) || i.push(a2); + } + }), i.length === 0) return e29; + let a = G.union(e29, ...i); + return n ? Ki3(a, t, n) : a; + } + function Yi2(e29, t) { + let n = Number.isNaN(e29.startRow) ? 0 : e29.startRow, r = Number.isNaN(e29.startColumn) ? 0 : e29.startColumn, i = t.getMergedCell(n, r); + return i ? { ...i, actualRow: n, actualColumn: r, rangeType: B.NORMAL, isMerged: true, isMergedMainCell: true } : { startRow: n, startColumn: r, endRow: e29.startRow, endColumn: e29.startColumn, actualRow: n, actualColumn: r, rangeType: B.NORMAL, isMerged: false, isMergedMainCell: false }; + } + var Xi3 = (e29, t, n) => ({ id: X4.id, params: { unitId: t.getUnitId(), subUnitId: n.getSheetId(), reveal: true, selections: [{ range: e29, primary: Yi2(e29, n) }] } }); + function Qi3(e29) { + function t(t2, n) { + function r(t3) { + for (let r2 = t3.startRow; r2 <= t3.endRow; r2++) if (!e29.getRowFiltered(r2)) for (let e30 = t3.startColumn; e30 <= t3.endColumn; e30++) n(r2, e30, t3); + } + r(t2); + } + return { forOperableEach: t }; + } + var $i2 = (e29) => e29.id !== Ht2; + function ea3(e29, t, n, r, i, a, o) { + let s = {}; + for (let c = t; c <= n; c++) for (let t2 = r; t2 <= i; t2++) { + let n2 = a ? e29.getCellWithFilteredInterceptors(o, t2, Ut3, $i2) : e29.getCellWithFilteredInterceptors(c, o, Ut3, $i2); + !n2 || !n2.s || (s[c] || (s[c] = {}), s[c][t2] = { s: n2.s }); + } + for (let e30 in s) { + for (let t2 in s[e30]) { + let n2 = s[e30][t2]; + n2.s && typeof n2.s == `object` && D.isEmptyObject(n2.s) && delete n2.s, D.isEmptyObject(n2) && delete s[e30][t2]; + } + D.isEmptyObject(s[e30]) && delete s[e30]; + } + return s; + } + var ta3 = createIdentifier(`sheets-formula.ref-selections.service`); + var na2 = class extends Y4 { + constructor(e29) { + super(e29); + } + _init() { + let e29 = this._getAliveWorkbooks$().pipe(takeUntil(this.dispose$)); + this.selectionMoveStart$ = e29.pipe(switchMap((e30) => merge2(...e30.map((e31) => e31.selectionMoveStart$)))), this.selectionMoving$ = e29.pipe(switchMap((e30) => merge2(...e30.map((e31) => e31.selectionMoving$)))), this.selectionMoveEnd$ = e29.pipe(switchMap((e30) => merge2(...e30.map((e31) => e31.selectionMoveEnd$)))), this.selectionSet$ = e29.pipe(switchMap((e30) => merge2(...e30.map((e31) => e31.selectionSet$)))); + } + dispose() { + super.dispose(), this.selectionMoveStart$ = of(null), this.selectionMoving$ = of(null), this.selectionMoveEnd$ = of(null), this.selectionSet$ = of(null), delete this._instanceSrv, this._workbookSelections.clear(); + } + _getAliveWorkbooks$() { + let e29 = this._instanceSrv.getAllUnitsForType(O.UNIVER_SHEET); + e29.forEach((e30) => this._ensureWorkbookSelection(e30.getUnitId())); + let t = new BehaviorSubject(e29); + return this.disposeWithMe(this._instanceSrv.getTypeOfUnitAdded$(O.UNIVER_SHEET).subscribe((e30) => { + this._ensureWorkbookSelection(e30.getUnitId()), t.next([...t.getValue(), e30]); + })), this.disposeWithMe(this._instanceSrv.getTypeOfUnitDisposed$(O.UNIVER_SHEET).subscribe((e30) => { + this._removeWorkbookSelection(e30.getUnitId()), t.next(t.getValue().filter((t2) => t2 !== e30)); + })), t.pipe(map((e30) => e30.map((e31) => this._ensureWorkbookSelection(e31.getUnitId())))); + } + }; + na2 = G4([W4(0, Mu)], na2); + function ra2(e29, t) { + let n = e29.get(Zr).getContextValue(Ui2); + return e29.get(n && !t ? ta3 : Y4); + } + var X4 = { id: `sheet.operation.set-selections`, type: ri.OPERATION, handler: (e29, t) => { + if (!t) return false; + let { selections: n, type: r, unitId: i, subUnitId: a } = t; + return ra2(e29).setSelections(i, a, [...n], r), true; + } }; + var ia2 = { id: `sheet.command.select-range`, type: ri.COMMAND, handler: (e29, t) => { + if (!t) return false; + let { unitId: n, subUnit: r, range: i } = t, a = e29.get(ii), o = V4(e29.get(Mu), t); + if (!o) return false; + let s = [{ range: i, primary: Yi2(i, o.worksheet), style: null }]; + return a.syncExecuteCommand(X4.id, { unitId: n, subUnitId: r, selections: s }); + } }; + var aa3 = `sheet.command.move-range`; + var oa3 = { type: ri.COMMAND, id: aa3, handler: async (e29, t) => { + let n = e29.get(ii), r = e29.get(td), i = e29.get(Pl), a = e29.get(zu); + if (!await e29.get(K4).beforeCommandExecute({ id: oa3.id, params: t })) return false; + let o = ca3(e29, t); + return o ? li(o.redos, n).result ? (r.pushUndoRedo({ unitID: o.unitId, undoMutations: o.undos, redoMutations: o.redos }), true) : false : (i.emit(a.t(`sheets.info.acrossMergedCell`)), false); + } }; + function sa2(e29, t) { + var n, r, i, a, o; + let s = e29.get(Mu), c = V4(s), l = (n = (r = t.toUnitId) == null ? t.fromUnitId : r) == null ? c == null ? void 0 : c.unitId : n, u = (i = t.fromSubUnitId) == null ? c == null ? void 0 : c.subUnitId : i, d = (a = (o = t.toSubUnitId) == null ? t.fromSubUnitId : o) == null ? c == null ? void 0 : c.subUnitId : a; + if (!l || !u || !d || t.fromUnitId && t.toUnitId && t.fromUnitId !== t.toUnitId) return null; + let f = s.getUniverSheetInstance(l), p = f == null ? void 0 : f.getSheetBySheetId(u), m = f == null ? void 0 : f.getSheetBySheetId(d); + return !p || !m ? null : { unitId: l, fromSubUnitId: u, toSubUnitId: d, fromWorksheet: p, toWorksheet: m }; + } + function ca3(e29, t, n = {}) { + var r, i; + let { includeSelection: a = true, includeAfterCommand: o = true, includeAutoHeight: s = true } = n, c = sa2(e29, t); + if (!c) return null; + let l = e29.get(K4), { unitId: u, fromSubUnitId: d, toSubUnitId: f, fromWorksheet: p, toWorksheet: m } = c, h = la3(e29, { unitId: u, subUnitId: d, range: t.fromRange }, { unitId: u, subUnitId: f, range: t.toRange }); + if (h === null) return null; + let g2 = { id: oa3.id, params: t }, _2 = l.onCommandExecute(g2), v = [...(r = _2.preRedos) == null ? [] : r, ...h.redos, ..._2.redos], y = [...(i = _2.preUndos) == null ? [] : i, ...h.undos, ..._2.undos]; + if (a && (v.push({ id: X4.id, params: { unitId: u, subUnitId: f, selections: [{ range: t.toRange, primary: ua3(t.fromRange, t.toRange, p, m) }], type: zi2.MOVE_END } }), y.push({ id: X4.id, params: { unitId: u, subUnitId: d, selections: [{ range: t.fromRange, primary: Yi2(t.fromRange, p) }], type: zi2.MOVE_END } })), o) { + let e30 = l.afterCommandExecute(g2); + v.push(...e30.redos), y.push(...e30.undos); + } + if (s) { + let { undos: e30, redos: n2 } = l.generateMutationsOfAutoHeight({ unitId: u, subUnitId: f, ranges: d === f ? [t.fromRange, t.toRange] : [t.toRange] }); + v.push(...n2), y.push(...e30); + } + return { unitId: u, redos: v, undos: y }; + } + function la3(e29, t, n, r = false) { + let i = [], a = [], { range: o, subUnitId: s, unitId: c } = t, { range: l, subUnitId: u } = n, d = e29.get(Mu).getUniverSheetInstance(c), f = d == null ? void 0 : d.getSheetBySheetId(u), p = d == null ? void 0 : d.getSheetBySheetId(s), m = f == null ? void 0 : f.getCellMatrix(), h = p == null ? void 0 : p.getCellMatrix(); + if (f && p && m && h) { + let e30 = Ki3(l, f, false); + if (!G.equals(l, e30) && !r) return null; + let p2 = new Sa(), g2 = new Sa(), _2 = new Sa(); + Eo.foreach(o, (e31, t2) => { + let n2 = h.getValue(e31, t2); + if (p2.setValue(e31, t2, D.deepClone(n2)), n2) { + let r2 = d == null ? void 0 : d.getStyles().get(n2.s); + _2.setValue(e31, t2, D.deepClone(r2)); + } + g2.setValue(e31, t2, null); + }); + let v = new Sa(), y = new Sa(); + Eo.foreach(l, (e31, t2) => { + v.setValue(e31, t2, D.deepClone(m.getValue(e31, t2))); + }), Eo.foreach(o, (e31, t2) => { + let n2 = Ia(e31, t2), r2 = G.getRelativeRange(n2, o), i2 = G.getPositionRange(r2, l), a2 = D.deepClone(_2.getValue(e31, t2)), s2 = D.deepClone(p2.getValue(e31, t2)); + s2 && a2 && (s2.s = a2), y.setValue(i2.startRow, i2.startColumn, s2); + }); + let b = { fromRange: t.range, toRange: n.range, from: { value: g2.getMatrix(), subUnitId: s }, to: { value: y.getMatrix(), subUnitId: u }, unitId: c }, x2 = { fromRange: n.range, toRange: t.range, from: { value: p2.getMatrix(), subUnitId: s }, to: { value: v.getMatrix(), subUnitId: u }, unitId: c }; + i.push({ id: Tn3.id, params: b }), a.push({ id: Tn3.id, params: x2 }); + } + return { redos: i, undos: a }; + } + function ua3(e29, t, n, r = n) { + let i = e29.startRow, a = e29.startColumn, o = n.getMergedCell(i, a), s = Yi2(t, r); + if (o) { + let e30 = o.endRow - o.startRow + 1, t2 = o.endColumn - o.startColumn + 1; + s.endRow = s.startRow + e30 - 1, s.endColumn = s.startColumn + t2 - 1, s.actualRow = s.startRow, s.actualColumn = s.startColumn, s.isMerged = false, s.isMergedMainCell = true; + } + return s; + } + var da3 = class { + constructor(e29, t, n) { + U4(this, `type`, S.SelectRange), U4(this, `subType`, R.Edit), U4(this, `status`, Hu.INIT), U4(this, `value`, true), U4(this, `id`, void 0), U4(this, `unitId`, void 0), U4(this, `subUnitId`, void 0), U4(this, `permissionId`, void 0), this.unitId = e29, this.subUnitId = t, this.permissionId = n, this.id = `${S.SelectRange}.${R.Edit}.${n}`; + } + }; + var fa3 = class { + constructor(e29, t, n) { + U4(this, `type`, S.SelectRange), U4(this, `subType`, R.View), U4(this, `status`, Hu.INIT), U4(this, `value`, false), U4(this, `id`, void 0), U4(this, `unitId`, void 0), U4(this, `subUnitId`, void 0), U4(this, `permissionId`, void 0), this.unitId = e29, this.subUnitId = t, this.permissionId = n, this.id = `${S.SelectRange}.${R.View}.${n}`; + } + }; + var pa3 = class { + constructor(e29) { + this.unitId = e29, U4(this, `id`, void 0), U4(this, `value`, true), U4(this, `type`, S.Workbook), U4(this, `status`, Hu.INIT), U4(this, `subType`, R.Comment), this.unitId = e29, this.id = `${this.type}.${R.Comment}_${e29}`; + } + }; + var ma2 = class { + constructor(e29) { + this.unitId = e29, U4(this, `id`, void 0), U4(this, `value`, true), U4(this, `type`, S.Workbook), U4(this, `status`, Hu.INIT), U4(this, `subType`, R.Copy), this.unitId = e29, this.id = `${this.type}.${R.Copy}_${e29}`; + } + }; + var ha2 = class { + constructor(e29) { + this.unitId = e29, U4(this, `id`, void 0), U4(this, `value`, true), U4(this, `type`, S.Workbook), U4(this, `subType`, R.CopySheet), U4(this, `status`, Hu.INIT), this.unitId = e29, this.id = `${this.type}.${R.CopySheet}_${e29}`; + } + }; + var ga3 = class { + constructor(e29) { + this.unitId = e29, U4(this, `id`, void 0), U4(this, `value`, true), U4(this, `type`, S.Workbook), U4(this, `status`, Hu.INIT), U4(this, `subType`, R.CreatePermissionObject), this.unitId = e29, this.id = `${this.type}.${R.CreatePermissionObject}_${e29}`; + } + }; + var _a3 = class { + constructor(e29) { + this.unitId = e29, U4(this, `id`, void 0), U4(this, `value`, true), U4(this, `type`, S.Workbook), U4(this, `status`, Hu.INIT), U4(this, `subType`, R.CreateSheet), this.unitId = e29, this.id = `${this.type}.${R.CreateSheet}_${e29}`; + } + }; + var va3 = class { + constructor(e29) { + this.unitId = e29, U4(this, `value`, true), U4(this, `type`, S.Workbook), U4(this, `status`, Hu.INIT), U4(this, `id`, void 0), U4(this, `subType`, R.DeleteColumn), this.id = `${this.type}.${R.DeleteColumn}_${e29}`; + } + }; + var ya3 = class { + constructor(e29) { + this.unitId = e29, U4(this, `value`, true), U4(this, `type`, S.Workbook), U4(this, `status`, Hu.INIT), U4(this, `id`, void 0), U4(this, `subType`, R.DeleteRow), this.id = `${this.type}.${R.DeleteRow}_${e29}`; + } + }; + var ba3 = class { + constructor(e29) { + this.unitId = e29, U4(this, `id`, void 0), U4(this, `value`, true), U4(this, `type`, S.Workbook), U4(this, `status`, Hu.INIT), U4(this, `subType`, R.DeleteSheet), this.unitId = e29, this.id = `${this.type}.${R.DeleteSheet}_${e29}`; + } + }; + var xa3 = class { + constructor(e29) { + this.unitId = e29, U4(this, `id`, void 0), U4(this, `value`, true), U4(this, `type`, S.Workbook), U4(this, `status`, Hu.INIT), U4(this, `subType`, R.Duplicate), this.unitId = e29, this.id = `${this.type}.${R.Duplicate}_${e29}`; + } + }; + var Sa3 = class { + constructor(e29) { + this.unitId = e29, U4(this, `id`, void 0), U4(this, `value`, true), U4(this, `type`, S.Workbook), U4(this, `status`, Hu.INIT), U4(this, `subType`, R.Edit), this.unitId = e29, this.id = `${this.type}.${R.Edit}_${e29}`; + } + }; + var Ca2 = class { + constructor(e29) { + this.unitId = e29, U4(this, `id`, void 0), U4(this, `value`, true), U4(this, `type`, S.Workbook), U4(this, `status`, Hu.INIT), U4(this, `subType`, R.Export), this.unitId = e29, this.id = `${this.type}.${R.Export}_${e29}`; + } + }; + var wa2 = class { + constructor(e29) { + this.unitId = e29, U4(this, `id`, void 0), U4(this, `value`, true), U4(this, `type`, S.Workbook), U4(this, `status`, Hu.INIT), U4(this, `subType`, R.HideSheet), this.unitId = e29, this.id = `${this.type}.${R.HideSheet}_${e29}`; + } + }; + var Ea3 = class { + constructor(e29) { + this.unitId = e29, U4(this, `value`, true), U4(this, `type`, S.Workbook), U4(this, `status`, Hu.INIT), U4(this, `id`, void 0), U4(this, `subType`, R.InsertColumn), this.id = `${this.type}.${R.InsertColumn}_${e29}`; + } + }; + var Da3 = class { + constructor(e29) { + this.unitId = e29, U4(this, `value`, true), U4(this, `type`, S.Workbook), U4(this, `status`, Hu.INIT), U4(this, `id`, void 0), U4(this, `subType`, R.InsertRow), this.id = `${this.type}.${R.InsertRow}_${e29}`; + } + }; + var Oa2 = class { + constructor(e29) { + this.unitId = e29, U4(this, `id`, void 0), U4(this, `value`, true), U4(this, `type`, S.Workbook), U4(this, `status`, Hu.INIT), U4(this, `subType`, R.ManageCollaborator), this.unitId = e29, this.id = `${this.type}.${R.ManageCollaborator}_${e29}`; + } + }; + var ka3 = class { + constructor(e29) { + this.unitId = e29, U4(this, `id`, void 0), U4(this, `value`, true), U4(this, `type`, S.Workbook), U4(this, `status`, Hu.INIT), U4(this, `subType`, R.MoveSheet), this.unitId = e29, this.id = `${this.type}.${R.MoveSheet}_${e29}`; + } + }; + var Aa3 = class { + constructor(e29) { + this.unitId = e29, U4(this, `id`, void 0), U4(this, `value`, true), U4(this, `type`, S.Workbook), U4(this, `status`, Hu.INIT), U4(this, `subType`, R.Print), this.unitId = e29, this.id = `${this.type}.${R.Print}_${e29}`; + } + }; + var ja2 = class { + constructor(e29) { + this.unitId = e29, U4(this, `id`, void 0), U4(this, `value`, true), U4(this, `type`, S.Workbook), U4(this, `status`, Hu.INIT), U4(this, `subType`, R.RecoverHistory), this.unitId = e29, this.id = `${this.type}.${R.RecoverHistory}_${e29}`; + } + }; + var Ma2 = class { + constructor(e29) { + this.unitId = e29, U4(this, `id`, void 0), U4(this, `value`, true), U4(this, `type`, S.Workbook), U4(this, `status`, Hu.INIT), U4(this, `subType`, R.RenameSheet), this.unitId = e29, this.id = `${this.type}.${R.RenameSheet}_${e29}`; + } + }; + var Na2 = class { + constructor(e29) { + this.unitId = e29, U4(this, `id`, void 0), U4(this, `value`, true), U4(this, `type`, S.Workbook), U4(this, `status`, Hu.INIT), U4(this, `subType`, R.Share), this.unitId = e29, this.id = `${this.type}.${R.Share}_${e29}`; + } + }; + var Pa2 = class { + constructor(e29) { + this.unitId = e29, U4(this, `id`, void 0), U4(this, `value`, true), U4(this, `type`, S.Workbook), U4(this, `status`, Hu.INIT), U4(this, `subType`, R.View), this.unitId = e29, this.id = `${this.type}.${R.View}_${e29}`; + } + }; + var Fa3 = class { + constructor(e29) { + this.unitId = e29, U4(this, `id`, void 0), U4(this, `value`, true), U4(this, `type`, S.Workbook), U4(this, `status`, Hu.INIT), U4(this, `subType`, R.ViewHistory), this.unitId = e29, this.id = `${this.type}.${R.ViewHistory}_${e29}`; + } + }; + var Ia3 = class { + constructor(e29, t) { + this.unitId = e29, this.subUnitId = t, U4(this, `value`, true), U4(this, `type`, S.Worksheet), U4(this, `status`, Hu.INIT), U4(this, `id`, void 0), U4(this, `subType`, R.Copy), this.id = `${this.type}.${R.Copy}_${e29}_${t}`; + } + }; + var La2 = class { + constructor(e29, t) { + this.unitId = e29, this.subUnitId = t, U4(this, `value`, true), U4(this, `type`, S.Worksheet), U4(this, `status`, Hu.INIT), U4(this, `id`, void 0), U4(this, `subType`, R.DeleteColumn), this.id = `${this.type}.${R.DeleteColumn}_${e29}_${t}`; + } + }; + var Ra2 = class { + constructor(e29, t) { + this.unitId = e29, this.subUnitId = t, U4(this, `value`, true), U4(this, `type`, S.Worksheet), U4(this, `status`, Hu.INIT), U4(this, `id`, void 0), U4(this, `subType`, R.Delete), this.id = `${this.type}.${R.Delete}_${e29}_${t}`; + } + }; + var za3 = class { + constructor(e29, t) { + this.unitId = e29, this.subUnitId = t, U4(this, `value`, true), U4(this, `type`, S.Worksheet), U4(this, `status`, Hu.INIT), U4(this, `id`, void 0), U4(this, `subType`, R.DeleteRow), this.id = `${this.type}.${R.DeleteRow}_${e29}_${t}`; + } + }; + var Ba3 = class { + constructor(e29, t) { + this.unitId = e29, this.subUnitId = t, U4(this, `value`, true), U4(this, `type`, S.Worksheet), U4(this, `status`, Hu.INIT), U4(this, `id`, void 0), U4(this, `subType`, R.Edit), this.id = `${this.type}.${R.Edit}_${e29}_${t}`; + } + }; + var Va2 = class { + constructor(e29, t) { + this.unitId = e29, this.subUnitId = t, U4(this, `value`, true), U4(this, `type`, S.Worksheet), U4(this, `status`, Hu.INIT), U4(this, `id`, void 0), U4(this, `subType`, R.EditExtraObject), this.id = `${this.type}.${R.EditExtraObject}_${e29}_${t}`; + } + }; + var Ha3 = class { + constructor(e29, t) { + this.unitId = e29, this.subUnitId = t, U4(this, `value`, true), U4(this, `type`, S.Worksheet), U4(this, `status`, Hu.INIT), U4(this, `id`, void 0), U4(this, `subType`, R.Filter), this.id = `${this.type}.${R.Filter}_${e29}_${t}`; + } + }; + var Ua2 = class { + constructor(e29, t) { + this.unitId = e29, this.subUnitId = t, U4(this, `value`, true), U4(this, `type`, S.Worksheet), U4(this, `status`, Hu.INIT), U4(this, `id`, void 0), U4(this, `subType`, R.InsertColumn), this.id = `${this.type}.${R.InsertColumn}_${e29}_${t}`; + } + }; + var Wa2 = class { + constructor(e29, t) { + this.unitId = e29, this.subUnitId = t, U4(this, `value`, true), U4(this, `type`, S.Worksheet), U4(this, `status`, Hu.INIT), U4(this, `id`, void 0), U4(this, `subType`, R.InsertHyperlink), this.id = `${this.type}.${R.InsertHyperlink}_${e29}_${t}`; + } + }; + var Ga2 = class { + constructor(e29, t) { + this.unitId = e29, this.subUnitId = t, U4(this, `value`, true), U4(this, `type`, S.Worksheet), U4(this, `status`, Hu.INIT), U4(this, `id`, void 0), U4(this, `subType`, R.InsertRow), this.id = `${this.type}.${R.InsertRow}_${e29}_${t}`; + } + }; + var Ka3 = class { + constructor(e29, t) { + this.unitId = e29, this.subUnitId = t, U4(this, `value`, true), U4(this, `type`, S.Worksheet), U4(this, `status`, Hu.INIT), U4(this, `id`, void 0), U4(this, `subType`, R.ManageCollaborator), this.id = `${this.type}.${R.ManageCollaborator}_${e29}_${t}`; + } + }; + var qa3 = class { + constructor(e29, t) { + this.unitId = e29, this.subUnitId = t, U4(this, `value`, true), U4(this, `type`, S.Worksheet), U4(this, `status`, Hu.INIT), U4(this, `id`, void 0), U4(this, `subType`, R.PivotTable), this.id = `${this.type}.${R.PivotTable}_${e29}_${t}`; + } + }; + var Xa2 = class { + constructor(e29, t) { + this.unitId = e29, this.subUnitId = t, U4(this, `value`, true), U4(this, `type`, S.Worksheet), U4(this, `status`, Hu.INIT), U4(this, `id`, void 0), U4(this, `subType`, R.SetCellStyle), this.id = `${this.type}.${R.SetCellStyle}_${e29}_${t}`; + } + }; + var Za3 = class { + constructor(e29, t) { + this.unitId = e29, this.subUnitId = t, U4(this, `value`, true), U4(this, `type`, S.Worksheet), U4(this, `status`, Hu.INIT), U4(this, `id`, void 0), U4(this, `subType`, R.SetCellValue), this.id = `${this.type}.${R.SetCellValue}_${e29}_${t}`; + } + }; + var Qa2 = class { + constructor(e29, t) { + this.unitId = e29, this.subUnitId = t, U4(this, `value`, true), U4(this, `type`, S.Worksheet), U4(this, `status`, Hu.INIT), U4(this, `id`, void 0), U4(this, `subType`, R.SetColumnStyle), this.id = `${this.type}.${R.SetColumnStyle}_${e29}_${t}`; + } + }; + var $a3 = class { + constructor(e29, t) { + this.unitId = e29, this.subUnitId = t, U4(this, `value`, true), U4(this, `type`, S.Worksheet), U4(this, `status`, Hu.INIT), U4(this, `id`, void 0), U4(this, `subType`, R.SetRowStyle), this.id = `${this.type}.${R.SetRowStyle}_${e29}_${t}`; + } + }; + var eo3 = class { + constructor(e29, t) { + this.unitId = e29, this.subUnitId = t, U4(this, `value`, true), U4(this, `type`, S.Worksheet), U4(this, `status`, Hu.INIT), U4(this, `id`, void 0), U4(this, `subType`, R.Sort), this.id = `${this.type}.${R.Sort}_${e29}_${t}`; + } + }; + var to3 = class { + constructor(e29, t) { + this.unitId = e29, this.subUnitId = t, U4(this, `value`, true), U4(this, `type`, S.Worksheet), U4(this, `status`, Hu.INIT), U4(this, `id`, void 0), U4(this, `subType`, R.View), this.id = `${this.type}.${R.View}_${e29}_${t}`; + } + }; + var no3 = { id: `sheet.command.set-range-values`, type: ri.COMMAND, handler: (e29, t) => { + var n, r; + let i = e29.get(ii), a = e29.get(td), o = e29.get(Mu), s = e29.get(Y4), c = e29.get(K4), l = e29.get(Uu), u = V4(o, t); + if (!u) return false; + let { subUnitId: d, unitId: f, workbook: p, worksheet: m } = u, { value: h, range: g2, redoUndoId: _2 } = t, v = g2 ? [g2] : (n = s.getCurrentSelections()) == null ? void 0 : n.map((e30) => e30.range); + if (!v || !v.length || !l.getPermissionPoint(new Ba3(f, d).id)) return false; + let y = new Sa(), b; + if (D.isArray(h)) for (let e30 = 0; e30 < v.length; e30++) { + let { startRow: t2, startColumn: n2, endRow: r2, endColumn: i2 } = v[e30]; + for (let e31 = 0; e31 <= r2 - t2; e31++) for (let r3 = 0; r3 <= i2 - n2; r3++) y.setValue(e31 + t2, r3 + n2, h[e31][r3]); + } + else if (Ki(h)) for (let e30 = 0; e30 < v.length; e30++) { + let { startRow: t2, startColumn: n2, endRow: r2, endColumn: i2 } = v[e30]; + for (let e31 = t2; e31 <= r2; e31++) for (let t3 = n2; t3 <= i2; t3++) y.setValue(e31, t3, h); + } + else b = h; + let x2 = { subUnitId: d, unitId: f, cellValue: (r = b) == null ? y.getMatrix() : r }, S4 = gr3(e29, x2), w2 = fa(x2.cellValue, (e30, t2) => m.getCellHeight(e30, t2) || void 0); + if (!i.syncExecuteCommand(J4.id, x2)) return false; + let { undos: T4, redos: E4 } = c.onCommandExecute({ id: no3.id, params: x2 }), { undos: ee, redos: te } = c.generateMutationsOfAutoHeight({ unitId: f, subUnitId: d, ranges: v, cellHeights: new Sa(w2) }); + if (li([...E4, ...te], i).result) { + let e30 = Xi3(g2 == null ? y.getRange() : g2, p, m); + return a.pushUndoRedo({ unitID: f, undoMutations: [{ id: J4.id, params: S4 }, ...T4, ...ee, e30], redoMutations: [{ id: J4.id, params: x2 }, ...E4, ...te, D.deepClone(e30)], id: _2 }), true; + } + return false; + } }; + function ro3(e29, t) { + let n = [], r = [], { unitId: i, subUnitId: a, range: o, shiftDimension: s, cellValue: c = {} } = t, l = e29.get(Mu), u = e29.get(K4), d = l.getUniverSheetInstance(i), f = d == null ? void 0 : d.getSheetBySheetId(a); + if (f) { + let t2 = f.getCellMatrix(), l2 = t2.getDataRange(); + if (o.startColumn <= l2.endColumn || o.startRow <= l2.endRow) { + let c2, u2; + if (s === Pn.COLUMNS) { + let e30 = Math.min(o.endRow, l2.endRow), n2 = 0; + for (let r3 = o.startRow; r3 <= e30; r3++) { + let e31 = t2.getRow(r3), i2 = e31 ? pa(e31) - 1 : 0; + n2 = Math.max(n2, i2); + } + c2 = { startRow: o.startRow, startColumn: o.startColumn, endRow: e30, endColumn: n2 }; + let r2 = o.endColumn - o.startColumn + 1; + u2 = { startRow: o.startRow, startColumn: c2.startColumn + r2, endRow: e30, endColumn: c2.endColumn + r2 }; + } else { + let e30 = Math.min(o.endColumn, l2.endColumn), t3 = l2.endRow; + c2 = { startRow: o.startRow, startColumn: o.startColumn, endRow: t3, endColumn: e30 }; + let n2 = o.endRow - o.startRow + 1; + u2 = { startRow: c2.startRow + n2, startColumn: o.startColumn, endRow: c2.endRow + n2, endColumn: e30 }; + } + let d3 = la3(e29, { unitId: i, subUnitId: a, range: c2 }, { unitId: i, subUnitId: a, range: u2 }, true); + d3 && (n.push(...d3.redos), r.push(...d3.undos)); + } + if (Object.entries(c).length === 0) for (let e30 = o.startRow; e30 <= o.endRow; e30++) { + c[e30] || (c[e30] = {}); + for (let t3 = o.startColumn; t3 <= o.endColumn; t3++) c[e30][t3] = null; + } + let d2 = { subUnitId: a, unitId: i, cellValue: c }, m = gr3(e29, d2), { undos: h, redos: g2 } = u.onCommandExecute({ id: no3.id, params: { ...d2, range: o } }); + n.push({ id: J4.id, params: d2 }, ...g2), r.push({ id: J4.id, params: m }, ...h); + } + return { redo: n, undo: r }; + } + function io3(e29, t) { + let n = [], r = [], { unitId: i, subUnitId: a, range: o, shiftDimension: s } = t, c = e29.get(Mu), l = e29.get(K4), u = c.getUniverSheetInstance(i), d = u == null ? void 0 : u.getSheetBySheetId(a); + if (d) { + let t2 = d.getCellMatrix(), c2 = t2.getDataRange(), u2 = { subUnitId: a, unitId: i, cellValue: Ti2([o]) }, f = gr3(e29, u2), m = l.onCommandExecute({ id: no3.id, params: u2 }); + if (n.push({ id: J4.id, params: u2 }, ...m.redos), r.push(...m.undos, { id: J4.id, params: f }), o.startColumn <= c2.endColumn || o.startRow <= c2.endRow) { + let l2 = null, u3 = null; + if (s === Pn.COLUMNS && o.endColumn < c2.endColumn) { + let e30 = Math.min(o.endRow, c2.endRow), n2 = 0; + for (let r3 = o.startRow; r3 <= e30; r3++) { + let e31 = t2.getRow(r3), i2 = e31 ? pa(e31) - 1 : 0; + n2 = Math.max(n2, i2); + } + l2 = { startRow: o.startRow, startColumn: o.endColumn + 1, endRow: e30, endColumn: n2 }; + let r2 = o.endColumn - o.startColumn + 1; + u3 = { startRow: o.startRow, startColumn: l2.startColumn - r2, endRow: e30, endColumn: l2.endColumn - r2 }; + } + if (s === Pn.ROWS && o.endRow < c2.endRow) { + let e30 = Math.min(o.endColumn, c2.endColumn), t3 = c2.endRow; + l2 = { startRow: o.endRow + 1, startColumn: o.startColumn, endRow: t3, endColumn: e30 }; + let n2 = o.endRow - o.startRow + 1; + u3 = { startRow: l2.startRow - n2, startColumn: o.startColumn, endRow: l2.endRow - n2, endColumn: e30 }; + } + if (l2 && u3) { + let t3 = la3(e29, { unitId: i, subUnitId: a, range: l2 }, { unitId: i, subUnitId: a, range: u3 }, true); + t3 && (n.push(...t3.redos), r.push(...t3.undos)); + } + } + } + return { redo: n, undo: r }; + } + var so3 = `sheet.command.delete-range-move-left`; + var co3 = { type: ri.COMMAND, id: so3, handler: async (e29, t) => { + var n, r; + let i = e29.get(ii), a = e29.get(td), o = e29.get(Mu), s = e29.get(Y4), c = e29.get(K4), l = V4(o); + if (!l) return false; + let { worksheet: u, workbook: d, subUnitId: f, unitId: m } = l, h = t == null ? void 0 : t.range; + if (!h) { + var g2; + h = (g2 = s.getCurrentLastSelection()) == null ? void 0 : g2.range; + } + if (!h) return false; + let _2 = { range: h, subUnitId: f, unitId: m, shiftDimension: Pn.COLUMNS }, v = c.onCommandExecute({ id: co3.id, params: { range: h } }), { redo: y, undo: b } = io3(e29, _2), x2 = [...(n = v.preRedos) == null ? [] : n, ...y], S4 = [...v.undos, ...b]; + if (x2.push(...v.redos), x2.push(Xi3(h, d, u)), S4.push(...(r = v.preUndos) == null ? [] : r), li(x2, i).result) { + let e30 = c.afterCommandExecute({ id: co3.id, params: { range: h } }); + return li(e30.redos, i), S4.push(...e30.undos), x2.push(...e30.redos), a.pushUndoRedo({ unitID: m, undoMutations: S4.reverse(), redoMutations: x2 }), true; + } + return false; + } }; + var lo3 = `sheet.command.delete-range-move-up`; + var uo3 = { type: ri.COMMAND, id: lo3, handler: async (e29, t) => { + var n, r; + let i = e29.get(ii), a = e29.get(td), o = e29.get(Mu), s = e29.get(Y4), c = e29.get(K4), l = V4(o); + if (!l) return false; + let { unitId: u, subUnitId: d, workbook: f, worksheet: m } = l, h = t == null ? void 0 : t.range; + if (!h) { + let e30 = s.getCurrentLastSelection(); + h = e30 == null ? void 0 : e30.range; + } + if (!h) return false; + let g2 = { range: h, subUnitId: d, unitId: u, shiftDimension: Pn.ROWS }, _2 = c.onCommandExecute({ id: uo3.id, params: { range: h } }), { redo: v, undo: y } = io3(e29, g2), b = [...(n = _2.preRedos) == null ? [] : n, ...v], x2 = [..._2.undos, ...y]; + if (b.push(..._2.redos), b.push(Xi3(h, f, m)), x2.push(...(r = _2.preUndos) == null ? [] : r), li(b, i).result) { + let e30 = c.afterCommandExecute({ id: uo3.id, params: { range: h } }); + return li(e30.redos, i), x2.push(...e30.undos), b.push(...e30.redos), a.pushUndoRedo({ unitID: u, undoMutations: x2.reverse(), redoMutations: b }), true; + } + return false; + } }; + var fo3 = `sheet.command.insert-range-move-down`; + var po2 = { type: ri.COMMAND, id: fo3, handler: async (e29, t) => { + var n, i; + let a = e29.get(ii), o = e29.get(td), s = e29.get(Mu), c = e29.get(Y4), l = e29.get(K4), u = e29.get(Pl), d = e29.get(zu); + if (c.isOverlapping()) return u.emit(d.t(`sheets.info.overlappingSelections`)), false; + let f = V4(s); + if (!f) return false; + let { unitId: m, subUnitId: h, worksheet: g2, workbook: _2 } = f, y = t == null ? void 0 : t.range; + if (!y) { + var b; + y = (b = c.getCurrentLastSelection()) == null ? void 0 : b.range; + } + if (!y) return false; + let x2 = [], S4 = [], w2 = g2.getCellMatrix(), T4 = w2.getDataRange(), E4 = w2.getSlice(T4.startRow, T4.endRow, y.startColumn, y.endColumn).getDataRange().endRow, ee = Math.max(E4 + (y.endRow - y.startRow + 1) - T4.endRow, 0); + if (ee > 0) { + let t2 = y.startRow - 1, n2 = g2.getRowHeight(t2), i2 = { unitId: m, subUnitId: h, range: { startRow: T4.endRow + 1, endRow: T4.endRow + ee, startColumn: T4.startColumn, endColumn: T4.endColumn }, rowInfo: Array(ee).fill(void 0).map(() => ({ h: n2, hd: A.FALSE })) }; + x2.push({ id: Sn3.id, params: i2 }); + let a2 = xn3(e29, i2); + S4.push({ id: jn2.id, params: a2 }); + } + let D4 = {}; + Eo.foreach(y, (e30, t2) => { + let n2 = g2.getCell(e30, t2); + n2 && (D4[e30] || (D4[e30] = {}), D4[e30][t2] = { s: n2.s }); + }); + let { redo: te, undo: ne } = ro3(e29, { range: y, subUnitId: h, unitId: m, shiftDimension: Pn.ROWS, cellValue: D4 }); + x2.push(...te), S4.push(...ne); + let A4 = l.onCommandExecute({ id: po2.id, params: { range: y } }); + if (x2.push(...A4.redos), x2.push(Xi3(y, _2, g2)), S4.push(...(n = A4.preUndos) == null ? [] : n), x2.unshift(...(i = A4.preRedos) == null ? [] : i), S4.unshift(...A4.undos), li(x2, a)) { + let e30 = l.afterCommandExecute({ id: po2.id, params: { range: y } }); + return li(e30.redos, a), S4.push(...e30.undos), x2.push(...e30.redos), o.pushUndoRedo({ unitID: m, undoMutations: S4.reverse(), redoMutations: x2 }), true; + } + return false; + } }; + var mo2 = `sheet.command.insert-range-move-right`; + var ho2 = { type: ri.COMMAND, id: mo2, handler: async (e29, t) => { + var n, i; + let a = e29.get(ii), o = e29.get(td), s = e29.get(Mu), c = e29.get(Y4), l = e29.get(K4), u = e29.get(Pl), d = e29.get(zu); + if (c.isOverlapping()) return u.emit(d.t(`sheets.info.overlappingSelections`)), false; + let f = V4(s); + if (!f) return false; + let { workbook: m, worksheet: h, unitId: g2, subUnitId: _2 } = f, y = t == null ? void 0 : t.range; + if (!y) { + var b; + y = (b = c.getCurrentLastSelection()) == null ? void 0 : b.range; + } + if (!y) return false; + let x2 = [], S4 = [], w2 = h.getCellMatrix(), T4 = w2.getDataRange(), E4 = w2.getSlice(y.startRow, y.endRow, T4.startColumn, T4.endColumn).getDataRange().endColumn, ee = Math.max(E4 + (y.endColumn - y.startColumn + 1) - T4.endColumn, 0); + if (ee > 0) { + let t2 = y.startColumn - 1, n2 = h.getColumnWidth(t2), i2 = { unitId: g2, subUnitId: _2, range: { startRow: T4.startRow + 1, endRow: T4.endRow, startColumn: T4.endColumn + 1, endColumn: T4.endColumn + ee }, colInfo: Array(ee).fill(void 0).map(() => ({ w: n2, hd: A.FALSE })) }; + x2.push({ id: wn3.id, params: i2 }); + let a2 = Cn3(e29, i2); + S4.push({ id: Nn3.id, params: a2 }); + } + let D4 = {}; + Eo.foreach(y, (e30, t2) => { + let n2 = h.getCell(e30, t2); + !n2 || !n2.s || (D4[e30] || (D4[e30] = {}), D4[e30][t2] = { s: n2.s }); + }); + let { redo: te, undo: ne } = ro3(e29, { range: y, subUnitId: _2, unitId: g2, shiftDimension: Pn.COLUMNS, cellValue: D4 }); + x2.push(...te), S4.push(...ne); + let A4 = l.onCommandExecute({ id: ho2.id, params: { range: y } }); + if (x2.push(...A4.redos), x2.push(Xi3(y, m, h)), S4.push(...(n = A4.preUndos) == null ? [] : n), x2.unshift(...(i = A4.preRedos) == null ? [] : i), S4.unshift(...A4.undos), li(x2, a).result) { + let e30 = l.afterCommandExecute({ id: ho2.id, params: { range: y } }); + return li(e30.redos, a), S4.push(...e30.undos), x2.push(...e30.redos), o.pushUndoRedo({ unitID: g2, undoMutations: S4.reverse(), redoMutations: x2 }), true; + } + return false; + } }; + var go2 = `sheet.command.insert-row`; + var _o3 = { type: ri.COMMAND, id: go2, handler: async (e29, t) => { + let n = e29.get(ii), r = e29.get(K4), { range: i, direction: a, unitId: o, subUnitId: s, cellValue: c } = t; + return await r.beforeCommandExecute({ id: _o3.id, params: t }) ? n.syncExecuteCommand(vo2.id, { range: i, direction: a, unitId: o, subUnitId: s, cellValue: c }) : false; + } }; + var vo2 = { type: ri.COMMAND, id: `sheet.command.insert-row-by-range`, handler: (e29, t) => { + var n, i, a, o; + let s = V4(e29.get(Mu), t); + if (!s) throw Error(`Workbook or Worksheet not found at InsertRowByRangeCommand`); + let { workbook: c, worksheet: l, unitId: u, subUnitId: d } = s, { range: f, direction: p, cellValue: h } = t, { startRow: g2, endRow: _2 } = f; + f.rangeType = B.ROW; + let v = p === Fn.UP ? g2 : g2 - 1; + if (v < 0 || v > l.getRowCount() - 1) throw Error(`Anchor row is out of bounds in InsertRowByRangeCommand`); + let y = e29.get(ii), b = e29.get(td), x2 = e29.get(K4), S4 = { unitId: u, subUnitId: d, range: f }, w2 = l.getRowHeight(v); + w2 !== l.getConfig().defaultRowHeight && (S4.rowInfo = Array(_2 - g2 + 1).fill(void 0).map(() => ({ h: w2, hd: A.FALSE }))); + let T4 = xn3(e29, S4), E4 = [{ id: Sn3.id, params: S4 }], ee = [{ id: jn2.id, params: T4 }]; + h && Object.keys(h).length > 0 && E4.push({ id: J4.id, params: { unitId: u, subUnitId: d, cellValue: h } }); + let D4 = x2.onCommandExecute({ id: _o3.id, params: t }); + if (E4.unshift(...(n = D4.preRedos) == null ? [] : n), E4.push(...(i = D4.redos) == null ? [] : i), E4.push(Xi3(f, c, l)), ee.unshift(...(a = D4.preUndos) == null ? [] : a), ee.push(...(o = D4.undos) == null ? [] : o), li(E4, y).result) { + let e30 = x2.afterCommandExecute({ id: _o3.id, params: t }); + return li(e30.redos, y), E4.push(...e30.redos), ee.push(...e30.undos), b.pushUndoRedo({ unitID: t.unitId, undoMutations: ee, redoMutations: E4 }), true; + } + return false; + } }; + var yo3 = { type: ri.COMMAND, id: `sheet.command.insert-row-before`, handler: async (e29, t) => { + var n; + let r = (n = e29.get(Y4).getCurrentSelections()) == null ? void 0 : n.map((e30) => e30.range), i; + if ((r == null ? void 0 : r.length) === 1) i = r[0]; + else return false; + let a = V4(e29.get(Mu)); + if (!a) return false; + let { worksheet: o, subUnitId: s, unitId: c } = a, l = t.value || 0, u = i.startRow, d = i.startRow + l - 1, f = o.getColumnCount() - 1, p = { unitId: c, subUnitId: s, direction: Fn.UP, range: { startRow: u, endRow: d, startColumn: 0, endColumn: f }, cellValue: ea3(o, u, d, 0, f, true, u - 1) }; + return e29.get(ii).executeCommand(_o3.id, p); + } }; + var bo3 = { type: ri.COMMAND, id: `sheet.command.insert-row-after`, handler: async (e29) => { + var t; + let n = (t = e29.get(Y4).getCurrentSelections()) == null ? void 0 : t.map((e30) => e30.range), r; + if ((n == null ? void 0 : n.length) === 1) r = n[0]; + else return false; + let i = V4(e29.get(Mu)); + if (!i) return false; + let { worksheet: a, unitId: o, subUnitId: s } = i, c = r.endRow - r.startRow + 1, l = r.endRow + 1, u = r.endRow + c, d = a.getColumnCount() - 1, f = { unitId: o, subUnitId: s, direction: Fn.DOWN, range: { startRow: l, endRow: u, startColumn: 0, endColumn: d, rangeType: B.ROW }, cellValue: ea3(a, l, u, 0, d, true, r.endRow) }; + return e29.get(ii).executeCommand(_o3.id, f); + } }; + var xo2 = { type: ri.COMMAND, id: `sheet.command.insert-multi-rows-above`, handler: async (e29, t) => { + var n; + let r = (n = e29.get(Y4).getCurrentSelections()) == null ? void 0 : n.map((e30) => e30.range), i; + if ((r == null ? void 0 : r.length) === 1) i = r[0]; + else return false; + let a = V4(e29.get(Mu)); + if (!a) return false; + let { worksheet: o, unitId: s, subUnitId: c } = a, l = t.value || 0, u = i.startRow, d = i.startRow + l - 1, f = o.getColumnCount() - 1, p = ea3(o, u, d, 0, f, true, u - 1), h = { unitId: s, subUnitId: c, direction: Fn.UP, range: { startRow: u, endRow: d, startColumn: 0, endColumn: f, rangeType: B.ROW }, cellValue: p }; + return e29.get(ii).executeCommand(_o3.id, h); + } }; + var So2 = { type: ri.COMMAND, id: `sheet.command.insert-multi-rows-after`, handler: async (e29, t) => { + var n; + let r = (n = e29.get(Y4).getCurrentSelections()) == null ? void 0 : n.map((e30) => e30.range), i; + if ((r == null ? void 0 : r.length) === 1) i = r[0]; + else return false; + let a = V4(e29.get(Mu)); + if (!a) return false; + let { worksheet: o, unitId: s, subUnitId: c } = a, l = t.value || 0, u = i.endRow + 1, d = i.endRow + l, f = o.getColumnCount() - 1, p = { unitId: s, subUnitId: c, direction: Fn.DOWN, range: { startRow: u, endRow: d, startColumn: 0, endColumn: f, rangeType: B.ROW }, cellValue: ea3(o, u, d, 0, f, true, i.endRow) }; + return e29.get(ii).executeCommand(_o3.id, p); + } }; + var Co3 = `sheet.command.insert-col`; + var wo3 = { type: ri.COMMAND, id: Co3, handler: async (e29, t) => { + let n = e29.get(ii), r = e29.get(K4), { range: i, direction: a, subUnitId: o, unitId: s, cellValue: c } = t; + return await r.beforeCommandExecute({ id: wo3.id, params: t }) ? n.syncExecuteCommand(To3.id, { range: i, direction: a, unitId: s, subUnitId: o, cellValue: c }) : false; + } }; + var To3 = { type: ri.COMMAND, id: `sheet.command.insert-col-by-range`, handler: (e29, t) => { + var n, i, a, o; + let s = V4(e29.get(Mu), t); + if (!s) throw Error(`Workbook or Worksheet not found at InsertColByRangeCommand`); + let { workbook: c, worksheet: l, unitId: u, subUnitId: d } = s, { range: f, direction: p, cellValue: h } = t, { startColumn: g2, endColumn: _2 } = f; + f.rangeType = B.COLUMN; + let v = p === Fn.LEFT ? g2 : g2 - 1; + if (v < 0 || v > l.getColumnCount() - 1) throw Error(`Anchor column is out of bounds in InsertColByRangeCommand`); + let y = e29.get(ii), b = e29.get(td), x2 = e29.get(K4), S4 = { unitId: u, subUnitId: d, range: f }, w2 = l.getColumnWidth(v); + w2 !== l.getConfig().defaultColumnWidth && (S4.colInfo = Array(_2 - g2 + 1).fill(void 0).map(() => ({ w: w2, hd: A.FALSE }))); + let T4 = Cn3(e29, S4), E4 = [{ id: wn3.id, params: S4 }], ee = [{ id: Nn3.id, params: T4 }]; + h && Object.keys(h).length > 0 && E4.push({ id: J4.id, params: { unitId: u, subUnitId: d, cellValue: h } }); + let D4 = x2.onCommandExecute({ id: wo3.id, params: t }); + if (E4.unshift(...(n = D4.preRedos) == null ? [] : n), E4.push(...(i = D4.redos) == null ? [] : i), E4.push(Xi3(f, c, l)), ee.unshift(...(a = D4.preUndos) == null ? [] : a), ee.push(...(o = D4.undos) == null ? [] : o), li(E4, y).result) { + let e30 = x2.afterCommandExecute({ id: wo3.id, params: t }); + return li(e30.redos, y), E4.push(...e30.redos), ee.push(...e30.undos), b.pushUndoRedo({ unitID: t.unitId, undoMutations: ee.filter(Boolean), redoMutations: E4.filter(Boolean) }), true; + } + return false; + } }; + var Eo3 = { type: ri.COMMAND, id: `sheet.command.insert-col-before`, handler: async (e29, t) => { + let n = e29.get(Y4).getCurrentSelections(), r; + if ((n == null ? void 0 : n.length) === 1) r = n[0].range; + else return false; + let i = V4(e29.get(Mu)); + if (!i) return false; + let { worksheet: a, unitId: o, subUnitId: s } = i, c = t.value || 0, l = r.startColumn, u = r.startColumn + c - 1, d = a.getRowCount() - 1, f = { unitId: o, subUnitId: s, direction: Fn.LEFT, range: { startColumn: l, endColumn: u, startRow: 0, endRow: d, rangeType: B.COLUMN }, cellValue: ea3(a, 0, d, l, u, false, l - 1) }; + return e29.get(ii).executeCommand(wo3.id, f); + } }; + var Do3 = { type: ri.COMMAND, id: `sheet.command.insert-col-after`, handler: async (e29) => { + let t = e29.get(Y4).getCurrentSelections(), n; + if ((t == null ? void 0 : t.length) === 1) n = t[0].range; + else return false; + let r = V4(e29.get(Mu)); + if (!r) return false; + let { worksheet: i, unitId: a, subUnitId: o } = r, s = n.endColumn - n.startColumn + 1, c = n.endColumn + 1, l = n.endColumn + s, u = i.getRowCount() - 1, d = { unitId: a, subUnitId: o, direction: Fn.RIGHT, range: { startColumn: c, endColumn: l, startRow: 0, endRow: u }, cellValue: ea3(i, 0, u, c, l, false, n.endColumn) }; + return e29.get(ii).executeCommand(wo3.id, d); + } }; + var Oo3 = { type: ri.COMMAND, id: `sheet.command.insert-multi-cols-before`, handler: async (e29, t) => { + let n = e29.get(Y4).getCurrentSelections(), r; + if ((n == null ? void 0 : n.length) === 1) r = n[0].range; + else return false; + let i = V4(e29.get(Mu)); + if (!i) return false; + let { worksheet: a, unitId: o, subUnitId: s } = i, c = t.value || 0, l = r.startColumn, u = r.startColumn + c - 1, d = a.getRowCount() - 1, f = { unitId: o, subUnitId: s, direction: Fn.LEFT, range: { startColumn: l, endColumn: u, startRow: 0, endRow: d, rangeType: B.COLUMN }, cellValue: ea3(a, 0, d, l, u, false, l - 1) }; + return e29.get(ii).executeCommand(wo3.id, f); + } }; + var ko3 = { type: ri.COMMAND, id: `sheet.command.insert-multi-cols-right`, handler: async (e29, t) => { + let n = e29.get(Y4).getCurrentSelections(), r; + if ((n == null ? void 0 : n.length) === 1) r = n[0].range; + else return false; + let i = V4(e29.get(Mu)); + if (!i) return false; + let { worksheet: a, unitId: o, subUnitId: s } = i, c = t.value || 0, l = r.endColumn + 1, u = r.endColumn + c, d = a.getRowCount() - 1, f = { unitId: o, subUnitId: s, direction: Fn.RIGHT, range: { startColumn: l, endColumn: u, startRow: 0, endRow: d }, cellValue: ea3(a, 0, d, l, u, false, r.endColumn) }; + return e29.get(ii).executeCommand(wo3.id, f); + } }; + var Ao3 = Et((e29, t, n, r) => { + if (!r.disposed) { + let i = Xi3(e29, t, n); + r.executeCommand(i.id, i.params); + } + }, 300); + var jo3 = `sheet.command.remove-row`; + var Mo3 = { type: ri.COMMAND, id: `sheet.command.remove-row-by-range`, handler: (e29, t) => { + var n; + if (!t) return false; + let r = V4(e29.get(Mu), t); + if (!r) return false; + let { workbook: i, worksheet: a } = r, o = e29.get(K4), { range: s, unitId: c, subUnitId: l } = t, u = Ai2([s], e29, c, l).reverse(), d = [], f = []; + u.forEach((e30) => { + let t2 = [], n2 = [], r2 = { unitId: c, subUnitId: l, range: e30 }, i2 = An2(r2, a), o2 = { unitId: c, subUnitId: l, cellValue: a.getCellMatrix().getSlice(e30.startRow, e30.endRow, 0, a.getColumnCount() - 1).getMatrix() }; + n2.push({ id: jn2.id, params: r2 }), t2.push({ id: Sn3.id, params: i2 }), t2.push({ id: J4.id, params: o2 }), f.push(...n2), d.unshift(...t2); + }); + let p = o.onCommandExecute({ id: jo3, params: { range: s } }), m = e29.get(ii); + if (li([...(n = p.preRedos) == null ? [] : n, ...f, ...p.redos], m).result) { + var h, g2; + Ao3(s, i, a, m); + let t2 = o.afterCommandExecute({ id: jo3, params: { range: s } }); + return li(t2.redos, m), e29.get(td).pushUndoRedo({ unitID: c, undoMutations: [...(h = p.preUndos) == null ? [] : h, ...d, ...p.undos, ...t2.undos], redoMutations: [...(g2 = p.preRedos) == null ? [] : g2, ...f, ...p.redos, ...t2.redos] }), true; + } + return false; + } }; + var No3 = { type: ri.COMMAND, id: jo3, handler: async (e29, t) => { + var n; + let r = e29.get(Y4), i = e29.get(K4), a = e29.get(ii), o = t == null ? void 0 : t.range; + if (o || (o = (n = r.getCurrentLastSelection()) == null ? void 0 : n.range), !o) return false; + let s = V4(e29.get(Mu)); + if (!s) return false; + let { worksheet: c, subUnitId: l, unitId: u } = s; + return o = { ...o, startColumn: 0, endColumn: Math.max(c.getMaxColumns() - 1, 0) }, await i.beforeCommandExecute({ id: No3.id, params: { range: o } }) ? a.syncExecuteCommand(Mo3.id, { range: o, unitId: u, subUnitId: l }) : false; + } }; + var Po3 = `sheet.command.remove-col`; + var Fo3 = { type: ri.COMMAND, id: `sheet.command.remove-col-by-range`, handler: (e29, t) => { + var n; + if (!t) return false; + let r = V4(e29.get(Mu), t); + if (!r) return false; + let { workbook: i, worksheet: a } = r, o = e29.get(K4), { range: s, unitId: c, subUnitId: l } = t, u = { unitId: c, subUnitId: l, range: s }, d = Mn2(e29, u), f = { unitId: c, subUnitId: l, cellValue: a.getCellMatrix().getSlice(0, a.getRowCount() - 1, s.startColumn, s.endColumn).getMatrix() }, p = o.onCommandExecute({ id: Po3, params: { range: s } }), m = e29.get(ii); + if (li([...(n = p.preRedos) == null ? [] : n, { id: Nn3.id, params: u }, ...p.redos], m).result) { + var h, g2; + Ao3(s, i, a, m); + let t2 = o.afterCommandExecute({ id: Po3, params: { range: s } }); + return li(t2.redos, m), e29.get(td).pushUndoRedo({ unitID: c, undoMutations: [...(h = p.preUndos) == null ? [] : h, { id: wn3.id, params: d }, { id: J4.id, params: f }, ...p.undos, ...t2.undos], redoMutations: [...(g2 = p.preRedos) == null ? [] : g2, { id: Nn3.id, params: u }, ...p.redos, ...t2.redos] }), true; + } + return false; + } }; + var Io3 = { type: ri.COMMAND, id: Po3, handler: async (e29, t) => { + var n; + let r = e29.get(Y4), i = e29.get(K4), a = e29.get(ii), o = t == null ? void 0 : t.range; + if (o || (o = (n = r.getCurrentLastSelection()) == null ? void 0 : n.range), !o) return false; + let s = V4(e29.get(Mu)); + if (!s) return false; + let { worksheet: c, subUnitId: l, unitId: u } = s; + return o = { ...o, startRow: 0, endRow: Math.max(c.getMaxRows() - 1, 0) }, await i.beforeCommandExecute({ id: Io3.id, params: { range: o } }) ? a.syncExecuteCommand(Fo3.id, { range: o, unitId: u, subUnitId: l }) : false; + } }; + var Lo3 = (e29, t) => { + let n = e29.get(Mu), { subUnitId: r, unitId: i } = t, a = Rt2(n, t); + if (!a) throw Error(`[RemoveSheetUndoMutationFactory]: Worksheet is null error!`); + let { workbook: o, worksheet: s } = a, c = s.getConfig(); + return { index: o.getConfig().sheetOrder.findIndex((e30) => e30 === r), sheet: c, unitId: i }; + }; + var Ro3 = { id: `sheet.mutation.remove-sheet`, type: ri.MUTATION, handler: (e29, t) => { + let n = e29.get(Mu), { subUnitId: r, unitId: i } = t, a = n.getUniverSheetInstance(i); + return a ? a.removeSheet(r) : false; + } }; + function zo3(e29, t) { + return t.getMergeData().some((t2) => t2.startRow < e29 && e29 <= t2.endRow); + } + function Bo3(e29, t) { + return t.getMergeData().some((t2) => t2.startColumn < e29 && e29 <= t2.endColumn); + } + var Vo3 = `sheet.command.move-rows`; + var Ho2 = { id: Vo3, type: ri.COMMAND, handler: (e29, t) => { + var n, r; + let i = e29.get(Y4), { fromRange: { startRow: a }, toRange: { startRow: o }, range: s } = t, c = s ? [Go2(s)] : i.getCurrentSelections(), l = c == null ? void 0 : c.filter((e30) => e30.range.rangeType === B.ROW && e30.range.startRow <= a && a <= e30.range.endRow); + if ((l == null ? void 0 : l.length) !== 1) return false; + let u = e29.get(K4), d = V4(e29.get(Mu), t); + if (!d) return false; + let { workbook: f, worksheet: p } = d, m = f.getUnitId(), h = p.getSheetId(), g2 = e29.get(Pl), _2 = e29.get(zu), y = l[0].range, b = l[0].primary, x2 = Ki3(y, p, false); + if (!G.equals(y, x2)) return g2.emit(_2.t(`sheets.info.partOfCell`)), false; + if (zo3(o, p)) return g2.emit(_2.t(`sheets.info.acrossMergedCell`)), false; + let S4 = { ...y, startRow: o, endRow: o + y.endRow - y.startRow }, w2 = { unitId: m, subUnitId: h, sourceRange: y, targetRange: S4 }, T4 = En2(e29, w2), E4 = e29.get(ii), ee = u.onCommandExecute({ id: Ho2.id, params: t }), D4 = [...(n = ee.preRedos) == null ? [] : n, { id: Dn3.id, params: w2 }], te = [...(r = ee.preUndos) == null ? [] : r, { id: Dn3.id, params: T4 }]; + if (b) { + let e30 = o - a < 0, t2 = y.endRow - y.startRow + 1, n2 = e30 ? S4 : { ...S4, startRow: S4.startRow - t2, endRow: S4.endRow - t2 }, r2 = { unitId: m, subUnitId: h, type: zi2.MOVE_END, selections: [{ range: n2, primary: Yi2(n2, p), style: null }] }, i2 = { unitId: m, subUnitId: h, type: zi2.MOVE_END, selections: [{ range: y, primary: b, style: null }] }; + D4.push({ id: X4.id, params: r2 }), te.push({ id: X4.id, params: i2 }); + } + if (D4.push(...ee.redos), te.push(...ee.undos), li(D4, E4).result) { + let n2 = u.afterCommandExecute({ id: Ho2.id, params: t }); + return li(n2.redos, E4), D4.push(...n2.redos), te.push(...n2.undos), e29.get(td).pushUndoRedo({ unitID: m, undoMutations: te, redoMutations: D4 }), true; + } + return false; + } }; + var Uo3 = `sheet.command.move-cols`; + var Wo2 = { id: Uo3, type: ri.COMMAND, handler: (e29, t) => { + var n, r; + let i = e29.get(Y4), { fromRange: { startColumn: a }, toRange: { startColumn: o }, range: s } = t, c = s ? [Go2(s)] : i.getCurrentSelections(), l = c == null ? void 0 : c.filter((e30) => e30.range.rangeType === B.COLUMN && e30.range.startColumn <= a && a <= e30.range.endColumn); + if ((l == null ? void 0 : l.length) !== 1) return false; + let u = e29.get(K4), d = V4(e29.get(Mu), t); + if (!d) return false; + let { workbook: f, worksheet: p } = d, m = f.getUnitId(), h = p.getSheetId(), g2 = e29.get(Pl), _2 = e29.get(zu), y = l[0].range, b = l[0].primary, x2 = Ki3(y, p, false); + if (!G.equals(y, x2)) return g2.emit(_2.t(`sheets.info.partOfCell`)), false; + if (Bo3(o, p)) return g2.emit(_2.t(`sheets.info.acrossMergedCell`)), false; + let S4 = { ...y, startColumn: o, endColumn: o + y.endColumn - y.startColumn }, w2 = { unitId: m, subUnitId: h, sourceRange: y, targetRange: S4 }, T4 = On3(e29, w2), E4 = e29.get(ii), ee = u.onCommandExecute({ id: Wo2.id, params: t }), D4 = [...(n = ee.preRedos) == null ? [] : n, { id: kn3.id, params: w2 }], te = [...(r = ee.preUndos) == null ? [] : r, { id: kn3.id, params: T4 }]; + if (b) { + let e30 = y.endColumn - y.startColumn + 1, t2 = o - a < 0 ? S4 : { ...S4, startColumn: S4.startColumn - e30, endColumn: S4.endColumn - e30 }, n2 = { unitId: m, subUnitId: h, type: zi2.MOVE_END, selections: [{ range: t2, primary: Yi2(t2, p), style: null }] }, r2 = { unitId: m, subUnitId: h, type: zi2.MOVE_END, selections: [{ range: y, primary: b, style: null }] }; + D4.push({ id: X4.id, params: n2 }), te.push({ id: X4.id, params: r2 }); + } + if (D4.push(...ee.redos), te.push(...ee.undos), li(D4, E4).result) { + let n2 = u.afterCommandExecute({ id: Wo2.id, params: t }); + return li(n2.redos, E4), D4.push(...n2.redos), te.push(...n2.undos), e29.get(td).pushUndoRedo({ unitID: m, undoMutations: te, redoMutations: D4 }), true; + } + return false; + } }; + function Go2(e29) { + return { range: e29, primary: null, style: null }; + } + var Ko2 = class extends E { + constructor(e29) { + super(), this._injector = e29, U4(this, `_sheetSkeletonStore`, /* @__PURE__ */ new Map()), this.disposeWithMe(() => { + this._sheetSkeletonStore = /* @__PURE__ */ new Map(); + }); + } + getSkeleton(e29, t) { + if (this._sheetSkeletonStore.has(e29)) return this._sheetSkeletonStore.get(e29).get(t); + } + setSkeleton(e29, t, n) { + this._sheetSkeletonStore.has(e29) || this._sheetSkeletonStore.set(e29, /* @__PURE__ */ new Map()), this._sheetSkeletonStore.get(e29).set(t, n); + } + deleteSkeleton(e29, t) { + this._sheetSkeletonStore.has(e29) && this._sheetSkeletonStore.get(e29).delete(t); + } + }; + Ko2 = G4([W4(0, Inject(Injector))], Ko2); + function qo2(e29, t) { + let n = new Sa(); + return e29.map((e30) => Eo.transformRange(e30, t)).forEach((e30) => { + Eo.foreach(e30, (e31, r) => { + let i = t.getCellHeight(e31, r); + i && n.setValue(e31, r, i); + }); + }), n; + } + function Jo3(e29, t) { + if (!t) return { suitableRanges: e29, remainingRanges: [] }; + let n = t.worksheet.getColumnCount(), r = Math.ceil(1e4 / n), i = [], a = [], o = t.getOffsetRelativeToRowCol(0, t.scrollY).row, s = e29.map((e30) => { + let t2; + return t2 = o >= e30.startRow && o <= e30.endRow ? 0 : o < e30.startRow ? e30.startRow - o : o - e30.endRow, { range: e30, distance: t2, rowCount: e30.endRow - e30.startRow + 1 }; + }); + s.sort((e30, t2) => e30.distance === t2.distance ? e30.rowCount - t2.rowCount : e30.distance - t2.distance); + let c = 0; + for (let e30 of s) if (c + e30.rowCount <= r) i.push(e30.range), c += e30.rowCount; + else { + let t2 = r - c; + if (t2 > 0) { + let n2 = { ...e30.range, endRow: e30.range.startRow + t2 - 1 }, o2 = { ...e30.range, startRow: e30.range.startRow + t2 }; + i.push(n2), a.push(o2), c = r; + } else a.push(e30.range); + } + return { suitableRanges: i, remainingRanges: a }; + } + function Yo2(e29) { + let t = 0; + return e29.forEach(() => { + t++; + }), t; + } + var Xo3 = `sheet.command.reorder-range`; + var Zo3 = { id: Xo3, type: ri.COMMAND, handler: (e29, t) => { + var n, r; + let { subUnitId: i, unitId: a, range: o, order: s } = t, c = e29.get(ii), l = { id: In2.id, params: { unitId: a, subUnitId: i, order: s, range: o } }, u = { id: In2.id, params: Fn3(l.params) }, d = e29.get(K4), f = d.onCommandExecute({ id: Zo3.id, params: t }), p = [...(n = f.preRedos) == null ? [] : n, l, ...f.redos], m = [...(r = f.preUndos) == null ? [] : r, u, ...f.undos], h = li(p, c), { suitableRanges: g2, remainingRanges: _2 } = Jo3([o], e29.get(Ko2).getSkeleton(a, i)), { undos: v, redos: y } = d.generateMutationsOfAutoHeight({ unitId: a, subUnitId: i, ranges: [o], autoHeightRanges: g2, lazyAutoHeightRanges: _2 }), b = d.afterCommandExecute({ id: Zo3.id, params: t }); + return h.result ? (li([...b.redos, ...y], c), e29.get(td).pushUndoRedo({ unitID: a, undoMutations: [...m, ...b.undos, ...v], redoMutations: [...p, ...b.redos, ...y] }), true) : false; + } }; + var Z4 = { MoveRangeCommandId: aa3, InsertRowCommandId: go2, InsertColCommandId: Co3, RemoveColCommandId: Po3, RemoveRowCommandId: jo3, DeleteRangeMoveLeftCommandId: so3, DeleteRangeMoveUpCommandId: lo3, InsertRangeMoveDownCommandId: fo3, InsertRangeMoveRightCommandId: mo2, MoveColsCommandId: Uo3, MoveRowsCommandId: Vo3, ReorderRangeCommandId: Xo3 }; + var Q4 = (function(e29) { + return e29[e29.Set = 0] = `Set`, e29[e29.Delete = 1] = `Delete`, e29[e29.HorizontalMove = 2] = `HorizontalMove`, e29[e29.VerticalMove = 3] = `VerticalMove`, e29[e29.Unknown = 4] = `Unknown`, e29; + })({}); + var Qo3 = (e29) => { + let t = { ...e29 }, n = Number.isNaN(t.startRow) && Number.isNaN(t.endRow) && !Number.isNaN(t.startColumn) && !Number.isNaN(t.endColumn), r = Number.isNaN(t.startColumn) && Number.isNaN(t.endColumn) && !Number.isNaN(t.startRow) && !Number.isNaN(t.endRow); + return (t.rangeType === B.COLUMN || n) && (t.startRow = 0, t.endRow = uo - 1), (t.rangeType === B.ROW || r) && (t.startColumn = 0, t.endColumn = fo - 1), t.rangeType === B.ALL && (t.startColumn = 0, t.endColumn = fo - 1, t.startRow = 0, t.endRow = uo - 1), t; + }; + var $o3 = (e29) => { + let t = e29.rangeType; + return e29.rangeType === B.COLUMN ? t = B.ROW : e29.rangeType === B.ROW && (t = B.COLUMN), { startRow: e29.startColumn, endRow: e29.endColumn, startColumn: e29.startRow, endColumn: e29.endRow, rangeType: t }; + }; + var es3 = (e29, t, n) => { + let r = { ...n }, i = { ...t }, a = (e30, t2) => { + let n2 = Math.max(e30.start, t2.start), r2 = Math.min(e30.end, t2.end); + return r2 < n2 ? null : { start: n2, end: r2 }; + }, o = (e30) => e30.end - e30.start + 1, s = (e30, t2) => ({ start: e30.start - t2.start, end: e30.start - t2.start + e30.end - e30.start }), c = (e30, t2) => ({ start: t2.start + e30.start, end: t2.start + e30.start + e30.end - e30.start }), l = t.start > e29.start; + if (l) { + let n2 = Math.min(e29.end, t.start) - e29.start + 1; + i.start -= n2, i.end -= n2; + } + let u = o(e29), d = u, f = a(e29, r), p = f && o(f) >= o(r); + if (e29.end < r.start) r.start -= u, r.end -= u; + else if (f) { + let t2 = o(f); + if (p) { + let t3 = c(s(r, e29), i); + r.start = t3.start, r.end = t3.end; + } else f.start > e29.start ? l ? (r.end -= t2 + u, r.start -= u) : r.end -= t2 : l ? r.end -= t2 : r.start > e29.start && r.end > e29.end ? (r.start -= u, r.end -= u + t2) : r.end -= t2; + } + let m = a(i, r); + return p || (i.start <= r.start ? (r.start += d, r.end += d) : m && (l ? i.end <= r.start || i.start <= r.start && i.end >= r.start ? (r.start += d, r.end += d) : i.start >= r.start && i.start <= r.end && (r.end += d) : r.start < i.start && r.end > i.start ? r.end += d : (r.start >= i.end || r.start >= i.start && r.start <= i.end) && (r.end += d, r.start += d))), { step: r.start - n.start, length: o(r) - o(n) }; + }; + var ts3 = (e29, t) => { + let { fromRange: n, toRange: r } = e29.params || {}; + if (!r || !n) return []; + let i = Qo3(n), a = Qo3(r), o = Qo3(t), s = es3({ start: i.startRow, end: i.endRow }, { start: a.startRow, end: a.endRow }, { start: o.startRow, end: o.endRow }); + return s === null ? [{ type: Q4.Delete }] : [{ type: Q4.VerticalMove, step: s.step || 0, length: s.length || 0 }]; + }; + var ns3 = (e29, t) => { + let { fromRange: n, toRange: r } = e29.params || {}; + if (!n || !r) return [t]; + let i = n.startRow, a = n.endRow - n.startRow + 1, o = r.startRow, s = new Sa(); + return Eo.foreach(t, (e30, t2) => { + s.setValue(e30, t2, 1); + }), s.moveRows(i, a, o), Vo(s, (e30) => e30 === 1); + }; + var rs3 = (e29, t) => { + let { range: n, order: r } = e29.params || {}; + if (!n || !r) return [t]; + let i = new Sa(); + Eo.foreach(t, (e30, t2) => { + i.setValue(e30, t2, 1); + }); + let a = new Sa(); + return Eo.foreach(n, (e30, t2) => { + if (Object.prototype.hasOwnProperty.call(r, e30)) { + var n2; + let o = r[e30], s = (n2 = i.getValue(o, t2)) == null ? 0 : n2; + a.setValue(e30, t2, s); + } + }), a.forValue((e30, t2, n2) => { + i.setValue(e30, t2, n2); + }), Vo(i, (e30) => e30 === 1); + }; + var is3 = (e29, t) => { + let { fromRange: n, toRange: r } = e29.params || {}; + if (!r || !n) return []; + let i = Qo3(n), a = Qo3(r), o = Qo3(t), s = es3({ start: i.startColumn, end: i.endColumn }, { start: a.startColumn, end: a.endColumn }, { start: o.startColumn, end: o.endColumn }); + return s === null ? [{ type: Q4.Delete }] : [{ type: Q4.HorizontalMove, step: s.step || 0, length: s.length || 0 }]; + }; + var as3 = (e29, t) => { + let { fromRange: n, toRange: r } = e29.params || {}; + if (!n || !r) return [t]; + let i = n.startColumn, a = n.endColumn - n.startColumn + 1, o = r.startColumn, s = new Sa(); + return Eo.foreach(t, (e30, t2) => { + s.setValue(e30, t2, 1); + }), s.moveColumns(i, a, o), Vo(s, (e30) => e30 === 1); + }; + var os3 = (e29, t) => { + var n, r; + let i = (n = e29.params) == null ? void 0 : n.toRange, a = (r = e29.params) == null ? void 0 : r.fromRange; + if (!i || !a) return []; + let o = []; + if (G.contains(i, t) && o.push({ type: Q4.Delete }), G.contains(a, t)) { + o.push({ type: Q4.Delete }); + let e30 = G.getRelativeRange(t, a), n2 = G.getPositionRange(e30, i); + return [{ type: Q4.Set, range: n2 }]; + } + return o; + }; + var ss3 = (e29, t) => { + var n, r; + let i = (n = e29.params) == null ? void 0 : n.toRange, a = (r = e29.params) == null ? void 0 : r.fromRange; + if (!i || !a || !G.intersects(a, t) && !G.intersects(i, t)) return [t]; + if (G.contains(a, t)) { + let e30 = G.getRelativeRange(t, a); + return [G.getPositionRange(e30, i)]; + } + let o = new Sa(); + Eo.foreach(t, (e30, t2) => { + o.setValue(e30, t2, 1); + }); + let s = new Sa(), c = G.getIntersects(a, t); + c && Eo.foreach(c, (e30, t2) => { + o.getValue(e30, t2) && (o.setValue(e30, t2, void 0), s.setValue(e30, t2, 1)); + }); + let l = i.startColumn - a.startColumn, u = i.startRow - a.startRow, d = { startColumn: i.startColumn - l, endColumn: i.endColumn - l, startRow: i.startRow - u, endRow: i.endRow - u }; + return d && Eo.foreach(d, (e30, t2) => { + var n2; + let r2 = e30 + u, i2 = t2 + l; + o.setValue(r2, i2, (n2 = s.getValue(e30, t2)) == null ? 0 : n2); + }), Vo(o, (e30) => e30 === 1); + }; + var cs2 = (e29, t) => { + let n = Qo3(e29), r = Qo3(t), i = (e30) => e30.endColumn - e30.startColumn + 1, a = (e30) => e30.endRow - e30.startRow + 1; + if (n.startRow <= r.startRow && n.endRow >= r.endRow) { + if (r.startColumn < n.startColumn && r.endColumn >= n.startColumn && r.endColumn <= n.endColumn || r.startColumn < n.startColumn && r.endColumn >= n.endColumn) { + let e30 = G.getIntersects(r, n); + if (e30) return { step: 0, length: -i(e30) }; + } + if (r.startColumn >= n.startColumn && r.endColumn <= n.endColumn && a(n) >= a(r)) return null; + if (r.startColumn >= n.startColumn && r.startColumn <= n.endColumn && r.endColumn > n.endColumn) { + let e30 = G.getIntersects(r, n); + if (e30) { + let t2 = -i(e30); + return { step: -(i(n) - i(e30)), length: t2 }; + } + } + if (r.startColumn > n.endColumn) return { step: -i(n), length: 0 }; + } + return { step: 0, length: 0 }; + }; + var ls3 = (e29, t) => { + var n; + let r = (n = e29.params) == null ? void 0 : n.range; + if (!r) return []; + let i = [], a = cs2(r, t); + if (!a) i.push({ type: Q4.Delete }); + else { + let { step: e30, length: t2 } = a; + i.push({ type: Q4.HorizontalMove, step: e30, length: t2 }); + } + return i; + }; + var us3 = (e29, t, n) => { + var r; + let i = (r = e29.params) == null ? void 0 : r.range; + if (!i) return []; + let a = []; + if (n && n.length > 0) { + let e30 = i.startRow; + for (let t2 = i.startRow; t2 <= i.endRow; t2++) { + if (n.includes(t2)) { + if (t2 === e30) { + e30 = t2 + 1; + continue; + } + o({ ...i, startRow: e30, endRow: t2 - 1 }), e30 = t2 + 1; + continue; + } + t2 === i.endRow && o({ ...i, startRow: e30, endRow: i.endRow }); + } + } else o(i); + function o(e30) { + let n2 = cs2($o3(e30), $o3(t)); + if (!n2) a.push({ type: Q4.Delete }); + else { + let { step: e31, length: t2 } = n2; + a.push({ type: Q4.VerticalMove, step: e31, length: t2 }); + } + } + return a; + }; + var ds3 = (e29, t) => { + let { range: n, order: r } = e29.params || {}; + if (!n || !r) return []; + if (G.contains(n, t) && t.endRow === t.startRow) { + let e30 = [], n2 = t.startRow; + for (let t2 in r) if (r[t2] === n2) { + let r2 = Number(t2); + return e30.push({ type: Q4.VerticalMove, step: r2 - n2, length: 0 }), e30; + } + return []; + } + return []; + }; + var fs3 = (e29, t) => { + let n = Qo3(e29), r = Qo3(t), i = (e30) => e30.endColumn - e30.startColumn + 1; + return n.startRow <= r.startRow && n.endRow >= r.endRow ? r.startColumn < n.startColumn && r.endColumn >= n.startColumn && r.endColumn <= n.endColumn || r.startColumn < n.startColumn && r.endColumn >= n.endColumn ? { step: 0, length: i(n) } : r.startColumn >= n.startColumn && r.endColumn <= n.endColumn || r.startColumn >= n.startColumn && r.startColumn <= n.endColumn && r.endColumn > n.endColumn || r.startColumn >= n.endColumn ? { step: i(n), length: 0 } : { step: 0, length: 0 } : { step: 0, length: 0 }; + }; + function ps3(e29, t, n) { + let r = []; + if (G.contains(t, n) && r.push({ type: Q4.Delete }), G.contains(e29, n)) { + r.push({ type: Q4.Delete }); + let i = G.getRelativeRange(n, e29), a = G.getPositionRange(i, t); + return [{ type: Q4.Set, range: a }]; + } + return r; + } + var ms3 = (e29, t) => { + var n; + let r = (n = e29.params) == null ? void 0 : n.range; + if (!r) return []; + let i = [], { step: a, length: o } = fs3($o3(r), $o3(t)); + return i.push({ type: Q4.VerticalMove, step: a, length: o }), i; + }; + var hs3 = (e29, t) => { + var n; + let r = (n = e29.params) == null ? void 0 : n.range; + if (!r) return []; + let i = [], { step: a, length: o } = fs3(r, t); + return i.push({ type: Q4.HorizontalMove, step: a, length: o }), i; + }; + var gs3 = (e29, t) => { + var n; + let r = (n = e29.params) == null ? void 0 : n.range; + if (!r) return []; + let i = [], { step: a, length: o } = fs3($o3(r), $o3(t)); + return i.push({ type: Q4.VerticalMove, step: a, length: o }), i; + }; + var _s3 = (e29, t) => { + var n; + let r = (n = e29.params) == null ? void 0 : n.range; + if (!r) return [t]; + let i = r.endRow - r.startRow + 1, a = { ...r, startRow: r.startRow, endRow: 1 / 0 }, o = G.subtract(t, a), s = G.getIntersects(a, t); + if (!s) return [t]; + let c = new Sa(); + return o.forEach((e30) => { + Eo.foreach(e30, (e31, t2) => { + c.setValue(e31, t2, 1); + }); + }), s && Eo.foreach(s, (e30, t2) => { + c.setValue(e30 + i, t2, 1); + }), Vo(c, (e30) => e30 === 1); + }; + var vs3 = (e29, t) => { + var n; + let r = (n = e29.params) == null ? void 0 : n.range; + if (!r) return []; + let i = [], { step: a, length: o } = fs3(r, t); + return i.push({ type: Q4.HorizontalMove, step: a, length: o }), i; + }; + var ys3 = (e29, t) => { + var n; + let r = (n = e29.params) == null ? void 0 : n.range; + if (!r) return [t]; + let i = r.endColumn - r.startColumn + 1, a = { ...r, startColumn: r.startColumn, endColumn: 1 / 0 }, o = G.subtract(t, a), s = G.getIntersects(a, t); + if (!s) return [t]; + let c = new Sa(); + return o.forEach((e30) => { + Eo.foreach(e30, (e31, t2) => { + c.setValue(e31, t2, 1); + }); + }), s && Eo.foreach(s, (e30, t2) => { + c.setValue(e30, t2 + i, 1); + }), Vo(c, (e30) => e30 === 1); + }; + var bs3 = (e29, t) => { + var n; + let r = (n = e29.params) == null ? void 0 : n.range; + if (!r) return []; + let i = [], a = cs2(r, t); + if (!a) i.push({ type: Q4.Delete }); + else { + let { step: e30, length: t2 } = a; + i.push({ type: Q4.HorizontalMove, step: e30, length: t2 }); + } + return i; + }; + var xs3 = (e29, t) => { + var n; + let r = (n = e29.params) == null ? void 0 : n.range; + if (!r) return [t]; + let i = { startRow: r.startRow, endRow: r.endRow, startColumn: r.startColumn, endColumn: 1 / 0 }, a = r.endColumn - r.startColumn + 1, o = G.getIntersects(r, t), s = G.subtract(t, i), c = G.getIntersects(i, t); + if (!o && !c) return [t]; + let l = new Sa(); + return c && Eo.foreach(c, (e30, t2) => { + l.setValue(e30, t2 - a, 1); + }), o && Eo.foreach(o, (e30, t2) => { + l.setValue(e30, t2 - a, 0); + }), s.forEach((e30) => { + Eo.foreach(e30, (e31, t2) => { + l.setValue(e31, t2, 1); + }); + }), Vo(l, (e30) => e30 === 1); + }; + var Ss3 = (e29, t) => { + var n; + let r = (n = e29.params) == null ? void 0 : n.range; + if (!r) return []; + let i = [], a = cs2($o3(r), $o3(t)); + if (!a) i.push({ type: Q4.Delete }); + else { + let { step: e30, length: t2 } = a; + i.push({ type: Q4.VerticalMove, step: e30, length: t2 }); + } + return i; + }; + var Cs3 = (e29, t) => { + var n; + let r = (n = e29.params) == null ? void 0 : n.range; + if (!r) return [t]; + let i = { ...r, startRow: r.startRow, endRow: 1 / 0 }, a = r.endRow - r.startRow + 1, o = G.getIntersects(r, t), s = G.subtract(t, i), c = G.getIntersects(i, t); + if (!o && !c) return [t]; + let l = new Sa(); + return c && Eo.foreach(c, (e30, t2) => { + l.setValue(e30 - a, t2, 1); + }), o && Eo.foreach(o, (e30, t2) => { + l.setValue(e30 - a, t2, 0); + }), s.forEach((e30) => { + Eo.foreach(e30, (e31, t2) => { + l.setValue(e31, t2, 1); + }); + }), Vo(l, (e30) => e30 === 1); + }; + var ws3 = (e29, t) => { + var n; + let r = Za(((n = e29.ranges) == null ? [e29.range] : n).map((e30) => [e30.startRow, e30.endRow])), i = t.startRow, a = t.endRow; + for (let e30 = r.length - 1; e30 >= 0; e30--) { + let [n2, o] = r[e30]; + if (n2 <= t.startRow && o >= t.endRow) return []; + if (o < i) { + let e31 = o - n2 + 1; + i -= e31, a -= e31; + } else if (!(n2 > a)) { + let e31 = Math.max(n2, i), t2 = Math.min(o, a) - e31 + 1; + if (a -= t2, n2 <= i) { + let t3 = e31 - i; + i -= t3; + } + } + } + return [{ ...t, startRow: i, endRow: a }]; + }; + var Ts3 = (e29, t) => { + let n = e29.params, r = n.range.startRow, i = n.range.endRow - n.range.startRow + 1; + if (n.direction === Fn.UP) { + if (r < t.startRow) return [{ ...t, startRow: t.startRow + i, endRow: t.endRow + i }]; + if (r <= t.endRow) return [{ ...t, endRow: t.endRow + i }]; + } else if (r <= t.startRow) return [{ ...t, startRow: t.startRow + i, endRow: t.endRow + i }]; + else if (r <= t.endRow + 1) return [{ ...t, endRow: t.endRow + i }]; + return [t]; + }; + var Es3 = (e29, t) => { + let n = e29.params, r = n.range.startColumn, i = n.range.endColumn - n.range.startColumn + 1; + if (n.direction === Fn.LEFT) { + if (r < t.startColumn) return [{ ...t, startColumn: t.startColumn + i, endColumn: t.endColumn + i }]; + if (r <= t.endColumn) return [{ ...t, endColumn: t.endColumn + i }]; + } else if (r <= t.startColumn) return [{ ...t, startColumn: t.startColumn + i, endColumn: t.endColumn + i }]; + else if (r <= t.endColumn + 1) return [{ ...t, endColumn: t.endColumn + i }]; + return [t]; + }; + var Ds3 = (e29, t) => { + let n = { ...t }; + return e29.forEach((e30) => { + switch (e30.type) { + case Q4.Delete: + n = null; + break; + case Q4.HorizontalMove: + if (!n) return; + n.startColumn += e30.step, n.endColumn += e30.step + (e30.length || 0); + break; + case Q4.VerticalMove: + if (!n) return; + n.startRow += e30.step, n.endRow += e30.step + (e30.length || 0); + break; + case Q4.Set: + n = e30.range; + break; + } + }), n && (n.endColumn < n.startColumn || n.endRow < n.startRow) ? null : n; + }; + var Os3 = (e29, t) => { + let n = []; + switch (t.id) { + case Z4.DeleteRangeMoveLeftCommandId: + n = bs3(t, e29); + break; + case Z4.DeleteRangeMoveUpCommandId: + n = Ss3(t, e29); + break; + case Z4.InsertColCommandId: + n = hs3(t, e29); + break; + case Z4.InsertRangeMoveDownCommandId: + n = gs3(t, e29); + break; + case Z4.InsertRangeMoveRightCommandId: + n = vs3(t, e29); + break; + case Z4.InsertRowCommandId: + n = ms3(t, e29); + break; + case Z4.MoveColsCommandId: + n = is3(t, e29); + break; + case Z4.MoveRangeCommandId: + n = os3(t, e29); + break; + case Z4.MoveRowsCommandId: + n = ts3(t, e29); + break; + case Z4.RemoveColCommandId: + n = ls3(t, e29); + break; + case Z4.RemoveRowCommandId: + n = us3(t, e29); + break; + case Z4.ReorderRangeCommandId: + n = ds3(t, e29); + break; + } + return Ds3(n, e29); + }; + var As3 = (e29, t) => { + let n = []; + switch (t.id) { + case Z4.DeleteRangeMoveLeftCommandId: + return xs3(t, e29); + case Z4.DeleteRangeMoveUpCommandId: + return Cs3(t, e29); + case Z4.InsertRangeMoveDownCommandId: + return _s3(t, e29); + case Z4.InsertRangeMoveRightCommandId: + return ys3(t, e29); + case Z4.InsertColCommandId: + return Es3(t, e29); + case Z4.InsertRowCommandId: + return Ts3(t, e29); + case Z4.MoveColsCommandId: + return as3(t, e29); + case Z4.MoveRangeCommandId: + return ss3(t, e29); + case Z4.MoveRowsCommandId: + return ns3(t, e29); + case Z4.ReorderRangeCommandId: + return rs3(t, e29); + case Z4.RemoveColCommandId: + n = ls3(t, e29); + break; + case Z4.RemoveRowCommandId: + return ws3(t.params, e29); + } + let r = Ds3(n, e29); + return r ? [r] : []; + }; + function Ms3(e29, t) { + let { id: n, params: r } = t, i = { length: 0, step: 0, type: Q4.Unknown }; + switch (n) { + case Ro3.id: + i.type = Q4.Delete; + break; + case Dn3.id: + i = es3({ start: r.sourceRange.startRow, end: r.sourceRange.endRow }, { start: r.targetRange.startRow, end: r.targetRange.endRow }, { start: e29.startRow, end: e29.endRow }), i.type = Q4.VerticalMove; + break; + case kn3.id: + i = es3({ start: r.sourceRange.startColumn, end: r.sourceRange.endColumn }, { start: r.targetRange.startColumn, end: r.targetRange.endColumn }, { start: e29.startColumn, end: e29.endColumn }), i.type = Q4.HorizontalMove; + break; + case Nn3.id: + i = cs2(r.range, e29), i ? i.type = Q4.HorizontalMove : i = { step: 0, length: 0, type: Q4.Delete }; + break; + case jn2.id: + i = cs2($o3(r.range), $o3(e29)), i ? i.type = Q4.VerticalMove : i = { step: 0, length: 0, type: Q4.Delete }; + break; + case Sn3.id: + i = fs3($o3(r.range), $o3(e29)), i.type = Q4.VerticalMove; + break; + case wn3.id: + i = fs3(r.range, e29), i.type = Q4.HorizontalMove; + break; + case Tn3.id: + i = ps3(r.fromRange || new Sa(r.from).getRange(), r.toRange || new Sa(r.to).getRange(), e29); + break; + default: + break; + } + return i ? Ds3(Array.isArray(i) ? i : [i], e29) : e29; + } + function Ps3(e29) { + switch (e29.id) { + case kn3.id: { + let t = e29.params; + return [t.sourceRange, { ...t.targetRange, startColumn: t.targetRange.startColumn - 0.5, endColumn: t.targetRange.startColumn - 0.5 }]; + } + case Dn3.id: { + let t = e29.params; + return [t.sourceRange, { ...t.targetRange, startRow: t.targetRange.startRow - 0.5, endRow: t.targetRange.startRow - 0.5 }]; + } + case Tn3.id: { + let t = e29.params; + return [new Sa(t.from.value).getRange(), new Sa(t.to.value).getRange()]; + } + case wn3.id: { + let t = e29.params.range; + return [{ ...t, startColumn: t.startColumn - 0.5, endColumn: t.startColumn - 0.5 }]; + } + case Sn3.id: { + let t = e29.params.range; + return [{ ...t, startRow: t.startRow - 0.5, endRow: t.startRow - 0.5 }]; + } + case Nn3.id: + return [e29.params.range]; + case jn2.id: + return [e29.params.range]; + default: + break; + } + } + function Fs3(e29, t) { + let n = e29.get(Mu); + switch (t.id) { + case Z4.MoveColsCommandId: { + let e30 = t.params, r = V4(n, e30); + if (!r) return; + let { unitId: i, subUnitId: a } = r, { fromRange: o, toRange: s } = e30; + return { unitId: i, subUnitId: a, ranges: [o, { ...s, startColumn: o.startColumn < s.startColumn ? o.endColumn + 1 : s.startColumn, endColumn: o.startColumn < s.startColumn ? s.endColumn - 1 : o.startColumn - 1 }] }; + } + case Z4.MoveRowsCommandId: { + let e30 = t.params, r = V4(n, e30); + if (!r) return; + let { unitId: i, subUnitId: a } = r, { fromRange: o, toRange: s } = e30; + return { unitId: i, subUnitId: a, ranges: [o, { ...s, startRow: o.startRow < s.startRow ? o.endRow + 1 : s.startRow, endRow: o.startRow < s.startRow ? s.endRow - 1 : o.startRow - 1 }] }; + } + case Z4.MoveRangeCommandId: { + let e30 = t.params, r = V4(n); + if (!r) return; + let { unitId: i, subUnitId: a } = r, { fromRange: o, toRange: s } = e30; + return { unitId: i, subUnitId: a, ranges: [o, s] }; + } + case Z4.InsertRowCommandId: { + let e30 = t.params, r = V4(n, e30); + if (!r) return; + let { worksheet: i, unitId: a, subUnitId: o } = r, { range: s } = e30; + return { unitId: a, subUnitId: o, ranges: [...s.startRow > 0 ? [{ ...s, startRow: s.startRow - 1, endRow: s.endRow - 1 }] : [], { ...s, startRow: s.startRow, endRow: i.getRowCount() - 1 }] }; + } + case Z4.InsertColCommandId: { + let e30 = t.params, r = V4(n, e30); + if (!r) return; + let { worksheet: i, unitId: a, subUnitId: o } = r, { range: s } = e30; + return { unitId: a, subUnitId: o, ranges: [...s.startColumn > 0 ? [{ ...s, startColumn: s.startColumn - 1, endColumn: s.endColumn - 1 }] : [], { ...s, startColumn: s.startColumn, endColumn: i.getColumnCount() - 1 }] }; + } + case Z4.RemoveRowCommandId: { + let e30 = t.params, r = V4(n); + if (!r) return; + let { worksheet: i, unitId: a, subUnitId: o } = r, { range: s } = e30; + return { unitId: a, subUnitId: o, ranges: [s, { ...s, startRow: s.endRow + 1, endRow: i.getRowCount() - 1 }] }; + } + case Z4.RemoveColCommandId: { + let e30 = t.params, r = V4(n); + if (!r) return; + let { worksheet: i, unitId: a, subUnitId: o } = r, { range: s } = e30; + return { unitId: a, subUnitId: o, ranges: [s, { ...s, startColumn: s.endColumn + 1, endColumn: i.getColumnCount() - 1 }] }; + } + case Z4.DeleteRangeMoveUpCommandId: + case Z4.InsertRangeMoveDownCommandId: { + let e30 = t.params, r = V4(n); + if (!r) return; + let { worksheet: i, unitId: a, subUnitId: o } = r, { range: s } = e30; + return { unitId: a, subUnitId: o, ranges: [s, { ...s, startRow: s.endRow + 1, endRow: i.getRowCount() - 1 }] }; + } + case Z4.DeleteRangeMoveLeftCommandId: + case Z4.InsertRangeMoveRightCommandId: { + let e30 = t.params, r = V4(n); + if (!r) return; + let { worksheet: i, unitId: a, subUnitId: o } = r, { range: s } = e30; + return { unitId: a, subUnitId: o, ranges: [s, { ...s, startColumn: s.endColumn + 1, endColumn: i.getColumnCount() - 1 }] }; + } + case Z4.ReorderRangeCommandId: { + let e30 = t.params, r = V4(n); + if (!r) return; + let { unitId: i, subUnitId: a } = r, { range: o, order: s } = e30, c = []; + for (let e31 = o.startRow; e31 <= o.endRow; e31++) e31 in s && c.push({ startRow: e31, endRow: e31, startColumn: o.startColumn, endColumn: o.endColumn }); + return { unitId: i, subUnitId: a, ranges: c }; + } + } + } + var Is3 = jt(`MERGE_REDO`); + var Ls3 = jt(`MERGE_UNDO`); + var Rs2 = class extends E { + constructor(e29, t, n, r, i = false) { + super(), this._unitId = e29, this._subUnitId = t, this._range = n, this._callback = r, this._skipIntersects = i; + } + onMutation(e29) { + var t, n; + if (((t = e29.params) == null ? void 0 : t.unitId) !== this._unitId) return; + if (e29.id === Tn3.id) { + let t2 = e29.params; + if (t2.from.subUnitId !== this._subUnitId || t2.to.subUnitId !== this._subUnitId) return; + } else if (((n = e29.params) == null ? void 0 : n.subUnitId) !== this._subUnitId) return; + if (!this._range) return; + if (this._skipIntersects) { + if (e29.id === Ro3.id) return; + let t2 = Ps3(e29); + if (t2 != null && t2.some((e30) => G.intersects(e30, this._range))) return; + } + let r = Ms3(this._range, e29); + if (r && G.equals(r, this._range)) return false; + let i = this._range; + this._range = r, this._callback(i, r); + } + }; + var zs3 = class extends E { + constructor(e29, t, n, r) { + super(), this._commandService = e29, this._sheetInterceptorService = t, this._univerInstanceService = n, this._selectionManagerService = r, U4(this, `interceptor`, new Nt({ MERGE_REDO: Is3, MERGE_UNDO: Ls3 })), U4(this, `_watchRanges`, /* @__PURE__ */ new Set()), U4(this, `_refRangeManagerMap`, /* @__PURE__ */ new Map()), U4(this, `_serializer`, Us3()), U4(this, `_onRefRangeChange`, () => { + this._sheetInterceptorService.interceptCommand({ getMutations: (e30) => { + let t2 = (() => { + switch (e30.id) { + case Z4.MoveColsCommandId: { + let t4 = e30.params, n4 = V4(this._univerInstanceService, t4); + if (!n4) return []; + let { worksheet: r3, unitId: i2, subUnitId: a2 } = n4, o = Math.min(t4.fromRange.startColumn, t4.toRange.startColumn); + return this._checkRange([{ ...t4.fromRange, startColumn: o, endColumn: r3.getColumnCount() - 1 }], i2, a2); + } + case Z4.MoveRowsCommandId: { + let t4 = e30.params, n4 = V4(this._univerInstanceService, t4); + if (!n4) return []; + let { worksheet: r3, unitId: i2, subUnitId: a2 } = n4, o = Math.min(t4.fromRange.startRow, t4.toRange.startRow); + return this._checkRange([{ ...t4.fromRange, startRow: o, endRow: r3.getRowCount() - 1 }], i2, a2); + } + case Z4.MoveRangeCommandId: { + var t3, n3; + let r3 = e30.params, i2 = V4(this._univerInstanceService, { unitId: r3.fromUnitId, subUnitId: r3.fromSubUnitId }), a2 = V4(this._univerInstanceService, { unitId: (t3 = r3.toUnitId) == null ? r3.fromUnitId : t3, subUnitId: (n3 = r3.toSubUnitId) == null ? r3.fromSubUnitId : n3 }); + if (!i2 && !a2) return []; + if (i2 && a2 && i2.unitId === a2.unitId && i2.subUnitId === a2.subUnitId) return this._checkRange([r3.fromRange, r3.toRange], i2.unitId, i2.subUnitId); + let o = []; + return i2 && o.push(...this._checkRange([r3.fromRange], i2.unitId, i2.subUnitId)), a2 && o.push(...this._checkRange([r3.toRange], a2.unitId, a2.subUnitId)), o; + } + case Z4.InsertRowCommandId: { + let t4 = e30.params, n4 = V4(this._univerInstanceService, t4); + if (!n4) return []; + let { worksheet: r3, unitId: i2, subUnitId: a2 } = n4, o = { startRow: Math.max(0, t4.range.startRow - 1), endRow: r3.getRowCount() - 1, startColumn: 0, endColumn: r3.getColumnCount() - 1, rangeType: B.ROW }; + return this._checkRange([o], i2, a2); + } + case Z4.InsertColCommandId: { + let t4 = e30.params, n4 = V4(this._univerInstanceService, t4); + if (!n4) return []; + let { worksheet: r3, unitId: i2, subUnitId: a2 } = n4, o = { startRow: 0, endRow: r3.getRowCount() - 1, startColumn: Math.max(0, t4.range.startColumn - 1), endColumn: r3.getColumnCount() - 1, rangeType: B.COLUMN }; + return this._checkRange([o], i2, a2); + } + case Z4.RemoveRowCommandId: { + let t4 = e30.params, n4 = V4(this._univerInstanceService); + if (!n4) return []; + let { worksheet: r3, unitId: i2, subUnitId: a2 } = n4, o = { startRow: t4.range.startRow, endRow: r3.getRowCount() - 1, startColumn: 0, endColumn: r3.getColumnCount() - 1, rangeType: B.ROW }; + return this._checkRange([o], i2, a2); + } + case Z4.RemoveColCommandId: { + let t4 = e30.params, n4 = V4(this._univerInstanceService); + if (!n4) return []; + let { worksheet: r3, unitId: i2, subUnitId: a2 } = n4, o = { startRow: 0, endRow: r3.getRowCount() - 1, startColumn: t4.range.startColumn, endColumn: r3.getColumnCount() - 1, rangeType: B.COLUMN }; + return this._checkRange([o], i2, a2); + } + case Z4.DeleteRangeMoveUpCommandId: + case Z4.InsertRangeMoveDownCommandId: { + let t4 = e30.params, n4 = V4(this._univerInstanceService); + if (!n4) return []; + let { worksheet: r3, unitId: i2, subUnitId: a2 } = n4, o = { ...t4.range, endRow: r3.getRowCount() - 1 }; + return this._checkRange([o], i2, a2); + } + case Z4.DeleteRangeMoveLeftCommandId: + case Z4.InsertRangeMoveRightCommandId: { + let t4 = e30.params, n4 = V4(this._univerInstanceService); + if (!n4) return []; + let { worksheet: r3, unitId: i2, subUnitId: a2 } = n4, o = { ...t4.range, endColumn: r3.getColumnCount() - 1 }; + return this._checkRange([o], i2, a2); + } + case Z4.ReorderRangeCommandId: { + let t4 = e30.params, n4 = V4(this._univerInstanceService); + if (!n4) return []; + let { unitId: r3, subUnitId: i2 } = n4, { range: a2, order: o } = t4, s = []; + for (let e31 = a2.startRow; e31 <= a2.endRow; e31++) e31 in o && s.push({ startRow: e31, endRow: e31, startColumn: a2.startColumn, endColumn: a2.endColumn }); + return this._checkRange(s, r3, i2); + } + } + })(); + if (!t2 || t2.length === 0) return { redos: [], undos: [], preRedos: [], preUndos: [] }; + let n2 = t2.reduce((t3, n3) => { + let r3 = n3(e30); + return t3.push(r3), t3; + }, []).reduce((e31, t3) => { + var n3, r3; + return e31.redos.push(...t3.redos), e31.undos.push(...t3.undos), e31.preRedos.push(...(n3 = t3.preRedos) == null ? [] : n3), e31.preUndos.push(...(r3 = t3.preUndos) == null ? [] : r3), e31; + }, { redos: [], undos: [], preUndos: [], preRedos: [] }), r2 = this.interceptor.fetchThroughInterceptors(this.interceptor.getInterceptPoints().MERGE_REDO)(n2.preRedos, null) || [], i = this.interceptor.fetchThroughInterceptors(this.interceptor.getInterceptPoints().MERGE_REDO)(n2.redos, null) || [], a = this.interceptor.fetchThroughInterceptors(this.interceptor.getInterceptPoints().MERGE_UNDO)(n2.preUndos, null) || []; + return { redos: i, undos: this.interceptor.fetchThroughInterceptors(this.interceptor.getInterceptPoints().MERGE_UNDO)(n2.undos, null) || [], preRedos: r2, preUndos: a }; + } }); + }), U4(this, `_checkRange`, (e30, t2, n2) => { + let r2 = Hs3(t2, n2), i = this._refRangeManagerMap.get(r2); + if (i) { + let t3 = /* @__PURE__ */ new Set(); + return [...i.keys()].forEach((n3) => { + let r3 = i.get(n3), a = this._serializer.deserialize(n3), o = { ...a, startRow: +a.startRow, endRow: +a.endRow, startColumn: +a.startColumn, endColumn: +a.endColumn, rangeType: a.rangeType && +a.rangeType }; + e30.some((e31) => G.intersects(e31, o)) && r3 && r3.forEach((e31) => { + t3.add(e31); + }); + }), [...t3]; + } + return []; + }), U4(this, `registerRefRange`, (e30, t2, n2, r2) => { + let i = n2 || Bs3(this._univerInstanceService), a = r2 || Vs2(this._univerInstanceService); + if (!i || !a) return T2(() => { + }); + let o = Hs3(i, a), s = this._serializer.serialize(e30), c = this._refRangeManagerMap.get(o); + c || (c = /* @__PURE__ */ new Map(), this._refRangeManagerMap.set(o, c)); + let l = c.get(s); + return l ? l.add(t2) : c.set(s, /* @__PURE__ */ new Set([t2])), T2(() => { + let e31 = c.get(s); + e31 && (e31.delete(t2), e31.size || (c.delete(s), c.size || this._refRangeManagerMap.delete(o))); + }); + }), this._onRefRangeChange(), this.interceptor.intercept(this.interceptor.getInterceptPoints().MERGE_REDO, { priority: -1, handler: (e30) => e30 }), this.interceptor.intercept(this.interceptor.getInterceptPoints().MERGE_UNDO, { priority: -1, handler: (e30) => e30 }); + } + watchRange(e29, t, n, r, i) { + let a; + this._watchRanges.size === 0 && (a = this._commandService.onCommandExecuted((e30) => { + if (e30.type !== ri.MUTATION) return false; + for (let t2 of this._watchRanges) t2.onMutation(e30); + })); + let o = new Rs2(e29, t, n, r, i); + this._watchRanges.add(o); + let s = T2(() => { + this._watchRanges.delete(o), this._watchRanges.size === 0 && (a == null || a.dispose(), a = null); + }), c = this.disposeWithMe(s); + return T2(() => { + c.dispose(), s.dispose(); + }); + } + }; + zs3 = G4([W4(0, ii), W4(1, Inject(K4)), W4(2, Inject(Mu)), W4(3, Inject(Y4))], zs3); + function Bs3(e29) { + var t; + return (t = e29.getCurrentUnitOfType(O.UNIVER_SHEET)) == null ? void 0 : t.getUnitId(); + } + function Vs2(e29) { + var t; + return (t = e29.getCurrentUnitOfType(O.UNIVER_SHEET)) == null || (t = t.getActiveSheet()) == null ? void 0 : t.getSheetId(); + } + function Hs3(e29, t) { + return `${e29}_${t}`; + } + function Us3() { + let e29 = [`startRow`, `startColumn`, `endRow`, `endColumn`, `rangeType`]; + return { deserialize: (t) => { + let n = e29.reduce((e30, t2, n2) => (e30[String(n2)] = t2, e30), {}); + return t.split(`_`).reduce((e30, t2, r) => { + let i = String(r); + return t2 && n[i] && (e30[n[i]] = t2), e30; + }, {}); + }, serialize: (t) => e29.reduce((e30, n, r) => { + let i = t[n]; + return i === void 0 ? `${e30}` : `${e30}${r > 0 ? `_` : ``}${i}`; + }, ``) }; + } + var Ws3 = [wn3.id, Sn3.id, Nn3.id, jn2.id]; + var Gs3 = [Dn3.id, kn3.id]; + function Ks3(e29, t) { + let n = e29; + if (t !== void 0) { + let e30 = []; + for (let r = 0; r < n.length; r++) { + let { startRow: i, endRow: a, startColumn: o, endColumn: s } = n[r]; + if (t === Pn.ROWS) for (let t2 = i; t2 <= a; t2++) { + let n2 = { startRow: t2, endRow: t2, startColumn: o, endColumn: s }; + e30.push(n2); + } + else if (t === Pn.COLUMNS) for (let t2 = o; t2 <= s; t2++) { + let n2 = { startRow: i, endRow: a, startColumn: t2, endColumn: t2 }; + e30.push(n2); + } + } + n = e30; + } + return n; + } + var qs3 = jt(`mergeCellPermissionCheck`); + var Js3 = class extends E { + constructor(e29, t, n, r, i, a) { + super(), this._commandService = e29, this._refRangeService = t, this._univerInstanceService = n, this._injector = r, this._sheetInterceptorService = i, this._selectionManagerService = a, U4(this, `disposableCollection`, new un()), U4(this, `interceptor`, new Nt({ MERGE_CELL_INTERCEPTOR_CHECK: qs3 })), this._onRefRangeChange(), this._initCommandInterceptor(), this._commandExecutedListener(); + } + _initCommandInterceptor() { + let e29 = this; + this._sheetInterceptorService.interceptCommand({ getMutations(t) { + switch (t.id) { + case Wi2.id: + case Gi2.id: { + var n; + let t2 = e29._univerInstanceService.getCurrentUnitForType(O.UNIVER_SHEET), r = t2.getUnitId(), i = t2 == null ? void 0 : t2.getActiveSheet(); + if (!i) return { redos: [], undos: [] }; + let a = i.getSheetId(), o = i.getConfig().mergeData, s = (n = e29._selectionManagerService.getCurrentSelections()) == null ? void 0 : n.map((e30) => e30.range); + if (s && s.length > 0 && s.some((e30) => o.some((t3) => G.intersects(t3, e30)))) { + let t3 = { unitId: r, subUnitId: a, ranges: s }, n2 = Pn2(e29._injector, t3); + return { redos: [{ id: q4.id, params: t3 }], undos: [{ id: H4.id, params: n2 }] }; + } + } + } + return { redos: [], undos: [] }; + } }), this._sheetInterceptorService.interceptRanges({ getMutations: ({ unitId: e30, subUnitId: t, ranges: n }) => { + let r = [], i = [], a = { redos: r, undos: i }; + if (!n || !n.length) return a; + let o = V4(this._univerInstanceService, { unitId: e30, subUnitId: t }); + if (!o) return a; + let { worksheet: s } = o, c = s.getMergeData().filter((e31) => n.some((t2) => G.intersects(e31, t2))); + return c.length ? (r.push({ id: q4.id, params: { unitId: e30, subUnitId: t, ranges: c } }), i.push({ id: H4.id, params: { unitId: e30, subUnitId: t, ranges: c } }), { undos: i, redos: r }) : a; + } }); + } + refRangeHandle(e29, t, n) { + switch (e29.id) { + case Z4.MoveColsCommandId: { + let r = e29.params; + return this._handleMoveColsCommand(r, t, n); + } + case Z4.MoveRowsCommandId: { + let r = e29.params; + return this._handleMoveRowsCommand(r, t, n); + } + case _o3.id: { + let r = e29.params, i = r.unitId || t, a = r.subUnitId || n; + return this._handleInsertRowCommand(r, i, a); + } + case wo3.id: { + let r = e29.params, i = r.unitId || t, a = r.subUnitId || n; + return this._handleInsertColCommand(r, i, a); + } + case Io3.id: { + let r = e29.params; + return this._handleRemoveColCommand(r, t, n); + } + case No3.id: { + let r = e29.params; + return this._handleRemoveRowCommand(r, t, n); + } + case oa3.id: { + let r = e29.params; + return this._handleMoveRangeCommand(r, t, n); + } + case ho2.id: { + let r = e29.params; + return this._handleInsertRangeMoveRightCommand(r, t, n); + } + case po2.id: { + let r = e29.params; + return this._handleInsertRangeMoveDownCommand(r, t, n); + } + case uo3.id: { + let r = e29.params; + return this._handleDeleteRangeMoveUpCommand(r, t, n); + } + case co3.id: { + let r = e29.params; + return this._handleDeleteRangeMoveLeftCommand(r, t, n); + } + } + return { redos: [], undos: [] }; + } + _onRefRangeChange() { + let e29 = (e30, t) => { + let n = this._univerInstanceService.getUniverSheetInstance(e30); + if (!n) return; + let r = n == null ? void 0 : n.getSheetBySheetId(t); + if (!r) return; + this.disposableCollection.dispose(); + let i = r.getMergeData(), a = (n2) => this.refRangeHandle(n2, e30, t); + i.forEach((n2) => { + this.disposableCollection.add(this._refRangeService.registerRefRange(n2, a, e30, t)); + }); + }; + this.disposeWithMe(this._commandService.onCommandExecuted((t) => { + if (t.id === Vr3.id) { + let n = t.params, r = n.subUnitId, i = n.unitId; + if (!r || !i) return; + e29(i, r); + } + if (t.id === H4.id) { + let n = t.params, r = n.subUnitId, i = n.unitId; + if (!r || !i) return; + e29(n.unitId, n.subUnitId); + } + })), this._univerInstanceService.getCurrentTypeOfUnit$(O.UNIVER_SHEET).pipe(first((e30) => !!e30)).subscribe((t) => { + let n = t.getActiveSheet(); + n && e29(t.getUnitId(), n.getSheetId()); + }); + } + _handleMoveRowsCommand(e29, t, n) { + let r = Ys3(this._univerInstanceService, t); + if (!r) return this._handleNull(); + let i = Xs3(r, n); + if (!i) return this._handleNull(); + let a = [...i.getMergeData()], o = { unitId: t, subUnitId: n, ranges: [] }, s = { unitId: t, subUnitId: n, ranges: [] }, { fromRange: c } = e29, { startRow: l, endRow: u } = c; + if (a.forEach((t2) => { + if (l <= t2.startRow && u >= t2.endRow) { + o.ranges.push(t2); + let n2 = Ds3(ts3({ id: Z4.MoveRowsCommandId, params: e29 }, t2), t2); + n2 && s.ranges.push(n2); + } + }), o.ranges.length === 0) return this._handleNull(); + let d = Pn2(this._injector, o), f = zt2(this._injector, s); + return { preRedos: [{ id: q4.id, params: o }], redos: [{ id: H4.id, params: s }], preUndos: [{ id: q4.id, params: f }], undos: [{ id: H4.id, params: d }] }; + } + _handleMoveColsCommand(e29, t, n) { + let r = Ys3(this._univerInstanceService, t); + if (!r) return this._handleNull(); + let i = Xs3(r, n); + if (!i) return this._handleNull(); + let a = [...i.getMergeData()], o = { unitId: t, subUnitId: n, ranges: [] }, s = { unitId: t, subUnitId: n, ranges: [] }, { fromRange: c } = e29, { startColumn: l, endColumn: u } = c; + if (a.forEach((t2) => { + if (l <= t2.startColumn && u >= t2.endColumn) { + o.ranges.push(t2); + let n2 = Ds3(is3({ id: Z4.MoveColsCommandId, params: e29 }, t2), t2); + n2 && s.ranges.push(n2); + } + }), o.ranges.length === 0) return this._handleNull(); + let d = Pn2(this._injector, o), f = zt2(this._injector, s); + return { preRedos: [{ id: q4.id, params: o }], redos: [{ id: H4.id, params: s }], preUndos: [{ id: q4.id, params: f }], undos: [{ id: H4.id, params: d }] }; + } + _handleMoveRangeCommand(e29, t, n) { + var r, i; + let a = Ys3(this._univerInstanceService, t); + if (!a) return this._handleNull(); + let o = (r = e29.fromSubUnitId) == null ? n : r, s = (i = e29.toSubUnitId) == null ? o : i, c = Xs3(a, o), l = Xs3(a, s); + if (!c || !l) return this._handleNull(); + let u = c.getMergeData().filter((t2) => G.intersects(t2, e29.fromRange)), d = l.getMergeData().filter((t2) => G.intersects(t2, e29.toRange)), f = Ks3(u.map((t2) => G.getRelativeRange(t2, e29.fromRange)).map((t2) => G.getPositionRange(t2, e29.toRange))).filter((e30) => !l.getMergeData().some((t2) => G.equals(e30, t2))), p = [], m = []; + return n === o && u.length > 0 && (p.push({ id: q4.id, params: { unitId: t, subUnitId: o, ranges: u } }), m.push({ id: H4.id, params: { unitId: t, subUnitId: o, ranges: u } })), n === s && d.length > 0 && (p.push({ id: q4.id, params: { unitId: t, subUnitId: s, ranges: d } }), m.push({ id: H4.id, params: { unitId: t, subUnitId: s, ranges: d } })), n === s && f.length > 0 && (p.push({ id: H4.id, params: { unitId: t, subUnitId: s, ranges: f } }), m.unshift({ id: q4.id, params: { unitId: t, subUnitId: s, ranges: f } })), p.length === 0 ? this._handleNull() : { redos: p, undos: m }; + } + _handleInsertRowCommand(e29, t, n) { + let r = Ys3(this._univerInstanceService, t); + if (!r) return this._handleNull(); + let i = Xs3(r, n); + if (!i) return this._handleNull(); + let { range: a } = e29, { startRow: o, endRow: s } = a, c = D.deepClone(i.getMergeData()).reduce((e30, t2) => (o > t2.startRow && o <= t2.endRow && e30.push(t2), e30), []); + if (c.length === 0) return this._handleNull(); + let l = D.deepClone(i.getMergeData()).reduce((e30, t2) => { + if (o > t2.startRow && o <= t2.endRow) { + let n2 = s - o + 1; + t2.endRow += n2, this._checkIsMergeCell(t2) && e30.push(t2); + } + return e30; + }, []), u = { unitId: t, subUnitId: n, ranges: c }, d = Pn2(this._injector, u), f = { unitId: t, subUnitId: n, ranges: l }, p = zt2(this._injector, f); + return { redos: [{ id: q4.id, params: u }, { id: H4.id, params: f }], undos: [{ id: q4.id, params: p }, { id: H4.id, params: d }] }; + } + _handleInsertColCommand(e29, t, n) { + let { range: r } = e29, i = Ys3(this._univerInstanceService, t); + if (!i) return this._handleNull(); + let a = Xs3(i, n); + if (!a) return this._handleNull(); + let { startColumn: o, endColumn: s } = r, c = D.deepClone(a.getMergeData()).reduce((e30, t2) => (o > t2.startColumn && o <= t2.endColumn && e30.push(t2), e30), []); + if (c.length === 0) return this._handleNull(); + let l = D.deepClone(a.getMergeData()).reduce((e30, t2) => { + if (o > t2.startColumn && o <= t2.endColumn) { + let n2 = s - o + 1; + t2.endColumn += n2, this._checkIsMergeCell(t2) && e30.push(t2); + } + return e30; + }, []), u = { unitId: t, subUnitId: n, ranges: c }, d = Pn2(this._injector, u), f = { unitId: t, subUnitId: n, ranges: l }, p = zt2(this._injector, f); + return { redos: [{ id: q4.id, params: u }, { id: H4.id, params: f }], undos: [{ id: q4.id, params: p }, { id: H4.id, params: d }] }; + } + _handleRemoveColCommand(e29, t, n) { + let r = Ys3(this._univerInstanceService, t); + if (!r) return this._handleNull(); + let i = Xs3(r, n); + if (!i) return this._handleNull(); + let { range: a } = e29, { startColumn: o, endColumn: s } = a, c = D.deepClone(i.getMergeData()).reduce((e30, t2) => (G.intersects(a, t2) && e30.push(t2), e30), []); + if (c.length === 0) return this._handleNull(); + let l = D.deepClone(i.getMergeData()).reduce((e30, t2) => { + if (G.intersects(a, t2)) { + if (o <= t2.startColumn && s >= t2.endColumn) return e30; + o >= t2.startColumn && s <= t2.endColumn ? t2.endColumn -= s - o + 1 : o < t2.startColumn ? (t2.startColumn = o, t2.endColumn -= s - o + 1) : s > t2.endColumn && (t2.endColumn = o - 1), this._checkIsMergeCell(t2) && e30.push(t2); + } + return e30; + }, []), u = { unitId: t, subUnitId: n, ranges: c }, d = Pn2(this._injector, u), f = { unitId: t, subUnitId: n, ranges: l }, p = zt2(this._injector, f), m = [{ id: q4.id, params: u }], h = [{ id: H4.id, params: f }]; + return { preUndos: [{ id: q4.id, params: p }], undos: [{ id: H4.id, params: d }], preRedos: m, redos: h }; + } + _handleRemoveRowCommand(e29, t, n) { + let { range: r } = e29, i = Ys3(this._univerInstanceService, t); + if (!i) return this._handleNull(); + let a = Xs3(i, n); + if (!a) return this._handleNull(); + let { startRow: o, endRow: s } = r, c = D.deepClone(a.getMergeData()).reduce((e30, t2) => (G.intersects(r, t2) && e30.push(t2), e30), []); + if (c.length === 0) return this._handleNull(); + let l = D.deepClone(a.getMergeData()).reduce((e30, t2) => { + if (G.intersects(r, t2)) { + if (o <= t2.startRow && s >= t2.endRow) return e30; + o >= t2.startRow && s <= t2.endRow ? t2.endRow -= s - o + 1 : o < t2.startRow ? (t2.startRow = o, t2.endRow -= s - o + 1) : s > t2.endRow && (t2.endRow = o - 1), this._checkIsMergeCell(t2) && e30.push(t2); + } + return e30; + }, []), u = { unitId: t, subUnitId: n, ranges: c }, d = Pn2(this._injector, u), f = { unitId: t, subUnitId: n, ranges: l }, p = zt2(this._injector, f), m = [{ id: q4.id, params: u }], h = [{ id: H4.id, params: f }]; + return { preUndos: [{ id: q4.id, params: p }], undos: [{ id: H4.id, params: d }], preRedos: m, redos: h }; + } + _handleInsertRangeMoveRightCommand(e29, t, n) { + let r = Ys3(this._univerInstanceService, t); + if (!r) return this._handleNull(); + let i = Xs3(r, n); + if (!i) return this._handleNull(); + let a = e29.range, o = i.getMaxColumns() - 1, s = i.getMergeData(), c = [], l = []; + s.forEach((e30) => { + let { startRow: t2, endRow: n2, startColumn: r2, endColumn: i2 } = a; + if (G.intersects({ startRow: t2, startColumn: r2, endRow: n2, endColumn: o }, e30) && (c.push(e30), G.contains({ startRow: t2, startColumn: r2, endRow: n2, endColumn: o }, e30))) { + let t3 = i2 - r2 + 1; + l.push({ startRow: e30.startRow, startColumn: e30.startColumn + t3, endRow: e30.endRow, endColumn: e30.endColumn + t3 }); + } + }); + let u = { unitId: t, subUnitId: n, ranges: c }, d = Pn2(this._injector, u), f = { unitId: t, subUnitId: n, ranges: l }, p = zt2(this._injector, f); + return { preRedos: [{ id: q4.id, params: u }], redos: [{ id: H4.id, params: f }], preUndos: [{ id: q4.id, params: p }], undos: [{ id: H4.id, params: d }] }; + } + _handleInsertRangeMoveDownCommand(e29, t, n) { + let r = Ys3(this._univerInstanceService, t); + if (!r) return this._handleNull(); + let i = Xs3(r, n); + if (!i) return this._handleNull(); + let a = e29.range, o = i.getMaxRows() - 1, s = i.getMergeData(), c = [], l = []; + s.forEach((e30) => { + let { startRow: t2, startColumn: n2, endColumn: r2, endRow: i2 } = a; + if (G.intersects({ startRow: t2, startColumn: n2, endRow: o, endColumn: r2 }, e30) && (c.push(e30), G.contains({ startRow: t2, startColumn: n2, endRow: o, endColumn: r2 }, e30))) { + let n3 = i2 - t2 + 1; + l.push({ startRow: e30.startRow + n3, startColumn: e30.startColumn, endRow: e30.endRow + n3, endColumn: e30.endColumn }); + } + }); + let u = { unitId: t, subUnitId: n, ranges: c }, d = Pn2(this._injector, u), f = { unitId: t, subUnitId: n, ranges: l }, p = zt2(this._injector, f), m = [{ id: q4.id, params: u }], h = [{ id: H4.id, params: f }], g2 = [{ id: q4.id, params: p }]; + return { redos: h, undos: [{ id: H4.id, params: d }], preRedos: m, preUndos: g2 }; + } + _handleDeleteRangeMoveUpCommand(e29, t, n) { + let r = Ys3(this._univerInstanceService, t); + if (!r) return this._handleNull(); + let i = Xs3(r, n); + if (!i) return this._handleNull(); + let a = e29.range, o = i.getMaxRows() - 1, s = i.getMergeData(), c = [], l = []; + s.forEach((e30) => { + let { startRow: t2, startColumn: n2, endColumn: r2, endRow: i2 } = a; + if (G.intersects({ startRow: t2, startColumn: n2, endRow: o, endColumn: r2 }, e30) && (c.push(e30), G.contains({ startRow: t2, startColumn: n2, endRow: o, endColumn: r2 }, e30))) { + let n3 = i2 - t2 + 1, r3 = G.moveVertical(e30, -n3); + l.push(r3); + } + }); + let u = { unitId: t, subUnitId: n, ranges: c }, d = Pn2(this._injector, u), f = { unitId: t, subUnitId: n, ranges: l }, p = zt2(this._injector, f), m = [{ id: q4.id, params: u }], h = [{ id: H4.id, params: f }], g2 = [{ id: q4.id, params: p }]; + return { redos: h, undos: [{ id: H4.id, params: d }], preRedos: m, preUndos: g2 }; + } + _handleDeleteRangeMoveLeftCommand(e29, t, n) { + let r = Ys3(this._univerInstanceService, t); + if (!r) return this._handleNull(); + let i = Xs3(r, n); + if (!i) return this._handleNull(); + let a = e29.range, o = i.getMaxColumns() - 1, s = i.getMergeData(), c = [], l = []; + s.forEach((e30) => { + let { startRow: t2, endRow: n2, startColumn: r2, endColumn: i2 } = a; + if (G.intersects({ startRow: t2, startColumn: r2, endRow: n2, endColumn: o }, e30) && (c.push(e30), G.contains({ startRow: t2, startColumn: r2, endRow: n2, endColumn: o }, e30))) { + let t3 = i2 - r2 + 1; + l.push({ startRow: e30.startRow, startColumn: e30.startColumn - t3, endRow: e30.endRow, endColumn: e30.endColumn - t3 }); + } + }); + let u = { unitId: t, subUnitId: n, ranges: c }, d = Pn2(this._injector, u), f = { unitId: t, subUnitId: n, ranges: l }, p = zt2(this._injector, f); + return { preRedos: [{ id: q4.id, params: u }], redos: [{ id: H4.id, params: f }], undos: [{ id: H4.id, params: d }], preUndos: [{ id: q4.id, params: p }] }; + } + _checkIsMergeCell(e29) { + return !(e29.startRow === e29.endRow && e29.startColumn === e29.endColumn); + } + _handleNull() { + return { redos: [], undos: [] }; + } + _commandExecutedListener() { + this.disposeWithMe(this._commandService.onCommandExecuted((e29) => { + if (Gs3.includes(e29.id)) { + if (!e29.params) return; + let t = this._univerInstanceService.getUniverSheetInstance(e29.params.unitId); + if (!t) return; + let n = t.getSheetBySheetId(e29.params.subUnitId); + if (!n) return; + let { sourceRange: r, targetRange: i } = e29.params, a = r.startColumn === i.startColumn && r.endColumn === i.endColumn, o = a ? r.endRow - r.startRow + 1 : r.endColumn - r.startColumn + 1, s = a ? r.startRow : r.startColumn, c = a ? i.startRow : i.startColumn, l = n.getConfig().mergeData, u = []; + l.forEach((e30) => { + let { startRow: t2, endRow: n2, startColumn: i2, endColumn: l2, rangeType: d2 } = e30; + G.intersects(e30, r) || (a ? s < t2 && c > n2 ? (t2 -= o, n2 -= o) : s > n2 && c <= t2 && (t2 += o, n2 += o) : s < i2 && c > l2 ? (i2 -= o, l2 -= o) : s > l2 && c <= i2 && (i2 += o, l2 += o)), e30.startRow === e30.endRow && e30.startColumn === e30.endColumn || u.push({ startRow: t2, endRow: n2, startColumn: i2, endColumn: l2, rangeType: d2 }); + }), n.setMergeData(u), this.disposableCollection.dispose(); + let { unitId: d, subUnitId: f } = e29.params, p = (e30) => this.refRangeHandle(e30, d, f); + u.forEach((e30) => { + this.disposableCollection.add(this._refRangeService.registerRefRange(e30, p, d, f)); + }); + } + if (Ws3.includes(e29.id)) { + let t = this._univerInstanceService.getUniverSheetInstance(e29.params.unitId); + if (!t) return; + let n = t.getSheetBySheetId(e29.params.subUnitId); + if (!n) return; + let r = n.getConfig().mergeData, i = e29.params; + if (!i) return; + let { range: a } = i, o = e29.id.includes(`row`), s = e29.id.includes(`insert`), c = o ? a.startRow : a.startColumn, l = o ? a.endRow : a.endColumn, u = l - c + 1, d = []; + r.forEach((e30) => { + let { startRow: t2, endRow: n2, startColumn: r2, endColumn: i2, rangeType: a2 } = e30; + s ? o ? c <= t2 && (t2 += u, n2 += u) : c <= r2 && (r2 += u, i2 += u) : o ? l < t2 && (t2 -= u, n2 -= u) : l < r2 && (r2 -= u, i2 -= u), e30.startRow === e30.endRow && e30.startColumn === e30.endColumn || d.push({ startRow: t2, endRow: n2, startColumn: r2, endColumn: i2, rangeType: a2 }); + }), n.setMergeData(d), this.disposableCollection.dispose(); + let { unitId: f, subUnitId: p } = e29.params, m = (e30) => this.refRangeHandle(e30, f, p); + d.forEach((e30) => { + this.disposableCollection.add(this._refRangeService.registerRefRange(e30, m, f, p)); + }); + } + })); + } + }; + Js3 = G4([W4(0, Inject(ii)), W4(1, Inject(zs3)), W4(2, Inject(Mu)), W4(3, Inject(Injector)), W4(4, Inject(K4)), W4(5, Inject(Y4))], Js3); + function Ys3(e29, t) { + return t ? e29.getUniverSheetInstance(t) : e29.getCurrentUnitForType(O.UNIVER_SHEET); + } + function Xs3(e29, t) { + return t ? e29.getSheetBySheetId(t) : e29.getActiveSheet(); + } + var Zs3 = (e29, t, n) => { + let r = e29.get(Y4).getCurrentSelections(), { value: i, selections: a, unitId: o, subUnitId: s } = t; + if (r && r.length > 0) { + let e30 = r[(r == null ? void 0 : r.length) - 1].primary; + if (e30) { + let { actualColumn: t2, actualRow: c } = e30, { startRow: l, startColumn: u, endRow: d, endColumn: f } = a[a.length - 1]; + if (i === Pn.COLUMNS) { + let e31 = n.find((e32) => e32.startColumn === t2 && e32.endColumn === t2 && c === e32.startRow); + e31 && (f = e31.endColumn, l = e31.startRow, d = e31.endRow); + } else if (i === Pn.ROWS) { + let e31 = n.find((e32) => e32.startRow === c && e32.endRow === c && t2 === e32.startColumn); + e31 && (d = e31.endRow, u = e31.startColumn, f = e31.endColumn); + } + let m = { startRow: l, startColumn: u, endRow: d, endColumn: f, actualRow: c, actualColumn: t2, isMerged: true, isMergedMainCell: l === c && u === t2 }, h = r.map((e31, t3, n2) => ({ range: e31.range, style: null, primary: t3 === n2.length - 1 ? m : null })), g2 = { unitId: o, subUnitId: s, type: zi2.ONLY_SET, selections: h }; + return { id: X4.id, params: g2 }; + } + return null; + } + return null; + }; + var Qs3 = (e29, t) => { + let n = e29.get(Y4).getCurrentSelections(), { unitId: r, subUnitId: i } = t; + if (n && n.length > 0 && n[(n == null ? void 0 : n.length) - 1].primary) { + let e30 = { unitId: r, subUnitId: i, type: zi2.ONLY_SET, selections: [...n] }; + return { id: X4.id, params: e30 }; + } + return null; + }; + var $s3 = { type: ri.COMMAND, id: `sheet.command.remove-worksheet-merge`, handler: (e29, t) => { + var n; + let r = e29.get(Y4), i = e29.get(ii), a = e29.get(td), o = (t == null ? void 0 : t.ranges) || ((n = r.getCurrentSelections()) == null ? void 0 : n.map((e30) => e30.range)); + if (!(o != null && o.length)) return false; + let s = V4(e29.get(Mu), t); + if (!s) return false; + let { subUnitId: c, unitId: l, worksheet: u } = s, d = { unitId: l, subUnitId: c, ranges: o }, f = u.getConfig().mergeData.filter((e30) => o.some((t2) => G.intersects(t2, e30))); + if (!f.length) return false; + let p = Pn2(e29, d), m = r.getCurrentSelections(), h = D.deepClone(m), g2 = D.deepClone(m); + if (m.length) { + let e30 = g2[g2.length - 1], { startRow: t2, startColumn: n2 } = e30.range; + e30.primary = { startRow: t2, startColumn: n2, endRow: t2, endColumn: n2, actualRow: t2, actualColumn: n2, isMerged: false, isMergedMainCell: false }; + } + let _2 = { unitId: l, subUnitId: c, cellValue: ec3(u, f).getMatrix() }, v = gr3(e29, _2), y = [{ id: q4.id, params: p }, { id: J4.id, params: _2 }, { id: X4.id, params: { unitId: l, subUnitId: c, selections: g2, type: zi2.ONLY_SET } }], b = [{ id: H4.id, params: p }, { id: J4.id, params: v }, { id: X4.id, params: { unitId: l, subUnitId: c, selections: h, type: zi2.ONLY_SET } }]; + return li(y, i) ? (a.pushUndoRedo({ unitID: l, undoMutations: b, redoMutations: y }), true) : false; + } }; + function ec3(e29, t) { + let n = new Sa(); + return t.forEach((t2) => { + let { startRow: r, startColumn: i, endColumn: a, endRow: o } = t2, s = e29.getCellMatrix().getValue(r, i); + if (s != null && s.s) for (let e30 = r; e30 <= o; e30++) for (let t3 = i; t3 <= a; t3++) (e30 !== r || t3 !== i) && n.setValue(e30, t3, { s: s.s }); + }), n; + } + var tc3 = (function(e29) { + return e29.MergeAll = `mergeAll`, e29.MergeVertical = `mergeVertical`, e29.MergeHorizontal = `mergeHorizontal`, e29; + })({}); + function nc3(e29, t) { + return t.some((t2) => rc3(e29, t2)); + } + function rc3(e29, t) { + let { startRow: n, startColumn: r, endColumn: i, endRow: a } = t, o = e29.getMatrixWithMergedCells(n, r, a, i), s = false; + return o.forValue((t2, i2, a2) => { + if (a2 && (t2 !== n || i2 !== r) && e29.cellHasValue(a2)) return s = true, false; + }), s; + } + function ic3(e29, t, n, r) { + let i = [], a = [], o = n.getSheetId(); + return r.forEach((r2) => { + let s = { unitId: t, subUnitId: o, cellValue: ac3(n, r2).getData() }, c = gr3(e29, s); + i.push({ id: J4.id, params: c }), a.push({ id: J4.id, params: s }); + }), { undos: i, redos: a }; + } + function ac3(e29, t) { + let { startRow: n, startColumn: r, endColumn: i, endRow: a } = t, o = e29.getMatrixWithMergedCells(n, r, a, i, ea.Raw), s = new Sa(), l = null; + return o.forValue((t2, i2, a2) => { + if (a2 && t2 >= n && i2 >= r) { + var o2, c; + !l && e29.cellHasValue(a2) && (a2.v !== `` || ((o2 = (c = a2.p) == null || (c = c.body) == null || (c = c.dataStream) == null ? void 0 : c.length) == null ? 0 : o2) > 2) && (l = a2), s.setValue(t2, i2, a2.s ? { v: null, t: null, f: null, si: null, p: null, s: a2.s } : null); + } + }), s.setValue(n, r, l), s; + } + var oc3 = { type: ri.COMMAND, id: `sheet.command.add-worksheet-merge`, handler: async (e29, t) => { + let n = V4(e29.get(Mu), t); + if (!n) return false; + let { worksheet: r } = n, { unitId: i, subUnitId: a, selections: o } = t, s = e29.get(ii), c = e29.get(td), l = Ks3(o, t.value), u = nc3(r, l); + if (u && !t.defaultMerge) { + let t2 = e29.get(gl), n2 = e29.get(zu); + if (!await t2.confirm({ id: `merge.confirm.add-worksheet-merge`, title: { title: `merge.confirm.warning` }, children: { title: `merge.confirm.title` }, cancelText: n2.t(`merge.confirm.cancel`), confirmText: n2.t(`merge.confirm.confirm`) })) return false; + } + let d = [], f = [], p = { unitId: i, subUnitId: a, ranges: D.deepClone(l) }, m = { unitId: i, subUnitId: a, ranges: D.deepClone(l) }, h = Pn2(e29, p), g2 = zt2(e29, m); + if (h.ranges.length > 0 && d.push({ id: q4.id, params: h }), d.push({ id: H4.id, params: m }), f.push({ id: q4.id, params: g2 }), h.ranges.length > 0 && f.push({ id: H4.id, params: h }), u) { + let t2 = ic3(e29, i, r, l); + d.unshift(...t2.redos), f.push(...t2.undos); + } + let _2 = Zs3(e29, t, l); + _2 && d.push(_2); + let v = Qs3(e29, t); + v && f.push(v); + let y = e29.get(K4).onCommandExecute({ id: oc3.id, params: { unitId: i, subUnitId: a, ranges: l } }); + return d.push(...y.redos), f.push(...y.undos), li(d, s).result ? (c.pushUndoRedo({ unitID: i, undoMutations: f, redoMutations: d }), true) : false; + } }; + var sc3 = { type: ri.COMMAND, id: `sheet.command.add-worksheet-merge-all`, handler: async (e29) => { + var t; + let n = (t = e29.get(Y4).getCurrentSelections()) == null ? void 0 : t.map((e30) => e30.range), r = dc3(tc3.MergeAll, n); + if (!(r != null && r.length)) return false; + let i = V4(e29.get(Mu)); + if (!i) return false; + let { worksheet: a } = i, o = a.getUnitId(), s = a.getSheetId(); + return e29.get(ii).executeCommand(oc3.id, { selections: r, unitId: o, subUnitId: s }); + } }; + var cc3 = { type: ri.COMMAND, id: `sheet.command.add-worksheet-merge-vertical`, handler: async (e29) => { + var t; + let n = (t = e29.get(Y4).getCurrentSelections()) == null ? void 0 : t.map((e30) => e30.range), r = dc3(tc3.MergeVertical, n); + if (!(r != null && r.length)) return false; + let i = V4(e29.get(Mu)); + if (!i) return false; + let { worksheet: a } = i, o = a.getUnitId(), s = a.getSheetId(); + return e29.get(ii).executeCommand(oc3.id, { value: Pn.COLUMNS, selections: r, unitId: o, subUnitId: s }); + } }; + var lc3 = { type: ri.COMMAND, id: `sheet.command.add-worksheet-merge-horizontal`, handler: async (e29) => { + var t; + let n = (t = e29.get(Y4).getCurrentSelections()) == null ? void 0 : t.map((e30) => e30.range), r = dc3(tc3.MergeHorizontal, n); + if (!(r != null && r.length)) return false; + let i = V4(e29.get(Mu)); + if (!i) return false; + let { workbook: a, worksheet: o } = i, s = a.getUnitId(), c = o.getSheetId(); + return e29.get(ii).executeCommand(oc3.id, { value: Pn.ROWS, selections: r, unitId: s, subUnitId: c }); + } }; + function dc3(e29, t) { + return t ? e29 === tc3.MergeAll ? t.filter((e30) => !(e30.startRow === e30.endRow && e30.startColumn === e30.endColumn)) : e29 === tc3.MergeVertical ? t.filter((e30) => e30.startRow !== e30.endRow) : e29 === tc3.MergeHorizontal ? t.filter((e30) => e30.startColumn !== e30.endColumn) : t : null; + } + var fc3 = class { + constructor() { + U4(this, `_model`, /* @__PURE__ */ new Map()), U4(this, `_ruleChange`, new Subject()), U4(this, `_ruleRefresh`, new Subject()), U4(this, `_resetOrder`, new Subject()), U4(this, `ruleChange$`, this._ruleChange.asObservable()), U4(this, `ruleRefresh$`, this._ruleRefresh.asObservable()), U4(this, `resetOrder$`, this._resetOrder.asObservable()), U4(this, `_worksheetRuleInitStateChange`, new BehaviorSubject(false)), U4(this, `worksheetRuleInitStateChange$`, this._worksheetRuleInitStateChange.asObservable()); + } + changeRuleInitState(e29) { + this._worksheetRuleInitStateChange.next(e29); + } + getSheetRuleInitState() { + return this._worksheetRuleInitStateChange.value; + } + addRule(e29, t) { + this._ensureSubUnitMap(e29).set(t.subUnitId, t), this._ruleChange.next({ unitId: e29, rule: t, type: `add`, subUnitId: t.subUnitId }); + } + deleteRule(e29, t) { + var n; + let r = (n = this._model) == null || (n = n.get(e29)) == null ? void 0 : n.get(t); + if (r) { + var i; + (i = this._model.get(e29)) == null || i.delete(t), this._ruleChange.next({ unitId: e29, rule: r, type: `delete`, subUnitId: t }); + } + } + setRule(e29, t, n) { + let r = this.getRule(e29, t); + if (r) { + var i; + (i = this._model) == null || (i = i.get(e29)) == null || i.set(t, n), this._ruleChange.next({ unitId: e29, oldRule: r, rule: n, type: `set`, subUnitId: t }); + } + } + getRule(e29, t) { + var n; + return (n = this._model) == null || (n = n.get(e29)) == null ? void 0 : n.get(t); + } + toObject() { + let e29 = {}; + return [...this._model.keys()].forEach((t) => { + let n = this._model.get(t); + n != null && n.size && (e29[t] = [], [...n.keys()].forEach((r) => { + let i = n.get(r); + i && e29[t].push(i); + })); + }), e29; + } + fromObject(e29) { + let t = /* @__PURE__ */ new Map(); + Object.keys(e29).forEach((n) => { + let r = e29[n]; + if (r != null && r.length) { + let e30 = /* @__PURE__ */ new Map(); + r.forEach((t2) => { + e30.set(t2.subUnitId, t2); + }), t.set(n, e30); + } + }), this._model = t; + } + deleteUnitModel(e29) { + this._model.delete(e29); + } + _ensureSubUnitMap(e29) { + let t = this._model.get(e29); + return t || (t = /* @__PURE__ */ new Map(), this._model.set(e29, t)), t; + } + ruleRefresh(e29) { + this._ruleRefresh.next(e29); + } + resetOrder() { + this._resetOrder.next(Math.random()); + } + getTargetByPermissionId(e29, t) { + let n = this._model.get(e29); + if (!n) return null; + for (let [r, i] of n) if (i.permissionId === t) return [e29, r]; + } + }; + var pc3 = { id: `sheet.mutation.add-worksheet-protection`, type: ri.MUTATION, handler: (e29, t) => { + let n = e29.get(fc3), { unitId: r, rule: i } = t; + return n.addRule(r, i), true; + } }; + var mc3 = { id: `sheet.mutation.delete-worksheet-protection`, type: ri.MUTATION, handler: (e29, t) => { + let n = e29.get(fc3), { unitId: r, subUnitId: i } = t; + return n.deleteRule(r, i), true; + } }; + var hc3 = { type: ri.COMMAND, id: `sheet.command.add-worksheet-protection`, async handler(e29, t) { + if (!t) return false; + let n = e29.get(ii), r = e29.get(td), { rule: i, unitId: a } = t, o = i.subUnitId; + if (await n.executeCommand(pc3.id, { unitId: a, rule: i, subUnitId: i.subUnitId })) { + let e30 = [{ id: pc3.id, params: { unitId: a, rule: i, subUnitId: i.subUnitId } }], t2 = [{ id: mc3.id, params: { unitId: a, subUnitId: o } }]; + r.pushUndoRedo({ unitID: a, redoMutations: e30, undoMutations: t2 }); + } + return true; + } }; + var gc3 = { type: ri.COMMAND, id: `sheet.command.set-worksheet-range-theme-style`, handler: (e29, t) => { + let n = e29.get(ii), r = e29.get(td), { unitId: i } = t, a = vn3(e29, t); + return n.syncExecuteCommand(_n3.id, t) ? (r.pushUndoRedo({ unitID: i, undoMutations: [{ id: yn3.id, params: a }], redoMutations: [{ id: _n3.id, params: t }] }), true) : false; + } }; + var _c3 = { type: ri.COMMAND, id: `sheet.command.append-row`, handler: (e29, t) => { + let n = e29.get(ii), r = e29.get(td), { unitId: i, subUnitId: a, cellValue: o, insertRowNums: s, insertColumnNums: c, maxRows: l, maxColumns: u } = t, d = { unitId: i, subUnitId: a, cellValue: o }, f = gr3(e29, d), p = [{ id: J4.id, params: d }], m = [{ id: J4.id, params: f }]; + if (s) { + let t2 = { unitId: i, subUnitId: a, range: { startRow: l, endRow: l, startColumn: 0, endColumn: u - 1 } }, n2 = xn3(e29, t2); + p.unshift({ id: Sn3.id, params: t2 }), m.push({ id: jn2.id, params: n2 }); + } + if (c) { + let t2 = { unitId: i, subUnitId: a, range: { startRow: 0, endRow: l - 1, startColumn: u, endColumn: u - 1 + c } }, n2 = Cn3(e29, t2); + p.unshift({ id: wn3.id, params: t2 }), m.push({ id: Nn3.id, params: n2 }); + } + return li(p, n).result ? (r.pushUndoRedo({ unitID: i, undoMutations: m, redoMutations: p }), true) : false; + } }; + var vc3 = [`ff`, `fs`, `tr`, `tb`]; + var yc3 = { type: ri.COMMAND, id: `sheet.command.set-style`, handler: (e29, t) => { + var n; + let r = V4(e29.get(Mu), t); + if (!r) return false; + let { unitId: i, subUnitId: a, worksheet: o } = r, { range: s, style: c } = t, l = e29.get(ii), u = e29.get(td), d = e29.get(Y4), f = s ? [s] : (n = d.getCurrentSelections()) == null ? void 0 : n.map((e30) => e30.range); + if (!(f != null && f.length)) return false; + let p = new Sa(), m = Qi3(o); + if (D.isArray(c.value)) for (let e30 = 0; e30 < f.length; e30++) m.forOperableEach(f[e30], (e31, t2, n2) => { + p.setValue(e31, t2, { s: { [c.type]: c.value[e31 - n2.startRow][t2 - n2.startColumn] } }); + }); + else for (let e30 = 0; e30 < f.length; e30++) { + let t2 = { s: { [c.type]: c.value } }; + m.forOperableEach(f[e30], (e31, n2) => p.setValue(e31, n2, t2)); + } + let h = { subUnitId: a, unitId: i, cellValue: p.getMatrix() }, g2 = e29.get(Ko2).getSkeleton(i, a), _2 = gr3(e29, h), v = null; + if (vc3.includes(t == null ? void 0 : t.style.type)) { + let { suitableRanges: e30, remainingRanges: t2 } = Jo3(f, g2); + v = { suitableRanges: e30, remainingRanges: t2, cellHeights: qo2(e30, o) }; + } + let y = l.syncExecuteCommand(J4.id, h), b = e29.get(K4), x2 = [], S4 = []; + if (v) { + let { suitableRanges: e30, remainingRanges: t2, cellHeights: n2 } = v, { undos: r2, redos: o2 } = b.generateMutationsOfAutoHeight({ unitId: i, subUnitId: a, ranges: e30, autoHeightRanges: e30, lazyAutoHeightRanges: t2, cellHeights: n2 }); + x2 = r2, S4 = o2; + } + let { undos: w2, redos: T4 } = b.onCommandExecute({ id: yc3.id, params: t }), E4 = li([...T4, ...S4], l); + return y && E4.result ? (u.pushUndoRedo({ unitID: h.unitId, undoMutations: [{ id: J4.id, params: _2 }, ...w2, ...x2], redoMutations: [{ id: J4.id, params: h }, ...T4, ...S4] }), true) : false; + } }; + var bc3 = { type: ri.COMMAND, id: `sheet.command.set-bold`, handler: (e29) => { + let t = e29.get(Y4).getCurrentLastSelection(); + if (!t) return false; + let n = V4(e29.get(Mu)); + if (!n) return false; + let { worksheet: i } = n, { actualRow: a, actualColumn: o } = t.primary, s = { style: { type: `bl`, value: i.getRange(a, o).getFontWeight() === $n.BOLD ? A.FALSE : A.TRUE } }; + return e29.get(ii).syncExecuteCommand(yc3.id, s); + } }; + var xc3 = { type: ri.COMMAND, id: `sheet.command.set-italic`, handler: (e29) => { + let t = e29.get(Y4).getCurrentLastSelection(); + if (!t) return false; + let n = V4(e29.get(Mu)); + if (!n) return false; + let { worksheet: i } = n, a = true; + if (t.primary) { + let { startRow: e30, startColumn: n2 } = t.primary; + a = i.getRange(e30, n2).getFontStyle() === Qn.ITALIC; + } + let o = { style: { type: `it`, value: a ? A.FALSE : A.TRUE } }; + return e29.get(ii).syncExecuteCommand(yc3.id, o); + } }; + var Sc3 = { type: ri.COMMAND, id: `sheet.command.set-underline`, handler: (e29) => { + let t = e29.get(Y4).getCurrentLastSelection(); + if (!t) return false; + let n = V4(e29.get(Mu)); + if (!n) return false; + let { worksheet: i } = n, a = true; + t.primary && (a = !!i.getRange(t.primary.startRow, t.primary.startColumn).getUnderline().s); + let o = { style: { type: `ul`, value: { s: a ? A.FALSE : A.TRUE } } }; + return e29.get(ii).syncExecuteCommand(yc3.id, o); + } }; + var Cc3 = { type: ri.COMMAND, id: `sheet.command.set-stroke`, handler: (e29) => { + let t = e29.get(Y4).getCurrentLastSelection(); + if (!t) return false; + let n = V4(e29.get(Mu)); + if (!n) return false; + let { worksheet: i } = n, a = true; + t.primary && (a = !!i.getRange(t.primary.actualRow, t.primary.actualColumn).getStrikeThrough().s); + let o = { style: { type: `st`, value: { s: a ? A.FALSE : A.TRUE } } }; + return e29.get(ii).syncExecuteCommand(yc3.id, o); + } }; + var wc3 = { type: ri.COMMAND, id: `sheet.command.set-overline`, handler: (e29) => { + let t = e29.get(Y4).getCurrentLastSelection(); + if (!t) return false; + let n = V4(e29.get(Mu)); + if (!n) return false; + let { worksheet: i } = n, a = true; + t.primary && (a = !!i.getRange(t.primary.startRow, t.primary.startColumn).getOverline().s); + let o = { style: { type: `ol`, value: { s: a ? A.FALSE : A.TRUE } } }; + return e29.get(ii).syncExecuteCommand(yc3.id, o); + } }; + var Tc3 = { type: ri.COMMAND, id: `sheet.command.set-font-family`, handler: (e29, t) => { + if (!t) return false; + let n = e29.get(ii), r = { style: { type: `ff`, value: t.value } }; + return n.syncExecuteCommand(yc3.id, r); + } }; + var Ec3 = { type: ri.COMMAND, id: `sheet.command.set-font-size`, handler: (e29, t) => { + if (!t) return false; + let n = e29.get(ii), r = { style: { type: `fs`, value: t.value } }; + return n.syncExecuteCommand(yc3.id, r); + } }; + var Dc3 = { type: ri.COMMAND, id: `sheet.command.set-text-color`, handler: (e29, t) => { + if (!t) return false; + let n = e29.get(ii), r = { style: { type: `cl`, value: { rgb: t.value } } }; + return n.syncExecuteCommand(yc3.id, r); + } }; + var Oc3 = { type: ri.COMMAND, id: `sheet.command.reset-text-color`, handler: (e29) => e29.get(ii).syncExecuteCommand(yc3.id, { style: { type: `cl`, value: { rgb: null } } }) }; + var kc3 = { type: ri.COMMAND, id: `sheet.command.set-background-color`, handler: (e29, t) => { + if (!t || !t.value) return false; + let n = e29.get(ii), r = { style: { type: `bg`, value: { rgb: t.value } } }; + return n.syncExecuteCommand(yc3.id, r); + } }; + var Ac3 = { type: ri.COMMAND, id: `sheet.command.reset-background-color`, handler: (e29) => e29.get(ii).syncExecuteCommand(yc3.id, { style: { type: `bg`, value: { rgb: null } } }) }; + var jc3 = { type: ri.COMMAND, id: `sheet.command.set-vertical-text-align`, handler: (e29, t) => { + if (!t) return false; + let n = e29.get(ii), r = { unitId: t.unitId, subUnitId: t.subUnitId, range: t.range, style: { type: `vt`, value: t.value } }; + return n.syncExecuteCommand(yc3.id, r); + } }; + var Mc3 = { type: ri.COMMAND, id: `sheet.command.set-horizontal-text-align`, handler: (e29, t) => { + if (!t) return false; + let n = e29.get(ii), r = { unitId: t.unitId, subUnitId: t.subUnitId, range: t.range, style: { type: `ht`, value: t.value } }; + return n.syncExecuteCommand(yc3.id, r); + } }; + var Nc3 = { type: ri.COMMAND, id: `sheet.command.set-text-wrap`, handler: (e29, t) => { + if (!t) return false; + let n = e29.get(ii), r = { unitId: t.unitId, subUnitId: t.subUnitId, range: t.range, style: { type: `tb`, value: t.value } }; + return n.syncExecuteCommand(yc3.id, r); + } }; + var Pc3 = { type: ri.COMMAND, id: `sheet.command.set-text-rotation`, handler: (e29, t) => { + if (!t) return false; + let n = typeof t.value == `number` ? { a: t.value } : { a: 0, v: A.TRUE }, i = e29.get(ii), a = { unitId: t.unitId, subUnitId: t.subUnitId, range: t.range, style: { type: `tr`, value: n } }; + return i.syncExecuteCommand(yc3.id, a); + } }; + var Fc3 = { \u96F6: 0, \u4E00: 1, \u4E8C: 2, \u4E09: 3, \u56DB: 4, \u4E94: 5, \u516D: 6, \u4E03: 7, \u516B: 8, \u4E5D: 9 }; + var Ic3 = [`\u96F6`, `\u4E00`, `\u4E8C`, `\u4E09`, `\u56DB`, `\u4E94`, `\u516D`, `\u4E03`, `\u516B`, `\u4E5D`]; + var Lc3 = [``, `\u4E07`, `\u4EBF`, `\u4E07\u4EBF`, `\u4EBF\u4EBF`]; + var Rc3 = [``, `\u5341`, `\u767E`, `\u5343`]; + var zc3 = { \u5341: { value: 10, secUnit: false }, \u767E: { value: 100, secUnit: false }, \u5343: { value: 1e3, secUnit: false }, \u4E07: { value: 1e4, secUnit: true }, \u4EBF: { value: 1e8, secUnit: true } }; + function Bc3(e29) { + if (!e29) return 0; + let t = 0, n = 0, r = 0, i = false, a = e29.split(``); + for (let e30 = 0; e30 < a.length; e30++) { + let o = Fc3[a[e30]]; + if (o !== void 0) r = o, e30 === a.length - 1 && (n += r); + else { + let o2 = zc3[a[e30]], s = o2.value; + i = o2.secUnit, i ? (n = (n + r) * s, t += n, n = 0) : n += r * s, r = 0; + } + } + return t + n; + } + function Vc3(e29) { + let t = ``, n = ``, r = 0, i = true; + for (; e29 > 0; ) { + let a = e29 % 10; + a === 0 ? i || (i = true, n = Ic3[a] + n) : (i = false, t = Ic3[a], t += Rc3[r], n = t + n), r++, e29 = Math.floor(e29 / 10); + } + return n; + } + function Hc3(e29) { + let t = 0, n = ``, r = ``, i = false; + if (e29 === 0) return Ic3[0]; + for (; e29 > 0; ) { + let a = e29 % 1e4; + i && (r = Ic3[0] + r), n = Vc3(a), n += a === 0 ? Lc3[0] : Lc3[t], r = n + r, i = a < 1e3 && a > 0, e29 = Math.floor(e29 / 1e4), t++; + } + return r; + } + function Uc3(e29) { + if (!e29) return false; + let t = true; + if (e29) if (e29.length === 1) t = e29 === `\u65E5` || e29 in Fc3; + else { + let n = e29.split(``); + for (let e30 = 0; e30 < n.length; e30++) if (!(n[e30] in Fc3 || n[e30] in zc3)) { + t = false; + break; + } + } + return t; + } + function Wc3(e29) { + if (!e29) return { isExtendNumber: false }; + let t = /0|([1-9]+[0-9]*)/g, n = t.test(e29); + if (n) { + let n2 = e29.match(t); + if (n2 && n2.length > 0) { + let t2 = n2[n2.length - 1], r = e29.lastIndexOf(t2), i = e29.substr(0, r), a = e29.substr(r + t2.length); + return { isExtendNumber: true, matchTxt: Number(t2), beforeTxt: i, afterTxt: a }; + } + return { isExtendNumber: false }; + } + return { isExtendNumber: n }; + } + function Gc3(e29) { + let t; + return t = e29.length === 1 ? e29 === `\u65E5` || Bc3(e29) < 7 : false, t; + } + function Kc3(e29) { + let t; + return t = e29.length === 2 ? e29 === `\u5468\u4E00` || e29 === `\u5468\u4E8C` || e29 === `\u5468\u4E09` || e29 === `\u5468\u56DB` || e29 === `\u5468\u4E94` || e29 === `\u5468\u516D` || e29 === `\u5468\u65E5` : false, t; + } + function qc3(e29) { + let t; + return t = e29.length === 3 ? e29 === `\u661F\u671F\u4E00` || e29 === `\u661F\u671F\u4E8C` || e29 === `\u661F\u671F\u4E09` || e29 === `\u661F\u671F\u56DB` || e29 === `\u661F\u671F\u4E94` || e29 === `\u661F\u671F\u516D` || e29 === `\u661F\u671F\u65E5` : false, t; + } + function Jc3(e29, t) { + let n = 0; + for (let r = 0; r < e29.length && e29[r] < t; r++) n++; + return n; + } + function Yc2(e29) { + let t = true, n = e29[1] - e29[0]; + for (let r = 1; r < e29.length; r++) if (e29[r] - e29[r - 1] !== n) { + t = false; + break; + } + return t; + } + function Xc3(e29, t, n) { + let r = [], i = Math.floor(t / e29), a = t % e29, o = 0; + if (i > 0) { + for (let t2 = 0; t2 < i; t2++) for (let i2 = 0; i2 < n.length; i2++) r[n[i2] + t2 * e29] = o, o++; + for (let t2 = 0; t2 < n.length && n[t2] < a; t2++) r[n[t2] + e29 * i] = o, o++; + } else for (let e30 = 0; e30 < n.length && n[e30] < a; e30++) r[n[e30]] = o, o++; + return r; + } + function Zc3(e29, t) { + let n = []; + for (let r = 1; r <= t; r++) { + let t2 = (r - 1) % e29.length, i = D.deepClone(e29[t2]); + pl3(i), n.push({ v: null, s: null, p: null, f: null, si: null, t: null, ...i }); + } + return n; + } + function Qc3(e29, t) { + let n = []; + for (let i = 1; i <= t; i++) { + var r; + let t2 = { s: (r = e29[(i - 1) % e29.length]) == null ? void 0 : r.s }; + n.push(t2); + } + return n; + } + function $c3(e29) { + let t = true, n = e29[1] / e29[0]; + for (let r = 1; r < e29.length; r++) if (e29[r] / e29[r - 1] !== n) { + t = false; + break; + } + return t; + } + function el3(e29) { + let t = []; + for (let n = 1; n <= e29; n++) t.push(n); + return t; + } + function tl3(e29, t, n) { + let r = [], i = []; + for (let t2 = 0; t2 < e29.length; t2++) { + var a; + i.push(Number((a = e29[t2]) == null ? void 0 : a.v)); + } + if (e29.length > 2 && $c3(i)) for (let n2 = 1; n2 <= t; n2++) { + var o, s, c; + let t2 = (n2 - 1) % e29.length, i2 = D.deepClone(e29[t2]); + pl3(i2); + let a2 = Number((o = e29[e29.length - 1]) == null ? void 0 : o.v) * (Number((s = e29[1]) == null ? void 0 : s.v) / Number((c = e29[0]) == null ? void 0 : c.v)) ** n2; + i2 && (fl3(i2) && (i2.v = a2), r.push(i2)); + } + else { + let a2 = el3(e29.length); + for (let o2 = 1; o2 <= t; o2++) { + let t2 = (o2 - 1) % e29.length, s2 = D.deepClone(e29[t2]); + pl3(s2); + let c2 = n === Fn.DOWN || n === Fn.RIGHT, l = nl3(e29.length + o2, i, a2, c2); + s2 && (fl3(s2) && (s2.v = l), r.push(s2)); + } + } + return r; + } + function nl3(e29, t, n, r = true) { + function i(e30) { + let t2 = 0; + for (let n2 = 0; n2 < e30.length; n2++) t2 += e30[n2]; + return t2 / e30.length; + } + let a = i(n), o = i(t), s = 0, c = 0; + for (let e30 = 0; e30 < n.length; e30++) s += (n[e30] - a) * (t[e30] - o), c += (n[e30] - a) * (n[e30] - a); + let l; + l = c === 0 ? r ? 1 : -1 : s / c; + let u = o - l * a; + return Math.round((u + l * e29) * 1e5) / 1e5; + } + function rl3(e29, t, n) { + let r = [], i = /0|([1-9]+[0-9]*)/g; + for (let o = 1; o <= t; o++) { + var a; + let t2 = (o - 1) % e29.length, s = D.deepClone(e29[t2]); + pl3(s); + let c = `${(a = e29[e29.length - 1]) == null ? void 0 : a.v}`; + if (!c) continue; + let l = c == null ? void 0 : c.match(i), u = l == null ? void 0 : l[l.length - 1]; + if (!u) continue; + let d = Math.abs(Number(u) + n * o), f = c.lastIndexOf(u), p = c.substr(0, f) + d.toString() + c.substr(f + u.length); + s && (s.v = p, r.push(s)); + } + return r; + } + function il3(e29, t) { + let n = []; + for (let r = 1; r <= t; r++) { + let t2 = (r - 1) % e29.length, i = D.deepClone(e29[t2]); + pl3(i), i && (delete i.v, n.push(i)); + } + return n; + } + function al2(e29, t, n, r = 0) { + let i = [[`\u65E5`, `\u4E00`, `\u4E8C`, `\u4E09`, `\u56DB`, `\u4E94`, `\u516D`], [`\u5468\u65E5`, `\u5468\u4E00`, `\u5468\u4E8C`, `\u5468\u4E09`, `\u5468\u56DB`, `\u5468\u4E94`, `\u5468\u516D`], [`\u661F\u671F\u65E5`, `\u661F\u671F\u4E00`, `\u661F\u671F\u4E8C`, `\u661F\u671F\u4E09`, `\u661F\u671F\u56DB`, `\u661F\u671F\u4E94`, `\u661F\u671F\u516D`]]; + if (r >= i.length) return []; + let a = i[r], o = []; + for (let r2 = 1; r2 <= t; r2++) { + var s; + let t2 = (r2 - 1) % e29.length, i2 = D.deepClone(e29[t2]); + pl3(i2); + let l = 0; + if (((s = e29[e29.length - 1]) == null ? void 0 : s.v) === a[0]) l = 7 + n * r2; + else { + var c; + let t3 = `${(c = e29[e29.length - 1]) == null ? void 0 : c.v}`; + t3 && (l = Bc3(t3.substr(t3.length - 1, 1)) + n * r2); + } + l < 0 && (l = Math.ceil(Math.abs(l) / 7) * 7 + l); + let u = l % 7; + i2 && (i2.v = a[u], o.push(i2)); + } + return o; + } + function ol2(e29, t, n) { + let r = []; + for (let a = 1; a <= t; a++) { + var i; + let t2 = (a - 1) % e29.length, o = D.deepClone(e29[t2]); + pl3(o); + let s = Bc3(`${(i = e29[e29.length - 1]) == null ? void 0 : i.v}`) + n * a, c; + c = s <= 0 ? `\u96F6` : Hc3(s), o && (o.v = c, r.push(o)); + } + return r; + } + var sl2 = { enWeek1: [`Sun`, `Mon`, `Tue`, `Wed`, `Thu`, `Fri`, `Sat`], enWeek2: [`Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday`], enMonth1: [`Jan`, `Feb`, `Mar`, `Apr`, `May`, `Jun`, `Jul`, `Aug`, `Sep`, `Oct`, `Nov`, `Dec`], enMonth2: [`January`, `February`, `March`, `April`, `May`, `June`, `July`, `August`, `September`, `October`, `November`, `December`], chnMonth1: [`\u4E00\u6708`, `\u4E8C\u6708`, `\u4E09\u6708`, `\u56DB\u6708`, `\u4E94\u6708`, `\u516D\u6708`, `\u4E03\u6708`, `\u516B\u6708`, `\u4E5D\u6708`, `\u5341\u6708`, `\u5341\u4E00\u6708`, `\u5341\u4E8C\u6708`], chnMonth2: [`\u6B63\u6708`, `\u4E8C\u6708`, `\u4E09\u6708`, `\u56DB\u6708`, `\u4E94\u6708`, `\u516D\u6708`, `\u4E03\u6708`, `\u516B\u6708`, `\u4E5D\u6708`, `\u5341\u6708`, `\u5341\u4E00\u6708`, `\u814A\u6708`], chHour1: [`\u5B50`, `\u4E11`, `\u5BC5`, `\u536F`, `\u8FB0`, `\u5DF3`, `\u5348`, `\u672A`, `\u7533`, `\u9149`, `\u620C`, `\u4EA5`], chHour2: [`\u5B50\u65F6`, `\u4E11\u65F6`, `\u5BC5\u65F6`, `\u536F\u65F6`, `\u8FB0\u65F6`, `\u5DF3\u65F6`, `\u5348\u65F6`, `\u672A\u65F6`, `\u7533\u65F6`, `\u9149\u65F6`, `\u620C\u65F6`, `\u4EA5\u65F6`], chYear1: [`\u7532`, `\u4E59`, `\u4E19`, `\u4E01`, `\u620A`, `\u5DF1`, `\u5E9A`, `\u8F9B`, `\u58EC`, `\u7678`], chSeason1: [`\u6625`, `\u590F`, `\u79CB`, `\u51AC`], chSeason2: [`\u6625\u5B63`, `\u590F\u5B63`, `\u79CB\u5B63`, `\u51AC\u5B63`] }; + function cl2(e29) { + let t = false; + return Object.keys(sl2).forEach((n) => { + sl2[n].includes(e29) && (t = true); + }), t; + } + function ll3(e29) { + let t = ``, n = []; + return Object.keys(sl2).forEach((r) => { + sl2[r].includes(e29) && (t = r, n.push(...sl2[r])); + }), { name: t, series: n }; + } + function ul3(e29, t, n, r) { + let i = r.length, a = []; + for (let s = 1; s <= t; s++) { + var o; + let t2 = (s - 1) % e29.length, c = D.deepClone(e29[t2]); + pl3(c); + let l = `${(o = e29[e29.length - 1]) == null ? void 0 : o.v}`, u = r.indexOf(l) + n * s; + u < 0 && (u += Math.abs(n) * i); + let d = u % i; + c && (c.v = r[d], a.push(c)); + } + return a; + } + function dl3(e29, t) { + let n = [], r; + if (t.startRow < e29.startRow) r = Fn.UP; + else if (t.endRow > e29.endRow) r = Fn.DOWN; + else if (t.startColumn < e29.startColumn) r = Fn.LEFT; + else if (t.endColumn > e29.endColumn) r = Fn.RIGHT; + else return []; + if (r === Fn.DOWN || r === Fn.UP) { + let i = e29.endRow - e29.startRow + 1, a = t.endRow - t.startRow + 1, o = Math.floor(a / i), s = a % i, c = { startRow: 0, startColumn: 0, endRow: e29.endRow - e29.startRow, endColumn: e29.endColumn - e29.startColumn }; + if (r === Fn.DOWN) { + for (let t2 = 0; t2 < o; t2++) n.push({ repeatStartCell: { row: e29.startRow + (t2 + 1) * i, col: e29.startColumn }, relativeRange: c }); + s > 0 && n.push({ repeatStartCell: { row: e29.startRow + (o + 1) * i, col: e29.startColumn }, relativeRange: { startRow: 0, startColumn: 0, endRow: s - 1, endColumn: e29.endColumn - e29.startColumn } }); + } else { + for (let t2 = 0; t2 < o; t2++) n.push({ repeatStartCell: { row: e29.startRow - (t2 + 1) * i, col: e29.startColumn }, relativeRange: c }); + s > 0 && n.push({ repeatStartCell: { row: e29.startRow - (o + 1) * i, col: e29.startColumn }, relativeRange: { startRow: i - s, endRow: i - 1, startColumn: 0, endColumn: e29.endColumn - e29.startColumn } }); + } + } + if (r === Fn.RIGHT || r === Fn.LEFT) { + let i = e29.endColumn - e29.startColumn + 1, a = t.endColumn - t.startColumn + 1, o = Math.floor(a / i), s = a % i, c = { startRow: 0, startColumn: 0, endRow: e29.endRow - e29.startRow, endColumn: e29.endColumn - e29.startColumn }; + if (r === Fn.RIGHT) { + for (let t2 = 0; t2 < o; t2++) n.push({ repeatStartCell: { row: e29.startRow, col: e29.startColumn + (t2 + 1) * i }, relativeRange: c }); + s > 0 && n.push({ repeatStartCell: { row: e29.startRow, col: e29.startColumn + (o + 1) * i }, relativeRange: { startRow: 0, startColumn: 0, endRow: e29.endRow - e29.startRow, endColumn: s - 1 } }); + } else { + for (let t2 = 0; t2 < o; t2++) n.push({ repeatStartCell: { row: e29.startRow, col: e29.startColumn - (t2 + 1) * i }, relativeRange: c }); + s > 0 && n.push({ repeatStartCell: { row: e29.startRow, col: e29.startColumn - (o + 1) * i }, relativeRange: { startRow: 0, startColumn: i - s, endRow: e29.endRow - e29.startRow, endColumn: i - 1 } }); + } + } + return n; + } + function fl3(e29) { + return !(ka(e29.f) || Aa(e29.si) || e29.t === tr.BOOLEAN); + } + function pl3(e29) { + e29 && `custom` in e29 && delete e29.custom; + } + function ml3(e29, t) { + return t ? e29.reverse() : e29; + } + function hl3(e29) { + let t = new Sa(); + return e29.forEach((e30) => { + let { rows: n, cols: r } = e30; + n.forEach((e31) => { + r.forEach((n2) => { + t.setValue(e31, n2, { v: null, p: null, f: null, si: null, custom: null }); + }); + }); + }), t.clone(); + } + var gl3 = { chnNumChar: Fc3, chnNumChar2: Ic3, chnUnitSection: Lc3, chnUnitChar: Rc3, chnNameValue: zc3, chineseToNumber: Bc3, sectionToChinese: Vc3, numberToChinese: Hc3, isChnNumber: Uc3, matchExtendNumber: Wc3, isChnWeek1: Gc3, isChnWeek2: Kc3, isChnWeek3: qc3, getLenS: Jc3, isEqualDiff: Yc2, getDataIndex: Xc3, fillCopy: Zc3, fillCopyStyles: Qc3, isEqualRatio: $c3, getXArr: el3, fillSeries: tl3, forecast: nl3, fillExtendNumber: rl3, fillOnlyFormat: il3, fillChnWeek: al2, fillChnNumber: ol2, isLoopSeries: cl2, getLoopSeriesInfo: ll3, fillLoopSeries: ul3, getAutoFillRepeatRange: dl3, needsUpdateCellValue: fl3, removeCellCustom: pl3, reverseIfNeed: ml3, generateNullCellValueRowCol: hl3 }; + var $4 = (function(e29) { + return e29.COPY = `COPY`, e29.SERIES = `SERIES`, e29.ONLY_FORMAT = `ONLY_FORMAT`, e29.NO_FORMAT = `NO_FORMAT`, e29; + })({}); + var _l2 = (function(e29) { + return e29.NUMBER = `number`, e29.DATE = `date`, e29.EXTEND_NUMBER = `extendNumber`, e29.CHN_NUMBER = `chnNumber`, e29.CHN_WEEK2 = `chnWeek2`, e29.CHN_WEEK3 = `chnWeek3`, e29.LOOP_SERIES = `loopSeries`, e29.FORMULA = `formula`, e29.OTHER = `other`, e29; + })({}); + var vl3 = (function(e29) { + return e29.APPEND = `APPEND`, e29.DEFAULT = `DEFAULT`, e29.ONLY = `ONLY`, e29; + })({}); + var { chineseToNumber: yl3, fillChnNumber: bl3, fillChnWeek: xl3, fillCopy: Sl2, fillExtendNumber: Cl3, fillLoopSeries: wl2, fillSeries: Tl3, getLoopSeriesInfo: El2, isChnNumber: Dl2, isChnWeek2: Ol2, isChnWeek3: kl2, isEqualDiff: Al2, isLoopSeries: jl2, matchExtendNumber: Ml2, reverseIfNeed: Nl2 } = gl3; + var Pl3 = { dateRule: { type: _l2.DATE, priority: 1100, match: (e29, t) => { + if (e29 != null && e29.f || e29 != null && e29.si) return false; + if ((typeof (e29 == null ? void 0 : e29.v) == `number` || (e29 == null ? void 0 : e29.t) === tr.NUMBER) && e29.s) { + if (typeof e29.s == `string`) { + var n; + let r = t.get(Mu).getCurrentUnitOfType(O.UNIVER_SHEET); + if (!r) return false; + let i = r.getStyles().get(e29.s), a = i == null || (n = i.n) == null ? void 0 : n.pattern; + if (a) return lib_exports.getFormatInfo(a).isDate; + } else if (e29.s.n && lib_exports.getFormatInfo(e29.s.n.pattern).isDate) return true; + } + return false; + }, isContinue: (e29, t) => e29.type === _l2.DATE, applyFunctions: { [$4.SERIES]: (e29, t, n) => { + let { data: r } = e29; + return n === Fn.LEFT || n === Fn.UP ? (r.reverse(), Tl3(r, t, n).reverse()) : Tl3(r, t, n); + } } }, numberRule: { type: _l2.NUMBER, priority: 1e3, match: (e29) => typeof (e29 == null ? void 0 : e29.v) == `number` || (e29 == null ? void 0 : e29.t) === tr.NUMBER, isContinue: (e29, t) => e29.type === _l2.NUMBER, applyFunctions: { [$4.SERIES]: (e29, t, n) => { + let { data: r } = e29; + return n === Fn.LEFT || n === Fn.UP ? (r.reverse(), Tl3(r, t, n).reverse()) : Tl3(r, t, n); + } } }, extendNumberRule: { type: _l2.EXTEND_NUMBER, priority: 900, match: (e29) => Ml2(`${e29 == null ? void 0 : e29.v}` || ``).isExtendNumber, isContinue: (e29, t) => { + if (e29.type === _l2.EXTEND_NUMBER) { + var n; + let { beforeTxt: r, afterTxt: i } = Ml2(`${(n = e29.cellData) == null ? void 0 : n.v}` || ``), { beforeTxt: a, afterTxt: o } = Ml2(`${t == null ? void 0 : t.v}` || ``); + if (r === a && i === o) return true; + } + return false; + }, applyFunctions: { [$4.SERIES]: (e29, t, n) => { + let { data: r } = e29, i = n === Fn.UP || n === Fn.LEFT, a; + if (r.length === 1) return a = i ? -1 : 1, Nl2(Cl3(r, t, a), i); + let o = []; + for (let e30 = 0; e30 < r.length; e30++) { + var s; + let t2 = `${(s = r[e30]) == null ? void 0 : s.v}`; + t2 && o.push(Number(Ml2(t2).matchTxt)); + } + return i && (r.reverse(), o.reverse()), Al2(o) ? (a = o[1] - o[0], Nl2(Cl3(r, t, a), i)) : Sl2(r, t); + } } }, chnNumberRule: { type: _l2.CHN_NUMBER, priority: 830, match: (e29) => !!Dl2(`${e29 == null ? void 0 : e29.v}` || ``), isContinue: (e29, t) => e29.type === _l2.CHN_NUMBER, applyFunctions: { [$4.SERIES]: (e29, t, n) => { + let { data: r } = e29, i = n === Fn.LEFT || n === Fn.UP; + if (r.length === 1) { + var a; + let e30 = `${(a = r[0]) == null ? void 0 : a.v}`, n2; + return n2 = i ? -1 : 1, e30 && (e30 === `\u65E5` || yl3(e30) < 7) ? Nl2(xl3(r, t, n2), i) : Nl2(bl3(r, t, n2), i); + } + let o = false; + for (let e30 = 0; e30 < r.length; e30++) { + var s; + if (((s = r[e30]) == null ? void 0 : s.v) === `\u65E5`) { + o = true; + break; + } + } + let c = [], l = 0; + for (let e30 = 0; e30 < r.length; e30++) { + var u; + let t2 = `${(u = r[e30]) == null ? void 0 : u.v}`; + t2 === `\u65E5` ? e30 === 0 ? c.push(0) : (l++, c.push(l * 7)) : o && yl3(t2) > 0 && yl3(t2) < 7 ? c.push(yl3(t2) + l * 7) : c.push(yl3(t2)); + } + return i && (r.reverse(), c.reverse()), Al2(c) ? o || c[c.length - 1] < 6 && c[0] > 0 || c[0] < 6 && c[c.length - 1] > 0 ? Nl2(xl3(r, t, c[1] - c[0]), i) : Nl2(bl3(r, t, c[1] - c[0]), i) : Sl2(r, t); + } } }, chnWeek2Rule: { type: _l2.CHN_WEEK2, priority: 820, match: (e29) => !!Ol2(`${e29 == null ? void 0 : e29.v}` || ``), isContinue: (e29, t) => e29.type === _l2.CHN_WEEK2, applyFunctions: { [$4.SERIES]: (e29, t, n) => { + let { data: r } = e29, i = n === Fn.LEFT || n === Fn.UP; + if (r.length === 1) { + let e30; + return e30 = i ? -1 : 1, Nl2(xl3(r, t, e30, 1), i); + } + let a = [], o = 0; + for (let e30 = 0; e30 < r.length; e30++) { + var s; + let t2 = `${(s = r[e30]) == null ? void 0 : s.v}`, n2 = t2 == null ? void 0 : t2.substr(t2.length - 1, 1); + t2 === `\u5468\u65E5` ? e30 === 0 ? a.push(0) : (o++, a.push(o * 7)) : a.push(yl3(n2) + o * 7); + } + return i && (r.reverse(), a.reverse()), Al2(a) ? Nl2(xl3(r, t, a[1] - a[0], 1), i) : Sl2(r, t); + } } }, chnWeek3Rule: { type: _l2.CHN_WEEK3, priority: 810, match: (e29) => kl2(`${e29 == null ? void 0 : e29.v}` || ``), isContinue: (e29, t) => e29.type === _l2.CHN_WEEK3, applyFunctions: { [$4.SERIES]: (e29, t, n) => { + let { data: r } = e29, i = n === Fn.LEFT || n === Fn.UP; + if (r.length === 1) { + let e30; + return e30 = i ? -1 : 1, Nl2(xl3(r, t, e30, 2), i); + } + let a = [], o = 0; + for (let e30 = 0; e30 < r.length; e30++) { + var s; + let t2 = `${(s = r[e30]) == null ? void 0 : s.v}`; + if (t2) { + let n2 = t2.substr(t2.length - 1, 1); + t2 === `\u661F\u671F\u65E5` ? e30 === 0 ? a.push(0) : (o++, a.push(o * 7)) : a.push(yl3(n2) + o * 7); + } + } + return i && (r.reverse(), a.reverse()), Al2(a) ? Nl2(xl3(r, t, a[1] - a[0], 2), i) : Sl2(r, t); + } } }, loopSeriesRule: { type: _l2.LOOP_SERIES, priority: 800, match: (e29) => jl2(`${e29 == null ? void 0 : e29.v}` || ``), isContinue: (e29, t) => { + if (e29.type === _l2.LOOP_SERIES) { + var n; + return El2(`${(n = e29.cellData) == null ? void 0 : n.v}` || ``).name === El2(`${t == null ? void 0 : t.v}` || ``).name; + } + return false; + }, applyFunctions: { [$4.SERIES]: (e29, t, n) => { + var r; + let { data: i } = e29, a = n === Fn.LEFT || n === Fn.UP, { series: o } = El2(`${(r = i[0]) == null ? void 0 : r.v}` || ``); + if (i.length === 1) { + let e30; + return e30 = a ? -1 : 1, Nl2(wl2(i, t, e30, o), a); + } + let s = [], c = 0; + for (let e30 = 0; e30 < i.length; e30++) { + var l; + let t2 = `${(l = i[e30]) == null ? void 0 : l.v}`; + t2 && (t2 === o[0] ? e30 === 0 ? s.push(0) : (c++, s.push(c * o.length)) : s.push(o.indexOf(t2) + c * 7)); + } + return a && (i.reverse(), s.reverse()), Al2(s) ? Nl2(wl2(i, t, s[1] - s[0], o), a) : Sl2(i, t); + } } }, otherRule: { type: _l2.OTHER, priority: 0, match: () => true, isContinue: (e29, t) => e29.type === _l2.OTHER } }; + var { chnNumberRule: Fl3, chnWeek2Rule: Il3, chnWeek3Rule: Ll3, dateRule: Rl3, extendNumberRule: zl3, loopSeriesRule: Bl3, numberRule: Vl3, otherRule: Hl3 } = Pl3; + var Ul2 = class extends E { + constructor(e29, t, n, r) { + super(), this._commandService = e29, this._undoRedoService = t, this._univerInstanceService = n, this._injector = r, U4(this, `_rules`, []), U4(this, `_hooks`, []), U4(this, `_applyType$`, new BehaviorSubject($4.SERIES)), U4(this, `_isFillingStyle`, true), U4(this, `_prevUndos`, []), U4(this, `_autoFillLocation$`, new BehaviorSubject(null)), U4(this, `autoFillLocation$`, this._autoFillLocation$.asObservable()), U4(this, `_showMenu$`, new BehaviorSubject(false)), U4(this, `showMenu$`, this._showMenu$.asObservable()), U4(this, `_direction`, Fn.DOWN), U4(this, `applyType$`, this._applyType$.asObservable()), U4(this, `_menu$`, new BehaviorSubject([{ label: `autoFill.copy`, value: $4.COPY, disable: false }, { label: `autoFill.series`, value: $4.SERIES, disable: false }, { label: `autoFill.formatOnly`, value: $4.ONLY_FORMAT, disable: false }, { label: `autoFill.noFormat`, value: $4.NO_FORMAT, disable: false }])), U4(this, `menu$`, this._menu$.asObservable()), this._init(); + } + _init() { + this._rules = [Rl3, Vl3, zl3, Fl3, Il3, Ll3, Bl3, Hl3].sort((e29, t) => t.priority - e29.priority), this._isFillingStyle = true; + } + _getOneByPriority(e29) { + return e29.length <= 0 ? [] : [e29.reduce((e30, t) => (t.priority || 0) > (e30.priority || 0) ? t : e30, e29[0])]; + } + _initPrevUndo() { + this._prevUndos = []; + } + async triggerAutoFill(e29, t, n, r, i) { + var a; + if (n.startColumn === r.startColumn && n.startRow === r.startRow && n.endColumn === r.endColumn && n.endRow === r.endRow) return false; + if (r.endColumn < n.endColumn && r.endColumn > n.startColumn) return this._commandService.executeCommand(Xl3.id, { clearRange: { startRow: r.startRow, endRow: r.endRow, startColumn: r.endColumn + 1, endColumn: n.endColumn }, selectionRange: r }); + if (r.endRow < n.endRow && r.endRow > n.startRow) return this._commandService.executeCommand(Xl3.id, { clearRange: { startRow: r.endRow + 1, endRow: n.endRow, startColumn: r.startColumn, endColumn: r.endColumn }, selectionRange: r }); + let o = { startRow: r.startRow, endRow: r.endRow, startColumn: r.startColumn, endColumn: r.endColumn }, s = null; + if (r.startRow < n.startRow) s = Fn.UP, o.endRow = n.startRow - 1; + else if (r.endRow > n.endRow) s = Fn.DOWN, o.startRow = n.endRow + 1; + else if (r.startColumn < n.startColumn) s = Fn.LEFT, o.endColumn = n.startColumn - 1; + else if (r.endColumn > n.endColumn) s = Fn.RIGHT, o.startColumn = n.endColumn + 1; + else return false; + this.direction = s; + let c = this._injector.invoke((e30) => ki2(n, e30)), l = this._injector.invoke((e30) => ki2(o, e30)); + if (!c || !l) return false; + this.autoFillLocation = { source: c, target: l, unitId: e29, subUnitId: t }; + let u = []; + if (this.getActiveHooks().forEach((n2) => { + var r2; + let i2 = n2 == null || (r2 = n2.onBeforeFillData) == null ? void 0 : r2.call(n2, { source: c, target: l, unitId: e29, subUnitId: t }, s); + i2 && u.unshift(i2); + }), this._initPrevUndo(), i) return this.fillData(i); + for (let e30 = 0; e30 < u.length; e30++) { + let t2 = this.menu.find((t3) => t3.value === u[e30]); + if (t2 && !t2.disable) return this.fillData(u[e30]); + } + let d = (a = this.menu.find((e30) => e30.disable === false)) == null ? void 0 : a.value; + return d ? this.fillData(d) : false; + } + addHook(e29) { + if (this._hooks.find((t) => t.id === e29.id)) throw Error(`Add hook failed, hook id '${e29.id}' already exist!`); + return e29.priority === void 0 && (e29.priority = 0), e29.type === void 0 && (e29.type = vl3.APPEND), this._hooks.push(e29), T2(() => { + let t = this._hooks.findIndex((t2) => t2 === e29); + t > -1 && this._hooks.splice(t, 1); + }); + } + registerRule(e29) { + if (this._rules.find((t2) => t2.type === e29.type)) throw Error(`Registry rule failed, type '${e29.type}' already exist!`); + let t = this._rules.findIndex((t2) => t2.priority < e29.priority); + this._rules.splice(t === -1 ? this._rules.length : t, 0, e29); + } + getRules() { + return this._rules; + } + getAllHooks() { + return this._hooks; + } + getActiveHooks() { + let { source: e29, target: t, unitId: n, subUnitId: r } = this.autoFillLocation || {}; + if (!e29 || !t || !n || !r) return []; + let i = this._hooks.filter((i2) => { + var a2; + return !((a2 = i2.disable) != null && a2.call(i2, { source: e29, target: t, unitId: n, subUnitId: r }, this._direction, this.applyType)); + }), a = i.filter((e30) => e30.type === vl3.ONLY); + if (a.length > 0) return this._getOneByPriority(a); + let o = this._getOneByPriority(i.filter((e30) => e30.type === vl3.DEFAULT)), s = i.filter((e30) => e30.type === vl3.APPEND) || []; + return [...o, ...s]; + } + get applyType() { + return this._applyType$.getValue(); + } + set applyType(e29) { + this._applyType$.next(e29); + } + get menu() { + return this._menu$.getValue(); + } + get direction() { + return this._direction; + } + set direction(e29) { + this._direction = e29; + } + isFillingStyle() { + return this._isFillingStyle; + } + setFillingStyle(e29) { + this._isFillingStyle = e29; + } + get autoFillLocation() { + return this._autoFillLocation$.getValue(); + } + set autoFillLocation(e29) { + this._autoFillLocation$.next(e29); + } + setDisableApplyType(e29, t) { + this._menu$.next(this._menu$.getValue().map((n) => n.value === e29 ? { ...n, disable: t } : n)); + } + setShowMenu(e29) { + this._showMenu$.next(e29); + } + fillData(e29) { + var t; + this.applyType = e29; + let n = this._univerInstanceService.getCurrentUnitOfType(O.UNIVER_SHEET), r = n == null ? void 0 : n.getUnitId(), i = n == null || (t = n.getActiveSheet()) == null ? void 0 : t.getSheetId(), { source: a, target: o, unitId: s = r, subUnitId: c = i } = this.autoFillLocation || {}; + if (!a || !o || !s || !c) return false; + let l = this._univerInstanceService.getUnit(s, O.UNIVER_SHEET); + if (!l) return false; + let u = l.getSheetBySheetId(c); + if (!u) return false; + let d = this.direction; + this._prevUndos.length > 0 && this._prevUndos.forEach((e30) => { + this._commandService.syncExecuteCommand(e30.id, e30.params); + }), this._prevUndos = []; + let f = G.union(Oi2(a), Oi2(o)), p = this.getActiveHooks(); + s === r && c === i && this._commandService.syncExecuteCommand(X4.id, { selections: [{ primary: Yi2({ startRow: a.rows[0], endRow: a.rows[a.rows.length - 1], startColumn: a.cols[0], endColumn: a.cols[a.cols.length - 1] }, u), range: { ...f, rangeType: B.NORMAL } }], unitId: s, subUnitId: c }); + let m = [], h = []; + p.forEach((t2) => { + var n2; + let { undos: r2, redos: i2 } = ((n2 = t2.onFillData) == null ? void 0 : n2.call(t2, { source: a, target: o, unitId: s, subUnitId: c }, d, e29)) || {}; + r2 && m.push(...r2), i2 && h.push(...i2); + }); + let g2 = h.every((e30) => this._commandService.syncExecuteCommand(e30.id, e30.params)), { redos: _2, undos: v } = this._getAutoHeightUndoRedos(h, l, u); + return h.push(..._2), m.push(...v), g2 && (this._prevUndos = m, this._undoRedoService.pushUndoRedo({ unitID: s, undoMutations: m, redoMutations: h })), p.forEach((t2) => { + var n2; + (n2 = t2.onAfterFillData) == null || n2.call(t2, { source: a, target: o, unitId: s, subUnitId: c }, d, e29); + }), this.setShowMenu(true), true; + } + _getAutoHeightUndoRedos(e29, t, n) { + if (this.applyType === $4.NO_FORMAT) return { undos: [], redos: [] }; + let r = [], i = n.getConfig().defaultRowHeight, a = n.getRowManager(); + if (e29.forEach((e30) => { + if (e30.id === J4.id) { + let { cellValue: o2 } = e30.params; + new Sa(o2).forValue((e31, o3, s2) => { + let c2 = Object.keys(t.getStyles().get(s2 == null ? void 0 : s2.s) || {}); + if (s2 != null && s2.p || c2.length && vc3.some((e32) => c2.includes(e32))) { + let t2 = n.getCellHeight(e31, o3), s3 = a.getRow(e31); + (!s3 && t2 !== i || s3 && t2 !== a.getRowHeight(e31)) && r.push({ row: e31, autoHeight: t2 }); + } + }); + } + }), r.length === 0) return { undos: [], redos: [] }; + let o = { unitId: t.getUnitId(), subUnitId: n.getSheetId(), rowsAutoHeightInfo: r }, s = Ir3(o, n), c = { id: zr3.id, params: o }; + return this._commandService.syncExecuteCommand(c.id, c.params) ? { redos: [c], undos: [{ id: zr3.id, params: s }] } : { undos: [], redos: [] }; + } + }; + Ul2 = G4([W4(0, ii), W4(1, td), W4(2, Inject(Mu)), W4(3, Inject(Injector))], Ul2); + var Wl2 = createIdentifier(`univer.auto-fill-service`); + var Gl3 = { type: ri.COMMAND, id: `sheet.command.auto-fill`, handler: async (e29, t) => { + let n = V4(e29.get(Mu), t); + if (!n) return false; + let { unitId: r, subUnitId: i } = n, { sourceRange: a, targetRange: o, applyType: s } = t; + return e29.get(Wl2).triggerAutoFill(r, i, a, o, s); + } }; + function Kl3(e29, t) { + let n = e29.get(Y4).getCurrentLastSelection(); + if (!n) return null; + let r = V4(e29.get(Mu)); + if (!r) return null; + let { unitId: i, subUnitId: a } = r, { startRow: o, endRow: s, startColumn: c, endColumn: l } = n.range; + return t === `down` ? o === s ? o === 0 ? null : { sourceRange: { startRow: o - 1, endRow: o - 1, startColumn: c, endColumn: l }, targetRange: { startRow: o - 1, endRow: s, startColumn: c, endColumn: l }, unitId: i, subUnitId: a, applyType: $4.COPY } : { sourceRange: { startRow: o, endRow: o, startColumn: c, endColumn: l }, targetRange: { startRow: o, endRow: s, startColumn: c, endColumn: l }, unitId: i, subUnitId: a, applyType: $4.COPY } : c === l ? c === 0 ? null : { sourceRange: { startRow: o, endRow: s, startColumn: c - 1, endColumn: c - 1 }, targetRange: { startRow: o, endRow: s, startColumn: c - 1, endColumn: l }, unitId: i, subUnitId: a, applyType: $4.COPY } : { sourceRange: { startRow: o, endRow: s, startColumn: c, endColumn: c }, targetRange: { startRow: o, endRow: s, startColumn: c, endColumn: l }, unitId: i, subUnitId: a, applyType: $4.COPY }; + } + async function ql3(e29, t) { + let n = Kl3(e29, t); + if (!n) return false; + let r = await e29.get(ii).executeCommand(Gl3.id, n); + return r && e29.get(Wl2).setShowMenu(false), r; + } + var Jl3 = { type: ri.COMMAND, id: `sheet.command.copy-down`, handler: async (e29) => ql3(e29, `down`) }; + var Yl3 = { type: ri.COMMAND, id: `sheet.command.copy-right`, handler: async (e29) => ql3(e29, `right`) }; + var Xl3 = { id: `sheet.command.auto-clear-content`, type: ri.COMMAND, handler: async (e29, t) => { + let n = V4(e29.get(Mu)); + if (!n) return false; + let r = e29.get(ii), i = e29.get(td), a = e29.get(K4), o = e29.get(Y4), { unitId: s, subUnitId: c } = n, { clearRange: l, selectionRange: u } = t, { startColumn: d, startRow: f } = u, p = { subUnitId: c, unitId: s, cellValue: Ei2([l]) }, m = gr3(e29, p), h = [{ id: J4.id, params: p }, { id: X4.id, params: { selections: [{ primary: { startColumn: d, startRow: f, endColumn: d, endRow: f, actualRow: f, actualColumn: d, isMerged: false, isMergedMainCell: false }, range: { ...u } }], unitId: s, subUnitId: c } }], g2 = [{ id: J4.id, params: m }, { id: X4.id, params: { selections: [o.getCurrentLastSelection()], unitId: s, subUnitId: c } }]; + if (li(h, r)) { + let e30 = a.afterCommandExecute({ id: J4.id, params: p }); + return li(e30.redos, r), i.pushUndoRedo({ unitID: s, undoMutations: [...g2, ...e30.undos], redoMutations: [...h, ...e30.redos] }), true; + } + return false; + } }; + var Zl3 = { id: `sheet.command.clear-selection-content`, type: ri.COMMAND, handler: (e29, t) => { + var n; + let r = e29.get(Mu), i = e29.get(ii), a = e29.get(Y4), o = e29.get(td), s = e29.get(K4), c = r.getCurrentUnitForType(O.UNIVER_SHEET); + if (!c) return false; + let l = (t == null ? void 0 : t.unitId) || c.getUnitId(), u = c.getActiveSheet(); + if (!u) return false; + let d = (t == null ? void 0 : t.subUnitId) || u.getSheetId(), f = (t == null ? void 0 : t.ranges) || ((n = a.getCurrentSelections()) == null ? void 0 : n.map((e30) => e30.range)); + if (!(f != null && f.length)) return false; + let p = { subUnitId: d, unitId: l, cellValue: Ei2(Ai2(f, e29, l, d)) }, m = gr3(e29, p), h = s.onCommandExecute({ id: Zl3.id }), g2 = [{ id: J4.id, params: p }, ...h.redos], _2 = [...h.undos, { id: J4.id, params: m }]; + return li(g2, i).result ? (o.pushUndoRedo({ unitID: l, undoMutations: _2, redoMutations: g2 }), true) : false; + } }; + var Ql2 = `sheets.config`; + Symbol(Ql2); + var $l3 = { largeSheetCellCountThreshold: 6e3, batchSize: 3e3 }; + var eu3 = {}; + var tu3 = class extends E { + constructor(e29, t) { + super(), this._commandService = e29, this._univerInstanceService = t, U4(this, `_tasks`, /* @__PURE__ */ new Map()), U4(this, `_idleCallbackId`, null), U4(this, `_beforeUnloadHandler`, null), this._setupBeforeUnloadListener(), this.disposeWithMe(() => { + this._cancelAllTasks(), this._removeBeforeUnloadListener(); + }); + } + hasPendingTasks() { + return this._tasks.size > 0; + } + getPendingMutationsCount() { + let e29 = 0; + for (let t of this._tasks.values()) e29 += t.mutations.length - t.currentIndex; + return e29; + } + scheduleMutations(e29, t, n) { + if (n.length === 0) return; + let r = `${e29}_${t}`; + this._cancelTask(r), this._tasks.set(r, { unitId: e29, subUnitId: t, mutations: n, currentIndex: 0 }), this._scheduleNextIdle(); + } + cancelScheduledMutations(e29, t) { + let n = `${e29}_${t}`; + this._cancelTask(n); + } + _cancelTask(e29) { + this._tasks.delete(e29), this._tasks.size === 0 && this._idleCallbackId !== null && (typeof cancelIdleCallback < `u` && cancelIdleCallback(this._idleCallbackId), this._idleCallbackId = null); + } + _cancelAllTasks() { + this._tasks.clear(), this._idleCallbackId !== null && (typeof cancelIdleCallback < `u` && cancelIdleCallback(this._idleCallbackId), this._idleCallbackId = null); + } + _scheduleNextIdle() { + this._idleCallbackId === null && (typeof requestIdleCallback < `u` ? this._idleCallbackId = requestIdleCallback((e29) => this._processIdleTasks(e29), { timeout: 1e3 * 60 }) : this._idleCallbackId = setTimeout(() => { + this._processIdleTasks({ didTimeout: false, timeRemaining: () => 16 }); + }, 16)); + } + _processIdleTasks(e29) { + this._idleCallbackId = null; + for (let [t, n] of this._tasks) { + if (!this._isSheetExist(n.unitId, n.subUnitId)) { + this._tasks.delete(t); + continue; + } + for (n.currentIndex; n.currentIndex < n.mutations.length; ) { + if (e29.timeRemaining() <= 0 && !e29.didTimeout) { + this._scheduleNextIdle(); + return; + } + let t2 = n.mutations[n.currentIndex]; + this._commandService.syncExecuteCommand(t2.id, t2.params, { onlyLocal: true }), n.currentIndex++; + } + this._tasks.delete(t); + } + this._tasks.size > 0 && this._scheduleNextIdle(); + } + _isSheetExist(e29, t) { + let n = this._univerInstanceService.getUnit(e29, O.UNIVER_SHEET); + return n ? n.getSheetBySheetId(t) !== null : false; + } + _setupBeforeUnloadListener() { + typeof window > `u` || (this._beforeUnloadHandler = (e29) => { + if (this.hasPendingTasks()) return e29.preventDefault(), e29.returnValue = ``, ``; + }, window.addEventListener(`beforeunload`, this._beforeUnloadHandler)); + } + _removeBeforeUnloadListener() { + typeof window > `u` || !this._beforeUnloadHandler || (window.removeEventListener(`beforeunload`, this._beforeUnloadHandler), this._beforeUnloadHandler = null); + } + }; + tu3 = G4([W4(0, ii), W4(1, Mu)], tu3); + var nu3 = { id: `sheet.mutation.copy-worksheet-end`, type: ri.MUTATION, handler: () => true }; + var ru2 = (e29, t) => ({ subUnitId: t.sheet.id, unitId: t.unitId, subUnitName: t.sheet.name }); + var iu3 = { id: `sheet.mutation.insert-sheet`, type: ri.MUTATION, handler: (e29, t) => { + let n = e29.get(Mu), { sheet: r, index: i, unitId: a, styles: o } = t, s = n.getUniverSheetInstance(a); + return s ? (o && s.addStyles(o), s.addWorksheet(r.id, i, su(r))) : false; + } }; + function au3(e29) { + let t = 0; + for (let n of Object.keys(e29)) { + let r = e29[Number(n)]; + r && (t += Object.keys(r).length); + } + return t; + } + function ou3(e29, t, n, r) { + let i = [], a = {}, o = 0; + for (let e30 in n) { + let t2 = Number(e30), s = n[t2]; + if (!s) continue; + let c = Object.keys(s).length; + o > 0 && o + c > r && (i.push(a), a = {}, o = 0), a[t2] = s, o += c, o >= r && (i.push(a), a = {}, o = 0); + } + return o > 0 && i.push(a), { firstChunkCellData: i.length > 0 ? i[0] : {}, remainingMutations: i.slice(1).map((n2) => ({ id: J4.id, params: { unitId: e29, subUnitId: t, cellValue: n2, __splitChunk__: true } })) }; + } + var su3 = `sheet.command.copy-sheet`; + function cu3(e29, t, n, r, i, a, o) { + var s, c; + let l = e29.get(Yr).getConfig(Ql2), u = { ...$l3, ...l == null ? void 0 : l.largeSheetOperation }, d = su(n.getConfig()); + d.name = uu2(t, a, d.name); + let f = O2(); + d.id = f; + let p = t.getSheetIndex(n), { cellData: m } = d, h = au3(m) >= u.largeSheetCellCountThreshold, g2, _2 = []; + if (h) { + let { firstChunkCellData: e30, remainingMutations: t2 } = ou3(r, f, m, u.batchSize), n2 = { ...d, cellData: e30 }; + g2 = { index: p + 1, sheet: n2, unitId: r }, _2 = t2; + } else g2 = { index: p + 1, sheet: d, unitId: r }; + let v = ru2(e29, g2), y = o.onCommandExecute({ id: su3, params: { unitId: r, subUnitId: i, targetSubUnitId: d.id } }); + return { redos: [...(s = y.preRedos) == null ? [] : s, { id: iu3.id, params: g2 }, ...y.redos], undos: [...(c = y.preUndos) == null ? [] : c, { id: Ro3.id, params: v }, ...y.undos], unitId: r, newSheetId: f, isSplit: h, scheduledMutations: _2 }; + } + var lu3 = { type: ri.COMMAND, id: su3, handler: (e29, t) => { + let n = e29.get(ii), r = e29.get(td), i = e29.get(Mu), a = e29.get(K4), o = e29.get(zu), s = e29.get(tu3), c = V4(i, t); + if (!c) return false; + let { workbook: l, worksheet: u, unitId: d, subUnitId: f } = c, { redos: p, undos: m, newSheetId: h, isSplit: g2, scheduledMutations: _2 } = cu3(e29, l, u, d, f, o, a); + if (li(p, n).result) { + if (g2) { + if (r.pushUndoRedo({ unitID: d, undoMutations: m, redoMutations: [] }), _2.length > 0) { + for (let e30 of _2) n.syncExecuteCommand(e30.id, e30.params, { syncOnly: true }); + n.syncExecuteCommand(nu3.id, { unitId: d, subUnitId: h }, { syncOnly: true }), s.scheduleMutations(d, h, _2); + } + } else r.pushUndoRedo({ unitID: d, undoMutations: m, redoMutations: p }); + return true; + } + return false; + } }; + function uu2(e29, t, n) { + let r = `${n} ${t.t(`sheets.tabs.sheetCopy`, ``)}`, i = 2; + for (; e29.checkSheetName(r); ) r = `${n} ${t.t(`sheets.tabs.sheetCopy`, `${i}`)}`, i++; + return r; + } + var du3 = { type: ri.COMMAND, id: `sheet.command.delete-range-protection`, async handler(e29, t) { + if (!t) return false; + let n = e29.get(ii), r = e29.get(td), { unitId: i, subUnitId: a, rule: o } = t, s = { unitId: i, subUnitId: a, ruleIds: [o.id] }; + return await n.executeCommand(Fi2.id, s) && r.pushUndoRedo({ unitID: i, redoMutations: [{ id: Fi2.id, params: s }], undoMutations: [{ id: Li2.id, params: { unitId: i, subUnitId: a, rules: [o] } }] }), true; + } }; + var fu2 = { type: ri.COMMAND, id: `sheet.command.delete-worksheet-protection`, handler(e29, t) { + if (!t) return false; + let n = e29.get(ii), r = e29.get(td), { rule: i, unitId: a, subUnitId: o } = t; + n.executeCommand(mc3.id, { unitId: a, subUnitId: o }); + let s = [{ id: mc3.id, params: { unitId: a, subUnitId: o } }], c = [{ id: pc3.id, params: { unitId: a, rule: i, subUnitId: o } }]; + return r.pushUndoRedo({ unitID: a, redoMutations: s, undoMutations: c }), true; + } }; + var pu2 = { type: ri.COMMAND, id: `sheet.command.remove-worksheet-range-theme-style`, handler: (e29, t) => { + let n = e29.get(ii), r = e29.get(td), { unitId: i } = t, a = bn2(e29, t); + return n.syncExecuteCommand(yn3.id, t) ? (r.pushUndoRedo({ unitID: i, undoMutations: [{ id: _n3.id, params: a }], redoMutations: [{ id: yn3.id, params: t }] }), true) : false; + } }; + var mu2 = { id: `sheet.command.insert-defined-name`, type: ri.COMMAND, handler: (e29, t) => { + let n = e29.get(ii), r = e29.get(td); + if (!t) return false; + let i = { ...t }; + return n.syncExecuteCommand(hr2.id, i) ? (r.pushUndoRedo({ unitID: t.unitId, undoMutations: [{ id: gr2.id, params: i }], redoMutations: [{ id: hr2.id, params: i }] }), true) : false; + } }; + var hu2 = { id: `sheet.command.insert-sheet`, type: ri.COMMAND, handler: (e29, t) => { + let n = e29.get(ii), r = e29.get(td), i = e29.get(Mu), a = e29.get(zu), o = Lt2(i, { unitId: t == null ? void 0 : t.unitId }); + if (!o) return false; + let { unitId: s, workbook: c } = o, l = c.getSheets().length, u = t == null ? void 0 : t.sheet, d = u == null ? void 0 : u.id, f = Su(u || {}); + if (t) { + var p; + l = (p = t.index) == null ? l : p, f.id = d || O2(), f.name = (u == null ? void 0 : u.name) || c.generateNewSheetName(`${a.t(`sheets.tabs.sheet`)}`); + } else f.id = O2(), f.name = c.generateNewSheetName(`${a.t(`sheets.tabs.sheet`)}`); + let m = { index: l, sheet: f, unitId: s }, h = ru2(e29, m); + return n.syncExecuteCommand(iu3.id, m) ? (r.pushUndoRedo({ unitID: s, undoMutations: [{ id: Ro3.id, params: h }], redoMutations: [{ id: iu3.id, params: m }] }), true) : false; + } }; + var gu2 = { id: `sheet.command.refill`, type: ri.COMMAND, handler: async (e29, t) => e29.get(Wl2).fillData(t.type) }; + var _u2 = { id: `sheet.mutation.register-worksheet-range-theme-style`, type: ri.MUTATION, handler: (e29, t) => { + if (!V4(e29.get(Mu), t)) return false; + let n = e29.get(gn3), { unitId: r, rangeThemeStyleJson: i, themeName: a } = t, o = new en3(a, i); + return n.registerRangeThemeStyle(r, o), true; + } }; + var vu2 = { id: `sheet.mutation.unregister-worksheet-range-theme-style`, type: ri.MUTATION, handler: (e29, t) => { + if (!V4(e29.get(Mu), t)) return false; + let n = e29.get(gn3), { unitId: r, themeName: i } = t; + return n.unregisterRangeThemeStyle(r, i), true; + } }; + var yu2 = { id: `sheet.command.register-worksheet-range-theme-style`, type: ri.COMMAND, handler: (e29, t) => { + if (!t) return false; + let { unitId: n, rangeThemeStyle: r } = t, i = e29.get(Mu), a = e29.get(ii), o = e29.get(td); + if (!V4(i, t)) return false; + let s = { unitId: n, themeName: r.getName(), rangeThemeStyleJson: r.toJson() }, c = { unitId: n, themeName: r.getName() }; + return a.syncExecuteCommand(_u2.id, s) && o.pushUndoRedo({ unitID: n, undoMutations: [{ id: vu2.id, params: c }], redoMutations: [{ id: _u2.id, params: s }] }), true; + } }; + var bu2 = { id: `sheet.command.remove-defined-name`, type: ri.COMMAND, handler: (e29, t) => { + var n, r; + let i = e29.get(ii), a = e29.get(td), o = e29.get(K4); + if (!t) return false; + let s = { ...t }, c = o.onCommandExecute({ id: bu2.id, params: t }), l = [...(n = c.preRedos) == null ? [] : n, { id: gr2.id, params: s }, ...c.redos], u = [...(r = c.preUndos) == null ? [] : r, { id: hr2.id, params: s }, ...c.undos]; + return li(l, i) ? (a.pushUndoRedo({ unitID: t.unitId, undoMutations: u.filter(Boolean), redoMutations: l.filter(Boolean) }), true) : false; + } }; + var xu2 = { id: `sheet.command.remove-sheet`, type: ri.COMMAND, handler: (e29, t) => { + var n, r; + let i = e29.get(ii), a = e29.get(td), o = e29.get(Mu), s = e29.get(K4), c = e29.get(Yr), l = V4(o, t); + if (!l) return false; + let { unitId: u, subUnitId: d, workbook: f, worksheet: p } = l; + if (f.getSheets().length <= 1) return false; + let m = c.getConfig(Ql2), h = { ...$l3, ...m == null ? void 0 : m.largeSheetOperation }, g2 = Yo2(p.getCellMatrix()) >= h.largeSheetCellCountThreshold, _2 = { subUnitId: d, unitId: u, subUnitName: p.getName() }, v = g2 ? null : Lo3(e29, _2), y = s.onCommandExecute({ id: xu2.id, params: { unitId: u, subUnitId: d } }), b = [...(n = y.preRedos) == null ? [] : n, { id: Ro3.id, params: _2 }, ...y.redos], x2 = g2 ? [] : [...(r = y.preUndos) == null ? [] : r, { id: iu3.id, params: v }, ...y.undos]; + return li(b, i).result ? (g2 ? a.clearUndoRedo(u) : a.pushUndoRedo({ unitID: u, undoMutations: x2, redoMutations: b }), true) : false; + } }; + var Su3 = class { + constructor() { + U4(this, `_borderInfo`, { type: On.ALL, color: `#000000`, style: k.THIN, activeBorderType: false }), U4(this, `_borderInfo$`, new BehaviorSubject(this._borderInfo)), U4(this, `borderInfo$`, this._borderInfo$.asObservable()); + } + dispose() { + this._borderInfo$.complete(); + } + setType(e29) { + this._borderInfo.type = e29, this.setActiveBorderType(true), this._refresh(); + } + setColor(e29) { + this._borderInfo.color = e29, this._refresh(); + } + setStyle(e29) { + this._borderInfo.style = e29, this._refresh(); + } + setActiveBorderType(e29) { + this._borderInfo.activeBorderType = e29; + } + getBorderInfo() { + return this._borderInfo; + } + _refresh() { + this._borderInfo$.next(this._borderInfo); + } + }; + function Cu3(e29, t) { + let { startRow: n, startColumn: r, endRow: i, endColumn: a } = e29; + for (let e30 = n; e30 <= i; e30++) for (let n2 = r; n2 <= a; n2++) t(e30, n2); + } + var wu3 = (e29, t, n, r) => { + let { mr: i, worksheet: a } = e29; + t.startRow < 0 || t.startColumn < 0 || Cu3(t, (e30, t2) => { + let o = a.getMergedCell(e30, t2), s = n; + if (o && (n.bc_tr || n.ml_tr || n.bl_tr || n.tl_mr || n.tl_bc || n.tl_br)) { + if (r) { + var c; + let e31 = D.deepClone((c = i.getValue(o.startRow, o.startColumn)) == null ? void 0 : c.s); + s = e31 != null && e31.bd ? Object.assign(e31.bd, n) : n; + } + i.setValue(o.startRow, o.startColumn, { s: { bd: s } }); + } else { + if (r) { + var l; + let r2 = D.deepClone((l = i.getValue(e30, t2)) == null ? void 0 : l.s); + s = r2 != null && r2.bd ? Object.assign(r2.bd, n) : n; + } + i.setValue(e30, t2, { s: { bd: s } }); + } + }); + }; + var Tu3 = (e29) => ({ topRangeOut: { startRow: e29.startRow - 1, startColumn: e29.startColumn, endRow: e29.startRow - 1, endColumn: e29.endColumn }, leftRangeOut: { startRow: e29.startRow, startColumn: e29.startColumn - 1, endRow: e29.endRow, endColumn: e29.startColumn - 1 }, bottomRangeOut: { startRow: e29.endRow + 1, startColumn: e29.startColumn, endRow: e29.endRow + 1, endColumn: e29.endColumn }, rightRangeOut: { startRow: e29.startRow, startColumn: e29.endColumn + 1, endRow: e29.endRow, endColumn: e29.endColumn + 1 }, topRange: { startRow: e29.startRow, startColumn: e29.startColumn, endRow: e29.startRow, endColumn: e29.endColumn }, leftRange: { startRow: e29.startRow, startColumn: e29.startColumn, endRow: e29.endRow, endColumn: e29.startColumn }, bottomRange: { startRow: e29.endRow, startColumn: e29.startColumn, endRow: e29.endRow, endColumn: e29.endColumn }, rightRange: { startRow: e29.startRow, startColumn: e29.endColumn, endRow: e29.endRow, endColumn: e29.endColumn } }); + function Eu3(e29, t, n) { + let { style: r, color: i, type: o } = e29.getBorderInfo(), s = o === On.TOP || o === On.ALL || o === On.OUTSIDE, c = o === On.LEFT || o === On.ALL || o === On.OUTSIDE, l = o === On.BOTTOM || o === On.ALL || o === On.OUTSIDE, u = o === On.RIGHT || o === On.ALL || o === On.OUTSIDE, d = o === On.VERTICAL || o === On.ALL || o === On.INSIDE, f = o === On.HORIZONTAL || o === On.ALL || o === On.INSIDE, p = o.indexOf(`tlbr`) > -1, m = o.indexOf(`tlbc`) > -1, h = o.indexOf(`tlmr`) > -1, g2 = o.indexOf(`bltr`) > -1, _2 = o.indexOf(`mltr`) > -1, v = o.indexOf(`bctr`) > -1, y = n[0], { topRangeOut: b, leftRangeOut: x2, bottomRangeOut: S4, rightRangeOut: C3, topRange: w2, leftRange: T4, bottomRange: E4, rightRange: ee } = Tu3(y), D4 = new Sa(), { worksheet: te, unitId: ne, subUnitId: O5 } = t; + return { worksheet: te, unitId: ne, subUnitId: O5, style: r, color: i, type: o, top: s, left: c, right: u, bottom: l, vertical: d, horizontal: f, tl_br: p, tl_bc: m, tl_mr: h, bl_tr: g2, ml_tr: _2, bc_tr: v, topRangeOut: b, leftRangeOut: x2, bottomRangeOut: S4, rightRangeOut: C3, topRange: w2, leftRange: T4, bottomRange: E4, rightRange: ee, range: y, mr: D4, borderStyle: { s: r, cl: { rgb: i } } }; + } + var Du3 = (e29) => { + let { range: t, mr: n, borderStyle: r, vertical: i, horizontal: a, worksheet: o } = e29; + i && Cu3(t, (e30, i2) => { + let a2 = o.getMergedCell(e30, i2); + if (a2) { + var s; + let o2 = (s = n.getValue(a2.startRow, a2.startColumn)) == null ? void 0 : s.s; + a2.startColumn !== t.startColumn && n.setValue(e30, i2, { s: { bd: o2 != null && o2.bd ? Object.assign(o2.bd, { l: D.deepClone(r) }) : { l: D.deepClone(r) } } }); + } else { + if (i2 !== t.endColumn) { + var c; + let t2 = (c = n.getValue(e30, i2)) == null ? void 0 : c.s; + n.setValue(e30, i2, { s: { bd: t2 != null && t2.bd ? Object.assign(t2.bd, { r: D.deepClone(r) }) : { r: D.deepClone(r) } } }); + } + if (i2 !== t.startColumn) { + var l; + let t2 = (l = n.getValue(e30, i2)) == null ? void 0 : l.s; + n.setValue(e30, i2, { s: { bd: t2 != null && t2.bd ? Object.assign(t2.bd, { l: D.deepClone(r) }) : { l: D.deepClone(r) } } }); + } + } + }), a && Cu3(t, (e30, i2) => { + let a2 = o.getMergedCell(e30, i2); + if (a2) { + var s; + let o2 = (s = n.getValue(a2.startRow, a2.startColumn)) == null ? void 0 : s.s; + a2.startRow !== t.startRow && n.setValue(e30, i2, { s: { bd: o2 != null && o2.bd ? Object.assign(o2.bd, { t: D.deepClone(r) }) : { t: D.deepClone(r) } } }); + } else { + if (e30 !== t.endRow) { + var c; + let t2 = (c = n.getValue(e30, i2)) == null ? void 0 : c.s; + n.setValue(e30, i2, { s: { bd: t2 != null && t2.bd ? Object.assign(t2.bd, { b: D.deepClone(r) }) : { b: D.deepClone(r) } } }); + } + if (e30 !== t.startRow) { + var l; + let t2 = (l = n.getValue(e30, i2)) == null ? void 0 : l.s; + n.setValue(e30, i2, { s: { bd: t2 != null && t2.bd ? Object.assign(t2.bd, { t: D.deepClone(r) }) : { t: D.deepClone(r) } } }); + } + } + }); + }; + function Ou2(e29) { + let { borderStyle: t, tl_br: n, tl_bc: r, tl_mr: i, bl_tr: a, ml_tr: o, bc_tr: s } = e29, c = (t2, n2, r2) => { + wu3(e29, t2, n2, r2); + }; + n && c(e29.range, { tl_br: D.deepClone(t) }, true), r && c(e29.range, { tl_bc: D.deepClone(t) }, true), i && c(e29.range, { tl_mr: D.deepClone(t) }, true), a && c(e29.range, { bl_tr: D.deepClone(t) }, true), o && c(e29.range, { ml_tr: D.deepClone(t) }, true), s && c(e29.range, { bc_tr: D.deepClone(t) }, true); + } + var ku2 = (e29) => { + let { top: t, left: n, right: r, bottom: i, borderStyle: a, bottomRange: o, topRange: s, leftRange: c, rightRange: l, bottomRangeOut: u, topRangeOut: d, leftRangeOut: f, rightRangeOut: p } = e29, m = (t2, n2, r2) => { + wu3(e29, t2, n2, r2); + }; + t && (m(d, { b: null }), m(s, { t: D.deepClone(a) }, true)), i && (m(u, { t: null }), m(o, { b: D.deepClone(a) }, true)), n && (m(f, { r: null }), m(c, { l: D.deepClone(a) }, true)), r && (m(p, { l: null }), m(l, { r: D.deepClone(a) }, true)); + }; + var Au3 = (e29) => { + let { range: t, worksheet: n, mr: r, top: i, bottom: a, left: o, right: s, vertical: c, horizontal: l, tl_br: u, tl_bc: d, tl_mr: f, bl_tr: p, ml_tr: m, bc_tr: h, topRange: g2, bottomRange: _2, leftRange: v, rightRange: y, topRangeOut: b, bottomRangeOut: x2, leftRangeOut: S4, rightRangeOut: C3 } = e29, w2 = (t2, n2, r2) => { + wu3(e29, t2, n2, r2); + }; + !i && !a && !o && !s && !c && !l && !u && !d && !f && !p && !m && !h && (Cu3(t, (e30, i2) => { + let a2 = n.getMergedCell(e30, i2); + if (a2) { + if (a2.endColumn !== t.endColumn) { + var o2; + let t2 = (o2 = r.getValue(a2.startRow, a2.startColumn)) == null ? void 0 : o2.s; + r.setValue(e30, i2, { s: { bd: t2 != null && t2.bd ? Object.assign(t2.bd, { r: null }) : { r: null } } }); + } + if (a2.startColumn !== t.startColumn) { + var s2; + let t2 = (s2 = r.getValue(a2.startRow, a2.startColumn)) == null ? void 0 : s2.s; + r.setValue(e30, i2, { s: { bd: t2 != null && t2.bd ? Object.assign(t2.bd, { l: null }) : { l: null } } }); + } + if (a2.endRow !== t.endRow) { + var c2; + let t2 = (c2 = r.getValue(a2.startRow, a2.startColumn)) == null ? void 0 : c2.s; + r.setValue(e30, i2, { s: { bd: t2 != null && t2.bd ? Object.assign(t2.bd, { b: null }) : { b: null } } }); + } + if (a2.startRow !== t.startRow) { + var l2; + let t2 = (l2 = r.getValue(a2.startRow, a2.startColumn)) == null ? void 0 : l2.s; + r.setValue(e30, i2, { s: { bd: t2 != null && t2.bd ? Object.assign(t2.bd, { t: null }) : { t: null } } }); + } + } else { + if (i2 !== t.endColumn) { + var u2; + let t2 = (u2 = r.getValue(e30, i2)) == null ? void 0 : u2.s; + r.setValue(e30, i2, { s: { bd: t2 != null && t2.bd ? Object.assign(t2.bd, { r: null }) : { r: null } } }); + } + if (i2 !== t.startColumn) { + var d2; + let t2 = (d2 = r.getValue(e30, i2)) == null ? void 0 : d2.s; + r.setValue(e30, i2, { s: { bd: t2 != null && t2.bd ? Object.assign(t2.bd, { l: null }) : { l: null } } }); + } + if (e30 !== t.endRow) { + var f2; + let t2 = (f2 = r.getValue(e30, i2)) == null ? void 0 : f2.s; + r.setValue(e30, i2, { s: { bd: t2 != null && t2.bd ? Object.assign(t2.bd, { b: null }) : { b: null } } }); + } + if (e30 !== t.startRow) { + var p2; + let t2 = (p2 = r.getValue(e30, i2)) == null ? void 0 : p2.s; + r.setValue(e30, i2, { s: { bd: t2 != null && t2.bd ? Object.assign(t2.bd, { t: null }) : { t: null } } }); + } + } + }), w2(b, { b: null }), w2(g2, { t: null }, true), w2(x2, { t: null }), w2(_2, { b: null }, true), w2(S4, { r: null }), w2(v, { l: null }, true), w2(C3, { l: null }), w2(y, { r: null }, true), w2(t, { tl_br: null }, true), w2(t, { tl_bc: null }, true), w2(t, { tl_mr: null }, true), w2(t, { bl_tr: null }, true), w2(t, { ml_tr: null }, true), w2(t, { bc_tr: null }, true)); + }; + var ju3 = { id: `sheet.command.set-border`, type: ri.COMMAND, handler: (e29, t) => { + var n; + let r = e29.get(ii), i = e29.get(td), a = e29.get(Mu), o = e29.get(Y4), s = e29.get(Su3), c = V4(a, t); + if (!c) return false; + let l = (t == null ? void 0 : t.ranges) || ((n = o.getCurrentSelections()) == null ? void 0 : n.map((e30) => e30.range)); + if (!(l != null && l.length)) return false; + let { activeBorderType: u } = s.getBorderInfo(); + if (!u) return false; + let d = Eu3(s, c, l); + Du3(d), ku2(d), Ou2(d), Au3(d); + let { unitId: f, subUnitId: p, mr: m } = d, h = { unitId: f, subUnitId: p, cellValue: m.getData() }, g2 = gr3(e29, h); + return r.syncExecuteCommand(J4.id, h) ? (i.pushUndoRedo({ unitID: f, undoMutations: [{ id: J4.id, params: g2 }], redoMutations: [{ id: J4.id, params: h }] }), true) : false; + } }; + var Mu3 = { id: `sheet.command.set-border-position`, type: ri.COMMAND, handler: (e29, t) => { + if (!t.value) return false; + let n = e29.get(ii); + return e29.get(Su3).setType(t.value), n.syncExecuteCommand(ju3.id); + } }; + var Nu3 = { id: `sheet.command.set-border-style`, type: ri.COMMAND, handler: (e29, t) => { + let n = e29.get(ii); + return e29.get(Su3).setStyle(t.value), n.syncExecuteCommand(ju3.id); + } }; + var Pu3 = { id: `sheet.command.set-border-color`, type: ri.COMMAND, handler: (e29, t) => { + let n = e29.get(ii); + return e29.get(Su3).setColor(t.value), n.syncExecuteCommand(ju3.id); + } }; + var Fu3 = { id: `sheet.command.set-border-basic`, type: ri.COMMAND, handler: (e29, t) => { + let { unitId: n, subUnitId: r, value: i, ranges: a } = t, { type: o, color: s, style: c } = i, l = e29.get(ii), u = e29.get(Su3); + return u.setType(o), s && u.setColor(s), u.setStyle(c), l.syncExecuteCommand(ju3.id, { unitId: n, subUnitId: r, ranges: a }); + } }; + var Iu3 = { type: ri.COMMAND, id: `sheet.command.set-col-data`, handler: (e29, t) => { + let n = e29.get(ii), r = e29.get(td), i = V4(e29.get(Mu), t); + if (!i) return false; + let { columnData: a } = t, { unitId: o, subUnitId: s, worksheet: c } = i, l = { subUnitId: s, unitId: o, columnData: a }, u = zn3(l, c); + return n.syncExecuteCommand(Bn3.id, l) ? (r.pushUndoRedo({ unitID: o, undoMutations: [{ id: Bn3.id, params: u }], redoMutations: [{ id: Bn3.id, params: l }] }), true) : false; + } }; + var Lu3 = { type: ri.COMMAND, id: `sheet.command.set-col-visible-on-cols`, handler: (e29, t) => { + let { unitId: n, subUnitId: r, ranges: i } = t, a = e29.get(K4), o = e29.get(ii), s = V4(e29.get(Mu), { unitId: n, subUnitId: r }); + if (!s) return false; + let { worksheet: c } = s, l = { unitId: n, subUnitId: r, ranges: i }, u = { unitId: n, subUnitId: r, reveal: true, selections: i.map((e30) => ({ range: e30, primary: Yi2(e30, c), style: null })) }, d = Un2(e29, l), f = { unitId: n, subUnitId: r, selections: Vu3(i).map((e30) => ({ range: e30, primary: Yi2(e30, c), style: null })) }, p = li([{ id: Wn3.id, params: l }, { id: X4.id, params: u }], o), m = a.onCommandExecute({ id: Lu3.id, params: t }), h = li([...m.redos], o); + if (p.result && h.result) { + var g2, _2; + let r2 = a.afterCommandExecute({ id: Lu3.id, params: t }); + return li(r2.redos, o), e29.get(td).pushUndoRedo({ unitID: n, undoMutations: [{ id: Hn3.id, params: d }, { id: X4.id, params: f }, ...(g2 = m.undos) == null ? [] : g2, ...r2.undos], redoMutations: [...(_2 = m.preRedos) == null ? [] : _2, { id: Wn3.id, params: l }, { id: X4.id, params: u }, ...m.redos, ...r2.redos] }), true; + } + return true; + } }; + var Ru3 = { type: ri.COMMAND, id: `sheet.command.set-selected-cols-visible`, handler: (e29) => { + var t; + let n = e29.get(Y4), r = e29.get(ii), i = (t = n.getCurrentSelections()) == null ? void 0 : t.map((e30) => e30.range).filter((e30) => e30.rangeType === B.COLUMN); + if (!(i != null && i.length)) return false; + let a = V4(e29.get(Mu)); + if (!a) return false; + let { worksheet: o, unitId: s, subUnitId: c } = a, l = i.map((e30) => o.getHiddenCols(e30.startColumn, e30.endColumn)).flat(); + return r.executeCommand(Lu3.id, { unitId: s, subUnitId: c, ranges: l }); + } }; + var zu3 = { type: ri.COMMAND, id: `sheet.command.set-col-hidden`, handler: (e29, t) => { + var n, r; + let i = e29.get(Y4), a = e29.get(K4), o = e29.get(Mu), s = e29.get(ii), c = !(t == null || (n = t.ranges) == null) && n.length ? t.ranges : (r = i.getCurrentSelections()) == null ? void 0 : r.map((e30) => e30.range).filter((e30) => e30.rangeType === B.COLUMN); + if (!(c != null && c.length)) return false; + let l = V4(o, t); + if (!l) return false; + let { worksheet: u, unitId: d, subUnitId: f } = l; + c = Bu3(l.worksheet, c); + let p = { unitId: d, subUnitId: f, ranges: c }, m = { unitId: d, subUnitId: f, selections: Vu3(c).map((e30) => ({ range: e30, primary: Yi2(e30, u), style: null })) }, h = Vn3(e29, p), g2 = { unitId: d, subUnitId: f, reveal: true, selections: c.map((e30) => ({ range: e30, primary: Yi2(e30, u), style: null })) }, _2 = li([{ id: Hn3.id, params: p }, { id: X4.id, params: m }], s), v = a.onCommandExecute({ id: zu3.id, params: p }), y = li([...v.redos], s); + if (_2.result && y.result) { + var b, x2; + let t2 = a.afterCommandExecute({ id: zu3.id, params: p }); + return li(t2.redos, s), e29.get(td).pushUndoRedo({ unitID: d, undoMutations: [{ id: Wn3.id, params: h }, { id: X4.id, params: g2 }, ...(b = v.undos) == null ? [] : b, ...t2.undos], redoMutations: [...(x2 = v.preRedos) == null ? [] : x2, { id: Hn3.id, params: p }, { id: X4.id, params: m }, ...v.redos, ...t2.redos] }), true; + } + return false; + } }; + function Bu3(e29, t) { + let n = e29.getRowCount() - 1, r = e29.getHiddenCols(), i = []; + return t.forEach((e30) => { + let t2 = r.filter((t3) => t3.startColumn >= e30.startColumn && t3.endColumn <= e30.endColumn); + if (t2.length) { + let r2 = e30.startColumn; + t2.forEach((e31) => { + e31.startColumn > r2 && (i.push({ startColumn: r2, endColumn: e31.startColumn - 1, startRow: 0, endRow: n }), r2 = e31.endColumn + 1); + }), r2 <= e30.endColumn && i.push({ startColumn: r2, endColumn: e30.endColumn, startRow: 0, endRow: n }); + } else i.push(e30); + }), i; + } + function Vu3(e29) { + return Hu3(e29).map((e30) => { + let t = e30.startColumn === 0 ? e30.endColumn + 1 : e30.startColumn - 1; + return { ...e30, startColumn: t, endColumn: t }; + }); + } + function Hu3(e29) { + let t = [], n; + return e29.sort((e30, t2) => e30.startColumn - t2.startColumn).forEach((e30) => { + if (!n) { + n = e30; + return; + } + n.endColumn === e30.startColumn - 1 ? n.endColumn = e30.endColumn : (t.push(n), n = e30); + }), t.push(n), t; + } + var Uu3 = { id: `sheet.command.set-defined-name`, type: ri.COMMAND, handler: (e29, t) => { + var n, r; + let i = e29.get(ii), a = e29.get(td), o = e29.get(K4); + if (!t) return false; + let s = { ...t }, c = mr2(e29, t), l = o.onCommandExecute({ id: Uu3.id, params: t }), u = [...(n = l.preRedos) == null ? [] : n, { id: gr2.id, params: c }, { id: hr2.id, params: s }, ...l.redos], d = [...(r = l.preUndos) == null ? [] : r, { id: gr2.id, params: s }, { id: hr2.id, params: c }, ...l.undos]; + return li(u, i) ? (a.pushUndoRedo({ unitID: t.unitId, undoMutations: d.filter(Boolean), redoMutations: u.filter(Boolean) }), true) : false; + } }; + var Wu2 = (e29, t) => { + let n = e29.get(Mu).getUniverSheetInstance(t.unitId); + if (n == null) throw Error(`universheet is null error!`); + let r = n.getSheetBySheetId(t.subUnitId); + if (r == null) throw Error(`worksheet is null error!`); + let i = r.getConfig().freeze; + return { unitId: t.unitId, subUnitId: t.subUnitId, ...i }; + }; + var Gu3 = { id: `sheet.mutation.set-frozen`, type: ri.MUTATION, handler: (e29, t) => { + let n = e29.get(Mu).getUniverSheetInstance(t.unitId); + if (n == null) throw Error(`universheet is null error!`); + let r = n.getSheetBySheetId(t.subUnitId); + if (!r) return false; + let i = r.getConfig(), { startRow: a, startColumn: o, ySplit: s, xSplit: c } = t; + return i.freeze = { startRow: a, startColumn: o, ySplit: s, xSplit: c }, true; + } }; + var Ku3 = { type: ri.COMMAND, id: `sheet.command.set-frozen`, handler: (e29, t) => { + let n = e29.get(ii), r = e29.get(td), i = V4(e29.get(Mu), { unitId: t.unitId, subUnitId: t.subUnitId }); + if (!i) return false; + let { unitId: a, subUnitId: o, worksheet: s } = i, { startColumn: c, startRow: l, xSplit: u, ySplit: d } = t; + if (l >= s.getRowCount() || c >= s.getColumnCount() || u >= s.getColumnCount() || d >= s.getRowCount()) return false; + let f = { unitId: a, subUnitId: o, ...t }, p = Wu2(e29, f); + return n.syncExecuteCommand(Gu3.id, f) ? (r.pushUndoRedo({ unitID: a, undoMutations: [{ id: Gu3.id, params: p }], redoMutations: [{ id: Gu3.id, params: f }] }), true) : false; + } }; + var qu3 = { type: ri.COMMAND, id: `sheet.command.cancel-frozen`, handler: (e29, t) => { + let n = e29.get(ii), r = e29.get(Mu), i = e29.get(td), a = V4(r, { unitId: t == null ? void 0 : t.unitId, subUnitId: t == null ? void 0 : t.subUnitId }); + if (!a) return false; + let { unitId: o, subUnitId: s } = a, c = { unitId: o, subUnitId: s, startRow: -1, startColumn: -1, xSplit: 0, ySplit: 0 }, l = Wu2(e29, c); + return n.syncExecuteCommand(Gu3.id, c) && i.pushUndoRedo({ unitID: o, undoMutations: [{ id: Gu3.id, params: l }], redoMutations: [{ id: Gu3.id, params: c }] }), true; + } }; + var Ju3 = { type: ri.COMMAND, id: `sheet.command.set-gridlines-color`, handler: (e29, t) => { + let n = e29.get(ii), r = e29.get(td), i = V4(e29.get(Mu), t); + if (!i) return false; + let { worksheet: a } = i, o = a.getConfig().gridlinesColor; + if (o === (t == null ? void 0 : t.color)) return false; + let { unitId: s, subUnitId: c } = i, l = { color: t == null ? void 0 : t.color, unitId: s, subUnitId: c }, u = { color: o, unitId: s, subUnitId: c }; + return n.syncExecuteCommand(Gn3.id, l) ? (r.pushUndoRedo({ unitID: s, undoMutations: [{ id: Gn3.id, params: u }], redoMutations: [{ id: Gn3.id, params: l }] }), true) : false; + } }; + var Yu3 = { id: `sheet.mutation.set-range-protection`, type: ri.MUTATION, handler: (e29, t) => { + let { unitId: n, subUnitId: r, rule: i, ruleId: a } = t; + return e29.get(Ni2).setRule(n, r, a, i), true; + } }; + var Zu3 = { id: `sheet.mutation.set-worksheet-protection`, type: ri.MUTATION, handler: (e29, t) => { + let { unitId: n, subUnitId: r, rule: i } = t; + return e29.get(fc3).setRule(n, r, i), true; + } }; + var Qu3 = { type: ri.COMMAND, id: `sheet.command.set-protection`, async handler(e29, t) { + if (!t) return false; + let n = e29.get(ii), r = e29.get(td), i = e29.get(Ni2), { rule: a, oldRule: o } = t, { unitId: s, subUnitId: c } = a, l = [], u = []; + return (o == null ? void 0 : o.unitType) === a.unitType ? a.unitType === S.Worksheet ? (l.push({ id: Zu3.id, params: { unitId: s, subUnitId: c, rule: a } }), u.push({ id: Zu3.id, params: { unitId: s, subUnitId: c, rule: o } })) : (l.push({ id: Yu3.id, params: { unitId: s, subUnitId: c, rule: a, ruleId: a.id } }), u.push({ id: Yu3.id, params: { unitId: s, subUnitId: c, ruleId: o.id, rule: o } })) : (o && (o.unitType === S.Worksheet ? (l.push({ id: mc3.id, params: { unitId: s, subUnitId: c } }), u.push({ id: pc3.id, params: { unitId: s, rule: o, subUnitId: o.subUnitId } })) : o.unitType === S.SelectRange && (l.push({ id: Fi2.id, params: { unitId: s, subUnitId: c, ruleIds: [o.id] } }), u.push({ id: Li2.id, params: { unitId: s, subUnitId: c, rules: [o] } }))), a.unitType === S.Worksheet ? (l.push({ id: pc3.id, params: { unitId: s, rule: a, subUnitId: a.subUnitId } }), u.unshift({ id: mc3.id, params: { unitId: s, subUnitId: c } })) : a.unitType === S.SelectRange && (a.id = i.createRuleId(s, c), l.push({ id: Li2.id, params: { unitId: s, subUnitId: c, rules: [a] } }), u.unshift({ id: Fi2.id, params: { unitId: s, subUnitId: c, ruleIds: [a.id] } }))), li(l, n) && r.pushUndoRedo({ unitID: s, undoMutations: u, redoMutations: l }), true; + } }; + var $u2 = { id: `sheet.command.set-range-custom-metadata`, type: ri.COMMAND, handler: (e29, t) => { + let n = V4(e29.get(Mu), t); + if (!n) return false; + let r = e29.get(ii), { unitId: i, subUnitId: a } = n, { range: o, customMetadata: s } = t, { startRow: c, startColumn: l, endRow: u, endColumn: d } = o, f = D.isArray(s), p = new Sa(); + for (let e30 = c; e30 <= u; e30++) for (let t2 = l; t2 <= d; t2++) { + let n2 = f ? s[e30 - c][t2 - l] : s; + p.setValue(e30, t2, n2); + } + return r.syncExecuteCommand(J4.id, { unitId: i, subUnitId: a, cellValue: p.getMatrix() }); + } }; + var ed3 = { type: ri.COMMAND, id: `sheet.command.set-row-data`, handler: (e29, t) => { + let n = e29.get(ii), r = e29.get(td), i = V4(e29.get(Mu), t); + if (!i) return false; + let { rowData: a } = t, { unitId: o, subUnitId: s, worksheet: c } = i, l = { subUnitId: s, unitId: o, rowData: a }, u = br3(l, c); + return n.syncExecuteCommand(xr3.id, l) ? (r.pushUndoRedo({ unitID: o, undoMutations: [{ id: xr3.id, params: u }], redoMutations: [{ id: xr3.id, params: l }] }), true) : false; + } }; + var td3 = { type: ri.COMMAND, id: `sheet.command.set-specific-rows-visible`, handler: (e29, t) => { + let { unitId: n, subUnitId: r, ranges: i } = t, a = e29.get(ii), o = e29.get(td), s = e29.get(K4), c = V4(e29.get(Mu), { unitId: n, subUnitId: r }); + if (!c) return false; + let { worksheet: l } = c, u = { unitId: n, subUnitId: r, ranges: i }, d = { unitId: n, subUnitId: r, reveal: true, selections: i.map((e30) => ({ range: e30, primary: Yi2(e30, l), style: null })) }, f = Sr3(e29, u), p = { unitId: n, subUnitId: r, selections: ad3(i).map((e30) => ({ range: e30, primary: Yi2(e30, l), style: null })) }, m = li([{ id: Cr3.id, params: u }, { id: X4.id, params: d }], a), h = s.onCommandExecute({ id: td3.id, params: t }), g2 = li([...h.redos], a); + if (m.result && g2.result) { + var _2, v, y; + let e30 = s.afterCommandExecute({ id: td3.id, params: t }); + return li(e30.redos, a), o.pushUndoRedo({ unitID: n, undoMutations: [...(_2 = h.preUndos) == null ? [] : _2, { id: Tr3.id, params: f }, { id: X4.id, params: p }, ...(v = h.undos) == null ? [] : v, ...e30.undos], redoMutations: [...(y = h.preRedos) == null ? [] : y, { id: Cr3.id, params: u }, { id: X4.id, params: d }, ...h.redos, ...e30.redos] }), true; + } + return true; + } }; + var nd3 = { type: ri.COMMAND, id: `sheet.command.set-selected-rows-visible`, handler: async (e29) => { + var t; + let n = e29.get(Y4), r = e29.get(Mu), i = e29.get(ii), a = (t = n.getCurrentSelections()) == null ? void 0 : t.map((e30) => e30.range).filter((e30) => e30.rangeType === B.ROW); + if (!(a != null && a.length)) return false; + let o = V4(r); + if (!o) return false; + let { worksheet: s, unitId: c, subUnitId: l } = o, u = a.map((e30) => s.getHiddenRows(e30.startRow, e30.endRow)).flat(); + return i.executeCommand(td3.id, { unitId: c, subUnitId: l, ranges: u }); + } }; + var rd3 = { type: ri.COMMAND, id: `sheet.command.set-rows-hidden`, handler: (e29, t) => { + var n, r, i; + let a = e29.get(Y4), o = e29.get(ii), s = e29.get(td), c = e29.get(Mu), l = e29.get(K4), u = !(t == null || (n = t.ranges) == null) && n.length ? t.ranges : (r = a.getCurrentSelections()) == null ? void 0 : r.map((e30) => e30.range).filter((e30) => e30.rangeType === B.ROW); + if (!(u != null && u.length)) return false; + let d = V4(c, t); + if (!d) return false; + u = id3(d.worksheet, u); + let { unitId: f, subUnitId: p, worksheet: m } = d, h = { unitId: f, subUnitId: p, ranges: u }, g2 = { unitId: f, subUnitId: p, selections: ad3(u).map((e30) => ({ range: e30, primary: Yi2(e30, m), style: null })) }, _2 = wr3(e29, h), v = { unitId: f, subUnitId: p, reveal: true, selections: u.map((e30) => ({ range: e30, primary: Yi2(e30, m), style: null })) }, y = l.onCommandExecute({ id: rd3.id, params: h }); + if (li([...(i = y.preRedos) == null ? [] : i, { id: Tr3.id, params: h }, { id: X4.id, params: g2 }, ...y.redos], o).result) { + var b, x2, S4; + let e30 = l.afterCommandExecute({ id: rd3.id, params: h }); + return li(e30.redos, o), s.pushUndoRedo({ unitID: f, undoMutations: [...(b = y.preUndos) == null ? [] : b, { id: Cr3.id, params: _2 }, { id: X4.id, params: v }, ...(x2 = y.undos) == null ? [] : x2, ...e30.undos], redoMutations: [...(S4 = y.preRedos) == null ? [] : S4, { id: Tr3.id, params: h }, { id: X4.id, params: g2 }, ...y.redos, ...e30.redos] }), true; + } + return true; + } }; + function id3(e29, t) { + let n = e29.getMaxColumns() - 1, r = e29.getHiddenRows(), i = []; + return t.forEach((e30) => { + let t2 = r.filter((t3) => t3.startRow >= e30.startRow && t3.endRow <= e30.endRow); + if (t2.length) { + let r2 = e30.startRow; + t2.forEach((e31) => { + e31.startRow > r2 && (i.push({ startRow: r2, endRow: e31.startRow - 1, startColumn: 0, endColumn: n }), r2 = e31.endRow + 1); + }), r2 <= e30.endRow && i.push({ startRow: r2, endRow: e30.endRow, startColumn: 0, endColumn: n }); + } else i.push(e30); + }), i; + } + function ad3(e29) { + return od3(e29).map((e30) => { + let t = e30.startRow === 0 ? e30.endRow + 1 : e30.startRow - 1; + return { ...e30, startRow: t, endRow: t }; + }); + } + function od3(e29) { + let t = [], n; + return e29.sort((e30, t2) => e30.startRow - t2.startRow).forEach((e30) => { + if (!n) { + n = e30; + return; + } + e30.startRow === n.endRow + 1 ? n.endRow = e30.endRow : (t.push(n), n = e30); + }), t.push(n), t; + } + var sd3 = (e29, t) => { + let n = e29.get(Mu).getUniverSheetInstance(t.unitId).getSheetBySheetId(t.subUnitId).getConfig().tabColor; + return { ...D.deepClone(t), color: n }; + }; + var cd3 = { id: `sheet.mutation.set-tab-color`, type: ri.MUTATION, handler: (e29, t) => { + let n = e29.get(Mu).getUniverSheetInstance(t.unitId); + if (!n) return false; + let r = n.getSheetBySheetId(t.subUnitId); + return r ? (r.getConfig().tabColor = t.color, true) : false; + } }; + var ld2 = { type: ri.COMMAND, id: `sheet.command.set-tab-color`, handler: (e29, t) => { + let n = e29.get(ii), r = e29.get(td), i = V4(e29.get(Mu), t); + if (!i) return false; + let { unitId: a, subUnitId: o } = i, s = { color: t.value, unitId: a, subUnitId: o }, c = sd3(e29, s); + return n.syncExecuteCommand(cd3.id, s) ? (r.pushUndoRedo({ unitID: a, undoMutations: [{ id: cd3.id, params: c }], redoMutations: [{ id: cd3.id, params: s }] }), true) : false; + } }; + var ud2 = { id: `sheet.mutation.set-workbook-name`, type: ri.MUTATION, handler: (e29, t) => { + let n = e29.get(Mu).getUnit(t.unitId, O.UNIVER_SHEET); + return n ? (n.setName(t.name), true) : false; + } }; + var dd3 = { type: ri.COMMAND, id: `sheet.command.set-workbook-name`, handler: (e29, t) => { + var n; + let r = e29.get(ii), i = e29.get(K4); + if (!Lt2(e29.get(Mu), t)) return false; + let a = i.onCommandExecute({ id: dd3.id, params: t }), o = { name: t.name, unitId: t.unitId }; + return li([...(n = a.preRedos) == null ? [] : n, { id: ud2.id, params: o }, ...a.redos], r).result; + } }; + var fd2 = { type: ri.COMMAND, id: `sheet.command.set-worksheet-activate`, handler: (e29, t, n) => { + let r = e29.get(ii), i = V4(e29.get(Mu), t); + if (!i) return false; + let { unitId: a, subUnitId: o } = i; + return new Promise((e30) => { + setTimeout(() => { + e30(r.syncExecuteCommand(Vr3.id, { unitId: a, subUnitId: o }, n)); + }, 4); + }); + } }; + var pd2 = { type: ri.COMMAND, id: `sheet.command.delta-column-width`, handler: async (e29, t) => { + let n = e29.get(Y4).getCurrentSelections(); + if (!(n != null && n.length)) return false; + let r = e29.get(ii), i = e29.get(td), a = V4(e29.get(Mu)); + if (!a) return false; + let { worksheet: o, unitId: s, subUnitId: c } = a, { anchorCol: l, deltaX: u } = t, d = o.getColumnWidth(l) + u, f = n.length === 1 && n[0].range.rangeType === B.ALL, p = n.filter((e30) => e30.range.rangeType === B.COLUMN), m = f ? B.ALL : p.some(({ range: e30 }) => { + let { startColumn: t2, endColumn: n2 } = e30; + return t2 <= l && l <= n2; + }) ? B.COLUMN : B.NORMAL, h; + if (m === B.ALL) { + let e30 = o.getRowCount(); + h = { subUnitId: c, unitId: s, colWidth: d, ranges: Array(o.getColumnCount()).fill(void 0).map((t2, n2) => ({ startRow: 0, endRow: e30 - 1, startColumn: n2, endColumn: n2 })) }; + } else h = m === B.COLUMN ? { subUnitId: c, unitId: s, ranges: p.map((e30) => G.clone(e30.range)), colWidth: d } : { subUnitId: c, unitId: s, colWidth: d, ranges: [{ startRow: 0, endRow: o.getMaxRows() - 1, startColumn: l, endColumn: l }] }; + let g2 = e29.get(Ko2).getSkeleton(s, c), { suitableRanges: _2, remainingRanges: v } = Jo3(h.ranges, g2); + qo2(_2, o); + let y = e29.get(K4), { undos: b, redos: x2 } = y.onCommandExecute({ id: pd2.id, params: h }), S4 = Er3(h, o), w2 = r.syncExecuteCommand(Dr3.id, h), { undos: T4, redos: E4 } = y.generateMutationsOfAutoHeight({ unitId: s, subUnitId: c, ranges: _2, autoHeightRanges: _2, lazyAutoHeightRanges: v }), { undos: ee, redos: D4 } = e29.get(K4).afterCommandExecute({ id: pd2.id, params: h }), te = li([...x2, ...D4, ...E4], r); + return w2 && te.result && i.pushUndoRedo({ unitID: s, undoMutations: [{ id: Dr3.id, params: S4 }, ...b, ...ee, ...T4], redoMutations: [{ id: Dr3.id, params: h }, ...x2, ...D4, ...E4] }), true; + } }; + var md3 = { type: ri.COMMAND, id: `sheet.command.set-worksheet-col-width`, handler: (e29, t) => { + var n, r; + let i = e29.get(Y4), a = e29.get(ii), o = e29.get(td), s = e29.get(K4), c = !(t == null || (n = t.ranges) == null) && n.length ? t.ranges : (r = i.getCurrentSelections()) == null ? void 0 : r.map((e30) => e30.range); + if (!(c != null && c.length)) return false; + let l = V4(e29.get(Mu), t); + if (!l) return false; + let { subUnitId: u, unitId: d, worksheet: f } = l, p = e29.get(Ko2).getSkeleton(d, u), m = { subUnitId: u, unitId: d, ranges: c, colWidth: t.value }, { suitableRanges: h, remainingRanges: g2 } = Jo3(m.ranges, p); + qo2(h, f); + let _2 = Er3(m, f), v = a.syncExecuteCommand(Dr3.id, m), { undos: y, redos: b } = s.generateMutationsOfAutoHeight({ unitId: d, subUnitId: u, ranges: h, autoHeightRanges: h, lazyAutoHeightRanges: g2 }), x2 = s.onCommandExecute({ id: md3.id, params: m }), S4 = li([...x2.redos, ...b], a); + if (v && S4.result) { + var w2, T4; + let e30 = s.afterCommandExecute({ id: md3.id, params: m }); + return li(e30.redos, a), o.pushUndoRedo({ unitID: d, undoMutations: [...(w2 = x2.preUndos) == null ? [] : w2, { id: Dr3.id, params: _2 }, ...x2.undos, ...e30.undos, ...y], redoMutations: [...(T4 = x2.preRedos) == null ? [] : T4, { id: Dr3.id, params: m }, ...x2.redos, ...e30.redos, ...b] }), true; + } + return false; + } }; + var hd3 = { type: ri.COMMAND, id: `sheet.command.set-col-is-auto-width`, handler: async (e29, t) => { + let n = e29.get(ii), r = e29.get(td), i = e29.get(Y4), a = V4(e29.get(Mu), t); + if (!a) return false; + let { unitId: o, subUnitId: s } = a, c = []; + if (t != null && t.ranges) c = [...t.ranges]; + else { + let e30 = i.getCurrentSelections(); + for (let t2 = 0; t2 < e30.length; t2++) c.push(e30[t2].range); + } + if (!(c != null && c.length)) return false; + let l = { unitId: o, subUnitId: s, ranges: c }, { undos: u, redos: d } = e29.get(K4).onCommandExecute({ id: hd3.id, params: l }); + return li([...d], n).result ? (r.pushUndoRedo({ unitID: o, undoMutations: [...u], redoMutations: [...d] }), true) : false; + } }; + var gd3 = { type: ri.COMMAND, id: `sheet.command.set-worksheet-column-count`, handler: (e29, t) => { + let { unitId: n, subUnitId: r, columnCount: i } = t, a = e29.get(ii), o = e29.get(td); + if (!V4(e29.get(Mu), t)) return false; + let s = { unitId: n, subUnitId: r, columnCount: i }, c = Or3(e29, s); + return a.syncExecuteCommand(kr3.id, s) ? (o.pushUndoRedo({ unitID: n, undoMutations: [{ id: kr3.id, params: c }], redoMutations: [{ id: kr3.id, params: s }] }), true) : false; + } }; + var _d2 = { type: ri.COMMAND, id: `sheet.command.set-worksheet-default-style`, handler: (e29, t) => { + let n = e29.get(ii), r = e29.get(td), { unitId: i } = t, a = jr3(e29, t); + return n.syncExecuteCommand(Ar3.id, t) ? (r.pushUndoRedo({ unitID: i, undoMutations: [{ id: Ar3.id, params: a }], redoMutations: [{ id: Ar3.id, params: t }] }), true) : false; + } }; + var vd3 = (e29, t) => { + let n = Rt2(e29.get(Mu), t); + if (!n) throw Error(`[SetWorksheetHideMutationFactory]: worksheet is null error!`); + let { worksheet: r } = n; + return { hidden: r.isSheetHidden(), unitId: t.unitId, subUnitId: r.getSheetId() }; + }; + var yd3 = { id: `sheet.mutation.set-worksheet-hidden`, type: ri.MUTATION, handler: (e29, t) => { + let n = e29.get(Mu).getUniverSheetInstance(t.unitId); + if (n == null) return false; + let r = n.getSheetBySheetId(t.subUnitId); + return r ? (r.getConfig().hidden = t.hidden, true) : false; + } }; + var bd3 = { type: ri.COMMAND, id: `sheet.command.set-worksheet-hidden`, handler: (e29, t) => { + let n = e29.get(ii), i = e29.get(td), a = e29.get(Pl), o = e29.get(zu), s = V4(e29.get(Mu), t); + if (!s) return false; + let { workbook: c, worksheet: l, unitId: u, subUnitId: d } = s; + if (l.getConfig().hidden === A.TRUE) return false; + let f = { unitId: u, subUnitId: d, hidden: A.TRUE }, p = vd3(e29, f); + return c.getSheets().filter((e30) => e30.getConfig().hidden === A.FALSE).length === 1 ? (a.emit(o.t(`sheets.info.hideSheet`)), false) : n.syncExecuteCommand(yd3.id, f) ? (i.pushUndoRedo({ unitID: u, undoMutations: [{ id: yd3.id, params: p }], redoMutations: [{ id: yd3.id, params: f }] }), true) : false; + } }; + var xd2 = (e29, t) => { + let n = Rt2(e29.get(Mu), t); + if (!n) throw Error(`[SetWorksheetNameMutationFactory]: worksheet is null error!`); + let { worksheet: r } = n; + return { unitId: t.unitId, name: r.getName(), subUnitId: r.getSheetId() }; + }; + var Sd3 = { id: `sheet.mutation.set-worksheet-name`, type: ri.MUTATION, handler: (e29, t) => { + let n = e29.get(Mu).getUniverSheetInstance(t.unitId); + if (n == null) return false; + let r = n.getSheetBySheetId(t.subUnitId); + return r ? (r.getConfig().name = t.name, true) : false; + } }; + var Cd3 = { type: ri.COMMAND, id: `sheet.command.set-worksheet-name`, handler: (e29, t) => { + var n, r; + let i = e29.get(ii), a = e29.get(td), o = e29.get(K4), s = V4(e29.get(Mu), t); + if (!s) return false; + let { unitId: c, subUnitId: l } = s, u = { subUnitId: l, name: t.name, unitId: c }, d = xd2(e29, u), f = o.onCommandExecute({ id: Cd3.id, params: t }), p = [...(n = f.preRedos) == null ? [] : n, { id: Sd3.id, params: u }, ...f.redos], m = [...(r = f.preUndos) == null ? [] : r, { id: Sd3.id, params: d }, ...f.undos]; + return li(p, i).result ? (a.pushUndoRedo({ unitID: c, undoMutations: m, redoMutations: p }), true) : false; + } }; + var wd3 = (e29, t) => ({ ...D.deepClone(t), toOrder: t.fromOrder, fromOrder: t.toOrder }); + var Td3 = { id: `sheet.mutation.set-worksheet-order`, type: ri.MUTATION, handler: (e29, t) => { + let n = e29.get(Mu).getUniverSheetInstance(t.unitId); + if (!n) return false; + let r = n.getConfig(); + return r.sheetOrder.splice(t.fromOrder, 1), r.sheetOrder.splice(t.toOrder, 0, t.subUnitId), n.ensureSheetOrderUnique(), true; + } }; + var Ed3 = { type: ri.COMMAND, id: `sheet.command.set-worksheet-order`, handler: (e29, t) => { + let n = e29.get(ii), r = e29.get(td), i = V4(e29.get(Mu), t); + if (!i) return false; + let { workbook: a, unitId: o, subUnitId: s } = i, c = { fromOrder: a.getConfig().sheetOrder.indexOf(s), toOrder: t.order, unitId: o, subUnitId: s }, l = wd3(e29, c); + return n.syncExecuteCommand(Td3.id, c) ? (r.pushUndoRedo({ unitID: o, undoMutations: [{ id: Td3.id, params: l }], redoMutations: [{ id: Td3.id, params: c }] }), true) : false; + } }; + var Dd3 = class { + constructor() { + U4(this, `_model`, /* @__PURE__ */ new Map()), U4(this, `_pointChange`, new Subject()), U4(this, `pointChange$`, this._pointChange.asObservable()); + } + addRule(e29) { + this._ensureSubUnitMap(e29.unitId).set(e29.subUnitId, e29), this._pointChange.next(e29); + } + deleteRule(e29, t) { + var n; + let r = (n = this._model.get(e29)) == null ? void 0 : n.get(t); + if (r) { + var i; + (i = this._model) == null || (i = i.get(e29)) == null || i.delete(t), this._pointChange.next(r); + } + } + getRule(e29, t) { + var n; + return (n = this._model) == null || (n = n.get(e29)) == null ? void 0 : n.get(t); + } + toObject() { + let e29 = {}; + return [...this._model.keys()].forEach((t) => { + let n = this._model.get(t); + n != null && n.size && (e29[t] = [], [...n.keys()].forEach((r) => { + let i = n.get(r); + i && e29[t].push(i); + })); + }), e29; + } + fromObject(e29) { + let t = /* @__PURE__ */ new Map(); + Object.keys(e29).forEach((n) => { + let r = e29[n]; + if (r != null && r.length) { + let e30 = /* @__PURE__ */ new Map(); + r.forEach((t2) => { + e30.set(t2.subUnitId, t2); + }), t.set(n, e30); + } + }), this._model = t; + } + deleteUnitModel(e29) { + this._model.delete(e29); + } + _ensureSubUnitMap(e29) { + let t = this._model.get(e29); + return t || (t = /* @__PURE__ */ new Map(), this._model.set(e29, t)), t; + } + getTargetByPermissionId(e29, t) { + let n = this._model.get(e29); + if (!n) return null; + for (let [r, i] of n) if (i.permissionId === t) return [e29, r]; + } + }; + var Od3 = class { + constructor(e29, t, n) { + U4(this, `type`, S.SelectRange), U4(this, `subType`, R.Delete), U4(this, `status`, Hu.INIT), U4(this, `value`, true), U4(this, `id`, void 0), U4(this, `unitId`, void 0), U4(this, `subUnitId`, void 0), U4(this, `permissionId`, void 0), this.unitId = e29, this.subUnitId = t, this.permissionId = n, this.id = `${S.SelectRange}.${R.Delete}.${n}`; + } + }; + var kd2 = class { + constructor(e29, t, n) { + U4(this, `type`, S.SelectRange), U4(this, `subType`, R.ManageCollaborator), U4(this, `status`, Hu.INIT), U4(this, `value`, true), U4(this, `id`, void 0), U4(this, `unitId`, void 0), U4(this, `subUnitId`, void 0), U4(this, `permissionId`, void 0), this.unitId = e29, this.subUnitId = t, this.permissionId = n, this.id = `${S.SelectRange}.${R.ManageCollaborator}.${n}`; + } + }; + var Ad2 = () => [fa3, da3, kd2, Od3]; + var jd2 = [R.Edit, R.View, R.ManageCollaborator, R.Delete]; + var Nd2 = () => [Sa3, Aa3, pa3, Pa2, ma2, Ca2, Oa2, _a3, ba3, Ma2, wa2, xa3, Na2, ka3, ha2, Fa3, ja2, ga3, Da3, Ea3, ya3, va3]; + var Pd2 = [R.Edit, R.Print, R.Comment, R.View, R.Copy, R.Export, R.ManageCollaborator, R.CreateSheet, R.DeleteSheet, R.RenameSheet, R.HideSheet, R.Duplicate, R.Share, R.MoveSheet, R.CopySheet, R.RecoverHistory, R.ViewHistory, R.CreatePermissionObject, R.InsertRow, R.InsertColumn, R.DeleteRow, R.DeleteColumn]; + var Fd2 = () => [Ba3, to3, Ka3, Ra2]; + var Id2 = () => [Ia3, La2, za3, Va2, Ha3, Ua2, Ga2, Wa2, qa3, Xa2, Za3, Qa2, $a3, eo3]; + var Ld2 = [R.Copy, R.DeleteColumn, R.DeleteRow, R.EditExtraObject, R.Filter, R.InsertColumn, R.InsertRow, R.InsertHyperlink, R.PivotTable, R.SetCellStyle, R.SetCellValue, R.SetColumnStyle, R.SetRowStyle, R.Sort]; + var Rd2 = class extends dn { + constructor(e29, t, n, r, i, a, o, s) { + super(), this._permissionService = e29, this._univerInstanceService = t, this._injector = n, this._worksheetProtectionRuleModel = r, this._worksheetProtectionPointRuleModel = i, this._resourceManagerService = a, this._rangeProtectionRuleModel = o, this._logService = s, this._init(), this._initRuleChange(), this._initRuleSnapshot(), this._initPointSnapshot(); + } + _init() { + let e29 = (e30) => { + let t = e30.getUnitId(), n = (e31) => { + let n2 = e31.getSheetId(); + [...Fd2(), ...Id2()].forEach((e32) => { + let r = new e32(t, n2); + this._permissionService.addPermissionPoint(r); + }), this._logService.debug(`[WorksheetPermissionService]`, `Initialization completed`, t, n2); + }; + e30.getSheets().forEach((e31) => { + n(e31); + }), e30.sheetCreated$.subscribe((e31) => { + n(e31); + }), e30.sheetDisposed$.subscribe((e31) => { + let n2 = e31.getSheetId(); + this._rangeProtectionRuleModel.getSubunitRuleList(t, n2).forEach((e32) => { + [...Ad2()].forEach((r) => { + let i = new r(t, n2, e32.permissionId); + this._permissionService.deletePermissionPoint(i.id); + }); + }), [...Fd2(), ...Id2()].forEach((e32) => { + let r = new e32(t, n2); + this._permissionService.deletePermissionPoint(r.id); + }); + }); + }; + this._univerInstanceService.getAllUnitsForType(O.UNIVER_SHEET).forEach((t) => { + e29(t); + }), this._univerInstanceService.getTypeOfUnitAdded$(O.UNIVER_SHEET).pipe(takeUntil(this.dispose$)).subscribe(e29), this._univerInstanceService.getTypeOfUnitDisposed$(O.UNIVER_SHEET).pipe(takeUntil(this.dispose$)).subscribe((e30) => { + e30.getSheets().forEach((t) => { + let n = e30.getUnitId(), r = t.getSheetId(); + Fd2().forEach((e31) => { + let t2 = new e31(n, r); + this._permissionService.deletePermissionPoint(t2.id); + }); + }); + }); + } + _initRuleChange() { + this.disposeWithMe(this._worksheetProtectionRuleModel.ruleChange$.subscribe((e29) => { + switch (e29.type) { + case `add`: + break; + case `delete`: + Fd2().forEach((t) => { + let n = new t(e29.unitId, e29.subUnitId); + this._permissionService.updatePermissionPoint(n.id, true); + }); + break; + case `set`: + Fd2().forEach((t) => { + let n = new t(e29.unitId, e29.subUnitId); + this._permissionService.updatePermissionPoint(n.id, e29.rule); + }); + break; + } + })); + } + _initRuleSnapshot() { + this.disposeWithMe(this._resourceManagerService.registerPluginResource({ toJson: () => { + let e29 = this._worksheetProtectionRuleModel.toObject(); + return JSON.stringify(e29); + }, parseJson: (e29) => { + if (!e29) return {}; + try { + return JSON.parse(e29); + } catch { + return {}; + } + }, pluginName: `SHEET_WORKSHEET_PROTECTION_PLUGIN`, businesses: [O.UNIVER_SHEET], onLoad: (e29, t) => { + this._worksheetProtectionRuleModel.fromObject(t), Object.keys(t).forEach((t2) => { + Fd2().forEach((n) => { + let r = new n(e29, t2); + r.value = false, this._permissionService.addPermissionPoint(r); + }); + }), this._worksheetProtectionRuleModel.changeRuleInitState(true); + }, onUnLoad: (e29) => { + let t = this._univerInstanceService.getUnit(e29); + t && (t.getSheets().forEach((t2) => { + let n = t2.getSheetId(); + [...Fd2(), ...Id2()].forEach((t3) => { + let r = new t3(e29, n); + this._permissionService.deletePermissionPoint(r.id); + }); + }), Nd2().forEach((t2) => { + let n = new t2(e29); + this._permissionService.deletePermissionPoint(n.id); + })), this._worksheetProtectionRuleModel.deleteUnitModel(e29); + } })); + } + _initPointSnapshot() { + this.disposeWithMe(this._resourceManagerService.registerPluginResource({ toJson: () => { + let e29 = this._worksheetProtectionPointRuleModel.toObject(); + return JSON.stringify(e29); + }, parseJson: (e29) => { + if (!e29) return {}; + try { + return JSON.parse(e29); + } catch { + return {}; + } + }, pluginName: `SHEET_WORKSHEET_PROTECTION_POINT_PLUGIN`, businesses: [O.UNIVER_SHEET], onLoad: (e29, t) => { + this._worksheetProtectionPointRuleModel.fromObject(t), Object.keys(t).forEach((t2) => { + Id2().forEach((n) => { + let r = new n(e29, t2); + this._permissionService.addPermissionPoint(r); + }); + }); + }, onUnLoad: (e29) => { + this._worksheetProtectionPointRuleModel.deleteUnitModel(e29); + } })); + } + }; + Rd2 = G4([W4(0, Inject(Uu)), W4(1, Inject(Mu)), W4(2, Inject(Injector)), W4(3, Inject(fc3)), W4(4, Inject(Dd3)), W4(5, Inject(ll)), W4(6, Inject(Ni2)), W4(7, Inject(L))], Rd2); + var zd2 = { id: `sheet.mutation.set-worksheet-permission-points`, type: ri.MUTATION, handler: (e29, t) => { + let { rule: n } = t; + return e29.get(Dd3).addRule(n), true; + } }; + var Bd2 = { type: ri.COMMAND, id: `sheet.command.set-worksheet-permission-points`, async handler(e29, t) { + if (!t) return false; + let n = e29.get(ii), { rule: r } = t; + return n.executeCommand(zd2.id, { rule: r, unitId: r.unitId, subUnitId: r.subUnitId }), true; + } }; + var Vd2 = { type: ri.COMMAND, id: `sheet.command.set-worksheet-protection`, async handler(e29, t) { + if (!t) return false; + let n = e29.get(ii), r = e29.get(td), { rule: i, permissionId: a, oldRule: o } = t, { unitId: s, subUnitId: c } = i, l = { ...i, permissionId: a }; + if (await n.executeCommand(Zu3.id, { unitId: s, subUnitId: c, newRule: l })) { + let e30 = [{ id: Zu3.id, params: { unitId: s, subUnitId: c, newRule: l } }], t2 = [{ id: Zu3.id, params: { unitId: s, subUnitId: c, rule: o } }]; + r.pushUndoRedo({ unitID: s, redoMutations: e30, undoMutations: t2 }); + } + return true; + } }; + var Hd2 = (e29, t) => { + let n = e29.get(Mu).getUniverSheetInstance(t.unitId).getSheetBySheetId(t.subUnitId).getConfig().rightToLeft; + return { ...D.deepClone(t), rightToLeft: n }; + }; + var Ud2 = { id: `sheet.mutation.set-worksheet-right-to-left`, type: ri.MUTATION, handler: (e29, t) => { + let n = e29.get(Mu).getUniverSheetInstance(t.unitId); + if (!n) return false; + let r = n.getSheetBySheetId(t.subUnitId); + if (!r) return false; + let i = r.getConfig(); + return i.rightToLeft = t.rightToLeft, true; + } }; + var Wd2 = { type: ri.COMMAND, id: `sheet.command.set-worksheet-right-to-left`, handler: async (e29, t) => { + let n = e29.get(ii), i = e29.get(td), a = V4(e29.get(Mu), t); + if (!a) return false; + let { unitId: o, subUnitId: s } = a, c = A.FALSE; + if (t) { + var l; + c = (l = t.rightToLeft) == null ? A.FALSE : l; + } + let u = { rightToLeft: c, unitId: o, subUnitId: s }, d = Hd2(e29, u); + return n.syncExecuteCommand(Ud2.id, u) ? (i.pushUndoRedo({ unitID: o, undoMutations: [{ id: Ud2.id, params: d }], redoMutations: [{ id: Ud2.id, params: u }] }), true) : false; + } }; + var Gd2 = { type: ri.COMMAND, id: `sheet.command.set-worksheet-row-count`, handler: (e29, t) => { + let { unitId: n, subUnitId: r, rowCount: i } = t, a = e29.get(ii), o = e29.get(td); + if (!V4(e29.get(Mu), t)) return false; + let s = { unitId: n, subUnitId: r, rowCount: i }, c = Mr3(e29, s); + return a.syncExecuteCommand(Nr3.id, s) ? (o.pushUndoRedo({ unitID: n, undoMutations: [{ id: Nr3.id, params: c }], redoMutations: [{ id: Nr3.id, params: s }] }), true) : false; + } }; + var Kd2 = { type: ri.COMMAND, id: `sheet.command.delta-row-height`, handler: async (e29, t) => { + let n = e29.get(Y4).getCurrentSelections(), i = e29.get(K4); + if (!(n != null && n.length)) return false; + let a = V4(e29.get(Mu)); + if (!a) return false; + let { worksheet: o, subUnitId: s, unitId: c } = a, { anchorRow: l, deltaY: u } = t, d = o.getRowHeight(l) + u, f = n.length === 1 && n[0].range.rangeType === B.ALL, p = n.filter((e30) => e30.range.rangeType === B.ROW), m = f ? B.ALL : p.some(({ range: e30 }) => { + let { startRow: t2, endRow: n2 } = e30; + return t2 <= l && l <= n2; + }) ? B.ROW : B.NORMAL, h; + if (m === B.ALL) { + let e30 = o.getColumnCount(); + h = { subUnitId: s, unitId: c, rowHeight: d, ranges: Array(o.getRowCount()).fill(void 0).map((t2, n2) => ({ startRow: n2, endRow: n2, startColumn: 0, endColumn: e30 - 1 })) }; + } else h = m === B.ROW ? { subUnitId: s, unitId: c, ranges: p.map((e30) => G.clone(e30.range)), rowHeight: d } : { subUnitId: s, unitId: c, rowHeight: d, ranges: [{ startRow: l, endRow: l, startColumn: 0, endColumn: o.getMaxColumns() - 1 }] }; + let g2 = Pr3(h, o), _2 = { unitId: c, subUnitId: s, ranges: h.ranges, autoHeightInfo: A.FALSE }, v = Fr3(_2, o), y = e29.get(ii), b = e29.get(td), x2 = i.onCommandExecute({ id: Kd2.id, params: h }), S4 = li([{ id: Lr3.id, params: h }, { id: Rr3.id, params: _2 }], y), w2 = li([...x2.redos], y); + if (S4.result && w2.result) { + var T4, E4; + let e30 = i.afterCommandExecute({ id: Kd2.id, params: h }); + return li(e30.redos, y), b.pushUndoRedo({ unitID: c, undoMutations: [...(T4 = x2.preUndos) == null ? [] : T4, { id: Lr3.id, params: g2 }, { id: Rr3.id, params: v }, ...x2.undos, ...e30.undos], redoMutations: [...(E4 = x2.preRedos) == null ? [] : E4, { id: Lr3.id, params: h }, { id: Rr3.id, params: _2 }, ...x2.redos, ...e30.redos] }), true; + } + return false; + } }; + var qd2 = { type: ri.COMMAND, id: `sheet.command.set-row-height`, handler: (e29, t) => { + var n, i; + let a = e29.get(Y4), o = e29.get(ii), s = e29.get(td), c = e29.get(Mu), l = e29.get(K4), u = !(t == null || (n = t.ranges) == null) && n.length ? t.ranges : (i = a.getCurrentSelections()) == null ? void 0 : i.map((e30) => e30.range); + if (!(u != null && u.length)) return false; + let d = V4(c, t); + if (!d) return false; + let { unitId: f, subUnitId: p, worksheet: m } = d, h = { subUnitId: p, unitId: f, ranges: u, rowHeight: t.value }, g2 = Pr3(h, m), _2 = { unitId: f, subUnitId: p, ranges: h.ranges, autoHeightInfo: A.FALSE }, v = Fr3(_2, m), y = li([{ id: Lr3.id, params: h }, { id: Rr3.id, params: _2 }], o), b = l.onCommandExecute({ id: qd2.id, params: h }), x2 = li([...b.redos], o); + if (y.result && x2.result) { + var S4, w2; + let e30 = l.afterCommandExecute({ id: qd2.id, params: h }); + return li(e30.redos, o), s.pushUndoRedo({ unitID: f, undoMutations: [...(S4 = b.preRedos) == null ? [] : S4, { id: Lr3.id, params: g2 }, { id: Rr3.id, params: v }, ...b.undos, ...e30.undos], redoMutations: [...(w2 = b.preRedos) == null ? [] : w2, { id: Lr3.id, params: h }, { id: Rr3.id, params: _2 }, ...b.redos, ...e30.redos] }), true; + } + return false; + } }; + var Jd2 = { type: ri.COMMAND, id: `sheet.command.set-row-is-auto-height`, handler: (e29, t) => { + var n, i; + let a = e29.get(ii), o = e29.get(td), s = e29.get(Y4), c = V4(e29.get(Mu), t); + if (!c) return false; + let { unitId: l, subUnitId: u, worksheet: d } = c, f = !(t == null || (n = t.ranges) == null) && n.length ? t.ranges : (i = s.getCurrentSelections()) == null ? void 0 : i.map((e30) => e30.range); + if (!(f != null && f.length)) return false; + let p = { unitId: l, subUnitId: u, ranges: f, autoHeightInfo: A.TRUE }, m = Fr3(p, d), h = a.syncExecuteCommand(Rr3.id, p), g2 = e29.get(Ko2).getSkeleton(l, u), { suitableRanges: _2, remainingRanges: v } = Jo3(p.ranges, g2), y = e29.get(K4), { undos: b, redos: x2 } = y.generateMutationsOfAutoHeight({ unitId: l, subUnitId: u, ranges: _2, autoHeightRanges: _2, lazyAutoHeightRanges: v }), { undos: S4, redos: w2 } = y.onCommandExecute({ id: Jd2.id, params: p }), T4 = li([...w2, ...x2], a); + return h && T4.result ? (o.pushUndoRedo({ unitID: l, undoMutations: [{ id: Rr3.id, params: m }, ...S4, ...b], redoMutations: [{ id: Rr3.id, params: p }, ...w2, ...x2] }), true) : false; + } }; + var Yd2 = { type: ri.COMMAND, id: `sheet.command.set-worksheet-show`, handler: (e29, t) => { + let n = V4(e29.get(Mu), t); + if (!n) return false; + let { unitId: i, subUnitId: a, worksheet: o } = n; + if (o.getConfig().hidden === A.FALSE) return false; + let s = e29.get(ii), c = e29.get(td), l = { unitId: i, subUnitId: a, hidden: A.FALSE }, u = vd3(e29, l), d = s.syncExecuteCommand(yd3.id, l), f = { unitId: i, subUnitId: a }, p = s.syncExecuteCommand(Vr3.id, f); + return d && p ? (c.pushUndoRedo({ unitID: i, undoMutations: [{ id: yd3.id, params: u }], redoMutations: [{ id: yd3.id, params: l }] }), true) : false; + } }; + var Xd2 = { type: ri.COMMAND, id: `sheet.command.split-text-to-columns`, handler: (e29, t) => { + let n = V4(e29.get(Mu), t); + if (!n) return false; + let { unitId: r, subUnitId: i, worksheet: a } = n, { range: o, delimiter: s, customDelimiter: c, treatMultipleDelimitersAsOne: l } = t, { lastRow: u, rs: d, maxLength: f } = bi3(a, o, s, c, l), p = a.getColumnCount(), { startColumn: m } = Eo.transformRange(o, a); + if (o.startColumn !== o.endColumn) return false; + let h = e29.get(ii), g2 = e29.get(td), _2 = [], v = [], y = m + f + 1 - p; + if (y > 0) { + let t2 = { unitId: r, subUnitId: i, range: { startRow: 0, endRow: a.getRowCount() - 1, startColumn: p - 1, endColumn: p - 1 + y } }; + _2.push({ id: wn3.id, params: t2 }); + let n2 = Cn3(e29, t2); + v.push({ id: Nn3.id, params: n2 }); + } + let b = { startRow: o.startRow, endRow: u, startColumn: m, endColumn: m + f }, x2 = new Sa(); + for (let e30 = b.startRow; e30 <= b.endRow; e30++) for (let t2 = b.startColumn; t2 <= b.endColumn; t2++) { + let n2 = d[e30 - b.startRow]; + t2 === 0 && (n2 == null ? void 0 : n2.length) === 1 ? x2.setValue(e30, t2, a.getCell(e30, t2)) : x2.setValue(e30, t2, { v: (n2 == null ? void 0 : n2[t2 - b.startColumn]) || null, p: null, f: null, si: null, custom: null }); + } + let S4 = { unitId: r, subUnitId: i, cellValue: x2.clone() }, w2 = gr3(e29, S4); + return _2.push({ id: J4.id, params: S4 }), v.unshift({ id: J4.id, params: w2 }), li(_2, h).result ? (g2.pushUndoRedo({ unitID: r, undoMutations: v, redoMutations: _2 }), true) : false; + } }; + var Zd2 = createIdentifier(`INumfmtService`); + var $d2 = { id: `sheet.mutation.set.numfmt`, type: ri.MUTATION, handler: (e29, t) => { + if (!t) return false; + let { values: n, refMap: r } = t, i = e29.get(Zd2), a = t.unitId, o = t.subUnitId, s = Object.keys(n).reduce((e30, t2) => { + let i2 = r[t2], a2 = n[t2].ranges; + return i2 && e30.push({ ...i2, ranges: a2 }), e30; + }, []); + return i.setValues(a, o, s), true; + } }; + var ef2 = { id: `sheet.mutation.remove.numfmt`, type: ri.MUTATION, handler: (e29, t) => { + if (!t) return false; + let { unitId: n, subUnitId: r, ranges: i } = t; + return e29.get(Zd2).deleteValues(n, r, i), true; + } }; + var tf2 = (e29, t) => { + let n = e29.get(Zd2), { ranges: r, unitId: i, subUnitId: a } = t, o = []; + if (r.forEach((e30) => { + Eo.foreach(e30, (e31, t2) => { + let r2 = n.getValue(i, a, e31, t2); + r2 && o.push({ pattern: r2.pattern, row: e31, col: t2 }); + }); + }), !o.length) return []; + let s = nf2(i, a, o); + return Object.keys(s.values).forEach((e30) => { + let t2 = s.values[e30]; + t2.ranges = ci3(t2.ranges); + }), [{ id: $d2.id, params: s }]; + }; + var nf2 = (e29, t, n) => { + let r = xi2(n, `pattern`), i = {}, a = {}, o = Si2(); + return Object.keys(r).forEach((e30) => { + let t2 = r[e30], n2 = o(); + i[n2] = { pattern: e30 }, t2.forEach((e31) => { + a[n2] || (a[n2] = { ranges: [] }), a[n2].ranges.push(Ia(e31.row, e31.col)); + }); + }), { unitId: e29, subUnitId: t, refMap: i, values: a }; + }; + var rf2 = { id: `sheet.command.text-to-number`, type: ri.COMMAND, handler: (e29, t) => { + var n; + let r = V4(e29.get(Mu), t); + if (!r) return false; + let i = (t == null ? void 0 : t.ranges) || ((n = e29.get(Y4).getCurrentSelections()) == null ? void 0 : n.map((e30) => e30.range)); + if (!(i != null && i.length)) return false; + let a = e29.get(ii), o = e29.get(td), { worksheet: s, unitId: c, subUnitId: u } = r, d = new Sa(), f = []; + for (let e30 = 0; e30 < i.length; e30++) for (let t2 = i[e30].startRow; t2 <= i[e30].endRow; t2++) for (let n2 = i[e30].startColumn; n2 <= i[e30].endColumn; n2++) { + var p, m; + if (d.getValue(t2, n2)) continue; + let e31 = s.getCellRaw(t2, n2), r2 = typeof (e31 == null ? void 0 : e31.s) == `string` ? (p = s.getStyleDataByHash(e31.s)) == null || (p = p.n) == null ? void 0 : p.pattern : e31 == null || (m = e31.s) == null || (m = m.n) == null ? void 0 : m.pattern; + e31 && e31.v && (e31.t !== tr.NUMBER || aa(r2)) && Ja(e31.v) && (d.setValue(t2, n2, { v: Number(e31.v), t: tr.NUMBER }), aa(r2) && f.push({ startRow: t2, endRow: t2, startColumn: n2, endColumn: n2 })); + } + let h = { subUnitId: u, unitId: c, cellValue: d.getMatrix() }, g2 = [{ id: J4.id, params: h }], _2 = [{ id: J4.id, params: gr3(e29, h) }]; + if (f.length) { + let t2 = { unitId: c, subUnitId: u, ranges: f }; + g2.push({ id: ef2.id, params: t2 }), _2.push(...tf2(e29, t2)); + } + return li(g2, a).result ? (o.pushUndoRedo({ unitID: c, undoMutations: _2, redoMutations: g2 }), true) : false; + } }; + var af2 = { id: `sheet.command.toggle-cell-checkbox`, type: ri.COMMAND, handler: (e29, t) => { + if (!t) return false; + let { unitId: n, subUnitId: r, row: i, col: a, paragraphIndex: s } = t, c = e29.get(Mu).getUnit(n, O.UNIVER_SHEET), u = c == null ? void 0 : c.getSheetBySheetId(r), d = e29.get(td), f = e29.get(ii); + if (!u) return false; + let p = u.getCell(i, a); + if (!(p != null && p.p)) return false; + let m = D.deepClone(p.p), h = new _c(m), g2 = Z.paragraph.bullet.toggleChecklist({ document: h, paragraphIndex: s }); + if (!g2) return false; + Y.apply(h.getBody(), g2.serialize()); + let v = { unitId: n, subUnitId: r, cellValue: { [i]: { [a]: { p: m, t: tr.STRING } } } }, y = { id: J4.id, params: v }, b = gr3(e29, v), x2 = { id: J4.id, params: b }, S4 = [y], w2 = [x2]; + return d.pushUndoRedo({ redoMutations: S4, undoMutations: w2, unitID: n }), f.syncExecuteCommand(y.id, y.params); + } }; + var of3 = { type: ri.COMMAND, id: `sheet.command.toggle-gridlines`, handler: (e29, t) => { + let n = e29.get(ii), i = e29.get(td), a = V4(e29.get(Mu), t); + if (!a) return false; + let { worksheet: o } = a, s = o.getConfig().showGridlines; + if (s === (t == null ? void 0 : t.showGridlines)) return false; + let { unitId: c, subUnitId: l } = a, u = { showGridlines: s === A.TRUE ? A.FALSE : A.TRUE, unitId: c, subUnitId: l }, d = { showGridlines: s, unitId: c, subUnitId: l }; + return n.syncExecuteCommand(Br3.id, u) ? (i.pushUndoRedo({ unitID: c, undoMutations: [{ id: Br3.id, params: d }], redoMutations: [{ id: Br3.id, params: u }] }), true) : false; + } }; + var sf2 = { id: `sheet.command.unregister-worksheet-range-theme-style`, type: ri.COMMAND, handler: (e29, t) => { + var n; + if (!t || !V4(e29.get(Mu), t)) return false; + let r = e29.get(ii), i = e29.get(td), a = e29.get(gn3), { unitId: o, themeName: s } = t, c = { unitId: o, themeName: s }, l = { unitId: o, themeName: s, rangeThemeStyleJson: (n = a.getRangeThemeStyle(o, s)) == null ? void 0 : n.toJson() }; + return r.syncExecuteCommand(_u2.id, t) ? (i.pushUndoRedo({ unitID: o, undoMutations: [{ id: _u2.id, params: l }], redoMutations: [{ id: vu2.id, params: c }] }), true) : false; + } }; + var cf2 = { id: `sheet.mutation.add-range-theme`, type: ri.MUTATION, handler: (e29, t) => { + if (!t) return false; + let { styleJSON: n, unitId: r } = t, i = e29.get(gn3), a = new en3(n.name); + return a.fromJson(n), i.registerRangeThemeStyle(r, a), true; + } }; + var lf2 = { id: `sheet.mutation.empty`, type: ri.MUTATION, handler: () => true }; + var uf2 = { id: `sheet.operation.mark-dirty-row-auto-height`, type: ri.OPERATION, handler: () => true }; + var df2 = { id: `sheet.operation.cancel-mark-dirty-row-auto-height`, type: ri.OPERATION, handler: () => true }; + var ff2 = { id: `sheet.mutation.remove-range-theme`, type: ri.MUTATION, handler: (e29, t) => { + if (!t) return false; + let { styleName: n, unitId: r } = t; + return e29.get(gn3).unregisterRangeThemeStyle(r, n), true; + } }; + var pf2 = { id: `sheet.mutation.set-range-theme`, type: ri.MUTATION, handler: (e29, t) => { + if (!t) return false; + let { unitId: n, styleName: r, style: i } = t, a = e29.get(gn3).getRangeThemeStyle(n, r); + return a && (i.headerRowStyle && a.setHeaderRowStyle(i.headerRowStyle), i.firstRowStyle && a.setFirstRowStyle(i.firstRowStyle), i.secondRowStyle && a.setSecondRowStyle(i.secondRowStyle), i.lastRowStyle && a.setLastRowStyle(i.lastRowStyle)), true; + } }; + var mf2 = { id: `sheet.operation.scroll-to-cell`, type: ri.OPERATION, handler: () => true }; + var { getLenS: hf2, getDataIndex: gf2, fillCopy: _f2, fillCopyStyles: vf2, generateNullCellValueRowCol: yf2 } = gl3; + var { otherRule: bf2 } = Pl3; + var xf2 = class extends E { + constructor(e29, t, n) { + super(), this._univerInstanceService = e29, this._autoFillService = t, this._injector = n, U4(this, `_beforeApplyData`, []), U4(this, `_copyData`, []), this._init(); + } + _init() { + this._initDefaultHook(); + } + quit() { + this._beforeApplyData = [], this._copyData = []; + } + _initDefaultHook() { + this.disposeWithMe(this._autoFillService.addHook({ id: `default`, type: vl3.DEFAULT, priority: 0, onBeforeFillData: (e29, t) => this._presetAndCacheData(e29, t), onFillData: (e29, t, n) => this._fillData(e29, t, n) })); + } + _presetAndCacheData(e29, t) { + var n; + let { unitId: r, subUnitId: i, target: a } = e29, o = (n = this._univerInstanceService.getUnit(r)) == null ? void 0 : n.getSheetBySheetId(i); + if (!o) throw Error(`Worksheet not found for unitId: ${r}, subUnitId: ${i}`); + let s = o.getCellMatrix(), c = []; + return a.rows.forEach((e30) => { + let t2 = []; + a.cols.forEach((n2) => { + t2.push(D.deepClone(s.getValue(e30, n2))); + }), c.push(t2); + }), this._beforeApplyData = c, this._copyData = this._getCopyData(e29, t), this._shouldDisableSeries(this._copyData) ? (this._autoFillService.setDisableApplyType($4.SERIES, true), $4.COPY) : (this._autoFillService.setDisableApplyType($4.SERIES, false), this._getPreferredApplyType(this._copyData)); + } + _getApplyData(e29, t, n, r, i, a = true, o) { + let s = [], c = Math.floor(n / t), l = n % t, u = this._autoFillService.getRules(); + if (!a && i === $4.ONLY_FORMAT) return console.error(`ERROR: only format can not be applied when hasStyle is false`), []; + let d = {}; + u.forEach((e30) => { + d[e30.type] = []; + }), u.forEach((a2) => { + let { type: s2, applyFunctions: u2 = {} } = a2, f = e29[s2]; + f && f.forEach((a3) => { + let f2 = hf2(a3.index, l), p = a3.index.length * c + f2, m = this._applyFunctions(a3, p, r, i, u2, e29, o), h = gf2(t, n, a3.index); + d[s2].push({ data: m, index: h }); + }); + }); + for (let e30 = 0; e30 < n; e30++) u.forEach((t2) => { + let { type: n2 } = t2, r2 = d[n2]; + for (let t3 = 0; t3 < r2.length; t3++) e30 in r2[t3].index && s.push(r2[t3].data[r2[t3].index[e30]]); + }); + return s; + } + _applyFunctions(e29, t, n, r, i, a, o) { + let { data: s } = e29, c = n === Fn.UP || n === Fn.LEFT; + if (r === $4.COPY) { + let r2 = i == null ? void 0 : i[$4.COPY]; + return r2 ? r2(e29, t, n, a, o) : (c && s.reverse(), _f2(s, t)); + } + if (r === $4.SERIES) { + let r2 = i == null ? void 0 : i[$4.SERIES]; + return r2 ? r2(e29, t, n, a) : (c && s.reverse(), i != null && i[$4.COPY] ? i[$4.COPY](e29, t, n, a, o) : _f2(s, t)); + } + if (r === $4.ONLY_FORMAT) { + let r2 = i == null ? void 0 : i[$4.ONLY_FORMAT]; + return r2 ? r2(e29, t, n, a) : vf2(s, t); + } + } + _getCopyData(e29, t) { + var n; + let { unitId: r, subUnitId: i, source: a } = e29, o = (n = this._univerInstanceService.getUnit(r)) == null ? void 0 : n.getSheetBySheetId(i); + if (!o) throw Error(`No worksheet found`); + let s = o.getCellMatrix(), c = this._autoFillService.getRules(), l = [], u = t === Fn.DOWN || t === Fn.UP, d, f; + return u ? (d = a.cols, f = a.rows) : (d = a.rows, f = a.cols), d.forEach((e30) => { + let t2 = this._getEmptyCopyDataPiece(), n2 = { type: void 0, cellData: void 0 }; + f.forEach((r2) => { + let i2; + i2 = u ? s.getValue(r2, e30) : s.getValue(e30, r2); + let { type: a2, isContinue: o2 } = c.find((e31) => e31.match(i2, this._injector)) || bf2; + if (o2(n2, i2)) { + let e31 = t2[a2], n3 = e31[e31.length - 1]; + n3.data.push(i2), n3.index.push(r2 - f[0]); + } else { + let e31 = t2[a2]; + e31 ? e31.push({ data: [i2], index: [r2 - f[0]] }) : t2[a2] = [{ data: [i2], index: [r2 - f[0]] }]; + } + n2.type = a2, n2.cellData = i2; + }), l.push(t2); + }), l; + } + _getEmptyCopyDataPiece() { + let e29 = {}; + return this._autoFillService.getRules().forEach((t) => { + e29[t.type] = []; + }), e29; + } + _getMergeApplyData(e29, t, n, r, i) { + var a; + let { unitId: o, subUnitId: s } = i, c = (a = this._univerInstanceService.getUnit(o)) == null ? void 0 : a.getSheetBySheetId(s); + if (!c) throw Error(`No active sheet found`); + let l = []; + for (let i2 = e29.startRow; i2 <= e29.endRow; i2++) for (let a2 = e29.startColumn; a2 <= e29.endColumn; a2++) { + let { isMergedMainCell: e30, startRow: o2, startColumn: s2, endRow: u, endColumn: d } = c.getCellInfoInMergeData(i2, a2); + if (e30) { + if (n === Fn.DOWN) { + let e31 = o2 + r, n2 = u + r; + for (; n2 <= t.endRow; ) l.push({ startRow: e31, startColumn: s2, endRow: n2, endColumn: d }), e31 += r, n2 += r; + } else if (n === Fn.UP) { + let e31 = o2 - r, n2 = u - r; + for (; e31 >= t.startRow; ) l.push({ startRow: e31, startColumn: s2, endRow: n2, endColumn: d }), e31 -= r, n2 -= r; + } else if (n === Fn.RIGHT) { + let e31 = s2 + r, n2 = d + r; + for (; n2 <= t.endColumn; ) l.push({ startRow: o2, startColumn: e31, endRow: u, endColumn: n2 }), e31 += r, n2 += r; + } else if (n === Fn.LEFT) { + let e31 = s2 - r, n2 = d - r; + for (; e31 >= t.startColumn; ) l.push({ startRow: o2, startColumn: e31, endRow: u, endColumn: n2 }), e31 -= r, n2 -= r; + } + } + } + return l; + } + _fillData(e29, t, n) { + var r; + let i = [], a = [], o = true; + n === $4.NO_FORMAT && (o = false, n = $4.SERIES); + let { source: s, target: c, unitId: l, subUnitId: u } = e29; + if (!s || !c || t == null) return { undos: i, redos: a }; + let d = Oi2(s), f = Oi2(c), { cols: p, rows: h } = c, { cols: g2, rows: _2 } = s, v = this._copyData, y; + y = t === Fn.DOWN || t === Fn.UP ? _2.length : g2.length; + let b = []; + if (t === Fn.DOWN || t === Fn.UP) { + let r2 = h.length, i2 = []; + p.forEach((a2, s2) => { + let c2 = v[s2], l2 = this._getApplyData(c2, y, r2, t, n, o, e29); + i2.push(l2); + }); + for (let e30 = 0; e30 < i2[0].length; e30++) { + let t2 = []; + for (let n2 = 0; n2 < i2.length; n2++) t2.push({ s: null, ...i2[n2][e30] }); + b.push(t2); + } + } else { + let r2 = p.length; + h.forEach((i2, a2) => { + let s2 = v[a2], c2 = this._getApplyData(s2, y, r2, t, n, o, e29), l2 = []; + for (let e30 = 0; e30 < c2.length; e30++) l2.push({ s: null, ...c2[e30] }); + b.push(l2); + }); + } + let x2 = [], S4 = (r = this._univerInstanceService.getUnit(l)) == null ? void 0 : r.getStyles(); + if (o ? (x2 = this._getMergeApplyData(d, f, t, y, e29), b.forEach((e30) => { + e30.forEach((e31) => { + e31 && S4 && S4 && (e31.s = S4.getStyleByCell(e31)); + }); + })) : b.forEach((e30, t2) => { + e30.forEach((e31, n2) => { + e31 && S4 && (e31.s = S4.getStyleByCell(this._beforeApplyData[t2][n2]) || null); + }); + }), n === $4.ONLY_FORMAT && b.forEach((e30, t2) => { + e30.forEach((e31, n2) => { + if (e31) { + let r2 = this._beforeApplyData[t2][n2] || {}; + e31.f = r2.f, e31.si = r2.si, e31.t = r2.t, e31.v = r2.v; + } + }); + }), o) { + var C3; + let e30 = [], t2 = (C3 = this._univerInstanceService.getUniverSheetInstance(l)) == null || (C3 = C3.getSheetBySheetId(u)) == null ? void 0 : C3.getMergeData(); + if (t2 && t2.forEach((t3) => { + G.intersects(t3, f) && e30.push(t3); + }), e30.length) { + let t3 = { unitId: l, subUnitId: u, ranges: e30 }, n2 = this._injector.invoke(Pn2, t3); + a.push({ id: q4.id, params: t3 }), i.unshift({ id: H4.id, params: n2 }); + } + } + let w2 = { subUnitId: u, unitId: l, cellValue: yf2([c]) }, T4 = this._injector.invoke(gr3, w2); + a.push({ id: J4.id, params: w2 }), i.unshift({ id: J4.id, params: T4 }); + let E4 = new Sa(); + h.forEach((e30, t2) => { + p.forEach((n2, r2) => { + b[t2][r2] && E4.setValue(e30, n2, b[t2][r2]); + }); + }); + let ee = E4.getMatrix(), D4 = { subUnitId: u, unitId: l, cellValue: ee }, te = this._injector.invoke(gr3, D4); + if (this._autoFillService.getActiveHooks().forEach((r2) => { + var i2; + (i2 = r2.onBeforeSubmit) == null || i2.call(r2, e29, t, n, ee); + }), i.unshift({ id: J4.id, params: te }), a.push({ id: J4.id, params: D4 }), x2 != null && x2.length) { + let e30 = { unitId: l, subUnitId: u, ranges: Ks3(x2) }, t2 = this._injector.invoke(zt2, e30); + i.unshift({ id: q4.id, params: t2 }), a.push({ id: H4.id, params: e30 }); + } + return { undos: i, redos: a }; + } + _shouldDisableSeries(e29) { + return e29.every((e30) => Object.keys(e30).every((t) => { + var n; + return ((n = e30[t]) == null ? void 0 : n.length) === 0 || [_l2.OTHER, _l2.FORMULA].includes(t); + })); + } + _getPreferredApplyType(e29) { + return e29.every((e30) => Object.keys(e30).every((t) => { + var n, r; + return ((n = e30[t]) == null ? void 0 : n.length) === 0 || ((r = e30[t]) == null ? void 0 : r.length) === 1 && e30[t][0].data.length === 1 && _l2.NUMBER === t; + })) ? $4.COPY : $4.SERIES; + } + }; + xf2 = G4([W4(0, Mu), W4(1, Wl2), W4(2, Inject(Injector))], xf2); + var Sf2 = `maxCellsPerSheet`; + var Cf2 = `AllDefaultWorkbook`; + var wf2 = class extends E { + constructor(e29, t) { + super(), this._definedNamesService = e29, this._resourceManagerService = t, this._initialize(); + } + _initialize() { + this._initSnapshot(); + } + _initSnapshot() { + let e29 = (e30) => { + let t2 = this._definedNamesService.getDefinedNameMap(e30); + return t2 ? JSON.stringify(t2) : ``; + }, t = (e30) => { + if (!e30) return {}; + try { + return JSON.parse(e30); + } catch { + return {}; + } + }; + this.disposeWithMe(this._resourceManagerService.registerPluginResource({ pluginName: `SHEET_DEFINED_NAME_PLUGIN`, businesses: [O.UNIVER_SHEET], toJson: (t2) => e29(t2), parseJson: (e30) => t(e30), onUnLoad: (e30) => { + this._definedNamesService.removeUnitDefinedName(e30); + }, onLoad: (e30, t2) => { + this._definedNamesService.registerDefinedNames(e30, t2); + } })); + } + }; + wf2 = G4([W4(0, pr2), W4(1, ll)], wf2); + var Tf2 = [Gu3.id]; + var Ef2 = [Sn3.id, wn3.id, jn2.id, Nn3.id, Dn3.id, kn3.id]; + var Df2 = class extends E { + constructor(e29, t, n) { + var r, i; + super(), this._univerInstanceService = e29, this._commandService = t, this._configService = n, U4(this, `_d`, new un()), U4(this, `_enabled`, true); + let a = (r = (i = this._configService.getConfig(`sheets.config`)) == null ? void 0 : i.freezeSync) == null ? true : r; + this.setEnabled(a); + } + getEnabled() { + return this._enabled; + } + setEnabled(e29) { + e29 ? this._d.dispose() : this._initOnlyLocalListener(), this._enabled = e29; + } + _initOnlyLocalListener() { + this._d.add(this._commandService.beforeCommandExecuted((e29, t) => { + Tf2.includes(e29.id) && (t || (t = {}), t.onlyLocal = true); + })), this._d.add(this._commandService.onCommandExecuted((e29, t) => { + if (Ef2.includes(e29.id) && t != null && t.fromCollab) { + let { id: n, params: r } = e29; + n === Sn3.id ? this._handleInsertRowMutation(r, t) : n === wn3.id ? this._handleInsertColMutation(r, t) : n === jn2.id ? this._handleRemoveRowMutation(r, t) : n === Nn3.id ? this._handleRemoveColMutation(r, t) : n === Dn3.id ? this._handleMoveRowsMutation(r, t) : n === kn3.id && this._handleMoveColsMutation(r, t); + } + })); + } + _handleInsertRowMutation(e29, t) { + let { range: n, unitId: r, subUnitId: i } = e29, a = this._getFreeze(r, i); + if (a && n.startRow < a.startRow) { + let e30 = n.endRow - n.startRow + 1, o = { ...a, startRow: Math.max(1, a.startRow + e30), ySplit: Math.max(1, a.ySplit + e30) }; + this._sequenceExecute(r, i, o, t); + } + } + _handleInsertColMutation(e29, t) { + let { range: n, unitId: r, subUnitId: i } = e29, a = this._getFreeze(r, i); + if (a && n.startColumn < a.startColumn) { + let e30 = n.endColumn - n.startColumn + 1, o = { ...a, startColumn: Math.max(1, a.startColumn + e30), xSplit: Math.max(1, a.xSplit + e30) }; + this._sequenceExecute(r, i, o, t); + } + } + _handleRemoveRowMutation(e29, t) { + let { range: n, unitId: r, subUnitId: i } = e29, a = this._getFreeze(r, i); + if (a && n.startRow < a.startRow) { + let e30 = Math.min(a.startRow, n.endRow + 1) - n.startRow, o = { ...a, startRow: Math.max(1, a.startRow - e30), ySplit: Math.max(1, a.ySplit - e30) }; + this._sequenceExecute(r, i, o, t); + } + } + _handleRemoveColMutation(e29, t) { + let { range: n, unitId: r, subUnitId: i } = e29, a = this._getFreeze(r, i); + if (a && n.startColumn < a.startColumn) { + let e30 = Math.min(a.startColumn, n.endColumn + 1) - n.startColumn, o = { ...a, startColumn: Math.max(1, a.startColumn - e30), xSplit: Math.max(1, a.xSplit - e30) }; + this._sequenceExecute(r, i, o, t); + } + } + _handleMoveRowsMutation(e29, t) { + let { sourceRange: n, targetRange: r, unitId: i, subUnitId: a } = e29, o = this._getFreeze(i, a); + if (!o || o.startRow <= 0 || n.startRow >= o.startRow && r.startRow >= o.startRow || n.endRow < o.startRow && r.endRow < o.startRow) return; + let s = n.endRow - n.startRow + 1, c = Math.max(Math.min(o.startRow, n.endRow + 1) - n.startRow, 0), l = { ...o }; + r.startRow >= o.startRow ? (l.startRow = Math.max(1, o.startRow - c), l.ySplit = Math.max(1, o.ySplit - c)) : (l.startRow = o.startRow + s - c, l.ySplit = o.ySplit + s - c), this._sequenceExecute(i, a, l, t); + } + _handleMoveColsMutation(e29, t) { + let { sourceRange: n, targetRange: r, unitId: i, subUnitId: a } = e29, o = this._getFreeze(i, a); + if (!o || o.startColumn <= 0 || n.startColumn >= o.startColumn && r.startColumn >= o.startColumn || n.endColumn < o.startColumn && r.endColumn < o.startColumn) return; + let s = n.endColumn - n.startColumn + 1, c = Math.max(Math.min(o.startColumn, n.endColumn + 1) - n.startColumn, 0), l = { ...o }; + r.startColumn >= o.startColumn ? (l.startColumn = Math.max(1, o.startColumn - c), l.xSplit = Math.max(1, o.xSplit - c)) : (l.startColumn = o.startColumn + s - c, l.xSplit = o.xSplit + s - c), this._sequenceExecute(i, a, l, t); + } + _getFreeze(e29, t) { + let n = this._univerInstanceService.getUnit(e29, O.UNIVER_SHEET); + if (!n) return null; + let r = n.getSheetBySheetId(t); + return r ? r.getFreeze() : null; + } + _sequenceExecute(e29, t, n, r) { + li([{ id: Gu3.id, params: { ...n, unitId: e29, subUnitId: t, resetScroll: false } }], this._commandService, r); + } + }; + Df2 = G4([W4(0, Inject(Mu)), W4(1, ii), W4(2, Yr)], Df2); + var Of2 = class extends E { + constructor(e29, t, n, r, i, a, o, s, c, l) { + super(), this._commandService = e29, this._univerInstanceService = t, this._permissionService = n, this._selectionManagerService = r, this._rangeProtectionRuleModel = i, this._worksheetProtectionRuleModel = a, this._localeService = o, this._lexerTreeBuilder = s, this._contextService = c, this._definedNamesService = l, U4(this, `disposableCollection`, new un()), U4(this, `_triggerPermissionUIEvent$`, new Subject()), U4(this, `triggerPermissionUIEvent$`, this._triggerPermissionUIEvent$.asObservable()), this._initialize(); + } + blockExecuteWithoutPermission(e29) { + throw this._triggerPermissionUIEvent$.next(e29), new wt(`have no permission`); + } + _getPermissionCheck(e29, t) { + let n = true, r = ``; + switch (e29) { + case no3.id: + Ki(t.value) && t.value.f ? (n = this._permissionCheckWithFormula(t), r = this._localeService.t(`permission.dialog.formulaErr`)) : n = this._permissionCheckBySetRangeValue({ workbookTypes: [Sa3], rangeTypes: [da3], worksheetTypes: [Za3, Ba3] }, t); + break; + case Zl3.id: + n = this.permissionCheckWithRanges({ workbookTypes: [Sa3], rangeTypes: [da3], worksheetTypes: [Za3, Ba3] }, t == null ? void 0 : t.ranges, t == null ? void 0 : t.unitId, t == null ? void 0 : t.subUnitId), r = this._localeService.t(`permission.dialog.editErr`); + break; + case pd2.id: + case md3.id: + n = this.permissionCheckWithoutRange({ worksheetTypes: [Qa2] }), r = this._localeService.t(`permission.dialog.setRowColStyleErr`); + break; + case Kd2.id: + case qd2.id: + case Jd2.id: + n = this.permissionCheckWithoutRange({ worksheetTypes: [$a3] }), r = this._localeService.t(`permission.dialog.setRowColStyleErr`); + break; + case Wo2.id: + case Ho2.id: + n = this._permissionCheckByMoveCommand(t), r = this._localeService.t(`permission.dialog.moveRowColErr`); + break; + case oa3.id: + n = this._permissionCheckByMoveRangeCommand(t), r = this._localeService.t(`permission.dialog.moveRangeErr`); + break; + case Ed3.id: + n = this._permissionCheckByWorksheetCommand([Sa3, ka3]), r = this._localeService.t(`permission.dialog.operatorSheetErr`), n === false && this._worksheetProtectionRuleModel.resetOrder(); + break; + case Cd3.id: + n = this._permissionCheckByWorksheetCommand([Sa3, Ma2]), r = this._localeService.t(`permission.dialog.operatorSheetErr`), n === false && this._worksheetProtectionRuleModel.resetOrder(); + break; + case Yd2.id: + { + let { unitId: e30, subUnitId: i } = t; + n = this._permissionCheckByWorksheetCommand([Sa3, wa2], e30, i), r = this._localeService.t(`permission.dialog.operatorSheetErr`), n === false && this._worksheetProtectionRuleModel.resetOrder(); + } + break; + case Lu3.id: + n = this.permissionCheckWithRanges({ workbookTypes: [Sa3], rangeTypes: [da3], worksheetTypes: [Ba3, Qa2] }, t.ranges, t.unitId, t.subUnitId), r = this._localeService.t(`permission.dialog.setRowColStyleErr`); + break; + case td3.id: + n = this.permissionCheckWithRanges({ workbookTypes: [Sa3], rangeTypes: [da3], worksheetTypes: [Ba3, $a3] }, t.ranges, t.unitId, t.subUnitId), r = this._localeService.t(`permission.dialog.setRowColStyleErr`); + break; + case Ru3.id: + n = this.permissionCheckWithRanges({ workbookTypes: [Sa3], rangeTypes: [da3], worksheetTypes: [Ba3, Qa2] }), r = this._localeService.t(`permission.dialog.setRowColStyleErr`); + break; + case nd3.id: + n = this.permissionCheckWithRanges({ workbookTypes: [Sa3], rangeTypes: [da3], worksheetTypes: [Ba3, $a3] }), r = this._localeService.t(`permission.dialog.setRowColStyleErr`); + break; + case ho2.id: + n = this._permissionCheckWithInsertRangeMove(`right`), r = this._localeService.t(`permission.dialog.insertOrDeleteMoveRangeErr`); + break; + case po2.id: + n = this._permissionCheckWithInsertRangeMove(`bottom`), r = this._localeService.t(`permission.dialog.insertOrDeleteMoveRangeErr`); + break; + case co3.id: + n = this._permissionCheckWithInsertRangeMove(`left`), r = this._localeService.t(`permission.dialog.insertOrDeleteMoveRangeErr`); + break; + case uo3.id: + n = this._permissionCheckWithInsertRangeMove(`top`), r = this._localeService.t(`permission.dialog.insertOrDeleteMoveRangeErr`); + break; + case Gl3.id: + n = this._permissionCheckByAutoFillCommand(t), r = this._localeService.t(`permission.dialog.autoFillErr`); + break; + default: + break; + } + n || this.blockExecuteWithoutPermission(r); + } + _initialize() { + this._commandExecutedListener(); + } + _commandExecutedListener() { + this.disposeWithMe(this._commandService.beforeCommandExecuted((e29) => { + this._getPermissionCheck(e29.id, e29 == null ? void 0 : e29.params); + })), this.disposeWithMe(this._commandService.onCommandExecuted((e29) => { + if (e29.id === Sd3.id) { + var t; + let { unitId: n = (t = this._univerInstanceService.getCurrentUnitForType(O.UNIVER_SHEET)) == null ? void 0 : t.getUnitId(), subUnitId: r } = e29.params; + if (!n || !r) return; + let i = this._worksheetProtectionRuleModel.getRule(n, r), a = this._rangeProtectionRuleModel.getSubunitRuleList(n, r); + i && this._worksheetProtectionRuleModel.ruleRefresh(i.permissionId), a.length && this._rangeProtectionRuleModel.ruleRefresh(r); + } + })); + } + _permissionCheckWithInsertRangeMove(e29) { + var t; + let n = V4(this._univerInstanceService); + if (!n) return false; + let { worksheet: r, unitId: i, subUnitId: a } = n, o = D.deepClone((t = this._selectionManagerService.getCurrentLastSelection()) == null ? void 0 : t.range); + return !(!o || (e29 === `top` || e29 === `bottom` ? o.endRow = r.getRowCount() - 1 : (e29 === `left` || e29 === `right`) && (o.endColumn = r.getColumnCount() - 1), this._rangeProtectionRuleModel.getSubunitRuleList(i, a).map((e30) => e30.ranges).flat().some((e30) => G.getIntersects(o, e30)))); + } + _permissionCheckByWorksheetCommand(e29, t, n) { + let r = V4(this._univerInstanceService, { unitId: t, subUnitId: n }); + if (!r) return false; + let { unitId: i, subUnitId: a } = r, o = this._worksheetProtectionRuleModel.getRule(i, a), s = this._rangeProtectionRuleModel.getSubunitRuleList(i, a).length > 0; + if (o || s) { + var c, l; + return (c = (l = this._permissionService.getPermissionPoint(new Oa2(i).id)) == null ? void 0 : l.value) == null ? false : c; + } else return this._permissionService.composePermission(e29.map((e30) => new e30(i).id)).every((e30) => e30.value); + } + permissionCheckWithoutRange(e29) { + var t, n, r, i; + let a = V4(this._univerInstanceService); + if (!a) return false; + let { worksheet: o, unitId: s, subUnitId: c } = a, l = this._selectionManagerService.getCurrentLastSelection(); + if (!l) return true; + let u = (t = l == null || (n = l.primary) == null ? void 0 : n.actualRow) == null ? 0 : t, d = (r = l == null || (i = l.primary) == null ? void 0 : i.actualColumn) == null ? 0 : r, { workbookTypes: f, worksheetTypes: p, rangeTypes: m } = e29; + return !(f && f.some((e30) => { + var t2, n2; + let r2 = new e30(s); + return ((t2 = (n2 = this._permissionService.getPermissionPoint(r2.id)) == null ? void 0 : n2.value) == null ? false : t2) === false; + }) === true || p && p.some((e30) => { + var t2, n2; + let r2 = new e30(s, c); + return ((t2 = (n2 = this._permissionService.getPermissionPoint(r2.id)) == null ? void 0 : n2.value) == null ? false : t2) === false; + }) === true || m && m.some((e30) => { + var t2, n2, r2, i2; + let a2 = (t2 = o.getCell(u, d)) == null || (t2 = t2.selectionProtection) == null ? void 0 : t2[0]; + if (!(a2 != null && a2.ruleId)) return false; + let l2 = (n2 = this._rangeProtectionRuleModel.getRule(s, c, a2.ruleId)) == null ? void 0 : n2.permissionId; + if (!l2) return false; + let f2 = new e30(s, c, l2); + return ((r2 = (i2 = this._permissionService.getPermissionPoint(f2.id)) == null ? void 0 : i2.value) == null ? false : r2) === false; + }) === true); + } + permissionCheckWithRanges(e29, t, n, r) { + var i; + let a = V4(this._univerInstanceService, { unitId: n, subUnitId: r }); + if (!a) return false; + let o = t == null ? (i = this._selectionManagerService.getCurrentSelections()) == null ? void 0 : i.map((e30) => e30.range) : t; + if (!o) return false; + let { unitId: s, subUnitId: c } = a, { workbookTypes: l, worksheetTypes: u, rangeTypes: d } = e29, f = []; + return l && f.push(...l.map((e30) => new e30(s).id)), u && f.push(...u.map((e30) => new e30(s, c).id)), d && this._rangeProtectionRuleModel.getSubunitRuleList(s, c).forEach((e30) => { + o.some((t2) => e30.ranges.some((e31) => G.intersects(e31, t2))) && f.push(...d.map((t2) => new t2(s, c, e30.permissionId).id)); + }), f.length ? this._permissionService.composePermission(f).every((e30) => e30.value) : true; + } + _permissionCheckByMoveCommand(e29) { + let t = V4(this._univerInstanceService, e29); + if (!t) return false; + let { worksheet: n, unitId: r, subUnitId: i } = t, a = e29.toRange; + a.endRow === n.getRowCount() - 1 ? a.endColumn = a.startColumn : a.endRow = a.startRow; + let o = this._rangeProtectionRuleModel.getSubunitRuleList(r, i).reduce((e30, t2) => [...e30, ...t2.ranges], []).filter((e30) => G.intersects(e30, a)); + return o.length > 0 ? false : (o.forEach((e30) => { + for (let r2 = e30.startRow; r2 <= e30.endRow; r2++) for (let i2 = e30.startColumn; i2 <= e30.endColumn; i2++) { + var t2; + let e31 = (t2 = n.getCell(r2, i2)) == null || (t2 = t2.selectionProtection) == null ? void 0 : t2[0]; + if ((e31 == null ? void 0 : e31[R.Edit]) === false) return false; + } + }), true); + } + _permissionCheckByMoveRangeCommand(e29) { + let t = V4(this._univerInstanceService); + if (!t) return false; + let { worksheet: n, unitId: r, subUnitId: i } = t, a = e29.toRange, o = this._rangeProtectionRuleModel.getSubunitRuleList(r, i).reduce((e30, t2) => [...e30, ...t2.ranges], []).filter((e30) => G.intersects(e30, a)); + return o.length > 0 ? false : (o.forEach((e30) => { + for (let r2 = e30.startRow; r2 <= e30.endRow; r2++) for (let i2 = e30.startColumn; i2 <= e30.endColumn; i2++) { + var t2; + let e31 = (t2 = n.getCell(r2, i2)) == null || (t2 = t2.selectionProtection) == null ? void 0 : t2[0]; + if ((e31 == null ? void 0 : e31[R.Edit]) === false) return false; + } + }), true); + } + _permissionCheckBySetRangeValue(e29, t) { + let n = []; + n = t.range ? [t.range] : [new Sa(t.value).getDataRange()]; + let { unitId: r, subUnitId: i } = t; + return this.permissionCheckWithRanges(e29, n, r, i); + } + _permissionCheckWithFormula(e29) { + let t = e29.value, n = e29.range, r = t.f; + if (r) { + var i; + let t2 = r.substring(1), n2 = this._univerInstanceService.getCurrentUnitForType(O.UNIVER_SHEET), s = (i = e29.unitId) == null ? n2.getUnitId() : i, c = this._definedNamesService.getValueByName(s, t2); + if (c) { + let e30 = c.formulaOrRefString; + e30.startsWith(O4.EQUALS) && (e30 = e30.slice(1)); + let t3 = e30.split(`,`); + for (let e31 = 0; e31 < t3.length; e31++) { + let r2 = t3[e31], i2 = Zn2(r2); + if (i2.sheetName) { + let e32 = n2.getSheetBySheetName(i2.sheetName); + if (!e32) return true; + let { startRow: t4, endRow: r3, startColumn: o2, endColumn: s2 } = i2.range; + for (let n3 = t4; n3 <= r3; n3++) for (let t5 = o2; t5 <= s2; t5++) { + var a; + let r4 = (a = e32.getCell(n3, t5)) == null || (a = a.selectionProtection) == null ? void 0 : a[0]; + if ((r4 == null ? void 0 : r4[R.View]) === false) return false; + } + } + } + return true; + } else { + let e30 = this._lexerTreeBuilder.sequenceNodesBuilder(r); + if (!e30) return true; + for (let t3 = 0; t3 < e30.length; t3++) { + let n3 = e30[t3]; + if (typeof n3 == `string` || n3.nodeType !== Xr.REFERENCE) continue; + let { token: r2 } = n3, i2 = Jr2(r2), a2 = i2.unitId ? this._univerInstanceService.getUnit(i2.unitId) : this._univerInstanceService.getCurrentUnitForType(O.UNIVER_SHEET); + if (!a2) return true; + let s2 = i2.sheetName ? a2.getSheetBySheetName(i2.sheetName) : a2.getActiveSheet(), c2 = a2.getUnitId(); + if (i2.sheetName) { + if (s2 = a2.getSheetBySheetName(i2.sheetName), !s2) return true; + let e31 = s2 == null ? void 0 : s2.getSheetId(); + if (!this._permissionService.getPermissionPoint(new to3(c2, e31).id)) return false; + } + if (!s2) return true; + let { startRow: l, endRow: u, startColumn: d, endColumn: f } = i2.range; + for (let e31 = l; e31 <= u; e31++) for (let t4 = d; t4 <= f; t4++) { + var o; + let n4 = (o = s2.getCell(e31, t4)) == null || (o = o.selectionProtection) == null ? void 0 : o[0]; + if ((n4 == null ? void 0 : n4[R.View]) === false) return false; + } + } + return true; + } + } + if (n) { + let t2 = V4(this._univerInstanceService, e29); + if (!t2) return false; + let { unitId: r2, subUnitId: i2 } = t2, a2 = this._rangeProtectionRuleModel.getSubunitRuleList(r2, i2).filter((e30) => e30.ranges.some((e31) => G.intersects(e31, n))).map((e30) => new da3(r2, i2, e30.permissionId).id); + if (!this._permissionService.composePermission(a2).every((e30) => e30.value)) return false; + } + return true; + } + _permissionCheckByAutoFillCommand(e29) { + if (!e29) return false; + let { targetRange: t } = e29, n = V4(this._univerInstanceService, e29); + if (!n) return false; + let { worksheet: r, unitId: i, subUnitId: a } = n; + return !this._rangeProtectionRuleModel.getSubunitRuleList(i, a).reduce((e30, t2) => [...e30, ...t2.ranges], []).filter((e30) => G.intersects(e30, t)).some((e30) => { + for (let n2 = e30.startRow; n2 <= e30.endRow; n2++) for (let i2 = e30.startColumn; i2 <= e30.endColumn; i2++) { + var t2; + let e31 = (t2 = r.getCell(n2, i2)) == null || (t2 = t2.selectionProtection) == null ? void 0 : t2[0]; + if ((e31 == null ? void 0 : e31[R.Edit]) === false) return true; + } + return false; + }); + } + }; + Of2 = G4([W4(0, ii), W4(1, Mu), W4(2, Uu), W4(3, Inject(Y4)), W4(4, Inject(Ni2)), W4(5, Inject(fc3)), W4(6, Inject(zu)), W4(7, Inject(ni)), W4(8, Zr), W4(9, pr2)], Of2); + var kf2 = class extends E { + constructor(e29, t, n, r, i) { + super(), this._permissionService = e29, this._univerInstanceService = t, this._rangeProtectionRuleModel = n, this._worksheetProtectionRuleModel = r, this._worksheetProtectionPointModel = i, U4(this, `_unitPermissionInitStateChange`, new BehaviorSubject(false)), U4(this, `unitPermissionInitStateChange$`, this._unitPermissionInitStateChange.asObservable()), this._init(); + } + _init() { + let e29 = (e30) => { + let t = e30.getUnitId(); + Nd2().forEach((e31) => { + let n = new e31(t); + this._permissionService.addPermissionPoint(n); + }); + }; + this._univerInstanceService.getAllUnitsForType(O.UNIVER_SHEET).forEach((t) => { + e29(t); + }), this.disposeWithMe(this._univerInstanceService.getTypeOfUnitAdded$(O.UNIVER_SHEET).subscribe((t) => { + e29(t); + })), this.disposeWithMe(this._univerInstanceService.getTypeOfUnitDisposed$(O.UNIVER_SHEET).subscribe((e30) => { + let t = e30.getUnitId(); + e30.getSheets().forEach((e31) => { + let n = e31.getSheetId(); + this._rangeProtectionRuleModel.getSubunitRuleList(t, n).forEach((e32) => { + [...Ad2()].forEach((r) => { + let i = new r(t, n, e32.permissionId); + this._permissionService.deletePermissionPoint(i.id); + }); + }), [...Fd2(), ...Id2()].forEach((e32) => { + let r = new e32(t, n); + this._permissionService.deletePermissionPoint(r.id); + }); + }), Nd2().forEach((e31) => { + let n = new e31(t); + this._permissionService.deletePermissionPoint(n.id); + }), this._rangeProtectionRuleModel.deleteUnitModel(t), this._worksheetProtectionPointModel.deleteUnitModel(t), this._worksheetProtectionRuleModel.deleteUnitModel(t); + })); + } + changeUnitInitState(e29) { + this._unitPermissionInitStateChange.next(e29); + } + }; + kf2 = G4([W4(0, Inject(Uu)), W4(1, Inject(Mu)), W4(2, Inject(Ni2)), W4(3, Inject(fc3)), W4(4, Inject(Dd3))], kf2); + var Af2 = class extends E { + constructor(e29, t, n, r, i, a, o, s, c, l) { + super(), this._univerInstanceService = e29, this._permissionService = t, this._authzIoService = n, this._rangeProtectionRuleModel = r, this._worksheetProtectionRuleModel = i, this._userManagerService = a, this._worksheetProtectionPointRuleModel = o, this._workbookPermissionService = s, this._undoRedoService = c, this._commandService = l; + } + initPermission() { + this._initRangePermissionFromSnapshot(), this._initRangePermissionChange(), this._initWorksheetPermissionFromSnapshot(), this._initWorksheetPermissionChange(), this._initWorksheetPermissionPointsChange(), this._initWorkbookPermissionFromSnapshot(), this._initUserChange(), this._refreshPermissionByCollaCreate(); + } + refreshRangeProtectPermission() { + this._initRangePermissionFromSnapshot(); + } + async _initRangePermissionFromSnapshot() { + let e29 = async (e30) => { + let t = [], n = e30.getUnitId(), r = e30.getSheets(), i = /* @__PURE__ */ new Map(); + if (r.forEach((e31) => { + let r2 = e31.getSheetId(); + this._rangeProtectionRuleModel.getSubunitRuleList(n, r2).forEach((e32) => { + i.set(e32.permissionId, e32), t.push({ objectID: e32.permissionId, unitID: n, objectType: S.SelectRange, actions: jd2 }); + }); + }), !t.length) { + this._rangeProtectionRuleModel.changeRuleInitState(true); + return; + } + this._authzIoService.batchAllowed(t).then((e31) => { + e31.forEach((e32) => { + let t2 = i.get(e32.objectID); + if (t2) { + if (!this._rangeProtectionRuleModel.getRule(n, t2.subUnitId, t2.id)) return; + Ad2().forEach((r2) => { + let i2 = new r2(n, t2.subUnitId, e32.objectID), a = i2.subType, o = e32.actions.find((e33) => e33.action === a); + (o == null ? void 0 : o.allowed) !== void 0 && this._permissionService.updatePermissionPoint(i2.id, o.allowed); + }); + } + }), this._rangeProtectionRuleModel.changeRuleInitState(true); + }); + }; + await Promise.all(this._univerInstanceService.getAllUnitsForType(O.UNIVER_SHEET).map((t) => e29(t))), this._rangeProtectionRuleModel.changeRuleInitState(true); + } + _initRangePermissionChange() { + this.disposeWithMe(this._rangeProtectionRuleModel.ruleChange$.subscribe((e29) => { + e29.type === `delete` ? this._rangeProtectionRuleModel.getSubunitRuleList(e29.unitId, e29.subUnitId).length === 0 && (this._worksheetProtectionPointRuleModel.deleteRule(e29.unitId, e29.subUnitId), [...Id2()].forEach((t) => { + let n = new t(e29.unitId, e29.subUnitId); + this._permissionService.updatePermissionPoint(n.id, n.value); + })) : this._authzIoService.allowed({ objectID: e29.rule.permissionId, unitID: e29.unitId, objectType: S.SelectRange, actions: jd2 }).then((t) => { + this._rangeProtectionRuleModel.getRule(e29.unitId, e29.subUnitId, e29.rule.id) && (Ad2().forEach((n) => { + if (e29.type === `set`) { + let { rule: t2, oldRule: n2 } = e29; + if (t2.permissionId === (n2 == null ? void 0 : n2.permissionId)) return; + } + let r = e29.rule, i = new n(r.unitId, r.subUnitId, r.permissionId), a = i.subType, o = t.find((e30) => e30.action === a); + o && this._permissionService.updatePermissionPoint(i.id, o.allowed); + }), this._rangeProtectionRuleModel.ruleRefresh(e29.rule.permissionId)); + }); + })); + } + async initWorkbookPermissionChange(e29) { + var t; + let n = e29 || ((t = this._univerInstanceService.getCurrentUnitForType(O.UNIVER_SHEET)) == null ? void 0 : t.getUnitId()); + if (n) return this._authzIoService.allowed({ objectID: n, objectType: S.Workbook, unitID: n, actions: Pd2 }).then((e30) => { + Nd2().forEach((t2) => { + let r = new t2(n), i = r.subType, a = e30.find((e31) => e31.action === i); + a && this._permissionService.updatePermissionPoint(r.id, a.allowed); + }); + }); + } + async _initWorkbookPermissionFromSnapshot() { + await Promise.all(this._univerInstanceService.getAllUnitsForType(O.UNIVER_SHEET).map((e29) => this.initWorkbookPermissionChange(e29.getUnitId()))), this._workbookPermissionService.changeUnitInitState(true); + } + _initWorksheetPermissionChange() { + this.disposeWithMe(this._worksheetProtectionRuleModel.ruleChange$.subscribe((e29) => { + e29.type === `delete` ? ([...Fd2(), ...Id2()].forEach((t) => { + let n = new t(e29.unitId, e29.subUnitId); + this._permissionService.updatePermissionPoint(n.id, true); + }), this._worksheetProtectionPointRuleModel.deleteRule(e29.unitId, e29.subUnitId)) : this._authzIoService.allowed({ objectID: e29.rule.permissionId, unitID: e29.unitId, objectType: S.Worksheet, actions: jd2 }).then((t) => { + let n = this._worksheetProtectionRuleModel.getRule(e29.unitId, e29.subUnitId); + !n || n.permissionId !== e29.rule.permissionId || (Fd2().forEach((n2) => { + let r = new n2(e29.unitId, e29.subUnitId), i = r.subType, a = t.find((e30) => e30.action === i); + a && this._permissionService.updatePermissionPoint(r.id, a.allowed); + }), this._worksheetProtectionRuleModel.ruleRefresh(e29.rule.permissionId)); + }); + })); + } + _initWorksheetPermissionPointsChange() { + this.disposeWithMe(this._worksheetProtectionPointRuleModel.pointChange$.subscribe((e29) => { + this._authzIoService.allowed({ objectID: e29.permissionId, unitID: e29.unitId, objectType: S.Worksheet, actions: Ld2 }).then((t) => { + let n = this._worksheetProtectionPointRuleModel.getRule(e29.unitId, e29.subUnitId); + !n || n.permissionId !== e29.permissionId || Id2().forEach((n2) => { + let r = new n2(e29.unitId, e29.subUnitId), i = r.subType, a = t.find((e30) => e30.action === i); + a && this._permissionService.updatePermissionPoint(r.id, a.allowed); + }); + }); + })); + } + async _initWorksheetPermissionFromSnapshot() { + let e29 = async (e30) => { + let t = [], n = e30.getUnitId(), r = e30.getSheets(), i = /* @__PURE__ */ new Map(); + if (r.forEach((e31) => { + let r2 = e31.getSheetId(), a = this._worksheetProtectionRuleModel.getRule(n, r2); + a && (i.set(a.permissionId, a), t.push({ objectID: a.permissionId, unitID: n, objectType: S.Worksheet, actions: jd2 })); + let o = this._worksheetProtectionPointRuleModel.getRule(n, r2); + o && (i.set(o.permissionId, o), t.push({ objectID: o.permissionId, unitID: n, objectType: S.Worksheet, actions: Ld2 })); + }), !t.length) { + this._worksheetProtectionRuleModel.changeRuleInitState(true); + return; + } + this._authzIoService.batchAllowed(t).then((e31) => { + e31.forEach((e32) => { + let t2 = i.get(e32.objectID); + if (t2) { + let r2 = this._worksheetProtectionRuleModel.getRule(n, t2.subUnitId) || this._worksheetProtectionPointRuleModel.getRule(n, t2.subUnitId); + if (!r2 || r2.permissionId !== e32.objectID) return; + [...Fd2(), ...Id2()].forEach((r3) => { + let i2 = new r3(n, t2.subUnitId), a = i2.subType, o = e32.actions.find((e33) => e33.action === a); + (o == null ? void 0 : o.allowed) !== void 0 && this._permissionService.updatePermissionPoint(i2.id, o.allowed); + }); + } + }), this._worksheetProtectionRuleModel.changeRuleInitState(true); + }); + }; + await Promise.all(this._univerInstanceService.getAllUnitsForType(O.UNIVER_SHEET).map((t) => e29(t))), this._worksheetProtectionRuleModel.changeRuleInitState(true); + } + _initUserChange() { + this.disposeWithMe(this._userManagerService.currentUser$.pipe(skip(1)).subscribe(() => { + let e29 = this._permissionService.getAllPermissionPoint(); + this._permissionService.clearPermissionMap(), this._worksheetProtectionRuleModel.changeRuleInitState(false), this._univerInstanceService.getAllUnitsForType(O.UNIVER_SHEET).forEach((t) => { + let n = t.getUnitId(); + Nd2().forEach((t2) => { + let r = new t2(n); + e29.has(r.id) && (r = e29.get(r.id)), this._permissionService.addPermissionPoint(r); + }), t.getSheets().forEach((t2) => { + let r = t2.getSheetId(); + [...Fd2(), ...Id2()].forEach((t3) => { + let i = new t3(n, r); + e29.has(i.id) && (i = e29.get(i.id)), this._permissionService.addPermissionPoint(i); + }), this._rangeProtectionRuleModel.getSubunitRuleList(n, r).forEach((t3) => { + Ad2().forEach((i) => { + let a = new i(n, r, t3.permissionId); + e29.has(a.id) && (a = e29.get(a.id)), this._permissionService.addPermissionPoint(a); + }); + }); + }), this._initWorkbookPermissionFromSnapshot(), this._initWorksheetPermissionFromSnapshot(), this._initRangePermissionFromSnapshot(); + }); + })); + } + refreshPermission(e29, t) { + let n = this._worksheetProtectionRuleModel.getTargetByPermissionId(e29, t), r = false; + if (n) { + let [i2, a2] = n; + this._authzIoService.allowed({ objectID: t, unitID: e29, objectType: S.Worksheet, actions: jd2 }).then((n2) => { + if (!this._worksheetProtectionRuleModel.getTargetByPermissionId(e29, t)) return; + let i3 = ``; + Fd2().forEach((t2) => { + let o = new t2(e29, a2), s = o.subType, c = n2.find((e30) => e30.action === s); + if (c) { + var l; + ((l = this._permissionService.getPermissionPoint(o.id)) == null ? void 0 : l.value) !== c.allowed && (r = true), this._permissionService.updatePermissionPoint(o.id, c.allowed), i3 += `${c.action}_${c.allowed}`; + } + }), this._worksheetProtectionRuleModel.ruleRefresh(`${t}_${i3}`), r && this._undoRedoService.clearUndoRedo(e29); + }); + } + let i = this._worksheetProtectionPointRuleModel.getTargetByPermissionId(e29, t); + if (i) { + let [n2, a2] = i; + this._authzIoService.allowed({ objectID: t, unitID: e29, objectType: S.Worksheet, actions: Ld2 }).then((n3) => { + this._worksheetProtectionPointRuleModel.getTargetByPermissionId(e29, t) && (Id2().forEach((t2) => { + let i2 = new t2(e29, a2), o = i2.subType, s = n3.find((e30) => e30.action === o); + if (s) { + var c; + ((c = this._permissionService.getPermissionPoint(i2.id)) == null ? void 0 : c.value) !== s.allowed && (r = true), this._permissionService.updatePermissionPoint(i2.id, s.allowed); + } + }), r && this._undoRedoService.clearUndoRedo(e29)); + }); + } + let a = this._rangeProtectionRuleModel.getTargetByPermissionId(e29, t); + if (a) { + let [n2, i2] = a; + this._authzIoService.allowed({ objectID: t, unitID: e29, objectType: S.SelectRange, actions: jd2 }).then((n3) => { + if (!this._rangeProtectionRuleModel.getTargetByPermissionId(e29, t)) return; + let a2 = ``; + Ad2().forEach((o) => { + let s = new o(e29, i2, t), c = s.subType, l = n3.find((e30) => e30.action === c); + if (l) { + var u; + ((u = this._permissionService.getPermissionPoint(s.id)) == null ? void 0 : u.value) !== l.allowed && (r = true), this._permissionService.updatePermissionPoint(s.id, l.allowed), a2 += `${l.action}_${l.allowed}`; + } + }), this._rangeProtectionRuleModel.ruleRefresh(`${t}_${a2}`), r && this._undoRedoService.clearUndoRedo(e29); + }); + } + } + _refreshPermissionByCollaCreate() { + this.disposeWithMe(this._commandService.onCommandExecuted((e29, t) => { + if (t != null && t.fromCollab && (e29.id === Li2.id || e29.id === pc3.id || e29.id === zd2.id)) { + let t2 = e29.params; + this._undoRedoService.clearUndoRedo(t2.unitId); + } + })); + } + }; + Af2 = G4([W4(0, Mu), W4(1, Uu), W4(2, hl), W4(3, Inject(Ni2)), W4(4, Inject(fc3)), W4(5, Inject(pl)), W4(6, Inject(Dd3)), W4(7, Inject(kf2)), W4(8, Inject(td)), W4(9, Inject(ii))], Af2); + var jf2 = class extends E { + constructor(e29, t, n) { + super(), this._commandService = e29, this._sheetRangeThemeModel = t, this._univerInstanceService = n, U4(this, `_zebraCacheUpdateSubject`, new Subject()), this._init(); + } + _init() { + this._initializeCommandListener(), this._initTriggerCacheUpdateListener(); + } + updateZebraCrossingCache(e29, t) { + this._zebraCacheUpdateSubject.next({ unitId: e29, subUnitId: t }); + } + _initializeCommandListener() { + this.disposeWithMe(this._commandService.onCommandExecuted((e29) => { + let { id: t } = e29, n, r; + switch (t) { + case Sn3.id: + { + let t2 = e29.params; + n = t2.unitId, r = t2.subUnitId; + } + break; + case Cr3.id: + { + let t2 = e29.params; + n = t2.unitId, r = t2.subUnitId; + } + break; + case Tr3.id: + { + let t2 = e29.params; + n = t2.unitId, r = t2.subUnitId; + } + break; + case jn2.id: + { + let t2 = e29.params; + n = t2.unitId, r = t2.subUnitId; + } + break; + case Lr3.id: + { + let t2 = e29.params; + n = t2.unitId, r = t2.subUnitId; + } + break; + default: + break; + } + n && r && (this._sheetRangeThemeModel.refreshSheetRowVisibleFuncSet(n, r), this._sheetRangeThemeModel.refreshZebraCrossingCacheBySheet(n, r)); + })); + } + _initTriggerCacheUpdateListener() { + this.disposeWithMe(this._zebraCacheUpdateSubject.subscribe(({ unitId: e29, subUnitId: t }) => { + this._sheetRangeThemeModel.refreshSheetRowVisibleFuncSet(e29, t), this._sheetRangeThemeModel.refreshZebraCrossingCacheBySheet(e29, t); + })); + } + }; + jf2 = G4([W4(0, Inject(ii)), W4(1, Inject(gn3)), W4(2, Inject(Mu))], jf2); + var Mf2 = class { + constructor(e29, t) { + this._selectionProtectionRuleModel = e29, this._permissionService = t, U4(this, `_cache`, new so(1e4)), this._init(); + } + _init() { + this._permissionService.permissionPointUpdate$.pipe(filter((e29) => e29.type === S.SelectRange), filter((e29) => Ad2().some((t) => e29 instanceof t)), map((e29) => e29)).subscribe((e29) => { + let t = this._selectionProtectionRuleModel.getSubunitRuleList(e29.unitId, e29.subUnitId); + for (let n of t) n.permissionId === e29.permissionId && n.ranges.forEach((t2) => { + Eo.foreach(t2, (t3, n2) => { + let r = this._createKey(e29.unitId, e29.subUnitId, t3, n2); + this._cache.delete(r); + }); + }); + }), this._selectionProtectionRuleModel.ruleChange$.subscribe((e29) => { + if (e29.rule.ranges.forEach((t2) => { + Eo.foreach(t2, (t3, n) => { + let r = this._createKey(e29.unitId, e29.subUnitId, t3, n); + this._cache.delete(r); + }); + }), e29.type === `set`) { + var t; + (t = e29.oldRule) == null || t.ranges.forEach((t2) => { + Eo.foreach(t2, (t3, n) => { + let r = this._createKey(e29.unitId, e29.subUnitId, t3, n); + this._cache.delete(r); + }); + }); + } + }); + } + _createKey(e29, t, n, r) { + return `${e29}_${t}_${n}_${r}`; + } + getCellInfo(e29, t, n, r) { + let i = this._selectionProtectionRuleModel.getSubunitRuleList(e29, t), a = []; + if (!i || !i.length) return a; + let o = this._createKey(e29, t, n, r), s = this._cache.get(o); + if (s) return s; + let c = []; + for (let a2 of i) if (a2.ranges.some((e30) => e30.startRow <= n && e30.endRow >= n && e30.startColumn <= r && e30.endColumn >= r)) { + let n2 = Ad2().reduce((n3, r2) => { + var i2; + let o2 = new r2(e29, t, a2.permissionId), s2 = this._permissionService.getPermissionPoint(o2.id); + return n3[o2.subType] = (i2 = s2 == null ? void 0 : s2.value) == null ? o2.value : i2, n3; + }, {}); + c.push({ ...n2, ruleId: a2.id, ranges: a2.ranges }); + } + return this._cache.set(o, c), c; + } + clear() { + this._cache.clear(); + } + }; + Mf2 = G4([W4(0, Inject(Ni2)), W4(1, Inject(Uu))], Mf2); + var Nf2 = class extends E { + constructor(e29, t, n) { + super(), this._ruleModel = e29, this._permissionService = t, this._univerInstanceService = n, U4(this, `_cellRuleCache`, /* @__PURE__ */ new Map()), U4(this, `_permissionIdCache`, /* @__PURE__ */ new Map()), U4(this, `_cellInfoCache`, /* @__PURE__ */ new Map()), U4(this, `_rowInfoCache`, /* @__PURE__ */ new Map()), U4(this, `_colInfoCache`, /* @__PURE__ */ new Map()), this._initUpdateCellRuleCache(), this._initUpdateCellInfoCache(), this._initUpdateRowColInfoCache(), this._initCache(); + } + _initCache() { + this._univerInstanceService.getAllUnitsForType(O.UNIVER_SHEET).forEach((e29) => { + e29.getSheets().forEach((t) => { + let n = e29.getUnitId(), r = t.getSheetId(); + this.reBuildCache(n, r); + }); + }); + } + _initUpdateCellInfoCache() { + this._permissionService.permissionPointUpdate$.pipe(filter((e29) => e29.type === S.SelectRange), map((e29) => e29)).subscribe((e29) => { + let { subUnitId: t, unitId: n, permissionId: r } = e29, i = this._permissionIdCache.get(r); + if (!i) return; + let a = this._ruleModel.getRule(n, t, i); + if (!a) return; + let o = this._ensureCellInfoMap(n, t); + a.ranges.forEach((e30) => { + let { startRow: t2, endRow: n2, startColumn: r2, endColumn: i2 } = e30; + for (let e31 = t2; e31 <= n2; e31++) for (let t3 = r2; t3 <= i2; t3++) o.delete(`${e31}-${t3}`); + }); + }), this._ruleModel.ruleChange$.subscribe((e29) => { + let { unitId: t, subUnitId: n } = e29, r = this._ensureCellInfoMap(t, n); + if (e29.rule.ranges.forEach((e30) => { + Eo.foreach(e30, (e31, t2) => { + r.delete(`${e31}-${t2}`); + }); + }), e29.type === `set`) { + var i; + (i = e29.oldRule) == null || i.ranges.forEach((e30) => { + Eo.foreach(e30, (e31, t2) => { + this._cellInfoCache.delete(`${e31}-${t2}`); + }); + }); + } + }); + } + _initUpdateCellRuleCache() { + this._ruleModel.ruleChange$.subscribe((e29) => { + let { type: t } = e29; + t === `add` ? this._addCellRuleCache(e29) : t === `delete` ? this._deleteCellRuleCache(e29) : (this._deleteCellRuleCache({ ...e29, rule: e29.oldRule }), this._addCellRuleCache(e29)); + }); + } + _ensureRuleMap(e29, t) { + let n = this._cellRuleCache.get(e29); + n || (n = /* @__PURE__ */ new Map(), this._cellRuleCache.set(e29, n)); + let r = n.get(t); + return r || (r = /* @__PURE__ */ new Map(), n.set(t, r)), r; + } + _ensureCellInfoMap(e29, t) { + let n = this._cellInfoCache.get(e29); + n || (n = /* @__PURE__ */ new Map(), this._cellInfoCache.set(e29, n)); + let r = n.get(t); + return r || (r = /* @__PURE__ */ new Map(), n.set(t, r)), r; + } + _ensureRowColInfoMap(e29, t, n) { + let r = n === `row` ? this._rowInfoCache.get(e29) : this._colInfoCache.get(e29); + r || (r = /* @__PURE__ */ new Map(), n === `row` ? this._rowInfoCache.set(e29, r) : this._colInfoCache.set(e29, r)); + let i = r.get(t); + return i || (i = /* @__PURE__ */ new Map(), r.set(t, i)), i; + } + _addCellRuleCache(e29) { + let { subUnitId: t, unitId: n, rule: r } = e29, i = this._ensureRuleMap(n, t); + r.ranges.forEach((e30) => { + let { startRow: t2, endRow: n2, startColumn: a, endColumn: o } = e30; + for (let e31 = t2; e31 <= n2; e31++) for (let t3 = a; t3 <= o; t3++) i.set(`${e31}-${t3}`, r.id); + }), this._permissionIdCache.set(r.permissionId, r.id); + } + _deleteCellRuleCache(e29) { + let { subUnitId: t, unitId: n, rule: r } = e29, i = this._ensureRuleMap(n, t), a = this._ensureCellInfoMap(n, t); + r.ranges.forEach((e30) => { + let { startRow: t2, endRow: n2, startColumn: r2, endColumn: o } = e30; + for (let e31 = t2; e31 <= n2; e31++) for (let t3 = r2; t3 <= o; t3++) i.delete(`${e31}-${t3}`), a.delete(`${e31}-${t3}`); + }), this._permissionIdCache.delete(r.permissionId); + } + _getSelectionActions(e29, t, n) { + var r, i, a, o, s, c, l, u, d, f, p, m; + let h = (r = (i = this._permissionService.getPermissionPoint((a = new da3(e29, t, n.permissionId)) == null ? void 0 : a.id)) == null ? void 0 : i.value) == null ? false : r, g2 = (o = (s = this._permissionService.getPermissionPoint((c = new fa3(e29, t, n.permissionId)) == null ? void 0 : c.id)) == null ? void 0 : s.value) == null ? false : o, _2 = (l = (u = this._permissionService.getPermissionPoint((d = new kd2(e29, t, n.permissionId)) == null ? void 0 : d.id)) == null ? void 0 : u.value) == null ? false : l, v = (f = (p = this._permissionService.getPermissionPoint((m = new Od3(e29, t, n.permissionId)) == null ? void 0 : m.id)) == null ? void 0 : p.value) == null ? false : f; + return { [R.Edit]: h, [R.View]: g2, [R.ManageCollaborator]: _2, [R.Delete]: v }; + } + reBuildCache(e29, t) { + let n = this._ensureRuleMap(e29, t), r = this._ensureCellInfoMap(e29, t); + n.clear(), r.clear(); + let i = this._ensureRowColInfoMap(e29, t, `row`), a = this._ensureRowColInfoMap(e29, t, `col`); + i.clear(), a.clear(), this._ruleModel.getSubunitRuleList(e29, t).forEach((o) => { + let s = this._getSelectionActions(e29, t, o), c = { ...s, ruleId: o.id, ranges: o.ranges }; + o.ranges.forEach((e30) => { + let { startRow: t2, endRow: l, startColumn: u, endColumn: d } = e30; + for (let e31 = t2; e31 <= l; e31++) { + let t3 = i.get(`${e31}`); + t3 ? t3.set(o.id, s) : i.set(`${e31}`, /* @__PURE__ */ new Map([[o.id, s]])); + for (let t4 = u; t4 <= d; t4++) { + n.set(`${e31}-${t4}`, o.id), r.set(`${e31}-${t4}`, c); + let i2 = a.get(`${t4}`); + i2 ? i2.set(o.id, s) : a.set(`${t4}`, /* @__PURE__ */ new Map([[o.id, s]])); + } + } + }), this._permissionIdCache.set(o.permissionId, o.id); + }); + } + getRowPermissionInfo(e29, t, n, r) { + var i; + let a = (i = this._rowInfoCache.get(e29)) == null ? void 0 : i.get(t); + if (!a) return true; + let o = a.get(`${n}`); + return o ? r.every((e30) => { + for (let t2 of o.values()) if (t2[e30] === false) return false; + return true; + }) : true; + } + getColPermissionInfo(e29, t, n, r) { + var i; + let a = (i = this._colInfoCache.get(e29)) == null ? void 0 : i.get(t); + if (!a) return true; + let o = a.get(`${n}`); + return o ? r.every((e30) => { + for (let t2 of o.values()) if (t2[e30] === false) return false; + return true; + }) : true; + } + _initUpdateRowColInfoCache() { + this._permissionService.permissionPointUpdate$.pipe(filter((e29) => e29.type === S.SelectRange), map((e29) => e29)).subscribe({ next: (e29) => { + let { subUnitId: t, unitId: n, permissionId: r } = e29, i = this._permissionIdCache.get(r); + if (!i) return; + let a = this._ruleModel.getRule(n, t, i); + if (!a) return; + let o = this._ensureRowColInfoMap(n, t, `row`), s = this._ensureRowColInfoMap(n, t, `col`), c = this._getSelectionActions(n, t, a); + a.ranges.forEach((e30) => { + let { startRow: t2, endRow: n2, startColumn: r2, endColumn: a2 } = e30; + for (let e31 = t2; e31 <= n2; e31++) { + let t3 = o.get(`${e31}`); + t3 ? t3.set(i, c) : o.set(`${e31}`, /* @__PURE__ */ new Map([[i, c]])); + for (let e32 = r2; e32 <= a2; e32++) { + let t4 = s.get(`${e32}`); + t4 ? t4.set(i, c) : s.set(`${e32}`, /* @__PURE__ */ new Map([[i, c]])); + } + } + }); + } }), this._ruleModel.ruleChange$.subscribe((e29) => { + if (e29.type === `delete`) { + let { unitId: t, subUnitId: n, rule: r } = e29, i = this._ensureRowColInfoMap(t, n, `row`), a = this._ensureRowColInfoMap(t, n, `col`); + r.ranges.forEach((e30) => { + let { startRow: t2, endRow: n2, startColumn: o, endColumn: s } = e30; + for (let e31 = t2; e31 <= n2; e31++) { + let t3 = i.get(`${e31}`); + t3 == null || t3.delete(r.id); + for (let e32 = o; e32 <= s; e32++) { + let t4 = a.get(`${e32}`); + t4 == null || t4.delete(r.id); + } + } + }); + } + }); + } + getCellInfo(e29, t, n, r) { + var i; + let a = this._ensureCellInfoMap(e29, t), o = a.get(`${n}-${r}`); + if (o) return o; + let s = (i = this._cellRuleCache.get(e29)) == null || (i = i.get(t)) == null ? void 0 : i.get(`${n}-${r}`); + if (!s) return; + let c = this._ruleModel.getRule(e29, t, s); + if (c) { + let i2 = { ...this._getSelectionActions(e29, t, c), ruleId: s, ranges: c.ranges }; + return a.set(`${n}-${r}`, i2), i2; + } + } + deleteUnit(e29) { + this._cellRuleCache.delete(e29), this._cellInfoCache.delete(e29), this._rowInfoCache.delete(e29), this._colInfoCache.delete(e29); + let t = this._univerInstanceService.getUnit(e29); + t == null || t.getSheets().forEach((t2) => { + let n = t2.getSheetId(); + this._ruleModel.getSubunitRuleList(e29, n).forEach((e30) => { + this._permissionIdCache.delete(e30.permissionId); + }); + }); + } + }; + Nf2 = G4([W4(0, Inject(Ni2)), W4(1, Inject(Uu)), W4(2, Inject(Mu))], Nf2); + var Pf2 = `@univerjs/sheets`; + var Ff2 = `0.19.0`; + var If2 = class extends E { + constructor(e29, t) { + super(), this._commandService = e29, this._univerInstanceService = t, U4(this, `_previousSheetIndex`, -1), this.disposeWithMe(this._commandService.beforeCommandExecuted((e30) => { + if (e30.id === Ro3.id) return this._beforeAdjustActiveSheetOnRemoveSheet(e30); + })), this.disposeWithMe(this._commandService.onCommandExecuted((e30, t2) => { + if (e30.id === Ro3.id) return this._adjustActiveSheetOnRemoveSheet(e30); + if (e30.id === yd3.id && e30.params.hidden) return this._adjustActiveSheetOnHideSheet(e30); + if (t2 != null && t2.fromCollab) return false; + if (e30.id === iu3.id) return this._adjustActiveSheetOnInsertSheet(e30); + if (e30.id === yd3.id && !e30.params.hidden) return this._adjustActiveSheetOnShowSheet(e30); + if (e30.id === X4.id) return this._adjustActiveSheetOnSelection(e30); + })); + } + _adjustActiveSheetOnHideSheet(e29) { + var t; + let { unitId: n, subUnitId: r } = e29.params, i = this._univerInstanceService.getUniverSheetInstance(n); + if (!i || ((t = i.getActiveSheet()) == null ? void 0 : t.getSheetId()) !== r) return; + let a = Lf2(i, i.getActiveSheetIndex()); + this._switchToNextSheet(n, a); + } + _beforeAdjustActiveSheetOnRemoveSheet(e29) { + let { unitId: t, subUnitId: n } = e29.params, r = this._univerInstanceService.getUniverSheetInstance(t); + if (!r) return; + let i = r.getSheetBySheetId(n); + i && (this._previousSheetIndex = r.getSheetIndex(i)); + } + _adjustActiveSheetOnRemoveSheet(e29) { + if (this._previousSheetIndex === -1) return; + let { unitId: t } = e29.params, n = this._univerInstanceService.getUniverSheetInstance(t); + if (n && n.getActiveSheet().getSheetId() === e29.params.subUnitId) { + let e30 = this._previousSheetIndex, r = Lf2(n, e30 >= 1 ? e30 - 1 : 0); + this._switchToNextSheet(t, r); + } + } + _adjustActiveSheetOnInsertSheet(e29) { + let { unitId: t, sheet: n } = e29.params; + this._switchToNextSheet(t, n.id); + } + _adjustActiveSheetOnShowSheet(e29) { + let { unitId: t, subUnitId: n } = e29.params; + this._switchToNextSheet(t, n); + } + _adjustActiveSheetOnSelection(e29) { + var t; + let { unitId: n, subUnitId: r } = e29.params; + r !== ((t = this._univerInstanceService.getUnit(n)) == null ? void 0 : t.getActiveSheet().getSheetId()) && this._switchToNextSheet(n, r); + } + _switchToNextSheet(e29, t) { + this._commandService.executeCommand(Vr3.id, { unitId: e29, subUnitId: t }); + } + }; + If2 = G4([W4(0, ii), W4(1, Mu)], If2); + function Lf2(e29, t) { + let n = e29.getSheetSize(); + for (let n2 = t; n2 > -1; n2--) { + let t2 = e29.getSheetByIndex(n2); + if (!t2.getConfig().hidden) return t2.getSheetId(); + } + for (let r = t; r < n; r++) { + let t2 = e29.getSheetByIndex(r); + if (!t2.getConfig().hidden) return t2.getSheetId(); + } + throw Error(`[ActiveWorksheetController]: could not find the next unhidden sheet! Collaboration error perhaps.`); + } + var Rf2 = class extends E { + constructor(e29, t, n) { + var r; + super(), this._commandService = e29, this._configService = t, this._dataSyncPrimaryController = n, [J4, wn3, Sn3, iu3, Tn3, Dn3, kn3, Nn3, jn2, Ro3, q4, ef2, H4, ud2, Sd3, $d2, In2, lf2, Tr3, Cr3, uf2, df2, nu3, Nr3, kr3].forEach((e30) => { + var t2; + this._commandService.registerCommand(e30), (t2 = this._dataSyncPrimaryController) == null || t2.registerSyncingMutations(e30); + }), (r = this._configService.getConfig(`ONLY_REGISTER_FORMULA_RELATED_MUTATIONS_KEY`)) != null && r || [oc3, sc3, cc3, lc3, _c3, Wi2, Zl3, Gi2, lu3, co3, uo3, pd2, Kd2, Do3, Eo3, Oo3, ko3, To3, wo3, po2, ho2, bo3, yo3, So2, xo2, vo2, _o3, hu2, Wo2, oa3, Ho2, Mo3, Io3, Fo3, No3, xu2, Zo3, $s3, Ac3, Oc3, kc3, Fu3, Pu3, ju3, Mu3, Nu3, zu3, Hn3, Wn3, md3, Iu3, Bn3, Ku3, Gu3, qu3, Mc3, $u2, no3, qd2, rd3, ed3, xr3, Ru3, nd3, Lu3, td3, yc3, ld2, cd3, Dc3, Pc3, Nc3, jc3, dd3, fd2, Vr3, bd3, yd3, Cd3, Ed3, Td3, zr3, Lr3, Jd2, Rr3, Dr3, Gd2, gd3, ia2, X4, mf2, mu2, bu2, Uu3, Yd2, of3, Br3, Ju3, Gn3, rf2, Bd2, pc3, Zu3, mc3, zd2, Ri2, Qu3, du3, hc3, fu2, Vd2, Li2, Fi2, Yu3, af2, Ar3, _d2, Xd2, yn3, _n3, vu2, _u2, sf2, yu2, gc3, pu2, cf2, pf2, ff2, Gl3, Jl3, Yl3, Xl3, gu2].forEach((e30) => this.disposeWithMe(this._commandService.registerCommand(e30))), this._configService.setConfig(Sf2, 3e6); + } + }; + Rf2 = G4([W4(0, ii), W4(1, Yr), W4(2, Optional(K2))], Rf2); + var zf2 = class extends E { + constructor(e29, t) { + super(), this._univerInstanceService = e29, this._commandService = t, this._initialize(); + } + _initialize() { + this.disposeWithMe(this._commandService.onCommandExecuted((e29) => { + if (e29.id !== Tr2.id) return; + let { unitData: t } = e29.params, n = Object.keys(t), r = []; + for (let e30 = 0; e30 < n.length; e30++) { + let i = n[e30], a = t[i]; + if (a == null) continue; + let o = Object.keys(a); + for (let e31 = 0; e31 < o.length; e31++) { + let t2 = o[e31], n2 = a[t2]; + if (n2 == null) continue; + let s = { subUnitId: t2, unitId: i, cellValue: this._getMergedCellData(i, t2, n2) }; + r.push({ id: J4.id, params: s }); + } + } + return li(r, this._commandService, { onlyLocal: true, fromFormula: true, applyFormulaCalculationResult: true }); + })); + } + _getMergedCellData(e29, t, n) { + let r = this._univerInstanceService.getUniverSheetInstance(e29), i = r == null ? void 0 : r.getStyles(), a = r == null ? void 0 : r.getSheetBySheetId(t), o = a == null ? void 0 : a.getCellMatrix(), s = new Sa(n); + return s.forValue((e30, t2, n2) => { + let r2 = ki(o == null ? void 0 : o.getValue(e30, t2), n2, i); + s.setValue(e30, t2, r2); + }), s.getMatrix(); + } + }; + zf2 = G4([W4(0, Inject(Mu)), W4(1, ii)], zf2); + var Bf2 = class extends E { + constructor(e29) { + super(), this._sheetInterceptorService = e29, this._initialize(); + } + _initialize() { + this._initInterceptorCellContent(); + } + _initInterceptorCellContent() { + this.disposeWithMe(this._sheetInterceptorService.intercept(Bt3.CELL_CONTENT, { priority: 11, effect: At.Value | At.Style, handler: (e29, t, n) => { + var r; + if (!e29) return n(e29); + let i = t.workbook.getStyles().getStyleByCell(e29); + return oa(i == null || (r = i.n) == null ? void 0 : r.pattern) && (e29 == null ? void 0 : e29.t) === tr.NUMBER && e29.v !== void 0 && e29.v !== null && Ja(e29.v) ? ((!e29 || e29 === t.rawData) && (e29 = { ...t.rawData }), e29.v = aa2(Number(e29.v)), n(e29)) : n(e29); + } })); + } + }; + Bf2 = G4([W4(0, Inject(K4))], Bf2); + var Vf2 = class extends E { + constructor(e29, t, n, r) { + super(), this._permissionService = e29, this._worksheetProtectionRuleModel = t, this._sheetInterceptorService = n, this._rangeProtectionCache = r, this._initViewModelByRangeInterceptor(), this._initViewModelBySheetInterceptor(); + } + _initViewModelByRangeInterceptor() { + this.disposeWithMe(this._sheetInterceptorService.intercept(Bt3.CELL_CONTENT, { priority: 999, effect: At.Value | At.Style, handler: (e29, t, n) => { + let { unitId: r, subUnitId: i, row: a, col: o } = t, s = this._rangeProtectionCache.getCellInfo(r, i, a, o); + if (s) { + let r2 = s[R.View] === false, i2 = !e29 || e29 === t.rawData ? { ...t.rawData } : e29; + return i2.selectionProtection = [s], r2 ? (delete i2.s, delete i2.v, delete i2.p, i2) : n(i2); + } + return n(e29); + } })); + } + _initViewModelBySheetInterceptor() { + this.disposeWithMe(this._sheetInterceptorService.intercept(Bt3.CELL_CONTENT, { priority: 999, effect: At.Value | At.Style, handler: (e29, t, n) => { + let { unitId: r, subUnitId: i } = t, a = this._worksheetProtectionRuleModel.getRule(r, i); + if (a != null && a.permissionId) { + var o, s, c, l, u; + let a2 = [{ [R.View]: (o = (s = this._permissionService.getPermissionPoint(new to3(r, i).id)) == null ? void 0 : s.value) == null ? false : o, [R.Edit]: (c = (l = this._permissionService.getPermissionPoint(new Ba3(r, i).id)) == null ? void 0 : l.value) == null ? false : c }], d = !((u = a2[0]) != null && u[R.View]), f = !e29 || e29 === t.rawData ? { ...e29 } : e29; + return f.hasWorksheetRule = true, f.selectionProtection = a2, d ? (delete f.s, delete f.v, delete f.p, f) : n(f); + } + return n(e29); + } })); + } + }; + Vf2 = G4([W4(0, Uu), W4(1, Inject(fc3)), W4(2, Inject(K4)), W4(3, Inject(Nf2))], Vf2); + var Hf2 = createIdentifier(`univer.exclusive-range-service`); + var Uf2 = class extends E { + constructor(...e29) { + super(...e29), U4(this, `_exclusiveRanges`, /* @__PURE__ */ new Map()), U4(this, `_exclusiveRangesChange$`, new Subject()), U4(this, `exclusiveRangesChange$`, this._exclusiveRangesChange$.asObservable()); + } + _ensureUnitMap(e29) { + return this._exclusiveRanges.has(e29) || this._exclusiveRanges.set(e29, /* @__PURE__ */ new Map()), this._exclusiveRanges.get(e29); + } + _ensureSubunitMap(e29, t) { + let n = this._ensureUnitMap(e29); + return n.has(t) || n.set(t, /* @__PURE__ */ new Map()), n.get(t); + } + _ensureFeature(e29, t, n) { + let r = this._ensureSubunitMap(e29, t); + return r.has(n) || r.set(n, []), r.get(n); + } + addExclusiveRange(e29, t, n, r) { + let i = this._ensureFeature(e29, t, n); + i.push(...r), this._exclusiveRangesChange$.next({ unitId: e29, subUnitId: t, ranges: i.map((e30) => e30.range) }); + } + getExclusiveRanges(e29, t, n) { + var r; + return (r = this._exclusiveRanges.get(e29)) == null || (r = r.get(t)) == null ? void 0 : r.get(n); + } + clearExclusiveRanges(e29, t, n) { + let r = this.getExclusiveRanges(e29, t, n); + this._exclusiveRangesChange$.next({ unitId: e29, subUnitId: t, ranges: (r == null ? void 0 : r.map((e30) => e30.range)) || [] }), this._ensureFeature(e29, t, n), this._exclusiveRanges.get(e29).get(t).set(n, []); + } + clearExclusiveRangesByGroupId(e29, t, n, r) { + let i = this.getExclusiveRanges(e29, t, n); + this._exclusiveRangesChange$.next({ unitId: e29, subUnitId: t, ranges: (i == null ? void 0 : i.map((e30) => e30.range)) || [] }); + let a = this.getExclusiveRanges(e29, t, n); + if (a) { + let i2 = a.filter((e30) => e30.groupId !== r); + this._exclusiveRanges.get(e29).get(t).set(n, i2); + } + } + getInterestGroupId(e29) { + let t = []; + return e29.forEach((e30) => { + var n; + let r = e30.range, { unitId: i, sheetId: a } = r; + if (!i || !a) return; + let o = (n = this._exclusiveRanges.get(i)) == null ? void 0 : n.get(a); + if (o) for (let e31 of o.keys()) { + let n2 = o.get(e31); + if (n2) { + for (let i2 of n2) if (G.intersects(r, i2.range)) { + t.push(e31); + break; + } + } + } + }), t; + } + }; + var Wf2 = class extends E { + constructor(e29, t, n) { + super(), this._resourceManagerService = e29, this._univerInstanceService = t, this._logService = n; + } + getValue(e29, t, n, r) { + let i = this._univerInstanceService.getUniverSheetInstance(e29); + if (!i) return; + let a = i == null ? void 0 : i.getSheetBySheetId(t); + if (!a) return; + let o = i.getStyles(), s = a.getCellRaw(n, r); + if (s != null && s.s) { + let e30 = o.get(s.s); + if (e30 != null && e30.n) return e30.n; + } + return null; + } + deleteValues(e29, t, n) { + let r = this._univerInstanceService.getUniverSheetInstance(e29); + if (!r) return; + let i = r == null ? void 0 : r.getSheetBySheetId(t); + if (!i) return; + let a = r.getStyles(); + n.forEach((e30) => { + Eo.foreach(e30, (e31, t2) => { + let n2 = i.getCellRaw(e31, t2); + if (!n2) return; + let r2 = n2 == null ? void 0 : n2.s, o = { ...r2 && a.get(r2) || {} }; + delete o.n, n2.s = a.setValue(o); + }); + }); + } + setValues(e29, t, n) { + let r = this._univerInstanceService.getUniverSheetInstance(e29); + if (!r) return; + let i = r == null ? void 0 : r.getSheetBySheetId(t); + if (!i) return; + let a = r.getStyles(), o = i.getCellMatrix(); + n.forEach((e30) => { + e30.ranges.forEach((t2) => { + Eo.foreach(t2, (t3, n2) => { + let r2 = i.getCellRaw(t3, n2); + if (r2) { + let t4 = { ...a.getStyleByCell(r2) || {}, n: { pattern: e30.pattern } }; + r2.s = a.setValue(t4); + } else { + let r3 = { n: { pattern: e30.pattern } }, i2 = a.setValue(r3); + i2 && o.setValue(t3, n2, { s: i2 }); + } + }); + }); + }); + } + }; + Wf2 = G4([W4(0, ll), W4(1, Mu), W4(2, L)], Wf2); + var Gf2 = [wn3.id, Sn3.id, Nn3.id, jn2.id]; + var Kf2 = [Dn3.id, kn3.id]; + var qf2 = class extends E { + constructor(e29, t, n, r, i, a, o, s) { + super(), this._selectionProtectionRuleModel = e29, this._univerInstanceService = t, this._commandService = n, this._refRangeService = r, this._selectionProtectionRenderModel = i, this._rangeProtectionCache = a, this._sheetInterceptorService = o, this._rangeProtectionRuleModel = s, U4(this, `disposableCollection`, new un()), this._onRefRangeChange(), this._correctPermissionRange(), this._initReBuildCache(), this._initRemoveSheet(); + } + _onRefRangeChange() { + let e29 = (e30, t2) => { + let n = this._univerInstanceService.getCurrentUnitForType(O.UNIVER_SHEET); + if (!n || !(n != null && n.getSheetBySheetId(t2))) return; + this.disposableCollection.dispose(); + let r = (n2) => this.refRangeHandle(n2, e30, t2); + this._selectionProtectionRuleModel.getSubunitRuleList(e30, t2).reduce((e31, t3) => [...e31, ...t3.ranges], []).forEach((n2) => { + this.disposableCollection.add(this._refRangeService.registerRefRange(n2, r, e30, t2)); + }); + }; + this.disposeWithMe(this._commandService.onCommandExecuted((t2) => { + if (t2.id === fd2.id) { + let n = t2.params, r = n.subUnitId, i = n.unitId; + if (!r || !i) return; + e29(i, r); + } + if (t2.id === Yu3.id || t2.id === Li2.id) { + let n = t2.params, r = n.subUnitId, i = n.unitId; + if (!r || !i) return; + e29(i, r); + } + })); + let t = this._univerInstanceService.getCurrentUnitForType(O.UNIVER_SHEET); + if (t) { + let n = t.getActiveSheet(); + if (!n) return; + e29(t.getUnitId(), n.getSheetId()); + } + } + refRangeHandle(e29, t, n) { + switch (e29.id) { + case Ho2.id: + return this._getRefRangeMutationsByMoveRows(e29.params, t, n); + case Wo2.id: + return this._getRefRangeMutationsByMoveCols(e29.params, t, n); + case _o3.id: + return this._getRefRangeMutationsByInsertRows(e29.params, t, n); + case wo3.id: + return this._getRefRangeMutationsByInsertCols(e29.params, t, n); + case Io3.id: + return this._getRefRangeMutationsByDeleteCols(e29.params, t, n); + case No3.id: + return this._getRefRangeMutationsByDeleteRows(e29.params, t, n); + default: + break; + } + return { redos: [], undos: [] }; + } + _getRefRangeMutationsByDeleteCols(e29, t, n) { + let r = this._selectionProtectionRuleModel.getSubunitRuleList(t, n).filter((t2) => t2.ranges.some((t3) => G.intersects(t3, e29.range))), i = e29.range; + if (r.length) { + let e30 = [], a = []; + return r.forEach((r2) => { + let o = D.deepClone(r2); + o.ranges = o.ranges.reduce((e31, t2) => { + if (G.intersects(t2, i)) { + let n2 = D.deepClone(t2), { startColumn: r3, endColumn: a2 } = i; + if (r3 <= n2.startColumn && a2 >= n2.endColumn) return e31; + r3 >= n2.startColumn && a2 <= n2.endColumn ? n2.endColumn -= a2 - r3 + 1 : r3 < n2.startColumn ? (n2.startColumn = r3, n2.endColumn -= a2 - r3 + 1) : a2 > n2.endColumn && (n2.endColumn = r3 - 1), this._checkIsRightRange(n2) && e31.push(n2); + } + return e31; + }, []), o.ranges.length ? (e30.push({ id: Yu3.id, params: { unitId: t, subUnitId: n, rule: o, ruleId: r2.id } }), a.push({ id: Yu3.id, params: { unitId: t, subUnitId: n, rule: r2, ruleId: r2.id } })) : (e30.push({ id: Fi2.id, params: { unitId: t, subUnitId: n, ruleIds: [r2.id] } }), a.push({ id: Li2.id, params: { unitId: t, subUnitId: n, name: ``, rules: [r2] } })); + }), { redos: e30, undos: a }; + } + return { undos: [], redos: [] }; + } + _getRefRangeMutationsByDeleteRows(e29, t, n) { + let r = this._selectionProtectionRuleModel.getSubunitRuleList(t, n).filter((t2) => t2.ranges.some((t3) => G.intersects(t3, e29.range))), i = e29.range; + if (r.length) { + let e30 = [], a = []; + return r.forEach((r2) => { + let o = D.deepClone(r2); + o.ranges = o.ranges.reduce((e31, t2) => { + if (G.intersects(t2, i)) { + let n2 = D.deepClone(t2), { startRow: r3, endRow: a2 } = i; + if (r3 <= n2.startRow && a2 >= n2.endRow) return e31; + r3 >= n2.startRow && a2 <= n2.endRow ? n2.endRow -= a2 - r3 + 1 : r3 < n2.startRow ? (n2.startRow = r3, n2.endRow -= a2 - r3 + 1) : a2 > n2.endRow && (n2.endRow = r3 - 1), this._checkIsRightRange(n2) && e31.push(n2); + } + return e31; + }, []), e30.push({ id: Yu3.id, params: { unitId: t, subUnitId: n, rule: o, ruleId: r2.id } }), a.push({ id: Yu3.id, params: { unitId: t, subUnitId: n, rule: r2, ruleId: r2.id } }); + }), { redos: e30, undos: a }; + } + return { undos: [], redos: [] }; + } + _getRefRangeMutationsByInsertCols(e29, t, n) { + let r = e29.range.startColumn, i = e29.range.endColumn - e29.range.startColumn + 1, a = this._selectionProtectionRuleModel.getSubunitRuleList(t, n).filter((e30) => e30.ranges.some((e31) => r > e31.startColumn && r <= e31.endColumn)); + if (a.length) { + let e30 = [], o = []; + return a.forEach((a2) => { + let s = D.deepClone(a2), c = false; + s.ranges.forEach((e31) => { + r > e31.startColumn && r <= e31.endColumn && (e31.endColumn += i, c = true); + }), c && (e30.push({ id: Yu3.id, params: { unitId: t, subUnitId: n, rule: s, ruleId: a2.id } }), o.push({ id: Yu3.id, params: { unitId: t, subUnitId: n, rule: a2, ruleId: a2.id } })); + }), { redos: e30, undos: o }; + } + return { undos: [], redos: [] }; + } + _getRefRangeMutationsByInsertRows(e29, t, n) { + let r = e29.range.startRow, i = e29.range.endRow - e29.range.startRow + 1, a = this._selectionProtectionRuleModel.getSubunitRuleList(t, n).filter((e30) => e30.ranges.some((e31) => r > e31.startRow && r <= e31.endRow)); + if (a.length) { + let e30 = [], o = []; + return a.forEach((a2) => { + let s = D.deepClone(a2), c = false; + s.ranges.forEach((e31) => { + r > e31.startRow && r <= e31.endRow && (e31.endRow += i, c = true); + }), c && (e30.push({ id: Yu3.id, params: { unitId: t, subUnitId: n, rule: s, ruleId: a2.id } }), o.push({ id: Yu3.id, params: { unitId: t, subUnitId: n, rule: a2, ruleId: a2.id } })); + }), { redos: e30, undos: o }; + } + return { undos: [], redos: [] }; + } + _getRefRangeMutationsByMoveRows(e29, t, n) { + let r = e29.toRange, i = r.startRow, a = r.endRow - r.startRow + 1, o = this._selectionProtectionRuleModel.getSubunitRuleList(t, n).filter((e30) => e30.ranges.some((e31) => i > e31.startRow && i <= e31.endRow)); + if (o.length) { + let r2 = [], s = []; + return o.forEach((o2) => { + let c = D.deepClone(o2), l = e29.fromRange.startRow, u = false; + c.ranges.forEach((e30) => { + i > e30.startRow && i <= e30.endRow && (l < e30.startRow && (e30.startRow -= a, e30.endRow -= a), e30.endRow += a, u = true); + }), u && (r2.push({ id: Yu3.id, params: { unitId: t, subUnitId: n, rule: c, ruleId: o2.id } }), s.push({ id: Yu3.id, params: { unitId: t, subUnitId: n, rule: o2, ruleId: o2.id } })); + }), { redos: r2, undos: s }; + } + return { undos: [], redos: [] }; + } + _getRefRangeMutationsByMoveCols(e29, t, n) { + let r = e29.toRange, i = r.startColumn, a = r.endColumn - r.startColumn + 1, o = this._selectionProtectionRuleModel.getSubunitRuleList(t, n).filter((e30) => e30.ranges.some((e31) => i > e31.startColumn && i <= e31.endColumn)); + if (o.length) { + let r2 = [], s = []; + return o.forEach((o2) => { + let c = D.deepClone(o2), l = e29.fromRange.startColumn, u = false; + c.ranges.forEach((e30) => { + i > e30.startColumn && i <= e30.endColumn && (l < e30.startColumn && (e30.startColumn -= a, e30.endColumn -= a), e30.endColumn += a, u = true); + }), u && (r2.push({ id: Yu3.id, params: { unitId: t, subUnitId: n, rule: c, ruleId: o2.id } }), s.push({ id: Yu3.id, params: { unitId: t, subUnitId: n, rule: o2, ruleId: o2.id } })); + }), { redos: r2, undos: s }; + } + return { undos: [], redos: [] }; + } + _correctPermissionRange() { + this.disposeWithMe(this._commandService.onCommandExecuted((e29) => { + if (Kf2.includes(e29.id)) { + if (!e29.params) return; + let t = this._univerInstanceService.getCurrentUnitForType(O.UNIVER_SHEET); + if (!t) return; + let n = t.getSheetBySheetId(e29.params.subUnitId); + if (!n) return; + let { sourceRange: r, targetRange: i } = e29.params, a = r.startColumn === i.startColumn && r.endColumn === i.endColumn, o = a ? r.endRow - r.startRow + 1 : r.endColumn - r.startColumn + 1, s = a ? r.startRow : r.startColumn, c = a ? i.startRow : i.startColumn; + this._selectionProtectionRuleModel.getSubunitRuleList(t.getUnitId(), n.getSheetId()).forEach((e30) => { + e30.ranges.forEach((e31) => { + let { startRow: t2, endRow: n2, startColumn: i2, endColumn: l2 } = e31; + G.intersects(e31, r) || (a ? s < t2 && c > n2 ? (t2 -= o, n2 -= o) : s > n2 && c <= t2 && (t2 += o, n2 += o) : s < i2 && c > l2 ? (i2 -= o, l2 -= o) : s > l2 && c <= i2 && (i2 += o, l2 += o)), this._checkIsRightRange({ startRow: t2, endRow: n2, startColumn: i2, endColumn: l2 }) && (e31.startColumn = i2, e31.endColumn = l2, e31.startRow = t2, e31.endRow = n2); + }); + }), this.disposableCollection.dispose(); + let { unitId: l, subUnitId: u } = e29.params, d = (e30) => this.refRangeHandle(e30, l, u); + this._selectionProtectionRuleModel.getSubunitRuleList(l, u).reduce((e30, t2) => [...e30, ...t2.ranges], []).forEach((e30) => { + this.disposableCollection.add(this._refRangeService.registerRefRange(e30, d, l, u)); + }), this._selectionProtectionRenderModel.clear(); + } + if (Gf2.includes(e29.id)) { + let t = this._univerInstanceService.getUniverSheetInstance(e29.params.unitId); + if (!t) return; + let n = t.getSheetBySheetId(e29.params.subUnitId); + if (!n) return; + let r = e29.params; + if (!r) return; + let { range: i } = r, a = e29.id.includes(`row`), o = e29.id.includes(`insert`), s = a ? i.startRow : i.startColumn, c = a ? i.endRow : i.endColumn, l = c - s + 1; + this._selectionProtectionRuleModel.getSubunitRuleList(t.getUnitId(), n.getSheetId()).forEach((e30) => { + e30.ranges.forEach((e31) => { + let { startRow: t2, endRow: n2, startColumn: r2, endColumn: i2 } = e31; + o ? a ? s <= t2 && (t2 += l, n2 += l) : s <= r2 && (r2 += l, i2 += l) : a ? c < t2 && (t2 -= l, n2 -= l) : c < r2 && (r2 -= l, i2 -= l), this._checkIsRightRange({ startRow: t2, endRow: n2, startColumn: r2, endColumn: i2 }) && (e31.startColumn = r2, e31.endColumn = i2, e31.startRow = t2, e31.endRow = n2); + }); + }), this.disposableCollection.dispose(); + let { unitId: u, subUnitId: d } = e29.params, f = (e30) => this.refRangeHandle(e30, u, d); + this._selectionProtectionRuleModel.getSubunitRuleList(u, d).reduce((e30, t2) => [...e30, ...t2.ranges], []).forEach((e30) => { + this.disposableCollection.add(this._refRangeService.registerRefRange(e30, f, u, d)); + }), this._selectionProtectionRenderModel.clear(); + } + })); + } + _checkIsRightRange(e29) { + return e29.startRow <= e29.endRow && e29.startColumn <= e29.endColumn; + } + _initReBuildCache() { + this.disposeWithMe(this._commandService.onCommandExecuted((e29) => { + if (Gf2.includes(e29.id) || Kf2.includes(e29.id)) { + let { unitId: t, subUnitId: n } = e29.params; + this._rangeProtectionCache.reBuildCache(t, n); + } + })); + } + _initRemoveSheet() { + this._sheetInterceptorService.interceptCommand({ getMutations: (e29) => { + let t = [], n = [], r = [], i = []; + if (e29.id === xu2.id) { + let n2 = e29.params, i2 = [], a = []; + this._rangeProtectionRuleModel.getSubunitRuleList(n2.unitId, n2.subUnitId).forEach((e30) => { + i2.push(e30.id), a.push(e30); + }), i2.length && a.length && (r.push({ id: Fi2.id, params: { unitId: n2.unitId, subUnitId: n2.subUnitId, ruleIds: i2 } }), t.push({ id: Li2.id, params: { unitId: n2.unitId, subUnitId: n2.subUnitId, name: ``, rules: a } })); + } + return { redos: n, undos: t, preRedos: r, preUndos: i }; + } }); + } + }; + qf2 = G4([W4(0, Inject(Ni2)), W4(1, Inject(Mu)), W4(2, ii), W4(3, Inject(zs3)), W4(4, Inject(Mf2)), W4(5, Inject(Nf2)), W4(6, Inject(K4)), W4(7, Inject(Ni2))], qf2); + var Jf2 = class extends E { + constructor(e29, t, n, r, i) { + super(), this._selectionProtectionRuleModel = e29, this._permissionService = t, this._resourceManagerService = n, this._selectionProtectionCache = r, this._univerInstanceService = i, this._initSnapshot(), this._initRuleChange(); + } + _initRuleChange() { + this.disposeWithMe(this._selectionProtectionRuleModel.ruleChange$.subscribe((e29) => { + switch (e29.type) { + case `add`: + Ad2().forEach((t) => { + let n = new t(e29.unitId, e29.subUnitId, e29.rule.permissionId); + this._permissionService.addPermissionPoint(n); + }); + break; + case `delete`: + Ad2().forEach((t) => { + let n = new t(e29.unitId, e29.subUnitId, e29.rule.permissionId); + this._permissionService.deletePermissionPoint(n.id); + }); + break; + case `set`: + e29.oldRule.permissionId !== e29.rule.permissionId && Ad2().forEach((t) => { + let n = new t(e29.unitId, e29.subUnitId, e29.oldRule.permissionId); + this._permissionService.deletePermissionPoint(n.id); + let r = new t(e29.unitId, e29.subUnitId, e29.rule.permissionId); + this._permissionService.addPermissionPoint(r); + }); + break; + } + })); + } + _initSnapshot() { + this.disposeWithMe(this._resourceManagerService.registerPluginResource({ toJson: (e29) => { + let t = this._selectionProtectionRuleModel.toObject()[e29]; + return t ? JSON.stringify(t) : ``; + }, parseJson: (e29) => { + if (!e29) return {}; + try { + return JSON.parse(e29); + } catch { + return {}; + } + }, pluginName: `SHEET_RANGE_PROTECTION_PLUGIN`, businesses: [O.UNIVER_SHEET], onLoad: (e29, t) => { + let n = this._selectionProtectionRuleModel.toObject(); + n[e29] = t, this._selectionProtectionRuleModel.fromObject(n); + let r = []; + Object.keys(t).forEach((n2) => { + let i = t[n2]; + this._selectionProtectionRuleModel.getSubunitRuleList(e29, n2).forEach((t2) => { + r.push({ objectID: t2.permissionId, unitID: e29, objectType: S.SelectRange, actions: jd2 }); + }), i.forEach((t2) => { + Ad2().forEach((r2) => { + let i2 = new r2(e29, n2, t2.permissionId); + i2.value = false, this._permissionService.addPermissionPoint(i2); + }); + }), this._selectionProtectionCache.reBuildCache(e29, n2); + }); + }, onUnLoad: (e29) => { + this._selectionProtectionCache.deleteUnit(e29); + } })); + } + }; + Jf2 = G4([W4(0, Inject(Ni2)), W4(1, Inject(Uu)), W4(2, Inject(ll)), W4(3, Inject(Nf2)), W4(4, Inject(Mu))], Jf2); + var Yf2 = class extends E { + constructor(e29) { + super(), this._sheetRangeThemeModel = e29; + } + registerRangeTheme(e29, t) { + this._sheetRangeThemeModel.registerRangeThemeStyle(e29, t); + } + removeRangeThemeRule(e29, t) { + this._sheetRangeThemeModel.removeRangeThemeRule(e29, t); + } + getALLRegisterThemes(e29) { + return this._sheetRangeThemeModel.getALLRegisteredTheme(e29); + } + registerRangeThemeStyle(e29, t) { + this._sheetRangeThemeModel.registerRangeThemeRule(e29, t); + } + getAppliedRangeThemeStyle(e29) { + return this._sheetRangeThemeModel.getRegisteredRangeThemeStyle(e29); + } + getRegisteredRangeThemes() { + return this._sheetRangeThemeModel.getRegisteredRangeThemes(); + } + }; + Yf2 = G4([W4(0, Inject(gn3))], Yf2); + var Xf2 = class extends qu { + constructor(e29 = eu3, t, n) { + super(), this._config = e29, this._injector = t, this._configService = n; + let { ...r } = merge_default({}, eu3, this._config); + this._configService.setConfig(Ql2, r), this._initConfig(), this._initDependencies(); + } + _initConfig() { + var t, n, r; + (t = this._config) != null && t.onlyRegisterFormulaRelatedMutations && this._configService.setConfig(`ONLY_REGISTER_FORMULA_RELATED_MUTATIONS_KEY`, true), (n = this._config) != null && n.isRowStylePrecedeColumnStyle && this._configService.setConfig(gt, true), (r = this._config) != null && r.autoHeightForMergedCells && this._configService.setConfig(_t, true); + } + _initDependencies() { + var e29; + let t = [[Su3], [tu3], [Y4], [zs3], [kf2], [Zd2, { useClass: Wf2 }], [K4], [Yf2], [Ko2], [Rf2], [Js3], [Bf2], [wf2], [jf2], [Df2], [Rd2], [fc3], [Dd3], [Vf2], [Af2], [Of2], [gn3], [Mf2], [Ni2], [Nf2], [qf2], [Jf2], [Hf2, { useClass: Uf2, deps: [Y4] }], [Wl2, { useClass: Ul2 }], [xf2]]; + (e29 = this._config) != null && e29.notExecuteFormula || t.push([zf2]), xt(this._injector, Gu(t, this._config.override)), St(this._injector, [[K4], [Jf2], [Hf2], [Af2], [Df2]]); + } + onStarting() { + var e29; + St(this._injector, [[Rf2], [Js3], [kf2], [Rd2], [Vf2], [Ko2], [xf2]]), (e29 = this._config) != null && e29.onlyRegisterFormulaRelatedMutations || this._injector.add([If2]); + } + onRendered() { + St(this._injector, [[Zd2]]); + } + onReady() { + St(this._injector, [[If2], [zf2], [wf2], [jf2], [gn3], [Bf2], [Mf2], [qf2], [zs3], [Of2]]); + } + }; + U4(Xf2, `pluginName`, `SHEET_PLUGIN`), U4(Xf2, `packageName`, Pf2), U4(Xf2, `version`, Ff2), U4(Xf2, `type`, O.UNIVER_SHEET), Xf2 = G4([Yu(Yy), W4(1, Inject(Injector)), W4(2, Yr)], Xf2); + + // node_modules/@univerjs/sheets-formula/lib/es/index.js + var Fn4 = { id: `formula.command.insert-function`, type: ri.COMMAND, handler: async (e29, t) => { + let { list: n, listOfRangeHasNumber: r } = t, i = e29.get(ii), a = new Sa(); + n.forEach((e30) => { + let { range: t2, primary: n2, formula: r2 } = e30, { row: i2, column: o2 } = n2, s = O2(6); + a.setValue(i2, o2, { f: r2, si: s }); + let { startRow: c, startColumn: l, endRow: u, endColumn: d } = t2; + for (let e31 = c; e31 <= u; e31++) for (let t3 = l; t3 <= d; t3++) (e31 !== i2 || t3 !== o2) && a.setValue(e31, t3, { si: s }); + }), r && r.length > 0 && r.forEach((e30) => { + let { primary: t2, formula: n2 } = e30; + a.setValue(t2.row, t2.column, { f: n2 }); + }); + let o = { value: a.getData() }; + return i.executeCommand(no3.id, o); + } }; + var In3 = { id: `sheets-formula.command.quick-sum`, type: ri.COMMAND, handler: async (e29) => { + let t = e29.get(Y4).getCurrentLastSelection(); + if (!t) return false; + let n = V4(e29.get(Mu)); + if (!n) return false; + let r = t.range, { worksheet: i } = n, a = wi2(r, i); + if (!a) return false; + a = Ki3(a, i); + let o = ni2({ startRow: a.startRow, startColumn: a.startColumn, endRow: r.endRow, endColumn: r.endColumn }, { left: true, right: true, up: true, down: true }, i), s = new Sa(), c = Ki3({ startRow: o.endRow, endRow: o.endRow, startColumn: o.startColumn, endColumn: o.endColumn }, i); + if (!G.equals(c, o)) for (let e30 of i.iterateByColumn(c)) (!e30.value || !i.cellHasValue(e30.value)) && s.setValue(e30.row, e30.col, { f: `=SUM(${Gn2({ startColumn: e30.col, endColumn: e30.col, startRow: o.startRow, endRow: e30.row - 1 })})` }); + let l = Ki3({ startRow: o.startRow, startColumn: o.endColumn, endRow: o.endRow, endColumn: o.endColumn }, i); + if (!G.equals(l, o)) for (let e30 of i.iterateByRow(l)) (!e30.value || !i.cellHasValue(e30.value)) && s.setValue(e30.row, e30.col, { f: `=SUM(${Gn2({ startColumn: o.startColumn, endColumn: e30.col - 1, startRow: e30.row, endRow: e30.row })})` }); + let d = e29.get(ii); + return (await ui([{ id: no3.id, params: { range: o, value: s.getMatrix() } }, { id: X4.id, params: { unitId: n.unitId, subUnitId: n.subUnitId, selections: [{ range: o, primary: G.contains(o, t.primary) ? t.primary : { ...a, actualRow: a.startRow, actualColumn: a.startColumn }, style: null }] } }], d)).result; + } }; + var Ln4 = `sheets-formula.base.config`; + Symbol(Ln4); + var Rn4 = (function(e29) { + return e29[e29.FORCED = 0] = `FORCED`, e29[e29.WHEN_EMPTY = 1] = `WHEN_EMPTY`, e29[e29.NO_CALCULATION = 2] = `NO_CALCULATION`, e29; + })({}); + var zn4 = {}; + var Bn4 = `sheets-formula.remote.config`; + Symbol(Bn4); + var Vn4 = {}; + function J5(e29, t) { + return function(n, r) { + t(n, r, e29); + }; + } + function Y5(e29, t, n, r) { + var i = arguments.length, a = i < 3 ? t : r === null ? r = Object.getOwnPropertyDescriptor(t, n) : r, o; + if (typeof Reflect == `object` && typeof Reflect.decorate == `function`) a = Reflect.decorate(e29, t, n, r); + else for (var s = e29.length - 1; s >= 0; s--) (o = e29[s]) && (a = (i < 3 ? o(a) : i > 3 ? o(t, n, a) : o(t, n)) || a); + return i > 3 && a && Object.defineProperty(t, n, a), a; + } + var Hn4 = class extends E { + constructor(e29, t) { + super(), this._autoFillService = e29, this._lexerTreeBuilder = t, this._registerAutoFill(); + } + _registerAutoFill() { + let e29 = { type: _l2.FORMULA, priority: 1001, match: (e30) => ka(e30 == null ? void 0 : e30.f) || Aa(e30 == null ? void 0 : e30.si), isContinue: (e30, t) => e30.type === _l2.FORMULA, applyFunctions: { [$4.COPY]: (e30, t, n, r, i) => { + let { data: a, index: o } = e30; + return this._fillCopyFormula(a, t, n, o, r, i); + } } }; + this._autoFillService.registerRule(e29); + } + _fillCopyFormula(e29, t, n, r, i, a) { + let o = Wn4(i), s = [], c = /* @__PURE__ */ new Map(); + for (let i2 = 1; i2 <= t; i2++) { + let d = (i2 - 1) % e29.length, f = r[d], p = D.deepClone(e29[d]); + if (p) { + var l, u; + let r2 = ((l = e29[d]) == null ? void 0 : l.f) || ``, i3 = ((u = e29[d]) == null ? void 0 : u.si) || ``, m = ka(r2); + if (Aa(i3)) p.si = i3, p.f = null, p.v = null, p.p = null, p.t = null, s.push(p); + else if (m) { + let e30 = c.get(d); + if (e30) p.si = e30, p.f = null, p.v = null, p.p = null, p.t = null; + else { + e30 = O2(6), c.set(d, e30); + let { offsetX: i4, offsetY: s2 } = Un3(o, t, n, a, f), l2 = this._lexerTreeBuilder.moveFormulaRefOffset(r2, i4, s2); + p.si = e30, p.f = l2, p.v = null, p.p = null, p.t = null; + } + s.push(p); + } + } + } + return s; + } + }; + Hn4 = Y5([J5(0, Wl2), J5(1, Inject(ni))], Hn4); + function Un3(e29, t, n, r, i) { + let { source: a, target: s } = r, { rows: c } = s, { rows: l } = a, u = 0, d = 0; + switch (n) { + case Fn.UP: + d = c[i] - l[i]; + break; + case Fn.RIGHT: + u = e29; + break; + case Fn.DOWN: + d = c[i] - l[i]; + break; + case Fn.LEFT: + u = -e29 * t; + break; + } + return { offsetX: u, offsetY: d }; + } + function Wn4(e29) { + let t = 0; + for (let n in e29) e29[n].forEach((e30) => { + t += e30.data.length; + }); + return t; + } + function Gn4(e29) { + "@babel/helpers - typeof"; + return Gn4 = typeof Symbol == `function` && typeof Symbol.iterator == `symbol` ? function(e30) { + return typeof e30; + } : function(e30) { + return e30 && typeof Symbol == `function` && e30.constructor === Symbol && e30 !== Symbol.prototype ? `symbol` : typeof e30; + }, Gn4(e29); + } + function Kn4(e29, t) { + if (Gn4(e29) != `object` || !e29) return e29; + var n = e29[Symbol.toPrimitive]; + if (n !== void 0) { + var r = n.call(e29, t || `default`); + if (Gn4(r) != `object`) return r; + throw TypeError(`@@toPrimitive must return a primitive value.`); + } + return (t === `string` ? String : Number)(e29); + } + function qn4(e29) { + var t = Kn4(e29, `string`); + return Gn4(t) == `symbol` ? t : t + ``; + } + function X5(e29, t, n) { + return (t = qn4(t)) in e29 ? Object.defineProperty(e29, t, { value: n, enumerable: true, configurable: true, writable: true }) : e29[t] = n, e29; + } + var Jn4 = class extends E { + constructor(e29, t, n) { + super(), this._commandService = e29, this._sheetInterceptorService = t, this._formulaDataModel = n, X5(this, `_errorValueCell`, { v: D3.VALUE, t: tr.STRING }), X5(this, `_refreshRender`, void 0), this._initialize(); + } + _initialize() { + this._commandExecutedListener(), this._initInterceptorCellContent(); + } + _commandExecutedListener() { + this.disposeWithMe(this._commandService.onCommandExecuted(async (e29) => { + if (e29.id === Fr2.id) { + let t = e29.params; + if (!t) return; + let { imageFormulaData: n } = t; + if (!n || n.length === 0) return; + let r = await Promise.all(n.map((e30) => this._getImageNatureSize(e30))), i = {}; + r.forEach((e30) => { + let { unitId: t2, sheetId: n2, row: r2, column: a, ...o } = e30; + i[t2] || (i[t2] = {}), i[t2][n2] || (i[t2][n2] = new Sa()), i[t2][n2].setValue(r2, a, o); + }), this._formulaDataModel.mergeUnitImageFormulaData(i), this._refreshRender(); + } + })); + } + _initInterceptorCellContent() { + this.disposeWithMe(this._sheetInterceptorService.intercept(Bt3.CELL_CONTENT, { priority: Vt2.CELL_IMAGE, effect: At.Value | At.Style, handler: (e29, r, i) => { + var a; + let { unitId: o, subUnitId: s, row: c, col: u } = r, d = this._formulaDataModel.getUnitImageFormulaData(), f = d == null || (a = d[o]) == null || (a = a[s]) == null ? void 0 : a.getValue(c, u); + if (!f) return i(e29); + let { source: p, height: h, width: g2, isErrorImage: _2, imageNaturalWidth: v, imageNaturalHeight: y } = f; + if (_2) return i(this._errorValueCell); + let S4 = g2 || v, C3 = h || y, T4 = ql(``, {}), E4 = { unitId: o, subUnitId: s, drawingId: O2(), drawingType: Ir.DRAWING_IMAGE, imageSourceType: Fl.URL, source: p, transform: { left: 0, top: 0, width: S4, height: C3 }, docTransform: { size: { width: S4, height: C3 }, positionH: { relativeFrom: Dr.PAGE, posOffset: 0 }, positionV: { relativeFrom: Or.PARAGRAPH, posOffset: 0 }, angle: 0 }, behindDoc: A.FALSE, title: ``, description: ``, layoutType: gr.INLINE, wrapText: hr.BOTH_SIDES, distB: 0, distL: 0, distR: 0, distT: 0 }, D4 = Z.drawing.add({ documentDataModel: T4, drawings: [E4], selection: { collapsed: true, startOffset: 0, endOffset: 0 } }); + return D4 ? (T4.apply(D4), i({ ...e29, p: T4.getSnapshot() })) : i(this._errorValueCell); + } })); + } + async _getImageNatureSize(e29) { + let t = await this._getImageSize(e29.source); + return t.image ? { ...e29, isErrorImage: false, imageNaturalHeight: t.height, imageNaturalWidth: t.width } : { ...e29, isErrorImage: true }; + } + async _getImageSize(e29) { + return new Promise((t) => { + let n = new Image(); + n.src = e29, n.onload = () => { + t({ width: n.width, height: n.height, image: n }); + }, n.onerror = () => { + t({ width: 0, height: 0, image: null }); + }; + }); + } + registerRefreshRenderFunction(e29) { + this._refreshRender = e29; + } + }; + Jn4 = Y5([J5(0, ii), J5(1, Inject(K4)), J5(2, Inject(ai2))], Jn4); + var Yn4 = { done: 0, count: 0 }; + var Xn4 = { onlyLocal: true }; + var Zn4 = class extends E { + _emitProgress(e29) { + this._progress$.next({ done: this._doneCalculationTaskCount, count: this._totalCalculationTaskCount, label: e29 }); + } + _startProgress() { + this._doneCalculationTaskCount = 0, this._totalCalculationTaskCount = 1; + let e29 = this._localeService.t(`formula.progress.analyzing`); + this._emitProgress(e29); + } + _calculateProgress(e29) { + if (this._executionInProgressParams) { + let { totalFormulasToCalculate: t, completedFormulasCount: n, totalArrayFormulasToCalculate: r, completedArrayFormulasCount: i } = this._executionInProgressParams; + if (this._doneCalculationTaskCount = n + i, this._totalCalculationTaskCount = t + r, this._totalCalculationTaskCount === 0) return; + this._emitProgress(e29); + } + } + _completeProgress() { + this._doneCalculationTaskCount = this._totalCalculationTaskCount = 1; + let e29 = this._localeService.t(`formula.progress.done`); + this._emitProgress(e29); + } + clearProgress() { + this._doneCalculationTaskCount = 0, this._totalCalculationTaskCount = 0, this._emitProgress(); + } + constructor(e29, t, n, r, i, a, o) { + super(), this._commandService = e29, this._activeDirtyManagerService = t, this._logService = n, this._configService = r, this._formulaDataModel = i, this._localeService = a, this._registerOtherFormulaService = o, X5(this, `_waitingCommandQueue`, []), X5(this, `_executingDirtyData`, { forceCalculation: false, dirtyRanges: [], dirtyNameMap: {}, dirtyDefinedNameMap: {}, dirtyUnitFeatureMap: {}, dirtyUnitOtherFormulaMap: {}, clearDependencyTreeCache: {} }), X5(this, `_setTimeoutKey`, -1), X5(this, `_startExecutionTime`, 0), X5(this, `_totalCalculationTaskCount`, 0), X5(this, `_doneCalculationTaskCount`, 0), X5(this, `_executionInProgressParams`, null), X5(this, `_restartCalculation`, false), X5(this, `_progress$`, new BehaviorSubject(Yn4)), X5(this, `progress$`, this._progress$.asObservable()), this._commandExecutedListener(), this._initialExecuteFormulaProcessListener(), this._initialExecuteFormula(); + } + dispose() { + super.dispose(), this._progress$.next(Yn4), this._progress$.complete(), clearTimeout(this._setTimeoutKey); + } + _getCalculationMode() { + var e29; + let t = this._configService.getConfig(Ln4); + return (e29 = t == null ? void 0 : t.initialFormulaComputing) == null ? Rn4.WHEN_EMPTY : e29; + } + _commandExecutedListener() { + this.disposeWithMe(this._commandService.beforeCommandExecuted((e29) => { + if (e29.id === yr2.id || e29.id === xr2.id) { + let t = e29.params; + e29.id === yr2.id && (t.isCalculateTreeModel = this._configService.getConfig(Gr2) || false), t.maxIteration = this._configService.getConfig(Wr2), t.rowData = this._formulaDataModel.getHiddenRowsFiltered(); + } + })), this.disposeWithMe(this._commandService.onCommandExecuted((e29, t) => { + if (this._activeDirtyManagerService.get(e29.id)) { + if (e29.id === J4.id) { + let n = e29.params; + if (t && t.onlyLocal === true || n.trigger === yc3.id || n.trigger === ju3.id || n.trigger === Gi2.id) return; + } + this._waitingCommandQueue.push(e29), clearTimeout(this._setTimeoutKey), this._setTimeoutKey = setTimeout(() => { + let e30 = this._generateDirty(this._waitingCommandQueue); + this._executingDirtyData = this._mergeDirty(this._executingDirtyData, e30), this._executionInProgressParams == null ? this._commandService.executeCommand(yr2.id, { ...this._executingDirtyData }, Xn4) : (this._restartCalculation = true, this._commandService.executeCommand(Cr2.id, {})), this._waitingCommandQueue = []; + }, 100); + } + })); + } + _generateDirty(e29) { + let t = [], n = {}, r = {}, i = {}, a = {}, o = {}, s = false; + for (let c of e29) { + let e30 = this._activeDirtyManagerService.get(c.id); + if (e30 == null) continue; + let { dirtyRanges: l, dirtyNameMap: u, dirtyDefinedNameMap: d, dirtyUnitFeatureMap: f, dirtyUnitOtherFormulaMap: p, clearDependencyTreeCache: m, forceCalculation: h = false } = e30.getDirtyData(c); + l != null && this._mergeDirtyRanges(t, l), u != null && this._mergeDirtyNameMap(n, u), d != null && this._mergeDirtyNameMap(r, d), f != null && this._mergeDirtyUnitFeatureOrOtherFormulaMap(i, f), p != null && this._mergeDirtyUnitFeatureOrOtherFormulaMap(a, p), m != null && this._mergeDirtyNameMap(o, m), s = s || h; + } + return { dirtyRanges: t, dirtyNameMap: n, dirtyDefinedNameMap: r, dirtyUnitFeatureMap: i, dirtyUnitOtherFormulaMap: a, forceCalculation: s, clearDependencyTreeCache: o }; + } + _mergeDirty(e29, t) { + let n = [...e29.dirtyRanges, ...t.dirtyRanges], r = { ...e29.dirtyNameMap }, i = { ...e29.dirtyDefinedNameMap }, a = { ...e29.dirtyUnitFeatureMap }, o = { ...e29.dirtyUnitOtherFormulaMap }, s = { ...e29.clearDependencyTreeCache }; + return this._mergeDirtyNameMap(r, t.dirtyNameMap), this._mergeDirtyNameMap(i, t.dirtyDefinedNameMap), this._mergeDirtyUnitFeatureOrOtherFormulaMap(a, t.dirtyUnitFeatureMap), this._mergeDirtyUnitFeatureOrOtherFormulaMap(o, t.dirtyUnitOtherFormulaMap), this._mergeDirtyNameMap(s, t.clearDependencyTreeCache), { dirtyRanges: n, dirtyNameMap: r, dirtyDefinedNameMap: i, dirtyUnitFeatureMap: a, dirtyUnitOtherFormulaMap: o, forceCalculation: e29.forceCalculation || t.forceCalculation, clearDependencyTreeCache: s }; + } + _mergeDirtyRanges(e29, t) { + for (let n of t) { + let t2 = false; + for (let r of e29) if (n.unitId === r.unitId && n.sheetId === r.sheetId) { + let { startRow: e30, startColumn: i, endRow: a, endColumn: o } = n.range, { startRow: s, startColumn: c, endRow: l, endColumn: u } = r.range; + if (e30 === s && i === c && a === l && o === u) { + t2 = true; + break; + } + } + t2 || e29.push(n); + } + } + _mergeDirtyNameMap(e29, t) { + Object.keys(t).forEach((n) => { + e29[n] == null && (e29[n] = {}), Object.keys(t[n]).forEach((r) => { + var i; + (i = t[n]) != null && i[r] && (e29[n][r] = t[n][r]); + }); + }); + } + _mergeDirtyUnitFeatureOrOtherFormulaMap(e29, t) { + Object.keys(t).forEach((n) => { + e29[n] == null && (e29[n] = {}), Object.keys(t[n]).forEach((r) => { + e29[n][r] == null && (e29[n][r] = {}), Object.keys(t[n][r]).forEach((i) => { + e29[n][r][i] = t[n][r][i] || false; + }); + }); + }); + } + _initialExecuteFormulaProcessListener() { + let e29 = null, t = 0; + this.disposeWithMe(this._commandService.onCommandExecuted((n) => { + if (n.id === Cr2.id && this.clearProgress(), n.id !== wr2.id) return; + let r = n.params; + if (r.stageInfo != null) { + let { stage: n2 } = r.stageInfo; + if (n2 === Wa.START) t === 0 && (this._startExecutionTime = performance.now()), t++, e29 !== null && (clearTimeout(e29), e29 = null), e29 = setTimeout(() => { + e29 = null, this._startProgress(); + }, 1e3); + else if (n2 === Wa.CURRENTLY_CALCULATING) { + if (this._executionInProgressParams = r.stageInfo, e29 === null) { + let e30 = this._localeService.t(`formula.progress.calculating`); + this._calculateProgress(e30); + } + } else if (n2 === Wa.START_DEPENDENCY_ARRAY_FORMULA) { + if (this._executionInProgressParams = r.stageInfo, e29 === null) { + let e30 = this._localeService.t(`formula.progress.array-analysis`); + this._calculateProgress(e30); + } + } else if (n2 === Wa.CURRENTLY_CALCULATING_ARRAY_FORMULA && (this._executionInProgressParams = r.stageInfo, e29 === null)) { + let e30 = this._localeService.t(`formula.progress.array-calculation`); + this._calculateProgress(e30); + } + } else { + let n2 = r.functionsExecutedState, i = ``; + switch (t--, n2) { + case Ga.NOT_EXECUTED: + i = `No tasks are being executed anymore`, this._resetExecutingDirtyData(); + break; + case Ga.STOP_EXECUTION: + i = `The execution of the formula has been stopped`, t = 0; + break; + case Ga.SUCCESS: + i = `Formula calculation succeeded`, (t === 0 || t === -1) && (i += `. Total time consumed: ${performance.now() - this._startExecutionTime} ms`), this._resetExecutingDirtyData(); + break; + case Ga.INITIAL: + i = `Waiting for calculation`, this._resetExecutingDirtyData(); + break; + } + (t === 0 || t === -1) && (e29 ? (clearTimeout(e29), e29 = null, this.clearProgress()) : this._completeProgress(), t = 0, this._doneCalculationTaskCount = 0, this._totalCalculationTaskCount = 0), n2 === Ga.STOP_EXECUTION && this._restartCalculation ? (this._restartCalculation = false, this._commandService.executeCommand(yr2.id, { ...this._executingDirtyData }, Xn4)) : this._executionInProgressParams = null, this._logService.debug(`[TriggerCalculationController]`, i); + } + })); + } + _resetExecutingDirtyData() { + this._executingDirtyData = { dirtyRanges: [], dirtyNameMap: {}, dirtyDefinedNameMap: {}, dirtyUnitFeatureMap: {}, dirtyUnitOtherFormulaMap: {}, forceCalculation: false, clearDependencyTreeCache: {} }; + } + _initialExecuteFormula() { + let e29 = this._getCalculationMode(), t = this._getDirtyDataByCalculationMode(e29); + this._commandService.executeCommand(br2.id, t, Xn4), this._registerOtherFormulaService.calculateStarted$.next(true); + } + _getDirtyDataByCalculationMode(e29) { + return { forceCalculation: e29 === Rn4.FORCED, dirtyRanges: e29 === Rn4.WHEN_EMPTY ? this._formulaDataModel.getFormulaDirtyRanges() : [], dirtyNameMap: {}, dirtyDefinedNameMap: {}, dirtyUnitFeatureMap: {}, dirtyUnitOtherFormulaMap: {}, clearDependencyTreeCache: {} }; + } + }; + Zn4 = Y5([J5(0, ii), J5(1, Gy), J5(2, L), J5(3, Yr), J5(4, Inject(ai2)), J5(5, Inject(zu)), J5(6, Inject(Jy))], Zn4); + function Qn4(e29, t, n) { + var r; + return e29 == null || e29[t] == null || ((r = e29[t]) == null ? void 0 : r[n]) == null; + } + function $n4(e29, t, n) { + if (n) { + var r; + if (e29 && e29[t] && (r = e29[t]) != null && r[n]) return delete e29[t][n], { [t]: { [n]: null } }; + } else if (e29 && e29[t]) return delete e29[t], { [t]: null }; + } + var Z5 = (function(e29) { + return e29[e29.MoveRange = 0] = `MoveRange`, e29[e29.MoveRows = 1] = `MoveRows`, e29[e29.MoveCols = 2] = `MoveCols`, e29[e29.InsertRow = 3] = `InsertRow`, e29[e29.InsertColumn = 4] = `InsertColumn`, e29[e29.RemoveRow = 5] = `RemoveRow`, e29[e29.RemoveColumn = 6] = `RemoveColumn`, e29[e29.DeleteMoveLeft = 7] = `DeleteMoveLeft`, e29[e29.DeleteMoveUp = 8] = `DeleteMoveUp`, e29[e29.InsertMoveDown = 9] = `InsertMoveDown`, e29[e29.InsertMoveRight = 10] = `InsertMoveRight`, e29[e29.SetName = 11] = `SetName`, e29[e29.RemoveSheet = 12] = `RemoveSheet`, e29[e29.SetDefinedName = 13] = `SetDefinedName`, e29[e29.RemoveDefinedName = 14] = `RemoveDefinedName`, e29; + })({}); + var er4 = [Z5.SetName, Z5.RemoveSheet, Z5.SetDefinedName, Z5.RemoveDefinedName]; + function tr3(e29, t, n) { + let { type: r } = n; + return er4.includes(r) ? nr4(e29, t) : rr4(e29, t, n); + } + function nr4(e29, t) { + let n = [], r = []; + return Object.keys(t).forEach((i) => { + let a = t[i], o = e29[i]; + if (a == null || o == null) return true; + Object.keys(a).forEach((e30) => { + let t2 = new Sa(a[e30] || {}), s = new Sa(o[e30] || {}), c = new Sa(), l = new Sa(); + if (t2.forValue((e31, t3, n2) => { + if (n2 == null) return true; + let r2 = Sr4(n2); + r2 !== null && (c.setValue(e31, t3, r2), l.setValue(e31, t3, s.getValue(e31, t3))); + }), c.getSizeOf() === 0) return; + let u = { subUnitId: e30, unitId: i, cellValue: c.getMatrix() }, d = { id: J4.id, params: u }; + r.push(d); + let f = { subUnitId: e30, unitId: i, cellValue: l.getMatrix() }, p = { id: J4.id, params: f }; + n.push(p); + }); + }), { undos: n, redos: r }; + } + function rr4(e29, t, n) { + let { redoFormulaData: r, undoFormulaData: i } = ir4(e29, t, n), a = [], o = []; + return Object.keys(r).forEach((e30) => { + Object.keys(r[e30]).forEach((t2) => { + if (Object.keys(r[e30][t2]).length !== 0) { + let n2 = { subUnitId: t2, unitId: e30, cellValue: r[e30][t2] }, i2 = { id: J4.id, params: n2 }; + a.push(i2); + } + }); + }), Object.keys(i).forEach((e30) => { + Object.keys(i[e30]).forEach((t2) => { + if (Object.keys(i[e30][t2]).length !== 0) { + let n2 = { subUnitId: t2, unitId: e30, cellValue: i[e30][t2] }, r2 = { id: J4.id, params: n2 }; + o.push(r2); + } + }); + }), { undos: o, redos: a }; + } + function ir4(e29, t, n) { + var r, i; + let a = {}, o = {}, { unitId: s, sheetId: c } = n, l = (r = n.targetUnitId) == null ? s : r, u = (i = n.targetSheetId) == null ? c : i, d = s !== l || c !== u; + return (/* @__PURE__ */ new Set([...Object.keys(e29), ...Object.keys(t)])).forEach((r2) => { + Qn4(e29, r2, c) || (/* @__PURE__ */ new Set([...Object.keys(e29[r2] || {}), ...Object.keys(t[r2] || {})])).forEach((i2) => { + var l2, u2; + let f = (l2 = e29[r2]) == null ? void 0 : l2[i2], p = (u2 = t[r2]) == null ? void 0 : u2[i2], m = new Sa(f || {}), h = new Sa(p || {}), g2 = []; + g2 = d || r2 !== s || i2 !== c ? or4(h) : ar4(m, h, n); + let _2 = br4(g2, m, h), v = xr4(g2, m); + a[r2] || (a[r2] = {}), o[r2] || (o[r2] = {}), a[r2][i2] = { ...a[r2][i2], ..._2 }, o[r2][i2] = { ...o[r2][i2], ...v }; + }); + }), { redoFormulaData: a, undoFormulaData: o }; + } + function ar4(e29, t, n) { + let { type: r, from: i, to: a, range: o } = n, s = []; + return e29.forValue((e30, c, l) => { + if (l == null || !wr4(l)) return true; + let u = Ia(e30, c), d = null, f = false; + if ([Z5.MoveRange, Z5.MoveRows, Z5.MoveCols].includes(r)) d = sr4(r, i, a, u); + else if (o != null) { + let e31 = cr4(u, n); + d = e31.newCell, f = e31.isReverse; + } + if (D.diffValue(u, d) && !t.getValue(e30, c)) return true; + f ? s.unshift({ oldCell: u, newCell: d }) : s.push({ oldCell: u, newCell: d }); + }), s; + } + function or4(e29) { + let t = []; + return e29.forValue((e30, n, r) => { + if (r == null || !wr4(r)) return true; + let i = Ia(e30, n); + t.push({ oldCell: i, newCell: i }); + }), t; + } + function sr4(e29, t, n, r) { + if (t == null || n == null) return null; + switch (e29) { + case Z5.MoveRange: + return lr4(t, n, r); + case Z5.MoveRows: + return ur4(t, n, r); + case Z5.MoveCols: + return dr4(t, n, r); + default: + return null; + } + } + function cr4(e29, t) { + let { type: n, rangeFilteredRows: r } = t, i = t.range, a = null, o = false; + switch (n) { + case Z5.InsertRow: + a = fr4(i, e29), o = true; + break; + case Z5.InsertColumn: + a = pr4(i, e29), o = true; + break; + case Z5.RemoveRow: + a = mr4(i, e29, r); + break; + case Z5.RemoveColumn: + a = hr4(i, e29); + break; + case Z5.DeleteMoveLeft: + a = gr4(i, e29); + break; + case Z5.DeleteMoveUp: + a = _r4(i, e29); + break; + case Z5.InsertMoveDown: + a = vr4(i, e29), o = true; + break; + case Z5.InsertMoveRight: + a = yr4(i, e29), o = true; + break; + default: + break; + } + return { newCell: a, isReverse: o }; + } + function lr4(e29, t, n) { + return Ds3(os3({ id: Z4.MoveRangeCommandId, params: { toRange: t, fromRange: e29 } }, n), n); + } + function ur4(e29, t, n) { + return Ds3(ts3({ id: Z4.MoveRowsCommandId, params: { toRange: t, fromRange: e29 } }, n), n); + } + function dr4(e29, t, n) { + return Ds3(is3({ id: Z4.MoveColsCommandId, params: { toRange: t, fromRange: e29 } }, n), n); + } + function fr4(e29, t) { + return Ds3(ms3({ id: Z4.InsertRowCommandId, params: { range: e29, unitId: ``, subUnitId: ``, direction: Fn.DOWN } }, t), t); + } + function pr4(e29, t) { + return Ds3(hs3({ id: Z4.InsertColCommandId, params: { range: e29, unitId: ``, subUnitId: ``, direction: Fn.RIGHT } }, t), t); + } + function mr4(e29, t, n) { + return Ds3(us3({ id: Z4.RemoveRowCommandId, params: { range: e29 } }, t, n), t); + } + function hr4(e29, t) { + return Ds3(ls3({ id: Z4.RemoveColCommandId, params: { range: e29 } }, t), t); + } + function gr4(e29, t) { + return Ds3(bs3({ id: Z4.DeleteRangeMoveLeftCommandId, params: { range: e29 } }, t), t); + } + function _r4(e29, t) { + return Ds3(Ss3({ id: Z4.DeleteRangeMoveUpCommandId, params: { range: e29 } }, t), t); + } + function vr4(e29, t) { + return Ds3(gs3({ id: Z4.InsertRangeMoveDownCommandId, params: { range: e29 } }, t), t); + } + function yr4(e29, t) { + return Ds3(vs3({ id: Z4.InsertRangeMoveRightCommandId, params: { range: e29 } }, t), t); + } + function br4(e29, t, n) { + let r = new Sa({}); + for (let s = 0; s < e29.length; s++) { + var i, a; + let { oldCell: c, newCell: l } = e29[s]; + if ((i = r.getValue(c.startRow, c.startColumn)) != null && i.f || (a = r.getValue(c.startRow, c.startColumn)) != null && a.si || r.setValue(c.startRow, c.startColumn, { f: null, si: null }), l) { + var o; + let e30 = Sr4((o = n.getValue(c.startRow, c.startColumn)) == null ? t.getValue(c.startRow, c.startColumn) : o); + r.setValue(l.startRow, l.startColumn, e30); + } + } + return r.getMatrix(); + } + function xr4(e29, t) { + let n = new Sa({}); + for (let r = e29.length - 1; r >= 0; r--) { + let { oldCell: i, newCell: a } = e29[r], o = Sr4(t.getValue(i.startRow, i.startColumn)); + if (n.setValue(i.startRow, i.startColumn, o), a) { + let e30 = Sr4(t.getValue(a.startRow, a.startColumn)); + n.setValue(a.startRow, a.startColumn, e30 == null ? { f: null, si: null } : e30); + } + } + return n.getMatrix(); + } + function Sr4(e29) { + if (e29 === void 0) return; + if (e29 === null) return { f: null, si: null }; + let { f: t, si: n, x: r = 0, y: i = 0 } = e29, a = ka(t), o = Aa(n); + if (!a && !o) return { f: null, si: null }; + let s = {}; + return o && (s.si = n), a && r === 0 && i === 0 && (s.f = t), s.f === void 0 && (s.f = null), s.si === void 0 && (s.si = null), s; + } + function Cr4(e29, t) { + let n = new Sa({}); + return new Sa(e29).forValue((e30, r, i) => { + var a; + let o = Sr4(i); + o !== void 0 && (t && (a = t[e30]) != null && a[r] && (o != null && o.f || o != null && o.si) && (o.v = null, o.t = null), n.setValue(e30, r, o)); + }), n.getMatrix(); + } + function wr4(e29) { + let t = (e29 == null ? void 0 : e29.f) || ``, n = (e29 == null ? void 0 : e29.si) || ``, r = ka(t), i = Aa(n); + return !!(r || i); + } + function Tr4(e29, t, n, r, i, a) { + if ((i == null || i.length === 0) && (a == null || a.length === 0)) { + if (e29 === n && t === r) return true; + } else if ((e29 === i || i == null || i.length === 0) && t === a) return true; + return false; + } + function Er4(e29, t, n = 0, r = 0) { + let i = []; + for (let a = 0, o = e29.length; a < o; a++) { + let o2 = e29[a]; + if (typeof o2 == `string` || o2.nodeType !== Xr.REFERENCE || t.includes(a)) { + i.push(o2); + continue; + } + let { token: s } = o2, { range: c, sheetName: l, unitId: u } = Jr2(s), d = G.moveOffset(c, n, r); + i.push({ ...o2, token: Jn2({ range: d, unitId: u, sheetName: l }) }); + } + return i; + } + var Q5 = (function(e29) { + return e29[e29.UP = 0] = `UP`, e29[e29.DOWN = 1] = `DOWN`, e29[e29.LEFT = 2] = `LEFT`, e29[e29.RIGHT = 3] = `RIGHT`, e29[e29.ALL = 4] = `ALL`, e29; + })({}); + function Dr4(e29, t, n, r, i = {}) { + let { type: a, unitId: s, sheetId: c, targetUnitId: l, targetSheetId: u, targetSheetName: d, range: f, from: p, to: m, rangeFilteredRows: h } = t, { range: g2, sheetId: _2, unitId: v, sheetName: y, refOffsetX: b, refOffsetY: x2 } = e29, { preserveSheetQualifier: S4 = false, inCrossSheetCutRange: C3 = false } = i; + if (!Tr4(s, c, n, r, v, _2)) return; + let w2 = G.moveOffset(g2, b, x2), D4 = null; + if (a === Z5.MoveRange) { + if (p == null || m == null) return; + let e30 = kr4(w2, p), t2 = Po(w2, p); + if (t2 == null || e30 !== Q5.ALL) return; + let n2 = Ds3(os3({ id: Z4.MoveRangeCommandId, params: { toRange: m, fromRange: p } }, t2), t2); + if (n2 == null) return D3.REF; + D4 = Or4(e30, n2, p, m, w2, t2); + } else if (a === Z5.MoveRows) { + if (p == null || m == null) return; + let e30 = kr4(w2, p), t2 = Po(w2, p); + if (t2 == null && (p.endRow < w2.startRow && m.endRow <= w2.startRow || p.startRow > w2.endRow && m.startRow > w2.endRow)) return; + t2 == null && (t2 = { startRow: w2.startRow, endRow: w2.endRow, startColumn: w2.startColumn, endColumn: w2.endColumn, rangeType: B.NORMAL }); + let n2 = Ds3(ts3({ id: Z4.MoveRowsCommandId, params: { toRange: m, fromRange: p } }, t2), t2); + if (n2 == null) return D3.REF; + D4 = Or4(e30, n2, p, m, w2, t2); + } else if (a === Z5.MoveCols) { + if (p == null || m == null) return; + let e30 = kr4(w2, p), t2 = Po(w2, p); + if (t2 == null && (p.endColumn < w2.startColumn && m.endColumn <= w2.startColumn || p.startColumn > w2.endColumn && m.startColumn > w2.endColumn)) return; + t2 == null && (t2 = { startRow: w2.startRow, endRow: w2.endRow, startColumn: w2.startColumn, endColumn: w2.endColumn, rangeType: B.NORMAL }); + let n2 = Ds3(is3({ id: Z4.MoveColsCommandId, params: { toRange: m, fromRange: p } }, t2), t2); + if (n2 == null) return D3.REF; + D4 = Or4(e30, n2, p, m, w2, t2); + } + if (f != null) { + if (a === Z5.InsertRow) { + let e30 = Ds3(ms3({ id: Z4.InsertRowCommandId, params: { range: f, unitId: ``, subUnitId: ``, direction: Fn.DOWN } }, w2), w2); + if (e30 == null) return; + D4 = { ...w2, ...e30 }; + } else if (a === Z5.InsertColumn) { + let e30 = Ds3(hs3({ id: Z4.InsertColCommandId, params: { range: f, unitId: ``, subUnitId: ``, direction: Fn.RIGHT } }, w2), w2); + if (e30 == null) return; + D4 = { ...w2, ...e30 }; + } else if (a === Z5.RemoveRow) { + let e30 = Ds3(us3({ id: Z4.RemoveRowCommandId, params: { range: f } }, w2, h), w2); + if (e30 == null) return D3.REF; + D4 = { ...w2, ...e30 }; + } else if (a === Z5.RemoveColumn) { + let e30 = Ds3(ls3({ id: Z4.RemoveColCommandId, params: { range: f } }, w2), w2); + if (e30 == null) return D3.REF; + D4 = { ...w2, ...e30 }; + } else if (a === Z5.DeleteMoveLeft) { + let e30 = Ds3(bs3({ id: Z4.DeleteRangeMoveLeftCommandId, params: { range: f } }, w2), w2); + if (e30 == null) return D3.REF; + D4 = { ...w2, ...e30 }; + } else if (a === Z5.DeleteMoveUp) { + let e30 = Ds3(Ss3({ id: Z4.DeleteRangeMoveUpCommandId, params: { range: f } }, w2), w2); + if (e30 == null) return D3.REF; + D4 = { ...w2, ...e30 }; + } else if (a === Z5.InsertMoveDown) { + let e30 = Ds3(gs3({ id: Z4.InsertRangeMoveDownCommandId, params: { range: f } }, w2), w2); + if (e30 == null) return; + D4 = { ...w2, ...e30 }; + } else if (a === Z5.InsertMoveRight) { + let e30 = Ds3(vs3({ id: Z4.InsertRangeMoveRightCommandId, params: { range: f } }, w2), w2); + if (e30 == null) return; + D4 = { ...w2, ...e30 }; + } + } + if (D4 == null) return; + let O5 = a === Z5.MoveRange && !!u && u !== c && !C3, ee = O5 ? u : _2, k4 = O5 && d || y, te = O5 && l || v, ne = te == null || te.length === 0 || te === n; + return Jn2({ range: D4, sheetName: S4 || !(ne && ee === r) ? k4 : ``, unitId: ne ? `` : te }); + } + function Or4(e29, t, n, r, i, a) { + let { startRow: o, endRow: s, startColumn: c, endColumn: l, rangeType: u } = Mr4(t), { startRow: d, startColumn: f, endRow: p, endColumn: m, rangeType: h = B.NORMAL } = Mr4(n), { startRow: g2, startColumn: _2, endRow: v, endColumn: y } = Mr4(r), { startRow: b, endRow: x2, startColumn: S4, endColumn: C3 } = Mr4(a), { startRow: w2, endRow: E4, startColumn: D4, endColumn: O5, rangeType: ee = B.NORMAL } = Mr4(i), k4 = { ...i }; + function te() { + return u === B.COLUMN && ee === B.COLUMN ? true : c >= D4 && l <= O5; + } + function ne() { + return u === B.ROW && ee === B.ROW ? true : o >= w2 && s <= E4; + } + if (e29 === Q5.UP) if (te()) if (o < w2) k4.startRow = o; + else if (o >= E4) k4.endRow -= p + 1 - w2; + else return; + else return; + else if (e29 === Q5.DOWN) if (te()) if (s > E4) k4.endRow = s; + else if (s <= w2) k4.startRow += E4 - d + 1; + else return; + else return; + else if (e29 === Q5.LEFT) if (ne()) if (c < D4) k4.startColumn = c; + else if (c >= O5) k4.endColumn -= m + 1 - D4; + else return; + else return; + else if (e29 === Q5.RIGHT) if (ne()) if (l > O5) k4.endColumn = l; + else if (l <= D4) k4.startColumn += O5 - f + 1; + else return; + else return; + else e29 === Q5.ALL ? (k4.startRow = o, k4.startColumn = c, k4.endRow = s, k4.endColumn = l) : f <= D4 && m >= O5 || h === B.ROW && ee === B.ROW ? n.endRow < w2 ? (g2 >= w2 && (k4.startRow -= p - d + 1), g2 >= E4 && (k4.endRow -= p - d + 1)) : n.startRow > E4 ? (v <= E4 && (k4.endRow += p - d + 1), v <= w2 && (k4.startRow += p - d + 1)) : n.startRow >= w2 && n.endRow <= E4 && (g2 <= w2 ? k4.startRow += p - d + 1 : g2 >= E4 && (k4.endRow -= p - d + 1)) : d <= w2 && p >= E4 || h === B.COLUMN && ee === B.COLUMN ? n.endColumn < D4 ? (_2 >= D4 && (k4.startColumn -= m - f + 1), _2 >= O5 && (k4.endColumn -= m - f + 1)) : n.startColumn > O5 ? (y <= O5 && (k4.endColumn += m - f + 1), y <= D4 && (k4.startColumn += m - f + 1)) : n.startColumn >= D4 && n.endColumn <= O5 && (_2 <= D4 ? k4.startColumn += m - f + 1 : _2 >= O5 && (k4.endColumn -= m - f + 1)) : ((_2 <= C3 + 1 && y >= O5 || _2 <= D4 && y >= S4 - 1) && g2 <= w2 && v >= E4 || g2 <= x2 + 1 && v >= E4 || g2 <= w2 && b - 1, k4.startRow = o, k4.startColumn = c, k4.endRow = s, k4.endColumn = l); + return k4; + } + function kr4(e29, t) { + let n = Ar4(e29.startRow), r = jr4(e29.endRow), i = Ar4(e29.startColumn), a = jr4(e29.endColumn), o = Ar4(t.startRow), s = jr4(t.endRow), c = Ar4(t.startColumn), l = jr4(t.endColumn); + function u() { + return e29.rangeType === B.COLUMN && t.rangeType === B.COLUMN ? true : n >= o && r <= s; + } + function d() { + return e29.rangeType === B.ROW && t.rangeType === B.ROW ? true : i >= c && a <= l; + } + function f() { + return e29.rangeType === B.ALL && t.rangeType === B.ALL; + } + return u() && d() || f() ? Q5.ALL : d() && n >= o && n <= s && r > s ? Q5.UP : d() && r >= o && r <= s && n < o ? Q5.DOWN : u() && i >= c && i <= l && a > l ? Q5.LEFT : u() && a >= c && a <= l && i < c ? Q5.RIGHT : null; + } + function Ar4(e29) { + return isNaN(e29) ? -1 / 0 : e29; + } + function jr4(e29) { + return isNaN(e29) ? 1 / 0 : e29; + } + function Mr4(e29) { + let { startRow: t, endRow: n, startColumn: r, endColumn: i } = e29; + return { ...e29, startRow: Ar4(t), endRow: jr4(n), startColumn: Ar4(r), endColumn: jr4(i) }; + } + function Nr4(e29, t) { + let { id: n } = t, r = null; + switch (n) { + case oa3.id: + r = Pr4(t, e29); + break; + case Ho2.id: + r = Fr4(t, e29); + break; + case Wo2.id: + r = Ir4(t, e29); + break; + case _o3.id: + r = Lr4(t); + break; + case wo3.id: + r = Rr4(t); + break; + case ho2.id: + r = zr4(t, e29); + break; + case po2.id: + r = Br4(t, e29); + break; + case No3.id: + r = Vr4(t, e29); + break; + case Io3.id: + r = Hr4(t, e29); + break; + case uo3.id: + r = Ur4(t, e29); + break; + case co3.id: + r = Wr4(t, e29); + break; + case Cd3.id: + r = Gr4(t, e29); + break; + case xu2.id: + r = Kr3(t, e29); + break; + case Uu3.id: + r = qr3(t, e29); + break; + case bu2.id: + r = Jr4(t, e29); + break; + } + return r; + } + function $5(e29) { + var t; + return { unitId: e29.getUnitId(), sheetId: ((t = e29.getActiveSheet()) == null ? void 0 : t.getSheetId()) || `` }; + } + function Pr4(e29, t) { + var n, r; + let { params: i } = e29; + if (!i) return null; + let { fromRange: a, toRange: o, fromUnitId: s, fromSubUnitId: c, toUnitId: l, toSubUnitId: u } = i; + if (!a || !o) return null; + let { unitId: d, sheetId: f } = $5(t), p = s || l || d, m = c || f, h = (n = t.getSheetBySheetId(m)) == null ? void 0 : n.getName(), g2 = u || c || f, _2 = l || s || d, v = (r = t.getSheetBySheetId(g2)) == null ? void 0 : r.getName(); + return { type: Z5.MoveRange, from: a, to: o, unitId: p, sheetId: m, sheetName: h, targetUnitId: _2, targetSheetId: g2, targetSheetName: v }; + } + function Fr4(e29, t) { + let { params: n } = e29; + if (!n) return null; + let { fromRange: { startRow: r, endRow: i }, toRange: { startRow: a, endRow: o } } = n, s = t.getUnitId(), c = t.getActiveSheet(); + if (!c) return null; + let l = c.getSheetId(), u = { startRow: r, startColumn: 0, endRow: i, endColumn: c.getColumnCount() - 1, rangeType: B.ROW }, d = { startRow: a, startColumn: 0, endRow: o, endColumn: c.getColumnCount() - 1, rangeType: B.ROW }; + return { type: Z5.MoveRows, from: u, to: d, unitId: s, sheetId: l }; + } + function Ir4(e29, t) { + let { params: n } = e29; + if (!n) return null; + let { fromRange: { startColumn: r, endColumn: i }, toRange: { startColumn: a, endColumn: o } } = n, s = t.getUnitId(), c = t.getActiveSheet(); + if (!c) return null; + let l = c.getSheetId(), u = { startRow: 0, startColumn: r, endRow: c.getRowCount() - 1, endColumn: i, rangeType: B.COLUMN }, d = { startRow: 0, startColumn: a, endRow: c.getRowCount() - 1, endColumn: o, rangeType: B.COLUMN }; + return { type: Z5.MoveCols, from: u, to: d, unitId: s, sheetId: l }; + } + function Lr4(e29) { + let { params: t } = e29; + if (!t) return null; + let { range: n, unitId: r, subUnitId: i } = t; + return { type: Z5.InsertRow, range: n, unitId: r, sheetId: i }; + } + function Rr4(e29) { + let { params: t } = e29; + if (!t) return null; + let { range: n, unitId: r, subUnitId: i } = t; + return { type: Z5.InsertColumn, range: n, unitId: r, sheetId: i }; + } + function zr4(e29, t) { + let { params: n } = e29; + if (!n) return null; + let { range: r } = n, { unitId: i, sheetId: a } = $5(t); + return { type: Z5.InsertMoveRight, range: r, unitId: i, sheetId: a }; + } + function Br4(e29, t) { + let { params: n } = e29; + if (!n) return null; + let { range: r } = n, { unitId: i, sheetId: a } = $5(t); + return { type: Z5.InsertMoveDown, range: r, unitId: i, sheetId: a }; + } + function Vr4(e29, t) { + var n, r; + let { params: i } = e29; + if (!i) return null; + let { range: a } = i, { unitId: o, sheetId: s } = $5(t); + return { type: Z5.RemoveRow, range: a, unitId: o, sheetId: s, rangeFilteredRows: (n = (r = t.getSheetBySheetId(s)) == null ? void 0 : r.getRangeFilterRows(a)) == null ? [] : n }; + } + function Hr4(e29, t) { + let { params: n } = e29; + if (!n) return null; + let { range: r } = n, { unitId: i, sheetId: a } = $5(t); + return { type: Z5.RemoveColumn, range: r, unitId: i, sheetId: a }; + } + function Ur4(e29, t) { + let { params: n } = e29; + if (!n) return null; + let { range: r } = n, { unitId: i, sheetId: a } = $5(t); + return { type: Z5.DeleteMoveUp, range: r, unitId: i, sheetId: a }; + } + function Wr4(e29, t) { + let { params: n } = e29; + if (!n) return null; + let { range: r } = n, { unitId: i, sheetId: a } = $5(t); + return { type: Z5.DeleteMoveLeft, range: r, unitId: i, sheetId: a }; + } + function Gr4(e29, t) { + let { params: n } = e29; + if (!n) return null; + let { unitId: r, subUnitId: i, name: a } = n, { unitId: o, sheetId: s } = $5(t); + return { type: Z5.SetName, unitId: r || o, sheetId: i || s, sheetName: a }; + } + function Kr3(e29, t) { + let { params: n } = e29; + if (!n) return null; + let { unitId: r, subUnitId: i } = n, { unitId: a, sheetId: o } = $5(t); + return { type: Z5.RemoveSheet, unitId: r || a, sheetId: i || o }; + } + function qr3(e29, t) { + let { params: n } = e29; + if (!n) return null; + let { unitId: r, name: i, id: a } = n, { sheetId: o } = $5(t); + return { type: Z5.SetDefinedName, unitId: r, sheetId: o, definedName: i, definedNameId: a }; + } + function Jr4(e29, t) { + let { params: n } = e29; + if (!n) return null; + let { unitId: r, name: i, id: a } = n, { sheetId: o } = $5(t); + return { type: Z5.RemoveDefinedName, unitId: r, sheetId: o, definedName: i, definedNameId: a }; + } + var Yr4 = class extends E { + constructor(e29, t, n, r) { + super(), this._definedNamesService = e29, this._univerInstanceService = t, this._sheetInterceptorService = n, this._lexerTreeBuilder = r, this._initialize(); + } + _initialize() { + this._commandExecutedListener(); + } + _commandExecutedListener() { + this.disposeWithMe(this._sheetInterceptorService.interceptCommand({ getMutations: (e29) => { + if (e29.id === Uu3.id || e29.id === bu2.id) return { redos: [], undos: [] }; + let t = this._univerInstanceService.getCurrentUnitForType(O.UNIVER_SHEET); + if (t == null) return { redos: [], undos: [] }; + let n = Nr4(t, e29); + return n ? this._getUpdateDefinedNameMutations(t, n) : { redos: [], undos: [] }; + } })); + } + _getUpdateDefinedNameMutations(e29, t) { + let { type: n, unitId: r, sheetId: i } = t, a = this._definedNamesService.getDefinedNameMap(r); + if (!a) return { redos: [], undos: [] }; + let o = [], s = []; + return Object.values(a).forEach((a2) => { + let { formulaOrRefString: c } = a2, l = this._lexerTreeBuilder.sequenceNodesBuilder(c); + if (l == null) return true; + let u = false, d = []; + for (let o2 = 0, s2 = l.length; o2 < s2; o2++) { + var f; + let s3 = l[o2]; + if (typeof s3 == `string` || s3.nodeType !== Xr.REFERENCE) continue; + let { token: c2 } = s3, { range: p2, sheetName: m2, unitId: h2 } = Jr2(c2), g2 = ((f = e29.getSheetBySheetName(m2)) == null ? void 0 : f.getSheetId()) || ``, _2 = { range: p2, sheetId: g2, unitId: h2, sheetName: m2, refOffsetX: 0, refOffsetY: 0 }, v = null; + if (n === Z5.RemoveSheet) v = this._removeSheet(a2, r, i); + else if (n === Z5.SetName) { + let { sheetId: e30, sheetName: n2 } = t; + if (n2 == null || g2 == null || g2.length === 0 || e30 !== g2) continue; + v = Jn2({ range: p2, sheetName: n2, unitId: h2 }); + } else v = Dr4(_2, t, r, i, { preserveSheetQualifier: true }); + v != null && (l[o2] = { ...s3, token: v }, u = true, d.push(o2)); + } + if (!u) return true; + let p = Zr2(Er4(l, d)), m = { id: hr2.id, params: { unitId: r, ...a2, formulaOrRefString: p } }; + o.push(m); + let h = { id: hr2.id, params: { unitId: r, ...a2 } }; + s.push(h); + }), { redos: o, undos: s }; + } + _removeSheet(e29, t, n) { + var r; + let { formulaOrRefString: i } = e29; + return ((r = this._definedNamesService.getWorksheetByRef(t, i)) == null ? void 0 : r.getSheetId()) === n ? D3.REF : null; + } + }; + Yr4 = Y5([J5(0, pr2), J5(1, Mu), J5(2, Inject(K4)), J5(3, Inject(ni))], Yr4); + var Xr3 = class extends E { + constructor(e29, t, n, r, i, a, o, s) { + super(), this._univerInstanceService = e29, this._commandService = t, this._lexerTreeBuilder = n, this._formulaDataModel = r, this._sheetInterceptorService = i, this._definedNamesService = a, this._configService = o, this._injector = s, this._commandExecutedListener(); + } + _commandExecutedListener() { + this.disposeWithMe(this._sheetInterceptorService.interceptCommand({ getMutations: (e29) => this._getUpdateFormula(e29) })), this.disposeWithMe(this._commandService.onCommandExecuted((e29) => { + if (e29.params) if (e29.id === Ro3.id) { + let { subUnitId: t, unitId: n } = e29.params; + this._handleWorkbookDisposed(n, t); + } else e29.id === iu3.id && this._handleInsertSheetMutation(e29.params); + })), this.disposeWithMe(this._commandService.beforeCommandExecuted((e29, t) => { + if (e29.id === J4.id) { + let n = e29.params; + if (t && t.onlyLocal === true || t && t.syncOnly === true || t && t.fromChangeset === true || n.trigger === yc3.id || n.trigger === ju3.id || n.trigger === Gi2.id || n.trigger === $u2.id) return; + this._handleSetRangeValuesMutation(n); + } + })), this.disposeWithMe(this._univerInstanceService.getTypeOfUnitAdded$(O.UNIVER_SHEET).subscribe((e29) => this._handleWorkbookAdded(e29))), this.disposeWithMe(this._univerInstanceService.getTypeOfUnitDisposed$(O.UNIVER_SHEET).pipe(map((e29) => e29.getUnitId())).subscribe((e29) => this._handleWorkbookDisposed(e29))); + } + _handleSetRangeValuesMutation(e29) { + let { subUnitId: t, unitId: n, cellValue: r } = e29; + if (r == null) return; + let i = this._formulaDataModel.updateFormulaData(n, t, r); + if (Object.keys(i).length === 0) return; + let a = { [n]: { [t]: i } }; + this._commandService.executeCommand(J4.id, { unitId: n, subUnitId: t, cellValue: Cr4(i, r) }, { onlyLocal: true, fromFormula: true }), this._formulaDataModel.updateArrayFormulaCellData(n, t, r), this._formulaDataModel.updateArrayFormulaRange(n, t, r), this._formulaDataModel.updateImageFormulaData(n, t, r), this._commandService.executeCommand(Pr2.id, { formulaData: a }, { onlyLocal: true }), this._commandService.executeCommand(zn2.id, { arrayFormulaRange: this._formulaDataModel.getArrayFormulaRange(), arrayFormulaCellData: this._formulaDataModel.getArrayFormulaCellData() }, { onlyLocal: true, remove: true }); + } + _handleWorkbookDisposed(e29, t) { + let n = $n4(this._formulaDataModel.getFormulaData(), e29, t), r = this._formulaDataModel.getArrayFormulaRange(), i = $n4(r, e29, t), a = this._formulaDataModel.getArrayFormulaCellData(), o = $n4(a, e29, t); + n && this._commandService.executeCommand(Pr2.id, { formulaData: n }, { onlyLocal: true }), i && o && this._commandService.executeCommand(zn2.id, { arrayFormulaRange: r, arrayFormulaCellData: a }, { onlyLocal: true }); + } + _handleInsertSheetMutation(e29) { + let { sheet: t, unitId: n } = e29, r = this._formulaDataModel.getFormulaData(), { id: i, cellData: a } = t, o = oi2(r, n, i, new Sa(a)); + this._commandService.executeCommand(Pr2.id, { formulaData: o }, { onlyLocal: true }); + } + _handleWorkbookAdded(e29) { + var t; + let n = {}, r = e29.getUnitId(), i = { [r]: {} }; + e29.getSheets().forEach((e30) => { + var t2; + let a2 = e30.getCellMatrix(), o2 = e30.getSheetId(), s2 = oi2(n, r, o2, a2); + i[r][o2] = (t2 = s2[r]) == null ? void 0 : t2[o2]; + }), this._commandService.executeCommand(Pr2.id, { formulaData: i }, { onlyLocal: true }); + let a = this._configService.getConfig(Ln4), o = (t = a == null ? void 0 : a.initialFormulaComputing) == null ? Rn4.WHEN_EMPTY : t, s = this._getDirtyDataByCalculationMode(o); + this._commandService.executeCommand(br2.id, s, { onlyLocal: true }); + } + _getDirtyDataByCalculationMode(e29) { + return { forceCalculation: e29 === Rn4.FORCED, dirtyRanges: e29 === Rn4.WHEN_EMPTY ? this._formulaDataModel.getFormulaDirtyRanges() : [], dirtyNameMap: {}, dirtyDefinedNameMap: {}, dirtyUnitFeatureMap: {}, dirtyUnitOtherFormulaMap: {}, clearDependencyTreeCache: {} }; + } + _getUpdateFormula(e29) { + let t = this._univerInstanceService.getCurrentUnitForType(O.UNIVER_SHEET); + if (!t) return { undos: [], redos: [] }; + let n = Nr4(t, e29); + if (n) { + let { unitSheetNameMap: e30 } = this._formulaDataModel.getCalculateData(), t2 = this._formulaDataModel.getFormulaData(), { newFormulaData: r } = this._getFormulaReferenceMoveInfo(t2, e30, n), { undos: i, redos: a } = tr3(t2, r, n); + return { undos: i, redos: a }; + } + return { undos: [], redos: [] }; + } + _getFormulaReferenceMoveInfo(e29, t, n) { + if (!D.isDefine(e29)) return { newFormulaData: {} }; + let r = Object.keys(e29); + if (r.length === 0) return { newFormulaData: {} }; + let i = {}, { unitId: a, sheetId: o, sheetName: s, targetUnitId: c, targetSheetId: l, type: u, from: d, to: f } = n, p = []; + for (let f2 of r) { + let r2 = e29[f2]; + if (r2 == null) continue; + let m2 = Object.keys(r2); + D.isDefine(i[f2]) || (i[f2] = {}); + for (let e30 of m2) { + let m3 = new Sa(r2[e30] || {}), h2 = new Sa(), g3 = []; + m3.forValue((r3, i2, m4) => { + if (!m4) return true; + let { f: _3, x: v, y, si: b } = m4, x2 = this._lexerTreeBuilder.sequenceNodesBuilder(_3); + if (x2 == null) return true; + let S4 = false, C3 = [], w2 = u === Z5.MoveRange && (c !== a || l !== o) && f2 === a && e30 === o && d && d.startRow <= r3 && r3 <= d.endRow && d.startColumn <= i2 && i2 <= d.endColumn, T4 = [...x2]; + for (let r4 = 0, i3 = x2.length; r4 < i3; r4++) { + var D4; + let i4 = x2[r4]; + if (typeof i4 == `string`) continue; + let { token: l2, nodeType: d2 } = i4; + if ((u === Z5.SetDefinedName || u === Z5.RemoveDefinedName) && (d2 === Xr.DEFINED_NAME || d2 === Xr.FUNCTION)) { + let { definedNameId: e31, definedName: t2 } = n; + if (e31 === void 0 || t2 === void 0) continue; + let a2 = this._definedNamesService.getValueById(f2, e31); + if (a2 == null || a2.name !== l2) continue; + x2[r4] = { ...i4, token: u === Z5.SetDefinedName ? t2 : D3.REF }, S4 = true, C3.push(r4); + continue; + } else if (d2 !== Xr.REFERENCE) continue; + let { range: p2, sheetName: m5, unitId: h3 } = Jr2(l2), _4 = h3 == null || h3.length === 0 ? f2 : h3, O6 = (t == null || (D4 = t[_4]) == null ? void 0 : D4[m5]) || ``; + if (!Tr4(n.unitId, n.sheetId, f2, e30, h3, O6)) continue; + let ee = { range: p2, sheetId: O6, unitId: h3, sheetName: m5, refOffsetX: v || 0, refOffsetY: y || 0 }, k4 = null; + if (u === Z5.SetName) { + let { unitId: e31, sheetId: t2, sheetName: r5 } = n; + if (r5 == null || O6 == null || O6.length === 0 || t2 !== O6) continue; + k4 = Jn2({ range: p2, sheetName: r5, unitId: h3 }); + } else if (u === Z5.RemoveSheet) { + let { unitId: e31, sheetId: t2, sheetName: r5 } = n; + if (O6 == null || O6.length === 0 || t2 !== O6) continue; + k4 = D3.REF; + } else u !== Z5.SetDefinedName && (k4 = Dr4(ee, n, f2, e30, { inCrossSheetCutRange: w2 })); + if (k4 != null && (x2[r4] = { ...i4, token: k4 }, S4 = true, C3.push(r4), b && (v == null ? 0 : v) === 0 && (y == null ? 0 : y) === 0 && g3.push(b)), w2) { + if (k4 != null) T4[r4] = { ...i4, token: k4 }; + else if ((!h3 || h3 === a) && (!O6 || O6 === o)) { + let e31 = G.moveOffset(p2, v || 0, y || 0); + T4[r4] = { ...i4, token: Jn2({ range: e31, sheetName: s || m5, unitId: c === a ? `` : a }) }, S4 = true; + } + } + } + if (!S4) if (b && [Z5.MoveRows, Z5.MoveCols, Z5.MoveRange].includes(u)) { + if (d && d.startRow <= r3 && r3 <= d.endRow && d.startColumn <= i2 && i2 <= d.endColumn) (v == null ? 0 : v) === 0 && (y == null ? 0 : y) === 0 && g3.push(b); + else if (!g3.includes(b)) return true; + } else return true; + if (w2) { + let e31 = Er4(T4, C3, v, y); + return p.push({ fromRow: r3, fromColumn: i2, formulaString: `=${Zr2(e31)}` }), true; + } + let O5 = Er4(x2, C3, v, y); + h2.setValue(r3, i2, { f: `=${Zr2(O5)}` }); + }), i[f2] && (i[f2][e30] = h2.getData()); + } + } + if (p.length > 0 && c && l) { + i[c] || (i[c] = {}), i[c][l] || (i[c][l] = {}); + for (let e30 of p) { + var m, h, g2, _2; + let { fromRow: t2, fromColumn: n2, formulaString: r2 } = e30, a2 = t2 + (((m = f == null ? void 0 : f.startRow) == null ? 0 : m) - ((h = d == null ? void 0 : d.startRow) == null ? 0 : h)), o2 = n2 + (((g2 = f == null ? void 0 : f.startColumn) == null ? 0 : g2) - ((_2 = d == null ? void 0 : d.startColumn) == null ? 0 : _2)); + i[c][l][a2] || (i[c][l][a2] = {}), i[c][l][a2][o2] = { f: r2 }; + } + } + return { newFormulaData: i }; + } + }; + Xr3 = Y5([J5(0, Mu), J5(1, ii), J5(2, Inject(ni)), J5(3, Inject(ai2)), J5(4, Inject(K4)), J5(5, pr2), J5(6, Yr), J5(7, Inject(Injector))], Xr3); + var Zr4 = `@univerjs/sheets-formula`; + var Qr3 = `0.19.0`; + var $r4 = class extends E { + constructor(e29, t, n) { + super(), this._activeDirtyManagerService = e29, this._univerInstanceService = t, this._formulaDataModel = n, this._initialize(); + } + _initialize() { + this._initialConversion(); + } + _initialConversion() { + this._activeDirtyManagerService.register(J4.id, { commandId: J4.id, getDirtyData: (e29) => { + let t = e29.params; + return t.trigger === yc3.id ? {} : { dirtyRanges: this._getSetRangeValuesMutationDirtyRange(t) }; + } }), this._initialMove(), this._initialRowAndColumn(), this._initialHideRow(), this._initialSheet(), this._initialDefinedName(); + } + _initialMove() { + this._activeDirtyManagerService.register(Tn3.id, { commandId: Tn3.id, getDirtyData: (e29) => { + let t = e29.params; + return { dirtyRanges: this._getMoveRangeMutationDirtyRange(t), clearDependencyTreeCache: { [t.unitId]: { [t.to.subUnitId]: `1`, [t.from.subUnitId]: `1` } } }; + } }), this._activeDirtyManagerService.register(Dn3.id, { commandId: Dn3.id, getDirtyData: (e29) => { + let t = e29.params; + return { dirtyRanges: this._getMoveRowsMutationDirtyRange(t), clearDependencyTreeCache: { [t.unitId]: { [t.subUnitId]: `1` } } }; + } }), this._activeDirtyManagerService.register(kn3.id, { commandId: kn3.id, getDirtyData: (e29) => { + let t = e29.params; + return { dirtyRanges: this._getMoveRowsMutationDirtyRange(t), clearDependencyTreeCache: { [t.unitId]: { [t.subUnitId]: `1` } } }; + } }), this._activeDirtyManagerService.register(In2.id, { commandId: In2.id, getDirtyData: (e29) => { + let t = e29.params; + return { dirtyRanges: this._getReorderRangeMutationDirtyRange(t), clearDependencyTreeCache: { [t.unitId]: { [t.subUnitId]: `1` } } }; + } }); + } + _initialRowAndColumn() { + this._activeDirtyManagerService.register(jn2.id, { commandId: jn2.id, getDirtyData: (e29) => { + let t = e29.params; + return { dirtyRanges: this._getRemoveRowOrColumnMutation(t, true), clearDependencyTreeCache: { [t.unitId]: { [t.subUnitId]: `1` } } }; + } }), this._activeDirtyManagerService.register(Nn3.id, { commandId: Nn3.id, getDirtyData: (e29) => { + let t = e29.params; + return { dirtyRanges: this._getRemoveRowOrColumnMutation(t, false), clearDependencyTreeCache: { [t.unitId]: { [t.subUnitId]: `1` } } }; + } }), this._activeDirtyManagerService.register(wn3.id, { commandId: wn3.id, getDirtyData: (e29) => { + let t = e29.params; + return { clearDependencyTreeCache: { [t.unitId]: { [t.subUnitId]: `1` } } }; + } }), this._activeDirtyManagerService.register(Sn3.id, { commandId: Sn3.id, getDirtyData: (e29) => { + let t = e29.params; + return { clearDependencyTreeCache: { [t.unitId]: { [t.subUnitId]: `1` } } }; + } }); + } + _initialHideRow() { + this._activeDirtyManagerService.register(Tr3.id, { commandId: Tr3.id, getDirtyData: (e29) => { + let t = e29.params; + return { dirtyRanges: this._getHideRowMutation(t), clearDependencyTreeCache: { [t.unitId]: { [t.subUnitId]: `1` } } }; + } }), this._activeDirtyManagerService.register(Cr3.id, { commandId: Cr3.id, getDirtyData: (e29) => { + let t = e29.params; + return { dirtyRanges: this._getHideRowMutation(t), clearDependencyTreeCache: { [t.unitId]: { [t.subUnitId]: `1` } } }; + } }); + } + _initialSheet() { + this._activeDirtyManagerService.register(br2.id, { commandId: br2.id, getDirtyData: (e29) => ({ ...e29.params }) }), this._activeDirtyManagerService.register(Ro3.id, { commandId: Ro3.id, getDirtyData: (e29) => { + let t = e29.params; + return { dirtyNameMap: this._getRemoveSheetMutation(t), clearDependencyTreeCache: { [t.unitId]: { [t.subUnitId]: `1` } } }; + } }), this._activeDirtyManagerService.register(iu3.id, { commandId: iu3.id, getDirtyData: (e29) => { + let t = e29.params; + return { dirtyNameMap: this._getInsertSheetMutation(t) }; + } }); + } + _initialDefinedName() { + this._activeDirtyManagerService.register(hr2.id, { commandId: hr2.id, getDirtyData: (e29) => { + let t = e29.params; + return { dirtyDefinedNameMap: this._getDefinedNameMutation(t) }; + } }), this._activeDirtyManagerService.register(gr2.id, { commandId: gr2.id, getDirtyData: (e29) => { + let t = e29.params; + return { dirtyDefinedNameMap: this._getDefinedNameMutation(t) }; + } }); + } + _getDefinedNameMutation(e29) { + let { unitId: t, name: n, formulaOrRefString: r } = e29, i = {}; + return e29 == null ? {} : (i[t] = {}, i[t][n] = r, i); + } + _getSetRangeValuesMutationDirtyRange(e29) { + let { subUnitId: t, unitId: n, cellValue: r } = e29, i = []; + return r == null ? i : (i.push(...this._getDirtyRangesByCellValue(n, t, r)), i.push(...this._getDirtyRangesForArrayFormula(n, t, r)), i); + } + _getMoveRangeMutationDirtyRange(e29) { + let { unitId: t, from: n, to: r } = e29, i = []; + return i.push(...this._getDirtyRangesByCellValue(t, n.subUnitId, n.value)), i.push(...this._getDirtyRangesByCellValue(t, r.subUnitId, r.value)), i.push(...this._getDirtyRangesForArrayFormula(t, r.subUnitId, r.value)), i; + } + _getMoveRowsMutationDirtyRange(e29) { + let { subUnitId: t, unitId: n, sourceRange: r, targetRange: i } = e29, a = [], o = this._rangeToMatrix(r).getData(), s = this._rangeToMatrix(i).getData(); + return a.push(...this._getDirtyRangesByCellValue(n, t, o)), a.push(...this._getDirtyRangesByCellValue(n, t, s)), a.push(...this._getDirtyRangesForArrayFormula(n, t, s)), a; + } + _getReorderRangeMutationDirtyRange(e29) { + let { unitId: t, subUnitId: n, range: r } = e29, i = this._rangeToMatrix(r).getData(), a = []; + return a.push(...this._getDirtyRangesByCellValue(t, n, i)), a.push(...this._getDirtyRangesForArrayFormula(t, n, i)), a; + } + _getRemoveRowOrColumnMutation(e29, t = true) { + let { subUnitId: n, unitId: r, range: i } = e29, a = [], o = this._univerInstanceService.getUniverSheetInstance(r), s = o == null ? void 0 : o.getSheetBySheetId(n), c = (s == null ? void 0 : s.getRowCount()) || 0, l = (s == null ? void 0 : s.getColumnCount()) || 0, u = null, { startRow: d, endRow: f, startColumn: p, endColumn: m } = i; + u = t === true ? this._rangeToMatrix({ startRow: d, startColumn: 0, endRow: f, endColumn: l - 1 }) : this._rangeToMatrix({ startRow: 0, startColumn: p, endRow: c, endColumn: m }); + let h = u.getData(); + return a.push(...this._getDirtyRangesByCellValue(r, n, h)), a.push(...this._getDirtyRangesForArrayFormula(r, n, h)), a; + } + _getHideRowMutation(e29) { + let { subUnitId: t, unitId: n, ranges: r } = e29, i = []; + return r.forEach((e30) => { + let r2 = this._rangeToMatrix(e30).getMatrix(); + i.push(...this._getDirtyRangesByCellValue(n, t, r2)); + }), i; + } + _getRemoveSheetMutation(e29) { + let t = {}, { subUnitId: n, unitId: r, subUnitName: i } = e29; + return t[r] == null && (t[r] = {}), t[r][n] = i, t; + } + _getInsertSheetMutation(e29) { + let t = {}, { sheet: n, unitId: r } = e29; + return t[r] == null && (t[r] = {}), t[r][n.id] = n.name, t; + } + _rangeToMatrix(e29) { + let t = new Sa(), { startRow: n, startColumn: r, endRow: i, endColumn: a } = e29; + for (let e30 = n; e30 <= i; e30++) for (let n2 = r; n2 <= a; n2++) t.setValue(e30, n2, {}); + return t; + } + _getDirtyRangesByCellValue(e29, t, n) { + let r = []; + return n == null || new Sa(n).getDiscreteRanges().forEach((n2) => { + r.push({ unitId: e29, sheetId: t, range: n2 }); + }), r; + } + _getDirtyRangesForArrayFormula(e29, t, n) { + var r; + let i = []; + if (n == null) return i; + let a = new Sa(n), o = this._formulaDataModel.getArrayFormulaRange(); + if (!(o == null || (r = o[e29]) == null) && r[t]) { + var s; + let n2 = new Sa(o == null || (s = o[e29]) == null ? void 0 : s[t]); + a.forValue((r2, a2) => { + n2.forValue((n3, o2, s2) => { + if (s2 == null) return true; + let { startRow: c, startColumn: l, endRow: u, endColumn: d } = s2; + r2 >= c && r2 <= u && a2 >= l && a2 <= d && i.push({ unitId: e29, sheetId: t, range: { startRow: c, startColumn: l, endRow: c, endColumn: l } }); + }); + }); + } + return i; + } + }; + $r4 = Y5([J5(0, Gy), J5(1, Mu), J5(2, Inject(ai2))], $r4); + var ei3 = class extends E { + constructor(e29, t, n, r, i, a, o) { + super(), this._commandService = e29, this._configService = t, this._sheetInterceptorService = n, this._formulaDataModel = r, this._lexerTreeBuilder = i, this._functionService = a, this._definedNamesService = o, this._initialize(); + } + _initialize() { + this._commandExecutedListener(), this._initInterceptorCellContent(); + } + _commandExecutedListener() { + this.disposeWithMe(this._commandService.onCommandExecuted((e29) => { + var t; + let n = (t = this._configService.getConfig(`sheets-formula.base.config`)) == null ? void 0 : t.writeArrayFormulaToSnapshot; + if (e29.id === zn2.id) { + let t2 = e29.params; + if (t2 == null) return; + let { arrayFormulaRange: r, arrayFormulaCellData: i, arrayFormulaEmbedded: a } = t2; + this._formulaDataModel.setArrayFormulaRange(r), this._formulaDataModel.setArrayFormulaCellData(i), n && this._writeArrayFormulaToSnapshot(r, i, a); + } else e29.id === Tr2.id && n && (this._addPrefixToFunctionSnapshot(), this._addPrefixToDefinedNamesFunctionSnapshot()); + })); + } + _addPrefixToDefinedNamesFunctionSnapshot() { + let e29 = this._definedNamesService.getAllDefinedNames(); + Object.entries(e29).forEach(([e30, t]) => { + t && Array.from(Object.entries(t)).forEach(([t2, n]) => { + let { formulaOrRefString: r } = n; + if (r.substring(0, 1) === `=`) { + let t3 = this._lexerTreeBuilder.getNewFormulaWithPrefix(r, this._functionService.hasExecutor.bind(this._functionService)); + t3 && this._commandService.executeCommand(hr2.id, { ...n, unitId: e30, formulaOrRefStringWithPrefix: t3 }, { onlyLocal: true, fromFormula: true }); + } + }); + }); + } + _addPrefixToFunctionSnapshot() { + let e29 = this._formulaDataModel.getFormulaData(), t = /* @__PURE__ */ new Map(); + Object.entries(e29).forEach(([e30, n]) => { + n && Array.from(Object.entries(n)).forEach(([n2, r]) => { + if (!r) return; + let i = new Sa(); + new Sa(r).forValue((e31, n3, r2) => { + let a = r2 == null ? void 0 : r2.f; + if ((r2 == null ? void 0 : r2.x) != null || !a || a.length === 0) return; + if (t.has(a)) { + let r3 = t.get(a); + i.setValue(e31, n3, { xf: r3 }); + return; + } + let o = this._lexerTreeBuilder.getNewFormulaWithPrefix(a, this._functionService.hasExecutor.bind(this._functionService)); + o && (i.setValue(e31, n3, { xf: o }), t.set(a, o)); + }), this._commandService.executeCommand(J4.id, { unitId: e30, subUnitId: n2, cellValue: i.getMatrix() }, { onlyLocal: true, fromFormula: true }); + }); + }), t.clear(); + } + _writeArrayFormulaToSnapshot(e29, t, n) { + e29 && Object.entries(e29).forEach(([e30, t2]) => { + t2 && Array.from(Object.entries(t2)).forEach(([t3, n2]) => { + let r = new Sa(); + new Sa(n2).forValue((e31, t4, n3) => { + r.setValue(e31, t4, { ref: Gn2(n3) }); + }), this._commandService.executeCommand(J4.id, { unitId: e30, subUnitId: t3, cellValue: r.getMatrix() }, { onlyLocal: true, fromFormula: true }); + }); + }), n && Object.entries(n).forEach(([t2, n2]) => { + n2 && Array.from(Object.entries(n2)).forEach(([n3, r]) => { + let i = new Sa(); + new Sa(r).forValue((r2, a) => { + var o; + !(e29 == null || (o = e29[t2]) == null || (o = o[n3]) == null || (o = o[r2]) == null) && o[a] || i.setValue(r2, a, { ref: Gn2({ startRow: r2, endRow: r2, startColumn: a, endColumn: a }) }); + }), this._commandService.executeCommand(J4.id, { unitId: t2, subUnitId: n3, cellValue: i.getMatrix() }, { onlyLocal: true, fromFormula: true }); + }); + }), t && Object.entries(t).forEach(([e30, t2]) => { + t2 && Array.from(Object.entries(t2)).forEach(([t3, n2]) => { + this._commandService.executeCommand(J4.id, { unitId: e30, subUnitId: t3, cellValue: n2 }, { onlyLocal: true, fromFormula: true }); + }); + }); + } + _initInterceptorCellContent() { + this.disposeWithMe(this._sheetInterceptorService.intercept(Bt3.CELL_CONTENT, { priority: 100, effect: At.Value, handler: (e29, t, n) => { + var i; + let a = e29, { unitId: o, subUnitId: s, row: c, col: l } = t, u = this._formulaDataModel.getArrayFormulaCellData(), d = u == null || (i = u[o]) == null || (i = i[s]) == null || (i = i[c]) == null ? void 0 : i[l]; + return d == null ? n(a) : ((!a || a === t.rawData) && (a = { ...t.rawData }), d.v == null && d.t == null ? (a.v = 0, a.t = tr.NUMBER, n(a)) : (a == null ? void 0 : a.t) === tr.NUMBER && a.v !== void 0 && a.v !== null && Ja(a.v) ? (a.v = aa2(Number(a.v)), n(a)) : (a.v = d.v, a.t = d.t, n(a))); + } })); + } + }; + ei3 = Y5([J5(0, ii), J5(1, Yr), J5(2, Inject(K4)), J5(3, Inject(ai2)), J5(4, Inject(ni)), J5(5, uo2), J5(6, pr2)], ei3); + var ti3 = [{ functionName: Cs2.ARRAY_CONSTRAIN, functionType: Dt2.Array, description: `formula.functionList.ARRAY_CONSTRAIN.description`, abstract: `formula.functionList.ARRAY_CONSTRAIN.abstract`, functionParameter: [{ name: `formula.functionList.ARRAY_CONSTRAIN.functionParameter.inputRange.name`, detail: `formula.functionList.ARRAY_CONSTRAIN.functionParameter.inputRange.detail`, example: `A1:C3`, require: 1, repeat: 0 }, { name: `formula.functionList.ARRAY_CONSTRAIN.functionParameter.numRows.name`, detail: `formula.functionList.ARRAY_CONSTRAIN.functionParameter.numRows.detail`, example: `2`, require: 1, repeat: 0 }, { name: `formula.functionList.ARRAY_CONSTRAIN.functionParameter.numCols.name`, detail: `formula.functionList.ARRAY_CONSTRAIN.functionParameter.numCols.detail`, example: `2`, require: 1, repeat: 0 }] }, { functionName: Cs2.FLATTEN, functionType: Dt2.Array, description: `formula.functionList.FLATTEN.description`, abstract: `formula.functionList.FLATTEN.abstract`, functionParameter: [{ name: `formula.functionList.FLATTEN.functionParameter.range1.name`, detail: `formula.functionList.FLATTEN.functionParameter.range1.detail`, example: `A1:C3`, require: 1, repeat: 0 }, { name: `formula.functionList.FLATTEN.functionParameter.range2.name`, detail: `formula.functionList.FLATTEN.functionParameter.range2.detail`, example: `D1:F3`, require: 0, repeat: 1 }] }]; + var ni3 = [{ functionName: zl2.BETADIST, functionType: Dt2.Compatibility, description: `formula.functionList.BETADIST.description`, abstract: `formula.functionList.BETADIST.abstract`, functionParameter: [{ name: `formula.functionList.BETADIST.functionParameter.x.name`, detail: `formula.functionList.BETADIST.functionParameter.x.detail`, example: `2`, require: 1, repeat: 0 }, { name: `formula.functionList.BETADIST.functionParameter.alpha.name`, detail: `formula.functionList.BETADIST.functionParameter.alpha.detail`, example: `8`, require: 1, repeat: 0 }, { name: `formula.functionList.BETADIST.functionParameter.beta.name`, detail: `formula.functionList.BETADIST.functionParameter.beta.detail`, example: `10`, require: 1, repeat: 0 }, { name: `formula.functionList.BETADIST.functionParameter.A.name`, detail: `formula.functionList.BETADIST.functionParameter.A.detail`, example: `1`, require: 0, repeat: 0 }, { name: `formula.functionList.BETADIST.functionParameter.B.name`, detail: `formula.functionList.BETADIST.functionParameter.B.detail`, example: `3`, require: 0, repeat: 0 }] }, { functionName: zl2.BETAINV, functionType: Dt2.Compatibility, description: `formula.functionList.BETAINV.description`, abstract: `formula.functionList.BETAINV.abstract`, functionParameter: [{ name: `formula.functionList.BETAINV.functionParameter.probability.name`, detail: `formula.functionList.BETAINV.functionParameter.probability.detail`, example: `0.685470581`, require: 1, repeat: 0 }, { name: `formula.functionList.BETAINV.functionParameter.alpha.name`, detail: `formula.functionList.BETAINV.functionParameter.alpha.detail`, example: `8`, require: 1, repeat: 0 }, { name: `formula.functionList.BETAINV.functionParameter.beta.name`, detail: `formula.functionList.BETAINV.functionParameter.beta.detail`, example: `10`, require: 1, repeat: 0 }, { name: `formula.functionList.BETAINV.functionParameter.A.name`, detail: `formula.functionList.BETAINV.functionParameter.A.detail`, example: `1`, require: 0, repeat: 0 }, { name: `formula.functionList.BETAINV.functionParameter.B.name`, detail: `formula.functionList.BETAINV.functionParameter.B.detail`, example: `3`, require: 0, repeat: 0 }] }, { functionName: zl2.BINOMDIST, functionType: Dt2.Compatibility, description: `formula.functionList.BINOMDIST.description`, abstract: `formula.functionList.BINOMDIST.abstract`, functionParameter: [{ name: `formula.functionList.BINOMDIST.functionParameter.numberS.name`, detail: `formula.functionList.BINOMDIST.functionParameter.numberS.detail`, example: `6`, require: 1, repeat: 0 }, { name: `formula.functionList.BINOMDIST.functionParameter.trials.name`, detail: `formula.functionList.BINOMDIST.functionParameter.trials.detail`, example: `10`, require: 1, repeat: 0 }, { name: `formula.functionList.BINOMDIST.functionParameter.probabilityS.name`, detail: `formula.functionList.BINOMDIST.functionParameter.probabilityS.detail`, example: `0.5`, require: 1, repeat: 0 }, { name: `formula.functionList.BINOMDIST.functionParameter.cumulative.name`, detail: `formula.functionList.BINOMDIST.functionParameter.cumulative.detail`, example: `false`, require: 1, repeat: 0 }] }, { functionName: zl2.CHIDIST, functionType: Dt2.Compatibility, description: `formula.functionList.CHIDIST.description`, abstract: `formula.functionList.CHIDIST.abstract`, functionParameter: [{ name: `formula.functionList.CHIDIST.functionParameter.x.name`, detail: `formula.functionList.CHIDIST.functionParameter.x.detail`, example: `0.5`, require: 1, repeat: 0 }, { name: `formula.functionList.CHIDIST.functionParameter.degFreedom.name`, detail: `formula.functionList.CHIDIST.functionParameter.degFreedom.detail`, example: `1`, require: 1, repeat: 0 }] }, { functionName: zl2.CHIINV, functionType: Dt2.Compatibility, description: `formula.functionList.CHIINV.description`, abstract: `formula.functionList.CHIINV.abstract`, functionParameter: [{ name: `formula.functionList.CHIINV.functionParameter.probability.name`, detail: `formula.functionList.CHIINV.functionParameter.probability.detail`, example: `0.93`, require: 1, repeat: 0 }, { name: `formula.functionList.CHIINV.functionParameter.degFreedom.name`, detail: `formula.functionList.CHIINV.functionParameter.degFreedom.detail`, example: `1`, require: 1, repeat: 0 }] }, { functionName: zl2.CHITEST, functionType: Dt2.Compatibility, description: `formula.functionList.CHITEST.description`, abstract: `formula.functionList.CHITEST.abstract`, functionParameter: [{ name: `formula.functionList.CHITEST.functionParameter.actualRange.name`, detail: `formula.functionList.CHITEST.functionParameter.actualRange.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.CHITEST.functionParameter.expectedRange.name`, detail: `formula.functionList.CHITEST.functionParameter.expectedRange.detail`, example: `B1:B4`, require: 1, repeat: 0 }] }, { functionName: zl2.CONFIDENCE, functionType: Dt2.Compatibility, description: `formula.functionList.CONFIDENCE.description`, abstract: `formula.functionList.CONFIDENCE.abstract`, functionParameter: [{ name: `formula.functionList.CONFIDENCE.functionParameter.alpha.name`, detail: `formula.functionList.CONFIDENCE.functionParameter.alpha.detail`, example: `0.05`, require: 1, repeat: 0 }, { name: `formula.functionList.CONFIDENCE.functionParameter.standardDev.name`, detail: `formula.functionList.CONFIDENCE.functionParameter.standardDev.detail`, example: `2.5`, require: 1, repeat: 0 }, { name: `formula.functionList.CONFIDENCE.functionParameter.size.name`, detail: `formula.functionList.CONFIDENCE.functionParameter.size.detail`, example: `50`, require: 1, repeat: 0 }] }, { functionName: zl2.COVAR, functionType: Dt2.Compatibility, description: `formula.functionList.COVAR.description`, abstract: `formula.functionList.COVAR.abstract`, functionParameter: [{ name: `formula.functionList.COVAR.functionParameter.array1.name`, detail: `formula.functionList.COVAR.functionParameter.array1.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.COVAR.functionParameter.array2.name`, detail: `formula.functionList.COVAR.functionParameter.array2.detail`, example: `B1:B4`, require: 1, repeat: 0 }] }, { functionName: zl2.CRITBINOM, functionType: Dt2.Compatibility, description: `formula.functionList.CRITBINOM.description`, abstract: `formula.functionList.CRITBINOM.abstract`, functionParameter: [{ name: `formula.functionList.CRITBINOM.functionParameter.trials.name`, detail: `formula.functionList.CRITBINOM.functionParameter.trials.detail`, example: `6`, require: 1, repeat: 0 }, { name: `formula.functionList.CRITBINOM.functionParameter.probabilityS.name`, detail: `formula.functionList.CRITBINOM.functionParameter.probabilityS.detail`, example: `0.5`, require: 1, repeat: 0 }, { name: `formula.functionList.CRITBINOM.functionParameter.alpha.name`, detail: `formula.functionList.CRITBINOM.functionParameter.alpha.detail`, example: `0.75`, require: 1, repeat: 0 }] }, { functionName: zl2.EXPONDIST, functionType: Dt2.Compatibility, description: `formula.functionList.EXPONDIST.description`, abstract: `formula.functionList.EXPONDIST.abstract`, functionParameter: [{ name: `formula.functionList.EXPONDIST.functionParameter.x.name`, detail: `formula.functionList.EXPONDIST.functionParameter.x.detail`, example: `0.2`, require: 1, repeat: 0 }, { name: `formula.functionList.EXPONDIST.functionParameter.lambda.name`, detail: `formula.functionList.EXPONDIST.functionParameter.lambda.detail`, example: `10`, require: 1, repeat: 0 }, { name: `formula.functionList.EXPONDIST.functionParameter.cumulative.name`, detail: `formula.functionList.EXPONDIST.functionParameter.cumulative.detail`, example: `true`, require: 1, repeat: 0 }] }, { functionName: zl2.FDIST, functionType: Dt2.Compatibility, description: `formula.functionList.FDIST.description`, abstract: `formula.functionList.FDIST.abstract`, functionParameter: [{ name: `formula.functionList.FDIST.functionParameter.x.name`, detail: `formula.functionList.FDIST.functionParameter.x.detail`, example: `15.2069`, require: 1, repeat: 0 }, { name: `formula.functionList.FDIST.functionParameter.degFreedom1.name`, detail: `formula.functionList.FDIST.functionParameter.degFreedom1.detail`, example: `6`, require: 1, repeat: 0 }, { name: `formula.functionList.FDIST.functionParameter.degFreedom2.name`, detail: `formula.functionList.FDIST.functionParameter.degFreedom2.detail`, example: `4`, require: 1, repeat: 0 }] }, { functionName: zl2.FINV, functionType: Dt2.Compatibility, description: `formula.functionList.FINV.description`, abstract: `formula.functionList.FINV.abstract`, functionParameter: [{ name: `formula.functionList.FINV.functionParameter.probability.name`, detail: `formula.functionList.FINV.functionParameter.probability.detail`, example: `0.01`, require: 1, repeat: 0 }, { name: `formula.functionList.FINV.functionParameter.degFreedom1.name`, detail: `formula.functionList.FINV.functionParameter.degFreedom1.detail`, example: `6`, require: 1, repeat: 0 }, { name: `formula.functionList.FINV.functionParameter.degFreedom2.name`, detail: `formula.functionList.FINV.functionParameter.degFreedom2.detail`, example: `4`, require: 1, repeat: 0 }] }, { functionName: zl2.FTEST, functionType: Dt2.Compatibility, description: `formula.functionList.FTEST.description`, abstract: `formula.functionList.FTEST.abstract`, functionParameter: [{ name: `formula.functionList.FTEST.functionParameter.array1.name`, detail: `formula.functionList.FTEST.functionParameter.array1.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.FTEST.functionParameter.array2.name`, detail: `formula.functionList.FTEST.functionParameter.array2.detail`, example: `B1:B4`, require: 1, repeat: 0 }] }, { functionName: zl2.GAMMADIST, functionType: Dt2.Compatibility, description: `formula.functionList.GAMMADIST.description`, abstract: `formula.functionList.GAMMADIST.abstract`, functionParameter: [{ name: `formula.functionList.GAMMADIST.functionParameter.x.name`, detail: `formula.functionList.GAMMADIST.functionParameter.x.detail`, example: `10`, require: 1, repeat: 0 }, { name: `formula.functionList.GAMMADIST.functionParameter.alpha.name`, detail: `formula.functionList.GAMMADIST.functionParameter.alpha.detail`, example: `8`, require: 1, repeat: 0 }, { name: `formula.functionList.GAMMADIST.functionParameter.beta.name`, detail: `formula.functionList.GAMMADIST.functionParameter.beta.detail`, example: `2`, require: 1, repeat: 0 }, { name: `formula.functionList.GAMMADIST.functionParameter.cumulative.name`, detail: `formula.functionList.GAMMADIST.functionParameter.cumulative.detail`, example: `true`, require: 1, repeat: 0 }] }, { functionName: zl2.GAMMAINV, functionType: Dt2.Compatibility, description: `formula.functionList.GAMMAINV.description`, abstract: `formula.functionList.GAMMAINV.abstract`, functionParameter: [{ name: `formula.functionList.GAMMAINV.functionParameter.probability.name`, detail: `formula.functionList.GAMMAINV.functionParameter.probability.detail`, example: `0.068094`, require: 1, repeat: 0 }, { name: `formula.functionList.GAMMAINV.functionParameter.alpha.name`, detail: `formula.functionList.GAMMAINV.functionParameter.alpha.detail`, example: `9`, require: 1, repeat: 0 }, { name: `formula.functionList.GAMMAINV.functionParameter.beta.name`, detail: `formula.functionList.GAMMAINV.functionParameter.beta.detail`, example: `2`, require: 1, repeat: 0 }] }, { functionName: zl2.HYPGEOMDIST, functionType: Dt2.Compatibility, description: `formula.functionList.HYPGEOMDIST.description`, abstract: `formula.functionList.HYPGEOMDIST.abstract`, functionParameter: [{ name: `formula.functionList.HYPGEOMDIST.functionParameter.sampleS.name`, detail: `formula.functionList.HYPGEOMDIST.functionParameter.sampleS.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.HYPGEOMDIST.functionParameter.numberSample.name`, detail: `formula.functionList.HYPGEOMDIST.functionParameter.numberSample.detail`, example: `4`, require: 1, repeat: 0 }, { name: `formula.functionList.HYPGEOMDIST.functionParameter.populationS.name`, detail: `formula.functionList.HYPGEOMDIST.functionParameter.populationS.detail`, example: `8`, require: 1, repeat: 0 }, { name: `formula.functionList.HYPGEOMDIST.functionParameter.numberPop.name`, detail: `formula.functionList.HYPGEOMDIST.functionParameter.numberPop.detail`, example: `20`, require: 1, repeat: 0 }] }, { functionName: zl2.LOGINV, functionType: Dt2.Compatibility, description: `formula.functionList.LOGINV.description`, abstract: `formula.functionList.LOGINV.abstract`, functionParameter: [{ name: `formula.functionList.LOGINV.functionParameter.probability.name`, detail: `formula.functionList.LOGINV.functionParameter.probability.detail`, example: `0.908789`, require: 1, repeat: 0 }, { name: `formula.functionList.LOGINV.functionParameter.mean.name`, detail: `formula.functionList.LOGINV.functionParameter.mean.detail`, example: `40`, require: 1, repeat: 0 }, { name: `formula.functionList.LOGINV.functionParameter.standardDev.name`, detail: `formula.functionList.LOGINV.functionParameter.standardDev.detail`, example: `1.5`, require: 1, repeat: 0 }] }, { functionName: zl2.LOGNORMDIST, functionType: Dt2.Compatibility, description: `formula.functionList.LOGNORMDIST.description`, abstract: `formula.functionList.LOGNORMDIST.abstract`, functionParameter: [{ name: `formula.functionList.LOGNORMDIST.functionParameter.x.name`, detail: `formula.functionList.LOGNORMDIST.functionParameter.x.detail`, example: `42`, require: 1, repeat: 0 }, { name: `formula.functionList.LOGNORMDIST.functionParameter.mean.name`, detail: `formula.functionList.LOGNORMDIST.functionParameter.mean.detail`, example: `40`, require: 1, repeat: 0 }, { name: `formula.functionList.LOGNORMDIST.functionParameter.standardDev.name`, detail: `formula.functionList.LOGNORMDIST.functionParameter.standardDev.detail`, example: `1.5`, require: 1, repeat: 0 }] }, { functionName: zl2.MODE, functionType: Dt2.Compatibility, description: `formula.functionList.MODE.description`, abstract: `formula.functionList.MODE.abstract`, functionParameter: [{ name: `formula.functionList.MODE.functionParameter.number1.name`, detail: `formula.functionList.MODE.functionParameter.number1.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.MODE.functionParameter.number2.name`, detail: `formula.functionList.MODE.functionParameter.number2.detail`, example: `2`, require: 0, repeat: 1 }] }, { functionName: zl2.NEGBINOMDIST, functionType: Dt2.Compatibility, description: `formula.functionList.NEGBINOMDIST.description`, abstract: `formula.functionList.NEGBINOMDIST.abstract`, functionParameter: [{ name: `formula.functionList.NEGBINOMDIST.functionParameter.numberF.name`, detail: `formula.functionList.NEGBINOMDIST.functionParameter.numberF.detail`, example: `10`, require: 1, repeat: 0 }, { name: `formula.functionList.NEGBINOMDIST.functionParameter.numberS.name`, detail: `formula.functionList.NEGBINOMDIST.functionParameter.numberS.detail`, example: `5`, require: 1, repeat: 0 }, { name: `formula.functionList.NEGBINOMDIST.functionParameter.probabilityS.name`, detail: `formula.functionList.NEGBINOMDIST.functionParameter.probabilityS.detail`, example: `0.25`, require: 1, repeat: 0 }] }, { functionName: zl2.NORMDIST, functionType: Dt2.Compatibility, description: `formula.functionList.NORMDIST.description`, abstract: `formula.functionList.NORMDIST.abstract`, functionParameter: [{ name: `formula.functionList.NORMDIST.functionParameter.x.name`, detail: `formula.functionList.NORMDIST.functionParameter.x.detail`, example: `42`, require: 1, repeat: 0 }, { name: `formula.functionList.NORMDIST.functionParameter.mean.name`, detail: `formula.functionList.NORMDIST.functionParameter.mean.detail`, example: `40`, require: 1, repeat: 0 }, { name: `formula.functionList.NORMDIST.functionParameter.standardDev.name`, detail: `formula.functionList.NORMDIST.functionParameter.standardDev.detail`, example: `1.5`, require: 1, repeat: 0 }, { name: `formula.functionList.NORMDIST.functionParameter.cumulative.name`, detail: `formula.functionList.NORMDIST.functionParameter.cumulative.detail`, example: `true`, require: 1, repeat: 0 }] }, { functionName: zl2.NORMINV, functionType: Dt2.Compatibility, description: `formula.functionList.NORMINV.description`, abstract: `formula.functionList.NORMINV.abstract`, functionParameter: [{ name: `formula.functionList.NORMINV.functionParameter.probability.name`, detail: `formula.functionList.NORMINV.functionParameter.probability.detail`, example: `0.908789`, require: 1, repeat: 0 }, { name: `formula.functionList.NORMINV.functionParameter.mean.name`, detail: `formula.functionList.NORMINV.functionParameter.mean.detail`, example: `40`, require: 1, repeat: 0 }, { name: `formula.functionList.NORMINV.functionParameter.standardDev.name`, detail: `formula.functionList.NORMINV.functionParameter.standardDev.detail`, example: `1.5`, require: 1, repeat: 0 }] }, { functionName: zl2.NORMSDIST, functionType: Dt2.Compatibility, description: `formula.functionList.NORMSDIST.description`, abstract: `formula.functionList.NORMSDIST.abstract`, functionParameter: [{ name: `formula.functionList.NORMSDIST.functionParameter.z.name`, detail: `formula.functionList.NORMSDIST.functionParameter.z.detail`, example: `1.333333`, require: 1, repeat: 0 }] }, { functionName: zl2.NORMSINV, functionType: Dt2.Compatibility, description: `formula.functionList.NORMSINV.description`, abstract: `formula.functionList.NORMSINV.abstract`, functionParameter: [{ name: `formula.functionList.NORMSINV.functionParameter.probability.name`, detail: `formula.functionList.NORMSINV.functionParameter.probability.detail`, example: `0.908789`, require: 1, repeat: 0 }] }, { functionName: zl2.PERCENTILE, functionType: Dt2.Compatibility, description: `formula.functionList.PERCENTILE.description`, abstract: `formula.functionList.PERCENTILE.abstract`, functionParameter: [{ name: `formula.functionList.PERCENTILE.functionParameter.array.name`, detail: `formula.functionList.PERCENTILE.functionParameter.array.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.PERCENTILE.functionParameter.k.name`, detail: `formula.functionList.PERCENTILE.functionParameter.k.detail`, example: `0.3`, require: 1, repeat: 0 }] }, { functionName: zl2.PERCENTRANK, functionType: Dt2.Compatibility, description: `formula.functionList.PERCENTRANK.description`, abstract: `formula.functionList.PERCENTRANK.abstract`, functionParameter: [{ name: `formula.functionList.PERCENTRANK.functionParameter.array.name`, detail: `formula.functionList.PERCENTRANK.functionParameter.array.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.PERCENTRANK.functionParameter.x.name`, detail: `formula.functionList.PERCENTRANK.functionParameter.x.detail`, example: `1.5`, require: 1, repeat: 0 }, { name: `formula.functionList.PERCENTRANK.functionParameter.significance.name`, detail: `formula.functionList.PERCENTRANK.functionParameter.significance.detail`, example: `3`, require: 0, repeat: 0 }] }, { functionName: zl2.POISSON, functionType: Dt2.Compatibility, description: `formula.functionList.POISSON.description`, abstract: `formula.functionList.POISSON.abstract`, functionParameter: [{ name: `formula.functionList.POISSON.functionParameter.x.name`, detail: `formula.functionList.POISSON.functionParameter.x.detail`, example: `2`, require: 1, repeat: 0 }, { name: `formula.functionList.POISSON.functionParameter.mean.name`, detail: `formula.functionList.POISSON.functionParameter.mean.detail`, example: `5`, require: 1, repeat: 0 }, { name: `formula.functionList.POISSON.functionParameter.cumulative.name`, detail: `formula.functionList.POISSON.functionParameter.cumulative.detail`, example: `true`, require: 1, repeat: 0 }] }, { functionName: zl2.QUARTILE, functionType: Dt2.Compatibility, description: `formula.functionList.QUARTILE.description`, abstract: `formula.functionList.QUARTILE.abstract`, functionParameter: [{ name: `formula.functionList.QUARTILE.functionParameter.array.name`, detail: `formula.functionList.QUARTILE.functionParameter.array.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.QUARTILE.functionParameter.quart.name`, detail: `formula.functionList.QUARTILE.functionParameter.quart.detail`, example: `1`, require: 1, repeat: 0 }] }, { functionName: zl2.RANK, functionType: Dt2.Compatibility, description: `formula.functionList.RANK.description`, abstract: `formula.functionList.RANK.abstract`, functionParameter: [{ name: `formula.functionList.RANK.functionParameter.number.name`, detail: `formula.functionList.RANK.functionParameter.number.detail`, example: `A3`, require: 1, repeat: 0 }, { name: `formula.functionList.RANK.functionParameter.ref.name`, detail: `formula.functionList.RANK.functionParameter.ref.detail`, example: `A2:A6`, require: 1, repeat: 0 }, { name: `formula.functionList.RANK.functionParameter.order.name`, detail: `formula.functionList.RANK.functionParameter.order.detail`, example: `1`, require: 0, repeat: 0 }] }, { functionName: zl2.STDEV, functionType: Dt2.Compatibility, description: `formula.functionList.STDEV.description`, abstract: `formula.functionList.STDEV.abstract`, functionParameter: [{ name: `formula.functionList.STDEV.functionParameter.number1.name`, detail: `formula.functionList.STDEV.functionParameter.number1.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.STDEV.functionParameter.number2.name`, detail: `formula.functionList.STDEV.functionParameter.number2.detail`, example: `2`, require: 0, repeat: 1 }] }, { functionName: zl2.STDEVP, functionType: Dt2.Compatibility, description: `formula.functionList.STDEVP.description`, abstract: `formula.functionList.STDEVP.abstract`, functionParameter: [{ name: `formula.functionList.STDEVP.functionParameter.number1.name`, detail: `formula.functionList.STDEVP.functionParameter.number1.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.STDEVP.functionParameter.number2.name`, detail: `formula.functionList.STDEVP.functionParameter.number2.detail`, example: `2`, require: 0, repeat: 1 }] }, { functionName: zl2.TDIST, functionType: Dt2.Compatibility, description: `formula.functionList.TDIST.description`, abstract: `formula.functionList.TDIST.abstract`, functionParameter: [{ name: `formula.functionList.TDIST.functionParameter.x.name`, detail: `formula.functionList.TDIST.functionParameter.x.detail`, example: `8`, require: 1, repeat: 0 }, { name: `formula.functionList.TDIST.functionParameter.degFreedom.name`, detail: `formula.functionList.TDIST.functionParameter.degFreedom.detail`, example: `3`, require: 1, repeat: 0 }, { name: `formula.functionList.TDIST.functionParameter.tails.name`, detail: `formula.functionList.TDIST.functionParameter.tails.detail`, example: `1`, require: 1, repeat: 0 }] }, { functionName: zl2.TINV, functionType: Dt2.Compatibility, description: `formula.functionList.TINV.description`, abstract: `formula.functionList.TINV.abstract`, functionParameter: [{ name: `formula.functionList.TINV.functionParameter.probability.name`, detail: `formula.functionList.TINV.functionParameter.probability.detail`, example: `0.75`, require: 1, repeat: 0 }, { name: `formula.functionList.TINV.functionParameter.degFreedom.name`, detail: `formula.functionList.TINV.functionParameter.degFreedom.detail`, example: `2`, require: 1, repeat: 0 }] }, { functionName: zl2.TTEST, functionType: Dt2.Compatibility, description: `formula.functionList.TTEST.description`, abstract: `formula.functionList.TTEST.abstract`, functionParameter: [{ name: `formula.functionList.TTEST.functionParameter.array1.name`, detail: `formula.functionList.TTEST.functionParameter.array1.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.TTEST.functionParameter.array2.name`, detail: `formula.functionList.TTEST.functionParameter.array2.detail`, example: `B1:B4`, require: 1, repeat: 0 }, { name: `formula.functionList.TTEST.functionParameter.tails.name`, detail: `formula.functionList.TTEST.functionParameter.tails.detail`, example: `2`, require: 1, repeat: 0 }, { name: `formula.functionList.TTEST.functionParameter.type.name`, detail: `formula.functionList.TTEST.functionParameter.type.detail`, example: `1`, require: 1, repeat: 0 }] }, { functionName: zl2.VAR, functionType: Dt2.Compatibility, description: `formula.functionList.VAR.description`, abstract: `formula.functionList.VAR.abstract`, functionParameter: [{ name: `formula.functionList.VAR.functionParameter.number1.name`, detail: `formula.functionList.VAR.functionParameter.number1.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.VAR.functionParameter.number2.name`, detail: `formula.functionList.VAR.functionParameter.number2.detail`, example: `2`, require: 0, repeat: 1 }] }, { functionName: zl2.VARP, functionType: Dt2.Compatibility, description: `formula.functionList.VARP.description`, abstract: `formula.functionList.VARP.abstract`, functionParameter: [{ name: `formula.functionList.VARP.functionParameter.number1.name`, detail: `formula.functionList.VARP.functionParameter.number1.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.VARP.functionParameter.number2.name`, detail: `formula.functionList.VARP.functionParameter.number2.detail`, example: `2`, require: 0, repeat: 1 }] }, { functionName: zl2.WEIBULL, functionType: Dt2.Compatibility, description: `formula.functionList.WEIBULL.description`, abstract: `formula.functionList.WEIBULL.abstract`, functionParameter: [{ name: `formula.functionList.WEIBULL.functionParameter.x.name`, detail: `formula.functionList.WEIBULL.functionParameter.x.detail`, example: `105`, require: 1, repeat: 0 }, { name: `formula.functionList.WEIBULL.functionParameter.alpha.name`, detail: `formula.functionList.WEIBULL.functionParameter.alpha.detail`, example: `20`, require: 1, repeat: 0 }, { name: `formula.functionList.WEIBULL.functionParameter.beta.name`, detail: `formula.functionList.WEIBULL.functionParameter.beta.detail`, example: `100`, require: 1, repeat: 0 }, { name: `formula.functionList.WEIBULL.functionParameter.cumulative.name`, detail: `formula.functionList.WEIBULL.functionParameter.cumulative.detail`, example: `true`, require: 1, repeat: 0 }] }, { functionName: zl2.ZTEST, functionType: Dt2.Compatibility, description: `formula.functionList.ZTEST.description`, abstract: `formula.functionList.ZTEST.abstract`, functionParameter: [{ name: `formula.functionList.ZTEST.functionParameter.array.name`, detail: `formula.functionList.ZTEST.functionParameter.array.detail`, example: `A2:A11`, require: 1, repeat: 0 }, { name: `formula.functionList.ZTEST.functionParameter.x.name`, detail: `formula.functionList.ZTEST.functionParameter.x.detail`, example: `4`, require: 1, repeat: 0 }, { name: `formula.functionList.ZTEST.functionParameter.sigma.name`, detail: `formula.functionList.ZTEST.functionParameter.sigma.detail`, example: `10`, require: 0, repeat: 0 }] }]; + var ri4 = [{ functionName: Jl2.CUBEKPIMEMBER, functionType: Dt2.Cube, description: `formula.functionList.CUBEKPIMEMBER.description`, abstract: `formula.functionList.CUBEKPIMEMBER.abstract`, functionParameter: [{ name: `formula.functionList.CUBEKPIMEMBER.functionParameter.number1.name`, detail: `formula.functionList.CUBEKPIMEMBER.functionParameter.number1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.CUBEKPIMEMBER.functionParameter.number2.name`, detail: `formula.functionList.CUBEKPIMEMBER.functionParameter.number2.detail`, example: `A1:A20`, require: 1, repeat: 0 }] }, { functionName: Jl2.CUBEMEMBER, functionType: Dt2.Cube, description: `formula.functionList.CUBEMEMBER.description`, abstract: `formula.functionList.CUBEMEMBER.abstract`, functionParameter: [{ name: `formula.functionList.CUBEMEMBER.functionParameter.number1.name`, detail: `formula.functionList.CUBEMEMBER.functionParameter.number1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.CUBEMEMBER.functionParameter.number2.name`, detail: `formula.functionList.CUBEMEMBER.functionParameter.number2.detail`, example: `A1:A20`, require: 1, repeat: 0 }] }, { functionName: Jl2.CUBEMEMBERPROPERTY, functionType: Dt2.Cube, description: `formula.functionList.CUBEMEMBERPROPERTY.description`, abstract: `formula.functionList.CUBEMEMBERPROPERTY.abstract`, functionParameter: [{ name: `formula.functionList.CUBEMEMBERPROPERTY.functionParameter.number1.name`, detail: `formula.functionList.CUBEMEMBERPROPERTY.functionParameter.number1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.CUBEMEMBERPROPERTY.functionParameter.number2.name`, detail: `formula.functionList.CUBEMEMBERPROPERTY.functionParameter.number2.detail`, example: `A1:A20`, require: 1, repeat: 0 }] }, { functionName: Jl2.CUBERANKEDMEMBER, functionType: Dt2.Cube, description: `formula.functionList.CUBERANKEDMEMBER.description`, abstract: `formula.functionList.CUBERANKEDMEMBER.abstract`, functionParameter: [{ name: `formula.functionList.CUBERANKEDMEMBER.functionParameter.number1.name`, detail: `formula.functionList.CUBERANKEDMEMBER.functionParameter.number1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.CUBERANKEDMEMBER.functionParameter.number2.name`, detail: `formula.functionList.CUBERANKEDMEMBER.functionParameter.number2.detail`, example: `A1:A20`, require: 1, repeat: 0 }] }, { functionName: Jl2.CUBESET, functionType: Dt2.Cube, description: `formula.functionList.CUBESET.description`, abstract: `formula.functionList.CUBESET.abstract`, functionParameter: [{ name: `formula.functionList.CUBESET.functionParameter.number1.name`, detail: `formula.functionList.CUBESET.functionParameter.number1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.CUBESET.functionParameter.number2.name`, detail: `formula.functionList.CUBESET.functionParameter.number2.detail`, example: `A1:A20`, require: 1, repeat: 0 }] }, { functionName: Jl2.CUBESETCOUNT, functionType: Dt2.Cube, description: `formula.functionList.CUBESETCOUNT.description`, abstract: `formula.functionList.CUBESETCOUNT.abstract`, functionParameter: [{ name: `formula.functionList.CUBESETCOUNT.functionParameter.number1.name`, detail: `formula.functionList.CUBESETCOUNT.functionParameter.number1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.CUBESETCOUNT.functionParameter.number2.name`, detail: `formula.functionList.CUBESETCOUNT.functionParameter.number2.detail`, example: `A1:A20`, require: 1, repeat: 0 }] }, { functionName: Jl2.CUBEVALUE, functionType: Dt2.Cube, description: `formula.functionList.CUBEVALUE.description`, abstract: `formula.functionList.CUBEVALUE.abstract`, functionParameter: [{ name: `formula.functionList.CUBEVALUE.functionParameter.number1.name`, detail: `formula.functionList.CUBEVALUE.functionParameter.number1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.CUBEVALUE.functionParameter.number2.name`, detail: `formula.functionList.CUBEVALUE.functionParameter.number2.detail`, example: `A1:A20`, require: 1, repeat: 0 }] }]; + var ii3 = [{ functionName: pu.DAVERAGE, functionType: Dt2.Database, description: `formula.functionList.DAVERAGE.description`, abstract: `formula.functionList.DAVERAGE.abstract`, functionParameter: [{ name: `formula.functionList.DAVERAGE.functionParameter.database.name`, detail: `formula.functionList.DAVERAGE.functionParameter.database.detail`, example: `A4:E10`, require: 1, repeat: 0 }, { name: `formula.functionList.DAVERAGE.functionParameter.field.name`, detail: `formula.functionList.DAVERAGE.functionParameter.field.detail`, example: `D4`, require: 1, repeat: 0 }, { name: `formula.functionList.DAVERAGE.functionParameter.criteria.name`, detail: `formula.functionList.DAVERAGE.functionParameter.criteria.detail`, example: `A1:B2`, require: 1, repeat: 0 }] }, { functionName: pu.DCOUNT, functionType: Dt2.Database, description: `formula.functionList.DCOUNT.description`, abstract: `formula.functionList.DCOUNT.abstract`, functionParameter: [{ name: `formula.functionList.DCOUNT.functionParameter.database.name`, detail: `formula.functionList.DCOUNT.functionParameter.database.detail`, example: `A4:E10`, require: 1, repeat: 0 }, { name: `formula.functionList.DCOUNT.functionParameter.field.name`, detail: `formula.functionList.DCOUNT.functionParameter.field.detail`, example: `D4`, require: 1, repeat: 0 }, { name: `formula.functionList.DCOUNT.functionParameter.criteria.name`, detail: `formula.functionList.DCOUNT.functionParameter.criteria.detail`, example: `A1:B2`, require: 1, repeat: 0 }] }, { functionName: pu.DCOUNTA, functionType: Dt2.Database, description: `formula.functionList.DCOUNTA.description`, abstract: `formula.functionList.DCOUNTA.abstract`, functionParameter: [{ name: `formula.functionList.DCOUNTA.functionParameter.database.name`, detail: `formula.functionList.DCOUNTA.functionParameter.database.detail`, example: `A4:E10`, require: 1, repeat: 0 }, { name: `formula.functionList.DCOUNTA.functionParameter.field.name`, detail: `formula.functionList.DCOUNTA.functionParameter.field.detail`, example: `D4`, require: 1, repeat: 0 }, { name: `formula.functionList.DCOUNTA.functionParameter.criteria.name`, detail: `formula.functionList.DCOUNTA.functionParameter.criteria.detail`, example: `A1:B2`, require: 1, repeat: 0 }] }, { functionName: pu.DGET, functionType: Dt2.Database, description: `formula.functionList.DGET.description`, abstract: `formula.functionList.DGET.abstract`, functionParameter: [{ name: `formula.functionList.DGET.functionParameter.database.name`, detail: `formula.functionList.DGET.functionParameter.database.detail`, example: `A4:E10`, require: 1, repeat: 0 }, { name: `formula.functionList.DGET.functionParameter.field.name`, detail: `formula.functionList.DGET.functionParameter.field.detail`, example: `D4`, require: 1, repeat: 0 }, { name: `formula.functionList.DGET.functionParameter.criteria.name`, detail: `formula.functionList.DGET.functionParameter.criteria.detail`, example: `A1:B2`, require: 1, repeat: 0 }] }, { functionName: pu.DMAX, functionType: Dt2.Database, description: `formula.functionList.DMAX.description`, abstract: `formula.functionList.DMAX.abstract`, functionParameter: [{ name: `formula.functionList.DMAX.functionParameter.database.name`, detail: `formula.functionList.DMAX.functionParameter.database.detail`, example: `A4:E10`, require: 1, repeat: 0 }, { name: `formula.functionList.DMAX.functionParameter.field.name`, detail: `formula.functionList.DMAX.functionParameter.field.detail`, example: `D4`, require: 1, repeat: 0 }, { name: `formula.functionList.DMAX.functionParameter.criteria.name`, detail: `formula.functionList.DMAX.functionParameter.criteria.detail`, example: `A1:B2`, require: 1, repeat: 0 }] }, { functionName: pu.DMIN, functionType: Dt2.Database, description: `formula.functionList.DMIN.description`, abstract: `formula.functionList.DMIN.abstract`, functionParameter: [{ name: `formula.functionList.DMIN.functionParameter.database.name`, detail: `formula.functionList.DMIN.functionParameter.database.detail`, example: `A4:E10`, require: 1, repeat: 0 }, { name: `formula.functionList.DMIN.functionParameter.field.name`, detail: `formula.functionList.DMIN.functionParameter.field.detail`, example: `D4`, require: 1, repeat: 0 }, { name: `formula.functionList.DMIN.functionParameter.criteria.name`, detail: `formula.functionList.DMIN.functionParameter.criteria.detail`, example: `A1:B2`, require: 1, repeat: 0 }] }, { functionName: pu.DPRODUCT, functionType: Dt2.Database, description: `formula.functionList.DPRODUCT.description`, abstract: `formula.functionList.DPRODUCT.abstract`, functionParameter: [{ name: `formula.functionList.DPRODUCT.functionParameter.database.name`, detail: `formula.functionList.DPRODUCT.functionParameter.database.detail`, example: `A4:E10`, require: 1, repeat: 0 }, { name: `formula.functionList.DPRODUCT.functionParameter.field.name`, detail: `formula.functionList.DPRODUCT.functionParameter.field.detail`, example: `D4`, require: 1, repeat: 0 }, { name: `formula.functionList.DPRODUCT.functionParameter.criteria.name`, detail: `formula.functionList.DPRODUCT.functionParameter.criteria.detail`, example: `A1:B2`, require: 1, repeat: 0 }] }, { functionName: pu.DSTDEV, functionType: Dt2.Database, description: `formula.functionList.DSTDEV.description`, abstract: `formula.functionList.DSTDEV.abstract`, functionParameter: [{ name: `formula.functionList.DSTDEV.functionParameter.database.name`, detail: `formula.functionList.DSTDEV.functionParameter.database.detail`, example: `A4:E10`, require: 1, repeat: 0 }, { name: `formula.functionList.DSTDEV.functionParameter.field.name`, detail: `formula.functionList.DSTDEV.functionParameter.field.detail`, example: `D4`, require: 1, repeat: 0 }, { name: `formula.functionList.DSTDEV.functionParameter.criteria.name`, detail: `formula.functionList.DSTDEV.functionParameter.criteria.detail`, example: `A1:B2`, require: 1, repeat: 0 }] }, { functionName: pu.DSTDEVP, functionType: Dt2.Database, description: `formula.functionList.DSTDEVP.description`, abstract: `formula.functionList.DSTDEVP.abstract`, functionParameter: [{ name: `formula.functionList.DSTDEVP.functionParameter.database.name`, detail: `formula.functionList.DSTDEVP.functionParameter.database.detail`, example: `A4:E10`, require: 1, repeat: 0 }, { name: `formula.functionList.DSTDEVP.functionParameter.field.name`, detail: `formula.functionList.DSTDEVP.functionParameter.field.detail`, example: `D4`, require: 1, repeat: 0 }, { name: `formula.functionList.DSTDEVP.functionParameter.criteria.name`, detail: `formula.functionList.DSTDEVP.functionParameter.criteria.detail`, example: `A1:B2`, require: 1, repeat: 0 }] }, { functionName: pu.DSUM, functionType: Dt2.Database, description: `formula.functionList.DSUM.description`, abstract: `formula.functionList.DSUM.abstract`, functionParameter: [{ name: `formula.functionList.DSUM.functionParameter.database.name`, detail: `formula.functionList.DSUM.functionParameter.database.detail`, example: `A4:E10`, require: 1, repeat: 0 }, { name: `formula.functionList.DSUM.functionParameter.field.name`, detail: `formula.functionList.DSUM.functionParameter.field.detail`, example: `D4`, require: 1, repeat: 0 }, { name: `formula.functionList.DSUM.functionParameter.criteria.name`, detail: `formula.functionList.DSUM.functionParameter.criteria.detail`, example: `A1:B2`, require: 1, repeat: 0 }] }, { functionName: pu.DVAR, functionType: Dt2.Database, description: `formula.functionList.DVAR.description`, abstract: `formula.functionList.DVAR.abstract`, functionParameter: [{ name: `formula.functionList.DVAR.functionParameter.database.name`, detail: `formula.functionList.DVAR.functionParameter.database.detail`, example: `A4:E10`, require: 1, repeat: 0 }, { name: `formula.functionList.DVAR.functionParameter.field.name`, detail: `formula.functionList.DVAR.functionParameter.field.detail`, example: `D4`, require: 1, repeat: 0 }, { name: `formula.functionList.DVAR.functionParameter.criteria.name`, detail: `formula.functionList.DVAR.functionParameter.criteria.detail`, example: `A1:B2`, require: 1, repeat: 0 }] }, { functionName: pu.DVARP, functionType: Dt2.Database, description: `formula.functionList.DVARP.description`, abstract: `formula.functionList.DVARP.abstract`, functionParameter: [{ name: `formula.functionList.DVARP.functionParameter.database.name`, detail: `formula.functionList.DVARP.functionParameter.database.detail`, example: `A4:E10`, require: 1, repeat: 0 }, { name: `formula.functionList.DVARP.functionParameter.field.name`, detail: `formula.functionList.DVARP.functionParameter.field.detail`, example: `D4`, require: 1, repeat: 0 }, { name: `formula.functionList.DVARP.functionParameter.criteria.name`, detail: `formula.functionList.DVARP.functionParameter.criteria.detail`, example: `A1:B2`, require: 1, repeat: 0 }] }]; + var ai4 = [{ functionName: eo2.DATE, functionType: Dt2.Date, description: `formula.functionList.DATE.description`, abstract: `formula.functionList.DATE.abstract`, functionParameter: [{ name: `formula.functionList.DATE.functionParameter.year.name`, detail: `formula.functionList.DATE.functionParameter.year.detail`, example: `2024`, require: 1, repeat: 0 }, { name: `formula.functionList.DATE.functionParameter.month.name`, detail: `formula.functionList.DATE.functionParameter.month.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.DATE.functionParameter.day.name`, detail: `formula.functionList.DATE.functionParameter.day.detail`, example: `1`, require: 1, repeat: 0 }] }, { functionName: eo2.DATEDIF, functionType: Dt2.Date, description: `formula.functionList.DATEDIF.description`, abstract: `formula.functionList.DATEDIF.abstract`, functionParameter: [{ name: `formula.functionList.DATEDIF.functionParameter.startDate.name`, detail: `formula.functionList.DATEDIF.functionParameter.startDate.detail`, example: `"2001-6-1"`, require: 1, repeat: 0 }, { name: `formula.functionList.DATEDIF.functionParameter.endDate.name`, detail: `formula.functionList.DATEDIF.functionParameter.endDate.detail`, example: `"2002-8-15"`, require: 1, repeat: 0 }, { name: `formula.functionList.DATEDIF.functionParameter.method.name`, detail: `formula.functionList.DATEDIF.functionParameter.method.detail`, example: `"D"`, require: 1, repeat: 0 }] }, { functionName: eo2.DATEVALUE, functionType: Dt2.Date, description: `formula.functionList.DATEVALUE.description`, abstract: `formula.functionList.DATEVALUE.abstract`, functionParameter: [{ name: `formula.functionList.DATEVALUE.functionParameter.dateText.name`, detail: `formula.functionList.DATEVALUE.functionParameter.dateText.detail`, example: `"2024-8-8"`, require: 1, repeat: 0 }] }, { functionName: eo2.DAY, functionType: Dt2.Date, description: `formula.functionList.DAY.description`, abstract: `formula.functionList.DAY.abstract`, functionParameter: [{ name: `formula.functionList.DAY.functionParameter.serialNumber.name`, detail: `formula.functionList.DAY.functionParameter.serialNumber.detail`, example: `"1969-7-20"`, require: 1, repeat: 0 }] }, { functionName: eo2.DAYS, functionType: Dt2.Date, description: `formula.functionList.DAYS.description`, abstract: `formula.functionList.DAYS.abstract`, functionParameter: [{ name: `formula.functionList.DAYS.functionParameter.endDate.name`, detail: `formula.functionList.DAYS.functionParameter.endDate.detail`, example: `"2021-12-31"`, require: 1, repeat: 0 }, { name: `formula.functionList.DAYS.functionParameter.startDate.name`, detail: `formula.functionList.DAYS.functionParameter.startDate.detail`, example: `"2021-1-1"`, require: 1, repeat: 0 }] }, { functionName: eo2.DAYS360, functionType: Dt2.Date, description: `formula.functionList.DAYS360.description`, abstract: `formula.functionList.DAYS360.abstract`, functionParameter: [{ name: `formula.functionList.DAYS360.functionParameter.startDate.name`, detail: `formula.functionList.DAYS360.functionParameter.startDate.detail`, example: `"2021-1-29"`, require: 1, repeat: 0 }, { name: `formula.functionList.DAYS360.functionParameter.endDate.name`, detail: `formula.functionList.DAYS360.functionParameter.endDate.detail`, example: `"2021-3-31"`, require: 1, repeat: 0 }, { name: `formula.functionList.DAYS360.functionParameter.method.name`, detail: `formula.functionList.DAYS360.functionParameter.method.detail`, example: `1`, require: 0, repeat: 0 }] }, { functionName: eo2.EDATE, functionType: Dt2.Date, description: `formula.functionList.EDATE.description`, abstract: `formula.functionList.EDATE.abstract`, functionParameter: [{ name: `formula.functionList.EDATE.functionParameter.startDate.name`, detail: `formula.functionList.EDATE.functionParameter.startDate.detail`, example: `A1`, require: 1, repeat: 0 }, { name: `formula.functionList.EDATE.functionParameter.months.name`, detail: `formula.functionList.EDATE.functionParameter.months.detail`, example: `1`, require: 1, repeat: 0 }] }, { functionName: eo2.EOMONTH, functionType: Dt2.Date, description: `formula.functionList.EOMONTH.description`, abstract: `formula.functionList.EOMONTH.abstract`, functionParameter: [{ name: `formula.functionList.EOMONTH.functionParameter.startDate.name`, detail: `formula.functionList.EOMONTH.functionParameter.startDate.detail`, example: `"2011-1-1"`, require: 1, repeat: 0 }, { name: `formula.functionList.EOMONTH.functionParameter.months.name`, detail: `formula.functionList.EOMONTH.functionParameter.months.detail`, example: `1`, require: 1, repeat: 0 }] }, { functionName: eo2.EPOCHTODATE, functionType: Dt2.Date, description: `formula.functionList.EPOCHTODATE.description`, abstract: `formula.functionList.EPOCHTODATE.abstract`, functionParameter: [{ name: `formula.functionList.EPOCHTODATE.functionParameter.timestamp.name`, detail: `formula.functionList.EPOCHTODATE.functionParameter.timestamp.detail`, example: `1655906710`, require: 1, repeat: 0 }, { name: `formula.functionList.EPOCHTODATE.functionParameter.unit.name`, detail: `formula.functionList.EPOCHTODATE.functionParameter.unit.detail`, example: `1`, require: 0, repeat: 0 }] }, { functionName: eo2.HOUR, functionType: Dt2.Date, description: `formula.functionList.HOUR.description`, abstract: `formula.functionList.HOUR.abstract`, functionParameter: [{ name: `formula.functionList.HOUR.functionParameter.serialNumber.name`, detail: `formula.functionList.HOUR.functionParameter.serialNumber.detail`, example: `"2011-7-18 7:45"`, require: 1, repeat: 0 }] }, { functionName: eo2.ISOWEEKNUM, functionType: Dt2.Date, description: `formula.functionList.ISOWEEKNUM.description`, abstract: `formula.functionList.ISOWEEKNUM.abstract`, functionParameter: [{ name: `formula.functionList.ISOWEEKNUM.functionParameter.date.name`, detail: `formula.functionList.ISOWEEKNUM.functionParameter.date.detail`, example: `"2012-3-9"`, require: 1, repeat: 0 }] }, { functionName: eo2.MINUTE, functionType: Dt2.Date, description: `formula.functionList.MINUTE.description`, abstract: `formula.functionList.MINUTE.abstract`, functionParameter: [{ name: `formula.functionList.MINUTE.functionParameter.serialNumber.name`, detail: `formula.functionList.MINUTE.functionParameter.serialNumber.detail`, example: `"12:45"`, require: 1, repeat: 0 }] }, { functionName: eo2.MONTH, functionType: Dt2.Date, description: `formula.functionList.MONTH.description`, abstract: `formula.functionList.MONTH.abstract`, functionParameter: [{ name: `formula.functionList.MONTH.functionParameter.serialNumber.name`, detail: `formula.functionList.MONTH.functionParameter.serialNumber.detail`, example: `"1969-7-20"`, require: 1, repeat: 0 }] }, { functionName: eo2.NETWORKDAYS, functionType: Dt2.Date, description: `formula.functionList.NETWORKDAYS.description`, abstract: `formula.functionList.NETWORKDAYS.abstract`, functionParameter: [{ name: `formula.functionList.NETWORKDAYS.functionParameter.startDate.name`, detail: `formula.functionList.NETWORKDAYS.functionParameter.startDate.detail`, example: `"2012-10-1"`, require: 1, repeat: 0 }, { name: `formula.functionList.NETWORKDAYS.functionParameter.endDate.name`, detail: `formula.functionList.NETWORKDAYS.functionParameter.endDate.detail`, example: `"2013-3-1"`, require: 1, repeat: 0 }, { name: `formula.functionList.NETWORKDAYS.functionParameter.holidays.name`, detail: `formula.functionList.NETWORKDAYS.functionParameter.holidays.detail`, example: `"2012-11-22"`, require: 0, repeat: 0 }] }, { functionName: eo2.NETWORKDAYS_INTL, functionType: Dt2.Date, description: `formula.functionList.NETWORKDAYS_INTL.description`, abstract: `formula.functionList.NETWORKDAYS_INTL.abstract`, functionParameter: [{ name: `formula.functionList.NETWORKDAYS_INTL.functionParameter.startDate.name`, detail: `formula.functionList.NETWORKDAYS_INTL.functionParameter.startDate.detail`, example: `"2012-10-1"`, require: 1, repeat: 0 }, { name: `formula.functionList.NETWORKDAYS_INTL.functionParameter.endDate.name`, detail: `formula.functionList.NETWORKDAYS_INTL.functionParameter.endDate.detail`, example: `"2013-3-1"`, require: 1, repeat: 0 }, { name: `formula.functionList.NETWORKDAYS_INTL.functionParameter.weekend.name`, detail: `formula.functionList.NETWORKDAYS_INTL.functionParameter.weekend.detail`, example: `6`, require: 0, repeat: 0 }, { name: `formula.functionList.NETWORKDAYS_INTL.functionParameter.holidays.name`, detail: `formula.functionList.NETWORKDAYS_INTL.functionParameter.holidays.detail`, example: `"2012-11-22"`, require: 0, repeat: 0 }] }, { functionName: eo2.NOW, functionType: Dt2.Date, description: `formula.functionList.NOW.description`, abstract: `formula.functionList.NOW.abstract`, functionParameter: [] }, { functionName: eo2.SECOND, functionType: Dt2.Date, description: `formula.functionList.SECOND.description`, abstract: `formula.functionList.SECOND.abstract`, functionParameter: [{ name: `formula.functionList.SECOND.functionParameter.serialNumber.name`, detail: `formula.functionList.SECOND.functionParameter.serialNumber.detail`, example: `"4:48:18"`, require: 1, repeat: 0 }] }, { functionName: eo2.TIME, functionType: Dt2.Date, description: `formula.functionList.TIME.description`, abstract: `formula.functionList.TIME.abstract`, functionParameter: [{ name: `formula.functionList.TIME.functionParameter.hour.name`, detail: `formula.functionList.TIME.functionParameter.hour.detail`, example: `15`, require: 1, repeat: 0 }, { name: `formula.functionList.TIME.functionParameter.minute.name`, detail: `formula.functionList.TIME.functionParameter.minute.detail`, example: `20`, require: 1, repeat: 0 }, { name: `formula.functionList.TIME.functionParameter.second.name`, detail: `formula.functionList.TIME.functionParameter.second.detail`, example: `59`, require: 1, repeat: 0 }] }, { functionName: eo2.TIMEVALUE, functionType: Dt2.Date, description: `formula.functionList.TIMEVALUE.description`, abstract: `formula.functionList.TIMEVALUE.abstract`, functionParameter: [{ name: `formula.functionList.TIMEVALUE.functionParameter.timeText.name`, detail: `formula.functionList.TIMEVALUE.functionParameter.timeText.detail`, example: `"15:20:59"`, require: 1, repeat: 0 }] }, { functionName: eo2.TO_DATE, functionType: Dt2.Date, description: `formula.functionList.TO_DATE.description`, abstract: `formula.functionList.TO_DATE.abstract`, functionParameter: [{ name: `formula.functionList.TO_DATE.functionParameter.value.name`, detail: `formula.functionList.TO_DATE.functionParameter.value.detail`, example: `40826.4375`, require: 1, repeat: 0 }] }, { functionName: eo2.TODAY, functionType: Dt2.Date, description: `formula.functionList.TODAY.description`, abstract: `formula.functionList.TODAY.abstract`, functionParameter: [] }, { functionName: eo2.WEEKDAY, functionType: Dt2.Date, description: `formula.functionList.WEEKDAY.description`, abstract: `formula.functionList.WEEKDAY.abstract`, functionParameter: [{ name: `formula.functionList.WEEKDAY.functionParameter.serialNumber.name`, detail: `formula.functionList.WEEKDAY.functionParameter.serialNumber.detail`, example: `"2008-2-14"`, require: 1, repeat: 0 }, { name: `formula.functionList.WEEKDAY.functionParameter.returnType.name`, detail: `formula.functionList.WEEKDAY.functionParameter.returnType.detail`, example: `2`, require: 0, repeat: 0 }] }, { functionName: eo2.WEEKNUM, functionType: Dt2.Date, description: `formula.functionList.WEEKNUM.description`, abstract: `formula.functionList.WEEKNUM.abstract`, functionParameter: [{ name: `formula.functionList.WEEKNUM.functionParameter.serialNumber.name`, detail: `formula.functionList.WEEKNUM.functionParameter.serialNumber.detail`, example: `"2012-3-9"`, require: 1, repeat: 0 }, { name: `formula.functionList.WEEKNUM.functionParameter.returnType.name`, detail: `formula.functionList.WEEKNUM.functionParameter.returnType.detail`, example: `2`, require: 0, repeat: 0 }] }, { functionName: eo2.WORKDAY, functionType: Dt2.Date, description: `formula.functionList.WORKDAY.description`, abstract: `formula.functionList.WORKDAY.abstract`, functionParameter: [{ name: `formula.functionList.WORKDAY.functionParameter.startDate.name`, detail: `formula.functionList.WORKDAY.functionParameter.startDate.detail`, example: `"2008-10-1"`, require: 1, repeat: 0 }, { name: `formula.functionList.WORKDAY.functionParameter.days.name`, detail: `formula.functionList.WORKDAY.functionParameter.days.detail`, example: `151`, require: 1, repeat: 0 }, { name: `formula.functionList.WORKDAY.functionParameter.holidays.name`, detail: `formula.functionList.WORKDAY.functionParameter.holidays.detail`, example: `"2008-11-26"`, require: 0, repeat: 0 }] }, { functionName: eo2.WORKDAY_INTL, functionType: Dt2.Date, description: `formula.functionList.WORKDAY_INTL.description`, abstract: `formula.functionList.WORKDAY_INTL.abstract`, functionParameter: [{ name: `formula.functionList.WORKDAY_INTL.functionParameter.startDate.name`, detail: `formula.functionList.WORKDAY_INTL.functionParameter.startDate.detail`, example: `"2008-10-1"`, require: 1, repeat: 0 }, { name: `formula.functionList.WORKDAY_INTL.functionParameter.days.name`, detail: `formula.functionList.WORKDAY_INTL.functionParameter.days.detail`, example: `151`, require: 1, repeat: 0 }, { name: `formula.functionList.WORKDAY_INTL.functionParameter.weekend.name`, detail: `formula.functionList.WORKDAY_INTL.functionParameter.weekend.detail`, example: `6`, require: 0, repeat: 0 }, { name: `formula.functionList.WORKDAY_INTL.functionParameter.holidays.name`, detail: `formula.functionList.WORKDAY_INTL.functionParameter.holidays.detail`, example: `"2008-11-26"`, require: 0, repeat: 0 }] }, { functionName: eo2.YEAR, functionType: Dt2.Date, description: `formula.functionList.YEAR.description`, abstract: `formula.functionList.YEAR.abstract`, functionParameter: [{ name: `formula.functionList.YEAR.functionParameter.serialNumber.name`, detail: `formula.functionList.YEAR.functionParameter.serialNumber.detail`, example: `"1969-7-20"`, require: 1, repeat: 0 }] }, { functionName: eo2.YEARFRAC, functionType: Dt2.Date, description: `formula.functionList.YEARFRAC.description`, abstract: `formula.functionList.YEARFRAC.abstract`, functionParameter: [{ name: `formula.functionList.YEARFRAC.functionParameter.startDate.name`, detail: `formula.functionList.YEARFRAC.functionParameter.startDate.detail`, example: `"2012-1-1"`, require: 1, repeat: 0 }, { name: `formula.functionList.YEARFRAC.functionParameter.endDate.name`, detail: `formula.functionList.YEARFRAC.functionParameter.endDate.detail`, example: `"2012-7-30"`, require: 1, repeat: 0 }, { name: `formula.functionList.YEARFRAC.functionParameter.basis.name`, detail: `formula.functionList.YEARFRAC.functionParameter.basis.detail`, example: `1`, require: 0, repeat: 0 }] }]; + var oi4 = [{ functionName: U3.BESSELI, functionType: Dt2.Engineering, description: `formula.functionList.BESSELI.description`, abstract: `formula.functionList.BESSELI.abstract`, functionParameter: [{ name: `formula.functionList.BESSELI.functionParameter.x.name`, detail: `formula.functionList.BESSELI.functionParameter.x.detail`, example: `1.5`, require: 1, repeat: 0 }, { name: `formula.functionList.BESSELI.functionParameter.n.name`, detail: `formula.functionList.BESSELI.functionParameter.n.detail`, example: `1`, require: 1, repeat: 0 }] }, { functionName: U3.BESSELJ, functionType: Dt2.Engineering, description: `formula.functionList.BESSELJ.description`, abstract: `formula.functionList.BESSELJ.abstract`, functionParameter: [{ name: `formula.functionList.BESSELJ.functionParameter.x.name`, detail: `formula.functionList.BESSELJ.functionParameter.x.detail`, example: `1.5`, require: 1, repeat: 0 }, { name: `formula.functionList.BESSELJ.functionParameter.n.name`, detail: `formula.functionList.BESSELJ.functionParameter.n.detail`, example: `1`, require: 1, repeat: 0 }] }, { functionName: U3.BESSELK, functionType: Dt2.Engineering, description: `formula.functionList.BESSELK.description`, abstract: `formula.functionList.BESSELK.abstract`, functionParameter: [{ name: `formula.functionList.BESSELK.functionParameter.x.name`, detail: `formula.functionList.BESSELK.functionParameter.x.detail`, example: `1.5`, require: 1, repeat: 0 }, { name: `formula.functionList.BESSELK.functionParameter.n.name`, detail: `formula.functionList.BESSELK.functionParameter.n.detail`, example: `1`, require: 1, repeat: 0 }] }, { functionName: U3.BESSELY, functionType: Dt2.Engineering, description: `formula.functionList.BESSELY.description`, abstract: `formula.functionList.BESSELY.abstract`, functionParameter: [{ name: `formula.functionList.BESSELY.functionParameter.x.name`, detail: `formula.functionList.BESSELY.functionParameter.x.detail`, example: `1.5`, require: 1, repeat: 0 }, { name: `formula.functionList.BESSELY.functionParameter.n.name`, detail: `formula.functionList.BESSELY.functionParameter.n.detail`, example: `1`, require: 1, repeat: 0 }] }, { functionName: U3.BIN2DEC, functionType: Dt2.Engineering, description: `formula.functionList.BIN2DEC.description`, abstract: `formula.functionList.BIN2DEC.abstract`, functionParameter: [{ name: `formula.functionList.BIN2DEC.functionParameter.number.name`, detail: `formula.functionList.BIN2DEC.functionParameter.number.detail`, example: `1100100`, require: 1, repeat: 0 }] }, { functionName: U3.BIN2HEX, functionType: Dt2.Engineering, description: `formula.functionList.BIN2HEX.description`, abstract: `formula.functionList.BIN2HEX.abstract`, functionParameter: [{ name: `formula.functionList.BIN2HEX.functionParameter.number.name`, detail: `formula.functionList.BIN2HEX.functionParameter.number.detail`, example: `11111011`, require: 1, repeat: 0 }, { name: `formula.functionList.BIN2HEX.functionParameter.places.name`, detail: `formula.functionList.BIN2HEX.functionParameter.places.detail`, example: `4`, require: 0, repeat: 0 }] }, { functionName: U3.BIN2OCT, functionType: Dt2.Engineering, description: `formula.functionList.BIN2OCT.description`, abstract: `formula.functionList.BIN2OCT.abstract`, functionParameter: [{ name: `formula.functionList.BIN2OCT.functionParameter.number.name`, detail: `formula.functionList.BIN2OCT.functionParameter.number.detail`, example: `1001`, require: 1, repeat: 0 }, { name: `formula.functionList.BIN2OCT.functionParameter.places.name`, detail: `formula.functionList.BIN2OCT.functionParameter.places.detail`, example: `3`, require: 0, repeat: 0 }] }, { functionName: U3.BITAND, functionType: Dt2.Engineering, description: `formula.functionList.BITAND.description`, abstract: `formula.functionList.BITAND.abstract`, functionParameter: [{ name: `formula.functionList.BITAND.functionParameter.number1.name`, detail: `formula.functionList.BITAND.functionParameter.number1.detail`, example: `13`, require: 1, repeat: 0 }, { name: `formula.functionList.BITAND.functionParameter.number2.name`, detail: `formula.functionList.BITAND.functionParameter.number2.detail`, example: `25`, require: 1, repeat: 0 }] }, { functionName: U3.BITLSHIFT, functionType: Dt2.Engineering, description: `formula.functionList.BITLSHIFT.description`, abstract: `formula.functionList.BITLSHIFT.abstract`, functionParameter: [{ name: `formula.functionList.BITLSHIFT.functionParameter.number.name`, detail: `formula.functionList.BITLSHIFT.functionParameter.number.detail`, example: `4`, require: 1, repeat: 0 }, { name: `formula.functionList.BITLSHIFT.functionParameter.shiftAmount.name`, detail: `formula.functionList.BITLSHIFT.functionParameter.shiftAmount.detail`, example: `2`, require: 1, repeat: 0 }] }, { functionName: U3.BITOR, functionType: Dt2.Engineering, description: `formula.functionList.BITOR.description`, abstract: `formula.functionList.BITOR.abstract`, functionParameter: [{ name: `formula.functionList.BITOR.functionParameter.number1.name`, detail: `formula.functionList.BITOR.functionParameter.number1.detail`, example: `23`, require: 1, repeat: 0 }, { name: `formula.functionList.BITOR.functionParameter.number2.name`, detail: `formula.functionList.BITOR.functionParameter.number2.detail`, example: `10`, require: 1, repeat: 0 }] }, { functionName: U3.BITRSHIFT, functionType: Dt2.Engineering, description: `formula.functionList.BITRSHIFT.description`, abstract: `formula.functionList.BITRSHIFT.abstract`, functionParameter: [{ name: `formula.functionList.BITRSHIFT.functionParameter.number.name`, detail: `formula.functionList.BITRSHIFT.functionParameter.number.detail`, example: `13`, require: 1, repeat: 0 }, { name: `formula.functionList.BITRSHIFT.functionParameter.shiftAmount.name`, detail: `formula.functionList.BITRSHIFT.functionParameter.shiftAmount.detail`, example: `2`, require: 1, repeat: 0 }] }, { functionName: U3.BITXOR, functionType: Dt2.Engineering, description: `formula.functionList.BITXOR.description`, abstract: `formula.functionList.BITXOR.abstract`, functionParameter: [{ name: `formula.functionList.BITXOR.functionParameter.number1.name`, detail: `formula.functionList.BITXOR.functionParameter.number1.detail`, example: `5`, require: 1, repeat: 0 }, { name: `formula.functionList.BITXOR.functionParameter.number2.name`, detail: `formula.functionList.BITXOR.functionParameter.number2.detail`, example: `3`, require: 1, repeat: 0 }] }, { functionName: U3.COMPLEX, functionType: Dt2.Engineering, description: `formula.functionList.COMPLEX.description`, abstract: `formula.functionList.COMPLEX.abstract`, functionParameter: [{ name: `formula.functionList.COMPLEX.functionParameter.realNum.name`, detail: `formula.functionList.COMPLEX.functionParameter.realNum.detail`, example: `3`, require: 1, repeat: 0 }, { name: `formula.functionList.COMPLEX.functionParameter.iNum.name`, detail: `formula.functionList.COMPLEX.functionParameter.iNum.detail`, example: `4`, require: 1, repeat: 0 }, { name: `formula.functionList.COMPLEX.functionParameter.suffix.name`, detail: `formula.functionList.COMPLEX.functionParameter.suffix.detail`, example: `"i"`, require: 0, repeat: 0 }] }, { functionName: U3.CONVERT, functionType: Dt2.Engineering, description: `formula.functionList.CONVERT.description`, abstract: `formula.functionList.CONVERT.abstract`, functionParameter: [{ name: `formula.functionList.CONVERT.functionParameter.number.name`, detail: `formula.functionList.CONVERT.functionParameter.number.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.CONVERT.functionParameter.fromUnit.name`, detail: `formula.functionList.CONVERT.functionParameter.fromUnit.detail`, example: `"lbm"`, require: 1, repeat: 0 }, { name: `formula.functionList.CONVERT.functionParameter.toUnit.name`, detail: `formula.functionList.CONVERT.functionParameter.toUnit.detail`, example: `"kg"`, require: 1, repeat: 0 }] }, { functionName: U3.DEC2BIN, functionType: Dt2.Engineering, description: `formula.functionList.DEC2BIN.description`, abstract: `formula.functionList.DEC2BIN.abstract`, functionParameter: [{ name: `formula.functionList.DEC2BIN.functionParameter.number.name`, detail: `formula.functionList.DEC2BIN.functionParameter.number.detail`, example: `9`, require: 1, repeat: 0 }, { name: `formula.functionList.DEC2BIN.functionParameter.places.name`, detail: `formula.functionList.DEC2BIN.functionParameter.places.detail`, example: `4`, require: 0, repeat: 0 }] }, { functionName: U3.DEC2HEX, functionType: Dt2.Engineering, description: `formula.functionList.DEC2HEX.description`, abstract: `formula.functionList.DEC2HEX.abstract`, functionParameter: [{ name: `formula.functionList.DEC2HEX.functionParameter.number.name`, detail: `formula.functionList.DEC2HEX.functionParameter.number.detail`, example: `100`, require: 1, repeat: 0 }, { name: `formula.functionList.DEC2HEX.functionParameter.places.name`, detail: `formula.functionList.DEC2HEX.functionParameter.places.detail`, example: `4`, require: 0, repeat: 0 }] }, { functionName: U3.DEC2OCT, functionType: Dt2.Engineering, description: `formula.functionList.DEC2OCT.description`, abstract: `formula.functionList.DEC2OCT.abstract`, functionParameter: [{ name: `formula.functionList.DEC2OCT.functionParameter.number.name`, detail: `formula.functionList.DEC2OCT.functionParameter.number.detail`, example: `58`, require: 1, repeat: 0 }, { name: `formula.functionList.DEC2OCT.functionParameter.places.name`, detail: `formula.functionList.DEC2OCT.functionParameter.places.detail`, example: `3`, require: 0, repeat: 0 }] }, { functionName: U3.DELTA, functionType: Dt2.Engineering, description: `formula.functionList.DELTA.description`, abstract: `formula.functionList.DELTA.abstract`, functionParameter: [{ name: `formula.functionList.DELTA.functionParameter.number1.name`, detail: `formula.functionList.DELTA.functionParameter.number1.detail`, example: `5`, require: 1, repeat: 0 }, { name: `formula.functionList.DELTA.functionParameter.number2.name`, detail: `formula.functionList.DELTA.functionParameter.number2.detail`, example: `4`, require: 0, repeat: 0 }] }, { functionName: U3.ERF, functionType: Dt2.Engineering, description: `formula.functionList.ERF.description`, abstract: `formula.functionList.ERF.abstract`, functionParameter: [{ name: `formula.functionList.ERF.functionParameter.lowerLimit.name`, detail: `formula.functionList.ERF.functionParameter.lowerLimit.detail`, example: `0.745`, require: 1, repeat: 0 }, { name: `formula.functionList.ERF.functionParameter.upperLimit.name`, detail: `formula.functionList.ERF.functionParameter.upperLimit.detail`, example: `2`, require: 0, repeat: 0 }] }, { functionName: U3.ERF_PRECISE, functionType: Dt2.Engineering, description: `formula.functionList.ERF_PRECISE.description`, abstract: `formula.functionList.ERF_PRECISE.abstract`, functionParameter: [{ name: `formula.functionList.ERF_PRECISE.functionParameter.x.name`, detail: `formula.functionList.ERF_PRECISE.functionParameter.x.detail`, example: `1`, require: 1, repeat: 0 }] }, { functionName: U3.ERFC, functionType: Dt2.Engineering, description: `formula.functionList.ERFC.description`, abstract: `formula.functionList.ERFC.abstract`, functionParameter: [{ name: `formula.functionList.ERFC.functionParameter.x.name`, detail: `formula.functionList.ERFC.functionParameter.x.detail`, example: `1`, require: 1, repeat: 0 }] }, { functionName: U3.ERFC_PRECISE, functionType: Dt2.Engineering, description: `formula.functionList.ERFC_PRECISE.description`, abstract: `formula.functionList.ERFC_PRECISE.abstract`, functionParameter: [{ name: `formula.functionList.ERFC_PRECISE.functionParameter.x.name`, detail: `formula.functionList.ERFC_PRECISE.functionParameter.x.detail`, example: `1`, require: 1, repeat: 0 }] }, { functionName: U3.GESTEP, functionType: Dt2.Engineering, description: `formula.functionList.GESTEP.description`, abstract: `formula.functionList.GESTEP.abstract`, functionParameter: [{ name: `formula.functionList.GESTEP.functionParameter.number.name`, detail: `formula.functionList.GESTEP.functionParameter.number.detail`, example: `5`, require: 1, repeat: 0 }, { name: `formula.functionList.GESTEP.functionParameter.step.name`, detail: `formula.functionList.GESTEP.functionParameter.step.detail`, example: `4`, require: 0, repeat: 0 }] }, { functionName: U3.HEX2BIN, functionType: Dt2.Engineering, description: `formula.functionList.HEX2BIN.description`, abstract: `formula.functionList.HEX2BIN.abstract`, functionParameter: [{ name: `formula.functionList.HEX2BIN.functionParameter.number.name`, detail: `formula.functionList.HEX2BIN.functionParameter.number.detail`, example: `"F"`, require: 1, repeat: 0 }, { name: `formula.functionList.HEX2BIN.functionParameter.places.name`, detail: `formula.functionList.HEX2BIN.functionParameter.places.detail`, example: `8`, require: 0, repeat: 0 }] }, { functionName: U3.HEX2DEC, functionType: Dt2.Engineering, description: `formula.functionList.HEX2DEC.description`, abstract: `formula.functionList.HEX2DEC.abstract`, functionParameter: [{ name: `formula.functionList.HEX2DEC.functionParameter.number.name`, detail: `formula.functionList.HEX2DEC.functionParameter.number.detail`, example: `"A5"`, require: 1, repeat: 0 }] }, { functionName: U3.HEX2OCT, functionType: Dt2.Engineering, description: `formula.functionList.HEX2OCT.description`, abstract: `formula.functionList.HEX2OCT.abstract`, functionParameter: [{ name: `formula.functionList.HEX2OCT.functionParameter.number.name`, detail: `formula.functionList.HEX2OCT.functionParameter.number.detail`, example: `"F"`, require: 1, repeat: 0 }, { name: `formula.functionList.HEX2OCT.functionParameter.places.name`, detail: `formula.functionList.HEX2OCT.functionParameter.places.detail`, example: `3`, require: 0, repeat: 0 }] }, { functionName: U3.IMABS, functionType: Dt2.Engineering, description: `formula.functionList.IMABS.description`, abstract: `formula.functionList.IMABS.abstract`, functionParameter: [{ name: `formula.functionList.IMABS.functionParameter.inumber.name`, detail: `formula.functionList.IMABS.functionParameter.inumber.detail`, example: `"5+12i"`, require: 1, repeat: 0 }] }, { functionName: U3.IMAGINARY, functionType: Dt2.Engineering, description: `formula.functionList.IMAGINARY.description`, abstract: `formula.functionList.IMAGINARY.abstract`, functionParameter: [{ name: `formula.functionList.IMAGINARY.functionParameter.inumber.name`, detail: `formula.functionList.IMAGINARY.functionParameter.inumber.detail`, example: `"3+4i"`, require: 1, repeat: 0 }] }, { functionName: U3.IMARGUMENT, functionType: Dt2.Engineering, description: `formula.functionList.IMARGUMENT.description`, abstract: `formula.functionList.IMARGUMENT.abstract`, functionParameter: [{ name: `formula.functionList.IMARGUMENT.functionParameter.inumber.name`, detail: `formula.functionList.IMARGUMENT.functionParameter.inumber.detail`, example: `"3+4i"`, require: 1, repeat: 0 }] }, { functionName: U3.IMCONJUGATE, functionType: Dt2.Engineering, description: `formula.functionList.IMCONJUGATE.description`, abstract: `formula.functionList.IMCONJUGATE.abstract`, functionParameter: [{ name: `formula.functionList.IMCONJUGATE.functionParameter.inumber.name`, detail: `formula.functionList.IMCONJUGATE.functionParameter.inumber.detail`, example: `"3+4i"`, require: 1, repeat: 0 }] }, { functionName: U3.IMCOS, functionType: Dt2.Engineering, description: `formula.functionList.IMCOS.description`, abstract: `formula.functionList.IMCOS.abstract`, functionParameter: [{ name: `formula.functionList.IMCOS.functionParameter.inumber.name`, detail: `formula.functionList.IMCOS.functionParameter.inumber.detail`, example: `"1+i"`, require: 1, repeat: 0 }] }, { functionName: U3.IMCOSH, functionType: Dt2.Engineering, description: `formula.functionList.IMCOSH.description`, abstract: `formula.functionList.IMCOSH.abstract`, functionParameter: [{ name: `formula.functionList.IMCOSH.functionParameter.inumber.name`, detail: `formula.functionList.IMCOSH.functionParameter.inumber.detail`, example: `"4+3i"`, require: 1, repeat: 0 }] }, { functionName: U3.IMCOT, functionType: Dt2.Engineering, description: `formula.functionList.IMCOT.description`, abstract: `formula.functionList.IMCOT.abstract`, functionParameter: [{ name: `formula.functionList.IMCOT.functionParameter.inumber.name`, detail: `formula.functionList.IMCOT.functionParameter.inumber.detail`, example: `"4+3i"`, require: 1, repeat: 0 }] }, { functionName: U3.IMCOTH, functionType: Dt2.Engineering, description: `formula.functionList.IMCOTH.description`, abstract: `formula.functionList.IMCOTH.abstract`, functionParameter: [{ name: `formula.functionList.IMCOTH.functionParameter.inumber.name`, detail: `formula.functionList.IMCOTH.functionParameter.inumber.detail`, example: `"4+3i"`, require: 1, repeat: 0 }] }, { functionName: U3.IMCSC, functionType: Dt2.Engineering, description: `formula.functionList.IMCSC.description`, abstract: `formula.functionList.IMCSC.abstract`, functionParameter: [{ name: `formula.functionList.IMCSC.functionParameter.inumber.name`, detail: `formula.functionList.IMCSC.functionParameter.inumber.detail`, example: `"4+3i"`, require: 1, repeat: 0 }] }, { functionName: U3.IMCSCH, functionType: Dt2.Engineering, description: `formula.functionList.IMCSCH.description`, abstract: `formula.functionList.IMCSCH.abstract`, functionParameter: [{ name: `formula.functionList.IMCSCH.functionParameter.inumber.name`, detail: `formula.functionList.IMCSCH.functionParameter.inumber.detail`, example: `"4+3i"`, require: 1, repeat: 0 }] }, { functionName: U3.IMDIV, functionType: Dt2.Engineering, description: `formula.functionList.IMDIV.description`, abstract: `formula.functionList.IMDIV.abstract`, functionParameter: [{ name: `formula.functionList.IMDIV.functionParameter.inumber1.name`, detail: `formula.functionList.IMDIV.functionParameter.inumber1.detail`, example: `"-238+240i"`, require: 1, repeat: 0 }, { name: `formula.functionList.IMDIV.functionParameter.inumber2.name`, detail: `formula.functionList.IMDIV.functionParameter.inumber2.detail`, example: `"10+24i"`, require: 1, repeat: 0 }] }, { functionName: U3.IMEXP, functionType: Dt2.Engineering, description: `formula.functionList.IMEXP.description`, abstract: `formula.functionList.IMEXP.abstract`, functionParameter: [{ name: `formula.functionList.IMEXP.functionParameter.inumber.name`, detail: `formula.functionList.IMEXP.functionParameter.inumber.detail`, example: `"1+i"`, require: 1, repeat: 0 }] }, { functionName: U3.IMLN, functionType: Dt2.Engineering, description: `formula.functionList.IMLN.description`, abstract: `formula.functionList.IMLN.abstract`, functionParameter: [{ name: `formula.functionList.IMLN.functionParameter.inumber.name`, detail: `formula.functionList.IMLN.functionParameter.inumber.detail`, example: `"3+4i"`, require: 1, repeat: 0 }] }, { functionName: U3.IMLOG, functionType: Dt2.Engineering, description: `formula.functionList.IMLOG.description`, abstract: `formula.functionList.IMLOG.abstract`, functionParameter: [{ name: `formula.functionList.IMLOG.functionParameter.inumber.name`, detail: `formula.functionList.IMLOG.functionParameter.inumber.detail`, example: `"3+4i"`, require: 1, repeat: 0 }, { name: `formula.functionList.IMLOG.functionParameter.base.name`, detail: `formula.functionList.IMLOG.functionParameter.base.detail`, example: `10`, require: 0, repeat: 0 }] }, { functionName: U3.IMLOG10, functionType: Dt2.Engineering, description: `formula.functionList.IMLOG10.description`, abstract: `formula.functionList.IMLOG10.abstract`, functionParameter: [{ name: `formula.functionList.IMLOG10.functionParameter.inumber.name`, detail: `formula.functionList.IMLOG10.functionParameter.inumber.detail`, example: `"3+4i"`, require: 1, repeat: 0 }] }, { functionName: U3.IMLOG2, functionType: Dt2.Engineering, description: `formula.functionList.IMLOG2.description`, abstract: `formula.functionList.IMLOG2.abstract`, functionParameter: [{ name: `formula.functionList.IMLOG2.functionParameter.inumber.name`, detail: `formula.functionList.IMLOG2.functionParameter.inumber.detail`, example: `"3+4i"`, require: 1, repeat: 0 }] }, { functionName: U3.IMPOWER, functionType: Dt2.Engineering, description: `formula.functionList.IMPOWER.description`, abstract: `formula.functionList.IMPOWER.abstract`, functionParameter: [{ name: `formula.functionList.IMPOWER.functionParameter.inumber.name`, detail: `formula.functionList.IMPOWER.functionParameter.inumber.detail`, example: `"2+3i"`, require: 1, repeat: 0 }, { name: `formula.functionList.IMPOWER.functionParameter.number.name`, detail: `formula.functionList.IMPOWER.functionParameter.number.detail`, example: `3`, require: 1, repeat: 0 }] }, { functionName: U3.IMPRODUCT, functionType: Dt2.Engineering, description: `formula.functionList.IMPRODUCT.description`, abstract: `formula.functionList.IMPRODUCT.abstract`, functionParameter: [{ name: `formula.functionList.IMPRODUCT.functionParameter.inumber1.name`, detail: `formula.functionList.IMPRODUCT.functionParameter.inumber1.detail`, example: `"3+4i"`, require: 1, repeat: 0 }, { name: `formula.functionList.IMPRODUCT.functionParameter.inumber2.name`, detail: `formula.functionList.IMPRODUCT.functionParameter.inumber2.detail`, example: `"5-3i"`, require: 0, repeat: 1 }] }, { functionName: U3.IMREAL, functionType: Dt2.Engineering, description: `formula.functionList.IMREAL.description`, abstract: `formula.functionList.IMREAL.abstract`, functionParameter: [{ name: `formula.functionList.IMREAL.functionParameter.inumber.name`, detail: `formula.functionList.IMREAL.functionParameter.inumber.detail`, example: `"6-9i"`, require: 1, repeat: 0 }] }, { functionName: U3.IMSEC, functionType: Dt2.Engineering, description: `formula.functionList.IMSEC.description`, abstract: `formula.functionList.IMSEC.abstract`, functionParameter: [{ name: `formula.functionList.IMSEC.functionParameter.inumber.name`, detail: `formula.functionList.IMSEC.functionParameter.inumber.detail`, example: `"4+3i"`, require: 1, repeat: 0 }] }, { functionName: U3.IMSECH, functionType: Dt2.Engineering, description: `formula.functionList.IMSECH.description`, abstract: `formula.functionList.IMSECH.abstract`, functionParameter: [{ name: `formula.functionList.IMSECH.functionParameter.inumber.name`, detail: `formula.functionList.IMSECH.functionParameter.inumber.detail`, example: `"4+3i"`, require: 1, repeat: 0 }] }, { functionName: U3.IMSIN, functionType: Dt2.Engineering, description: `formula.functionList.IMSIN.description`, abstract: `formula.functionList.IMSIN.abstract`, functionParameter: [{ name: `formula.functionList.IMSIN.functionParameter.inumber.name`, detail: `formula.functionList.IMSIN.functionParameter.inumber.detail`, example: `"4+3i"`, require: 1, repeat: 0 }] }, { functionName: U3.IMSINH, functionType: Dt2.Engineering, description: `formula.functionList.IMSINH.description`, abstract: `formula.functionList.IMSINH.abstract`, functionParameter: [{ name: `formula.functionList.IMSINH.functionParameter.inumber.name`, detail: `formula.functionList.IMSINH.functionParameter.inumber.detail`, example: `"4+3i"`, require: 1, repeat: 0 }] }, { functionName: U3.IMSQRT, functionType: Dt2.Engineering, description: `formula.functionList.IMSQRT.description`, abstract: `formula.functionList.IMSQRT.abstract`, functionParameter: [{ name: `formula.functionList.IMSQRT.functionParameter.inumber.name`, detail: `formula.functionList.IMSQRT.functionParameter.inumber.detail`, example: `"1+i"`, require: 1, repeat: 0 }] }, { functionName: U3.IMSUB, functionType: Dt2.Engineering, description: `formula.functionList.IMSUB.description`, abstract: `formula.functionList.IMSUB.abstract`, functionParameter: [{ name: `formula.functionList.IMSUB.functionParameter.inumber1.name`, detail: `formula.functionList.IMSUB.functionParameter.inumber1.detail`, example: `"13+4i"`, require: 1, repeat: 0 }, { name: `formula.functionList.IMSUB.functionParameter.inumber2.name`, detail: `formula.functionList.IMSUB.functionParameter.inumber2.detail`, example: `"5+3i"`, require: 1, repeat: 0 }] }, { functionName: U3.IMSUM, functionType: Dt2.Engineering, description: `formula.functionList.IMSUM.description`, abstract: `formula.functionList.IMSUM.abstract`, functionParameter: [{ name: `formula.functionList.IMSUM.functionParameter.inumber1.name`, detail: `formula.functionList.IMSUM.functionParameter.inumber1.detail`, example: `"3+4i"`, require: 1, repeat: 0 }, { name: `formula.functionList.IMSUM.functionParameter.inumber2.name`, detail: `formula.functionList.IMSUM.functionParameter.inumber2.detail`, example: `"5-3i"`, require: 0, repeat: 1 }] }, { functionName: U3.IMTAN, functionType: Dt2.Engineering, description: `formula.functionList.IMTAN.description`, abstract: `formula.functionList.IMTAN.abstract`, functionParameter: [{ name: `formula.functionList.IMTAN.functionParameter.inumber.name`, detail: `formula.functionList.IMTAN.functionParameter.inumber.detail`, example: `"4+3i"`, require: 1, repeat: 0 }] }, { functionName: U3.IMTANH, functionType: Dt2.Engineering, description: `formula.functionList.IMTANH.description`, abstract: `formula.functionList.IMTANH.abstract`, functionParameter: [{ name: `formula.functionList.IMTANH.functionParameter.inumber.name`, detail: `formula.functionList.IMTANH.functionParameter.inumber.detail`, example: `"4+3i"`, require: 1, repeat: 0 }] }, { functionName: U3.OCT2BIN, functionType: Dt2.Engineering, description: `formula.functionList.OCT2BIN.description`, abstract: `formula.functionList.OCT2BIN.abstract`, functionParameter: [{ name: `formula.functionList.OCT2BIN.functionParameter.number.name`, detail: `formula.functionList.OCT2BIN.functionParameter.number.detail`, example: `3`, require: 1, repeat: 0 }, { name: `formula.functionList.OCT2BIN.functionParameter.places.name`, detail: `formula.functionList.OCT2BIN.functionParameter.places.detail`, example: `3`, require: 0, repeat: 0 }] }, { functionName: U3.OCT2DEC, functionType: Dt2.Engineering, description: `formula.functionList.OCT2DEC.description`, abstract: `formula.functionList.OCT2DEC.abstract`, functionParameter: [{ name: `formula.functionList.OCT2DEC.functionParameter.number.name`, detail: `formula.functionList.OCT2DEC.functionParameter.number.detail`, example: `54`, require: 1, repeat: 0 }] }, { functionName: U3.OCT2HEX, functionType: Dt2.Engineering, description: `formula.functionList.OCT2HEX.description`, abstract: `formula.functionList.OCT2HEX.abstract`, functionParameter: [{ name: `formula.functionList.OCT2HEX.functionParameter.number.name`, detail: `formula.functionList.OCT2HEX.functionParameter.number.detail`, example: `100`, require: 1, repeat: 0 }, { name: `formula.functionList.OCT2HEX.functionParameter.places.name`, detail: `formula.functionList.OCT2HEX.functionParameter.places.detail`, example: `4`, require: 0, repeat: 0 }] }]; + var si4 = [{ functionName: W3.ACCRINT, functionType: Dt2.Financial, description: `formula.functionList.ACCRINT.description`, abstract: `formula.functionList.ACCRINT.abstract`, functionParameter: [{ name: `formula.functionList.ACCRINT.functionParameter.issue.name`, detail: `formula.functionList.ACCRINT.functionParameter.issue.detail`, example: `"2008-3-1"`, require: 1, repeat: 0 }, { name: `formula.functionList.ACCRINT.functionParameter.firstInterest.name`, detail: `formula.functionList.ACCRINT.functionParameter.firstInterest.detail`, example: `"2008-8-31"`, require: 1, repeat: 0 }, { name: `formula.functionList.ACCRINT.functionParameter.settlement.name`, detail: `formula.functionList.ACCRINT.functionParameter.settlement.detail`, example: `"2008-5-1"`, require: 1, repeat: 0 }, { name: `formula.functionList.ACCRINT.functionParameter.rate.name`, detail: `formula.functionList.ACCRINT.functionParameter.rate.detail`, example: `10%`, require: 1, repeat: 0 }, { name: `formula.functionList.ACCRINT.functionParameter.par.name`, detail: `formula.functionList.ACCRINT.functionParameter.par.detail`, example: `1000`, require: 1, repeat: 0 }, { name: `formula.functionList.ACCRINT.functionParameter.frequency.name`, detail: `formula.functionList.ACCRINT.functionParameter.frequency.detail`, example: `2`, require: 1, repeat: 0 }, { name: `formula.functionList.ACCRINT.functionParameter.basis.name`, detail: `formula.functionList.ACCRINT.functionParameter.basis.detail`, example: `0`, require: 0, repeat: 0 }, { name: `formula.functionList.ACCRINT.functionParameter.calcMethod.name`, detail: `formula.functionList.ACCRINT.functionParameter.calcMethod.detail`, example: `true`, require: 0, repeat: 0 }] }, { functionName: W3.ACCRINTM, functionType: Dt2.Financial, description: `formula.functionList.ACCRINTM.description`, abstract: `formula.functionList.ACCRINTM.abstract`, functionParameter: [{ name: `formula.functionList.ACCRINTM.functionParameter.issue.name`, detail: `formula.functionList.ACCRINTM.functionParameter.issue.detail`, example: `"2008-4-1"`, require: 1, repeat: 0 }, { name: `formula.functionList.ACCRINTM.functionParameter.settlement.name`, detail: `formula.functionList.ACCRINTM.functionParameter.settlement.detail`, example: `"2008-6-15"`, require: 1, repeat: 0 }, { name: `formula.functionList.ACCRINTM.functionParameter.rate.name`, detail: `formula.functionList.ACCRINTM.functionParameter.rate.detail`, example: `10%`, require: 1, repeat: 0 }, { name: `formula.functionList.ACCRINTM.functionParameter.par.name`, detail: `formula.functionList.ACCRINTM.functionParameter.par.detail`, example: `1000`, require: 1, repeat: 0 }, { name: `formula.functionList.ACCRINTM.functionParameter.basis.name`, detail: `formula.functionList.ACCRINTM.functionParameter.basis.detail`, example: `3`, require: 0, repeat: 0 }] }, { functionName: W3.AMORDEGRC, functionType: Dt2.Financial, description: `formula.functionList.AMORDEGRC.description`, abstract: `formula.functionList.AMORDEGRC.abstract`, functionParameter: [{ name: `formula.functionList.AMORDEGRC.functionParameter.number1.name`, detail: `formula.functionList.AMORDEGRC.functionParameter.number1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.AMORDEGRC.functionParameter.number2.name`, detail: `formula.functionList.AMORDEGRC.functionParameter.number2.detail`, example: `A1:A20`, require: 1, repeat: 0 }] }, { functionName: W3.AMORLINC, functionType: Dt2.Financial, description: `formula.functionList.AMORLINC.description`, abstract: `formula.functionList.AMORLINC.abstract`, functionParameter: [{ name: `formula.functionList.AMORLINC.functionParameter.cost.name`, detail: `formula.functionList.AMORLINC.functionParameter.cost.detail`, example: `2400`, require: 1, repeat: 0 }, { name: `formula.functionList.AMORLINC.functionParameter.datePurchased.name`, detail: `formula.functionList.AMORLINC.functionParameter.datePurchased.detail`, example: `"2008-8-19"`, require: 1, repeat: 0 }, { name: `formula.functionList.AMORLINC.functionParameter.firstPeriod.name`, detail: `formula.functionList.AMORLINC.functionParameter.firstPeriod.detail`, example: `"2008-12-31"`, require: 1, repeat: 0 }, { name: `formula.functionList.AMORLINC.functionParameter.salvage.name`, detail: `formula.functionList.AMORLINC.functionParameter.salvage.detail`, example: `300`, require: 1, repeat: 0 }, { name: `formula.functionList.AMORLINC.functionParameter.period.name`, detail: `formula.functionList.AMORLINC.functionParameter.period.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.AMORLINC.functionParameter.rate.name`, detail: `formula.functionList.AMORLINC.functionParameter.rate.detail`, example: `15%`, require: 1, repeat: 0 }, { name: `formula.functionList.AMORLINC.functionParameter.basis.name`, detail: `formula.functionList.AMORLINC.functionParameter.basis.detail`, example: `0`, require: 0, repeat: 0 }] }, { functionName: W3.COUPDAYBS, functionType: Dt2.Financial, description: `formula.functionList.COUPDAYBS.description`, abstract: `formula.functionList.COUPDAYBS.abstract`, functionParameter: [{ name: `formula.functionList.COUPDAYBS.functionParameter.settlement.name`, detail: `formula.functionList.COUPDAYBS.functionParameter.settlement.detail`, example: `"2011-1-25"`, require: 1, repeat: 0 }, { name: `formula.functionList.COUPDAYBS.functionParameter.maturity.name`, detail: `formula.functionList.COUPDAYBS.functionParameter.maturity.detail`, example: `"2011-11-15"`, require: 1, repeat: 0 }, { name: `formula.functionList.COUPDAYBS.functionParameter.frequency.name`, detail: `formula.functionList.COUPDAYBS.functionParameter.frequency.detail`, example: `2`, require: 1, repeat: 0 }, { name: `formula.functionList.COUPDAYBS.functionParameter.basis.name`, detail: `formula.functionList.COUPDAYBS.functionParameter.basis.detail`, example: `1`, require: 0, repeat: 0 }] }, { functionName: W3.COUPDAYS, functionType: Dt2.Financial, description: `formula.functionList.COUPDAYS.description`, abstract: `formula.functionList.COUPDAYS.abstract`, functionParameter: [{ name: `formula.functionList.COUPDAYS.functionParameter.settlement.name`, detail: `formula.functionList.COUPDAYS.functionParameter.settlement.detail`, example: `"2011-1-25"`, require: 1, repeat: 0 }, { name: `formula.functionList.COUPDAYS.functionParameter.maturity.name`, detail: `formula.functionList.COUPDAYS.functionParameter.maturity.detail`, example: `"2011-11-15"`, require: 1, repeat: 0 }, { name: `formula.functionList.COUPDAYS.functionParameter.frequency.name`, detail: `formula.functionList.COUPDAYS.functionParameter.frequency.detail`, example: `2`, require: 1, repeat: 0 }, { name: `formula.functionList.COUPDAYS.functionParameter.basis.name`, detail: `formula.functionList.COUPDAYS.functionParameter.basis.detail`, example: `1`, require: 0, repeat: 0 }] }, { functionName: W3.COUPDAYSNC, functionType: Dt2.Financial, description: `formula.functionList.COUPDAYSNC.description`, abstract: `formula.functionList.COUPDAYSNC.abstract`, functionParameter: [{ name: `formula.functionList.COUPDAYSNC.functionParameter.settlement.name`, detail: `formula.functionList.COUPDAYSNC.functionParameter.settlement.detail`, example: `"2011-1-25"`, require: 1, repeat: 0 }, { name: `formula.functionList.COUPDAYSNC.functionParameter.maturity.name`, detail: `formula.functionList.COUPDAYSNC.functionParameter.maturity.detail`, example: `"2011-11-15"`, require: 1, repeat: 0 }, { name: `formula.functionList.COUPDAYSNC.functionParameter.frequency.name`, detail: `formula.functionList.COUPDAYSNC.functionParameter.frequency.detail`, example: `2`, require: 1, repeat: 0 }, { name: `formula.functionList.COUPDAYSNC.functionParameter.basis.name`, detail: `formula.functionList.COUPDAYSNC.functionParameter.basis.detail`, example: `1`, require: 0, repeat: 0 }] }, { functionName: W3.COUPNCD, functionType: Dt2.Financial, description: `formula.functionList.COUPNCD.description`, abstract: `formula.functionList.COUPNCD.abstract`, functionParameter: [{ name: `formula.functionList.COUPNCD.functionParameter.settlement.name`, detail: `formula.functionList.COUPNCD.functionParameter.settlement.detail`, example: `"2011-1-25"`, require: 1, repeat: 0 }, { name: `formula.functionList.COUPNCD.functionParameter.maturity.name`, detail: `formula.functionList.COUPNCD.functionParameter.maturity.detail`, example: `"2011-11-15"`, require: 1, repeat: 0 }, { name: `formula.functionList.COUPNCD.functionParameter.frequency.name`, detail: `formula.functionList.COUPNCD.functionParameter.frequency.detail`, example: `2`, require: 1, repeat: 0 }, { name: `formula.functionList.COUPNCD.functionParameter.basis.name`, detail: `formula.functionList.COUPNCD.functionParameter.basis.detail`, example: `1`, require: 0, repeat: 0 }] }, { functionName: W3.COUPNUM, functionType: Dt2.Financial, description: `formula.functionList.COUPNUM.description`, abstract: `formula.functionList.COUPNUM.abstract`, functionParameter: [{ name: `formula.functionList.COUPNUM.functionParameter.settlement.name`, detail: `formula.functionList.COUPNUM.functionParameter.settlement.detail`, example: `"2011-1-25"`, require: 1, repeat: 0 }, { name: `formula.functionList.COUPNUM.functionParameter.maturity.name`, detail: `formula.functionList.COUPNUM.functionParameter.maturity.detail`, example: `"2011-11-15"`, require: 1, repeat: 0 }, { name: `formula.functionList.COUPNUM.functionParameter.frequency.name`, detail: `formula.functionList.COUPNUM.functionParameter.frequency.detail`, example: `2`, require: 1, repeat: 0 }, { name: `formula.functionList.COUPNUM.functionParameter.basis.name`, detail: `formula.functionList.COUPNUM.functionParameter.basis.detail`, example: `1`, require: 0, repeat: 0 }] }, { functionName: W3.COUPPCD, functionType: Dt2.Financial, description: `formula.functionList.COUPPCD.description`, abstract: `formula.functionList.COUPPCD.abstract`, functionParameter: [{ name: `formula.functionList.COUPPCD.functionParameter.settlement.name`, detail: `formula.functionList.COUPPCD.functionParameter.settlement.detail`, example: `"2011-1-25"`, require: 1, repeat: 0 }, { name: `formula.functionList.COUPPCD.functionParameter.maturity.name`, detail: `formula.functionList.COUPPCD.functionParameter.maturity.detail`, example: `"2011-11-15"`, require: 1, repeat: 0 }, { name: `formula.functionList.COUPPCD.functionParameter.frequency.name`, detail: `formula.functionList.COUPPCD.functionParameter.frequency.detail`, example: `2`, require: 1, repeat: 0 }, { name: `formula.functionList.COUPPCD.functionParameter.basis.name`, detail: `formula.functionList.COUPPCD.functionParameter.basis.detail`, example: `1`, require: 0, repeat: 0 }] }, { functionName: W3.CUMIPMT, functionType: Dt2.Financial, description: `formula.functionList.CUMIPMT.description`, abstract: `formula.functionList.CUMIPMT.abstract`, functionParameter: [{ name: `formula.functionList.CUMIPMT.functionParameter.rate.name`, detail: `formula.functionList.CUMIPMT.functionParameter.rate.detail`, example: `9%/12`, require: 1, repeat: 0 }, { name: `formula.functionList.CUMIPMT.functionParameter.nper.name`, detail: `formula.functionList.CUMIPMT.functionParameter.nper.detail`, example: `30*12`, require: 1, repeat: 0 }, { name: `formula.functionList.CUMIPMT.functionParameter.pv.name`, detail: `formula.functionList.CUMIPMT.functionParameter.pv.detail`, example: `125000`, require: 1, repeat: 0 }, { name: `formula.functionList.CUMIPMT.functionParameter.startPeriod.name`, detail: `formula.functionList.CUMIPMT.functionParameter.startPeriod.detail`, example: `13`, require: 1, repeat: 0 }, { name: `formula.functionList.CUMIPMT.functionParameter.endPeriod.name`, detail: `formula.functionList.CUMIPMT.functionParameter.endPeriod.detail`, example: `24`, require: 1, repeat: 0 }, { name: `formula.functionList.CUMIPMT.functionParameter.type.name`, detail: `formula.functionList.CUMIPMT.functionParameter.type.detail`, example: `0`, require: 1, repeat: 0 }] }, { functionName: W3.CUMPRINC, functionType: Dt2.Financial, description: `formula.functionList.CUMPRINC.description`, abstract: `formula.functionList.CUMPRINC.abstract`, functionParameter: [{ name: `formula.functionList.CUMPRINC.functionParameter.rate.name`, detail: `formula.functionList.CUMPRINC.functionParameter.rate.detail`, example: `9%/12`, require: 1, repeat: 0 }, { name: `formula.functionList.CUMPRINC.functionParameter.nper.name`, detail: `formula.functionList.CUMPRINC.functionParameter.nper.detail`, example: `30*12`, require: 1, repeat: 0 }, { name: `formula.functionList.CUMPRINC.functionParameter.pv.name`, detail: `formula.functionList.CUMPRINC.functionParameter.pv.detail`, example: `125000`, require: 1, repeat: 0 }, { name: `formula.functionList.CUMPRINC.functionParameter.startPeriod.name`, detail: `formula.functionList.CUMPRINC.functionParameter.startPeriod.detail`, example: `13`, require: 1, repeat: 0 }, { name: `formula.functionList.CUMPRINC.functionParameter.endPeriod.name`, detail: `formula.functionList.CUMPRINC.functionParameter.endPeriod.detail`, example: `24`, require: 1, repeat: 0 }, { name: `formula.functionList.CUMPRINC.functionParameter.type.name`, detail: `formula.functionList.CUMPRINC.functionParameter.type.detail`, example: `0`, require: 1, repeat: 0 }] }, { functionName: W3.DB, functionType: Dt2.Financial, description: `formula.functionList.DB.description`, abstract: `formula.functionList.DB.abstract`, functionParameter: [{ name: `formula.functionList.DB.functionParameter.cost.name`, detail: `formula.functionList.DB.functionParameter.cost.detail`, example: `10000000`, require: 1, repeat: 0 }, { name: `formula.functionList.DB.functionParameter.salvage.name`, detail: `formula.functionList.DB.functionParameter.salvage.detail`, example: `1000000`, require: 1, repeat: 0 }, { name: `formula.functionList.DB.functionParameter.life.name`, detail: `formula.functionList.DB.functionParameter.life.detail`, example: `6`, require: 1, repeat: 0 }, { name: `formula.functionList.DB.functionParameter.period.name`, detail: `formula.functionList.DB.functionParameter.period.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.DB.functionParameter.month.name`, detail: `formula.functionList.DB.functionParameter.month.detail`, example: `7`, require: 0, repeat: 0 }] }, { functionName: W3.DDB, functionType: Dt2.Financial, description: `formula.functionList.DDB.description`, abstract: `formula.functionList.DDB.abstract`, functionParameter: [{ name: `formula.functionList.DDB.functionParameter.cost.name`, detail: `formula.functionList.DDB.functionParameter.cost.detail`, example: `24000`, require: 1, repeat: 0 }, { name: `formula.functionList.DDB.functionParameter.salvage.name`, detail: `formula.functionList.DDB.functionParameter.salvage.detail`, example: `3000`, require: 1, repeat: 0 }, { name: `formula.functionList.DDB.functionParameter.life.name`, detail: `formula.functionList.DDB.functionParameter.life.detail`, example: `10`, require: 1, repeat: 0 }, { name: `formula.functionList.DDB.functionParameter.period.name`, detail: `formula.functionList.DDB.functionParameter.period.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.DDB.functionParameter.factor.name`, detail: `formula.functionList.DDB.functionParameter.factor.detail`, example: `2`, require: 0, repeat: 0 }] }, { functionName: W3.DISC, functionType: Dt2.Financial, description: `formula.functionList.DISC.description`, abstract: `formula.functionList.DISC.abstract`, functionParameter: [{ name: `formula.functionList.DISC.functionParameter.settlement.name`, detail: `formula.functionList.DISC.functionParameter.settlement.detail`, example: `"2018-7-1"`, require: 1, repeat: 0 }, { name: `formula.functionList.DISC.functionParameter.maturity.name`, detail: `formula.functionList.DISC.functionParameter.maturity.detail`, example: `"2048-1-1"`, require: 1, repeat: 0 }, { name: `formula.functionList.DISC.functionParameter.pr.name`, detail: `formula.functionList.DISC.functionParameter.pr.detail`, example: `97.975`, require: 1, repeat: 0 }, { name: `formula.functionList.DISC.functionParameter.redemption.name`, detail: `formula.functionList.DISC.functionParameter.redemption.detail`, example: `100`, require: 1, repeat: 0 }, { name: `formula.functionList.DISC.functionParameter.basis.name`, detail: `formula.functionList.DISC.functionParameter.basis.detail`, example: `1`, require: 0, repeat: 0 }] }, { functionName: W3.DOLLARDE, functionType: Dt2.Financial, description: `formula.functionList.DOLLARDE.description`, abstract: `formula.functionList.DOLLARDE.abstract`, functionParameter: [{ name: `formula.functionList.DOLLARDE.functionParameter.fractionalDollar.name`, detail: `formula.functionList.DOLLARDE.functionParameter.fractionalDollar.detail`, example: `1.02`, require: 1, repeat: 0 }, { name: `formula.functionList.DOLLARDE.functionParameter.fraction.name`, detail: `formula.functionList.DOLLARDE.functionParameter.fraction.detail`, example: `16`, require: 1, repeat: 0 }] }, { functionName: W3.DOLLARFR, functionType: Dt2.Financial, description: `formula.functionList.DOLLARFR.description`, abstract: `formula.functionList.DOLLARFR.abstract`, functionParameter: [{ name: `formula.functionList.DOLLARFR.functionParameter.decimalDollar.name`, detail: `formula.functionList.DOLLARFR.functionParameter.decimalDollar.detail`, example: `1.125`, require: 1, repeat: 0 }, { name: `formula.functionList.DOLLARFR.functionParameter.fraction.name`, detail: `formula.functionList.DOLLARFR.functionParameter.fraction.detail`, example: `16`, require: 1, repeat: 0 }] }, { functionName: W3.DURATION, functionType: Dt2.Financial, description: `formula.functionList.DURATION.description`, abstract: `formula.functionList.DURATION.abstract`, functionParameter: [{ name: `formula.functionList.DURATION.functionParameter.settlement.name`, detail: `formula.functionList.DURATION.functionParameter.settlement.detail`, example: `"2018-7-1"`, require: 1, repeat: 0 }, { name: `formula.functionList.DURATION.functionParameter.maturity.name`, detail: `formula.functionList.DURATION.functionParameter.maturity.detail`, example: `"2048-1-1"`, require: 1, repeat: 0 }, { name: `formula.functionList.DURATION.functionParameter.coupon.name`, detail: `formula.functionList.DURATION.functionParameter.coupon.detail`, example: `8%`, require: 1, repeat: 0 }, { name: `formula.functionList.DURATION.functionParameter.yld.name`, detail: `formula.functionList.DURATION.functionParameter.yld.detail`, example: `9%`, require: 1, repeat: 0 }, { name: `formula.functionList.DURATION.functionParameter.frequency.name`, detail: `formula.functionList.DURATION.functionParameter.frequency.detail`, example: `2`, require: 1, repeat: 0 }, { name: `formula.functionList.DURATION.functionParameter.basis.name`, detail: `formula.functionList.DURATION.functionParameter.basis.detail`, example: `1`, require: 0, repeat: 0 }] }, { functionName: W3.EFFECT, functionType: Dt2.Financial, description: `formula.functionList.EFFECT.description`, abstract: `formula.functionList.EFFECT.abstract`, functionParameter: [{ name: `formula.functionList.EFFECT.functionParameter.nominalRate.name`, detail: `formula.functionList.EFFECT.functionParameter.nominalRate.detail`, example: `5.25%`, require: 1, repeat: 0 }, { name: `formula.functionList.EFFECT.functionParameter.npery.name`, detail: `formula.functionList.EFFECT.functionParameter.npery.detail`, example: `4`, require: 1, repeat: 0 }] }, { functionName: W3.FV, functionType: Dt2.Financial, description: `formula.functionList.FV.description`, abstract: `formula.functionList.FV.abstract`, functionParameter: [{ name: `formula.functionList.FV.functionParameter.rate.name`, detail: `formula.functionList.FV.functionParameter.rate.detail`, example: `6%/12`, require: 1, repeat: 0 }, { name: `formula.functionList.FV.functionParameter.nper.name`, detail: `formula.functionList.FV.functionParameter.nper.detail`, example: `10`, require: 1, repeat: 0 }, { name: `formula.functionList.FV.functionParameter.pmt.name`, detail: `formula.functionList.FV.functionParameter.pmt.detail`, example: `-200`, require: 1, repeat: 0 }, { name: `formula.functionList.FV.functionParameter.pv.name`, detail: `formula.functionList.FV.functionParameter.pv.detail`, example: `-500`, require: 0, repeat: 0 }, { name: `formula.functionList.FV.functionParameter.type.name`, detail: `formula.functionList.FV.functionParameter.type.detail`, example: `1`, require: 0, repeat: 0 }] }, { functionName: W3.FVSCHEDULE, functionType: Dt2.Financial, description: `formula.functionList.FVSCHEDULE.description`, abstract: `formula.functionList.FVSCHEDULE.abstract`, functionParameter: [{ name: `formula.functionList.FVSCHEDULE.functionParameter.principal.name`, detail: `formula.functionList.FVSCHEDULE.functionParameter.principal.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.FVSCHEDULE.functionParameter.schedule.name`, detail: `formula.functionList.FVSCHEDULE.functionParameter.schedule.detail`, example: `A1:A4`, require: 1, repeat: 0 }] }, { functionName: W3.INTRATE, functionType: Dt2.Financial, description: `formula.functionList.INTRATE.description`, abstract: `formula.functionList.INTRATE.abstract`, functionParameter: [{ name: `formula.functionList.INTRATE.functionParameter.settlement.name`, detail: `formula.functionList.INTRATE.functionParameter.settlement.detail`, example: `"2008-2-15"`, require: 1, repeat: 0 }, { name: `formula.functionList.INTRATE.functionParameter.maturity.name`, detail: `formula.functionList.INTRATE.functionParameter.maturity.detail`, example: `"2008-5-15"`, require: 1, repeat: 0 }, { name: `formula.functionList.INTRATE.functionParameter.investment.name`, detail: `formula.functionList.INTRATE.functionParameter.investment.detail`, example: `10000000`, require: 1, repeat: 0 }, { name: `formula.functionList.INTRATE.functionParameter.redemption.name`, detail: `formula.functionList.INTRATE.functionParameter.redemption.detail`, example: `10144200`, require: 1, repeat: 0 }, { name: `formula.functionList.INTRATE.functionParameter.basis.name`, detail: `formula.functionList.INTRATE.functionParameter.basis.detail`, example: `2`, require: 0, repeat: 0 }] }, { functionName: W3.IPMT, functionType: Dt2.Financial, description: `formula.functionList.IPMT.description`, abstract: `formula.functionList.IPMT.abstract`, functionParameter: [{ name: `formula.functionList.IPMT.functionParameter.rate.name`, detail: `formula.functionList.IPMT.functionParameter.rate.detail`, example: `10%/12`, require: 1, repeat: 0 }, { name: `formula.functionList.IPMT.functionParameter.per.name`, detail: `formula.functionList.IPMT.functionParameter.per.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.IPMT.functionParameter.nper.name`, detail: `formula.functionList.IPMT.functionParameter.nper.detail`, example: `3*12`, require: 1, repeat: 0 }, { name: `formula.functionList.IPMT.functionParameter.pv.name`, detail: `formula.functionList.IPMT.functionParameter.pv.detail`, example: `80000`, require: 1, repeat: 0 }, { name: `formula.functionList.IPMT.functionParameter.fv.name`, detail: `formula.functionList.IPMT.functionParameter.fv.detail`, example: `0`, require: 0, repeat: 0 }, { name: `formula.functionList.IPMT.functionParameter.type.name`, detail: `formula.functionList.IPMT.functionParameter.type.detail`, example: `0`, require: 0, repeat: 0 }] }, { functionName: W3.IRR, functionType: Dt2.Financial, description: `formula.functionList.IRR.description`, abstract: `formula.functionList.IRR.abstract`, functionParameter: [{ name: `formula.functionList.IRR.functionParameter.values.name`, detail: `formula.functionList.IRR.functionParameter.values.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.IRR.functionParameter.guess.name`, detail: `formula.functionList.IRR.functionParameter.guess.detail`, example: `0.1`, require: 0, repeat: 0 }] }, { functionName: W3.ISPMT, functionType: Dt2.Financial, description: `formula.functionList.ISPMT.description`, abstract: `formula.functionList.ISPMT.abstract`, functionParameter: [{ name: `formula.functionList.ISPMT.functionParameter.rate.name`, detail: `formula.functionList.ISPMT.functionParameter.rate.detail`, example: `10%`, require: 1, repeat: 0 }, { name: `formula.functionList.ISPMT.functionParameter.per.name`, detail: `formula.functionList.ISPMT.functionParameter.per.detail`, example: `2`, require: 1, repeat: 0 }, { name: `formula.functionList.ISPMT.functionParameter.nper.name`, detail: `formula.functionList.ISPMT.functionParameter.nper.detail`, example: `5`, require: 1, repeat: 0 }, { name: `formula.functionList.ISPMT.functionParameter.pv.name`, detail: `formula.functionList.ISPMT.functionParameter.pv.detail`, example: `1000`, require: 1, repeat: 0 }] }, { functionName: W3.MDURATION, functionType: Dt2.Financial, description: `formula.functionList.MDURATION.description`, abstract: `formula.functionList.MDURATION.abstract`, functionParameter: [{ name: `formula.functionList.MDURATION.functionParameter.settlement.name`, detail: `formula.functionList.MDURATION.functionParameter.settlement.detail`, example: `"2018-7-1"`, require: 1, repeat: 0 }, { name: `formula.functionList.MDURATION.functionParameter.maturity.name`, detail: `formula.functionList.MDURATION.functionParameter.maturity.detail`, example: `"2048-1-1"`, require: 1, repeat: 0 }, { name: `formula.functionList.MDURATION.functionParameter.coupon.name`, detail: `formula.functionList.MDURATION.functionParameter.coupon.detail`, example: `8%`, require: 1, repeat: 0 }, { name: `formula.functionList.MDURATION.functionParameter.yld.name`, detail: `formula.functionList.MDURATION.functionParameter.yld.detail`, example: `9%`, require: 1, repeat: 0 }, { name: `formula.functionList.MDURATION.functionParameter.frequency.name`, detail: `formula.functionList.MDURATION.functionParameter.frequency.detail`, example: `2`, require: 1, repeat: 0 }, { name: `formula.functionList.MDURATION.functionParameter.basis.name`, detail: `formula.functionList.MDURATION.functionParameter.basis.detail`, example: `1`, require: 0, repeat: 0 }] }, { functionName: W3.MIRR, functionType: Dt2.Financial, description: `formula.functionList.MIRR.description`, abstract: `formula.functionList.MIRR.abstract`, functionParameter: [{ name: `formula.functionList.MIRR.functionParameter.values.name`, detail: `formula.functionList.MIRR.functionParameter.values.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.MIRR.functionParameter.financeRate.name`, detail: `formula.functionList.MIRR.functionParameter.financeRate.detail`, example: `10%`, require: 1, repeat: 0 }, { name: `formula.functionList.MIRR.functionParameter.reinvestRate.name`, detail: `formula.functionList.MIRR.functionParameter.reinvestRate.detail`, example: `12%`, require: 1, repeat: 0 }] }, { functionName: W3.NOMINAL, functionType: Dt2.Financial, description: `formula.functionList.NOMINAL.description`, abstract: `formula.functionList.NOMINAL.abstract`, functionParameter: [{ name: `formula.functionList.NOMINAL.functionParameter.effectRate.name`, detail: `formula.functionList.NOMINAL.functionParameter.effectRate.detail`, example: `5.3543%`, require: 1, repeat: 0 }, { name: `formula.functionList.NOMINAL.functionParameter.npery.name`, detail: `formula.functionList.NOMINAL.functionParameter.npery.detail`, example: `4`, require: 1, repeat: 0 }] }, { functionName: W3.NPER, functionType: Dt2.Financial, description: `formula.functionList.NPER.description`, abstract: `formula.functionList.NPER.abstract`, functionParameter: [{ name: `formula.functionList.NPER.functionParameter.rate.name`, detail: `formula.functionList.NPER.functionParameter.rate.detail`, example: `12%/12`, require: 1, repeat: 0 }, { name: `formula.functionList.NPER.functionParameter.pmt.name`, detail: `formula.functionList.NPER.functionParameter.pmt.detail`, example: `-100`, require: 1, repeat: 0 }, { name: `formula.functionList.NPER.functionParameter.pv.name`, detail: `formula.functionList.NPER.functionParameter.pv.detail`, example: `-1000`, require: 1, repeat: 0 }, { name: `formula.functionList.NPER.functionParameter.fv.name`, detail: `formula.functionList.NPER.functionParameter.fv.detail`, example: `10000`, require: 0, repeat: 0 }, { name: `formula.functionList.NPER.functionParameter.type.name`, detail: `formula.functionList.NPER.functionParameter.type.detail`, example: `1`, require: 0, repeat: 0 }] }, { functionName: W3.NPV, functionType: Dt2.Financial, description: `formula.functionList.NPV.description`, abstract: `formula.functionList.NPV.abstract`, functionParameter: [{ name: `formula.functionList.NPV.functionParameter.rate.name`, detail: `formula.functionList.NPV.functionParameter.rate.detail`, example: `10%`, require: 1, repeat: 0 }, { name: `formula.functionList.NPV.functionParameter.value1.name`, detail: `formula.functionList.NPV.functionParameter.value1.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.NPV.functionParameter.value2.name`, detail: `formula.functionList.NPV.functionParameter.value2.detail`, example: `-9000`, require: 0, repeat: 1 }] }, { functionName: W3.ODDFPRICE, functionType: Dt2.Financial, description: `formula.functionList.ODDFPRICE.description`, abstract: `formula.functionList.ODDFPRICE.abstract`, functionParameter: [{ name: `formula.functionList.ODDFPRICE.functionParameter.settlement.name`, detail: `formula.functionList.ODDFPRICE.functionParameter.settlement.detail`, example: `"2008-11-11"`, require: 1, repeat: 0 }, { name: `formula.functionList.ODDFPRICE.functionParameter.maturity.name`, detail: `formula.functionList.ODDFPRICE.functionParameter.maturity.detail`, example: `"2021-3-1"`, require: 1, repeat: 0 }, { name: `formula.functionList.ODDFPRICE.functionParameter.issue.name`, detail: `formula.functionList.ODDFPRICE.functionParameter.issue.detail`, example: `"2008-10-15"`, require: 1, repeat: 0 }, { name: `formula.functionList.ODDFPRICE.functionParameter.firstCoupon.name`, detail: `formula.functionList.ODDFPRICE.functionParameter.firstCoupon.detail`, example: `"2009-3-1"`, require: 1, repeat: 0 }, { name: `formula.functionList.ODDFPRICE.functionParameter.rate.name`, detail: `formula.functionList.ODDFPRICE.functionParameter.rate.detail`, example: `7.85%`, require: 1, repeat: 0 }, { name: `formula.functionList.ODDFPRICE.functionParameter.yld.name`, detail: `formula.functionList.ODDFPRICE.functionParameter.yld.detail`, example: `6.25%`, require: 1, repeat: 0 }, { name: `formula.functionList.ODDFPRICE.functionParameter.redemption.name`, detail: `formula.functionList.ODDFPRICE.functionParameter.redemption.detail`, example: `100`, require: 1, repeat: 0 }, { name: `formula.functionList.ODDFPRICE.functionParameter.frequency.name`, detail: `formula.functionList.ODDFPRICE.functionParameter.frequency.detail`, example: `2`, require: 1, repeat: 0 }, { name: `formula.functionList.ODDFPRICE.functionParameter.basis.name`, detail: `formula.functionList.ODDFPRICE.functionParameter.basis.detail`, example: `1`, require: 0, repeat: 0 }] }, { functionName: W3.ODDFYIELD, functionType: Dt2.Financial, description: `formula.functionList.ODDFYIELD.description`, abstract: `formula.functionList.ODDFYIELD.abstract`, functionParameter: [{ name: `formula.functionList.ODDFYIELD.functionParameter.settlement.name`, detail: `formula.functionList.ODDFYIELD.functionParameter.settlement.detail`, example: `"2008-11-11"`, require: 1, repeat: 0 }, { name: `formula.functionList.ODDFYIELD.functionParameter.maturity.name`, detail: `formula.functionList.ODDFYIELD.functionParameter.maturity.detail`, example: `"2021-3-1"`, require: 1, repeat: 0 }, { name: `formula.functionList.ODDFYIELD.functionParameter.issue.name`, detail: `formula.functionList.ODDFYIELD.functionParameter.issue.detail`, example: `"2008-10-15"`, require: 1, repeat: 0 }, { name: `formula.functionList.ODDFYIELD.functionParameter.firstCoupon.name`, detail: `formula.functionList.ODDFYIELD.functionParameter.firstCoupon.detail`, example: `"2009-3-1"`, require: 1, repeat: 0 }, { name: `formula.functionList.ODDFYIELD.functionParameter.rate.name`, detail: `formula.functionList.ODDFYIELD.functionParameter.rate.detail`, example: `5.75%`, require: 1, repeat: 0 }, { name: `formula.functionList.ODDFYIELD.functionParameter.pr.name`, detail: `formula.functionList.ODDFYIELD.functionParameter.pr.detail`, example: `84.5`, require: 1, repeat: 0 }, { name: `formula.functionList.ODDFYIELD.functionParameter.redemption.name`, detail: `formula.functionList.ODDFYIELD.functionParameter.redemption.detail`, example: `100`, require: 1, repeat: 0 }, { name: `formula.functionList.ODDFYIELD.functionParameter.frequency.name`, detail: `formula.functionList.ODDFYIELD.functionParameter.frequency.detail`, example: `2`, require: 1, repeat: 0 }, { name: `formula.functionList.ODDFYIELD.functionParameter.basis.name`, detail: `formula.functionList.ODDFYIELD.functionParameter.basis.detail`, example: `0`, require: 0, repeat: 0 }] }, { functionName: W3.ODDLPRICE, functionType: Dt2.Financial, description: `formula.functionList.ODDLPRICE.description`, abstract: `formula.functionList.ODDLPRICE.abstract`, functionParameter: [{ name: `formula.functionList.ODDLPRICE.functionParameter.settlement.name`, detail: `formula.functionList.ODDLPRICE.functionParameter.settlement.detail`, example: `"2008-2-7"`, require: 1, repeat: 0 }, { name: `formula.functionList.ODDLPRICE.functionParameter.maturity.name`, detail: `formula.functionList.ODDLPRICE.functionParameter.maturity.detail`, example: `"2008-6-15"`, require: 1, repeat: 0 }, { name: `formula.functionList.ODDLPRICE.functionParameter.lastInterest.name`, detail: `formula.functionList.ODDLPRICE.functionParameter.lastInterest.detail`, example: `"2007-10-15"`, require: 1, repeat: 0 }, { name: `formula.functionList.ODDLPRICE.functionParameter.rate.name`, detail: `formula.functionList.ODDLPRICE.functionParameter.rate.detail`, example: `3.75%`, require: 1, repeat: 0 }, { name: `formula.functionList.ODDLPRICE.functionParameter.yld.name`, detail: `formula.functionList.ODDLPRICE.functionParameter.yld.detail`, example: `4.05%`, require: 1, repeat: 0 }, { name: `formula.functionList.ODDLPRICE.functionParameter.redemption.name`, detail: `formula.functionList.ODDLPRICE.functionParameter.redemption.detail`, example: `100`, require: 1, repeat: 0 }, { name: `formula.functionList.ODDLPRICE.functionParameter.frequency.name`, detail: `formula.functionList.ODDLPRICE.functionParameter.frequency.detail`, example: `2`, require: 1, repeat: 0 }, { name: `formula.functionList.ODDLPRICE.functionParameter.basis.name`, detail: `formula.functionList.ODDLPRICE.functionParameter.basis.detail`, example: `0`, require: 0, repeat: 0 }] }, { functionName: W3.ODDLYIELD, functionType: Dt2.Financial, description: `formula.functionList.ODDLYIELD.description`, abstract: `formula.functionList.ODDLYIELD.abstract`, functionParameter: [{ name: `formula.functionList.ODDLYIELD.functionParameter.settlement.name`, detail: `formula.functionList.ODDLYIELD.functionParameter.settlement.detail`, example: `"2008-4-20"`, require: 1, repeat: 0 }, { name: `formula.functionList.ODDLYIELD.functionParameter.maturity.name`, detail: `formula.functionList.ODDLYIELD.functionParameter.maturity.detail`, example: `"2008-6-15"`, require: 1, repeat: 0 }, { name: `formula.functionList.ODDLYIELD.functionParameter.lastInterest.name`, detail: `formula.functionList.ODDLYIELD.functionParameter.lastInterest.detail`, example: `"2007-12-24"`, require: 1, repeat: 0 }, { name: `formula.functionList.ODDLYIELD.functionParameter.rate.name`, detail: `formula.functionList.ODDLYIELD.functionParameter.rate.detail`, example: `3.75%`, require: 1, repeat: 0 }, { name: `formula.functionList.ODDLYIELD.functionParameter.pr.name`, detail: `formula.functionList.ODDLYIELD.functionParameter.pr.detail`, example: `99.875`, require: 1, repeat: 0 }, { name: `formula.functionList.ODDLYIELD.functionParameter.redemption.name`, detail: `formula.functionList.ODDLYIELD.functionParameter.redemption.detail`, example: `100`, require: 1, repeat: 0 }, { name: `formula.functionList.ODDLYIELD.functionParameter.frequency.name`, detail: `formula.functionList.ODDLYIELD.functionParameter.frequency.detail`, example: `2`, require: 1, repeat: 0 }, { name: `formula.functionList.ODDLYIELD.functionParameter.basis.name`, detail: `formula.functionList.ODDLYIELD.functionParameter.basis.detail`, example: `0`, require: 0, repeat: 0 }] }, { functionName: W3.PDURATION, functionType: Dt2.Financial, description: `formula.functionList.PDURATION.description`, abstract: `formula.functionList.PDURATION.abstract`, functionParameter: [{ name: `formula.functionList.PDURATION.functionParameter.rate.name`, detail: `formula.functionList.PDURATION.functionParameter.rate.detail`, example: `2.5%`, require: 1, repeat: 0 }, { name: `formula.functionList.PDURATION.functionParameter.pv.name`, detail: `formula.functionList.PDURATION.functionParameter.pv.detail`, example: `2000`, require: 1, repeat: 0 }, { name: `formula.functionList.PDURATION.functionParameter.fv.name`, detail: `formula.functionList.PDURATION.functionParameter.fv.detail`, example: `2200`, require: 1, repeat: 0 }] }, { functionName: W3.PMT, functionType: Dt2.Financial, description: `formula.functionList.PMT.description`, abstract: `formula.functionList.PMT.abstract`, functionParameter: [{ name: `formula.functionList.PMT.functionParameter.rate.name`, detail: `formula.functionList.PMT.functionParameter.rate.detail`, example: `8%/12`, require: 1, repeat: 0 }, { name: `formula.functionList.PMT.functionParameter.nper.name`, detail: `formula.functionList.PMT.functionParameter.nper.detail`, example: `10`, require: 1, repeat: 0 }, { name: `formula.functionList.PMT.functionParameter.pv.name`, detail: `formula.functionList.PMT.functionParameter.pv.detail`, example: `10000`, require: 1, repeat: 0 }, { name: `formula.functionList.PMT.functionParameter.fv.name`, detail: `formula.functionList.PMT.functionParameter.fv.detail`, example: `0`, require: 0, repeat: 0 }, { name: `formula.functionList.PMT.functionParameter.type.name`, detail: `formula.functionList.PMT.functionParameter.type.detail`, example: `0`, require: 0, repeat: 0 }] }, { functionName: W3.PPMT, functionType: Dt2.Financial, description: `formula.functionList.PPMT.description`, abstract: `formula.functionList.PPMT.abstract`, functionParameter: [{ name: `formula.functionList.PPMT.functionParameter.rate.name`, detail: `formula.functionList.PPMT.functionParameter.rate.detail`, example: `10%/12`, require: 1, repeat: 0 }, { name: `formula.functionList.PPMT.functionParameter.per.name`, detail: `formula.functionList.PPMT.functionParameter.per.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.PPMT.functionParameter.nper.name`, detail: `formula.functionList.PPMT.functionParameter.nper.detail`, example: `3*12`, require: 1, repeat: 0 }, { name: `formula.functionList.PPMT.functionParameter.pv.name`, detail: `formula.functionList.PPMT.functionParameter.pv.detail`, example: `80000`, require: 1, repeat: 0 }, { name: `formula.functionList.PPMT.functionParameter.fv.name`, detail: `formula.functionList.PPMT.functionParameter.fv.detail`, example: `0`, require: 0, repeat: 0 }, { name: `formula.functionList.PPMT.functionParameter.type.name`, detail: `formula.functionList.PPMT.functionParameter.type.detail`, example: `0`, require: 0, repeat: 0 }] }, { functionName: W3.PRICE, functionType: Dt2.Financial, description: `formula.functionList.PRICE.description`, abstract: `formula.functionList.PRICE.abstract`, functionParameter: [{ name: `formula.functionList.PRICE.functionParameter.settlement.name`, detail: `formula.functionList.PRICE.functionParameter.settlement.detail`, example: `"2008-11-11"`, require: 1, repeat: 0 }, { name: `formula.functionList.PRICE.functionParameter.maturity.name`, detail: `formula.functionList.PRICE.functionParameter.maturity.detail`, example: `"2021-3-1"`, require: 1, repeat: 0 }, { name: `formula.functionList.PRICE.functionParameter.rate.name`, detail: `formula.functionList.PRICE.functionParameter.rate.detail`, example: `7.85%`, require: 1, repeat: 0 }, { name: `formula.functionList.PRICE.functionParameter.yld.name`, detail: `formula.functionList.PRICE.functionParameter.yld.detail`, example: `6.25%`, require: 1, repeat: 0 }, { name: `formula.functionList.PRICE.functionParameter.redemption.name`, detail: `formula.functionList.PRICE.functionParameter.redemption.detail`, example: `100`, require: 1, repeat: 0 }, { name: `formula.functionList.PRICE.functionParameter.frequency.name`, detail: `formula.functionList.PRICE.functionParameter.frequency.detail`, example: `2`, require: 1, repeat: 0 }, { name: `formula.functionList.PRICE.functionParameter.basis.name`, detail: `formula.functionList.PRICE.functionParameter.basis.detail`, example: `1`, require: 0, repeat: 0 }] }, { functionName: W3.PRICEDISC, functionType: Dt2.Financial, description: `formula.functionList.PRICEDISC.description`, abstract: `formula.functionList.PRICEDISC.abstract`, functionParameter: [{ name: `formula.functionList.PRICEDISC.functionParameter.settlement.name`, detail: `formula.functionList.PRICEDISC.functionParameter.settlement.detail`, example: `"2008-11-11"`, require: 1, repeat: 0 }, { name: `formula.functionList.PRICEDISC.functionParameter.maturity.name`, detail: `formula.functionList.PRICEDISC.functionParameter.maturity.detail`, example: `"2021-3-1"`, require: 1, repeat: 0 }, { name: `formula.functionList.PRICEDISC.functionParameter.discount.name`, detail: `formula.functionList.PRICEDISC.functionParameter.discount.detail`, example: `6.25%`, require: 1, repeat: 0 }, { name: `formula.functionList.PRICEDISC.functionParameter.redemption.name`, detail: `formula.functionList.PRICEDISC.functionParameter.redemption.detail`, example: `100`, require: 1, repeat: 0 }, { name: `formula.functionList.PRICEDISC.functionParameter.basis.name`, detail: `formula.functionList.PRICEDISC.functionParameter.basis.detail`, example: `1`, require: 0, repeat: 0 }] }, { functionName: W3.PRICEMAT, functionType: Dt2.Financial, description: `formula.functionList.PRICEMAT.description`, abstract: `formula.functionList.PRICEMAT.abstract`, functionParameter: [{ name: `formula.functionList.PRICEMAT.functionParameter.settlement.name`, detail: `formula.functionList.PRICEMAT.functionParameter.settlement.detail`, example: `"2008-11-11"`, require: 1, repeat: 0 }, { name: `formula.functionList.PRICEMAT.functionParameter.maturity.name`, detail: `formula.functionList.PRICEMAT.functionParameter.maturity.detail`, example: `"2021-3-1"`, require: 1, repeat: 0 }, { name: `formula.functionList.PRICEMAT.functionParameter.issue.name`, detail: `formula.functionList.PRICEMAT.functionParameter.issue.detail`, example: `"2008-10-15"`, require: 1, repeat: 0 }, { name: `formula.functionList.PRICEMAT.functionParameter.rate.name`, detail: `formula.functionList.PRICEMAT.functionParameter.rate.detail`, example: `7.85%`, require: 1, repeat: 0 }, { name: `formula.functionList.PRICEMAT.functionParameter.yld.name`, detail: `formula.functionList.PRICEMAT.functionParameter.yld.detail`, example: `6.25%`, require: 1, repeat: 0 }, { name: `formula.functionList.PRICEMAT.functionParameter.basis.name`, detail: `formula.functionList.PRICEMAT.functionParameter.basis.detail`, example: `1`, require: 0, repeat: 0 }] }, { functionName: W3.PV, functionType: Dt2.Financial, description: `formula.functionList.PV.description`, abstract: `formula.functionList.PV.abstract`, functionParameter: [{ name: `formula.functionList.PV.functionParameter.rate.name`, detail: `formula.functionList.PV.functionParameter.rate.detail`, example: `2%`, require: 1, repeat: 0 }, { name: `formula.functionList.PV.functionParameter.nper.name`, detail: `formula.functionList.PV.functionParameter.nper.detail`, example: `12`, require: 1, repeat: 0 }, { name: `formula.functionList.PV.functionParameter.pmt.name`, detail: `formula.functionList.PV.functionParameter.pmt.detail`, example: `100`, require: 1, repeat: 0 }, { name: `formula.functionList.PV.functionParameter.fv.name`, detail: `formula.functionList.PV.functionParameter.fv.detail`, example: `0`, require: 0, repeat: 0 }, { name: `formula.functionList.PV.functionParameter.type.name`, detail: `formula.functionList.PV.functionParameter.type.detail`, example: `0`, require: 0, repeat: 0 }] }, { functionName: W3.RATE, functionType: Dt2.Financial, description: `formula.functionList.RATE.description`, abstract: `formula.functionList.RATE.abstract`, functionParameter: [{ name: `formula.functionList.RATE.functionParameter.nper.name`, detail: `formula.functionList.RATE.functionParameter.nper.detail`, example: `4*12`, require: 1, repeat: 0 }, { name: `formula.functionList.RATE.functionParameter.pmt.name`, detail: `formula.functionList.RATE.functionParameter.pmt.detail`, example: `-200`, require: 1, repeat: 0 }, { name: `formula.functionList.RATE.functionParameter.pv.name`, detail: `formula.functionList.RATE.functionParameter.pv.detail`, example: `8000`, require: 1, repeat: 0 }, { name: `formula.functionList.RATE.functionParameter.fv.name`, detail: `formula.functionList.RATE.functionParameter.fv.detail`, example: `0`, require: 0, repeat: 0 }, { name: `formula.functionList.RATE.functionParameter.type.name`, detail: `formula.functionList.RATE.functionParameter.type.detail`, example: `0`, require: 0, repeat: 0 }, { name: `formula.functionList.RATE.functionParameter.guess.name`, detail: `formula.functionList.RATE.functionParameter.guess.detail`, example: `0.1`, require: 0, repeat: 0 }] }, { functionName: W3.RECEIVED, functionType: Dt2.Financial, description: `formula.functionList.RECEIVED.description`, abstract: `formula.functionList.RECEIVED.abstract`, functionParameter: [{ name: `formula.functionList.RECEIVED.functionParameter.settlement.name`, detail: `formula.functionList.RECEIVED.functionParameter.settlement.detail`, example: `"2008-2-15"`, require: 1, repeat: 0 }, { name: `formula.functionList.RECEIVED.functionParameter.maturity.name`, detail: `formula.functionList.RECEIVED.functionParameter.maturity.detail`, example: `"2008-3-15"`, require: 1, repeat: 0 }, { name: `formula.functionList.RECEIVED.functionParameter.investment.name`, detail: `formula.functionList.RECEIVED.functionParameter.investment.detail`, example: `10000000`, require: 1, repeat: 0 }, { name: `formula.functionList.RECEIVED.functionParameter.discount.name`, detail: `formula.functionList.RECEIVED.functionParameter.discount.detail`, example: `5.75%`, require: 1, repeat: 0 }, { name: `formula.functionList.RECEIVED.functionParameter.basis.name`, detail: `formula.functionList.RECEIVED.functionParameter.basis.detail`, example: `2`, require: 0, repeat: 0 }] }, { functionName: W3.RRI, functionType: Dt2.Financial, description: `formula.functionList.RRI.description`, abstract: `formula.functionList.RRI.abstract`, functionParameter: [{ name: `formula.functionList.RRI.functionParameter.nper.name`, detail: `formula.functionList.RRI.functionParameter.nper.detail`, example: `96`, require: 1, repeat: 0 }, { name: `formula.functionList.RRI.functionParameter.pv.name`, detail: `formula.functionList.RRI.functionParameter.pv.detail`, example: `10000`, require: 1, repeat: 0 }, { name: `formula.functionList.RRI.functionParameter.fv.name`, detail: `formula.functionList.RRI.functionParameter.fv.detail`, example: `11000`, require: 1, repeat: 0 }] }, { functionName: W3.SLN, functionType: Dt2.Financial, description: `formula.functionList.SLN.description`, abstract: `formula.functionList.SLN.abstract`, functionParameter: [{ name: `formula.functionList.SLN.functionParameter.cost.name`, detail: `formula.functionList.SLN.functionParameter.cost.detail`, example: `300000`, require: 1, repeat: 0 }, { name: `formula.functionList.SLN.functionParameter.salvage.name`, detail: `formula.functionList.SLN.functionParameter.salvage.detail`, example: `75000`, require: 1, repeat: 0 }, { name: `formula.functionList.SLN.functionParameter.life.name`, detail: `formula.functionList.SLN.functionParameter.life.detail`, example: `10`, require: 1, repeat: 0 }] }, { functionName: W3.SYD, functionType: Dt2.Financial, description: `formula.functionList.SYD.description`, abstract: `formula.functionList.SYD.abstract`, functionParameter: [{ name: `formula.functionList.SYD.functionParameter.cost.name`, detail: `formula.functionList.SYD.functionParameter.cost.detail`, example: `300000`, require: 1, repeat: 0 }, { name: `formula.functionList.SYD.functionParameter.salvage.name`, detail: `formula.functionList.SYD.functionParameter.salvage.detail`, example: `75000`, require: 1, repeat: 0 }, { name: `formula.functionList.SYD.functionParameter.life.name`, detail: `formula.functionList.SYD.functionParameter.life.detail`, example: `10`, require: 1, repeat: 0 }, { name: `formula.functionList.SYD.functionParameter.per.name`, detail: `formula.functionList.SYD.functionParameter.per.detail`, example: `10`, require: 1, repeat: 0 }] }, { functionName: W3.TBILLEQ, functionType: Dt2.Financial, description: `formula.functionList.TBILLEQ.description`, abstract: `formula.functionList.TBILLEQ.abstract`, functionParameter: [{ name: `formula.functionList.TBILLEQ.functionParameter.settlement.name`, detail: `formula.functionList.TBILLEQ.functionParameter.settlement.detail`, example: `"2008-3-31"`, require: 1, repeat: 0 }, { name: `formula.functionList.TBILLEQ.functionParameter.maturity.name`, detail: `formula.functionList.TBILLEQ.functionParameter.maturity.detail`, example: `"2008-6-1"`, require: 1, repeat: 0 }, { name: `formula.functionList.TBILLEQ.functionParameter.discount.name`, detail: `formula.functionList.TBILLEQ.functionParameter.discount.detail`, example: `9.14%`, require: 1, repeat: 0 }] }, { functionName: W3.TBILLPRICE, functionType: Dt2.Financial, description: `formula.functionList.TBILLPRICE.description`, abstract: `formula.functionList.TBILLPRICE.abstract`, functionParameter: [{ name: `formula.functionList.TBILLPRICE.functionParameter.settlement.name`, detail: `formula.functionList.TBILLPRICE.functionParameter.settlement.detail`, example: `"2008-3-31"`, require: 1, repeat: 0 }, { name: `formula.functionList.TBILLPRICE.functionParameter.maturity.name`, detail: `formula.functionList.TBILLPRICE.functionParameter.maturity.detail`, example: `"2008-6-1"`, require: 1, repeat: 0 }, { name: `formula.functionList.TBILLPRICE.functionParameter.discount.name`, detail: `formula.functionList.TBILLPRICE.functionParameter.discount.detail`, example: `9.14%`, require: 1, repeat: 0 }] }, { functionName: W3.TBILLYIELD, functionType: Dt2.Financial, description: `formula.functionList.TBILLYIELD.description`, abstract: `formula.functionList.TBILLYIELD.abstract`, functionParameter: [{ name: `formula.functionList.TBILLYIELD.functionParameter.settlement.name`, detail: `formula.functionList.TBILLYIELD.functionParameter.settlement.detail`, example: `"2008-3-31"`, require: 1, repeat: 0 }, { name: `formula.functionList.TBILLYIELD.functionParameter.maturity.name`, detail: `formula.functionList.TBILLYIELD.functionParameter.maturity.detail`, example: `"2008-6-1"`, require: 1, repeat: 0 }, { name: `formula.functionList.TBILLYIELD.functionParameter.pr.name`, detail: `formula.functionList.TBILLYIELD.functionParameter.pr.detail`, example: `98.45`, require: 1, repeat: 0 }] }, { functionName: W3.VDB, functionType: Dt2.Financial, description: `formula.functionList.VDB.description`, abstract: `formula.functionList.VDB.abstract`, functionParameter: [{ name: `formula.functionList.VDB.functionParameter.cost.name`, detail: `formula.functionList.VDB.functionParameter.cost.detail`, example: `2400`, require: 1, repeat: 0 }, { name: `formula.functionList.VDB.functionParameter.salvage.name`, detail: `formula.functionList.VDB.functionParameter.salvage.detail`, example: `300`, require: 1, repeat: 0 }, { name: `formula.functionList.VDB.functionParameter.life.name`, detail: `formula.functionList.VDB.functionParameter.life.detail`, example: `10`, require: 1, repeat: 0 }, { name: `formula.functionList.VDB.functionParameter.startPeriod.name`, detail: `formula.functionList.VDB.functionParameter.startPeriod.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.VDB.functionParameter.endPeriod.name`, detail: `formula.functionList.VDB.functionParameter.endPeriod.detail`, example: `2`, require: 1, repeat: 0 }, { name: `formula.functionList.VDB.functionParameter.factor.name`, detail: `formula.functionList.VDB.functionParameter.factor.detail`, example: `2`, require: 0, repeat: 0 }, { name: `formula.functionList.VDB.functionParameter.noSwitch.name`, detail: `formula.functionList.VDB.functionParameter.noSwitch.detail`, example: `false`, require: 0, repeat: 0 }] }, { functionName: W3.XIRR, functionType: Dt2.Financial, description: `formula.functionList.XIRR.description`, abstract: `formula.functionList.XIRR.abstract`, functionParameter: [{ name: `formula.functionList.XIRR.functionParameter.values.name`, detail: `formula.functionList.XIRR.functionParameter.values.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.XIRR.functionParameter.dates.name`, detail: `formula.functionList.XIRR.functionParameter.dates.detail`, example: `B1:B4`, require: 1, repeat: 0 }, { name: `formula.functionList.XIRR.functionParameter.guess.name`, detail: `formula.functionList.XIRR.functionParameter.guess.detail`, example: `0.1`, require: 0, repeat: 0 }] }, { functionName: W3.XNPV, functionType: Dt2.Financial, description: `formula.functionList.XNPV.description`, abstract: `formula.functionList.XNPV.abstract`, functionParameter: [{ name: `formula.functionList.XNPV.functionParameter.rate.name`, detail: `formula.functionList.XNPV.functionParameter.rate.detail`, example: `10%`, require: 1, repeat: 0 }, { name: `formula.functionList.XNPV.functionParameter.values.name`, detail: `formula.functionList.XNPV.functionParameter.values.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.XNPV.functionParameter.dates.name`, detail: `formula.functionList.XNPV.functionParameter.dates.detail`, example: `B1:B4`, require: 1, repeat: 0 }] }, { functionName: W3.YIELD, functionType: Dt2.Financial, description: `formula.functionList.YIELD.description`, abstract: `formula.functionList.YIELD.abstract`, functionParameter: [{ name: `formula.functionList.YIELD.functionParameter.settlement.name`, detail: `formula.functionList.YIELD.functionParameter.settlement.detail`, example: `"2008-11-11"`, require: 1, repeat: 0 }, { name: `formula.functionList.YIELD.functionParameter.maturity.name`, detail: `formula.functionList.YIELD.functionParameter.maturity.detail`, example: `"2021-3-1"`, require: 1, repeat: 0 }, { name: `formula.functionList.YIELD.functionParameter.rate.name`, detail: `formula.functionList.YIELD.functionParameter.rate.detail`, example: `7.85%`, require: 1, repeat: 0 }, { name: `formula.functionList.YIELD.functionParameter.pr.name`, detail: `formula.functionList.YIELD.functionParameter.pr.detail`, example: `98.45`, require: 1, repeat: 0 }, { name: `formula.functionList.YIELD.functionParameter.redemption.name`, detail: `formula.functionList.YIELD.functionParameter.redemption.detail`, example: `100`, require: 1, repeat: 0 }, { name: `formula.functionList.YIELD.functionParameter.frequency.name`, detail: `formula.functionList.YIELD.functionParameter.frequency.detail`, example: `2`, require: 1, repeat: 0 }, { name: `formula.functionList.YIELD.functionParameter.basis.name`, detail: `formula.functionList.YIELD.functionParameter.basis.detail`, example: `1`, require: 0, repeat: 0 }] }, { functionName: W3.YIELDDISC, functionType: Dt2.Financial, description: `formula.functionList.YIELDDISC.description`, abstract: `formula.functionList.YIELDDISC.abstract`, functionParameter: [{ name: `formula.functionList.YIELDDISC.functionParameter.settlement.name`, detail: `formula.functionList.YIELDDISC.functionParameter.settlement.detail`, example: `"2008-11-11"`, require: 1, repeat: 0 }, { name: `formula.functionList.YIELDDISC.functionParameter.maturity.name`, detail: `formula.functionList.YIELDDISC.functionParameter.maturity.detail`, example: `"2021-3-1"`, require: 1, repeat: 0 }, { name: `formula.functionList.YIELDDISC.functionParameter.pr.name`, detail: `formula.functionList.YIELDDISC.functionParameter.pr.detail`, example: `98.45`, require: 1, repeat: 0 }, { name: `formula.functionList.YIELDDISC.functionParameter.redemption.name`, detail: `formula.functionList.YIELDDISC.functionParameter.redemption.detail`, example: `100`, require: 1, repeat: 0 }, { name: `formula.functionList.YIELDDISC.functionParameter.basis.name`, detail: `formula.functionList.YIELDDISC.functionParameter.basis.detail`, example: `1`, require: 0, repeat: 0 }] }, { functionName: W3.YIELDMAT, functionType: Dt2.Financial, description: `formula.functionList.YIELDMAT.description`, abstract: `formula.functionList.YIELDMAT.abstract`, functionParameter: [{ name: `formula.functionList.YIELDMAT.functionParameter.settlement.name`, detail: `formula.functionList.YIELDMAT.functionParameter.settlement.detail`, example: `"2008-11-11"`, require: 1, repeat: 0 }, { name: `formula.functionList.YIELDMAT.functionParameter.maturity.name`, detail: `formula.functionList.YIELDMAT.functionParameter.maturity.detail`, example: `"2021-3-1"`, require: 1, repeat: 0 }, { name: `formula.functionList.YIELDMAT.functionParameter.issue.name`, detail: `formula.functionList.YIELDMAT.functionParameter.issue.detail`, example: `"2008-10-15"`, require: 1, repeat: 0 }, { name: `formula.functionList.YIELDMAT.functionParameter.rate.name`, detail: `formula.functionList.YIELDMAT.functionParameter.rate.detail`, example: `7.85%`, require: 1, repeat: 0 }, { name: `formula.functionList.YIELDMAT.functionParameter.pr.name`, detail: `formula.functionList.YIELDMAT.functionParameter.pr.detail`, example: `98.45`, require: 1, repeat: 0 }, { name: `formula.functionList.YIELDMAT.functionParameter.basis.name`, detail: `formula.functionList.YIELDMAT.functionParameter.basis.detail`, example: `1`, require: 0, repeat: 0 }] }]; + var ci4 = [{ functionName: to2.CELL, functionType: Dt2.Information, description: `formula.functionList.CELL.description`, abstract: `formula.functionList.CELL.abstract`, functionParameter: [{ name: `formula.functionList.CELL.functionParameter.infoType.name`, detail: `formula.functionList.CELL.functionParameter.infoType.detail`, example: `"type"`, require: 1, repeat: 0 }, { name: `formula.functionList.CELL.functionParameter.reference.name`, detail: `formula.functionList.CELL.functionParameter.reference.detail`, example: `A1`, require: 1, repeat: 0 }] }, { functionName: to2.ERROR_TYPE, functionType: Dt2.Information, description: `formula.functionList.ERROR_TYPE.description`, abstract: `formula.functionList.ERROR_TYPE.abstract`, functionParameter: [{ name: `formula.functionList.ERROR_TYPE.functionParameter.errorVal.name`, detail: `formula.functionList.ERROR_TYPE.functionParameter.errorVal.detail`, example: `"#NULL!"`, require: 1, repeat: 0 }] }, { functionName: to2.INFO, functionType: Dt2.Information, description: `formula.functionList.INFO.description`, abstract: `formula.functionList.INFO.abstract`, functionParameter: [{ name: `formula.functionList.INFO.functionParameter.number1.name`, detail: `formula.functionList.INFO.functionParameter.number1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.INFO.functionParameter.number2.name`, detail: `formula.functionList.INFO.functionParameter.number2.detail`, example: `A1:A20`, require: 1, repeat: 0 }] }, { functionName: to2.ISBETWEEN, functionType: Dt2.Information, description: `formula.functionList.ISBETWEEN.description`, abstract: `formula.functionList.ISBETWEEN.abstract`, functionParameter: [{ name: `formula.functionList.ISBETWEEN.functionParameter.valueToCompare.name`, detail: `formula.functionList.ISBETWEEN.functionParameter.valueToCompare.detail`, example: `7.9`, require: 1, repeat: 0 }, { name: `formula.functionList.ISBETWEEN.functionParameter.lowerValue.name`, detail: `formula.functionList.ISBETWEEN.functionParameter.lowerValue.detail`, example: `1.2`, require: 1, repeat: 0 }, { name: `formula.functionList.ISBETWEEN.functionParameter.upperValue.name`, detail: `formula.functionList.ISBETWEEN.functionParameter.upperValue.detail`, example: `12.45`, require: 1, repeat: 0 }, { name: `formula.functionList.ISBETWEEN.functionParameter.lowerValueIsInclusive.name`, detail: `formula.functionList.ISBETWEEN.functionParameter.lowerValueIsInclusive.detail`, example: `true`, require: 0, repeat: 0 }, { name: `formula.functionList.ISBETWEEN.functionParameter.upperValueIsInclusive.name`, detail: `formula.functionList.ISBETWEEN.functionParameter.upperValueIsInclusive.detail`, example: `true`, require: 0, repeat: 0 }] }, { functionName: to2.ISBLANK, functionType: Dt2.Information, description: `formula.functionList.ISBLANK.description`, abstract: `formula.functionList.ISBLANK.abstract`, functionParameter: [{ name: `formula.functionList.ISBLANK.functionParameter.value.name`, detail: `formula.functionList.ISBLANK.functionParameter.value.detail`, example: `A1`, require: 1, repeat: 0 }] }, { functionName: to2.ISDATE, functionType: Dt2.Information, description: `formula.functionList.ISDATE.description`, abstract: `formula.functionList.ISDATE.abstract`, functionParameter: [{ name: `formula.functionList.ISDATE.functionParameter.value.name`, detail: `formula.functionList.ISDATE.functionParameter.value.detail`, example: `A1`, require: 1, repeat: 0 }] }, { functionName: to2.ISEMAIL, functionType: Dt2.Information, description: `formula.functionList.ISEMAIL.description`, abstract: `formula.functionList.ISEMAIL.abstract`, functionParameter: [{ name: `formula.functionList.ISEMAIL.functionParameter.value.name`, detail: `formula.functionList.ISEMAIL.functionParameter.value.detail`, example: `"developer@univer.ai"`, require: 1, repeat: 0 }] }, { functionName: to2.ISERR, functionType: Dt2.Information, description: `formula.functionList.ISERR.description`, abstract: `formula.functionList.ISERR.abstract`, functionParameter: [{ name: `formula.functionList.ISERR.functionParameter.value.name`, detail: `formula.functionList.ISERR.functionParameter.value.detail`, example: `A1`, require: 1, repeat: 0 }] }, { functionName: to2.ISERROR, functionType: Dt2.Information, description: `formula.functionList.ISERROR.description`, abstract: `formula.functionList.ISERROR.abstract`, functionParameter: [{ name: `formula.functionList.ISERROR.functionParameter.value.name`, detail: `formula.functionList.ISERROR.functionParameter.value.detail`, example: `A1`, require: 1, repeat: 0 }] }, { functionName: to2.ISEVEN, functionType: Dt2.Information, description: `formula.functionList.ISEVEN.description`, abstract: `formula.functionList.ISEVEN.abstract`, functionParameter: [{ name: `formula.functionList.ISEVEN.functionParameter.value.name`, detail: `formula.functionList.ISEVEN.functionParameter.value.detail`, example: `A1:A20`, require: 1, repeat: 0 }] }, { functionName: to2.ISFORMULA, functionType: Dt2.Information, description: `formula.functionList.ISFORMULA.description`, abstract: `formula.functionList.ISFORMULA.abstract`, functionParameter: [{ name: `formula.functionList.ISFORMULA.functionParameter.reference.name`, detail: `formula.functionList.ISFORMULA.functionParameter.reference.detail`, example: `A1`, require: 1, repeat: 0 }] }, { functionName: to2.ISLOGICAL, functionType: Dt2.Information, description: `formula.functionList.ISLOGICAL.description`, abstract: `formula.functionList.ISLOGICAL.abstract`, functionParameter: [{ name: `formula.functionList.ISLOGICAL.functionParameter.value.name`, detail: `formula.functionList.ISLOGICAL.functionParameter.value.detail`, example: `A1`, require: 1, repeat: 0 }] }, { functionName: to2.ISNA, functionType: Dt2.Information, description: `formula.functionList.ISNA.description`, abstract: `formula.functionList.ISNA.abstract`, functionParameter: [{ name: `formula.functionList.ISNA.functionParameter.value.name`, detail: `formula.functionList.ISNA.functionParameter.value.detail`, example: `A1`, require: 1, repeat: 0 }] }, { functionName: to2.ISNONTEXT, functionType: Dt2.Information, description: `formula.functionList.ISNONTEXT.description`, abstract: `formula.functionList.ISNONTEXT.abstract`, functionParameter: [{ name: `formula.functionList.ISNONTEXT.functionParameter.value.name`, detail: `formula.functionList.ISNONTEXT.functionParameter.value.detail`, example: `A1`, require: 1, repeat: 0 }] }, { functionName: to2.ISNUMBER, functionType: Dt2.Information, description: `formula.functionList.ISNUMBER.description`, abstract: `formula.functionList.ISNUMBER.abstract`, functionParameter: [{ name: `formula.functionList.ISNUMBER.functionParameter.value.name`, detail: `formula.functionList.ISNUMBER.functionParameter.value.detail`, example: `A1`, require: 1, repeat: 0 }] }, { functionName: to2.ISODD, functionType: Dt2.Information, description: `formula.functionList.ISODD.description`, abstract: `formula.functionList.ISODD.abstract`, functionParameter: [{ name: `formula.functionList.ISODD.functionParameter.value.name`, detail: `formula.functionList.ISODD.functionParameter.value.detail`, example: `A1:A20`, require: 1, repeat: 0 }] }, { functionName: to2.ISOMITTED, functionType: Dt2.Information, description: `formula.functionList.ISOMITTED.description`, abstract: `formula.functionList.ISOMITTED.abstract`, functionParameter: [{ name: `formula.functionList.ISOMITTED.functionParameter.number1.name`, detail: `formula.functionList.ISOMITTED.functionParameter.number1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.ISOMITTED.functionParameter.number2.name`, detail: `formula.functionList.ISOMITTED.functionParameter.number2.detail`, example: `A1:A20`, require: 1, repeat: 0 }] }, { functionName: to2.ISREF, functionType: Dt2.Information, description: `formula.functionList.ISREF.description`, abstract: `formula.functionList.ISREF.abstract`, functionParameter: [{ name: `formula.functionList.ISREF.functionParameter.value.name`, detail: `formula.functionList.ISREF.functionParameter.value.detail`, example: `A1`, require: 1, repeat: 0 }] }, { functionName: to2.ISTEXT, functionType: Dt2.Information, description: `formula.functionList.ISTEXT.description`, abstract: `formula.functionList.ISTEXT.abstract`, functionParameter: [{ name: `formula.functionList.ISTEXT.functionParameter.value.name`, detail: `formula.functionList.ISTEXT.functionParameter.value.detail`, example: `A1`, require: 1, repeat: 0 }] }, { functionName: to2.ISURL, functionType: Dt2.Information, description: `formula.functionList.ISURL.description`, abstract: `formula.functionList.ISURL.abstract`, functionParameter: [{ name: `formula.functionList.ISURL.functionParameter.value.name`, detail: `formula.functionList.ISURL.functionParameter.value.detail`, example: `"univer.ai"`, require: 1, repeat: 0 }] }, { functionName: to2.N, functionType: Dt2.Information, description: `formula.functionList.N.description`, abstract: `formula.functionList.N.abstract`, functionParameter: [{ name: `formula.functionList.N.functionParameter.value.name`, detail: `formula.functionList.N.functionParameter.value.detail`, example: `7`, require: 1, repeat: 0 }] }, { functionName: to2.NA, functionType: Dt2.Information, description: `formula.functionList.NA.description`, abstract: `formula.functionList.NA.abstract`, functionParameter: [] }, { functionName: to2.SHEET, functionType: Dt2.Information, description: `formula.functionList.SHEET.description`, abstract: `formula.functionList.SHEET.abstract`, functionParameter: [{ name: `formula.functionList.SHEET.functionParameter.value.name`, detail: `formula.functionList.SHEET.functionParameter.value.detail`, example: `A1`, require: 1, repeat: 0 }] }, { functionName: to2.SHEETS, functionType: Dt2.Information, description: `formula.functionList.SHEETS.description`, abstract: `formula.functionList.SHEETS.abstract`, functionParameter: [] }, { functionName: to2.TYPE, functionType: Dt2.Information, description: `formula.functionList.TYPE.description`, abstract: `formula.functionList.TYPE.abstract`, functionParameter: [{ name: `formula.functionList.TYPE.functionParameter.value.name`, detail: `formula.functionList.TYPE.functionParameter.value.detail`, example: `A2`, require: 1, repeat: 0 }] }]; + var li3 = [{ functionName: no2.AND, functionType: Dt2.Logical, description: `formula.functionList.AND.description`, abstract: `formula.functionList.AND.abstract`, functionParameter: [{ name: `formula.functionList.AND.functionParameter.logical1.name`, detail: `formula.functionList.AND.functionParameter.logical1.detail`, example: `A1=1`, require: 1, repeat: 0 }, { name: `formula.functionList.AND.functionParameter.logical2.name`, detail: `formula.functionList.AND.functionParameter.logical2.detail`, example: `A2=2`, require: 0, repeat: 1 }] }, { functionName: no2.BYCOL, functionType: Dt2.Logical, description: `formula.functionList.BYCOL.description`, abstract: `formula.functionList.BYCOL.abstract`, functionParameter: [{ name: `formula.functionList.BYCOL.functionParameter.array.name`, detail: `formula.functionList.BYCOL.functionParameter.array.detail`, example: `A1:C2`, require: 1, repeat: 0 }, { name: `formula.functionList.BYCOL.functionParameter.lambda.name`, detail: `formula.functionList.BYCOL.functionParameter.lambda.detail`, example: `LAMBDA(array, MAX(array))`, require: 1, repeat: 0 }] }, { functionName: no2.BYROW, functionType: Dt2.Logical, description: `formula.functionList.BYROW.description`, abstract: `formula.functionList.BYROW.abstract`, functionParameter: [{ name: `formula.functionList.BYROW.functionParameter.array.name`, detail: `formula.functionList.BYROW.functionParameter.array.detail`, example: `A1:C2`, require: 1, repeat: 0 }, { name: `formula.functionList.BYROW.functionParameter.lambda.name`, detail: `formula.functionList.BYROW.functionParameter.lambda.detail`, example: `LAMBDA(array, MAX(array))`, require: 1, repeat: 0 }] }, { functionName: no2.FALSE, functionType: Dt2.Logical, description: `formula.functionList.FALSE.description`, abstract: `formula.functionList.FALSE.abstract`, functionParameter: [] }, { functionName: no2.IF, functionType: Dt2.Logical, description: `formula.functionList.IF.description`, abstract: `formula.functionList.IF.abstract`, functionParameter: [{ name: `formula.functionList.IF.functionParameter.logicalTest.name`, detail: `formula.functionList.IF.functionParameter.logicalTest.detail`, example: `A2 = "foo"`, require: 1, repeat: 0 }, { name: `formula.functionList.IF.functionParameter.valueIfTrue.name`, detail: `formula.functionList.IF.functionParameter.valueIfTrue.detail`, example: `"A2 is foo"`, require: 1, repeat: 0 }, { name: `formula.functionList.IF.functionParameter.valueIfFalse.name`, detail: `formula.functionList.IF.functionParameter.valueIfFalse.detail`, example: `"A2 is not foo"`, require: 0, repeat: 0 }] }, { functionName: no2.IFERROR, functionType: Dt2.Logical, description: `formula.functionList.IFERROR.description`, abstract: `formula.functionList.IFERROR.abstract`, functionParameter: [{ name: `formula.functionList.IFERROR.functionParameter.value.name`, detail: `formula.functionList.IFERROR.functionParameter.value.detail`, example: `A2/B2`, require: 1, repeat: 0 }, { name: `formula.functionList.IFERROR.functionParameter.valueIfError.name`, detail: `formula.functionList.IFERROR.functionParameter.valueIfError.detail`, example: `"Error in calculation"`, require: 1, repeat: 0 }] }, { functionName: no2.IFNA, functionType: Dt2.Logical, description: `formula.functionList.IFNA.description`, abstract: `formula.functionList.IFNA.abstract`, functionParameter: [{ name: `formula.functionList.IFNA.functionParameter.value.name`, detail: `formula.functionList.IFNA.functionParameter.value.detail`, example: `VLOOKUP(C3,C6:D11,2,FALSE)`, require: 1, repeat: 0 }, { name: `formula.functionList.IFNA.functionParameter.valueIfNa.name`, detail: `formula.functionList.IFNA.functionParameter.valueIfNa.detail`, example: `"Not Found"`, require: 1, repeat: 0 }] }, { functionName: no2.IFS, functionType: Dt2.Logical, description: `formula.functionList.IFS.description`, abstract: `formula.functionList.IFS.abstract`, functionParameter: [{ name: `formula.functionList.IFS.functionParameter.logicalTest1.name`, detail: `formula.functionList.IFS.functionParameter.logicalTest1.detail`, example: `A2 = "foo"`, require: 1, repeat: 0 }, { name: `formula.functionList.IFS.functionParameter.valueIfTrue1.name`, detail: `formula.functionList.IFS.functionParameter.valueIfTrue1.detail`, example: `"A2 is foo"`, require: 1, repeat: 0 }, { name: `formula.functionList.IFS.functionParameter.logicalTest2.name`, detail: `formula.functionList.IFS.functionParameter.logicalTest2.detail`, example: `F2=1`, require: 0, repeat: 1 }, { name: `formula.functionList.IFS.functionParameter.valueIfTrue2.name`, detail: `formula.functionList.IFS.functionParameter.valueIfTrue2.detail`, example: `D2`, require: 0, repeat: 1 }] }, { functionName: no2.LAMBDA, functionType: Dt2.Logical, description: `formula.functionList.LAMBDA.description`, abstract: `formula.functionList.LAMBDA.abstract`, functionParameter: [{ name: `formula.functionList.LAMBDA.functionParameter.parameter.name`, detail: `formula.functionList.LAMBDA.functionParameter.parameter.detail`, example: `[x, y, \u2026,]`, require: 0, repeat: 1 }, { name: `formula.functionList.LAMBDA.functionParameter.calculation.name`, detail: `formula.functionList.LAMBDA.functionParameter.calculation.detail`, example: `x+y`, require: 1, repeat: 0 }] }, { functionName: no2.LET, functionType: Dt2.Logical, description: `formula.functionList.LET.description`, abstract: `formula.functionList.LET.abstract`, functionParameter: [{ name: `formula.functionList.LET.functionParameter.name1.name`, detail: `formula.functionList.LET.functionParameter.name1.detail`, example: `x`, require: 1, repeat: 0 }, { name: `formula.functionList.LET.functionParameter.nameValue1.name`, detail: `formula.functionList.LET.functionParameter.nameValue1.detail`, example: `5`, require: 1, repeat: 0 }, { name: `formula.functionList.LET.functionParameter.calculationOrName2.name`, detail: `formula.functionList.LET.functionParameter.calculationOrName2.detail`, example: `y`, require: 1, repeat: 0 }, { name: `formula.functionList.LET.functionParameter.nameValue2.name`, detail: `formula.functionList.LET.functionParameter.nameValue2.detail`, example: `6`, require: 0, repeat: 1 }, { name: `formula.functionList.LET.functionParameter.calculationOrName3.name`, detail: `formula.functionList.LET.functionParameter.calculationOrName3.detail`, example: `SUM(x,y)`, require: 0, repeat: 1 }] }, { functionName: no2.MAKEARRAY, aliasFunctionName: `formula.functionList.MAKEARRAY.aliasFunctionName`, functionType: Dt2.Logical, description: `formula.functionList.MAKEARRAY.description`, abstract: `formula.functionList.MAKEARRAY.abstract`, functionParameter: [{ name: `formula.functionList.MAKEARRAY.functionParameter.number1.name`, detail: `formula.functionList.MAKEARRAY.functionParameter.number1.detail`, example: `8`, require: 1, repeat: 0 }, { name: `formula.functionList.MAKEARRAY.functionParameter.number2.name`, detail: `formula.functionList.MAKEARRAY.functionParameter.number2.detail`, example: `7`, require: 1, repeat: 0 }, { name: `formula.functionList.MAKEARRAY.functionParameter.value3.name`, detail: `formula.functionList.MAKEARRAY.functionParameter.value3.detail`, example: `LAMBDA(r,c, r*c)`, require: 1, repeat: 0 }] }, { functionName: no2.MAP, functionType: Dt2.Logical, description: `formula.functionList.MAP.description`, abstract: `formula.functionList.MAP.abstract`, functionParameter: [{ name: `formula.functionList.MAP.functionParameter.array1.name`, detail: `formula.functionList.MAP.functionParameter.array1.detail`, example: `D2:D11`, require: 1, repeat: 0 }, { name: `formula.functionList.MAP.functionParameter.array2.name`, detail: `formula.functionList.MAP.functionParameter.array2.detail`, example: `E2:E11`, require: 0, repeat: 1 }, { name: `formula.functionList.MAP.functionParameter.lambda.name`, detail: `formula.functionList.MAP.functionParameter.lambda.detail`, example: `LAMBDA(s,c,AND(s="Large",c="Red"))`, require: 1, repeat: 0 }] }, { functionName: no2.NOT, functionType: Dt2.Logical, description: `formula.functionList.NOT.description`, abstract: `formula.functionList.NOT.abstract`, functionParameter: [{ name: `formula.functionList.NOT.functionParameter.logical.name`, detail: `formula.functionList.NOT.functionParameter.logical.detail`, example: `A2>100`, require: 1, repeat: 0 }] }, { functionName: no2.OR, functionType: Dt2.Logical, description: `formula.functionList.OR.description`, abstract: `formula.functionList.OR.abstract`, functionParameter: [{ name: `formula.functionList.OR.functionParameter.logical1.name`, detail: `formula.functionList.OR.functionParameter.logical1.detail`, example: `A1=1`, require: 1, repeat: 0 }, { name: `formula.functionList.OR.functionParameter.logical2.name`, detail: `formula.functionList.OR.functionParameter.logical2.detail`, example: `A2=2`, require: 0, repeat: 1 }] }, { functionName: no2.REDUCE, functionType: Dt2.Logical, description: `formula.functionList.REDUCE.description`, abstract: `formula.functionList.REDUCE.abstract`, functionParameter: [{ name: `formula.functionList.REDUCE.functionParameter.initialValue.name`, detail: `formula.functionList.REDUCE.functionParameter.initialValue.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.REDUCE.functionParameter.array.name`, detail: `formula.functionList.REDUCE.functionParameter.array.detail`, example: `A1:C2`, require: 1, repeat: 0 }, { name: `formula.functionList.REDUCE.functionParameter.lambda.name`, detail: `formula.functionList.REDUCE.functionParameter.lambda.detail`, example: `LAMBDA(a,b,a+b^2)`, require: 1, repeat: 0 }] }, { functionName: no2.SCAN, functionType: Dt2.Logical, description: `formula.functionList.SCAN.description`, abstract: `formula.functionList.SCAN.abstract`, functionParameter: [{ name: `formula.functionList.SCAN.functionParameter.initialValue.name`, detail: `formula.functionList.SCAN.functionParameter.initialValue.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.SCAN.functionParameter.array.name`, detail: `formula.functionList.SCAN.functionParameter.array.detail`, example: `A1:C2`, require: 1, repeat: 0 }, { name: `formula.functionList.SCAN.functionParameter.lambda.name`, detail: `formula.functionList.SCAN.functionParameter.lambda.detail`, example: `LAMBDA(a,b,a+b^2)`, require: 1, repeat: 0 }] }, { functionName: no2.SWITCH, functionType: Dt2.Logical, description: `formula.functionList.SWITCH.description`, abstract: `formula.functionList.SWITCH.abstract`, functionParameter: [{ name: `formula.functionList.SWITCH.functionParameter.expression.name`, detail: `formula.functionList.SWITCH.functionParameter.expression.detail`, example: `WEEKDAY(A2)`, require: 1, repeat: 0 }, { name: `formula.functionList.SWITCH.functionParameter.value1.name`, detail: `formula.functionList.SWITCH.functionParameter.value1.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.SWITCH.functionParameter.result1.name`, detail: `formula.functionList.SWITCH.functionParameter.result1.detail`, example: `"Sunday"`, require: 1, repeat: 0 }, { name: `formula.functionList.SWITCH.functionParameter.defaultOrValue2.name`, detail: `formula.functionList.SWITCH.functionParameter.defaultOrValue2.detail`, example: `2`, require: 0, repeat: 1 }, { name: `formula.functionList.SWITCH.functionParameter.result2.name`, detail: `formula.functionList.SWITCH.functionParameter.result2.detail`, example: `"Monday"`, require: 0, repeat: 1 }] }, { functionName: no2.TRUE, functionType: Dt2.Logical, description: `formula.functionList.TRUE.description`, abstract: `formula.functionList.TRUE.abstract`, functionParameter: [] }, { functionName: no2.XOR, functionType: Dt2.Logical, description: `formula.functionList.XOR.description`, abstract: `formula.functionList.XOR.abstract`, functionParameter: [{ name: `formula.functionList.XOR.functionParameter.logical1.name`, detail: `formula.functionList.XOR.functionParameter.logical1.detail`, example: `3>0`, require: 1, repeat: 0 }, { name: `formula.functionList.XOR.functionParameter.logical2.name`, detail: `formula.functionList.XOR.functionParameter.logical2.detail`, example: `2<9`, require: 0, repeat: 1 }] }]; + var ui3 = [{ functionName: G3.ADDRESS, functionType: Dt2.Lookup, description: `formula.functionList.ADDRESS.description`, abstract: `formula.functionList.ADDRESS.abstract`, functionParameter: [{ name: `formula.functionList.ADDRESS.functionParameter.row_num.name`, detail: `formula.functionList.ADDRESS.functionParameter.row_num.detail`, example: `2`, require: 1, repeat: 0 }, { name: `formula.functionList.ADDRESS.functionParameter.column_num.name`, detail: `formula.functionList.ADDRESS.functionParameter.column_num.detail`, example: `2`, require: 1, repeat: 0 }, { name: `formula.functionList.ADDRESS.functionParameter.abs_num.name`, detail: `formula.functionList.ADDRESS.functionParameter.abs_num.detail`, example: `1`, require: 0, repeat: 0 }, { name: `formula.functionList.ADDRESS.functionParameter.a1.name`, detail: `formula.functionList.ADDRESS.functionParameter.a1.detail`, example: `TRUE`, require: 0, repeat: 0 }, { name: `formula.functionList.ADDRESS.functionParameter.sheet_text.name`, detail: `formula.functionList.ADDRESS.functionParameter.sheet_text.detail`, example: `"Sheet2"`, require: 0, repeat: 0 }] }, { functionName: G3.AREAS, functionType: Dt2.Lookup, description: `formula.functionList.AREAS.description`, abstract: `formula.functionList.AREAS.abstract`, functionParameter: [{ name: `formula.functionList.AREAS.functionParameter.reference.name`, detail: `formula.functionList.AREAS.functionParameter.reference.detail`, example: `A1:A20`, require: 1, repeat: 0 }] }, { functionName: G3.CHOOSE, functionType: Dt2.Lookup, description: `formula.functionList.CHOOSE.description`, abstract: `formula.functionList.CHOOSE.abstract`, functionParameter: [{ name: `formula.functionList.CHOOSE.functionParameter.indexNum.name`, detail: `formula.functionList.CHOOSE.functionParameter.indexNum.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.CHOOSE.functionParameter.value1.name`, detail: `formula.functionList.CHOOSE.functionParameter.value1.detail`, example: `"Hello"`, require: 1, repeat: 0 }, { name: `formula.functionList.CHOOSE.functionParameter.value2.name`, detail: `formula.functionList.CHOOSE.functionParameter.value2.detail`, example: `"Univer"`, require: 0, repeat: 1 }] }, { functionName: G3.CHOOSECOLS, functionType: Dt2.Lookup, description: `formula.functionList.CHOOSECOLS.description`, abstract: `formula.functionList.CHOOSECOLS.abstract`, functionParameter: [{ name: `formula.functionList.CHOOSECOLS.functionParameter.array.name`, detail: `formula.functionList.CHOOSECOLS.functionParameter.array.detail`, example: `A1:C2`, require: 1, repeat: 0 }, { name: `formula.functionList.CHOOSECOLS.functionParameter.colNum1.name`, detail: `formula.functionList.CHOOSECOLS.functionParameter.colNum1.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.CHOOSECOLS.functionParameter.colNum2.name`, detail: `formula.functionList.CHOOSECOLS.functionParameter.colNum2.detail`, example: `2`, require: 0, repeat: 1 }] }, { functionName: G3.CHOOSEROWS, functionType: Dt2.Lookup, description: `formula.functionList.CHOOSEROWS.description`, abstract: `formula.functionList.CHOOSEROWS.abstract`, functionParameter: [{ name: `formula.functionList.CHOOSEROWS.functionParameter.array.name`, detail: `formula.functionList.CHOOSEROWS.functionParameter.array.detail`, example: `A1:C2`, require: 1, repeat: 0 }, { name: `formula.functionList.CHOOSEROWS.functionParameter.rowNum1.name`, detail: `formula.functionList.CHOOSEROWS.functionParameter.rowNum1.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.CHOOSEROWS.functionParameter.rowNum2.name`, detail: `formula.functionList.CHOOSEROWS.functionParameter.rowNum2.detail`, example: `2`, require: 0, repeat: 1 }] }, { functionName: G3.COLUMN, functionType: Dt2.Lookup, description: `formula.functionList.COLUMN.description`, abstract: `formula.functionList.COLUMN.abstract`, functionParameter: [{ name: `formula.functionList.COLUMN.functionParameter.reference.name`, detail: `formula.functionList.COLUMN.functionParameter.reference.detail`, example: `A1:A20`, require: 0, repeat: 0 }] }, { functionName: G3.COLUMNS, functionType: Dt2.Lookup, description: `formula.functionList.COLUMNS.description`, abstract: `formula.functionList.COLUMNS.abstract`, functionParameter: [{ name: `formula.functionList.COLUMNS.functionParameter.array.name`, detail: `formula.functionList.COLUMNS.functionParameter.array.detail`, example: `A1:A20`, require: 1, repeat: 0 }] }, { functionName: G3.DROP, functionType: Dt2.Lookup, description: `formula.functionList.DROP.description`, abstract: `formula.functionList.DROP.abstract`, functionParameter: [{ name: `formula.functionList.DROP.functionParameter.array.name`, detail: `formula.functionList.DROP.functionParameter.array.detail`, example: `A2:C4`, require: 1, repeat: 0 }, { name: `formula.functionList.DROP.functionParameter.rows.name`, detail: `formula.functionList.DROP.functionParameter.rows.detail`, example: `2`, require: 1, repeat: 0 }, { name: `formula.functionList.DROP.functionParameter.columns.name`, detail: `formula.functionList.DROP.functionParameter.columns.detail`, example: `2`, require: 0, repeat: 0 }] }, { functionName: G3.EXPAND, functionType: Dt2.Lookup, description: `formula.functionList.EXPAND.description`, abstract: `formula.functionList.EXPAND.abstract`, functionParameter: [{ name: `formula.functionList.EXPAND.functionParameter.array.name`, detail: `formula.functionList.EXPAND.functionParameter.array.detail`, example: `A2`, require: 1, repeat: 0 }, { name: `formula.functionList.EXPAND.functionParameter.rows.name`, detail: `formula.functionList.EXPAND.functionParameter.rows.detail`, example: `3`, require: 1, repeat: 0 }, { name: `formula.functionList.EXPAND.functionParameter.columns.name`, detail: `formula.functionList.EXPAND.functionParameter.columns.detail`, example: `3`, require: 0, repeat: 0 }, { name: `formula.functionList.EXPAND.functionParameter.padWith.name`, detail: `formula.functionList.EXPAND.functionParameter.padWith.detail`, example: `"-"`, require: 0, repeat: 0 }] }, { functionName: G3.FILTER, functionType: Dt2.Lookup, description: `formula.functionList.FILTER.description`, abstract: `formula.functionList.FILTER.abstract`, functionParameter: [{ name: `formula.functionList.FILTER.functionParameter.array.name`, detail: `formula.functionList.FILTER.functionParameter.array.detail`, example: `A5:D20`, require: 1, repeat: 0 }, { name: `formula.functionList.FILTER.functionParameter.include.name`, detail: `formula.functionList.FILTER.functionParameter.include.detail`, example: `(C5:C20="Apple")*(A5:A20="East")`, require: 1, repeat: 0 }, { name: `formula.functionList.FILTER.functionParameter.ifEmpty.name`, detail: `formula.functionList.FILTER.functionParameter.ifEmpty.detail`, example: `""`, require: 0, repeat: 0 }] }, { functionName: G3.FORMULATEXT, functionType: Dt2.Lookup, description: `formula.functionList.FORMULATEXT.description`, abstract: `formula.functionList.FORMULATEXT.abstract`, functionParameter: [{ name: `formula.functionList.FORMULATEXT.functionParameter.reference.name`, detail: `formula.functionList.FORMULATEXT.functionParameter.reference.detail`, example: `A1:A20`, require: 1, repeat: 0 }] }, { functionName: G3.GETPIVOTDATA, functionType: Dt2.Lookup, description: `formula.functionList.GETPIVOTDATA.description`, abstract: `formula.functionList.GETPIVOTDATA.abstract`, functionParameter: [{ name: `formula.functionList.GETPIVOTDATA.functionParameter.number1.name`, detail: `formula.functionList.GETPIVOTDATA.functionParameter.number1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.GETPIVOTDATA.functionParameter.number2.name`, detail: `formula.functionList.GETPIVOTDATA.functionParameter.number2.detail`, example: `A1:A20`, require: 1, repeat: 0 }] }, { functionName: G3.HLOOKUP, functionType: Dt2.Lookup, description: `formula.functionList.HLOOKUP.description`, abstract: `formula.functionList.HLOOKUP.abstract`, functionParameter: [{ name: `formula.functionList.HLOOKUP.functionParameter.lookupValue.name`, detail: `formula.functionList.HLOOKUP.functionParameter.lookupValue.detail`, example: `A1`, require: 1, repeat: 0 }, { name: `formula.functionList.HLOOKUP.functionParameter.tableArray.name`, detail: `formula.functionList.HLOOKUP.functionParameter.tableArray.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.HLOOKUP.functionParameter.rowIndexNum.name`, detail: `formula.functionList.HLOOKUP.functionParameter.rowIndexNum.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.HLOOKUP.functionParameter.rangeLookup.name`, detail: `formula.functionList.HLOOKUP.functionParameter.rangeLookup.detail`, example: `false`, require: 0, repeat: 0 }] }, { functionName: G3.HSTACK, functionType: Dt2.Lookup, description: `formula.functionList.HSTACK.description`, abstract: `formula.functionList.HSTACK.abstract`, functionParameter: [{ name: `formula.functionList.HSTACK.functionParameter.array1.name`, detail: `formula.functionList.HSTACK.functionParameter.array1.detail`, example: `A2:C3`, require: 1, repeat: 0 }, { name: `formula.functionList.HSTACK.functionParameter.array2.name`, detail: `formula.functionList.HSTACK.functionParameter.array2.detail`, example: `E2:G3`, require: 0, repeat: 1 }] }, { functionName: G3.HYPERLINK, functionType: Dt2.Lookup, description: `formula.functionList.HYPERLINK.description`, abstract: `formula.functionList.HYPERLINK.abstract`, functionParameter: [{ name: `formula.functionList.HYPERLINK.functionParameter.url.name`, detail: `formula.functionList.HYPERLINK.functionParameter.url.detail`, example: `"https://univer.ai/"`, require: 1, repeat: 0 }, { name: `formula.functionList.HYPERLINK.functionParameter.linkLabel.name`, detail: `formula.functionList.HYPERLINK.functionParameter.linkLabel.detail`, example: `"Univer"`, require: 0, repeat: 0 }] }, { functionName: G3.IMAGE, functionType: Dt2.Lookup, description: `formula.functionList.IMAGE.description`, abstract: `formula.functionList.IMAGE.abstract`, functionParameter: [{ name: `formula.functionList.IMAGE.functionParameter.source.name`, detail: `formula.functionList.IMAGE.functionParameter.source.detail`, example: `"https://github.com/dream-num.png"`, require: 1, repeat: 0 }, { name: `formula.functionList.IMAGE.functionParameter.altText.name`, detail: `formula.functionList.IMAGE.functionParameter.altText.detail`, example: `"Univer Logo"`, require: 0, repeat: 0 }, { name: `formula.functionList.IMAGE.functionParameter.sizing.name`, detail: `formula.functionList.IMAGE.functionParameter.sizing.detail`, example: `3`, require: 0, repeat: 0 }, { name: `formula.functionList.IMAGE.functionParameter.height.name`, detail: `formula.functionList.IMAGE.functionParameter.height.detail`, example: `100`, require: 0, repeat: 0 }, { name: `formula.functionList.IMAGE.functionParameter.width.name`, detail: `formula.functionList.IMAGE.functionParameter.width.detail`, example: `100`, require: 0, repeat: 0 }] }, { functionName: G3.INDEX, functionType: Dt2.Lookup, description: `formula.functionList.INDEX.description`, abstract: `formula.functionList.INDEX.abstract`, functionParameter: [{ name: `formula.functionList.INDEX.functionParameter.reference.name`, detail: `formula.functionList.INDEX.functionParameter.reference.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.INDEX.functionParameter.rowNum.name`, detail: `formula.functionList.INDEX.functionParameter.rowNum.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.INDEX.functionParameter.columnNum.name`, detail: `formula.functionList.INDEX.functionParameter.columnNum.detail`, example: `1`, require: 0, repeat: 0 }, { name: `formula.functionList.INDEX.functionParameter.areaNum.name`, detail: `formula.functionList.INDEX.functionParameter.areaNum.detail`, example: `2`, require: 0, repeat: 0 }] }, { functionName: G3.INDIRECT, functionType: Dt2.Lookup, description: `formula.functionList.INDIRECT.description`, abstract: `formula.functionList.INDIRECT.abstract`, functionParameter: [{ name: `formula.functionList.INDIRECT.functionParameter.refText.name`, detail: `formula.functionList.INDIRECT.functionParameter.refText.detail`, example: `"A1"`, require: 1, repeat: 0 }, { name: `formula.functionList.INDIRECT.functionParameter.a1.name`, detail: `formula.functionList.INDIRECT.functionParameter.a1.detail`, example: `TRUE`, require: 0, repeat: 0 }] }, { functionName: G3.LOOKUP, functionType: Dt2.Lookup, description: `formula.functionList.LOOKUP.description`, abstract: `formula.functionList.LOOKUP.abstract`, functionParameter: [{ name: `formula.functionList.LOOKUP.functionParameter.lookupValue.name`, detail: `formula.functionList.LOOKUP.functionParameter.lookupValue.detail`, example: `A1`, require: 1, repeat: 0 }, { name: `formula.functionList.LOOKUP.functionParameter.lookupVectorOrArray.name`, detail: `formula.functionList.LOOKUP.functionParameter.lookupVectorOrArray.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.LOOKUP.functionParameter.resultVector.name`, detail: `formula.functionList.LOOKUP.functionParameter.resultVector.detail`, example: `A1:A20`, require: 0, repeat: 0 }] }, { functionName: G3.MATCH, functionType: Dt2.Lookup, description: `formula.functionList.MATCH.description`, abstract: `formula.functionList.MATCH.abstract`, functionParameter: [{ name: `formula.functionList.MATCH.functionParameter.lookupValue.name`, detail: `formula.functionList.MATCH.functionParameter.lookupValue.detail`, example: `10`, require: 1, repeat: 0 }, { name: `formula.functionList.MATCH.functionParameter.lookupArray.name`, detail: `formula.functionList.MATCH.functionParameter.lookupArray.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.MATCH.functionParameter.matchType.name`, detail: `formula.functionList.MATCH.functionParameter.matchType.detail`, example: `1`, require: 0, repeat: 0 }] }, { functionName: G3.OFFSET, functionType: Dt2.Lookup, description: `formula.functionList.OFFSET.description`, abstract: `formula.functionList.OFFSET.abstract`, functionParameter: [{ name: `formula.functionList.OFFSET.functionParameter.reference.name`, detail: `formula.functionList.OFFSET.functionParameter.reference.detail`, example: `A1`, require: 1, repeat: 0 }, { name: `formula.functionList.OFFSET.functionParameter.rows.name`, detail: `formula.functionList.OFFSET.functionParameter.rows.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.OFFSET.functionParameter.cols.name`, detail: `formula.functionList.OFFSET.functionParameter.cols.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.OFFSET.functionParameter.height.name`, detail: `formula.functionList.OFFSET.functionParameter.height.detail`, example: `1`, require: 0, repeat: 0 }, { name: `formula.functionList.OFFSET.functionParameter.width.name`, detail: `formula.functionList.OFFSET.functionParameter.width.detail`, example: `1`, require: 0, repeat: 0 }] }, { functionName: G3.ROW, functionType: Dt2.Lookup, description: `formula.functionList.ROW.description`, abstract: `formula.functionList.ROW.abstract`, functionParameter: [{ name: `formula.functionList.ROW.functionParameter.reference.name`, detail: `formula.functionList.ROW.functionParameter.reference.detail`, example: `A1`, require: 0, repeat: 0 }] }, { functionName: G3.ROWS, functionType: Dt2.Lookup, description: `formula.functionList.ROWS.description`, abstract: `formula.functionList.ROWS.abstract`, functionParameter: [{ name: `formula.functionList.ROWS.functionParameter.array.name`, detail: `formula.functionList.ROWS.functionParameter.array.detail`, example: `A1:A20`, require: 1, repeat: 0 }] }, { functionName: G3.RTD, functionType: Dt2.Lookup, description: `formula.functionList.RTD.description`, abstract: `formula.functionList.RTD.abstract`, functionParameter: [{ name: `formula.functionList.RTD.functionParameter.number1.name`, detail: `formula.functionList.RTD.functionParameter.number1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.RTD.functionParameter.number2.name`, detail: `formula.functionList.RTD.functionParameter.number2.detail`, example: `A1:A20`, require: 1, repeat: 0 }] }, { functionName: G3.SORT, functionType: Dt2.Lookup, description: `formula.functionList.SORT.description`, abstract: `formula.functionList.SORT.abstract`, functionParameter: [{ name: `formula.functionList.SORT.functionParameter.array.name`, detail: `formula.functionList.SORT.functionParameter.array.detail`, example: `A2:A17`, require: 1, repeat: 0 }, { name: `formula.functionList.SORT.functionParameter.sortIndex.name`, detail: `formula.functionList.SORT.functionParameter.sortIndex.detail`, example: `1`, require: 0, repeat: 0 }, { name: `formula.functionList.SORT.functionParameter.sortOrder.name`, detail: `formula.functionList.SORT.functionParameter.sortOrder.detail`, example: `1`, require: 0, repeat: 0 }, { name: `formula.functionList.SORT.functionParameter.byCol.name`, detail: `formula.functionList.SORT.functionParameter.byCol.detail`, example: `false`, require: 0, repeat: 0 }] }, { functionName: G3.SORTBY, functionType: Dt2.Lookup, description: `formula.functionList.SORTBY.description`, abstract: `formula.functionList.SORTBY.abstract`, functionParameter: [{ name: `formula.functionList.SORTBY.functionParameter.array.name`, detail: `formula.functionList.SORTBY.functionParameter.array.detail`, example: `D2:D9`, require: 1, repeat: 0 }, { name: `formula.functionList.SORTBY.functionParameter.byArray1.name`, detail: `formula.functionList.SORTBY.functionParameter.byArray1.detail`, example: `E2:E9`, require: 1, repeat: 0 }, { name: `formula.functionList.SORTBY.functionParameter.sortOrder1.name`, detail: `formula.functionList.SORTBY.functionParameter.sortOrder1.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.SORTBY.functionParameter.byArray2.name`, detail: `formula.functionList.SORTBY.functionParameter.byArray2.detail`, example: `E2:E9`, require: 0, repeat: 1 }, { name: `formula.functionList.SORTBY.functionParameter.sortOrder2.name`, detail: `formula.functionList.SORTBY.functionParameter.sortOrder2.detail`, example: `1`, require: 0, repeat: 1 }] }, { functionName: G3.TAKE, functionType: Dt2.Lookup, description: `formula.functionList.TAKE.description`, abstract: `formula.functionList.TAKE.abstract`, functionParameter: [{ name: `formula.functionList.TAKE.functionParameter.array.name`, detail: `formula.functionList.TAKE.functionParameter.array.detail`, example: `A2:C4`, require: 1, repeat: 0 }, { name: `formula.functionList.TAKE.functionParameter.rows.name`, detail: `formula.functionList.TAKE.functionParameter.rows.detail`, example: `2`, require: 1, repeat: 0 }, { name: `formula.functionList.TAKE.functionParameter.columns.name`, detail: `formula.functionList.TAKE.functionParameter.columns.detail`, example: `2`, require: 0, repeat: 0 }] }, { functionName: G3.TOCOL, functionType: Dt2.Lookup, description: `formula.functionList.TOCOL.description`, abstract: `formula.functionList.TOCOL.abstract`, functionParameter: [{ name: `formula.functionList.TOCOL.functionParameter.array.name`, detail: `formula.functionList.TOCOL.functionParameter.array.detail`, example: `A2:D4`, require: 1, repeat: 0 }, { name: `formula.functionList.TOCOL.functionParameter.ignore.name`, detail: `formula.functionList.TOCOL.functionParameter.ignore.detail`, example: `1`, require: 0, repeat: 0 }, { name: `formula.functionList.TOCOL.functionParameter.scanByColumn.name`, detail: `formula.functionList.TOCOL.functionParameter.scanByColumn.detail`, example: `TRUE`, require: 0, repeat: 0 }] }, { functionName: G3.TOROW, functionType: Dt2.Lookup, description: `formula.functionList.TOROW.description`, abstract: `formula.functionList.TOROW.abstract`, functionParameter: [{ name: `formula.functionList.TOROW.functionParameter.array.name`, detail: `formula.functionList.TOROW.functionParameter.array.detail`, example: `A2:D4`, require: 1, repeat: 0 }, { name: `formula.functionList.TOROW.functionParameter.ignore.name`, detail: `formula.functionList.TOROW.functionParameter.ignore.detail`, example: `1`, require: 0, repeat: 0 }, { name: `formula.functionList.TOROW.functionParameter.scanByColumn.name`, detail: `formula.functionList.TOROW.functionParameter.scanByColumn.detail`, example: `TRUE`, require: 0, repeat: 0 }] }, { functionName: G3.TRANSPOSE, functionType: Dt2.Lookup, description: `formula.functionList.TRANSPOSE.description`, abstract: `formula.functionList.TRANSPOSE.abstract`, functionParameter: [{ name: `formula.functionList.TRANSPOSE.functionParameter.array.name`, detail: `formula.functionList.TRANSPOSE.functionParameter.array.detail`, example: `A2:F9`, require: 1, repeat: 0 }] }, { functionName: G3.UNIQUE, functionType: Dt2.Lookup, description: `formula.functionList.UNIQUE.description`, abstract: `formula.functionList.UNIQUE.abstract`, functionParameter: [{ name: `formula.functionList.UNIQUE.functionParameter.array.name`, detail: `formula.functionList.UNIQUE.functionParameter.array.detail`, example: `A2:A12`, require: 1, repeat: 0 }, { name: `formula.functionList.UNIQUE.functionParameter.byCol.name`, detail: `formula.functionList.UNIQUE.functionParameter.byCol.detail`, example: `false`, require: 0, repeat: 0 }, { name: `formula.functionList.UNIQUE.functionParameter.exactlyOnce.name`, detail: `formula.functionList.UNIQUE.functionParameter.exactlyOnce.detail`, example: `false`, require: 0, repeat: 0 }] }, { functionName: G3.VLOOKUP, functionType: Dt2.Lookup, description: `formula.functionList.VLOOKUP.description`, abstract: `formula.functionList.VLOOKUP.abstract`, functionParameter: [{ name: `formula.functionList.VLOOKUP.functionParameter.lookupValue.name`, detail: `formula.functionList.VLOOKUP.functionParameter.lookupValue.detail`, example: `B2`, require: 1, repeat: 0 }, { name: `formula.functionList.VLOOKUP.functionParameter.tableArray.name`, detail: `formula.functionList.VLOOKUP.functionParameter.tableArray.detail`, example: `C2:E7`, require: 1, repeat: 0 }, { name: `formula.functionList.VLOOKUP.functionParameter.colIndexNum.name`, detail: `formula.functionList.VLOOKUP.functionParameter.colIndexNum.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.VLOOKUP.functionParameter.rangeLookup.name`, detail: `formula.functionList.VLOOKUP.functionParameter.rangeLookup.detail`, example: `TRUE`, require: 0, repeat: 0 }] }, { functionName: G3.VSTACK, functionType: Dt2.Lookup, description: `formula.functionList.VSTACK.description`, abstract: `formula.functionList.VSTACK.abstract`, functionParameter: [{ name: `formula.functionList.VSTACK.functionParameter.array1.name`, detail: `formula.functionList.VSTACK.functionParameter.array1.detail`, example: `A2:C3`, require: 1, repeat: 0 }, { name: `formula.functionList.VSTACK.functionParameter.array2.name`, detail: `formula.functionList.VSTACK.functionParameter.array2.detail`, example: `E2:G3`, require: 0, repeat: 1 }] }, { functionName: G3.WRAPCOLS, functionType: Dt2.Lookup, description: `formula.functionList.WRAPCOLS.description`, abstract: `formula.functionList.WRAPCOLS.abstract`, functionParameter: [{ name: `formula.functionList.WRAPCOLS.functionParameter.vector.name`, detail: `formula.functionList.WRAPCOLS.functionParameter.vector.detail`, example: `A2:G2`, require: 1, repeat: 0 }, { name: `formula.functionList.WRAPCOLS.functionParameter.wrapCount.name`, detail: `formula.functionList.WRAPCOLS.functionParameter.wrapCount.detail`, example: `3`, require: 1, repeat: 0 }, { name: `formula.functionList.WRAPCOLS.functionParameter.padWith.name`, detail: `formula.functionList.WRAPCOLS.functionParameter.padWith.detail`, example: `"x"`, require: 0, repeat: 0 }] }, { functionName: G3.WRAPROWS, functionType: Dt2.Lookup, description: `formula.functionList.WRAPROWS.description`, abstract: `formula.functionList.WRAPROWS.abstract`, functionParameter: [{ name: `formula.functionList.WRAPROWS.functionParameter.vector.name`, detail: `formula.functionList.WRAPROWS.functionParameter.vector.detail`, example: `A2:G2`, require: 1, repeat: 0 }, { name: `formula.functionList.WRAPROWS.functionParameter.wrapCount.name`, detail: `formula.functionList.WRAPROWS.functionParameter.wrapCount.detail`, example: `3`, require: 1, repeat: 0 }, { name: `formula.functionList.WRAPROWS.functionParameter.padWith.name`, detail: `formula.functionList.WRAPROWS.functionParameter.padWith.detail`, example: `"x"`, require: 0, repeat: 0 }] }, { functionName: G3.XLOOKUP, functionType: Dt2.Lookup, description: `formula.functionList.XLOOKUP.description`, abstract: `formula.functionList.XLOOKUP.abstract`, functionParameter: [{ name: `formula.functionList.XLOOKUP.functionParameter.lookupValue.name`, detail: `formula.functionList.XLOOKUP.functionParameter.lookupValue.detail`, example: `A1`, require: 1, repeat: 0 }, { name: `formula.functionList.XLOOKUP.functionParameter.lookupArray.name`, detail: `formula.functionList.XLOOKUP.functionParameter.lookupArray.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.XLOOKUP.functionParameter.returnArray.name`, detail: `formula.functionList.XLOOKUP.functionParameter.returnArray.detail`, example: `B1:B20`, require: 1, repeat: 0 }, { name: `formula.functionList.XLOOKUP.functionParameter.ifNotFound.name`, detail: `formula.functionList.XLOOKUP.functionParameter.ifNotFound.detail`, example: `default`, require: 0, repeat: 0 }, { name: `formula.functionList.XLOOKUP.functionParameter.matchMode.name`, detail: `formula.functionList.XLOOKUP.functionParameter.matchMode.detail`, example: `0`, require: 0, repeat: 0 }, { name: `formula.functionList.XLOOKUP.functionParameter.searchMode.name`, detail: `formula.functionList.XLOOKUP.functionParameter.searchMode.detail`, example: `1`, require: 0, repeat: 0 }] }, { functionName: G3.XMATCH, functionType: Dt2.Lookup, description: `formula.functionList.XMATCH.description`, abstract: `formula.functionList.XMATCH.abstract`, functionParameter: [{ name: `formula.functionList.XMATCH.functionParameter.lookupValue.name`, detail: `formula.functionList.XMATCH.functionParameter.lookupValue.detail`, example: `B1`, require: 1, repeat: 0 }, { name: `formula.functionList.XMATCH.functionParameter.lookupArray.name`, detail: `formula.functionList.XMATCH.functionParameter.lookupArray.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.XMATCH.functionParameter.matchMode.name`, detail: `formula.functionList.XMATCH.functionParameter.matchMode.detail`, example: `0`, require: 0, repeat: 0 }, { name: `formula.functionList.XMATCH.functionParameter.searchMode.name`, detail: `formula.functionList.XMATCH.functionParameter.searchMode.detail`, example: `1`, require: 0, repeat: 0 }] }]; + var di2 = [{ functionName: K3.ABS, functionType: Dt2.Math, description: `formula.functionList.ABS.description`, abstract: `formula.functionList.ABS.abstract`, functionParameter: [{ name: `formula.functionList.ABS.functionParameter.number.name`, detail: `formula.functionList.ABS.functionParameter.number.detail`, example: `-2`, require: 1, repeat: 0 }] }, { functionName: K3.ACOS, functionType: Dt2.Math, description: `formula.functionList.ACOS.description`, abstract: `formula.functionList.ACOS.abstract`, functionParameter: [{ name: `formula.functionList.ACOS.functionParameter.number.name`, detail: `formula.functionList.ACOS.functionParameter.number.detail`, example: `0`, require: 1, repeat: 0 }] }, { functionName: K3.ACOSH, functionType: Dt2.Math, description: `formula.functionList.ACOSH.description`, abstract: `formula.functionList.ACOSH.abstract`, functionParameter: [{ name: `formula.functionList.ACOSH.functionParameter.number.name`, detail: `formula.functionList.ACOSH.functionParameter.number.detail`, example: `2`, require: 1, repeat: 0 }] }, { functionName: K3.ACOT, functionType: Dt2.Math, description: `formula.functionList.ACOT.description`, abstract: `formula.functionList.ACOT.abstract`, functionParameter: [{ name: `formula.functionList.ACOT.functionParameter.number.name`, detail: `formula.functionList.ACOT.functionParameter.number.detail`, example: `0`, require: 1, repeat: 0 }] }, { functionName: K3.ACOTH, functionType: Dt2.Math, description: `formula.functionList.ACOTH.description`, abstract: `formula.functionList.ACOTH.abstract`, functionParameter: [{ name: `formula.functionList.ACOTH.functionParameter.number.name`, detail: `formula.functionList.ACOTH.functionParameter.number.detail`, example: `6`, require: 1, repeat: 0 }] }, { functionName: K3.AGGREGATE, functionType: Dt2.Math, description: `formula.functionList.AGGREGATE.description`, abstract: `formula.functionList.AGGREGATE.abstract`, functionParameter: [{ name: `formula.functionList.AGGREGATE.functionParameter.functionNum.name`, detail: `formula.functionList.AGGREGATE.functionParameter.functionNum.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.AGGREGATE.functionParameter.options.name`, detail: `formula.functionList.AGGREGATE.functionParameter.options.detail`, example: `6`, require: 1, repeat: 0 }, { name: `formula.functionList.AGGREGATE.functionParameter.ref1.name`, detail: `formula.functionList.AGGREGATE.functionParameter.ref1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.AGGREGATE.functionParameter.ref2.name`, detail: `formula.functionList.AGGREGATE.functionParameter.ref2.detail`, example: `B1:B20`, require: 0, repeat: 1 }] }, { functionName: K3.ARABIC, functionType: Dt2.Math, description: `formula.functionList.ARABIC.description`, abstract: `formula.functionList.ARABIC.abstract`, functionParameter: [{ name: `formula.functionList.ARABIC.functionParameter.text.name`, detail: `formula.functionList.ARABIC.functionParameter.text.detail`, example: `"LVII"`, require: 1, repeat: 0 }] }, { functionName: K3.ASIN, functionType: Dt2.Math, description: `formula.functionList.ASIN.description`, abstract: `formula.functionList.ASIN.abstract`, functionParameter: [{ name: `formula.functionList.ASIN.functionParameter.number.name`, detail: `formula.functionList.ASIN.functionParameter.number.detail`, example: `0`, require: 1, repeat: 0 }] }, { functionName: K3.ASINH, functionType: Dt2.Math, description: `formula.functionList.ASINH.description`, abstract: `formula.functionList.ASINH.abstract`, functionParameter: [{ name: `formula.functionList.ASINH.functionParameter.number.name`, detail: `formula.functionList.ASINH.functionParameter.number.detail`, example: `10`, require: 1, repeat: 0 }] }, { functionName: K3.ATAN, functionType: Dt2.Math, description: `formula.functionList.ATAN.description`, abstract: `formula.functionList.ATAN.abstract`, functionParameter: [{ name: `formula.functionList.ATAN.functionParameter.number.name`, detail: `formula.functionList.ATAN.functionParameter.number.detail`, example: `1`, require: 1, repeat: 0 }] }, { functionName: K3.ATAN2, functionType: Dt2.Math, description: `formula.functionList.ATAN2.description`, abstract: `formula.functionList.ATAN2.abstract`, functionParameter: [{ name: `formula.functionList.ATAN2.functionParameter.xNum.name`, detail: `formula.functionList.ATAN2.functionParameter.xNum.detail`, example: `4`, require: 1, repeat: 0 }, { name: `formula.functionList.ATAN2.functionParameter.yNum.name`, detail: `formula.functionList.ATAN2.functionParameter.yNum.detail`, example: `3`, require: 1, repeat: 0 }] }, { functionName: K3.ATANH, functionType: Dt2.Math, description: `formula.functionList.ATANH.description`, abstract: `formula.functionList.ATANH.abstract`, functionParameter: [{ name: `formula.functionList.ATANH.functionParameter.number.name`, detail: `formula.functionList.ATANH.functionParameter.number.detail`, example: `0.1`, require: 1, repeat: 0 }] }, { functionName: K3.BASE, functionType: Dt2.Math, description: `formula.functionList.BASE.description`, abstract: `formula.functionList.BASE.abstract`, functionParameter: [{ name: `formula.functionList.BASE.functionParameter.number.name`, detail: `formula.functionList.BASE.functionParameter.number.detail`, example: `15`, require: 1, repeat: 0 }, { name: `formula.functionList.BASE.functionParameter.radix.name`, detail: `formula.functionList.BASE.functionParameter.radix.detail`, example: `2`, require: 1, repeat: 0 }, { name: `formula.functionList.BASE.functionParameter.minLength.name`, detail: `formula.functionList.BASE.functionParameter.minLength.detail`, example: `10`, require: 0, repeat: 0 }] }, { functionName: K3.CEILING, functionType: Dt2.Math, description: `formula.functionList.CEILING.description`, abstract: `formula.functionList.CEILING.abstract`, functionParameter: [{ name: `formula.functionList.CEILING.functionParameter.number.name`, detail: `formula.functionList.CEILING.functionParameter.number.detail`, example: `2.5`, require: 1, repeat: 0 }, { name: `formula.functionList.CEILING.functionParameter.significance.name`, detail: `formula.functionList.CEILING.functionParameter.significance.detail`, example: `1`, require: 1, repeat: 0 }] }, { functionName: K3.CEILING_MATH, functionType: Dt2.Math, description: `formula.functionList.CEILING_MATH.description`, abstract: `formula.functionList.CEILING_MATH.abstract`, functionParameter: [{ name: `formula.functionList.CEILING_MATH.functionParameter.number.name`, detail: `formula.functionList.CEILING_MATH.functionParameter.number.detail`, example: `-5.5`, require: 1, repeat: 0 }, { name: `formula.functionList.CEILING_MATH.functionParameter.significance.name`, detail: `formula.functionList.CEILING_MATH.functionParameter.significance.detail`, example: `2`, require: 0, repeat: 0 }, { name: `formula.functionList.CEILING_MATH.functionParameter.mode.name`, detail: `formula.functionList.CEILING_MATH.functionParameter.mode.detail`, example: `-1`, require: 0, repeat: 0 }] }, { functionName: K3.CEILING_PRECISE, functionType: Dt2.Math, description: `formula.functionList.CEILING_PRECISE.description`, abstract: `formula.functionList.CEILING_PRECISE.abstract`, functionParameter: [{ name: `formula.functionList.CEILING_PRECISE.functionParameter.number.name`, detail: `formula.functionList.CEILING_PRECISE.functionParameter.number.detail`, example: `4.3`, require: 1, repeat: 0 }, { name: `formula.functionList.CEILING_PRECISE.functionParameter.significance.name`, detail: `formula.functionList.CEILING_PRECISE.functionParameter.significance.detail`, example: `2`, require: 0, repeat: 0 }] }, { functionName: K3.COMBIN, functionType: Dt2.Math, description: `formula.functionList.COMBIN.description`, abstract: `formula.functionList.COMBIN.abstract`, functionParameter: [{ name: `formula.functionList.COMBIN.functionParameter.number.name`, detail: `formula.functionList.COMBIN.functionParameter.number.detail`, example: `8`, require: 1, repeat: 0 }, { name: `formula.functionList.COMBIN.functionParameter.numberChosen.name`, detail: `formula.functionList.COMBIN.functionParameter.numberChosen.detail`, example: `2`, require: 1, repeat: 0 }] }, { functionName: K3.COMBINA, functionType: Dt2.Math, description: `formula.functionList.COMBINA.description`, abstract: `formula.functionList.COMBINA.abstract`, functionParameter: [{ name: `formula.functionList.COMBINA.functionParameter.number.name`, detail: `formula.functionList.COMBINA.functionParameter.number.detail`, example: `8`, require: 1, repeat: 0 }, { name: `formula.functionList.COMBINA.functionParameter.numberChosen.name`, detail: `formula.functionList.COMBINA.functionParameter.numberChosen.detail`, example: `2`, require: 1, repeat: 0 }] }, { functionName: K3.COS, functionType: Dt2.Math, description: `formula.functionList.COS.description`, abstract: `formula.functionList.COS.abstract`, functionParameter: [{ name: `formula.functionList.COS.functionParameter.number.name`, detail: `formula.functionList.COS.functionParameter.number.detail`, example: `1`, require: 1, repeat: 0 }] }, { functionName: K3.COSH, functionType: Dt2.Math, description: `formula.functionList.COSH.description`, abstract: `formula.functionList.COSH.abstract`, functionParameter: [{ name: `formula.functionList.COSH.functionParameter.number.name`, detail: `formula.functionList.COSH.functionParameter.number.detail`, example: `4`, require: 1, repeat: 0 }] }, { functionName: K3.COT, functionType: Dt2.Math, description: `formula.functionList.COT.description`, abstract: `formula.functionList.COT.abstract`, functionParameter: [{ name: `formula.functionList.COT.functionParameter.number.name`, detail: `formula.functionList.COT.functionParameter.number.detail`, example: `30`, require: 1, repeat: 0 }] }, { functionName: K3.COTH, functionType: Dt2.Math, description: `formula.functionList.COTH.description`, abstract: `formula.functionList.COTH.abstract`, functionParameter: [{ name: `formula.functionList.COTH.functionParameter.number.name`, detail: `formula.functionList.COTH.functionParameter.number.detail`, example: `2`, require: 1, repeat: 0 }] }, { functionName: K3.CSC, functionType: Dt2.Math, description: `formula.functionList.CSC.description`, abstract: `formula.functionList.CSC.abstract`, functionParameter: [{ name: `formula.functionList.CSC.functionParameter.number.name`, detail: `formula.functionList.CSC.functionParameter.number.detail`, example: `15`, require: 1, repeat: 0 }] }, { functionName: K3.CSCH, functionType: Dt2.Math, description: `formula.functionList.CSCH.description`, abstract: `formula.functionList.CSCH.abstract`, functionParameter: [{ name: `formula.functionList.CSCH.functionParameter.number.name`, detail: `formula.functionList.CSCH.functionParameter.number.detail`, example: `1.5`, require: 1, repeat: 0 }] }, { functionName: K3.DECIMAL, functionType: Dt2.Math, description: `formula.functionList.DECIMAL.description`, abstract: `formula.functionList.DECIMAL.abstract`, functionParameter: [{ name: `formula.functionList.DECIMAL.functionParameter.text.name`, detail: `formula.functionList.DECIMAL.functionParameter.text.detail`, example: `"FF"`, require: 1, repeat: 0 }, { name: `formula.functionList.DECIMAL.functionParameter.radix.name`, detail: `formula.functionList.DECIMAL.functionParameter.radix.detail`, example: `16`, require: 1, repeat: 0 }] }, { functionName: K3.DEGREES, functionType: Dt2.Math, description: `formula.functionList.DEGREES.description`, abstract: `formula.functionList.DEGREES.abstract`, functionParameter: [{ name: `formula.functionList.DEGREES.functionParameter.angle.name`, detail: `formula.functionList.DEGREES.functionParameter.angle.detail`, example: `PI()`, require: 1, repeat: 0 }] }, { functionName: K3.EVEN, functionType: Dt2.Math, description: `formula.functionList.EVEN.description`, abstract: `formula.functionList.EVEN.abstract`, functionParameter: [{ name: `formula.functionList.EVEN.functionParameter.number.name`, detail: `formula.functionList.EVEN.functionParameter.number.detail`, example: `1.5`, require: 1, repeat: 0 }] }, { functionName: K3.EXP, functionType: Dt2.Math, description: `formula.functionList.EXP.description`, abstract: `formula.functionList.EXP.abstract`, functionParameter: [{ name: `formula.functionList.EXP.functionParameter.number.name`, detail: `formula.functionList.EXP.functionParameter.number.detail`, example: `2`, require: 1, repeat: 0 }] }, { functionName: K3.FACT, functionType: Dt2.Math, description: `formula.functionList.FACT.description`, abstract: `formula.functionList.FACT.abstract`, functionParameter: [{ name: `formula.functionList.FACT.functionParameter.number.name`, detail: `formula.functionList.FACT.functionParameter.number.detail`, example: `5`, require: 1, repeat: 0 }] }, { functionName: K3.FACTDOUBLE, functionType: Dt2.Math, description: `formula.functionList.FACTDOUBLE.description`, abstract: `formula.functionList.FACTDOUBLE.abstract`, functionParameter: [{ name: `formula.functionList.FACTDOUBLE.functionParameter.number.name`, detail: `formula.functionList.FACTDOUBLE.functionParameter.number.detail`, example: `6`, require: 1, repeat: 0 }] }, { functionName: K3.FLOOR, functionType: Dt2.Math, description: `formula.functionList.FLOOR.description`, abstract: `formula.functionList.FLOOR.abstract`, functionParameter: [{ name: `formula.functionList.FLOOR.functionParameter.number.name`, detail: `formula.functionList.FLOOR.functionParameter.number.detail`, example: `3.7`, require: 1, repeat: 0 }, { name: `formula.functionList.FLOOR.functionParameter.significance.name`, detail: `formula.functionList.FLOOR.functionParameter.significance.detail`, example: `2`, require: 1, repeat: 0 }] }, { functionName: K3.FLOOR_MATH, functionType: Dt2.Math, description: `formula.functionList.FLOOR_MATH.description`, abstract: `formula.functionList.FLOOR_MATH.abstract`, functionParameter: [{ name: `formula.functionList.FLOOR_MATH.functionParameter.number.name`, detail: `formula.functionList.FLOOR_MATH.functionParameter.number.detail`, example: `-5.5`, require: 1, repeat: 0 }, { name: `formula.functionList.FLOOR_MATH.functionParameter.significance.name`, detail: `formula.functionList.FLOOR_MATH.functionParameter.significance.detail`, example: `2`, require: 0, repeat: 0 }, { name: `formula.functionList.FLOOR_MATH.functionParameter.mode.name`, detail: `formula.functionList.FLOOR_MATH.functionParameter.mode.detail`, example: `-1`, require: 0, repeat: 0 }] }, { functionName: K3.FLOOR_PRECISE, functionType: Dt2.Math, description: `formula.functionList.FLOOR_PRECISE.description`, abstract: `formula.functionList.FLOOR_PRECISE.abstract`, functionParameter: [{ name: `formula.functionList.FLOOR_PRECISE.functionParameter.number.name`, detail: `formula.functionList.FLOOR_PRECISE.functionParameter.number.detail`, example: `-3.2`, require: 1, repeat: 0 }, { name: `formula.functionList.FLOOR_PRECISE.functionParameter.significance.name`, detail: `formula.functionList.FLOOR_PRECISE.functionParameter.significance.detail`, example: `-1`, require: 0, repeat: 0 }] }, { functionName: K3.GCD, functionType: Dt2.Math, description: `formula.functionList.GCD.description`, abstract: `formula.functionList.GCD.abstract`, functionParameter: [{ name: `formula.functionList.GCD.functionParameter.number1.name`, detail: `formula.functionList.GCD.functionParameter.number1.detail`, example: `5`, require: 1, repeat: 0 }, { name: `formula.functionList.GCD.functionParameter.number2.name`, detail: `formula.functionList.GCD.functionParameter.number2.detail`, example: `2`, require: 0, repeat: 1 }] }, { functionName: K3.INT, functionType: Dt2.Math, description: `formula.functionList.INT.description`, abstract: `formula.functionList.INT.abstract`, functionParameter: [{ name: `formula.functionList.INT.functionParameter.number.name`, detail: `formula.functionList.INT.functionParameter.number.detail`, example: `8.9`, require: 1, repeat: 0 }] }, { functionName: K3.ISO_CEILING, functionType: Dt2.Math, description: `formula.functionList.ISO_CEILING.description`, abstract: `formula.functionList.ISO_CEILING.abstract`, functionParameter: [{ name: `formula.functionList.ISO_CEILING.functionParameter.number1.name`, detail: `formula.functionList.ISO_CEILING.functionParameter.number1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.ISO_CEILING.functionParameter.number2.name`, detail: `formula.functionList.ISO_CEILING.functionParameter.number2.detail`, example: `A1:A20`, require: 1, repeat: 0 }] }, { functionName: K3.LCM, functionType: Dt2.Math, description: `formula.functionList.LCM.description`, abstract: `formula.functionList.LCM.abstract`, functionParameter: [{ name: `formula.functionList.LCM.functionParameter.number1.name`, detail: `formula.functionList.LCM.functionParameter.number1.detail`, example: `5`, require: 1, repeat: 0 }, { name: `formula.functionList.LCM.functionParameter.number2.name`, detail: `formula.functionList.LCM.functionParameter.number2.detail`, example: `2`, require: 0, repeat: 1 }] }, { functionName: K3.LET, functionType: Dt2.Math, description: `formula.functionList.LET.description`, abstract: `formula.functionList.LET.abstract`, functionParameter: [{ name: `formula.functionList.LET.functionParameter.number1.name`, detail: `formula.functionList.LET.functionParameter.number1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.LET.functionParameter.number2.name`, detail: `formula.functionList.LET.functionParameter.number2.detail`, example: `A1:A20`, require: 1, repeat: 0 }] }, { functionName: K3.LN, functionType: Dt2.Math, description: `formula.functionList.LN.description`, abstract: `formula.functionList.LN.abstract`, functionParameter: [{ name: `formula.functionList.LN.functionParameter.number.name`, detail: `formula.functionList.LN.functionParameter.number.detail`, example: `EXP(3)`, require: 1, repeat: 0 }] }, { functionName: K3.LOG, functionType: Dt2.Math, description: `formula.functionList.LOG.description`, abstract: `formula.functionList.LOG.abstract`, functionParameter: [{ name: `formula.functionList.LOG.functionParameter.number.name`, detail: `formula.functionList.LOG.functionParameter.number.detail`, example: `8`, require: 1, repeat: 0 }, { name: `formula.functionList.LOG.functionParameter.base.name`, detail: `formula.functionList.LOG.functionParameter.base.detail`, example: `2`, require: 0, repeat: 0 }] }, { functionName: K3.LOG10, functionType: Dt2.Math, description: `formula.functionList.LOG10.description`, abstract: `formula.functionList.LOG10.abstract`, functionParameter: [{ name: `formula.functionList.LOG10.functionParameter.number.name`, detail: `formula.functionList.LOG10.functionParameter.number.detail`, example: `100000`, require: 1, repeat: 0 }] }, { functionName: K3.MDETERM, functionType: Dt2.Math, description: `formula.functionList.MDETERM.description`, abstract: `formula.functionList.MDETERM.abstract`, functionParameter: [{ name: `formula.functionList.MDETERM.functionParameter.array.name`, detail: `formula.functionList.MDETERM.functionParameter.array.detail`, example: `A1:C3`, require: 1, repeat: 0 }] }, { functionName: K3.MINVERSE, functionType: Dt2.Math, description: `formula.functionList.MINVERSE.description`, abstract: `formula.functionList.MINVERSE.abstract`, functionParameter: [{ name: `formula.functionList.MINVERSE.functionParameter.array.name`, detail: `formula.functionList.MINVERSE.functionParameter.array.detail`, example: `A1:C3`, require: 1, repeat: 0 }] }, { functionName: K3.MMULT, functionType: Dt2.Math, description: `formula.functionList.MMULT.description`, abstract: `formula.functionList.MMULT.abstract`, functionParameter: [{ name: `formula.functionList.MMULT.functionParameter.array1.name`, detail: `formula.functionList.MMULT.functionParameter.array1.detail`, example: `A2:B3`, require: 1, repeat: 0 }, { name: `formula.functionList.MMULT.functionParameter.array2.name`, detail: `formula.functionList.MMULT.functionParameter.array2.detail`, example: `A5:B6`, require: 1, repeat: 0 }] }, { functionName: K3.MOD, functionType: Dt2.Math, description: `formula.functionList.MOD.description`, abstract: `formula.functionList.MOD.abstract`, functionParameter: [{ name: `formula.functionList.MOD.functionParameter.number.name`, detail: `formula.functionList.MOD.functionParameter.number.detail`, example: `3`, require: 1, repeat: 0 }, { name: `formula.functionList.MOD.functionParameter.divisor.name`, detail: `formula.functionList.MOD.functionParameter.divisor.detail`, example: `2`, require: 1, repeat: 0 }] }, { functionName: K3.MROUND, functionType: Dt2.Math, description: `formula.functionList.MROUND.description`, abstract: `formula.functionList.MROUND.abstract`, functionParameter: [{ name: `formula.functionList.MROUND.functionParameter.number.name`, detail: `formula.functionList.MROUND.functionParameter.number.detail`, example: `10`, require: 1, repeat: 0 }, { name: `formula.functionList.MROUND.functionParameter.multiple.name`, detail: `formula.functionList.MROUND.functionParameter.multiple.detail`, example: `3`, require: 1, repeat: 0 }] }, { functionName: K3.MULTINOMIAL, functionType: Dt2.Math, description: `formula.functionList.MULTINOMIAL.description`, abstract: `formula.functionList.MULTINOMIAL.abstract`, functionParameter: [{ name: `formula.functionList.MULTINOMIAL.functionParameter.number1.name`, detail: `formula.functionList.MULTINOMIAL.functionParameter.number1.detail`, example: `5`, require: 1, repeat: 0 }, { name: `formula.functionList.MULTINOMIAL.functionParameter.number2.name`, detail: `formula.functionList.MULTINOMIAL.functionParameter.number2.detail`, example: `2`, require: 0, repeat: 1 }] }, { functionName: K3.MUNIT, functionType: Dt2.Math, description: `formula.functionList.MUNIT.description`, abstract: `formula.functionList.MUNIT.abstract`, functionParameter: [{ name: `formula.functionList.MUNIT.functionParameter.dimension.name`, detail: `formula.functionList.MUNIT.functionParameter.dimension.detail`, example: `3`, require: 1, repeat: 0 }] }, { functionName: K3.ODD, functionType: Dt2.Math, description: `formula.functionList.ODD.description`, abstract: `formula.functionList.ODD.abstract`, functionParameter: [{ name: `formula.functionList.ODD.functionParameter.number.name`, detail: `formula.functionList.ODD.functionParameter.number.detail`, example: `1.5`, require: 1, repeat: 0 }] }, { functionName: K3.PI, functionType: Dt2.Math, description: `formula.functionList.PI.description`, abstract: `formula.functionList.PI.abstract`, functionParameter: [] }, { functionName: K3.POWER, functionType: Dt2.Math, description: `formula.functionList.POWER.description`, abstract: `formula.functionList.POWER.abstract`, functionParameter: [{ name: `formula.functionList.POWER.functionParameter.number.name`, detail: `formula.functionList.POWER.functionParameter.number.detail`, example: `5`, require: 1, repeat: 0 }, { name: `formula.functionList.POWER.functionParameter.power.name`, detail: `formula.functionList.POWER.functionParameter.power.detail`, example: `2`, require: 1, repeat: 0 }] }, { functionName: K3.PRODUCT, functionType: Dt2.Math, description: `formula.functionList.PRODUCT.description`, abstract: `formula.functionList.PRODUCT.abstract`, functionParameter: [{ name: `formula.functionList.PRODUCT.functionParameter.number1.name`, detail: `formula.functionList.PRODUCT.functionParameter.number1.detail`, example: `A1`, require: 1, repeat: 0 }, { name: `formula.functionList.PRODUCT.functionParameter.number2.name`, detail: `formula.functionList.PRODUCT.functionParameter.number2.detail`, example: `A2`, require: 0, repeat: 1 }] }, { functionName: K3.QUOTIENT, functionType: Dt2.Math, description: `formula.functionList.QUOTIENT.description`, abstract: `formula.functionList.QUOTIENT.abstract`, functionParameter: [{ name: `formula.functionList.QUOTIENT.functionParameter.numerator.name`, detail: `formula.functionList.QUOTIENT.functionParameter.numerator.detail`, example: `5`, require: 1, repeat: 0 }, { name: `formula.functionList.QUOTIENT.functionParameter.denominator.name`, detail: `formula.functionList.QUOTIENT.functionParameter.denominator.detail`, example: `2`, require: 1, repeat: 0 }] }, { functionName: K3.RADIANS, functionType: Dt2.Math, description: `formula.functionList.RADIANS.description`, abstract: `formula.functionList.RADIANS.abstract`, functionParameter: [{ name: `formula.functionList.RADIANS.functionParameter.angle.name`, detail: `formula.functionList.RADIANS.functionParameter.angle.detail`, example: `270`, require: 1, repeat: 0 }] }, { functionName: K3.RAND, functionType: Dt2.Math, description: `formula.functionList.RAND.description`, abstract: `formula.functionList.RAND.abstract`, functionParameter: [] }, { functionName: K3.RANDARRAY, functionType: Dt2.Math, description: `formula.functionList.RANDARRAY.description`, abstract: `formula.functionList.RANDARRAY.abstract`, functionParameter: [{ name: `formula.functionList.RANDARRAY.functionParameter.rows.name`, detail: `formula.functionList.RANDARRAY.functionParameter.rows.detail`, example: `5`, require: 0, repeat: 0 }, { name: `formula.functionList.RANDARRAY.functionParameter.columns.name`, detail: `formula.functionList.RANDARRAY.functionParameter.columns.detail`, example: `3`, require: 0, repeat: 0 }, { name: `formula.functionList.RANDARRAY.functionParameter.min.name`, detail: `formula.functionList.RANDARRAY.functionParameter.min.detail`, example: `1`, require: 0, repeat: 0 }, { name: `formula.functionList.RANDARRAY.functionParameter.max.name`, detail: `formula.functionList.RANDARRAY.functionParameter.max.detail`, example: `100`, require: 0, repeat: 0 }, { name: `formula.functionList.RANDARRAY.functionParameter.wholeNumber.name`, detail: `formula.functionList.RANDARRAY.functionParameter.wholeNumber.detail`, example: `TRUE`, require: 0, repeat: 0 }] }, { functionName: K3.RANDBETWEEN, functionType: Dt2.Math, description: `formula.functionList.RANDBETWEEN.description`, abstract: `formula.functionList.RANDBETWEEN.abstract`, functionParameter: [{ name: `formula.functionList.RANDBETWEEN.functionParameter.bottom.name`, detail: `formula.functionList.RANDBETWEEN.functionParameter.bottom.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.RANDBETWEEN.functionParameter.top.name`, detail: `formula.functionList.RANDBETWEEN.functionParameter.top.detail`, example: `100`, require: 1, repeat: 0 }] }, { functionName: K3.ROMAN, functionType: Dt2.Math, description: `formula.functionList.ROMAN.description`, abstract: `formula.functionList.ROMAN.abstract`, functionParameter: [{ name: `formula.functionList.ROMAN.functionParameter.number.name`, detail: `formula.functionList.ROMAN.functionParameter.number.detail`, example: `499`, require: 1, repeat: 0 }, { name: `formula.functionList.ROMAN.functionParameter.form.name`, detail: `formula.functionList.ROMAN.functionParameter.form.detail`, example: `0`, require: 0, repeat: 0 }] }, { functionName: K3.ROUND, functionType: Dt2.Math, description: `formula.functionList.ROUND.description`, abstract: `formula.functionList.ROUND.abstract`, functionParameter: [{ name: `formula.functionList.ROUND.functionParameter.number.name`, detail: `formula.functionList.ROUND.functionParameter.number.detail`, example: `2.15`, require: 1, repeat: 0 }, { name: `formula.functionList.ROUND.functionParameter.numDigits.name`, detail: `formula.functionList.ROUND.functionParameter.numDigits.detail`, example: `1`, require: 1, repeat: 0 }] }, { functionName: K3.ROUNDBANK, functionType: Dt2.Math, description: `formula.functionList.ROUNDBANK.description`, abstract: `formula.functionList.ROUNDBANK.abstract`, functionParameter: [{ name: `formula.functionList.ROUNDBANK.functionParameter.number.name`, detail: `formula.functionList.ROUNDBANK.functionParameter.number.detail`, example: `2.345`, require: 1, repeat: 0 }, { name: `formula.functionList.ROUNDBANK.functionParameter.numDigits.name`, detail: `formula.functionList.ROUNDBANK.functionParameter.numDigits.detail`, example: `2`, require: 1, repeat: 0 }] }, { functionName: K3.ROUNDDOWN, functionType: Dt2.Math, description: `formula.functionList.ROUNDDOWN.description`, abstract: `formula.functionList.ROUNDDOWN.abstract`, functionParameter: [{ name: `formula.functionList.ROUNDDOWN.functionParameter.number.name`, detail: `formula.functionList.ROUNDDOWN.functionParameter.number.detail`, example: `3.2`, require: 1, repeat: 0 }, { name: `formula.functionList.ROUNDDOWN.functionParameter.numDigits.name`, detail: `formula.functionList.ROUNDDOWN.functionParameter.numDigits.detail`, example: `0`, require: 1, repeat: 0 }] }, { functionName: K3.ROUNDUP, functionType: Dt2.Math, description: `formula.functionList.ROUNDUP.description`, abstract: `formula.functionList.ROUNDUP.abstract`, functionParameter: [{ name: `formula.functionList.ROUNDUP.functionParameter.number.name`, detail: `formula.functionList.ROUNDUP.functionParameter.number.detail`, example: `3.2`, require: 1, repeat: 0 }, { name: `formula.functionList.ROUNDUP.functionParameter.numDigits.name`, detail: `formula.functionList.ROUNDUP.functionParameter.numDigits.detail`, example: `0`, require: 1, repeat: 0 }] }, { functionName: K3.SEC, functionType: Dt2.Math, description: `formula.functionList.SEC.description`, abstract: `formula.functionList.SEC.abstract`, functionParameter: [{ name: `formula.functionList.SEC.functionParameter.number.name`, detail: `formula.functionList.SEC.functionParameter.number.detail`, example: `30`, require: 1, repeat: 0 }] }, { functionName: K3.SECH, functionType: Dt2.Math, description: `formula.functionList.SECH.description`, abstract: `formula.functionList.SECH.abstract`, functionParameter: [{ name: `formula.functionList.SECH.functionParameter.number.name`, detail: `formula.functionList.SECH.functionParameter.number.detail`, example: `30`, require: 1, repeat: 0 }] }, { functionName: K3.SERIESSUM, functionType: Dt2.Math, description: `formula.functionList.SERIESSUM.description`, abstract: `formula.functionList.SERIESSUM.abstract`, functionParameter: [{ name: `formula.functionList.SERIESSUM.functionParameter.x.name`, detail: `formula.functionList.SERIESSUM.functionParameter.x.detail`, example: `0.785398163`, require: 1, repeat: 0 }, { name: `formula.functionList.SERIESSUM.functionParameter.n.name`, detail: `formula.functionList.SERIESSUM.functionParameter.n.detail`, example: `0`, require: 1, repeat: 0 }, { name: `formula.functionList.SERIESSUM.functionParameter.m.name`, detail: `formula.functionList.SERIESSUM.functionParameter.m.detail`, example: `2`, require: 1, repeat: 0 }, { name: `formula.functionList.SERIESSUM.functionParameter.coefficients.name`, detail: `formula.functionList.SERIESSUM.functionParameter.coefficients.detail`, example: `A1:A4`, require: 1, repeat: 0 }] }, { functionName: K3.SEQUENCE, functionType: Dt2.Math, description: `formula.functionList.SEQUENCE.description`, abstract: `formula.functionList.SEQUENCE.abstract`, functionParameter: [{ name: `formula.functionList.SEQUENCE.functionParameter.rows.name`, detail: `formula.functionList.SEQUENCE.functionParameter.rows.detail`, example: `4`, require: 1, repeat: 0 }, { name: `formula.functionList.SEQUENCE.functionParameter.columns.name`, detail: `formula.functionList.SEQUENCE.functionParameter.columns.detail`, example: `5`, require: 0, repeat: 0 }, { name: `formula.functionList.SEQUENCE.functionParameter.start.name`, detail: `formula.functionList.SEQUENCE.functionParameter.start.detail`, example: `1`, require: 0, repeat: 0 }, { name: `formula.functionList.SEQUENCE.functionParameter.step.name`, detail: `formula.functionList.SEQUENCE.functionParameter.step.detail`, example: `1`, require: 0, repeat: 0 }] }, { functionName: K3.SIGN, functionType: Dt2.Math, description: `formula.functionList.SIGN.description`, abstract: `formula.functionList.SIGN.abstract`, functionParameter: [{ name: `formula.functionList.SIGN.functionParameter.number.name`, detail: `formula.functionList.SIGN.functionParameter.number.detail`, example: `10`, require: 1, repeat: 0 }] }, { functionName: K3.SIN, functionType: Dt2.Math, description: `formula.functionList.SIN.description`, abstract: `formula.functionList.SIN.abstract`, functionParameter: [{ name: `formula.functionList.SIN.functionParameter.number.name`, detail: `formula.functionList.SIN.functionParameter.number.detail`, example: `30*PI()/180`, require: 1, repeat: 0 }] }, { functionName: K3.SINH, functionType: Dt2.Math, description: `formula.functionList.SINH.description`, abstract: `formula.functionList.SINH.abstract`, functionParameter: [{ name: `formula.functionList.SINH.functionParameter.number.name`, detail: `formula.functionList.SINH.functionParameter.number.detail`, example: `0.0342*1.03`, require: 1, repeat: 0 }] }, { functionName: K3.SQRT, functionType: Dt2.Math, description: `formula.functionList.SQRT.description`, abstract: `formula.functionList.SQRT.abstract`, functionParameter: [{ name: `formula.functionList.SQRT.functionParameter.number.name`, detail: `formula.functionList.SQRT.functionParameter.number.detail`, example: `16`, require: 1, repeat: 0 }] }, { functionName: K3.SQRTPI, functionType: Dt2.Math, description: `formula.functionList.SQRTPI.description`, abstract: `formula.functionList.SQRTPI.abstract`, functionParameter: [{ name: `formula.functionList.SQRTPI.functionParameter.number.name`, detail: `formula.functionList.SQRTPI.functionParameter.number.detail`, example: `1`, require: 1, repeat: 0 }] }, { functionName: K3.SUBTOTAL, functionType: Dt2.Math, description: `formula.functionList.SUBTOTAL.description`, abstract: `formula.functionList.SUBTOTAL.abstract`, functionParameter: [{ name: `formula.functionList.SUBTOTAL.functionParameter.functionNum.name`, detail: `formula.functionList.SUBTOTAL.functionParameter.functionNum.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.SUBTOTAL.functionParameter.ref1.name`, detail: `formula.functionList.SUBTOTAL.functionParameter.ref1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.SUBTOTAL.functionParameter.ref2.name`, detail: `formula.functionList.SUBTOTAL.functionParameter.ref2.detail`, example: `B1:B20`, require: 0, repeat: 1 }] }, { functionName: K3.SUM, aliasFunctionName: `formula.functionList.SUM.aliasFunctionName`, functionType: Dt2.Math, description: `formula.functionList.SUM.description`, abstract: `formula.functionList.SUM.abstract`, functionParameter: [{ name: `formula.functionList.SUM.functionParameter.number1.name`, detail: `formula.functionList.SUM.functionParameter.number1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.SUM.functionParameter.number2.name`, detail: `formula.functionList.SUM.functionParameter.number2.detail`, example: `B2:B10`, require: 0, repeat: 1 }] }, { functionName: K3.SUMIF, aliasFunctionName: `formula.functionList.SUMIF.aliasFunctionName`, functionType: Dt2.Math, description: `formula.functionList.SUMIF.description`, abstract: `formula.functionList.SUMIF.abstract`, functionParameter: [{ name: `formula.functionList.SUMIF.functionParameter.range.name`, detail: `formula.functionList.SUMIF.functionParameter.range.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.SUMIF.functionParameter.criteria.name`, detail: `formula.functionList.SUMIF.functionParameter.criteria.detail`, example: `">5"`, require: 1, repeat: 0 }, { name: `formula.functionList.SUMIF.functionParameter.sumRange.name`, detail: `formula.functionList.SUMIF.functionParameter.sumRange.detail`, example: `B1:B20`, require: 0, repeat: 0 }] }, { functionName: K3.SUMIFS, functionType: Dt2.Math, description: `formula.functionList.SUMIFS.description`, abstract: `formula.functionList.SUMIFS.abstract`, functionParameter: [{ name: `formula.functionList.SUMIFS.functionParameter.sumRange.name`, detail: `formula.functionList.SUMIFS.functionParameter.sumRange.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.SUMIFS.functionParameter.criteriaRange1.name`, detail: `formula.functionList.SUMIFS.functionParameter.criteriaRange1.detail`, example: `B1:B20`, require: 1, repeat: 0 }, { name: `formula.functionList.SUMIFS.functionParameter.criteria1.name`, detail: `formula.functionList.SUMIFS.functionParameter.criteria1.detail`, example: `">10"`, require: 1, repeat: 0 }, { name: `formula.functionList.SUMIFS.functionParameter.criteriaRange2.name`, detail: `formula.functionList.SUMIFS.functionParameter.criteriaRange2.detail`, example: `C1:C20`, require: 0, repeat: 1 }, { name: `formula.functionList.SUMIFS.functionParameter.criteria2.name`, detail: `formula.functionList.SUMIFS.functionParameter.criteria2.detail`, example: `"<20"`, require: 0, repeat: 1 }] }, { functionName: K3.SUMPRODUCT, functionType: Dt2.Math, description: `formula.functionList.SUMPRODUCT.description`, abstract: `formula.functionList.SUMPRODUCT.abstract`, functionParameter: [{ name: `formula.functionList.SUMPRODUCT.functionParameter.array1.name`, detail: `formula.functionList.SUMPRODUCT.functionParameter.array1.detail`, example: `C2:C5`, require: 1, repeat: 0 }, { name: `formula.functionList.SUMPRODUCT.functionParameter.array2.name`, detail: `formula.functionList.SUMPRODUCT.functionParameter.array2.detail`, example: `D2:D5`, require: 0, repeat: 1 }] }, { functionName: K3.SUMSQ, functionType: Dt2.Math, description: `formula.functionList.SUMSQ.description`, abstract: `formula.functionList.SUMSQ.abstract`, functionParameter: [{ name: `formula.functionList.SUMSQ.functionParameter.number1.name`, detail: `formula.functionList.SUMSQ.functionParameter.number1.detail`, example: `3`, require: 1, repeat: 0 }, { name: `formula.functionList.SUMSQ.functionParameter.number2.name`, detail: `formula.functionList.SUMSQ.functionParameter.number2.detail`, example: `4`, require: 0, repeat: 1 }] }, { functionName: K3.SUMX2MY2, functionType: Dt2.Math, description: `formula.functionList.SUMX2MY2.description`, abstract: `formula.functionList.SUMX2MY2.abstract`, functionParameter: [{ name: `formula.functionList.SUMX2MY2.functionParameter.arrayX.name`, detail: `formula.functionList.SUMX2MY2.functionParameter.arrayX.detail`, example: `A2:A8`, require: 1, repeat: 0 }, { name: `formula.functionList.SUMX2MY2.functionParameter.arrayY.name`, detail: `formula.functionList.SUMX2MY2.functionParameter.arrayY.detail`, example: `B2:B8`, require: 1, repeat: 0 }] }, { functionName: K3.SUMX2PY2, functionType: Dt2.Math, description: `formula.functionList.SUMX2PY2.description`, abstract: `formula.functionList.SUMX2PY2.abstract`, functionParameter: [{ name: `formula.functionList.SUMX2PY2.functionParameter.arrayX.name`, detail: `formula.functionList.SUMX2PY2.functionParameter.arrayX.detail`, example: `A2:A8`, require: 1, repeat: 0 }, { name: `formula.functionList.SUMX2PY2.functionParameter.arrayY.name`, detail: `formula.functionList.SUMX2PY2.functionParameter.arrayY.detail`, example: `B2:B8`, require: 1, repeat: 0 }] }, { functionName: K3.SUMXMY2, functionType: Dt2.Math, description: `formula.functionList.SUMXMY2.description`, abstract: `formula.functionList.SUMXMY2.abstract`, functionParameter: [{ name: `formula.functionList.SUMXMY2.functionParameter.arrayX.name`, detail: `formula.functionList.SUMXMY2.functionParameter.arrayX.detail`, example: `A2:A8`, require: 1, repeat: 0 }, { name: `formula.functionList.SUMXMY2.functionParameter.arrayY.name`, detail: `formula.functionList.SUMXMY2.functionParameter.arrayY.detail`, example: `B2:B8`, require: 1, repeat: 0 }] }, { functionName: K3.TAN, functionType: Dt2.Math, description: `formula.functionList.TAN.description`, abstract: `formula.functionList.TAN.abstract`, functionParameter: [{ name: `formula.functionList.TAN.functionParameter.number.name`, detail: `formula.functionList.TAN.functionParameter.number.detail`, example: `1`, require: 1, repeat: 0 }] }, { functionName: K3.TANH, functionType: Dt2.Math, description: `formula.functionList.TANH.description`, abstract: `formula.functionList.TANH.abstract`, functionParameter: [{ name: `formula.functionList.TANH.functionParameter.number.name`, detail: `formula.functionList.TANH.functionParameter.number.detail`, example: `1`, require: 1, repeat: 0 }] }, { functionName: K3.TRUNC, functionType: Dt2.Math, description: `formula.functionList.TRUNC.description`, abstract: `formula.functionList.TRUNC.abstract`, functionParameter: [{ name: `formula.functionList.TRUNC.functionParameter.number.name`, detail: `formula.functionList.TRUNC.functionParameter.number.detail`, example: `0.45`, require: 1, repeat: 0 }, { name: `formula.functionList.TRUNC.functionParameter.numDigits.name`, detail: `formula.functionList.TRUNC.functionParameter.numDigits.detail`, example: `1`, require: 0, repeat: 0 }] }]; + var fi3 = [{ functionName: q3.AVEDEV, functionType: Dt2.Statistical, description: `formula.functionList.AVEDEV.description`, abstract: `formula.functionList.AVEDEV.abstract`, functionParameter: [{ name: `formula.functionList.AVEDEV.functionParameter.number1.name`, detail: `formula.functionList.AVEDEV.functionParameter.number1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.AVEDEV.functionParameter.number2.name`, detail: `formula.functionList.AVEDEV.functionParameter.number2.detail`, example: `B1:B20`, require: 0, repeat: 1 }] }, { functionName: q3.AVERAGE, aliasFunctionName: `formula.functionList.AVERAGE.aliasFunctionName`, functionType: Dt2.Statistical, description: `formula.functionList.AVERAGE.description`, abstract: `formula.functionList.AVERAGE.abstract`, functionParameter: [{ name: `formula.functionList.AVERAGE.functionParameter.number1.name`, detail: `formula.functionList.AVERAGE.functionParameter.number1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.AVERAGE.functionParameter.number2.name`, detail: `formula.functionList.AVERAGE.functionParameter.number2.detail`, example: `B1:B20`, require: 0, repeat: 1 }] }, { functionName: q3.AVERAGE_WEIGHTED, aliasFunctionName: `formula.functionList.AVERAGE_WEIGHTED.aliasFunctionName`, functionType: Dt2.Statistical, description: `formula.functionList.AVERAGE_WEIGHTED.description`, abstract: `formula.functionList.AVERAGE_WEIGHTED.abstract`, functionParameter: [{ name: `formula.functionList.AVERAGE_WEIGHTED.functionParameter.values.name`, detail: `formula.functionList.AVERAGE_WEIGHTED.functionParameter.values.detail`, example: `10`, require: 1, repeat: 0 }, { name: `formula.functionList.AVERAGE_WEIGHTED.functionParameter.weights.name`, detail: `formula.functionList.AVERAGE_WEIGHTED.functionParameter.weights.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.AVERAGE_WEIGHTED.functionParameter.additionalValues.name`, detail: `formula.functionList.AVERAGE_WEIGHTED.functionParameter.additionalValues.detail`, example: `20`, require: 0, repeat: 1 }, { name: `formula.functionList.AVERAGE_WEIGHTED.functionParameter.additionalWeights.name`, detail: `formula.functionList.AVERAGE_WEIGHTED.functionParameter.additionalWeights.detail`, example: `3`, require: 0, repeat: 1 }] }, { functionName: q3.AVERAGEA, functionType: Dt2.Statistical, description: `formula.functionList.AVERAGEA.description`, abstract: `formula.functionList.AVERAGEA.abstract`, functionParameter: [{ name: `formula.functionList.AVERAGEA.functionParameter.value1.name`, detail: `formula.functionList.AVERAGEA.functionParameter.value1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.AVERAGEA.functionParameter.value2.name`, detail: `formula.functionList.AVERAGEA.functionParameter.value2.detail`, example: `B1:B20`, require: 0, repeat: 1 }] }, { functionName: q3.AVERAGEIF, functionType: Dt2.Statistical, description: `formula.functionList.AVERAGEIF.description`, abstract: `formula.functionList.AVERAGEIF.abstract`, functionParameter: [{ name: `formula.functionList.AVERAGEIF.functionParameter.range.name`, detail: `formula.functionList.AVERAGEIF.functionParameter.range.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.AVERAGEIF.functionParameter.criteria.name`, detail: `formula.functionList.AVERAGEIF.functionParameter.criteria.detail`, example: `">5"`, require: 1, repeat: 0 }, { name: `formula.functionList.AVERAGEIF.functionParameter.averageRange.name`, detail: `formula.functionList.AVERAGEIF.functionParameter.averageRange.detail`, example: `B1:B20`, require: 0, repeat: 0 }] }, { functionName: q3.AVERAGEIFS, functionType: Dt2.Statistical, description: `formula.functionList.AVERAGEIFS.description`, abstract: `formula.functionList.AVERAGEIFS.abstract`, functionParameter: [{ name: `formula.functionList.AVERAGEIFS.functionParameter.averageRange.name`, detail: `formula.functionList.AVERAGEIFS.functionParameter.averageRange.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.AVERAGEIFS.functionParameter.criteriaRange1.name`, detail: `formula.functionList.AVERAGEIFS.functionParameter.criteriaRange1.detail`, example: `B1:B20`, require: 1, repeat: 0 }, { name: `formula.functionList.AVERAGEIFS.functionParameter.criteria1.name`, detail: `formula.functionList.AVERAGEIFS.functionParameter.criteria1.detail`, example: `">10"`, require: 1, repeat: 0 }, { name: `formula.functionList.AVERAGEIFS.functionParameter.criteriaRange2.name`, detail: `formula.functionList.AVERAGEIFS.functionParameter.criteriaRange2.detail`, example: `C1:C20`, require: 0, repeat: 1 }, { name: `formula.functionList.AVERAGEIFS.functionParameter.criteria2.name`, detail: `formula.functionList.AVERAGEIFS.functionParameter.criteria2.detail`, example: `"<20"`, require: 0, repeat: 1 }] }, { functionName: q3.BETA_DIST, functionType: Dt2.Statistical, description: `formula.functionList.BETA_DIST.description`, abstract: `formula.functionList.BETA_DIST.abstract`, functionParameter: [{ name: `formula.functionList.BETA_DIST.functionParameter.x.name`, detail: `formula.functionList.BETA_DIST.functionParameter.x.detail`, example: `2`, require: 1, repeat: 0 }, { name: `formula.functionList.BETA_DIST.functionParameter.alpha.name`, detail: `formula.functionList.BETA_DIST.functionParameter.alpha.detail`, example: `8`, require: 1, repeat: 0 }, { name: `formula.functionList.BETA_DIST.functionParameter.beta.name`, detail: `formula.functionList.BETA_DIST.functionParameter.beta.detail`, example: `10`, require: 1, repeat: 0 }, { name: `formula.functionList.BETA_DIST.functionParameter.cumulative.name`, detail: `formula.functionList.BETA_DIST.functionParameter.cumulative.detail`, example: `true`, require: 1, repeat: 0 }, { name: `formula.functionList.BETA_DIST.functionParameter.A.name`, detail: `formula.functionList.BETA_DIST.functionParameter.A.detail`, example: `1`, require: 0, repeat: 0 }, { name: `formula.functionList.BETA_DIST.functionParameter.B.name`, detail: `formula.functionList.BETA_DIST.functionParameter.B.detail`, example: `3`, require: 0, repeat: 0 }] }, { functionName: q3.BETA_INV, functionType: Dt2.Statistical, description: `formula.functionList.BETA_INV.description`, abstract: `formula.functionList.BETA_INV.abstract`, functionParameter: [{ name: `formula.functionList.BETA_INV.functionParameter.probability.name`, detail: `formula.functionList.BETA_INV.functionParameter.probability.detail`, example: `0.685470581`, require: 1, repeat: 0 }, { name: `formula.functionList.BETA_INV.functionParameter.alpha.name`, detail: `formula.functionList.BETA_INV.functionParameter.alpha.detail`, example: `8`, require: 1, repeat: 0 }, { name: `formula.functionList.BETA_INV.functionParameter.beta.name`, detail: `formula.functionList.BETA_INV.functionParameter.beta.detail`, example: `10`, require: 1, repeat: 0 }, { name: `formula.functionList.BETA_INV.functionParameter.A.name`, detail: `formula.functionList.BETA_INV.functionParameter.A.detail`, example: `1`, require: 0, repeat: 0 }, { name: `formula.functionList.BETA_INV.functionParameter.B.name`, detail: `formula.functionList.BETA_INV.functionParameter.B.detail`, example: `3`, require: 0, repeat: 0 }] }, { functionName: q3.BINOM_DIST, functionType: Dt2.Statistical, description: `formula.functionList.BINOM_DIST.description`, abstract: `formula.functionList.BINOM_DIST.abstract`, functionParameter: [{ name: `formula.functionList.BINOM_DIST.functionParameter.numberS.name`, detail: `formula.functionList.BINOM_DIST.functionParameter.numberS.detail`, example: `6`, require: 1, repeat: 0 }, { name: `formula.functionList.BINOM_DIST.functionParameter.trials.name`, detail: `formula.functionList.BINOM_DIST.functionParameter.trials.detail`, example: `10`, require: 1, repeat: 0 }, { name: `formula.functionList.BINOM_DIST.functionParameter.probabilityS.name`, detail: `formula.functionList.BINOM_DIST.functionParameter.probabilityS.detail`, example: `0.5`, require: 1, repeat: 0 }, { name: `formula.functionList.BINOM_DIST.functionParameter.cumulative.name`, detail: `formula.functionList.BINOM_DIST.functionParameter.cumulative.detail`, example: `false`, require: 1, repeat: 0 }] }, { functionName: q3.BINOM_DIST_RANGE, functionType: Dt2.Statistical, description: `formula.functionList.BINOM_DIST_RANGE.description`, abstract: `formula.functionList.BINOM_DIST_RANGE.abstract`, functionParameter: [{ name: `formula.functionList.BINOM_DIST_RANGE.functionParameter.trials.name`, detail: `formula.functionList.BINOM_DIST_RANGE.functionParameter.trials.detail`, example: `60`, require: 1, repeat: 0 }, { name: `formula.functionList.BINOM_DIST_RANGE.functionParameter.probabilityS.name`, detail: `formula.functionList.BINOM_DIST_RANGE.functionParameter.probabilityS.detail`, example: `0.75`, require: 1, repeat: 0 }, { name: `formula.functionList.BINOM_DIST_RANGE.functionParameter.numberS.name`, detail: `formula.functionList.BINOM_DIST_RANGE.functionParameter.numberS.detail`, example: `45`, require: 1, repeat: 0 }, { name: `formula.functionList.BINOM_DIST_RANGE.functionParameter.numberS2.name`, detail: `formula.functionList.BINOM_DIST_RANGE.functionParameter.numberS2.detail`, example: `50`, require: 0, repeat: 0 }] }, { functionName: q3.BINOM_INV, functionType: Dt2.Statistical, description: `formula.functionList.BINOM_INV.description`, abstract: `formula.functionList.BINOM_INV.abstract`, functionParameter: [{ name: `formula.functionList.BINOM_INV.functionParameter.trials.name`, detail: `formula.functionList.BINOM_INV.functionParameter.trials.detail`, example: `6`, require: 1, repeat: 0 }, { name: `formula.functionList.BINOM_INV.functionParameter.probabilityS.name`, detail: `formula.functionList.BINOM_INV.functionParameter.probabilityS.detail`, example: `0.5`, require: 1, repeat: 0 }, { name: `formula.functionList.BINOM_INV.functionParameter.alpha.name`, detail: `formula.functionList.BINOM_INV.functionParameter.alpha.detail`, example: `0.75`, require: 1, repeat: 0 }] }, { functionName: q3.CHISQ_DIST, functionType: Dt2.Statistical, description: `formula.functionList.CHISQ_DIST.description`, abstract: `formula.functionList.CHISQ_DIST.abstract`, functionParameter: [{ name: `formula.functionList.CHISQ_DIST.functionParameter.x.name`, detail: `formula.functionList.CHISQ_DIST.functionParameter.x.detail`, example: `0.5`, require: 1, repeat: 0 }, { name: `formula.functionList.CHISQ_DIST.functionParameter.degFreedom.name`, detail: `formula.functionList.CHISQ_DIST.functionParameter.degFreedom.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.CHISQ_DIST.functionParameter.cumulative.name`, detail: `formula.functionList.CHISQ_DIST.functionParameter.cumulative.detail`, example: `true`, require: 1, repeat: 0 }] }, { functionName: q3.CHISQ_DIST_RT, functionType: Dt2.Statistical, description: `formula.functionList.CHISQ_DIST_RT.description`, abstract: `formula.functionList.CHISQ_DIST_RT.abstract`, functionParameter: [{ name: `formula.functionList.CHISQ_DIST_RT.functionParameter.x.name`, detail: `formula.functionList.CHISQ_DIST_RT.functionParameter.x.detail`, example: `0.5`, require: 1, repeat: 0 }, { name: `formula.functionList.CHISQ_DIST_RT.functionParameter.degFreedom.name`, detail: `formula.functionList.CHISQ_DIST_RT.functionParameter.degFreedom.detail`, example: `1`, require: 1, repeat: 0 }] }, { functionName: q3.CHISQ_INV, functionType: Dt2.Statistical, description: `formula.functionList.CHISQ_INV.description`, abstract: `formula.functionList.CHISQ_INV.abstract`, functionParameter: [{ name: `formula.functionList.CHISQ_INV.functionParameter.probability.name`, detail: `formula.functionList.CHISQ_INV.functionParameter.probability.detail`, example: `0.93`, require: 1, repeat: 0 }, { name: `formula.functionList.CHISQ_INV.functionParameter.degFreedom.name`, detail: `formula.functionList.CHISQ_INV.functionParameter.degFreedom.detail`, example: `1`, require: 1, repeat: 0 }] }, { functionName: q3.CHISQ_INV_RT, functionType: Dt2.Statistical, description: `formula.functionList.CHISQ_INV_RT.description`, abstract: `formula.functionList.CHISQ_INV_RT.abstract`, functionParameter: [{ name: `formula.functionList.CHISQ_INV_RT.functionParameter.probability.name`, detail: `formula.functionList.CHISQ_INV_RT.functionParameter.probability.detail`, example: `0.93`, require: 1, repeat: 0 }, { name: `formula.functionList.CHISQ_INV_RT.functionParameter.degFreedom.name`, detail: `formula.functionList.CHISQ_INV_RT.functionParameter.degFreedom.detail`, example: `1`, require: 1, repeat: 0 }] }, { functionName: q3.CHISQ_TEST, functionType: Dt2.Statistical, description: `formula.functionList.CHISQ_TEST.description`, abstract: `formula.functionList.CHISQ_TEST.abstract`, functionParameter: [{ name: `formula.functionList.CHISQ_TEST.functionParameter.actualRange.name`, detail: `formula.functionList.CHISQ_TEST.functionParameter.actualRange.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.CHISQ_TEST.functionParameter.expectedRange.name`, detail: `formula.functionList.CHISQ_TEST.functionParameter.expectedRange.detail`, example: `B1:B4`, require: 1, repeat: 0 }] }, { functionName: q3.CONFIDENCE_NORM, functionType: Dt2.Statistical, description: `formula.functionList.CONFIDENCE_NORM.description`, abstract: `formula.functionList.CONFIDENCE_NORM.abstract`, functionParameter: [{ name: `formula.functionList.CONFIDENCE_NORM.functionParameter.alpha.name`, detail: `formula.functionList.CONFIDENCE_NORM.functionParameter.alpha.detail`, example: `0.05`, require: 1, repeat: 0 }, { name: `formula.functionList.CONFIDENCE_NORM.functionParameter.standardDev.name`, detail: `formula.functionList.CONFIDENCE_NORM.functionParameter.standardDev.detail`, example: `2.5`, require: 1, repeat: 0 }, { name: `formula.functionList.CONFIDENCE_NORM.functionParameter.size.name`, detail: `formula.functionList.CONFIDENCE_NORM.functionParameter.size.detail`, example: `50`, require: 1, repeat: 0 }] }, { functionName: q3.CONFIDENCE_T, functionType: Dt2.Statistical, description: `formula.functionList.CONFIDENCE_T.description`, abstract: `formula.functionList.CONFIDENCE_T.abstract`, functionParameter: [{ name: `formula.functionList.CONFIDENCE_T.functionParameter.alpha.name`, detail: `formula.functionList.CONFIDENCE_T.functionParameter.alpha.detail`, example: `0.05`, require: 1, repeat: 0 }, { name: `formula.functionList.CONFIDENCE_T.functionParameter.standardDev.name`, detail: `formula.functionList.CONFIDENCE_T.functionParameter.standardDev.detail`, example: `2.5`, require: 1, repeat: 0 }, { name: `formula.functionList.CONFIDENCE_T.functionParameter.size.name`, detail: `formula.functionList.CONFIDENCE_T.functionParameter.size.detail`, example: `50`, require: 1, repeat: 0 }] }, { functionName: q3.CORREL, functionType: Dt2.Statistical, description: `formula.functionList.CORREL.description`, abstract: `formula.functionList.CORREL.abstract`, functionParameter: [{ name: `formula.functionList.CORREL.functionParameter.array1.name`, detail: `formula.functionList.CORREL.functionParameter.array1.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.CORREL.functionParameter.array2.name`, detail: `formula.functionList.CORREL.functionParameter.array2.detail`, example: `B1:B4`, require: 1, repeat: 0 }] }, { functionName: q3.COUNT, aliasFunctionName: `formula.functionList.COUNT.aliasFunctionName`, functionType: Dt2.Statistical, description: `formula.functionList.COUNT.description`, abstract: `formula.functionList.COUNT.abstract`, functionParameter: [{ name: `formula.functionList.COUNT.functionParameter.value1.name`, detail: `formula.functionList.COUNT.functionParameter.value1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.COUNT.functionParameter.value2.name`, detail: `formula.functionList.COUNT.functionParameter.value2.detail`, example: `B2:B10`, require: 0, repeat: 1 }] }, { functionName: q3.COUNTA, aliasFunctionName: `formula.functionList.COUNTA.aliasFunctionName`, functionType: Dt2.Statistical, description: `formula.functionList.COUNTA.description`, abstract: `formula.functionList.COUNTA.abstract`, functionParameter: [{ name: `formula.functionList.COUNTA.functionParameter.number1.name`, detail: `formula.functionList.COUNTA.functionParameter.number1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.COUNTA.functionParameter.number2.name`, detail: `formula.functionList.COUNTA.functionParameter.number2.detail`, example: `B2:B10`, require: 0, repeat: 1 }] }, { functionName: q3.COUNTBLANK, functionType: Dt2.Statistical, description: `formula.functionList.COUNTBLANK.description`, abstract: `formula.functionList.COUNTBLANK.abstract`, functionParameter: [{ name: `formula.functionList.COUNTBLANK.functionParameter.range.name`, detail: `formula.functionList.COUNTBLANK.functionParameter.range.detail`, example: `A1:A20`, require: 1, repeat: 0 }] }, { functionName: q3.COUNTIF, functionType: Dt2.Statistical, description: `formula.functionList.COUNTIF.description`, abstract: `formula.functionList.COUNTIF.abstract`, functionParameter: [{ name: `formula.functionList.COUNTIF.functionParameter.range.name`, detail: `formula.functionList.COUNTIF.functionParameter.range.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.COUNTIF.functionParameter.criteria.name`, detail: `formula.functionList.COUNTIF.functionParameter.criteria.detail`, example: `">5"`, require: 1, repeat: 0 }] }, { functionName: q3.COUNTIFS, functionType: Dt2.Statistical, description: `formula.functionList.COUNTIFS.description`, abstract: `formula.functionList.COUNTIFS.abstract`, functionParameter: [{ name: `formula.functionList.COUNTIFS.functionParameter.criteriaRange1.name`, detail: `formula.functionList.COUNTIFS.functionParameter.criteriaRange1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.COUNTIFS.functionParameter.criteria1.name`, detail: `formula.functionList.COUNTIFS.functionParameter.criteria1.detail`, example: `">10"`, require: 1, repeat: 0 }, { name: `formula.functionList.COUNTIFS.functionParameter.criteriaRange2.name`, detail: `formula.functionList.COUNTIFS.functionParameter.criteriaRange2.detail`, example: `B1:B20`, require: 0, repeat: 1 }, { name: `formula.functionList.COUNTIFS.functionParameter.criteria2.name`, detail: `formula.functionList.COUNTIFS.functionParameter.criteria2.detail`, example: `"<20"`, require: 0, repeat: 1 }] }, { functionName: q3.COVARIANCE_P, functionType: Dt2.Statistical, description: `formula.functionList.COVARIANCE_P.description`, abstract: `formula.functionList.COVARIANCE_P.abstract`, functionParameter: [{ name: `formula.functionList.COVARIANCE_P.functionParameter.array1.name`, detail: `formula.functionList.COVARIANCE_P.functionParameter.array1.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.COVARIANCE_P.functionParameter.array2.name`, detail: `formula.functionList.COVARIANCE_P.functionParameter.array2.detail`, example: `B1:B4`, require: 1, repeat: 0 }] }, { functionName: q3.COVARIANCE_S, functionType: Dt2.Statistical, description: `formula.functionList.COVARIANCE_S.description`, abstract: `formula.functionList.COVARIANCE_S.abstract`, functionParameter: [{ name: `formula.functionList.COVARIANCE_S.functionParameter.array1.name`, detail: `formula.functionList.COVARIANCE_S.functionParameter.array1.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.COVARIANCE_S.functionParameter.array2.name`, detail: `formula.functionList.COVARIANCE_S.functionParameter.array2.detail`, example: `B1:B4`, require: 1, repeat: 0 }] }, { functionName: q3.DEVSQ, functionType: Dt2.Statistical, description: `formula.functionList.DEVSQ.description`, abstract: `formula.functionList.DEVSQ.abstract`, functionParameter: [{ name: `formula.functionList.DEVSQ.functionParameter.number1.name`, detail: `formula.functionList.DEVSQ.functionParameter.number1.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.DEVSQ.functionParameter.number2.name`, detail: `formula.functionList.DEVSQ.functionParameter.number2.detail`, example: `2`, require: 0, repeat: 1 }] }, { functionName: q3.EXPON_DIST, functionType: Dt2.Statistical, description: `formula.functionList.EXPON_DIST.description`, abstract: `formula.functionList.EXPON_DIST.abstract`, functionParameter: [{ name: `formula.functionList.EXPON_DIST.functionParameter.x.name`, detail: `formula.functionList.EXPON_DIST.functionParameter.x.detail`, example: `0.2`, require: 1, repeat: 0 }, { name: `formula.functionList.EXPON_DIST.functionParameter.lambda.name`, detail: `formula.functionList.EXPON_DIST.functionParameter.lambda.detail`, example: `10`, require: 1, repeat: 0 }, { name: `formula.functionList.EXPON_DIST.functionParameter.cumulative.name`, detail: `formula.functionList.EXPON_DIST.functionParameter.cumulative.detail`, example: `true`, require: 1, repeat: 0 }] }, { functionName: q3.F_DIST, functionType: Dt2.Statistical, description: `formula.functionList.F_DIST.description`, abstract: `formula.functionList.F_DIST.abstract`, functionParameter: [{ name: `formula.functionList.F_DIST.functionParameter.x.name`, detail: `formula.functionList.F_DIST.functionParameter.x.detail`, example: `15.2069`, require: 1, repeat: 0 }, { name: `formula.functionList.F_DIST.functionParameter.degFreedom1.name`, detail: `formula.functionList.F_DIST.functionParameter.degFreedom1.detail`, example: `6`, require: 1, repeat: 0 }, { name: `formula.functionList.F_DIST.functionParameter.degFreedom2.name`, detail: `formula.functionList.F_DIST.functionParameter.degFreedom2.detail`, example: `4`, require: 1, repeat: 0 }, { name: `formula.functionList.F_DIST.functionParameter.cumulative.name`, detail: `formula.functionList.F_DIST.functionParameter.cumulative.detail`, example: `true`, require: 1, repeat: 0 }] }, { functionName: q3.F_DIST_RT, functionType: Dt2.Statistical, description: `formula.functionList.F_DIST_RT.description`, abstract: `formula.functionList.F_DIST_RT.abstract`, functionParameter: [{ name: `formula.functionList.F_DIST_RT.functionParameter.x.name`, detail: `formula.functionList.F_DIST_RT.functionParameter.x.detail`, example: `15.2069`, require: 1, repeat: 0 }, { name: `formula.functionList.F_DIST_RT.functionParameter.degFreedom1.name`, detail: `formula.functionList.F_DIST_RT.functionParameter.degFreedom1.detail`, example: `6`, require: 1, repeat: 0 }, { name: `formula.functionList.F_DIST_RT.functionParameter.degFreedom2.name`, detail: `formula.functionList.F_DIST_RT.functionParameter.degFreedom2.detail`, example: `4`, require: 1, repeat: 0 }] }, { functionName: q3.F_INV, functionType: Dt2.Statistical, description: `formula.functionList.F_INV.description`, abstract: `formula.functionList.F_INV.abstract`, functionParameter: [{ name: `formula.functionList.F_INV.functionParameter.probability.name`, detail: `formula.functionList.F_INV.functionParameter.probability.detail`, example: `0.01`, require: 1, repeat: 0 }, { name: `formula.functionList.F_INV.functionParameter.degFreedom1.name`, detail: `formula.functionList.F_INV.functionParameter.degFreedom1.detail`, example: `6`, require: 1, repeat: 0 }, { name: `formula.functionList.F_INV.functionParameter.degFreedom2.name`, detail: `formula.functionList.F_INV.functionParameter.degFreedom2.detail`, example: `4`, require: 1, repeat: 0 }] }, { functionName: q3.F_INV_RT, functionType: Dt2.Statistical, description: `formula.functionList.F_INV_RT.description`, abstract: `formula.functionList.F_INV_RT.abstract`, functionParameter: [{ name: `formula.functionList.F_INV_RT.functionParameter.probability.name`, detail: `formula.functionList.F_INV_RT.functionParameter.probability.detail`, example: `0.01`, require: 1, repeat: 0 }, { name: `formula.functionList.F_INV_RT.functionParameter.degFreedom1.name`, detail: `formula.functionList.F_INV_RT.functionParameter.degFreedom1.detail`, example: `6`, require: 1, repeat: 0 }, { name: `formula.functionList.F_INV_RT.functionParameter.degFreedom2.name`, detail: `formula.functionList.F_INV_RT.functionParameter.degFreedom2.detail`, example: `4`, require: 1, repeat: 0 }] }, { functionName: q3.F_TEST, functionType: Dt2.Statistical, description: `formula.functionList.F_TEST.description`, abstract: `formula.functionList.F_TEST.abstract`, functionParameter: [{ name: `formula.functionList.F_TEST.functionParameter.array1.name`, detail: `formula.functionList.F_TEST.functionParameter.array1.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.F_TEST.functionParameter.array2.name`, detail: `formula.functionList.F_TEST.functionParameter.array2.detail`, example: `B1:B4`, require: 1, repeat: 0 }] }, { functionName: q3.FISHER, functionType: Dt2.Statistical, description: `formula.functionList.FISHER.description`, abstract: `formula.functionList.FISHER.abstract`, functionParameter: [{ name: `formula.functionList.FISHER.functionParameter.x.name`, detail: `formula.functionList.FISHER.functionParameter.x.detail`, example: `0.75`, require: 1, repeat: 0 }] }, { functionName: q3.FISHERINV, functionType: Dt2.Statistical, description: `formula.functionList.FISHERINV.description`, abstract: `formula.functionList.FISHERINV.abstract`, functionParameter: [{ name: `formula.functionList.FISHERINV.functionParameter.y.name`, detail: `formula.functionList.FISHERINV.functionParameter.y.detail`, example: `0.75`, require: 1, repeat: 0 }] }, { functionName: q3.FORECAST, functionType: Dt2.Statistical, description: `formula.functionList.FORECAST.description`, abstract: `formula.functionList.FORECAST.abstract`, functionParameter: [{ name: `formula.functionList.FORECAST.functionParameter.x.name`, detail: `formula.functionList.FORECAST.functionParameter.x.detail`, example: `30`, require: 1, repeat: 0 }, { name: `formula.functionList.FORECAST.functionParameter.knownYs.name`, detail: `formula.functionList.FORECAST.functionParameter.knownYs.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.FORECAST.functionParameter.knownXs.name`, detail: `formula.functionList.FORECAST.functionParameter.knownXs.detail`, example: `B1:B4`, require: 1, repeat: 0 }] }, { functionName: q3.FORECAST_ETS, functionType: Dt2.Statistical, description: `formula.functionList.FORECAST_ETS.description`, abstract: `formula.functionList.FORECAST_ETS.abstract`, functionParameter: [{ name: `formula.functionList.FORECAST_ETS.functionParameter.number1.name`, detail: `formula.functionList.FORECAST_ETS.functionParameter.number1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.FORECAST_ETS.functionParameter.number2.name`, detail: `formula.functionList.FORECAST_ETS.functionParameter.number2.detail`, example: `A1:A20`, require: 1, repeat: 0 }] }, { functionName: q3.FORECAST_ETS_CONFINT, functionType: Dt2.Statistical, description: `formula.functionList.FORECAST_ETS_CONFINT.description`, abstract: `formula.functionList.FORECAST_ETS_CONFINT.abstract`, functionParameter: [{ name: `formula.functionList.FORECAST_ETS_CONFINT.functionParameter.number1.name`, detail: `formula.functionList.FORECAST_ETS_CONFINT.functionParameter.number1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.FORECAST_ETS_CONFINT.functionParameter.number2.name`, detail: `formula.functionList.FORECAST_ETS_CONFINT.functionParameter.number2.detail`, example: `A1:A20`, require: 1, repeat: 0 }] }, { functionName: q3.FORECAST_ETS_SEASONALITY, functionType: Dt2.Statistical, description: `formula.functionList.FORECAST_ETS_SEASONALITY.description`, abstract: `formula.functionList.FORECAST_ETS_SEASONALITY.abstract`, functionParameter: [{ name: `formula.functionList.FORECAST_ETS_SEASONALITY.functionParameter.number1.name`, detail: `formula.functionList.FORECAST_ETS_SEASONALITY.functionParameter.number1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.FORECAST_ETS_SEASONALITY.functionParameter.number2.name`, detail: `formula.functionList.FORECAST_ETS_SEASONALITY.functionParameter.number2.detail`, example: `A1:A20`, require: 1, repeat: 0 }] }, { functionName: q3.FORECAST_ETS_STAT, functionType: Dt2.Statistical, description: `formula.functionList.FORECAST_ETS_STAT.description`, abstract: `formula.functionList.FORECAST_ETS_STAT.abstract`, functionParameter: [{ name: `formula.functionList.FORECAST_ETS_STAT.functionParameter.number1.name`, detail: `formula.functionList.FORECAST_ETS_STAT.functionParameter.number1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.FORECAST_ETS_STAT.functionParameter.number2.name`, detail: `formula.functionList.FORECAST_ETS_STAT.functionParameter.number2.detail`, example: `A1:A20`, require: 1, repeat: 0 }] }, { functionName: q3.FORECAST_LINEAR, functionType: Dt2.Statistical, description: `formula.functionList.FORECAST_LINEAR.description`, abstract: `formula.functionList.FORECAST_LINEAR.abstract`, functionParameter: [{ name: `formula.functionList.FORECAST_LINEAR.functionParameter.x.name`, detail: `formula.functionList.FORECAST_LINEAR.functionParameter.x.detail`, example: `30`, require: 1, repeat: 0 }, { name: `formula.functionList.FORECAST_LINEAR.functionParameter.knownYs.name`, detail: `formula.functionList.FORECAST_LINEAR.functionParameter.knownYs.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.FORECAST_LINEAR.functionParameter.knownXs.name`, detail: `formula.functionList.FORECAST_LINEAR.functionParameter.knownXs.detail`, example: `B1:B4`, require: 1, repeat: 0 }] }, { functionName: q3.FREQUENCY, functionType: Dt2.Statistical, description: `formula.functionList.FREQUENCY.description`, abstract: `formula.functionList.FREQUENCY.abstract`, functionParameter: [{ name: `formula.functionList.FREQUENCY.functionParameter.dataArray.name`, detail: `formula.functionList.FREQUENCY.functionParameter.dataArray.detail`, example: `A2:A10`, require: 1, repeat: 0 }, { name: `formula.functionList.FREQUENCY.functionParameter.binsArray.name`, detail: `formula.functionList.FREQUENCY.functionParameter.binsArray.detail`, example: `B2:B4`, require: 1, repeat: 0 }] }, { functionName: q3.GAMMA, functionType: Dt2.Statistical, description: `formula.functionList.GAMMA.description`, abstract: `formula.functionList.GAMMA.abstract`, functionParameter: [{ name: `formula.functionList.GAMMA.functionParameter.number.name`, detail: `formula.functionList.GAMMA.functionParameter.number.detail`, example: `2.5`, require: 1, repeat: 0 }] }, { functionName: q3.GAMMA_DIST, functionType: Dt2.Statistical, description: `formula.functionList.GAMMA_DIST.description`, abstract: `formula.functionList.GAMMA_DIST.abstract`, functionParameter: [{ name: `formula.functionList.GAMMA_DIST.functionParameter.x.name`, detail: `formula.functionList.GAMMA_DIST.functionParameter.x.detail`, example: `10`, require: 1, repeat: 0 }, { name: `formula.functionList.GAMMA_DIST.functionParameter.alpha.name`, detail: `formula.functionList.GAMMA_DIST.functionParameter.alpha.detail`, example: `8`, require: 1, repeat: 0 }, { name: `formula.functionList.GAMMA_DIST.functionParameter.beta.name`, detail: `formula.functionList.GAMMA_DIST.functionParameter.beta.detail`, example: `2`, require: 1, repeat: 0 }, { name: `formula.functionList.GAMMA_DIST.functionParameter.cumulative.name`, detail: `formula.functionList.GAMMA_DIST.functionParameter.cumulative.detail`, example: `true`, require: 1, repeat: 0 }] }, { functionName: q3.GAMMA_INV, functionType: Dt2.Statistical, description: `formula.functionList.GAMMA_INV.description`, abstract: `formula.functionList.GAMMA_INV.abstract`, functionParameter: [{ name: `formula.functionList.GAMMA_INV.functionParameter.probability.name`, detail: `formula.functionList.GAMMA_INV.functionParameter.probability.detail`, example: `0.068094`, require: 1, repeat: 0 }, { name: `formula.functionList.GAMMA_INV.functionParameter.alpha.name`, detail: `formula.functionList.GAMMA_INV.functionParameter.alpha.detail`, example: `9`, require: 1, repeat: 0 }, { name: `formula.functionList.GAMMA_INV.functionParameter.beta.name`, detail: `formula.functionList.GAMMA_INV.functionParameter.beta.detail`, example: `2`, require: 1, repeat: 0 }] }, { functionName: q3.GAMMALN, functionType: Dt2.Statistical, description: `formula.functionList.GAMMALN.description`, abstract: `formula.functionList.GAMMALN.abstract`, functionParameter: [{ name: `formula.functionList.GAMMALN.functionParameter.x.name`, detail: `formula.functionList.GAMMALN.functionParameter.x.detail`, example: `4`, require: 1, repeat: 0 }] }, { functionName: q3.GAMMALN_PRECISE, functionType: Dt2.Statistical, description: `formula.functionList.GAMMALN_PRECISE.description`, abstract: `formula.functionList.GAMMALN_PRECISE.abstract`, functionParameter: [{ name: `formula.functionList.GAMMALN_PRECISE.functionParameter.x.name`, detail: `formula.functionList.GAMMALN_PRECISE.functionParameter.x.detail`, example: `4`, require: 1, repeat: 0 }] }, { functionName: q3.GAUSS, functionType: Dt2.Statistical, description: `formula.functionList.GAUSS.description`, abstract: `formula.functionList.GAUSS.abstract`, functionParameter: [{ name: `formula.functionList.GAUSS.functionParameter.z.name`, detail: `formula.functionList.GAUSS.functionParameter.z.detail`, example: `2`, require: 1, repeat: 0 }] }, { functionName: q3.GEOMEAN, functionType: Dt2.Statistical, description: `formula.functionList.GEOMEAN.description`, abstract: `formula.functionList.GEOMEAN.abstract`, functionParameter: [{ name: `formula.functionList.GEOMEAN.functionParameter.number1.name`, detail: `formula.functionList.GEOMEAN.functionParameter.number1.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.GEOMEAN.functionParameter.number2.name`, detail: `formula.functionList.GEOMEAN.functionParameter.number2.detail`, example: `2`, require: 0, repeat: 1 }] }, { functionName: q3.GROWTH, functionType: Dt2.Statistical, description: `formula.functionList.GROWTH.description`, abstract: `formula.functionList.GROWTH.abstract`, functionParameter: [{ name: `formula.functionList.GROWTH.functionParameter.knownYs.name`, detail: `formula.functionList.GROWTH.functionParameter.knownYs.detail`, example: `B2:B7`, require: 1, repeat: 0 }, { name: `formula.functionList.GROWTH.functionParameter.knownXs.name`, detail: `formula.functionList.GROWTH.functionParameter.knownXs.detail`, example: `A2:A7`, require: 0, repeat: 0 }, { name: `formula.functionList.GROWTH.functionParameter.newXs.name`, detail: `formula.functionList.GROWTH.functionParameter.newXs.detail`, example: `A9:A10`, require: 0, repeat: 0 }, { name: `formula.functionList.GROWTH.functionParameter.constb.name`, detail: `formula.functionList.GROWTH.functionParameter.constb.detail`, example: `true`, require: 0, repeat: 0 }] }, { functionName: q3.HARMEAN, functionType: Dt2.Statistical, description: `formula.functionList.HARMEAN.description`, abstract: `formula.functionList.HARMEAN.abstract`, functionParameter: [{ name: `formula.functionList.HARMEAN.functionParameter.number1.name`, detail: `formula.functionList.HARMEAN.functionParameter.number1.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.HARMEAN.functionParameter.number2.name`, detail: `formula.functionList.HARMEAN.functionParameter.number2.detail`, example: `2`, require: 0, repeat: 1 }] }, { functionName: q3.HYPGEOM_DIST, functionType: Dt2.Statistical, description: `formula.functionList.HYPGEOM_DIST.description`, abstract: `formula.functionList.HYPGEOM_DIST.abstract`, functionParameter: [{ name: `formula.functionList.HYPGEOM_DIST.functionParameter.sampleS.name`, detail: `formula.functionList.HYPGEOM_DIST.functionParameter.sampleS.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.HYPGEOM_DIST.functionParameter.numberSample.name`, detail: `formula.functionList.HYPGEOM_DIST.functionParameter.numberSample.detail`, example: `4`, require: 1, repeat: 0 }, { name: `formula.functionList.HYPGEOM_DIST.functionParameter.populationS.name`, detail: `formula.functionList.HYPGEOM_DIST.functionParameter.populationS.detail`, example: `8`, require: 1, repeat: 0 }, { name: `formula.functionList.HYPGEOM_DIST.functionParameter.numberPop.name`, detail: `formula.functionList.HYPGEOM_DIST.functionParameter.numberPop.detail`, example: `20`, require: 1, repeat: 0 }, { name: `formula.functionList.HYPGEOM_DIST.functionParameter.cumulative.name`, detail: `formula.functionList.HYPGEOM_DIST.functionParameter.cumulative.detail`, example: `true`, require: 1, repeat: 0 }] }, { functionName: q3.INTERCEPT, functionType: Dt2.Statistical, description: `formula.functionList.INTERCEPT.description`, abstract: `formula.functionList.INTERCEPT.abstract`, functionParameter: [{ name: `formula.functionList.INTERCEPT.functionParameter.knownYs.name`, detail: `formula.functionList.INTERCEPT.functionParameter.knownYs.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.INTERCEPT.functionParameter.knownXs.name`, detail: `formula.functionList.INTERCEPT.functionParameter.knownXs.detail`, example: `B1:B4`, require: 1, repeat: 0 }] }, { functionName: q3.KURT, functionType: Dt2.Statistical, description: `formula.functionList.KURT.description`, abstract: `formula.functionList.KURT.abstract`, functionParameter: [{ name: `formula.functionList.KURT.functionParameter.number1.name`, detail: `formula.functionList.KURT.functionParameter.number1.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.KURT.functionParameter.number2.name`, detail: `formula.functionList.KURT.functionParameter.number2.detail`, example: `4`, require: 0, repeat: 1 }] }, { functionName: q3.LARGE, functionType: Dt2.Statistical, description: `formula.functionList.LARGE.description`, abstract: `formula.functionList.LARGE.abstract`, functionParameter: [{ name: `formula.functionList.LARGE.functionParameter.array.name`, detail: `formula.functionList.LARGE.functionParameter.array.detail`, example: `A2:B6`, require: 1, repeat: 0 }, { name: `formula.functionList.LARGE.functionParameter.k.name`, detail: `formula.functionList.LARGE.functionParameter.k.detail`, example: `3`, require: 1, repeat: 0 }] }, { functionName: q3.LINEST, functionType: Dt2.Statistical, description: `formula.functionList.LINEST.description`, abstract: `formula.functionList.LINEST.abstract`, functionParameter: [{ name: `formula.functionList.LINEST.functionParameter.knownYs.name`, detail: `formula.functionList.LINEST.functionParameter.knownYs.detail`, example: `B2:B7`, require: 1, repeat: 0 }, { name: `formula.functionList.LINEST.functionParameter.knownXs.name`, detail: `formula.functionList.LINEST.functionParameter.knownXs.detail`, example: `A2:A7`, require: 0, repeat: 0 }, { name: `formula.functionList.LINEST.functionParameter.constb.name`, detail: `formula.functionList.LINEST.functionParameter.constb.detail`, example: `true`, require: 0, repeat: 0 }, { name: `formula.functionList.LINEST.functionParameter.stats.name`, detail: `formula.functionList.LINEST.functionParameter.stats.detail`, example: `true`, require: 0, repeat: 0 }] }, { functionName: q3.LOGEST, functionType: Dt2.Statistical, description: `formula.functionList.LOGEST.description`, abstract: `formula.functionList.LOGEST.abstract`, functionParameter: [{ name: `formula.functionList.LOGEST.functionParameter.knownYs.name`, detail: `formula.functionList.LOGEST.functionParameter.knownYs.detail`, example: `B2:B7`, require: 1, repeat: 0 }, { name: `formula.functionList.LOGEST.functionParameter.knownXs.name`, detail: `formula.functionList.LOGEST.functionParameter.knownXs.detail`, example: `A2:A7`, require: 0, repeat: 0 }, { name: `formula.functionList.LOGEST.functionParameter.constb.name`, detail: `formula.functionList.LOGEST.functionParameter.constb.detail`, example: `true`, require: 0, repeat: 0 }, { name: `formula.functionList.LOGEST.functionParameter.stats.name`, detail: `formula.functionList.LOGEST.functionParameter.stats.detail`, example: `true`, require: 0, repeat: 0 }] }, { functionName: q3.LOGNORM_DIST, functionType: Dt2.Statistical, description: `formula.functionList.LOGNORM_DIST.description`, abstract: `formula.functionList.LOGNORM_DIST.abstract`, functionParameter: [{ name: `formula.functionList.LOGNORM_DIST.functionParameter.x.name`, detail: `formula.functionList.LOGNORM_DIST.functionParameter.x.detail`, example: `42`, require: 1, repeat: 0 }, { name: `formula.functionList.LOGNORM_DIST.functionParameter.mean.name`, detail: `formula.functionList.LOGNORM_DIST.functionParameter.mean.detail`, example: `40`, require: 1, repeat: 0 }, { name: `formula.functionList.LOGNORM_DIST.functionParameter.standardDev.name`, detail: `formula.functionList.LOGNORM_DIST.functionParameter.standardDev.detail`, example: `1.5`, require: 1, repeat: 0 }, { name: `formula.functionList.LOGNORM_DIST.functionParameter.cumulative.name`, detail: `formula.functionList.LOGNORM_DIST.functionParameter.cumulative.detail`, example: `true`, require: 1, repeat: 0 }] }, { functionName: q3.LOGNORM_INV, functionType: Dt2.Statistical, description: `formula.functionList.LOGNORM_INV.description`, abstract: `formula.functionList.LOGNORM_INV.abstract`, functionParameter: [{ name: `formula.functionList.LOGNORM_INV.functionParameter.probability.name`, detail: `formula.functionList.LOGNORM_INV.functionParameter.probability.detail`, example: `0.908789`, require: 1, repeat: 0 }, { name: `formula.functionList.LOGNORM_INV.functionParameter.mean.name`, detail: `formula.functionList.LOGNORM_INV.functionParameter.mean.detail`, example: `40`, require: 1, repeat: 0 }, { name: `formula.functionList.LOGNORM_INV.functionParameter.standardDev.name`, detail: `formula.functionList.LOGNORM_INV.functionParameter.standardDev.detail`, example: `1.5`, require: 1, repeat: 0 }] }, { functionName: q3.MARGINOFERROR, aliasFunctionName: `formula.functionList.MARGINOFERROR.aliasFunctionName`, functionType: Dt2.Statistical, description: `formula.functionList.MARGINOFERROR.description`, abstract: `formula.functionList.MARGINOFERROR.abstract`, functionParameter: [{ name: `formula.functionList.MARGINOFERROR.functionParameter.range.name`, detail: `formula.functionList.MARGINOFERROR.functionParameter.range.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.MARGINOFERROR.functionParameter.confidence.name`, detail: `formula.functionList.MARGINOFERROR.functionParameter.confidence.detail`, example: `0.95`, require: 1, repeat: 0 }] }, { functionName: q3.MAX, aliasFunctionName: `formula.functionList.MAX.aliasFunctionName`, functionType: Dt2.Statistical, description: `formula.functionList.MAX.description`, abstract: `formula.functionList.MAX.abstract`, functionParameter: [{ name: `formula.functionList.MAX.functionParameter.number1.name`, detail: `formula.functionList.MAX.functionParameter.number1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.MAX.functionParameter.number2.name`, detail: `formula.functionList.MAX.functionParameter.number2.detail`, example: `B2:B10`, require: 0, repeat: 1 }] }, { functionName: q3.MAXA, functionType: Dt2.Statistical, description: `formula.functionList.MAXA.description`, abstract: `formula.functionList.MAXA.abstract`, functionParameter: [{ name: `formula.functionList.MAXA.functionParameter.value1.name`, detail: `formula.functionList.MAXA.functionParameter.value1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.MAXA.functionParameter.value2.name`, detail: `formula.functionList.MAXA.functionParameter.value2.detail`, example: `B1:B20`, require: 0, repeat: 1 }] }, { functionName: q3.MAXIFS, functionType: Dt2.Statistical, description: `formula.functionList.MAXIFS.description`, abstract: `formula.functionList.MAXIFS.abstract`, functionParameter: [{ name: `formula.functionList.MAXIFS.functionParameter.maxRange.name`, detail: `formula.functionList.MAXIFS.functionParameter.maxRange.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.MAXIFS.functionParameter.criteriaRange1.name`, detail: `formula.functionList.MAXIFS.functionParameter.criteriaRange1.detail`, example: `B1:B20`, require: 1, repeat: 0 }, { name: `formula.functionList.MAXIFS.functionParameter.criteria1.name`, detail: `formula.functionList.MAXIFS.functionParameter.criteria1.detail`, example: `">10"`, require: 1, repeat: 0 }, { name: `formula.functionList.MAXIFS.functionParameter.criteriaRange2.name`, detail: `formula.functionList.MAXIFS.functionParameter.criteriaRange2.detail`, example: `C1:C20`, require: 0, repeat: 1 }, { name: `formula.functionList.MAXIFS.functionParameter.criteria2.name`, detail: `formula.functionList.MAXIFS.functionParameter.criteria2.detail`, example: `"<20"`, require: 0, repeat: 1 }] }, { functionName: q3.MEDIAN, functionType: Dt2.Statistical, description: `formula.functionList.MEDIAN.description`, abstract: `formula.functionList.MEDIAN.abstract`, functionParameter: [{ name: `formula.functionList.MEDIAN.functionParameter.number1.name`, detail: `formula.functionList.MEDIAN.functionParameter.number1.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.MEDIAN.functionParameter.number2.name`, detail: `formula.functionList.MEDIAN.functionParameter.number2.detail`, example: `2`, require: 0, repeat: 1 }] }, { functionName: q3.MIN, aliasFunctionName: `formula.functionList.MIN.aliasFunctionName`, functionType: Dt2.Statistical, description: `formula.functionList.MIN.description`, abstract: `formula.functionList.MIN.abstract`, functionParameter: [{ name: `formula.functionList.MIN.functionParameter.number1.name`, detail: `formula.functionList.MIN.functionParameter.number1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.MIN.functionParameter.number2.name`, detail: `formula.functionList.MIN.functionParameter.number2.detail`, example: `B2:B10`, require: 0, repeat: 1 }] }, { functionName: q3.MINA, functionType: Dt2.Statistical, description: `formula.functionList.MINA.description`, abstract: `formula.functionList.MINA.abstract`, functionParameter: [{ name: `formula.functionList.MINA.functionParameter.value1.name`, detail: `formula.functionList.MINA.functionParameter.value1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.MINA.functionParameter.value2.name`, detail: `formula.functionList.MINA.functionParameter.value2.detail`, example: `B1:B20`, require: 0, repeat: 1 }] }, { functionName: q3.MINIFS, functionType: Dt2.Statistical, description: `formula.functionList.MINIFS.description`, abstract: `formula.functionList.MINIFS.abstract`, functionParameter: [{ name: `formula.functionList.MINIFS.functionParameter.minRange.name`, detail: `formula.functionList.MINIFS.functionParameter.minRange.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.MINIFS.functionParameter.criteriaRange1.name`, detail: `formula.functionList.MINIFS.functionParameter.criteriaRange1.detail`, example: `B1:B20`, require: 1, repeat: 0 }, { name: `formula.functionList.MINIFS.functionParameter.criteria1.name`, detail: `formula.functionList.MINIFS.functionParameter.criteria1.detail`, example: `">10"`, require: 1, repeat: 0 }, { name: `formula.functionList.MINIFS.functionParameter.criteriaRange2.name`, detail: `formula.functionList.MINIFS.functionParameter.criteriaRange2.detail`, example: `C1:C20`, require: 0, repeat: 1 }, { name: `formula.functionList.MINIFS.functionParameter.criteria2.name`, detail: `formula.functionList.MINIFS.functionParameter.criteria2.detail`, example: `"<20"`, require: 0, repeat: 1 }] }, { functionName: q3.MODE_MULT, functionType: Dt2.Statistical, description: `formula.functionList.MODE_MULT.description`, abstract: `formula.functionList.MODE_MULT.abstract`, functionParameter: [{ name: `formula.functionList.MODE_MULT.functionParameter.number1.name`, detail: `formula.functionList.MODE_MULT.functionParameter.number1.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.MODE_MULT.functionParameter.number2.name`, detail: `formula.functionList.MODE_MULT.functionParameter.number2.detail`, example: `2`, require: 0, repeat: 1 }] }, { functionName: q3.MODE_SNGL, functionType: Dt2.Statistical, description: `formula.functionList.MODE_SNGL.description`, abstract: `formula.functionList.MODE_SNGL.abstract`, functionParameter: [{ name: `formula.functionList.MODE_SNGL.functionParameter.number1.name`, detail: `formula.functionList.MODE_SNGL.functionParameter.number1.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.MODE_SNGL.functionParameter.number2.name`, detail: `formula.functionList.MODE_SNGL.functionParameter.number2.detail`, example: `2`, require: 0, repeat: 1 }] }, { functionName: q3.NEGBINOM_DIST, functionType: Dt2.Statistical, description: `formula.functionList.NEGBINOM_DIST.description`, abstract: `formula.functionList.NEGBINOM_DIST.abstract`, functionParameter: [{ name: `formula.functionList.NEGBINOM_DIST.functionParameter.numberF.name`, detail: `formula.functionList.NEGBINOM_DIST.functionParameter.numberF.detail`, example: `10`, require: 1, repeat: 0 }, { name: `formula.functionList.NEGBINOM_DIST.functionParameter.numberS.name`, detail: `formula.functionList.NEGBINOM_DIST.functionParameter.numberS.detail`, example: `5`, require: 1, repeat: 0 }, { name: `formula.functionList.NEGBINOM_DIST.functionParameter.probabilityS.name`, detail: `formula.functionList.NEGBINOM_DIST.functionParameter.probabilityS.detail`, example: `0.25`, require: 1, repeat: 0 }, { name: `formula.functionList.NEGBINOM_DIST.functionParameter.cumulative.name`, detail: `formula.functionList.NEGBINOM_DIST.functionParameter.cumulative.detail`, example: `true`, require: 1, repeat: 0 }] }, { functionName: q3.NORM_DIST, functionType: Dt2.Statistical, description: `formula.functionList.NORM_DIST.description`, abstract: `formula.functionList.NORM_DIST.abstract`, functionParameter: [{ name: `formula.functionList.NORM_DIST.functionParameter.x.name`, detail: `formula.functionList.NORM_DIST.functionParameter.x.detail`, example: `42`, require: 1, repeat: 0 }, { name: `formula.functionList.NORM_DIST.functionParameter.mean.name`, detail: `formula.functionList.NORM_DIST.functionParameter.mean.detail`, example: `40`, require: 1, repeat: 0 }, { name: `formula.functionList.NORM_DIST.functionParameter.standardDev.name`, detail: `formula.functionList.NORM_DIST.functionParameter.standardDev.detail`, example: `1.5`, require: 1, repeat: 0 }, { name: `formula.functionList.NORM_DIST.functionParameter.cumulative.name`, detail: `formula.functionList.NORM_DIST.functionParameter.cumulative.detail`, example: `true`, require: 1, repeat: 0 }] }, { functionName: q3.NORM_INV, functionType: Dt2.Statistical, description: `formula.functionList.NORM_INV.description`, abstract: `formula.functionList.NORM_INV.abstract`, functionParameter: [{ name: `formula.functionList.NORM_INV.functionParameter.probability.name`, detail: `formula.functionList.NORM_INV.functionParameter.probability.detail`, example: `0.908789`, require: 1, repeat: 0 }, { name: `formula.functionList.NORM_INV.functionParameter.mean.name`, detail: `formula.functionList.NORM_INV.functionParameter.mean.detail`, example: `40`, require: 1, repeat: 0 }, { name: `formula.functionList.NORM_INV.functionParameter.standardDev.name`, detail: `formula.functionList.NORM_INV.functionParameter.standardDev.detail`, example: `1.5`, require: 1, repeat: 0 }] }, { functionName: q3.NORM_S_DIST, functionType: Dt2.Statistical, description: `formula.functionList.NORM_S_DIST.description`, abstract: `formula.functionList.NORM_S_DIST.abstract`, functionParameter: [{ name: `formula.functionList.NORM_S_DIST.functionParameter.z.name`, detail: `formula.functionList.NORM_S_DIST.functionParameter.z.detail`, example: `1.333333`, require: 1, repeat: 0 }, { name: `formula.functionList.NORM_S_DIST.functionParameter.cumulative.name`, detail: `formula.functionList.NORM_S_DIST.functionParameter.cumulative.detail`, example: `true`, require: 1, repeat: 0 }] }, { functionName: q3.NORM_S_INV, functionType: Dt2.Statistical, description: `formula.functionList.NORM_S_INV.description`, abstract: `formula.functionList.NORM_S_INV.abstract`, functionParameter: [{ name: `formula.functionList.NORM_S_INV.functionParameter.probability.name`, detail: `formula.functionList.NORM_S_INV.functionParameter.probability.detail`, example: `0.908789`, require: 1, repeat: 0 }] }, { functionName: q3.PEARSON, functionType: Dt2.Statistical, description: `formula.functionList.PEARSON.description`, abstract: `formula.functionList.PEARSON.abstract`, functionParameter: [{ name: `formula.functionList.PEARSON.functionParameter.array1.name`, detail: `formula.functionList.PEARSON.functionParameter.array1.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.PEARSON.functionParameter.array2.name`, detail: `formula.functionList.PEARSON.functionParameter.array2.detail`, example: `B1:B4`, require: 1, repeat: 0 }] }, { functionName: q3.PERCENTILE_EXC, functionType: Dt2.Statistical, description: `formula.functionList.PERCENTILE_EXC.description`, abstract: `formula.functionList.PERCENTILE_EXC.abstract`, functionParameter: [{ name: `formula.functionList.PERCENTILE_EXC.functionParameter.array.name`, detail: `formula.functionList.PERCENTILE_EXC.functionParameter.array.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.PERCENTILE_EXC.functionParameter.k.name`, detail: `formula.functionList.PERCENTILE_EXC.functionParameter.k.detail`, example: `0.3`, require: 1, repeat: 0 }] }, { functionName: q3.PERCENTILE_INC, functionType: Dt2.Statistical, description: `formula.functionList.PERCENTILE_INC.description`, abstract: `formula.functionList.PERCENTILE_INC.abstract`, functionParameter: [{ name: `formula.functionList.PERCENTILE_INC.functionParameter.array.name`, detail: `formula.functionList.PERCENTILE_INC.functionParameter.array.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.PERCENTILE_INC.functionParameter.k.name`, detail: `formula.functionList.PERCENTILE_INC.functionParameter.k.detail`, example: `0.3`, require: 1, repeat: 0 }] }, { functionName: q3.PERCENTRANK_EXC, functionType: Dt2.Statistical, description: `formula.functionList.PERCENTRANK_EXC.description`, abstract: `formula.functionList.PERCENTRANK_EXC.abstract`, functionParameter: [{ name: `formula.functionList.PERCENTRANK_EXC.functionParameter.array.name`, detail: `formula.functionList.PERCENTRANK_EXC.functionParameter.array.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.PERCENTRANK_EXC.functionParameter.x.name`, detail: `formula.functionList.PERCENTRANK_EXC.functionParameter.x.detail`, example: `1.5`, require: 1, repeat: 0 }, { name: `formula.functionList.PERCENTRANK_EXC.functionParameter.significance.name`, detail: `formula.functionList.PERCENTRANK_EXC.functionParameter.significance.detail`, example: `3`, require: 0, repeat: 0 }] }, { functionName: q3.PERCENTRANK_INC, functionType: Dt2.Statistical, description: `formula.functionList.PERCENTRANK_INC.description`, abstract: `formula.functionList.PERCENTRANK_INC.abstract`, functionParameter: [{ name: `formula.functionList.PERCENTRANK_INC.functionParameter.array.name`, detail: `formula.functionList.PERCENTRANK_INC.functionParameter.array.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.PERCENTRANK_INC.functionParameter.x.name`, detail: `formula.functionList.PERCENTRANK_INC.functionParameter.x.detail`, example: `1.5`, require: 1, repeat: 0 }, { name: `formula.functionList.PERCENTRANK_INC.functionParameter.significance.name`, detail: `formula.functionList.PERCENTRANK_INC.functionParameter.significance.detail`, example: `3`, require: 0, repeat: 0 }] }, { functionName: q3.PERMUT, functionType: Dt2.Statistical, description: `formula.functionList.PERMUT.description`, abstract: `formula.functionList.PERMUT.abstract`, functionParameter: [{ name: `formula.functionList.PERMUT.functionParameter.number.name`, detail: `formula.functionList.PERMUT.functionParameter.number.detail`, example: `8`, require: 1, repeat: 0 }, { name: `formula.functionList.PERMUT.functionParameter.numberChosen.name`, detail: `formula.functionList.PERMUT.functionParameter.numberChosen.detail`, example: `2`, require: 1, repeat: 0 }] }, { functionName: q3.PERMUTATIONA, functionType: Dt2.Statistical, description: `formula.functionList.PERMUTATIONA.description`, abstract: `formula.functionList.PERMUTATIONA.abstract`, functionParameter: [{ name: `formula.functionList.PERMUT.functionParameter.number.name`, detail: `formula.functionList.PERMUT.functionParameter.number.detail`, example: `8`, require: 1, repeat: 0 }, { name: `formula.functionList.PERMUT.functionParameter.numberChosen.name`, detail: `formula.functionList.PERMUT.functionParameter.numberChosen.detail`, example: `2`, require: 1, repeat: 0 }] }, { functionName: q3.PHI, functionType: Dt2.Statistical, description: `formula.functionList.PHI.description`, abstract: `formula.functionList.PHI.abstract`, functionParameter: [{ name: `formula.functionList.PHI.functionParameter.x.name`, detail: `formula.functionList.PHI.functionParameter.x.detail`, example: `0.75`, require: 1, repeat: 0 }] }, { functionName: q3.POISSON_DIST, functionType: Dt2.Statistical, description: `formula.functionList.POISSON_DIST.description`, abstract: `formula.functionList.POISSON_DIST.abstract`, functionParameter: [{ name: `formula.functionList.POISSON_DIST.functionParameter.x.name`, detail: `formula.functionList.POISSON_DIST.functionParameter.x.detail`, example: `2`, require: 1, repeat: 0 }, { name: `formula.functionList.POISSON_DIST.functionParameter.mean.name`, detail: `formula.functionList.POISSON_DIST.functionParameter.mean.detail`, example: `5`, require: 1, repeat: 0 }, { name: `formula.functionList.POISSON_DIST.functionParameter.cumulative.name`, detail: `formula.functionList.POISSON_DIST.functionParameter.cumulative.detail`, example: `true`, require: 1, repeat: 0 }] }, { functionName: q3.PROB, functionType: Dt2.Statistical, description: `formula.functionList.PROB.description`, abstract: `formula.functionList.PROB.abstract`, functionParameter: [{ name: `formula.functionList.PROB.functionParameter.xRange.name`, detail: `formula.functionList.PROB.functionParameter.xRange.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.PROB.functionParameter.probRange.name`, detail: `formula.functionList.PROB.functionParameter.probRange.detail`, example: `B1:B4`, require: 1, repeat: 0 }, { name: `formula.functionList.PROB.functionParameter.lowerLimit.name`, detail: `formula.functionList.PROB.functionParameter.lowerLimit.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.PROB.functionParameter.upperLimit.name`, detail: `formula.functionList.PROB.functionParameter.upperLimit.detail`, example: `3`, require: 0, repeat: 0 }] }, { functionName: q3.QUARTILE_EXC, functionType: Dt2.Statistical, description: `formula.functionList.QUARTILE_EXC.description`, abstract: `formula.functionList.QUARTILE_EXC.abstract`, functionParameter: [{ name: `formula.functionList.QUARTILE_EXC.functionParameter.array.name`, detail: `formula.functionList.QUARTILE_EXC.functionParameter.array.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.QUARTILE_EXC.functionParameter.quart.name`, detail: `formula.functionList.QUARTILE_EXC.functionParameter.quart.detail`, example: `1`, require: 1, repeat: 0 }] }, { functionName: q3.QUARTILE_INC, functionType: Dt2.Statistical, description: `formula.functionList.QUARTILE_INC.description`, abstract: `formula.functionList.QUARTILE_INC.abstract`, functionParameter: [{ name: `formula.functionList.QUARTILE_INC.functionParameter.array.name`, detail: `formula.functionList.QUARTILE_INC.functionParameter.array.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.QUARTILE_INC.functionParameter.quart.name`, detail: `formula.functionList.QUARTILE_INC.functionParameter.quart.detail`, example: `1`, require: 1, repeat: 0 }] }, { functionName: q3.RANK_AVG, functionType: Dt2.Statistical, description: `formula.functionList.RANK_AVG.description`, abstract: `formula.functionList.RANK_AVG.abstract`, functionParameter: [{ name: `formula.functionList.RANK_AVG.functionParameter.number.name`, detail: `formula.functionList.RANK_AVG.functionParameter.number.detail`, example: `A3`, require: 1, repeat: 0 }, { name: `formula.functionList.RANK_AVG.functionParameter.ref.name`, detail: `formula.functionList.RANK_AVG.functionParameter.ref.detail`, example: `A2:A6`, require: 1, repeat: 0 }, { name: `formula.functionList.RANK_AVG.functionParameter.order.name`, detail: `formula.functionList.RANK_AVG.functionParameter.order.detail`, example: `1`, require: 0, repeat: 0 }] }, { functionName: q3.RANK_EQ, functionType: Dt2.Statistical, description: `formula.functionList.RANK_EQ.description`, abstract: `formula.functionList.RANK_EQ.abstract`, functionParameter: [{ name: `formula.functionList.RANK_EQ.functionParameter.number.name`, detail: `formula.functionList.RANK_EQ.functionParameter.number.detail`, example: `A3`, require: 1, repeat: 0 }, { name: `formula.functionList.RANK_EQ.functionParameter.ref.name`, detail: `formula.functionList.RANK_EQ.functionParameter.ref.detail`, example: `A2:A6`, require: 1, repeat: 0 }, { name: `formula.functionList.RANK_EQ.functionParameter.order.name`, detail: `formula.functionList.RANK_EQ.functionParameter.order.detail`, example: `1`, require: 0, repeat: 0 }] }, { functionName: q3.RSQ, functionType: Dt2.Statistical, description: `formula.functionList.RSQ.description`, abstract: `formula.functionList.RSQ.abstract`, functionParameter: [{ name: `formula.functionList.RSQ.functionParameter.array1.name`, detail: `formula.functionList.RSQ.functionParameter.array1.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.RSQ.functionParameter.array2.name`, detail: `formula.functionList.RSQ.functionParameter.array2.detail`, example: `B1:B4`, require: 1, repeat: 0 }] }, { functionName: q3.SKEW, functionType: Dt2.Statistical, description: `formula.functionList.SKEW.description`, abstract: `formula.functionList.SKEW.abstract`, functionParameter: [{ name: `formula.functionList.SKEW.functionParameter.number1.name`, detail: `formula.functionList.SKEW.functionParameter.number1.detail`, example: `A1:C3`, require: 1, repeat: 0 }, { name: `formula.functionList.SKEW.functionParameter.number2.name`, detail: `formula.functionList.SKEW.functionParameter.number2.detail`, example: `4`, require: 0, repeat: 1 }] }, { functionName: q3.SKEW_P, functionType: Dt2.Statistical, description: `formula.functionList.SKEW_P.description`, abstract: `formula.functionList.SKEW_P.abstract`, functionParameter: [{ name: `formula.functionList.SKEW_P.functionParameter.number1.name`, detail: `formula.functionList.SKEW_P.functionParameter.number1.detail`, example: `A1:C3`, require: 1, repeat: 0 }, { name: `formula.functionList.SKEW_P.functionParameter.number2.name`, detail: `formula.functionList.SKEW_P.functionParameter.number2.detail`, example: `4`, require: 0, repeat: 1 }] }, { functionName: q3.SLOPE, functionType: Dt2.Statistical, description: `formula.functionList.SLOPE.description`, abstract: `formula.functionList.SLOPE.abstract`, functionParameter: [{ name: `formula.functionList.SLOPE.functionParameter.knownYs.name`, detail: `formula.functionList.SLOPE.functionParameter.knownYs.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.SLOPE.functionParameter.knownXs.name`, detail: `formula.functionList.SLOPE.functionParameter.knownXs.detail`, example: `B1:B4`, require: 1, repeat: 0 }] }, { functionName: q3.SMALL, functionType: Dt2.Statistical, description: `formula.functionList.SMALL.description`, abstract: `formula.functionList.SMALL.abstract`, functionParameter: [{ name: `formula.functionList.SMALL.functionParameter.array.name`, detail: `formula.functionList.SMALL.functionParameter.array.detail`, example: `A2:B6`, require: 1, repeat: 0 }, { name: `formula.functionList.SMALL.functionParameter.k.name`, detail: `formula.functionList.SMALL.functionParameter.k.detail`, example: `3`, require: 1, repeat: 0 }] }, { functionName: q3.STANDARDIZE, functionType: Dt2.Statistical, description: `formula.functionList.STANDARDIZE.description`, abstract: `formula.functionList.STANDARDIZE.abstract`, functionParameter: [{ name: `formula.functionList.STANDARDIZE.functionParameter.x.name`, detail: `formula.functionList.STANDARDIZE.functionParameter.x.detail`, example: `42`, require: 1, repeat: 0 }, { name: `formula.functionList.STANDARDIZE.functionParameter.mean.name`, detail: `formula.functionList.STANDARDIZE.functionParameter.mean.detail`, example: `40`, require: 1, repeat: 0 }, { name: `formula.functionList.STANDARDIZE.functionParameter.standardDev.name`, detail: `formula.functionList.STANDARDIZE.functionParameter.standardDev.detail`, example: `1.5`, require: 1, repeat: 0 }] }, { functionName: q3.STDEV_P, functionType: Dt2.Statistical, description: `formula.functionList.STDEV_P.description`, abstract: `formula.functionList.STDEV_P.abstract`, functionParameter: [{ name: `formula.functionList.STDEV_P.functionParameter.number1.name`, detail: `formula.functionList.STDEV_P.functionParameter.number1.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.STDEV_P.functionParameter.number2.name`, detail: `formula.functionList.STDEV_P.functionParameter.number2.detail`, example: `2`, require: 0, repeat: 1 }] }, { functionName: q3.STDEV_S, functionType: Dt2.Statistical, description: `formula.functionList.STDEV_S.description`, abstract: `formula.functionList.STDEV_S.abstract`, functionParameter: [{ name: `formula.functionList.STDEV_S.functionParameter.number1.name`, detail: `formula.functionList.STDEV_S.functionParameter.number1.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.STDEV_S.functionParameter.number2.name`, detail: `formula.functionList.STDEV_S.functionParameter.number2.detail`, example: `2`, require: 0, repeat: 1 }] }, { functionName: q3.STDEVA, functionType: Dt2.Statistical, description: `formula.functionList.STDEVA.description`, abstract: `formula.functionList.STDEVA.abstract`, functionParameter: [{ name: `formula.functionList.STDEVA.functionParameter.value1.name`, detail: `formula.functionList.STDEVA.functionParameter.value1.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.STDEVA.functionParameter.value2.name`, detail: `formula.functionList.STDEVA.functionParameter.value2.detail`, example: `2`, require: 0, repeat: 1 }] }, { functionName: q3.STDEVPA, functionType: Dt2.Statistical, description: `formula.functionList.STDEVPA.description`, abstract: `formula.functionList.STDEVPA.abstract`, functionParameter: [{ name: `formula.functionList.STDEVPA.functionParameter.value1.name`, detail: `formula.functionList.STDEVPA.functionParameter.value1.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.STDEVPA.functionParameter.value2.name`, detail: `formula.functionList.STDEVPA.functionParameter.value2.detail`, example: `2`, require: 0, repeat: 1 }] }, { functionName: q3.STEYX, functionType: Dt2.Statistical, description: `formula.functionList.STEYX.description`, abstract: `formula.functionList.STEYX.abstract`, functionParameter: [{ name: `formula.functionList.STEYX.functionParameter.knownYs.name`, detail: `formula.functionList.STEYX.functionParameter.knownYs.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.STEYX.functionParameter.knownXs.name`, detail: `formula.functionList.STEYX.functionParameter.knownXs.detail`, example: `B1:B4`, require: 1, repeat: 0 }] }, { functionName: q3.T_DIST, functionType: Dt2.Statistical, description: `formula.functionList.T_DIST.description`, abstract: `formula.functionList.T_DIST.abstract`, functionParameter: [{ name: `formula.functionList.T_DIST.functionParameter.x.name`, detail: `formula.functionList.T_DIST.functionParameter.x.detail`, example: `8`, require: 1, repeat: 0 }, { name: `formula.functionList.T_DIST.functionParameter.degFreedom.name`, detail: `formula.functionList.T_DIST.functionParameter.degFreedom.detail`, example: `3`, require: 1, repeat: 0 }, { name: `formula.functionList.T_DIST.functionParameter.cumulative.name`, detail: `formula.functionList.T_DIST.functionParameter.cumulative.detail`, example: `true`, require: 1, repeat: 0 }] }, { functionName: q3.T_DIST_2T, functionType: Dt2.Statistical, description: `formula.functionList.T_DIST_2T.description`, abstract: `formula.functionList.T_DIST_2T.abstract`, functionParameter: [{ name: `formula.functionList.T_DIST_2T.functionParameter.x.name`, detail: `formula.functionList.T_DIST_2T.functionParameter.x.detail`, example: `8`, require: 1, repeat: 0 }, { name: `formula.functionList.T_DIST_2T.functionParameter.degFreedom.name`, detail: `formula.functionList.T_DIST_2T.functionParameter.degFreedom.detail`, example: `3`, require: 1, repeat: 0 }] }, { functionName: q3.T_DIST_RT, functionType: Dt2.Statistical, description: `formula.functionList.T_DIST_RT.description`, abstract: `formula.functionList.T_DIST_RT.abstract`, functionParameter: [{ name: `formula.functionList.T_DIST_RT.functionParameter.x.name`, detail: `formula.functionList.T_DIST_RT.functionParameter.x.detail`, example: `8`, require: 1, repeat: 0 }, { name: `formula.functionList.T_DIST_RT.functionParameter.degFreedom.name`, detail: `formula.functionList.T_DIST_RT.functionParameter.degFreedom.detail`, example: `3`, require: 1, repeat: 0 }] }, { functionName: q3.T_INV, functionType: Dt2.Statistical, description: `formula.functionList.T_INV.description`, abstract: `formula.functionList.T_INV.abstract`, functionParameter: [{ name: `formula.functionList.T_INV.functionParameter.probability.name`, detail: `formula.functionList.T_INV.functionParameter.probability.detail`, example: `0.75`, require: 1, repeat: 0 }, { name: `formula.functionList.T_INV.functionParameter.degFreedom.name`, detail: `formula.functionList.T_INV.functionParameter.degFreedom.detail`, example: `2`, require: 1, repeat: 0 }] }, { functionName: q3.T_INV_2T, functionType: Dt2.Statistical, description: `formula.functionList.T_INV_2T.description`, abstract: `formula.functionList.T_INV_2T.abstract`, functionParameter: [{ name: `formula.functionList.T_INV_2T.functionParameter.probability.name`, detail: `formula.functionList.T_INV_2T.functionParameter.probability.detail`, example: `0.75`, require: 1, repeat: 0 }, { name: `formula.functionList.T_INV_2T.functionParameter.degFreedom.name`, detail: `formula.functionList.T_INV_2T.functionParameter.degFreedom.detail`, example: `2`, require: 1, repeat: 0 }] }, { functionName: q3.T_TEST, functionType: Dt2.Statistical, description: `formula.functionList.T_TEST.description`, abstract: `formula.functionList.T_TEST.abstract`, functionParameter: [{ name: `formula.functionList.T_TEST.functionParameter.array1.name`, detail: `formula.functionList.T_TEST.functionParameter.array1.detail`, example: `A1:A4`, require: 1, repeat: 0 }, { name: `formula.functionList.T_TEST.functionParameter.array2.name`, detail: `formula.functionList.T_TEST.functionParameter.array2.detail`, example: `B1:B4`, require: 1, repeat: 0 }, { name: `formula.functionList.T_TEST.functionParameter.tails.name`, detail: `formula.functionList.T_TEST.functionParameter.tails.detail`, example: `2`, require: 1, repeat: 0 }, { name: `formula.functionList.T_TEST.functionParameter.type.name`, detail: `formula.functionList.T_TEST.functionParameter.type.detail`, example: `1`, require: 1, repeat: 0 }] }, { functionName: q3.TREND, functionType: Dt2.Statistical, description: `formula.functionList.TREND.description`, abstract: `formula.functionList.TREND.abstract`, functionParameter: [{ name: `formula.functionList.TREND.functionParameter.knownYs.name`, detail: `formula.functionList.TREND.functionParameter.knownYs.detail`, example: `B2:B7`, require: 1, repeat: 0 }, { name: `formula.functionList.TREND.functionParameter.knownXs.name`, detail: `formula.functionList.TREND.functionParameter.knownXs.detail`, example: `A2:A7`, require: 0, repeat: 0 }, { name: `formula.functionList.TREND.functionParameter.newXs.name`, detail: `formula.functionList.TREND.functionParameter.newXs.detail`, example: `A9:A10`, require: 0, repeat: 0 }, { name: `formula.functionList.TREND.functionParameter.constb.name`, detail: `formula.functionList.TREND.functionParameter.constb.detail`, example: `true`, require: 0, repeat: 0 }] }, { functionName: q3.TRIMMEAN, functionType: Dt2.Statistical, description: `formula.functionList.TRIMMEAN.description`, abstract: `formula.functionList.TRIMMEAN.abstract`, functionParameter: [{ name: `formula.functionList.TRIMMEAN.functionParameter.array.name`, detail: `formula.functionList.TRIMMEAN.functionParameter.array.detail`, example: `A2:A12`, require: 1, repeat: 0 }, { name: `formula.functionList.TRIMMEAN.functionParameter.percent.name`, detail: `formula.functionList.TRIMMEAN.functionParameter.percent.detail`, example: `0.2`, require: 1, repeat: 0 }] }, { functionName: q3.VAR_P, functionType: Dt2.Statistical, description: `formula.functionList.VAR_P.description`, abstract: `formula.functionList.VAR_P.abstract`, functionParameter: [{ name: `formula.functionList.VAR_P.functionParameter.number1.name`, detail: `formula.functionList.VAR_P.functionParameter.number1.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.VAR_P.functionParameter.number2.name`, detail: `formula.functionList.VAR_P.functionParameter.number2.detail`, example: `2`, require: 0, repeat: 1 }] }, { functionName: q3.VAR_S, functionType: Dt2.Statistical, description: `formula.functionList.VAR_S.description`, abstract: `formula.functionList.VAR_S.abstract`, functionParameter: [{ name: `formula.functionList.VAR_S.functionParameter.number1.name`, detail: `formula.functionList.VAR_S.functionParameter.number1.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.VAR_S.functionParameter.number2.name`, detail: `formula.functionList.VAR_S.functionParameter.number2.detail`, example: `2`, require: 0, repeat: 1 }] }, { functionName: q3.VARA, functionType: Dt2.Statistical, description: `formula.functionList.VARA.description`, abstract: `formula.functionList.VARA.abstract`, functionParameter: [{ name: `formula.functionList.VARA.functionParameter.value1.name`, detail: `formula.functionList.VARA.functionParameter.value1.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.VARA.functionParameter.value2.name`, detail: `formula.functionList.VARA.functionParameter.value2.detail`, example: `2`, require: 0, repeat: 1 }] }, { functionName: q3.VARPA, functionType: Dt2.Statistical, description: `formula.functionList.VARPA.description`, abstract: `formula.functionList.VARPA.abstract`, functionParameter: [{ name: `formula.functionList.VARPA.functionParameter.value1.name`, detail: `formula.functionList.VARPA.functionParameter.value1.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.VARPA.functionParameter.value2.name`, detail: `formula.functionList.VARPA.functionParameter.value2.detail`, example: `2`, require: 0, repeat: 1 }] }, { functionName: q3.WEIBULL_DIST, functionType: Dt2.Statistical, description: `formula.functionList.WEIBULL_DIST.description`, abstract: `formula.functionList.WEIBULL_DIST.abstract`, functionParameter: [{ name: `formula.functionList.WEIBULL_DIST.functionParameter.x.name`, detail: `formula.functionList.WEIBULL_DIST.functionParameter.x.detail`, example: `105`, require: 1, repeat: 0 }, { name: `formula.functionList.WEIBULL_DIST.functionParameter.alpha.name`, detail: `formula.functionList.WEIBULL_DIST.functionParameter.alpha.detail`, example: `20`, require: 1, repeat: 0 }, { name: `formula.functionList.WEIBULL_DIST.functionParameter.beta.name`, detail: `formula.functionList.WEIBULL_DIST.functionParameter.beta.detail`, example: `100`, require: 1, repeat: 0 }, { name: `formula.functionList.WEIBULL_DIST.functionParameter.cumulative.name`, detail: `formula.functionList.WEIBULL_DIST.functionParameter.cumulative.detail`, example: `true`, require: 1, repeat: 0 }] }, { functionName: q3.Z_TEST, functionType: Dt2.Statistical, description: `formula.functionList.Z_TEST.description`, abstract: `formula.functionList.Z_TEST.abstract`, functionParameter: [{ name: `formula.functionList.Z_TEST.functionParameter.array.name`, detail: `formula.functionList.Z_TEST.functionParameter.array.detail`, example: `A2:A11`, require: 1, repeat: 0 }, { name: `formula.functionList.Z_TEST.functionParameter.x.name`, detail: `formula.functionList.Z_TEST.functionParameter.x.detail`, example: `4`, require: 1, repeat: 0 }, { name: `formula.functionList.Z_TEST.functionParameter.sigma.name`, detail: `formula.functionList.Z_TEST.functionParameter.sigma.detail`, example: `10`, require: 0, repeat: 0 }] }]; + var pi2 = [{ functionName: J3.ASC, functionType: Dt2.Text, description: `formula.functionList.ASC.description`, abstract: `formula.functionList.ASC.abstract`, functionParameter: [{ name: `formula.functionList.ASC.functionParameter.text.name`, detail: `formula.functionList.ASC.functionParameter.text.detail`, example: `"\uFF35\uFF4E\uFF49\uFF56\uFF45\uFF52"`, require: 1, repeat: 0 }] }, { functionName: J3.ARRAYTOTEXT, functionType: Dt2.Text, description: `formula.functionList.ARRAYTOTEXT.description`, abstract: `formula.functionList.ARRAYTOTEXT.abstract`, functionParameter: [{ name: `formula.functionList.ARRAYTOTEXT.functionParameter.array.name`, detail: `formula.functionList.ARRAYTOTEXT.functionParameter.array.detail`, example: `A2:B4`, require: 1, repeat: 0 }, { name: `formula.functionList.ARRAYTOTEXT.functionParameter.format.name`, detail: `formula.functionList.ARRAYTOTEXT.functionParameter.format.detail`, example: `0`, require: 0, repeat: 0 }] }, { functionName: J3.BAHTTEXT, functionType: Dt2.Text, description: `formula.functionList.BAHTTEXT.description`, abstract: `formula.functionList.BAHTTEXT.abstract`, functionParameter: [{ name: `formula.functionList.BAHTTEXT.functionParameter.number.name`, detail: `formula.functionList.BAHTTEXT.functionParameter.number.detail`, example: `1234`, require: 1, repeat: 0 }] }, { functionName: J3.CHAR, functionType: Dt2.Text, description: `formula.functionList.CHAR.description`, abstract: `formula.functionList.CHAR.abstract`, functionParameter: [{ name: `formula.functionList.CHAR.functionParameter.number.name`, detail: `formula.functionList.CHAR.functionParameter.number.detail`, example: `65`, require: 1, repeat: 0 }] }, { functionName: J3.CLEAN, functionType: Dt2.Text, description: `formula.functionList.CLEAN.description`, abstract: `formula.functionList.CLEAN.abstract`, functionParameter: [{ name: `formula.functionList.CLEAN.functionParameter.text.name`, detail: `formula.functionList.CLEAN.functionParameter.text.detail`, example: `CHAR(1)&"Univer"`, require: 1, repeat: 0 }] }, { functionName: J3.CODE, functionType: Dt2.Text, description: `formula.functionList.CODE.description`, abstract: `formula.functionList.CODE.abstract`, functionParameter: [{ name: `formula.functionList.CODE.functionParameter.text.name`, detail: `formula.functionList.CODE.functionParameter.text.detail`, example: `"Univer"`, require: 1, repeat: 0 }] }, { functionName: J3.CONCAT, functionType: Dt2.Text, description: `formula.functionList.CONCAT.description`, abstract: `formula.functionList.CONCAT.abstract`, functionParameter: [{ name: `formula.functionList.CONCAT.functionParameter.text1.name`, detail: `formula.functionList.CONCAT.functionParameter.text1.detail`, example: `"Hello"`, require: 1, repeat: 0 }, { name: `formula.functionList.CONCAT.functionParameter.text2.name`, detail: `formula.functionList.CONCAT.functionParameter.text2.detail`, example: `"Univer"`, require: 0, repeat: 1 }] }, { functionName: J3.CONCATENATE, functionType: Dt2.Text, description: `formula.functionList.CONCATENATE.description`, abstract: `formula.functionList.CONCATENATE.abstract`, functionParameter: [{ name: `formula.functionList.CONCATENATE.functionParameter.text1.name`, detail: `formula.functionList.CONCATENATE.functionParameter.text1.detail`, example: `A1`, require: 1, repeat: 0 }, { name: `formula.functionList.CONCATENATE.functionParameter.text2.name`, detail: `formula.functionList.CONCATENATE.functionParameter.text2.detail`, example: `A2`, require: 0, repeat: 1 }] }, { functionName: J3.DBCS, functionType: Dt2.Text, description: `formula.functionList.DBCS.description`, abstract: `formula.functionList.DBCS.abstract`, functionParameter: [{ name: `formula.functionList.DBCS.functionParameter.text.name`, detail: `formula.functionList.DBCS.functionParameter.text.detail`, example: `"Univer"`, require: 1, repeat: 0 }] }, { functionName: J3.DOLLAR, functionType: Dt2.Text, description: `formula.functionList.DOLLAR.description`, abstract: `formula.functionList.DOLLAR.abstract`, functionParameter: [{ name: `formula.functionList.DOLLAR.functionParameter.number.name`, detail: `formula.functionList.DOLLAR.functionParameter.number.detail`, example: `1234.567`, require: 1, repeat: 0 }, { name: `formula.functionList.DOLLAR.functionParameter.decimals.name`, detail: `formula.functionList.DOLLAR.functionParameter.decimals.detail`, example: `2`, require: 0, repeat: 0 }] }, { functionName: J3.EXACT, functionType: Dt2.Text, description: `formula.functionList.EXACT.description`, abstract: `formula.functionList.EXACT.abstract`, functionParameter: [{ name: `formula.functionList.EXACT.functionParameter.text1.name`, detail: `formula.functionList.EXACT.functionParameter.text1.detail`, example: `"Univer"`, require: 1, repeat: 0 }, { name: `formula.functionList.EXACT.functionParameter.text2.name`, detail: `formula.functionList.EXACT.functionParameter.text2.detail`, example: `"univer"`, require: 1, repeat: 0 }] }, { functionName: J3.FIND, functionType: Dt2.Text, description: `formula.functionList.FIND.description`, abstract: `formula.functionList.FIND.abstract`, functionParameter: [{ name: `formula.functionList.FIND.functionParameter.findText.name`, detail: `formula.functionList.FIND.functionParameter.findText.detail`, example: `"Univer"`, require: 1, repeat: 0 }, { name: `formula.functionList.FIND.functionParameter.withinText.name`, detail: `formula.functionList.FIND.functionParameter.withinText.detail`, example: `"Hello Univer"`, require: 1, repeat: 0 }, { name: `formula.functionList.FIND.functionParameter.startNum.name`, detail: `formula.functionList.FIND.functionParameter.startNum.detail`, example: `1`, require: 0, repeat: 0 }] }, { functionName: J3.FINDB, functionType: Dt2.Text, description: `formula.functionList.FINDB.description`, abstract: `formula.functionList.FINDB.abstract`, functionParameter: [{ name: `formula.functionList.FINDB.functionParameter.findText.name`, detail: `formula.functionList.FINDB.functionParameter.findText.detail`, example: `"Univer"`, require: 1, repeat: 0 }, { name: `formula.functionList.FINDB.functionParameter.withinText.name`, detail: `formula.functionList.FINDB.functionParameter.withinText.detail`, example: `"Hello Univer"`, require: 1, repeat: 0 }, { name: `formula.functionList.FINDB.functionParameter.startNum.name`, detail: `formula.functionList.FINDB.functionParameter.startNum.detail`, example: `1`, require: 0, repeat: 0 }] }, { functionName: J3.FIXED, functionType: Dt2.Text, description: `formula.functionList.FIXED.description`, abstract: `formula.functionList.FIXED.abstract`, functionParameter: [{ name: `formula.functionList.FIXED.functionParameter.number.name`, detail: `formula.functionList.FIXED.functionParameter.number.detail`, example: `1234.567`, require: 1, repeat: 0 }, { name: `formula.functionList.FIXED.functionParameter.decimals.name`, detail: `formula.functionList.FIXED.functionParameter.decimals.detail`, example: `2`, require: 0, repeat: 0 }, { name: `formula.functionList.FIXED.functionParameter.noCommas.name`, detail: `formula.functionList.FIXED.functionParameter.noCommas.detail`, example: `0`, require: 0, repeat: 0 }] }, { functionName: J3.LEFT, functionType: Dt2.Text, description: `formula.functionList.LEFT.description`, abstract: `formula.functionList.LEFT.abstract`, functionParameter: [{ name: `formula.functionList.LEFT.functionParameter.text.name`, detail: `formula.functionList.LEFT.functionParameter.text.detail`, example: `"Univer"`, require: 1, repeat: 0 }, { name: `formula.functionList.LEFT.functionParameter.numChars.name`, detail: `formula.functionList.LEFT.functionParameter.numChars.detail`, example: `3`, require: 0, repeat: 0 }] }, { functionName: J3.LEFTB, functionType: Dt2.Text, description: `formula.functionList.LEFTB.description`, abstract: `formula.functionList.LEFTB.abstract`, functionParameter: [{ name: `formula.functionList.LEFTB.functionParameter.text.name`, detail: `formula.functionList.LEFTB.functionParameter.text.detail`, example: `"Univer"`, require: 1, repeat: 0 }, { name: `formula.functionList.LEFTB.functionParameter.numBytes.name`, detail: `formula.functionList.LEFTB.functionParameter.numBytes.detail`, example: `3`, require: 0, repeat: 0 }] }, { functionName: J3.LEN, functionType: Dt2.Text, description: `formula.functionList.LEN.description`, abstract: `formula.functionList.LEN.abstract`, functionParameter: [{ name: `formula.functionList.LEN.functionParameter.text.name`, detail: `formula.functionList.LEN.functionParameter.text.detail`, example: `"Univer"`, require: 1, repeat: 0 }] }, { functionName: J3.LENB, functionType: Dt2.Text, description: `formula.functionList.LENB.description`, abstract: `formula.functionList.LENB.abstract`, functionParameter: [{ name: `formula.functionList.LENB.functionParameter.text.name`, detail: `formula.functionList.LENB.functionParameter.text.detail`, example: `"Univer"`, require: 1, repeat: 0 }] }, { functionName: J3.LOWER, functionType: Dt2.Text, description: `formula.functionList.LOWER.description`, abstract: `formula.functionList.LOWER.abstract`, functionParameter: [{ name: `formula.functionList.LOWER.functionParameter.text.name`, detail: `formula.functionList.LOWER.functionParameter.text.detail`, example: `"Univer"`, require: 1, repeat: 0 }] }, { functionName: J3.MID, functionType: Dt2.Text, description: `formula.functionList.MID.description`, abstract: `formula.functionList.MID.abstract`, functionParameter: [{ name: `formula.functionList.MID.functionParameter.text.name`, detail: `formula.functionList.MID.functionParameter.text.detail`, example: `"Univer"`, require: 1, repeat: 0 }, { name: `formula.functionList.MID.functionParameter.startNum.name`, detail: `formula.functionList.MID.functionParameter.startNum.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.MID.functionParameter.numChars.name`, detail: `formula.functionList.MID.functionParameter.numChars.detail`, example: `3`, require: 1, repeat: 0 }] }, { functionName: J3.MIDB, functionType: Dt2.Text, description: `formula.functionList.MIDB.description`, abstract: `formula.functionList.MIDB.abstract`, functionParameter: [{ name: `formula.functionList.MIDB.functionParameter.text.name`, detail: `formula.functionList.MIDB.functionParameter.text.detail`, example: `"Univer"`, require: 1, repeat: 0 }, { name: `formula.functionList.MIDB.functionParameter.startNum.name`, detail: `formula.functionList.MIDB.functionParameter.startNum.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.MIDB.functionParameter.numBytes.name`, detail: `formula.functionList.MIDB.functionParameter.numBytes.detail`, example: `3`, require: 1, repeat: 0 }] }, { functionName: J3.NUMBERSTRING, functionType: Dt2.Text, description: `formula.functionList.NUMBERSTRING.description`, abstract: `formula.functionList.NUMBERSTRING.abstract`, functionParameter: [{ name: `formula.functionList.NUMBERSTRING.functionParameter.number.name`, detail: `formula.functionList.NUMBERSTRING.functionParameter.number.detail`, example: `123`, require: 1, repeat: 0 }, { name: `formula.functionList.NUMBERSTRING.functionParameter.type.name`, detail: `formula.functionList.NUMBERSTRING.functionParameter.type.detail`, example: `1`, require: 1, repeat: 0 }] }, { functionName: J3.NUMBERVALUE, functionType: Dt2.Text, description: `formula.functionList.NUMBERVALUE.description`, abstract: `formula.functionList.NUMBERVALUE.abstract`, functionParameter: [{ name: `formula.functionList.NUMBERVALUE.functionParameter.text.name`, detail: `formula.functionList.NUMBERVALUE.functionParameter.text.detail`, example: `"2.500,27"`, require: 1, repeat: 0 }, { name: `formula.functionList.NUMBERVALUE.functionParameter.decimalSeparator.name`, detail: `formula.functionList.NUMBERVALUE.functionParameter.decimalSeparator.detail`, example: `","`, require: 0, repeat: 0 }, { name: `formula.functionList.NUMBERVALUE.functionParameter.groupSeparator.name`, detail: `formula.functionList.NUMBERVALUE.functionParameter.groupSeparator.detail`, example: `"."`, require: 0, repeat: 0 }] }, { functionName: J3.PHONETIC, functionType: Dt2.Text, description: `formula.functionList.PHONETIC.description`, abstract: `formula.functionList.PHONETIC.abstract`, functionParameter: [{ name: `formula.functionList.PHONETIC.functionParameter.number1.name`, detail: `formula.functionList.PHONETIC.functionParameter.number1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.PHONETIC.functionParameter.number2.name`, detail: `formula.functionList.PHONETIC.functionParameter.number2.detail`, example: `A1:A20`, require: 1, repeat: 0 }] }, { functionName: J3.PROPER, functionType: Dt2.Text, description: `formula.functionList.PROPER.description`, abstract: `formula.functionList.PROPER.abstract`, functionParameter: [{ name: `formula.functionList.PROPER.functionParameter.text.name`, detail: `formula.functionList.PROPER.functionParameter.text.detail`, example: `"hello univer"`, require: 1, repeat: 0 }] }, { functionName: J3.REGEXEXTRACT, functionType: Dt2.Text, description: `formula.functionList.REGEXEXTRACT.description`, abstract: `formula.functionList.REGEXEXTRACT.abstract`, functionParameter: [{ name: `formula.functionList.REGEXEXTRACT.functionParameter.text.name`, detail: `formula.functionList.REGEXEXTRACT.functionParameter.text.detail`, example: `"abcdefg"`, require: 1, repeat: 0 }, { name: `formula.functionList.REGEXEXTRACT.functionParameter.regularExpression.name`, detail: `formula.functionList.REGEXEXTRACT.functionParameter.regularExpression.detail`, example: `"c.*f"`, require: 1, repeat: 0 }] }, { functionName: J3.REGEXMATCH, functionType: Dt2.Text, description: `formula.functionList.REGEXMATCH.description`, abstract: `formula.functionList.REGEXMATCH.abstract`, functionParameter: [{ name: `formula.functionList.REGEXMATCH.functionParameter.text.name`, detail: `formula.functionList.REGEXMATCH.functionParameter.text.detail`, example: `"Spreadsheets"`, require: 1, repeat: 0 }, { name: `formula.functionList.REGEXMATCH.functionParameter.regularExpression.name`, detail: `formula.functionList.REGEXMATCH.functionParameter.regularExpression.detail`, example: `"S.r"`, require: 1, repeat: 0 }] }, { functionName: J3.REGEXREPLACE, functionType: Dt2.Text, description: `formula.functionList.REGEXREPLACE.description`, abstract: `formula.functionList.REGEXREPLACE.abstract`, functionParameter: [{ name: `formula.functionList.REGEXREPLACE.functionParameter.text.name`, detail: `formula.functionList.REGEXREPLACE.functionParameter.text.detail`, example: `"abcedfg"`, require: 1, repeat: 0 }, { name: `formula.functionList.REGEXREPLACE.functionParameter.regularExpression.name`, detail: `formula.functionList.REGEXREPLACE.functionParameter.regularExpression.detail`, example: `"a.*d"`, require: 1, repeat: 0 }, { name: `formula.functionList.REGEXREPLACE.functionParameter.replacement.name`, detail: `formula.functionList.REGEXREPLACE.functionParameter.replacement.detail`, example: `"xyz"`, require: 1, repeat: 0 }] }, { functionName: J3.REPLACE, functionType: Dt2.Text, description: `formula.functionList.REPLACE.description`, abstract: `formula.functionList.REPLACE.abstract`, functionParameter: [{ name: `formula.functionList.REPLACE.functionParameter.oldText.name`, detail: `formula.functionList.REPLACE.functionParameter.oldText.detail`, example: `"Univer"`, require: 1, repeat: 0 }, { name: `formula.functionList.REPLACE.functionParameter.startNum.name`, detail: `formula.functionList.REPLACE.functionParameter.startNum.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.REPLACE.functionParameter.numChars.name`, detail: `formula.functionList.REPLACE.functionParameter.numChars.detail`, example: `0`, require: 1, repeat: 0 }, { name: `formula.functionList.REPLACE.functionParameter.newText.name`, detail: `formula.functionList.REPLACE.functionParameter.newText.detail`, example: `"Hello "`, require: 1, repeat: 0 }] }, { functionName: J3.REPLACEB, functionType: Dt2.Text, description: `formula.functionList.REPLACEB.description`, abstract: `formula.functionList.REPLACEB.abstract`, functionParameter: [{ name: `formula.functionList.REPLACEB.functionParameter.oldText.name`, detail: `formula.functionList.REPLACEB.functionParameter.oldText.detail`, example: `"Univer"`, require: 1, repeat: 0 }, { name: `formula.functionList.REPLACEB.functionParameter.startNum.name`, detail: `formula.functionList.REPLACEB.functionParameter.startNum.detail`, example: `1`, require: 1, repeat: 0 }, { name: `formula.functionList.REPLACEB.functionParameter.numBytes.name`, detail: `formula.functionList.REPLACEB.functionParameter.numBytes.detail`, example: `0`, require: 1, repeat: 0 }, { name: `formula.functionList.REPLACEB.functionParameter.newText.name`, detail: `formula.functionList.REPLACEB.functionParameter.newText.detail`, example: `"Hello "`, require: 1, repeat: 0 }] }, { functionName: J3.REPT, functionType: Dt2.Text, description: `formula.functionList.REPT.description`, abstract: `formula.functionList.REPT.abstract`, functionParameter: [{ name: `formula.functionList.REPT.functionParameter.text.name`, detail: `formula.functionList.REPT.functionParameter.text.detail`, example: `"*-"`, require: 1, repeat: 0 }, { name: `formula.functionList.REPT.functionParameter.numberTimes.name`, detail: `formula.functionList.REPT.functionParameter.numberTimes.detail`, example: `3`, require: 1, repeat: 0 }] }, { functionName: J3.RIGHT, functionType: Dt2.Text, description: `formula.functionList.RIGHT.description`, abstract: `formula.functionList.RIGHT.abstract`, functionParameter: [{ name: `formula.functionList.RIGHT.functionParameter.text.name`, detail: `formula.functionList.RIGHT.functionParameter.text.detail`, example: `"Univer"`, require: 1, repeat: 0 }, { name: `formula.functionList.RIGHT.functionParameter.numChars.name`, detail: `formula.functionList.RIGHT.functionParameter.numChars.detail`, example: `3`, require: 0, repeat: 0 }] }, { functionName: J3.RIGHTB, functionType: Dt2.Text, description: `formula.functionList.RIGHTB.description`, abstract: `formula.functionList.RIGHTB.abstract`, functionParameter: [{ name: `formula.functionList.RIGHTB.functionParameter.text.name`, detail: `formula.functionList.RIGHTB.functionParameter.text.detail`, example: `"Univer"`, require: 1, repeat: 0 }, { name: `formula.functionList.RIGHTB.functionParameter.numBytes.name`, detail: `formula.functionList.RIGHTB.functionParameter.numBytes.detail`, example: `3`, require: 0, repeat: 0 }] }, { functionName: J3.SEARCH, functionType: Dt2.Text, description: `formula.functionList.SEARCH.description`, abstract: `formula.functionList.SEARCH.abstract`, functionParameter: [{ name: `formula.functionList.SEARCH.functionParameter.findText.name`, detail: `formula.functionList.SEARCH.functionParameter.findText.detail`, example: `"univer"`, require: 1, repeat: 0 }, { name: `formula.functionList.SEARCH.functionParameter.withinText.name`, detail: `formula.functionList.SEARCH.functionParameter.withinText.detail`, example: `"Hello Univer"`, require: 1, repeat: 0 }, { name: `formula.functionList.SEARCH.functionParameter.startNum.name`, detail: `formula.functionList.SEARCH.functionParameter.startNum.detail`, example: `1`, require: 0, repeat: 0 }] }, { functionName: J3.SEARCHB, functionType: Dt2.Text, description: `formula.functionList.SEARCHB.description`, abstract: `formula.functionList.SEARCHB.abstract`, functionParameter: [{ name: `formula.functionList.SEARCHB.functionParameter.findText.name`, detail: `formula.functionList.SEARCHB.functionParameter.findText.detail`, example: `"univer"`, require: 1, repeat: 0 }, { name: `formula.functionList.SEARCHB.functionParameter.withinText.name`, detail: `formula.functionList.SEARCHB.functionParameter.withinText.detail`, example: `"Hello Univer"`, require: 1, repeat: 0 }, { name: `formula.functionList.SEARCHB.functionParameter.startNum.name`, detail: `formula.functionList.SEARCHB.functionParameter.startNum.detail`, example: `1`, require: 0, repeat: 0 }] }, { functionName: J3.SUBSTITUTE, functionType: Dt2.Text, description: `formula.functionList.SUBSTITUTE.description`, abstract: `formula.functionList.SUBSTITUTE.abstract`, functionParameter: [{ name: `formula.functionList.SUBSTITUTE.functionParameter.text.name`, detail: `formula.functionList.SUBSTITUTE.functionParameter.text.detail`, example: `"Hello Univer"`, require: 1, repeat: 0 }, { name: `formula.functionList.SUBSTITUTE.functionParameter.oldText.name`, detail: `formula.functionList.SUBSTITUTE.functionParameter.oldText.detail`, example: `"Hello"`, require: 1, repeat: 0 }, { name: `formula.functionList.SUBSTITUTE.functionParameter.newText.name`, detail: `formula.functionList.SUBSTITUTE.functionParameter.newText.detail`, example: `"Hi"`, require: 1, repeat: 0 }, { name: `formula.functionList.SUBSTITUTE.functionParameter.instanceNum.name`, detail: `formula.functionList.SUBSTITUTE.functionParameter.instanceNum.detail`, example: `1`, require: 0, repeat: 0 }] }, { functionName: J3.T, functionType: Dt2.Text, description: `formula.functionList.T.description`, abstract: `formula.functionList.T.abstract`, functionParameter: [{ name: `formula.functionList.T.functionParameter.value.name`, detail: `formula.functionList.T.functionParameter.value.detail`, example: `"Univer"`, require: 1, repeat: 0 }] }, { functionName: J3.TEXT, functionType: Dt2.Text, description: `formula.functionList.TEXT.description`, abstract: `formula.functionList.TEXT.abstract`, functionParameter: [{ name: `formula.functionList.TEXT.functionParameter.value.name`, detail: `formula.functionList.TEXT.functionParameter.value.detail`, example: `1.23`, require: 1, repeat: 0 }, { name: `formula.functionList.TEXT.functionParameter.formatText.name`, detail: `formula.functionList.TEXT.functionParameter.formatText.detail`, example: `"$0.00"`, require: 1, repeat: 0 }] }, { functionName: J3.TEXTAFTER, functionType: Dt2.Text, description: `formula.functionList.TEXTAFTER.description`, abstract: `formula.functionList.TEXTAFTER.abstract`, functionParameter: [{ name: `formula.functionList.TEXTAFTER.functionParameter.text.name`, detail: `formula.functionList.TEXTAFTER.functionParameter.text.detail`, example: `"Red riding hood\u2019s, red hood"`, require: 1, repeat: 0 }, { name: `formula.functionList.TEXTAFTER.functionParameter.delimiter.name`, detail: `formula.functionList.TEXTAFTER.functionParameter.delimiter.detail`, example: `"hood"`, require: 1, repeat: 0 }, { name: `formula.functionList.TEXTAFTER.functionParameter.instanceNum.name`, detail: `formula.functionList.TEXTAFTER.functionParameter.instanceNum.detail`, example: `1`, require: 0, repeat: 0 }, { name: `formula.functionList.TEXTAFTER.functionParameter.matchMode.name`, detail: `formula.functionList.TEXTAFTER.functionParameter.matchMode.detail`, example: `1`, require: 0, repeat: 0 }, { name: `formula.functionList.TEXTAFTER.functionParameter.matchEnd.name`, detail: `formula.functionList.TEXTAFTER.functionParameter.matchEnd.detail`, example: `0`, require: 0, repeat: 0 }, { name: `formula.functionList.TEXTAFTER.functionParameter.ifNotFound.name`, detail: `formula.functionList.TEXTAFTER.functionParameter.ifNotFound.detail`, example: `"not found"`, require: 0, repeat: 0 }] }, { functionName: J3.TEXTBEFORE, functionType: Dt2.Text, description: `formula.functionList.TEXTBEFORE.description`, abstract: `formula.functionList.TEXTBEFORE.abstract`, functionParameter: [{ name: `formula.functionList.TEXTBEFORE.functionParameter.text.name`, detail: `formula.functionList.TEXTBEFORE.functionParameter.text.detail`, example: `"Red riding hood\u2019s, red hood"`, require: 1, repeat: 0 }, { name: `formula.functionList.TEXTBEFORE.functionParameter.delimiter.name`, detail: `formula.functionList.TEXTBEFORE.functionParameter.delimiter.detail`, example: `"hood"`, require: 1, repeat: 0 }, { name: `formula.functionList.TEXTBEFORE.functionParameter.instanceNum.name`, detail: `formula.functionList.TEXTBEFORE.functionParameter.instanceNum.detail`, example: `1`, require: 0, repeat: 0 }, { name: `formula.functionList.TEXTBEFORE.functionParameter.matchMode.name`, detail: `formula.functionList.TEXTBEFORE.functionParameter.matchMode.detail`, example: `1`, require: 0, repeat: 0 }, { name: `formula.functionList.TEXTBEFORE.functionParameter.matchEnd.name`, detail: `formula.functionList.TEXTBEFORE.functionParameter.matchEnd.detail`, example: `0`, require: 0, repeat: 0 }, { name: `formula.functionList.TEXTBEFORE.functionParameter.ifNotFound.name`, detail: `formula.functionList.TEXTBEFORE.functionParameter.ifNotFound.detail`, example: `"not found"`, require: 0, repeat: 0 }] }, { functionName: J3.TEXTJOIN, functionType: Dt2.Text, description: `formula.functionList.TEXTJOIN.description`, abstract: `formula.functionList.TEXTJOIN.abstract`, functionParameter: [{ name: `formula.functionList.TEXTJOIN.functionParameter.delimiter.name`, detail: `formula.functionList.TEXTJOIN.functionParameter.delimiter.detail`, example: `", "`, require: 1, repeat: 0 }, { name: `formula.functionList.TEXTJOIN.functionParameter.ignoreEmpty.name`, detail: `formula.functionList.TEXTJOIN.functionParameter.ignoreEmpty.detail`, example: `true`, require: 1, repeat: 0 }, { name: `formula.functionList.TEXTJOIN.functionParameter.text1.name`, detail: `formula.functionList.TEXTJOIN.functionParameter.text1.detail`, example: `"Hi"`, require: 1, repeat: 0 }, { name: `formula.functionList.TEXTJOIN.functionParameter.text2.name`, detail: `formula.functionList.TEXTJOIN.functionParameter.text2.detail`, example: `"Univer"`, require: 0, repeat: 1 }] }, { functionName: J3.TEXTSPLIT, functionType: Dt2.Text, description: `formula.functionList.TEXTSPLIT.description`, abstract: `formula.functionList.TEXTSPLIT.abstract`, functionParameter: [{ name: `formula.functionList.TEXTSPLIT.functionParameter.text.name`, detail: `formula.functionList.TEXTSPLIT.functionParameter.text.detail`, example: `A1:C2`, require: 1, repeat: 0 }, { name: `formula.functionList.TEXTSPLIT.functionParameter.colDelimiter.name`, detail: `formula.functionList.TEXTSPLIT.functionParameter.colDelimiter.detail`, example: `","`, require: 1, repeat: 0 }, { name: `formula.functionList.TEXTSPLIT.functionParameter.rowDelimiter.name`, detail: `formula.functionList.TEXTSPLIT.functionParameter.rowDelimiter.detail`, example: `";"`, require: 0, repeat: 0 }, { name: `formula.functionList.TEXTSPLIT.functionParameter.ignoreEmpty.name`, detail: `formula.functionList.TEXTSPLIT.functionParameter.ignoreEmpty.detail`, example: ``, require: 0, repeat: 0 }, { name: `formula.functionList.TEXTSPLIT.functionParameter.matchMode.name`, detail: `formula.functionList.TEXTSPLIT.functionParameter.matchMode.detail`, example: ``, require: 0, repeat: 0 }, { name: `formula.functionList.TEXTSPLIT.functionParameter.padWith.name`, detail: `formula.functionList.TEXTSPLIT.functionParameter.padWith.detail`, example: ``, require: 0, repeat: 0 }] }, { functionName: J3.TRIM, functionType: Dt2.Text, description: `formula.functionList.TRIM.description`, abstract: `formula.functionList.TRIM.abstract`, functionParameter: [{ name: `formula.functionList.TRIM.functionParameter.text.name`, detail: `formula.functionList.TRIM.functionParameter.text.detail`, example: `" Hello Univer "`, require: 1, repeat: 0 }] }, { functionName: J3.UNICHAR, functionType: Dt2.Text, description: `formula.functionList.UNICHAR.description`, abstract: `formula.functionList.UNICHAR.abstract`, functionParameter: [{ name: `formula.functionList.UNICHAR.functionParameter.number.name`, detail: `formula.functionList.UNICHAR.functionParameter.number.detail`, example: `65`, require: 1, repeat: 0 }] }, { functionName: J3.UNICODE, functionType: Dt2.Text, description: `formula.functionList.UNICODE.description`, abstract: `formula.functionList.UNICODE.abstract`, functionParameter: [{ name: `formula.functionList.UNICODE.functionParameter.text.name`, detail: `formula.functionList.UNICODE.functionParameter.text.detail`, example: `"Univer"`, require: 1, repeat: 0 }] }, { functionName: J3.UPPER, functionType: Dt2.Text, description: `formula.functionList.UPPER.description`, abstract: `formula.functionList.UPPER.abstract`, functionParameter: [{ name: `formula.functionList.UPPER.functionParameter.text.name`, detail: `formula.functionList.UPPER.functionParameter.text.detail`, example: `"Univer"`, require: 1, repeat: 0 }] }, { functionName: J3.VALUE, functionType: Dt2.Text, description: `formula.functionList.VALUE.description`, abstract: `formula.functionList.VALUE.abstract`, functionParameter: [{ name: `formula.functionList.VALUE.functionParameter.text.name`, detail: `formula.functionList.VALUE.functionParameter.text.detail`, example: `"123"`, require: 1, repeat: 0 }] }, { functionName: J3.VALUETOTEXT, functionType: Dt2.Text, description: `formula.functionList.VALUETOTEXT.description`, abstract: `formula.functionList.VALUETOTEXT.abstract`, functionParameter: [{ name: `formula.functionList.VALUETOTEXT.functionParameter.value.name`, detail: `formula.functionList.VALUETOTEXT.functionParameter.value.detail`, example: `"Univer"`, require: 1, repeat: 0 }, { name: `formula.functionList.VALUETOTEXT.functionParameter.format.name`, detail: `formula.functionList.VALUETOTEXT.functionParameter.format.detail`, example: `1`, require: 0, repeat: 0 }] }, { functionName: J3.CALL, functionType: Dt2.Text, description: `formula.functionList.CALL.description`, abstract: `formula.functionList.CALL.abstract`, functionParameter: [{ name: `formula.functionList.CALL.functionParameter.number1.name`, detail: `formula.functionList.CALL.functionParameter.number1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.CALL.functionParameter.number2.name`, detail: `formula.functionList.CALL.functionParameter.number2.detail`, example: `A1:A20`, require: 1, repeat: 0 }] }, { functionName: J3.EUROCONVERT, functionType: Dt2.Text, description: `formula.functionList.EUROCONVERT.description`, abstract: `formula.functionList.EUROCONVERT.abstract`, functionParameter: [{ name: `formula.functionList.EUROCONVERT.functionParameter.number1.name`, detail: `formula.functionList.EUROCONVERT.functionParameter.number1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.EUROCONVERT.functionParameter.number2.name`, detail: `formula.functionList.EUROCONVERT.functionParameter.number2.detail`, example: `A1:A20`, require: 1, repeat: 0 }] }, { functionName: J3.REGISTER_ID, functionType: Dt2.Text, description: `formula.functionList.REGISTER_ID.description`, abstract: `formula.functionList.REGISTER_ID.abstract`, functionParameter: [{ name: `formula.functionList.REGISTER_ID.functionParameter.number1.name`, detail: `formula.functionList.REGISTER_ID.functionParameter.number1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.REGISTER_ID.functionParameter.number2.name`, detail: `formula.functionList.REGISTER_ID.functionParameter.number2.detail`, example: `A1:A20`, require: 1, repeat: 0 }] }]; + var mi3 = []; + var hi3 = [{ functionName: ro2.ENCODEURL, functionType: Dt2.Web, description: `formula.functionList.ENCODEURL.description`, abstract: `formula.functionList.ENCODEURL.abstract`, functionParameter: [{ name: `formula.functionList.ENCODEURL.functionParameter.text.name`, detail: `formula.functionList.ENCODEURL.functionParameter.text.detail`, example: `"https://univer.ai/"`, require: 1, repeat: 0 }] }, { functionName: ro2.FILTERXML, functionType: Dt2.Web, description: `formula.functionList.FILTERXML.description`, abstract: `formula.functionList.FILTERXML.abstract`, functionParameter: [{ name: `formula.functionList.FILTERXML.functionParameter.number1.name`, detail: `formula.functionList.FILTERXML.functionParameter.number1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.FILTERXML.functionParameter.number2.name`, detail: `formula.functionList.FILTERXML.functionParameter.number2.detail`, example: `A1:A20`, require: 1, repeat: 0 }] }, { functionName: ro2.WEBSERVICE, functionType: Dt2.Web, description: `formula.functionList.WEBSERVICE.description`, abstract: `formula.functionList.WEBSERVICE.abstract`, functionParameter: [{ name: `formula.functionList.WEBSERVICE.functionParameter.number1.name`, detail: `formula.functionList.WEBSERVICE.functionParameter.number1.detail`, example: `A1:A20`, require: 1, repeat: 0 }, { name: `formula.functionList.WEBSERVICE.functionParameter.number2.name`, detail: `formula.functionList.WEBSERVICE.functionParameter.number2.detail`, example: `A1:A20`, require: 1, repeat: 0 }] }]; + var gi2 = [...si4, ...ai4, ...di2, ...fi3, ...ui3, ...ii3, ...pi2, ...li3, ...ci4, ...oi4, ...ri4, ...ni3, ...hi3, ...ti3, ...mi3]; + function _i4(e29, t) { + let n = ``; + return e29.aliasFunctionName ? (n = t.t(e29.aliasFunctionName), n === e29.aliasFunctionName && (n = e29.functionName)) : n = e29.functionName, n; + } + var vi3 = createIdentifier(`formula.description-service`); + var yi4 = class { + constructor(e29, t, n) { + this._functionService = e29, this._localeService = t, this._configService = n, X5(this, `_descriptions`, []), this._initialize(); + } + dispose() { + this._localeService.localeChanged$.complete(); + } + getDescriptions() { + return this._functionService.getDescriptions(); + } + hasFunction(e29) { + return this._functionService.getDescriptions().get(e29.toLocaleUpperCase()) !== void 0; + } + getFunctionInfo(e29) { + return this._functionService.getDescriptions().get(e29.toLocaleUpperCase()); + } + getSearchListByName(e29) { + let t = [], n = this._functionService.getDescriptions(), r = e29.toLocaleUpperCase().trim(); + return n.forEach((e30) => { + let { functionName: n2, abstract: i, functionType: a } = e30; + n2.toLocaleUpperCase().indexOf(r) > -1 && a !== Dt2.DefinedName && t.push({ name: n2, desc: i }); + }), t; + } + getSearchListByNameFirstLetter(e29) { + let t = [], n = this._functionService.getDescriptions(), r = e29.toLocaleUpperCase().trim(); + return n.forEach((e30) => { + let { functionName: n2, abstract: i, functionType: a } = e30; + n2.toLocaleUpperCase().indexOf(r) === 0 && t.push({ name: n2, desc: i, functionType: a }); + }), t; + } + getSearchListByType(e29) { + let t = []; + return this._functionService.getDescriptions().forEach((n) => { + let { functionName: r, functionType: i, abstract: a } = n; + (i === e29 || e29 === -1) && i !== Dt2.DefinedName && t.push({ name: r, desc: a }); + }), t; + } + registerDescriptions(e29) { + return this._descriptions = this._descriptions.concat(e29), this._registerDescriptions(), T2(() => { + let t = e29.map((e30) => e30.functionName); + this.unregisterDescriptions(t); + }); + } + unregisterDescriptions(e29) { + this._descriptions = this._descriptions.filter((t) => !e29.includes(t.functionName)), this._functionService.unregisterDescriptions(...e29); + } + hasDescription(e29) { + return this._descriptions.some((t) => t.functionName === e29); + } + hasDefinedNameDescription(e29) { + return this._descriptions.some((t) => t.functionName === e29 && t.functionType === Dt2.DefinedName); + } + isFormulaDefinedName(e29) { + let t = this._descriptions.filter((t2) => t2.functionName === e29 && t2.functionType === Dt2.DefinedName); + if (t.length === 0) return false; + let n = t[0].description; + return !nr2(n); + } + _initialize() { + this._localeService.localeChanged$.subscribe(() => { + this._registerDescriptions(); + }), this._initDescription(), this._registerDescriptions(); + } + _initDescription() { + var e29; + let t = [...ws2, ...Kl2, ...ql2, ...mu, ...Hu2, ...qd, ..._p, ...Vp, ...sm, ...Gm, ...Cg, ...jg, ...nv, ...Ay, ...jy, ...Fy].map((e30) => e30[1]), n = gi2.filter((e30) => t.includes(e30.functionName)), r = this._configService.getConfig(Ln4); + this._descriptions = n.concat((e29 = r == null ? void 0 : r.description) == null ? [] : e29); + } + _registerDescriptions() { + let e29 = this._localeService, t = this._descriptions.map((t2) => ({ functionName: _i4(t2, e29), functionType: t2.functionType, description: e29.t(t2.description), abstract: e29.t(t2.abstract), functionParameter: t2.functionParameter.map((t3) => ({ name: e29.t(t3.name), detail: e29.t(t3.detail), example: t3.example, require: t3.require, repeat: t3.repeat })) })); + this._functionService.registerDescriptions(...t); + } + }; + yi4 = Y5([J5(0, uo2), J5(1, Inject(zu)), J5(2, Yr)], yi4); + var bi4 = class extends E { + constructor(e29, t, n, r) { + super(), this._descriptionService = e29, this._definedNamesService = t, this._univerInstanceService = n, this._commandService = r, X5(this, `_preUnitId`, null), this._initialize(); + } + _initialize() { + this._descriptionListener(), this._changeUnitListener(), this._changeSheetListener(); + } + _descriptionListener() { + T2(this._definedNamesService.update$.subscribe(() => { + this._registerDescriptions(); + })); + } + _changeUnitListener() { + T2(this._univerInstanceService.getCurrentTypeOfUnit$(O.UNIVER_SHEET).subscribe((e29) => { + this._unRegisterDescriptions(), e29 && this._registerDescriptions(); + })); + } + _changeSheetListener() { + this.disposeWithMe(this._commandService.onCommandExecuted((e29, t) => { + if (!(t != null && t.fromCollab)) { + if (e29.id === Vr3.id) this._unregisterDescriptionsForNotInSheetId(), this._registerDescriptions(); + else if (e29.id === hr2.id) { + let t2 = e29.params; + this._registerDescription(t2); + } else if (e29.id === gr2.id) { + let t2 = e29.params; + this._unregisterDescription(t2); + } + } + })); + } + _registerDescription(e29) { + let t = this._getUnitIdAndSheetId(e29); + if (!t) return; + let { sheetId: n } = t, { name: r, comment: i, formulaOrRefString: a, localSheetId: o } = e29; + !this._descriptionService.hasDescription(r) && (o == null || o === Cf2 || o === n) && this._descriptionService.registerDescriptions([{ functionName: r, description: a + (i || ``), abstract: a, functionType: Dt2.DefinedName, functionParameter: [] }]); + } + _unregisterDescription(e29) { + let { name: t } = e29; + this._descriptionService.unregisterDescriptions([t]); + } + _unRegisterDescriptions() { + if (this._preUnitId == null) return; + let e29 = this._definedNamesService.getDefinedNameMap(this._preUnitId); + if (e29 == null) return; + let t = []; + Array.from(Object.values(e29)).forEach((e30) => { + let { name: n } = e30; + t.push(n); + }), this._descriptionService.unregisterDescriptions(t), this._preUnitId = null; + } + _getUnitIdAndSheetId(e29 = {}) { + let { unitId: t, subUnitId: n } = e29, r = t ? this._univerInstanceService.getUnit(t, O.UNIVER_SHEET) : this._univerInstanceService.getCurrentUnitOfType(O.UNIVER_SHEET); + if (!r) return null; + let i = n ? r.getSheetBySheetId(n) : r.getActiveSheet(true); + return i ? { unitId: r.getUnitId(), sheetId: i.getSheetId() } : null; + } + _registerDescriptions() { + let e29 = this._getUnitIdAndSheetId(); + if (!e29) return; + let { unitId: t, sheetId: n } = e29, r = this._definedNamesService.getDefinedNameMap(t); + if (!r) return; + let i = []; + this._preUnitId = t, Array.from(Object.values(r)).forEach((e30) => { + let { name: t2, comment: r2, formulaOrRefString: a, localSheetId: o } = e30; + !this._descriptionService.hasDescription(t2) && (o == null || o === Cf2 || o === n) && i.push({ functionName: t2, description: a + (r2 || ``), abstract: a, functionType: Dt2.DefinedName, functionParameter: [] }); + }), this._descriptionService.registerDescriptions(i); + } + _unregisterDescriptionsForNotInSheetId() { + let e29 = this._getUnitIdAndSheetId(); + if (!e29) return; + let { unitId: t, sheetId: n } = e29, r = this._definedNamesService.getDefinedNameMap(t); + if (!r) return; + let i = []; + Array.from(Object.values(r)).forEach((e30) => { + let { name: t2, localSheetId: r2 } = e30; + r2 !== Cf2 && r2 !== n && i.push(t2); + }), this._descriptionService.unregisterDescriptions(i); + } + }; + bi4 = Y5([J5(0, vi3), J5(1, pr2), J5(2, Mu), J5(3, ii)], bi4); + var xi3 = class extends E { + constructor(e29) { + super(), this._commandService = e29, [Fn4, In3, Ln2].forEach((e30) => this._commandService.registerCommand(e30)); + } + }; + xi3 = Y5([J5(0, ii)], xi3); + var Si3 = class extends E { + constructor(e29, t, n, r) { + super(), this._descriptionService = e29, this._univerInstanceService = t, this._commandService = n, this._superTableService = r, X5(this, `_preUnitId`, null), this._initialize(); + } + _initialize() { + this._descriptionListener(), this._changeUnitListener(), this._changeSheetListener(); + } + _descriptionListener() { + T2(this._superTableService.update$.subscribe(() => { + this._registerDescriptions(); + })); + } + _changeUnitListener() { + T2(this._univerInstanceService.getCurrentTypeOfUnit$(O.UNIVER_SHEET).subscribe((e29) => { + this._unRegisterDescriptions(), e29 && this._registerDescriptions(); + })); + } + _changeSheetListener() { + this.disposeWithMe(this._commandService.onCommandExecuted((e29, t) => { + if (!(t != null && t.fromCollab)) { + if (e29.id === Vr3.id) this._unregisterDescriptionsForNotInSheetId(), this._registerDescriptions(); + else if (e29.id === Br2.id) { + let t2 = e29.params; + this._registerDescription(t2); + } else if (e29.id === Vr2.id) { + let t2 = e29.params; + this._unregisterDescription(t2); + } + } + })); + } + _registerDescription(e29) { + let t = this._getUnitIdAndSheetId(e29); + if (!t) return; + let { unitId: n } = t, { tableName: r, reference: i } = e29; + if (!this._descriptionService.hasDescription(r)) { + var a; + let e30 = Kn2(((a = this._univerInstanceService.getUnit(n)) == null || (a = a.getSheetBySheetId(i.sheetId)) == null ? void 0 : a.getName()) || ``, i.range); + this._descriptionService.registerDescriptions([{ functionName: r, description: e30, abstract: e30, functionType: Dt2.Table, functionParameter: [] }]); + } + } + _unregisterDescription(e29) { + let { tableName: t } = e29; + this._descriptionService.unregisterDescriptions([t]); + } + _unRegisterDescriptions() { + if (this._preUnitId == null) return; + let e29 = this._superTableService.getTableMap(this._preUnitId); + if (e29 == null) return; + let t = []; + e29.forEach((e30, n) => { + t.push(n); + }), this._descriptionService.unregisterDescriptions(t), this._preUnitId = null; + } + _getUnitIdAndSheetId(e29 = {}) { + let { unitId: t, subUnitId: n } = e29, r = t ? this._univerInstanceService.getUnit(t, O.UNIVER_SHEET) : this._univerInstanceService.getCurrentUnitOfType(O.UNIVER_SHEET); + if (!r) return null; + let i = n ? r.getSheetBySheetId(n) : r.getActiveSheet(true); + return i ? { unitId: r.getUnitId(), sheetId: i.getSheetId() } : null; + } + _registerDescriptions() { + let e29 = this._getUnitIdAndSheetId(); + if (!e29) return; + let { unitId: t } = e29, n = this._superTableService.getTableMap(t); + if (!n) return; + let r = []; + this._preUnitId = t, n.forEach((e30, n2) => { + var i; + let a = Kn2(((i = this._univerInstanceService.getUnit(t)) == null || (i = i.getSheetBySheetId(e30.sheetId)) == null ? void 0 : i.getName()) || ``, e30.range); + this._descriptionService.hasDescription(n2) || r.push({ functionName: n2, description: a, abstract: a, functionType: Dt2.Table, functionParameter: [] }); + }), this._descriptionService.registerDescriptions(r); + } + _unregisterDescriptionsForNotInSheetId() { + let e29 = this._getUnitIdAndSheetId(); + if (!e29) return; + let { unitId: t } = e29, n = this._superTableService.getTableMap(t); + if (!n) return; + let r = []; + n.forEach((e30, t2) => { + r.push(t2); + }), this._descriptionService.unregisterDescriptions(r); + } + }; + Si3 = Y5([J5(0, vi3), J5(1, Mu), J5(2, ii), J5(3, zr2)], Si3); + function Ci3(t, n, r, i) { + let a = t.sequenceNodesBuilder(n); + if (a == null) return n; + let o = []; + for (let t2 = 0, n2 = a.length; t2 < n2; t2++) { + let n3 = a[t2]; + if (typeof n3 == `string` || n3.nodeType !== Xr.REFERENCE) continue; + let { token: s } = n3, c = Jr2(s), { sheetName: l, unitId: u } = c, d = c.range; + d.startAbsoluteRefType === V.ALL && d.endAbsoluteRefType === V.ALL || (d = Do(d, r, i), o.push({ unitId: u, sheetName: l, range: d })); + } + return o.map((e29) => `${e29.unitId}!${e29.sheetName}!${e29.range.startRow}!${e29.range.endRow}!${e29.range.startColumn}!${e29.range.endColumn}`).join(`|`); + } + var wi3 = class extends E { + constructor(e29, t, n, r) { + super(), this._refRangeService = e29, this._lexerTreeBuilder = t, this._univerInstanceService = n, this._injector = r; + } + transformFormulaByEffectCommand(e29, t, n, r) { + let i = this._lexerTreeBuilder.sequenceNodesBuilder(n), a = this._univerInstanceService.getCurrentUnitForType(O.UNIVER_SHEET), o = a.getActiveSheet(), s = a.getUnitId(), c = o.getSheetId(), l = i == null ? void 0 : i.map((n2) => { + if (typeof n2 == `object` && n2.nodeType === Xr.REFERENCE) { + let { range: i2, unitId: a2, sheetName: o2 } = Jr2(n2.token), l2 = this._univerInstanceService.getUnit(a2 || e29), u = o2 ? l2 == null ? void 0 : l2.getSheetBySheetName(o2) : l2 == null ? void 0 : l2.getSheetBySheetId(t); + if (!u) throw Error(`Sheet not found`); + let d = l2.getUnitId(), f = u.getSheetId(); + if (d !== s || f !== c) return n2; + let p = Os3(i2, r), m = ``; + if (p) { + let e30 = Do(i2, p.startColumn - i2.startColumn, p.startRow - i2.startRow); + m = a2 && o2 ? qn2(a2, o2, e30) : o2 ? Kn2(o2, e30) : Gn2(e30); + } else m = D3.REF; + return { ...n2, token: m }; + } else return n2; + }); + return l ? `=${Zr2(l)}` : ``; + } + registerFormula(e29, t, n, r) { + let i = /* @__PURE__ */ new Map(), a = this._lexerTreeBuilder.sequenceNodesBuilder(n), o = new un(), s = (e30) => { + let t2 = this._univerInstanceService.getCurrentUnitForType(O.UNIVER_SHEET), n2 = t2.getActiveSheet(), o2 = t2.getUnitId(), s2 = n2.getSheetId(), c = a == null ? void 0 : a.map((t3) => { + if (typeof t3 == `object` && t3.nodeType === Xr.REFERENCE) { + let n3 = i.get(t3.token); + if (n3.unitId !== o2 || n3.subUnitId !== s2) return t3; + let r2 = Os3(n3.range, e30), a2 = ``; + if (r2) { + let e31 = r2.startColumn - n3.range.startColumn, t4 = r2.startRow - n3.range.startRow, i2 = Do(n3.range, e31, t4); + a2 = n3.unitId && n3.sheetName ? qn2(n3.unitId, n3.sheetName, i2) : n3.sheetName ? Kn2(n3.sheetName, i2) : Gn2(i2); + } else a2 = D3.REF; + return { ...t3, token: a2 }; + } else return t3; + }); + return r(`=${c && Zr2(c)}`); + }; + return a == null || a.forEach((n2) => { + if (typeof n2 == `object` && n2.nodeType === Xr.REFERENCE) { + let { range: r2, unitId: a2, sheetName: c } = Jr2(n2.token), l = this._univerInstanceService.getUnit(a2 || e29), u = c ? l == null ? void 0 : l.getSheetBySheetName(c) : l == null ? void 0 : l.getSheetBySheetId(t); + if (!u) return; + let d = l.getUnitId(), f = u.getSheetId(), p = { unitId: d, subUnitId: f, range: r2, sheetName: c }; + i.set(n2.token, p), o.add(this._refRangeService.registerRefRange(r2, s, d, f)); + } + }), o; + } + _getFormulaDependcy(t, n, r, i) { + let a = ka(r) ? this._lexerTreeBuilder.sequenceNodesBuilder(r) : null, o = []; + return a == null || a.forEach((r2) => { + if (typeof r2 == `object` && r2.nodeType === Xr.REFERENCE) { + let { range: a2, unitId: s, sheetName: c } = Jr2(r2.token); + if (a2.startAbsoluteRefType === V.ALL && a2.endAbsoluteRefType === V.ALL) return; + let l = this._univerInstanceService.getUnit(s || t), u = c ? l == null ? void 0 : l.getSheetBySheetName(c) : l == null ? void 0 : l.getSheetBySheetId(n); + if (!u) return; + let d = l.getUnitId(), f = u.getSheetId(), p = i[0].startRow, m = i[0].startColumn, h = a2.startRow, g2 = a2.startColumn, _2 = i.map((e29) => ({ startRow: e29.startRow - p + h, endRow: e29.endRow - p + h, startColumn: e29.startColumn - m + g2, endColumn: e29.endColumn - m + g2 })); + o.push({ unitId: d, subUnitId: f, ranges: _2 }); + } + }), o; + } + registerRangeFormula(e29, t, n, r, i) { + let a = new un(), o = r.map((r2) => this._getFormulaDependcy(e29, t, r2, n)), s = (a2) => { + let s2 = Fs3(this._injector, a2); + if (!s2) return { undos: [], redos: [] }; + let c = n[0].startRow, l = n[0].startColumn, u = [{ unitId: e29, subUnitId: t, ranges: n }, ...o.flat()], d = []; + for (let { unitId: e30, subUnitId: t2, ranges: n2 } of u) if (e30 === s2.unitId && t2 === s2.subUnitId) { + let e31 = [], t3 = n2[0].startRow, r2 = n2[0].startColumn, i2 = t3 - c, a3 = r2 - l; + for (let t4 of s2.ranges) { + let r3 = n2.map((e32) => Po(t4, e32)).filter(Boolean); + r3.length > 0 && e31.push(...r3); + } + e31.length > 0 && d.push(e31.map((e32) => ({ startRow: e32.startRow - i2, endRow: e32.endRow - i2, startColumn: e32.startColumn - a3, endColumn: e32.endColumn - a3 }))); + } + if (d.length > 0) { + let o2 = G.splitIntoGrid([...d.flat()]), s3 = G.subtractMulti(n, o2); + s3.sort((e30, t2) => e30.startRow - t2.startRow || e30.startColumn - t2.startColumn); + let u2 = /* @__PURE__ */ new Map(); + for (let n2 = 0; n2 < o2.length; n2++) { + let i2 = o2[n2], s4 = i2.startRow, d2 = i2.startColumn, f2 = s4 - c, p2 = d2 - l, m2 = As3(i2, a2).sort((e30, t2) => e30.startRow - t2.startRow || e30.startColumn - t2.startColumn); + if (!m2.length) continue; + let h = m2[0].startRow, g2 = m2[0].startColumn, _2 = h - c, v = g2 - l, y = []; + for (let n3 = 0; n3 < r.length; n3++) { + let i3 = r[n3], o3 = ka(i3), s5 = o3 ? this._lexerTreeBuilder.moveFormulaRefOffset(i3, p2, f2) : i3, c2 = o3 ? this.transformFormulaByEffectCommand(e29, t, s5, a2) : s5, l2 = Ci3(this._lexerTreeBuilder, c2, -v, -_2); + y.push({ newFormula: c2, orginFormula: l2 }); + } + let b = { formulas: y, ranges: m2, key: y.map((e30) => e30.orginFormula).join(`_`) }; + u2.has(b.key) ? u2.get(b.key).push(b) : u2.set(b.key, [b]); + } + let f = r.map((e30) => Ci3(this._lexerTreeBuilder, e30, 0, 0)).join(`_`); + if (s3.length > 0) { + let e30 = s3[0].startRow, t2 = s3[0].startColumn, n2 = []; + for (let i3 = 0; i3 < r.length; i3++) { + let a3 = r[i3]; + n2.push({ newFormula: ka(a3) ? this._lexerTreeBuilder.moveFormulaRefOffset(a3, t2 - l, e30 - c) : a3, orginFormula: a3 }); + } + let i2 = { formulas: n2, ranges: s3, key: f }; + u2.has(i2.key) ? u2.get(i2.key).push(i2) : u2.set(i2.key, [i2]); + } + let p = [], m = Array.from(u2.keys()); + for (let e30 = m.length - 1; e30 >= 0; e30--) { + let t2 = m[e30], n2 = u2.get(t2).sort((e31, t3) => e31.ranges[0].startRow - t3.ranges[0].startRow || e31.ranges[0].startColumn - t3.ranges[0].startColumn), r2 = []; + for (let e31 = 0; e31 < n2[0].formulas.length; e31++) r2.push(n2[0].formulas[e31].newFormula); + let i2 = G.mergeRanges(n2.map((e31) => e31.ranges).flat()); + i2.sort((e31, t3) => e31.startRow - t3.startRow || e31.startColumn - t3.startColumn), p.push({ formulas: r2, ranges: i2 }); + } + return i(p); + } + return { undos: [], redos: [] }; + }; + return n.forEach((n2) => { + let r2 = this._refRangeService.registerRefRange(n2, s, e29, t); + a.add(r2); + }), [...o.flat()].forEach(({ unitId: e30, subUnitId: t2, ranges: n2 }) => { + n2.forEach((n3) => { + let r2 = this._refRangeService.registerRefRange(n3, s, e30, t2); + a.add(r2); + }); + }), a; + } + }; + wi3 = Y5([J5(0, Inject(zs3)), J5(1, Inject(ni)), J5(2, Mu), J5(3, Inject(Injector))], wi3); + var Ti3 = `sheets-formula.remote-register-function.service`; + var Ei3 = createIdentifier(Ti3); + var Di3 = class { + constructor(e29) { + this._functionService = e29; + } + async registerFunctions(e29) { + let t = e29.map(([e30, t2]) => Oi3(e30, t2)); + this._functionService.registerExecutors(...t); + } + async registerAsyncFunctions(e29) { + let t = e29.map(([e30, t2]) => ki3(e30, t2)); + this._functionService.registerExecutors(...t); + } + async unregisterFunctions(e29) { + this._functionService.unregisterExecutors(...e29), this._functionService.unregisterDescriptions(...e29), this._functionService.deleteFormulaAstCacheKey(...e29); + } + }; + Di3 = Y5([J5(0, uo2)], Di3); + function Oi3(e29, t) { + let n = new Yl2(t); + return n.calculateCustom = Function(`return ${e29}`)(), n; + } + function ki3(e29, t) { + let n = new Xl2(t); + return n.calculateCustom = Function(`return ${e29}`)(), n; + } + var Ai3 = createIdentifier(`sheets-formula.register-function-service`); + var ji3 = class extends E { + constructor(e29, t, n, r) { + super(), this._localeService = e29, this._descriptionService = t, this._functionService = n, this._remoteRegisterFunctionService = r; + } + registerFunction(e29) { + return this._registerSingleFunction(e29); + } + registerAsyncFunction(e29) { + return this._registerSingleFunction({ ...e29, async: true }); + } + registerFunctions(e29) { + let { locales: t, description: n, calculate: r } = e29; + t && this._localeService.load(t); + let i = new un(); + if (n) i.add(this._descriptionService.registerDescriptions(n)); + else { + let e30 = r.map(([e31, t2, n2]) => ({ functionName: t2, functionType: Dt2.User, description: ``, abstract: n2 || ``, functionParameter: [] })); + i.add(this._functionService.registerDescriptions(...e30)); + } + return i.add(this._registerLocalExecutors(r)), this._remoteRegisterFunctionService && i.add(this._registerRemoteExecutors(r)), i; + } + _registerSingleFunction(e29) { + let { name: t, func: n, description: r, locales: i, async: a = false } = e29, o = new un(); + if (i && this._localeService.load(i), typeof r == `string`) { + let e30 = { functionName: t, functionType: Dt2.User, description: r, abstract: r || ``, functionParameter: [] }; + o.add(this._descriptionService.registerDescriptions([e30])); + } else o.add(this._descriptionService.registerDescriptions([r])); + let s = a ? new Xl2(t) : new Yl2(t); + return s.calculateCustom = n, this._functionService.registerExecutors(s), o.add(T2(() => this._functionService.unregisterExecutors(t))), o.add(T2(() => this._functionService.unregisterDescriptions(t))), o.add(T2(() => this._functionService.deleteFormulaAstCacheKey(t))), this._remoteRegisterFunctionService && (this._remoteRegisterFunctionService.registerAsyncFunctions([[n.toString(), t]]), o.add(T2(() => this._remoteRegisterFunctionService.unregisterFunctions([t])))), o; + } + _registerLocalExecutors(e29) { + let t = e29.map(([e30, t2]) => t2), n = e29.map(([e30, t2]) => { + let n2 = new Yl2(t2); + return n2.calculateCustom = e30, n2; + }); + return this._functionService.registerExecutors(...n), T2(() => this._functionService.unregisterExecutors(...t)); + } + _registerRemoteExecutors(e29) { + let t = [], n = e29.map(([e30, n2]) => (t.push(n2), [e30.toString(), n2])); + return this._remoteRegisterFunctionService.registerFunctions(n), T2(() => this._remoteRegisterFunctionService.unregisterFunctions(t)); + } + }; + ji3 = Y5([J5(0, Inject(zu)), J5(1, Inject(vi3)), J5(2, uo2), J5(3, Optional(Ei3))], ji3); + var Mi3 = class extends qu { + constructor(e29 = Vn4, t, n) { + super(), this._config = e29, this._injector = t, this._configService = n; + let { ...r } = merge_default({}, Vn4, this._config); + this._configService.setConfig(Bn4, r); + } + onStarting() { + this._injector.add([Di3]), this._injector.get(W2).registerChannel(Ti3, L2(this._injector.get(Di3))); + } + }; + X5(Mi3, `pluginName`, `SHEET_FORMULA_REMOTE_PLUGIN`), X5(Mi3, `packageName`, Zr4), X5(Mi3, `version`, Qr3), X5(Mi3, `type`, O.UNIVER_SHEET), Mi3 = Y5([Yu(Yy), J5(1, Inject(Injector)), J5(2, Yr)], Mi3); + var Ni3 = class extends qu { + constructor(e29 = zn4, t, n) { + super(), this._config = e29, this._injector = t, this._configService = n; + let { ...r } = merge_default({}, zn4, this._config); + this._configService.setConfig(Ln4, r, { merge: true }); + } + onStarting() { + let e29 = this._injector, t = [[Ai3, { useClass: ji3 }], [vi3, { useClass: yi4 }], [xi3], [wi3], [ei3], [Jn4], [Zn4], [Xr3], [$r4], [bi4], [Yr4], [Si3], [Hn4]]; + if (this._config.notExecuteFormula) { + let n = e29.get(W2); + t.push([Ei3, { useFactory: () => R3(n.requestChannel(Ti3)) }]); + } + t.forEach((t2) => e29.add(t2)); + } + onReady() { + St(this._injector, [[xi3], [$r4], [ei3], [Jn4], [Xr3], [Yr4], [Hn4]]), Tn() && St(this._injector, [[Zn4]]); + } + onRendered() { + St(this._injector, [[bi4], [Si3]]), Tn() || St(this._injector, [[Zn4]]); + } + }; + X5(Ni3, `pluginName`, `SHEETS_FORMULA_PLUGIN`), X5(Ni3, `packageName`, Zr4), X5(Ni3, `version`, Qr3), X5(Ni3, `type`, O.UNIVER_SHEET), Ni3 = Y5([Yu(Xf2), J5(1, Inject(Injector)), J5(2, Yr)], Ni3); + + // node_modules/@univerjs/preset-sheets-core/lib/es/worker.js + function g(r = {}) { + const { + formula: e29 + } = r; + return { + plugins: [ + [Xf2, { onlyRegisterFormulaRelatedMutations: true }], + [Yy, { function: e29 == null ? void 0 : e29.function }], + $2, + Mi3 + ] + }; + } +})(); +/*! Bundled license information: + +@wendellhu/redi/dist/esm/index.js: + (* istanbul ignore next -- @preserve *) + +lodash-es/lodash.js: + (** + * @license + * Lodash (Custom Build) + * Build: `lodash modularize exports="es" -o ./` + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + *) + +decimal.js/decimal.mjs: + (*! + * decimal.js v10.6.0 + * An arbitrary-precision Decimal type for JavaScript. + * https://github.com/MikeMcl/decimal.js + * Copyright (c) 2025 Michael Mclaughlin + * MIT Licence + *) +*/ diff --git a/public/tools/debug/debug.css b/public/tools/debug/debug.css new file mode 100644 index 0000000..37aaf90 --- /dev/null +++ b/public/tools/debug/debug.css @@ -0,0 +1,4 @@ +.wrap { display: grid; gap: 8px; padding: 12px } +.actions { display: flex; gap: 8px } +.btn { padding: 8px 12px; border: none; background: #222; color: #fff; border-radius: 6px; cursor: pointer } +.logbox { height: 420px; border: 1px dashed #aaa; padding: 8px; overflow: auto; background: #fafafa; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size: 12px; white-space: pre-wrap } diff --git a/public/tools/debug/debug.js b/public/tools/debug/debug.js new file mode 100644 index 0000000..c3383de --- /dev/null +++ b/public/tools/debug/debug.js @@ -0,0 +1,30 @@ +const out = document.getElementById('debug-output') +const btnCopy = document.getElementById('btn-copy') +const btnRefresh = document.getElementById('btn-refresh') +const btnClear = document.getElementById('btn-clear') + +const render = lines => { + out.textContent = lines.join('\n') + out.scrollTop = out.scrollHeight +} + +const load = async () => { + const res = await fetch('/api/debug/logs?limit=5000') + const data = await res.json() + if (data.ok) render(data.lines) +} + +btnCopy.addEventListener('click', async () => { + const text = out.textContent || '' + try { await navigator.clipboard.writeText(text) } catch {} +}) + +btnRefresh.addEventListener('click', load) + +btnClear.addEventListener('click', async () => { + await fetch('/api/debug/clear', { method: 'POST' }) + await load() +}) + +setInterval(load, 5000) +load() diff --git a/public/tools/debug/index.html b/public/tools/debug/index.html new file mode 100644 index 0000000..5d0b10b --- /dev/null +++ b/public/tools/debug/index.html @@ -0,0 +1,23 @@ + + + + + + Yang's Toolbox · 调试信息 + + + + +
    +
    +
    + + + +
    +
    +
    +
    + + + diff --git a/public/tools/dlt_draws/assets/app.js b/public/tools/dlt_draws/assets/app.js new file mode 100644 index 0000000..d87bb20 --- /dev/null +++ b/public/tools/dlt_draws/assets/app.js @@ -0,0 +1,1862 @@ +const state = { + draws: [], + window: 50, + frontMax: 35, + backMax: 12, + ticketLimitCNY: 20000, + recommended: [] +}; + +const el = (id) => document.getElementById(id); +const pad2 = (n) => String(n).padStart(2, "0"); +const parseNumList = (str, max) => { + if (!str) return []; + return str + .split(/[,,\s]+/) + .filter(Boolean) + .map((s) => parseInt(s, 10)) + .filter((n) => Number.isInteger(n) && n >= 1 && n <= max) + .filter((v, i, a) => a.indexOf(v) === i) + .sort((a, b) => a - b); +}; +const combo = (n, k) => { + if (k < 0 || k > n) return 0; + if (k === 0 || k === n) return 1; + k = Math.min(k, n - k); + let r = 1; + for (let i = 1; i <= k; i++) r = (r * (n - k + i)) / i; + return Math.round(r); +}; + +const storageKey = "dlt_draws"; +const defaultApiBase = `/api`; +const API_BASE = window.API_BASE || defaultApiBase; +state.useServer = true; + +// 禁用本地存储,避免数据不一致 +const saveDrawsLocal = () => {}; +const loadDraws = () => {}; + +const apiHealth = async () => { + try { + const res = await fetch(`${API_BASE}/health`, { cache: "no-store" }); + return res.ok; + } catch (_) { + return false; + } +}; + +const apiGetDraws = async () => { + const res = await fetch(`${API_BASE}/draws`, { cache: "no-store" }); + if (!res.ok) throw new Error(`获取服务器数据失败: ${res.status}`); + const list = await res.json(); + // 服务器返回 front/back 为数组或逗号字符串,统一规范为数组 + const norm = (arr) => Array.isArray(arr) + ? arr.map((n) => parseInt(n, 10)).filter((x) => Number.isInteger(x)) + : String(arr).split(/[,,\s]+/).filter(Boolean).map((n) => parseInt(n, 10)); + return list.map((r) => ({ + issue: String(r.issue), + date: r.date || "", + front: norm(r.front).sort((a,b)=>a-b), + back: norm(r.back).sort((a,b)=>a-b), + pool: Number(r.pool || 0) + })).sort((a,b)=> (a.issue > b.issue ? 1 : -1)); +}; + +const apiMergeRows = async (rows) => { + const payload = { rows }; + const res = await fetch(`${API_BASE}/draws/merge`, { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify(payload) + }); + if (!res.ok) throw new Error(`服务器入库失败: ${res.status}`); + return res.json(); +}; + +const apiClearAll = async () => { + const res = await fetch(`${API_BASE}/draws/clear`, { method: "POST" }); + if (!res.ok) throw new Error(`服务器清库失败: ${res.status}`); + return res.json(); +}; + +// 从服务器刷新数据并覆盖前端状态,同时回写本地存储,保持离线可用 +const refreshFromServer = async () => { + const ok = await apiHealth(); + if (!ok) { + appendLog("服务器不可用,继续使用本地存储"); + state.useServer = false; + return false; + } + state.useServer = true; + const list = await apiGetDraws(); + state.draws = list; + saveDrawsLocal(); + appendLog(`从服务器同步:总 ${state.draws.length} 期`); + updateMeta(); + recomputeAll(); + return true; +}; + +// 新浪页面地址(大乐透 lottId=201) +// 官方历史开奖页面(大乐透) +const LOTTERY_URL = "https://www.lottery.gov.cn/kj/kjlb.html?dlt"; + +const logElSafe = () => document.getElementById("fetchLog"); +const appendLog = (msg) => { + const t = new Date(); + const time = [t.getHours(), t.getMinutes(), t.getSeconds()].map((x) => String(x).padStart(2, "0")).join(":"); + const line = `[${time}] ${msg}`; + const elLog = logElSafe(); + if (elLog) { + elLog.textContent += line + "\n"; + elLog.scrollTop = elLog.scrollHeight; + } + console.log(line); +}; +const sleep = (ms) => new Promise((r) => setTimeout(r, ms)); + +// 带重试与候选方案的抓取:优先直接,其次多个代理;每种方案最多3次,指数退避 +const fetchTextWithCors = async (url) => { + const strategies = [ + { name: "直接抓取", build: (u) => u }, + { + name: "代理(r.jina.ai:http)", + build: (u) => { + try { + const p = new URL(u); + return `https://r.jina.ai/http://${p.host}${p.pathname}${p.search}`; + } catch (_) { + return `https://r.jina.ai/http://${u.replace(/^https?:\/\//, "")}`; + } + }, + }, + { + name: "代理(r.jina.ai:https)", + build: (u) => { + try { + const p = new URL(u); + return `https://r.jina.ai/https://${p.host}${p.pathname}${p.search}`; + } catch (_) { + return `https://r.jina.ai/https://${u.replace(/^https?:\/\//, "")}`; + } + }, + }, + { name: "代理(cors.isomorphic-git.org)", build: (u) => `https://cors.isomorphic-git.org/${u}` }, + ]; + appendLog(`开始抓取:${url}`); + for (const s of strategies) { + const target = s.build(url); + for (let attempt = 1; attempt <= 3; attempt++) { + appendLog(`${s.name} 第 ${attempt} 次尝试 -> ${target}`); + try { + const res = await fetch(target, { cache: "no-store" }); + if (!res.ok) { + appendLog(`${s.name} 响应非200,状态=${res.status}`); + } else { + const text = await res.text(); + appendLog(`${s.name} 成功,长度=${text.length}`); + return text; + } + } catch (e) { + appendLog(`${s.name} 异常:${e && e.message ? e.message : String(e)}`); + } + await sleep(500 * attempt); // 退避等待 + } + } + throw new Error("抓取失败(跨域或网络异常)"); +}; + +// 从新浪HTML解析期号、日期与开奖号码(前区5、后区2) +// 解析官网页面的开奖号码与期号 +const parseLotteryGovHtmlToRows = (html) => { + const issueMatches = [...html.matchAll(/20\d{5}/g)].map((m) => ({ index: m.index || 0, issue: m[0] })); + const codeRegex = /((?:\d{2}[ ,,]+){4}\d{2})\s*[++]\s*((?:\d{2}[ ,,]+)\d{2})/g; + const dateRegex1 = /(20\d{2}-\d{2}-\d{2})/g; // 2024-01-01 + const dateRegex2 = /(20\d{2})年(\d{1,2})月(\d{1,2})日/g; // 2024年1月1日 + const rows = []; + let m; + while ((m = codeRegex.exec(html)) !== null) { + const startIdx = Math.max(0, m.index - 200); + const snippet = html.slice(startIdx, m.index + 200); + // 找最近的期号 + let issue = null; + for (let i = issueMatches.length - 1; i >= 0; i--) { + if (issueMatches[i].index <= (m.index || 0)) { issue = issueMatches[i].issue; break; } + } + // 找附近日期 + let date = null; let dm; + while ((dm = dateRegex1.exec(snippet)) !== null) { date = dm[1]; } + if (!date) { + let dm2; + while ((dm2 = dateRegex2.exec(snippet)) !== null) { + const y = dm2[1]; + const mo = String(dm2[2]).padStart(2, "0"); + const da = String(dm2[3]).padStart(2, "0"); + date = `${y}-${mo}-${da}`; + } + } + const front = m[1].split(/[ ,,]+/).filter(Boolean).map((x) => parseInt(x, 10)).sort((a, b) => a - b); + const back = m[2].split(/[ ,,]+/).filter(Boolean).map((x) => parseInt(x, 10)).sort((a, b) => a - b); + if (front.length === 5 && back.length === 2 && issue) { + rows.push({ issue, date: date || "", front, back, pool: 0 }); + } + } + // 去重,按期号唯一 + const seen = new Set(); + const uniq = []; + for (const r of rows) { if (!seen.has(r.issue)) { seen.add(r.issue); uniq.push(r); } } + // 排序(期号升序) + uniq.sort((a, b) => parseInt(a.issue, 10) - parseInt(b.issue, 10)); + appendLog(`解析完成:匹配到 ${uniq.length} 期号码`); + return uniq; +}; + +const mergeNewRows = (rows) => { + const existing = new Set(state.draws.map((d) => d.issue)); + const add = rows.filter((r) => r.issue && !existing.has(r.issue)); + if (!add.length) { + appendLog(`增量合并:新增 0 期,现有总数 ${state.draws.length}`); + return 0; + } + // 仅在线入库:先写服务器,再刷新内存 + (async () => { + try { + const r = await apiMergeRows(add); + const inserted = r.inserted ?? r.added ?? add.length; + appendLog(`服务器入库:新增 ${inserted} 期`); + await refreshFromServer(); + updateMeta(); + recomputeAll(); + } catch (e) { + appendLog(`服务器入库失败:${e && e.message ? e.message : String(e)}`); + } + })(); + return add.length; +}; + +const parseCSV = (text) => { + const lines = text.trim().split(/\r?\n/); + const rows = []; + for (let i = 0; i < lines.length; i++) { + const raw = lines[i].trim(); + if (!raw) continue; + const parts = []; + let cur = ""; + let inQuote = false; + for (let c of raw) { + if (c === '"') { inQuote = !inQuote; continue; } + if (c === "," && !inQuote) { parts.push(cur); cur = ""; } else cur += c; + } + parts.push(cur); + if (parts.length < 5) continue; + const issue = parts[0].trim(); + const date = parts[1].trim(); + const front = parts[2].trim(); + const back = parts[3].trim(); + const pool = parts[4].trim(); + const frontArr = front.split(/[\s,,]+/).filter(Boolean).map((x) => parseInt(x, 10)); + const backArr = back.split(/[\s,,]+/).filter(Boolean).map((x) => parseInt(x, 10)); + if (frontArr.length === 5 && backArr.length === 2) { + rows.push({ issue, date, front: frontArr, back: backArr, pool: Number(pool) || 0 }); + } + } + rows.sort((a, b) => (a.issue > b.issue ? 1 : -1)); + return rows; +}; + +const computeFreq = (draws, window, range) => { + const freq = Array(range).fill(0); + const start = Math.max(0, draws.length - window); + for (let i = start; i < draws.length; i++) { + const d = draws[i]; + const arr = range === state.frontMax ? d.front : d.back; + for (let n of arr) freq[n - 1]++; + } + return freq; +}; + +const computeMiss = (draws, window, range) => { + const miss = Array(range).fill(0); + const start = Math.max(0, draws.length - window); + for (let n = 1; n <= range; n++) { + let lastSeen = -1; + for (let i = draws.length - 1; i >= start; i--) { + const arr = range === state.frontMax ? draws[i].front : draws[i].back; + if (arr.includes(n)) { lastSeen = i; break; } + } + miss[n - 1] = lastSeen === -1 ? (draws.length - start) : (draws.length - 1 - lastSeen); + } + return miss; +}; + +const computeSummary = (draws, window, frontThr, backThr) => { + const start = Math.max(0, draws.length - window); + let frontSum = 0, backSum = 0; + let frontOdd = 0, frontEven = 0, frontBig = 0, frontSmall = 0; + let backOdd = 0, backEven = 0, backBig = 0, backSmall = 0; + const frontRegion = [0, 0, 0]; + const backRegion = [0, 0]; + for (let i = start; i < draws.length; i++) { + const d = draws[i]; + frontSum += d.front.reduce((a, b) => a + b, 0); + backSum += d.back.reduce((a, b) => a + b, 0); + for (let n of d.front) { + if (n % 2) frontOdd++; else frontEven++; + if (n > frontThr) frontBig++; else frontSmall++; + if (n <= 12) frontRegion[0]++; else if (n <= 24) frontRegion[1]++; else frontRegion[2]++; + } + for (let n of d.back) { + if (n % 2) backOdd++; else backEven++; + if (n > backThr) backBig++; else backSmall++; + if (n <= 6) backRegion[0]++; else backRegion[1]++; + } + } + const cnt = Math.max(1, draws.length - start); + return { + frontAvgSum: (frontSum / cnt).toFixed(2), + backAvgSum: (backSum / cnt).toFixed(2), + frontOdd, frontEven, frontBig, frontSmall, + backOdd, backEven, backBig, backSmall, + frontRegion, backRegion, + }; +}; + +const renderBars = (containerId, freq) => { + const c = el(containerId); + c.innerHTML = ""; + const max = Math.max(1, ...freq); + freq.forEach((f, idx) => { + const row = document.createElement("div"); row.className = "bar-row"; + const label = document.createElement("div"); label.className = "bar-label"; label.textContent = pad2(idx + 1); + const bar = document.createElement("div"); bar.className = "bar"; + const fill = document.createElement("div"); fill.className = "bar-fill"; fill.style.width = `${(f / max) * 100}%`; + const val = document.createElement("div"); val.className = "bar-value"; val.textContent = String(f); + bar.appendChild(fill); + row.appendChild(label); row.appendChild(bar); row.appendChild(val); + c.appendChild(row); + }); +}; + +const renderMiss = (containerId, miss) => { + const c = el(containerId); + c.innerHTML = ""; + miss.forEach((m, idx) => { + const item = document.createElement("div"); item.className = "grid-item"; + const n = document.createElement("span"); n.className = "n"; n.textContent = pad2(idx + 1); + const v = document.createElement("span"); v.className = "v"; v.textContent = String(m); + item.appendChild(n); item.appendChild(v); + c.appendChild(item); + }); +}; + +const renderSummary = (sum) => { + const c = el("summaryStats"); + c.innerHTML = ""; + const add = (title, content) => { + const d = document.createElement("div"); d.className = "summary-item"; + const h5 = document.createElement("h5"); h5.textContent = title; + const s = document.createElement("div"); s.className = "content"; s.textContent = content; + d.appendChild(h5); d.appendChild(s); c.appendChild(d); + }; + add("前区平均和值", String(sum.frontAvgSum)); + add("后区平均和值", String(sum.backAvgSum)); + add("前区奇偶", `${sum.frontOdd} 奇 / ${sum.frontEven} 偶`); + add("前区大小", `${sum.frontBig} 大 / ${sum.frontSmall} 小`); + add("后区奇偶", `${sum.backOdd} 奇 / ${sum.backEven} 偶`); + add("后区大小", `${sum.backBig} 大 / ${sum.backSmall} 小`); + add("前区区间分布", `1-12:${sum.frontRegion[0]} 13-24:${sum.frontRegion[1]} 25-35:${sum.frontRegion[2]}`); + add("后区区间分布", `1-6:${sum.backRegion[0]} 7-12:${sum.backRegion[1]}`); +}; + +const updateMeta = () => { + el("drawCount").textContent = String(state.draws.length); + el("latestIssue").textContent = state.draws.length ? state.draws[state.draws.length - 1].issue : "-"; +}; + +const recomputeAll = () => { + const w = state.window; + const fFreq = computeFreq(state.draws, w, state.frontMax); + const bFreq = computeFreq(state.draws, w, state.backMax); + const fMiss = computeMiss(state.draws, w, state.frontMax); + const bMiss = computeMiss(state.draws, w, state.backMax); + renderBars("frontFreq", fFreq); + renderBars("backFreq", bFreq); + renderMiss("frontMiss", fMiss); + renderMiss("backMiss", bMiss); + const sum = computeSummary(state.draws, w, Number(el("frontSizeThreshold").value), Number(el("backSizeThreshold").value)); + renderSummary(sum); +}; + +const switchTab = (target) => { + document.querySelectorAll(".tab-btn").forEach((b) => b.classList.toggle("active", b.dataset.target === target)); + document.querySelectorAll(".tab-panel").forEach((p) => p.classList.toggle("hidden", p.id !== target)); +}; + +document.querySelectorAll(".tab-btn").forEach((b) => b.addEventListener("click", () => switchTab(b.dataset.target))); + +el("btnImport").addEventListener("click", async () => { + const file = el("csvFile").files[0]; + if (!file) return alert("请选择CSV文件"); + const text = await file.text(); + const rows = parseCSV(text); + if (!rows.length) return alert("CSV内容无有效数据(需5前区+2后区)"); + try { + const r = await apiMergeRows(rows); + appendLog(`服务器入库:新增 ${r.inserted ?? r.added ?? rows.length} 期`); + await refreshFromServer(); + updateMeta(); + recomputeAll(); + } catch (e) { + alert(`导入失败:${e && e.message ? e.message : String(e)}`); + } +}); + +el("btnClear").addEventListener("click", async () => { + if (!confirm("确认清空服务器历史数据?此操作不可恢复!")) return; + try { + const r = await apiClearAll(); + appendLog(`服务器清库完成`); + await refreshFromServer(); + updateMeta(); + el("frontFreq").innerHTML = ""; el("backFreq").innerHTML = ""; el("frontMiss").innerHTML = ""; el("backMiss").innerHTML = ""; el("summaryStats").innerHTML = ""; + } catch (e) { + alert(`清库失败:${e && e.message ? e.message : String(e)}`); + } +}); + +el("btnTemplate").addEventListener("click", () => { + const csv = [ + "期号,开奖日期,前区,后区,奖池资金", + "2024001,2024-01-01,01 08 12 23 31,03 09,100000000", + "2024002,2024-01-03,02 09 11 28 35,01 06,100500000" + ].join("\n"); + const a = document.createElement("a"); + a.href = URL.createObjectURL(new Blob([csv], { type: "text/csv;charset=utf-8;" })); + a.download = "大乐透数据模板.csv"; + a.click(); +}); + +// 导出历史开奖数据为CSV +el("btnExportDraws").addEventListener("click", () => { + if (!state.draws.length) return alert("暂无历史数据可导出"); + const rows = ["期号,开奖日期,前区,后区,奖池资金"]; // 与模板一致 + state.draws.forEach((d) => { + const front = d.front.map(pad2).join(" "); + const back = d.back.map(pad2).join(" "); + rows.push(`${d.issue},${d.date || ""},"${front}","${back}",${d.pool || 0}`); + }); + const a = document.createElement("a"); + a.href = URL.createObjectURL(new Blob([rows.join("\n")], { type: "text/csv;charset=utf-8;" })); + a.download = `大乐透历史数据_${state.draws.length}期.csv`; + a.click(); +}); + +// 官网抓取按钮:抓取、解析并增量入库(不清空) +el("btnFetchSina").addEventListener("click", async () => { + const btn = el("btnFetchSina"); + const prev = btn.textContent; + btn.disabled = true; btn.textContent = "抓取中..."; + try { + const html = await fetchTextWithCors(LOTTERY_URL); + const rows = parseLotteryGovHtmlToRows(html); + if (!rows.length) { alert("解析失败:未发现有效的开奖号码格式"); return; } + const added = mergeNewRows(rows); + updateMeta(); + recomputeAll(); + alert(added ? `新增 ${added} 期数据,已合并到本地。` : "无新数据需要更新。"); + } catch (e) { + appendLog(`抓取失败:${e && e.message ? e.message : String(e)}`); + alert(e.message || "抓取失败"); + } finally { + btn.disabled = false; btn.textContent = prev; + } +}); + +// 备用:解析粘贴的官网源码并入库 +el("btnParseHtml").addEventListener("click", () => { + const text = el("htmlPaste").value.trim(); + if (!text) return alert("请先粘贴官网页面源代码"); + appendLog("开始解析粘贴的源码..."); + const rows = parseLotteryGovHtmlToRows(text); + if (!rows.length) { alert("解析失败:未发现有效的开奖号码格式"); return; } + const added = mergeNewRows(rows); + updateMeta(); + recomputeAll(); + alert(added ? `新增 ${added} 期数据,已合并到本地。` : "无新数据需要更新。"); +}); + +// 解析纯文本行:格式为 期号\tYYYY-MM-DD\t前区(5个)\t后区(2个)\t其它列... +const parsePlainLinesToRows = (text) => { + const lines = text.split(/\r?\n/).map((l) => l.trim()).filter(Boolean); + const rows = []; + for (const line of lines) { + // 抓取期号与日期 + const md = line.match(/(\d{5,6})\s+(20\d{2}-\d{2}-\d{2})/); + if (!md) continue; + const issue = md[1]; + const date = md[2]; + const tail = line.slice(md.index + md[0].length).trim(); + // 抓取两位数号码,从左到右,优先填前区5个(1-35),再填后区2个(1-12) + const tokens = (tail.match(/\b\d{2}\b/g) || []).map((x) => parseInt(x, 10)); + const front = []; + const back = []; + for (const n of tokens) { + if (front.length < 5 && n >= 1 && n <= 35 && !front.includes(n)) { front.push(n); continue; } + if (front.length === 5 && back.length < 2 && n >= 1 && n <= 12 && !back.includes(n)) { back.push(n); continue; } + } + if (front.length === 5 && back.length === 2) { + rows.push({ issue, date, front: front.sort((a,b)=>a-b), back: back.sort((a,b)=>a-b), pool: 0 }); + } + } + appendLog(`纯文本解析完成:匹配到 ${rows.length} 期号码`); + return rows; +}; + +// 解析纯文本按钮 +el("btnParsePlain").addEventListener("click", () => { + const text = el("htmlPaste").value.trim(); + if (!text) return alert("请先粘贴纯文本内容"); + appendLog("开始解析纯文本行..."); + const rows = parsePlainLinesToRows(text); + if (!rows.length) { alert("解析失败:未发现有效的开奖号码格式"); return; } + const added = mergeNewRows(rows); + updateMeta(); + recomputeAll(); + alert(added ? `新增 ${added} 期数据,已合并到本地。` : "无新数据需要更新。"); +}); + +// 日志清空 +el("btnLogClear").addEventListener("click", () => { + const elLog = logElSafe(); + if (elLog) elLog.textContent = ""; +}); + +el("periodWindow").addEventListener("change", () => { + state.window = Math.max(1, Number(el("periodWindow").value)); +}); +el("btnRefresh").addEventListener("click", () => recomputeAll()); +el("btnRecompute").addEventListener("click", () => recomputeAll()); + +el("hotPref").addEventListener("input", () => el("hotPrefVal").textContent = el("hotPref").value); +el("coldPref").addEventListener("input", () => el("coldPrefVal").textContent = el("coldPref").value); + +const randomPick = () => { + const front = new Set(); + while (front.size < 5) front.add(1 + Math.floor(Math.random() * state.frontMax)); + const back = new Set(); + while (back.size < 2) back.add(1 + Math.floor(Math.random() * state.backMax)); + const fa = [...front].sort((a, b) => a - b); + const ba = [...back].sort((a, b) => a - b); + return { front: fa, back: ba }; +}; + +const weightedPick = (weights, count) => { + const picks = new Set(); + const entries = weights.map((w, i) => ({ n: i + 1, w })); + const total = entries.reduce((a, b) => a + b.w, 0) || 1; + while (picks.size < count) { + let r = Math.random() * total; + for (let e of entries) { r -= e.w; if (r <= 0) { picks.add(e.n); break; } } + if (picks.size > count) break; + } + return [...picks].sort((a, b) => a - b); +}; + +const makeSmart = () => { + const w = state.window; + const frontFreq = computeFreq(state.draws, w, state.frontMax); + const backFreq = computeFreq(state.draws, w, state.backMax); + const maxF = Math.max(1, ...frontFreq), maxB = Math.max(1, ...backFreq); + const hot = Number(el("hotPref").value), cold = Number(el("coldPref").value); + const fw = frontFreq.map((f) => (hot * (f / maxF) + cold * (1 - f / maxF)) / 100 + 0.01); + const bw = backFreq.map((f) => (hot * (f / maxB) + cold * (1 - f / maxB)) / 100 + 0.01); + let front = weightedPick(fw, 5); + const [po, pe] = el("parityFront").value.split("-").map(Number); + const frontThr = Number(el("frontSizeThreshold").value); + const [pb, ps] = el("sizeFront").value.split("-").map(Number); + for (let tries = 0; tries < 50; tries++) { + const odd = front.filter((n) => n % 2).length; + const big = front.filter((n) => n > frontThr).length; + if (odd === po && big === pb) break; + front = weightedPick(fw, 5); + } + const back = weightedPick(bw, 2); + return { front, back }; +}; + +// ------------------------------ AI快速五组策略 ------------------------------ +const hasConsecutive = (arr) => { + const s = new Set(arr); + return arr.some((n) => s.has(n + 1) || s.has(n - 1)); +}; + +const hasPairSum35 = (arr) => { + for (let i = 0; i < arr.length; i++) { + for (let j = i + 1; j < arr.length; j++) { + if (arr[i] + arr[j] === 35) return true; + } + } + return false; +}; + +const hasUnitsSum10 = (arr) => { + const u = arr.map((n) => n % 10); + for (let i = 0; i < u.length; i++) { + for (let j = i + 1; j < u.length; j++) { + if ((u[i] + u[j]) % 10 === 0) return true; + } + } + return false; +}; + +const ensureFrontBalance = (front) => { + const [po] = el("parityFront").value.split("-").map(Number); + const frontThr = Number(el("frontSizeThreshold").value); + const [pb] = el("sizeFront").value.split("-").map(Number); + let tries = 0; + while (tries++ < 150) { + const odd = front.filter((n) => n % 2).length; + const big = front.filter((n) => n > frontThr).length; + if (odd === po && big === pb) break; + const poolOdd = Array.from({ length: state.frontMax }, (_, i) => i + 1).filter((n) => n % 2 === 1); + const poolEven = Array.from({ length: state.frontMax }, (_, i) => i + 1).filter((n) => n % 2 === 0); + const poolBig = Array.from({ length: state.frontMax }, (_, i) => i + 1).filter((n) => n > frontThr); + const poolSmall = Array.from({ length: state.frontMax }, (_, i) => i + 1).filter((n) => n <= frontThr); + const idx = Math.floor(Math.random() * front.length); + const s = new Set(front); + if (odd !== po) { + const candidatePool = odd < po ? poolOdd : poolEven; + const c = candidatePool.find((n) => !s.has(n)); + if (c) front[idx] = c; + } + if (big !== pb) { + const candidatePool = big < pb ? poolBig : poolSmall; + const s2 = new Set(front); + const c = candidatePool.find((n) => !s2.has(n)); + if (c) front[idx] = c; + } + front = Array.from(new Set(front)).sort((a, b) => a - b); + if (front.length < 5) { + const all = Array.from({ length: state.frontMax }, (_, i) => i + 1); + while (front.length < 5) { + const nn = all[Math.floor(Math.random() * all.length)]; + if (!front.includes(nn)) front.push(nn); + } + front.sort((a, b) => a - b); + } + } + return front; +}; + +const ensureBackBalance = (back) => { + const backThr = Number(el("backSizeThreshold").value); + const targetBig = 1; // 尽量一大一小 + let tries = 0; + while (tries++ < 60) { + const big = back.filter((n) => n > backThr).length; + if (big === targetBig) break; + const poolBig = Array.from({ length: state.backMax }, (_, i) => i + 1).filter((n) => n > backThr); + const poolSmall = Array.from({ length: state.backMax }, (_, i) => i + 1).filter((n) => n <= backThr); + const idx = Math.floor(Math.random() * back.length); + const s = new Set(back); + const candidatePool = big < targetBig ? poolBig : poolSmall; + const c = candidatePool.find((n) => !s.has(n)); + if (c) back[idx] = c; + back = Array.from(new Set(back)).sort((a, b) => a - b); + if (back.length < 2) { + const all = Array.from({ length: state.backMax }, (_, i) => i + 1); + while (back.length < 2) { + const nn = all[Math.floor(Math.random() * all.length)]; + if (!back.includes(nn)) back.push(nn); + } + back.sort((a, b) => a - b); + } + } + return back; +}; + +const topOrder = (range, weights, desc = true) => { + return Array.from({ length: range }, (_, i) => i + 1) + .sort((a, b) => (desc ? (weights[b - 1] || 0) - (weights[a - 1] || 0) : (weights[a - 1] || 0) - (weights[b - 1] || 0))); +}; + +const buildCandidateWeights = (range, baseWeights, candidates, fallback = 0) => { + const s = new Set(candidates); + return Array.from({ length: range }, (_, i) => { + const n = i + 1; + return s.has(n) ? (baseWeights[i] || 0) + 0.01 : fallback; + }); +}; + +// ------------------------------ ChatGPT 算法工具函数 ------------------------------ +const laplaceWeights = (freq, alpha = 1) => { + const total = freq.reduce((a, b) => a + b, 0); + const range = freq.length; + return freq.map((f) => (f + alpha) / (total + range * alpha)); +}; + +const applyTemperature = (probs, T = 1) => { + const t = Math.max(1e-6, T); + return probs.map((p) => Math.pow(Math.max(1e-6, p), 1 / t) + 0.0001); +}; + +const topKFromWeights = (weights, k) => { + return Array.from({ length: weights.length }, (_, i) => i + 1) + .sort((a, b) => (weights[b - 1] || 0) - (weights[a - 1] || 0)) + .slice(0, Math.max(1, k)); +}; + +const buildCooccMatrix = (draws, range, useFront) => { + const C = Array.from({ length: range }, () => Array(range).fill(0)); + for (const d of draws) { + const arr = useFront ? d.front : d.back; + for (let i = 0; i < arr.length; i++) { + for (let j = i + 1; j < arr.length; j++) { + const a = arr[i] - 1, b = arr[j] - 1; + C[a][b]++; C[b][a]++; + } + } + } + return C; +}; + +const buildTransitionMatrix = (draws, range, useFront) => { + const T = Array.from({ length: range }, () => Array(range).fill(0)); + for (let t = 0; t + 1 < draws.length; t++) { + const cur = useFront ? draws[t].front : draws[t].back; + const nxt = useFront ? draws[t + 1].front : draws[t + 1].back; + const s = new Set(cur); + for (const j of nxt) { + for (const i of s) { + T[i - 1][j - 1]++; + } + } + } + return T; +}; + +const normalizeRow = (M) => M.map((row) => { + const s = row.reduce((a, b) => a + b, 0) || 1; + return row.map((x) => x / s); +}); + +const mmrSelect = (baseScores, cooccNorm, count, lambda = 0.4) => { + const selected = []; + const used = new Set(); + const cand = Array.from({ length: baseScores.length }, (_, i) => i + 1); + while (selected.length < count) { + let best = null, bestScore = -Infinity; + for (const n of cand) { + if (used.has(n)) continue; + let div = 0; + for (const s of selected) div += cooccNorm[n - 1][s - 1] || 0; + const score = (baseScores[n - 1] || 0) - lambda * div; + if (score > bestScore) { bestScore = score; best = n; } + } + if (best == null) break; + selected.push(best); used.add(best); + } + return selected.sort((a, b) => a - b); +}; + +const average = (arr) => arr.reduce((a, b) => a + b, 0) / Math.max(1, arr.length); + +const buildCondProb = (draws, range, useFront, alpha = 1) => { + const cond = Array.from({ length: range }, () => Array(range).fill(0)); + const countJ = Array(range).fill(0); + for (const d of draws) { + const arr = useFront ? d.front : d.back; + const s = new Set(arr); + for (const j of s) { + countJ[j - 1]++; + for (const i of s) cond[j - 1][i - 1]++; + } + } + for (let j = 0; j < range; j++) { + const denom = countJ[j] + range * alpha; + for (let i = 0; i < range; i++) cond[j][i] = (cond[j][i] + alpha) / denom; + } + return cond; +}; + +const gaOptimizeFront = (weights, fitnessFn, range, popSize = 80, gens = 40, mutRate = 0.08) => { + const rndSet = () => weightedPick(weights, 5); + let pop = Array.from({ length: popSize }, rndSet); + const score = (s) => fitnessFn(s); + for (let g = 0; g < gens; g++) { + const scored = pop.map((s) => ({ s, f: score(s.slice().sort((a, b) => a - b)) })) + .sort((a, b) => b.f - a.f); + const elite = scored.slice(0, Math.floor(popSize / 2)).map((x) => x.s); + const children = []; + while (children.length + elite.length < popSize) { + const a = elite[Math.floor(Math.random() * elite.length)]; + const b = elite[Math.floor(Math.random() * elite.length)]; + const cut = 2 + Math.floor(Math.random() * 2); + const child = Array.from(new Set([...a.slice(0, cut), ...b.slice(cut)])).slice(0, 5); + while (child.length < 5) { + const n = 1 + Math.floor(Math.random() * range); + if (!child.includes(n)) child.push(n); + } + children.push(child.sort((x, y) => x - y)); + } + const mutate = (s) => { + if (Math.random() < mutRate) { + const idx = Math.floor(Math.random() * 5); + let n = 1 + Math.floor(Math.random() * range); + while (s.includes(n)) n = 1 + Math.floor(Math.random() * range); + s[idx] = n; s.sort((a, b) => a - b); + } + return s; + }; + pop = [...elite, ...children].map(mutate); + } + return pop.sort((a, b) => fitnessFn(b) - fitnessFn(a))[0]; +}; + +// ------------------------------ QuickAI 配置与指标计算 ------------------------------ +const quickAIConfig = { + hotTopPercent: 0.3, // 热号池:加权频次前30% + decay: 0.92, // 近期权重衰减(越近权重越高) + coldMissMultiplier: 1.5, // 冷号阈值:当前遗漏 ≥ 平均遗漏 × 倍数 + ratioFront: [3, 2], // 冷热均衡:前区热/冷比例 + ratioBack: [1, 1], // 冷热均衡:后区热/冷比例 + regionsFront: [ // 区间对称:每个区间目标数量 + { from: 1, to: 12, count: 2 }, + { from: 13, to: 24, count: 2 }, + { from: 25, to: 35, count: 1 }, + ], + sumRange: [80, 140], // 和值优选区间 + spanRange: [20, 30], // 跨度优选区间 + primePrefer: [2, 3], // 质合比(质数个数优选值,配合5-质) + acRange: [4, 8], // AC值优选区间 +}; + +const computeWeightedFreq = (draws, range, window, decay) => { + const freq = Array(range).fill(0); + const start = Math.max(0, draws.length - window); + const end = draws.length - 1; + for (let i = start; i <= end; i++) { + const weight = Math.pow(decay, end - i); + const arr = range === state.frontMax ? draws[i].front : draws[i].back; + for (let n of arr) freq[n - 1] += weight; + } + return freq; +}; + +// 当前遗漏、最大遗漏、平均遗漏 +const computeMissStats = (draws, range, window) => { + const current = Array(range).fill(0); + const maxMiss = Array(range).fill(0); + const start = Math.max(0, draws.length - window); + const seenIndices = Array.from({ length: range }, () => []); + for (let i = start; i < draws.length; i++) { + const f = range === state.frontMax ? draws[i].front : draws[i].back; + for (let n of f) seenIndices[n - 1].push(i); + } + for (let n = 1; n <= range; n++) { + const idxs = seenIndices[n - 1]; + // 当前遗漏:距最近一次出现的期数差 + const lastSeen = idxs.length ? idxs[idxs.length - 1] : -1; + current[n - 1] = lastSeen === -1 ? (draws.length - start) : (draws.length - 1 - lastSeen); + // 最大遗漏:相邻两次出现之间的最大间隔(含头尾) + let prev = start - 1, mm = 0; + for (let k = 0; k < idxs.length; k++) { mm = Math.max(mm, idxs[k] - prev - 1); prev = idxs[k]; } + mm = Math.max(mm, (draws.length - 1) - prev); // 尾段 + maxMiss[n - 1] = mm; + } + const avgMiss = current.reduce((a, b) => a + b, 0) / range; + return { current, maxMiss, avgMiss }; +}; + +const isPrime = (n) => { + if (n < 2) return false; + for (let i = 2; i * i <= n; i++) if (n % i === 0) return false; + return true; +}; + +const acValue = (arr) => { + const s = new Set(); + for (let i = 0; i < arr.length; i++) { + for (let j = i + 1; j < arr.length; j++) s.add(arr[j] - arr[i]); + } + return s.size - (arr.length - 1); +}; + +const scoreRange = (val, min, max) => { + if (val >= min && val <= max) return 1; + const d = val < min ? (min - val) : (val - max); + return Math.max(0, 1 - d / Math.max(1, (max - min))); +}; + +const metricsScore = (front, cfg) => { + const sum = front.reduce((a, b) => a + b, 0); + const span = front[front.length - 1] - front[0]; + const odd = front.filter((n) => n % 2).length; + const prime = front.filter(isPrime).length; + const ac = acValue(front); + const sSum = scoreRange(sum, cfg.sumRange[0], cfg.sumRange[1]); + const sSpan = scoreRange(span, cfg.spanRange[0], cfg.spanRange[1]); + const sOdd = 1 - Math.min(1, Math.abs(odd - (el("parityFront").value.split("-").map(Number)[0])) / 2); + const sPrime = 1 - Math.min(1, Math.abs(prime - cfg.primePrefer[0]) / 2); + const sAc = scoreRange(ac, cfg.acRange[0], cfg.acRange[1]); + return 0.3 * sSum + 0.25 * sSpan + 0.15 * sOdd + 0.15 * sPrime + 0.15 * sAc; +}; + +const generateQuickAI = () => { + const w = state.window; + const cfg = quickAIConfig; + // 频次(普通)与加权频次(近期越大) + const fFreq = computeFreq(state.draws, w, state.frontMax); + const bFreq = computeFreq(state.draws, w, state.backMax); + const fWFreq = computeWeightedFreq(state.draws, state.frontMax, w, cfg.decay); + const bWFreq = computeWeightedFreq(state.draws, state.backMax, w, cfg.decay); + // 遗漏统计 + const fMissStats = computeMissStats(state.draws, state.frontMax, w); + const bMissStats = computeMissStats(state.draws, state.backMax, w); + + // 热号池:加权频次前30% + const hotCountF = Math.max(5, Math.ceil(state.frontMax * cfg.hotTopPercent)); + const hotCountB = Math.max(4, Math.ceil(state.backMax * cfg.hotTopPercent)); + const hotF = Array.from({ length: state.frontMax }, (_, i) => i + 1) + .sort((a, b) => (fWFreq[b - 1] || 0) - (fWFreq[a - 1] || 0)) + .slice(0, hotCountF); + const hotB = Array.from({ length: state.backMax }, (_, i) => i + 1) + .sort((a, b) => (bWFreq[b - 1] || 0) - (bWFreq[a - 1] || 0)) + .slice(0, hotCountB); + + // 冷号池:当前遗漏 ≥ 平均遗漏 × 倍数;不足则按当前遗漏排序补齐 + const coldFAll = Array.from({ length: state.frontMax }, (_, i) => i + 1) + .filter((n) => fMissStats.current[n - 1] >= cfg.coldMissMultiplier * fMissStats.avgMiss) + .sort((a, b) => fMissStats.current[b - 1] - fMissStats.current[a - 1]); + const coldBAll = Array.from({ length: state.backMax }, (_, i) => i + 1) + .filter((n) => bMissStats.current[n - 1] >= cfg.coldMissMultiplier * bMissStats.avgMiss) + .sort((a, b) => bMissStats.current[b - 1] - bMissStats.current[a - 1]); + const coldF = coldFAll.length ? coldFAll : Array.from({ length: state.frontMax }, (_, i) => i + 1).sort((a, b) => fMissStats.current[b - 1] - fMissStats.current[a - 1]).slice(0, 12); + const coldB = coldBAll.length ? coldBAll : Array.from({ length: state.backMax }, (_, i) => i + 1).sort((a, b) => bMissStats.current[b - 1] - bMissStats.current[a - 1]).slice(0, 6); + + const last = state.draws[state.draws.length - 1] || { front: [], back: [] }; + const sets = []; + + // 组合一:热号主导型 + { + const fcand = hotF.slice(0, 14); + const fw = buildCandidateWeights(state.frontMax, fWFreq, fcand, 0); // 使用加权频次 + let front = weightedPick(fw, 5); + front = ensureFrontBalance(front); + const bcand = hotB.slice(0, 6); + const bw = buildCandidateWeights(state.backMax, bWFreq, bcand, 0); + let back = weightedPick(bw, 2); + back = ensureBackBalance(back); + sets.push({ front, back, name: "热号主导" }); + } + + // 组合二:冷热均衡型(3热 + 2冷;后区 1热 + 1冷) + { + const [hF, cF] = cfg.ratioFront; + const [hB, cB] = cfg.ratioBack; + const hotCand = hotF.slice(0, 18); + const coldCand = coldF.slice(0, 20); + const fwHot = buildCandidateWeights(state.frontMax, fWFreq, hotCand, 0); + const fwCold = buildCandidateWeights(state.frontMax, fMissStats.current.map((x) => x + 0.01), coldCand, 0); // 按当前遗漏加权 + const hot3 = weightedPick(fwHot, hF); + const exclude = new Set(hot3); + // 将非候选权重设为0,并排除已选 + const fwColdEx = fwCold.map((w, i) => (exclude.has(i + 1) ? 0 : w)); + const cold2 = weightedPick(fwColdEx, cF); + let front = Array.from(new Set([...hot3, ...cold2])).sort((a, b) => a - b); + if (front.length < 5) { + const fillW = buildCandidateWeights(state.frontMax, fWFreq, hotF.slice(0, 35), 0.01); + while (front.length < 5) { + const pick = weightedPick(fillW, 1)[0]; + if (!front.includes(pick)) front.push(pick); + } + front.sort((a, b) => a - b); + } + front = ensureFrontBalance(front); + const bHot1 = weightedPick(buildCandidateWeights(state.backMax, bWFreq, hotB.slice(0, 6), 0), hB); + const exB = new Set(bHot1); + const bCold1 = weightedPick(buildCandidateWeights(state.backMax, bMissStats.current.map((x) => x + 0.01), coldB.slice(0, 6), 0).map((w, i) => (exB.has(i + 1) ? 0 : w)), cB); + let back = Array.from(new Set([...bHot1, ...bCold1])).sort((a, b) => a - b); + back = ensureBackBalance(back); + sets.push({ front, back, name: "冷热均衡" }); + } + + // 组合三:区间对称型(01-12, 13-24, 25-35 -> 2/2/1),并尝试“对应数”关系 + { + const r1 = Array.from({ length: 12 }, (_, i) => i + 1); + const r2 = Array.from({ length: 12 }, (_, i) => i + 13); + const r3 = Array.from({ length: 11 }, (_, i) => i + 25); + const fwr1 = buildCandidateWeights(state.frontMax, fWFreq, r1, 0); + const fwr2 = buildCandidateWeights(state.frontMax, fWFreq, r2, 0); + const fwr3 = buildCandidateWeights(state.frontMax, fWFreq, r3, 0); + const p1 = weightedPick(fwr1, cfg.regionsFront[0].count); + const ex12 = new Set(p1); + const fwr2ex = fwr2.map((w, i) => (ex12.has(i + 1) ? 0 : w)); + const p2 = weightedPick(fwr2ex, cfg.regionsFront[1].count); + const ex1234 = new Set([...p1, ...p2]); + const fwr3ex = fwr3.map((w, i) => (ex1234.has(i + 1) ? 0 : w)); + let front = Array.from(new Set([...p1, ...p2, ...weightedPick(fwr3ex, cfg.regionsFront[2].count)])).sort((a, b) => a - b); + // 若没有对应数(和35或尾数和10),尝试补充 + if (!hasPairSum35(front) && !hasUnitsSum10(front)) { + const base = front[0]; + const complement = 35 - base; + if (complement >= 1 && complement <= state.frontMax && !front.includes(complement)) { + front[front.length - 1] = complement; + front.sort((a, b) => a - b); + } + } + front = ensureFrontBalance(front); + let back = weightedPick(buildCandidateWeights(state.backMax, bWFreq, Array.from({ length: state.backMax }, (_, i) => i + 1), 0.01), 2); + back = ensureBackBalance(back); + sets.push({ front, back, name: "区间对称" }); + } + + // 组合四:连号重号关注型(包含一对连号 + 上期重号) + { + const selected = new Set(); + const lf = (last.front || []); + if (lf.length) { + selected.add(lf[Math.floor(Math.random() * lf.length)]); + } + const anchor = hotF[0] || 1; + selected.add(anchor); + if (anchor + 1 <= state.frontMax) selected.add(anchor + 1); + const fillW = buildCandidateWeights(state.frontMax, fWFreq, hotF.slice(0, 20), 0); + const fillWEx = fillW.map((w, i) => (selected.has(i + 1) ? 0 : w)); + while (selected.size < 5) { + const p = weightedPick(fillWEx, 1)[0]; + selected.add(p); + } + let front = Array.from(selected).sort((a, b) => a - b); + if (!hasConsecutive(front)) { + const c = front[0]; + const alt = c + 1 <= state.frontMax && !front.includes(c + 1) ? c + 1 : (c - 1 >= 1 ? c - 1 : c); + front[front.length - 1] = alt; + front = Array.from(new Set(front)).sort((a, b) => a - b); + } + front = ensureFrontBalance(front); + let back = []; + const lb = (last.back || []); + if (lb.length) back.push(lb[Math.floor(Math.random() * lb.length)]); + const bwFill = buildCandidateWeights(state.backMax, bWFreq, hotB.slice(0, 6), 0); + const bwFillEx = bwFill.map((w, i) => (back.includes(i + 1) ? 0 : w)); + while (back.length < 2) { + const p = weightedPick(bwFillEx, 1)[0]; + if (!back.includes(p)) back.push(p); + } + back.sort((a, b) => a - b); + back = ensureBackBalance(back); + sets.push({ front, back, name: "连号重号" }); + } + + // 组合五:综合数据分析型(多指标打分) + { + // 候选池:加权热号前列 + 少量冷号 + const topF = hotF.slice(0, 18); + const mixF = Array.from(new Set([...topF, ...coldF.slice(0, 10)])).sort((a, b) => a - b); + const fwMix = buildCandidateWeights(state.frontMax, fWFreq.map((x) => x + 0.01), mixF, 0.005); + + // 采样生成候选组合并按多指标评分选择最优 + let bestFront = null, bestScore = -1; + for (let t = 0; t < 220; t++) { + let cand = weightedPick(fwMix, 5); + cand = ensureFrontBalance(cand); + const s = metricsScore(cand, cfg); + if (s > bestScore) { bestScore = s; bestFront = cand; } + } + const front = bestFront || weightedPick(fwMix, 5); + + // 后区:加权热号优先,兼顾冷号;保证一大一小 + const topB = hotB.slice(0, 8); + const mixB = Array.from(new Set([...topB, ...coldB.slice(0, 6)])).sort((a, b) => a - b); + const bwMix = buildCandidateWeights(state.backMax, bWFreq.map((x) => x + 0.01), mixB, 0.01); + let back = weightedPick(bwMix, 2); + back = ensureBackBalance(back); + sets.push({ front, back, name: "综合分析" }); + } + + appendLog("AI快速五组号码已生成"); + return sets; +}; + +// ------------------------------ ChatGPT 智能五组(五种算法) ------------------------------ +const generateQuickChatGPT = () => { + const cfg = quickAIConfig; + const last = state.draws[state.draws.length - 1] || { front: [], back: [] }; + const windows = [Math.min(50, state.draws.length), Math.min(200, state.draws.length), state.draws.length]; + const fFreqAll = windows.map((win) => computeFreq(state.draws, win, state.frontMax)); + const bFreqAll = windows.map((win) => computeFreq(state.draws, win, state.backMax)); + const sets = []; + + // 1) 历史频率 + 去偏重采样(Freq-Weighted) + { + const alpha = 1, T = 1.1; + const fProbAvg = Array(state.frontMax).fill(0); + const bProbAvg = Array(state.backMax).fill(0); + for (let k = 0; k < fFreqAll.length; k++) { + const p = laplaceWeights(fFreqAll[k], alpha); + for (let i = 0; i < p.length; i++) fProbAvg[i] += p[i]; + } + for (let k = 0; k < bFreqAll.length; k++) { + const p = laplaceWeights(bFreqAll[k], alpha); + for (let i = 0; i < p.length; i++) bProbAvg[i] += p[i]; + } + const fProb = applyTemperature(fProbAvg.map((x) => x / fFreqAll.length), T); + const bProb = applyTemperature(bProbAvg.map((x) => x / bFreqAll.length), T); + let front = weightedPick(fProb, 5); + let back = weightedPick(bProb, 2); + front = ensureFrontBalance(front); + back = ensureBackBalance(back); + sets.push({ front, back, name: "历史频率 + 去偏重采样" }); + } + + // 2) 二阶共现与转移MMR(Pair-Markov) + { + const Cf = normalizeRow(buildCooccMatrix(state.draws, state.frontMax, true)); + const Tf = normalizeRow(buildTransitionMatrix(state.draws, state.frontMax, true)); + const fFreq = computeFreq(state.draws, state.draws.length, state.frontMax); + const maxF = Math.max(1, ...fFreq); + const SprevF = new Set(last.front || []); + const w1 = 0.55, w2 = 0.3, w3 = 0.15; + const fScores = Array.from({ length: state.frontMax }, (_, i) => { + const n = i + 1; let cSum = 0, tSum = 0; + for (const j of SprevF) { cSum += Cf[n - 1][j - 1]; tSum += Tf[j - 1][n - 1]; } + return w1 * cSum + w2 * (fFreq[i] / maxF) + w3 * tSum + 0.001; + }); + let front = mmrSelect(fScores, Cf, 5, 0.4); + front = ensureFrontBalance(front); + + const Cb = normalizeRow(buildCooccMatrix(state.draws, state.backMax, false)); + const Tb = normalizeRow(buildTransitionMatrix(state.draws, state.backMax, false)); + const bFreq = computeFreq(state.draws, state.draws.length, state.backMax); + const maxB = Math.max(1, ...bFreq); + const SprevB = new Set(last.back || []); + const bScores = Array.from({ length: state.backMax }, (_, i) => { + const n = i + 1; let cSum = 0, tSum = 0; + for (const j of SprevB) { cSum += Cb[n - 1][j - 1]; tSum += Tb[j - 1][n - 1]; } + return 0.6 * cSum + 0.25 * (bFreq[i] / maxB) + 0.15 * tSum + 0.001; + }); + let back = mmrSelect(bScores, Cb, 2, 0.35); + back = ensureBackBalance(back); + sets.push({ front, back, name: "二阶共现与转移概率选取" }); + } + + // 3) 序列到分布(近似:加权时序概率 + nucleus采样) + { + const decay = 0.94; + const fWF = computeWeightedFreq(state.draws, state.frontMax, Math.min(120, state.draws.length), decay); + const bWF = computeWeightedFreq(state.draws, state.backMax, Math.min(120, state.draws.length), decay); + const fw = applyTemperature(laplaceWeights(fWF, 1), 0.9); + const bw = applyTemperature(laplaceWeights(bWF, 1), 0.9); + const fTop = topKFromWeights(fw, 20); + const bTop = topKFromWeights(bw, 8); + let front = weightedPick(buildCandidateWeights(state.frontMax, fw, fTop, 0.001), 5); + let back = weightedPick(buildCandidateWeights(state.backMax, bw, bTop, 0.001), 2); + front = ensureFrontBalance(front); + back = ensureBackBalance(back); + sets.push({ front, back, name: "序列到分布(近似)" }); + } + + // 4) 条件概率与图模型(近似) + { + const fCond = buildCondProb(state.draws, state.frontMax, true, 1); + const fPrior = laplaceWeights(computeFreq(state.draws, state.draws.length, state.frontMax), 1); + const Sf = new Set(last.front || []); + const fScores = Array.from({ length: state.frontMax }, (_, i) => { + const n = i + 1; + const condAvg = Array.from(Sf).map((j) => fCond[j - 1][n - 1]).reduce((a, b) => a + b, 0) / Math.max(1, Sf.size); + return 0.6 * fPrior[i] + 0.4 * condAvg + 0.001; + }); + let front = weightedPick(fScores, 5); + front = ensureFrontBalance(front); + + const bCond = buildCondProb(state.draws, state.backMax, false, 1); + const bPrior = laplaceWeights(computeFreq(state.draws, state.draws.length, state.backMax), 1); + const Sb = new Set(last.back || []); + const bScores = Array.from({ length: state.backMax }, (_, i) => { + const n = i + 1; + const condAvg = Array.from(Sb).map((j) => bCond[j - 1][n - 1]).reduce((a, b) => a + b, 0) / Math.max(1, Sb.size); + return 0.65 * bPrior[i] + 0.35 * condAvg + 0.001; + }); + let back = weightedPick(bScores, 2); + back = ensureBackBalance(back); + sets.push({ front, back, name: "条件概率与图模型(近似)" }); + } + + // 5) 遗传进化优化(简化) + { + const fWF = computeWeightedFreq(state.draws, state.frontMax, Math.min(200, state.draws.length), 0.93); + const baseW = laplaceWeights(fWF, 1).map((x) => x + 0.01); + const fitness = (cand) => { + const s = metricsScore(cand, cfg); + const consecBoost = hasConsecutive(cand) ? 0.05 : 0; + const pairBoost = (hasPairSum35(cand) || hasUnitsSum10(cand)) ? 0.05 : 0; + return s + consecBoost + pairBoost; + }; + let front = gaOptimizeFront(baseW, fitness, state.frontMax, 80, 40, 0.08); + front = ensureFrontBalance(front); + const bWF = computeWeightedFreq(state.draws, state.backMax, Math.min(200, state.draws.length), 0.93); + let back = weightedPick(laplaceWeights(bWF, 1).map((x) => x + 0.01), 2); + back = ensureBackBalance(back); + sets.push({ front, back, name: "遗传进化优化(简化)" }); + } + + appendLog("ChatGPT智能五组号码已生成"); + return sets; +}; + +const renderTickets = (containerId, list, titlePrefix) => { + const c = el(containerId); + c.innerHTML = ""; + list.forEach((t, idx) => { + const card = document.createElement("div"); card.className = "ticket"; + const title = document.createElement("div"); title.className = "title"; title.textContent = `${titlePrefix} #${idx + 1}${t.name ? " · " + t.name : ""}`; + const nums = document.createElement("div"); nums.className = "nums"; + t.front.forEach((n) => { const b = document.createElement("span"); b.className = "ball"; b.textContent = pad2(n); nums.appendChild(b); }); + t.back.forEach((n) => { const b = document.createElement("span"); b.className = "ball back"; b.textContent = pad2(n); nums.appendChild(b); }); + card.appendChild(title); card.appendChild(nums); c.appendChild(card); + }); +}; + +el("btnRandom").addEventListener("click", () => { + const cnt = Math.max(1, Number(el("randomCount").value)); + const list = Array.from({ length: cnt }, randomPick); + renderTickets("randomOutput", list, "随机"); + state.recommended = list; + renderTickets("exportPreview", state.recommended, "推荐"); +}); + +el("btnSmart").addEventListener("click", () => { + const cnt = Math.max(1, Number(el("smartCount").value)); + const list = Array.from({ length: cnt }, makeSmart); + renderTickets("smartOutput", list, "智能"); + state.recommended = list; + renderTickets("exportPreview", state.recommended, "推荐"); +}); + +// 快速五组 +el("btnQuickAI").addEventListener("click", () => { + const sets = generateQuickAI(); + renderTickets("aiQuickOutput", sets, "AI"); + state.recommended = sets; + renderTickets("exportPreview", state.recommended, "推荐"); +}); + +// ChatGPT 智能五组(五种算法) +el("btnQuickChatGPT").addEventListener("click", () => { + const sets = generateQuickChatGPT(); + renderTickets("aiQuickOutput", sets, "ChatGPT"); + state.recommended = sets; + renderTickets("exportPreview", state.recommended, "推荐"); +}); + +// ------------------------------ 豆包 智能五组(五种算法) ------------------------------ +const generateQuickDoubao = () => { + const sets = []; + const w = Math.min(state.draws.length, state.draws.length || 0); + const fFreq = computeFreq(state.draws, w || state.draws.length, state.frontMax); + const bFreq = computeFreq(state.draws, w || state.draws.length, state.backMax); + const last = state.draws[state.draws.length - 1] || { front: [], back: [] }; + + const pickFromList = (list, count, exclude = new Set()) => { + const res = []; + const pool = list.filter((n) => !exclude.has(n)); + while (res.length < count && pool.length) { + const idx = Math.floor(Math.random() * pool.length); + const n = pool.splice(idx, 1)[0]; + if (!exclude.has(n) && !res.includes(n)) res.push(n); + } + return res; + }; + + // 算法一:热号优先(频率Top) + { + if (!state.draws.length) { + const { front, back } = randomPick(); + sets.push({ front, back, name: "算法一:热号优先" }); + } else { + let front = topOrder(state.frontMax, fFreq, true).slice(0, 5).sort((a, b) => a - b); + let back = topOrder(state.backMax, bFreq, true).slice(0, 2).sort((a, b) => a - b); + front = ensureFrontBalance(front); + back = ensureBackBalance(back); + sets.push({ front, back, name: "算法一:热号优先" }); + } + } + + // 算法二:冷热搭配(前区3热2冷;后区1热1冷) + { + if (!state.draws.length) { + const { front, back } = randomPick(); + sets.push({ front, back, name: "算法二:冷热搭配" }); + } else { + const avgF = fFreq.reduce((a, b) => a + b, 0) / state.frontMax; + const avgB = bFreq.reduce((a, b) => a + b, 0) / state.backMax; + const hotF = Array.from({ length: state.frontMax }, (_, i) => i + 1).filter((n) => (fFreq[n - 1] || 0) > avgF); + const coldF = Array.from({ length: state.frontMax }, (_, i) => i + 1).filter((n) => (fFreq[n - 1] || 0) < avgF); + const hotB = Array.from({ length: state.backMax }, (_, i) => i + 1).filter((n) => (bFreq[n - 1] || 0) > avgB); + const coldB = Array.from({ length: state.backMax }, (_, i) => i + 1).filter((n) => (bFreq[n - 1] || 0) < avgB); + const hotFFallback = topOrder(state.frontMax, fFreq, true); + const coldFFallback = topOrder(state.frontMax, fFreq, false); + const hotBFallback = topOrder(state.backMax, bFreq, true); + const coldBFallback = topOrder(state.backMax, bFreq, false); + + const selectedF = new Set(); + pickFromList(hotF, 3).forEach((n) => selectedF.add(n)); + pickFromList(coldF, 2, selectedF).forEach((n) => selectedF.add(n)); + // 回退填充不足 + if (selectedF.size < 5) { + for (const n of hotFFallback) { if (selectedF.size >= 5) break; if (!selectedF.has(n)) selectedF.add(n); } + for (const n of coldFFallback) { if (selectedF.size >= 5) break; if (!selectedF.has(n)) selectedF.add(n); } + } + let front = Array.from(selectedF).slice(0, 5).sort((a, b) => a - b); + + const selectedB = new Set(); + pickFromList(hotB, 1).forEach((n) => selectedB.add(n)); + pickFromList(coldB, 1, selectedB).forEach((n) => selectedB.add(n)); + if (selectedB.size < 2) { + for (const n of hotBFallback) { if (selectedB.size >= 2) break; if (!selectedB.has(n)) selectedB.add(n); } + for (const n of coldBFallback) { if (selectedB.size >= 2) break; if (!selectedB.has(n)) selectedB.add(n); } + } + let back = Array.from(selectedB).slice(0, 2).sort((a, b) => a - b); + + front = ensureFrontBalance(front); + back = ensureBackBalance(back); + sets.push({ front, back, name: "算法二:冷热搭配" }); + } + } + + // 算法三:遗漏值优先(当前遗漏大的优先) + { + if (!state.draws.length) { + const { front, back } = randomPick(); + sets.push({ front, back, name: "算法三:遗漏值" }); + } else { + const fMiss = computeMissStats(state.draws, state.frontMax, w || state.draws.length).current; + const bMiss = computeMissStats(state.draws, state.backMax, w || state.draws.length).current; + let front = topOrder(state.frontMax, fMiss, true).slice(0, 5).sort((a, b) => a - b); + let back = topOrder(state.backMax, bMiss, true).slice(0, 2).sort((a, b) => a - b); + front = ensureFrontBalance(front); + back = ensureBackBalance(back); + sets.push({ front, back, name: "算法三:遗漏值" }); + } + } + + // 算法四:数字特征(前区:3奇2偶 & 2小3大;后区:1奇1偶 & 1小1大) + { + const oddSmall = [], evenSmall = [], oddLarge = [], evenLarge = []; + for (let n = 1; n <= state.frontMax; n++) { + const isSmall = n <= 18; const isOdd = n % 2 === 1; + if (isSmall) { if (isOdd) oddSmall.push(n); else evenSmall.push(n); } + else { if (isOdd) oddLarge.push(n); else evenLarge.push(n); } + } + const pickOne = (arr, used = new Set()) => { + const pool = arr.filter((n) => !used.has(n)); + if (!pool.length) return null; + return pool[Math.floor(Math.random() * pool.length)]; + }; + const usedF = new Set(); + const parts = []; + const os = pickOne(oddSmall, usedF); if (os) { parts.push(os); usedF.add(os); } + const es = pickOne(evenSmall, usedF); if (es) { parts.push(es); usedF.add(es); } + const ol1 = pickOne(oddLarge, usedF); if (ol1) { parts.push(ol1); usedF.add(ol1); } + const ol2 = pickOne(oddLarge, usedF); if (ol2) { parts.push(ol2); usedF.add(ol2); } + const el = pickOne(evenLarge, usedF); if (el) { parts.push(el); usedF.add(el); } + while (parts.length < 5) { + const n = 1 + Math.floor(Math.random() * state.frontMax); + if (!usedF.has(n)) { parts.push(n); usedF.add(n); } + } + let front = parts.slice(0, 5).sort((a, b) => a - b); + + const smallBack = { odd: [], even: [] }, largeBack = { odd: [], even: [] }; + for (let n = 1; n <= state.backMax; n++) { + const isSmall = n <= 6; const isOdd = n % 2 === 1; + if (isSmall) { (isOdd ? smallBack.odd : smallBack.even).push(n); } + else { (isOdd ? largeBack.odd : largeBack.even).push(n); } + } + const usedB = new Set(); + let a = pickOne(smallBack.odd, usedB); + if (a == null) a = pickOne(largeBack.odd, usedB); + if (a == null) a = 1 + Math.floor(Math.random() * state.backMax); + usedB.add(a); + let b = pickOne(largeBack.even, usedB); + if (b == null) b = pickOne(smallBack.even, usedB); + if (b == null) b = 1 + Math.floor(Math.random() * state.backMax); + usedB.add(b); + let back = [a, b].sort((x, y) => x - y); + + front = ensureFrontBalance(front); + back = ensureBackBalance(back); + sets.push({ front, back, name: "算法四:数字特征" }); + } + + // 算法五:随机游走(从历史开奖随机变动) + { + if (!state.draws.length) { + const { front, back } = randomPick(); + sets.push({ front, back, name: "算法五:随机游走" }); + } else { + const seed = state.draws[Math.floor(Math.random() * state.draws.length)]; + let front = seed.front.slice(); + let back = seed.back.slice(); + const rounds = 3; + for (let r = 0; r < rounds; r++) { + const k = 1 + Math.floor(Math.random() * 3); + const idxs = Array.from({ length: k }, () => Math.floor(Math.random() * front.length)); + const used = new Set(front); + for (const idx of idxs) { + const delta = -5 + Math.floor(Math.random() * 11); // [-5,5] + let v = front[idx] + delta; + v = Math.min(state.frontMax, Math.max(1, v)); + // 去重调整 + let tries = 0; + while (used.has(v) && tries < 10) { v = Math.min(state.frontMax, Math.max(1, v + (Math.random() < 0.5 ? -1 : 1))); tries++; } + used.delete(front[idx]); used.add(v); front[idx] = v; + } + // 后区随机变动一个号码 + if (back.length === 2) { + const i = Math.floor(Math.random() * 2); + const d = -2 + Math.floor(Math.random() * 5); // [-2,2] + let vb = back[i] + d; + vb = Math.min(state.backMax, Math.max(1, vb)); + if (vb === back[1 - i]) vb = Math.min(state.backMax, Math.max(1, vb + (vb < back[1 - i] ? -1 : 1))); + back[i] = vb; + } + } + front = Array.from(new Set(front)).slice(0, 5).sort((a, b) => a - b); + while (front.length < 5) { + const n = 1 + Math.floor(Math.random() * state.frontMax); + if (!front.includes(n)) front.push(n); + } + back = Array.from(new Set(back)).slice(0, 2).sort((a, b) => a - b); + while (back.length < 2) { + const n = 1 + Math.floor(Math.random() * state.backMax); + if (!back.includes(n)) back.push(n); + } + front = ensureFrontBalance(front); + back = ensureBackBalance(back); + sets.push({ front, back, name: "算法五:随机游走" }); + } + } + + appendLog("豆包智能五组号码已生成"); + return sets; +}; + +// 绑定 豆包 按钮 +el("btnQuickDoubao").addEventListener("click", () => { + const sets = generateQuickDoubao(); + renderTickets("aiQuickOutput", sets, "豆包"); + state.recommended = sets; + renderTickets("exportPreview", state.recommended, "推荐"); +}); + +// ------------------------------ Kimi2 智能五组(五种算法) ------------------------------ +const intervalBlocks = [ + { from: 1, to: 5 }, { from: 6, to: 10 }, { from: 11, to: 15 }, + { from: 16, to: 20 }, { from: 21, to: 25 }, { from: 26, to: 30 }, { from: 31, to: 35 } +]; + +const countFrontInWindow = (draws, window) => { + const start = Math.max(0, draws.length - window); + const freq = Array(state.frontMax).fill(0); + for (let i = start; i < draws.length; i++) { + for (const n of draws[i].front) freq[n - 1]++; + } + return freq; +}; + +const countBackInWindow = (draws, window) => { + const start = Math.max(0, draws.length - window); + const freq = Array(state.backMax).fill(0); + for (let i = start; i < draws.length; i++) { + for (const n of draws[i].back) freq[n - 1]++; + } + return freq; +}; + +const intervalDensity = (draws, window) => { + const start = Math.max(0, draws.length - window); + const counts = intervalBlocks.map(() => 0); + for (let i = start; i < draws.length; i++) { + const arr = draws[i].front; + for (const n of arr) { + const idx = Math.floor((n - 1) / 5); + counts[idx]++; + } + } + const theoretical = window * 5 * 5 / 35; // 每区理论次数 + const density = counts.map((c) => (c - theoretical) / Math.max(1e-6, theoretical)); + return { counts, density }; +}; + +const backGapTop = (draws, window) => { + const start = Math.max(0, draws.length - window); + const gapCount = new Map(); + for (let i = start; i < draws.length; i++) { + const b = draws[i].back.slice().sort((a, b) => a - b); + if (b.length === 2) { + const g = Math.abs(b[1] - b[0]); + gapCount.set(g, (gapCount.get(g) || 0) + 1); + } + } + let best = 2, bestC = -1; + gapCount.forEach((c, g) => { if (c > bestC) { bestC = c; best = g; } }); + return best; +}; + +const buildAdjTransition = (draws, window) => { + const start = Math.max(0, draws.length - window); + const T = Array.from({ length: state.frontMax }, () => Array(state.frontMax).fill(0)); + for (let i = start; i < draws.length; i++) { + const f = draws[i].front.slice().sort((a, b) => a - b); + for (let k = 0; k + 1 < f.length; k++) { + const a = f[k] - 1, b = f[k + 1] - 1; + T[a][b]++; + } + } + return T.map((row) => { + const s = row.reduce((a, b) => a + b, 0); + return s ? row.map((x) => x / s) : row; + }); +}; + +const entropy = (probsRow) => { + const s = probsRow.reduce((a, b) => a + b, 0); + if (s === 0) return 0; + let e = 0; + for (const p of probsRow) { if (p > 0) e += -p * Math.log(p); } + return e; +}; + +const backCooccPair = (draws, window) => { + const start = Math.max(0, draws.length - window); + const C = Array.from({ length: state.backMax + 1 }, () => Array(state.backMax + 1).fill(0)); + for (let i = start; i < draws.length; i++) { + const b = draws[i].back.slice().sort((a, b) => a - b); + if (b.length === 2) C[b[0]][b[1]]++; + } + let best = [1, 2], bestC = -1; + for (let i = 1; i <= state.backMax; i++) { + for (let j = i + 1; j <= state.backMax; j++) { + if (C[i][j] > bestC) { bestC = C[i][j]; best = [i, j]; } + } + } + return best; +}; + +const consecCount = (arr) => { + const s = new Set(arr); + let c = 0; + for (const n of arr) { if (s.has(n + 1)) c++; } + return c; // 连号对数 +}; + +const sameTailMaxGroup = (arr) => { + const tails = new Map(); + for (const n of arr) { + const t = n % 10; + tails.set(t, (tails.get(t) || 0) + 1); + } + let m = 1; tails.forEach((v) => { if (v > m) m = v; }); + return m; +}; + +const generateQuickKimi2 = () => { + const sets = []; + + // 算法1:动态加权冷热号平衡 + { + const fFreq = countFrontInWindow(state.draws, Math.min(40, state.draws.length)); + const bFreq = countBackInWindow(state.draws, Math.min(20, state.draws.length)); + const fw = fFreq.map((c) => (c === 0 ? 200 : (1 / (c + 0.5)) * 100)); + const bw = bFreq.map((c) => (c === 0 ? 200 : (1 / (c + 0.5)) * 100)); + let front = weightedPick(fw, 5); + let back = weightedPick(bw, 2); + front = ensureFrontBalance(front); + back = ensureBackBalance(back); + sets.push({ front, back, name: "动态加权冷热号平衡" }); + } + + // 算法2:智能区间密度轮动 + { + const M = Math.min(30, state.draws.length); + const { density } = intervalDensity(state.draws, M); + const order = intervalBlocks.map((b, idx) => ({ idx, val: density[idx] })) + .sort((a, b) => b.val - a.val).map((x) => x.idx); + const top1 = order[0], top2 = order[1], top3 = order[2]; + const low = order[order.length - 1]; + const fFreq = countFrontInWindow(state.draws, Math.min(40, state.draws.length)); + const fw = fFreq.map((c) => (c === 0 ? 200 : (1 / (c + 0.5)) * 100)); + const pickFromBlock = (bid, k, weights, exclude) => { + const nums = Array.from({ length: 5 }, (_, i) => intervalBlocks[bid].from + i); + const w = nums.map((n) => exclude.has(n) ? 0 : weights[n - 1] + 0.01); + const allW = Array(state.frontMax).fill(0).map((_, i) => (nums.includes(i + 1) ? w[nums.indexOf(i + 1)] : 0)); + const p = weightedPick(allW, k); + return p.filter((n) => nums.includes(n)); + }; + const selected = new Set(); + pickFromBlock(top1, 2, fw, selected).forEach((n) => selected.add(n)); + pickFromBlock(top2, 2, fw, selected).forEach((n) => selected.add(n)); + pickFromBlock(top3, 1, fw, selected).forEach((n) => selected.add(n)); + // 低密度区随机 + const lowNums = Array.from({ length: 5 }, (_, i) => intervalBlocks[low].from + i); + const lowPool = lowNums.filter((n) => !selected.has(n)); + if (lowPool.length) selected.add(lowPool[Math.floor(Math.random() * lowPool.length)]); + let front = Array.from(selected).sort((a, b) => a - b); + if (front.length > 5) { + // 保留低密度区号码,随机剔除一个其它号码 + const keep = front.filter((n) => lowNums.includes(n)); + const rest = front.filter((n) => !keep.includes(n)); + if (rest.length) rest.splice(Math.floor(Math.random() * rest.length), 1); + front = [...keep, ...rest].slice(0, 5).sort((a, b) => a - b); + } + // 后区:选最常见间距为锚点 + const gap = backGapTop(state.draws, Math.min(20, state.draws.length)); + let a = 1 + Math.floor(Math.random() * (state.backMax - 1)); + const delta = [-1, 0, 1][Math.floor(Math.random() * 3)]; + let b = a + gap + delta; b = Math.max(1, Math.min(state.backMax, b)); + if (b === a) b = Math.min(state.backMax, a + 1); + let back = [a, b].sort((x, y) => x - y); + front = ensureFrontBalance(front); + back = ensureBackBalance(back); + sets.push({ front, back, name: "智能区间密度轮动" }); + } + + // 算法3:马尔可夫链相邻号转移 + { + const P = Math.min(50, state.draws.length); + const T = buildAdjTransition(state.draws, P); + const ent = T.map(entropy); + const seeds = Array.from({ length: state.frontMax }, (_, i) => i + 1) + .sort((a, b) => ent[b - 1] - ent[a - 1]).slice(0, 5); + const start = seeds[0] || 1; + const picked = new Set([start]); + let cur = start; + while (picked.size < 5) { + const row = T[cur - 1]; + const s = row.reduce((a, b) => a + b, 0); + if (!s) { + const cand = Array.from({ length: state.frontMax }, (_, i) => i + 1).filter((n) => !picked.has(n)); + cur = cand[Math.floor(Math.random() * cand.length)]; + picked.add(cur); + continue; + } + const w = row.map((p) => p + 0.0001); + const next = weightedPick(w, 1)[0]; + if (!picked.has(next)) picked.add(next); + cur = next; + } + let front = Array.from(picked).sort((a, b) => a - b); + // 后区:最近30期共现频率最高的一对 + let back = backCooccPair(state.draws, Math.min(30, state.draws.length)); + front = ensureFrontBalance(front); + back = ensureBackBalance(back); + sets.push({ front, back, name: "马尔可夫链相邻号转移" }); + } + + // 算法4:和值锚定与奇偶动态配比 + { + const Q = Math.min(40, state.draws.length); + const start = Math.max(0, state.draws.length - Q); + const sums = []; const parities = []; + for (let i = start; i < state.draws.length; i++) { + const f = state.draws[i].front.slice().sort((a, b) => a - b); + sums.push(f.reduce((a, b) => a + b, 0)); + const odd = f.filter((n) => n % 2).length; parities.push(`${odd}-${5 - odd}`); + } + const avg10 = sums.slice(-10).reduce((a, b) => a + b, 0) / Math.max(1, Math.min(10, sums.length)); + const avg20 = sums.slice(-20).reduce((a, b) => a + b, 0) / Math.max(1, Math.min(20, sums.length)); + const trendUp = avg10 > avg20; + const targetRange = trendUp ? [110, 135] : [70, 100]; + const mostParity = (() => { + const m = new Map(); parities.forEach((p) => m.set(p, (m.get(p) || 0) + 1)); + return Array.from(m.entries()).sort((a, b) => b[1] - a[1])[0]?.[0] || "3-2"; + })(); + const [po] = mostParity.split("-").map(Number); + const oddPool = Array.from({ length: state.frontMax }, (_, i) => i + 1).filter((n) => n % 2 === 1); + const evenPool = Array.from({ length: state.frontMax }, (_, i) => i + 1).filter((n) => n % 2 === 0); + const avgAll = sums.reduce((a, b) => a + b, 0) / Math.max(1, sums.length); + let best = null, bestScore = Infinity; + const last5 = state.draws.slice(-5).flatMap((d) => d.front); + for (let t = 0; t < 2500; t++) { + const s = new Set(); + while (s.size < po) s.add(oddPool[Math.floor(Math.random() * oddPool.length)]); + while (s.size < 5) s.add(evenPool[Math.floor(Math.random() * evenPool.length)]); + const cand = Array.from(s).sort((a, b) => a - b); + const sum = cand.reduce((a, b) => a + b, 0); + const overlap = cand.filter((n) => last5.includes(n)).length * 2; + const penalty = Math.abs(sum - avgAll) + (sum < targetRange[0] ? targetRange[0] - sum : (sum > targetRange[1] ? sum - targetRange[1] : 0)) - overlap; + if (penalty < bestScore) { bestScore = penalty; best = cand; } + } + let front = best || Array.from({ length: 5 }, () => 1 + Math.floor(Math.random() * state.frontMax)).sort((a, b) => a - b); + // 后区和值跟随(±1扰动) + const backSums = state.draws.slice(-10).map((d) => d.back[0] + d.back[1]).filter((x) => !isNaN(x)); + const target = Math.round(backSums.reduce((a, b) => a + b, 0) / Math.max(1, backSums.length)); + const pairs = []; + for (let i = 1; i <= state.backMax; i++) { + for (let j = i + 1; j <= state.backMax; j++) pairs.push([i, j]); + } + const candidates = pairs.filter(([i, j]) => Math.abs(i + j - target) <= 1); + let back = (candidates.length ? candidates : pairs).sort((a, b) => Math.abs(a[0] + a[1] - target) - Math.abs(b[0] + b[1] - target))[0]; + // 随机扰动:在±1范围内换一个候选 + if (candidates.length > 1 && Math.random() < 0.5) back = candidates[Math.floor(Math.random() * candidates.length)]; + front = ensureFrontBalance(front); + back = ensureBackBalance(back); + sets.push({ front, back, name: "和值锚定与奇偶动态配比" }); + } + + // 算法5:形态学模式识别与重号衰减 + { + const R = Math.min(30, state.draws.length); + const lastR = state.draws.slice(-R); + const consecArr = lastR.map((d) => consecCount(d.front)); + const repeatArr = []; + for (let i = 1; i < lastR.length; i++) { + const sPrev = new Set(lastR[i - 1].front); + repeatArr.push(lastR[i].front.filter((n) => sPrev.has(n)).length); + } + const tailMaxArr = lastR.map((d) => sameTailMaxGroup(d.front)); + const avgConsec = Math.round((consecArr.slice(-5).reduce((a, b) => a + b, 0) / Math.max(1, Math.min(5, consecArr.length))) || 1); + let needConsecGroups = Math.max(1, Math.min(3, avgConsec)); + const recent3Consec = consecArr.slice(-3).reduce((a, b) => a + b, 0); + if (recent3Consec > 3) needConsecGroups = 1; // 连号惩罚 + const recent3Repeat = repeatArr.slice(-3).reduce((a, b) => a + b, 0); + const repeatTarget = recent3Repeat > 2 ? Math.floor(Math.random() * 2) : Math.floor(Math.random() * 3); // 0-1 或 0-2 + const tailTarget = Math.max(2, Math.round((tailMaxArr.slice(-5).reduce((a, b) => a + b, 0) / Math.max(1, Math.min(5, tailMaxArr.length))))); + const last = state.draws[state.draws.length - 1] || { front: [], back: [] }; + const prev = state.draws[state.draws.length - 2] || { front: [], back: [] }; + const blockedRepeat = prev.front.filter((n) => (last.front || []).includes(n)); // 重号冷却 + const selected = new Set(); + // 强制重号阶段 + const repeatPool = (last.front || []).filter((n) => !blockedRepeat.includes(n)); + for (let i = 0; i < repeatTarget && repeatPool.length; i++) { + const n = repeatPool[Math.floor(Math.random() * repeatPool.length)]; + selected.add(n); + } + // 连号生成阶段 + const tryAddConsec = () => { + let attempts = 0; + while (attempts++ < 40) { + const s = 1 + Math.floor(Math.random() * (state.frontMax - 1)); + const a = s, b = s + 1; + if (!selected.has(a) && !selected.has(b) && b <= state.frontMax) { selected.add(a); selected.add(b); return true; } + } + return false; + }; + for (let g = 0; g < needConsecGroups && selected.size < 5; g++) tryAddConsec(); + // 同尾号填充 + const tailsNeeded = tailTarget; + const tailsMap = new Map(); Array.from(selected).forEach((n) => tailsMap.set(n % 10, (tailsMap.get(n % 10) || 0) + 1)); + const existingTail = Array.from(tailsMap.entries()).sort((a, b) => b[1] - a[1])[0]?.[0]; + if (existingTail != null) { + const candidates = Array.from({ length: state.frontMax }, (_, i) => i + 1) + .filter((n) => (n % 10) === existingTail && !selected.has(n)); + while (Array.from(selected).filter((n) => (n % 10) === existingTail).length < tailsNeeded && candidates.length && selected.size < 5) { + const n = candidates.splice(Math.floor(Math.random() * candidates.length), 1)[0]; + selected.add(n); + } + } + // 随机补齐 + const poolAll = Array.from({ length: state.frontMax }, (_, i) => i + 1).filter((n) => !selected.has(n)); + while (selected.size < 5 && poolAll.length) { + const n = poolAll.splice(Math.floor(Math.random() * poolAll.length), 1)[0]; + selected.add(n); + } + let front = Array.from(selected).sort((a, b) => a - b); + // 后区:间距偏好 + const gaps = state.draws.slice(-10).map((d) => Math.abs(d.back[1] - d.back[0])).filter((x) => !isNaN(x)); + const avgGap = Math.round(gaps.reduce((a, b) => a + b, 0) / Math.max(1, gaps.length)) || 2; + let a = 1 + Math.floor(Math.random() * (state.backMax - 1)); + let b = Math.min(state.backMax, Math.max(1, a + avgGap + [-1, 0, 1][Math.floor(Math.random() * 3)])); + if (b === a) b = Math.min(state.backMax, a + 1); + let back = [a, b].sort((x, y) => x - y); + front = ensureFrontBalance(front); + back = ensureBackBalance(back); + sets.push({ front, back, name: "形态学模式识别与重号衰减" }); + } + + appendLog("Kimi2智能五组号码已生成"); + return sets; +}; + +// 绑定 Kimi2 按钮 +el("btnQuickKimi2").addEventListener("click", () => { + const sets = generateQuickKimi2(); + renderTickets("aiQuickOutput", sets, "Kimi2"); + state.recommended = sets; + renderTickets("exportPreview", state.recommended, "推荐"); +}); + +const pricePerBet = () => (el("extraAdd").checked ? 3 : 2); +const showResult = (bets) => { + el("betCount").textContent = String(bets); + const amount = bets * pricePerBet(); + el("betAmount").textContent = String(amount); + const warn = el("ticketLimitWarn"); + warn.hidden = !(amount > state.ticketLimitCNY); +}; + +el("betType").addEventListener("change", () => { + const t = el("betType").value; + el("singleForm").classList.toggle("hidden", t !== "single"); + el("multipleForm").classList.toggle("hidden", t !== "multiple"); + el("dantuoForm").classList.toggle("hidden", t !== "dantuo"); + showResult(0); +}); + +el("btnCalcSingle").addEventListener("click", () => { + const f = parseNumList(el("singleFront").value, state.frontMax); + const b = parseNumList(el("singleBack").value, state.backMax); + if (f.length !== 5 || b.length !== 2) return alert("单式需前区5个、后区2个号码"); + showResult(1); +}); + +el("btnCalcMultiple").addEventListener("click", () => { + const f = parseNumList(el("multiFront").value, state.frontMax); + const b = parseNumList(el("multiBack").value, state.backMax); + if (f.length < 5 || b.length < 2) return alert("复式需前区≥5、后区≥2个号码"); + const bets = combo(f.length, 5) * combo(b.length, 2); + showResult(bets); +}); + +el("btnCalcDantuo").addEventListener("click", () => { + const fd = parseNumList(el("dtFrontDan").value, state.frontMax); + const ft = parseNumList(el("dtFrontTuo").value, state.frontMax); + const bd = parseNumList(el("dtBackDan").value, state.backMax); + const bt = parseNumList(el("dtBackTuo").value, state.backMax); + if (fd.length < 1 || fd.length > 4) return alert("前区胆需1-4个"); + if (ft.length < 1) return alert("前区拖需≥1个"); + if (bd.length > 1) return alert("后区胆最多1个"); + if (bt.length < 2) return alert("后区拖需≥2个"); + if (fd.some((n) => ft.includes(n))) return alert("前区胆与拖不可重复"); + if (bd.some((n) => bt.includes(n))) return alert("后区胆与拖不可重复"); + const betsFront = combo(ft.length, 5 - fd.length); + const betsBack = combo(bt.length, 2 - bd.length); + const bets = betsFront * betsBack; + showResult(bets); +}); + +el("btnExportCSV").addEventListener("click", () => { + if (!state.recommended.length) return alert("暂无推荐内容可导出"); + const rows = ["前区,后区"]; + state.recommended.forEach((t) => { + rows.push(`${t.front.map(pad2).join(" ")},${t.back.map(pad2).join(" ")}`); + }); + const a = document.createElement("a"); + a.href = URL.createObjectURL(new Blob([rows.join("\n")], { type: "text/csv;charset=utf-8;" })); + a.download = "推荐号码.csv"; a.click(); +}); + +el("btnPrint").addEventListener("click", () => window.print()); + +// 初始化:仅从服务器同步 +(async () => { + try { + await refreshFromServer(); + updateMeta(); + recomputeAll(); + } catch (e) { + appendLog(`初始化失败:${e && e.message ? e.message : String(e)}`); + } +})(); diff --git a/public/tools/dlt_draws/assets/auth.js b/public/tools/dlt_draws/assets/auth.js new file mode 100644 index 0000000..72d0dfb --- /dev/null +++ b/public/tools/dlt_draws/assets/auth.js @@ -0,0 +1,164 @@ +(() => { + const originalFetch = window.fetch; + window.fetch = (input, init = {}) => { + const opts = Object.assign({}, init); + if (!opts.credentials) opts.credentials = 'include'; + return originalFetch(input, opts); + }; + const overlayId = 'authOverlay'; + const ensureOverlay = () => { + let ov = document.getElementById(overlayId); + if (ov) return ov; + ov = document.createElement('div'); + ov.id = overlayId; + ov.style.position = 'fixed'; + ov.style.left = '0'; ov.style.top = '0'; ov.style.right = '0'; ov.style.bottom = '0'; + ov.style.display = 'none'; + ov.style.alignItems = 'center'; + ov.style.justifyContent = 'center'; + ov.style.background = 'rgba(0,0,0,0.6)'; + ov.style.zIndex = '9999'; + const panel = document.createElement('div'); + panel.style.background = '#fff'; + panel.style.padding = '20px'; + panel.style.borderRadius = '8px'; + panel.style.boxShadow = '0 4px 12px rgba(0,0,0,0.2)'; + const title = document.createElement('div'); + title.textContent = '鉴权失败,请重新校验'; + title.style.fontSize = '16px'; + title.style.marginBottom = '12px'; + title.style.color = '#333'; + const debug = document.createElement('pre'); + debug.id = 'authDebug'; + debug.style.fontSize = '12px'; + debug.style.lineHeight = '1.5'; + debug.style.background = '#f7f7f8'; + debug.style.border = '1px solid #e3e3e7'; + debug.style.padding = '10px'; + debug.style.margin = '0 0 12px 0'; + debug.style.maxWidth = '520px'; + debug.style.maxHeight = '240px'; + debug.style.overflow = 'auto'; + debug.textContent = '正在收集诊断信息...'; + const btn = document.createElement('button'); + btn.textContent = '重新校验'; + btn.style.padding = '8px 16px'; + btn.addEventListener('click', async () => { + await handshake(); + }); + panel.appendChild(title); + panel.appendChild(debug); + panel.appendChild(btn); + ov.appendChild(panel); + document.body.appendChild(ov); + return ov; + }; + const showOverlay = () => { ensureOverlay().style.display = 'flex'; }; + const hideOverlay = () => { const ov = ensureOverlay(); ov.style.display = 'none'; }; + let cfg = { enableCookieAuth: true, cookieName: 'picker_jwt' }; + const loadConfig = async () => { + try { + const res = await fetch('assets/auth_config.json', { cache: 'no-store' }); + if (!res.ok) return; + const data = await res.json(); + cfg = Object.assign({}, cfg, data || {}); + } catch (_) {} + }; + const debugState = { + url: '', + config: {}, + tokenInUrl: false, + tokenCall: { tried: false, ok: false, status: 0 }, + handshake: { tried: false, ok: false, status: 0 }, + server: {} + }; + const removeTokenFromUrl = () => { + try { + const nu = new URL(window.location.href); + nu.searchParams.delete('token'); + window.history.replaceState(null, document.title, nu.toString()); + } catch (_) {} + }; + const handleTokenInUrl = async () => { + try { + const u = new URL(window.location.href); + const token = u.searchParams.get('token'); + debugState.url = u.toString(); + debugState.config = { enableCookieAuth: !!cfg.enableCookieAuth, cookieName: String(cfg.cookieName || '') }; + debugState.tokenInUrl = !!token; + if (token) { + if (cfg.enableCookieAuth) { + const r = await fetch(`/auth/token?token=${encodeURIComponent(token)}`, { method: 'GET' }); + debugState.tokenCall.tried = true; + debugState.tokenCall.ok = r.ok; + debugState.tokenCall.status = r.status || 0; + removeTokenFromUrl(); + return r.ok; + } else { + removeTokenFromUrl(); + return true; + } + } + } catch (_) {} + return true; + }; + const handshake = async () => { + if (!cfg.enableCookieAuth) { hideOverlay(); return true; } + try { + const r = await fetch('/auth/handshake', { cache: 'no-store' }); + debugState.handshake.tried = true; + debugState.handshake.ok = r.ok; + debugState.handshake.status = r.status || 0; + try { + const dbgRes = await fetch('/auth/debug', { cache: 'no-store' }); + if (dbgRes.ok) { + debugState.server = await dbgRes.json(); + } else { + debugState.server = { error: 'debug endpoint unavailable', status: dbgRes.status || 0 }; + } + } catch (e) { + debugState.server = { error: 'debug request failed' }; + } + const box = document.getElementById('authDebug'); + if (box) { + const lines = []; + lines.push(`URL: ${debugState.url}`); + lines.push(`Config: enableCookieAuth=${debugState.config.enableCookieAuth} cookieName=${debugState.config.cookieName}`); + lines.push(`TokenInUrl: ${debugState.tokenInUrl}`); + lines.push(`TokenCall: tried=${debugState.tokenCall.tried} ok=${debugState.tokenCall.ok} status=${debugState.tokenCall.status}`); + lines.push(`Handshake: tried=${debugState.handshake.tried} ok=${debugState.handshake.ok} status=${debugState.handshake.status}`); + if (debugState.server && typeof debugState.server === 'object') { + lines.push(`Server.enableAuth: ${debugState.server.enableAuth}`); + lines.push(`Server.jwkLoaded: ${debugState.server.jwkLoaded}`); + lines.push(`Server.cookieName: ${debugState.server.cookieName}`); + lines.push(`Server.cookiePresent: ${debugState.server.cookiePresent}`); + lines.push(`Server.verified: ${debugState.server.verified}`); + const rq = debugState.server.request || {}; + lines.push(`Server.request.host: ${rq.host || ''}`); + lines.push(`Server.request.path: ${rq.path || ''}`); + lines.push(`Server.request.origin: ${rq.origin || ''}`); + lines.push(`Server.request.secFetchMode: ${rq.secFetchMode || ''}`); + lines.push(`Server.request.forwardedProto: ${rq.forwardedProto || ''}`); + lines.push(`Server.request.secure: ${rq.secure}`); + lines.push(`Server.request.proto: ${rq.proto || ''}`); + } else { + lines.push(`Server: ${String(debugState.server)}`); + } + lines.push(`Expected URLs: /auth/token?token=... , /auth/handshake , /api/...`); + box.textContent = lines.join('\n'); + } + if (r.ok) { hideOverlay(); return true; } + showOverlay(); return false; + } catch (_) { showOverlay(); return false; } + }; + const init = async () => { + await loadConfig(); + await handleTokenInUrl(); + await handshake(); + }; + if (document.readyState === 'complete' || document.readyState === 'interactive') { + init(); + } else { + document.addEventListener('DOMContentLoaded', init); + } +})(); diff --git a/public/tools/dlt_draws/assets/auth_config.json b/public/tools/dlt_draws/assets/auth_config.json new file mode 100644 index 0000000..2d3e647 --- /dev/null +++ b/public/tools/dlt_draws/assets/auth_config.json @@ -0,0 +1,9 @@ +{ + "_comment": "大乐透选号(dlt_draws)工具的鉴权配置", + "cookieName_comment": "用于识别已登录用户的 JWT cookie 名称", + "cookieName": "picker_jwt", + "enableCookieAuth_comment": "true:启用基于 cookie 的鉴权;false:不校验登录状态", + "enableCookieAuth": true, + "max_age_days_comment": "JWT cookie 的最大有效天数(1~365)", + "max_age_days": 30 +} diff --git a/public/tools/dlt_draws/assets/picker.svg b/public/tools/dlt_draws/assets/picker.svg new file mode 100644 index 0000000..bbb5cbe --- /dev/null +++ b/public/tools/dlt_draws/assets/picker.svg @@ -0,0 +1,3 @@ + + 🎲 + \ No newline at end of file diff --git a/public/tools/dlt_draws/assets/style.css b/public/tools/dlt_draws/assets/style.css new file mode 100644 index 0000000..90b70a1 --- /dev/null +++ b/public/tools/dlt_draws/assets/style.css @@ -0,0 +1,153 @@ +:root { + --bg: #0b0e11; + --card: #151a21; + --text: #e5eaf0; + --muted: #9aa7b2; + --primary: #3b82f6; + --secondary: #64748b; + --accent: #22c55e; + --warn: #f59e0b; + --danger: #ef4444; +} + +* { box-sizing: border-box; } +html, body { height: 100%; } +body { + margin: 0; + font-family: system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji"; + background: var(--bg); + color: var(--text); +} + +.app-header { padding: 20px 16px 10px; border-bottom: 1px solid #1f2630; } +.app-header h1 { margin: 0 0 8px; font-size: 20px; } +.disclaimer { margin: 0; color: var(--muted); font-size: 13px; } + +.tabs { display: flex; gap: 8px; padding: 10px 16px; border-bottom: 1px solid #1f2630; position: sticky; top: 0; background: var(--bg); z-index: 10; } +.tab-btn { + background: #11161d; + color: var(--text); + border: 1px solid #1f2630; + border-radius: 6px; + padding: 8px 12px; + cursor: pointer; +} +.tab-btn.active { background: var(--primary); border-color: var(--primary); } + +main { padding: 16px; } +.tab-panel { margin-bottom: 16px; } +.hidden { display: none; } + +h2 { font-size: 18px; margin: 0 0 10px; } +h3 { font-size: 16px; margin: 0 0 10px; } +h4 { font-size: 15px; margin: 0 0 8px; } + +.card { + background: var(--card); + border: 1px solid #223043; + border-radius: 10px; + padding: 12px; + margin-bottom: 14px; +} + +.row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; } +.gap { gap: 10px; } +.col { flex: 1; min-width: 260px; } + +input[type="text"], input[type="number"], select { + background: #0f141a; + border: 1px solid #334155; + color: var(--text); + padding: 8px 10px; + border-radius: 6px; +} +input[type="file"] { color: var(--text); } + +button { + background: var(--primary); + color: #fff; + border: none; + border-radius: 6px; + padding: 8px 12px; + cursor: pointer; +} +button.secondary { background: var(--secondary); } +button.ghost { background: transparent; border: 1px solid #334155; color: var(--text); } +button.ghost.danger { border-color: var(--danger); color: var(--danger); } + +.bars { display: grid; grid-template-columns: repeat(1, minmax(250px, 1fr)); gap: 6px; } +.bar-row { display: flex; align-items: center; gap: 8px; } +.bar-label { width: 40px; text-align: right; font-variant-numeric: tabular-nums; color: var(--muted); } +.bar { + height: 18px; + background: #0e1620; + border: 1px solid #2b3b52; + border-radius: 4px; + overflow: hidden; + flex: 1; +} +.bar-fill { height: 100%; background: var(--accent); } +.bar-value { width: 38px; text-align: right; font-variant-numeric: tabular-nums; color: var(--muted); } + +.grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; } +.grid-item { background: #0e1620; border: 1px solid #2b3b52; border-radius: 6px; padding: 6px; text-align: center; } +.grid-item .n { display: block; color: var(--muted); font-size: 12px; } +.grid-item .v { display: block; font-variant-numeric: tabular-nums; font-size: 14px; } + +.summary { display: grid; grid-template-columns: repeat(2, minmax(220px, 1fr)); gap: 8px; } +.summary-item { background: #0e1620; border: 1px solid #2b3b52; border-radius: 6px; padding: 8px; } +.summary-item h5 { margin: 0 0 6px; font-size: 14px; color: var(--muted); } +.summary-item .content { font-variant-numeric: tabular-nums; } + +.list { display: grid; grid-template-columns: repeat(1, minmax(260px, 1fr)); gap: 6px; } +.ticket { background: #0e1620; border: 1px solid #2b3b52; border-radius: 8px; padding: 8px; } +.ticket .title { color: var(--muted); margin-bottom: 6px; font-size: 13px; } +.nums { display: flex; flex-wrap: wrap; gap: 6px; } +.ball { background: #182231; color: #fff; border-radius: 999px; padding: 6px 8px; font-variant-numeric: tabular-nums; } +.ball.back { + background: transparent; /* 改为空心圆 */ + border: 1px solid #6e5aa1; /* 1px 圆边(偏紫,与原色系协调) */ +} + +.result { display: flex; gap: 18px; align-items: center; margin-top: 8px; } +.muted { color: var(--muted); } +.warn { color: var(--warn); } +.danger { color: var(--danger); } + +.switch { display: inline-flex; align-items: center; gap: 6px; } + +.app-footer { padding: 20px 16px; border-top: 1px solid #1f2630; color: var(--muted); text-align: center; } + +.log { + background: #0e1620; + border: 1px solid #2b3b52; + border-radius: 6px; + padding: 8px; + max-height: 200px; + overflow: auto; + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace; + font-size: 12px; + line-height: 1.5; + white-space: pre-wrap; +} + +.paste { + width: 100%; + background: #0f141a; + border: 1px solid #334155; + color: var(--text); + border-radius: 6px; + padding: 8px; + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace; +} + +@media (min-width: 800px) { + .bars { grid-template-columns: repeat(2, minmax(360px, 1fr)); } + .list { grid-template-columns: repeat(2, minmax(320px, 1fr)); } +} + +@media print { + body { background: #fff; color: #000; } + .tabs, .app-footer, .disclaimer, .switch, button, input, select { display: none !important; } + .card { border: 1px solid #999; } +} \ No newline at end of file diff --git a/public/tools/dlt_draws/index.html b/public/tools/dlt_draws/index.html new file mode 100644 index 0000000..5cc3f39 --- /dev/null +++ b/public/tools/dlt_draws/index.html @@ -0,0 +1,256 @@ + + + + + + 智能投注辅助系统(仅供参考) + + + + + +
    +

    超级大乐透智能投注辅助系统

    +

    + 本系统用于数据分析与选号参考,严格遵循国家彩票管理条例,不承诺中奖,不支持自动投注或下单功能。 + 所有投注需前往官方销售网点完成。未成年人不得购彩,请理性参与,量力而行。 +

    +
    + + + +
    + +
    +

    数据采集与更新

    +
    +
    + + + + + + +
    +

    CSV字段:期号, 开奖日期, 前区, 后区, 奖池资金。示例:2024001, 2024-01-01, "01 02 03 04 05", "06 12", 100000000

    +
    + + + +
    +
    + 本地已保存期数:0 + 最近一期:- +
    +
    + +
    +

    抓取日志

    +
    
    +        
    +
    + + + + + + + + + + + + + + + +
    + +
    + © 智能投注辅助系统 · 仅供参考,请理性购彩 +
    + + + + + diff --git a/public/tools/doc_cloud_keeper/DocHelper/DocHelper.zip b/public/tools/doc_cloud_keeper/DocHelper/DocHelper.zip new file mode 100644 index 0000000..4c67c83 Binary files /dev/null and b/public/tools/doc_cloud_keeper/DocHelper/DocHelper.zip differ diff --git a/public/tools/doc_cloud_keeper/auth_config.json b/public/tools/doc_cloud_keeper/auth_config.json new file mode 100644 index 0000000..0d4c4b4 --- /dev/null +++ b/public/tools/doc_cloud_keeper/auth_config.json @@ -0,0 +1,9 @@ +{ + "_comment": "文档云管家工具的前端鉴权配置", + "enable_auth_comment": "true:启用鉴权(需导航token握手或已有会话);false:完全放开访问", + "enable_auth": true, + "cookieName_comment": "文档云管家鉴权 cookie 名称(用于标记已登录状态)", + "cookieName": "doc_cloud_keeper_gate", + "max_age_days_comment": "鉴权 cookie 的最大有效天数(1~365)", + "max_age_days": 30 +} diff --git a/public/tools/doc_cloud_keeper/doc_cloud_keeper.css b/public/tools/doc_cloud_keeper/doc_cloud_keeper.css new file mode 100644 index 0000000..3d30f39 --- /dev/null +++ b/public/tools/doc_cloud_keeper/doc_cloud_keeper.css @@ -0,0 +1,1050 @@ +.dck-body { + background: #0f172a; + color: #e5e7eb; + height: 100vh; + overflow: hidden; +} + +.dck-body .container { + height: calc(100vh - 24px); + min-height: 0; + display: flex; + flex-direction: column; + overflow: hidden; +} + +#dck-app { + flex: 1; + min-height: 0; + display: flex; + flex-direction: column; + overflow: hidden; +} + +.dck-header { + display: flex; + justify-content: space-between; + align-items: center; + gap: 12px; + margin: 8px 0; +} + +.dck-header-main { + display: flex; + align-items: center; + gap: 14px; + min-width: 0; + flex: 1; +} + +.dck-header h2 { + margin: 0; + display: flex; + align-items: center; + white-space: nowrap; + flex: 0 0 auto; +} + +.dck-actions { + display: flex; + gap: 8px; + flex: 0 0 auto; +} + +.dck-login { + max-width: 450px; + margin: 24px auto; + background: radial-gradient(circle at 0 0, rgba(37, 99, 235, 0.16) 0, rgba(15, 23, 42, 0.8) 40%, rgba(15, 23, 42, 0.98) 100%); + border-radius: 18px; + border: 1px solid rgba(148, 163, 184, 0.6); + padding: 18px 18px 16px; + box-shadow: 0 32px 80px rgba(15, 23, 42, 0.9); + backdrop-filter: blur(16px); +} + +.dck-login h3 { + font-size: 18px; + font-weight: 600; + margin: 0 0 16px 0; + text-align: center; +} + +.dck-login .list-card { + padding: 8px 0 0; +} + +.dck-body .modal-row { + margin-bottom: 10px; +} + +.dck-body .modal-label { + font-size: 13px; + color: #cbd5e1; +} + +.dck-body .modal-input { + width: 100%; + border-radius: 10px; + border: 1px solid rgba(148, 163, 184, 0.6); + background: rgba(15, 23, 42, 0.88); + color: #e5e7eb; + padding: 8px 10px; + font-size: 14px; + outline: none; + transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease; +} + +.dck-body .modal-input::placeholder { + color: #64748b; +} + +.dck-body .modal-input:focus { + border-color: rgba(59, 130, 246, 0.9); + box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.7), 0 18px 40px rgba(15, 23, 42, 0.9); + background: rgba(15, 23, 42, 1); +} + +.dck-body .action-buttons { + display: flex; + align-items: center; +} + +.dck-body .action-btn { + border-radius: 999px; + border: none; + padding: 7px 14px; + font-size: 14px; + display: inline-flex; + align-items: center; + gap: 4px; + background: radial-gradient(circle at top left, rgba(59, 130, 246, 0.5), rgba(37, 99, 235, 0.8)); + color: #f9fafb; + cursor: pointer; + box-shadow: 0 18px 40px rgba(15, 23, 42, 0.9); + transition: background 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease; +} + +.dck-body .action-btn:hover { + background: radial-gradient(circle at top left, rgba(96, 165, 250, 0.6), rgba(37, 99, 235, 0.95)); + transform: translateY(-1px); + box-shadow: 0 24px 60px rgba(15, 23, 42, 1); +} + +.dck-body .action-btn:active { + transform: translateY(0); + box-shadow: 0 14px 32px rgba(15, 23, 42, 0.9); +} + +.dck-banner { + margin: 8px 0; + padding: 8px 10px; + border-radius: 8px; + border: 1px solid rgba(248, 113, 113, 0.6); + background: rgba(220, 38, 38, 0.2); +} + +.dck-stats { + display: flex; + gap: 16px; + margin: 0; + color: #cbd5e1; + align-items: center; + flex-wrap: nowrap; + white-space: nowrap; + overflow-x: auto; + min-width: 0; +} + +.dck-stats span, +.dck-stats a { + flex: 0 0 auto; +} + +.dck-layout { + display: grid; + grid-template-columns: 290px 1fr; + gap: 12px; + flex: 1; + min-height: 0; + align-items: stretch; + overflow: hidden; +} + +.dck-left, +.dck-right { + background: rgba(15, 23, 42, 0.72); + border: 1px solid rgba(148, 163, 184, 0.28); + border-radius: 12px; + padding: 10px; + min-height: 0; + height: 100%; + display: flex; + flex-direction: column; + overflow: hidden; +} + +.dck-left-top { + display: flex; + gap: 8px; + margin-bottom: 8px; +} + +.dck-folders { + list-style: none; + margin: 0; + padding: 0; + flex: 1; + min-height: 0; + overflow: auto; +} + +.dck-folders li { + border: 1px solid rgba(148, 163, 184, 0.2); + border-radius: 8px; + margin-bottom: 8px; + padding: 8px; + cursor: pointer; +} + +.dck-folders li.active { + border-color: #60a5fa; + background: rgba(59, 130, 246, 0.2); +} + +.dck-folder-node { + display: flex; + align-items: center; + justify-content: space-between; + gap: 6px; +} + +.dck-folders li .dck-edit-folder-btn { + display: none; + background: transparent; + border: none; + color: #94a3b8; + cursor: pointer; + padding: 2px 4px; + font-size: 14px; + border-radius: 4px; +} + +.dck-folders li:hover .dck-edit-folder-btn { + display: inline-block; +} + +.dck-folders li .dck-edit-folder-btn:hover { + color: #60a5fa; + background: rgba(255, 255, 255, 0.1); +} + +.dck-folder-depth { + display: inline-block; + width: 10px; + height: 1px; +} + +.dck-folder-name { + flex: 1; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.dck-toolbar, +.dck-batch, +.dck-meta { + display: flex; + gap: 8px; + margin-bottom: 8px; + flex-wrap: nowrap; + overflow-x: auto; +} + +.dck-small { + width: 140px; + min-width: 140px; +} + +.dck-table-wrap { + border: 1px solid rgba(148, 163, 184, 0.25); + border-radius: 8px; + flex: 1; + min-height: 0; + overflow: auto; +} + +.dck-table { + width: 100%; + border-collapse: collapse; +} + +.dck-table th, +.dck-table td { + border-bottom: 1px solid rgba(148, 163, 184, 0.2); + padding: 6px 8px; + white-space: nowrap; +} + +.dck-local-btn { + min-width: 26px; + height: 24px; + padding: 0 6px; +} + +.dck-table tbody tr:hover { + background: rgba(148, 163, 184, 0.1); +} + +.dck-table tbody tr.active { + background: rgba(59, 130, 246, 0.2); +} + +.dck-doc-title-wrap { + display: inline-flex; + align-items: center; + gap: 6px; + max-width: 100%; + vertical-align: middle; +} + +.dck-doc-title { + display: inline-block; +} + +.dck-doc-parent-tag { + display: inline-block; + padding: 1px 6px; + border-radius: 4px; + background: #fef9c3; + color: #111827; + font-size: 11px; + line-height: 1.4; + white-space: nowrap; + vertical-align: middle; +} + +.dck-version-count-tag { + display: inline-block; + min-width: 24px; + padding: 1px 7px; + border: none; + border-radius: 999px; + background: #ffedd5; + color: #111827; + font-size: 11px; + line-height: 1.4; + white-space: nowrap; + vertical-align: middle; + cursor: pointer; +} + +.dck-version-count-tag:hover { + background: #fed7aa; +} + +.dck-row-expired { + background: rgba(239, 68, 68, 0.22); +} + +.dck-row-urgent { + background: rgba(249, 115, 22, 0.2); +} + +.dck-versions-body { + width: min(900px, 92vw); + background: #ffffff; +} + +.dck-versions-head { + display: flex; + justify-content: space-between; + align-items: center; +} + +.dck-versions-list { + margin-top: 10px; + max-height: 70vh; + overflow: auto; + color: #374151; +} + +.dck-versions-tabs { + display: flex; + gap: 8px; + padding: 12px 16px 0 16px; + align-items: center; +} + +.dck-versions-refresh-btn { + margin-left: auto; + white-space: nowrap; +} + +.dck-versions-compare-btn { + margin-left: auto; + white-space: nowrap; +} + +.dck-versions-compare-btn:disabled { + opacity: 0.45; + cursor: not-allowed; +} + +.dck-version-select { + display: inline-flex; + align-items: center; + gap: 6px; + margin-right: 8px; + font-size: 12px; + color: #475569; +} + +.dck-version-select input { + margin: 0; +} + +.dck-versions-tab { + border: 1px solid #cbd5e1; + background: #f8fafc; + color: #334155; + border-radius: 999px; + padding: 6px 12px; + cursor: pointer; + font-size: 13px; +} + +.dck-versions-tab.active { + background: #dbeafe; + border-color: #60a5fa; + color: #1d4ed8; +} + +.dck-version-row { + display: flex; + justify-content: space-between; + align-items: center; + border: 1px solid #d1d5db; + border-radius: 4px; + padding: 8px; + margin-bottom: 8px; + background: #ffffff; + color: #111827; +} + +.dck-version-main { + min-width: 0; +} + +.dck-version-title { + font-weight: 600; + margin-bottom: 4px; + color: #111827; + display: flex; + align-items: center; + gap: 8px; + flex-wrap: wrap; +} + +.dck-version-meta { + font-size: 12px; + color: #6b7280; + line-height: 1.5; +} + +.dck-oss-status { + display: inline-block; + border-radius: 999px; + padding: 2px 8px; + font-size: 11px; + line-height: 1.3; + background: #e5e7eb; + color: #374151; +} + +.dck-oss-status.uploaded { + background: #dcfce7; + color: #166534; +} + +.dck-oss-status.pending { + background: #fef3c7; + color: #92400e; +} + +.dck-oss-status.failed { + background: #fee2e2; + color: #b91c1c; +} + +.dck-oss-deleted { + display: inline-block; + border-radius: 999px; + padding: 2px 8px; + font-size: 11px; + line-height: 1.3; + background: #fde68a; + color: #111827; +} + +.dck-compare-body { + width: min(1180px, 96vw); + padding: 0; + border-radius: 0; + border: 1px solid #0078d7; + box-shadow: 0 0 0 1px #0078d7, 0 10px 20px rgba(0, 0, 0, 0.35); + background: #fff; + color: #111827; +} + +.dck-compare-layout { + display: grid; + grid-template-columns: minmax(280px, 0.9fr) minmax(320px, 1fr) minmax(360px, 1.2fr); + min-height: 520px; +} + +.dck-compare-panel { + border-right: 1px solid #d1d5db; + min-height: 0; + display: flex; + flex-direction: column; +} + +.dck-compare-panel:last-child { + border-right: none; +} + +.dck-compare-section-title { + padding: 12px 14px; + border-bottom: 1px solid #d1d5db; + background: #f8fafc; + font-size: 14px; + font-weight: 600; + color: #111827; +} + +.dck-compare-section-content { + padding: 14px; + overflow: auto; + font-size: 13px; + line-height: 1.6; + color: #334155; +} + +.dck-compare-block { + border: 1px solid #dbe3ee; + border-radius: 6px; + background: #f8fafc; + padding: 10px 12px; + margin-bottom: 10px; +} + +.dck-compare-block-title { + font-weight: 600; + margin-bottom: 6px; + color: #111827; +} + +.dck-compare-list { + margin: 0; + padding-left: 18px; +} + +.dck-compare-list li { + margin-bottom: 6px; + word-break: break-word; +} + +.dck-compare-warning { + border-color: #fbbf24; + background: #fffbeb; + color: #92400e; +} + +.dck-compare-filter-row { + display: flex; + flex-direction: column; + gap: 8px; +} + +.dck-compare-filter-row label { + font-size: 12px; + color: #475569; +} + +.dck-compare-filter-select { + min-width: 0; + background: #fff; + color: #111827; + border: 1px solid #cbd5e1; + border-radius: 6px; + padding: 8px 10px; +} + +.dck-version-row button { + background: #ffffff; + color: #111827; + border: 1px solid #9ca3af; +} + +.dck-version-row button:hover { + background: #e5f1fb; + border-color: #0078d7; +} + +.dck-form-body { + width: min(620px, 92vw); + padding: 0; + border-radius: 0; + border: 1px solid #0078d7; + box-shadow: 0 0 0 1px #0078d7, 0 10px 20px rgba(0, 0, 0, 0.35); + background: #fff; + color: #111827; +} + +.dck-form-head, +.dck-action-head { + display: flex; + justify-content: space-between; + align-items: center; + height: 34px; + background: #0078d7; + color: #ffffff; + padding: 0 0 0 12px; + box-sizing: border-box; +} + +.dck-form-head h3, +.dck-action-head h3 { + margin: 0; + font-size: 14px; + font-weight: 500; + color: #ffffff; +} + +.dck-form-head .icon-theme, +.dck-action-head .icon-theme { + width: 46px; + height: 34px; + border: none; + border-radius: 0; + background: transparent; + color: #fff; + display: flex; + align-items: center; + justify-content: center; + font-size: 16px; +} + +.dck-form-head .icon-theme:hover, +.dck-action-head .icon-theme:hover { + background: #e81123; + color: #fff; +} + +.dck-form-msg, +.dck-action-msg { + margin: 16px 16px 10px 16px; + color: #374151; + font-size: 14px; +} + +#dck-form-fields { + margin-top: 10px; + padding: 0 16px 16px 16px; +} + +.dck-form-row { + display: flex; + align-items: center; + gap: 10px; + margin-bottom: 12px; +} + +.dck-form-row .modal-label { + width: 90px; + min-width: 90px; + color: #374151; + font-size: 14px; +} + +.dck-form-row .modal-input, +.dck-form-row select, +.dck-form-row textarea { + flex: 1; + background: #ffffff; + color: #111827; + border: 1px solid #9ca3af; + border-radius: 4px; + padding: 6px 10px; + font-size: 14px; +} + +.dck-form-row .modal-input:focus, +.dck-form-row select:focus, +.dck-form-row textarea:focus { + border-color: #0078d7; + box-shadow: 0 0 0 1px #0078d7; + background: #ffffff; +} + +.dck-form-actions, +.dck-action-actions { + margin-top: 0; + display: flex; + justify-content: flex-end; + gap: 8px; + background: #f3f4f6; + border-top: 1px solid #d1d5db; + padding: 10px 16px; +} + +.dck-action-body { + width: min(960px, 94vw); + padding: 0; + border-radius: 0; + border: 1px solid #0078d7; + box-shadow: 0 0 0 1px #0078d7, 0 10px 20px rgba(0, 0, 0, 0.35); + background: #fff; + color: #111827; +} + +.dck-action-status { + margin-top: 8px; + font-weight: 600; + padding: 0 16px; +} + +.dck-action-status.ok { + color: #86efac; +} + +.dck-action-status.err { + color: #fca5a5; +} + +.dck-action-logs { + margin: 10px 16px 16px 16px; + border: 1px solid #cbd5e1; + border-radius: 4px; + padding: 8px; + max-height: 55vh; + overflow: auto; + background: #f8fafc; + font-family: Consolas, Menlo, Monaco, monospace; + font-size: 12px; + color: #334155; +} + +.dck-log-line { + margin-bottom: 4px; + white-space: pre-wrap; + word-break: break-word; +} + +.dck-log-line.err { + color: #ef4444; +} + +.dck-log-line.ok { + color: #10b981; +} + +.dck-form-actions .mini-btn, +.dck-action-actions .mini-btn { + background: #ffffff; + color: #111827; + border: 1px solid #9ca3af; +} + +.dck-form-actions .mini-btn:hover, +.dck-action-actions .mini-btn:hover { + background: #e5f1fb; + border-color: #0078d7; +} + +.dck-oss-probe-body { + width: min(1280px, 96vw); + padding: 0; + border-radius: 0; + border: 1px solid #0078d7; + box-shadow: 0 0 0 1px #0078d7, 0 10px 20px rgba(0, 0, 0, 0.35); + background: #fff; + color: #111827; +} + +.dck-oss-probe-layout { + display: grid; + grid-template-columns: minmax(260px, 0.9fr) minmax(420px, 1.4fr) minmax(320px, 1fr); + gap: 0; + min-height: 520px; +} + +.dck-oss-probe-panel { + display: flex; + flex-direction: column; + min-height: 0; + border-right: 1px solid #d1d5db; +} + +.dck-oss-probe-panel:last-child { + border-right: none; +} + +.dck-oss-probe-panel-title { + padding: 12px 14px; + border-bottom: 1px solid #d1d5db; + background: #f8fafc; + font-size: 14px; + font-weight: 600; + color: #111827; +} + +.dck-oss-probe-actions { + display: flex; + gap: 8px; + flex-wrap: wrap; + padding: 14px; +} + +.dck-oss-probe-file, +.dck-oss-probe-result { + margin: 0 14px 14px 14px; + border: 1px solid #cbd5e1; + border-radius: 6px; + padding: 10px 12px; + background: #f8fafc; + color: #334155; + white-space: pre-wrap; + word-break: break-word; + font-family: Consolas, Menlo, Monaco, monospace; + font-size: 12px; + line-height: 1.6; +} + +.dck-oss-probe-result.ok { + border-color: #86efac; + background: #f0fdf4; +} + +.dck-oss-probe-result.err { + border-color: #fca5a5; + background: #fef2f2; +} + +.dck-oss-probe-logs { + flex: 1; + min-height: 0; + height: 100%; + max-height: 60vh; + margin: 14px; + border: 1px solid #cbd5e1; + border-radius: 6px; + padding: 10px 12px; + overflow-y: scroll; + overflow-x: hidden; + background: #0f172a; + color: #e2e8f0; + font-family: Consolas, Menlo, Monaco, monospace; + font-size: 12px; + line-height: 1.6; +} + +.dck-oss-probe-log-line { + margin-bottom: 4px; + white-space: pre-wrap; + word-break: break-word; +} + +.dck-oss-probe-log-line.err { + color: #fca5a5; +} + +.dck-oss-probe-log-line.ok { + color: #86efac; +} + +.dck-batch .mini-btn:disabled { + opacity: 0.45; + cursor: not-allowed; +} + +.dck-preview-btn { + display: inline-block; + min-width: 24px; + padding: 1px 5px; + border: none; + border-radius: 999px; + background: #dbeafe; + color: #111827; + font-size: 13px; + line-height: 1.4; + white-space: nowrap; + vertical-align: middle; + cursor: pointer; + transition: background 0.15s ease; +} + +.dck-preview-btn:hover { + background: #bfdbfe; +} + +.dck-preview-body { + padding: 0; + border-radius: 0; + border: 1px solid #0078d7; + box-shadow: 0 0 0 1px #0078d7, 0 10px 20px rgba(0, 0, 0, 0.35); + background: #fff; + color: #111827; + display: flex; + flex-direction: column; + max-height: 85vh; +} + +.dck-preview-meta { + padding: 10px 16px; + border-bottom: 1px solid #e5e7eb; + background: #f8fafc; + font-size: 13px; + color: #6b7280; +} + +.dck-preview-loading { + padding: 40px 16px; + text-align: center; + color: #6b7280; + font-size: 14px; +} + +.dck-preview-content { + flex: 1; + min-height: 0; + overflow: auto; + padding: 0; +} + +.dck-preview-text { + margin: 0; + padding: 16px; + font-size: 13px; + line-height: 1.7; + white-space: pre-wrap; + word-break: break-word; + color: #111827; + background: #fff; + font-family: Consolas, 'Courier New', monospace; +} + +.dck-preview-iframe { + width: 100%; + height: 70vh; + border: none; +} + +.dck-preview-table-info { + padding: 10px 16px; + font-size: 13px; + color: #6b7280; + border-bottom: 1px solid #e5e7eb; + background: #f8fafc; +} + +.dck-preview-table-wrap { + overflow: auto; + padding: 0; +} + +.dck-preview-table { + width: 100%; + border-collapse: collapse; + font-size: 13px; + min-width: 600px; +} + +.dck-preview-table thead { + position: sticky; + top: 0; + z-index: 1; +} + +.dck-preview-table th { + background: #f1f5f9; + padding: 8px 10px; + text-align: left; + white-space: nowrap; + border-bottom: 2px solid #cbd5e1; + font-weight: 600; + color: #374151; +} + +.dck-preview-table td { + padding: 6px 10px; + border-bottom: 1px solid #e5e7eb; + color: #111827; + white-space: nowrap; + max-width: 280px; + overflow: hidden; + text-overflow: ellipsis; +} + +.dck-preview-table tbody tr:hover { + background: #f8fafc; +} + +.dck-preview-slide { + padding: 14px 16px; + border-bottom: 1px solid #e5e7eb; +} + +.dck-preview-slide-num { + font-size: 12px; + color: #6b7280; + margin-bottom: 4px; +} + +.dck-preview-slide-title { + font-size: 15px; + font-weight: 600; + color: #111827; + margin-bottom: 8px; +} + +.dck-preview-slide-body { + margin: 0; + font-size: 13px; + line-height: 1.6; + white-space: pre-wrap; + word-break: break-word; + color: #374151; + font-family: inherit; +} + +.dck-preview-error { + padding: 40px 16px; + text-align: center; + color: #dc2626; + font-size: 14px; +} + +.dck-preview-unsupported { + padding: 40px 16px; + text-align: center; + color: #6b7280; + font-size: 14px; +} + +.dck-preview-empty { + padding: 40px 16px; + text-align: center; + color: #6b7280; + font-size: 14px; +} + +.dck-preview-actions { + display: flex; + gap: 8px; + padding: 10px 16px; + border-top: 1px solid #e5e7eb; + justify-content: flex-end; + background: #f8fafc; +} diff --git a/public/tools/doc_cloud_keeper/doc_cloud_keeper.js b/public/tools/doc_cloud_keeper/doc_cloud_keeper.js new file mode 100644 index 0000000..ccbf351 --- /dev/null +++ b/public/tools/doc_cloud_keeper/doc_cloud_keeper.js @@ -0,0 +1,2103 @@ +const dck = (() => { + let me = null + let folders = [] + let docs = [] + let activeFolderId = null + let activeDocId = 0 + let trashMode = false + let selectedIds = new Set() + let actionDepth = 0 + let actionHasError = false + let actionTimer = null + let actionCountdown = 0 + let actionLogger = null + let formResolver = null + let liveSyncTimer = null + let liveSyncBusy = false + let rememberedFsHandle = null + const docHandleCache = new Map() + let routeDocId = 0 + let versionsTab = 'local' + let ossProbePicked = null + let localVersionCompareSelections = [] + let localVersionCompareItems = [] + let compareExcelSheetFilter = 'all' + + const el = id => document.getElementById(id) + const txt = (id, v) => { const n = el(id); if (n) n.textContent = String(v == null ? '' : v) } + const show = (id, on) => { const n = el(id); if (n) n.style.display = on ? '' : 'none' } + const setHeaderActionsVisible = on => { + const n = el('dck-header-actions') + if (!n) return + n.style.display = on ? '' : 'none' + } + const esc = s => String(s || '').replace(/[&<>"]/g, m => ({ '&': '&', '<': '<', '>': '>', '"': '"' }[m])) + const fsDbName = 'doc_cloud_keeper_fs' + const fsStoreName = 'kv' + const fsStoreKey = 'last_handle' + const setOpenFolderButton = on => { + const btn = el('dck-action-open-folder') + if (!btn) return + btn.style.display = on ? '' : 'none' + } + + const nowStr = () => { + const d = new Date() + const hh = String(d.getHours()).padStart(2, '0') + const mm = String(d.getMinutes()).padStart(2, '0') + const ss = String(d.getSeconds()).padStart(2, '0') + return `${hh}:${mm}:${ss}` + } + + const clearActionTimer = () => { + if (actionTimer) { + clearInterval(actionTimer) + actionTimer = null + } + } + + const setActionStatus = (text, cls) => { + const n = el('dck-action-status') + if (!n) return + n.className = `dck-action-status${cls ? ` ${cls}` : ''}` + n.textContent = String(text || '') + } + + const appendActionLog = (line, type) => { + const box = el('dck-action-logs') + if (!box) return + const div = document.createElement('div') + div.className = `dck-log-line${type ? ` ${type}` : ''}` + div.textContent = `[${nowStr()}] ${String(line || '')}` + box.appendChild(div) + box.scrollTop = box.scrollHeight + } + + const actionErrorText = err => { + if (!err) return '未知错误' + if (typeof err === 'string') return err + const msg = String(err.message || err) + const stack = err && err.stack ? String(err.stack) : '' + return stack ? `${msg}\n${stack}` : msg + } + + const copyText = async text => { + if (!navigator.clipboard || !navigator.clipboard.writeText) { + throw new Error('当前环境不支持剪贴板写入') + } + await navigator.clipboard.writeText(String(text || '')) + } + + const openFsDb = () => new Promise((resolve, reject) => { + if (!window.indexedDB) return resolve(null) + const req = indexedDB.open(fsDbName, 1) + req.onupgradeneeded = () => { + const db = req.result + if (!db.objectStoreNames.contains(fsStoreName)) db.createObjectStore(fsStoreName) + } + req.onsuccess = () => resolve(req.result) + req.onerror = () => reject(req.error || new Error('open_db_failed')) + }) + + const loadRememberedHandle = async () => { + try { + const db = await openFsDb() + if (!db) return null + const handle = await new Promise((resolve, reject) => { + const tx = db.transaction(fsStoreName, 'readonly') + const store = tx.objectStore(fsStoreName) + const req = store.get(fsStoreKey) + req.onsuccess = () => resolve(req.result || null) + req.onerror = () => reject(req.error || new Error('read_handle_failed')) + }) + db.close() + return handle || null + } catch { + return null + } + } + + const saveRememberedHandle = async handle => { + try { + const db = await openFsDb() + if (!db) return + await new Promise((resolve, reject) => { + const tx = db.transaction(fsStoreName, 'readwrite') + const store = tx.objectStore(fsStoreName) + const req = store.put(handle, fsStoreKey) + req.onsuccess = () => resolve() + req.onerror = () => reject(req.error || new Error('write_handle_failed')) + }) + db.close() + } catch {} + } + + const docHandleStoreKey = docId => `doc_handle_${Number(docId || 0)}` + const saveDocHandle = async (docId, handle) => { + const id = Number(docId || 0) + if (!id || !handle) return + docHandleCache.set(id, handle) + try { + const db = await openFsDb() + if (!db) return + await new Promise((resolve, reject) => { + const tx = db.transaction(fsStoreName, 'readwrite') + const store = tx.objectStore(fsStoreName) + const req = store.put(handle, docHandleStoreKey(id)) + req.onsuccess = () => resolve() + req.onerror = () => reject(req.error || new Error('write_doc_handle_failed')) + }) + db.close() + } catch {} + } + + const loadDocHandle = async docId => { + const id = Number(docId || 0) + if (!id) return null + if (docHandleCache.has(id)) return docHandleCache.get(id) + try { + const db = await openFsDb() + if (!db) return null + const handle = await new Promise((resolve, reject) => { + const tx = db.transaction(fsStoreName, 'readonly') + const store = tx.objectStore(fsStoreName) + const req = store.get(docHandleStoreKey(id)) + req.onsuccess = () => resolve(req.result || null) + req.onerror = () => reject(req.error || new Error('read_doc_handle_failed')) + }) + db.close() + if (handle) docHandleCache.set(id, handle) + return handle || null + } catch { + return null + } + } + + const openRememberedFolder = async () => { + if (!window.showDirectoryPicker) throw new Error('当前浏览器不支持“打开文件夹”') + const options = {} + if (rememberedFsHandle) options.startIn = rememberedFsHandle + const dirHandle = await window.showDirectoryPicker(options) + rememberedFsHandle = dirHandle + await saveRememberedHandle(dirHandle) + return dirHandle + } + + const openActionModal = (title, subtitle) => { + clearActionTimer() + actionHasError = false + actionCountdown = 0 + txt('dck-action-title', title || '处理中') + txt('dck-action-msg', subtitle || '') + setActionStatus('运行中', '') + const box = el('dck-action-logs') + if (box) box.innerHTML = '' + setOpenFolderButton(false) + show('dck-action-modal', true) + } + + const closeActionModal = () => { + clearActionTimer() + show('dck-action-modal', false) + } + + const finishActionSuccess = () => { + if (actionHasError) return + actionCountdown = 3 + setActionStatus(`成功,${actionCountdown}s 后自动关闭`, 'ok') + clearActionTimer() + actionTimer = setInterval(() => { + actionCountdown -= 1 + if (actionCountdown <= 0) { + clearActionTimer() + closeActionModal() + return + } + setActionStatus(`成功,${actionCountdown}s 后自动关闭`, 'ok') + }, 1000) + } + + const failAction = err => { + actionHasError = true + setActionStatus('发生错误,已中断', 'err') + appendActionLog(actionErrorText(err), 'err') + } + + const runAction = async (title, fn, subtitle) => { + const top = actionDepth === 0 + if (top) openActionModal(title, subtitle || '') + actionDepth += 1 + const prevLogger = actionLogger + const logger = line => appendActionLog(line) + actionLogger = logger + appendActionLog(`开始:${title}`) + try { + const out = await fn(logger) + appendActionLog(`完成:${title}`, 'ok') + return out + } catch (err) { + failAction(err) + throw err + } finally { + actionLogger = prevLogger + actionDepth -= 1 + if (top && !actionHasError) finishActionSuccess() + } + } + + const logLine = line => { + if (actionLogger) actionLogger(line) + } + + const formatSize = bytes => { + const n = Number(bytes || 0) + if (!Number.isFinite(n) || n <= 0) return '0 B' + const units = ['B', 'KB', 'MB', 'GB'] + let v = n + let i = 0 + while (v >= 1024 && i < units.length - 1) { v /= 1024; i += 1 } + return `${v.toFixed(i === 0 ? 0 : 2)} ${units[i]}` + } + + const toSafeFileLabel = text => String(text || '').replace(/[:]/g, ':').replace(/[|]/g, '|').replace(/[<>"/\\?*]/g, '_').trim() + + const buildHistoryDownloadName = payload => { + const data = payload || {} + const filename = toSafeFileLabel(data.filename || 'document') + const sizeStr = toSafeFileLabel(formatSize(data.size_bytes || 0)) + const recordTime = toSafeFileLabel(String(data.record_time || '').replace(/:/g, ':')) + const uploadTime = toSafeFileLabel(String(data.upload_time || '').replace(/:/g, ':')) + const sourceName = toSafeFileLabel(data.source_name || '下载文件') + const deletedPrefix = data.is_deleted ? '【物理删除】' : '' + const parts = [ + `文件:${filename}`, + `大小:${sizeStr}` + ] + if (recordTime) parts.push(`记录时间:${recordTime}`) + if (uploadTime) parts.push(`上传时间:${uploadTime}`) + parts.push(`来源:${sourceName}`) + return `${deletedPrefix}${parts.join(' | ')}` + } + + const versionCompareKey = item => `${String((item && item.target_type) || '')}:${Number((item && item.id) || 0)}` + + const syncVersionCompareButton = () => { + const btn = el('dck-versions-compare') + if (!btn) return + btn.disabled = localVersionCompareSelections.length !== 2 + btn.textContent = localVersionCompareSelections.length === 2 ? '比较差异' : `比较差异 (${localVersionCompareSelections.length}/2)` + } + + const isVersionSelected = item => localVersionCompareSelections.some(x => versionCompareKey(x) === versionCompareKey(item)) + + const toggleVersionCompareSelection = item => { + const key = versionCompareKey(item) + const existingIndex = localVersionCompareSelections.findIndex(x => versionCompareKey(x) === key) + if (existingIndex >= 0) { + localVersionCompareSelections.splice(existingIndex, 1) + syncVersionCompareButton() + return true + } + if (localVersionCompareSelections.length >= 2) return false + localVersionCompareSelections.push({ + target_type: item.target_type, + id: Number(item.id || 0), + label: item.compare_label || item.filename || '' + }) + syncVersionCompareButton() + return true + } + + const countdownText = ms => { + if (ms == null || !Number.isFinite(ms)) return '-' + if (ms < 0) return `已逾期 ${countdownText(Math.abs(ms))}` + const total = Math.floor(ms / 1000) + const d = Math.floor(total / 86400) + const h = Math.floor((total % 86400) / 3600) + const m = Math.floor((total % 3600) / 60) + return `${d}天${h}时${m}分` + } + + const parseBeijingDateTimeToMs = raw => { + const s = String(raw || '').trim() + if (!s) return NaN + const normalized = s.includes('T') ? s : s.replace(' ', 'T') + const withSeconds = normalized.length === 16 ? `${normalized}:00` : normalized + const iso = /[zZ]$|[+-]\d{2}:\d{2}$/.test(withSeconds) ? withSeconds : `${withSeconds}+08:00` + const ms = new Date(iso).getTime() + return Number.isFinite(ms) ? ms : NaN + } + + const applyDeadlineState = rows => { + const list = Array.isArray(rows) ? rows : [] + const now = Date.now() + const dayMs = 24 * 3600 * 1000 + return list.map(r => { + if (String((r && r.status) || '').toLowerCase() === 'done') { + r.deadline_ms = null + r.deadline_state = 'normal' + return r + } + const due = parseBeijingDateTimeToMs(r && r.due_at) + if (!Number.isFinite(due)) { + r.deadline_ms = null + r.deadline_state = 'normal' + } else { + const diff = due - now + r.deadline_ms = diff + if (diff < 0) r.deadline_state = 'expired' + else if (diff <= dayMs) r.deadline_state = 'urgent' + else r.deadline_state = 'normal' + } + return r + }) + } + + const withNoCacheQuery = rawUrl => { + const sep = String(rawUrl || '').includes('?') ? '&' : '?' + return `${rawUrl}${sep}_ts=${Date.now()}` + } + + const get = async url => { + const reqUrl = withNoCacheQuery(url) + logLine(`请求 GET ${reqUrl}`) + const r = await fetch(reqUrl, { + cache: 'no-store', + headers: { + 'Cache-Control': 'no-store, no-cache, max-age=0', + 'Pragma': 'no-cache' + } + }) + logLine(`响应状态: ${r.status}`) + const data = await r.json().catch(() => null) + if (!r.ok || !data || data.ok === false) throw new Error((data && data.error) || `请求失败: ${r.status}`) + return data + } + + const post = async (url, body) => { + logLine(`请求 POST ${url}`) + const r = await fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(body || {}) }) + logLine(`响应状态: ${r.status}`) + const data = await r.json().catch(() => null) + if (!r.ok || !data || data.ok === false) throw new Error((data && data.error) || `请求失败: ${r.status}`) + return data + } + + const openFormModal = ({ title, message, fields, confirmText }) => { + txt('dck-form-title', title || '输入') + txt('dck-form-msg', message || '') + txt('dck-form-confirm', confirmText || '确认') + const box = el('dck-form-fields') + if (box) box.innerHTML = '' + ;(fields || []).forEach(f => { + const row = document.createElement('div') + row.className = 'dck-form-row' + const label = document.createElement('label') + label.className = 'modal-label' + label.textContent = String(f.label || f.key || '') + row.appendChild(label) + let input = null + if (f.type === 'select') { + input = document.createElement('select') + ;(f.options || []).forEach(opt => { + const o = document.createElement('option') + o.value = String(opt.value) + o.textContent = String(opt.label) + if (String(f.value) === String(opt.value)) o.selected = true + input.appendChild(o) + }) + } else if (f.type === 'textarea') { + input = document.createElement('textarea') + input.rows = 3 + input.value = f.value == null ? '' : String(f.value) + } else { + input = document.createElement('input') + input.type = f.type || 'text' + input.value = f.value == null ? '' : String(f.value) + } + input.className = 'modal-input' + if (f.placeholder) input.placeholder = String(f.placeholder) + input.dataset.key = String(f.key || '') + if (f.required) input.dataset.required = '1' + row.appendChild(input) + if (box) box.appendChild(row) + }) + show('dck-form-modal', true) + } + + const closeFormModal = () => { + show('dck-form-modal', false) + } + + let previewDocId = 0 + let previewContentText = '' + + const openPreview = async doc => { + const id = Number(doc.id || 0) + if (!id) return + previewDocId = id + previewContentText = '' + txt('dck-preview-title', `快速查看:${doc.filename || '文档'}`) + const meta = el('dck-preview-meta') + const loading = el('dck-preview-loading') + const content = el('dck-preview-content') + const copyBtn = el('dck-preview-copy') + const dlBtn = el('dck-preview-download') + if (meta) meta.innerHTML = `类型:${esc(doc.ext || '-')} | 大小:${formatSize(doc.size_bytes || 0)} | 更新时间:${esc(doc.updated_at || '-')}` + if (loading) loading.style.display = '' + if (content) content.innerHTML = '' + if (copyBtn) copyBtn.style.display = 'none' + if (dlBtn) dlBtn.style.display = '' + show('dck-preview-modal', true) + try { + const ext = String(doc.ext || '').toLowerCase() + if (ext === 'pdf') { + if (loading) loading.style.display = 'none' + if (content) content.innerHTML = `` + if (copyBtn) copyBtn.style.display = 'none' + return + } + const resp = await fetch(withNoCacheQuery(`/api/doc_cloud_keeper/docs/preview?id=${id}`), { + cache: 'no-store', + headers: { 'Cache-Control': 'no-store, no-cache, max-age=0', 'Pragma': 'no-cache' } + }) + const data = await resp.json().catch(() => null) + if (loading) loading.style.display = 'none' + if (!resp.ok || !data || !data.preview) { + if (content) content.innerHTML = `
    预览加载失败:${(data && data.error) || `HTTP ${resp.status}`}
    ` + return + } + const p = data.preview + if (p.mode === 'text') { + previewContentText = p.content || '' + if (copyBtn) copyBtn.style.display = '' + if (content) content.innerHTML = `
    ${esc(previewContentText)}
    ` + return + } + if (p.mode === 'table') { + previewContentText = '' + if (copyBtn) copyBtn.style.display = 'none' + const t = p.table || {} + const headers = Array.isArray(t.headers) ? t.headers : [] + const rows = Array.isArray(t.rows) ? t.rows : [] + let html = `
    工作表:${esc(t.sheet_name || 'Sheet1')} | 总行数:${t.total_rows || 0}${t.truncated ? ' | 仅显示前 100 行' : ''}
    ` + html += '
    ' + headers.forEach(h => { html += `` }) + html += '' + rows.forEach(row => { + html += '' + headers.forEach((_, i) => { html += `` }) + html += '' + }) + html += '
    ${esc(h)}
    ${esc(row[i] == null ? '' : String(row[i]))}
    ' + if (content) content.innerHTML = html + return + } + if (p.mode === 'slides') { + previewContentText = '' + if (copyBtn) copyBtn.style.display = 'none' + const slides = Array.isArray(p.slides) ? p.slides : [] + let html = '' + slides.forEach((s, i) => { + html += `
    第 ${i + 1} 页
    ${esc(s.title || '无标题')}
    ` + if (s.body) html += `
    ${esc(s.body)}
    ` + html += '
    ' + }) + if (!html) html = '
    未提取到幻灯片内容
    ' + if (content) content.innerHTML = html + return + } + if (p.mode === 'unsupported') { + if (content) content.innerHTML = `
    ${esc(p.message || '该文件类型暂不支持在线预览')}
    ` + if (copyBtn) copyBtn.style.display = 'none' + return + } + if (content) content.innerHTML = '
    未知预览模式
    ' + } catch (e) { + if (loading) loading.style.display = 'none' + if (content) content.innerHTML = `
    预览异常:${esc(actionErrorText(e))}
    ` + } + } + + const closePreview = () => { + show('dck-preview-modal', false) + previewDocId = 0 + previewContentText = '' + } + + const collectFormValues = () => { + const out = {} + const inputs = Array.from((el('dck-form-fields') || document.createElement('div')).querySelectorAll('[data-key]')) + inputs.forEach(n => { + out[n.dataset.key] = n.value + }) + return out + } + + const validateForm = () => { + const inputs = Array.from((el('dck-form-fields') || document.createElement('div')).querySelectorAll('[data-key]')) + for (const n of inputs) { + if (n.dataset.required === '1' && !String(n.value || '').trim()) { + throw new Error(`字段不能为空: ${n.dataset.key}`) + } + } + } + + const askForm = opts => new Promise(resolve => { + formResolver = resolve + openFormModal(opts || {}) + }) + + const askConfirm = async (title, message, confirmText) => { + const out = await askForm({ title, message, fields: [], confirmText: confirmText || '确认' }) + return !!out + } + + const currentQuery = () => { + const q = String((el('dck-search') && el('dck-search').value) || '').trim() + const priority = String((el('dck-filter-priority') && el('dck-filter-priority').value) || '') + const status = String((el('dck-filter-status') && el('dck-filter-status').value) || '') + const sort_by = String((el('dck-sort-by') && el('dck-sort-by').value) || 'updated_at') + const sort_dir = String((el('dck-sort-dir') && el('dck-sort-dir').value) || 'desc') + const params = new URLSearchParams() + if (q) params.set('q', q) + if (priority) params.set('priority', priority) + if (status) params.set('status', status) + if (activeFolderId !== null) params.set('folder_id', String(activeFolderId)) + params.set('sort_by', sort_by) + params.set('sort_dir', sort_dir) + params.set('trash', trashMode ? '1' : '0') + return params.toString() + } + + const loadStats = async () => { + const j = await get('/api/doc_cloud_keeper/stats') + const s = j.stats || {} + txt('dck-stat-total', `文件数: ${s.total_files || 0}`) + txt('dck-stat-size', `占用: ${formatSize(s.total_size_bytes || 0)}`) + txt('dck-stat-trash', `回收站: ${s.trash_files || 0}`) + } + + const renderBanner = () => { + const expired = docs.filter(r => r.deadline_state === 'expired').length + const urgent = docs.filter(r => r.deadline_state === 'urgent').length + if (!expired && !urgent) { + show('dck-banner', false) + return + } + const parts = [] + if (expired) parts.push(`已到期 ${expired} 个`) + if (urgent) parts.push(`1天内到期 ${urgent} 个`) + txt('dck-banner', `提醒:${parts.join(',')}`) + show('dck-banner', true) + } + + const buildFolderTree = () => { + const active = folders.filter(f => !f.deleted_at) + const byParent = new Map() + active.forEach(f => { + const pid = Number(f.parent_id || 0) + if (!byParent.has(pid)) byParent.set(pid, []) + byParent.get(pid).push(f) + }) + byParent.forEach(arr => arr.sort((a, b) => String(a.name || '').localeCompare(String(b.name || ''), 'zh-CN'))) + const out = [] + const walk = (pid, depth) => { + const arr = byParent.get(pid) || [] + arr.forEach(item => { + out.push({ ...item, depth }) + walk(Number(item.id || 0), depth + 1) + }) + } + walk(0, 0) + return out + } + + const renderFolders = (allDocs = null) => { + const ul = el('dck-folders') + if (!ul) return + ul.innerHTML = '' + + // 如果没有传入 allDocs(例如页面刚加载),降级使用当前加载的 docs,但可能不准 + const targetDocs = allDocs || docs; + + // 计算每个文件夹(及其子文件夹)的文档数量 + const countMap = {} + const computeCount = (folderId) => { + if (countMap[folderId] !== undefined) return countMap[folderId] + // 找到直接属于该文件夹的文档数量(不包括回收站的) + let count = targetDocs.filter(d => (folderId === '' ? (d.folder_id === 0 || d.folder_id == null) : d.folder_id === folderId)).length + // 加上所有子文件夹的数量 + const children = folders.filter(f => String(f.parent_id || '0') === String(folderId || '0')) + for (const child of children) { + count += computeCount(child.id) + } + countMap[folderId] = count + return count + } + + const allCount = targetDocs.length + const all = document.createElement('li') + all.dataset.id = '' + all.className = activeFolderId === null ? 'active' : '' + all.innerHTML = `
    全部文档 (${allCount})
    ` + all.onclick = () => { + activeFolderId = null + renderFolders() + loadDocs() + } + ul.appendChild(all) + + buildFolderTree().forEach(f => { + const li = document.createElement('li') + li.dataset.id = String(f.id) + if (String(activeFolderId) === String(f.id)) li.classList.add('active') + const depth = Number(f.depth || 0) + const spacer = ''.repeat(depth) + const count = computeCount(f.id) + + li.innerHTML = `
    +
    ${spacer}${esc(f.name)} (${count})
    + +
    ` + + const editBtn = li.querySelector('.dck-edit-folder-btn') + if (editBtn) { + editBtn.onclick = async e => { + e.stopPropagation() + const isInvalidParent = (parentId, targetId) => { + if (String(parentId) === String(targetId)) return true + let p = String(parentId) + while (p && p !== '0') { + const f = folders.find(x => String(x.id) === p) + if (!f) break + if (String(f.parent_id) === String(targetId)) return true + p = String(f.parent_id) + } + return false + } + const form = await askForm({ + title: '修改文件夹', + message: `正在修改:${f.name}`, + confirmText: '保存', + fields: [ + { key: 'name', label: '名称', type: 'text', required: true, value: f.name, placeholder: '例如:项目A' }, + { key: 'parent_id', label: '父目录', type: 'select', value: String(f.parent_id || '0'), options: folderOptions().filter(opt => !isInvalidParent(opt.value, f.id)).map(x => ({ value: String(x.value), label: x.label })) } + ] + }) + if (!form) return + await runAction('修改文件夹', async log => { + log(`名称: ${form.name}`) + log(`父目录: ${form.parent_id || 0}`) + await post('/api/doc_cloud_keeper/folders/update', { id: f.id, name: form.name, parent_id: Number(form.parent_id || 0) }) + await loadFolders() + if (activeFolderId === f.id) renderFolders() // Re-render to update selected style and title if it was selected + }, '保存文件夹信息并刷新列表') + } + } + + li.onclick = () => { + activeFolderId = f.id + renderFolders() + loadDocs() + } + ul.appendChild(li) + }) + } + + const selectDoc = docId => { + activeDocId = Number(docId || 0) + } + + const getDirectFolderName = folderId => { + const id = Number(folderId || 0) + if (!id) return '' + const row = folders.find(f => Number(f.id || 0) === id && !f.deleted_at) + return row ? String(row.name || '').trim() : '' + } + + const renderDocs = () => { + const tb = el('dck-tbody') + if (!tb) return + tb.innerHTML = '' + docs.forEach(r => { + const tr = document.createElement('tr') + if (Number(r.id) === Number(activeDocId)) tr.classList.add('active') + if (r.deadline_state === 'expired') tr.classList.add('dck-row-expired') + else if (r.deadline_state === 'urgent') tr.classList.add('dck-row-urgent') + const parentFolderName = getDirectFolderName(r.folder_id) + const versionCount = Math.max(0, Number(r.version_count || 0)) + const filenameHtml = ` + + ${esc(r.filename)} + ${parentFolderName ? `${esc(parentFolderName)}` : ''} + + + + ` + tr.innerHTML = ` + + + ${filenameHtml} + ${esc(r.ext || '')} + ${formatSize(r.size_bytes)} + ${r.priority === 'high' ? '高' : r.priority === 'low' ? '低' : '中'} + ${r.status === 'todo' ? '未处理' : r.status === 'doing' ? '处理中' : '已完成'} + ${esc(r.due_at || '-')} + ${countdownText(r.deadline_ms)} + ${esc(r.updated_at || '')} + ` + tr.onclick = e => { + if (e.target && e.target.classList && e.target.classList.contains('dck-check')) return + selectDoc(r.id) + renderDocs() + } + tb.appendChild(tr) + }) + Array.from(tb.querySelectorAll('.dck-check')).forEach(c => { + c.onchange = () => { + const id = Number(c.dataset.id || 0) + if (!id) return + if (c.checked) selectedIds.add(id) + else selectedIds.delete(id) + } + }) + Array.from(tb.querySelectorAll('button[data-folder-id]')).forEach(btn => { + btn.onclick = async e => { + e.stopPropagation() + const docId = Number(btn.dataset.folderId || 0) + await runAction('打开本地工作目录', async log => { + log(`文档ID: ${docId}`) + await openDocWorkFolder(docId) + log('已打开目录选择器,可快速定位本地工作文件夹') + }, '使用上次记录的位置作为起始目录') + } + }) + Array.from(tb.querySelectorAll('.dck-version-count-tag')).forEach(btn => { + btn.onclick = async e => { + e.stopPropagation() + const docId = Number(btn.dataset.docId || 0) + if (!docId) return + const doc = docs.find(item => Number(item.id) === docId) + if (!doc) return + if (Number(activeDocId) !== docId) { + selectDoc(docId) + renderDocs() + } + await openVersions(doc) + } + }) + Array.from(tb.querySelectorAll('.dck-preview-btn')).forEach(btn => { + btn.onclick = async e => { + e.stopPropagation() + const docId = Number(btn.dataset.docId || 0) + if (!docId) return + const doc = docs.find(item => Number(item.id) === docId) + if (!doc) return + await openPreview(doc) + } + }) + renderBanner() + updateActionButtonsState() + } + + const setBtnDisabled = (id, disabled) => { + const n = el(id) + if (!n) return + n.disabled = !!disabled + } + + const updateActionButtonsState = () => { + const inTrash = !!trashMode + setBtnDisabled('dck-hard-delete', !inTrash) + setBtnDisabled('dck-restore', !inTrash) + setBtnDisabled('dck-bulk-trash', inTrash) + setBtnDisabled('dck-bulk-move', inTrash) + setBtnDisabled('dck-upload-new', inTrash) + setBtnDisabled('dck-upload-cover', inTrash) + setBtnDisabled('dck-rename', inTrash) + setBtnDisabled('dck-move', inTrash) + setBtnDisabled('dck-meta-edit', inTrash) + setBtnDisabled('dck-trash', inTrash) + setBtnDisabled('dck-bulk-hard-delete', !inTrash) + } + + const loadFolders = async () => { + const j = await get('/api/doc_cloud_keeper/folders/list') + folders = Array.isArray(j.rows) ? j.rows : [] + + // 为了每次重新计算数量,我们也需要获取全局所有文件,否则只看当前目录的无法统计总数 + const allDocsReq = await get('/api/doc_cloud_keeper/docs/list?all=1') + const allDocs = Array.isArray(allDocsReq.rows) ? allDocsReq.rows : [] + + renderFolders(allDocs) + } + + const loadDocs = async () => { + const q = currentQuery() + const j = await get(`/api/doc_cloud_keeper/docs/list?${q}`) + docs = applyDeadlineState(Array.isArray(j.rows) ? j.rows : []) + if (routeDocId) { + const hit = docs.find(d => Number(d.id) === Number(routeDocId)) + if (hit) { + activeDocId = Number(routeDocId) + routeDocId = 0 + } + } + if (!docs.find(d => Number(d.id) === Number(activeDocId))) activeDocId = 0 + renderDocs() + + // 每次加载文档后,顺便更新一次左侧树的数字,确保绝对同步 + loadFolders().catch(() => {}) + } + + const refreshAll = async () => { + await loadStats() + await loadFolders() + await loadDocs() + } + + const sleep = ms => new Promise(resolve => setTimeout(resolve, ms)) + + const waitBackendReady = async (message, checkFn, options = {}) => { + const maxTry = Math.max(1, Number(options.maxTry || 8)) + const intervalMs = Math.max(100, Number(options.intervalMs || 500)) + for (let i = 1; i <= maxTry; i += 1) { + if (await checkFn()) return true + if (i < maxTry) { + setActionStatus(`${message} (${i}/${maxTry})`, '') + await sleep(intervalMs) + } + } + return false + } + + const startLiveSync = () => { + if (liveSyncTimer) clearInterval(liveSyncTimer) + liveSyncTimer = setInterval(async () => { + if (!me || actionDepth > 0 || formResolver || document.hidden) return + if (liveSyncBusy) return + liveSyncBusy = true + try { + await loadStats() + await loadDocs() + } catch {} + liveSyncBusy = false + }, 180000) + } + + const ensureSelectedDoc = () => { + const row = docs.find(d => Number(d.id) === Number(activeDocId)) + if (!row) { + modalAlert('提示', '没有选中记录,请点击表格里的某一行记录(不是前面勾选)') + throw new Error('未选择文档') + } + return row + } + + const sha256Hex = async arrayBuffer => { + if (window.crypto && window.crypto.subtle && arrayBuffer) { + const hash = await window.crypto.subtle.digest('SHA-256', arrayBuffer) + return Array.from(new Uint8Array(hash)).map(b => b.toString(16).padStart(2, '0')).join('') + } + return '' + } + + const uploadTemp = async file => { + const buf = await file.arrayBuffer() + const checksum = await sha256Hex(buf) + const u = `/api/doc_cloud_keeper/upload/temp?filename=${encodeURIComponent(file.name || 'document.txt')}${checksum ? `&sha256=${checksum}` : ''}` + let lastErr = null + const maxTry = 3 + for (let i = 1; i <= maxTry; i += 1) { + try { + logLine(`上传临时文件: ${file.name} (${formatSize(file.size)}), 尝试 ${i}/${maxTry}`) + const r = await fetch(u, { method: 'POST', headers: { 'Content-Type': 'application/octet-stream' }, body: buf }) + logLine(`临时上传响应: ${r.status}`) + const data = await r.json().catch(() => null) + if (!r.ok || !data || data.ok === false) throw new Error((data && data.error) || '上传临时文件失败') + return data + } catch (e) { + lastErr = e + if (i < maxTry) await new Promise(resolve => setTimeout(resolve, i * 500)) + } + } + throw (lastErr || new Error('上传失败')) + } + + const pickFile = async () => { + if (window.showOpenFilePicker) { + try { + const options = { multiple: false } + if (rememberedFsHandle) options.startIn = rememberedFsHandle + const handles = await window.showOpenFilePicker(options) + if (!handles || !handles[0]) return null + const fileHandle = handles[0] + rememberedFsHandle = fileHandle + await saveRememberedHandle(rememberedFsHandle) + const file = await fileHandle.getFile() + return file ? { file, handle: fileHandle } : null + } catch (e) { + if (e && e.name === 'AbortError') return null + } + } + return new Promise(resolve => { + const picker = el('dck-file-picker') + if (!picker) return resolve(null) + picker.onchange = e => { + const file = e.target.files && e.target.files[0] + resolve(file ? { file, handle: null } : null) + } + picker.value = '' + picker.click() + }) + } + + const saveDownloadAs = async (doc, url) => { + if (window.showSaveFilePicker) { + const options = { suggestedName: doc.filename || 'document' } + if (rememberedFsHandle) options.startIn = rememberedFsHandle + const fileHandle = await window.showSaveFilePicker(options) + rememberedFsHandle = fileHandle + await saveRememberedHandle(rememberedFsHandle) + const r = await fetch(url, { cache: 'no-store' }) + if (!r.ok) throw new Error(`下载失败: ${r.status}`) + const blob = await r.blob() + const writable = await fileHandle.createWritable() + await writable.write(blob) + await writable.close() + return { mode: 'picker', fileHandle } + } + window.open(url, '_blank') + return { mode: 'browser' } + } + + const setOssProbeResult = (html, cls) => { + const box = el('dck-oss-probe-result') + if (!box) return + box.className = `dck-oss-probe-result${cls ? ` ${cls}` : ''}` + box.innerHTML = html + } + + const appendOssProbeLog = (line, type) => { + const box = el('dck-oss-probe-logs') + if (!box) return + const div = document.createElement('div') + div.className = `dck-oss-probe-log-line${type ? ` ${type}` : ''}` + div.textContent = `[${nowStr()}] ${String(line || '')}` + box.appendChild(div) + box.scrollTop = box.scrollHeight + } + + const renderOssProbeFile = () => { + const box = el('dck-oss-probe-file') + if (!box) return + if (!ossProbePicked || !ossProbePicked.file) { + box.textContent = '尚未选择文件' + return + } + const file = ossProbePicked.file + box.textContent = [ + `文件名: ${file.name || '-'}`, + `大小: ${formatSize(file.size || 0)} (${Number(file.size || 0)} bytes)`, + `类型: ${file.type || 'application/octet-stream'}` + ].join('\n') + } + + const clearOssProbeView = () => { + ossProbePicked = null + renderOssProbeFile() + const logs = el('dck-oss-probe-logs') + if (logs) logs.innerHTML = '' + setOssProbeResult('等待执行检测', '') + } + + const openOssProbeModal = () => { + show('dck-oss-probe-modal', true) + if (!el('dck-oss-probe-logs') || !el('dck-oss-probe-logs').childNodes.length) clearOssProbeView() + } + + const closeOssProbeModal = () => { + show('dck-oss-probe-modal', false) + } + + const pickOssProbeFile = async () => new Promise(resolve => { + const picker = el('dck-oss-probe-picker') + if (!picker) return resolve(null) + picker.onchange = e => { + const file = e.target.files && e.target.files[0] + resolve(file ? { file } : null) + } + picker.value = '' + picker.click() + }) + + const runOssProbeUpload = async () => { + if (!ossProbePicked || !ossProbePicked.file) { + modalAlert('提示', '请先在第一栏选择一个文件。') + return + } + const file = ossProbePicked.file + const uploadBtn = el('dck-oss-probe-upload') + if (uploadBtn) uploadBtn.disabled = true + const logs = el('dck-oss-probe-logs') + if (logs) logs.innerHTML = '' + appendOssProbeLog('开始执行 OSS 检测') + appendOssProbeLog(`已选文件: ${file.name}`) + appendOssProbeLog(`文件大小: ${Number(file.size || 0)} bytes`) + setOssProbeResult('检测进行中,请等待服务器返回详细日志...', '') + try { + appendOssProbeLog('开始读取本地文件内容') + const buf = await file.arrayBuffer() + appendOssProbeLog(`本地读取完成: ${buf.byteLength} bytes`) + const url = `/api/doc_cloud_keeper/oss_probe/upload?filename=${encodeURIComponent(file.name || 'oss_probe.txt')}&mime=${encodeURIComponent(file.type || 'application/octet-stream')}` + appendOssProbeLog(`开始请求: POST ${url}`) + const resp = await fetch(url, { + method: 'POST', + headers: { 'Content-Type': 'application/octet-stream' }, + body: buf + }) + appendOssProbeLog(`HTTP 状态: ${resp.status}`) + const data = await resp.json().catch(() => null) + if (data && Array.isArray(data.logs)) { + data.logs.forEach(line => appendOssProbeLog(line, data.ok ? '' : 'err')) + } + if (!resp.ok || !data || data.ok === false) { + const errText = (data && data.error) || `请求失败: ${resp.status}` + appendOssProbeLog(`检测失败: ${errText}`, 'err') + const failedResult = data && data.result ? data.result : {} + const failedKey = failedResult.oss_key ? `\nOSS Key: ${failedResult.oss_key}` : '' + const failedUrl = failedResult.object_url ? `\n对象地址: ${failedResult.object_url}` : '' + setOssProbeResult(`状态: 失败\n错误: ${errText}${failedKey}${failedUrl}`.replace(/\n/g, '
    '), 'err') + return + } + const result = data.result || {} + appendOssProbeLog('检测结果已返回', 'ok') + const downloadUrl = esc(result.download_url || '') + const objectUrl = esc(result.object_url || '') + const objectKey = esc(result.oss_key || '') + setOssProbeResult(` +状态: 上传成功 +文件名: ${esc(result.filename || file.name || '-')} +文件大小: ${formatSize(result.size_bytes || file.size || 0)} (${Number(result.size_bytes || file.size || 0)} bytes) +OSS Key: ${objectKey} +原始对象地址: ${objectUrl} +下载地址(24小时): ${downloadUrl} +ETag: ${esc(result.etag || '-')} +RequestId: ${esc(result.request_id || '-')} +HEAD RequestId: ${esc(result.head_request_id || '-')} +SHA256: ${esc(result.sha256 || '-')} + `.trim().replace(/\n/g, '
    '), 'ok') + } catch (err) { + const errText = actionErrorText(err) + appendOssProbeLog(`检测异常: ${errText}`, 'err') + setOssProbeResult(`状态: 失败\n错误: ${esc(errText)}`.replace(/\n/g, '
    '), 'err') + } finally { + if (uploadBtn) uploadBtn.disabled = false + } + } + + const openDocWorkFolder = async docId => { + const id = Number(docId || 0) + if (!id) throw new Error('无效文档ID') + if (!window.showDirectoryPicker) throw new Error('当前浏览器不支持“打开文件夹”') + const handle = await loadDocHandle(id) + if (!handle) throw new Error('该文档暂未记录本地目录,请先用“下载”并选择目录,或从本地覆盖上传一次') + const dirHandle = await window.showDirectoryPicker({ startIn: handle }) + rememberedFsHandle = dirHandle + await saveRememberedHandle(dirHandle) + return dirHandle + } + + const folderOptions = () => { + const list = [{ value: '0', label: '根目录' }] + const addChildren = (parentId, prefix) => { + folders.filter(f => String(f.parent_id || '0') === String(parentId)).forEach(f => { + list.push({ value: String(f.id), label: `${prefix}${f.name}` }) + addChildren(f.id, `${prefix.replace('└─ ', '\u00A0\u00A0\u00A0')}└─ `) // 使用空格和树形符号 + }) + } + addChildren('0', '└─ ') + return list + } + + const compareTypeText = type => { + if (type === 'excel') return 'Excel' + if (type === 'word') return 'Word' + if (type === 'pdf') return 'PDF' + if (type === 'mixed') return '混合类型' + return '通用文档' + } + + const renderCompareListHtml = items => { + const list = Array.isArray(items) ? items.filter(Boolean) : [] + if (!list.length) return '
    暂无数据
    ' + return `
      ${list.map(item => `
    • ${esc(item)}
    • `).join('')}
    ` + } + + const closeCompareModal = () => show('dck-compare-modal', false) + + const filteredCompareSections = cmp => { + const sections = Array.isArray(cmp && cmp.detail_sections) ? cmp.detail_sections : [] + if (!cmp || cmp.file_type !== 'excel' || compareExcelSheetFilter === 'all') return sections + return sections.filter(section => !section.sheet_name || section.sheet_name === compareExcelSheetFilter) + } + + const excelStatsSummaryHtml = cmp => { + const stats = cmp && cmp.excel_stats ? cmp.excel_stats : null + if (!stats) return '' + const changedSheets = Array.isArray(stats.changed_sheets) ? stats.changed_sheets : [] + const filterOptions = [''] + .concat(changedSheets.map(item => ``)) + .join('') + const changedSheetItems = changedSheets.map(item => `${item.sheet_name}:单元格 ${item.cell_changes},公式 ${item.formula_changes},范围 ${item.left_rows}x${item.left_cols} -> ${item.right_rows}x${item.right_cols}`) + return ` +
    +
    工作表统计
    + ${renderCompareListHtml([ + `左侧工作表:${stats.total_sheets_left || 0}`, + `右侧工作表:${stats.total_sheets_right || 0}`, + `变化工作表:${stats.changed_sheet_count || 0}`, + `变化单元格:${stats.changed_cell_count || 0}`, + `变化公式:${stats.changed_formula_count || 0}` + ])} +
    +
    +
    工作表筛选
    +
    + + +
    +
    + ${changedSheetItems.length ? `
    按表变化数量
    ${renderCompareListHtml(changedSheetItems)}
    ` : ''} + ` + } + + const renderCompareModal = comparison => { + const cmp = comparison || {} + txt('dck-compare-title', `版本差异摘要 - ${compareTypeText(cmp.file_type)}`) + const warnings = Array.isArray(cmp.warnings) ? cmp.warnings : [] + const sections = filteredCompareSections(cmp) + const metaHtml = ` +
    +
    左侧版本
    + ${renderCompareListHtml([ + `标签:${(cmp.left && cmp.left.label) || '-'}`, + `文件:${(cmp.left && cmp.left.filename) || '-'}`, + `大小:${formatSize(cmp.left && cmp.left.size_bytes)}`, + `时间:${(cmp.left && cmp.left.created_at) || '-'}` + ])} +
    +
    +
    右侧版本
    + ${renderCompareListHtml([ + `标签:${(cmp.right && cmp.right.label) || '-'}`, + `文件:${(cmp.right && cmp.right.filename) || '-'}`, + `大小:${formatSize(cmp.right && cmp.right.size_bytes)}`, + `时间:${(cmp.right && cmp.right.created_at) || '-'}` + ])} +
    + ${warnings.length ? `
    提示
    ${renderCompareListHtml(warnings)}
    ` : ''} + ` + const summaryHtml = `${cmp.file_type === 'excel' ? excelStatsSummaryHtml(cmp) : ''}
    ${renderCompareListHtml(cmp.summary_items || [])}
    ` + const detailsHtml = sections.length + ? sections.map(section => `
    ${esc(section.title || '明细')}
    ${renderCompareListHtml(section.items || [])}
    `).join('') + : '
    当前没有更细的差异明细。
    ' + const meta = el('dck-compare-meta') + const summary = el('dck-compare-summary') + const details = el('dck-compare-details') + if (meta) meta.innerHTML = metaHtml + if (summary) summary.innerHTML = summaryHtml + if (details) details.innerHTML = detailsHtml + const sheetFilter = el('dck-compare-sheet-filter') + if (sheetFilter) { + sheetFilter.onchange = () => { + compareExcelSheetFilter = String(sheetFilter.value || 'all') + renderCompareModal(cmp) + } + } + } + + const openCompareLoading = (left, right) => { + compareExcelSheetFilter = 'all' + txt('dck-compare-title', '版本差异摘要 - 分析中') + const meta = el('dck-compare-meta') + const summary = el('dck-compare-summary') + const details = el('dck-compare-details') + if (meta) meta.innerHTML = ` +
    +
    待比较版本
    + ${renderCompareListHtml([`左侧:${left.label}`, `右侧:${right.label}`])} +
    + ` + if (summary) summary.innerHTML = '
    正在分析文件结构与内容差异,请稍候...
    ' + if (details) details.innerHTML = '
    第一版会返回摘要和关键明细。
    ' + show('dck-compare-modal', true) + } + + const runVersionCompare = async () => { + if (localVersionCompareSelections.length !== 2) { + modalAlert('提示', '请先在云服务器页签中勾选两个版本,再点击“比较差异”。') + return + } + const [left, right] = localVersionCompareSelections + openCompareLoading(left, right) + try { + const resp = await post('/api/doc_cloud_keeper/docs/compare_versions', { + left: { target_type: left.target_type, id: left.id }, + right: { target_type: right.target_type, id: right.id } + }) + renderCompareModal(resp.comparison || {}) + } catch (e) { + const errText = actionErrorText(e) + txt('dck-compare-title', '版本差异摘要 - 失败') + const summary = el('dck-compare-summary') + const details = el('dck-compare-details') + if (summary) summary.innerHTML = `
    ${esc(errText)}
    ` + if (details) details.innerHTML = '
    比较已中断,请确认文件类型和版本文件是否完整。
    ' + } + } + + const setVersionsTab = tab => { + versionsTab = tab === 'oss' ? 'oss' : 'local' + const localBtn = el('dck-versions-tab-local') + const ossBtn = el('dck-versions-tab-oss') + const compareBtn = el('dck-versions-compare') + const refreshBtn = el('dck-versions-oss-refresh') + const localPanel = el('dck-versions-list') + const ossPanel = el('dck-oss-versions-list') + if (localBtn) localBtn.classList.toggle('active', versionsTab === 'local') + if (ossBtn) ossBtn.classList.toggle('active', versionsTab === 'oss') + if (compareBtn) compareBtn.style.display = versionsTab === 'local' ? '' : 'none' + if (refreshBtn) refreshBtn.style.display = versionsTab === 'oss' ? '' : 'none' + if (localPanel) localPanel.style.display = versionsTab === 'local' ? '' : 'none' + if (ossPanel) ossPanel.style.display = versionsTab === 'oss' ? '' : 'none' + syncVersionCompareButton() + } + + const renderLocalVersions = (box, versions, doc) => { + if (!box) return + const items = [{ + id: doc.id, + target_type: 'current', + compare_label: '当前文件', + title: '当前文件', + filename: doc.filename, + size_bytes: doc.size_bytes || 0, + created_at: doc.updated_at || doc.created_at || '', + ext: doc.ext || '', + download_kind: 'current' + }, ...(Array.isArray(versions) ? versions.map(v => ({ + ...v, + target_type: 'version', + compare_label: `V${v.version_no} - ${v.action}`, + title: `V${v.version_no} - ${v.action}`, + download_kind: 'version' + })) : [])] + localVersionCompareItems = items + localVersionCompareSelections = localVersionCompareSelections.filter(sel => items.some(item => versionCompareKey(item) === versionCompareKey(sel))) + syncVersionCompareButton() + box.innerHTML = '' + if (!items.length) { + box.innerHTML = '
    暂无可比较版本
    ' + return + } + items.forEach(v => { + const checked = isVersionSelected(v) ? 'checked' : '' + const actionButtons = v.target_type === 'current' + ? `` + : `` + const row = document.createElement('div') + row.className = 'dck-version-row' + row.innerHTML = ` +
    +
    + + ${esc(v.title)} +
    +
    文件: ${esc(v.filename)} | 大小: ${formatSize(v.size_bytes)} | 时间: ${esc(v.created_at || '')}
    +
    +
    + ${actionButtons} +
    + ` + box.appendChild(row) + }) + Array.from(box.querySelectorAll('input[data-cmp-type]')).forEach(input => { + input.onchange = () => { + const item = items.find(x => String(x.target_type) === String(input.dataset.cmpType || '') && String(x.id) === String(input.dataset.cmpId || '')) + if (!item) return + const ok = toggleVersionCompareSelection(item) + if (!ok) { + input.checked = false + modalAlert('提示', '第一版一次只能选择两个版本进行比较。') + return + } + renderLocalVersions(box, versions, doc) + } + }) + Array.from(box.querySelectorAll('button[data-current-dl]')).forEach(btn => { + btn.onclick = async () => { + await runAction('下载当前版文件', async lg => { + const currentId = btn.dataset.currentDl || '' + lg(`文档ID: ${currentId}`) + const out = await saveDownloadAs(doc, `/api/doc_cloud_keeper/docs/download?id=${encodeURIComponent(currentId)}`) + if (out.mode === 'picker') { + lg('已保存到上次使用的目录') + setOpenFolderButton(true) + } else lg('已触发浏览器下载流程') + }, '下载当前文件') + } + }) + Array.from(box.querySelectorAll('button[data-dl]')).forEach(btn => { + btn.onclick = async () => { + await runAction('下载历史版本', async lg => { + const versionId = btn.dataset.dl || '' + lg(`版本ID: ${versionId}`) + const url = `/api/doc_cloud_keeper/docs/version_download?id=${encodeURIComponent(versionId)}` + const v = versions.find(x => String(x.id) === String(versionId)) + let friendlyName = `version-${versionId}` + if (v) { + const ext = v.ext ? `.${v.ext}` : '' + friendlyName = buildHistoryDownloadName({ + filename: v.filename || `version-${v.version_no || versionId}${ext}`, + size_bytes: v.size_bytes || 0, + record_time: v.created_at || '', + upload_time: '', + source_name: `云服务器版本库${ext}` + }) + } + const out = await saveDownloadAs({ filename: friendlyName }, url) + if (out.mode === 'picker') { + lg('已保存到上次使用的目录') + setOpenFolderButton(true) + } else lg('已触发浏览器下载流程') + }, '下载版本文件') + } + }) + Array.from(box.querySelectorAll('button[data-rs]')).forEach(btn => { + btn.onclick = async () => { + const yes = await askConfirm('恢复版本', '恢复后会生成新的版本记录,确认继续?', '确认恢复') + if (!yes) return + await runAction('恢复历史版本', async lg => { + lg(`文档ID: ${doc.id}`) + lg(`版本ID: ${btn.dataset.rs}`) + await post('/api/doc_cloud_keeper/docs/restore_version', { doc_id: doc.id, version_id: Number(btn.dataset.rs || 0) }) + await refreshAll() + }, '恢复并保留审计链') + } + }) + } + + const ossStatusText = status => { + const s = String(status || '').toLowerCase() + if (s === 'uploaded') return '已备份' + if (s === 'failed') return '补传失败' + return '等待补传' + } + + const renderOssVersions = (box, versions) => { + if (!box) return + box.innerHTML = '' + if (!versions.length) { + box.innerHTML = '
    暂无 OSS 备份记录
    ' + return + } + versions.forEach(v => { + const status = String(v.backup_status || 'pending').toLowerCase() + const title = v.source_kind === 'version' + ? `V${Number(v.version_no || 0) || '?'} - ${esc(v.action || '历史版本')}` + : '当前文件备份' + const deletedMark = v.is_physical_deleted ? '【物理删除】' : '' + const retryInfo = status === 'failed' && v.last_error + ? `
    失败原因: ${esc(v.last_error)}
    ` + : '' + const row = document.createElement('div') + row.className = 'dck-version-row' + row.innerHTML = ` +
    +
    + ${title} + ${ossStatusText(status)} + ${deletedMark} +
    +
    文件: ${esc(v.filename)} | 大小: ${formatSize(v.size_bytes)} | 记录时间: ${esc(v.created_at || '')}${v.last_uploaded_at ? ` | 上传时间: ${esc(v.last_uploaded_at)}` : ''}
    + ${retryInfo} +
    +
    + +
    + ` + box.appendChild(row) + }) + Array.from(box.querySelectorAll('button[data-oss-dl]')).forEach(btn => { + btn.onclick = async () => { + await runAction('下载 OSS 备份', async lg => { + const backupId = btn.dataset.ossDl || '' + lg(`OSS 备份ID: ${backupId}`) + const url = `/api/doc_cloud_keeper/docs/oss_version_download?id=${encodeURIComponent(backupId)}` + const v = versions.find(x => String(x.id) === String(backupId)) + let friendlyName = `oss-backup-${backupId}` + if (v) { + const ext = v.ext ? `.${v.ext}` : '' + friendlyName = buildHistoryDownloadName({ + filename: v.filename || `oss-backup-${backupId}${ext}`, + size_bytes: v.size_bytes || 0, + record_time: v.created_at || '', + upload_time: v.last_uploaded_at || '', + source_name: `OSS容灾库${ext}`, + is_deleted: !!v.is_physical_deleted + }) + } + const out = await saveDownloadAs({ filename: friendlyName }, url) + if (out.mode === 'picker') { + lg('已保存到上次使用的目录') + setOpenFolderButton(true) + } else lg('已触发浏览器下载流程') + }, '从 OSS 容灾备份下载文件') + } + }) + } + + const reloadOssVersions = async (doc, opts = {}) => { + const targetDoc = doc || ensureSelectedDoc() + const quiet = !!(opts && opts.quiet) + const doLoad = async log => { + log(`文档ID: ${targetDoc.id}`) + const ossResp = await get(`/api/doc_cloud_keeper/docs/oss_versions?id=${encodeURIComponent(targetDoc.id)}`) + renderOssVersions(el('dck-oss-versions-list'), ossResp.versions || []) + setVersionsTab('oss') + } + if (quiet) return doLoad(() => {}) + return runAction('刷新 OSS 状态', doLoad, '重新读取当前文档的 OSS 备份状态') + } + + const openVersions = async targetDoc => { + const doc = targetDoc || ensureSelectedDoc() + await runAction('加载版本列表', async log => { + log(`文档ID: ${doc.id}`) + localVersionCompareSelections = [] + localVersionCompareItems = [] + const [localResp, ossResp] = await Promise.all([ + get(`/api/doc_cloud_keeper/docs/versions?id=${encodeURIComponent(doc.id)}`), + get(`/api/doc_cloud_keeper/docs/oss_versions?id=${encodeURIComponent(doc.id)}`) + ]) + txt('dck-versions-title', `历史版本 - ${doc.filename || '文档'}`) + renderLocalVersions(el('dck-versions-list'), localResp.versions || [], doc) + renderOssVersions(el('dck-oss-versions-list'), ossResp.versions || []) + setVersionsTab(versionsTab) + show('dck-versions-modal', true) + }, '读取历史版本记录与 OSS 容灾备份') + } + + const startLocalEdit = async () => { + const doc = ensureSelectedDoc() + await runAction('唤起本地在线编辑', async log => { + log(`准备编辑文档ID: ${doc.id}`) + log('向服务器申请一次性下载 Token...') + const { token } = await post('/api/doc_cloud_keeper/docs/get_edit_token', { id: doc.id }) + if (!token) throw new Error('无法获取编辑 Token') + + const serverHost = window.location.origin // e.g. http://localhost:8976 + const targetUrl = `traedoc://edit?id=${encodeURIComponent(doc.id)}&token=${encodeURIComponent(token)}&host=${encodeURIComponent(serverHost)}` + + log('正在尝试唤起本地编辑助手...') + log(`指令:${targetUrl}`) + + // 尝试打开自定义协议 + const iframe = document.createElement('iframe') + iframe.style.display = 'none' + iframe.src = targetUrl + document.body.appendChild(iframe) + + setTimeout(() => { + document.body.removeChild(iframe) + log('唤起指令已发送!') + log('如果您的电脑没有反应,说明尚未安装【本地编辑助手】。') + log('请前往目录 d:\\Trae_Files\\TRAE-Toolbox\\winform\\DocHelper\\ 找到 DocHelper.exe。') + log('首次使用,请以管理员身份在命令行运行: DocHelper.exe /install') + log('安装后即可顺滑体验“点击 -> WPS修改 -> 自动回传保存”!') + }, 1000) + + // 这里不抛出错误,因为这是异步唤起,浏览器不会报错,而是由操作系统决定是否弹窗 + }, '唤起本地应用') + } + + const login = async () => { + const username = String((el('dck-username') && el('dck-username').value) || '').trim() + const password = String((el('dck-password') && el('dck-password').value) || '') + if (!username || !password) return + try { + const loginBtn = el('dck-login-btn') + if (loginBtn) loginBtn.disabled = true + + if (remember) { + localStorage.setItem('dck_saved_username', username) + } else { + localStorage.removeItem('dck_saved_username') + } + + await post('/api/doc_cloud_keeper/login', { username, password }) + show('dck-login', false) + show('dck-app', true) + setHeaderActionsVisible(true) + await refreshAll() + } catch (e) { + txt('dck-login-msg', e.message || e) + show('dck-login-msg', true) + } finally { + const loginBtn = el('dck-login-btn') + if (loginBtn) loginBtn.disabled = false + } + } + + const ensureAuth = async () => { + try { + const j = await get('/api/doc_cloud_keeper/me') + me = j.user || null + show('dck-login', false) + show('dck-app', true) + setHeaderActionsVisible(true) + await refreshAll() + return + } catch {} + show('dck-app', false) + show('dck-login', true) + setHeaderActionsVisible(false) + } + + const bindModalEvents = () => { + const closeAction = () => closeActionModal() + const a1 = el('dck-action-close') + const a2 = el('dck-action-close-bottom') + if (a1) a1.onclick = closeAction + if (a2) a2.onclick = closeAction + const copyAll = el('dck-action-copy-all') + if (copyAll) copyAll.onclick = async () => { + const lines = Array.from((el('dck-action-logs') || document.createElement('div')).querySelectorAll('.dck-log-line')).map(n => n.textContent || '') + await copyText(lines.join('\n')) + } + const copyErr = el('dck-action-copy-error') + if (copyErr) copyErr.onclick = async () => { + const lines = Array.from((el('dck-action-logs') || document.createElement('div')).querySelectorAll('.dck-log-line.err')).map(n => n.textContent || '') + await copyText(lines.join('\n')) + } + const openFolderBtn = el('dck-action-open-folder') + if (openFolderBtn) openFolderBtn.onclick = async () => { + await runAction('打开文件夹', async log => { + await openRememberedFolder() + log('已打开目录选择器,可直接定位到上次工作目录') + }, '打开本地工作目录') + } + const closeForm = () => { + closeFormModal() + if (formResolver) { + const r = formResolver + formResolver = null + r(null) + } + } + const fClose = el('dck-form-close') + const fCancel = el('dck-form-cancel') + if (fClose) fClose.onclick = closeForm + if (fCancel) fCancel.onclick = closeForm + const fCopy = el('dck-form-copy') + if (fCopy) fCopy.onclick = async () => { + await copyText(JSON.stringify(collectFormValues(), null, 2)) + } + const fConfirm = el('dck-form-confirm') + if (fConfirm) fConfirm.onclick = () => { + try { + validateForm() + } catch (e) { + txt('dck-form-msg', String(e.message || e)) + return + } + const values = collectFormValues() + closeFormModal() + if (formResolver) { + const r = formResolver + formResolver = null + r(values) + } + } + } + + const bind = () => { + bindModalEvents() + const loginBtn = el('dck-login-btn') + if (loginBtn) loginBtn.onclick = login + ;(async function tryAutoFill() { + try { + const token = localStorage.getItem('toolbox_creds_token') || '' + const url = '/api/doc_cloud_keeper/auth/local_creds' + (token ? '?token=' + encodeURIComponent(token) : '') + const r = await fetch(url, { credentials: 'same-origin', cache: 'no-store' }) + const d = await r.json().catch(() => null) + if (d && d.ok && d.creds) { + if (d.creds.username) el('dck-username').value = d.creds.username + if (d.creds.password) el('dck-password').value = d.creds.password + } + } catch {} + el('dck-username').removeAttribute('readonly') + el('dck-password').removeAttribute('readonly') + })() + const pwd = el('dck-password') + if (pwd) pwd.onkeydown = e => { if (e.key === 'Enter') login() } + const logout = el('dck-logout') + if (logout) logout.onclick = async () => { + try { await post('/api/doc_cloud_keeper/logout', {}) } catch {} + me = null + docs = [] + folders = [] + selectedIds.clear() + activeDocId = 0 + activeFolderId = null + show('dck-app', false) + show('dck-login', true) + setHeaderActionsVisible(false) + txt('dck-login-msg', '已退出,请重新登录。') + show('dck-login-msg', true) + } + const refresh = el('dck-refresh') + if (refresh) refresh.onclick = () => runAction('刷新数据', async () => { await refreshAll() }, '同步最新文档与统计') + const ossProbeOpen = el('dck-oss-probe-open') + if (ossProbeOpen) ossProbeOpen.onclick = openOssProbeModal + const ossProbeClose = el('dck-oss-probe-close') + if (ossProbeClose) ossProbeClose.onclick = closeOssProbeModal + const ossProbePick = el('dck-oss-probe-pick') + if (ossProbePick) ossProbePick.onclick = async () => { + const picked = await pickOssProbeFile() + if (!picked || !picked.file) return + ossProbePicked = picked + renderOssProbeFile() + appendOssProbeLog(`已选择文件: ${picked.file.name}`) + setOssProbeResult('文件已就绪,点击“上传检测”开始。', '') + } + const ossProbeUpload = el('dck-oss-probe-upload') + if (ossProbeUpload) ossProbeUpload.onclick = runOssProbeUpload + const ossProbeClear = el('dck-oss-probe-clear') + if (ossProbeClear) ossProbeClear.onclick = clearOssProbeView + const query = el('dck-query') + if (query) query.onclick = () => runAction('查询文档', async () => { await loadDocs() }, '按当前筛选条件查询') + const search = el('dck-search') + if (search) search.onkeydown = e => { if (e.key === 'Enter') runAction('查询文档', async () => { await loadDocs() }, '按当前筛选条件查询') } + const folderCreate = el('dck-folder-create') + if (folderCreate) folderCreate.onclick = async () => { + const form = await askForm({ + title: '新建文件夹', + message: '请输入文件夹名称', + confirmText: '创建', + fields: [ + { key: 'name', label: '名称', type: 'text', required: true, placeholder: '例如:项目A' }, + { key: 'parent_id', label: '父目录', type: 'select', value: '0', options: folderOptions().map(x => ({ value: String(x.value), label: x.label })) } + ] + }) + if (!form) return + await runAction('新建文件夹', async log => { + log(`名称: ${form.name}`) + log(`父目录: ${form.parent_id || 0}`) + await post('/api/doc_cloud_keeper/folders/create', { name: form.name, parent_id: Number(form.parent_id || 0) }) + await loadFolders() + }, '创建文件夹并刷新列表') + } + const toggleTrash = el('dck-toggle-trash') + if (toggleTrash) toggleTrash.onclick = async () => { + trashMode = !trashMode + txt('dck-toggle-trash', trashMode ? '返回列表' : '回收站') + selectedIds.clear() + await runAction('切换视图', async log => { + log(`当前模式: ${trashMode ? '回收站' : '文档列表'}`) + await loadDocs() + }, '刷新当前列表') + } + const checkAll = el('dck-check-all') + if (checkAll) checkAll.onchange = () => { + selectedIds.clear() + if (checkAll.checked) docs.forEach(r => selectedIds.add(Number(r.id))) + renderDocs() + } + + const localEditBtn = el('dck-local-edit') + if (localEditBtn) localEditBtn.onclick = startLocalEdit + + const uploadNew = el('dck-upload-new') + if (uploadNew) uploadNew.onclick = async () => { + const picked = await pickFile() + if (!picked || !picked.file) return + const file = picked.file + const form = await askForm({ + title: '上传新文档', + message: `文件:${file.name}`, + confirmText: '上传', + fields: [ + { key: 'priority', label: '优先级', type: 'select', value: 'medium', options: [{ value: 'high', label: '高' }, { value: 'medium', label: '中' }, { value: 'low', label: '低' }] }, + { key: 'status', label: '状态', type: 'select', value: 'todo', options: [{ value: 'todo', label: '未处理' }, { value: 'doing', label: '处理中' }, { value: 'done', label: '已完成' }] }, + { key: 'due_at', label: '到期', type: 'datetime-local', value: '' }, + { key: 'note', label: '备注', type: 'text', value: '' } + ] + }) + if (!form) return + await runAction('上传新文档', async log => { + log(`文件名: ${file.name}`) + const temp = await uploadTemp(file) + const created = await post('/api/doc_cloud_keeper/docs/create', { + folder_id: activeFolderId == null ? 0 : activeFolderId, + filename: file.name, + temp_name: temp.temp_name, + size_bytes: temp.size_bytes, + mime: file.type || 'application/octet-stream', + priority: form.priority, + status: form.status, + due_at: form.due_at || null, + note: form.note || '' + }) + if (picked.handle && created && created.id) { + await saveDocHandle(created.id, picked.handle) + } + await refreshAll() + if (created && created.id && !docs.find(d => Number(d.id) === Number(created.id))) { + const ok = await waitBackendReady('后台处理中,正在等待上传结果同步', async () => { + await loadDocs() + return !!docs.find(d => Number(d.id) === Number(created.id)) + }, { maxTry: 12, intervalMs: 400 }) + if (!ok) log('等待超时:请稍后手动点击“刷新”') + } + }, '本地上传并创建文档记录') + } + const uploadCover = el('dck-upload-cover') + if (uploadCover) uploadCover.onclick = async () => { + const doc = ensureSelectedDoc() + const picked = await pickFile() + if (!picked || !picked.file) return + const file = picked.file + const yes = await askConfirm('覆盖上传', `将覆盖文档:${doc.filename}`, '确认覆盖') + if (!yes) return + await runAction('覆盖上传', async log => { + log(`文档ID: ${doc.id}`) + log(`覆盖文件: ${file.name}`) + const temp = await uploadTemp(file) + await post('/api/doc_cloud_keeper/docs/overwrite', { + id: doc.id, + filename: file.name || doc.filename, + temp_name: temp.temp_name, + size_bytes: temp.size_bytes, + mime: file.type || 'application/octet-stream', + priority: doc.priority, + status: doc.status, + due_at: doc.due_at || null, + note: doc.note || '' + }) + if (picked.handle) await saveDocHandle(doc.id, picked.handle) + await refreshAll() + const ok = await waitBackendReady('后台处理中,正在等待覆盖结果同步', async () => { + const latest = await get(`/api/doc_cloud_keeper/docs/get?id=${encodeURIComponent(doc.id)}`) + const row = latest && latest.row ? latest.row : null + if (!row) return false + return Number(row.id) === Number(doc.id) && Number(row.size_bytes || 0) === Number(temp.size_bytes || 0) + }, { maxTry: 12, intervalMs: 400 }) + if (!ok) log('等待超时:文档可能已写入,请手动刷新确认') + await refreshAll() + }, '保留旧版本并覆盖当前文档') + } + const download = el('dck-download') + if (download) download.onclick = async () => { + const doc = ensureSelectedDoc() + await runAction('下载文档', async log => { + log(`文档ID: ${doc.id}`) + const url = `/api/doc_cloud_keeper/docs/download?id=${encodeURIComponent(doc.id)}` + const out = await saveDownloadAs(doc, url) + if (out.mode === 'picker') { + log('已保存到固定目录(本地文件选择器)') + if (out.fileHandle) await saveDocHandle(doc.id, out.fileHandle) + setOpenFolderButton(true) + const yes = await askConfirm('下载成功', '是否立即尝试打开文件?', '立即打开') + if (yes) { + try { + const file = await out.fileHandle.getFile() + const localUrl = URL.createObjectURL(file) + window.open(localUrl, '_blank') + setTimeout(() => URL.revokeObjectURL(localUrl), 30000) + log('已尝试打开文件(由系统或浏览器决定打开方式)') + } catch (e) { + log(`打开失败: ${String(e && e.message ? e.message : e)}`) + } + } + } else { + log('当前环境不支持固定目录保存,已触发浏览器下载') + } + }, '下载到本地工作目录') + } + const rename = el('dck-rename') + if (rename) rename.onclick = async () => { + const doc = ensureSelectedDoc() + const form = await askForm({ + title: '重命名文档', + message: `原文件名:${doc.filename}`, + confirmText: '保存', + fields: [{ key: 'filename', label: '新文件名', type: 'text', required: true, value: doc.filename || '' }] + }) + if (!form) return + await runAction('重命名文档', async log => { + log(`文档ID: ${doc.id}`) + log(`新名称: ${form.filename}`) + await post('/api/doc_cloud_keeper/docs/rename', { id: doc.id, filename: form.filename }) + await refreshAll() + }, '更新文档名称') + } + const move = el('dck-move') + if (move) move.onclick = async () => { + const doc = ensureSelectedDoc() + const form = await askForm({ + title: '移动文档', + message: `文档:${doc.filename}`, + confirmText: '移动', + fields: [{ key: 'folder_id', label: '目标目录', type: 'select', value: String(doc.folder_id || 0), options: folderOptions().map(x => ({ value: String(x.value), label: x.label })) }] + }) + if (!form) return + await runAction('移动文档', async log => { + log(`文档ID: ${doc.id}`) + log(`目标目录: ${form.folder_id}`) + await post('/api/doc_cloud_keeper/docs/move', { id: doc.id, folder_id: Number(form.folder_id || 0) }) + await refreshAll() + }, '更新目录归属') + } + const metaEdit = el('dck-meta-edit') + if (metaEdit) metaEdit.onclick = async () => { + const doc = ensureSelectedDoc() + const form = await askForm({ + title: '编辑文档属性', + message: `文档:${doc.filename}`, + confirmText: '保存属性', + fields: [ + { key: 'priority', label: '优先级', type: 'select', value: doc.priority || 'medium', options: [{ value: 'high', label: '高' }, { value: 'medium', label: '中' }, { value: 'low', label: '低' }] }, + { key: 'status', label: '状态', type: 'select', value: doc.status || 'todo', options: [{ value: 'todo', label: '未处理' }, { value: 'doing', label: '处理中' }, { value: 'done', label: '已完成' }] }, + { key: 'due_at', label: '到期', type: 'datetime-local', value: doc.due_at ? String(doc.due_at).slice(0, 16) : '' }, + { key: 'note', label: '备注', type: 'textarea', value: doc.note || '' } + ] + }) + if (!form) return + await runAction('更新文档属性', async log => { + log(`文档ID: ${doc.id}`) + await post('/api/doc_cloud_keeper/docs/update', { + id: doc.id, + priority: form.priority, + status: form.status, + due_at: form.due_at || null, + note: form.note || '' + }) + await refreshAll() + }, '写入优先级、状态、到期、备注') + } + const versions = el('dck-versions') + if (versions) versions.onclick = async () => { + const doc = ensureSelectedDoc() + if (!doc) return + await openVersions(doc) + } + const versionsTabLocal = el('dck-versions-tab-local') + if (versionsTabLocal) versionsTabLocal.onclick = () => setVersionsTab('local') + const versionsTabOss = el('dck-versions-tab-oss') + if (versionsTabOss) versionsTabOss.onclick = () => setVersionsTab('oss') + const versionsCompare = el('dck-versions-compare') + if (versionsCompare) versionsCompare.onclick = runVersionCompare + const versionsOssRefresh = el('dck-versions-oss-refresh') + if (versionsOssRefresh) versionsOssRefresh.onclick = async () => { + const doc = ensureSelectedDoc() + await reloadOssVersions(doc) + } + const versionsClose = el('dck-versions-close') + if (versionsClose) versionsClose.onclick = () => show('dck-versions-modal', false) + const compareClose = el('dck-compare-close') + if (compareClose) compareClose.onclick = closeCompareModal + const previewClose = el('dck-preview-close') + if (previewClose) previewClose.onclick = closePreview + const previewCopy = el('dck-preview-copy') + if (previewCopy) previewCopy.onclick = async () => { + try { await copyText(previewContentText) } catch {} + } + const previewDownload = el('dck-preview-download') + if (previewDownload) previewDownload.onclick = () => { + if (!previewDocId) return + const doc = docs.find(d => Number(d.id) === Number(previewDocId)) + if (!doc) return + window.open(`/api/doc_cloud_keeper/docs/download?id=${encodeURIComponent(previewDocId)}`, '_blank') + } + const trash = el('dck-trash') + if (trash) trash.onclick = async () => { + const doc = ensureSelectedDoc() + const yes = await askConfirm('逻辑删除', `将文档移入回收站:${doc.filename}`, '确认删除') + if (!yes) return + await runAction('逻辑删除文档', async log => { + log(`文档ID: ${doc.id}`) + await post('/api/doc_cloud_keeper/docs/trash', { id: doc.id }) + await refreshAll() + }, '移入回收站') + } + const restore = el('dck-restore') + if (restore) restore.onclick = async () => { + const doc = ensureSelectedDoc() + const yes = await askConfirm('恢复文档', `恢复文档:${doc.filename}`, '确认恢复') + if (!yes) return + await runAction('恢复文档', async log => { + log(`文档ID: ${doc.id}`) + await post('/api/doc_cloud_keeper/docs/restore', { id: doc.id }) + await refreshAll() + }, '从回收站恢复') + } + const hard = el('dck-hard-delete') + if (hard) hard.onclick = async () => { + const doc = ensureSelectedDoc() + const yes = await askConfirm('物理删除', `将永久删除:${doc.filename}`, '永久删除') + if (!yes) return + await runAction('物理删除文档', async log => { + log(`文档ID: ${doc.id}`) + await post('/api/doc_cloud_keeper/docs/trash_delete', { id: doc.id }) + await refreshAll() + }, '删除数据库与文件实体') + } + const bulkTrash = el('dck-bulk-trash') + if (bulkTrash) bulkTrash.onclick = async () => { + const ids = Array.from(selectedIds) + if (!ids.length) throw new Error('请先勾选文档') + const yes = await askConfirm('批量逻辑删除', `将删除 ${ids.length} 个文档到回收站`, '确认批量删除') + if (!yes) return + await runAction('批量逻辑删除', async log => { + log(`数量: ${ids.length}`) + const out = await post('/api/doc_cloud_keeper/docs/bulk_trash', { ids }) + log(`成功: ${(out.result && out.result.success && out.result.success.length) || 0}`) + log(`失败: ${(out.result && out.result.failed && out.result.failed.length) || 0}`) + selectedIds.clear() + await refreshAll() + }, '逐条执行并返回成功失败明细') + } + const bulkMove = el('dck-bulk-move') + if (bulkMove) bulkMove.onclick = async () => { + const ids = Array.from(selectedIds) + if (!ids.length) throw new Error('请先勾选文档') + const form = await askForm({ + title: '批量移动文档', + message: `已选择 ${ids.length} 个文档`, + confirmText: '确认移动', + fields: [{ key: 'folder_id', label: '目标目录', type: 'select', value: '0', options: folderOptions().map(x => ({ value: String(x.value), label: x.label })) }] + }) + if (!form) return + await runAction('批量移动文档', async log => { + log(`数量: ${ids.length}`) + log(`目标目录: ${form.folder_id}`) + const out = await post('/api/doc_cloud_keeper/docs/bulk_move', { ids, folder_id: Number(form.folder_id || 0) }) + log(`成功: ${(out.result && out.result.success && out.result.success.length) || 0}`) + log(`失败: ${(out.result && out.result.failed && out.result.failed.length) || 0}`) + selectedIds.clear() + await refreshAll() + }, '逐条执行并返回成功失败明细') + } + const bulkHard = el('dck-bulk-hard-delete') + if (bulkHard) bulkHard.onclick = async () => { + const ids = Array.from(selectedIds) + if (!ids.length) throw new Error('请先勾选文档') + const yes = await askConfirm('批量物理删除', `将永久删除 ${ids.length} 个文档(不可恢复)`, '确认永久删除') + if (!yes) return + await runAction('批量物理删除', async log => { + log(`数量: ${ids.length}`) + const out = await post('/api/doc_cloud_keeper/docs/bulk_trash_delete', { ids }) + log(`成功: ${(out.result && out.result.success && out.result.success.length) || 0}`) + log(`失败: ${(out.result && out.result.failed && out.result.failed.length) || 0}`) + selectedIds.clear() + await refreshAll() + }, '仅允许在回收站执行') + } + const changePass = el('dck-change-pass') + if (changePass) changePass.onclick = async () => { + const form = await askForm({ + title: '修改密码', + message: '请输入旧密码和新密码', + confirmText: '确认修改', + fields: [ + { key: 'old_password', label: '旧密码', type: 'password', required: true }, + { key: 'new_password', label: '新密码', type: 'password', required: true } + ] + }) + if (!form) return + await runAction('修改登录密码', async log => { + log(`用户: ${me && me.username ? me.username : 'admin'}`) + await post('/api/doc_cloud_keeper/change_password', { old_password: form.old_password, new_password: form.new_password }) + log('密码已更新') + }, '写入新的密码哈希') + } + } + + const initLoginBackground = () => { + const loginContainer = el('dck-login') + if (!loginContainer) return + + // 获取背景图片目录 + const bgImages = [ + '/home-bg/blue-sky-bf240d20/1.jpg', + '/home-bg/blue-sky-bf240d20/2.jpg', + '/home-bg/business-minimal-434facc4/1.jpg', + '/home-bg/business-minimal-434facc4/2.jpg', + '/home-bg/colorful-abstract-9b5b4d8c/1.jpg', + '/home-bg/colorful-abstract-9b5b4d8c/2.jpg', + '/home-bg/gradient-3d-9d6b3a3c/1.jpg', + '/home-bg/gradient-3d-9d6b3a3c/2.jpg', + '/home-bg/nature-landscape-8c0d5a7f/1.jpg', + '/home-bg/nature-landscape-8c0d5a7f/2.jpg', + '/home-bg/tech-futuristic-7a3b8c9d/1.jpg', + '/home-bg/tech-futuristic-7a3b8c9d/2.jpg', + '/home-bg/warm-minimal-5e4c3b2a/1.jpg', + '/home-bg/warm-minimal-5e4c3b2a/2.jpg' + ] + + // 随机选择一张背景图片 + const randomIndex = Math.floor(Math.random() * bgImages.length) + const selectedBg = bgImages[randomIndex] + + // 设置背景样式 + loginContainer.style.background = `url('${selectedBg}') center/cover no-repeat` + loginContainer.style.boxShadow = '0 8px 32px rgba(0, 0, 0, 0.3)' + loginContainer.style.border = 'none' + loginContainer.style.backdropFilter = 'blur(10px)' + loginContainer.style.color = 'white' + + // 设置输入框样式 + const inputs = loginContainer.querySelectorAll('.modal-input') + inputs.forEach(input => { + input.style.background = 'rgba(255, 255, 255, 0.9)' + input.style.border = '1px solid rgba(255, 255, 255, 0.3)' + input.style.color = '#333' + }) + + // 设置按钮样式 + const loginBtn = el('dck-login-btn') + if (loginBtn) { + loginBtn.style.background = 'rgba(24, 144, 255, 0.9)' + loginBtn.style.border = 'none' + loginBtn.style.color = 'white' + } + } + + const start = async () => { + try { + initLoginBackground() + const p = new URLSearchParams(window.location.search || '') + routeDocId = parseInt(String(p.get('doc_id') || '0'), 10) || 0 + if (routeDocId) { + activeFolderId = null + trashMode = false + } + } catch {} + rememberedFsHandle = await loadRememberedHandle() + bind() + await ensureAuth() + startLiveSync() + setInterval(() => { + if (!docs || !docs.length) return + docs = applyDeadlineState(docs) + renderDocs() + }, 30000) + } + + return { start } +})() + +document.addEventListener('DOMContentLoaded', () => { dck.start() }) diff --git a/public/tools/doc_cloud_keeper/index.html b/public/tools/doc_cloud_keeper/index.html new file mode 100644 index 0000000..7ec4d91 --- /dev/null +++ b/public/tools/doc_cloud_keeper/index.html @@ -0,0 +1,241 @@ + + + + + + 文档云管家 + + + + + +
    +
    +
    +

    文档云管家

    +
    + 文件数: 0 + 占用: 0 B + 回收站: 0⚒ +
    +
    + +
    + + +
    + + + + + + + + + + + + diff --git a/public/tools/expense/auth_config.json b/public/tools/expense/auth_config.json new file mode 100644 index 0000000..5074a97 --- /dev/null +++ b/public/tools/expense/auth_config.json @@ -0,0 +1,7 @@ +{ + "_comment": "记账(Expense)工具的前端鉴权配置", + "enable_auth_comment": "true:启用鉴权(从导航登录后才能访问);false:完全放开访问", + "enable_auth": true, + "max_age_days_comment": "鉴权 cookie 的最大有效天数(1~365)", + "max_age_days": 30 +} diff --git a/public/tools/expense/expense.css b/public/tools/expense/expense.css new file mode 100644 index 0000000..fb19c85 --- /dev/null +++ b/public/tools/expense/expense.css @@ -0,0 +1,353 @@ +.container { padding: 12px } +.tabs { display: flex; gap: 8px; margin-bottom: 8px } +.tab { padding: 6px 10px; border-radius: 6px; cursor: pointer } +.tab.active { } +.status { margin: 8px 0; padding: 8px; border: 1px solid #ffd666; background: #fffbe6; color: #a87000; border-radius: 6px } +.panel { border: 1px solid #ddd; border-radius: 8px; padding: 8px; margin-bottom: 8px } +.btn { padding: 6px 10px; border: none; background: #222; color: #fff; border-radius: 6px; cursor: pointer } +.grid { width: 100%; border-collapse: collapse } +.grid th, .grid td { padding: 8px; border-bottom: 1px solid #e6e9ef; text-align: left; vertical-align: top } +.grid thead th { position: sticky; top: 0; background: var(--table-header-bg); z-index: 1 } +.grid tbody tr:nth-child(odd) { background: #f7f8fb } +.grid tbody tr:nth-child(even) { background: #f2f4f8 } +.grid tbody tr:hover { background: #e9eef6 } +.grid tbody tr { transition: background 120ms ease-in-out } +.list-card { background: var(--color-card); border: 1px solid var(--color-border); border-radius: 10px; padding: 6px } + +.action-buttons { display: flex; gap: 8px; margin-bottom: 16px; padding: 0 4px } +.action-btn { + padding: 10px 20px; + border: 2px solid transparent; + border-radius: 10px; + background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-2) 100%); + color: white; + cursor: pointer; + font-weight: 600; + transition: all 0.3s cubic-bezier(0.4,0,0.2,1); + display: flex; + align-items: center; + gap: 8px; + box-shadow: 0 4px 12px rgba(37,99,235,0.3); + position: relative; + overflow: hidden; +} + +.action-btn::before { + content: ''; + position: absolute; + top: 0; + left: -100%; + width: 100%; + height: 100%; + background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent); + transition: left 0.6s ease; +} + +.action-btn:hover { + transform: translateY(-2px); + box-shadow: 0 8px 20px rgba(37,99,235,0.4); + background: linear-gradient(135deg, var(--color-primary-2) 0%, var(--color-primary) 100%); +} + +.action-btn:hover::before { + left: 100%; +} + +.action-btn.view { + background: linear-gradient(135deg, #10b981 0%, #059669 100%); + box-shadow: 0 4px 12px rgba(16,185,129,0.3); +} + +.action-btn.view:hover { + background: linear-gradient(135deg, #059669 0%, #10b981 100%); + box-shadow: 0 8px 20px rgba(16,185,129,0.4); +} + +.action-btn.delete { + background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%); + box-shadow: 0 4px 12px rgba(239,68,68,0.3); +} + +.action-btn.delete:hover { + background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); + box-shadow: 0 8px 20px rgba(239,68,68,0.4); +} +.col-actions { white-space: nowrap } +.grid .col-actions { display:flex; flex-direction:column; align-items:center; gap:10px } +.grid .col-actions .action-btn { width: 36px; height: 36px; border-radius: 50%; display:flex; align-items:center; justify-content:center; padding:0; font-size:16px } +.grid .col-actions .action-btn:hover { filter: brightness(1.06) } +.grid .col-actions .action-btn:disabled { opacity: .6; cursor: not-allowed } + +/* 主题适配:暗黑风格(深色圆形按钮) */ +body.theme-expense[data-theme="dark"] .icon-toggle, +body.theme-expense[data-theme="dark"] .icon-theme, +body.theme-expense[data-theme="dark"] .font-size-toggle, +body.theme-expense[data-theme="dark"] .action-buttons #records-export, +body.theme-expense[data-theme="dark"] .action-buttons #stats-export, +body.theme-expense[data-theme="dark"] .grid .col-actions .action-btn { + border: 1px solid rgba(51,65,85,0.6); + background: radial-gradient(ellipse at 30% 30%, #1f2937 0%, #0f172a 70%); + box-shadow: 0 4px 12px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.1); + color: #fbbf24; + transition: all 0.3s cubic-bezier(0.4,0,0.2,1); +} + +body.theme-expense[data-theme="dark"] .icon-toggle:hover, +body.theme-expense[data-theme="dark"] .icon-theme:hover, +body.theme-expense[data-theme="dark"] .font-size-toggle:hover, +body.theme-expense[data-theme="dark"] .action-buttons #records-export:hover, +body.theme-expense[data-theme="dark"] .action-buttons #stats-export:hover, +body.theme-expense[data-theme="dark"] .grid .col-actions .action-btn:hover { + transform: translateY(-2px); + box-shadow: 0 6px 16px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.15); + filter: brightness(1.1); +} + +/* 主题适配:明亮风格(浅色圆形按钮) */ +body.theme-expense[data-theme="light"] .icon-toggle, +body.theme-expense[data-theme="light"] .icon-theme, +body.theme-expense[data-theme="light"] .font-size-toggle, +body.theme-expense[data-theme="light"] .action-buttons #records-export, +body.theme-expense[data-theme="light"] .action-buttons #stats-export, +body.theme-expense[data-theme="light"] .grid .col-actions .action-btn { + border: 1px solid rgba(229,231,235,0.8); + background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%); + box-shadow: 0 4px 12px rgba(0,0,0,0.12), inset 0 1px 0 rgba(255,255,255,0.9); + color: var(--color-primary); + transition: all 0.3s cubic-bezier(0.4,0,0.2,1); +} + +body.theme-expense[data-theme="light"] .icon-toggle:hover, +body.theme-expense[data-theme="light"] .icon-theme:hover, +body.theme-expense[data-theme="light"] .font-size-toggle:hover, +body.theme-expense[data-theme="light"] .action-buttons #records-export:hover, +body.theme-expense[data-theme="light"] .action-buttons #stats-export:hover, +body.theme-expense[data-theme="light"] .grid .col-actions .action-btn:hover { + transform: translateY(-2px); + box-shadow: 0 6px 16px rgba(0,0,0,0.18), inset 0 1px 0 rgba(255,255,255,0.95); + background: linear-gradient(135deg, #ffffff 0%, #f1f5f9 100%); +} + +/* 模态框样式 - Windows风格适配 */ +.expense-modal-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.4); display: none; justify-content: center; align-items: center; z-index: 1000; opacity: 0; transition: opacity 0.2s ease } +.expense-modal-overlay.active { display: flex; opacity: 1 } + +.expense-modal { + background: var(--color-card); + border-radius: 8px; /* Windows 11 style */ + box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(0,0,0,0.05); /* Deep shadow + subtle border ring */ + width: 90%; + max-width: 600px; + max-height: 85vh; + display: flex; + flex-direction: column; + animation: modalSlideIn 0.2s cubic-bezier(0.1, 0.9, 0.2, 1); + border: 1px solid var(--color-border); + overflow: hidden; + font-family: "Segoe UI", "Microsoft YaHei", system-ui, sans-serif; + color: var(--color-text); + position: relative; /* Override common.css .modal fixed position */ + inset: auto; /* Override common.css .modal inset: 0 */ + display: flex; /* Override common.css .modal display: grid */ + place-items: unset; /* Override common.css .modal place-items: center */ +} +@keyframes modalSlideIn { from { opacity: 0; transform: scale(0.96) } to { opacity: 1; transform: scale(1) } } + +.expense-modal-header { + padding: 0; + height: 44px; /* Windows title bar height */ + flex-shrink: 0; + display: flex; + justify-content: space-between; + align-items: center; + background: var(--color-card); /* Match body background (not blue) */ + user-select: none; + border-bottom: 1px solid var(--color-border); /* Subtle separator */ +} +.expense-modal-title { + font-size: 14px; + font-weight: 600; + color: var(--color-text); + padding-left: 16px; + flex: 1; +} +.expense-modal-close { + background: none; + border: none; + font-size: 16px; + cursor: pointer; + color: var(--color-text); + width: 46px; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + transition: all 0.1s; + border-radius: 0 8px 0 0; +} +.expense-modal-close:hover { background: #c42b1c; color: white } +.expense-modal-close:active { background: #b3261a; color: white } + +.expense-modal-body { + padding: 20px 24px; + flex: 1; + overflow-y: auto; + background: var(--color-card); + width: auto; /* Override common.css .modal-body width: 520px */ +} + +.expense-modal-footer { + padding: 20px 24px; + /* border-top: 1px solid var(--color-border); */ /* Seamless footer */ + display: flex; + gap: 8px; + justify-content: flex-end; + background: var(--color-card); + padding-top: 0; /* Move closer to body if seamless */ + padding-bottom: 24px; +} + +.loading-modal { max-width: 360px; padding: 0 } /* No padding on modal itself, handled by children */ +.loading-body { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; padding: 40px 20px } +.loading-spinner { width: 40px; height: 40px; border: 3px solid var(--color-border); border-top-color: var(--color-primary); border-radius: 50%; animation: spin 1s linear infinite } +@keyframes spin { to { transform: rotate(360deg) } } + +.expense-modal-btn { + height: 32px; + padding: 0 20px; + border: 1px solid transparent; + border-radius: 4px; /* Windows 11 standard button radius */ + cursor: pointer; + font-family: "Segoe UI", system-ui, sans-serif; + font-size: 14px; + font-weight: 400; + transition: all 0.1s; + display: inline-flex; + align-items: center; + justify-content: center; + box-shadow: none; /* Windows buttons are flat by default */ +} + +.expense-modal-btn:focus { + outline: 2px solid var(--color-text); + outline-offset: 1px; +} + +.expense-modal-btn.primary { + background: var(--color-primary); + border-color: var(--color-primary); + color: #fff; +} + +.expense-modal-btn.primary:hover { + filter: brightness(1.1); + box-shadow: 0 2px 4px rgba(0,0,0,0.1); +} + +.expense-modal-btn.primary:active { + filter: brightness(0.9); + transform: scale(0.98); +} + +.expense-modal-btn.secondary { + background: var(--table-bg); + border: 1px solid var(--color-border); + color: var(--color-text); +} + +.expense-modal-btn.secondary:hover { + background: var(--table-row-hover); + border-color: var(--color-muted); +} + +.expense-modal-btn.secondary:active { + background: var(--table-row-odd); + transform: scale(0.98); +} + +.expense-modal-form { display: grid; gap: 16px } +.expense-modal-form-row { display: grid; grid-template-columns: 100px minmax(0,1fr); gap: 12px; align-items: center } +.expense-modal-form-row.full-width { grid-template-columns: minmax(0,1fr); display: flex; flex-direction: column; align-items: flex-start; gap: 8px } +.expense-modal-label { font-weight: 400; color: var(--color-text); text-align: right; font-size: 14px } + +.expense-modal-input, .expense-modal-select, .expense-modal-textarea { + border: 1px solid var(--color-border); + border-radius: 4px; /* Windows 11 input radius */ + padding: 0 10px; + height: 32px; /* Standard height */ + font-size: 14px; + font-family: "Segoe UI", system-ui, sans-serif; + transition: border-color 0.1s, background 0.1s; + width: 100%; + box-sizing: border-box; + background: var(--table-bg); + color: var(--color-text); +} +.expense-modal-input:hover, .expense-modal-select:hover, .expense-modal-textarea:hover { + background: var(--table-row-hover); +} +.expense-modal-input:focus, .expense-modal-select:focus, .expense-modal-textarea:focus { + outline: none; + border-color: var(--color-primary); + border-bottom-width: 2px; /* Windows input focus indicator */ + background: var(--table-bg); +} + +.expense-modal-textarea { + padding: 8px 10px; + height: auto; + min-height: 80px; + resize: vertical; +} +.expense-modal-textarea.large { min-height: 120px } + +@media (max-width: 768px) { + .expense-modal { width: 95%; height: auto; max-height: 90vh; border-radius: 8px; margin: 0 10px } + .expense-modal-body { padding: 16px } + .expense-modal-footer { padding: 16px; flex-direction: column-reverse } + .expense-modal-btn { width: 100% } + .expense-modal-form-row { grid-template-columns: 1fr; gap: 4px; align-items: flex-start } + .expense-modal-label { text-align: left; font-size: 13px; color: var(--color-muted) } +} +@media (min-width: 769px) { + .expense-modal { width: 800px; height: auto; max-width: 90vw; max-height: 90vh; overflow: hidden; margin: 0 } +} + +/* 字体大小切换按钮与面板定位 */ +body.theme-expense .panel.card { position: relative } +.font-size-toggle { position: absolute; right: 12px; top: 10px; width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; z-index: 2; font-size: 18px; cursor: pointer } +.font-size-toggle:hover { filter: brightness(1.06) } +.panel .action-buttons { padding-right: 56px } +.grid.small { font-size: 10px; line-height: 1.2 } +.grid.large { font-size: 14px; line-height: 1.5 } + +@media (min-width: 769px) { + /* .modal styles removed as they are replaced by .expense-modal */ +} + +/* 头部与标签 */ +.expense-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px } +.expense-header h2 { margin: 0; font-size: 18px; line-height: 1.1 } +.expense-tabs { flex: 1; margin: 0 12px } +.expense-tabs .tabs.horizontal { display:flex; gap:8px; justify-content:center; align-items:center } +.expense-tabs .tabs.horizontal .tab { display:flex; align-items:center } +.expense-tabs .tabs.horizontal .tab svg { margin-right:8px } +.header-actions { display:flex; gap:12px; align-items:center } +.icon-toggle, .icon-theme { width: 32px; height: 32px; border-radius: 50%; cursor: pointer; display:flex; align-items:center; justify-content:center } +.action-buttons #records-export, +.action-buttons #stats-export { width: 36px; height: 36px; border-radius: 50%; cursor: pointer; display:inline-flex; align-items:center; justify-content:center; padding:0 } +.action-buttons #records-export:hover, +.action-buttons #stats-export:hover { filter: brightness(1.06) } +.logo-ico { display:inline-block; width:20px; height:20px; margin-right:8px; background: linear-gradient(135deg,#93c5fd,#60a5fa); border-radius:6px; position:relative } +.logo-ico::after { content:''; position:absolute; left:4px; top:3px; width:12px; height:12px; border-radius:50%; background:#fff; opacity:0.2 } + +/* 主题变量桥接(供组件文件使用) */ +/* :root { --exp-card-bg:#ffffff; --exp-border:#e6e9ef } Removed, use --color-card and --color-border directly */ + +/* 移动端适配 */ +@media (max-width: 768px) { + /* .modal styles removed */ + .action-buttons { flex-wrap: wrap } + .action-btn { flex: 1; min-width: 120px; justify-content: center } + .font-size-toggle { top: 8px; right: 8px; padding: 4px 8px; font-size: 11px } +} diff --git a/public/tools/expense/expense.js b/public/tools/expense/expense.js new file mode 100644 index 0000000..50c6e27 --- /dev/null +++ b/public/tools/expense/expense.js @@ -0,0 +1,1009 @@ +// 简易调试输出 +const out = () => document.getElementById('ed-output'); +const logLocal = msg => { const b = out(); if (!b) return; const t = new Date().toLocaleString('zh-CN'); b.textContent = (b.textContent||'') + (b.textContent?"\n":"") + `${t} ${msg}`; b.scrollTop = b.scrollHeight }; + +// 状态提示 +const showStatus = s => { const el = document.getElementById('status'); if (!el) return; el.style.display=''; el.textContent=s }; +const hideStatusSoon = () => { const el = document.getElementById('status'); if (!el) return; setTimeout(()=>{ el.style.display='none' }, 1200) }; + +// 本地数据缓存 +let expenseCache = []; +let editingId = null; + +let expenseTypes = []; +let expenseSubjects = []; +const apiGetJson = async (url) => { + const r = await fetch(url, { method: 'GET' }); + let d = null; + try { d = await r.json() } catch { d = { ok:false, error:'invalid_json' } } + if (!r.ok || d.ok === false) throw new Error(d && d.error ? d.error : 'http_error'); + return d; +}; +const apiSendJson = async (url, body, method) => { + const r = await fetch(url, { method: method || 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(body || {}) }); + let d = null; + try { d = await r.json() } catch { d = { ok:false, error:'invalid_json' } } + if (!r.ok || d.ok === false) throw new Error(d && d.error ? d.error : 'http_error'); + return d; +}; + +// Loading Modal Helpers +const showLoading = (title) => { + const overlay = document.getElementById('loading-overlay'); + if (overlay) overlay.classList.add('active'); + const t = document.getElementById('loading-title'); + if (t) t.textContent = title || '处理中'; + const logs = document.getElementById('loading-logs'); + if (logs) logs.innerHTML = ''; + const btn = document.getElementById('loading-close-btn'); + if (btn) btn.style.display = 'none'; + const spinner = document.getElementById('loading-spinner'); + if (spinner) spinner.style.display = 'block'; + const txt = document.getElementById('loading-text'); + if (txt) { txt.textContent = '正在处理...'; txt.style.color = ''; } +}; +const appendLog = (msg, isError) => { + const logs = document.getElementById('loading-logs'); + if (!logs) return; + const div = document.createElement('div'); + div.textContent = `[${new Date().toLocaleTimeString()}] ${msg}`; + if (isError) div.style.color = '#ef4444'; + logs.appendChild(div); + logs.scrollTop = logs.scrollHeight; +}; +let loadingCountdown = null; +const finishLoading = (success, errorMsg, autoCloseMs) => { + if (loadingCountdown) { clearInterval(loadingCountdown); loadingCountdown = null; } + const spinner = document.getElementById('loading-spinner'); + if (spinner) spinner.style.display = 'none'; + const btn = document.getElementById('loading-close-btn'); + if (btn) btn.style.display = 'block'; + const txt = document.getElementById('loading-text'); + if (txt) { + if (success) { + if (autoCloseMs) { + let secondsLeft = Math.ceil(autoCloseMs/1000); + const updateText = () => { txt.textContent = `处理完成,${secondsLeft}s后自动关闭`; }; + updateText(); + loadingCountdown = setInterval(() => { + secondsLeft--; + if (secondsLeft > 0) { + updateText(); + } else { + clearInterval(loadingCountdown); + loadingCountdown = null; + closeLoading(); + } + }, 1000); + } else { + txt.textContent = '处理完成'; + } + txt.style.color = 'var(--color-accent)'; + } else { + txt.textContent = errorMsg || '处理失败'; + txt.style.color = '#ef4444'; + } + } +}; +const closeLoading = () => { + if (loadingCountdown) { clearInterval(loadingCountdown); loadingCountdown = null; } + const overlay = document.getElementById('loading-overlay'); + if (overlay) overlay.classList.remove('active'); + }; + window.closeLoading = closeLoading; + +// 通用模态框辅助函数 +window.showAlert = (msg, onClose) => { + const overlay = document.getElementById('expense-modal-overlay'); + const titleEl = document.getElementById('expense-modal-title'); + const bodyEl = document.getElementById('expense-modal-body'); + const footerEl = document.getElementById('expense-modal-footer'); + + titleEl.textContent = '提示'; + bodyEl.innerHTML = `
    ${msg}
    `; + footerEl.innerHTML = ``; + + const okBtn = document.getElementById('alert-ok'); + okBtn.onclick = () => { + closeModal(); + if (onClose) onClose(); + }; + // Focus logic + setTimeout(() => okBtn.focus(), 50); + + overlay.classList.add('active'); +}; + +window.showConfirm = (msg, onConfirm, onCancel) => { + const overlay = document.getElementById('expense-modal-overlay'); + const titleEl = document.getElementById('expense-modal-title'); + const bodyEl = document.getElementById('expense-modal-body'); + const footerEl = document.getElementById('expense-modal-footer'); + + titleEl.textContent = '确认'; + bodyEl.innerHTML = `
    ${msg}
    `; + footerEl.innerHTML = ` + + + `; + + document.getElementById('confirm-cancel').onclick = () => { + closeModal(); + if (onCancel) onCancel(); + }; + + const okBtn = document.getElementById('confirm-ok'); + okBtn.onclick = () => { + closeModal(); + if (onConfirm) onConfirm(); + }; + // Focus logic + setTimeout(() => okBtn.focus(), 50); + + overlay.classList.add('active'); +}; + +const loadConfig = async () => { + try { + const cfg = await apiGetJson('/api/expense/sys-config'); + window.EXPENSE_SYS_CONFIG = cfg.config || {}; + // Auto-update weekly endpoint if server config has one + if (window.EXPENSE_SYS_CONFIG.weekly_api_url) { + localStorage.setItem('expense_weekly_endpoint', window.EXPENSE_SYS_CONFIG.weekly_api_url); + } + } catch {} + const [t, s] = await Promise.all([ + apiGetJson('/api/expense/types'), + apiGetJson('/api/expense/subjects') + ]); + expenseTypes = Array.isArray(t.rows) ? t.rows : []; + expenseSubjects = Array.isArray(s.rows) ? s.rows : []; +}; +const nextTypeId = () => expenseTypes.reduce((m, r) => Math.max(m, r.id || 0), 0) + 1; +const nextSubjectId = () => expenseSubjects.reduce((m, r) => Math.max(m, r.id || 0), 0) + 1; +const createType = async (name, cost_type) => { const d = await apiSendJson('/api/expense/types', { name, cost_type }, 'POST'); return d && d.id }; +const updateType = async (id, name, cost_type) => { await apiSendJson(`/api/expense/types/${id}`, { name, cost_type }, 'PUT') }; +const createSubject = async (name, cost_type) => { const d = await apiSendJson('/api/expense/subjects', { name, cost_type }, 'POST'); return d && d.id }; +const updateSubject = async (id, name, cost_type) => { await apiSendJson(`/api/expense/subjects/${id}`, { name, cost_type }, 'PUT') }; + +const LS_KEY = 'expense_rows'; +const nextId = () => { const max = expenseCache.reduce((m, r)=>Math.max(m, r.id||0), 0); return max + 1 }; + +const fmtAmount = n => (Number(n||0)).toLocaleString('zh-CN', { minimumFractionDigits:2, maximumFractionDigits:2 }); +const htmlEscape = s => String(s||'').replace(/&/g,'&').replace(//g,'>'); +const optionsHtmlFromTypes = (selected=null, costFilter=null) => expenseTypes.filter(t => !costFilter || (t.cost_type||'个人费用') === costFilter).map(t => ``).join(''); +const optionsHtmlFromSubjects = (selected=null, costFilter=null) => expenseSubjects.filter(s => !costFilter || (s.cost_type||'个人费用') === costFilter).map(s => ``).join(''); + +const loadExpenses = async () => { + const d = await apiGetJson(`/api/expense/records?t=${Date.now()}`); + expenseCache = Array.isArray(d.rows) ? d.rows : []; + renderExpenses(expenseCache); +}; + +const saveExpenses = () => {}; + +async function loadAttachments(expenseId) { + const r = await apiGetJson(`/api/expense/attachments/${expenseId}?t=${Date.now()}`); + return Array.isArray(r.rows) ? r.rows : []; +} +async function deleteAttachment(attId) { + try { await apiSendJson(`/api/expense/attachments/${attId}`, {}, 'DELETE') } catch {} +} + +// 排序逻辑 +let currentSortColumn = 'date'; +let currentSortDirection = 'desc'; + +window.handleSort = (col) => { + if (currentSortColumn === col) { + currentSortDirection = currentSortDirection === 'asc' ? 'desc' : 'asc'; + } else { + currentSortColumn = col; + currentSortDirection = 'desc'; + } + renderExpenses(expenseCache); +}; + +const updateSortHeaders = () => { + const cols = ['date', 'cost_type', 'type', 'amount', 'subject', 'content', 'arrived']; + cols.forEach(c => { + const el = document.getElementById(`sort-icon-${c}`); + if (el) { + el.innerHTML = '🔻🔺'; + if (currentSortColumn === c) { + if (currentSortDirection === 'asc') el.innerHTML = '🔻🔺'; + else el.innerHTML = '🔻🔺'; + } + } + }); +}; + +const renderExpenses = rows => { + const body = document.getElementById('ex-body'); + if (!body) return; + body.innerHTML = ''; + + updateSortHeaders(); + + const filterNode = [...document.getElementsByName('filter-cost-type')].find(r=>r.checked); + const filterVal = filterNode ? filterNode.value : '全部'; + + let displayRows = rows.filter(r => (filterVal === '全部') ? true : ((r.cost_type || '个人费用') === filterVal)); + + // Sort + displayRows.sort((a, b) => { + let valA = a[currentSortColumn]; + let valB = b[currentSortColumn]; + + if (currentSortColumn === 'amount') { + valA = Number(valA || 0); + valB = Number(valB || 0); + } else if (currentSortColumn === 'arrived') { + valA = valA ? 1 : 0; + valB = valB ? 1 : 0; + } else { + valA = String(valA || ''); + valB = String(valB || ''); + } + + if (valA < valB) return currentSortDirection === 'asc' ? -1 : 1; + if (valA > valB) return currentSortDirection === 'asc' ? 1 : -1; + return 0; + }); + + displayRows.forEach(r => { + const tr = document.createElement('tr'); + const td1 = document.createElement('td'); td1.textContent = r.date || ''; + const tdCost = document.createElement('td'); tdCost.textContent = r.cost_type || '个人费用'; + const td2 = document.createElement('td'); td2.textContent = r.type || ''; + const td3 = document.createElement('td'); td3.textContent = fmtAmount(r.amount || 0); + const td4 = document.createElement('td'); td4.textContent = r.subject || ''; + const td5 = document.createElement('td'); td5.style.whiteSpace = 'pre-wrap'; td5.textContent = r.content || ''; + const td6 = document.createElement('td'); td6.textContent = r.arrived ? '已到账' : '未到账'; + const td7 = document.createElement('td'); td7.className = 'col-actions'; + const view = document.createElement('button'); view.className = 'action-btn view'; view.title='查看'; view.textContent='👁'; view.addEventListener('click', ()=>openModal('expense','view', r.id)); + const edit = document.createElement('button'); edit.className = 'action-btn edit'; edit.title='修改'; edit.textContent='✎'; edit.addEventListener('click', ()=>openModal('expense','edit', r.id)); + const del = document.createElement('button'); del.className = 'action-btn delete'; del.title='删除'; del.textContent='🗑'; del.addEventListener('click', ()=>{ + showConfirm('确认删除该报销记录?', async () => { + del.disabled = true; + showLoading('删除记录中...'); + try { + appendLog(`正在删除本地记录 ID: ${r.id}...`); + await apiSendJson(`/api/expense/records/${r.id}`, {}, 'DELETE'); + appendLog(`本地记录删除成功`); + appendLog(`正在同步删除周报...`); + const rowCopy={...r}; + try { + await syncWeeklyEvent('delete', rowCopy, true); + } catch (e) { + appendLog(`⚠️ 周报同步删除失败: ${e.message}`); + // Don't throw, just warn + } + + appendLog(`刷新列表...`); + try { + await loadExpenses(); + } catch (e) { + appendLog(`⚠️ 列表刷新失败: ${e.message}`); + } + finishLoading(true, null, 3000); + } catch (e) { + appendLog(`❌ 删除失败: ${e.message}`, true); + finishLoading(false, e.message); + } finally { del.disabled = false } + }); + }); + td7.appendChild(view); td7.appendChild(edit); td7.appendChild(del); + tr.appendChild(td1); tr.appendChild(tdCost); tr.appendChild(td2); tr.appendChild(td3); tr.appendChild(td4); tr.appendChild(td5); tr.appendChild(td6); tr.appendChild(td7); + body.appendChild(tr); + }); +}; + +// 字体大小切换 +let gridFontMode = localStorage.getItem('expense_grid_font') || 'large'; +function applyGridFontMode() { + const tables = document.querySelectorAll('#expense-content .grid'); + tables.forEach(t => { t.classList.remove('small','large'); t.classList.add(gridFontMode === 'large' ? 'large' : 'small') }); + const btn = document.getElementById('font-size-toggle'); + if (btn) { + btn.textContent = gridFontMode === 'large' ? '🆎' : '🔠'; + btn.setAttribute('aria-label', gridFontMode === 'large' ? '切换为小字体' : '切换为大字体'); + btn.title = gridFontMode === 'large' ? '切换为小字体' : '切换为大字体'; + } +} +const fontBtn = document.getElementById('font-size-toggle'); +if (fontBtn) { + fontBtn.addEventListener('click', function() { + gridFontMode = gridFontMode === 'large' ? 'small' : 'large'; + localStorage.setItem('expense_grid_font', gridFontMode); + applyGridFontMode(); + }); +} + +// 列表筛选监听 +const filterRadios = document.getElementsByName('filter-cost-type'); +filterRadios.forEach(r => { + r.addEventListener('change', () => { + renderExpenses(expenseCache); + }); +}); + +// 维护列表筛选监听 +const maintRadios = document.getElementsByName('maint-cost-type'); +maintRadios.forEach(r => { + r.addEventListener('change', () => { + renderConfigLists(); + }); +}); + +// 模态框 +let currentModalType = ''; +let currentModalAction = ''; +let currentModalId = null; +function openModal(type, action, id=null) { + currentModalType = type; + currentModalAction = action; + currentModalId = id; + const modalOverlay = document.getElementById('expense-modal-overlay'); + const modalTitle = document.getElementById('expense-modal-title'); + const modalBody = document.getElementById('expense-modal-body'); + const modalFooter = document.getElementById('expense-modal-footer'); + const actionText = action === 'add' ? '新增' : action === 'edit' ? '修改' : '查看'; + const titles = { expense:'报销记录', cfgType:'报销类型', cfgSubject:'报销主体' }; + modalTitle.textContent = `${actionText}${titles[type]||''}`; + modalBody.innerHTML = generateModalForm(type, action); + modalFooter.innerHTML = generateModalButtons(type, action); + modalOverlay.classList.add('active'); + if (action !== 'add' && id) fillModalForm(type, id); + if (type === 'expense') { + const fi = document.getElementById('modal-ex-files'); + if (fi) fi.onchange = async () => { if (!currentModalId) return; await uploadSelectedFiles(currentModalId) }; + const radios = document.getElementsByName('modal-ex-cost-type'); + const updateSelects = () => { + const node = [...document.getElementsByName('modal-ex-cost-type')].find(r=>r.checked); + const ct = node ? node.value : '个人费用'; + const selType = document.getElementById('modal-ex-type'); + const selSubject = document.getElementById('modal-ex-subject'); + if (selType) selType.innerHTML = optionsHtmlFromTypes(selType.value || null, ct); + if (selSubject) selSubject.innerHTML = optionsHtmlFromSubjects(selSubject.value || null, ct); + }; + radios.forEach && radios.forEach(r => { r.addEventListener('change', updateSelects) }); + updateSelects(); + } +} +function closeModal() { + const modalOverlay = document.getElementById('expense-modal-overlay'); + modalOverlay.classList.remove('active'); + currentModalType = ''; + currentModalAction = ''; + currentModalId = null; +} +function generateModalForm(type, action) { + const isView = action === 'view'; + const readonly = isView ? 'readonly' : ''; + const disabled = isView ? 'disabled' : ''; + if (type === 'expense') { + const filterNode = [...document.getElementsByName('filter-cost-type')].find(r=>r.checked); + let defaultCostType = filterNode ? filterNode.value : '全部'; + if (defaultCostType === '全部') defaultCostType = '个人费用'; + return ` +
    +
    + + +
    +
    + +
    + + + +
    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + +
    + + +
    +
    +
    + +
    + + +
    +
    +
    + `; + } else if (type === 'cfgType') { + const filterNode = [...document.getElementsByName('maint-cost-type')].find(r=>r.checked); + let defaultCostType = filterNode ? filterNode.value : '全部'; + if (defaultCostType === '全部') defaultCostType = '个人费用'; + return ` +
    +
    + + +
    +
    + +
    + + + +
    +
    +
    + `; + } else if (type === 'cfgSubject') { + const filterNode = [...document.getElementsByName('maint-cost-type')].find(r=>r.checked); + let defaultCostType = filterNode ? filterNode.value : '全部'; + if (defaultCostType === '全部') defaultCostType = '个人费用'; + return ` +
    +
    + + +
    +
    + +
    + + + +
    +
    +
    + `; + } + return '

    未知类型

    '; +} +function generateModalButtons(type, action) { + const isView = action === 'view'; + if (isView) return ``; + return ` + + + `; +} +function fillModalForm(type, id) { + if (type === 'cfgType') { + const row = expenseTypes.find(x=>x.id===id); + if (!row) return; + document.getElementById('modal-cfg-type-name').value = row.name || ''; + const rs = document.getElementsByName('modal-cfg-type-cost'); + rs.forEach && rs.forEach(r => { r.checked = (r.value === (row.cost_type||'个人费用')) }); + return; + } + if (type === 'cfgSubject') { + const row = expenseSubjects.find(x=>x.id===id); + if (!row) return; + document.getElementById('modal-cfg-subject-name').value = row.name || ''; + const rs = document.getElementsByName('modal-cfg-subject-cost'); + rs.forEach && rs.forEach(r => { r.checked = (r.value === (row.cost_type||'个人费用')) }); + return; + } + const row = expenseCache.find(x=>x.id===id); + if (!row) return; + const costTypeRadios = document.getElementsByName('modal-ex-cost-type'); + if (costTypeRadios) costTypeRadios.forEach(r => { r.checked = (r.value === (row.cost_type||'个人费用')) }); + const selType = document.getElementById('modal-ex-type'); + const selSubject = document.getElementById('modal-ex-subject'); + if (selType) selType.innerHTML = optionsHtmlFromTypes(row.type || null, row.cost_type || '个人费用'); + if (selSubject) selSubject.innerHTML = optionsHtmlFromSubjects(row.subject || null, row.cost_type || '个人费用'); + document.getElementById('modal-ex-date').value = row.date || ''; + document.getElementById('modal-ex-type').value = row.type || (expenseTypes[0]&&expenseTypes[0].name)||''; + document.getElementById('modal-ex-amount').value = (row.amount||0); + document.getElementById('modal-ex-subject').value = row.subject || (expenseSubjects[0]&&expenseSubjects[0].name)||''; + document.getElementById('modal-ex-content').value = row.content || ''; + const radios = document.getElementsByName('modal-ex-arrived'); + radios.forEach && radios.forEach(r => { r.checked = (r.value === (row.arrived ? '1' : '0')) }); + renderAttachmentList(id); +} +function getModalFormData() { + const arrivedNode = [...document.getElementsByName('modal-ex-arrived')].find(r=>r.checked); + const costTypeNode = [...document.getElementsByName('modal-ex-cost-type')].find(r=>r.checked); + return { + date: document.getElementById('modal-ex-date').value, + cost_type: costTypeNode ? costTypeNode.value : '个人费用', + type: document.getElementById('modal-ex-type').value, + amount: parseFloat(document.getElementById('modal-ex-amount').value || '0'), + subject: document.getElementById('modal-ex-subject').value, + content: document.getElementById('modal-ex-content').value.trim(), + arrived: arrivedNode ? arrivedNode.value === '1' : true + }; +} + +function validateExpenseRequired() { + const date = (document.getElementById('modal-ex-date').value||'').trim(); + const costTypeNode = [...document.getElementsByName('modal-ex-cost-type')].find(r=>r.checked); + const type = (document.getElementById('modal-ex-type').value||'').trim(); + const amountStr = (document.getElementById('modal-ex-amount').value||'').trim(); + const subject = (document.getElementById('modal-ex-subject').value||'').trim(); + const content = (document.getElementById('modal-ex-content').value||'').trim(); + const arrivedNode = [...document.getElementsByName('modal-ex-arrived')].find(r=>r.checked); + const missing = []; + if (!date) missing.push('报销日期'); + if (!costTypeNode) missing.push('费用类型'); + if (!type) missing.push('报销类型'); + if (amountStr === '') missing.push('报销金额'); + if (!subject) missing.push('报销主体'); + if (!content) missing.push('报销内容'); + if (!arrivedNode) missing.push('是否到账'); + return missing; +} +async function renderAttachmentList(expenseId) { + const box = document.getElementById('modal-ex-att-list'); + if (!box) return; + try { + const rows = await loadAttachments(expenseId); + box.innerHTML = rows.map(a => ` + + `).join(''); + } catch { + box.textContent = '附件加载失败'; + } +} +function handleDeleteAttachment(id, expenseId) { + showConfirm('确认删除该附件?', async () => { + try { await deleteAttachment(id); await renderAttachmentList(expenseId); showStatus('附件已删除'); hideStatusSoon(); } catch { showStatus('附件删除失败'); hideStatusSoon(); } + }); +} +async function uploadSelectedFiles(expenseId, useLog=false) { + const input = document.getElementById('modal-ex-files'); + if (!input || !input.files || input.files.length === 0) return; + const files = Array.from(input.files); + const abToBase64 = (ab) => { + const bytes = new Uint8Array(ab); + const chunkSize = 0x2000; + let binary = ''; + for (let i = 0; i < bytes.length; i += chunkSize) { + const sub = bytes.subarray(i, i + chunkSize); + binary += String.fromCharCode.apply(null, sub); + } + return btoa(binary); + }; + for (const f of files) { + try { + if (useLog) appendLog(`正在上传附件: ${f.name} (${Math.ceil(f.size/1024)}KB)...`); + const fileKey = `${expenseId}-${Date.now()}-${Math.random().toString(36).slice(2,7)}`; + const chunkSize = 5 * 1024 * 1024; + const totalChunks = Math.ceil(f.size / chunkSize); + for (let i = 0; i < totalChunks; i++) { + const start = i * chunkSize; + const end = Math.min(start + chunkSize, f.size); + const blob = f.slice(start, end); + const buf = await blob.arrayBuffer(); + const b64 = abToBase64(buf); + await apiSendJson('/api/expense/attachments/chunk', { + file_key: fileKey, + filename: f.name, + size: f.size, + mime: f.type || '', + chunk_index: i, + total_chunks: totalChunks, + data_base64: b64 + }, 'POST'); + } + const d = await apiSendJson('/api/expense/attachments/commit', { + file_key: fileKey, + filename: f.name, + size: f.size, + mime: f.type || '', + total_chunks: totalChunks, + expense_id: expenseId + }, 'POST'); + if (useLog) appendLog(`附件上传成功: ${f.name}`); + else { showStatus(`附件已上传:${f.name}`); hideStatusSoon(); } + await renderAttachmentList(expenseId); + } catch (e) { + if (useLog) appendLog(`附件上传失败: ${f.name} - ${e.message}`, true); + else { showStatus(`附件上传失败:${f.name}`); hideStatusSoon(); } + if (useLog) throw e; + } + } + await renderAttachmentList(expenseId); + input.value = ''; +} +async function handleModalSubmit(e) { + e.preventDefault(); + const btn = e && e.target && e.target.querySelector('button[type="submit"]'); + if (btn) btn.disabled = true; + const action = currentModalAction; + const type = currentModalType || 'expense'; + const idToProcess = currentModalId; // Store ID before closing modal + if (type === 'expense') { + const missing = validateExpenseRequired(); + if (missing.length) { + showStatus(`以下字段不能为空:${missing.join('、')}`); + hideStatusSoon(); + if (btn) btn.disabled = false; + return false; + } + } + closeModal(); + showLoading(`${action==='add'?'新增':'保存'}中...`); + + try { + if (type === 'expense') { + const payload = getModalFormData(); + appendLog(`准备提交数据...`); + + let id = idToProcess; + if (action === 'add') { + appendLog(`正在创建本地记录...`); + const resp = await apiSendJson('/api/expense/records', payload, 'POST'); + id = resp && resp.id ? resp.id : nextId(); + appendLog(`本地记录创建成功, ID: ${id}`); + } else if (action === 'edit') { + appendLog(`正在更新本地记录 ID: ${id}...`); + await apiSendJson(`/api/expense/records/${id}`, payload, 'PUT'); + appendLog(`本地记录更新成功`); + } + + const row = { id, ...payload }; + + const fileInput = document.getElementById('modal-ex-files'); + if (fileInput && fileInput.files && fileInput.files.length > 0) { + appendLog(`开始处理附件 (${fileInput.files.length} 个)...`); + await uploadSelectedFiles(id, true); + } + + appendLog(`正在同步至周报系统...`); + try { + await syncWeeklyEvent(action === 'add' ? 'add' : 'edit', row, true); + } catch (e) { + appendLog(`⚠️ 同步警告: ${e.message}`); + // Don't throw, just warn + } + + appendLog(`刷新列表...`); + try { + await loadExpenses(); + } catch (e) { + appendLog(`⚠️ 列表刷新失败: ${e.message}`); + } + finishLoading(true, null, 3000); + + } else if (type === 'cfgType') { + const name = (document.getElementById('modal-cfg-type-name').value||'').trim(); + if (!name) { showStatus('请填写类型名称'); hideStatusSoon(); closeLoading(); return } + const ctNode = [...document.getElementsByName('modal-cfg-type-cost')].find(r=>r.checked); + const costType = ctNode ? ctNode.value : '个人费用'; + appendLog(`保存类型: ${name} (${costType})...`); + + if (action === 'add') { + await createType(name, costType); + } else if (action === 'edit') { + const id = idToProcess; + await updateType(id, name, costType); + } + await loadConfig(); + renderConfigLists(); + finishLoading(true, null, 3000); + } else if (type === 'cfgSubject') { + const name = (document.getElementById('modal-cfg-subject-name').value||'').trim(); + if (!name) { showStatus('请填写主体名称'); hideStatusSoon(); closeLoading(); return } + const ctNode = [...document.getElementsByName('modal-cfg-subject-cost')].find(r=>r.checked); + const costType = ctNode ? ctNode.value : '个人费用'; + appendLog(`保存主体: ${name} (${costType})...`); + + if (action === 'add') { + await createSubject(name, costType); + } else if (action === 'edit') { + const id = idToProcess; + await updateSubject(id, name, costType); + } + await loadConfig(); + renderConfigLists(); + finishLoading(true, null, 3000); + } + } catch (e) { + console.error(e); + appendLog(`操作失败: ${e.message}`, true); + finishLoading(false, e.message); + } finally { + if (btn) btn.disabled = false; + } +} + +function renderConfigLists() { + const tBody = document.getElementById('cfg-type-body'); + const sBody = document.getElementById('cfg-subject-body'); + const node = [...document.getElementsByName('maint-cost-type')].find(r=>r.checked); + const val = node ? node.value : '全部'; + if (tBody) { + tBody.innerHTML = ''; + expenseTypes.filter(r => (val === '全部') ? true : ((r.cost_type || '个人费用') === val)).forEach(r => { + const tr = document.createElement('tr'); + const td1 = document.createElement('td'); td1.textContent = r.name || ''; + const tdCost = document.createElement('td'); tdCost.textContent = r.cost_type || '个人费用'; + const td2 = document.createElement('td'); td2.className='col-actions'; + const edit = document.createElement('button'); edit.className='action-btn edit'; edit.title='修改'; edit.textContent='✎'; edit.addEventListener('click', ()=>openModal('cfgType','edit', r.id)); + const del = document.createElement('button'); del.className='action-btn delete'; del.title='删除'; del.textContent='🗑'; del.addEventListener('click', ()=>{ showConfirm('确认删除该类型及其相关报销记录?', async () => { del.disabled = true; try { await apiSendJson(`/api/expense/types/${r.id}`, {}, 'DELETE'); await loadConfig(); await loadExpenses(); renderConfigLists(); showStatus('类型已删除'); hideStatusSoon(); } catch { showStatus('删除失败'); hideStatusSoon(); } finally { del.disabled = false } }); }); + td2.appendChild(edit); + td2.appendChild(del); + tr.appendChild(td1); tr.appendChild(tdCost); tr.appendChild(td2); + tBody.appendChild(tr); + }); + } + if (sBody) { + sBody.innerHTML = ''; + expenseSubjects.filter(r => (val === '全部') ? true : ((r.cost_type || '个人费用') === val)).forEach(r => { + const tr = document.createElement('tr'); + const td1 = document.createElement('td'); td1.textContent = r.name || ''; + const tdCost = document.createElement('td'); tdCost.textContent = r.cost_type || '个人费用'; + const td2 = document.createElement('td'); td2.className='col-actions'; + const edit = document.createElement('button'); edit.className='action-btn edit'; edit.title='修改'; edit.textContent='✎'; edit.addEventListener('click', ()=>openModal('cfgSubject','edit', r.id)); + const del = document.createElement('button'); del.className='action-btn delete'; del.title='删除'; del.textContent='🗑'; del.addEventListener('click', ()=>{ showConfirm('确认删除该主体及其相关报销记录?', async () => { del.disabled = true; try { await apiSendJson(`/api/expense/subjects/${r.id}`, {}, 'DELETE'); await loadConfig(); await loadExpenses(); renderConfigLists(); showStatus('主体已删除'); hideStatusSoon(); } catch { showStatus('删除失败'); hideStatusSoon(); } finally { del.disabled = false } }); }); + td2.appendChild(edit); + td2.appendChild(del); + tr.appendChild(td1); tr.appendChild(tdCost); tr.appendChild(td2); + sBody.appendChild(tr); + }); + } +} + +function switchTab(name) { + const tabs = ['expense','maint','stat']; + tabs.forEach(t => { + const tb = document.getElementById(`tab-${t}`); + const pn = document.getElementById(`panel-${t}`); + if (tb) tb.classList.remove('active'); + if (pn) pn.style.display='none'; + }); + const tb = document.getElementById(`tab-${name}`); + const pn = document.getElementById(`panel-${name}`); + if (tb) tb.classList.add('active'); + if (pn) pn.style.display=''; + const fs=document.getElementById('font-size-toggle'); + if (pn && fs) pn.appendChild(fs); +} + +const WEEKLY_ENDPOINT_DEFAULT = 'http://traesite.umersoft.com:8975/api/weekly/ext/expense'; +const WEEKLY_DEFAULT_KEY = '93220'; +const WEEKLY_DEFAULT_SOURCE = 'expense'; +function getWeeklyConfig() { + // Priority: 1. Server Config (global), 2. LocalStorage, 3. Default Constant + let endpoint = ''; + + if (window.EXPENSE_SYS_CONFIG && window.EXPENSE_SYS_CONFIG.weekly_api_url) { + endpoint = window.EXPENSE_SYS_CONFIG.weekly_api_url; + } else { + endpoint = localStorage.getItem('expense_weekly_endpoint'); + } + + // Auto-fix: always force upgrade to new expense endpoint if it points to the old generic event endpoint + const oldDefault = 'http://traesite.umersoft.com:8975/api/weekly/ext/event'; + const oldDefault2 = 'http://traesite.umersoft.com:8975/api/weekly/ext/expense'; // Also catch the dead link + + if (!endpoint || endpoint === oldDefault || endpoint === oldDefault2 || endpoint.includes('/api/weekly/ext/event')) { + // If server config is available, use it as default, otherwise fallback to WEEKLY_ENDPOINT_DEFAULT (which might be old, so be careful) + // Actually WEEKLY_ENDPOINT_DEFAULT in code is the old one 'http://traesite.umersoft.com:8975/api/weekly/ext/expense' which is now dead. + // We should update the hardcoded default too, or rely on sys config. + // Let's rely on sys config if possible, or a new hardcoded IP if needed. + // For now, if we have sys config, we use it. If not, we use the one in localStorage or default. + + if (window.EXPENSE_SYS_CONFIG && window.EXPENSE_SYS_CONFIG.weekly_api_url) { + endpoint = window.EXPENSE_SYS_CONFIG.weekly_api_url; + } else { + // If no sys config, we might be in trouble if default is dead. + // But user only asked to read from json. + endpoint = WEEKLY_ENDPOINT_DEFAULT; + } + localStorage.setItem('expense_weekly_endpoint', endpoint); + } + + const key = localStorage.getItem('expense_weekly_key') || WEEKLY_DEFAULT_KEY; + const source = localStorage.getItem('expense_weekly_source') || WEEKLY_DEFAULT_SOURCE; + return { endpoint, key, source }; +} +function buildExpenseHTMLTable() { + const escape = s => String(s||'').replace(/&/g,'&').replace(//g,'>'); + const rows = expenseCache.map(r=>` + + ${escape(r.date||'')} + ${escape(r.cost_type||'')} + ${escape(r.type||'')} + ${fmtAmount(r.amount||0)} + ${escape(r.subject||'')} + ${escape(r.content||'')} + ${r.arrived?'已到账':'未到账'} + + `).join(''); + return `${rows}
    报销日期费用类型报销类型报销金额报销主体报销内容是否到账
    `; +} +function buildSingleExpenseHTMLTable(r) { + const escape = s => String(s||'').replace(/&/g,'&').replace(//g,'>'); + const rowHtml = ` + + ${escape(r.date||'')} + ${escape(r.cost_type||'')} + ${escape(r.type||'')} + ${fmtAmount(r.amount||0)} + ${escape(r.subject||'')} + ${escape(r.content||'')} + ${r.arrived?'已到账':'未到账'} + + `; + return `${rowHtml}
    报销日期费用类型报销类型报销金额报销主体报销内容是否到账
    `; +} +async function buildExpenseHTMLTableFresh() { + const escape = s => String(s||'').replace(/&/g,'&').replace(//g,'>'); + const d = await apiGetJson(`/api/expense/records?t=${Date.now()}`); + const list = Array.isArray(d.rows) ? d.rows : []; + const rows = list.map(r=>` + + ${escape(r.date||'')} + ${escape(r.cost_type||'')} + ${escape(r.type||'')} + ${fmtAmount(r.amount||0)} + ${escape(r.subject||'')} + ${escape(r.content||'')} + ${r.arrived?'已到账':'未到账'} + + `).join(''); + return `${rows}
    报销日期费用类型报销类型报销金额报销主体报销内容是否到账
    `; +} +async function postWeekly(payload) { + // Use backend proxy to avoid CORS issues + // The backend will read target URL from expense.json + const proxyEndpoint = '/api/expense/proxy/weekly'; + const r = await fetch(proxyEndpoint, { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify(payload) }); + let d=null; + try { d = await r.json() } catch { d = { ok:false, error:'invalid_json' } } + if (!r.ok) throw new Error(d && d.error ? d.error : ('http_'+r.status)); + if (d && d.ok===false) throw new Error(d.error||'unknown_error'); + return d; +} +async function syncWeeklyEvent(action, row, useLog=false) { + const { endpoint, key, source } = getWeeklyConfig(); + if (useLog) appendLog(`同步目标(代理转发): ${endpoint}`); + const external_id = `EXP-${row.id}`; + if (action === 'delete') { + const payload = { key, source, external_id, action:'delete' }; + const d = await postWeekly(payload); + if (useLog) appendLog(`周报已同步删除`); + else { showStatus('周报已同步删除'); hideStatusSoon(); } + return d; + } else { + const status_code = row.arrived ? 'done' : 'doing'; + const status_label = row.arrived ? '已到账' : '进行中'; + const title = `报销·${row.subject||''}·${row.type||''}`; + if (useLog) appendLog(`生成报销表格...`); + const content = buildSingleExpenseHTMLTable(row); + const date = row.date || ''; + const deadline = date ? `${date} 18:00` : ''; + const payload = { key, source, external_id, title, content, status_code, status_label, date, deadline }; + if (useLog) appendLog(`发送同步请求...`); + const d = await postWeekly(payload); + if (useLog) appendLog(action==='add'?'周报已同步新增':'周报已同步更新'); + else { showStatus(action==='add'?'周报已同步新增':'周报已同步更新'); hideStatusSoon(); } + return d; + } +} + +function fmtYuan(n) { + return (Number(n||0)).toLocaleString('zh-CN', { minimumFractionDigits:2, maximumFractionDigits:2 }); +} +async function refreshStats() { + try { + const start = document.getElementById('stat-start').value || ''; + const end = document.getElementById('stat-end').value || ''; + const q = `?start=${encodeURIComponent(start)}&end=${encodeURIComponent(end)}`; + const summary = await apiGetJson(`/api/expense/stats/summary${q}`); + const byCostType = await apiGetJson(`/api/expense/stats/by-cost-type${q}`); + const byType = await apiGetJson(`/api/expense/stats/by-type${q}`); + const bySubject = await apiGetJson(`/api/expense/stats/by-subject${q}`); + const monthly = await apiGetJson(`/api/expense/stats/monthly${q}`); + const box = document.getElementById('stat-summary'); + if (box && summary && summary.summary) { + const s = summary.summary; + box.innerHTML = ` +
    +
    总金额:${fmtYuan(s.total_amount)} 元
    +
    已到账:${fmtYuan(s.arrived_amount)} 元(${s.arrived_count} 条)
    +
    未到账:${fmtYuan(s.pending_amount)} 元(${s.pending_count} 条)
    +
    期间:${s.start} ~ ${s.end}
    +
    + `; + } + const cBody = document.getElementById('stat-cost-type-body'); + const tBody = document.getElementById('stat-type-body'); + const sBody = document.getElementById('stat-subject-body'); + const mBody = document.getElementById('stat-monthly-body'); + if (cBody) { + cBody.innerHTML = (byCostType.rows||[]).map(r => ` + ${htmlEscape(r.cost_type||'')}${fmtYuan(r.amount)}${fmtYuan(r.amount_arrived)}${fmtYuan(r.amount_pending)}${r.count||0} + `).join(''); + } + if (tBody) { + tBody.innerHTML = (byType.rows||[]).map(r => ` + ${htmlEscape(r.type||'')}${fmtYuan(r.amount)}${fmtYuan(r.amount_arrived)}${fmtYuan(r.amount_pending)}${r.count||0} + `).join(''); + } + if (sBody) { + sBody.innerHTML = (bySubject.rows||[]).map(r => ` + ${htmlEscape(r.subject||'')}${fmtYuan(r.amount)}${fmtYuan(r.amount_arrived)}${fmtYuan(r.amount_pending)}${r.count||0} + `).join(''); + } + if (mBody) { + mBody.innerHTML = (monthly.rows||[]).map(r => ` + ${htmlEscape(r.month||'')}${fmtYuan(r.amount)}${fmtYuan(r.amount_arrived)}${fmtYuan(r.amount_pending)}${r.count||0} + `).join(''); + } + } catch (e) { + showStatus('统计加载失败'); hideStatusSoon(); + } +} +// 初始化 +async function initExpense() { + try { + const activeTab = document.querySelector('.tab.active'); + if (activeTab && activeTab.id !== 'tab-expense') activeTab.classList.remove('active'); + const panel = document.getElementById('panel-expense'); if (panel) panel.style.display=''; + + const bcp=document.getElementById('ed-btn-copy'); if (bcp) bcp.addEventListener('click', async ()=>{ try { await navigator.clipboard.writeText(out().textContent||'') } catch {} }); + const brf=document.getElementById('ed-btn-refresh'); if (brf) brf.addEventListener('click', async ()=>{ out().textContent=''; logLocal('刷新'); }); + const bcl=document.getElementById('ed-btn-clear'); if (bcl) bcl.addEventListener('click', ()=>{ out().textContent='' }); + + document.getElementById('tab-expense').addEventListener('click', ()=>switchTab('expense')); + document.getElementById('tab-maint').addEventListener('click', ()=>switchTab('maint')); + const tabStat = document.getElementById('tab-stat'); if (tabStat) tabStat.addEventListener('click', ()=>switchTab('stat')); + + switchTab('expense'); + + await loadConfig(); + renderConfigLists(); + await loadExpenses(); + applyGridFontMode(); + + const btnStat = document.getElementById('stat-refresh'); + if (btnStat) btnStat.addEventListener('click', refreshStats); + const btnRecordsExport = document.getElementById('records-export'); + if (btnRecordsExport) btnRecordsExport.addEventListener('click', ()=>{ try { window.open('/api/expense/export.csv','_blank') } catch {} }); + const btnStatsExport = document.getElementById('stats-export'); + if (btnStatsExport) btnStatsExport.addEventListener('click', ()=>{ const start = document.getElementById('stat-start').value||''; const end = document.getElementById('stat-end').value||''; const q = `?start=${encodeURIComponent(start)}&end=${encodeURIComponent(end)}`; try { window.open(`/api/expense/stats/export.csv${q}`,'_blank') } catch {} }); + const today = new Date(); + const pad = n => String(n).padStart(2,'0'); + const startDefault = new Date(today.getFullYear(), today.getMonth(), 1); + const endDefault = new Date(today.getFullYear(), today.getMonth()+1, 0); + const fmt = d => `${d.getFullYear()}-${pad(d.getMonth()+1)}-${pad(d.getDate())}`; + const statStart = document.getElementById('stat-start'); + const statEnd = document.getElementById('stat-end'); + if (statStart && !statStart.value) statStart.value = fmt(startDefault); + if (statEnd && !statEnd.value) statEnd.value = fmt(endDefault); + await refreshStats(); + } catch (e) { + logLocal('init error: '+(e&&e.message||e)); + } +} +if (document.readyState === 'loading') { + document.addEventListener('DOMContentLoaded', initExpense); +} else { + initExpense(); +} diff --git a/public/tools/expense/index.html b/public/tools/expense/index.html new file mode 100644 index 0000000..29406ae --- /dev/null +++ b/public/tools/expense/index.html @@ -0,0 +1,210 @@ + + + + + + 报销系统 + + + + + + + +
    +
    +
    +

    报销系统

    +
    +
    + + + +
    +
    +
    + + +
    +
    + +
    +
    + + + +
    +
    + +
    + + + + +
    +
    + +
    +
    + + + + + + + + + + + + + + +
    报销日期 🔻🔺费用类型 🔻🔺报销类型 🔻🔺报销金额 🔻🔺报销主体 🔻🔺报销内容 🔻🔺是否到账 🔻🔺操作
    +
    +
    + + + + + +
    +
    +
    +

    模态框标题

    + +
    +
    + +
    +
    + +
    +
    +
    +

    加载中

    + +
    +
    +
    +
    +

    正在处理...

    +
    +
    +
    +
    +
    + + + +
    +
    +
    + + + + + diff --git a/public/tools/expense/theme/components.css b/public/tools/expense/theme/components.css new file mode 100644 index 0000000..6b82ed6 --- /dev/null +++ b/public/tools/expense/theme/components.css @@ -0,0 +1,31 @@ +body.theme-expense { background: var(--color-bg) } +body.theme-expense .container { color: var(--color-text) } +body.theme-expense h2 { color: var(--color-text) } +body.theme-expense .panel.card { background: var(--color-card); border: 1px solid var(--color-border); border-radius: var(--radius); box-shadow: var(--shadow); padding: var(--gap) } +body.theme-expense .expense-layout { display: grid; grid-template-columns: 1fr; gap: var(--gap) } +/* 顶部胶囊标签 */ +body.theme-expense .expense-tabs .tabs { display:flex; gap:10px; padding:0 } +body.theme-expense .expense-tabs .tab { display:flex; align-items:center; gap:8px; padding:10px 20px; border-radius:999px; font-size:14px; font-weight:500; cursor:pointer; user-select:none; transition: all .3s cubic-bezier(0.4,0,0.2,1); position:relative; overflow:hidden; backdrop-filter: blur(8px) } +/* 暗黑 */ +body.theme-expense[data-theme="dark"] .expense-tabs .tab { background: rgba(17,24,39,0.8); border:1px solid rgba(31,41,55,0.5); color:#cbd5e1; box-shadow: 0 2px 6px rgba(0,0,0,0.1), inset 0 1px 0 rgba(255,255,255,0.05) } +body.theme-expense[data-theme="dark"] .expense-tabs .tab:hover { background: rgba(26,35,52,0.6); border-color: rgba(51,65,85,0.5); transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.15), inset 0 1px 0 rgba(255,255,255,0.10) } +body.theme-expense[data-theme="dark"] .expense-tabs .tab.active { background: rgba(37,99,235,0.20); border-color: rgba(59,130,246,0.5); color:#fff; box-shadow: 0 8px 24px rgba(37,99,235,0.25) } +/* 明亮 */ +body.theme-expense[data-theme="light"] .expense-tabs .tab { background: #ffffff; border:1px solid var(--color-border); color: var(--color-text); box-shadow: 0 2px 6px rgba(0,0,0,0.06) } +body.theme-expense[data-theme="light"] .expense-tabs .tab:hover { background: #f8fafc; border-color: var(--color-border); transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.08) } +body.theme-expense[data-theme="light"] .expense-tabs .tab.active { background: rgba(37,99,235,0.12); border-color: var(--color-primary); color: var(--color-text); box-shadow: 0 8px 24px rgba(37,99,235,0.15) } +@media (max-width: 768px) { body.theme-expense .expense-tabs .tabs { flex-wrap: wrap; justify-content: center; gap:8px; padding:6px } body.theme-expense .expense-tabs .tab { padding:8px 16px; font-size:13px } } +/* 表格卡片 */ +body.theme-expense .list-card { background: var(--table-bg); border: 1px solid var(--table-border); border-radius: var(--table-radius); overflow: hidden; box-shadow: var(--shadow-sm) } +body.theme-expense .grid { width: 100%; border-collapse: collapse; background: var(--table-bg) } +body.theme-expense .grid thead { background: var(--table-header-bg); position: sticky; top: 0 } +body.theme-expense .grid th { padding: 10px 12px; text-align: left; font-weight: 600; font-size: inherit; color: var(--text-primary); border-bottom: 2px solid var(--table-border) } +body.theme-expense .grid td { padding: 10px 12px; border-bottom: 1px solid var(--table-border); color: var(--color-text); font-size: inherit; transition: all .2s ease } +body.theme-expense .grid tbody tr:nth-child(odd) { background: var(--table-row-odd) } +body.theme-expense .grid tbody tr:nth-child(even) { background: var(--table-row-even) } +body.theme-expense .grid tbody tr:hover { background: var(--table-row-hover); color: var(--table-text-hover) } +/* 导航显示控制 */ +body.theme-expense:not(.nav-visible) #topbar { display: none } +/* 头部图标样式(与云产品一致) */ +body.theme-expense[data-theme="dark"] .icon-toggle, body.theme-expense[data-theme="dark"] .icon-theme { border-color: var(--color-border) } +body.theme-expense[data-theme="light"] .icon-toggle, body.theme-expense[data-theme="light"] .icon-theme { border-color: var(--color-border) } diff --git a/public/tools/expense/theme/script.js b/public/tools/expense/theme/script.js new file mode 100644 index 0000000..fbc66ed --- /dev/null +++ b/public/tools/expense/theme/script.js @@ -0,0 +1,40 @@ +;(function(){ + const ExpenseTheme = { + init(){ + this.observeList() + this.initNavToggle() + this.initThemeToggle() + }, + observeList(){ + const el=document.getElementById('ex-body') + if(!el) return + const mo=new MutationObserver(muts=>{ + muts.forEach(m=>{ + m.addedNodes.forEach(n=>{ if(n.nodeType===1) n.classList.add('fade-in') }) + }) + }) + mo.observe(el,{childList:true}) + }, + initNavToggle(){ + const key='expense_nav_visible' + const btn=document.getElementById('expense-toggle-nav') + const eye=`` + const setVisible=(v)=>{ document.body.classList.toggle('nav-visible', !!v); if(btn) { btn.setAttribute('aria-pressed', v?'true':'false'); btn.title=v?'隐藏导航':'显示导航'; btn.innerHTML=eye } } + const initVal=localStorage.getItem(key)==='1' + setVisible(initVal) + if(btn) btn.addEventListener('click',()=>{ const cur=document.body.classList.contains('nav-visible'); const next=!cur; localStorage.setItem(key, next?'1':'0'); setVisible(next) }) + }, + initThemeToggle(){ + const key='expense_theme' + const btn=document.getElementById('expense-toggle-theme') + const moon=`` + const sun=`` + const apply=(mode)=>{ document.body.setAttribute('data-theme', mode); if(btn) btn.innerHTML=mode==='dark'?moon:sun } + const init=localStorage.getItem(key) || 'dark' + apply(init) + if(btn) btn.addEventListener('click',()=>{ const cur=document.body.getAttribute('data-theme')||'dark'; const next=cur==='dark'?'light':'dark'; localStorage.setItem(key,next); apply(next) }) + } + } + window.ExpenseTheme=ExpenseTheme + if(document.body && document.body.classList.contains('theme-expense')) { ExpenseTheme.init() } +})(); diff --git a/public/tools/expense/theme/tokens.css b/public/tools/expense/theme/tokens.css new file mode 100644 index 0000000..161976d --- /dev/null +++ b/public/tools/expense/theme/tokens.css @@ -0,0 +1,6 @@ +body.theme-expense { --radius:12px; --shadow:0 6px 20px rgba(0,0,0,0.35); --gap:12px; --shadow-sm:0 2px 8px rgba(0,0,0,0.1); --shadow-md:0 4px 12px rgba(0,0,0,0.15); --shadow-lg:0 8px 24px rgba(0,0,0,0.2); --glow:0 0 0 3px rgba(59,130,246,0.2) } +body.theme-expense[data-theme="dark"] { --color-bg:#0b1220; --color-card:#111827; --color-border:#1f2937; --color-text:#cbd5e1; --color-muted:#64748b; --color-primary:#2563eb; --color-primary-2:#1d4ed8; --color-accent:#10b981 } +body.theme-expense[data-theme="light"] { --color-bg:#f3f4f6; --color-card:#ffffff; --color-border:#e5e7eb; --color-text:#0f172a; --color-muted:#475569; --color-primary:#2563eb; --color-primary-2:#1d4ed8; --color-accent:#059669 } +/* table palette */ +body.theme-expense[data-theme="dark"] { --table-bg:#1e293b; --table-border:#334155; --table-radius:8px; --table-row-odd:#1a2536; --table-row-even:#1e293b; --table-header-bg:#0f172a; --table-row-hover:#2d3748; --table-text-hover:#ffffff; --text-primary:var(--color-text) } +body.theme-expense[data-theme="light"] { --table-bg:#ffffff; --table-border:#e2e8f0; --table-radius:8px; --table-row-odd:#f8fafc; --table-row-even:#ffffff; --table-header-bg:#f1f5f9; --table-row-hover:#f1f5f9; --table-text-hover:#1e293b; --text-primary:var(--color-text) } diff --git a/public/tools/fitness_diary/app.js b/public/tools/fitness_diary/app.js new file mode 100644 index 0000000..fc6dc19 --- /dev/null +++ b/public/tools/fitness_diary/app.js @@ -0,0 +1,1288 @@ +const API_BASE = '/api/fitness_diary'; + +const clearUrlQuery = () => { + try { + const cleanUrl = `${window.location.origin}${window.location.pathname}${window.location.hash || ''}`; + window.history.replaceState({}, '', cleanUrl); + } catch {} +}; + +// State +let state = { + types: [], + dailyPlans: [], + records: [], + filterStart: '', + filterEnd: '', + statsStart: '', + statsEnd: '', + currentTab: 'records', + calYear: 0, + calMonth: 0 +}; + +// DOM Elements +const els = { + // Stats + statCalories: document.getElementById('stat-calories'), + statDuration: document.getElementById('stat-duration'), + statStand: document.getElementById('stat-stand'), + + // Filters + filterStart: document.getElementById('filter-start'), + filterEnd: document.getElementById('filter-end'), + btnFilter: document.getElementById('btn-filter'), + btnPrevWeek: document.getElementById('btn-prev-week'), + btnThisWeek: document.getElementById('btn-this-week'), + btnNextWeek: document.getElementById('btn-next-week'), + + // List + recordList: document.getElementById('record-list'), + + // Modal & Form + modal: document.getElementById('modal-form'), + btnAddModal: document.getElementById('btn-add-modal'), + btnCloseModal: document.getElementById('btn-close-modal'), + recordForm: document.getElementById('record-form'), + itemsContainer: document.getElementById('items-container'), + addItemBtn: document.getElementById('add-item-btn'), + dailyPlanSelect: document.getElementById('daily-plan-select'), + itemTemplate: document.getElementById('item-template') +}; + +// Helpers +function getWeekRange(date = new Date()) { + const day = date.getDay() || 7; // 1 (Mon) - 7 (Sun) + const start = new Date(date); + start.setDate(date.getDate() - day + 1); + const end = new Date(start); + end.setDate(start.getDate() + 6); + const fmt = d => `${d.getFullYear()}-${String(d.getMonth()+1).padStart(2,'0')}-${String(d.getDate()).padStart(2,'0')}`; + return { start: fmt(start), end: fmt(end) }; +} + +function naturalCompare(a, b) { + const na = String(a || ''); + const nb = String(b || ''); + const ra = /^\s*(\d+)/.exec(na); + const rb = /^\s*(\d+)/.exec(nb); + if (ra && rb) { + const diff = parseInt(ra[1],10) - parseInt(rb[1],10); + if (diff !== 0) return diff; + } else if (ra) return -1; else if (rb) return 1; + return na.localeCompare(nb, 'zh-CN', { numeric: true, sensitivity: 'base' }); +} + +function formatDate(dateStr) { + return dateStr.split('T')[0]; +} + +const WEEKLY_MUST_RULES = [ + { key: '轻断食', label: '轻断食', required: 2, keywords: ['轻断食'] }, + { key: '跑步日', label: '跑步日', required: 1, keywords: ['跑步日'] }, + { key: '高强组', label: '高强组', required: 1, keywords: ['高强组'] }, + { key: '家务清洁', label: '家务清洁', required: 1, keywords: ['家务清洁', '家务日'] } +]; + +function updateWeeklyMustWarning(records) { + const box = document.getElementById('weekly-must-warning'); + if (!box) return; + const counts = {}; + WEEKLY_MUST_RULES.forEach(r => { counts[r.key] = 0; }); + let hasHealthData = false; + + (records || []).forEach(r => { + if (r.diastolic_bp || r.systolic_bp || r.heart_rate || r.waist_circ || r.weight_kg) { + hasHealthData = true; + } + const name = String(r.plan_name || r.daily_plan || '').trim(); + if (!name) return; + WEEKLY_MUST_RULES.forEach(rule => { + const keywords = Array.isArray(rule.keywords) ? rule.keywords : [rule.key]; + if (keywords.some(k => name.includes(k))) counts[rule.key] += 1; + }); + }); + + const missing = WEEKLY_MUST_RULES.map(rule => { + const left = Math.max(0, rule.required - (counts[rule.key] || 0)); + return left > 0 ? `${left}次“${rule.label}”` : ''; + }).filter(Boolean); + + if (!hasHealthData) { + missing.push('1次“健康数据(血压/心率/腰围/体重)”'); + } + + if (missing.length) { + box.textContent = `❗本周尚缺${missing.join(',')}❗`; + box.style.display = ''; + } else { + box.textContent = ''; + box.style.display = 'none'; + } +} + +function showTab(tab) { + state.currentTab = tab; + document.querySelectorAll('.tab-btn').forEach(b => { + b.classList.toggle('active', b.dataset.tab === tab); + }); + document.querySelectorAll('.tab-content').forEach(s => { + s.classList.toggle('active', s.id === `section-${tab}`); + }); + if (tab === 'records') { + loadRecords(); + loadStats(); + } else if (tab === 'weekly') { + loadWeeklyProgress(); + } else if (tab === 'calendar') { + ensureCalendarInit(); + renderCalendar(); + } else if (tab === 'stats') { + renderStats(); + } else if (tab === 'screen') { + renderScreen(); + } else if (tab === 'settings') { + renderSettings(); + } +} + +function ensureCalendarInit() { + if (!state.calYear || !state.calMonth) { + const d = new Date(); + state.calYear = d.getFullYear(); + state.calMonth = d.getMonth() + 1; + } +} + +function monthLastDay(y, m) { + return new Date(y, m, 0).getDate(); +} + +function getMonthWeeks(y, m) { + const first = new Date(y, m - 1, 1); + const last = new Date(y, m, 0); + const days = []; + for (let d = 1; d <= last.getDate(); d++) { + const dt = new Date(y, m - 1, d); + days.push(dt); + } + const weeks = []; + let week = []; + for (let i = 0; i < days.length; i++) { + const d = days[i]; + if (week.length === 0) { + const w = (d.getDay() + 6) % 7; + for (let k = 0; k < w; k++) week.push(null); + } + week.push(d); + if (week.length === 7) { + weeks.push(week); + week = []; + } + } + if (week.length) { + while (week.length < 7) week.push(null); + weeks.push(week); + } + return weeks; +} + +// Waiting Box Helpers +function showWaitingBox(title, steps) { + const modal = document.getElementById('waiting-modal'); + const titleEl = document.getElementById('waiting-title'); + const stepsEl = document.getElementById('waiting-steps'); + + if (!modal || !titleEl || !stepsEl) return null; + + titleEl.textContent = title; + stepsEl.innerHTML = steps.map((step, index) => ` +
    +
    + ${step} +
    + `).join(''); + + modal.classList.add('active'); + + return { + updateStep: (index, status) => { + const el = document.getElementById(`waiting-step-${index}`); + if (el) { + el.className = `waiting-step ${status}`; + const icon = el.querySelector('.step-icon'); + if (status === 'done') icon.innerHTML = '✓'; + else if (status === 'error') icon.innerHTML = '×'; + else if (status === 'active') icon.innerHTML = '
    '; + else icon.innerHTML = '
    '; // pending + } + }, + close: () => modal.classList.remove('active') + }; +} + +// Init +async function init() { + const waitingBox = showWaitingBox('初始化运动日志工具...', [ + '设置默认周筛选条件...', + '绑定事件监听器...', + '加载运动类型...', + '加载每日计划...', + '显示记录标签...' + ]); + + try { + if (waitingBox) waitingBox.updateStep(0, 'active'); + // Set default filter to current week + const range = getWeekRange(); + state.filterStart = range.start; + state.filterEnd = range.end; + state.statsStart = range.start; + state.statsEnd = range.end; + + els.filterStart.value = state.filterStart; + els.filterEnd.value = state.filterEnd; + if (waitingBox) waitingBox.updateStep(0, 'done'); + + if (waitingBox) waitingBox.updateStep(1, 'active'); + // Bind Events + document.querySelectorAll('.tab-btn').forEach(b => { + b.addEventListener('click', () => showTab(b.dataset.tab)); + }); + els.btnFilter.addEventListener('click', async () => { + const waitingBox = showWaitingBox('加载数据...', ['加载记录...', '加载统计...']); + try { + if (waitingBox) waitingBox.updateStep(0, 'active'); + state.filterStart = els.filterStart.value; + state.filterEnd = els.filterEnd.value; + await loadRecords(); + if (waitingBox) waitingBox.updateStep(0, 'done'); + + if (waitingBox) waitingBox.updateStep(1, 'active'); + // Also update stats if user manually filters? + // Usually stats cards are "Weekly" but user might want to see stats for filter range. + // Let's update stats to match filter for better UX. + state.statsStart = state.filterStart; + state.statsEnd = state.filterEnd; + await loadStats(); + if (waitingBox) waitingBox.updateStep(1, 'done'); + } finally { + if (waitingBox) setTimeout(() => waitingBox.close(), 300); + } + }); + + els.btnThisWeek.addEventListener('click', () => setWeek(0)); + els.btnPrevWeek.addEventListener('click', () => setWeek(-1)); + els.btnNextWeek.addEventListener('click', () => setWeek(1)); + + els.btnAddModal.addEventListener('click', openModal); + els.btnCloseModal.addEventListener('click', closeModal); + + els.addItemBtn.addEventListener('click', () => addItemRow()); + els.recordForm.addEventListener('submit', handleSubmit); + + const btnPrevMonth = document.getElementById('btn-prev-month'); + const btnNextMonth = document.getElementById('btn-next-month'); + btnPrevMonth.addEventListener('click', () => { ensureCalendarInit(); state.calMonth -= 1; if (state.calMonth <= 0) { state.calMonth = 12; state.calYear -= 1; } renderCalendar(); }); + btnNextMonth.addEventListener('click', () => { ensureCalendarInit(); state.calMonth += 1; if (state.calMonth > 12) { state.calMonth = 1; state.calYear += 1; } renderCalendar(); }); + + const sStart = document.getElementById('stats-start'); + const sEnd = document.getElementById('stats-end'); + document.getElementById('btn-stats').addEventListener('click', () => { state.statsStart = sStart.value; state.statsEnd = sEnd.value; renderStats(); }); + document.getElementById('btn-export').addEventListener('click', () => { const ss = sStart.value; const ee = sEnd.value; if (!ss || !ee) return; window.location.href = `${API_BASE}/export?start=${ss}&end=${ee}`; }); + document.getElementById('s-prev-week').addEventListener('click', () => { + const base = sStart.value ? new Date(sStart.value) : new Date(); + base.setDate(base.getDate() - 7); + const rr = getWeekRange(base); + sStart.value = rr.start; sEnd.value = rr.end; state.statsStart = rr.start; state.statsEnd = rr.end; renderStats(); + }); + document.getElementById('s-this-week').addEventListener('click', () => { + const rr = getWeekRange(new Date()); + sStart.value = rr.start; sEnd.value = rr.end; state.statsStart = rr.start; state.statsEnd = rr.end; renderStats(); + }); + document.getElementById('s-next-week').addEventListener('click', () => { + const base = sStart.value ? new Date(sStart.value) : new Date(); + base.setDate(base.getDate() + 7); + const rr = getWeekRange(base); + sStart.value = rr.start; sEnd.value = rr.end; state.statsStart = rr.start; state.statsEnd = rr.end; renderStats(); + }); + document.getElementById('s-prev-month').addEventListener('click', () => { + const base = sStart.value ? new Date(sStart.value) : new Date(); + const first = new Date(base.getFullYear(), base.getMonth() - 1, 1); + const last = new Date(base.getFullYear(), base.getMonth(), 0); + const fmt = d => `${d.getFullYear()}-${String(d.getMonth()+1).padStart(2,'0')}-${String(d.getDate()).padStart(2,'0')}`; + sStart.value = fmt(first); sEnd.value = fmt(last); state.statsStart = fmt(first); state.statsEnd = fmt(last); renderStats(); + }); + document.getElementById('s-this-month').addEventListener('click', () => { + const t = new Date(); + const first = new Date(t.getFullYear(), t.getMonth(), 1); + const last = new Date(t.getFullYear(), t.getMonth() + 1, 0); + const fmt = d => `${d.getFullYear()}-${String(d.getMonth()+1).padStart(2,'0')}-${String(d.getDate()).padStart(2,'0')}`; + sStart.value = fmt(first); sEnd.value = fmt(last); state.statsStart = fmt(first); state.statsEnd = fmt(last); renderStats(); + }); + document.getElementById('s-next-month').addEventListener('click', () => { + const base = sStart.value ? new Date(sStart.value) : new Date(); + const first = new Date(base.getFullYear(), base.getMonth() + 1, 1); + const last = new Date(base.getFullYear(), base.getMonth() + 2, 0); + const fmt = d => `${d.getFullYear()}-${String(d.getMonth()+1).padStart(2,'0')}-${String(d.getDate()).padStart(2,'0')}`; + sStart.value = fmt(first); sEnd.value = fmt(last); state.statsStart = fmt(first); state.statsEnd = fmt(last); renderStats(); + }); + + document.getElementById('btn-close-detail').addEventListener('click', () => document.getElementById('record-detail-modal').classList.remove('active')); + document.getElementById('record-detail-modal').addEventListener('click', (e) => { if (e.target === document.getElementById('record-detail-modal')) document.getElementById('record-detail-modal').classList.remove('active'); }); + + if (waitingBox) waitingBox.updateStep(1, 'done'); + + if (waitingBox) waitingBox.updateStep(2, 'active'); + await loadTypes(); + if (waitingBox) waitingBox.updateStep(2, 'done'); + + if (waitingBox) waitingBox.updateStep(3, 'active'); + await loadDailyPlans(); + if (waitingBox) waitingBox.updateStep(3, 'done'); + + if (waitingBox) waitingBox.updateStep(4, 'active'); + showTab('records'); + if (waitingBox) waitingBox.updateStep(4, 'done'); + + } catch (e) { + if (waitingBox) waitingBox.updateStep(4, 'error'); + console.error(e); + } finally { + if (waitingBox) setTimeout(() => waitingBox.close(), 500); + } +} + +async function setWeek(offset) { + const waitingBox = showWaitingBox('切换周...', ['计算日期范围...', '加载数据...']); + try { + if (waitingBox) waitingBox.updateStep(0, 'active'); + let baseDate = new Date(state.filterStart || new Date()); + if (offset === 0) baseDate = new Date(); // This week + else baseDate.setDate(baseDate.getDate() + (offset * 7)); // Prev/Next week + + const range = getWeekRange(baseDate); + state.filterStart = range.start; + state.filterEnd = range.end; + state.statsStart = range.start; + state.statsEnd = range.end; + + els.filterStart.value = state.filterStart; + els.filterEnd.value = state.filterEnd; + if (waitingBox) waitingBox.updateStep(0, 'done'); + + if (waitingBox) waitingBox.updateStep(1, 'active'); + await loadRecords(); + await loadStats(); + if (waitingBox) waitingBox.updateStep(1, 'done'); + } finally { + if (waitingBox) setTimeout(() => waitingBox.close(), 300); + } +} + +// Data Loading +async function loadTypes() { + const res = await fetch(`${API_BASE}/types`).then(r => r.json()); + if (res.ok) { + state.types = res.data; + } else { + throw new Error(res.error || '加载运动类型失败'); + } +} + +async function loadDailyPlans() { + const res = await fetch(`${API_BASE}/daily_plans`).then(r => r.json()); + if (res.ok) { + state.dailyPlans = res.data; + renderDailyPlans(); + } else { + throw new Error(res.error || '加载每日计划失败'); + } +} + +async function loadRecords() { + const params = new URLSearchParams({ + start: state.filterStart, + end: state.filterEnd + }); + params.set('t', Date.now()); + const res = await fetch(`${API_BASE}/records?${params}`, { cache: 'no-store' }).then(r => r.json()); + if (res.ok) { + state.records = res.data; + renderRecords(); + } else { + throw new Error(res.error || '加载记录失败'); + } +} + +async function loadStats() { + const params = new URLSearchParams({ + start: state.statsStart, + end: state.statsEnd + }); + params.set('t', Date.now()); + const res = await fetch(`${API_BASE}/stats?${params}`, { cache: 'no-store' }).then(r => r.json()); + if (res.ok) { + const s = res.stats; + els.statCalories.textContent = s.sum_calories; + els.statDuration.innerHTML = `${s.sum_duration}分钟`; + els.statStand.textContent = s.sum_stand; + } +} + +// Rendering +function renderDailyPlans() { + const plans = state.dailyPlans.slice().sort((a,b)=>naturalCompare(a.name,b.name)); + els.dailyPlanSelect.innerHTML = '' + + plans.map(p => ``).join(''); +} + +function renderRecords() { + updateWeeklyMustWarning(state.records); + if (state.records.length === 0) { + els.recordList.innerHTML = '暂无记录'; + return; + } + + els.recordList.innerHTML = state.records.map(r => { + const itemsHtml = r.items && r.items.length > 0 + ? r.items.map(i => `${i.type_name || i.name}: ${i.quantity}${i.unit}`).join('
    ') + : ''; + + const bp = r.systolic_bp || r.diastolic_bp ? `${r.systolic_bp || '-'}/${r.diastolic_bp || '-'}` : '' + const hr = r.heart_rate ? `${r.heart_rate}bpm` : '' + const waist = r.waist_circ ? `${r.waist_circ}cm` : '' + const weight = r.weight_kg ? `${r.weight_kg}kg` : '' + const healthLines = [] + if (bp) healthLines.push(`❤️ 血压 ${bp}`) + if (hr) healthLines.push(`🩺 心率 ${hr}`) + if (waist) healthLines.push(`📐 腰围 ${waist}`) + if (weight) healthLines.push(`⚖️ 体重 ${weight}`) + const healthHtml = healthLines.length > 0 ? healthLines.join('
    ') : '' + + let detailHtml = '' + if (itemsHtml && healthHtml) { + detailHtml = itemsHtml + '
    ' + healthHtml + } else if (itemsHtml) { + detailHtml = itemsHtml + } else if (healthHtml) { + detailHtml = healthHtml + } else { + detailHtml = '-' + } + + return ` + + ${formatDate(r.record_date)} + + ${r.plan_name ? `${r.plan_name}` : '-'} + + ${r.calories} + ${r.exercise_duration} + ${r.stand_count} + ${detailHtml} + + + + + + `; + }).join(''); +} + +// Modal Actions +function openModal() { + els.modal.classList.add('active'); + try { document.body.style.overflow = 'hidden'; } catch {} + // Set default date to today + const d = new Date(); const today = `${d.getFullYear()}-${String(d.getMonth()+1).padStart(2,'0')}-${String(d.getDate()).padStart(2,'0')}`; + els.recordForm.querySelector('[name="record_date"]').value = today; + // Clear items + els.itemsContainer.innerHTML = ''; + // Add one empty item row + addItemRow(); +} + +function closeModal() { + els.modal.classList.remove('active'); + try { document.body.style.overflow = ''; } catch {} +} + +function addItemRow() { + const clone = els.itemTemplate.content.cloneNode(true); + const row = clone.querySelector('.item-row'); + const select = row.querySelector('.item-type-select'); + const unitSpan = row.querySelector('.item-unit'); + + // Populate types + const typesSorted = state.types; + typesSorted.forEach(t => { + const opt = document.createElement('option'); + opt.value = t.id; + opt.textContent = t.name; + opt.dataset.unit = t.unit; + select.appendChild(opt); + }); + + // Unit update logic + select.addEventListener('change', (e) => { + const opt = e.target.selectedOptions[0]; + unitSpan.textContent = opt.dataset.unit || '单位'; + }); + + row.querySelector('.btn-remove').addEventListener('click', () => row.remove()); + els.itemsContainer.appendChild(row); +} + +// Submit +async function handleSubmit(e) { + e.preventDefault(); + const fd = new FormData(e.target); + + const diastolic = fd.get('diastolic_bp'); + const systolic = fd.get('systolic_bp'); + const heartRate = fd.get('heart_rate'); + const waist = fd.get('waist_circ'); + const weight = fd.get('weight_kg'); + + if ((diastolic && !systolic) || (!diastolic && systolic)) { + alert('舒张压和收缩压必须同时填写,或者同时不填。'); + return; + } + + const payload = { + record_date: fd.get('record_date'), + daily_plan_id: fd.get('daily_plan_id'), + calories: parseInt(fd.get('calories') || 0), + exercise_duration: parseInt(fd.get('exercise_duration') || 0), + stand_count: parseInt(fd.get('stand_count') || 0), + diastolic_bp: diastolic ? parseInt(diastolic) : null, + systolic_bp: systolic ? parseInt(systolic) : null, + heart_rate: heartRate ? parseInt(heartRate) : null, + waist_circ: waist ? parseInt(waist) : null, + weight_kg: weight ? parseFloat(weight) : null, + items: [] + }; + + // Collect items + const itemRows = els.itemsContainer.querySelectorAll('.item-row'); + itemRows.forEach(row => { + const typeId = row.querySelector('.item-type-select').value; + const qty = row.querySelector('.item-quantity').value; + const unit = row.querySelector('.item-unit').textContent; + + if (typeId && qty) { + payload.items.push({ + exercise_type_id: parseInt(typeId), + quantity: parseInt(qty), + unit: unit + }); + } + }); + + const isEdit = !!els.recordForm.dataset.editId; + const waitingBox = showWaitingBox(isEdit ? '更新记录...' : '创建记录...', [ + '验证表单数据...', + '提交数据到服务器...', + '同步到周计划...', + '刷新列表...' + ]); + + try { + if (waitingBox) waitingBox.updateStep(0, 'active'); + + // Simple validation (already done by HTML5 mostly, but good to have) + if (waitingBox) waitingBox.updateStep(0, 'done'); + + if (waitingBox) waitingBox.updateStep(1, 'active'); + const editId = els.recordForm.dataset.editId || ''; + const url = editId ? `${API_BASE}/records/${editId}` : `${API_BASE}/records`; + const method = editId ? 'PUT' : 'POST'; + const res = await fetch(url, { + method, + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(payload), + cache: 'no-store' + }).then(r => r.json()); + + if (res.ok) { + if (waitingBox) waitingBox.updateStep(1, 'done'); + + if (waitingBox) waitingBox.updateStep(2, 'active'); + if (res.push && res.push.success) { + if (waitingBox) waitingBox.updateStep(2, 'done'); + } else if (res.push && !res.push.success) { + if (waitingBox) waitingBox.updateStep(2, 'error'); + console.warn('Push failed:', res.push.message); + // We don't block success, but we show error + // Actually, let's just mark it as error in the step but continue + } else { + // No push info or skipped + if (waitingBox) waitingBox.updateStep(2, 'done'); + } + + if (waitingBox) waitingBox.updateStep(3, 'active'); + const editIdNow = els.recordForm.dataset.editId || ''; + if (editIdNow) { + // Optimistic update (or just reload) + // Since we are reloading anyway, we can skip complex local update logic if we trust loadRecords + // But the existing code had local update logic. Let's keep it or just rely on loadRecords. + // The existing code did local update AND loadRecords. + } + + closeModal(); + els.recordForm.dataset.editId = ''; + await loadRecords(); + await loadStats(); + if (waitingBox) waitingBox.updateStep(3, 'done'); + + setTimeout(() => { + if (waitingBox) waitingBox.close(); + if (res.push && !res.push.success) { + alert(`保存成功,但同步到周计划失败: ${res.push.message}`); + } else { + // Optional: alert('保存成功!'); + } + }, 500); + } else { + if (waitingBox) waitingBox.updateStep(1, 'error'); + setTimeout(() => { + if (waitingBox) waitingBox.close(); + alert('保存失败: ' + res.error); + }, 500); + } + } catch (e) { + if (waitingBox) waitingBox.updateStep(1, 'error'); + console.error(e); + setTimeout(() => { + if (waitingBox) waitingBox.close(); + alert('保存出错'); + }, 500); + } +} + +async function deleteRecord(id) { + if (!confirm('确认删除该记录?')) return; + + const waitingBox = showWaitingBox('删除记录...', [ + '发送删除请求...', + '刷新列表...' + ]); + + try { + if (waitingBox) waitingBox.updateStep(0, 'active'); + const res = await fetch(`${API_BASE}/records/${id}`, { + method: 'DELETE', + cache: 'no-store' + }).then(r => r.json()); + + if (res.ok) { + if (waitingBox) waitingBox.updateStep(0, 'done'); + if (waitingBox) waitingBox.updateStep(1, 'active'); + await loadRecords(); + await loadStats(); + if (waitingBox) waitingBox.updateStep(1, 'done'); + setTimeout(() => { + if (waitingBox) waitingBox.close(); + }, 500); + } else { + if (waitingBox) waitingBox.updateStep(0, 'error'); + setTimeout(() => { + if (waitingBox) waitingBox.close(); + alert('删除失败: ' + res.error); + }, 500); + } + } catch (e) { + if (waitingBox) waitingBox.updateStep(0, 'error'); + setTimeout(() => { + if (waitingBox) waitingBox.close(); + alert('删除出错'); + }, 500); + } +} + +// Make deleteRecord global +window.deleteRecord = deleteRecord; +window.editRecord = async function(id) { + try { + const res = await fetch(`${API_BASE}/record/${id}`).then(r => r.json()); + const data = res && (res.ok === false ? null : res); + if (!data || !data.id) return; + const modal = document.getElementById('record-detail-modal'); + const box = document.getElementById('record-detail-content'); + const items = Array.isArray(data.items) ? data.items : []; + const lines = []; + lines.push(`
    ${data.record_date}
    ${data.daily_plan||''}
    ${data.calories}
    `); + lines.push(`
    ${data.exercise_duration}
    ${data.stand_count}
    `); + + // Add health data + if (data.diastolic_bp || data.systolic_bp || data.heart_rate || data.waist_circ || data.weight_kg) { + lines.push(`
    +
    ${data.diastolic_bp || '-'}
    +
    ${data.systolic_bp || '-'}
    +
    ${data.heart_rate || '-'}
    +
    ${data.waist_circ || '-'}
    +
    ${data.weight_kg || '-'}
    +
    `); + } + + lines.push(`

    项目明细

    `); + if (items.length) { + lines.push(''); + lines.push(items.map(it=>``).join('')); + lines.push('
    项目数量单位
    ${it.name}${it.quantity}${it.unit}
    '); + } else { + lines.push('
    暂无明细
    '); + } + box.innerHTML = lines.join(''); + modal.classList.add('active'); + } catch (e) {} +}; +window.openEditRecord = async function(id) { + try { + const res = await fetch(`${API_BASE}/record/${id}`).then(r => r.json()); + const data = res && (res.ok === false ? null : res); + if (!data || !data.id) return; + els.modal.classList.add('active'); + els.recordForm.dataset.editId = String(id); + els.recordForm.querySelector('[name="record_date"]').value = String(data.record_date).slice(0,10); + const planId = data.daily_plan_id || ''; + els.dailyPlanSelect.value = planId || ''; + els.recordForm.querySelector('[name="calories"]').value = data.calories||0; + els.recordForm.querySelector('[name="exercise_duration"]').value = data.exercise_duration||0; + els.recordForm.querySelector('[name="stand_count"]').value = data.stand_count||0; + els.recordForm.querySelector('[name="diastolic_bp"]').value = data.diastolic_bp||''; + els.recordForm.querySelector('[name="systolic_bp"]').value = data.systolic_bp||''; + els.recordForm.querySelector('[name="heart_rate"]').value = data.heart_rate||''; + els.recordForm.querySelector('[name="waist_circ"]').value = data.waist_circ||''; + els.recordForm.querySelector('[name="weight_kg"]').value = data.weight_kg||''; + els.itemsContainer.innerHTML = ''; + const rows = Array.isArray(data.items)?data.items:[]; + if (rows.length===0) addItemRow(); + rows.forEach(it=>{ + const clone = els.itemTemplate.content.cloneNode(true); + const row = clone.querySelector('.item-row'); + const select = row.querySelector('.item-type-select'); + const unitSpan = row.querySelector('.item-unit'); + state.types.forEach(t => { + const opt = document.createElement('option'); + opt.value = t.id; + opt.textContent = t.name; + opt.dataset.unit = t.unit; + if (String(t.id)===String(it.exercise_type_id)) opt.selected = true; + select.appendChild(opt); + }); + unitSpan.textContent = it.unit || '单位'; + row.querySelector('.item-quantity').value = it.quantity || 0; + select.addEventListener('change', (e) => { + const opt = e.target.selectedOptions[0]; + unitSpan.textContent = opt.dataset.unit || '单位'; + }); + row.querySelector('.btn-remove').addEventListener('click', () => row.remove()); + els.itemsContainer.appendChild(row); + }); + } catch (e) {} +}; + +// Start +clearUrlQuery(); +init(); + +async function loadWeeklyProgress() { + const d = new Date(); const today = `${d.getFullYear()}-${String(d.getMonth()+1).padStart(2,'0')}-${String(d.getDate()).padStart(2,'0')}`; + const res = await fetch(`${API_BASE}/weekly_progress?date=${today}`).then(r => r.json()); + if (!res || res.ok === false) return; + document.getElementById('weekly-range').textContent = `周范围:${res.week_start} - ${res.week_end}`; + const list = document.getElementById('weekly-progress'); + const arr = Array.isArray(res.progress) ? res.progress : []; + const sorted = arr.slice().sort((a,b)=>{ + const na = String(a.name||''); + const nb = String(b.name||''); + const ra = /^\s*(\d+)/.exec(na); + const rb = /^\s*(\d+)/.exec(nb); + if (ra && rb) { + const diff = parseInt(ra[1],10) - parseInt(rb[1],10); + if (diff !== 0) return diff; + } else if (ra) return -1; else if (rb) return 1; + return na.localeCompare(nb, 'zh-CN', { numeric: true, sensitivity: 'base' }); + }); + list.innerHTML = sorted.map(item => { + const done = item.done || 0; + const goal = item.weekly_goal || 0; + const remaining = Math.max(0, goal - done); + const flag = remaining === 0 ? `
    ` : ''; + const cls = done === 0 ? '' : (goal > 0 && remaining === 0 ? 'card-complete' : (goal > 0 && remaining > 0 ? 'card-incomplete' : '')); + return `
    ${flag}${item.name}
    剩余 ${remaining} ${item.unit}(目标 ${goal}, 已完成 ${done})
    `; + }).join(''); +} + +function renderCalendar() { + const title = document.getElementById('calendar-title'); + const body = document.getElementById('calendar-body'); + title.textContent = `${state.calYear}年${String(state.calMonth).padStart(2,'0')}月`; + const weeks = getMonthWeeks(state.calYear, state.calMonth); + const first = `${state.calYear}-${String(state.calMonth).padStart(2,'0')}-01`; + const last = `${state.calYear}-${String(state.calMonth).padStart(2,'0')}-${String(monthLastDay(state.calYear,state.calMonth)).padStart(2,'0')}`; + fetch(`${API_BASE}/records?start=${first}&end=${last}&t=${Date.now()}`, { cache: 'no-store' }).then(r=>r.json()).then(res=>{ + const records = Array.isArray(res.data) ? res.data : []; + const map = {}; + records.forEach(r=>{ const d = String(r.record_date).slice(0,10); map[d] = r; }); + body.innerHTML = weeks.map(week=>{ + return `` + week.map(d=>{ + if (!d) return ``; + const ds = `${d.getFullYear()}-${String(d.getMonth()+1).padStart(2,'0')}-${String(d.getDate()).padStart(2,'0')}`; + const rec = map[ds]; + if (rec) { + const itemsCount = Array.isArray(rec.items) ? rec.items.length : 0; + const details = Array.isArray(rec.items) ? rec.items.map(it=>`${it.type_name||it.name} ${it.quantity} ${it.unit}`).join('
    ') : ''; + return `
    ${d.getDate()}
    计划:${rec.plan_name||'—'}
    千卡:${rec.calories}
    项目:${itemsCount}
    项目内容:
    ${details}
    `; + } else { + return `
    ${d.getDate()}
    空
    `; + } + }).join('') + ``; + }).join(''); + }); +} + +function renderStats() { + const s = document.getElementById('stats-start'); + const e = document.getElementById('stats-end'); + if (!s.value || !e.value) { + s.value = state.statsStart; + e.value = state.statsEnd; + } + const params = new URLSearchParams({ start: s.value, end: e.value }); + fetch(`${API_BASE}/records?${params}`).then(r=>r.json()).then(res=>{ + const records = Array.isArray(res.data)?res.data:[]; + let total_calories=0,total_duration=0,total_stand=0; + const weekly = {}; + const rowsHtml = records.map(r=>{ + total_calories += r.calories||0; + total_duration += r.exercise_duration||0; + total_stand += r.stand_count||0; + const d = new Date(String(r.record_date).slice(0,10)+'T00:00:00'); + const isoYear = d.getFullYear(); + const tmp = new Date(d); + const day = tmp.getDay()||7; + tmp.setDate(tmp.getDate()-day+1); + const monday = `${tmp.getFullYear()}-W${Math.floor((new Date(tmp.getFullYear(), tmp.getMonth(), tmp.getDate() - ((tmp.getDay()+6)%7)).getTime() - new Date(tmp.getFullYear(),0,1).getTime())/604800000)+1}`; + weekly[monday] = weekly[monday] || { calories:0, duration:0, stand:0 }; + weekly[monday].calories += r.calories||0; + weekly[monday].duration += r.exercise_duration||0; + weekly[monday].stand += r.stand_count||0; + const itemsCount = Array.isArray(r.items)?r.items.length:0; + return `${String(r.record_date).slice(0,10)}${r.plan_name||''}${r.calories||0}${r.exercise_duration||0}${r.stand_count||0}${itemsCount}`; + }).join(''); + document.getElementById('stats-total-cal').textContent = total_calories; + document.getElementById('stats-total-dur').textContent = total_duration; + document.getElementById('stats-total-stand').textContent = total_stand; + document.getElementById('stats-records').innerHTML = rowsHtml || `所选范围内暂无记录`; + const totalDays = Math.max(1, (new Date(e.value).getTime() - new Date(s.value).getTime())/86400000 + 1); + const recordedDays = new Set(records.map(r=>String(r.record_date).slice(0,10))).size; + const emptyDays = Math.max(0, totalDays - recordedDays); + const labels = Object.keys(weekly).sort(); + const cal = labels.map(l=>weekly[l].calories); + const dur = labels.map(l=>weekly[l].duration); + const st = labels.map(l=>weekly[l].stand); + const pieCanvas = document.getElementById('pieDays'); + const barCanvas = document.getElementById('barWeekly'); + if (window.Chart && pieCanvas && barCanvas && pieCanvas.getContext && barCanvas.getContext) { + const pieCtx = pieCanvas.getContext('2d'); + new Chart(pieCtx, { + type:'pie', + data:{ labels:['记录天数','空缺天数'], datasets:[{ data:[recordedDays, emptyDays], backgroundColor:['#00a8ff','#ff9f43'], borderColor:['#fff','#fff'], borderWidth:2 }]} , + options:{ + responsive:true, + plugins:{ + legend:{ position:'bottom' }, + tooltip:{ enabled:true, callbacks:{ label: (ctx)=> `${ctx.label}: ${ctx.parsed||0} 天` } } + } + } + }); + const barCtx = barCanvas.getContext('2d'); + new Chart(barCtx, { + type:'bar', + data:{ labels, datasets:[{ label:'千卡', data:cal, backgroundColor:'#00a8ff'},{ label:'时长(分钟)', data:dur, backgroundColor:'#00d8a7'},{ label:'站立次数', data:st, backgroundColor:'#ff9f43'}] }, + options:{ + responsive:true, + interaction:{ mode:'index', intersect:false }, + plugins:{ + tooltip:{ + enabled:true, + callbacks:{ + title: (items)=> String(items[0]?.label||''), + label: (ctx)=> { + const v = ctx.parsed.y||0; + const lab = ctx.dataset?.label||''; + if (lab.indexOf('时长')>=0) return `时长:${v} 分钟`; + if (lab.indexOf('站立')>=0) return `站立:${v} 次`; + return `千卡:${v}`; + } + } + } + } + } + }); + } else { + // Fallback minimal charts + if (pieCanvas && pieCanvas.getContext) { + const ctx = pieCanvas.getContext('2d'); + const w = pieCanvas.width, h = pieCanvas.height, r = Math.min(w,h)/2 - 6; + const cx = w/2, cy = h/2; + ctx.clearRect(0,0,w,h); + const total = recordedDays + emptyDays || 1; + const angles = [recordedDays/total*2*Math.PI, emptyDays/total*2*Math.PI]; + let start = -Math.PI/2; + const colors = ['#00a8ff','#ff9f43']; + for (let i=0;i<2;i++){ + ctx.beginPath(); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,r,start,start+angles[i]); + ctx.closePath(); + ctx.fillStyle = colors[i]; + ctx.fill(); + start += angles[i]; + } + } + if (barCanvas && barCanvas.getContext) { + const ctx = barCanvas.getContext('2d'); + const w = barCanvas.width, h = barCanvas.height; + ctx.clearRect(0,0,w,h); + const pad = 24; + const plotW = w - pad*2; + const plotH = h - pad*2; + const n = labels.length || 1; + const barW = plotW / n / 4; // 3 series + gap + const maxVal = Math.max(1, Math.max(...cal, ...dur, ...st)); + function drawSeries(data,color,offset){ + for(let i=0;ix.json()).then(res=>{ + const records = Array.isArray(res.data)?res.data:[]; + const weekLabels = ['周一','周二','周三','周四','周五','周六','周日']; + const weekStart = new Date(r.start+'T00:00:00'); + const kc = [0,0,0,0,0,0,0]; + const du = [0,0,0,0,0,0,0]; + const st = [0,0,0,0,0,0,0]; + const doneMap = {}; + state.types.forEach(t=>{ doneMap[t.id]=0; }); + records.forEach(rr=>{ + const idx = Math.floor((new Date(String(rr.record_date).slice(0,10)).getTime() - weekStart.getTime())/86400000); + if (idx>=0 && idx<7) { + kc[idx] += rr.calories||0; + du[idx] += rr.exercise_duration||0; + st[idx] += rr.stand_count||0; + } + (rr.items||[]).forEach(it=>{ if (doneMap[it.exercise_type_id]!=null) doneMap[it.exercise_type_id]+=it.quantity||0; }); + }); + const compArr = []; + Object.keys(doneMap).forEach(id=>{ + const t = state.types.find(x=>String(x.id)===String(id)); + const v = doneMap[id]||0; + if (t && v>0) { compArr.push({ name: t.name, value: v }); } + }); + compArr.sort((a,b)=>naturalCompare(a.name,b.name)); + const compNames = compArr.map(x=>x.name); + const compValues = compArr.map(x=>x.value); + const today = new Date(); + const monthlyLabels=[], monthlyCalories=[], monthlyDuration=[]; + for (let i=11; i>=0; i--) { + const y = new Date(today.getFullYear(), today.getMonth()-i, 1).getFullYear(); + const m = new Date(today.getFullYear(), today.getMonth()-i, 1).getMonth()+1; + const start = `${y}-${String(m).padStart(2,'0')}-01`; + const end = `${y}-${String(m).padStart(2,'0')}-${String(monthLastDay(y,m)).padStart(2,'0')}`; + monthlyLabels.push(`${y}-${String(m).padStart(2,'0')}`); + // Aggregate + monthlyCalories.push(0); + monthlyDuration.push(0); + } + const monthsMap = {}; + monthlyLabels.forEach((lab, idx)=>{ monthsMap[lab]={ idx }; }); + const allStart = monthlyLabels[0]+'-01'; + const allEnd = monthlyLabels[monthlyLabels.length-1]+'-31'; + fetch(`${API_BASE}/records?start=${allStart}&end=${allEnd}`).then(r=>r.json()).then(res2=>{ + const arr = Array.isArray(res2.data)?res2.data:[]; + arr.forEach(R=>{ + const d = new Date(String(R.record_date).slice(0,10)); + const lab = `${d.getFullYear()}-${String(d.getMonth()+1).padStart(2,'0')}`; + if (monthsMap[lab]) { + const idx = monthsMap[lab].idx; + monthlyCalories[idx] += R.calories||0; + monthlyDuration[idx] += R.exercise_duration||0; + } + }); + if (window.Chart) { + const lc = document.getElementById('lineCal').getContext('2d'); + new Chart(lc, { + type:'line', + data:{ labels:weekLabels, datasets:[{ label:'千卡', data:kc, borderColor:'#4fc3f7', backgroundColor:'rgba(79,195,247,0.2)', tension:0.4, borderWidth:3, pointRadius:3, pointHoverRadius:5, pointHitRadius:10 }] }, + options:{ + interaction:{ mode:'index', intersect:false }, + plugins:{ + legend:{ display:false }, + tooltip: { + enabled: true, + callbacks: { + title: (items)=> String(items[0]?.label||''), + label: (ctx)=> `千卡:${ctx.parsed.y||0}` + } + } + } + } + }); + const ld = document.getElementById('lineDur').getContext('2d'); + new Chart(ld, { + type:'line', + data:{ labels:weekLabels, datasets:[{ label:'时长', data:du, borderColor:'#7c4dff', backgroundColor:'rgba(124,77,255,0.2)', tension:0.4, borderWidth:3, pointRadius:3, pointHoverRadius:5, pointHitRadius:10 }] }, + options:{ + interaction:{ mode:'index', intersect:false }, + plugins:{ + legend:{ display:false }, + tooltip: { + enabled: true, + callbacks: { + title: (items)=> String(items[0]?.label||''), + label: (ctx)=> `时长:${ctx.parsed.y||0} 分钟` + } + } + } + } + }); + const ls = document.getElementById('lineStand').getContext('2d'); + new Chart(ls, { + type:'line', + data:{ labels:weekLabels, datasets:[{ label:'站立', data:st, borderColor:'#ffb300', backgroundColor:'rgba(255,179,0,0.2)', tension:0.4, borderWidth:3, pointRadius:3, pointHoverRadius:5, pointHitRadius:10 }] }, + options:{ + interaction:{ mode:'index', intersect:false }, + plugins:{ + legend:{ display:false }, + tooltip: { + enabled: true, + callbacks: { + title: (items)=> String(items[0]?.label||''), + label: (ctx)=> `站立:${ctx.parsed.y||0} 次` + } + } + } + } + }); + const pc = document.getElementById('pieComp').getContext('2d'); + new Chart(pc, { + type:'pie', + data:{ labels:compNames, datasets:[{ data:compValues, backgroundColor:['#4fc3f7','#7c4dff','#ffb300','#00d8a7','#ff6b6b','#ab47bc','#26a69a','#feca57'], borderColor:'#fff', borderWidth:2 }] }, + options:{ + plugins:{ + tooltip:{ + callbacks:{ + label: (ctx)=> `${ctx.label}: ${ctx.parsed||0}` + } + } + } + } + }); + const bm = document.getElementById('barMonthly').getContext('2d'); + new Chart(bm, { + type:'bar', + data:{ labels:monthlyLabels, datasets:[{ label:'千卡', data:monthlyCalories, backgroundColor:'#4fc3f7'},{ label:'时长', data:monthlyDuration, backgroundColor:'#7c4dff'}] }, + options:{ + responsive:true, + interaction:{ mode:'index', intersect:false }, + plugins:{ + tooltip:{ + enabled: true, + callbacks:{ + title: (items)=> String(items[0]?.label||''), + label: (ctx)=> { + const v = ctx.parsed.y||0; + const lab = ctx.dataset?.label||''; + return lab === '时长' ? `时长:${v} 分钟` : `千卡:${v}`; + } + } + } + } + } + }); + } + else { + const lc = document.getElementById('lineCal'); + const ld = document.getElementById('lineDur'); + const ls = document.getElementById('lineStand'); + const pc = document.getElementById('pieComp'); + const bm = document.getElementById('barMonthly'); + function drawLine(canvas, data, color) { + if (!canvas || !canvas.getContext) return; + const ctx = canvas.getContext('2d'); + const w = canvas.width, h = canvas.height; + ctx.clearRect(0,0,w,h); + const pad = 24; + const plotW = w - pad*2, plotH = h - pad*2; + const n = data.length || 1; + const maxVal = Math.max(1, Math.max(...data)); + ctx.strokeStyle = color; + ctx.lineWidth = 2; + ctx.beginPath(); + for (let i=0;ia+b,0) || 1; + let start = -Math.PI/2; + const colors = ['#4fc3f7','#7c4dff','#ffb300','#00d8a7','#ff6b6b','#ab47bc','#26a69a','#feca57']; + for (let i=0;i{ + const done = doneMap[t.id]||0; + const goal = t.weekly_goal||0; + const percent = goal>0 ? Math.min(100, Math.floor(done*100/goal)) : 0; + const remaining = Math.max(0, goal - done); + return { name:t.name, unit:t.unit, goal, done, percent, remaining }; + }).filter(p=>p.goal>0); + const sorted2 = progress.slice().sort((a,b)=>{ + return naturalCompare(a.name,b.name); + }); + list.innerHTML = sorted2.map(p=>`
    ${p.name}
    ✅ 已完成 ${p.done} / 🎯 目标 ${p.goal} ${p.unit} ${p.remaining>0?`🔜 剩余 ${p.remaining}`:`🎉 目标已完成!`}
    `).join('') || `
    暂无设置目标,请在设置页面配置运动目标
    `; + }); + }); +} + +function renderSettings() { + const tBody = document.getElementById('settings-types'); + const typesSorted = state.types; + tBody.innerHTML = typesSorted.map(t=>` + + + + + + + + + + `).join(''); + const pBody = document.getElementById('settings-plans'); + const plansSorted = state.dailyPlans.slice().sort((a,b)=>naturalCompare(a.name,b.name)); + const rowsHtml = plansSorted.map(p=>` + + + + + `).join(''); + pBody.innerHTML = rowsHtml || `暂无计划`; + document.getElementById('btn-save-types').onclick = async () => { + const ids = state.types.map(t=>t.id); + const payload = { types: ids.map(id=>{ + const name = document.querySelector(`.type-name[data-type-id="${id}"]`).value.trim(); + const unit = document.querySelector(`.type-unit[data-type-id="${id}"]`).value.trim(); + const weekly_goal = parseInt(document.querySelector(`.type-goal[data-type-id="${id}"]`).value||0); + const sort_order = parseInt(document.querySelector(`.type-sort[data-type-id="${id}"]`).value||0); + return { id, name, unit, weekly_goal, sort_order }; + })}; + const res = await fetch(`${API_BASE}/types/update`, { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify(payload) }).then(r=>r.json()); + if (res.ok) { alert('已保存'); await loadTypes(); renderSettings(); } else { alert(res.error||'保存失败'); } + }; + document.getElementById('btn-add-type').onclick = async () => { + const name = document.getElementById('add-type-name').value.trim(); + const unit = document.getElementById('add-type-unit').value.trim(); + const weekly_goal = parseInt(document.getElementById('add-type-goal').value||0); + const res = await fetch(`${API_BASE}/types/add`, { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify({ name, unit, weekly_goal }) }).then(r=>r.json()); + if (res.ok) { alert('已新增'); document.getElementById('add-type-name').value=''; document.getElementById('add-type-unit').value=''; document.getElementById('add-type-goal').value='0'; await loadTypes(); renderSettings(); } else { alert(res.error||'新增失败'); } + }; + Array.from(document.querySelectorAll('.btn-del-type')).forEach(btn=>{ + btn.onclick = async () => { + const id = parseInt(btn.dataset.typeId || '0'); + if (!id) return; + if (!confirm('确认删除该项目?删除后不可恢复。')) return; + const res = await fetch(`${API_BASE}/types/${id}`, { method:'DELETE' }).then(r=>r.json()); + if (res.ok) { await loadTypes(); renderSettings(); } else { alert(res.error||'删除失败'); } + }; + }); + document.getElementById('btn-save-plans').onclick = async () => { + const ids = state.dailyPlans.map(p=>p.id); + const payload = { plans: ids.map(id=>{ + const name = document.querySelector(`.plan-name[data-plan-id="${id}"]`).value.trim(); + return { id, name }; + })}; + const res = await fetch(`${API_BASE}/plans/update`, { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify(payload) }).then(r=>r.json()); + if (res.ok) { alert('已保存'); await loadDailyPlans(); renderSettings(); } else { alert(res.error||'保存失败'); } + }; + document.getElementById('btn-add-plan').onclick = async () => { + const name = document.getElementById('add-plan-name').value.trim(); + const res = await fetch(`${API_BASE}/plans/add`, { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify({ name }) }).then(r=>r.json()); + if (res.ok) { alert('已新增'); document.getElementById('add-plan-name').value=''; await loadDailyPlans(); renderSettings(); } else { alert(res.error||'新增失败'); } + }; + Array.from(document.querySelectorAll('.btn-del-plan')).forEach(btn=>{ + btn.onclick = async () => { + const id = parseInt(btn.dataset.planId || '0'); + if (!id) return; + if (!confirm('确认删除该计划?将被隐藏且不可用于新记录。')) return; + const res = await fetch(`${API_BASE}/plans/${id}`, { method:'DELETE' }).then(r=>r.json()); + if (res.ok) { await loadDailyPlans(); renderSettings(); } else { alert(res.error||'删除失败'); } + }; + }); +} diff --git a/public/tools/fitness_diary/auth_config.json b/public/tools/fitness_diary/auth_config.json new file mode 100644 index 0000000..c3689af --- /dev/null +++ b/public/tools/fitness_diary/auth_config.json @@ -0,0 +1,13 @@ +{ + "_comment": "健身日志工具的前端鉴权配置", + "enable_auth_comment": "true:启用鉴权;false:暂时对所有访问者开放(无登录限制)", + "enable_auth": true, + "max_age_days_comment": "鉴权 Cookie 有效期(天),范围建议 1~365", + "max_age_days": 30, + "cookieName_comment": "鉴权 Cookie 名称,建议保持默认", + "cookieName": "fitness_diary_gate", + "guidParam_comment": "URL 中的 GUID 参数名,建议使用小写 guid", + "guidParam": "guid", + "guidValue_comment": "GUID 参数值,建议使用高强度随机长串并定期更换", + "guidValue": "F1112aD-CH11ANGE-Ts2s2sO-YW21OUR-Ls1weONG-GU4ffeID" +} diff --git a/public/tools/fitness_diary/images/qizi.png b/public/tools/fitness_diary/images/qizi.png new file mode 100644 index 0000000..baa76f3 Binary files /dev/null and b/public/tools/fitness_diary/images/qizi.png differ diff --git a/public/tools/fitness_diary/index.html b/public/tools/fitness_diary/index.html new file mode 100644 index 0000000..7360cda --- /dev/null +++ b/public/tools/fitness_diary/index.html @@ -0,0 +1,355 @@ + + + + + + 运动日志 | Fitness Diary + + + + +
    +
    + + + + + + +
    + +
    +
    +
    +
    本周总千卡
    +
    0
    +
    🔥 运动能量
    +
    +
    +
    运动时长
    +
    0分钟
    +
    ⏱️ 坚持时间
    +
    +
    +
    站立次数
    +
    0
    +
    🔄 活动频率
    +
    +
    +
    +
    +

    🏃‍♀️ 已记录数据

    +
    + +
    +
    +
    +
    + +
    + + 至 + + +
    +
    +
    + + + +
    +
    +
    + + + + + + + + + + + + + +
    日期每日计划活动千卡时长(分)站立运动项目明细操作
    +
    + +
    +
    + +
    +
    +
    +

    本周达标剩余

    +
    +
    +
    +
    +
    + +
    +
    +
    +

    📅 运动日历

    +
    + + +
    +
    +
    +
    + + + +
    一二三四五六日
    +
    +
    +
    + +
    +
    +
    +

    查询统计

    +
    +
    +
    + + + + + + +
    +
    + + + + | + + + +
    +
    +
    +
    +
    总千卡
    +
    0
    +
    🔥 运动能量
    +
    +
    +
    总时长(分钟)
    +
    0
    +
    ⏱️ 坚持时间
    +
    +
    +
    总站立次数
    +
    0
    +
    🔄 活动频率
    +
    +
    +
    +
    +

    记录频率

    + +
    +
    +

    每周汇总

    + +
    +
    +
    +

    记录明细(所选范围)

    +
    + + + +
    日期计划千卡时长站立项目数
    +
    +
    +
    +
    + +
    +
    +
    +

    🏃‍♂️ 运动大屏

    +
    +
    +
    +
    +
    📈 本周千卡趋势
    + +
    +
    +
    ⏰ 本周时长趋势
    + +
    +
    +
    🚶‍♀️ 本周站立趋势
    + +
    +
    +
    +
    +
    🎯 项目构成(本周数量)
    + +
    +
    +
    📅 月度趋势
    + +
    +
    +
    +
    +
    🎯 每周目标进度
    +
    +
    +
    +
    +
    +
    + +
    +
    +

    运动项目管理与每周达标设置

    +
    + + + +
    项目单位每周目标排序操作
    +
    +
    + +
    +

    新增运动项目

    +
    +
    +
    +
    +
    +
    +
    +
    +

    本日计划管理

    +
    + + + +
    计划名称操作
    +
    +
    + +
    +

    新增本日计划

    +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + diff --git a/public/tools/fitness_diary/style-2026-01-10-bak.css b/public/tools/fitness_diary/style-2026-01-10-bak.css new file mode 100644 index 0000000..17ec043 --- /dev/null +++ b/public/tools/fitness_diary/style-2026-01-10-bak.css @@ -0,0 +1,386 @@ +/* 活力运动风格:清爽蓝/绿/橙系配色方案 */ +:root{ + /* 主色调:清爽蓝色系 */ + --primary: #00a8ff; /* 活力蓝 */ + --primary-light: #4cdfff; /* 浅蓝 */ + --primary-dark: #0077cc; /* 深蓝 */ + + /* 辅助色:绿色和橙色系 */ + --accent-green: #00d8a7; /* 活力绿 */ + --accent-orange: #ff9f43; /* 活力橙 */ + --accent-yellow: #feca57; /* 阳光黄 */ + + /* 中性色 */ + --secondary: #4a4a4a; /* 深灰 */ + --danger: #ff6b6b; /* 活力红 */ + --success: #00d8a7; /* 成功绿 */ + --warning: #ff9f43; /* 警告橙 */ + + /* 背景与表面 */ + --bg: #f8fafc; /* 浅灰背景 */ + --surface: #ffffff; /* 白色表面 */ + --border: #e1e8ed; /* 浅灰边框 */ + --hover: #f0f7ff; /* 悬停蓝色 */ + + /* 文字色 */ + --text-primary: #2c3e50; /* 深蓝灰 */ + --text-secondary: #7f8c8d; /* 中灰 */ + --text-muted: #95a5a6; /* 浅灰 */ +} + +*{ box-sizing:border-box; } +body{ margin:0; font-family:'PingFang SC', 'Helvetica Neue', Arial, sans-serif; background:var(--bg); color:var(--text-primary); line-height:1.6; } + +/* 顶部导航(运动风格) */ +.nav{ + display:flex; justify-content:space-between; align-items:center; + padding:16px 20px; + background: linear-gradient(135deg, var(--primary) 0%, var(--accent-green) 100%); + color:white; + box-shadow: 0 4px 20px rgba(0,168,255,0.15); + position:sticky; top:0; z-index:10; +} +.nav-left{ + font-weight:700; font-size:20px; + text-shadow: 0 2px 4px rgba(0,0,0,0.1); +} +.nav a{ text-decoration:none; } +.nav-right{ + display:flex; flex-wrap:nowrap; + overflow-x:auto; -webkit-overflow-scrolling:touch; + background: rgba(255,255,255,0.15); + border-radius: 25px; + padding: 4px; +} +.nav-right::-webkit-scrollbar{ display:none; } +.nav-right a{ + position:relative; margin:0 2px; + padding:8px 16px; + color:rgba(255,255,255,0.9); + text-decoration:none; + border-radius:20px; + transition:all 0.3s ease; + font-weight:500; + white-space: nowrap; +} +.nav-right a:hover{ + color:white; + background:rgba(255,255,255,0.2); + transform: translateY(-2px); +} +.nav-right a.active{ + color:var(--primary); + background:white; + box-shadow: 0 4px 12px rgba(0,0,0,0.15); + transform: translateY(-2px); +} + +.container{ max-width:1000px; margin:24px auto; padding:0 20px; } + +/* 通用控件 - 运动风格 */ +label{ display:block; font-size:14px; color:var(--text-secondary); margin-bottom:8px; font-weight:500; } +input,select,button{ + padding:12px 16px; + font-size:14px; + border: 2px solid var(--border); + border-radius: 12px; + transition: all 0.3s ease; +} +input:focus, select:focus{ + outline: none; + border-color: var(--primary); + box-shadow: 0 0 0 3px rgba(0,168,255,0.1); +} + +/* 按钮样式 */ +.primary{ + background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%); + color:#fff; + border:none; + border-radius:12px; + font-weight:600; + box-shadow: 0 4px 12px rgba(0,168,255,0.3); + cursor: pointer; +} +.primary:hover{ + transform: translateY(-2px); + box-shadow: 0 6px 20px rgba(0,168,255,0.4); +} +.secondary{ + background: linear-gradient(135deg, var(--accent-green) 0%, #00e6b8 100%); + color:#fff; + border:none; + border-radius:12px; + font-weight:600; + box-shadow: 0 4px 12px rgba(0,216,167,0.3); + cursor: pointer; +} +.secondary:hover{ + transform: translateY(-2px); + box-shadow: 0 6px 20px rgba(0,216,167,0.4); +} +.danger{ + background: linear-gradient(135deg, var(--danger) 0%, #ff8e8e 100%); + color:#fff; + border:none; + border-radius:12px; + font-weight:600; + box-shadow: 0 4px 12px rgba(255,107,107,0.3); + cursor: pointer; +} +.danger:hover{ + transform: translateY(-2px); + box-shadow: 0 6px 20px rgba(255,107,107,0.4); +} + +.link{ + color:var(--primary); + text-decoration:none; + margin-left:8px; + font-weight:500; + transition: all 0.3s ease; +} +.link:hover{ + color:var(--primary-dark); + text-decoration:underline; +} + +.muted{ color:var(--text-muted); } + +/* 卡片样式 */ +.card { + background: white; + padding: 24px; + border-radius: 16px; + box-shadow: 0 4px 20px rgba(0,0,0,0.05); + margin-bottom: 24px; +} +.card-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 20px; + padding-bottom: 8px; + border-bottom: 3px solid var(--primary); +} +.card-header h3 { + margin: 0; + color: var(--text-primary); + font-size: 20px; +} + +/* Stats Cards */ +.stats-cards { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + gap: 20px; + margin-bottom: 30px; +} +.stat-card { + color: white; + padding: 20px; + border-radius: 16px; + text-align: center; + box-shadow: 0 4px 15px rgba(0,0,0,0.1); +} +.stat-value { + font-size: 32px; + font-weight: 700; + margin: 8px 0; +} +.stat-label { + font-size: 14px; + opacity: 0.9; +} +.stat-icon { + font-size: 12px; + opacity: 0.8; +} + +/* Table */ +.table-responsive { + overflow-x: auto; +} +.data-table { + width: 100%; + border-collapse: separate; + border-spacing: 0; + background: var(--surface); + border: 1px solid var(--border); + border-radius: 16px; + overflow: hidden; +} +.data-table th { + background: linear-gradient(135deg, var(--primary-light) 0%, rgba(0,168,255,0.1) 100%); + color: var(--text-primary); + font-weight: 600; + padding: 16px 20px; + border-bottom: 2px solid var(--primary); + text-align: left; +} +.data-table td { + padding: 14px 20px; + border-bottom: 1px solid var(--border); +} +.data-table tr:nth-child(odd) { + background: #fcfdff; +} +.data-table tr:hover { + background: var(--hover); +} + +/* Modal */ +.modal { + display: none; + position: fixed; + top: 0; left: 0; + width: 100%; height: 100%; + background: rgba(0,0,0,0.5); + z-index: 100; + justify-content: center; + align-items: center; +} +.modal.active { + display: flex; +} +.modal-content { + background: white; + padding: 24px; + border-radius: 16px; + width: 90%; + max-width: 500px; + max-height: 90vh; + overflow-y: auto; + box-shadow: 0 10px 40px rgba(0,0,0,0.2); +} + +/* Tabs */ +.tabs { + display: flex; + gap: 10px; + margin-bottom: 20px; +} +.tool-tabs { + display: flex; + gap: 10px; + margin: 16px 0 24px 0; +} +.tab-btn { + padding: 10px 20px; + border: none; + background: white; + border-radius: 12px; + cursor: pointer; + font-weight: 600; + color: var(--text-secondary); +} +.tab-btn.active { + background: var(--primary); + color: white; + box-shadow: 0 4px 12px rgba(0,168,255,0.3); +} +.tab-content { + display: none; +} +.tab-content.active { + display: block; +} + +.grid-2 { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 16px; +} +.grid-3 { + display: grid; + grid-template-columns: repeat(3, minmax(0, 1fr)); + gap: 16px; +} +.grid-4 { + display: grid; + grid-template-columns: repeat(4, minmax(0, 1fr)); + gap: 16px; +} + +/* Plan Badge */ +.plan-badge { + background: #e3f2fd; + color: #1976d2; + padding: 4px 8px; + border-radius: 12px; + font-size: 12px; + font-weight: 500; +} + +.calendar-wrapper { background: var(--surface); padding: 16px; border-radius: 16px; box-shadow: 0 4px 12px rgba(0,0,0,0.06); } +.calendar { width: 100%; border-collapse: separate; border-spacing: 0; } +.calendar th { padding: 8px; color: var(--text-secondary); } +.calendar td { vertical-align: top; border: 1px solid var(--border); padding: 8px; min-height: 80px; } +.calendar td.empty { background: #f5f7fa; } +.calendar .date { font-weight: 600; color: var(--text-primary); margin-bottom: 6px; } +.calendar .metric { font-size: 12px; color: var(--text-secondary); } +.calendar .small { font-size: 12px; color: var(--text-muted); } +.calendar td:hover { background: var(--hover); } + +.screen-card { background: #0b2e4f; color: #cfe8ff; padding: 16px; border-radius: 16px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); } +.screen-card .label { font-size: 14px; opacity: 0.9; margin-bottom: 8px; } +.screen-card .progress-list { display: flex; flex-direction: column; gap: 12px; } +.progress-item { margin-bottom: 8px; } +.progress-title { font-size: 14px; color: #cfe8ff; margin-bottom: 6px; } +.progress { width: 100%; height: 10px; background: rgba(207,232,255,0.2); border-radius: 999px; overflow: hidden; } +.progress .fill { height: 100%; background: #4fc3f7; } + +.filter-bar { background: #f8fafc; padding: 16px; border-radius: 12px; margin-bottom: 20px; } +.range-btn { padding: 8px 12px; border: none; background: #fff; border-radius: 12px; cursor: pointer; font-weight: 600; color: var(--text-secondary); border: 2px solid var(--border); } +.range-btn:hover { border-color: var(--primary); } + +.card-complete { + background: linear-gradient(135deg, rgba(0,216,167,0.1) 0%, rgba(0,216,167,0.05) 100%); + border-left: 4px solid var(--accent-green); + position: relative; +} +.card-incomplete { + background: linear-gradient(135deg, rgba(255,107,107,0.1) 0%, rgba(255,107,107,0.05) 100%); + border-left: 4px solid var(--danger); + position: relative; +} +.num-remain { color: var(--danger); font-weight: 700; } +.num-goal { color: var(--primary); font-weight: 700; } +.num-done { color: var(--accent-green); font-weight: 700; } +.flag { + position: absolute; right: 16px; top: 16px; + width: 56px; height: 56px; + background-size: contain; background-repeat: no-repeat; background-position: center; + mix-blend-mode: multiply; +} + +/* 移动端适配 */ +@media (max-width: 768px) { + .container { padding: 0 12px; } + .tool-tabs { flex-wrap: wrap; row-gap: 8px; } + .tab-btn { padding: 8px 12px; } + .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; } + .card-header { flex-direction: column; align-items: flex-start; gap: 8px; } + .stat-value { font-size: 28px; } +} +@media (max-width: 480px) { + .card { padding: 16px; } + .data-table th, .data-table td { padding: 10px; } + .modal-content { width: 96%; } +} + +/* 完成奖励红旗(使用本地图片) */ +.card-complete::after { + content: ''; + position: absolute; + right: 16px; + top: 16px; + width: 56px; + height: 56px; + background-image: url('images/qizi.png'); + background-size: contain; + background-repeat: no-repeat; + background-position: center; + mix-blend-mode: multiply; +} +.card-complete .flag { display: none; } diff --git a/public/tools/fitness_diary/style.css b/public/tools/fitness_diary/style.css new file mode 100644 index 0000000..cc9f87c --- /dev/null +++ b/public/tools/fitness_diary/style.css @@ -0,0 +1,444 @@ +/* 活力运动风格:清爽蓝/绿/橙系配色方案 */ +:root{ + /* 主色调:清爽蓝色系 */ + --primary: #00a8ff; /* 活力蓝 */ + --primary-light: #4cdfff; /* 浅蓝 */ + --primary-dark: #0077cc; /* 深蓝 */ + + /* 辅助色:绿色和橙色系 */ + --accent-green: #00d8a7; /* 活力绿 */ + --accent-orange: #ff9f43; /* 活力橙 */ + --accent-yellow: #feca57; /* 阳光黄 */ + + /* 中性色 */ + --secondary: #4a4a4a; /* 深灰 */ + --danger: #ff6b6b; /* 活力红 */ + --success: #00d8a7; /* 成功绿 */ + --warning: #ff9f43; /* 警告橙 */ + + /* 背景与表面 */ + --bg: #f8fafc; /* 浅灰背景 */ + --surface: #ffffff; /* 白色表面 */ + --border: #e1e8ed; /* 浅灰边框 */ + --hover: #f0f7ff; /* 悬停蓝色 */ + + /* 文字色 */ + --text-primary: #2c3e50; /* 深蓝灰 */ + --text-secondary: #7f8c8d; /* 中灰 */ + --text-muted: #95a5a6; /* 浅灰 */ +} + +*{ box-sizing:border-box; } +body{ margin:0; font-family:'PingFang SC', 'Helvetica Neue', Arial, sans-serif; background:var(--bg); color:var(--text-primary); line-height:1.6; } + +/* 顶部导航(运动风格) */ +.nav{ + display:flex; justify-content:space-between; align-items:center; + padding:16px 20px; + background: linear-gradient(135deg, var(--primary) 0%, var(--accent-green) 100%); + color:white; + box-shadow: 0 4px 20px rgba(0,168,255,0.15); + position:sticky; top:0; z-index:10; +} +.nav-left{ + font-weight:700; font-size:20px; + text-shadow: 0 2px 4px rgba(0,0,0,0.1); +} +.nav a{ text-decoration:none; } +.nav-right{ + display:flex; flex-wrap:nowrap; + overflow-x:auto; -webkit-overflow-scrolling:touch; + background: rgba(255,255,255,0.15); + border-radius: 25px; + padding: 4px; +} +.nav-right::-webkit-scrollbar{ display:none; } +.nav-right a{ + position:relative; margin:0 2px; + padding:8px 16px; + color:rgba(255,255,255,0.9); + text-decoration:none; + border-radius:20px; + transition:all 0.3s ease; + font-weight:500; + white-space: nowrap; +} +.nav-right a:hover{ + color:white; + background:rgba(255,255,255,0.2); + transform: translateY(-2px); +} +.nav-right a.active{ + color:var(--primary); + background:white; + box-shadow: 0 4px 12px rgba(0,0,0,0.15); + transform: translateY(-2px); +} + +.container{ max-width:1080px; margin:24px auto; padding:0 20px; } + +/* 通用控件 - 运动风格 */ +label{ display:block; font-size:14px; color:var(--text-secondary); margin-bottom:8px; font-weight:500; } +input,select,button{ + padding:12px 16px; + font-size:14px; + border: 2px solid var(--border); + border-radius: 12px; + transition: all 0.3s ease; +} +input:focus, select:focus{ + outline: none; + border-color: var(--primary); + box-shadow: 0 0 0 3px rgba(0,168,255,0.1); +} + +/* 按钮样式 */ +.primary{ + background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%); + color:#fff; + border:none; + border-radius:12px; + font-weight:600; + box-shadow: 0 4px 12px rgba(0,168,255,0.3); + cursor: pointer; +} +.primary:hover{ + transform: translateY(-2px); + box-shadow: 0 6px 20px rgba(0,168,255,0.4); +} +.secondary{ + background: linear-gradient(135deg, var(--accent-green) 0%, #00e6b8 100%); + color:#fff; + border:none; + border-radius:12px; + font-weight:600; + box-shadow: 0 4px 12px rgba(0,216,167,0.3); + cursor: pointer; +} +.secondary:hover{ + transform: translateY(-2px); + box-shadow: 0 6px 20px rgba(0,216,167,0.4); +} +.danger{ + background: linear-gradient(135deg, var(--danger) 0%, #ff8e8e 100%); + color:#fff; + border:none; + border-radius:12px; + font-weight:600; + box-shadow: 0 4px 12px rgba(255,107,107,0.3); + cursor: pointer; +} +.danger:hover{ + transform: translateY(-2px); + box-shadow: 0 6px 20px rgba(255,107,107,0.4); +} + +.link{ + color:var(--primary); + text-decoration:none; + margin-left:8px; + font-weight:500; + transition: all 0.3s ease; +} +.link:hover{ + color:var(--primary-dark); + text-decoration:underline; +} + +.muted{ color:var(--text-muted); } + +/* 卡片样式 */ +.card { + background: white; + padding: 24px; + border-radius: 16px; + box-shadow: 0 4px 20px rgba(0,0,0,0.05); + margin-bottom: 24px; +} +.card-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 20px; + padding-bottom: 8px; + border-bottom: 3px solid var(--primary); +} +.card-header h3 { + margin: 0; + color: var(--text-primary); + font-size: 20px; +} + +/* Stats Cards */ +.stats-cards { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + gap: 20px; + margin-bottom: 30px; +} +.stat-card { + color: white; + padding: 20px; + border-radius: 16px; + text-align: center; + box-shadow: 0 4px 15px rgba(0,0,0,0.1); +} +.stat-value { + font-size: 32px; + font-weight: 700; + margin: 8px 0; +} +.stat-label { + font-size: 14px; + opacity: 0.9; +} +.stat-icon { + font-size: 12px; + opacity: 0.8; +} + +/* Table */ +.table-responsive { overflow-x: auto; } +.data-table { + width: 100%; + border-collapse: separate; + border-spacing: 0; + background: var(--surface); + border: 1px solid var(--border); + border-radius: 16px; + overflow: hidden; +} +.data-table th { + background: linear-gradient(135deg, var(--primary-light) 0%, rgba(0,168,255,0.1) 100%); + color: var(--text-primary); + font-weight: 600; + padding: 16px 20px; + border-bottom: 2px solid var(--primary); + text-align: left; +} +.data-table td { + padding: 12px 16px; + border-bottom: 1px solid var(--border); +} +.data-table tr:nth-child(odd) { + background: #fcfdff; +} +.data-table tr:hover { + background: var(--hover); +} + +.weekly-warning { + margin-top: 16px; + padding: 12px 16px; + border: 2px solid var(--danger); + border-radius: 12px; + background: rgba(255, 107, 107, 0.08); + color: var(--danger); + font-weight: 700; + text-align: center; +} + +/* Modal */ +.modal { + display: none; + position: fixed; + top: 0; left: 0; + width: 100%; height: 100%; + background: rgba(0,0,0,0.5); + z-index: 100; + justify-content: center; + align-items: center; +} +.modal.active { + display: flex; +} +.modal-content { + background: white; + padding: 24px; + border-radius: 16px; + width: 90%; + max-width: 500px; + max-height: 90vh; + overflow-y: auto; + box-shadow: 0 10px 40px rgba(0,0,0,0.2); +} + +/* Tabs */ +.tabs { + display: flex; + gap: 10px; + margin-bottom: 20px; +} +.tool-tabs { + display: flex; + gap: 10px; + margin: 16px 0 24px 0; +} +.tab-btn { + padding: 10px 20px; + border: none; + background: white; + border-radius: 12px; + cursor: pointer; + font-weight: 600; + color: var(--text-secondary); +} +.tab-btn.active { + background: var(--primary); + color: white; + box-shadow: 0 4px 12px rgba(0,168,255,0.3); +} +.tab-content { + display: none; +} +.tab-content.active { + display: block; +} + +.grid-2 { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 16px; +} +.grid-3 { + display: grid; + grid-template-columns: repeat(3, minmax(0, 1fr)); + gap: 16px; +} +.grid-4 { + display: grid; + grid-template-columns: repeat(4, minmax(0, 1fr)); + gap: 16px; +} + +.health-metrics-grid { + display: grid; + grid-template-columns: repeat(4, minmax(0, 1fr)); + gap: 12px; +} + +/* 移动端适配 */ +@media (max-width: 768px) { + .stats-filter-grid { grid-template-columns: 1fr; } + .filter-actions-right { text-align: left; width: 100%; } + .mobile-input { width: 100%; } + .health-metrics-grid { + gap: 8px; /* 减小间距 */ + } + .health-metrics-grid label, .health-metrics-grid input { + font-size: 12px; /* 减小字体 */ + } +} +@media (max-width: 480px) { + .btn-sm { padding: 6px 10px; font-size: 12px; } + .health-metrics-grid { + gap: 4px; /* 进一步减小间距 */ + } + .health-metrics-grid label, .health-metrics-grid input { + font-size: 10px; /* 进一步减小字体 */ + } +} + +.card-complete { + background: linear-gradient(135deg, rgba(0,216,167,0.1) 0%, rgba(0,216,167,0.05) 100%); + border-left: 4px solid var(--accent-green); + position: relative; +} +.card-incomplete { + background: linear-gradient(135deg, rgba(255,107,107,0.1) 0%, rgba(255,107,107,0.05) 100%); + border-left: 4px solid var(--danger); + position: relative; +} +.num-remain { color: var(--danger); font-weight: 700; } +.num-goal { color: var(--primary); font-weight: 700; } +.num-done { color: var(--accent-green); font-weight: 700; } +.flag { + position: absolute; right: 16px; top: 16px; + width: 56px; height: 56px; + background-size: contain; background-repeat: no-repeat; background-position: center; + mix-blend-mode: multiply; +} + +/* 移动端适配 */ +@media (max-width: 768px) { + .container { padding: 0 12px; } + .tool-tabs { flex-wrap: wrap; row-gap: 8px; } + .tab-btn { padding: 8px 12px; } + .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; } + .card-header { flex-direction: column; align-items: flex-start; gap: 8px; } + .stat-value { font-size: 28px; } + .screen-card canvas { height: 180px; } +} +@media (max-width: 480px) { + .card { padding: 16px; } + .data-table th, .data-table td { padding: 10px; } + .modal-content { width: 96%; } +} + +/* 设置页表格 - 列宽与操作列固定 */ +#section-settings .data-table { table-layout: fixed; } +#section-settings .data-table th:nth-child(1), +#section-settings .data-table td:nth-child(1) { width: 40%; } +#section-settings .data-table th:nth-child(2), +#section-settings .data-table td:nth-child(2) { width: 16%; } +#section-settings .data-table th:nth-child(3), +#section-settings .data-table td:nth-child(3) { width: 16%; } +#section-settings .data-table th:nth-child(4), +#section-settings .data-table td:nth-child(4) { width: 12%; } +#section-settings .data-table th:nth-child(5), +#section-settings .data-table td:nth-child(5) { width: 16%; } +#section-settings .data-table th:last-child, +#section-settings .data-table td:last-child { position: sticky; right: 0; z-index: 3; background: #fff; } +#section-settings input[type="text"], +#section-settings input[type="number"], +#section-settings select { width: 100%; box-sizing: border-box; } + + +/* 完成奖励红旗(使用本地图片) */ +.card-complete::after { + content: ''; + position: absolute; + right: 16px; + top: 16px; + width: 56px; + height: 56px; + background-image: url('images/qizi.png'); + background-size: contain; + background-repeat: no-repeat; + background-position: center; + mix-blend-mode: multiply; +} + +/* Waiting Box Styles */ +.waiting-steps { + display: flex; + flex-direction: column; + gap: 12px; + max-height: 300px; + overflow-y: auto; + margin-top: 16px; +} +.waiting-step { + display: flex; + align-items: center; + gap: 10px; + font-size: 14px; + color: var(--text-secondary); +} +.waiting-step.pending { opacity: 0.6; } +.waiting-step.active { color: var(--primary); font-weight: 600; } +.waiting-step.done { color: var(--success); } +.waiting-step.error { color: var(--danger); } +.step-icon { + width: 20px; height: 20px; + display: flex; align-items: center; justify-content: center; + font-size: 12px; +} +.spinner { + width: 16px; height: 16px; + border: 2px solid var(--primary); + border-top-color: transparent; + border-radius: 50%; + animation: spin 1s linear infinite; +} +@keyframes spin { 100% { transform: rotate(360deg); } } diff --git a/public/tools/funds/auth_config.json b/public/tools/funds/auth_config.json new file mode 100644 index 0000000..ec6b05d --- /dev/null +++ b/public/tools/funds/auth_config.json @@ -0,0 +1,7 @@ +{ + "_comment": "资金流水工具的前端鉴权配置", + "enable_auth_comment": "true:启用鉴权(需要从导航登录);false:完全放开访问资金工具", + "enable_auth": true, + "max_age_days_comment": "鉴权 cookie 的最大有效天数(1~365)", + "max_age_days": 30 +} diff --git a/public/tools/funds/funds.css b/public/tools/funds/funds.css new file mode 100644 index 0000000..65b0742 --- /dev/null +++ b/public/tools/funds/funds.css @@ -0,0 +1,416 @@ +/* 富贵吉祥主题 - 投资本金记录系统 */ +@import url('https://fonts.googleapis.com/css2?family=Ma+Shan+Zheng&family=TsangerYuMo&display=swap'); + +body { + position: relative; + overflow-x: hidden; + /* 只保留渐变底色 */ + background: linear-gradient(135deg, rgba(255, 249, 230, 0.98) 0%, rgba(255, 235, 205, 0.98) 50%, rgba(248, 244, 230, 0.98) 100%); + background-attachment: fixed; + min-height: 100vh; +} + +body::before { + content: ""; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-image: url("/images/xiangyun.png"); + background-repeat: repeat; + background-size: 250px auto; + background-position: top left; + opacity: 0.2; + z-index: -2; + pointer-events: none; + mix-blend-mode: multiply; +} + +/* 标题波浪特效 */ +.lucky-header h1 .char { + display: inline-block; + animation: text-wave 2.5s ease-in-out infinite; + transform-origin: bottom center; +} + +@keyframes text-wave { + 0%, 100% { transform: translateY(0); } + 50% { transform: translateY(-8px); } +} + +.lucky-bg { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + pointer-events: none; + z-index: -1; + overflow: hidden; +} + +.gold-coin { + position: absolute; + font-size: 2rem; + opacity: 0.3; + animation: float 6s ease-in-out infinite; +} + +.coin-1 { top: 20%; left: 10%; animation-delay: 0s; } +.coin-2 { top: 60%; left: 80%; animation-delay: 2s; } +.coin-3 { top: 30%; left: 70%; animation-delay: 4s; } +.coin-4 { top: 80%; left: 20%; animation-delay: 1s; } + +/* 右上角灯笼 */ +.lucky-lantern.right { + position: fixed; + top: 20px; + right: 30px; + font-size: 2.5rem; + color: #C1272D; + animation: swing 3s ease-in-out infinite; + z-index: 1000; + text-shadow: 2px 2px 4px rgba(193,39,45,0.4); +} + +.lantern-tassel { + position: absolute; + bottom: -15px; + left: 50%; + transform: translateX(-50%); + width: 2px; + height: 20px; + background: linear-gradient(to bottom, #FFD700, #D4AF37); + animation: tassel-sway 2s ease-in-out infinite; +} + +/* 左上角灯笼 */ +.lucky-lantern.left { + position: fixed; + top: 20px; + left: 30px; + font-size: 2.5rem; + color: #C1272D; + animation: swing 3s ease-in-out infinite; + z-index: 1000; + text-shadow: 2px 2px 4px rgba(193,39,45,0.4); +} + +@keyframes tassel-sway { + 0%, 100% { transform: translateX(-50%) rotate(-5deg); } + 50% { transform: translateX(-50%) rotate(5deg); } +} + +@keyframes fly { + 0%, 100% { transform: rotate(-45deg) translateY(0); } + 50% { transform: rotate(-45deg) translateY(-10px); } +} + +@keyframes float { + 0%, 100% { transform: translateY(0px) rotate(0deg); } + 50% { transform: translateY(-20px) rotate(10deg); } +} + +.container { + padding: 30px 20px; + position: relative; + z-index: 1; +} + +.lucky-header { + text-align: center; + margin-bottom: 30px; + padding: 20px; + background: linear-gradient(135deg, rgba(212, 175, 55, 0.1), rgba(255, 215, 0, 0.05)); + border-radius: 16px; + border: 2px solid rgba(212, 175, 55, 0.3); +} + +.lucky-header h1 { + font-family: 'Ma Shan Zheng', cursive; + font-size: 2.5rem; + color: #D4AF37; + margin: 0; + text-shadow: 2px 2px 4px rgba(0,0,0,0.1); +} + +.lucky-subtitle { + font-family: 'TsangerYuMo', cursive; + font-size: 1.3rem; + margin: 10px 0 0 0; + font-weight: 500; + background: linear-gradient(120deg, #8B4513 0%, #D4AF37 40%, #FFD700 50%, #D4AF37 60%, #8B4513 100%); + background-size: 200% auto; + color: #8B4513; + -webkit-background-clip: text; + background-clip: text; + -webkit-text-fill-color: transparent; + animation: shine 10s linear infinite; +} + +@keyframes shine { + to { background-position: 200% center; } +} + +.toolbar, .add-bar { + display: flex; + gap: 12px; + align-items: center; + flex-wrap: wrap; + margin-bottom: 20px; + padding: 20px; + background: linear-gradient(135deg, rgba(212, 175, 55, 0.07), rgba(255, 215, 0, 0.035)); + border-radius: 16px; + box-shadow: 0 4px 20px rgba(212, 175, 55, 0.15); + border: 2px solid rgba(212, 175, 55, 0.21); + position: relative; + backdrop-filter: blur(5px); +} + +.btn { + height: 40px; + padding: 0 18px; + border: none; + background: linear-gradient(145deg, #D4AF37, #FFD700); + color: #2C2C2C; + border-radius: 10px; + cursor: pointer; + font-weight: 700; + transition: all 0.3s ease; + box-shadow: 0 4px 8px rgba(212, 175, 55, 0.4); + position: relative; + overflow: hidden; + font-family: 'TsangerYuMo', cursive; + font-size: 1.1rem; + display: inline-flex; + align-items: center; + justify-content: center; +} + +.btn::before { + content: ''; + position: absolute; + top: 0; + left: -100%; + width: 100%; + height: 100%; + background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent); + transition: left 0.5s ease; +} + +.btn:hover { + background: linear-gradient(145deg, #C1272D, #D4AF37); + color: #FFFFFF; + transform: translateY(-1px) scale(1.03); + box-shadow: 0 5px 12px rgba(193, 39, 45, 0.45); +} + +.btn:hover::before { + left: 100%; +} + +#btn-add { + background: linear-gradient(145deg, #2D8A57, #2AAE7A); + box-shadow: 0 4px 8px rgba(40, 167, 69, 0.28); + border: 1px solid rgba(212, 175, 55, 0.35); +} + +#btn-add:hover { + background: linear-gradient(145deg, #277B4D, #239968); +} + +.table-wrap { + overflow: auto; + border: 2px solid #D4AF37; + border-radius: 12px; + background: #FFFFFF; + box-shadow: 0 4px 12px rgba(212, 175, 55, 0.15); + background: rgba(255, 255, 255, 0.95); + -webkit-overflow-scrolling: touch; + scrollbar-width: thin; + scrollbar-color: #D4AF37 rgba(212, 175, 55, 0.1); +} + +input, select { + border: 1px solid #D4AF37; + border-radius: 8px; + padding: 8px 12px; + height: 40px; + background: rgba(255, 255, 255, 0.9); + transition: all 0.3s; + font-family: inherit; + color: #5d4037; +} + +input:focus, select:focus { + outline: none; + border-color: #FFD700; + box-shadow: 0 0 10px rgba(255, 215, 0, 0.5); + background: #FFFFFF; +} + +::-webkit-scrollbar { + width: 10px; + height: 10px; +} +::-webkit-scrollbar-track { + background: rgba(212, 175, 55, 0.1); + border-radius: 5px; +} +::-webkit-scrollbar-thumb { + background: linear-gradient(to bottom, #D4AF37, #FFD700); + border-radius: 5px; + border: 2px solid rgba(255, 255, 255, 0.5); +} +::-webkit-scrollbar-thumb:hover { + background: linear-gradient(to bottom, #B8860B, #D4AF37); +} + +table.flows { + width: 100%; + border-collapse: separate; + border-spacing: 0; + background: rgba(255, 255, 255, 0.85); + border-radius: 12px; +} + +table.flows th, table.flows td { + padding: 12px; + border-bottom: 1px solid #E8E6DF; + text-align: left; +} + +table.flows tbody tr:nth-child(odd).in td { background: rgba(212, 175, 55, 0.06); } +table.flows tbody tr:nth-child(even).in td { background: rgba(212, 175, 55, 0.035); } +table.flows tbody tr:nth-child(odd).out td { background: rgba(193, 39, 45, 0.055); } +table.flows tbody tr:nth-child(even).out td { background: rgba(193, 39, 45, 0.03); } + +table.flows th { + background: linear-gradient(145deg, #8B0000, #C1272D); + color: #FFD700; + font-weight: 600; + position: sticky; + top: 0; + text-shadow: 1px 1px 2px rgba(0,0,0,0.2); +} + +table.flows tr { + transition: background 0.2s; +} + +table.flows tr:hover td { + background: rgba(212, 175, 55, 0.10) !important; +} + +table.flows tr.in { + background: rgba(212, 175, 55, 0.08); + border-left: 4px solid #D4AF37; +} + +table.flows tr.out { + background: rgba(193, 39, 45, 0.08); + border-left: 4px solid #C1272D; +} + +table.flows td.amount { + font-weight: 700; + color: #1A365D; +} + +table.flows td.ending { + font-weight: 800; + color: #D4AF37; + font-size: 1.1em; +} + +.stats { + margin: 28px 0; + padding: 24px 20px; + border: 3px solid rgba(212, 175, 55, 0.21); + border-radius: 16px; + background: linear-gradient(135deg, rgba(212, 175, 55, 0.07), rgba(255, 215, 0, 0.035)); + backdrop-filter: blur(5px); + font-weight: 700; + color: #8B4513; + text-align: center; + box-shadow: 0 4px 16px rgba(212, 175, 55, 0.3); + font-family: 'TsangerYuMo', cursive; + font-size: 1.2rem; + position: relative; +} + +.stats::after { + content: '💰'; + position: absolute; + top: -15px; + left: 50%; + transform: translateX(-50%); + background: #D4AF37; + color: white; + padding: 5px 10px; + border-radius: 20px; + font-size: 1.5rem; +} + +.status { + margin: 16px 0; + padding: 12px; + border: 2px solid #FFD666; + background: #FFFBE6; + color: #8B6508; + border-radius: 8px; + text-align: center; + font-weight: 500; +} +.debug { margin: 12px 0; padding: 8px; border: 1px dashed #aaa; } +.debug-actions { display: flex; gap: 8px; margin-bottom: 8px } +.debug-output { height: 200px; overflow: auto; background: #f6f6f6; padding: 8px; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 12px; white-space: pre-wrap } + +@media (max-width: 760px) { + .toolbar, .add-bar { + flex-direction: column; + align-items: stretch; + gap: 10px; + padding: 16px; + } + + .toolbar input, + .toolbar select, + .add-bar input, + .add-bar select { + width: 100%; + } + + .toolbar .btn, + #btn-add { + width: 100%; + } + + table.flows th, table.flows td { + padding: 10px; + } +} + +@media (prefers-reduced-motion: reduce) { + .lucky-header h1 .char, + .lucky-subtitle, + .gold-coin, + .lucky-lantern.right, + .lucky-lantern.left { + animation: none !important; + } + + .btn, + input, + select, + table.flows tr { + transition: none !important; + } +} + +@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { + .toolbar, .add-bar, .stats { + background: rgba(255, 255, 255, 0.75); + } +} diff --git a/public/tools/funds/funds.js b/public/tools/funds/funds.js new file mode 100644 index 0000000..b1c4631 --- /dev/null +++ b/public/tools/funds/funds.js @@ -0,0 +1,193 @@ +const fmtCN = n => n.toLocaleString('zh-CN', { minimumFractionDigits: 2, maximumFractionDigits: 2 }) +const parseAmount = s => { const x = String(s||'').replace(/[,\s]/g,''); const v = Number(x); if (!Number.isFinite(v)) return null; return Math.round(v*100) } +const centsToText = c => fmtCN((c||0)/100) +const logBox = () => document.getElementById('fd-output') +const logLocal = msg => { const b = logBox(); if (!b) return; const line = `${(window.fmtCNDateTime?fmtCNDateTime(new Date()):new Date().toLocaleString('zh-CN'))} ${msg}`; b.textContent = (b.textContent||'') + (b.textContent?"\n":"") + line; b.scrollTop = b.scrollHeight } + +let editingId = null; + +const loadFlags = async () => { try { const r = await fetch('/api/flags'); const d = await r.json(); if (d && d.debug && d.debug.funds) { const sec = document.getElementById('funds-debug'); if (sec) sec.style.display = '' } } catch {} +} + +const renderRows = rows => { + const tb = document.getElementById('flows-body'); if (!tb) return + tb.innerHTML = '' + let sumIn = 0, sumOut = 0 + for (const r of rows) { + const tr = document.createElement('tr') + tr.className = r.type === 'in' ? 'in' : 'out' + const tdDate = document.createElement('td'); tdDate.textContent = r.date + const tdType = document.createElement('td'); tdType.textContent = r.type === 'in' ? '汇入' : '汇出' + const tdAmt = document.createElement('td'); tdAmt.className='amount'; tdAmt.textContent = centsToText(r.amount_cents) + const tdBank = document.createElement('td'); tdBank.textContent = r.bank_status || '' + const tdEnd = document.createElement('td'); tdEnd.className='ending'; tdEnd.textContent = centsToText(r.ending_cents) + const tdRemark = document.createElement('td'); tdRemark.textContent = r.remark || '' + const tdOps = document.createElement('td') + + const btnEdit = document.createElement('button'); + btnEdit.className='btn'; + btnEdit.textContent='修改'; + btnEdit.style.marginRight = '4px'; + btnEdit.addEventListener('click', () => { + document.getElementById('new-date').value = r.date; + document.getElementById('new-type').value = r.type; + document.getElementById('new-amount').value = (r.amount_cents / 100).toFixed(2); + document.getElementById('new-bank').value = r.bank_status || ''; + document.getElementById('new-remark').value = r.remark || ''; + + editingId = r.id; + const btnAdd = document.getElementById('btn-add'); + if (btnAdd) { + btnAdd.textContent = '保存修改'; + btnAdd.classList.add('btn-primary'); // Optional: highlight + } + // Scroll to top + document.querySelector('.add-bar').scrollIntoView({ behavior: 'smooth' }); + }); + tdOps.appendChild(btnEdit); + + const btnDel = document.createElement('button'); btnDel.className='btn'; btnDel.textContent='涤旧'; btnDel.addEventListener('click', async () => { + const ok = window.confirm('确认涤旧该条流水?') + if (!ok) return + try { await fetch('/api/debug/event', { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify({ source:'funds', action:'delete', id:r.id }) }) } catch {} + logLocal(`funds.delete id=${r.id}`) + await fetch(`/api/funds/flows/${r.id}`, { method:'DELETE' }) + await loadFlows() + }) + tdOps.appendChild(btnDel) + tr.appendChild(tdDate); tr.appendChild(tdType); tr.appendChild(tdAmt); tr.appendChild(tdBank); tr.appendChild(tdEnd); tr.appendChild(tdRemark); tr.appendChild(tdOps) + tb.appendChild(tr) + if (r.type==='in') sumIn += r.amount_cents; else sumOut += r.amount_cents + } + const st = document.getElementById('stats') + if (st) st.textContent = `总汇入 ${centsToText(sumIn)} · 总汇出 ${centsToText(Math.abs(sumOut))} · 区间净变动 ${centsToText(sumIn + sumOut)} · 期末余额 ${rows.length?centsToText(rows[rows.length-1].ending_cents):centsToText(0)}` +} + +const loadFlows = async () => { + const st = document.getElementById('funds-status') + const btnQ = document.getElementById('btn-load') + if (st) { st.style.display=''; st.textContent='正在查询...' } + if (btnQ) btnQ.disabled = true + const start = document.getElementById('date-start').value || '' + const end = document.getElementById('date-end').value || '' + const type = document.getElementById('type-filter').value || 'all' + const kw = document.getElementById('kw').value || '' + try { + const r = await fetch(`/api/funds/flows?start=${encodeURIComponent(start)}&end=${encodeURIComponent(end)}&type=${encodeURIComponent(type)}&kw=${encodeURIComponent(kw)}`) + const d = await r.json() + if (d.ok) renderRows(d.rows) + if (st) { st.style.display=''; st.textContent=`查询完成(${(d.rows||[]).length} 条)` } + } catch (e) { + if (st) { st.style.display=''; st.textContent=`查询失败:${String(e.message||e)}` } + } finally { + if (btnQ) btnQ.disabled = false + setTimeout(()=>{ if (st) st.style.display='none' }, 1200) + } +} + +const addFlow = async () => { + const st = document.getElementById('funds-status') + const btn = document.getElementById('btn-add') + if (st) { st.style.display=''; st.textContent='正在新增...' } + if (btn) btn.disabled = true + const date = document.getElementById('new-date').value + const type = document.getElementById('new-type').value + const amtText = document.getElementById('new-amount').value + const bank = document.getElementById('new-bank').value + const remark = document.getElementById('new-remark').value + if (!date || !type || !amtText || !bank || !remark) { + if (st) { st.style.display=''; st.textContent='请完整填写日期、类型、金额、银行方/状态、备注' } + if (btn) btn.disabled = false + setTimeout(()=>{ if (st) st.style.display='none' }, 1800) + return + } + const cents = parseAmount(amtText) + if (cents === null) { logLocal('金额格式错误'); return } + + if (!editingId) { + try { + const dupRes = await fetch(`/api/funds/flows?start=${encodeURIComponent(date)}&end=${encodeURIComponent(date)}&type=all`) + const dupData = await dupRes.json() + if (dupData.ok && Array.isArray(dupData.rows) && dupData.rows.length > 0) { + const ok = window.confirm(`该日期已有 ${dupData.rows.length} 条记录,是否继续新增?`) + if (!ok) { logLocal(`funds.add.cancel date=${date}`); return } + } + } catch {} + } + + const body = { date, type, amount_cents: type==='out' ? -Math.abs(cents) : Math.abs(cents), bank_status: bank, remark } + + if (editingId) { + try { + await fetch(`/api/funds/flows/${editingId}`, { method:'PUT', headers:{'Content-Type':'application/json'}, body: JSON.stringify(body) }) + logLocal(`funds.update id=${editingId}`) + if (st) { st.style.display=''; st.textContent='修改成功' } + editingId = null; + if (btn) btn.textContent = '新增'; + + await loadFlows() + document.getElementById('new-amount').value='' + document.getElementById('new-bank').value='' + document.getElementById('new-remark').value='' + } catch (e) { + if (st) { st.style.display=''; st.textContent=`修改失败:${String(e.message||e)}` } + } finally { + if (btn) btn.disabled = false + setTimeout(()=>{ if (st) st.style.display='none' }, 1200) + } + return; + } + + try { await fetch('/api/debug/event', { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify({ source:'funds', action:'add', date, type, amount:(cents/100) }) }) } catch {} + logLocal(`funds.add ${JSON.stringify({ date, type, amount:(cents/100) })}`) + try { + await fetch('/api/funds/flows', { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify(body) }) + if (st) { st.style.display=''; st.textContent='新增成功' } + await loadFlows() + // clear inputs + document.getElementById('new-amount').value='' + document.getElementById('new-bank').value='' + document.getElementById('new-remark').value='' + } catch (e) { + if (st) { st.style.display=''; st.textContent=`新增失败:${String(e.message||e)}` } + } finally { + if (btn) btn.disabled = false + setTimeout(()=>{ if (st) st.style.display='none' }, 1200) + } +} + +document.addEventListener('DOMContentLoaded', () => { + loadFlags() + const y = new Date().getFullYear() + const d = new Date(y, 11, 31) + const endOfYear = window.cnDateStr ? cnDateStr(d) : `${d.getFullYear()}-${String(d.getMonth()+1).padStart(2,'0')}-${String(d.getDate()).padStart(2,'0')}` + const ds = document.getElementById('date-start'); if (ds) ds.value = '2024-01-01' + const de = document.getElementById('date-end'); if (de) de.value = endOfYear + const bl = document.getElementById('btn-load'); if (bl) bl.addEventListener('click', loadFlows) + const ba = document.getElementById('btn-add'); if (ba) ba.addEventListener('click', addFlow) + const be = document.getElementById('btn-export'); if (be) be.addEventListener('click', async () => { const start = document.getElementById('date-start').value||''; const end = document.getElementById('date-end').value||''; location.href = `/api/funds/export.csv?start=${encodeURIComponent(start)}&end=${encodeURIComponent(end)}` }) + const bcp = document.getElementById('fd-btn-copy'); if (bcp) bcp.addEventListener('click', async () => { try { await navigator.clipboard.writeText((logBox()&&logBox().textContent)||'') } catch {} }) + const brf = document.getElementById('fd-btn-refresh'); if (brf) brf.addEventListener('click', async () => { try { const r = await fetch('/api/debug/logs?limit=5000&channel=funds'); const d = await r.json(); if (d.ok) { const b = logBox(); if (b) { b.textContent = (d.lines||[]).join('\n'); b.scrollTop = b.scrollHeight } } } catch {} }) + const bcl = document.getElementById('fd-btn-clear'); if (bcl) bcl.addEventListener('click', async () => { try { await fetch('/api/debug/clear?channel=funds', { method: 'POST' }) } catch {}; const b = logBox(); if (b) b.textContent='' }) + loadFlows() + initTextEffect() +}) + +const initTextEffect = () => { + const h1 = document.querySelector('.lucky-header h1'); + if (!h1) return; + const text = h1.textContent.trim(); + h1.innerHTML = ''; + [...text].forEach((char, i) => { + const span = document.createElement('span'); + span.textContent = char; + span.className = 'char'; + if (char.trim() === '') { + span.style.width = '0.5em'; + span.style.display = 'inline-block'; + } else { + span.style.animationDelay = `${i * 0.15}s`; + } + h1.appendChild(span); + }); +} diff --git a/public/tools/funds/index.html b/public/tools/funds/index.html new file mode 100644 index 0000000..ddf2cad --- /dev/null +++ b/public/tools/funds/index.html @@ -0,0 +1,116 @@ + + + + + + 财富好管家 · 本金变动池 + + + + + + + + + + + + + 财富好管家 · 本金变动池 + + + + + + + + + + + + +
    +
    💰
    +
    💰
    +
    💰
    +
    💰
    + + +
    + +
    +
    + + +
    + +
    +
    +
    + +
    + +
    +

    💰 财富流转 · 生生不息

    +

    记录每一分财富的来去,汇聚八方财源

    +
    +
    + + + + + + + +
    + + +
    + + + + + + +
    + +
    + +
    + + + + + + + + + + + + + +
    日期类型金额(人民币)银行方/状态期末金额备注操作
    +
    + + +
    + + + + + diff --git a/public/tools/investment_ledger/index.html b/public/tools/investment_ledger/index.html new file mode 100644 index 0000000..f87a87b --- /dev/null +++ b/public/tools/investment_ledger/index.html @@ -0,0 +1,91 @@ + + + + + + 投资事件账本 + + + +
    +
    +

    投资事件账本 V1

    +
    + + + + +
    +
    + + + +
    +
    +
    + +
    +

    汇总

    +
    +
    + +
    +

    事件明细

    +
    + + + + + + + + + + + + + + + + + + + + + +
    事件ID时间标的类型方向价格数量金额仓位池策略链路状态来源行备注操作
    +
    +
    +
    +
    + + + + diff --git a/public/tools/investment_ledger/investment_ledger.css b/public/tools/investment_ledger/investment_ledger.css new file mode 100644 index 0000000..dba0a35 --- /dev/null +++ b/public/tools/investment_ledger/investment_ledger.css @@ -0,0 +1,181 @@ +* { box-sizing: border-box; } +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif; + background: #f4f6fb; + color: #111827; +} +.page { + max-width: 1400px; + margin: 20px auto; + padding: 0 16px 24px; +} +.panel { + background: #fff; + border: 1px solid #e5e7eb; + border-radius: 12px; + padding: 16px; + margin-bottom: 14px; +} +h1, h2 { + margin: 0 0 12px 0; + font-weight: 700; +} +.form-grid { + display: grid; + grid-template-columns: 120px 1fr; + gap: 10px; + align-items: center; +} +input { + width: 100%; + border: 1px solid #cbd5e1; + border-radius: 8px; + padding: 10px 12px; + font-size: 14px; +} +.actions { + margin-top: 12px; + display: flex; + gap: 8px; +} +button { + border: 1px solid #2563eb; + background: #2563eb; + color: #fff; + padding: 9px 14px; + border-radius: 8px; + cursor: pointer; +} +button[disabled] { + opacity: .45; + cursor: not-allowed; +} +.btn-secondary { + border-color: #94a3b8; + background: #fff; + color: #0f172a; +} +.status { + margin-top: 10px; + min-height: 22px; + color: #1d4ed8; +} +.summary { + display: grid; + grid-template-columns: repeat(5, minmax(160px, 1fr)); + gap: 10px; +} +.card { + border: 1px solid #e2e8f0; + border-radius: 10px; + padding: 10px; + background: #f8fafc; +} +.card .k { + font-size: 12px; + color: #475569; +} +.card .v { + margin-top: 4px; + font-size: 18px; + font-weight: 700; +} +.table-wrap { + overflow: auto; +} +table { + width: 100%; + border-collapse: collapse; + font-size: 13px; +} +th, td { + border: 1px solid #e5e7eb; + padding: 8px 9px; + text-align: left; + vertical-align: top; + white-space: nowrap; +} +td:last-child { + max-width: 420px; + white-space: normal; + word-break: break-word; +} +.row-merged { + background: #fef3c7; +} +.row-multi { + background: #dbeafe; +} +.cell-op { + white-space: nowrap; +} +.mini-btn { + border: 1px solid #2563eb; + background: #fff; + color: #1d4ed8; + border-radius: 6px; + padding: 4px 8px; + font-size: 12px; + margin-right: 6px; +} +.mini-btn.del { + border-color: #dc2626; + color: #dc2626; +} +.legend { + margin-top: 10px; + font-size: 12px; + color: #334155; +} +.legend .chip { + display: inline-block; + border: 1px solid #cbd5e1; + border-radius: 999px; + padding: 2px 8px; + margin-right: 8px; +} +.legend .chip.merged { background: #fef3c7; } +.legend .chip.multi { background: #dbeafe; } +.modal-wrap { + position: fixed; + inset: 0; + background: rgba(15, 23, 42, 0.45); + display: none; + align-items: center; + justify-content: center; + z-index: 50; +} +.modal-wrap.show { + display: flex; +} +.modal { + width: min(920px, calc(100vw - 32px)); + background: #fff; + border-radius: 12px; + border: 1px solid #e2e8f0; + overflow: hidden; +} +.modal-head { + padding: 14px 16px; + border-bottom: 1px solid #e2e8f0; +} +.modal-head h3 { + margin: 0; +} +.modal-body { + padding: 14px 16px; +} +.modal-grid { + display: grid; + grid-template-columns: 90px 1fr 90px 1fr; + gap: 10px 12px; + align-items: center; +} +.modal-actions { + border-top: 1px solid #e2e8f0; + padding: 12px 16px; + display: flex; + justify-content: flex-end; + gap: 8px; +} diff --git a/public/tools/investment_ledger/investment_ledger.js b/public/tools/investment_ledger/investment_ledger.js new file mode 100644 index 0000000..6ea0dbf --- /dev/null +++ b/public/tools/investment_ledger/investment_ledger.js @@ -0,0 +1,292 @@ +const state = { rows: [], editingIndex: -1 } +const LS_KEY = 'investment_ledger_rows_v1' + +const $ = id => document.getElementById(id) + +const setStatus = (msg, isError) => { + const el = $('status') + if (!el) return + el.textContent = msg || '' + el.style.color = isError ? '#dc2626' : '#1d4ed8' +} + +const fmt = n => Number(n || 0).toLocaleString('zh-CN', { minimumFractionDigits: 2, maximumFractionDigits: 2 }) + +const esc = s => String(s ?? '').replace(/&/g, '&').replace(//g, '>') + +const numOrNull = v => { + const n = Number(v) + return Number.isFinite(n) ? n : null +} + +const computeSummary = rows => { + let buy = 0 + let sell = 0 + let pending = 0 + for (const r of rows) { + if (r.status === 'pending') pending += 1 + if (r.event_type !== 'fill') continue + const amt = Number(r.amount || 0) + if (r.side === 'buy') buy += amt + if (r.side === 'sell') sell += amt + } + return { + total_events: rows.length, + pending_orders: pending, + filled_buy_amount: Number(buy.toFixed(2)), + filled_sell_amount: Number(sell.toFixed(2)), + net_cashflow: Number((sell - buy).toFixed(2)) + } +} + +const renderSummary = s => { + const el = $('summary') + if (!el) return + const cards = [ + { k: '事件总数', v: Number(s.total_events || 0).toLocaleString('zh-CN') }, + { k: '待成交预设', v: Number(s.pending_orders || 0).toLocaleString('zh-CN') }, + { k: '买入成交金额', v: fmt(s.filled_buy_amount) }, + { k: '卖出成交金额', v: fmt(s.filled_sell_amount) }, + { k: '净现金流', v: fmt(s.net_cashflow) } + ] + el.innerHTML = cards.map(c => `
    ${c.k}
    ${c.v}
    `).join('') +} + +const getHighlightMap = rows => { + const multiMap = new Map() + for (const r of rows) { + const key = `${r.event_time || ''}|${r.strategy_id || ''}` + if (!r.event_time || !r.strategy_id) continue + multiMap.set(key, (multiMap.get(key) || 0) + 1) + } + return { multiMap } +} + +const renderTable = rows => { + const { multiMap } = getHighlightMap(rows) + const tbody = $('tbl').querySelector('tbody') + tbody.innerHTML = rows.map((r, idx) => { + const price = r.fill_price || r.order_price || '' + const merged = !!(r.parent_event_ids || String(r.chain_id || '').startsWith('M')) + const multi = (multiMap.get(`${r.event_time || ''}|${r.strategy_id || ''}`) || 0) > 1 + const cls = `${merged ? 'row-merged' : ''} ${multi ? 'row-multi' : ''}`.trim() + return ` + ${esc(r.event_id || '')} + ${esc(r.event_time || '')} + ${esc(r.symbol || '')} + ${esc(r.event_type || '')} + ${esc(r.side || '')} + ${esc(price)} + ${esc(r.qty || '')} + ${esc(r.amount || '')} + ${esc(r.pocket || '')} + ${esc(r.strategy_id || '')} + ${esc(r.chain_id || '')} + ${esc(r.status || '')} + ${esc(r.source_line_no || '')} + ${esc(r.note || '')} + + + + + ` + }).join('') + const legend = $('legend') + if (legend) legend.innerHTML = '合并仓高亮同日多次规则高亮' +} + +const toCsvCell = v => { + const s = String(v ?? '') + if (/[",\n]/.test(s)) return `"${s.replace(/"/g, '""')}"` + return s +} + +const exportCsv = () => { + if (!state.rows.length) return + const cols = ['event_id', 'event_time', 'symbol', 'name', 'strategy_id', 'pocket', 'chain_id', 'event_type', 'side', 'order_price', 'fill_price', 'qty', 'amount', 'trigger_rule', 'status', 'parent_event_ids', 'source_line_no', 'note'] + const lines = [cols.join(',')] + for (const row of state.rows) lines.push(cols.map(c => toCsvCell(row[c])).join(',')) + const bom = '\uFEFF' + const blob = new Blob([bom + lines.join('\n')], { type: 'text/csv;charset=utf-8;' }) + const a = document.createElement('a') + const now = new Date() + const stamp = `${now.getFullYear()}${String(now.getMonth() + 1).padStart(2, '0')}${String(now.getDate()).padStart(2, '0')}_${String(now.getHours()).padStart(2, '0')}${String(now.getMinutes()).padStart(2, '0')}${String(now.getSeconds()).padStart(2, '0')}` + a.href = URL.createObjectURL(blob) + a.download = `investment_ledger_${stamp}.csv` + document.body.appendChild(a) + a.click() + a.remove() + URL.revokeObjectURL(a.href) +} + +const saveLocal = () => { + localStorage.setItem(LS_KEY, JSON.stringify(state.rows)) +} + +const refreshAll = () => { + renderSummary(computeSummary(state.rows)) + renderTable(state.rows) + $('btnExport').disabled = state.rows.length === 0 + saveLocal() +} + +const emptyRow = () => ({ + event_id: '', + event_time: '', + symbol: $('symbol').value.trim(), + name: '', + strategy_id: 'MANUAL_DIARY_v1', + pocket: 'swing', + chain_id: 'X', + event_type: 'fill', + side: 'buy', + order_price: null, + fill_price: null, + qty: null, + amount: null, + trigger_rule: '', + status: 'filled', + parent_event_ids: '', + source_line_no: '', + note: '' +}) + +const openModal = (idx = -1) => { + state.editingIndex = idx + const isEdit = idx >= 0 + const row = isEdit ? state.rows[idx] : emptyRow() + $('modalTitle').textContent = isEdit ? '修改事件' : '新增事件' + $('m_event_time').value = row.event_time || '' + $('m_symbol').value = row.symbol || '' + $('m_event_type').value = row.event_type || 'fill' + $('m_side').value = row.side || '' + $('m_price').value = row.fill_price || row.order_price || '' + $('m_qty').value = row.qty || '' + $('m_amount').value = row.amount || '' + $('m_pocket').value = row.pocket || '' + $('m_strategy_id').value = row.strategy_id || '' + $('m_chain_id').value = row.chain_id || '' + $('m_status').value = row.status || '' + $('m_parent_event_ids').value = row.parent_event_ids || '' + $('m_note').value = row.note || '' + $('modalWrap').classList.add('show') +} + +const closeModal = () => { + $('modalWrap').classList.remove('show') +} + +const nextEventId = symbol => { + const prefix = `EV${symbol || 'NA'}_` + let max = 0 + for (const r of state.rows) { + const id = String(r.event_id || '') + if (!id.startsWith(prefix)) continue + const n = Number(id.slice(prefix.length)) + if (Number.isFinite(n) && n > max) max = n + } + return `${prefix}${String(max + 1).padStart(4, '0')}` +} + +const saveModal = () => { + const symbol = $('m_symbol').value.trim() + const price = numOrNull($('m_price').value) + const row = { + event_id: '', + event_time: $('m_event_time').value.trim(), + symbol, + name: '', + strategy_id: $('m_strategy_id').value.trim(), + pocket: $('m_pocket').value.trim(), + chain_id: $('m_chain_id').value.trim(), + event_type: $('m_event_type').value.trim(), + side: $('m_side').value.trim(), + order_price: $('m_event_type').value.trim() === 'order_preset' ? price : null, + fill_price: $('m_event_type').value.trim() === 'fill' ? price : null, + qty: numOrNull($('m_qty').value), + amount: numOrNull($('m_amount').value), + trigger_rule: '', + status: $('m_status').value.trim(), + parent_event_ids: $('m_parent_event_ids').value.trim(), + source_line_no: 'manual', + note: $('m_note').value.trim() + } + if (!row.event_time || !row.symbol || !row.event_type) { + setStatus('请至少填写 时间 / 标的 / 事件类型', true) + return + } + if (state.editingIndex >= 0) { + row.event_id = state.rows[state.editingIndex].event_id || nextEventId(symbol) + state.rows[state.editingIndex] = row + setStatus('修改成功') + } else { + row.event_id = nextEventId(symbol) + state.rows.unshift(row) + setStatus('新增成功') + } + closeModal() + refreshAll() +} + +const parseFile = async () => { + try { + setStatus('解析中...') + $('btnParse').disabled = true + const payload = { + file_path: $('filePath').value.trim(), + symbol: $('symbol').value.trim() + } + const resp = await fetch('/api/investment_ledger/parse', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(payload) + }) + const data = await resp.json() + if (!resp.ok || data.ok === false) throw new Error(data.error || 'parse_failed') + state.rows = Array.isArray(data.rows) ? data.rows : [] + refreshAll() + setStatus(`完成:识别 ${state.rows.length} 条事件,编码推断 ${data.encoding}`) + } catch (e) { + setStatus(`失败:${e.message || e}`, true) + } finally { + $('btnParse').disabled = false + } +} + +window.addEventListener('DOMContentLoaded', () => { + $('btnParse').addEventListener('click', parseFile) + $('btnAdd').addEventListener('click', () => openModal(-1)) + $('btnExport').addEventListener('click', exportCsv) + $('btnModalCancel').addEventListener('click', closeModal) + $('btnModalSave').addEventListener('click', saveModal) + $('modalWrap').addEventListener('click', e => { + if (e.target && e.target.id === 'modalWrap') closeModal() + }) + $('tbl').addEventListener('click', e => { + const t = e.target + if (!(t instanceof HTMLElement)) return + if (t.classList.contains('js-edit')) { + const idx = Number(t.dataset.idx) + if (Number.isFinite(idx)) openModal(idx) + return + } + if (t.classList.contains('js-del')) { + const idx = Number(t.dataset.idx) + if (!Number.isFinite(idx)) return + state.rows.splice(idx, 1) + refreshAll() + setStatus('删除成功') + } + }) + const raw = localStorage.getItem(LS_KEY) + if (raw) { + try { + const rows = JSON.parse(raw) + if (Array.isArray(rows)) { + state.rows = rows + refreshAll() + setStatus(`已加载本地数据 ${rows.length} 条`) + } + } catch {} + } +}) diff --git a/public/tools/language_behavior_lock/auth_config.json b/public/tools/language_behavior_lock/auth_config.json new file mode 100644 index 0000000..a37d5f0 --- /dev/null +++ b/public/tools/language_behavior_lock/auth_config.json @@ -0,0 +1,9 @@ +{ + "_comment": "语言行为锁工具的前端鉴权配置", + "enable_auth_comment": "true:启用鉴权(需 token 握手或已有会话);false:关闭鉴权", + "enable_auth": true, + "max_age_days_comment": "鉴权 Cookie 有效期(天),范围建议 1~365", + "max_age_days": 30, + "cookieName_comment": "鉴权 Cookie 名称,建议保持默认", + "cookieName": "language_behavior_lock_gate" +} diff --git a/public/tools/language_behavior_lock/index.html b/public/tools/language_behavior_lock/index.html new file mode 100644 index 0000000..d7d6042 --- /dev/null +++ b/public/tools/language_behavior_lock/index.html @@ -0,0 +1,205 @@ + + + + + + 语言和行为冷静期 + + + + +
    +
    +
    +
    +

    语言和行为冷静期

    +

    把发言、行为和证券先锁住,等情绪过后再决定

    +
    +
    + + +
    +
    +
    +
    + + +
    + + + + + diff --git a/public/tools/language_behavior_lock/keyword_settings.html b/public/tools/language_behavior_lock/keyword_settings.html new file mode 100644 index 0000000..b5d53fc --- /dev/null +++ b/public/tools/language_behavior_lock/keyword_settings.html @@ -0,0 +1,85 @@ + + + + + + 关键词设置 - 语言和行为冷静期 + + + + +
    +
    +
    +
    +

    关键词设置

    +

    维护黑名单关键词规则,命中后会自动提醒并增加冷静期

    +
    +
    + + +
    +
    +
    +
    + + +
    + + + + + diff --git a/public/tools/language_behavior_lock/keyword_settings.js b/public/tools/language_behavior_lock/keyword_settings.js new file mode 100644 index 0000000..c2d56a3 --- /dev/null +++ b/public/tools/language_behavior_lock/keyword_settings.js @@ -0,0 +1,297 @@ +(() => { + const API_BASE = '/api/language_behavior_lock' + const DEFAULT_USERNAME = 'admin' + const $ = id => document.getElementById(id) + const now = () => Date.now() + const genId = () => `${Date.now()}_${Math.random().toString(36).slice(2, 8)}` + + const state = { + auth: { currentUser: '' }, + db: { records: [], keywords: [] } + } + + const defaultKeywords = () => ([ + { id: genId(), text: '你怎么这么', type: 'speech', level: 'high', extraMinutes: 20, tip: '你触发了高风险表达,建议延长冷静期。', enabled: true, createdAt: now() }, + { id: genId(), text: '早就说了', type: 'speech', level: 'medium', extraMinutes: 15, tip: '这类表达容易升级冲突,建议继续冷静。', enabled: true, createdAt: now() }, + { id: genId(), text: '你一直都', type: 'speech', level: 'high', extraMinutes: 20, tip: '绝对化表达风险较高,建议先改写再决定。', enabled: true, createdAt: now() }, + { id: genId(), text: '拿回家', type: 'behavior', level: 'high', extraMinutes: 25, tip: '涉及边界风险行为,建议延长冷静并复核后果。', enabled: true, createdAt: now() } + ]) + + const normalizeKeyword = row => { + const levelRaw = String(row && row.level || 'medium') + const level = ['low', 'medium', 'high'].includes(levelRaw) ? levelRaw : 'medium' + const typeRaw = String(row && row.type || 'all') + const type = ['all', 'speech', 'behavior', 'securities'].includes(typeRaw) ? typeRaw : 'all' + return { + id: String(row && row.id || genId()), + text: String(row && row.text || '').trim(), + type, + level, + extraMinutes: Math.max(0, Number(row && row.extraMinutes) || 0), + tip: String(row && row.tip || '').trim(), + enabled: row && row.enabled !== false, + createdAt: Number(row && row.createdAt) || now() + } + } + + const normalizeDB = raw => { + const db = raw && typeof raw === 'object' ? raw : {} + const records = Array.isArray(db.records) ? db.records : [] + const keywordsRaw = Array.isArray(db.keywords) ? db.keywords : [] + const keywords = keywordsRaw.map(normalizeKeyword).filter(k => k.text) + return { + records, + keywords: keywords.length ? keywords : defaultKeywords() + } + } + + const setAuthStatus = text => { + $('auth-status').textContent = text || '' + } + + const setFormStatus = text => { + $('form-status').textContent = text || '' + } + + const openModal = ({ title, message, okText = '知道了', cancelText = '', tone = 'normal' }) => { + return new Promise(resolve => { + const mask = $('app-modal') + const titleBox = $('modal-title') + const msgBox = $('modal-message') + const actions = $('modal-actions') + actions.innerHTML = '' + titleBox.textContent = title || '' + msgBox.textContent = message || '' + const close = val => { + mask.style.display = 'none' + resolve(val) + } + if (cancelText) { + const cancelBtn = document.createElement('button') + cancelBtn.className = 'btn' + cancelBtn.type = 'button' + cancelBtn.textContent = cancelText + cancelBtn.addEventListener('click', () => close(false)) + actions.appendChild(cancelBtn) + } + const okBtn = document.createElement('button') + okBtn.className = tone === 'primary' ? 'btn btn-primary' : 'btn' + okBtn.type = 'button' + okBtn.textContent = okText + okBtn.addEventListener('click', () => close(true)) + actions.appendChild(okBtn) + mask.style.display = '' + }) + } + + const modalAlert = (title, message) => openModal({ title, message, okText: '我知道了' }) + const modalConfirm = (title, message, okText = '继续', cancelText = '取消') => openModal({ title, message, okText, cancelText, tone: 'primary' }) + + const apiRequest = async (path, options = {}) => { + const res = await fetch(`${API_BASE}${path}`, { + method: options.method || 'GET', + headers: { + 'Content-Type': 'application/json', + ...(options.headers || {}) + }, + body: options.body === undefined ? undefined : JSON.stringify(options.body), + credentials: 'include' + }) + let payload = null + try { + payload = await res.json() + } catch { + payload = null + } + if (!res.ok) { + const msg = payload && payload.error ? String(payload.error) : `http_${res.status}` + throw new Error(msg) + } + return payload || {} + } + + const loadDB = async () => { + const payload = await apiRequest('/data') + state.db = normalizeDB(payload.db) + } + + const saveDB = async () => { + await apiRequest('/data', { method: 'PUT', body: { db: state.db, draft: null } }) + } + + const levelText = level => ({ low: '低风险', medium: '中风险', high: '高风险' })[level] || '中风险' + + const renderAuth = () => { + const user = state.auth.currentUser + $('auth-login-box').style.display = user ? 'none' : '' + $('auth-logged-box').style.display = user ? '' : 'none' + $('app-content').style.display = user ? '' : 'none' + $('auth-current-user').textContent = user ? `当前账号:${user}` : '' + } + + const renderKeywordRules = () => { + const box = $('keyword-list') + box.innerHTML = '' + if (!state.db.keywords.length) { + box.textContent = '暂无关键词规则' + return + } + state.db.keywords.slice().sort((a, b) => b.createdAt - a.createdAt).forEach(rule => { + const row = document.createElement('div') + row.className = 'row' + const typeLabel = rule.type === 'speech' ? '发言' : rule.type === 'behavior' ? '行为' : rule.type === 'securities' ? '证券' : '全部' + row.innerHTML = ` +
    ${rule.text} ${levelText(rule.level)}
    +
    适用:${typeLabel} | 建议加时:${rule.extraMinutes} 分钟 | 状态:${rule.enabled ? '启用' : '停用'}
    +
    ${rule.tip || ''}
    +
    + + +
    + ` + box.appendChild(row) + }) + } + + const renderAll = () => { + renderAuth() + renderKeywordRules() + } + + const bindKeywordAdd = () => { + $('btn-keyword-add').addEventListener('click', async () => { + if (!state.auth.currentUser) { + await modalAlert('请先登录', '请先输入账号和密码登录后再操作。') + return + } + const text = $('kw-text').value.trim() + if (!text) { + await modalAlert('无法新增', '请先输入关键词') + return + } + const exists = state.db.keywords.some(k => k.text.toLowerCase() === text.toLowerCase()) + if (exists) { + await modalAlert('无法新增', '该关键词已存在') + return + } + const rule = normalizeKeyword({ + id: genId(), + text, + type: $('kw-type').value || 'all', + level: $('kw-level').value || 'medium', + extraMinutes: Number($('kw-extra-minutes').value || 0), + tip: $('kw-tip').value.trim(), + enabled: true, + createdAt: now() + }) + state.db.keywords.unshift(rule) + await saveDB() + $('kw-text').value = '' + $('kw-tip').value = '' + renderKeywordRules() + setFormStatus('关键词规则已新增') + await modalAlert('规则已新增', `关键词“${rule.text}”已启用,后续命中会自动提醒。`) + }) + } + + const bindActions = () => { + document.addEventListener('click', async e => { + const btn = e.target.closest('button[data-act]') + if (!btn) return + if (!state.auth.currentUser) { + await modalAlert('请先登录', '请先输入账号和密码登录后再操作。') + return + } + const id = btn.getAttribute('data-id') + const act = btn.getAttribute('data-act') + if (!id || !act) return + if (act === 'toggle-rule') { + const idx = state.db.keywords.findIndex(k => k.id === id) + if (idx < 0) return + state.db.keywords[idx].enabled = !state.db.keywords[idx].enabled + await saveDB() + renderKeywordRules() + setFormStatus(`关键词已${state.db.keywords[idx].enabled ? '启用' : '停用'}`) + await modalAlert('状态已更新', `关键词已${state.db.keywords[idx].enabled ? '启用' : '停用'}。`) + return + } + if (act === 'delete-rule') { + const rule = state.db.keywords.find(k => k.id === id) + if (!rule) return + const ok = await modalConfirm('确认删除', `确认删除关键词“${rule.text}”吗?`, '确认删除', '取消') + if (!ok) return + state.db.keywords = state.db.keywords.filter(k => k.id !== id) + await saveDB() + renderKeywordRules() + setFormStatus('关键词已删除') + await modalAlert('删除成功', `关键词“${rule.text}”已删除。`) + } + }) + } + + const bindAuth = () => { + const tryLogin = async () => { + const username = String($('login-username').value || '').trim() + const password = String($('login-password').value || '') + if (!username || !password) { + setAuthStatus('请输入账号和密码') + return + } + try { + await apiRequest('/auth/login', { method: 'POST', body: { username, password } }) + } catch { + setAuthStatus('账号或密码不正确,请重试') + await modalAlert('登录失败', '账号或密码不正确,请重新输入。') + return + } + state.auth.currentUser = username + $('login-password').value = '' + await loadDB() + renderAll() + setAuthStatus(`登录成功,欢迎你:${username}`) + setFormStatus('可以开始维护关键词规则') + } + + $('btn-login').addEventListener('click', tryLogin) + $('login-password').addEventListener('keydown', async e => { + if (e.key !== 'Enter') return + e.preventDefault() + await tryLogin() + }) + $('btn-logout').addEventListener('click', async () => { + try { await apiRequest('/auth/logout', { method: 'POST' }) } catch {} + state.auth.currentUser = '' + state.db = { records: [], keywords: defaultKeywords() } + setFormStatus('') + setAuthStatus('已退出登录') + renderAll() + }) + } + + const bindNav = () => { + $('btn-back-main').addEventListener('click', () => { + window.location.href = '/tools/language_behavior_lock/index.html' + }) + } + + const init = async () => { + bindAuth() + bindKeywordAdd() + bindActions() + bindNav() + try { + const me = await apiRequest('/auth/me') + state.auth.currentUser = String(me.username || DEFAULT_USERNAME) + await loadDB() + setAuthStatus(`已登录:${state.auth.currentUser}`) + setFormStatus('可以开始维护关键词规则') + } catch { + state.auth.currentUser = '' + state.db = { records: [], keywords: defaultKeywords() } + setAuthStatus('请先登录') + } + renderAll() + } + + init() +})() diff --git a/public/tools/language_behavior_lock/language_behavior_lock.css b/public/tools/language_behavior_lock/language_behavior_lock.css new file mode 100644 index 0000000..a6df863 --- /dev/null +++ b/public/tools/language_behavior_lock/language_behavior_lock.css @@ -0,0 +1,465 @@ +body { + margin: 0; + background: #f3f6fb; + color: #1f2937; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", sans-serif; +} + +.page { + max-width: 960px; + margin: 0 auto; + padding: 12px; + display: grid; + gap: 12px; +} + +.hero { + background: #111827; + color: #fff; + border-radius: 12px; + padding: 14px; +} + +.hero-main { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 12px; +} + +.hero h1 { + margin: 0 0 8px; + font-size: 22px; +} + +.hero p { + margin: 0; + opacity: .92; +} + +.hero-auth { + min-width: 320px; + display: grid; + gap: 6px; + justify-items: end; +} + +.auth-login-inline { + display: flex; + gap: 6px; + align-items: center; +} + +.auth-login-inline input { + width: 110px; + height: 34px; + border-color: #334155; + background: #0f172a; + color: #fff; +} + +.auth-login-inline input::placeholder { + color: #94a3b8; +} + +.hero-auth .btn-primary { + width: auto; + margin-top: 0; + height: 34px; + padding: 0 12px; +} + +.auth-row { + display: flex; + align-items: center; + gap: 8px; +} + +.hero-auth .auth-row .btn { + height: 34px; + padding: 0 12px; + background: #1e293b; +} + +.auth-current-user { + font-size: 13px; + color: #e2e8f0; + font-weight: 600; +} + +.hero-auth .status { + margin-top: 0; + min-height: 16px; + font-size: 12px; + color: #cbd5e1; + text-align: right; +} + +.card { + background: #fff; + border-radius: 12px; + padding: 14px; + box-shadow: 0 2px 12px rgba(17, 24, 39, 0.06); +} + +h2 { + margin: 0 0 12px; + font-size: 18px; +} + +h3 { + margin: 14px 0 8px; + font-size: 15px; +} + +label { + display: grid; + gap: 6px; + font-size: 14px; +} + +input, select, textarea { + height: 38px; + border: 1px solid #cbd5e1; + border-radius: 8px; + padding: 0 10px; + background: #fff; +} + +textarea { + min-height: 88px; + height: auto; + padding: 10px; + resize: vertical; + line-height: 1.5; +} + +.grid { + display: grid; + gap: 10px; +} + +.grid.two { + grid-template-columns: 1fr 1fr; +} + +.grid.one { + grid-template-columns: 1fr; +} + +.inline-risk-field { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 8px; + align-items: center; +} + +.full { + grid-column: 1 / -1; +} + +.check-grid { + display: grid; + gap: 8px; +} + +.check-grid label { + display: flex; + gap: 8px; + align-items: flex-start; +} + +.check-grid input[type="checkbox"] { + width: 16px; + height: 16px; + margin-top: 2px; +} + +.btn { + border: 0; + border-radius: 8px; + height: 38px; + padding: 0 14px; + background: #334155; + color: #fff; + cursor: pointer; +} + +.btn:disabled { + opacity: .45; + cursor: not-allowed; +} + +.btn.btn-soft-disabled { + opacity: .6; + background: #94a3b8; +} + +.btn-primary { + width: 100%; + background: #2563eb; + margin-top: 12px; +} + +.btn-link { + height: auto; + padding: 0; + border-radius: 0; + background: transparent; + color: #1d4ed8; + text-decoration: underline; +} + +.form-actions { + margin-top: 12px; + display: flex; + flex-wrap: wrap; + gap: 8px; +} + +.status { + min-height: 20px; + margin-top: 8px; + color: #334155; + font-size: 13px; +} + +.warn { + background: #fee2e2; + border: 1px solid #ef4444; + color: #991b1b; + border-radius: 8px; + padding: 10px; + font-size: 13px; +} + +.result-box { + border: 1px solid #bfdbfe; + border-radius: 8px; + background: #eff6ff; + color: #1e3a8a; + padding: 10px; + line-height: 1.5; + font-size: 14px; +} + +.decision { + border: 1px dashed #cbd5e1; + border-radius: 8px; + padding: 12px; + min-height: 80px; +} + +.decision.pass { + border-color: #16a34a; + background: #f0fdf4; +} + +.decision.wait { + border-color: #2563eb; + background: #eff6ff; +} + +.decision.stop { + border-color: #dc2626; + background: #fef2f2; +} + +.list { + display: grid; + gap: 8px; +} + +.row { + border: 1px solid #e2e8f0; + border-radius: 8px; + padding: 10px; + display: grid; + gap: 8px; +} + +.row-head { + display: flex; + align-items: center; + justify-content: space-between; + gap: 8px; +} + +.row .meta { + font-size: 13px; + color: #475569; +} + +.row .actions { + display: flex; + flex-wrap: wrap; + gap: 8px; +} + +.history-toolbar { + display: grid; + grid-template-columns: 2fr 1fr 1fr auto; + gap: 8px; + margin-bottom: 10px; + align-items: end; +} + +.tag { + display: inline-block; + padding: 1px 6px; + border-radius: 999px; + border: 1px solid #cbd5e1; + background: #f8fafc; + color: #334155; + font-size: 12px; +} + +.tag.high { + border-color: #ef4444; + color: #b91c1c; + background: #fef2f2; +} + +.tag.medium { + border-color: #f59e0b; + color: #92400e; + background: #fffbeb; +} + +.tag.low { + border-color: #22c55e; + color: #166534; + background: #f0fdf4; +} + +.modal-mask { + position: fixed; + inset: 0; + background: rgba(15, 23, 42, 0.45); + display: flex; + align-items: center; + justify-content: center; + padding: 16px; + z-index: 1000; +} + +.modal-panel { + width: min(92vw, 460px); + background: #fff; + border-radius: 12px; + box-shadow: 0 10px 40px rgba(15, 23, 42, 0.25); + padding: 14px; + display: grid; + gap: 12px; +} + +.modal-panel.wide { + width: min(92vw, 760px); +} + +.modal-title { + font-size: 17px; + font-weight: 700; + color: #0f172a; +} + +.modal-message { + font-size: 14px; + color: #334155; + line-height: 1.55; + white-space: pre-wrap; + max-height: 62vh; + overflow: auto; +} + +.modal-message.is-rich { + white-space: normal; +} + +.detail-section-title { + margin: 10px 0 6px; + font-size: 14px; + font-weight: 700; + color: #0f172a; +} + +.detail-row { + display: grid; + grid-template-columns: 130px 1fr; + gap: 8px; + align-items: start; + margin-bottom: 6px; +} + +.detail-label { + color: #0f172a; + font-weight: 600; +} + +.detail-value { + color: #1d4ed8; + white-space: pre-wrap; + word-break: break-word; +} + +.modal-actions { + display: flex; + justify-content: flex-end; + gap: 8px; +} + +.modal-actions .btn-primary { + width: auto; + margin-top: 0; +} + +@media (max-width: 700px) { + .hero-main { + flex-direction: column; + } + + .hero-auth { + min-width: 0; + width: 100%; + justify-items: stretch; + } + + .auth-login-inline { + display: grid; + grid-template-columns: 1fr 1fr auto; + } + + .auth-row { + justify-content: space-between; + } + + .hero-auth .status { + text-align: left; + } + + .grid.two { + grid-template-columns: 1fr; + } + + .history-toolbar { + grid-template-columns: 1fr; + } + + .inline-risk-field { + grid-template-columns: 1fr; + } + + .row .actions .btn { + flex: 1 1 calc(50% - 8px); + min-width: 120px; + } + + .detail-row { + grid-template-columns: 1fr; + gap: 4px; + } + + .hero h1 { + font-size: 19px; + } +} diff --git a/public/tools/language_behavior_lock/language_behavior_lock.js b/public/tools/language_behavior_lock/language_behavior_lock.js new file mode 100644 index 0000000..822e9d2 --- /dev/null +++ b/public/tools/language_behavior_lock/language_behavior_lock.js @@ -0,0 +1,1119 @@ +(() => { + ;(function handleSetToken() { + try { + const u = new URL(window.location.href) + const token = u.searchParams.get('set_token') + if (token) { + localStorage.setItem('toolbox_creds_token', token) + u.searchParams.delete('set_token') + window.history.replaceState(null, '', u.toString()) + } + } catch {} + })() + const API_BASE = '/api/language_behavior_lock' + const DEFAULT_USERNAME = 'admin' + const LEGACY_STORAGE_KEY = 'language_behavior_lock_data' + const LEGACY_DRAFT_KEY = 'language_behavior_lock_draft' + + const $ = id => document.getElementById(id) + const hasEl = id => !!document.getElementById(id) + const now = () => Date.now() + const genId = () => `${Date.now()}_${Math.random().toString(36).slice(2, 8)}` + + const state = { + auth: { currentUser: '' }, + db: { records: [], keywords: [] }, + draft: null, + modal: { resolver: null }, + ui: { + history: { search: '', type: 'all', status: 'all' } + } + } + + const defaultKeywords = () => ([ + { id: genId(), text: '你怎么这么', type: 'speech', level: 'high', extraMinutes: 20, tip: '你触发了高风险表达,建议延长冷静期。', enabled: true, createdAt: now() }, + { id: genId(), text: '早就说了', type: 'speech', level: 'medium', extraMinutes: 15, tip: '这类表达容易升级冲突,建议继续冷静。', enabled: true, createdAt: now() }, + { id: genId(), text: '你一直都', type: 'speech', level: 'high', extraMinutes: 20, tip: '绝对化表达风险较高,建议先改写再决定。', enabled: true, createdAt: now() }, + { id: genId(), text: '拿回家', type: 'behavior', level: 'high', extraMinutes: 25, tip: '涉及边界风险行为,建议延长冷静并复核后果。', enabled: true, createdAt: now() } + ]) + + const emptyDB = () => ({ + records: [], + keywords: defaultKeywords() + }) + + const parseJSON = (raw, fallback) => { + try { + const parsed = JSON.parse(raw) + if (parsed === null || typeof parsed !== 'object') return fallback + return parsed + } catch { + return fallback + } + } + + const normalizeKeyword = row => { + const levelRaw = String(row && row.level || 'medium') + const level = ['low', 'medium', 'high'].includes(levelRaw) ? levelRaw : 'medium' + const typeRaw = String(row && row.type || 'all') + const type = ['all', 'speech', 'behavior', 'securities'].includes(typeRaw) ? typeRaw : 'all' + return { + id: String(row && row.id || genId()), + text: String(row && row.text || '').trim(), + type, + level, + extraMinutes: Math.max(0, Number(row && row.extraMinutes) || 0), + tip: String(row && row.tip || '').trim(), + enabled: row && row.enabled !== false, + createdAt: Number(row && row.createdAt) || now() + } + } + + const normalizeActionLog = row => ({ + at: Number(row && row.at) || now(), + action: String(row && row.action || ''), + detail: String(row && row.detail || '') + }) + + const normalizeRecord = row => { + const typeRaw = String(row && row.type || 'speech') + const type = ['speech', 'behavior', 'securities'].includes(typeRaw) ? typeRaw : 'speech' + const statusList = ['cooling', 'sent', 'done', 'postponed', 'abandoned'] + const statusRaw = String(row && row.status || 'cooling') + const status = statusList.includes(statusRaw) ? statusRaw : 'cooling' + return { + id: String(row && row.id || genId()), + type, + title: String(row && row.title || ''), + content: String(row && row.content || ''), + finalContent: String(row && row.finalContent || ''), + answers: { + q1: String(row && row.answers && row.answers.q1 || ''), + q1RiskNote: String(row && row.answers && row.answers.q1RiskNote || ''), + q2: String(row && row.answers && row.answers.q2 || ''), + q2RiskNote: String(row && row.answers && row.answers.q2RiskNote || ''), + q3: String(row && row.answers && row.answers.q3 || ''), + q3RiskNote: String(row && row.answers && row.answers.q3RiskNote || '') + }, + dimensions: { + scope: String(row && row.dimensions && row.dimensions.scope || ''), + reversible: String(row && row.dimensions && row.dimensions.reversible || ''), + costType: String(row && row.dimensions && row.dimensions.costType || ''), + emotionLevel: Number(row && row.dimensions && row.dimensions.emotionLevel) || 0 + }, + riskLevel: ['low', 'medium', 'high'].includes(String(row && row.riskLevel || '')) ? String(row.riskLevel) : 'medium', + riskScore: Number(row && row.riskScore) || 0, + coolingMinutes: Math.max(1, Number(row && row.coolingMinutes) || 30), + coolingEndAt: Number(row && row.coolingEndAt) || now(), + keywordHits: Array.isArray(row && row.keywordHits) ? row.keywordHits.map(k => ({ + text: String(k && k.text || ''), + level: ['low', 'medium', 'high'].includes(String(k && k.level || '')) ? String(k.level) : 'medium', + extraMinutes: Math.max(0, Number(k && k.extraMinutes) || 0), + tip: String(k && k.tip || '') + })) : [], + status, + decisionText: String(row && row.decisionText || ''), + createdAt: Number(row && row.createdAt) || now(), + resultAt: Number(row && row.resultAt) || 0, + actionLogs: Array.isArray(row && row.actionLogs) ? row.actionLogs.map(normalizeActionLog) : [] + } + } + + const normalizeDB = raw => { + const db = raw && typeof raw === 'object' ? raw : {} + const records = Array.isArray(db.records) ? db.records.map(normalizeRecord) : [] + const keywordsRaw = Array.isArray(db.keywords) ? db.keywords : [] + const keywords = keywordsRaw.map(normalizeKeyword).filter(k => k.text) + return { + records: records.sort((a, b) => b.createdAt - a.createdAt), + keywords: keywords.length ? keywords : defaultKeywords() + } + } + + const fmtDateTime = ts => { + const d = new Date(Number(ts) || now()) + const y = d.getFullYear() + const m = String(d.getMonth() + 1).padStart(2, '0') + const day = String(d.getDate()).padStart(2, '0') + const h = String(d.getHours()).padStart(2, '0') + const mm = String(d.getMinutes()).padStart(2, '0') + const s = String(d.getSeconds()).padStart(2, '0') + return `${y}-${m}-${day} ${h}:${mm}:${s}` + } + + const coolingLeftMs = record => Math.max(0, Number(record && record.coolingEndAt) - now()) + + const coolingLeftText = record => { + const left = coolingLeftMs(record) + const totalSec = Math.floor(left / 1000) + const hours = Math.floor(totalSec / 3600) + const minutes = Math.floor((totalSec % 3600) / 60) + const seconds = totalSec % 60 + return `${hours}小时 ${minutes}分 ${seconds}秒` + } + + const setAuthStatus = text => { + $('auth-status').textContent = text || '' + } + + const setFormStatus = text => { + $('form-status').textContent = text || '' + } + + const openModal = ({ title, message, okText = '知道了', cancelText = '', tone = 'normal', wide = false, html = false }) => { + return new Promise(resolve => { + const mask = $('app-modal') + const panel = mask.querySelector('.modal-panel') + const titleBox = $('modal-title') + const msgBox = $('modal-message') + const actions = $('modal-actions') + actions.innerHTML = '' + if (panel) panel.classList.toggle('wide', !!wide) + titleBox.textContent = title || '' + msgBox.classList.toggle('is-rich', !!html) + if (html) msgBox.innerHTML = message || '' + else msgBox.textContent = message || '' + const close = val => { + mask.style.display = 'none' + state.modal.resolver = null + resolve(val) + } + if (cancelText) { + const cancelBtn = document.createElement('button') + cancelBtn.className = 'btn' + cancelBtn.type = 'button' + cancelBtn.textContent = cancelText + cancelBtn.addEventListener('click', () => close(false)) + actions.appendChild(cancelBtn) + } + const okBtn = document.createElement('button') + okBtn.className = tone === 'primary' ? 'btn btn-primary' : 'btn' + okBtn.type = 'button' + okBtn.textContent = okText + okBtn.addEventListener('click', () => close(true)) + actions.appendChild(okBtn) + mask.style.display = '' + state.modal.resolver = close + }) + } + + const modalAlert = (title, message) => openModal({ title, message, okText: '我知道了' }) + const modalConfirm = (title, message, okText = '继续', cancelText = '取消') => openModal({ title, message, okText, cancelText, tone: 'primary' }) + const modalDetail = (title, message) => openModal({ title, message, okText: '关闭', wide: true, html: true }) + + const apiRequest = async (path, options = {}) => { + const res = await fetch(`${API_BASE}${path}`, { + method: options.method || 'GET', + headers: { + 'Content-Type': 'application/json', + ...(options.headers || {}) + }, + body: options.body === undefined ? undefined : JSON.stringify(options.body), + credentials: 'include' + }) + let payload = null + try { + payload = await res.json() + } catch { + payload = null + } + if (!res.ok) { + const msg = payload && payload.error ? String(payload.error) : `http_${res.status}` + throw new Error(msg) + } + return payload || {} + } + + const loadLegacy = () => { + const rawDB = parseJSON(localStorage.getItem(LEGACY_STORAGE_KEY) || 'null', null) + const rawDraft = parseJSON(localStorage.getItem(LEGACY_DRAFT_KEY) || 'null', null) + return { + db: normalizeDB(rawDB), + draft: rawDraft && typeof rawDraft === 'object' ? rawDraft : null + } + } + + const clearLegacy = () => { + localStorage.removeItem(LEGACY_STORAGE_KEY) + localStorage.removeItem(LEGACY_DRAFT_KEY) + } + + const hasData = payload => { + if (!payload || typeof payload !== 'object') return false + const db = payload.db && typeof payload.db === 'object' ? payload.db : {} + return (Array.isArray(db.records) && db.records.length > 0) || (Array.isArray(db.keywords) && db.keywords.length > 0) || !!payload.draft + } + + const ensureLoggedIn = async () => { + if (state.auth.currentUser) return true + await modalAlert('请先登录', '请先输入账号和密码登录后再操作。') + return false + } + + const renderAuth = () => { + const user = state.auth.currentUser + $('auth-login-box').style.display = user ? 'none' : '' + $('auth-logged-box').style.display = user ? '' : 'none' + $('app-content').style.display = user ? '' : 'none' + $('auth-current-user').textContent = user ? `当前账号:${user}` : '' + } + + const loadDB = async () => { + if (!state.auth.currentUser) { + state.db = emptyDB() + state.draft = null + return + } + const payload = await apiRequest('/data') + state.db = normalizeDB(payload.db) + state.draft = payload.draft && typeof payload.draft === 'object' ? payload.draft : null + const legacy = loadLegacy() + if (hasData(legacy) && !hasData(payload)) { + state.db = legacy.db + state.draft = legacy.draft + await apiRequest('/data', { method: 'PUT', body: { db: state.db, draft: state.draft } }) + clearLegacy() + } + } + + const saveDB = async () => { + if (!state.auth.currentUser) return + await apiRequest('/data', { method: 'PUT', body: { db: state.db, draft: state.draft } }) + } + + const typeText = type => type === 'behavior' ? '行为' : type === 'securities' ? '证券' : '发言' + const levelText = level => ({ low: '低风险', medium: '中风险', high: '高风险' })[level] || '中风险' + const statusText = status => ({ + cooling: '冷静中', + sent: '已发送', + done: '已执行', + postponed: '延后冷静中', + abandoned: '已放弃' + })[status] || status + const q1Text = val => ({ impulse: '冲动', mixed: '说不清', plan: '计划' })[val] || '未填写' + const q2Text = val => ({ no_regret: '大概率不会', maybe_regret: '可能会', must_do: '很可能后悔' })[val] || '未填写' + const q3Text = val => ({ cannot_accept: '不能接受', hard_accept: '勉强接受', accept: '可以接受' })[val] || '未填写' + const scopeText = val => ({ self: '仅自己', single: '一对一', group: '多人/公开场景' })[val] || '未填写' + const reversibleText = val => ({ high: '容易撤回', medium: '部分可补救', low: '几乎不可逆' })[val] || '未填写' + const costTypeText = val => ({ relationship: '关系', reputation: '信誉', money: '金钱', safety: '安全' })[val] || '未填写' + + const actionText = action => ({ + submit: '提交申请', + send: '发送原话', + 'rewrite-send': '改写后发送', + do: '执行行为', + postpone: '延后30分钟', + abandon: '放弃', + 'copy-create': '复制新增' + })[action] || action + + const pushActionLog = (record, action, detail = '') => { + if (!record.actionLogs) record.actionLogs = [] + record.actionLogs.push(normalizeActionLog({ at: now(), action, detail })) + } + + const escapeHtml = text => String(text || '') + .replace(/&/g, '&') + .replace(//g, '>') + .replace(/"/g, '"') + .replace(/'/g, ''') + + const detailRow = (label, value) => ` +
    +
    ${escapeHtml(label)}
    +
    ${escapeHtml(value)}
    +
    + ` + + const detailSectionTitle = title => `
    ${escapeHtml(title)}
    ` + + const detailMessage = record => { + const hits = (record.keywordHits || []).length + ? record.keywordHits.map(h => `“${h.text}”(${levelText(h.level)} +${h.extraMinutes}分钟)`).join('、') + : '无' + const logs = Array.isArray(record.actionLogs) && record.actionLogs.length + ? record.actionLogs + : (record.decisionText || record.resultAt + ? [{ at: record.resultAt || record.createdAt, action: 'legacy', detail: record.decisionText || '' }] + : []) + const logLines = logs.length + ? logs.map((log, idx) => `${idx + 1}. ${fmtDateTime(log.at)} | ${actionText(log.action)}${log.detail ? ` | ${log.detail}` : ''}`) + : ['暂无操作记录'] + const baseRows = [ + detailRow('标题', record.title || ''), + detailRow('类型', typeText(record.type)), + detailRow('状态', statusText(record.status)), + detailRow('提交时间', fmtDateTime(record.createdAt)), + detailRow('冷静时长', `${record.coolingMinutes} 分钟`), + detailRow('风险等级', `${levelText(record.riskLevel)}(${record.riskScore}分)`) + ].join('') + const inputRows = [ + detailRow('内容', record.content || ''), + detailRow('第1问', q1Text(record.answers && record.answers.q1)), + detailRow('第1问理由', (record.answers && record.answers.q1RiskNote) || '未填写'), + detailRow('第2问', q2Text(record.answers && record.answers.q2)), + detailRow('第2问理由', (record.answers && record.answers.q2RiskNote) || '未填写'), + detailRow('第3问', q3Text(record.answers && record.answers.q3)), + detailRow('第3问理由', (record.answers && record.answers.q3RiskNote) || '未填写'), + detailRow('影响范围', scopeText(record.dimensions && record.dimensions.scope)), + detailRow('可逆性', reversibleText(record.dimensions && record.dimensions.reversible)), + detailRow('主要后果类型', costTypeText(record.dimensions && record.dimensions.costType)), + detailRow('当前情绪强度', record.dimensions && record.dimensions.emotionLevel ? String(record.dimensions.emotionLevel) : '未填写'), + detailRow('命中关键词', hits) + ].join('') + const logRows = logLines.map(line => detailRow('记录', line)).join('') + return ` + ${baseRows} + ${detailSectionTitle('填写内容')} + ${inputRows} + ${detailSectionTitle('按钮操作历史')} + ${logRows} + ` + } + + const escapeAttr = text => String(text || '') + .replace(/&/g, '&') + .replace(/"/g, '"') + .replace(//g, '>') + + const buildActionBtn = (id, act, text, blockedReason = '') => { + const cls = blockedReason ? 'btn btn-soft-disabled' : 'btn' + const reasonAttr = blockedReason ? ` data-block-reason="${escapeAttr(blockedReason)}" title="${escapeAttr(blockedReason)}"` : '' + return `` + } + + const hasCopyCreateResultMark = record => ['sent', 'done', 'abandoned'].includes(String(record && record.status || '')) + + const copyCreateBlockReasonOfRecord = record => { + if (!record) return '这条记录不存在或已被移除,暂时不能复制新增。' + if (coolingLeftMs(record) > 0) return `冷静期还剩 ${coolingLeftText(record)},请等倒计时结束后再复制新增。` + if (!hasCopyCreateResultMark(record)) return `当前状态是“${statusText(record.status)}”,请先完成并标记结果(发送/执行/放弃)后再复制新增。` + return '' + } + + const loadRecordToForm = record => { + resetForm() + $('entry-type').value = record && record.type ? record.type : 'speech' + $('entry-title').value = String(record && record.title || '') + $('entry-content').value = String(record && record.type === 'speech' && record.finalContent ? record.finalContent : record && record.content || '') + $('q1').value = String(record && record.answers && record.answers.q1 || '') + $('q1-risk-note').value = String(record && record.answers && record.answers.q1RiskNote || '') + $('q2').value = String(record && record.answers && record.answers.q2 || '') + $('q2-risk-note').value = String(record && record.answers && record.answers.q2RiskNote || '') + $('q3').value = String(record && record.answers && record.answers.q3 || '') + $('q3-risk-note').value = String(record && record.answers && record.answers.q3RiskNote || '') + $('impact-scope').value = String(record && record.dimensions && record.dimensions.scope || '') + $('reversible').value = String(record && record.dimensions && record.dimensions.reversible || '') + $('cost-type').value = String(record && record.dimensions && record.dimensions.costType || '') + $('emotion-level').value = String(Number(record && record.dimensions && record.dimensions.emotionLevel) || '') + $('cooling-minutes').value = String(Math.max(1, Number(record && record.coolingMinutes) || 30)) + refreshRiskInfo() + const formTop = $('application-form') + if (formTop && formTop.scrollIntoView) formTop.scrollIntoView({ behavior: 'smooth', block: 'start' }) + } + + const detectKeywordHits = (content, type) => { + const text = String(content || '').toLowerCase() + if (!text) return [] + const hits = [] + state.db.keywords.forEach(rule => { + if (!rule.enabled || !rule.text) return + if (rule.type !== 'all' && rule.type !== type) return + if (text.includes(rule.text.toLowerCase())) { + hits.push({ + text: rule.text, + level: rule.level, + extraMinutes: Math.max(0, Number(rule.extraMinutes) || 0), + tip: rule.tip || '' + }) + } + }) + return hits + } + + const calcRisk = () => { + const type = $('entry-type').value || 'speech' + const content = $('entry-content').value.trim() + const q1 = $('q1').value + const q2 = $('q2').value + const q3 = $('q3').value + const scope = $('impact-scope').value + const reversible = $('reversible').value + const costType = $('cost-type').value + const emotionLevel = Number($('emotion-level').value || 0) + const hits = detectKeywordHits(content, type) + + let score = 0 + score += ({ impulse: 3, mixed: 1, plan: 0 })[q1] || 0 + score += ({ no_regret: 2, maybe_regret: 1, must_do: -1 })[q2] || 0 + score += ({ cannot_accept: 3, hard_accept: 1, accept: 0 })[q3] || 0 + score += ({ self: 0, single: 1, group: 2 })[scope] || 0 + score += ({ high: 0, medium: 1, low: 2 })[reversible] || 0 + score += ({ relationship: 2, reputation: 1, money: 1, safety: 3 })[costType] || 0 + score += emotionLevel >= 5 ? 3 : emotionLevel >= 4 ? 2 : emotionLevel >= 3 ? 1 : 0 + hits.forEach(h => { + score += h.level === 'high' ? 2 : h.level === 'medium' ? 1 : 0 + }) + + let level = 'low' + if (score >= 10) level = 'high' + else if (score >= 5) level = 'medium' + + const isBehavior = type === 'behavior' + const isSecurities = type === 'securities' + const base = isSecurities + ? 1440 + : isBehavior + ? (level === 'high' ? 120 : level === 'medium' ? 60 : 30) + : (level === 'high' ? 30 : level === 'medium' ? 15 : 5) + const extra = hits.reduce((sum, h) => sum + (Number(h.extraMinutes) || 0), 0) + const maxLimit = isSecurities ? 2880 : isBehavior ? 240 : 90 + const suggested = Math.max(isSecurities ? 1440 : isBehavior ? 30 : 5, Math.min(maxLimit, base + extra)) + return { score, level, base, extra, suggested, hits } + } + + const refreshKeywordHitBox = hits => { + const box = $('keyword-hit-box') + if (!hits.length) { + box.style.display = 'none' + box.textContent = '' + return + } + const lines = hits.map(h => `命中“${h.text}” · ${levelText(h.level)} · 建议加时 ${h.extraMinutes} 分钟${h.tip ? ` · ${h.tip}` : ''}`) + box.style.display = '' + box.textContent = `你触发了规则,建议增加冷静时间。\n${lines.join('\n')}` + } + + const syncFormState = () => { + $('btn-submit').disabled = false + } + + const syncQ2RiskNote = () => { + const q2 = $('q2').value + const needNote = q2 === 'maybe_regret' || q2 === 'must_do' + const noteInput = $('q2-risk-note') + noteInput.style.display = needNote ? '' : 'none' + noteInput.required = needNote + if (!needNote) noteInput.value = '' + } + + const syncQ3RiskNote = () => { + const q3 = $('q3').value + const needNote = q3 === 'cannot_accept' || q3 === 'hard_accept' + const noteInput = $('q3-risk-note') + noteInput.style.display = needNote ? '' : 'none' + noteInput.required = needNote + if (!needNote) noteInput.value = '' + } + + const refreshRiskInfo = () => { + const box = $('risk-box') + const title = $('entry-title').value.trim() + const content = $('entry-content').value.trim() + if (!title || !content) { + box.textContent = '请选择完整信息后自动评估' + refreshKeywordHitBox([]) + syncQ2RiskNote() + syncQ3RiskNote() + syncFormState() + return + } + const result = calcRisk() + box.textContent = `风险等级:${levelText(result.level)} | 风险分:${result.score} | 基准时长:${result.base} 分钟 | 关键词追加:${result.extra} 分钟 | 建议冷静期:${result.suggested} 分钟` + const manual = Number($('cooling-minutes').value || 0) + if (!manual || manual < result.suggested) $('cooling-minutes').value = String(result.suggested) + refreshKeywordHitBox(result.hits) + syncQ2RiskNote() + syncQ3RiskNote() + syncFormState() + } + + const resetForm = () => { + $('application-form').reset() + $('entry-type').value = 'speech' + syncQ2RiskNote() + syncQ3RiskNote() + $('risk-box').textContent = '请选择完整信息后自动评估' + refreshKeywordHitBox([]) + syncFormState() + } + + const latestRecord = () => state.db.records.slice().sort((a, b) => b.createdAt - a.createdAt)[0] || null + const getRecordById = id => state.db.records.find(r => r.id === id) + + const renderDecision = () => { + const panel = $('decision-panel') + const item = latestRecord() + if (!item) { + panel.className = 'decision' + panel.textContent = '暂无申请记录' + return + } + const isCooling = (item.status === 'cooling' || item.status === 'postponed') && coolingLeftMs(item) > 0 + const ended = (item.status === 'cooling' || item.status === 'postponed') && coolingLeftMs(item) <= 0 + if (isCooling) { + panel.className = 'decision wait' + panel.innerHTML = ` +
    ${item.title} · ${typeText(item.type)} · ${levelText(item.riskLevel)}
    +
    冷静期剩余:${coolingLeftText(item)}
    +
    冷静期内不可执行最终动作。
    + ` + return + } + if (ended) { + panel.className = 'decision pass' + if (item.type === 'speech') { + panel.innerHTML = ` +
    ${item.title} · 冷静期已结束
    +
    你现在可以:发送 / 改写后发送 / 放弃
    +
    + + + +
    + ` + } else { + panel.innerHTML = ` +
    ${item.title} · 冷静期已结束
    +
    你现在可以:执行 / 延后30分钟 / 放弃
    +
    + + + +
    + ` + } + return + } + panel.className = item.status === 'abandoned' ? 'decision stop' : 'decision pass' + panel.innerHTML = ` +
    ${item.title} · ${typeText(item.type)}
    +
    最终状态:${statusText(item.status)}
    +
    ${item.decisionText || ''}
    +
    更新时间:${fmtDateTime(item.resultAt || item.createdAt)}
    + ` + } + + const renderKeywordRules = () => { + const box = $('keyword-list') + if (!box) return + box.innerHTML = '' + if (!state.db.keywords.length) { + box.textContent = '暂无关键词规则' + return + } + state.db.keywords.slice().sort((a, b) => b.createdAt - a.createdAt).forEach(rule => { + const row = document.createElement('div') + row.className = 'row' + const typeLabel = rule.type === 'speech' ? '发言' : rule.type === 'behavior' ? '行为' : rule.type === 'securities' ? '证券' : '全部' + row.innerHTML = ` +
    ${rule.text} ${levelText(rule.level)}
    +
    适用:${typeLabel} | 建议加时:${rule.extraMinutes} 分钟 | 状态:${rule.enabled ? '启用' : '停用'}
    +
    ${rule.tip || ''}
    +
    + + +
    + ` + box.appendChild(row) + }) + } + + const getFilteredHistory = () => { + const search = state.ui.history.search.trim().toLowerCase() + const type = state.ui.history.type + const status = state.ui.history.status + return state.db.records.filter(r => { + if (type !== 'all' && r.type !== type) return false + if (status !== 'all' && r.status !== status) return false + if (!search) return true + const hitText = [r.title, r.content, r.decisionText].join(' ').toLowerCase() + return hitText.includes(search) + }).sort((a, b) => b.createdAt - a.createdAt) + } + + const renderHistory = () => { + const box = $('history-list') + box.innerHTML = '' + const list = getFilteredHistory() + if (!list.length) { + box.textContent = '暂无符合条件的记录' + return + } + list.forEach(item => { + const row = document.createElement('div') + row.className = 'row' + const coolingTag = (item.status === 'cooling' || item.status === 'postponed') && coolingLeftMs(item) > 0 + ? ` | 剩余:${coolingLeftText(item)}` + : '' + const hits = item.keywordHits.map(h => `“${h.text}”`).join('、') + const inCooling = (item.status === 'cooling' || item.status === 'postponed') && coolingLeftMs(item) > 0 + const isFinished = item.status === 'sent' || item.status === 'done' || item.status === 'abandoned' + const blockReason = inCooling + ? `冷静期还剩 ${coolingLeftText(item)},现在先别操作。先把后果再看一遍,等倒计时结束再决定。` + : (isFinished ? `这条记录已经是“${statusText(item.status)}”,为了避免反复改动,现在不能再次操作。` : '') + const copyCreateBlock = copyCreateBlockReasonOfRecord(item) + const actionsHtml = item.type === 'speech' + ? ` + ${buildActionBtn(item.id, 'send', '发送', blockReason)} + ${buildActionBtn(item.id, 'rewrite-send', '改写后发送', blockReason)} + ${buildActionBtn(item.id, 'abandon', '放弃', blockReason)} + ${buildActionBtn(item.id, 'copy-create', '复制新增', copyCreateBlock)} + ` + : ` + ${buildActionBtn(item.id, 'do', '执行', blockReason)} + ${buildActionBtn(item.id, 'postpone', '延后30分钟', blockReason)} + ${buildActionBtn(item.id, 'abandon', '放弃', blockReason)} + ${buildActionBtn(item.id, 'copy-create', '复制新增', copyCreateBlock)} + ` + row.innerHTML = ` +
    +
    ${item.title} · ${typeText(item.type)} · ${levelText(item.riskLevel)}
    + +
    +
    状态:${statusText(item.status)}${coolingTag}
    +
    提交:${fmtDateTime(item.createdAt)} | 冷静期:${item.coolingMinutes} 分钟
    +
    命中关键词:${hits || '无'}
    +
    ${item.decisionText || ''}
    +
    ${actionsHtml}
    + ` + box.appendChild(row) + }) + } + + const submitIssues = () => { + const issues = [] + if (!$('entry-title').value.trim()) issues.push('请先填写“标题”') + if (!$('entry-content').value.trim()) issues.push('请先填写“内容”') + if (!$('q1').value || !$('q2').value || !$('q3').value) issues.push('核心三问要全部选择') + if (!$('q1-risk-note').value.trim()) issues.push('第1问必须写下判断理由') + if ($('q2-risk-note').required && !$('q2-risk-note').value.trim()) issues.push('第2问选择了高风险项,请写下理由') + if ($('q3-risk-note').required && !$('q3-risk-note').value.trim()) issues.push('第3问选择了高风险项,请写下后果') + const requiredIds = ['impact-scope', 'reversible', 'cost-type', 'emotion-level', 'cooling-minutes'] + if (!requiredIds.every(id => String($(id).value || '').trim())) issues.push('风险维度和冷静时长要填完整') + const commitOk = Array.from(document.querySelectorAll('#commit-final input[type="checkbox"]')).every(n => n.checked) + if (!commitOk) issues.push('最终确认的 3 项勾选都要完成') + return issues + } + + const renderAll = () => { + renderAuth() + renderDecision() + renderHistory() + syncFormState() + } + + const collectFormData = () => { + const result = calcRisk() + return { + type: $('entry-type').value || 'speech', + title: $('entry-title').value.trim(), + content: $('entry-content').value.trim(), + answers: { + q1: $('q1').value, + q1RiskNote: $('q1-risk-note').value.trim(), + q2: $('q2').value, + q2RiskNote: $('q2-risk-note').value.trim(), + q3: $('q3').value, + q3RiskNote: $('q3-risk-note').value.trim() + }, + dimensions: { + scope: $('impact-scope').value, + reversible: $('reversible').value, + costType: $('cost-type').value, + emotionLevel: Number($('emotion-level').value || 0) + }, + riskLevel: result.level, + riskScore: result.score, + keywordHits: result.hits, + suggestedMinutes: result.suggested + } + } + + const saveDraftFromForm = async () => { + const draft = { + type: $('entry-type').value || 'speech', + title: $('entry-title').value.trim(), + content: $('entry-content').value.trim(), + q1: $('q1').value, + q1RiskNote: $('q1-risk-note').value.trim(), + q2: $('q2').value, + q2RiskNote: $('q2-risk-note').value.trim(), + q3: $('q3').value, + q3RiskNote: $('q3-risk-note').value.trim(), + scope: $('impact-scope').value, + reversible: $('reversible').value, + costType: $('cost-type').value, + emotionLevel: $('emotion-level').value, + coolingMinutes: $('cooling-minutes').value + } + state.draft = draft + await saveDB() + } + + const loadDraftToForm = () => { + const d = state.draft + if (!d) return false + $('entry-type').value = d.type || 'speech' + $('entry-title').value = d.title || '' + $('entry-content').value = d.content || '' + $('q1').value = d.q1 || '' + $('q1-risk-note').value = d.q1RiskNote || '' + $('q2').value = d.q2 || '' + $('q2-risk-note').value = d.q2RiskNote || '' + $('q3').value = d.q3 || '' + $('q3-risk-note').value = d.q3RiskNote || '' + $('impact-scope').value = d.scope || '' + $('reversible').value = d.reversible || '' + $('cost-type').value = d.costType || '' + $('emotion-level').value = d.emotionLevel || '' + $('cooling-minutes').value = d.coolingMinutes || '' + refreshRiskInfo() + return true + } + + const bindForm = () => { + const form = $('application-form') + form.noValidate = true + form.addEventListener('input', () => { + refreshRiskInfo() + }) + form.addEventListener('change', () => { + refreshRiskInfo() + }) + + $('btn-save-draft').addEventListener('click', async () => { + if (!(await ensureLoggedIn())) return + await saveDraftFromForm() + setFormStatus('草稿已保存') + await modalAlert('已保存草稿', '你可以随时回来继续填写,不会丢。') + }) + $('btn-load-draft').addEventListener('click', async () => { + if (!(await ensureLoggedIn())) return + if (loadDraftToForm()) { + setFormStatus('草稿已加载') + await modalAlert('已恢复草稿', '已把你上次的填写内容恢复到表单。') + } else { + setFormStatus('当前没有草稿') + await modalAlert('没有草稿', '当前账号下还没有可恢复的草稿。') + } + }) + $('btn-clear-draft').addEventListener('click', async () => { + if (!(await ensureLoggedIn())) return + const ok = await modalConfirm('确认清空草稿', '确认删除当前草稿吗?', '确认', '取消') + if (!ok) return + state.draft = null + await saveDB() + setFormStatus('草稿已清空') + await modalAlert('已清空草稿', '草稿已经删除,后续会从空白开始填写。') + }) + const settingsBtn = $('btn-open-keyword-settings') + if (settingsBtn) { + settingsBtn.addEventListener('click', async () => { + if (!(await ensureLoggedIn())) return + window.location.href = '/tools/language_behavior_lock/keyword_settings.html' + }) + } + + form.addEventListener('submit', async e => { + e.preventDefault() + if (!(await ensureLoggedIn())) return + const issues = submitIssues() + if (issues.length) { + setFormStatus('请按提示补全后再提交') + await modalAlert('还不能提交', `请先完成以下项目:\n- ${issues.join('\n- ')}`) + return + } + const payload = collectFormData() + const rawMinutes = Math.max(1, Number($('cooling-minutes').value) || 0) + const baseMin = payload.type === 'securities' ? 1440 : payload.type === 'behavior' ? 30 : 5 + const coolingMinutes = Math.max(baseMin, rawMinutes) + const createdAt = now() + const record = normalizeRecord({ + id: genId(), + type: payload.type, + title: payload.title, + content: payload.content, + answers: payload.answers, + dimensions: payload.dimensions, + riskLevel: payload.riskLevel, + riskScore: payload.riskScore, + coolingMinutes, + coolingEndAt: createdAt + coolingMinutes * 60 * 1000, + keywordHits: payload.keywordHits, + status: 'cooling', + decisionText: '已提交,冷静期进行中', + createdAt, + resultAt: 0 + }) + pushActionLog(record, 'submit', `提交并开始冷静期 ${coolingMinutes} 分钟`) + state.db.records.unshift(record) + state.draft = null + await saveDB() + resetForm() + renderAll() + const hitText = payload.keywordHits.length + ? `\n命中关键词:${payload.keywordHits.map(h => `“${h.text}”`).join('、')}` + : '' + await modalAlert('提交成功', `已开始冷静期:${coolingMinutes} 分钟。${hitText}`) + }) + } + + const bindKeywords = () => { + if (!hasEl('btn-keyword-add')) return + $('btn-keyword-add').addEventListener('click', async () => { + if (!(await ensureLoggedIn())) return + const text = $('kw-text').value.trim() + if (!text) { + await modalAlert('无法新增', '请先输入关键词') + return + } + const exists = state.db.keywords.some(k => k.text.toLowerCase() === text.toLowerCase()) + if (exists) { + await modalAlert('无法新增', '该关键词已存在') + return + } + const rule = normalizeKeyword({ + id: genId(), + text, + type: $('kw-type').value || 'all', + level: $('kw-level').value || 'medium', + extraMinutes: Number($('kw-extra-minutes').value || 0), + tip: $('kw-tip').value.trim(), + enabled: true, + createdAt: now() + }) + state.db.keywords.unshift(rule) + await saveDB() + $('kw-text').value = '' + $('kw-tip').value = '' + renderKeywordRules() + refreshRiskInfo() + await modalAlert('规则已新增', `关键词“${rule.text}”已启用,后续命中会自动提醒。`) + }) + } + + const bindActions = () => { + document.addEventListener('click', async e => { + const btn = e.target.closest('button[data-act]') + if (!btn) return + if (!(await ensureLoggedIn())) return + const act = btn.getAttribute('data-act') + const id = btn.getAttribute('data-id') + if (!act || !id) return + const blockReason = btn.getAttribute('data-block-reason') + if (blockReason) { + await modalAlert('暂时不能操作', blockReason) + return + } + + if (act === 'toggle-rule') { + const idx = state.db.keywords.findIndex(k => k.id === id) + if (idx < 0) return + state.db.keywords[idx].enabled = !state.db.keywords[idx].enabled + await saveDB() + renderKeywordRules() + refreshRiskInfo() + await modalAlert('状态已更新', `关键词已${state.db.keywords[idx].enabled ? '启用' : '停用'}。`) + return + } + + if (act === 'delete-rule') { + const rule = state.db.keywords.find(k => k.id === id) + if (!rule) return + const ok = await modalConfirm('确认删除', `确认删除关键词“${rule.text}”吗?`, '确认删除', '取消') + if (!ok) return + state.db.keywords = state.db.keywords.filter(k => k.id !== id) + await saveDB() + renderKeywordRules() + refreshRiskInfo() + await modalAlert('删除成功', `关键词“${rule.text}”已删除。`) + return + } + + const record = getRecordById(id) + if (!record) return + if (act === 'view-detail') { + await modalDetail('记录详情', detailMessage(record)) + return + } + if (act === 'copy-create') { + const reason = copyCreateBlockReasonOfRecord(record) + if (reason) { + await modalAlert('🔔 暂时不能复制新增', `你好!${reason}`) + return + } + loadRecordToForm(record) + setFormStatus(`已把“${record.title || '历史记录'}”复制到表单,可修改后再提交`) + await modalAlert('✅ 已复制到表单', '已把这条记录带到上方表单。你可以先改一点内容,再点击“提交申请”生成新的冷静期记录。') + return + } + if ((record.status === 'cooling' || record.status === 'postponed') && coolingLeftMs(record) > 0) { + await modalAlert('冷静期未结束', `还剩 ${coolingLeftText(record)},现在不能执行最终动作。`) + return + } + if (record.status !== 'cooling' && record.status !== 'postponed') { + await modalAlert('无法操作', '该记录已经完成最终决策。') + return + } + + if (act === 'send') { + record.status = 'sent' + record.decisionText = '你已选择发送原话' + record.resultAt = now() + pushActionLog(record, 'send', '按原内容发送') + } else if (act === 'rewrite-send') { + const text = window.prompt('请输入改写后的表达', record.content || '') + if (text === null) return + if (!String(text).trim()) { + await modalAlert('无法保存', '改写内容不能为空') + return + } + record.finalContent = String(text).trim() + record.status = 'sent' + record.decisionText = '你已选择改写后发送' + record.resultAt = now() + pushActionLog(record, 'rewrite-send', `改写内容:${record.finalContent}`) + } else if (act === 'do') { + record.status = 'done' + record.decisionText = '你已选择执行该行为' + record.resultAt = now() + pushActionLog(record, 'do', '确认执行行为') + } else if (act === 'postpone') { + record.coolingEndAt = now() + 30 * 60 * 1000 + record.coolingMinutes += 30 + record.status = 'postponed' + record.decisionText = '你已选择延后30分钟,避免仓促决策' + record.resultAt = now() + pushActionLog(record, 'postpone', `延后30分钟,累计冷静期 ${record.coolingMinutes} 分钟`) + } else if (act === 'abandon') { + record.status = 'abandoned' + record.decisionText = '你已选择放弃' + record.resultAt = now() + pushActionLog(record, 'abandon', '放弃本次决策') + } else { + return + } + + await saveDB() + renderAll() + await modalAlert('操作已完成', record.decisionText || '状态已更新。') + }) + } + + const bindHistoryFilters = () => { + $('history-search').addEventListener('input', e => { + state.ui.history.search = String(e.target.value || '') + renderHistory() + }) + $('history-type').addEventListener('change', e => { + state.ui.history.type = String(e.target.value || 'all') + renderHistory() + }) + $('history-status').addEventListener('change', e => { + state.ui.history.status = String(e.target.value || 'all') + renderHistory() + }) + $('btn-history-reset').addEventListener('click', () => { + state.ui.history.search = '' + state.ui.history.type = 'all' + state.ui.history.status = 'all' + $('history-search').value = '' + $('history-type').value = 'all' + $('history-status').value = 'all' + renderHistory() + setFormStatus('历史筛选已重置') + }) + } + + const bindAuth = () => { + const tryLogin = async () => { + const username = String($('login-username').value || '').trim() + const password = String($('login-password').value || '') + if (!username || !password) { + setAuthStatus('请输入账号和密码') + return + } + try { + await apiRequest('/auth/login', { method: 'POST', body: { username, password } }) + } catch { + setAuthStatus('账号或密码不正确,请重试') + await modalAlert('登录失败', '账号或密码不正确,请重新输入。') + return + } + state.auth.currentUser = username + $('login-password').value = '' + await loadDB() + renderAll() + syncFormState() + setAuthStatus(`登录成功,欢迎你:${username}`) + const draft = state.draft + setFormStatus(draft ? '检测到草稿,可点击“继续填写草稿”恢复' : '') + } + + $('btn-login').addEventListener('click', tryLogin) + ;(async function tryAutoFill() { + try { + const token = localStorage.getItem('toolbox_creds_token') || '' + const url = '/api/language_behavior_lock/auth/local_creds' + (token ? '?token=' + encodeURIComponent(token) : '') + const r = await fetch(url, { credentials: 'same-origin', cache: 'no-store' }) + const d = await r.json().catch(() => null) + if (d && d.ok && d.creds) { + if (d.creds.username) $('login-username').value = d.creds.username + if (d.creds.password) $('login-password').value = d.creds.password + } + } catch {} + $('login-username').removeAttribute('readonly') + $('login-password').removeAttribute('readonly') + })() + $('login-password').addEventListener('keydown', async e => { + if (e.key !== 'Enter') return + e.preventDefault() + await tryLogin() + }) + $('btn-logout').addEventListener('click', async () => { + try { await apiRequest('/auth/logout', { method: 'POST' }) } catch {} + state.auth.currentUser = '' + state.db = emptyDB() + state.draft = null + resetForm() + setFormStatus('') + setAuthStatus('已退出登录') + renderAll() + }) + } + + const startTick = () => { + setInterval(() => { + if (!state.auth.currentUser) return + renderDecision() + renderHistory() + }, 1000) + } + + const init = async () => { + bindAuth() + bindForm() + bindKeywords() + bindActions() + bindHistoryFilters() + try { + const me = await apiRequest('/auth/me') + state.auth.currentUser = String(me.username || DEFAULT_USERNAME) + await loadDB() + setAuthStatus(`已登录:${state.auth.currentUser}`) + } catch { + state.auth.currentUser = '' + state.db = emptyDB() + state.draft = null + setAuthStatus('请先登录') + } + renderAll() + refreshRiskInfo() + startTick() + } + + init() +})() diff --git a/public/tools/markets/audio/ch_00.mp3 b/public/tools/markets/audio/ch_00.mp3 new file mode 100644 index 0000000..82b14d5 Binary files /dev/null and b/public/tools/markets/audio/ch_00.mp3 differ diff --git a/public/tools/markets/audio/ch_01.mp3 b/public/tools/markets/audio/ch_01.mp3 new file mode 100644 index 0000000..72c589b Binary files /dev/null and b/public/tools/markets/audio/ch_01.mp3 differ diff --git a/public/tools/markets/audio/ch_02.mp3 b/public/tools/markets/audio/ch_02.mp3 new file mode 100644 index 0000000..5ae1961 Binary files /dev/null and b/public/tools/markets/audio/ch_02.mp3 differ diff --git a/public/tools/markets/audio/ch_03.mp3 b/public/tools/markets/audio/ch_03.mp3 new file mode 100644 index 0000000..7c871a3 Binary files /dev/null and b/public/tools/markets/audio/ch_03.mp3 differ diff --git a/public/tools/markets/audio/ch_04.mp3 b/public/tools/markets/audio/ch_04.mp3 new file mode 100644 index 0000000..136f7f4 Binary files /dev/null and b/public/tools/markets/audio/ch_04.mp3 differ diff --git a/public/tools/markets/audio/ch_05.mp3 b/public/tools/markets/audio/ch_05.mp3 new file mode 100644 index 0000000..6de681d Binary files /dev/null and b/public/tools/markets/audio/ch_05.mp3 differ diff --git a/public/tools/markets/audio/ch_06.mp3 b/public/tools/markets/audio/ch_06.mp3 new file mode 100644 index 0000000..ccf1e35 Binary files /dev/null and b/public/tools/markets/audio/ch_06.mp3 differ diff --git a/public/tools/markets/audio/ch_07.mp3 b/public/tools/markets/audio/ch_07.mp3 new file mode 100644 index 0000000..9da7995 Binary files /dev/null and b/public/tools/markets/audio/ch_07.mp3 differ diff --git a/public/tools/markets/audio/ch_08.mp3 b/public/tools/markets/audio/ch_08.mp3 new file mode 100644 index 0000000..fb95860 Binary files /dev/null and b/public/tools/markets/audio/ch_08.mp3 differ diff --git a/public/tools/markets/audio/ch_09.mp3 b/public/tools/markets/audio/ch_09.mp3 new file mode 100644 index 0000000..b966d5b Binary files /dev/null and b/public/tools/markets/audio/ch_09.mp3 differ diff --git a/public/tools/markets/audio/ch_10.mp3 b/public/tools/markets/audio/ch_10.mp3 new file mode 100644 index 0000000..c1b51ca Binary files /dev/null and b/public/tools/markets/audio/ch_10.mp3 differ diff --git a/public/tools/markets/audio/ch_11.mp3 b/public/tools/markets/audio/ch_11.mp3 new file mode 100644 index 0000000..954e82f Binary files /dev/null and b/public/tools/markets/audio/ch_11.mp3 differ diff --git a/public/tools/markets/audio/ch_12.mp3 b/public/tools/markets/audio/ch_12.mp3 new file mode 100644 index 0000000..516f39b Binary files /dev/null and b/public/tools/markets/audio/ch_12.mp3 differ diff --git a/public/tools/markets/audio/ch_13.mp3 b/public/tools/markets/audio/ch_13.mp3 new file mode 100644 index 0000000..1df9f16 Binary files /dev/null and b/public/tools/markets/audio/ch_13.mp3 differ diff --git a/public/tools/markets/audio/ch_14.mp3 b/public/tools/markets/audio/ch_14.mp3 new file mode 100644 index 0000000..747b4db Binary files /dev/null and b/public/tools/markets/audio/ch_14.mp3 differ diff --git a/public/tools/markets/audio/ch_15.mp3 b/public/tools/markets/audio/ch_15.mp3 new file mode 100644 index 0000000..69b6462 Binary files /dev/null and b/public/tools/markets/audio/ch_15.mp3 differ diff --git a/public/tools/markets/index.html b/public/tools/markets/index.html new file mode 100644 index 0000000..6230df8 --- /dev/null +++ b/public/tools/markets/index.html @@ -0,0 +1,297 @@ + + + + + + Yang's Toolbox · 市场跟踪 + + + + + +
    + +
    + + + + + + + +
    + +
    +
    +
    + + + + + + + + + + + +
    +
    +
    + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + diff --git a/public/tools/markets/markets.css b/public/tools/markets/markets.css new file mode 100644 index 0000000..3eaa7f0 --- /dev/null +++ b/public/tools/markets/markets.css @@ -0,0 +1,544 @@ +.bar { display: flex; gap: 12px; align-items: center; padding: 6px 0; border-bottom: 1px solid #e8e8e8; margin-bottom: 16px } +.btn { padding: 8px 16px; border: none; background: linear-gradient(135deg, #1677ff, #0958d9); color: #fff; border-radius: 6px; cursor: pointer; font-weight: 500; transition: all 0.2s ease; box-shadow: 0 2px 4px rgba(22, 119, 255, 0.2) } +.btn:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(22, 119, 255, 0.3) } +.btn:active { transform: translateY(0); box-shadow: 0 1px 2px rgba(22, 119, 255, 0.2) } +.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; margin: 16px auto; width: 90% } +.card { border: 1px solid #e8e8e8; border-radius: 12px; padding: 12px; display: grid; gap: 8px; background: var(--card-bg, #ffffff); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06); transition: all 0.2s ease } +.card-span-2 { grid-column: span 2 } +.card-overseas { --card-bg: #FAE5E5 } +.card-domestic { --card-bg: #F8E0FA } +.card-enhanced { --card-bg: #FDF9E2 } +.card-defensive { --card-bg: #DADAF8 } +.card-us:not(.card-defensive) { --card-bg: #EDF4FF } +.card-299 { --card-bg: #09D3C0 } +.card-error { --card-bg: #f0f0f0; border-color: #d9d9d9; opacity: 0.7 } +.card-zhonghang-299 { padding: 16px; min-height: 260px } +.card-zhonghang-299 .price-display { font-size: 15px; font-weight: 500; line-height: 1.7 } +.card-zhonghang-299 .zh299-wrap { display: grid; gap: 10px } +.card-zhonghang-299 .zh299-price { font-size: 16px; font-weight: 700; color: #003a8c } +.card-zhonghang-299 .zh299-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px } +.card-zhonghang-299 .zh299-block { border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 10px; background: rgba(255, 255, 255, 0.72); padding: 10px 12px } +.card-zhonghang-299 .zh299-title { font-size: 13px; font-weight: 700; color: #0958d9; margin-bottom: 6px } +.card-zhonghang-299 .zh299-row { font-size: 13px; color: #262626; line-height: 1.7 } +.card:hover { box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12); transform: translateY(-2px) } +.meta { font-size: 12px; color: #8c8c8c; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif } +.up { color: #f5222d; font-weight: 600 } +.down { color: #52c41a; font-weight: 600 } +.card-alert { border-color: #ff4d4f; box-shadow: 0 0 0 2px rgba(255,77,79,0.1) } +.alert-flag { display: inline-block; padding: 2px 8px; font-size: 12px; border-radius: 12px; background: linear-gradient(135deg, #ff4d4f, #cf1322); color: #ffffff; margin-left: 8px; font-weight: 500 } +.threshold-label { margin-left: auto; font-size: 13px; color: #fa8c16; font-weight: 500; background: #fff7e6; padding: 4px 8px; border-radius: 4px; border: 1px solid #ffe7ba } +.debug { margin: 16px 0; padding: 12px; border: 1px dashed #d9d9d9; border-radius: 8px; background: #fafafa } +.debug-actions { display: flex; gap: 8px; margin-bottom: 12px } +.debug-output { height: 240px; overflow: auto; background: #f5f5f5; padding: 12px; font-family: "Monaco", "Menlo", "Ubuntu Mono", "Consolas", "Liberation Mono", "Courier New", monospace; font-size: 13px; line-height: 1.5; border-radius: 6px; border: 1px solid #e8e8e8 } +.status { margin: 16px 0; padding: 12px; border: 1px solid #ffe58f; background: linear-gradient(135deg, #fffbe6, #fffb8f); color: #fa8c16; border-radius: 8px; font-weight: 500 } +.subtabs { display: flex; gap: 4px; margin: 0; padding: 4px; background: #f5f5f5; border-radius: 12px; align-items: center; justify-content: center } +.subtab { border: none; background: transparent; padding: 6px 18px; border-radius: 8px; cursor: pointer; font-weight: 500; color: #595959; transition: all 0.2s ease } +.subtab:hover { background: rgba(22, 119, 255, 0.1); color: #1677ff } +.subtab.active { background: #1677ff; color: #ffffff; box-shadow: 0 2px 8px rgba(22, 119, 255, 0.3) } +main { padding: 6px 12px 12px } +.panel { border: 1px solid #d9d9d9; padding: 20px; margin-top: 8px; border-radius: 12px; background: #ffffff; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04) } +.markets-layout { display: block } + .status-inline { margin: 0 0 0 auto; padding: 4px 12px; font-size: 13px; border-radius: 999px; white-space: nowrap; max-width: 60%; text-align: right } + +#archive-view iframe { width: 100%; border: 0; min-height: 420px } +#wisdom-frame { width: 100%; border: 0; min-height: calc(100vh - 140px) } + +.markets-calendar-summary { display: grid; grid-template-columns: 1fr 1fr 2fr; gap: 10px; margin-bottom: 12px; align-items: stretch } +.markets-calendar-overview { border: 1px solid #e5e7eb; border-radius: 10px; background: linear-gradient(180deg, #ffffff, #f8fbff); padding: 10px 12px; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04); min-width: 0 } +.markets-calendar-overview-main { background: linear-gradient(180deg, #fff8db, #fff4c7); border-color: #f2d98a; display: flex; align-items: center } +.markets-calendar-overview-line { font-size: 12px; color: #d97706; line-height: 1.45; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis } +.markets-calendar-overview-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px } +.markets-calendar-overview-sync { display: flex; align-items: center } +.markets-calendar-sync-content { max-height: calc(1.35em * 2 + 2px); overflow: auto; min-width: 0; width: 100%; line-height: 1.35 } +.markets-calendar-sync-title { font-size: 11px; color: #6b7280; font-weight: 600; margin-right: 6px; white-space: nowrap } +.markets-calendar-stat { border: 1px solid #e5e7eb; border-radius: 10px; background: #ffffff; padding: 8px 10px; box-shadow: none; min-width: 0 } +.markets-calendar-stat-label { font-size: 11px; color: #6b7280; margin-bottom: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis } +.markets-calendar-stat-value { font-size: 18px; line-height: 1; font-weight: 700; color: #0f172a } +.markets-calendar-stat-note { font-size: 11px; color: #475569; line-height: 1.35 } +.markets-calendar-sync-text { white-space: normal; word-break: break-all } +.markets-calendar-board { display: grid; grid-template-columns: minmax(0, 2fr) minmax(320px, 0.95fr); gap: 16px; align-items: start } +.markets-calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 10px; align-items: stretch } +.markets-calendar-weekday { text-align: center; padding: 10px 6px; border-radius: 10px; background: #f8fafc; border: 1px solid #e2e8f0; color: #475569; font-size: 13px; font-weight: 600 } +.markets-calendar-cell { min-height: 114px; border: 1px solid #dbe4f0; border-radius: 14px; background: #ffffff; padding: 10px; display: flex; flex-direction: column; gap: 10px; align-items: stretch; text-align: left; cursor: pointer; transition: all 0.2s ease; box-shadow: 0 1px 4px rgba(15, 23, 42, 0.04) } +.markets-calendar-cell:hover { border-color: #91caff; box-shadow: 0 6px 18px rgba(22, 119, 255, 0.12); transform: translateY(-1px) } +.markets-calendar-cell.is-selected { border-color: #1677ff; box-shadow: 0 0 0 2px rgba(22, 119, 255, 0.12) } +.markets-calendar-cell.is-today { background: linear-gradient(180deg, #ffeaea, #ffffff); border-color: #ff4d4f; box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2) } +.markets-calendar-cell.is-closed { background: linear-gradient(180deg, #fff7f7, #ffffff) } +.markets-calendar-cell.has-ipo { background: linear-gradient(180deg, #fffdf2, #ffffff) } +.markets-calendar-cell-blank { min-height: 0; border: 0; background: transparent; box-shadow: none; cursor: default } +.markets-calendar-cell-top { display: flex; justify-content: space-between; gap: 8px; align-items: flex-start } +.markets-calendar-day-no { font-size: 20px; font-weight: 700; color: #111827 } +.markets-calendar-mini-tag { display: inline-flex; align-items: center; max-width: 78px; padding: 2px 6px; border-radius: 999px; background: #fff1f2; color: #be123c; font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis } +.markets-calendar-cell-body { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; margin-top: auto } +.markets-calendar-pill { display: inline-flex; align-items: center; padding: 3px 8px; border-radius: 999px; font-size: 12px; font-weight: 600; line-height: 1.2; border: 1px solid transparent } +.markets-calendar-pill-open { background: #f0fdf4; color: #15803d; border-color: #bbf7d0 } +.markets-calendar-pill-closed { background: #fff1f2; color: #be123c; border-color: #fecdd3 } +.markets-calendar-pill-ipo { background: #fffbeb; color: #b45309; border-color: #fde68a } +.markets-calendar-pill-ai-ok { background: #eff6ff; color: #1d4ed8; border-color: #bfdbfe } +.markets-calendar-pill-ai-warn { background: #fff7ed; color: #c2410c; border-color: #fdba74 } +.markets-calendar-pill-ai-risk { background: #fef2f2; color: #b91c1c; border-color: #fca5a5 } +.markets-calendar-pill-muted { background: #f8fafc; color: #475569; border-color: #e2e8f0 } +.markets-calendar-detail { border: 1px solid #dbe4f0; border-radius: 14px; padding: 16px; background: linear-gradient(180deg, #ffffff, #f8fbff); min-height: 100% } +.markets-calendar-detail-head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; margin-bottom: 16px } +.markets-calendar-detail-date { font-size: 22px; font-weight: 700; color: #0f172a } +.markets-calendar-detail-weekday { font-size: 13px; color: #64748b; margin-top: 4px } +.markets-calendar-detail-group { display: grid; gap: 10px; margin-bottom: 16px } +.markets-calendar-detail-row { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; padding: 10px 12px; border-radius: 10px; background: #ffffff; border: 1px solid #edf2f7; font-size: 13px } +.markets-calendar-detail-row span { color: #64748b } +.markets-calendar-detail-row strong { color: #111827; text-align: right } +.markets-calendar-detail-section-title { font-size: 14px; font-weight: 700; color: #111827; margin-bottom: 12px } +.markets-calendar-ipo-list { display: grid; gap: 10px } +.markets-calendar-ipo-item { border: 1px solid #e5e7eb; border-radius: 12px; padding: 12px; background: #ffffff } +.markets-calendar-ipo-title { font-size: 14px; font-weight: 700; color: #111827; margin-bottom: 6px } +.markets-calendar-ipo-title span { font-size: 12px; font-weight: 500; color: #64748b; margin-left: 6px } +.markets-calendar-ipo-meta { font-size: 12px; color: #475569; line-height: 1.7 } +.markets-calendar-detail-empty, .markets-calendar-empty { border: 1px dashed #cbd5e1; border-radius: 12px; padding: 20px; color: #64748b; background: #f8fafc; font-size: 13px; line-height: 1.7 } + +.markets-weekly-summary { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px } +.markets-weekly-stat { border: 1px solid #e5e7eb; border-radius: 12px; background: linear-gradient(180deg, #ffffff, #f8fbff); padding: 14px 16px; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05) } +.markets-weekly-stat-action { width: 100%; text-align: left; cursor: pointer; transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease; appearance: none } +.markets-weekly-stat-action:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08) } +.markets-weekly-stat-action.is-active { box-shadow: 0 8px 18px rgba(37, 99, 235, 0.12); border-width: 1px } +.markets-weekly-stat-all.is-active, +.markets-weekly-stat-available.is-active { border-color: #93c5fd; background: linear-gradient(180deg, #eff6ff, #dbeafe) } +.markets-weekly-stat-positive.is-active { border-color: #fda4af; background: linear-gradient(180deg, #fff1f2, #ffe4e6) } +.markets-weekly-stat-negative.is-active { border-color: #86efac; background: linear-gradient(180deg, #f0fdf4, #dcfce7) } +.markets-weekly-stat-missing.is-active { border-color: #fdba74; background: linear-gradient(180deg, #fff7ed, #ffedd5) } +.markets-weekly-stat-label { font-size: 12px; color: #6b7280; margin-bottom: 8px } +.markets-weekly-stat-value { font-size: 28px; line-height: 1; font-weight: 700; color: #0f172a } +.markets-weekly-stat-range { font-size: 17px; line-height: 1.4 } +.markets-weekly-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px } +.markets-weekly-card { border: 1px solid #dbe4f0; border-radius: 14px; background: linear-gradient(180deg, #ffffff, #f8fbff); padding: 14px; display: grid; gap: 10px; box-shadow: 0 1px 4px rgba(15, 23, 42, 0.04) } +.markets-weekly-card-head { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start } +.markets-weekly-card-title { font-size: 15px; font-weight: 700; color: #111827 } +.markets-weekly-card-subtitle { font-size: 12px; color: #64748b; margin-top: 4px } +.markets-weekly-card-links { display: flex; align-items: center; gap: 8px } +.markets-weekly-link { font-size: 12px; color: #1677ff; text-decoration: none } +.markets-weekly-card-range { font-size: 12px; color: #475569; padding: 8px 10px; background: #ffffff; border: 1px solid #edf2f7; border-radius: 10px } +.markets-weekly-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 12px } +.markets-weekly-card-grid div { border: 1px solid #edf2f7; border-radius: 10px; background: #ffffff; padding: 8px 10px; display: grid; gap: 4px } +.markets-weekly-card-grid .markets-weekly-cell-up { background: #fff2f0; border-color: #ffc1b8 } +.markets-weekly-card-grid .markets-weekly-cell-down { background: #f6ffed; border-color: #c6e8a8 } +.markets-weekly-card-grid span { font-size: 12px; color: #64748b } +.markets-weekly-card-grid strong { font-size: 14px; color: #111827 } +.markets-weekly-card-meta { font-size: 12px; color: #475569; line-height: 1.6 } +.markets-weekly-card-note { font-size: 12px; color: #64748b; line-height: 1.7; padding-top: 6px; border-top: 1px dashed #dbe4f0 } +.markets-weekly-empty { border: 1px dashed #cbd5e1; border-radius: 12px; padding: 20px; color: #64748b; background: #f8fafc; font-size: 13px; line-height: 1.7; grid-column: 1 / -1 } + +/* 日期选择器样式 */ +input[type="date"] { + min-width: 140px; + padding: 6px 12px; + border: 1px solid #d9d9d9; + border-radius: 6px; + font-size: 14px; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif; + background: #ffffff; + color: #262626; + transition: all 0.2s ease; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.03); +} + +input[type="date"]:focus { + outline: none; + border-color: #1677ff; + box-shadow: 0 0 0 2px rgba(22, 119, 255, 0.1); +} + +input[type="date"]:hover { + border-color: #4096ff; +} + +/* 金融专业风格增强 */ +.price-display { font-size: 16px; font-weight: 600; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif } +.change-percent { font-size: 14px; font-weight: 600; padding: 2px 6px; border-radius: 4px; display: inline-block } +.change-percent.up { background: #fff2f0; border: 1px solid #ffccc7 } +.change-percent.down { background: #f6ffed; border: 1px solid #b7eb8f } + +/* 加载动画 */ +.loading-spinner { + border: 2px solid #f0f0f0; + border-top: 2px solid #1677ff; + border-radius: 50%; + width: 20px; + height: 20px; + animation: spin 1s linear infinite; + display: inline-block; + margin-right: 8px; +} + +@keyframes spin { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(360deg); } +} +@media (max-width: 768px) { + .grid { grid-template-columns: 1fr; gap: 12px; width: 100% } + .card-span-2 { grid-column: span 1 } + .card-zhonghang-299 { padding: 12px; min-height: auto } + .card-zhonghang-299 .zh299-grid { grid-template-columns: 1fr; gap: 10px } + .bar { flex-wrap: wrap; gap: 8px; padding: 8px 0; margin-bottom: 12px } + .btn { padding: 10px 16px; font-size: 14px; -webkit-tap-highlight-color: transparent; width: 100%; text-align: center } + input[type="date"] { + min-width: 140px; + padding: 8px 12px; + } + .card { padding: 12px; border-radius: 10px } + .meta { font-size: 12px; line-height: 1.5 } + .subtabs { flex-wrap: wrap; margin: 16px 0; padding: 2px } + .subtab { padding: 8px 16px; font-size: 14px; flex: 1; min-width: 0; text-align: center } + .panel { padding: 16px; margin-top: 12px; border-radius: 10px } + #archive-view iframe { min-height: 400px; border-radius: 8px } + .debug-output { height: 200px; font-size: 12px } + .status { margin: 12px 0; padding: 10px; font-size: 13px } + .markets-calendar-summary { grid-template-columns: 1fr; gap: 8px } + .markets-calendar-overview-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) } + .markets-calendar-overview { padding: 9px 10px } + .markets-calendar-board { grid-template-columns: 1fr; gap: 12px } + .markets-calendar-grid { gap: 8px } + .markets-calendar-cell { min-height: 96px; padding: 8px } + .markets-calendar-day-no { font-size: 18px } + .markets-calendar-mini-tag { max-width: 58px } + .markets-calendar-detail { padding: 12px } + + /* 移动端特定优化 */ + .price-display { font-size: 15px } + .change-percent { font-size: 13px } + .alert-flag { font-size: 11px; margin-left: 4px } + .threshold-label { font-size: 12px; margin-left: 0; margin-top: 8px } + .markets-weekly-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px } + .markets-weekly-grid { grid-template-columns: 1fr; gap: 12px } + .markets-weekly-stat-range { font-size: 15px } +} + +#news-table { table-layout: fixed } +#news-table td { word-wrap: break-word; overflow-wrap: break-word } + +.skills-meta-body { + width: 90vw; + max-width: 90vw; + height: 90vh; + max-height: 90vh; + overflow: hidden; + display: flex; + flex-direction: column; + padding: 20px 24px; +} + +.skills-meta-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 12px; + flex-shrink: 0; +} + +.skills-meta-header h3 { + margin: 0; + font-size: 20px; + color: #111827; +} + +.skills-meta-stats { + font-size: 14px; + color: #475569; + display: flex; + gap: 16px; +} + +.skills-meta-stats span { + padding: 4px 12px; + border-radius: 999px; + background: #f0f9ff; + border: 1px solid #bae6fd; +} + +.skills-meta-content { + flex: 1; + overflow-y: auto; + display: flex; + flex-direction: column; + gap: 16px; + padding-right: 4px; +} + +.skills-meta-section { + border: 1px solid #e5e7eb; + border-radius: 12px; + padding: 14px 16px; + background: #fafafa; +} + +.skills-meta-section-title { + font-size: 15px; + font-weight: 700; + color: #111827; + margin-bottom: 10px; +} + +.skills-meta-table-wrap { + overflow-x: auto; +} + +.skills-meta-table { + width: 100%; + border-collapse: collapse; + font-size: 13px; +} + +.skills-meta-table th { + background: #f1f5f9; + padding: 8px 10px; + text-align: left; + font-weight: 600; + color: #475569; + border-bottom: 2px solid #e2e8f0; + white-space: nowrap; +} + +.skills-meta-table td { + padding: 7px 10px; + border-bottom: 1px solid #edf2f7; + color: #1e293b; + white-space: nowrap; +} + +.skills-meta-table tr:hover td { + background: #f8fafc; +} + +.skills-meta-table .cell-health-ok { color: #16a34a } +.skills-meta-table .cell-health-warn { color: #ea580c; font-weight: 600 } +.skills-meta-table .cell-health-err { color: #dc2626; font-weight: 700 } + +.skills-meta-structure { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(380px, 1fr)); + gap: 8px; +} + +.skills-meta-structure-item { + padding: 8px 12px; + border-radius: 8px; + background: #ffffff; + border: 1px solid #e5e7eb; + font-size: 13px; + line-height: 1.6; + color: #334155; +} + +.skills-meta-structure-item strong { + color: #111827; +} + +.skills-meta-structure-item .tag { + display: inline-block; + padding: 1px 8px; + border-radius: 999px; + font-size: 11px; + font-weight: 600; + margin-left: 4px; +} + +.skills-meta-structure-item .tag-shared { background: #ede9fe; color: #7c3aed } +.skills-meta-structure-item .tag-independent { background: #e0f2fe; color: #0369a1 } +.skills-meta-structure-item .tag-backup { background: #fef3c7; color: #b45309 } + +.skills-meta-anomalies { + display: flex; + flex-direction: column; + gap: 8px; +} + +.skills-meta-anomaly { + padding: 10px 14px; + border-radius: 10px; + font-size: 13px; + line-height: 1.6; +} + +.skills-meta-anomaly.critical { + background: #fef2f2; + border: 1px solid #fecaca; + color: #b91c1c; +} + +.skills-meta-anomaly.warning { + background: #fffbeb; + border: 1px solid #fde68a; + color: #b45309; +} + +.skills-meta-anomaly strong { color: inherit } + +.skills-meta-heartbeats { + display: flex; + gap: 12px; + flex-wrap: wrap; +} + +.skills-meta-hb-item { + display: flex; + align-items: center; + gap: 6px; + padding: 6px 14px; + border-radius: 999px; + font-size: 13px; + font-weight: 500; +} + +.skills-meta-hb-item.ok { background: #f0fdf4; border: 1px solid #bbf7d0; color: #15803d } +.skills-meta-hb-item.fail { background: #fef2f2; border: 1px solid #fecaca; color: #b91c1c } + +/* email log table */ +.email-log-table { width: 100%; border-collapse: collapse; font-size: 13px } +.email-log-table th { background: #f8fafc; padding: 10px 12px; text-align: left; font-weight: 600; color: #475569; border-bottom: 2px solid #e2e8f0; white-space: nowrap; position: sticky; top: 0; z-index: 1 } +.email-log-table td { padding: 8px 12px; border-bottom: 1px solid #f1f5f9; vertical-align: middle } +.email-log-table tr:hover td { background: #f8fafc } +.email-status-ok { display: inline-block; padding: 2px 10px; border-radius: 6px; font-size: 12px; font-weight: 600; background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0 } +.email-status-err { display: inline-block; padding: 2px 10px; border-radius: 6px; font-size: 12px; font-weight: 600; background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca } +.email-status-warn { display: inline-block; padding: 2px 10px; border-radius: 6px; font-size: 12px; font-weight: 600; background: #fffbeb; color: #b45309; border: 1px solid #fde68a } +.email-status-pending { display: inline-block; padding: 2px 10px; border-radius: 6px; font-size: 12px; font-weight: 600; background: #f0f9ff; color: #0369a1; border: 1px solid #bae6fd } + +@media (max-width: 768px) { + .skills-meta-body { width: 96vw; max-width: 96vw; height: 92vh; max-height: 92vh; padding: 14px 12px } + .skills-meta-structure { grid-template-columns: 1fr } +} + +.news-summary-row { margin-bottom: 12px; padding: 8px 0 } +.news-continent-tag { display: inline-block; padding: 2px 8px; border-radius: 6px; font-size: 12px; font-weight: 600; background: #eef2ff; color: #4338ca } +.news-link { text-decoration: none; font-size: 14px } +.news-link:hover { opacity: 0.7 } +#news-table td { vertical-align: top; padding: 10px 12px } + +.news-insight { max-width: 280px } +.news-insight.expandable { position: relative; padding-bottom: 26px } +.news-insight .expandable-content { font-size: 13px; line-height: 1.5; color: #334155; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; word-break: break-word } +.news-insight.expanded .expandable-content { display: block; -webkit-line-clamp: unset; overflow: visible } +.news-insight.unrelated .expandable-content { color: #94a3b8 } +.news-insight .expandable-toggle { position: absolute; right: 6px; bottom: 4px; font-size: 12px; color: #6366f1; cursor: pointer; user-select: none; background: rgba(255,255,255,0.85); padding: 1px 6px; border-radius: 4px; z-index: 1 } +.news-insight .expandable-toggle:hover { color: #4f46e5; text-decoration: underline } + +.interaction-modal-body { + width: min(960px, 92vw); + max-width: 92vw; + height: min(82vh, 760px); + max-height: 82vh; + display: flex; + flex-direction: column; + gap: 12px; + overflow: hidden; +} + +.interaction-modal-head { + display: flex; + justify-content: space-between; + align-items: flex-start; + gap: 12px; +} + +.interaction-modal-head h3 { + margin: 0; + font-size: 20px; + color: #111827; +} + +.interaction-meta { + margin-top: 6px; + font-size: 12px; + color: #64748b; + line-height: 1.5; +} + +.interaction-badge { + display: inline-flex; + align-items: center; + justify-content: center; + min-width: 72px; + padding: 6px 12px; + border-radius: 999px; + font-size: 12px; + font-weight: 700; + background: #eff6ff; + color: #1d4ed8; + border: 1px solid #bfdbfe; +} + +.interaction-badge.success { + background: #f0fdf4; + color: #15803d; + border-color: #bbf7d0; +} + +.interaction-badge.error { + background: #fef2f2; + color: #b91c1c; + border-color: #fecaca; +} + +.interaction-summary { + padding: 12px 14px; + border-radius: 10px; + border: 1px solid #dbeafe; + background: linear-gradient(180deg, #eff6ff, #f8fbff); + color: #1e3a8a; + font-size: 13px; + line-height: 1.6; + white-space: pre-wrap; +} + +.interaction-summary.success { + border-color: #bbf7d0; + background: linear-gradient(180deg, #f0fdf4, #f8fff9); + color: #166534; +} + +.interaction-summary.error { + border-color: #fecaca; + background: linear-gradient(180deg, #fef2f2, #fff7f7); + color: #991b1b; +} + +.interaction-log { + flex: 1; + margin: 0; + overflow: auto; + border-radius: 12px; + border: 1px solid #1e293b; + background: #0f172a; + color: #dbeafe; + padding: 14px 16px; + font-size: 12px; + line-height: 1.7; + font-family: "Cascadia Code", "JetBrains Mono", "Consolas", monospace; + white-space: pre-wrap; + word-break: break-word; +} + +.interaction-actions { + align-items: center; +} + +.interaction-hint { + margin-right: auto; + font-size: 12px; + color: #64748b; +} + +@media (max-width: 768px) { + .interaction-modal-body { + width: 96vw; + max-width: 96vw; + height: 88vh; + max-height: 88vh; + padding: 14px 12px; + } + + .interaction-modal-head { + flex-direction: column; + align-items: stretch; + } + + .interaction-badge { + align-self: flex-start; + } +} diff --git a/public/tools/markets/markets.js b/public/tools/markets/markets.js new file mode 100644 index 0000000..488dc9c --- /dev/null +++ b/public/tools/markets/markets.js @@ -0,0 +1,2081 @@ +const toFiniteNumber = v => { + const n = Number(v) + return Number.isFinite(n) ? n : null +} +const normalizeMove = (row) => { + const changeRaw = toFiniteNumber(row && row.change) + const prevClose = toFiniteNumber(row && row.prevClose) + const changePercentRaw = toFiniteNumber(row && row.change_percent) + const hasDerivedPercent = changeRaw !== null && prevClose !== null && prevClose !== 0 + const changePercent = hasDerivedPercent ? (changeRaw / prevClose) * 100 : (changePercentRaw !== null ? changePercentRaw : 0) + const basis = changeRaw !== null ? changeRaw : changePercent + const sign = basis >= 0 ? 1 : -1 + const change = changeRaw !== null ? changeRaw : 0 + return { change, changePercent, sign } +} + +const addDays = (dateStr, n) => { + try { + const parts = String(dateStr || '').split('-') + const d = new Date(parseInt(parts[0]), parseInt(parts[1]) - 1, parseInt(parts[2])) + d.setDate(d.getDate() + n) + return `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, '0')}-${String(d.getDate()).padStart(2, '0')}` + } catch { return dateStr } +} + +const escHtml = s => String(s || '').replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"') +const globalNewsState = { + mode: '', + date: '', + rows: [], + stats: null, + fetchedAt: '' +} +const marketsUiState = { + uiMode: 'debug', + interaction: { + lines: [], + autoCloseTimer: null + } +} + +const fmtInteractionTime = () => { + try { + if (window.fmtCNDateTime) return window.fmtCNDateTime(new Date()) + return new Date().toLocaleString('zh-CN', { hour12: false }) + } catch { + return new Date().toISOString() + } +} + +const safeParseJsonText = text => { + try { return JSON.parse(text) } catch { return null } +} + +const summarizeInteractionValue = value => { + if (Array.isArray(value)) { + if (value.length <= 4) return value + return { count: value.length, sample: value.slice(0, 2) } + } + if (!value || typeof value !== 'object') return value + const out = {} + for (const [key, item] of Object.entries(value)) { + if (Array.isArray(item) && item.length > 4) { + out[key] = { count: item.length, sample: item.slice(0, 2) } + } else { + out[key] = item + } + } + return out +} + +const stringifyInteractionValue = value => { + if (value === undefined) return '' + if (typeof value === 'string') return value + try { return JSON.stringify(summarizeInteractionValue(value), null, 2) } catch { return String(value) } +} + +const clearInteractionAutoClose = () => { + if (marketsUiState.interaction.autoCloseTimer) { + clearTimeout(marketsUiState.interaction.autoCloseTimer) + marketsUiState.interaction.autoCloseTimer = null + } +} + +const renderInteractionLog = () => { + const logEl = el('interaction-log') + if (!logEl) return + logEl.textContent = marketsUiState.interaction.lines.join('\n\n') + logEl.scrollTop = logEl.scrollHeight +} + +const setInteractionTone = (tone, text, hint) => { + const badge = el('interaction-badge') + const summary = el('interaction-summary') + const hintEl = el('interaction-hint') + if (badge) { + badge.className = 'interaction-badge' + if (tone === 'success') badge.classList.add('success') + if (tone === 'error') badge.classList.add('error') + badge.textContent = tone === 'success' ? '已完成' : tone === 'error' ? '已停止' : '进行中' + } + if (summary) { + summary.className = 'interaction-summary' + if (tone === 'success') summary.classList.add('success') + if (tone === 'error') summary.classList.add('error') + summary.textContent = text || '' + } + if (hintEl) hintEl.textContent = hint || '' +} + +const openInteractionDialog = ({ title, meta, summary }) => { + clearInteractionAutoClose() + marketsUiState.interaction.lines = [] + const modal = el('interaction-modal') + const titleEl = el('interaction-title') + const metaEl = el('interaction-meta') + if (titleEl) titleEl.textContent = title || '交互详情' + if (metaEl) metaEl.textContent = meta || '' + setInteractionTone('running', summary || '正在准备执行,请稍候...', '') + renderInteractionLog() + if (modal) modal.classList.remove('hidden') +} + +const closeInteractionDialog = () => { + clearInteractionAutoClose() + const modal = el('interaction-modal') + if (modal) modal.classList.add('hidden') +} + +const fitArchiveIframeHeight = iframe => { + if (!iframe) return + const fallbackHeight = 220 + try { + const doc = iframe.contentDocument || (iframe.contentWindow && iframe.contentWindow.document) + if (!doc) throw new Error('missing_iframe_document') + const body = doc.body + const html = doc.documentElement + const height = Math.max( + body ? body.scrollHeight : 0, + body ? body.offsetHeight : 0, + html ? html.scrollHeight : 0, + html ? html.offsetHeight : 0, + fallbackHeight + ) + iframe.style.height = `${height + 16}px` + } catch { + iframe.style.height = `${fallbackHeight}px` + } +} + +const appendInteractionLog = (title, detail) => { + const head = `[${fmtInteractionTime()}] ${title}` + const body = stringifyInteractionValue(detail) + marketsUiState.interaction.lines.push(body ? `${head}\n${body}` : head) + renderInteractionLog() +} + +const appendInteractionTrace = trace => { + if (!trace) return + if (trace.summary) appendInteractionLog('Trace Summary', trace.summary) + if (Array.isArray(trace.events)) { + trace.events.forEach((event, index) => appendInteractionLog(`Trace Event #${index + 1}`, event)) + } +} + +const setButtonBusy = (buttonOrId, busy, busyText) => { + const btn = typeof buttonOrId === 'string' ? el(buttonOrId) : buttonOrId + if (!btn) return + if (!btn.dataset.baseText) btn.dataset.baseText = btn.textContent || '' + btn.disabled = !!busy + btn.textContent = busy ? (busyText || `${btn.dataset.baseText || '处理中'}…`) : btn.dataset.baseText +} + +const loadMarketsUiMode = async () => { + try { + const res = await fetch('/api/markets/config') + const data = await res.json() + if (data && data.ok && data.config && typeof data.config.ui_mode === 'string') { + marketsUiState.uiMode = String(data.config.ui_mode || 'debug').trim() || 'debug' + } + } catch {} +} + +const scheduleInteractionAutoClose = () => { + clearInteractionAutoClose() + const seconds = marketsUiState.uiMode === 'normal' ? 2 : 3 + const hintEl = el('interaction-hint') + if (hintEl) hintEl.textContent = `成功后 ${seconds}s 自动关闭,异常时会停留在此窗口` + marketsUiState.interaction.autoCloseTimer = setTimeout(() => { + closeInteractionDialog() + }, seconds * 1000) +} + +const runTrackedInteraction = async (options, executor) => { + const startedAt = Date.now() + const title = options && options.title ? options.title : '交互详情' + const action = options && options.action ? options.action : title + const button = options && options.button ? options.button : null + openInteractionDialog({ + title, + meta: `模式 ${marketsUiState.uiMode} | ${fmtInteractionTime()}`, + summary: options && options.summary ? options.summary : '正在执行...' + }) + appendInteractionLog('触发动作', action) + if (options && options.request) appendInteractionLog('初始参数', options.request) + if (button) setButtonBusy(button, true, options && options.loadingText ? options.loadingText : '') + const ctx = { + log: appendInteractionLog, + setSummary: (text, tone) => setInteractionTone(tone || 'running', text, ''), + fetchJson: async (url, fetchOptions = {}, meta = {}) => { + const method = String(fetchOptions.method || 'GET').toUpperCase() + const reqDetail = { url, method, ...meta } + if (fetchOptions.body !== undefined) { + reqDetail.body = safeParseJsonText(fetchOptions.body) || fetchOptions.body + } + appendInteractionLog('HTTP 请求', reqDetail) + const res = await fetch(url, fetchOptions) + const text = await res.text() + const data = safeParseJsonText(text) + appendInteractionLog('HTTP 响应', { url, status: res.status, ok: res.ok, statusText: res.statusText }) + appendInteractionLog('响应摘要', data || text) + if (!res.ok) throw new Error(`HTTP ${res.status} ${res.statusText}`.trim()) + if (data && data.ok === false) throw new Error(data.error || data.message || '业务处理失败') + return data + } + } + try { + const result = await executor(ctx) + if (result && result.trace) appendInteractionTrace(result.trace) + appendInteractionLog('总耗时', `${Date.now() - startedAt} ms`) + const successText = typeof (options && options.successText) === 'function' + ? options.successText(result) + : ((options && options.successText) || '执行完成') + setInteractionTone('success', successText, '') + scheduleInteractionAutoClose() + return result + } catch (e) { + appendInteractionLog('错误信息', String(e && e.message || e)) + appendInteractionLog('总耗时', `${Date.now() - startedAt} ms`) + setInteractionTone('error', `执行失败:${String(e && e.message || e)}`, '窗口已停留,便于查看问题与排查。') + throw e + } finally { + if (button) setButtonBusy(button, false) + } +} + +const applyGlobalNewsMode = mode => { + const translateBtn = el('news-btn-translate') + const analyzeBtn = el('news-btn-analyze') + if (translateBtn) { + if (!translateBtn.dataset.baseText) translateBtn.dataset.baseText = translateBtn.textContent || '🌐 AI翻译' + translateBtn.disabled = false + translateBtn.textContent = translateBtn.dataset.baseText + translateBtn.title = mode === 'remote_ephemeral' ? '当前模式默认已在抓取后自动执行 AI 翻译' : '' + } + if (analyzeBtn) { + if (!analyzeBtn.dataset.baseText) analyzeBtn.dataset.baseText = analyzeBtn.textContent || '🤖 AI研判' + analyzeBtn.disabled = false + analyzeBtn.textContent = analyzeBtn.dataset.baseText + analyzeBtn.title = mode === 'remote_ephemeral' ? '当前模式默认已在抓取后自动执行 AI 研判' : '' + } +} + +const renderGlobalNewsPayload = (payload, activeDate) => { + const list = el('news-list') + const summary = el('news-summary') + const status = el('news-status') + if (!list) return + const d = payload || {} + const rows = Array.isArray(d.rows) ? d.rows : [] + const date = activeDate || d.date || '' + if (summary) { + const sources = [...new Set(rows.map(r => r.source_name))] + const financeSources = [...new Set(rows.filter(r => r.category === 'finance').map(r => r.source_name))] + const remoteCount = rows.filter(r => r.fetch_method === 'remote_probe').length + let infoParts = [`📅 ${date}`, `${rows.length} 条新闻`, `${sources.length} 个媒体`] + if (d.mode === 'remote_ephemeral') infoParts.push('☁️ 远程探针') + if (financeSources.length) infoParts.push(`💰 财经 ${financeSources.length} 家`) + if (d.stats && d.stats.rss_fallback > 0) infoParts.push(`🔄 RSS 兜底 ${d.stats.rss_fallback} 条`) + if (remoteCount > 0) infoParts.push(`📡 探针 ${remoteCount} 条`) + const translatedCount = rows.filter(r => r.title_cn).length + if (translatedCount > 0) infoParts.push(`🌐 已翻译 ${translatedCount} 条`) + const analyzedCount = rows.filter(r => r.ai_status).length + if (analyzedCount > 0) infoParts.push(`🤖 已研判 ${analyzedCount} 条`) + summary.innerHTML = `${infoParts.join(' · ')}` + } + if (rows.length === 0) { + list.innerHTML = '暂无数据,请点击「手动刷新」抓取' + if (status) { status.style.display = ''; status.textContent = '该日期暂无数据' } + return + } + list.innerHTML = rows.map(r => { + const titleCn = r.title_cn ? `
    ${escHtml(r.title_cn)}
    ` : '' + const summaryCn = r.summary_cn ? `
    ${escHtml(r.summary_cn)}
    ` : '' + const hasInsight = r.ai_status && (r.ai_domestic || r.ai_overseas || r.ai_defensive) + const insightAttr = hasInsight ? ` data-insight="${escAttr(r.ai_domestic || '')}|||${escAttr(r.ai_overseas || '')}|||${escAttr(r.ai_defensive || '')}" data-status="${escAttr(r.ai_status)}"` : '' + const insightCell = hasInsight + ? `
    ${r.ai_status === 'unrelated' ? '【无关】' : `🇨🇳 ${escHtml(r.ai_domestic || '')}

    🌍 ${escHtml(r.ai_overseas || '')}

    🛡️ ${escHtml(r.ai_defensive || '')}`}
    👇展开` + : '—' + const link = String(r.link || '').trim() + const linkHtml = link + ? `🔗` + : '—' + return ` + ${escHtml(r.continent)} + ${escHtml(r.country)} + ${escHtml(r.source_name)} + ${String(r.published_at || '').slice(0, 16)} + ${escHtml(r.title)}${titleCn} + ${escHtml(r.summary)}${summaryCn} + ${linkHtml} + ${insightCell} + ` + }).join('') +} + +const loadGlobalNews = async (forceFetch, options = {}) => { + const status = el('news-status') + const dateInput = el('news-date') + const date = dateInput ? dateInput.value : yesterdayLocal() + const tracked = options && options.tracked === true + + if (forceFetch) { + if (status) { status.style.display = ''; status.textContent = '正在抓取新闻...' } + try { + const executeFetch = async ctx => { + const result = ctx + ? await ctx.fetchJson('/api/global_news/fetch', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ date }) + }, { api: '/api/global_news/fetch', date }) + : await (async () => { + const r = await fetch('/api/global_news/fetch', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ date }) }) + return r.json() + })() + if (ctx) { + ctx.log('新闻抓取汇总', { + mode: result && result.mode, + saved: result && result.saved, + translated: result && result.translated, + analyzed: result && result.analyzed, + impacted_dates: result && result.impacted_dates + }) + } + return result + } + const d = tracked + ? await runTrackedInteraction({ + title: '全球新闻抓取', + action: '手动刷新全球新闻', + button: el('news-btn-fetch'), + loadingText: '抓取中…', + request: { date }, + summary: '正在抓取新闻并入库;AI 翻译与 AI 研判改为单独手工触发或由 8977 夜间任务执行...', + successText: result => `新闻抓取完成:保存 ${(result && result.saved) || 0} 条` + }, executeFetch) + : await executeFetch(null) + if (d.need_proxy) { + if (status) { status.style.display = ''; status.textContent = '❌ 所有数据源不可达,请在服务器配置代理后重试' } + return + } + if (!d.ok) { + if (status) { status.style.display = ''; status.textContent = `抓取失败: ${d.error || ''}` } + return + } + const st = d.stats || {} + globalNewsState.mode = String(d.mode || '') + globalNewsState.date = String(d.date || date) + globalNewsState.rows = Array.isArray(d.rows) ? d.rows : [] + globalNewsState.stats = st + globalNewsState.fetchedAt = String(d.fetched_at || '') + applyGlobalNewsMode(globalNewsState.mode) + let msg = d.mode === 'remote_ephemeral' + ? `✅ 远程探针已抓取并入库 ${d.saved} 条 (${st.remote_ok || 0} 个源成功 / ${st.remote_fail || 0} 个源失败)` + : `✅ 已抓取 ${d.saved} 条 (${st.google_ok || 0} Google / ${st.rss_fallback_used || 0} RSS兜底)` + if (d.mode !== 'remote_ephemeral' && st.google_fail > 0) msg += ` ⚠️ ${st.google_fail} 个源 Google 不通` + if (d.finance_sources > 0) msg += ` 💰 含 ${d.finance_sources} 家财经` + if (Array.isArray(d.next_actions) && d.next_actions.length > 0) msg += ` 🧭 后续可手工执行:${d.next_actions.join(' / ')}` + if (d.proxied_to_automation) msg += ` 🔁 当前由 ${d.automation_port} 自动服务执行` + if (d.mode === 'remote_ephemeral' && Array.isArray(d.impacted_dates) && d.impacted_dates.length > 0) msg += ` 📅 落到 ${d.impacted_dates.join(' / ')}` + if (status) { status.style.display = ''; status.textContent = msg } + if (Array.isArray(d.rows)) { + renderGlobalNewsPayload(d, date) + return + } + } catch (e) { + if (status) { status.style.display = ''; status.textContent = `请求失败: ${e.message}` } + return + } + } + + try { + const r = await fetch(`/api/global_news/list?date=${encodeURIComponent(date)}`) + const d = await r.json() + if (!d.ok) { + const list = el('news-list') + if (list) list.innerHTML = `加载失败: ${escHtml(d.error || '')}` + return + } + globalNewsState.mode = String(d.mode || '') + globalNewsState.date = String(d.date || date) + globalNewsState.rows = Array.isArray(d.rows) ? d.rows : [] + globalNewsState.stats = d.stats || null + globalNewsState.fetchedAt = String(d.fetched_at || '') + applyGlobalNewsMode(globalNewsState.mode) + renderGlobalNewsPayload(d, date) + if (status && !forceFetch) { status.style.display = 'none' } + } catch (e) { + const list = el('news-list') + if (list) list.innerHTML = `加载失败: ${escHtml(String(e.message || e))}` + } +} + +const translateGlobalNews = async () => { + const status = el('news-status') + const dateInput = el('news-date') + const date = dateInput ? dateInput.value : yesterdayLocal() + if (status) { status.style.display = ''; status.textContent = '正在AI翻译…' } + try { + const d = await runTrackedInteraction({ + title: '全球新闻 AI 翻译', + action: 'AI 翻译全球新闻', + button: el('news-btn-translate'), + loadingText: '翻译中…', + request: { date }, + summary: '正在调用 AI 对当天新闻做翻译整理...', + successText: result => `翻译完成:${(result && result.translated) || 0} 条` + }, async ctx => { + const result = await ctx.fetchJson('/api/global_news/translate', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ date }) + }, { api: '/api/global_news/translate', date }) + ctx.log('翻译结果', { + translated: result && result.translated, + errors: result && result.errors + }) + return result + }) + let msg = `翻译完成: ${d.translated} 条` + if (d.errors && d.errors.length) { + msg += ` ❌ 失败 ${d.errors.length} 批: ${d.errors.slice(0, 3).join(';')}` + console.error('[global_news] translate errors:', d.errors) + } + if (status) status.textContent = msg + await loadGlobalNews(false) + } catch (e) { + if (status) status.textContent = `翻译请求失败: ${e.message}` + } +} + +const analyzeGlobalNews = async () => { + const status = el('news-status') + const dateInput = el('news-date') + const date = dateInput ? dateInput.value : yesterdayLocal() + if (status) { status.style.display = ''; status.textContent = '正在AI研判…' } + try { + const d = await runTrackedInteraction({ + title: '全球新闻 AI 研判', + action: 'AI 研判全球新闻', + button: el('news-btn-analyze'), + loadingText: '研判中…', + request: { date }, + summary: '正在调用 AI 对当天新闻做市场影响研判...', + successText: result => `研判完成:${(result && result.analyzed) || 0} 条` + }, async ctx => { + const result = await ctx.fetchJson('/api/global_news/analyze', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ date }) + }, { api: '/api/global_news/analyze', date }) + ctx.log('研判结果', { + analyzed: result && result.analyzed, + errors: result && result.errors + }) + return result + }) + let msg = `研判完成: ${d.analyzed} 条` + if (d.errors && d.errors.length) { + msg += ` ❌ 失败 ${d.errors.length} 批: ${d.errors.slice(0, 3).join(';')}` + console.error('[global_news] analyze errors:', d.errors) + } + if (status) status.textContent = msg + await loadGlobalNews(false) + } catch (e) { + if (status) status.textContent = `研判请求失败: ${e.message}` + } +} +const fmtSign = n => `${n >= 0 ? '+' : '-'}${Math.abs(n).toFixed(2)}` +const fmtDateLocal = d => { const y = d.getFullYear(); const m = String(d.getMonth()+1).padStart(2,'0'); const day = String(d.getDate()).padStart(2,'0'); return `${y}-${m}-${day}` } +const parseDateLocal = s => { const parts = String(s||'').split('-'); if (parts.length===3) { const y=Number(parts[0]); const m=Number(parts[1]); const d=Number(parts[2]); if (Number.isFinite(y)&&Number.isFinite(m)&&Number.isFinite(d)) return new Date(y, m-1, d) } return new Date() } +const todayLocal = () => fmtDateLocal(new Date()) +const yesterdayLocal = () => { const d = new Date(); d.setDate(d.getDate() - 1); return fmtDateLocal(d) } +const offsetLocal = (s, d) => { const t = s ? parseDateLocal(s) : new Date(); const x = new Date(t.getFullYear(), t.getMonth(), t.getDate() + d); return fmtDateLocal(x) } +const fmtMonthLocal = d => `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, '0')}` +const parseMonthLocal = s => { + const parts = String(s || '').split('-') + if (parts.length === 2) { + const y = Number(parts[0]) + const m = Number(parts[1]) + if (Number.isFinite(y) && Number.isFinite(m) && m >= 1 && m <= 12) return new Date(y, m - 1, 1) + } + const now = new Date() + return new Date(now.getFullYear(), now.getMonth(), 1) +} +const todayMonthLocal = () => fmtMonthLocal(new Date()) +const offsetMonthLocal = (s, d) => { + const t = parseMonthLocal(s) + return fmtMonthLocal(new Date(t.getFullYear(), t.getMonth() + d, 1)) +} +const getQueryParams = () => { + try { + const url = new URL(window.location.href) + return { + tab: String(url.searchParams.get('tab') || '').trim(), + month: String(url.searchParams.get('month') || '').trim(), + date: String(url.searchParams.get('date') || '').trim(), + week: String(url.searchParams.get('week') || '').trim() + } + } catch { + return { tab: '', month: '', date: '', week: '' } + } +} + +const mOut = el('m-debug-output') +const mBtnCopy = el('m-btn-copy') +const mBtnRefresh = el('m-btn-refresh') +const mBtnClear = el('m-btn-clear') +const mts = () => (window.fmtCNDateTime ? window.fmtCNDateTime(new Date()) : new Date().toLocaleString('zh-CN')) +const logLocal = msg => { if (!mOut) return; const line = `${mts()} ${msg}`; const c = mOut.textContent || ''; mOut.textContent = c ? c + "\n" + line : line; mOut.scrollTop = mOut.scrollHeight } +const loadLogs = async () => { try { const res = await fetch('/api/debug/logs?limit=5000&channel=markets'); const data = await res.json(); if (data.ok && mOut) { mOut.textContent = (data.lines || []).join('\n'); mOut.scrollTop = mOut.scrollHeight } } catch {} } +const calendarState = { + month: '', + days: [], + summary: null, + syncStatus: null, + selectedDate: '', + pendingDateFromQuery: '' +} +const weeklyState = { + weekStart: '', + weekEnd: '', + rows: [], + summary: null, + weekType: '', + activeFilter: 'all' +} +const mondayLocal = s => { + const d = s ? parseDateLocal(s) : parseDateLocal(todayLocal()) + const weekday = d.getDay() + const diff = weekday === 0 ? -6 : 1 - weekday + return fmtDateLocal(new Date(d.getFullYear(), d.getMonth(), d.getDate() + diff)) +} +const offsetWeekLocal = (s, d) => offsetLocal(mondayLocal(s), d * 7) +const fmtWeekRange = (start, end) => `${start || '—'} 至 ${end || '—'}` +const fmtWeekPrice = n => Number.isFinite(Number(n)) ? Number(n).toFixed(2) : '—' +const fmtWeekPct = n => Number.isFinite(Number(n)) ? `${Number(n) >= 0 ? '+' : ''}${Number(n).toFixed(2)}%` : '—' +const fmtWeekSigned = n => Number.isFinite(Number(n)) ? `${Number(n) >= 0 ? '+' : ''}${Number(n).toFixed(2)}` : '—' +const getWeeklyFilterLabel = key => ({ + all: '全部卡片', + available: '可用卡片', + positive: '上涨', + negative: '下跌', + missing: '待补数据' +}[key] || '全部卡片') +const getWeeklyFilterRows = () => { + const rows = Array.isArray(weeklyState.rows) ? weeklyState.rows : [] + const key = String(weeklyState.activeFilter || 'all') + if (key === 'available') return rows.filter(row => Number(row && row.day_count) > 0) + if (key === 'positive') return rows.filter(row => Number(row && row.change_percent) > 0) + if (key === 'negative') return rows.filter(row => Number(row && row.change_percent) < 0) + if (key === 'missing') return rows.filter(row => Number(row && row.day_count) <= 0) + return rows +} +const updateWeeklyStatus = () => { + const status = el('weekly-status') + if (!status || !weeklyState.weekStart || !weeklyState.weekEnd) return + const count = getWeeklyFilterRows().length + status.style.display = '' + status.textContent = `已加载 ${fmtWeekRange(weeklyState.weekStart, weeklyState.weekEnd)} | 当前筛选:${getWeeklyFilterLabel(weeklyState.activeFilter)} | 共 ${count} 张卡` +} +const setWeeklyFilter = key => { + weeklyState.activeFilter = key || 'all' + renderWeeklySummary() + renderWeeklyGrid() + updateWeeklyStatus() +} +const fmtWeekAmount = (value, currencyLabel) => { + const num = Number(value) + const unit = currencyLabel || '' + if (!Number.isFinite(num) || num <= 0) return '—' + if (num >= 1000000000000) return `${(num / 1000000000000).toFixed(2)} 万亿${unit}` + if (num >= 100000000) return `${(num / 100000000).toFixed(2)} 亿${unit}` + if (num >= 10000) return `${(num / 10000).toFixed(2)} 万${unit}` + return `${num.toFixed(2)} ${unit}`.trim() +} +const getWeeklyMoveClass = row => Number(row && row.change_percent) >= 0 ? 'up' : 'down' +const fmtWeeklyBeijingTime = row => row && row.last_trade_beijing_at ? row.last_trade_beijing_at : '—' + +const getTZOffset = (timeZone) => { + try { + const now = new Date(); + const iso = now.toLocaleString('en-US', { timeZone, timeZoneName: 'longOffset' }); + const match = iso.match(/GMT([+-]\d{2}):?(\d{2})?/); + if (!match) return 0; + const sign = match[1][0] === '-' ? -1 : 1; + const h = parseInt(match[1].substring(1)); + const m = match[2] ? parseInt(match[2]) : 0; + return sign * (h + m / 60); + } catch (e) { return 0; } +}; + +const getMarketStatus = (config) => { + if (!config || !config.timezone || !config.sessions) return null; + + const now = new Date(); + const targetOffset = getTZOffset(config.timezone); + const bjOffset = 8; // Beijing is UTC+8 + const diffHours = bjOffset - targetOffset; + + // Check if Open (using target local time) + const localStr = now.toLocaleString('en-US', { timeZone: config.timezone, hour12: false, hour: '2-digit', minute: '2-digit' }); + const [h, m] = localStr.split(':').map(Number); + const currentMins = h * 60 + m; + + let isOpen = false; + let rangesBJ = []; + + for (const session of config.sessions) { + const [sh, sm] = session.start.split(':').map(Number); + const [eh, em] = session.end.split(':').map(Number); + + let startMins = sh * 60 + sm; + let endMins = eh * 60 + em; + + // Check Status + if (endMins < startMins) { // Cross midnight + if (currentMins >= startMins || currentMins < endMins) isOpen = true; + } else { + if (currentMins >= startMins && currentMins < endMins) isOpen = true; + } + + // Convert to BJ Time + const toBJ = (hh, mm) => { + let totalMins = (hh * 60 + mm) + (diffHours * 60); + while (totalMins >= 1440) totalMins -= 1440; + while (totalMins < 0) totalMins += 1440; + + const h = Math.floor(totalMins / 60); + const m = Math.floor(totalMins % 60); + return `${h}:${String(m).padStart(2, '0')}`; + }; + + rangesBJ.push(`${toBJ(sh, sm)}-${toBJ(eh, em)}`); + } + + return { + isOpen, + label: rangesBJ.join(', '), + text: isOpen ? '开市' : '休市' + }; +}; + +const getSymbolUrl = (symbol) => { + if (!symbol) return 'https://gu.qq.com/' + // Tencent Finance URL format: + // US stocks: https://gu.qq.com/usIXIC (remove dot from us.IXIC) + if (symbol.startsWith('us.')) return `https://gu.qq.com/${symbol.replace('.', '')}` + // HK stocks: https://gu.qq.com/hk00700 + // CN stocks: https://gu.qq.com/sh000001 + // Futures: https://gu.qq.com/hf_GC + return `https://gu.qq.com/${symbol}` +} + +const addCustomCardClass = (cardCls, customClass) => { + if (typeof customClass !== 'string') return cardCls + const trimmed = customClass.trim() + if (!trimmed) return cardCls + const safe = trimmed.split(/\s+/).filter(token => /^[A-Za-z0-9_-]+$/.test(token)) + if (safe.length === 0) return cardCls + return `${cardCls} ${safe.join(' ')}` +} + +const normalizeExplainText = text => { + if (typeof text !== 'string') return '' + return text.split(/\r?\n/).map(x => x.trim()).filter(Boolean).join(' ') +} + +const isUSRelatedCard = row => { + const timezone = String((((row || {}).market_status) || {}).timezone || '') + const symbol = String((row || {}).symbol || '') + if (timezone === 'America/New_York') return true + if (symbol.startsWith('us')) return true + if (symbol.startsWith('hf_')) return true + return false +} + +const render = (rows, thresholdPercent) => { + window.lastMarketData = rows; // Cache for archive generation + const box = el('quotes') + box.innerHTML = '' + const sorted = [...rows].sort((a, b) => { + const ao = Number.isFinite(a.card_order) ? a.card_order : 9999 + const bo = Number.isFinite(b.card_order) ? b.card_order : 9999 + if (ao !== bo) return ao - bo + const aKey = `${a.label || ''}${a.name || ''}${a.symbol || ''}` + const bKey = `${b.label || ''}${b.name || ''}${b.symbol || ''}` + return aKey.localeCompare(bKey) + }) + for (const r of sorted) { + const card = document.createElement('div') + let cardCls = 'card' + let isAlert = false + if (r.card_type === 'overseas') cardCls += ' card-overseas' + if (r.card_type === 'domestic') cardCls += ' card-domestic' + if (r.card_type === 'enhanced') cardCls += ' card-enhanced' + if (r.card_type === 'defensive') cardCls += ' card-defensive' + if (r.card_type === '299') cardCls += ' card-299' + if (isUSRelatedCard(r)) cardCls += ' card-us' + if (Number.isFinite(r.card_span) && r.card_span >= 2) cardCls += ' card-span-2' + cardCls = addCustomCardClass(cardCls, r.card_custom_class) + + // ── Error / Placeholder Card ── + if (r._error || r.source === 'error') { + cardCls += ' card-error' + card.className = cardCls + const symbolDisplay = r.displaySymbol || r.symbol + card.innerHTML = ` +
    +
    ${r.label || r.name} (${symbolDisplay})
    + ${r.url ? `🏠` : ''} +
    +
    +
    — 暂无数据 —
    +
    ${r._error || '数据源异常'}
    +
    +
    来源 ${r.source} · 时间 ${r.captured_at || ''}
    + ` + box.appendChild(card) + continue + } + + const tp = typeof thresholdPercent === 'number' ? thresholdPercent : null + const move = normalizeMove(r) + if (tp !== null && move.changePercent <= tp) { + cardCls += ' card-alert' + isAlert = true + } + card.className = cardCls + + // Header row with Title and Home Icon + const header = document.createElement('div') + header.style.display = 'flex' + header.style.justifyContent = 'space-between' + header.style.alignItems = 'flex-start' + + const symbolDisplay = r.displaySymbol || r.symbol + + const title = document.createElement('div') + if (r.isMaCard && r.render_type !== 'zhonghang_299_html') { + title.textContent = `${r.label} · MA120: ${r.ma120} | MA250: ${r.ma250} (${symbolDisplay})` + } else { + title.textContent = `${r.label} · ${r.name} (${symbolDisplay})` + } + + if (isAlert) { + const flag = document.createElement('span') + flag.className = 'alert-flag' + flag.textContent = '⚠ 告警' + title.appendChild(document.createTextNode(' ')) + title.appendChild(flag) + } + + const homeLink = document.createElement('a') + homeLink.href = r.url || getSymbolUrl(symbolDisplay) + homeLink.target = '_blank' + homeLink.textContent = '🏠' + homeLink.style.textDecoration = 'none' + homeLink.style.marginLeft = '8px' + homeLink.title = '查看详情' + + header.appendChild(title) + header.appendChild(homeLink) + + const price = document.createElement('div') + price.className = 'price-display' + + if (r.render_type === 'gold_silver_nav') { + const fmt = v => Number.isFinite(v) ? v.toFixed(4) : '—' + const fmtPct = v => Number.isFinite(v) ? `${v >= 0 ? '+' : ''}${v.toFixed(2)}%` : '—' + price.innerHTML = ` +
    +
    黄金:净值 ${fmt(r.gold_nav)} | 价格 ${fmt(r.gold_price)} | 溢价率 ${fmtPct(r.gold_premium)} | ${r.gold_tip || '—'}
    +
    白银:净值 ${fmt(r.silver_nav)} | 价格 ${fmt(r.silver_price)} | 溢价率 ${fmtPct(r.silver_premium)} | ${r.silver_tip || '—'}
    +
    + ` + } else if ((r.render_type === 'html' || r.render_type === 'zhonghang_299_html') && r.html) { + price.innerHTML = r.html + } else if (r.isMaCard) { + const isBull = parseFloat(r.ma120) > parseFloat(r.ma250) + price.innerHTML = ` +
    + MA120 ${isBull ? '>' : '<'} MA250 :结论为“ ${r.conclusion} ” +
    + ` + } else { + const changePercent = move.changePercent + const changeClass = move.sign >= 0 ? 'up' : 'down' + + price.innerHTML = ` + 价格 ${r.price} + 涨跌 ${fmtSign(move.change)} + (${fmtSign(changePercent)}%) + ` + } + const meta = document.createElement('div') + meta.className = 'meta' + const explainText = normalizeExplainText(r.explain) + if (explainText) { + const explain = document.createElement('div') + explain.className = 'meta' + explain.style.marginTop = '6px' + explain.style.color = '#595959' + explain.textContent = explainText + card.appendChild(explain) + } + + const status = getMarketStatus(r.market_status); + let statusHtml = ''; + if (status) { + const color = status.isOpen ? '#52c41a' : '#8c8c8c'; + statusHtml = ` ● ${status.text} (北时 ${status.label})`; + } + + meta.innerHTML = `来源 ${r.source} · 时间 ${r.captured_at || ''}${statusHtml}` + + card.appendChild(header) + card.appendChild(price) + card.appendChild(meta) + box.appendChild(card) + } +} + +const generateArchiveHTML = (data) => { + const escapeHTML = s => String(s || '').replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"').replace(/'/g, ''') + const css = `body{font-family:system-ui,Segoe UI,Arial,sans-serif;margin:0;padding:16px;box-sizing:border-box;width:100%;max-width:none} .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;width:100%;margin:0} .card{border:1px solid #e8e8e8;border-radius:12px;padding:12px;display:grid;gap:8px;background:var(--card-bg,#ffffff);box-shadow:0 1px 4px rgba(0,0,0,0.08)} .card-span-2{grid-column:span 2} .card-overseas{--card-bg:#FAE5E5} .card-domestic{--card-bg:#F8E0FA} .card-enhanced{--card-bg:#FDF9E2} .card-defensive{--card-bg:#DADAF8} .card-us:not(.card-defensive){--card-bg:#EDF4FF} .card-299{--card-bg:#09D3C0} .card-error{--card-bg:#f0f0f0;border-color:#d9d9d9;opacity:0.7} .card-zhonghang-299{padding:16px;min-height:260px} .card-zhonghang-299 .price-display{font-size:15px;font-weight:500;line-height:1.7} .card-zhonghang-299 .zh299-wrap{display:grid;gap:10px} .card-zhonghang-299 .zh299-price{font-size:16px;font-weight:700;color:#003a8c} .card-zhonghang-299 .zh299-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px} .card-zhonghang-299 .zh299-block{border:1px solid rgba(0,0,0,0.08);border-radius:10px;background:rgba(255,255,255,0.72);padding:10px 12px} .card-zhonghang-299 .zh299-title{font-size:13px;font-weight:700;color:#0958d9;margin-bottom:6px} .card-zhonghang-299 .zh299-row{font-size:13px;color:#262626;line-height:1.7} .meta{font-size:12px;color:#8c8c8c} .up{color:#f5222d;font-weight:600} .down{color:#52c41a;font-weight:600} .card-alert{border-color:#ff4d4f} .alert-flag{display:inline-block;padding:2px 8px;font-size:12px;border-radius:12px;background:#ff4d4f;color:#fff;margin-left:8px} a{text-decoration:none} @media (max-width:768px){.card-span-2{grid-column:span 1} .card-zhonghang-299{padding:12px;min-height:auto} .card-zhonghang-299 .zh299-grid{grid-template-columns:1fr;gap:10px}}`; + + let cardsHTML = ''; + + const sorted = [...data].sort((a, b) => { + const ao = Number.isFinite(a.card_order) ? a.card_order : 9999 + const bo = Number.isFinite(b.card_order) ? b.card_order : 9999 + if (ao !== bo) return ao - bo + const aKey = `${a.label || ''}${a.name || ''}${a.symbol || ''}` + const bKey = `${b.label || ''}${b.name || ''}${b.symbol || ''}` + return aKey.localeCompare(bKey) + }) + for (const r of sorted) { + let cardCls = 'card'; + let isAlert = false; + if (r.card_type === 'overseas') cardCls += ' card-overseas'; + if (r.card_type === 'domestic') cardCls += ' card-domestic'; + if (r.card_type === 'enhanced') cardCls += ' card-enhanced'; + if (r.card_type === 'defensive') cardCls += ' card-defensive'; + if (r.card_type === '299') cardCls += ' card-299'; + if (isUSRelatedCard(r)) cardCls += ' card-us'; + if (Number.isFinite(r.card_span) && r.card_span >= 2) cardCls += ' card-span-2'; + cardCls = addCustomCardClass(cardCls, r.card_custom_class); + // ── Error / Placeholder Card for Archive ── + if (r._error || r.source === 'error') { + const symbolDisplay = r.displaySymbol || r.symbol; + const linkHtml = r.url ? `🏠` : ''; + cardsHTML += ` +
    +
    +
    ${escapeHTML(r.label || r.name)} (${escapeHTML(symbolDisplay)})
    + ${linkHtml} +
    +
    +
    — 暂无数据 —
    +
    ${escapeHTML(r._error || '数据源异常')}
    +
    +
    来源 ${escapeHTML(r.source)} · 时间 ${r.captured_at || ''}
    +
    + `; + continue; + } + const th = el('th').value; + const tp = th ? parseFloat(th) : null; + + const move = normalizeMove(r); + if (tp !== null && move.changePercent <= tp) { + cardCls += ' card-alert'; + isAlert = true; + } + + const changePercent = move.changePercent; + const changeClass = move.sign >= 0 ? 'up' : 'down'; + + // Status Logic (Independent implementation) + let statusHtml = ''; + const status = getMarketStatus(r.market_status); + if (status) { + const color = status.isOpen ? '#52c41a' : '#8c8c8c'; + statusHtml = ` ● ${status.text} (北时 ${status.label})`; + } + + // Link Logic + const symbolDisplay = r.displaySymbol || r.symbol; + const linkUrl = r.url || getSymbolUrl(symbolDisplay); + const linkHtml = `🏠`; + + // Alert Flag + const alertHtml = isAlert ? `⚠ 告警` : ''; + + let contentHtml = ''; + if (r.render_type === 'gold_silver_nav') { + const fmt = v => Number.isFinite(v) ? v.toFixed(4) : '—'; + const fmtPct = v => Number.isFinite(v) ? `${v >= 0 ? '+' : ''}${v.toFixed(2)}%` : '—'; + contentHtml = ` +
    +
    ${r.label} · ${r.name} (${symbolDisplay}) ${alertHtml}
    +
    黄金:净值 ${fmt(r.gold_nav)} | 价格 ${fmt(r.gold_price)} | 溢价率 ${fmtPct(r.gold_premium)} | ${r.gold_tip || '—'}
    +
    白银:净值 ${fmt(r.silver_nav)} | 价格 ${fmt(r.silver_price)} | 溢价率 ${fmtPct(r.silver_premium)} | ${r.silver_tip || '—'}
    +
    + `; + } else if ((r.render_type === 'html' || r.render_type === 'zhonghang_299_html') && r.html) { + contentHtml = ` +
    +
    ${r.label} · ${r.name} (${symbolDisplay}) ${alertHtml}
    + ${linkHtml} +
    +
    + ${r.html} +
    + `; + } else if (r.isMaCard) { + const isBull = parseFloat(r.ma120) > parseFloat(r.ma250); + contentHtml = ` +
    +
    ${r.label} · MA120: ${r.ma120} | MA250: ${r.ma250} (${symbolDisplay}) ${alertHtml}
    + ${linkHtml} +
    +
    + MA120 ${isBull ? '>' : '<'} MA250 :结论为“ ${r.conclusion} ” +
    + `; + } else { + contentHtml = ` +
    +
    ${r.label} · ${r.name} (${symbolDisplay}) ${alertHtml}
    + ${linkHtml} +
    +
    + 价格 ${r.price} + 涨跌 ${fmtSign(move.change)} + (${fmtSign(changePercent)}%) +
    + `; + } + + const explainText = normalizeExplainText(r.explain); + const explainHtml = explainText ? `
    ${escapeHTML(explainText)}
    ` : ''; + cardsHTML += ` +
    + ${contentHtml} + ${explainHtml} +
    来源 ${r.source} · 时间 ${r.captured_at || ''}${statusHtml}
    +
    + `; + } + + const time = window.fmtCNDateTime ? window.fmtCNDateTime(new Date()) : new Date().toLocaleString('zh-CN'); + const date = (el('rt-date').value || todayLocal()).replace(/\//g,'-'); + const title = `市场封存 · ${date}`; + + return `${title}

    ${title}

    ${cardsHTML}
    生成时间 ${time}
    `; +}; + +const loadArchive = async () => { + const dayRaw = el('arch-date').value || todayLocal() + const day = dayRaw.replace(/\//g,'-') + const box = el('archive-view') + const status = el('archive-status') + try { await fetch('/api/debug/event', { method:'POST', headers:{ 'Content-Type':'application/json' }, body: JSON.stringify({ source:'markets', action:'archive.get', day }) }) } catch {} + if (status) { status.style.display = ''; status.textContent = `正在读取 ${day} 的封存页面...` } + let data + try { + const res = await fetch(`/api/markets/archive/get?day=${encodeURIComponent(day)}`) + data = await res.json() + } catch (e) { + box.innerHTML = '' + if (status) { status.style.display = ''; status.textContent = `读取失败:${String(e.message || e)}` } + logLocal(`markets.archive.error ${JSON.stringify({ day, error: String(e.message || e) })}`) + return + } + if (data.ok && data.html) { + const iframe = document.createElement('iframe') + + // Inject override CSS for historical snapshots to fix width issues + let html = data.html; + const overrideCss = ``; + + if (html.includes('')) { + html = html.replace('', overrideCss + ''); + } else { + html += overrideCss; + } + + iframe.setAttribute('srcdoc', html) + iframe.style.width = '100%' + iframe.style.border = '0' + iframe.addEventListener('load', () => { + fitArchiveIframeHeight(iframe) + setTimeout(() => fitArchiveIframeHeight(iframe), 120) + }) + box.innerHTML = '' + box.appendChild(iframe) + fitArchiveIframeHeight(iframe) + if (status) { status.style.display = 'none'; status.textContent = '' } + logLocal(`markets.archive.loaded ${JSON.stringify({ day, html_len: data.html.length })}`) + } else { + box.innerHTML = '' + if (status) { status.style.display = ''; status.textContent = `没有找到 ${day} 的封存页面` } + logLocal(`markets.archive.empty ${JSON.stringify({ day })}`) + } +} + +const saveArchive = async () => { + const data = window.lastMarketData; + if (!data || !data.length) { + alert('当前没有可封存的数据,请先刷新获取数据'); + return; + } + + const dayRaw = el('rt-date').value || todayLocal() + const day = dayRaw.replace(/\//g,'-') + const status = el('m-status') + + try { await fetch('/api/debug/event', { method:'POST', headers:{ 'Content-Type':'application/json' }, body: JSON.stringify({ source:'markets', action:'archive.save.click', day }) }) } catch {} + + const existed = await fetch(`/api/markets/archive/get?day=${encodeURIComponent(day)}`) + const existedData = await existed.json() + + if (existedData.ok && existedData.html) { + const ok = window.confirm(`当天已存在封存页面,是否覆盖 ${day} ?`) + if (!ok) return + } + + const html = generateArchiveHTML(data); // Use independent generator + + const res = await fetch('/api/markets/archive/save', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ day, html }) + }) + + const result = await res.json() + if (result.ok) { + if (status) { + status.style.display = '' + status.textContent = `封存成功 (${day})` + setTimeout(() => status.style.display = 'none', 3000) + } + // Auto refresh archive view if looking at same day + const archDate = el('arch-date') + if (archDate && archDate.value === dayRaw) { + loadArchive() + } + } else { + alert('封存失败: ' + (result.error || '未知错误')) + } +} + +const navigateDayArchive = d => { + const cur = el('arch-date').value || todayLocal() + const next = offsetLocal(cur, d) + const input = el('arch-date') + if (input) input.value = next + loadArchive() +} + +const navigateDayRealtime = d => { + const cur = el('rt-date').value || todayLocal() + const next = offsetLocal(cur, d) + const input = el('rt-date') + if (input) input.value = next + const status = el('m-status') + if (status) { status.style.display = ''; status.textContent = `保存目标日期:${next}` } + logLocal(`frontend.event ${JSON.stringify({ source: 'markets', action: 'rt.navigate', delta: d, to: next })}`) + try { fetch('/api/debug/event', { method:'POST', headers:{ 'Content-Type':'application/json' }, body: JSON.stringify({ source:'markets', action:'rt.navigate', delta:d, to: next }) }) } catch {} +} + +const getCalendarStatusClass = day => { + if (!day) return 'markets-calendar-pill-muted' + if (day.ipo_count > 0) return day.is_trading_day ? 'markets-calendar-pill-ipo' : 'markets-calendar-pill-closed' + if (day.is_trading_day) return 'markets-calendar-pill-open' + return 'markets-calendar-pill-closed' +} + +const getCalendarStatusText = day => { + if (!day) return '未知' + if (day.ipo_count > 0) return `新股申购 ${day.ipo_count} 项` + return day.day_type_label || (day.is_trading_day ? '交易日' : '休市日') +} + +const getCalendarAiReviewLabel = review => { + if (!review || !review.verify_status) return '未复核' + if (review.verify_status === 'verified_ok') return 'AI未提示异常' + if (review.verify_status === 'conflict') return 'AI存疑' + if (review.verify_status === 'needs_review') return 'AI待复核' + return '未复核' +} + +const getCalendarAiReviewClass = review => { + if (!review || !review.verify_status) return 'markets-calendar-pill-muted' + if (review.verify_status === 'verified_ok') return 'markets-calendar-pill-ai-ok' + if (review.verify_status === 'conflict') return 'markets-calendar-pill-ai-risk' + if (review.verify_status === 'needs_review') return 'markets-calendar-pill-ai-warn' + return 'markets-calendar-pill-muted' +} + +const renderCalendarSummary = () => { + const box = el('calendar-summary') + if (!box) return + const summary = calendarState.summary || {} + const sync = calendarState.syncStatus || {} + const holiday = sync.holiday || {} + const ipo = sync.ipo || {} + const ai = sync.ai_verify || {} + const note = sync.note || '' + const overviewText = `已加载 ${calendarState.month || ''} | 交易日 ${summary.trading_day_count || 0} 天 | 新股申购 ${summary.ipo_day_count || 0} 天` + const holidayText = holiday.ok ? `节假日已同步 ${String(holiday.synced_at || '').replace('T', ' ').slice(0, 19)}` : '节假日使用本地回退规则' + const ipoText = ipo.ok ? `新股已同步 ${String(ipo.synced_at || '').replace('T', ' ').slice(0, 19)}` : '新股使用本地缓存/待补同步' + const aiText = ai.ok + ? `AI 已复核 ${String(ai.verified_at || '').replace('T', ' ').slice(0, 19)} | ${ai.summary || '未发现明显冲突'}` + : (ai && ai.overall_status === 'error' + ? `AI 复核失败:${ai.error || ai.summary || '继续使用主数据源'}` + : 'AI 尚未完成本周复核') + const syncText = [holidayText, ipoText, aiText, note].filter(Boolean).join(' | ') + box.innerHTML = ` +
    +
    ${overviewText}
    +
    +
    +
    +
    交易日
    +
    ${summary.trading_day_count || 0}
    +
    +
    +
    休市日
    +
    ${summary.market_closed_count || 0}
    +
    +
    +
    新股申购日
    +
    ${summary.ipo_day_count || 0}
    +
    +
    +
    AI待复核
    +
    ${summary.ai_issue_count || 0}
    +
    +
    +
    +
    + 同步状态 + ${syncText} +
    +
    + ` +} + +const renderCalendarDetail = date => { + const box = el('calendar-detail') + if (!box) return + const day = (calendarState.days || []).find(item => item.date === date) || null + if (!day) { + box.innerHTML = ` +
    + 选择左侧日期后,这里会显示交易状态、节假日说明和新股申购明细。 +
    + ` + return + } + const holidayHtml = day.holiday_name + ? `
    节假日${day.holiday_name}
    ` + : '' + const ipoHtml = (day.ipo_events || []).length + ? day.ipo_events.map(item => ` +
    +
    ${item.stock_name} ${item.stock_code}
    +
    市场:${item.market || 'A股'} | 顶格申购:${Number.isFinite(Number(item.apply_limit_wan)) ? Number(item.apply_limit_wan).toFixed(2) : '—'} 万股
    +
    发行价:${Number.isFinite(Number(item.issue_price)) ? Number(item.issue_price).toFixed(2) + ' 元' : '—'} | 市盈率:${Number.isFinite(Number(item.pe_ratio)) ? Number(item.pe_ratio).toFixed(2) : '—'}
    +
    状态:${item.status || '已收录'}
    +
    + `).join('') + : '
    当天没有新股申购安排。
    ' + const aiReview = day.ai_review || null + const aiReviewHtml = aiReview + ? ` +
    AI状态${getCalendarAiReviewLabel(aiReview)}
    +
    AI结论${aiReview.title || aiReview.suggested_status || '未提示异常'}
    +
    AI原因${aiReview.reason || 'AI 本轮未提示明显冲突,但不代表替代主数据源。'}
    + ` + : '
    该日期尚未进入 AI 复核窗口,或还未执行本周复核。
    ' + box.innerHTML = ` +
    +
    +
    ${day.date}
    +
    ${day.weekday_label || ''}
    +
    + ${getCalendarStatusText(day)} +
    +
    +
    证券状态${day.day_type_label || (day.is_trading_day ? '交易日' : '休市日')}
    + ${holidayHtml} +
    备注${day.notes || '—'}
    +
    +
    AI复核
    +
    ${aiReviewHtml}
    +
    新股申购
    +
    ${ipoHtml}
    + ` +} + +const renderCalendarGrid = () => { + const box = el('calendar-grid') + if (!box) return + const days = Array.isArray(calendarState.days) ? calendarState.days : [] + const weekdayHeaders = ['一', '二', '三', '四', '五', '六', '日'] + if (!days.length) { + box.innerHTML = '
    当前月份暂无日历数据。
    ' + return + } + const first = days[0] + const firstJsDay = new Date(`${first.date}T00:00:00`).getDay() + const leadCount = (firstJsDay + 6) % 7 + const nodes = [] + weekdayHeaders.forEach(label => { + nodes.push(`
    ${label}
    `) + }) + for (let i = 0; i < leadCount; i += 1) nodes.push('
    ') + for (const day of days) { + const selected = calendarState.selectedDate === day.date + const classes = ['markets-calendar-cell'] + if (day.is_today) classes.push('is-today') + if (selected) classes.push('is-selected') + if (!day.is_trading_day) classes.push('is-closed') + if (day.ipo_count > 0) classes.push('has-ipo') + nodes.push(` + + `) + } + box.innerHTML = nodes.join('') + box.querySelectorAll('[data-date]').forEach(node => { + node.addEventListener('click', () => { + calendarState.selectedDate = node.getAttribute('data-date') || '' + renderCalendarGrid() + renderCalendarDetail(calendarState.selectedDate) + }) + }) +} + +const runSecurityCalendarAiVerify = async () => { + const status = el('calendar-status') + if (status) { + status.style.display = '' + status.innerHTML = '正在调用 Qwen 复核当前周、下周和下下周...' + } + try { + const data = await runTrackedInteraction({ + title: '证券日历 AI 复核', + action: '证券日历 AI 复核', + button: el('cal-btn-ai-verify'), + loadingText: 'AI复核中…', + request: { force_refresh: true }, + summary: '正在调用 Qwen 复核证券日历...', + successText: result => `AI 复核完成:${((result || {}).result || {}).summary || '未发现明显冲突'}` + }, async ctx => { + const result = await ctx.fetchJson('/api/markets/security_calendar/ai_verify', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ force_refresh: true }) + }, { api: '/api/markets/security_calendar/ai_verify' }) + ctx.log('AI 复核结果', result && result.result ? result.result : result) + await loadSecurityCalendar(false) + return result + }) + if (status) { + const summary = data.result && data.result.summary ? data.result.summary : 'AI 复核完成' + status.style.display = '' + status.textContent = `AI 复核完成:${summary}` + } + logLocal(`markets.security_calendar.ai_verify ${JSON.stringify({ ok: true, summary: data.result && data.result.summary ? data.result.summary : '' })}`) + } catch (e) { + if (status) { + status.style.display = '' + status.textContent = `AI 复核失败:${String(e.message || e)}` + } + logLocal(`markets.security_calendar.ai_verify.error ${JSON.stringify({ error: String(e.message || e) })}`) + } +} + +const loadSecurityCalendar = async (forceRefresh, options = {}) => { + const monthInput = el('cal-month') + const status = el('calendar-status') + const month = monthInput && monthInput.value ? monthInput.value : todayMonthLocal() + const tracked = options && options.tracked === true + if (monthInput && !monthInput.value) monthInput.value = month + if (status) { + status.style.display = '' + status.innerHTML = `正在加载 ${month} 的证券日历...` + } + const execute = async ctx => { + const url = `/api/markets/security_calendar?month=${encodeURIComponent(month)}${forceRefresh ? '&refresh=1' : ''}` + const data = ctx + ? await ctx.fetchJson(url, {}, { api: '/api/markets/security_calendar', month, refresh: !!forceRefresh }) + : await (async () => { + const res = await fetch(url) + const result = await res.json() + if (!result.ok) throw new Error(result.error || '证券日历读取失败') + return result + })() + if (ctx) { + ctx.log('证券日历汇总', { + month: data.month || month, + day_count: Array.isArray(data.days) ? data.days.length : 0, + sync_status: data.sync_status || null + }) + } + calendarState.month = data.month || month + calendarState.days = Array.isArray(data.days) ? data.days : [] + calendarState.summary = data.summary || null + calendarState.syncStatus = data.sync_status || null + calendarState.selectedDate = calendarState.selectedDate && calendarState.days.find(item => item.date === calendarState.selectedDate) + ? calendarState.selectedDate + : ((calendarState.days.find(item => item.is_today) || calendarState.days[0] || {}).date || '') + if (calendarState.pendingDateFromQuery && calendarState.days.find(item => item.date === calendarState.pendingDateFromQuery)) { + calendarState.selectedDate = calendarState.pendingDateFromQuery + calendarState.pendingDateFromQuery = '' + } + renderCalendarSummary() + renderCalendarGrid() + renderCalendarDetail(calendarState.selectedDate) + if (status) { + status.style.display = 'none' + status.textContent = '' + } + logLocal(`markets.security_calendar.loaded ${JSON.stringify({ month: calendarState.month, day_count: calendarState.days.length, force_refresh: !!forceRefresh })}`) + return data + } + try { + if (tracked) { + await runTrackedInteraction({ + title: forceRefresh ? '证券日历刷新' : '证券日历加载', + action: forceRefresh ? '刷新证券日历' : '加载证券日历', + button: el(forceRefresh ? 'cal-btn-refresh' : 'cal-btn-load'), + loadingText: forceRefresh ? '刷新中…' : '加载中…', + request: { month, refresh: !!forceRefresh }, + summary: '正在同步证券日历、节假日、新股申购与 AI 复核状态...', + successText: result => `证券日历已加载:${(result && result.month) || month},共 ${((result && result.days) || []).length} 天` + }, execute) + } else { + await execute(null) + } + } catch (e) { + if (status) { + status.style.display = '' + status.textContent = `证券日历加载失败:${String(e.message || e)}` + } + logLocal(`markets.security_calendar.error ${JSON.stringify({ month, error: String(e.message || e) })}`) + } +} + +const navigateMonthCalendar = d => { + const input = el('cal-month') + const next = offsetMonthLocal(input && input.value ? input.value : todayMonthLocal(), d) + if (input) input.value = next + loadSecurityCalendar(false) +} + +const renderWeeklySummary = () => { + const box = el('weekly-summary') + if (!box) return + const summary = weeklyState.summary || {} + const activeFilter = String(weeklyState.activeFilter || 'all') + const statClass = (key, tone) => { + const classes = ['markets-weekly-stat', 'markets-weekly-stat-action'] + if (tone) classes.push(`markets-weekly-stat-${tone}`) + if (activeFilter === key) classes.push('is-active') + return classes.join(' ') + } + box.innerHTML = ` + + + + + + ` + box.querySelectorAll('[data-weekly-filter]').forEach(node => { + node.addEventListener('click', () => setWeeklyFilter(node.getAttribute('data-weekly-filter') || 'all')) + }) +} + +const renderWeeklyGrid = () => { + const box = el('weekly-grid') + if (!box) return + const rows = getWeeklyFilterRows() + if (!rows.length) { + box.innerHTML = `
    ${getWeeklyFilterLabel(weeklyState.activeFilter)}暂无可显示卡片。
    ` + return + } + box.innerHTML = rows.map(row => { + const moveClass = getWeeklyMoveClass(row) + const moveCellClass = moveClass === 'up' ? 'markets-weekly-cell-up' : 'markets-weekly-cell-down' + const movePct = fmtWeekPct(row.change_percent) + const moveValue = fmtWeekSigned(row.change_value) + const source = row.data_source || 'unknown' + const statusText = row.week_status === 'future' + ? '未来周' + : (row.week_status === 'missing' || row.week_status === 'error' + ? '待补数据' + : (row.week_status === 'current' ? '本周滚动' : '历史周报')) + const note = row.data_note || '按北京时间聚合' + const detailLink = row.detail_url ? `东方财富` : '' + return ` +
    +
    +
    +
    ${row.label || row.symbol}
    +
    ${row.symbol || ''} | ${row.market_group || '指数'} | 北时 ${fmtWeeklyBeijingTime(row)}
    +
    + +
    +
    ${fmtWeekRange(row.week_start, row.week_end)}
    +
    +
    开盘${fmtWeekPrice(row.price_open)}
    +
    最高${fmtWeekPrice(row.price_high)}
    +
    最低${fmtWeekPrice(row.price_low)}
    +
    收盘${fmtWeekPrice(row.price_close)}
    +
    涨跌幅${movePct}
    +
    涨跌额${moveValue}
    +
    成交额${fmtWeekAmount(row.amount_value, row.currency_label)}
    +
    货币${row.currency_label || row.currency_code || '—'}
    +
    +
    状态:${statusText} | 来源:${source} | 最后交易日:${row.last_trade_date || '—'} | 北时:${fmtWeeklyBeijingTime(row)}
    +
    ${note}
    +
    + ` + }).join('') +} + +const setWeeklyIdleState = (message, options = {}) => { + const status = el('weekly-status') + const clearData = !(options && options.clearData === false) + if (clearData) { + weeklyState.weekStart = '' + weeklyState.weekEnd = '' + weeklyState.rows = [] + weeklyState.summary = null + weeklyState.weekType = '' + weeklyState.activeFilter = 'all' + renderWeeklySummary() + renderWeeklyGrid() + } + if (status) { + status.style.display = '' + status.textContent = message || '请选择周后点击“加载”或“刷新并补存”。' + } +} + +const loadWeeklyReport = async (forceRefresh, options = {}) => { + const input = el('weekly-week') + const status = el('weekly-status') + const week = mondayLocal(input && input.value ? input.value : todayLocal()) + const tracked = options && options.tracked === true + if (input) input.value = week + if (status) { + status.style.display = '' + status.innerHTML = `正在加载 ${week} 这一周的指数周报...` + } + const execute = async ctx => { + const url = `/api/markets/weekly_report?week=${encodeURIComponent(week)}${forceRefresh ? '&refresh=1' : ''}` + const data = ctx + ? await ctx.fetchJson(url, {}, { api: '/api/markets/weekly_report', week, refresh: !!forceRefresh }) + : await (async () => { + const res = await fetch(url) + const result = await res.json() + if (!result.ok) throw new Error(result.error || '指数周报读取失败') + return result + })() + if (ctx) { + ctx.log('周报汇总', { + week_start: data.week_start, + week_end: data.week_end, + row_count: Array.isArray(data.rows) ? data.rows.length : 0, + week_type: data.week_type || '' + }) + } + weeklyState.weekStart = data.week_start || week + weeklyState.weekEnd = data.week_end || week + weeklyState.rows = Array.isArray(data.rows) ? data.rows : [] + weeklyState.summary = data.summary || null + weeklyState.weekType = data.week_type || '' + weeklyState.activeFilter = 'all' + renderWeeklySummary() + renderWeeklyGrid() + updateWeeklyStatus() + logLocal(`markets.weekly_report.loaded ${JSON.stringify({ week_start: weeklyState.weekStart, row_count: weeklyState.rows.length, force_refresh: !!forceRefresh })}`) + return data + } + try { + if (tracked) { + await runTrackedInteraction({ + title: forceRefresh ? '指数周报刷新并补存' : '指数周报加载', + action: forceRefresh ? '刷新指数周报' : '加载指数周报', + button: el(forceRefresh ? 'weekly-btn-refresh' : 'weekly-btn-load'), + loadingText: forceRefresh ? '刷新中…' : '加载中…', + request: { week, refresh: !!forceRefresh }, + summary: '正在聚合周线数据,并按北京时间整理周报...', + successText: result => `周报已完成:${(result && result.week_start) || week} 至 ${(result && result.week_end) || week},共 ${((result && result.rows) || []).length} 张卡` + }, execute) + } else { + await execute(null) + } + } catch (e) { + if (status) { + status.style.display = '' + status.textContent = `指数周报加载失败:${String(e.message || e)}` + } + logLocal(`markets.weekly_report.error ${JSON.stringify({ week, error: String(e.message || e) })}`) + } +} + +const navigateWeeklyReport = d => { + const input = el('weekly-week') + const next = offsetWeekLocal(input && input.value ? input.value : todayLocal(), d) + if (input) input.value = next + setWeeklyIdleState(`已切换到 ${next} 这一周,请点击“加载”或“刷新并补存”。`) +} + +const loadDay = async () => { + const status = el('m-status') + const dateRaw = el('date').value || todayISO() + const date = dateRaw.replace(/\//g, '-') + logLocal(`frontend.event ${JSON.stringify({ source: 'markets', action: 'load.day', date })}`) + try { await fetch('/api/debug/event', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ source: 'markets', action: 'load.day', date }) }) } catch {} + if (status) { status.style.display = ''; status.innerHTML = `正在加载 ${date} 的记录...` } + const res = await fetch(`/api/markets/day?date=${encodeURIComponent(date)}`) + const data = await res.json() + if (data.ok) { + render(data.rows) + logLocal(`markets.day ${JSON.stringify({ date, rows: (data.rows || []).length })}`) + if (status) { status.style.display = 'none'; status.textContent = '' } + } else { + logLocal(`markets.day.error ${JSON.stringify({ date, error: data.error || '' })}`) + if (status) { status.style.display = ''; status.textContent = `加载失败:${data.error || ''}` } + } +} + +const doFetch = async () => { + const status = el('m-status') + const thLabel = el('threshold-label') + logLocal(`frontend.event ${JSON.stringify({ source: 'markets', action: 'fetch' })}`) + try { await fetch('/api/debug/event', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ source: 'markets', action: 'fetch' }) }) } catch {} + if (status) { status.style.display = ''; status.textContent = '正在刷新最新行情...' } + try { + const data = await runTrackedInteraction({ + title: '实时行情刷新', + action: '刷新最新行情', + button: el('btn-fetch'), + loadingText: '刷新中…', + request: { notify: 1 }, + summary: '正在汇总腾讯 / 新浪 / Yahoo 探针 / skills 数据...', + successText: result => `实时行情刷新完成:共 ${(result && result.quotes && result.quotes.length) || 0} 张卡片` + }, async ctx => { + const result = await ctx.fetchJson('/api/markets/fetch?notify=1', {}, { api: '/api/markets/fetch', notify: 1 }) + ctx.log('行情返回统计', { + quote_count: Array.isArray(result && result.quotes) ? result.quotes.length : 0, + threshold_percent: result && result.threshold_percent + }) + return result + }) + if (thLabel && typeof data.threshold_percent === 'number') { + thLabel.textContent = `阈值: ${data.threshold_percent.toFixed(2)}%` + } + render(data.quotes, data.threshold_percent) + logLocal(`markets.fetch.done ${JSON.stringify({ count: (data.quotes || []).length, threshold_percent: data.threshold_percent })}`) + if (status) { status.style.display = 'none'; status.textContent = '' } + } catch (e) { + logLocal(`markets.fetch.error ${JSON.stringify({ error: String(e.message || e) })}`) + if (status) { status.style.display = ''; status.textContent = `刷新失败:${String(e.message || e)}` } + } +} + +const openSettings = async () => { + let data + try { + const res = await fetch('/api/markets/config') + data = await res.json() + } catch (e) { + logLocal(`markets.config.load.error ${JSON.stringify({ error: String(e.message || e) })}`) + const status = el('m-status') + if (status) { status.style.display = ''; status.textContent = `加载配置失败:${String(e.message || e)}` } + return + } + if (data.ok && data.config) { + const cfg = data.config + el('wl').value = JSON.stringify(cfg.watchlist) + el('th').value = cfg.threshold_percent + el('mail').value = JSON.stringify(cfg.email) + } + el('settings-modal').classList.remove('hidden') +} + +const saveSettings = async () => { + let wl = [] + let mail = {} + const wlText = el('wl').value.trim() + const mailText = el('mail').value.trim() + try { + wl = wlText ? JSON.parse(wlText) : [] + } catch (e) { + window.alert('监控列表 JSON 格式错误,请检查后再保存') + return + } + try { + mail = mailText ? JSON.parse(mailText) : {} + } catch (e) { + window.alert('邮件配置 JSON 格式错误,请检查后再保存') + return + } + const thRaw = el('th').value + const thNum = parseFloat(thRaw) + const threshold = Number.isFinite(thNum) ? thNum : -2 + const body = { watchlist: wl, threshold_percent: threshold, email: mail } + try { + await fetch('/api/markets/config', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(body) }) + el('settings-modal').classList.add('hidden') + } catch (e) { + window.alert(`保存失败:${String(e.message || e)}`) + } +} + +const formatSettingsJSON = () => { + const wlEl = el('wl') + const mailEl = el('mail') + if (wlEl) { + const txt = wlEl.value.trim() + if (txt) { + try { + const obj = JSON.parse(txt) + wlEl.value = JSON.stringify(obj, null, 2) + } catch (e) { + window.alert('监控列表 JSON 格式错误,无法格式化') + } + } + } + if (mailEl) { + const txt = mailEl.value.trim() + if (txt) { + try { + const obj = JSON.parse(txt) + mailEl.value = JSON.stringify(obj, null, 2) + } catch (e) { + window.alert('邮件配置 JSON 格式错误,无法格式化') + } + } + } +} + +const switchPanel = which => { + const rtTab = el('m-tab-realtime') + const arTab = el('m-tab-archive') + const calTab = el('m-tab-calendar') + const wkTab = el('m-tab-weekly') + const newsTab = el('m-tab-news') + const wisdomTab = el('m-tab-wisdom') + const rt = el('m-panel-realtime') + const ar = el('m-panel-archive') + const cal = el('m-panel-calendar') + const wk = el('m-panel-weekly') + const news = el('m-panel-news') + const wisdom = el('m-panel-wisdom') + if (!rtTab || !arTab || !calTab || !wkTab || !rt || !ar || !cal || !wk) return + if (which === 'archive') { + rtTab.classList.remove('active'); arTab.classList.add('active'); calTab.classList.remove('active'); wkTab.classList.remove('active'); if (newsTab) newsTab.classList.remove('active'); if (wisdomTab) wisdomTab.classList.remove('active') + rt.style.display = 'none'; ar.style.display = ''; cal.style.display = 'none'; wk.style.display = 'none'; if (news) news.style.display = 'none'; if (wisdom) wisdom.style.display = 'none' + loadArchive() + } else if (which === 'calendar') { + rtTab.classList.remove('active'); arTab.classList.remove('active'); calTab.classList.add('active'); wkTab.classList.remove('active'); if (newsTab) newsTab.classList.remove('active'); if (wisdomTab) wisdomTab.classList.remove('active') + rt.style.display = 'none'; ar.style.display = 'none'; cal.style.display = ''; wk.style.display = 'none'; if (news) news.style.display = 'none'; if (wisdom) wisdom.style.display = 'none' + if (!calendarState.month || !Array.isArray(calendarState.days) || calendarState.days.length === 0) loadSecurityCalendar(false) + } else if (which === 'weekly') { + rtTab.classList.remove('active'); arTab.classList.remove('active'); calTab.classList.remove('active'); wkTab.classList.add('active'); if (newsTab) newsTab.classList.remove('active'); if (wisdomTab) wisdomTab.classList.remove('active') + rt.style.display = 'none'; ar.style.display = 'none'; cal.style.display = 'none'; wk.style.display = ''; if (news) news.style.display = 'none'; if (wisdom) wisdom.style.display = 'none' + if (!weeklyState.weekStart || !Array.isArray(weeklyState.rows) || weeklyState.rows.length === 0) { + setWeeklyIdleState('请选择周后点击“加载”读取历史,或点“刷新并补存”主动更新。', { clearData: false }) + } + } else if (which === 'news') { + rtTab.classList.remove('active'); arTab.classList.remove('active'); calTab.classList.remove('active'); wkTab.classList.remove('active'); if (wisdomTab) wisdomTab.classList.remove('active') + if (newsTab) newsTab.classList.add('active') + rt.style.display = 'none'; ar.style.display = 'none'; cal.style.display = 'none'; wk.style.display = 'none'; if (news) news.style.display = ''; if (wisdom) wisdom.style.display = 'none' + loadGlobalNews(false) + } else if (which === 'wisdom') { + rtTab.classList.remove('active'); arTab.classList.remove('active'); calTab.classList.remove('active'); wkTab.classList.remove('active') + if (newsTab) newsTab.classList.remove('active') + if (wisdomTab) wisdomTab.classList.add('active') + rt.style.display = 'none'; ar.style.display = 'none'; cal.style.display = 'none'; wk.style.display = 'none' + if (news) news.style.display = 'none' + if (wisdom) wisdom.style.display = '' + } else { + rtTab.classList.add('active'); arTab.classList.remove('active'); calTab.classList.remove('active'); wkTab.classList.remove('active'); if (newsTab) newsTab.classList.remove('active') + if (wisdomTab) wisdomTab.classList.remove('active') + rt.style.display = ''; ar.style.display = 'none'; cal.style.display = 'none'; wk.style.display = 'none'; if (news) news.style.display = 'none' + if (wisdom) wisdom.style.display = 'none' + } +} + +document.addEventListener('DOMContentLoaded', () => { + try { + logLocal('frontend.event {"source":"markets","action":"dom.ready"}') + loadMarketsUiMode() + const query = getQueryParams() + const rt = el('rt-date'); if (rt) rt.value = todayLocal() + const ad = el('arch-date'); if (ad) ad.value = todayLocal() + const cm = el('cal-month'); if (cm) cm.value = query.month || todayMonthLocal() + const ww = el('weekly-week'); if (ww) ww.value = mondayLocal(query.week || todayLocal()) + if (query.date) calendarState.pendingDateFromQuery = query.date + const bl = el('arch-btn-load'); if (bl) bl.addEventListener('click', loadArchive) + const bf = el('btn-fetch'); if (bf) bf.addEventListener('click', doFetch) + const bp = el('arch-btn-prev'); if (bp) bp.addEventListener('click', () => navigateDayArchive(-1)) + const btoday = el('arch-btn-today'); if (btoday) btoday.addEventListener('click', () => { const i = el('arch-date'); if (i) i.value = todayLocal(); loadArchive() }) + const bn = el('arch-btn-next'); if (bn) bn.addEventListener('click', () => navigateDayArchive(1)) + const bsa = el('rt-btn-save-archive'); if (bsa) bsa.addEventListener('click', saveArchive) + const rtp = el('rt-btn-prev'); if (rtp) rtp.addEventListener('click', () => navigateDayRealtime(-1)) + const rtt = el('rt-btn-today'); if (rtt) rtt.addEventListener('click', () => { const i = el('rt-date'); const v = todayLocal(); if (i) i.value = v; const status = el('m-status'); if (status) { status.style.display = ''; status.textContent = `保存目标日期:${v}` }; logLocal(`frontend.event ${JSON.stringify({ source: 'markets', action: 'rt.today', to: v })}`); try { fetch('/api/debug/event', { method:'POST', headers:{ 'Content-Type':'application/json' }, body: JSON.stringify({ source:'markets', action:'rt.today', to: v }) }) } catch {} }) + const rtn = el('rt-btn-next'); if (rtn) rtn.addEventListener('click', () => navigateDayRealtime(1)) + const stRt = el('m-tab-realtime'); if (stRt) stRt.addEventListener('click', () => switchPanel('realtime')) + const stAr = el('m-tab-archive'); if (stAr) stAr.addEventListener('click', () => switchPanel('archive')) + const stCal = el('m-tab-calendar'); if (stCal) stCal.addEventListener('click', () => switchPanel('calendar')) + const stWk = el('m-tab-weekly'); if (stWk) stWk.addEventListener('click', () => switchPanel('weekly')) + const stNews = el('m-tab-news'); if (stNews) stNews.addEventListener('click', () => switchPanel('news')) + const stWisdom = el('m-tab-wisdom'); if (stWisdom) stWisdom.addEventListener('click', () => switchPanel('wisdom')) + const cbp = el('cal-btn-prev'); if (cbp) cbp.addEventListener('click', () => navigateMonthCalendar(-1)) + const cbc = el('cal-btn-current'); if (cbc) cbc.addEventListener('click', () => { const i = el('cal-month'); if (i) i.value = todayMonthLocal(); loadSecurityCalendar(false) }) + const cbn = el('cal-btn-next'); if (cbn) cbn.addEventListener('click', () => navigateMonthCalendar(1)) + const cbl = el('cal-btn-load'); if (cbl) cbl.addEventListener('click', () => loadSecurityCalendar(false, { tracked: true })) + const cbr = el('cal-btn-refresh'); if (cbr) cbr.addEventListener('click', () => loadSecurityCalendar(true, { tracked: true })) + const cbai = el('cal-btn-ai-verify'); if (cbai) cbai.addEventListener('click', runSecurityCalendarAiVerify) + const wbp = el('weekly-btn-prev'); if (wbp) wbp.addEventListener('click', () => navigateWeeklyReport(-1)) + const wbc = el('weekly-btn-current'); if (wbc) wbc.addEventListener('click', () => { const i = el('weekly-week'); const week = mondayLocal(todayLocal()); if (i) i.value = week; setWeeklyIdleState(`已切换到 ${week} 这一周,请点击“加载”或“刷新并补存”。`) }) + const wbn = el('weekly-btn-next'); if (wbn) wbn.addEventListener('click', () => navigateWeeklyReport(1)) + const wbl = el('weekly-btn-load'); if (wbl) wbl.addEventListener('click', () => loadWeeklyReport(false, { tracked: true })) + const wbr = el('weekly-btn-refresh'); if (wbr) wbr.addEventListener('click', () => loadWeeklyReport(true, { tracked: true })) + const wbm = el('btn-weekly-meta'); if (wbm) wbm.addEventListener('click', loadWeeklyMeta) + const wbmc = el('btn-weekly-meta-close'); if (wbmc) wbmc.addEventListener('click', () => el('weekly-meta-modal').classList.add('hidden')) + const bt = document.getElementById('btn-test'); if (bt) bt.addEventListener('click', async () => { + logLocal('frontend.event {"source":"markets","action":"email.test"}') + const status = el('m-status'); if (status) { status.style.display = ''; status.textContent = '正在发送测试邮件...' } + try { + const res = await fetch('/api/markets/test-email', { method: 'POST' }) + const data = await res.json() + if (data.ok) { if (status) { status.style.display = ''; status.textContent = '测试邮件已发送' } } + else { if (status) { status.style.display = ''; status.textContent = `发送失败:${data.error || ''}` } } + } catch (e) { + if (status) { status.style.display = ''; status.textContent = `发送失败:${String(e.message || e)}` } + } + loadLogs() + }) + const bs = el('btn-settings'); if (bs) bs.addEventListener('click', openSettings) + const bsv = el('btn-save'); if (bsv) bsv.addEventListener('click', saveSettings) + const bfj = el('btn-format-json'); if (bfj) bfj.addEventListener('click', formatSettingsJSON) + const bc = el('btn-close'); if (bc) bc.addEventListener('click', () => el('settings-modal').classList.add('hidden')) + const bsm = el('btn-skills-meta'); if (bsm) bsm.addEventListener('click', loadSkillsMeta) + const bsmc = el('btn-skills-meta-close'); if (bsmc) bsmc.addEventListener('click', () => el('skills-meta-modal').classList.add('hidden')) + const bel = el('btn-email-log'); if (bel) bel.addEventListener('click', loadEmailLog) + const belc = el('btn-email-log-close'); if (belc) belc.addEventListener('click', () => el('email-log-modal').classList.add('hidden')) + const belr = el('btn-email-log-refresh'); if (belr) belr.addEventListener('click', loadEmailLog) + setWeeklyIdleState('请选择周后点击“加载”读取历史,或点“刷新并补存”主动更新。', { clearData: false }) + if (mBtnCopy) mBtnCopy.addEventListener('click', async () => { try { await navigator.clipboard.writeText(mOut.textContent || '') } catch {} }) + if (mBtnRefresh) mBtnRefresh.addEventListener('click', loadLogs) + if (mBtnClear) mBtnClear.addEventListener('click', async () => { try { await fetch('/api/debug/clear?channel=markets', { method: 'POST' }) } catch {}; loadLogs() }) + const interactionCopy = el('interaction-copy'); if (interactionCopy) interactionCopy.addEventListener('click', async () => { try { await navigator.clipboard.writeText(marketsUiState.interaction.lines.join('\n\n')) } catch {} }) + const interactionClose = el('interaction-close'); if (interactionClose) interactionClose.addEventListener('click', closeInteractionDialog) + setInterval(loadLogs, 5000) + const nd = el('news-date'); if (nd) { nd.value = yesterdayLocal(); nd.addEventListener('change', () => { if (nd.value) loadGlobalNews(false) }) } + const nPrev = el('news-btn-prev'); if (nPrev) nPrev.addEventListener('click', () => { const i = el('news-date'); if (i) { i.value = addDays(i.value, -1); loadGlobalNews(false) } }) + const nToday = el('news-btn-today'); if (nToday) nToday.addEventListener('click', () => { const i = el('news-date'); if (i) i.value = yesterdayLocal(); loadGlobalNews(false) }) + const nCurrent = el('news-btn-current'); if (nCurrent) nCurrent.addEventListener('click', () => { const i = el('news-date'); if (i) i.value = todayLocal(); loadGlobalNews(false) }) + const nNext = el('news-btn-next'); if (nNext) nNext.addEventListener('click', () => { const i = el('news-date'); if (i) { i.value = addDays(i.value, 1); loadGlobalNews(false) } }) + const nFetch = el('news-btn-fetch'); if (nFetch) nFetch.addEventListener('click', () => loadGlobalNews(true, { tracked: true })) + const nTranslate = el('news-btn-translate'); if (nTranslate) nTranslate.addEventListener('click', translateGlobalNews) + const nAnalyze = el('news-btn-analyze'); if (nAnalyze) nAnalyze.addEventListener('click', analyzeGlobalNews) + const nLogsBtn = el('news-btn-logs'); if (nLogsBtn) nLogsBtn.addEventListener('click', async () => { + const modal = el('news-logs-modal') + const content = el('news-logs-content') + const count = el('news-logs-count') + if (modal) modal.classList.remove('hidden') + if (content) content.textContent = '正在加载日志...' + if (count) count.textContent = '' + try { + const r = await fetch('/api/global_news/logs') + const d = await r.json() + if (d.ok && Array.isArray(d.logs)) { + if (d.logs.length === 0) { + if (content) content.textContent = '暂无日志记录' + } else { + const logText = d.logs.map(l => { + const icon = l.level === 'ERROR' ? '❌' : l.level === 'WARN' ? '⚠️' : 'ℹ️' + return `${icon} [${l.time}] ${l.msg}${l.detail ? ' | ' + l.detail : ''}` + }).join('\n') + if (content) content.textContent = logText + if (count) count.textContent = `共 ${d.logs.length} 条` + if (content) content.scrollTop = content.scrollHeight + } + } else { + if (content) content.textContent = `加载失败: ${d.error || '未知错误'}` + } + } catch (e) { + if (content) content.textContent = `请求失败: ${e.message}` + } + }) + const nLogsClose = el('news-btn-logs-close'); if (nLogsClose) nLogsClose.addEventListener('click', () => { + const modal = el('news-logs-modal'); if (modal) modal.classList.add('hidden') + }) + const nCopyLogs = el('news-btn-copy-logs'); if (nCopyLogs) nCopyLogs.addEventListener('click', () => { + const content = el('news-logs-content') + const text = content ? content.textContent : '' + if (text) { + navigator.clipboard.writeText(text).then(() => { + const orig = nCopyLogs.textContent + nCopyLogs.textContent = '✅ 已复制' + setTimeout(() => { nCopyLogs.textContent = orig }, 2000) + }).catch(() => { + nCopyLogs.textContent = '❌ 复制失败' + setTimeout(() => { nCopyLogs.textContent = '复制全部' }, 2000) + }) + } + }) + const nClearLogs = el('news-btn-clear-logs'); if (nClearLogs) nClearLogs.addEventListener('click', async () => { + try { + await fetch('/api/global_news/clear_logs', { method: 'POST' }) + const content = el('news-logs-content') + if (content) content.textContent = '日志已清空' + const count = el('news-logs-count') + if (count) count.textContent = '' + } catch (e) {} + }) + const newsList = el('news-list'); if (newsList) { + newsList.addEventListener('click', (e) => { + const toggle = e.target.closest('.expandable-toggle') + if (!toggle) return + const td = toggle.closest('.expandable') + if (!td) return + const expanded = td.classList.toggle('expanded') + toggle.textContent = expanded ? '👆收缩' : '👇展开' + }) + } + loadLogs() + switchPanel(query.tab === 'calendar' ? 'calendar' : (query.tab === 'weekly' ? 'weekly' : 'realtime')) + } catch (e) { + logLocal(`frontend.error ${String(e.message || e)}`) + } +}) + +const loadSkillsMeta = async () => { + const modal = el('skills-meta-modal') + const stats = el('skills-meta-stats') + const tbody = el('skills-meta-tbody') + const structure = el('skills-meta-structure') + const anomalies = el('skills-meta-anomalies') + const heartbeats = el('skills-meta-heartbeats') + + modal.classList.remove('hidden') + stats.innerHTML = '加载中...' + tbody.innerHTML = '正在拉取数元数据...' + structure.innerHTML = '' + anomalies.innerHTML = '' + heartbeats.innerHTML = '' + + try { + const res = await fetch('/api/markets/skills-meta') + const data = await res.json() + if (!data.ok) throw new Error(data.error || '未知错误') + + stats.innerHTML = ` + 总计 ${data.total_skills} 卡 + 健康 ${data.healthy_count} + 生成: ${new Date(data.generated_at).toLocaleString('zh-CN')} + ` + + tbody.innerHTML = data.skills.map(s => { + let healthCls = 'cell-health-ok' + if (s.health === '❌') healthCls = 'cell-health-err' + else if (s.health === '⚠️') healthCls = 'cell-health-warn' + return ` + ${s.name} + ${s.symbol} + ${s.main_source} + ${s.backup_source} + ${s.schedule} + ${s.last_data_at === '—' ? '—' : s.last_data_at.replace('T',' ').slice(0,19)} + ${s.health} + ` + }).join('') + + structure.innerHTML = data.skills.map(s => { + const tags = [] + tags.push(s.is_shared + ? `共享: ${s.shared_from || 'germany_etf'}` + : `独立实现`) + if (s.has_backup) tags.push(`有备用源`) + return `
    + ${s.name} (${s.symbol}) ${tags.join(' ')}
    + 主源: ${s.main_source}${s.backup_source !== '—' ? ' | 备源: ' + s.backup_source : ''} | 刷新: ${s.schedule} +
    ` + }).join('') + + if (data.anomalies && data.anomalies.length > 0) { + anomalies.innerHTML = data.anomalies.map(a => + `
    + ${a.source}: ${a.detail} +
    ` + ).join('') + } else { + anomalies.innerHTML = '
    ✅ 未检测到异常
    ' + } + + if (data.heartbeats && data.heartbeats.length > 0) { + heartbeats.innerHTML = data.heartbeats.map(hb => { + const cls = hb.ok ? 'ok' : 'fail' + const icon = hb.ok ? '✅' : '❌' + return `
    ${icon} ${hb.label}${!hb.ok ? ' (' + hb.status + ')' : ''}
    ` + }).join('') + } + } catch (e) { + stats.innerHTML = '加载失败' + tbody.innerHTML = '加载失败: ' + escHtml(String(e.message || e)) + '' + } +} + +const escAttr = s => String(s || '').replace(/&/g, '&').replace(/"/g, '"') + +const loadEmailLog = async () => { + const modal = el('email-log-modal') + const tbody = el('email-log-tbody') + const countEl = el('email-log-count') + + modal.classList.remove('hidden') + tbody.innerHTML = '加载中...' + + try { + const res = await fetch('/api/markets/email-log?limit=200') + const data = await res.json() + if (!data.ok) throw new Error(data.error || '未知错误') + + countEl.textContent = `共 ${data.total} 条` + + if (data.rows.length === 0) { + tbody.innerHTML = '暂无邮件发送记录' + return + } + + const statusMap = { + sending: { label: '发送中', cls: 'email-status-pending' }, + sent: { label: '已发送', cls: 'email-status-ok' }, + failed: { label: '失败', cls: 'email-status-err' }, + retry_pending: { label: '等待重试', cls: 'email-status-warn' }, + retry_attempt: { label: '重试中', cls: 'email-status-warn' }, + retry_exhausted: { label: '放弃', cls: 'email-status-err' } + } + + tbody.innerHTML = data.rows.map(r => { + const st = statusMap[r.status] || { label: r.status, cls: '' } + return ` + ${r.id} + ${r.created_at} + ${escHtml(r.skill)} + ${escHtml(r.alert_id)} + ${escHtml(r.subject)} + ${st.label} + ${escHtml(r.error_message || '—')} + ` + }).join('') + } catch (e) { + countEl.textContent = '加载失败' + tbody.innerHTML = '加载失败: ' + escHtml(String(e.message || e)) + '' + } +} + +const loadWeeklyMeta = async () => { + const modal = el('weekly-meta-modal') + const stats = el('weekly-meta-stats') + const tbody = el('weekly-meta-tbody') + const heartbeats = el('weekly-meta-heartbeats') + const diagnosis = el('weekly-meta-diagnosis') + + modal.classList.remove('hidden') + stats.innerHTML = '加载中...' + tbody.innerHTML = '正在拉取周报数据源诊断...' + heartbeats.innerHTML = '' + diagnosis.innerHTML = '' + + try { + const res = await fetch('/api/markets/weekly_report_health') + const data = await res.json() + if (!data.ok) throw new Error(data.error || '未知错误') + + stats.innerHTML = ` + 总计 ${data.total} 卡 + 东财K线影响 ${data.eastmoney_count} 卡 + ` + + tbody.innerHTML = data.items.map(it => { + return ` + ${it.label} + ${it.symbol} + ${it.main_source} + ${it.backup_source} + ${it.group} + ${it.reliability} + ` + }).join('') + + if (data.heartbeats && data.heartbeats.length > 0) { + heartbeats.innerHTML = data.heartbeats.map(hb => { + const cls = hb.ok ? 'ok' : 'fail' + const icon = hb.ok ? '✅' : '❌' + return `
    ${icon} ${hb.label}${!hb.ok ? ' (' + hb.status + ')' : ''}
    ` + }).join('') + } + + if (data.diagnosis && data.diagnosis.length > 0) { + diagnosis.innerHTML = data.diagnosis.map(d => + `
    + ${d.source}: ${d.detail} +
    ` + ).join('') + } else { + diagnosis.innerHTML = '
    ✅ 未检测到异常,所有数据源连通正常
    ' + } + } catch (e) { + stats.innerHTML = '加载失败' + tbody.innerHTML = '加载失败: ' + escHtml(String(e.message || e)) + '' + } +} diff --git a/public/tools/markets/wallstreet_wisdom - 做第三个页签之前.html b/public/tools/markets/wallstreet_wisdom - 做第三个页签之前.html new file mode 100644 index 0000000..4229652 --- /dev/null +++ b/public/tools/markets/wallstreet_wisdom - 做第三个页签之前.html @@ -0,0 +1,934 @@ + + + + + + + + + + +
    + + +
    + + +
    +
    + +
    +
    +
    +
    WEEK 1
    +
    +
    +
    + +
    + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    对你的意义
    +
    +
    +
    + +
    +
    +
    +
    + +
    + +
    + +
    + + +
    +
    + + +
    +
    + +
    +
    本金与子弹
    +
    Cash · Dry Powder · Expected Value · Capital Allocation
    +
    + +
    +
    核心公式 · The Core Equation
    +
    + 长期财富 = 本金安全 × 子弹效率 × 等待耐心 +
    +
    + 三项任何一项为零,结果归零。
    + 三项同时最大化,才能实现非对称的长期复利。 +
    +
    + + +
    +
    +
    +
    + +
    Cash is not zero. Cash is an option.
    +
    +
    ▶
    +
    +
    +
    +
    01
    +
    +
    现金不是零收益,是一张永不过期的期权
    +
    持有现金意味着你拥有在任意时刻、以任意价格买入任意资产的权利。这张期权没有行权成本,没有到期日,只有一个代价:你在等待期间的机会成本。
    +
    "Cash combined with courage in a crisis is priceless." — Buffett
    +
    期权价值理论
    +
    +
    +
    +
    02
    +
    +
    现金仓的三层结构
    +
    第一层:随时可用,应对闪崩(24小时内出手)。第二层:短期备用,应对政策/加息窗口(1~30天)。第三层:永久Dry Powder,永远不挂单,只为完全预料不到的事。三层不能混用。
    +
    桥水资本 流动性分层框架
    +
    +
    +
    +
    03
    +
    +
    现金仓的最低红线:10%~15%
    +
    无论行情多好,永远保留10%~15%的现金仓不动。这不是保守,这是保证你在市场最极端时刻永远有出手能力。一旦子弹打完,你就从猎人变成了观众。
    +
    仓位管理铁律
    +
    +
    +
    +
    + + +
    +
    +
    🎯
    +
    + +
    Opportunity Cost · Best Use of Capital
    +
    +
    ▶
    +
    +
    +
    +
    01
    +
    +
    每笔资金都有隐形成本
    +
    你把¥4,220挂在¥2.11,它的机会成本不是零,而是这笔钱在更高赔率机会(¥1.80)里能创造的收益。机会成本是真实的,即使它不出现在账单上。
    +
    "The cost of something is what you give up to get it." — N. Gregory Mankiw
    +
    经济学第一原理
    +
    +
    +
    +
    02
    +
    +
    资本配置优先级三问
    +
    在使用任何资金前,必须问:① 这是当前最高赔率的机会吗?② 赔率是否足够倾斜(向上空间 ÷ 向下空间 ≥ 2)?③ 使用这笔资金的机会成本是什么?三问全部通过,才动用资金。
    +
    Capital Allocation Hierarchy
    +
    +
    +
    +
    03
    +
    +
    小机会是大机会的天敌
    +
    把子弹打在赔率普通的机会上(¥2.11),导致赔率极高的机会来临时(¥1.80)没有子弹——这才是现金仓管理最大的失误。不是持有太多现金,而是把子弹打在了错误的目标上。
    +
    Druckenmiller 重仓原则
    +
    +
    +
    +
    + + +
    +
    +
    📐
    +
    + +
    Expected Value · Kelly Criterion
    +
    +
    ▶
    +
    +
    +
    +
    01
    +
    +
    期望值公式
    +
    期望值 = 胜率 × 盈利幅度 − 败率 × 亏损幅度。只有期望值为正,且足够高,才值得出手。赔率不够时,期望值可能为正但极小——凯利公式会告诉你最优仓位接近零。
    +
    "It's not whether you're right or wrong, but how much you make when right and lose when wrong." — Soros
    +
    Kelly Criterion · 1956 Bell Labs
    +
    +
    +
    +
    02
    +
    +
    管理的是系统,不是单笔
    +
    一次踏空(没买到¥2.11)不影响系统期望值。重要的是:每次决策是否符合框架?框架的长期期望值是否为正?单次结果是随机的,系统的期望值才是真实的。
    +
    Annie Duke · Resulting 谬误
    +
    +
    +
    +
    03
    +
    +
    频繁交易是期望值的侵蚀剂
    +
    在震荡市里+3%/+5%来回做,手续费+摩擦成本+机会成本加总后,实际收益趋近于零。凯利公式在低赔率情景下的答案是:仓位接近零。不做,有时候是最高期望值的选择。
    +
    均值回归陷阱
    +
    +
    +
    +
    + + +
    +
    +
    🔫
    +
    + +
    Dry Powder Discipline · Conviction Sizing
    +
    +
    ▶
    +
    +
    +
    +
    01
    +
    +
    子弹的三种错误死法
    +
    太早打完:市场跌5%全仓,跌15%的真正机会来了没子弹。永远不打:等到跌40%才敢买,市场只跌30%就反弹。③打在错误目标:赔率普通的机会消耗了赔率极高时需要的子弹。你的问题主要是③。
    +
    子弹消耗失误分类
    +
    +
    +
    +
    02
    +
    +
    高确信度时重仓,这是职业和业余的分水岭
    +
    把最多的子弹压在最高确信度的区间。你的日经52,000~54,000、标普5,700~6,000是高确信区,理应是最大注。哨兵档的子弹越少越好,主仓档的子弹越多越好。
    +
    "The best investment you can make is one where you risk a little to make a lot." — Druckenmiller
    +
    Conviction Sizing · 集中押注原则
    +
    +
    +
    +
    03
    +
    +
    买入标准:必要条件 vs 充分条件
    +
    必要条件:价格合理(如溢价消失)。充分条件:价格合理 且 赔率足够高 且 这是当前资本最优配置。你的卖出系统(阶梯止盈)是充分条件设计。你的买入系统需要同样的严格标准。
    +
    买入充分条件框架
    +
    +
    +
    +
    + + +
    +
    +
    +
    + +
    Market Regime Filter · Big Picture First
    +
    +
    ▶
    +
    +
    +
    +
    01
    +
    +
    大盘是所有ETF的公因子
    +
    大盘不好,整个板块都不好。在做个股/ETF决策之前,先判断市场整体处于什么状态。大盘是流动性和情绪的晴雨表,是第一道过滤开关,不是预测工具。
    +
    Market Regime Filter · 桥水 / AQR
    +
    +
    +
    +
    02
    +
    +
    沪深300四档状态机
    +
    4,000点以上:正常,不追加仓位。3,500~4,000:警戒,准备子弹开始挂单。3,200~3,500:恐慌,第一批子弹触发。3,200以下:极端,主仓子弹全部出动。大盘状态决定整体仓位上限。
    +
    你自己悟出的 Regime Filter
    +
    +
    +
    +
    03
    +
    +
    预期值不是绝对,是开关
    +
    不需要知道最低点在哪里。只需要知道"现在的市场状态允不允许我动手"。大盘过滤器把不可知的(精确低点)转化为可判断的(状态档位),这是系统从感性走向理性的关键一步。
    +
    你的原话,华尔街叫 Regime Filter
    +
    +
    +
    +
    + + + +
    +
    + + + + diff --git a/public/tools/markets/wallstreet_wisdom.html b/public/tools/markets/wallstreet_wisdom.html new file mode 100644 index 0000000..5cdc0aa --- /dev/null +++ b/public/tools/markets/wallstreet_wisdom.html @@ -0,0 +1,2480 @@ + + + + + + + + + + +
    + + + + +
    + + +
    +
    + +
    +
    +
    +
    WEEK 1
    +
    +
    +
    + +
    + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    对你的意义
    +
    +
    +
    + +
    +
    +
    +
    + +
    + +
    + +
    + + +
    +
    + + +
    +
    + +
    +
    本金与子弹
    +
    Cash · Dry Powder · Expected Value · Capital Allocation
    +
    + +
    +
    核心公式 · The Core Equation
    +
    + 长期财富 = 本金安全 × 子弹效率 × 等待耐心 +
    +
    + 三项任何一项为零,结果归零。
    + 三项同时最大化,才能实现非对称的长期复利。 +
    +
    + + +
    +
    +
    +
    + +
    Cash is not zero. Cash is an option.
    +
    +
    ▶
    +
    +
    +
    +
    01
    +
    +
    现金不是零收益,是一张永不过期的期权
    +
    持有现金意味着你拥有在任意时刻、以任意价格买入任意资产的权利。这张期权没有行权成本,没有到期日,只有一个代价:你在等待期间的机会成本。
    +
    "Cash combined with courage in a crisis is priceless." — Buffett
    +
    期权价值理论
    +
    +
    +
    +
    02
    +
    +
    现金仓的三层结构
    +
    第一层:随时可用,应对闪崩(24小时内出手)。第二层:短期备用,应对政策/加息窗口(1~30天)。第三层:永久Dry Powder,永远不挂单,只为完全预料不到的事。三层不能混用。
    +
    桥水资本 流动性分层框架
    +
    +
    +
    +
    03
    +
    +
    现金仓的最低红线:10%~15%
    +
    无论行情多好,永远保留10%~15%的现金仓不动。这不是保守,这是保证你在市场最极端时刻永远有出手能力。一旦子弹打完,你就从猎人变成了观众。
    +
    仓位管理铁律
    +
    +
    +
    +
    + + +
    +
    +
    🎯
    +
    + +
    Opportunity Cost · Best Use of Capital
    +
    +
    ▶
    +
    +
    +
    +
    01
    +
    +
    每笔资金都有隐形成本
    +
    你把¥4,220挂在¥2.11,它的机会成本不是零,而是这笔钱在更高赔率机会(¥1.80)里能创造的收益。机会成本是真实的,即使它不出现在账单上。
    +
    "The cost of something is what you give up to get it." — N. Gregory Mankiw
    +
    经济学第一原理
    +
    +
    +
    +
    02
    +
    +
    资本配置优先级三问
    +
    在使用任何资金前,必须问:① 这是当前最高赔率的机会吗?② 赔率是否足够倾斜(向上空间 ÷ 向下空间 ≥ 2)?③ 使用这笔资金的机会成本是什么?三问全部通过,才动用资金。
    +
    Capital Allocation Hierarchy
    +
    +
    +
    +
    03
    +
    +
    小机会是大机会的天敌
    +
    把子弹打在赔率普通的机会上(¥2.11),导致赔率极高的机会来临时(¥1.80)没有子弹——这才是现金仓管理最大的失误。不是持有太多现金,而是把子弹打在了错误的目标上。
    +
    Druckenmiller 重仓原则
    +
    +
    +
    +
    + + +
    +
    +
    📐
    +
    + +
    Expected Value · Kelly Criterion
    +
    +
    ▶
    +
    +
    +
    +
    01
    +
    +
    期望值公式
    +
    期望值 = 胜率 × 盈利幅度 − 败率 × 亏损幅度。只有期望值为正,且足够高,才值得出手。赔率不够时,期望值可能为正但极小——凯利公式会告诉你最优仓位接近零。
    +
    "It's not whether you're right or wrong, but how much you make when right and lose when wrong." — Soros
    +
    Kelly Criterion · 1956 Bell Labs
    +
    +
    +
    +
    02
    +
    +
    管理的是系统,不是单笔
    +
    一次踏空(没买到¥2.11)不影响系统期望值。重要的是:每次决策是否符合框架?框架的长期期望值是否为正?单次结果是随机的,系统的期望值才是真实的。
    +
    Annie Duke · Resulting 谬误
    +
    +
    +
    +
    03
    +
    +
    频繁交易是期望值的侵蚀剂
    +
    在震荡市里+3%/+5%来回做,手续费+摩擦成本+机会成本加总后,实际收益趋近于零。凯利公式在低赔率情景下的答案是:仓位接近零。不做,有时候是最高期望值的选择。
    +
    均值回归陷阱
    +
    +
    +
    +
    + + +
    +
    +
    🔫
    +
    + +
    Dry Powder Discipline · Conviction Sizing
    +
    +
    ▶
    +
    +
    +
    +
    01
    +
    +
    子弹的三种错误死法
    +
    太早打完:市场跌5%全仓,跌15%的真正机会来了没子弹。永远不打:等到跌40%才敢买,市场只跌30%就反弹。③打在错误目标:赔率普通的机会消耗了赔率极高时需要的子弹。你的问题主要是③。
    +
    子弹消耗失误分类
    +
    +
    +
    +
    02
    +
    +
    高确信度时重仓,这是职业和业余的分水岭
    +
    把最多的子弹压在最高确信度的区间。你的日经52,000~54,000、标普5,700~6,000是高确信区,理应是最大注。哨兵档的子弹越少越好,主仓档的子弹越多越好。
    +
    "The best investment you can make is one where you risk a little to make a lot." — Druckenmiller
    +
    Conviction Sizing · 集中押注原则
    +
    +
    +
    +
    03
    +
    +
    买入标准:必要条件 vs 充分条件
    +
    必要条件:价格合理(如溢价消失)。充分条件:价格合理 且 赔率足够高 且 这是当前资本最优配置。你的卖出系统(阶梯止盈)是充分条件设计。你的买入系统需要同样的严格标准。
    +
    买入充分条件框架
    +
    +
    +
    +
    + + +
    +
    +
    +
    + +
    Market Regime Filter · Big Picture First
    +
    +
    ▶
    +
    +
    +
    +
    01
    +
    +
    大盘是所有ETF的公因子
    +
    大盘不好,整个板块都不好。在做个股/ETF决策之前,先判断市场整体处于什么状态。大盘是流动性和情绪的晴雨表,是第一道过滤开关,不是预测工具。
    +
    Market Regime Filter · 桥水 / AQR
    +
    +
    +
    +
    02
    +
    +
    沪深300四档状态机
    +
    4,000点以上:正常,不追加仓位。3,500~4,000:警戒,准备子弹开始挂单。3,200~3,500:恐慌,第一批子弹触发。3,200以下:极端,主仓子弹全部出动。大盘状态决定整体仓位上限。
    +
    你自己悟出的 Regime Filter
    +
    +
    +
    +
    03
    +
    +
    预期值不是绝对,是开关
    +
    不需要知道最低点在哪里。只需要知道"现在的市场状态允不允许我动手"。大盘过滤器把不可知的(精确低点)转化为可判断的(状态档位),这是系统从感性走向理性的关键一步。
    +
    你的原话,华尔街叫 Regime Filter
    +
    +
    +
    +
    + + + +
    +
    + + + +
    +
    + +
    +
    实战与得失
    +
    Battle Scars · Hard-Won Wisdom · From Practice to Theory
    +
    + + +
    +
    核心信条 · The Creed
    +
    "证券几百年就这么一点东西。找对方法,克服人性,就可以赚钱。"
    +
    — 清河,2026年
    +
    +
    华尔街的同一句话
    +
    "Investing is simple, but not easy." — Warren Buffett. 简单,是因为原理就那几条。不容易,是因为对抗人性需要一辈子的修炼。
    +
    +
    + + +
    +
    +
    +
    01
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    实战经历
    +
    +
    +
    +
    华尔街理论印证
    +
    +
    +
    +
    + +
    +
    +
    +
    + +
    + + + +
    + +
    + + +
    +
    + + + + + + + +
    +
    + +
    +
    火炉边的闲聊
    +
    FIRESIDE CHATS · A RETROSPECTIVE
    +
    关于投资、教训和重新开始的故事集。每一章都来自真实的经历,写在深夜的台灯下。不是教科书,是炉火边的一席话。
    +
    + +
    + + 1 / 16 +
    + + +
    + + +
    + + 1 / 16 + +
    + +
    +
    + + +
    +
    +
    + 目录 + +
    +
    +
    ①火中取栗
    +
    ②离场,也是一种判断
    +
    ③条件单:把清醒的自己锁进系统
    +
    ④生活,是最好的研究报告
    +
    ⑤入场的逻辑,必须和你持有的标的完全匹配
    +
    ⑥采摘节:给系统设置一个呼吸的节点
    +
    ⑦精简,是一种勇气
    +
    ⑧从价格到价值——条件单的进化
    +
    ⑨克服人性的三件武器
    +
    ⑩投资,是一门终身的手艺
    +
    ⑪最有把握的一注
    +
    ⑫卖出,是下一次买入的开始
    +
    ⑬两年的沉默,和一个更好的问题
    +
    ⑭软件工程师的投资系统
    +
    ⑮系统的骨架
    +
    ⑯赢得不干净的那一次
    +
    +
    + + +
    + + + + + 00:00 / 00:00 + + +
    + + +
    +
    +

    🎙️ 生成语音

    +
    + + +
    + +
    +
    +
    +
    + + + + + diff --git a/public/tools/plant_home/auth_config.json b/public/tools/plant_home/auth_config.json new file mode 100644 index 0000000..719fd77 --- /dev/null +++ b/public/tools/plant_home/auth_config.json @@ -0,0 +1,15 @@ +{ + "_comment": "绿植的流浪家园工具的前端鉴权配置", + "enable_auth_comment": "true:启用鉴权(需要从导航登录);false:完全放开访问流浪家园工具", + "enable_auth": true, + "max_age_days_comment": "鉴权 cookie 的最大有效天数(1~365)", + "max_age_days": 30, + "cookieName_comment": "鉴权 Cookie 名称,建议保持默认", + "cookieName": "plant_home_gate", + "requireGuid_comment": "true:入口必须带 guid 参数;false:允许仅凭 token 或会话访问", + "requireGuid": true, + "guidParam_comment": "URL 中的 GUID 参数名,建议使用小写 guid", + "guidParam": "guid", + "guidValue_comment": "GUID 参数值,建议使用高强度随机长串并定期更换", + "guidValue": "ALSKDJF-ASJDF3108KSJD-KSA754DJFO-IJWOE23IFKNF45KJF5JK" +} diff --git a/public/tools/plant_home/index.html b/public/tools/plant_home/index.html new file mode 100644 index 0000000..fc03f8e --- /dev/null +++ b/public/tools/plant_home/index.html @@ -0,0 +1,396 @@ + + + + + + 绿植的流浪家园 + + + +
    +
    +
    +
    🌿
    +
    +

    绿植的流浪家园

    +
    上海宝山区 · 17楼室内 · 养护与生长日志
    +
    +
    +
    +
    + + + + + +
    +
    + +
    +
    +
    天气加载中...
    + +
    +
    +

    提醒

    +
    + +
    +
    +
    + + +
    +
    + +
    +
    + +
    +
    +
    +
    +

    植物列表

    +
    + +
    +
    +
    +
    + +
    +
    +

    植物详情

    +
    + + + +
    +
    +
    请选择一棵植物
    +
    +
    +
    + +
    +
    +
    +

    生长日志

    +
    + +
    +
    +
    +
    +
    + + + +
    +
    +
    +

    工具设置

    +
    + + +
    +
    +
    +
    +
    提醒逻辑
    +
    提醒时间完全以你的日记设置为准。AI 只负责分析和辅助,不再自动决定下次提醒。
    +
    +
    +
    网页提醒
    +
    + + 尚未授权 +
    +
    +
    +
    AI固定上下文
    +
    加载中...
    +
    +
    +
    +
    +
    +
    + + +
    +

    养护日志详情

    +
    +
    加载中...
    +
    +
    + +
    +
    +
    + + +
    +

    新增植物

    + +
    +
    +
    基础信息
    + +
    + + +
    + + + + + + + + +
    + +
    +
    养护规则与本次照片
    + + + + + + + + +
    + + + + + + + +
    + +
    +
    编辑时可顺手上传一张自己的植物照片
    + +
    + + +
    + +
    每棵植物最多只能设置 3 张封面图,植物卡片会在这 3 张里自动滚动。
    +
    +
    +
    +
    + + +
    +
    +
    + + +
    +

    记录生长日记

    + + + +
    +
    基础信息
    + + +
    + + +
    + +
    + +
    +
    心情标签
    +
    +
    + + +
    +
    第一版先单选,点一下就能切换。
    +
    + +
    +
    图片 / 视频 / 附件
    + + + +
    图片会进入现有植物图片库;视频和文档作为本条日记附件保存。
    +
    + +
    +
    下次提醒
    + +
    当前没有同类提醒
    + +
    +
    + + +
    +
    +
    + + +
    +

    上传植物照片

    + + + + + + +
    + + +
    +
    +
    + + +
    +

    完成提醒并记一笔

    + + + +
    + +
    + + +
    +
    +
    + + +
    +

    AI 分析结果

    +
    
    +      
    + +
    +
    +
    + + +
    +
    +
    +

    本次交互详情

    +
    等待开始...
    +
    +
    + + +
    +
    +
    待开始
    +
    
    +    
    +
    + + +
    +

    请确认

    +
    确认继续吗?
    +
    
    +      
    + + + +
    +
    +
    + + +
    +

    名称校准

    +
    请选择具体植物名称
    +
    +
    + +
    +
    +
    + + + + diff --git a/public/tools/plant_home/plant_home.css b/public/tools/plant_home/plant_home.css new file mode 100644 index 0000000..83e6c1a --- /dev/null +++ b/public/tools/plant_home/plant_home.css @@ -0,0 +1,1119 @@ +* { + box-sizing: border-box; +} + +body { + margin: 0; + font-family: "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; + background: #f5f7f2; + color: #243126; +} + +button, +input, +select, +textarea { + font: inherit; +} + +.plant-app { + max-width: 1360px; + margin: 0 auto; + padding: 18px 18px 40px; +} + +.plant-header { + display: flex; + justify-content: space-between; + gap: 24px; + align-items: center; + padding-bottom: 18px; + border-bottom: 1px solid #dce5d6; + margin-bottom: 16px; + flex-wrap: wrap; +} + +.plant-header .summary-grid { + flex: 1; + min-width: 300px; + gap: 8px; +} + +.plant-brand { + display: flex; + align-items: center; + gap: 14px; +} + +.plant-brand h1 { + margin: 0; + font-size: 28px; +} + +.plant-brand-icon { + width: 52px; + height: 52px; + border-radius: 16px; + display: grid; + place-items: center; + background: linear-gradient(135deg, #e6f4dd, #d6ebc6); + font-size: 28px; +} + +.plant-subtitle { + color: #60715f; + margin-top: 4px; + font-size: 13px; +} + +.plant-tabs { + display: flex; + gap: 10px; + flex-wrap: wrap; +} + +.tab-btn, +.ghost-btn, +.primary-btn, +.mini-btn { + border: 1px solid #c8d8c1; + background: #fff; + color: #2f4632; + border-radius: 12px; + padding: 10px 16px; + cursor: pointer; + transition: all 0.2s ease; +} + +.tab-btn.active, +.primary-btn { + background: #5e8f43; + color: #fff; + border-color: #5e8f43; +} + +.ghost-btn:hover, +.primary-btn:hover, +.tab-btn:hover, +.mini-btn:hover { + transform: translateY(-1px); + box-shadow: 0 6px 18px rgba(94, 143, 67, 0.12); +} + +.mini-btn { + padding: 6px 10px; + border-radius: 10px; + font-size: 12px; +} + +.tab-panel { + display: none; + gap: 16px; +} + +.tab-panel.active { + display: grid; +} + +.weather-bar { + background: #dbe8ce; + color: #3f5f2d; + border-radius: 14px; + padding: 14px 18px; + font-size: 15px; + border: 1px solid #cbdbbb; + display: grid; + grid-template-columns: 1fr 2fr 3fr; + gap: 16px; + align-items: center; +} + +.weather-location { + display: grid; + gap: 4px; +} + +.location-icon { + font-size: 18px; + margin-bottom: 4px; +} + +.location-city { + font-weight: 700; + font-size: 16px; +} + +.location-env { + font-size: 14px; + opacity: 0.85; +} + +.weather-main { + display: flex; + align-items: center; + gap: 12px; + padding: 0 16px; + border-left: 1px solid rgba(180, 200, 170, 0.6); + border-right: 1px solid rgba(180, 200, 170, 0.6); +} + +.weather-temp { + font-size: 28px; + font-weight: 700; +} + +.weather-text { + font-size: 14px; + color: #5a6c52; +} + +.weather-icon { + font-size: 24px; +} + +.weather-details { + display: flex; + gap: 16px; + font-size: 13px; +} + +.detail-item { + display: flex; + flex-direction: column; + gap: 2px; +} + +.detail-label { + font-size: 12px; + color: #6a7d68; +} + +.detail-value { + font-weight: 500; +} + +.weather-advice { + display: flex; + flex-direction: column; +} + +.advice-text { + display: -webkit-box; + -webkit-line-clamp: 3; + -webkit-box-orient: vertical; + overflow: hidden; + line-height: 1.5; + margin-bottom: 8px; +} + +.expand-btn { + align-self: flex-end; + background: transparent; + border: 1px solid rgba(94, 143, 67, 0.4); + color: #3f5f2d; + border-radius: 8px; + padding: 4px 10px; + font-size: 12px; + cursor: pointer; + transition: all 0.2s ease; +} + +.expand-btn:hover { + background: rgba(94, 143, 67, 0.1); +} + +.advice-popup { + position: absolute; + background: #fff; + border: 1px solid #cbdbbb; + border-radius: 14px; + padding: 16px; + box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15); + z-index: 1000; + max-width: 400px; + font-size: 14px; + line-height: 1.6; +} + +.summary-grid { + display: grid; + grid-template-columns: repeat(4, minmax(0, 1fr)); + gap: 14px; +} + +.summary-card, +.section-card, +.setting-box { + background: #fff; + border: 1px solid #dce6d8; + border-radius: 18px; + box-shadow: 0 10px 26px rgba(74, 103, 67, 0.06); +} + +.summary-card { + padding: 10px 12px; + display: flex; + flex-direction: column; + gap: 4px; +} + +.summary-label { + font-size: 11px; + color: #6c7f6b; +} + +.summary-value { + font-size: 20px; + font-weight: 700; + color: #31552b; +} + +.section-card { + padding: 18px; +} + +.section-head { + display: flex; + justify-content: space-between; + gap: 12px; + align-items: center; + margin-bottom: 14px; + flex-wrap: wrap; +} + +.section-head h2 { + margin: 0; + font-size: 20px; +} + +.section-actions { + display: flex; + gap: 10px; + flex-wrap: wrap; +} + +.form-tip { + color: #6e7f6c; + font-size: 13px; + line-height: 1.6; +} + +.hidden { + display: none !important; +} + +.plant-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); + gap: 16px; +} + +.plant-card { + border: 1px solid #e0e8dd; + border-radius: 18px; + padding: 14px; + background: linear-gradient(180deg, #ffffff, #f8fbf5); + display: grid; + gap: 12px; + cursor: pointer; +} + +.plant-card.active { + border-color: #7faa63; + box-shadow: 0 10px 22px rgba(95, 143, 67, 0.14); +} + +.plant-thumb { + width: 100%; + aspect-ratio: 1.2 / 1; + border-radius: 16px; + background: #eef2eb; + display: grid; + place-items: center; + overflow: hidden; + color: #78906e; + font-size: 44px; +} + +.plant-thumb img { + width: 100%; + height: 100%; + object-fit: cover; +} + +.plant-cover-rotator { + position: relative; + width: 100%; + height: 100%; +} + +.plant-cover-slide { + position: absolute; + inset: 0; + width: 100%; + height: 100%; + object-fit: cover; + opacity: 0; + transition: opacity 0.35s ease; +} + +.plant-cover-slide.active { + opacity: 1; +} + +.plant-cover-dots { + position: absolute; + left: 50%; + bottom: 10px; + transform: translateX(-50%); + display: flex; + gap: 6px; + padding: 4px 8px; + border-radius: 999px; + background: rgba(20, 35, 19, 0.24); +} + +.plant-cover-dot { + width: 7px; + height: 7px; + border-radius: 999px; + background: rgba(255, 255, 255, 0.55); +} + +.plant-cover-dot.active { + background: #fff; +} + +.plant-name { + font-size: 19px; + font-weight: 700; +} + +.plant-meta { + font-size: 13px; + color: #70836f; + display: grid; + gap: 4px; +} + +.status-chip { + display: inline-flex; + align-items: center; + gap: 6px; + border-radius: 999px; + padding: 5px 10px; + background: #edf5e8; + color: #56764d; + width: fit-content; + font-size: 12px; +} + +.add-card { + border-style: dashed; + color: #6d826a; + place-items: center; + text-align: center; +} + +.split-layout { + display: grid; + grid-template-columns: 1fr 1.2fr; + gap: 16px; +} + +.detail-cover { + display: grid; + grid-template-columns: 116px 1fr; + gap: 18px; + margin-bottom: 16px; +} + +.detail-cover .plant-thumb { + aspect-ratio: 1 / 1; +} + +.detail-title { + display: flex; + justify-content: space-between; + gap: 12px; + align-items: flex-start; + flex-wrap: wrap; +} + +.detail-title h3 { + margin: 0; + font-size: 28px; +} + +.detail-title .latin { + margin-top: 4px; + color: #6b7b69; + font-style: italic; +} + +.detail-grid { + display: grid; + grid-template-columns: repeat(3, minmax(0, 1fr)); + gap: 12px; +} + +.metric-box { + background: #f5f8f2; + border-radius: 14px; + padding: 12px 14px; + border: 1px solid #e0e8dd; +} + +.metric-label { + color: #6a7d6b; + font-size: 13px; + margin-bottom: 8px; +} + +.metric-value { + font-size: 17px; + font-weight: 600; +} + +.detail-summary { + margin-top: 14px; + background: #f6fbf0; + border-radius: 14px; + border: 1px solid #deead8; + padding: 14px; + color: #47603e; +} + +.reminder-list, +.timeline-list { + display: grid; + gap: 12px; +} + +.reminder-item, +.timeline-item { + border-radius: 16px; + padding: 14px 16px; + border: 1px solid #dde7d9; + background: #fff; +} + +.reminder-item[data-type="watering"] { + background: #edf5ff; + border-color: #c9def7; +} + +.reminder-item[data-type="fertilizing"] { + background: #fff5e8; + border-color: #f0d8af; +} + +.reminder-item[data-type="pruning"] { + background: #eef7e7; + border-color: #cfe2bd; +} + +.reminder-head, +.timeline-head { + display: flex; + justify-content: space-between; + gap: 12px; + align-items: flex-start; + flex-wrap: wrap; +} + +.reminder-title, +.timeline-title { + font-weight: 700; + font-size: 17px; +} + +.reminder-body, +.timeline-body { + color: #51634f; + margin-top: 8px; + line-height: 1.6; + white-space: pre-wrap; +} + +.reminder-actions { + display: flex; + gap: 8px; + margin-top: 12px; + flex-wrap: wrap; +} + +.photo-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); + gap: 16px; +} + +.photo-card { + border-radius: 18px; + border: 1px solid #dce6d8; + background: #fff; + overflow: hidden; +} + +.photo-card img { + width: 100%; + aspect-ratio: 1 / 1; + object-fit: cover; + display: block; + background: #eef2eb; +} + +.photo-info { + padding: 12px 14px; + display: grid; + gap: 8px; +} + +.photo-meta { + color: #70836f; + font-size: 13px; +} + +.photo-badges { + display: flex; + gap: 8px; + flex-wrap: wrap; + margin-top: 4px; +} + +.empty-text { + color: #7b8d79; + padding: 12px 2px; +} + +.settings-grid { + display: grid; + grid-template-columns: repeat(3, minmax(0, 1fr)); + gap: 14px; +} + +.setting-box { + padding: 16px; +} + +.setting-title { + font-size: 15px; + font-weight: 700; + margin-bottom: 8px; +} + +.setting-text { + color: #667766; + line-height: 1.7; +} + +.plant-dialog { + border: none; + border-radius: 18px; + padding: 0; + width: min(560px, calc(100vw - 24px)); + box-shadow: 0 24px 60px rgba(0, 0, 0, 0.18); +} + +.plant-dialog-wide { + width: min(1080px, calc(100vw - 24px)); + max-height: calc(100vh - 24px); +} + +.plant-dialog::backdrop { + background: rgba(20, 35, 19, 0.42); +} + +.dialog-form { + display: grid; + gap: 12px; + padding: 20px; + max-height: calc(100vh - 32px); + overflow: auto; +} + +.dialog-form h3 { + margin: 0 0 4px; +} + +.dialog-form label { + display: grid; + gap: 6px; + font-size: 14px; +} + +.dialog-grid-2 { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 18px; +} + +.dialog-section { + display: grid; + gap: 12px; + align-content: start; + padding: 14px; + border: 1px solid #dfebd8; + border-radius: 16px; + background: #fbfdf8; +} + +.dialog-subsection { + display: grid; + gap: 12px; + padding: 12px; + border-radius: 14px; + background: #f7fbf2; + border: 1px solid #dce8d4; +} + +.field-title { + font-size: 14px; + font-weight: 700; + color: #355233; +} + +.section-subtitle { + font-size: 16px; + font-weight: 700; + color: #365033; +} + +.compact-grid { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 12px; +} + +.upload-box { + display: grid; + gap: 10px; + padding: 14px; + border-radius: 14px; + border: 1px dashed #bfd5b4; + background: #f5faf0; +} + +.upload-box-title { + font-size: 14px; + font-weight: 700; + color: #3e5b38; +} + +.inline-action-row { + display: grid; + grid-template-columns: 1fr auto; + gap: 12px; + align-items: center; +} + +.dialog-form input, +.dialog-form select, +.dialog-form textarea { + border: 1px solid #cfdbc8; + border-radius: 12px; + padding: 10px 12px; + background: #fff; +} + +.inline-check { + display: flex !important; + align-items: center; + gap: 8px; +} + +.tag-chip-list, +.weekday-chip-list { + display: flex; + flex-wrap: wrap; + gap: 10px; +} + +.tag-chip-btn, +.tag-chip-option { + display: inline-flex; + align-items: center; + justify-content: center; + min-height: 40px; + padding: 8px 14px; + border-radius: 999px; + border: 1px solid #cfdcc8; + background: #fff; + color: #365033; + cursor: pointer; + transition: all 0.2s ease; +} + +.tag-chip-option input { + position: absolute; + opacity: 0; + pointer-events: none; +} + +.tag-chip-btn.active, +.tag-chip-option.active { + background: #5e8f43; + color: #fff; + border-color: #5e8f43; +} + +.rule-hint-box { + padding: 12px 14px; + border-radius: 14px; + border: 1px solid #dce6d8; + background: #f6faf2; + color: #4a6144; + line-height: 1.6; +} + +.rule-hint-box.is-active { + border-color: #cfe1c4; + background: #edf6e7; +} + +.asset-inline { + display: flex; + gap: 8px; + flex-wrap: wrap; +} + +.dialog-actions { + display: flex; + justify-content: flex-end; + gap: 10px; + margin-top: 4px; +} + +.analysis-output { + margin: 0; + background: #f6f8f3; + border: 1px solid #dde5d6; + border-radius: 14px; + padding: 14px; + white-space: pre-wrap; + line-height: 1.65; + color: #445642; + max-height: 52vh; + overflow: auto; +} + +.interaction-dialog { + width: min(860px, calc(100vw - 24px)); + max-height: calc(100vh - 24px); + overflow: hidden; +} + +.interaction-dialog::backdrop { + background: rgba(20, 35, 19, 0.42); +} + +.interaction-header { + display: flex; + justify-content: space-between; + gap: 12px; + align-items: flex-start; + flex-wrap: wrap; +} + +.interaction-actions { + display: flex; + gap: 10px; + flex-wrap: wrap; +} + +.interaction-status { + display: inline-flex; + align-items: center; + min-height: 40px; + padding: 10px 12px; + border-radius: 12px; + background: #f4f8ef; + border: 1px solid #dae6d1; + color: #48603e; + font-size: 13px; + line-height: 1.5; +} + +.interaction-status.success { + background: #edf7e8; + border-color: #c8dfba; + color: #3b6330; +} + +.interaction-status.error { + background: #fff1f0; + border-color: #f0c3bf; + color: #a23f37; +} + +.interaction-output { + min-height: 280px; + max-height: 58vh; + font-family: "Cascadia Mono", "Consolas", monospace; + font-size: 12px; +} + +.confirm-dialog { + width: min(620px, calc(100vw - 24px)); +} + +.confirm-message { + color: #41563b; + line-height: 1.7; +} + +.confirm-detail { + min-height: 120px; + max-height: 36vh; +} + +.choice-list { + display: grid; + gap: 10px; +} + +.choice-item { + width: 100%; + text-align: left; + border: 1px solid #d8e4d2; + border-radius: 14px; + background: #f7faf4; + padding: 12px 14px; + cursor: pointer; + transition: all 0.2s ease; +} + +.choice-item:hover { + transform: translateY(-1px); + box-shadow: 0 8px 18px rgba(94, 143, 67, 0.12); + border-color: #9fc287; +} + +.choice-name { + font-size: 16px; + font-weight: 700; + color: #30472f; +} + +.choice-meta { + margin-top: 6px; + color: #687b68; + font-size: 13px; + line-height: 1.6; +} + +@media (max-width: 980px) { + .summary-grid, + .settings-grid, + .split-layout, + .detail-grid, + .dialog-grid-2, + .compact-grid { + grid-template-columns: 1fr; + } + + .detail-cover { + grid-template-columns: 1fr; + } + +} + +@media (max-width: 640px) { + .plant-app { + padding: 14px 14px 32px; + } + + .plant-header { + align-items: flex-start; + } + + .plant-tabs { + width: 100%; + } + + .tab-btn, + .ghost-btn, + .primary-btn { + width: 100%; + justify-content: center; + } + + .interaction-actions { + width: 100%; + } + + .interaction-dialog { + width: calc(100vw - 24px); + max-height: calc(100vh - 24px); + } + + .inline-action-row { + grid-template-columns: 1fr; + } + + .plant-dialog-mobile { + width: 100vw; + max-width: 100vw; + height: 100vh; + max-height: 100vh; + border-radius: 0; + } + + .plant-dialog-mobile .dialog-form { + max-height: 100vh; + padding: 16px; + } +} + +.toast { + position: fixed; + top: 24px; + left: 50%; + transform: translateX(-50%) translateY(-30px); + background: rgba(30, 35, 25, 0.92); + color: #fff; + padding: 12px 20px; + border-radius: 12px; + font-size: 14px; + z-index: 10000; + transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 0.3s ease; + opacity: 0; + box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25); + backdrop-filter: blur(12px); + border: 1px solid rgba(255, 255, 255, 0.18); +} + +.toast.toast-success { + background: rgba(58, 135, 71, 0.95); + border-color: rgba(94, 143, 67, 0.4); +} + +.toast.toast-info { + background: rgba(30, 35, 25, 0.92); +} + +.toast.toast-error { + background: rgba(158, 58, 53, 0.95); + border-color: rgba(235, 85, 85, 0.4); +} + +.toast.active { + transform: translateX(-50%) translateY(0); + opacity: 1; +} + +/* ===== 提醒 tab ===== */ +.reminder-tabs { + display: flex; + gap: 0; + margin-bottom: 16px; + border-bottom: 2px solid #dce6d8; +} + +.reminder-tab-btn { + padding: 10px 20px; + border: none; + background: none; + cursor: pointer; + color: #5a6d58; + font-size: 15px; + font-weight: 600; + border-bottom: 2px solid transparent; + margin-bottom: -2px; + transition: color 0.2s, border-color 0.2s; +} + +.reminder-tab-btn:hover { + color: #2f4431; +} + +.reminder-tab-btn.active { + color: #1d3b1e; + border-bottom-color: #2d6a30; +} + +.hidden { + display: none !important; +} + +/* ===== 日志详情 dialog ===== */ +.log-detail-content { + max-height: 65vh; + overflow-y: auto; + padding: 4px 0; +} + +.log-detail-section { + margin-bottom: 20px; + padding-bottom: 16px; + border-bottom: 1px solid #eef2eb; +} + +.log-detail-section:last-child { + border-bottom: none; +} + +.log-detail-label { + font-size: 13px; + color: #70836f; + font-weight: 600; + margin-bottom: 6px; + display: block; +} + +.log-detail-field { + display: flex; + gap: 12px; + align-items: baseline; + margin-bottom: 8px; +} + +.log-detail-field .log-detail-label { + min-width: 50px; + margin-bottom: 0; +} + +.log-detail-note { + white-space: pre-wrap; + line-height: 1.7; + color: #243126; + font-size: 15px; +} + +.log-detail-photos { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); + gap: 10px; + margin-top: 8px; +} + +.log-detail-photo { + width: 100%; + aspect-ratio: 1 / 1; + object-fit: cover; + border-radius: 12px; + border: 1px solid #dce6d8; + cursor: pointer; + transition: opacity 0.2s; +} + +.log-detail-photo:hover { + opacity: 0.85; +} + +.log-detail-attachments { + display: flex; + flex-wrap: wrap; + gap: 8px; + margin-top: 8px; +} + +.log-detail-attachment { + padding: 6px 14px; + background: #f0f4ee; + border-radius: 20px; + font-size: 13px; + color: #2f4431; + border: 1px solid #dce6d8; +} diff --git a/public/tools/plant_home/plant_home.js b/public/tools/plant_home/plant_home.js new file mode 100644 index 0000000..5c92b13 --- /dev/null +++ b/public/tools/plant_home/plant_home.js @@ -0,0 +1,1590 @@ +const state = { + dashboard: null, + plants: [], + selectedPlantId: 0, + weather: null, + logs: [], + photos: [], + moodTags: [], + settings: null, + notificationGranted: typeof Notification !== 'undefined' && Notification.permission === 'granted', + notificationTimer: null, + interactionContext: null, + interactionTimer: null, + confirmResolver: null, + uiMode: 'debug', + activeReminderRule: null, + buttonStates: {} // Track button loading states +} + +const getUiMode = () => state.uiMode + +// 按钮状态管理函数 +const setButtonLoading = (button, isLoading, originalText = null) => { + if (!button) return + if (isLoading) { + // 保存原始状态 + if (!originalText) { + originalText = button.textContent || button.innerText + } + state.buttonStates[button.id || button.name || button.classList?.value || 'temp'] = { + originalText, + originalDisabled: button.disabled + } + // 设置加载状态 + button.disabled = true + button.textContent = button.textContent.replace(/…$/, '') + '…' + } else { + // 恢复原始状态 + const key = button.id || button.name || button.classList?.value || 'temp' + const originalState = state.buttonStates[key] + if (originalState) { + button.disabled = originalState.originalDisabled + button.textContent = originalState.originalText + delete state.buttonStates[key] + } + } +} + +// 包装异步操作的函数,自动处理按钮loading状态 +const withButtonLoading = async (button, asyncFn) => { + if (!button) return await asyncFn() + setButtonLoading(button, true) + try { + return await asyncFn() + } finally { + setButtonLoading(button, false) + } +} + +const $ = selector => document.querySelector(selector) +const $$ = selector => Array.from(document.querySelectorAll(selector)) + +const escapeHtml = value => String(value == null ? '' : value) + .replace(/&/g, '&') + .replace(//g, '>') + .replace(/"/g, '"') + .replace(/'/g, ''') + +const todayStr = () => { + const d = new Date() + const y = d.getFullYear() + const m = String(d.getMonth() + 1).padStart(2, '0') + const day = String(d.getDate()).padStart(2, '0') + return `${y}-${m}-${day}` +} + +const openDialog = id => { + const dlg = document.getElementById(id) + if (!dlg) return + if (id === 'interaction-dialog') { + if (typeof dlg.showModal === 'function' && !dlg.open) dlg.showModal() + return + } + if (typeof dlg.showModal === 'function' && !dlg.open) dlg.showModal() +} + +const closeDialog = id => { + const dlg = document.getElementById(id) + if (id === 'interaction-dialog') { + clearInteractionTimer() + if (dlg && typeof dlg.close === 'function') dlg.close() + return + } + if (dlg && typeof dlg.close === 'function') dlg.close() +} + +const clearInteractionTimer = () => { + if (state.interactionTimer) { + window.clearInterval(state.interactionTimer) + state.interactionTimer = null + } +} + +const openToast = (message, type = 'info', duration = 2000) => { + if (getUiMode() !== 'normal') return + const id = `toast-${Date.now()}` + const toast = document.createElement('div') + toast.className = `toast toast-${type}` + toast.id = id + toast.textContent = message + document.body.appendChild(toast) + window.requestAnimationFrame(() => toast.classList.add('active')) + window.setTimeout(() => { + if (toast.classList.contains('active')) { + toast.classList.remove('active') + window.setTimeout(() => toast.remove(), 300) + } + }, duration) +} + +const formatTime = input => { + try { + return new Date(input || Date.now()).toLocaleString('zh-CN', { hour12: false }) + } catch { + return String(input || '') + } +} + +const getFriendlyErrorMessage = error => { + const raw = String((error && (error.message || error.error)) || error || '').trim() + if (raw === 'dashscope_api_key_missing') { + return '未配置 DashScope API Key,请先在 `config/plant_home.json` 的 `ai.api_key` 中填入有效密钥。' + } + if (raw === 'qweather_api_key_missing') { + return '未配置和风天气 API Key,请先在 `config/plant_home.json` 的 `weather.api_key` 中填入有效密钥。' + } + if (raw === 'plant_name_required') { + return '请先填写植物名称,再点“辅助填写”。' + } + if (raw === 'home_feature_limit_reached') { + return '这棵植物最多只能设置 3 张封面图,请先取消一张现有封面。' + } + if (raw === 'active_rule_exists') { + return '当前植物的同类提醒已经存在,请先确认是否覆盖旧提醒。' + } + if (raw === 'weekly_days_required') { + return '每周循环至少要选择一个周几。' + } + if (raw === 'tag_name_required') { + return '请先输入标签名称。' + } + if (raw === 'log_not_found') { + return '这条日志已经不存在了,可能是旧页面残留数据。' + } + return raw || '发生未知错误' +} + +const normalizeFormData = formData => { + const result = {} + for (const [key, value] of formData.entries()) { + const nextValue = value instanceof File + ? { name: value.name, size: value.size, type: value.type } + : value + if (Object.prototype.hasOwnProperty.call(result, key)) { + if (!Array.isArray(result[key])) result[key] = [result[key]] + result[key].push(nextValue) + } else { + result[key] = nextValue + } + } + return result +} + +const toPrettyText = value => { + if (value == null || value === '') return '(空)' + if (value instanceof FormData) return JSON.stringify(normalizeFormData(value), null, 2) + if (typeof value === 'string') { + try { + return JSON.stringify(JSON.parse(value), null, 2) + } catch { + return value + } + } + try { + return JSON.stringify(value, null, 2) + } catch { + return String(value) + } +} + +const toArray = value => Array.isArray(value) ? value : (value == null ? [] : [value]) + +const summarizeRuleText = rule => { + if (!rule) return '当前没有同类提醒' + return `当前已有提醒:${rule.title || ''} / ${rule.cycle_text || ''} / 下次 ${rule.next_due_date || ''} ${rule.due_time || ''}`.trim() +} + +const getWeekdayValuesFromForm = form => { + return $$('#log-weekday-list input[type="checkbox"]:checked').map(input => Number(input.value)).filter(Boolean) +} + +const syncWeeklyDaysField = () => { + const form = $('#log-form') + if (!form) return + form.reminder_weekly_days_json.value = JSON.stringify(getWeekdayValuesFromForm(form)) + $$('#log-weekday-list .tag-chip-option').forEach(label => { + const input = label.querySelector('input') + label.classList.toggle('active', !!(input && input.checked)) + }) +} + +const renderSingleMoodTagPicker = (containerSelector, inputSelector) => { + const box = $(containerSelector) + if (!box) return + const currentValue = document.querySelector(inputSelector)?.value || '' + box.innerHTML = state.moodTags.map(tag => ` + + `).join('') +} + +const renderMoodTagPickers = () => { + renderSingleMoodTagPicker('#log-mood-tag-list', '#log-form [name="mood_tag"]') + renderSingleMoodTagPicker('#reminder-mood-tag-list', '#reminder-form [name="mood_tag"]') +} + +const updateReminderModeFields = () => { + const mode = $('#log-reminder-mode')?.value || 'once' + $('#log-reminder-once')?.classList.toggle('hidden', mode !== 'once') + $('#log-reminder-every-n')?.classList.toggle('hidden', mode !== 'every_n_days') + $('#log-reminder-weekly')?.classList.toggle('hidden', mode !== 'weekly') + $('#log-reminder-monthly')?.classList.toggle('hidden', mode !== 'monthly') +} + +const updateReminderEnabledFields = () => { + const enabled = !!$('#log-reminder-enabled')?.checked + $('#log-reminder-fields')?.classList.toggle('hidden', !enabled) +} + +const applyMoodTagToForm = (inputSelector, tagValue) => { + const input = document.querySelector(inputSelector) + if (!input) return + input.value = input.value === tagValue ? '' : tagValue + renderMoodTagPickers() +} + +const appendInteractionLine = (session, label, value) => { + if (!session) return + const chunk = value === undefined + ? String(label || '') + : `${label}\n${toPrettyText(value)}` + session.logs.push(chunk) + const output = $('#interaction-output') + if (output) { + output.textContent = session.logs.join('\n\n') + output.scrollTop = output.scrollHeight + } +} + +const setInteractionStatus = (text, type = '') => { + const box = $('#interaction-status') + if (!box) return + box.textContent = text || '' + box.className = `interaction-status${type ? ` ${type}` : ''}` +} + +const openInteractionSession = ({ title, mode = 'normal' }) => { + clearInteractionTimer() + const session = { + id: `interaction-${Date.now()}`, + title: title || '本次交互详情', + mode, + startedAt: Date.now(), + logs: [] + } + $('#interaction-title').textContent = session.title + $('#interaction-subtitle').textContent = `开始时间:${formatTime(session.startedAt)}` + $('#interaction-output').textContent = '' + setInteractionStatus('进行中,正在记录详细交互内容...', '') + openDialog('interaction-dialog') + appendInteractionLine(session, '[交互开始]', { + title: session.title, + mode: session.mode, + started_at: formatTime(session.startedAt) + }) + return session +} + +const copyInteractionLog = async () => { + const session = state.interactionContext + const text = session ? session.logs.join('\n\n') : $('#interaction-output').textContent + if (!navigator.clipboard || !navigator.clipboard.writeText) { + throw new Error('clipboard_not_supported') + } + await navigator.clipboard.writeText(text || '') +} + +const finishInteractionSuccess = session => { + if (!session) return + const elapsed = Date.now() - session.startedAt + appendInteractionLine(session, '[交互完成]', { + finished_at: formatTime(), + elapsed_ms: elapsed + }) + if (session.mode === 'view') { + let remain = 3 + if (getUiMode() === 'normal') remain = 2 + setInteractionStatus(`查看成功,${remain}s 后自动关闭`, 'success') + clearInteractionTimer() + state.interactionTimer = window.setInterval(() => { + remain -= 1 + if (remain <= 0) { + clearInteractionTimer() + closeDialog('interaction-dialog') + return + } + setInteractionStatus(`查看成功,${remain}s 后自动关闭`, 'success') + }, 1000) + return + } + setInteractionStatus('执行成功,请确认明细后手动关闭窗口', 'success') +} + +const finishInteractionError = (session, error) => { + if (!session) return + const elapsed = Date.now() - session.startedAt + const friendlyMessage = getFriendlyErrorMessage(error) + appendInteractionLine(session, '[交互失败]', { + failed_at: formatTime(), + elapsed_ms: elapsed, + message: error && error.message ? error.message : String(error || 'unknown_error'), + friendly_message: friendlyMessage, + stack: error && error.stack ? String(error.stack) : '' + }) + setInteractionStatus(`出现异常:${friendlyMessage}`, 'error') +} + +const runTrackedInteraction = async ({ title, mode = 'normal' }, executor) => { + if (state.interactionContext) { + appendInteractionLine(state.interactionContext, '[子任务开始]', { title, mode, at: formatTime() }) + try { + const result = await executor(state.interactionContext) + appendInteractionLine(state.interactionContext, '[子任务完成]', { title, at: formatTime() }) + return result + } catch (error) { + appendInteractionLine(state.interactionContext, '[子任务异常]', { + title, + at: formatTime(), + message: error && error.message ? error.message : String(error || 'unknown_error') + }) + throw error + } + } + if (getUiMode() === 'normal' && mode === 'view') { + openToast(`${title}完成`, 'success', 2000) + return await executor(null) + } + const session = openInteractionSession({ title, mode }) + state.interactionContext = session + try { + const result = await executor(session) + finishInteractionSuccess(session) + return result + } catch (error) { + finishInteractionError(session, error) + throw error + } finally { + if (state.interactionContext && state.interactionContext.id === session.id) { + state.interactionContext = null + } + } +} + +const api = async (url, options = {}) => { + const method = String(options.method || 'GET').toUpperCase() + const requestHeaders = { + ...(options.body instanceof FormData ? {} : { 'Content-Type': 'application/json' }), + ...(options.headers || {}) + } + const session = state.interactionContext + const startedAt = Date.now() + if (session) { + appendInteractionLine(session, '[请求开始]', { + url, + method, + started_at: formatTime(startedAt), + headers: requestHeaders, + body: options.body instanceof FormData ? normalizeFormData(options.body) : (options.body || '(空)') + }) + } + let resp = null + let rawText = '' + try { + resp = await fetch(url, { + headers: requestHeaders, + ...options + }) + rawText = await resp.text() + } catch (error) { + if (session) { + appendInteractionLine(session, '[网络异常]', { + url, + method, + elapsed_ms: Date.now() - startedAt, + message: error && error.message ? error.message : String(error || 'network_error') + }) + } + throw error + } + let data = {} + try { + data = rawText ? JSON.parse(rawText) : {} + } catch { + data = { raw_text: rawText } + } + if (session) { + appendInteractionLine(session, '[请求返回]', { + url, + method, + status: resp.status, + ok: resp.ok, + elapsed_ms: Date.now() - startedAt, + response: data + }) + } + if (!resp.ok || data.ok === false) { + const error = new Error((data && data.error) || `request_failed_${resp.status}`) + error.status = resp.status + error.response = data + throw error + } + return data +} + +const openConfirmDialog = ({ title, message, detail = '', confirmText = '确认' }) => new Promise(resolve => { + state.confirmResolver = resolve + $('#confirm-title').textContent = title || '请确认' + $('#confirm-message').textContent = message || '确认继续吗?' + $('#confirm-detail').textContent = detail || '' + $('#btn-ok-confirm').textContent = confirmText || '确认' + openDialog('confirm-dialog') +}) + +const resolveConfirmDialog = value => { + const resolver = state.confirmResolver + state.confirmResolver = null + closeDialog('confirm-dialog') + if (resolver) resolver(!!value) +} + +const openDeleteConfirmDialog = ({ title, message, detail }) => openConfirmDialog({ + title, + message, + detail: toPrettyText({ + ...(detail || {}), + warning: '该操作不可恢复' + }), + confirmText: '确认删除' +}) + +const showAnalysis = (text, { inline = false } = {}) => { + if (getUiMode() === 'normal' && inline) { + openToast(`AI 分析结果已内联显示`, 'info', 2000) + return + } + $('#analysis-output').textContent = text || '暂无结果' + openDialog('analysis-dialog') +} + +const setFieldValue = (form, name, value, fallback = '') => { + if (!form || !form[name]) return + form[name].value = value == null || value === '' ? fallback : value +} + +const applyPlantDraftToForm = draft => { + const form = $('#plant-form') + const next = draft || {} + const rules = next.rules || {} + const adjust = rules.weather_adjust || {} + setFieldValue(form, 'name', next.name, form.name.value || '') + setFieldValue(form, 'alias', next.alias) + setFieldValue(form, 'scientific_name', next.scientific_name) + setFieldValue(form, 'room_area', next.room_area) + setFieldValue(form, 'light_env', next.light_env) + setFieldValue(form, 'plant_group', next.plant_group) + setFieldValue(form, 'status_label', next.status_label, '状态良好') + setFieldValue(form, 'light_text', next.light_text) + setFieldValue(form, 'watering_text', next.watering_text) + setFieldValue(form, 'temp_text', next.temp_text) + setFieldValue(form, 'ventilation_text', next.ventilation_text) + setFieldValue(form, 'grow_light_text', next.grow_light_text) + setFieldValue(form, 'fertilizing_text', next.fertilizing_text) + setFieldValue(form, 'soil_text', next.soil_text) + setFieldValue(form, 'ai_summary', next.ai_summary) + setFieldValue(form, 'watering_interval_days', rules.watering_interval_days, '7') + setFieldValue(form, 'fertilizing_interval_days', rules.fertilizing_interval_days, '30') + setFieldValue(form, 'pruning_interval_days', rules.pruning_interval_days, '90') + setFieldValue(form, 'repot_interval_days', rules.repot_interval_days, '180') + setFieldValue(form, 'watering_hot_delta', adjust.watering_hot_delta, '-1') + setFieldValue(form, 'watering_humid_delta', adjust.watering_humid_delta, '1') + setFieldValue(form, 'watering_cold_delta', adjust.watering_cold_delta, '2') +} + +const assistPlantDraft = async () => { + const form = $('#plant-form') + const inputName = String(form.name.value || '').trim() + if (!inputName) { + await runTrackedInteraction({ title: '辅助填写植物档案', mode: 'normal' }, async () => { + throw new Error('请先输入植物名称') + }) + return + } + await runTrackedInteraction({ title: 'AI 辅助填写植物档案', mode: 'normal' }, async session => { + const data = await api('/api/plant_home/plants/assist_draft', { + method: 'POST', + body: JSON.stringify({ name: inputName, chosen_name: '' }) + }) + applyPlantDraftToForm(data.draft || {}) + if (data.chosen_name) form.name.value = data.chosen_name + appendInteractionLine(session, '[表单回填完成]', data.draft || {}) + }) +} + +const renderSummary = stats => { + const box = $('#summary-grid') + if (!box) return + const cards = [ + ['植物数', stats && stats.plant_count || 0], + ['待处理提醒', stats && stats.due_today_count || 0], + ['养护日志', stats && stats.log_count || 0], + ['相册图片', stats && stats.photo_count || 0] + ] + box.innerHTML = cards.map(([label, value]) => ` +
    +
    ${label}
    +
    ${value}
    +
    + `).join('') +} + +const renderWeather = weather => { + const bar = $('#weather-bar') + if (!bar) return + if (!weather) { + bar.textContent = '天气暂无数据' + return + } + + // 根据icon字段值映射天气图标 + const getWeatherIcon = (iconCode) => { + const code = parseInt(iconCode || '999', 10) + if (code === 100) return '☀️' // 晴 + if (code >= 101 && code <= 104) return '🌤️' // 多云 + if (code >= 300 && code <= 399) return '🌧️' // 雨 + if (code >= 400) return '❄️' // 雪 + return '🌈' // 兜底 + } + + const location = weather.location || {} + const cityName = escapeHtml(location.display_name || '上海宝山区') + const floorEnv = escapeHtml(weather.floor_env || '17楼室内') // 假设从配置中获取楼层环境 + let temp = escapeHtml(weather.temp || '--') + let humidity = escapeHtml(weather.humidity || '--') + const windDir = escapeHtml(weather.windDir || '') + const windScale = escapeHtml(weather.windScale || '') + const weatherText = escapeHtml(weather.text || '') + const adviceText = escapeHtml(weather.advice_text || '暂无建议') + const weatherIcon = getWeatherIcon(weather.icon) + + // 检查温度是否已经包含°C,如果没有则添加 + if (temp && !temp.includes('°C')) { + temp = temp + '°C' + } + + // 检查湿度是否已经包含%,如果没有则添加 + if (humidity && !humidity.includes('%')) { + humidity = humidity + '%' + } + + bar.innerHTML = ` +
    + 📍 +
    ${cityName}
    +
    ${floorEnv}
    +
    + +
    +
    ${temp}
    +
    ${weatherText}
    +
    ${weatherIcon}
    +
    +
    + 湿度 + ${humidity} +
    +
    + 风力 + ${windDir}${windScale}级 +
    +
    +
    + +
    +
    ${adviceText}
    + +
    + ` + + // 绑定展开按钮事件 + const expandBtn = $('#expand-advice-btn') + const adviceTextElement = $('#advice-text') + if (expandBtn && adviceTextElement) { + expandBtn.onclick = () => { + // 创建弹出层显示完整内容 + const popup = document.createElement('div') + popup.className = 'advice-popup' + popup.innerHTML = `
    ${adviceText}
    ` + + // 定位弹出层 + const rect = adviceTextElement.getBoundingClientRect() + popup.style.position = 'absolute' + popup.style.left = rect.left + 'px' + popup.style.top = (rect.bottom + 10) + 'px' + + document.body.appendChild(popup) + + // 点击其他地方关闭弹窗 + const closePopup = (e) => { + if (!popup.contains(e.target)) { + document.body.removeChild(popup) + document.removeEventListener('click', closePopup) + } + } + document.addEventListener('click', closePopup) + } + } +} + +const initPlantCardRotators = () => { + $$('.plant-cover-rotator').forEach(rotator => { + if (rotator.dataset.bound === '1') return + rotator.dataset.bound = '1' + const slides = Array.from(rotator.querySelectorAll('.plant-cover-slide')) + const dots = Array.from(rotator.querySelectorAll('.plant-cover-dot')) + if (slides.length <= 1) return + let current = 0 + const activate = index => { + current = index + slides.forEach((slide, idx) => slide.classList.toggle('active', idx === index)) + dots.forEach((dot, idx) => dot.classList.toggle('active', idx === index)) + } + rotator.dataset.timerId = String(window.setInterval(() => { + activate((current + 1) % slides.length) + }, 3200)) + }) +} + +const buildPlantCard = (plant, active = false) => { + const nextReminder = plant.next_reminder + const covers = Array.isArray(plant.card_covers) ? plant.card_covers.slice(0, 3) : [] + const displayAvatar = plant.display_avatar_path || plant.avatar_path || '' + const thumb = covers.length > 0 + ? ` +
    + ${covers.map((item, index) => ` + ${escapeHtml(plant.name)} + `).join('')} + ${covers.length > 1 ? `
    ${covers.map((_, index) => ``).join('')}
    ` : ''} +
    + ` + : displayAvatar + ? `${escapeHtml(plant.name)}` + : '🪴' + return ` +
    +
    ${thumb}
    +
    ${escapeHtml(plant.name)}
    +
    +
    ${escapeHtml(plant.room_area || plant.light_env || '未设置位置')}
    +
    ${escapeHtml(plant.status_label || '状态良好')}
    + ${covers.length > 0 ? `
    封面图:${covers.length} 张${covers.length > 1 ? ',卡片内轮播' : ''}
    ` : ''} + ${nextReminder ? `
    下次提醒:${escapeHtml(nextReminder.due_date)} · ${escapeHtml(nextReminder.title || '')}
    ` : '
    暂未生成提醒
    '} +
    +
    + ` +} + +const renderPlantGrid = (selector, addCard = false) => { + const box = $(selector) + if (!box) return + const html = state.plants.map(plant => buildPlantCard(plant, plant.id === state.selectedPlantId)).join('') + box.innerHTML = addCard ? `${html} +
    +
    +
    +
    添加植物
    +
    新建植物档案、习性和提醒规则
    +
    + ` : html +} + +const buildReminderItem = reminder => { + const ruleText = reminder.rule && reminder.rule.cycle_text ? reminder.rule.cycle_text : '单次提醒' + const hasRelatedLog = reminder.related_log && reminder.related_log.log_id + return ` +
    +
    +
    +
    ${escapeHtml(reminder.name || '')} · ${escapeHtml(reminder.title || '')}
    +
    ${escapeHtml(reminder.due_date)} ${escapeHtml(reminder.due_time || '')} | ${escapeHtml(ruleText)}
    +
    + ${escapeHtml(reminder.reminder_type || '')} +
    +
    ${escapeHtml(reminder.body || '')}
    +
    + + ${hasRelatedLog ? `` : ''} + ${reminder.rule && reminder.rule.id ? `` : ''} +
    +
    + ` +} + +const renderHomeRemindersWeekly = reminders => { + const box = $('#home-reminders-weekly') + if (!box) return + if (!Array.isArray(reminders) || reminders.length === 0) { + box.innerHTML = '
    未来一周暂无待提醒事项
    ' + return + } + box.innerHTML = reminders.map(buildReminderItem).join('') +} + +const renderHomeRemindersImportant = reminders => { + const box = $('#home-reminders-important') + if (!box) return + if (!Array.isArray(reminders) || reminders.length === 0) { + box.innerHTML = '
    暂无重要提醒
    ' + return + } + box.innerHTML = reminders.map(buildReminderItem).join('') +} + +const renderPlantDetail = detail => { + const box = $('#plant-detail') + if (!box) return + if (!detail || !detail.plant) { + box.innerHTML = '
    请选择一棵植物
    ' + return + } + const plant = detail.plant + const displayAvatar = plant.display_avatar_path || plant.avatar_path || '' + const thumb = displayAvatar + ? `${escapeHtml(plant.name)}` + : '🪴' + const diagnosis = (detail.diagnoses || [])[0] + const activeRules = Array.isArray(detail.active_rules) ? detail.active_rules : [] + box.innerHTML = ` +
    +
    ${thumb}
    +
    +
    +
    +

    ${escapeHtml(plant.name)}

    +
    ${escapeHtml(plant.scientific_name || '')}
    +
    ${escapeHtml(plant.room_area || '')} | ${escapeHtml(plant.light_env || '')}
    +
    +
    + + +
    +
    +
    +
    光照
    ${escapeHtml(plant.light_text || plant.light_env || '待补充')}
    +
    浇水
    ${escapeHtml(plant.watering_text || `${plant.watering_interval_days || 7}天/次`)}
    +
    适温
    ${escapeHtml(plant.temp_text || '18~28℃')}
    +
    通风
    ${escapeHtml(plant.ventilation_text || '中等通风')}
    +
    补光灯
    ${escapeHtml(plant.grow_light_text || '按需补光')}
    +
    施肥
    ${escapeHtml(plant.fertilizing_text || `${plant.fertilizing_interval_days || 30}天/次`)}
    +
    +
    +
    +
    ${escapeHtml(plant.ai_summary || plant.note || '这棵植物的详细档案还可以再补充,建议先导入 AI 习性。')}
    + ${diagnosis ? `
    最近问诊:${escapeHtml(diagnosis.summary || '')}
    ` : ''} + ${activeRules.length ? `
    当前提醒:${activeRules.map(rule => `${escapeHtml(rule.title || '')} / ${escapeHtml(rule.cycle_text || '')} / 下次 ${escapeHtml(rule.next_due_date || '')}`).join('
    ')}
    ` : ''} + ` +} + +const renderLogs = logs => { + const box = $('#log-list') + if (!box) return + if (!Array.isArray(logs) || logs.length === 0) { + box.innerHTML = '
    暂无日志
    ' + return + } + box.innerHTML = logs.map(log => ` +
    +
    +
    +
    ${escapeHtml(log.name || '')} · ${escapeHtml(log.action_label || log.action_type || '')}
    +
    ${escapeHtml(log.action_at || '')}${log.mood_tag ? ` | ${escapeHtml(log.mood_tag)}` : ''}
    +
    +
    + + +
    +
    +
    ${escapeHtml(log.note || log.amount_text || '已记录')}
    +
    + ${log.asset_summary && log.asset_summary.photo_count ? `图片 ${escapeHtml(log.asset_summary.photo_count)}` : ''} + ${log.asset_summary && log.asset_summary.video_count ? `视频 ${escapeHtml(log.asset_summary.video_count)}` : ''} + ${log.asset_summary && log.asset_summary.attachment_count ? `附件 ${escapeHtml(log.asset_summary.attachment_count)}` : ''} + ${log.reminder_rule ? `提醒 ${escapeHtml(log.reminder_rule.cycle_text || '')}` : ''} +
    +
    + `).join('') +} + +const renderGallery = photos => { + const box = $('#gallery-list') + if (!box) return + if (!Array.isArray(photos) || photos.length === 0) { + box.innerHTML = '
    暂无图片
    ' + return + } + box.innerHTML = photos.map(photo => ` +
    + ${escapeHtml(photo.name || '')} +
    +
    ${escapeHtml(photo.name || '')}
    +
    ${escapeHtml(photo.shot_at || '')}
    +
    ${escapeHtml(photo.note || '')}
    +
    + ${photo.is_home_featured ? '植物封面' : ''} + ${photo.photo_source === 'seed' ? '标准图' : ''} + ${photo.log_id ? '日志上传' : ''} +
    +
    + + + +
    +
    +
    + `).join('') +} + +const renderSettings = cfg => { + state.settings = cfg + state.uiMode = cfg && cfg.ui_mode || 'debug' + const user = cfg && cfg.user_context || {} + $('#settings-context').textContent = [ + user.city || '', + user.residence || '', + user.balcony || '', + user.supplement_light || '', + user.reminder_preference || '' + ].filter(Boolean).join(' | ') +} + +const loadDashboard = async () => { + const data = await api('/api/plant_home/dashboard') + state.dashboard = data + state.plants = data.plants || [] + if (state.selectedPlantId && !state.plants.find(item => item.id === state.selectedPlantId)) state.selectedPlantId = 0 + if (!state.selectedPlantId && state.plants[0]) state.selectedPlantId = state.plants[0].id + renderSummary(data.stats) + renderHomeRemindersWeekly(data.reminders_weekly) + renderHomeRemindersImportant(data.reminders_important) + renderPlantGrid('#plant-list', true) + initPlantCardRotators() + + // 异步加载天气数据,不阻塞其他内容的渲染 + setTimeout(async () => { + try { + const weatherData = await api('/api/plant_home/weather') + renderWeather(weatherData.weather) + } catch (error) { + console.warn('天气数据加载失败:', error) + // 显示默认天气信息 + renderWeather(null) + } + }, 0) +} + +const loadPlantDetail = async (plantId) => { + if (!plantId) { + renderPlantDetail(null) + return + } + const detail = await api(`/api/plant_home/plants/${plantId}`) + state.selectedPlantId = plantId + renderPlantDetail(detail) + renderPlantGrid('#plant-list', true) + initPlantCardRotators() +} + +const loadLogs = async () => { + const data = await api('/api/plant_home/logs') + state.logs = data.data || [] + renderLogs(state.logs) +} + +const loadPhotos = async () => { + const data = await api('/api/plant_home/photos') + state.photos = data.data || [] + renderGallery(state.photos) +} + +const loadSettings = async () => { + const data = await api('/api/plant_home/settings') + renderSettings(data.config || {}) +} + +const loadMoodTags = async () => { + const data = await api('/api/plant_home/mood_tags') + state.moodTags = data.data || [] + renderMoodTagPickers() +} + +const loadActiveReminderRule = async () => { + const form = $('#log-form') + if (!form) return null + const plantId = form.plant_id.value + const reminderType = form.reminder_type.value || form.action_type.value || 'observe' + if (!plantId || !reminderType) { + state.activeReminderRule = null + $('#log-existing-rule-box').textContent = '当前没有同类提醒' + $('#log-existing-rule-box').classList.remove('is-active') + form.stop_existing_rule_id.value = '' + return null + } + const data = await api(`/api/plant_home/reminder_rules/active?plant_id=${encodeURIComponent(plantId)}&reminder_type=${encodeURIComponent(reminderType)}`) + state.activeReminderRule = data.rule || null + const box = $('#log-existing-rule-box') + box.textContent = summarizeRuleText(state.activeReminderRule) + box.classList.toggle('is-active', !!state.activeReminderRule) + if (!state.activeReminderRule) form.stop_existing_rule_id.value = '' + return state.activeReminderRule +} + +const fillPlantOptions = () => { + const plantOptions = state.plants.map(plant => ``).join('') + $('#log-plant-select').innerHTML = plantOptions + $('#photo-plant-select').innerHTML = plantOptions + if (state.selectedPlantId) { + $('#log-plant-select').value = String(state.selectedPlantId) + $('#photo-plant-select').value = String(state.selectedPlantId) + } + if ($('#log-reminder-type')) $('#log-reminder-type').value = $('#log-action-type')?.value || 'watering' +} + +const openPlantDialog = async (edit = false) => { + const form = $('#plant-form') + form.reset() + form.plant_id.value = '' + form.action = 'create' + form.cover_shot_at.value = todayStr() + $('#plant-dialog-title').textContent = edit ? '编辑植物' : '新增植物' + if (edit && state.selectedPlantId) { + await runTrackedInteraction({ title: '读取植物详情用于编辑', mode: 'view' }, async () => { + const detail = await api(`/api/plant_home/plants/${state.selectedPlantId}`) + const plant = detail.plant + form.plant_id.value = plant.id + form.name.value = plant.name || '' + form.alias.value = plant.alias || '' + form.scientific_name.value = plant.scientific_name || '' + form.room_area.value = plant.room_area || '' + form.light_env.value = plant.light_env || '' + form.plant_group.value = plant.plant_group || '' + form.status_label.value = plant.status_label || '' + form.light_text.value = plant.light_text || '' + form.watering_text.value = plant.watering_text || '' + form.temp_text.value = plant.temp_text || '' + form.ventilation_text.value = plant.ventilation_text || '' + form.grow_light_text.value = plant.grow_light_text || '' + form.fertilizing_text.value = plant.fertilizing_text || '' + form.soil_text.value = plant.soil_text || '' + form.ai_summary.value = plant.ai_summary || '' + form.watering_interval_days.value = plant.watering_interval_days || 7 + form.fertilizing_interval_days.value = plant.fertilizing_interval_days || 30 + form.pruning_interval_days.value = plant.pruning_interval_days || 90 + form.repot_interval_days.value = plant.repot_interval_days || 180 + let weatherAdjust = {} + try { + weatherAdjust = JSON.parse(plant.weather_adjust_json || '{}') + } catch { + weatherAdjust = {} + } + form.watering_hot_delta.value = weatherAdjust.watering_hot_delta == null ? -1 : weatherAdjust.watering_hot_delta + form.watering_humid_delta.value = weatherAdjust.watering_humid_delta == null ? 1 : weatherAdjust.watering_humid_delta + form.watering_cold_delta.value = weatherAdjust.watering_cold_delta == null ? 2 : weatherAdjust.watering_cold_delta + form.note.value = plant.note || '' + }) + } else { + form.repot_interval_days.value = 180 + form.watering_hot_delta.value = -1 + form.watering_humid_delta.value = 1 + form.watering_cold_delta.value = 2 + } + openDialog('plant-dialog') +} + +const handlePlantSubmit = async event => { + event.preventDefault() + const form = event.target + const submitButton = form.querySelector('button[type="submit"]') + await withButtonLoading(submitButton, async () => { + const fd = new FormData(form) + const file = fd.get('cover_photo') + const payload = Object.fromEntries(fd.entries()) + delete payload.cover_photo + await runTrackedInteraction({ title: payload.plant_id ? '修改植物档案' : '新增植物档案', mode: 'normal' }, async () => { + let plant = null + if (payload.plant_id) { + const data = await api(`/api/plant_home/plants/${payload.plant_id}`, { + method: 'PUT', + body: JSON.stringify(payload) + }) + plant = data.plant || null + } else { + const data = await api('/api/plant_home/plants', { + method: 'POST', + body: JSON.stringify(payload) + }) + plant = data.plant || null + } + if (plant && file instanceof File && file.size > 0) { + const photoFd = new FormData() + photoFd.append('plant_id', String(plant.id)) + photoFd.append('photo', file) + photoFd.append('shot_at', payload.cover_shot_at || todayStr()) + photoFd.append('note', payload.cover_note || '') + if (payload.cover_make_avatar === '1') photoFd.append('make_avatar', '1') + await api('/api/plant_home/photos/upload', { + method: 'POST', + body: photoFd + }) + } + closeDialog('plant-dialog') + await refreshAll('刷新植物与提醒数据') + }) + }) +} + +const deletePlant = async () => { + if (!state.selectedPlantId) return + const plant = state.plants.find(item => item.id === state.selectedPlantId) + const confirmed = await openDeleteConfirmDialog({ + title: '删除植物', + message: `确认删除“${plant && plant.name ? plant.name : '当前植物'}”吗?这会同时删除日志、图片、提醒和 AI 档案。`, + detail: { + plant_id: state.selectedPlantId, + plant_name: plant && plant.name + } + }) + if (!confirmed) return + const deleteButton = document.querySelector('[data-action="delete-plant"]') + await withButtonLoading(deleteButton, async () => { + await runTrackedInteraction({ title: '删除植物', mode: 'normal' }, async () => { + await api(`/api/plant_home/plants/${state.selectedPlantId}`, { method: 'DELETE' }) + state.selectedPlantId = 0 + await refreshAll('刷新植物、日志、相册与提醒数据') + }) + }) +} + +const deleteLog = async logId => { + const target = state.logs.find(item => item.id === logId) + const confirmed = await openDeleteConfirmDialog({ + title: '删除养护日志', + message: '确认删除这条养护日志吗?', + detail: target || { id: logId } + }) + if (!confirmed) return + const deleteButton = document.querySelector(`[data-action="delete-log"][data-log-id="${logId}"]`) + await withButtonLoading(deleteButton, async () => { + try { + await runTrackedInteraction({ title: '删除养护日志', mode: 'normal' }, async () => { + await api(`/api/plant_home/logs/${logId}`, { method: 'DELETE' }) + await refreshAll('刷新日志与相关数据') + }) + } catch (error) { + if (String(error && error.message || '') === 'log_not_found') { + state.logs = state.logs.filter(item => item.id !== logId) + renderLogs(state.logs) + await refreshAll('刷新日志与相关数据') + await runTrackedInteraction({ title: '删除养护日志', mode: 'view' }, async session => { + appendInteractionLine(session, '[提示]', { + message: '这条旧日志已经不在数据库中,页面已自动刷新。' + }) + }) + return + } + throw error + } + }) +} + +const deletePhoto = async photoId => { + const target = state.photos.find(item => item.id === photoId) + const confirmed = await openDeleteConfirmDialog({ + title: '删除植物图片', + message: '确认删除这张图片吗?会同时移除相关 AI 问诊记录。', + detail: target || { id: photoId } + }) + if (!confirmed) return + const deleteButton = document.querySelector(`[data-action="delete-photo"][data-photo-id="${photoId}"]`) + await withButtonLoading(deleteButton, async () => { + await runTrackedInteraction({ title: '删除植物图片', mode: 'normal' }, async () => { + await api(`/api/plant_home/photos/${photoId}`, { method: 'DELETE' }) + await refreshAll('刷新相册与植物详情数据') + }) + }) +} + +const toggleHomePhoto = async (photoId, nextValue) => { + const target = state.photos.find(item => item.id === photoId) + const toggleButton = document.querySelector(`[data-action="toggle-home-photo"][data-photo-id="${photoId}"]`) + await withButtonLoading(toggleButton, async () => { + await runTrackedInteraction({ title: nextValue ? '设置植物封面' : '取消植物封面', mode: 'normal' }, async () => { + await api(`/api/plant_home/photos/${photoId}/home_feature`, { + method: 'PUT', + body: JSON.stringify({ value: Number(nextValue) === 1 }) + }) + await refreshAll(`刷新植物封面与相册${target && target.name ? `:${target.name}` : ''}`) + }) + }) +} + +const resetLogForm = async () => { + const form = $('#log-form') + form.reset() + form.action_at.value = todayStr() + form.override_existing_rule.value = '0' + form.stop_existing_rule_id.value = '' + fillPlantOptions() + $('#log-reminder-type').value = $('#log-action-type').value || 'watering' + $('#log-reminder-enabled').checked = false + updateReminderEnabledFields() + updateReminderModeFields() + syncWeeklyDaysField() + await loadActiveReminderRule() + renderMoodTagPickers() +} + +const addMoodTagFromDialog = async () => { + const input = $('#log-new-tag-name') + const name = input.value.trim() + if (!name) throw new Error('tag_name_required') + await api('/api/plant_home/mood_tags', { + method: 'POST', + body: JSON.stringify({ name }) + }) + input.value = '' + await loadMoodTags() + applyMoodTagToForm('#log-form [name="mood_tag"]', name) +} + +const stopActiveRuleFromLog = async () => { + const rule = state.activeReminderRule + if (!rule || !rule.id) return + const confirmed = await openConfirmDialog({ + title: '停止现有提醒', + message: '确认停止当前同类提醒吗?停止后不会再继续循环。', + detail: toPrettyText(rule), + confirmText: '确认停止' + }) + if (!confirmed) return + await api(`/api/plant_home/reminder_rules/${rule.id}/stop`, { method: 'POST' }) + $('#log-form').stop_existing_rule_id.value = String(rule.id) + state.activeReminderRule = null + await loadActiveReminderRule() +} + +const handleLogSubmit = async event => { + event.preventDefault() + const form = event.target + const submitButton = form.querySelector('button[type="submit"]') + await withButtonLoading(submitButton, async () => { + syncWeeklyDaysField() + const fd = new FormData(form) + const reminderEnabled = String(fd.get('reminder_enabled') || '') === '1' + const activeRule = state.activeReminderRule + if (reminderEnabled && activeRule && String(fd.get('override_existing_rule') || '0') !== '1') { + const confirmed = await openConfirmDialog({ + title: '覆盖旧提醒', + message: '当前已有同类提醒,是否用本次设置覆盖?', + detail: toPrettyText(activeRule), + confirmText: '覆盖旧提醒' + }) + if (!confirmed) return + fd.set('override_existing_rule', '1') + form.override_existing_rule.value = '1' + } + await runTrackedInteraction({ title: '新增生长日记', mode: 'normal' }, async () => { + await api('/api/plant_home/logs', { + method: 'POST', + body: fd + }) + closeDialog('log-dialog') + await refreshAll('刷新日志与提醒数据') + }) + }) +} + +const handlePhotoSubmit = async event => { + event.preventDefault() + const form = event.target + const submitButton = form.querySelector('button[type="submit"]') + await withButtonLoading(submitButton, async () => { + const fd = new FormData(form) + await runTrackedInteraction({ title: '上传植物照片', mode: 'normal' }, async () => { + const data = await api('/api/plant_home/photos/upload', { + method: 'POST', + body: fd + }) + closeDialog('photo-dialog') + await refreshAll('刷新相册与植物数据') + if (data.diagnosis) { + showAnalysis(`AI 问诊结果\n\n${data.diagnosis.summary || ''}\n\n建议:${JSON.parse(data.diagnosis.suggestions_json || '[]').join(';')}`, { inline: true }) + } + }) + }) +} + +const openLogDetailDialog = async logId => { + const dialog = $('#log-detail-dialog') + const content = $('#log-detail-content') + if (!dialog || !content) return + content.innerHTML = '
    加载中...
    ' + openDialog('log-detail-dialog') + try { + const data = await api(`/api/plant_home/logs/${logId}`) + const log = data.log + if (!log) { + content.innerHTML = '
    日志不存在或已被删除
    ' + return + } + const photos = Array.isArray(log.photos) ? log.photos : [] + const attachments = Array.isArray(log.attachments) ? log.attachments : [] + const rule = log.reminder_rule + content.innerHTML = ` +
    +
    + 植物 + ${escapeHtml(log.name || '')} +
    +
    + 操作 + ${escapeHtml(log.action_label || '')} +
    +
    + 日期 + ${escapeHtml(log.action_at || '')} +
    + ${log.mood_tag ? `
    心情${escapeHtml(log.mood_tag)}
    ` : ''} +
    + ${log.note ? `
    备注
    ${escapeHtml(log.note)}
    ` : ''} + ${photos.length > 0 ? ` +
    +
    图片(${photos.length})
    +
    + ${photos.map(p => ``).join('')} +
    +
    + ` : ''} + ${attachments.length > 0 ? ` +
    +
    附件
    +
    + ${attachments.map(a => `
    ${escapeHtml(a.file_name)}
    `).join('')} +
    +
    + ` : ''} + ${rule ? ` +
    +
    关联提醒
    +
    ${escapeHtml(rule.title || '')} · ${escapeHtml(rule.cycle_text || '')}
    +
    + ` : ''} + ` + } catch (e) { + content.innerHTML = `
    加载失败:${escapeHtml(String(e.message || e))}
    ` + } +} + +const openReminderDialog = reminderId => { + const form = $('#reminder-form') + form.reset() + form.reminder_id.value = String(reminderId || '') + form.action_at.value = todayStr() + renderMoodTagPickers() + openDialog('reminder-dialog') +} + +const handleReminderSubmit = async event => { + event.preventDefault() + const form = event.target + const submitButton = form.querySelector('button[type="submit"]') + await withButtonLoading(submitButton, async () => { + const payload = Object.fromEntries(new FormData(form).entries()) + await runTrackedInteraction({ title: '完成提醒并写入日记', mode: 'normal' }, async () => { + await api(`/api/plant_home/reminders/${payload.reminder_id}/resolve`, { + method: 'POST', + body: JSON.stringify({ + note: payload.note || '', + mood_tag: payload.mood_tag || '', + action_at: payload.action_at || todayStr() + }) + }) + closeDialog('reminder-dialog') + await refreshAll('刷新提醒与生长日志') + }) + }) +} + +const requestNotification = async () => { + const notifyButton = $('#btn-enable-notify') + await withButtonLoading(notifyButton, async () => { + await runTrackedInteraction({ title: '申请浏览器提醒权限', mode: 'normal' }, async session => { + if (typeof Notification === 'undefined') { + appendInteractionLine(session, '[本地能力检查]', '当前浏览器不支持 Notification') + $('#notify-status').textContent = '当前浏览器不支持 Notification' + return + } + appendInteractionLine(session, '[本地请求]', { + action: 'Notification.requestPermission', + before_status: Notification.permission + }) + const result = await Notification.requestPermission() + appendInteractionLine(session, '[本地返回]', { + after_status: result + }) + state.notificationGranted = result === 'granted' + $('#notify-status').textContent = state.notificationGranted ? '已授权' : `当前状态:${result}` + }) + }) +} + +const pollNotifications = async () => { + if (!state.notificationGranted) return + const data = await api('/api/plant_home/notifications/pending') + const items = data.data || [] + for (const item of items) { + const notification = new Notification(item.title || '养护提醒', { + body: item.body || '', + tag: `plant-home-${item.id}` + }) + notification.onclick = () => window.focus() + await api(`/api/plant_home/notifications/${item.id}/ack`, { method: 'POST' }) + } +} + +const refreshAll = async (title = '刷新页面数据') => { + await runTrackedInteraction({ title, mode: 'view' }, async session => { + appendInteractionLine(session, '[刷新范围]', { + modules: ['dashboard', 'logs', 'photos', 'settings', 'plant_detail', 'mood_tags'] + }) + await loadDashboard() + fillPlantOptions() + await Promise.all([ + loadLogs(), + loadPhotos(), + loadSettings(), + loadPlantDetail(state.selectedPlantId), + loadMoodTags() + ]) + }) +} + +const importProfile = async () => { + if (!state.selectedPlantId) return + const importButton = document.getElementById('btn-import-profile') + await withButtonLoading(importButton, async () => { + await runTrackedInteraction({ title: 'AI 导入植物习性档案', mode: 'normal' }, async () => { + const data = await api(`/api/plant_home/plants/${state.selectedPlantId}/import_profile`, { method: 'POST' }) + await refreshAll('刷新植物档案与提醒') + showAnalysis(JSON.stringify(data.profile || {}, null, 2), { inline: true }) + }) + }) +} + +const analyzePattern = async () => { + if (!state.selectedPlantId) return + const analyzeButton = document.getElementById('btn-pattern-analysis') + await withButtonLoading(analyzeButton, async () => { + await runTrackedInteraction({ title: 'AI 分析养护规律', mode: 'normal' }, async () => { + const data = await api(`/api/plant_home/plants/${state.selectedPlantId}/analyze_pattern`, { method: 'POST' }) + showAnalysis(data.analysis || '暂无结果', { inline: true }) + }) + }) +} + +const runScheduler = async () => { + const schedulerButton = document.getElementById('btn-run-scheduler') + await withButtonLoading(schedulerButton, async () => { + await runTrackedInteraction({ title: '手动执行提醒调度器', mode: 'normal' }, async () => { + const data = await api('/api/plant_home/scheduler/run', { method: 'POST' }) + await refreshAll('刷新天气与提醒结果') + showAnalysis(`手动调度完成\n\n新生成提醒:${(data.generate && data.generate.created) || 0}\n天气:${JSON.stringify(data.weather || {}, null, 2)}`, { inline: true }) + }) + }) +} + +const switchTab = tab => { + $$('.tab-btn').forEach(btn => btn.classList.toggle('active', btn.dataset.tab === tab)) + $$('.tab-panel').forEach(panel => panel.classList.toggle('active', panel.id === `tab-${tab}`)) +} + +const bindEvents = () => { + $$('.tab-btn').forEach(btn => { + btn.addEventListener('click', () => switchTab(btn.dataset.tab)) + }) + + document.body.addEventListener('click', async event => { + const target = event.target + if (target.matches('[data-close-dialog]')) { + closeDialog(target.dataset.closeDialog) + return + } + const plantCard = target.closest('.plant-card[data-plant-id]') + if (plantCard) { + const plantId = parseInt(String(plantCard.dataset.plantId || '0'), 10) + if (plantId) { + await runTrackedInteraction({ title: '查看植物详情', mode: 'view' }, async () => { + await loadPlantDetail(plantId) + }) + } + return + } + if (target.closest('[data-action="add-plant"]')) return openPlantDialog(false) + if (target.closest('[data-action="edit-plant"]')) return openPlantDialog(true) + if (target.closest('[data-action="delete-plant"]')) return deletePlant() + if (target.closest('[data-action="resolve-reminder"]')) { + const id = parseInt(target.dataset.reminderId || target.closest('[data-reminder-id]').dataset.reminderId, 10) + return openReminderDialog(id) + } + if (target.closest('[data-action="stop-rule"]')) { + const ruleId = parseInt(target.closest('[data-action="stop-rule"]').dataset.ruleId || '0', 10) + if (!ruleId) return + const confirmed = await openConfirmDialog({ + title: '停止循环提醒', + message: '确认停止这个提醒规则吗?', + detail: toPrettyText({ rule_id: ruleId }), + confirmText: '确认停止' + }) + if (!confirmed) return + await api(`/api/plant_home/reminder_rules/${ruleId}/stop`, { method: 'POST' }) + return refreshAll('刷新提醒与日志数据') + } + if (target.closest('[data-action="pick-mood-tag"]')) { + const btn = target.closest('[data-action="pick-mood-tag"]') + return applyMoodTagToForm(btn.dataset.targetInputSelector, btn.dataset.tagValue || '') + } + if (target.id === 'btn-log-add-tag') { + const addButton = target + return withButtonLoading(addButton, async () => addMoodTagFromDialog()) + } + if (target.closest('[data-action="diagnose-photo"]')) { + const btn = target.closest('[data-action="diagnose-photo"]') + const photoId = parseInt(btn.dataset.photoId || '0', 10) + const diagnoseButton = btn + return withButtonLoading(diagnoseButton, async () => { + return runTrackedInteraction({ title: 'AI 图片问诊', mode: 'normal' }, async () => { + const data = await api(`/api/plant_home/photos/${photoId}/diagnose`, { method: 'POST' }) + const suggestions = JSON.parse(data.diagnosis && data.diagnosis.suggestions_json || '[]') + showAnalysis(`${data.diagnosis && data.diagnosis.summary || ''}\n\n建议:\n- ${suggestions.join('\n- ')}`, { inline: true }) + }) + }) + } + if (target.closest('[data-action="delete-photo"]')) { + const photoId = parseInt(target.closest('[data-action="delete-photo"]').dataset.photoId || '0', 10) + return deletePhoto(photoId) + } + if (target.closest('[data-action="toggle-home-photo"]')) { + const btn = target.closest('[data-action="toggle-home-photo"]') + const photoId = parseInt(btn.dataset.photoId || '0', 10) + const nextValue = parseInt(btn.dataset.value || '0', 10) + return toggleHomePhoto(photoId, nextValue) + } + if (target.closest('[data-action="delete-log"]')) { + const logId = parseInt(target.closest('[data-action="delete-log"]').dataset.logId || '0', 10) + return deleteLog(logId) + } + }) + + $('#plant-form').addEventListener('submit', handlePlantSubmit) + $('#log-form').addEventListener('submit', handleLogSubmit) + $('#photo-form').addEventListener('submit', handlePhotoSubmit) + $('#reminder-form').addEventListener('submit', handleReminderSubmit) + $('#btn-assist-plant').addEventListener('click', () => { + const assistButton = $('#btn-assist-plant') + withButtonLoading(assistButton, async () => { + await assistPlantDraft() + }) + }) + + $('#btn-add-plant').addEventListener('click', () => openPlantDialog(false)) + $('#btn-add-log').addEventListener('click', async () => { + await resetLogForm() + openDialog('log-dialog') + }) + $('#btn-add-log-logs').addEventListener('click', async () => { + await resetLogForm() + openDialog('log-dialog') + }) + $('#btn-upload-photo').addEventListener('click', () => { + $('#photo-form').reset() + $('#photo-form').shot_at.value = todayStr() + fillPlantOptions() + openDialog('photo-dialog') + }) + $('#log-form').plant_id.addEventListener('change', () => loadActiveReminderRule().catch(() => {})) + $('#log-form').action_type.addEventListener('change', () => { + $('#log-reminder-type').value = $('#log-action-type').value || 'watering' + loadActiveReminderRule().catch(() => {}) + }) + $('#log-form').reminder_type.addEventListener('change', () => loadActiveReminderRule().catch(() => {})) + $('#log-form').reminder_rule_mode.addEventListener('change', updateReminderModeFields) + $('#log-reminder-enabled').addEventListener('change', updateReminderEnabledFields) + $('#log-weekday-list').addEventListener('change', syncWeeklyDaysField) + $('#log-existing-rule-box').addEventListener('click', () => { + if (state.activeReminderRule) stopActiveRuleFromLog().catch(() => {}) + }) + $('#btn-import-profile').addEventListener('click', importProfile) + $('#btn-pattern-analysis').addEventListener('click', analyzePattern) + $('#btn-refresh-dashboard').addEventListener('click', () => refreshAll('手动刷新首页与详情数据')) + // 提醒 tab 切换 + document.querySelectorAll('.reminder-tab-btn').forEach(btn => { + btn.addEventListener('click', () => { + document.querySelectorAll('.reminder-tab-btn').forEach(b => b.classList.remove('active')) + btn.classList.add('active') + const tab = btn.dataset.reminderTab + document.querySelectorAll('[id^="home-reminders-"]').forEach(el => el.classList.add('hidden')) + const target = $(`#home-reminders-${tab}`) + if (target) target.classList.remove('hidden') + }) + }) + // 查看日志详情(委托:首页提醒 + 养护日志列表) + document.querySelector('.plant-main').addEventListener('click', async e => { + const btn = e.target.closest('[data-action="view-log-detail"]') + if (!btn) return + const logId = parseInt(btn.dataset.logId || '0', 10) + if (logId) await openLogDetailDialog(logId) + }) + $('#btn-refresh-weather').addEventListener('click', async () => { + const weatherButton = $('#btn-refresh-weather') + await withButtonLoading(weatherButton, async () => { + await runTrackedInteraction({ title: '刷新天气数据', mode: 'normal' }, async () => { + await api('/api/plant_home/weather/refresh', { method: 'POST' }) + await refreshAll('刷新天气与页面数据') + }) + }) + }) + $('#btn-run-scheduler').addEventListener('click', runScheduler) + $('#btn-enable-notify').addEventListener('click', requestNotification) + $('#btn-copy-interaction').addEventListener('click', async () => { + try { + await copyInteractionLog() + setInteractionStatus('交互日志已复制到剪贴板', 'success') + } catch (error) { + setInteractionStatus(`复制失败:${error.message || error}`, 'error') + } + }) + $('#btn-copy-confirm').addEventListener('click', async () => { + const text = [$('#confirm-title').textContent, $('#confirm-message').textContent, $('#confirm-detail').textContent].join('\n\n') + try { + await navigator.clipboard.writeText(text) + } catch {} + }) + $('#btn-cancel-confirm').addEventListener('click', () => resolveConfirmDialog(false)) + $('#btn-ok-confirm').addEventListener('click', () => resolveConfirmDialog(true)) +} + +const init = async () => { + bindEvents() + $('#notify-status').textContent = state.notificationGranted ? '已授权' : '尚未授权' + try { + await refreshAll('初始化绿植的流浪家园') + } catch (e) { + showAnalysis(`初始化失败:${e.message || e}`, { inline: true }) + } + const interval = (state.settings && state.settings.notification && state.settings.notification.browser_poll_seconds) || 60 + state.notificationTimer = window.setInterval(() => { + pollNotifications().catch(() => {}) + }, Math.max(15, Number(interval)) * 1000) + pollNotifications().catch(() => {}) +} + +window.addEventListener('load', init) diff --git a/public/tools/private_clipboard/auth_config.json b/public/tools/private_clipboard/auth_config.json new file mode 100644 index 0000000..42a9361 --- /dev/null +++ b/public/tools/private_clipboard/auth_config.json @@ -0,0 +1,15 @@ +{ + "_comment": "私人剪贴板工具的前端鉴权配置", + "enable_auth_comment": "true:启用鉴权;false:关闭鉴权并放开访问", + "enable_auth": true, + "max_age_days_comment": "鉴权 Cookie 有效期(天),范围建议 1~365", + "max_age_days": 30, + "cookieName_comment": "鉴权 Cookie 名称,建议保持默认", + "cookieName": "private_clipboard_gate", + "requireGuid_comment": "true:入口必须带 guid 参数;false:允许仅凭 token 或会话访问", + "requireGuid": true, + "guidParam_comment": "URL 中的 GUID 参数名,建议使用小写 guid", + "guidParam": "guid", + "guidValue_comment": "GUID 参数值,建议使用高强度随机长串并定期更换", + "guidValue": "SD9KK-LW32S-9KJJH-JJH43-LJ432J" +} diff --git a/public/tools/private_clipboard/clipboard.css b/public/tools/private_clipboard/clipboard.css new file mode 100644 index 0000000..b86c6e8 --- /dev/null +++ b/public/tools/private_clipboard/clipboard.css @@ -0,0 +1,685 @@ +body { + background: #0f1115; + color: #e6e8ee; + font-family: "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; +} + +.pc-main { + max-width: 1100px; + margin: 0 auto; + padding: 32px 20px 60px; +} + +.pc-header { + display: flex; + flex-direction: column; + gap: 8px; + margin-bottom: 24px; +} + +.pc-title { + font-size: 28px; + font-weight: 700; + letter-spacing: 1px; +} + +.pc-subtitle { + color: #9aa3b2; + font-size: 14px; +} + +.pc-input { + margin-bottom: 28px; +} + +.pc-paste-zone { + border: 1px dashed #3b4252; + border-radius: 14px; + padding: 24px; + background: rgba(28, 31, 40, 0.6); + transition: border-color 0.2s ease, background 0.2s ease; + outline: none; +} + +.pc-paste-zone:focus { + border-color: #6ea8ff; + background: rgba(32, 38, 55, 0.75); +} + +.pc-paste-zone.dragover { + border-color: #6ea8ff; + background: rgba(44, 54, 82, 0.8); +} + +.pc-paste-text { + font-size: 16px; + font-weight: 600; +} + +.pc-paste-hint { + margin-top: 6px; + font-size: 13px; + color: #8f99aa; +} + +.pc-paste-actions { + margin-top: 12px; + display: flex; + gap: 8px; + flex-wrap: wrap; +} + +.pc-paste-input { + position: absolute; + opacity: 0; + pointer-events: none; + width: 1px; + height: 1px; + left: -9999px; + top: 0; +} + +.pc-desktop-only { + display: block; +} + +.pc-mobile-only { + display: none; +} + +@media (max-width: 900px), (pointer: coarse) { + .pc-desktop-only { + display: none; + } + + .pc-mobile-only { + display: block; + } +} + +.pc-mobile-inputs { + flex-direction: column; + gap: 14px; +} + +.pc-mobile-only.pc-mobile-inputs { + display: none; +} + +@media (max-width: 900px), (pointer: coarse) { + .pc-mobile-only.pc-mobile-inputs { + display: flex; + } +} + +.pc-mobile-block { + padding: 12px; + border-radius: 12px; + border: 1px solid rgba(63, 70, 89, 0.6); + background: rgba(20, 22, 30, 0.7); + display: flex; + flex-direction: column; + gap: 10px; +} + +.pc-mobile-title { + font-size: 14px; + color: #cfe1ff; + font-weight: 600; +} + +.pc-mobile-text { + width: 100%; + min-height: 110px; + padding: 10px 12px; + border-radius: 10px; + border: 1px solid rgba(63, 70, 89, 0.6); + background: rgba(18, 20, 28, 0.8); + color: #e6e8ee; + resize: vertical; + font-size: 14px; + line-height: 1.5; +} + +.pc-mobile-text:focus { + outline: none; + border-color: #6ea8ff; +} + +.pc-mobile-file { + width: 100%; + padding: 10px 12px; + border-radius: 10px; + border: 1px solid rgba(63, 70, 89, 0.6); + background: rgba(18, 20, 28, 0.8); + color: #e6e8ee; +} + +.pc-mobile-actions { + display: flex; + justify-content: flex-end; +} + +.pc-status { + min-height: 18px; + margin-top: 10px; + font-size: 13px; + color: #8f99aa; +} + +.pc-status.ok { + color: #6ed6a6; +} + +.pc-status.error { + color: #ff8484; +} + +.pc-progress { + margin-top: 12px; + padding: 12px; + border-radius: 12px; + border: 1px solid rgba(63, 70, 89, 0.5); + background: rgba(20, 22, 30, 0.7); + display: none; +} + +.pc-progress.show { + display: block; +} + +.pc-progress-row { + display: flex; + align-items: center; + justify-content: space-between; + font-size: 12px; + color: #9aa3b2; + margin-bottom: 8px; +} + +.pc-progress-text { + font-weight: 500; +} + +.pc-progress-bar { + width: 100%; + height: 8px; + border-radius: 999px; + background: rgba(63, 70, 89, 0.5); + overflow: hidden; +} + +.pc-progress-fill { + height: 100%; + width: 0%; + background: linear-gradient(90deg, #6ea8ff, #8fb8ff); + transition: width 0.2s ease; +} + +.pc-list { + background: rgba(20, 22, 30, 0.75); + border-radius: 16px; + padding: 20px; + border: 1px solid rgba(63, 70, 89, 0.6); +} + +.pc-list-header { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 16px; +} + +.pc-list-title { + font-size: 16px; + font-weight: 600; + display: flex; + align-items: center; + gap: 8px; +} + +.pc-count { + color: #9aa3b2; + font-size: 12px; +} + +.pc-list-actions { + display: flex; + align-items: center; + gap: 8px; +} + +.pc-view-tabs { + display: flex; + gap: 8px; + margin-bottom: 12px; +} + +.pc-favorite-filter { + display: flex; + align-items: center; + gap: 10px; + margin-bottom: 12px; +} + +.pc-favorite-filter label { + font-size: 13px; + color: #9aa3b2; +} + +.pc-favorite-filter select { + min-width: 220px; + padding: 7px 10px; + border-radius: 8px; + border: 1px solid rgba(63, 70, 89, 0.6); + background: rgba(18, 20, 28, 0.8); + color: #e6e8ee; +} + +.pc-filter { + display: flex; + align-items: center; + justify-content: space-between; + flex-wrap: wrap; + gap: 12px; + margin-bottom: 16px; +} + +.pc-filter-types { + display: flex; + gap: 8px; + flex-wrap: wrap; +} + +.pc-filter-btn.active { + border-color: #6ea8ff; + color: #cfe1ff; +} + +.pc-filter-search { + display: flex; + align-items: center; + gap: 8px; + flex: 1; + justify-content: flex-end; +} + +.pc-filter-search input { + flex: 1; + min-width: 180px; + max-width: 320px; + padding: 8px 10px; + border-radius: 8px; + border: 1px solid rgba(63, 70, 89, 0.6); + background: rgba(18, 20, 28, 0.8); + color: #e6e8ee; +} + +.pc-filter-search input:focus { + outline: none; + border-color: #6ea8ff; +} + +.pc-items { + display: flex; + flex-direction: column; + gap: 16px; +} + +.pc-empty { + text-align: center; + color: #7a8397; + padding: 20px 0; + font-size: 14px; +} + +.pc-item { + border: 1px solid rgba(63, 70, 89, 0.6); + border-radius: 12px; + padding: 16px; + background: rgba(28, 31, 40, 0.7); + display: flex; + flex-direction: column; + gap: 12px; +} + +.pc-item-header { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; +} + +.pc-item-meta { + display: flex; + align-items: center; + gap: 10px; + font-size: 12px; + color: #9aa3b2; +} + +.pc-item-type { + padding: 2px 8px; + border-radius: 999px; + background: rgba(110, 168, 255, 0.16); + color: #8fb8ff; + font-weight: 600; + font-size: 12px; +} + +.pc-item-actions { + display: flex; + gap: 8px; +} + +.pc-item-actions button { + padding: 6px 10px; + font-size: 12px; +} + +.pc-item-actions .disabled { + opacity: 0.55; + cursor: not-allowed; +} + +.pc-favorite-tag { + padding: 2px 8px; + border-radius: 999px; + border: 1px solid rgba(255, 206, 64, 0.45); + background: rgba(255, 206, 64, 0.12); + color: #ffd66b; + font-size: 12px; +} + +.pc-item-text { + white-space: pre-wrap; + word-break: break-word; + font-size: 14px; + line-height: 1.6; + color: #e6e8ee; +} + +.pc-image-thumb { + width: 100%; + height: 180px; + border-radius: 10px; + border: 1px solid rgba(63, 70, 89, 0.4); + background: rgba(18, 20, 28, 0.7); + overflow: hidden; + cursor: zoom-in; +} + +.pc-image-thumb img { + width: 100%; + height: 100%; + object-fit: cover; + display: block; +} + +.pc-image-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); + gap: 10px; +} + +.pc-text-snippet { + padding: 10px 12px; + border-radius: 10px; + background: rgba(18, 20, 28, 0.6); + border: 1px solid rgba(63, 70, 89, 0.4); + color: #e6e8ee; + font-size: 13px; + line-height: 1.5; + white-space: pre-wrap; + word-break: break-word; +} + +.pc-viewer { + position: fixed; + inset: 0; + display: none; + align-items: center; + justify-content: center; + z-index: 9999; +} + +.pc-viewer.show { + display: flex; +} + +.pc-viewer-backdrop { + position: absolute; + inset: 0; + background: rgba(0, 0, 0, 0.85); +} + +.pc-viewer-body { + position: relative; + width: 100%; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + z-index: 1; +} + +.pc-viewer-img { + max-width: 90vw; + max-height: 85vh; + border-radius: 10px; + border: 1px solid rgba(255, 255, 255, 0.08); + box-shadow: 0 24px 60px rgba(0, 0, 0, 0.6); +} + +.pc-viewer-toolbar { + position: absolute; + top: 20px; + right: 20px; + display: flex; + align-items: center; + gap: 12px; + color: #f4f6fb; + font-size: 13px; +} + +.pc-viewer-close { + width: 36px; + height: 36px; + border-radius: 999px; + border: 1px solid rgba(255, 255, 255, 0.2); + background: rgba(20, 20, 20, 0.6); + color: #ffffff; + cursor: pointer; +} + +.pc-viewer-nav { + position: absolute; + top: 50%; + transform: translateY(-50%); + width: 44px; + height: 44px; + border-radius: 999px; + border: 1px solid rgba(255, 255, 255, 0.2); + background: rgba(20, 20, 20, 0.6); + color: #ffffff; + font-size: 22px; + cursor: pointer; +} + +.pc-viewer-nav.prev { + left: 24px; +} + +.pc-viewer-nav.next { + right: 24px; +} + +.pc-viewer-nav.disabled { + opacity: 0.35; + cursor: default; +} + +.pc-file-row { + display: flex; + align-items: center; + justify-content: flex-start; + gap: 12px; + flex-wrap: wrap; +} + +.pc-file-name { + font-size: 14px; + color: #e6e8ee; + word-break: break-all; + flex: 1; +} + +.pc-viewer-actions { + position: absolute; + bottom: 20px; + left: 50%; + transform: translateX(-50%); + display: flex; + gap: 12px; + z-index: 2; +} + +.pc-file-meta { + font-size: 12px; + color: #8f99aa; +} + +.pc-modal { + position: fixed; + inset: 0; + display: none; + z-index: 10010; +} + +.pc-modal.show { + display: block; +} + +.pc-modal-backdrop { + position: absolute; + inset: 0; + background: rgba(0, 0, 0, 0.62); +} + +.pc-modal-body { + position: relative; + width: min(760px, calc(100vw - 24px)); + margin: 8vh auto 0; + border-radius: 12px; + border: 1px solid rgba(63, 70, 89, 0.7); + background: #171a22; + box-shadow: 0 20px 48px rgba(0, 0, 0, 0.45); + z-index: 1; +} + +.pc-modal-header { + display: flex; + justify-content: space-between; + align-items: center; + gap: 10px; + padding: 14px 16px; + border-bottom: 1px solid rgba(63, 70, 89, 0.6); +} + +.pc-modal-title { + font-size: 15px; + font-weight: 600; +} + +.pc-modal-content { + padding: 14px 16px 16px; + display: flex; + flex-direction: column; + gap: 12px; +} + +.pc-modal-row { + display: flex; + align-items: center; + gap: 8px; + flex-wrap: wrap; +} + +.pc-modal-row input, +.pc-modal-row select { + min-width: 160px; + padding: 8px 10px; + border-radius: 8px; + border: 1px solid rgba(63, 70, 89, 0.6); + background: rgba(18, 20, 28, 0.8); + color: #e6e8ee; +} + +.pc-modal-actions { + display: flex; + justify-content: flex-end; + gap: 8px; +} + +.pc-folder-list { + display: flex; + flex-direction: column; + gap: 8px; +} + +.pc-folder-row { + display: grid; + grid-template-columns: minmax(160px, 1fr) 120px 90px auto auto; + gap: 8px; + align-items: center; +} + +.pc-folder-count { + font-size: 12px; + color: #9aa3b2; +} + +.pc-folder-empty { + color: #7a8397; + font-size: 13px; +} + +@media (max-width: 768px) { + .pc-main { + padding: 24px 16px 40px; + } + + .pc-title { + font-size: 22px; + } + + .pc-list { + padding: 16px; + } + + .pc-filter { + flex-direction: column; + align-items: stretch; + } + + .pc-filter-search { + width: 100%; + } + + .pc-filter-search input { + max-width: none; + } + + .pc-folder-row { + grid-template-columns: 1fr; + } + + .pc-favorite-filter { + flex-direction: column; + align-items: flex-start; + } + + .pc-favorite-filter select { + width: 100%; + } +} diff --git a/public/tools/private_clipboard/clipboard.js b/public/tools/private_clipboard/clipboard.js new file mode 100644 index 0000000..8ed3d99 --- /dev/null +++ b/public/tools/private_clipboard/clipboard.js @@ -0,0 +1,898 @@ +const apiBase = '/api/private_clipboard' + +const $ = id => document.getElementById(id) +const state = { + items: [], + folders: [], + filter: { type: 'all', keyword: '', view: 'all', folderCode: 'all' }, + favoriteDraft: { id: null }, + viewer: { images: [], index: 0 } +} +const normalizeError = (error) => { + const text = String(error && error.message ? error.message : error || '').trim() + if (!text) return 'unknown_error' + return text +} +const folderDisplayName = (code) => { + const folder = state.folders.find(item => item.code === code) + return folder ? folder.name : '未命名目录' +} + +const clearUrlQuery = () => { + try { + if (!window.location.search) return + const cleanUrl = `${window.location.pathname}${window.location.hash || ''}` + window.history.replaceState({}, '', cleanUrl) + } catch {} +} + +const fmtDateTime = (ts) => { + const date = new Date(ts || Date.now()) + try { + const s = new Intl.DateTimeFormat('zh-CN', { timeZone: 'Asia/Shanghai', year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit', hour12: false }).format(date) + return s.replace(/\//g, '-').replace(/\u200E/g, '') + } catch { + const pad = n => String(n).padStart(2, '0') + return `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())} ${pad(date.getHours())}:${pad(date.getMinutes())}:${pad(date.getSeconds())}` + } +} + +const fmtSize = (bytes) => { + const n = Number(bytes || 0) + if (!n) return '0 B' + const units = ['B', 'KB', 'MB', 'GB'] + let size = n + let idx = 0 + while (size >= 1024 && idx < units.length - 1) { + size /= 1024 + idx += 1 + } + return `${size.toFixed(size >= 100 ? 0 : size >= 10 ? 1 : 2)} ${units[idx]}` +} + +const setStatus = (text, type) => { + const el = $('pc-status') + if (!el) return + el.textContent = text || '' + el.className = 'pc-status' + (type ? ` ${type}` : '') +} + +const setProgress = (show, done, total) => { + const box = $('pc-progress') + const text = $('pc-progress-text') + const percent = $('pc-progress-percent') + const fill = $('pc-progress-fill') + if (!box || !text || !percent || !fill) return + if (!show) { + box.className = 'pc-progress' + fill.style.width = '0%' + text.textContent = '' + percent.textContent = '' + return + } + const safeTotal = Math.max(1, Number(total || 0)) + const safeDone = Math.min(safeTotal, Math.max(0, Number(done || 0))) + const pct = Math.round((safeDone / safeTotal) * 100) + box.className = 'pc-progress show' + text.textContent = `上传进度 ${safeDone}/${safeTotal}` + percent.textContent = `${pct}%` + fill.style.width = `${pct}%` +} + +const copyTextToClipboard = async (text) => { + try { + await navigator.clipboard.writeText(text) + setStatus('已复制到剪贴板', 'ok') + setTimeout(() => setStatus('', ''), 2000) + } catch (e) { + setStatus('复制失败', 'error') + setTimeout(() => setStatus('', ''), 2000) + } +} + +const copyImageToClipboard = async (url) => { + try { + const response = await fetch(url) + const blob = await response.blob() + const item = new ClipboardItem({ [blob.type]: blob }) + await navigator.clipboard.write([item]) + setStatus('已复制图片到剪贴板', 'ok') + setTimeout(() => setStatus('', ''), 2000) + } catch (e) { + setStatus('复制图片失败', 'error') + setTimeout(() => setStatus('', ''), 2000) + } +} + +const detectMobile = () => { + if (window.matchMedia) { + return window.matchMedia('(max-width: 900px), (pointer: coarse)').matches + } + const ua = navigator.userAgent || '' + return /Android|iPhone|iPad|iPod|Mobile/i.test(ua) +} + +const createGroupId = () => -(Date.now() * 1000 + Math.floor(Math.random() * 1000)) + +const updateViewer = () => { + const img = $('pc-viewer-img') + const count = $('pc-viewer-count') + const prev = $('pc-viewer-prev') + const next = $('pc-viewer-next') + const total = state.viewer.images.length + const idx = Math.max(0, Math.min(state.viewer.index, total - 1)) + state.viewer.index = idx + const current = state.viewer.images[idx] + if (img) { + img.src = current ? current.url : '' + img.alt = current ? current.name : '' + } + if (count) count.textContent = total ? `${idx + 1} / ${total}` : '' + if (prev) prev.classList.toggle('disabled', idx <= 0) + if (next) next.classList.toggle('disabled', idx >= total - 1) +} + +const openViewerAt = (images, index) => { + const viewer = $('pc-viewer') + if (!viewer || !Array.isArray(images) || !images.length) return + state.viewer.images = images + state.viewer.index = Math.max(0, Math.min(index, images.length - 1)) + viewer.classList.add('show') + document.body.style.overflow = 'hidden' + updateViewer() +} + +const closeViewer = () => { + const viewer = $('pc-viewer') + if (viewer) viewer.classList.remove('show') + document.body.style.overflow = '' +} + +const stepViewer = (delta) => { + const total = state.viewer.images.length + if (!total) return + const next = state.viewer.index + delta + if (next < 0 || next >= total) return + state.viewer.index = next + updateViewer() +} + +const apiJson = async (url, options) => { + const res = await fetch(url, options || {}) + const contentType = res.headers.get('content-type') || '' + if (!contentType.includes('application/json')) { + if (res.status === 401) throw new Error('unauthorized') + throw new Error(`unexpected_response_${res.status}`) + } + const data = await res.json() + if (!data || !data.ok) throw new Error((data && data.error) || 'request_failed') + return data +} + +const fetchFolders = async () => { + const data = await apiJson(`${apiBase}/folders`, { cache: 'no-store' }) + state.folders = Array.isArray(data.folders) ? data.folders : [] + renderFolderFilters() + renderFolderList() +} + +const fetchList = async () => { + const data = await apiJson(`${apiBase}/list`, { cache: 'no-store' }) + state.items = Array.isArray(data.items) ? data.items : [] + renderList() +} + +const renderFolderFilters = () => { + const wrap = $('pc-favorite-filter') + const select = $('pc-folder-select') + const favoriteSelect = $('pc-favorite-folder-select') + const viewTitle = $('pc-view-title') + if (viewTitle) viewTitle.textContent = state.filter.view === 'favorites' ? '我的收藏' : '全部内容' + if (wrap) wrap.style.display = state.filter.view === 'favorites' ? '' : 'none' + const fillSelect = (target, withAll) => { + if (!target) return + const old = String(target.value || '') + target.innerHTML = '' + if (withAll) { + const opt = document.createElement('option') + opt.value = 'all' + opt.textContent = '全部目录' + target.appendChild(opt) + } + state.folders.forEach(folder => { + const opt = document.createElement('option') + opt.value = folder.code + opt.textContent = `${folder.name} (${Number(folder.favorite_count || 0)})` + target.appendChild(opt) + }) + if (withAll) { + target.value = state.folders.some(f => f.code === state.filter.folderCode) ? state.filter.folderCode : 'all' + state.filter.folderCode = String(target.value || 'all') + } else if (state.folders.length) { + target.value = state.folders.some(f => f.code === old) ? old : state.folders[0].code + } + } + fillSelect(select, true) + fillSelect(favoriteSelect, false) +} + +const renderFolderList = () => { + const list = $('pc-folder-list') + if (!list) return + list.innerHTML = '' + if (!state.folders.length) { + const empty = document.createElement('div') + empty.className = 'pc-folder-empty' + empty.textContent = '暂无目录,请先新增目录' + list.appendChild(empty) + return + } + state.folders.forEach(folder => { + const row = document.createElement('div') + row.className = 'pc-folder-row' + const nameInput = document.createElement('input') + nameInput.value = folder.name || '' + nameInput.placeholder = '目录名称' + const sortInput = document.createElement('input') + sortInput.type = 'number' + sortInput.min = '1' + sortInput.step = '1' + sortInput.value = String(Number(folder.sort_order || 1)) + const count = document.createElement('div') + count.className = 'pc-folder-count' + count.textContent = `收藏 ${Number(folder.favorite_count || 0)}` + const saveBtn = document.createElement('button') + saveBtn.className = 'btn' + saveBtn.type = 'button' + saveBtn.textContent = '保存' + saveBtn.onclick = async () => { + try { + const payload = { + name: String(nameInput.value || '').trim(), + sort_order: Number.parseInt(String(sortInput.value || ''), 10) + } + await apiJson(`${apiBase}/folders/${encodeURIComponent(folder.code)}`, { + method: 'PATCH', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(payload) + }) + await Promise.all([fetchFolders(), fetchList()]) + setStatus('目录已更新', 'ok') + } catch (e) { + setStatus(`目录更新失败: ${normalizeError(e)}`, 'error') + } + } + const delBtn = document.createElement('button') + delBtn.className = 'btn' + delBtn.type = 'button' + delBtn.textContent = '删除' + delBtn.onclick = async () => { + try { + await apiJson(`${apiBase}/folders/${encodeURIComponent(folder.code)}`, { method: 'DELETE' }) + await Promise.all([fetchFolders(), fetchList()]) + setStatus('目录已删除', 'ok') + } catch (e) { + const code = normalizeError(e) + if (code === 'folder_not_empty') setStatus('目录下还有收藏内容,不能删除。请先取消收藏或迁移。', 'error') + else setStatus(`删除目录失败: ${code}`, 'error') + } + } + row.appendChild(nameInput) + row.appendChild(sortInput) + row.appendChild(count) + row.appendChild(saveBtn) + row.appendChild(delBtn) + list.appendChild(row) + }) +} + +const openFavoriteModal = (id) => { + state.favoriteDraft.id = id + renderFolderFilters() + const modal = $('pc-favorite-modal') + if (modal) modal.classList.add('show') +} + +const closeFavoriteModal = () => { + state.favoriteDraft.id = null + const modal = $('pc-favorite-modal') + if (modal) modal.classList.remove('show') +} + +const openFolderModal = () => { + const modal = $('pc-folder-modal') + if (modal) modal.classList.add('show') +} + +const closeFolderModal = () => { + const modal = $('pc-folder-modal') + if (modal) modal.classList.remove('show') +} + +const favoriteItem = async (id, folderCode) => { + await apiJson(`${apiBase}/favorite`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ id, folder_code: folderCode }) + }) + await Promise.all([fetchFolders(), fetchList()]) +} + +const unfavoriteItem = async (id) => { + await apiJson(`${apiBase}/unfavorite`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ id }) + }) + await Promise.all([fetchFolders(), fetchList()]) +} + +const renderList = () => { + const list = $('pc-items') + const empty = $('pc-empty') + const count = $('pc-count') + if (!list || !empty) return + list.innerHTML = '' + const filtered = state.items.filter(item => { + if (state.filter.view === 'favorites' && !item.is_favorite) return false + if (state.filter.view === 'favorites' && state.filter.folderCode !== 'all' && item.favorite_folder_code !== state.filter.folderCode) return false + const t = state.filter.type + const types = Array.isArray(item.group_types) && item.group_types.length ? item.group_types : [item.type].filter(Boolean) + if (t && t !== 'all' && !types.includes(t)) return false + const kw = state.filter.keyword.trim().toLowerCase() + if (!kw) return true + const parts = [item.text_content || '', item.favorite_folder_name || ''] + if (Array.isArray(item.items)) { + item.items.forEach(i => { + if (i.file_name) parts.push(i.file_name) + }) + } + const hay = parts.join(' ').toLowerCase() + return hay.includes(kw) + }) + if (count) count.textContent = filtered.length ? `(${filtered.length})` : '' + if (!filtered.length) { + empty.style.display = '' + return + } + empty.style.display = 'none' + filtered.forEach(item => { + const card = document.createElement('div') + card.className = 'pc-item' + + const header = document.createElement('div') + header.className = 'pc-item-header' + + const meta = document.createElement('div') + meta.className = 'pc-item-meta' + const type = document.createElement('span') + type.className = 'pc-item-type' + type.textContent = item.type === 'image' ? '图片' : item.type === 'file' ? '文件' : item.type === 'mixed' ? '组合' : '文字' + const time = document.createElement('span') + time.textContent = fmtDateTime(item.created_at) + meta.appendChild(type) + meta.appendChild(time) + if (item.is_favorite) { + const tag = document.createElement('span') + tag.className = 'pc-favorite-tag' + tag.textContent = `收藏于: ${folderDisplayName(item.favorite_folder_code)}` + meta.appendChild(tag) + } + + const actions = document.createElement('div') + actions.className = 'pc-item-actions' + + if (item.text_content) { + const copyBtn = document.createElement('button') + copyBtn.className = 'btn' + copyBtn.type = 'button' + copyBtn.textContent = '复制文字' + copyBtn.addEventListener('click', () => copyTextToClipboard(item.text_content || '')) + actions.appendChild(copyBtn) + } + + if (item.is_favorite) { + const unfavBtn = document.createElement('button') + unfavBtn.className = 'btn' + unfavBtn.type = 'button' + unfavBtn.textContent = '取消收藏' + unfavBtn.onclick = async () => { + try { + await unfavoriteItem(item.id) + setStatus('已取消收藏', 'ok') + } catch (e) { + setStatus(`取消收藏失败: ${normalizeError(e)}`, 'error') + } + } + actions.appendChild(unfavBtn) + } else { + const favBtn = document.createElement('button') + favBtn.className = 'btn' + favBtn.type = 'button' + favBtn.textContent = '收藏' + favBtn.onclick = () => { + if (!state.folders.length) { + openFolderModal() + setStatus('请先创建目录,再进行收藏', 'error') + return + } + openFavoriteModal(item.id) + } + actions.appendChild(favBtn) + } + + const delBtn = document.createElement('button') + delBtn.className = 'btn' + delBtn.type = 'button' + delBtn.textContent = '删除' + if (item.is_favorite) { + delBtn.disabled = true + delBtn.title = '请先取消收藏才能删除' + delBtn.classList.add('disabled') + delBtn.addEventListener('click', () => setStatus('请先取消收藏,再删除内容', 'error')) + } else { + delBtn.addEventListener('click', async () => { + try { + await deleteItem(item.id) + await fetchFolders() + } catch (e) { + const code = normalizeError(e) + if (code === 'item_favorited') setStatus('请先取消收藏,再删除内容', 'error') + else setStatus(`删除失败: ${code}`, 'error') + } + }) + } + actions.appendChild(delBtn) + + header.appendChild(meta) + header.appendChild(actions) + card.appendChild(header) + + if (item.text_content) { + const text = document.createElement('div') + text.className = 'pc-item-text' + text.textContent = item.text_content || '' + card.appendChild(text) + } + + if (item.items && item.items.length) { + const items = Array.isArray(item.items) ? item.items : [] + const images = items.filter(i => i.type === 'image') + const files = items.filter(i => i.type === 'file') + if (images.length) { + const grid = document.createElement('div') + grid.className = 'pc-image-grid' + const viewImages = images.map(i => ({ url: i.file_url, name: i.file_name || '图片' })) + images.forEach((imgItem, idx) => { + const wrap = document.createElement('div') + wrap.className = 'pc-image-thumb' + const img = document.createElement('img') + img.src = imgItem.file_url + img.alt = imgItem.file_name || 'image' + wrap.appendChild(img) + wrap.addEventListener('click', () => openViewerAt(viewImages, idx)) + grid.appendChild(wrap) + }) + card.appendChild(grid) + } + if (files.length) { + files.forEach(fileItem => { + const row = document.createElement('div') + row.className = 'pc-file-row' + const name = document.createElement('div') + name.className = 'pc-file-name' + name.textContent = fileItem.file_name || '文件' + const metaText = document.createElement('div') + metaText.className = 'pc-file-meta' + metaText.textContent = fmtSize(fileItem.file_size) + const copyUrlBtn = document.createElement('button') + copyUrlBtn.className = 'btn' + copyUrlBtn.textContent = '复制URL' + copyUrlBtn.onclick = () => { + const url = new URL(fileItem.file_url, window.location.origin).href + copyTextToClipboard(url) + } + const download = document.createElement('a') + download.className = 'btn' + download.href = fileItem.file_url + download.download = fileItem.file_name || '' + download.textContent = '下载' + row.appendChild(name) + row.appendChild(metaText) + row.appendChild(copyUrlBtn) + row.appendChild(download) + card.appendChild(row) + }) + } + } + list.appendChild(card) + }) +} + +const saveText = async (text) => { + const res = await fetch(`${apiBase}/text`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ text }) + }) + const data = await res.json() + if (!data || !data.ok) throw new Error((data && data.error) || 'save_failed') +} + +const resolveFileName = (file) => { + const name = String(file && file.name || '').trim() + if (name) return name + const ext = file && file.type ? file.type.split('/')[1] : '' + const suffix = ext ? `.${ext}` : '' + return `clipboard-${Date.now()}${suffix}` +} + +const uploadFile = async (file, groupId) => { + if (!file) return + const name = resolveFileName(file) + const buf = await file.arrayBuffer() + const groupPart = Number.isFinite(groupId) ? `&group_id=${encodeURIComponent(String(groupId))}` : '' + const url = `${apiBase}/upload?filename=${encodeURIComponent(name)}&mime=${encodeURIComponent(file.type || 'application/octet-stream')}${groupPart}` + const res = await fetch(url, { + method: 'POST', + headers: { 'Content-Type': 'application/octet-stream' }, + body: new Uint8Array(buf) + }) + const data = await res.json() + if (!data || !data.ok) throw new Error((data && data.error) || 'upload_failed') +} + +const deleteItem = async (id) => { + if (!id) return + const res = await fetch(`${apiBase}/${id}`, { method: 'DELETE' }) + const data = await res.json() + if (!data || !data.ok) throw new Error((data && data.error) || 'delete_failed') + await fetchList() +} + +const handlePaste = async (event) => { + const data = event.clipboardData + if (!data) return + const items = Array.from(data.items || []) + if (!items.length) return + event.preventDefault() + setStatus('正在保存...', '') + setProgress(false) + try { + const files = items.filter(i => i.kind === 'file').map(i => i.getAsFile()).filter(Boolean) + const strings = items.filter(i => i.kind === 'string') + if (files.length) { + const groupId = files.length > 1 ? createGroupId() : null + setProgress(true, 0, files.length) + let done = 0 + for (const f of files) { + await uploadFile(f, groupId) + done += 1 + setProgress(true, done, files.length) + } + } + for (const s of strings) { + await new Promise((resolve) => { + s.getAsString(async (text) => { + const v = String(text || '').trim() + if (v) await saveText(v) + resolve() + }) + }) + } + await fetchList() + setProgress(false) + setStatus('已保存到服务器', 'ok') + } catch (e) { + setProgress(false) + setStatus('保存失败', 'error') + } +} + +const handleDrop = async (event) => { + event.preventDefault() + const zone = $('paste-zone') + if (zone) zone.classList.remove('dragover') + const files = Array.from(event.dataTransfer && event.dataTransfer.files || []) + if (!files.length) return + setStatus('正在上传...', '') + const groupId = files.length > 1 ? createGroupId() : null + setProgress(true, 0, files.length) + try { + let done = 0 + for (const f of files) { + await uploadFile(f, groupId) + done += 1 + setProgress(true, done, files.length) + } + await fetchList() + setProgress(false) + setStatus('已保存到服务器', 'ok') + } catch (e) { + setProgress(false) + setStatus('上传失败', 'error') + } +} + +const bindDragEvents = () => { + const zone = $('paste-zone') + if (!zone) return + zone.addEventListener('dragover', (event) => { + event.preventDefault() + zone.classList.add('dragover') + }) + zone.addEventListener('dragleave', (event) => { + if (event.target === zone) zone.classList.remove('dragover') + }) + zone.addEventListener('drop', handleDrop) +} + +const bindPasteInput = () => { + const input = $('pc-paste-input') + const btn = $('pc-paste-btn') + if (!input) return + const focusInput = () => { + input.value = '' + input.focus({ preventScroll: true }) + input.select() + } + if (btn) btn.addEventListener('click', focusInput) + input.addEventListener('paste', handlePaste) + const handleInput = async () => { + const value = String(input.value || '').trim() + if (!value) return + input.value = '' + setStatus('正在保存...', '') + try { + await saveText(value) + await fetchList() + setStatus('已保存到服务器', 'ok') + } catch (e) { + setStatus('保存失败', 'error') + } + } + input.addEventListener('input', handleInput) + input.addEventListener('change', handleInput) +} + +const bindMobileInputs = () => { + const textInput = $('pc-mobile-text') + const textSave = $('pc-mobile-text-save') + if (textInput && textSave) { + textSave.addEventListener('click', async () => { + const value = String(textInput.value || '').trim() + if (!value) { + setStatus('请输入文字', 'error') + return + } + setStatus('正在保存...', '') + try { + await saveText(value) + textInput.value = '' + await fetchList() + setStatus('已保存到服务器', 'ok') + } catch (e) { + setStatus('保存失败', 'error') + } + }) + } + const uploadSelected = (inputEl, emptyText) => { + if (!inputEl) return + return async () => { + const files = Array.from(inputEl.files || []) + if (!files.length) { + setStatus(emptyText, 'error') + return + } + setStatus('正在上传...', '') + setProgress(true, 0, files.length) + const groupId = files.length > 1 ? createGroupId() : null + try { + let done = 0 + for (const f of files) { + await uploadFile(f, groupId) + done += 1 + setProgress(true, done, files.length) + } + inputEl.value = '' + await fetchList() + setProgress(false) + setStatus('已保存到服务器', 'ok') + } catch (e) { + setProgress(false) + setStatus('上传失败', 'error') + } + } + } + const imageInput = $('pc-mobile-image') + const imageSave = $('pc-mobile-image-save') + if (imageSave) imageSave.addEventListener('click', uploadSelected(imageInput, '请选择图片')) + const fileInput = $('pc-mobile-file') + const fileSave = $('pc-mobile-file-save') + if (fileSave) fileSave.addEventListener('click', uploadSelected(fileInput, '请选择文件')) +} + +const createFolder = async () => { + const nameInput = $('pc-folder-name') + const sortInput = $('pc-folder-sort') + const name = String(nameInput && nameInput.value || '').trim() + const sortOrder = Number.parseInt(String(sortInput && sortInput.value || ''), 10) + if (!name) { + setStatus('目录名称不能为空', 'error') + return + } + await apiJson(`${apiBase}/folders`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ + name, + sort_order: Number.isFinite(sortOrder) && sortOrder > 0 ? sortOrder : undefined + }) + }) + if (nameInput) nameInput.value = '' + if (sortInput) sortInput.value = '' + await Promise.all([fetchFolders(), fetchList()]) + setStatus('目录已创建', 'ok') +} + +const init = async () => { + clearUrlQuery() + const isMobile = detectMobile() + const refreshBtn = $('pc-refresh') + if (refreshBtn) { + refreshBtn.addEventListener('click', async () => { + await Promise.all([fetchFolders(), fetchList()]) + setStatus('已刷新', 'ok') + }) + } + const viewAllBtn = $('pc-view-all') + const viewFavoritesBtn = $('pc-view-favorites') + const folderFilterSelect = $('pc-folder-select') + const setView = (view) => { + state.filter.view = view === 'favorites' ? 'favorites' : 'all' + if (viewAllBtn) viewAllBtn.classList.toggle('active', state.filter.view === 'all') + if (viewFavoritesBtn) viewFavoritesBtn.classList.toggle('active', state.filter.view === 'favorites') + renderFolderFilters() + renderList() + } + if (viewAllBtn) viewAllBtn.addEventListener('click', () => setView('all')) + if (viewFavoritesBtn) viewFavoritesBtn.addEventListener('click', () => setView('favorites')) + if (folderFilterSelect) { + folderFilterSelect.addEventListener('change', () => { + state.filter.folderCode = String(folderFilterSelect.value || 'all') + renderList() + }) + } + const filterInput = $('pc-filter-input') + if (filterInput) { + filterInput.addEventListener('input', (event) => { + state.filter.keyword = String(event.target.value || '') + renderList() + }) + } + const clearBtn = $('pc-filter-clear') + if (clearBtn) { + clearBtn.addEventListener('click', () => { + state.filter.keyword = '' + if (filterInput) filterInput.value = '' + renderList() + }) + } + const typeButtons = Array.from(document.querySelectorAll('.pc-filter-btn')) + typeButtons.forEach(btn => { + btn.addEventListener('click', () => { + const type = String(btn.dataset.type || 'all') + state.filter.type = type || 'all' + typeButtons.forEach(b => b.classList.toggle('active', b === btn)) + renderList() + }) + }) + if (typeButtons.length) typeButtons[0].classList.add('active') + const manageFoldersBtn = $('pc-manage-folders') + if (manageFoldersBtn) manageFoldersBtn.addEventListener('click', openFolderModal) + const folderCreateBtn = $('pc-folder-create') + if (folderCreateBtn) { + folderCreateBtn.addEventListener('click', async () => { + try { + await createFolder() + } catch (e) { + setStatus(`目录创建失败: ${normalizeError(e)}`, 'error') + } + }) + } + const folderCloseBtn = $('pc-folder-close') + if (folderCloseBtn) folderCloseBtn.addEventListener('click', closeFolderModal) + const favoriteCloseBtn = $('pc-favorite-close') + if (favoriteCloseBtn) favoriteCloseBtn.addEventListener('click', closeFavoriteModal) + const favoriteGoManageBtn = $('pc-favorite-go-manage') + if (favoriteGoManageBtn) { + favoriteGoManageBtn.addEventListener('click', () => { + closeFavoriteModal() + openFolderModal() + }) + } + const favoriteConfirmBtn = $('pc-favorite-confirm') + if (favoriteConfirmBtn) { + favoriteConfirmBtn.addEventListener('click', async () => { + const id = state.favoriteDraft.id + const select = $('pc-favorite-folder-select') + const folderCode = String(select && select.value || '').trim() + if (!id || !folderCode) { + setStatus('请选择收藏目录', 'error') + return + } + try { + await favoriteItem(id, folderCode) + closeFavoriteModal() + setStatus(`已收藏到 ${folderDisplayName(folderCode)}`, 'ok') + } catch (e) { + setStatus(`收藏失败: ${normalizeError(e)}`, 'error') + } + }) + } + document.querySelectorAll('.pc-modal-backdrop').forEach(el => { + el.addEventListener('click', () => { + const closeType = String(el.getAttribute('data-close') || '') + if (closeType === 'favorite') closeFavoriteModal() + if (closeType === 'folder') closeFolderModal() + }) + }) + if (!isMobile) { + const zone = $('paste-zone') + if (zone) zone.addEventListener('click', () => zone.focus()) + document.addEventListener('paste', handlePaste) + bindDragEvents() + bindPasteInput() + } else { + bindMobileInputs() + } + const viewerClose = $('pc-viewer-close') + if (viewerClose) viewerClose.addEventListener('click', closeViewer) + const viewerPrev = $('pc-viewer-prev') + if (viewerPrev) viewerPrev.addEventListener('click', () => stepViewer(-1)) + const viewerNext = $('pc-viewer-next') + if (viewerNext) viewerNext.addEventListener('click', () => stepViewer(1)) + const viewerBackdrop = $('pc-viewer-backdrop') + if (viewerBackdrop) viewerBackdrop.addEventListener('click', closeViewer) + + const viewerCopyUrl = $('pc-viewer-copy-url') + if (viewerCopyUrl) { + viewerCopyUrl.addEventListener('click', () => { + const current = state.viewer.images[state.viewer.index] + if (current) { + const url = new URL(current.url, window.location.origin).href + copyTextToClipboard(url) + } + }) + } + + const viewerCopyImg = $('pc-viewer-copy-img') + if (viewerCopyImg) { + viewerCopyImg.addEventListener('click', () => { + const current = state.viewer.images[state.viewer.index] + if (current) { + const url = new URL(current.url, window.location.origin).href + copyImageToClipboard(url) + } + }) + } + + document.addEventListener('keydown', (event) => { + const viewer = $('pc-viewer') + const favoriteModal = $('pc-favorite-modal') + const folderModal = $('pc-folder-modal') + if (event.key === 'Escape') { + if (favoriteModal && favoriteModal.classList.contains('show')) closeFavoriteModal() + if (folderModal && folderModal.classList.contains('show')) closeFolderModal() + if (viewer && viewer.classList.contains('show')) closeViewer() + return + } + if (!viewer || !viewer.classList.contains('show')) return + if (event.key === 'ArrowLeft') stepViewer(-1) + if (event.key === 'ArrowRight') stepViewer(1) + }) + await Promise.all([fetchFolders(), fetchList()]) + setView('all') +} + +init() diff --git a/public/tools/private_clipboard/index.html b/public/tools/private_clipboard/index.html new file mode 100644 index 0000000..8a32efd --- /dev/null +++ b/public/tools/private_clipboard/index.html @@ -0,0 +1,145 @@ + + + + + + 私人全能剪贴板 + + + + + +
    +
    +
    +
    在这里粘贴文字 / 图片 / 文件
    +
    聚焦后可用 Ctrl+V / ⌘V,支持拖拽多文件
    +
    + +
    +
    + +
    +
    +
    文字
    + +
    + +
    +
    +
    +
    图片
    + +
    + +
    +
    +
    +
    文件
    + +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + 全部内容 + +
    +
    + + +
    +
    +
    + + +
    + +
    +
    + + + + +
    + +
    +
    +
    暂无内容
    +
    +
    +
    +
    +
    +
    +
    收藏到目录
    + +
    +
    +
    + + +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    +
    收藏目录管理
    + +
    +
    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    + + + +
    + + +
    +
    +
    + + + diff --git a/public/tools/psc/app.js b/public/tools/psc/app.js new file mode 100644 index 0000000..e60b09f --- /dev/null +++ b/public/tools/psc/app.js @@ -0,0 +1,1151 @@ +const state = { token: null, master: null, masterFp: null, isAdmin: false, dir: '/' } +let shareCtx = { fileId: null, link: null } +let debugEnabled = false +let debugLines = [] +function logDebug(){ if(!debugEnabled) return; const t=new Date().toISOString(); const msg=[t].concat([].slice.call(arguments)).join(' '); debugLines.push(msg); if(debugLines.length>200) debugLines.shift(); const el=qs('debugLog'); if(el) el.textContent=debugLines.join('\n'); const el2=qs('debugBottom'); if(el2) el2.textContent=debugLines.join('\n') } +const api = { + async setup(baseCode, master) { + const r = await fetch('/api/psc/auth/setup', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ base_code: baseCode, master_password: master }) }) + return r.json() + }, + async login(master, cap) { + const r = await fetch('/api/psc/auth/login', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ master_password: master, captcha_id: cap && cap.id, captcha_angle: cap && cap.angle }) }) + return r.json() + }, + async list() { + const r = await fetch('/api/psc/files?dir=' + encodeURIComponent(state.dir), { headers: { Authorization: 'Bearer ' + state.token } }) + return r.json() + }, + async initFile(name, size, chunkSize, fileSaltB64) { + const r = await fetch('/api/psc/files/init', { method: 'POST', headers: { 'Content-Type': 'application/json', Authorization: 'Bearer ' + state.token }, body: JSON.stringify({ name, size, chunkSize, salt: fileSaltB64, dir: state.dir }) }) + return r.json() + }, + async uploadChunk(fileId, index, buf) { + const r = await fetch(`/api/psc/files/chunk?fileId=${fileId}&index=${index}`, { method: 'POST', headers: { Authorization: 'Bearer ' + state.token, 'Content-Type': 'application/octet-stream' }, body: buf }) + if(!r.ok){ throw new Error('chunk_http_'+r.status) } + return r.json() + }, + async complete(fileId) { + const r = await fetch('/api/psc/files/complete', { method: 'POST', headers: { 'Content-Type': 'application/json', Authorization: 'Bearer ' + state.token }, body: JSON.stringify({ fileId }) }) + return r.json() + }, + async downloadInit(id) { + const r = await fetch(`/api/psc/files/${id}/init`, { headers: { Authorization: 'Bearer ' + state.token } }) + return r.json() + }, + async downloadChunk(id, index) { + const r = await fetch(`/api/psc/files/${id}/chunk?index=${index}`, { headers: { Authorization: 'Bearer ' + state.token } }) + if(!r.ok) throw new Error('http '+r.status) + return r.arrayBuffer() + } + ,async sliceInfo(id){ const r = await fetch(`/api/psc/files/${id}/slice`, { headers:{ Authorization:'Bearer '+state.token } }); let txt=''; try{ txt=await r.text() }catch{}; let j=null; try{ j=JSON.parse(txt) }catch{ j=null }; try{ logDebug('slice.info.http', r.status); if(txt) logDebug('slice.info.body', txt.slice(0,200)) }catch{}; return j } + ,async sliceCreate(id, volumeMB){ const r = await fetch(`/api/psc/files/${id}/slice`, { method:'POST', headers:{ 'Content-Type':'application/json', Authorization:'Bearer '+state.token }, body: JSON.stringify({ volumeMB }) }); let txt=''; try{ txt=await r.text() }catch{}; let j=null; try{ j=JSON.parse(txt) }catch{ j=null }; try{ logDebug('slice.create.http', r.status); if(txt) logDebug('slice.create.body', txt.slice(0,200)) }catch{}; return j } + ,async sliceDownload(id, index){ const r = await fetch(`/api/psc/files/${id}/slice/download?index=${index}`, { headers:{ Authorization:'Bearer '+state.token } }); if(!r.ok) throw new Error('http '+r.status); return r.arrayBuffer() } +} +const dirApi = { + async list(parent){ const r = await fetch('/api/psc/dirs?parent=' + encodeURIComponent(parent||'/'), { headers: { Authorization: 'Bearer ' + state.token } }); return r.json() }, + async create(parent, name){ const r = await fetch('/api/psc/dirs/create', { method:'POST', headers:{ 'Content-Type':'application/json', Authorization:'Bearer '+state.token }, body: JSON.stringify({ parent, name })}); return r.json() }, + async rename(path, newName){ const r = await fetch('/api/psc/dirs/rename', { method:'POST', headers:{ 'Content-Type':'application/json', Authorization:'Bearer '+state.token }, body: JSON.stringify({ path, newName })}); return r.json() }, + async delete(path){ const r = await fetch('/api/psc/dirs?path=' + encodeURIComponent(path), { method:'DELETE', headers:{ Authorization:'Bearer '+state.token } }); return r.json() } +} +const logsApi = { + async list(params){ const u = new URL(location.origin + '/api/psc/logs'); const { from, to, limit, offset, category } = params || {}; if(from) u.searchParams.set('from', from); if(to) u.searchParams.set('to', to); if(limit) u.searchParams.set('limit', String(limit)); if(offset) u.searchParams.set('offset', String(offset)); if(category) u.searchParams.set('category', category); const r = await fetch(u.toString(), { headers:{ Authorization:'Bearer '+state.token } }); return r.json() }, + exportUrl(params){ const u = new URL(location.origin + '/api/psc/logs/export.csv'); const { from, to, limit, category } = params || {}; if(from) u.searchParams.set('from', from); if(to) u.searchParams.set('to', to); if(limit) u.searchParams.set('limit', String(limit)); if(category) u.searchParams.set('category', category); return u.toString() } +} +let logsState = { offset: 0, size: 200, total: 0 } +function qs(id) { return document.getElementById(id) } +async function detectAdmin(){ try{ const r = await fetch('/api/psc/debug/status', { cache:'no-store' }); const j = await r.json(); const enabled = !!(j && j.enabled); state.isAdmin = enabled; debugEnabled = enabled; if(state.isAdmin) ensureDebugUi(); applyRoleUi() }catch{ state.isAdmin=false; debugEnabled=false } } +function ensureDebugUi(){ if(qs('btnCopyDebug')) return; const dash = qs('dashboard'); if(!dash) return; const btn=document.createElement('button'); btn.id='btnCopyDebug'; btn.textContent='复制调试信息'; const box=document.createElement('div'); box.id='debugLog'; box.className='debugbox'; dash.insertBefore(btn, qs('status')?.nextSibling||null); dash.insertBefore(box, btn.nextSibling); btn.onclick = async ()=>{ try{ await navigator.clipboard.writeText((qs('debugLog')?.textContent)||''); setStatus('调试信息已复制') } catch{ setStatus('请手动复制调试信息') } } } +function applyRoleUi(){ const s=qs('btnOpenSettings'); const l=qs('btnOpenLogs'); const show = !!state.isAdmin; if(s){ if(show){ s.classList.remove('hidden'); s.style.display='' } else { s.classList.add('hidden'); s.style.display='none' } } if(l){ if(show){ l.classList.remove('hidden'); l.style.display='' } else { l.classList.add('hidden'); l.style.display='none' } } } +function askPwd(msg){ return new Promise((resolve)=>{ const m=qs('pwdModal'); const t=qs('pwdPromptText'); const i=qs('pwdInput'); const ok=qs('btnPwdOk'); const cancel=qs('btnPwdCancel'); const close=qs('btnClosePwd'); function done(v){ m.classList.add('hidden'); ok.onclick=null; cancel.onclick=null; close.onclick=null; resolve(v) } if(t) t.textContent=msg||'请输入18位身份证号'; if(i){ i.value=''; setTimeout(()=>{ try{ i.focus() }catch{} },0) } m.classList.remove('hidden'); if(ok) ok.onclick=()=>{ const v=i? (i.value||'') : ''; try{ logDebug('ask.pwd.len', (v||'').length) }catch{}; done(v) }; if(cancel) cancel.onclick=()=>done(null); if(close) close.onclick=()=>done(null) }) } +function askRotate(){ return new Promise(async(resolve)=>{ const m=qs('captchaModal'); const box=qs('capBox'); const inner=qs('capInner'); const slider=qs('capSlider'); const ok=qs('capOk'); const cancel=qs('capCancel'); const close=qs('capClose'); let id=null; let img=null; let seed=0; try{ const r=await fetch('/api/psc/captcha/rotate/init',{cache:'no-store'}); const j=await r.json(); id=j && j.id; img=j && j.image; seed=Number(j && j.seed || 0) }catch{}; function done(v){ m.classList.add('hidden'); ok.onclick=null; cancel.onclick=null; close.onclick=null; slider.oninput=null; resolve(v) } m.classList.remove('hidden'); slider.value='0'; if(img){ if(box){ box.style.background='none'; box.style.backgroundImage='url('+img+')'; box.style.backgroundSize='cover'; box.style.backgroundPosition='center' } if(inner){ inner.style.background='none'; inner.style.backgroundImage='url('+img+')'; inner.style.backgroundSize='cover'; inner.style.backgroundPosition='center' } } if(inner){ inner.style.transform='rotate('+seed+'deg)' } slider.oninput=()=>{ const a=Number(slider.value||0); if(inner){ inner.style.transform='rotate('+(seed+a)+'deg)' } }; ok.onclick=()=>{ const ang=Number(slider.value||0); done(id? { id, angle: ang } : null) }; cancel.onclick=()=>done(null); close.onclick=()=>done(null) }) } + +function askConfirm(msg) { + return new Promise(resolve => { + const m = qs('genericModal'); + if(!m) return resolve(window.confirm(msg)); + qs('genericModalTitle').textContent = '提示'; + qs('genericModalMessage').textContent = msg; + qs('genericModalInputWrap').style.display = 'none'; + qs('genericModalInput').value = ''; + + const ok = qs('btnGenericOk'); + const cancel = qs('btnGenericCancel'); + const close = qs('btnGenericClose'); + + function done(val) { + m.classList.add('hidden'); + ok.onclick = null; cancel.onclick = null; close.onclick = null; + resolve(val); + } + + m.classList.remove('hidden'); + ok.onclick = () => done(true); + cancel.onclick = () => done(false); + close.onclick = () => done(false); + }); +} + +function askPrompt(msg, defaultVal) { + return new Promise(resolve => { + const m = qs('genericModal'); + if(!m) return resolve(window.prompt(msg, defaultVal)); + qs('genericModalTitle').textContent = '输入'; + qs('genericModalMessage').textContent = msg; + qs('genericModalInputWrap').style.display = 'block'; + const input = qs('genericModalInput'); + input.value = defaultVal || ''; + + const ok = qs('btnGenericOk'); + const cancel = qs('btnGenericCancel'); + const close = qs('btnGenericClose'); + + function done(val) { + m.classList.add('hidden'); + ok.onclick = null; cancel.onclick = null; close.onclick = null; + resolve(val); + } + + m.classList.remove('hidden'); + setTimeout(() => { try { input.focus(); input.select(); } catch{} }, 50); + + ok.onclick = () => done(input.value); + cancel.onclick = () => done(null); + close.onclick = () => done(null); + + input.onkeydown = (e) => { + if (e.key === 'Enter') { + done(input.value); + } + }; + }); +} +function validateCNID(s){ if(typeof s!=='string' || !s){ return { ok:false, reason:'empty' } } s=s.trim(); if(!/^\d{17}[\dXx]$/.test(s)) return { ok:false, reason:'format' }; const y=Number(s.slice(6,10)); const m=Number(s.slice(10,12)); const d=Number(s.slice(12,14)); if(y<1900) return { ok:false, reason:'year' }; const dt=new Date(y, m-1, d); if(dt.getFullYear()!==y || dt.getMonth()+1!==m || dt.getDate()!==d) return { ok:false, reason:'date' }; if(dt>new Date()) return { ok:false, reason:'future' }; const w=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]; let sum=0; for(let i=0;i<17;i++){ sum+=Number(s[i])*w[i] } const map=['1','0','X','9','8','7','6','5','4','3','2']; const code=map[sum%11]; const ok = code.toUpperCase()===s[17].toUpperCase(); return { ok, reason: ok? 'ok' : 'check' } } +function isValidCNID(s){ return !!validateCNID(s).ok } +function setStatus(t) { + const a=qs('status'); + if(a) { + a.textContent=t; + // 添加状态动画 + a.style.opacity = '0'; + setTimeout(() => { + a.style.transition = 'opacity 0.3s ease'; + a.style.opacity = '1'; + }, 0); + } + const b=qs('statusTop'); + if(b) b.textContent=t; + try{ logDebug('status', t) }catch{} +} + +// 添加按钮加载动画 +function setButtonLoading(button, loading = true) { + if (loading) { + button.disabled = true; + button.innerHTML = ' ' + button.textContent.replace('⏳ ', '').replace('🔄 ', ''); + } else { + button.disabled = false; + // 恢复按钮原始图标 + const originalText = button.dataset.originalText || button.textContent; + button.innerHTML = originalText; + } +} + +// 添加按钮点击动画 +function addButtonAnimation(button) { + button.addEventListener('click', function() { + // 保存原始文本 + if (!this.dataset.originalText) { + this.dataset.originalText = this.innerHTML; + } + + // 添加点击效果 + this.style.transform = 'scale(0.95)'; + setTimeout(() => { + this.style.transform = 'scale(1)'; + }, 150); + }); +} +async function saveTokenSecure(token) { + try { + if(!(window.crypto && window.crypto.subtle)){ localStorage.setItem('tk_plain', token); return } + const salt = localStorage.getItem('dev_salt') || (Math.random().toString(36).slice(2)) + localStorage.setItem('dev_salt', salt) + const keyMaterial = await window.crypto.subtle.importKey('raw', new TextEncoder().encode(navigator.userAgent + salt), 'PBKDF2', false, ['deriveKey']) + const key = await window.crypto.subtle.deriveKey({ name: 'PBKDF2', hash: 'SHA-256', salt: new TextEncoder().encode('local'), iterations: 100000 }, keyMaterial, { name: 'AES-GCM', length: 256 }, false, ['encrypt', 'decrypt']) + const iv = new Uint8Array(12) + crypto.getRandomValues(iv) + const ct = await window.crypto.subtle.encrypt({ name: 'AES-GCM', iv }, key, new TextEncoder().encode(token)) + const payload = btoa(String.fromCharCode(...new Uint8Array(ct))) + localStorage.setItem('tk', payload) + localStorage.setItem('iv', btoa(String.fromCharCode(...iv))) + } catch { + try { localStorage.setItem('tk_plain', token) } catch {} + } +} +async function loadTokenSecure() { + const plain = localStorage.getItem('tk_plain') + if (plain) return plain + const payload = localStorage.getItem('tk') + const ivB64 = localStorage.getItem('iv') + const salt = localStorage.getItem('dev_salt') + if (!payload || !ivB64 || !salt) return null + if(!(window.crypto && window.crypto.subtle)) return null + const keyMaterial = await window.crypto.subtle.importKey('raw', new TextEncoder().encode(navigator.userAgent + salt), 'PBKDF2', false, ['deriveKey']) + const key = await window.crypto.subtle.deriveKey({ name: 'PBKDF2', hash: 'SHA-256', salt: new TextEncoder().encode('local'), iterations: 100000 }, keyMaterial, { name: 'AES-GCM', length: 256 }, false, ['encrypt', 'decrypt']) + const iv = new Uint8Array([...atob(ivB64)].map(c => c.charCodeAt(0))) + const ct = new Uint8Array([...atob(payload)].map(c => c.charCodeAt(0))) + try { + const pt = await window.crypto.subtle.decrypt({ name: 'AES-GCM', iv }, key, ct) + return new TextDecoder().decode(pt) + } catch { + return null + } +} +async function calcMasterFp(s){ const material = await window.crypto.subtle.importKey('raw', new TextEncoder().encode(s), 'PBKDF2', false, ['deriveBits']); const bits = await window.crypto.subtle.deriveBits({ name:'PBKDF2', hash:'SHA-256', salt: new TextEncoder().encode('local-fp'), iterations:120000 }, material, 256); const b = new Uint8Array(bits); return btoa(String.fromCharCode(...b)) } +async function deriveFileKey(master, saltBytes) { + const material = await window.crypto.subtle.importKey('raw', new TextEncoder().encode(master), 'PBKDF2', false, ['deriveBits']) + const bits = await window.crypto.subtle.deriveBits({ name: 'PBKDF2', hash: 'SHA-256', salt: saltBytes, iterations: 150000 }, material, 256) + const keyBytes = new Uint8Array(bits) + return window.crypto.subtle.importKey('raw', keyBytes, { name: 'AES-GCM', length: 256 }, false, ['encrypt', 'decrypt']) +} +async function deriveFileKeyForShare(master, saltBytes) { + const material = await window.crypto.subtle.importKey('raw', new TextEncoder().encode(master), 'PBKDF2', false, ['deriveBits']) + const bits = await window.crypto.subtle.deriveBits({ name: 'PBKDF2', hash: 'SHA-256', salt: saltBytes, iterations: 150000 }, material, 256) + const keyBytes = new Uint8Array(bits) + const key = await window.crypto.subtle.importKey('raw', keyBytes, { name: 'AES-GCM', length: 256 }, true, ['encrypt', 'decrypt']) + return { key, raw: keyBytes } +} +function ivForChunk(saltBytes, index) { + const data = new Uint8Array(saltBytes.length + 4) + data.set(saltBytes, 0) + data.set(new Uint8Array([index >>> 24, (index >>> 16) & 255, (index >>> 8) & 255, index & 255]), saltBytes.length) + return crypto.subtle.digest('SHA-256', data).then(d => new Uint8Array(d).slice(0, 12)) +} +async function encryptChunk(key, iv, chunk) { + return window.crypto.subtle.encrypt({ name: 'AES-GCM', iv }, key, chunk) +} +async function decryptChunk(key, iv, chunk) { + return window.crypto.subtle.decrypt({ name: 'AES-GCM', iv }, key, chunk) +} +async function refreshList() { + try { + setStatus('🔄 正在加载文件列表...') + + const [r, dirs] = await Promise.all([api.list(), dirApi.list(state.dir)]) + if ((r && (r.error === 'unauthorized' || r.error === 'invalid_token')) || (dirs && (dirs.error === 'unauthorized' || dirs.error === 'invalid_token'))) { + setStatus('❌ 未登录或会话失效') + qs('dashboard').classList.add('hidden') + qs('login').classList.remove('hidden') + return + } + const tbody = qs('fileTable').querySelector('tbody') + tbody.innerHTML = '' + + if (!dirs || dirs.error) { + setStatus('❌ 目录加载失败'); + showEmptyState(); + return + } + + let totalItems = 0 + + // 处理文件夹 + for (const d of (dirs.dirs || [])) { + const tr = document.createElement('tr') + const nameTd = document.createElement('td'); nameTd.innerHTML = `📁 ${d.name}` + const typeTd = document.createElement('td'); typeTd.textContent = '文件夹' + const sizeTd = document.createElement('td'); sizeTd.textContent = formatFileSize(d.size || 0) + const lastTd = document.createElement('td'); lastTd.textContent = new Date(d.last_modified).toLocaleString() + const statusTd = document.createElement('td'); statusTd.textContent = '' + const opsTd = document.createElement('td') + + const enterBtn = document.createElement('button'); + enterBtn.className = 'icon-btn' + enterBtn.innerHTML = '📂'; + enterBtn.dataset.tip = '进入该文件夹' + enterBtn.onclick = ()=>{ + state.dir = d.path; + qs('curDir').textContent = state.dir; + refreshList() + } + + const delBtn = document.createElement('button'); + delBtn.className = 'icon-btn' + delBtn.innerHTML = '🗑️'; + delBtn.dataset.tip = '删除文件夹' + delBtn.onclick = async()=>{ + const ok = await askConfirm('确认删除该文件夹?'); + if(!ok){ setStatus('已取消'); return } + logDebug('dir.del.click', d.path); + const r= await dirApi.delete(d.path); + logDebug('dir.del.res', JSON.stringify(r)); + if(r && r.error==='not_empty'){ setStatus('文件夹非空,无法删除') } + await refreshList() + } + + const rnBtn = document.createElement('button'); + rnBtn.className = 'icon-btn' + rnBtn.innerHTML = '✏️'; + rnBtn.dataset.tip = '重命名文件夹' + rnBtn.onclick = async()=>{ + const nn = await askPrompt('新名称', nameTd.textContent); + if(!nn) return; + const ok = await askConfirm('确认重命名为:' + nn + '?'); + if(!ok){ setStatus('已取消'); return } + await dirApi.rename(d.path, nn); + await refreshList() + } + + opsTd.appendChild(enterBtn); opsTd.appendChild(delBtn); opsTd.appendChild(rnBtn) + tr.appendChild(nameTd); tr.appendChild(typeTd); tr.appendChild(sizeTd); tr.appendChild(lastTd); tr.appendChild(statusTd); tr.appendChild(opsTd) + tbody.appendChild(tr) + totalItems++ + } + + if (!r || r.error) { + setStatus('❌ 未登录或会话失效'); + showEmptyState(); + return + } + + // 处理文件 + for (const f of (r.files || [])) { + const tr = document.createElement('tr') + const fileIcon = getFileIcon(f.name) + const nameTd = document.createElement('td'); nameTd.innerHTML = `${fileIcon} ${f.name}` + const typeTd = document.createElement('td'); typeTd.textContent = f.type || '文件' + const sizeTd = document.createElement('td') + sizeTd.textContent = formatFileSize(f.size) + const lastTd = document.createElement('td'); lastTd.textContent = new Date(f.last_modified).toLocaleString() + const statusTd = document.createElement('td') + statusTd.innerHTML = getStatusIcon(f.status) + + const opsTd = document.createElement('td') + const dlBtn = document.createElement('button') + dlBtn.className = 'icon-btn' + dlBtn.innerHTML = '⬇️' + dlBtn.dataset.tip = '下载文件' + dlBtn.onclick = () => downloadFile(f.id, f.name) + const ready = (f.status === 'complete' || f.status === 'stored') + if(!ready){ + dlBtn.disabled=true; + dlBtn.title='文件未完成上传,暂不可下载' + dlBtn.innerHTML = '⏳' + dlBtn.dataset.tip = '文件未完成上传,暂不可下载' + } + + const shareBtn = document.createElement('button') + shareBtn.className = 'icon-btn' + shareBtn.innerHTML = '🔗' + shareBtn.dataset.tip = '分享链接' + shareBtn.onclick = () => { + shareCtx.fileId = f.id; + shareCtx.link = null; + const modal = qs('shareCreateModal'); + modal.dataset.fileId = String(f.id); + qs('shareQrImg').style.display='none'; + qs('shareLinkOutput').textContent=''; + qs('shareCreatePwd').value=''; + const chips = document.querySelectorAll('#shareCreateModal .chip'); + chips.forEach(c=>{ c.classList.remove('active') }); + document.querySelector('#shareCreateModal .chip[data-days="30"]').classList.add('active'); + qs('shareMasterWrap').style.display = 'block'; + const sm=qs('shareMaster'); + if(sm) sm.value=''; + const af=qs('shareAutoFill'); + if(af) af.checked=false; + modal.classList.remove('hidden'); + updateShareButtons() + } + + if(!ready){ + shareBtn.disabled=true; + shareBtn.title='文件未完成上传,暂不可分享' + shareBtn.innerHTML = '⏳' + shareBtn.dataset.tip = '文件未完成上传,暂不可分享' + } + + const delBtn = document.createElement('button') + delBtn.className = 'icon-btn' + delBtn.innerHTML = '🗑️' + delBtn.dataset.tip = '删除文件' + delBtn.onclick = async () => { + const ok = await askConfirm('确认删除:' + f.name + '?'); + if(!ok){ setStatus('已取消'); return } + logDebug('file.del.click', f.id); + const r = await fetch(`/api/psc/files/${f.id}`, { method: 'DELETE', headers: { Authorization: 'Bearer ' + state.token } }); + let j=null; + try{ j=await r.json() }catch{} + logDebug('file.del.status', r.status); + if(j) logDebug('file.del.json', JSON.stringify(j)); + refreshList() + } + + const sliceBtn = document.createElement('button') + sliceBtn.className = 'icon-btn' + sliceBtn.innerHTML = '🔪' + sliceBtn.dataset.tip = '7Zip 分卷切片' + sliceBtn.onclick = () => openSliceModal(f) + if(!ready){ + sliceBtn.disabled=true; + sliceBtn.title='文件未完成上传,暂不可切片' + sliceBtn.innerHTML = '⏳' + sliceBtn.dataset.tip = '文件未完成上传,暂不可切片' + } + + const viewSliceBtn = document.createElement('button') + viewSliceBtn.className = 'icon-btn' + viewSliceBtn.innerHTML = '📋' + viewSliceBtn.dataset.tip = '查看切片' + viewSliceBtn.onclick = () => openSliceModal(f) + const sliceVolMB = Number( + (f && (f.slice_volumeMB ?? f.sliceVolumeMB ?? f.volumeMB)) ?? + (f && f.slice && (f.slice.volumeMB ?? f.slice.volume_mb)) ?? + 0 + ) + const hasSlice = Number.isFinite(sliceVolMB) && sliceVolMB > 0 + if(!ready || !hasSlice){ + viewSliceBtn.disabled = true + if(!ready){ + viewSliceBtn.innerHTML = '⏳' + viewSliceBtn.dataset.tip = '文件未完成上传,暂不可查看' + } else { + viewSliceBtn.dataset.tip = '未切片,无法查看' + } + } + + opsTd.appendChild(dlBtn) + opsTd.appendChild(shareBtn) + opsTd.appendChild(delBtn) + opsTd.appendChild(sliceBtn) + opsTd.appendChild(viewSliceBtn) + initTooltips() + tr.appendChild(nameTd); tr.appendChild(typeTd); tr.appendChild(sizeTd); tr.appendChild(lastTd); tr.appendChild(statusTd); tr.appendChild(opsTd) + tr.oncontextmenu = (e)=> openFileCtx(e, f) + tbody.appendChild(tr) + totalItems++ + } + + // 显示/隐藏空状态 + if (totalItems === 0) { + showEmptyState() + } else { + hideEmptyState() + setStatus(`✅ 已加载 ${totalItems} 个项目`) + } + + } catch(e) { + setStatus('❌ 刷新失败,可能未登录或网络异常') + showEmptyState() + } +} + +// 辅助函数 +function getFileIcon(filename) { + const ext = filename.split('.').pop().toLowerCase() + const icons = { + 'pdf': '📄', + 'doc': '📝', 'docx': '📝', + 'xls': '📊', 'xlsx': '📊', + 'ppt': '📽️', 'pptx': '📽️', + 'jpg': '🖼️', 'jpeg': '🖼️', 'png': '🖼️', 'gif': '🖼️', 'svg': '🖼️', + 'mp3': '🎵', 'wav': '🎵', 'flac': '🎵', + 'mp4': '🎬', 'avi': '🎬', 'mkv': '🎬', + 'zip': '📦', 'rar': '📦', '7z': '📦', + 'txt': '📄', 'md': '📄', + 'exe': '⚙️', 'msi': '⚙️' + } + return icons[ext] || '📄' +} + +function formatFileSize(bytes) { + if (bytes < 1024) return bytes + ' B' + if (bytes < 1048576) return (bytes / 1024).toFixed(2) + ' KB' + if (bytes < 1073741824) return (bytes / 1048576).toFixed(2) + ' MB' + return (bytes / 1073741824).toFixed(2) + ' GB' +} + +function getStatusIcon(status) { + const icons = { + 'stored': '✅ 已存储', + 'uploading': '⏳ 上传中', + 'error': '❌ 错误', + 'pending': '⏸️ 等待中' + } + return icons[status] || status +} + +function showEmptyState() { + const table = qs('fileTable') + const emptyState = qs('emptyState') + if (table) table.classList.add('hidden') + if (emptyState) emptyState.classList.remove('hidden') +} + +function hideEmptyState() { + const table = qs('fileTable') + const emptyState = qs('emptyState') + if (table) table.classList.remove('hidden') + if (emptyState) emptyState.classList.add('hidden') +} +function openSliceModal(file){ + const m=qs('sliceModal'); if(!m) return; + m.dataset.fileId=String(file.id); + m.dataset.fileSize=String(file.size||0); + m.dataset.fileName=String(file.name||'file'); + m.dataset.fileSalt=String((file && (file.salt || file.fileSalt)) || ''); + m.dataset.chunkSize=String((file && (file.chunk_size || file.chunkSize)) || ''); + const nameEl=qs('sliceFileName'); if(nameEl) nameEl.textContent=file.name; + const sizeInp=qs('sliceSize'); if(sizeInp && !sizeInp.value) sizeInp.value='100'; + renderSliceList(file.id); + m.classList.remove('hidden'); + const close=qs('btnSliceClose'); if(close) close.onclick=()=>{ m.classList.add('hidden') }; + const start=qs('btnSliceStart'); if(start) start.onclick=async()=>{ + const vol=Number(qs('sliceSize').value||'100'); + setStatus('开始切片'); + try{ + const r=await api.sliceCreate(file.id, vol); + if(r && r.error){ + setStatus('切片失败:'+r.error + (r.code? ('('+r.code+')') : '') + (r.detail? (' | '+r.detail.slice(0,120)) : '')) + } else if(r && r.ok){ + setStatus('切片完成'); + renderSliceList(file.id) + } else { + setStatus('切片失败:未知错误') + } + }catch{ + setStatus('切片失败:网络错误或服务不可用') + } + }; + const re=qs('btnSliceReslice'); if(re) re.onclick=async()=>{ + const vol=Number(qs('sliceSize').value||'100'); + setStatus('重新切片'); + try{ + const r=await api.sliceCreate(file.id, vol); + if(r && r.error){ + setStatus('切片失败:'+r.error + (r.code? ('('+r.code+')') : '') + (r.detail? (' | '+r.detail.slice(0,120)) : '')) + } else if(r && r.ok){ + setStatus('切片完成'); + renderSliceList(file.id) + } else { + setStatus('切片失败:未知错误') + } + }catch{ + setStatus('切片失败:网络错误或服务不可用') + } + } +} + +let sliceDlCache = { fileId: null, fileSaltB64: null, key: null } +async function getDecryptKeyForFile(fileId, fileSaltB64){ + if(sliceDlCache && sliceDlCache.fileId === fileId && sliceDlCache.fileSaltB64 === fileSaltB64 && sliceDlCache.key){ + return sliceDlCache.key + } + const input = await askPwd('请输入18位身份证号用于解密分卷下载') + if(!input){ setStatus('请输入18位身份证号'); return null } + if(state.masterFp){ + const fp = await calcMasterFp(input) + if(fp !== state.masterFp){ setStatus('身份证号不准确'); return null } + } else { + setStatus('会话失效,请重新登录') + return null + } + const saltB64 = String(fileSaltB64 || '') + if(!saltB64){ setStatus('文件密钥信息缺失'); return null } + const fileSalt = new Uint8Array([...atob(saltB64)].map(c=>c.charCodeAt(0))) + const key = await deriveFileKey(input, fileSalt) + sliceDlCache = { fileId, fileSaltB64: saltB64, key } + return key +} + +async function downloadSlicePartDecrypted(fileId, partIndex, volMB){ + const m = qs('sliceModal') + const fileName = String((m && m.dataset && m.dataset.fileName) || 'file') + const totalSize = Number((m && m.dataset && m.dataset.fileSize) || 0) + const chunkSize = Number((m && m.dataset && m.dataset.chunkSize) || 0) + const fileSaltB64 = String((m && m.dataset && m.dataset.fileSalt) || '') + if(!Number.isFinite(totalSize) || totalSize <= 0){ setStatus('文件大小异常'); return } + if(!Number.isFinite(chunkSize) || chunkSize <= 0){ setStatus('文件分片信息异常'); return } + const volSize = Number(volMB) > 0 ? Number(volMB) * 1024 * 1024 : 0 + if(!Number.isFinite(volSize) || volSize <= 0){ setStatus('分卷大小异常'); return } + const start = partIndex * volSize + const end = Math.min((partIndex + 1) * volSize, totalSize) + if(start >= totalSize || end <= start){ setStatus('分卷索引超出范围'); return } + + const key = await getDecryptKeyForFile(fileId, fileSaltB64) + if(!key) return + const fileSalt = new Uint8Array([...atob(fileSaltB64)].map(c=>c.charCodeAt(0))) + + const outLen = end - start + const out = new Uint8Array(outLen) + let outPos = 0 + const firstChunk = Math.floor(start / chunkSize) + const lastChunk = Math.floor((end - 1) / chunkSize) + + for(let i=firstChunk;i<=lastChunk;i++){ + setStatus(`分卷下载中:${partIndex+1} | 读取分片 ${i+1}/${lastChunk+1}`) + const buf = new Uint8Array(await api.downloadChunk(fileId, i)) + const iv = await ivForChunk(fileSalt, i) + const pt = new Uint8Array(await decryptChunk(key, iv, buf)) + const chunkStart = i * chunkSize + const takeStart = Math.max(start, chunkStart) + const takeEnd = Math.min(end, chunkStart + pt.length) + const srcOff = takeStart - chunkStart + const takeLen = takeEnd - takeStart + if(takeLen > 0){ + out.set(pt.subarray(srcOff, srcOff + takeLen), outPos) + outPos += takeLen + } + } + + const pad3 = (n) => String(n).padStart(3,'0') + const blob = new Blob([out], { type:'application/octet-stream' }) + const a = document.createElement('a') + a.href = URL.createObjectURL(blob) + a.download = `${fileName}.${pad3(partIndex+1)}` + document.body.appendChild(a) + a.click() + setTimeout(()=>{ URL.revokeObjectURL(a.href); document.body.removeChild(a) }, 0) + setStatus(`分卷 ${partIndex+1} 下载完成`) +} + +async function renderSliceList(id){ + try{ + const info=await api.sliceInfo(id); + const m=qs('sliceModal'); + const totalSize = Number((m && m.dataset && m.dataset.fileSize) || 0); + const fileName = String((m && m.dataset && m.dataset.fileName) || 'file'); + const volMB = Number((info && (info.volumeMB || info.volume_mb)) || (info && info.slice && info.slice.volMB) || 0); + const volSize = volMB > 0 ? volMB * 1024 * 1024 : 0; + const partCount = (volSize > 0 && totalSize > 0) ? Math.ceil(totalSize / volSize) : 0; + + const box=qs('sliceInfo'); + if(box){ + box.innerHTML=''; + const note=document.createElement('div'); + note.textContent = (volMB > 0 && partCount > 0) ? (`已设置分卷大小:${volMB} MB,共 ${partCount} 卷`) : '尚未切片'; + box.appendChild(note) + } + + const list=qs('sliceList'); + if(list){ + list.innerHTML=''; + if(!(volMB > 0 && partCount > 0)) return; + + const pad3 = (n) => String(n).padStart(3,'0'); + for(let i=0;i{ + try{ + await downloadSlicePartDecrypted(id, i, volMB) + }catch{ + setStatus('下载失败') + } + }; + + li.appendChild(t); + li.appendChild(b); + list.appendChild(li) + } + } + }catch{} +} +async function uploadSelected() { + const files = Array.from(qs('fileInput').files || []) + if (files.length === 0) return + try { logDebug('upload.ctx', 'has.token', !!state.token, 'has.master', !!state.master, 'dir', state.dir, 'files', files.length) } catch{} + if(!state.token){ setStatus('请先登录'); try{ logDebug('upload.no_token') }catch{}; return } + const input = await askPwd('请输入18位身份证号用于加密上传') + try{ logDebug('upload.prompt', 'input.len', (input||'').length, 'has.login.master', !!state.master) }catch{} + if(!input){ setStatus('请输入18位身份证号'); return } + let master = input + if(state.master){ const eq = (input === state.master); try{ logDebug('upload.master.eq', eq) }catch{}; if(!eq){ setStatus('身份证号不准确'); try{ logDebug('upload.master.mismatch') }catch{}; return } master = state.master } + else if(state.masterFp){ const fp = await calcMasterFp(input); const eq = (fp === state.masterFp); try{ logDebug('upload.fp.eq', eq) }catch{}; if(!eq){ setStatus('身份证号不准确'); try{ logDebug('upload.fp.mismatch') }catch{}; return } master = input } + else { setStatus('会话失效,请重新登录'); try{ logDebug('upload.no_master_fp') }catch{}; return } + const range = qs('sizeRange').value + const pickChunk = (f) => { + if (range === 'lt1') return 5242880 + if (range === '1to10') return 8388608 + return 16777216 + } + async function uploadOne(file) { + let progressEl + try { + // 显示上传进度条 + progressEl = qs('uploadProgress') + const fileNameEl = qs('uploadFileName') + const progressTextEl = qs('uploadProgressText') + const progressBarEl = qs('uploadProgressBar') + + if (progressEl && fileNameEl && progressTextEl && progressBarEl) { + progressEl.classList.remove('hidden') + fileNameEl.textContent = file.name + progressTextEl.textContent = '准备中...' + progressBarEl.style.width = '0%' + } + + const chunkSize = pickChunk(file) + const fileSalt = new Uint8Array(16) + crypto.getRandomValues(fileSalt) + const fileSaltB64 = btoa(String.fromCharCode(...fileSalt)) + const key = await deriveFileKey(master, fileSalt) + const init = await api.initFile(file.name, file.size, chunkSize, fileSaltB64) + try{ logDebug('upload.init.json', JSON.stringify(init)) }catch{} + if(init && init.error === 'unauthorized'){ try{ logDebug('upload.init.unauthorized') }catch{}; setStatus('会话失效,请重新登录'); qs('login').classList.remove('hidden'); qs('dashboard').classList.add('hidden'); return } + if(init && init.error){ try{ logDebug('upload.init.error', String(init.error)) }catch{}; setStatus(`${file.name} 初始化失败:${init.error}`); return } + setStatus(`⏫ 开始上传 ${file.name}`) + const fileId = init.fileId + if(!fileId){ setStatus(`初始化失败`); return } + let index = 0 + let processed = 0 + if (file.stream && typeof file.stream === 'function') { + const reader = file.stream().getReader() + let buffer = new Uint8Array(0) + async function pushChunk() { + while (buffer.length >= chunkSize) { + const chunk = buffer.slice(0, chunkSize) + buffer = buffer.slice(chunkSize) + const iv = await ivForChunk(fileSalt, index) + const ct = await encryptChunk(key, iv, chunk) + try { await api.uploadChunk(fileId, index, new Uint8Array(ct)) } catch(e){ setStatus(`${file.name} 分片上传失败`); throw e } + index++ + processed += chunk.length + setStatus(`${file.name} 已上传 ${(processed/file.size*100).toFixed(2)}%`) + } + } + while (true) { + const { done, value } = await reader.read() + if (done) break + const concat = new Uint8Array(buffer.length + value.length) + concat.set(buffer, 0) + concat.set(value, buffer.length) + buffer = concat + await pushChunk() + } + if (buffer.length > 0) { + const iv = await ivForChunk(fileSalt, index) + const ct = await encryptChunk(key, iv, buffer) + try { await api.uploadChunk(fileId, index, new Uint8Array(ct)) } catch(e){ setStatus(`${file.name} 分片上传失败`); throw e } + index++ + processed += buffer.length + setStatus(`${file.name} 已上传 ${(processed/file.size*100).toFixed(2)}%`) + } + } else { + const total = file.size + while (index * chunkSize < total) { + const start = index * chunkSize + const end = Math.min(start + chunkSize, total) + const part = new Uint8Array(await file.slice(start, end).arrayBuffer()) + const iv = await ivForChunk(fileSalt, index) + const ct = await encryptChunk(key, iv, part) + try { await api.uploadChunk(fileId, index, new Uint8Array(ct)) } catch(e){ setStatus(`${file.name} 分片上传失败`); throw e } + index++ + processed += part.length + const progress = (processed/file.size*100).toFixed(2) + setStatus(`⏫ ${file.name} 已上传 ${progress}%`) + + // 更新进度条动画 + const progressBar = document.getElementById('uploadProgressBar') + if (progressBar) { + progressBar.style.width = `${progress}%` + } + } + } + const fin = await api.complete(fileId) + try { logDebug('upload.complete.json', JSON.stringify(fin)) } catch {} + + // 隐藏上传进度条 + if (progressEl) { progressEl.classList.add('hidden') } + + if(!(fin && fin.ok)){ + try { const stRes = await fetch(`/files/${fileId}/status`, { headers: { Authorization: 'Bearer ' + state.token } }); const st = await stRes.json(); logDebug('upload.status', JSON.stringify(st)) } catch{} + } + try { const latest = await logsApi.list({ limit: 1, offset: 0, category: 'file' }); logDebug('logs.latest', JSON.stringify(latest)) } catch{} + if(fin && fin.ok){ + setStatus(`✅ ${file.name} 上传完成`) + // 添加成功动画 + setTimeout(() => { + setStatus('✅ 文件上传成功') + }, 1000) + } else { + setStatus(`❌ ${file.name} 完成失败:${fin && fin.error || ''}`) + } + } catch(e){ + setStatus(`❌ ${file.name} 上传失败`); + // 隐藏上传进度条 + if (progressEl) { progressEl.classList.add('hidden') } + try { const stRes = await fetch(`/files/${fileId}/status`, { headers: { Authorization: 'Bearer ' + state.token } }); const st = await stRes.json(); logDebug('upload.status', JSON.stringify(st)) } catch{} + } + } + const maxParallel = 4 + let active = 0 + let next = 0 + return new Promise(async (resolve) => { + async function runOne(i){ active++; try { await uploadOne(files[i]) } finally { active--; schedule() } } + function schedule(){ + while(active < maxParallel && next < files.length){ runOne(next); next++ } + if(active===0 && next>=files.length){ resolve(); refreshList() } + } + schedule() + }) +} + async function createShare(fileId){ + const pwd = await askPrompt('设置分享密码') + if(!pwd) return + // get metadata for deriving file key + const init = await api.downloadInit(fileId) + const saltB64 = (init && (init.fileSalt || init.salt)) || '' + const fileSalt = new Uint8Array([...atob(saltB64)].map(c => c.charCodeAt(0))) + const inputM = await askPwd('请输入18位身份证号用于生成分享') + if(!inputM){ setStatus('请输入18位身份证号'); return } + if(state.masterFp){ const fp = await calcMasterFp(inputM); if(fp !== state.masterFp){ setStatus('身份证号不准确'); return } } + const fKey = await deriveFileKey(inputM, fileSalt) + // export key bytes + const raw = new Uint8Array(await crypto.subtle.exportKey('raw', fKey)) + const shareSalt = new Uint8Array(16); crypto.getRandomValues(shareSalt) + const sMaterial = await crypto.subtle.importKey('raw', new TextEncoder().encode(pwd), 'PBKDF2', false, ['deriveKey']) + const sKey = await crypto.subtle.deriveKey({ name:'PBKDF2', hash:'SHA-256', salt: shareSalt, iterations:200000 }, sMaterial, { name:'AES-GCM', length:256 }, false, ['encrypt']) + const iv = new Uint8Array(12); crypto.getRandomValues(iv) + const ct = await crypto.subtle.encrypt({ name:'AES-GCM', iv }, sKey, raw) + const wrappedKeyB64 = btoa(String.fromCharCode(...new Uint8Array(ct))) + const shareSaltB64 = btoa(String.fromCharCode(...shareSalt)) + const ivB64 = btoa(String.fromCharCode(...iv)) + const r = await fetch('/api/psc/share/create', { method:'POST', headers:{ 'Content-Type':'application/json', Authorization:'Bearer '+state.token }, body: JSON.stringify({ fileId, wrappedKeyB64, shareSaltB64, ivB64, password: pwd }) }) + const j = await r.json() + if(j.shareId){ const url = location.origin + '/s/' + j.shareId; setStatus('分享已生成:' + url); try { await navigator.clipboard.writeText(url); setStatus('分享已生成并复制到剪贴板:' + url) } catch {} } else { setStatus('分享生成失败') } + } +async function downloadFile(id, name) { + try { + setStatus('准备下载') + const init = await api.downloadInit(id) + if(init && init.error === 'unauthorized'){ setStatus('会话失效,请重新登录'); qs('login').classList.remove('hidden'); qs('dashboard').classList.add('hidden'); return } + if(init && init.error === 'not_found'){ setStatus('文件未完成上传或不存在'); return } + const saltB64 = (init && (init.fileSalt || init.salt)) || '' + const fileSalt = new Uint8Array([...atob(saltB64)].map(c=>c.charCodeAt(0))) + const chunkSize = Number((init && (init.chunkSize || init.chunk_size)) || 0) + const totalSize = Number((init && init.size) || 0) + const chunkCount = Number((init && (init.chunkCount || init.chunk_count)) || (chunkSize > 0 ? Math.ceil(totalSize / chunkSize) : 0)) + const input = await askPwd('请输入18位身份证号用于解密下载') + logDebug('download.prompt', 'input.len', (input||'').length, 'has.login.master', !!state.master) + if(!input){ setStatus('请输入18位身份证号'); return } + let m = input + if(state.master){ const eq = (input === state.master); logDebug('download.master.eq', eq); if(!eq){ setStatus('身份证号不准确'); return } m = state.master } + else if(state.masterFp){ const fp = await calcMasterFp(input); const eq = (fp === state.masterFp); logDebug('download.fp.eq', eq); if(!eq){ setStatus('身份证号不准确'); return } m = input } + else { setStatus('会话失效,请重新登录'); return } + const key = await deriveFileKey(m, fileSalt) + logDebug('download.key.derived') + if (!Number.isFinite(totalSize) || totalSize < 0) { setStatus('下载失败:文件大小异常'); logDebug('download.init.bad_size', JSON.stringify(init)); return } + if (totalSize === 0) { + const blob = new Blob([new Uint8Array(0)]) + const a = document.createElement('a') + a.href = URL.createObjectURL(blob) + a.download = name + a.click() + URL.revokeObjectURL(a.href) + setStatus('下载完成') + return + } + if (!Number.isFinite(chunkCount) || chunkCount <= 0) { setStatus('下载失败:文件分片信息异常'); logDebug('download.init.bad_chunks', JSON.stringify(init)); return } + const chunks = new Array(chunkCount) + let active = 0, next = 0, processed = 0 + const maxParallel = 4 + return new Promise(async (resolve) => { + async function runOne(i) { + try { + active++ + const buf = new Uint8Array(await api.downloadChunk(id, i)) + const iv = await ivForChunk(fileSalt, i) + const pt = new Uint8Array(await decryptChunk(key, iv, buf)) + chunks[i] = pt + processed += pt.length + setStatus(`已下载 ${(processed/totalSize*100).toFixed(2)}%`) + } catch(e){ setStatus('解密失败,可能密码不匹配或网络异常'); logDebug('download.chunk.error', i, e && (e.message||String(e))) } + finally { active--; schedule() } + } + function schedule() { + while (active < maxParallel && next < chunkCount) { runOne(next); next++ } + if (active === 0 && next >= chunkCount) doneAll() + } + function doneAll() { + const out = new Uint8Array(totalSize) + let offset = 0 + for (let i = 0; i < chunkCount; i++) { out.set(chunks[i], offset); offset += chunks[i].length } + const blob = new Blob([out]) + const a = document.createElement('a') + a.href = URL.createObjectURL(blob) + a.download = name + a.click() + URL.revokeObjectURL(a.href) + setStatus('下载完成') + resolve() + } + schedule() + }) + } catch(e){ setStatus('下载失败'); logDebug('download.error', e && (e.message||String(e))) } +} +async function initUi() { + logDebug('initUi.start') + // 禁止浏览器记忆与辅助录入(全局) + try { + const inputs = Array.from(document.querySelectorAll('input,textarea')) + const suffix = '-' + Math.random().toString(36).slice(2) + inputs.forEach(el=>{ + const isPwd = (el.type==='password') + el.setAttribute('autocomplete', isPwd ? 'new-password' : 'off') + el.setAttribute('autocapitalize','off') + el.setAttribute('spellcheck','false') + el.name = (el.name? el.name : ('no-save-'+(el.id||'field'))) + suffix + if(isPwd || el.id==='shareCreatePwd' || el.id==='newDirName') el.value='' + }) + } catch{} + let setupOk=false + try { const st = await (await fetch('/api/psc/auth/status')).json(); logDebug('auth.status', JSON.stringify(st)); setupOk = !!(st && st.setup); if (setupOk) qs('setup').classList.add('hidden'); else { qs('setup').classList.remove('hidden'); qs('login').classList.add('hidden'); qs('dashboard').classList.add('hidden'); setStatus('未初始化') } } catch(e){ logDebug('auth.status.error', e && (e.message||String(e))) } + const maybe = await loadTokenSecure() + if (maybe) { + state.token = maybe + try{ state.masterFp = localStorage.getItem('mfp') || null; logDebug('token.loaded', true, 'has.mfp', !!state.masterFp) }catch{} + qs('login').classList.add('hidden') + qs('setup').classList.add('hidden') + qs('dashboard').classList.remove('hidden') + setStatus('已登录') + applyRoleUi() + await detectAdmin() + await refreshList() + } else if (setupOk) { + qs('login').classList.remove('hidden') + qs('setup').classList.add('hidden') + qs('dashboard').classList.add('hidden') + setStatus('请登录') + } + qs('btnSetup').onclick = async () => { + const base = qs('baseCode').value + const master = qs('newMaster').value + const button = qs('btnSetup') + + if (!base || !master) { + setStatus('❌ 请填写完整信息') + return + } + + try { + setButtonLoading(button, true) + logDebug('setup.req', 'base.len', (base||'').length, 'id.len', (master||'').length) + const r = await api.setup(base, master) + logDebug('setup.json', JSON.stringify(r)) + if (r.ok) { + setStatus('✅ 初始化成功'); + qs('setup').classList.add('hidden') + qs('login').classList.remove('hidden') + } else { + setStatus('❌ 初始化失败') + } + } catch(e) { + logDebug('setup.error', e && (e.message||String(e))); + setStatus('❌ 网络错误,初始化失败') + } finally { + setButtonLoading(button, false) + } + } + qs('btnLogin').onclick = async () => { + const m = qs('master').value + const button = qs('btnLogin') + + if (!m) { + setStatus('❌ 请输入身份证号') + return + } + + logDebug('login.skip_format_check') + try { + setButtonLoading(button, true) + const cap = await askRotate(); + if(!cap){ + setStatus('❌ 请完成身份验证'); + setButtonLoading(button, false) + return + } + + logDebug('login.req', 'id.len', (m||'').length) + const r = await api.login(m, cap) + logDebug('login.json', JSON.stringify(r)) + + if (r.token) { + state.token = r.token + try{ state.masterFp = await calcMasterFp(m); localStorage.setItem('mfp', state.masterFp) }catch{} + await saveTokenSecure(r.token) + qs('master').value = '' + qs('login').classList.add('hidden') + qs('setup').classList.add('hidden') + qs('dashboard').classList.remove('hidden') + setStatus('✅ 登录成功') + applyRoleUi() + await detectAdmin() + await refreshList() + } else if (r && r.error === 'not_setup') { + setStatus('❌ 未初始化,请先设置身份证号') + } else { + setStatus(r && r.error === 'unauthorized' ? '❌ 登录失败:身份证号不正确' : + (r && r.error === 'captcha_invalid' ? '❌ 验证失败:请将图像转正' : '❌ 登录失败')) + } + } catch(e) { + setStatus('❌ 网络错误,登录失败') + } finally { + setButtonLoading(button, false) + } + } + qs('btnLogout').onclick = () => { + localStorage.removeItem('tk'); localStorage.removeItem('iv'); localStorage.removeItem('dev_salt'); localStorage.removeItem('mfp') + state.token = null; state.master = null; state.masterFp = null + qs('master').value = '' + qs('newMaster').value = '' + qs('baseCode').value = '' + qs('dashboard').classList.add('hidden') + qs('login').classList.remove('hidden') + setStatus('已退出') + } + qs('btnUpload').onclick = ()=>{ + logDebug('upload.click'); + const button = qs('btnUpload') + setButtonLoading(button, true) + uploadSelected().finally(() => { + setButtonLoading(button, false) + }) + } + qs('btnRefresh').onclick = ()=>{ + logDebug('refresh.click'); + const button = qs('btnRefresh') + setButtonLoading(button, true) + refreshList().finally(() => { + setButtonLoading(button, false) + }) + } + qs('btnNewDir').onclick = async ()=>{ + const name = qs('newDirName').value; + const button = qs('btnNewDir') + + if(!name) { + setStatus('❌ 请输入文件夹名称') + return + } + + logDebug('dir.new.click', 'name.len', (name||'').length); + setButtonLoading(button, true) + try { + await dirApi.create(state.dir, name); + setStatus('✅ 文件夹创建成功') + qs('newDirName').value = '' + await refreshList() + } catch(e) { + setStatus('❌ 文件夹创建失败') + } finally { + setButtonLoading(button, false) + } + } + qs('btnUp').onclick = async ()=>{ logDebug('dir.up.click', 'from', state.dir); + const parts = state.dir.split('/').filter(Boolean) + parts.pop() + state.dir = '/' + parts.join('/') + if(state.dir==='') state.dir='/' + qs('curDir').textContent = state.dir + await refreshList() + } + qs('sizeRange').onchange = ()=>{ logDebug('sizeRange.change') + const v = qs('sizeRange').value + if(v==='lt1') setStatus('分块大小将使用 5MB') + else if(v==='1to10') setStatus('分块大小将使用 8MB') + else setStatus('分块大小将使用 16MB') + } + qs('btnOpenSettings').onclick = ()=>{ logDebug('settings.open.click'); qs('resetModal').classList.remove('hidden'); ['resetBase','resetMaster','setupWipeCode1','setupWipeCode2','wipeCode1','wipeCode2'].forEach(id=>{ const e=qs(id); if(e) e.value='' }); const rm = qs('resetMaster'); if(rm){ rm.value = '' } } + qs('btnCloseReset').onclick = ()=>{ qs('resetModal').classList.add('hidden') } + qs('btnResetMaster').onclick = async ()=>{ const bc = (qs('resetBase').value||'').trim(); const nm = (qs('resetMaster').value||'').trim(); logDebug('reset.click', 'base.len', (bc||'').length, 'pwd.len', (nm||'').length); if(!state.token){ setStatus('请先登录'); return } try { const r = await fetch('/api/psc/auth/change', { method:'POST', headers:{ 'Content-Type':'application/json', Authorization:'Bearer '+state.token }, body: JSON.stringify({ base_code: bc, new_master_password: nm }) }); const j = await r.json(); logDebug('reset.status', r.status); logDebug('reset.json', JSON.stringify(j)); if(j && j.ok) { setStatus('登录密码已重置'); try{ state.masterFp = await calcMasterFp(nm); localStorage.setItem('mfp', state.masterFp) }catch{}; qs('resetBase').value=''; qs('resetMaster').value=''; qs('resetModal').classList.add('hidden') } else { if(r.status===403 || (j && j.error==='forbidden')) setStatus('基础密码不正确'); else if(j && j.error==='not_setup') setStatus('未初始化,请先设置登录密码'); else setStatus('重置失败') } } catch(e) { setStatus('网络错误,重置失败') } } + const btnSetupWipe = qs('btnSetupWipe'); if(btnSetupWipe){ btnSetupWipe.onclick = async ()=>{ const c1 = (qs('setupWipeCode1').value||'').trim(); const c2 = (qs('setupWipeCode2').value||'').trim(); logDebug('wipe.setup.req', 'c1.len', (c1||'').length, 'c2.len', (c2||'').length); if(!state.token){ setStatus('请先登录'); return } try { setStatus('初始化中...'); const r = await fetch('/api/psc/admin/wipe/setup', { method:'POST', headers:{ 'Content-Type':'application/json', Authorization:'Bearer '+state.token }, body: JSON.stringify({ code1: c1, code2: c2 }) }); const j = await r.json(); logDebug('wipe.setup.status', r.status); logDebug('wipe.setup.json', JSON.stringify(j)); if(r.ok){ setStatus('清空密钥已初始化'); qs('setupWipeCode1').value=''; qs('setupWipeCode2').value=''; } else { const msg = j && j.error === 'missing_wipe_key' ? '请设置WIPE_KEY并重启服务' : (j.error||('HTTP '+r.status)); setStatus('初始化失败:'+msg) } } catch(e){ setStatus('网络异常') } } } + const wipeBtn = qs('btnWipeAll'); if(wipeBtn){ wipeBtn.onclick = async ()=>{ const c1 = (qs('wipeCode1').value||'').trim(); const c2 = (qs('wipeCode2').value||'').trim(); logDebug('wipe.req', 'c1.len', (c1||'').length, 'c2.len', (c2||'').length); if(!state.token){ setStatus('请先登录'); return } try { setStatus('校验中...'); const r = await fetch('/api/psc/admin/wipe', { method:'POST', headers:{ 'Content-Type':'application/json', Authorization:'Bearer '+state.token }, body: JSON.stringify({ code1: c1, code2: c2 }) }); const j = await r.json(); logDebug('wipe.status', r.status); logDebug('wipe.json', JSON.stringify(j)); if(r.ok){ setStatus('已清空所有数据'); qs('resetModal').classList.add('hidden'); await refreshList() } else { setStatus('清空失败:'+(j.error||('HTTP '+r.status))) } } catch(e){ setStatus('网络异常') } } } + // 清空所有密码框,防止浏览器记住 + qs('baseCode').value=''; qs('newMaster').value=''; qs('master').value=''; qs('resetBase').value=''; qs('resetMaster').value='' + const bcd = qs('btnCopyDebug'); if(bcd){ bcd.onclick = async ()=>{ try{ await navigator.clipboard.writeText((qs('debugLog')?.textContent)||''); setStatus('调试信息已复制') } catch{ setStatus('请手动复制调试信息') } } } + const bcd2 = qs('btnCopyDebugBottom'); if(bcd2){ bcd2.onclick = async ()=>{ try{ await navigator.clipboard.writeText((qs('debugBottom')?.textContent)||''); setStatus('调试信息已复制') } catch{ setStatus('请手动复制调试信息') } } } +} +function applyRoleUi(){ const s=qs('btnOpenSettings'); const l=qs('btnOpenLogs'); if(state.isAdmin){ if(s){ s.classList.remove('hidden'); s.style.display='' } if(l){ l.classList.remove('hidden'); l.style.display='' } } else { if(s){ s.classList.add('hidden'); s.style.display='none' } if(l){ l.classList.add('hidden'); l.style.display='none' } } } +logDebug('app.loaded') +;(function(){ try{ const b=qs('statusTop'); if(b) b.textContent='' }catch{}; try{ fetch('/api/psc/debug/status').then(r=>r.json()).then(s=>{ debugEnabled = !!(s && s.enabled); const ids=['btnCopyDebug','debugLog','btnCopyDebugBottom','debugBottom']; ids.forEach(id=>{ const e=qs(id); if(e) e.style.display = debugEnabled ? '' : 'none' }); if(!debugEnabled){ const a=qs('debugLog'); if(a) a.textContent=''; const b=qs('debugBottom'); if(b) b.textContent='' } }) }catch{}; try{ logDebug('backend.origin', location.origin) }catch{}; try{ fetch('/version').then(r=>r.json()).then(v=>{ try{ logDebug('backend.version', String(v && v.version)) }catch{}; try{ logDebug('backend.port', String(v && v.port)) }catch{} }) }catch{} })() +initUi() +async function fetchAndRenderLogs(){ const from = qs('logsFrom').value; const to = qs('logsTo').value; const category = qs('logsCategory').value; const r = await logsApi.list({ from: from||'', to: to||'', limit: logsState.size, offset: logsState.offset, category }); logsState.total = Number(r.total||0); const tbody = qs('logsTable').querySelector('tbody'); tbody.innerHTML=''; for(const e of (r.logs||[])){ const tr=document.createElement('tr'); const td1=document.createElement('td'); td1.textContent=new Date(e.ts).toLocaleString(); const td2=document.createElement('td'); td2.textContent=e.type; const td3=document.createElement('td'); const d=e.data||{}; const parts=[]; if(d.name){ parts.push('名称: '); const b=document.createElement('b'); b.textContent=String(d.name); parts.push(b) } if(d.path){ if(parts.length) parts.push(' '); parts.push('路径: '); const b=document.createElement('b'); b.textContent=String(d.path); parts.push(b) } if(d.dir){ if(parts.length) parts.push(' '); parts.push('目录: '); const b=document.createElement('b'); b.textContent=String(d.dir); parts.push(b) } if(d.from){ if(parts.length) parts.push(' '); parts.push('源: '); const b=document.createElement('b'); b.textContent=String(d.from); parts.push(b) } if(d.to){ if(parts.length) parts.push(' '); parts.push('目标: '); const b=document.createElement('b'); b.textContent=String(d.to); parts.push(b) } if(d.fileId){ if(parts.length) parts.push(' '); parts.push('文件ID: ' + String(d.fileId)) } if(d.shareId){ if(parts.length) parts.push(' '); parts.push('分享ID: ' + String(d.shareId)) } if(d.toId){ if(parts.length) parts.push(' '); parts.push('新文件ID: ' + String(d.toId)) } if(parts.length===0){ td3.textContent=JSON.stringify(d) } else { parts.forEach(p=>{ if(typeof p==='string'){ const s=document.createElement('span'); s.textContent=p; td3.appendChild(s) } else { td3.appendChild(p) } }) } tr.appendChild(td1); tr.appendChild(td2); tr.appendChild(td3); tbody.appendChild(tr) } const pi=qs('logsPageInfo'); if(pi){ const start=logsState.offset+1; const end=Math.min(logsState.offset+logsState.size, logsState.total); pi.textContent = `${start}-${end} / ${logsState.total}` } } +function setupIdleLogout(){ let last=Date.now(); function u(){ last=Date.now() } ['mousemove','mousedown','keydown','scroll','touchstart','click','visibilitychange'].forEach(ev=>{ document.addEventListener(ev,u,{ passive:true }) }); setInterval(()=>{ if(state.token && Date.now()-last>=3600000){ try{ localStorage.removeItem('tk'); localStorage.removeItem('iv'); localStorage.removeItem('dev_salt'); localStorage.removeItem('mfp') }catch{}; state.token=null; state.master=null; state.masterFp=null; qs('dashboard').classList.add('hidden'); qs('login').classList.remove('hidden'); setStatus('已自动退出:超过1小时未操作') } },60000) } +setupIdleLogout() +document.addEventListener('visibilitychange', ()=>{ if(document.visibilityState==='visible'){ const inputs = Array.from(document.querySelectorAll('input,textarea')); inputs.forEach(el=>{ if(el.type==='checkbox' || el.type==='radio'){ el.checked=false } else { el.value='' } }); try{ logDebug('visibility.visible.clear_inputs', 'count', inputs.length) }catch{} } }) +// 关闭辅助提示 +// 捕获脚本错误,显示到状态栏,便于排查 +window.addEventListener('error', (e)=>{ try { setStatus('脚本错误:'+ e.message) } catch{} }) +window.addEventListener('unhandledrejection', (e)=>{ try { logDebug('promise.error', (e && e.reason && e.reason.message) || String(e && e.reason)) } catch{} }) +let tooltipEl=null +function showTipFor(el){ const text = el.dataset.tip || el.getAttribute('placeholder') || el.title || (el.tagName==='BUTTON'? el.textContent : '') ; if(!text) return; if(!tooltipEl){ tooltipEl=document.createElement('div'); tooltipEl.className='tooltip hidden'; document.body.appendChild(tooltipEl) } tooltipEl.textContent = text; const r = el.getBoundingClientRect(); const x = r.right + 8; const y = r.top + window.scrollY; tooltipEl.style.left = x + 'px'; tooltipEl.style.top = y + 'px'; tooltipEl.classList.remove('hidden') } +function hideTip(){ if(tooltipEl) tooltipEl.classList.add('hidden') } +function initTooltips(){ const sels = Array.from(document.querySelectorAll('input,select,textarea,button')); sels.forEach(el=>{ el.addEventListener('focus', ()=>showTipFor(el)); el.addEventListener('blur', hideTip); el.addEventListener('mouseenter', ()=>showTipFor(el)); el.addEventListener('mouseleave', hideTip) }) } +// context menu +let ctxEl=null +function closeCtx(){ if(ctxEl){ ctxEl.remove(); ctxEl=null } } +function openFileCtx(e, file){ + e.preventDefault(); closeCtx(); + const div = document.createElement('div'); div.className='ctx' + const add = (label, fn)=>{ const b=document.createElement('button'); b.textContent=label; b.onclick=()=>{ closeCtx(); fn() }; div.appendChild(b) } + add('移动到...', async()=>{ openDirPicker(async(dir)=>{ const ok = await askConfirm('确认移动到:' + dir + '?'); if(!ok){ setStatus('已取消'); return } const r = await fetch(`/api/psc/files/${file.id}/move`, { method:'POST', headers:{ 'Content-Type':'application/json', Authorization:'Bearer '+state.token }, body: JSON.stringify({ dir }) }); let j=null; try{ j=await r.json() }catch{}; try{ logDebug('file.move.json', JSON.stringify(j)) }catch{}; await refreshList() }) }) + add('复制到...', async()=>{ openDirPicker(async(dir)=>{ let name = await askPrompt('新文件名', file.name) || file.name; name = String(name).trim(); const src = String(file.name); const hasDot = name.includes('.'); const ext = src.includes('.') ? src.split('.').pop() : ''; if(!hasDot && ext){ name = name + '.' + ext } const ok = await askConfirm('确认复制到:' + dir + ' 并命名为:' + name + '?'); if(!ok){ setStatus('已取消'); return } const r = await fetch(`/api/psc/files/${file.id}/copy`, { method:'POST', headers:{ 'Content-Type':'application/json', Authorization:'Bearer '+state.token }, body: JSON.stringify({ dir, name }) }); const j = await r.json(); try{ logDebug('file.copy.json', JSON.stringify(j)) }catch{}; if(j.ok) setStatus('已复制'); await refreshList() }) }) + add('重命名', async()=>{ let name = await askPrompt('新文件名', file.name); if(!name) return; name = String(name).trim(); const src = String(file.name); const hasDot = name.includes('.'); const ext = src.includes('.') ? src.split('.').pop() : ''; if(!hasDot && ext){ name = name + '.' + ext } const ok = await askConfirm('确认将 ' + file.name + ' 重命名为:' + name + '?'); if(!ok){ setStatus('已取消'); return } const r = await fetch(`/api/psc/files/${file.id}/rename`, { method:'POST', headers:{ 'Content-Type':'application/json', Authorization:'Bearer '+state.token }, body: JSON.stringify({ name }) }); let j=null; try{ j=await r.json() }catch{}; try{ logDebug('file.rename.json', JSON.stringify(j)) }catch{}; await refreshList() }) + add('删除', async()=>{ const ok = await askConfirm('确认删除:' + file.name + '?'); if(!ok){ setStatus('已取消'); return } logDebug('file.del.ctx.click', file.id); const r = await fetch(`/api/psc/files/${file.id}`, { method:'DELETE', headers:{ Authorization:'Bearer '+state.token } }); let j=null; try{ j=await r.json() }catch{}; logDebug('file.del.ctx.status', r.status); if(j) logDebug('file.del.ctx.json', JSON.stringify(j)); await refreshList() }) + add('分享', ()=> { shareCtx.fileId = file.id; shareCtx.link = null; const modal = qs('shareCreateModal'); modal.dataset.fileId = String(file.id); qs('shareQrImg').style.display='none'; qs('shareLinkOutput').textContent=''; qs('shareCreatePwd').value=''; const chips = document.querySelectorAll('#shareCreateModal .chip'); chips.forEach(c=>{ c.classList.remove('active') }); document.querySelector('#shareCreateModal .chip[data-days="30"]').classList.add('active'); qs('shareMasterWrap').style.display = 'block'; modal.classList.remove('hidden'); updateShareButtons() }) + div.style.left = e.clientX + 'px'; div.style.top = e.clientY + 'px' + document.body.appendChild(div); ctxEl=div +} +document.addEventListener('click', closeCtx) +function openDirPicker(cb){ + const wrap = document.createElement('div'); wrap.className = 'picker' + const box = document.createElement('div'); box.className = 'picker-content' + const title = document.createElement('div'); title.style.display='flex'; title.style.justifyContent='space-between'; title.style.alignItems='center' + const h = document.createElement('h3'); h.textContent='选择目标目录'; h.style.margin='0' + const closeBtn = document.createElement('button'); closeBtn.textContent='关闭' + title.appendChild(h); title.appendChild(closeBtn) + const cur = document.createElement('div') + let current = state.dir + const updateCur = ()=>{ cur.textContent = '当前:' + current } + updateCur() + const ops = document.createElement('div') + const chooseBtn = document.createElement('button'); chooseBtn.textContent='选择此目录' + const upBtn = document.createElement('button'); upBtn.textContent='上一级' + const list = document.createElement('div'); list.className='picker-list' + async function render(){ list.innerHTML=''; const d = await dirApi.list(current); for(const item of d.dirs){ const b=document.createElement('button'); b.textContent=item.name; b.onclick=()=>{ current = item.path; updateCur(); render() }; list.appendChild(b) } } + chooseBtn.onclick = ()=>{ cb(current); document.body.removeChild(wrap) } + upBtn.onclick = ()=>{ const parts = current.split('/').filter(Boolean); parts.pop(); current = '/' + parts.join('/'); if(current==='') current='/'; updateCur(); render() } + closeBtn.onclick = ()=>{ document.body.removeChild(wrap) } + ops.appendChild(chooseBtn); ops.appendChild(upBtn) + box.appendChild(title); box.appendChild(cur); box.appendChild(ops); box.appendChild(list) + wrap.appendChild(box) + document.body.appendChild(wrap) + render() +} +function pickShareDays(){ const el = document.querySelector('#shareCreateModal .chip.active'); return Number(el?.dataset.days||'0') } +function updateShareButtons(){ const pwd = qs('shareCreatePwd').value; const input = qs('shareMaster').value; const ok = !!pwd && !!input; const b1 = qs('btnCopyShareLink'); const b2 = qs('btnGenQr'); if(b1) b1.disabled = !ok; if(b2) b2.disabled = !ok } +async function buildShareLink(){ try { const pwd = qs('shareCreatePwd').value; if(!pwd){ setStatus('请输入提取码'); qs('shareLinkOutput').textContent=''; return null } const fid = shareCtx.fileId || Number(qs('shareCreateModal').dataset.fileId||'0'); logDebug('share.fid', fid); if(!fid){ setStatus('请先选择要分享的文件'); qs('shareLinkOutput').textContent=''; return null } const init = await api.downloadInit(fid); logDebug('share.init.res', JSON.stringify(init)); if(init && init.error === 'unauthorized'){ setStatus('会话失效,请重新登录'); qs('login').classList.remove('hidden'); qs('dashboard').classList.add('hidden'); qs('shareLinkOutput').textContent=''; return null } if(init && init.error === 'not_found'){ setStatus('请选择已完成上传的文件'); qs('shareLinkOutput').textContent=''; return null } const saltB64 = (init && (init.fileSalt || init.salt)) || ''; const fileSalt = new Uint8Array([...atob(saltB64)].map(c => c.charCodeAt(0))); const input = qs('shareMaster').value; if(!input){ setStatus('请输入18位身份证号'); qs('shareLinkOutput').textContent=''; return null } let master = input; if(state.masterFp){ const fp = await calcMasterFp(input); const eq = (fp === state.masterFp); logDebug('share.fp.eq', eq); if(!eq){ setStatus('身份证号不准确'); qs('shareLinkOutput').textContent=''; return null } } const { key: fKey, raw } = await deriveFileKeyForShare(master, fileSalt); logDebug('share.raw.len', raw.length); const rawHash = new Uint8Array(await crypto.subtle.digest('SHA-256', raw)); const rawHashB64 = btoa(String.fromCharCode(...rawHash)); logDebug('share.fk.hash', rawHashB64); const shareSalt = new Uint8Array(16); crypto.getRandomValues(shareSalt); const sMaterial = await crypto.subtle.importKey('raw', new TextEncoder().encode(pwd), 'PBKDF2', false, ['deriveKey']); const sKey = await crypto.subtle.deriveKey({ name:'PBKDF2', hash:'SHA-256', salt: shareSalt, iterations:200000 }, sMaterial, { name:'AES-GCM', length:256 }, false, ['encrypt']); const iv = new Uint8Array(12); crypto.getRandomValues(iv); const ct = await crypto.subtle.encrypt({ name:'AES-GCM', iv }, sKey, raw); const wrappedKeyB64 = btoa(String.fromCharCode(...new Uint8Array(ct))); const shareSaltB64 = btoa(String.fromCharCode(...shareSalt)); const ivB64 = btoa(String.fromCharCode(...iv)); const days = pickShareDays(); logDebug('share.payload', JSON.stringify({ fileId: fid, days, wrappedKeyB64_len: wrappedKeyB64.length })); const resp = await fetch('/api/psc/share/create', { method:'POST', headers:{ 'Content-Type':'application/json', Authorization:'Bearer '+state.token }, body: JSON.stringify({ fileId: fid, wrappedKeyB64, shareSaltB64, ivB64, password: pwd, expiresInDays: days }) }); logDebug('share.create.status', resp.status); const j = await resp.json(); logDebug('share.create.json', JSON.stringify(j)); if(resp.ok && j.shareId){ let url = location.origin + '/s/' + j.shareId; if(qs('shareAutoFill').checked){ url += '?p=' + encodeURIComponent(pwd) } return url } else { const msg = j && j.error ? j.error : ('HTTP '+resp.status); setStatus('分享生成失败:' + msg); qs('shareLinkOutput').textContent=''; return null } } catch(e){ logDebug('share.error', e.message||String(e)); setStatus('分享生成失败'); qs('shareLinkOutput').textContent = ''; return null } } +document.querySelectorAll('#shareCreateModal .chip').forEach(ch=>{ ch.onclick=()=>{ document.querySelectorAll('#shareCreateModal .chip').forEach(c=>c.classList.remove('active')); ch.classList.add('active'); updateShareButtons() } }) +;(()=>{ const sPwd = qs('shareCreatePwd'); const sId = qs('shareMaster'); if(sPwd) sPwd.addEventListener('input', updateShareButtons); if(sId) sId.addEventListener('input', updateShareButtons) })() +qs('btnCopyShareLink').onclick = async ()=>{ updateShareButtons(); if(qs('btnCopyShareLink').disabled){ setStatus('请输入提取码和18位身份证号'); return } const url = shareCtx.link || await buildShareLink(); if(!url) return; shareCtx.link = url; qs('shareLinkOutput').textContent = url; try { await navigator.clipboard.writeText(url); setStatus('分享链接已复制') } catch { setStatus('请手动复制分享链接') } } +qs('btnGenQr').onclick = async ()=>{ updateShareButtons(); if(qs('btnGenQr').disabled){ setStatus('请输入提取码和18位身份证号'); return } const url = shareCtx.link || await buildShareLink(); if(!url) return; shareCtx.link = url; const img = qs('shareQrImg'); img.src = await genQrDataUrl(url, 220); img.style.display='block' } +async function genQrDataUrl(data, size){ try{ const r = await fetch('/share/qr?url=' + encodeURIComponent(data) + '&size=' + size); if(!r.ok) throw new Error('http_'+r.status); const blob = await r.blob(); return URL.createObjectURL(blob) } catch { if(window.QRCode && typeof window.QRCode.toDataURL==='function'){ try{ return await window.QRCode.toDataURL(data, { width: size, margin: 0 }) } catch{} } return 'data:image/png;base64,' } } +qs('btnCloseCreateShare').onclick = ()=>{ qs('shareCreateModal').classList.add('hidden') } + const btnOpenLogs = qs('btnOpenLogs'); if(btnOpenLogs){ btnOpenLogs.onclick = async ()=>{ const m=qs('logsModal'); m.classList.remove('hidden'); logsState.offset = 0; await fetchAndRenderLogs() } } + const btnCloseLogs = qs('btnCloseLogs'); if(btnCloseLogs){ btnCloseLogs.onclick = ()=>{ qs('logsModal').classList.add('hidden') } } + const btnFetchLogs = qs('btnFetchLogs'); if(btnFetchLogs){ btnFetchLogs.onclick = async ()=>{ logsState.offset = 0; logsState.size = Number(qs('logsPageSize').value||'200'); await fetchAndRenderLogs() } } + const btnExportLogs = qs('btnExportLogs'); if(btnExportLogs){ btnExportLogs.onclick = ()=>{ const from = qs('logsFrom').value; const to = qs('logsTo').value; const category = qs('logsCategory').value; const url = logsApi.exportUrl({ from: from||'', to: to||'', limit: 100000, category }); window.open(url, '_blank') } } + const btnLogsPrev = qs('btnLogsPrev'); if(btnLogsPrev){ btnLogsPrev.onclick = async ()=>{ logsState.size = Number(qs('logsPageSize').value||'200'); logsState.offset = Math.max(0, logsState.offset - logsState.size); await fetchAndRenderLogs() } } + const btnLogsNext = qs('btnLogsNext'); if(btnLogsNext){ btnLogsNext.onclick = async ()=>{ logsState.size = Number(qs('logsPageSize').value||'200'); const next = logsState.offset + logsState.size; if(next < logsState.total){ logsState.offset = next; await fetchAndRenderLogs() } } } diff --git a/public/tools/psc/auth.js b/public/tools/psc/auth.js new file mode 100644 index 0000000..b163a3a --- /dev/null +++ b/public/tools/psc/auth.js @@ -0,0 +1,73 @@ +;(function(){ + var of = window.fetch + window.fetch = function(u, o){ o = o || {}; if (!o.credentials) o.credentials = 'include'; return of(u, o) } + function ensureOverlay(){ + var el = document.getElementById('authOverlay') + if (el) return el + el = document.createElement('div') + el.id = 'authOverlay' + el.style.position = 'fixed' + el.style.left = '0' + el.style.top = '0' + el.style.width = '100%' + el.style.height = '100%' + el.style.background = 'rgba(0,0,0,0.6)' + el.style.display = 'none' + el.style.alignItems = 'center' + el.style.justifyContent = 'center' + el.style.zIndex = '9999' + var box = document.createElement('div') + box.style.background = '#fff' + box.style.borderRadius = '8px' + box.style.padding = '16px' + box.style.boxShadow = '0 6px 24px rgba(0,0,0,0.25)' + box.style.minWidth = '280px' + var t = document.createElement('div') + t.textContent = '鉴权失败' + t.style.fontSize = '18px' + t.style.marginBottom = '8px' + var b = document.createElement('button') + b.id = 'btnRecheck' + b.textContent = '重新校验' + b.style.padding = '8px 12px' + b.style.border = '1px solid #999' + b.style.borderRadius = '4px' + b.style.background = '#f7f7f7' + box.appendChild(t); box.appendChild(b) + el.appendChild(box) + document.body.appendChild(el) + return el + } + function show(){ + ensureOverlay().style.display = 'flex' + var main = document.querySelector('.container') + if (main) main.style.display = 'none' + } + function hide(){ + var el = ensureOverlay() + el.style.display = 'none' + var main = document.querySelector('.container') + if (main) main.style.display = 'block' + } + function removeTokenFromUrl(){ + var q = location.search || '' + if (q.indexOf('token=') >= 0) { + var sp = new URLSearchParams(q) + sp.delete('token') + var nu = location.pathname + (sp.toString() ? ('?' + sp.toString()) : '') + location.hash + history.replaceState(null, '', nu) + } + } + function handshake(){ return fetch('/api/psc/auth/handshake').then(function(r){ if(!r.ok) throw 0 }) } + function start(cfg){ + if (!cfg || !cfg.enableCookieAuth) return + var params = new URLSearchParams(location.search||'') + var tk = params.get('token') + var p = tk ? fetch('/api/psc/auth/token?token=' + encodeURIComponent(tk)).then(function(r){ if(r.ok) removeTokenFromUrl() }).catch(function(){}) : Promise.resolve() + p.then(function(){ handshake().then(function(){ hide() }).catch(function(){ show() }) }) + var btn = document.getElementById('btnRecheck') + if (btn) btn.onclick = function(){ handshake().then(function(){ hide() }).catch(function(){ show() }) } + } + function loadCfg(){ return fetch('auth_config.json').then(function(r){ return r.json() }).catch(function(){ return { enableCookieAuth: true } }) } + document.addEventListener('DOMContentLoaded', function(){ loadCfg().then(start) }) +})() diff --git a/public/tools/psc/auth_config.json b/public/tools/psc/auth_config.json new file mode 100644 index 0000000..a247fbb --- /dev/null +++ b/public/tools/psc/auth_config.json @@ -0,0 +1,9 @@ +{ + "_comment": "PSC 工具(密码安全中心等)的前端鉴权配置", + "enableCookieAuth_comment": "true:启用基于 JWT cookie 的鉴权;false:关闭(通常仅限开发环境)", + "enableCookieAuth": false, + "cookieName_comment": "PSC 使用的 JWT cookie 名称", + "cookieName": "TRAE-PSC_jwt", + "max_age_days_comment": "JWT cookie 的最大有效天数(1~365)", + "max_age_days": 30 +} diff --git a/public/tools/psc/captcha/1001.jpg b/public/tools/psc/captcha/1001.jpg new file mode 100644 index 0000000..d90d1e5 Binary files /dev/null and b/public/tools/psc/captcha/1001.jpg differ diff --git a/public/tools/psc/captcha/1002.jpg b/public/tools/psc/captcha/1002.jpg new file mode 100644 index 0000000..3b06014 Binary files /dev/null and b/public/tools/psc/captcha/1002.jpg differ diff --git a/public/tools/psc/captcha/1003.jpg b/public/tools/psc/captcha/1003.jpg new file mode 100644 index 0000000..1c674fa Binary files /dev/null and b/public/tools/psc/captcha/1003.jpg differ diff --git a/public/tools/psc/captcha/1004.jpg b/public/tools/psc/captcha/1004.jpg new file mode 100644 index 0000000..1b69682 Binary files /dev/null and b/public/tools/psc/captcha/1004.jpg differ diff --git a/public/tools/psc/index.html b/public/tools/psc/index.html new file mode 100644 index 0000000..4b99e47 --- /dev/null +++ b/public/tools/psc/index.html @@ -0,0 +1,238 @@ + + + + + + TRAE-AI 个人私有安全网盘 + + + + +
    + + + + + + + + + + + diff --git a/public/tools/weekly/weekly-2026-01-12-bak.css b/public/tools/weekly/weekly-2026-01-12-bak.css new file mode 100644 index 0000000..c4946b2 --- /dev/null +++ b/public/tools/weekly/weekly-2026-01-12-bak.css @@ -0,0 +1,1589 @@ +:root { + --gap: 16px; + /* 金融投资行业配色:低饱和度藏蓝/深灰 + 浅青点缀 */ + --primary: #1e2a3a; + --primary-light: #2c3e50; + --accent: #2d8cff; + --accent-hover: #1a75d9; + --success: #10b981; + --warning: #f59e0b; + --danger: #ef4444; + --text: #1f2937; + --text-muted: #6b7280; + /* 背景:米白或浅灰(长时间看屏幕不累眼) */ + --bg: #fafaf9; + --surface: #ffffff; + --border: #e5e7eb; + --shadow: rgba(0, 0, 0, 0.06); + --shadow-hover: rgba(0, 0, 0, 0.1); + /* 圆角:4-6px */ + --radius: 6px; + --radius-sm: 4px; + --radius-lg: 8px; + --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); +} + +.container { + max-width: 1400px; + margin: 0 auto; + padding: 24px; + background: var(--bg); + min-height: 100vh; + font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; +} + +.card { + border: 1px solid var(--border); + border-radius: var(--radius); + padding: 28px; + margin-bottom: 24px; + background: var(--surface); + box-shadow: 0 1px 3px var(--shadow); + transition: var(--transition); + position: relative; + overflow: hidden; +} + +.card::before { + content: ''; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 1px; + background: linear-gradient(90deg, transparent, var(--accent), transparent); + opacity: 0; + transition: var(--transition); +} + +.card:hover { + box-shadow: 0 4px 12px var(--shadow-hover); + transform: translateY(-1px); +} + +.card:hover::before { + opacity: 1; +} + +.card h2, .card h3 { + margin: 0 0 24px 0; + color: var(--primary); + font-weight: 600; + font-size: 1.375rem; + letter-spacing: -0.3px; + line-height: 1.3; +} + +.bar { + display: flex; + gap: 16px; + align-items: center; + flex-wrap: wrap; + padding: 24px; + background: var(--surface); + border-radius: var(--radius); + margin-bottom: 24px; + box-shadow: 0 1px 3px var(--shadow); + border: 1px solid var(--border); + position: relative; +} + +.bar::before { + content: ''; + position: absolute; + top: 0; + left: 0; + width: 4px; + height: 100%; + background: linear-gradient(to bottom, var(--accent), var(--primary)); + border-radius: var(--radius) 0 0 var(--radius); +} + +.form { + display: flex; + gap: 12px; + align-items: center; + flex-wrap: wrap; + margin-bottom: 16px; +} + +/* 新的布局系统 */ +.app-layout { + display: flex; + gap: 0; + min-height: calc(100vh - 48px); +} + +.sidebar { + flex-shrink: 0; +} + +.main-content { + flex: 1; + min-width: 0; +} + +.sidebar { + background: var(--surface); + border-right: 1px solid var(--border); + padding: 0; + position: sticky; + top: 0; + height: 100vh; + overflow-y: auto; + transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); + width: 280px; + flex-shrink: 0; +} + +.sidebar.collapsed { + width: auto; + min-width: 60px; +} + +.sidebar.collapsed .sidebar-header h3 { + display: none; +} + +.sidebar.collapsed .nav-text { + display: none; +} + +.sidebar.collapsed .toggle-icon { + transform: rotate(180deg); +} + +.sidebar.collapsed .nav-item { + justify-content: center; + padding: 12px 16px; + min-width: 60px; +} + +.sidebar.collapsed .nav-icon { + font-size: 18px; + width: auto; +} + +.sidebar-header { + padding: 24px; + border-bottom: 1px solid var(--border); + background: linear-gradient(135deg, var(--primary), var(--primary-light)); + color: white; + margin: 0; + display: flex; + justify-content: space-between; + align-items: center; +} + +.sidebar-header h3 { + margin: 0; + font-size: 1.25rem; + font-weight: 600; + color: white; + flex: 1; +} + +.sidebar-toggle { + background: none; + border: none; + color: white; + cursor: pointer; + padding: 4px 8px; + border-radius: var(--radius-sm); + transition: var(--transition); + opacity: 0.8; +} + +.sidebar-toggle:hover { + background: rgba(255, 255, 255, 0.1); + opacity: 1; +} + +.toggle-icon { + font-size: 12px; + transition: transform 0.3s ease; +} + +.sidebar-nav { + padding: 16px 0; +} + +.nav-item { + display: flex; + align-items: center; + gap: 12px; + padding: 12px 24px; + width: 100%; + border: none; + background: transparent; + color: var(--text); + cursor: pointer; + transition: var(--transition); + font-size: 14px; + font-weight: 500; + position: relative; +} + +.nav-item::before { + content: ''; + position: absolute; + left: 0; + top: 0; + bottom: 0; + width: 3px; + background: var(--accent); + transform: scaleX(0); + transition: var(--transition); +} + +.nav-item:hover { + background: var(--bg); + color: var(--primary); +} + +.nav-item.active { + background: rgba(45, 140, 255, 0.1); + color: var(--accent); +} + +.nav-item.active::before { + transform: scaleX(1); +} + +.nav-icon { + font-size: 16px; + width: 20px; + text-align: center; +} + +.main-content { + padding: 0; + background: var(--bg); +} + +.top-bar { + background: var(--surface); + padding: 20px 24px; + border-bottom: 1px solid var(--border); + display: flex; + justify-content: space-between; + align-items: center; + flex-wrap: wrap; + gap: 16px; +} + +.time-controls, .quick-actions { + display: flex; + gap: 12px; + align-items: center; + flex-wrap: wrap; +} + +.view-container { + padding: 24px; +} + +.view { + display: none; +} + +.view.active { + display: block; +} + +/* 概览视图样式 */ +.card-header-sm { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 24px; +} + +.card-header-sm h3 { + margin: 0; +} + +.btn-icon { + background: transparent; + border: 1px solid var(--border); + cursor: pointer; + font-size: 14px; + padding: 4px 8px; + border-radius: var(--radius-sm); + transition: all 0.2s; + color: var(--text-muted); + display: flex; + align-items: center; + justify-content: center; +} + +.btn-icon:hover { + background: var(--bg); + color: var(--accent); + border-color: var(--accent); +} + +.overview-grid { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 24px; + margin-bottom: 24px; +} + +.overview-card.full-width { + grid-column: span 2; +} + +@media (max-width: 900px) { + .overview-grid { + grid-template-columns: 1fr; + } + .overview-card.full-width { + grid-column: span 1; + } +} + +.backlog-widget { + text-align: center; + padding: 12px; +} + +.stat-item.warning .stat-value { + color: var(--warning); +} + +.backlog-desc { + color: var(--text-muted); + font-size: 13px; + margin-top: 8px; +} + +/* 简易柱状图 */ +.chart-container { + height: 240px; + display: flex; + align-items: flex-end; + justify-content: space-between; + padding-top: 20px; + gap: 8px; +} + +.chart-col { + flex: 1; + display: flex; + flex-direction: column; + align-items: center; + gap: 6px; + height: 100%; + justify-content: flex-end; + position: relative; +} + +.chart-bar-group { + width: 100%; + height: 100%; + display: flex; + align-items: flex-end; + justify-content: center; + background: rgba(0,0,0,0.02); + border-radius: 4px 4px 0 0; + position: relative; + overflow: hidden; +} + +.chart-bar { + width: 100%; + background: var(--accent); + transition: height 0.5s ease; + min-height: 2px; + position: relative; + border-radius: 2px 2px 0 0; +} + +.chart-bar.completed { + background: var(--success); + position: absolute; + bottom: 0; + left: 0; + width: 100%; + z-index: 2; + opacity: 0.8; +} + +.chart-bar.total { + background: var(--primary-light); + opacity: 0.2; + z-index: 1; +} + +.chart-label { + font-size: 11px; + color: var(--text-muted); + transform: rotate(-45deg); + transform-origin: center; + white-space: nowrap; + margin-top: 4px; +} + +.chart-val { + font-size: 10px; + color: var(--text); + position: absolute; + top: -16px; +} + +/* 热力图 */ +.heatmap-container { + display: flex; + flex-direction: column; + gap: 4px; +} +.heatmap-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(12px, 1fr)); + gap: 3px; + margin-top: 8px; +} +.heatmap-cell { + width: 12px; + height: 12px; + border-radius: 2px; + background: #ebedf0; +} +.heatmap-cell[data-level="1"] { background: #9be9a8; } +.heatmap-cell[data-level="2"] { background: #40c463; } +.heatmap-cell[data-level="3"] { background: #30a14e; } +.heatmap-cell[data-level="4"] { background: #216e39; } + +.heatmap-legend { + display: flex; + gap: 4px; + align-items: center; + font-size: 11px; + color: var(--text-muted); + justify-content: flex-end; + margin-top: 8px; +} + +.overview-card { + background: var(--surface); + border: 1px solid var(--border); + border-radius: var(--radius); + padding: 24px; + box-shadow: 0 1px 3px var(--shadow); +} + +.overview-card h3 { + margin: 0 0 20px 0; + color: var(--primary); + font-size: 1.125rem; + font-weight: 600; +} + +.stats { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 16px; +} + +.stat-item { + text-align: center; + padding: 16px; + background: var(--bg); + border-radius: var(--radius-sm); +} + +.stat-value { + display: block; + font-size: 2rem; + font-weight: 700; + color: var(--accent); + line-height: 1; +} + +.stat-label { + display: block; + font-size: 0.875rem; + color: var(--text-muted); + margin-top: 4px; +} + +.activities { + max-height: 300px; + overflow-y: auto; +} + +.activity-empty { + text-align: center; + color: var(--text-muted); + font-style: italic; + padding: 20px; +} + +.card-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 20px; +} + +.card-header h3 { + margin: 0; +} + +.grid-2 { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 20px; +} + +/* 响应式设计 */ +@media (max-width: 1200px) { + .app-layout { + grid-template-columns: 240px 1fr; + } + + .overview-grid { + grid-template-columns: 1fr; + } +} + +@media (max-width: 900px) { + .app-layout { + flex-direction: column; + } + + .sidebar { + position: fixed; + top: 0; + left: -280px; + width: 280px !important; /* 移动端固定宽度 */ + height: 100vh; + z-index: 1000; + transition: left 0.3s ease; + } + + .sidebar.active { + left: 0; + } + + .sidebar.collapsed { + width: 200px !important; /* 移动端收起时也保持较宽宽度,便于触摸操作 */ + } + + .main-content { + margin-left: 0; + width: 100%; + } + + .top-bar { + flex-direction: column; + align-items: stretch; + } + + .time-controls, .quick-actions { + justify-content: center; + } + + .grid-2 { + grid-template-columns: 1fr; + } + + .container { + padding: 16px; + } + + .stats { + grid-template-columns: 1fr; + } + + /* 移动端菜单项优化 */ + .nav-item { + padding: 16px 24px; /* 增大触摸区域 */ + min-height: 48px; + } + + /* 移动端收起按钮优化 */ + .sidebar-toggle { + padding: 8px 12px; /* 增大触摸区域 */ + min-height: 32px; + } +} + +@media (max-width: 600px) { + .view-container { + padding: 16px; + } + + .overview-card { + padding: 16px; + } + + .top-bar { + padding: 16px; + } +} + +input[type="text"], +input[type="password"], +input[type="datetime-local"], +input:not([type]), +textarea, +select, +#report-summary, +#ev-title, +#search-q, +#login-user, +#login-pass { + padding: 10px 14px; + border: 1px solid var(--border); + border-radius: var(--radius-sm); + font-size: 14px; + color: var(--text); + background: var(--surface); + transition: var(--transition); + font-family: inherit; + outline: none; + min-width: 200px; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05); +} + +#report-title { + padding: 10px 14px; + border: 1px solid var(--border); + border-radius: var(--radius-sm); + font-size: 16px; + font-weight: 500; + color: var(--text); + background: var(--surface); + transition: var(--transition); + font-family: inherit; + outline: none; + width: 100%; + box-sizing: border-box; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05); + margin-bottom: 12px; +} + +input:focus, +textarea:focus, +select:focus { + border-color: var(--accent); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05), 0 0 0 2px rgba(45, 140, 255, 0.1); + outline: none; +} + +select { + cursor: pointer; + background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%232c3e50' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); + background-repeat: no-repeat; + background-position: right 12px center; + padding-right: 36px; + appearance: none; +} + +.btn { + padding: 10px 20px; + background: var(--accent); + color: white; + border: none; + border-radius: var(--radius-sm); + font-size: 14px; + font-weight: 500; + cursor: pointer; + transition: var(--transition); + white-space: nowrap; + box-shadow: 0 1px 2px rgba(45, 140, 255, 0.15); + position: relative; + overflow: hidden; + letter-spacing: 0.3px; +} + +.btn::before { + content: ''; + position: absolute; + top: 0; + left: -100%; + width: 100%; + height: 100%; + background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent); + transition: left 0.5s; +} + +.btn:hover::before { + left: 100%; +} + +.btn:hover { + background: var(--accent-hover); + transform: translateY(-1px); + box-shadow: 0 2px 8px rgba(45, 140, 255, 0.2); +} + +.btn:active { + transform: translateY(0); + box-shadow: 0 1px 2px rgba(45, 140, 255, 0.1); +} + +.editor { + min-height: 280px; + border: 1px solid var(--border); + border-radius: var(--radius-sm); + padding: 16px; + background: var(--surface); + font-size: 14px; + line-height: 1.7; + color: var(--text); + transition: var(--transition); + overflow-y: auto; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.editor:focus { + border-color: var(--accent); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05), 0 0 0 2px rgba(45, 140, 255, 0.1); + outline: none; +} + +.editor[contenteditable]:empty::before { + content: attr(placeholder); + color: var(--text-muted); + opacity: 0.6; + font-style: italic; +} + +#report-content { + min-height: 400px; +} + +#ev-content { + min-height: 120px; + width: 100%; +} + +.toolbar { + margin: 16px 0; + padding: 8px 12px; + background: #f8f9fa; + border-radius: var(--radius-sm); + border: 1px solid var(--border); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.toolbar-group { + display: flex; + gap: 0; + align-items: center; + flex-wrap: wrap; +} + +.toolbar-btn { + position: relative; + padding: 6px 8px; + background: transparent; + border: 1px solid transparent; + border-radius: var(--radius-sm); + cursor: pointer; + transition: all 0.2s ease; + font-size: 14px; + color: var(--text); + display: flex; + align-items: center; + justify-content: center; + min-width: 32px; + height: 28px; + margin: 0; +} + +.toolbar-btn:hover { + background: #e3f2fd; + border-color: #90caf9; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); +} + +.toolbar-btn:active { + background: #bbdefb; + transform: translateY(1px); +} + +.toolbar-btn.active { + background: #bbdefb; + border-color: #64b5f6; +} + +.toolbar-icon { + font-weight: 600; + font-size: 13px; + line-height: 1; +} + +/* Word风格的图标样式 */ +.toolbar-btn[data-cmd="bold"] .toolbar-icon { + font-weight: 700; + font-family: 'Arial', sans-serif; +} + +.toolbar-btn[data-cmd="italic"] .toolbar-icon { + font-style: italic; + font-family: 'Arial', sans-serif; +} + +.toolbar-btn[data-cmd="underline"] .toolbar-icon { + text-decoration: underline; + font-family: 'Arial', sans-serif; +} + +.toolbar-btn[data-cmd="h1"] .toolbar-icon, +.toolbar-btn[data-cmd="h2"] .toolbar-icon { + font-weight: 600; + font-size: 12px; + font-family: 'Segoe UI', sans-serif; +} + +/* Tooltip样式 */ +.tooltip { + position: absolute; + top: 100%; + left: 50%; + transform: translateX(-50%) translateY(8px); + background: #333; + color: white; + padding: 4px 8px; + border-radius: 3px; + font-size: 12px; + white-space: nowrap; + opacity: 0; + visibility: hidden; + transition: all 0.2s ease; + z-index: 1000; + pointer-events: none; +} + +.tooltip::before { + content: ''; + position: absolute; + bottom: 100%; + left: 50%; + transform: translateX(-50%); + border: 4px solid transparent; + border-bottom-color: #333; +} + +.toolbar-btn:hover .tooltip { + opacity: 1; + visibility: visible; + transform: translateX(-50%) translateY(4px); +} + +/* 工具栏分隔符 */ +.toolbar-separator { + width: 1px; + height: 20px; + background: var(--border); + margin: 0 4px; +} + +/* 文件输入包装器 */ +.file-input-wrapper { + position: relative; + display: inline-block; +} + +.file-input-wrapper input[type="file"] { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + opacity: 0; + cursor: pointer; +} + +.header-actions { display:flex; gap:12px } + +.toolbar .btn { + padding: 6px 12px; + font-size: 13px; + background: transparent; + color: #374151; + box-shadow: none; + border-radius: 5px; + font-weight: 500; + min-width: auto; + transition: all 0.15s ease; + border: 1px solid transparent; + position: relative; +} + +.toolbar .btn:hover { + background: #f3f4f6; + color: #1f2937; + transform: none; + box-shadow: none; +} + +.toolbar .btn:active { + background: #e5e7eb; + transform: scale(0.97); +} + +.toolbar .btn::before { + display: none; +} + +/* 工具栏分隔符 */ +.toolbar .btn[data-cmd="h1"]::before, +.toolbar .btn[data-cmd="ul"]::before, +.toolbar .btn[data-cmd="code"]::before { + content: ''; + position: absolute; + left: -4px; + top: 50%; + transform: translateY(-50%); + width: 1px; + height: 20px; + background: #e5e7eb; + display: block; +} + +/* 按钮图标优化 */ +.toolbar .btn[data-cmd="bold"] { + font-weight: 700; + font-family: Georgia, serif; +} + +.toolbar .btn[data-cmd="italic"] { + font-style: italic; + font-family: Georgia, serif; +} + +.toolbar .btn[data-cmd="underline"] { + text-decoration: underline; +} + +.toolbar .btn[data-cmd="h1"], +.toolbar .btn[data-cmd="h2"] { + font-weight: 600; + font-size: 12px; + color: #6b7280; +} + +.toolbar .btn[data-cmd="ul"], +.toolbar .btn[data-cmd="ol"] { + font-size: 14px; +} + +.toolbar .btn[data-cmd="quote"] { + font-size: 16px; + font-weight: 600; + color: #6b7280; +} + +.toolbar .btn[data-cmd="code"] { + font-family: 'Consolas', 'Monaco', monospace; + font-size: 12px; + color: #6b7280; +} + +.toolbar .btn[data-cmd="link"] { + color: #3b82f6; + font-weight: 500; +} + +.toolbar .btn[data-cmd="img"] { + color: #10b981; + font-weight: 500; +} + +.toolbar .btn[data-cmd="clear"] { + color: #ef4444; + margin-left: 4px; + font-size: 12px; +} + +#img-file { + display: none; +} + +.list { + display: grid; + gap: 12px; + margin-top: 16px; +} + +.event { + border: 1px solid var(--border); + border-radius: 12px; + padding: 20px; + margin-bottom: 16px; + background: var(--surface); + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); + transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); + position: relative; + overflow: hidden; + border-left: 4px solid var(--accent); +} + +.event:hover { + border-color: var(--accent); + box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12); + transform: translateY(-2px); + border-left-width: 6px; +} + +.event-header { + display: flex; + align-items: flex-start; + justify-content: space-between; + margin-bottom: 12px; + gap: 12px; +} + +.event-title-wrapper { + flex: 1; + min-width: 0; +} + +.event-title { + font-size: 16px; + font-weight: 600; + color: var(--primary); + margin: 0 0 8px 0; + line-height: 1.4; + word-wrap: break-word; +} + +.event-meta { + display: flex; + flex-wrap: wrap; + gap: 12px; + margin-bottom: 12px; +} + +.event-meta-item { + display: flex; + align-items: center; + gap: 6px; + font-size: 13px; + color: var(--text-muted); +} + +.event-meta-icon { + font-size: 14px; + opacity: 0.7; +} + +.event-body { + color: var(--text); + font-size: 14px; + line-height: 1.6; + margin-bottom: 16px; + word-wrap: break-word; +} + +.event-body p { + margin: 0 0 8px 0; +} + +.event-body p:last-child { + margin-bottom: 0; +} + +.event-actions { + display: flex; + gap: 8px; + flex-wrap: wrap; + margin-top: 16px; + padding-top: 12px; + border-top: 1px solid rgba(0, 0, 0, 0.06); +} + +.event-actions .btn { + padding: 6px 12px; + font-size: 13px; + border-radius: 6px; + min-height: 32px; +} + +.review-meta { + color: var(--text-muted); + font-size: 13px; +} + +.reviews { + margin-top: 12px; + border-top: 1px dashed var(--border); + padding-top: 12px; + display: grid; + gap: 10px; +} +.review-title { font-weight: 600; color: var(--primary); } +.review-item { background: var(--bg); border: 1px solid var(--border); border-radius: 8px; padding: 10px; } +.review-meta { font-size: 12px; color: var(--text-muted); margin-bottom: 6px; } +.review-content { font-size: 14px; color: var(--text); line-height: 1.6; } + +.attachments { + margin-top: 8px; + display: grid; + gap: 6px; +} +.att-title { font-weight: 600; color: var(--primary); } +.att-empty { font-size: 13px; color: var(--text-muted) } +.att-item a { color: var(--accent) } +.att-progress { height: 8px; background: var(--bg); border: 1px solid var(--border); border-radius: 6px; overflow: hidden } +.att-progress-bar { height: 100%; width: 0%; background: var(--accent); transition: width 0.2s } +.att-progress-text { font-size: 12px; color: var(--text-muted) } + +.status { + color: var(--danger); + font-weight: 500; + padding: 4px 8px; + background: rgba(231, 76, 60, 0.1); + border-radius: 4px; + display: inline-block; + font-size: 13px; +} + +.tag { + font-weight: 600; + margin-right: 8px; + padding: 4px 12px; + background: var(--accent); + color: white; + border-radius: 16px; + font-size: 12px; + display: inline-block; + letter-spacing: 0.5px; +} + +#auth { + max-width: 450px; + margin: 60px auto; + text-align: center; +} + +#auth .form { + flex-direction: column; + align-items: stretch; + gap: 16px; +} + +#auth input { + width: 100%; + min-width: auto; +} + +#auth .btn { + width: 100%; + padding: 12px; + font-size: 16px; + margin-top: 8px; +} + +textarea { + resize: vertical; + width: 100%; + font-family: inherit; +} + +label { + display: flex; + align-items: center; + gap: 8px; + cursor: pointer; + font-size: 14px; + color: var(--text); + user-select: none; +} + +input[type="checkbox"] { + width: 18px; + height: 18px; + cursor: pointer; + accent-color: var(--accent); +} + +a { + color: var(--accent); + text-decoration: none; + font-weight: 500; + transition: var(--transition); +} + +a:hover { + color: var(--accent-hover); + text-decoration: underline; +} + +/* 事件状态颜色 */ +.event[data-status="done"] .tag { background: var(--success); } +.event[data-status="doing"] .tag { background: var(--accent); } +.event[data-status="pause"] .tag { background: var(--warning); } +.event[data-status="close"] .tag { background: var(--danger); } +.event[data-status="new"] .tag { background: #9b59b6; } + +/* 搜索结果高亮 */ +#search-results .event { + cursor: pointer; +} + +#search-results .event:hover { + background: var(--bg); +} + +/* 版本对比 */ +#diff-output { + max-height: 500px; + overflow-y: auto; + padding: 16px; + background: var(--bg); + border-radius: var(--radius-sm); + font-family: 'Consolas', 'Monaco', monospace; + font-size: 13px; +} + +/* 模态框系统 */ +.modal-overlay { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.6); + display: none; + justify-content: center; + align-items: center; + z-index: 1000; + backdrop-filter: blur(8px); + opacity: 0; + transition: opacity 0.3s ease, backdrop-filter 0.3s ease; +} + +.modal-overlay.active { + display: flex; + opacity: 1; +} + +.modal { + position: relative; + background: var(--surface); + border-radius: 16px; + padding: 0; + max-width: 500px; + width: 90vw; + max-height: 80vh; + overflow: hidden; + box-shadow: 0 25px 50px rgba(0, 0, 0, 0.25); + animation: modalSlideIn 0.4s cubic-bezier(0.16, 1, 0.3, 1); + border: 1px solid rgba(255, 255, 255, 0.1); + display: block; +} + +.btn.btn-secondary { + background: transparent; + color: var(--text-muted); + border: 1px solid var(--border); + box-shadow: none; + font-weight: 500; + transition: all 0.2s ease; +} + +.btn.btn-secondary:hover { + background: var(--bg); + color: var(--primary); + border-color: var(--primary-light); + transform: translateY(-1px); + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); +} + +.btn.btn-secondary::before { + display: none; +} + +@keyframes modalSlideIn { + from { + opacity: 0; + transform: translateY(20px) scale(0.96); + } + to { + opacity: 1; + transform: translateY(0) scale(1); + } +} + +.modal-header { + padding: 16px 24px; + border-bottom: 1px solid rgba(0, 0, 0, 0.06); + margin-bottom: 0; + display: flex; + align-items: center; + justify-content: space-between; + background: var(--surface); + color: var(--text); +} + +.modal-header h3 { + margin: 0; + font-size: 1.125rem; + font-weight: 600; + color: var(--text); + letter-spacing: -0.3px; +} + +.modal-body { + padding: 24px; + font-size: 14px; + color: var(--text); + line-height: 1.6; + background: var(--surface); +} + +.modal-footer { + padding: 16px 24px; + display: flex; + gap: 12px; + justify-content: flex-end; + background: var(--surface); + border-top: none; +} + +.modal-close { + position: static; + background: transparent; + border: none; + font-size: 20px; + cursor: pointer; + color: var(--text-muted); + transition: var(--transition); + width: 32px; + height: 32px; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; +} + +.modal-close:hover { + background: rgba(0, 0, 0, 0.05); + color: var(--text); + transform: rotate(90deg); +} + +/* 移动端菜单按钮 */ +.mobile-menu-btn { + display: none; + background: var(--accent); + color: white; + border: none; + border-radius: var(--radius-sm); + padding: 8px 12px; + cursor: pointer; + font-size: 14px; + position: fixed; + top: 16px; + left: 16px; + z-index: 999; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); + transition: var(--transition); +} + +.mobile-menu-btn:hover { + background: var(--accent-hover); + transform: translateY(-1px); +} + +/* 二级按钮样式 */ +.btn-secondary { + background: var(--text-muted); + color: white; +} + +.btn-secondary:hover { + background: #4b5563; +} + +/* 滚动条美化 */ +::-webkit-scrollbar { + width: 6px; + height: 6px; +} + +::-webkit-scrollbar-track { + background: var(--bg); + border-radius: 3px; +} + +::-webkit-scrollbar-thumb { + background: var(--border); + border-radius: 3px; + transition: var(--transition); +} + +::-webkit-scrollbar-thumb:hover { + background: var(--text-muted); +} + +/* 微妙的渐变效果 */ +.gradient-text { + background: linear-gradient(135deg, var(--accent), var(--primary)); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + background-clip: text; +} + +/* 悬停效果增强 */ +.nav-item, .btn, .card { + transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); +} + +/* 加载状态 */ +.loading { + opacity: 0.7; + pointer-events: none; + position: relative; +} + +.loading::after { + content: ''; + position: absolute; + top: 50%; + left: 50%; + width: 20px; + height: 20px; + margin: -10px 0 0 -10px; + border: 2px solid var(--accent); + border-radius: 50%; + border-top-color: transparent; + animation: spin 1s linear infinite; +} + +@keyframes spin { + to { transform: rotate(360deg); } +} + +/* 空状态样式 */ +.empty-state { + text-align: center; + padding: 60px 20px; + color: var(--text-muted); + background: var(--surface); + border-radius: 12px; + border: 2px dashed var(--border); + margin: 20px 0; +} + +.empty-state-icon { + font-size: 56px; + margin-bottom: 16px; + opacity: 0.4; +} + +.empty-state-text { + font-size: 16px; + line-height: 1.5; + margin-bottom: 20px; +} + +.empty-state-action { + margin-top: 16px; +} + +/* 事件列表容器 */ +#events.list { + display: grid; + gap: 16px; + margin-top: 20px; +} + +/* 事件状态特定样式 */ +.event[data-status="done"] { + border-left-color: var(--success); + background: linear-gradient(135deg, var(--surface) 0%, rgba(16, 185, 129, 0.03) 100%); +} + +.event[data-status="doing"] { + border-left-color: var(--accent); + background: linear-gradient(135deg, var(--surface) 0%, rgba(45, 140, 255, 0.03) 100%); +} + +.event[data-status="pause"] { + border-left-color: var(--warning); + background: linear-gradient(135deg, var(--surface) 0%, rgba(245, 158, 11, 0.03) 100%); +} + +.event[data-status="close"] { + border-left-color: var(--danger); + background: linear-gradient(135deg, var(--surface) 0%, rgba(239, 68, 68, 0.03) 100%); +} + +.event[data-status="new"] { + border-left-color: #9b59b6; + background: linear-gradient(135deg, var(--surface) 0%, rgba(155, 89, 182, 0.03) 100%); +} + +/* 活动项样式 */ +.activity-item { + padding: 12px 0; + border-bottom: 1px solid var(--border); +} + +.activity-item:last-child { + border-bottom: none; +} + +.activity-type { + font-size: 0.75rem; + color: var(--accent); + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.5px; + margin-bottom: 4px; +} + +.activity-content { + font-size: 0.875rem; + color: var(--text); + line-height: 1.4; + margin-bottom: 4px; +} + +.activity-time { + font-size: 0.75rem; + color: var(--text-muted); +} + +/* 提醒列表 */ +#reminders .event { + border-left: 4px solid var(--warning); +} + +/* 加载动画 */ +@keyframes pulse { + 0%, 100% { opacity: 1; } + 50% { opacity: 0.5; } +} + +.loading { + animation: pulse 1.5s ease-in-out infinite; +} + +/* 滚动条美化 */ +::-webkit-scrollbar { + width: 8px; + height: 8px; +} + +::-webkit-scrollbar-track { + background: var(--bg); + border-radius: 4px; +} + +::-webkit-scrollbar-thumb { + background: var(--border); + border-radius: 4px; + transition: var(--transition); +} + +::-webkit-scrollbar-thumb:hover { + background: var(--text-muted); +} diff --git a/public/tools/weekly/weekly.css b/public/tools/weekly/weekly.css new file mode 100644 index 0000000..ca50463 --- /dev/null +++ b/public/tools/weekly/weekly.css @@ -0,0 +1,1765 @@ +:root { + --gap: 16px; + /* 金融投资行业配色:低饱和度藏蓝/深灰 + 浅青点缀 */ + --primary: #1e2a3a; + --primary-light: #2c3e50; + --accent: #2d8cff; + --accent-hover: #1a75d9; + --success: #10b981; + --warning: #f59e0b; + --danger: #ef4444; + --text: #1f2937; + --text-muted: #6b7280; + /* 背景:米白或浅灰(长时间看屏幕不累眼) */ + --bg: #fafaf9; + --surface: #ffffff; + --border: #e5e7eb; + --shadow: rgba(0, 0, 0, 0.06); + --shadow-hover: rgba(0, 0, 0, 0.1); + /* 圆角:4-6px */ + --radius: 6px; + --radius-sm: 4px; + --radius-lg: 8px; + --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); +} + +.container { + max-width: 1400px; + margin: 0 auto; + padding: 24px; + background: var(--bg); + min-height: calc(100vh - 48px); + font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; +} + +.card { + border: 1px solid var(--border); + border-radius: var(--radius); + padding: 28px; + margin-bottom: 24px; + background: var(--surface); + box-shadow: 0 1px 3px var(--shadow); + transition: var(--transition); + position: relative; + overflow: hidden; +} + +.card::before { + content: ''; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 1px; + background: linear-gradient(90deg, transparent, var(--accent), transparent); + opacity: 0; + transition: var(--transition); +} + +.card:hover { + box-shadow: 0 4px 12px var(--shadow-hover); + transform: translateY(-1px); +} + +.card:hover::before { + opacity: 1; +} + +.card h2, .card h3 { + margin: 0 0 24px 0; + color: var(--primary); + font-weight: 600; + font-size: 1.375rem; + letter-spacing: -0.3px; + line-height: 1.3; +} + +.bar { + display: flex; + gap: 16px; + align-items: center; + flex-wrap: wrap; + padding: 24px; + background: var(--surface); + border-radius: var(--radius); + margin-bottom: 24px; + box-shadow: 0 1px 3px var(--shadow); + border: 1px solid var(--border); + position: relative; +} + +.bar::before { + content: ''; + position: absolute; + top: 0; + left: 0; + width: 4px; + height: 100%; + background: linear-gradient(to bottom, var(--accent), var(--primary)); + border-radius: var(--radius) 0 0 var(--radius); +} + +.form { + display: flex; + gap: 12px; + align-items: center; + flex-wrap: wrap; + margin-bottom: 16px; +} + +/* 新的布局系统 */ +.app-layout { + display: flex; + gap: 0; + min-height: calc(100vh - 48px); +} + +.sidebar { + flex-shrink: 0; +} + +.main-content { + flex: 1; + min-width: 0; +} + +.sidebar { + background: var(--surface); + border-right: 1px solid var(--border); + padding: 0; + position: sticky; + top: 0; + height: 100vh; + overflow-y: auto; + transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); + width: 280px; + flex-shrink: 0; +} + +.sidebar.collapsed { + width: auto; + min-width: 60px; +} + +.sidebar.collapsed .sidebar-header h3 { + display: none; +} + +.sidebar.collapsed .nav-text { + display: none; +} + +.sidebar.collapsed .toggle-icon { + transform: rotate(180deg); +} + +.sidebar.collapsed .nav-item { + justify-content: center; + padding: 12px 16px; + min-width: 60px; +} + +.sidebar.collapsed .nav-icon { + font-size: 18px; + width: auto; +} + +.sidebar-header { + padding: 24px; + border-bottom: 1px solid var(--border); + background: linear-gradient(135deg, var(--primary), var(--primary-light)); + color: white; + margin: 0; + display: flex; + justify-content: space-between; + align-items: center; +} + +.sidebar-header h3 { + margin: 0; + font-size: 1.25rem; + font-weight: 600; + color: white; + flex: 1; +} + +.sidebar-toggle { + background: none; + border: none; + color: white; + cursor: pointer; + padding: 4px 8px; + border-radius: var(--radius-sm); + transition: var(--transition); + opacity: 0.8; +} + +.sidebar-toggle:hover { + background: rgba(255, 255, 255, 0.1); + opacity: 1; +} + +.toggle-icon { + font-size: 12px; + transition: transform 0.3s ease; +} + +.sidebar-nav { + padding: 16px 0; +} + +.nav-item { + display: flex; + align-items: center; + gap: 12px; + padding: 12px 24px; + width: 100%; + border: none; + background: transparent; + color: var(--text); + cursor: pointer; + transition: var(--transition); + font-size: 14px; + font-weight: 500; + position: relative; +} + +.nav-item::before { + content: ''; + position: absolute; + left: 0; + top: 0; + bottom: 0; + width: 3px; + background: var(--accent); + transform: scaleX(0); + transition: var(--transition); +} + +.nav-item:hover { + background: var(--bg); + color: var(--primary); +} + +.nav-item.active { + background: rgba(45, 140, 255, 0.1); + color: var(--accent); +} + +.nav-item.active::before { + transform: scaleX(1); +} + +.nav-icon { + font-size: 16px; + width: 20px; + text-align: center; +} + +.main-content { + padding: 0; + background: var(--bg); +} + +.top-bar { + background: var(--surface); + padding: 20px 24px; + border-bottom: 1px solid var(--border); + display: flex; + justify-content: space-between; + align-items: center; + flex-wrap: wrap; + gap: 16px; +} + +.time-controls, .quick-actions { + display: flex; + gap: 12px; + align-items: center; + flex-wrap: wrap; +} + +.view-container { + padding: 24px; +} + +.view { + display: none; +} + +.view.active { + display: block; +} + +/* 概览视图样式 */ +.card-header-sm { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 24px; +} + +.card-header-sm h3 { + margin: 0; +} + +.btn-icon { + background: transparent; + border: 1px solid var(--border); + cursor: pointer; + font-size: 14px; + padding: 4px 8px; + border-radius: var(--radius-sm); + transition: all 0.2s; + color: var(--text-muted); + display: flex; + align-items: center; + justify-content: center; +} + +.btn-icon:hover { + background: var(--bg); + color: var(--accent); + border-color: var(--accent); +} + +.overview-grid { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 24px; + margin-bottom: 24px; +} + +.overview-card.full-width { + grid-column: span 2; +} + +@media (max-width: 900px) { + .overview-grid { + grid-template-columns: 1fr; + } + .overview-card.full-width { + grid-column: span 1; + } +} + +.backlog-widget { + text-align: center; + padding: 12px; +} + +.stat-item.warning .stat-value { + color: var(--warning); +} + +.backlog-desc { + color: var(--text-muted); + font-size: 13px; + margin-top: 8px; +} + +/* 简易柱状图 */ +.chart-container { + height: 240px; + display: flex; + align-items: flex-end; + justify-content: space-between; + padding-top: 20px; + gap: 8px; +} + +.chart-col { + flex: 1; + display: flex; + flex-direction: column; + align-items: center; + gap: 6px; + height: 100%; + justify-content: flex-end; + position: relative; +} + +.chart-bar-group { + width: 100%; + height: 100%; + display: flex; + align-items: flex-end; + justify-content: center; + background: rgba(0,0,0,0.02); + border-radius: 4px 4px 0 0; + position: relative; + overflow: hidden; +} + +.chart-bar { + width: 100%; + background: var(--accent); + transition: height 0.5s ease; + min-height: 2px; + position: relative; + border-radius: 2px 2px 0 0; +} + +.chart-bar.completed { + background: var(--success); + position: absolute; + bottom: 0; + left: 0; + width: 100%; + z-index: 2; + opacity: 0.8; +} + +.chart-bar.total { + background: var(--primary-light); + opacity: 0.2; + z-index: 1; +} + +.chart-label { + font-size: 11px; + color: var(--text-muted); + transform: rotate(-45deg); + transform-origin: center; + white-space: nowrap; + margin-top: 4px; +} + +.chart-val { + font-size: 10px; + color: var(--text); + position: absolute; + top: -16px; +} + +/* 热力图 */ +.heatmap-container { + display: flex; + flex-direction: column; + gap: 4px; +} +.heatmap-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(12px, 1fr)); + gap: 3px; + margin-top: 8px; +} +.heatmap-cell { + width: 12px; + height: 12px; + border-radius: 2px; + background: #ebedf0; +} +.heatmap-cell[data-level="1"] { background: #9be9a8; } +.heatmap-cell[data-level="2"] { background: #40c463; } +.heatmap-cell[data-level="3"] { background: #30a14e; } +.heatmap-cell[data-level="4"] { background: #216e39; } + +.heatmap-legend { + display: flex; + gap: 4px; + align-items: center; + font-size: 11px; + color: var(--text-muted); + justify-content: flex-end; + margin-top: 8px; +} + +.overview-card { + background: var(--surface); + border: 1px solid var(--border); + border-radius: var(--radius); + padding: 24px; + box-shadow: 0 1px 3px var(--shadow); +} + +.overview-card h3 { + margin: 0 0 20px 0; + color: var(--primary); + font-size: 1.125rem; + font-weight: 600; +} + +.stats { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 16px; +} + +.stat-item { + text-align: center; + padding: 16px; + background: var(--bg); + border-radius: var(--radius-sm); +} + +.stat-value { + display: block; + font-size: 2rem; + font-weight: 700; + color: var(--accent); + line-height: 1; +} + +.stat-label { + display: block; + font-size: 0.875rem; + color: var(--text-muted); + margin-top: 4px; +} + +.activities { + max-height: 300px; + overflow-y: auto; +} + +.activity-empty { + text-align: center; + color: var(--text-muted); + font-style: italic; + padding: 20px; +} + +.card-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 20px; +} + +.card-header h3 { + margin: 0; +} + +.grid-2 { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 20px; +} + +/* 响应式设计 */ +@media (max-width: 1200px) { + .app-layout { + grid-template-columns: 240px 1fr; + } + + .overview-grid { + grid-template-columns: 1fr; + } +} + +@media (max-width: 900px) { + .app-layout { + flex-direction: column; + } + + .sidebar { + position: fixed; + top: 0; + left: -280px; + width: 280px !important; /* 移动端固定宽度 */ + height: 100vh; + z-index: 1000; + transition: left 0.3s ease; + } + + .sidebar.active { + left: 0; + } + + .sidebar.collapsed { + width: 200px !important; /* 移动端收起时也保持较宽宽度,便于触摸操作 */ + } + + .main-content { + margin-left: 0; + width: 100%; + } + + .top-bar { + flex-direction: column; + align-items: stretch; + } + + .time-controls, .quick-actions { + justify-content: center; + } + + .grid-2 { + grid-template-columns: 1fr; + } + + .container { + padding: 16px; + } + + .stats { + grid-template-columns: 1fr; + } + + /* 移动端菜单项优化 */ + .nav-item { + padding: 16px 24px; /* 增大触摸区域 */ + min-height: 48px; + } + + /* 移动端收起按钮优化 */ + .sidebar-toggle { + padding: 8px 12px; /* 增大触摸区域 */ + min-height: 32px; + } +} + +@media (max-width: 600px) { + .view-container { + padding: 16px; + } + + .overview-card { + padding: 16px; + } + + .top-bar { + padding: 16px; + } +} + +input[type="text"], +input[type="password"], +input[type="datetime-local"], +input:not([type]), +textarea, +select, +#report-summary, +#ev-title, +#search-q, +#login-user, +#login-pass { + padding: 10px 14px; + border: 1px solid var(--border); + border-radius: var(--radius-sm); + font-size: 14px; + color: var(--text); + background: var(--surface); + transition: var(--transition); + font-family: inherit; + outline: none; + min-width: 200px; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05); +} + +#report-title { + padding: 10px 14px; + border: 1px solid var(--border); + border-radius: var(--radius-sm); + font-size: 16px; + font-weight: 500; + color: var(--text); + background: var(--surface); + transition: var(--transition); + font-family: inherit; + outline: none; + width: 100%; + box-sizing: border-box; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05); + margin-bottom: 12px; +} + +input:focus, +textarea:focus, +select:focus { + border-color: var(--accent); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05), 0 0 0 2px rgba(45, 140, 255, 0.1); + outline: none; +} + +select { + cursor: pointer; + background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%232c3e50' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); + background-repeat: no-repeat; + background-position: right 12px center; + padding-right: 36px; + appearance: none; +} + +.btn { + padding: 10px 20px; + background: var(--accent); + color: white; + border: none; + border-radius: var(--radius-sm); + font-size: 14px; + font-weight: 500; + cursor: pointer; + transition: var(--transition); + white-space: nowrap; + box-shadow: 0 1px 2px rgba(45, 140, 255, 0.15); + position: relative; + overflow: hidden; + letter-spacing: 0.3px; +} + +.btn::before { + content: ''; + position: absolute; + top: 0; + left: -100%; + width: 100%; + height: 100%; + background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent); + transition: left 0.5s; +} + +.btn:hover::before { + left: 100%; +} + +.btn:hover { + background: var(--accent-hover); + transform: translateY(-1px); + box-shadow: 0 2px 8px rgba(45, 140, 255, 0.2); +} + +.btn:active { + transform: translateY(0); + box-shadow: 0 1px 2px rgba(45, 140, 255, 0.1); +} + +.editor { + min-height: 280px; + border: 1px solid var(--border); + border-radius: var(--radius-sm); + padding: 16px; + background: var(--surface); + font-size: 14px; + line-height: 1.7; + color: var(--text); + transition: var(--transition); + overflow-y: auto; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.editor:focus { + border-color: var(--accent); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05), 0 0 0 2px rgba(45, 140, 255, 0.1); + outline: none; +} + +.editor[contenteditable]:empty::before { + content: attr(placeholder); + color: var(--text-muted); + opacity: 0.6; + font-style: italic; +} + +#report-content { + min-height: 400px; +} + +#ev-content { + min-height: 120px; + width: 100%; +} + +.toolbar { + margin: 16px 0; + padding: 8px 12px; + background: #f8f9fa; + border-radius: var(--radius-sm); + border: 1px solid var(--border); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05); + position: relative; +} + +.toolbar-group { + display: flex; + gap: 0; + align-items: center; + flex-wrap: wrap; +} + +.emoji-panel { + position: absolute; + top: calc(100% + 6px); + left: 8px; + background: var(--surface); + border: 1px solid var(--border); + border-radius: var(--radius-sm); + padding: 8px; + box-shadow: 0 4px 12px rgba(0,0,0,0.08); + display: block; + z-index: 1000; +} +.emoji-panel.hidden { display: none; } +.emoji-tabs { + display: flex; + gap: 6px; + margin-bottom: 8px; +} +.emoji-tabs button { + padding: 4px 8px; + border: 1px solid var(--border); + border-radius: var(--radius-sm); + background: var(--bg); + color: var(--text); + cursor: pointer; + font-size: 12px; +} +.emoji-tabs button.active { + background: var(--surface); + border-color: var(--accent); +} +.emoji-list { + display: grid; + grid-template-columns: repeat(10, 28px); + gap: 6px; +} +.emoji-list button { + width: 28px; + height: 28px; + border: none; + background: transparent; + cursor: pointer; + font-size: 18px; + line-height: 1; + border-radius: 6px; +} +.emoji-list button:hover { + background: #f3f4f6; +} + +.toolbar #font-color { display: none } +.toolbar #font-size { width: 60px } + +.toolbar-btn { + position: relative; + padding: 6px 8px; + background: transparent; + border: 1px solid transparent; + border-radius: var(--radius-sm); + cursor: pointer; + transition: all 0.2s ease; + font-size: 14px; + color: var(--text); + display: flex; + align-items: center; + justify-content: center; + min-width: 32px; + height: 28px; + margin: 0; +} + +.toolbar-btn:hover { + background: #e3f2fd; + border-color: #90caf9; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); +} + +.toolbar-btn:active { + background: #bbdefb; + transform: translateY(1px); +} + +.toolbar-btn.active { + background: #bbdefb; + border-color: #64b5f6; +} + +.toolbar-icon { + font-weight: 600; + font-size: 13px; + line-height: 1; +} + +/* Word风格的图标样式 */ +.toolbar-btn[data-cmd="bold"] .toolbar-icon { + font-weight: 700; + font-family: 'Arial', sans-serif; +} + +.toolbar-btn[data-cmd="italic"] .toolbar-icon { + font-style: italic; + font-family: 'Arial', sans-serif; +} + +.toolbar-btn[data-cmd="underline"] .toolbar-icon { + text-decoration: underline; + font-family: 'Arial', sans-serif; +} + +.toolbar-btn[data-cmd="h1"] .toolbar-icon, +.toolbar-btn[data-cmd="h2"] .toolbar-icon { + font-weight: 600; + font-size: 12px; + font-family: 'Segoe UI', sans-serif; +} + +/* Tooltip样式 */ +.tooltip { + position: absolute; + top: 100%; + left: 50%; + transform: translateX(-50%) translateY(8px); + background: #333; + color: white; + padding: 4px 8px; + border-radius: 3px; + font-size: 12px; + white-space: nowrap; + opacity: 0; + visibility: hidden; + transition: all 0.2s ease; + z-index: 1000; + pointer-events: none; +} + +.tooltip::before { + content: ''; + position: absolute; + bottom: 100%; + left: 50%; + transform: translateX(-50%); + border: 4px solid transparent; + border-bottom-color: #333; +} + +.toolbar-btn:hover .tooltip { + opacity: 1; + visibility: visible; + transform: translateX(-50%) translateY(4px); +} + +/* 工具栏分隔符 */ +.toolbar-separator { + width: 1px; + height: 20px; + background: var(--border); + margin: 0 4px; +} + +/* 文件输入包装器 */ +.file-input-wrapper { + position: relative; + display: inline-block; +} + +.file-input-wrapper input[type="file"] { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + opacity: 0; + cursor: pointer; +} + +.header-actions { display:flex; gap:12px } + +.toolbar .btn { + padding: 6px 12px; + font-size: 13px; + background: transparent; + color: #374151; + box-shadow: none; + border-radius: 5px; + font-weight: 500; + min-width: auto; + transition: all 0.15s ease; + border: 1px solid transparent; + position: relative; +} + +.toolbar .btn:hover { + background: #f3f4f6; + color: #1f2937; + transform: none; + box-shadow: none; +} + +.toolbar .btn:active { + background: #e5e7eb; + transform: scale(0.97); +} + +.toolbar .btn::before { + display: none; +} + +/* 工具栏分隔符 */ +.toolbar .btn[data-cmd="h1"]::before, +.toolbar .btn[data-cmd="ul"]::before, +.toolbar .btn[data-cmd="code"]::before { + content: ''; + position: absolute; + left: -4px; + top: 50%; + transform: translateY(-50%); + width: 1px; + height: 20px; + background: #e5e7eb; + display: block; +} + +/* 按钮图标优化 */ +.toolbar .btn[data-cmd="bold"] { + font-weight: 700; + font-family: Georgia, serif; +} + +.toolbar .btn[data-cmd="italic"] { + font-style: italic; + font-family: Georgia, serif; +} + +.toolbar .btn[data-cmd="underline"] { + text-decoration: underline; +} + +.toolbar .btn[data-cmd="h1"], +.toolbar .btn[data-cmd="h2"] { + font-weight: 600; + font-size: 12px; + color: #6b7280; +} + +.toolbar .btn[data-cmd="ul"], +.toolbar .btn[data-cmd="ol"] { + font-size: 14px; +} + +.toolbar .btn[data-cmd="quote"] { + font-size: 16px; + font-weight: 600; + color: #6b7280; +} + +.toolbar .btn[data-cmd="code"] { + font-family: 'Consolas', 'Monaco', monospace; + font-size: 12px; + color: #6b7280; +} + +.toolbar .btn[data-cmd="link"] { + color: #3b82f6; + font-weight: 500; +} + +.toolbar .btn[data-cmd="img"] { + color: #10b981; + font-weight: 500; +} + +.toolbar .btn[data-cmd="clear"] { + color: #ef4444; + margin-left: 4px; + font-size: 12px; +} + +.toolbar #font-color { + width: 32px; + height: 28px; + padding: 0; + margin: 0 6px; + border: 1px solid var(--border); + border-radius: var(--radius-sm); + background: var(--surface); + cursor: pointer; +} + +.toolbar #font-size { + height: 28px; + margin: 0 6px; + padding: 0 4px; + width: 38px; + text-align: center; + border: 1px solid var(--border); + border-radius: var(--radius-sm); + background: var(--surface); + color: var(--text); +} + +/* Settings Tabs */ +.settings-tabs { + display: flex; + gap: 8px; + border-bottom: 1px solid var(--border); + margin-bottom: 20px; +} + +.tab-btn { + padding: 10px 20px; + border: 1px solid transparent; + border-bottom: none; + background: transparent; + cursor: pointer; + font-size: 14px; + font-weight: 500; + color: var(--text-muted); + border-radius: var(--radius) var(--radius) 0 0; + transition: all 0.2s; + position: relative; + top: 1px; +} + +.tab-btn:hover { + color: var(--accent); + background: rgba(0, 0, 0, 0.02); +} + +.tab-btn.active { + background: var(--surface); + border-color: var(--border); + border-bottom-color: var(--surface); + color: var(--accent); + font-weight: 600; +} + +.tab-content { + display: none; +} + +.tab-content.active { + display: block; + animation: fadeIn 0.3s ease; +} + +@keyframes fadeIn { + from { opacity: 0; transform: translateY(4px); } + to { opacity: 1; transform: translateY(0); } +} + + +#img-file { + display: none; +} + +.list { + display: grid; + gap: 12px; + margin-top: 16px; +} + +.event { + border: 1px solid var(--border); + border-radius: 12px; + padding: 20px; + margin-bottom: 16px; + background: var(--surface); + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); + transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); + position: relative; + overflow: hidden; + border-left: 4px solid var(--accent); +} + +.event:hover { + border-color: var(--accent); + box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12); + transform: translateY(-2px); + border-left-width: 6px; +} + +.event-header { + display: flex; + align-items: flex-start; + justify-content: space-between; + margin-bottom: 12px; + gap: 12px; +} + +.event-title-wrapper { + flex: 1; + min-width: 0; +} + +.event-title { + font-size: 16px; + font-weight: 600; + color: var(--primary); + margin: 0 0 8px 0; + line-height: 1.4; + word-wrap: break-word; +} + +.event-meta { + display: flex; + flex-wrap: wrap; + gap: 12px; + margin-bottom: 12px; +} + +.event-meta-item { + display: flex; + align-items: center; + gap: 6px; + font-size: 13px; + color: var(--text-muted); +} + +.event-meta-icon { + font-size: 14px; + opacity: 0.7; +} + +.event-body { + color: var(--text); + font-size: 14px; + line-height: 1.6; + margin-bottom: 16px; + word-wrap: break-word; +} + +.event-body p { + margin: 0 0 8px 0; +} + +.event-body p:last-child { + margin-bottom: 0; +} + +.event-actions { + display: flex; + gap: 8px; + flex-wrap: wrap; + margin-top: 16px; + padding-top: 12px; + border-top: 1px solid rgba(0, 0, 0, 0.06); +} + +.event-actions .btn { + padding: 6px 12px; + font-size: 13px; + border-radius: 6px; + min-height: 32px; +} + +.review-meta { + color: var(--text-muted); + font-size: 13px; +} + +.reviews { + margin-top: 12px; + border-top: 1px dashed var(--border); + padding-top: 12px; + display: grid; + gap: 10px; +} +.review-title { font-weight: 600; color: var(--primary); } +.review-item { background: var(--bg); border: 1px solid var(--border); border-radius: 8px; padding: 10px; } +.review-meta { font-size: 12px; color: var(--text-muted); margin-bottom: 6px; } +.review-content { font-size: 14px; color: var(--text); line-height: 1.6; } + +.attachments { + margin-top: 8px; + display: grid; + gap: 6px; +} +.att-title { font-weight: 600; color: var(--primary); } +.att-empty { font-size: 13px; color: var(--text-muted) } +.att-item a { color: var(--accent) } +.att-progress { height: 8px; background: var(--bg); border: 1px solid var(--border); border-radius: 6px; overflow: hidden } +.att-progress-bar { height: 100%; width: 0%; background: var(--accent); transition: width 0.2s } +.att-progress-text { font-size: 12px; color: var(--text-muted) } + +.status { + color: var(--danger); + font-weight: 500; + padding: 4px 8px; + background: rgba(231, 76, 60, 0.1); + border-radius: 4px; + display: inline-block; + font-size: 13px; +} + +.tag { + font-weight: 600; + margin-right: 8px; + padding: 4px 12px; + background: var(--accent); + color: white; + border-radius: 16px; + font-size: 12px; + display: inline-block; + letter-spacing: 0.5px; +} + +#auth { + max-width: 450px; + margin: 60px auto; + text-align: center; +} + +#auth .form { + flex-direction: column; + align-items: stretch; + gap: 16px; +} + +#auth input { + width: 100%; + min-width: auto; +} + +#auth .btn { + width: 100%; + padding: 12px; + font-size: 16px; + margin-top: 8px; +} + +textarea { + resize: vertical; + width: 100%; + font-family: inherit; +} + +label { + display: flex; + align-items: center; + gap: 8px; + cursor: pointer; + font-size: 14px; + color: var(--text); + user-select: none; +} + +input[type="checkbox"] { + width: 18px; + height: 18px; + cursor: pointer; + accent-color: var(--accent); +} + +a { + color: var(--accent); + text-decoration: none; + font-weight: 500; + transition: var(--transition); +} + +a:hover { + color: var(--accent-hover); + text-decoration: underline; +} + +/* 事件状态颜色 */ +.event[data-status="done"] .tag { background: var(--success); } +.event[data-status="doing"] .tag { background: var(--accent); } +.event[data-status="pause"] .tag { background: var(--warning); } +.event[data-status="close"] .tag { background: var(--danger); } +.event[data-status="new"] .tag { background: #9b59b6; } + +/* 搜索结果高亮 */ +#search-results .event { + cursor: pointer; +} + +#search-results .event:hover { + background: var(--bg); +} + +/* 版本对比 */ +#diff-output { + max-height: 500px; + overflow-y: auto; + padding: 16px; + background: var(--bg); + border-radius: var(--radius-sm); + font-family: 'Consolas', 'Monaco', monospace; + font-size: 13px; +} + +/* 模态框系统 */ +.modal-overlay { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.4); + display: none; + justify-content: center; + align-items: center; + z-index: 1000; + opacity: 0; + transition: opacity 0.2s ease; +} + +.modal-overlay.active { + display: flex; + opacity: 1; +} + +/* Modal System - Windows Style Override */ +#modal { + position: relative; + background: #ffffff; + border-radius: 0; + padding: 0; + max-width: 500px; + width: 90vw; + max-height: 80vh; + overflow: hidden; + box-shadow: 0 0 0 1px #0078d7, 0 8px 16px rgba(0, 0, 0, 0.4); + animation: modalAppear 0.1s ease-out; + border: 1px solid #0078d7; + display: block; + /* Reset potential conflicts from common.css */ + inset: auto; + place-items: normal; + grid-template-columns: none; +} + +.btn.btn-secondary { + background: #e1e1e1; + color: #000; + border: 1px solid #adadad; + box-shadow: none; + font-weight: 400; + transition: all 0.1s; + min-width: 70px; + border-radius: 2px; +} + +.btn.btn-secondary:hover { + background: #e5f1fb; + border-color: #0078d7; + color: #000; + transform: none; + box-shadow: none; +} + +.btn.btn-secondary::before { + display: none; +} + +@keyframes modalAppear { + from { + opacity: 0; + transform: scale(0.95); + } + to { + opacity: 1; + transform: scale(1); + } +} + +#modal-header { + padding: 0; + height: 32px; + border-bottom: none; + margin: 0; + display: flex; + align-items: center; + justify-content: space-between; + background: #0078d7; + color: #ffffff; + width: 100%; + box-sizing: border-box; +} + +#modal-title { + margin: 0; + font-size: 13px; + font-weight: 400; + color: #ffffff; + letter-spacing: 0.5px; + padding-left: 12px; + flex: 1; + user-select: none; + text-align: left; +} + +#modal-close { + position: static; + background: transparent; + border: none; + font-size: 16px; + cursor: pointer; + color: #ffffff; + transition: background-color 0.1s; + width: 46px; + height: 32px; + border-radius: 0; + display: flex; + align-items: center; + justify-content: center; + font-family: "Segoe UI", sans-serif; + margin: 0; + padding: 0; +} + +#modal-close:hover { + background: #e81123 !important; + color: white !important; +} + +#modal-body { + padding: 24px 20px; + font-size: 14px; + color: #000; + line-height: 1.5; + background: #ffffff; + min-height: 80px; + /* Reset common.css conflicts */ + width: 100%; + max-width: none; + border-radius: 0; + display: block; +} + +#modal-footer { + padding: 12px 16px; + display: flex; + gap: 12px; + justify-content: space-between; + align-items: center; + background: #f0f0f0; + border-top: 1px solid #dfdfdf; + width: 100%; + box-sizing: border-box; +} + +.modal-status { + font-size: 12px; + color: #666; + flex: 1; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.modal-actions { + display: flex; + gap: 8px; + align-items: center; +} + +.modal-status { + color: var(--text-muted); + font-size: 12px; +} +.modal-status .countdown { + font-weight: 600; + color: var(--primary); +} + +/* 移动端菜单按钮 */ +.mobile-menu-btn { + display: none; + background: var(--accent); + color: white; + border: none; + border-radius: var(--radius-sm); + padding: 8px 12px; + cursor: pointer; + font-size: 14px; + position: fixed; + top: 16px; + left: 16px; + z-index: 999; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); + transition: var(--transition); +} + +.mobile-menu-btn:hover { + background: var(--accent-hover); + transform: translateY(-1px); +} + +/* 二级按钮样式 */ +.btn-secondary { + background: var(--text-muted); + color: white; +} + +.btn-secondary:hover { + background: #4b5563; +} + +/* 滚动条美化 */ +::-webkit-scrollbar { + width: 6px; + height: 6px; +} + +::-webkit-scrollbar-track { + background: var(--bg); + border-radius: 3px; +} + +::-webkit-scrollbar-thumb { + background: var(--border); + border-radius: 3px; + transition: var(--transition); +} + +::-webkit-scrollbar-thumb:hover { + background: var(--text-muted); +} + +/* 微妙的渐变效果 */ +.gradient-text { + background: linear-gradient(135deg, var(--accent), var(--primary)); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + background-clip: text; +} + +/* 悬停效果增强 */ +.nav-item, .btn, .card { + transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); +} + +/* 加载状态 */ +.loading { + opacity: 0.7; + pointer-events: none; + position: relative; +} + +.loading::after { + content: ''; + position: absolute; + top: 50%; + left: 50%; + width: 20px; + height: 20px; + margin: -10px 0 0 -10px; + border: 2px solid var(--accent); + border-radius: 50%; + border-top-color: transparent; + animation: spin 1s linear infinite; +} + +@keyframes spin { + to { transform: rotate(360deg); } +} + +/* 空状态样式 */ +.empty-state { + text-align: center; + padding: 60px 20px; + color: var(--text-muted); + background: var(--surface); + border-radius: 12px; + border: 2px dashed var(--border); + margin: 20px 0; +} + +.empty-state-icon { + font-size: 56px; + margin-bottom: 16px; + opacity: 0.4; +} + +.empty-state-text { + font-size: 16px; + line-height: 1.5; + margin-bottom: 20px; +} + +.empty-state-action { + margin-top: 16px; +} + +/* 事件列表容器 */ +#events.list { + display: grid; + gap: 16px; + margin-top: 20px; +} + +/* 事件状态特定样式 */ +.event[data-status="done"] { + border-left-color: var(--success); + background: linear-gradient(135deg, var(--surface) 0%, rgba(16, 185, 129, 0.03) 100%); +} + +.event[data-status="doing"] { + border-left-color: var(--accent); + background: linear-gradient(135deg, var(--surface) 0%, rgba(45, 140, 255, 0.03) 100%); +} + +.event[data-status="pause"] { + border-left-color: var(--warning); + background: linear-gradient(135deg, var(--surface) 0%, rgba(245, 158, 11, 0.03) 100%); +} + +.event[data-status="close"] { + border-left-color: var(--danger); + background: linear-gradient(135deg, var(--surface) 0%, rgba(239, 68, 68, 0.03) 100%); +} + +.event[data-status="new"] { + border-left-color: #9b59b6; + background: linear-gradient(135deg, var(--surface) 0%, rgba(155, 89, 182, 0.03) 100%); +} + +/* 活动项样式 */ +.activity-item { + padding: 12px 0; + border-bottom: 1px solid var(--border); +} + +.activity-item:last-child { + border-bottom: none; +} + +.activity-type { + font-size: 0.75rem; + color: var(--accent); + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.5px; + margin-bottom: 4px; +} + +.activity-content { + font-size: 0.875rem; + color: var(--text); + line-height: 1.4; + margin-bottom: 4px; +} + +.activity-time { + font-size: 0.75rem; + color: var(--text-muted); +} + +/* 提醒列表 */ +#reminders .event { + border-left: 4px solid var(--warning); +} + +/* 加载动画 */ +@keyframes pulse { + 0%, 100% { opacity: 1; } + 50% { opacity: 0.5; } +} + +.loading { + animation: pulse 1.5s ease-in-out infinite; +} + +/* 滚动条美化 */ +::-webkit-scrollbar { + width: 8px; + height: 8px; +} + +::-webkit-scrollbar-track { + background: var(--bg); + border-radius: 4px; +} + +::-webkit-scrollbar-thumb { + background: var(--border); + border-radius: 4px; + transition: var(--transition); +} + +::-webkit-scrollbar-thumb:hover { + background: var(--text-muted); +} diff --git a/public/tools/weekly/weekly.js b/public/tools/weekly/weekly.js new file mode 100644 index 0000000..f829093 --- /dev/null +++ b/public/tools/weekly/weekly.js @@ -0,0 +1,1943 @@ +;(function(){ + const el = id => document.getElementById(id) + const $auth = el('auth'), $status = el('auth-status'), $app = el('weekly-app') + const $year = el('week-year'), $weeks = el('week-list') + const $title = el('report-title'), $summary = el('report-summary'), $content = el('report-content') + const $events = el('events') + const $search = el('weekly-search'), $settings = el('weekly-settings') + let current = { report: null, events: [] } + let currentEditId = null + let eventsLoadSeq = 0 + const apiBase = '/api/weekly' + + function weeklyTemplateHtml() { + return [ + '

    1、本周核心重点事项(置顶)

    ', + '

    ①置顶优先级,避免杂事分散精力

    ', + '

    ②本周 1-3 件最高优先级事(工作 / 家庭各列,如公司项目节点、孩子升学事宜)

    ', + '

    ③必做底线项(如固定会议、家庭日常、记账 / 复盘打卡)

    ', + '


    ', + '

    2、上周复盘(工作)

    ', + '

    -----

    ', + '

    ①公司工作完成项(标注是否达标、核心成果)

    ', + '

    ②未完成项 + 原因(客观 / 主观,如时间不足、需求变更)

    ', + '

    ③规则事务完成情况(重点记未完成的关键项)

    ', + '


    ', + '

    3、上周复盘(个人 + 家庭)

    ', + '

    -----

    ', + '

    ①个人 / 家庭事务完成情况(重点记未完成的关键项)

    ', + '


    ', + '

    4、公司工作(计划)

    ', + '

    -----

    ', + '

    ①核心任务(按重要 / 紧急排序,标注截止时间、协作人)

    ', + '

    ②常规工作(日常运维、对接、汇报等固定事项)

    ', + '

    ③待协调 / 需支持项(如需要同事配合、领导审批的内容)

    ', + '


    ', + '

    5、个人和家庭 事务(计划,含理财)

    ', + '

    -----

    ', + '

    ①自我提升(学习、运动、习惯打卡,如读 1 章书、运动 3 次)

    ', + '

    ②个人琐事(办事、缴费、社交等,标注时间节点)

    ', + '

    ③投资理财(盯盘节点、条件单调整、复盘上周收益 / 操作)

    ', + '

    ④家人相关(孩子学习 / 活动、老人照料、家庭聚餐等)

    ', + '

    ⑤家庭琐事(家务、采购、物业对接等,可标注分工)

    ', + '

    ⑥家庭规划(短期家庭事项,如周末出游、家电维修)

    ', + '


    ', + '

    6、待解决问题 / 待协调项

    ', + '

    -----

    ', + '

    ①工作中可能遇到的问题(如项目延期风险、资源不足)

    ', + '

    ②个人 / 家庭的待处理问题(如时间冲突、资金安排)

    ', + '

    ③初步应对思路(简单标注,避免临时慌乱)

    ', + '


    ', + '

    7、本周小目标 / 打卡项(轻量化激励,易落地)

    ', + '

    ①工作小目标(如高效完成 1 个核心任务、减少无效沟通)

    ', + '

    ②个人 / 家庭小目标(如坚持记账、周末全家运动 1 次)

    ' + ].join('') + } + function insertWeeklyTemplate(options) { + if (!currentEditor) return + const tpl = weeklyTemplateHtml() + const replace = !options || options.replace !== false + if (replace) { + const hasContent = String(currentEditor.innerHTML || '').trim().length > 0 + if (hasContent) { + const ok = confirm('正文已有内容,是否覆盖为模板?') + if (!ok) return + } + currentEditor.innerHTML = tpl + } else { + currentEditor.innerHTML += tpl + } + currentEditor.focus() + } + + async function login() { + try { + const user = el('login-user').value.trim() + const pass = el('login-pass').value + const res = await fetch(apiBase + '/auth/login', { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify({ username:user, password:pass }), credentials:'same-origin', cache:'no-store' }) + let data = null + const ct = String(res.headers.get('content-type')||'') + if (ct.includes('application/json')) { + try { data = await res.json() } catch {} + } + if (!data) { + try { + const txt = await res.clone().text() + const brief = String(txt||'').replace(/\s+/g,' ').slice(0,300) + throw new Error(`HTTP ${res.status} ${res.statusText} @ ${res.url || '/api/weekly/auth/login'}: ${brief}`) + } catch (e2) { + throw new Error(`HTTP ${res.status} ${res.statusText} @ ${res.url || '/api/weekly/auth/login'}: 非JSON响应且文本读取失败`) + } + } + if (!data.ok) throw new Error(data.error||`登录失败 (HTTP ${res.status})`) + $auth.style.display = 'none' + $app.style.display = '' + initWeeks() + } catch (e) { + $status.textContent = String(e.message||e) + $status.style.display = '' + } + } + + async function initWeeks() { + const now = new Date() + const next = new Date(now.getFullYear(), now.getMonth(), now.getDate() + 7) + const startYear = now.getFullYear() + const endYear = next.getFullYear() + let years = [] + try { + const res = await fetch(`${apiBase}/years`, { credentials:'same-origin', cache:'no-store' }) + const data = await res.json() + if (data && data.ok && Array.isArray(data.years)) { + years = data.years.map(y => parseInt(String(y),10)).filter(y => y > 0) + } + } catch {} + if (!years.length) { + years = [] + for (let y = endYear; y >= startYear; y--) years.push(y) + } + $year.innerHTML = '' + years.forEach((y, idx) => { + const opt = document.createElement('option') + opt.value = String(y) + opt.textContent = String(y) + $year.appendChild(opt) + }) + const cnYear = parseInt(new Intl.DateTimeFormat('zh-CN', { timeZone:'Asia/Shanghai', year:'numeric' }).format(new Date()), 10) + if (years.includes(cnYear)) $year.value = String(cnYear) + else $year.value = String(years.length ? years[0] : startYear) + const initialYear = parseInt($year.value, 10) + await runWithLoading(()=>loadWeeks(initialYear), '周列表加载成功') + } + + async function loadWeeks(year) { + try { addLoadingStep(`并发请求 ${year-1}, ${year}, ${year+1} 周列表`) } catch {} + + const [rPrev, rCurr, rNext] = await Promise.all([ + fetch(`${apiBase}/weeks?year=${encodeURIComponent(year-1)}`, { credentials:'same-origin', cache:'no-store' }), + fetch(`${apiBase}/weeks?year=${encodeURIComponent(year)}`, { credentials:'same-origin', cache:'no-store' }), + fetch(`${apiBase}/weeks?year=${encodeURIComponent(year+1)}`, { credentials:'same-origin', cache:'no-store' }) + ]) + + const [dPrev, dCurr, dNext] = await Promise.all([ + rPrev.json().catch(()=>({weeks:[]})), + rCurr.json().catch(()=>({weeks:[]})), + rNext.json().catch(()=>({weeks:[]})) + ]) + + try { + const tPrev = Array.isArray(dPrev.weeks)?dPrev.weeks.length:0 + const tCurr = Array.isArray(dCurr.weeks)?dCurr.weeks.length:0 + const tNext = Array.isArray(dNext.weeks)?dNext.weeks.length:0 + addLoadingStep(`汇总周列表:${tPrev}+${tCurr}+${tNext} 条`) + } catch {} + + const listAll = ([]).concat(Array.isArray(dPrev.weeks)?dPrev.weeks:[], Array.isArray(dCurr.weeks)?dCurr.weeks:[], Array.isArray(dNext.weeks)?dNext.weeks:[]) + const fmt = new Intl.DateTimeFormat('zh-CN', { timeZone:'Asia/Shanghai', year:'numeric', month:'2-digit', day:'2-digit' }) + const today = fmt.format(new Date()).replace(/\//g,'-') + + let idx = -1 + for (let i=0;i=0 && idx+1=0) nextEnd = String(listAll[idx].end) + + const subset = listAll.filter(w => String(w.end) >= yearStart && (!nextEnd || String(w.end) <= nextEnd)) + subset.sort((a,b)=>String(a.start).localeCompare(String(b.start))) + const display = subset.slice().reverse() + + $weeks.innerHTML = '' + try { addLoadingStep(`渲染周列表 ${display.length} 条`) } catch {} + + const currentId = (idx>=0 && listAll[idx]) ? listAll[idx].week_id : '' + const nextId = (idx>=0 && idx+1 { + const opt = document.createElement('option'); + opt.value = w.week_id + const type = w.week_id===currentId ? 'current' : (w.week_id===nextId ? 'next' : 'past') + const prefix = type==='current' ? '📗 ' : (type==='next' ? '📙 ' : '📘 ') + const icon = (w.has_report && w.has_events) ? ' 📅💬' : (w.has_report ? ' 📅' : (w.has_events ? ' 💬' : '')) + const base = `${prefix}${w.week_id} (${w.start}~${w.end})${icon}` + opt.textContent = base + opt.dataset.baseLabel = base + if (w.week_id === currentId) hasCurrent = true + $weeks.appendChild(opt) + }) + + if (hasCurrent) { $weeks.value = currentId } else if (display.length) { $weeks.value = display[0].week_id } + try { addLoadingStep(`加载当前周报 ${$weeks.value||''}`) } catch {} + await loadReport($weeks.value) + } + + async function loadReport(week_id) { + try { addLoadingStep(`请求周报数据 week_id=${week_id}`) } catch {} + const res = await fetch(`${apiBase}/report?week_id=${encodeURIComponent(week_id)}`, { credentials:'same-origin', cache:'no-store' }) + const data = await res.json() + current.report = data.report || null + $title.value = current.report ? (current.report.title||'') : '' + $summary.value = current.report ? (current.report.summary||'') : '' + $content.innerHTML = current.report ? (current.report.content||'') : '' + try { addLoadingStep('渲染周报内容') } catch {} + try { addLoadingStep('加载事件列表') } catch {} + await loadEvents() + } + + async function saveReport() { + const week_id = $weeks.value + const payload = { week_id, title: $title.value, summary: $summary.value, content: $content.innerHTML } + if (current.report && current.report.id) { + await fetch(`${apiBase}/report/${current.report.id}`, { method:'PUT', headers:{'Content-Type':'application/json'}, body: JSON.stringify(payload), credentials:'same-origin', cache:'no-store' }) + } else { + const res = await fetch(`${apiBase}/report`, { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify(payload), credentials:'same-origin', cache:'no-store' }) + const data = await res.json(); current.report = { id: data.id, week_id } + } + await loadReport(week_id) + } + + const nextPaint = () => new Promise(resolve => requestAnimationFrame(() => resolve())) + + async function renderEventsChunked(events, seq) { + const chunkSize = 20 + for (let i = 0; i < events.length; i += chunkSize) { + if (seq !== eventsLoadSeq) return false + const chunk = events.slice(i, i + chunkSize) + chunk.forEach(ev => renderEvent(ev)) + try { addLoadingStep(`事件卡片渲染进度 ${Math.min(i + chunk.length, events.length)}/${events.length}`) } catch {} + await nextPaint() + } + return true + } + + async function loadEventExtraData(events, seq) { + const eventIds = events.map(ev => ev.id) + try { addLoadingStep(`批量加载 ${events.length} 个事件详情(评价与附件)...`) } catch {} + const [reviewsByEventId, attachmentsByEventId] = await Promise.all([ + fetchReviewsBatch(eventIds), + fetchAttachmentsBatch(eventIds) + ]) + if (seq !== eventsLoadSeq) return + for (const ev of events) { + if (seq !== eventsLoadSeq) return + const reviews = document.querySelector(`.reviews[data-event-id="${ev.id}"]`) + const atts = document.querySelector(`.attachments[data-event-id="${ev.id}"]`) + if (reviews) renderReviews(ev.id, reviews, ev.title, reviewsByEventId[ev.id] || []) + if (atts) renderAttachments(ev.id, atts, ev.title, attachmentsByEventId[ev.id] || []) + } + try { addLoadingStep('所有事件详情加载完毕') } catch {} + } + + async function loadEvents() { + const seq = ++eventsLoadSeq + try { addLoadingStep(`请求事件列表 report_id=${(current.report && current.report.id) ? current.report.id : ''}`) } catch {} + $events.innerHTML = '' + if (!current.report || !current.report.id) return + const res = await fetch(`${apiBase}/events?report_id=${current.report.id}`, { credentials:'same-origin', cache:'no-store' }) + const data = await res.json() + if (seq !== eventsLoadSeq) return + current.events = data.rows || [] + try { addLoadingStep(`渲染事件卡片 ${current.events.length} 条`) } catch {} + const rendered = await renderEventsChunked(current.events, seq) + if (!rendered) return + try { addLoadingStep('事件卡片渲染完成') } catch {} + void loadEventExtraData(current.events.slice(), seq) + } + + function statusLabel(code) { + return ({ doing:'▶️进行中', done:'✔️完成', pause:'⏸️暂停', new:'📅本周新增', close:'❌关闭', not:'👋未做', ok:'👌成功', fail:'⛔失败' })[code] || code + } + + const TITLE_INLINE_HAN_LIMIT = 50 + const normalizeInlineText = text => String(text || '').replace(/\s+/g, ' ').trim() + const normalizeBodyForTitle = content => normalizeInlineText(String(content || '').replace(//gi, ';').replace(/<[^>]+>/g, ' ').replace(/\r?\n+/g, ';')) + const countHanChars = text => (String(text || '').match(/[\u3400-\u4DBF\u4E00-\u9FFF\uF900-\uFAFF]/g) || []).length + const countDisplayChars = text => Array.from(String(text || '')).length + const takePrefixByHanLimit = (text, hanLimit) => { + const chars = Array.from(String(text || '')) + let han = 0 + let out = '' + for (const ch of chars) { + const isHan = /[\u3400-\u4DBF\u4E00-\u9FFF\uF900-\uFAFF]/.test(ch) + if (isHan) { + if (han >= hanLimit) break + han += 1 + } + out += ch + } + return out.trim() + } + const hasTitlePolicyApplied = (title, detail) => { + const t = normalizeInlineText(title) + const d = normalizeInlineText(detail) + if (!d) return true + if (t.includes('【剩余') && t.includes('详见正文】')) return true + if (d.length >= 10 && t.includes(d.slice(0, 10))) return true + return false + } + const buildEventTitleByPolicy = (title, content) => { + const base = normalizeInlineText(title) + const detail = normalizeBodyForTitle(content) + if (!detail || hasTitlePolicyApplied(base, detail)) return base + const hanCount = countHanChars(detail) + const effectiveCount = hanCount > 0 ? hanCount : countDisplayChars(detail) + if (effectiveCount <= TITLE_INLINE_HAN_LIMIT) return normalizeInlineText(`${base} ${detail}`) + const prefix = hanCount > 0 ? takePrefixByHanLimit(detail, TITLE_INLINE_HAN_LIMIT) : Array.from(detail).slice(0, TITLE_INLINE_HAN_LIMIT).join('') + const remaining = Math.max(0, effectiveCount - TITLE_INLINE_HAN_LIMIT) + return normalizeInlineText(`${base} ${prefix}【剩余${remaining}汉字,详见正文】`) + } + + function renderEvent(ev) { + const wrap = document.createElement('div'); wrap.className = 'event'; wrap.dataset.id = ev.id + wrap.dataset.status = ev.status_code || '' + + // 事件头部 + const header = document.createElement('div'); header.className = 'event-header'; + + const titleWrapper = document.createElement('div'); titleWrapper.className = 'event-title-wrapper'; + + const tag = document.createElement('span'); tag.className='tag'; tag.textContent = statusLabel(ev.status_code); + + const titleSpan = document.createElement('div'); titleSpan.className='event-title'; titleSpan.textContent = buildEventTitleByPolicy(ev.title || '', ev.content || '') + + titleWrapper.appendChild(tag); + titleWrapper.appendChild(titleSpan); + header.appendChild(titleWrapper); + + // 事件元数据 + const meta = document.createElement('div'); meta.className = 'event-meta'; + + if (ev.deadline) { + const deadlineItem = document.createElement('div'); deadlineItem.className = 'event-meta-item'; + deadlineItem.innerHTML = `⏰截止时间:${formatCNDeadline(ev.deadline)}`; + meta.appendChild(deadlineItem); + } + + const pushItem = document.createElement('div'); pushItem.className = 'event-meta-item'; + pushItem.innerHTML = `📧推送:${ev.push_required ? '是' : '否'}`; + meta.appendChild(pushItem); + + // 事件内容 + const body = document.createElement('div'); body.className='event-body'; body.innerHTML = ev.content||''; + + // 事件操作 + const actions = document.createElement('div'); actions.className = 'event-actions'; + + const reviewBtn = document.createElement('button'); reviewBtn.className='btn'; reviewBtn.textContent='💬 评价'; + reviewBtn.onclick = () => addReview(ev.id); + + const attachInpWrapper = document.createElement('div'); attachInpWrapper.className = 'file-input-wrapper'; + const attachInp = document.createElement('input'); attachInp.type='file'; attachInp.multiple = true; + attachInp.onchange = () => uploadAttachments(ev.id, Array.from(attachInp.files||[])); + const attachBtn = document.createElement('button'); attachBtn.className='btn'; attachBtn.textContent='📎 附件'; + attachBtn.onclick = () => attachInp.click(); + attachInpWrapper.appendChild(attachInp); + attachInpWrapper.appendChild(attachBtn); + + const editBtn = document.createElement('button'); editBtn.className='btn'; editBtn.textContent='✏️ 编辑'; + editBtn.onclick = () => startEdit(ev); + + const delBtn = document.createElement('button'); delBtn.className='btn'; delBtn.textContent='🗑️ 删除'; + delBtn.onclick = () => deleteEvent(ev.id); + + const calBtn = document.createElement('button'); calBtn.className='btn'; calBtn.textContent='📅 手工推至日历'; + calBtn.onclick = () => { + try { fetch(`${apiBase}/logs/add`, { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify({ tag:'weekly.ui.push.click', data:{ event_id: ev.id } }), credentials:'same-origin', cache:'no-store' }) } catch {} + const hasDeadline = !!ev.deadline + if (!hasDeadline) { + const msg = '请设置“截止时间”。' + try { fetch(`${apiBase}/logs/add`, { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify({ tag:'weekly.ui.push.invalid', data:{ event_id: ev.id, hasDeadline, msg } }), credentials:'same-origin', cache:'no-store' }) } catch {} + showModal('条件不满足', msg) + return + } + pushCalendar(ev.id) + }; + + actions.appendChild(reviewBtn); + actions.appendChild(attachInpWrapper); + actions.appendChild(editBtn); + actions.appendChild(delBtn); + actions.appendChild(calBtn); + + // 组装事件 + wrap.appendChild(header); + wrap.appendChild(meta); + wrap.appendChild(body); + wrap.appendChild(actions); + + // 评价和附件区域 + const reviews = document.createElement('div'); reviews.className = 'reviews'; reviews.setAttribute('data-event-id', ev.id); + const atts = document.createElement('div'); atts.className = 'attachments'; atts.setAttribute('data-event-id', ev.id); + + wrap.appendChild(reviews); + wrap.appendChild(atts); + + $events.appendChild(wrap) + } + + async function addEvent() { + const payload = { + report_id: current.report && current.report.id ? current.report.id : null, + title: el('ev-title').value, + content: el('ev-content').innerHTML, + status_code: el('ev-status').value, + status: statusLabel(el('ev-status').value), + deadline: (el('ev-deadline').value || '').replace('T',' ') || null, + push_required: (el('ev-push') && el('ev-push').checked) ? 1 : 0 + } + try { + if (currentEditId) { + const body = Object.assign({}, payload, { id: currentEditId }) + const res = await fetch(`${apiBase}/events/${currentEditId}`, { method:'PUT', headers:{'Content-Type':'application/json'}, body: JSON.stringify(body), credentials:'same-origin', cache:'no-store' }) + let ok = res.ok + try { + const ct = String(res.headers.get('content-type')||'') + if (ct.includes('application/json')) { const dj = await res.json(); ok = !!dj.ok } + } catch {} + if (!ok) throw new Error(`保存失败 (HTTP ${res.status})`) + currentEditId = null + const btn = el('btn-add-event'); if (btn) btn.textContent = '新增事件' + showModal('操作成功', '事件已保存') + } else { + const res = await fetch(`${apiBase}/events`, { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify(payload), credentials:'same-origin', cache:'no-store' }) + let ok = res.ok + try { + const ct = String(res.headers.get('content-type')||'') + if (ct.includes('application/json')) { const dj = await res.json(); ok = !!dj.ok } + } catch {} + if (!ok) throw new Error(`保存失败 (HTTP ${res.status})`) + showModal('操作成功', '事件已保存') + } + } catch (e) { + alert(String(e.message||e)) + return + } + el('ev-title').value = ''; el('ev-content').innerHTML=''; el('ev-deadline').value=''; + if (!current.report || !current.report.id) { + await runWithLoading(() => loadReport($weeks.value), '周报加载成功') + } else { + await runWithLoading(loadEvents, '事件列表加载成功') + } + } + + function toInputValue(ts) { if (!ts) return ''; const s = String(ts).replace(' ', 'T'); return s.length>=16 ? s.slice(0,16) : s } + function formatCNDeadline(ts) { if (!ts) return ''; const s = String(ts).replace('T',' '); return s.length>=19 ? s.slice(0,19) : (s.length>=16 ? s.slice(0,16) : s) } + + function openEventModal(mode, ev) { + const ov = el('modal-overlay'), mt = el('modal-title'), mb = el('modal-body') + const isEdit = mode === 'edit' + mt.textContent = isEdit ? '编辑事件' : '新增事件' + const options = ` + + + + + + + + + ` + mb.innerHTML = ` +
    + + + + + +
    + ` + bindPasteAndDrop(el('modal-ev-content')) + el('modal-ev-push').onchange = () => { + if (el('modal-ev-push').checked && !el('modal-ev-deadline').value) { + alert('请先填写“截止时间”,否则无法自动推送') + } + } + if (isEdit && ev) { + el('modal-ev-title').value = ev.title || '' + el('modal-ev-content').innerHTML = ev.content || '' + el('modal-ev-status').value = ev.status_code || 'doing' + el('modal-ev-deadline').value = toInputValue(ev.deadline || '') + el('modal-ev-push').checked = !!ev.push_required + } else { + el('modal-ev-status').value = 'doing' + el('modal-ev-deadline').value = '' + el('modal-ev-title').value = '' + el('modal-ev-content').innerHTML = '' + el('modal-ev-push').checked = false + } + ov.classList.add('active') + const modalNode = document.getElementById('modal') + if (modalNode) modalNode.style.display = 'block' + const mf = document.getElementById('modal-footer') + if (mf) { + mf.innerHTML = '' + const cancelBtn = document.createElement('button'); cancelBtn.className='btn btn-secondary'; cancelBtn.textContent='取消' + cancelBtn.onclick = () => { hideModal() } + const confirmBtn = document.createElement('button'); confirmBtn.className='btn'; confirmBtn.textContent='保存' + mf.appendChild(cancelBtn); mf.appendChild(confirmBtn) + confirmBtn.onclick = async () => { + const payload = { + report_id: current.report && current.report.id ? current.report.id : null, + title: el('modal-ev-title').value, + content: el('modal-ev-content').innerHTML, + status_code: el('modal-ev-status').value, + status: statusLabel(el('modal-ev-status').value), + deadline: (el('modal-ev-deadline').value || '').replace('T',' ') || null, + push_required: el('modal-ev-push').checked ? 1 : 0 + } + try { + if (isEdit && ev) { + const body = Object.assign({}, payload, { id: ev.id }) + const res = await fetch(`${apiBase}/events/${ev.id}`, { method:'PUT', headers:{'Content-Type':'application/json'}, body: JSON.stringify(body), credentials:'same-origin', cache:'no-store' }) + let ok = res.ok + try { const ct = String(res.headers.get('content-type')||''); if (ct.includes('application/json')) { const dj = await res.json(); ok = !!dj.ok } } catch {} + if (!ok) throw new Error(`保存失败 (HTTP ${res.status})`) + } else { + const res = await fetch(`${apiBase}/events`, { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify(payload), credentials:'same-origin', cache:'no-store' }) + let ok = res.ok + try { const ct = String(res.headers.get('content-type')||''); if (ct.includes('application/json')) { const dj = await res.json(); ok = !!dj.ok } } catch {} + if (!ok) throw new Error(`保存失败 (HTTP ${res.status})`) + } + } catch (e) { + alert(String(e.message||e)) + return + } + hideModal() + if (!current.report || !current.report.id) { + await runWithLoading(() => loadReport($weeks.value), '周报加载成功') + } else { + await runWithLoading(loadEvents, '事件列表加载成功') + } + showModal('操作成功', '事件已保存') + } + } + } + + function startEdit(ev) { + openEventModal('edit', ev) + } + + async function deleteEvent(id) { + const node = document.querySelector(`.event[data-id="${id}"]`) + if (!confirm('确认删除该事件?')) return + try { + const res = await fetch(`${apiBase}/events/${id}`, { method:'DELETE', credentials:'same-origin', cache:'no-store' }) + let ok = res.ok + let msg = '' + try { + const ct = String(res.headers.get('content-type')||'') + if (ct.includes('application/json')) { + const data = await res.json() + ok = !!data.ok + msg = String(data.error||'') + } + } catch {} + if (!ok) { + alert(msg || `删除失败 (HTTP ${res.status})`) + return + } + if (node) { node.style.opacity = '0.4'; node.style.transform = 'scale(0.98)' } + await runWithLoading(loadEvents, '事件列表加载成功') + showModal('操作成功', '事件已删除') + } catch (e) { + alert(`删除失败:${String(e.message||e)}`) + } + } + + async function linkCurrentEvent() { + const target = prompt('请输入要关联的目标事件ID:') + const tid = parseInt(String(target||''),10) + if (!tid || !current.events || current.events.length===0) return + const last = current.events[current.events.length-1] + const res = await fetch(`${apiBase}/relations`, { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify({ event_id: last.id, target_event_id: tid, relation_type: 'link' }), credentials:'same-origin', cache:'no-store' }) + const data = await res.json(); if (!data.ok) { alert('关联失败'); return } + showModal('操作成功', '已建立关联') + } + + async function addReview(event_id) { + await runWithLoading(async () => { + let title = '' + try { + if (current && Array.isArray(current.events)) { + const ev = current.events.find(e => e.id === event_id) + if (ev && ev.title) title = ev.title + } + } catch {} + const shortTitle = title ? `${title.slice(0, 10)}${title.length > 10 ? '...' : ''}` : '' + const ctx = shortTitle ? `事件ID=${event_id}, 标题=${shortTitle}` : `事件ID=${event_id}` + try { addLoadingStep(`[${ctx}] 步骤 1/5: 打开评价输入框`) } catch {} + const text = prompt('请输入评价与感想:') + if (!text) { + try { addLoadingStep(`[${ctx}] 步骤 1/5: 已取消评价输入`) } catch {} + return + } + try { addLoadingStep(`[${ctx}] 步骤 2/5: 已获取输入,开始提交到服务器...`) } catch {} + const res = await fetch(`${apiBase}/reviews`, { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify({ event_id, text }), credentials:'same-origin', cache:'no-store' }) + try { addLoadingStep(`[${ctx}] 步骤 3/5: 服务器已响应,解析结果...`) } catch {} + let ok = res.ok + let msg = '' + try { + const ct = String(res.headers.get('content-type')||'') + if (ct.includes('application/json')) { + const data = await res.json() + ok = !!data.ok + msg = String(data.error||'') + } + } catch {} + if (!ok) { + try { addLoadingStep(`[${ctx}] 步骤 3/5: 提交失败,错误信息: ${msg || '未知错误'}`) } catch {} + throw new Error(msg || `提交失败 (HTTP ${res.status})`) + } + try { addLoadingStep(`[${ctx}] 步骤 4/5: 提交成功,准备刷新评价列表...`) } catch {} + const container = document.querySelector(`.reviews[data-event-id="${event_id}"]`) + if (container) { + await fetchAndRenderReviews(event_id, container, title) + } + try { addLoadingStep(`[${ctx}] 步骤 5/5: 评价列表刷新完成`) } catch {} + }, '评价保存成功') + showModal('操作成功', '已保存评价') + } + + function renderReviews(event_id, container, title, rows) { + const t = String(title || '') + try { addLoadingStep(`评价已加载: ${t.slice(0,8)}${t.length>8?'...':''} (${rows.length}条)`) } catch {} + container.innerHTML = '' + if (rows.length === 0) { const empty=document.createElement('div'); empty.className='review-empty'; empty.textContent='暂无评价与感想'; container.appendChild(empty); return } + const titleEl = document.createElement('div'); titleEl.className='review-title'; titleEl.textContent='评价与感想'; container.appendChild(titleEl) + rows.forEach(r=>{ + const item = document.createElement('div'); item.className='review-item' + const meta = document.createElement('div'); meta.className='review-meta'; meta.textContent = window.fmtCNDateTime ? window.fmtCNDateTime(new Date(String(r.created_at||'').replace(' ', 'T'))) : String(r.created_at||'') + const content = document.createElement('div'); content.className='review-content'; content.textContent = r.review || '' + item.appendChild(meta); item.appendChild(content) + container.appendChild(item) + }) + } + + function renderAttachments(event_id, container, title, rows) { + const t = String(title || '') + try { addLoadingStep(`附件已加载: ${t.slice(0,8)}${t.length>8?'...':''} (${rows.length}个)`) } catch {} + const sortedRows = rows.slice().sort((a,b)=>String(b.created_at||'').localeCompare(String(a.created_at||''))) + container.innerHTML = '' + const titleEl = document.createElement('div'); titleEl.className='att-title'; titleEl.textContent='附件'; container.appendChild(titleEl) + if (sortedRows.length === 0) { const empty=document.createElement('div'); empty.className='att-empty'; empty.textContent='暂无附件'; container.appendChild(empty); return } + sortedRows.forEach(a=>{ + const item = document.createElement('div'); item.className='att-item' + const name = document.createElement('a'); name.href = `${apiBase}/attachments/${a.id}/download`; const mb = ((a.size||0)/1048576).toFixed(2); name.textContent = `${a.filename || '文件'} (${mb}MB)`; name.target = '_blank' + item.appendChild(name) + container.appendChild(item) + }) + } + + async function fetchReviewsBatch(eventIds) { + try { + if (!Array.isArray(eventIds) || !eventIds.length) return {} + const res = await fetch(`${apiBase}/reviews/batch`, { + method: 'POST', + headers: { 'Content-Type':'application/json' }, + body: JSON.stringify({ event_ids: eventIds }), + credentials:'same-origin', + cache:'no-store' + }) + const data = await res.json() + return data.rowsByEventId || {} + } catch { + return {} + } + } + + async function fetchAttachmentsBatch(eventIds) { + try { + if (!Array.isArray(eventIds) || !eventIds.length) return {} + const res = await fetch(`${apiBase}/attachments/batch`, { + method: 'POST', + headers: { 'Content-Type':'application/json' }, + body: JSON.stringify({ event_ids: eventIds }), + credentials:'same-origin', + cache:'no-store' + }) + const data = await res.json() + return data.rowsByEventId || {} + } catch { + return {} + } + } + + async function fetchAndRenderReviews(event_id, container, title='') { + try { + const res = await fetch(`${apiBase}/reviews?event_id=${event_id}`, { credentials:'same-origin', cache:'no-store' }) + const data = await res.json() + const rows = data.rows||[] + renderReviews(event_id, container, title, rows) + } catch {} + } + + async function fetchAndRenderAttachments(event_id, container, title='') { + try { + const res = await fetch(`${apiBase}/attachments?event_id=${event_id}`, { credentials:'same-origin', cache:'no-store' }) + const data = await res.json() + const rows = data.rows||[] + renderAttachments(event_id, container, title, rows) + } catch {} + } + + async function uploadAttachments(event_id, files) { + const container = document.querySelector(`.attachments[data-event-id="${event_id}"]`) + let progWrap = null, progBar = null, progText = null + if (container) { + progWrap = document.createElement('div'); progWrap.className='att-progress' + progBar = document.createElement('div'); progBar.className='att-progress-bar' + progText = document.createElement('div'); progText.className='att-progress-text' + progWrap.appendChild(progBar) + container.appendChild(progWrap) + container.appendChild(progText) + } + for (const f of files) { + await uploadAttachmentWithProgress(event_id, f, progBar, progText) + } + const container2 = document.querySelector(`.attachments[data-event-id="${event_id}"]`) + if (container2) setTimeout(async ()=>{ await runWithLoading(()=>fetchAndRenderAttachments(event_id, container2), '附件列表加载成功') }, 300) + } + + async function uploadAttachmentWithProgress(event_id, file, progBar, progText) { + if (!file) return + const size = file.size + const chunkSize = 2 * 1024 * 1024 + if (size <= chunkSize) { + const buf = await file.arrayBuffer() + if (progBar) progBar.style.width = '50%' + const res = await fetch(`${apiBase}/attachments/upload?event_id=${event_id}&filename=${encodeURIComponent(file.name)}&mime=${encodeURIComponent(file.type)}`, { method:'POST', headers:{ 'Content-Type':'application/octet-stream' }, body: new Uint8Array(buf), credentials:'same-origin', cache:'no-store' }) + const data = await res.json(); if (!data.ok) { if (progText) progText.textContent='上传失败'; return } + if (progBar) progBar.style.width = '100%' + if (progText) progText.textContent = '上传完成' + showModal('操作成功', `附件已上传:${file.name}`) + return + } + const total = Math.ceil(size / chunkSize) + let uploadId = '' + for (let i=0;i '') + addLoadingStep(`响应文本: preview="${String(txt||'').replace(/\s+/g,' ').slice(0,300)}"`) + } + } else { + const txt = await res.clone().text().catch(()=> '') + addLoadingStep(`非JSON响应: preview="${String(txt||'').replace(/\s+/g,' ').slice(0,300)}"`) + } + if ((!data || !data.ok) && res.status >= 500) { + const url2 = `/api/weekly/summarize` + addLoadingStep(`尝试后备接口: ${url2}`) + const res2 = await fetch(url2, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: bodyStr, + credentials: 'same-origin', + cache: 'no-store' + }) + addLoadingStep(`后备HTTP状态: ${res2.status} ${res2.statusText}`) + const ct2 = String(res2.headers.get('content-type')||'') + addLoadingStep(`后备Content-Type: ${ct2}`) + if (ct2.includes('application/json')) { + try { + data = await res2.clone().json() + const preview2 = JSON.stringify(data).slice(0,300) + addLoadingStep(`后备响应JSON: preview="${preview2}"`) + } catch (e) { + addLoadingStep(`后备JSON解析失败: ${String(e&&e.message||e)}`) + const txt2 = await res2.clone().text().catch(()=> '') + addLoadingStep(`后备响应文本: preview="${String(txt2||'').replace(/\s+/g,' ').slice(0,300)}"`) + } + } else { + const txt2 = await res2.clone().text().catch(()=> '') + addLoadingStep(`后备非JSON响应: preview="${String(txt2||'').replace(/\s+/g,' ').slice(0,300)}"`) + } + } + if (!data) throw new Error(`无有效响应 (HTTP ${res.status})`) + if (data.ok && data.summary) { + $summary.value = data.summary + addLoadingStep('摘要写入完成') + try { + const modalFooter = document.getElementById('modal-footer') + const copySum = document.createElement('button'); copySum.className='btn'; copySum.textContent='复制摘要'; copySum.onclick = () => { + try { + const s = String($summary.value||'') + if (navigator.clipboard && navigator.clipboard.writeText) { + navigator.clipboard.writeText(s).then(()=>{ try { addLoadingStep('已复制摘要到剪贴板') } catch {} }).catch(()=>{}) + } else { + const ta = document.createElement('textarea'); ta.value = s; document.body.appendChild(ta); ta.select(); try { document.execCommand('copy') } catch {} ; document.body.removeChild(ta); try { addLoadingStep('已复制摘要到剪贴板') } catch {} + } + } catch {} + } + modalFooter.appendChild(copySum) + } catch {} + } else { + throw new Error(data.error || `请求失败 (HTTP ${res.status})`) + } + } catch (e) { + addLoadingStep(`请求异常: ${String(e&&e.message||e)}`) + throw e + } + addLoadingStep('流程完成') + addLoadingStep('可点击“关闭”继续操作') + } catch (e) { + try { fetch(`${apiBase}/logs/add`, { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify({ tag:'weekly.ui.summary.error', data:{ ts: Date.now(), message: String(e&&e.message||e) } }), credentials:'same-origin', cache:'no-store' }) } catch {} + alert(String(e.message||e)) + } finally { + busy = false + } + } + + el('btn-login').onclick = login + ;(async function tryAutoFill() { + try { + const token = localStorage.getItem('toolbox_creds_token') || '' + const url = apiBase + '/auth/local_creds' + (token ? '?token=' + encodeURIComponent(token) : '') + const res = await fetch(url, { credentials: 'same-origin', cache: 'no-store' }) + const data = await res.json().catch(() => null) + if (data && data.ok && data.creds) { + if (data.creds.username) el('login-user').value = data.creds.username + if (data.creds.password) el('login-pass').value = data.creds.password + } + } catch {} + el('login-user').removeAttribute('readonly') + el('login-pass').removeAttribute('readonly') + })() + function attachAutoSummaryHandlers() { + try { + const btn = el('btn-auto-summary') + if (!btn) { + try { fetch(`${apiBase}/logs/add`, { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify({ tag:'weekly.ui.summary.bind.missing', data:{ ts: Date.now() } }), credentials:'same-origin', cache:'no-store' }) } catch {} + return + } + btn.onclick = autoSummarize + btn.addEventListener('click', (e)=>{ e.preventDefault(); }) + try { fetch(`${apiBase}/logs/add`, { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify({ tag:'weekly.ui.summary.bind.ok', data:{ ts: Date.now() } }), credentials:'same-origin', cache:'no-store' }) } catch {} + } catch {} + } + attachAutoSummaryHandlers() + const newReportBtn = document.getElementById('btn-new-report'); if (newReportBtn) newReportBtn.onclick = async () => { await runWithLoading(saveReport, '周报保存成功') } + const saveBtn = document.getElementById('btn-save-report'); if (saveBtn) saveBtn.onclick = async () => { await runWithLoading(saveReport, '周报保存成功') } + const refreshReportBtn = document.getElementById('btn-refresh-report'); if (refreshReportBtn) refreshReportBtn.onclick = async () => { await runWithLoading(()=>loadReport($weeks.value), '周报已刷新') } + const addEventBtn = document.getElementById('btn-add-event'); if (addEventBtn) addEventBtn.onclick = async () => { await runWithLoading(addEvent, '事件保存成功') } + const linkBtn = document.getElementById('btn-link-event'); if (linkBtn) linkBtn.onclick = async () => { await runWithLoading(linkCurrentEvent, '已建立关联') } + const refreshEventsBtn = document.getElementById('btn-refresh-events'); if (refreshEventsBtn) refreshEventsBtn.onclick = async () => { await runWithLoading(loadEvents, '列表已刷新') } + el('week-year').onchange = () => runWithLoading(()=>loadWeeks(parseInt($year.value,10)), '周列表加载成功') + el('week-list').onchange = () => runWithLoading(()=>loadReport($weeks.value), '周报加载成功') + const btnInsertHeader = document.getElementById('btn-insert-template') + if (btnInsertHeader) btnInsertHeader.onclick = () => insertWeeklyTemplate({ replace: true }) + // 导航功能 + function switchView(viewName) { + // 隐藏所有视图 + document.querySelectorAll('.view').forEach(view => { + view.classList.remove('active'); + }); + + // 显示目标视图 + const targetView = document.getElementById(`view-${viewName}`); + if (targetView) { + targetView.classList.add('active'); + if (viewName === 'settings') { + try { loadSettingsTabs() } catch {} + try { loadAiSettings() } catch {} + } + } + + // 更新导航项状态 + document.querySelectorAll('.nav-item').forEach(item => { + item.classList.remove('active'); + }); + + const activeNav = document.querySelector(`.nav-item[data-view="${viewName}"]`); + if (activeNav) { + activeNav.classList.add('active'); + } + } + + // 绑定导航事件 + document.querySelectorAll('.nav-item').forEach(item => { + item.addEventListener('click', () => { + const viewName = item.dataset.view; + switchView(viewName); + }); + }); + try { loadSettingsTabs() } catch {} + + // 初始化概览数据 + async function initOverview() { + try { + // 视觉反馈:清空或置灰 + document.querySelectorAll('.stat-value').forEach(span => span.style.opacity = '0.5'); + const bl = document.getElementById('stat-backlog'); if (bl) bl.style.opacity = '0.5'; + + const res = await fetch(`${apiBase}/overview`, { credentials:'same-origin', cache:'no-store' }); + const data = await res.json(); + + // 恢复透明度 + document.querySelectorAll('.stat-value').forEach(span => span.style.opacity = '1'); + if (bl) bl.style.opacity = '1'; + + // 更新统计数据 + const stats = data.stats || {}; + document.querySelectorAll('.stat-value').forEach(span => { + const label = span.nextElementSibling.textContent; + if (label === '总事件') span.textContent = stats.totalEvents || 0; + else if (label === '进行中') span.textContent = stats.doingEvents || 0; + else if (label === '已完成') span.textContent = stats.doneEvents || 0; + }); + + // 更新遗留事项 + if (bl) bl.textContent = data.backlog || 0; + + // 更新趋势图 + const trendEl = document.getElementById('trend-chart'); + if (trendEl && data.trends) { + const max = Math.max(...data.trends.map(t => t.total), 1); + trendEl.innerHTML = data.trends.map(t => { + const hTotal = (t.total / max) * 80; // max height 80% to leave room for label + const hDone = (t.completed / max) * 80; + return ` +
    +
    ${t.total}
    +
    +
    +
    +
    +
    ${t.week_id.slice(5)}
    +
    + ` + }).join(''); + } + + // 更新热力图 + const heatEl = document.getElementById('heatmap-chart'); + if (heatEl && data.heatmap) { + const map = new Map(data.heatmap.map(h => [h.day, h.count])); + let html = '
    '; + // 显示最近60天 + for (let i=59; i>=0; i--) { + const d = new Date(); d.setDate(d.getDate() - i); + // 修正时区问题,使用本地日期字符串 + const ymd = new Intl.DateTimeFormat('zh-CN', { year:'numeric', month:'2-digit', day:'2-digit' }).format(d).replace(/\//g,'-'); + const count = map.get(ymd) || 0; + let level = 0; + if (count > 0) level = 1; + if (count > 2) level = 2; + if (count > 5) level = 3; + if (count > 10) level = 4; + html += `
    `; + } + html += '
    Less More
    '; + heatEl.innerHTML = html; + } + + // 更新最近活动 + const activities = data.recentActivities || []; + const activitiesContainer = document.getElementById('recent-activities'); + if (activities.length > 0) { + activitiesContainer.innerHTML = activities.map(activity => ` +
    +
    ${activity.type}
    +
    ${activity.content}
    +
    ${String(activity.time).slice(5, 16).replace('T',' ')}
    +
    + `).join(''); + } + } catch (error) { + console.error('初始化概览失败:', error); + } + } + + // 在登录成功后初始化概览 + async function login() { + try { + const user = el('login-user').value.trim() + const pass = el('login-pass').value + const res = await fetch(apiBase + '/auth/login', { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify({ username:user, password:pass }), credentials:'same-origin', cache:'no-store' }) + let data = null + const ct = String(res.headers.get('content-type')||'') + if (ct.includes('application/json')) { + try { data = await res.json() } catch {} + } + if (!data) { + try { + const txt = await res.clone().text() + const brief = String(txt||'').replace(/\s+/g,' ').slice(0,300) + throw new Error(`HTTP ${res.status} ${res.statusText} @ ${res.url || '/api/weekly/auth/login'}: ${brief}`) + } catch (e2) { + throw new Error(`HTTP ${res.status} ${res.statusText} @ ${res.url || '/api/weekly/auth/login'}: 非JSON响应且文本读取失败`) + } + } + if (!data.ok) throw new Error(data.error||`登录失败 (HTTP ${res.status})`) + $auth.style.display = 'none' + $app.style.display = '' + initWeeks() + initOverview() // 新增:初始化概览 + try { attachAutoSummaryHandlers() } catch {} + } catch (e) { + $status.textContent = String(e.message||e) + $status.style.display = '' + } + } + + // 模态框功能 + let modalAutoCloseTimer = null + function showModal(title, content, onConfirm = null, onCancel = null, options = {}) { + const modal = document.getElementById('modal'); + const overlay = document.getElementById('modal-overlay'); + const modalTitle = document.getElementById('modal-title'); + const modalBody = document.getElementById('modal-body'); + const modalFooter = document.getElementById('modal-footer'); + if (modalAutoCloseTimer) { clearTimeout(modalAutoCloseTimer); modalAutoCloseTimer = null } + + modalTitle.textContent = title; + modalBody.innerHTML = content; + + // 清空之前的按钮 + modalFooter.innerHTML = ''; + + const statusNode = document.createElement('div') + statusNode.className = 'modal-status' + const actions = document.createElement('div') + actions.className = 'modal-actions' + modalFooter.appendChild(statusNode) + modalFooter.appendChild(actions) + + // 添加取消按钮 + const cancelBtn = document.createElement('button'); + cancelBtn.className = 'btn btn-secondary'; + cancelBtn.textContent = onConfirm ? '取消' : '关闭'; + cancelBtn.onclick = () => { + hideModal(); + if (onCancel) onCancel(); + }; + actions.appendChild(cancelBtn); + + // 添加确认按钮 + if (onConfirm) { + const confirmBtn = document.createElement('button'); + confirmBtn.className = 'btn'; + confirmBtn.textContent = '确认'; + confirmBtn.onclick = () => { + hideModal(); + onConfirm(); + }; + actions.appendChild(confirmBtn); + } + + overlay.classList.add('active'); + modal.style.display = 'block'; + + // 处理自动关闭 + // 兼容旧的通过内容判断的方式(虽然我们将要移除它,但为了稳健性保留检查,或者直接优先使用 options) + const autoCloseDelay = options.autoClose || (String(content || '').includes('本窗口将在3s后自动关闭') ? 3000 : 0); + + if (autoCloseDelay > 0) { + statusNode.textContent = `本窗口将在${autoCloseDelay/1000}s后自动关闭` + modalAutoCloseTimer = setTimeout(() => { hideModal() }, autoCloseDelay) + } + } + + function hideModal() { + const overlay = document.getElementById('modal-overlay'); + const modal = document.getElementById('modal'); + if (modalAutoCloseTimer) { clearTimeout(modalAutoCloseTimer); modalAutoCloseTimer = null } + overlay.classList.remove('active'); + modal.style.display = 'none'; + } + let busy = false + let loadingStartTs = 0 + function showLoadingModal(text = '正在加载,请稍候...') { + const modal = document.getElementById('modal') + const overlay = document.getElementById('modal-overlay') + const modalTitle = document.getElementById('modal-title') + const modalBody = document.getElementById('modal-body') + const modalFooter = document.getElementById('modal-footer') + if (modalAutoCloseTimer) { clearTimeout(modalAutoCloseTimer); modalAutoCloseTimer = null } + modalTitle.textContent = '加载中' + modalBody.innerHTML = `
    ${text}
    ` + modalFooter.innerHTML = '' + const statusNode = document.createElement('div') + statusNode.className = 'modal-status' + const actions = document.createElement('div') + actions.className = 'modal-actions' + modalFooter.appendChild(statusNode) + modalFooter.appendChild(actions) + const copyBtn = document.createElement('button'); copyBtn.className = 'btn'; copyBtn.textContent = '复制日志'; copyBtn.onclick = () => { + try { + const box = document.getElementById('loading-steps') + const lines = box ? Array.from(box.children).map(n => String(n.textContent||'')).join('\n') : '' + const s = lines || '' + if (navigator.clipboard && navigator.clipboard.writeText) { + navigator.clipboard.writeText(s).then(()=>{ try { addLoadingStep('已复制日志到剪贴板') } catch {} }).catch(()=>{}) + } else { + const ta = document.createElement('textarea'); ta.value = s; document.body.appendChild(ta); ta.select(); try { document.execCommand('copy') } catch {} ; document.body.removeChild(ta); try { addLoadingStep('已复制日志到剪贴板') } catch {} + } + } catch {} + } + const closeBtn = document.createElement('button'); closeBtn.className = 'btn btn-secondary'; closeBtn.textContent = '关闭'; closeBtn.onclick = () => { hideModal() } + actions.appendChild(copyBtn) + actions.appendChild(closeBtn) + overlay.classList.add('active') + modal.style.display = 'block' + } + function hideLoadingModal() { hideModal() } + function addLoadingStep(text) { + try { + const box = document.getElementById('loading-steps') + if (!box) return + const delta = loadingStartTs ? (Date.now() - loadingStartTs) : 0 + const item = document.createElement('div') + item.textContent = (delta ? `[+${delta}ms] ` : '') + String(text||'') + box.appendChild(item) + box.scrollTop = box.scrollHeight + } catch {} + } + async function runWithLoading(work, successText = '加载成功') { + if (busy) { showModal('加载中', '当前正在加载,请稍候...'); return } + busy = true + loadingStartTs = Date.now() + showLoadingModal() + try { + await work() + hideLoadingModal() + showModal('成功', successText, null, null, { autoClose: 3000 }) + } catch (e) { + hideLoadingModal() + alert(String(e.message||e)) + } finally { + busy = false + } + } + + // 绑定模态框关闭事件 + document.getElementById('modal-close').onclick = hideModal; + document.getElementById('modal-overlay').onclick = (e) => { + if (e.target === document.getElementById('modal-overlay')) { + hideModal(); + } + }; + + // 移动端菜单功能 + function initMobileMenu() { + const menuBtn = document.getElementById('mobile-menu-btn'); + const sidebar = document.querySelector('.sidebar'); + + if (menuBtn && sidebar) { + menuBtn.addEventListener('click', () => { + sidebar.classList.toggle('active'); + }); + + // 点击内容区域关闭菜单 + document.querySelector('.main-content').addEventListener('click', () => { + if (window.innerWidth <= 900) { + sidebar.classList.remove('active'); + } + }); + } + } + + // 窗口大小变化时调整菜单显示 + window.addEventListener('resize', () => { + const sidebar = document.querySelector('.sidebar'); + const menuBtn = document.getElementById('mobile-menu-btn'); + + if (window.innerWidth > 900) { + if (sidebar) sidebar.classList.remove('active'); + if (menuBtn) menuBtn.style.display = 'none'; + } else { + if (menuBtn) menuBtn.style.display = 'block'; + } + }); + + // 初始化移动端菜单 + initMobileMenu(); + + // 初始化侧边栏收起功能 + initSidebarToggle(); + + // 侧边栏收起功能 + function initSidebarToggle() { + const sidebar = document.getElementById('sidebar'); + const toggleBtn = document.getElementById('sidebar-toggle'); + + if (!sidebar || !toggleBtn) return; + + // 默认收起:本地无记录时设为收起 + const stored = localStorage.getItem('sidebarCollapsed') + const isCollapsed = (stored === 'true') || (stored === null) + if (isCollapsed) { + sidebar.classList.add('collapsed') + if (typeof adjustSidebarWidth === 'function') adjustSidebarWidth() + } + if (stored === null) localStorage.setItem('sidebarCollapsed', 'true') + + toggleBtn.addEventListener('click', () => { + sidebar.classList.toggle('collapsed'); + const isNowCollapsed = sidebar.classList.contains('collapsed'); + localStorage.setItem('sidebarCollapsed', isNowCollapsed); + if (typeof adjustSidebarWidth === 'function') adjustSidebarWidth(); + }); + + // 根据内容动态调整菜单宽度 + function adjustSidebarWidth() { + const navItems = document.querySelectorAll('.nav-item'); + let maxWidth = 0; + + // 创建临时元素测量宽度 + const tempElement = document.createElement('span'); + tempElement.style.position = 'absolute'; + tempElement.style.visibility = 'hidden'; + tempElement.style.whiteSpace = 'nowrap'; + document.body.appendChild(tempElement); + + if (sidebar.classList.contains('collapsed')) { + // 收起状态:根据图标宽度调整 + tempElement.style.fontSize = '18px'; + navItems.forEach(item => { + const iconElement = item.querySelector('.nav-icon'); + if (iconElement) { + tempElement.textContent = iconElement.textContent; + const iconWidth = tempElement.offsetWidth; + maxWidth = Math.max(maxWidth, iconWidth); + } + }); + + // 计算最终宽度:图标宽度 + 内边距 + const finalWidth = Math.max(60, maxWidth + 32); + sidebar.style.width = finalWidth + 'px'; + } else { + // 展开状态:根据图标+文本的总宽度调整 + tempElement.style.fontSize = '14px'; + tempElement.style.fontWeight = '500'; + + // 测量图标宽度(使用图标字体大小) + let maxIconWidth = 0; + tempElement.style.fontSize = '16px'; + navItems.forEach(item => { + const iconElement = item.querySelector('.nav-icon'); + if (iconElement) { + tempElement.textContent = iconElement.textContent; + const iconWidth = tempElement.offsetWidth; + maxIconWidth = Math.max(maxIconWidth, iconWidth); + } + }); + + // 测量文本宽度 + let maxTextWidth = 0; + tempElement.style.fontSize = '14px'; + navItems.forEach(item => { + const textElement = item.querySelector('.nav-text'); + if (textElement) { + tempElement.textContent = textElement.textContent; + const textWidth = tempElement.offsetWidth; + maxTextWidth = Math.max(maxTextWidth, textWidth); + } + }); + + // 计算最终宽度:图标宽度 + 文本宽度 + 间距 + 内边距 + const totalWidth = maxIconWidth + maxTextWidth + 12 + 48; // 12px间距 + 48px内边距 + const finalWidth = Math.max(200, Math.min(320, totalWidth)); + sidebar.style.width = finalWidth + 'px'; + } + + document.body.removeChild(tempElement); + } + + // 初始调整和窗口大小变化时重新调整 + adjustSidebarWidth(); + window.addEventListener('resize', adjustSidebarWidth); + + // 监听字体加载完成 + document.fonts.ready.then(adjustSidebarWidth); + } + + // 更新模态框事件处理 + const btnOpenSearch = el('btn-open-search') + if (btnOpenSearch) { + btnOpenSearch.onclick = () => { + switchView('search') + if (window.innerWidth <= 900) { + const s = document.querySelector('.sidebar') + if (s) s.classList.remove('active') + } + } + } + + const btnOpenSettings = el('btn-open-settings') + if (btnOpenSettings) { + btnOpenSettings.onclick = () => { + switchView('settings') + if (window.innerWidth <= 900) { + const s = document.querySelector('.sidebar') + if (s) s.classList.remove('active') + } + try { loadSettingsTabs() } catch {} + } + } + el('btn-search').onclick = async () => { + await runWithLoading(async ()=>{ + const q = el('search-q').value.trim() + const res = await fetch(`${apiBase}/search?q=${encodeURIComponent(q)}`, { credentials:'same-origin', cache:'no-store' }) + const data = await res.json() + const list = data.results||[] + const wrap = el('search-results'); wrap.innerHTML='' + list.forEach(r=>{ const d=document.createElement('div'); d.className='event'; d.innerHTML=`[${r.type}] `+highlight(r.title||'', q.split(/[\s,]+/).filter(Boolean)); wrap.appendChild(d) }) + }, '搜索完成') + } + + let currentEditor = el('report-content') + el('report-content').addEventListener('focus', ()=>{ currentEditor = el('report-content') }) + const evContentNode = el('ev-content'); if (evContentNode) evContentNode.addEventListener('focus', ()=>{ currentEditor = el('ev-content') }) + + async function insertImageFile(file, target) { + if (!file) return + const r = new FileReader() + await new Promise((resolve)=>{ r.onload = resolve; r.readAsDataURL(file) }) + const img = document.createElement('img') + img.src = r.result + img.style.maxWidth = '100%' + const editor = target || currentEditor + if (!editor) return + const sel = window.getSelection() + if (sel && sel.rangeCount>0 && editor.contains(sel.anchorNode)) sel.getRangeAt(0).insertNode(img) + else editor.appendChild(img) + } + + function bindPasteAndDrop(node) { + if (!node) return + node.addEventListener('paste', async (e) => { + try { + const items = e.clipboardData && e.clipboardData.items ? Array.from(e.clipboardData.items) : [] + const imgs = items.filter(it => String(it.type||'').startsWith('image/')) + if (imgs.length === 0) return + e.preventDefault() + for (const it of imgs) { const f = it.getAsFile(); await insertImageFile(f, node) } + } catch {} + }) + node.addEventListener('drop', async (e) => { + try { + const files = e.dataTransfer && e.dataTransfer.files ? Array.from(e.dataTransfer.files) : [] + const imgs = files.filter(f => String(f.type||'').startsWith('image/')) + if (imgs.length === 0) return + e.preventDefault() + for (const f of imgs) await insertImageFile(f, node) + } catch {} + }) + } + bindPasteAndDrop(el('report-content')) + + function applyCmd(cmd, evt) { + if (!currentEditor) return + const sel = window.getSelection() + const inEditor = !!(sel && sel.rangeCount && currentEditor.contains(sel.anchorNode)) + if (!inEditor) currentEditor.focus() + if (cmd==='bold' || cmd==='italic' || cmd==='underline') document.execCommand(cmd) + else if (cmd==='color' && evt && evt.value) document.execCommand('foreColor', false, evt.value) + else if (cmd==='font-size' && evt && evt.value) { + const px = parseInt(String(evt.value), 10) + if (!Number.isFinite(px) || px<=0) return + const s = window.getSelection() + if (!s || s.rangeCount===0) return + const r = s.getRangeAt(0) + if (!currentEditor.contains(r.commonAncestorContainer)) return + const span = document.createElement('span') + span.style.fontSize = px + 'px' + if (r.collapsed) { + span.textContent = '' + r.insertNode(span) + const nr = document.createRange() + nr.setStart(span, 0) + nr.setEnd(span, 0) + s.removeAllRanges() + s.addRange(nr) + } else { + const frag = r.extractContents() + span.appendChild(frag) + r.insertNode(span) + const nr = document.createRange() + nr.selectNodeContents(span) + s.removeAllRanges() + s.addRange(nr) + } + } + else if (cmd==='h1') document.execCommand('formatBlock', false, 'h1') + else if (cmd==='h2') document.execCommand('formatBlock', false, 'h2') + else if (cmd==='ul') document.execCommand('insertUnorderedList') + else if (cmd==='ol') document.execCommand('insertOrderedList') + else if (cmd==='quote') document.execCommand('formatBlock', false, 'blockquote') + else if (cmd==='code') document.execCommand('formatBlock', false, 'pre') + else if (cmd==='link') { + const url = prompt('输入链接地址:') + if (url) document.execCommand('createLink', false, url) + } else if (cmd==='img') { + const f = document.getElementById('img-file').files[0] + if (!f) return alert('请选择图片文件') + const r = new FileReader() + r.onload = () => { + const img = document.createElement('img') + img.src = r.result + img.style.maxWidth = '100%' + const sel = window.getSelection() + if (sel && sel.rangeCount>0) sel.getRangeAt(0).insertNode(img) + else currentEditor.appendChild(img) + } + r.readAsDataURL(f) + } else if (cmd==='table') { + const rows = parseInt(prompt('行数:','3')||'3',10) + const cols = parseInt(prompt('列数:','3')||'3',10) + if (rows>0 && cols>0) { + const table = document.createElement('table'); table.style.borderCollapse='collapse'; table.style.width='100%' + for (let r=0;r0) { + const r = s.getRangeAt(0) + const t = document.createTextNode(val) + r.insertNode(t) + r.setStartAfter(t) + r.setEndAfter(t) + s.removeAllRanges() + s.addRange(r) + } else { + currentEditor.appendChild(document.createTextNode(val)) + } + } + } else if (cmd==='color' && evt && evt.value) document.execCommand('foreColor', false, evt.value) + else if (cmd==='font-size' && evt && evt.value) { + const px = parseInt(String(evt.value), 10) + if (!Number.isFinite(px) || px<=0) return + const s = window.getSelection() + if (!s || s.rangeCount===0) return + const r = s.getRangeAt(0) + if (!currentEditor.contains(r.commonAncestorContainer)) return + const span = document.createElement('span') + span.style.fontSize = px + 'px' + if (r.collapsed) { + span.textContent = '' + r.insertNode(span) + const nr = document.createRange() + nr.setStart(span, 0) + nr.setEnd(span, 0) + s.removeAllRanges() + s.addRange(nr) + } else { + const frag = r.extractContents() + span.appendChild(frag) + r.insertNode(span) + const nr = document.createRange() + nr.selectNodeContents(span) + s.removeAllRanges() + s.addRange(nr) + } + } + } + // 绑定工具栏按钮点击事件 + const toolbar = document.querySelector('.toolbar') + if (toolbar) { + toolbar.querySelectorAll('button[data-cmd]').forEach(b => { + b.addEventListener('mousedown', (e) => { e.preventDefault(); e.stopPropagation(); applyCmd(b.dataset.cmd, e) }) + }) + } + + const emojiPanel = document.getElementById('emoji-panel') + const btnEmoji = document.getElementById('btn-emoji') + if (emojiPanel) { + const emojiMap = { + '常用': ['😀','😁','😂','🤣','😊','😉','🙂','🙃','🤔','😅','😆','😇','🥳','🤪','😎','😍','😘','😏','😒','😭','😤','😡','😴','🤗','🤭','🤯','😕','😟','😔','😞','😮','😲','😐','😑'], + '手势': ['👍','👎','👏','🙌','🙏','👌','✌️','🤞','🤟','👊','🤝','👉','👈','👆','👇','☝️','✋','🤚','🖐','🖖','✍️'], + '符号': ['✅','❌','⚠️','ℹ️','❗','❕','❓','❔','🚫','♻️','✔️','✖️','➕','➖','➗','🔁','🔂','🔄','🔃','🔺','🔻','🔸','🔹','🔶','🔷','⬆️','⬇️','⬅️','➡️','⏹️','⏺️','⏯️','⏭️','⏮️','⭐','🌟','✨','💡','📍','📌'], + '办公': ['📅','📆','🗓️','📝','✏️','✒️','🖊️','🖋️','📎','🗂️','📁','📂','🗃️','🗄️','📤','📥','📧','✉️','📨','📩','📢','📣','💬','🗨️','🗯️','🔔','🔕','🔒','🔑','🔧','🛠️'], + '时间': ['⏰','⌚','⏱️','⏲️','🕰️','🕛','🕐','🕑','🕒','🕓','🕔','🕕','🕖','🕗','🕘','🕙','🕚','📅','🗓️'], + '交通': ['🚀','🚗','🚕','🚙','🚌','🚎','🏎️','🚓','🚑','🚒','🚐','🚚','🚛','🚜','✈️','🛫','🛬','🛩️','🛳️','⛵','🛥️'], + '食物': ['🍎','🍊','🍌','🍉','🍇','🍓','🍒','🍍','🥭','🥝','🍅','🥑','🥦','🥕','🌽','🍞','🍔','🍟','🍕','🌭','🍜','🍣','🍤','🍪','🍩','🍰','🍫'], + '自然': ['🌞','🌝','🌚','🌧️','⛈️','🌩️','🌨️','❄️','☃️','🌪️','🌈','🔥','✨','🌟','⭐','🌙','☁️','🌤️','🌥️','🌦️','🌫️'] + } + const tabs = emojiPanel.querySelector('.emoji-tabs') + const listWrap = document.getElementById('emoji-list') + const cats = Object.keys(emojiMap) + tabs.innerHTML = '' + cats.forEach((name, idx) => { + const tb = document.createElement('button') + tb.type = 'button' + tb.textContent = name + if (idx===0) tb.classList.add('active') + tb.dataset.cat = name + tb.addEventListener('mousedown', (e) => { + e.preventDefault(); e.stopPropagation(); + tabs.querySelectorAll('button').forEach(x => x.classList.remove('active')) + tb.classList.add('active') + renderEmoji(name) + }) + tabs.appendChild(tb) + }) + function renderEmoji(cat) { + listWrap.innerHTML = '' + const arr = emojiMap[cat] || [] + arr.forEach(ch => { + const b = document.createElement('button') + b.type = 'button' + b.textContent = ch + b.addEventListener('mousedown', (e) => { e.preventDefault(); e.stopPropagation(); applyCmd('emoji', { value: ch }); emojiPanel.classList.add('hidden') }) + listWrap.appendChild(b) + }) + } + renderEmoji(cats[0]) + } + if (btnEmoji && emojiPanel) { + btnEmoji.addEventListener('mousedown', (e) => { + e.preventDefault() + e.stopPropagation() + if (emojiPanel.classList.contains('hidden')) emojiPanel.classList.remove('hidden') + else emojiPanel.classList.add('hidden') + }) + document.addEventListener('mousedown', (e) => { + const t = e.target + if (emojiPanel && !emojiPanel.contains(t) && t !== btnEmoji) emojiPanel.classList.add('hidden') + }) + } + + // 图片按钮特殊处理 + document.querySelector('[data-cmd="img"]').addEventListener('mousedown', (e) => { + e.preventDefault(); + e.stopPropagation(); + document.getElementById('img-file').click(); + }) + + // 图片文件选择处理 + document.getElementById('img-file').addEventListener('change', function(e) { + const file = e.target.files[0]; + if (file) { + applyCmd('img'); + } + }); + const colorInput = document.getElementById('font-color') + if (colorInput) colorInput.addEventListener('input', function(e){ applyCmd('color', { value: e.target.value }) }) + const btnColor = document.getElementById('btn-font-color') + if (btnColor && colorInput) btnColor.addEventListener('mousedown', function(e){ e.preventDefault(); e.stopPropagation(); colorInput.click() }) + const sizeSelect = document.getElementById('font-size') + if (sizeSelect) sizeSelect.addEventListener('change', function(e){ applyCmd('font-size', { value: e.target.value }) }) + + window.addEventListener('keydown', (e)=>{ + if ((e.ctrlKey || e.metaKey) && (e.key==='s' || e.key==='S')) { e.preventDefault(); saveReport() } + }) + + async function initDebug() { + try { + const res = await fetch('/api/flags', { credentials:'same-origin', cache:'no-store' }) + const data = await res.json() + if (data && data.debug && data.debug.weekly) { + const sec = document.getElementById('weekly-debug'); if (sec) sec.style.display='' + } + } catch {} + const out = document.getElementById('wd-output') + const refresh = async () => { + try { + const r = await fetch(`${apiBase}/logs`, { credentials:'same-origin', cache:'no-store' }) + const j = await r.json() + out.textContent = (j.lines||[]).join('\n') + } catch { + out.textContent = '读取失败' + } + } + const clear = async () => { + try { + await fetch(`${apiBase}/logs/clear`, { method:'POST', credentials:'same-origin', cache:'no-store' }) + await refresh() + } catch {} + } + const copy = async () => { try { await navigator.clipboard.writeText(out.textContent||''); alert('已复制') } catch {} } + const br = id => document.getElementById(id) + const bind = (id, fn) => { const b = br(id); if (b) b.onclick = fn } + bind('wd-refresh', refresh) + bind('wd-clear', clear) + bind('wd-copy', copy) + } + initDebug() + + function autoGenerateSummary() { + const html = $content.innerHTML || '' + const temp = document.createElement('div') + temp.innerHTML = html + const pickText = (sel, max) => Array.from(temp.querySelectorAll(sel)).map(x=>String(x.textContent||'').trim()).filter(Boolean).slice(0, max) + const heads = pickText('h1,h2,h3', 3) + const bullets = pickText('li', 6) + const paraText = Array.from(temp.querySelectorAll('p,div')).map(x=>String(x.textContent||'').trim()).filter(Boolean).join(' ') + const sentences = String(paraText).split(/[。!?!?\n]/).map(s=>s.trim()).filter(s=>s.length>=8).slice(0, 3) + const parts = [] + if (heads.length) parts.push('标题:' + heads.join(' / ')) + if (bullets.length) parts.push('要点:' + bullets.join(';')) + if (sentences.length) parts.push('摘要:' + sentences.join('。')) + let out = parts.join('\n') + if (!out) out = (paraText || '').slice(0, 300) + $summary.value = out + } + const autoBtn = document.getElementById('btn-auto-summary'); if (autoBtn) autoBtn.onclick = autoGenerateSummary + el('btn-save-settings').onclick = async () => { + const email = { enabled: el('email-enabled').checked } + await fetch('/api/weekly/settings', { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify({ email }), credentials:'same-origin', cache:'no-store' }) + showModal('操作成功', '已保存') + } + async function loadSettingsTabs() { + const tabs = document.querySelectorAll('.settings-tabs .tab-btn') + const contents = document.querySelectorAll('.tab-content') + tabs.forEach(btn => { + btn.addEventListener('click', () => { + const name = btn.dataset.tab + tabs.forEach(b => b.classList.remove('active')) + contents.forEach(c => c.classList.remove('active')) + btn.classList.add('active') + const c = document.getElementById(`tab-${name}`) + if (c) c.classList.add('active') + if (name === 'ai') loadAiSettings() + }) + }) + } + async function loadAiSettings() { + try { + const res = await fetch('/api/weekly/settings', { credentials:'same-origin', cache:'no-store' }) + const data = await res.json() + const ai = data.weekly_ai || {} + const defs = data.weekly_ai_defaults || {} + const prompt = String((ai.system_prompt || defs.system_prompt || '')) + const model = String((ai.model || defs.model || '')) + const temp = (ai.hasOwnProperty('temperature') ? ai.temperature : defs.temperature) + const t = document.getElementById('ai-system-prompt') + const m = document.getElementById('ai-model') + const n = document.getElementById('ai-temperature') + if (t) t.value = prompt + if (m) m.value = model + if (n) n.value = (typeof temp === 'number' || typeof temp === 'string') ? String(temp) : '' + } catch {} + } + const btnSaveAi = document.getElementById('btn-save-ai') + if (btnSaveAi) btnSaveAi.onclick = async () => { + const prompt = document.getElementById('ai-system-prompt') ? document.getElementById('ai-system-prompt').value : '' + const model = document.getElementById('ai-model') ? document.getElementById('ai-model').value : '' + const temperature = parseFloat(document.getElementById('ai-temperature') ? document.getElementById('ai-temperature').value : '') + const weekly_ai = {} + if (prompt) weekly_ai.system_prompt = prompt + if (model) weekly_ai.model = model + if (Number.isFinite(temperature)) weekly_ai.temperature = temperature + await fetch('/api/weekly/settings', { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify({ weekly_ai }), credentials:'same-origin', cache:'no-store' }) + showModal('操作成功', 'AI设置已保存') + } + const btnResetAi = document.getElementById('btn-reset-ai') + if (btnResetAi) btnResetAi.onclick = async () => { + try { + const res = await fetch('/api/weekly/settings', { credentials:'same-origin', cache:'no-store' }) + const data = await res.json() + const defs = data.weekly_ai_defaults || {} + const t = document.getElementById('ai-system-prompt') + const m = document.getElementById('ai-model') + const n = document.getElementById('ai-temperature') + if (t) t.value = String(defs.system_prompt || '') + if (m) m.value = String(defs.model || '') + if (n) n.value = (defs.hasOwnProperty('temperature') ? String(defs.temperature) : '') + const weekly_ai = {} + if (defs.system_prompt) weekly_ai.system_prompt = defs.system_prompt + if (defs.model) weekly_ai.model = defs.model + if (defs.hasOwnProperty('temperature')) weekly_ai.temperature = defs.temperature + await fetch('/api/weekly/settings', { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify({ weekly_ai }), credentials:'same-origin', cache:'no-store' }) + showModal('操作成功', '已重置为默认') + } catch { showModal('提示', '重置失败') } + } + el('btn-backup').onclick = async () => { + const res = await fetch(`${apiBase}/backup`, { method:'POST', credentials:'same-origin', cache:'no-store' }) + const data = await res.json(); if (data.ok) { const a=el('backup-link'); a.href = data.path; a.style.display=''; a.textContent='下载备份'; showModal('操作成功','备份已生成'); } else showModal('提示','失败') + } + el('btn-restore').onclick = async () => { + const f = el('restore-file').files[0] + if (!f) return + const buf = await f.arrayBuffer() + const res = await fetch(`${apiBase}/restore`, { method:'POST', headers:{'Content-Type':'application/octet-stream'}, body: new Uint8Array(buf), credentials:'same-origin', cache:'no-store' }) + const data = await res.json(); showModal('操作结果', data.ok?'已恢复':'失败') + } + + el('btn-refresh-reminders').onclick = async () => { + const res = await fetch(`${apiBase}/reminders`, { credentials:'same-origin', cache:'no-store' }) + const data = await res.json() + const wrap = el('reminders'); wrap.innerHTML='' + const due = (data.dueTomorrow||[]).map(d=>`[明日] [${d.week_id}] ${d.title} @ ${d.deadline}`) + const od = (data.overdue||[]).map(d=>`[逾期] [${d.week_id}] ${d.title} @ ${d.deadline}`) + const all = due.concat(od) + all.forEach(s=>{ const div=document.createElement('div'); div.className='event'; div.textContent=s; wrap.appendChild(div) }) + showModal('成功','提醒已刷新') + } + + el('btn-load-versions').onclick = async () => { + if (!current.report || !current.report.id) return + const res = await fetch(`${apiBase}/versions?subject_type=report&subject_id=${current.report.id}`, { credentials:'same-origin', cache:'no-store' }) + const data = await res.json() + const rows = data.rows||[] + const a = el('ver-a'), b = el('ver-b'); a.innerHTML=''; b.innerHTML='' + rows.forEach(v=>{ const o=document.createElement('option'); o.value=String(v.id); o.textContent=`${v.id} ${v.created_at}`; a.appendChild(o) }) + rows.forEach(v=>{ const o=document.createElement('option'); o.value=String(v.id); o.textContent=`${v.id} ${v.created_at}`; b.appendChild(o) }) + showModal('成功','版本列表已加载') + } + el('btn-diff').onclick = async () => { + const a = el('ver-a').value, b = el('ver-b').value + if (!a || !b) return + const res = await fetch(`${apiBase}/version/diff?from=${a}&to=${b}`, { credentials:'same-origin', cache:'no-store' }) + const data = await res.json() + const wrap = el('diff-output'); wrap.innerHTML='' + const changes = data.changes||[] + changes.forEach(c=>{ const div=document.createElement('div'); div.className='event'; div.innerHTML=`${c.field}
    旧:${c.from||''}
    新:${c.to||''}`; wrap.appendChild(div) }) + showModal('成功','版本对比已生成') + } + async function applyQuickFilters() { + const dim = document.getElementById('quick-time').value + const rel = document.getElementById('quick-rel').value + const range = {} + if (dim==='week') { + const w = $weeks.value; range.start = w; range.end = w + } else { + const w = $weeks.value + const m = w.slice(0,4)+'-'+w.slice(6,8) // rough year-week + if (dim==='month') { range.start = w; range.end = w } // placeholder: reuse current week + if (dim==='quarter') { range.start = w; range.end = w } + } + const body = { range, status: [], mime: [] } + const res = await fetch(`${apiBase}/search/advanced`, { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify(body), credentials:'same-origin', cache:'no-store' }) + const data = await res.json() + const rows = data.rows||[] + let filtered = rows + if (rel==='has_parent' || rel==='has_child') { + // need relation data; keep simple by checking existence + const ids = filtered.map(r=>r.id) + const relResp = await Promise.all(ids.map(id=>fetch(`${apiBase}/relations?event_id=${id}`, { credentials:'same-origin', cache:'no-store' }))) + const relData = await Promise.all(relResp.map(r=>r.json())) + filtered = filtered.filter((r,i)=>{ + const a = relData[i].rows||[] + const has = a.some(x=> (rel==='has_parent' ? x.target_event_id===r.id : x.event_id===r.id)) + return has + }) + } + $events.innerHTML='' + filtered.forEach(ev=>renderEvent(ev)) + for (const ev of filtered) { + const reviews = document.querySelector(`.reviews[data-event-id="${ev.id}"]`) + const atts = document.querySelector(`.attachments[data-event-id="${ev.id}"]`) + if (reviews) fetchAndRenderReviews(ev.id, reviews) + if (atts) fetchAndRenderAttachments(ev.id, atts) + } + } + const quickBtn = document.getElementById('btn-apply-quick'); if (quickBtn) quickBtn.onclick = async () => { await runWithLoading(applyQuickFilters, '筛选加载成功') } + + const btnRefreshOverview = document.getElementById('btn-refresh-overview'); + if (btnRefreshOverview) { + btnRefreshOverview.onclick = async (e) => { + e.stopPropagation(); + const icon = btnRefreshOverview; + icon.style.transition = 'transform 0.5s'; + icon.style.transform = 'rotate(360deg)'; + setTimeout(() => { icon.style.transition = 'none'; icon.style.transform = ''; }, 500); + await runWithLoading(() => initOverview(), '概览数据已刷新'); + } + } + + async function pushCalendar(event_id) { + if (busy) { showModal('请稍候', '正在处理上一个请求...'); return } + busy = true + loadingStartTs = Date.now() + showLoadingModal('正在推送日历,请耐心等待(约30秒)...') + try { + addLoadingStep('正在初始化推送请求...') + try { fetch(`${apiBase}/logs/add`, { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify({ tag:'weekly.ui.push.start', data:{ event_id } }), credentials:'same-origin', cache:'no-store' }) } catch {} + + addLoadingStep('正在连接服务器并转发至日历接口...') + const res = await fetch(`${apiBase}/calendar/push?event_id=${event_id}`, { method:'POST', credentials:'same-origin', cache:'no-store' }) + + addLoadingStep('服务器已响应,正在解析结果...') + const data = await res.json() + + try { fetch(`${apiBase}/logs/add`, { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify({ tag:'weekly.ui.push.response', data:{ event_id, ok: !!(data && data.ok), error: data && data.error, endpoint: data && data.endpoint, method: data && data.method, status: data && data.status } }), credentials:'same-origin', cache:'no-store' }) } catch {} + + hideLoadingModal() + + const esc = s => String(s||'').replace(/[&<>"']/g, c => ({'&':'&','<':'<','>':'>','"':'"',"'":'''}[c])) + if (data && data.ok) { + const p = data.payload || {} + const html = ` +
    +
    目标地址:${esc(data.endpoint||'')}
    +
    请求方法:${esc(data.method||'')}
    +
    推送标题:${esc(p.title||'')}
    +
    开始时间:${esc(p.start||'')}
    +
    结束时间:${esc(p.end||'')}
    +
    提醒时间:${esc(p.remindAt||'')}
    +
    周编号:${esc(p.week_id||'')}
    +
    状态码:${esc(String(data.status||''))}
    +
    返回片段:
    +
    ${esc(data.body||'')}
    +
    + ` + showModal('日历推送结果', html) + } else if (data && data.error==='no_deadline') { + showModal('提示','未设置截止时间,无法推送') + } else if (data && data.error==='not_required') { + showModal('提示','未勾选“需邮件和日历等推送”,未推送') + } else if (data && data.error==='disabled') { + showModal('提示','未启用日历推送,请先在配置中开启') + } else if (data && data.error==='no_endpoint') { + showModal('提示','未配置日历推送地址') + } else { + const ep = data && data.endpoint ? data.endpoint : '' + const status = data && data.status ? `状态码:${data.status}` : '' + showModal('推送失败', `目标地址:${esc(ep)}
    ${esc(status)}
    错误信息:${esc(data && data.error || '未知错误')}`) + } + } catch (e) { + hideLoadingModal() + try { fetch(`${apiBase}/logs/add`, { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify({ tag:'weekly.ui.push.error', data:{ event_id, error: String((e && e.message) || e) } }), credentials:'same-origin', cache:'no-store' }) } catch {} + showModal('提示','推送失败: ' + String(e.message||e)) + } finally { + busy = false + } + } + + // Settings Tab Switching Logic + function switchSettingsTab(tabName) { + // Update tab buttons + document.querySelectorAll('.settings-tabs .tab-btn').forEach(btn => { + if (btn.dataset.tab === tabName) { + btn.classList.add('active'); + } else { + btn.classList.remove('active'); + } + }); + + // Update tab content + document.querySelectorAll('.tab-content').forEach(content => { + if (content.id === `tab-${tabName}`) { + content.classList.add('active'); + } else { + content.classList.remove('active'); + } + }); + } + + // Bind click events to tab buttons + const tabBtns = document.querySelectorAll('.settings-tabs .tab-btn'); + if (tabBtns.length > 0) { + tabBtns.forEach(btn => { + btn.addEventListener('click', () => { + switchSettingsTab(btn.dataset.tab); + }); + }); + } +})() diff --git a/public/tools/weekly_embed/events.html b/public/tools/weekly_embed/events.html new file mode 100644 index 0000000..dbd21f2 --- /dev/null +++ b/public/tools/weekly_embed/events.html @@ -0,0 +1,53 @@ + + + + + + 周报事件列表 + + + + + +
    +
    +
    + + + + +
    + +
    +
    +
    +
    +

    事件列表

    + +
    +
    +
    +
    +
    +
    + + + + diff --git a/public/tools/weekly_embed/index.html b/public/tools/weekly_embed/index.html new file mode 100644 index 0000000..8a2c803 --- /dev/null +++ b/public/tools/weekly_embed/index.html @@ -0,0 +1,61 @@ + + + + + + 周报查看 + + + + + +
    +
    +
    + + + + +
    + +
    +
    +
    +
    +

    周报标题

    + +
    +
    暂无周报
    +
    +
    +

    周报摘要

    +
    暂无摘要
    +
    +
    +

    周报内容

    +
    暂无内容
    +
    +
    +
    +
    + + + + diff --git a/public/tools/weekly_embed/weekly_embed.css b/public/tools/weekly_embed/weekly_embed.css new file mode 100644 index 0000000..ab98693 --- /dev/null +++ b/public/tools/weekly_embed/weekly_embed.css @@ -0,0 +1,321 @@ +:root { + --primary: #1e2a3a; + --primary-light: #2c3e50; + --accent: #2d8cff; + --accent-hover: #1a75d9; + --bg: #f6f7fb; + --surface: #ffffff; + --border: #e5e7eb; + --text: #1f2937; + --text-muted: #6b7280; + --radius: 6px; + --radius-sm: 4px; + --shadow: rgba(0, 0, 0, 0.06); + --transition: all 0.2s ease; +} + +body { + margin: 0; + color: var(--text); + background: var(--bg); + font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; +} + +.page { + min-height: 100vh; + display: flex; + flex-direction: column; +} + +.top-bar { + display: flex; + justify-content: space-between; + align-items: center; + gap: 16px; + padding: 14px 20px; + background: var(--primary); + color: #fff; + position: sticky; + top: 0; + z-index: 10; +} + +.time-controls { + display: flex; + align-items: center; + gap: 10px; + flex-wrap: wrap; +} + +.nav-links { + display: flex; + gap: 10px; + align-items: center; +} + +.nav-link { + color: #e5e7eb; + text-decoration: none; + padding: 6px 12px; + border-radius: var(--radius-sm); + transition: var(--transition); + border: 1px solid rgba(255, 255, 255, 0.2); +} + +.nav-link.active, +.nav-link:hover { + color: #fff; + background: rgba(255, 255, 255, 0.1); +} + +.btn:focus-visible, +.nav-link:focus-visible, +select:focus-visible, +#loading-close:focus-visible, +#btn-loading-close:focus-visible { + outline: 2px solid var(--accent); + outline-offset: 2px; +} + +.content { + flex: 1; + padding: 18px; + max-width: 1200px; + margin: 0 auto; + width: 100%; + box-sizing: border-box; +} + +.card { + background: var(--surface); + border: 1px solid var(--border); + border-radius: var(--radius); + box-shadow: 0 1px 3px var(--shadow); + padding: 18px; + margin-bottom: 16px; +} + +.card h2, +.card h3 { + margin: 0 0 12px 0; + color: var(--primary); + font-weight: 600; +} + +.card-header { + display: flex; + justify-content: space-between; + align-items: center; + gap: 10px; + margin-bottom: 10px; +} + +select { + padding: 6px 10px; + border: 1px solid rgba(255, 255, 255, 0.3); + border-radius: var(--radius-sm); + background: #fff; + color: var(--primary); +} + +.btn { + padding: 6px 12px; + border: none; + border-radius: var(--radius-sm); + background: var(--accent); + color: #fff; + cursor: pointer; + transition: var(--transition); +} + +.btn:hover { + background: var(--accent-hover); +} + +.btn:disabled { + opacity: 0.6; + cursor: not-allowed; +} + +.btn-secondary { + background: rgba(255, 255, 255, 0.15); + border: 1px solid rgba(255, 255, 255, 0.3); +} + +.btn-secondary:hover { + background: rgba(255, 255, 255, 0.25); +} + +.report-title { + font-size: 18px; + font-weight: 600; +} + +.report-summary, +.report-content { + line-height: 1.7; + color: var(--text); + font-size: 14px; + word-break: break-word; +} + +.report-content { + min-height: 180px; +} + +.report-content img, +.event-body img { + max-width: 100%; + height: auto; +} + +.report-content pre, +.event-body pre { + overflow: auto; + padding: 10px 12px; + border: 1px solid var(--border); + border-radius: var(--radius-sm); + background: rgba(0, 0, 0, 0.03); +} + +.events { + display: grid; + gap: 14px; +} + +.event { + border: 1px solid var(--border); + border-radius: var(--radius); + padding: 14px; + background: #fff; +} + +.event-header { + display: flex; + align-items: center; + gap: 10px; + margin-bottom: 8px; +} + +.tag { + padding: 2px 8px; + border-radius: 999px; + background: rgba(45, 140, 255, 0.1); + color: var(--accent); + font-size: 12px; +} + +.event-title { + font-weight: 600; + color: var(--primary); +} + +.event-meta { + display: flex; + flex-wrap: wrap; + gap: 12px; + font-size: 12px; + color: var(--text-muted); + margin-bottom: 8px; +} + +.event-body { + font-size: 14px; + line-height: 1.6; + color: var(--text); +} + +.status { + margin-top: 10px; + color: #ef4444; + font-size: 13px; +} + +.muted { + color: var(--text-muted); +} + +.empty { + color: var(--text-muted); + text-align: center; + padding: 20px 0; +} + +#loading-overlay { + position: fixed; + inset: 0; + background: rgba(0,0,0,0.35); + display: none; + align-items: center; + justify-content: center; + z-index: 9999; +} +#loading-panel { + width: 680px; + max-width: calc(100vw - 40px); + max-height: calc(100vh - 80px); + background: #fff; + border-radius: var(--radius); + border: 1px solid var(--border); + box-shadow: 0 6px 20px rgba(0,0,0,0.2); + display: flex; + flex-direction: column; +} +#loading-header { + padding: 12px 16px; + border-bottom: 1px solid var(--border); + display: flex; + align-items: center; + justify-content: space-between; +} +#loading-title { + font-weight: 600; + color: var(--primary); +} +#loading-close { + border: none; + background: transparent; + color: var(--text-muted); + cursor: pointer; + font-size: 18px; +} +#loading-body { + padding: 10px 16px; + overflow: auto; +} +#loading-logs { + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size: 13px; + line-height: 1.6; + white-space: pre-wrap; +} +#loading-footer { + padding: 10px 16px; + border-top: 1px solid var(--border); + display: flex; + align-items: center; + justify-content: flex-end; + gap: 10px; +} +.log-step { + display: flex; + align-items: flex-start; + gap: 8px; + margin: 6px 0; +} +.log-step .icon { + width: 18px; +} +.log-step .text { + flex: 1; +} + +@media (max-width: 900px) { + .top-bar { + flex-direction: column; + align-items: flex-start; + } + .content { + padding: 14px; + } +} diff --git a/public/tools/weekly_embed/weekly_embed.html b/public/tools/weekly_embed/weekly_embed.html new file mode 100644 index 0000000..82a6ab1 --- /dev/null +++ b/public/tools/weekly_embed/weekly_embed.html @@ -0,0 +1,61 @@ + + + + + + 周报查看 + + + + + +
    +
    +
    + + + + +
    + +
    +
    +
    +
    +

    周报标题

    + +
    +
    暂无周报
    +
    +
    +

    周报摘要

    +
    暂无摘要
    +
    +
    +

    周报内容

    +
    暂无内容
    +
    +
    +
    +
    + + + + diff --git a/public/tools/weekly_embed/weekly_embed.js b/public/tools/weekly_embed/weekly_embed.js new file mode 100644 index 0000000..79deabd --- /dev/null +++ b/public/tools/weekly_embed/weekly_embed.js @@ -0,0 +1,490 @@ +;(function () { + const el = id => document.getElementById(id) + const $year = el('week-year') + const $weeks = el('week-list') + const $status = el('status') + const $title = el('report-title') + const $summary = el('report-summary') + const $content = el('report-content') + const $events = el('events') + const $prev = el('btn-prev-week') + const $next = el('btn-next-week') + const $refreshReport = el('btn-refresh-report') + const $refreshEvents = el('btn-refresh-events') + const page = document.body.getAttribute('data-page') || 'report' + const $overlay = el('loading-overlay') + const $logs = el('loading-logs') + const $ltitle = el('loading-title') + const $btnClose = el('btn-loading-close') + const $btnCopy = el('btn-copy-logs') + const $btnX = el('loading-close') + + const qs = new URLSearchParams(location.search) + const urlKey = qs.get('key') || '' + const storedKey = (() => { try { return sessionStorage.getItem('weekly_embed_key') || '' } catch { return '' } })() + const accessKey = urlKey || storedKey || '' + const apiBase = '/api/weekly_embed' + + const persistKey = () => { + if (!urlKey || !accessKey) return + try { sessionStorage.setItem('weekly_embed_key', accessKey) } catch {} + try { + const u = new URL(location.href) + u.searchParams.delete('key') + history.replaceState(null, '', `${u.pathname}${u.search}${u.hash}`) + } catch {} + } + + const openLoading = (title) => { + if ($overlay) { + $overlay.style.display = 'flex' + if ($logs) $logs.innerHTML = '' + if ($ltitle) $ltitle.textContent = title || '加载中' + if ($btnClose) { $btnClose.disabled = true; $btnClose.onclick = () => { $overlay.style.display = 'none' } } + if ($btnCopy) { $btnCopy.disabled = true } + if ($btnX) { $btnX.disabled = true; $btnX.onclick = () => { if (!$btnClose || !$btnClose.disabled) $overlay.style.display = 'none' } } + } + } + + const maskKeyInText = (text) => { + if (!accessKey) return String(text || '') + return String(text || '').split(accessKey).join('***') + } + + const getLogsText = () => { + const title = ($ltitle && $ltitle.textContent) ? $ltitle.textContent : '加载中' + const body = $logs ? $logs.innerText : '' + return `${title}\n${body}`.trim() + } + + const copyLogs = async () => { + const text = getLogsText() + if (!text) return + try { + if (navigator.clipboard && navigator.clipboard.writeText) { + await navigator.clipboard.writeText(text) + } else { + const ta = document.createElement('textarea') + ta.value = text + ta.style.position = 'fixed' + ta.style.left = '-9999px' + ta.style.top = '0' + document.body.appendChild(ta) + ta.focus() + ta.select() + document.execCommand('copy') + ta.remove() + } + addLoadingStep('已复制到剪贴板', '📋') + } catch (e) { + addLoadingStep(`复制失败:${String(e && e.message ? e.message : e)}`, '⚠️') + } + } + const addLoadingStep = (text, icon = '⏳') => { + if (!$logs) return + const row = document.createElement('div') + row.className = 'log-step' + const i = document.createElement('div'); i.className = 'icon'; i.textContent = icon + const t = document.createElement('div'); t.className = 'text'; t.textContent = maskKeyInText(text) + row.appendChild(i); row.appendChild(t) + $logs.appendChild(row) + $logs.scrollTop = $logs.scrollHeight + if ($btnCopy) $btnCopy.disabled = false + } + const closeLoading = (ok) => { + if ($overlay) { + if ($btnClose) $btnClose.disabled = false + if ($btnCopy) $btnCopy.disabled = !$logs || !$logs.innerText + if ($btnX) $btnX.disabled = false + if (ok) setTimeout(() => { $overlay.style.display = 'none' }, 200) + } + } + const runWithLoading = async (fn, title) => { + openLoading(title || '加载中') + try { + await fn() + addLoadingStep('完成', '✔️') + closeLoading(true) + } catch (e) { + if ($ltitle) $ltitle.textContent = '发生错误' + addLoadingStep(String(e && (e.stack || e.message) ? (e.stack || e.message) : (e || '失败')), '❌') + closeLoading(false) + throw e + } + } + + const setStatus = (msg, type) => { + if (!$status) return + $status.textContent = msg || '' + $status.style.color = type === 'success' ? '#10b981' : '#ef4444' + } + + const setNavLinks = () => { + const linkReport = el('link-report') + const linkEvents = el('link-events') + const reportPage = location.pathname.endsWith('weekly_embed.html') ? 'weekly_embed.html' : 'index.html' + if (linkReport) linkReport.href = `${reportPage}` + if (linkEvents) linkEvents.href = `events.html` + } + + const sanitizeHtml = (html) => { + const tpl = document.createElement('template') + tpl.innerHTML = String(html || '') + const blocked = new Set(['SCRIPT', 'IFRAME', 'OBJECT', 'EMBED', 'LINK', 'META', 'STYLE', 'BASE']) + const safeUrl = (raw) => { + const s = String(raw || '').trim() + if (!s) return '' + if (s.startsWith('#') || s.startsWith('/') || s.startsWith('./') || s.startsWith('../')) return s + if (/^(https?:|mailto:|tel:)/i.test(s)) return s + if (/^data:image\//i.test(s)) return s + return '' + } + const walk = (root) => { + const nodes = Array.from(root.querySelectorAll('*')) + nodes.forEach(node => { + if (blocked.has(node.tagName)) { node.remove(); return } + Array.from(node.attributes).forEach(attr => { + const name = attr.name.toLowerCase() + const val = attr.value + if (name.startsWith('on')) { node.removeAttribute(attr.name); return } + if (name === 'srcdoc') { node.removeAttribute(attr.name); return } + if (name === 'href' || name === 'src' || name === 'xlink:href') { + const v = safeUrl(val) + if (!v) node.removeAttribute(attr.name) + else node.setAttribute(attr.name, v) + return + } + if (name === 'style') { + const s = String(val || '') + if (/expression\s*\(|javascript:/i.test(s)) node.removeAttribute(attr.name) + return + } + }) + if (node.tagName === 'A') { + const target = (node.getAttribute('target') || '').toLowerCase() + if (target === '_blank') { + const rel = (node.getAttribute('rel') || '').split(/\s+/).filter(Boolean) + ;['noopener', 'noreferrer'].forEach(v => { if (!rel.includes(v)) rel.push(v) }) + node.setAttribute('rel', rel.join(' ')) + } + } + }) + } + walk(tpl.content) + return tpl.innerHTML + } + + const fetchJson = async (path, params = {}) => { + const url = new URL(`${apiBase}${path}`, location.origin) + if (accessKey) url.searchParams.set('key', accessKey) + Object.entries({ ...params }).forEach(([k, v]) => { + if (v !== undefined && v !== null && v !== '') url.searchParams.set(k, String(v)) + }) + addLoadingStep(`请求 ${url.pathname}${url.search.replace(/key=[^&]+/i, 'key=***')}`, '🌐') + const res = await fetch(url.toString(), { + cache: 'no-store', + credentials: 'same-origin', + headers: { 'X-Weekly-Embed-Key': accessKey } + }) + const raw = await res.text().catch(() => '') + let data = {} + try { data = raw ? JSON.parse(raw) : {} } catch { data = {} } + if (!res.ok) { + const reason = String((data && data.error) ? data.error : (res.statusText || '请求失败')) + addLoadingStep(`HTTP ${res.status} ${reason}`, '🧯') + if (raw && raw !== '[object Object]') addLoadingStep(`响应:${raw.slice(0, 2000)}`, '📦') + addLoadingStep(`key_len=${accessKey ? String(accessKey).length : 0}`, '🔑') + throw new Error(reason) + } + if (Array.isArray(data.trace)) data.trace.forEach(s => addLoadingStep(`后端:${s}`, '⚙️')) + return data + } + + const formatCNDeadline = (ts) => { + if (!ts) return '' + const s = String(ts).replace('T', ' ') + return s.length >= 19 ? s.slice(0, 19) : (s.length >= 16 ? s.slice(0, 16) : s) + } + + const statusLabel = (code) => { + return ({ doing: '▶️进行中', done: '✔️完成', pause: '⏸️暂停', new: '📅本周新增', close: '❌关闭', not: '👋未做', ok: '👌成功', fail: '⛔失败' })[code] || code || '未知' + } + + let weekList = [] + let currentYear = new Date().getFullYear() + let currentWeekId = '' + + const updateWeekButtons = () => { + const idx = weekList.findIndex(w => w.week_id === $weeks.value) + if ($prev) $prev.disabled = idx < 0 || idx >= weekList.length - 1 + if ($next) $next.disabled = idx <= 0 + } + + const toTime = (v) => { + const s = String(v || '') + if (!s) return 0 + const t = Date.parse(s) + if (!Number.isNaN(t)) return t + return Date.parse(s.replace(/\//g, '-')) || 0 + } + + const renderWeekOptions = (list) => { + weekList = list.slice().sort((a, b) => { + const ta = toTime(a.end || a.start) + const tb = toTime(b.end || b.start) + if (ta !== tb) return tb - ta + return String(b.week_id || '').localeCompare(String(a.week_id || '')) + }) + $weeks.innerHTML = '' + weekList.forEach(w => { + const opt = document.createElement('option') + opt.value = w.week_id + const type = w.week_id === currentWeekId ? '📗 ' : '📘 ' + const icon = (w.has_report && w.has_events) ? ' 📅💬' : (w.has_report ? ' 📅' : (w.has_events ? ' 💬' : '')) + opt.textContent = `${type}${w.week_id} (${w.start}~${w.end})${icon}` + $weeks.appendChild(opt) + }) + if (currentWeekId && weekList.find(w => w.week_id === currentWeekId)) $weeks.value = currentWeekId + else if (weekList.length) $weeks.value = weekList[0].week_id + updateWeekButtons() + } + + const loadWeeks = async (year) => { + addLoadingStep(`准备计算 ${year} 年的 ISO 周`, '🗓️') + const data = await fetchJson('/weeks', { year }) + currentWeekId = data.currentWeekId || '' + addLoadingStep('渲染周下拉', '🧩') + renderWeekOptions(data.weeks || []) + await loadCurrent() + } + + const loadYears = async () => { + let years = [] + try { + const data = await fetchJson('/years') + years = Array.isArray(data.years) ? data.years : [] + } catch {} + if (!years.length) years = [currentYear, currentYear - 1] + years = Array.from(new Set(years.concat([currentYear, currentYear + 1, currentYear - 1]))).sort((a, b) => b - a) + $year.innerHTML = '' + years.forEach(y => { + const opt = document.createElement('option') + opt.value = y + opt.textContent = `${y} 年` + $year.appendChild(opt) + }) + if (years.includes(currentYear)) $year.value = currentYear + else if (years.length) { currentYear = years[0]; $year.value = currentYear } + await loadWeeks(currentYear) + } + + const setText = (node, text, placeholder) => { + if (!node) return + const value = String(text || '').trim() + if (!value) { + node.textContent = placeholder + node.classList.add('muted') + return + } + node.classList.remove('muted') + node.textContent = value + } + + const setHtml = (node, html, placeholder) => { + if (!node) return + const value = String(html || '').trim() + if (!value) { + node.textContent = placeholder + node.classList.add('muted') + return + } + node.classList.remove('muted') + node.innerHTML = sanitizeHtml(value) + } + + const TITLE_INLINE_HAN_LIMIT = 50 + const normalizeInlineText = text => String(text || '').replace(/\s+/g, ' ').trim() + const normalizeBodyForTitle = content => normalizeInlineText(String(content || '').replace(//gi, ';').replace(/<[^>]+>/g, ' ').replace(/\r?\n+/g, ';')) + const countHanChars = text => (String(text || '').match(/[\u3400-\u4DBF\u4E00-\u9FFF\uF900-\uFAFF]/g) || []).length + const countDisplayChars = text => Array.from(String(text || '')).length + const takePrefixByHanLimit = (text, hanLimit) => { + const chars = Array.from(String(text || '')) + let han = 0 + let out = '' + for (const ch of chars) { + const isHan = /[\u3400-\u4DBF\u4E00-\u9FFF\uF900-\uFAFF]/.test(ch) + if (isHan) { + if (han >= hanLimit) break + han += 1 + } + out += ch + } + return out.trim() + } + const hasTitlePolicyApplied = (title, detail) => { + const t = normalizeInlineText(title) + const d = normalizeInlineText(detail) + if (!d) return true + if (t.includes('【剩余') && t.includes('详见正文】')) return true + if (d.length >= 10 && t.includes(d.slice(0, 10))) return true + return false + } + const buildEventTitleByPolicy = (title, content) => { + const base = normalizeInlineText(title) + const detail = normalizeBodyForTitle(content) + if (!detail || hasTitlePolicyApplied(base, detail)) return base + const hanCount = countHanChars(detail) + const effectiveCount = hanCount > 0 ? hanCount : countDisplayChars(detail) + if (effectiveCount <= TITLE_INLINE_HAN_LIMIT) return normalizeInlineText(`${base} ${detail}`) + const prefix = hanCount > 0 ? takePrefixByHanLimit(detail, TITLE_INLINE_HAN_LIMIT) : Array.from(detail).slice(0, TITLE_INLINE_HAN_LIMIT).join('') + const remaining = Math.max(0, effectiveCount - TITLE_INLINE_HAN_LIMIT) + return normalizeInlineText(`${base} ${prefix}【剩余${remaining}汉字,详见正文】`) + } + + const loadReport = async () => { + if (!$weeks.value) return + addLoadingStep(`获取周报 ${$weeks.value}`, '📄') + const data = await fetchJson('/report', { week_id: $weeks.value }) + const report = data.report || null + addLoadingStep('更新标题/摘要/正文', '📝') + setText($title, report ? report.title : '', '暂无周报') + setText($summary, report ? report.summary : '', '暂无摘要') + setHtml($content, report ? report.content : '', '暂无内容') + } + + const renderEvents = (events) => { + if (!$events) return + $events.innerHTML = '' + if (!events.length) { + const empty = document.createElement('div') + empty.className = 'empty' + empty.textContent = '暂无事件' + $events.appendChild(empty) + return + } + events.forEach(ev => { + const wrap = document.createElement('div') + wrap.className = 'event' + + const header = document.createElement('div') + header.className = 'event-header' + + const tag = document.createElement('span') + tag.className = 'tag' + tag.textContent = statusLabel(ev.status_code) + + const title = document.createElement('div') + title.className = 'event-title' + title.textContent = buildEventTitleByPolicy(ev.title || '', ev.content || '') + + header.appendChild(tag) + header.appendChild(title) + + const meta = document.createElement('div') + meta.className = 'event-meta' + if (ev.deadline) { + const item = document.createElement('div') + item.className = 'event-meta-item' + item.textContent = `截止时间:${formatCNDeadline(ev.deadline)}` + meta.appendChild(item) + } + const pushItem = document.createElement('div') + pushItem.className = 'event-meta-item' + pushItem.textContent = `推送:${ev.push_required ? '是' : '否'}` + meta.appendChild(pushItem) + + const body = document.createElement('div') + body.className = 'event-body' + body.innerHTML = sanitizeHtml(ev.content || '') + + wrap.appendChild(header) + wrap.appendChild(meta) + wrap.appendChild(body) + $events.appendChild(wrap) + }) + } + + const loadEvents = async () => { + if (!$weeks.value) return + addLoadingStep(`查询周报 ${$weeks.value}`, '🔍') + const reportData = await fetchJson('/report', { week_id: $weeks.value }) + const report = reportData.report || null + if (!report || !report.id) { + addLoadingStep('本周暂无周报或事件', 'ℹ️') + renderEvents([]) + return + } + addLoadingStep(`获取事件列表 report_id=${report.id}`, '📑') + const eventsData = await fetchJson('/events', { report_id: report.id }) + const events = eventsData.rows || eventsData.events || [] + addLoadingStep(`渲染事件 ${events.length} 条`, '🧩') + renderEvents(events) + } + + const loadCurrent = async () => { + setStatus('') + try { + addLoadingStep(`进入${page === 'report' ? '周报' : '事件列表'}页面`, '📌') + if (page === 'report') await loadReport() + else await loadEvents() + } catch (e) { + setStatus(String(e.message || e || '加载失败')) + } + } + + const movePrevWeek = () => { + const idx = weekList.findIndex(w => w.week_id === $weeks.value) + if (idx >= 0 && idx < weekList.length - 1) { + $weeks.value = weekList[idx + 1].week_id + updateWeekButtons() + runWithLoading(loadCurrent, '切换上一周') + } + } + + const moveNextWeek = () => { + const idx = weekList.findIndex(w => w.week_id === $weeks.value) + if (idx > 0) { + $weeks.value = weekList[idx - 1].week_id + updateWeekButtons() + runWithLoading(loadCurrent, '切换下一周') + } + } + + if (!accessKey) { + setNavLinks() + setStatus('缺少访问 key,请在 URL 中添加 ?key=你的key') + if ($year) $year.disabled = true + if ($weeks) $weeks.disabled = true + if ($prev) $prev.disabled = true + if ($next) $next.disabled = true + return + } + + persistKey() + setNavLinks() + + if ($btnCopy) $btnCopy.onclick = () => { copyLogs() } + + if ($year) $year.onchange = () => { + currentYear = parseInt($year.value, 10) || currentYear + runWithLoading(() => loadWeeks(currentYear), '切换年份') + } + if ($weeks) $weeks.onchange = () => { + updateWeekButtons() + runWithLoading(loadCurrent, '切换周') + } + if ($prev) $prev.onclick = movePrevWeek + if ($next) $next.onclick = moveNextWeek + if ($refreshReport) $refreshReport.onclick = () => runWithLoading(loadReport, '刷新周报') + if ($refreshEvents) $refreshEvents.onclick = () => runWithLoading(loadEvents, '刷新事件') + + if ($overlay) { + document.addEventListener('keydown', (e) => { + if (e.key !== 'Escape') return + if ($overlay.style.display !== 'flex') return + if (!$btnClose || !$btnClose.disabled) $overlay.style.display = 'none' + }) + } + + runWithLoading(loadYears, '初始化加载') +})() diff --git a/public/tools/weibo/auth_config.json b/public/tools/weibo/auth_config.json new file mode 100644 index 0000000..79d90f1 --- /dev/null +++ b/public/tools/weibo/auth_config.json @@ -0,0 +1,7 @@ +{ + "_comment": "微博工具的前端鉴权配置", + "enable_auth_comment": "true:启用鉴权(需要从导航登录);false:完全放开访问微博工具", + "enable_auth": true, + "max_age_days_comment": "鉴权 cookie 的最大有效天数(1~365)", + "max_age_days": 30 +} diff --git a/public/tools/weibo/index.html b/public/tools/weibo/index.html new file mode 100644 index 0000000..24fd518 --- /dev/null +++ b/public/tools/weibo/index.html @@ -0,0 +1,107 @@ + + + + + + Yang's Toolbox · 微博跟踪 + + + + + +
    +
    + + + +
    + + + + + +
    + +
    + +
    +
    +
    + + + + + + + + diff --git a/public/tools/weibo/save.ashx b/public/tools/weibo/save.ashx new file mode 100644 index 0000000..8029895 --- /dev/null +++ b/public/tools/weibo/save.ashx @@ -0,0 +1,64 @@ +<%@ WebHandler Language="C#" Class="SaveArchive" %> +using System; +using System.IO; +using System.Net; +using System.Text; +using System.Web; + +public class SaveArchive : IHttpHandler +{ + public bool IsReusable { get { return true; } } + public void ProcessRequest(HttpContext context) + { + context.Response.ContentType = "application/json"; + try + { + string body; + using (var reader = new StreamReader(context.Request.InputStream, Encoding.UTF8)) body = reader.ReadToEnd(); + var url = ResolveNodeUrl(); + var req = (HttpWebRequest)WebRequest.Create(url); + req.Method = "POST"; + req.ContentType = "application/json"; + var data = Encoding.UTF8.GetBytes(body); + using (var s = req.GetRequestStream()) s.Write(data, 0, data.Length); + using (var resp = (HttpWebResponse)req.GetResponse()) + using (var rs = resp.GetResponseStream()) + using (var r = new StreamReader(rs, Encoding.UTF8)) + { + var txt = r.ReadToEnd(); + context.Response.Write(txt); + } + } + catch (Exception e) + { + context.Response.StatusCode = 500; + var msg = "{\"ok\":false,\"error\":\"" + Escape(e.Message) + "\"}"; + context.Response.Write(msg); + } + } + string ResolveNodeUrl() + { + var ports = new int[] { 8976, 5050 }; + foreach (var p in ports) + { + var u = "http://localhost:" + p + "/api/archives/save"; + if (Probe(u)) return u; + } + return "http://localhost:5050/api/archives/save"; + } + bool Probe(string url) + { + try + { + var req = (HttpWebRequest)WebRequest.Create(url.Replace("/api/archives/save", "/api/ping")); + req.Method = "GET"; + req.Timeout = 1500; + using (var resp = (HttpWebResponse)req.GetResponse()) return resp.StatusCode == HttpStatusCode.OK; + } + catch { return false; } + } + string Escape(string s) + { + return s.Replace("\\", "\\\\").Replace("\"", "\\\""); + } +} diff --git a/public/tools/weibo/weibo.css b/public/tools/weibo/weibo.css new file mode 100644 index 0000000..98239f0 --- /dev/null +++ b/public/tools/weibo/weibo.css @@ -0,0 +1,908 @@ +/* 微博地下偶像追踪工具 - 极致骚包设计 */ +:root { + --primary: #ff1493; /* 更鲜艳的深粉色 - 地下偶像主色调 */ + --primary-light: #ff69b4; + --secondary: #8a2be2; /* 更鲜艳的紫色 */ + --accent: #00ffff; /* 青色 - 霓虹灯效果 */ + --neon: #ff00ff; /* 霓虹粉色 */ + --surface: #0a0a0a; + --surface-alt: #1a1a1a; + --border: #333333; + --text: #ffffff; + --text-light: #cccccc; + --shadow: 0 4px 20px rgba(255, 20, 147, 0.3); + --shadow-lg: 0 10px 30px rgba(255, 20, 147, 0.5); + --radius: 16px; + --radius-sm: 10px; + --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); + --glow: 0 0 20px rgba(255, 20, 147, 0.5); +} + +/* 霓虹灯文字效果 */ +.neon-text { + color: var(--primary); + text-shadow: 0 0 10px var(--primary), 0 0 20px var(--primary), 0 0 30px var(--primary); + animation: neon-pulse 2s infinite alternate; +} + +@keyframes neon-pulse { + from { text-shadow: 0 0 10px var(--primary), 0 0 20px var(--primary), 0 0 30px var(--primary); } + to { text-shadow: 0 0 20px var(--primary), 0 0 30px var(--primary), 0 0 40px var(--primary); } +} + +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: 'Segoe UI', system-ui, sans-serif; + background: + radial-gradient(circle at 20% 20%, #1a0033 0%, transparent 50%), + radial-gradient(circle at 80% 80%, #33001a 0%, transparent 50%), + linear-gradient(135deg, #0a0014 0%, #1a0033 50%, #33001a 100%); + min-height: 100vh; + color: var(--text); + position: relative; + overflow-x: hidden; +} + +/* 星空背景效果 */ +body::before { + content: ''; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-image: + radial-gradient(white 1px, transparent 1px), + radial-gradient(white 1px, transparent 1px); + background-size: 50px 50px, 100px 100px; + background-position: 0 0, 25px 25px; + opacity: 0.1; + z-index: -1; + animation: twinkle 3s infinite alternate; +} + +@keyframes twinkle { + from { opacity: 0.05; } + to { opacity: 0.15; } +} + +/* 浮动粒子效果 */ +.floating-particles { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + pointer-events: none; + z-index: -1; +} + +.particle { + position: absolute; + width: 2px; + height: 2px; + background: var(--primary); + border-radius: 50%; + animation: float 6s infinite linear; +} + +@keyframes float { + 0% { transform: translateY(100vh) rotate(0deg); opacity: 0; } + 10% { opacity: 1; } + 90% { opacity: 1; } + 100% { transform: translateY(-100px) rotate(360deg); opacity: 0; } +} + +/* 头部样式 - 地下偶像舞台效果 */ +#topbar { + background: + linear-gradient(135deg, var(--primary) 0%, var(--secondary) 50%, var(--neon) 100%); + padding: 0; + box-shadow: var(--shadow); + position: relative; + overflow: hidden; +} + +#topbar::before { + content: ''; + position: absolute; + top: 0; + left: -100%; + width: 100%; + height: 100%; + background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent); + animation: stage-light 3s infinite; +} + +@keyframes stage-light { + 0% { left: -100%; } + 100% { left: 100%; } +} + +/* 主容器 */ +main { + max-width: 1200px; + margin: 0 auto; + padding: 2rem; +} + +/* 标签页样式 - 地下偶像舞台效果 */ +.subtabs { + display: flex; + gap: 1rem; + margin-bottom: 2rem; + background: rgba(10, 10, 10, 0.8); + padding: 0.5rem; + border-radius: var(--radius); + box-shadow: var(--shadow); + backdrop-filter: blur(10px); + border: 1px solid rgba(255, 20, 147, 0.3); + position: relative; +} + +.subtabs::before { + content: ''; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: linear-gradient(135deg, rgba(255, 20, 147, 0.1), rgba(138, 43, 226, 0.1)); + border-radius: var(--radius); + z-index: -1; +} + +.subtab { + border: none; + background: transparent; + padding: 1rem 2rem; + border-radius: var(--radius-sm); + cursor: pointer; + font-weight: 700; + color: var(--text-light); + transition: var(--transition); + position: relative; + overflow: hidden; + text-transform: uppercase; + letter-spacing: 1px; + border: 2px solid transparent; +} + +.subtab::before { + content: ''; + position: absolute; + top: 0; + left: -100%; + width: 100%; + height: 100%; + background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent); + transition: left 0.6s; +} + +.subtab::after { + content: ''; + position: absolute; + bottom: 0; + left: 0; + width: 0; + height: 3px; + background: linear-gradient(90deg, var(--primary), var(--accent)); + transition: width 0.3s; +} + +.subtab:hover::before { + left: 100%; +} + +.subtab:hover::after { + width: 100%; +} + +.subtab:hover { + color: var(--primary); + transform: translateY(-2px); + border-color: rgba(255, 20, 147, 0.5); + box-shadow: 0 5px 15px rgba(255, 20, 147, 0.3); +} + +.subtab.active { + background: linear-gradient(135deg, var(--primary), var(--secondary)); + color: white; + box-shadow: + 0 0 20px rgba(255, 20, 147, 0.5), + 0 0 40px rgba(255, 20, 147, 0.3); + border: 2px solid var(--accent); + animation: tab-glow 2s infinite alternate; +} + +@keyframes tab-glow { + from { box-shadow: 0 0 20px rgba(255, 20, 147, 0.5), 0 0 40px rgba(255, 20, 147, 0.3); } + to { box-shadow: 0 0 30px rgba(255, 20, 147, 0.7), 0 0 60px rgba(255, 20, 147, 0.5); } +} + +/* 面板样式 - 舞台灯光效果 */ +.panel { + background: rgba(26, 26, 26, 0.9); + border-radius: var(--radius); + padding: 2rem; + box-shadow: + var(--shadow), + 0 0 0 1px rgba(255, 20, 147, 0.2); + margin-bottom: 2rem; + border: 1px solid rgba(255, 20, 147, 0.3); + backdrop-filter: blur(10px); + position: relative; + overflow: hidden; +} + +.panel::before { + content: ''; + position: absolute; + top: -50%; + left: -50%; + width: 200%; + height: 200%; + background: conic-gradient(from 0deg, transparent, rgba(255, 20, 147, 0.1), transparent); + animation: rotate-bg 10s linear infinite; + z-index: -1; +} + +@keyframes rotate-bg { + from { transform: rotate(0deg); } + to { transform: rotate(360deg); } +} + +/* 紧凑布局 */ +.compact { + display: flex; + align-items: center; + gap: 1rem; + flex-wrap: wrap; + margin-bottom: 1.5rem; +} + +/* 输入框样式 */ +.compact input[type="text"], +.compact input[type="date"], +.compact select { + padding: 0.75rem 1rem; + border: 2px solid var(--border); + border-radius: var(--radius-sm); + background: var(--surface); + font-size: 0.9rem; + transition: var(--transition); + min-width: 200px; +} + +.compact input[type="text"]:focus, +.compact input[type="date"]:focus, +.compact select:focus { + outline: none; + border-color: var(--primary); + box-shadow: 0 0 0 3px rgba(255, 45, 149, 0.1); +} + +/* 按钮样式 - 地下偶像舞台按钮 */ +.btn { + padding: 0.75rem 1.5rem; + border: none; + border-radius: var(--radius-sm); + cursor: pointer; + font-weight: 700; + font-size: 0.9rem; + transition: var(--transition); + position: relative; + overflow: hidden; + background: linear-gradient(135deg, var(--primary), var(--secondary)); + color: white; + box-shadow: + 0 0 0 1px rgba(255, 255, 255, 0.1), + 0 0 20px rgba(255, 20, 147, 0.3); + text-transform: uppercase; + letter-spacing: 0.5px; + border: 2px solid transparent; +} + +.btn::before { + content: ''; + position: absolute; + top: 0; + left: -100%; + width: 100%; + height: 100%; + background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent); + transition: left 0.6s; +} + +.btn::after { + content: ''; + position: absolute; + top: 50%; + left: 50%; + width: 0; + height: 0; + background: radial-gradient(circle, rgba(255, 255, 255, 0.8) 0%, transparent 70%); + transition: all 0.3s; + transform: translate(-50%, -50%); +} + +.btn:hover::before { + left: 100%; +} + +.btn:hover::after { + width: 100%; + height: 100%; +} + +.btn:hover { + transform: translateY(-2px) scale(1.05); + box-shadow: + 0 0 0 1px rgba(255, 255, 255, 0.2), + 0 0 30px rgba(255, 20, 147, 0.5), + 0 0 60px rgba(255, 0, 255, 0.3); + border-color: var(--accent); +} + +.btn:active { + transform: translateY(0) scale(0.98); + box-shadow: + 0 0 0 1px rgba(255, 255, 255, 0.1), + 0 0 10px rgba(255, 20, 147, 0.3); +} + +/* 特殊按钮效果 */ +.btn-special { + background: linear-gradient(135deg, var(--neon), var(--accent)); + animation: btn-pulse 2s infinite alternate; +} + +@keyframes btn-pulse { + from { box-shadow: 0 0 20px rgba(255, 0, 255, 0.5), 0 0 40px rgba(0, 255, 255, 0.3); } + to { box-shadow: 0 0 30px rgba(255, 0, 255, 0.7), 0 0 60px rgba(0, 255, 255, 0.5); } +} + +/* 预设按钮样式 */ +.preset { + display: flex; + gap: 0.5rem; + flex-wrap: wrap; + margin: 1rem 0; +} + +.chip { + background: var(--surface-alt); + color: var(--text); + border: 2px solid var(--border); + padding: 0.5rem 1rem; + border-radius: 20px; + cursor: pointer; + font-size: 0.8rem; + font-weight: 500; + transition: var(--transition); +} + +.chip:hover { + background: linear-gradient(135deg, var(--primary), var(--primary-light)); + color: white; + border-color: var(--primary); + transform: translateY(-1px); +} + +/* 结果区域 */ +.results { + margin-top: 1.5rem; + display: grid; + gap: 1rem; +} + +/* 卡片样式 - 偶像经济风格 */ +.card { + border: 1px solid var(--border); + border-radius: var(--radius); + padding: 1.5rem; + background: var(--surface); + box-shadow: var(--shadow); + transition: var(--transition); + position: relative; + overflow: hidden; +} + +.card::before { + content: ''; + position: absolute; + top: 0; + left: 0; + width: 4px; + height: 100%; + background: linear-gradient(to bottom, var(--primary), var(--secondary)); +} + +.card:hover { + transform: translateY(-2px); + box-shadow: var(--shadow-lg); +} + +.meta { + font-size: 0.8rem; + color: var(--text-light); + margin-bottom: 0.5rem; +} + +/* 状态提示 */ +.status { + margin: 1rem 0; + padding: 1rem; + border: 1px solid #ffd666; + background: #fffbe6; + color: #a87000; + border-radius: var(--radius-sm); + font-weight: 500; +} + +/* 调试区域 */ +.debug { + margin: 1.5rem 0; + padding: 1rem; + border: 1px dashed #cbd5e1; + border-radius: var(--radius); + background: var(--surface-alt); +} + +.debug-actions { + display: flex; + gap: 0.5rem; + margin-bottom: 1rem; +} + +.debug-output { + height: 240px; + overflow: auto; + background: #fafafa; + padding: 1rem; + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size: 0.8rem; + white-space: pre-wrap; + border-radius: var(--radius-sm); + color: #000000; +} + +/* 模态框样式 - 地下偶像专属设置面板 */ +.modal { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: rgba(0, 0, 0, 0.8); + display: flex; + align-items: center; + justify-content: center; + z-index: 1000; + backdrop-filter: blur(10px); +} + +.modal.hidden { + display: none; +} + +.modal-body { + background: + radial-gradient(circle at 20% 20%, rgba(255, 20, 147, 0.1) 0%, transparent 50%), + radial-gradient(circle at 80% 80%, rgba(138, 43, 226, 0.1) 0%, transparent 50%), + linear-gradient(135deg, rgba(10, 10, 10, 0.95) 0%, rgba(26, 26, 26, 0.95) 100%); + padding: 2rem; + border-radius: var(--radius); + box-shadow: + var(--shadow-lg), + 0 0 0 1px rgba(255, 20, 147, 0.3), + 0 0 50px rgba(255, 0, 255, 0.2); + max-width: 500px; + width: 90%; + border: 2px solid rgba(255, 20, 147, 0.5); + backdrop-filter: blur(20px); + position: relative; + overflow: hidden; +} + +.modal-body::before { + content: ''; + position: absolute; + top: -2px; + left: -2px; + right: -2px; + bottom: -2px; + background: linear-gradient(45deg, + rgba(255, 20, 147, 0.3), + rgba(138, 43, 226, 0.3), + rgba(0, 255, 255, 0.3), + rgba(255, 20, 147, 0.3)); + border-radius: var(--radius); + z-index: -1; + animation: modal-border 4s linear infinite; +} + +@keyframes modal-border { + 0% { background-position: 0% 50%; } + 50% { background-position: 100% 50%; } + 100% { background-position: 0% 50%; } +} + +.modal-body h3 { + margin-bottom: 1.5rem; + color: var(--primary); + font-size: 1.5rem; + text-align: center; + text-shadow: 0 0 10px rgba(255, 20, 147, 0.5); + animation: neon-pulse 2s infinite alternate; +} + +.modal-body label { + display: block; + margin-bottom: 0.5rem; + font-weight: 600; + color: var(--text); + text-shadow: 0 0 5px rgba(255, 255, 255, 0.3); +} + +.modal-body input { + width: 100%; + padding: 0.75rem; + border: 2px solid rgba(255, 20, 147, 0.5); + border-radius: var(--radius-sm); + margin-bottom: 1rem; + transition: var(--transition); + background: rgba(26, 26, 26, 0.8); + color: white; + font-weight: 500; +} + +.modal-body input:focus { + outline: none; + border-color: var(--accent); + box-shadow: + 0 0 0 3px rgba(0, 255, 255, 0.1), + 0 0 20px rgba(0, 255, 255, 0.3); +} + +.modal-actions { + display: flex; + gap: 1.5rem; + justify-content: center; + margin-top: 2rem; +} + +/* 设置页面按钮专用样式 - 极致骚包效果 */ +.modal-actions button { + padding: 1rem 2rem; + border: none; + border-radius: var(--radius-sm); + cursor: pointer; + font-weight: 700; + font-size: 1rem; + transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); + position: relative; + overflow: hidden; + text-transform: uppercase; + letter-spacing: 1px; + min-width: 120px; + z-index: 1; +} + +/* 保存按钮 - 成功确认效果 */ +#btn-save-settings { + background: linear-gradient(135deg, var(--primary), var(--secondary)); + color: white; + border: 2px solid transparent; + box-shadow: + 0 0 0 1px rgba(255, 255, 255, 0.1), + 0 0 25px rgba(255, 20, 147, 0.4); +} + +#btn-save-settings::before { + content: ''; + position: absolute; + top: 0; + left: -100%; + width: 100%; + height: 100%; + background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent); + transition: left 0.6s; + z-index: -1; +} + +#btn-save-settings::after { + content: ''; + position: absolute; + top: 50%; + left: 50%; + width: 0; + height: 0; + background: radial-gradient(circle, rgba(0, 255, 0, 0.3) 0%, transparent 70%); + transition: all 0.3s; + transform: translate(-50%, -50%); + z-index: -1; +} + +#btn-save-settings:hover { + transform: translateY(-3px) scale(1.05); + box-shadow: + 0 0 0 1px rgba(255, 255, 255, 0.2), + 0 0 40px rgba(255, 20, 147, 0.6), + 0 0 80px rgba(0, 255, 0, 0.3); + border-color: var(--accent); +} + +#btn-save-settings:hover::before { + left: 100%; +} + +#btn-save-settings:hover::after { + width: 150%; + height: 150%; +} + +#btn-save-settings:active { + transform: translateY(-1px) scale(0.98); + box-shadow: + 0 0 0 1px rgba(255, 255, 255, 0.1), + 0 0 15px rgba(255, 20, 147, 0.3); +} + +/* 保存按钮成功动画 */ +#btn-save-settings.saving { + animation: save-success 1.5s ease-in-out; +} + +@keyframes save-success { + 0% { transform: scale(1); background: linear-gradient(135deg, var(--primary), var(--secondary)); } + 25% { transform: scale(1.1); background: linear-gradient(135deg, #00ff00, #00cc00); } + 50% { transform: scale(1.05); background: linear-gradient(135deg, #00ff00, #00cc00); } + 75% { transform: scale(1.1); background: linear-gradient(135deg, #00ff00, #00cc00); } + 100% { transform: scale(1); background: linear-gradient(135deg, var(--primary), var(--secondary)); } +} + +/* 关闭按钮 - 危险警示效果 */ +#btn-close-settings { + background: linear-gradient(135deg, #ff4444, #cc0000); + color: white; + border: 2px solid transparent; + box-shadow: + 0 0 0 1px rgba(255, 255, 255, 0.1), + 0 0 25px rgba(255, 0, 0, 0.4); +} + +#btn-close-settings::before { + content: ''; + position: absolute; + top: 0; + left: -100%; + width: 100%; + height: 100%; + background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent); + transition: left 0.6s; + z-index: -1; +} + +#btn-close-settings::after { + content: ''; + position: absolute; + top: 50%; + left: 50%; + width: 0; + height: 0; + background: radial-gradient(circle, rgba(255, 0, 0, 0.3) 0%, transparent 70%); + transition: all 0.3s; + transform: translate(-50%, -50%); + z-index: -1; +} + +#btn-close-settings:hover { + transform: translateY(-3px) scale(1.05); + box-shadow: + 0 0 0 1px rgba(255, 255, 255, 0.2), + 0 0 40px rgba(255, 0, 0, 0.6), + 0 0 80px rgba(255, 0, 0, 0.3); + border-color: #ff6666; +} + +#btn-close-settings:hover::before { + left: 100%; +} + +#btn-close-settings:hover::after { + width: 150%; + height: 150%; +} + +#btn-close-settings:active { + transform: translateY(-1px) scale(0.98); + box-shadow: + 0 0 0 1px rgba(255, 255, 255, 0.1), + 0 0 15px rgba(255, 0, 0, 0.3); +} + +/* 关闭按钮警告动画 */ +#btn-close-settings.warning { + animation: close-warning 0.5s ease-in-out infinite alternate; +} + +@keyframes close-warning { + from { + box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.2), 0 0 25px rgba(255, 0, 0, 0.4); + transform: scale(1); + } + to { + box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.3), 0 0 35px rgba(255, 0, 0, 0.6); + transform: scale(1.02); + } +} + +/* 舞台灯光效果 */ +.stage-lights { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + pointer-events: none; + z-index: -1; +} + +.light-spot { + position: absolute; + width: 200px; + height: 200px; + border-radius: 50%; + background: radial-gradient(circle, rgba(255, 20, 147, 0.1) 0%, transparent 70%); + filter: blur(40px); + animation: light-spot 8s infinite alternate ease-in-out; +} + +.light-spot:nth-child(1) { + animation-delay: 0s; + background: radial-gradient(circle, rgba(255, 0, 255, 0.1) 0%, transparent 70%); +} + +.light-spot:nth-child(2) { + animation-delay: 2s; + background: radial-gradient(circle, rgba(0, 255, 255, 0.1) 0%, transparent 70%); +} + +.light-spot:nth-child(3) { + animation-delay: 4s; + background: radial-gradient(circle, rgba(138, 43, 226, 0.1) 0%, transparent 70%); +} + +@keyframes light-spot { + 0% { transform: translate(0, 0) scale(1); opacity: 0.3; } + 33% { transform: translate(50px, 30px) scale(1.2); opacity: 0.5; } + 66% { transform: translate(-30px, 60px) scale(0.8); opacity: 0.4; } + 100% { transform: translate(20px, -20px) scale(1.1); opacity: 0.6; } +} + +/* 霓虹边框效果 */ +.neon-border { + border: 2px solid var(--primary); + box-shadow: + 0 0 5px var(--primary), + 0 0 10px var(--primary), + 0 0 15px var(--primary), + inset 0 0 5px var(--primary); + animation: neon-border-pulse 3s infinite alternate; +} + +@keyframes neon-border-pulse { + from { + border-color: var(--primary); + box-shadow: + 0 0 5px var(--primary), + 0 0 10px var(--primary), + 0 0 15px var(--primary); + } + to { + border-color: var(--accent); + box-shadow: + 0 0 10px var(--accent), + 0 0 20px var(--accent), + 0 0 30px var(--accent); + } +} + +/* 输入框霓虹效果 */ +.neon-input { + background: rgba(26, 26, 26, 0.8) !important; + border: 2px solid var(--primary) !important; + color: white !important; + box-shadow: 0 0 10px rgba(255, 20, 147, 0.3) !important; + transition: all 0.3s ease !important; +} + +.neon-input:focus { + border-color: var(--accent) !important; + box-shadow: + 0 0 0 3px rgba(0, 255, 255, 0.1), + 0 0 20px rgba(0, 255, 255, 0.3) !important; +} + +/* 卡片霓虹效果增强 */ +.card { + border: 1px solid rgba(255, 20, 147, 0.3); + background: rgba(26, 26, 26, 0.8); + backdrop-filter: blur(10px); + box-shadow: + 0 4px 20px rgba(0, 0, 0, 0.3), + 0 0 0 1px rgba(255, 20, 147, 0.1); +} + +.card:hover { + border-color: var(--accent); + box-shadow: + 0 8px 30px rgba(0, 0, 0, 0.4), + 0 0 0 1px rgba(0, 255, 255, 0.2), + 0 0 20px rgba(255, 20, 147, 0.3); +} + +/* 响应式设计 */ +@media (max-width: 768px) { + main { + padding: 1rem; + } + + .subtabs { + flex-direction: column; + gap: 0.5rem; + } + + .compact { + flex-direction: column; + align-items: stretch; + } + + .compact input[type="text"], + .compact input[type="date"], + .compact select { + min-width: auto; + width: 100%; + } + + .panel { + padding: 1rem; + } + + .preset { + justify-content: center; + } + + .light-spot { + width: 100px; + height: 100px; + filter: blur(20px); + } +} + +@media (max-width: 480px) { + .modal-body { + padding: 1rem; + margin: 1rem; + } + + .modal-actions { + flex-direction: column; + } + + .btn { + width: 100%; + text-align: center; + } + + .subtab { + padding: 0.75rem 1rem; + font-size: 0.8rem; + } +} diff --git a/public/tools/weibo/weibo.js b/public/tools/weibo/weibo.js new file mode 100644 index 0000000..b0a0ec9 --- /dev/null +++ b/public/tools/weibo/weibo.js @@ -0,0 +1,440 @@ +const state = { uid: '7716940453', mode: 'any', query: '', terms: [], count: 50 } +const wbOut = document.getElementById('wb-debug-output') +const wbBtnCopy = document.getElementById('wb-btn-copy') +const wbBtnRefresh = document.getElementById('wb-btn-refresh') +const wbBtnClear = document.getElementById('wb-btn-clear') + +const wbRender = lines => { + if (!wbOut) return + wbOut.textContent = lines.join('\n') + wbOut.scrollTop = wbOut.scrollHeight +} + +const wbLoad = async () => { + try { + const res = await fetch('/api/debug/logs?limit=5000&channel=weibo') + const data = await res.json() + if (data.ok) wbRender(data.lines) + } catch {} +} + +const ts = () => new Date().toISOString() +const logLocal = msg => { + if (!wbOut) return + const line = `${ts()} ${msg}` + const current = wbOut.textContent || '' + wbOut.textContent = current ? current + "\n" + line : line + wbOut.scrollTop = wbOut.scrollHeight +} + +const renderPosts = rows => { + const box = el('fetch-results') + box.innerHTML = '' + for (const r of rows) { + const card = document.createElement('div') + card.className = 'card' + const meta = document.createElement('div') + meta.className = 'meta' + meta.textContent = `${r.screen_name || ''} · ${r.created_at || ''}` + const text = document.createElement('div') + text.innerHTML = highlight(r.text || '', state.terms) + const link = document.createElement('a') + link.href = (r.retweeted_url || r.url || '#') + link.target = '_blank' + link.textContent = '打开原文' + if (r.retweeted_text) { + const rt = document.createElement('div') + rt.className = 'meta' + rt.innerHTML = `↪ 原博 ${r.retweeted_screen_name || ''}: ` + highlight(r.retweeted_text || '', state.terms) + card.appendChild(rt) + } + const stat = document.createElement('div') + stat.className = 'meta' + stat.textContent = `转发:${r.reposts_count} 评论:${r.comments_count} 赞:${r.attitudes_count}` + card.appendChild(meta) + card.appendChild(text) + card.appendChild(link) + card.appendChild(stat) + box.appendChild(card) + } +} + +const setResultsMeta = text => { + const m = document.getElementById('results-meta') + if (m) m.textContent = String(text || '') +} + +const fetchLatest = async () => { + const uid = el('input-uid').value.trim() + logLocal(`frontend.event {"source":"weibo","action":"fetch.click","uid":"${uid}"}`) + try { await fetch('/api/debug/event', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ source: 'weibo', action: 'fetch.click', uid }) }) } catch {} + wbLoad() + const statusBox = document.getElementById('status') + if (statusBox) { statusBox.style.display = ''; statusBox.textContent = `正在拉取最近${state.count}条...` } + const res = await fetch(`/api/weibo/${uid}/fetch?count=${encodeURIComponent(state.count || 50)}`) + const data = await res.json() + if (!data.ok) { + logLocal(`weibo.fetch.error ${JSON.stringify({ error: data.error })}`) + if (statusBox) statusBox.textContent = (data.hint ? data.hint + '。' : '') + (data.error || '拉取失败') + alert(`拉取失败:${String(data.error || 'unknown')}`) + } else { + logLocal(`weibo.fetch.done ${JSON.stringify({ uid, fetched: data.fetched })}`) + if (statusBox) { statusBox.style.display = 'none'; statusBox.textContent = '' } + alert(`本次拉取:${data.fetched || 0} 条`) + const latestBox = document.getElementById('latest-data-time'); if (latestBox) latestBox.value = String(data.latest_time || '') + const sourceMap = { devtools: 'DevTools', settings: '设置Cookie', anonymous: '匿名Cookie', '': '未知' } + const srcLabel = sourceMap[String(data.source || '')] || '未知' + const rows = Array.isArray(data.rows) ? data.rows : [] + renderPosts(rows) + setResultsMeta(`数据来源:${srcLabel} · 仅显示本次拉取结果 · 当前 ${rows.length} 条`) + } + wbLoad() + return data +} + +const renderAll = async (q = '', mode = 'any') => { + const uid = el('input-uid').value.trim() + state.mode = mode + state.query = q + state.terms = q ? q.split(/\s+/).filter(Boolean) : [] + logLocal(`frontend.event ${JSON.stringify({ source:'weibo', action:'kw.search', uid, mode, terms: state.terms })}`) + const res = await fetch(`/api/weibo/search?uid=${encodeURIComponent(uid)}&q=${encodeURIComponent(q)}&mode=${encodeURIComponent(mode)}&limit=50`) + const data = await res.json() + if (data.ok) { renderPosts(data.rows); logLocal(`frontend.event ${JSON.stringify({ source:'weibo', action:'kw.search.done', count: (data.rows||[]).length })}`); return data.rows || [] } + return [] +} + +const matches = (text, terms, mode) => { + if (!terms || terms.length === 0) return true + const checks = terms.map(t => new RegExp(t.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), 'i').test(text)) + return mode === 'all' ? checks.every(Boolean) : checks.some(Boolean) +} +const loadArchiveToPanel = async () => { + const uid = el('input-uid').value.trim() + const start = el('arch-week-start').value + const end = el('arch-week-end').value + const res = await fetch(`/api/archives/get?uid=${encodeURIComponent(uid)}&start=${encodeURIComponent(start)}&end=${encodeURIComponent(end)}`) + const data = await res.json() + if (data.ok) el('archive-results').innerHTML = data.html || '' +} +const searchArchive = async () => { + const q = el('arch-query').value.trim() + const mode = el('arch-mode').value + const terms = q ? q.split(/\s+/).filter(Boolean) : [] + const cards = Array.from(document.querySelectorAll('#archive-results .card')) + if (cards.length === 0) return + cards.forEach(card => { + const text = card.textContent || '' + const show = matches(text, terms, mode) + card.style.display = show ? '' : 'none' + if (show) card.innerHTML = highlight(card.innerHTML, terms) + }) +} + +const openSettings = () => { el('settings-modal').classList.remove('hidden') } +const closeSettings = () => { + const closeBtn = el('btn-close-settings') + if (closeBtn) { + closeBtn.classList.add('warning') + setTimeout(() => { + closeBtn.classList.remove('warning') + el('settings-modal').classList.add('hidden') + }, 300) + } else { + el('settings-modal').classList.add('hidden') + } +} + +const saveSettings = async () => { + const saveBtn = el('btn-save-settings') + + // 添加保存动画效果 + if (saveBtn) { + saveBtn.classList.add('saving') + saveBtn.disabled = true + saveBtn.textContent = '保存中...' + } + + const uid = el('settings-uid').value.trim() + const countVal = parseInt((document.getElementById('settings-count').value || '50'), 10) + const kwRaw = el('settings-keywords').value.trim() + const keywords = kwRaw.split('|').map(s => s.trim()).filter(Boolean) + const body = { users: [{ uid, screen_name: '' }], keywords, headers: {}, count: countVal } + + logLocal(`frontend.event ${JSON.stringify({ source: 'weibo', action: 'settings.save', uid, keywordsCount: keywords.length })}`) + + try { + await fetch('/api/debug/event', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ source: 'weibo', action: 'settings.save', uid, keywordsCount: keywords.length }) + }) + } catch {} + + await fetch('/api/settings', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(body) + }) + + // 恢复按钮状态 + if (saveBtn) { + setTimeout(() => { + saveBtn.classList.remove('saving') + saveBtn.disabled = false + saveBtn.textContent = '保存' + + // 添加成功确认效果 + saveBtn.style.background = 'linear-gradient(135deg, #00ff00, #00cc00)' + setTimeout(() => { + saveBtn.style.background = 'linear-gradient(135deg, var(--primary), var(--secondary))' + closeSettings() + }, 500) + }, 1000) + } else { + closeSettings() + } + + wbLoad() + state.count = countVal + const b = document.getElementById('btn-fetch') + if (b) b.textContent = `拉取最近${state.count}条` +} + +const loadSettings = async () => { + try { + const res = await fetch('/api/settings') + const data = await res.json() + const cfg = (data && data.file) || {} + const uid = (cfg.users && cfg.users[0] && cfg.users[0].uid) ? String(cfg.users[0].uid) : (state.uid || '') + const count = parseInt(String(cfg.count || state.count), 10) + const kw = Array.isArray(cfg.keywords) ? cfg.keywords.join('|') : '' + const iu = document.getElementById('input-uid'); if (iu) iu.value = uid + const su = document.getElementById('settings-uid'); if (su) su.value = uid + const sc = document.getElementById('settings-count'); if (sc) sc.value = String(count) + const sk = document.getElementById('settings-keywords'); if (sk) sk.value = kw + + state.uid = uid + state.count = count + const b = document.getElementById('btn-fetch'); if (b) b.textContent = `拉取最近${state.count}条` + renderKeywordChips(Array.isArray(cfg.keywords) ? cfg.keywords : []) + } catch {} +} + +const truncateLabel = (s, n = 8) => { + const str = String(s || '') + return str.length > n ? (str.slice(0, n) + '...') : str +} + +const renderKeywordChips = (keywords) => { + try { + const panelArchive = document.getElementById('panel-archive') + let archHolder = document.getElementById('arch-chips') + if (!archHolder && panelArchive) { archHolder = document.createElement('div'); archHolder.id = 'arch-chips'; archHolder.className = 'chips'; panelArchive.insertBefore(archHolder, panelArchive.firstChild) } + if (archHolder) archHolder.innerHTML = '' + const groups = (keywords || []).map(k => String(k || '').trim()).filter(Boolean) + for (const g of groups) { + const btn = document.createElement('button'); btn.className = 'chip'; btn.dataset.q = g; btn.textContent = truncateLabel(g, 8) + btn.style.margin = '0 6px 6px 0' + btn.addEventListener('click', () => { const iq = document.getElementById('arch-query'); if (iq) iq.value = g; searchArchive() }) + if (archHolder) archHolder.appendChild(btn) + } + // ensure no stray chips remain in fetch panel + Array.from(document.querySelectorAll('#panel-fetch .chip')).forEach(ch => ch.remove()) + } catch {} +} + +// 创建粒子效果 +function createParticles() { + const container = document.getElementById('particles-container') + if (!container) return + + for (let i = 0; i < 30; i++) { + const particle = document.createElement('div') + particle.className = 'particle' + particle.style.left = Math.random() * 100 + '%' + particle.style.animationDelay = Math.random() * 6 + 's' + particle.style.animationDuration = (Math.random() * 3 + 4) + 's' + container.appendChild(particle) + } +} + +// 添加霓虹灯效果到输入框 +function addNeonEffects() { + const inputs = document.querySelectorAll('input[type="text"], input[type="date"], select') + inputs.forEach(input => { + input.classList.add('neon-input') + + // 添加焦点效果 + input.addEventListener('focus', function() { + this.style.boxShadow = '0 0 20px rgba(0, 255, 255, 0.5), 0 0 40px rgba(0, 255, 255, 0.3)' + }) + + input.addEventListener('blur', function() { + this.style.boxShadow = '0 0 10px rgba(255, 20, 147, 0.3)' + }) + }) +} + +// 添加按钮特殊效果 +function enhanceButtons() { + const specialButtons = ['btn-fetch', 'btn-save-week', 'arch-search'] + specialButtons.forEach(id => { + const btn = document.getElementById(id) + if (btn) { + btn.classList.add('btn-special') + } + }) +} + +document.addEventListener('DOMContentLoaded', async () => { + try { + // 初始化视觉效果 + createParticles() + addNeonEffects() + enhanceButtons() + + logLocal('frontend.event {"source":"weibo","action":"dom.ready"}') + const bf = el('btn-fetch'); if (bf) bf.addEventListener('click', async () => { await fetchLatest() }) + const bs = el('btn-search'); if (bs) bs.addEventListener('click', searchPosts) + const bset = el('btn-settings'); if (bset) bset.addEventListener('click', openSettings) + const bclose = el('btn-close-settings'); if (bclose) bclose.addEventListener('click', closeSettings) + const bsave = el('btn-save-settings'); if (bsave) bsave.addEventListener('click', saveSettings) + + const dStart = document.getElementById('week-start') + const dEnd = document.getElementById('week-end') + const btnSaveWeek = document.getElementById('btn-save-week') + const btnWeekPrev = document.getElementById('btn-week-prev') + const btnWeekCurrent = document.getElementById('btn-week-current') + const btnWeekNext = document.getElementById('btn-week-next') + + const fmt = d => { + const y = d.getFullYear() + const m = String(d.getMonth() + 1).padStart(2, '0') + const day = String(d.getDate()).padStart(2, '0') + return `${y}-${m}-${day}` + } + const weekRangeFromDate = anchor => { + const d = new Date(anchor) + const dow = d.getDay() + const shift = dow === 0 ? -6 : 1 - dow + const start = new Date(d.getFullYear(), d.getMonth(), d.getDate() + shift) + const end = new Date(start.getFullYear(), start.getMonth(), start.getDate() + 6) + return { start, end } + } + const setWeek = anchor => { + const r = weekRangeFromDate(anchor) + dStart.value = fmt(r.start) + dEnd.value = fmt(r.end) + } + const saveArchive = async () => { + const uid = el('input-uid').value.trim() + const content = el('fetch-results').innerHTML + const header = `
    封存范围:${dStart.value} 至 ${dEnd.value} · UID ${uid}
    ` + const html = `
    ${header}${content}
    ` + await fetch('/api/archives/save', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ uid, start: dStart.value, end: dEnd.value, html }) }) + logLocal(`frontend.event ${JSON.stringify({ source: 'weibo', action: 'archive.save', uid, start: dStart.value, end: dEnd.value, html_len: html.length })}`) + } + if (btnSaveWeek) btnSaveWeek.addEventListener('click', saveArchive) + if (btnWeekPrev) btnWeekPrev.addEventListener('click', () => { const s = new Date(dStart.value); s.setDate(s.getDate() - 7); setWeek(s) }) + if (btnWeekCurrent) btnWeekCurrent.addEventListener('click', () => { setWeek(new Date()) }) + if (btnWeekNext) btnWeekNext.addEventListener('click', () => { const s = new Date(dStart.value); s.setDate(s.getDate() + 7); setWeek(s) }) + setWeek(new Date()) + // Archive panel controls + const archStart = document.getElementById('arch-week-start') + const archEnd = document.getElementById('arch-week-end') + const archPrev = document.getElementById('arch-week-prev') + const archCurr = document.getElementById('arch-week-current') + const archNext = document.getElementById('arch-week-next') + const setArchWeek = anchor => { const r = weekRangeFromDate(anchor); archStart.value = fmt(r.start); archEnd.value = fmt(r.end) } + if (archPrev) archPrev.addEventListener('click', async () => { const s = new Date(archStart.value); s.setDate(s.getDate() - 7); setArchWeek(s); await loadArchiveToPanel() }) + if (archCurr) archCurr.addEventListener('click', async () => { setArchWeek(new Date()); await loadArchiveToPanel() }) + if (archNext) archNext.addEventListener('click', async () => { const s = new Date(archStart.value); s.setDate(s.getDate() + 7); setArchWeek(s); await loadArchiveToPanel() }) + const archSearchBtn = document.getElementById('arch-search') + if (archSearchBtn) archSearchBtn.addEventListener('click', searchArchive) + const archReset = document.getElementById('arch-reset') + if (archReset) archReset.addEventListener('click', async () => { el('arch-query').value = ''; const m=document.getElementById('arch-mode'); if (m) m.value='any'; await loadArchiveToPanel() }) + document.querySelectorAll('#panel-archive .chip').forEach(b => { b.addEventListener('click', () => { el('arch-query').value = b.dataset.q || ''; searchArchive() }) }) + // Subtabs + const tabFetch = document.getElementById('tab-fetch') + const tabArchive = document.getElementById('tab-archive') + const tabPreview = document.getElementById('tab-preview') + const panelFetch = document.getElementById('panel-fetch') + const panelArchive = document.getElementById('panel-archive') + const panelPreview = document.getElementById('panel-preview') + const previewUrlInput = document.getElementById('preview-url') + const previewOpen = document.getElementById('preview-open') + const previewFrame = document.getElementById('preview-frame') + + const computePreviewUrl = () => { + const uid = el('input-uid').value.trim() + return `https://m.weibo.cn/u/${uid}` + } + const loadPreview = async () => { + const url = (previewUrlInput && previewUrlInput.value.trim()) || computePreviewUrl() + if (previewUrlInput) previewUrlInput.value = url + if (previewOpen) previewOpen.href = url + if (previewFrame) previewFrame.src = url + logLocal(`frontend.event ${JSON.stringify({ source:'weibo', action:'preview.iframe', url })}`) + } + const activate = async (name) => { + if (name === 'fetch') { + panelFetch.style.display = '' + panelArchive.style.display = 'none' + panelPreview.style.display = 'none' + tabFetch.classList.add('active'); tabArchive.classList.remove('active'); if (tabPreview) tabPreview.classList.remove('active') + } else if (name === 'archive') { + panelFetch.style.display = 'none' + panelArchive.style.display = '' + panelPreview.style.display = 'none' + tabArchive.classList.add('active'); tabFetch.classList.remove('active'); if (tabPreview) tabPreview.classList.remove('active') + } else if (name === 'preview') { + panelFetch.style.display = 'none' + panelArchive.style.display = 'none' + panelPreview.style.display = '' + if (tabPreview) tabPreview.classList.add('active'); tabFetch.classList.remove('active'); tabArchive.classList.remove('active') + await loadSettings() + if (previewUrlInput) previewUrlInput.value = computePreviewUrl() + if (previewOpen) previewOpen.href = computePreviewUrl() + await loadPreview() + } + } + if (tabFetch) tabFetch.addEventListener('click', async () => { await activate('fetch'); clearFetchCache(); await checkDevtools() }) + if (tabArchive) tabArchive.addEventListener('click', () => activate('archive')) + if (tabPreview) tabPreview.addEventListener('click', () => activate('preview')) + if (previewUrlInput) previewUrlInput.addEventListener('change', loadPreview) + if (previewUrlInput) previewUrlInput.addEventListener('keydown', (e) => { if (e.key === 'Enter') loadPreview() }) + if (wbBtnCopy) wbBtnCopy.addEventListener('click', async () => { try { await navigator.clipboard.writeText(wbOut.textContent || '') } catch {} }) + if (wbBtnRefresh) wbBtnRefresh.addEventListener('click', wbLoad) + if (wbBtnClear) wbBtnClear.addEventListener('click', async () => { try { await fetch('/api/debug/clear?channel=weibo', { method: 'POST' }) } catch {}; wbLoad() }) + setInterval(wbLoad, 5000) + wbLoad() + await loadSettings() + setWeek(new Date()) + setArchWeek(new Date()) + const clearFetchCache = () => { + const box = el('fetch-results'); if (box) box.innerHTML = '' + alert('缓存已清理,当前无数据状态') + logLocal('frontend.event {"source":"weibo","action":"cache.cleared"}') + } + const checkDevtools = async () => { + try { + const ds = await fetch('/api/weibo/devtools/status') + const dj = await ds.json() + if (dj && dj.ok && dj.connected) alert('已对接服务器 Chrome DevTools') + else alert('未对接服务器 Chrome DevTools,请在服务器Chrome登录微博并开启9222端口') + logLocal(`frontend.event ${JSON.stringify({ source:'weibo', action:'devtools.status', ok: !!(dj && dj.ok), connected: !!(dj && dj.connected) })}`) + } catch (e) { + alert('未能获取 DevTools 状态') + logLocal(`frontend.event ${JSON.stringify({ source:'weibo', action:'devtools.error', error: String(e.message||e) })}`) + } + } + const isFetchActive = tabFetch && tabFetch.classList.contains('active') + if (isFetchActive) { + clearFetchCache() + await checkDevtools() + } + } catch (e) { + logLocal(`frontend.error ${String(e && e.message ? e.message : e)}`) + } +}) diff --git a/public/tools/yuanzhupai/auth_config.json b/public/tools/yuanzhupai/auth_config.json new file mode 100644 index 0000000..aa2ff10 --- /dev/null +++ b/public/tools/yuanzhupai/auth_config.json @@ -0,0 +1,15 @@ +{ + "_comment": "圆桌派工具的鉴权配置", + "enable_auth_comment": "true:启用三级鉴权(需要从导航登录、token握手或GUID访问);false:完全放开访问", + "enable_auth": true, + "max_age_days_comment": "鉴权 cookie 的最大有效天数(1~365)", + "max_age_days": 30, + "cookieName_comment": "鉴权 Cookie 名称,建议保持默认", + "cookieName": "yuanzhupai_gate", + "requireGuid_comment": "true:入口必须带 guid 参数;false:允许仅凭 token 或会话访问", + "requireGuid": true, + "guidParam_comment": "URL 中的 GUID 参数名,建议使用小写 guid", + "guidParam": "guid", + "guidValue_comment": "GUID 参数值,建议使用高强度随机长串并定期更换", + "guidValue": "YUAN-ZHUOPAI-GUID-2025-SECURE-KEY-V8X9M2K4" +} \ No newline at end of file diff --git a/public/tools/yuanzhupai/index.html b/public/tools/yuanzhupai/index.html new file mode 100644 index 0000000..05428a9 --- /dev/null +++ b/public/tools/yuanzhupai/index.html @@ -0,0 +1,179 @@ + + + + + +圆桌派 · 股票研究圆桌会议 + + + + + +
    +
    +
    圆
    +
    +
    圆桌派
    +
    机构级股票研究圆桌会议系统 · Round Table Research
    +
    +
    + +
    + +
    圆桌会议待启
    +
    +
    +
    + + + +
    + + + +
    +
    ↑ 点击圆桌席位查看深度研究报告
    +
    +
    +
    +
    +
    输入代码
    +
    待分析标的
    +
    --
    +
    等待分析
    +
    +
    +
    ↑
    +
    +
    主
    +
    圆桌主席 · 首席投资官
    +
    主持人席位 · 统筹十位分析师研究意见
    +
    +
    + + + +
    + +
    + 快速切换 +
    +
    Qwen AI · qwen-plus-latest
    +
    + + + + + + + + + + \ No newline at end of file diff --git a/public/tools/yuanzhupai/yuanzhupai.css b/public/tools/yuanzhupai/yuanzhupai.css new file mode 100644 index 0000000..2ea5091 --- /dev/null +++ b/public/tools/yuanzhupai/yuanzhupai.css @@ -0,0 +1,201 @@ +:root { + --bg: #060b18; + --surface: #0d1526; + --surface-2: #121e36; + --surface-3: #192845; + --gold: #c9a84c; + --gold-lt: #e8c96a; + --gold-dk: #7a6330; + --text: #ddd8cc; + --muted: #6b7a99; + --dim: #3a4560; + --green: #22c55e; + --red: #ef4444; + --amber: #f59e0b; + --blue: #3b82f6; + --border: rgba(201,168,76,.14); + --border-md: rgba(201,168,76,.32); + --r: 12px; + --r-sm: 6px; +} +*{margin:0;padding:0;box-sizing:border-box;} +body{background:var(--bg);color:var(--text);font-family:'Noto Sans SC',sans-serif;min-height:100vh;overflow-x:hidden;} + +.hd{display:flex;align-items:center;justify-content:space-between;padding:14px 28px;border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:200;} +.hd-brand{display:flex;align-items:center;gap:11px;} +.hd-emblem{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,var(--gold),var(--gold-dk));display:flex;align-items:center;justify-content:center;font-family:'Noto Serif SC',serif;font-size:20px;font-weight:700;color:#060b18;letter-spacing:-.5px;} +.hd-title{font-family:'Noto Serif SC',serif;font-size:24px;font-weight:700;color:var(--gold-lt);letter-spacing:.08em;} +.hd-sub{font-size:13px;color:var(--muted);letter-spacing:.06em;margin-top:1px;} +.hd-search{display:flex;align-items:center;gap:8px;} +.hd-search-input{background:var(--surface-2);border:1px solid var(--border-md);border-radius:20px;padding:8px 18px;font-size:15px;color:var(--text);font-family:'JetBrains Mono',monospace;width:220px;outline:none;transition:border-color .2s;} +.hd-search-input:focus{border-color:var(--gold);} +.hd-version{background:var(--surface-2);border:1px solid var(--border-md);border-radius:20px;padding:7px 14px;font-size:13px;color:var(--gold);font-family:'Noto Sans SC',sans-serif;outline:none;cursor:pointer;transition:border-color .2s;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='%23c9a84c'%3E%3Cpath d='M0 0l5 6 5-6z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;} +.hd-version:hover{border-color:var(--gold);} +.hd-version:focus{border-color:var(--gold-lt);} +.hd-search-btn{background:rgba(201,168,76,.1);border:1px solid var(--border-md);border-radius:20px;padding:8px 18px;color:var(--gold);font-size:14px;cursor:pointer;font-weight:600;transition:all .15s;white-space:nowrap;} +.hd-search-btn:hover{background:rgba(201,168,76,.2);} +.hd-search-btn:disabled{opacity:.5;cursor:default;} +.hd-ticker{display:flex;flex-direction:column;align-items:center;} +.hd-code{font-family:'JetBrains Mono',monospace;font-size:16px;color:var(--gold);font-weight:500;} +.hd-fname{font-size:13px;color:var(--muted);} +.hd-price-block{text-align:right;} +.hd-price{font-family:'JetBrains Mono',monospace;font-size:30px;font-weight:400;color:var(--text);} +.hd-chg{font-family:'JetBrains Mono',monospace;font-size:14px;} +.hd-chg.up{color:var(--green);} +.hd-chg.dn{color:var(--red);} +.hd-right{display:flex;flex-direction:column;align-items:flex-end;gap:5px;} +.live-badge{background:rgba(201,168,76,.1);border:1px solid var(--border-md);border-radius:20px;padding:4px 14px;font-size:13px;color:var(--gold);letter-spacing:.04em;display:flex;align-items:center;gap:6px;} +.live-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);animation:blink 1.4s infinite;} +@keyframes blink{0%,100%{opacity:1;}50%{opacity:.25;}} +.hd-date{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--muted);} + +.layout{display:grid;grid-template-columns:236px 560px 1fr;min-height:calc(100vh - 67px);padding-bottom:56px;} + +.sb{padding:20px 14px;border-right:1px solid var(--border);overflow-y:auto;} +.card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);padding:15px;margin-bottom:14px;} +.co-name{font-family:'Noto Serif SC',serif;font-size:20px;font-weight:600;color:var(--text);} +.co-sector{font-size:13px;color:var(--muted);margin-bottom:11px;} +.s-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.03);} +.s-row:last-child{border-bottom:none;} +.s-lbl{font-size:13px;color:var(--muted);} +.s-val{font-family:'JetBrains Mono',monospace;font-size:14px;color:var(--text);font-weight:500;} +.s-val.gn{color:var(--green);} +.s-val.gd{color:var(--gold);} +.sb-h{font-size:12px;color:var(--dim);text-transform:uppercase;letter-spacing:.1em;margin:14px 0 7px;padding-left:2px;} +.con-bar{display:flex;gap:3px;border-radius:3px;overflow:hidden;margin-bottom:7px;} +.con-seg{height:7px;border-radius:1px;} +.con-seg.b{background:var(--green);} +.con-seg.h{background:var(--amber);} +.con-seg.s{background:var(--red);} +.con-lbls{display:flex;justify-content:space-between;} +.c-lbl{display:flex;align-items:center;gap:3px;font-size:12px;color:var(--muted);} +.c-dot{width:5px;height:5px;border-radius:50%;} +.c-dot.b{background:var(--green);} +.c-dot.h{background:var(--amber);} +.c-dot.s{background:var(--red);} +.tp-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;} +.prog-item{display:flex;align-items:center;gap:7px;padding:4px 0;cursor:pointer;transition:opacity .2s;} +.prog-item:hover{opacity:1!important;} +.prog-av{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;} +.prog-name{font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;} +.prog-area{font-size:12px;color:var(--dim);} +.prog-vrd{font-size:12px;font-weight:600;white-space:nowrap;} + +.ta{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:24px 16px 16px;} +.ta-hint{font-family:'Noto Serif SC',serif;font-size:15px;color:var(--muted);letter-spacing:.1em;margin-bottom:18px;} +.tc-wrap{position:relative;width:516px;height:516px;flex-shrink:0;} +.ring-outer{position:absolute;inset:0;border-radius:50%;border:1px dashed rgba(201,168,76,.08);} +.ring-mid{position:absolute;inset:80px;border-radius:50%;border:1px dashed rgba(201,168,76,.06);} +.ts{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:232px;height:232px;border-radius:50%;background:radial-gradient(circle at 38% 35%,#192845,#090f1e);border:1.5px solid var(--border-md);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2;box-shadow:0 0 80px rgba(201,168,76,.04),inset 0 0 60px rgba(0,0,0,.6);} +@keyframes ts-pulse{0%{box-shadow:0 0 0 0 rgba(201,168,76,.12),inset 0 0 60px rgba(0,0,0,.6);}70%{box-shadow:0 0 0 14px rgba(201,168,76,0),inset 0 0 60px rgba(0,0,0,.6);}100%{box-shadow:0 0 0 0 rgba(201,168,76,0),inset 0 0 60px rgba(0,0,0,.6);}} +.ts{animation:ts-pulse 3.2s ease-out infinite;} +.ts-code{font-family:'JetBrains Mono',monospace;font-size:14px;color:var(--gold);letter-spacing:.1em;} +.ts-name{font-family:'Noto Serif SC',serif;font-size:19px;font-weight:600;color:var(--text);margin:2px 0 6px;} +.ts-price{font-family:'JetBrains Mono',monospace;font-size:31px;font-weight:300;color:var(--gold-lt);} +.ts-chg{font-family:'JetBrains Mono',monospace;font-size:14px;color:var(--green);margin-top:2px;} + +.seat{position:absolute;display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;z-index:10;transition:transform .18s ease;} +.seat:hover{transform:scale(1.1)!important;} +.seat:hover .seat-av{border-color:var(--gold);box-shadow:0 0 18px rgba(201,168,76,.45);} +.seat.active .seat-av{border-color:var(--gold-lt);box-shadow:0 0 22px rgba(201,168,76,.6);} +.seat-av{width:50px;height:50px;border-radius:50%;border:2px solid var(--border-md);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;font-family:'Noto Sans SC',sans-serif;transition:all .18s;position:relative;} +.seat-loading{position:absolute;inset:-3px;border-radius:50%;border:2px solid transparent;border-top-color:var(--gold);animation:spin .8s linear infinite;display:none;} +.seat.loading .seat-loading{display:block;} +.seat.loading .seat-badge{display:none;} +@keyframes spin{to{transform:rotate(360deg);}} +.seat-badge{position:absolute;bottom:-3px;right:-3px;width:16px;height:16px;border-radius:50%;font-size:10px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--bg);} +.sb-buy{background:var(--green);color:#fff;} +.sb-hold{background:var(--amber);color:#fff;} +.sb-sell{background:var(--red);color:#fff;} +.seat-nm{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;} +.seat-rl{font-size:12px;color:var(--muted);white-space:nowrap;max-width:80px;overflow:hidden;text-overflow:ellipsis;text-align:center;} +@keyframes seat-in{from{opacity:0;transform:scale(.4);}to{opacity:1;transform:scale(1);}} +.ceo-bar{display:flex;flex-direction:column;align-items:center;gap:5px;margin-top:14px;} +.ceo-av{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold-dk));display:flex;align-items:center;justify-content:center;font-weight:700;font-size:17px;color:#060b18;border:2px solid var(--gold);box-shadow:0 0 28px rgba(201,168,76,.3);font-family:'Noto Serif SC',serif;} +.ceo-lbl{font-size:14px;font-weight:600;color:var(--gold);letter-spacing:.04em;} +.ceo-sub{font-size:12px;color:var(--muted);} +.ceo-arr{font-size:18px;color:var(--border-md);margin-bottom:6px;line-height:1;} + +.rp{border-left:1px solid var(--border);overflow-y:auto;background:var(--surface);} +::-webkit-scrollbar{width:3px;} +::-webkit-scrollbar-track{background:transparent;} +::-webkit-scrollbar-thumb{background:var(--border-md);border-radius:3px;} +.rp-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:10px;padding:48px 32px;text-align:center;} +.rp-empty-glyph{font-size:56px;opacity:.12;font-family:'Noto Serif SC',serif;} +.rp-empty-h{font-family:'Noto Serif SC',serif;font-size:19px;color:var(--text);font-weight:600;line-height:1.5;} +.rp-empty-p{font-size:15px;color:var(--muted);line-height:1.7;margin-top:6px;} +.rp-content{padding:22px;display:none;} +.rp-content.show{display:block;} +.rp-hd{margin-bottom:18px;padding-bottom:15px;border-bottom:1px solid var(--border);} +.rp-analyst-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;} +.rp-av{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;border:2px solid var(--border-md);} +.rp-nm{font-weight:600;font-size:17px;color:var(--text);} +.rp-tl{font-size:13px;color:var(--muted);} +.rp-title{font-family:'Noto Serif SC',serif;font-size:21px;font-weight:600;color:var(--text);line-height:1.45;margin-bottom:8px;} +.rp-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap;} +.vb{padding:4px 14px;border-radius:20px;font-size:13px;font-weight:700;letter-spacing:.04em;} +.vb.buy{background:rgba(34,197,94,.12);color:var(--green);border:1px solid rgba(34,197,94,.28);} +.vb.hold{background:rgba(245,158,11,.12);color:var(--amber);border:1px solid rgba(245,158,11,.28);} +.vb.sell{background:rgba(239,68,68,.12);color:var(--red);border:1px solid rgba(239,68,68,.28);} +.sb2{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--gold);background:rgba(201,168,76,.09);padding:4px 10px;border-radius:20px;border:1px solid var(--border-md);} +.exec-sum{background:var(--surface-2);border-radius:8px;padding:14px 16px;margin-bottom:16px;border-left:3px solid;} +.sec-h{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);font-weight:600;margin-bottom:7px;} +.sec-body{font-size:15px;line-height:1.85;color:var(--text);} +.sec-body pre{white-space:pre-wrap;font-family:inherit;margin:0;} +.sec{margin-bottom:18px;} +.rp-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px;color:var(--muted);font-size:15px;} +.rp-error{color:var(--red);font-size:14px;padding:14px;background:rgba(239,68,68,.08);border-radius:8px;margin-bottom:12px;} + +.bot{position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--border);padding:9px 24px;display:flex;align-items:center;gap:20px;z-index:200;} +.bot-lbl{font-size:13px;color:var(--muted);white-space:nowrap;} +.bot-chips{display:flex;gap:5px;overflow-x:auto;flex:1;scrollbar-width:none;} +.bot-chips::-webkit-scrollbar{display:none;} +.chip{display:flex;align-items:center;gap:4px;padding:4px 12px;border-radius:20px;border:1px solid var(--border);font-size:13px;background:var(--surface-2);cursor:pointer;white-space:nowrap;transition:all .14s;color:var(--text);} +.chip:hover{border-color:var(--border-md);} +.chip.active{border-color:var(--gold);background:rgba(201,168,76,.08);color:var(--gold);} +.chip-d{width:5px;height:5px;border-radius:50%;} +.chip.loading{opacity:.5;pointer-events:none;} +.qwen-status{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:13px;color:var(--gold);} + +.modal{position:fixed;inset:0;background:rgba(0,0,0,.65);display:none;align-items:center;justify-content:center;z-index:999;} +.modal.show{display:flex;} +.modal-body{background:var(--surface);border:1px solid var(--border-md);border-radius:var(--r);width:min(700px,94vw);max-height:80vh;overflow-y:auto;} +.ydp-dialog-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border);} +.ydp-dialog-head h3{font-family:'Noto Serif SC',serif;font-size:18px;color:var(--gold-lt);} +.ydp-dialog-close{background:none;border:none;color:var(--muted);font-size:20px;cursor:pointer;padding:2px 6px;} +.ydp-dialog-close:hover{color:var(--text);} +.ydp-dialog-body{padding:16px 18px;max-height:60vh;overflow-y:auto;} +.ydp-dialog-body .log-line{font-family:'JetBrains Mono',monospace;font-size:13px;padding:3px 0;color:var(--muted);border-bottom:1px solid rgba(255,255,255,.02);} +.ydp-dialog-body .log-line.ok{color:var(--green);} +.ydp-dialog-body .log-line.err{color:var(--red);} +.ydp-dialog-body .log-line.info{color:var(--gold);} +.ydp-dialog-footer{padding:12px 18px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end;} +.ydp-dialog-footer button{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:8px 18px;color:var(--text);font-size:13px;cursor:pointer;} +.ydp-dialog-footer button:hover{background:var(--surface-3);} +.ydp-dialog-footer button.primary{background:rgba(201,168,76,.1);border-color:var(--border-md);color:var(--gold);} + +.stock-empty{text-align:center;padding:48px;color:var(--muted);} +.stock-empty-h{font-family:'Noto Serif SC',serif;font-size:21px;color:var(--text);margin-bottom:8px;} +.stock-empty-p{font-size:15px;} + +.image-bar{padding:8px 28px;background:var(--surface);border-bottom:1px solid var(--border);} +.image-bar-inner{display:flex;align-items:center;gap:24px;} +.image-upload-area{display:flex;align-items:center;gap:10px;} +.image-upload-btn{background:var(--surface-2);border:1px solid var(--border-md);border-radius:20px;padding:6px 16px;font-size:13px;color:var(--gold);cursor:pointer;transition:all .15s;} +.image-upload-btn:hover{background:rgba(201,168,76,.15);} +.image-preview-wrap{position:relative;display:inline-flex;} +.image-preview-wrap img{width:40px;height:40px;border-radius:6px;border:1px solid var(--border-md);object-fit:cover;} +.image-remove-btn{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;background:var(--red);color:#fff;border:none;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;} +.profile-edit-area{display:flex;align-items:center;gap:10px;} +.profile-edit-btn{background:var(--surface-2);border:1px solid var(--border-md);border-radius:20px;padding:6px 16px;font-size:13px;color:var(--gold);cursor:pointer;transition:all .15s;} +.profile-edit-btn:hover{background:rgba(201,168,76,.15);} +.profile-summary{font-size:12px;color:var(--muted);} + +.pf-row{padding:4px 18px;display:flex;align-items:center;gap:10px;} +.pf-row label{width:140px;font-size:13px;color:var(--muted);flex-shrink:0;} +.pf-row input{flex:1;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-size:13px;color:var(--text);outline:none;} +.pf-row input:focus{border-color:var(--gold);} +.pf-row2{display:flex;gap:12px;padding:4px 18px;} +.pf-row2 .pf-row{padding:4px 0;} +.pf-row2 .pf-row label{width:auto;min-width:60px;} +.pf-row2 .pf-row input{width:120px;flex:none;} \ No newline at end of file diff --git a/public/tools/yuanzhupai/yuanzhupai.js b/public/tools/yuanzhupai/yuanzhupai.js new file mode 100644 index 0000000..cf41973 --- /dev/null +++ b/public/tools/yuanzhupai/yuanzhupai.js @@ -0,0 +1,845 @@ +const yzp = (() => { + let analysts = [] + let reports = {} + let activeAnalystId = null + let uiMode = 'debug' + let dialogTimer = null + let dialogCountdown = 0 + let dialogHasError = false + let queryCode = '' + let hintMessage = '请通过首页九宫格进入,或使用正确的访问链接' + let currentScenarioId = 'stock_invest' + let scenarioConfig = null + let scenariosData = [] + let imageBase64 = '' + let userProfile = null + + const fetchHint = async () => { + try { + const resp = await fetch('/api/yuanzhupai/auth/hint') + const data = await resp.json().catch(() => null) + if (data && data.ok && data.message) hintMessage = data.message + } catch {} + } + + const el = id => document.getElementById(id) + const esc = s => String(s || '').replace(/[&<>"]/g, m => ({ '&': '&', '<': '<', '>': '>', '"': '"' }[m])) + + const getUiMode = () => uiMode + + const nowStr = () => { + const d = new Date() + return `${String(d.getHours()).padStart(2,'0')}:${String(d.getMinutes()).padStart(2,'0')}:${String(d.getSeconds()).padStart(2,'0')}` + } + + const clearDialogTimer = () => { + if (dialogTimer) { clearInterval(dialogTimer); dialogTimer = null } + } + + const openDialog = () => { + clearDialogTimer() + dialogHasError = false + dialogCountdown = 0 + const box = el('ydp-dialog-logs') + if (box) box.innerHTML = '' + const status = el('ydp-dialog-status') + if (status) { status.textContent = '运行中'; status.className = 'log-line info' } + const dlg = el('ydp-dialog') + if (dlg) dlg.classList.add('show') + } + + const closeDialog = () => { + clearDialogTimer() + const dlg = el('ydp-dialog') + if (dlg) dlg.classList.remove('show') + } + + const appendLog = (line, type) => { + const box = el('ydp-dialog-logs') + if (!box) return + const div = document.createElement('div') + div.className = `log-line${type ? ` ${type}` : ''}` + div.textContent = `[${nowStr()}] ${String(line || '')}` + box.appendChild(div) + box.scrollTop = box.scrollHeight + } + + const finishDialog = () => { + if (dialogHasError) return + dialogCountdown = uiMode === 'debug' ? 3 : 2 + const status = el('ydp-dialog-status') + const updateStatus = () => { + if (status) { status.textContent = `成功,${dialogCountdown}s 后自动关闭`; status.className = 'log-line ok' } + } + updateStatus() + clearDialogTimer() + dialogTimer = setInterval(() => { + dialogCountdown -= 1 + if (dialogCountdown <= 0) { clearDialogTimer(); closeDialog(); return } + updateStatus() + }, 1000) + } + + const failDialog = err => { + dialogHasError = true + const status = el('ydp-dialog-status') + if (status) { status.textContent = '发生错误,已中断'; status.className = 'log-line err' } + appendLog(String(err && err.message ? err.message : err), 'err') + } + + const copyText = async text => { + if (!navigator.clipboard || !navigator.clipboard.writeText) throw new Error('当前环境不支持剪贴板写入') + await navigator.clipboard.writeText(String(text || '')) + } + + const loadConfig = async (version, scenarioId) => { + await fetchHint() + const ver = String(version || 'x').trim() + const sid = String(scenarioId || 'stock_invest').trim() + currentScenarioId = sid + scenarioConfig = null + let authOk = false + try { + const resp = await fetch('/api/yuanzhupai/analysts?version=' + ver + '&scenario=' + sid) + const data = await resp.json().catch(() => null) + if (data && data.ok && Array.isArray(data.analysts)) { + analysts = data.analysts + uiMode = data.ui_mode || 'debug' + if (data.scenario) scenarioConfig = data.scenario + authOk = true + return + } + if (resp.status === 401) authOk = false + } catch {} + analysts = [ + { id:'business', name:'张志远', title:'商业模式分析师', area:'商业模式', initials:'ZZ', color:'#3b82f6', verdict:'buy', verdict_text:'买入' }, + { id:'financial', name:'陈雨薇', title:'资深财务分析师', area:'财务健康', initials:'CY', color:'#06b6d4', verdict:'buy', verdict_text:'买入' }, + { id:'moat', name:'李铭哲', title:'竞争护城河专家', area:'竞争护城河', initials:'LM', color:'#8b5cf6', verdict:'buy', verdict_text:'买入' }, + { id:'valuation', name:'王芷茜', title:'估值与定价分析师', area:'股票估值', initials:'WZ', color:'#f59e0b', verdict:'buy', verdict_text:'买入' }, + { id:'risk', name:'刘浩宇', title:'风险管理总监', area:'风险分析', initials:'LH', color:'#ef4444', verdict:'hold', verdict_text:'持有' }, + { id:'growth', name:'孙雪莹', title:'增长战略分析师', area:'增长潜力', initials:'SX', color:'#22c55e', verdict:'buy', verdict_text:'买入' }, + { id:'institutional', name:'赵启航', title:'机构投资策略师', area:'机构视角', initials:'ZQ', color:'#14b8a6', verdict:'buy', verdict_text:'买入' }, + { id:'bull', name:'周俊杰', title:'看涨首席分析师', area:'看涨论点', initials:'ZJ', color:'#4ade80', verdict:'buy', verdict_text:'买入' }, + { id:'bear', name:'吴静波', title:'看跌风险分析师', area:'看跌论点', initials:'WJ', color:'#f87171', verdict:'sell', verdict_text:'卖出' }, + { id:'chairman', name:'Yang John', title:'圆桌主席 · 首席投资官', area:'最终判决', initials:'YJ', color:'#c9a84c', verdict:'hold', verdict_text:'综合裁定' } + ] + if (!authOk) { + const rpEmptyP = document.querySelector('.rp-empty-p') + if (rpEmptyP) { + rpEmptyP.innerHTML = `请通过首页九宫格进入
    或使用正确的访问链接

    ${esc(hintMessage)}` + } + } + } + + const positionSeats = () => { + const wrap = el('tcWrap') + if (!wrap || !analysts.length) return + const cx = 258, cy = 258, r = 210 + const total = analysts.length + analysts.forEach((a, i) => { + const angle = -Math.PI / 2 + (2 * Math.PI * i) / total + const left = cx + r * Math.cos(angle) - 25 + const top = cy + r * Math.sin(angle) - 25 + const seat = el(`seat-${a.id}`) + if (seat) { seat.style.left = `${left}px`; seat.style.top = `${top}px` } + }) + } + + const renderSeats = () => { + const wrap = el('tcWrap') + if (!wrap) return + wrap.querySelectorAll('.seat').forEach(s => s.remove()) + analysts.forEach(a => { + const div = document.createElement('div') + div.className = 'seat' + div.id = `seat-${a.id}` + div.innerHTML = ` +
    + ${esc(a.initials)} + + ${esc((a.verdictText || a.verdict_text || '').charAt(0))} +
    +
    ${esc(a.name)}
    +
    ${esc(a.title)}
    + ` + div.onclick = () => selectAnalyst(a.id) + wrap.appendChild(div) + }) + positionSeats() + } + + const renderBottomChips = () => { + const container = el('botChips') + if (!container) return + container.innerHTML = '' + analysts.forEach(a => { + const chip = document.createElement('div') + chip.className = `chip${activeAnalystId === a.id ? ' active' : ''}` + chip.id = `chip-${a.id}` + chip.innerHTML = `${esc(a.name)}` + chip.onclick = () => selectAnalyst(a.id) + container.appendChild(chip) + }) + } + + const renderProgress = () => { + const container = el('progList') + if (!container) return + container.innerHTML = '' + const verdicts = (scenarioConfig && scenarioConfig.verdicts) || { buy: { label: '买入', color: '#4ade80' }, hold: { label: '持有', color: '#f59e0b' }, sell: { label: '卖出', color: '#f87171' } } + const verdictKeys = Object.keys(verdicts) + const total = analysts.length + const done = Object.keys(reports).filter(k => reports[k] && !reports[k].error).length + + analysts.forEach(a => { + const r = reports[a.id] + const isDone = r && !r.error && !r._loading + const isLoading = r && r._loading + const div = document.createElement('div') + div.className = 'prog-item' + div.style.opacity = isDone ? '1' : isLoading ? '.7' : '.35' + div.innerHTML = ` +
    ${esc(a.initials)}
    +
    ${esc(a.name)}
    +
    ${isLoading ? '分析中…' : isDone ? '已完成' : '待开始'}
    + ` + div.onclick = () => r && selectAnalyst(a.id) + container.appendChild(div) + }) + + if (done > 0) { + const conBar = el('conBar') + const verdictCounts = {} + verdictKeys.forEach(v => { verdictCounts[v] = Object.values(reports).filter(r => r && r.verdict === v && !r.error).length }) + if (conBar) { + const totalDone = Object.values(verdictCounts).reduce((s, v) => s + v, 0) || 1 + conBar.innerHTML = verdictKeys.map(v => `
    `).join('') + } + const conLbls = el('conLbls') + if (conLbls) { + conLbls.innerHTML = verdictKeys.map(v => `
    ${verdicts[v].label} ${verdictCounts[v]}/${total}
    `).join('') + } + } + } + + const selectAnalyst = id => { + activeAnalystId = id + const r = reports[id] + renderSeats() + renderBottomChips() + const active = el(`seat-${id}`) + if (active) { + document.querySelectorAll('.seat.active').forEach(s => s.classList.remove('active')) + active.classList.add('active') + } + if (r && !r._loading) { + renderReport(id) + } else if (!r) { + showEmptyReport() + } + } + + const showEmptyReport = () => { + const empty = el('rpEmpty') + const content = el('rpContent') + if (empty) empty.style.display = '' + if (content) content.classList.remove('show') + } + + const showLoadingReport = () => { + const empty = el('rpEmpty') + const content = el('rpContent') + if (empty) empty.style.display = 'none' + if (content) { + content.classList.add('show') + content.innerHTML = '
    分析中…
    ' + } + } + + const renderReport = id => { + const r = reports[id] + if (!r) { showEmptyReport(); return } + const a = analysts.find(x => x.id === id) || {} + const empty = el('rpEmpty') + const content = el('rpContent') + if (empty) empty.style.display = 'none' + if (!content) return + content.classList.add('show') + + if (r.error) { + const vColor = (scenarioConfig && scenarioConfig.verdicts && scenarioConfig.verdicts[a.verdict] && scenarioConfig.verdicts[a.verdict].color) || '#888' + content.innerHTML = ` +
    +
    +
    ${esc(a.initials)}
    +
    ${esc(a.name)}
    ${esc(a.title)}
    +
    +
    ${esc(a.verdict_text || a.verdictText || '')}
    +
    +
    分析失败:${esc(r.error)}
    + ` + return + } + + if (r._loading) { + const vColor2 = (scenarioConfig && scenarioConfig.verdicts && scenarioConfig.verdicts[a.verdict] && scenarioConfig.verdicts[a.verdict].color) || '#888' + content.innerHTML = ` +
    +
    +
    ${esc(a.initials)}
    +
    ${esc(a.name)}
    ${esc(a.title)}
    +
    +
    ${esc(a.verdict_text || a.verdictText || '')}
    +
    +
    分析报告中…
    + ` + return + } + + const tokenInfo = r.tokens ? `${r.tokens.total} tokens · ${r.request_ms}ms` : '' + const vColor3 = (scenarioConfig && scenarioConfig.verdicts && scenarioConfig.verdicts[a.verdict] && scenarioConfig.verdicts[a.verdict].color) || '#888' + content.innerHTML = ` +
    +
    +
    ${esc(a.initials)}
    +
    ${esc(a.name)}
    ${esc(a.title)}
    +
    +
    + ${esc(a.verdict_text || a.verdictText || '')} + ${tokenInfo ? `${esc(tokenInfo)}` : ''} +
    +
    +
    ${esc(r.report)}
    +
    + +
    + ` + } + + const copyReport = async id => { + const r = reports[id] + if (!r || !r.report) return + try { + await copyText(r.report) + if (uiMode === 'normal') { + showToast('已复制到剪贴板', 'ok') + } + } catch { + if (uiMode === 'normal') { + showToast('复制失败', 'err') + } + } + } + + let toastTimer = null + const showToast = (msg, type) => { + if (toastTimer) clearTimeout(toastTimer) + let el = document.getElementById('yzp-toast') + if (!el) { + el = document.createElement('div') + el.id = 'yzp-toast' + el.style.cssText = 'position:fixed;top:20px;left:50%;transform:translateX(-50%);z-index:9999;padding:8px 20px;border-radius:20px;font-size:12px;font-weight:600;pointer-events:none;transition:opacity .3s;' + document.body.appendChild(el) + } + if (type === 'ok') { el.style.background = '#166534'; el.style.color = '#86efac' } + else if (type === 'err') { el.style.background = '#991b1b'; el.style.color = '#fca5a5' } + else { el.style.background = '#1e3a5f'; el.style.color = '#93c5fd' } + el.textContent = msg + el.style.opacity = '1' + toastTimer = setTimeout(() => { el.style.opacity = '0' }, 2000) + } + + const updateChairmanInfo = () => { + const ceoName = el('ceo-name') + const ceoTitle = el('ceo-title') + const chairman = analysts.find(a => a.id === 'chairman' || a.id === 'cio' || a.id === 'final_verdict') + if (ceoName && chairman) ceoName.textContent = chairman.initials || '主' + if (ceoTitle && chairman) ceoTitle.textContent = `${chairman.name} · ${chairman.title}` + } + + const updateDate = () => { + const d = new Date() + const pad = n => String(n).padStart(2, '0') + const el2 = document.getElementById('dateEl') + if (el2) el2.textContent = `${d.getFullYear()}-${pad(d.getMonth()+1)}-${pad(d.getDate())} ${pad(d.getHours())}:${pad(d.getMinutes())}:${pad(d.getSeconds())}` + } + + const setButtonLoading = (btn, loading) => { + if (!btn) return + if (loading) { + btn._origText = btn.textContent + btn.disabled = true + btn.textContent = '分析中…' + } else { + btn.disabled = false + btn.textContent = btn._origText || '开始分析' + } + } + + const updateCenterTable = (code, label) => { + const codeEl = el('ts-code') + const nameEl = el('ts-name') + const priceEl = el('ts-price') + const chgEl = el('ts-chg') + if (codeEl) codeEl.textContent = code || '输入议题' + if (nameEl) nameEl.textContent = label || code || '待分析议题' + if (priceEl) priceEl.textContent = '--' + if (chgEl) { chgEl.textContent = label ? '分析完成' : '等待分析'; chgEl.className = label ? 'ts-chg' : 'ts-chg' } + } + + const updateSidebar = (code, resultSummary) => { + const companyEl = el('sb-company') + const sectorEl = el('sb-sector') + const codeEl = el('sb-code') + const doneEl = el('sb-done') + const sbTitle = (scenarioConfig && scenarioConfig.sidebar && scenarioConfig.sidebar.consensus_title) || '共识评级' + const consensusLabel = el('consensus-label') + if (consensusLabel) consensusLabel.textContent = sbTitle + if (companyEl) companyEl.textContent = code || '待分析标的' + if (sectorEl) sectorEl.textContent = resultSummary ? '会议已完成' : ((scenarioConfig && scenarioConfig.input && scenarioConfig.input.placeholder) || '输入议题') + if (codeEl) codeEl.textContent = code || '--' + if (doneEl) doneEl.textContent = resultSummary ? `${resultSummary.success || 0} / ${resultSummary.total || analysts.length}` : '0' + const sbCount = el('sb-count') + if (sbCount) sbCount.textContent = analysts.length + '人' + const badge = el('live-badge') + if (badge) badge.innerHTML = resultSummary ? '会议已结束' : '会议待启' + } + + const startAnalysis = async () => { + const input = el('hd-search-input') + if (!input) return + const code = String(input.value || '').trim() + if (!code) return + queryCode = code + + const searchBtn = el('hd-search-btn') + setButtonLoading(searchBtn, true) + + reports = {} + analysts.forEach(a => { reports[a.id] = { _loading: true, verdict: a.verdict, verdictText: a.verdictText || a.verdict_text || '' } }) + activeAnalystId = null + renderSeats() + renderBottomChips() + renderProgress() + updateCenterTable(queryCode) + updateSidebar(queryCode, null) + showEmptyReport() + updateDate() + + if (uiMode === 'debug') openDialog() + appendLog(`开始圆桌分析,标的:${code}`) + appendLog(`分析师人数:${analysts.length}`, 'info') + + try { + const resp = await fetch('/api/yuanzhupai/analyze', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ code, version: el('hd-version') ? el('hd-version').value : 'x', scenario: currentScenarioId, imageBase64, userProfile }) + }) + if (resp.status === 401) throw new Error(`未登录:${hintMessage}`) + const data = await resp.json().catch(() => null) + if (!resp.ok || !data || !data.ok) throw new Error((data && data.error) || `请求失败: ${resp.status}`) + + const result = data.result + const apiLogs = Array.isArray(data.logs) ? data.logs : [] + apiLogs.forEach(l => appendLog(l)) + + reports = {} + ;(result.analysts || []).forEach(r => { + reports[r.id] = { + report: r.report || '', + error: r.error || null, + tokens: r.tokens || { prompt: 0, completion: 0, total: 0 }, + request_ms: r.request_ms || 0, + verdict: r.verdict, + verdictText: r.verdictText, + _loading: false + } + const seat = el(`seat-${r.id}`) + if (seat) seat.classList.remove('loading') + }) + + renderSeats() + renderBottomChips() + renderProgress() + updateCenterTable(queryCode, queryCode) + updateSidebar(queryCode, result.summary) + + if (uiMode === 'debug') { + finishDialog() + } else { + closeDialog() + const successCount = result.summary ? result.summary.success : (result.analysts || []).filter(x => !x.error).length + showToast(`${successCount}/${analysts.length} 位分析师完成报告`, 'ok') + } + } catch (e) { + const errMsg = String(e.message || e) + const isAuth = errMsg.includes('未登录') || errMsg.includes('unauthorized') + appendLog(`分析失败:${errMsg}`, 'err') + if (uiMode === 'debug') { + failDialog(e) + } else { + showToast(`分析失败:${errMsg}`, 'err') + } + if (isAuth) { + const empty = el('rpEmpty') + const content = el('rpContent') + if (empty && content) { + empty.style.display = 'none' + content.classList.add('show') + content.innerHTML = `
    +
    🔐
    +
    需要身份验证
    +
    + 请通过首页九宫格点击 圆桌派 进入
    + 或使用 GUID 链接直接访问 +
    + 🏠 从首页九宫格进入 +
    ` + } + } + analysts.forEach(a => { + if (reports[a.id] && reports[a.id]._loading) { + reports[a.id] = { error: e.message || e, _loading: false } + const seat = el(`seat-${a.id}`) + if (seat) seat.classList.remove('loading') + } + }) + renderSeats() + renderProgress() + } finally { + setButtonLoading(searchBtn, false) + updateDate() + } + } + + const updateImageBar = () => { + const bar = el('imageBar') + if (!bar) return + const inputType = (scenarioConfig && scenarioConfig.input && scenarioConfig.input.type) || 'text' + if (inputType === 'image_text') { + bar.style.display = '' + } else { + bar.style.display = 'none' + resetImageUI() + } + } + + const resetImageUI = () => { + imageBase64 = '' + const preview = el('imagePreview') + const wrap = el('imagePreviewWrap') + if (preview) preview.src = '' + if (wrap) wrap.style.display = 'none' + const btn = el('imageUploadBtn') + if (btn) btn.textContent = '📷 上传穿搭照片' + const fileInput = el('imageFileInput') + if (fileInput) fileInput.value = '' + } + + const loadDefaultProfile = () => { + if (scenarioConfig && scenarioConfig.input && scenarioConfig.input.user_profile) { + userProfile = JSON.parse(JSON.stringify(scenarioConfig.input.user_profile)) + } else { + userProfile = null + } + updateProfileSummary() + } + + const updateProfileSummary = () => { + const el = document.getElementById('profileSummary') + if (!el) return + if (!userProfile) { el.textContent = ''; return } + const p = userProfile + const parts = [] + parts.push(`年龄:${p.age || '--'}岁`) + if (p.industry) parts.push(p.industry) + parts.push(`${p.height || '--'}cm/${p.weight || '--'}kg`) + el.textContent = parts.join(' · ') + } + + const openProfileModal = () => { + const panel = el('yp-profile-panel') + if (!panel) return + const p = userProfile || {} + const goal = Array.isArray(p.goal) ? p.goal.join(', ') : (p.goal || '') + const style = Array.isArray(p.style_preference) ? p.style_preference.join(', ') : (p.style_preference || '') + const setVal = (id, val) => { const e = document.getElementById(id); if (e) e.value = val || '' } + setVal('pf-age', p.age || '') + setVal('pf-industry', p.industry || '') + setVal('pf-height', p.height || '') + setVal('pf-weight', p.weight || '') + setVal('pf-goal', goal) + setVal('pf-style', style) + panel.classList.add('show') + } + + const closeProfileModal = () => { + const panel = el('yp-profile-panel') + if (panel) panel.classList.remove('show') + } + + const saveProfile = () => { + const getVal = id => { const e = document.getElementById(id); return e ? String(e.value || '').trim() : '' } + userProfile = { + age: parseInt(getVal('pf-age'), 10) || 0, + industry: getVal('pf-industry'), + height: parseInt(getVal('pf-height'), 10) || 0, + weight: parseInt(getVal('pf-weight'), 10) || 0, + goal: getVal('pf-goal').split(/[,,]/).map(s => s.trim()).filter(Boolean), + style_preference: getVal('pf-style').split(/[,,]/).map(s => s.trim()).filter(Boolean) + } + updateProfileSummary() + closeProfileModal() + } + + const populateVersionSelect = sid => { + const sel = el('hd-version') + if (!sel) return + const scenario = scenariosData.find(s => s.id === sid) || scenariosData[0] + const variants = (scenario && scenario.variants) || {} + const keys = Object.keys(variants) + if (!keys.length) return + const currentVal = sel.value + sel.innerHTML = keys.map(k => ``).join('') + if (keys.includes(currentVal)) { + sel.value = currentVal + } + } + + const copyAllLogs = async () => { + const box = el('ydp-dialog-logs') + if (!box) return + const text = Array.from(box.querySelectorAll('.log-line')).map(d => d.textContent).join('\n') + try { await copyText(text) } catch {} + } + + const bindEvents = () => { + const searchBtn = el('hd-search-btn') + if (searchBtn) searchBtn.onclick = startAnalysis + + const searchInput = el('hd-search-input') + if (searchInput) { + searchInput.onkeydown = e => { if (e.key === 'Enter') startAnalysis() } + } + + const scenarioSelect = el('hd-scenario') + if (scenarioSelect) { + scenarioSelect.onchange = async () => { + reports = {} + activeAnalystId = null + resetImageUI() + const sid = scenarioSelect.value + populateVersionSelect(sid) + const ver = el('hd-version') ? el('hd-version').value : 'x' + await loadConfig(ver, sid) + loadDefaultProfile() + updateImageBar() + renderSeats() + renderBottomChips() + renderProgress() + updateChairmanInfo() + updateSidebar(queryCode || '', null) + showEmptyReport() + const input = el('hd-search-input') + if (input && scenarioConfig && scenarioConfig.input) { + input.placeholder = scenarioConfig.input.placeholder || '请输入…' + } + } + } + + const historyBtn = el('hd-history-btn') + if (historyBtn) historyBtn.onclick = openHistory + + const historyClose = el('yp-history-close') + if (historyClose) historyClose.onclick = closeHistory + + const historyBack = el('yp-history-back') + if (historyBack) { + historyBack.style.display = 'none' + historyBack.onclick = openHistory + } + + const historyCloseBottom = el('yp-history-close-bottom') + if (historyCloseBottom) historyCloseBottom.onclick = closeHistory + + const versionSelect = el('hd-version') + if (versionSelect) { + versionSelect.onchange = () => { + reports = {} + activeAnalystId = null + const sid = el('hd-scenario') ? el('hd-scenario').value : 'stock_invest' + loadConfig(versionSelect.value, sid).then(() => { + renderSeats() + renderBottomChips() + renderProgress() + updateChairmanInfo() + updateImageBar() + showEmptyReport() + }) + } + } + + const dialogClose = el('ydp-dialog-close') + if (dialogClose) dialogClose.onclick = closeDialog + + const dialogCopy = el('ydp-dialog-copy') + if (dialogCopy) dialogCopy.onclick = copyAllLogs + + const dialogCloseBtn = el('ydp-dialog-close-bottom') + if (dialogCloseBtn) dialogCloseBtn.onclick = closeDialog + + const imageUploadBtn = el('imageUploadBtn') + const imageFileInput = el('imageFileInput') + if (imageUploadBtn && imageFileInput) { + imageUploadBtn.onclick = () => imageFileInput.click() + imageFileInput.onchange = () => { + const file = imageFileInput.files && imageFileInput.files[0] + if (!file) return + const reader = new FileReader() + reader.onload = () => { + imageBase64 = reader.result + const preview = el('imagePreview') + const wrap = el('imagePreviewWrap') + if (preview) preview.src = imageBase64 + if (wrap) wrap.style.display = '' + if (imageUploadBtn) imageUploadBtn.textContent = '📷 已上传照片' + } + reader.readAsDataURL(file) + } + } + + const imageRemoveBtn = el('imageRemoveBtn') + if (imageRemoveBtn) { + imageRemoveBtn.onclick = () => { + imageBase64 = '' + const preview = el('imagePreview') + const wrap = el('imagePreviewWrap') + if (preview) preview.src = '' + if (wrap) wrap.style.display = 'none' + if (imageUploadBtn) imageUploadBtn.textContent = '📷 上传穿搭照片' + const fileInput = el('imageFileInput') + if (fileInput) fileInput.value = '' + } + } + + const profileEditBtn = el('profileEditBtn') + if (profileEditBtn) profileEditBtn.onclick = openProfileModal + + const profileClose = el('yp-profile-close') + if (profileClose) profileClose.onclick = closeProfileModal + + const profileSave = el('yp-profile-save') + if (profileSave) profileSave.onclick = saveProfile + } + + const init = async () => { + await fetchHint() + + const scenarioSelect = el('hd-scenario') + const versionSelect = el('hd-version') + const sid = scenarioSelect ? scenarioSelect.value : 'stock_invest' + + if (scenarioSelect) { + try { + const resp = await fetch('/api/yuanzhupai/scenarios') + const data = await resp.json().catch(() => null) + if (data && data.ok && Array.isArray(data.scenarios) && data.scenarios.length) { + scenariosData = data.scenarios + scenarioSelect.innerHTML = data.scenarios.map(s => ``).join('') + populateVersionSelect(sid) + } + } catch {} + } + + const ver = versionSelect ? versionSelect.value : 'x' + await loadConfig(ver, sid) + + loadDefaultProfile() + updateImageBar() + + if (scenarioConfig && scenarioConfig.input) { + const input = el('hd-search-input') + if (input) input.placeholder = scenarioConfig.input.placeholder || '请输入…' + } + + renderSeats() + renderBottomChips() + renderProgress() + updateChairmanInfo() + updateDate() + bindEvents() + setInterval(updateDate, 60000) + } + + document.addEventListener('DOMContentLoaded', init) + + const openHistory = async () => { + const panel = el('yp-history-panel') + const list = el('yp-history-list') + const backBtn = el('yp-history-back') + if (backBtn) backBtn.style.display = 'none' + if (panel) panel.classList.add('show') + if (list) list.innerHTML = '
    加载中…
    ' + try { + const resp = await fetch('/api/yuanzhupai/sessions?limit=20') + const data = await resp.json().catch(() => null) + if (!data || !data.ok || !Array.isArray(data.sessions)) throw new Error('获取失败') + if (!data.sessions.length) { if (list) list.innerHTML = '
    暂无历史会议记录
    '; return } + if (list) { + list.innerHTML = data.sessions.map(s => { + const d = new Date(s.created_at) + const ts = `${d.getFullYear()}-${String(d.getMonth()+1).padStart(2,'0')}-${String(d.getDate()).padStart(2,'0')} ${String(d.getHours()).padStart(2,'0')}:${String(d.getMinutes()).padStart(2,'0')}` + return `
    +
    +
    ${esc(s.query_code)}
    +
    ${ts} · ${esc(s.version || 'x')}版本
    +
    +
    →
    +
    ` + }).join('') + } + } catch (e) { + if (list) list.innerHTML = `
    加载失败:${esc(String(e.message || e))}
    ` + } + } + + const loadHistorySession = async sessionId => { + const list = el('yp-history-list') + const backBtn = el('yp-history-back') + if (!list) return + list.innerHTML = '
    加载会议记录…
    ' + try { + const resp = await fetch('/api/yuanzhupai/sessions/' + sessionId) + const data = await resp.json().catch(() => null) + if (!data || !data.ok || !data.session) throw new Error('session_not_found') + const s = data.session + const reports = Array.isArray(s.reports) ? s.reports : [] + if (backBtn) backBtn.style.display = '' + list.innerHTML = `
    +
    ${esc(s.query_code)}
    +
    ${esc(s.created_at)} · ${esc(s.version || 'x')}版本 · ${reports.length}位分析师
    +
    ` + reports.forEach(r => { + const div = document.createElement('div') + div.style.cssText = 'padding:12px 16px;border-bottom:1px solid var(--border-sub)' + div.innerHTML = `
    + ${esc(r.analyst_name)} + ${esc(r.analyst_title)} + ${r.tokens_used || 0}t · ${r.request_ms || 0}ms +
    +
    ${esc(r.report_text)}
    ` + list.appendChild(div) + }) + } catch (e) { + list.innerHTML = `
    加载失败:${esc(String(e.message || e))}
    ` + } + } + + const closeHistory = () => { + const panel = el('yp-history-panel') + if (panel) panel.classList.remove('show') + } + + return { copyReport, openHistory, loadHistorySession, closeHistory } +})() \ No newline at end of file diff --git a/src/server/ai-lib.js b/src/server/ai-lib.js new file mode 100644 index 0000000..330b16d --- /dev/null +++ b/src/server/ai-lib.js @@ -0,0 +1,668 @@ +const fs = require('fs') +const path = require('path') +const crypto = require('crypto') +const Database = require('better-sqlite3') +const { logJSON } = require('./logger') + +const dataDir = path.join(process.cwd(), 'data') +if (!fs.existsSync(dataDir)) fs.mkdirSync(dataDir, { recursive: true }) +const dbPath = path.join(dataDir, 'ai-lib.db') +const db = new Database(dbPath) +db.pragma('foreign_keys = ON') +db.pragma('synchronous = NORMAL') +db.pragma('journal_mode = WAL') + +const cfgPath = path.join(process.cwd(), 'config', 'ai-lib.json') +if (!fs.existsSync(path.dirname(cfgPath))) fs.mkdirSync(path.dirname(cfgPath), { recursive: true }) +if (!fs.existsSync(cfgPath)) fs.writeFileSync(cfgPath, JSON.stringify({ machine_salt: crypto.randomBytes(16).toString('hex') }, null, 2)) +let _cfg = null +const getConfig = () => { + if (!_cfg) _cfg = JSON.parse(fs.readFileSync(cfgPath, 'utf-8')) + return _cfg +} + +const passphrase = process.env.AILIB_PASSPHRASE || process.env.SYSTEM_AUTH_PASS_93220 || '' +let _key = null +const deriveKey = () => { + if (!_key) { + const salt = Buffer.from(getConfig().machine_salt || '', 'utf-8') + _key = crypto.scryptSync(passphrase, salt, 32) + } + return _key +} +const enc = (plain) => { + const key = deriveKey() + const iv = crypto.randomBytes(12) + const cipher = crypto.createCipheriv('aes-256-gcm', key, iv) + const ct = Buffer.concat([cipher.update(Buffer.from(String(plain), 'utf-8')), cipher.final()]) + const tag = cipher.getAuthTag() + return { ct: ct.toString('base64'), iv: iv.toString('base64'), tag: tag.toString('base64') } +} +const dec = (ct, iv, tag) => { + if (!ct) return '' + try { + const key = deriveKey() + const _iv = Buffer.from(String(iv||''), 'base64') + const _tag = Buffer.from(String(tag||''), 'base64') + const decipher = crypto.createDecipheriv('aes-256-gcm', key, _iv) + decipher.setAuthTag(_tag) + const out = Buffer.concat([decipher.update(Buffer.from(String(ct), 'base64')), decipher.final()]) + return out.toString('utf-8') + } catch (e) { + console.error('Decryption failed:', e.message) + return '[Decryption Failed]' + } +} + +db.exec( + `CREATE TABLE IF NOT EXISTS users ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + username TEXT NOT NULL UNIQUE, + pass_salt TEXT NOT NULL, + pass_hash TEXT NOT NULL, + created_at TEXT DEFAULT (datetime('now')), + updated_at TEXT DEFAULT (datetime('now')) + );` +) + +db.exec( + `CREATE TABLE IF NOT EXISTS systems ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name_enc TEXT, + name_iv TEXT, + name_tag TEXT, + intro_enc TEXT, + intro_iv TEXT, + intro_tag TEXT, + major_category_enc TEXT, + major_category_iv TEXT, + major_category_tag TEXT, + created_at TEXT DEFAULT (datetime('now')), + updated_at TEXT DEFAULT (datetime('now')) + );` +) + +try { + db.prepare('SELECT major_category_enc FROM systems LIMIT 1').get() +} catch (e) { + if (String(e).includes('no such column')) { + db.exec(`ALTER TABLE systems ADD COLUMN major_category_enc TEXT`) + db.exec(`ALTER TABLE systems ADD COLUMN major_category_iv TEXT`) + db.exec(`ALTER TABLE systems ADD COLUMN major_category_tag TEXT`) + } +} + +db.exec( + `CREATE TABLE IF NOT EXISTS modules ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + system_id INTEGER NOT NULL, + name_enc TEXT, name_iv TEXT, name_tag TEXT, + desc_enc TEXT, desc_iv TEXT, desc_tag TEXT, + server_addr_enc TEXT, server_addr_iv TEXT, server_addr_tag TEXT, + server_port INTEGER, + code_type_enc TEXT, code_type_iv TEXT, code_type_tag TEXT, + deploy_method_enc TEXT, deploy_method_iv TEXT, deploy_method_tag TEXT, + software_versions_enc TEXT, software_versions_iv TEXT, software_versions_tag TEXT, + created_at TEXT DEFAULT (datetime('now')), + updated_at TEXT DEFAULT (datetime('now')), + FOREIGN KEY(system_id) REFERENCES systems(id) ON DELETE CASCADE + );` +) + +db.exec( + `CREATE TABLE IF NOT EXISTS notes ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + module_id INTEGER NOT NULL, + note_type TEXT NOT NULL, + content_enc TEXT, content_iv TEXT, content_tag TEXT, + created_at TEXT DEFAULT (datetime('now')), + updated_at TEXT DEFAULT (datetime('now')), + FOREIGN KEY(module_id) REFERENCES modules(id) ON DELETE CASCADE + );` +) + +db.exec( + `CREATE TABLE IF NOT EXISTS attachments ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + note_id INTEGER NOT NULL, + filename_enc TEXT, filename_iv TEXT, filename_tag TEXT, + mime_enc TEXT, mime_iv TEXT, mime_tag TEXT, + size INTEGER, + store_enc TEXT, store_iv TEXT, store_tag TEXT, + created_at TEXT DEFAULT (datetime('now')), + FOREIGN KEY(note_id) REFERENCES notes(id) ON DELETE CASCADE + );` +) + +db.exec(`CREATE INDEX IF NOT EXISTS idx_modules_system_id ON modules(system_id)`) +db.exec(`CREATE INDEX IF NOT EXISTS idx_notes_module_id ON notes(module_id)`) +db.exec(`CREATE INDEX IF NOT EXISTS idx_attachments_note_id ON attachments(note_id)`) + +const authCookieName = 'ai_lib_auth' +const login = (u, p) => { + const row = db.prepare(`SELECT * FROM users WHERE username=?`).get(u) + if (!row) return { ok:false, error:'user_not_found' } + const salt = Buffer.from(row.pass_salt, 'base64') + const hash = crypto.scryptSync(p, salt, 32).toString('base64') + if (hash !== row.pass_hash) return { ok:false, error:'wrong_password' } + return { ok:true, user: { id: row.id, username: row.username } } +} +const changePassword = (u, oldp, newp) => { + const r = login(u, oldp) + if (!r.ok) return r + const salt = crypto.randomBytes(16) + const hash = crypto.scryptSync(newp, salt, 32) + db.prepare(`UPDATE users SET pass_salt=?, pass_hash=? WHERE id=?`).run(salt.toString('base64'), hash.toString('base64'), r.user.id) + return { ok:true } +} +(() => { + try { + const count = db.prepare(`SELECT COUNT(*) AS c FROM users`).get().c + if (count === 0) { + const defaultPass = process.env.AILIB_DEFAULT_PASSWORD || process.env.LOCK_DEFAULT_PASSWORD || '' + const salt = crypto.randomBytes(16) + const hash = crypto.scryptSync(defaultPass, salt, 32) + db.prepare(`INSERT INTO users (username, pass_salt, pass_hash) VALUES (?, ?, ?)`).run('dev_al', salt.toString('base64'), hash.toString('base64')) + } + } catch {} +})() +const sign = (obj) => { + const key = deriveKey() + const mac = crypto.createHmac('sha256', key) + mac.update(JSON.stringify(obj)) + return mac.digest('base64') +} +const verify = (payload, sig) => { + const key = deriveKey() + const mac = crypto.createHmac('sha256', key) + mac.update(JSON.stringify(payload)) + const expect = mac.digest('base64') + return expect === sig +} + +const attachmentsDir = path.join(process.cwd(), 'uploads', 'ai-lib', 'attachments') +if (!fs.existsSync(attachmentsDir)) fs.mkdirSync(attachmentsDir, { recursive: true }) + +const saveAttachmentChunk = (note_id, filename, mime, buffer) => { + const originalName = String(filename||'file.bin') + const efn = enc(originalName) + const emime = enc(String(mime||'application/octet-stream')) + const iv = crypto.randomBytes(12) + const cipher = crypto.createCipheriv('aes-256-gcm', deriveKey(), iv) + const ct = Buffer.concat([cipher.update(buffer), cipher.final()]) + const tag = cipher.getAuthTag() + const outName = `${Date.now()}-${Math.random().toString(36).slice(2)}.bin` + const full = path.join(attachmentsDir, outName) + fs.writeFileSync(full, Buffer.concat([iv, tag, ct])) + const estore = enc(full) + const info = db.prepare(`INSERT INTO attachments (note_id, filename_enc, filename_iv, filename_tag, mime_enc, mime_iv, mime_tag, size, store_enc, store_iv, store_tag) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run( + parseInt(note_id,10), efn.ct, efn.iv, efn.tag, emime.ct, emime.iv, emime.tag, buffer.length, estore.ct, estore.iv, estore.tag + ) + return info.lastInsertRowid +} + +const listSystems = () => { + const rows = db.prepare(`SELECT * FROM systems ORDER BY id ASC`).all() + return rows.map(r => ({ + id:r.id, + name: dec(r.name_enc,r.name_iv,r.name_tag), + intro: dec(r.intro_enc,r.intro_iv,r.intro_tag), + major_category: dec(r.major_category_enc,r.major_category_iv,r.major_category_tag), + created_at:r.created_at, + updated_at:r.updated_at + })) +} +const createSystem = (payload) => { + const en = enc(payload.name||'') + const ei = enc(payload.intro||'') + const em = enc(payload.major_category||'') + const info = db.prepare(`INSERT INTO systems (name_enc, name_iv, name_tag, intro_enc, intro_iv, intro_tag, major_category_enc, major_category_iv, major_category_tag) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(en.ct, en.iv, en.tag, ei.ct, ei.iv, ei.tag, em.ct, em.iv, em.tag) + return info.lastInsertRowid +} +const updateSystem = (payload) => { + const id = parseInt(payload.id,10) + const en = enc(payload.name||'') + const ei = enc(payload.intro||'') + const em = enc(payload.major_category||'') + db.prepare(`UPDATE systems SET name_enc=?, name_iv=?, name_tag=?, intro_enc=?, intro_iv=?, intro_tag=?, major_category_enc=?, major_category_iv=?, major_category_tag=?, updated_at=datetime('now') WHERE id=?`).run(en.ct, en.iv, en.tag, ei.ct, ei.iv, ei.tag, em.ct, em.iv, em.tag, id) +} +const deleteSystem = (id) => { + db.prepare(`DELETE FROM systems WHERE id=?`).run(parseInt(id,10)) +} + +const listModules = (system_id) => { + const rows = db.prepare(`SELECT * FROM modules WHERE system_id=? ORDER BY id ASC`).all(parseInt(system_id,10)) + return rows.map(r => ({ + id:r.id, system_id:r.system_id, + name: dec(r.name_enc,r.name_iv,r.name_tag), + description: dec(r.desc_enc,r.desc_iv,r.desc_tag), + server_addr: dec(r.server_addr_enc,r.server_addr_iv,r.server_addr_tag), + server_port: r.server_port, + code_type: dec(r.code_type_enc,r.code_type_iv,r.code_type_tag), + deploy_method: dec(r.deploy_method_enc,r.deploy_method_iv,r.deploy_method_tag), + software_versions: dec(r.software_versions_enc,r.software_versions_iv,r.software_versions_tag), + created_at:r.created_at, updated_at:r.updated_at + })) +} +const createModule = (payload) => { + const sid = parseInt(payload.system_id,10) + const en = enc(payload.name||'') + const ed = enc(payload.description||'') + const ea = enc(payload.server_addr||'') + const ct = parseInt(payload.server_port||'0',10) + const ec = enc(payload.code_type||'') + const dm = enc(payload.deploy_method||'') + const sv = enc(payload.software_versions||'') + const info = db.prepare(`INSERT INTO modules (system_id, name_enc, name_iv, name_tag, desc_enc, desc_iv, desc_tag, server_addr_enc, server_addr_iv, server_addr_tag, server_port, code_type_enc, code_type_iv, code_type_tag, deploy_method_enc, deploy_method_iv, deploy_method_tag, software_versions_enc, software_versions_iv, software_versions_tag) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(sid, en.ct,en.iv,en.tag, ed.ct,ed.iv,ed.tag, ea.ct,ea.iv,ea.tag, ct, ec.ct,ec.iv,ec.tag, dm.ct,dm.iv,dm.tag, sv.ct,sv.iv,sv.tag) + return info.lastInsertRowid +} +const updateModule = (payload) => { + const id = parseInt(payload.id,10) + const en = enc(payload.name||'') + const ed = enc(payload.description||'') + const ea = enc(payload.server_addr||'') + const ct = parseInt(payload.server_port||'0',10) + const ec = enc(payload.code_type||'') + const dm = enc(payload.deploy_method||'') + const sv = enc(payload.software_versions||'') + db.prepare(`UPDATE modules SET name_enc=?, name_iv=?, name_tag=?, desc_enc=?, desc_iv=?, desc_tag=?, server_addr_enc=?, server_addr_iv=?, server_addr_tag=?, server_port=?, code_type_enc=?, code_type_iv=?, code_type_tag=?, deploy_method_enc=?, deploy_method_iv=?, deploy_method_tag=?, software_versions_enc=?, software_versions_iv=?, software_versions_tag=?, updated_at=datetime('now') WHERE id=?`).run(en.ct,en.iv,en.tag, ed.ct,ed.iv,ed.tag, ea.ct,ea.iv,ea.tag, ct, ec.ct,ec.iv,ec.tag, dm.ct,dm.iv,dm.tag, sv.ct,sv.iv,sv.tag, id) +} +const deleteModule = (id) => { + db.prepare(`DELETE FROM modules WHERE id=?`).run(parseInt(id,10)) +} + +const listNotes = (module_id) => { + const rows = db.prepare(`SELECT * FROM notes WHERE module_id=? ORDER BY id ASC`).all(parseInt(module_id,10)) + return rows.map(r => ({ id:r.id, module_id:r.module_id, note_type:r.note_type, content: dec(r.content_enc,r.content_iv,r.content_tag), created_at:r.created_at, updated_at:r.updated_at })) +} +const createNote = (payload) => { + const mid = parseInt(payload.module_id,10) + const typ = String(payload.note_type||'') + const c = enc(payload.content||'') + const info = db.prepare(`INSERT INTO notes (module_id, note_type, content_enc, content_iv, content_tag) VALUES (?, ?, ?, ?, ?)`).run(mid, typ, c.ct, c.iv, c.tag) + return info.lastInsertRowid +} +const updateNote = (payload) => { + const id = parseInt(payload.id,10) + const typ = String(payload.note_type||'') + const c = enc(payload.content||'') + db.prepare(`UPDATE notes SET note_type=?, content_enc=?, content_iv=?, content_tag=?, updated_at=datetime('now') WHERE id=?`).run(typ, c.ct, c.iv, c.tag, id) +} +const deleteNote = (id) => { + db.prepare(`DELETE FROM notes WHERE id=?`).run(parseInt(id,10)) +} + +const listAttachments = (note_id) => { + const rows = db.prepare(`SELECT * FROM attachments WHERE note_id=? ORDER BY id ASC`).all(parseInt(note_id,10)) + return rows.map(r => ({ id:r.id, note_id:r.note_id, filename: dec(r.filename_enc, r.filename_iv, r.filename_tag), mime: dec(r.mime_enc, r.mime_iv, r.mime_tag), size: r.size, created_at: r.created_at })) +} + +const decryptAttachmentBuffer = (row, rawBuffer) => { + if (!row) return null + const filename = dec(row.filename_enc, row.filename_iv, row.filename_tag) || 'file.bin' + const mime = dec(row.mime_enc, row.mime_iv, row.mime_tag) || 'application/octet-stream' + const raw = Buffer.isBuffer(rawBuffer) ? rawBuffer : Buffer.alloc(0) + if (raw.length < 28) return null + const iv = raw.slice(0,12) + const tag = raw.slice(12,28) + const ct = raw.slice(28) + const decipher = crypto.createDecipheriv('aes-256-gcm', deriveKey(), iv) + decipher.setAuthTag(tag) + const data = Buffer.concat([decipher.update(ct), decipher.final()]) + return { filename, mime, data } +} + +const getAttachmentDataByStoredPath = (storedPath, rawBuffer) => { + const expected = path.resolve(String(storedPath || '')) + if (!expected) return null + const rows = db.prepare(`SELECT * FROM attachments ORDER BY id DESC`).all() + for (const r of rows) { + const full = path.resolve(dec(r.store_enc, r.store_iv, r.store_tag) || '') + if (!full || full !== expected) continue + const fileBuf = Buffer.isBuffer(rawBuffer) ? rawBuffer : (fs.existsSync(full) ? fs.readFileSync(full) : null) + if (!fileBuf) return null + return decryptAttachmentBuffer(r, fileBuf) + } + return null +} + +db.exec( + `CREATE TABLE IF NOT EXISTS major_categories ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name_enc TEXT, name_iv TEXT, name_tag TEXT, + created_at TEXT DEFAULT (datetime('now')), + updated_at TEXT DEFAULT (datetime('now')) + );` +) + +try { + const count = db.prepare('SELECT COUNT(*) AS c FROM major_categories').get().c + if (count === 0) { + const defaults = ['Trae研发', '信息化', '智能硬件'] + const stmt = db.prepare('INSERT INTO major_categories (name_enc, name_iv, name_tag) VALUES (?, ?, ?)') + defaults.forEach(name => { + const en = enc(name) + stmt.run(en.ct, en.iv, en.tag) + }) + } +} catch (e) { + console.error('Init major_categories failed:', e) +} + +const listMajorCategories = () => { + const rows = db.prepare('SELECT * FROM major_categories ORDER BY id ASC').all() + return rows.map(r => ({ + id: r.id, + name: dec(r.name_enc, r.name_iv, r.name_tag), + created_at: r.created_at, + updated_at: r.updated_at + })) +} + +const createMajorCategory = (name) => { + const en = enc(name) + const info = db.prepare('INSERT INTO major_categories (name_enc, name_iv, name_tag) VALUES (?, ?, ?)').run(en.ct, en.iv, en.tag) + return info.lastInsertRowid +} + +const updateMajorCategory = (id, name) => { + const en = enc(name) + db.prepare("UPDATE major_categories SET name_enc=?, name_iv=?, name_tag=?, updated_at=datetime('now') WHERE id=?").run(en.ct, en.iv, en.tag, parseInt(id, 10)) +} + +const deleteMajorCategory = (id) => { + db.prepare('DELETE FROM major_categories WHERE id=?').run(parseInt(id, 10)) +} + +const bindRoutes = (app) => { + const parseCookie = (cookieStr) => { + const out = {} + String(cookieStr||'').split(/;\s*/).forEach(p=>{ const idx=p.indexOf('='); if (idx>0) out[p.slice(0,idx)] = decodeURIComponent(p.slice(idx+1)) }) + return out + } + const mustAuth = (req, res) => { + try { + const cookies = parseCookie(req.headers.cookie||'') + const raw = cookies[authCookieName] + if (!raw) return false + let obj = null + try { obj = JSON.parse(raw) } catch {} + if (!obj || !obj.payload || !obj.sig) return false + return verify(obj.payload, obj.sig) + } catch { return false } + } + app.post('/api/ai-lib/auth/login', (req, res) => { + const body = req.body||{} + const r = login(String(body.username||''), String(body.password||'')) + if (!r.ok) return res.status(401).json(r) + const payload = { uid: r.user.id, u: r.user.username, iat: Date.now() } + const sig = sign(payload) + res.cookie(authCookieName, JSON.stringify({ payload, sig }), { httpOnly: true, sameSite:'lax', maxAge: 86400000 }) + logJSON('ai-lib.auth.login', { username: r.user.username }, 'ai-lib') + res.json({ ok:true, user: r.user }) + }) + app.post('/api/ai-lib/auth/logout', (req, res) => { + res.clearCookie(authCookieName) + res.json({ ok:true }) + }) + app.get('/api/ai-lib/auth/local_creds', (req, res) => { + try { + const os = require('os') + const userProfile = process.env.USERPROFILE || process.env.HOME || os.homedir() + const candidates = [path.join(userProfile, 'Toolbox_local_creds.env.local')] + const usersRoot = path.join(path.parse(userProfile).root, 'Users') + try { + if (fs.existsSync(usersRoot)) { + fs.readdirSync(usersRoot).forEach(name => { + const dir = path.join(usersRoot, name) + if (dir !== userProfile && fs.existsSync(dir)) candidates.push(path.join(dir, 'Toolbox_local_creds.env.local')) + }) + } + } catch {} + let content = null + for (const p of candidates) { if (fs.existsSync(p)) { content = fs.readFileSync(p, 'utf-8'); break } } + if (!content) return res.json({ ok: true, creds: null }) + const creds = {} + content.split(/\r?\n/).forEach(line => { + const t = line.trim() + if (!t || t.startsWith('#')) return + const idx = t.indexOf('=') + if (idx > 0) creds[t.slice(0, idx).trim()] = t.slice(idx + 1).trim() + }) + const serverToken = String(creds.TOOLBOX_LOCAL_CREDS_TOKEN || '') + if (serverToken) { + const clientToken = String(req.query.token || '') + if (clientToken !== serverToken) return res.json({ ok: true, creds: null }) + } + const u = creds.AILIB_USERNAME || '' + const p = creds.AILIB_PASSWORD || '' + if (!u && !p) return res.json({ ok: true, creds: null }) + res.json({ ok: true, creds: { username: u, password: p } }) + } catch { res.json({ ok: true, creds: null }) } + }) + app.post('/api/ai-lib/auth/change', (req, res) => { + const body = req.body||{} + const r = changePassword(String(body.username||''), String(body.old_password||''), String(body.new_password||'')) + if (!r.ok) return res.status(400).json(r) + res.json({ ok:true }) + }) + + app.get('/api/ai-lib/debug/counts', (req, res) => { + if (!mustAuth(req,res)) return res.status(401).json({ ok:false, error:'unauthorized' }); + try { + const systems = db.prepare(`SELECT COUNT(*) AS c FROM systems`).get().c; + const modules = db.prepare(`SELECT COUNT(*) AS c FROM modules`).get().c; + const notes = db.prepare(`SELECT COUNT(*) AS c FROM notes`).get().c; + const attachments = db.prepare(`SELECT COUNT(*) AS c FROM attachments`).get().c; + res.json({ ok: true, counts: { systems, modules, notes, attachments } }); + } catch (e) { + res.status(500).json({ ok: false, error: String(e.message || e) }); + } + }); + + app.get('/api/ai-lib/systems', (req, res) => { + if (!mustAuth(req,res)) return res.status(401).json({ ok:false, error:'unauthorized' }) + res.json({ ok:true, rows: listSystems() }) + }) + app.post('/api/ai-lib/systems', (req, res) => { + if (!mustAuth(req,res)) return res.status(401).json({ ok:false, error:'unauthorized' }) + const body = req.body||{} + const name = String(body.name||'').trim() + const intro = String(body.intro||'').trim() + const major_category = String(body.major_category||'').trim() + if (!name || !intro) return res.status(400).json({ ok:false, error:'empty_fields' }) + const id = createSystem({ name, intro, major_category }) + res.json({ ok:true, id }) + }) + app.put('/api/ai-lib/systems/:id', (req, res) => { + if (!mustAuth(req,res)) return res.status(401).json({ ok:false, error:'unauthorized' }) + const raw = Object.assign({}, req.body||{}, { id: parseInt(req.params.id,10) }) + const name = String(raw.name||'').trim() + const intro = String(raw.intro||'').trim() + const major_category = String(raw.major_category||'').trim() + if (!name || !intro) return res.status(400).json({ ok:false, error:'empty_fields' }) + updateSystem({ id: raw.id, name, intro, major_category }) + res.json({ ok:true }) + }) + app.delete('/api/ai-lib/systems/:id', (req, res) => { + if (!mustAuth(req,res)) return res.status(401).json({ ok:false, error:'unauthorized' }) + deleteSystem(parseInt(req.params.id,10)) + res.json({ ok:true }) + }) + + app.get('/api/ai-lib/categories', (req, res) => { + if (!mustAuth(req,res)) return res.status(401).json({ ok:false, error:'unauthorized' }) + res.setHeader('Cache-Control', 'no-store') + res.json({ ok:true, rows: listMajorCategories() }) + }) + app.post('/api/ai-lib/categories', (req, res) => { + if (!mustAuth(req,res)) return res.status(401).json({ ok:false, error:'unauthorized' }) + const name = String(req.body.name || '').trim() + if (!name) return res.status(400).json({ ok:false, error:'empty_name' }) + const id = createMajorCategory(name) + res.json({ ok:true, id }) + }) + app.put('/api/ai-lib/categories/:id', (req, res) => { + if (!mustAuth(req,res)) return res.status(401).json({ ok:false, error:'unauthorized' }) + const name = String(req.body.name || '').trim() + if (!name) return res.status(400).json({ ok:false, error:'empty_name' }) + updateMajorCategory(req.params.id, name) + res.json({ ok:true }) + }) + app.delete('/api/ai-lib/categories/:id', (req, res) => { + if (!mustAuth(req,res)) return res.status(401).json({ ok:false, error:'unauthorized' }) + deleteMajorCategory(req.params.id) + res.json({ ok:true }) + }) + + app.get('/api/ai-lib/modules', (req, res) => { + if (!mustAuth(req,res)) return res.status(401).json({ ok:false, error:'unauthorized' }) + const sid = parseInt(String(req.query.system_id||'0'),10) + res.json({ ok:true, rows: listModules(sid) }) + }) + app.post('/api/ai-lib/modules', (req, res) => { + if (!mustAuth(req,res)) return res.status(401).json({ ok:false, error:'unauthorized' }) + const b = req.body||{} + const sid = parseInt(b.system_id,10) + const name = String(b.name||'').trim() + const description = String(b.description||'').trim() + const server_addr = String(b.server_addr||'').trim() + const portStr = String(b.server_port||'').trim() + const server_port = parseInt(portStr||'0',10) + const code_type = String(b.code_type||'').trim() + const deploy_method = String(b.deploy_method||'').trim() + const software_versions = String(b.software_versions||'').trim() + if (!sid || !name || !description || !server_addr || !portStr || !(server_port>0) || !code_type || !deploy_method || !software_versions) return res.status(400).json({ ok:false, error:'empty_fields' }) + const id = createModule({ system_id: sid, name, description, server_addr, server_port, code_type, deploy_method, software_versions }) + res.json({ ok:true, id }) + }) + app.put('/api/ai-lib/modules/:id', (req, res) => { + if (!mustAuth(req,res)) return res.status(401).json({ ok:false, error:'unauthorized' }) + const r = Object.assign({}, req.body||{}, { id: parseInt(req.params.id,10) }) + const name = String(r.name||'').trim() + const description = String(r.description||'').trim() + const server_addr = String(r.server_addr||'').trim() + const portStr = String(r.server_port||'').trim() + const server_port = parseInt(portStr||'0',10) + const code_type = String(r.code_type||'').trim() + const deploy_method = String(r.deploy_method||'').trim() + const software_versions = String(r.software_versions||'').trim() + if (!name || !description || !server_addr || !portStr || !(server_port>0) || !code_type || !deploy_method || !software_versions) return res.status(400).json({ ok:false, error:'empty_fields' }) + updateModule({ id: r.id, name, description, server_addr, server_port, code_type, deploy_method, software_versions }) + res.json({ ok:true }) + }) + app.delete('/api/ai-lib/modules/:id', (req, res) => { + if (!mustAuth(req,res)) return res.status(401).json({ ok:false, error:'unauthorized' }) + deleteModule(parseInt(req.params.id,10)) + res.json({ ok:true }) + }) + + app.get('/api/ai-lib/notes', (req, res) => { + if (!mustAuth(req,res)) return res.status(401).json({ ok:false, error:'unauthorized' }) + const mid = parseInt(String(req.query.module_id||'0'),10) + res.json({ ok:true, rows: listNotes(mid) }) + }) + app.post('/api/ai-lib/notes', (req, res) => { + if (!mustAuth(req,res)) return res.status(401).json({ ok:false, error:'unauthorized' }) + const b = req.body||{} + const mid = parseInt(b.module_id,10) + const note_type = String(b.note_type||'').trim() + const content = String(b.content||'').trim() + if (!mid || !note_type || !content) return res.status(400).json({ ok:false, error:'empty_fields' }) + const id = createNote({ module_id: mid, note_type, content }) + res.json({ ok:true, id }) + }) + app.put('/api/ai-lib/notes/:id', (req, res) => { + if (!mustAuth(req,res)) return res.status(401).json({ ok:false, error:'unauthorized' }) + const r = Object.assign({}, req.body||{}, { id: parseInt(req.params.id,10) }) + const note_type = String(r.note_type||'').trim() + const content = String(r.content||'').trim() + if (!note_type || !content) return res.status(400).json({ ok:false, error:'empty_fields' }) + updateNote({ id: r.id, note_type, content }) + res.json({ ok:true }) + }) + app.delete('/api/ai-lib/notes/:id', (req, res) => { + if (!mustAuth(req,res)) return res.status(401).json({ ok:false, error:'unauthorized' }) + deleteNote(parseInt(req.params.id,10)) + res.json({ ok:true }) + }) + + app.get('/api/ai-lib/attachments', (req, res) => { + if (!mustAuth(req,res)) return res.status(401).json({ ok:false, error:'unauthorized' }) + const nid = parseInt(String(req.query.note_id||'0'),10) + res.json({ ok:true, rows: listAttachments(nid) }) + }) + app.post('/api/ai-lib/attachments/upload', require('express').raw({ type:'application/octet-stream', limit:'200mb' }), (req, res) => { + try { + if (!mustAuth(req,res)) return res.status(401).json({ ok:false, error:'unauthorized' }) + const note_id = parseInt(String(req.query.note_id||'0'),10) + const filename = String(req.query.filename||'file.bin') + const mime = String(req.query.mime||'application/octet-stream') + const raw = req.body || Buffer.alloc(0) + const id = saveAttachmentChunk(note_id, filename, mime, raw) + res.json({ ok:true, id }) + } catch (e) { + res.status(500).json({ ok:false, error: String(e.message||e) }) + } + }) + app.post('/api/ai-lib/attachments/chunk', require('express').raw({ type:'application/octet-stream', limit:'200mb' }), (req, res) => { + try { + if (!mustAuth(req,res)) return res.status(401).json({ ok:false, error:'unauthorized' }) + const note_id = parseInt(String(req.query.note_id||'0'),10) + const filename = String(req.query.filename||'file.bin') + const mime = String(req.query.mime||'application/octet-stream') + const idx = parseInt(String(req.query.index||'0'),10) + const total = parseInt(String(req.query.total||'1'),10) + const uploadId = String(req.query.upload_id||'') || `${Date.now()}-${Math.random().toString(36).slice(2)}` + const chunkDir = path.join(process.cwd(), 'uploads', 'ai-lib', 'chunks', uploadId) + if (!fs.existsSync(chunkDir)) fs.mkdirSync(chunkDir, { recursive: true }) + const raw = req.body || Buffer.alloc(0) + const out = path.join(chunkDir, `${String(idx).padStart(6,'0')}.part`) + fs.writeFileSync(out, raw) + const metaPath = path.join(chunkDir, 'meta.json') + let meta = { note_id, filename, mime, total, size: 0 } + try { meta = JSON.parse(fs.readFileSync(metaPath, 'utf-8')) } catch {} + meta.note_id = note_id; meta.filename = filename; meta.mime = mime; meta.total = total; meta.size += raw.length + fs.writeFileSync(metaPath, JSON.stringify(meta)) + logJSON('ai-lib.upload.chunk', { uploadId, idx, total, size: raw.length, filename }, 'ai-lib') + if (idx+1 === total) { + const parts = fs.readdirSync(chunkDir).filter(n=>/\.part$/.test(n)).sort() + const buffers = [] + for (const p of parts) buffers.push(fs.readFileSync(path.join(chunkDir, p))) + const combined = Buffer.concat(buffers) + const id = saveAttachmentChunk(note_id, filename, mime, combined) + fs.rmSync(chunkDir, { recursive: true, force: true }) + logJSON('ai-lib.upload.finalize', { uploadId, parts: parts.length, totalSize: combined.length, attachment_id: id }, 'ai-lib') + return res.json({ ok:true, done:true, id }) + } + res.json({ ok:true, upload_id: uploadId, index: idx }) + } catch (e) { + res.status(500).json({ ok:false, error:String(e.message||e) }) + } + }) + app.get('/api/ai-lib/attachments/:id/download', (req, res) => { + try { + if (!mustAuth(req,res)) return res.status(401).json({ ok:false, error:'unauthorized' }) + const id = parseInt(req.params.id,10) + const r = db.prepare(`SELECT * FROM attachments WHERE id=?`).get(id) + if (!r) return res.status(404).json({ ok:false, error:'not_found' }) + const filename = dec(r.filename_enc, r.filename_iv, r.filename_tag) || 'file.bin' + const mime = dec(r.mime_enc, r.mime_iv, r.mime_tag) || 'application/octet-stream' + const full = dec(r.store_enc, r.store_iv, r.store_tag) + const raw = fs.readFileSync(full) + const iv = raw.slice(0,12) + const tag = raw.slice(12,28) + const ct = raw.slice(28) + const decipher = crypto.createDecipheriv('aes-256-gcm', deriveKey(), iv) + decipher.setAuthTag(tag) + const buf = Buffer.concat([decipher.update(ct), decipher.final()]) + res.setHeader('Content-Type', mime) + const ascii = filename.replace(/[^a-zA-Z0-9._-]/g,'_') + const utf8 = encodeURIComponent(filename) + res.setHeader('Content-Disposition', `attachment; filename="${ascii}"; filename*=UTF-8''${utf8}`) + res.send(buf) + } catch (e) { res.status(500).json({ ok:false, error:String(e.message||e) }) } + }) +} + +module.exports = { bindRoutes, getAttachmentDataByStoredPath } diff --git a/src/server/apple_watch.js b/src/server/apple_watch.js new file mode 100644 index 0000000..6544ed3 --- /dev/null +++ b/src/server/apple_watch.js @@ -0,0 +1,1138 @@ +const Database = require('better-sqlite3') +const path = require('path') +const fs = require('fs') +const crypto = require('crypto') +const readline = require('readline') + +let db = null + +const EXPORT_ROOT = path.join(process.cwd(), 'public', 'tools', 'apple_watch', 'apple_health_export') + +const toIsoOffset = (s) => { + if (!s) return '' + const raw = String(s).trim() + if (raw.includes('T') && raw.includes(':')) return raw + const m = raw.match(/^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})([+-]\d{4})?$/) + if (m) { + const off = m[7] ? `${m[7].slice(0, 3)}:${m[7].slice(3)}` : '' + return `${m[1]}-${m[2]}-${m[3]}T${m[4]}:${m[5]}:${m[6]}${off}` + } + const t = raw.match(/^(\d{4})-(\d{2})-(\d{2})[ T](\d{2}):(\d{2})(?::(\d{2}))?(?:\.\d+)?(?:\s*([+-]\d{4}|Z))?$/) + if (t) { + const sec = t[6] ? t[6] : '00' + let off = '' + if (t[7]) { + off = t[7] === 'Z' ? 'Z' : `${t[7].slice(0, 3)}:${t[7].slice(3)}` + } + return `${t[1]}-${t[2]}-${t[3]}T${t[4]}:${t[5]}:${sec}${off}` + } + const d = raw.match(/^(\d{4})(\d{2})(\d{2})$/) + if (d) return `${d[1]}-${d[2]}-${d[3]}T00:00:00` + return raw +} + +const toDateOnly = (s) => { + if (!s) return '' + return String(s).slice(0, 10) +} + +const sha1 = (s) => crypto.createHash('sha1').update(String(s || '')).digest('hex') + +function initDb(dbPath) { + const dir = path.dirname(dbPath) + if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true }) + db = new Database(dbPath) + db.exec(` + CREATE TABLE IF NOT EXISTS apple_watch_import_batches ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + source_path TEXT NOT NULL, + source_mtime INTEGER NOT NULL, + source_size INTEGER NOT NULL, + imported_at TEXT NOT NULL, + record_count INTEGER DEFAULT 0, + type_count INTEGER DEFAULT 0 + ); + CREATE TABLE IF NOT EXISTS apple_watch_raw_records ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + uuid TEXT NOT NULL UNIQUE, + type TEXT NOT NULL, + value_num REAL, + value_text TEXT, + unit TEXT, + start_time TEXT, + end_time TEXT, + source_name TEXT, + source_version TEXT, + metadata_json TEXT, + batch_id INTEGER + ); + CREATE TABLE IF NOT EXISTS apple_watch_type_stats ( + type TEXT PRIMARY KEY, + record_count INTEGER DEFAULT 0, + total_value REAL DEFAULT 0, + avg_value REAL DEFAULT 0, + day_count INTEGER DEFAULT 0, + first_time TEXT, + last_time TEXT, + unit TEXT + ); + CREATE TABLE IF NOT EXISTS apple_watch_routes ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + file_name TEXT NOT NULL UNIQUE, + route_time TEXT, + point_count INTEGER DEFAULT 0, + distance_km REAL DEFAULT 0, + duration_min REAL DEFAULT 0 + ); + CREATE TABLE IF NOT EXISTS apple_watch_ecg_records ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + file_name TEXT NOT NULL UNIQUE, + record_time TEXT, + classification TEXT, + sampling_rate REAL, + device TEXT, + lead TEXT, + unit TEXT, + sample_count INTEGER DEFAULT 0 + ); + CREATE TABLE IF NOT EXISTS apple_watch_daily_agg ( + date TEXT PRIMARY KEY, + steps REAL DEFAULT 0, + active_energy REAL DEFAULT 0, + exercise_minutes REAL DEFAULT 0, + stand_minutes REAL DEFAULT 0, + basal_energy REAL DEFAULT 0, + distance_km REAL DEFAULT 0, + avg_hr REAL, + min_hr REAL, + max_hr REAL, + avg_resp REAL, + weight_kg REAL + ); + CREATE TABLE IF NOT EXISTS apple_watch_workouts ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + start_time TEXT, + end_time TEXT, + duration_min REAL, + distance_km REAL, + energy_kcal REAL, + activity_type TEXT, + source_name TEXT, + source_version TEXT + ); + CREATE TABLE IF NOT EXISTS apple_watch_daily_extra ( + date TEXT PRIMARY KEY, + sleep_asleep_min REAL DEFAULT 0, + sleep_in_bed_min REAL DEFAULT 0, + stand_hours INTEGER DEFAULT 0, + workout_minutes REAL DEFAULT 0, + workout_distance_km REAL DEFAULT 0, + workout_energy_kcal REAL DEFAULT 0 + ); + `) + try { + db.exec(`CREATE INDEX IF NOT EXISTS idx_apple_watch_raw_type_time ON apple_watch_raw_records(type, start_time)`) + db.exec(`CREATE INDEX IF NOT EXISTS idx_apple_watch_raw_date ON apple_watch_raw_records(start_time)`) + db.exec(`CREATE INDEX IF NOT EXISTS idx_apple_watch_workouts_time ON apple_watch_workouts(start_time)`) + } catch {} + try { db.exec(`ALTER TABLE apple_watch_daily_extra ADD COLUMN workout_minutes REAL DEFAULT 0`) } catch {} + try { db.exec(`ALTER TABLE apple_watch_daily_extra ADD COLUMN workout_distance_km REAL DEFAULT 0`) } catch {} + try { db.exec(`ALTER TABLE apple_watch_daily_extra ADD COLUMN workout_energy_kcal REAL DEFAULT 0`) } catch {} + try { db.exec(`ALTER TABLE apple_watch_type_stats ADD COLUMN total_value REAL DEFAULT 0`) } catch {} + try { db.exec(`ALTER TABLE apple_watch_type_stats ADD COLUMN avg_value REAL DEFAULT 0`) } catch {} + try { db.exec(`ALTER TABLE apple_watch_type_stats ADD COLUMN day_count INTEGER DEFAULT 0`) } catch {} + try { db.exec(`ALTER TABLE apple_watch_daily_extra ADD COLUMN sleep_rem_min REAL DEFAULT 0`) } catch {} + try { db.exec(`ALTER TABLE apple_watch_daily_extra ADD COLUMN sleep_core_min REAL DEFAULT 0`) } catch {} + try { db.exec(`ALTER TABLE apple_watch_daily_extra ADD COLUMN sleep_deep_min REAL DEFAULT 0`) } catch {} + try { db.exec(`ALTER TABLE apple_watch_daily_extra ADD COLUMN sleep_awake_min REAL DEFAULT 0`) } catch {} + try { db.exec(`ALTER TABLE apple_watch_daily_agg ADD COLUMN avg_hrv_sdnn REAL DEFAULT 0`) } catch {} + try { db.exec(`ALTER TABLE apple_watch_daily_agg ADD COLUMN avg_resting_hr REAL DEFAULT 0`) } catch {} + try { db.exec(`ALTER TABLE apple_watch_daily_agg ADD COLUMN avg_walking_hr REAL DEFAULT 0`) } catch {} + try { db.exec(`ALTER TABLE apple_watch_type_stats ADD COLUMN total_value REAL DEFAULT 0`) } catch {} + try { db.exec(`ALTER TABLE apple_watch_type_stats ADD COLUMN avg_value REAL DEFAULT 0`) } catch {} + try { db.exec(`ALTER TABLE apple_watch_type_stats ADD COLUMN day_count INTEGER DEFAULT 0`) } catch {} +} + +const pickLatestExportDir = () => { + if (!fs.existsSync(EXPORT_ROOT)) return '' + // 1. Check if export.xml or export_cda.xml exists directly in root + if (fs.existsSync(path.join(EXPORT_ROOT, 'export.xml')) || fs.existsSync(path.join(EXPORT_ROOT, 'export_cda.xml'))) { + return EXPORT_ROOT + } + // 2. Otherwise check subdirectories + const entries = fs.readdirSync(EXPORT_ROOT, { withFileTypes: true }) + const dirs = entries.filter(e => e.isDirectory()).map(e => path.join(EXPORT_ROOT, e.name)) + if (!dirs.length) return '' + dirs.sort((a, b) => fs.statSync(b).mtimeMs - fs.statSync(a).mtimeMs) + return dirs[0] +} + +const readCdaPath = (dir) => { + if (!dir) return '' + const p = path.join(dir, 'export_cda.xml') + return fs.existsSync(p) ? p : '' +} + +const readExportXmlPath = (dir) => { + if (!dir) return '' + // 1. Try standard names first + const standardNames = ['export.xml', '导出.xml', 'apple_health_export.xml'] + for (const name of standardNames) { + const p = path.join(dir, name) + if (fs.existsSync(p)) return p + } + + // 2. Fallback: Find largest XML that is NOT export_cda.xml + try { + const entries = fs.readdirSync(dir) + const candidates = entries + .filter(f => f.toLowerCase().endsWith('.xml') && f.toLowerCase() !== 'export_cda.xml') + .map(f => ({ name: f, size: fs.statSync(path.join(dir, f)).size })) + .sort((a, b) => b.size - a.size) + + if (candidates.length > 0) return path.join(dir, candidates[0].name) + } catch (e) { + console.error('[AppleWatch] Error finding export xml:', e) + } + + return '' +} + +const parseCdaFile = async (filePath, batchId) => { + const insertRaw = db.prepare(` + INSERT OR IGNORE INTO apple_watch_raw_records + (uuid, type, value_num, value_text, unit, start_time, end_time, source_name, source_version, metadata_json, batch_id) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + `) + let inserted = 0 + let batch = [] + const flush = () => { + if (!batch.length) return + const run = db.transaction((rows) => { + for (const r of rows) { + const info = insertRaw.run(r.uuid, r.type, r.value_num, r.value_text, r.unit, r.start_time, r.end_time, r.source_name, r.source_version, r.metadata_json, batchId) + if (info.changes > 0) inserted += 1 + } + }) + run(batch) + batch = [] + } + const input = fs.createReadStream(filePath, 'utf-8') + const rl = readline.createInterface({ input, crlfDelay: Infinity }) + let inObs = false + let cur = null + let inMetadata = false + let metaKey = '' + for await (const lineRaw of rl) { + const line = String(lineRaw || '').trim() + if (!inObs && line.includes('')) { + if (cur && cur.type) { + const start = toIsoOffset(cur.start_time) + const end = toIsoOffset(cur.end_time || cur.start_time) + const valueKey = cur.value_num !== null ? cur.value_num : cur.value_text + const metaJson = Object.keys(cur.metadata).length ? JSON.stringify(cur.metadata) : '' + const uuid = sha1([cur.type, start, end, valueKey, cur.unit, cur.source_name, cur.source_version, metaJson].join('|')) + batch.push({ + uuid, + type: cur.type, + value_num: cur.value_num, + value_text: cur.value_text, + unit: cur.unit, + start_time: start, + end_time: end, + source_name: cur.source_name, + source_version: cur.source_version, + metadata_json: metaJson + }) + if (batch.length >= 2000) flush() + } + inObs = false + cur = null + inMetadata = false + metaKey = '' + continue + } + if (!cur) continue + if (line.includes('')) { + inMetadata = true + metaKey = '' + continue + } + if (line.includes('')) { + inMetadata = false + metaKey = '' + continue + } + if (inMetadata) { + const k = line.match(/([^<]+)<\/key>/) + if (k) { + metaKey = String(k[1] || '').trim() + continue + } + const v = line.match(/([^<]+)<\/value>/) + if (v && metaKey) { + cur.metadata[metaKey] = String(v[1] || '').trim() + } + continue + } + const sourceName = line.match(/([^<]*)<\/sourceName>/) + if (sourceName) cur.source_name = String(sourceName[1] || '').trim() + const sourceVersion = line.match(/([^<]*)<\/sourceVersion>/) + if (sourceVersion) cur.source_version = String(sourceVersion[1] || '').trim() + const type = line.match(/([^<]+)<\/type>/) + if (type) cur.type = String(type[1] || '').trim() + const unit = line.match(/([^<]+)<\/unit>/) + if (unit) cur.unit = String(unit[1] || '').trim() + const valueTag = line.match(/([^<]+)<\/value>/) + if (valueTag) { + const valText = String(valueTag[1] || '').trim() + const valNum = Number(valText) + if (!Number.isNaN(valNum) && valText !== '') cur.value_num = valNum + cur.value_text = valText + } + const valueAttr = line.match(/]*value="([^"]+)"[^>]*unit="([^"]*)"/) + if (valueAttr) { + const v = Number(valueAttr[1]) + if (!Number.isNaN(v)) cur.value_num = v + if (!cur.unit) cur.unit = String(valueAttr[2] || '').trim() + } + const low = line.match(/]*code="([^"]+)"[^>]*displayName="([^"]*)"/) + if (codeValue) { + cur.value_text = String(codeValue[2] || codeValue[1] || '').trim() + } + } + flush() + return { inserted } +} + +const parseExportXml = async (filePath, batchId) => { + const insertRaw = db.prepare(` + INSERT OR IGNORE INTO apple_watch_raw_records + (uuid, type, value_num, value_text, unit, start_time, end_time, source_name, source_version, metadata_json, batch_id) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + `) + let inserted = 0 + let batch = [] + const flush = () => { + if (!batch.length) return + const run = db.transaction((rows) => { + for (const r of rows) { + const info = insertRaw.run(r.uuid, r.type, r.value_num, r.value_text, r.unit, r.start_time, r.end_time, r.source_name, r.source_version, r.metadata_json, batchId) + if (info.changes > 0) inserted += 1 + } + }) + run(batch) + batch = [] + } + const parseAttrs = (line) => { + const attrs = {} + const re = /(\w+)="([^"]*)"/g + let m + while ((m = re.exec(line)) !== null) attrs[m[1]] = m[2] + return attrs + } + const input = fs.createReadStream(filePath, 'utf-8') + const rl = readline.createInterface({ input, crlfDelay: Infinity }) + let inRecord = false + let cur = null + let inWorkout = false + let workoutCur = null + const workouts = [] + const pushWorkout = (w) => { + const start = toIsoOffset(w.start_time || '') + const end = toIsoOffset(w.end_time || w.start_time || '') + workouts.push({ + start_time: start, + end_time: end, + duration_min: Number.isFinite(w.duration_min) ? w.duration_min : null, + distance_km: Number.isFinite(w.distance_km) ? w.distance_km : null, + energy_kcal: Number.isFinite(w.energy_kcal) ? w.energy_kcal : null, + activity_type: w.activity_type || '', + source_name: w.source_name || '', + source_version: w.source_version || '' + }) + } + const parseNumber = (x) => { const n = Number(String(x || '').replace(/[^\d.-]/g, '')); return Number.isFinite(n) ? n : null } + const convertDurationMin = (value, unit) => { + const v = parseNumber(value) + if (!Number.isFinite(v)) return null + const u = String(unit || '').toLowerCase() + if (u === 'sec' || u === 's') return v / 60 + if (u === 'hr' || u === 'h' || u === 'hour') return v * 60 + return v + } + const convertDistanceKm = (value, unit) => { + const v = parseNumber(value) + if (!Number.isFinite(v)) return null + const u = String(unit || '').toLowerCase() + if (u === 'mi' || u === 'mile') return v * 1.60934 + if (u === 'm') return v / 1000 + return v + } + const convertEnergyKcal = (value, unit) => { + const v = parseNumber(value) + if (!Number.isFinite(v)) return null + const u = String(unit || '').toLowerCase() + if (u === 'kj') return v * 0.239006 + if (u === 'cal') return v / 1000 + return v + } + for await (const lineRaw of rl) { + const line = String(lineRaw || '').trim() + if (line.includes('')) { + pushWorkout(workoutCur) + workoutCur = null + } else { + inWorkout = true + } + continue + } + if (inWorkout) { + if (line.includes('')) { + pushWorkout(workoutCur || {}) + workoutCur = null + inWorkout = false + continue + } + if (line.includes('= 2000) flush() + continue + } + if (!inRecord && line.includes('')) { + const start = toIsoOffset(cur.start_time) + const end = toIsoOffset(cur.end_time || cur.start_time) + const metaJson = '' + const uuid = sha1([cur.type, start, end, cur.value_num !== null ? cur.value_num : cur.value_text, cur.unit, cur.source_name, cur.source_version, metaJson].join('|')) + batch.push({ + uuid, + type: cur.type, + value_num: cur.value_num, + value_text: cur.value_text, + unit: cur.unit, + start_time: start, + end_time: end, + source_name: cur.source_name, + source_version: cur.source_version, + metadata_json: metaJson + }) + if (batch.length >= 2000) flush() + cur = null + } else { + inRecord = true + } + continue + } + if (!inRecord || !cur) continue + if (line.includes('')) { + const start = toIsoOffset(cur.start_time) + const end = toIsoOffset(cur.end_time || cur.start_time) + const metaJson = Object.keys(cur.metadata).length ? JSON.stringify(cur.metadata) : '' + const uuid = sha1([cur.type, start, end, cur.value_num !== null ? cur.value_num : cur.value_text, cur.unit, cur.source_name, cur.source_version, metaJson].join('|')) + batch.push({ + uuid, + type: cur.type, + value_num: cur.value_num, + value_text: cur.value_text, + unit: cur.unit, + start_time: start, + end_time: end, + source_name: cur.source_name, + source_version: cur.source_version, + metadata_json: metaJson + }) + if (batch.length >= 2000) flush() + inRecord = false + cur = null + } + } + flush() + if (workouts.length) { + const stmt = db.prepare(` + INSERT INTO apple_watch_workouts + (start_time, end_time, duration_min, distance_km, energy_kcal, activity_type, source_name, source_version) + VALUES (?, ?, ?, ?, ?, ?, ?, ?) + `) + const run = db.transaction((rows) => { + for (const r of rows) stmt.run(r.start_time, r.end_time, r.duration_min, r.distance_km, r.energy_kcal, r.activity_type, r.source_name, r.source_version) + }) + run(workouts) + } + return { inserted } +} + +const importEcg = (dir) => { + const ecgDir = path.join(dir, 'electrocardiograms') + if (!fs.existsSync(ecgDir)) return 0 + const files = fs.readdirSync(ecgDir).filter(f => f.toLowerCase().endsWith('.csv')) + if (!files.length) return 0 + const stmt = db.prepare(` + INSERT OR IGNORE INTO apple_watch_ecg_records + (file_name, record_time, classification, sampling_rate, device, lead, unit, sample_count) + VALUES (?, ?, ?, ?, ?, ?, ?, ?) + `) + let inserted = 0 + const run = db.transaction((rows) => { + for (const r of rows) { + const info = stmt.run(r.file_name, r.record_time, r.classification, r.sampling_rate, r.device, r.lead, r.unit, r.sample_count) + if (info.changes > 0) inserted += 1 + } + }) + const rows = [] + for (const f of files) { + const content = fs.readFileSync(path.join(ecgDir, f), 'utf-8') + const lines = content.split(/\r?\n/) + const meta = {} + let sampleCount = 0 + for (const line of lines) { + if (!line.trim()) continue + const parts = line.split(',') + if (parts.length >= 2 && !/^-?\d/.test(parts[0].trim())) { + meta[parts[0].trim()] = parts.slice(1).join(',').trim().replace(/^"|"$/g, '') + continue + } + if (/^-?\d+(\.\d+)?/.test(line.trim())) sampleCount += 1 + } + const recTime = meta['记录日期'] ? toIsoOffset(meta['记录日期'].replace(/\s*\+\d{4}$/, m => m.replace(' ', ''))) : '' + const rate = meta['采样率'] ? Number(String(meta['采样率']).replace(/[^\d.]/g, '')) : null + rows.push({ + file_name: f, + record_time: recTime, + classification: meta['分类'] || '', + sampling_rate: Number.isFinite(rate) ? rate : null, + device: meta['设备'] || '', + lead: meta['导联'] || '', + unit: meta['单位'] || '', + sample_count: sampleCount + }) + } + if (rows.length) run(rows) + return inserted +} + +const toRad = (d) => (Number(d) * Math.PI) / 180 +const haversineKm = (a, b) => { + const R = 6371 + const dLat = toRad(b.lat - a.lat) + const dLon = toRad(b.lon - a.lon) + const lat1 = toRad(a.lat) + const lat2 = toRad(b.lat) + const x = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.cos(lat1) * Math.cos(lat2) * Math.sin(dLon / 2) * Math.sin(dLon / 2) + return 2 * R * Math.asin(Math.min(1, Math.sqrt(x))) +} + +const importRoutes = (dir) => { + const routeDir = path.join(dir, 'workout-routes') + if (!fs.existsSync(routeDir)) return 0 + const files = fs.readdirSync(routeDir).filter(f => f.toLowerCase().endsWith('.gpx')) + if (!files.length) return 0 + const stmt = db.prepare(` + INSERT OR IGNORE INTO apple_watch_routes + (file_name, route_time, point_count, distance_km, duration_min) + VALUES (?, ?, ?, ?, ?) + `) + let inserted = 0 + const run = db.transaction((rows) => { + for (const r of rows) { + const info = stmt.run(r.file_name, r.route_time, r.point_count, r.distance_km, r.duration_min) + if (info.changes > 0) inserted += 1 + } + }) + const rows = [] + for (const f of files) { + const content = fs.readFileSync(path.join(routeDir, f), 'utf-8') + const points = [] + const timeMatches = [] + const re = /]*lat="([^"]+)"[^>]*lon="([^"]+)"[^>]*>.*?
    +
    +

    🔒 TRAE-AI 个人私有安全网盘

    +
    +
    + +
    +
    +

    🔑 系统初始化

    +
    + + +
    +
    + + +
    + +
    + 本系统采用身份证实名制验证,确保数据安全。我们仅验证身份证格式,不采集其他个人信息。 +
    +
    + + + + + + + + + + + + +
    + + + + + diff --git a/public/tools/psc/login.html b/public/tools/psc/login.html new file mode 100644 index 0000000..3ef24af --- /dev/null +++ b/public/tools/psc/login.html @@ -0,0 +1,41 @@ + + + + + + Yang's 网盘 + + + + + +
    +

    Yang's 网盘

    +
    +
    +

    登录

    + + +
    +
    +
    +
    +
    + + + diff --git a/public/tools/psc/psc.svg b/public/tools/psc/psc.svg new file mode 100644 index 0000000..c01e643 --- /dev/null +++ b/public/tools/psc/psc.svg @@ -0,0 +1,3 @@ + + 💾 + \ No newline at end of file diff --git a/public/tools/psc/share.html b/public/tools/psc/share.html new file mode 100644 index 0000000..c882296 --- /dev/null +++ b/public/tools/psc/share.html @@ -0,0 +1,29 @@ + + + + + + 分享下载 + + + + +
    +

    分享下载

    +
    + + +
    +
    + + +
    + + + diff --git a/public/tools/psc/share.js b/public/tools/psc/share.js new file mode 100644 index 0000000..8b5692e --- /dev/null +++ b/public/tools/psc/share.js @@ -0,0 +1,104 @@ +function g(id){return document.getElementById(id)} +function status(t){g('status').textContent=t} +const params = new URLSearchParams(location.search) +const shareId = params.get('id') || location.pathname.split('/').filter(Boolean).pop() +const pAuto = params.get('p') +let meta=null +let fileKey=null +let sdebug=[] +function slog(){ const t=new Date().toISOString(); const msg=[t].concat([].slice.call(arguments)).join(' '); sdebug.push(msg); if(sdebug.length>200) sdebug.shift(); const el=g('shareDebug'); if(el) el.textContent=sdebug.join('\n') } +const CLIENT_VER = 'sharejs-2025-11-25-02' +slog('client.ver', CLIENT_VER) +slog('share.id', shareId) +slog('location', location.href) +async function deriveShareKey(pwd, salt){ + const material = await crypto.subtle.importKey('raw', new TextEncoder().encode(pwd), 'PBKDF2', false, ['deriveKey']) + return crypto.subtle.deriveKey({ name:'PBKDF2', hash:'SHA-256', salt, iterations:200000 }, material, { name:'AES-GCM', length:256 }, false, ['encrypt','decrypt']) +} +async function unwrapFileKey(wrappedB64, shareKey, ivB64){ + const iv = new Uint8Array([...atob(ivB64)].map(c=>c.charCodeAt(0))) + const ct = new Uint8Array([...atob(wrappedB64)].map(c=>c.charCodeAt(0))) + const pt = await crypto.subtle.decrypt({ name:'AES-GCM', iv }, shareKey, ct) + return new Uint8Array(pt) +} +async function deriveFileKeyFromBytes(bytes){ + return crypto.subtle.importKey('raw', bytes, { name:'AES-GCM', length:256 }, false, ['decrypt']) +} +async function ivForChunk(saltBytes, index){ + const data = new Uint8Array(saltBytes.length+4) + data.set(saltBytes,0) + data.set(new Uint8Array([index>>>24,(index>>>16)&255,(index>>>8)&255,index&255]), saltBytes.length) + const d = await crypto.subtle.digest('SHA-256', data) + return new Uint8Array(d).slice(0,12) +} +async function openShare(){ + const pwd = g('sharePwd').value + slog('open.pwd', pwd) + if(!pwd){status('请输入分享密码');return} + status('验证中...') + const started = performance.now() + const r = await fetch(`/api/psc/share/${shareId}/init`, { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify({ password: pwd }) }) + let j=null + try { j = await r.json() } catch(e){ j={ error:'bad_json' } } + slog('open.status', r.status); slog('open.json', JSON.stringify(j)); if(j && j.error) slog('open.json.error', j.error) + if(j && j.expected) slog('open.hash.expected', j.expected) + if(j && j.actual) slog('open.hash.actual', j.actual) + if(j && j.shareSaltB64) slog('open.shareSaltB64.len', (j.shareSaltB64||'').length) + slog('open.ms', (performance.now()-started).toFixed(2)) + if(!r.ok){ status('密码错误或分享不存在'); return } + meta = j + g('fname').textContent = j.name + g('fsize').textContent = (j.size/1048576).toFixed(2)+' MB' + const shareSalt = new Uint8Array([...atob(j.shareSaltB64)].map(c=>c.charCodeAt(0))) + const sKey = await deriveShareKey(pwd, shareSalt) + const fkBytes = await unwrapFileKey(j.wrappedKeyB64, sKey, j.ivB64) + fileKey = await deriveFileKeyFromBytes(fkBytes) + const fkHash = new Uint8Array(await crypto.subtle.digest('SHA-256', fkBytes)) + slog('fk.hash', btoa(String.fromCharCode(...fkHash))) + slog('meta.fileId', j.fileId) + slog('meta.chunkCount', j.chunkCount) + slog('unwrap.len', fkBytes.length) + g('info').classList.remove('hidden') + status('验证通过') +} +async function download(){ + if(!meta || !fileKey){ await openShare(); if(!meta || !fileKey){ status('请先验证分享'); return } } + status('开始下载') + const fileSalt = new Uint8Array([...atob(meta.fileSalt)].map(c=>c.charCodeAt(0))) + const chunks = new Array(meta.chunkCount) + let active=0, next=0, processed=0 + const maxParallel=4 + async function runOne(i){ + try { + active++ + slog('dl.req', i) + const r = await fetch(`/api/psc/share/${shareId}/chunk?index=${i}`) + slog('dl.http', r.status) + if(!r.ok){ throw new Error('http '+r.status) } + const buf = new Uint8Array(await r.arrayBuffer()) + slog('dl.buf.len', buf.length) + const iv = await ivForChunk(fileSalt,i) + slog('dl.iv.b64', btoa(String.fromCharCode(...iv))) + const pt = new Uint8Array(await crypto.subtle.decrypt({ name:'AES-GCM', iv }, fileKey, buf)) + chunks[i]=pt; processed+=pt.length; status(`已下载 ${(processed/meta.size*100).toFixed(2)}%`) + slog('dl.ok', i, pt.length) + } catch(e){ slog('dl.err', i, e && (e.message||String(e))); status('分片下载失败') } + finally { active--; schedule() } + } + function schedule(){ + slog('dl.schedule', 'active', active, 'next', next) + while(active=meta.chunkCount){ finish() } + } + function finish(){ + const out=new Uint8Array(meta.size); let off=0; for(let i=0;iURL.revokeObjectURL(a.href), 30000); status('下载完成') + } + schedule() +} +g('btnOpen').onclick=openShare +g('btnDownload').onclick=download +if(pAuto){ g('sharePwd').value = pAuto; slog('auto.p', pAuto); openShare() } +const btnCopy = document.getElementById('btnCopyShareDebug'); if(btnCopy){ btnCopy.onclick = async()=>{ try{ await navigator.clipboard.writeText((g('shareDebug')?.textContent)||''); status('调试信息已复制') } catch{ status('请手动复制调试信息') } } } +document.addEventListener('visibilitychange', ()=>{ if(document.visibilityState==='visible'){ const inputs = Array.from(document.querySelectorAll('input,textarea')); inputs.forEach(el=>{ if(el.type==='checkbox' || el.type==='radio'){ el.checked=false } else { el.value='' } }) } }) diff --git a/public/tools/psc/style.css b/public/tools/psc/style.css new file mode 100644 index 0000000..18b8ab1 --- /dev/null +++ b/public/tools/psc/style.css @@ -0,0 +1,606 @@ +/* 简约扁平化风格 - 现代化网盘系统 */ +:root { + --primary-color: #1677ff; + --primary-hover: #4096ff; + --success-color: #52c41a; + --warning-color: #faad14; + --error-color: #ff4d4f; + --text-primary: #262626; + --text-secondary: #595959; + --text-tertiary: #8c8c8c; + --border-color: #d9d9d9; + --background-primary: #ffffff; + --background-secondary: #fafafa; + --background-tertiary: #f5f5f5; + --shadow-light: 0 2px 8px rgba(0, 0, 0, 0.06); + --shadow-medium: 0 4px 16px rgba(0, 0, 0, 0.12); + --shadow-heavy: 0 8px 32px rgba(0, 0, 0, 0.15); + --border-radius-sm: 6px; + --border-radius-md: 8px; + --border-radius-lg: 12px; + --transition-fast: 0.2s ease; + --transition-normal: 0.3s ease; +} + +* { + box-sizing: border-box; +} + +body { + font-family: 'PingFang SC', 'Microsoft YaHei', 'Segoe UI', system-ui, sans-serif; + margin: 0; + background: linear-gradient(135deg, #f0f2f5 0%, #e6f7ff 100%); + min-height: 100vh; + color: var(--text-primary); +} + +.container { + max-width: 1200px; + margin: 0 auto; + background: var(--background-primary); + border-radius: var(--border-radius-lg); + box-shadow: var(--shadow-medium); + overflow: hidden; + min-height: calc(100vh - 40px); + margin-top: 20px; + margin-bottom: 20px; +} + +/* 头部样式 */ +.header { + background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-hover) 100%); + color: white; + padding: 24px 32px; + display: flex; + justify-content: space-between; + align-items: center; +} + +.header h1 { + margin: 0; + font-size: 28px; + font-weight: 600; + letter-spacing: -0.5px; +} + +.header-info { + font-size: 14px; + opacity: 0.9; +} + +/* 主要内容区域 */ +.main-content { + padding: 32px; +} + +/* 登录/初始化区域 */ +.auth-section { + max-width: 400px; + margin: 60px auto; + text-align: center; +} + +.auth-section h2 { + color: var(--text-primary); + font-size: 24px; + margin-bottom: 24px; + font-weight: 600; +} + +/* 表单控件样式 */ +.form-group { + margin-bottom: 20px; + text-align: left; +} + +.form-label { + display: block; + margin-bottom: 8px; + font-weight: 500; + color: var(--text-secondary); + font-size: 14px; +} + +input, select, button { + transition: all var(--transition-fast); + border: 1px solid var(--border-color); + border-radius: var(--border-radius-sm); + padding: 12px 16px; + font-size: 14px; + outline: none; + width: 100%; + margin-bottom: 12px; +} + +input:focus, select:focus { + border-color: var(--primary-color); + box-shadow: 0 0 0 3px rgba(22, 119, 255, 0.1); + transform: translateY(-1px); +} + +/* 按钮样式 */ +button { + background: var(--primary-color); + color: white; + border: none; + cursor: pointer; + font-weight: 500; + letter-spacing: 0.5px; + text-transform: uppercase; + font-size: 14px; + padding: 14px 24px; + border-radius: var(--border-radius-md); + transition: all var(--transition-fast); + position: relative; + overflow: hidden; +} + +button:hover { + background: var(--primary-hover); + transform: translateY(-2px); + box-shadow: var(--shadow-medium); +} + +button:active { + transform: translateY(0); +} + +button:disabled { + background: var(--text-tertiary); + cursor: not-allowed; + transform: none; +} + +/* 工具条样式 */ +.toolbar { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 24px; + padding: 20px; + background: var(--background-secondary); + border-radius: var(--border-radius-md); + flex-wrap: wrap; + gap: 16px; +} + +.toolbar-group { + display: flex; + gap: 12px; + align-items: center; + flex-wrap: wrap; +} + +.toolbar input, .toolbar select, .toolbar button { + width: auto; + margin-bottom: 0; +} + +/* 文件表格样式 */ +table { + width: 100%; + border-collapse: separate; + border-spacing: 0; + margin-top: 0; + background: var(--background-primary); + border-radius: var(--border-radius-md); + overflow: hidden; + box-shadow: var(--shadow-light); +} + +th { + background: var(--background-secondary); + padding: 16px 12px; + text-align: left; + font-weight: 600; + color: var(--text-secondary); + font-size: 14px; + border-bottom: 1px solid var(--border-color); +} + +td { + padding: 16px 12px; + border-bottom: 1px solid var(--border-color); + transition: background-color var(--transition-fast); +} + +tr:hover td { + background: var(--background-tertiary); +} + +tr:last-child td { + border-bottom: none; +} +.tooltip { position: absolute; background: rgba(0,0,0,0.75); color: #fff; font-size: 12px; padding: 6px 8px; border-radius: 6px; pointer-events: none; box-shadow: var(--shadow-light); z-index: 10001 } +.tooltip.hidden { display: none } +td button { width: auto; display: inline-flex; align-items: center; justify-content: center; padding: 6px 8px; margin: 2px } +button.icon-btn { width: 36px; height: 36px; padding: 0; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px } + +.share-page .container { + max-width: 560px; + min-height: auto; +} + +.share-page .main-content { + padding: 20px; +} + +.share-page h2 { + margin: 0 0 12px 0; + font-size: 20px; +} + +.share-page input, .share-page button { + font-size: 14px; + padding: 10px 12px; + margin-bottom: 10px; + text-transform: none; + letter-spacing: 0; +} + +.share-page .row { + display: flex; + gap: 10px; + align-items: center; +} + +.share-page .row input { + flex: 1; + margin-bottom: 0; +} + +.share-page .row button { + width: auto; + margin-bottom: 0; + padding-left: 14px; + padding-right: 14px; +} + +.share-page #info { + margin-top: 12px; +} + +.share-page #info > div { + margin: 8px 0; +} + +.share-page .row-actions { + justify-content: flex-end; +} + +/* 隐藏类 */ +.hidden { display: none } + +/* 状态提示 */ +#status { + margin: 16px 0; + padding: 12px 16px; + border-radius: var(--border-radius-sm); + background: var(--background-secondary); + color: var(--text-secondary); + font-size: 14px; +} + +#statusTop { + background: var(--background-secondary); + padding: 8px 32px; + font-size: 12px; + color: var(--text-tertiary); + border-bottom: 1px solid var(--border-color); +} + +/* 模态框样式 */ +.modal { + position: fixed; + left: 0; top: 0; right: 0; bottom: 0; + background: rgba(0, 0, 0, 0.6); + display: flex; + align-items: center; + justify-content: center; + z-index: 10000; + backdrop-filter: blur(4px); +} + +.modal.hidden { display: none } + +.modal-content { + background: var(--background-primary); + padding: 24px; + border-radius: var(--border-radius-lg); + min-width: 400px; + max-width: 90vw; + max-height: 80vh; + overflow: auto; + box-shadow: var(--shadow-heavy); + animation: modalSlideIn 0.3s ease; +} + +@keyframes modalSlideIn { + from { + opacity: 0; + transform: translateY(-20px) scale(0.95); + } + to { + opacity: 1; + transform: translateY(0) scale(1); + } +} + +/* 其他组件样式 */ +.chips { + display: flex; + gap: 8px; + flex-wrap: wrap; + margin: 16px 0; +} + +.chip { + padding: 8px 16px; + border: 1px solid var(--border-color); + border-radius: 20px; + cursor: pointer; + user-select: none; + transition: all var(--transition-fast); + font-size: 14px; +} + +.chip:hover { + border-color: var(--primary-color); + color: var(--primary-color); +} + +.chip.active { + background: var(--primary-color); + color: white; + border-color: var(--primary-color); +} + +/* 加载动画 */ +.loading { + display: inline-block; + width: 20px; + height: 20px; + border: 2px solid rgba(255, 255, 255, 0.3); + border-top: 2px solid white; + border-radius: 50%; + animation: spin 1s linear infinite; + margin-right: 8px; +} + +@keyframes spin { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(360deg); } +} + +/* 按钮悬停动画 */ +button:hover { + background: var(--primary-hover); + transform: translateY(-2px); + box-shadow: var(--shadow-medium); +} + +button:active { + transform: translateY(0); +} + +/* 文件项悬停效果 */ +.file-item:hover { + background: var(--background-tertiary); + transform: translateX(4px); + transition: all var(--transition-fast); +} + +/* 进度条动画 */ +.progress-bar { + transition: width 0.3s ease; + background: linear-gradient(90deg, var(--primary-color), var(--primary-hover)); +} + +/* 淡入淡出动画 */ +.fade-in { + animation: fadeIn 0.3s ease; +} + +.fade-out { + animation: fadeOut 0.3s ease; +} + +@keyframes fadeIn { + from { opacity: 0; transform: translateY(10px); } + to { opacity: 1; transform: translateY(0); } +} + +@keyframes fadeOut { + from { opacity: 1; transform: translateY(0); } + to { opacity: 0; transform: translateY(-10px); } +} + +/* 卡片悬停效果 */ +.card { + transition: all var(--transition-fast); + cursor: pointer; +} + +.card:hover { + transform: translateY(-4px); + box-shadow: var(--shadow-heavy); +} + +/* 空状态样式 */ +.empty-state { + text-align: center; + padding: 60px 20px; + color: var(--text-tertiary); +} + +.empty-state-icon { + font-size: 64px; + margin-bottom: 16px; + opacity: 0.3; +} + +.empty-state h3 { + margin: 0 0 8px 0; + font-size: 18px; + font-weight: 500; +} + +.empty-state p { + margin: 0; + font-size: 14px; +} + +/* 移动端响应式 */ +@media (max-width: 768px) { + .container { + margin: 0; + border-radius: 0; + min-height: 100vh; + box-shadow: none; + } + + .header { + padding: 16px 20px; + flex-direction: column; + gap: 8px; + text-align: center; + } + + .header h1 { + font-size: 24px; + } + + .main-content { + padding: 16px; + } + + .auth-section { + margin: 40px auto; + max-width: 100%; + } + + .toolbar { + flex-direction: column; + align-items: stretch; + gap: 12px; + padding: 16px; + } + + .toolbar-group { + justify-content: center; + flex-wrap: wrap; + } + + .toolbar input, .toolbar select, .toolbar button { + width: 100%; + margin-bottom: 8px; + } + + .modal-content { + min-width: 90vw; + padding: 16px; + margin: 16px; + } + + table { + font-size: 14px; + display: block; + overflow-x: auto; + } + + th, td { + padding: 12px 8px; + white-space: nowrap; + } + + /* 移动端按钮优化 */ + button { + padding: 16px 20px; + font-size: 16px; /* 防止iOS缩放 */ + } + + input, select { + padding: 16px 12px; + font-size: 16px; /* 防止iOS缩放 */ + } + + /* 文件操作按钮优化 */ + td button { + padding: 8px 12px; + margin: 2px; + font-size: 12px; + } + + /* 空状态优化 */ + .empty-state { + padding: 40px 20px; + } + + .empty-state-icon { + font-size: 48px; + } +} + +@media (max-width: 480px) { + .header { + padding: 12px 16px; + } + + .header h1 { + font-size: 20px; + } + + .main-content { + padding: 12px; + } + + .auth-section h2 { + font-size: 20px; + } + + .toolbar { + padding: 12px; + gap: 8px; + } + + .modal-content { + padding: 12px; + margin: 8px; + } + + /* 更小的屏幕优化 */ + th, td { + padding: 8px 4px; + font-size: 12px; + } + + td button { + padding: 6px 8px; + font-size: 10px; + } + + /* 隐藏部分列在小屏幕上 */ + @media (max-width: 360px) { + th:nth-child(3), td:nth-child(3), /* 大小列 */ + th:nth-child(4), td:nth-child(4) /* 修改时间列 */ + { + display: none; + } + } +} + +/* 触摸设备优化 */ +@media (hover: none) and (pointer: coarse) { + button:hover { + transform: none; + } + + tr:hover td { + background: var(--background-primary); + } + + .chip:hover { + border-color: var(--border-color); + color: var(--text-primary); + } +} diff --git a/public/tools/rational_lock/auth_config.json b/public/tools/rational_lock/auth_config.json new file mode 100644 index 0000000..5a4c407 --- /dev/null +++ b/public/tools/rational_lock/auth_config.json @@ -0,0 +1,9 @@ +{ + "_comment": "理性锁工具的前端鉴权配置", + "enable_auth_comment": "true:启用鉴权(需 token 握手或已有会话);false:关闭鉴权", + "enable_auth": true, + "max_age_days_comment": "鉴权 Cookie 有效期(天),范围建议 1~365", + "max_age_days": 30, + "cookieName_comment": "鉴权 Cookie 名称,建议保持默认", + "cookieName": "rational_lock_gate" +} diff --git a/public/tools/rational_lock/index.html b/public/tools/rational_lock/index.html new file mode 100644 index 0000000..33f1244 --- /dev/null +++ b/public/tools/rational_lock/index.html @@ -0,0 +1,316 @@ + + + + + + 理性消费决策锁 + + + + +
    +
    +
    +
    +

    理性消费决策锁

    +

    耐用品消费需完成全量勾选与冷静期后,才可解锁购买许可

    +
    +
    + + +
    +
    +
    +
    + + +
    + + + + + diff --git a/public/tools/rational_lock/rational_lock.css b/public/tools/rational_lock/rational_lock.css new file mode 100644 index 0000000..047b0b5 --- /dev/null +++ b/public/tools/rational_lock/rational_lock.css @@ -0,0 +1,611 @@ +body { + margin: 0; + background: #f3f6fb; + color: #1f2937; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", sans-serif; +} + +.page { + max-width: 960px; + margin: 0 auto; + padding: 12px; + display: grid; + gap: 12px; +} + +.hero { + background: #111827; + color: #fff; + border-radius: 12px; + padding: 14px; +} + +.hero-main { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 12px; +} + +.hero h1 { + margin: 0 0 8px; + font-size: 22px; +} + +.hero p { + margin: 0; + opacity: .92; +} + +.hero-auth { + min-width: 320px; + display: grid; + gap: 6px; + justify-items: end; +} + +.auth-login-inline { + display: flex; + gap: 6px; + align-items: center; +} + +.auth-login-inline input { + width: 110px; + height: 34px; + border-color: #334155; + background: #0f172a; + color: #fff; +} + +.auth-login-inline input::placeholder { + color: #94a3b8; +} + +.hero-auth .btn-primary { + width: auto; + margin-top: 0; + height: 34px; + padding: 0 12px; +} + +.auth-row { + display: flex; + align-items: center; + gap: 8px; +} + +.hero-auth .auth-row .btn { + height: 34px; + padding: 0 12px; + background: #1e293b; +} + +.auth-current-user { + font-size: 13px; + color: #e2e8f0; + font-weight: 600; +} + +.hero-auth .status { + margin-top: 0; + min-height: 16px; + font-size: 12px; + color: #cbd5e1; + text-align: right; +} + +.card { + background: #fff; + border-radius: 12px; + padding: 14px; + box-shadow: 0 2px 12px rgba(17, 24, 39, 0.06); +} + +h2 { + margin: 0 0 12px; + font-size: 18px; +} + +h3 { + margin: 14px 0 8px; + font-size: 15px; +} + +label { + display: grid; + gap: 6px; + font-size: 14px; +} + +input, select, textarea { + height: 38px; + border: 1px solid #cbd5e1; + border-radius: 8px; + padding: 0 10px; + background: #fff; +} + +textarea { + min-height: 88px; + height: auto; + padding: 10px; + resize: vertical; + line-height: 1.5; +} + +.grid { + display: grid; + gap: 10px; +} + +.grid.two { + grid-template-columns: 1fr 1fr; +} + +.grid.one { + grid-template-columns: 1fr; +} + +.full { + grid-column: 1 / -1; +} + +.check-grid, .radio-grid { + display: grid; + gap: 8px; +} + +.check-grid label { + display: flex; + gap: 8px; + align-items: flex-start; +} + +.check-grid input[type="checkbox"] { + width: 16px; + height: 16px; + margin-top: 2px; +} + +.radio-grid > div { + border: 1px solid #e2e8f0; + border-radius: 8px; + padding: 10px; + display: grid; + grid-template-columns: 1fr auto auto; + align-items: center; + column-gap: 12px; +} + +.radio-grid > div > label { + display: inline-flex; + align-items: center; + gap: 6px; + white-space: nowrap; +} + +.radio-grid input[type="radio"] { + width: 16px; + height: 16px; + margin: 0; +} + +.score-box { + display: flex; + align-items: center; + font-weight: 700; + color: #0f766e; +} + +.btn { + border: 0; + border-radius: 8px; + height: 38px; + padding: 0 14px; + background: #334155; + color: #fff; + cursor: pointer; +} + +.btn:disabled { + opacity: .45; + cursor: not-allowed; +} + +.btn-soft-disabled { + opacity: .5; + cursor: pointer; +} + +.btn-primary { + width: 100%; + background: #2563eb; + margin-top: 12px; +} + +.btn-link { + height: auto; + padding: 0; + border-radius: 0; + background: transparent; + color: #1d4ed8; + text-decoration: underline; +} + +.form-actions { + margin-top: 12px; + display: flex; + flex-wrap: wrap; + gap: 8px; +} + +.status { + min-height: 20px; + margin-top: 8px; + color: #334155; + font-size: 13px; +} + +.field-tip { + margin-top: 6px; + color: #64748b; + font-size: 12px; + line-height: 1.5; +} + +.field-tip-rich { + display: grid; + gap: 6px; + padding: 10px 12px; + border: 1px solid #e2e8f0; + border-radius: 8px; + background: #f8fafc; +} + +.field-tip-title { + color: #334155; + font-size: 13px; + font-weight: 700; +} + +.field-tip-current { + color: #334155; + font-size: 12px; + font-weight: 600; +} + +.field-tip-list { + margin: 0; + padding-left: 18px; +} + +.field-tip-list li { + margin: 0 0 4px; +} + +.field-tip-empty { + color: #64748b; +} + +.decision { + border: 1px dashed #cbd5e1; + border-radius: 8px; + padding: 12px; + min-height: 80px; +} + +.decision.pass { + border-color: #16a34a; + background: #f0fdf4; +} + +.decision.reject { + border-color: #dc2626; + background: #fef2f2; +} + +.decision.wait { + border-color: #2563eb; + background: #eff6ff; +} + +.stats { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 8px; + margin-bottom: 10px; +} + +.stats .item { + background: #f8fafc; + border: 1px solid #e2e8f0; + border-radius: 8px; + padding: 8px; + text-align: center; +} + +.stats .value { + font-size: 18px; + font-weight: 700; +} + +.list { + display: grid; + gap: 8px; +} + +.row { + border: 1px solid #e2e8f0; + border-radius: 8px; + padding: 10px; + display: grid; + gap: 8px; +} + +.row-head { + display: flex; + align-items: center; + justify-content: space-between; + gap: 8px; +} + +.row .meta { + font-size: 13px; + color: #475569; +} + +.row .meta .tag-low { + display: inline-block; + padding: 1px 6px; + border-radius: 999px; + border: 1px solid #ef4444; + color: #b91c1c; + background: #fef2f2; + font-size: 12px; +} + +.row .meta .tag-archived { + display: inline-block; + padding: 1px 6px; + border-radius: 999px; + border: 1px solid #94a3b8; + color: #475569; + background: #f8fafc; + font-size: 12px; +} + +.row .meta.cooling-tip { + color: #1d4ed8; + font-weight: 600; +} + +.row .actions { + display: flex; + flex-wrap: wrap; + gap: 8px; +} + +.history-toolbar { + display: grid; + grid-template-columns: 2fr 1fr 1fr auto auto; + gap: 8px; + margin-bottom: 10px; + align-items: end; +} + +.history-check { + display: inline-flex; + align-items: center; + gap: 8px; + white-space: nowrap; +} + +.history-check input[type="checkbox"] { + width: 16px; + height: 16px; +} + +.history-pager { + margin-top: 10px; + display: flex; + justify-content: flex-end; + align-items: center; + gap: 8px; +} + +.warn { + background: #fee2e2; + border: 1px solid #ef4444; + color: #991b1b; + border-radius: 8px; + padding: 10px; + font-size: 13px; +} + +.risk-lights { + display: flex; + gap: 8px; + margin: 6px 0 10px; +} + +.risk-light { + width: 14px; + height: 14px; + border-radius: 50%; + background: #d1d5db; + border: 1px solid #9ca3af; + box-shadow: inset 0 1px 1px rgba(255,255,255,.45); +} + +.risk-light.on { + background: #22c55e; + border-color: #16a34a; + box-shadow: 0 0 6px rgba(34,197,94,.55), inset 0 1px 1px rgba(255,255,255,.45); +} + +.modal-mask { + position: fixed; + inset: 0; + background: rgba(15, 23, 42, 0.45); + display: flex; + align-items: center; + justify-content: center; + padding: 16px; + z-index: 1000; +} + +.modal-panel { + width: min(92vw, 460px); + background: #fff; + border-radius: 12px; + box-shadow: 0 10px 40px rgba(15, 23, 42, 0.25); + padding: 14px; + display: grid; + gap: 12px; +} + +.modal-panel.wide { + width: min(92vw, 760px); +} + +.modal-title { + font-size: 17px; + font-weight: 700; + color: #0f172a; +} + +.modal-message { + font-size: 14px; + color: #334155; + line-height: 1.55; + white-space: pre-wrap; + max-height: 62vh; + overflow: auto; +} + +.modal-message.is-rich { + white-space: normal; +} + +.detail-section-title { + margin: 10px 0 6px; + font-size: 14px; + font-weight: 700; + color: #0f172a; +} + +.detail-row { + display: grid; + grid-template-columns: 130px 1fr; + gap: 8px; + align-items: start; + margin-bottom: 6px; +} + +.detail-label { + color: #0f172a; + font-weight: 600; +} + +.detail-value { + color: #1d4ed8; + white-space: pre-wrap; + word-break: break-word; +} + +.modal-actions { + display: flex; + justify-content: flex-end; + gap: 8px; +} + +.modal-actions .btn-primary { + width: auto; + margin-top: 0; +} + +.busy-mask { + position: fixed; + inset: 0; + background: rgba(15, 23, 42, 0.38); + display: flex; + align-items: center; + justify-content: center; + z-index: 1100; + padding: 16px; +} + +.busy-panel { + background: #fff; + border-radius: 12px; + min-width: min(92vw, 280px); + padding: 16px; + display: grid; + justify-items: center; + gap: 12px; + box-shadow: 0 10px 30px rgba(15, 23, 42, 0.24); +} + +.busy-spinner { + width: 32px; + height: 32px; + border-radius: 50%; + border: 3px solid #dbeafe; + border-top-color: #2563eb; + animation: spin .9s linear infinite; +} + +.busy-text { + color: #334155; + font-size: 14px; +} + +@keyframes spin { + from { transform: rotate(0deg); } + to { transform: rotate(360deg); } +} + +@media (max-width: 700px) { + .hero-main { + flex-direction: column; + } + .hero-auth { + min-width: 0; + width: 100%; + justify-items: stretch; + } + .auth-login-inline { + display: grid; + grid-template-columns: 1fr 1fr auto; + } + .auth-row { + justify-content: space-between; + } + .hero-auth .status { + text-align: left; + } + .grid.two { + grid-template-columns: 1fr; + } + .stats { + grid-template-columns: 1fr 1fr; + } + .history-toolbar { + grid-template-columns: 1fr; + } + .row .actions .btn { + flex: 1 1 calc(50% - 8px); + min-width: 120px; + } + .history-pager { + justify-content: space-between; + } + .detail-row { + grid-template-columns: 1fr; + gap: 4px; + } + .hero h1 { + font-size: 19px; + } +} diff --git a/public/tools/rational_lock/rational_lock.js b/public/tools/rational_lock/rational_lock.js new file mode 100644 index 0000000..3576a06 --- /dev/null +++ b/public/tools/rational_lock/rational_lock.js @@ -0,0 +1,2126 @@ +(() => { + ;(function handleSetToken() { + try { + const u = new URL(window.location.href) + const token = u.searchParams.get('set_token') + if (token) { + localStorage.setItem('toolbox_creds_token', token) + u.searchParams.delete('set_token') + window.history.replaceState(null, '', u.toString()) + } + } catch {} + })() + const LEGACY_STORAGE_KEY = 'rational_lock_db_v1' + const LEGACY_DRAFT_KEY = 'rational_lock_form_draft_v1' + const LEGACY_USER_DB_KEY = 'rational_lock_user_dbs_v1' + const LEGACY_USER_DRAFT_KEY = 'rational_lock_user_drafts_v1' + const API_BASE = '/api/rational_lock' + const DEFAULT_COOLING_DAYS = 3 + const HISTORY_PAGE_SIZE = 10 + const DEFAULT_USERNAME = 'admin' + const CATEGORY_RISK_MAP = { + '园艺绿植低风险类': { level: 'low', label: '低风险类', tip: '这类通常可以在拼多多、淘宝、闲鱼买,但也别闭眼下单哦。' }, + '家居软装小物件': { level: 'low', label: '低风险类', tip: '这类通常可以在拼多多、淘宝、闲鱼买,重点看描述和做工就好。' }, + '日用消耗非接触类': { level: 'low', label: '低风险类', tip: '这类总体风险不高,但碰到二手、个人卖家时还是要多问几句。' }, + '临时/消耗/低值易耗品': { level: 'low', label: '低风险类', tip: '这类可买范围宽一些,主要防踩坑,不用上升到过度纠结。' }, + '其他低风险': { level: 'low', label: '低风险类', tip: '这类暂时没必要分得太细,按低风险兜底处理,但买之前还是看下描述、做工和售后。' }, + '食品&入口类': { level: 'high', label: '高风险类', tip: '入口的东西风险最高,平台、店铺和品相都要更严。' }, + '健康&身体接触类': { level: 'high', label: '高风险类', tip: '身体接触类要优先考虑正品和售后,不要图便宜硬上。' }, + '安全&电器类': { level: 'high', label: '高风险类', tip: '带电、发热、爆裂风险的,平台和店铺必须更稳。' }, + '贵重&保真刚需品': { level: 'high', label: '高风险类', tip: '贵重和保真需求强的,先保真,再谈便宜。' }, + '其他高风险': { level: 'high', label: '高风险类', tip: '这类暂时拿不准就先按高风险处理,平台、店铺、品相和售后都多看一眼。' } + } + const CATEGORY_HELP_MAP = { + '园艺绿植低风险类': [ + '塑料花盆、陶盆、树脂盆、花托、托盘', + '园艺小工具、园艺绑带、铺面石、营养土、垫底陶粒', + '小摆件、花园装饰、围栏、花架(非承重重型)', + '普通绿植 / 草花 / 多肉(低价练手款)' + ], + '家居软装小物件': [ + '小相框、装饰画、墙面贴纸、挂钩、收纳盒', + '桌面收纳、置物筐、防尘罩、简易布艺收纳', + '装饰类摆件、工业风小装饰、墙面软装' + ], + '日用消耗非接触类': [ + '垃圾袋、清洁刷子、拖把配件、抹布(非贴身)', + '打包袋、收纳袋、纸箱、标签贴纸、小五金配件', + '鱼缸装饰、造景石头、躲避屋(非过滤电器)' + ], + '临时/消耗/低值易耗品': [ + '一次性非入口用品、快递打包材料、简易耗材' + ], + '其他低风险': [ + '偏低价、非入口、非贴身、非通电、非保真刚需的小物件', + '如果只是不好细分,但整体风险不高,可以先归到这里' + ], + '食品&入口类': [ + '生鲜肉类、海鲜、果蔬、冷冻食品', + '零食、饮料、酒水、牛奶酸奶、乳制品', + '粮油米面、调味品、代餐、保健品、滋补品', + '茶叶、咖啡、冲泡类、速食、预制菜' + ], + '健康&身体接触类': [ + '药品、外用膏剂、消毒用品、医用耗材', + '保健品、维生素、益生菌、膳食补充剂', + '贴身衣物、袜子、毛巾、浴巾、床上四件套', + '洗漱护肤、洗发水、沐浴露、面膜、面霜、牙刷牙膏', + '体重秤、血压计、理疗小电器、按摩仪' + ], + '安全&电器类': [ + '大小家电、插排、插座、电线、充电头、数据线', + '锂电池产品、夜灯、取暖器、加湿器、鱼缸电器', + '厨房小家电(烧水壶、电饭煲、空气炸锅)' + ], + '贵重&保真刚需品': [ + '工具五金(高强度、防锈、精密工具)' + ], + '其他高风险': [ + '涉及入口、贴身接触、用电、防爆、保真,但一时不好细分的商品', + '拿不准时先归到这里,后续按高风险规则严一点判断' + ] + } + const LEGACY_CATEGORY_ALIAS_MAP = { + '服饰': '其他高风险', + '数码': '安全&电器类', + '家居': '家居软装小物件', + '美妆': '健康&身体接触类', + '其他': '其他高风险' + } + const LEGACY_CATEGORY_RISK_MAP = { + '服饰': { level: 'high', label: '高风险类', tip: '历史分类“服饰”先按偏严模式看待,尤其贴身类更要稳一点。', legacy: true }, + '数码': { level: 'high', label: '高风险类', tip: '历史分类“数码”先按偏严模式看待,尽量走正规渠道。', legacy: true }, + '家居': { level: 'low', label: '低风险类', tip: '历史分类“家居”先按偏宽模式看,但如果其实是电器,请改选更准确分类哦。', legacy: true }, + '美妆': { level: 'high', label: '高风险类', tip: '历史分类“美妆”先按偏严模式看待,接触皮肤的别太冒险。', legacy: true }, + '其他': { level: 'high', label: '高风险类', tip: '历史分类“其他”信息太宽泛,系统先按偏严模式拦一手。', legacy: true } + } + const PLATFORM_LABEL_MAP = { + pdd: '拼多多', + taobao: '淘宝', + xianyu: '闲鱼', + tmall: '天猫', + jd: '京东', + other: '其他平台' + } + const SELLER_TYPE_LABEL_MAP = { + 'brand-flagship': '品牌官旗', + 'platform-premium': '平台优选 / 自营', + 'enterprise-shop': '企业店', + 'normal-shop': '普通店', + 'personal-seller': '个人卖家' + } + const CONDITION_LABEL_MAP = { + 'new-sealed': '全新未拆', + 'new-opened': '全新已拆', + 'used-good': '二手良品', + 'used-flawed': '二手瑕疵', + unknown: '品相不确定' + } + const HIGH_RISK_ALLOWED_PLATFORMS = new Set(['tmall', 'jd', 'pdd', 'taobao']) + const HIGH_RISK_ALLOWED_SELLERS = new Set(['brand-flagship', 'platform-premium']) + const HIGH_RISK_ALLOWED_CONDITIONS = new Set(['new-sealed']) + const $ = id => document.getElementById(id) + const hasEl = id => !!$(id) + const now = () => Date.now() + const uid = () => `${Date.now()}_${Math.random().toString(36).slice(2, 8)}` + const emptyDB = () => ({ items: [], applications: [] }) + + const getCoolingDays = () => { + const el = $('cooling-days') + const raw = el ? Number(el.value) : NaN + if (Number.isFinite(raw) && raw >= 3 && raw <= 14) return raw + return DEFAULT_COOLING_DAYS + } + + const syncCoolingDaysText = () => { + const el = $('cooling-days-text') + if (el) el.textContent = String(getCoolingDays()) + } + + const state = { + db: emptyDB(), + modal: { resolver: null }, + auth: { + currentUser: '' + }, + draft: null, + persist: { + inFlight: false, + pending: false + }, + ui: { + history: { + search: '', + startDate: '', + endDate: '', + showArchived: false, + page: 1, + pageSize: HISTORY_PAGE_SIZE + }, + library: { + editingId: '' + } + } + } + + const parseJSON = (raw, fallback) => { + try { + const parsed = JSON.parse(raw) + if (parsed === null || typeof parsed !== 'object') return fallback + return parsed + } catch { + return fallback + } + } + + const apiRequest = async (path, options = {}) => { + const res = await fetch(`${API_BASE}${path}`, { + method: options.method || 'GET', + headers: { + 'Content-Type': 'application/json', + ...(options.headers || {}) + }, + body: options.body === undefined ? undefined : JSON.stringify(options.body), + credentials: 'include' + }) + let payload = null + try { + payload = await res.json() + } catch { + payload = null + } + if (!res.ok) { + const msg = payload && payload.error ? String(payload.error) : `http_${res.status}` + throw new Error(msg) + } + return payload || {} + } + + const listKeyOf = (row, type) => { + const id = row && row.id ? String(row.id) : '' + if (id) return `${type}:${id}` + if (type === 'item') { + const name = String((row && row.name) || '').trim() + const category = String((row && row.category) || '').trim() + const createdAt = String((row && row.createdAt) || '') + return `${type}:${name}|${category}|${createdAt}` + } + const name = String((row && row.basics && row.basics.name) || '').trim() + const category = String((row && row.basics && row.basics.category) || '').trim() + const createdAt = String((row && row.createdAt) || '') + return `${type}:${name}|${category}|${createdAt}` + } + + const mergeRows = (currentRows, legacyRows, type) => { + const result = Array.isArray(currentRows) ? currentRows.slice() : [] + const seen = new Set(result.map(r => listKeyOf(r, type))) + ;(Array.isArray(legacyRows) ? legacyRows : []).forEach(row => { + const key = listKeyOf(row, type) + if (seen.has(key)) return + seen.add(key) + result.push(row) + }) + return result + } + + const normalizeDB = value => { + const base = value && typeof value === 'object' ? value : {} + return { + items: Array.isArray(base.items) ? base.items : [], + applications: Array.isArray(base.applications) ? base.applications : [] + } + } + + const hasNonEmptyData = payload => { + const db = normalizeDB(payload && payload.db ? payload.db : payload) + return db.items.length > 0 || db.applications.length > 0 + } + + const readLegacyBrowserData = () => { + let legacyDB = null + let legacyDraft = null + try { + legacyDB = parseJSON(localStorage.getItem(LEGACY_STORAGE_KEY) || 'null', null) + if (legacyDB === null) { + const store = parseJSON(localStorage.getItem(LEGACY_USER_DB_KEY) || '{}', {}) + const adminDB = store && typeof store === 'object' ? store[DEFAULT_USERNAME] : null + legacyDB = adminDB && typeof adminDB === 'object' ? adminDB : null + } + } catch {} + try { + legacyDraft = parseJSON(localStorage.getItem(LEGACY_DRAFT_KEY) || 'null', null) + if (legacyDraft === null) { + const store = parseJSON(localStorage.getItem(LEGACY_USER_DRAFT_KEY) || '{}', {}) + const adminDraft = store && typeof store === 'object' ? store[DEFAULT_USERNAME] : null + legacyDraft = adminDraft && typeof adminDraft === 'object' ? adminDraft : null + } + } catch {} + return { + db: normalizeDB(legacyDB), + draft: legacyDraft && typeof legacyDraft === 'object' ? legacyDraft : null + } + } + + const clearLegacyBrowserData = () => { + try { localStorage.removeItem(LEGACY_STORAGE_KEY) } catch {} + try { localStorage.removeItem(LEGACY_DRAFT_KEY) } catch {} + try { localStorage.removeItem(LEGACY_USER_DB_KEY) } catch {} + try { localStorage.removeItem(LEGACY_USER_DRAFT_KEY) } catch {} + try { localStorage.removeItem('rational_lock_users_v1') } catch {} + try { localStorage.removeItem('rational_lock_session_v1') } catch {} + } + + const setAuthStatus = text => { + $('auth-status').textContent = text || '' + } + + const renderAuth = () => { + const user = state.auth.currentUser + $('auth-login-box').style.display = user ? 'none' : '' + $('auth-logged-box').style.display = user ? '' : 'none' + $('app-content').style.display = user ? '' : 'none' + $('auth-current-user').textContent = user ? `当前账号:${user}` : '' + } + + const restoreSession = async () => { + try { + const payload = await apiRequest('/auth/me') + const username = String(payload.username || '').trim() + if (!username) return false + state.auth.currentUser = username + return true + } catch { + state.auth.currentUser = '' + return false + } + } + + const ensureLoggedIn = async () => { + if (state.auth.currentUser) return true + await modalAlert('请先登录', '请先输入账号和密码登录后再操作。') + return false + } + + const loadDB = async () => { + if (!state.auth.currentUser) { + state.db = emptyDB() + state.draft = null + return + } + const payload = await apiRequest('/data') + state.db = normalizeDB(payload.db) + state.draft = payload.draft && typeof payload.draft === 'object' ? payload.draft : null + const legacy = readLegacyBrowserData() + const needMigrateData = hasNonEmptyData(legacy) && !hasNonEmptyData(payload) + const needMigrateDraft = legacy.draft && !state.draft + if (needMigrateData || needMigrateDraft) { + state.db = { + items: mergeRows(state.db.items, legacy.db.items, 'item'), + applications: mergeRows(state.db.applications, legacy.db.applications, 'app') + } + if (!state.draft && legacy.draft) state.draft = legacy.draft + await apiRequest('/data', { + method: 'PUT', + body: { db: state.db, draft: state.draft } + }) + clearLegacyBrowserData() + } + } + + const saveDB = () => { + if (!state.auth.currentUser) return + const persistNow = async () => { + if (!state.auth.currentUser) return + state.persist.inFlight = true + try { + await apiRequest('/data', { + method: 'PUT', + body: { + db: normalizeDB(state.db), + draft: state.draft && typeof state.draft === 'object' ? state.draft : null + } + }) + } catch {} + state.persist.inFlight = false + if (state.persist.pending) { + state.persist.pending = false + persistNow() + } + } + if (state.persist.inFlight) { + state.persist.pending = true + return + } + persistNow() + } + + const toNum = v => { + const n = Number(v) + return Number.isFinite(n) ? n : 0 + } + + const fmtDateTime = ts => { + const d = new Date(ts) + const y = d.getFullYear() + const m = String(d.getMonth() + 1).padStart(2, '0') + const day = String(d.getDate()).padStart(2, '0') + const h = String(d.getHours()).padStart(2, '0') + const mm = String(d.getMinutes()).padStart(2, '0') + return `${y}-${m}-${day} ${h}:${mm}` + } + + const fmtMoney = v => { + const n = toNum(v) + return `¥${n.toFixed(2)}` + } + + const escapeHtml = s => String(s || '') + .replace(/&/g, '&') + .replace(//g, '>') + .replace(/"/g, '"') + .replace(/'/g, ''') + + const formatBeijingDate = ts => { + const d = ts ? new Date(ts) : new Date() + const parts = new Intl.DateTimeFormat('en-CA', { + timeZone: 'Asia/Shanghai', + year: 'numeric', + month: '2-digit', + day: '2-digit' + }).formatToParts(d) + const y = parts.find(p => p.type === 'year')?.value || '1970' + const m = parts.find(p => p.type === 'month')?.value || '01' + const day = parts.find(p => p.type === 'day')?.value || '01' + return `${y}-${m}-${day}` + } + + const formatBeijingDateTime = ts => { + const d = ts ? new Date(ts) : new Date() + const parts = new Intl.DateTimeFormat('zh-CN', { + timeZone: 'Asia/Shanghai', + year: 'numeric', + month: '2-digit', + day: '2-digit', + hour: '2-digit', + minute: '2-digit', + hour12: false + }).formatToParts(d) + const pick = t => parts.find(p => p.type === t)?.value || '00' + return `${pick('year')}-${pick('month')}-${pick('day')} ${pick('hour')}:${pick('minute')}` + } + + const replacementSummary = app => { + const sel = app.commitments && app.commitments.replacementSelection ? app.commitments.replacementSelection : {} + const items = [] + if (sel.noSimilar) items.push('家中无完全可替代的同类物品') + if (sel.damaged) items.push('现有同类物品已损坏、过时或无法使用') + if (sel.unrepairable) items.push('现有物品无法维修或改造继续使用') + if (sel.unique) items.push('该物品功能独特且无可替代') + if (!items.length) return '未记录' + return items.join(';') + } + + const buildExpenseContentHtml = (app, purchasedAt) => { + const impulse = Array.isArray(app.impulse) ? app.impulse : [] + const regretPossibility = String(app.regretPossibility || '') + const shopping = app && app.shopping ? app.shopping : {} + const html = ` +
    +

    理性消费决策锁 - 已购推送

    +

    推送时间(北京时间):${escapeHtml(formatBeijingDateTime(purchasedAt))}

    + + + + + + + + + + + + + + + + + + + +
    物品名称${escapeHtml(app.basics.name)}
    分类${escapeHtml(app.basics.category)}
    风险组${escapeHtml(shopping.riskLabel || '未记录')}
    金额${escapeHtml(fmtMoney(app.basics.price))}
    购买理由${escapeHtml(app.basics.reason)}
    购物方式${escapeHtml(shopping.methodLabel || '')}
    购买平台${escapeHtml(shopping.platformLabel || '未记录')}
    店铺类型${escapeHtml(shopping.sellerTypeLabel || '未记录')}
    品相${escapeHtml(shopping.conditionLabel || '未记录')}
    购物保障${escapeHtml(shopping.guaranteeLabel || '')}
    沟通问题${escapeHtml([shopping.q1, shopping.q2, shopping.q3, shopping.q4, shopping.q5].filter(Boolean).join(';') || '无')}
    使用场景${escapeHtml(app.scenarios.where)}
    使用频率${escapeHtml(app.scenarios.frequency)}
    可解决问题${escapeHtml(app.scenarios.problem)}
    替代检查${escapeHtml(replacementSummary(app))}
    评分总分${escapeHtml(app.scores.total)}
    防冲动验证${escapeHtml(`问题1:${impulse[0] || ''};问题2:${impulse[1] || ''};问题3:${impulse[2] || ''}`)}
    反悔可能${escapeHtml(regretPossibility || '未填写')}
    +
    `.trim() + return html + } + + const pushPurchaseToExpense = async (app, purchasedAt) => { + const payload = { + date: formatBeijingDate(purchasedAt), + purchased_at: purchasedAt, + amount: toNum(app.basics.price), + content_html: buildExpenseContentHtml(app, purchasedAt) + } + const res = await fetch('/api/expense/rational-lock/push', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(payload) + }) + let data = null + try { + data = await res.json() + } catch {} + if (!res.ok || !data || !data.ok) { + throw new Error((data && data.error) || `HTTP_${res.status}`) + } + return data + } + + const getScoreTotal = () => { + return ['score-practical', 'score-necessary', 'score-usage', 'score-cost', 'score-regret'] + .map(id => toNum($(id).value)) + .reduce((a, b) => a + b, 0) + } + + const getImpulseAnswers = () => { + const getOne = name => { + const el = document.querySelector(`input[name="${name}"]:checked`) + return el ? el.value : '' + } + return [getOne('impulse-1'), getOne('impulse-2'), getOne('impulse-3')] + } + + const allChecked = rootId => Array.from(document.querySelectorAll(`#${rootId} input[type="checkbox"]`)).every(n => n.checked) + + const normalizeCategory = category => { + const key = String(category || '').trim() + return LEGACY_CATEGORY_ALIAS_MAP[key] || key + } + + const getCategoryRiskInfo = category => { + const rawKey = String(category || '').trim() + const key = normalizeCategory(rawKey) + if (!key) return { level: '', label: '', tip: '', legacy: false } + if (CATEGORY_RISK_MAP[key]) return CATEGORY_RISK_MAP[key] + return LEGACY_CATEGORY_RISK_MAP[rawKey] || { + level: 'high', + label: '高风险类', + tip: '这个分类目前没有命中明确规则,系统先按偏严模式看待,宁可多拦一下。', + legacy: true + } + } + + const getPlatformLabel = value => PLATFORM_LABEL_MAP[String(value || '')] || '' + const getSellerTypeLabel = value => SELLER_TYPE_LABEL_MAP[String(value || '')] || '' + const getConditionLabel = value => CONDITION_LABEL_MAP[String(value || '')] || '' + + const getShoppingFields = () => ({ + method: String(($('shopping-method') && $('shopping-method').value) || ''), + guarantee: String(($('shopping-guarantee') && $('shopping-guarantee').value) || ''), + platform: String(($('shopping-platform') && $('shopping-platform').value) || ''), + sellerType: String(($('shopping-seller-type') && $('shopping-seller-type').value) || ''), + condition: String(($('shopping-condition') && $('shopping-condition').value) || ''), + q1: String(($('shopping-q1') && $('shopping-q1').value) || '').trim(), + q2: String(($('shopping-q2') && $('shopping-q2').value) || '').trim(), + q3: String(($('shopping-q3') && $('shopping-q3').value) || '').trim(), + q4: String(($('shopping-q4') && $('shopping-q4').value) || '').trim(), + q5: String(($('shopping-q5') && $('shopping-q5').value) || '').trim() + }) + + const countShoppingAnswers = shopping => { + const s = shopping || getShoppingFields() + return [s.q1, s.q2, s.q3, s.q4, s.q5].filter(x => String(x || '').trim()).length + } + + const evaluateShoppingRisk = (shopping, category) => { + const s = shopping || getShoppingFields() + const categoryInfo = getCategoryRiskInfo(category || $('item-category').value) + const missingQuestions = ['q1', 'q2', 'q3', 'q4', 'q5'].filter(k => !String(s[k] || '').trim()).length + const result = { + riskLevel: categoryInfo.level, + riskLabel: categoryInfo.label, + categoryTip: categoryInfo.tip, + isLegacyCategory: !!categoryInfo.legacy, + isOnline: s.method === 'online', + allowed: false, + blocked: false, + needQuestions: false, + missingQuestions, + reason: '', + tip: '', + submitText: '' + } + if (!s.method) { + result.reason = '请先选一下“购物方式”,我才能继续判断风险哦。' + return result + } + if (s.method !== 'online') { + result.allowed = true + result.tip = '线下店通常可以现场看货,本轮网购风控就先跳过啦。' + result.submitText = '当前不是网购,本环节已通过。' + return result + } + if (!s.guarantee) { + result.reason = '你选了网购,先把“购物保障”补上,我才知道售后稳不稳。' + return result + } + if (!s.platform) { + result.reason = '你选了网购,再告诉我打算在哪个平台买呀。' + return result + } + if (!s.sellerType) { + result.reason = '平台有了,还差“店铺类型”,这个会直接影响真假和售后。' + return result + } + if (!s.condition) { + result.reason = '还差“品相”没选,我得先知道你打算买全新还是二手。' + return result + } + + if (categoryInfo.level === 'high') { + if (!HIGH_RISK_ALLOWED_PLATFORMS.has(s.platform)) { + result.blocked = true + result.reason = `【${categoryInfo.label}】别先去${getPlatformLabel(s.platform) || '这个平台'}下单哦,最好走天猫、京东,或平台里带官方背书的渠道。` + } else if (!HIGH_RISK_ALLOWED_SELLERS.has(s.sellerType)) { + result.blocked = true + result.reason = `【${categoryInfo.label}】尽量只走“品牌官旗”或“平台优选 / 自营”,普通店、企业店、个人卖家都不够稳。` + } else if (!HIGH_RISK_ALLOWED_CONDITIONS.has(s.condition)) { + result.blocked = true + result.reason = `【${categoryInfo.label}】对品相要求更严,最好只接受“全新未拆”,拆封、二手或说不清楚的先别碰。` + } else { + result.needQuestions = s.guarantee !== 'seven-day' + result.allowed = !result.needQuestions || result.missingQuestions === 0 + result.tip = result.needQuestions + ? '这单组合已经过了平台、店铺和品相门槛,但售后还不够稳,先把 5 条沟通问题补齐再说。' + : '这单属于高风险类,但你这次的平台、店铺、品相都过关了,可以继续。' + } + } else { + const riskySignals = [] + if (s.guarantee !== 'seven-day') riskySignals.push('售后偏弱') + if (s.platform === 'xianyu' || s.platform === 'other') riskySignals.push('平台偏冒险') + if (s.sellerType === 'personal-seller' || s.sellerType === 'normal-shop') riskySignals.push('店铺不够稳') + if (s.condition !== 'new-sealed') riskySignals.push('品相不够新') + result.needQuestions = riskySignals.length > 0 + result.allowed = !result.needQuestions || result.missingQuestions === 0 + result.tip = result.needQuestions + ? `这单可以继续,但${riskySignals.join('、')},为了少踩坑,先把 5 条沟通问题补齐哦。` + : '这单属于低风险类,而且平台、店铺、品相、售后都比较稳,可以继续。' + } + + if (!result.blocked && result.needQuestions && result.missingQuestions > 0) { + result.reason = `当前这单还偏危险,请先补全 ${result.missingQuestions} 条沟通问题,我再放你继续。` + } + result.submitText = result.reason + ? `当前不能提交:${result.reason}` + : (result.tip || '网购风险核验已通过。') + return result + } + + const shoppingNeedQuestions = shopping => evaluateShoppingRisk(shopping).needQuestions + + const shoppingIncompleteReason = () => evaluateShoppingRisk().reason + + const syncCategoryRiskTip = () => { + const box = $('shopping-risk-group-tip') + if (!box) return + const category = $('item-category') ? $('item-category').value : '' + const normalizedCategory = normalizeCategory(category) + if (!category) { + box.textContent = '' + return + } + const info = getCategoryRiskInfo(category) + if (!info.level) { + box.textContent = '' + return + } + box.textContent = info.legacy && normalizedCategory && normalizedCategory !== category + ? `系统已把历史分类【${category}】归并到【${normalizedCategory}】,按“${info.label}”来判断。${info.tip}` + : info.legacy + ? `系统先把【${category}】按“${info.label}”来盯着看。${info.tip}` + : `系统判定:【${normalizedCategory || category}】属于“${info.label}”。${info.tip}` + } + + const syncCategoryHelp = () => { + const box = $('item-category-help-body') + if (!box) return + const category = $('item-category') ? $('item-category').value : '' + const normalizedCategory = normalizeCategory(category) + if (!normalizedCategory) { + box.textContent = '请选择商品分类后查看该分类对应的常见示例。' + return + } + const items = CATEGORY_HELP_MAP[normalizedCategory] || [] + if (!items.length) { + box.innerHTML = `
    当前分类【${escapeHtml(normalizedCategory)}】暂未配置示例,请按实际风险选择最接近的分类。
    ` + return + } + box.innerHTML = ` +
    当前分类:${escapeHtml(normalizedCategory)}
    +
      ${items.map(item => `
    • ${escapeHtml(item)}
    • `).join('')}
    + ` + } + + const syncShoppingRiskUI = () => { + if (!hasEl('shopping-method')) return + const s = getShoppingFields() + const category = $('item-category') ? $('item-category').value : '' + const riskEval = evaluateShoppingRisk(s, category) + const guaranteeWrap = $('shopping-guarantee-wrap') + const platformWrap = $('shopping-platform-wrap') + const onlineExtraWrap = $('shopping-online-extra-wrap') + const qWrap = $('shopping-questions-wrap') + const tip = $('shopping-risk-tip') + const submitTip = $('shopping-submit-tip') + const progressWrap = $('shopping-progress-wrap') + const progressText = $('shopping-progress-text') + const isOnline = s.method === 'online' + if (guaranteeWrap) guaranteeWrap.style.display = isOnline ? '' : 'none' + if (platformWrap) platformWrap.style.display = isOnline ? '' : 'none' + if (onlineExtraWrap) onlineExtraWrap.style.display = isOnline ? '' : 'none' + if (!isOnline) { + ;['shopping-guarantee', 'shopping-platform', 'shopping-seller-type', 'shopping-condition'].forEach(id => { + if (hasEl(id)) $(id).value = '' + }) + } + const needQ = riskEval.needQuestions + if (qWrap) qWrap.style.display = needQ ? '' : 'none' + if (progressWrap) progressWrap.style.display = needQ ? '' : 'none' + if (!needQ) { + ;['shopping-q1','shopping-q2','shopping-q3','shopping-q4','shopping-q5'].forEach(id => { if (hasEl(id)) $(id).value = '' }) + } + if (needQ) { + const done = countShoppingAnswers(s) + if (progressText) progressText.textContent = `沟通问题完成进度:${done}/5` + for (let i = 1; i <= 5; i += 1) { + const light = $(`shopping-light-${i}`) + if (!light) continue + if (i <= done) light.classList.add('on') + else light.classList.remove('on') + } + } else { + if (progressText) progressText.textContent = '' + for (let i = 1; i <= 5; i += 1) { + const light = $(`shopping-light-${i}`) + if (light) light.classList.remove('on') + } + } + if (tip) { + let msg = '' + if (!category) msg = '先把商品分类选好,我才能自动给你映射风险组。' + else if (riskEval.reason) msg = riskEval.reason + else msg = riskEval.tip + tip.textContent = msg + tip.style.display = msg ? '' : 'none' + } + if (submitTip) { + submitTip.textContent = riskEval.submitText + } + } + + const openModal = ({ title, message, okText = '知道了', cancelText = '', tone = 'normal', wide = false, html = false }) => { + return new Promise(resolve => { + const mask = $('app-modal') + const panel = mask.querySelector('.modal-panel') + const titleBox = $('modal-title') + const msgBox = $('modal-message') + const actions = $('modal-actions') + actions.innerHTML = '' + if (panel) panel.classList.toggle('wide', !!wide) + titleBox.textContent = title || '' + msgBox.classList.toggle('is-rich', !!html) + if (html) msgBox.innerHTML = message || '' + else msgBox.textContent = message || '' + const close = val => { + mask.style.display = 'none' + state.modal.resolver = null + resolve(val) + } + if (cancelText) { + const cancelBtn = document.createElement('button') + cancelBtn.className = 'btn' + cancelBtn.type = 'button' + cancelBtn.textContent = cancelText + cancelBtn.addEventListener('click', () => close(false)) + actions.appendChild(cancelBtn) + } + const okBtn = document.createElement('button') + okBtn.className = tone === 'primary' ? 'btn btn-primary' : 'btn' + okBtn.type = 'button' + okBtn.textContent = okText + okBtn.addEventListener('click', () => close(true)) + actions.appendChild(okBtn) + mask.style.display = '' + state.modal.resolver = close + }) + } + + const modalAlert = (title, message) => openModal({ title, message, okText: '我知道了' }) + const modalConfirm = (title, message, okText = '继续', cancelText = '取消') => openModal({ title, message, okText, cancelText, tone: 'primary' }) + const modalDetail = (title, message) => openModal({ title, message, okText: '关闭', wide: true, html: true }) + + let busyCount = 0 + const showBusy = (text = '正在帮你处理哦,请稍等~') => { + busyCount += 1 + $('busy-text').textContent = text + $('busy-mask').style.display = '' + } + + const hideBusy = () => { + busyCount = Math.max(0, busyCount - 1) + if (!busyCount) $('busy-mask').style.display = 'none' + } + + const withBusy = async (fn, text) => { + showBusy(text) + try { + return await fn() + } finally { + hideBusy() + } + } + + const getReplacementSelection = () => { + const noSimilar = !!document.querySelector('#commit-replacement input[data-replacement="no-similar"]')?.checked + const damaged = !!document.querySelector('#commit-replacement input[data-replacement="damaged"]')?.checked + const unrepairable = !!document.querySelector('#commit-replacement input[data-replacement="unrepairable"]')?.checked + const unique = !!document.querySelector('#commit-replacement input[data-replacement="unique"]')?.checked + return { noSimilar, damaged, unrepairable, unique } + } + + const evaluateReplacementSelection = () => { + const s = getReplacementSelection() + if (s.noSimilar && (s.damaged || s.unrepairable)) { + return { + valid: false, + scene: '', + message: '检测到互斥:你选择了“家中无同类物品”,就不能再选择“已有旧物损坏/无法维修”。\n请二选一:\n1)场景1(家里没有同类)\n2)场景2(家里有旧物且已损坏并无法维修)' + } + } + if (s.noSimilar) { + return { valid: true, scene: 'scene1', message: '当前为场景1:家里没有同类物品。可选勾选“功能独特”。' } + } + if (s.damaged || s.unrepairable) { + if (!(s.damaged && s.unrepairable)) { + return { + valid: false, + scene: '', + message: '当前像是场景2,但信息不完整。\n场景2必须同时勾选:\n1)现有同类物品已损坏/过时/无法使用\n2)现有物品无法维修或改造继续使用' + } + } + return { valid: true, scene: 'scene2', message: '当前为场景2:已存在旧物且不可继续使用。可选勾选“功能独特”。' } + } + return { + valid: false, + scene: '', + message: '请先选择替代检查场景:\n1)场景1:勾选“家中无完全可替代的同类物品”\n2)场景2:同时勾选“已损坏/过时”和“无法维修/改造”' + } + } + + const statusTextOf = status => ({ + cooling: '待决策', + approved: '待决策', + rejected: '不建议购买', + abandoned: '已放弃', + purchased: '已购买' + })[status] || status + + const actionText = action => ({ + submit: '提交申请', + purchase: '标记已购买', + 'retry-push': '重试同步报销', + abandon: '标记放弃', + 'toggle-low': '标记低使用率', + 'archive-on': '归档隐藏', + 'archive-off': '取消归档', + edit: '修改申请', + 'copy-create': '复制新增' + })[action] || action + + const normalizeActionLog = row => ({ + at: Number(row && row.at) || now(), + action: String((row && row.action) || ''), + detail: String((row && row.detail) || '') + }) + + const pushActionLog = (app, action, detail = '') => { + if (!Array.isArray(app.actionLogs)) app.actionLogs = [] + app.actionLogs.push(normalizeActionLog({ at: now(), action, detail })) + } + + const detailRow = (label, value) => ` +
    +
    ${escapeHtml(label)}
    +
    ${escapeHtml(value)}
    +
    + ` + + const detailSectionTitle = title => `
    ${escapeHtml(title)}
    ` + + const detailMessage = app => { + const replacementSel = app && app.commitments && app.commitments.replacementSelection ? app.commitments.replacementSelection : {} + const replacementTags = [] + if (replacementSel.noSimilar) replacementTags.push('无同类') + if (replacementSel.damaged) replacementTags.push('旧物损坏/过时') + if (replacementSel.unrepairable) replacementTags.push('不可维修') + if (replacementSel.unique) replacementTags.push('功能独特') + const impulse = Array.isArray(app && app.impulse) ? app.impulse : [] + const logs = Array.isArray(app && app.actionLogs) && app.actionLogs.length + ? app.actionLogs.map(normalizeActionLog) + : (app + ? [{ at: app.updatedAt || app.createdAt, action: 'legacy', detail: app.resultReason || statusTextOf(app.status) }] + : []) + const logRows = logs.length + ? logs.map((log, idx) => detailRow('记录', `${idx + 1}. ${fmtDateTime(log.at)} | ${actionText(log.action)}${log.detail ? ` | ${log.detail}` : ''}`)).join('') + : detailRow('记录', '暂无操作记录') + return ` + ${detailRow('商品名称', app && app.basics ? app.basics.name : '')} + ${detailRow('商品分类', app && app.basics ? app.basics.category : '')} + ${detailRow('预估价格', fmtMoney(app && app.basics ? app.basics.price : 0))} + ${detailRow('状态', statusTextOf(app && app.status))} + ${detailRow('提交时间', fmtDateTime(app && app.createdAt))} + ${detailRow('冷静期', `${toNum(app && app.coolingDays)}天`)} + ${detailSectionTitle('填写内容')} + ${detailRow('购买原因简述', app && app.basics ? app.basics.reason : '')} + ${detailRow('风险组', app && app.shopping && app.shopping.riskLabel ? app.shopping.riskLabel : '未记录')} + ${detailRow('购物方式', app && app.shopping && app.shopping.methodLabel ? app.shopping.methodLabel : '未记录')} + ${detailRow('购买平台', app && app.shopping && app.shopping.platformLabel ? app.shopping.platformLabel : '未记录')} + ${detailRow('店铺类型', app && app.shopping && app.shopping.sellerTypeLabel ? app.shopping.sellerTypeLabel : '未记录')} + ${detailRow('品相', app && app.shopping && app.shopping.conditionLabel ? app.shopping.conditionLabel : '未记录')} + ${detailRow('购物保障', app && app.shopping && app.shopping.guaranteeLabel ? app.shopping.guaranteeLabel : '未记录')} + ${detailRow('沟通问题1', app && app.shopping && app.shopping.q1 ? app.shopping.q1 : '未填写')} + ${detailRow('沟通问题2', app && app.shopping && app.shopping.q2 ? app.shopping.q2 : '未填写')} + ${detailRow('沟通问题3', app && app.shopping && app.shopping.q3 ? app.shopping.q3 : '未填写')} + ${detailRow('沟通问题4', app && app.shopping && app.shopping.q4 ? app.shopping.q4 : '未填写')} + ${detailRow('沟通问题5', app && app.shopping && app.shopping.q5 ? app.shopping.q5 : '未填写')} + ${detailRow('替代检查', replacementSummary(app || {}))} + ${detailRow('替代标签', replacementTags.length ? replacementTags.join('、') : '未记录')} + ${detailRow('场景1', app && app.scenarios ? app.scenarios.where : '')} + ${detailRow('场景2', app && app.scenarios ? app.scenarios.frequency : '')} + ${detailRow('场景3', app && app.scenarios ? app.scenarios.problem : '')} + ${detailRow('实用程度', String(app && app.scores ? app.scores.practical : ''))} + ${detailRow('必需程度', String(app && app.scores ? app.scores.necessary : ''))} + ${detailRow('预期使用率', String(app && app.scores ? app.scores.usage : ''))} + ${detailRow('性价比合理性', String(app && app.scores ? app.scores.cost : ''))} + ${detailRow('后悔概率', String(app && app.scores ? app.scores.regret : ''))} + ${detailRow('评分总分', String(app && app.scores ? app.scores.total : ''))} + ${detailRow('防冲动验证1', impulse[0] || '未填写')} + ${detailRow('防冲动验证2', impulse[1] || '未填写')} + ${detailRow('防冲动验证3', impulse[2] || '未填写')} + ${detailRow('反悔可能', app && app.regretPossibility ? app.regretPossibility : '未填写')} + ${detailSectionTitle('按钮操作历史')} + ${logRows} + ` + } + + const hasCoolingEnded = app => now() >= toNum(app && app.coolingEndAt) + + const isCoolingLocked = app => { + if (!app) return false + if (app.status !== 'cooling' && app.status !== 'approved') return false + return !hasCoolingEnded(app) + } + + const getCoolingLeft = app => { + const left = Math.max(0, toNum(app && app.coolingEndAt) - now()) + const days = Math.max(1, Math.ceil(left / 86400000)) + const hours = Math.floor((left % 86400000) / 3600000) + const minutes = Math.floor((left % 3600000) / 60000) + const seconds = Math.floor((left % 60000) / 1000) + return { left, days, hours, minutes, seconds } + } + + const coolingLeftText = app => { + const leftInfo = getCoolingLeft(app) + return `${leftInfo.days}天${leftInfo.hours}小时` + } + + const hasCopyCreateResultMark = app => app && (app.status === 'purchased' || app.status === 'abandoned') + + const copyCreateBlockReasonOfApplication = app => { + if (!app) return '这条记录不存在或已被移除,暂时不能复制新增。' + if (!hasCoolingEnded(app)) return `冷静期还剩${coolingLeftText(app)},请等冷静期结束后再复制新增。` + if (!hasCopyCreateResultMark(app)) return `当前状态是“${statusTextOf(app.status)}”,请先标记“已购买”或“标记放弃”后再复制新增。` + return '' + } + + const loadApplicationToForm = source => { + const sourceCoolingDays = Number(source && source.coolingDays) + const coolingDays = Number.isFinite(sourceCoolingDays) && sourceCoolingDays >= 3 && sourceCoolingDays <= 14 ? sourceCoolingDays : DEFAULT_COOLING_DAYS + const replacementSelection = source && source.commitments && source.commitments.replacementSelection + ? { ...source.commitments.replacementSelection } + : {} + const draft = { + savedAt: now(), + basics: { + name: String(source && source.basics && source.basics.name || ''), + category: String(source && source.basics && source.basics.category || ''), + price: String(source && source.basics && source.basics.price || ''), + reason: String(source && source.basics && source.basics.reason || '') + }, + shopping: { + method: String(source && source.shopping && source.shopping.method || ''), + guarantee: String(source && source.shopping && source.shopping.guarantee || ''), + platform: String(source && source.shopping && source.shopping.platform || ''), + sellerType: String(source && source.shopping && source.shopping.sellerType || ''), + condition: String(source && source.shopping && source.shopping.condition || ''), + q1: String(source && source.shopping && source.shopping.q1 || ''), + q2: String(source && source.shopping && source.shopping.q2 || ''), + q3: String(source && source.shopping && source.shopping.q3 || ''), + q4: String(source && source.shopping && source.shopping.q4 || ''), + q5: String(source && source.shopping && source.shopping.q5 || '') + }, + regretPossibility: String(source && source.regretPossibility || ''), + coolingChecks: [ + !!(source && source.commitments && source.commitments.coolingAllChecked), + !!(source && source.commitments && source.commitments.coolingAllChecked), + !!(source && source.commitments && source.commitments.coolingAllChecked) + ], + coolingDays, + replacement: { + noSimilar: !!replacementSelection.noSimilar, + damaged: !!replacementSelection.damaged, + unrepairable: !!replacementSelection.unrepairable, + unique: !!replacementSelection.unique + }, + scenes: { + where: String(source && source.scenarios && source.scenarios.where || ''), + frequency: String(source && source.scenarios && source.scenarios.frequency || ''), + problem: String(source && source.scenarios && source.scenarios.problem || '') + }, + scores: { + practical: String(source && source.scores && source.scores.practical || ''), + necessary: String(source && source.scores && source.scores.necessary || ''), + usage: String(source && source.scores && source.scores.usage || ''), + cost: String(source && source.scores && source.scores.cost || ''), + regret: String(source && source.scores && source.scores.regret || '') + }, + impulse: { + i1: String(source && source.impulse && source.impulse.i1 || ''), + i2: String(source && source.impulse && source.impulse.i2 || ''), + i3: String(source && source.impulse && source.impulse.i3 || '') + }, + finalChecks: [true, true, true] + } + applyDraft(draft) + const formTop = $('application-form') + if (formTop && formTop.scrollIntoView) formTop.scrollIntoView({ behavior: 'smooth', block: 'start' }) + } + + const buildActionBtn = (id, act, text, blockedReason = '') => { + const cls = blockedReason ? 'btn btn-soft-disabled' : 'btn' + const reasonAttr = blockedReason ? ` data-block-reason="${escapeHtml(blockedReason)}" title="${escapeHtml(blockedReason)}"` : '' + return `` + } + + const getDefaultHistoryRange = () => { + const end = new Date() + const start = new Date() + start.setMonth(start.getMonth() - 3) + return { + startDate: formatBeijingDate(start.getTime()), + endDate: formatBeijingDate(end.getTime()) + } + } + + const getHistoryFilteredList = () => { + const search = String(state.ui.history.search || '').trim().toLowerCase() + const startDate = state.ui.history.startDate || '' + const endDate = state.ui.history.endDate || '' + const showArchived = !!state.ui.history.showArchived + return state.db.applications + .slice() + .sort((a, b) => b.createdAt - a.createdAt) + .filter(a => { + if (!showArchived && a.archived) return false + const day = formatBeijingDate(a.createdAt) + if (startDate && day < startDate) return false + if (endDate && day > endDate) return false + if (!search) return true + const text = [ + a.basics && a.basics.name, + a.basics && a.basics.category, + a.basics && a.basics.reason, + a.regretPossibility, + a.resultReason, + statusTextOf(a.status) + ].map(x => String(x || '').toLowerCase()).join(' ') + return text.includes(search) + }) + } + + const collectFormDraft = () => { + const getRadio = name => { + const el = document.querySelector(`input[name="${name}"]:checked`) + return el ? el.value : '' + } + const checkedValues = rootId => Array.from(document.querySelectorAll(`#${rootId} input[type="checkbox"]`)).map(el => !!el.checked) + return { + savedAt: now(), + basics: { + name: $('item-name').value.trim(), + category: $('item-category').value, + price: $('item-price').value, + reason: $('item-reason').value.trim() + }, + shopping: getShoppingFields(), + regretPossibility: $('item-regret-possibility').value.trim(), + coolingChecks: checkedValues('commit-cooling'), + coolingDays: getCoolingDays(), + replacement: getReplacementSelection(), + scenes: { + where: $('scene-where').value.trim(), + frequency: $('scene-frequency').value.trim(), + problem: $('scene-problem').value.trim() + }, + scores: { + practical: $('score-practical').value, + necessary: $('score-necessary').value, + usage: $('score-usage').value, + cost: $('score-cost').value, + regret: $('score-regret').value + }, + impulse: { + i1: getRadio('impulse-1'), + i2: getRadio('impulse-2'), + i3: getRadio('impulse-3') + }, + finalChecks: checkedValues('commit-final') + } + } + + const saveDraft = () => { + if (!state.auth.currentUser) return null + const draft = collectFormDraft() + state.draft = draft + saveDB() + return draft + } + + const loadDraft = () => { + if (!state.auth.currentUser) return null + if (!state.draft || typeof state.draft !== 'object') return null + return state.draft + } + + const clearDraft = () => { + if (!state.auth.currentUser) return + state.draft = null + saveDB() + } + + const applyDraft = draft => { + if (!draft || typeof draft !== 'object') return false + $('item-name').value = (draft.basics && draft.basics.name) || '' + $('item-category').value = normalizeCategory((draft.basics && draft.basics.category) || '') + $('item-price').value = (draft.basics && draft.basics.price) || '' + $('item-reason').value = (draft.basics && draft.basics.reason) || '' + const shopping = draft.shopping || {} + if (hasEl('shopping-method')) $('shopping-method').value = shopping.method || '' + if (hasEl('shopping-guarantee')) $('shopping-guarantee').value = shopping.guarantee || '' + if (hasEl('shopping-platform')) $('shopping-platform').value = shopping.platform || '' + if (hasEl('shopping-seller-type')) $('shopping-seller-type').value = shopping.sellerType || '' + if (hasEl('shopping-condition')) $('shopping-condition').value = shopping.condition || '' + if (hasEl('shopping-q1')) $('shopping-q1').value = shopping.q1 || '' + if (hasEl('shopping-q2')) $('shopping-q2').value = shopping.q2 || '' + if (hasEl('shopping-q3')) $('shopping-q3').value = shopping.q3 || '' + if (hasEl('shopping-q4')) $('shopping-q4').value = shopping.q4 || '' + if (hasEl('shopping-q5')) $('shopping-q5').value = shopping.q5 || '' + $('item-regret-possibility').value = draft.regretPossibility || '' + + const coolingInputs = Array.from(document.querySelectorAll('#commit-cooling input[type="checkbox"]')) + coolingInputs.forEach((el, idx) => { + el.checked = !!(Array.isArray(draft.coolingChecks) && draft.coolingChecks[idx]) + }) + + const replacement = draft.replacement || {} + const setReplacement = (key, value) => { + const el = document.querySelector(`#commit-replacement input[data-replacement="${key}"]`) + if (el) el.checked = !!value + } + setReplacement('no-similar', replacement.noSimilar) + setReplacement('damaged', replacement.damaged) + setReplacement('unrepairable', replacement.unrepairable) + setReplacement('unique', replacement.unique) + + $('scene-where').value = (draft.scenes && draft.scenes.where) || '' + $('scene-frequency').value = (draft.scenes && draft.scenes.frequency) || '' + $('scene-problem').value = (draft.scenes && draft.scenes.problem) || '' + + $('score-practical').value = (draft.scores && draft.scores.practical) || '' + $('score-necessary').value = (draft.scores && draft.scores.necessary) || '' + $('score-usage').value = (draft.scores && draft.scores.usage) || '' + $('score-cost').value = (draft.scores && draft.scores.cost) || '' + $('score-regret').value = (draft.scores && draft.scores.regret) || '' + + ;['impulse-1', 'impulse-2', 'impulse-3'].forEach((name, idx) => { + const val = draft.impulse && draft.impulse[`i${idx + 1}`] + Array.from(document.querySelectorAll(`input[name="${name}"]`)).forEach(el => { + el.checked = String(el.value) === String(val || '') + }) + }) + + const finalInputs = Array.from(document.querySelectorAll('#commit-final input[type="checkbox"]')) + finalInputs.forEach((el, idx) => { + el.checked = !!(Array.isArray(draft.finalChecks) && draft.finalChecks[idx]) + }) + + const coolingSelect = $('cooling-days') + if (coolingSelect && draft.coolingDays) { + const val = Number(draft.coolingDays) + if (Number.isFinite(val) && val >= 3 && val <= 14) { + coolingSelect.value = String(val) + } + } + + syncFormState() + return true + } + + const formCompleted = () => { + if (!$('item-name').value.trim()) return false + if (!$('item-category').value) return false + if (!Number.isFinite(Number($('item-price').value))) return false + if (!$('item-reason').value.trim()) return false + if (shoppingIncompleteReason()) return false + if (!Number.isFinite(getCoolingDays())) return false + if (!allChecked('commit-cooling')) return false + if (!evaluateReplacementSelection().valid) return false + if (!$('scene-where').value.trim()) return false + if (!$('scene-frequency').value.trim()) return false + if (!$('scene-problem').value.trim()) return false + if (!$('item-regret-possibility').value.trim()) return false + if (getScoreTotal() <= 0) return false + if (['score-practical', 'score-necessary', 'score-usage', 'score-cost', 'score-regret'].some(id => !$(id).value)) return false + if (getImpulseAnswers().some(x => !x)) return false + if (!allChecked('commit-final')) return false + return true + } + + const getFormBlockReason = () => { + if (!$('item-name').value.trim()) return '先填一下“商品名称”呀,不然我都不知道你想买啥。' + if (!$('item-category').value) return '先选“商品分类”,系统要靠它自动映射风险组。' + if (!Number.isFinite(Number($('item-price').value))) return '价格先填成有效数字哈,系统还要拿它做后面的判断。' + if (!$('item-reason').value.trim()) return '“购买原因简述”还没写,先说清楚你为什么想买。' + const shoppingReason = shoppingIncompleteReason() + if (shoppingReason) return shoppingReason + if (!Number.isFinite(getCoolingDays())) return '冷静期天数有点不对,重新选一下 3 到 14 天吧。' + if (!allChecked('commit-cooling')) return '冷静期确认项还没全勾完,这一步先别跳。' + const replacementEval = evaluateReplacementSelection() + if (!replacementEval.valid) return replacementEval.message.replace(/\n+/g, ' ') + if (!$('scene-where').value.trim()) return '“使用场景”还没填,先说下你准备在哪儿用。' + if (!$('scene-frequency').value.trim()) return '“使用频率”还没填,先说下你大概多久会用一次。' + if (!$('scene-problem').value.trim()) return '“可解决问题”还没填,先说清楚它到底解决什么问题。' + if (!$('item-regret-possibility').value.trim()) return '“反悔可能”还没填,先诚实评估下自己会不会后悔。' + if (['score-practical', 'score-necessary', 'score-usage', 'score-cost', 'score-regret'].some(id => !$(id).value)) return '五项评分还没打满,先都选一下。' + if (getScoreTotal() <= 0) return '当前评分总分还不成立,先把量表补完整哦。' + if (getImpulseAnswers().some(x => !x)) return '防冲动验证还没答完,三个问题都要选。' + if (!allChecked('commit-final')) return '最后确认项还没全部勾选,所以现在还不能提交。' + return '' + } + + const evaluationFromForm = () => { + const scoreTotal = getScoreTotal() + const impulse = getImpulseAnswers() + const impulsePass = impulse.every(v => v === '否') + const scorePass = scoreTotal >= 14 + const qualified = impulsePass && scorePass + let reason = '' + if (!impulsePass) reason = '防冲动验证存在“是”,不建议购买' + else if (!scorePass) reason = `必要性总分 ${scoreTotal} 低于14分,不建议购买` + return { scoreTotal, impulse, impulsePass, scorePass, qualified, reason } + } + + const latestApplication = () => { + const list = state.db.applications.slice().sort((a, b) => b.createdAt - a.createdAt) + return list[0] || null + } + + const findSimilar = (name, category) => { + const key = String(name || '').trim().toLowerCase() + return state.db.items.filter(it => { + const sameCat = String(it.category || '') === String(category || '') + const itName = String(it.name || '').toLowerCase() + const nameLike = key && (itName.includes(key) || key.includes(itName)) + return sameCat || nameLike + }) + } + + const findDustRisk = (name, category) => { + const key = String(name || '').trim().toLowerCase() + return state.db.applications.filter(a => { + if (a.status !== 'purchased' || !a.usageLow) return false + const sameCat = String(a.basics.category || '') === String(category || '') + const aName = String(a.basics.name || '').toLowerCase() + const nameLike = key && (aName.includes(key) || key.includes(aName)) + return sameCat || nameLike + }) + } + + const upsertItem = (name, category, note) => { + const n = String(name || '').trim() + const c = String(category || '').trim() + if (!n || !c) return + const existed = state.db.items.find(it => it.name === n && it.category === c) + if (existed) return + state.db.items.unshift({ id: uid(), name: n, category: c, note: String(note || ''), createdAt: now() }) + } + + const refreshWarning = () => { + const name = $('item-name').value.trim() + const category = $('item-category').value + const warningBox = $('warning-box') + const similar = findSimilar(name, category) + const dust = findDustRisk(name, category) + const lines = [] + if (similar.length) lines.push(`同类提醒:已存在 ${similar.length} 条同类物品记录`) + if (dust.length) lines.push(`吃灰预警:历史已购中有 ${dust.length} 条低使用率同类物品`) + if (!lines.length) { + warningBox.style.display = 'none' + warningBox.className = 'card' + warningBox.textContent = '' + return + } + warningBox.style.display = '' + warningBox.className = 'card warn' + warningBox.textContent = lines.join(';') + } + + const setFormStatus = text => { + $('form-status').textContent = text || '' + } + + const syncFormState = () => { + $('score-total').textContent = String(getScoreTotal()) + syncCategoryHelp() + syncCategoryRiskTip() + syncShoppingRiskUI() + const submitBtn = $('btn-submit') + const blockReason = getFormBlockReason() + submitBtn.disabled = false + submitBtn.classList.toggle('btn-soft-disabled', !!blockReason) + if (blockReason) { + submitBtn.setAttribute('title', blockReason) + submitBtn.setAttribute('data-block-reason', blockReason) + } else { + submitBtn.removeAttribute('title') + submitBtn.removeAttribute('data-block-reason') + } + syncCoolingDaysText() + refreshWarning() + } + + const createApplication = () => { + const evalRes = evaluationFromForm() + const createdAt = now() + const coolingDays = getCoolingDays() + const shoppingEval = evaluateShoppingRisk() + const app = { + id: uid(), + createdAt, + updatedAt: createdAt, + coolingDays, + coolingEndAt: createdAt + coolingDays * 86400000, + basics: { + name: $('item-name').value.trim(), + category: $('item-category').value, + price: toNum($('item-price').value), + reason: $('item-reason').value.trim() + }, + shopping: (() => { + const s = getShoppingFields() + const methodLabel = s.method === 'offline' ? '线下店' : (s.method === 'online' ? '网购' : '') + const guaranteeLabelMap = { + 'seven-day': '有七天无理由退换', + 'no-return': '没有无理由退换', + 'xianyu-used': '闲鱼二手购买' + } + return { + ...s, + riskLevel: shoppingEval.riskLevel || '', + riskLabel: shoppingEval.riskLabel || '', + methodLabel, + platformLabel: getPlatformLabel(s.platform), + sellerTypeLabel: getSellerTypeLabel(s.sellerType), + conditionLabel: getConditionLabel(s.condition), + guaranteeLabel: guaranteeLabelMap[s.guarantee] || '', + needRiskQuestions: shoppingEval.needQuestions, + riskTip: shoppingEval.tip || '', + riskReason: shoppingEval.reason || '' + } + })(), + commitments: { + coolingAllChecked: allChecked('commit-cooling'), + replacementValid: evaluateReplacementSelection().valid, + replacementScene: evaluateReplacementSelection().scene, + replacementSelection: getReplacementSelection(), + finalAllChecked: allChecked('commit-final') + }, + scenarios: { + where: $('scene-where').value.trim(), + frequency: $('scene-frequency').value.trim(), + problem: $('scene-problem').value.trim() + }, + regretPossibility: $('item-regret-possibility').value.trim(), + scores: { + practical: toNum($('score-practical').value), + necessary: toNum($('score-necessary').value), + usage: toNum($('score-usage').value), + cost: toNum($('score-cost').value), + regret: toNum($('score-regret').value), + total: evalRes.scoreTotal + }, + impulse: evalRes.impulse, + qualified: evalRes.qualified, + status: evalRes.qualified ? 'cooling' : 'rejected', + resultReason: evalRes.qualified ? '待决策:冷静期进行中,暂不可购买/放弃' : evalRes.reason, + usageLow: false + } + pushActionLog(app, 'submit', `提交并进入 ${coolingDays} 天冷静期`) + return app + } + + const resetForm = () => { + $('application-form').reset() + if (hasEl('shopping-guarantee-wrap')) $('shopping-guarantee-wrap').style.display = 'none' + if (hasEl('shopping-platform-wrap')) $('shopping-platform-wrap').style.display = 'none' + if (hasEl('shopping-online-extra-wrap')) $('shopping-online-extra-wrap').style.display = 'none' + if (hasEl('shopping-questions-wrap')) $('shopping-questions-wrap').style.display = 'none' + if (hasEl('shopping-risk-tip')) $('shopping-risk-tip').style.display = 'none' + if (hasEl('shopping-risk-group-tip')) $('shopping-risk-group-tip').textContent = '' + $('score-total').textContent = '0' + syncFormState() + } + + const renderDecision = () => { + const box = $('decision-panel') + const app = latestApplication() + if (!app) { + box.className = 'decision' + box.textContent = '暂无申请记录' + return + } + const current = now() + if (app.status === 'cooling' && current >= app.coolingEndAt && app.qualified) { + box.className = 'decision pass' + box.innerHTML = `
    申请:${app.basics.name}
    冷静期已结束,可选择“已购买”或“标记放弃”
    ${app.resultReason || ''}
    ` + return + } + if (app.status === 'cooling') { + const leftInfo = getCoolingLeft(app) + box.className = 'decision wait' + box.innerHTML = `
    申请:${app.basics.name}
    冷静期剩余${leftInfo.days}天(${leftInfo.hours}小时 ${leftInfo.minutes}分 ${leftInfo.seconds}秒)
    提交时间:${fmtDateTime(app.createdAt)}(冷静期内不可进行购买/放弃/低使用率标记)
    ` + return + } + if (app.status === 'approved') { + box.className = 'decision pass' + box.innerHTML = `
    待决策
    ${app.basics.name} · ${fmtMoney(app.basics.price)}
    冷静期已结束,可选择“已购买”或“标记放弃”
    ` + return + } + if (app.status === 'purchased') { + const topText = app.usageLow + ? '已购买 · 已标记低使用率(同类购买将预警)' + : (app.expenseRecordId ? '已购买 · 已推送至报销系统' : '已购买 · 待同步报销系统') + box.className = 'decision pass' + box.innerHTML = `
    ${topText}
    ${app.basics.name} · ${fmtMoney(app.basics.price)}
    ${app.resultReason || ''}
    ` + return + } + if (app.status === 'abandoned') { + box.className = 'decision reject' + box.innerHTML = `
    已放弃
    ${app.basics.name} · ${fmtMoney(app.basics.price)}
    ${app.resultReason || ''}
    ` + return + } + box.className = 'decision reject' + box.innerHTML = `
    不建议购买
    ${app.basics.name} · ${fmtMoney(app.basics.price)}
    ${app.resultReason || ''}
    ` + } + + const renderLibrary = () => { + if (!hasEl('btn-lib-add') || !hasEl('btn-lib-cancel-edit') || !hasEl('lib-list')) return + $('btn-lib-add').textContent = state.ui.library.editingId ? '保存修改' : '加入物品库' + $('btn-lib-cancel-edit').style.display = state.ui.library.editingId ? '' : 'none' + const box = $('lib-list') + box.innerHTML = '' + if (!state.db.items.length) { + box.textContent = '暂无物品库记录' + return + } + state.db.items.forEach(it => { + const row = document.createElement('div') + row.className = 'row' + row.innerHTML = ` +
    ${it.name} · ${it.category}
    +
    ${it.note || '无备注'}
    +
    + + +
    + ` + box.appendChild(row) + }) + } + + const monthlyStats = () => { + const d = new Date() + const y = d.getFullYear() + const m = d.getMonth() + const rows = state.db.applications.filter(a => { + const x = new Date(a.createdAt) + return x.getFullYear() === y && x.getMonth() === m + }) + const wanted = rows.length + const abandoned = rows.filter(r => r.status === 'abandoned').length + const purchased = rows.filter(r => r.status === 'purchased').length + const saved = rows.filter(r => r.status === 'abandoned' || r.status === 'rejected').reduce((acc, r) => acc + toNum(r.basics.price), 0) + return { wanted, abandoned, purchased, saved } + } + + const renderStats = () => { + const st = monthlyStats() + $('stats').innerHTML = ` +
    本月想买数
    ${st.wanted}
    +
    本月放弃数
    ${st.abandoned}
    +
    本月购买数
    ${st.purchased}
    +
    节省金额
    ${fmtMoney(st.saved)}
    + ` + } + + const renderHistory = () => { + const box = $('history-list') + const pageInfo = $('history-page-info') + const prevBtn = $('history-prev') + const nextBtn = $('history-next') + box.innerHTML = '' + const list = getHistoryFilteredList() + if (!list.length) { + box.textContent = '暂无符合条件的历史记录' + pageInfo.textContent = '第 0 / 0 页,共 0 条' + prevBtn.disabled = true + nextBtn.disabled = true + return + } + const totalPages = Math.max(1, Math.ceil(list.length / state.ui.history.pageSize)) + if (state.ui.history.page > totalPages) state.ui.history.page = totalPages + if (state.ui.history.page < 1) state.ui.history.page = 1 + const start = (state.ui.history.page - 1) * state.ui.history.pageSize + const end = start + state.ui.history.pageSize + const pageRows = list.slice(start, end) + pageInfo.textContent = `第 ${state.ui.history.page} / ${totalPages} 页,共 ${list.length} 条` + prevBtn.disabled = state.ui.history.page <= 1 + nextBtn.disabled = state.ui.history.page >= totalPages + pageRows.forEach(a => { + const row = document.createElement('div') + row.className = 'row' + const statusText = statusTextOf(a.status) + const coolingLocked = isCoolingLocked(a) + const canActAfterCooling = (a.status === 'cooling' || a.status === 'approved') && hasCoolingEnded(a) + const canRetryPush = a.status === 'purchased' && !a.expenseRecordId + const canMarkLowUsage = a.status === 'purchased' && !a.usageLow + const copyCreateBlock = copyCreateBlockReasonOfApplication(a) + const lowTag = a.usageLow ? '低使用率预警' : '' + const archivedTag = a.archived ? '已归档' : '' + const coolingTip = coolingLocked + ? `
    【冷静期剩余${coolingLeftText(a)}】,期间不可进行购买/放弃/低使用率标记操作
    ` + : '' + const coolingReason = `冷静期还剩${coolingLeftText(a)},期间不能操作哦~` + const endedReason = `这个物品已经标记为“${a.status === 'purchased' ? '已购买' : '已放弃'}”啦,为了避免改来改去出错,现在不能再点其他按钮咯~` + const needPurchaseReason = '要先标记“已购买”之后,才能标记“低使用率”啦。你先确认购买,再过来标记就可以咯~' + const notEligibleReason = '当前这条记录暂不支持这个操作哦,可以先检查状态说明再决定下一步。' + const purchaseBlock = coolingLocked + ? coolingReason + : (a.status === 'purchased' || a.status === 'abandoned' + ? endedReason + : (!canActAfterCooling && a.status !== 'cooling' && a.status !== 'approved' ? notEligibleReason : '')) + const abandonBlock = coolingLocked + ? coolingReason + : (a.status === 'purchased' || a.status === 'abandoned' + ? endedReason + : (!canActAfterCooling && a.status !== 'cooling' && a.status !== 'approved' ? notEligibleReason : '')) + const lowBlock = coolingLocked + ? coolingReason + : (a.status === 'abandoned' ? endedReason : (a.status !== 'purchased' ? needPurchaseReason : (a.usageLow ? '这个物品已经标记过“低使用率”啦~' : ''))) + const editBlock = coolingLocked ? `冷静期还剩${coolingLeftText(a)},为了避免改来改去出错,现在不能修改这个物品的信息啦~` : '' + const deleteBlock = a.status === 'purchased' + ? '这个物品已经标记为“已购买”啦,为了避免财务记录出错,不能删除哦!你可以改成归档隐藏。' + : '' + const actionsHtml = ` + + ${buildActionBtn(a.id, 'purchase', '已购买', purchaseBlock)} + ${buildActionBtn(a.id, 'abandon', '标记放弃', abandonBlock)} + ${buildActionBtn(a.id, 'copy-create', '复制新增', copyCreateBlock)} + ${buildActionBtn(a.id, 'toggle-low', canMarkLowUsage ? '标记低使用率' : '标记低使用率', lowBlock)} + ${buildActionBtn(a.id, 'edit-app', '修改申请', editBlock)} + ${buildActionBtn(a.id, 'archive-app', a.archived ? '取消归档' : '归档隐藏')} + ${buildActionBtn(a.id, 'delete-app', '删除记录', deleteBlock)} + ${canRetryPush ? buildActionBtn(a.id, 'retry-push', '重试同步报销') : ''} + ` + row.innerHTML = ` +
    +
    ${a.basics.name} · ${a.basics.category} · ${fmtMoney(a.basics.price)}
    +
    +
    状态:${statusText}${archivedTag ? ` | ${archivedTag}` : ''} ${lowTag ? `| ${lowTag}` : ''} | 总分:${a.scores.total} | 提交:${fmtDateTime(a.createdAt)}
    +
    反悔可能:${escapeHtml(a.regretPossibility || '未填写')}
    +
    ${a.resultReason || ''}
    + ${coolingTip} +
    + ${actionsHtml} +
    + ` + box.appendChild(row) + }) + } + + const renderAll = () => { + renderDecision() + renderLibrary() + renderStats() + renderHistory() + } + + const getApplicationById = id => state.db.applications.find(a => a.id === id) || null + + const updateApplication = (id, updater) => { + const idx = state.db.applications.findIndex(a => a.id === id) + if (idx < 0) return + const next = updater({ ...state.db.applications[idx] }) + next.updatedAt = now() + state.db.applications[idx] = next + saveDB() + renderAll() + refreshWarning() + } + + const removeApplication = id => { + state.db.applications = state.db.applications.filter(a => a.id !== id) + saveDB() + renderAll() + refreshWarning() + } + + const bindForm = () => { + const form = $('application-form') + form.addEventListener('input', syncFormState) + form.addEventListener('change', syncFormState) + form.addEventListener('submit', async e => { + e.preventDefault() + if (!(await ensureLoggedIn())) return + if (!formCompleted()) { + const reason = getFormBlockReason() || '还有几项没填完,先补齐我再帮你提交。' + setFormStatus(`仍有未完成项:${reason}`) + await modalAlert('先别急着提交', reason) + return + } + const name = $('item-name').value.trim() + const category = $('item-category').value + const similar = findSimilar(name, category) + if (similar.length) { + const ok = await modalConfirm('同类提醒', `您已有同类物品(${similar.length}条),是否确认继续申请?`, '确认继续') + if (!ok) return + } + const dust = findDustRisk(name, category) + if (dust.length) { + const ok = await modalConfirm('吃灰预警', `存在同类吃灰预警(${dust.length}条),仍要继续申请吗?`, '仍要申请') + if (!ok) return + } + const app = createApplication() + state.db.applications.unshift(app) + saveDB() + clearDraft() + setFormStatus(app.status === 'rejected' ? app.resultReason : `新增成功,已进入${app.coolingDays || DEFAULT_COOLING_DAYS}天冷静期`) + renderAll() + if (app.status !== 'rejected') { + await modalAlert('🎉 新增成功!', `你添加的【${app.basics.name}】已经保存好啦,现在进入冷静期(${coolingLeftText(app)}),期间可以看但不能改哦~`) + } + resetForm() + }) + } + + const bindDraft = () => { + $('btn-save-draft').addEventListener('click', async () => { + if (!(await ensureLoggedIn())) return + const draft = saveDraft() + if (!draft) return + setFormStatus(`草稿已保存:${fmtDateTime(draft.savedAt)}`) + await modalAlert('✅ 保存成功!', `你改的【${draft.basics.name || '当前申请'}】信息已经存好啦,不会丢的~`) + }) + $('btn-load-draft').addEventListener('click', async () => { + if (!(await ensureLoggedIn())) return + const draft = loadDraft() + if (!draft) { + await modalAlert('暂无草稿', '当前没有可恢复的草稿记录') + return + } + const ok = applyDraft(draft) + if (ok) { + setFormStatus(`已恢复草稿:${fmtDateTime(draft.savedAt || now())}`) + } + }) + $('btn-clear-draft').addEventListener('click', async () => { + if (!(await ensureLoggedIn())) return + const ok = await modalConfirm('清空草稿', '确认清空已保存的草稿吗?', '确认清空') + if (!ok) return + clearDraft() + setFormStatus('草稿已清空') + }) + } + + const bindReplacementRules = () => { + $('commit-replacement').addEventListener('change', async e => { + const target = e.target + if (!target || target.type !== 'checkbox') return + const s = getReplacementSelection() + const key = target.getAttribute('data-replacement') + if (!key) return + + if (key === 'no-similar' && target.checked && (s.damaged || s.unrepairable)) { + const damagedInput = document.querySelector('#commit-replacement input[data-replacement="damaged"]') + const unrepairableInput = document.querySelector('#commit-replacement input[data-replacement="unrepairable"]') + if (damagedInput) damagedInput.checked = false + if (unrepairableInput) unrepairableInput.checked = false + await modalAlert('已自动调整选项', '你选择了“家中无同类物品”,系统已自动取消“损坏/无法维修”两项,避免逻辑冲突。') + } else if ((key === 'damaged' || key === 'unrepairable') && target.checked && s.noSimilar) { + const noSimilarInput = document.querySelector('#commit-replacement input[data-replacement="no-similar"]') + if (noSimilarInput) noSimilarInput.checked = false + await modalAlert('已自动调整选项', '你选择了“已有旧物状态”项,系统已取消“家中无同类物品”。若是场景2,请同时勾选“损坏/过时”和“无法维修”。') + } + + syncFormState() + }) + } + + const bindLibrary = () => { + if (!hasEl('btn-lib-add') || !hasEl('btn-lib-cancel-edit') || !hasEl('lib-list')) return + $('btn-lib-add').addEventListener('click', async () => { + if (!(await ensureLoggedIn())) return + const name = $('lib-name').value.trim() + const category = $('lib-category').value + const note = $('lib-note').value.trim() + if (!name) return + if (state.ui.library.editingId) { + const idx = state.db.items.findIndex(it => it.id === state.ui.library.editingId) + if (idx >= 0) { + state.db.items[idx] = { ...state.db.items[idx], name, category, note, updatedAt: now() } + } + state.ui.library.editingId = '' + await modalAlert('✅ 保存成功!', `你改的【${name}】信息已经存好啦,不会丢的~`) + } else { + upsertItem(name, category, note) + await modalAlert('🎉 新增成功!', `你添加的【${name}】已经入库啦,后续会用于同类提醒。`) + } + saveDB() + $('lib-name').value = '' + $('lib-note').value = '' + renderLibrary() + refreshWarning() + }) + $('btn-lib-cancel-edit').addEventListener('click', () => { + state.ui.library.editingId = '' + $('lib-name').value = '' + $('lib-note').value = '' + renderLibrary() + }) + $('lib-list').addEventListener('click', async e => { + if (!(await ensureLoggedIn())) return + const editId = e.target && e.target.getAttribute('data-lib-edit') + if (editId) { + const it = state.db.items.find(x => x.id === editId) + if (!it) return + state.ui.library.editingId = editId + $('lib-name').value = it.name || '' + $('lib-category').value = it.category || '其他' + $('lib-note').value = it.note || '' + renderLibrary() + setFormStatus(`已加载物品库【${it.name}】到编辑区,修改后点击“保存修改”`) + return + } + const id = e.target && e.target.getAttribute('data-lib-del') + if (!id) return + const it = state.db.items.find(x => x.id === id) + const ok = await modalConfirm('确认删除', `确认删除物品库中的【${it ? it.name : '该条'}】吗?这不会改动历史申请记录。`, '确定删除', '再想想') + if (!ok) return + state.db.items = state.db.items.filter(x => x.id !== id) + if (state.ui.library.editingId === id) state.ui.library.editingId = '' + saveDB() + renderLibrary() + refreshWarning() + await modalAlert('✅ 删除成功!', `已删除【${it ? it.name : '该物品'}】。历史申请快照不会被改写。`) + }) + } + + const bindSettingsNav = () => { + const btn = $('btn-open-settings') + if (!btn) return + btn.addEventListener('click', () => { + window.location.href = '/tools/rational_lock/settings.html' + }) + } + + const bindActions = () => { + document.addEventListener('click', async e => { + const btn = e.target.closest('button[data-act]') + if (!btn) return + if (!(await ensureLoggedIn())) return + const id = btn.getAttribute('data-id') + const act = btn.getAttribute('data-act') + if (!id || !act) return + if (act === 'view-detail') { + const app = getApplicationById(id) + if (!app) return + await modalDetail('记录详情', detailMessage(app)) + return + } + const blockReason = btn.getAttribute('data-block-reason') + if (blockReason) { + await modalAlert('🔔 暂时不能操作', `你好!${blockReason}`) + return + } + if (act === 'copy-create') { + const app = getApplicationById(id) + if (!app) return + const reason = copyCreateBlockReasonOfApplication(app) + if (reason) { + await modalAlert('🔔 暂时不能复制新增', `你好!${reason}`) + return + } + loadApplicationToForm(app) + refreshWarning() + setFormStatus(`已把【${app.basics && app.basics.name ? app.basics.name : '历史记录'}】复制到表单,可修改后再提交`) + await modalAlert('✅ 已复制到表单', '已把这条记录带到上方表单。你可以先改一点内容,再点击“提交申请”生成新的冷静期记录。') + return + } + if (act === 'purchase') { + const app = getApplicationById(id) + if (!app || app.status === 'purchased' || app.status === 'abandoned') return + if (isCoolingLocked(app)) { + await modalAlert('🔔 暂时不能操作', `你好!这个物品的冷静期还没到(剩余 ${coolingLeftText(app)}),为了避免冲动操作,现在不能标记购买 / 放弃 / 低使用率哦。等冷静期结束后,你再决定就好啦!`) + return + } + if (!(app.status === 'cooling' || app.status === 'approved')) return + const ok = await modalConfirm('✅ 确认要标记“已购买”吗?', '你确定已经买了这个物品吗?\n👉 确认后:相关信息会自动发给报销系统,之后就不能改啦!\n👉 取消的话:可以再想想,不会有任何变化~', '确定购买', '再想想') + if (!ok) return + await withBusy(async () => { + const purchasedAt = now() + updateApplication(id, a => { + a.status = 'purchased' + a.resultReason = '已购买,正在推送至报销系统' + a.expensePushedAt = purchasedAt + a.expenseSyncStatus = 'pending' + a.expenseSyncError = '' + upsertItem(a.basics.name, a.basics.category, '来自购买记录') + return a + }) + try { + const current = getApplicationById(id) + const pushed = await pushPurchaseToExpense(current || app, purchasedAt) + updateApplication(id, a => { + a.resultReason = `已购买 · 已推送至报销系统(记录ID:${pushed.id})` + a.expenseRecordId = pushed.id + a.expenseSyncStatus = 'synced' + a.expenseSyncError = '' + pushActionLog(a, 'purchase', `已推送报销(记录ID:${pushed.id})`) + return a + }) + } catch (err) { + const msg = err && err.message ? err.message : String(err) + updateApplication(id, a => { + a.expenseSyncStatus = 'pending' + a.expenseSyncError = msg + a.expenseRetryCount = toNum(a.expenseRetryCount) + 1 + a.resultReason = `已购买,报销同步失败(可重试同步)。原因:${msg}` + pushActionLog(a, 'purchase', `报销同步失败:${msg}`) + return a + }) + } + }) + const done = getApplicationById(id) + const synced = !!(done && done.expenseRecordId) + await modalAlert('🎉 操作成功!', synced + ? `已经帮你标记“已购买”啦,信息也发给报销系统了。之后这个物品就不能标记放弃或低使用率咯~` + : `已经帮你标记“已购买”啦。当前还没同步到报销系统,你可以点击“重试同步报销”继续处理。`) + } else if (act === 'retry-push') { + const app = getApplicationById(id) + if (!app || app.status !== 'purchased' || app.expenseRecordId) return + await withBusy(async () => { + try { + const purchasedAt = app.expensePushedAt || app.updatedAt || now() + const pushed = await pushPurchaseToExpense(app, purchasedAt) + updateApplication(id, a => { + a.expenseRecordId = pushed.id + a.expensePushedAt = purchasedAt + a.expenseSyncStatus = 'synced' + a.expenseSyncError = '' + a.resultReason = `已购买 · 已推送至报销系统(记录ID:${pushed.id})` + pushActionLog(a, 'retry-push', `同步成功(记录ID:${pushed.id})`) + return a + }) + await modalAlert('✅ 操作成功!', `已经同步到报销系统,记录ID:${pushed.id}`) + } catch (err) { + const msg = err && err.message ? err.message : String(err) + updateApplication(id, a => { + a.expenseSyncStatus = 'pending' + a.expenseSyncError = msg + a.expenseRetryCount = toNum(a.expenseRetryCount) + 1 + a.resultReason = `已购买,报销同步失败(可重试同步)。原因:${msg}` + pushActionLog(a, 'retry-push', `同步失败:${msg}`) + return a + }) + await modalAlert('❌ 还没同步成功', `报销系统仍未同步成功。\n原因:${msg}`) + } + }) + } else if (act === 'abandon') { + const app = getApplicationById(id) + if (!app || app.status === 'abandoned' || app.status === 'purchased') return + if (isCoolingLocked(app)) { + await modalAlert('🔔 暂时不能操作', `你好!这个物品的冷静期还没到(剩余 ${coolingLeftText(app)}),为了避免冲动操作,现在不能标记购买 / 放弃 / 低使用率哦。等冷静期结束后,你再决定就好啦!`) + return + } + const ok = await modalConfirm('❌ 确认要标记“放弃”吗?', '你确定不买这个物品了吗?\n👉 确认后:这个物品就会标记为“放弃购买”,不会发给报销系统,之后也不能再改啦!\n👉 取消的话:可以再想想,不会有任何变化~', '确定放弃', '再想想') + if (!ok) return + updateApplication(id, a => { + a.status = 'abandoned' + a.resultReason = '已放弃,不会推送到报销系统' + pushActionLog(a, 'abandon', '标记为放弃购买') + return a + }) + await modalAlert('✅ 操作成功!', '已经帮你标记“放弃购买”啦,这个物品不会再推送给报销系统咯~') + } else if (act === 'toggle-low') { + const app = getApplicationById(id) + if (!app) return + if (app.status !== 'purchased') { + await modalAlert('❌ 暂时不能标记哦', '要先标记“已购买”之后,才能标记“低使用率”啦。你先确认购买,再过来标记就可以咯~') + return + } + if (app.usageLow) { + await modalAlert('🔒 不能操作啦', '这个物品已经标记过“低使用率”啦,为了避免改来改去出错,现在不能重复标记咯~') + return + } + const ok = await modalConfirm('⚠️ 确认要标记“低使用率”吗?', '你确定这个物品用得很少吗?\n👉 确认后:会标记为“低使用率”,下次你想买和这个一样的东西(比如同款收纳架、同类家居用品),系统会提醒你“别冲动买哦”(红色预警)!\n👉 取消的话:可以再想想,不会有任何变化~', '确定标记', '再想想') + if (!ok) return + updateApplication(id, a => { + a.usageLow = true + a.resultReason = '已购买 · 已标记低使用率(同类购买将预警)' + pushActionLog(a, 'toggle-low', '标记为低使用率') + return a + }) + await modalAlert('🔴 标记成功!重要提醒!', `这个物品已经标记为“低使用率”啦~\n下次你想买【${app.basics.name}】或者类似的家居收纳用品时,系统会弹出红色提醒,让你再考虑考虑哦!`) + } else if (act === 'archive-app') { + const app = getApplicationById(id) + if (!app) return + const nextArchived = !app.archived + updateApplication(id, a => { + a.archived = nextArchived + a.resultReason = nextArchived + ? `${a.resultReason || ''}(已归档隐藏)`.trim() + : String(a.resultReason || '').replace('(已归档隐藏)', '') + pushActionLog(a, nextArchived ? 'archive-on' : 'archive-off', nextArchived ? '归档隐藏记录' : '取消归档显示') + return a + }) + await modalAlert('✅ 操作成功!', nextArchived + ? `已把【${app.basics.name}】归档隐藏啦,你勾选“显示归档”后还能看到。` + : `已把【${app.basics.name}】恢复到正常列表啦。`) + } else if (act === 'delete-app') { + const app = getApplicationById(id) + if (!app) return + if (app.status === 'purchased') { + await modalAlert('🔒 不能删除哦', '这个物品已经推送或准备推送到报销系统了,为了财务不出错,不能删除啦!你可以改成归档隐藏。') + return + } + const ok = await modalConfirm('确认删除记录', `确认删除【${app.basics.name}】吗?删除后不会恢复。`, '确定删除', '再想想') + if (!ok) return + removeApplication(id) + await modalAlert('✅ 删除成功!', `已删除【${app.basics.name}】记录,操作已经入库。`) + } else if (act === 'edit-app') { + const app = getApplicationById(id) + if (!app) return + if (isCoolingLocked(app)) { + await modalAlert('❌ 不能修改哦', `冷静期还剩 ${coolingLeftText(app)},为了避免改来改去出错,现在不能修改这个物品的信息啦~`) + return + } + if (app.status === 'purchased' || app.status === 'abandoned') { + await modalAlert('🔒 不能操作啦', `这个物品已经标记为“${app.status === 'purchased' ? '已购买' : '已放弃'}”啦,为了避免改来改去出错,现在不能再修改咯~`) + return + } + const name = window.prompt('请填写商品名称', app.basics.name || '') + if (name === null) return + const priceRaw = window.prompt('请填写预估价格', String(app.basics.price || '')) + if (priceRaw === null) return + const price = toNum(priceRaw) + const reason = window.prompt('请填写购买原因', app.basics.reason || '') + if (reason === null) return + updateApplication(id, a => { + a.basics.name = String(name || '').trim() || a.basics.name + a.basics.price = price > 0 ? price : a.basics.price + a.basics.reason = String(reason || '').trim() || a.basics.reason + pushActionLog(a, 'edit', `修改为:${a.basics.name} | ${fmtMoney(a.basics.price)}`) + return a + }) + await modalAlert('✅ 保存成功!', `你改的【${String(name || app.basics.name).trim() || app.basics.name}】信息已经存好啦,不会丢的~`) + } + }) + } + + const bindAuth = () => { + const tryLogin = async () => { + const username = String($('login-username').value || '').trim() + const password = String($('login-password').value || '') + if (!username || !password) { + setAuthStatus('请输入账号和密码') + return + } + try { + await apiRequest('/auth/login', { + method: 'POST', + body: { username, password } + }) + } catch { + setAuthStatus('账号或密码不正确,请重试') + await modalAlert('登录失败', '账号或密码不正确,请重新输入。') + return + } + state.auth.currentUser = username + $('login-password').value = '' + try { + await loadDB() + } catch { + state.auth.currentUser = '' + state.db = emptyDB() + state.draft = null + setAuthStatus('登录成功,但读取数据失败,请稍后重试') + renderAll() + syncFormState() + renderAuth() + await modalAlert('数据读取失败', '登录已完成,但暂时无法读取云端数据,请稍后重试。') + return + } + renderAll() + syncFormState() + const draft = loadDraft() + setFormStatus(draft ? '检测到草稿,可点击“继续填写草稿”恢复' : '') + setAuthStatus(`登录成功,欢迎你:${username}`) + renderAuth() + } + + $('btn-login').addEventListener('click', tryLogin) + ;(async function tryAutoFill() { + try { + const token = localStorage.getItem('toolbox_creds_token') || '' + const url = '/api/rational_lock/auth/local_creds' + (token ? '?token=' + encodeURIComponent(token) : '') + const r = await fetch(url, { credentials: 'same-origin', cache: 'no-store' }) + const d = await r.json().catch(() => null) + if (d && d.ok && d.creds) { + if (d.creds.username) $('login-username').value = d.creds.username + if (d.creds.password) $('login-password').value = d.creds.password + } + } catch {} + $('login-username').removeAttribute('readonly') + $('login-password').removeAttribute('readonly') + })() + $('login-password').addEventListener('keydown', async e => { + if (e.key !== 'Enter') return + e.preventDefault() + await tryLogin() + }) + $('btn-logout').addEventListener('click', async () => { + try { await apiRequest('/auth/logout', { method: 'POST' }) } catch {} + state.auth.currentUser = '' + state.db = emptyDB() + state.draft = null + state.ui.library.editingId = '' + $('application-form').reset() + if (hasEl('lib-name')) $('lib-name').value = '' + if (hasEl('lib-note')) $('lib-note').value = '' + setFormStatus('') + setAuthStatus('已退出登录') + renderAll() + syncFormState() + renderAuth() + }) + } + + const bindHistory = () => { + const defaults = getDefaultHistoryRange() + state.ui.history.startDate = defaults.startDate + state.ui.history.endDate = defaults.endDate + $('history-start-date').value = defaults.startDate + $('history-end-date').value = defaults.endDate + $('history-search').addEventListener('input', e => { + state.ui.history.search = String(e.target.value || '') + state.ui.history.page = 1 + renderHistory() + }) + $('history-start-date').addEventListener('change', e => { + state.ui.history.startDate = String(e.target.value || '') + state.ui.history.page = 1 + renderHistory() + }) + $('history-end-date').addEventListener('change', e => { + state.ui.history.endDate = String(e.target.value || '') + state.ui.history.page = 1 + renderHistory() + }) + $('history-show-archived').addEventListener('change', e => { + state.ui.history.showArchived = !!e.target.checked + state.ui.history.page = 1 + renderHistory() + }) + $('btn-history-reset').addEventListener('click', () => { + const nextDefaults = getDefaultHistoryRange() + state.ui.history.search = '' + state.ui.history.startDate = nextDefaults.startDate + state.ui.history.endDate = nextDefaults.endDate + state.ui.history.showArchived = false + state.ui.history.page = 1 + $('history-search').value = '' + $('history-start-date').value = nextDefaults.startDate + $('history-end-date').value = nextDefaults.endDate + $('history-show-archived').checked = false + renderHistory() + }) + $('history-prev').addEventListener('click', () => { + if (state.ui.history.page <= 1) return + state.ui.history.page -= 1 + renderHistory() + }) + $('history-next').addEventListener('click', () => { + state.ui.history.page += 1 + renderHistory() + }) + } + + const init = () => { + const boot = async () => { + try { + const hasSession = await restoreSession() + if (hasSession) await loadDB() + else { + state.db = emptyDB() + state.draft = null + } + renderAll() + syncCoolingDaysText() + renderAuth() + if (hasSession && loadDraft()) { + setFormStatus('检测到草稿,可点击“继续填写草稿”恢复') + } + } catch { + state.auth.currentUser = '' + state.db = emptyDB() + state.draft = null + setAuthStatus('初始化失败,请刷新后重试') + renderAll() + renderAuth() + } + } + bindAuth() + bindForm() + bindDraft() + bindReplacementRules() + bindLibrary() + bindSettingsNav() + bindActions() + bindHistory() + syncFormState() + boot() + setInterval(() => renderDecision(), 1000) + } + + init() +})() diff --git a/public/tools/rational_lock/settings.html b/public/tools/rational_lock/settings.html new file mode 100644 index 0000000..04239f4 --- /dev/null +++ b/public/tools/rational_lock/settings.html @@ -0,0 +1,69 @@ + + + + + + 设置 - 理性锁 + + + + +
    +
    +
    +
    +

    设置

    +

    在这里维护我的物品库,用于同类提醒和吃灰预警

    +
    +
    + + +
    +
    +
    +
    + + +
    + + + + + diff --git a/public/tools/rational_lock/settings.js b/public/tools/rational_lock/settings.js new file mode 100644 index 0000000..035c5c8 --- /dev/null +++ b/public/tools/rational_lock/settings.js @@ -0,0 +1,303 @@ +(() => { + const API_BASE = '/api/rational_lock' + const DEFAULT_USERNAME = 'admin' + const $ = id => document.getElementById(id) + const now = () => Date.now() + const uid = () => `${Date.now()}_${Math.random().toString(36).slice(2, 8)}` + const emptyDB = () => ({ items: [], applications: [] }) + + const state = { + db: emptyDB(), + auth: { currentUser: '' }, + ui: { editingId: '' } + } + + const normalizeDB = value => { + const base = value && typeof value === 'object' ? value : {} + return { + items: Array.isArray(base.items) ? base.items : [], + applications: Array.isArray(base.applications) ? base.applications : [] + } + } + + const setAuthStatus = text => { + $('auth-status').textContent = text || '' + } + + const setFormStatus = text => { + $('form-status').textContent = text || '' + } + + const openModal = ({ title, message, okText = '知道了', cancelText = '', tone = 'normal' }) => { + return new Promise(resolve => { + const mask = $('app-modal') + const titleBox = $('modal-title') + const msgBox = $('modal-message') + const actions = $('modal-actions') + actions.innerHTML = '' + titleBox.textContent = title || '' + msgBox.textContent = message || '' + const close = val => { + mask.style.display = 'none' + resolve(val) + } + if (cancelText) { + const cancelBtn = document.createElement('button') + cancelBtn.className = 'btn' + cancelBtn.type = 'button' + cancelBtn.textContent = cancelText + cancelBtn.addEventListener('click', () => close(false)) + actions.appendChild(cancelBtn) + } + const okBtn = document.createElement('button') + okBtn.className = tone === 'primary' ? 'btn btn-primary' : 'btn' + okBtn.type = 'button' + okBtn.textContent = okText + okBtn.addEventListener('click', () => close(true)) + actions.appendChild(okBtn) + mask.style.display = '' + }) + } + + const modalAlert = (title, message) => openModal({ title, message, okText: '我知道了' }) + const modalConfirm = (title, message, okText = '继续', cancelText = '取消') => openModal({ title, message, okText, cancelText, tone: 'primary' }) + + const apiRequest = async (path, options = {}) => { + const res = await fetch(`${API_BASE}${path}`, { + method: options.method || 'GET', + headers: { + 'Content-Type': 'application/json', + ...(options.headers || {}) + }, + body: options.body === undefined ? undefined : JSON.stringify(options.body), + credentials: 'include' + }) + let payload = null + try { + payload = await res.json() + } catch { + payload = null + } + if (!res.ok) { + const msg = payload && payload.error ? String(payload.error) : `http_${res.status}` + throw new Error(msg) + } + return payload || {} + } + + const renderAuth = () => { + const user = state.auth.currentUser + $('auth-login-box').style.display = user ? 'none' : '' + $('auth-logged-box').style.display = user ? '' : 'none' + $('app-content').style.display = user ? '' : 'none' + $('auth-current-user').textContent = user ? `当前账号:${user}` : '' + } + + const loadDB = async () => { + if (!state.auth.currentUser) { + state.db = emptyDB() + return + } + const payload = await apiRequest('/data') + state.db = normalizeDB(payload.db) + } + + const saveDB = async () => { + if (!state.auth.currentUser) return + await apiRequest('/data', { method: 'PUT', body: { db: state.db } }) + } + + const upsertItem = (name, category, note) => { + const normalizedName = String(name || '').trim() + if (!normalizedName) return null + const normalizedCategory = String(category || '其他').trim() || '其他' + const idx = state.db.items.findIndex(it => String(it.name || '').trim().toLowerCase() === normalizedName.toLowerCase() && String(it.category || '').trim() === normalizedCategory) + if (idx >= 0) { + const next = { + ...state.db.items[idx], + name: normalizedName, + category: normalizedCategory, + note: String(note || '').trim(), + updatedAt: now() + } + state.db.items[idx] = next + return next + } + const row = { + id: uid(), + name: normalizedName, + category: normalizedCategory, + note: String(note || '').trim(), + createdAt: now() + } + state.db.items.unshift(row) + return row + } + + const renderLibrary = () => { + $('btn-lib-add').textContent = state.ui.editingId ? '保存修改' : '加入物品库' + $('btn-lib-cancel-edit').style.display = state.ui.editingId ? '' : 'none' + const box = $('lib-list') + box.innerHTML = '' + if (!state.db.items.length) { + box.textContent = '暂无物品库记录' + return + } + state.db.items.forEach(it => { + const row = document.createElement('div') + row.className = 'row' + row.innerHTML = ` +
    ${it.name} · ${it.category}
    +
    ${it.note || '无备注'}
    +
    + + +
    + ` + box.appendChild(row) + }) + } + + const renderAll = () => { + renderAuth() + renderLibrary() + } + + const bindLibrary = () => { + $('btn-lib-add').addEventListener('click', async () => { + if (!state.auth.currentUser) { + await modalAlert('请先登录', '请先输入账号和密码登录后再操作。') + return + } + const name = $('lib-name').value.trim() + const category = $('lib-category').value + const note = $('lib-note').value.trim() + if (!name) { + await modalAlert('无法保存', '请先填写物品名称。') + return + } + if (state.ui.editingId) { + const idx = state.db.items.findIndex(it => it.id === state.ui.editingId) + if (idx >= 0) { + state.db.items[idx] = { ...state.db.items[idx], name, category, note, updatedAt: now() } + } + state.ui.editingId = '' + await modalAlert('✅ 保存成功!', `你改的【${name}】信息已经存好啦,不会丢的~`) + } else { + upsertItem(name, category, note) + await modalAlert('🎉 新增成功!', `你添加的【${name}】已经入库啦,后续会用于同类提醒。`) + } + await saveDB() + $('lib-name').value = '' + $('lib-note').value = '' + renderLibrary() + setFormStatus('物品库已更新') + }) + + $('btn-lib-cancel-edit').addEventListener('click', () => { + state.ui.editingId = '' + $('lib-name').value = '' + $('lib-note').value = '' + renderLibrary() + }) + + $('lib-list').addEventListener('click', async e => { + if (!state.auth.currentUser) { + await modalAlert('请先登录', '请先输入账号和密码登录后再操作。') + return + } + const target = e.target + const editId = target && target.getAttribute('data-lib-edit') + if (editId) { + const it = state.db.items.find(x => x.id === editId) + if (!it) return + state.ui.editingId = editId + $('lib-name').value = it.name || '' + $('lib-category').value = it.category || '其他' + $('lib-note').value = it.note || '' + renderLibrary() + setFormStatus(`已加载物品库【${it.name}】到编辑区,修改后点击“保存修改”`) + return + } + const id = target && target.getAttribute('data-lib-del') + if (!id) return + const it = state.db.items.find(x => x.id === id) + const ok = await modalConfirm('确认删除', `确认删除物品库中的【${it ? it.name : '该条'}】吗?这不会改动历史申请记录。`, '确定删除', '再想想') + if (!ok) return + state.db.items = state.db.items.filter(x => x.id !== id) + if (state.ui.editingId === id) state.ui.editingId = '' + await saveDB() + renderLibrary() + setFormStatus('物品库已更新') + await modalAlert('✅ 删除成功!', `已删除【${it ? it.name : '该物品'}】。历史申请快照不会被改写。`) + }) + } + + const bindAuth = () => { + const tryLogin = async () => { + const username = String($('login-username').value || '').trim() + const password = String($('login-password').value || '') + if (!username || !password) { + setAuthStatus('请输入账号和密码') + return + } + try { + await apiRequest('/auth/login', { method: 'POST', body: { username, password } }) + } catch { + setAuthStatus('账号或密码不正确,请重试') + await modalAlert('登录失败', '账号或密码不正确,请重新输入。') + return + } + state.auth.currentUser = username + $('login-password').value = '' + await loadDB() + renderAll() + setAuthStatus(`登录成功,欢迎你:${username}`) + setFormStatus('可以开始维护物品库') + } + + $('btn-login').addEventListener('click', tryLogin) + $('login-password').addEventListener('keydown', async e => { + if (e.key !== 'Enter') return + e.preventDefault() + await tryLogin() + }) + $('btn-logout').addEventListener('click', async () => { + try { await apiRequest('/auth/logout', { method: 'POST' }) } catch {} + state.auth.currentUser = '' + state.db = emptyDB() + state.ui.editingId = '' + $('lib-name').value = '' + $('lib-note').value = '' + setFormStatus('') + setAuthStatus('已退出登录') + renderAll() + }) + } + + const bindNav = () => { + $('btn-back-main').addEventListener('click', () => { + window.location.href = '/tools/rational_lock/index.html' + }) + } + + const init = async () => { + bindAuth() + bindLibrary() + bindNav() + try { + const payload = await apiRequest('/auth/me') + state.auth.currentUser = String(payload.username || DEFAULT_USERNAME) + await loadDB() + setAuthStatus(`已登录:${state.auth.currentUser}`) + setFormStatus('可以开始维护物品库') + } catch { + state.auth.currentUser = '' + state.db = emptyDB() + setAuthStatus('请先登录') + } + renderAll() + } + + init() +})() diff --git a/public/tools/rebalance/assets/auth.js b/public/tools/rebalance/assets/auth.js new file mode 100644 index 0000000..19edec7 --- /dev/null +++ b/public/tools/rebalance/assets/auth.js @@ -0,0 +1,181 @@ +(() => { + const originalFetch = window.fetch + window.fetch = (input, init = {}) => { + const opts = Object.assign({}, init) + if (!opts.credentials) opts.credentials = 'include' + return originalFetch(input, opts) + } + const overlayId = 'authOverlay' + const ensureOverlay = () => { + let ov = document.getElementById(overlayId) + if (ov) return ov + ov = document.createElement('div') + ov.id = overlayId + ov.style.position = 'fixed' + ov.style.left = '0'; ov.style.top = '0'; ov.style.right = '0'; ov.style.bottom = '0' + ov.style.display = 'none' + ov.style.alignItems = 'center' + ov.style.justifyContent = 'center' + ov.style.background = 'rgba(0,0,0,0.6)' + ov.style.zIndex = '9999' + const panel = document.createElement('div') + panel.style.background = '#fff' + panel.style.padding = '20px' + panel.style.borderRadius = '8px' + panel.style.boxShadow = '0 4px 12px rgba(0,0,0,0.2)' + const title = document.createElement('div') + title.textContent = '鉴权失败,请重新校验' + title.style.fontSize = '16px' + title.style.marginBottom = '12px' + title.style.color = '#333' + const debug = document.createElement('pre') + debug.id = 'authDebug' + debug.style.fontSize = '12px' + debug.style.lineHeight = '1.5' + debug.style.background = '#f7f7f8' + debug.style.border = '1px solid #e3e3e7' + debug.style.padding = '10px' + debug.style.margin = '0 0 12px 0' + debug.style.maxWidth = '520px' + debug.style.maxHeight = '240px' + debug.style.overflow = 'auto' + debug.textContent = '正在收集诊断信息...' + const btn = document.createElement('button') + btn.textContent = '重新校验' + btn.style.padding = '8px 16px' + btn.addEventListener('click', async () => { + await handshake() + }) + panel.appendChild(title) + panel.appendChild(debug) + panel.appendChild(btn) + ov.appendChild(panel) + document.body.appendChild(ov) + return ov + } + const showOverlay = () => { ensureOverlay().style.display = 'flex' } + const hideOverlay = () => { const ov = ensureOverlay(); ov.style.display = 'none' } + let cfg = { enableCookieAuth: true, cookieName: 'rebalance_jwt' } + const loadConfig = async () => { + try { + const res = await fetch('assets/auth_config.json', { cache: 'no-store' }) + if (!res.ok) return + const data = await res.json() + cfg = Object.assign({}, cfg, data || {}) + } catch (_) {} + } + const debugState = { + url: '', + config: {}, + tokenInUrl: false, + tokenCall: { tried: false, ok: false, status: 0 }, + handshake: { tried: false, ok: false, status: 0 }, + server: {} + } + const removeTokenFromUrl = () => { + try { + const nu = new URL(window.location.href) + nu.searchParams.delete('token') + window.history.replaceState(null, document.title, nu.toString()) + } catch (_) {} + } + const handleTokenInUrl = async () => { + try { + const u = new URL(window.location.href) + const token = u.searchParams.get('token') + debugState.url = u.toString() + debugState.config = { enableCookieAuth: !!cfg.enableCookieAuth, cookieName: String(cfg.cookieName || '') } + debugState.tokenInUrl = !!token + if (token) { + if (cfg.enableCookieAuth) { + const r = await fetch(`/auth/token?token=${encodeURIComponent(token)}`, { method: 'GET' }) + debugState.tokenCall.tried = true + debugState.tokenCall.ok = r.ok + debugState.tokenCall.status = r.status || 0 + removeTokenFromUrl() + return r.ok + } else { + removeTokenFromUrl() + return true + } + } + } catch (_) {} + return true + } + const handshake = async () => { + if (!cfg.enableCookieAuth) { hideOverlay(); return true } + try { + const r = await fetch('/auth/handshake', { cache: 'no-store' }) + debugState.handshake.tried = true + debugState.handshake.ok = r.ok + debugState.handshake.status = r.status || 0 + try { + const dbgRes = await fetch('/auth/debug', { cache: 'no-store' }) + try { + const body = await dbgRes.json() + debugState.server = body + } catch (_) { + debugState.server = { error: 'debug parse failed', status: dbgRes.status || 0 } + } + } catch (e) { + debugState.server = { error: 'debug request failed' } + } + const box = document.getElementById('authDebug') + if (box) { + const lines = [] + lines.push(`URL: ${debugState.url}`) + lines.push(`Config: enableCookieAuth=${debugState.config.enableCookieAuth} cookieName=${debugState.config.cookieName}`) + lines.push(`TokenInUrl: ${debugState.tokenInUrl}`) + lines.push(`TokenCall: tried=${debugState.tokenCall.tried} ok=${debugState.tokenCall.ok} status=${debugState.tokenCall.status}`) + lines.push(`Handshake: tried=${debugState.handshake.tried} ok=${debugState.handshake.ok} status=${debugState.handshake.status}`) + if (debugState.server && typeof debugState.server === 'object') { + lines.push(`Server.enableAuth: ${debugState.server.enableAuth}`) + lines.push(`Server.jwkLoaded: ${debugState.server.jwkLoaded}`) + lines.push(`Server.cookieName: ${debugState.server.cookieName}`) + lines.push(`Server.cookiePresent: ${debugState.server.cookiePresent}`) + lines.push(`Server.verified: ${debugState.server.verified}`) + lines.push(`Server.keysCount: ${debugState.server.keysCount}`) + try { + const ks = Array.isArray(debugState.server.keysSources) ? debugState.server.keysSources : [] + lines.push(`Server.keysSources: ${JSON.stringify(ks)}`) + } catch (_) {} + try { + const th = debugState.server.tokenHeader || {} + const tp = debugState.server.tokenPayload || {} + lines.push(`Server.tokenHeader.alg: ${th.alg || ''}`) + lines.push(`Server.tokenPayload.iss: ${tp.iss || ''}`) + lines.push(`Server.tokenPayload.aud: ${tp.aud || ''}`) + lines.push(`Server.tokenPayload.exp: ${tp.exp || ''}`) + } catch (_) {} + if (debugState.server.error) { + lines.push(`Server.error: ${debugState.server.error}`) + } + const rq = debugState.server.request || {} + lines.push(`Server.request.host: ${rq.host || ''}`) + lines.push(`Server.request.path: ${rq.path || ''}`) + lines.push(`Server.request.origin: ${rq.origin || ''}`) + lines.push(`Server.request.secFetchMode: ${rq.secFetchMode || ''}`) + lines.push(`Server.request.forwardedProto: ${rq.forwardedProto || ''}`) + lines.push(`Server.request.secure: ${rq.secure}`) + lines.push(`Server.request.proto: ${rq.proto || ''}`) + } else { + lines.push(`Server: ${String(debugState.server)}`) + } + lines.push(`Expected URLs: /auth/token?token=... , /auth/handshake , /api/...`) + box.textContent = lines.join('\n') + } + if (r.ok) { hideOverlay(); return true } + showOverlay(); return false + } catch (_) { showOverlay(); return false } + } + const init = async () => { + await loadConfig() + await handleTokenInUrl() + await handshake() + } + if (document.readyState === 'complete' || document.readyState === 'interactive') { + init() + } else { + document.addEventListener('DOMContentLoaded', init) + } +})() diff --git a/public/tools/rebalance/assets/auth_config.json b/public/tools/rebalance/assets/auth_config.json new file mode 100644 index 0000000..523ccb3 --- /dev/null +++ b/public/tools/rebalance/assets/auth_config.json @@ -0,0 +1,9 @@ +{ + "_comment": "资产再平衡(Rebalance)前端的导航鉴权配置", + "enableCookieAuth_comment": "true:启用基于导航网关 nav_gate 的 cookie 鉴权", + "enableCookieAuth": true, + "cookieName_comment": "导航网关颁发的鉴权 cookie 名称", + "cookieName": "nav_gate", + "max_age_days_comment": "鉴权 cookie 的最大有效天数(1~365)", + "max_age_days": 30 +} diff --git a/public/tools/rebalance/index.html b/public/tools/rebalance/index.html new file mode 100644 index 0000000..bba3c77 --- /dev/null +++ b/public/tools/rebalance/index.html @@ -0,0 +1,2032 @@ + + + + + + 测试路径平衡系统【TRAE】 + + + + + + +
    +

    测试路径平衡系统

    +
    + + + + +
    + +
    +

    上传数据源文件

    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + + + + + + +
    + + +
    +
    +
    +
    +
    + + + + + +
    + + + + + diff --git a/public/tools/rebalance/lib/xlsx.full.min.js b/public/tools/rebalance/lib/xlsx.full.min.js new file mode 100644 index 0000000..16e013f --- /dev/null +++ b/public/tools/rebalance/lib/xlsx.full.min.js @@ -0,0 +1,22 @@ +/*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */ +var DO_NOT_EXPORT_CODEPAGE=true;var cptable={version:"1.15.0"};cptable[437]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[620]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàąçêëèïîćÄĄĘęłôöĆûùŚÖܢ٥śƒŹŻóÓńŃźż¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[737]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρσςτυφχψ░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ωάέήϊίόύϋώΆΈΉΊΌΎΏ±≥≤ΪΫ÷≈°∙·√ⁿ²■ ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[850]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø×ƒáíóúñѪº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈıÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýݯ´­±‗¾¶§÷¸°¨·¹³²■ ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[852]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäůćçłëŐőîŹÄĆÉĹĺôöĽľŚśÖÜŤťŁ×čáíóúĄąŽžĘ꬟Ⱥ«»░▒▓│┤ÁÂĚŞ╣║╗╝Żż┐└┴┬├─┼Ăă╚╔╩╦╠═╬¤đĐĎËďŇÍÎě┘┌█▄ŢŮ▀ÓßÔŃńňŠšŔÚŕŰýÝţ´­˝˛ˇ˘§÷¸°¨˙űŘř■ ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[857]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîıÄÅÉæÆôöòûùİÖÜø£ØŞşáíóúñÑĞ𿮬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ºªÊËÈ�ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµ�×ÚÛÙìÿ¯´­±�¾¶§÷¸°¨·¹³²■ ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[861]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèÐðÞÄÅÉæÆôöþûÝýÖÜø£Ø₧ƒáíóúÁÍÓÚ¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[865]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø₧ƒáíóúñѪº¿⌐¬½¼¡«¤░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[866]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■ ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[874]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€����…�����������‘’“”•–—�������� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[895]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ČüéďäĎŤčěĚĹÍľǪÄÁÉžŽôöÓůÚýÖÜŠĽÝŘťáíóúňŇŮÔšřŕŔ¼§«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[932]=function(){var e=[],r={},t=[],a;t[0]="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~���������������������������������。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙゚��������������������������������".split("");for(a=0;a!=t[0].length;++a)if(t[0][a].charCodeAt(0)!==65533){r[t[0][a]]=0+a;e[0+a]=t[0][a]}t[129]="���������������������������������������������������������������� 、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/\~∥|…‥‘’“”()〔〕[]{}〈〉《》「」『』【】+-±×�÷=≠<>≦≧∞∴♂♀°′″℃¥$¢£%#&*@§☆★○●◎◇◆□■△▲▽▼※〒→←↑↓〓�����������∈∋⊆⊇⊂⊃∪∩��������∧∨¬⇒⇔∀∃�����������∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬�������ʼn♯♭♪†‡¶����◯���".split("");for(a=0;a!=t[129].length;++a)if(t[129][a].charCodeAt(0)!==65533){r[t[129][a]]=33024+a;e[33024+a]=t[129][a]}t[130]="�������������������������������������������������������������������������������0123456789�������ABCDEFGHIJKLMNOPQRSTUVWXYZ�������abcdefghijklmnopqrstuvwxyz����ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん��������������".split("");for(a=0;a!=t[130].length;++a)if(t[130][a].charCodeAt(0)!==65533){r[t[130][a]]=33280+a;e[33280+a]=t[130][a]}t[131]="����������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミ�ムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ��������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�����������������������������������������".split("");for(a=0;a!=t[131].length;++a)if(t[131][a].charCodeAt(0)!==65533){r[t[131][a]]=33536+a;e[33536+a]=t[131][a]}t[132]="����������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмн�опрстуфхцчшщъыьэюя�������������─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂�����������������������������������������������������������������".split("");for(a=0;a!=t[132].length;++a)if(t[132][a].charCodeAt(0)!==65533){r[t[132][a]]=33792+a;e[33792+a]=t[132][a]}t[135]="����������������������������������������������������������������①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ�㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡��������㍻�〝〟№㏍℡㊤㊥㊦㊧㊨㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪���������������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[135].length;++a)if(t[135][a].charCodeAt(0)!==65533){r[t[135][a]]=34560+a;e[34560+a]=t[135][a]}t[136]="���������������������������������������������������������������������������������������������������������������������������������������������������������������亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭���".split("");for(a=0;a!=t[136].length;++a)if(t[136][a].charCodeAt(0)!==65533){r[t[136][a]]=34816+a;e[34816+a]=t[136][a]}t[137]="����������������������������������������������������������������院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円�園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改���".split("");for(a=0;a!=t[137].length;++a)if(t[137][a].charCodeAt(0)!==65533){r[t[137][a]]=35072+a;e[35072+a]=t[137][a]}t[138]="����������������������������������������������������������������魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫�橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄���".split("");for(a=0;a!=t[138].length;++a)if(t[138][a].charCodeAt(0)!==65533){r[t[138][a]]=35328+a;e[35328+a]=t[138][a]}t[139]="����������������������������������������������������������������機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救�朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈���".split("");for(a=0;a!=t[139].length;++a)if(t[139][a].charCodeAt(0)!==65533){r[t[139][a]]=35584+a;e[35584+a]=t[139][a]}t[140]="����������������������������������������������������������������掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨�劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向���".split("");for(a=0;a!=t[140].length;++a)if(t[140][a].charCodeAt(0)!==65533){r[t[140][a]]=35840+a;e[35840+a]=t[140][a]}t[141]="����������������������������������������������������������������后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降�項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷���".split("");for(a=0;a!=t[141].length;++a)if(t[141][a].charCodeAt(0)!==65533){r[t[141][a]]=36096+a;e[36096+a]=t[141][a]}t[142]="����������������������������������������������������������������察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止�死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周���".split("");for(a=0;a!=t[142].length;++a)if(t[142][a].charCodeAt(0)!==65533){r[t[142][a]]=36352+a;e[36352+a]=t[142][a]}t[143]="����������������������������������������������������������������宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳�準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾���".split("");for(a=0;a!=t[143].length;++a)if(t[143][a].charCodeAt(0)!==65533){r[t[143][a]]=36608+a;e[36608+a]=t[143][a]}t[144]="����������������������������������������������������������������拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨�逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線���".split("");for(a=0;a!=t[144].length;++a)if(t[144][a].charCodeAt(0)!==65533){r[t[144][a]]=36864+a;e[36864+a]=t[144][a]}t[145]="����������������������������������������������������������������繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻�操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只���".split("");for(a=0;a!=t[145].length;++a)if(t[145][a].charCodeAt(0)!==65533){r[t[145][a]]=37120+a;e[37120+a]=t[145][a]}t[146]="����������������������������������������������������������������叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄�逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓���".split("");for(a=0;a!=t[146].length;++a)if(t[146][a].charCodeAt(0)!==65533){r[t[146][a]]=37376+a;e[37376+a]=t[146][a]}t[147]="����������������������������������������������������������������邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬�凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入���".split("");for(a=0;a!=t[147].length;++a)if(t[147][a].charCodeAt(0)!==65533){r[t[147][a]]=37632+a;e[37632+a]=t[147][a]}t[148]="����������������������������������������������������������������如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅�楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美���".split("");for(a=0;a!=t[148].length;++a)if(t[148][a].charCodeAt(0)!==65533){r[t[148][a]]=37888+a;e[37888+a]=t[148][a]}t[149]="����������������������������������������������������������������鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷�斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋���".split("");for(a=0;a!=t[149].length;++a)if(t[149][a].charCodeAt(0)!==65533){r[t[149][a]]=38144+a;e[38144+a]=t[149][a]}t[150]="����������������������������������������������������������������法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆�摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒���".split("");for(a=0;a!=t[150].length;++a)if(t[150][a].charCodeAt(0)!==65533){r[t[150][a]]=38400+a;e[38400+a]=t[150][a]}t[151]="����������������������������������������������������������������諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲�沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯���".split("");for(a=0;a!=t[151].length;++a)if(t[151][a].charCodeAt(0)!==65533){r[t[151][a]]=38656+a;e[38656+a]=t[151][a]}t[152]="����������������������������������������������������������������蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕��������������������������������������������弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲���".split("");for(a=0;a!=t[152].length;++a)if(t[152][a].charCodeAt(0)!==65533){r[t[152][a]]=38912+a;e[38912+a]=t[152][a]}t[153]="����������������������������������������������������������������僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭�凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨���".split("");for(a=0;a!=t[153].length;++a)if(t[153][a].charCodeAt(0)!==65533){r[t[153][a]]=39168+a;e[39168+a]=t[153][a]}t[154]="����������������������������������������������������������������咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸�噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩���".split("");for(a=0;a!=t[154].length;++a)if(t[154][a].charCodeAt(0)!==65533){r[t[154][a]]=39424+a;e[39424+a]=t[154][a]}t[155]="����������������������������������������������������������������奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀�它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏���".split("");for(a=0;a!=t[155].length;++a)if(t[155][a].charCodeAt(0)!==65533){r[t[155][a]]=39680+a;e[39680+a]=t[155][a]}t[156]="����������������������������������������������������������������廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠�怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛���".split("");for(a=0;a!=t[156].length;++a)if(t[156][a].charCodeAt(0)!==65533){r[t[156][a]]=39936+a;e[39936+a]=t[156][a]}t[157]="����������������������������������������������������������������戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫�捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼���".split("");for(a=0;a!=t[157].length;++a)if(t[157][a].charCodeAt(0)!==65533){r[t[157][a]]=40192+a;e[40192+a]=t[157][a]}t[158]="����������������������������������������������������������������曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎�梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣���".split("");for(a=0;a!=t[158].length;++a)if(t[158][a].charCodeAt(0)!==65533){r[t[158][a]]=40448+a;e[40448+a]=t[158][a]}t[159]="����������������������������������������������������������������檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯�麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌���".split("");for(a=0;a!=t[159].length;++a)if(t[159][a].charCodeAt(0)!==65533){r[t[159][a]]=40704+a;e[40704+a]=t[159][a]}t[224]="����������������������������������������������������������������漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝�烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱���".split("");for(a=0;a!=t[224].length;++a)if(t[224][a].charCodeAt(0)!==65533){r[t[224][a]]=57344+a;e[57344+a]=t[224][a]}t[225]="����������������������������������������������������������������瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿�痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬���".split("");for(a=0;a!=t[225].length;++a)if(t[225][a].charCodeAt(0)!==65533){r[t[225][a]]=57600+a;e[57600+a]=t[225][a]}t[226]="����������������������������������������������������������������磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰�窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆���".split("");for(a=0;a!=t[226].length;++a)if(t[226][a].charCodeAt(0)!==65533){r[t[226][a]]=57856+a;e[57856+a]=t[226][a]}t[227]="����������������������������������������������������������������紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷�縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋���".split("");for(a=0;a!=t[227].length;++a)if(t[227][a].charCodeAt(0)!==65533){r[t[227][a]]=58112+a;e[58112+a]=t[227][a]}t[228]="����������������������������������������������������������������隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤�艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈���".split("");for(a=0;a!=t[228].length;++a)if(t[228][a].charCodeAt(0)!==65533){r[t[228][a]]=58368+a;e[58368+a]=t[228][a]}t[229]="����������������������������������������������������������������蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬�蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞���".split("");for(a=0;a!=t[229].length;++a)if(t[229][a].charCodeAt(0)!==65533){r[t[229][a]]=58624+a;e[58624+a]=t[229][a]}t[230]="����������������������������������������������������������������襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧�諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊���".split("");for(a=0;a!=t[230].length;++a)if(t[230][a].charCodeAt(0)!==65533){r[t[230][a]]=58880+a;e[58880+a]=t[230][a]}t[231]="����������������������������������������������������������������蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜�轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮���".split("");for(a=0;a!=t[231].length;++a)if(t[231][a].charCodeAt(0)!==65533){r[t[231][a]]=59136+a;e[59136+a]=t[231][a]}t[232]="����������������������������������������������������������������錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙�閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰���".split("");for(a=0;a!=t[232].length;++a)if(t[232][a].charCodeAt(0)!==65533){r[t[232][a]]=59392+a;e[59392+a]=t[232][a]}t[233]="����������������������������������������������������������������顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃�騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈���".split("");for(a=0;a!=t[233].length;++a)if(t[233][a].charCodeAt(0)!==65533){r[t[233][a]]=59648+a;e[59648+a]=t[233][a]}t[234]="����������������������������������������������������������������鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯�黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠堯槇遙瑤凜熙�������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[234].length;++a)if(t[234][a].charCodeAt(0)!==65533){r[t[234][a]]=59904+a;e[59904+a]=t[234][a]}t[237]="����������������������������������������������������������������纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏�塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱���".split("");for(a=0;a!=t[237].length;++a)if(t[237][a].charCodeAt(0)!==65533){r[t[237][a]]=60672+a;e[60672+a]=t[237][a]}t[238]="����������������������������������������������������������������犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙�蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑��ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ¬¦'"���".split("");for(a=0;a!=t[238].length;++a)if(t[238][a].charCodeAt(0)!==65533){r[t[238][a]]=60928+a;e[60928+a]=t[238][a]}t[250]="����������������������������������������������������������������ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ¬¦'"㈱№℡∵纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊�兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯���".split("");for(a=0;a!=t[250].length;++a)if(t[250][a].charCodeAt(0)!==65533){r[t[250][a]]=64e3+a;e[64e3+a]=t[250][a]}t[251]="����������������������������������������������������������������涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神�祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙���".split("");for(a=0;a!=t[251].length;++a)if(t[251][a].charCodeAt(0)!==65533){r[t[251][a]]=64256+a;e[64256+a]=t[251][a]}t[252]="����������������������������������������������������������������髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[252].length;++a)if(t[252][a].charCodeAt(0)!==65533){r[t[252][a]]=64512+a;e[64512+a]=t[252][a]}return{enc:r,dec:e}}();cptable[936]=function(){var e=[],r={},t=[],a;t[0]="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�������������������������������������������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[0].length;++a)if(t[0][a].charCodeAt(0)!==65533){r[t[0][a]]=0+a;e[0+a]=t[0][a]}t[129]="����������������������������������������������������������������丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳丵丷丼乀乁乂乄乆乊乑乕乗乚乛乢乣乤乥乧乨乪乫乬乭乮乯乲乴乵乶乷乸乹乺乻乼乽乿亀亁亂亃亄亅亇亊�亐亖亗亙亜亝亞亣亪亯亰亱亴亶亷亸亹亼亽亾仈仌仏仐仒仚仛仜仠仢仦仧仩仭仮仯仱仴仸仹仺仼仾伀伂伃伄伅伆伇伈伋伌伒伓伔伕伖伜伝伡伣伨伩伬伭伮伱伳伵伷伹伻伾伿佀佁佂佄佅佇佈佉佊佋佌佒佔佖佡佢佦佨佪佫佭佮佱佲併佷佸佹佺佽侀侁侂侅來侇侊侌侎侐侒侓侕侖侘侙侚侜侞侟価侢�".split("");for(a=0;a!=t[129].length;++a)if(t[129][a].charCodeAt(0)!==65533){r[t[129][a]]=33024+a;e[33024+a]=t[129][a]}t[130]="����������������������������������������������������������������侤侫侭侰侱侲侳侴侶侷侸侹侺侻侼侽侾俀俁係俆俇俈俉俋俌俍俒俓俔俕俖俙俛俠俢俤俥俧俫俬俰俲俴俵俶俷俹俻俼俽俿倀倁倂倃倄倅倆倇倈倉倊�個倎倐們倓倕倖倗倛倝倞倠倢倣値倧倫倯倰倱倲倳倴倵倶倷倸倹倻倽倿偀偁偂偄偅偆偉偊偋偍偐偑偒偓偔偖偗偘偙偛偝偞偟偠偡偢偣偤偦偧偨偩偪偫偭偮偯偰偱偲偳側偵偸偹偺偼偽傁傂傃傄傆傇傉傊傋傌傎傏傐傑傒傓傔傕傖傗傘備傚傛傜傝傞傟傠傡傢傤傦傪傫傭傮傯傰傱傳傴債傶傷傸傹傼�".split("");for(a=0;a!=t[130].length;++a)if(t[130][a].charCodeAt(0)!==65533){r[t[130][a]]=33280+a;e[33280+a]=t[130][a]}t[131]="����������������������������������������������������������������傽傾傿僀僁僂僃僄僅僆僇僈僉僊僋僌働僎僐僑僒僓僔僕僗僘僙僛僜僝僞僟僠僡僢僣僤僥僨僩僪僫僯僰僱僲僴僶僷僸價僺僼僽僾僿儀儁儂儃億儅儈�儉儊儌儍儎儏儐儑儓儔儕儖儗儘儙儚儛儜儝儞償儠儢儣儤儥儦儧儨儩優儫儬儭儮儯儰儱儲儳儴儵儶儷儸儹儺儻儼儽儾兂兇兊兌兎兏児兒兓兗兘兙兛兝兞兟兠兡兣兤兦內兩兪兯兲兺兾兿冃冄円冇冊冋冎冏冐冑冓冔冘冚冝冞冟冡冣冦冧冨冩冪冭冮冴冸冹冺冾冿凁凂凃凅凈凊凍凎凐凒凓凔凕凖凗�".split("");for(a=0;a!=t[131].length;++a)if(t[131][a].charCodeAt(0)!==65533){r[t[131][a]]=33536+a;e[33536+a]=t[131][a]}t[132]="����������������������������������������������������������������凘凙凚凜凞凟凢凣凥処凧凨凩凪凬凮凱凲凴凷凾刄刅刉刋刌刏刐刓刔刕刜刞刟刡刢刣別刦刧刪刬刯刱刲刴刵刼刾剄剅剆則剈剉剋剎剏剒剓剕剗剘�剙剚剛剝剟剠剢剣剤剦剨剫剬剭剮剰剱剳剴創剶剷剸剹剺剻剼剾劀劃劄劅劆劇劉劊劋劌劍劎劏劑劒劔劕劖劗劘劙劚劜劤劥劦劧劮劯劰労劵劶劷劸効劺劻劼劽勀勁勂勄勅勆勈勊勌勍勎勏勑勓勔動勗務勚勛勜勝勞勠勡勢勣勥勦勧勨勩勪勫勬勭勮勯勱勲勳勴勵勶勷勸勻勼勽匁匂匃匄匇匉匊匋匌匎�".split("");for(a=0;a!=t[132].length;++a)if(t[132][a].charCodeAt(0)!==65533){r[t[132][a]]=33792+a;e[33792+a]=t[132][a]}t[133]="����������������������������������������������������������������匑匒匓匔匘匛匜匞匟匢匤匥匧匨匩匫匬匭匯匰匱匲匳匴匵匶匷匸匼匽區卂卄卆卋卌卍卐協単卙卛卝卥卨卪卬卭卲卶卹卻卼卽卾厀厁厃厇厈厊厎厏�厐厑厒厓厔厖厗厙厛厜厞厠厡厤厧厪厫厬厭厯厰厱厲厳厴厵厷厸厹厺厼厽厾叀參叄叅叆叇収叏叐叒叓叕叚叜叝叞叡叢叧叴叺叾叿吀吂吅吇吋吔吘吙吚吜吢吤吥吪吰吳吶吷吺吽吿呁呂呄呅呇呉呌呍呎呏呑呚呝呞呟呠呡呣呥呧呩呪呫呬呭呮呯呰呴呹呺呾呿咁咃咅咇咈咉咊咍咑咓咗咘咜咞咟咠咡�".split("");for(a=0;a!=t[133].length;++a)if(t[133][a].charCodeAt(0)!==65533){r[t[133][a]]=34048+a;e[34048+a]=t[133][a]}t[134]="����������������������������������������������������������������咢咥咮咰咲咵咶咷咹咺咼咾哃哅哊哋哖哘哛哠員哢哣哤哫哬哯哰哱哴哵哶哷哸哹哻哾唀唂唃唄唅唈唊唋唌唍唎唒唓唕唖唗唘唙唚唜唝唞唟唡唥唦�唨唩唫唭唲唴唵唶唸唹唺唻唽啀啂啅啇啈啋啌啍啎問啑啒啓啔啗啘啙啚啛啝啞啟啠啢啣啨啩啫啯啰啱啲啳啴啹啺啽啿喅喆喌喍喎喐喒喓喕喖喗喚喛喞喠喡喢喣喤喥喦喨喩喪喫喬喭單喯喰喲喴営喸喺喼喿嗀嗁嗂嗃嗆嗇嗈嗊嗋嗎嗏嗐嗕嗗嗘嗙嗚嗛嗞嗠嗢嗧嗩嗭嗮嗰嗱嗴嗶嗸嗹嗺嗻嗼嗿嘂嘃嘄嘅�".split("");for(a=0;a!=t[134].length;++a)if(t[134][a].charCodeAt(0)!==65533){r[t[134][a]]=34304+a;e[34304+a]=t[134][a]}t[135]="����������������������������������������������������������������嘆嘇嘊嘋嘍嘐嘑嘒嘓嘔嘕嘖嘗嘙嘚嘜嘝嘠嘡嘢嘥嘦嘨嘩嘪嘫嘮嘯嘰嘳嘵嘷嘸嘺嘼嘽嘾噀噁噂噃噄噅噆噇噈噉噊噋噏噐噑噒噓噕噖噚噛噝噞噟噠噡�噣噥噦噧噭噮噯噰噲噳噴噵噷噸噹噺噽噾噿嚀嚁嚂嚃嚄嚇嚈嚉嚊嚋嚌嚍嚐嚑嚒嚔嚕嚖嚗嚘嚙嚚嚛嚜嚝嚞嚟嚠嚡嚢嚤嚥嚦嚧嚨嚩嚪嚫嚬嚭嚮嚰嚱嚲嚳嚴嚵嚶嚸嚹嚺嚻嚽嚾嚿囀囁囂囃囄囅囆囇囈囉囋囌囍囎囏囐囑囒囓囕囖囘囙囜団囥囦囧囨囩囪囬囮囯囲図囶囷囸囻囼圀圁圂圅圇國圌圍圎圏圐圑�".split("");for(a=0;a!=t[135].length;++a)if(t[135][a].charCodeAt(0)!==65533){r[t[135][a]]=34560+a;e[34560+a]=t[135][a]}t[136]="����������������������������������������������������������������園圓圔圕圖圗團圙圚圛圝圞圠圡圢圤圥圦圧圫圱圲圴圵圶圷圸圼圽圿坁坃坄坅坆坈坉坋坒坓坔坕坖坘坙坢坣坥坧坬坮坰坱坲坴坵坸坹坺坽坾坿垀�垁垇垈垉垊垍垎垏垐垑垔垕垖垗垘垙垚垜垝垞垟垥垨垪垬垯垰垱垳垵垶垷垹垺垻垼垽垾垿埀埁埄埅埆埇埈埉埊埌埍埐埑埓埖埗埛埜埞埡埢埣埥埦埧埨埩埪埫埬埮埰埱埲埳埵埶執埻埼埾埿堁堃堄堅堈堉堊堌堎堏堐堒堓堔堖堗堘堚堛堜堝堟堢堣堥堦堧堨堩堫堬堭堮堯報堲堳場堶堷堸堹堺堻堼堽�".split("");for(a=0;a!=t[136].length;++a)if(t[136][a].charCodeAt(0)!==65533){r[t[136][a]]=34816+a;e[34816+a]=t[136][a]}t[137]="����������������������������������������������������������������堾堿塀塁塂塃塅塆塇塈塉塊塋塎塏塐塒塓塕塖塗塙塚塛塜塝塟塠塡塢塣塤塦塧塨塩塪塭塮塯塰塱塲塳塴塵塶塷塸塹塺塻塼塽塿墂墄墆墇墈墊墋墌�墍墎墏墐墑墔墕墖増墘墛墜墝墠墡墢墣墤墥墦墧墪墫墬墭墮墯墰墱墲墳墴墵墶墷墸墹墺墻墽墾墿壀壂壃壄壆壇壈壉壊壋壌壍壎壏壐壒壓壔壖壗壘壙壚壛壜壝壞壟壠壡壢壣壥壦壧壨壩壪壭壯壱売壴壵壷壸壺壻壼壽壾壿夀夁夃夅夆夈変夊夋夌夎夐夑夒夓夗夘夛夝夞夠夡夢夣夦夨夬夰夲夳夵夶夻�".split("");for(a=0;a!=t[137].length;++a)if(t[137][a].charCodeAt(0)!==65533){r[t[137][a]]=35072+a;e[35072+a]=t[137][a]}t[138]="����������������������������������������������������������������夽夾夿奀奃奅奆奊奌奍奐奒奓奙奛奜奝奞奟奡奣奤奦奧奨奩奪奫奬奭奮奯奰奱奲奵奷奺奻奼奾奿妀妅妉妋妌妎妏妐妑妔妕妘妚妛妜妝妟妠妡妢妦�妧妬妭妰妱妳妴妵妶妷妸妺妼妽妿姀姁姂姃姄姅姇姈姉姌姍姎姏姕姖姙姛姞姟姠姡姢姤姦姧姩姪姫姭姮姯姰姱姲姳姴姵姶姷姸姺姼姽姾娀娂娊娋娍娎娏娐娒娔娕娖娗娙娚娛娝娞娡娢娤娦娧娨娪娫娬娭娮娯娰娳娵娷娸娹娺娻娽娾娿婁婂婃婄婅婇婈婋婌婍婎婏婐婑婒婓婔婖婗婘婙婛婜婝婞婟婠�".split("");for(a=0;a!=t[138].length;++a)if(t[138][a].charCodeAt(0)!==65533){r[t[138][a]]=35328+a;e[35328+a]=t[138][a]}t[139]="����������������������������������������������������������������婡婣婤婥婦婨婩婫婬婭婮婯婰婱婲婳婸婹婻婼婽婾媀媁媂媃媄媅媆媇媈媉媊媋媌媍媎媏媐媑媓媔媕媖媗媘媙媜媝媞媟媠媡媢媣媤媥媦媧媨媩媫媬�媭媮媯媰媱媴媶媷媹媺媻媼媽媿嫀嫃嫄嫅嫆嫇嫈嫊嫋嫍嫎嫏嫐嫑嫓嫕嫗嫙嫚嫛嫝嫞嫟嫢嫤嫥嫧嫨嫪嫬嫭嫮嫯嫰嫲嫳嫴嫵嫶嫷嫸嫹嫺嫻嫼嫽嫾嫿嬀嬁嬂嬃嬄嬅嬆嬇嬈嬊嬋嬌嬍嬎嬏嬐嬑嬒嬓嬔嬕嬘嬙嬚嬛嬜嬝嬞嬟嬠嬡嬢嬣嬤嬥嬦嬧嬨嬩嬪嬫嬬嬭嬮嬯嬰嬱嬳嬵嬶嬸嬹嬺嬻嬼嬽嬾嬿孁孂孃孄孅孆孇�".split("");for(a=0;a!=t[139].length;++a)if(t[139][a].charCodeAt(0)!==65533){r[t[139][a]]=35584+a;e[35584+a]=t[139][a]}t[140]="����������������������������������������������������������������孈孉孊孋孌孍孎孏孒孖孞孠孡孧孨孫孭孮孯孲孴孶孷學孹孻孼孾孿宂宆宊宍宎宐宑宒宔宖実宧宨宩宬宭宮宯宱宲宷宺宻宼寀寁寃寈寉寊寋寍寎寏�寑寔寕寖寗寘寙寚寛寜寠寢寣實寧審寪寫寬寭寯寱寲寳寴寵寶寷寽対尀専尃尅將專尋尌對導尐尒尓尗尙尛尞尟尠尡尣尦尨尩尪尫尭尮尯尰尲尳尵尶尷屃屄屆屇屌屍屒屓屔屖屗屘屚屛屜屝屟屢層屧屨屩屪屫屬屭屰屲屳屴屵屶屷屸屻屼屽屾岀岃岄岅岆岇岉岊岋岎岏岒岓岕岝岞岟岠岡岤岥岦岧岨�".split("");for(a=0;a!=t[140].length;++a)if(t[140][a].charCodeAt(0)!==65533){r[t[140][a]]=35840+a;e[35840+a]=t[140][a]}t[141]="����������������������������������������������������������������岪岮岯岰岲岴岶岹岺岻岼岾峀峂峃峅峆峇峈峉峊峌峍峎峏峐峑峓峔峕峖峗峘峚峛峜峝峞峟峠峢峣峧峩峫峬峮峯峱峲峳峴峵島峷峸峹峺峼峽峾峿崀�崁崄崅崈崉崊崋崌崍崏崐崑崒崓崕崗崘崙崚崜崝崟崠崡崢崣崥崨崪崫崬崯崰崱崲崳崵崶崷崸崹崺崻崼崿嵀嵁嵂嵃嵄嵅嵆嵈嵉嵍嵎嵏嵐嵑嵒嵓嵔嵕嵖嵗嵙嵚嵜嵞嵟嵠嵡嵢嵣嵤嵥嵦嵧嵨嵪嵭嵮嵰嵱嵲嵳嵵嵶嵷嵸嵹嵺嵻嵼嵽嵾嵿嶀嶁嶃嶄嶅嶆嶇嶈嶉嶊嶋嶌嶍嶎嶏嶐嶑嶒嶓嶔嶕嶖嶗嶘嶚嶛嶜嶞嶟嶠�".split("");for(a=0;a!=t[141].length;++a)if(t[141][a].charCodeAt(0)!==65533){r[t[141][a]]=36096+a;e[36096+a]=t[141][a]}t[142]="����������������������������������������������������������������嶡嶢嶣嶤嶥嶦嶧嶨嶩嶪嶫嶬嶭嶮嶯嶰嶱嶲嶳嶴嶵嶶嶸嶹嶺嶻嶼嶽嶾嶿巀巁巂巃巄巆巇巈巉巊巋巌巎巏巐巑巒巓巔巕巖巗巘巙巚巜巟巠巣巤巪巬巭�巰巵巶巸巹巺巻巼巿帀帄帇帉帊帋帍帎帒帓帗帞帟帠帡帢帣帤帥帨帩帪師帬帯帰帲帳帴帵帶帹帺帾帿幀幁幃幆幇幈幉幊幋幍幎幏幐幑幒幓幖幗幘幙幚幜幝幟幠幣幤幥幦幧幨幩幪幫幬幭幮幯幰幱幵幷幹幾庁庂広庅庈庉庌庍庎庒庘庛庝庡庢庣庤庨庩庪庫庬庮庯庰庱庲庴庺庻庼庽庿廀廁廂廃廄廅�".split("");for(a=0;a!=t[142].length;++a)if(t[142][a].charCodeAt(0)!==65533){r[t[142][a]]=36352+a;e[36352+a]=t[142][a]}t[143]="����������������������������������������������������������������廆廇廈廋廌廍廎廏廐廔廕廗廘廙廚廜廝廞廟廠廡廢廣廤廥廦廧廩廫廬廭廮廯廰廱廲廳廵廸廹廻廼廽弅弆弇弉弌弍弎弐弒弔弖弙弚弜弝弞弡弢弣弤�弨弫弬弮弰弲弳弴張弶強弸弻弽弾弿彁彂彃彄彅彆彇彈彉彊彋彌彍彎彏彑彔彙彚彛彜彞彟彠彣彥彧彨彫彮彯彲彴彵彶彸彺彽彾彿徃徆徍徎徏徑従徔徖徚徛徝從徟徠徢徣徤徥徦徧復徫徬徯徰徱徲徳徴徶徸徹徺徻徾徿忀忁忂忇忈忊忋忎忓忔忕忚忛応忞忟忢忣忥忦忨忩忬忯忰忲忳忴忶忷忹忺忼怇�".split("");for(a=0;a!=t[143].length;++a)if(t[143][a].charCodeAt(0)!==65533){r[t[143][a]]=36608+a;e[36608+a]=t[143][a]}t[144]="����������������������������������������������������������������怈怉怋怌怐怑怓怗怘怚怞怟怢怣怤怬怭怮怰怱怲怳怴怶怷怸怹怺怽怾恀恄恅恆恇恈恉恊恌恎恏恑恓恔恖恗恘恛恜恞恟恠恡恥恦恮恱恲恴恵恷恾悀�悁悂悅悆悇悈悊悋悎悏悐悑悓悕悗悘悙悜悞悡悢悤悥悧悩悪悮悰悳悵悶悷悹悺悽悾悿惀惁惂惃惄惇惈惉惌惍惎惏惐惒惓惔惖惗惙惛惞惡惢惣惤惥惪惱惲惵惷惸惻惼惽惾惿愂愃愄愅愇愊愋愌愐愑愒愓愔愖愗愘愙愛愜愝愞愡愢愥愨愩愪愬愭愮愯愰愱愲愳愴愵愶愷愸愹愺愻愼愽愾慀慁慂慃慄慅慆�".split("");for(a=0;a!=t[144].length;++a)if(t[144][a].charCodeAt(0)!==65533){r[t[144][a]]=36864+a;e[36864+a]=t[144][a]}t[145]="����������������������������������������������������������������慇慉態慍慏慐慒慓慔慖慗慘慙慚慛慜慞慟慠慡慣慤慥慦慩慪慫慬慭慮慯慱慲慳慴慶慸慹慺慻慼慽慾慿憀憁憂憃憄憅憆憇憈憉憊憌憍憏憐憑憒憓憕�憖憗憘憙憚憛憜憞憟憠憡憢憣憤憥憦憪憫憭憮憯憰憱憲憳憴憵憶憸憹憺憻憼憽憿懀懁懃懄懅懆懇應懌懍懎懏懐懓懕懖懗懘懙懚懛懜懝懞懟懠懡懢懣懤懥懧懨懩懪懫懬懭懮懯懰懱懲懳懴懶懷懸懹懺懻懼懽懾戀戁戂戃戄戅戇戉戓戔戙戜戝戞戠戣戦戧戨戩戫戭戯戰戱戲戵戶戸戹戺戻戼扂扄扅扆扊�".split("");for(a=0;a!=t[145].length;++a)if(t[145][a].charCodeAt(0)!==65533){r[t[145][a]]=37120+a;e[37120+a]=t[145][a]}t[146]="����������������������������������������������������������������扏扐払扖扗扙扚扜扝扞扟扠扡扢扤扥扨扱扲扴扵扷扸扺扻扽抁抂抃抅抆抇抈抋抌抍抎抏抐抔抙抜抝択抣抦抧抩抪抭抮抯抰抲抳抴抶抷抸抺抾拀拁�拃拋拏拑拕拝拞拠拡拤拪拫拰拲拵拸拹拺拻挀挃挄挅挆挊挋挌挍挏挐挒挓挔挕挗挘挙挜挦挧挩挬挭挮挰挱挳挴挵挶挷挸挻挼挾挿捀捁捄捇捈捊捑捒捓捔捖捗捘捙捚捛捜捝捠捤捥捦捨捪捫捬捯捰捲捳捴捵捸捹捼捽捾捿掁掃掄掅掆掋掍掑掓掔掕掗掙掚掛掜掝掞掟採掤掦掫掯掱掲掵掶掹掻掽掿揀�".split("");for(a=0;a!=t[146].length;++a)if(t[146][a].charCodeAt(0)!==65533){r[t[146][a]]=37376+a;e[37376+a]=t[146][a]}t[147]="����������������������������������������������������������������揁揂揃揅揇揈揊揋揌揑揓揔揕揗揘揙揚換揜揝揟揢揤揥揦揧揨揫揬揮揯揰揱揳揵揷揹揺揻揼揾搃搄搆搇搈搉搊損搎搑搒搕搖搗搘搙搚搝搟搢搣搤�搥搧搨搩搫搮搯搰搱搲搳搵搶搷搸搹搻搼搾摀摂摃摉摋摌摍摎摏摐摑摓摕摖摗摙摚摛摜摝摟摠摡摢摣摤摥摦摨摪摫摬摮摯摰摱摲摳摴摵摶摷摻摼摽摾摿撀撁撃撆撈撉撊撋撌撍撎撏撐撓撔撗撘撚撛撜撝撟撠撡撢撣撥撦撧撨撪撫撯撱撲撳撴撶撹撻撽撾撿擁擃擄擆擇擈擉擊擋擌擏擑擓擔擕擖擙據�".split("");for(a=0;a!=t[147].length;++a)if(t[147][a].charCodeAt(0)!==65533){r[t[147][a]]=37632+a;e[37632+a]=t[147][a]}t[148]="����������������������������������������������������������������擛擜擝擟擠擡擣擥擧擨擩擪擫擬擭擮擯擰擱擲擳擴擵擶擷擸擹擺擻擼擽擾擿攁攂攃攄攅攆攇攈攊攋攌攍攎攏攐攑攓攔攕攖攗攙攚攛攜攝攞攟攠攡�攢攣攤攦攧攨攩攪攬攭攰攱攲攳攷攺攼攽敀敁敂敃敄敆敇敊敋敍敎敐敒敓敔敗敘敚敜敟敠敡敤敥敧敨敩敪敭敮敯敱敳敵敶數敹敺敻敼敽敾敿斀斁斂斃斄斅斆斈斉斊斍斎斏斒斔斕斖斘斚斝斞斠斢斣斦斨斪斬斮斱斲斳斴斵斶斷斸斺斻斾斿旀旂旇旈旉旊旍旐旑旓旔旕旘旙旚旛旜旝旞旟旡旣旤旪旫�".split("");for(a=0;a!=t[148].length;++a)if(t[148][a].charCodeAt(0)!==65533){r[t[148][a]]=37888+a;e[37888+a]=t[148][a]}t[149]="����������������������������������������������������������������旲旳旴旵旸旹旻旼旽旾旿昁昄昅昇昈昉昋昍昐昑昒昖昗昘昚昛昜昞昡昢昣昤昦昩昪昫昬昮昰昲昳昷昸昹昺昻昽昿晀時晄晅晆晇晈晉晊晍晎晐晑晘�晙晛晜晝晞晠晢晣晥晧晩晪晫晬晭晱晲晳晵晸晹晻晼晽晿暀暁暃暅暆暈暉暊暋暍暎暏暐暒暓暔暕暘暙暚暛暜暞暟暠暡暢暣暤暥暦暩暪暫暬暭暯暰暱暲暳暵暶暷暸暺暻暼暽暿曀曁曂曃曄曅曆曇曈曉曊曋曌曍曎曏曐曑曒曓曔曕曖曗曘曚曞曟曠曡曢曣曤曥曧曨曪曫曬曭曮曯曱曵曶書曺曻曽朁朂會�".split("");for(a=0;a!=t[149].length;++a)if(t[149][a].charCodeAt(0)!==65533){r[t[149][a]]=38144+a;e[38144+a]=t[149][a]}t[150]="����������������������������������������������������������������朄朅朆朇朌朎朏朑朒朓朖朘朙朚朜朞朠朡朢朣朤朥朧朩朮朰朲朳朶朷朸朹朻朼朾朿杁杄杅杇杊杋杍杒杔杕杗杘杙杚杛杝杢杣杤杦杧杫杬杮東杴杶�杸杹杺杻杽枀枂枃枅枆枈枊枌枍枎枏枑枒枓枔枖枙枛枟枠枡枤枦枩枬枮枱枲枴枹枺枻枼枽枾枿柀柂柅柆柇柈柉柊柋柌柍柎柕柖柗柛柟柡柣柤柦柧柨柪柫柭柮柲柵柶柷柸柹柺査柼柾栁栂栃栄栆栍栐栒栔栕栘栙栚栛栜栞栟栠栢栣栤栥栦栧栨栫栬栭栮栯栰栱栴栵栶栺栻栿桇桋桍桏桒桖桗桘桙桚桛�".split("");for(a=0;a!=t[150].length;++a)if(t[150][a].charCodeAt(0)!==65533){r[t[150][a]]=38400+a;e[38400+a]=t[150][a]}t[151]="����������������������������������������������������������������桜桝桞桟桪桬桭桮桯桰桱桲桳桵桸桹桺桻桼桽桾桿梀梂梄梇梈梉梊梋梌梍梎梐梑梒梔梕梖梘梙梚梛梜條梞梟梠梡梣梤梥梩梪梫梬梮梱梲梴梶梷梸�梹梺梻梼梽梾梿棁棃棄棅棆棇棈棊棌棎棏棐棑棓棔棖棗棙棛棜棝棞棟棡棢棤棥棦棧棨棩棪棫棬棭棯棲棳棴棶棷棸棻棽棾棿椀椂椃椄椆椇椈椉椊椌椏椑椓椔椕椖椗椘椙椚椛検椝椞椡椢椣椥椦椧椨椩椪椫椬椮椯椱椲椳椵椶椷椸椺椻椼椾楀楁楃楄楅楆楇楈楉楊楋楌楍楎楏楐楑楒楓楕楖楘楙楛楜楟�".split("");for(a=0;a!=t[151].length;++a)if(t[151][a].charCodeAt(0)!==65533){r[t[151][a]]=38656+a;e[38656+a]=t[151][a]}t[152]="����������������������������������������������������������������楡楢楤楥楧楨楩楪楬業楯楰楲楳楴極楶楺楻楽楾楿榁榃榅榊榋榌榎榏榐榑榒榓榖榗榙榚榝榞榟榠榡榢榣榤榥榦榩榪榬榮榯榰榲榳榵榶榸榹榺榼榽�榾榿槀槂槃槄槅槆槇槈槉構槍槏槑槒槓槕槖槗様槙槚槜槝槞槡槢槣槤槥槦槧槨槩槪槫槬槮槯槰槱槳槴槵槶槷槸槹槺槻槼槾樀樁樂樃樄樅樆樇樈樉樋樌樍樎樏樐樑樒樓樔樕樖標樚樛樜樝樞樠樢樣樤樥樦樧権樫樬樭樮樰樲樳樴樶樷樸樹樺樻樼樿橀橁橂橃橅橆橈橉橊橋橌橍橎橏橑橒橓橔橕橖橗橚�".split("");for(a=0;a!=t[152].length;++a)if(t[152][a].charCodeAt(0)!==65533){r[t[152][a]]=38912+a;e[38912+a]=t[152][a]; +}t[153]="����������������������������������������������������������������橜橝橞機橠橢橣橤橦橧橨橩橪橫橬橭橮橯橰橲橳橴橵橶橷橸橺橻橽橾橿檁檂檃檅檆檇檈檉檊檋檌檍檏檒檓檔檕檖檘檙檚檛檜檝檞檟檡檢檣檤檥檦�檧檨檪檭檮檯檰檱檲檳檴檵檶檷檸檹檺檻檼檽檾檿櫀櫁櫂櫃櫄櫅櫆櫇櫈櫉櫊櫋櫌櫍櫎櫏櫐櫑櫒櫓櫔櫕櫖櫗櫘櫙櫚櫛櫜櫝櫞櫟櫠櫡櫢櫣櫤櫥櫦櫧櫨櫩櫪櫫櫬櫭櫮櫯櫰櫱櫲櫳櫴櫵櫶櫷櫸櫹櫺櫻櫼櫽櫾櫿欀欁欂欃欄欅欆欇欈欉權欋欌欍欎欏欐欑欒欓欔欕欖欗欘欙欚欛欜欝欞欟欥欦欨欩欪欫欬欭欮�".split("");for(a=0;a!=t[153].length;++a)if(t[153][a].charCodeAt(0)!==65533){r[t[153][a]]=39168+a;e[39168+a]=t[153][a]}t[154]="����������������������������������������������������������������欯欰欱欳欴欵欶欸欻欼欽欿歀歁歂歄歅歈歊歋歍歎歏歐歑歒歓歔歕歖歗歘歚歛歜歝歞歟歠歡歨歩歫歬歭歮歯歰歱歲歳歴歵歶歷歸歺歽歾歿殀殅殈�殌殎殏殐殑殔殕殗殘殙殜殝殞殟殠殢殣殤殥殦殧殨殩殫殬殭殮殯殰殱殲殶殸殹殺殻殼殽殾毀毃毄毆毇毈毉毊毌毎毐毑毘毚毜毝毞毟毠毢毣毤毥毦毧毨毩毬毭毮毰毱毲毴毶毷毸毺毻毼毾毿氀氁氂氃氄氈氉氊氋氌氎氒気氜氝氞氠氣氥氫氬氭氱氳氶氷氹氺氻氼氾氿汃汄汅汈汋汌汍汎汏汑汒汓汖汘�".split("");for(a=0;a!=t[154].length;++a)if(t[154][a].charCodeAt(0)!==65533){r[t[154][a]]=39424+a;e[39424+a]=t[154][a]}t[155]="����������������������������������������������������������������汙汚汢汣汥汦汧汫汬汭汮汯汱汳汵汷汸決汻汼汿沀沄沇沊沋沍沎沑沒沕沖沗沘沚沜沝沞沠沢沨沬沯沰沴沵沶沷沺泀況泂泃泆泇泈泋泍泎泏泑泒泘�泙泚泜泝泟泤泦泧泩泬泭泲泴泹泿洀洂洃洅洆洈洉洊洍洏洐洑洓洔洕洖洘洜洝洟洠洡洢洣洤洦洨洩洬洭洯洰洴洶洷洸洺洿浀浂浄浉浌浐浕浖浗浘浛浝浟浡浢浤浥浧浨浫浬浭浰浱浲浳浵浶浹浺浻浽浾浿涀涁涃涄涆涇涊涋涍涏涐涒涖涗涘涙涚涜涢涥涬涭涰涱涳涴涶涷涹涺涻涼涽涾淁淂淃淈淉淊�".split("");for(a=0;a!=t[155].length;++a)if(t[155][a].charCodeAt(0)!==65533){r[t[155][a]]=39680+a;e[39680+a]=t[155][a]}t[156]="����������������������������������������������������������������淍淎淏淐淒淓淔淕淗淚淛淜淟淢淣淥淧淨淩淪淭淯淰淲淴淵淶淸淺淽淾淿渀渁渂渃渄渆渇済渉渋渏渒渓渕渘渙減渜渞渟渢渦渧渨渪測渮渰渱渳渵�渶渷渹渻渼渽渾渿湀湁湂湅湆湇湈湉湊湋湌湏湐湑湒湕湗湙湚湜湝湞湠湡湢湣湤湥湦湧湨湩湪湬湭湯湰湱湲湳湴湵湶湷湸湹湺湻湼湽満溁溂溄溇溈溊溋溌溍溎溑溒溓溔溕準溗溙溚溛溝溞溠溡溣溤溦溨溩溫溬溭溮溰溳溵溸溹溼溾溿滀滃滄滅滆滈滉滊滌滍滎滐滒滖滘滙滛滜滝滣滧滪滫滬滭滮滯�".split("");for(a=0;a!=t[156].length;++a)if(t[156][a].charCodeAt(0)!==65533){r[t[156][a]]=39936+a;e[39936+a]=t[156][a]}t[157]="����������������������������������������������������������������滰滱滲滳滵滶滷滸滺滻滼滽滾滿漀漁漃漄漅漇漈漊漋漌漍漎漐漑漒漖漗漘漙漚漛漜漝漞漟漡漢漣漥漦漧漨漬漮漰漲漴漵漷漸漹漺漻漼漽漿潀潁潂�潃潄潅潈潉潊潌潎潏潐潑潒潓潔潕潖潗潙潚潛潝潟潠潡潣潤潥潧潨潩潪潫潬潯潰潱潳潵潶潷潹潻潽潾潿澀澁澂澃澅澆澇澊澋澏澐澑澒澓澔澕澖澗澘澙澚澛澝澞澟澠澢澣澤澥澦澨澩澪澫澬澭澮澯澰澱澲澴澵澷澸澺澻澼澽澾澿濁濃濄濅濆濇濈濊濋濌濍濎濏濐濓濔濕濖濗濘濙濚濛濜濝濟濢濣濤濥�".split("");for(a=0;a!=t[157].length;++a)if(t[157][a].charCodeAt(0)!==65533){r[t[157][a]]=40192+a;e[40192+a]=t[157][a]}t[158]="����������������������������������������������������������������濦濧濨濩濪濫濬濭濰濱濲濳濴濵濶濷濸濹濺濻濼濽濾濿瀀瀁瀂瀃瀄瀅瀆瀇瀈瀉瀊瀋瀌瀍瀎瀏瀐瀒瀓瀔瀕瀖瀗瀘瀙瀜瀝瀞瀟瀠瀡瀢瀤瀥瀦瀧瀨瀩瀪�瀫瀬瀭瀮瀯瀰瀱瀲瀳瀴瀶瀷瀸瀺瀻瀼瀽瀾瀿灀灁灂灃灄灅灆灇灈灉灊灋灍灎灐灑灒灓灔灕灖灗灘灙灚灛灜灝灟灠灡灢灣灤灥灦灧灨灩灪灮灱灲灳灴灷灹灺灻災炁炂炃炄炆炇炈炋炌炍炏炐炑炓炗炘炚炛炞炟炠炡炢炣炤炥炦炧炨炩炪炰炲炴炵炶為炾炿烄烅烆烇烉烋烌烍烎烏烐烑烒烓烔烕烖烗烚�".split("");for(a=0;a!=t[158].length;++a)if(t[158][a].charCodeAt(0)!==65533){r[t[158][a]]=40448+a;e[40448+a]=t[158][a]}t[159]="����������������������������������������������������������������烜烝烞烠烡烢烣烥烪烮烰烱烲烳烴烵烶烸烺烻烼烾烿焀焁焂焃焄焅焆焇焈焋焌焍焎焏焑焒焔焗焛焜焝焞焟焠無焢焣焤焥焧焨焩焪焫焬焭焮焲焳焴�焵焷焸焹焺焻焼焽焾焿煀煁煂煃煄煆煇煈煉煋煍煏煐煑煒煓煔煕煖煗煘煙煚煛煝煟煠煡煢煣煥煩煪煫煬煭煯煰煱煴煵煶煷煹煻煼煾煿熀熁熂熃熅熆熇熈熉熋熌熍熎熐熑熒熓熕熖熗熚熛熜熝熞熡熢熣熤熥熦熧熩熪熫熭熮熯熰熱熲熴熶熷熸熺熻熼熽熾熿燀燁燂燄燅燆燇燈燉燊燋燌燍燏燐燑燒燓�".split("");for(a=0;a!=t[159].length;++a)if(t[159][a].charCodeAt(0)!==65533){r[t[159][a]]=40704+a;e[40704+a]=t[159][a]}t[160]="����������������������������������������������������������������燖燗燘燙燚燛燜燝燞營燡燢燣燤燦燨燩燪燫燬燭燯燰燱燲燳燴燵燶燷燸燺燻燼燽燾燿爀爁爂爃爄爅爇爈爉爊爋爌爍爎爏爐爑爒爓爔爕爖爗爘爙爚�爛爜爞爟爠爡爢爣爤爥爦爧爩爫爭爮爯爲爳爴爺爼爾牀牁牂牃牄牅牆牉牊牋牎牏牐牑牓牔牕牗牘牚牜牞牠牣牤牥牨牪牫牬牭牰牱牳牴牶牷牸牻牼牽犂犃犅犆犇犈犉犌犎犐犑犓犔犕犖犗犘犙犚犛犜犝犞犠犡犢犣犤犥犦犧犨犩犪犫犮犱犲犳犵犺犻犼犽犾犿狀狅狆狇狉狊狋狌狏狑狓狔狕狖狘狚狛�".split("");for(a=0;a!=t[160].length;++a)if(t[160][a].charCodeAt(0)!==65533){r[t[160][a]]=40960+a;e[40960+a]=t[160][a]}t[161]="����������������������������������������������������������������������������������������������������������������������������������������������������������������� 、。·ˉˇ¨〃々—~‖…‘’“”〔〕〈〉《》「」『』〖〗【】±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵∴♂♀°′″℃$¤¢£‰§№☆★○●◎◇◆□■△▲※→←↑↓〓�".split("");for(a=0;a!=t[161].length;++a)if(t[161][a].charCodeAt(0)!==65533){r[t[161][a]]=41216+a;e[41216+a]=t[161][a]}t[162]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ������⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇①②③④⑤⑥⑦⑧⑨⑩��㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩��ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ���".split("");for(a=0;a!=t[162].length;++a)if(t[162][a].charCodeAt(0)!==65533){r[t[162][a]]=41472+a;e[41472+a]=t[162][a]}t[163]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������!"#¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|} ̄�".split("");for(a=0;a!=t[163].length;++a)if(t[163][a].charCodeAt(0)!==65533){r[t[163][a]]=41728+a;e[41728+a]=t[163][a]}t[164]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������".split("");for(a=0;a!=t[164].length;++a)if(t[164][a].charCodeAt(0)!==65533){r[t[164][a]]=41984+a;e[41984+a]=t[164][a]}t[165]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������".split("");for(a=0;a!=t[165].length;++a)if(t[165][a].charCodeAt(0)!==65533){r[t[165][a]]=42240+a;e[42240+a]=t[165][a]}t[166]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�������︵︶︹︺︿﹀︽︾﹁﹂﹃﹄��︻︼︷︸︱�︳︴����������".split("");for(a=0;a!=t[166].length;++a)if(t[166][a].charCodeAt(0)!==65533){r[t[166][a]]=42496+a;e[42496+a]=t[166][a]}t[167]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������".split("");for(a=0;a!=t[167].length;++a)if(t[167][a].charCodeAt(0)!==65533){r[t[167][a]]=42752+a;e[42752+a]=t[167][a]}t[168]="����������������������������������������������������������������ˊˋ˙–―‥‵℅℉↖↗↘↙∕∟∣≒≦≧⊿═║╒╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡╢╣╤╥╦╧╨╩╪╫╬╭╮╯╰╱╲╳▁▂▃▄▅▆▇�█▉▊▋▌▍▎▏▓▔▕▼▽◢◣◤◥☉⊕〒〝〞�����������āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüêɑ�ńň�ɡ����ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ����������������������".split("");for(a=0;a!=t[168].length;++a)if(t[168][a].charCodeAt(0)!==65533){r[t[168][a]]=43008+a;e[43008+a]=t[168][a]}t[169]="����������������������������������������������������������������〡〢〣〤〥〦〧〨〩㊣㎎㎏㎜㎝㎞㎡㏄㏎㏑㏒㏕︰¬¦�℡㈱�‐���ー゛゜ヽヾ〆ゝゞ﹉﹊﹋﹌﹍﹎﹏﹐﹑﹒﹔﹕﹖﹗﹙﹚﹛﹜﹝﹞﹟﹠﹡�﹢﹣﹤﹥﹦﹨﹩﹪﹫�������������〇�������������─━│┃┄┅┆┇┈┉┊┋┌┍┎┏┐┑┒┓└┕┖┗┘┙┚┛├┝┞┟┠┡┢┣┤┥┦┧┨┩┪┫┬┭┮┯┰┱┲┳┴┵┶┷┸┹┺┻┼┽┾┿╀╁╂╃╄╅╆╇╈╉╊╋����������������".split("");for(a=0;a!=t[169].length;++a)if(t[169][a].charCodeAt(0)!==65533){r[t[169][a]]=43264+a;e[43264+a]=t[169][a]}t[170]="����������������������������������������������������������������狜狝狟狢狣狤狥狦狧狪狫狵狶狹狽狾狿猀猂猄猅猆猇猈猉猋猌猍猏猐猑猒猔猘猙猚猟猠猣猤猦猧猨猭猯猰猲猳猵猶猺猻猼猽獀獁獂獃獄獅獆獇獈�獉獊獋獌獎獏獑獓獔獕獖獘獙獚獛獜獝獞獟獡獢獣獤獥獦獧獨獩獪獫獮獰獱�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[170].length;++a)if(t[170][a].charCodeAt(0)!==65533){r[t[170][a]]=43520+a;e[43520+a]=t[170][a]}t[171]="����������������������������������������������������������������獲獳獴獵獶獷獸獹獺獻獼獽獿玀玁玂玃玅玆玈玊玌玍玏玐玒玓玔玕玗玘玙玚玜玝玞玠玡玣玤玥玦玧玨玪玬玭玱玴玵玶玸玹玼玽玾玿珁珃珄珅珆珇�珋珌珎珒珓珔珕珖珗珘珚珛珜珝珟珡珢珣珤珦珨珪珫珬珮珯珰珱珳珴珵珶珷�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[171].length;++a)if(t[171][a].charCodeAt(0)!==65533){r[t[171][a]]=43776+a;e[43776+a]=t[171][a]}t[172]="����������������������������������������������������������������珸珹珺珻珼珽現珿琀琁琂琄琇琈琋琌琍琎琑琒琓琔琕琖琗琘琙琜琝琞琟琠琡琣琤琧琩琫琭琯琱琲琷琸琹琺琻琽琾琿瑀瑂瑃瑄瑅瑆瑇瑈瑉瑊瑋瑌瑍�瑎瑏瑐瑑瑒瑓瑔瑖瑘瑝瑠瑡瑢瑣瑤瑥瑦瑧瑨瑩瑪瑫瑬瑮瑯瑱瑲瑳瑴瑵瑸瑹瑺�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[172].length;++a)if(t[172][a].charCodeAt(0)!==65533){r[t[172][a]]=44032+a;e[44032+a]=t[172][a]}t[173]="����������������������������������������������������������������瑻瑼瑽瑿璂璄璅璆璈璉璊璌璍璏璑璒璓璔璕璖璗璘璙璚璛璝璟璠璡璢璣璤璥璦璪璫璬璭璮璯環璱璲璳璴璵璶璷璸璹璻璼璽璾璿瓀瓁瓂瓃瓄瓅瓆瓇�瓈瓉瓊瓋瓌瓍瓎瓏瓐瓑瓓瓔瓕瓖瓗瓘瓙瓚瓛瓝瓟瓡瓥瓧瓨瓩瓪瓫瓬瓭瓰瓱瓲�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[173].length;++a)if(t[173][a].charCodeAt(0)!==65533){r[t[173][a]]=44288+a;e[44288+a]=t[173][a]}t[174]="����������������������������������������������������������������瓳瓵瓸瓹瓺瓻瓼瓽瓾甀甁甂甃甅甆甇甈甉甊甋甌甎甐甒甔甕甖甗甛甝甞甠甡產産甤甦甧甪甮甴甶甹甼甽甿畁畂畃畄畆畇畉畊畍畐畑畒畓畕畖畗畘�畝畞畟畠畡畢畣畤畧畨畩畫畬畭畮畯異畱畳畵當畷畺畻畼畽畾疀疁疂疄疅疇�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[174].length;++a)if(t[174][a].charCodeAt(0)!==65533){r[t[174][a]]=44544+a;e[44544+a]=t[174][a]}t[175]="����������������������������������������������������������������疈疉疊疌疍疎疐疓疕疘疛疜疞疢疦疧疨疩疪疭疶疷疺疻疿痀痁痆痋痌痎痏痐痑痓痗痙痚痜痝痟痠痡痥痩痬痭痮痯痲痳痵痶痷痸痺痻痽痾瘂瘄瘆瘇�瘈瘉瘋瘍瘎瘏瘑瘒瘓瘔瘖瘚瘜瘝瘞瘡瘣瘧瘨瘬瘮瘯瘱瘲瘶瘷瘹瘺瘻瘽癁療癄�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[175].length;++a)if(t[175][a].charCodeAt(0)!==65533){r[t[175][a]]=44800+a;e[44800+a]=t[175][a]}t[176]="����������������������������������������������������������������癅癆癇癈癉癊癋癎癏癐癑癒癓癕癗癘癙癚癛癝癟癠癡癢癤癥癦癧癨癩癪癬癭癮癰癱癲癳癴癵癶癷癹発發癿皀皁皃皅皉皊皌皍皏皐皒皔皕皗皘皚皛�皜皝皞皟皠皡皢皣皥皦皧皨皩皪皫皬皭皯皰皳皵皶皷皸皹皺皻皼皽皾盀盁盃啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥�".split("");for(a=0;a!=t[176].length;++a)if(t[176][a].charCodeAt(0)!==65533){r[t[176][a]]=45056+a;e[45056+a]=t[176][a]}t[177]="����������������������������������������������������������������盄盇盉盋盌盓盕盙盚盜盝盞盠盡盢監盤盦盧盨盩盪盫盬盭盰盳盵盶盷盺盻盽盿眀眂眃眅眆眊県眎眏眐眑眒眓眔眕眖眗眘眛眜眝眞眡眣眤眥眧眪眫�眬眮眰眱眲眳眴眹眻眽眾眿睂睄睅睆睈睉睊睋睌睍睎睏睒睓睔睕睖睗睘睙睜薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳�".split("");for(a=0;a!=t[177].length;++a)if(t[177][a].charCodeAt(0)!==65533){r[t[177][a]]=45312+a;e[45312+a]=t[177][a]}t[178]="����������������������������������������������������������������睝睞睟睠睤睧睩睪睭睮睯睰睱睲睳睴睵睶睷睸睺睻睼瞁瞂瞃瞆瞇瞈瞉瞊瞋瞏瞐瞓瞔瞕瞖瞗瞘瞙瞚瞛瞜瞝瞞瞡瞣瞤瞦瞨瞫瞭瞮瞯瞱瞲瞴瞶瞷瞸瞹瞺�瞼瞾矀矁矂矃矄矅矆矇矈矉矊矋矌矎矏矐矑矒矓矔矕矖矘矙矚矝矞矟矠矡矤病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖�".split("");for(a=0;a!=t[178].length;++a)if(t[178][a].charCodeAt(0)!==65533){r[t[178][a]]=45568+a;e[45568+a]=t[178][a]}t[179]="����������������������������������������������������������������矦矨矪矯矰矱矲矴矵矷矹矺矻矼砃砄砅砆砇砈砊砋砎砏砐砓砕砙砛砞砠砡砢砤砨砪砫砮砯砱砲砳砵砶砽砿硁硂硃硄硆硈硉硊硋硍硏硑硓硔硘硙硚�硛硜硞硟硠硡硢硣硤硥硦硧硨硩硯硰硱硲硳硴硵硶硸硹硺硻硽硾硿碀碁碂碃场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚�".split("");for(a=0;a!=t[179].length;++a)if(t[179][a].charCodeAt(0)!==65533){r[t[179][a]]=45824+a;e[45824+a]=t[179][a]}t[180]="����������������������������������������������������������������碄碅碆碈碊碋碏碐碒碔碕碖碙碝碞碠碢碤碦碨碩碪碫碬碭碮碯碵碶碷碸確碻碼碽碿磀磂磃磄磆磇磈磌磍磎磏磑磒磓磖磗磘磚磛磜磝磞磟磠磡磢磣�磤磥磦磧磩磪磫磭磮磯磰磱磳磵磶磸磹磻磼磽磾磿礀礂礃礄礆礇礈礉礊礋礌础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮�".split("");for(a=0;a!=t[180].length;++a)if(t[180][a].charCodeAt(0)!==65533){r[t[180][a]]=46080+a;e[46080+a]=t[180][a]}t[181]="����������������������������������������������������������������礍礎礏礐礑礒礔礕礖礗礘礙礚礛礜礝礟礠礡礢礣礥礦礧礨礩礪礫礬礭礮礯礰礱礲礳礵礶礷礸礹礽礿祂祃祄祅祇祊祋祌祍祎祏祐祑祒祔祕祘祙祡祣�祤祦祩祪祫祬祮祰祱祲祳祴祵祶祹祻祼祽祾祿禂禃禆禇禈禉禋禌禍禎禐禑禒怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠�".split("");for(a=0;a!=t[181].length;++a)if(t[181][a].charCodeAt(0)!==65533){r[t[181][a]]=46336+a;e[46336+a]=t[181][a]}t[182]="����������������������������������������������������������������禓禔禕禖禗禘禙禛禜禝禞禟禠禡禢禣禤禥禦禨禩禪禫禬禭禮禯禰禱禲禴禵禶禷禸禼禿秂秄秅秇秈秊秌秎秏秐秓秔秖秗秙秚秛秜秝秞秠秡秢秥秨秪�秬秮秱秲秳秴秵秶秷秹秺秼秾秿稁稄稅稇稈稉稊稌稏稐稑稒稓稕稖稘稙稛稜丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二�".split("");for(a=0;a!=t[182].length;++a)if(t[182][a].charCodeAt(0)!==65533){r[t[182][a]]=46592+a;e[46592+a]=t[182][a]}t[183]="����������������������������������������������������������������稝稟稡稢稤稥稦稧稨稩稪稫稬稭種稯稰稱稲稴稵稶稸稺稾穀穁穂穃穄穅穇穈穉穊穋穌積穎穏穐穒穓穔穕穖穘穙穚穛穜穝穞穟穠穡穢穣穤穥穦穧穨�穩穪穫穬穭穮穯穱穲穳穵穻穼穽穾窂窅窇窉窊窋窌窎窏窐窓窔窙窚窛窞窡窢贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服�".split("");for(a=0;a!=t[183].length;++a)if(t[183][a].charCodeAt(0)!==65533){r[t[183][a]]=46848+a;e[46848+a]=t[183][a]}t[184]="����������������������������������������������������������������窣窤窧窩窪窫窮窯窰窱窲窴窵窶窷窸窹窺窻窼窽窾竀竁竂竃竄竅竆竇竈竉竊竌竍竎竏竐竑竒竓竔竕竗竘竚竛竜竝竡竢竤竧竨竩竪竫竬竮竰竱竲竳�竴竵競竷竸竻竼竾笀笁笂笅笇笉笌笍笎笐笒笓笖笗笘笚笜笝笟笡笢笣笧笩笭浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹�".split("");for(a=0;a!=t[184].length;++a)if(t[184][a].charCodeAt(0)!==65533){r[t[184][a]]=47104+a;e[47104+a]=t[184][a]}t[185]="����������������������������������������������������������������笯笰笲笴笵笶笷笹笻笽笿筀筁筂筃筄筆筈筊筍筎筓筕筗筙筜筞筟筡筣筤筥筦筧筨筩筪筫筬筭筯筰筳筴筶筸筺筼筽筿箁箂箃箄箆箇箈箉箊箋箌箎箏�箑箒箓箖箘箙箚箛箞箟箠箣箤箥箮箯箰箲箳箵箶箷箹箺箻箼箽箾箿節篂篃範埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈�".split("");for(a=0;a!=t[185].length;++a)if(t[185][a].charCodeAt(0)!==65533){r[t[185][a]]=47360+a;e[47360+a]=t[185][a]}t[186]="����������������������������������������������������������������篅篈築篊篋篍篎篏篐篒篔篕篖篗篘篛篜篞篟篠篢篣篤篧篨篩篫篬篭篯篰篲篳篴篵篶篸篹篺篻篽篿簀簁簂簃簄簅簆簈簉簊簍簎簐簑簒簓簔簕簗簘簙�簚簛簜簝簞簠簡簢簣簤簥簨簩簫簬簭簮簯簰簱簲簳簴簵簶簷簹簺簻簼簽簾籂骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖�".split("");for(a=0;a!=t[186].length;++a)if(t[186][a].charCodeAt(0)!==65533){r[t[186][a]]=47616+a;e[47616+a]=t[186][a]}t[187]="����������������������������������������������������������������籃籄籅籆籇籈籉籊籋籌籎籏籐籑籒籓籔籕籖籗籘籙籚籛籜籝籞籟籠籡籢籣籤籥籦籧籨籩籪籫籬籭籮籯籰籱籲籵籶籷籸籹籺籾籿粀粁粂粃粄粅粆粇�粈粊粋粌粍粎粏粐粓粔粖粙粚粛粠粡粣粦粧粨粩粫粬粭粯粰粴粵粶粷粸粺粻弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕�".split("");for(a=0;a!=t[187].length;++a)if(t[187][a].charCodeAt(0)!==65533){r[t[187][a]]=47872+a;e[47872+a]=t[187][a]}t[188]="����������������������������������������������������������������粿糀糂糃糄糆糉糋糎糏糐糑糒糓糔糘糚糛糝糞糡糢糣糤糥糦糧糩糪糫糬糭糮糰糱糲糳糴糵糶糷糹糺糼糽糾糿紀紁紂紃約紅紆紇紈紉紋紌納紎紏紐�紑紒紓純紕紖紗紘紙級紛紜紝紞紟紡紣紤紥紦紨紩紪紬紭紮細紱紲紳紴紵紶肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件�".split("");for(a=0;a!=t[188].length;++a)if(t[188][a].charCodeAt(0)!==65533){r[t[188][a]]=48128+a;e[48128+a]=t[188][a]}t[189]="����������������������������������������������������������������紷紸紹紺紻紼紽紾紿絀絁終絃組絅絆絇絈絉絊絋経絍絎絏結絑絒絓絔絕絖絗絘絙絚絛絜絝絞絟絠絡絢絣絤絥給絧絨絩絪絫絬絭絯絰統絲絳絴絵絶�絸絹絺絻絼絽絾絿綀綁綂綃綄綅綆綇綈綉綊綋綌綍綎綏綐綑綒經綔綕綖綗綘健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸�".split("");for(a=0;a!=t[189].length;++a)if(t[189][a].charCodeAt(0)!==65533){r[t[189][a]]=48384+a;e[48384+a]=t[189][a]}t[190]="����������������������������������������������������������������継続綛綜綝綞綟綠綡綢綣綤綥綧綨綩綪綫綬維綯綰綱網綳綴綵綶綷綸綹綺綻綼綽綾綿緀緁緂緃緄緅緆緇緈緉緊緋緌緍緎総緐緑緒緓緔緕緖緗緘緙�線緛緜緝緞緟締緡緢緣緤緥緦緧編緩緪緫緬緭緮緯緰緱緲緳練緵緶緷緸緹緺尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻�".split("");for(a=0;a!=t[190].length;++a)if(t[190][a].charCodeAt(0)!==65533){r[t[190][a]]=48640+a;e[48640+a]=t[190][a]}t[191]="����������������������������������������������������������������緻緼緽緾緿縀縁縂縃縄縅縆縇縈縉縊縋縌縍縎縏縐縑縒縓縔縕縖縗縘縙縚縛縜縝縞縟縠縡縢縣縤縥縦縧縨縩縪縫縬縭縮縯縰縱縲縳縴縵縶縷縸縹�縺縼總績縿繀繂繃繄繅繆繈繉繊繋繌繍繎繏繐繑繒繓織繕繖繗繘繙繚繛繜繝俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀�".split("");for(a=0;a!=t[191].length;++a)if(t[191][a].charCodeAt(0)!==65533){r[t[191][a]]=48896+a;e[48896+a]=t[191][a]}t[192]="����������������������������������������������������������������繞繟繠繡繢繣繤繥繦繧繨繩繪繫繬繭繮繯繰繱繲繳繴繵繶繷繸繹繺繻繼繽繾繿纀纁纃纄纅纆纇纈纉纊纋續纍纎纏纐纑纒纓纔纕纖纗纘纙纚纜纝纞�纮纴纻纼绖绤绬绹缊缐缞缷缹缻缼缽缾缿罀罁罃罆罇罈罉罊罋罌罍罎罏罒罓馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐�".split("");for(a=0;a!=t[192].length;++a)if(t[192][a].charCodeAt(0)!==65533){r[t[192][a]]=49152+a;e[49152+a]=t[192][a]}t[193]="����������������������������������������������������������������罖罙罛罜罝罞罠罣罤罥罦罧罫罬罭罯罰罳罵罶罷罸罺罻罼罽罿羀羂羃羄羅羆羇羈羉羋羍羏羐羑羒羓羕羖羗羘羙羛羜羠羢羣羥羦羨義羪羫羬羭羮羱�羳羴羵羶羷羺羻羾翀翂翃翄翆翇翈翉翋翍翏翐翑習翓翖翗翙翚翛翜翝翞翢翣痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿�".split("");for(a=0;a!=t[193].length;++a)if(t[193][a].charCodeAt(0)!==65533){r[t[193][a]]=49408+a;e[49408+a]=t[193][a]}t[194]="����������������������������������������������������������������翤翧翨翪翫翬翭翯翲翴翵翶翷翸翹翺翽翾翿耂耇耈耉耊耎耏耑耓耚耛耝耞耟耡耣耤耫耬耭耮耯耰耲耴耹耺耼耾聀聁聄聅聇聈聉聎聏聐聑聓聕聖聗�聙聛聜聝聞聟聠聡聢聣聤聥聦聧聨聫聬聭聮聯聰聲聳聴聵聶職聸聹聺聻聼聽隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫�".split("");for(a=0;a!=t[194].length;++a)if(t[194][a].charCodeAt(0)!==65533){r[t[194][a]]=49664+a;e[49664+a]=t[194][a]}t[195]="����������������������������������������������������������������聾肁肂肅肈肊肍肎肏肐肑肒肔肕肗肙肞肣肦肧肨肬肰肳肵肶肸肹肻胅胇胈胉胊胋胏胐胑胒胓胔胕胘胟胠胢胣胦胮胵胷胹胻胾胿脀脁脃脄脅脇脈脋�脌脕脗脙脛脜脝脟脠脡脢脣脤脥脦脧脨脩脪脫脭脮脰脳脴脵脷脹脺脻脼脽脿谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸�".split("");for(a=0;a!=t[195].length;++a)if(t[195][a].charCodeAt(0)!==65533){r[t[195][a]]=49920+a;e[49920+a]=t[195][a]}t[196]="����������������������������������������������������������������腀腁腂腃腄腅腇腉腍腎腏腒腖腗腘腛腜腝腞腟腡腢腣腤腦腨腪腫腬腯腲腳腵腶腷腸膁膃膄膅膆膇膉膋膌膍膎膐膒膓膔膕膖膗膙膚膞膟膠膡膢膤膥�膧膩膫膬膭膮膯膰膱膲膴膵膶膷膸膹膼膽膾膿臄臅臇臈臉臋臍臎臏臐臑臒臓摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁�".split("");for(a=0;a!=t[196].length;++a)if(t[196][a].charCodeAt(0)!==65533){r[t[196][a]]=50176+a;e[50176+a]=t[196][a]}t[197]="����������������������������������������������������������������臔臕臖臗臘臙臚臛臜臝臞臟臠臡臢臤臥臦臨臩臫臮臯臰臱臲臵臶臷臸臹臺臽臿舃與興舉舊舋舎舏舑舓舕舖舗舘舙舚舝舠舤舥舦舧舩舮舲舺舼舽舿�艀艁艂艃艅艆艈艊艌艍艎艐艑艒艓艔艕艖艗艙艛艜艝艞艠艡艢艣艤艥艦艧艩拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗�".split("");for(a=0;a!=t[197].length;++a)if(t[197][a].charCodeAt(0)!==65533){r[t[197][a]]=50432+a;e[50432+a]=t[197][a]}t[198]="����������������������������������������������������������������艪艫艬艭艱艵艶艷艸艻艼芀芁芃芅芆芇芉芌芐芓芔芕芖芚芛芞芠芢芣芧芲芵芶芺芻芼芿苀苂苃苅苆苉苐苖苙苚苝苢苧苨苩苪苬苭苮苰苲苳苵苶苸�苺苼苽苾苿茀茊茋茍茐茒茓茖茘茙茝茞茟茠茡茢茣茤茥茦茩茪茮茰茲茷茻茽啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐�".split("");for(a=0;a!=t[198].length;++a)if(t[198][a].charCodeAt(0)!==65533){r[t[198][a]]=50688+a;e[50688+a]=t[198][a]}t[199]="����������������������������������������������������������������茾茿荁荂荄荅荈荊荋荌荍荎荓荕荖荗荘荙荝荢荰荱荲荳荴荵荶荹荺荾荿莀莁莂莃莄莇莈莊莋莌莍莏莐莑莔莕莖莗莙莚莝莟莡莢莣莤莥莦莧莬莭莮�莯莵莻莾莿菂菃菄菆菈菉菋菍菎菐菑菒菓菕菗菙菚菛菞菢菣菤菦菧菨菫菬菭恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠�".split("");for(a=0;a!=t[199].length;++a)if(t[199][a].charCodeAt(0)!==65533){r[t[199][a]]=50944+a;e[50944+a]=t[199][a]}t[200]="����������������������������������������������������������������菮華菳菴菵菶菷菺菻菼菾菿萀萂萅萇萈萉萊萐萒萓萔萕萖萗萙萚萛萞萟萠萡萢萣萩萪萫萬萭萮萯萰萲萳萴萵萶萷萹萺萻萾萿葀葁葂葃葄葅葇葈葉�葊葋葌葍葎葏葐葒葓葔葕葖葘葝葞葟葠葢葤葥葦葧葨葪葮葯葰葲葴葷葹葻葼取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁�".split("");for(a=0;a!=t[200].length;++a)if(t[200][a].charCodeAt(0)!==65533){r[t[200][a]]=51200+a;e[51200+a]=t[200][a]}t[201]="����������������������������������������������������������������葽葾葿蒀蒁蒃蒄蒅蒆蒊蒍蒏蒐蒑蒒蒓蒔蒕蒖蒘蒚蒛蒝蒞蒟蒠蒢蒣蒤蒥蒦蒧蒨蒩蒪蒫蒬蒭蒮蒰蒱蒳蒵蒶蒷蒻蒼蒾蓀蓂蓃蓅蓆蓇蓈蓋蓌蓎蓏蓒蓔蓕蓗�蓘蓙蓚蓛蓜蓞蓡蓢蓤蓧蓨蓩蓪蓫蓭蓮蓯蓱蓲蓳蓴蓵蓶蓷蓸蓹蓺蓻蓽蓾蔀蔁蔂伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳�".split("");for(a=0;a!=t[201].length;++a)if(t[201][a].charCodeAt(0)!==65533){r[t[201][a]]=51456+a;e[51456+a]=t[201][a]}t[202]="����������������������������������������������������������������蔃蔄蔅蔆蔇蔈蔉蔊蔋蔍蔎蔏蔐蔒蔔蔕蔖蔘蔙蔛蔜蔝蔞蔠蔢蔣蔤蔥蔦蔧蔨蔩蔪蔭蔮蔯蔰蔱蔲蔳蔴蔵蔶蔾蔿蕀蕁蕂蕄蕅蕆蕇蕋蕌蕍蕎蕏蕐蕑蕒蕓蕔蕕�蕗蕘蕚蕛蕜蕝蕟蕠蕡蕢蕣蕥蕦蕧蕩蕪蕫蕬蕭蕮蕯蕰蕱蕳蕵蕶蕷蕸蕼蕽蕿薀薁省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱�".split("");for(a=0;a!=t[202].length;++a)if(t[202][a].charCodeAt(0)!==65533){r[t[202][a]]=51712+a;e[51712+a]=t[202][a]}t[203]="����������������������������������������������������������������薂薃薆薈薉薊薋薌薍薎薐薑薒薓薔薕薖薗薘薙薚薝薞薟薠薡薢薣薥薦薧薩薫薬薭薱薲薳薴薵薶薸薺薻薼薽薾薿藀藂藃藄藅藆藇藈藊藋藌藍藎藑藒�藔藖藗藘藙藚藛藝藞藟藠藡藢藣藥藦藧藨藪藫藬藭藮藯藰藱藲藳藴藵藶藷藸恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔�".split("");for(a=0;a!=t[203].length;++a)if(t[203][a].charCodeAt(0)!==65533){r[t[203][a]]=51968+a;e[51968+a]=t[203][a]}t[204]="����������������������������������������������������������������藹藺藼藽藾蘀蘁蘂蘃蘄蘆蘇蘈蘉蘊蘋蘌蘍蘎蘏蘐蘒蘓蘔蘕蘗蘘蘙蘚蘛蘜蘝蘞蘟蘠蘡蘢蘣蘤蘥蘦蘨蘪蘫蘬蘭蘮蘯蘰蘱蘲蘳蘴蘵蘶蘷蘹蘺蘻蘽蘾蘿虀�虁虂虃虄虅虆虇虈虉虊虋虌虒虓處虖虗虘虙虛虜虝號虠虡虣虤虥虦虧虨虩虪獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃�".split("");for(a=0;a!=t[204].length;++a)if(t[204][a].charCodeAt(0)!==65533){r[t[204][a]]=52224+a;e[52224+a]=t[204][a]}t[205]="����������������������������������������������������������������虭虯虰虲虳虴虵虶虷虸蚃蚄蚅蚆蚇蚈蚉蚎蚏蚐蚑蚒蚔蚖蚗蚘蚙蚚蚛蚞蚟蚠蚡蚢蚥蚦蚫蚭蚮蚲蚳蚷蚸蚹蚻蚼蚽蚾蚿蛁蛂蛃蛅蛈蛌蛍蛒蛓蛕蛖蛗蛚蛜�蛝蛠蛡蛢蛣蛥蛦蛧蛨蛪蛫蛬蛯蛵蛶蛷蛺蛻蛼蛽蛿蜁蜄蜅蜆蜋蜌蜎蜏蜐蜑蜔蜖汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威�".split("");for(a=0;a!=t[205].length;++a)if(t[205][a].charCodeAt(0)!==65533){r[t[205][a]]=52480+a;e[52480+a]=t[205][a]}t[206]="����������������������������������������������������������������蜙蜛蜝蜟蜠蜤蜦蜧蜨蜪蜫蜬蜭蜯蜰蜲蜳蜵蜶蜸蜹蜺蜼蜽蝀蝁蝂蝃蝄蝅蝆蝊蝋蝍蝏蝐蝑蝒蝔蝕蝖蝘蝚蝛蝜蝝蝞蝟蝡蝢蝦蝧蝨蝩蝪蝫蝬蝭蝯蝱蝲蝳蝵�蝷蝸蝹蝺蝿螀螁螄螆螇螉螊螌螎螏螐螑螒螔螕螖螘螙螚螛螜螝螞螠螡螢螣螤巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺�".split("");for(a=0;a!=t[206].length;++a)if(t[206][a].charCodeAt(0)!==65533){r[t[206][a]]=52736+a;e[52736+a]=t[206][a]}t[207]="����������������������������������������������������������������螥螦螧螩螪螮螰螱螲螴螶螷螸螹螻螼螾螿蟁蟂蟃蟄蟅蟇蟈蟉蟌蟍蟎蟏蟐蟔蟕蟖蟗蟘蟙蟚蟜蟝蟞蟟蟡蟢蟣蟤蟦蟧蟨蟩蟫蟬蟭蟯蟰蟱蟲蟳蟴蟵蟶蟷蟸�蟺蟻蟼蟽蟿蠀蠁蠂蠄蠅蠆蠇蠈蠉蠋蠌蠍蠎蠏蠐蠑蠒蠔蠗蠘蠙蠚蠜蠝蠞蠟蠠蠣稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓�".split("");for(a=0;a!=t[207].length;++a)if(t[207][a].charCodeAt(0)!==65533){r[t[207][a]]=52992+a;e[52992+a]=t[207][a]}t[208]="����������������������������������������������������������������蠤蠥蠦蠧蠨蠩蠪蠫蠬蠭蠮蠯蠰蠱蠳蠴蠵蠶蠷蠸蠺蠻蠽蠾蠿衁衂衃衆衇衈衉衊衋衎衏衐衑衒術衕衖衘衚衛衜衝衞衟衠衦衧衪衭衯衱衳衴衵衶衸衹衺�衻衼袀袃袆袇袉袊袌袎袏袐袑袓袔袕袗袘袙袚袛袝袞袟袠袡袣袥袦袧袨袩袪小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄�".split("");for(a=0;a!=t[208].length;++a)if(t[208][a].charCodeAt(0)!==65533){r[t[208][a]]=53248+a;e[53248+a]=t[208][a]}t[209]="����������������������������������������������������������������袬袮袯袰袲袳袴袵袶袸袹袺袻袽袾袿裀裃裄裇裈裊裋裌裍裏裐裑裓裖裗裚裛補裝裞裠裡裦裧裩裪裫裬裭裮裯裲裵裶裷裺裻製裿褀褁褃褄褅褆複褈�褉褋褌褍褎褏褑褔褕褖褗褘褜褝褞褟褠褢褣褤褦褧褨褩褬褭褮褯褱褲褳褵褷选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶�".split("");for(a=0;a!=t[209].length;++a)if(t[209][a].charCodeAt(0)!==65533){r[t[209][a]]=53504+a;e[53504+a]=t[209][a]}t[210]="����������������������������������������������������������������褸褹褺褻褼褽褾褿襀襂襃襅襆襇襈襉襊襋襌襍襎襏襐襑襒襓襔襕襖襗襘襙襚襛襜襝襠襡襢襣襤襥襧襨襩襪襫襬襭襮襯襰襱襲襳襴襵襶襷襸襹襺襼�襽襾覀覂覄覅覇覈覉覊見覌覍覎規覐覑覒覓覔覕視覗覘覙覚覛覜覝覞覟覠覡摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐�".split("");for(a=0;a!=t[210].length;++a)if(t[210][a].charCodeAt(0)!==65533){r[t[210][a]]=53760+a;e[53760+a]=t[210][a]}t[211]="����������������������������������������������������������������覢覣覤覥覦覧覨覩親覫覬覭覮覯覰覱覲観覴覵覶覷覸覹覺覻覼覽覾覿觀觃觍觓觔觕觗觘觙觛觝觟觠觡觢觤觧觨觩觪觬觭觮觰觱觲觴觵觶觷觸觹觺�觻觼觽觾觿訁訂訃訄訅訆計訉訊訋訌訍討訏訐訑訒訓訔訕訖託記訙訚訛訜訝印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉�".split("");for(a=0;a!=t[211].length;++a)if(t[211][a].charCodeAt(0)!==65533){r[t[211][a]]=54016+a;e[54016+a]=t[211][a]}t[212]="����������������������������������������������������������������訞訟訠訡訢訣訤訥訦訧訨訩訪訫訬設訮訯訰許訲訳訴訵訶訷訸訹診註証訽訿詀詁詂詃詄詅詆詇詉詊詋詌詍詎詏詐詑詒詓詔評詖詗詘詙詚詛詜詝詞�詟詠詡詢詣詤詥試詧詨詩詪詫詬詭詮詯詰話該詳詴詵詶詷詸詺詻詼詽詾詿誀浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧�".split("");for(a=0;a!=t[212].length;++a)if(t[212][a].charCodeAt(0)!==65533){r[t[212][a]]=54272+a;e[54272+a]=t[212][a]}t[213]="����������������������������������������������������������������誁誂誃誄誅誆誇誈誋誌認誎誏誐誑誒誔誕誖誗誘誙誚誛誜誝語誟誠誡誢誣誤誥誦誧誨誩說誫説読誮誯誰誱課誳誴誵誶誷誸誹誺誻誼誽誾調諀諁諂�諃諄諅諆談諈諉諊請諌諍諎諏諐諑諒諓諔諕論諗諘諙諚諛諜諝諞諟諠諡諢諣铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政�".split("");for(a=0;a!=t[213].length;++a)if(t[213][a].charCodeAt(0)!==65533){r[t[213][a]]=54528+a;e[54528+a]=t[213][a]}t[214]="����������������������������������������������������������������諤諥諦諧諨諩諪諫諬諭諮諯諰諱諲諳諴諵諶諷諸諹諺諻諼諽諾諿謀謁謂謃謄謅謆謈謉謊謋謌謍謎謏謐謑謒謓謔謕謖謗謘謙謚講謜謝謞謟謠謡謢謣�謤謥謧謨謩謪謫謬謭謮謯謰謱謲謳謴謵謶謷謸謹謺謻謼謽謾謿譀譁譂譃譄譅帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑�".split("");for(a=0;a!=t[214].length;++a)if(t[214][a].charCodeAt(0)!==65533){r[t[214][a]]=54784+a;e[54784+a]=t[214][a]}t[215]="����������������������������������������������������������������譆譇譈證譊譋譌譍譎譏譐譑譒譓譔譕譖譗識譙譚譛譜譝譞譟譠譡譢譣譤譥譧譨譩譪譫譭譮譯議譱譲譳譴譵譶護譸譹譺譻譼譽譾譿讀讁讂讃讄讅讆�讇讈讉變讋讌讍讎讏讐讑讒讓讔讕讖讗讘讙讚讛讜讝讞讟讬讱讻诇诐诪谉谞住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座������".split("");for(a=0;a!=t[215].length;++a)if(t[215][a].charCodeAt(0)!==65533){r[t[215][a]]=55040+a;e[55040+a]=t[215][a]}t[216]="����������������������������������������������������������������谸谹谺谻谼谽谾谿豀豂豃豄豅豈豊豋豍豎豏豐豑豒豓豔豖豗豘豙豛豜豝豞豟豠豣豤豥豦豧豨豩豬豭豮豯豰豱豲豴豵豶豷豻豼豽豾豿貀貁貃貄貆貇�貈貋貍貎貏貐貑貒貓貕貖貗貙貚貛貜貝貞貟負財貢貣貤貥貦貧貨販貪貫責貭亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝�".split("");for(a=0;a!=t[216].length;++a)if(t[216][a].charCodeAt(0)!==65533){r[t[216][a]]=55296+a;e[55296+a]=t[216][a]}t[217]="����������������������������������������������������������������貮貯貰貱貲貳貴貵貶買貸貹貺費貼貽貾貿賀賁賂賃賄賅賆資賈賉賊賋賌賍賎賏賐賑賒賓賔賕賖賗賘賙賚賛賜賝賞賟賠賡賢賣賤賥賦賧賨賩質賫賬�賭賮賯賰賱賲賳賴賵賶賷賸賹賺賻購賽賾賿贀贁贂贃贄贅贆贇贈贉贊贋贌贍佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼�".split("");for(a=0;a!=t[217].length;++a)if(t[217][a].charCodeAt(0)!==65533){r[t[217][a]]=55552+a;e[55552+a]=t[217][a]}t[218]="����������������������������������������������������������������贎贏贐贑贒贓贔贕贖贗贘贙贚贛贜贠赑赒赗赟赥赨赩赪赬赮赯赱赲赸赹赺赻赼赽赾赿趀趂趃趆趇趈趉趌趍趎趏趐趒趓趕趖趗趘趙趚趛趜趝趞趠趡�趢趤趥趦趧趨趩趪趫趬趭趮趯趰趲趶趷趹趻趽跀跁跂跅跇跈跉跊跍跐跒跓跔凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺�".split("");for(a=0;a!=t[218].length;++a)if(t[218][a].charCodeAt(0)!==65533){r[t[218][a]]=55808+a;e[55808+a]=t[218][a]}t[219]="����������������������������������������������������������������跕跘跙跜跠跡跢跥跦跧跩跭跮跰跱跲跴跶跼跾跿踀踁踂踃踄踆踇踈踋踍踎踐踑踒踓踕踖踗踘踙踚踛踜踠踡踤踥踦踧踨踫踭踰踲踳踴踶踷踸踻踼踾�踿蹃蹅蹆蹌蹍蹎蹏蹐蹓蹔蹕蹖蹗蹘蹚蹛蹜蹝蹞蹟蹠蹡蹢蹣蹤蹥蹧蹨蹪蹫蹮蹱邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝�".split("");for(a=0;a!=t[219].length;++a)if(t[219][a].charCodeAt(0)!==65533){r[t[219][a]]=56064+a;e[56064+a]=t[219][a]}t[220]="����������������������������������������������������������������蹳蹵蹷蹸蹹蹺蹻蹽蹾躀躂躃躄躆躈躉躊躋躌躍躎躑躒躓躕躖躗躘躙躚躛躝躟躠躡躢躣躤躥躦躧躨躩躪躭躮躰躱躳躴躵躶躷躸躹躻躼躽躾躿軀軁軂�軃軄軅軆軇軈軉車軋軌軍軏軐軑軒軓軔軕軖軗軘軙軚軛軜軝軞軟軠軡転軣軤堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥�".split("");for(a=0;a!=t[220].length;++a)if(t[220][a].charCodeAt(0)!==65533){r[t[220][a]]=56320+a;e[56320+a]=t[220][a]}t[221]="����������������������������������������������������������������軥軦軧軨軩軪軫軬軭軮軯軰軱軲軳軴軵軶軷軸軹軺軻軼軽軾軿輀輁輂較輄輅輆輇輈載輊輋輌輍輎輏輐輑輒輓輔輕輖輗輘輙輚輛輜輝輞輟輠輡輢輣�輤輥輦輧輨輩輪輫輬輭輮輯輰輱輲輳輴輵輶輷輸輹輺輻輼輽輾輿轀轁轂轃轄荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺�".split("");for(a=0;a!=t[221].length;++a)if(t[221][a].charCodeAt(0)!==65533){r[t[221][a]]=56576+a;e[56576+a]=t[221][a]}t[222]="����������������������������������������������������������������轅轆轇轈轉轊轋轌轍轎轏轐轑轒轓轔轕轖轗轘轙轚轛轜轝轞轟轠轡轢轣轤轥轪辀辌辒辝辠辡辢辤辥辦辧辪辬辭辮辯農辳辴辵辷辸辺辻込辿迀迃迆�迉迊迋迌迍迏迒迖迗迚迠迡迣迧迬迯迱迲迴迵迶迺迻迼迾迿逇逈逌逎逓逕逘蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖�".split("");for(a=0;a!=t[222].length;++a)if(t[222][a].charCodeAt(0)!==65533){r[t[222][a]]=56832+a;e[56832+a]=t[222][a]}t[223]="����������������������������������������������������������������這逜連逤逥逧逨逩逪逫逬逰週進逳逴逷逹逺逽逿遀遃遅遆遈遉遊運遌過達違遖遙遚遜遝遞遟遠遡遤遦遧適遪遫遬遯遰遱遲遳遶遷選遹遺遻遼遾邁�還邅邆邇邉邊邌邍邎邏邐邒邔邖邘邚邜邞邟邠邤邥邧邨邩邫邭邲邷邼邽邿郀摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼�".split("");for(a=0;a!=t[223].length;++a)if(t[223][a].charCodeAt(0)!==65533){r[t[223][a]]=57088+a;e[57088+a]=t[223][a]}t[224]="����������������������������������������������������������������郂郃郆郈郉郋郌郍郒郔郕郖郘郙郚郞郟郠郣郤郥郩郪郬郮郰郱郲郳郵郶郷郹郺郻郼郿鄀鄁鄃鄅鄆鄇鄈鄉鄊鄋鄌鄍鄎鄏鄐鄑鄒鄓鄔鄕鄖鄗鄘鄚鄛鄜�鄝鄟鄠鄡鄤鄥鄦鄧鄨鄩鄪鄫鄬鄭鄮鄰鄲鄳鄴鄵鄶鄷鄸鄺鄻鄼鄽鄾鄿酀酁酂酄唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼�".split("");for(a=0;a!=t[224].length;++a)if(t[224][a].charCodeAt(0)!==65533){r[t[224][a]]=57344+a;e[57344+a]=t[224][a]}t[225]="����������������������������������������������������������������酅酇酈酑酓酔酕酖酘酙酛酜酟酠酦酧酨酫酭酳酺酻酼醀醁醂醃醄醆醈醊醎醏醓醔醕醖醗醘醙醜醝醞醟醠醡醤醥醦醧醨醩醫醬醰醱醲醳醶醷醸醹醻�醼醽醾醿釀釁釂釃釄釅釆釈釋釐釒釓釔釕釖釗釘釙釚釛針釞釟釠釡釢釣釤釥帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺�".split("");for(a=0;a!=t[225].length;++a)if(t[225][a].charCodeAt(0)!==65533){r[t[225][a]]=57600+a;e[57600+a]=t[225][a]}t[226]="����������������������������������������������������������������釦釧釨釩釪釫釬釭釮釯釰釱釲釳釴釵釶釷釸釹釺釻釼釽釾釿鈀鈁鈂鈃鈄鈅鈆鈇鈈鈉鈊鈋鈌鈍鈎鈏鈐鈑鈒鈓鈔鈕鈖鈗鈘鈙鈚鈛鈜鈝鈞鈟鈠鈡鈢鈣鈤�鈥鈦鈧鈨鈩鈪鈫鈬鈭鈮鈯鈰鈱鈲鈳鈴鈵鈶鈷鈸鈹鈺鈻鈼鈽鈾鈿鉀鉁鉂鉃鉄鉅狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧饨饩饪饫饬饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂�".split("");for(a=0;a!=t[226].length;++a)if(t[226][a].charCodeAt(0)!==65533){r[t[226][a]]=57856+a;e[57856+a]=t[226][a]}t[227]="����������������������������������������������������������������鉆鉇鉈鉉鉊鉋鉌鉍鉎鉏鉐鉑鉒鉓鉔鉕鉖鉗鉘鉙鉚鉛鉜鉝鉞鉟鉠鉡鉢鉣鉤鉥鉦鉧鉨鉩鉪鉫鉬鉭鉮鉯鉰鉱鉲鉳鉵鉶鉷鉸鉹鉺鉻鉼鉽鉾鉿銀銁銂銃銄銅�銆銇銈銉銊銋銌銍銏銐銑銒銓銔銕銖銗銘銙銚銛銜銝銞銟銠銡銢銣銤銥銦銧恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾�".split("");for(a=0;a!=t[227].length;++a)if(t[227][a].charCodeAt(0)!==65533){r[t[227][a]]=58112+a;e[58112+a]=t[227][a]}t[228]="����������������������������������������������������������������銨銩銪銫銬銭銯銰銱銲銳銴銵銶銷銸銹銺銻銼銽銾銿鋀鋁鋂鋃鋄鋅鋆鋇鋉鋊鋋鋌鋍鋎鋏鋐鋑鋒鋓鋔鋕鋖鋗鋘鋙鋚鋛鋜鋝鋞鋟鋠鋡鋢鋣鋤鋥鋦鋧鋨�鋩鋪鋫鋬鋭鋮鋯鋰鋱鋲鋳鋴鋵鋶鋷鋸鋹鋺鋻鋼鋽鋾鋿錀錁錂錃錄錅錆錇錈錉洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑�".split("");for(a=0;a!=t[228].length;++a)if(t[228][a].charCodeAt(0)!==65533){r[t[228][a]]=58368+a;e[58368+a]=t[228][a]}t[229]="����������������������������������������������������������������錊錋錌錍錎錏錐錑錒錓錔錕錖錗錘錙錚錛錜錝錞錟錠錡錢錣錤錥錦錧錨錩錪錫錬錭錮錯錰錱録錳錴錵錶錷錸錹錺錻錼錽錿鍀鍁鍂鍃鍄鍅鍆鍇鍈鍉�鍊鍋鍌鍍鍎鍏鍐鍑鍒鍓鍔鍕鍖鍗鍘鍙鍚鍛鍜鍝鍞鍟鍠鍡鍢鍣鍤鍥鍦鍧鍨鍩鍫濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣�".split("");for(a=0;a!=t[229].length;++a)if(t[229][a].charCodeAt(0)!==65533){r[t[229][a]]=58624+a;e[58624+a]=t[229][a]}t[230]="����������������������������������������������������������������鍬鍭鍮鍯鍰鍱鍲鍳鍴鍵鍶鍷鍸鍹鍺鍻鍼鍽鍾鍿鎀鎁鎂鎃鎄鎅鎆鎇鎈鎉鎊鎋鎌鎍鎎鎐鎑鎒鎓鎔鎕鎖鎗鎘鎙鎚鎛鎜鎝鎞鎟鎠鎡鎢鎣鎤鎥鎦鎧鎨鎩鎪鎫�鎬鎭鎮鎯鎰鎱鎲鎳鎴鎵鎶鎷鎸鎹鎺鎻鎼鎽鎾鎿鏀鏁鏂鏃鏄鏅鏆鏇鏈鏉鏋鏌鏍妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩�".split("");for(a=0;a!=t[230].length;++a)if(t[230][a].charCodeAt(0)!==65533){r[t[230][a]]=58880+a;e[58880+a]=t[230][a]}t[231]="����������������������������������������������������������������鏎鏏鏐鏑鏒鏓鏔鏕鏗鏘鏙鏚鏛鏜鏝鏞鏟鏠鏡鏢鏣鏤鏥鏦鏧鏨鏩鏪鏫鏬鏭鏮鏯鏰鏱鏲鏳鏴鏵鏶鏷鏸鏹鏺鏻鏼鏽鏾鏿鐀鐁鐂鐃鐄鐅鐆鐇鐈鐉鐊鐋鐌鐍�鐎鐏鐐鐑鐒鐓鐔鐕鐖鐗鐘鐙鐚鐛鐜鐝鐞鐟鐠鐡鐢鐣鐤鐥鐦鐧鐨鐩鐪鐫鐬鐭鐮纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡缢缣缤缥缦缧缪缫缬缭缯缰缱缲缳缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬�".split("");for(a=0;a!=t[231].length;++a)if(t[231][a].charCodeAt(0)!==65533){r[t[231][a]]=59136+a;e[59136+a]=t[231][a]}t[232]="����������������������������������������������������������������鐯鐰鐱鐲鐳鐴鐵鐶鐷鐸鐹鐺鐻鐼鐽鐿鑀鑁鑂鑃鑄鑅鑆鑇鑈鑉鑊鑋鑌鑍鑎鑏鑐鑑鑒鑓鑔鑕鑖鑗鑘鑙鑚鑛鑜鑝鑞鑟鑠鑡鑢鑣鑤鑥鑦鑧鑨鑩鑪鑬鑭鑮鑯�鑰鑱鑲鑳鑴鑵鑶鑷鑸鑹鑺鑻鑼鑽鑾鑿钀钁钂钃钄钑钖钘铇铏铓铔铚铦铻锜锠琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹�".split("");for(a=0;a!=t[232].length;++a)if(t[232][a].charCodeAt(0)!==65533){r[t[232][a]]=59392+a;e[59392+a]=t[232][a]}t[233]="����������������������������������������������������������������锧锳锽镃镈镋镕镚镠镮镴镵長镸镹镺镻镼镽镾門閁閂閃閄閅閆閇閈閉閊開閌閍閎閏閐閑閒間閔閕閖閗閘閙閚閛閜閝閞閟閠閡関閣閤閥閦閧閨閩閪�閫閬閭閮閯閰閱閲閳閴閵閶閷閸閹閺閻閼閽閾閿闀闁闂闃闄闅闆闇闈闉闊闋椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋�".split("");for(a=0;a!=t[233].length;++a)if(t[233][a].charCodeAt(0)!==65533){r[t[233][a]]=59648+a;e[59648+a]=t[233][a]}t[234]="����������������������������������������������������������������闌闍闎闏闐闑闒闓闔闕闖闗闘闙闚闛關闝闞闟闠闡闢闣闤闥闦闧闬闿阇阓阘阛阞阠阣阤阥阦阧阨阩阫阬阭阯阰阷阸阹阺阾陁陃陊陎陏陑陒陓陖陗�陘陙陚陜陝陞陠陣陥陦陫陭陮陯陰陱陳陸陹険陻陼陽陾陿隀隁隂隃隄隇隉隊辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰�".split("");for(a=0;a!=t[234].length;++a)if(t[234][a].charCodeAt(0)!==65533){r[t[234][a]]=59904+a;e[59904+a]=t[234][a]}t[235]="����������������������������������������������������������������隌階隑隒隓隕隖隚際隝隞隟隠隡隢隣隤隥隦隨隩險隫隬隭隮隯隱隲隴隵隷隸隺隻隿雂雃雈雊雋雐雑雓雔雖雗雘雙雚雛雜雝雞雟雡離難雤雥雦雧雫�雬雭雮雰雱雲雴雵雸雺電雼雽雿霂霃霅霊霋霌霐霑霒霔霕霗霘霙霚霛霝霟霠搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻�".split("");for(a=0;a!=t[235].length;++a)if(t[235][a].charCodeAt(0)!==65533){r[t[235][a]]=60160+a;e[60160+a]=t[235][a]}t[236]="����������������������������������������������������������������霡霢霣霤霥霦霧霨霩霫霬霮霯霱霳霴霵霶霷霺霻霼霽霿靀靁靂靃靄靅靆靇靈靉靊靋靌靍靎靏靐靑靔靕靗靘靚靜靝靟靣靤靦靧靨靪靫靬靭靮靯靰靱�靲靵靷靸靹靺靻靽靾靿鞀鞁鞂鞃鞄鞆鞇鞈鞉鞊鞌鞎鞏鞐鞓鞕鞖鞗鞙鞚鞛鞜鞝臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐�".split(""); +for(a=0;a!=t[236].length;++a)if(t[236][a].charCodeAt(0)!==65533){r[t[236][a]]=60416+a;e[60416+a]=t[236][a]}t[237]="����������������������������������������������������������������鞞鞟鞡鞢鞤鞥鞦鞧鞨鞩鞪鞬鞮鞰鞱鞳鞵鞶鞷鞸鞹鞺鞻鞼鞽鞾鞿韀韁韂韃韄韅韆韇韈韉韊韋韌韍韎韏韐韑韒韓韔韕韖韗韘韙韚韛韜韝韞韟韠韡韢韣�韤韥韨韮韯韰韱韲韴韷韸韹韺韻韼韽韾響頀頁頂頃頄項順頇須頉頊頋頌頍頎怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨�".split("");for(a=0;a!=t[237].length;++a)if(t[237][a].charCodeAt(0)!==65533){r[t[237][a]]=60672+a;e[60672+a]=t[237][a]}t[238]="����������������������������������������������������������������頏預頑頒頓頔頕頖頗領頙頚頛頜頝頞頟頠頡頢頣頤頥頦頧頨頩頪頫頬頭頮頯頰頱頲頳頴頵頶頷頸頹頺頻頼頽頾頿顀顁顂顃顄顅顆顇顈顉顊顋題額�顎顏顐顑顒顓顔顕顖顗願顙顚顛顜顝類顟顠顡顢顣顤顥顦顧顨顩顪顫顬顭顮睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶钷钸钹钺钼钽钿铄铈铉铊铋铌铍铎铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪�".split("");for(a=0;a!=t[238].length;++a)if(t[238][a].charCodeAt(0)!==65533){r[t[238][a]]=60928+a;e[60928+a]=t[238][a]}t[239]="����������������������������������������������������������������顯顰顱顲顳顴颋颎颒颕颙颣風颩颪颫颬颭颮颯颰颱颲颳颴颵颶颷颸颹颺颻颼颽颾颿飀飁飂飃飄飅飆飇飈飉飊飋飌飍飏飐飔飖飗飛飜飝飠飡飢飣飤�飥飦飩飪飫飬飭飮飯飰飱飲飳飴飵飶飷飸飹飺飻飼飽飾飿餀餁餂餃餄餅餆餇铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒锓锔锕锖锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤镥镦镧镨镩镪镫镬镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔�".split("");for(a=0;a!=t[239].length;++a)if(t[239][a].charCodeAt(0)!==65533){r[t[239][a]]=61184+a;e[61184+a]=t[239][a]}t[240]="����������������������������������������������������������������餈餉養餋餌餎餏餑餒餓餔餕餖餗餘餙餚餛餜餝餞餟餠餡餢餣餤餥餦餧館餩餪餫餬餭餯餰餱餲餳餴餵餶餷餸餹餺餻餼餽餾餿饀饁饂饃饄饅饆饇饈饉�饊饋饌饍饎饏饐饑饒饓饖饗饘饙饚饛饜饝饞饟饠饡饢饤饦饳饸饹饻饾馂馃馉稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨鸩鸪鸫鸬鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦鹧鹨鹩鹪鹫鹬鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙�".split("");for(a=0;a!=t[240].length;++a)if(t[240][a].charCodeAt(0)!==65533){r[t[240][a]]=61440+a;e[61440+a]=t[240][a]}t[241]="����������������������������������������������������������������馌馎馚馛馜馝馞馟馠馡馢馣馤馦馧馩馪馫馬馭馮馯馰馱馲馳馴馵馶馷馸馹馺馻馼馽馾馿駀駁駂駃駄駅駆駇駈駉駊駋駌駍駎駏駐駑駒駓駔駕駖駗駘�駙駚駛駜駝駞駟駠駡駢駣駤駥駦駧駨駩駪駫駬駭駮駯駰駱駲駳駴駵駶駷駸駹瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃�".split("");for(a=0;a!=t[241].length;++a)if(t[241][a].charCodeAt(0)!==65533){r[t[241][a]]=61696+a;e[61696+a]=t[241][a]}t[242]="����������������������������������������������������������������駺駻駼駽駾駿騀騁騂騃騄騅騆騇騈騉騊騋騌騍騎騏騐騑騒験騔騕騖騗騘騙騚騛騜騝騞騟騠騡騢騣騤騥騦騧騨騩騪騫騬騭騮騯騰騱騲騳騴騵騶騷騸�騹騺騻騼騽騾騿驀驁驂驃驄驅驆驇驈驉驊驋驌驍驎驏驐驑驒驓驔驕驖驗驘驙颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒�".split("");for(a=0;a!=t[242].length;++a)if(t[242][a].charCodeAt(0)!==65533){r[t[242][a]]=61952+a;e[61952+a]=t[242][a]}t[243]="����������������������������������������������������������������驚驛驜驝驞驟驠驡驢驣驤驥驦驧驨驩驪驫驲骃骉骍骎骔骕骙骦骩骪骫骬骭骮骯骲骳骴骵骹骻骽骾骿髃髄髆髇髈髉髊髍髎髏髐髒體髕髖髗髙髚髛髜�髝髞髠髢髣髤髥髧髨髩髪髬髮髰髱髲髳髴髵髶髷髸髺髼髽髾髿鬀鬁鬂鬄鬅鬆蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋�".split("");for(a=0;a!=t[243].length;++a)if(t[243][a].charCodeAt(0)!==65533){r[t[243][a]]=62208+a;e[62208+a]=t[243][a]}t[244]="����������������������������������������������������������������鬇鬉鬊鬋鬌鬍鬎鬐鬑鬒鬔鬕鬖鬗鬘鬙鬚鬛鬜鬝鬞鬠鬡鬢鬤鬥鬦鬧鬨鬩鬪鬫鬬鬭鬮鬰鬱鬳鬴鬵鬶鬷鬸鬹鬺鬽鬾鬿魀魆魊魋魌魎魐魒魓魕魖魗魘魙魚�魛魜魝魞魟魠魡魢魣魤魥魦魧魨魩魪魫魬魭魮魯魰魱魲魳魴魵魶魷魸魹魺魻簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤�".split("");for(a=0;a!=t[244].length;++a)if(t[244][a].charCodeAt(0)!==65533){r[t[244][a]]=62464+a;e[62464+a]=t[244][a]}t[245]="����������������������������������������������������������������魼魽魾魿鮀鮁鮂鮃鮄鮅鮆鮇鮈鮉鮊鮋鮌鮍鮎鮏鮐鮑鮒鮓鮔鮕鮖鮗鮘鮙鮚鮛鮜鮝鮞鮟鮠鮡鮢鮣鮤鮥鮦鮧鮨鮩鮪鮫鮬鮭鮮鮯鮰鮱鮲鮳鮴鮵鮶鮷鮸鮹鮺�鮻鮼鮽鮾鮿鯀鯁鯂鯃鯄鯅鯆鯇鯈鯉鯊鯋鯌鯍鯎鯏鯐鯑鯒鯓鯔鯕鯖鯗鯘鯙鯚鯛酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜�".split("");for(a=0;a!=t[245].length;++a)if(t[245][a].charCodeAt(0)!==65533){r[t[245][a]]=62720+a;e[62720+a]=t[245][a]}t[246]="����������������������������������������������������������������鯜鯝鯞鯟鯠鯡鯢鯣鯤鯥鯦鯧鯨鯩鯪鯫鯬鯭鯮鯯鯰鯱鯲鯳鯴鯵鯶鯷鯸鯹鯺鯻鯼鯽鯾鯿鰀鰁鰂鰃鰄鰅鰆鰇鰈鰉鰊鰋鰌鰍鰎鰏鰐鰑鰒鰓鰔鰕鰖鰗鰘鰙鰚�鰛鰜鰝鰞鰟鰠鰡鰢鰣鰤鰥鰦鰧鰨鰩鰪鰫鰬鰭鰮鰯鰰鰱鰲鰳鰴鰵鰶鰷鰸鰹鰺鰻觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅龆龇龈龉龊龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞鲟鲠鲡鲢鲣鲥鲦鲧鲨鲩鲫鲭鲮鲰鲱鲲鲳鲴鲵鲶鲷鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋�".split("");for(a=0;a!=t[246].length;++a)if(t[246][a].charCodeAt(0)!==65533){r[t[246][a]]=62976+a;e[62976+a]=t[246][a]}t[247]="����������������������������������������������������������������鰼鰽鰾鰿鱀鱁鱂鱃鱄鱅鱆鱇鱈鱉鱊鱋鱌鱍鱎鱏鱐鱑鱒鱓鱔鱕鱖鱗鱘鱙鱚鱛鱜鱝鱞鱟鱠鱡鱢鱣鱤鱥鱦鱧鱨鱩鱪鱫鱬鱭鱮鱯鱰鱱鱲鱳鱴鱵鱶鱷鱸鱹鱺�鱻鱽鱾鲀鲃鲄鲉鲊鲌鲏鲓鲖鲗鲘鲙鲝鲪鲬鲯鲹鲾鲿鳀鳁鳂鳈鳉鳑鳒鳚鳛鳠鳡鳌鳍鳎鳏鳐鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄�".split("");for(a=0;a!=t[247].length;++a)if(t[247][a].charCodeAt(0)!==65533){r[t[247][a]]=63232+a;e[63232+a]=t[247][a]}t[248]="����������������������������������������������������������������鳣鳤鳥鳦鳧鳨鳩鳪鳫鳬鳭鳮鳯鳰鳱鳲鳳鳴鳵鳶鳷鳸鳹鳺鳻鳼鳽鳾鳿鴀鴁鴂鴃鴄鴅鴆鴇鴈鴉鴊鴋鴌鴍鴎鴏鴐鴑鴒鴓鴔鴕鴖鴗鴘鴙鴚鴛鴜鴝鴞鴟鴠鴡�鴢鴣鴤鴥鴦鴧鴨鴩鴪鴫鴬鴭鴮鴯鴰鴱鴲鴳鴴鴵鴶鴷鴸鴹鴺鴻鴼鴽鴾鴿鵀鵁鵂�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[248].length;++a)if(t[248][a].charCodeAt(0)!==65533){r[t[248][a]]=63488+a;e[63488+a]=t[248][a]}t[249]="����������������������������������������������������������������鵃鵄鵅鵆鵇鵈鵉鵊鵋鵌鵍鵎鵏鵐鵑鵒鵓鵔鵕鵖鵗鵘鵙鵚鵛鵜鵝鵞鵟鵠鵡鵢鵣鵤鵥鵦鵧鵨鵩鵪鵫鵬鵭鵮鵯鵰鵱鵲鵳鵴鵵鵶鵷鵸鵹鵺鵻鵼鵽鵾鵿鶀鶁�鶂鶃鶄鶅鶆鶇鶈鶉鶊鶋鶌鶍鶎鶏鶐鶑鶒鶓鶔鶕鶖鶗鶘鶙鶚鶛鶜鶝鶞鶟鶠鶡鶢�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[249].length;++a)if(t[249][a].charCodeAt(0)!==65533){r[t[249][a]]=63744+a;e[63744+a]=t[249][a]}t[250]="����������������������������������������������������������������鶣鶤鶥鶦鶧鶨鶩鶪鶫鶬鶭鶮鶯鶰鶱鶲鶳鶴鶵鶶鶷鶸鶹鶺鶻鶼鶽鶾鶿鷀鷁鷂鷃鷄鷅鷆鷇鷈鷉鷊鷋鷌鷍鷎鷏鷐鷑鷒鷓鷔鷕鷖鷗鷘鷙鷚鷛鷜鷝鷞鷟鷠鷡�鷢鷣鷤鷥鷦鷧鷨鷩鷪鷫鷬鷭鷮鷯鷰鷱鷲鷳鷴鷵鷶鷷鷸鷹鷺鷻鷼鷽鷾鷿鸀鸁鸂�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[250].length;++a)if(t[250][a].charCodeAt(0)!==65533){r[t[250][a]]=64e3+a;e[64e3+a]=t[250][a]}t[251]="����������������������������������������������������������������鸃鸄鸅鸆鸇鸈鸉鸊鸋鸌鸍鸎鸏鸐鸑鸒鸓鸔鸕鸖鸗鸘鸙鸚鸛鸜鸝鸞鸤鸧鸮鸰鸴鸻鸼鹀鹍鹐鹒鹓鹔鹖鹙鹝鹟鹠鹡鹢鹥鹮鹯鹲鹴鹵鹶鹷鹸鹹鹺鹻鹼鹽麀�麁麃麄麅麆麉麊麌麍麎麏麐麑麔麕麖麗麘麙麚麛麜麞麠麡麢麣麤麥麧麨麩麪�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[251].length;++a)if(t[251][a].charCodeAt(0)!==65533){r[t[251][a]]=64256+a;e[64256+a]=t[251][a]}t[252]="����������������������������������������������������������������麫麬麭麮麯麰麱麲麳麵麶麷麹麺麼麿黀黁黂黃黅黆黇黈黊黋黌黐黒黓黕黖黗黙黚點黡黣黤黦黨黫黬黭黮黰黱黲黳黴黵黶黷黸黺黽黿鼀鼁鼂鼃鼄鼅�鼆鼇鼈鼉鼊鼌鼏鼑鼒鼔鼕鼖鼘鼚鼛鼜鼝鼞鼟鼡鼣鼤鼥鼦鼧鼨鼩鼪鼫鼭鼮鼰鼱�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[252].length;++a)if(t[252][a].charCodeAt(0)!==65533){r[t[252][a]]=64512+a;e[64512+a]=t[252][a]}t[253]="����������������������������������������������������������������鼲鼳鼴鼵鼶鼸鼺鼼鼿齀齁齂齃齅齆齇齈齉齊齋齌齍齎齏齒齓齔齕齖齗齘齙齚齛齜齝齞齟齠齡齢齣齤齥齦齧齨齩齪齫齬齭齮齯齰齱齲齳齴齵齶齷齸�齹齺齻齼齽齾龁龂龍龎龏龐龑龒龓龔龕龖龗龘龜龝龞龡龢龣龤龥郎凉秊裏隣�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[253].length;++a)if(t[253][a].charCodeAt(0)!==65533){r[t[253][a]]=64768+a;e[64768+a]=t[253][a]}t[254]="����������������������������������������������������������������兀嗀﨎﨏﨑﨓﨔礼﨟蘒﨡﨣﨤﨧﨨﨩��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[254].length;++a)if(t[254][a].charCodeAt(0)!==65533){r[t[254][a]]=65024+a;e[65024+a]=t[254][a]}return{enc:r,dec:e}}();cptable[949]=function(){var e=[],r={},t=[],a;t[0]="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[0].length;++a)if(t[0][a].charCodeAt(0)!==65533){r[t[0][a]]=0+a;e[0+a]=t[0][a]}t[129]="�����������������������������������������������������������������갂갃갅갆갋갌갍갎갏갘갞갟갡갢갣갥갦갧갨갩갪갫갮갲갳갴������갵갶갷갺갻갽갾갿걁걂걃걄걅걆걇걈걉걊걌걎걏걐걑걒걓걕������걖걗걙걚걛걝걞걟걠걡걢걣걤걥걦걧걨걩걪걫걬걭걮걯걲걳걵걶걹걻걼걽걾걿겂겇겈겍겎겏겑겒겓겕겖겗겘겙겚겛겞겢겣겤겥겦겧겫겭겮겱겲겳겴겵겶겷겺겾겿곀곂곃곅곆곇곉곊곋곍곎곏곐곑곒곓곔곖곘곙곚곛곜곝곞곟곢곣곥곦곩곫곭곮곲곴곷곸곹곺곻곾곿괁괂괃괅괇괈괉괊괋괎괐괒괓�".split("");for(a=0;a!=t[129].length;++a)if(t[129][a].charCodeAt(0)!==65533){r[t[129][a]]=33024+a;e[33024+a]=t[129][a]}t[130]="�����������������������������������������������������������������괔괕괖괗괙괚괛괝괞괟괡괢괣괤괥괦괧괨괪괫괮괯괰괱괲괳������괶괷괹괺괻괽괾괿굀굁굂굃굆굈굊굋굌굍굎굏굑굒굓굕굖굗������굙굚굛굜굝굞굟굠굢굤굥굦굧굨굩굪굫굮굯굱굲굷굸굹굺굾궀궃궄궅궆궇궊궋궍궎궏궑궒궓궔궕궖궗궘궙궚궛궞궟궠궡궢궣궥궦궧궨궩궪궫궬궭궮궯궰궱궲궳궴궵궶궸궹궺궻궼궽궾궿귂귃귅귆귇귉귊귋귌귍귎귏귒귔귕귖귗귘귙귚귛귝귞귟귡귢귣귥귦귧귨귩귪귫귬귭귮귯귰귱귲귳귴귵귶귷�".split("");for(a=0;a!=t[130].length;++a)if(t[130][a].charCodeAt(0)!==65533){r[t[130][a]]=33280+a;e[33280+a]=t[130][a]}t[131]="�����������������������������������������������������������������귺귻귽귾긂긃긄긅긆긇긊긌긎긏긐긑긒긓긕긖긗긘긙긚긛긜������긝긞긟긠긡긢긣긤긥긦긧긨긩긪긫긬긭긮긯긲긳긵긶긹긻긼������긽긾긿깂깄깇깈깉깋깏깑깒깓깕깗깘깙깚깛깞깢깣깤깦깧깪깫깭깮깯깱깲깳깴깵깶깷깺깾깿꺀꺁꺂꺃꺆꺇꺈꺉꺊꺋꺍꺎꺏꺐꺑꺒꺓꺔꺕꺖꺗꺘꺙꺚꺛꺜꺝꺞꺟꺠꺡꺢꺣꺤꺥꺦꺧꺨꺩꺪꺫꺬꺭꺮꺯꺰꺱꺲꺳꺴꺵꺶꺷꺸꺹꺺꺻꺿껁껂껃껅껆껇껈껉껊껋껎껒껓껔껕껖껗껚껛껝껞껟껠껡껢껣껤껥�".split("");for(a=0;a!=t[131].length;++a)if(t[131][a].charCodeAt(0)!==65533){r[t[131][a]]=33536+a;e[33536+a]=t[131][a]}t[132]="�����������������������������������������������������������������껦껧껩껪껬껮껯껰껱껲껳껵껶껷껹껺껻껽껾껿꼀꼁꼂꼃꼄꼅������꼆꼉꼊꼋꼌꼎꼏꼑꼒꼓꼔꼕꼖꼗꼘꼙꼚꼛꼜꼝꼞꼟꼠꼡꼢꼣������꼤꼥꼦꼧꼨꼩꼪꼫꼮꼯꼱꼳꼵꼶꼷꼸꼹꼺꼻꼾꽀꽄꽅꽆꽇꽊꽋꽌꽍꽎꽏꽑꽒꽓꽔꽕꽖꽗꽘꽙꽚꽛꽞꽟꽠꽡꽢꽣꽦꽧꽨꽩꽪꽫꽬꽭꽮꽯꽰꽱꽲꽳꽴꽵꽶꽷꽸꽺꽻꽼꽽꽾꽿꾁꾂꾃꾅꾆꾇꾉꾊꾋꾌꾍꾎꾏꾒꾓꾔꾖꾗꾘꾙꾚꾛꾝꾞꾟꾠꾡꾢꾣꾤꾥꾦꾧꾨꾩꾪꾫꾬꾭꾮꾯꾰꾱꾲꾳꾴꾵꾶꾷꾺꾻꾽꾾�".split("");for(a=0;a!=t[132].length;++a)if(t[132][a].charCodeAt(0)!==65533){r[t[132][a]]=33792+a;e[33792+a]=t[132][a]}t[133]="�����������������������������������������������������������������꾿꿁꿂꿃꿄꿅꿆꿊꿌꿏꿐꿑꿒꿓꿕꿖꿗꿘꿙꿚꿛꿝꿞꿟꿠꿡������꿢꿣꿤꿥꿦꿧꿪꿫꿬꿭꿮꿯꿲꿳꿵꿶꿷꿹꿺꿻꿼꿽꿾꿿뀂뀃������뀅뀆뀇뀈뀉뀊뀋뀍뀎뀏뀑뀒뀓뀕뀖뀗뀘뀙뀚뀛뀞뀟뀠뀡뀢뀣뀤뀥뀦뀧뀩뀪뀫뀬뀭뀮뀯뀰뀱뀲뀳뀴뀵뀶뀷뀸뀹뀺뀻뀼뀽뀾뀿끀끁끂끃끆끇끉끋끍끏끐끑끒끖끘끚끛끜끞끟끠끡끢끣끤끥끦끧끨끩끪끫끬끭끮끯끰끱끲끳끴끵끶끷끸끹끺끻끾끿낁낂낃낅낆낇낈낉낊낋낎낐낒낓낔낕낖낗낛낝낞낣낤�".split("");for(a=0;a!=t[133].length;++a)if(t[133][a].charCodeAt(0)!==65533){r[t[133][a]]=34048+a;e[34048+a]=t[133][a]}t[134]="�����������������������������������������������������������������낥낦낧낪낰낲낶낷낹낺낻낽낾낿냀냁냂냃냆냊냋냌냍냎냏냒������냓냕냖냗냙냚냛냜냝냞냟냡냢냣냤냦냧냨냩냪냫냬냭냮냯냰������냱냲냳냴냵냶냷냸냹냺냻냼냽냾냿넀넁넂넃넄넅넆넇넊넍넎넏넑넔넕넖넗넚넞넟넠넡넢넦넧넩넪넫넭넮넯넰넱넲넳넶넺넻넼넽넾넿녂녃녅녆녇녉녊녋녌녍녎녏녒녓녖녗녙녚녛녝녞녟녡녢녣녤녥녦녧녨녩녪녫녬녭녮녯녰녱녲녳녴녵녶녷녺녻녽녾녿놁놃놄놅놆놇놊놌놎놏놐놑놕놖놗놙놚놛놝�".split("");for(a=0;a!=t[134].length;++a)if(t[134][a].charCodeAt(0)!==65533){r[t[134][a]]=34304+a;e[34304+a]=t[134][a]}t[135]="�����������������������������������������������������������������놞놟놠놡놢놣놤놥놦놧놩놪놫놬놭놮놯놰놱놲놳놴놵놶놷놸������놹놺놻놼놽놾놿뇀뇁뇂뇃뇄뇅뇆뇇뇈뇉뇊뇋뇍뇎뇏뇑뇒뇓뇕������뇖뇗뇘뇙뇚뇛뇞뇠뇡뇢뇣뇤뇥뇦뇧뇪뇫뇭뇮뇯뇱뇲뇳뇴뇵뇶뇷뇸뇺뇼뇾뇿눀눁눂눃눆눇눉눊눍눎눏눐눑눒눓눖눘눚눛눜눝눞눟눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눵눶눷눸눹눺눻눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉙뉚뉛뉝뉞뉟뉡뉢뉣뉤뉥뉦뉧뉪뉫뉬뉭뉮�".split("");for(a=0;a!=t[135].length;++a)if(t[135][a].charCodeAt(0)!==65533){r[t[135][a]]=34560+a;e[34560+a]=t[135][a]}t[136]="�����������������������������������������������������������������뉯뉰뉱뉲뉳뉶뉷뉸뉹뉺뉻뉽뉾뉿늀늁늂늃늆늇늈늊늋늌늍늎������늏늒늓늕늖늗늛늜늝늞늟늢늤늧늨늩늫늭늮늯늱늲늳늵늶늷������늸늹늺늻늼늽늾늿닀닁닂닃닄닅닆닇닊닋닍닎닏닑닓닔닕닖닗닚닜닞닟닠닡닣닧닩닪닰닱닲닶닼닽닾댂댃댅댆댇댉댊댋댌댍댎댏댒댖댗댘댙댚댛댝댞댟댠댡댢댣댤댥댦댧댨댩댪댫댬댭댮댯댰댱댲댳댴댵댶댷댸댹댺댻댼댽댾댿덀덁덂덃덄덅덆덇덈덉덊덋덌덍덎덏덐덑덒덓덗덙덚덝덠덡덢덣�".split("");for(a=0;a!=t[136].length;++a)if(t[136][a].charCodeAt(0)!==65533){r[t[136][a]]=34816+a;e[34816+a]=t[136][a]}t[137]="�����������������������������������������������������������������덦덨덪덬덭덯덲덳덵덶덷덹덺덻덼덽덾덿뎂뎆뎇뎈뎉뎊뎋뎍������뎎뎏뎑뎒뎓뎕뎖뎗뎘뎙뎚뎛뎜뎝뎞뎟뎢뎣뎤뎥뎦뎧뎩뎪뎫뎭������뎮뎯뎰뎱뎲뎳뎴뎵뎶뎷뎸뎹뎺뎻뎼뎽뎾뎿돀돁돂돃돆돇돉돊돍돏돑돒돓돖돘돚돜돞돟돡돢돣돥돦돧돩돪돫돬돭돮돯돰돱돲돳돴돵돶돷돸돹돺돻돽돾돿됀됁됂됃됄됅됆됇됈됉됊됋됌됍됎됏됑됒됓됔됕됖됗됙됚됛됝됞됟됡됢됣됤됥됦됧됪됬됭됮됯됰됱됲됳됵됶됷됸됹됺됻됼됽됾됿둀둁둂둃둄�".split("");for(a=0;a!=t[137].length;++a)if(t[137][a].charCodeAt(0)!==65533){r[t[137][a]]=35072+a;e[35072+a]=t[137][a]}t[138]="�����������������������������������������������������������������둅둆둇둈둉둊둋둌둍둎둏둒둓둕둖둗둙둚둛둜둝둞둟둢둤둦������둧둨둩둪둫둭둮둯둰둱둲둳둴둵둶둷둸둹둺둻둼둽둾둿뒁뒂������뒃뒄뒅뒆뒇뒉뒊뒋뒌뒍뒎뒏뒐뒑뒒뒓뒔뒕뒖뒗뒘뒙뒚뒛뒜뒞뒟뒠뒡뒢뒣뒥뒦뒧뒩뒪뒫뒭뒮뒯뒰뒱뒲뒳뒴뒶뒸뒺뒻뒼뒽뒾뒿듁듂듃듅듆듇듉듊듋듌듍듎듏듑듒듓듔듖듗듘듙듚듛듞듟듡듢듥듧듨듩듪듫듮듰듲듳듴듵듶듷듹듺듻듼듽듾듿딀딁딂딃딄딅딆딇딈딉딊딋딌딍딎딏딐딑딒딓딖딗딙딚딝�".split("");for(a=0;a!=t[138].length;++a)if(t[138][a].charCodeAt(0)!==65533){r[t[138][a]]=35328+a;e[35328+a]=t[138][a]}t[139]="�����������������������������������������������������������������딞딟딠딡딢딣딦딫딬딭딮딯딲딳딵딶딷딹딺딻딼딽딾딿땂땆������땇땈땉땊땎땏땑땒땓땕땖땗땘땙땚땛땞땢땣땤땥땦땧땨땩땪������땫땬땭땮땯땰땱땲땳땴땵땶땷땸땹땺땻땼땽땾땿떀떁떂떃떄떅떆떇떈떉떊떋떌떍떎떏떐떑떒떓떔떕떖떗떘떙떚떛떜떝떞떟떢떣떥떦떧떩떬떭떮떯떲떶떷떸떹떺떾떿뗁뗂뗃뗅뗆뗇뗈뗉뗊뗋뗎뗒뗓뗔뗕뗖뗗뗙뗚뗛뗜뗝뗞뗟뗠뗡뗢뗣뗤뗥뗦뗧뗨뗩뗪뗫뗭뗮뗯뗰뗱뗲뗳뗴뗵뗶뗷뗸뗹뗺뗻뗼뗽뗾뗿�".split("");for(a=0;a!=t[139].length;++a)if(t[139][a].charCodeAt(0)!==65533){r[t[139][a]]=35584+a;e[35584+a]=t[139][a]}t[140]="�����������������������������������������������������������������똀똁똂똃똄똅똆똇똈똉똊똋똌똍똎똏똒똓똕똖똗똙똚똛똜똝������똞똟똠똡똢똣똤똦똧똨똩똪똫똭똮똯똰똱똲똳똵똶똷똸똹똺������똻똼똽똾똿뙀뙁뙂뙃뙄뙅뙆뙇뙉뙊뙋뙌뙍뙎뙏뙐뙑뙒뙓뙔뙕뙖뙗뙘뙙뙚뙛뙜뙝뙞뙟뙠뙡뙢뙣뙥뙦뙧뙩뙪뙫뙬뙭뙮뙯뙰뙱뙲뙳뙴뙵뙶뙷뙸뙹뙺뙻뙼뙽뙾뙿뚀뚁뚂뚃뚄뚅뚆뚇뚈뚉뚊뚋뚌뚍뚎뚏뚐뚑뚒뚓뚔뚕뚖뚗뚘뚙뚚뚛뚞뚟뚡뚢뚣뚥뚦뚧뚨뚩뚪뚭뚮뚯뚰뚲뚳뚴뚵뚶뚷뚸뚹뚺뚻뚼뚽뚾뚿뛀뛁뛂�".split("");for(a=0;a!=t[140].length;++a)if(t[140][a].charCodeAt(0)!==65533){r[t[140][a]]=35840+a;e[35840+a]=t[140][a]}t[141]="�����������������������������������������������������������������뛃뛄뛅뛆뛇뛈뛉뛊뛋뛌뛍뛎뛏뛐뛑뛒뛓뛕뛖뛗뛘뛙뛚뛛뛜뛝������뛞뛟뛠뛡뛢뛣뛤뛥뛦뛧뛨뛩뛪뛫뛬뛭뛮뛯뛱뛲뛳뛵뛶뛷뛹뛺������뛻뛼뛽뛾뛿뜂뜃뜄뜆뜇뜈뜉뜊뜋뜌뜍뜎뜏뜐뜑뜒뜓뜔뜕뜖뜗뜘뜙뜚뜛뜜뜝뜞뜟뜠뜡뜢뜣뜤뜥뜦뜧뜪뜫뜭뜮뜱뜲뜳뜴뜵뜶뜷뜺뜼뜽뜾뜿띀띁띂띃띅띆띇띉띊띋띍띎띏띐띑띒띓띖띗띘띙띚띛띜띝띞띟띡띢띣띥띦띧띩띪띫띬띭띮띯띲띴띶띷띸띹띺띻띾띿랁랂랃랅랆랇랈랉랊랋랎랓랔랕랚랛랝랞�".split("");for(a=0;a!=t[141].length;++a)if(t[141][a].charCodeAt(0)!==65533){r[t[141][a]]=36096+a;e[36096+a]=t[141][a]}t[142]="�����������������������������������������������������������������랟랡랢랣랤랥랦랧랪랮랯랰랱랲랳랶랷랹랺랻랼랽랾랿럀럁������럂럃럄럅럆럈럊럋럌럍럎럏럐럑럒럓럔럕럖럗럘럙럚럛럜럝������럞럟럠럡럢럣럤럥럦럧럨럩럪럫럮럯럱럲럳럵럶럷럸럹럺럻럾렂렃렄렅렆렊렋렍렎렏렑렒렓렔렕렖렗렚렜렞렟렠렡렢렣렦렧렩렪렫렭렮렯렰렱렲렳렶렺렻렼렽렾렿롁롂롃롅롆롇롈롉롊롋롌롍롎롏롐롒롔롕롖롗롘롙롚롛롞롟롡롢롣롥롦롧롨롩롪롫롮롰롲롳롴롵롶롷롹롺롻롽롾롿뢀뢁뢂뢃뢄�".split("");for(a=0;a!=t[142].length;++a)if(t[142][a].charCodeAt(0)!==65533){r[t[142][a]]=36352+a;e[36352+a]=t[142][a]}t[143]="�����������������������������������������������������������������뢅뢆뢇뢈뢉뢊뢋뢌뢎뢏뢐뢑뢒뢓뢔뢕뢖뢗뢘뢙뢚뢛뢜뢝뢞뢟������뢠뢡뢢뢣뢤뢥뢦뢧뢩뢪뢫뢬뢭뢮뢯뢱뢲뢳뢵뢶뢷뢹뢺뢻뢼뢽������뢾뢿룂룄룆룇룈룉룊룋룍룎룏룑룒룓룕룖룗룘룙룚룛룜룞룠룢룣룤룥룦룧룪룫룭룮룯룱룲룳룴룵룶룷룺룼룾룿뤀뤁뤂뤃뤅뤆뤇뤈뤉뤊뤋뤌뤍뤎뤏뤐뤑뤒뤓뤔뤕뤖뤗뤙뤚뤛뤜뤝뤞뤟뤡뤢뤣뤤뤥뤦뤧뤨뤩뤪뤫뤬뤭뤮뤯뤰뤱뤲뤳뤴뤵뤶뤷뤸뤹뤺뤻뤾뤿륁륂륃륅륆륇륈륉륊륋륍륎륐륒륓륔륕륖륗�".split("");for(a=0;a!=t[143].length;++a)if(t[143][a].charCodeAt(0)!==65533){r[t[143][a]]=36608+a;e[36608+a]=t[143][a]}t[144]="�����������������������������������������������������������������륚륛륝륞륟륡륢륣륤륥륦륧륪륬륮륯륰륱륲륳륶륷륹륺륻륽������륾륿릀릁릂릃릆릈릋릌릏릐릑릒릓릔릕릖릗릘릙릚릛릜릝릞������릟릠릡릢릣릤릥릦릧릨릩릪릫릮릯릱릲릳릵릶릷릸릹릺릻릾맀맂맃맄맅맆맇맊맋맍맓맔맕맖맗맚맜맟맠맢맦맧맩맪맫맭맮맯맰맱맲맳맶맻맼맽맾맿먂먃먄먅먆먇먉먊먋먌먍먎먏먐먑먒먓먔먖먗먘먙먚먛먜먝먞먟먠먡먢먣먤먥먦먧먨먩먪먫먬먭먮먯먰먱먲먳먴먵먶먷먺먻먽먾먿멁멃멄멅멆�".split("");for(a=0;a!=t[144].length;++a)if(t[144][a].charCodeAt(0)!==65533){r[t[144][a]]=36864+a;e[36864+a]=t[144][a]}t[145]="�����������������������������������������������������������������멇멊멌멏멐멑멒멖멗멙멚멛멝멞멟멠멡멢멣멦멪멫멬멭멮멯������멲멳멵멶멷멹멺멻멼멽멾멿몀몁몂몆몈몉몊몋몍몎몏몐몑몒������몓몔몕몖몗몘몙몚몛몜몝몞몟몠몡몢몣몤몥몦몧몪몭몮몯몱몳몴몵몶몷몺몼몾몿뫀뫁뫂뫃뫅뫆뫇뫉뫊뫋뫌뫍뫎뫏뫐뫑뫒뫓뫔뫕뫖뫗뫚뫛뫜뫝뫞뫟뫠뫡뫢뫣뫤뫥뫦뫧뫨뫩뫪뫫뫬뫭뫮뫯뫰뫱뫲뫳뫴뫵뫶뫷뫸뫹뫺뫻뫽뫾뫿묁묂묃묅묆묇묈묉묊묋묌묎묐묒묓묔묕묖묗묙묚묛묝묞묟묡묢묣묤묥묦묧�".split("");for(a=0;a!=t[145].length;++a)if(t[145][a].charCodeAt(0)!==65533){r[t[145][a]]=37120+a;e[37120+a]=t[145][a]}t[146]="�����������������������������������������������������������������묨묪묬묭묮묯묰묱묲묳묷묹묺묿뭀뭁뭂뭃뭆뭈뭊뭋뭌뭎뭑뭒������뭓뭕뭖뭗뭙뭚뭛뭜뭝뭞뭟뭠뭢뭤뭥뭦뭧뭨뭩뭪뭫뭭뭮뭯뭰뭱������뭲뭳뭴뭵뭶뭷뭸뭹뭺뭻뭼뭽뭾뭿뮀뮁뮂뮃뮄뮅뮆뮇뮉뮊뮋뮍뮎뮏뮑뮒뮓뮔뮕뮖뮗뮘뮙뮚뮛뮜뮝뮞뮟뮠뮡뮢뮣뮥뮦뮧뮩뮪뮫뮭뮮뮯뮰뮱뮲뮳뮵뮶뮸뮹뮺뮻뮼뮽뮾뮿믁믂믃믅믆믇믉믊믋믌믍믎믏믑믒믔믕믖믗믘믙믚믛믜믝믞믟믠믡믢믣믤믥믦믧믨믩믪믫믬믭믮믯믰믱믲믳믴믵믶믷믺믻믽믾밁�".split("");for(a=0;a!=t[146].length;++a)if(t[146][a].charCodeAt(0)!==65533){r[t[146][a]]=37376+a;e[37376+a]=t[146][a]}t[147]="�����������������������������������������������������������������밃밄밅밆밇밊밎밐밒밓밙밚밠밡밢밣밦밨밪밫밬밮밯밲밳밵������밶밷밹밺밻밼밽밾밿뱂뱆뱇뱈뱊뱋뱎뱏뱑뱒뱓뱔뱕뱖뱗뱘뱙������뱚뱛뱜뱞뱟뱠뱡뱢뱣뱤뱥뱦뱧뱨뱩뱪뱫뱬뱭뱮뱯뱰뱱뱲뱳뱴뱵뱶뱷뱸뱹뱺뱻뱼뱽뱾뱿벀벁벂벃벆벇벉벊벍벏벐벑벒벓벖벘벛벜벝벞벟벢벣벥벦벩벪벫벬벭벮벯벲벶벷벸벹벺벻벾벿볁볂볃볅볆볇볈볉볊볋볌볎볒볓볔볖볗볙볚볛볝볞볟볠볡볢볣볤볥볦볧볨볩볪볫볬볭볮볯볰볱볲볳볷볹볺볻볽�".split("");for(a=0;a!=t[147].length;++a)if(t[147][a].charCodeAt(0)!==65533){r[t[147][a]]=37632+a;e[37632+a]=t[147][a]}t[148]="�����������������������������������������������������������������볾볿봀봁봂봃봆봈봊봋봌봍봎봏봑봒봓봕봖봗봘봙봚봛봜봝������봞봟봠봡봢봣봥봦봧봨봩봪봫봭봮봯봰봱봲봳봴봵봶봷봸봹������봺봻봼봽봾봿뵁뵂뵃뵄뵅뵆뵇뵊뵋뵍뵎뵏뵑뵒뵓뵔뵕뵖뵗뵚뵛뵜뵝뵞뵟뵠뵡뵢뵣뵥뵦뵧뵩뵪뵫뵬뵭뵮뵯뵰뵱뵲뵳뵴뵵뵶뵷뵸뵹뵺뵻뵼뵽뵾뵿붂붃붅붆붋붌붍붎붏붒붔붖붗붘붛붝붞붟붠붡붢붣붥붦붧붨붩붪붫붬붭붮붯붱붲붳붴붵붶붷붹붺붻붼붽붾붿뷀뷁뷂뷃뷄뷅뷆뷇뷈뷉뷊뷋뷌뷍뷎뷏뷐뷑�".split("");for(a=0;a!=t[148].length;++a)if(t[148][a].charCodeAt(0)!==65533){r[t[148][a]]=37888+a;e[37888+a]=t[148][a]}t[149]="�����������������������������������������������������������������뷒뷓뷖뷗뷙뷚뷛뷝뷞뷟뷠뷡뷢뷣뷤뷥뷦뷧뷨뷪뷫뷬뷭뷮뷯뷱������뷲뷳뷵뷶뷷뷹뷺뷻뷼뷽뷾뷿븁븂븄븆븇븈븉븊븋븎븏븑븒븓������븕븖븗븘븙븚븛븞븠븡븢븣븤븥븦븧븨븩븪븫븬븭븮븯븰븱븲븳븴븵븶븷븸븹븺븻븼븽븾븿빀빁빂빃빆빇빉빊빋빍빏빐빑빒빓빖빘빜빝빞빟빢빣빥빦빧빩빫빬빭빮빯빲빶빷빸빹빺빾빿뺁뺂뺃뺅뺆뺇뺈뺉뺊뺋뺎뺒뺓뺔뺕뺖뺗뺚뺛뺜뺝뺞뺟뺠뺡뺢뺣뺤뺥뺦뺧뺩뺪뺫뺬뺭뺮뺯뺰뺱뺲뺳뺴뺵뺶뺷�".split("");for(a=0;a!=t[149].length;++a)if(t[149][a].charCodeAt(0)!==65533){r[t[149][a]]=38144+a;e[38144+a]=t[149][a]}t[150]="�����������������������������������������������������������������뺸뺹뺺뺻뺼뺽뺾뺿뻀뻁뻂뻃뻄뻅뻆뻇뻈뻉뻊뻋뻌뻍뻎뻏뻒뻓������뻕뻖뻙뻚뻛뻜뻝뻞뻟뻡뻢뻦뻧뻨뻩뻪뻫뻭뻮뻯뻰뻱뻲뻳뻴뻵������뻶뻷뻸뻹뻺뻻뻼뻽뻾뻿뼀뼂뼃뼄뼅뼆뼇뼊뼋뼌뼍뼎뼏뼐뼑뼒뼓뼔뼕뼖뼗뼚뼞뼟뼠뼡뼢뼣뼤뼥뼦뼧뼨뼩뼪뼫뼬뼭뼮뼯뼰뼱뼲뼳뼴뼵뼶뼷뼸뼹뼺뼻뼼뼽뼾뼿뽂뽃뽅뽆뽇뽉뽊뽋뽌뽍뽎뽏뽒뽓뽔뽖뽗뽘뽙뽚뽛뽜뽝뽞뽟뽠뽡뽢뽣뽤뽥뽦뽧뽨뽩뽪뽫뽬뽭뽮뽯뽰뽱뽲뽳뽴뽵뽶뽷뽸뽹뽺뽻뽼뽽뽾뽿뾀뾁뾂�".split("");for(a=0;a!=t[150].length;++a)if(t[150][a].charCodeAt(0)!==65533){r[t[150][a]]=38400+a;e[38400+a]=t[150][a]}t[151]="�����������������������������������������������������������������뾃뾄뾅뾆뾇뾈뾉뾊뾋뾌뾍뾎뾏뾐뾑뾒뾓뾕뾖뾗뾘뾙뾚뾛뾜뾝������뾞뾟뾠뾡뾢뾣뾤뾥뾦뾧뾨뾩뾪뾫뾬뾭뾮뾯뾱뾲뾳뾴뾵뾶뾷뾸������뾹뾺뾻뾼뾽뾾뾿뿀뿁뿂뿃뿄뿆뿇뿈뿉뿊뿋뿎뿏뿑뿒뿓뿕뿖뿗뿘뿙뿚뿛뿝뿞뿠뿢뿣뿤뿥뿦뿧뿨뿩뿪뿫뿬뿭뿮뿯뿰뿱뿲뿳뿴뿵뿶뿷뿸뿹뿺뿻뿼뿽뿾뿿쀀쀁쀂쀃쀄쀅쀆쀇쀈쀉쀊쀋쀌쀍쀎쀏쀐쀑쀒쀓쀔쀕쀖쀗쀘쀙쀚쀛쀜쀝쀞쀟쀠쀡쀢쀣쀤쀥쀦쀧쀨쀩쀪쀫쀬쀭쀮쀯쀰쀱쀲쀳쀴쀵쀶쀷쀸쀹쀺쀻쀽쀾쀿�".split("");for(a=0;a!=t[151].length;++a)if(t[151][a].charCodeAt(0)!==65533){r[t[151][a]]=38656+a;e[38656+a]=t[151][a]}t[152]="�����������������������������������������������������������������쁀쁁쁂쁃쁄쁅쁆쁇쁈쁉쁊쁋쁌쁍쁎쁏쁐쁒쁓쁔쁕쁖쁗쁙쁚쁛������쁝쁞쁟쁡쁢쁣쁤쁥쁦쁧쁪쁫쁬쁭쁮쁯쁰쁱쁲쁳쁴쁵쁶쁷쁸쁹������쁺쁻쁼쁽쁾쁿삀삁삂삃삄삅삆삇삈삉삊삋삌삍삎삏삒삓삕삖삗삙삚삛삜삝삞삟삢삤삦삧삨삩삪삫삮삱삲삷삸삹삺삻삾샂샃샄샆샇샊샋샍샎샏샑샒샓샔샕샖샗샚샞샟샠샡샢샣샦샧샩샪샫샭샮샯샰샱샲샳샶샸샺샻샼샽샾샿섁섂섃섅섆섇섉섊섋섌섍섎섏섑섒섓섔섖섗섘섙섚섛섡섢섥섨섩섪섫섮�".split("");for(a=0;a!=t[152].length;++a)if(t[152][a].charCodeAt(0)!==65533){r[t[152][a]]=38912+a;e[38912+a]=t[152][a]}t[153]="�����������������������������������������������������������������섲섳섴섵섷섺섻섽섾섿셁셂셃셄셅셆셇셊셎셏셐셑셒셓셖셗������셙셚셛셝셞셟셠셡셢셣셦셪셫셬셭셮셯셱셲셳셵셶셷셹셺셻������셼셽셾셿솀솁솂솃솄솆솇솈솉솊솋솏솑솒솓솕솗솘솙솚솛솞솠솢솣솤솦솧솪솫솭솮솯솱솲솳솴솵솶솷솸솹솺솻솼솾솿쇀쇁쇂쇃쇅쇆쇇쇉쇊쇋쇍쇎쇏쇐쇑쇒쇓쇕쇖쇙쇚쇛쇜쇝쇞쇟쇡쇢쇣쇥쇦쇧쇩쇪쇫쇬쇭쇮쇯쇲쇴쇵쇶쇷쇸쇹쇺쇻쇾쇿숁숂숃숅숆숇숈숉숊숋숎숐숒숓숔숕숖숗숚숛숝숞숡숢숣�".split("");for(a=0;a!=t[153].length;++a)if(t[153][a].charCodeAt(0)!==65533){r[t[153][a]]=39168+a;e[39168+a]=t[153][a]}t[154]="�����������������������������������������������������������������숤숥숦숧숪숬숮숰숳숵숶숷숸숹숺숻숼숽숾숿쉀쉁쉂쉃쉄쉅������쉆쉇쉉쉊쉋쉌쉍쉎쉏쉒쉓쉕쉖쉗쉙쉚쉛쉜쉝쉞쉟쉡쉢쉣쉤쉦������쉧쉨쉩쉪쉫쉮쉯쉱쉲쉳쉵쉶쉷쉸쉹쉺쉻쉾슀슂슃슄슅슆슇슊슋슌슍슎슏슑슒슓슔슕슖슗슙슚슜슞슟슠슡슢슣슦슧슩슪슫슮슯슰슱슲슳슶슸슺슻슼슽슾슿싀싁싂싃싄싅싆싇싈싉싊싋싌싍싎싏싐싑싒싓싔싕싖싗싘싙싚싛싞싟싡싢싥싦싧싨싩싪싮싰싲싳싴싵싷싺싽싾싿쌁쌂쌃쌄쌅쌆쌇쌊쌋쌎쌏�".split("");for(a=0;a!=t[154].length;++a)if(t[154][a].charCodeAt(0)!==65533){r[t[154][a]]=39424+a;e[39424+a]=t[154][a]}t[155]="�����������������������������������������������������������������쌐쌑쌒쌖쌗쌙쌚쌛쌝쌞쌟쌠쌡쌢쌣쌦쌧쌪쌫쌬쌭쌮쌯쌰쌱쌲������쌳쌴쌵쌶쌷쌸쌹쌺쌻쌼쌽쌾쌿썀썁썂썃썄썆썇썈썉썊썋썌썍������썎썏썐썑썒썓썔썕썖썗썘썙썚썛썜썝썞썟썠썡썢썣썤썥썦썧썪썫썭썮썯썱썳썴썵썶썷썺썻썾썿쎀쎁쎂쎃쎅쎆쎇쎉쎊쎋쎍쎎쎏쎐쎑쎒쎓쎔쎕쎖쎗쎘쎙쎚쎛쎜쎝쎞쎟쎠쎡쎢쎣쎤쎥쎦쎧쎨쎩쎪쎫쎬쎭쎮쎯쎰쎱쎲쎳쎴쎵쎶쎷쎸쎹쎺쎻쎼쎽쎾쎿쏁쏂쏃쏄쏅쏆쏇쏈쏉쏊쏋쏌쏍쏎쏏쏐쏑쏒쏓쏔쏕쏖쏗쏚�".split("");for(a=0;a!=t[155].length;++a)if(t[155][a].charCodeAt(0)!==65533){r[t[155][a]]=39680+a;e[39680+a]=t[155][a]}t[156]="�����������������������������������������������������������������쏛쏝쏞쏡쏣쏤쏥쏦쏧쏪쏫쏬쏮쏯쏰쏱쏲쏳쏶쏷쏹쏺쏻쏼쏽쏾������쏿쐀쐁쐂쐃쐄쐅쐆쐇쐉쐊쐋쐌쐍쐎쐏쐑쐒쐓쐔쐕쐖쐗쐘쐙쐚������쐛쐜쐝쐞쐟쐠쐡쐢쐣쐥쐦쐧쐨쐩쐪쐫쐭쐮쐯쐱쐲쐳쐵쐶쐷쐸쐹쐺쐻쐾쐿쑀쑁쑂쑃쑄쑅쑆쑇쑉쑊쑋쑌쑍쑎쑏쑐쑑쑒쑓쑔쑕쑖쑗쑘쑙쑚쑛쑜쑝쑞쑟쑠쑡쑢쑣쑦쑧쑩쑪쑫쑭쑮쑯쑰쑱쑲쑳쑶쑷쑸쑺쑻쑼쑽쑾쑿쒁쒂쒃쒄쒅쒆쒇쒈쒉쒊쒋쒌쒍쒎쒏쒐쒑쒒쒓쒕쒖쒗쒘쒙쒚쒛쒝쒞쒟쒠쒡쒢쒣쒤쒥쒦쒧쒨쒩�".split("");for(a=0;a!=t[156].length;++a)if(t[156][a].charCodeAt(0)!==65533){r[t[156][a]]=39936+a;e[39936+a]=t[156][a]}t[157]="�����������������������������������������������������������������쒪쒫쒬쒭쒮쒯쒰쒱쒲쒳쒴쒵쒶쒷쒹쒺쒻쒽쒾쒿쓀쓁쓂쓃쓄쓅������쓆쓇쓈쓉쓊쓋쓌쓍쓎쓏쓐쓑쓒쓓쓔쓕쓖쓗쓘쓙쓚쓛쓜쓝쓞쓟������쓠쓡쓢쓣쓤쓥쓦쓧쓨쓪쓫쓬쓭쓮쓯쓲쓳쓵쓶쓷쓹쓻쓼쓽쓾씂씃씄씅씆씇씈씉씊씋씍씎씏씑씒씓씕씖씗씘씙씚씛씝씞씟씠씡씢씣씤씥씦씧씪씫씭씮씯씱씲씳씴씵씶씷씺씼씾씿앀앁앂앃앆앇앋앏앐앑앒앖앚앛앜앟앢앣앥앦앧앩앪앫앬앭앮앯앲앶앷앸앹앺앻앾앿얁얂얃얅얆얈얉얊얋얎얐얒얓얔�".split("");for(a=0;a!=t[157].length;++a)if(t[157][a].charCodeAt(0)!==65533){r[t[157][a]]=40192+a;e[40192+a]=t[157][a]}t[158]="�����������������������������������������������������������������얖얙얚얛얝얞얟얡얢얣얤얥얦얧얨얪얫얬얭얮얯얰얱얲얳얶������얷얺얿엀엁엂엃엋엍엏엒엓엕엖엗엙엚엛엜엝엞엟엢엤엦엧������엨엩엪엫엯엱엲엳엵엸엹엺엻옂옃옄옉옊옋옍옎옏옑옒옓옔옕옖옗옚옝옞옟옠옡옢옣옦옧옩옪옫옯옱옲옶옸옺옼옽옾옿왂왃왅왆왇왉왊왋왌왍왎왏왒왖왗왘왙왚왛왞왟왡왢왣왤왥왦왧왨왩왪왫왭왮왰왲왳왴왵왶왷왺왻왽왾왿욁욂욃욄욅욆욇욊욌욎욏욐욑욒욓욖욗욙욚욛욝욞욟욠욡욢욣욦�".split("");for(a=0;a!=t[158].length;++a)if(t[158][a].charCodeAt(0)!==65533){r[t[158][a]]=40448+a;e[40448+a]=t[158][a]}t[159]="�����������������������������������������������������������������욨욪욫욬욭욮욯욲욳욵욶욷욻욼욽욾욿웂웄웆웇웈웉웊웋웎������웏웑웒웓웕웖웗웘웙웚웛웞웟웢웣웤웥웦웧웪웫웭웮웯웱웲������웳웴웵웶웷웺웻웼웾웿윀윁윂윃윆윇윉윊윋윍윎윏윐윑윒윓윖윘윚윛윜윝윞윟윢윣윥윦윧윩윪윫윬윭윮윯윲윴윶윸윹윺윻윾윿읁읂읃읅읆읇읈읉읋읎읐읙읚읛읝읞읟읡읢읣읤읥읦읧읩읪읬읭읮읯읰읱읲읳읶읷읹읺읻읿잀잁잂잆잋잌잍잏잒잓잕잙잛잜잝잞잟잢잧잨잩잪잫잮잯잱잲잳잵잶잷�".split("");for(a=0;a!=t[159].length;++a)if(t[159][a].charCodeAt(0)!==65533){r[t[159][a]]=40704+a;e[40704+a]=t[159][a]}t[160]="�����������������������������������������������������������������잸잹잺잻잾쟂쟃쟄쟅쟆쟇쟊쟋쟍쟏쟑쟒쟓쟔쟕쟖쟗쟙쟚쟛쟜������쟞쟟쟠쟡쟢쟣쟥쟦쟧쟩쟪쟫쟭쟮쟯쟰쟱쟲쟳쟴쟵쟶쟷쟸쟹쟺������쟻쟼쟽쟾쟿젂젃젅젆젇젉젋젌젍젎젏젒젔젗젘젙젚젛젞젟젡젢젣젥젦젧젨젩젪젫젮젰젲젳젴젵젶젷젹젺젻젽젾젿졁졂졃졄졅졆졇졊졋졎졏졐졑졒졓졕졖졗졘졙졚졛졜졝졞졟졠졡졢졣졤졥졦졧졨졩졪졫졬졭졮졯졲졳졵졶졷졹졻졼졽졾졿좂좄좈좉좊좎좏좐좑좒좓좕좖좗좘좙좚좛좜좞좠좢좣좤�".split("");for(a=0;a!=t[160].length;++a)if(t[160][a].charCodeAt(0)!==65533){r[t[160][a]]=40960+a;e[40960+a]=t[160][a]}t[161]="�����������������������������������������������������������������좥좦좧좩좪좫좬좭좮좯좰좱좲좳좴좵좶좷좸좹좺좻좾좿죀죁������죂죃죅죆죇죉죊죋죍죎죏죐죑죒죓죖죘죚죛죜죝죞죟죢죣죥������죦죧죨죩죪죫죬죭죮죯죰죱죲죳죴죶죷죸죹죺죻죾죿줁줂줃줇줈줉줊줋줎 、。·‥…¨〃­―∥\∼‘’“”〔〕〈〉《》「」『』【】±×÷≠≤≥∞∴°′″℃Å¢£¥♂♀∠⊥⌒∂∇≡≒§※☆★○●◎◇◆□■△▲▽▼→←↑↓↔〓≪≫√∽∝∵∫∬∈∋⊆⊇⊂⊃∪∩∧∨¬�".split("");for(a=0;a!=t[161].length;++a)if(t[161][a].charCodeAt(0)!==65533){r[t[161][a]]=41216+a;e[41216+a]=t[161][a]}t[162]="�����������������������������������������������������������������줐줒줓줔줕줖줗줙줚줛줜줝줞줟줠줡줢줣줤줥줦줧줨줩줪줫������줭줮줯줰줱줲줳줵줶줷줸줹줺줻줼줽줾줿쥀쥁쥂쥃쥄쥅쥆쥇������쥈쥉쥊쥋쥌쥍쥎쥏쥒쥓쥕쥖쥗쥙쥚쥛쥜쥝쥞쥟쥢쥤쥥쥦쥧쥨쥩쥪쥫쥭쥮쥯⇒⇔∀∃´~ˇ˘˝˚˙¸˛¡¿ː∮∑∏¤℉‰◁◀▷▶♤♠♡♥♧♣⊙◈▣◐◑▒▤▥▨▧▦▩♨☏☎☜☞¶†‡↕↗↙↖↘♭♩♪♬㉿㈜№㏇™㏂㏘℡€®������������������������".split("");for(a=0;a!=t[162].length;++a)if(t[162][a].charCodeAt(0)!==65533){r[t[162][a]]=41472+a;e[41472+a]=t[162][a]}t[163]="�����������������������������������������������������������������쥱쥲쥳쥵쥶쥷쥸쥹쥺쥻쥽쥾쥿즀즁즂즃즄즅즆즇즊즋즍즎즏������즑즒즓즔즕즖즗즚즜즞즟즠즡즢즣즤즥즦즧즨즩즪즫즬즭즮������즯즰즱즲즳즴즵즶즷즸즹즺즻즼즽즾즿짂짃짅짆짉짋짌짍짎짏짒짔짗짘짛!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[₩]^_`abcdefghijklmnopqrstuvwxyz{|} ̄�".split("");for(a=0;a!=t[163].length;++a)if(t[163][a].charCodeAt(0)!==65533){r[t[163][a]]=41728+a;e[41728+a]=t[163][a]}t[164]="�����������������������������������������������������������������짞짟짡짣짥짦짨짩짪짫짮짲짳짴짵짶짷짺짻짽짾짿쨁쨂쨃쨄������쨅쨆쨇쨊쨎쨏쨐쨑쨒쨓쨕쨖쨗쨙쨚쨛쨜쨝쨞쨟쨠쨡쨢쨣쨤쨥������쨦쨧쨨쨪쨫쨬쨭쨮쨯쨰쨱쨲쨳쨴쨵쨶쨷쨸쨹쨺쨻쨼쨽쨾쨿쩀쩁쩂쩃쩄쩅쩆ㄱㄲㄳㄴㄵㄶㄷㄸㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅃㅄㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎㅏㅐㅑㅒㅓㅔㅕㅖㅗㅘㅙㅚㅛㅜㅝㅞㅟㅠㅡㅢㅣㅤㅥㅦㅧㅨㅩㅪㅫㅬㅭㅮㅯㅰㅱㅲㅳㅴㅵㅶㅷㅸㅹㅺㅻㅼㅽㅾㅿㆀㆁㆂㆃㆄㆅㆆㆇㆈㆉㆊㆋㆌㆍㆎ�".split("");for(a=0;a!=t[164].length;++a)if(t[164][a].charCodeAt(0)!==65533){r[t[164][a]]=41984+a;e[41984+a]=t[164][a]}t[165]="�����������������������������������������������������������������쩇쩈쩉쩊쩋쩎쩏쩑쩒쩓쩕쩖쩗쩘쩙쩚쩛쩞쩢쩣쩤쩥쩦쩧쩩쩪������쩫쩬쩭쩮쩯쩰쩱쩲쩳쩴쩵쩶쩷쩸쩹쩺쩻쩼쩾쩿쪀쪁쪂쪃쪅쪆������쪇쪈쪉쪊쪋쪌쪍쪎쪏쪐쪑쪒쪓쪔쪕쪖쪗쪙쪚쪛쪜쪝쪞쪟쪠쪡쪢쪣쪤쪥쪦쪧ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ�����ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ�������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�������".split("");for(a=0;a!=t[165].length;++a)if(t[165][a].charCodeAt(0)!==65533){r[t[165][a]]=42240+a;e[42240+a]=t[165][a]}t[166]="�����������������������������������������������������������������쪨쪩쪪쪫쪬쪭쪮쪯쪰쪱쪲쪳쪴쪵쪶쪷쪸쪹쪺쪻쪾쪿쫁쫂쫃쫅������쫆쫇쫈쫉쫊쫋쫎쫐쫒쫔쫕쫖쫗쫚쫛쫜쫝쫞쫟쫡쫢쫣쫤쫥쫦쫧������쫨쫩쫪쫫쫭쫮쫯쫰쫱쫲쫳쫵쫶쫷쫸쫹쫺쫻쫼쫽쫾쫿쬀쬁쬂쬃쬄쬅쬆쬇쬉쬊─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂┒┑┚┙┖┕┎┍┞┟┡┢┦┧┩┪┭┮┱┲┵┶┹┺┽┾╀╁╃╄╅╆╇╈╉╊���������������������������".split("");for(a=0;a!=t[166].length;++a)if(t[166][a].charCodeAt(0)!==65533){r[t[166][a]]=42496+a;e[42496+a]=t[166][a]}t[167]="�����������������������������������������������������������������쬋쬌쬍쬎쬏쬑쬒쬓쬕쬖쬗쬙쬚쬛쬜쬝쬞쬟쬢쬣쬤쬥쬦쬧쬨쬩������쬪쬫쬬쬭쬮쬯쬰쬱쬲쬳쬴쬵쬶쬷쬸쬹쬺쬻쬼쬽쬾쬿쭀쭂쭃쭄������쭅쭆쭇쭊쭋쭍쭎쭏쭑쭒쭓쭔쭕쭖쭗쭚쭛쭜쭞쭟쭠쭡쭢쭣쭥쭦쭧쭨쭩쭪쭫쭬㎕㎖㎗ℓ㎘㏄㎣㎤㎥㎦㎙㎚㎛㎜㎝㎞㎟㎠㎡㎢㏊㎍㎎㎏㏏㎈㎉㏈㎧㎨㎰㎱㎲㎳㎴㎵㎶㎷㎸㎹㎀㎁㎂㎃㎄㎺㎻㎼㎽㎾㎿㎐㎑㎒㎓㎔Ω㏀㏁㎊㎋㎌㏖㏅㎭㎮㎯㏛㎩㎪㎫㎬㏝㏐㏓㏃㏉㏜㏆����������������".split("");for(a=0;a!=t[167].length;++a)if(t[167][a].charCodeAt(0)!==65533){r[t[167][a]]=42752+a;e[42752+a]=t[167][a]}t[168]="�����������������������������������������������������������������쭭쭮쭯쭰쭱쭲쭳쭴쭵쭶쭷쭺쭻쭼쭽쭾쭿쮀쮁쮂쮃쮄쮅쮆쮇쮈������쮉쮊쮋쮌쮍쮎쮏쮐쮑쮒쮓쮔쮕쮖쮗쮘쮙쮚쮛쮝쮞쮟쮠쮡쮢쮣������쮤쮥쮦쮧쮨쮩쮪쮫쮬쮭쮮쮯쮰쮱쮲쮳쮴쮵쮶쮷쮹쮺쮻쮼쮽쮾쮿쯀쯁쯂쯃쯄ÆÐªĦ�IJ�ĿŁØŒºÞŦŊ�㉠㉡㉢㉣㉤㉥㉦㉧㉨㉩㉪㉫㉬㉭㉮㉯㉰㉱㉲㉳㉴㉵㉶㉷㉸㉹㉺㉻ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮½⅓⅔¼¾⅛⅜⅝⅞�".split("");for(a=0;a!=t[168].length;++a)if(t[168][a].charCodeAt(0)!==65533){r[t[168][a]]=43008+a;e[43008+a]=t[168][a]}t[169]="�����������������������������������������������������������������쯅쯆쯇쯈쯉쯊쯋쯌쯍쯎쯏쯐쯑쯒쯓쯕쯖쯗쯘쯙쯚쯛쯜쯝쯞쯟������쯠쯡쯢쯣쯥쯦쯨쯪쯫쯬쯭쯮쯯쯰쯱쯲쯳쯴쯵쯶쯷쯸쯹쯺쯻쯼������쯽쯾쯿찀찁찂찃찄찅찆찇찈찉찊찋찎찏찑찒찓찕찖찗찘찙찚찛찞찟찠찣찤æđðħıijĸŀłøœßþŧŋʼn㈀㈁㈂㈃㈄㈅㈆㈇㈈㈉㈊㈋㈌㈍㈎㈏㈐㈑㈒㈓㈔㈕㈖㈗㈘㈙㈚㈛⒜⒝⒞⒟⒠⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂¹²³⁴ⁿ₁₂₃₄�".split("");for(a=0;a!=t[169].length;++a)if(t[169][a].charCodeAt(0)!==65533){r[t[169][a]]=43264+a;e[43264+a]=t[169][a]}t[170]="�����������������������������������������������������������������찥찦찪찫찭찯찱찲찳찴찵찶찷찺찿챀챁챂챃챆챇챉챊챋챍챎������챏챐챑챒챓챖챚챛챜챝챞챟챡챢챣챥챧챩챪챫챬챭챮챯챱챲������챳챴챶챷챸챹챺챻챼챽챾챿첀첁첂첃첄첅첆첇첈첉첊첋첌첍첎첏첐첑첒첓ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������".split("");for(a=0;a!=t[170].length;++a)if(t[170][a].charCodeAt(0)!==65533){r[t[170][a]]=43520+a;e[43520+a]=t[170][a]}t[171]="�����������������������������������������������������������������첔첕첖첗첚첛첝첞첟첡첢첣첤첥첦첧첪첮첯첰첱첲첳첶첷첹������첺첻첽첾첿쳀쳁쳂쳃쳆쳈쳊쳋쳌쳍쳎쳏쳑쳒쳓쳕쳖쳗쳘쳙쳚������쳛쳜쳝쳞쳟쳠쳡쳢쳣쳥쳦쳧쳨쳩쳪쳫쳭쳮쳯쳱쳲쳳쳴쳵쳶쳷쳸쳹쳺쳻쳼쳽ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������".split("");for(a=0;a!=t[171].length;++a)if(t[171][a].charCodeAt(0)!==65533){r[t[171][a]]=43776+a;e[43776+a]=t[171][a]}t[172]="�����������������������������������������������������������������쳾쳿촀촂촃촄촅촆촇촊촋촍촎촏촑촒촓촔촕촖촗촚촜촞촟촠������촡촢촣촥촦촧촩촪촫촭촮촯촰촱촲촳촴촵촶촷촸촺촻촼촽촾������촿쵀쵁쵂쵃쵄쵅쵆쵇쵈쵉쵊쵋쵌쵍쵎쵏쵐쵑쵒쵓쵔쵕쵖쵗쵘쵙쵚쵛쵝쵞쵟АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������".split("");for(a=0;a!=t[172].length;++a)if(t[172][a].charCodeAt(0)!==65533){r[t[172][a]]=44032+a;e[44032+a]=t[172][a]}t[173]="�����������������������������������������������������������������쵡쵢쵣쵥쵦쵧쵨쵩쵪쵫쵮쵰쵲쵳쵴쵵쵶쵷쵹쵺쵻쵼쵽쵾쵿춀������춁춂춃춄춅춆춇춉춊춋춌춍춎춏춐춑춒춓춖춗춙춚춛춝춞춟������춠춡춢춣춦춨춪춫춬춭춮춯춱춲춳춴춵춶춷춸춹춺춻춼춽춾춿췀췁췂췃췅�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[173].length;++a)if(t[173][a].charCodeAt(0)!==65533){r[t[173][a]]=44288+a;e[44288+a]=t[173][a]}t[174]="�����������������������������������������������������������������췆췇췈췉췊췋췍췎췏췑췒췓췔췕췖췗췘췙췚췛췜췝췞췟췠췡������췢췣췤췥췦췧췩췪췫췭췮췯췱췲췳췴췵췶췷췺췼췾췿츀츁츂������츃츅츆츇츉츊츋츍츎츏츐츑츒츓츕츖츗츘츚츛츜츝츞츟츢츣츥츦츧츩츪츫�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[174].length;++a)if(t[174][a].charCodeAt(0)!==65533){r[t[174][a]]=44544+a;e[44544+a]=t[174][a]}t[175]="�����������������������������������������������������������������츬츭츮츯츲츴츶츷츸츹츺츻츼츽츾츿칀칁칂칃칄칅칆칇칈칉������칊칋칌칍칎칏칐칑칒칓칔칕칖칗칚칛칝칞칢칣칤칥칦칧칪칬������칮칯칰칱칲칳칶칷칹칺칻칽칾칿캀캁캂캃캆캈캊캋캌캍캎캏캒캓캕캖캗캙�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[175].length;++a)if(t[175][a].charCodeAt(0)!==65533){r[t[175][a]]=44800+a;e[44800+a]=t[175][a]}t[176]="�����������������������������������������������������������������캚캛캜캝캞캟캢캦캧캨캩캪캫캮캯캰캱캲캳캴캵캶캷캸캹캺������캻캼캽캾캿컀컂컃컄컅컆컇컈컉컊컋컌컍컎컏컐컑컒컓컔컕������컖컗컘컙컚컛컜컝컞컟컠컡컢컣컦컧컩컪컭컮컯컰컱컲컳컶컺컻컼컽컾컿가각간갇갈갉갊감갑값갓갔강갖갗같갚갛개객갠갤갬갭갯갰갱갸갹갼걀걋걍걔걘걜거걱건걷걸걺검겁것겄겅겆겉겊겋게겐겔겜겝겟겠겡겨격겪견겯결겸겹겻겼경곁계곈곌곕곗고곡곤곧골곪곬곯곰곱곳공곶과곽관괄괆�".split("");for(a=0;a!=t[176].length;++a)if(t[176][a].charCodeAt(0)!==65533){r[t[176][a]]=45056+a;e[45056+a]=t[176][a]}t[177]="�����������������������������������������������������������������켂켃켅켆켇켉켊켋켌켍켎켏켒켔켖켗켘켙켚켛켝켞켟켡켢켣������켥켦켧켨켩켪켫켮켲켳켴켵켶켷켹켺켻켼켽켾켿콀콁콂콃콄������콅콆콇콈콉콊콋콌콍콎콏콐콑콒콓콖콗콙콚콛콝콞콟콠콡콢콣콦콨콪콫콬괌괍괏광괘괜괠괩괬괭괴괵괸괼굄굅굇굉교굔굘굡굣구국군굳굴굵굶굻굼굽굿궁궂궈궉권궐궜궝궤궷귀귁귄귈귐귑귓규균귤그극근귿글긁금급긋긍긔기긱긴긷길긺김깁깃깅깆깊까깍깎깐깔깖깜깝깟깠깡깥깨깩깬깰깸�".split("");for(a=0;a!=t[177].length;++a)if(t[177][a].charCodeAt(0)!==65533){r[t[177][a]]=45312+a;e[45312+a]=t[177][a]}t[178]="�����������������������������������������������������������������콭콮콯콲콳콵콶콷콹콺콻콼콽콾콿쾁쾂쾃쾄쾆쾇쾈쾉쾊쾋쾍������쾎쾏쾐쾑쾒쾓쾔쾕쾖쾗쾘쾙쾚쾛쾜쾝쾞쾟쾠쾢쾣쾤쾥쾦쾧쾩������쾪쾫쾬쾭쾮쾯쾱쾲쾳쾴쾵쾶쾷쾸쾹쾺쾻쾼쾽쾾쾿쿀쿁쿂쿃쿅쿆쿇쿈쿉쿊쿋깹깻깼깽꺄꺅꺌꺼꺽꺾껀껄껌껍껏껐껑께껙껜껨껫껭껴껸껼꼇꼈꼍꼐꼬꼭꼰꼲꼴꼼꼽꼿꽁꽂꽃꽈꽉꽐꽜꽝꽤꽥꽹꾀꾄꾈꾐꾑꾕꾜꾸꾹꾼꿀꿇꿈꿉꿋꿍꿎꿔꿜꿨꿩꿰꿱꿴꿸뀀뀁뀄뀌뀐뀔뀜뀝뀨끄끅끈끊끌끎끓끔끕끗끙�".split("");for(a=0;a!=t[178].length;++a)if(t[178][a].charCodeAt(0)!==65533){r[t[178][a]]=45568+a;e[45568+a]=t[178][a]}t[179]="�����������������������������������������������������������������쿌쿍쿎쿏쿐쿑쿒쿓쿔쿕쿖쿗쿘쿙쿚쿛쿜쿝쿞쿟쿢쿣쿥쿦쿧쿩������쿪쿫쿬쿭쿮쿯쿲쿴쿶쿷쿸쿹쿺쿻쿽쿾쿿퀁퀂퀃퀅퀆퀇퀈퀉퀊������퀋퀌퀍퀎퀏퀐퀒퀓퀔퀕퀖퀗퀙퀚퀛퀜퀝퀞퀟퀠퀡퀢퀣퀤퀥퀦퀧퀨퀩퀪퀫퀬끝끼끽낀낄낌낍낏낑나낙낚난낟날낡낢남납낫났낭낮낯낱낳내낵낸낼냄냅냇냈냉냐냑냔냘냠냥너넉넋넌널넒넓넘넙넛넜넝넣네넥넨넬넴넵넷넸넹녀녁년녈념녑녔녕녘녜녠노녹논놀놂놈놉놋농높놓놔놘놜놨뇌뇐뇔뇜뇝�".split("");for(a=0;a!=t[179].length;++a)if(t[179][a].charCodeAt(0)!==65533){r[t[179][a]]=45824+a;e[45824+a]=t[179][a]}t[180]="�����������������������������������������������������������������퀮퀯퀰퀱퀲퀳퀶퀷퀹퀺퀻퀽퀾퀿큀큁큂큃큆큈큊큋큌큍큎큏������큑큒큓큕큖큗큙큚큛큜큝큞큟큡큢큣큤큥큦큧큨큩큪큫큮큯������큱큲큳큵큶큷큸큹큺큻큾큿킀킂킃킄킅킆킇킈킉킊킋킌킍킎킏킐킑킒킓킔뇟뇨뇩뇬뇰뇹뇻뇽누눅눈눋눌눔눕눗눙눠눴눼뉘뉜뉠뉨뉩뉴뉵뉼늄늅늉느늑는늘늙늚늠늡늣능늦늪늬늰늴니닉닌닐닒님닙닛닝닢다닥닦단닫달닭닮닯닳담답닷닸당닺닻닿대댁댄댈댐댑댓댔댕댜더덕덖던덛덜덞덟덤덥�".split("");for(a=0;a!=t[180].length;++a)if(t[180][a].charCodeAt(0)!==65533){r[t[180][a]]=46080+a;e[46080+a]=t[180][a]}t[181]="�����������������������������������������������������������������킕킖킗킘킙킚킛킜킝킞킟킠킡킢킣킦킧킩킪킫킭킮킯킰킱킲������킳킶킸킺킻킼킽킾킿탂탃탅탆탇탊탋탌탍탎탏탒탖탗탘탙탚������탛탞탟탡탢탣탥탦탧탨탩탪탫탮탲탳탴탵탶탷탹탺탻탼탽탾탿턀턁턂턃턄덧덩덫덮데덱덴델뎀뎁뎃뎄뎅뎌뎐뎔뎠뎡뎨뎬도독돈돋돌돎돐돔돕돗동돛돝돠돤돨돼됐되된될됨됩됫됴두둑둔둘둠둡둣둥둬뒀뒈뒝뒤뒨뒬뒵뒷뒹듀듄듈듐듕드득든듣들듦듬듭듯등듸디딕딘딛딜딤딥딧딨딩딪따딱딴딸�".split("");for(a=0;a!=t[181].length;++a)if(t[181][a].charCodeAt(0)!==65533){r[t[181][a]]=46336+a;e[46336+a]=t[181][a]}t[182]="�����������������������������������������������������������������턅턆턇턈턉턊턋턌턎턏턐턑턒턓턔턕턖턗턘턙턚턛턜턝턞턟������턠턡턢턣턤턥턦턧턨턩턪턫턬턭턮턯턲턳턵턶턷턹턻턼턽턾������턿텂텆텇텈텉텊텋텎텏텑텒텓텕텖텗텘텙텚텛텞텠텢텣텤텥텦텧텩텪텫텭땀땁땃땄땅땋때땍땐땔땜땝땟땠땡떠떡떤떨떪떫떰떱떳떴떵떻떼떽뗀뗄뗌뗍뗏뗐뗑뗘뗬또똑똔똘똥똬똴뙈뙤뙨뚜뚝뚠뚤뚫뚬뚱뛔뛰뛴뛸뜀뜁뜅뜨뜩뜬뜯뜰뜸뜹뜻띄띈띌띔띕띠띤띨띰띱띳띵라락란랄람랍랏랐랑랒랖랗�".split("");for(a=0;a!=t[182].length;++a)if(t[182][a].charCodeAt(0)!==65533){r[t[182][a]]=46592+a;e[46592+a]=t[182][a]}t[183]="�����������������������������������������������������������������텮텯텰텱텲텳텴텵텶텷텸텹텺텻텽텾텿톀톁톂톃톅톆톇톉톊������톋톌톍톎톏톐톑톒톓톔톕톖톗톘톙톚톛톜톝톞톟톢톣톥톦톧������톩톪톫톬톭톮톯톲톴톶톷톸톹톻톽톾톿퇁퇂퇃퇄퇅퇆퇇퇈퇉퇊퇋퇌퇍퇎퇏래랙랜랠램랩랫랬랭랴략랸럇량러럭런럴럼럽럿렀렁렇레렉렌렐렘렙렛렝려력련렬렴렵렷렸령례롄롑롓로록론롤롬롭롯롱롸롼뢍뢨뢰뢴뢸룀룁룃룅료룐룔룝룟룡루룩룬룰룸룹룻룽뤄뤘뤠뤼뤽륀륄륌륏륑류륙륜률륨륩�".split("");for(a=0;a!=t[183].length;++a)if(t[183][a].charCodeAt(0)!==65533){r[t[183][a]]=46848+a;e[46848+a]=t[183][a]}t[184]="�����������������������������������������������������������������퇐퇑퇒퇓퇔퇕퇖퇗퇙퇚퇛퇜퇝퇞퇟퇠퇡퇢퇣퇤퇥퇦퇧퇨퇩퇪������퇫퇬퇭퇮퇯퇰퇱퇲퇳퇵퇶퇷퇹퇺퇻퇼퇽퇾퇿툀툁툂툃툄툅툆������툈툊툋툌툍툎툏툑툒툓툔툕툖툗툘툙툚툛툜툝툞툟툠툡툢툣툤툥툦툧툨툩륫륭르륵른를름릅릇릉릊릍릎리릭린릴림립릿링마막만많맏말맑맒맘맙맛망맞맡맣매맥맨맬맴맵맷맸맹맺먀먁먈먕머먹먼멀멂멈멉멋멍멎멓메멕멘멜멤멥멧멨멩며멱면멸몃몄명몇몌모목몫몬몰몲몸몹못몽뫄뫈뫘뫙뫼�".split("");for(a=0;a!=t[184].length;++a)if(t[184][a].charCodeAt(0)!==65533){r[t[184][a]]=47104+a;e[47104+a]=t[184][a]}t[185]="�����������������������������������������������������������������툪툫툮툯툱툲툳툵툶툷툸툹툺툻툾퉀퉂퉃퉄퉅퉆퉇퉉퉊퉋퉌������퉍퉎퉏퉐퉑퉒퉓퉔퉕퉖퉗퉘퉙퉚퉛퉝퉞퉟퉠퉡퉢퉣퉥퉦퉧퉨������퉩퉪퉫퉬퉭퉮퉯퉰퉱퉲퉳퉴퉵퉶퉷퉸퉹퉺퉻퉼퉽퉾퉿튂튃튅튆튇튉튊튋튌묀묄묍묏묑묘묜묠묩묫무묵묶문묻물묽묾뭄뭅뭇뭉뭍뭏뭐뭔뭘뭡뭣뭬뮈뮌뮐뮤뮨뮬뮴뮷므믄믈믐믓미믹민믿밀밂밈밉밋밌밍및밑바박밖밗반받발밝밞밟밤밥밧방밭배백밴밸뱀뱁뱃뱄뱅뱉뱌뱍뱐뱝버벅번벋벌벎범법벗�".split("");for(a=0;a!=t[185].length;++a)if(t[185][a].charCodeAt(0)!==65533){r[t[185][a]]=47360+a;e[47360+a]=t[185][a]}t[186]="�����������������������������������������������������������������튍튎튏튒튓튔튖튗튘튙튚튛튝튞튟튡튢튣튥튦튧튨튩튪튫튭������튮튯튰튲튳튴튵튶튷튺튻튽튾틁틃틄틅틆틇틊틌틍틎틏틐틑������틒틓틕틖틗틙틚틛틝틞틟틠틡틢틣틦틧틨틩틪틫틬틭틮틯틲틳틵틶틷틹틺벙벚베벡벤벧벨벰벱벳벴벵벼벽변별볍볏볐병볕볘볜보복볶본볼봄봅봇봉봐봔봤봬뵀뵈뵉뵌뵐뵘뵙뵤뵨부북분붇불붉붊붐붑붓붕붙붚붜붤붰붸뷔뷕뷘뷜뷩뷰뷴뷸븀븃븅브븍븐블븜븝븟비빅빈빌빎빔빕빗빙빚빛빠빡빤�".split("");for(a=0;a!=t[186].length;++a)if(t[186][a].charCodeAt(0)!==65533){r[t[186][a]]=47616+a;e[47616+a]=t[186][a]}t[187]="�����������������������������������������������������������������틻틼틽틾틿팂팄팆팇팈팉팊팋팏팑팒팓팕팗팘팙팚팛팞팢팣������팤팦팧팪팫팭팮팯팱팲팳팴팵팶팷팺팾팿퍀퍁퍂퍃퍆퍇퍈퍉������퍊퍋퍌퍍퍎퍏퍐퍑퍒퍓퍔퍕퍖퍗퍘퍙퍚퍛퍜퍝퍞퍟퍠퍡퍢퍣퍤퍥퍦퍧퍨퍩빨빪빰빱빳빴빵빻빼빽뺀뺄뺌뺍뺏뺐뺑뺘뺙뺨뻐뻑뻔뻗뻘뻠뻣뻤뻥뻬뼁뼈뼉뼘뼙뼛뼜뼝뽀뽁뽄뽈뽐뽑뽕뾔뾰뿅뿌뿍뿐뿔뿜뿟뿡쀼쁑쁘쁜쁠쁨쁩삐삑삔삘삠삡삣삥사삭삯산삳살삵삶삼삽삿샀상샅새색샌샐샘샙샛샜생샤�".split("");for(a=0;a!=t[187].length;++a)if(t[187][a].charCodeAt(0)!==65533){r[t[187][a]]=47872+a;e[47872+a]=t[187][a]}t[188]="�����������������������������������������������������������������퍪퍫퍬퍭퍮퍯퍰퍱퍲퍳퍴퍵퍶퍷퍸퍹퍺퍻퍾퍿펁펂펃펅펆펇������펈펉펊펋펎펒펓펔펕펖펗펚펛펝펞펟펡펢펣펤펥펦펧펪펬펮������펯펰펱펲펳펵펶펷펹펺펻펽펾펿폀폁폂폃폆폇폊폋폌폍폎폏폑폒폓폔폕폖샥샨샬샴샵샷샹섀섄섈섐섕서석섞섟선섣설섦섧섬섭섯섰성섶세섹센셀셈셉셋셌셍셔셕션셜셤셥셧셨셩셰셴셸솅소속솎손솔솖솜솝솟송솥솨솩솬솰솽쇄쇈쇌쇔쇗쇘쇠쇤쇨쇰쇱쇳쇼쇽숀숄숌숍숏숑수숙순숟술숨숩숫숭�".split("");for(a=0;a!=t[188].length;++a)if(t[188][a].charCodeAt(0)!==65533){r[t[188][a]]=48128+a;e[48128+a]=t[188][a]}t[189]="�����������������������������������������������������������������폗폙폚폛폜폝폞폟폠폢폤폥폦폧폨폩폪폫폮폯폱폲폳폵폶폷������폸폹폺폻폾퐀퐂퐃퐄퐅퐆퐇퐉퐊퐋퐌퐍퐎퐏퐐퐑퐒퐓퐔퐕퐖������퐗퐘퐙퐚퐛퐜퐞퐟퐠퐡퐢퐣퐤퐥퐦퐧퐨퐩퐪퐫퐬퐭퐮퐯퐰퐱퐲퐳퐴퐵퐶퐷숯숱숲숴쉈쉐쉑쉔쉘쉠쉥쉬쉭쉰쉴쉼쉽쉿슁슈슉슐슘슛슝스슥슨슬슭슴습슷승시식신싣실싫심십싯싱싶싸싹싻싼쌀쌈쌉쌌쌍쌓쌔쌕쌘쌜쌤쌥쌨쌩썅써썩썬썰썲썸썹썼썽쎄쎈쎌쏀쏘쏙쏜쏟쏠쏢쏨쏩쏭쏴쏵쏸쐈쐐쐤쐬쐰�".split("");for(a=0;a!=t[189].length;++a)if(t[189][a].charCodeAt(0)!==65533){r[t[189][a]]=48384+a;e[48384+a]=t[189][a]}t[190]="�����������������������������������������������������������������퐸퐹퐺퐻퐼퐽퐾퐿푁푂푃푅푆푇푈푉푊푋푌푍푎푏푐푑푒푓������푔푕푖푗푘푙푚푛푝푞푟푡푢푣푥푦푧푨푩푪푫푬푮푰푱푲������푳푴푵푶푷푺푻푽푾풁풃풄풅풆풇풊풌풎풏풐풑풒풓풕풖풗풘풙풚풛풜풝쐴쐼쐽쑈쑤쑥쑨쑬쑴쑵쑹쒀쒔쒜쒸쒼쓩쓰쓱쓴쓸쓺쓿씀씁씌씐씔씜씨씩씬씰씸씹씻씽아악안앉않알앍앎앓암압앗았앙앝앞애액앤앨앰앱앳앴앵야약얀얄얇얌얍얏양얕얗얘얜얠얩어억언얹얻얼얽얾엄업없엇었엉엊엌엎�".split("");for(a=0;a!=t[190].length;++a)if(t[190][a].charCodeAt(0)!==65533){r[t[190][a]]=48640+a;e[48640+a]=t[190][a]}t[191]="�����������������������������������������������������������������풞풟풠풡풢풣풤풥풦풧풨풪풫풬풭풮풯풰풱풲풳풴풵풶풷풸������풹풺풻풼풽풾풿퓀퓁퓂퓃퓄퓅퓆퓇퓈퓉퓊퓋퓍퓎퓏퓑퓒퓓퓕������퓖퓗퓘퓙퓚퓛퓝퓞퓠퓡퓢퓣퓤퓥퓦퓧퓩퓪퓫퓭퓮퓯퓱퓲퓳퓴퓵퓶퓷퓹퓺퓼에엑엔엘엠엡엣엥여역엮연열엶엷염엽엾엿였영옅옆옇예옌옐옘옙옛옜오옥온올옭옮옰옳옴옵옷옹옻와왁완왈왐왑왓왔왕왜왝왠왬왯왱외왹왼욀욈욉욋욍요욕욘욜욤욥욧용우욱운울욹욺움웁웃웅워웍원월웜웝웠웡웨�".split("");for(a=0;a!=t[191].length;++a)if(t[191][a].charCodeAt(0)!==65533){r[t[191][a]]=48896+a;e[48896+a]=t[191][a]}t[192]="�����������������������������������������������������������������퓾퓿픀픁픂픃픅픆픇픉픊픋픍픎픏픐픑픒픓픖픘픙픚픛픜픝������픞픟픠픡픢픣픤픥픦픧픨픩픪픫픬픭픮픯픰픱픲픳픴픵픶픷������픸픹픺픻픾픿핁핂핃핅핆핇핈핉핊핋핎핐핒핓핔핕핖핗핚핛핝핞핟핡핢핣웩웬웰웸웹웽위윅윈윌윔윕윗윙유육윤율윰윱윳융윷으윽은을읊음읍읏응읒읓읔읕읖읗의읜읠읨읫이익인일읽읾잃임입잇있잉잊잎자작잔잖잗잘잚잠잡잣잤장잦재잭잰잴잼잽잿쟀쟁쟈쟉쟌쟎쟐쟘쟝쟤쟨쟬저적전절젊�".split("");for(a=0;a!=t[192].length;++a)if(t[192][a].charCodeAt(0)!==65533){r[t[192][a]]=49152+a;e[49152+a]=t[192][a]}t[193]="�����������������������������������������������������������������핤핦핧핪핬핮핯핰핱핲핳핶핷핹핺핻핽핾핿햀햁햂햃햆햊햋������햌햍햎햏햑햒햓햔햕햖햗햘햙햚햛햜햝햞햟햠햡햢햣햤햦햧������햨햩햪햫햬햭햮햯햰햱햲햳햴햵햶햷햸햹햺햻햼햽햾햿헀헁헂헃헄헅헆헇점접젓정젖제젝젠젤젬젭젯젱져젼졀졈졉졌졍졔조족존졸졺좀좁좃종좆좇좋좌좍좔좝좟좡좨좼좽죄죈죌죔죕죗죙죠죡죤죵주죽준줄줅줆줌줍줏중줘줬줴쥐쥑쥔쥘쥠쥡쥣쥬쥰쥴쥼즈즉즌즐즘즙즛증지직진짇질짊짐집짓�".split(""); +for(a=0;a!=t[193].length;++a)if(t[193][a].charCodeAt(0)!==65533){r[t[193][a]]=49408+a;e[49408+a]=t[193][a]}t[194]="�����������������������������������������������������������������헊헋헍헎헏헑헓헔헕헖헗헚헜헞헟헠헡헢헣헦헧헩헪헫헭헮������헯헰헱헲헳헶헸헺헻헼헽헾헿혂혃혅혆혇혉혊혋혌혍혎혏혒������혖혗혘혙혚혛혝혞혟혡혢혣혥혦혧혨혩혪혫혬혮혯혰혱혲혳혴혵혶혷혺혻징짖짙짚짜짝짠짢짤짧짬짭짯짰짱째짹짼쨀쨈쨉쨋쨌쨍쨔쨘쨩쩌쩍쩐쩔쩜쩝쩟쩠쩡쩨쩽쪄쪘쪼쪽쫀쫄쫌쫍쫏쫑쫓쫘쫙쫠쫬쫴쬈쬐쬔쬘쬠쬡쭁쭈쭉쭌쭐쭘쭙쭝쭤쭸쭹쮜쮸쯔쯤쯧쯩찌찍찐찔찜찝찡찢찧차착찬찮찰참찹찻�".split("");for(a=0;a!=t[194].length;++a)if(t[194][a].charCodeAt(0)!==65533){r[t[194][a]]=49664+a;e[49664+a]=t[194][a]}t[195]="�����������������������������������������������������������������혽혾혿홁홂홃홄홆홇홊홌홎홏홐홒홓홖홗홙홚홛홝홞홟홠홡������홢홣홤홥홦홨홪홫홬홭홮홯홲홳홵홶홷홸홹홺홻홼홽홾홿횀������횁횂횄횆횇횈횉횊횋횎횏횑횒횓횕횖횗횘횙횚횛횜횞횠횢횣횤횥횦횧횩횪찼창찾채책챈챌챔챕챗챘챙챠챤챦챨챰챵처척천철첨첩첫첬청체첵첸첼쳄쳅쳇쳉쳐쳔쳤쳬쳰촁초촉촌촐촘촙촛총촤촨촬촹최쵠쵤쵬쵭쵯쵱쵸춈추축춘출춤춥춧충춰췄췌췐취췬췰췸췹췻췽츄츈츌츔츙츠측츤츨츰츱츳층�".split("");for(a=0;a!=t[195].length;++a)if(t[195][a].charCodeAt(0)!==65533){r[t[195][a]]=49920+a;e[49920+a]=t[195][a]}t[196]="�����������������������������������������������������������������횫횭횮횯횱횲횳횴횵횶횷횸횺횼횽횾횿훀훁훂훃훆훇훉훊훋������훍훎훏훐훒훓훕훖훘훚훛훜훝훞훟훡훢훣훥훦훧훩훪훫훬훭������훮훯훱훲훳훴훶훷훸훹훺훻훾훿휁휂휃휅휆휇휈휉휊휋휌휍휎휏휐휒휓휔치칙친칟칠칡침칩칫칭카칵칸칼캄캅캇캉캐캑캔캘캠캡캣캤캥캬캭컁커컥컨컫컬컴컵컷컸컹케켁켄켈켐켑켓켕켜켠켤켬켭켯켰켱켸코콕콘콜콤콥콧콩콰콱콴콸쾀쾅쾌쾡쾨쾰쿄쿠쿡쿤쿨쿰쿱쿳쿵쿼퀀퀄퀑퀘퀭퀴퀵퀸퀼�".split("");for(a=0;a!=t[196].length;++a)if(t[196][a].charCodeAt(0)!==65533){r[t[196][a]]=50176+a;e[50176+a]=t[196][a]}t[197]="�����������������������������������������������������������������휕휖휗휚휛휝휞휟휡휢휣휤휥휦휧휪휬휮휯휰휱휲휳휶휷휹������휺휻휽휾휿흀흁흂흃흅흆흈흊흋흌흍흎흏흒흓흕흚흛흜흝흞������흟흢흤흦흧흨흪흫흭흮흯흱흲흳흵흶흷흸흹흺흻흾흿힀힂힃힄힅힆힇힊힋큄큅큇큉큐큔큘큠크큭큰클큼큽킁키킥킨킬킴킵킷킹타탁탄탈탉탐탑탓탔탕태택탠탤탬탭탯탰탱탸턍터턱턴털턺텀텁텃텄텅테텍텐텔템텝텟텡텨텬텼톄톈토톡톤톨톰톱톳통톺톼퇀퇘퇴퇸툇툉툐투툭툰툴툼툽툿퉁퉈퉜�".split("");for(a=0;a!=t[197].length;++a)if(t[197][a].charCodeAt(0)!==65533){r[t[197][a]]=50432+a;e[50432+a]=t[197][a]}t[198]="�����������������������������������������������������������������힍힎힏힑힒힓힔힕힖힗힚힜힞힟힠힡힢힣������������������������������������������������������������������������������퉤튀튁튄튈튐튑튕튜튠튤튬튱트특튼튿틀틂틈틉틋틔틘틜틤틥티틱틴틸팀팁팃팅파팍팎판팔팖팜팝팟팠팡팥패팩팬팰팸팹팻팼팽퍄퍅퍼퍽펀펄펌펍펏펐펑페펙펜펠펨펩펫펭펴편펼폄폅폈평폐폘폡폣포폭폰폴폼폽폿퐁�".split("");for(a=0;a!=t[198].length;++a)if(t[198][a].charCodeAt(0)!==65533){r[t[198][a]]=50688+a;e[50688+a]=t[198][a]}t[199]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������퐈퐝푀푄표푠푤푭푯푸푹푼푿풀풂품풉풋풍풔풩퓌퓐퓔퓜퓟퓨퓬퓰퓸퓻퓽프픈플픔픕픗피픽핀필핌핍핏핑하학한할핥함합핫항해핵핸핼햄햅햇했행햐향허헉헌헐헒험헙헛헝헤헥헨헬헴헵헷헹혀혁현혈혐협혓혔형혜혠�".split("");for(a=0;a!=t[199].length;++a)if(t[199][a].charCodeAt(0)!==65533){r[t[199][a]]=50944+a;e[50944+a]=t[199][a]}t[200]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������혤혭호혹혼홀홅홈홉홋홍홑화확환활홧황홰홱홴횃횅회획횐횔횝횟횡효횬횰횹횻후훅훈훌훑훔훗훙훠훤훨훰훵훼훽휀휄휑휘휙휜휠휨휩휫휭휴휵휸휼흄흇흉흐흑흔흖흗흘흙흠흡흣흥흩희흰흴흼흽힁히힉힌힐힘힙힛힝�".split("");for(a=0;a!=t[200].length;++a)if(t[200][a].charCodeAt(0)!==65533){r[t[200][a]]=51200+a;e[51200+a]=t[200][a]}t[202]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������伽佳假價加可呵哥嘉嫁家暇架枷柯歌珂痂稼苛茄街袈訶賈跏軻迦駕刻却各恪慤殼珏脚覺角閣侃刊墾奸姦干幹懇揀杆柬桿澗癎看磵稈竿簡肝艮艱諫間乫喝曷渴碣竭葛褐蝎鞨勘坎堪嵌感憾戡敢柑橄減甘疳監瞰紺邯鑑鑒龕�".split("");for(a=0;a!=t[202].length;++a)if(t[202][a].charCodeAt(0)!==65533){r[t[202][a]]=51712+a;e[51712+a]=t[202][a]}t[203]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������匣岬甲胛鉀閘剛堈姜岡崗康强彊慷江畺疆糠絳綱羌腔舡薑襁講鋼降鱇介价個凱塏愷愾慨改槪漑疥皆盖箇芥蓋豈鎧開喀客坑更粳羹醵倨去居巨拒据據擧渠炬祛距踞車遽鉅鋸乾件健巾建愆楗腱虔蹇鍵騫乞傑杰桀儉劍劒檢�".split("");for(a=0;a!=t[203].length;++a)if(t[203][a].charCodeAt(0)!==65533){r[t[203][a]]=51968+a;e[51968+a]=t[203][a]}t[204]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������瞼鈐黔劫怯迲偈憩揭擊格檄激膈覡隔堅牽犬甄絹繭肩見譴遣鵑抉決潔結缺訣兼慊箝謙鉗鎌京俓倞傾儆勁勍卿坰境庚徑慶憬擎敬景暻更梗涇炅烱璟璥瓊痙硬磬竟競絅經耕耿脛莖警輕逕鏡頃頸驚鯨係啓堺契季屆悸戒桂械�".split("");for(a=0;a!=t[204].length;++a)if(t[204][a].charCodeAt(0)!==65533){r[t[204][a]]=52224+a;e[52224+a]=t[204][a]}t[205]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������棨溪界癸磎稽系繫繼計誡谿階鷄古叩告呱固姑孤尻庫拷攷故敲暠枯槁沽痼皐睾稿羔考股膏苦苽菰藁蠱袴誥賈辜錮雇顧高鼓哭斛曲梏穀谷鵠困坤崑昆梱棍滾琨袞鯤汨滑骨供公共功孔工恐恭拱控攻珙空蚣貢鞏串寡戈果瓜�".split("");for(a=0;a!=t[205].length;++a)if(t[205][a].charCodeAt(0)!==65533){r[t[205][a]]=52480+a;e[52480+a]=t[205][a]}t[206]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������科菓誇課跨過鍋顆廓槨藿郭串冠官寬慣棺款灌琯瓘管罐菅觀貫關館刮恝括适侊光匡壙廣曠洸炚狂珖筐胱鑛卦掛罫乖傀塊壞怪愧拐槐魁宏紘肱轟交僑咬喬嬌嶠巧攪敎校橋狡皎矯絞翹膠蕎蛟較轎郊餃驕鮫丘久九仇俱具勾�".split("");for(a=0;a!=t[206].length;++a)if(t[206][a].charCodeAt(0)!==65533){r[t[206][a]]=52736+a;e[52736+a]=t[206][a]}t[207]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������區口句咎嘔坵垢寇嶇廐懼拘救枸柩構歐毆毬求溝灸狗玖球瞿矩究絿耉臼舅舊苟衢謳購軀逑邱鉤銶駒驅鳩鷗龜國局菊鞠鞫麴君窘群裙軍郡堀屈掘窟宮弓穹窮芎躬倦券勸卷圈拳捲權淃眷厥獗蕨蹶闕机櫃潰詭軌饋句晷歸貴�".split("");for(a=0;a!=t[207].length;++a)if(t[207][a].charCodeAt(0)!==65533){r[t[207][a]]=52992+a;e[52992+a]=t[207][a]}t[208]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������鬼龜叫圭奎揆槻珪硅窺竅糾葵規赳逵閨勻均畇筠菌鈞龜橘克剋劇戟棘極隙僅劤勤懃斤根槿瑾筋芹菫覲謹近饉契今妗擒昑檎琴禁禽芩衾衿襟金錦伋及急扱汲級給亘兢矜肯企伎其冀嗜器圻基埼夔奇妓寄岐崎己幾忌技旗旣�".split("");for(a=0;a!=t[208].length;++a)if(t[208][a].charCodeAt(0)!==65533){r[t[208][a]]=53248+a;e[53248+a]=t[208][a]}t[209]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������朞期杞棋棄機欺氣汽沂淇玘琦琪璂璣畸畿碁磯祁祇祈祺箕紀綺羈耆耭肌記譏豈起錡錤飢饑騎騏驥麒緊佶吉拮桔金喫儺喇奈娜懦懶拏拿癩羅蘿螺裸邏那樂洛烙珞落諾酪駱亂卵暖欄煖爛蘭難鸞捏捺南嵐枏楠湳濫男藍襤拉�".split("");for(a=0;a!=t[209].length;++a)if(t[209][a].charCodeAt(0)!==65533){r[t[209][a]]=53504+a;e[53504+a]=t[209][a]}t[210]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������納臘蠟衲囊娘廊朗浪狼郎乃來內奈柰耐冷女年撚秊念恬拈捻寧寗努勞奴弩怒擄櫓爐瑙盧老蘆虜路露駑魯鷺碌祿綠菉錄鹿論壟弄濃籠聾膿農惱牢磊腦賂雷尿壘屢樓淚漏累縷陋嫩訥杻紐勒肋凜凌稜綾能菱陵尼泥匿溺多茶�".split("");for(a=0;a!=t[210].length;++a)if(t[210][a].charCodeAt(0)!==65533){r[t[210][a]]=53760+a;e[53760+a]=t[210][a]}t[211]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������丹亶但單團壇彖斷旦檀段湍短端簞緞蛋袒鄲鍛撻澾獺疸達啖坍憺擔曇淡湛潭澹痰聃膽蕁覃談譚錟沓畓答踏遝唐堂塘幢戇撞棠當糖螳黨代垈坮大對岱帶待戴擡玳臺袋貸隊黛宅德悳倒刀到圖堵塗導屠島嶋度徒悼挑掉搗桃�".split("");for(a=0;a!=t[211].length;++a)if(t[211][a].charCodeAt(0)!==65533){r[t[211][a]]=54016+a;e[54016+a]=t[211][a]}t[212]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������棹櫂淘渡滔濤燾盜睹禱稻萄覩賭跳蹈逃途道都鍍陶韜毒瀆牘犢獨督禿篤纛讀墩惇敦旽暾沌焞燉豚頓乭突仝冬凍動同憧東桐棟洞潼疼瞳童胴董銅兜斗杜枓痘竇荳讀豆逗頭屯臀芚遁遯鈍得嶝橙燈登等藤謄鄧騰喇懶拏癩羅�".split("");for(a=0;a!=t[212].length;++a)if(t[212][a].charCodeAt(0)!==65533){r[t[212][a]]=54272+a;e[54272+a]=t[212][a]}t[213]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������蘿螺裸邏樂洛烙珞絡落諾酪駱丹亂卵欄欒瀾爛蘭鸞剌辣嵐擥攬欖濫籃纜藍襤覽拉臘蠟廊朗浪狼琅瑯螂郞來崍徠萊冷掠略亮倆兩凉梁樑粮粱糧良諒輛量侶儷勵呂廬慮戾旅櫚濾礪藜蠣閭驢驪麗黎力曆歷瀝礫轢靂憐戀攣漣�".split("");for(a=0;a!=t[213].length;++a)if(t[213][a].charCodeAt(0)!==65533){r[t[213][a]]=54528+a;e[54528+a]=t[213][a]}t[214]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������煉璉練聯蓮輦連鍊冽列劣洌烈裂廉斂殮濂簾獵令伶囹寧岺嶺怜玲笭羚翎聆逞鈴零靈領齡例澧禮醴隷勞怒撈擄櫓潞瀘爐盧老蘆虜路輅露魯鷺鹵碌祿綠菉錄鹿麓論壟弄朧瀧瓏籠聾儡瀨牢磊賂賚賴雷了僚寮廖料燎療瞭聊蓼�".split("");for(a=0;a!=t[214].length;++a)if(t[214][a].charCodeAt(0)!==65533){r[t[214][a]]=54784+a;e[54784+a]=t[214][a]}t[215]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������遼鬧龍壘婁屢樓淚漏瘻累縷蔞褸鏤陋劉旒柳榴流溜瀏琉瑠留瘤硫謬類六戮陸侖倫崙淪綸輪律慄栗率隆勒肋凜凌楞稜綾菱陵俚利厘吏唎履悧李梨浬犁狸理璃異痢籬罹羸莉裏裡里釐離鯉吝潾燐璘藺躪隣鱗麟林淋琳臨霖砬�".split("");for(a=0;a!=t[215].length;++a)if(t[215][a].charCodeAt(0)!==65533){r[t[215][a]]=55040+a;e[55040+a]=t[215][a]}t[216]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������立笠粒摩瑪痲碼磨馬魔麻寞幕漠膜莫邈万卍娩巒彎慢挽晩曼滿漫灣瞞萬蔓蠻輓饅鰻唜抹末沫茉襪靺亡妄忘忙望網罔芒茫莽輞邙埋妹媒寐昧枚梅每煤罵買賣邁魅脈貊陌驀麥孟氓猛盲盟萌冪覓免冕勉棉沔眄眠綿緬面麵滅�".split("");for(a=0;a!=t[216].length;++a)if(t[216][a].charCodeAt(0)!==65533){r[t[216][a]]=55296+a;e[55296+a]=t[216][a]}t[217]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������蔑冥名命明暝椧溟皿瞑茗蓂螟酩銘鳴袂侮冒募姆帽慕摸摹暮某模母毛牟牡瑁眸矛耗芼茅謀謨貌木沐牧目睦穆鶩歿沒夢朦蒙卯墓妙廟描昴杳渺猫竗苗錨務巫憮懋戊拇撫无楙武毋無珷畝繆舞茂蕪誣貿霧鵡墨默們刎吻問文�".split("");for(a=0;a!=t[217].length;++a)if(t[217][a].charCodeAt(0)!==65533){r[t[217][a]]=55552+a;e[55552+a]=t[217][a]}t[218]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������汶紊紋聞蚊門雯勿沕物味媚尾嵋彌微未梶楣渼湄眉米美薇謎迷靡黴岷悶愍憫敏旻旼民泯玟珉緡閔密蜜謐剝博拍搏撲朴樸泊珀璞箔粕縛膊舶薄迫雹駁伴半反叛拌搬攀斑槃泮潘班畔瘢盤盼磐磻礬絆般蟠返頒飯勃拔撥渤潑�".split("");for(a=0;a!=t[218].length;++a)if(t[218][a].charCodeAt(0)!==65533){r[t[218][a]]=55808+a;e[55808+a]=t[218][a]}t[219]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������發跋醱鉢髮魃倣傍坊妨尨幇彷房放方旁昉枋榜滂磅紡肪膀舫芳蒡蚌訪謗邦防龐倍俳北培徘拜排杯湃焙盃背胚裴裵褙賠輩配陪伯佰帛柏栢白百魄幡樊煩燔番磻繁蕃藩飜伐筏罰閥凡帆梵氾汎泛犯範范法琺僻劈壁擘檗璧癖�".split("");for(a=0;a!=t[219].length;++a)if(t[219][a].charCodeAt(0)!==65533){r[t[219][a]]=56064+a;e[56064+a]=t[219][a]}t[220]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������碧蘗闢霹便卞弁變辨辯邊別瞥鱉鼈丙倂兵屛幷昞昺柄棅炳甁病秉竝輧餠騈保堡報寶普步洑湺潽珤甫菩補褓譜輔伏僕匐卜宓復服福腹茯蔔複覆輹輻馥鰒本乶俸奉封峯峰捧棒烽熢琫縫蓬蜂逢鋒鳳不付俯傅剖副否咐埠夫婦�".split("");for(a=0;a!=t[220].length;++a)if(t[220][a].charCodeAt(0)!==65533){r[t[220][a]]=56320+a;e[56320+a]=t[220][a]}t[221]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������孚孵富府復扶敷斧浮溥父符簿缶腐腑膚艀芙莩訃負賦賻赴趺部釜阜附駙鳧北分吩噴墳奔奮忿憤扮昐汾焚盆粉糞紛芬賁雰不佛弗彿拂崩朋棚硼繃鵬丕備匕匪卑妃婢庇悲憊扉批斐枇榧比毖毗毘沸泌琵痺砒碑秕秘粃緋翡肥�".split("");for(a=0;a!=t[221].length;++a)if(t[221][a].charCodeAt(0)!==65533){r[t[221][a]]=56576+a;e[56576+a]=t[221][a]}t[222]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������脾臂菲蜚裨誹譬費鄙非飛鼻嚬嬪彬斌檳殯浜濱瀕牝玭貧賓頻憑氷聘騁乍事些仕伺似使俟僿史司唆嗣四士奢娑寫寺射巳師徙思捨斜斯柶査梭死沙泗渣瀉獅砂社祀祠私篩紗絲肆舍莎蓑蛇裟詐詞謝賜赦辭邪飼駟麝削數朔索�".split("");for(a=0;a!=t[222].length;++a)if(t[222][a].charCodeAt(0)!==65533){r[t[222][a]]=56832+a;e[56832+a]=t[222][a]}t[223]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������傘刪山散汕珊産疝算蒜酸霰乷撒殺煞薩三參杉森渗芟蔘衫揷澁鈒颯上傷像償商喪嘗孀尙峠常床庠廂想桑橡湘爽牀狀相祥箱翔裳觴詳象賞霜塞璽賽嗇塞穡索色牲生甥省笙墅壻嶼序庶徐恕抒捿敍暑曙書栖棲犀瑞筮絮緖署�".split("");for(a=0;a!=t[223].length;++a)if(t[223][a].charCodeAt(0)!==65533){r[t[223][a]]=57088+a;e[57088+a]=t[223][a]}t[224]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������胥舒薯西誓逝鋤黍鼠夕奭席惜昔晳析汐淅潟石碩蓆釋錫仙僊先善嬋宣扇敾旋渲煽琁瑄璇璿癬禪線繕羨腺膳船蘚蟬詵跣選銑鐥饍鮮卨屑楔泄洩渫舌薛褻設說雪齧剡暹殲纖蟾贍閃陝攝涉燮葉城姓宬性惺成星晟猩珹盛省筬�".split("");for(a=0;a!=t[224].length;++a)if(t[224][a].charCodeAt(0)!==65533){r[t[224][a]]=57344+a;e[57344+a]=t[224][a]}t[225]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������聖聲腥誠醒世勢歲洗稅笹細說貰召嘯塑宵小少巢所掃搔昭梳沼消溯瀟炤燒甦疏疎瘙笑篠簫素紹蔬蕭蘇訴逍遡邵銷韶騷俗屬束涑粟續謖贖速孫巽損蓀遜飡率宋悚松淞訟誦送頌刷殺灑碎鎖衰釗修受嗽囚垂壽嫂守岫峀帥愁�".split("");for(a=0;a!=t[225].length;++a)if(t[225][a].charCodeAt(0)!==65533){r[t[225][a]]=57600+a;e[57600+a]=t[225][a]}t[226]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������戍手授搜收數樹殊水洙漱燧狩獸琇璲瘦睡秀穗竪粹綏綬繡羞脩茱蒐蓚藪袖誰讐輸遂邃酬銖銹隋隧隨雖需須首髓鬚叔塾夙孰宿淑潚熟琡璹肅菽巡徇循恂旬栒楯橓殉洵淳珣盾瞬筍純脣舜荀蓴蕣詢諄醇錞順馴戌術述鉥崇崧�".split("");for(a=0;a!=t[226].length;++a)if(t[226][a].charCodeAt(0)!==65533){r[t[226][a]]=57856+a;e[57856+a]=t[226][a]}t[227]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������嵩瑟膝蝨濕拾習褶襲丞乘僧勝升承昇繩蠅陞侍匙嘶始媤尸屎屍市弑恃施是時枾柴猜矢示翅蒔蓍視試詩諡豕豺埴寔式息拭植殖湜熄篒蝕識軾食飾伸侁信呻娠宸愼新晨燼申神紳腎臣莘薪藎蜃訊身辛辰迅失室實悉審尋心沁�".split("");for(a=0;a!=t[227].length;++a)if(t[227][a].charCodeAt(0)!==65533){r[t[227][a]]=58112+a;e[58112+a]=t[227][a]}t[228]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������沈深瀋甚芯諶什十拾雙氏亞俄兒啞娥峨我牙芽莪蛾衙訝阿雅餓鴉鵝堊岳嶽幄惡愕握樂渥鄂鍔顎鰐齷安岸按晏案眼雁鞍顔鮟斡謁軋閼唵岩巖庵暗癌菴闇壓押狎鴨仰央怏昻殃秧鴦厓哀埃崖愛曖涯碍艾隘靄厄扼掖液縊腋額�".split("");for(a=0;a!=t[228].length;++a)if(t[228][a].charCodeAt(0)!==65533){r[t[228][a]]=58368+a;e[58368+a]=t[228][a]}t[229]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������櫻罌鶯鸚也倻冶夜惹揶椰爺耶若野弱掠略約若葯蒻藥躍亮佯兩凉壤孃恙揚攘敭暘梁楊樣洋瀁煬痒瘍禳穰糧羊良襄諒讓釀陽量養圄御於漁瘀禦語馭魚齬億憶抑檍臆偃堰彦焉言諺孼蘖俺儼嚴奄掩淹嶪業円予余勵呂女如廬�".split("");for(a=0;a!=t[229].length;++a)if(t[229][a].charCodeAt(0)!==65533){r[t[229][a]]=58624+a;e[58624+a]=t[229][a]}t[230]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������旅歟汝濾璵礖礪與艅茹輿轝閭餘驪麗黎亦力域役易曆歷疫繹譯轢逆驛嚥堧姸娟宴年延憐戀捐挻撚椽沇沿涎涓淵演漣烟然煙煉燃燕璉硏硯秊筵緣練縯聯衍軟輦蓮連鉛鍊鳶列劣咽悅涅烈熱裂說閱厭廉念捻染殮炎焰琰艶苒�".split("");for(a=0;a!=t[230].length;++a)if(t[230][a].charCodeAt(0)!==65533){r[t[230][a]]=58880+a;e[58880+a]=t[230][a]}t[231]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������簾閻髥鹽曄獵燁葉令囹塋寧嶺嶸影怜映暎楹榮永泳渶潁濚瀛瀯煐營獰玲瑛瑩瓔盈穎纓羚聆英詠迎鈴鍈零霙靈領乂倪例刈叡曳汭濊猊睿穢芮藝蘂禮裔詣譽豫醴銳隸霓預五伍俉傲午吾吳嗚塢墺奧娛寤悟惡懊敖旿晤梧汚澳�".split("");for(a=0;a!=t[231].length;++a)if(t[231][a].charCodeAt(0)!==65533){r[t[231][a]]=59136+a;e[59136+a]=t[231][a]}t[232]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������烏熬獒筽蜈誤鰲鼇屋沃獄玉鈺溫瑥瘟穩縕蘊兀壅擁瓮甕癰翁邕雍饔渦瓦窩窪臥蛙蝸訛婉完宛梡椀浣玩琓琬碗緩翫脘腕莞豌阮頑曰往旺枉汪王倭娃歪矮外嵬巍猥畏了僚僥凹堯夭妖姚寥寮尿嶢拗搖撓擾料曜樂橈燎燿瑤療�".split("");for(a=0;a!=t[232].length;++a)if(t[232][a].charCodeAt(0)!==65533){r[t[232][a]]=59392+a;e[59392+a]=t[232][a]}t[233]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������窈窯繇繞耀腰蓼蟯要謠遙遼邀饒慾欲浴縟褥辱俑傭冗勇埇墉容庸慂榕涌湧溶熔瑢用甬聳茸蓉踊鎔鏞龍于佑偶優又友右宇寓尤愚憂旴牛玗瑀盂祐禑禹紆羽芋藕虞迂遇郵釪隅雨雩勖彧旭昱栯煜稶郁頊云暈橒殞澐熉耘芸蕓�".split("");for(a=0;a!=t[233].length;++a)if(t[233][a].charCodeAt(0)!==65533){r[t[233][a]]=59648+a;e[59648+a]=t[233][a]}t[234]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������運隕雲韻蔚鬱亐熊雄元原員圓園垣媛嫄寃怨愿援沅洹湲源爰猿瑗苑袁轅遠阮院願鴛月越鉞位偉僞危圍委威尉慰暐渭爲瑋緯胃萎葦蔿蝟衛褘謂違韋魏乳侑儒兪劉唯喩孺宥幼幽庾悠惟愈愉揄攸有杻柔柚柳楡楢油洧流游溜�".split("");for(a=0;a!=t[234].length;++a)if(t[234][a].charCodeAt(0)!==65533){r[t[234][a]]=59904+a;e[59904+a]=t[234][a]}t[235]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������濡猶猷琉瑜由留癒硫紐維臾萸裕誘諛諭踰蹂遊逾遺酉釉鍮類六堉戮毓肉育陸倫允奫尹崙淪潤玧胤贇輪鈗閏律慄栗率聿戎瀜絨融隆垠恩慇殷誾銀隱乙吟淫蔭陰音飮揖泣邑凝應膺鷹依倚儀宜意懿擬椅毅疑矣義艤薏蟻衣誼�".split("");for(a=0;a!=t[235].length;++a)if(t[235][a].charCodeAt(0)!==65533){r[t[235][a]]=60160+a;e[60160+a]=t[235][a]}t[236]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������議醫二以伊利吏夷姨履已弛彛怡易李梨泥爾珥理異痍痢移罹而耳肄苡荑裏裡貽貳邇里離飴餌匿溺瀷益翊翌翼謚人仁刃印吝咽因姻寅引忍湮燐璘絪茵藺蚓認隣靭靷鱗麟一佚佾壹日溢逸鎰馹任壬妊姙恁林淋稔臨荏賃入卄�".split("");for(a=0;a!=t[236].length;++a)if(t[236][a].charCodeAt(0)!==65533){r[t[236][a]]=60416+a;e[60416+a]=t[236][a]}t[237]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������立笠粒仍剩孕芿仔刺咨姉姿子字孜恣慈滋炙煮玆瓷疵磁紫者自茨蔗藉諮資雌作勺嚼斫昨灼炸爵綽芍酌雀鵲孱棧殘潺盞岑暫潛箴簪蠶雜丈仗匠場墻壯奬將帳庄張掌暲杖樟檣欌漿牆狀獐璋章粧腸臟臧莊葬蔣薔藏裝贓醬長�".split("");for(a=0;a!=t[237].length;++a)if(t[237][a].charCodeAt(0)!==65533){r[t[237][a]]=60672+a;e[60672+a]=t[237][a]}t[238]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������障再哉在宰才材栽梓渽滓災縡裁財載齋齎爭箏諍錚佇低儲咀姐底抵杵楮樗沮渚狙猪疽箸紵苧菹著藷詛貯躇這邸雎齟勣吊嫡寂摘敵滴狄炙的積笛籍績翟荻謫賊赤跡蹟迪迹適鏑佃佺傳全典前剪塡塼奠專展廛悛戰栓殿氈澱�".split("");for(a=0;a!=t[238].length;++a)if(t[238][a].charCodeAt(0)!==65533){r[t[238][a]]=60928+a;e[60928+a]=t[238][a]}t[239]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������煎琠田甸畑癲筌箋箭篆纏詮輾轉鈿銓錢鐫電顚顫餞切截折浙癤竊節絶占岾店漸点粘霑鮎點接摺蝶丁井亭停偵呈姃定幀庭廷征情挺政整旌晶晸柾楨檉正汀淀淨渟湞瀞炡玎珽町睛碇禎程穽精綎艇訂諪貞鄭酊釘鉦鋌錠霆靖�".split("");for(a=0;a!=t[239].length;++a)if(t[239][a].charCodeAt(0)!==65533){r[t[239][a]]=61184+a;e[61184+a]=t[239][a]}t[240]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������靜頂鼎制劑啼堤帝弟悌提梯濟祭第臍薺製諸蹄醍除際霽題齊俎兆凋助嘲弔彫措操早晁曺曹朝條棗槽漕潮照燥爪璪眺祖祚租稠窕粗糟組繰肇藻蚤詔調趙躁造遭釣阻雕鳥族簇足鏃存尊卒拙猝倧宗從悰慫棕淙琮種終綜縱腫�".split("");for(a=0;a!=t[240].length;++a)if(t[240][a].charCodeAt(0)!==65533){r[t[240][a]]=61440+a;e[61440+a]=t[240][a]}t[241]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������踪踵鍾鐘佐坐左座挫罪主住侏做姝胄呪周嗾奏宙州廚晝朱柱株注洲湊澍炷珠疇籌紂紬綢舟蛛註誅走躊輳週酎酒鑄駐竹粥俊儁准埈寯峻晙樽浚準濬焌畯竣蠢逡遵雋駿茁中仲衆重卽櫛楫汁葺增憎曾拯烝甑症繒蒸證贈之只�".split("");for(a=0;a!=t[241].length;++a)if(t[241][a].charCodeAt(0)!==65533){r[t[241][a]]=61696+a;e[61696+a]=t[241][a]}t[242]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������咫地址志持指摯支旨智枝枳止池沚漬知砥祉祗紙肢脂至芝芷蜘誌識贄趾遲直稙稷織職唇嗔塵振搢晉晋桭榛殄津溱珍瑨璡畛疹盡眞瞋秦縉縝臻蔯袗診賑軫辰進鎭陣陳震侄叱姪嫉帙桎瓆疾秩窒膣蛭質跌迭斟朕什執潗緝輯�".split("");for(a=0;a!=t[242].length;++a)if(t[242][a].charCodeAt(0)!==65533){r[t[242][a]]=61952+a;e[61952+a]=t[242][a]}t[243]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������鏶集徵懲澄且侘借叉嗟嵯差次此磋箚茶蹉車遮捉搾着窄錯鑿齪撰澯燦璨瓚竄簒纂粲纘讚贊鑽餐饌刹察擦札紮僭參塹慘慙懺斬站讒讖倉倡創唱娼廠彰愴敞昌昶暢槍滄漲猖瘡窓脹艙菖蒼債埰寀寨彩採砦綵菜蔡采釵冊柵策�".split("");for(a=0;a!=t[243].length;++a)if(t[243][a].charCodeAt(0)!==65533){r[t[243][a]]=62208+a;e[62208+a]=t[243][a]}t[244]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������責凄妻悽處倜刺剔尺慽戚拓擲斥滌瘠脊蹠陟隻仟千喘天川擅泉淺玔穿舛薦賤踐遷釧闡阡韆凸哲喆徹撤澈綴輟轍鐵僉尖沾添甛瞻簽籤詹諂堞妾帖捷牒疊睫諜貼輒廳晴淸聽菁請靑鯖切剃替涕滯締諦逮遞體初剿哨憔抄招梢�".split("");for(a=0;a!=t[244].length;++a)if(t[244][a].charCodeAt(0)!==65533){r[t[244][a]]=62464+a;e[62464+a]=t[244][a]}t[245]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������椒楚樵炒焦硝礁礎秒稍肖艸苕草蕉貂超酢醋醮促囑燭矗蜀觸寸忖村邨叢塚寵悤憁摠總聰蔥銃撮催崔最墜抽推椎楸樞湫皺秋芻萩諏趨追鄒酋醜錐錘鎚雛騶鰍丑畜祝竺筑築縮蓄蹙蹴軸逐春椿瑃出朮黜充忠沖蟲衝衷悴膵萃�".split("");for(a=0;a!=t[245].length;++a)if(t[245][a].charCodeAt(0)!==65533){r[t[245][a]]=62720+a;e[62720+a]=t[245][a]}t[246]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������贅取吹嘴娶就炊翠聚脆臭趣醉驟鷲側仄厠惻測層侈値嗤峙幟恥梔治淄熾痔痴癡稚穉緇緻置致蚩輜雉馳齒則勅飭親七柒漆侵寢枕沈浸琛砧針鍼蟄秤稱快他咤唾墮妥惰打拖朶楕舵陀馱駝倬卓啄坼度托拓擢晫柝濁濯琢琸託�".split("");for(a=0;a!=t[246].length;++a)if(t[246][a].charCodeAt(0)!==65533){r[t[246][a]]=62976+a;e[62976+a]=t[246][a]}t[247]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������鐸呑嘆坦彈憚歎灘炭綻誕奪脫探眈耽貪塔搭榻宕帑湯糖蕩兌台太怠態殆汰泰笞胎苔跆邰颱宅擇澤撑攄兎吐土討慟桶洞痛筒統通堆槌腿褪退頹偸套妬投透鬪慝特闖坡婆巴把播擺杷波派爬琶破罷芭跛頗判坂板版瓣販辦鈑�".split("");for(a=0;a!=t[247].length;++a)if(t[247][a].charCodeAt(0)!==65533){r[t[247][a]]=63232+a;e[63232+a]=t[247][a]}t[248]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������阪八叭捌佩唄悖敗沛浿牌狽稗覇貝彭澎烹膨愎便偏扁片篇編翩遍鞭騙貶坪平枰萍評吠嬖幣廢弊斃肺蔽閉陛佈包匍匏咆哺圃布怖抛抱捕暴泡浦疱砲胞脯苞葡蒲袍褒逋鋪飽鮑幅暴曝瀑爆輻俵剽彪慓杓標漂瓢票表豹飇飄驃�".split("");for(a=0;a!=t[248].length;++a)if(t[248][a].charCodeAt(0)!==65533){r[t[248][a]]=63488+a;e[63488+a]=t[248][a]}t[249]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������品稟楓諷豊風馮彼披疲皮被避陂匹弼必泌珌畢疋筆苾馝乏逼下何厦夏廈昰河瑕荷蝦賀遐霞鰕壑學虐謔鶴寒恨悍旱汗漢澣瀚罕翰閑閒限韓割轄函含咸啣喊檻涵緘艦銜陷鹹合哈盒蛤閤闔陜亢伉姮嫦巷恒抗杭桁沆港缸肛航�".split("");for(a=0;a!=t[249].length;++a)if(t[249][a].charCodeAt(0)!==65533){r[t[249][a]]=63744+a;e[63744+a]=t[249][a]}t[250]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������行降項亥偕咳垓奚孩害懈楷海瀣蟹解該諧邂駭骸劾核倖幸杏荇行享向嚮珦鄕響餉饗香噓墟虛許憲櫶獻軒歇險驗奕爀赫革俔峴弦懸晛泫炫玄玹現眩睍絃絢縣舷衒見賢鉉顯孑穴血頁嫌俠協夾峽挾浹狹脅脇莢鋏頰亨兄刑型�".split("");for(a=0;a!=t[250].length;++a)if(t[250][a].charCodeAt(0)!==65533){r[t[250][a]]=64e3+a;e[64e3+a]=t[250][a]}t[251]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������形泂滎瀅灐炯熒珩瑩荊螢衡逈邢鎣馨兮彗惠慧暳蕙蹊醯鞋乎互呼壕壺好岵弧戶扈昊晧毫浩淏湖滸澔濠濩灝狐琥瑚瓠皓祜糊縞胡芦葫蒿虎號蝴護豪鎬頀顥惑或酷婚昏混渾琿魂忽惚笏哄弘汞泓洪烘紅虹訌鴻化和嬅樺火畵�".split("");for(a=0;a!=t[251].length;++a)if(t[251][a].charCodeAt(0)!==65533){r[t[251][a]]=64256+a;e[64256+a]=t[251][a]}t[252]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������禍禾花華話譁貨靴廓擴攫確碻穫丸喚奐宦幻患換歡晥桓渙煥環紈還驩鰥活滑猾豁闊凰幌徨恍惶愰慌晃晄榥況湟滉潢煌璜皇篁簧荒蝗遑隍黃匯回廻徊恢悔懷晦會檜淮澮灰獪繪膾茴蛔誨賄劃獲宖橫鐄哮嚆孝效斅曉梟涍淆�".split("");for(a=0;a!=t[252].length;++a)if(t[252][a].charCodeAt(0)!==65533){r[t[252][a]]=64512+a;e[64512+a]=t[252][a]}t[253]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������爻肴酵驍侯候厚后吼喉嗅帿後朽煦珝逅勛勳塤壎焄熏燻薰訓暈薨喧暄煊萱卉喙毁彙徽揮暉煇諱輝麾休携烋畦虧恤譎鷸兇凶匈洶胸黑昕欣炘痕吃屹紇訖欠欽歆吸恰洽翕興僖凞喜噫囍姬嬉希憙憘戱晞曦熙熹熺犧禧稀羲詰�".split("");for(a=0;a!=t[253].length;++a)if(t[253][a].charCodeAt(0)!==65533){r[t[253][a]]=64768+a;e[64768+a]=t[253][a]}return{enc:r,dec:e}}();cptable[950]=function(){var e=[],r={},t=[],a;t[0]="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[0].length;++a)if(t[0][a].charCodeAt(0)!==65533){r[t[0][a]]=0+a;e[0+a]=t[0][a]}t[161]="���������������������������������������������������������������� ,、。.‧;:?!︰…‥﹐﹑﹒·﹔﹕﹖﹗|–︱—︳╴︴﹏()︵︶{}︷︸〔〕︹︺【】︻︼《》︽︾〈〉︿﹀「」﹁﹂『』﹃﹄﹙﹚����������������������������������﹛﹜﹝﹞‘’“”〝〞‵′#&*※§〃○●△▲◎☆★◇◆□■▽▼㊣℅¯ ̄_ˍ﹉﹊﹍﹎﹋﹌﹟﹠﹡+-×÷±√<>=≦≧≠∞≒≡﹢﹣﹤﹥﹦~∩∪⊥∠∟⊿㏒㏑∫∮∵∴♀♂⊕⊙↑↓←→↖↗↙↘∥∣/�".split("");for(a=0;a!=t[161].length;++a)if(t[161][a].charCodeAt(0)!==65533){r[t[161][a]]=41216+a;e[41216+a]=t[161][a]}t[162]="����������������������������������������������������������������\∕﹨$¥〒¢£%@℃℉﹩﹪﹫㏕㎜㎝㎞㏎㎡㎎㎏㏄°兙兛兞兝兡兣嗧瓩糎▁▂▃▄▅▆▇█▏▎▍▌▋▊▉┼┴┬┤├▔─│▕┌┐└┘╭����������������������������������╮╰╯═╞╪╡◢◣◥◤╱╲╳0123456789ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ〡〢〣〤〥〦〧〨〩十卄卅ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuv�".split("");for(a=0;a!=t[162].length;++a)if(t[162][a].charCodeAt(0)!==65533){r[t[162][a]]=41472+a;e[41472+a]=t[162][a]}t[163]="����������������������������������������������������������������wxyzΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρστυφχψωㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏ����������������������������������ㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ˙ˉˊˇˋ���������������������������������€������������������������������".split("");for(a=0;a!=t[163].length;++a)if(t[163][a].charCodeAt(0)!==65533){r[t[163][a]]=41728+a;e[41728+a]=t[163][a]}t[164]="����������������������������������������������������������������一乙丁七乃九了二人儿入八几刀刁力匕十卜又三下丈上丫丸凡久么也乞于亡兀刃勺千叉口土士夕大女子孑孓寸小尢尸山川工己已巳巾干廾弋弓才����������������������������������丑丐不中丰丹之尹予云井互五亢仁什仃仆仇仍今介仄元允內六兮公冗凶分切刈勻勾勿化匹午升卅卞厄友及反壬天夫太夭孔少尤尺屯巴幻廿弔引心戈戶手扎支文斗斤方日曰月木欠止歹毋比毛氏水火爪父爻片牙牛犬王丙�".split("");for(a=0;a!=t[164].length;++a)if(t[164][a].charCodeAt(0)!==65533){r[t[164][a]]=41984+a;e[41984+a]=t[164][a]}t[165]="����������������������������������������������������������������世丕且丘主乍乏乎以付仔仕他仗代令仙仞充兄冉冊冬凹出凸刊加功包匆北匝仟半卉卡占卯卮去可古右召叮叩叨叼司叵叫另只史叱台句叭叻四囚外����������������������������������央失奴奶孕它尼巨巧左市布平幼弁弘弗必戊打扔扒扑斥旦朮本未末札正母民氐永汁汀氾犯玄玉瓜瓦甘生用甩田由甲申疋白皮皿目矛矢石示禾穴立丞丟乒乓乩亙交亦亥仿伉伙伊伕伍伐休伏仲件任仰仳份企伋光兇兆先全�".split("");for(a=0;a!=t[165].length;++a)if(t[165][a].charCodeAt(0)!==65533){r[t[165][a]]=42240+a;e[42240+a]=t[165][a]}t[166]="����������������������������������������������������������������共再冰列刑划刎刖劣匈匡匠印危吉吏同吊吐吁吋各向名合吃后吆吒因回囝圳地在圭圬圯圩夙多夷夸妄奸妃好她如妁字存宇守宅安寺尖屹州帆并年����������������������������������式弛忙忖戎戌戍成扣扛托收早旨旬旭曲曳有朽朴朱朵次此死氖汝汗汙江池汐汕污汛汍汎灰牟牝百竹米糸缶羊羽老考而耒耳聿肉肋肌臣自至臼舌舛舟艮色艾虫血行衣西阡串亨位住佇佗佞伴佛何估佐佑伽伺伸佃佔似但佣�".split("");for(a=0;a!=t[166].length;++a)if(t[166][a].charCodeAt(0)!==65533){r[t[166][a]]=42496+a;e[42496+a]=t[166][a]}t[167]="����������������������������������������������������������������作你伯低伶余佝佈佚兌克免兵冶冷別判利刪刨劫助努劬匣即卵吝吭吞吾否呎吧呆呃吳呈呂君吩告吹吻吸吮吵吶吠吼呀吱含吟听囪困囤囫坊坑址坍����������������������������������均坎圾坐坏圻壯夾妝妒妨妞妣妙妖妍妤妓妊妥孝孜孚孛完宋宏尬局屁尿尾岐岑岔岌巫希序庇床廷弄弟彤形彷役忘忌志忍忱快忸忪戒我抄抗抖技扶抉扭把扼找批扳抒扯折扮投抓抑抆改攻攸旱更束李杏材村杜杖杞杉杆杠�".split("");for(a=0;a!=t[167].length;++a)if(t[167][a].charCodeAt(0)!==65533){r[t[167][a]]=42752+a;e[42752+a]=t[167][a]}t[168]="����������������������������������������������������������������杓杗步每求汞沙沁沈沉沅沛汪決沐汰沌汨沖沒汽沃汲汾汴沆汶沍沔沘沂灶灼災灸牢牡牠狄狂玖甬甫男甸皂盯矣私秀禿究系罕肖肓肝肘肛肚育良芒����������������������������������芋芍見角言谷豆豕貝赤走足身車辛辰迂迆迅迄巡邑邢邪邦那酉釆里防阮阱阪阬並乖乳事些亞享京佯依侍佳使佬供例來侃佰併侈佩佻侖佾侏侑佺兔兒兕兩具其典冽函刻券刷刺到刮制剁劾劻卒協卓卑卦卷卸卹取叔受味呵�".split("");for(a=0;a!=t[168].length;++a)if(t[168][a].charCodeAt(0)!==65533){r[t[168][a]]=43008+a;e[43008+a]=t[168][a]}t[169]="����������������������������������������������������������������咖呸咕咀呻呷咄咒咆呼咐呱呶和咚呢周咋命咎固垃坷坪坩坡坦坤坼夜奉奇奈奄奔妾妻委妹妮姑姆姐姍始姓姊妯妳姒姅孟孤季宗定官宜宙宛尚屈居����������������������������������屆岷岡岸岩岫岱岳帘帚帖帕帛帑幸庚店府底庖延弦弧弩往征彿彼忝忠忽念忿怏怔怯怵怖怪怕怡性怩怫怛或戕房戾所承拉拌拄抿拂抹拒招披拓拔拋拈抨抽押拐拙拇拍抵拚抱拘拖拗拆抬拎放斧於旺昔易昌昆昂明昀昏昕昊�".split("");for(a=0;a!=t[169].length;++a)if(t[169][a].charCodeAt(0)!==65533){r[t[169][a]]=43264+a;e[43264+a]=t[169][a]}t[170]="����������������������������������������������������������������昇服朋杭枋枕東果杳杷枇枝林杯杰板枉松析杵枚枓杼杪杲欣武歧歿氓氛泣注泳沱泌泥河沽沾沼波沫法泓沸泄油況沮泗泅泱沿治泡泛泊沬泯泜泖泠����������������������������������炕炎炒炊炙爬爭爸版牧物狀狎狙狗狐玩玨玟玫玥甽疝疙疚的盂盲直知矽社祀祁秉秈空穹竺糾罔羌羋者肺肥肢肱股肫肩肴肪肯臥臾舍芳芝芙芭芽芟芹花芬芥芯芸芣芰芾芷虎虱初表軋迎返近邵邸邱邶采金長門阜陀阿阻附�".split("");for(a=0;a!=t[170].length;++a)if(t[170][a].charCodeAt(0)!==65533){r[t[170][a]]=43520+a;e[43520+a]=t[170][a]}t[171]="����������������������������������������������������������������陂隹雨青非亟亭亮信侵侯便俠俑俏保促侶俘俟俊俗侮俐俄係俚俎俞侷兗冒冑冠剎剃削前剌剋則勇勉勃勁匍南卻厚叛咬哀咨哎哉咸咦咳哇哂咽咪品����������������������������������哄哈咯咫咱咻咩咧咿囿垂型垠垣垢城垮垓奕契奏奎奐姜姘姿姣姨娃姥姪姚姦威姻孩宣宦室客宥封屎屏屍屋峙峒巷帝帥帟幽庠度建弈弭彥很待徊律徇後徉怒思怠急怎怨恍恰恨恢恆恃恬恫恪恤扁拜挖按拼拭持拮拽指拱拷�".split("");for(a=0;a!=t[171].length;++a)if(t[171][a].charCodeAt(0)!==65533){r[t[171][a]]=43776+a;e[43776+a]=t[171][a]}t[172]="����������������������������������������������������������������拯括拾拴挑挂政故斫施既春昭映昧是星昨昱昤曷柿染柱柔某柬架枯柵柩柯柄柑枴柚查枸柏柞柳枰柙柢柝柒歪殃殆段毒毗氟泉洋洲洪流津洌洱洞洗����������������������������������活洽派洶洛泵洹洧洸洩洮洵洎洫炫為炳炬炯炭炸炮炤爰牲牯牴狩狠狡玷珊玻玲珍珀玳甚甭畏界畎畋疫疤疥疢疣癸皆皇皈盈盆盃盅省盹相眉看盾盼眇矜砂研砌砍祆祉祈祇禹禺科秒秋穿突竿竽籽紂紅紀紉紇約紆缸美羿耄�".split("");for(a=0;a!=t[172].length;++a)if(t[172][a].charCodeAt(0)!==65533){r[t[172][a]]=44032+a;e[44032+a]=t[172][a]}t[173]="����������������������������������������������������������������耐耍耑耶胖胥胚胃胄背胡胛胎胞胤胝致舢苧范茅苣苛苦茄若茂茉苒苗英茁苜苔苑苞苓苟苯茆虐虹虻虺衍衫要觔計訂訃貞負赴赳趴軍軌述迦迢迪迥����������������������������������迭迫迤迨郊郎郁郃酋酊重閂限陋陌降面革韋韭音頁風飛食首香乘亳倌倍倣俯倦倥俸倩倖倆值借倚倒們俺倀倔倨俱倡個候倘俳修倭倪俾倫倉兼冤冥冢凍凌准凋剖剜剔剛剝匪卿原厝叟哨唐唁唷哼哥哲唆哺唔哩哭員唉哮哪�".split("");for(a=0;a!=t[173].length;++a)if(t[173][a].charCodeAt(0)!==65533){r[t[173][a]]=44288+a;e[44288+a]=t[173][a]}t[174]="����������������������������������������������������������������哦唧唇哽唏圃圄埂埔埋埃堉夏套奘奚娑娘娜娟娛娓姬娠娣娩娥娌娉孫屘宰害家宴宮宵容宸射屑展屐峭峽峻峪峨峰島崁峴差席師庫庭座弱徒徑徐恙����������������������������������恣恥恐恕恭恩息悄悟悚悍悔悌悅悖扇拳挈拿捎挾振捕捂捆捏捉挺捐挽挪挫挨捍捌效敉料旁旅時晉晏晃晒晌晅晁書朔朕朗校核案框桓根桂桔栩梳栗桌桑栽柴桐桀格桃株桅栓栘桁殊殉殷氣氧氨氦氤泰浪涕消涇浦浸海浙涓�".split("");for(a=0;a!=t[174].length;++a)if(t[174][a].charCodeAt(0)!==65533){r[t[174][a]]=44544+a;e[44544+a]=t[174][a]}t[175]="����������������������������������������������������������������浬涉浮浚浴浩涌涊浹涅浥涔烊烘烤烙烈烏爹特狼狹狽狸狷玆班琉珮珠珪珞畔畝畜畚留疾病症疲疳疽疼疹痂疸皋皰益盍盎眩真眠眨矩砰砧砸砝破砷����������������������������������砥砭砠砟砲祕祐祠祟祖神祝祗祚秤秣秧租秦秩秘窄窈站笆笑粉紡紗紋紊素索純紐紕級紜納紙紛缺罟羔翅翁耆耘耕耙耗耽耿胱脂胰脅胭胴脆胸胳脈能脊胼胯臭臬舀舐航舫舨般芻茫荒荔荊茸荐草茵茴荏茲茹茶茗荀茱茨荃�".split("");for(a=0;a!=t[175].length;++a)if(t[175][a].charCodeAt(0)!==65533){r[t[175][a]]=44800+a;e[44800+a]=t[175][a]}t[176]="����������������������������������������������������������������虔蚊蚪蚓蚤蚩蚌蚣蚜衰衷袁袂衽衹記訐討訌訕訊託訓訖訏訑豈豺豹財貢起躬軒軔軏辱送逆迷退迺迴逃追逅迸邕郡郝郢酒配酌釘針釗釜釙閃院陣陡����������������������������������陛陝除陘陞隻飢馬骨高鬥鬲鬼乾偺偽停假偃偌做偉健偶偎偕偵側偷偏倏偯偭兜冕凰剪副勒務勘動匐匏匙匿區匾參曼商啪啦啄啞啡啃啊唱啖問啕唯啤唸售啜唬啣唳啁啗圈國圉域堅堊堆埠埤基堂堵執培夠奢娶婁婉婦婪婀�".split("");for(a=0;a!=t[176].length;++a)if(t[176][a].charCodeAt(0)!==65533){r[t[176][a]]=45056+a;e[45056+a]=t[176][a]}t[177]="����������������������������������������������������������������娼婢婚婆婊孰寇寅寄寂宿密尉專將屠屜屝崇崆崎崛崖崢崑崩崔崙崤崧崗巢常帶帳帷康庸庶庵庾張強彗彬彩彫得徙從徘御徠徜恿患悉悠您惋悴惦悽����������������������������������情悻悵惜悼惘惕惆惟悸惚惇戚戛扈掠控捲掖探接捷捧掘措捱掩掉掃掛捫推掄授掙採掬排掏掀捻捩捨捺敝敖救教敗啟敏敘敕敔斜斛斬族旋旌旎晝晚晤晨晦晞曹勗望梁梯梢梓梵桿桶梱梧梗械梃棄梭梆梅梔條梨梟梡梂欲殺�".split("");for(a=0;a!=t[177].length;++a)if(t[177][a].charCodeAt(0)!==65533){r[t[177][a]]=45312+a;e[45312+a]=t[177][a]}t[178]="����������������������������������������������������������������毫毬氫涎涼淳淙液淡淌淤添淺清淇淋涯淑涮淞淹涸混淵淅淒渚涵淚淫淘淪深淮淨淆淄涪淬涿淦烹焉焊烽烯爽牽犁猜猛猖猓猙率琅琊球理現琍瓠瓶����������������������������������瓷甜產略畦畢異疏痔痕疵痊痍皎盔盒盛眷眾眼眶眸眺硫硃硎祥票祭移窒窕笠笨笛第符笙笞笮粒粗粕絆絃統紮紹紼絀細紳組累終紲紱缽羞羚翌翎習耜聊聆脯脖脣脫脩脰脤舂舵舷舶船莎莞莘荸莢莖莽莫莒莊莓莉莠荷荻荼�".split("");for(a=0;a!=t[178].length;++a)if(t[178][a].charCodeAt(0)!==65533){r[t[178][a]]=45568+a;e[45568+a]=t[178][a]}t[179]="����������������������������������������������������������������莆莧處彪蛇蛀蚶蛄蚵蛆蛋蚱蚯蛉術袞袈被袒袖袍袋覓規訪訝訣訥許設訟訛訢豉豚販責貫貨貪貧赧赦趾趺軛軟這逍通逗連速逝逐逕逞造透逢逖逛途����������������������������������部郭都酗野釵釦釣釧釭釩閉陪陵陳陸陰陴陶陷陬雀雪雩章竟頂頃魚鳥鹵鹿麥麻傢傍傅備傑傀傖傘傚最凱割剴創剩勞勝勛博厥啻喀喧啼喊喝喘喂喜喪喔喇喋喃喳單喟唾喲喚喻喬喱啾喉喫喙圍堯堪場堤堰報堡堝堠壹壺奠�".split("");for(a=0;a!=t[179].length;++a)if(t[179][a].charCodeAt(0)!==65533){r[t[179][a]]=45824+a;e[45824+a]=t[179][a]}t[180]="����������������������������������������������������������������婷媚婿媒媛媧孳孱寒富寓寐尊尋就嵌嵐崴嵇巽幅帽幀幃幾廊廁廂廄弼彭復循徨惑惡悲悶惠愜愣惺愕惰惻惴慨惱愎惶愉愀愒戟扉掣掌描揀揩揉揆揍����������������������������������插揣提握揖揭揮捶援揪換摒揚揹敞敦敢散斑斐斯普晰晴晶景暑智晾晷曾替期朝棺棕棠棘棗椅棟棵森棧棹棒棲棣棋棍植椒椎棉棚楮棻款欺欽殘殖殼毯氮氯氬港游湔渡渲湧湊渠渥渣減湛湘渤湖湮渭渦湯渴湍渺測湃渝渾滋�".split("");for(a=0;a!=t[180].length;++a)if(t[180][a].charCodeAt(0)!==65533){r[t[180][a]]=46080+a;e[46080+a]=t[180][a]}t[181]="����������������������������������������������������������������溉渙湎湣湄湲湩湟焙焚焦焰無然煮焜牌犄犀猶猥猴猩琺琪琳琢琥琵琶琴琯琛琦琨甥甦畫番痢痛痣痙痘痞痠登發皖皓皴盜睏短硝硬硯稍稈程稅稀窘����������������������������������窗窖童竣等策筆筐筒答筍筋筏筑粟粥絞結絨絕紫絮絲絡給絢絰絳善翔翕耋聒肅腕腔腋腑腎脹腆脾腌腓腴舒舜菩萃菸萍菠菅萋菁華菱菴著萊菰萌菌菽菲菊萸萎萄菜萇菔菟虛蛟蛙蛭蛔蛛蛤蛐蛞街裁裂袱覃視註詠評詞証詁�".split("");for(a=0;a!=t[181].length;++a)if(t[181][a].charCodeAt(0)!==65533){r[t[181][a]]=46336+a;e[46336+a]=t[181][a]}t[182]="����������������������������������������������������������������詔詛詐詆訴診訶詖象貂貯貼貳貽賁費賀貴買貶貿貸越超趁跎距跋跚跑跌跛跆軻軸軼辜逮逵週逸進逶鄂郵鄉郾酣酥量鈔鈕鈣鈉鈞鈍鈐鈇鈑閔閏開閑����������������������������������間閒閎隊階隋陽隅隆隍陲隄雁雅雄集雇雯雲韌項順須飧飪飯飩飲飭馮馭黃黍黑亂傭債傲傳僅傾催傷傻傯僇剿剷剽募勦勤勢勣匯嗟嗨嗓嗦嗎嗜嗇嗑嗣嗤嗯嗚嗡嗅嗆嗥嗉園圓塞塑塘塗塚塔填塌塭塊塢塒塋奧嫁嫉嫌媾媽媼�".split("");for(a=0;a!=t[182].length;++a)if(t[182][a].charCodeAt(0)!==65533){r[t[182][a]]=46592+a;e[46592+a]=t[182][a]}t[183]="����������������������������������������������������������������媳嫂媲嵩嵯幌幹廉廈弒彙徬微愚意慈感想愛惹愁愈慎慌慄慍愾愴愧愍愆愷戡戢搓搾搞搪搭搽搬搏搜搔損搶搖搗搆敬斟新暗暉暇暈暖暄暘暍會榔業����������������������������������楚楷楠楔極椰概楊楨楫楞楓楹榆楝楣楛歇歲毀殿毓毽溢溯滓溶滂源溝滇滅溥溘溼溺溫滑準溜滄滔溪溧溴煎煙煩煤煉照煜煬煦煌煥煞煆煨煖爺牒猷獅猿猾瑯瑚瑕瑟瑞瑁琿瑙瑛瑜當畸瘀痰瘁痲痱痺痿痴痳盞盟睛睫睦睞督�".split("");for(a=0;a!=t[183].length;++a)if(t[183][a].charCodeAt(0)!==65533){r[t[183][a]]=46848+a;e[46848+a]=t[183][a]}t[184]="����������������������������������������������������������������睹睪睬睜睥睨睢矮碎碰碗碘碌碉硼碑碓硿祺祿禁萬禽稜稚稠稔稟稞窟窠筷節筠筮筧粱粳粵經絹綑綁綏絛置罩罪署義羨群聖聘肆肄腱腰腸腥腮腳腫����������������������������������腹腺腦舅艇蒂葷落萱葵葦葫葉葬葛萼萵葡董葩葭葆虞虜號蛹蜓蜈蜇蜀蛾蛻蜂蜃蜆蜊衙裟裔裙補裘裝裡裊裕裒覜解詫該詳試詩詰誇詼詣誠話誅詭詢詮詬詹詻訾詨豢貊貉賊資賈賄貲賃賂賅跡跟跨路跳跺跪跤跦躲較載軾輊�".split(""); +for(a=0;a!=t[184].length;++a)if(t[184][a].charCodeAt(0)!==65533){r[t[184][a]]=47104+a;e[47104+a]=t[184][a]}t[185]="����������������������������������������������������������������辟農運遊道遂達逼違遐遇遏過遍遑逾遁鄒鄗酬酪酩釉鈷鉗鈸鈽鉀鈾鉛鉋鉤鉑鈴鉉鉍鉅鈹鈿鉚閘隘隔隕雍雋雉雊雷電雹零靖靴靶預頑頓頊頒頌飼飴����������������������������������飽飾馳馱馴髡鳩麂鼎鼓鼠僧僮僥僖僭僚僕像僑僱僎僩兢凳劃劂匱厭嗾嘀嘛嘗嗽嘔嘆嘉嘍嘎嗷嘖嘟嘈嘐嗶團圖塵塾境墓墊塹墅塽壽夥夢夤奪奩嫡嫦嫩嫗嫖嫘嫣孵寞寧寡寥實寨寢寤察對屢嶄嶇幛幣幕幗幔廓廖弊彆彰徹慇�".split("");for(a=0;a!=t[185].length;++a)if(t[185][a].charCodeAt(0)!==65533){r[t[185][a]]=47360+a;e[47360+a]=t[185][a]}t[186]="����������������������������������������������������������������愿態慷慢慣慟慚慘慵截撇摘摔撤摸摟摺摑摧搴摭摻敲斡旗旖暢暨暝榜榨榕槁榮槓構榛榷榻榫榴槐槍榭槌榦槃榣歉歌氳漳演滾漓滴漩漾漠漬漏漂漢����������������������������������滿滯漆漱漸漲漣漕漫漯澈漪滬漁滲滌滷熔熙煽熊熄熒爾犒犖獄獐瑤瑣瑪瑰瑭甄疑瘧瘍瘋瘉瘓盡監瞄睽睿睡磁碟碧碳碩碣禎福禍種稱窪窩竭端管箕箋筵算箝箔箏箸箇箄粹粽精綻綰綜綽綾綠緊綴網綱綺綢綿綵綸維緒緇綬�".split("");for(a=0;a!=t[186].length;++a)if(t[186][a].charCodeAt(0)!==65533){r[t[186][a]]=47616+a;e[47616+a]=t[186][a]}t[187]="����������������������������������������������������������������罰翠翡翟聞聚肇腐膀膏膈膊腿膂臧臺與舔舞艋蓉蒿蓆蓄蒙蒞蒲蒜蓋蒸蓀蓓蒐蒼蓑蓊蜿蜜蜻蜢蜥蜴蜘蝕蜷蜩裳褂裴裹裸製裨褚裯誦誌語誣認誡誓誤����������������������������������說誥誨誘誑誚誧豪貍貌賓賑賒赫趙趕跼輔輒輕輓辣遠遘遜遣遙遞遢遝遛鄙鄘鄞酵酸酷酴鉸銀銅銘銖鉻銓銜銨鉼銑閡閨閩閣閥閤隙障際雌雒需靼鞅韶頗領颯颱餃餅餌餉駁骯骰髦魁魂鳴鳶鳳麼鼻齊億儀僻僵價儂儈儉儅凜�".split("");for(a=0;a!=t[187].length;++a)if(t[187][a].charCodeAt(0)!==65533){r[t[187][a]]=47872+a;e[47872+a]=t[187][a]}t[188]="����������������������������������������������������������������劇劈劉劍劊勰厲嘮嘻嘹嘲嘿嘴嘩噓噎噗噴嘶嘯嘰墀墟增墳墜墮墩墦奭嬉嫻嬋嫵嬌嬈寮寬審寫層履嶝嶔幢幟幡廢廚廟廝廣廠彈影德徵慶慧慮慝慕憂����������������������������������慼慰慫慾憧憐憫憎憬憚憤憔憮戮摩摯摹撞撲撈撐撰撥撓撕撩撒撮播撫撚撬撙撢撳敵敷數暮暫暴暱樣樟槨樁樞標槽模樓樊槳樂樅槭樑歐歎殤毅毆漿潼澄潑潦潔澆潭潛潸潮澎潺潰潤澗潘滕潯潠潟熟熬熱熨牖犛獎獗瑩璋璃�".split("");for(a=0;a!=t[188].length;++a)if(t[188][a].charCodeAt(0)!==65533){r[t[188][a]]=48128+a;e[48128+a]=t[188][a]}t[189]="����������������������������������������������������������������瑾璀畿瘠瘩瘟瘤瘦瘡瘢皚皺盤瞎瞇瞌瞑瞋磋磅確磊碾磕碼磐稿稼穀稽稷稻窯窮箭箱範箴篆篇篁箠篌糊締練緯緻緘緬緝編緣線緞緩綞緙緲緹罵罷羯����������������������������������翩耦膛膜膝膠膚膘蔗蔽蔚蓮蔬蔭蔓蔑蔣蔡蔔蓬蔥蓿蔆螂蝴蝶蝠蝦蝸蝨蝙蝗蝌蝓衛衝褐複褒褓褕褊誼諒談諄誕請諸課諉諂調誰論諍誶誹諛豌豎豬賠賞賦賤賬賭賢賣賜質賡赭趟趣踫踐踝踢踏踩踟踡踞躺輝輛輟輩輦輪輜輞�".split("");for(a=0;a!=t[189].length;++a)if(t[189][a].charCodeAt(0)!==65533){r[t[189][a]]=48384+a;e[48384+a]=t[189][a]}t[190]="����������������������������������������������������������������輥適遮遨遭遷鄰鄭鄧鄱醇醉醋醃鋅銻銷鋪銬鋤鋁銳銼鋒鋇鋰銲閭閱霄霆震霉靠鞍鞋鞏頡頫頜颳養餓餒餘駝駐駟駛駑駕駒駙骷髮髯鬧魅魄魷魯鴆鴉����������������������������������鴃麩麾黎墨齒儒儘儔儐儕冀冪凝劑劓勳噙噫噹噩噤噸噪器噥噱噯噬噢噶壁墾壇壅奮嬝嬴學寰導彊憲憑憩憊懍憶憾懊懈戰擅擁擋撻撼據擄擇擂操撿擒擔撾整曆曉暹曄曇暸樽樸樺橙橫橘樹橄橢橡橋橇樵機橈歙歷氅濂澱澡�".split("");for(a=0;a!=t[190].length;++a)if(t[190][a].charCodeAt(0)!==65533){r[t[190][a]]=48640+a;e[48640+a]=t[190][a]}t[191]="����������������������������������������������������������������濃澤濁澧澳激澹澶澦澠澴熾燉燐燒燈燕熹燎燙燜燃燄獨璜璣璘璟璞瓢甌甍瘴瘸瘺盧盥瞠瞞瞟瞥磨磚磬磧禦積穎穆穌穋窺篙簑築篤篛篡篩篦糕糖縊����������������������������������縑縈縛縣縞縝縉縐罹羲翰翱翮耨膳膩膨臻興艘艙蕊蕙蕈蕨蕩蕃蕉蕭蕪蕞螃螟螞螢融衡褪褲褥褫褡親覦諦諺諫諱謀諜諧諮諾謁謂諷諭諳諶諼豫豭貓賴蹄踱踴蹂踹踵輻輯輸輳辨辦遵遴選遲遼遺鄴醒錠錶鋸錳錯錢鋼錫錄錚�".split("");for(a=0;a!=t[191].length;++a)if(t[191][a].charCodeAt(0)!==65533){r[t[191][a]]=48896+a;e[48896+a]=t[191][a]}t[192]="����������������������������������������������������������������錐錦錡錕錮錙閻隧隨險雕霎霑霖霍霓霏靛靜靦鞘頰頸頻頷頭頹頤餐館餞餛餡餚駭駢駱骸骼髻髭鬨鮑鴕鴣鴦鴨鴒鴛默黔龍龜優償儡儲勵嚎嚀嚐嚅嚇����������������������������������嚏壕壓壑壎嬰嬪嬤孺尷屨嶼嶺嶽嶸幫彌徽應懂懇懦懋戲戴擎擊擘擠擰擦擬擱擢擭斂斃曙曖檀檔檄檢檜櫛檣橾檗檐檠歜殮毚氈濘濱濟濠濛濤濫濯澀濬濡濩濕濮濰燧營燮燦燥燭燬燴燠爵牆獰獲璩環璦璨癆療癌盪瞳瞪瞰瞬�".split("");for(a=0;a!=t[192].length;++a)if(t[192][a].charCodeAt(0)!==65533){r[t[192][a]]=49152+a;e[49152+a]=t[192][a]}t[193]="����������������������������������������������������������������瞧瞭矯磷磺磴磯礁禧禪穗窿簇簍篾篷簌篠糠糜糞糢糟糙糝縮績繆縷縲繃縫總縱繅繁縴縹繈縵縿縯罄翳翼聱聲聰聯聳臆臃膺臂臀膿膽臉膾臨舉艱薪����������������������������������薄蕾薜薑薔薯薛薇薨薊虧蟀蟑螳蟒蟆螫螻螺蟈蟋褻褶襄褸褽覬謎謗謙講謊謠謝謄謐豁谿豳賺賽購賸賻趨蹉蹋蹈蹊轄輾轂轅輿避遽還邁邂邀鄹醣醞醜鍍鎂錨鍵鍊鍥鍋錘鍾鍬鍛鍰鍚鍔闊闋闌闈闆隱隸雖霜霞鞠韓顆颶餵騁�".split("");for(a=0;a!=t[193].length;++a)if(t[193][a].charCodeAt(0)!==65533){r[t[193][a]]=49408+a;e[49408+a]=t[193][a]}t[194]="����������������������������������������������������������������駿鮮鮫鮪鮭鴻鴿麋黏點黜黝黛鼾齋叢嚕嚮壙壘嬸彝懣戳擴擲擾攆擺擻擷斷曜朦檳檬櫃檻檸櫂檮檯歟歸殯瀉瀋濾瀆濺瀑瀏燻燼燾燸獷獵璧璿甕癖癘����������������������������������癒瞽瞿瞻瞼礎禮穡穢穠竄竅簫簧簪簞簣簡糧織繕繞繚繡繒繙罈翹翻職聶臍臏舊藏薩藍藐藉薰薺薹薦蟯蟬蟲蟠覆覲觴謨謹謬謫豐贅蹙蹣蹦蹤蹟蹕軀轉轍邇邃邈醫醬釐鎔鎊鎖鎢鎳鎮鎬鎰鎘鎚鎗闔闖闐闕離雜雙雛雞霤鞣鞦�".split("");for(a=0;a!=t[194].length;++a)if(t[194][a].charCodeAt(0)!==65533){r[t[194][a]]=49664+a;e[49664+a]=t[194][a]}t[195]="����������������������������������������������������������������鞭韹額顏題顎顓颺餾餿餽餮馥騎髁鬃鬆魏魎魍鯊鯉鯽鯈鯀鵑鵝鵠黠鼕鼬儳嚥壞壟壢寵龐廬懲懷懶懵攀攏曠曝櫥櫝櫚櫓瀛瀟瀨瀚瀝瀕瀘爆爍牘犢獸����������������������������������獺璽瓊瓣疇疆癟癡矇礙禱穫穩簾簿簸簽簷籀繫繭繹繩繪羅繳羶羹羸臘藩藝藪藕藤藥藷蟻蠅蠍蟹蟾襠襟襖襞譁譜識證譚譎譏譆譙贈贊蹼蹲躇蹶蹬蹺蹴轔轎辭邊邋醱醮鏡鏑鏟鏃鏈鏜鏝鏖鏢鏍鏘鏤鏗鏨關隴難霪霧靡韜韻類�".split("");for(a=0;a!=t[195].length;++a)if(t[195][a].charCodeAt(0)!==65533){r[t[195][a]]=49920+a;e[49920+a]=t[195][a]}t[196]="����������������������������������������������������������������願顛颼饅饉騖騙鬍鯨鯧鯖鯛鶉鵡鵲鵪鵬麒麗麓麴勸嚨嚷嚶嚴嚼壤孀孃孽寶巉懸懺攘攔攙曦朧櫬瀾瀰瀲爐獻瓏癢癥礦礪礬礫竇競籌籃籍糯糰辮繽繼����������������������������������纂罌耀臚艦藻藹蘑藺蘆蘋蘇蘊蠔蠕襤覺觸議譬警譯譟譫贏贍躉躁躅躂醴釋鐘鐃鏽闡霰飄饒饑馨騫騰騷騵鰓鰍鹹麵黨鼯齟齣齡儷儸囁囀囂夔屬巍懼懾攝攜斕曩櫻欄櫺殲灌爛犧瓖瓔癩矓籐纏續羼蘗蘭蘚蠣蠢蠡蠟襪襬覽譴�".split("");for(a=0;a!=t[196].length;++a)if(t[196][a].charCodeAt(0)!==65533){r[t[196][a]]=50176+a;e[50176+a]=t[196][a]}t[197]="����������������������������������������������������������������護譽贓躊躍躋轟辯醺鐮鐳鐵鐺鐸鐲鐫闢霸霹露響顧顥饗驅驃驀騾髏魔魑鰭鰥鶯鶴鷂鶸麝黯鼙齜齦齧儼儻囈囊囉孿巔巒彎懿攤權歡灑灘玀瓤疊癮癬����������������������������������禳籠籟聾聽臟襲襯觼讀贖贗躑躓轡酈鑄鑑鑒霽霾韃韁顫饕驕驍髒鬚鱉鰱鰾鰻鷓鷗鼴齬齪龔囌巖戀攣攫攪曬欐瓚竊籤籣籥纓纖纔臢蘸蘿蠱變邐邏鑣鑠鑤靨顯饜驚驛驗髓體髑鱔鱗鱖鷥麟黴囑壩攬灞癱癲矗罐羈蠶蠹衢讓讒�".split("");for(a=0;a!=t[197].length;++a)if(t[197][a].charCodeAt(0)!==65533){r[t[197][a]]=50432+a;e[50432+a]=t[197][a]}t[198]="����������������������������������������������������������������讖艷贛釀鑪靂靈靄韆顰驟鬢魘鱟鷹鷺鹼鹽鼇齷齲廳欖灣籬籮蠻觀躡釁鑲鑰顱饞髖鬣黌灤矚讚鑷韉驢驥纜讜躪釅鑽鑾鑼鱷鱸黷豔鑿鸚爨驪鬱鸛鸞籲���������������������������������������������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[198].length;++a)if(t[198][a].charCodeAt(0)!==65533){r[t[198][a]]=50688+a;e[50688+a]=t[198][a]}t[201]="����������������������������������������������������������������乂乜凵匚厂万丌乇亍囗兀屮彳丏冇与丮亓仂仉仈冘勼卬厹圠夃夬尐巿旡殳毌气爿丱丼仨仜仩仡仝仚刌匜卌圢圣夗夯宁宄尒尻屴屳帄庀庂忉戉扐氕����������������������������������氶汃氿氻犮犰玊禸肊阞伎优伬仵伔仱伀价伈伝伂伅伢伓伄仴伒冱刓刉刐劦匢匟卍厊吇囡囟圮圪圴夼妀奼妅奻奾奷奿孖尕尥屼屺屻屾巟幵庄异弚彴忕忔忏扜扞扤扡扦扢扙扠扚扥旯旮朾朹朸朻机朿朼朳氘汆汒汜汏汊汔汋�".split("");for(a=0;a!=t[201].length;++a)if(t[201][a].charCodeAt(0)!==65533){r[t[201][a]]=51456+a;e[51456+a]=t[201][a]}t[202]="����������������������������������������������������������������汌灱牞犴犵玎甪癿穵网艸艼芀艽艿虍襾邙邗邘邛邔阢阤阠阣佖伻佢佉体佤伾佧佒佟佁佘伭伳伿佡冏冹刜刞刡劭劮匉卣卲厎厏吰吷吪呔呅吙吜吥吘����������������������������������吽呏呁吨吤呇囮囧囥坁坅坌坉坋坒夆奀妦妘妠妗妎妢妐妏妧妡宎宒尨尪岍岏岈岋岉岒岊岆岓岕巠帊帎庋庉庌庈庍弅弝彸彶忒忑忐忭忨忮忳忡忤忣忺忯忷忻怀忴戺抃抌抎抏抔抇扱扻扺扰抁抈扷扽扲扴攷旰旴旳旲旵杅杇�".split("");for(a=0;a!=t[202].length;++a)if(t[202][a].charCodeAt(0)!==65533){r[t[202][a]]=51712+a;e[51712+a]=t[202][a]}t[203]="����������������������������������������������������������������杙杕杌杈杝杍杚杋毐氙氚汸汧汫沄沋沏汱汯汩沚汭沇沕沜汦汳汥汻沎灴灺牣犿犽狃狆狁犺狅玕玗玓玔玒町甹疔疕皁礽耴肕肙肐肒肜芐芏芅芎芑芓����������������������������������芊芃芄豸迉辿邟邡邥邞邧邠阰阨阯阭丳侘佼侅佽侀侇佶佴侉侄佷佌侗佪侚佹侁佸侐侜侔侞侒侂侕佫佮冞冼冾刵刲刳剆刱劼匊匋匼厒厔咇呿咁咑咂咈呫呺呾呥呬呴呦咍呯呡呠咘呣呧呤囷囹坯坲坭坫坱坰坶垀坵坻坳坴坢�".split("");for(a=0;a!=t[203].length;++a)if(t[203][a].charCodeAt(0)!==65533){r[t[203][a]]=51968+a;e[51968+a]=t[203][a]}t[204]="����������������������������������������������������������������坨坽夌奅妵妺姏姎妲姌姁妶妼姃姖妱妽姀姈妴姇孢孥宓宕屄屇岮岤岠岵岯岨岬岟岣岭岢岪岧岝岥岶岰岦帗帔帙弨弢弣弤彔徂彾彽忞忥怭怦怙怲怋����������������������������������怴怊怗怳怚怞怬怢怍怐怮怓怑怌怉怜戔戽抭抴拑抾抪抶拊抮抳抯抻抩抰抸攽斨斻昉旼昄昒昈旻昃昋昍昅旽昑昐曶朊枅杬枎枒杶杻枘枆构杴枍枌杺枟枑枙枃杽极杸杹枔欥殀歾毞氝沓泬泫泮泙沶泔沭泧沷泐泂沺泃泆泭泲�".split("");for(a=0;a!=t[204].length;++a)if(t[204][a].charCodeAt(0)!==65533){r[t[204][a]]=52224+a;e[52224+a]=t[204][a]}t[205]="����������������������������������������������������������������泒泝沴沊沝沀泞泀洰泍泇沰泹泏泩泑炔炘炅炓炆炄炑炖炂炚炃牪狖狋狘狉狜狒狔狚狌狑玤玡玭玦玢玠玬玝瓝瓨甿畀甾疌疘皯盳盱盰盵矸矼矹矻矺����������������������������������矷祂礿秅穸穻竻籵糽耵肏肮肣肸肵肭舠芠苀芫芚芘芛芵芧芮芼芞芺芴芨芡芩苂芤苃芶芢虰虯虭虮豖迒迋迓迍迖迕迗邲邴邯邳邰阹阽阼阺陃俍俅俓侲俉俋俁俔俜俙侻侳俛俇俖侺俀侹俬剄剉勀勂匽卼厗厖厙厘咺咡咭咥哏�".split("");for(a=0;a!=t[205].length;++a)if(t[205][a].charCodeAt(0)!==65533){r[t[205][a]]=52480+a;e[52480+a]=t[205][a]}t[206]="����������������������������������������������������������������哃茍咷咮哖咶哅哆咠呰咼咢咾呲哞咰垵垞垟垤垌垗垝垛垔垘垏垙垥垚垕壴复奓姡姞姮娀姱姝姺姽姼姶姤姲姷姛姩姳姵姠姾姴姭宨屌峐峘峌峗峋峛����������������������������������峞峚峉峇峊峖峓峔峏峈峆峎峟峸巹帡帢帣帠帤庰庤庢庛庣庥弇弮彖徆怷怹恔恲恞恅恓恇恉恛恌恀恂恟怤恄恘恦恮扂扃拏挍挋拵挎挃拫拹挏挌拸拶挀挓挔拺挕拻拰敁敃斪斿昶昡昲昵昜昦昢昳昫昺昝昴昹昮朏朐柁柲柈枺�".split("");for(a=0;a!=t[206].length;++a)if(t[206][a].charCodeAt(0)!==65533){r[t[206][a]]=52736+a;e[52736+a]=t[206][a]}t[207]="����������������������������������������������������������������柜枻柸柘柀枷柅柫柤柟枵柍枳柷柶柮柣柂枹柎柧柰枲柼柆柭柌枮柦柛柺柉柊柃柪柋欨殂殄殶毖毘毠氠氡洨洴洭洟洼洿洒洊泚洳洄洙洺洚洑洀洝浂����������������������������������洁洘洷洃洏浀洇洠洬洈洢洉洐炷炟炾炱炰炡炴炵炩牁牉牊牬牰牳牮狊狤狨狫狟狪狦狣玅珌珂珈珅玹玶玵玴珫玿珇玾珃珆玸珋瓬瓮甮畇畈疧疪癹盄眈眃眄眅眊盷盻盺矧矨砆砑砒砅砐砏砎砉砃砓祊祌祋祅祄秕种秏秖秎窀�".split("");for(a=0;a!=t[207].length;++a)if(t[207][a].charCodeAt(0)!==65533){r[t[207][a]]=52992+a;e[52992+a]=t[207][a]}t[208]="����������������������������������������������������������������穾竑笀笁籺籸籹籿粀粁紃紈紁罘羑羍羾耇耎耏耔耷胘胇胠胑胈胂胐胅胣胙胜胊胕胉胏胗胦胍臿舡芔苙苾苹茇苨茀苕茺苫苖苴苬苡苲苵茌苻苶苰苪����������������������������������苤苠苺苳苭虷虴虼虳衁衎衧衪衩觓訄訇赲迣迡迮迠郱邽邿郕郅邾郇郋郈釔釓陔陏陑陓陊陎倞倅倇倓倢倰倛俵俴倳倷倬俶俷倗倜倠倧倵倯倱倎党冔冓凊凄凅凈凎剡剚剒剞剟剕剢勍匎厞唦哢唗唒哧哳哤唚哿唄唈哫唑唅哱�".split("");for(a=0;a!=t[208].length;++a)if(t[208][a].charCodeAt(0)!==65533){r[t[208][a]]=53248+a;e[53248+a]=t[208][a]}t[209]="����������������������������������������������������������������唊哻哷哸哠唎唃唋圁圂埌堲埕埒垺埆垽垼垸垶垿埇埐垹埁夎奊娙娖娭娮娕娏娗娊娞娳孬宧宭宬尃屖屔峬峿峮峱峷崀峹帩帨庨庮庪庬弳弰彧恝恚恧����������������������������������恁悢悈悀悒悁悝悃悕悛悗悇悜悎戙扆拲挐捖挬捄捅挶捃揤挹捋捊挼挩捁挴捘捔捙挭捇挳捚捑挸捗捀捈敊敆旆旃旄旂晊晟晇晑朒朓栟栚桉栲栳栻桋桏栖栱栜栵栫栭栯桎桄栴栝栒栔栦栨栮桍栺栥栠欬欯欭欱欴歭肂殈毦毤�".split("");for(a=0;a!=t[209].length;++a)if(t[209][a].charCodeAt(0)!==65533){r[t[209][a]]=53504+a;e[53504+a]=t[209][a]}t[210]="����������������������������������������������������������������毨毣毢毧氥浺浣浤浶洍浡涒浘浢浭浯涑涍淯浿涆浞浧浠涗浰浼浟涂涘洯浨涋浾涀涄洖涃浻浽浵涐烜烓烑烝烋缹烢烗烒烞烠烔烍烅烆烇烚烎烡牂牸����������������������������������牷牶猀狺狴狾狶狳狻猁珓珙珥珖玼珧珣珩珜珒珛珔珝珚珗珘珨瓞瓟瓴瓵甡畛畟疰痁疻痄痀疿疶疺皊盉眝眛眐眓眒眣眑眕眙眚眢眧砣砬砢砵砯砨砮砫砡砩砳砪砱祔祛祏祜祓祒祑秫秬秠秮秭秪秜秞秝窆窉窅窋窌窊窇竘笐�".split("");for(a=0;a!=t[210].length;++a)if(t[210][a].charCodeAt(0)!==65533){r[t[210][a]]=53760+a;e[53760+a]=t[210][a]}t[211]="����������������������������������������������������������������笄笓笅笏笈笊笎笉笒粄粑粊粌粈粍粅紞紝紑紎紘紖紓紟紒紏紌罜罡罞罠罝罛羖羒翃翂翀耖耾耹胺胲胹胵脁胻脀舁舯舥茳茭荄茙荑茥荖茿荁茦茜茢����������������������������������荂荎茛茪茈茼荍茖茤茠茷茯茩荇荅荌荓茞茬荋茧荈虓虒蚢蚨蚖蚍蚑蚞蚇蚗蚆蚋蚚蚅蚥蚙蚡蚧蚕蚘蚎蚝蚐蚔衃衄衭衵衶衲袀衱衿衯袃衾衴衼訒豇豗豻貤貣赶赸趵趷趶軑軓迾迵适迿迻逄迼迶郖郠郙郚郣郟郥郘郛郗郜郤酐�".split("");for(a=0;a!=t[211].length;++a)if(t[211][a].charCodeAt(0)!==65533){r[t[211][a]]=54016+a;e[54016+a]=t[211][a]}t[212]="����������������������������������������������������������������酎酏釕釢釚陜陟隼飣髟鬯乿偰偪偡偞偠偓偋偝偲偈偍偁偛偊偢倕偅偟偩偫偣偤偆偀偮偳偗偑凐剫剭剬剮勖勓匭厜啵啶唼啍啐唴唪啑啢唶唵唰啒啅����������������������������������唌唲啥啎唹啈唭唻啀啋圊圇埻堔埢埶埜埴堀埭埽堈埸堋埳埏堇埮埣埲埥埬埡堎埼堐埧堁堌埱埩埰堍堄奜婠婘婕婧婞娸娵婭婐婟婥婬婓婤婗婃婝婒婄婛婈媎娾婍娹婌婰婩婇婑婖婂婜孲孮寁寀屙崞崋崝崚崠崌崨崍崦崥崏�".split("");for(a=0;a!=t[212].length;++a)if(t[212][a].charCodeAt(0)!==65533){r[t[212][a]]=54272+a;e[54272+a]=t[212][a]}t[213]="����������������������������������������������������������������崰崒崣崟崮帾帴庱庴庹庲庳弶弸徛徖徟悊悐悆悾悰悺惓惔惏惤惙惝惈悱惛悷惊悿惃惍惀挲捥掊掂捽掽掞掭掝掗掫掎捯掇掐据掯捵掜捭掮捼掤挻掟����������������������������������捸掅掁掑掍捰敓旍晥晡晛晙晜晢朘桹梇梐梜桭桮梮梫楖桯梣梬梩桵桴梲梏桷梒桼桫桲梪梀桱桾梛梖梋梠梉梤桸桻梑梌梊桽欶欳欷欸殑殏殍殎殌氪淀涫涴涳湴涬淩淢涷淶淔渀淈淠淟淖涾淥淜淝淛淴淊涽淭淰涺淕淂淏淉�".split("");for(a=0;a!=t[213].length;++a)if(t[213][a].charCodeAt(0)!==65533){r[t[213][a]]=54528+a;e[54528+a]=t[213][a]}t[214]="����������������������������������������������������������������淐淲淓淽淗淍淣涻烺焍烷焗烴焌烰焄烳焐烼烿焆焓焀烸烶焋焂焎牾牻牼牿猝猗猇猑猘猊猈狿猏猞玈珶珸珵琄琁珽琇琀珺珼珿琌琋珴琈畤畣痎痒痏����������������������������������痋痌痑痐皏皉盓眹眯眭眱眲眴眳眽眥眻眵硈硒硉硍硊硌砦硅硐祤祧祩祪祣祫祡离秺秸秶秷窏窔窐笵筇笴笥笰笢笤笳笘笪笝笱笫笭笯笲笸笚笣粔粘粖粣紵紽紸紶紺絅紬紩絁絇紾紿絊紻紨罣羕羜羝羛翊翋翍翐翑翇翏翉耟�".split("");for(a=0;a!=t[214].length;++a)if(t[214][a].charCodeAt(0)!==65533){r[t[214][a]]=54784+a;e[54784+a]=t[214][a]}t[215]="����������������������������������������������������������������耞耛聇聃聈脘脥脙脛脭脟脬脞脡脕脧脝脢舑舸舳舺舴舲艴莐莣莨莍荺荳莤荴莏莁莕莙荵莔莩荽莃莌莝莛莪莋荾莥莯莈莗莰荿莦莇莮荶莚虙虖蚿蚷����������������������������������蛂蛁蛅蚺蚰蛈蚹蚳蚸蛌蚴蚻蚼蛃蚽蚾衒袉袕袨袢袪袚袑袡袟袘袧袙袛袗袤袬袌袓袎覂觖觙觕訰訧訬訞谹谻豜豝豽貥赽赻赹趼跂趹趿跁軘軞軝軜軗軠軡逤逋逑逜逌逡郯郪郰郴郲郳郔郫郬郩酖酘酚酓酕釬釴釱釳釸釤釹釪�".split("");for(a=0;a!=t[215].length;++a)if(t[215][a].charCodeAt(0)!==65533){r[t[215][a]]=55040+a;e[55040+a]=t[215][a]}t[216]="����������������������������������������������������������������釫釷釨釮镺閆閈陼陭陫陱陯隿靪頄飥馗傛傕傔傞傋傣傃傌傎傝偨傜傒傂傇兟凔匒匑厤厧喑喨喥喭啷噅喢喓喈喏喵喁喣喒喤啽喌喦啿喕喡喎圌堩堷����������������������������������堙堞堧堣堨埵塈堥堜堛堳堿堶堮堹堸堭堬堻奡媯媔媟婺媢媞婸媦婼媥媬媕媮娷媄媊媗媃媋媩婻婽媌媜媏媓媝寪寍寋寔寑寊寎尌尰崷嵃嵫嵁嵋崿崵嵑嵎嵕崳崺嵒崽崱嵙嵂崹嵉崸崼崲崶嵀嵅幄幁彘徦徥徫惉悹惌惢惎惄愔�".split("");for(a=0;a!=t[216].length;++a)if(t[216][a].charCodeAt(0)!==65533){r[t[216][a]]=55296+a;e[55296+a]=t[216][a]}t[217]="����������������������������������������������������������������惲愊愖愅惵愓惸惼惾惁愃愘愝愐惿愄愋扊掔掱掰揎揥揨揯揃撝揳揊揠揶揕揲揵摡揟掾揝揜揄揘揓揂揇揌揋揈揰揗揙攲敧敪敤敜敨敥斌斝斞斮旐旒����������������������������������晼晬晻暀晱晹晪晲朁椌棓椄棜椪棬棪棱椏棖棷棫棤棶椓椐棳棡椇棌椈楰梴椑棯棆椔棸棐棽棼棨椋椊椗棎棈棝棞棦棴棑椆棔棩椕椥棇欹欻欿欼殔殗殙殕殽毰毲毳氰淼湆湇渟湉溈渼渽湅湢渫渿湁湝湳渜渳湋湀湑渻渃渮湞�".split("");for(a=0;a!=t[217].length;++a)if(t[217][a].charCodeAt(0)!==65533){r[t[217][a]]=55552+a;e[55552+a]=t[217][a]}t[218]="����������������������������������������������������������������湨湜湡渱渨湠湱湫渹渢渰湓湥渧湸湤湷湕湹湒湦渵渶湚焠焞焯烻焮焱焣焥焢焲焟焨焺焛牋牚犈犉犆犅犋猒猋猰猢猱猳猧猲猭猦猣猵猌琮琬琰琫琖����������������������������������琚琡琭琱琤琣琝琩琠琲瓻甯畯畬痧痚痡痦痝痟痤痗皕皒盚睆睇睄睍睅睊睎睋睌矞矬硠硤硥硜硭硱硪确硰硩硨硞硢祴祳祲祰稂稊稃稌稄窙竦竤筊笻筄筈筌筎筀筘筅粢粞粨粡絘絯絣絓絖絧絪絏絭絜絫絒絔絩絑絟絎缾缿罥�".split("");for(a=0;a!=t[218].length;++a)if(t[218][a].charCodeAt(0)!==65533){r[t[218][a]]=55808+a;e[55808+a]=t[218][a]}t[219]="����������������������������������������������������������������罦羢羠羡翗聑聏聐胾胔腃腊腒腏腇脽腍脺臦臮臷臸臹舄舼舽舿艵茻菏菹萣菀菨萒菧菤菼菶萐菆菈菫菣莿萁菝菥菘菿菡菋菎菖菵菉萉萏菞萑萆菂菳����������������������������������菕菺菇菑菪萓菃菬菮菄菻菗菢萛菛菾蛘蛢蛦蛓蛣蛚蛪蛝蛫蛜蛬蛩蛗蛨蛑衈衖衕袺裗袹袸裀袾袶袼袷袽袲褁裉覕覘覗觝觚觛詎詍訹詙詀詗詘詄詅詒詈詑詊詌詏豟貁貀貺貾貰貹貵趄趀趉跘跓跍跇跖跜跏跕跙跈跗跅軯軷軺�".split("");for(a=0;a!=t[219].length;++a)if(t[219][a].charCodeAt(0)!==65533){r[t[219][a]]=56064+a;e[56064+a]=t[219][a]}t[220]="����������������������������������������������������������������軹軦軮軥軵軧軨軶軫軱軬軴軩逭逴逯鄆鄬鄄郿郼鄈郹郻鄁鄀鄇鄅鄃酡酤酟酢酠鈁鈊鈥鈃鈚鈦鈏鈌鈀鈒釿釽鈆鈄鈧鈂鈜鈤鈙鈗鈅鈖镻閍閌閐隇陾隈����������������������������������隉隃隀雂雈雃雱雰靬靰靮頇颩飫鳦黹亃亄亶傽傿僆傮僄僊傴僈僂傰僁傺傱僋僉傶傸凗剺剸剻剼嗃嗛嗌嗐嗋嗊嗝嗀嗔嗄嗩喿嗒喍嗏嗕嗢嗖嗈嗲嗍嗙嗂圔塓塨塤塏塍塉塯塕塎塝塙塥塛堽塣塱壼嫇嫄嫋媺媸媱媵媰媿嫈媻嫆�".split("");for(a=0;a!=t[220].length;++a)if(t[220][a].charCodeAt(0)!==65533){r[t[220][a]]=56320+a;e[56320+a]=t[220][a]}t[221]="����������������������������������������������������������������媷嫀嫊媴媶嫍媹媐寖寘寙尟尳嵱嵣嵊嵥嵲嵬嵞嵨嵧嵢巰幏幎幊幍幋廅廌廆廋廇彀徯徭惷慉慊愫慅愶愲愮慆愯慏愩慀戠酨戣戥戤揅揱揫搐搒搉搠搤����������������������������������搳摃搟搕搘搹搷搢搣搌搦搰搨摁搵搯搊搚摀搥搧搋揧搛搮搡搎敯斒旓暆暌暕暐暋暊暙暔晸朠楦楟椸楎楢楱椿楅楪椹楂楗楙楺楈楉椵楬椳椽楥棰楸椴楩楀楯楄楶楘楁楴楌椻楋椷楜楏楑椲楒椯楻椼歆歅歃歂歈歁殛嗀毻毼�".split("");for(a=0;a!=t[221].length;++a)if(t[221][a].charCodeAt(0)!==65533){r[t[221][a]]=56576+a;e[56576+a]=t[221][a]}t[222]="����������������������������������������������������������������毹毷毸溛滖滈溏滀溟溓溔溠溱溹滆滒溽滁溞滉溷溰滍溦滏溲溾滃滜滘溙溒溎溍溤溡溿溳滐滊溗溮溣煇煔煒煣煠煁煝煢煲煸煪煡煂煘煃煋煰煟煐煓����������������������������������煄煍煚牏犍犌犑犐犎猼獂猻猺獀獊獉瑄瑊瑋瑒瑑瑗瑀瑏瑐瑎瑂瑆瑍瑔瓡瓿瓾瓽甝畹畷榃痯瘏瘃痷痾痼痹痸瘐痻痶痭痵痽皙皵盝睕睟睠睒睖睚睩睧睔睙睭矠碇碚碔碏碄碕碅碆碡碃硹碙碀碖硻祼禂祽祹稑稘稙稒稗稕稢稓�".split("");for(a=0;a!=t[222].length;++a)if(t[222][a].charCodeAt(0)!==65533){r[t[222][a]]=56832+a;e[56832+a]=t[222][a]}t[223]="����������������������������������������������������������������稛稐窣窢窞竫筦筤筭筴筩筲筥筳筱筰筡筸筶筣粲粴粯綈綆綀綍絿綅絺綎絻綃絼綌綔綄絽綒罭罫罧罨罬羦羥羧翛翜耡腤腠腷腜腩腛腢腲朡腞腶腧腯����������������������������������腄腡舝艉艄艀艂艅蓱萿葖葶葹蒏蒍葥葑葀蒆葧萰葍葽葚葙葴葳葝蔇葞萷萺萴葺葃葸萲葅萩菙葋萯葂萭葟葰萹葎葌葒葯蓅蒎萻葇萶萳葨葾葄萫葠葔葮葐蜋蜄蛷蜌蛺蛖蛵蝍蛸蜎蜉蜁蛶蜍蜅裖裋裍裎裞裛裚裌裐覅覛觟觥觤�".split("");for(a=0;a!=t[223].length;++a)if(t[223][a].charCodeAt(0)!==65533){r[t[223][a]]=57088+a;e[57088+a]=t[223][a]}t[224]="����������������������������������������������������������������觡觠觢觜触詶誆詿詡訿詷誂誄詵誃誁詴詺谼豋豊豥豤豦貆貄貅賌赨赩趑趌趎趏趍趓趔趐趒跰跠跬跱跮跐跩跣跢跧跲跫跴輆軿輁輀輅輇輈輂輋遒逿����������������������������������遄遉逽鄐鄍鄏鄑鄖鄔鄋鄎酮酯鉈鉒鈰鈺鉦鈳鉥鉞銃鈮鉊鉆鉭鉬鉏鉠鉧鉯鈶鉡鉰鈱鉔鉣鉐鉲鉎鉓鉌鉖鈲閟閜閞閛隒隓隑隗雎雺雽雸雵靳靷靸靲頏頍頎颬飶飹馯馲馰馵骭骫魛鳪鳭鳧麀黽僦僔僗僨僳僛僪僝僤僓僬僰僯僣僠�".split("");for(a=0;a!=t[224].length;++a)if(t[224][a].charCodeAt(0)!==65533){r[t[224][a]]=57344+a;e[57344+a]=t[224][a]}t[225]="����������������������������������������������������������������凘劀劁勩勫匰厬嘧嘕嘌嘒嗼嘏嘜嘁嘓嘂嗺嘝嘄嗿嗹墉塼墐墘墆墁塿塴墋塺墇墑墎塶墂墈塻墔墏壾奫嫜嫮嫥嫕嫪嫚嫭嫫嫳嫢嫠嫛嫬嫞嫝嫙嫨嫟孷寠����������������������������������寣屣嶂嶀嵽嶆嵺嶁嵷嶊嶉嶈嵾嵼嶍嵹嵿幘幙幓廘廑廗廎廜廕廙廒廔彄彃彯徶愬愨慁慞慱慳慒慓慲慬憀慴慔慺慛慥愻慪慡慖戩戧戫搫摍摛摝摴摶摲摳摽摵摦撦摎撂摞摜摋摓摠摐摿搿摬摫摙摥摷敳斠暡暠暟朅朄朢榱榶槉�".split("");for(a=0;a!=t[225].length;++a)if(t[225][a].charCodeAt(0)!==65533){r[t[225][a]]=57600+a;e[57600+a]=t[225][a]}t[226]="����������������������������������������������������������������榠槎榖榰榬榼榑榙榎榧榍榩榾榯榿槄榽榤槔榹槊榚槏榳榓榪榡榞槙榗榐槂榵榥槆歊歍歋殞殟殠毃毄毾滎滵滱漃漥滸漷滻漮漉潎漙漚漧漘漻漒滭漊����������������������������������漶潳滹滮漭潀漰漼漵滫漇漎潃漅滽滶漹漜滼漺漟漍漞漈漡熇熐熉熀熅熂熏煻熆熁熗牄牓犗犕犓獃獍獑獌瑢瑳瑱瑵瑲瑧瑮甀甂甃畽疐瘖瘈瘌瘕瘑瘊瘔皸瞁睼瞅瞂睮瞀睯睾瞃碲碪碴碭碨硾碫碞碥碠碬碢碤禘禊禋禖禕禔禓�".split("");for(a=0;a!=t[226].length;++a)if(t[226][a].charCodeAt(0)!==65533){r[t[226][a]]=57856+a;e[57856+a]=t[226][a]}t[227]="����������������������������������������������������������������禗禈禒禐稫穊稰稯稨稦窨窫窬竮箈箜箊箑箐箖箍箌箛箎箅箘劄箙箤箂粻粿粼粺綧綷緂綣綪緁緀緅綝緎緄緆緋緌綯綹綖綼綟綦綮綩綡緉罳翢翣翥翞����������������������������������耤聝聜膉膆膃膇膍膌膋舕蒗蒤蒡蒟蒺蓎蓂蒬蒮蒫蒹蒴蓁蓍蒪蒚蒱蓐蒝蒧蒻蒢蒔蓇蓌蒛蒩蒯蒨蓖蒘蒶蓏蒠蓗蓔蓒蓛蒰蒑虡蜳蜣蜨蝫蝀蜮蜞蜡蜙蜛蝃蜬蝁蜾蝆蜠蜲蜪蜭蜼蜒蜺蜱蜵蝂蜦蜧蜸蜤蜚蜰蜑裷裧裱裲裺裾裮裼裶裻�".split("");for(a=0;a!=t[227].length;++a)if(t[227][a].charCodeAt(0)!==65533){r[t[227][a]]=58112+a;e[58112+a]=t[227][a]}t[228]="����������������������������������������������������������������裰裬裫覝覡覟覞觩觫觨誫誙誋誒誏誖谽豨豩賕賏賗趖踉踂跿踍跽踊踃踇踆踅跾踀踄輐輑輎輍鄣鄜鄠鄢鄟鄝鄚鄤鄡鄛酺酲酹酳銥銤鉶銛鉺銠銔銪銍����������������������������������銦銚銫鉹銗鉿銣鋮銎銂銕銢鉽銈銡銊銆銌銙銧鉾銇銩銝銋鈭隞隡雿靘靽靺靾鞃鞀鞂靻鞄鞁靿韎韍頖颭颮餂餀餇馝馜駃馹馻馺駂馽駇骱髣髧鬾鬿魠魡魟鳱鳲鳵麧僿儃儰僸儆儇僶僾儋儌僽儊劋劌勱勯噈噂噌嘵噁噊噉噆噘�".split("");for(a=0;a!=t[228].length;++a)if(t[228][a].charCodeAt(0)!==65533){r[t[228][a]]=58368+a;e[58368+a]=t[228][a]}t[229]="����������������������������������������������������������������噚噀嘳嘽嘬嘾嘸嘪嘺圚墫墝墱墠墣墯墬墥墡壿嫿嫴嫽嫷嫶嬃嫸嬂嫹嬁嬇嬅嬏屧嶙嶗嶟嶒嶢嶓嶕嶠嶜嶡嶚嶞幩幝幠幜緳廛廞廡彉徲憋憃慹憱憰憢憉����������������������������������憛憓憯憭憟憒憪憡憍慦憳戭摮摰撖撠撅撗撜撏撋撊撌撣撟摨撱撘敶敺敹敻斲斳暵暰暩暲暷暪暯樀樆樗槥槸樕槱槤樠槿槬槢樛樝槾樧槲槮樔槷槧橀樈槦槻樍槼槫樉樄樘樥樏槶樦樇槴樖歑殥殣殢殦氁氀毿氂潁漦潾澇濆澒�".split("");for(a=0;a!=t[229].length;++a)if(t[229][a].charCodeAt(0)!==65533){r[t[229][a]]=58624+a;e[58624+a]=t[229][a]}t[230]="����������������������������������������������������������������澍澉澌潢潏澅潚澖潶潬澂潕潲潒潐潗澔澓潝漀潡潫潽潧澐潓澋潩潿澕潣潷潪潻熲熯熛熰熠熚熩熵熝熥熞熤熡熪熜熧熳犘犚獘獒獞獟獠獝獛獡獚獙����������������������������������獢璇璉璊璆璁瑽璅璈瑼瑹甈甇畾瘥瘞瘙瘝瘜瘣瘚瘨瘛皜皝皞皛瞍瞏瞉瞈磍碻磏磌磑磎磔磈磃磄磉禚禡禠禜禢禛歶稹窲窴窳箷篋箾箬篎箯箹篊箵糅糈糌糋緷緛緪緧緗緡縃緺緦緶緱緰緮緟罶羬羰羭翭翫翪翬翦翨聤聧膣膟�".split("");for(a=0;a!=t[230].length;++a)if(t[230][a].charCodeAt(0)!==65533){r[t[230][a]]=58880+a;e[58880+a]=t[230][a]}t[231]="����������������������������������������������������������������膞膕膢膙膗舖艏艓艒艐艎艑蔤蔻蔏蔀蔩蔎蔉蔍蔟蔊蔧蔜蓻蔫蓺蔈蔌蓴蔪蓲蔕蓷蓫蓳蓼蔒蓪蓩蔖蓾蔨蔝蔮蔂蓽蔞蓶蔱蔦蓧蓨蓰蓯蓹蔘蔠蔰蔋蔙蔯虢����������������������������������蝖蝣蝤蝷蟡蝳蝘蝔蝛蝒蝡蝚蝑蝞蝭蝪蝐蝎蝟蝝蝯蝬蝺蝮蝜蝥蝏蝻蝵蝢蝧蝩衚褅褌褔褋褗褘褙褆褖褑褎褉覢覤覣觭觰觬諏諆誸諓諑諔諕誻諗誾諀諅諘諃誺誽諙谾豍貏賥賟賙賨賚賝賧趠趜趡趛踠踣踥踤踮踕踛踖踑踙踦踧�".split("");for(a=0;a!=t[231].length;++a)if(t[231][a].charCodeAt(0)!==65533){r[t[231][a]]=59136+a;e[59136+a]=t[231][a]}t[232]="����������������������������������������������������������������踔踒踘踓踜踗踚輬輤輘輚輠輣輖輗遳遰遯遧遫鄯鄫鄩鄪鄲鄦鄮醅醆醊醁醂醄醀鋐鋃鋄鋀鋙銶鋏鋱鋟鋘鋩鋗鋝鋌鋯鋂鋨鋊鋈鋎鋦鋍鋕鋉鋠鋞鋧鋑鋓����������������������������������銵鋡鋆銴镼閬閫閮閰隤隢雓霅霈霂靚鞊鞎鞈韐韏頞頝頦頩頨頠頛頧颲餈飺餑餔餖餗餕駜駍駏駓駔駎駉駖駘駋駗駌骳髬髫髳髲髱魆魃魧魴魱魦魶魵魰魨魤魬鳼鳺鳽鳿鳷鴇鴀鳹鳻鴈鴅鴄麃黓鼏鼐儜儓儗儚儑凞匴叡噰噠噮�".split("");for(a=0;a!=t[232].length;++a)if(t[232][a].charCodeAt(0)!==65533){r[t[232][a]]=59392+a;e[59392+a]=t[232][a]}t[233]="����������������������������������������������������������������噳噦噣噭噲噞噷圜圛壈墽壉墿墺壂墼壆嬗嬙嬛嬡嬔嬓嬐嬖嬨嬚嬠嬞寯嶬嶱嶩嶧嶵嶰嶮嶪嶨嶲嶭嶯嶴幧幨幦幯廩廧廦廨廥彋徼憝憨憖懅憴懆懁懌憺����������������������������������憿憸憌擗擖擐擏擉撽撉擃擛擳擙攳敿敼斢曈暾曀曊曋曏暽暻暺曌朣樴橦橉橧樲橨樾橝橭橶橛橑樨橚樻樿橁橪橤橐橏橔橯橩橠樼橞橖橕橍橎橆歕歔歖殧殪殫毈毇氄氃氆澭濋澣濇澼濎濈潞濄澽澞濊澨瀄澥澮澺澬澪濏澿澸�".split("");for(a=0;a!=t[233].length;++a)if(t[233][a].charCodeAt(0)!==65533){r[t[233][a]]=59648+a;e[59648+a]=t[233][a]}t[234]="����������������������������������������������������������������澢濉澫濍澯澲澰燅燂熿熸燖燀燁燋燔燊燇燏熽燘熼燆燚燛犝犞獩獦獧獬獥獫獪瑿璚璠璔璒璕璡甋疀瘯瘭瘱瘽瘳瘼瘵瘲瘰皻盦瞚瞝瞡瞜瞛瞢瞣瞕瞙����������������������������������瞗磝磩磥磪磞磣磛磡磢磭磟磠禤穄穈穇窶窸窵窱窷篞篣篧篝篕篥篚篨篹篔篪篢篜篫篘篟糒糔糗糐糑縒縡縗縌縟縠縓縎縜縕縚縢縋縏縖縍縔縥縤罃罻罼罺羱翯耪耩聬膱膦膮膹膵膫膰膬膴膲膷膧臲艕艖艗蕖蕅蕫蕍蕓蕡蕘�".split("");for(a=0;a!=t[234].length;++a)if(t[234][a].charCodeAt(0)!==65533){r[t[234][a]]=59904+a;e[59904+a]=t[234][a]}t[235]="����������������������������������������������������������������蕀蕆蕤蕁蕢蕄蕑蕇蕣蔾蕛蕱蕎蕮蕵蕕蕧蕠薌蕦蕝蕔蕥蕬虣虥虤螛螏螗螓螒螈螁螖螘蝹螇螣螅螐螑螝螄螔螜螚螉褞褦褰褭褮褧褱褢褩褣褯褬褟觱諠����������������������������������諢諲諴諵諝謔諤諟諰諈諞諡諨諿諯諻貑貒貐賵賮賱賰賳赬赮趥趧踳踾踸蹀蹅踶踼踽蹁踰踿躽輶輮輵輲輹輷輴遶遹遻邆郺鄳鄵鄶醓醐醑醍醏錧錞錈錟錆錏鍺錸錼錛錣錒錁鍆錭錎錍鋋錝鋺錥錓鋹鋷錴錂錤鋿錩錹錵錪錔錌�".split("");for(a=0;a!=t[235].length;++a)if(t[235][a].charCodeAt(0)!==65533){r[t[235][a]]=60160+a;e[60160+a]=t[235][a]}t[236]="����������������������������������������������������������������錋鋾錉錀鋻錖閼闍閾閹閺閶閿閵閽隩雔霋霒霐鞙鞗鞔韰韸頵頯頲餤餟餧餩馞駮駬駥駤駰駣駪駩駧骹骿骴骻髶髺髹髷鬳鮀鮅鮇魼魾魻鮂鮓鮒鮐魺鮕����������������������������������魽鮈鴥鴗鴠鴞鴔鴩鴝鴘鴢鴐鴙鴟麈麆麇麮麭黕黖黺鼒鼽儦儥儢儤儠儩勴嚓嚌嚍嚆嚄嚃噾嚂噿嚁壖壔壏壒嬭嬥嬲嬣嬬嬧嬦嬯嬮孻寱寲嶷幬幪徾徻懃憵憼懧懠懥懤懨懞擯擩擣擫擤擨斁斀斶旚曒檍檖檁檥檉檟檛檡檞檇檓檎�".split("");for(a=0;a!=t[236].length;++a)if(t[236][a].charCodeAt(0)!==65533){r[t[236][a]]=60416+a;e[60416+a]=t[236][a]}t[237]="����������������������������������������������������������������檕檃檨檤檑橿檦檚檅檌檒歛殭氉濌澩濴濔濣濜濭濧濦濞濲濝濢濨燡燱燨燲燤燰燢獳獮獯璗璲璫璐璪璭璱璥璯甐甑甒甏疄癃癈癉癇皤盩瞵瞫瞲瞷瞶����������������������������������瞴瞱瞨矰磳磽礂磻磼磲礅磹磾礄禫禨穜穛穖穘穔穚窾竀竁簅簏篲簀篿篻簎篴簋篳簂簉簃簁篸篽簆篰篱簐簊糨縭縼繂縳顈縸縪繉繀繇縩繌縰縻縶繄縺罅罿罾罽翴翲耬膻臄臌臊臅臇膼臩艛艚艜薃薀薏薧薕薠薋薣蕻薤薚薞�".split("");for(a=0;a!=t[237].length;++a)if(t[237][a].charCodeAt(0)!==65533){r[t[237][a]]=60672+a;e[60672+a]=t[237][a]}t[238]="����������������������������������������������������������������蕷蕼薉薡蕺蕸蕗薎薖薆薍薙薝薁薢薂薈薅蕹蕶薘薐薟虨螾螪螭蟅螰螬螹螵螼螮蟉蟃蟂蟌螷螯蟄蟊螴螶螿螸螽蟞螲褵褳褼褾襁襒褷襂覭覯覮觲觳謞����������������������������������謘謖謑謅謋謢謏謒謕謇謍謈謆謜謓謚豏豰豲豱豯貕貔賹赯蹎蹍蹓蹐蹌蹇轃轀邅遾鄸醚醢醛醙醟醡醝醠鎡鎃鎯鍤鍖鍇鍼鍘鍜鍶鍉鍐鍑鍠鍭鎏鍌鍪鍹鍗鍕鍒鍏鍱鍷鍻鍡鍞鍣鍧鎀鍎鍙闇闀闉闃闅閷隮隰隬霠霟霘霝霙鞚鞡鞜�".split("");for(a=0;a!=t[238].length;++a)if(t[238][a].charCodeAt(0)!==65533){r[t[238][a]]=60928+a;e[60928+a]=t[238][a]}t[239]="����������������������������������������������������������������鞞鞝韕韔韱顁顄顊顉顅顃餥餫餬餪餳餲餯餭餱餰馘馣馡騂駺駴駷駹駸駶駻駽駾駼騃骾髾髽鬁髼魈鮚鮨鮞鮛鮦鮡鮥鮤鮆鮢鮠鮯鴳鵁鵧鴶鴮鴯鴱鴸鴰����������������������������������鵅鵂鵃鴾鴷鵀鴽翵鴭麊麉麍麰黈黚黻黿鼤鼣鼢齔龠儱儭儮嚘嚜嚗嚚嚝嚙奰嬼屩屪巀幭幮懘懟懭懮懱懪懰懫懖懩擿攄擽擸攁攃擼斔旛曚曛曘櫅檹檽櫡櫆檺檶檷櫇檴檭歞毉氋瀇瀌瀍瀁瀅瀔瀎濿瀀濻瀦濼濷瀊爁燿燹爃燽獶�".split("");for(a=0;a!=t[239].length;++a)if(t[239][a].charCodeAt(0)!==65533){r[t[239][a]]=61184+a;e[61184+a]=t[239][a]}t[240]="����������������������������������������������������������������璸瓀璵瓁璾璶璻瓂甔甓癜癤癙癐癓癗癚皦皽盬矂瞺磿礌礓礔礉礐礒礑禭禬穟簜簩簙簠簟簭簝簦簨簢簥簰繜繐繖繣繘繢繟繑繠繗繓羵羳翷翸聵臑臒����������������������������������臐艟艞薴藆藀藃藂薳薵薽藇藄薿藋藎藈藅薱薶藒蘤薸薷薾虩蟧蟦蟢蟛蟫蟪蟥蟟蟳蟤蟔蟜蟓蟭蟘蟣螤蟗蟙蠁蟴蟨蟝襓襋襏襌襆襐襑襉謪謧謣謳謰謵譇謯謼謾謱謥謷謦謶謮謤謻謽謺豂豵貙貘貗賾贄贂贀蹜蹢蹠蹗蹖蹞蹥蹧�".split("");for(a=0;a!=t[240].length;++a)if(t[240][a].charCodeAt(0)!==65533){r[t[240][a]]=61440+a;e[61440+a]=t[240][a]}t[241]="����������������������������������������������������������������蹛蹚蹡蹝蹩蹔轆轇轈轋鄨鄺鄻鄾醨醥醧醯醪鎵鎌鎒鎷鎛鎝鎉鎧鎎鎪鎞鎦鎕鎈鎙鎟鎍鎱鎑鎲鎤鎨鎴鎣鎥闒闓闑隳雗雚巂雟雘雝霣霢霥鞬鞮鞨鞫鞤鞪����������������������������������鞢鞥韗韙韖韘韺顐顑顒颸饁餼餺騏騋騉騍騄騑騊騅騇騆髀髜鬈鬄鬅鬩鬵魊魌魋鯇鯆鯃鮿鯁鮵鮸鯓鮶鯄鮹鮽鵜鵓鵏鵊鵛鵋鵙鵖鵌鵗鵒鵔鵟鵘鵚麎麌黟鼁鼀鼖鼥鼫鼪鼩鼨齌齕儴儵劖勷厴嚫嚭嚦嚧嚪嚬壚壝壛夒嬽嬾嬿巃幰�".split("");for(a=0;a!=t[241].length;++a)if(t[241][a].charCodeAt(0)!==65533){r[t[241][a]]=61696+a;e[61696+a]=t[241][a]}t[242]="����������������������������������������������������������������徿懻攇攐攍攉攌攎斄旞旝曞櫧櫠櫌櫑櫙櫋櫟櫜櫐櫫櫏櫍櫞歠殰氌瀙瀧瀠瀖瀫瀡瀢瀣瀩瀗瀤瀜瀪爌爊爇爂爅犥犦犤犣犡瓋瓅璷瓃甖癠矉矊矄矱礝礛����������������������������������礡礜礗礞禰穧穨簳簼簹簬簻糬糪繶繵繸繰繷繯繺繲繴繨罋罊羃羆羷翽翾聸臗臕艤艡艣藫藱藭藙藡藨藚藗藬藲藸藘藟藣藜藑藰藦藯藞藢蠀蟺蠃蟶蟷蠉蠌蠋蠆蟼蠈蟿蠊蠂襢襚襛襗襡襜襘襝襙覈覷覶觶譐譈譊譀譓譖譔譋譕�".split("");for(a=0;a!=t[242].length;++a)if(t[242][a].charCodeAt(0)!==65533){r[t[242][a]]=61952+a;e[61952+a]=t[242][a]}t[243]="����������������������������������������������������������������譑譂譒譗豃豷豶貚贆贇贉趬趪趭趫蹭蹸蹳蹪蹯蹻軂轒轑轏轐轓辴酀鄿醰醭鏞鏇鏏鏂鏚鏐鏹鏬鏌鏙鎩鏦鏊鏔鏮鏣鏕鏄鏎鏀鏒鏧镽闚闛雡霩霫霬霨霦����������������������������������鞳鞷鞶韝韞韟顜顙顝顗颿颽颻颾饈饇饃馦馧騚騕騥騝騤騛騢騠騧騣騞騜騔髂鬋鬊鬎鬌鬷鯪鯫鯠鯞鯤鯦鯢鯰鯔鯗鯬鯜鯙鯥鯕鯡鯚鵷鶁鶊鶄鶈鵱鶀鵸鶆鶋鶌鵽鵫鵴鵵鵰鵩鶅鵳鵻鶂鵯鵹鵿鶇鵨麔麑黀黼鼭齀齁齍齖齗齘匷嚲�".split("");for(a=0;a!=t[243].length;++a)if(t[243][a].charCodeAt(0)!==65533){r[t[243][a]]=62208+a;e[62208+a]=t[243][a]}t[244]="����������������������������������������������������������������嚵嚳壣孅巆巇廮廯忀忁懹攗攖攕攓旟曨曣曤櫳櫰櫪櫨櫹櫱櫮櫯瀼瀵瀯瀷瀴瀱灂瀸瀿瀺瀹灀瀻瀳灁爓爔犨獽獼璺皫皪皾盭矌矎矏矍矲礥礣礧礨礤礩����������������������������������禲穮穬穭竷籉籈籊籇籅糮繻繾纁纀羺翿聹臛臙舋艨艩蘢藿蘁藾蘛蘀藶蘄蘉蘅蘌藽蠙蠐蠑蠗蠓蠖襣襦覹觷譠譪譝譨譣譥譧譭趮躆躈躄轙轖轗轕轘轚邍酃酁醷醵醲醳鐋鐓鏻鐠鐏鐔鏾鐕鐐鐨鐙鐍鏵鐀鏷鐇鐎鐖鐒鏺鐉鏸鐊鏿�".split("");for(a=0;a!=t[244].length;++a)if(t[244][a].charCodeAt(0)!==65533){r[t[244][a]]=62464+a;e[62464+a]=t[244][a]}t[245]="����������������������������������������������������������������鏼鐌鏶鐑鐆闞闠闟霮霯鞹鞻韽韾顠顢顣顟飁飂饐饎饙饌饋饓騲騴騱騬騪騶騩騮騸騭髇髊髆鬐鬒鬑鰋鰈鯷鰅鰒鯸鱀鰇鰎鰆鰗鰔鰉鶟鶙鶤鶝鶒鶘鶐鶛����������������������������������鶠鶔鶜鶪鶗鶡鶚鶢鶨鶞鶣鶿鶩鶖鶦鶧麙麛麚黥黤黧黦鼰鼮齛齠齞齝齙龑儺儹劘劗囃嚽嚾孈孇巋巏廱懽攛欂櫼欃櫸欀灃灄灊灈灉灅灆爝爚爙獾甗癪矐礭礱礯籔籓糲纊纇纈纋纆纍罍羻耰臝蘘蘪蘦蘟蘣蘜蘙蘧蘮蘡蘠蘩蘞蘥�".split("");for(a=0;a!=t[245].length;++a)if(t[245][a].charCodeAt(0)!==65533){r[t[245][a]]=62720+a;e[62720+a]=t[245][a]}t[246]="����������������������������������������������������������������蠩蠝蠛蠠蠤蠜蠫衊襭襩襮襫觺譹譸譅譺譻贐贔趯躎躌轞轛轝酆酄酅醹鐿鐻鐶鐩鐽鐼鐰鐹鐪鐷鐬鑀鐱闥闤闣霵霺鞿韡顤飉飆飀饘饖騹騽驆驄驂驁騺����������������������������������騿髍鬕鬗鬘鬖鬺魒鰫鰝鰜鰬鰣鰨鰩鰤鰡鶷鶶鶼鷁鷇鷊鷏鶾鷅鷃鶻鶵鷎鶹鶺鶬鷈鶱鶭鷌鶳鷍鶲鹺麜黫黮黭鼛鼘鼚鼱齎齥齤龒亹囆囅囋奱孋孌巕巑廲攡攠攦攢欋欈欉氍灕灖灗灒爞爟犩獿瓘瓕瓙瓗癭皭礵禴穰穱籗籜籙籛籚�".split("");for(a=0;a!=t[246].length;++a)if(t[246][a].charCodeAt(0)!==65533){r[t[246][a]]=62976+a;e[62976+a]=t[246][a]}t[247]="����������������������������������������������������������������糴糱纑罏羇臞艫蘴蘵蘳蘬蘲蘶蠬蠨蠦蠪蠥襱覿覾觻譾讄讂讆讅譿贕躕躔躚躒躐躖躗轠轢酇鑌鑐鑊鑋鑏鑇鑅鑈鑉鑆霿韣顪顩飋饔饛驎驓驔驌驏驈驊����������������������������������驉驒驐髐鬙鬫鬻魖魕鱆鱈鰿鱄鰹鰳鱁鰼鰷鰴鰲鰽鰶鷛鷒鷞鷚鷋鷐鷜鷑鷟鷩鷙鷘鷖鷵鷕鷝麶黰鼵鼳鼲齂齫龕龢儽劙壨壧奲孍巘蠯彏戁戃戄攩攥斖曫欑欒欏毊灛灚爢玂玁玃癰矔籧籦纕艬蘺虀蘹蘼蘱蘻蘾蠰蠲蠮蠳襶襴襳觾�".split("");for(a=0;a!=t[247].length;++a)if(t[247][a].charCodeAt(0)!==65533){r[t[247][a]]=63232+a;e[63232+a]=t[247][a]}t[248]="����������������������������������������������������������������讌讎讋讈豅贙躘轤轣醼鑢鑕鑝鑗鑞韄韅頀驖驙鬞鬟鬠鱒鱘鱐鱊鱍鱋鱕鱙鱌鱎鷻鷷鷯鷣鷫鷸鷤鷶鷡鷮鷦鷲鷰鷢鷬鷴鷳鷨鷭黂黐黲黳鼆鼜鼸鼷鼶齃齏����������������������������������齱齰齮齯囓囍孎屭攭曭曮欓灟灡灝灠爣瓛瓥矕礸禷禶籪纗羉艭虃蠸蠷蠵衋讔讕躞躟躠躝醾醽釂鑫鑨鑩雥靆靃靇韇韥驞髕魙鱣鱧鱦鱢鱞鱠鸂鷾鸇鸃鸆鸅鸀鸁鸉鷿鷽鸄麠鼞齆齴齵齶囔攮斸欘欙欗欚灢爦犪矘矙礹籩籫糶纚�".split("");for(a=0;a!=t[248].length;++a)if(t[248][a].charCodeAt(0)!==65533){r[t[248][a]]=63488+a;e[63488+a]=t[248][a]}t[249]="����������������������������������������������������������������纘纛纙臠臡虆虇虈襹襺襼襻觿讘讙躥躤躣鑮鑭鑯鑱鑳靉顲饟鱨鱮鱭鸋鸍鸐鸏鸒鸑麡黵鼉齇齸齻齺齹圞灦籯蠼趲躦釃鑴鑸鑶鑵驠鱴鱳鱱鱵鸔鸓黶鼊����������������������������������龤灨灥糷虪蠾蠽蠿讞貜躩軉靋顳顴飌饡馫驤驦驧鬤鸕鸗齈戇欞爧虌躨钂钀钁驩驨鬮鸙爩虋讟钃鱹麷癵驫鱺鸝灩灪麤齾齉龘碁銹裏墻恒粧嫺╔╦╗╠╬╣╚╩╝╒╤╕╞╪╡╘╧╛╓╥╖╟╫╢╙╨╜║═╭╮╰╯▓�".split("");for(a=0;a!=t[249].length;++a)if(t[249][a].charCodeAt(0)!==65533){r[t[249][a]]=63744+a;e[63744+a]=t[249][a]}return{enc:r,dec:e}}();cptable[1250]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬­®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1251]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—�™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬­®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1252]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1253]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›���� ΅Ά£¤¥¦§¨©�«¬­®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1254]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“”•–—˜™š›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖרÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1255]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰�‹�����‘’“”•–—˜™�›���� ¡¢£₪¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹ�ֻּֽ־ֿ׀ׁׂ׃װױײ׳״�������אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1256]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œ‌‍ں ،¢£¤¥¦§¨©ھ«¬­®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûü‎‏ے",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1257]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“”•–—�™�›�¯˛� �¢£¤�¦§Ø©Ŗ«¬­®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1258]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“”•–—˜™�›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖרÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1e4]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[10006]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦­ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ�",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[10007]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°¢£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµ∂ЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[10008]=function(){var e=[],r={},t=[],a;t[0]="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€���������������������������������������������������������������������������������������".split("");for(a=0;a!=t[0].length;++a)if(t[0][a].charCodeAt(0)!==65533){r[t[0][a]]=0+a;e[0+a]=t[0][a]}t[161]="����������������������������������������������������������������������������������������������������������������������������������������������������������������� 、。・ˉˇ¨〃々―~�…‘’“”〔〕〈〉《》「」『』〖〗【】±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵∴♂♀°′″℃$¤¢£‰§№☆★○●◎◇◆□■△▲※→←↑↓〓�".split("");for(a=0;a!=t[161].length;++a)if(t[161][a].charCodeAt(0)!==65533){r[t[161][a]]=41216+a;e[41216+a]=t[161][a]}t[162]="���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇①②③④⑤⑥⑦⑧⑨⑩��㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩��ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ���".split("");for(a=0;a!=t[162].length;++a)if(t[162][a].charCodeAt(0)!==65533){r[t[162][a]]=41472+a;e[41472+a]=t[162][a]}t[163]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������!"#¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|} ̄�".split("");for(a=0;a!=t[163].length;++a)if(t[163][a].charCodeAt(0)!==65533){r[t[163][a]]=41728+a;e[41728+a]=t[163][a]}t[164]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������".split("");for(a=0;a!=t[164].length;++a)if(t[164][a].charCodeAt(0)!==65533){r[t[164][a]]=41984+a;e[41984+a]=t[164][a]}t[165]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������".split("");for(a=0;a!=t[165].length;++a)if(t[165][a].charCodeAt(0)!==65533){r[t[165][a]]=42240+a;e[42240+a]=t[165][a]}t[166]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω���������������������������������������".split("");for(a=0;a!=t[166].length;++a)if(t[166][a].charCodeAt(0)!==65533){ +r[t[166][a]]=42496+a;e[42496+a]=t[166][a]}t[167]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������".split("");for(a=0;a!=t[167].length;++a)if(t[167][a].charCodeAt(0)!==65533){r[t[167][a]]=42752+a;e[42752+a]=t[167][a]}t[168]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüê����������ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ����������������������".split("");for(a=0;a!=t[168].length;++a)if(t[168][a].charCodeAt(0)!==65533){r[t[168][a]]=43008+a;e[43008+a]=t[168][a]}t[169]="��������������������������������������������������������������������������������������������������������������������������������������������������������������������─━│┃┄┅┆┇┈┉┊┋┌┍┎┏┐┑┒┓└┕┖┗┘┙┚┛├┝┞┟┠┡┢┣┤┥┦┧┨┩┪┫┬┭┮┯┰┱┲┳┴┵┶┷┸┹┺┻┼┽┾┿╀╁╂╃╄╅╆╇╈╉╊╋����������������".split("");for(a=0;a!=t[169].length;++a)if(t[169][a].charCodeAt(0)!==65533){r[t[169][a]]=43264+a;e[43264+a]=t[169][a]}t[176]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥�".split("");for(a=0;a!=t[176].length;++a)if(t[176][a].charCodeAt(0)!==65533){r[t[176][a]]=45056+a;e[45056+a]=t[176][a]}t[177]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳�".split("");for(a=0;a!=t[177].length;++a)if(t[177][a].charCodeAt(0)!==65533){r[t[177][a]]=45312+a;e[45312+a]=t[177][a]}t[178]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖�".split("");for(a=0;a!=t[178].length;++a)if(t[178][a].charCodeAt(0)!==65533){r[t[178][a]]=45568+a;e[45568+a]=t[178][a]}t[179]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚�".split("");for(a=0;a!=t[179].length;++a)if(t[179][a].charCodeAt(0)!==65533){r[t[179][a]]=45824+a;e[45824+a]=t[179][a]}t[180]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮�".split("");for(a=0;a!=t[180].length;++a)if(t[180][a].charCodeAt(0)!==65533){r[t[180][a]]=46080+a;e[46080+a]=t[180][a]}t[181]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠�".split("");for(a=0;a!=t[181].length;++a)if(t[181][a].charCodeAt(0)!==65533){r[t[181][a]]=46336+a;e[46336+a]=t[181][a]}t[182]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二�".split("");for(a=0;a!=t[182].length;++a)if(t[182][a].charCodeAt(0)!==65533){r[t[182][a]]=46592+a;e[46592+a]=t[182][a]}t[183]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服�".split("");for(a=0;a!=t[183].length;++a)if(t[183][a].charCodeAt(0)!==65533){r[t[183][a]]=46848+a;e[46848+a]=t[183][a]}t[184]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹�".split("");for(a=0;a!=t[184].length;++a)if(t[184][a].charCodeAt(0)!==65533){r[t[184][a]]=47104+a;e[47104+a]=t[184][a]}t[185]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈�".split("");for(a=0;a!=t[185].length;++a)if(t[185][a].charCodeAt(0)!==65533){r[t[185][a]]=47360+a;e[47360+a]=t[185][a]}t[186]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖�".split("");for(a=0;a!=t[186].length;++a)if(t[186][a].charCodeAt(0)!==65533){r[t[186][a]]=47616+a;e[47616+a]=t[186][a]}t[187]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕�".split("");for(a=0;a!=t[187].length;++a)if(t[187][a].charCodeAt(0)!==65533){r[t[187][a]]=47872+a;e[47872+a]=t[187][a]}t[188]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件�".split("");for(a=0;a!=t[188].length;++a)if(t[188][a].charCodeAt(0)!==65533){r[t[188][a]]=48128+a;e[48128+a]=t[188][a]}t[189]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸�".split("");for(a=0;a!=t[189].length;++a)if(t[189][a].charCodeAt(0)!==65533){r[t[189][a]]=48384+a;e[48384+a]=t[189][a]}t[190]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻�".split("");for(a=0;a!=t[190].length;++a)if(t[190][a].charCodeAt(0)!==65533){r[t[190][a]]=48640+a;e[48640+a]=t[190][a]}t[191]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀�".split("");for(a=0;a!=t[191].length;++a)if(t[191][a].charCodeAt(0)!==65533){r[t[191][a]]=48896+a;e[48896+a]=t[191][a]}t[192]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐�".split("");for(a=0;a!=t[192].length;++a)if(t[192][a].charCodeAt(0)!==65533){r[t[192][a]]=49152+a;e[49152+a]=t[192][a]}t[193]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿�".split("");for(a=0;a!=t[193].length;++a)if(t[193][a].charCodeAt(0)!==65533){r[t[193][a]]=49408+a;e[49408+a]=t[193][a]}t[194]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫�".split("");for(a=0;a!=t[194].length;++a)if(t[194][a].charCodeAt(0)!==65533){r[t[194][a]]=49664+a;e[49664+a]=t[194][a]}t[195]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸�".split("");for(a=0;a!=t[195].length;++a)if(t[195][a].charCodeAt(0)!==65533){r[t[195][a]]=49920+a;e[49920+a]=t[195][a]}t[196]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁�".split("");for(a=0;a!=t[196].length;++a)if(t[196][a].charCodeAt(0)!==65533){r[t[196][a]]=50176+a;e[50176+a]=t[196][a]}t[197]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗�".split("");for(a=0;a!=t[197].length;++a)if(t[197][a].charCodeAt(0)!==65533){r[t[197][a]]=50432+a;e[50432+a]=t[197][a]}t[198]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐�".split("");for(a=0;a!=t[198].length;++a)if(t[198][a].charCodeAt(0)!==65533){r[t[198][a]]=50688+a;e[50688+a]=t[198][a]}t[199]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠�".split("");for(a=0;a!=t[199].length;++a)if(t[199][a].charCodeAt(0)!==65533){r[t[199][a]]=50944+a;e[50944+a]=t[199][a]}t[200]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁�".split("");for(a=0;a!=t[200].length;++a)if(t[200][a].charCodeAt(0)!==65533){r[t[200][a]]=51200+a;e[51200+a]=t[200][a]}t[201]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳�".split("");for(a=0;a!=t[201].length;++a)if(t[201][a].charCodeAt(0)!==65533){r[t[201][a]]=51456+a;e[51456+a]=t[201][a]}t[202]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱�".split("");for(a=0;a!=t[202].length;++a)if(t[202][a].charCodeAt(0)!==65533){r[t[202][a]]=51712+a;e[51712+a]=t[202][a]}t[203]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔�".split("");for(a=0;a!=t[203].length;++a)if(t[203][a].charCodeAt(0)!==65533){r[t[203][a]]=51968+a;e[51968+a]=t[203][a]}t[204]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃�".split("");for(a=0;a!=t[204].length;++a)if(t[204][a].charCodeAt(0)!==65533){r[t[204][a]]=52224+a;e[52224+a]=t[204][a]}t[205]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威�".split("");for(a=0;a!=t[205].length;++a)if(t[205][a].charCodeAt(0)!==65533){r[t[205][a]]=52480+a;e[52480+a]=t[205][a]}t[206]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺�".split("");for(a=0;a!=t[206].length;++a)if(t[206][a].charCodeAt(0)!==65533){r[t[206][a]]=52736+a;e[52736+a]=t[206][a]}t[207]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓�".split("");for(a=0;a!=t[207].length;++a)if(t[207][a].charCodeAt(0)!==65533){r[t[207][a]]=52992+a;e[52992+a]=t[207][a]}t[208]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄�".split("");for(a=0;a!=t[208].length;++a)if(t[208][a].charCodeAt(0)!==65533){r[t[208][a]]=53248+a;e[53248+a]=t[208][a]}t[209]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶�".split("");for(a=0;a!=t[209].length;++a)if(t[209][a].charCodeAt(0)!==65533){r[t[209][a]]=53504+a;e[53504+a]=t[209][a]}t[210]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐�".split("");for(a=0;a!=t[210].length;++a)if(t[210][a].charCodeAt(0)!==65533){r[t[210][a]]=53760+a;e[53760+a]=t[210][a]}t[211]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉�".split("");for(a=0;a!=t[211].length;++a)if(t[211][a].charCodeAt(0)!==65533){r[t[211][a]]=54016+a;e[54016+a]=t[211][a]}t[212]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧�".split("");for(a=0;a!=t[212].length;++a)if(t[212][a].charCodeAt(0)!==65533){r[t[212][a]]=54272+a;e[54272+a]=t[212][a]}t[213]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政�".split("");for(a=0;a!=t[213].length;++a)if(t[213][a].charCodeAt(0)!==65533){r[t[213][a]]=54528+a;e[54528+a]=t[213][a]}t[214]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑�".split("");for(a=0;a!=t[214].length;++a)if(t[214][a].charCodeAt(0)!==65533){r[t[214][a]]=54784+a;e[54784+a]=t[214][a]}t[215]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座������".split("");for(a=0;a!=t[215].length;++a)if(t[215][a].charCodeAt(0)!==65533){r[t[215][a]]=55040+a;e[55040+a]=t[215][a]}t[216]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝�".split("");for(a=0;a!=t[216].length;++a)if(t[216][a].charCodeAt(0)!==65533){r[t[216][a]]=55296+a;e[55296+a]=t[216][a]}t[217]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼�".split("");for(a=0;a!=t[217].length;++a)if(t[217][a].charCodeAt(0)!==65533){r[t[217][a]]=55552+a;e[55552+a]=t[217][a]}t[218]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺�".split("");for(a=0;a!=t[218].length;++a)if(t[218][a].charCodeAt(0)!==65533){r[t[218][a]]=55808+a;e[55808+a]=t[218][a]}t[219]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝�".split("");for(a=0;a!=t[219].length;++a)if(t[219][a].charCodeAt(0)!==65533){r[t[219][a]]=56064+a;e[56064+a]=t[219][a]}t[220]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥�".split("");for(a=0;a!=t[220].length;++a)if(t[220][a].charCodeAt(0)!==65533){r[t[220][a]]=56320+a;e[56320+a]=t[220][a]}t[221]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺�".split("");for(a=0;a!=t[221].length;++a)if(t[221][a].charCodeAt(0)!==65533){r[t[221][a]]=56576+a;e[56576+a]=t[221][a]}t[222]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖�".split("");for(a=0;a!=t[222].length;++a)if(t[222][a].charCodeAt(0)!==65533){r[t[222][a]]=56832+a;e[56832+a]=t[222][a]}t[223]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼�".split("");for(a=0;a!=t[223].length;++a)if(t[223][a].charCodeAt(0)!==65533){r[t[223][a]]=57088+a;e[57088+a]=t[223][a]}t[224]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼�".split("");for(a=0;a!=t[224].length;++a)if(t[224][a].charCodeAt(0)!==65533){r[t[224][a]]=57344+a;e[57344+a]=t[224][a]}t[225]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺�".split("");for(a=0;a!=t[225].length;++a)if(t[225][a].charCodeAt(0)!==65533){r[t[225][a]]=57600+a;e[57600+a]=t[225][a]}t[226]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧饨饩饪饫饬饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂�".split("");for(a=0;a!=t[226].length;++a)if(t[226][a].charCodeAt(0)!==65533){r[t[226][a]]=57856+a;e[57856+a]=t[226][a]}t[227]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾�".split("");for(a=0;a!=t[227].length;++a)if(t[227][a].charCodeAt(0)!==65533){r[t[227][a]]=58112+a;e[58112+a]=t[227][a]}t[228]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑�".split("");for(a=0;a!=t[228].length;++a)if(t[228][a].charCodeAt(0)!==65533){r[t[228][a]]=58368+a;e[58368+a]=t[228][a]}t[229]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣�".split("");for(a=0;a!=t[229].length;++a)if(t[229][a].charCodeAt(0)!==65533){r[t[229][a]]=58624+a;e[58624+a]=t[229][a]}t[230]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩�".split("");for(a=0;a!=t[230].length;++a)if(t[230][a].charCodeAt(0)!==65533){r[t[230][a]]=58880+a;e[58880+a]=t[230][a]}t[231]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡缢缣缤缥缦缧缪缫缬缭缯缰缱缲缳缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬�".split("");for(a=0;a!=t[231].length;++a)if(t[231][a].charCodeAt(0)!==65533){r[t[231][a]]=59136+a;e[59136+a]=t[231][a]}t[232]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹�".split("");for(a=0;a!=t[232].length;++a)if(t[232][a].charCodeAt(0)!==65533){r[t[232][a]]=59392+a;e[59392+a]=t[232][a]}t[233]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋�".split("");for(a=0;a!=t[233].length;++a)if(t[233][a].charCodeAt(0)!==65533){r[t[233][a]]=59648+a;e[59648+a]=t[233][a]}t[234]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰�".split("");for(a=0;a!=t[234].length;++a)if(t[234][a].charCodeAt(0)!==65533){r[t[234][a]]=59904+a;e[59904+a]=t[234][a]}t[235]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻�".split("");for(a=0;a!=t[235].length;++a)if(t[235][a].charCodeAt(0)!==65533){r[t[235][a]]=60160+a;e[60160+a]=t[235][a]}t[236]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐�".split("");for(a=0;a!=t[236].length;++a)if(t[236][a].charCodeAt(0)!==65533){r[t[236][a]]=60416+a;e[60416+a]=t[236][a]}t[237]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨�".split("");for(a=0;a!=t[237].length;++a)if(t[237][a].charCodeAt(0)!==65533){r[t[237][a]]=60672+a;e[60672+a]=t[237][a]}t[238]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶钷钸钹钺钼钽钿铄铈铉铊铋铌铍铎铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪�".split("");for(a=0;a!=t[238].length;++a)if(t[238][a].charCodeAt(0)!==65533){r[t[238][a]]=60928+a;e[60928+a]=t[238][a]}t[239]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒锓锔锕锖锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤镥镦镧镨镩镪镫镬镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔�".split("");for(a=0;a!=t[239].length;++a)if(t[239][a].charCodeAt(0)!==65533){r[t[239][a]]=61184+a;e[61184+a]=t[239][a]}t[240]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨鸩鸪鸫鸬鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦鹧鹨鹩鹪鹫鹬鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙�".split("");for(a=0;a!=t[240].length;++a)if(t[240][a].charCodeAt(0)!==65533){r[t[240][a]]=61440+a;e[61440+a]=t[240][a]}t[241]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃�".split("");for(a=0;a!=t[241].length;++a)if(t[241][a].charCodeAt(0)!==65533){r[t[241][a]]=61696+a;e[61696+a]=t[241][a]}t[242]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒�".split("");for(a=0;a!=t[242].length;++a)if(t[242][a].charCodeAt(0)!==65533){r[t[242][a]]=61952+a;e[61952+a]=t[242][a]}t[243]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋�".split("");for(a=0;a!=t[243].length;++a)if(t[243][a].charCodeAt(0)!==65533){r[t[243][a]]=62208+a;e[62208+a]=t[243][a]}t[244]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤�".split("");for(a=0;a!=t[244].length;++a)if(t[244][a].charCodeAt(0)!==65533){r[t[244][a]]=62464+a;e[62464+a]=t[244][a]}t[245]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜�".split("");for(a=0;a!=t[245].length;++a)if(t[245][a].charCodeAt(0)!==65533){r[t[245][a]]=62720+a;e[62720+a]=t[245][a]}t[246]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅龆龇龈龉龊龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞鲟鲠鲡鲢鲣鲥鲦鲧鲨鲩鲫鲭鲮鲰鲱鲲鲳鲴鲵鲶鲷鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋�".split("");for(a=0;a!=t[246].length;++a)if(t[246][a].charCodeAt(0)!==65533){r[t[246][a]]=62976+a;e[62976+a]=t[246][a]}t[247]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������鳌鳍鳎鳏鳐鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄�".split("");for(a=0;a!=t[247].length;++a)if(t[247][a].charCodeAt(0)!==65533){r[t[247][a]]=63232+a;e[63232+a]=t[247][a]}return{enc:r,dec:e}}();cptable[10029]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[10079]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüݰ¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[10081]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙ�ˆ˜¯˘˙˚¸˝˛ˇ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[28591]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();if(typeof module!=="undefined"&&module.exports&&typeof DO_NOT_EXPORT_CODEPAGE==="undefined")module.exports=cptable;(function(e,r){"use strict";if(typeof cptable==="undefined"){if(typeof require!=="undefined"){var t=cptable;if(typeof module!=="undefined"&&module.exports&&typeof DO_NOT_EXPORT_CODEPAGE==="undefined")module.exports=r(t);else e.cptable=r(t)}else throw new Error("cptable not found")}else cptable=r(cptable)})(this,function(e){"use strict";var r={1200:"utf16le",1201:"utf16be",12000:"utf32le",12001:"utf32be",16969:"utf64le",20127:"ascii",65000:"utf7",65001:"utf8"};var t=[874,1250,1251,1252,1253,1254,1255,1256,1e4];var a=[932,936,949,950];var n=[65001];var i={};var s={};var f={};var o={};var l=function F(e){return String.fromCharCode(e)};var c=function P(e){return e.charCodeAt(0)};var h=typeof Buffer!=="undefined";var u=function(){};if(h){var d=!Buffer.from;if(!d)try{Buffer.from("foo","utf8")}catch(v){d=true}u=d?function(e,r){return r?new Buffer(e,r):new Buffer(e)}:Buffer.from.bind(Buffer);if(!Buffer.allocUnsafe)Buffer.allocUnsafe=function(e){return new Buffer(e)};var p=1024,g=Buffer.allocUnsafe(p);var m=function L(e){var r=Buffer.allocUnsafe(65536);for(var t=0;t<65536;++t)r[t]=0;var a=Object.keys(e),n=a.length;for(var i=0,s=a[i];i>10&1023)];n[s++]=t[56320+(o&1023)]}}}n=n.slice(0,s)}else{n=Buffer.allocUnsafe(a);for(i=0;i>8}return function f(e){var r=e.length,t=0,n=0;if(2*r>p){p=2*r;g=Buffer.allocUnsafe(p)}if(Buffer.isBuffer(e)){for(t=0;t>8}return function l(e,r){var t=e.length,n=Buffer.allocUnsafe(2*t),i=0,s=0,f=0,o=0,l=0;if(typeof e==="string"){for(i=o=0;i0)n[o++]=a[s]}n=n.slice(0,o)}else if(Buffer.isBuffer(e)){for(i=o=0;i0)n[o++]=a[s]}else{f=s-65536;s=2*(55296+(f>>10&1023));n[o++]=a[s+1]||a[s];if(a[s+1]>0)n[o++]=a[s];s=2*(56320+(f&1023));n[o++]=a[s+1]||a[s];if(a[s+1]>0)n[o++]=a[s]}}n=n.slice(0,o)}else{for(i=o=0;i0)n[o++]=a[s]}}if(!r||r==="buf")return n;if(r!=="arr")return n.toString("binary");return[].slice.call(n)}};var T=function W(r){var t=e[r].dec;var a=Buffer.allocUnsafe(131072),n=0,i,s=0,f=0,o=0;for(o=0;o<65536;++o){a[2*o]=255;a[2*o+1]=253}for(n=0;n>8}return function l(e){var r=e.length,t=Buffer.allocUnsafe(2*r),n=0,i=0,s=0;if(Buffer.isBuffer(e)){for(n=0;np){p=4*r;g=Buffer.allocUnsafe(p)}var n=0;if(r>=3&&e[0]==239)if(e[1]==187&&e[2]==191)n=3;for(var i=1,s=0,f=0;n>8}else{t-=65536;a=55296+(t>>10&1023);t=56320+(t&1023);g[s++]=a&255;g[s++]=a>>>8;g[s++]=t&255;g[s++]=t>>>8&255}}return g.slice(0,s).toString("ucs2")};s[65001]=function z(e,r){if(h&&Buffer.isBuffer(e)){if(!r||r==="buf")return e;if(r!=="arr")return e.toString("binary");return[].slice.call(e)}var t=e.length,a=0,n=0,i=0;var s=typeof e==="string";if(4*t>p){p=4*t;g=Buffer.allocUnsafe(p)}for(var f=0;f>6);g[i++]=128+(a&63)}else if(a>=55296&&a<=57343){a-=55296;++f;n=(s?e.charCodeAt(f):e[f].charCodeAt(0))-56320+(a<<10);g[i++]=240+(n>>>18&7);g[i++]=144+(n>>>12&63);g[i++]=128+(n>>>6&63);g[i++]=128+(n&63)}else{g[i++]=224+(a>>12);g[i++]=128+(a>>6&63);g[i++]=128+(a&63)}}if(!r||r==="buf")return g.slice(0,i);if(r!=="arr")return g.slice(0,i).toString("binary");return[].slice.call(g,0,i)}}var A=function V(){if(h){if(f[t[0]])return;var r=0,l=0;for(r=0;r255){s[d]=f>>8;s[++d]=f&255}else s[d]=f&255}else if(m=r[t])switch(m){case"utf8":if(h&&b){s=u(a,m);d=s.length;break}for(c=0;c>6);s[++d]=128+(f&63)}else if(f>=55296&&f<=57343){f-=55296;v=(b?a.charCodeAt(++c):a[++c].charCodeAt(0))-56320+(f<<10);s[d]=240+(v>>>18&7);s[++d]=144+(v>>>12&63);s[++d]=128+(v>>>6&63);s[++d]=128+(v&63)}else{s[d]=224+(f>>12);s[++d]=128+(f>>6&63);s[++d]=128+(f&63)}}break;case"ascii":if(h&&typeof a==="string"){s=u(a,m);d=s.length;break}for(c=0;c>8}break;case"utf16be":for(c=0;c>8;s[d++]=f&255}break;case"utf32le":for(c=0;c=55296&&f<=57343)f=65536+(f-55296<<10)+(a[++c].charCodeAt(0)-56320);s[d++]=f&255;f>>=8;s[d++]=f&255;f>>=8;s[d++]=f&255;f>>=8;s[d++]=f&255}break;case"utf32be":for(c=0;c=55296&&f<=57343)f=65536+(f-55296<<10)+(a[++c].charCodeAt(0)-56320);s[d+3]=f&255;f>>=8;s[d+2]=f&255;f>>=8;s[d+1]=f&255;f>>=8;s[d]=f&255;d+=4}break;case"utf7":for(c=0;c-1){s[d++]=w.charCodeAt(0);continue}var k=X(1201,w);s[d++]=43;s[d++]=_.charCodeAt(k[0]>>2);s[d++]=_.charCodeAt(((k[0]&3)<<4)+((k[1]||0)>>4));s[d++]=_.charCodeAt(((k[1]&15)<<2)+((k[2]||0)>>6));s[d++]=45}break;default:throw new Error("Unsupported magic: "+t+" "+r[t]);}else throw new Error("Unrecognized CP: "+t);s=s.slice(0,d);if(!h)return n=="str"?s.map(l).join(""):s;if(!n||n==="buf")return s;if(n!=="arr")return s.toString("binary");return[].slice.call(s)};var N=function $(t,a){var n;if(n=f[t])return n(a);if(typeof a==="string")return $(t,a.split("").map(c));var i=a.length,s=new Array(i),o="",l=0,u=0,d=1,v=0,p=0;var g=e[t],m,b="";if(g&&(m=g.dec)){for(u=0;u=3&&a[0]==239)if(a[1]==187&&a[2]==191)u=3;for(;u>10&1023);l=56320+(l&1023);s[v++]=String.fromCharCode(p);s[v++]=String.fromCharCode(l)}}break;case"ascii":if(h&&Buffer.isBuffer(a))return a.toString(b);for(u=0;u=2&&a[0]==255)if(a[1]==254)u=2;if(h&&Buffer.isBuffer(a))return a.toString(b);d=2;for(;u+1=2&&a[0]==254)if(a[1]==255)u=2;d=2;for(;u+1=4&&a[0]==255)if(a[1]==254&&a[2]===0&&a[3]===0)u=4;d=4;for(;u65535){l-=65536;s[v++]=String.fromCharCode(55296+(l>>10&1023));s[v++]=String.fromCharCode(56320+(l&1023))}else s[v++]=String.fromCharCode(l)}break;case"utf32be":if(i>=4&&a[3]==255)if(a[2]==254&&a[1]===0&&a[0]===0)u=4;d=4;for(;u65535){l-=65536;s[v++]=String.fromCharCode(55296+(l>>10&1023));s[v++]=String.fromCharCode(56320+(l&1023))}else s[v++]=String.fromCharCode(l)}break;case"utf7":if(i>=4&&a[0]==43&&a[1]==47&&a[2]==118){if(i>=5&&a[3]==56&&a[4]==45)u=5;else if(a[3]==56||a[3]==57||a[3]==43||a[3]==47)u=4}for(;u>4;k.push(A);x=_.indexOf(String.fromCharCode(a[u+R++]));if(x===-1)break;E=(S&15)<<4|x>>2;k.push(E);O=_.indexOf(String.fromCharCode(a[u+R++]));if(O===-1)break;C=(x&3)<<6|O;if(O<64)k.push(C)}T=$(1201,k);for(R=0;R>1;++t)r[t]=String.fromCharCode(e.charCodeAt(2*t)+(e.charCodeAt(2*t+1)<<8));return r.join("")}function u(e){var r=[];for(var t=0;t>1;++t)r[t]=String.fromCharCode(e.charCodeAt(2*t+1)+(e.charCodeAt(2*t)<<8));return r.join("")}var d=function(e){var r=e.charCodeAt(0),t=e.charCodeAt(1);if(r==255&&t==254)return h(e.slice(2));if(r==254&&t==255)return u(e.slice(2));if(r==65279)return e.slice(1);return e};var v=function Yw(e){return String.fromCharCode(e)};var p=function Kw(e){return String.fromCharCode(e)};if(typeof a!=="undefined"){o=function(e){r=e;s(e)};d=function(e){if(e.charCodeAt(0)===255&&e.charCodeAt(1)===254){return a.utils.decode(1200,c(e.slice(2)))}return e};v=function Jw(e){if(r===1200)return String.fromCharCode(e);return a.utils.decode(r,[e&255,e>>8])[0]};p=function qw(e){return a.utils.decode(t,[e])[0]}}var g=null;var m=true;var b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function w(e){var r="";var t=0,a=0,n=0,i=0,s=0,f=0,o=0;for(var l=0;l>2;a=e.charCodeAt(l++);s=(t&3)<<4|a>>4;n=e.charCodeAt(l++);f=(a&15)<<2|n>>6;o=n&63;if(isNaN(a)){f=o=64}else if(isNaN(n)){o=64}r+=b.charAt(i)+b.charAt(s)+b.charAt(f)+b.charAt(o)}return r}function k(e){var r="";var t=0,a=0,n=0,i=0,s=0,f=0,o=0;e=e.replace(/[^\w\+\/\=]/g,"");for(var l=0;l>4;r+=String.fromCharCode(t);f=b.indexOf(e.charAt(l++));a=(s&15)<<4|f>>2;if(f!==64){r+=String.fromCharCode(a)}o=b.indexOf(e.charAt(l++));n=(f&3)<<6|o;if(o!==64){r+=String.fromCharCode(n)}}return r}var T=function(){return typeof Buffer!=="undefined"&&typeof undefined!=="undefined"&&typeof{}!=="undefined"&&!!{}.node}();var A=function(){if(typeof Buffer!=="undefined"){var e=!Buffer.from;if(!e)try{Buffer.from("foo","utf8")}catch(r){e=true}return e?function(e,r){return r?new Buffer(e,r):new Buffer(e)}:Buffer.from.bind(Buffer)}return function(){}}();function E(e){if(T)return Buffer.alloc?Buffer.alloc(e):new Buffer(e);return typeof Uint8Array!="undefined"?new Uint8Array(e):new Array(e)}function C(e){if(T)return Buffer.allocUnsafe?Buffer.allocUnsafe(e):new Buffer(e);return typeof Uint8Array!="undefined"?new Uint8Array(e):new Array(e)}var y=function Zw(e){if(T)return A(e,"binary");return e.split("").map(function(e){return e.charCodeAt(0)&255})};function S(e){if(typeof ArrayBuffer==="undefined")return y(e);var r=new ArrayBuffer(e.length),t=new Uint8Array(r);for(var a=0;a!=e.length;++a)t[a]=e.charCodeAt(a)&255;return r}function _(e){if(Array.isArray(e))return e.map(function(e){return String.fromCharCode(e)}).join("");var r=[];for(var t=0;t>6&31;n[t++]=128|s&63}else if(s>=55296&&s<57344){s=(s&1023)+64;var f=e.charCodeAt(++i)&1023;n[t++]=240|s>>8&7;n[t++]=128|s>>2&63;n[t++]=128|f>>6&15|(s&3)<<4;n[t++]=128|f&63}else{n[t++]=224|s>>12&15;n[t++]=128|s>>6&63;n[t++]=128|s&63}if(t>a){r.push(n.slice(0,t));t=0;n=E(65535);a=65530}}r.push(n.slice(0,t));return R(r)}var N=/\u0000/g,D=/[\u0001-\u0006]/g;function F(e){var r="",t=e.length-1;while(t>=0)r+=e.charAt(t--);return r}function P(e,r){var t=""+e;return t.length>=r?t:wr("0",r-t.length)+t}function L(e,r){var t=""+e;return t.length>=r?t:wr(" ",r-t.length)+t}function M(e,r){var t=""+e;return t.length>=r?t:t+wr(" ",r-t.length)}function U(e,r){var t=""+Math.round(e);return t.length>=r?t:wr("0",r-t.length)+t}function B(e,r){var t=""+e;return t.length>=r?t:wr("0",r-t.length)+t}var W=Math.pow(2,32);function H(e,r){if(e>W||e<-W)return U(e,r);var t=Math.round(e);return B(t,r)}function z(e,r){r=r||0;return e.length>=7+r&&(e.charCodeAt(r)|32)===103&&(e.charCodeAt(r+1)|32)===101&&(e.charCodeAt(r+2)|32)===110&&(e.charCodeAt(r+3)|32)===101&&(e.charCodeAt(r+4)|32)===114&&(e.charCodeAt(r+5)|32)===97&&(e.charCodeAt(r+6)|32)===108}var V=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]];var G=[["J","Jan","January"],["F","Feb","February"],["M","Mar","March"],["A","Apr","April"],["M","May","May"],["J","Jun","June"],["J","Jul","July"],["A","Aug","August"],["S","Sep","September"],["O","Oct","October"],["N","Nov","November"],["D","Dec","December"]];function j(e){if(!e)e={};e[0]="General";e[1]="0";e[2]="0.00";e[3]="#,##0";e[4]="#,##0.00";e[9]="0%";e[10]="0.00%";e[11]="0.00E+00";e[12]="# ?/?";e[13]="# ??/??";e[14]="m/d/yy";e[15]="d-mmm-yy";e[16]="d-mmm";e[17]="mmm-yy";e[18]="h:mm AM/PM";e[19]="h:mm:ss AM/PM";e[20]="h:mm";e[21]="h:mm:ss";e[22]="m/d/yy h:mm";e[37]="#,##0 ;(#,##0)";e[38]="#,##0 ;[Red](#,##0)";e[39]="#,##0.00;(#,##0.00)";e[40]="#,##0.00;[Red](#,##0.00)";e[45]="mm:ss";e[46]="[h]:mm:ss";e[47]="mmss.0";e[48]="##0.0E+0";e[49]="@";e[56]='"上午/下午 "hh"時"mm"分"ss"秒 "';return e}var X={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"m/d/yy",15:"d-mmm-yy",16:"d-mmm",17:"mmm-yy",18:"h:mm AM/PM",19:"h:mm:ss AM/PM",20:"h:mm",21:"h:mm:ss",22:"m/d/yy h:mm",37:"#,##0 ;(#,##0)",38:"#,##0 ;[Red](#,##0)",39:"#,##0.00;(#,##0.00)",40:"#,##0.00;[Red](#,##0.00)",45:"mm:ss",46:"[h]:mm:ss",47:"mmss.0",48:"##0.0E+0",49:"@",56:'"上午/下午 "hh"時"mm"分"ss"秒 "'};var Y={5:37,6:38,7:39,8:40,23:0,24:0,25:0,26:0,27:14,28:14,29:14,30:14,31:14,50:14,51:14,52:14,53:14,54:14,55:14,56:14,57:14,58:14,59:1,60:2,61:3,62:4,67:9,68:10,69:12,70:13,71:14,72:14,73:15,74:16,75:17,76:20,77:21,78:22,79:45,80:46,81:47,82:0};var K={5:'"$"#,##0_);\\("$"#,##0\\)',63:'"$"#,##0_);\\("$"#,##0\\)',6:'"$"#,##0_);[Red]\\("$"#,##0\\)',64:'"$"#,##0_);[Red]\\("$"#,##0\\)',7:'"$"#,##0.00_);\\("$"#,##0.00\\)',65:'"$"#,##0.00_);\\("$"#,##0.00\\)',8:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',66:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',41:'_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)',42:'_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)',43:'_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)',44:'_("$"* #,##0.00_);_("$"* \\(#,##0.00\\);_("$"* "-"??_);_(@_)'};function J(e,r,t){var a=e<0?-1:1;var n=e*a;var i=0,s=1,f=0;var o=1,l=0,c=0;var h=Math.floor(n);while(lr){if(l>r){c=o;f=i}else{c=l;f=s}}if(!t)return[0,a*f,c];var u=Math.floor(a*f/c);return[u,a*f-u*c,c]}function q(e,r,t){if(e>2958465||e<0)return null;var a=e|0,n=Math.floor(86400*(e-a)),i=0;var s=[];var f={D:a,T:n,u:86400*(e-a)-n,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(f.u)<1e-6)f.u=0;if(r&&r.date1904)a+=1462;if(f.u>.9999){f.u=0;if(++n==86400){f.T=n=0;++a;++f.D}}if(a===60){s=t?[1317,10,29]:[1900,2,29];i=3}else if(a===0){s=t?[1317,8,29]:[1900,1,0];i=6}else{if(a>60)--a;var o=new Date(1900,0,1);o.setDate(o.getDate()+a-1);s=[o.getFullYear(),o.getMonth()+1,o.getDate()];i=o.getDay();if(a<60)i=(i+6)%7;if(t)i=oe(o,s)}f.y=s[0];f.m=s[1];f.d=s[2];f.S=n%60;n=Math.floor(n/60);f.M=n%60;n=Math.floor(n/60);f.H=n;f.q=i;return f}var Z=new Date(1899,11,31,0,0,0);var Q=Z.getTime();var ee=new Date(1900,2,1,0,0,0);function re(e,r){var t=e.getTime();if(r)t-=1461*24*60*60*1e3;else if(e>=ee)t+=24*60*60*1e3;return(t-(Q+(e.getTimezoneOffset()-Z.getTimezoneOffset())*6e4))/(24*60*60*1e3)}function te(e){return e.indexOf(".")==-1?e:e.replace(/(?:\.0*|(\.\d*[1-9])0+)$/,"$1")}function ae(e){if(e.indexOf("E")==-1)return e;return e.replace(/(?:\.0*|(\.\d*[1-9])0+)[Ee]/,"$1E").replace(/(E[+-])(\d)$/,"$10$2")}function ne(e){var r=e<0?12:11;var t=te(e.toFixed(12));if(t.length<=r)return t;t=e.toPrecision(10);if(t.length<=r)return t;return e.toExponential(5)}function ie(e){var r=te(e.toFixed(11));return r.length>(e<0?12:11)||r==="0"||r==="-0"?e.toPrecision(6):r}function se(e){var r=Math.floor(Math.log(Math.abs(e))*Math.LOG10E),t;if(r>=-4&&r<=-1)t=e.toPrecision(10+r);else if(Math.abs(r)<=9)t=ne(e);else if(r===10)t=e.toFixed(10).substr(0,12);else t=ie(e);return te(ae(t.toUpperCase()))}function fe(e,r){switch(typeof e){case"string":return e;case"boolean":return e?"TRUE":"FALSE";case"number":return(e|0)===e?e.toString(10):se(e);case"undefined":return"";case"object":if(e==null)return"";if(e instanceof Date)return Be(14,re(e,r&&r.date1904),r);}throw new Error("unsupported value in General format: "+e)}function oe(e,r){r[0]-=581;var t=e.getDay();if(e<60)t=(t+6)%7;return t}function le(e,r,t,a){var n="",i=0,s=0,f=t.y,o,l=0;switch(e){case 98:f=t.y+543;case 121:switch(r.length){case 1:;case 2:o=f%100;l=2;break;default:o=f%1e4;l=4;break;}break;case 109:switch(r.length){case 1:;case 2:o=t.m;l=r.length;break;case 3:return G[t.m-1][1];case 5:return G[t.m-1][0];default:return G[t.m-1][2];}break;case 100:switch(r.length){case 1:;case 2:o=t.d;l=r.length;break;case 3:return V[t.q][0];default:return V[t.q][1];}break;case 104:switch(r.length){case 1:;case 2:o=1+(t.H+11)%12;l=r.length;break;default:throw"bad hour format: "+r;}break;case 72:switch(r.length){case 1:;case 2:o=t.H;l=r.length;break;default:throw"bad hour format: "+r;}break;case 77:switch(r.length){case 1:;case 2:o=t.M;l=r.length;break;default:throw"bad minute format: "+r;}break;case 115:if(r!="s"&&r!="ss"&&r!=".0"&&r!=".00"&&r!=".000")throw"bad second format: "+r;if(t.u===0&&(r=="s"||r=="ss"))return P(t.S,r.length);if(a>=2)s=a===3?1e3:100;else s=a===1?10:1;i=Math.round(s*(t.S+t.u));if(i>=60*s)i=0;if(r==="s")return i===0?"0":""+i/s;n=P(i,2+a);if(r==="ss")return n.substr(0,2);return"."+n.substr(2,r.length-1);case 90:switch(r){case"[h]":;case"[hh]":o=t.D*24+t.H;break;case"[m]":;case"[mm]":o=(t.D*24+t.H)*60+t.M;break;case"[s]":;case"[ss]":o=((t.D*24+t.H)*60+t.M)*60+Math.round(t.S+t.u);break;default:throw"bad abstime format: "+r;}l=r.length===3?1:2;break;case 101:o=f;l=1;break;}var c=l>0?P(o,l):"";return c}function ce(e){var r=3;if(e.length<=r)return e;var t=e.length%r,a=e.substr(0,t);for(;t!=e.length;t+=r)a+=(a.length>0?",":"")+e.substr(t,r);return a}var he=/%/g;function ue(e,r,t){var a=r.replace(he,""),n=r.length-a.length;return Ie(e,a,t*Math.pow(10,2*n))+wr("%",n)}function de(e,r,t){var a=r.length-1;while(r.charCodeAt(a-1)===44)--a;return Ie(e,r.substr(0,a),t/Math.pow(10,3*(r.length-a)))}function ve(e,r){var t;var a=e.indexOf("E")-e.indexOf(".")-1;if(e.match(/^#+0.0E\+0$/)){if(r==0)return"0.0E+0";else if(r<0)return"-"+ve(e,-r);var n=e.indexOf(".");if(n===-1)n=e.indexOf("E");var i=Math.floor(Math.log(r)*Math.LOG10E)%n;if(i<0)i+=n;t=(r/Math.pow(10,i)).toPrecision(a+1+(n+i)%n);if(t.indexOf("e")===-1){var s=Math.floor(Math.log(r)*Math.LOG10E);if(t.indexOf(".")===-1)t=t.charAt(0)+"."+t.substr(1)+"E+"+(s-t.length+i);else t+="E+"+(s-i);while(t.substr(0,2)==="0."){t=t.charAt(0)+t.substr(2,n)+"."+t.substr(2+n);t=t.replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.")}t=t.replace(/\+-/,"-")}t=t.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function(e,r,t,a){return r+t+a.substr(0,(n+i)%n)+"."+a.substr(i)+"E"})}else t=r.toExponential(a);if(e.match(/E\+00$/)&&t.match(/e[+-]\d$/))t=t.substr(0,t.length-1)+"0"+t.charAt(t.length-1);if(e.match(/E\-/)&&t.match(/e\+/))t=t.replace(/e\+/,"e");return t.replace("e","E")}var pe=/# (\?+)( ?)\/( ?)(\d+)/;function ge(e,r,t){var a=parseInt(e[4],10),n=Math.round(r*a),i=Math.floor(n/a);var s=n-i*a,f=a;return t+(i===0?"":""+i)+" "+(s===0?wr(" ",e[1].length+1+e[4].length):L(s,e[1].length)+e[2]+"/"+e[3]+P(f,e[4].length))}function me(e,r,t){return t+(r===0?"":""+r)+wr(" ",e[1].length+2+e[4].length)}var be=/^#*0*\.([0#]+)/;var we=/\).*[0#]/;var ke=/\(###\) ###\\?-####/;function Te(e){var r="",t;for(var a=0;a!=e.length;++a)switch(t=e.charCodeAt(a)){case 35:break;case 63:r+=" ";break;case 48:r+="0";break;default:r+=String.fromCharCode(t);}return r}function Ae(e,r){var t=Math.pow(10,r);return""+Math.round(e*t)/t}function Ee(e,r){var t=e-Math.floor(e),a=Math.pow(10,r);if(r<(""+Math.round(t*a)).length)return 0;return Math.round(t*a)}function Ce(e,r){if(r<(""+Math.round((e-Math.floor(e))*Math.pow(10,r))).length){return 1}return 0}function ye(e){if(e<2147483647&&e>-2147483648)return""+(e>=0?e|0:e-1|0);return""+Math.floor(e)}function Se(e,r,t){if(e.charCodeAt(0)===40&&!r.match(we)){var a=r.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");if(t>=0)return Se("n",a,t);return"("+Se("n",a,-t)+")"}if(r.charCodeAt(r.length-1)===44)return de(e,r,t);if(r.indexOf("%")!==-1)return ue(e,r,t);if(r.indexOf("E")!==-1)return ve(r,t);if(r.charCodeAt(0)===36)return"$"+Se(e,r.substr(r.charAt(1)==" "?2:1),t);var n;var i,s,f,o=Math.abs(t),l=t<0?"-":"";if(r.match(/^00+$/))return l+H(o,r.length);if(r.match(/^[#?]+$/)){n=H(t,0);if(n==="0")n="";return n.length>r.length?n:Te(r.substr(0,r.length-n.length))+n}if(i=r.match(pe))return ge(i,o,l);if(r.match(/^#+0+$/))return l+H(o,r.length-r.indexOf("0"));if(i=r.match(be)){n=Ae(t,i[1].length).replace(/^([^\.]+)$/,"$1."+Te(i[1])).replace(/\.$/,"."+Te(i[1])).replace(/\.(\d*)$/,function(e,r){return"."+r+wr("0",Te(i[1]).length-r.length)});return r.indexOf("0.")!==-1?n:n.replace(/^0\./,".")}r=r.replace(/^#+([0.])/,"$1");if(i=r.match(/^(0*)\.(#*)$/)){return l+Ae(o,i[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,i[1].length?"0.":".")}if(i=r.match(/^#{1,3},##0(\.?)$/))return l+ce(H(o,0));if(i=r.match(/^#,##0\.([#0]*0)$/)){return t<0?"-"+Se(e,r,-t):ce(""+(Math.floor(t)+Ce(t,i[1].length)))+"."+P(Ee(t,i[1].length),i[1].length)}if(i=r.match(/^#,#*,#0/))return Se(e,r.replace(/^#,#*,/,""),t);if(i=r.match(/^([0#]+)(\\?-([0#]+))+$/)){n=F(Se(e,r.replace(/[\\-]/g,""),t));s=0;return F(F(r.replace(/\\/g,"")).replace(/[0#]/g,function(e){return s=0)return Re("n",a,t);return"("+Re("n",a,-t)+")"}if(r.charCodeAt(r.length-1)===44)return _e(e,r,t);if(r.indexOf("%")!==-1)return xe(e,r,t);if(r.indexOf("E")!==-1)return Oe(r,t);if(r.charCodeAt(0)===36)return"$"+Re(e,r.substr(r.charAt(1)==" "?2:1),t);var n;var i,s,f,o=Math.abs(t),l=t<0?"-":"";if(r.match(/^00+$/))return l+P(o,r.length);if(r.match(/^[#?]+$/)){n=""+t;if(t===0)n="";return n.length>r.length?n:Te(r.substr(0,r.length-n.length))+n}if(i=r.match(pe))return me(i,o,l);if(r.match(/^#+0+$/))return l+P(o,r.length-r.indexOf("0"));if(i=r.match(be)){n=(""+t).replace(/^([^\.]+)$/,"$1."+Te(i[1])).replace(/\.$/,"."+Te(i[1]));n=n.replace(/\.(\d*)$/,function(e,r){return"."+r+wr("0",Te(i[1]).length-r.length)});return r.indexOf("0.")!==-1?n:n.replace(/^0\./,".")}r=r.replace(/^#+([0.])/,"$1");if(i=r.match(/^(0*)\.(#*)$/)){return l+(""+o).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,i[1].length?"0.":".")}if(i=r.match(/^#{1,3},##0(\.?)$/))return l+ce(""+o);if(i=r.match(/^#,##0\.([#0]*0)$/)){return t<0?"-"+Re(e,r,-t):ce(""+t)+"."+wr("0",i[1].length)}if(i=r.match(/^#,#*,#0/))return Re(e,r.replace(/^#,#*,/,""),t);if(i=r.match(/^([0#]+)(\\?-([0#]+))+$/)){n=F(Re(e,r.replace(/[\\-]/g,""),t));s=0;return F(F(r.replace(/\\/g,"")).replace(/[0#]/g,function(e){return s-1||t=="\\"&&e.charAt(r+1)=="-"&&"0#".indexOf(e.charAt(r+2))>-1)){}break;case"?":while(e.charAt(++r)===t){}break;case"*":++r;if(e.charAt(r)==" "||e.charAt(r)=="*")++r;break;case"(":;case")":++r;break;case"1":;case"2":;case"3":;case"4":;case"5":;case"6":;case"7":;case"8":;case"9":while(r-1){}break;case" ":++r;break;default:++r;break;}}return false}function Pe(e,r,t,a){ +var n=[],i="",s=0,f="",o="t",l,c,h;var u="H";while(s=12?"P":"A";p.t="T";u="h";s+=3}else if(e.substr(s,5).toUpperCase()==="AM/PM"){if(l!=null)p.v=l.H>=12?"PM":"AM";p.t="T";s+=5;u="h"}else if(e.substr(s,5).toUpperCase()==="上午/下午"){if(l!=null)p.v=l.H>=12?"下午":"上午";p.t="T";s+=5;u="h"}else{p.t="t";++s}if(l==null&&p.t==="T")return"";n[n.length]=p;o=f;break;case"[":i=f;while(e.charAt(s++)!=="]"&&s-1){i=(i.match(/\$([^-\[\]]*)/)||[])[1]||"$";if(!Fe(e))n[n.length]={t:"t",v:i}}break;case".":if(l!=null){i=f;while(++s-1)i+=f;n[n.length]={t:"n",v:i};break;case"?":i=f;while(e.charAt(++s)===f)i+=f;n[n.length]={t:f,v:i};o=f;break;case"*":++s;if(e.charAt(s)==" "||e.charAt(s)=="*")++s;break;case"(":;case")":n[n.length]={t:a===1?"t":f,v:f};++s;break;case"1":;case"2":;case"3":;case"4":;case"5":;case"6":;case"7":;case"8":;case"9":i=f;while(s-1)i+=e.charAt(s);n[n.length]={t:"D",v:i};break;case" ":n[n.length]={t:f,v:f};++s;break;case"$":n[n.length]={t:"t",v:"$"};++s;break;default:if(",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP".indexOf(f)===-1)throw new Error("unrecognized character "+f+" in "+e);n[n.length]={t:"t",v:f};++s;break;}}var g=0,m=0,b;for(s=n.length-1,o="t";s>=0;--s){switch(n[s].t){case"h":;case"H":n[s].t=u;o="h";if(g<1)g=1;break;case"s":if(b=n[s].v.match(/\.0+$/))m=Math.max(m,b[0].length-1);if(g<3)g=3;case"d":;case"y":;case"M":;case"e":o=n[s].t;break;case"m":if(o==="s"){n[s].t="M";if(g<2)g=2}break;case"X":break;case"Z":if(g<1&&n[s].v.match(/[Hh]/))g=1;if(g<2&&n[s].v.match(/[Mm]/))g=2;if(g<3&&n[s].v.match(/[Ss]/))g=3;}}switch(g){case 0:break;case 1:if(l.u>=.5){l.u=0;++l.S}if(l.S>=60){l.S=0;++l.M}if(l.M>=60){l.M=0;++l.H}break;case 2:if(l.u>=.5){l.u=0;++l.S}if(l.S>=60){l.S=0;++l.M}break;}var w="",k;for(s=0;s0){if(w.charCodeAt(0)==40){A=r<0&&w.charCodeAt(0)===45?-r:r;E=Ie("n",w,A)}else{A=r<0&&a>1?-r:r;E=Ie("n",w,A);if(A<0&&n[0]&&n[0].t=="t"){E=E.substr(1);n[0].v="-"+n[0].v}}k=E.length-1;var C=n.length;for(s=0;s-1){C=s;break}var y=n.length;if(C===n.length&&E.indexOf("E")===-1){for(s=n.length-1;s>=0;--s){if(n[s]==null||"n?".indexOf(n[s].t)===-1)continue;if(k>=n[s].v.length-1){k-=n[s].v.length;n[s].v=E.substr(k+1,n[s].v.length)}else if(k<0)n[s].v="";else{n[s].v=E.substr(0,k+1);k=-1}n[s].t="t";y=s}if(k>=0&&y=0;--s){if(n[s]==null||"n?".indexOf(n[s].t)===-1)continue;c=n[s].v.indexOf(".")>-1&&s===C?n[s].v.indexOf(".")-1:n[s].v.length-1;T=n[s].v.substr(c+1);for(;c>=0;--c){if(k>=0&&(n[s].v.charAt(c)==="0"||n[s].v.charAt(c)==="#"))T=E.charAt(k--)+T}n[s].v=T;n[s].t="t";y=s}if(k>=0&&y-1&&s===C?n[s].v.indexOf(".")+1:0;T=n[s].v.substr(0,c);for(;c-1){A=a>1&&r<0&&s>0&&n[s-1].v==="-"?-r:r;n[s].v=Ie(n[s].t,n[s].v,A);n[s].t="t"}var S="";for(s=0;s!==n.length;++s)if(n[s]!=null)S+=n[s].v;return S}var Le=/\[(=|>[=]?|<[>=]?)(-?\d+(?:\.\d*)?)\]/;function Me(e,r){if(r==null)return false;var t=parseFloat(r[2]);switch(r[1]){case"=":if(e==t)return true;break;case">":if(e>t)return true;break;case"<":if(e":if(e!=t)return true;break;case">=":if(e>=t)return true;break;case"<=":if(e<=t)return true;break;}return false}function Ue(e,r){var t=Ne(e);var a=t.length,n=t[a-1].indexOf("@");if(a<4&&n>-1)--a;if(t.length>4)throw new Error("cannot find right format for |"+t.join("|")+"|");if(typeof r!=="number")return[4,t.length===4||n>-1?t[t.length-1]:"@"];switch(t.length){case 1:t=n>-1?["General","General","General",t[0]]:[t[0],t[0],t[0],"@"];break;case 2:t=n>-1?[t[0],t[0],t[0],t[1]]:[t[0],t[1],t[0],"@"];break;case 3:t=n>-1?[t[0],t[1],t[0],t[2]]:[t[0],t[1],t[2],"@"];break;case 4:break;}var i=r>0?t[0]:r<0?t[1]:t[2];if(t[0].indexOf("[")===-1&&t[1].indexOf("[")===-1)return[a,i];if(t[0].match(/\[[=<>]/)!=null||t[1].match(/\[[=<>]/)!=null){var s=t[0].match(Le);var f=t[1].match(Le);return Me(r,s)?[a,t[0]]:Me(r,f)?[a,t[1]]:[a,t[s!=null&&f!=null?2:1]]}return[a,i]}function Be(e,r,t){if(t==null)t={};var a="";switch(typeof e){case"string":if(e=="m/d/yy"&&t.dateNF)a=t.dateNF;else a=e;break;case"number":if(e==14&&t.dateNF)a=t.dateNF;else a=(t.table!=null?t.table:X)[e];if(a==null)a=t.table&&t.table[Y[e]]||X[Y[e]];if(a==null)a=K[e]||"General";break;}if(z(a,0))return fe(r,t);if(r instanceof Date)r=re(r,t.date1904);var n=Ue(a,r);if(z(n[1]))return fe(r,t);if(r===true)r="TRUE";else if(r===false)r="FALSE";else if(r===""||r==null)return"";return Pe(n[1],r,t,n[0])}function We(e,r){if(typeof r!="number"){r=+r||-1;for(var t=0;t<392;++t){if(X[t]==undefined){if(r<0)r=t;continue}if(X[t]==e){r=t;break}}if(r<0)r=391}X[r]=e;return r}function He(e){for(var r=0;r!=392;++r)if(e[r]!==undefined)We(e[r],r)}function ze(){X=j()}var Ve={format:Be,load:We,_table:X,load_table:He,parse_date_code:q,is_date:Fe,get_table:function Qw(){return Ve._table=X}};var Ge={5:'"$"#,##0_);\\("$"#,##0\\)',6:'"$"#,##0_);[Red]\\("$"#,##0\\)',7:'"$"#,##0.00_);\\("$"#,##0.00\\)',8:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',23:"General",24:"General",25:"General",26:"General",27:"m/d/yy",28:"m/d/yy",29:"m/d/yy",30:"m/d/yy",31:"m/d/yy",32:"h:mm:ss",33:"h:mm:ss",34:"h:mm:ss",35:"h:mm:ss",36:"m/d/yy",41:'_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)',42:'_("$"* #,##0_);_("$"* (#,##0);_("$"* "-"_);_(@_)',43:'_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)',44:'_("$"* #,##0.00_);_("$"* (#,##0.00);_("$"* "-"??_);_(@_)',50:"m/d/yy",51:"m/d/yy",52:"m/d/yy",53:"m/d/yy",54:"m/d/yy",55:"m/d/yy",56:"m/d/yy",57:"m/d/yy",58:"m/d/yy",59:"0",60:"0.00",61:"#,##0",62:"#,##0.00",63:'"$"#,##0_);\\("$"#,##0\\)',64:'"$"#,##0_);[Red]\\("$"#,##0\\)',65:'"$"#,##0.00_);\\("$"#,##0.00\\)',66:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',67:"0%",68:"0.00%",69:"# ?/?",70:"# ??/??",71:"m/d/yy",72:"m/d/yy",73:"d-mmm-yy",74:"d-mmm",75:"mmm-yy",76:"h:mm",77:"h:mm:ss",78:"m/d/yy h:mm",79:"mm:ss",80:"[h]:mm:ss",81:"mmss.0"};var je=/[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;function Xe(e){var r=typeof e=="number"?X[e]:e;r=r.replace(je,"(\\d+)");return new RegExp("^"+r+"$")}function $e(e,r,t){var a=-1,n=-1,i=-1,s=-1,f=-1,o=-1;(r.match(je)||[]).forEach(function(e,r){var l=parseInt(t[r+1],10);switch(e.toLowerCase().charAt(0)){case"y":a=l;break;case"d":i=l;break;case"h":s=l;break;case"s":o=l;break;case"m":if(s>=0)f=l;else n=l;break;}});if(o>=0&&f==-1&&n>=0){f=n;n=-1}var l=(""+(a>=0?a:(new Date).getFullYear())).slice(-4)+"-"+("00"+(n>=1?n:1)).slice(-2)+"-"+("00"+(i>=1?i:1)).slice(-2);if(l.length==7)l="0"+l;if(l.length==8)l="20"+l;var c=("00"+(s>=0?s:0)).slice(-2)+":"+("00"+(f>=0?f:0)).slice(-2)+":"+("00"+(o>=0?o:0)).slice(-2);if(s==-1&&f==-1&&o==-1)return l;if(a==-1&&n==-1&&i==-1)return c;return l+"T"+c}var Ye=function(){var e={};e.version="1.2.0";function r(){var e=0,r=new Array(256);for(var t=0;t!=256;++t){e=t;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;r[t]=e}return typeof Int32Array!=="undefined"?new Int32Array(r):r}var t=r();function a(e){var r=0,t=0,a=0,n=typeof Int32Array!=="undefined"?new Int32Array(4096):new Array(4096);for(a=0;a!=256;++a)n[a]=e[a];for(a=0;a!=256;++a){t=e[a];for(r=256+a;r<4096;r+=256)t=n[r]=t>>>8^e[t&255]}var i=[];for(a=1;a!=16;++a)i[a-1]=typeof Int32Array!=="undefined"?n.subarray(a*256,a*256+256):n.slice(a*256,a*256+256);return i}var n=a(t);var i=n[0],s=n[1],f=n[2],o=n[3],l=n[4];var c=n[5],h=n[6],u=n[7],d=n[8],v=n[9];var p=n[10],g=n[11],m=n[12],b=n[13],w=n[14];function k(e,r){var a=r^-1;for(var n=0,i=e.length;n>>8^t[(a^e.charCodeAt(n++))&255];return~a}function T(e,r){var a=r^-1,n=e.length-15,k=0;for(;k>8&255]^m[e[k++]^a>>16&255]^g[e[k++]^a>>>24]^p[e[k++]]^v[e[k++]]^d[e[k++]]^u[e[k++]]^h[e[k++]]^c[e[k++]]^l[e[k++]]^o[e[k++]]^f[e[k++]]^s[e[k++]]^i[e[k++]]^t[e[k++]];n+=15;while(k>>8^t[(a^e[k++])&255];return~a}function A(e,r){var a=r^-1;for(var n=0,i=e.length,s=0,f=0;n>>8^t[(a^s)&255]}else if(s<2048){a=a>>>8^t[(a^(192|s>>6&31))&255];a=a>>>8^t[(a^(128|s&63))&255]}else if(s>=55296&&s<57344){s=(s&1023)+64;f=e.charCodeAt(n++)&1023;a=a>>>8^t[(a^(240|s>>8&7))&255];a=a>>>8^t[(a^(128|s>>2&63))&255];a=a>>>8^t[(a^(128|f>>6&15|(s&3)<<4))&255];a=a>>>8^t[(a^(128|f&63))&255]}else{a=a>>>8^t[(a^(224|s>>12&15))&255];a=a>>>8^t[(a^(128|s>>6&63))&255];a=a>>>8^t[(a^(128|s&63))&255]}}return~a}e.table=t;e.bstr=k;e.buf=T;e.str=A;return e}();var Ke=function ek(){var e={};e.version="1.2.1";function r(e,r){var t=e.split("/"),a=r.split("/");for(var n=0,i=0,s=Math.min(t.length,a.length);n>>1;e._W(2,t);var a=r.getFullYear()-1980;a=a<<4|r.getMonth()+1;a=a<<5|r.getDate();e._W(2,a)}function i(e){var r=e._R(2)&65535;var t=e._R(2)&65535;var a=new Date;var n=t&31;t>>>=5;var i=t&15;t>>>=4;a.setMilliseconds(0);a.setFullYear(t+1980);a.setMonth(i-1);a.setDate(n);var s=r&31;r>>>=5;var f=r&63;r>>>=6;a.setHours(r);a.setMinutes(f);a.setSeconds(s<<1);return a}function s(e){ca(e,0);var r={};var t=0;while(e.l<=e.length-4){var a=e._R(2);var n=e._R(2),i=e.l+n;var s={};switch(a){case 21589:{t=e._R(1);if(t&1)s.mtime=e._R(4);if(n>5){if(t&2)s.atime=e._R(4);if(t&4)s.ctime=e._R(4)}if(s.mtime)s.mt=new Date(s.mtime*1e3)}break;}e.l=i;r[a]=s}return r}var f;function o(){return f||(f=undefined)}function l(e,r){if(e[0]==80&&e[1]==75)return Ie(e,r);if((e[0]|32)==109&&(e[1]|32)==105)return We(e,r);if(e.length<512)throw new Error("CFB file size "+e.length+" < 512");var t=3;var a=512;var n=0;var i=0;var s=0;var f=0;var o=0;var l=[];var v=e.slice(0,512);ca(v,0);var g=c(v);t=g[0];switch(t){case 3:a=512;break;case 4:a=4096;break;case 0:if(g[1]==0)return Ie(e,r);default:throw new Error("Major Version: Expected 3 or 4 saw "+t);}if(a!==512){v=e.slice(0,a);ca(v,28)}var w=e.slice(0,a);h(v,t);var k=v._R(4,"i");if(t===3&&k!==0)throw new Error("# Directory Sectors: Expected 0 saw "+k);v.l+=4;s=v._R(4,"i");v.l+=4;v.chk("00100000","Mini Stream Cutoff Size: ");f=v._R(4,"i");n=v._R(4,"i");o=v._R(4,"i");i=v._R(4,"i");for(var T=-1,A=0;A<109;++A){T=v._R(4,"i");if(T<0)break;l[A]=T}var E=u(e,a);p(o,i,E,a,l);var C=m(E,s,l,a);C[s].name="!Directory";if(n>0&&f!==U)C[f].name="!MiniFAT";C[l[0]].name="!FAT";C.fat_addrs=l;C.ssz=a;var y={},S=[],_=[],x=[];b(s,C,E,S,n,y,_,f);d(_,x,S);S.shift();var O={FileIndex:_,FullPaths:x};if(r&&r.raw)O.raw={header:w,sectors:E};return O}function c(e){if(e[e.l]==80&&e[e.l+1]==75)return[0,0];e.chk(B,"Header Signature: ");e.l+=16;var r=e._R(2,"u");return[e._R(2,"u"),r]}function h(e,r){var t=9;e.l+=2;switch(t=e._R(2)){case 9:if(r!=3)throw new Error("Sector Shift: Expected 9 saw "+t);break;case 12:if(r!=4)throw new Error("Sector Shift: Expected 12 saw "+t);break;default:throw new Error("Sector Shift: Expected 9 or 12 saw "+t);}e.chk("0600","Mini Sector Shift: ");e.chk("000000000000","Reserved: ")}function u(e,r){var t=Math.ceil(e.length/r)-1;var a=[];for(var n=1;n0&&s>=0){i.push(r.slice(s*M,s*M+M));n-=M;s=ta(t,s*4)}if(i.length===0)return ua(0);return R(i).slice(0,e.size)}function p(e,r,t,a,n){var i=U;if(e===U){if(r!==0)throw new Error("DIFAT chain shorter than expected")}else if(e!==-1){var s=t[e],f=(a>>>2)-1;if(!s)return;for(var o=0;o=0;){n[o]=true;i[i.length]=o;s.push(e[o]);var c=t[Math.floor(o*4/a)];l=o*4&f;if(a<4+l)throw new Error("FAT boundary crossed: "+o+" 4 "+a);if(!e[c])break;o=ta(e[c],l)}return{nodes:i,data:It([s])}}function m(e,r,t,a){var n=e.length,i=[];var s=[],f=[],o=[];var l=a-1,c=0,h=0,u=0,d=0;for(c=0;c=n)u-=n;if(s[u])continue;o=[];var v=[];for(h=u;h>=0;){v[h]=true;s[h]=true;f[f.length]=h;o.push(e[h]);var p=t[Math.floor(h*4/a)];d=h*4&l;if(a<4+d)throw new Error("FAT boundary crossed: "+h+" 4 "+a);if(!e[p])break;h=ta(e[p],d);if(v[h])break}i[u]={nodes:f,data:It([o])}}return i}function b(e,r,t,a,n,i,s,f){var o=0,l=a.length?2:0;var c=r[e].data;var h=0,u=0,d;for(;h0&&o!==U)r[o].name="!StreamData"}else if(m.size>=4096){m.storage="fat";if(r[m.start]===undefined)r[m.start]=g(t,m.start,r.fat_addrs,r.ssz);r[m.start].name=m.name;m.content=r[m.start].data.slice(0,m.size)}else{m.storage="minifat";if(m.size<0)m.size=0;else if(o!==U&&m.start!==U&&r[o]){m.content=v(m,r[o].data,(r[f]||{}).data)}}if(m.content)ca(m.content,0);i[d]=m;s.push(m)}}function S(e,r){return new Date((ra(e,r+4)/1e7*Math.pow(2,32)+ra(e,r)/1e7-11644473600)*1e3)}function _(e,r){o();return l(f.readFileSync(e),r)}function x(e,r){var t=r&&r.type;if(!t){if(T&&Buffer.isBuffer(e))t="buffer"}switch(t||"base64"){case"file":return _(e,r);case"base64":return l(y(k(e)),r);case"binary":return l(y(e),r);}return l(e,r)}function O(e,r){var t=r||{},a=t.root||"Root Entry";if(!e.FullPaths)e.FullPaths=[];if(!e.FileIndex)e.FileIndex=[];if(e.FullPaths.length!==e.FileIndex.length)throw new Error("inconsistent CFB structure");if(e.FullPaths.length===0){e.FullPaths[0]=a+"/";e.FileIndex[0]={name:a,type:5}}if(t.CLSID)e.FileIndex[0].clsid=t.CLSID;I(e)}function I(e){var r="Sh33tJ5";if(Ke.find(e,"/"+r))return;var t=ua(4);t[0]=55;t[1]=t[3]=50;t[2]=54;e.FileIndex.push({name:r,type:2,content:t,size:4,L:69,R:69,C:69});e.FullPaths.push(e.FullPaths[0]+r);F(e)}function F(e,n){O(e);var i=false,s=false;for(var f=e.FullPaths.length-1;f>=0;--f){var o=e.FileIndex[f];switch(o.type){case 0:if(s)i=true;else{e.FileIndex.pop();e.FullPaths.pop()}break;case 1:;case 2:;case 5:s=true;if(isNaN(o.R*o.L*o.C))i=true;if(o.R>-1&&o.L>-1&&o.R==o.L)i=true;break;default:i=true;break;}}if(!i&&!n)return;var l=new Date(1987,1,19),c=0;var h=Object.create?Object.create(null):{};var u=[];for(f=0;f1?1:-1;v.size=0;v.type=5}else if(p.slice(-1)=="/"){for(c=f+1;c=u.length?-1:c;for(c=f+1;c=u.length?-1:c;v.type=1}else{if(t(e.FullPaths[f+1]||"")==t(p))v.R=f+1;v.type=2}}}function P(e,r){var t=r||{};if(t.fileType=="mad")return He(e,t);F(e);switch(t.fileType){case"zip":return De(e,t);}var a=function(e){var r=0,t=0;for(var a=0;a0){if(i<4096)r+=i+63>>6;else t+=i+511>>9}}var s=e.FullPaths.length+3>>2;var f=r+7>>3;var o=r+127>>7;var l=f+t+s+o;var c=l+127>>7;var h=c<=109?0:Math.ceil((c-109)/127);while(l+c+h+127>>7>c)h=++c<=109?0:Math.ceil((c-109)/127);var u=[1,h,c,o,s,t,r,0];e.FileIndex[0].size=r<<6;u[7]=(e.FileIndex[0].start=u[0]+u[1]+u[2]+u[3]+u[4]+u[5])+(u[6]+7>>3);return u}(e);var n=ua(a[7]<<9);var i=0,s=0;{for(i=0;i<8;++i)n._W(1,W[i]);for(i=0;i<8;++i)n._W(2,0);n._W(2,62);n._W(2,3);n._W(2,65534);n._W(2,9);n._W(2,6);for(i=0;i<3;++i)n._W(2,0);n._W(4,0);n._W(4,a[2]);n._W(4,a[0]+a[1]+a[2]+a[3]-1);n._W(4,0);n._W(4,1<<12);n._W(4,a[3]?a[0]+a[1]+a[2]-1:U);n._W(4,a[3]);n._W(-4,a[1]?a[0]-1:U);n._W(4,a[1]);for(i=0;i<109;++i)n._W(-4,i>9)}f(a[6]+7>>3);while(n.l&511)n._W(-4,z.ENDOFCHAIN);s=i=0;for(o=0;o=4096)continue;c.start=s;f(l+63>>6)}while(n.l&511)n._W(-4,z.ENDOFCHAIN);for(i=0;i=4096){n.l=c.start+1<<9;if(T&&Buffer.isBuffer(c.content)){c.content.copy(n,n.l,0,c.size);n.l+=c.size+511&-512}else{for(o=0;o0&&c.size<4096){if(T&&Buffer.isBuffer(c.content)){c.content.copy(n,n.l,0,c.size);n.l+=c.size+63&-64}else{for(o=0;o>16|r>>8|r)&255}var ee=typeof Uint8Array!=="undefined";var re=ee?new Uint8Array(1<<8):[];for(var te=0;te<1<<8;++te)re[te]=Q(te);function ae(e,r){var t=re[e&255];if(r<=8)return t>>>8-r;t=t<<8|re[e>>8&255];if(r<=16)return t>>>16-r;t=t<<8|re[e>>16&255];return t>>>24-r}function ne(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=6?0:e[a+1]<<8))>>>t&3}function ie(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=5?0:e[a+1]<<8))>>>t&7}function se(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=4?0:e[a+1]<<8))>>>t&15}function fe(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=3?0:e[a+1]<<8))>>>t&31}function oe(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=1?0:e[a+1]<<8))>>>t&127}function le(e,r,t){var a=r&7,n=r>>>3,i=(1<>>a;if(t<8-a)return s&i;s|=e[n+1]<<8-a;if(t<16-a)return s&i;s|=e[n+2]<<16-a;if(t<24-a)return s&i;s|=e[n+3]<<24-a;return s&i}function ce(e,r,t){var a=r&7,n=r>>>3;if(a<=5)e[n]|=(t&7)<>8-a}return r+3}function he(e,r,t){var a=r&7,n=r>>>3;t=(t&1)<>>3;t<<=a;e[n]|=t&255;t>>>=8;e[n+1]=t;return r+8}function de(e,r,t){var a=r&7,n=r>>>3;t<<=a;e[n]|=t&255;t>>>=8;e[n+1]=t&255;e[n+2]=t>>>8;return r+16}function ve(e,r){var t=e.length,a=2*t>r?2*t:r+5,n=0;if(t>=r)return e;if(T){var i=C(a);if(e.copy)e.copy(i);else for(;n>a-h;for(s=(1<=0;--s)r[f|s<0)r[r.l++]=e[t++]}return r.l}function i(r,t){var n=0;var i=0;var s=ee?new Uint16Array(32768):[];while(i0)t[t.l++]=r[i++];n=t.l*8;continue}n=ce(t,n,+!!(i+f==r.length)+2);var o=0;while(f-- >0){var l=r[i];o=(o<<5^l)&32767;var c=-1,h=0;if(c=s[o]){c|=i&~32767;if(c>i)c-=32768;if(c2){l=a[h];if(l<=22)n=ue(t,n,re[l+1]>>1)-1;else{ue(t,n,3);n+=5;ue(t,n,re[l-23]>>5);n+=3}var u=l<8?0:l-4>>2;if(u>0){de(t,n,h-q[l]);n+=u}l=e[i-c];n=ue(t,n,re[l]>>3);n-=3;var d=l<4?0:l-2>>1;if(d>0){de(t,n,i-c-Z[l]);n+=d}for(var v=0;v>8-v;for(var p=(1<<7-v)-1;p>=0;--p)Ce[d|p<>>=3){case 16:i=3+ne(e,r);r+=2;d=g[g.length-1];while(i-- >0)g.push(d);break;case 17:i=3+ie(e,r);r+=3;while(i-- >0)g.push(0);break;case 18:i=11+oe(e,r);r+=7;while(i-- >0)g.push(0);break;default:g.push(d);if(o>>0;var f=0,o=0;while((a&1)==0){a=ie(e,t);t+=3;if(a>>>1==0){if(t&7)t+=8-(t&7);var l=e[t>>>3]|e[(t>>>3)+1]<<8;t+=32;if(l>0){if(!r&&s0){n[i++]=e[t>>>3];t+=8}}continue}else if(a>>1==1){f=9;o=5}else{t=_e(e,t);f=ye;o=Se}for(;;){if(!r&&s>>1==1?me[c]:Ae[c];t+=h&15;h>>>=4;if((h>>>8&255)===0)n[i++]=h;else if(h==256)break;else{h-=257;var u=h<8?0:h-4>>2;if(u>5)u=0;var d=i+q[h];if(u>0){d+=le(e,t,u);t+=u}c=le(e,t,o);h=a>>>1==1?be[c]:Ee[c];t+=h&15;h>>>=4;var v=h<4?0:h-2>>1;var p=Z[h];if(v>0){p+=le(e,t,v);t+=v}if(!r&&s>>3];return[n.slice(0,i),t+7>>>3]}function Oe(e,r){var t=e.slice(e.l||0);var a=xe(t,r);e.l+=a[1];return a[0]}function Re(e,r){if(e){if(typeof console!=="undefined")console.error(r)}else throw new Error(r)}function Ie(e,r){var t=e;ca(t,0);var a=[],n=[];var i={FileIndex:a,FullPaths:n};O(i,{root:r.root});var f=t.length-4;while((t[f]!=80||t[f+1]!=75||t[f+2]!=5||t[f+3]!=6)&&f>=0)--f;t.l=f+4;t.l+=4;var o=t._R(2);t.l+=6;var l=t._R(4);t.l=l;for(f=0;f0){t=t.slice(0,t.length-1);t=t.slice(0,t.lastIndexOf("/")+1);if(i.slice(0,t.length)==t)break}}var s=(a[1]||"").match(/boundary="(.*?)"/);if(!s)throw new Error("MAD cannot find boundary");var f="--"+(s[1]||"");var o=[],l=[];var c={FileIndex:o,FullPaths:l};O(c);var h,u=0;for(n=0;n=32&&d<128)++h;var p=h>=u*4/5;n.push(a);n.push("Content-Location: "+(t.root||"file:///C:/SheetJS/")+s);n.push("Content-Transfer-Encoding: "+(p?"quoted-printable":"base64"));n.push("Content-Type: "+Pe(f,s));n.push("");n.push(p?Me(c):Le(c))}n.push(a+"--\r\n");return n.join("\r\n")}function ze(e){var r={};O(r,e);return r}function Ve(e,r,t,n){var i=n&&n.unsafe;if(!i)O(e);var s=!i&&Ke.find(e,r);if(!s){var f=e.FullPaths[0];if(r.slice(0,f.length)==f)f=r;else{if(f.slice(-1)!="/")f+="/";f=(f+r).replace("//","/")}s={name:a(r),type:2};e.FileIndex.push(s);e.FullPaths.push(f);if(!i)Ke.utils.cfb_gc(e)}s.content=t;s.size=t?t.length:0;if(n){if(n.CLSID)s.clsid=n.CLSID;if(n.mt)s.mt=n.mt;if(n.ct)s.ct=n.ct}return s}function Ge(e,r){O(e);var t=Ke.find(e,r);if(t)for(var a=0;a3)a=true;switch(n[i].slice(n[i].length-1)){case"Y":throw new Error("Unsupported ISO Duration Field: "+n[i].slice(n[i].length-1));case"D":t*=24;case"H":t*=60;case"M":if(!a)throw new Error("Unsupported ISO Duration Field: M");else t*=60;case"S":break;}r+=t*parseInt(n[i],10)}return r}var dr=new Date("2017-02-19T19:06:09.000Z");var vr=isNaN(dr.getFullYear())?new Date("2/19/17"):dr;var pr=vr.getFullYear()==2017;function gr(e,r){var t=new Date(e);if(pr){if(r>0)t.setTime(t.getTime()+t.getTimezoneOffset()*60*1e3);else if(r<0)t.setTime(t.getTime()-t.getTimezoneOffset()*60*1e3);return t}if(e instanceof Date)return e;if(vr.getFullYear()==1917&&!isNaN(t.getFullYear())){var a=t.getFullYear();if(e.indexOf(""+a)>-1)return t;t.setFullYear(t.getFullYear()+100);return t}var n=e.match(/\d+/g)||["2017","2","19","0","0","0"];var i=new Date(+n[0],+n[1]-1,+n[2],+n[3]||0,+n[4]||0,+n[5]||0);if(e.indexOf("Z")>-1)i=new Date(i.getTime()-i.getTimezoneOffset()*60*1e3);return i}function mr(e,r){if(T&&Buffer.isBuffer(e)){if(r){if(e[0]==255&&e[1]==254)return ct(e.slice(2).toString("utf16le"));if(e[1]==254&&e[2]==255)return ct(u(e.slice(2).toString("binary")))}return e.toString("binary")}if(typeof TextDecoder!=="undefined")try{if(r){if(e[0]==255&&e[1]==254)return ct(new TextDecoder("utf-16le").decode(e.slice(2)));if(e[0]==254&&e[1]==255)return ct(new TextDecoder("utf-16be").decode(e.slice(2)))}var t={"€":"€","‚":"‚","ƒ":"ƒ","„":"„","…":"…","†":"†","‡":"‡","ˆ":"ˆ","‰":"‰","Š":"Š","‹":"‹","Œ":"Œ","Ž":"Ž","‘":"‘","’":"’","“":"“","”":"”","•":"•","–":"–","—":"—","˜":"˜","™":"™","š":"š","›":"›","œ":"œ","ž":"ž","Ÿ":"Ÿ"};if(Array.isArray(e))e=new Uint8Array(e);return new TextDecoder("latin1").decode(e).replace(/[€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ]/g,function(e){return t[e]||e})}catch(a){}var n=[];for(var i=0;i!=e.length;++i)n.push(String.fromCharCode(e[i]));return n.join("")}function br(e){if(typeof JSON!="undefined"&&!Array.isArray(e))return JSON.parse(JSON.stringify(e));if(typeof e!="object"||e==null)return e;if(e instanceof Date)return new Date(e.getTime());var r={};for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))r[t]=br(e[t]);return r}function wr(e,r){var t="";while(t.length3&&Tr.indexOf(s)==-1)return t}else if(s.match(/[a-z]/))return t;if(a<0||a>8099)return t;if((n>0||i>1)&&a!=101)return r;if(e.match(/[^-0-9:,\/\\]/))return t;return r}var Er=function(){var e="abacaba".split(/(:?b)/i).length==5;return function r(t,a,n){if(e||typeof a=="string")return t.split(a);var i=t.split(a),s=[i[0]];for(var f=1;f\/]+)\s*=\s*((?:")([^"]*)(?:")|(?:')([^']*)(?:')|([^'">\s]+))/g;var Br=/<[\/\?]?[a-zA-Z0-9:_-]+(?:\s+[^"\s?>\/]+\s*=\s*(?:"[^"]*"|'[^']*'|[^'">\s=]+))*\s*[\/\?]?>/gm,Wr=/<[^>]*>/g;var Hr=Mr.match(Br)?Br:Wr;var zr=/<\w*:/,Vr=/<(\/?)\w+:/;function Gr(e,r,t){var a={};var n=0,i=0;for(;n!==e.length;++n)if((i=e.charCodeAt(n))===32||i===10||i===13)break;if(!r)a[0]=e.slice(0,n);if(n===e.length)return a;var s=e.match(Ur),f=0,o="",l=0,c="",h="",u=1;if(s)for(l=0;l!=s.length;++l){h=s[l];for(i=0;i!=h.length;++i)if(h.charCodeAt(i)===61)break;c=h.slice(0,i).trim();while(h.charCodeAt(i+1)==32)++i;u=(n=h.charCodeAt(i+1))==34||n==39?1:0;o=h.slice(i+1+u,h.length-u);for(f=0;f!=c.length;++f)if(c.charCodeAt(f)===58)break;if(f===c.length){if(c.indexOf("_")>0)c=c.slice(0,c.indexOf("_"));a[c]=o;if(!t)a[c.toLowerCase()]=o}else{var d=(f===5&&c.slice(0,5)==="xmlns"?"xmlns":"")+c.slice(f+1);if(a[d]&&c.slice(f-3,f)=="ext")continue;a[d]=o;if(!t)a[d.toLowerCase()]=o}}return a}function jr(e){return e.replace(Vr,"<$1")}var Xr={""":'"',"'":"'",">":">","<":"<","&":"&"};var $r=ar(Xr);var Yr=function(){var e=/&(?:quot|apos|gt|lt|amp|#x?([\da-fA-F]+));/gi,r=/_x([\da-fA-F]{4})_/gi;return function t(a){var n=a+"",i=n.indexOf("-1?16:10))||e}).replace(r,function(e,r){return String.fromCharCode(parseInt(r,16))});var s=n.indexOf("]]>");return t(n.slice(0,i))+n.slice(i+9,s)+t(n.slice(s+3))}}();var Kr=/[&<>'"]/g,Jr=/[\u0000-\u0008\u000b-\u001f]/g;function qr(e){var r=e+"";return r.replace(Kr,function(e){return $r[e]}).replace(Jr,function(e){return"_x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+"_"})}function Zr(e){return qr(e).replace(/ /g,"_x0020_")}var Qr=/[\u0000-\u001f]/g;function et(e){var r=e+"";return r.replace(Kr,function(e){return $r[e]}).replace(/\n/g,"
    ").replace(Qr,function(e){return"&#x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+";"})}function rt(e){var r=e+"";return r.replace(Kr,function(e){return $r[e]}).replace(Qr,function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"})}var tt=function(){var e=/&#(\d+);/g;function r(e,r){return String.fromCharCode(parseInt(r,10))}return function t(a){return a.replace(e,r)}}();function at(e){return e.replace(/(\r\n|[\r\n])/g," ")}function nt(e){switch(e){case 1:;case true:;case"1":;case"true":;case"TRUE":return true;default:return false;}}function it(e){var r="",t=0,a=0,n=0,i=0,s=0,f=0;while(t191&&a<224){s=(a&31)<<6;s|=n&63;r+=String.fromCharCode(s);continue}i=e.charCodeAt(t++);if(a<240){r+=String.fromCharCode((a&15)<<12|(n&63)<<6|i&63);continue}s=e.charCodeAt(t++);f=((a&7)<<18|(n&63)<<12|(i&63)<<6|s&63)-65536;r+=String.fromCharCode(55296+(f>>>10&1023));r+=String.fromCharCode(56320+(f&1023))}return r}function st(e){var r=E(2*e.length),t,a,n=1,i=0,s=0,f;for(a=0;a>>10&1023);t=56320+(t&1023)}if(s!==0){r[i++]=s&255;r[i++]=s>>>8;s=0}r[i++]=t%256;r[i++]=t>>>8}return r.slice(0,i).toString("ucs2")}function ft(e){return A(e,"binary").toString("utf8")}var ot="foo bar baz☃🍣";var lt=T&&(ft(ot)==it(ot)&&ft||st(ot)==it(ot)&&st)||it;var ct=T?function(e){return A(e,"utf8").toString("binary")}:function(e){var r=[],t=0,a=0,n=0;while(t>6)));r.push(String.fromCharCode(128+(a&63)));break;case a>=55296&&a<57344:a-=55296;n=e.charCodeAt(t++)-56320+(a<<10);r.push(String.fromCharCode(240+(n>>18&7)));r.push(String.fromCharCode(144+(n>>12&63)));r.push(String.fromCharCode(128+(n>>6&63)));r.push(String.fromCharCode(128+(n&63)));break;default:r.push(String.fromCharCode(224+(a>>12)));r.push(String.fromCharCode(128+(a>>6&63)));r.push(String.fromCharCode(128+(a&63)));}}return r.join("")};var ht=function(){var e={};return function r(t,a){var n=t+"|"+(a||"");if(e[n])return e[n];return e[n]=new RegExp("<(?:\\w+:)?"+t+'(?: xml:space="preserve")?(?:[^>]*)>([\\s\\S]*?)",a||"")}}();var ut=function(){var e=[["nbsp"," "],["middot","·"],["quot",'"'],["apos","'"],["gt",">"],["lt","<"],["amp","&"]].map(function(e){return[new RegExp("&"+e[0]+";","ig"),e[1]]});return function r(t){var a=t.replace(/^[\t\n\r ]+/,"").replace(/[\t\n\r ]+$/,"").replace(/>\s+/g,">").replace(/\s+/g,"\n").replace(/<[^>]*>/g,"");for(var n=0;n([\\s\\S]*?)","g")}}();var vt=/<\/?(?:vt:)?variant>/g,pt=/<(?:vt:)([^>]*)>([\s\S]*)"+r+""}function wt(e){return rr(e).map(function(r){return" "+r+'="'+e[r]+'"'}).join("")}function kt(e,r,t){return"<"+e+(t!=null?wt(t):"")+(r!=null?(r.match(mt)?' xml:space="preserve"':"")+">"+r+""}function Tt(e,r){try{return e.toISOString().replace(/\.\d*/,"")}catch(t){if(r)throw t}return""}function At(e,r){switch(typeof e){case"string":var t=kt("vt:lpwstr",qr(e));if(r)t=t.replace(/"/g,"_x0022_");return t;case"number":return kt((e|0)==e?"vt:i4":"vt:r8",qr(String(e)));case"boolean":return kt("vt:bool",e?"true":"false");}if(e instanceof Date)return kt("vt:filetime",Tt(e));throw new Error("Unable to serialize "+e)}function Et(e){if(T&&Buffer.isBuffer(e))return e.toString("utf8");if(typeof e==="string")return e;if(typeof Uint8Array!=="undefined"&&e instanceof Uint8Array)return lt(_(O(e)));throw new Error("Bad input format: expected Buffer or string")}var Ct=/<(\/?)([^\s?>:\/]+)(?:[\s?:\/][^>]*)?>/gm;var yt={CORE_PROPS:"http://schemas.openxmlformats.org/package/2006/metadata/core-properties",CUST_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties",EXT_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties",CT:"http://schemas.openxmlformats.org/package/2006/content-types",RELS:"http://schemas.openxmlformats.org/package/2006/relationships",TCMNT:"http://schemas.microsoft.com/office/spreadsheetml/2018/threadedcomments",dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/",dcmitype:"http://purl.org/dc/dcmitype/",mx:"http://schemas.microsoft.com/office/mac/excel/2008/main",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",sjs:"http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties",vt:"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes",xsi:"http://www.w3.org/2001/XMLSchema-instance",xsd:"http://www.w3.org/2001/XMLSchema"};var St=["http://schemas.openxmlformats.org/spreadsheetml/2006/main","http://purl.oclc.org/ooxml/spreadsheetml/main","http://schemas.microsoft.com/office/excel/2006/main","http://schemas.microsoft.com/office/excel/2006/2"];var _t={o:"urn:schemas-microsoft-com:office:office",x:"urn:schemas-microsoft-com:office:excel",ss:"urn:schemas-microsoft-com:office:spreadsheet",dt:"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882",mv:"http://macVmlSchemaUri",v:"urn:schemas-microsoft-com:vml",html:"http://www.w3.org/TR/REC-html40"};function xt(e,r){var t=1-2*(e[r+7]>>>7);var a=((e[r+7]&127)<<4)+(e[r+6]>>>4&15);var n=e[r+6]&15;for(var i=5;i>=0;--i)n=n*256+e[r+i];if(a==2047)return n==0?t*Infinity:NaN;if(a==0)a=-1022;else{a-=1023;n+=Math.pow(2,52)}return t*Math.pow(2,a-52)*n}function Ot(e,r,t){var a=(r<0||1/r==-Infinity?1:0)<<7,n=0,i=0;var s=a?-r:r;if(!isFinite(s)){n=2047;i=isNaN(r)?26985:0}else if(s==0)n=i=0;else{n=Math.floor(Math.log(s)/Math.LN2);i=s*Math.pow(2,52-n);if(n<=-1023&&(!isFinite(i)||i>4|a}var Rt=function(e){var r=[],t=10240;for(var a=0;a0&&Buffer.isBuffer(e[0][0])?Buffer.concat(e[0].map(function(e){return Buffer.isBuffer(e)?e:A(e)})):Rt(e)}:Rt;var Nt=function(e,r,t){var a=[];for(var n=r;n0?Mt(e,r+4,r+4+t-1):""};var Bt=Ut;var Wt=function(e,r){var t=ra(e,r);return t>0?Mt(e,r+4,r+4+t-1):""};var Ht=Wt;var zt=function(e,r){var t=2*ra(e,r);return t>0?Mt(e,r+4,r+4+t-1):""};var Vt=zt;var Gt=function tk(e,r){var t=ra(e,r);return t>0?Dt(e,r+4,r+4+t):""};var jt=Gt;var Xt=function(e,r){var t=ra(e,r);return t>0?Mt(e,r+4,r+4+t):""};var $t=Xt;var Yt=function(e,r){return xt(e,r)};var Kt=Yt;var Jt=function ak(e){return Array.isArray(e)||typeof Uint8Array!=="undefined"&&e instanceof Uint8Array};if(T){Bt=function nk(e,r){if(!Buffer.isBuffer(e))return Ut(e,r);var t=e.readUInt32LE(r);return t>0?e.toString("utf8",r+4,r+4+t-1):""};Ht=function ik(e,r){if(!Buffer.isBuffer(e))return Wt(e,r);var t=e.readUInt32LE(r);return t>0?e.toString("utf8",r+4,r+4+t-1):""};Vt=function sk(e,r){if(!Buffer.isBuffer(e))return zt(e,r);var t=2*e.readUInt32LE(r);return e.toString("utf16le",r+4,r+4+t-1)};jt=function fk(e,r){if(!Buffer.isBuffer(e))return Gt(e,r);var t=e.readUInt32LE(r);return e.toString("utf16le",r+4,r+4+t)};$t=function ok(e,r){if(!Buffer.isBuffer(e))return Xt(e,r);var t=e.readUInt32LE(r);return e.toString("utf8",r+4,r+4+t)};Kt=function lk(e,r){if(Buffer.isBuffer(e))return e.readDoubleLE(r);return Yt(e,r)};Jt=function ck(e){return Buffer.isBuffer(e)||Array.isArray(e)||typeof Uint8Array!=="undefined"&&e instanceof Uint8Array}}function qt(){Dt=function(e,r,t){return a.utils.decode(1200,e.slice(r,t)).replace(N,"")};Mt=function(e,r,t){return a.utils.decode(65001,e.slice(r,t))};Bt=function(e,r){var n=ra(e,r);return n>0?a.utils.decode(t,e.slice(r+4,r+4+n-1)):""};Ht=function(e,t){var n=ra(e,t);return n>0?a.utils.decode(r,e.slice(t+4,t+4+n-1)):""};Vt=function(e,r){var t=2*ra(e,r);return t>0?a.utils.decode(1200,e.slice(r+4,r+4+t-1)):""};jt=function(e,r){var t=ra(e,r);return t>0?a.utils.decode(1200,e.slice(r+4,r+4+t)):""};$t=function(e,r){var t=ra(e,r);return t>0?a.utils.decode(65001,e.slice(r+4,r+4+t)):""}}if(typeof a!=="undefined")qt();var Zt=function(e,r){return e[r]};var Qt=function(e,r){return e[r+1]*(1<<8)+e[r]};var ea=function(e,r){var t=e[r+1]*(1<<8)+e[r];return t<32768?t:(65535-t+1)*-1};var ra=function(e,r){return e[r+3]*(1<<24)+(e[r+2]<<16)+(e[r+1]<<8)+e[r]};var ta=function(e,r){return e[r+3]<<24|e[r+2]<<16|e[r+1]<<8|e[r]};var aa=function(e,r){return e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3]};function na(e,t){var n="",i,s,f=[],o,l,c,h;switch(t){case"dbcs":h=this.l;if(T&&Buffer.isBuffer(this))n=this.slice(this.l,this.l+2*e).toString("utf16le");else for(c=0;c0?ta:aa)(this,this.l);this.l+=4;return i}else{s=ra(this,this.l);this.l+=4}return s;case 8:;case-8:if(t==="f"){if(e==8)s=Kt(this,this.l);else s=Kt([this[this.l+7],this[this.l+6],this[this.l+5],this[this.l+4],this[this.l+3],this[this.l+2],this[this.l+1],this[this.l+0]],0);this.l+=8;return s}else e=8;case 16:n=Pt(this,this.l,e);break;};}this.l+=e;return n}var ia=function(e,r,t){e[t]=r&255;e[t+1]=r>>>8&255;e[t+2]=r>>>16&255;e[t+3]=r>>>24&255};var sa=function(e,r,t){e[t]=r&255;e[t+1]=r>>8&255;e[t+2]=r>>16&255;e[t+3]=r>>24&255};var fa=function(e,r,t){e[t]=r&255;e[t+1]=r>>>8&255};function oa(e,r,n){var i=0,s=0;if(n==="dbcs"){for(s=0;s!=r.length;++s)fa(this,r.charCodeAt(s),this.l+2*s);i=2*r.length}else if(n==="sbcs"){if(typeof a!=="undefined"&&t==874){for(s=0;s!=r.length;++s){var f=a.utils.encode(t,r.charAt(s));this[this.l+s]=f[0]}}else{r=r.replace(/[^\x00-\x7F]/g,"_");for(s=0;s!=r.length;++s)this[this.l+s]=r.charCodeAt(s)&255}i=r.length}else if(n==="hex"){for(;s>8}while(this.l>>=8;this[this.l+1]=r&255;break;case 3:i=3;this[this.l]=r&255;r>>>=8;this[this.l+1]=r&255;r>>>=8;this[this.l+2]=r&255;break;case 4:i=4;ia(this,r,this.l);break;case 8:i=8;if(n==="f"){Ot(this,r,this.l);break};case 16:break;case-4:i=4;sa(this,r,this.l);break;}this.l+=i;return this}function la(e,r){var t=Pt(this,this.l,e.length>>1);if(t!==e)throw new Error(r+"Expected "+e+" saw "+t);this.l+=e.length>>1}function ca(e,r){e.l=r;e._R=na;e.chk=la;e._W=oa}function ha(e,r){e.l+=r}function ua(e){var r=E(e);ca(r,0);return r}function da(e,r,t){if(!e)return;var a,n,i;ca(e,e.l||0);var s=e.length,f=0,o=0;while(e.la.l){a=a.slice(0,a.l);a.l=a.length}if(a.length>0)e.push(a);a=null};var i=function c(e){if(a&&e=128?1:0)+1;if(a>=128)++i;if(a>=16384)++i;if(a>=2097152)++i;var s=e.next(i);if(n<=127)s._W(1,n);else{s._W(1,(n&127)+128);s._W(1,n>>7)}for(var f=0;f!=4;++f){if(a>=128){s._W(1,(a&127)+128);a>>=7}else{s._W(1,a);break}}if(a>0&&Jt(t))e.push(t)}function ga(e,r,t){var a=br(e);if(r.s){if(a.cRel)a.c+=r.s.c;if(a.rRel)a.r+=r.s.r}else{if(a.cRel)a.c+=r.c;if(a.rRel)a.r+=r.r}if(!t||t.biff<12){while(a.c>=256)a.c-=256;while(a.r>=65536)a.r-=65536}return a}function ma(e,r,t){var a=br(e);a.s=ga(a.s,r.s,t);a.e=ga(a.e,r.s,t);return a}function ba(e,r){if(e.cRel&&e.c<0){e=br(e);while(e.c<0)e.c+=r>8?16384:256}if(e.rRel&&e.r<0){e=br(e);while(e.r<0)e.r+=r>8?1048576:r>5?65536:16384}var t=Ra(e);if(!e.cRel&&e.cRel!=null)t=Sa(t);if(!e.rRel&&e.rRel!=null)t=Aa(t);return t}function wa(e,r){if(e.s.r==0&&!e.s.rRel){if(e.e.r==(r.biff>=12?1048575:r.biff>=8?65536:16384)&&!e.e.rRel){return(e.s.cRel?"":"$")+ya(e.s.c)+":"+(e.e.cRel?"":"$")+ya(e.e.c); +}}if(e.s.c==0&&!e.s.cRel){if(e.e.c==(r.biff>=12?16383:255)&&!e.e.cRel){return(e.s.rRel?"":"$")+Ta(e.s.r)+":"+(e.e.rRel?"":"$")+Ta(e.e.r)}}return ba(e.s,r.biff)+":"+ba(e.e,r.biff)}function ka(e){return parseInt(Ea(e),10)-1}function Ta(e){return""+(e+1)}function Aa(e){return e.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")}function Ea(e){return e.replace(/\$(\d+)$/,"$1")}function Ca(e){var r=_a(e),t=0,a=0;for(;a!==r.length;++a)t=26*t+r.charCodeAt(a)-64;return t-1}function ya(e){if(e<0)throw new Error("invalid column "+e);var r="";for(++e;e;e=Math.floor((e-1)/26))r=String.fromCharCode((e-1)%26+65)+r;return r}function Sa(e){return e.replace(/^([A-Z])/,"$$$1")}function _a(e){return e.replace(/^\$([A-Z])/,"$1")}function xa(e){return e.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")}function Oa(e){var r=0,t=0;for(var a=0;a=48&&n<=57)r=10*r+(n-48);else if(n>=65&&n<=90)t=26*t+(n-64)}return{c:t-1,r:r-1}}function Ra(e){var r=e.c+1;var t="";for(;r;r=(r-1)/26|0)t=String.fromCharCode((r-1)%26+65)+t;return t+(e.r+1)}function Ia(e){var r=e.indexOf(":");if(r==-1)return{s:Oa(e),e:Oa(e)};return{s:Oa(e.slice(0,r)),e:Oa(e.slice(r+1))}}function Na(e,r){if(typeof r==="undefined"||typeof r==="number"){return Na(e.s,e.e)}if(typeof e!=="string")e=Ra(e);if(typeof r!=="string")r=Ra(r);return e==r?e:e+":"+r}function Da(e){var r={s:{c:0,r:0},e:{c:0,r:0}};var t=0,a=0,n=0;var i=e.length;for(t=0;a26)break;t=26*t+n}r.s.c=--t;for(t=0;a9)break;t=10*t+n}r.s.r=--t;if(a===i||n!=10){r.e.c=r.s.c;r.e.r=r.s.r;return r}++a;for(t=0;a!=i;++a){if((n=e.charCodeAt(a)-64)<1||n>26)break;t=26*t+n}r.e.c=--t;for(t=0;a!=i;++a){if((n=e.charCodeAt(a)-48)<0||n>9)break;t=10*t+n}r.e.r=--t;return r}function Fa(e,r){var t=e.t=="d"&&r instanceof Date;if(e.z!=null)try{return e.w=Be(e.z,t?fr(r):r)}catch(a){}try{return e.w=Be((e.XF||{}).numFmtId||(t?14:0),t?fr(r):r)}catch(a){return""+r}}function Pa(e,r,t){if(e==null||e.t==null||e.t=="z")return"";if(e.w!==undefined)return e.w;if(e.t=="d"&&!e.z&&t&&t.dateNF)e.z=t.dateNF;if(e.t=="e")return Gn[e.v]||e.v;if(r==undefined)return Fa(e,e.v);return Fa(e,r)}function La(e,r){var t=r&&r.sheet?r.sheet:"Sheet1";var a={};a[t]=e;return{SheetNames:[t],Sheets:a}}function Ma(e,r,t){var a=t||{};var n=e?Array.isArray(e):a.dense;if(g!=null&&n==null)n=g;var i=e||(n?[]:{});var s=0,f=0;if(i&&a.origin!=null){if(typeof a.origin=="number")s=a.origin;else{var o=typeof a.origin=="string"?Oa(a.origin):a.origin;s=o.r;f=o.c}if(!i["!ref"])i["!ref"]="A1:A1"}var l={s:{c:1e7,r:1e7},e:{c:0,r:0}};if(i["!ref"]){var c=Da(i["!ref"]);l.s.c=c.s.c;l.s.r=c.s.r;l.e.c=Math.max(l.e.c,c.e.c);l.e.r=Math.max(l.e.r,c.e.r);if(s==-1)l.e.r=s=c.e.r+1}for(var h=0;h!=r.length;++h){if(!r[h])continue;if(!Array.isArray(r[h]))throw new Error("aoa_to_sheet expects an array of arrays");for(var u=0;u!=r[h].length;++u){if(typeof r[h][u]==="undefined")continue;var d={v:r[h][u]};var v=s+h,p=f+u;if(l.s.r>v)l.s.r=v;if(l.s.c>p)l.s.c=p;if(l.e.r0)r._W(0,e,"dbcs");return t?r.slice(0,r.l):r}function Va(e){return{ich:e._R(2),ifnt:e._R(2)}}function Ga(e,r){if(!r)r=ua(4);r._W(2,e.ich||0);r._W(2,e.ifnt||0);return r}function ja(e,r){var t=e.l;var a=e._R(1);var n=Ha(e);var i=[];var s={t:n,h:n};if((a&1)!==0){var f=e._R(4);for(var o=0;o!=f;++o)i.push(Va(e));s.r=i}else s.r=[{ich:0,ifnt:0}];e.l=t+r;return s}function Xa(e,r){var t=false;if(r==null){t=true;r=ua(15+4*e.t.length)}r._W(1,0);za(e.t,r);return t?r.slice(0,r.l):r}var $a=ja;function Ya(e,r){var t=false;if(r==null){t=true;r=ua(23+4*e.t.length)}r._W(1,1);za(e.t,r);r._W(4,1);Ga({ich:0,ifnt:0},r);return t?r.slice(0,r.l):r}function Ka(e){var r=e._R(4);var t=e._R(2);t+=e._R(1)<<16;e.l++;return{c:r,iStyleRef:t}}function Ja(e,r){if(r==null)r=ua(8);r._W(-4,e.c);r._W(3,e.iStyleRef||e.s);r._W(1,0);return r}function qa(e){var r=e._R(2);r+=e._R(1)<<16;e.l++;return{c:-1,iStyleRef:r}}function Za(e,r){if(r==null)r=ua(4);r._W(3,e.iStyleRef||e.s);r._W(1,0);return r}var Qa=Ha;var en=za;function rn(e){var r=e._R(4);return r===0||r===4294967295?"":e._R(r,"dbcs")}function tn(e,r){var t=false;if(r==null){t=true;r=ua(127)}r._W(4,e.length>0?e.length:4294967295);if(e.length>0)r._W(0,e,"dbcs");return t?r.slice(0,r.l):r}var an=Ha;var nn=rn;var sn=tn;function fn(e){var r=e.slice(e.l,e.l+4);var t=r[0]&1,a=r[0]&2;e.l+=4;var n=a===0?Kt([0,0,0,0,r[0]&252,r[1],r[2],r[3]],0):ta(r,0)>>2;return t?n/100:n}function on(e,r){if(r==null)r=ua(4);var t=0,a=0,n=e*100;if(e==(e|0)&&e>=-(1<<29)&&e<1<<29){a=1}else if(n==(n|0)&&n>=-(1<<29)&&n<1<<29){a=1;t=1}if(a)r._W(-4,((t?n:e)<<2)+(t+2));else throw new Error("unsupported RkNumber "+e)}function ln(e){var r={s:{},e:{}};r.s.r=e._R(4);r.e.r=e._R(4);r.s.c=e._R(4);r.e.c=e._R(4);return r}function cn(e,r){if(!r)r=ua(16);r._W(4,e.s.r);r._W(4,e.e.r);r._W(4,e.s.c);r._W(4,e.e.c);return r}var hn=ln;var un=cn;function dn(e){if(e.length-e.l<8)throw"XLS Xnum Buffer underflow";return e._R(8,"f")}function vn(e,r){return(r||ua(8))._W(8,e,"f")}function pn(e){var r={};var t=e._R(1);var a=t>>>1;var n=e._R(1);var i=e._R(2,"i");var s=e._R(1);var f=e._R(1);var o=e._R(1);e.l++;switch(a){case 0:r.auto=1;break;case 1:r.index=n;var l=Vn[n];if(l)r.rgb=bl(l);break;case 2:r.rgb=bl([s,f,o]);break;case 3:r.theme=n;break;}if(i!=0)r.tint=i>0?i/32767:i/32768;return r}function gn(e,r){if(!r)r=ua(8);if(!e||e.auto){r._W(4,0);r._W(4,0);return r}if(e.index!=null){r._W(1,2);r._W(1,e.index)}else if(e.theme!=null){r._W(1,6);r._W(1,e.theme)}else{r._W(1,5);r._W(1,0)}var t=e.tint||0;if(t>0)t*=32767;else if(t<0)t*=32768;r._W(2,t);if(!e.rgb||e.theme!=null){r._W(2,0);r._W(1,0);r._W(1,0)}else{var a=e.rgb||"FFFFFF";if(typeof a=="number")a=("000000"+a.toString(16)).slice(-6);r._W(1,parseInt(a.slice(0,2),16));r._W(1,parseInt(a.slice(2,4),16));r._W(1,parseInt(a.slice(4,6),16));r._W(1,255)}return r}function mn(e){var r=e._R(1);e.l++;var t={fBold:r&1,fItalic:r&2,fUnderline:r&4,fStrikeout:r&8,fOutline:r&16,fShadow:r&32,fCondense:r&64,fExtend:r&128};return t}function bn(e,r){if(!r)r=ua(2);var t=(e.italic?2:0)|(e.strike?8:0)|(e.outline?16:0)|(e.shadow?32:0)|(e.condense?64:0)|(e.extend?128:0);r._W(1,t);r._W(1,0);return r}function wn(e,r){var t={2:"BITMAP",3:"METAFILEPICT",8:"DIB",14:"ENHMETAFILE"};var a=e._R(4);switch(a){case 0:return"";case 4294967295:;case 4294967294:return t[e._R(4)]||"";}if(a>400)throw new Error("Unsupported Clipboard: "+a.toString(16));e.l-=4;return e._R(0,r==1?"lpstr":"lpwstr")}function kn(e){return wn(e,1)}function Tn(e){return wn(e,2)}var An=2;var En=3;var Cn=11;var yn=12;var Sn=19;var _n=30;var xn=64;var On=65;var Rn=71;var In=4096;var Nn=4108;var Dn=4126;var Fn=80;var Pn=81;var Ln=[Fn,Pn];var Mn={1:{n:"CodePage",t:An},2:{n:"Category",t:Fn},3:{n:"PresentationFormat",t:Fn},4:{n:"ByteCount",t:En},5:{n:"LineCount",t:En},6:{n:"ParagraphCount",t:En},7:{n:"SlideCount",t:En},8:{n:"NoteCount",t:En},9:{n:"HiddenCount",t:En},10:{n:"MultimediaClipCount",t:En},11:{n:"ScaleCrop",t:Cn},12:{n:"HeadingPairs",t:Nn},13:{n:"TitlesOfParts",t:Dn},14:{n:"Manager",t:Fn},15:{n:"Company",t:Fn},16:{n:"LinksUpToDate",t:Cn},17:{n:"CharacterCount",t:En},19:{n:"SharedDoc",t:Cn},22:{n:"HyperlinksChanged",t:Cn},23:{n:"AppVersion",t:En,p:"version"},24:{n:"DigSig",t:On},26:{n:"ContentType",t:Fn},27:{n:"ContentStatus",t:Fn},28:{n:"Language",t:Fn},29:{n:"Version",t:Fn},255:{},2147483648:{n:"Locale",t:Sn},2147483651:{n:"Behavior",t:Sn},1919054434:{}};var Un={1:{n:"CodePage",t:An},2:{n:"Title",t:Fn},3:{n:"Subject",t:Fn},4:{n:"Author",t:Fn},5:{n:"Keywords",t:Fn},6:{n:"Comments",t:Fn},7:{n:"Template",t:Fn},8:{n:"LastAuthor",t:Fn},9:{n:"RevNumber",t:Fn},10:{n:"EditTime",t:xn},11:{n:"LastPrinted",t:xn},12:{n:"CreatedDate",t:xn},13:{n:"ModifiedDate",t:xn},14:{n:"PageCount",t:En},15:{n:"WordCount",t:En},16:{n:"CharCount",t:En},17:{n:"Thumbnail",t:Rn},18:{n:"Application",t:Fn},19:{n:"DocSecurity",t:En},255:{},2147483648:{n:"Locale",t:Sn},2147483651:{n:"Behavior",t:Sn},1919054434:{}};var Bn={1:"US",2:"CA",3:"",7:"RU",20:"EG",30:"GR",31:"NL",32:"BE",33:"FR",34:"ES",36:"HU",39:"IT",41:"CH",43:"AT",44:"GB",45:"DK",46:"SE",47:"NO",48:"PL",49:"DE",52:"MX",55:"BR",61:"AU",64:"NZ",66:"TH",81:"JP",82:"KR",84:"VN",86:"CN",90:"TR",105:"JS",213:"DZ",216:"MA",218:"LY",351:"PT",354:"IS",358:"FI",420:"CZ",886:"TW",961:"LB",962:"JO",963:"SY",964:"IQ",965:"KW",966:"SA",971:"AE",972:"IL",974:"QA",981:"IR",65535:"US"};var Wn=[null,"solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];function Hn(e){return e.map(function(e){return[e>>16&255,e>>8&255,e&255]})}var zn=Hn([0,16777215,16711680,65280,255,16776960,16711935,65535,0,16777215,16711680,65280,255,16776960,16711935,65535,8388608,32768,128,8421376,8388736,32896,12632256,8421504,10066431,10040166,16777164,13434879,6684774,16744576,26316,13421823,128,16711935,16776960,65535,8388736,8388608,32896,255,52479,13434879,13434828,16777113,10079487,16751052,13408767,16764057,3368703,3394764,10079232,16763904,16750848,16737792,6710937,9868950,13158,3381606,13056,3355392,10040064,10040166,3355545,3355443,16777215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);var Vn=br(zn);var Gn={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"};var jn={"#NULL!":0,"#DIV/0!":7,"#VALUE!":15,"#REF!":23,"#NAME?":29,"#NUM!":36,"#N/A":42,"#GETTING_DATA":43,"#WTF?":255};var Xn={"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":"workbooks","application/vnd.ms-excel.sheet.macroEnabled.main+xml":"workbooks","application/vnd.ms-excel.sheet.binary.macroEnabled.main":"workbooks","application/vnd.ms-excel.addin.macroEnabled.main+xml":"workbooks","application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":"workbooks","application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":"sheets","application/vnd.ms-excel.worksheet":"sheets","application/vnd.ms-excel.binIndexWs":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":"charts","application/vnd.ms-excel.chartsheet":"charts","application/vnd.ms-excel.macrosheet+xml":"macros","application/vnd.ms-excel.macrosheet":"macros","application/vnd.ms-excel.intlmacrosheet":"TODO","application/vnd.ms-excel.binIndexMs":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":"dialogs","application/vnd.ms-excel.dialogsheet":"dialogs","application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml":"strs","application/vnd.ms-excel.sharedStrings":"strs","application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":"styles","application/vnd.ms-excel.styles":"styles","application/vnd.openxmlformats-package.core-properties+xml":"coreprops","application/vnd.openxmlformats-officedocument.custom-properties+xml":"custprops","application/vnd.openxmlformats-officedocument.extended-properties+xml":"extprops","application/vnd.openxmlformats-officedocument.customXmlProperties+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":"comments","application/vnd.ms-excel.comments":"comments","application/vnd.ms-excel.threadedcomments+xml":"threadedcomments","application/vnd.ms-excel.person+xml":"people","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml":"metadata","application/vnd.ms-excel.sheetMetadata":"metadata","application/vnd.ms-excel.pivotTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.chart+xml":"TODO","application/vnd.ms-office.chartcolorstyle+xml":"TODO","application/vnd.ms-office.chartstyle+xml":"TODO","application/vnd.ms-office.chartex+xml":"TODO","application/vnd.ms-excel.calcChain":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings":"TODO","application/vnd.ms-office.activeX":"TODO","application/vnd.ms-office.activeX+xml":"TODO","application/vnd.ms-excel.attachedToolbars":"TODO","application/vnd.ms-excel.connections":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":"TODO","application/vnd.ms-excel.externalLink":"links","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml":"links","application/vnd.ms-excel.pivotCacheDefinition":"TODO","application/vnd.ms-excel.pivotCacheRecords":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml":"TODO","application/vnd.ms-excel.queryTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml":"TODO","application/vnd.ms-excel.userNames":"TODO","application/vnd.ms-excel.revisionHeaders":"TODO","application/vnd.ms-excel.revisionLog":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml":"TODO","application/vnd.ms-excel.tableSingleCells":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml":"TODO","application/vnd.ms-excel.slicer":"TODO","application/vnd.ms-excel.slicerCache":"TODO","application/vnd.ms-excel.slicer+xml":"TODO","application/vnd.ms-excel.slicerCache+xml":"TODO","application/vnd.ms-excel.wsSortMap":"TODO","application/vnd.ms-excel.table":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":"TODO","application/vnd.openxmlformats-officedocument.theme+xml":"themes","application/vnd.openxmlformats-officedocument.themeOverride+xml":"TODO","application/vnd.ms-excel.Timeline+xml":"TODO","application/vnd.ms-excel.TimelineCache+xml":"TODO","application/vnd.ms-office.vbaProject":"vba","application/vnd.ms-office.vbaProjectSignature":"TODO","application/vnd.ms-office.volatileDependencies":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml":"TODO","application/vnd.ms-excel.controlproperties+xml":"TODO","application/vnd.openxmlformats-officedocument.model+data":"TODO","application/vnd.ms-excel.Survey+xml":"TODO","application/vnd.openxmlformats-officedocument.drawing+xml":"drawings","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml":"TODO","application/vnd.openxmlformats-officedocument.vmlDrawing":"TODO","application/vnd.openxmlformats-package.relationships+xml":"rels","application/vnd.openxmlformats-officedocument.oleObject":"TODO","image/png":"TODO",sheet:"js"};var $n={workbooks:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml",xlsm:"application/vnd.ms-excel.sheet.macroEnabled.main+xml",xlsb:"application/vnd.ms-excel.sheet.binary.macroEnabled.main",xlam:"application/vnd.ms-excel.addin.macroEnabled.main+xml",xltx:"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml"},strs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",xlsb:"application/vnd.ms-excel.sharedStrings"},comments:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml",xlsb:"application/vnd.ms-excel.comments"},sheets:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",xlsb:"application/vnd.ms-excel.worksheet"},charts:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml",xlsb:"application/vnd.ms-excel.chartsheet"},dialogs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml",xlsb:"application/vnd.ms-excel.dialogsheet"},macros:{xlsx:"application/vnd.ms-excel.macrosheet+xml",xlsb:"application/vnd.ms-excel.macrosheet"},metadata:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml",xlsb:"application/vnd.ms-excel.sheetMetadata"},styles:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",xlsb:"application/vnd.ms-excel.styles"}};function Yn(){return{workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],threadedcomments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],people:[],TODO:[],xmlns:""}}function Kn(e){var r=Yn();if(!e||!e.match)return r;var t={};(e.match(Hr)||[]).forEach(function(e){var a=Gr(e);switch(a[0].replace(zr,"<")){case"0?r.calcchains[0]:"";r.sst=r.strs.length>0?r.strs[0]:"";r.style=r.styles.length>0?r.styles[0]:"";r.defaults=t;delete r.calcchains;return r}function Jn(e,r){var t=ir(Xn);var a=[],n;a[a.length]=Mr;a[a.length]=kt("Types",null,{xmlns:yt.CT,"xmlns:xsd":yt.xsd,"xmlns:xsi":yt.xsi});a=a.concat([["xml","application/xml"],["bin","application/vnd.ms-excel.sheet.binary.macroEnabled.main"],["vml","application/vnd.openxmlformats-officedocument.vmlDrawing"],["data","application/vnd.openxmlformats-officedocument.model+data"],["bmp","image/bmp"],["png","image/png"],["gif","image/gif"],["emf","image/x-emf"],["wmf","image/x-wmf"],["jpg","image/jpeg"],["jpeg","image/jpeg"],["tif","image/tiff"],["tiff","image/tiff"],["pdf","application/pdf"],["rels","application/vnd.openxmlformats-package.relationships+xml"]].map(function(e){return kt("Default",null,{Extension:e[0],ContentType:e[1]})}));var i=function(t){if(e[t]&&e[t].length>0){n=e[t][0];a[a.length]=kt("Override",null,{PartName:(n[0]=="/"?"":"/")+n,ContentType:$n[t][r.bookType]||$n[t]["xlsx"]})}};var s=function(t){(e[t]||[]).forEach(function(e){a[a.length]=kt("Override",null,{PartName:(e[0]=="/"?"":"/")+e,ContentType:$n[t][r.bookType]||$n[t]["xlsx"]})})};var f=function(r){(e[r]||[]).forEach(function(e){a[a.length]=kt("Override",null,{PartName:(e[0]=="/"?"":"/")+e,ContentType:t[r][0]})})};i("workbooks");s("sheets");s("charts");f("themes");["strs","styles"].forEach(i);["coreprops","extprops","custprops"].forEach(f);f("vba");f("comments");f("threadedcomments");f("drawings");s("metadata");f("people");if(a.length>2){a[a.length]="";a[1]=a[1].replace("/>",">")}return a.join("")}var qn={WB:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",SHEET:"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument",HLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",VML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing",XPATH:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath",XMISS:"http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing",XLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink",CXML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml",CXMLP:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps",CMNT:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments",CORE_PROPS:"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties",EXT_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties",CUST_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties",SST:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings",STY:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",THEME:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",CHART:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart",CHARTEX:"http://schemas.microsoft.com/office/2014/relationships/chartEx",CS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet",WS:["http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet","http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet"],DS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet",MS:"http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet",IMG:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",DRAW:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing",XLMETA:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata",TCMNT:"http://schemas.microsoft.com/office/2017/10/relationships/threadedComment",PEOPLE:"http://schemas.microsoft.com/office/2017/10/relationships/person",VBA:"http://schemas.microsoft.com/office/2006/relationships/vbaProject"};function Zn(e){var r=e.lastIndexOf("/");return e.slice(0,r+1)+"_rels/"+e.slice(r+1)+".rels"}function Qn(e,r){var t={"!id":{}};if(!e)return t;if(r.charAt(0)!=="/"){r="/"+r}var a={};(e.match(Hr)||[]).forEach(function(e){var n=Gr(e);if(n[0]==="2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function ri(e,r,t,a,n,i){if(!n)n={};if(!e["!id"])e["!id"]={};if(!e["!idx"])e["!idx"]=1;if(r<0)for(r=e["!idx"];e["!id"]["rId"+r];++r){}e["!idx"]=r+1;n.Id="rId"+r;n.Type=a;n.Target=t;if(i)n.TargetMode=i;else if([qn.HLINK,qn.XPATH,qn.XMISS].indexOf(n.Type)>-1)n.TargetMode="External";if(e["!id"][n.Id])throw new Error("Cannot rewrite rId "+r);e["!id"][n.Id]=n;e[("/"+n.Target).replace("//","/")]=n;return r}var ti="application/vnd.oasis.opendocument.spreadsheet";function ai(e,r){var t=Et(e);var a;var n;while(a=Ct.exec(t))switch(a[3]){case"manifest":break;case"file-entry":n=Gr(a[0],false);if(n.path=="/"&&n.type!==ti)throw new Error("This OpenDocument is not a spreadsheet");break;case"encryption-data":;case"algorithm":;case"start-key-generation":;case"key-derivation":throw new Error("Unsupported ODS Encryption");default:if(r&&r.WTF)throw a;}}function ni(e){var r=[Mr];r.push('\n');r.push(' \n');for(var t=0;t\n');r.push("");return r.join("")}function ii(e,r,t){return[' \n',' \n'," \n"].join("")}function si(e,r){return[' \n',' \n'," \n"].join("")}function fi(e){var r=[Mr];r.push('\n');for(var t=0;t!=e.length;++t){r.push(ii(e[t][0],e[t][1]));r.push(si("",e[t][0]))}r.push(ii("","Document","pkg"));r.push("");return r.join("")}function oi(){return'Sheet'+"JS "+e.version+""}var li=[["cp:category","Category"],["cp:contentStatus","ContentStatus"],["cp:keywords","Keywords"],["cp:lastModifiedBy","LastAuthor"],["cp:lastPrinted","LastPrinted"],["cp:revision","RevNumber"],["cp:version","Version"],["dc:creator","Author"],["dc:description","Comments"],["dc:identifier","Identifier"],["dc:language","Language"],["dc:subject","Subject"],["dc:title","Title"],["dcterms:created","CreatedDate","date"],["dcterms:modified","ModifiedDate","date"]];var ci=function(){var e=new Array(li.length);for(var r=0;r]*>([\\s\\S]*?)")}return e}();function hi(e){var r={};e=lt(e);for(var t=0;t0)r[a[1]]=Yr(n[1]);if(a[2]==="date"&&r[a[1]])r[a[1]]=gr(r[a[1]])}return r}function ui(e,r,t,a,n){if(n[e]!=null||r==null||r==="")return;n[e]=r;r=qr(r);a[a.length]=t?kt(e,r,t):bt(e,r)}function di(e,r){var t=r||{};var a=[Mr,kt("cp:coreProperties",null,{"xmlns:cp":yt.CORE_PROPS,"xmlns:dc":yt.dc,"xmlns:dcterms":yt.dcterms,"xmlns:dcmitype":yt.dcmitype,"xmlns:xsi":yt.xsi})],n={};if(!e&&!t.Props)return a.join("");if(e){if(e.CreatedDate!=null)ui("dcterms:created",typeof e.CreatedDate==="string"?e.CreatedDate:Tt(e.CreatedDate,t.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n);if(e.ModifiedDate!=null)ui("dcterms:modified",typeof e.ModifiedDate==="string"?e.ModifiedDate:Tt(e.ModifiedDate,t.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n)}for(var i=0;i!=li.length;++i){var s=li[i];var f=t.Props&&t.Props[s[1]]!=null?t.Props[s[1]]:e?e[s[1]]:null;if(f===true)f="1";else if(f===false)f="0";else if(typeof f=="number")f=String(f);if(f!=null)ui(s[0],f,null,a,n)}if(a.length>2){a[a.length]="";a[1]=a[1].replace("/>",">")}return a.join("")}var vi=[["Application","Application","string"],["AppVersion","AppVersion","string"],["Company","Company","string"],["DocSecurity","DocSecurity","string"],["Manager","Manager","string"],["HyperlinksChanged","HyperlinksChanged","bool"],["SharedDoc","SharedDoc","bool"],["LinksUpToDate","LinksUpToDate","bool"],["ScaleCrop","ScaleCrop","bool"],["HeadingPairs","HeadingPairs","raw"],["TitlesOfParts","TitlesOfParts","raw"]];var pi=["Worksheets","SheetNames","NamedRanges","DefinedNames","Chartsheets","ChartNames"];function gi(e,r,t,a){var n=[];if(typeof e=="string")n=gt(e,a);else for(var i=0;i0)for(var l=0;l!==n.length;l+=2){o=+n[l+1].v;switch(n[l].v){case"Worksheets":;case"工作表":;case"Листы":;case"أوراق العمل":;case"ワークシート":;case"גליונות עבודה":;case"Arbeitsblätter":;case"Çalışma Sayfaları":;case"Feuilles de calcul":;case"Fogli di lavoro":;case"Folhas de cálculo":;case"Planilhas":;case"Regneark":;case"Hojas de cálculo":;case"Werkbladen":t.Worksheets=o;t.SheetNames=s.slice(f,f+o);break;case"Named Ranges":;case"Rangos con nombre":;case"名前付き一覧":;case"Benannte Bereiche":;case"Navngivne områder":t.NamedRanges=o;t.DefinedNames=s.slice(f,f+o);break;case"Charts":;case"Diagramme":t.Chartsheets=o;t.ChartNames=s.slice(f,f+o);break;}f+=o}}function mi(e,r,t){var a={};if(!r)r={};e=lt(e);vi.forEach(function(t){var n=(e.match(ht(t[0]))||[])[1];switch(t[2]){case"string":if(n)r[t[1]]=Yr(n);break;case"bool":r[t[1]]=n==="true";break;case"raw":var i=e.match(new RegExp("<"+t[0]+"[^>]*>([\\s\\S]*?)"));if(i&&i.length>0)a[t[1]]=i[1];break;}});if(a.HeadingPairs&&a.TitlesOfParts)gi(a.HeadingPairs,a.TitlesOfParts,r,t);return r}function bi(e){var r=[],t=kt;if(!e)e={};e.Application="SheetJS";r[r.length]=Mr;r[r.length]=kt("Properties",null,{xmlns:yt.EXT_PROPS,"xmlns:vt":yt.vt});vi.forEach(function(a){if(e[a[1]]===undefined)return;var n;switch(a[2]){case"string":n=qr(String(e[a[1]]));break;case"bool":n=e[a[1]]?"true":"false";break;}if(n!==undefined)r[r.length]=t(a[0],n)});r[r.length]=t("HeadingPairs",t("vt:vector",t("vt:variant","Worksheets")+t("vt:variant",t("vt:i4",String(e.Worksheets))),{size:2,baseType:"variant"}));r[r.length]=t("TitlesOfParts",t("vt:vector",e.SheetNames.map(function(e){return""+qr(e)+""}).join(""),{size:e.Worksheets,baseType:"lpstr"}));if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}var wi=/<[^>]+>[^<]*/g;function ki(e,r){var t={},a="";var n=e.match(wi);if(n)for(var i=0;i!=n.length;++i){var s=n[i],f=Gr(s);switch(f[0]){case"":a=null;break;default:if(s.indexOf("");var l=o[0].slice(4),c=o[1];switch(l){case"lpstr":;case"bstr":;case"lpwstr":t[a]=Yr(c);break;case"bool":t[a]=nt(c);break;case"i1":;case"i2":;case"i4":;case"i8":;case"int":;case"uint":t[a]=parseInt(c,10);break;case"r4":;case"r8":;case"decimal":t[a]=parseFloat(c);break;case"filetime":;case"date":t[a]=gr(c);break;case"cy":;case"error":t[a]=Yr(c);break;default:if(l.slice(-1)=="/")break;if(r.WTF&&typeof console!=="undefined")console.warn("Unexpected",s,l,o);}}else if(s.slice(0,2)==="2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}var Ai={Title:"Title",Subject:"Subject",Author:"Author",Keywords:"Keywords",Comments:"Description",LastAuthor:"LastAuthor",RevNumber:"Revision",Application:"AppName",LastPrinted:"LastPrinted",CreatedDate:"Created",ModifiedDate:"LastSaved",Category:"Category",Manager:"Manager",Company:"Company",AppVersion:"Version",ContentStatus:"ContentStatus",Identifier:"Identifier", +Language:"Language"};var Ei;function Ci(e,r,t){if(!Ei)Ei=ar(Ai);r=Ei[r]||r;e[r]=t}function yi(e,r){var t=[];rr(Ai).map(function(e){for(var r=0;r'+n.join("")+""}function _i(e){var r=e._R(4),t=e._R(4);return new Date((t/1e7*Math.pow(2,32)+r/1e7-11644473600)*1e3).toISOString().replace(/\.000/,"")}function xi(e){var r=typeof e=="string"?new Date(Date.parse(e)):e;var t=r.getTime()/1e3+11644473600;var a=t%Math.pow(2,32),n=(t-a)/Math.pow(2,32);a*=1e7;n*=1e7;var i=a/Math.pow(2,32)|0;if(i>0){a=a%Math.pow(2,32);n+=i}var s=ua(8);s._W(4,a);s._W(4,n);return s}function Oi(e,r,t){var a=e.l;var n=e._R(0,"lpstr-cp");if(t)while(e.l-a&3)++e.l;return n}function Ri(e,r,t){var a=e._R(0,"lpwstr");if(t)e.l+=4-(a.length+1&3)&3;return a}function Ii(e,r,t){if(r===31)return Ri(e);return Oi(e,r,t)}function Ni(e,r,t){return Ii(e,r,t===false?0:4)}function Di(e,r){if(!r)throw new Error("VtUnalignedString must have positive length");return Ii(e,r,0)}function Fi(e){var r=e._R(4);var t=[];for(var a=0;a!=r;++a){var n=e.l;t[a]=e._R(0,"lpwstr").replace(N,"");if(e.l-n&2)e.l+=2}return t}function Pi(e){var r=e._R(4);var t=[];for(var a=0;a!=r;++a)t[a]=e._R(0,"lpstr-cp").replace(N,"");return t}function Li(e){var r=e.l;var t=Hi(e,Pn);if(e[e.l]==0&&e[e.l+1]==0&&e.l-r&2)e.l+=2;var a=Hi(e,En);return[t,a]}function Mi(e){var r=e._R(4);var t=[];for(var a=0;a>2+1<<2;return a}function Bi(e){var r=e._R(4);var t=e.slice(e.l,e.l+r);e.l+=r;if((r&3)>0)e.l+=4-(r&3)&3;return t}function Wi(e){var r={};r.Size=e._R(4);e.l+=r.Size+3-(r.Size-1)%4;return r}function Hi(e,r,t){var a=e._R(2),n,i=t||{};e.l+=2;if(r!==yn)if(a!==r&&Ln.indexOf(r)===-1&&!((r&65534)==4126&&(a&65534)==4126))throw new Error("Expected type "+r+" saw "+a);switch(r===yn?a:r){case 2:n=e._R(2,"i");if(!i.raw)e.l+=2;return n;case 3:n=e._R(4,"i");return n;case 11:return e._R(4)!==0;case 19:n=e._R(4);return n;case 30:return Oi(e,a,4).replace(N,"");case 31:return Ri(e);case 64:return _i(e);case 65:return Bi(e);case 71:return Wi(e);case 80:return Ni(e,a,!i.raw).replace(N,"");case 81:return Di(e,a).replace(N,"");case 4108:return Mi(e);case 4126:;case 4127:return a==4127?Fi(e):Pi(e);default:throw new Error("TypedPropertyValue unrecognized type "+r+" "+a);}}function zi(e,r){var t=ua(4),a=ua(4);t._W(4,e==80?31:e);switch(e){case 3:a._W(-4,r);break;case 5:a=ua(8);a._W(8,r,"f");break;case 11:a._W(4,r?1:0);break;case 64:a=xi(r);break;case 31:;case 80:a=ua(4+2*(r.length+1)+(r.length%2?0:2));a._W(4,r.length+1);a._W(0,r,"dbcs");while(a.l!=a.length)a._W(1,0);break;default:throw new Error("TypedPropertyValue unrecognized type "+e+" "+r);}return R([t,a])}function Vi(e,r){var t=e.l;var a=e._R(4);var n=e._R(4);var i=[],s=0;var f=0;var l=-1,c={};for(s=0;s!=n;++s){var h=e._R(4);var u=e._R(4);i[s]=[h,u+t]}i.sort(function(e,r){return e[1]-r[1]});var d={};for(s=0;s!=n;++s){if(e.l!==i[s][1]){var v=true;if(s>0&&r)switch(r[i[s-1][0]].t){case 2:if(e.l+2===i[s][1]){e.l+=2;v=false}break;case 80:if(e.l<=i[s][1]){e.l=i[s][1];v=false}break;case 4108:if(e.l<=i[s][1]){e.l=i[s][1];v=false}break;}if((!r||s==0)&&e.l<=i[s][1]){v=false;e.l=i[s][1]}if(v)throw new Error("Read Error: Expected address "+i[s][1]+" at "+e.l+" :"+s)}if(r){var p=r[i[s][0]];d[p.n]=Hi(e,p.t,{raw:true});if(p.p==="version")d[p.n]=String(d[p.n]>>16)+"."+("0000"+String(d[p.n]&65535)).slice(-4);if(p.n=="CodePage")switch(d[p.n]){case 0:d[p.n]=1252;case 874:;case 932:;case 936:;case 949:;case 950:;case 1250:;case 1251:;case 1253:;case 1254:;case 1255:;case 1256:;case 1257:;case 1258:;case 1e4:;case 1200:;case 1201:;case 1252:;case 65e3:;case-536:;case 65001:;case-535:o(f=d[p.n]>>>0&65535);break;default:throw new Error("Unsupported CodePage: "+d[p.n]);}}else{if(i[s][0]===1){f=d.CodePage=Hi(e,An);o(f);if(l!==-1){var g=e.l;e.l=i[l][1];c=Ui(e,f);e.l=g}}else if(i[s][0]===0){if(f===0){l=s;e.l=i[s+1][1];continue}c=Ui(e,f)}else{var m=c[i[s][0]];var b;switch(e[e.l]){case 65:e.l+=4;b=Bi(e);break;case 30:e.l+=4;b=Ni(e,e[e.l-4]).replace(/\u0000+$/,"");break;case 31:e.l+=4;b=Ni(e,e[e.l-4]).replace(/\u0000+$/,"");break;case 3:e.l+=4;b=e._R(4,"i");break;case 19:e.l+=4;b=e._R(4);break;case 5:e.l+=4;b=e._R(8,"f");break;case 11:e.l+=4;b=Zi(e,4);break;case 64:e.l+=4;b=gr(_i(e));break;default:throw new Error("unparsed value: "+e[e.l]);}d[m]=b}}}e.l=t+a;return d}var Gi=["CodePage","Thumbnail","_PID_LINKBASE","_PID_HLINKS","SystemIdentifier","FMTID"];function ji(e){switch(typeof e){case"boolean":return 11;case"number":return(e|0)==e?3:5;case"string":return 31;case"object":if(e instanceof Date)return 64;break;}return-1}function Xi(e,r,t){var a=ua(8),n=[],i=[];var s=8,f=0;var o=ua(8),l=ua(8);o._W(4,2);o._W(4,1200);l._W(4,1);i.push(o);n.push(l);s+=8+o.length;if(!r){l=ua(8);l._W(4,0);n.unshift(l);var c=[ua(4)];c[0]._W(4,e.length);for(f=0;f-1||pi.indexOf(e[f][0])>-1)continue;if(e[f][1]==null)continue;var u=e[f][1],d=0;if(r){d=+r[e[f][0]];var v=t[d];if(v.p=="version"&&typeof u=="string"){var p=u.split(".");u=(+p[0]<<16)+(+p[1]||0)}o=zi(v.t,u)}else{var g=ji(u);if(g==-1){g=31;u=String(u)}o=zi(g,u)}i.push(o);l=ua(8);l._W(4,!r?2+f:d);n.push(l);s+=8+o.length}var m=8*(i.length+1);for(f=0;f=12?2:1);var i="sbcs-cont";var s=r;if(a&&a.biff>=8)r=1200;if(!a||a.biff==8){var f=e._R(1);if(f){i="dbcs-cont"}}else if(a.biff==12){i="wstr"}if(a.biff>=2&&a.biff<=5)i="cpstr";var o=n?e._R(n,i):"";r=s;return o}function ss(e){var t=r;r=1200;var a=e._R(2),n=e._R(1);var i=n&4,s=n&8;var f=1+(n&1);var o=0,l;var c={};if(s)o=e._R(2);if(i)l=e._R(4);var h=f==2?"dbcs-cont":"sbcs-cont";var u=a===0?"":e._R(a,h);if(s)e.l+=4*o;if(i)e.l+=l;c.t=u;if(!s){c.raw=""+c.t+"";c.r=c.t}r=t;return c}function fs(e){var r=e.t||"",t=1;var a=ua(3+(t>1?2:0));a._W(2,r.length);a._W(1,(t>1?8:0)|1);if(t>1)a._W(2,t);var n=ua(2*r.length);n._W(2*r.length,r,"utf16le");var i=[a,n];return R(i)}function os(e,r,t){var a;if(t){if(t.biff>=2&&t.biff<=5)return e._R(r,"cpstr");if(t.biff>=12)return e._R(r,"dbcs-cont")}var n=e._R(1);if(n===0){a=e._R(r,"sbcs-cont")}else{a=e._R(r,"dbcs-cont")}return a}function ls(e,r,t){var a=e._R(t&&t.biff==2?1:2);if(a===0){e.l++;return""}return os(e,a,t)}function cs(e,r,t){if(t.biff>5)return ls(e,r,t);var a=e._R(1);if(a===0){e.l++;return""}return e._R(a,t.biff<=4||!e.lens?"cpstr":"sbcs-cont")}function hs(e,r,t){if(!t)t=ua(3+2*e.length);t._W(2,e.length);t._W(1,1);t._W(31,e,"utf16le");return t}function us(e){var r=e._R(1);e.l++;var t=e._R(2);e.l+=2;return[r,t]}function ds(e){var r=e._R(4),t=e.l;var a=false;if(r>24){e.l+=r-24;if(e._R(16)==="795881f43b1d7f48af2c825dc4852763")a=true;e.l=t}var n=e._R((a?r-24:r)>>1,"utf16le").replace(N,"");if(a)e.l+=24;return n}function vs(e){var r=e._R(2);var t="";while(r-- >0)t+="../";var a=e._R(0,"lpstr-ansi");e.l+=2;if(e._R(2)!=57005)throw new Error("Bad FileMoniker");var n=e._R(4);if(n===0)return t+a.replace(/\\/g,"/");var i=e._R(4);if(e._R(2)!=3)throw new Error("Bad FileMoniker");var s=e._R(i>>1,"utf16le").replace(N,"");return t+s}function ps(e,r){var t=e._R(16);r-=16;switch(t){case"e0c9ea79f9bace118c8200aa004ba90b":return ds(e,r);case"0303000000000000c000000000000046":return vs(e,r);default:throw new Error("Unsupported Moniker "+t);}}function gs(e){var r=e._R(4);var t=r>0?e._R(r,"utf16le").replace(N,""):"";return t}function ms(e,r){if(!r)r=ua(6+e.length*2);r._W(4,1+e.length);for(var t=0;t-1?31:23;switch(a.charAt(0)){case"#":i=28;break;case".":i&=~2;break;}r._W(4,2);r._W(4,i);var s=[8,6815827,6619237,4849780,83];for(t=0;t-1?a.slice(0,n):a;r._W(4,2*(f.length+1));for(t=0;t-1?a.slice(n+1):"",r)}else{s="03 03 00 00 00 00 00 00 c0 00 00 00 00 00 00 46".split(" ");for(t=0;t8?4:2;var n=e._R(a),i=e._R(a,"i"),s=e._R(a,"i");return[n,i,s]}function _s(e){var r=e._R(2);var t=fn(e);return[r,t]}function xs(e,r,t){e.l+=4;r-=4;var a=e.l+r;var n=is(e,r,t);var i=e._R(2);a-=e.l;if(i!==a)throw new Error("Malformed AddinUdf: padding = "+a+" != "+i);e.l+=i;return n}function Os(e){var r=e._R(2);var t=e._R(2);var a=e._R(2);var n=e._R(2);return{s:{c:a,r:r},e:{c:n,r:t}}}function Rs(e,r){if(!r)r=ua(8);r._W(2,e.s.r);r._W(2,e.e.r);r._W(2,e.s.c);r._W(2,e.e.c);return r}function Is(e){var r=e._R(2);var t=e._R(2);var a=e._R(1);var n=e._R(1);return{s:{c:a,r:r},e:{c:n,r:t}}}var Ns=Is;function Ds(e){e.l+=4;var r=e._R(2);var t=e._R(2);var a=e._R(2);e.l+=12;return[t,r,a]}function Fs(e){var r={};e.l+=4;e.l+=16;r.fSharedNote=e._R(2);e.l+=4;return r}function Ps(e){var r={};e.l+=4;e.cf=e._R(2);return r}function Ls(e){e.l+=2;e.l+=e._R(2)}var Ms={0:Ls,4:Ls,5:Ls,6:Ls,7:Ps,8:Ls,9:Ls,10:Ls,11:Ls,12:Ls,13:Fs,14:Ls,15:Ls,16:Ls,17:Ls,18:Ls,19:Ls,20:Ls,21:Ds};function Us(e,r){var t=e.l+r;var a=[];while(e.l=2){t.dt=e._R(2);e.l-=2}switch(t.BIFFVer){case 1536:;case 1280:;case 1024:;case 768:;case 512:;case 2:;case 7:break;default:if(r>6)throw new Error("Unexpected BIFF Ver "+t.BIFFVer);}e._R(r);return t}function Ws(e,r,t){var a=1536,n=16;switch(t.bookType){case"biff8":break;case"biff5":a=1280;n=8;break;case"biff4":a=4;n=6;break;case"biff3":a=3;n=6;break;case"biff2":a=2;n=4;break;case"xla":break;default:throw new Error("unsupported BIFF version");}var i=ua(n);i._W(2,a);i._W(2,r);if(n>4)i._W(2,29282);if(n>6)i._W(2,1997);if(n>8){i._W(2,49161);i._W(2,1);i._W(2,1798);i._W(2,0)}return i}function Hs(e,r){if(r===0)return 1200;if(e._R(2)!==1200){}return 1200}function zs(e,r,t){if(t.enc){e.l+=r;return""}var a=e.l;var n=cs(e,0,t);e._R(r+a-e.l);return n}function Vs(e,r){var t=!r||r.biff==8;var a=ua(t?112:54);a._W(r.biff==8?2:1,7);if(t)a._W(1,0);a._W(4,859007059);a._W(4,5458548|(t?0:536870912));while(a.l=8?2:1;var a=ua(8+t*e.name.length);a._W(4,e.pos);a._W(1,e.hs||0);a._W(1,e.dt);a._W(1,e.name.length);if(r.biff>=8)a._W(1,1);a._W(t*e.name.length,e.name,r.biff<8?"sbcs":"utf16le");var n=a.slice(0,a.l);n.l=a.l;return n}function $s(e,r){var t=e.l+r;var a=e._R(4);var n=e._R(4);var i=[];for(var s=0;s!=n&&e.l>15);n&=32767}var i={Unsynced:a&1,DyZero:(a&2)>>1,ExAsc:(a&4)>>2,ExDsc:(a&8)>>3};return[i,n]}function ef(e){var r=e._R(2),t=e._R(2),a=e._R(2),n=e._R(2);var i=e._R(2),s=e._R(2),f=e._R(2);var o=e._R(2),l=e._R(2);return{Pos:[r,t],Dim:[a,n],Flags:i,CurTab:s,FirstTab:f,Selected:o,TabRatio:l}}function rf(){var e=ua(18);e._W(2,0);e._W(2,0);e._W(2,29280);e._W(2,17600);e._W(2,56);e._W(2,0);e._W(2,0);e._W(2,1);e._W(2,500);return e}function tf(e,r,t){if(t&&t.biff>=2&&t.biff<5)return{};var a=e._R(2);return{RTL:a&64}}function af(e){var r=ua(18),t=1718;if(e&&e.RTL)t|=64;r._W(2,t);r._W(4,0);r._W(4,64);r._W(4,0);r._W(4,0);return r}function nf(){}function sf(e,r,t){var a={dyHeight:e._R(2),fl:e._R(2)};switch(t&&t.biff||8){case 2:break;case 3:;case 4:e.l+=2;break;default:e.l+=10;break;}a.name=is(e,0,t);return a}function ff(e,r){var t=e.name||"Arial";var a=r&&r.biff==5,n=a?15+t.length:16+2*t.length;var i=ua(n);i._W(2,(e.sz||12)*20);i._W(4,0);i._W(2,400);i._W(4,0);i._W(2,0);i._W(1,t.length);if(!a)i._W(1,1);i._W((a?1:2)*t.length,t,a?"sbcs":"utf16le");return i}function of(e){var r=As(e);r.isst=e._R(4);return r}function lf(e,r,t,a){var n=ua(10);Es(e,r,a,n);n._W(4,t);return n}function cf(e,r,t){if(t.biffguess&&t.biff==2)t.biff=5;var a=e.l+r;var n=As(e,6);if(t.biff==2)e.l++;var i=ls(e,a-e.l,t);n.val=i;return n}function hf(e,r,t,a,n){var i=!n||n.biff==8;var s=ua(6+2+ +i+(1+i)*t.length);Es(e,r,a,s);s._W(2,t.length);if(i)s._W(1,1);s._W((1+i)*t.length,t,i?"utf16le":"sbcs");return s}function uf(e,r,t){var a=e._R(2);var n=cs(e,0,t);return[a,n]}function df(e,r,t,a){var n=t&&t.biff==5;if(!a)a=ua(n?3+r.length:5+2*r.length);a._W(2,e);a._W(n?1:2,r.length);if(!n)a._W(1,1);a._W((n?1:2)*r.length,r,n?"sbcs":"utf16le");var i=a.length>a.l?a.slice(0,a.l):a;if(i.l==null)i.l=i.length;return i}var vf=cs;function pf(e,r,t){var a=e.l+r;var n=t.biff==8||!t.biff?4:2;var i=e._R(n),s=e._R(n);var f=e._R(2),o=e._R(2);e.l=a;return{s:{r:i,c:f},e:{r:s,c:o}}}function gf(e,r){var t=r.biff==8||!r.biff?4:2;var a=ua(2*t+6);a._W(t,e.s.r);a._W(t,e.e.r+1);a._W(2,e.s.c);a._W(2,e.e.c+1);a._W(2,0);return a}function mf(e){var r=e._R(2),t=e._R(2);var a=_s(e);return{r:r,c:t,ixfe:a[0],rknum:a[1]}}function bf(e,r){var t=e.l+r-2;var a=e._R(2),n=e._R(2);var i=[];while(e.l>26];if(!a.cellStyles)return n;n.alc=i&7;n.fWrap=i>>3&1;n.alcV=i>>4&7;n.fJustLast=i>>7&1;n.trot=i>>8&255;n.cIndent=i>>16&15;n.fShrinkToFit=i>>20&1;n.iReadOrder=i>>22&2;n.fAtrNum=i>>26&1;n.fAtrFnt=i>>27&1;n.fAtrAlc=i>>28&1;n.fAtrBdr=i>>29&1;n.fAtrPat=i>>30&1;n.fAtrProt=i>>31&1;n.dgLeft=s&15;n.dgRight=s>>4&15;n.dgTop=s>>8&15;n.dgBottom=s>>12&15;n.icvLeft=s>>16&127;n.icvRight=s>>23&127;n.grbitDiag=s>>30&3;n.icvTop=f&127;n.icvBottom=f>>7&127;n.icvDiag=f>>14&127;n.dgDiag=f>>21&15;n.icvFore=o&127;n.icvBack=o>>7&127;n.fsxButton=o>>14&1;return n}function Tf(e,r,t){var a={};a.ifnt=e._R(2);a.numFmtId=e._R(2);a.flags=e._R(2);a.fStyle=a.flags>>2&1;r-=6;a.data=kf(e,r,a.fStyle,t);return a}function Af(e,r,t,a){var n=t&&t.biff==5;if(!a)a=ua(n?16:20);a._W(2,0);if(e.style){a._W(2,e.numFmtId||0);a._W(2,65524)}else{a._W(2,e.numFmtId||0);a._W(2,r<<4)}var i=0;if(e.numFmtId>0&&n)i|=1024;a._W(4,i);a._W(4,0);if(!n)a._W(4,0);a._W(2,0);return a}function Ef(e){e.l+=4;var r=[e._R(2),e._R(2)];if(r[0]!==0)r[0]--;if(r[1]!==0)r[1]--;if(r[0]>7||r[1]>7)throw new Error("Bad Gutters: "+r.join("|"));return r}function Cf(e){var r=ua(8);r._W(4,0);r._W(2,e[0]?e[0]+1:0);r._W(2,e[1]?e[1]+1:0);return r}function yf(e,r,t){var a=As(e,6);if(t.biff==2||r==9)++e.l;var n=as(e,2);a.val=n;a.t=n===true||n===false?"b":"e";return a}function Sf(e,r,t,a,n,i){var s=ua(8);Es(e,r,a,s);ns(t,i,s);return s}function _f(e,r,t){if(t.biffguess&&t.biff==2)t.biff=5;var a=As(e,6);var n=dn(e,8);a.val=n;return a}function xf(e,r,t,a){var n=ua(14);Es(e,r,a,n);vn(t,n);return n}var Of=ys;function Rf(e,r,t){var a=e.l+r;var n=e._R(2);var i=e._R(2);t.sbcch=i;if(i==1025||i==14849)return[i,n];if(i<1||i>255)throw new Error("Unexpected SupBook type: "+i);var s=os(e,i);var f=[];while(a>e.l)f.push(ls(e));return[i,n,s,f]}function If(e,r,t){var a=e._R(2);var n;var i={fBuiltIn:a&1,fWantAdvise:a>>>1&1,fWantPict:a>>>2&1,fOle:a>>>3&1,fOleLink:a>>>4&1,cf:a>>>5&1023,fIcon:a>>>15&1};if(t.sbcch===14849)n=xs(e,r-2,t);i.body=n||e._R(r-2);if(typeof n==="string")i.Name=n;return i}var Nf=["_xlnm.Consolidate_Area","_xlnm.Auto_Open","_xlnm.Auto_Close","_xlnm.Extract","_xlnm.Database","_xlnm.Criteria","_xlnm.Print_Area","_xlnm.Print_Titles","_xlnm.Recorder","_xlnm.Data_Form","_xlnm.Auto_Activate","_xlnm.Auto_Deactivate","_xlnm.Sheet_Title","_xlnm._FilterDatabase"];function Df(e,r,t){var a=e.l+r;var n=e._R(2);var i=e._R(1);var s=e._R(1);var f=e._R(t&&t.biff==2?1:2);var o=0;if(!t||t.biff>=5){if(t.biff!=5)e.l+=2;o=e._R(2);if(t.biff==5)e.l+=2;e.l+=4}var l=os(e,s,t);if(n&32)l=Nf[l.charCodeAt(0)];var c=a-e.l;if(t&&t.biff==2)--c;var h=a==e.l||f===0||!(c>0)?[]:cd(e,c,t,f);return{chKey:i,Name:l,itab:o,rgce:h}}function Ff(e,r,t){if(t.biff<8)return Pf(e,r,t);var a=[],n=e.l+r,i=e._R(t.biff>8?4:2);while(i--!==0)a.push(Ss(e,t.biff>8?12:6,t));if(e.l!=n)throw new Error("Bad ExternSheet: "+e.l+" != "+n);return a}function Pf(e,r,t){if(e[e.l+1]==3)e[e.l]++;var a=is(e,r,t);return a.charCodeAt(0)==3?a.slice(1):a}function Lf(e,r,t){if(t.biff<8){e.l+=r;return}var a=e._R(2);var n=e._R(2);var i=os(e,a,t);var s=os(e,n,t);return[i,s]}function Mf(e,r,t){var a=Is(e,6);e.l++;var n=e._R(1);r-=8;return[hd(e,r,t),n,a]}function Uf(e,r,t){var a=Ns(e,6);switch(t.biff){case 2:e.l++;r-=7;break;case 3:;case 4:e.l+=2;r-=8;break;default:e.l+=6;r-=12;}return[a,od(e,r,t,a)]}function Bf(e){var r=e._R(4)!==0;var t=e._R(4)!==0;var a=e._R(4);return[r,t,a]}function Wf(e,r,t){if(t.biff<8)return;var a=e._R(2),n=e._R(2);var i=e._R(2),s=e._R(2);var f=cs(e,0,t);if(t.biff<8)e._R(1);return[{r:a,c:n},f,s,i]}function Hf(e,r,t){return Wf(e,r,t)}function zf(e,r){var t=[];var a=e._R(2);while(a--)t.push(Os(e,r));return t}function Vf(e){var r=ua(2+e.length*8);r._W(2,e.length);for(var t=0;t=(c?f:2*f))break}if(n.length!==f&&n.length!==f*2){throw new Error("cchText: "+f+" != "+n.length)}e.l=a+r;return{t:n}}catch(u){e.l=a+r;return{t:n}}}function Yf(e,r){var t=Os(e,8);e.l+=16;var a=bs(e,r-24);return[t,a]}function Kf(e){var r=ua(24);var t=Oa(e[0]);r._W(2,t.r);r._W(2,t.r);r._W(2,t.c);r._W(2,t.c);var a="d0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b".split(" ");for(var n=0;n<16;++n)r._W(1,parseInt(a[n],16));return R([r,ws(e[1])])}function Jf(e,r){e._R(2);var t=Os(e,8);var a=e._R((r-10)/2,"dbcs-cont");a=a.replace(N,"");return[t,a]}function qf(e){var r=e[1].Tooltip;var t=ua(10+2*(r.length+1));t._W(2,2048);var a=Oa(e[0]);t._W(2,a.r);t._W(2,a.r);t._W(2,a.c);t._W(2,a.c);for(var n=0;n0)t.push(Ts(e,8));return t}function ro(e){var r=e._R(2);var t=[];while(r-- >0)t.push(Ts(e,8));return t}function to(e){e.l+=2;var r={cxfs:0,crc:0};r.cxfs=e._R(2);r.crc=e._R(4);return r}function ao(e,r,t){if(!t.cellStyles)return ha(e,r);var a=t&&t.biff>=12?4:2;var n=e._R(a);var i=e._R(a);var s=e._R(a);var f=e._R(a);var o=e._R(2);if(a==2)e.l+=2;var l={s:n,e:i,w:s,ixfe:f,flags:o};if(t.biff>=5||!t.biff)l.level=o>>8&7;return l}function no(e,r){var t=ua(12);t._W(2,r);t._W(2,r);t._W(2,e.width*256);t._W(2,0);var a=0;if(e.hidden)a|=1;t._W(1,a);a=e.level||0;t._W(1,a);t._W(2,0);return t}function io(e,r){var t={};if(r<32)return t;e.l+=16;t.header=dn(e,8);t.footer=dn(e,8);e.l+=2;return t}function so(e,r,t){var a={area:false};if(t.biff!=5){e.l+=r;return a}var n=e._R(1);e.l+=3;if(n&16)a.area=true;return a}function fo(e){var r=ua(2*e);for(var t=0;t1048576)c=1e6;if(s!=2)h=i._R(2);var u=i._R(2);var d=t.codepage||1252;if(s!=2){i.l+=16;i._R(1);if(i[i.l]!==0)d=e[i[i.l]];i.l+=1;i.l+=2}if(l)i.l+=36;var v=[],p={};var g=Math.min(i.length,s==2?521:h-10-(o?264:0));var m=l?32:11;while(i.l0){if(i[i.l]===42){i.l+=u;continue}++i.l;n[++b]=[];w=0;for(w=0;w!=v.length;++w){var T=i.slice(i.l,i.l+v[w].len);i.l+=v[w].len;ca(T,0);var A=a.utils.decode(d,T);switch(v[w].type){case"C":if(A.trim().length)n[b][w]=A.replace(/\s+$/,""); +break;case"D":if(A.length===8)n[b][w]=new Date(+A.slice(0,4),+A.slice(4,6)-1,+A.slice(6,8));else n[b][w]=A;break;case"F":n[b][w]=parseFloat(A.trim());break;case"+":;case"I":n[b][w]=l?T._R(-4,"i")^2147483648:T._R(4,"i");break;case"L":switch(A.trim().toUpperCase()){case"Y":;case"T":n[b][w]=true;break;case"N":;case"F":n[b][w]=false;break;case"":;case"?":break;default:throw new Error("DBF Unrecognized L:|"+A+"|");}break;case"M":if(!f)throw new Error("DBF Unexpected MEMO for type "+s.toString(16));n[b][w]="##MEMO##"+(l?parseInt(A.trim(),10):T._R(4));break;case"N":A=A.replace(/\u0000/g,"").trim();if(A&&A!=".")n[b][w]=+A||0;break;case"@":n[b][w]=new Date(T._R(-8,"f")-621356832e5);break;case"T":n[b][w]=new Date((T._R(4)-2440588)*864e5+T._R(4));break;case"Y":n[b][w]=T._R(4,"i")/1e4+T._R(4,"i")/1e4*Math.pow(2,32);break;case"O":n[b][w]=-T._R(-8,"f");break;case"B":if(o&&v[w].len==8){n[b][w]=T._R(8,"f");break};case"G":;case"P":T.l+=v[w].len;break;case"0":if(v[w].name==="_NullFlags")break;default:throw new Error("DBF Unsupported data type "+v[w].type);}}}if(s!=2)if(i.l=0)o(+n.codepage);if(n.type=="string")throw new Error("Cannot write DBF to JS string");var i=va();var s=Aw(e,{header:1,raw:true,cellDates:true});var l=s[0],c=s.slice(1),h=e["!cols"]||[];var u=0,d=0,v=0,p=1;for(u=0;u250)A=250;T=((h[u]||{}).DBF||{}).type;if(T=="C"){if(h[u].DBF.len>A)A=h[u].DBF.len}if(k=="B"&&T=="N"){k="N";w[u]=h[u].DBF.dec;A=h[u].DBF.len}b[u]=k=="C"||T=="N"?A:f[k]||0;p+=b[u];m[u]=k}var C=i.next(32);C._W(4,318902576);C._W(4,c.length);C._W(2,296+32*v);C._W(2,p);for(u=0;u<4;++u)C._W(4,0);C._W(4,0|(+r[t]||3)<<8);for(u=0,d=0;u":190,"?":191,"{":223};var r=new RegExp("N("+rr(e).join("|").replace(/\|\|\|/,"|\\||").replace(/([?()+])/g,"\\$1")+"|\\|)","gm");var t=function(r,t){var a=e[t];return typeof a=="number"?p(a):a};var n=function(e,r,t){var a=r.charCodeAt(0)-32<<4|t.charCodeAt(0)-48;return a==59?e:p(a)};e["|"]=254;function i(e,r){switch(r.type){case"base64":return s(k(e),r);case"binary":return s(e,r);case"buffer":return s(T&&Buffer.isBuffer(e)?e.toString("binary"):_(e),r);case"array":return s(mr(e),r);}throw new Error("Unrecognized type "+r.type)}function s(e,i){var s=e.split(/[\n\r]+/),f=-1,l=-1,c=0,h=0,u=[];var d=[];var v=null;var p={},g=[],m=[],b=[];var w=0,k;if(+i.codepage>=0)o(+i.codepage);for(;c!==s.length;++c){w=0;var T=s[c].trim().replace(/\x1B([\x20-\x2F])([\x30-\x3F])/g,n).replace(r,t);var A=T.replace(/;;/g,"\0").split(";").map(function(e){return e.replace(/\u0000/g,";")});var E=A[0],C;if(T.length>0)switch(E){case"ID":break;case"E":break;case"B":break;case"O":break;case"W":break;case"P":if(A[1].charAt(0)=="P")d.push(T.slice(3).replace(/;;/g,";"));break;case"C":var y=false,S=false,_=false,x=false,O=-1,R=-1;for(h=1;h-1&&u[O][R];if(!N||!N[1])throw new Error("SYLK shared formula cannot find base");u[f][l][1]=Oh(N[1],{r:f-O,c:l-R})}break;case"F":var D=0;for(h=1;h0){g[f].hpt=w;g[f].hpx=Pl(w)}else if(w===0)g[f].hidden=true;break;default:if(i&&i.WTF)throw new Error("SYLK bad record "+T);}if(D<1)v=null;break;default:if(i&&i.WTF)throw new Error("SYLK bad record "+T);}}if(g.length>0)p["!rows"]=g;if(m.length>0)p["!cols"]=m;if(i&&i.sheetRows)u=u.slice(0,i.sheetRows);return[u,p]}function f(e,r){var t=i(e,r);var a=t[0],n=t[1];var s=Ua(a,r);rr(n).forEach(function(e){s[e]=n[e]});return s}function l(e,r){return La(f(e,r),r)}function c(e,r,t,a){var n="C;Y"+(t+1)+";X"+(a+1)+";K";switch(e.t){case"n":n+=e.v||0;if(e.f&&!e.F)n+=";E"+xh(e.f,{r:t,c:a});break;case"b":n+=e.v?"TRUE":"FALSE";break;case"e":n+=e.w||e.v;break;case"d":n+='"'+(e.w||e.v)+'"';break;case"s":n+='"'+e.v.replace(/"/g,"").replace(/;/g,";;")+'"';break;}return n}function h(e,r){r.forEach(function(r,t){var a="F;W"+(t+1)+" "+(t+1)+" ";if(r.hidden)a+="0";else{if(typeof r.width=="number"&&!r.wpx)r.wpx=Sl(r.width);if(typeof r.wpx=="number"&&!r.wch)r.wch=_l(r.wpx);if(typeof r.wch=="number")a+=Math.round(r.wch)}if(a.charAt(a.length-1)!=" ")e.push(a)})}function u(e,r){r.forEach(function(r,t){var a="F;";if(r.hidden)a+="M0;";else if(r.hpt)a+="M"+20*r.hpt+";";else if(r.hpx)a+="M"+20*Fl(r.hpx)+";";if(a.length>2)e.push(a+"R"+(t+1))})}function d(e,r){var t=["ID;PWXL;N;E"],a=[];var n=Da(e["!ref"]),i;var s=Array.isArray(e);var f="\r\n";t.push("P;PGeneral");t.push("F;P0;DG0G8;M255");if(e["!cols"])h(t,e["!cols"]);if(e["!rows"])u(t,e["!rows"]);t.push("B;Y"+(n.e.r-n.s.r+1)+";X"+(n.e.c-n.s.c+1)+";D"+[n.s.c,n.s.r,n.e.c,n.e.r].join(" "));for(var o=n.s.r;o<=n.e.r;++o){for(var l=n.s.c;l<=n.e.c;++l){var d=Ra({r:o,c:l});i=s?(e[o]||[])[l]:e[d];if(!i||i.v==null&&(!i.f||i.F))continue;a.push(c(i,e,o,l,r))}}return t.join(f)+f+a.join(f)+f+"E"+f}return{to_workbook:l,to_sheet:f,from_sheet:d}}();var Co=function(){function e(e,t){switch(t.type){case"base64":return r(k(e),t);case"binary":return r(e,t);case"buffer":return r(T&&Buffer.isBuffer(e)?e.toString("binary"):_(e),t);case"array":return r(mr(e),t);}throw new Error("Unrecognized type "+t.type)}function r(e,r){var t=e.split("\n"),a=-1,n=-1,i=0,s=[];for(;i!==t.length;++i){if(t[i].trim()==="BOT"){s[++a]=[];n=0;continue}if(a<0)continue;var f=t[i].trim().split(",");var o=f[0],l=f[1];++i;var c=t[i]||"";while((c.match(/["]/g)||[]).length&1&&i=0&&i[s].length===0)--s;var f=10,o=0;var l=0;for(;l<=s;++l){o=i[l].indexOf(" ");if(o==-1)o=i[l].length;else o++;f=Math.max(f,o)}for(l=0;l<=s;++l){n[l]=[];var c=0;e(i[l].slice(0,f).trim(),n,l,c,a);for(c=1;c<=(i[l].length-f)/10+1;++c)e(i[l].slice(f+(c-1)*10,f+c*10).trim(),n,l,c,a)}if(a.sheetRows)n=n.slice(0,a.sheetRows);return n}var t={44:",",9:"\t",59:";",124:"|"};var n={44:3,9:2,59:1,124:0};function i(e){var r={},a=false,i=0,s=0;for(;i0)b();n["!ref"]=Na(s);return n}function f(e,t){if(!(t&&t.PRN))return s(e,t);if(t.FS)return s(e,t);if(e.slice(0,4)=="sep=")return s(e,t);if(e.indexOf("\t")>=0||e.indexOf(",")>=0||e.indexOf(";")>=0)return s(e,t);return Ua(r(e,t),t)}function o(e,r){var t="",n=r.type=="string"?[0,0,0,0]:qb(e,r);switch(r.type){case"base64":t=k(e);break;case"binary":t=e;break;case"buffer":if(r.codepage==65001)t=e.toString("utf8");else if(r.codepage&&typeof a!=="undefined")t=a.utils.decode(r.codepage,e);else t=T&&Buffer.isBuffer(e)?e.toString("binary"):_(e);break;case"array":t=mr(e);break;case"string":t=e;break;default:throw new Error("Unrecognized type "+r.type);}if(n[0]==239&&n[1]==187&&n[2]==191)t=lt(t.slice(3));else if(r.type!="string"&&r.type!="buffer"&&r.codepage==65001)t=lt(t);else if(r.type=="binary"&&typeof a!=="undefined"&&r.codepage)t=a.utils.decode(r.codepage,a.utils.encode(28591,t));if(t.slice(0,19)=="socialcalc:version:")return yo.to_sheet(r.type=="string"?t:lt(t),r);return f(t,r)}function l(e,r){return La(o(e,r),r)}function c(e){var r=[];var t=Da(e["!ref"]),a;var n=Array.isArray(e);for(var i=t.s.r;i<=t.e.r;++i){var s=[];for(var f=t.s.c;f<=t.e.c;++f){var o=Ra({r:i,c:f});a=n?(e[i]||[])[f]:e[o];if(!a||a.v==null){s.push(" ");continue}var l=(a.w||(Pa(a),a.w)||"").slice(0,10);while(l.length<10)l+=" ";s.push(l+(f===0?" ":""))}r.push(s.join(""))}return r.join("\n")}return{to_workbook:l,to_sheet:o,from_sheet:c}}();function _o(e,r){var t=r||{},a=!!t.WTF;t.WTF=true;try{var n=Eo.to_workbook(e,t);t.WTF=a;return n}catch(i){t.WTF=a;if(!i.message.match(/SYLK bad record ID/)&&a)throw i;return So.to_workbook(e,r)}}var xo=function(){function e(e,r,t){if(!e)return;ca(e,e.l||0);var a=t.Enum||W;while(e.l=16&&r[14]==5&&r[15]===108)throw new Error("Unsupported Works 3 for Mac file")}}if(r[2]==2){a.Enum=W;e(r,function(e,r,t){switch(t){case 0:a.vers=e;if(e>=4096)a.qpro=true;break;case 6:h=e;break;case 204:if(e)s=e;break;case 222:s=e;break;case 15:;case 51:if(!a.qpro)e[1].v=e[1].v.slice(1);case 13:;case 14:;case 16:if(t==14&&(e[2]&112)==112&&(e[2]&15)>1&&(e[2]&15)<15){e[1].z=a.dateNF||X[14];if(a.cellDates){e[1].t="d";e[1].v=hr(e[1].v)}}if(a.qpro){if(e[3]>f){n["!ref"]=Na(h);o[i]=n;l.push(i);n=a.dense?[]:{};h={s:{r:0,c:0},e:{r:0,c:0}};f=e[3];i=s||"Sheet"+(f+1);s=""}}var c=a.dense?(n[e[0].r]||[])[e[0].c]:n[Ra(e[0])];if(c){c.t=e[1].t;c.v=e[1].v;if(e[1].z!=null)c.z=e[1].z;if(e[1].f!=null)c.f=e[1].f;break}if(a.dense){if(!n[e[0].r])n[e[0].r]=[];n[e[0].r][e[0].c]=e[1]}else n[Ra(e[0])]=e[1];break;default:;}},a)}else if(r[2]==26||r[2]==14){a.Enum=H;if(r[2]==14){a.qpro=true;r.l=0}e(r,function(e,r,t){switch(t){case 204:i=e;break;case 22:e[1].v=e[1].v.slice(1);case 23:;case 24:;case 25:;case 37:;case 39:;case 40:if(e[3]>f){n["!ref"]=Na(h);o[i]=n;l.push(i);n=a.dense?[]:{};h={s:{r:0,c:0},e:{r:0,c:0}};f=e[3];i="Sheet"+(f+1)}if(u>0&&e[0].r>=u)break;if(a.dense){if(!n[e[0].r])n[e[0].r]=[];n[e[0].r][e[0].c]=e[1]}else n[Ra(e[0])]=e[1];if(h.e.c=0)o(+t.codepage);if(t.type=="string")throw new Error("Cannot write WK1 to JS string");var a=va();var n=Da(e["!ref"]);var s=Array.isArray(e);var f=[];bm(a,0,i(1030));bm(a,6,l(n));var c=Math.min(n.e.r,8191);for(var h=n.s.r;h<=c;++h){var d=Ta(h);for(var p=n.s.c;p<=n.e.c;++p){if(h===n.s.r)f[p]=ya(p);var g=f[p]+d;var b=s?(e[h]||[])[p]:e[g];if(!b||b.t=="z")continue;if(b.t=="n"){if((b.v|0)==b.v&&b.v>=-32768&&b.v<=32767)bm(a,13,v(h,p,b.v));else bm(a,14,m(h,p,b.v))}else{var w=Pa(b);bm(a,15,u(h,p,w.slice(0,239)))}}}bm(a,1);return a.end()}function n(e,r){var t=r||{};if(+t.codepage>=0)o(+t.codepage);if(t.type=="string")throw new Error("Cannot write WK3 to JS string");var a=va();bm(a,0,s(e));for(var n=0,i=0;n8191)t=8191;r._W(2,t);r._W(1,n);r._W(1,a);r._W(2,0);r._W(2,0);r._W(1,1);r._W(1,2);r._W(4,0);r._W(4,0);return r}function f(e,r,t){var a={s:{c:0,r:0},e:{c:0,r:0}};if(r==8&&t.qpro){a.s.c=e._R(1);e.l++;a.s.r=e._R(2);a.e.c=e._R(1);e.l++;a.e.r=e._R(2);return a}a.s.c=e._R(2);a.s.r=e._R(2);if(r==12&&t.qpro)e.l+=2;a.e.c=e._R(2);a.e.r=e._R(2);if(r==12&&t.qpro)e.l+=2;if(a.s.c==65535)a.s.c=a.e.c=a.s.r=a.e.r=0;return a}function l(e){var r=ua(8);r._W(2,e.s.c);r._W(2,e.s.r);r._W(2,e.e.c);r._W(2,e.e.r);return r}function c(e,r,t){var a=[{c:0,r:0},{t:"n",v:0},0,0];if(t.qpro&&t.vers!=20768){a[0].c=e._R(1);a[3]=e._R(1);a[0].r=e._R(2);e.l+=2}else{a[2]=e._R(1);a[0].c=e._R(2);a[0].r=e._R(2)}return a}function h(e,r,t){var a=e.l+r;var n=c(e,r,t);n[1].t="s";if(t.vers==20768){e.l++;var i=e._R(1);n[1].v=e._R(i,"utf8");return n}if(t.qpro)e.l++;n[1].v=e._R(a-e.l,"cstr");return n}function u(e,r,t){var a=ua(7+t.length);a._W(1,255);a._W(2,r);a._W(2,e);a._W(1,39);for(var n=0;n=128?95:i)}a._W(1,0);return a}function d(e,r,t){var a=c(e,r,t);a[1].v=e._R(2,"i");return a}function v(e,r,t){var a=ua(7);a._W(1,255);a._W(2,r);a._W(2,e);a._W(2,t,"i");return a}function p(e,r,t){var a=c(e,r,t);a[1].v=e._R(8,"f");return a}function m(e,r,t){var a=ua(13);a._W(1,255);a._W(2,r);a._W(2,e);a._W(8,t,"f");return a}function b(e,r,t){var a=e.l+r;var n=c(e,r,t);n[1].v=e._R(8,"f");if(t.qpro)e.l=a;else{var i=e._R(2);E(e.slice(e.l,e.l+i),n);e.l+=i}return n}function w(e,r,t){var a=r&32768;r&=~32768;r=(a?e:0)+(r>=8192?r-16384:r);return(a?"":"$")+(t?ya(r):Ta(r))}var T={51:["FALSE",0],52:["TRUE",0],70:["LEN",1],80:["SUM",69],81:["AVERAGEA",69],82:["COUNTA",69],83:["MINA",69],84:["MAXA",69],111:["T",1]};var A=["","","","","","","","","","+","-","*","/","^","=","<>","<=",">=","<",">","","","","","&","","","","","","",""];function E(e,r){ca(e,0);var t=[],a=0,n="",i="",s="",f="";while(e.lt.length){console.error("WK1 bad formula parse 0x"+o.toString(16)+":|"+t.join("|")+"|");return}var u=t.slice(-a);t.length-=a;t.push(T[o][0]+"("+u.join(",")+")")}else if(o<=7)return console.error("WK1 invalid opcode "+o.toString(16));else if(o<=24)return console.error("WK1 unsupported op "+o.toString(16));else if(o<=30)return console.error("WK1 invalid opcode "+o.toString(16));else if(o<=115)return console.error("WK1 unsupported function opcode "+o.toString(16));else return console.error("WK1 unrecognized opcode "+o.toString(16));}}if(t.length==1)r[1].f=""+t[0];else console.error("WK1 bad formula parse |"+t.join("|")+"|")}function C(e){var r=[{c:0,r:0},{t:"n",v:0},0];r[0].r=e._R(2);r[3]=e[e.l++];r[0].c=e[e.l++];return r}function S(e,r){var t=C(e,r);t[1].t="s";t[1].v=e._R(r-4,"cstr");return t}function _(e,r,t,a){var n=ua(6+a.length);n._W(2,e);n._W(1,t);n._W(1,r);n._W(1,39);for(var i=0;i=128?95:s)}n._W(1,0);return n}function x(e,r){var t=C(e,r);t[1].v=e._R(2);var a=t[1].v>>1;if(t[1].v&1){switch(a&7){case 0:a=(a>>3)*5e3;break;case 1:a=(a>>3)*500;break;case 2:a=(a>>3)/20;break;case 3:a=(a>>3)/200;break;case 4:a=(a>>3)/2e3;break;case 5:a=(a>>3)/2e4;break;case 6:a=(a>>3)/16;break;case 7:a=(a>>3)/64;break;}}t[1].v=a;return t}function O(e,r){var t=C(e,r);var a=e._R(4);var n=e._R(4);var i=e._R(2);if(i==65535){if(a===0&&n===3221225472){t[1].t="e";t[1].v=15}else if(a===0&&n===3489660928){t[1].t="e";t[1].v=42}else t[1].v=0;return t}var s=i&32768;i=(i&32767)-16446;t[1].v=(1-s*2)*(n*Math.pow(2,i+32)+a*Math.pow(2,i));return t}function R(e,r,t,a){var n=ua(14);n._W(2,e);n._W(1,t);n._W(1,r);if(a==0){n._W(4,0);n._W(4,0);n._W(2,65535);return n}var i=0,s=0,f=0,o=0;if(a<0){i=1;a=-a}s=Math.log2(a)|0;a/=Math.pow(2,s-31);o=a>>>0;if((o&2147483648)==0){a/=2;++s;o=a>>>0}a-=o;o|=2147483648;o>>>=0;a*=Math.pow(2,32);f=a>>>0;n._W(4,f);n._W(4,o);s+=16383+(i?32768:0);n._W(2,s);return n}function I(e,r){var t=O(e,14);e.l+=r-14;return t}function N(e,r){var t=C(e,r);var a=e._R(4);t[1].v=a>>6;return t}function D(e,r){var t=C(e,r);var a=e._R(8,"f");t[1].v=a;return t}function F(e,r){var t=D(e,14);e.l+=r-10;return t}function P(e,r){return e[e.l+r-1]==0?e._R(r,"cstr"):""}function L(e,r){var t=e[e.l++];if(t>r-1)t=r-1;var a="";while(a.length127?95:n}t[t.l++]=0;return t}var W={0:{n:"BOF",f:es},1:{n:"EOF"},2:{n:"CALCMODE"},3:{n:"CALCORDER"},4:{n:"SPLIT"},5:{n:"SYNC"},6:{n:"RANGE",f:f},7:{n:"WINDOW1"},8:{n:"COLW1"},9:{n:"WINTWO"},10:{n:"COLW2"},11:{n:"NAME"},12:{n:"BLANK"},13:{n:"INTEGER",f:d},14:{n:"NUMBER",f:p},15:{n:"LABEL",f:h},16:{n:"FORMULA",f:b},24:{n:"TABLE"},25:{n:"ORANGE"},26:{n:"PRANGE"},27:{n:"SRANGE"},28:{n:"FRANGE"},29:{n:"KRANGE1"},32:{n:"HRANGE"},35:{n:"KRANGE2"},36:{n:"PROTEC"},37:{n:"FOOTER"},38:{n:"HEADER"},39:{n:"SETUP"},40:{n:"MARGINS"},41:{n:"LABELFMT"},42:{n:"TITLES"},43:{n:"SHEETJS"},45:{n:"GRAPH"},46:{n:"NGRAPH"},47:{n:"CALCCOUNT"},48:{n:"UNFORMATTED"},49:{n:"CURSORW12"},50:{n:"WINDOW"},51:{n:"STRING",f:h},55:{n:"PASSWORD"},56:{n:"LOCKED"},60:{n:"QUERY"},61:{n:"QUERYNAME"},62:{n:"PRINT"},63:{n:"PRINTNAME"},64:{n:"GRAPH2"},65:{n:"GRAPHNAME"},66:{n:"ZOOM"},67:{n:"SYMSPLIT"},68:{n:"NSROWS"},69:{n:"NSCOLS"},70:{n:"RULER"},71:{n:"NNAME"},72:{n:"ACOMM"},73:{n:"AMACRO"},74:{n:"PARSE"},102:{n:"PRANGES??"},103:{n:"RRANGES??"},104:{n:"FNAME??"},105:{n:"MRANGES??"},204:{n:"SHEETNAMECS",f:P},222:{n:"SHEETNAMELP",f:L},65535:{n:""}};var H={0:{n:"BOF"},1:{n:"EOF"},2:{n:"PASSWORD"},3:{n:"CALCSET"},4:{n:"WINDOWSET"},5:{n:"SHEETCELLPTR"},6:{n:"SHEETLAYOUT"},7:{n:"COLUMNWIDTH"},8:{n:"HIDDENCOLUMN"},9:{n:"USERRANGE"},10:{n:"SYSTEMRANGE"},11:{n:"ZEROFORCE"},12:{n:"SORTKEYDIR"},13:{n:"FILESEAL"},14:{n:"DATAFILLNUMS"},15:{n:"PRINTMAIN"},16:{n:"PRINTSTRING"},17:{n:"GRAPHMAIN"},18:{n:"GRAPHSTRING"},19:{n:"??"},20:{n:"ERRCELL"},21:{n:"NACELL"},22:{n:"LABEL16",f:S},23:{n:"NUMBER17",f:O},24:{n:"NUMBER18",f:x},25:{n:"FORMULA19",f:I},26:{n:"FORMULA1A"},27:{n:"XFORMAT",f:U},28:{n:"DTLABELMISC"},29:{n:"DTLABELCELL"},30:{n:"GRAPHWINDOW"},31:{n:"CPA"},32:{n:"LPLAUTO"},33:{n:"QUERY"},34:{n:"HIDDENSHEET"},35:{n:"??"},37:{n:"NUMBER25",f:N},38:{n:"??"},39:{n:"NUMBER27",f:D},40:{n:"FORMULA28",f:F},142:{n:"??"},147:{n:"??"},150:{n:"??"},151:{n:"??"},152:{n:"??"},153:{n:"??"},154:{n:"??"},155:{n:"??"},156:{n:"??"},163:{n:"??"},174:{n:"??"},175:{n:"??"},176:{n:"??"},177:{n:"??"},184:{n:"??"},185:{n:"??"},186:{n:"??"},187:{n:"??"},188:{n:"??"},195:{n:"??"},201:{n:"??"},204:{n:"SHEETNAMECS",f:P},205:{n:"??"},206:{n:"??"},207:{n:"??"},208:{n:"??"},256:{n:"??"},259:{n:"??"},260:{n:"??"},261:{n:"??"},262:{n:"??"},263:{n:"??"},265:{n:"??"},266:{n:"??"},267:{n:"??"},268:{n:"??"},270:{n:"??"},271:{n:"??"},384:{n:"??"},389:{n:"??"},390:{n:"??"},393:{n:"??"},396:{n:"??"},512:{n:"??"},514:{n:"??"},513:{n:"??"},516:{n:"??"},517:{n:"??"},640:{n:"??"},641:{n:"??"},642:{n:"??"},643:{n:"??"},644:{n:"??"},645:{n:"??"},646:{n:"??"},647:{n:"??"},648:{n:"??"},658:{n:"??"},659:{n:"??"},660:{n:"??"},661:{n:"??"},662:{n:"??"},665:{n:"??"},666:{n:"??"},768:{n:"??"},772:{n:"??"},1537:{n:"SHEETINFOQP",f:M},1600:{n:"??"},1602:{n:"??"},1793:{n:"??"},1794:{n:"??"},1795:{n:"??"},1796:{n:"??"},1920:{n:"??"},2048:{n:"??"},2049:{n:"??"},2052:{n:"??"},2688:{n:"??"},10998:{n:"??"},12849:{n:"??"},28233:{n:"??"},28484:{n:"??"},65535:{n:""}};return{sheet_to_wk1:a,book_to_wk3:n,to_workbook:r}}();function Oo(e){var r={},t=e.match(Hr),a=0;var n=false;if(t)for(;a!=t.length;++a){var s=Gr(t[a]);switch(s[0].replace(/\w*:/g,"")){case"":;case"":r.shadow=1;break;case"":break;case"":;case"":r.outline=1;break;case"":break;case"":;case"":r.strike=1;break;case"":break;case"":;case"":r.u=1;break;case"":break;case"":;case"":r.b=1;break;case"":break;case"":;case"":r.i=1;break;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"":break;case"":n=false;break;default:if(s[0].charCodeAt(1)!==47&&!n)throw new Error("Unrecognized rich format "+s[0]);}}return r}var Ro=function(){var e=ht("t"),r=ht("rPr");function t(t){var a=t.match(e);if(!a)return{t:"s",v:""};var n={t:"s",v:Yr(a[1])};var i=t.match(r);if(i)n.s=Oo(i[1]);return n}var a=/<(?:\w+:)?r>/g,n=/<\/(?:\w+:)?r>/;return function i(e){return e.replace(a,"").split(n).map(t).filter(function(e){return e.v})}}();var Io=function hk(){var e=/(\r\n|\n)/g;function r(e,r,t){var a=[];if(e.u)a.push("text-decoration: underline;");if(e.uval)a.push("text-underline-style:"+e.uval+";");if(e.sz)a.push("font-size:"+e.sz+"pt;");if(e.outline)a.push("text-effect: outline;");if(e.shadow)a.push("text-shadow: auto;");r.push('');if(e.b){r.push("");t.push("")}if(e.i){r.push("");t.push("")}if(e.strike){r.push("");t.push("")}var n=e.valign||"";if(n=="superscript"||n=="super")n="sup";else if(n=="subscript")n="sub";if(n!=""){r.push("<"+n+">");t.push("")}t.push("");return e}function t(t){var a=[[],t.v,[]];if(!t.v)return"";if(t.s)r(t.s,a[0],a[2]);return a[0].join("")+a[1].replace(e,"
    ")+a[2].join("")}return function a(e){return e.map(t).join("")}}();var No=/<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g,Do=/<(?:\w+:)?r>/;var Fo=/<(?:\w+:)?rPh.*?>([\s\S]*?)<\/(?:\w+:)?rPh>/g;function Po(e,r){var t=r?r.cellHTML:true;var a={};if(!e)return{t:""};if(e.match(/^\s*<(?:\w+:)?t[^>]*>/)){a.t=Yr(lt(e.slice(e.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]||""));a.r=lt(e);if(t)a.h=et(a.t)}else if(e.match(Do)){a.r=lt(e);a.t=Yr(lt((e.replace(Fo,"").match(No)||[]).join("").replace(Hr,"")));if(t)a.h=Io(Ro(a.r))}return a}var Lo=/<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/;var Mo=/<(?:\w+:)?(?:si|sstItem)>/g;var Uo=/<\/(?:\w+:)?(?:si|sstItem)>/;function Bo(e,r){var t=[],a="";if(!e)return t;var n=e.match(Lo);if(n){a=n[2].replace(Mo,"").split(Uo);for(var i=0;i!=a.length;++i){var s=Po(a[i].trim(),r);if(s!=null)t[t.length]=s}n=Gr(n[1]);t.Count=n.count;t.Unique=n.uniqueCount}return t}var Wo=/^\s|\s$|[\t\n\r]/;function Ho(e,r){if(!r.bookSST)return"";var t=[Mr];t[t.length]=kt("sst",null,{xmlns:St[0],count:e.Count,uniqueCount:e.Unique});for(var a=0;a!=e.length;++a){if(e[a]==null)continue;var n=e[a];var i="";if(n.r)i+=n.r;else{i+=""}i+="";t[t.length]=i}if(t.length>2){t[t.length]="";t[1]=t[1].replace("/>",">")}return t.join("")}function zo(e){return[e._R(4),e._R(4)]}function Vo(e,r){var t=[];var a=false;da(e,function n(e,i,s){switch(s){case 159:t.Count=e[0];t.Unique=e[1];break;case 19:t.push(e);break;case 160:return true;case 35:a=true;break;case 36:a=false;break;default:if(i.T){}if(!a||r.WTF)throw new Error("Unexpected record 0x"+s.toString(16));}});return t}function Go(e,r){if(!r)r=ua(8);r._W(4,e.Count);r._W(4,e.Unique);return r}var jo=Xa;function Xo(e){var r=va();pa(r,159,Go(e));for(var t=0;t=4)e.l+=r-4;return t}function Ko(e){var r={};r.id=e._R(0,"lpp4");r.R=Yo(e,4);r.U=Yo(e,4);r.W=Yo(e,4);return r}function Jo(e){var r=e._R(4);var t=e.l+r-4;var a={};var n=e._R(4);var i=[];while(n-- >0)i.push({t:e._R(4),v:e._R(0,"lpp4")});a.name=e._R(0,"lpp4");a.comps=i;if(e.l!=t)throw new Error("Bad DataSpaceMapEntry: "+e.l+" != "+t);return a}function qo(e){var r=[];e.l+=4;var t=e._R(4);while(t-- >0)r.push(Jo(e));return r}function Zo(e){var r=[];e.l+=4;var t=e._R(4);while(t-- >0)r.push(e._R(0,"lpp4"));return r}function Qo(e){var r={};e._R(4);e.l+=4;r.id=e._R(0,"lpp4");r.name=e._R(0,"lpp4");r.R=Yo(e,4);r.U=Yo(e,4);r.W=Yo(e,4);return r}function el(e){var r=Qo(e);r.ename=e._R(0,"8lpp4");r.blksz=e._R(4);r.cmode=e._R(4);if(e._R(4)!=4)throw new Error("Bad !Primary record");return r}function rl(e,r){var t=e.l+r;var a={};a.Flags=e._R(4)&63;e.l+=4;a.AlgID=e._R(4);var n=false;switch(a.AlgID){case 26126:;case 26127:;case 26128:n=a.Flags==36;break;case 26625:n=a.Flags==4;break;case 0:n=a.Flags==16||a.Flags==4||a.Flags==36;break;default:throw"Unrecognized encryption algorithm: "+a.AlgID;}if(!n)throw new Error("Encryption Flags/AlgID mismatch");a.AlgIDHash=e._R(4);a.KeySize=e._R(4);a.ProviderType=e._R(4);e.l+=8;a.CSPName=e._R(t-e.l>>1,"utf16le");e.l=t;return a}function tl(e,r){var t={},a=e.l+r;e.l+=4;t.Salt=e.slice(e.l,e.l+16);e.l+=16;t.Verifier=e.slice(e.l,e.l+16);e.l+=16;e._R(4);t.VerifierHash=e.slice(e.l,a);e.l=a;return t}function al(e){var r=Yo(e);switch(r.Minor){case 2:return[r.Minor,nl(e,r)];case 3:return[r.Minor,il(e,r)];case 4:return[r.Minor,sl(e,r)];}throw new Error("ECMA-376 Encrypted file unrecognized Version: "+r.Minor)}function nl(e){var r=e._R(4);if((r&63)!=36)throw new Error("EncryptionInfo mismatch");var t=e._R(4);var a=rl(e,t);var n=tl(e,e.length-e.l);return{t:"Std",h:a,v:n}}function il(){throw new Error("File is password-protected: ECMA-376 Extensible")}function sl(e){var r=["saltSize","blockSize","keyBits","hashSize","cipherAlgorithm","cipherChaining","hashAlgorithm","saltValue"];e.l+=4;var t=e._R(e.length-e.l,"utf8");var a={};t.replace(Hr,function n(e){var t=Gr(e);switch(jr(t[0])){case"":break;case"":;case"":break;case"":break;case"4||a.Major<2)throw new Error("unrecognized major version code: "+a.Major);t.Flags=e._R(4);r-=4;var n=e._R(4);r-=4;t.EncryptionHeader=rl(e,n);r-=n;t.EncryptionVerifier=tl(e,r);return t}function ol(e){var r={};var t=r.EncryptionVersionInfo=Yo(e,4);if(t.Major!=1||t.Minor!=1)throw"unrecognized version code "+t.Major+" : "+t.Minor;r.Salt=e._R(16);r.EncryptedVerifier=e._R(16);r.EncryptedVerifierHash=e._R(16);return r}function ll(e){var r=0,t;var a=$o(e);var n=a.length+1,i,s;var f,o,l;t=E(n);t[0]=a.length;for(i=1;i!=n;++i)t[i]=a[i-1];for(i=n-1;i>=0;--i){s=t[i];f=(r&16384)===0?0:1;o=r<<1&32767;l=f|o;r=l^s}return r^52811}var cl=function(){var e=[187,255,255,186,255,255,185,128,0,190,15,0,191,15,0];var r=[57840,7439,52380,33984,4364,3600,61902,12606,6258,57657,54287,34041,10252,43370,20163];var t=[44796,19929,39858,10053,20106,40212,10761,31585,63170,64933,60267,50935,40399,11199,17763,35526,1453,2906,5812,11624,23248,885,1770,3540,7080,14160,28320,56640,55369,41139,20807,41614,21821,43642,17621,28485,56970,44341,19019,38038,14605,29210,60195,50791,40175,10751,21502,43004,24537,18387,36774,3949,7898,15796,31592,63184,47201,24803,49606,37805,14203,28406,56812,17824,35648,1697,3394,6788,13576,27152,43601,17539,35078,557,1114,2228,4456,30388,60776,51953,34243,7079,14158,28316,14128,28256,56512,43425,17251,34502,7597,13105,26210,52420,35241,883,1766,3532,4129,8258,16516,33032,4657,9314,18628];var a=function(e){return(e/2|e*128)&255};var n=function(e,r){return a(e^r)};var i=function(e){var a=r[e.length-1];var n=104;for(var i=e.length-1;i>=0;--i){var s=e[i];for(var f=0;f!=7;++f){if(s&64)a^=t[n];s*=2;--n}}return a};return function(r){var t=$o(r);var a=i(t);var s=t.length;var f=E(16);for(var o=0;o!=16;++o)f[o]=0;var l,c,h;if((s&1)===1){l=a>>8;f[s]=n(e[0],l);--s;l=a&255;c=t[t.length-1];f[s]=n(c,l)}while(s>0){--s;l=a>>8;f[s]=n(t[s],l);--s;l=a&255;f[s]=n(t[s],l)}s=15;h=15-t.length;while(h>0){l=a>>8;f[s]=n(e[h],l);--s;--h;l=a&255;f[s]=n(t[s],l);--s;--h}return f}}();var hl=function(e,r,t,a,n){if(!n)n=r;if(!a)a=cl(e);var i,s;for(i=0;i!=r.length;++i){s=r[i];s^=a[t];s=(s>>5|s<<3)&255;n[i]=s;++t}return[n,t,a]};var ul=function(e){var r=0,t=cl(e);return function(e){var a=hl("",e,r,t);r=a[1];return a[0]}};function dl(e,r,t,a){var n={key:es(e),verificationBytes:es(e)};if(t.password)n.verifier=ll(t.password);a.valid=n.verificationBytes===n.verifier;if(a.valid)a.insitu=ul(t.password);return n}function vl(e,r,t){var a=t||{};a.Info=e._R(2);e.l-=2;if(a.Info===1)a.Data=ol(e,r);else a.Data=fl(e,r);return a}function pl(e,r,t){var a={Type:t.biff>=8?e._R(2):0};if(a.Type)vl(e,r-2,a);else dl(e,t.biff>=8?r:r-2,t,a);return a}var gl=function(){function e(e,t){switch(t.type){case"base64":return r(k(e),t);case"binary":return r(e,t);case"buffer":return r(T&&Buffer.isBuffer(e)?e.toString("binary"):_(e),t);case"array":return r(mr(e),t);}throw new Error("Unrecognized type "+t.type)}function r(e,r){var t=r||{};var a=t.dense?[]:{};var n=e.match(/\\trowd.*?\\row\b/g);if(!n.length)throw new Error("RTF missing table");var i={s:{c:0,r:0},e:{c:0,r:n.length-1}};n.forEach(function(e,r){if(Array.isArray(a))a[r]=[];var t=/\\\w+\b/g;var n=0;var s;var f=-1;while(s=t.exec(e)){switch(s[0]){case"\\cell":var o=e.slice(n,t.lastIndex-s[0].length);if(o[0]==" ")o=o.slice(1);++f;if(o.length){var l={v:o,t:"s"};if(Array.isArray(a))a[r][f]=l;else a[Ra({r:r,c:f})]=l}break;}n=t.lastIndex}if(f>i.e.c)i.e.c=f});a["!ref"]=Na(i);return a}function t(r,t){return La(e(r,t),t)}function a(e){var r=["{\\rtf1\\ansi"];var t=Da(e["!ref"]),a;var n=Array.isArray(e);for(var i=t.s.r;i<=t.e.r;++i){r.push("\\trowd\\trautofit1");for(var s=t.s.c;s<=t.e.c;++s)r.push("\\cellx"+(s+1));r.push("\\pard\\intbl");for(s=t.s.c;s<=t.e.c;++s){var f=Ra({r:i,c:s});a=n?(e[i]||[])[s]:e[f];if(!a||a.v==null&&(!a.f||a.F))continue;r.push(" "+(a.w||(Pa(a),a.w)));r.push("\\cell")}r.push("\\pard\\intbl\\row")}return r.join("")+"}"}return{to_workbook:t,to_sheet:e,from_sheet:a}}();function ml(e){var r=e.slice(e[0]==="#"?1:0).slice(0,6);return[parseInt(r.slice(0,2),16),parseInt(r.slice(2,4),16),parseInt(r.slice(4,6),16)]}function bl(e){for(var r=0,t=1;r!=3;++r)t=t*256+(e[r]>255?255:e[r]<0?0:e[r]);return t.toString(16).toUpperCase().slice(1)}function wl(e){var r=e[0]/255,t=e[1]/255,a=e[2]/255;var n=Math.max(r,t,a),i=Math.min(r,t,a),s=n-i;if(s===0)return[0,0,r];var f=0,o=0,l=n+i;o=s/(l>1?2-l:l);switch(n){case r:f=((t-a)/s+6)%6;break;case t:f=(a-r)/s+2;break;case a:f=(r-t)/s+4;break;}return[f/6,o,l/2]}function kl(e){var r=e[0],t=e[1],a=e[2];var n=t*2*(a<.5?a:1-a),i=a-n/2;var s=[i,i,i],f=6*r;var o;if(t!==0)switch(f|0){case 0:;case 6:o=n*f;s[0]+=n;s[1]+=o;break;case 1:o=n*(2-f);s[0]+=o;s[1]+=n;break;case 2:o=n*(f-2);s[1]+=n;s[2]+=o;break;case 3:o=n*(4-f);s[1]+=o;s[2]+=n;break;case 4:o=n*(f-4);s[2]+=n;s[0]+=o;break;case 5:o=n*(6-f);s[2]+=o;s[0]+=n;break;}for(var l=0;l!=3;++l)s[l]=Math.round(s[l]*255);return s}function Tl(e,r){if(r===0)return e;var t=wl(ml(e));if(r<0)t[2]=t[2]*(1+r);else t[2]=1-(1-t[2])*(1-r);return bl(kl(t))}var Al=6,El=15,Cl=1,yl=Al;function Sl(e){return Math.floor((e+Math.round(128/yl)/256)*yl)}function _l(e){return Math.floor((e-5)/yl*100+.5)/100}function xl(e){return Math.round((e*yl+5)/yl*256)/256}function Ol(e){return xl(_l(Sl(e)))}function Rl(e){var r=Math.abs(e-Ol(e)),t=yl;if(r>.005)for(yl=Cl;yl":;case"":break;case"":;case"":n={};if(t.diagonalUp)n.diagonalUp=nt(t.diagonalUp);if(t.diagonalDown)n.diagonalDown=nt(t.diagonalDown);r.Borders.push(n);break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":break;case"":;case"":break;case"":;case"":break;case"":i=false;break;default:if(a&&a.WTF){if(!i)throw new Error("unrecognized "+t[0]+" in borders")};}})}function Ul(e,r,t,a){r.Fills=[];var n={};var i=false;(e[0].match(Hr)||[]).forEach(function(e){var t=Gr(e);switch(jr(t[0])){case"":;case"":break;case"":;case"":n={};r.Fills.push(n);break;case"":break;case"":break;case"":r.Fills.push(n);n={};break;case"":if(t.patternType)n.patternType=t.patternType;break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":break;case"":break;case"":break;case"":break;case"":;case"":break;case"":i=false;break;default:if(a&&a.WTF){if(!i)throw new Error("unrecognized "+t[0]+" in fills")};}})}function Bl(e,r,t,a){r.Fonts=[];var n={};var s=false;(e[0].match(Hr)||[]).forEach(function(e){var f=Gr(e);switch(jr(f[0])){case"":;case"":break;case"":break;case"
    ":;case"":r.Fonts.push(n);n={};break;case"":;case"":break;case"":n.bold=1;break;case"":n.italic=1;break;case"":n.underline=1;break;case"":n.strike=1;break;case"":n.outline=1;break;case"":n.shadow=1;break;case"":n.condense=1;break;case"":n.extend=1;break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":s=false;break;case"":;case"":break;case"":s=false;break;default:if(a&&a.WTF){if(!s)throw new Error("unrecognized "+f[0]+" in fonts")};}})}function Wl(e,r,t){r.NumberFmt=[];var a=rr(X);for(var n=0;n":;case"":;case"":break;case"0){if(o>392){for(o=392;o>60;--o)if(r.NumberFmt[o]==null)break;r.NumberFmt[o]=f}We(f,o)}}break;case"":break;default:if(t.WTF)throw new Error("unrecognized "+s[0]+" in numFmts");}}}function Hl(e){var r=[""];[[5,8],[23,26],[41,44],[50,392]].forEach(function(t){for(var a=t[0];a<=t[1];++a)if(e[a]!=null)r[r.length]=kt("numFmt",null,{numFmtId:a,formatCode:qr(e[a])})});if(r.length===1)return"";r[r.length]="";r[0]=kt("numFmts",null,{count:r.length-2}).replace("/>",">");return r.join("")}var zl=["numFmtId","fillId","fontId","borderId","xfId"];var Vl=["applyAlignment","applyBorder","applyFill","applyFont","applyNumberFormat","applyProtection","pivotButton","quotePrefix"];function Gl(e,r,t){r.CellXf=[];var a;var n=false;(e[0].match(Hr)||[]).forEach(function(e){var i=Gr(e),s=0;switch(jr(i[0])){case"":;case"":;case"":break;case"":a=i;delete a[0];for(s=0;s392){for(s=392;s>60;--s)if(r.NumberFmt[a.numFmtId]==r.NumberFmt[s]){a.numFmtId=s;break}}r.CellXf.push(a);break;case"":break;case"":var f={};if(i.vertical)f.vertical=i.vertical;if(i.horizontal)f.horizontal=i.horizontal;if(i.textRotation!=null)f.textRotation=i.textRotation;if(i.indent)f.indent=i.indent;if(i.wrapText)f.wrapText=nt(i.wrapText);a.alignment=f;break;case"":break;case"":;case"":break;case"":n=false;break;case"":;case"":break;case"":n=false;break;default:if(t&&t.WTF){if(!n)throw new Error("unrecognized "+i[0]+" in cellXfs")};}})}function jl(e){var r=[];r[r.length]=kt("cellXfs",null);e.forEach(function(e){r[r.length]=kt("xf",null,e)});r[r.length]="";if(r.length===2)return"";r[0]=kt("cellXfs",null,{count:r.length-2}).replace("/>",">");return r.join("")}var Xl=function uk(){var e=/<(?:\w+:)?numFmts([^>]*)>[\S\s]*?<\/(?:\w+:)?numFmts>/;var r=/<(?:\w+:)?cellXfs([^>]*)>[\S\s]*?<\/(?:\w+:)?cellXfs>/;var t=/<(?:\w+:)?fills([^>]*)>[\S\s]*?<\/(?:\w+:)?fills>/;var a=/<(?:\w+:)?fonts([^>]*)>[\S\s]*?<\/(?:\w+:)?fonts>/;var n=/<(?:\w+:)?borders([^>]*)>[\S\s]*?<\/(?:\w+:)?borders>/;return function i(s,f,o){var l={};if(!s)return l;s=s.replace(//gm,"").replace(//gm,"");var c;if(c=s.match(e))Wl(c,l,o);if(c=s.match(a))Bl(c,l,f,o);if(c=s.match(t))Ul(c,l,f,o);if(c=s.match(n))Ml(c,l,f,o);if(c=s.match(r))Gl(c,l,o);return l}}();function $l(e,r){var t=[Mr,kt("styleSheet",null,{xmlns:St[0],"xmlns:vt":yt.vt})],a;if(e.SSF&&(a=Hl(e.SSF))!=null)t[t.length]=a;t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';if(a=jl(r.cellXfs))t[t.length]=a;t[t.length]='';t[t.length]='';t[t.length]='';if(t.length>2){t[t.length]="";t[1]=t[1].replace("/>",">")}return t.join("")}function Yl(e,r){var t=e._R(2);var a=Ha(e,r-2);return[t,a]}function Kl(e,r,t){if(!t)t=ua(6+4*r.length);t._W(2,e);za(r,t);var a=t.length>t.l?t.slice(0,t.l):t;if(t.l==null)t.l=t.length;return a}function Jl(e,r,t){var a={};a.sz=e._R(2)/20;var n=mn(e,2,t);if(n.fItalic)a.italic=1;if(n.fCondense)a.condense=1;if(n.fExtend)a.extend=1;if(n.fShadow)a.shadow=1;if(n.fOutline)a.outline=1;if(n.fStrikeout)a.strike=1;var i=e._R(2);if(i===700)a.bold=1;switch(e._R(2)){case 1:a.vertAlign="superscript";break;case 2:a.vertAlign="subscript";break;}var s=e._R(1);if(s!=0)a.underline=s;var f=e._R(1);if(f>0)a.family=f;var o=e._R(1);if(o>0)a.charset=o;e.l++;a.color=pn(e,8);switch(e._R(1)){case 1:a.scheme="major";break;case 2:a.scheme="minor";break;}a.name=Ha(e,r-21);return a}function ql(e,r){if(!r)r=ua(25+4*32);r._W(2,e.sz*20);bn(e,r);r._W(2,e.bold?700:400);var t=0;if(e.vertAlign=="superscript")t=1;else if(e.vertAlign=="subscript")t=2;r._W(2,t);r._W(1,e.underline||0);r._W(1,e.family||0);r._W(1,e.charset||0);r._W(1,0);gn(e.color,r);var a=0;if(e.scheme=="major")a=1;if(e.scheme=="minor")a=2;r._W(1,a);za(e.name,r);return r.length>r.l?r.slice(0,r.l):r}var Zl=["none","solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];var Ql;var ec=ha;function rc(e,r){if(!r)r=ua(4*3+8*7+16*1);if(!Ql)Ql=ar(Zl);var t=Ql[e.patternType];if(t==null)t=40;r._W(4,t);var a=0;if(t!=40){gn({auto:1},r);gn({auto:1},r);for(;a<12;++a)r._W(4,0)}else{for(;a<4;++a)r._W(4,0);for(;a<12;++a)r._W(4,0)}return r.length>r.l?r.slice(0,r.l):r}function tc(e,r){var t=e.l+r;var a=e._R(2);var n=e._R(2);e.l=t;return{ixfe:a,numFmtId:n}}function ac(e,r,t){if(!t)t=ua(16);t._W(2,r||0);t._W(2,e.numFmtId||0);t._W(2,0);t._W(2,0);t._W(2,0);t._W(1,0);t._W(1,0);var a=0;t._W(1,a);t._W(1,0);t._W(1,0);t._W(1,0);return t}function nc(e,r){if(!r)r=ua(10);r._W(1,0);r._W(1,0);r._W(4,0);r._W(4,0);return r}var ic=ha;function sc(e,r){if(!r)r=ua(51);r._W(1,0);nc(null,r);nc(null,r);nc(null,r);nc(null,r);nc(null,r);return r.length>r.l?r.slice(0,r.l):r}function fc(e,r){if(!r)r=ua(12+4*10);r._W(4,e.xfId);r._W(2,1);r._W(1,+e.builtinId);r._W(1,0);tn(e.name||"",r);return r.length>r.l?r.slice(0,r.l):r}function oc(e,r,t){var a=ua(4+256*2*4);a._W(4,e);tn(r,a);tn(t,a);return a.length>a.l?a.slice(0,a.l):a}function lc(e,r,t){var a={};a.NumberFmt=[];for(var n in X)a.NumberFmt[n]=X[n];a.CellXf=[];a.Fonts=[];var i=[];var s=false;da(e,function f(e,n,o){switch(o){case 44:a.NumberFmt[e[0]]=e[1];We(e[1],e[0]);break;case 43:a.Fonts.push(e);if(e.color.theme!=null&&r&&r.themeElements&&r.themeElements.clrScheme){e.color.rgb=Tl(r.themeElements.clrScheme[e.color.theme].rgb,e.color.tint||0)}break;case 1025:break;case 45:break;case 46:break;case 47:if(i[i.length-1]==617){a.CellXf.push(e)}break;case 48:;case 507:;case 572:;case 475:break;case 1171:;case 2102:;case 1130:;case 512:;case 2095:;case 3072:break;case 35:s=true;break;case 36:s=false;break;case 37:i.push(o);s=true;break;case 38:i.pop();s=false;break;default:if(n.T>0)i.push(o);else if(n.T<0)i.pop();else if(!s||t.WTF&&i[i.length-1]!=37)throw new Error("Unexpected record 0x"+o.toString(16));}});return a}function cc(e,r){if(!r)return;var t=0;[[5,8],[23,26],[41,44],[50,392]].forEach(function(e){for(var a=e[0];a<=e[1];++a)if(r[a]!=null)++t});if(t==0)return;pa(e,615,Wa(t));[[5,8],[23,26],[41,44],[50,392]].forEach(function(t){for(var a=t[0];a<=t[1];++a)if(r[a]!=null)pa(e,44,Kl(a,r[a]))});pa(e,616)}function hc(e){var r=1;if(r==0)return;pa(e,611,Wa(r));pa(e,43,ql({sz:12,color:{theme:1},name:"Calibri",family:2,scheme:"minor"}));pa(e,612)}function uc(e){var r=2;if(r==0)return;pa(e,603,Wa(r));pa(e,45,rc({patternType:"none"}));pa(e,45,rc({patternType:"gray125"}));pa(e,604)}function dc(e){var r=1;if(r==0)return;pa(e,613,Wa(r));pa(e,46,sc({}));pa(e,614)}function vc(e){var r=1;pa(e,626,Wa(r));pa(e,47,ac({numFmtId:0,fontId:0,fillId:0,borderId:0},65535));pa(e,627)}function pc(e,r){pa(e,617,Wa(r.length));r.forEach(function(r){pa(e,47,ac(r,0))});pa(e,618)}function gc(e){var r=1;pa(e,619,Wa(r));pa(e,48,fc({xfId:0,builtinId:0,name:"Normal"}));pa(e,620)}function mc(e){var r=0;pa(e,505,Wa(r));pa(e,506)}function bc(e){var r=0;pa(e,508,oc(r,"TableStyleMedium9","PivotStyleMedium4"));pa(e,509)}function wc(){return}function kc(e,r){var t=va();pa(t,278);cc(t,e.SSF);hc(t,e);uc(t,e);dc(t,e);vc(t,e);pc(t,r.cellXfs);gc(t,e);mc(t,e);bc(t,e);wc(t,e);pa(t,279);return t.end()}var Tc=["","","","","","","","","","","",""];function Ac(e,r,t){r.themeElements.clrScheme=[];var a={};(e[0].match(Hr)||[]).forEach(function(e){var n=Gr(e);switch(n[0]){case"":break;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":if(n[0].charAt(1)==="/"){r.themeElements.clrScheme[Tc.indexOf(n[0])]=a;a={}}else{a.name=n[0].slice(3,n[0].length-1)}break;default:if(t&&t.WTF)throw new Error("Unrecognized "+n[0]+" in clrScheme");}})}function Ec(){}function Cc(){}var yc=/]*)>[\s\S]*<\/a:clrScheme>/;var Sc=/]*)>[\s\S]*<\/a:fontScheme>/;var _c=/]*)>[\s\S]*<\/a:fmtScheme>/;function xc(e,r,t){r.themeElements={};var a;[["clrScheme",yc,Ac],["fontScheme",Sc,Ec],["fmtScheme",_c,Cc]].forEach(function(n){if(!(a=e.match(n[1])))throw new Error(n[0]+" not found in themeElements");n[2](a,r,t)})}var Oc=/]*)>[\s\S]*<\/a:themeElements>/;function Rc(e,r){if(!e||e.length===0)e=Ic();var t;var a={};if(!(t=e.match(Oc)))throw new Error("themeElements not found in theme");xc(t[0],a,r);a.raw=e;return a}function Ic(e,r){if(r&&r.themeXLSX)return r.themeXLSX;if(e&&typeof e.raw=="string")return e.raw;var t=[Mr];t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]=''; +t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";return t.join("")}function Nc(e,r,t){var a=e.l+r;var n=e._R(4);if(n===124226)return;if(!t.cellStyles){e.l=a;return}var i=e.slice(e.l);e.l=a;var s;try{s=Pr(i,{type:"array"})}catch(f){return}var o=Rr(s,"theme/theme/theme1.xml",true);if(!o)return;return Rc(o,t)}function Dc(e){return e._R(4)}function Fc(e){var r={};r.xclrType=e._R(2);r.nTintShade=e._R(2);switch(r.xclrType){case 0:e.l+=4;break;case 1:r.xclrValue=Pc(e,4);break;case 2:r.xclrValue=ks(e,4);break;case 3:r.xclrValue=Dc(e,4);break;case 4:e.l+=4;break;}e.l+=8;return r}function Pc(e,r){return ha(e,r)}function Lc(e,r){return ha(e,r)}function Mc(e){var r=e._R(2);var t=e._R(2)-4;var a=[r];switch(r){case 4:;case 5:;case 7:;case 8:;case 9:;case 10:;case 11:;case 13:a[1]=Fc(e,t);break;case 6:a[1]=Lc(e,t);break;case 14:;case 15:a[1]=e._R(t===1?1:2);break;default:throw new Error("Unrecognized ExtProp type: "+r+" "+t);}return a}function Uc(e,r){var t=e.l+r;e.l+=2;var a=e._R(2);e.l+=2;var n=e._R(2);var i=[];while(n-- >0)i.push(Mc(e,t-e.l));return{ixfe:a,ext:i}}function Bc(e,r){r.forEach(function(e){switch(e[0]){case 4:break;case 5:break;case 6:break;case 7:break;case 8:break;case 9:break;case 10:break;case 11:break;case 13:break;case 14:break;case 15:break;}})}function Wc(e,r){return{flags:e._R(4),version:e._R(4),name:Ha(e,r-8)}}function Hc(e){var r=ua(12+2*e.name.length);r._W(4,e.flags);r._W(4,e.version);za(e.name,r);return r.slice(0,r.l)}function zc(e){var r=[];var t=e._R(4);while(t-- >0)r.push([e._R(4),e._R(4)]);return r}function Vc(e){var r=ua(4+8*e.length);r._W(4,e.length);for(var t=0;t":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":i=2;break;case"":i=2;break;case"":;case"":;case"":break;case"":n=false;break;case"\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n');return e.join("")}function qc(e){var r=[];if(!e)return r;var t=1;(e.match(Hr)||[]).forEach(function(e){var a=Gr(e);switch(a[0]){case"":;case"":break;case"]*r:id="([^"]*)"/)||["",""])[1];return r["!id"][t].Target}var ah=1024;function nh(e,r){var t=[21600,21600];var a=["m0,0l0",t[1],t[0],t[1],t[0],"0xe"].join(",");var n=[kt("xml",null,{"xmlns:v":_t.v,"xmlns:o":_t.o,"xmlns:x":_t.x,"xmlns:mv":_t.mv}).replace(/\/>/,">"),kt("o:shapelayout",kt("o:idmap",null,{"v:ext":"edit",data:e}),{"v:ext":"edit"}),kt("v:shapetype",[kt("v:stroke",null,{joinstyle:"miter"}),kt("v:path",null,{gradientshapeok:"t","o:connecttype":"rect"})].join(""),{id:"_x0000_t202","o:spt":202,coordsize:t.join(","),path:a})];while(ah",i,kt("v:shadow",null,s),kt("v:path",null,{"o:connecttype":"none"}),'
    ','',"","",bt("x:Anchor",[r.c+1,0,r.r+1,0,r.c+3,20,r.r+5,20].join(",")),bt("x:AutoFill","False"),bt("x:Row",String(r.r)),bt("x:Column",String(r.c)),e[1].hidden?"":"","",""])});n.push("");return n.join("")}function ih(e,r,t,a){var n=Array.isArray(e);var i;r.forEach(function(r){var s=Oa(r.ref);if(n){if(!e[s.r])e[s.r]=[];i=e[s.r][s.c]}else i=e[r.ref];if(!i){i={t:"z"};if(n)e[s.r][s.c]=i;else e[r.ref]=i;var f=Da(e["!ref"]||"BDWGO1000001:A1");if(f.s.r>s.r)f.s.r=s.r;if(f.e.rs.c)f.s.c=s.c;if(f.e.c=0;--c){if(!t&&i.c[c].T)return;if(t&&!i.c[c].T)i.c.splice(c,1)}if(t&&a)for(c=0;c/))return[];var t=[];var a=[];var n=e.match(/<(?:\w+:)?authors>([\s\S]*)<\/(?:\w+:)?authors>/);if(n&&n[1])n[1].split(/<\/\w*:?author>/).forEach(function(e){if(e===""||e.trim()==="")return;var r=e.match(/<(?:\w+:)?author[^>]*>(.*)/);if(r)t.push(r[1])});var i=e.match(/<(?:\w+:)?commentList>([\s\S]*)<\/(?:\w+:)?commentList>/);if(i&&i[1])i[1].split(/<\/\w*:?comment>/).forEach(function(e){if(e===""||e.trim()==="")return;var n=e.match(/<(?:\w+:)?comment[^>]*>/);if(!n)return;var i=Gr(n[0]);var s={author:i.authorId&&t[i.authorId]||"sheetjsghost",ref:i.ref,guid:i.guid};var f=Oa(i.ref);if(r.sheetRows&&r.sheetRows<=f.r)return;var o=e.match(/<(?:\w+:)?text>([\s\S]*)<\/(?:\w+:)?text>/);var l=!!o&&!!o[1]&&Po(o[1])||{r:"",t:"",h:""};s.r=l.r;if(l.r=="")l.t=l.h="";s.t=(l.t||"").replace(/\r\n/g,"\n").replace(/\r/g,"\n");if(r.cellHTML)s.h=l.h;a.push(s)});return a}function fh(e){var r=[Mr,kt("comments",null,{xmlns:St[0]})];var t=[];r.push("");e.forEach(function(e){e[1].forEach(function(e){var a=qr(e.a);if(t.indexOf(a)==-1){t.push(a);r.push(""+a+"")}if(e.T&&e.ID&&t.indexOf("tc="+e.ID)==-1){t.push("tc="+e.ID);r.push(""+"tc="+e.ID+"")}})});if(t.length==0){t.push("SheetJ5");r.push("SheetJ5")}r.push("");r.push("");e.forEach(function(e){var a=0,n=[];if(e[1][0]&&e[1][0].T&&e[1][0].ID)a=t.indexOf("tc="+e[1][0].ID);else e[1].forEach(function(e){if(e.a)a=t.indexOf(qr(e.a));n.push(e.t||"")});r.push('');if(n.length<=1)r.push(bt("t",qr(n[0]||"")));else{var i="Comment:\n "+n[0]+"\n";for(var s=1;s")});r.push("");if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function oh(e,r){var t=[];var a=false,n={},i=0;e.replace(Hr,function s(f,o){var l=Gr(f);switch(jr(l[0])){case"":break;case"":if(n.t!=null)t.push(n);break;case"":;case"":n.t=e.slice(i,o).replace(/\r\n/g,"\n").replace(/\r/g,"\n");break;case"":a=true;break;case"":a=false;break;case"":;case"
    ":;case"":break;case"":a=false;break;default:if(!a&&r.WTF)throw new Error("unrecognized "+l[0]+" in threaded comments");}return f});return t}function lh(e,r,t){var a=[Mr,kt("ThreadedComments",null,{xmlns:yt.TCMNT}).replace(/[\/]>/,">")];e.forEach(function(e){var n="";(e[1]||[]).forEach(function(i,s){if(!i.T){delete i.ID;return}if(i.a&&r.indexOf(i.a)==-1)r.push(i.a);var f={ref:e[0],id:"{54EE7951-7262-4200-6969-"+("000000000000"+t.tcid++).slice(-12)+"}"};if(s==0)n=f.id;else f.parentId=n;i.ID=f.id;if(i.a)f.personId="{54EE7950-7262-4200-6969-"+("000000000000"+r.indexOf(i.a)).slice(-12)+"}";a.push(kt("threadedComment",bt("text",i.t||""),f))})});a.push("");return a.join("")}function ch(e,r){var t=[];var a=false;e.replace(Hr,function n(e){var n=Gr(e);switch(jr(n[0])){case"":break;case"":break;case"":;case"":;case"":break;case"":a=false;break;default:if(!a&&r.WTF)throw new Error("unrecognized "+n[0]+" in threaded comments");}return e});return t}function hh(e){var r=[Mr,kt("personList",null,{xmlns:yt.TCMNT,"xmlns:x":St[0]}).replace(/[\/]>/,">")];e.forEach(function(e,t){r.push(kt("person",null,{displayName:e,id:"{54EE7950-7262-4200-6969-"+("000000000000"+t).slice(-12)+"}",userId:e,providerId:"None"}))});r.push("");return r.join("")}function uh(e){var r={};r.iauthor=e._R(4);var t=hn(e,16);r.rfx=t.s;r.ref=Ra(t.s);e.l+=16;return r}function dh(e,r){if(r==null)r=ua(36);r._W(4,e[1].iauthor);un(e[0],r);r._W(4,0);r._W(4,0);r._W(4,0);r._W(4,0);return r}var vh=Ha;function ph(e){return za(e.slice(0,54))}function gh(e,r){var t=[];var a=[];var n={};var i=false;da(e,function s(e,f,o){switch(o){case 632:a.push(e);break;case 635:n=e;break;case 637:n.t=e.t;n.h=e.h;n.r=e.r;break;case 636:n.author=a[n.iauthor];delete n.iauthor;if(r.sheetRows&&n.rfx&&r.sheetRows<=n.rfx.r)break;if(!n.t)n.t="";delete n.rfx;t.push(n);break;case 3072:break;case 35:i=true;break;case 36:i=false;break;case 37:break;case 38:break;default:if(f.T){}else if(!i||r.WTF)throw new Error("Unexpected record 0x"+o.toString(16));}});return t}function mh(e){var r=va();var t=[];pa(r,628);pa(r,630);e.forEach(function(e){e[1].forEach(function(e){if(t.indexOf(e.a)>-1)return;t.push(e.a.slice(0,54));pa(r,632,ph(e.a))})});pa(r,631);pa(r,633);e.forEach(function(e){e[1].forEach(function(a){a.iauthor=t.indexOf(a.a);var n={s:Oa(e[0]),e:Oa(e[0])};pa(r,635,dh([n,a]));if(a.t&&a.t.length>0)pa(r,637,Ya(a));pa(r,636);delete a.iauthor})});pa(r,634);pa(r,629);return r.end()}var bh="application/vnd.ms-office.vbaProject";function wh(e){var r=Ke.utils.cfb_new({root:"R"});e.FullPaths.forEach(function(t,a){if(t.slice(-1)==="/"||!t.match(/_VBA_PROJECT_CUR/))return;var n=t.replace(/^[^\/]*/,"R").replace(/\/_VBA_PROJECT_CUR\u0000*/,"");Ke.utils.cfb_add(r,n,e.FileIndex[a].content)});return Ke.write(r)}function kh(e,r){r.FullPaths.forEach(function(t,a){if(a==0)return;var n=t.replace(/[^\/]*[\/]/,"/_VBA_PROJECT_CUR/");if(n.slice(-1)!=="/")Ke.utils.cfb_add(e,n,r.FileIndex[a].content)})}var Th=["xlsb","xlsm","xlam","biff8","xla"];function Ah(){return{"!type":"dialog"}}function Eh(){return{"!type":"dialog"}}function Ch(){return{"!type":"macro"}}function yh(){return{"!type":"macro"}}var Sh=function(){var e=/(^|[^A-Za-z_])R(\[?-?\d+\]|[1-9]\d*|)C(\[?-?\d+\]|[1-9]\d*|)(?![A-Za-z0-9_])/g;var r={r:0,c:0};function t(e,t,a,n){var i=false,s=false;if(a.length==0)s=true;else if(a.charAt(0)=="["){s=true;a=a.slice(1,-1)}if(n.length==0)i=true;else if(n.charAt(0)=="["){i=true;n=n.slice(1,-1)}var f=a.length>0?parseInt(a,10)|0:0,o=n.length>0?parseInt(n,10)|0:0;if(i)o+=r.c;else--o;if(s)f+=r.r;else--f;return t+(i?"":"$")+ya(o)+(s?"":"$")+Ta(f)}return function a(n,i){r=i;return n.replace(e,t)}}();var _h=/(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)(10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6]|[1-9]\d{0,5})(?![_.\(A-Za-z0-9])/g;var xh=function(){return function e(r,t){return r.replace(_h,function(e,r,a,n,i,s){var f=Ca(n)-(a?0:t.c);var o=ka(s)-(i?0:t.r);var l=o==0?"":!i?"["+o+"]":o+1;var c=f==0?"":!a?"["+f+"]":f+1;return r+"R"+l+"C"+c})}}();function Oh(e,r){return e.replace(_h,function(e,t,a,n,i,s){return t+(a=="$"?a+n:ya(Ca(n)+r.c))+(i=="$"?i+s:Ta(ka(s)+r.r))})}function Rh(e,r,t){var a=Ia(r),n=a.s,i=Oa(t);var s={r:i.r-n.r,c:i.c-n.c};return Oh(e,s)}function Ih(e){if(e.length==1)return false;return true}function Nh(e){return e.replace(/_xlfn\./g,"")}function Dh(e){e.l+=1;return}function Fh(e,r){var t=e._R(r==1?1:2);return[t&16383,t>>14&1,t>>15&1]}function Ph(e,r,t){var a=2;if(t){if(t.biff>=2&&t.biff<=5)return Lh(e,r,t);else if(t.biff==12)a=4}var n=e._R(a),i=e._R(a);var s=Fh(e,2);var f=Fh(e,2);return{s:{r:n,c:s[0],cRel:s[1],rRel:s[2]},e:{r:i,c:f[0],cRel:f[1],rRel:f[2]}}}function Lh(e){var r=Fh(e,2),t=Fh(e,2);var a=e._R(1);var n=e._R(1);return{s:{r:r[0],c:a,cRel:r[1],rRel:r[2]},e:{r:t[0],c:n,cRel:t[1],rRel:t[2]}}}function Mh(e,r,t){if(t.biff<8)return Lh(e,r,t);var a=e._R(t.biff==12?4:2),n=e._R(t.biff==12?4:2);var i=Fh(e,2);var s=Fh(e,2);return{s:{r:a,c:i[0],cRel:i[1],rRel:i[2]},e:{r:n,c:s[0],cRel:s[1],rRel:s[2]}}}function Uh(e,r,t){if(t&&t.biff>=2&&t.biff<=5)return Bh(e,r,t);var a=e._R(t&&t.biff==12?4:2);var n=Fh(e,2);return{r:a,c:n[0],cRel:n[1],rRel:n[2]}}function Bh(e){var r=Fh(e,2);var t=e._R(1);return{r:r[0],c:t,cRel:r[1],rRel:r[2]}}function Wh(e){var r=e._R(2);var t=e._R(2);return{r:r,c:t&255,fQuoted:!!(t&16384),cRel:t>>15,rRel:t>>15}}function Hh(e,r,t){var a=t&&t.biff?t.biff:8;if(a>=2&&a<=5)return zh(e,r,t);var n=e._R(a>=12?4:2);var i=e._R(2);var s=(i&16384)>>14,f=(i&32768)>>15;i&=16383;if(f==1)while(n>524287)n-=1048576;if(s==1)while(i>8191)i=i-16384;return{r:n,c:i,cRel:s,rRel:f}}function zh(e){var r=e._R(2);var t=e._R(1);var a=(r&32768)>>15,n=(r&16384)>>14;r&=16383;if(a==1&&r>=8192)r=r-16384;if(n==1&&t>=128)t=t-256;return{r:r,c:t,cRel:n,rRel:a}}function Vh(e,r,t){var a=(e[e.l++]&96)>>5;var n=Ph(e,t.biff>=2&&t.biff<=5?6:8,t);return[a,n]}function Gh(e,r,t){var a=(e[e.l++]&96)>>5;var n=e._R(2,"i");var i=8;if(t)switch(t.biff){case 5:e.l+=12;i=6;break;case 12:i=12;break;}var s=Ph(e,i,t);return[a,n,s]}function jh(e,r,t){var a=(e[e.l++]&96)>>5;e.l+=t&&t.biff>8?12:t.biff<8?6:8;return[a]}function Xh(e,r,t){var a=(e[e.l++]&96)>>5;var n=e._R(2);var i=8;if(t)switch(t.biff){case 5:e.l+=12;i=6;break;case 12:i=12;break;}e.l+=i;return[a,n]}function $h(e,r,t){var a=(e[e.l++]&96)>>5;var n=Mh(e,r-1,t);return[a,n]}function Yh(e,r,t){var a=(e[e.l++]&96)>>5;e.l+=t.biff==2?6:t.biff==12?14:7;return[a]}function Kh(e){var r=e[e.l+1]&1;var t=1;e.l+=4;return[r,t]}function Jh(e,r,t){e.l+=2;var a=e._R(t&&t.biff==2?1:2);var n=[];for(var i=0;i<=a;++i)n.push(e._R(t&&t.biff==2?1:2));return n}function qh(e,r,t){var a=e[e.l+1]&255?1:0;e.l+=2;return[a,e._R(t&&t.biff==2?1:2)]}function Zh(e,r,t){var a=e[e.l+1]&255?1:0;e.l+=2;return[a,e._R(t&&t.biff==2?1:2)]}function Qh(e){var r=e[e.l+1]&255?1:0;e.l+=2;return[r,e._R(2)]}function eu(e,r,t){var a=e[e.l+1]&255?1:0;e.l+=t&&t.biff==2?3:4;return[a]}function ru(e){var r=e._R(1),t=e._R(1);return[r,t]}function tu(e){e._R(2);return ru(e,2)}function au(e){e._R(2);return ru(e,2)}function nu(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=Uh(e,0,t);return[a,n]}function iu(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=Hh(e,0,t);return[a,n]}function su(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=e._R(2);if(t&&t.biff==5)e.l+=12;var i=Uh(e,0,t);return[a,n,i]}function fu(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=e._R(t&&t.biff<=3?1:2);return[Ed[n],Ad[n],a]}function ou(e,r,t){var a=e[e.l++];var n=e._R(1),i=t&&t.biff<=3?[a==88?-1:0,e._R(1)]:lu(e);return[n,(i[0]===0?Ad:Td)[i[1]]]}function lu(e){return[e[e.l+1]>>7,e._R(2)&32767]}function cu(e,r,t){e.l+=t&&t.biff==2?3:4;return}function hu(e,r,t){e.l++;if(t&&t.biff==12)return[e._R(4,"i"),0];var a=e._R(2);var n=e._R(t&&t.biff==2?1:2);return[a,n]}function uu(e){e.l++;return Gn[e._R(1)]}function du(e){e.l++;return e._R(2)}function vu(e){e.l++;return e._R(1)!==0}function pu(e){e.l++;return dn(e,8)}function gu(e,r,t){e.l++;return is(e,r-1,t)}function mu(e,r){var t=[e._R(1)];if(r==12)switch(t[0]){case 2:t[0]=4;break;case 4:t[0]=16;break;case 0:t[0]=1;break;case 1:t[0]=2;break;}switch(t[0]){case 4:t[1]=Zi(e,1)?"TRUE":"FALSE";if(r!=12)e.l+=7;break;case 37:;case 16:t[1]=Gn[e[e.l]];e.l+=r==12?4:8;break;case 0:e.l+=8;break;case 1:t[1]=dn(e,8);break;case 2:t[1]=cs(e,0,{biff:r>0&&r<8?2:r});break;default:throw new Error("Bad SerAr: "+t[0]);}return t}function bu(e,r,t){var a=e._R(t.biff==12?4:2);var n=[];for(var i=0;i!=a;++i)n.push((t.biff==12?hn:Os)(e,8));return n}function wu(e,r,t){var a=0,n=0;if(t.biff==12){a=e._R(4);n=e._R(4)}else{n=1+e._R(1);a=1+e._R(2)}if(t.biff>=2&&t.biff<8){--a;if(--n==0)n=256}for(var i=0,s=[];i!=a&&(s[i]=[]);++i)for(var f=0;f!=n;++f)s[i][f]=mu(e,t.biff);return s}function ku(e,r,t){var a=e._R(1)>>>5&3;var n=!t||t.biff>=8?4:2;var i=e._R(n);switch(t.biff){case 2:e.l+=5;break;case 3:;case 4:e.l+=8;break;case 5:e.l+=12;break;}return[a,0,i]}function Tu(e,r,t){if(t.biff==5)return Au(e,r,t);var a=e._R(1)>>>5&3;var n=e._R(2);var i=e._R(4);return[a,n,i]}function Au(e){var r=e._R(1)>>>5&3;var t=e._R(2,"i");e.l+=8;var a=e._R(2);e.l+=12;return[r,t,a]}function Eu(e,r,t){var a=e._R(1)>>>5&3;e.l+=t&&t.biff==2?3:4;var n=e._R(t&&t.biff==2?1:2);return[a,n]}function Cu(e,r,t){var a=e._R(1)>>>5&3;var n=e._R(t&&t.biff==2?1:2);return[a,n]}function yu(e,r,t){var a=e._R(1)>>>5&3;e.l+=4;if(t.biff<8)e.l--;if(t.biff==12)e.l+=2;return[a]}function Su(e,r,t){var a=(e[e.l++]&96)>>5;var n=e._R(2);var i=4;if(t)switch(t.biff){case 5:i=15;break;case 12:i=6;break;}e.l+=i;return[a,n]}var _u=ha;var xu=ha;var Ou=ha;function Ru(e,r,t){e.l+=2;return[Wh(e,4,t)]}function Iu(e){e.l+=6;return[]}var Nu=Ru;var Du=Iu;var Fu=Iu;var Pu=Ru;function Lu(e){e.l+=2;return[es(e),e._R(2)&1]}var Mu=Ru;var Uu=Lu;var Bu=Iu;var Wu=Ru;var Hu=Ru;var zu=["Data","All","Headers","??","?Data2","??","?DataHeaders","??","Totals","??","??","??","?DataTotals","??","??","??","?Current"];function Vu(e){e.l+=2;var r=e._R(2);var t=e._R(2);var a=e._R(4);var n=e._R(2);var i=e._R(2);var s=zu[t>>2&31];return{ixti:r,coltype:t&3,rt:s,idx:a,c:n,C:i}}function Gu(e){e.l+=2;return[e._R(4)]}function ju(e,r,t){e.l+=5;e.l+=2;e.l+=t.biff==2?1:4;return["PTGSHEET"]}function Xu(e,r,t){e.l+=t.biff==2?4:5;return["PTGENDSHEET"]}function $u(e){var r=e._R(1)>>>5&3;var t=e._R(2);return[r,t]}function Yu(e){var r=e._R(1)>>>5&3;var t=e._R(2);return[r,t]}function Ku(e){e.l+=4;return[0,0]}var Ju={1:{n:"PtgExp",f:hu},2:{n:"PtgTbl",f:Ou},3:{n:"PtgAdd",f:Dh},4:{n:"PtgSub",f:Dh},5:{n:"PtgMul",f:Dh},6:{n:"PtgDiv",f:Dh},7:{n:"PtgPower",f:Dh},8:{n:"PtgConcat",f:Dh},9:{n:"PtgLt",f:Dh},10:{n:"PtgLe",f:Dh},11:{n:"PtgEq",f:Dh},12:{n:"PtgGe",f:Dh},13:{n:"PtgGt",f:Dh},14:{n:"PtgNe",f:Dh},15:{n:"PtgIsect",f:Dh},16:{n:"PtgUnion",f:Dh},17:{n:"PtgRange",f:Dh},18:{n:"PtgUplus",f:Dh},19:{n:"PtgUminus",f:Dh},20:{n:"PtgPercent",f:Dh},21:{n:"PtgParen",f:Dh},22:{n:"PtgMissArg",f:Dh},23:{n:"PtgStr",f:gu},26:{n:"PtgSheet",f:ju},27:{n:"PtgEndSheet",f:Xu},28:{n:"PtgErr",f:uu},29:{n:"PtgBool",f:vu},30:{n:"PtgInt",f:du},31:{n:"PtgNum",f:pu},32:{n:"PtgArray",f:Yh},33:{n:"PtgFunc",f:fu},34:{n:"PtgFuncVar",f:ou},35:{n:"PtgName",f:ku},36:{n:"PtgRef",f:nu},37:{n:"PtgArea",f:Vh},38:{n:"PtgMemArea",f:Eu},39:{n:"PtgMemErr",f:_u},40:{n:"PtgMemNoMem",f:xu},41:{n:"PtgMemFunc",f:Cu},42:{n:"PtgRefErr",f:yu},43:{n:"PtgAreaErr",f:jh},44:{n:"PtgRefN",f:iu},45:{n:"PtgAreaN",f:$h},46:{n:"PtgMemAreaN",f:$u},47:{n:"PtgMemNoMemN",f:Yu},57:{n:"PtgNameX",f:Tu},58:{n:"PtgRef3d",f:su},59:{n:"PtgArea3d",f:Gh},60:{n:"PtgRefErr3d",f:Su},61:{n:"PtgAreaErr3d",f:Xh},255:{}};var qu={64:32,96:32,65:33,97:33,66:34,98:34,67:35,99:35,68:36,100:36,69:37,101:37,70:38,102:38,71:39,103:39,72:40,104:40,73:41,105:41,74:42,106:42,75:43,107:43,76:44,108:44,77:45,109:45,78:46,110:46,79:47,111:47,88:34,120:34,89:57,121:57,90:58,122:58,91:59,123:59,92:60,124:60,93:61,125:61};var Zu={1:{n:"PtgElfLel",f:Lu},2:{n:"PtgElfRw",f:Wu},3:{n:"PtgElfCol",f:Nu},6:{n:"PtgElfRwV",f:Hu},7:{n:"PtgElfColV",f:Pu},10:{n:"PtgElfRadical",f:Mu},11:{n:"PtgElfRadicalS",f:Bu},13:{n:"PtgElfColS",f:Du},15:{n:"PtgElfColSV",f:Fu},16:{n:"PtgElfRadicalLel",f:Uu},25:{n:"PtgList",f:Vu},29:{n:"PtgSxName",f:Gu},255:{}};var Qu={0:{n:"PtgAttrNoop",f:Ku},1:{n:"PtgAttrSemi",f:eu},2:{n:"PtgAttrIf",f:Zh},4:{n:"PtgAttrChoose",f:Jh},8:{n:"PtgAttrGoto",f:qh},16:{n:"PtgAttrSum",f:cu},32:{n:"PtgAttrBaxcel",f:Kh},33:{n:"PtgAttrBaxcel",f:Kh},64:{n:"PtgAttrSpace",f:tu},65:{n:"PtgAttrSpaceSemi",f:au},128:{n:"PtgAttrIfError",f:Qh},255:{}};function ed(e,r,t,a){if(a.biff<8)return ha(e,r);var n=e.l+r;var i=[];for(var s=0;s!==t.length;++s){switch(t[s][0]){case"PtgArray":t[s][1]=wu(e,0,a);i.push(t[s][1]);break;case"PtgMemArea":t[s][2]=bu(e,t[s][1],a);i.push(t[s][2]);break;case"PtgExp":if(a&&a.biff==12){t[s][1][1]=e._R(4);i.push(t[s][1])}break;case"PtgList":;case"PtgElfRadicalS":;case"PtgElfColS":;case"PtgElfColSV":throw"Unsupported "+t[s][0];default:break;}}r=n-e.l;if(r!==0)i.push(ha(e,r));return i}function rd(e,r,t){var a=e.l+r;var n,i,s=[];while(a!=e.l){r=a-e.l;i=e[e.l];n=Ju[i]||Ju[qu[i]];if(i===24||i===25)n=(i===24?Zu:Qu)[e[e.l+1]];if(!n||!n.f){ha(e,r)}else{s.push([n.n,n.f(e,r,t)])}}return s}function td(e){var r=[];for(var t=0;t=",PtgGt:">",PtgLe:"<=",PtgLt:"<",PtgMul:"*",PtgNe:"<>",PtgPower:"^",PtgSub:"-"};function nd(e,r){if(!e&&!(r&&r.biff<=5&&r.biff>=2))throw new Error("empty sheet name");if(/[^\w\u4E00-\u9FFF\u3040-\u30FF]/.test(e))return"'"+e+"'";return e}function id(e,r,t){if(!e)return"SH33TJSERR0";if(t.biff>8&&(!e.XTI||!e.XTI[r]))return e.SheetNames[r];if(!e.XTI)return"SH33TJSERR6"; +var a=e.XTI[r];if(t.biff<8){if(r>1e4)r-=65536;if(r<0)r=-r;return r==0?"":e.XTI[r-1]}if(!a)return"SH33TJSERR1";var n="";if(t.biff>8)switch(e[a[0]][0]){case 357:n=a[1]==-1?"#REF":e.SheetNames[a[1]];return a[1]==a[2]?n:n+":"+e.SheetNames[a[2]];case 358:if(t.SID!=null)return e.SheetNames[t.SID];return"SH33TJSSAME"+e[a[0]][0];case 355:;default:return"SH33TJSSRC"+e[a[0]][0];}switch(e[a[0]][0][0]){case 1025:n=a[1]==-1?"#REF":e.SheetNames[a[1]]||"SH33TJSERR3";return a[1]==a[2]?n:n+":"+e.SheetNames[a[2]];case 14849:return e[a[0]].slice(1).map(function(e){return e.Name}).join(";;");default:if(!e[a[0]][0][3])return"SH33TJSERR2";n=a[1]==-1?"#REF":e[a[0]][0][3][a[1]]||"SH33TJSERR4";return a[1]==a[2]?n:n+":"+e[a[0]][0][3][a[2]];}}function sd(e,r,t){var a=id(e,r,t);return a=="#REF"?a:nd(a,t)}function fd(e,r,t,a,n){var i=n&&n.biff||8;var s={s:{c:0,r:0},e:{c:0,r:0}};var f=[],o,l,c,h=0,u=0,d,v="";if(!e[0]||!e[0][0])return"";var p=-1,g="";for(var m=0,b=e[0].length;m=0){switch(e[0][p][1][0]){case 0:g=wr(" ",e[0][p][1][1]);break;case 1:g=wr("\r",e[0][p][1][1]);break;default:g="";if(n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+e[0][p][1][0]);}l=l+g;p=-1}f.push(l+ad[w[0]]+o);break;case"PtgIsect":o=f.pop();l=f.pop();f.push(l+" "+o);break;case"PtgUnion":o=f.pop();l=f.pop();f.push(l+","+o);break;case"PtgRange":o=f.pop();l=f.pop();f.push(l+":"+o);break;case"PtgAttrChoose":break;case"PtgAttrGoto":break;case"PtgAttrIf":break;case"PtgAttrIfError":break;case"PtgRef":c=ga(w[1][1],s,n);f.push(ba(c,i));break;case"PtgRefN":c=t?ga(w[1][1],t,n):w[1][1];f.push(ba(c,i));break;case"PtgRef3d":h=w[1][1];c=ga(w[1][2],s,n);v=sd(a,h,n);var k=v;f.push(v+"!"+ba(c,i));break;case"PtgFunc":;case"PtgFuncVar":var T=w[1][0],A=w[1][1];if(!T)T=0;T&=127;var E=T==0?[]:f.slice(-T);f.length-=T;if(A==="User")A=E.shift();f.push(A+"("+E.join(",")+")");break;case"PtgBool":f.push(w[1]?"TRUE":"FALSE");break;case"PtgInt":f.push(w[1]);break;case"PtgNum":f.push(String(w[1]));break;case"PtgStr":f.push('"'+w[1].replace(/"/g,'""')+'"');break;case"PtgErr":f.push(w[1]);break;case"PtgAreaN":d=ma(w[1][1],t?{s:t}:s,n);f.push(wa(d,n));break;case"PtgArea":d=ma(w[1][1],s,n);f.push(wa(d,n));break;case"PtgArea3d":h=w[1][1];d=w[1][2];v=sd(a,h,n);f.push(v+"!"+wa(d,n));break;case"PtgAttrSum":f.push("SUM("+f.pop()+")");break;case"PtgAttrBaxcel":;case"PtgAttrSemi":break;case"PtgName":u=w[1][2];var C=(a.names||[])[u-1]||(a[0]||[])[u];var y=C?C.Name:"SH33TJSNAME"+String(u);if(y&&y.slice(0,6)=="_xlfn."&&!n.xlfn)y=y.slice(6);f.push(y);break;case"PtgNameX":var S=w[1][1];u=w[1][2];var _;if(n.biff<=5){if(S<0)S=-S;if(a[S])_=a[S][u]}else{var x="";if(((a[S]||[])[0]||[])[0]==14849){}else if(((a[S]||[])[0]||[])[0]==1025){if(a[S][u]&&a[S][u].itab>0){x=a.SheetNames[a[S][u].itab-1]+"!"}}else x=a.SheetNames[u-1]+"!";if(a[S]&&a[S][u])x+=a[S][u].Name;else if(a[0]&&a[0][u])x+=a[0][u].Name;else{var O=(id(a,S,n)||"").split(";;");if(O[u-1])x=O[u-1];else x+="SH33TJSERRX"}f.push(x);break}if(!_)_={Name:"SH33TJSERRY"};f.push(_.Name);break;case"PtgParen":var R="(",I=")";if(p>=0){g="";switch(e[0][p][1][0]){case 2:R=wr(" ",e[0][p][1][1])+R;break;case 3:R=wr("\r",e[0][p][1][1])+R;break;case 4:I=wr(" ",e[0][p][1][1])+I;break;case 5:I=wr("\r",e[0][p][1][1])+I;break;default:if(n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+e[0][p][1][0]);}p=-1}f.push(R+f.pop()+I);break;case"PtgRefErr":f.push("#REF!");break;case"PtgRefErr3d":f.push("#REF!");break;case"PtgExp":c={c:w[1][1],r:w[1][0]};var N={c:t.c,r:t.r};if(a.sharedf[Ra(c)]){var D=a.sharedf[Ra(c)];f.push(fd(D,s,N,a,n))}else{var F=false;for(o=0;o!=a.arrayf.length;++o){l=a.arrayf[o];if(c.cl[0].e.c)continue;if(c.rl[0].e.r)continue;f.push(fd(l[1],s,N,a,n));F=true;break}if(!F)f.push(w[1])}break;case"PtgArray":f.push("{"+td(w[1])+"}");break;case"PtgMemArea":break;case"PtgAttrSpace":;case"PtgAttrSpaceSemi":p=m;break;case"PtgTbl":break;case"PtgMemErr":break;case"PtgMissArg":f.push("");break;case"PtgAreaErr":f.push("#REF!");break;case"PtgAreaErr3d":f.push("#REF!");break;case"PtgList":f.push("Table"+w[1].idx+"[#"+w[1].rt+"]");break;case"PtgMemAreaN":;case"PtgMemNoMemN":;case"PtgAttrNoop":;case"PtgSheet":;case"PtgEndSheet":break;case"PtgMemFunc":break;case"PtgMemNoMem":break;case"PtgElfCol":;case"PtgElfColS":;case"PtgElfColSV":;case"PtgElfColV":;case"PtgElfLel":;case"PtgElfRadical":;case"PtgElfRadicalLel":;case"PtgElfRadicalS":;case"PtgElfRw":;case"PtgElfRwV":throw new Error("Unsupported ELFs");case"PtgSxName":throw new Error("Unrecognized Formula Token: "+String(w));default:throw new Error("Unrecognized Formula Token: "+String(w));}var P=["PtgAttrSpace","PtgAttrSpaceSemi","PtgAttrGoto"];if(n.biff!=3)if(p>=0&&P.indexOf(e[0][m][0])==-1){w=e[0][p];var L=true;switch(w[1][0]){case 4:L=false;case 0:g=wr(" ",w[1][1]);break;case 5:L=false;case 1:g=wr("\r",w[1][1]);break;default:g="";if(n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+w[1][0]);}f.push((L?g:"")+f.pop()+(L?"":g));p=-1}}if(f.length>1&&n.WTF)throw new Error("bad formula stack");return f[0]}function od(e,r,t){var a=e.l+r,n=t.biff==2?1:2;var i,s=e._R(n);if(s==65535)return[[],ha(e,r-2)];var f=rd(e,s,t);if(r!==s+n)i=ed(e,r-s-n,f,t);e.l=a;return[f,i]}function ld(e,r,t){var a=e.l+r,n=t.biff==2?1:2;var i,s=e._R(n);if(s==65535)return[[],ha(e,r-2)];var f=rd(e,s,t);if(r!==s+n)i=ed(e,r-s-n,f,t);e.l=a;return[f,i]}function cd(e,r,t,a){var n=e.l+r;var i=rd(e,a,t);var s;if(n!==e.l)s=ed(e,n-e.l,i,t);return[i,s]}function hd(e,r,t){var a=e.l+r;var n,i=e._R(2);var s=rd(e,i,t);if(i==65535)return[[],ha(e,r-2)];if(r!==i+2)n=ed(e,a-i-2,s,t);return[s,n]}function ud(e){var r;if(Qt(e,e.l+6)!==65535)return[dn(e),"n"];switch(e[e.l]){case 0:e.l+=8;return["String","s"];case 1:r=e[e.l+2]===1;e.l+=8;return[r,"b"];case 2:r=e[e.l+2];e.l+=8;return[r,"e"];case 3:e.l+=8;return["","s"];}return[]}function dd(e){if(e==null){var r=ua(8);r._W(1,3);r._W(1,0);r._W(2,0);r._W(2,0);r._W(2,65535);return r}else if(typeof e=="number")return vn(e);return vn(0)}function vd(e,r,t){var a=e.l+r;var n=As(e,6);if(t.biff==2)++e.l;var i=ud(e,8);var s=e._R(1);if(t.biff!=2){e._R(1);if(t.biff>=5){e._R(4)}}var f=ld(e,a-e.l,t);return{cell:n,val:i[0],formula:f,shared:s>>3&1,tt:i[1]}}function pd(e,r,t,a,n){var i=Es(r,t,n);var s=dd(e.v);var f=ua(6);var o=1|32;f._W(2,o);f._W(4,0);var l=ua(e.bf.length);for(var c=0;c0?ed(e,i,n,t):null;return[n,s]}var md=gd;var bd=gd;var wd=gd;var kd=gd;var Td={0:"BEEP",1:"OPEN",2:"OPEN.LINKS",3:"CLOSE.ALL",4:"SAVE",5:"SAVE.AS",6:"FILE.DELETE",7:"PAGE.SETUP",8:"PRINT",9:"PRINTER.SETUP",10:"QUIT",11:"NEW.WINDOW",12:"ARRANGE.ALL",13:"WINDOW.SIZE",14:"WINDOW.MOVE",15:"FULL",16:"CLOSE",17:"RUN",22:"SET.PRINT.AREA",23:"SET.PRINT.TITLES",24:"SET.PAGE.BREAK",25:"REMOVE.PAGE.BREAK",26:"FONT",27:"DISPLAY",28:"PROTECT.DOCUMENT",29:"PRECISION",30:"A1.R1C1",31:"CALCULATE.NOW",32:"CALCULATION",34:"DATA.FIND",35:"EXTRACT",36:"DATA.DELETE",37:"SET.DATABASE",38:"SET.CRITERIA",39:"SORT",40:"DATA.SERIES",41:"TABLE",42:"FORMAT.NUMBER",43:"ALIGNMENT",44:"STYLE",45:"BORDER",46:"CELL.PROTECTION",47:"COLUMN.WIDTH",48:"UNDO",49:"CUT",50:"COPY",51:"PASTE",52:"CLEAR",53:"PASTE.SPECIAL",54:"EDIT.DELETE",55:"INSERT",56:"FILL.RIGHT",57:"FILL.DOWN",61:"DEFINE.NAME",62:"CREATE.NAMES",63:"FORMULA.GOTO",64:"FORMULA.FIND",65:"SELECT.LAST.CELL",66:"SHOW.ACTIVE.CELL",67:"GALLERY.AREA",68:"GALLERY.BAR",69:"GALLERY.COLUMN",70:"GALLERY.LINE",71:"GALLERY.PIE",72:"GALLERY.SCATTER",73:"COMBINATION",74:"PREFERRED",75:"ADD.OVERLAY",76:"GRIDLINES",77:"SET.PREFERRED",78:"AXES",79:"LEGEND",80:"ATTACH.TEXT",81:"ADD.ARROW",82:"SELECT.CHART",83:"SELECT.PLOT.AREA",84:"PATTERNS",85:"MAIN.CHART",86:"OVERLAY",87:"SCALE",88:"FORMAT.LEGEND",89:"FORMAT.TEXT",90:"EDIT.REPEAT",91:"PARSE",92:"JUSTIFY",93:"HIDE",94:"UNHIDE",95:"WORKSPACE",96:"FORMULA",97:"FORMULA.FILL",98:"FORMULA.ARRAY",99:"DATA.FIND.NEXT",100:"DATA.FIND.PREV",101:"FORMULA.FIND.NEXT",102:"FORMULA.FIND.PREV",103:"ACTIVATE",104:"ACTIVATE.NEXT",105:"ACTIVATE.PREV",106:"UNLOCKED.NEXT",107:"UNLOCKED.PREV",108:"COPY.PICTURE",109:"SELECT",110:"DELETE.NAME",111:"DELETE.FORMAT",112:"VLINE",113:"HLINE",114:"VPAGE",115:"HPAGE",116:"VSCROLL",117:"HSCROLL",118:"ALERT",119:"NEW",120:"CANCEL.COPY",121:"SHOW.CLIPBOARD",122:"MESSAGE",124:"PASTE.LINK",125:"APP.ACTIVATE",126:"DELETE.ARROW",127:"ROW.HEIGHT",128:"FORMAT.MOVE",129:"FORMAT.SIZE",130:"FORMULA.REPLACE",131:"SEND.KEYS",132:"SELECT.SPECIAL",133:"APPLY.NAMES",134:"REPLACE.FONT",135:"FREEZE.PANES",136:"SHOW.INFO",137:"SPLIT",138:"ON.WINDOW",139:"ON.DATA",140:"DISABLE.INPUT",142:"OUTLINE",143:"LIST.NAMES",144:"FILE.CLOSE",145:"SAVE.WORKBOOK",146:"DATA.FORM",147:"COPY.CHART",148:"ON.TIME",149:"WAIT",150:"FORMAT.FONT",151:"FILL.UP",152:"FILL.LEFT",153:"DELETE.OVERLAY",155:"SHORT.MENUS",159:"SET.UPDATE.STATUS",161:"COLOR.PALETTE",162:"DELETE.STYLE",163:"WINDOW.RESTORE",164:"WINDOW.MAXIMIZE",166:"CHANGE.LINK",167:"CALCULATE.DOCUMENT",168:"ON.KEY",169:"APP.RESTORE",170:"APP.MOVE",171:"APP.SIZE",172:"APP.MINIMIZE",173:"APP.MAXIMIZE",174:"BRING.TO.FRONT",175:"SEND.TO.BACK",185:"MAIN.CHART.TYPE",186:"OVERLAY.CHART.TYPE",187:"SELECT.END",188:"OPEN.MAIL",189:"SEND.MAIL",190:"STANDARD.FONT",191:"CONSOLIDATE",192:"SORT.SPECIAL",193:"GALLERY.3D.AREA",194:"GALLERY.3D.COLUMN",195:"GALLERY.3D.LINE",196:"GALLERY.3D.PIE",197:"VIEW.3D",198:"GOAL.SEEK",199:"WORKGROUP",200:"FILL.GROUP",201:"UPDATE.LINK",202:"PROMOTE",203:"DEMOTE",204:"SHOW.DETAIL",206:"UNGROUP",207:"OBJECT.PROPERTIES",208:"SAVE.NEW.OBJECT",209:"SHARE",210:"SHARE.NAME",211:"DUPLICATE",212:"APPLY.STYLE",213:"ASSIGN.TO.OBJECT",214:"OBJECT.PROTECTION",215:"HIDE.OBJECT",216:"SET.EXTRACT",217:"CREATE.PUBLISHER",218:"SUBSCRIBE.TO",219:"ATTRIBUTES",220:"SHOW.TOOLBAR",222:"PRINT.PREVIEW",223:"EDIT.COLOR",224:"SHOW.LEVELS",225:"FORMAT.MAIN",226:"FORMAT.OVERLAY",227:"ON.RECALC",228:"EDIT.SERIES",229:"DEFINE.STYLE",240:"LINE.PRINT",243:"ENTER.DATA",249:"GALLERY.RADAR",250:"MERGE.STYLES",251:"EDITION.OPTIONS",252:"PASTE.PICTURE",253:"PASTE.PICTURE.LINK",254:"SPELLING",256:"ZOOM",259:"INSERT.OBJECT",260:"WINDOW.MINIMIZE",265:"SOUND.NOTE",266:"SOUND.PLAY",267:"FORMAT.SHAPE",268:"EXTEND.POLYGON",269:"FORMAT.AUTO",272:"GALLERY.3D.BAR",273:"GALLERY.3D.SURFACE",274:"FILL.AUTO",276:"CUSTOMIZE.TOOLBAR",277:"ADD.TOOL",278:"EDIT.OBJECT",279:"ON.DOUBLECLICK",280:"ON.ENTRY",281:"WORKBOOK.ADD",282:"WORKBOOK.MOVE",283:"WORKBOOK.COPY",284:"WORKBOOK.OPTIONS",285:"SAVE.WORKSPACE",288:"CHART.WIZARD",289:"DELETE.TOOL",290:"MOVE.TOOL",291:"WORKBOOK.SELECT",292:"WORKBOOK.ACTIVATE",293:"ASSIGN.TO.TOOL",295:"COPY.TOOL",296:"RESET.TOOL",297:"CONSTRAIN.NUMERIC",298:"PASTE.TOOL",302:"WORKBOOK.NEW",305:"SCENARIO.CELLS",306:"SCENARIO.DELETE",307:"SCENARIO.ADD",308:"SCENARIO.EDIT",309:"SCENARIO.SHOW",310:"SCENARIO.SHOW.NEXT",311:"SCENARIO.SUMMARY",312:"PIVOT.TABLE.WIZARD",313:"PIVOT.FIELD.PROPERTIES",314:"PIVOT.FIELD",315:"PIVOT.ITEM",316:"PIVOT.ADD.FIELDS",318:"OPTIONS.CALCULATION",319:"OPTIONS.EDIT",320:"OPTIONS.VIEW",321:"ADDIN.MANAGER",322:"MENU.EDITOR",323:"ATTACH.TOOLBARS",324:"VBAActivate",325:"OPTIONS.CHART",328:"VBA.INSERT.FILE",330:"VBA.PROCEDURE.DEFINITION",336:"ROUTING.SLIP",338:"ROUTE.DOCUMENT",339:"MAIL.LOGON",342:"INSERT.PICTURE",343:"EDIT.TOOL",344:"GALLERY.DOUGHNUT",350:"CHART.TREND",352:"PIVOT.ITEM.PROPERTIES",354:"WORKBOOK.INSERT",355:"OPTIONS.TRANSITION",356:"OPTIONS.GENERAL",370:"FILTER.ADVANCED",373:"MAIL.ADD.MAILER",374:"MAIL.DELETE.MAILER",375:"MAIL.REPLY",376:"MAIL.REPLY.ALL",377:"MAIL.FORWARD",378:"MAIL.NEXT.LETTER",379:"DATA.LABEL",380:"INSERT.TITLE",381:"FONT.PROPERTIES",382:"MACRO.OPTIONS",383:"WORKBOOK.HIDE",384:"WORKBOOK.UNHIDE",385:"WORKBOOK.DELETE",386:"WORKBOOK.NAME",388:"GALLERY.CUSTOM",390:"ADD.CHART.AUTOFORMAT",391:"DELETE.CHART.AUTOFORMAT",392:"CHART.ADD.DATA",393:"AUTO.OUTLINE",394:"TAB.ORDER",395:"SHOW.DIALOG",396:"SELECT.ALL",397:"UNGROUP.SHEETS",398:"SUBTOTAL.CREATE",399:"SUBTOTAL.REMOVE",400:"RENAME.OBJECT",412:"WORKBOOK.SCROLL",413:"WORKBOOK.NEXT",414:"WORKBOOK.PREV",415:"WORKBOOK.TAB.SPLIT",416:"FULL.SCREEN",417:"WORKBOOK.PROTECT",420:"SCROLLBAR.PROPERTIES",421:"PIVOT.SHOW.PAGES",422:"TEXT.TO.COLUMNS",423:"FORMAT.CHARTTYPE",424:"LINK.FORMAT",425:"TRACER.DISPLAY",430:"TRACER.NAVIGATE",431:"TRACER.CLEAR",432:"TRACER.ERROR",433:"PIVOT.FIELD.GROUP",434:"PIVOT.FIELD.UNGROUP",435:"CHECKBOX.PROPERTIES",436:"LABEL.PROPERTIES",437:"LISTBOX.PROPERTIES",438:"EDITBOX.PROPERTIES",439:"PIVOT.REFRESH",440:"LINK.COMBO",441:"OPEN.TEXT",442:"HIDE.DIALOG",443:"SET.DIALOG.FOCUS",444:"ENABLE.OBJECT",445:"PUSHBUTTON.PROPERTIES",446:"SET.DIALOG.DEFAULT",447:"FILTER",448:"FILTER.SHOW.ALL",449:"CLEAR.OUTLINE",450:"FUNCTION.WIZARD",451:"ADD.LIST.ITEM",452:"SET.LIST.ITEM",453:"REMOVE.LIST.ITEM",454:"SELECT.LIST.ITEM",455:"SET.CONTROL.VALUE",456:"SAVE.COPY.AS",458:"OPTIONS.LISTS.ADD",459:"OPTIONS.LISTS.DELETE",460:"SERIES.AXES",461:"SERIES.X",462:"SERIES.Y",463:"ERRORBAR.X",464:"ERRORBAR.Y",465:"FORMAT.CHART",466:"SERIES.ORDER",467:"MAIL.LOGOFF",468:"CLEAR.ROUTING.SLIP",469:"APP.ACTIVATE.MICROSOFT",470:"MAIL.EDIT.MAILER",471:"ON.SHEET",472:"STANDARD.WIDTH",473:"SCENARIO.MERGE",474:"SUMMARY.INFO",475:"FIND.FILE",476:"ACTIVE.CELL.FONT",477:"ENABLE.TIPWIZARD",478:"VBA.MAKE.ADDIN",480:"INSERTDATATABLE",481:"WORKGROUP.OPTIONS",482:"MAIL.SEND.MAILER",485:"AUTOCORRECT",489:"POST.DOCUMENT",491:"PICKLIST",493:"VIEW.SHOW",494:"VIEW.DEFINE",495:"VIEW.DELETE",509:"SHEET.BACKGROUND",510:"INSERT.MAP.OBJECT",511:"OPTIONS.MENONO",517:"MSOCHECKS",518:"NORMAL",519:"LAYOUT",520:"RM.PRINT.AREA",521:"CLEAR.PRINT.AREA",522:"ADD.PRINT.AREA",523:"MOVE.BRK",545:"HIDECURR.NOTE",546:"HIDEALL.NOTES",547:"DELETE.NOTE",548:"TRAVERSE.NOTES",549:"ACTIVATE.NOTES",620:"PROTECT.REVISIONS",621:"UNPROTECT.REVISIONS",647:"OPTIONS.ME",653:"WEB.PUBLISH",667:"NEWWEBQUERY",673:"PIVOT.TABLE.CHART",753:"OPTIONS.SAVE",755:"OPTIONS.SPELL",808:"HIDEALL.INKANNOTS"};var Ad={0:"COUNT",1:"IF",2:"ISNA",3:"ISERROR",4:"SUM",5:"AVERAGE",6:"MIN",7:"MAX",8:"ROW",9:"COLUMN",10:"NA",11:"NPV",12:"STDEV",13:"DOLLAR",14:"FIXED",15:"SIN",16:"COS",17:"TAN",18:"ATAN",19:"PI",20:"SQRT",21:"EXP",22:"LN",23:"LOG10",24:"ABS",25:"INT",26:"SIGN",27:"ROUND",28:"LOOKUP",29:"INDEX",30:"REPT",31:"MID",32:"LEN",33:"VALUE",34:"TRUE",35:"FALSE",36:"AND",37:"OR",38:"NOT",39:"MOD",40:"DCOUNT",41:"DSUM",42:"DAVERAGE",43:"DMIN",44:"DMAX",45:"DSTDEV",46:"VAR",47:"DVAR",48:"TEXT",49:"LINEST",50:"TREND",51:"LOGEST",52:"GROWTH",53:"GOTO",54:"HALT",55:"RETURN",56:"PV",57:"FV",58:"NPER",59:"PMT",60:"RATE",61:"MIRR",62:"IRR",63:"RAND",64:"MATCH",65:"DATE",66:"TIME",67:"DAY",68:"MONTH",69:"YEAR",70:"WEEKDAY",71:"HOUR",72:"MINUTE",73:"SECOND",74:"NOW",75:"AREAS",76:"ROWS",77:"COLUMNS",78:"OFFSET",79:"ABSREF",80:"RELREF",81:"ARGUMENT",82:"SEARCH",83:"TRANSPOSE",84:"ERROR",85:"STEP",86:"TYPE",87:"ECHO",88:"SET.NAME",89:"CALLER",90:"DEREF",91:"WINDOWS",92:"SERIES",93:"DOCUMENTS",94:"ACTIVE.CELL",95:"SELECTION",96:"RESULT",97:"ATAN2",98:"ASIN",99:"ACOS",100:"CHOOSE",101:"HLOOKUP",102:"VLOOKUP",103:"LINKS",104:"INPUT",105:"ISREF",106:"GET.FORMULA",107:"GET.NAME",108:"SET.VALUE",109:"LOG",110:"EXEC",111:"CHAR",112:"LOWER",113:"UPPER",114:"PROPER",115:"LEFT",116:"RIGHT",117:"EXACT",118:"TRIM",119:"REPLACE",120:"SUBSTITUTE",121:"CODE",122:"NAMES",123:"DIRECTORY",124:"FIND",125:"CELL",126:"ISERR",127:"ISTEXT",128:"ISNUMBER",129:"ISBLANK",130:"T",131:"N",132:"FOPEN",133:"FCLOSE",134:"FSIZE",135:"FREADLN",136:"FREAD",137:"FWRITELN",138:"FWRITE",139:"FPOS",140:"DATEVALUE",141:"TIMEVALUE",142:"SLN",143:"SYD",144:"DDB",145:"GET.DEF",146:"REFTEXT",147:"TEXTREF",148:"INDIRECT",149:"REGISTER",150:"CALL",151:"ADD.BAR",152:"ADD.MENU",153:"ADD.COMMAND",154:"ENABLE.COMMAND",155:"CHECK.COMMAND",156:"RENAME.COMMAND",157:"SHOW.BAR",158:"DELETE.MENU",159:"DELETE.COMMAND",160:"GET.CHART.ITEM",161:"DIALOG.BOX",162:"CLEAN",163:"MDETERM",164:"MINVERSE",165:"MMULT",166:"FILES",167:"IPMT",168:"PPMT",169:"COUNTA",170:"CANCEL.KEY",171:"FOR",172:"WHILE",173:"BREAK",174:"NEXT",175:"INITIATE",176:"REQUEST",177:"POKE",178:"EXECUTE",179:"TERMINATE",180:"RESTART",181:"HELP",182:"GET.BAR",183:"PRODUCT",184:"FACT",185:"GET.CELL",186:"GET.WORKSPACE",187:"GET.WINDOW",188:"GET.DOCUMENT",189:"DPRODUCT",190:"ISNONTEXT",191:"GET.NOTE",192:"NOTE",193:"STDEVP",194:"VARP",195:"DSTDEVP",196:"DVARP",197:"TRUNC",198:"ISLOGICAL",199:"DCOUNTA",200:"DELETE.BAR",201:"UNREGISTER",204:"USDOLLAR",205:"FINDB",206:"SEARCHB",207:"REPLACEB",208:"LEFTB",209:"RIGHTB",210:"MIDB",211:"LENB",212:"ROUNDUP",213:"ROUNDDOWN",214:"ASC",215:"DBCS",216:"RANK",219:"ADDRESS",220:"DAYS360",221:"TODAY",222:"VDB",223:"ELSE",224:"ELSE.IF",225:"END.IF",226:"FOR.CELL",227:"MEDIAN",228:"SUMPRODUCT",229:"SINH",230:"COSH",231:"TANH",232:"ASINH",233:"ACOSH",234:"ATANH",235:"DGET",236:"CREATE.OBJECT",237:"VOLATILE",238:"LAST.ERROR",239:"CUSTOM.UNDO",240:"CUSTOM.REPEAT",241:"FORMULA.CONVERT",242:"GET.LINK.INFO",243:"TEXT.BOX",244:"INFO",245:"GROUP",246:"GET.OBJECT",247:"DB",248:"PAUSE",251:"RESUME",252:"FREQUENCY",253:"ADD.TOOLBAR",254:"DELETE.TOOLBAR",255:"User",256:"RESET.TOOLBAR",257:"EVALUATE",258:"GET.TOOLBAR",259:"GET.TOOL",260:"SPELLING.CHECK",261:"ERROR.TYPE",262:"APP.TITLE",263:"WINDOW.TITLE",264:"SAVE.TOOLBAR",265:"ENABLE.TOOL",266:"PRESS.TOOL",267:"REGISTER.ID",268:"GET.WORKBOOK",269:"AVEDEV",270:"BETADIST",271:"GAMMALN",272:"BETAINV",273:"BINOMDIST",274:"CHIDIST",275:"CHIINV",276:"COMBIN",277:"CONFIDENCE",278:"CRITBINOM",279:"EVEN",280:"EXPONDIST",281:"FDIST",282:"FINV",283:"FISHER",284:"FISHERINV",285:"FLOOR",286:"GAMMADIST",287:"GAMMAINV",288:"CEILING",289:"HYPGEOMDIST",290:"LOGNORMDIST",291:"LOGINV",292:"NEGBINOMDIST",293:"NORMDIST",294:"NORMSDIST",295:"NORMINV",296:"NORMSINV",297:"STANDARDIZE",298:"ODD",299:"PERMUT",300:"POISSON",301:"TDIST",302:"WEIBULL",303:"SUMXMY2",304:"SUMX2MY2",305:"SUMX2PY2",306:"CHITEST",307:"CORREL",308:"COVAR",309:"FORECAST",310:"FTEST",311:"INTERCEPT",312:"PEARSON",313:"RSQ",314:"STEYX",315:"SLOPE",316:"TTEST",317:"PROB",318:"DEVSQ",319:"GEOMEAN",320:"HARMEAN",321:"SUMSQ",322:"KURT",323:"SKEW",324:"ZTEST",325:"LARGE",326:"SMALL",327:"QUARTILE",328:"PERCENTILE",329:"PERCENTRANK",330:"MODE",331:"TRIMMEAN",332:"TINV",334:"MOVIE.COMMAND",335:"GET.MOVIE",336:"CONCATENATE",337:"POWER",338:"PIVOT.ADD.DATA",339:"GET.PIVOT.TABLE",340:"GET.PIVOT.FIELD",341:"GET.PIVOT.ITEM",342:"RADIANS",343:"DEGREES",344:"SUBTOTAL",345:"SUMIF",346:"COUNTIF",347:"COUNTBLANK",348:"SCENARIO.GET",349:"OPTIONS.LISTS.GET",350:"ISPMT",351:"DATEDIF",352:"DATESTRING",353:"NUMBERSTRING",354:"ROMAN",355:"OPEN.DIALOG",356:"SAVE.DIALOG",357:"VIEW.GET",358:"GETPIVOTDATA",359:"HYPERLINK",360:"PHONETIC",361:"AVERAGEA",362:"MAXA",363:"MINA",364:"STDEVPA",365:"VARPA",366:"STDEVA",367:"VARA",368:"BAHTTEXT",369:"THAIDAYOFWEEK",370:"THAIDIGIT",371:"THAIMONTHOFYEAR",372:"THAINUMSOUND",373:"THAINUMSTRING",374:"THAISTRINGLENGTH",375:"ISTHAIDIGIT",376:"ROUNDBAHTDOWN",377:"ROUNDBAHTUP",378:"THAIYEAR",379:"RTD",380:"CUBEVALUE",381:"CUBEMEMBER",382:"CUBEMEMBERPROPERTY",383:"CUBERANKEDMEMBER",384:"HEX2BIN",385:"HEX2DEC",386:"HEX2OCT",387:"DEC2BIN",388:"DEC2HEX",389:"DEC2OCT",390:"OCT2BIN",391:"OCT2HEX",392:"OCT2DEC",393:"BIN2DEC",394:"BIN2OCT",395:"BIN2HEX",396:"IMSUB",397:"IMDIV",398:"IMPOWER",399:"IMABS",400:"IMSQRT",401:"IMLN",402:"IMLOG2",403:"IMLOG10",404:"IMSIN",405:"IMCOS",406:"IMEXP",407:"IMARGUMENT",408:"IMCONJUGATE",409:"IMAGINARY",410:"IMREAL",411:"COMPLEX",412:"IMSUM",413:"IMPRODUCT",414:"SERIESSUM",415:"FACTDOUBLE",416:"SQRTPI",417:"QUOTIENT",418:"DELTA",419:"GESTEP",420:"ISEVEN",421:"ISODD",422:"MROUND",423:"ERF",424:"ERFC",425:"BESSELJ",426:"BESSELK",427:"BESSELY",428:"BESSELI",429:"XIRR",430:"XNPV",431:"PRICEMAT",432:"YIELDMAT",433:"INTRATE",434:"RECEIVED",435:"DISC",436:"PRICEDISC",437:"YIELDDISC",438:"TBILLEQ",439:"TBILLPRICE",440:"TBILLYIELD",441:"PRICE",442:"YIELD",443:"DOLLARDE",444:"DOLLARFR",445:"NOMINAL",446:"EFFECT",447:"CUMPRINC",448:"CUMIPMT",449:"EDATE",450:"EOMONTH",451:"YEARFRAC",452:"COUPDAYBS",453:"COUPDAYS",454:"COUPDAYSNC",455:"COUPNCD",456:"COUPNUM",457:"COUPPCD",458:"DURATION",459:"MDURATION",460:"ODDLPRICE",461:"ODDLYIELD",462:"ODDFPRICE",463:"ODDFYIELD",464:"RANDBETWEEN",465:"WEEKNUM",466:"AMORDEGRC",467:"AMORLINC",468:"CONVERT",724:"SHEETJS",469:"ACCRINT",470:"ACCRINTM",471:"WORKDAY",472:"NETWORKDAYS",473:"GCD",474:"MULTINOMIAL",475:"LCM",476:"FVSCHEDULE",477:"CUBEKPIMEMBER",478:"CUBESET",479:"CUBESETCOUNT",480:"IFERROR",481:"COUNTIFS",482:"SUMIFS",483:"AVERAGEIF",484:"AVERAGEIFS"};var Ed={2:1,3:1,10:0,15:1,16:1,17:1,18:1,19:0,20:1,21:1,22:1,23:1,24:1,25:1,26:1,27:2,30:2,31:3,32:1,33:1,34:0,35:0,38:1,39:2,40:3,41:3,42:3,43:3,44:3,45:3,47:3,48:2,53:1,61:3,63:0,65:3,66:3,67:1,68:1,69:1,70:1,71:1,72:1,73:1,74:0,75:1,76:1,77:1,79:2,80:2,83:1,85:0,86:1,89:0,90:1,94:0,95:0,97:2,98:1,99:1,101:3,102:3,105:1,106:1,108:2,111:1,112:1,113:1,114:1,117:2,118:1,119:4,121:1,126:1,127:1,128:1,129:1,130:1,131:1,133:1,134:1,135:1,136:2,137:2,138:2,140:1,141:1,142:3,143:4,144:4,161:1,162:1,163:1,164:1,165:2,172:1,175:2,176:2,177:3,178:2,179:1,184:1,186:1,189:3,190:1,195:3,196:3,197:1,198:1,199:3,201:1,207:4,210:3,211:1,212:2,213:2,214:1,215:1,225:0,229:1,230:1,231:1,232:1,233:1,234:1,235:3,244:1,247:4,252:2,257:1,261:1,271:1,273:4,274:2,275:2,276:2,277:3,278:3,279:1,280:3,281:3,282:3,283:1,284:1,285:2,286:4,287:3,288:2,289:4,290:3,291:3,292:3,293:4,294:1,295:3,296:1,297:3,298:1,299:2,300:3,301:3,302:4,303:2,304:2,305:2,306:2,307:2,308:2,309:3,310:2,311:2,312:2,313:2,314:2,315:2,316:4,325:2,326:2,327:2,328:2,331:2,332:2,337:2,342:1,343:1,346:2,347:1,350:4,351:3,352:1,353:2,360:1,368:1,369:1,370:1,371:1,372:1,373:1,374:1,375:1,376:1,377:1,378:1,382:3,385:1,392:1,393:1,396:2,397:2,398:2,399:1,400:1,401:1,402:1,403:1,404:1,405:1,406:1,407:1,408:1,409:1,410:1,414:4,415:1,416:1,417:2,420:1,421:1,422:2,424:1,425:2,426:2,427:2,428:2,430:3,438:3,439:3,440:3,443:2,444:2,445:2,446:2,447:6,448:6,449:2,450:2,464:2,468:3,476:2,479:1,480:2,65535:0};function Cd(e){if(e.slice(0,3)=="of:")e=e.slice(3);if(e.charCodeAt(0)==61){e=e.slice(1);if(e.charCodeAt(0)==61)e=e.slice(1)}e=e.replace(/COM\.MICROSOFT\./g,"");e=e.replace(/\[((?:\.[A-Z]+[0-9]+)(?::\.[A-Z]+[0-9]+)?)\]/g,function(e,r){return r.replace(/\./g,"")});e=e.replace(/\[.(#[A-Z]*[?!])\]/g,"$1");return e.replace(/[;~]/g,",").replace(/\|/g,";")}function yd(e){var r="of:="+e.replace(_h,"$1[.$2$3$4$5]").replace(/\]:\[/g,":");return r.replace(/;/g,"|").replace(/,/g,";")}function Sd(e){var r=e.split(":");var t=r[0].split(".")[0];return[t,r[0].split(".")[1]+(r.length>1?":"+(r[1].split(".")[1]||r[1].split(".")[0]):"")]}function _d(e){return e.replace(/\./,"!")}var xd={};var Od={};var Rd=typeof Map!=="undefined";function Id(e,r,t){var a=0,n=e.length;if(t){if(Rd?t.has(r):Object.prototype.hasOwnProperty.call(t,r)){var i=Rd?t.get(r):t[r];for(;a-1){t.width=xl(a);t.customWidth=1}else if(r.width!=null)t.width=r.width;if(r.hidden)t.hidden=true;if(r.level!=null){t.outlineLevel=t.level=r.level}return t}function Dd(e,r){if(!e)return;var t=[.7,.7,.75,.75,.3,.3];if(r=="xlml")t=[1,1,1,1,.5,.5];if(e.left==null)e.left=t[0];if(e.right==null)e.right=t[1];if(e.top==null)e.top=t[2];if(e.bottom==null)e.bottom=t[3];if(e.header==null)e.header=t[4];if(e.footer==null)e.footer=t[5]}function Fd(e,r,t){var a=t.revssf[r.z!=null?r.z:"General"];var n=60,i=e.length;if(a==null&&t.ssf){for(;n<392;++n)if(t.ssf[n]==null){We(r.z,n);t.ssf[n]=r.z;t.revssf[r.z]=a=n;break}}for(n=0;n!=i;++n)if(e[n].numFmtId===a)return n;e[i]={numFmtId:a,fontId:0,fillId:0,borderId:0,xfId:0,applyNumberFormat:1};return i}function Pd(e,r,t,a,n,i){try{if(a.cellNF)e.z=X[r]}catch(s){if(a.WTF)throw s}if(e.t==="z"&&!a.cellStyles)return;if(e.t==="d"&&typeof e.v==="string")e.v=gr(e.v);if((!a||a.cellText!==false)&&e.t!=="z")try{if(X[r]==null)We(Ge[r]||"General",r);if(e.t==="e")e.w=e.w||Gn[e.v];else if(r===0){if(e.t==="n"){if((e.v|0)===e.v)e.w=e.v.toString(10);else e.w=se(e.v)}else if(e.t==="d"){var f=fr(e.v);if((f|0)===f)e.w=f.toString(10);else e.w=se(f)}else if(e.v===undefined)return"";else e.w=fe(e.v,Od)}else if(e.t==="d")e.w=Be(r,fr(e.v),Od);else e.w=Be(r,e.v,Od)}catch(s){if(a.WTF)throw s}if(!a.cellStyles)return;if(t!=null)try{e.s=i.Fills[t];if(e.s.fgColor&&e.s.fgColor.theme&&!e.s.fgColor.rgb){e.s.fgColor.rgb=Tl(n.themeElements.clrScheme[e.s.fgColor.theme].rgb,e.s.fgColor.tint||0);if(a.WTF)e.s.fgColor.raw_rgb=n.themeElements.clrScheme[e.s.fgColor.theme].rgb}if(e.s.bgColor&&e.s.bgColor.theme){e.s.bgColor.rgb=Tl(n.themeElements.clrScheme[e.s.bgColor.theme].rgb,e.s.bgColor.tint||0);if(a.WTF)e.s.bgColor.raw_rgb=n.themeElements.clrScheme[e.s.bgColor.theme].rgb}}catch(s){if(a.WTF&&i.Fills)throw s}}function Ld(e,r,t){if(e&&e["!ref"]){var a=Da(e["!ref"]);if(a.e.c=0&&t.s.c>=0)e["!ref"]=Na(t)}var Ud=/<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*[\/]?>/g;var Bd=/<(?:\w+:)?sheetData[^>]*>([\s\S]*)<\/(?:\w+:)?sheetData>/;var Wd=/<(?:\w:)?hyperlink [^>]*>/gm;var Hd=/"(\w*:\w*)"/;var zd=/<(?:\w:)?col\b[^>]*[\/]?>/g;var Vd=/<(?:\w:)?autoFilter[^>]*([\/]|>([\s\S]*)<\/(?:\w:)?autoFilter)>/g;var Gd=/<(?:\w:)?pageMargins[^>]*\/>/g;var jd=/<(?:\w:)?sheetPr\b(?:[^>a-z][^>]*)?\/>/;var Xd=/<(?:\w:)?sheetPr[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetPr)>/;var $d=/<(?:\w:)?sheetViews[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetViews)>/;function Yd(e,r,t,a,n,i,s){if(!e)return e;if(!a)a={"!id":{}};if(g!=null&&r.dense==null)r.dense=g;var f=r.dense?[]:{};var o={s:{r:2e6,c:2e6},e:{r:0,c:0}};var l="",c="";var h=e.match(Bd);if(h){l=e.slice(0,h.index);c=e.slice(h.index+h[0].length)}else l=c=e;var u=l.match(jd);if(u)Jd(u[0],f,n,t);else if(u=l.match(Xd))qd(u[0],u[1]||"",f,n,t,s,i);var d=(l.match(/<(?:\w*:)?dimension/)||{index:-1}).index;if(d>0){var v=l.slice(d,d+50).match(Hd);if(v)Md(f,v[1])}var p=l.match($d);if(p&&p[1])cv(p[1],n);var m=[];if(r.cellStyles){var b=l.match(zd);if(b)iv(m,b)}if(h)dv(h[1],f,r,o,i,s);var w=c.match(Vd);if(w)f["!autofilter"]=fv(w[0]);var k=[];var T=c.match(Ud);if(T)for(d=0;d!=T.length;++d)k[d]=Da(T[d].slice(T[d].indexOf('"')+1));var A=c.match(Wd);if(A)tv(f,A,a);var E=c.match(Gd);if(E)f["!margins"]=av(Gr(E[0]));if(!f["!ref"]&&o.e.c>=o.s.c&&o.e.r>=o.s.r)f["!ref"]=Na(o);if(r.sheetRows>0&&f["!ref"]){var C=Da(f["!ref"]);if(r.sheetRows<=+C.e.r){C.e.r=r.sheetRows-1;if(C.e.r>o.e.r)C.e.r=o.e.r;if(C.e.ro.e.c)C.e.c=o.e.c;if(C.e.c0)f["!cols"]=m;if(k.length>0)f["!merges"]=k;return f}function Kd(e){if(e.length===0)return"";var r='';for(var t=0;t!=e.length;++t)r+='';return r+""}function Jd(e,r,t,a){var n=Gr(e);if(!t.Sheets[a])t.Sheets[a]={};if(n.codeName)t.Sheets[a].CodeName=Yr(lt(n.codeName))}function qd(e,r,t,a,n){Jd(e.slice(0,e.indexOf(">")),t,a,n)}function Zd(e,r,t,a,n){var i=false;var s={},f=null;if(a.bookType!=="xlsx"&&r.vbaraw){var o=r.SheetNames[t];try{if(r.Workbook)o=r.Workbook.Sheets[t].CodeName||o}catch(l){}i=true;s.codeName=ct(qr(o))}if(e&&e["!outline"]){var c={summaryBelow:1,summaryRight:1};if(e["!outline"].above)c.summaryBelow=0;if(e["!outline"].left)c.summaryRight=0;f=(f||"")+kt("outlinePr",null,c)}if(!i&&!f)return;n[n.length]=kt("sheetPr",f,s)}var Qd=["objects","scenarios","selectLockedCells","selectUnlockedCells"];var ev=["formatColumns","formatRows","formatCells","insertColumns","insertRows","insertHyperlinks","deleteColumns","deleteRows","sort","autoFilter","pivotTables"];function rv(e){var r={sheet:1};Qd.forEach(function(t){if(e[t]!=null&&e[t])r[t]="1"});ev.forEach(function(t){if(e[t]!=null&&!e[t])r[t]="0"});if(e.password)r.password=ll(e.password).toString(16).toUpperCase();return kt("sheetProtection",null,r)}function tv(e,r,t){var a=Array.isArray(e);for(var n=0;n!=r.length;++n){var i=Gr(lt(r[n]),true);if(!i.ref)return;var s=((t||{})["!id"]||[])[i.id];if(s){i.Target=s.Target;if(i.location)i.Target+="#"+Yr(i.location)}else{i.Target="#"+Yr(i.location);s={Target:i.Target,TargetMode:"Internal"}}i.Rel=s;if(i.tooltip){i.Tooltip=i.tooltip;delete i.tooltip}var f=Da(i.ref);for(var o=f.s.r;o<=f.e.r;++o)for(var l=f.s.c;l<=f.e.c;++l){var c=Ra({c:l,r:o});if(a){if(!e[o])e[o]=[];if(!e[o][l])e[o][l]={t:"z",v:undefined};e[o][l].l=i}else{if(!e[c])e[c]={t:"z",v:undefined};e[c].l=i}}}}function av(e){var r={};["left","right","top","bottom","header","footer"].forEach(function(t){if(e[t])r[t]=parseFloat(e[t])});return r}function nv(e){Dd(e);return kt("pageMargins",null,e)}function iv(e,r){var t=false;for(var a=0;a!=r.length;++a){var n=Gr(r[a],true);if(n.hidden)n.hidden=nt(n.hidden);var i=parseInt(n.min,10)-1,s=parseInt(n.max,10)-1;if(n.outlineLevel)n.level=+n.outlineLevel||0;delete n.min;delete n.max;n.width=+n.width;if(!t&&n.width){t=true;Rl(n.width)}Il(n);while(i<=s)e[i++]=br(n)}}function sv(e,r){var t=[""],a;for(var n=0;n!=r.length;++n){if(!(a=r[n]))continue;t[t.length]=kt("col",null,Nd(n,a))}t[t.length]="";return t.join("")}function fv(e){var r={ref:(e.match(/ref="([^"]*)"/)||[])[1]};return r}function ov(e,r,t,a){var n=typeof e.ref=="string"?e.ref:Na(e.ref);if(!t.Workbook)t.Workbook={Sheets:[]};if(!t.Workbook.Names)t.Workbook.Names=[];var i=t.Workbook.Names;var s=Ia(n);if(s.s.r==s.e.r){s.e.r=Ia(r["!ref"]).e.r;n=Na(s)}for(var f=0;fa-z][^>]*)?\/?>/;function cv(e,r){if(!r.Views)r.Views=[{}];(e.match(lv)||[]).forEach(function(e,t){var a=Gr(e);if(!r.Views[t])r.Views[t]={};if(+a.zoomScale)r.Views[t].zoom=+a.zoomScale;if(nt(a.rightToLeft))r.Views[t].RTL=true})}function hv(e,r,t,a){var n={workbookViewId:"0"};if((((a||{}).Workbook||{}).Views||[])[0])n.rightToLeft=a.Workbook.Views[0].RTL?"1":"0";return kt("sheetViews",kt("sheetView",null,n),{})}function uv(e,r,t,a){if(e.c)t["!comments"].push([r,e.c]);if(e.v===undefined&&typeof e.f!=="string"||e.t==="z"&&!e.f)return"";var n="";var i=e.t,s=e.v;if(e.t!=="z")switch(e.t){case"b":n=e.v?"1":"0";break;case"n":n=""+e.v;break;case"e":n=Gn[e.v];break;case"d":if(a&&a.cellDates)n=gr(e.v,-1).toISOString();else{e=br(e);e.t="n";n=""+(e.v=fr(gr(e.v)))}if(typeof e.z==="undefined")e.z=X[14];break;default:n=e.v;break;}var f=bt("v",qr(n)),o={r:r};var l=Fd(a.cellXfs,e,a);if(l!==0)o.s=l;switch(e.t){case"n":break;case"d":o.t="d";break;case"b":o.t="b";break;case"e":o.t="e";break;case"z":break;default:if(e.v==null){delete e.t;break}if(e.v.length>32767)throw new Error("Text length must not exceed 32767 characters");if(a&&a.bookSST){f=bt("v",""+Id(a.Strings,e.v,a.revStrings));o.t="s";break}o.t="str";break;}if(e.t!=i){e.t=i;e.v=s}if(typeof e.f=="string"&&e.f){var c=e.F&&e.F.slice(0,r.length)==r?{t:"array",ref:e.F}:null;f=kt("f",qr(e.f),c)+(e.v!=null?f:"")}if(e.l)t["!links"].push([r,e.l]);if(e.D)o.cm=1;return kt("c",f,o)}var dv=function(){var e=/<(?:\w+:)?c[ \/>]/,r=/<\/(?:\w+:)?row>/;var t=/r=["']([^"']*)["']/,a=/<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/; +var n=/ref=["']([^"']*)["']/;var i=ht("v"),s=ht("f");return function f(o,l,c,h,u,d){var v=0,p="",g=[],m=[],b=0,w=0,k=0,T="",A;var E,C=0,y=0;var S,_;var x=0,O=0;var R=Array.isArray(d.CellXf),I;var N=[];var D=[];var F=Array.isArray(l);var P=[],L={},M=false;var U=!!c.sheetStubs;for(var B=o.split(r),W=0,H=B.length;W!=H;++W){p=B[W].trim();var z=p.length;if(z===0)continue;var V=0;e:for(v=0;v":if(p[v-1]!="/"){++v;break e}if(c&&c.cellStyles){E=Gr(p.slice(V,v),true);C=E.r!=null?parseInt(E.r,10):C+1;y=-1;if(c.sheetRows&&c.sheetRows=v)break;E=Gr(p.slice(V,v),true);C=E.r!=null?parseInt(E.r,10):C+1;y=-1;if(c.sheetRows&&c.sheetRowsC-1)h.s.r=C-1;if(h.e.r":"")+p;if(m!=null&&m.length===2){b=0;T=m[1];for(w=0;w!=T.length;++w){if((k=T.charCodeAt(w)-64)<1||k>26)break;b=26*b+k}--b;y=b}else++y;for(w=0;w!=p.length;++w)if(p.charCodeAt(w)===62)break;++w;E=Gr(p.slice(0,w),true);if(!E.r)E.r=Ra({r:C-1,c:y});T=p.slice(w);A={t:""};if((m=T.match(i))!=null&&m[1]!=="")A.v=Yr(m[1]);if(c.cellFormula){if((m=T.match(s))!=null&&m[1]!==""){A.f=Yr(lt(m[1])).replace(/\r\n/g,"\n");if(!c.xlfn)A.f=Nh(A.f);if(m[0].indexOf('t="array"')>-1){A.F=(T.match(n)||[])[1];if(A.F.indexOf(":")>-1)N.push([Da(A.F),A.F])}else if(m[0].indexOf('t="shared"')>-1){_=Gr(m[0]);var j=Yr(lt(m[1]));if(!c.xlfn)j=Nh(j);D[parseInt(_.si,10)]=[_,j,E.r]}}else if(m=T.match(/]*\/>/)){_=Gr(m[0]);if(D[_.si])A.f=Rh(D[_.si][1],D[_.si][2],E.r)}var $=Oa(E.r);for(w=0;w=N[w][0].s.r&&$.r<=N[w][0].e.r)if($.c>=N[w][0].s.c&&$.c<=N[w][0].e.c)A.F=N[w][1]}if(E.t==null&&A.v===undefined){if(A.f||A.F){A.v=0;A.t="n"}else if(!U)continue;else A.t="z"}else A.t=E.t||"n";if(h.s.c>y)h.s.c=y;if(h.e.c0)l["!rows"]=P}}();function vv(e,r,t,a){var n=[],i=[],s=Da(e["!ref"]),f="",o,l="",c=[],h=0,u=0,d=e["!rows"];var v=Array.isArray(e);var p={r:l},g,m=-1;for(u=s.s.c;u<=s.e.c;++u)c[u]=ya(u);for(h=s.s.r;h<=s.e.r;++h){i=[];l=Ta(h);for(u=s.s.c;u<=s.e.c;++u){o=c[u]+l;var b=v?(e[h]||[])[u]:e[o];if(b===undefined)continue;if((f=uv(b,o,e,r,t,a))!=null)i.push(f)}if(i.length>0||d&&d[h]){p={r:l};if(d&&d[h]){g=d[h];if(g.hidden)p.hidden=1;m=-1;if(g.hpx)m=Fl(g.hpx);else if(g.hpt)m=g.hpt;if(m>-1){p.ht=m;p.customHeight=1}if(g.level){p.outlineLevel=g.level}}n[n.length]=kt("row",i.join(""),p)}}if(d)for(;h-1){p.ht=m;p.customHeight=1}if(g.level){p.outlineLevel=g.level}n[n.length]=kt("row","",p)}}return n.join("")}function pv(e,r,t,a){var n=[Mr,kt("worksheet",null,{xmlns:St[0],"xmlns:r":yt.r})];var i=t.SheetNames[e],s=0,f="";var o=t.Sheets[i];if(o==null)o={};var l=o["!ref"]||"A1";var c=Da(l);if(c.e.c>16383||c.e.r>1048575){if(r.WTF)throw new Error("Range "+l+" exceeds format limit A1:XFD1048576");c.e.c=Math.min(c.e.c,16383);c.e.r=Math.min(c.e.c,1048575);l=Na(c)}if(!a)a={};o["!comments"]=[];var h=[];Zd(o,t,e,r,n);n[n.length]=kt("dimension",null,{ref:l});n[n.length]=hv(o,r,e,t);if(r.sheetFormat)n[n.length]=kt("sheetFormatPr",null,{defaultRowHeight:r.sheetFormat.defaultRowHeight||"16",baseColWidth:r.sheetFormat.baseColWidth||"10",outlineLevelRow:r.sheetFormat.outlineLevelRow||"7"});if(o["!cols"]!=null&&o["!cols"].length>0)n[n.length]=sv(o,o["!cols"]);n[s=n.length]="";o["!links"]=[];if(o["!ref"]!=null){f=vv(o,r,e,t,a);if(f.length>0)n[n.length]=f}if(n.length>s+1){n[n.length]="";n[s]=n[s].replace("/>",">")}if(o["!protect"])n[n.length]=rv(o["!protect"]);if(o["!autofilter"]!=null)n[n.length]=ov(o["!autofilter"],o,t,e);if(o["!merges"]!=null&&o["!merges"].length>0)n[n.length]=Kd(o["!merges"]);var u=-1,d,v=-1;if(o["!links"].length>0){n[n.length]="";o["!links"].forEach(function(e){if(!e[1].Target)return;d={ref:e[0]};if(e[1].Target.charAt(0)!="#"){v=ri(a,-1,qr(e[1].Target).replace(/#.*$/,""),qn.HLINK);d["r:id"]="rId"+v}if((u=e[1].Target.indexOf("#"))>-1)d.location=qr(e[1].Target.slice(u+1));if(e[1].Tooltip)d.tooltip=qr(e[1].Tooltip);n[n.length]=kt("hyperlink",null,d)});n[n.length]=""}delete o["!links"];if(o["!margins"]!=null)n[n.length]=nv(o["!margins"]);if(!r||r.ignoreEC||r.ignoreEC==void 0)n[n.length]=bt("ignoredErrors",kt("ignoredError",null,{numberStoredAsText:1,sqref:l}));if(h.length>0){v=ri(a,-1,"../drawings/drawing"+(e+1)+".xml",qn.DRAW);n[n.length]=kt("drawing",null,{"r:id":"rId"+v});o["!drawing"]=h}if(o["!comments"].length>0){v=ri(a,-1,"../drawings/vmlDrawing"+(e+1)+".vml",qn.VML);n[n.length]=kt("legacyDrawing",null,{"r:id":"rId"+v});o["!legacy"]=v}if(n.length>1){n[n.length]="";n[1]=n[1].replace("/>",">")}return n.join("")}function gv(e,r){var t={};var a=e.l+r;t.r=e._R(4);e.l+=4;var n=e._R(2);e.l+=1;var i=e._R(1);e.l=a;if(i&7)t.level=i&7;if(i&16)t.hidden=true;if(i&32)t.hpt=n/20;return t}function mv(e,r,t){var a=ua(17+8*16);var n=(t["!rows"]||[])[e]||{};a._W(4,e);a._W(4,0);var i=320;if(n.hpx)i=Fl(n.hpx)*20;else if(n.hpt)i=n.hpt*20;a._W(2,i);a._W(1,0);var s=0;if(n.level)s|=n.level;if(n.hidden)s|=16;if(n.hpx||n.hpt)s|=32;a._W(1,s);a._W(1,0);var f=0,o=a.l;a.l+=4;var l={r:e,c:0};for(var c=0;c<16;++c){if(r.s.c>c+1<<10||r.e.ca.l?a.slice(0,a.l):a}function bv(e,r,t,a){var n=mv(a,t,r);if(n.length>17||(r["!rows"]||[])[a])pa(e,0,n)}var wv=hn;var kv=un;function Tv(){}function Av(e,r){var t={};var a=e[e.l];++e.l;t.above=!(a&64);t.left=!(a&128);e.l+=18;t.name=Qa(e,r-19);return t}function Ev(e,r,t){if(t==null)t=ua(84+4*e.length);var a=192;if(r){if(r.above)a&=~64;if(r.left)a&=~128}t._W(1,a);for(var n=1;n<3;++n)t._W(1,0);gn({auto:1},t);t._W(-4,-1);t._W(-4,-1);en(e,t);return t.slice(0,t.l)}function Cv(e){var r=Ka(e);return[r]}function yv(e,r,t){if(t==null)t=ua(8);return Ja(r,t)}function Sv(e){var r=qa(e);return[r]}function _v(e,r,t){if(t==null)t=ua(4);return Za(r,t)}function xv(e){var r=Ka(e);var t=e._R(1);return[r,t,"b"]}function Ov(e,r,t){if(t==null)t=ua(9);Ja(r,t);t._W(1,e.v?1:0);return t}function Rv(e){var r=qa(e);var t=e._R(1);return[r,t,"b"]}function Iv(e,r,t){if(t==null)t=ua(5);Za(r,t);t._W(1,e.v?1:0);return t}function Nv(e){var r=Ka(e);var t=e._R(1);return[r,t,"e"]}function Dv(e,r,t){if(t==null)t=ua(9);Ja(r,t);t._W(1,e.v);return t}function Fv(e){var r=qa(e);var t=e._R(1);return[r,t,"e"]}function Pv(e,r,t){if(t==null)t=ua(8);Za(r,t);t._W(1,e.v);t._W(2,0);t._W(1,0);return t}function Lv(e){var r=Ka(e);var t=e._R(4);return[r,t,"s"]}function Mv(e,r,t){if(t==null)t=ua(12);Ja(r,t);t._W(4,r.v);return t}function Uv(e){var r=qa(e);var t=e._R(4);return[r,t,"s"]}function Bv(e,r,t){if(t==null)t=ua(8);Za(r,t);t._W(4,r.v);return t}function Wv(e){var r=Ka(e);var t=dn(e);return[r,t,"n"]}function Hv(e,r,t){if(t==null)t=ua(16);Ja(r,t);vn(e.v,t);return t}function zv(e){var r=qa(e);var t=dn(e);return[r,t,"n"]}function Vv(e,r,t){if(t==null)t=ua(12);Za(r,t);vn(e.v,t);return t}function Gv(e){var r=Ka(e);var t=fn(e);return[r,t,"n"]}function jv(e,r,t){if(t==null)t=ua(12);Ja(r,t);on(e.v,t);return t}function Xv(e){var r=qa(e);var t=fn(e);return[r,t,"n"]}function $v(e,r,t){if(t==null)t=ua(8);Za(r,t);on(e.v,t);return t}function Yv(e){var r=Ka(e);var t=ja(e);return[r,t,"is"]}function Kv(e){var r=Ka(e);var t=Ha(e);return[r,t,"str"]}function Jv(e,r,t){if(t==null)t=ua(12+4*e.v.length);Ja(r,t);za(e.v,t);return t.length>t.l?t.slice(0,t.l):t}function qv(e){var r=qa(e);var t=Ha(e);return[r,t,"str"]}function Zv(e,r,t){if(t==null)t=ua(8+4*e.v.length);Za(r,t);za(e.v,t);return t.length>t.l?t.slice(0,t.l):t}function Qv(e,r,t){var a=e.l+r;var n=Ka(e);n.r=t["!row"];var i=e._R(1);var s=[n,i,"b"];if(t.cellFormula){e.l+=2;var f=bd(e,a-e.l,t);s[3]=fd(f,null,n,t.supbooks,t)}else e.l=a;return s}function ep(e,r,t){var a=e.l+r;var n=Ka(e);n.r=t["!row"];var i=e._R(1);var s=[n,i,"e"];if(t.cellFormula){e.l+=2;var f=bd(e,a-e.l,t);s[3]=fd(f,null,n,t.supbooks,t)}else e.l=a;return s}function rp(e,r,t){var a=e.l+r;var n=Ka(e);n.r=t["!row"];var i=dn(e);var s=[n,i,"n"];if(t.cellFormula){e.l+=2;var f=bd(e,a-e.l,t);s[3]=fd(f,null,n,t.supbooks,t)}else e.l=a;return s}function tp(e,r,t){var a=e.l+r;var n=Ka(e);n.r=t["!row"];var i=Ha(e);var s=[n,i,"str"];if(t.cellFormula){e.l+=2;var f=bd(e,a-e.l,t);s[3]=fd(f,null,n,t.supbooks,t)}else e.l=a;return s}var ap=hn;var np=un;function ip(e,r){if(r==null)r=ua(4);r._W(4,e);return r}function sp(e,r){var t=e.l+r;var a=hn(e,16);var n=rn(e);var i=Ha(e);var s=Ha(e);var f=Ha(e);e.l=t;var o={rfx:a,relId:n,loc:i,display:f};if(s)o.Tooltip=s;return o}function fp(e,r){var t=ua(50+4*(e[1].Target.length+(e[1].Tooltip||"").length));un({s:Oa(e[0]),e:Oa(e[0])},t);sn("rId"+r,t);var a=e[1].Target.indexOf("#");var n=a==-1?"":e[1].Target.slice(a+1);za(n||"",t);za(e[1].Tooltip||"",t);za("",t);return t.slice(0,t.l)}function op(){}function lp(e,r,t){var a=e.l+r;var n=ln(e,16);var i=e._R(1);var s=[n];s[2]=i;if(t.cellFormula){var f=md(e,a-e.l,t);s[1]=f}else e.l=a;return s}function cp(e,r,t){var a=e.l+r;var n=hn(e,16);var i=[n];if(t.cellFormula){var s=kd(e,a-e.l,t);i[1]=s;e.l=a}else e.l=a;return i}function hp(e,r,t){if(t==null)t=ua(18);var a=Nd(e,r);t._W(-4,e);t._W(-4,e);t._W(4,(a.width||10)*256);t._W(4,0);var n=0;if(r.hidden)n|=1;if(typeof a.width=="number")n|=2;if(r.level)n|=r.level<<8;t._W(2,n);return t}var up=["left","right","top","bottom","header","footer"];function dp(e){var r={};up.forEach(function(t){r[t]=dn(e,8)});return r}function vp(e,r){if(r==null)r=ua(6*8);Dd(e);up.forEach(function(t){vn(e[t],r)});return r}function pp(e){var r=e._R(2);e.l+=28;return{RTL:r&32}}function gp(e,r,t){if(t==null)t=ua(30);var a=924;if((((r||{}).Views||[])[0]||{}).RTL)a|=32;t._W(2,a);t._W(4,0);t._W(4,0);t._W(4,0);t._W(1,0);t._W(1,0);t._W(2,0);t._W(2,100);t._W(2,0);t._W(2,0);t._W(2,0);t._W(4,0);return t}function mp(e){var r=ua(24);r._W(4,4);r._W(4,1);un(e,r);return r}function bp(e,r){if(r==null)r=ua(16*4+2);r._W(2,e.password?ll(e.password):0);r._W(4,1);[["objects",false],["scenarios",false],["formatCells",true],["formatColumns",true],["formatRows",true],["insertColumns",true],["insertRows",true],["insertHyperlinks",true],["deleteColumns",true],["deleteRows",true],["selectLockedCells",false],["sort",true],["autoFilter",true],["pivotTables",true],["selectUnlockedCells",false]].forEach(function(t){if(t[1])r._W(4,e[t[0]]!=null&&!e[t[0]]?1:0);else r._W(4,e[t[0]]!=null&&e[t[0]]?0:1)});return r}function wp(){}function kp(){}function Tp(e,r,t,a,n,i,s){if(!e)return e;var f=r||{};if(!a)a={"!id":{}};if(g!=null&&f.dense==null)f.dense=g;var o=f.dense?[]:{};var l;var c={s:{r:2e6,c:2e6},e:{r:0,c:0}};var h=[];var u=false,d=false;var v,p,m,b,w,k,T,A,E;var C=[];f.biff=12;f["!row"]=0;var y=0,S=false;var _=[];var x={};var O=f.supbooks||n.supbooks||[[]];O.sharedf=x;O.arrayf=_;O.SheetNames=n.SheetNames||n.Sheets.map(function(e){return e.name});if(!f.supbooks){f.supbooks=O;if(n.Names)for(var R=0;R=R[0].s.r&&v.r<=R[0].e.r)if(w>=R[0].s.c&&w<=R[0].e.c){p.F=Na(R[0]);S=true}}if(!S&&e.length>3)p.f=e[3]}if(c.s.r>v.r)c.s.r=v.r;if(c.s.c>w)c.s.c=w;if(c.e.rv.r)c.s.r=v.r;if(c.s.c>w)c.s.c=w;if(c.e.r=e.s){I[e.e--]={width:e.w/256,hidden:!!(e.flags&1),level:e.level};if(!D){D=true;Rl(e.w/256)}Il(I[e.e+1])}break;case 161:o["!autofilter"]={ref:Na(e)};break;case 476:o["!margins"]=e;break;case 147:if(!n.Sheets[t])n.Sheets[t]={};if(e.name)n.Sheets[t].CodeName=e.name;if(e.above||e.left)o["!outline"]={above:e.above,left:e.left};break;case 137:if(!n.Views)n.Views=[{}];if(!n.Views[0])n.Views[0]={};if(e.RTL)n.Views[0].RTL=true;break;case 485:break;case 64:;case 1053:break;case 151:break;case 152:;case 175:;case 644:;case 625:;case 562:;case 396:;case 1112:;case 1146:;case 471:;case 1050:;case 649:;case 1105:;case 589:;case 607:;case 564:;case 1055:;case 168:;case 174:;case 1180:;case 499:;case 507:;case 550:;case 171:;case 167:;case 1177:;case 169:;case 1181:;case 551:;case 552:;case 661:;case 639:;case 478:;case 537:;case 477:;case 536:;case 1103:;case 680:;case 1104:;case 1024:;case 663:;case 535:;case 678:;case 504:;case 1043:;case 428:;case 170:;case 3072:;case 50:;case 2070:;case 1045:break;case 35:u=true;break;case 36:u=false;break;case 37:h.push(g);u=true;break;case 38:h.pop();u=false;break;default:if(r.T){}else if(!u||f.WTF)throw new Error("Unexpected record 0x"+g.toString(16));}},f);delete f.supbooks;delete f["!row"];if(!o["!ref"]&&(c.s.r<2e6||l&&(l.e.r>0||l.e.c>0||l.s.r>0||l.s.c>0)))o["!ref"]=Na(l||c);if(f.sheetRows&&o["!ref"]){var L=Da(o["!ref"]);if(f.sheetRows<=+L.e.r){L.e.r=f.sheetRows-1;if(L.e.r>c.e.r)L.e.r=c.e.r;if(L.e.rc.e.c)L.e.c=c.e.c;if(L.e.c0)o["!merges"]=C;if(I.length>0)o["!cols"]=I;if(N.length>0)o["!rows"]=N;return o}function Ap(e,r,t,a,n,i,s){if(r.v===undefined)return false;var f="";switch(r.t){case"b":f=r.v?"1":"0";break;case"d":r=br(r);r.z=r.z||X[14];r.v=fr(gr(r.v));r.t="n";break;case"n":;case"e":f=""+r.v;break;default:f=r.v;break;}var o={r:t,c:a};o.s=Fd(n.cellXfs,r,n);if(r.l)i["!links"].push([Ra(o),r.l]);if(r.c)i["!comments"].push([Ra(o),r.c]);switch(r.t){case"s":;case"str":if(n.bookSST){f=Id(n.Strings,r.v,n.revStrings);o.t="s";o.v=f;if(s)pa(e,18,Bv(r,o));else pa(e,7,Mv(r,o))}else{o.t="str";if(s)pa(e,17,Zv(r,o));else pa(e,6,Jv(r,o))}return true;case"n":if(r.v==(r.v|0)&&r.v>-1e3&&r.v<1e3){if(s)pa(e,13,$v(r,o));else pa(e,2,jv(r,o))}else{if(s)pa(e,16,Vv(r,o));else pa(e,5,Hv(r,o))}return true;case"b":o.t="b";if(s)pa(e,15,Iv(r,o));else pa(e,4,Ov(r,o));return true;case"e":o.t="e";if(s)pa(e,14,Pv(r,o));else pa(e,3,Dv(r,o));return true;}if(s)pa(e,12,_v(r,o));else pa(e,1,yv(r,o));return true}function Ep(e,r,t,a){var n=Da(r["!ref"]||"A1"),i,s="",f=[];pa(e,145);var o=Array.isArray(r);var l=n.e.r;if(r["!rows"])l=Math.max(n.e.r,r["!rows"].length-1);for(var c=n.s.r;c<=l;++c){s=Ta(c);bv(e,r,n,c);var h=false;if(c<=n.e.r)for(var u=n.s.c;u<=n.e.c;++u){if(c===n.s.r)f[u]=ya(u);i=f[u]+s;var d=o?(r[c]||[])[u]:r[i];if(!d){h=false;continue}h=Ap(e,d,c,u,a,r,h)}}pa(e,146)}function Cp(e,r){if(!r||!r["!merges"])return;pa(e,177,ip(r["!merges"].length));r["!merges"].forEach(function(r){pa(e,176,np(r))});pa(e,178)}function yp(e,r){if(!r||!r["!cols"])return;pa(e,390);r["!cols"].forEach(function(r,t){if(r)pa(e,60,hp(t,r))});pa(e,391)}function Sp(e,r){if(!r||!r["!ref"])return;pa(e,648);pa(e,649,mp(Da(r["!ref"])));pa(e,650)}function _p(e,r,t){r["!links"].forEach(function(r){if(!r[1].Target)return;var a=ri(t,-1,r[1].Target.replace(/#.*$/,""),qn.HLINK);pa(e,494,fp(r,a))});delete r["!links"]}function xp(e,r,t,a){if(r["!comments"].length>0){var n=ri(a,-1,"../drawings/vmlDrawing"+(t+1)+".vml",qn.VML);pa(e,551,sn("rId"+n));r["!legacy"]=n}}function Op(e,r,t,a){if(!r["!autofilter"])return;var n=r["!autofilter"];var i=typeof n.ref==="string"?n.ref:Na(n.ref);if(!t.Workbook)t.Workbook={Sheets:[]};if(!t.Workbook.Names)t.Workbook.Names=[];var s=t.Workbook.Names;var f=Ia(i);if(f.s.r==f.e.r){f.e.r=Ia(r["!ref"]).e.r;i=Na(f)}for(var o=0;o16383||l.e.r>1048575){if(r.WTF)throw new Error("Range "+(s["!ref"]||"A1")+" exceeds format limit A1:XFD1048576");l.e.c=Math.min(l.e.c,16383);l.e.r=Math.min(l.e.c,1048575)}s["!links"]=[];s["!comments"]=[];pa(n,129);if(t.vbaraw||s["!outline"])pa(n,147,Ev(f,s["!outline"]));pa(n,148,kv(l));Rp(n,s,t.Workbook);Ip(n,s);yp(n,s,e,r,t);Ep(n,s,e,r,t);Np(n,s);Op(n,s,t,e);Cp(n,s);_p(n,s,a);if(s["!margins"])pa(n,476,vp(s["!margins"]));if(!r||r.ignoreEC||r.ignoreEC==void 0)Sp(n,s);xp(n,s,e,a);pa(n,130);return n.end()}function Fp(e){var r=[];var t=e.match(/^/);var a;(e.match(/(.*?)<\/c:pt>/gm)||[]).forEach(function(e){var a=e.match(/(.*)<\/c:v><\/c:pt>/);if(!a)return;r[+a[1]]=t?+a[2]:a[2]});var n=Yr((e.match(/([\s\S]*?)<\/c:formatCode>/)||["","General"])[1]);(e.match(/(.*?)<\/c:f>/gm)||[]).forEach(function(e){a=e.replace(/<.*?>/g,"")});return[r,n,a]}function Pp(e,r,t,a,n,i){var s=i||{"!type":"chart"};if(!e)return i;var f=0,o=0,l="A";var c={s:{r:2e6,c:2e6},e:{r:0,c:0}};(e.match(/[\s\S]*?<\/c:numCache>/gm)||[]).forEach(function(e){var r=Fp(e);c.s.r=c.s.c=0;c.e.c=f;l=ya(f);r[0].forEach(function(e,t){s[l+Ta(t)]={t:"n",v:e,z:r[1]};o=t});if(c.e.r0)s["!ref"]=Na(c);return s}function Lp(e,r,t,a,n){if(!e)return e;if(!a)a={"!id":{}};var i={"!type":"chart","!drawel":null,"!rel":""};var s;var f=e.match(jd);if(f)Jd(f[0],i,n,t);if(s=e.match(/drawing r:id="(.*?)"/))i["!rel"]=s[1];if(a["!id"][i["!rel"]])i["!drawel"]=a["!id"][i["!rel"]];return i}function Mp(e,r,t,a){var n=[Mr,kt("chartsheet",null,{xmlns:St[0],"xmlns:r":yt.r})];n[n.length]=kt("drawing",null,{"r:id":"rId1"});ri(a,-1,"../drawings/drawing"+(e+1)+".xml",qn.DRAW);if(n.length>2){n[n.length]="";n[1]=n[1].replace("/>",">")}return n.join("")}function Up(e,r){e.l+=10;var t=Ha(e,r-10);return{name:t}}function Bp(e,r,t,a,n){if(!e)return e;if(!a)a={"!id":{}};var i={"!type":"chart","!drawel":null,"!rel":""};var s=[];var f=false;da(e,function o(e,a,l){switch(l){case 550:i["!rel"]=e;break;case 651:if(!n.Sheets[t])n.Sheets[t]={};if(e.name)n.Sheets[t].CodeName=e.name;break;case 562:;case 652:;case 669:;case 679:;case 551:;case 552:;case 476:;case 3072:break;case 35:f=true;break;case 36:f=false;break;case 37:s.push(l);break;case 38:s.pop();break;default:if(a.T>0)s.push(l);else if(a.T<0)s.pop();else if(!f||r.WTF)throw new Error("Unexpected record 0x"+l.toString(16));}},r);if(a["!id"][i["!rel"]])i["!drawel"]=a["!id"][i["!rel"]];return i}function Wp(){var e=va();pa(e,129);pa(e,130);return e.end()}var Hp=[["allowRefreshQuery",false,"bool"],["autoCompressPictures",true,"bool"],["backupFile",false,"bool"],["checkCompatibility",false,"bool"],["CodeName",""],["date1904",false,"bool"],["defaultThemeVersion",0,"int"],["filterPrivacy",false,"bool"],["hidePivotFieldList",false,"bool"],["promptedSolutions",false,"bool"],["publishItems",false,"bool"],["refreshAllConnections",false,"bool"],["saveExternalLinkValues",true,"bool"],["showBorderUnselectedTables",true,"bool"],["showInkAnnotation",true,"bool"],["showObjects","all"],["showPivotChartFilter",false,"bool"],["updateLinks","userSet"]];var zp=[["activeTab",0,"int"],["autoFilterDateGrouping",true,"bool"],["firstSheet",0,"int"],["minimized",false,"bool"],["showHorizontalScroll",true,"bool"],["showSheetTabs",true,"bool"],["showVerticalScroll",true,"bool"],["tabRatio",600,"int"],["visibility","visible"]];var Vp=[];var Gp=[["calcCompleted","true"],["calcMode","auto"],["calcOnSave","true"],["concurrentCalc","true"],["fullCalcOnLoad","false"],["fullPrecision","true"],["iterate","false"],["iterateCount","100"],["iterateDelta","0.001"],["refMode","A1"]];function jp(e,r){for(var t=0;t!=e.length;++t){var a=e[t];for(var n=0;n!=r.length;++n){var i=r[n];if(a[i[0]]==null)a[i[0]]=i[1];else switch(i[2]){case"bool":if(typeof a[i[0]]=="string")a[i[0]]=nt(a[i[0]]);break;case"int":if(typeof a[i[0]]=="string")a[i[0]]=parseInt(a[i[0]],10);break;}}}}function Xp(e,r){for(var t=0;t!=r.length;++t){var a=r[t];if(e[a[0]]==null)e[a[0]]=a[1];else switch(a[2]){case"bool":if(typeof e[a[0]]=="string")e[a[0]]=nt(e[a[0]]);break;case"int":if(typeof e[a[0]]=="string")e[a[0]]=parseInt(e[a[0]],10);break;}}}function $p(e){Xp(e.WBProps,Hp);Xp(e.CalcPr,Gp);jp(e.WBView,zp);jp(e.Sheets,Vp);Od.date1904=nt(e.WBProps.date1904)}function Yp(e){if(!e.Workbook)return"false";if(!e.Workbook.WBProps)return"false";return nt(e.Workbook.WBProps.date1904)?"true":"false"}var Kp="][*?/\\".split("");function Jp(e,r){if(e.length>31){if(r)return false;throw new Error("Sheet names cannot exceed 31 chars")}var t=true;Kp.forEach(function(a){if(e.indexOf(a)==-1)return;if(!r)throw new Error("Sheet name cannot contain : \\ / ? * [ ]");t=false});return t}function qp(e,r,t){e.forEach(function(a,n){Jp(a);for(var i=0;i22)throw new Error("Bad Code Name: Worksheet"+s)}})}function Zp(e){if(!e||!e.SheetNames||!e.Sheets)throw new Error("Invalid Workbook");if(!e.SheetNames.length)throw new Error("Workbook is empty");var r=e.Workbook&&e.Workbook.Sheets||[];qp(e.SheetNames,r,!!e.vbaraw);for(var t=0;t":break;case"":;case"":break;case"":break;case"":Hp.forEach(function(e){if(c[e[0]]==null)return;switch(e[2]){case"bool":t.WBProps[e[0]]=nt(c[e[0]]);break;case"int":t.WBProps[e[0]]=parseInt(c[e[0]],10);break;default:t.WBProps[e[0]]=c[e[0]];}});if(c.codeName)t.WBProps.CodeName=lt(c.codeName);break;case"":break;case"":break;case"":;case"":break;case"":delete c[0];t.WBView.push(c);break;case"":break;case"":;case"":break;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":a=false;break;case"":{i.Ref=Yr(lt(e.slice(s,l)));t.Names.push(i)}break;case"":break;case"":delete c[0];t.CalcPr=c;break;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"":break;case"":break;case"":break;case"":;case"":break;case"":;case"":;case"":break;case"":a=false;break;case"":a=true;break;case"":a=false;break;case"0;var a={codeName:"ThisWorkbook"};if(e.Workbook&&e.Workbook.WBProps){Hp.forEach(function(r){if(e.Workbook.WBProps[r[0]]==null)return;if(e.Workbook.WBProps[r[0]]==r[1])return;a[r[0]]=e.Workbook.WBProps[r[0]]});if(e.Workbook.WBProps.CodeName){a.codeName=e.Workbook.WBProps.CodeName;delete a.CodeName}}r[r.length]=kt("workbookPr",null,a);var n=e.Workbook&&e.Workbook.Sheets||[];var i=0;if(n&&n[0]&&!!n[0].Hidden){r[r.length]="";for(i=0;i!=e.SheetNames.length;++i){if(!n[i])break;if(!n[i].Hidden)break}if(i==e.SheetNames.length)i=0;r[r.length]='';r[r.length]=""}r[r.length]="";for(i=0;i!=e.SheetNames.length;++i){var s={name:qr(e.SheetNames[i].slice(0,31))};s.sheetId=""+(i+1);s["r:id"]="rId"+(i+1);if(n[i])switch(n[i].Hidden){case 1:s.state="hidden";break;case 2:s.state="veryHidden";break;}r[r.length]=kt("sheet",null,s)}r[r.length]="";if(t){r[r.length]="";if(e.Workbook&&e.Workbook.Names)e.Workbook.Names.forEach(function(e){var t={name:e.Name};if(e.Comment)t.comment=e.Comment;if(e.Sheet!=null)t.localSheetId=""+e.Sheet;if(e.Hidden)t.hidden="1";if(!e.Ref)return;r[r.length]=kt("definedName",qr(e.Ref),t)});r[r.length]=""}if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function tg(e,r){var t={};t.Hidden=e._R(4);t.iTabID=e._R(4);t.strRelID=nn(e,r-8);t.name=Ha(e);return t}function ag(e,r){if(!r)r=ua(127);r._W(4,e.Hidden);r._W(4,e.iTabID);sn(e.strRelID,r);za(e.name.slice(0,31),r);return r.length>r.l?r.slice(0,r.l):r}function ng(e,r){var t={};var a=e._R(4);t.defaultThemeVersion=e._R(4);var n=r>8?Ha(e):"";if(n.length>0)t.CodeName=n;t.autoCompressPictures=!!(a&65536);t.backupFile=!!(a&64);t.checkCompatibility=!!(a&4096);t.date1904=!!(a&1);t.filterPrivacy=!!(a&8);t.hidePivotFieldList=!!(a&1024);t.promptedSolutions=!!(a&16);t.publishItems=!!(a&2048);t.refreshAllConnections=!!(a&262144);t.saveExternalLinkValues=!!(a&128);t.showBorderUnselectedTables=!!(a&4);t.showInkAnnotation=!!(a&32);t.showObjects=["all","placeholders","none"][a>>13&3];t.showPivotChartFilter=!!(a&32768);t.updateLinks=["userSet","never","always"][a>>8&3];return t}function ig(e,r){if(!r)r=ua(72);var t=0;if(e){if(e.filterPrivacy)t|=8}r._W(4,t);r._W(4,0);en(e&&e.CodeName||"ThisWorkbook",r);return r.slice(0,r.l)}function sg(e,r){var t={};e._R(4);t.ArchID=e._R(4);e.l+=r-8;return t}function fg(e,r,t){var a=e.l+r;e.l+=4;e.l+=1;var n=e._R(4);var i=an(e);var s=wd(e,0,t);var f=rn(e);e.l=a;var o={Name:i,Ptg:s};if(n<268435455)o.Sheet=n;if(f)o.Comment=f;return o}function og(e,r){var t={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var a=[];var n=false;if(!r)r={};r.biff=12;var i=[];var s=[[]];s.SheetNames=[];s.XTI=[];gm[16]={n:"BrtFRTArchID$",f:sg};da(e,function f(e,o,l){switch(l){case 156:s.SheetNames.push(e.name);t.Sheets.push(e);break;case 153:t.WBProps=e;break;case 39:if(e.Sheet!=null)r.SID=e.Sheet;e.Ref=fd(e.Ptg,null,null,s,r);delete r.SID;delete e.Ptg;i.push(e);break;case 1036:break;case 357:;case 358:;case 355:;case 667:if(!s[0].length)s[0]=[l,e];else s.push([l,e]);s[s.length-1].XTI=[];break;case 362:if(s.length===0){s[0]=[];s[0].XTI=[]}s[s.length-1].XTI=s[s.length-1].XTI.concat(e);s.XTI=s.XTI.concat(e);break;case 361:break;case 2071:;case 158:;case 143:;case 664:;case 353:break;case 3072:;case 3073:;case 534:;case 677:;case 157:;case 610:;case 2050:;case 155:;case 548:;case 676:;case 128:;case 665:;case 2128:;case 2125:;case 549:;case 2053:;case 596:;case 2076:;case 2075:;case 2082:;case 397:;case 154:;case 1117:;case 553:;case 2091: +break;case 35:a.push(l);n=true;break;case 36:a.pop();n=false;break;case 37:a.push(l);n=true;break;case 38:a.pop();n=false;break;case 16:break;default:if(o.T){}else if(!n||r.WTF&&a[a.length-1]!=37&&a[a.length-1]!=35)throw new Error("Unexpected record 0x"+l.toString(16));}},r);$p(t);t.Names=i;t.supbooks=s;return t}function lg(e,r){pa(e,143);for(var t=0;t!=r.SheetNames.length;++t){var a=r.Workbook&&r.Workbook.Sheets&&r.Workbook.Sheets[t]&&r.Workbook.Sheets[t].Hidden||0;var n={Hidden:a,iTabID:t+1,strRelID:"rId"+(t+1),name:r.SheetNames[t]};pa(e,156,ag(n))}pa(e,144)}function cg(r,t){if(!t)t=ua(127);for(var a=0;a!=4;++a)t._W(4,0);za("SheetJS",t);za(e.version,t);za(e.version,t);za("7262",t);return t.length>t.l?t.slice(0,t.l):t}function hg(e,r){if(!r)r=ua(29);r._W(-4,0);r._W(-4,460);r._W(4,28800);r._W(4,17600);r._W(4,500);r._W(4,e);r._W(4,e);var t=120;r._W(1,t);return r.length>r.l?r.slice(0,r.l):r}function ug(e,r){if(!r.Workbook||!r.Workbook.Sheets)return;var t=r.Workbook.Sheets;var a=0,n=-1,i=-1;for(;an)return;pa(e,135);pa(e,158,hg(n));pa(e,136)}function dg(e,r){var t=va();pa(t,131);pa(t,128,cg());pa(t,153,ig(e.Workbook&&e.Workbook.WBProps||null));ug(t,e,r);lg(t,e,r);pa(t,132);return t.end()}function vg(e,r,t){if(r.slice(-4)===".bin")return og(e,t);return eg(e,t)}function pg(e,r,t,a,n,i,s,f){if(r.slice(-4)===".bin")return Tp(e,a,t,n,i,s,f);return Yd(e,a,t,n,i,s,f)}function gg(e,r,t,a,n,i,s,f){if(r.slice(-4)===".bin")return Bp(e,a,t,n,i,s,f);return Lp(e,a,t,n,i,s,f)}function mg(e,r,t,a,n,i,s,f){if(r.slice(-4)===".bin")return Ch(e,a,t,n,i,s,f);return yh(e,a,t,n,i,s,f)}function bg(e,r,t,a,n,i,s,f){if(r.slice(-4)===".bin")return Ah(e,a,t,n,i,s,f);return Eh(e,a,t,n,i,s,f)}function wg(e,r,t,a){if(r.slice(-4)===".bin")return lc(e,t,a);return Xl(e,t,a)}function kg(e,r,t){return Rc(e,t)}function Tg(e,r,t){if(r.slice(-4)===".bin")return Vo(e,t);return Bo(e,t)}function Ag(e,r,t){if(r.slice(-4)===".bin")return gh(e,t);return sh(e,t)}function Eg(e,r,t){if(r.slice(-4)===".bin")return Qc(e,r,t);return qc(e,r,t)}function Cg(e,r,t,a){if(t.slice(-4)===".bin")return rh(e,r,t,a);return eh(e,r,t,a)}function yg(e,r,t){if(r.slice(-4)===".bin")return $c(e,r,t);return Kc(e,r,t)}function Sg(e,r,t){return(r.slice(-4)===".bin"?dg:rg)(e,t)}function _g(e,r,t,a,n){return(r.slice(-4)===".bin"?Dp:pv)(e,t,a,n)}function xg(e,r,t,a,n){return(r.slice(-4)===".bin"?Wp:Mp)(e,t,a,n)}function Og(e,r,t){return(r.slice(-4)===".bin"?kc:$l)(e,t)}function Rg(e,r,t){return(r.slice(-4)===".bin"?Xo:Ho)(e,t)}function Ig(e,r,t){return(r.slice(-4)===".bin"?mh:fh)(e,t)}function Ng(e){return(e.slice(-4)===".bin"?Yc:Jc)()}var Dg=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g;var Fg=/([\w:]+)=((?:")(?:[^"]*)(?:")|(?:')(?:[^']*)(?:'))/;function Pg(e,r){var t=e.split(/\s+/);var a=[];if(!r)a[0]=t[0];if(t.length===1)return a;var n=e.match(Dg),i,s,f,o;if(n)for(o=0;o!=n.length;++o){i=n[o].match(Fg);if((s=i[1].indexOf(":"))===-1)a[i[1]]=i[2].slice(1,i[2].length-1);else{if(i[1].slice(0,6)==="xmlns:")f="xmlns"+i[1].slice(6);else f=i[1].slice(s+1);a[f]=i[2].slice(1,i[2].length-1)}}return a}function Lg(e){var r=e.split(/\s+/);var t={};if(r.length===1)return t;var a=e.match(Dg),n,i,s,f;if(a)for(f=0;f!=a.length;++f){n=a[f].match(Fg);if((i=n[1].indexOf(":"))===-1)t[n[1]]=n[2].slice(1,n[2].length-1);else{if(n[1].slice(0,6)==="xmlns:")s="xmlns"+n[1].slice(6);else s=n[1].slice(i+1);t[s]=n[2].slice(1,n[2].length-1)}}return t}var Mg;function Ug(e,r){var t=Mg[e]||Yr(e);if(t==="General")return fe(r);return Be(t,r)}function Bg(e,r,t,a){var n=a;switch((t[0].match(/dt:dt="([\w.]+)"/)||["",""])[1]){case"boolean":n=nt(a);break;case"i2":;case"int":n=parseInt(a,10);break;case"r4":;case"float":n=parseFloat(a);break;case"date":;case"dateTime.tz":n=gr(a);break;case"i8":;case"string":;case"fixed":;case"uuid":;case"bin.base64":break;default:throw new Error("bad custprop:"+t[0]);}e[Yr(r)]=n}function Wg(e,r,t){if(e.t==="z")return;if(!t||t.cellText!==false)try{if(e.t==="e"){e.w=e.w||Gn[e.v]}else if(r==="General"){if(e.t==="n"){if((e.v|0)===e.v)e.w=e.v.toString(10);else e.w=se(e.v)}else e.w=fe(e.v)}else e.w=Ug(r||"General",e.v)}catch(a){if(t.WTF)throw a}try{var n=Mg[r]||r||"General";if(t.cellNF)e.z=n;if(t.cellDates&&e.t=="n"&&Fe(n)){var i=q(e.v);if(i){e.t="d";e.v=new Date(i.y,i.m-1,i.d,i.H,i.M,i.S,i.u)}}}catch(a){if(t.WTF)throw a}}function Hg(e,r,t){if(t.cellStyles){if(r.Interior){var a=r.Interior;if(a.Pattern)a.patternType=Ll[a.Pattern]||a.Pattern}}e[r.ID]=r}function zg(e,r,t,a,n,i,s,f,o,l){var c="General",h=a.StyleID,u={};l=l||{};var d=[];var v=0;if(h===undefined&&f)h=f.StyleID;if(h===undefined&&s)h=s.StyleID;while(i[h]!==undefined){if(i[h].nf)c=i[h].nf;if(i[h].Interior)d.push(i[h].Interior);if(!i[h].Parent)break;h=i[h].Parent}switch(t.Type){case"Boolean":a.t="b";a.v=nt(e);break;case"String":a.t="s";a.r=tt(Yr(e));a.v=e.indexOf("<")>-1?Yr(r||e).replace(/<.*?>/g,""):a.r;break;case"DateTime":if(e.slice(-1)!="Z")e+="Z";a.v=(gr(e)-new Date(Date.UTC(1899,11,30)))/(24*60*60*1e3);if(a.v!==a.v)a.v=Yr(e);else if(a.v<60)a.v=a.v-1;if(!c||c=="General")c="yyyy-mm-dd";case"Number":if(a.v===undefined)a.v=+e;if(!a.t)a.t="n";break;case"Error":a.t="e";a.v=jn[e];if(l.cellText!==false)a.w=e;break;default:if(e==""&&r==""){a.t="z"}else{a.t="s";a.v=tt(r||e)}break;}Wg(a,c,l);if(l.cellFormula!==false){if(a.Formula){var p=Yr(a.Formula);if(p.charCodeAt(0)==61)p=p.slice(1);a.f=Sh(p,n);delete a.Formula;if(a.ArrayRange=="RC")a.F=Sh("RC:RC",n);else if(a.ArrayRange){a.F=Sh(a.ArrayRange,n);o.push([Da(a.F),a.F])}}else{for(v=0;v=o[v][0].s.r&&n.r<=o[v][0].e.r)if(n.c>=o[v][0].s.c&&n.c<=o[v][0].e.c)a.F=o[v][1]}}if(l.cellStyles){d.forEach(function(e){if(!u.patternType&&e.patternType)u.patternType=e.patternType});a.s=u}if(a.StyleID!==undefined)a.ixfe=a.StyleID}function Vg(e){e.t=e.v||"";e.t=e.t.replace(/\r\n/g,"\n").replace(/\r/g,"\n");e.v=e.w=e.ixfe=undefined}function Gg(e,r){var t=r||{};ze();var n=d(Et(e));if(t.type=="binary"||t.type=="array"||t.type=="base64"){if(typeof a!=="undefined")n=a.utils.decode(65001,c(n));else n=lt(n)}var i=n.slice(0,1024).toLowerCase(),s=false;i=i.replace(/".*?"/g,"");if((i.indexOf(">")&1023)>Math.min(i.indexOf(",")&1023,i.indexOf(";")&1023)){var f=br(t);f.type="string";return So.to_workbook(n,f)}if(i.indexOf("=0)s=true});if(s)return Hm(n,t);Mg={"General Number":"General","General Date":X[22],"Long Date":"dddd, mmmm dd, yyyy","Medium Date":X[15],"Short Date":X[14],"Long Time":X[19],"Medium Time":X[18],"Short Time":X[20],Currency:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',Fixed:X[2],Standard:X[4],Percent:X[10],Scientific:X[11],"Yes/No":'"Yes";"Yes";"No";@',"True/False":'"True";"True";"False";@',"On/Off":'"Yes";"Yes";"No";@'};var o;var l=[],h;if(g!=null&&t.dense==null)t.dense=g;var u={},v=[],p=t.dense?[]:{},m="";var b={},w={};var k=Pg(''),T=0;var A=0,E=0;var C={s:{r:2e6,c:2e6},e:{r:0,c:0}};var y={},S={};var _="",x=0;var O=[];var R={},I={},N=0,D=[];var F=[],P={};var L=[],M,U=false;var B=[];var W=[],H={},z=0,V=0;var G={Sheets:[],WBProps:{date1904:false}},j={};Ct.lastIndex=0;n=n.replace(//gm,"");var $="";while(o=Ct.exec(n))switch(o[3]=($=o[3]).toLowerCase()){case"data":if($=="data"){if(o[1]==="/"){if((h=l.pop())[0]!==o[3])throw new Error("Bad state: "+h.join("|"))}else if(o[0].charAt(o[0].length-2)!=="/")l.push([o[3],true]);break}if(l[l.length-1][1])break;if(o[1]==="/")zg(n.slice(T,o.index),_,k,l[l.length-1][0]=="comment"?P:b,{c:A,r:E},y,L[A],w,B,t);else{_="";k=Pg(o[0]);T=o.index+o[0].length}break;case"cell":if(o[1]==="/"){if(F.length>0)b.c=F;if((!t.sheetRows||t.sheetRows>E)&&b.v!==undefined){if(t.dense){if(!p[E])p[E]=[];p[E][A]=b}else p[ya(A)+Ta(E)]=b}if(b.HRef){b.l={Target:Yr(b.HRef)};if(b.HRefScreenTip)b.l.Tooltip=b.HRefScreenTip;delete b.HRef;delete b.HRefScreenTip}if(b.MergeAcross||b.MergeDown){z=A+(parseInt(b.MergeAcross,10)|0);V=E+(parseInt(b.MergeDown,10)|0);O.push({s:{c:A,r:E},e:{c:z,r:V}})}if(!t.sheetStubs){if(b.MergeAcross)A=z+1;else++A}else if(b.MergeAcross||b.MergeDown){for(var Y=A;Y<=z;++Y){for(var K=E;K<=V;++K){if(Y>A||K>E){if(t.dense){if(!p[K])p[K]=[];p[K][Y]={t:"z"}}else p[ya(Y)+Ta(K)]={t:"z"}}}}A=z+1}else++A}else{b=Lg(o[0]);if(b.Index)A=+b.Index-1;if(AC.e.c)C.e.c=A;if(o[0].slice(-2)==="/>")++A;F=[]}break;case"row":if(o[1]==="/"||o[0].slice(-2)==="/>"){if(EC.e.r)C.e.r=E;if(o[0].slice(-2)==="/>"){w=Pg(o[0]);if(w.Index)E=+w.Index-1}A=0;++E}else{w=Pg(o[0]);if(w.Index)E=+w.Index-1;H={};if(w.AutoFitHeight=="0"||w.Height){H.hpx=parseInt(w.Height,10);H.hpt=Fl(H.hpx);W[E]=H}if(w.Hidden=="1"){H.hidden=true;W[E]=H}}break;case"worksheet":if(o[1]==="/"){if((h=l.pop())[0]!==o[3])throw new Error("Bad state: "+h.join("|"));v.push(m);if(C.s.r<=C.e.r&&C.s.c<=C.e.c){p["!ref"]=Na(C);if(t.sheetRows&&t.sheetRows<=C.e.r){p["!fullref"]=p["!ref"];C.e.r=t.sheetRows-1;p["!ref"]=Na(C)}}if(O.length)p["!merges"]=O;if(L.length>0)p["!cols"]=L;if(W.length>0)p["!rows"]=W;u[m]=p}else{C={s:{r:2e6,c:2e6},e:{r:0,c:0}};E=A=0;l.push([o[3],false]);h=Pg(o[0]);m=Yr(h.Name);p=t.dense?[]:{};O=[];B=[];W=[];j={name:m,Hidden:0};G.Sheets.push(j)}break;case"table":if(o[1]==="/"){if((h=l.pop())[0]!==o[3])throw new Error("Bad state: "+h.join("|"))}else if(o[0].slice(-2)=="/>")break;else{l.push([o[3],false]);L=[];U=false}break;case"style":if(o[1]==="/")Hg(y,S,t);else S=Pg(o[0]);break;case"numberformat":S.nf=Yr(Pg(o[0]).Format||"General");if(Mg[S.nf])S.nf=Mg[S.nf];for(var J=0;J!=392;++J)if(X[J]==S.nf)break;if(J==392)for(J=57;J!=392;++J)if(X[J]==null){We(S.nf,J);break}break;case"column":if(l[l.length-1][0]!=="table")break;M=Pg(o[0]);if(M.Hidden){M.hidden=true;delete M.Hidden}if(M.Width)M.wpx=parseInt(M.Width,10);if(!U&&M.wpx>10){U=true;yl=Al;for(var q=0;q0)ee.Sheet=G.Sheets.length-1;G.Names.push(ee);break;case"namedcell":break;case"b":break;case"i":break;case"u":break;case"s":break;case"em":break;case"h2":break;case"h3":break;case"sub":break;case"sup":break;case"span":break;case"alignment":break;case"borders":break;case"border":break;case"font":if(o[0].slice(-2)==="/>")break;else if(o[1]==="/")_+=n.slice(x,o.index);else x=o.index+o[0].length;break;case"interior":if(!t.cellStyles)break;S.Interior=Pg(o[0]);break;case"protection":break;case"author":;case"title":;case"description":;case"created":;case"keywords":;case"subject":;case"category":;case"company":;case"lastauthor":;case"lastsaved":;case"lastprinted":;case"version":;case"revision":;case"totaltime":;case"hyperlinkbase":;case"manager":;case"contentstatus":;case"identifier":;case"language":;case"appname":if(o[0].slice(-2)==="/>")break;else if(o[1]==="/")Ci(R,$,n.slice(N,o.index));else N=o.index+o[0].length;break;case"paragraphs":break;case"styles":;case"workbook":if(o[1]==="/"){if((h=l.pop())[0]!==o[3])throw new Error("Bad state: "+h.join("|"))}else l.push([o[3],false]);break;case"comment":if(o[1]==="/"){if((h=l.pop())[0]!==o[3])throw new Error("Bad state: "+h.join("|"));Vg(P);F.push(P)}else{l.push([o[3],false]);h=Pg(o[0]);P={a:h.Author}}break;case"autofilter":if(o[1]==="/"){if((h=l.pop())[0]!==o[3])throw new Error("Bad state: "+h.join("|"))}else if(o[0].charAt(o[0].length-2)!=="/"){var re=Pg(o[0]);p["!autofilter"]={ref:Sh(re.Range).replace(/\$/g,"")};l.push([o[3],true])}break;case"name":break;case"datavalidation":if(o[1]==="/"){if((h=l.pop())[0]!==o[3])throw new Error("Bad state: "+h.join("|"))}else{if(o[0].charAt(o[0].length-2)!=="/")l.push([o[3],true])}break;case"pixelsperinch":break;case"componentoptions":;case"documentproperties":;case"customdocumentproperties":;case"officedocumentsettings":;case"pivottable":;case"pivotcache":;case"names":;case"mapinfo":;case"pagebreaks":;case"querytable":;case"sorting":;case"schema":;case"conditionalformatting":;case"smarttagtype":;case"smarttags":;case"excelworkbook":;case"workbookoptions":;case"worksheetoptions":if(o[1]==="/"){if((h=l.pop())[0]!==o[3])throw new Error("Bad state: "+h.join("|"))}else if(o[0].charAt(o[0].length-2)!=="/")l.push([o[3],true]);break;case"null":break;default:if(l.length==0&&o[3]=="document")return Qm(n,t);if(l.length==0&&o[3]=="uof")return Qm(n,t);var te=true;switch(l[l.length-1][0]){case"officedocumentsettings":switch(o[3]){case"allowpng":break;case"removepersonalinformation":break;case"downloadcomponents":break;case"locationofcomponents":break;case"colors":break;case"color":break;case"index":break;case"rgb":break;case"targetscreensize":break;case"readonlyrecommended":break;default:te=false;}break;case"componentoptions":switch(o[3]){case"toolbar":break;case"hideofficelogo":break;case"spreadsheetautofit":break;case"label":break;case"caption":break;case"maxheight":break;case"maxwidth":break;case"nextsheetnumber":break;default:te=false;}break;case"excelworkbook":switch(o[3]){case"date1904":G.WBProps.date1904=true;break;case"windowheight":break;case"windowwidth":break;case"windowtopx":break;case"windowtopy":break;case"tabratio":break;case"protectstructure":break;case"protectwindow":break;case"protectwindows":break;case"activesheet":break;case"displayinknotes":break;case"firstvisiblesheet":break;case"supbook":break;case"sheetname":break;case"sheetindex":break;case"sheetindexfirst":break;case"sheetindexlast":break;case"dll":break;case"acceptlabelsinformulas":break;case"donotsavelinkvalues":break;case"iteration":break;case"maxiterations":break;case"maxchange":break;case"path":break;case"xct":break;case"count":break;case"selectedsheets":break;case"calculation":break;case"uncalced":break;case"startupprompt":break;case"crn":break;case"externname":break;case"formula":break;case"colfirst":break;case"collast":break;case"wantadvise":break;case"boolean":break;case"error":break;case"text":break;case"ole":break;case"noautorecover":break;case"publishobjects":break;case"donotcalculatebeforesave":break;case"number":break;case"refmoder1c1":break;case"embedsavesmarttags":break;default:te=false;}break;case"workbookoptions":switch(o[3]){case"owcversion":break;case"height":break;case"width":break;default:te=false;}break;case"worksheetoptions":switch(o[3]){case"visible":if(o[0].slice(-2)==="/>"){}else if(o[1]==="/")switch(n.slice(N,o.index)){case"SheetHidden":j.Hidden=1;break;case"SheetVeryHidden":j.Hidden=2;break;}else N=o.index+o[0].length;break;case"header":if(!p["!margins"])Dd(p["!margins"]={},"xlml");if(!isNaN(+Gr(o[0]).Margin))p["!margins"].header=+Gr(o[0]).Margin;break;case"footer":if(!p["!margins"])Dd(p["!margins"]={},"xlml");if(!isNaN(+Gr(o[0]).Margin))p["!margins"].footer=+Gr(o[0]).Margin;break;case"pagemargins":var ae=Gr(o[0]);if(!p["!margins"])Dd(p["!margins"]={},"xlml");if(!isNaN(+ae.Top))p["!margins"].top=+ae.Top;if(!isNaN(+ae.Left))p["!margins"].left=+ae.Left;if(!isNaN(+ae.Right))p["!margins"].right=+ae.Right;if(!isNaN(+ae.Bottom))p["!margins"].bottom=+ae.Bottom;break;case"displayrighttoleft":if(!G.Views)G.Views=[];if(!G.Views[0])G.Views[0]={};G.Views[0].RTL=true;break;case"freezepanes":break;case"frozennosplit":break;case"splithorizontal":;case"splitvertical":break;case"donotdisplaygridlines":break;case"activerow":break;case"activecol":break;case"toprowbottompane":break;case"leftcolumnrightpane":break;case"unsynced":break;case"print":break;case"printerrors":break;case"panes":break;case"scale":break;case"pane":break;case"number":break;case"layout":break;case"pagesetup":break;case"selected":break;case"protectobjects":break;case"enableselection":break;case"protectscenarios":break;case"validprinterinfo":break;case"horizontalresolution":break;case"verticalresolution":break;case"numberofcopies":break;case"activepane":break;case"toprowvisible":break;case"leftcolumnvisible":break;case"fittopage":break;case"rangeselection":break;case"papersizeindex":break;case"pagelayoutzoom":break;case"pagebreakzoom":break;case"filteron":break;case"fitwidth":break;case"fitheight":break;case"commentslayout":break;case"zoom":break;case"lefttoright":break;case"gridlines":break;case"allowsort":break;case"allowfilter":break;case"allowinsertrows":break;case"allowdeleterows":break;case"allowinsertcols":break;case"allowdeletecols":break;case"allowinserthyperlinks":break;case"allowformatcells":break;case"allowsizecols":break;case"allowsizerows":break;case"nosummaryrowsbelowdetail":if(!p["!outline"])p["!outline"]={};p["!outline"].above=true;break;case"tabcolorindex":break;case"donotdisplayheadings":break;case"showpagelayoutzoom":break;case"nosummarycolumnsrightdetail":if(!p["!outline"])p["!outline"]={};p["!outline"].left=true;break;case"blackandwhite":break;case"donotdisplayzeros":break;case"displaypagebreak":break;case"rowcolheadings":break;case"donotdisplayoutline":break;case"noorientation":break;case"allowusepivottables":break;case"zeroheight":break;case"viewablerange":break;case"selection":break;case"protectcontents":break;default:te=false;}break;case"pivottable":;case"pivotcache":switch(o[3]){case"immediateitemsondrop":break;case"showpagemultipleitemlabel":break;case"compactrowindent":break;case"location":break;case"pivotfield":break;case"orientation":break;case"layoutform":break;case"layoutsubtotallocation":break;case"layoutcompactrow":break;case"position":break;case"pivotitem":break;case"datatype":break;case"datafield":break;case"sourcename":break;case"parentfield":break;case"ptlineitems":break;case"ptlineitem":break;case"countofsameitems":break;case"item":break;case"itemtype":break;case"ptsource":break;case"cacheindex":break;case"consolidationreference":break;case"filename":break;case"reference":break;case"nocolumngrand":break;case"norowgrand":break;case"blanklineafteritems":break;case"hidden":break;case"subtotal":break;case"basefield":break;case"mapchilditems":break;case"function":break;case"refreshonfileopen":break;case"printsettitles":break;case"mergelabels":break;case"defaultversion":break;case"refreshname":break;case"refreshdate":break;case"refreshdatecopy":break;case"versionlastrefresh":break;case"versionlastupdate":break;case"versionupdateablemin":break;case"versionrefreshablemin":break;case"calculation":break;default:te=false;}break;case"pagebreaks":switch(o[3]){case"colbreaks":break;case"colbreak":break;case"rowbreaks":break;case"rowbreak":break;case"colstart":break;case"colend":break;case"rowend":break;default:te=false;}break;case"autofilter":switch(o[3]){case"autofiltercolumn":break;case"autofiltercondition":break;case"autofilterand":break;case"autofilteror":break;default:te=false;}break;case"querytable":switch(o[3]){case"id":break;case"autoformatfont":break;case"autoformatpattern":break;case"querysource":break;case"querytype":break;case"enableredirections":break;case"refreshedinxl9":break;case"urlstring":break;case"htmltables":break;case"connection":break;case"commandtext":break;case"refreshinfo":break;case"notitles":break;case"nextid":break;case"columninfo":break;case"overwritecells":break;case"donotpromptforfile":break;case"textwizardsettings":break;case"source":break;case"number":break;case"decimal":break;case"thousandseparator":break;case"trailingminusnumbers":break;case"formatsettings":break;case"fieldtype":break;case"delimiters":break;case"tab":break;case"comma":break;case"autoformatname":break;case"versionlastedit":break;case"versionlastrefresh":break;default:te=false;}break;case"datavalidation":switch(o[3]){case"range":break;case"type":break;case"min":break;case"max":break;case"sort":break;case"descending":break;case"order":break;case"casesensitive":break;case"value":break;case"errorstyle":break;case"errormessage":break;case"errortitle":break;case"inputmessage":break;case"inputtitle":break;case"combohide":break;case"inputhide":break;case"condition":break;case"qualifier":break;case"useblank":break;case"value1":break;case"value2":break;case"format":break;case"cellrangelist":break;default:te=false;}break;case"sorting":;case"conditionalformatting":switch(o[3]){case"range":break;case"type":break;case"min":break;case"max":break;case"sort":break;case"descending":break;case"order":break;case"casesensitive":break;case"value":break;case"errorstyle":break;case"errormessage":break;case"errortitle":break;case"cellrangelist":break;case"inputmessage":break;case"inputtitle":break;case"combohide":break;case"inputhide":break;case"condition":break;case"qualifier":break;case"useblank":break;case"value1":break;case"value2":break;case"format":break;default:te=false;}break;case"mapinfo":;case"schema":;case"data":switch(o[3]){case"map":break;case"entry":break;case"range":break;case"xpath":break;case"field":break;case"xsdtype":break;case"filteron":break;case"aggregate":break;case"elementtype":break;case"attributetype":break;case"schema":;case"element":;case"complextype":;case"datatype":;case"all":;case"attribute":;case"extends":break;case"row":break;default:te=false;}break;case"smarttags":break;default:te=false;break;}if(te)break;if(o[3].match(/!\[CDATA/))break;if(!l[l.length-1][1])throw"Unrecognized tag: "+o[3]+"|"+l.join("|");if(l[l.length-1][0]==="customdocumentproperties"){if(o[0].slice(-2)==="/>")break;else if(o[1]==="/")Bg(I,$,D,n.slice(N,o.index));else{D=o;N=o.index+o[0].length}break}if(t.WTF)throw"Unrecognized tag: "+o[3]+"|"+l.join("|");}var ne={};if(!t.bookSheets&&!t.bookProps)ne.Sheets=u;ne.SheetNames=v;ne.Workbook=G;ne.SSF=br(X);ne.Props=R;ne.Custprops=I;return ne}function jg(e,r){Wb(r=r||{});switch(r.type||"base64"){case"base64":return Gg(k(e),r);case"binary":;case"buffer":;case"file":return Gg(e,r);case"array":return Gg(_(e),r);}}function Xg(e,r){var t=[];if(e.Props)t.push(yi(e.Props,r));if(e.Custprops)t.push(Si(e.Props,e.Custprops,r));return t.join("")}function $g(){return""}function Yg(e,r){var t=[''];r.cellXfs.forEach(function(e,r){var a=[];a.push(kt("NumberFormat",null,{"ss:Format":qr(X[e.numFmtId])}));var n={"ss:ID":"s"+(21+r)};t.push(kt("Style",a.join(""),n))});return kt("Styles",t.join(""))}function Kg(e){return kt("NamedRange",null,{"ss:Name":e.Name,"ss:RefersTo":"="+xh(e.Ref,{r:0,c:0})})}function Jg(e){if(!((e||{}).Workbook||{}).Names)return"";var r=e.Workbook.Names;var t=[];for(var a=0;a");if(e["!margins"].header)n.push(kt("Header",null,{"x:Margin":e["!margins"].header}));if(e["!margins"].footer)n.push(kt("Footer",null,{"x:Margin":e["!margins"].footer}));n.push(kt("PageMargins",null,{"x:Bottom":e["!margins"].bottom||"0.75","x:Left":e["!margins"].left||"0.7","x:Right":e["!margins"].right||"0.7","x:Top":e["!margins"].top||"0.75"}));n.push("")}if(a&&a.Workbook&&a.Workbook.Sheets&&a.Workbook.Sheets[t]){if(a.Workbook.Sheets[t].Hidden)n.push(kt("Visible",a.Workbook.Sheets[t].Hidden==1?"SheetHidden":"SheetVeryHidden",{}));else{for(var i=0;i")}}if(((((a||{}).Workbook||{}).Views||[])[0]||{}).RTL)n.push("");if(e["!protect"]){n.push(bt("ProtectContents","True"));if(e["!protect"].objects)n.push(bt("ProtectObjects","True"));if(e["!protect"].scenarios)n.push(bt("ProtectScenarios","True"));if(e["!protect"].selectLockedCells!=null&&!e["!protect"].selectLockedCells)n.push(bt("EnableSelection","NoSelection"));else if(e["!protect"].selectUnlockedCells!=null&&!e["!protect"].selectUnlockedCells)n.push(bt("EnableSelection","UnlockedCells"));[["formatCells","AllowFormatCells"],["formatColumns","AllowSizeCols"],["formatRows","AllowSizeRows"],["insertColumns","AllowInsertCols"],["insertRows","AllowInsertRows"],["insertHyperlinks","AllowInsertHyperlinks"],["deleteColumns","AllowDeleteCols"],["deleteRows","AllowDeleteRows"],["sort","AllowSort"],["autoFilter","AllowFilter"],["pivotTables","AllowUsePivotTables"]].forEach(function(r){if(e["!protect"][r[0]])n.push("<"+r[1]+"/>")})}if(n.length==0)return"";return kt("WorksheetOptions",n.join(""),{xmlns:_t.x})}function Qg(e){return e.map(function(e){var r=at(e.t||"");var t=kt("ss:Data",r,{xmlns:"http://www.w3.org/TR/REC-html40"});return kt("Comment",t,{"ss:Author":e.a})}).join("")}function em(e,r,t,a,n,i,s){if(!e||e.v==undefined&&e.f==undefined)return"";var f={};if(e.f)f["ss:Formula"]="="+qr(xh(e.f,s));if(e.F&&e.F.slice(0,r.length)==r){var o=Oa(e.F.slice(r.length+1));f["ss:ArrayRange"]="RC:R"+(o.r==s.r?"":"["+(o.r-s.r)+"]")+"C"+(o.c==s.c?"":"["+(o.c-s.c)+"]")}if(e.l&&e.l.Target){f["ss:HRef"]=qr(e.l.Target);if(e.l.Tooltip)f["x:HRefScreenTip"]=qr(e.l.Tooltip)}if(t["!merges"]){var l=t["!merges"];for(var c=0;c!=l.length;++c){if(l[c].s.c!=s.c||l[c].s.r!=s.r)continue;if(l[c].e.c>l[c].s.c)f["ss:MergeAcross"]=l[c].e.c-l[c].s.c;if(l[c].e.r>l[c].s.r)f["ss:MergeDown"]=l[c].e.r-l[c].s.r}}var h="",u="";switch(e.t){case"z":if(!a.sheetStubs)return"";break;case"n":h="Number";u=String(e.v);break;case"b":h="Boolean";u=e.v?"1":"0";break;case"e":h="Error";u=Gn[e.v];break;case"d":h="DateTime";u=new Date(e.v).toISOString();if(e.z==null)e.z=e.z||X[14];break;case"s":h="String";u=rt(e.v||"");break;}var d=Fd(a.cellXfs,e,a);f["ss:StyleID"]="s"+(21+d);f["ss:Index"]=s.c+1;var v=e.v!=null?u:"";var p=e.t=="z"?"":''+v+"";if((e.c||[]).length>0)p+=Qg(e.c);return kt("Cell",p,f)}function rm(e,r){var t='"}function tm(e,r,t,a){if(!e["!ref"])return"";var n=Da(e["!ref"]);var i=e["!merges"]||[],s=0;var f=[];if(e["!cols"])e["!cols"].forEach(function(e,r){Il(e);var t=!!e.width;var a=Nd(r,e);var n={"ss:Index":r+1};if(t)n["ss:Width"]=Sl(a.width);if(e.hidden)n["ss:Hidden"]="1";f.push(kt("Column",null,n))});var o=Array.isArray(e);for(var l=n.s.r;l<=n.e.r;++l){var c=[rm(l,(e["!rows"]||[])[l])];for(var h=n.s.c;h<=n.e.c;++h){var u=false;for(s=0;s!=i.length;++s){if(i[s].s.c>h)continue;if(i[s].s.r>l)continue;if(i[s].e.c");if(c.length>2)f.push(c.join(""))}return f.join("")}function am(e,r,t){var a=[];var n=t.SheetNames[e];var i=t.Sheets[n];var s=i?qg(i,r,e,t):"";if(s.length>0)a.push(""+s+"");s=i?tm(i,r,e,t):"";if(s.length>0)a.push(""+s+"
    ");a.push(Zg(i,r,e,t));return a.join("")}function nm(e,r){if(!r)r={};if(!e.SSF)e.SSF=br(X);if(e.SSF){ze();He(e.SSF);r.revssf=nr(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF;r.cellXfs=[];Fd(r.cellXfs,{},{revssf:{General:0}})}var t=[];t.push(Xg(e,r));t.push($g(e,r));t.push("");t.push("");for(var a=0;a40)return r;t.l-=4;r.Reserved1=t._R(0,"lpstr-ansi");if(t.length-t.l<=4)return r;a=t._R(4);if(a!==1907505652)return r;r.UnicodeClipboardFormat=Tn(t);a=t._R(4);if(a==0||a>40)return r;t.l-=4;r.Reserved2=t._R(0,"lpwstr")}var sm=[60,1084,2066,2165,2175];function fm(e,r,t,a,n){var i=a;var s=[];var f=t.slice(t.l,t.l+i);if(n&&n.enc&&n.enc.insitu&&f.length>0)switch(e){case 9:;case 521:;case 1033:;case 2057:;case 47:;case 405:;case 225:;case 406:;case 312:;case 404:;case 10:break;case 133:break;default:n.enc.insitu(f);}s.push(f);t.l+=i;var o=Qt(t,t.l),l=mm[o];var c=0;while(l!=null&&sm.indexOf(o)>-1){i=Qt(t,t.l+2);c=t.l+4;if(o==2066)c+=4;else if(o==2165||o==2175){c+=12}f=t.slice(c,t.l+4+i);s.push(f);t.l+=4+i;l=mm[o=Qt(t,t.l)]}var h=R(s);ca(h,0);var u=0;h.lens=[];for(var d=0;d1)return;if(t.sheetRows&&e.r>=t.sheetRows)return;if(t.cellStyles&&r.XF&&r.XF.data)x(e,r,t);delete r.ixfe;delete r.XF;u=e;d=Ra(e);if(!s||!s.s||!s.e)s={s:{r:0,c:0},e:{r:0,c:0}};if(e.rs.e.r)s.e.r=e.r+1;if(e.c+1>s.e.c)s.e.c=e.c+1;if(t.cellFormula&&r.f){for(var a=0;ae.c||k[a][0].s.r>e.r)continue;if(k[a][0].e.c>8)!==$)throw new Error("rt mismatch: "+J+"!="+$);if(K.r==12){e.l+=10;Y-=10}}var q={};if($===10)q=K.f(e,Y,R);else q=fm($,K,e,Y,R);if(B==0&&[9,521,1033,2057].indexOf(U)===-1)continue;switch($){case 34:t.opts.Date1904=y.WBProps.date1904=q;break;case 134:t.opts.WriteProtect=true;break;case 47:if(!R.enc)e.l=0;R.enc=q;if(!r.password)throw new Error("File is password-protected");if(q.valid==null)throw new Error("Encryption scheme unsupported");if(!q.valid)throw new Error("Password is incorrect");break;case 92:R.lastuser=q;break;case 66:var Z=Number(q);switch(Z){case 21010:Z=1200;break;case 32768:Z=1e4;break;case 32769:Z=1252;break;}o(R.codepage=Z);G=true;break;case 317:R.rrtabid=q;break;case 25:R.winlocked=q;break;case 439:t.opts["RefreshAll"]=q;break;case 12:t.opts["CalcCount"]=q;break;case 16:t.opts["CalcDelta"]=q;break;case 17: +t.opts["CalcIter"]=q;break;case 13:t.opts["CalcMode"]=q;break;case 14:t.opts["CalcPrecision"]=q;break;case 95:t.opts["CalcSaveRecalc"]=q;break;case 15:R.CalcRefMode=q;break;case 2211:t.opts.FullCalc=q;break;case 129:if(q.fDialog)n["!type"]="dialog";if(!q.fBelow)(n["!outline"]||(n["!outline"]={})).above=true;if(!q.fRight)(n["!outline"]||(n["!outline"]={})).left=true;break;case 224:E.push(q);break;case 430:M.push([q]);M[M.length-1].XTI=[];break;case 35:;case 547:M[M.length-1].push(q);break;case 24:;case 536:V={Name:q.Name,Ref:fd(q.rgce,s,null,M,R)};if(q.itab>0)V.Sheet=q.itab-1;M.names.push(V);if(!M[0]){M[0]=[];M[0].XTI=[]}M[M.length-1].push(q);if(q.Name=="_xlnm._FilterDatabase"&&q.itab>0)if(q.rgce&&q.rgce[0]&&q.rgce[0][0]&&q.rgce[0][0][0]=="PtgArea3d")z[q.itab-1]={ref:Na(q.rgce[0][0][1][2])};break;case 22:R.ExternCount=q;break;case 23:if(M.length==0){M[0]=[];M[0].XTI=[]}M[M.length-1].XTI=M[M.length-1].XTI.concat(q);M.XTI=M.XTI.concat(q);break;case 2196:if(R.biff<8)break;if(V!=null)V.Comment=q[1];break;case 18:n["!protect"]=q;break;case 19:if(q!==0&&R.WTF)console.error("Password verifier: "+q);break;case 133:{i[q.pos]=q;R.snames.push(q.name)}break;case 10:{if(--B)break;if(s.e){if(s.e.r>0&&s.e.c>0){s.e.r--;s.e.c--;n["!ref"]=Na(s);if(r.sheetRows&&r.sheetRows<=s.e.r){var Q=s.e.r;s.e.r=r.sheetRows-1;n["!fullref"]=n["!ref"];n["!ref"]=Na(s);s.e.r=Q}s.e.r++;s.e.c++}if(N.length>0)n["!merges"]=N;if(D.length>0)n["!objects"]=D;if(F.length>0)n["!cols"]=F;if(P.length>0)n["!rows"]=P;y.Sheets.push(S)}if(c==="")h=n;else a[c]=n;n=r.dense?[]:{}}break;case 9:;case 521:;case 1033:;case 2057:{if(R.biff===8)R.biff={9:2,521:3,1033:4}[$]||{512:2,768:3,1024:4,1280:5,1536:8,2:2,7:2}[q.BIFFVer]||8;R.biffguess=q.BIFFVer==0;if(q.BIFFVer==0&&q.dt==4096){R.biff=5;G=true;o(R.codepage=28591)}if(R.biff==8&&q.BIFFVer==0&&q.dt==16)R.biff=2;if(B++)break;n=r.dense?[]:{};if(R.biff<8&&!G){G=true;o(R.codepage=r.codepage||1252)}if(R.biff<5||q.BIFFVer==0&&q.dt==4096){if(c==="")c="Sheet1";s={s:{r:0,c:0},e:{r:0,c:0}};var ee={pos:e.l-Y,name:c};i[ee.pos]=ee;R.snames.push(c)}else c=(i[j]||{name:""}).name;if(q.dt==32)n["!type"]="chart";if(q.dt==64)n["!type"]="macro";N=[];D=[];R.arrayf=k=[];F=[];P=[];L=false;S={Hidden:(i[j]||{hs:0}).hs,name:c}}break;case 515:;case 3:;case 2:{if(n["!type"]=="chart")if(r.dense?(n[q.r]||[])[q.c]:n[Ra({c:q.c,r:q.r})])++q.c;T={ixfe:q.ixfe,XF:E[q.ixfe]||{},v:q.val,t:"n"};if(W>0)T.z=H[T.ixfe>>8&63];om(T,r,t.opts.Date1904);O({c:q.c,r:q.r},T,r)}break;case 5:;case 517:{T={ixfe:q.ixfe,XF:E[q.ixfe],v:q.val,t:q.t};if(W>0)T.z=H[T.ixfe>>8&63];om(T,r,t.opts.Date1904);O({c:q.c,r:q.r},T,r)}break;case 638:{T={ixfe:q.ixfe,XF:E[q.ixfe],v:q.rknum,t:"n"};if(W>0)T.z=H[T.ixfe>>8&63];om(T,r,t.opts.Date1904);O({c:q.c,r:q.r},T,r)}break;case 189:{for(var re=q.c;re<=q.C;++re){var te=q.rkrec[re-q.c][0];T={ixfe:te,XF:E[te],v:q.rkrec[re-q.c][1],t:"n"};if(W>0)T.z=H[T.ixfe>>8&63];om(T,r,t.opts.Date1904);O({c:re,r:q.r},T,r)}}break;case 6:;case 518:;case 1030:{if(q.val=="String"){f=q;break}T=lm(q.val,q.cell.ixfe,q.tt);T.XF=E[T.ixfe];if(r.cellFormula){var ae=q.formula;if(ae&&ae[0]&&ae[0][0]&&ae[0][0][0]=="PtgExp"){var ne=ae[0][0][1][0],ie=ae[0][0][1][1];var se=Ra({r:ne,c:ie});if(w[se])T.f=""+fd(q.formula,s,q.cell,M,R);else T.F=((r.dense?(n[ne]||[])[ie]:n[se])||{}).F}else T.f=""+fd(q.formula,s,q.cell,M,R)}if(W>0)T.z=H[T.ixfe>>8&63];om(T,r,t.opts.Date1904);O(q.cell,T,r);f=q}break;case 7:;case 519:{if(f){f.val=q;T=lm(q,f.cell.ixfe,"s");T.XF=E[T.ixfe];if(r.cellFormula){T.f=""+fd(f.formula,s,f.cell,M,R)}if(W>0)T.z=H[T.ixfe>>8&63];om(T,r,t.opts.Date1904);O(f.cell,T,r);f=null}else throw new Error("String record expects Formula")}break;case 33:;case 545:{k.push(q);var fe=Ra(q[0].s);v=r.dense?(n[q[0].s.r]||[])[q[0].s.c]:n[fe];if(r.cellFormula&&v){if(!f)break;if(!fe||!v)break;v.f=""+fd(q[1],s,q[0],M,R);v.F=Na(q[0])}}break;case 1212:{if(!r.cellFormula)break;if(d){if(!f)break;w[Ra(f.cell)]=q[0];v=r.dense?(n[f.cell.r]||[])[f.cell.c]:n[Ra(f.cell)];(v||{}).f=""+fd(q[0],s,u,M,R)}}break;case 253:T=lm(l[q.isst].t,q.ixfe,"s");if(l[q.isst].h)T.h=l[q.isst].h;T.XF=E[T.ixfe];if(W>0)T.z=H[T.ixfe>>8&63];om(T,r,t.opts.Date1904);O({c:q.c,r:q.r},T,r);break;case 513:if(r.sheetStubs){T={ixfe:q.ixfe,XF:E[q.ixfe],t:"z"};if(W>0)T.z=H[T.ixfe>>8&63];om(T,r,t.opts.Date1904);O({c:q.c,r:q.r},T,r)}break;case 190:if(r.sheetStubs){for(var oe=q.c;oe<=q.C;++oe){var le=q.ixfe[oe-q.c];T={ixfe:le,XF:E[le],t:"z"};if(W>0)T.z=H[T.ixfe>>8&63];om(T,r,t.opts.Date1904);O({c:oe,r:q.r},T,r)}}break;case 214:;case 516:;case 4:T=lm(q.val,q.ixfe,"s");T.XF=E[T.ixfe];if(W>0)T.z=H[T.ixfe>>8&63];om(T,r,t.opts.Date1904);O({c:q.c,r:q.r},T,r);break;case 0:;case 512:{if(B===1)s=q}break;case 252:{l=q}break;case 1054:{if(R.biff==4){H[W++]=q[1];for(var ce=0;ce=163)We(q[1],W+163)}else We(q[1],q[0])}break;case 30:{H[W++]=q;for(var he=0;he=163)We(q,W+163)}break;case 229:N=N.concat(q);break;case 93:D[q.cmo[0]]=R.lastobj=q;break;case 438:R.lastobj.TxO=q;break;case 127:R.lastobj.ImData=q;break;case 440:{for(b=q[0].s.r;b<=q[0].e.r;++b)for(m=q[0].s.c;m<=q[0].e.c;++m){v=r.dense?(n[b]||[])[m]:n[Ra({c:m,r:b})];if(v)v.l=q[1]}}break;case 2048:{for(b=q[0].s.r;b<=q[0].e.r;++b)for(m=q[0].s.c;m<=q[0].e.c;++m){v=r.dense?(n[b]||[])[m]:n[Ra({c:m,r:b})];if(v&&v.l)v.l.Tooltip=q[1]}}break;case 28:{if(R.biff<=5&&R.biff>=2)break;v=r.dense?(n[q[0].r]||[])[q[0].c]:n[Ra(q[0])];var ue=D[q[2]];if(!v){if(r.dense){if(!n[q[0].r])n[q[0].r]=[];v=n[q[0].r][q[0].c]={t:"z"}}else{v=n[Ra(q[0])]={t:"z"}}s.e.r=Math.max(s.e.r,q[0].r);s.s.r=Math.min(s.s.r,q[0].r);s.e.c=Math.max(s.e.c,q[0].c);s.s.c=Math.min(s.s.c,q[0].c)}if(!v.c)v.c=[];p={a:q[1],t:ue.TxO.t};v.c.push(p)}break;case 2173:Bc(E[q.ixfe],q.ext);break;case 125:{if(!R.cellStyles)break;while(q.e>=q.s){F[q.e--]={width:q.w/256,level:q.level||0,hidden:!!(q.flags&1)};if(!L){L=true;Rl(q.w/256)}Il(F[q.e+1])}}break;case 520:{var de={};if(q.level!=null){P[q.r]=de;de.level=q.level}if(q.hidden){P[q.r]=de;de.hidden=true}if(q.hpt){P[q.r]=de;de.hpt=q.hpt;de.hpx=Pl(q.hpt)}}break;case 38:;case 39:;case 40:;case 41:if(!n["!margins"])Dd(n["!margins"]={});n["!margins"][{38:"left",39:"right",40:"top",41:"bottom"}[$]]=q;break;case 161:if(!n["!margins"])Dd(n["!margins"]={});n["!margins"].header=q.header;n["!margins"].footer=q.footer;break;case 574:if(q.RTL)y.Views[0].RTL=true;break;case 146:C=q;break;case 2198:I=q;break;case 140:A=q;break;case 442:{if(!c)y.WBProps.CodeName=q||"ThisWorkbook";else S.CodeName=q||S.name}break;}}else{if(!K)console.error("Missing Info for XLS Record 0x"+$.toString(16));e.l+=Y}}t.SheetNames=rr(i).sort(function(e,r){return Number(e)-Number(r)}).map(function(e){return i[e].name});if(!r.bookSheets)t.Sheets=a;if(!t.SheetNames.length&&h["!ref"]){t.SheetNames.push("Sheet1");if(t.Sheets)t.Sheets["Sheet1"]=h}else t.Preamble=h;if(t.Sheets)z.forEach(function(e,r){t.Sheets[t.SheetNames[r]]["!autofilter"]=e});t.Strings=l;t.SSF=br(X);if(R.enc)t.Encryption=R.enc;if(I)t.Themes=I;t.Metadata={};if(A!==undefined)t.Metadata.Country=A;if(M.names.length>0)y.Names=M.names;t.Workbook=y;return t}var hm={SI:"e0859ff2f94f6810ab9108002b27b3d9",DSI:"02d5cdd59c2e1b10939708002b2cf9ae",UDI:"05d5cdd59c2e1b10939708002b2cf9ae"};function um(e,r,t){var a=Ke.find(e,"/!DocumentSummaryInformation");if(a&&a.size>0)try{var n=$i(a,Mn,hm.DSI);for(var i in n)r[i]=n[i]}catch(s){if(t.WTF)throw s}var f=Ke.find(e,"/!SummaryInformation");if(f&&f.size>0)try{var o=$i(f,Un,hm.SI);for(var l in o)if(r[l]==null)r[l]=o[l]}catch(s){if(t.WTF)throw s}if(r.HeadingPairs&&r.TitlesOfParts){gi(r.HeadingPairs,r.TitlesOfParts,r,t);delete r.HeadingPairs;delete r.TitlesOfParts}}function dm(e,r){var t=[],a=[],n=[];var i=0,s;var f=tr(Mn,"n");var o=tr(Un,"n");if(e.Props){s=rr(e.Props);for(i=0;i-1||pi.indexOf(n[i][0])>-1)continue;if(n[i][1]==null)continue;l.push(n[i])}if(a.length)Ke.utils.cfb_add(r,"/SummaryInformation",Yi(a,hm.SI,o,Un));if(t.length||l.length)Ke.utils.cfb_add(r,"/DocumentSummaryInformation",Yi(t,hm.DSI,f,Mn,l.length?l:null,hm.UDI))}function vm(e,r){if(!r)r={};Wb(r);l();if(r.codepage)s(r.codepage);var t,a;if(e.FullPaths){if(Ke.find(e,"/encryption"))throw new Error("File is password-protected");t=Ke.find(e,"!CompObj");a=Ke.find(e,"/Workbook")||Ke.find(e,"/Book")}else{switch(r.type){case"base64":e=y(k(e));break;case"binary":e=y(e);break;case"buffer":break;case"array":if(!Array.isArray(e))e=Array.prototype.slice.call(e);break;}ca(e,0);a={content:e}}var n;var i;if(t)im(t);if(r.bookProps&&!r.bookSheets)n={};else{var f=T?"buffer":"array";if(a&&a.content)n=cm(a.content,r);else if((i=Ke.find(e,"PerfectOffice_MAIN"))&&i.content)n=xo.to_workbook(i.content,(r.type=f,r));else if((i=Ke.find(e,"NativeContent_MAIN"))&&i.content)n=xo.to_workbook(i.content,(r.type=f,r));else if((i=Ke.find(e,"MN0"))&&i.content)throw new Error("Unsupported Works 4 for Mac file");else throw new Error("Cannot find Workbook stream");if(r.bookVBA&&e.FullPaths&&Ke.find(e,"/_VBA_PROJECT_CUR/VBA/dir"))n.vbaraw=wh(e)}var o={};if(e.FullPaths)um(e,o,r);n.Props=n.Custprops=o;if(r.bookFiles)n.cfb=e;return n}function pm(e,r){var t=r||{};var a=Ke.utils.cfb_new({root:"R"});var n="/Workbook";switch(t.bookType||"xls"){case"xls":t.bookType="biff8";case"xla":if(!t.bookType)t.bookType="xla";case"biff8":n="/Workbook";t.biff=8;break;case"biff5":n="/Book";t.biff=5;break;default:throw new Error("invalid type "+t.bookType+" for XLS CFB");}Ke.utils.cfb_add(a,n,Lm(e,t));if(t.biff==8&&(e.Props||e.Custprops))dm(e,a);if(t.biff==8&&e.vbaraw)kh(a,Ke.read(e.vbaraw,{type:typeof e.vbaraw=="string"?"binary":"buffer"}));return a}var gm={0:{f:gv},1:{f:Cv},2:{f:Gv},3:{f:Nv},4:{f:xv},5:{f:Wv},6:{f:Kv},7:{f:Lv},8:{f:tp},9:{f:rp},10:{f:Qv},11:{f:ep},12:{f:Sv},13:{f:Xv},14:{f:Fv},15:{f:Rv},16:{f:zv},17:{f:qv},18:{f:Uv},19:{f:ja},20:{},21:{},22:{},23:{},24:{},25:{},26:{},27:{},28:{},29:{},30:{},31:{},32:{},33:{},34:{},35:{T:1},36:{T:-1},37:{T:1},38:{T:-1},39:{f:fg},40:{},42:{},43:{f:Jl},44:{f:Yl},45:{f:ec},46:{f:ic},47:{f:tc},48:{},49:{f:Ba},50:{},51:{f:zc},52:{T:1},53:{T:-1},54:{T:1},55:{T:-1},56:{T:1},57:{T:-1},58:{},59:{},60:{f:ao},62:{f:Yv},63:{f:Zc},64:{f:wp},65:{},66:{},67:{},68:{},69:{},70:{},128:{},129:{T:1},130:{T:-1},131:{T:1,f:ha,p:0},132:{T:-1},133:{T:1},134:{T:-1},135:{T:1},136:{T:-1},137:{T:1,f:pp},138:{T:-1},139:{T:1},140:{T:-1},141:{T:1},142:{T:-1},143:{T:1},144:{T:-1},145:{T:1},146:{T:-1},147:{f:Av},148:{f:wv,p:16},151:{f:op},152:{},153:{f:ng},154:{},155:{},156:{f:tg},157:{},158:{},159:{T:1,f:zo},160:{T:-1},161:{T:1,f:hn},162:{T:-1},163:{T:1},164:{T:-1},165:{T:1},166:{T:-1},167:{},168:{},169:{},170:{},171:{},172:{T:1},173:{T:-1},174:{},175:{},176:{f:ap},177:{T:1},178:{T:-1},179:{T:1},180:{T:-1},181:{T:1},182:{T:-1},183:{T:1},184:{T:-1},185:{T:1},186:{T:-1},187:{T:1},188:{T:-1},189:{T:1},190:{T:-1},191:{T:1},192:{T:-1},193:{T:1},194:{T:-1},195:{T:1},196:{T:-1},197:{T:1},198:{T:-1},199:{T:1},200:{T:-1},201:{T:1},202:{T:-1},203:{T:1},204:{T:-1},205:{T:1},206:{T:-1},207:{T:1},208:{T:-1},209:{T:1},210:{T:-1},211:{T:1},212:{T:-1},213:{T:1},214:{T:-1},215:{T:1},216:{T:-1},217:{T:1},218:{T:-1},219:{T:1},220:{T:-1},221:{T:1},222:{T:-1},223:{T:1},224:{T:-1},225:{T:1},226:{T:-1},227:{T:1},228:{T:-1},229:{T:1},230:{T:-1},231:{T:1},232:{T:-1},233:{T:1},234:{T:-1},235:{T:1},236:{T:-1},237:{T:1},238:{T:-1},239:{T:1},240:{T:-1},241:{T:1},242:{T:-1},243:{T:1},244:{T:-1},245:{T:1},246:{T:-1},247:{T:1},248:{T:-1},249:{T:1},250:{T:-1},251:{T:1},252:{T:-1},253:{T:1},254:{T:-1},255:{T:1},256:{T:-1},257:{T:1},258:{T:-1},259:{T:1},260:{T:-1},261:{T:1},262:{T:-1},263:{T:1},264:{T:-1},265:{T:1},266:{T:-1},267:{T:1},268:{T:-1},269:{T:1},270:{T:-1},271:{T:1},272:{T:-1},273:{T:1},274:{T:-1},275:{T:1},276:{T:-1},277:{},278:{T:1},279:{T:-1},280:{T:1},281:{T:-1},282:{T:1},283:{T:1},284:{T:-1},285:{T:1},286:{T:-1},287:{T:1},288:{T:-1},289:{T:1},290:{T:-1},291:{T:1},292:{T:-1},293:{T:1},294:{T:-1},295:{T:1},296:{T:-1},297:{T:1},298:{T:-1},299:{T:1},300:{T:-1},301:{T:1},302:{T:-1},303:{T:1},304:{T:-1},305:{T:1},306:{T:-1},307:{T:1},308:{T:-1},309:{T:1},310:{T:-1},311:{T:1},312:{T:-1},313:{T:-1},314:{T:1},315:{T:-1},316:{T:1},317:{T:-1},318:{T:1},319:{T:-1},320:{T:1},321:{T:-1},322:{T:1},323:{T:-1},324:{T:1},325:{T:-1},326:{T:1},327:{T:-1},328:{T:1},329:{T:-1},330:{T:1},331:{T:-1},332:{T:1},333:{T:-1},334:{T:1},335:{f:Wc},336:{T:-1},337:{f:jc,T:1},338:{T:-1},339:{T:1},340:{T:-1},341:{T:1},342:{T:-1},343:{T:1},344:{T:-1},345:{T:1},346:{T:-1},347:{T:1},348:{T:-1},349:{T:1},350:{T:-1},351:{},352:{},353:{T:1},354:{T:-1},355:{f:nn},357:{},358:{},359:{},360:{T:1},361:{},362:{f:Ff},363:{},364:{},366:{},367:{},368:{},369:{},370:{},371:{},372:{T:1},373:{T:-1},374:{T:1},375:{T:-1},376:{T:1},377:{T:-1},378:{T:1},379:{T:-1},380:{T:1},381:{T:-1},382:{T:1},383:{T:-1},384:{T:1},385:{T:-1},386:{T:1},387:{T:-1},388:{T:1},389:{T:-1},390:{T:1},391:{T:-1},392:{T:1},393:{T:-1},394:{T:1},395:{T:-1},396:{},397:{},398:{},399:{},400:{},401:{T:1},403:{},404:{},405:{},406:{},407:{},408:{},409:{},410:{},411:{},412:{},413:{},414:{},415:{},416:{},417:{},418:{},419:{},420:{},421:{},422:{T:1},423:{T:1},424:{T:-1},425:{T:-1},426:{f:lp},427:{f:cp},428:{},429:{T:1},430:{T:-1},431:{T:1},432:{T:-1},433:{T:1},434:{T:-1},435:{T:1},436:{T:-1},437:{T:1},438:{T:-1},439:{T:1},440:{T:-1},441:{T:1},442:{T:-1},443:{T:1},444:{T:-1},445:{T:1},446:{T:-1},447:{T:1},448:{T:-1},449:{T:1},450:{T:-1},451:{T:1},452:{T:-1},453:{T:1},454:{T:-1},455:{T:1},456:{T:-1},457:{T:1},458:{T:-1},459:{T:1},460:{T:-1},461:{T:1},462:{T:-1},463:{T:1},464:{T:-1},465:{T:1},466:{T:-1},467:{T:1},468:{T:-1},469:{T:1},470:{T:-1},471:{},472:{},473:{T:1},474:{T:-1},475:{},476:{f:dp},477:{},478:{},479:{T:1},480:{T:-1},481:{T:1},482:{T:-1},483:{T:1},484:{T:-1},485:{f:Tv},486:{T:1},487:{T:-1},488:{T:1},489:{T:-1},490:{T:1},491:{T:-1},492:{T:1},493:{T:-1},494:{f:sp},495:{T:1},496:{T:-1},497:{T:1},498:{T:-1},499:{},500:{T:1},501:{T:-1},502:{T:1},503:{T:-1},504:{},505:{T:1},506:{T:-1},507:{},508:{T:1},509:{T:-1},510:{T:1},511:{T:-1},512:{},513:{},514:{T:1},515:{T:-1},516:{T:1},517:{T:-1},518:{T:1},519:{T:-1},520:{T:1},521:{T:-1},522:{},523:{},524:{},525:{},526:{},527:{},528:{T:1},529:{T:-1},530:{T:1},531:{T:-1},532:{T:1},533:{T:-1},534:{},535:{},536:{},537:{},538:{T:1},539:{T:-1},540:{T:1},541:{T:-1},542:{T:1},548:{},549:{},550:{f:nn},551:{},552:{},553:{},554:{T:1},555:{T:-1},556:{T:1},557:{T:-1},558:{T:1},559:{T:-1},560:{T:1},561:{T:-1},562:{},564:{},565:{T:1},566:{T:-1},569:{T:1},570:{T:-1},572:{},573:{T:1},574:{T:-1},577:{},578:{},579:{},580:{},581:{},582:{},583:{},584:{},585:{},586:{},587:{},588:{T:-1},589:{},590:{T:1},591:{T:-1},592:{T:1},593:{T:-1},594:{T:1},595:{T:-1},596:{},597:{T:1},598:{T:-1},599:{T:1},600:{T:-1},601:{T:1},602:{T:-1},603:{T:1},604:{T:-1},605:{T:1},606:{T:-1},607:{},608:{T:1},609:{T:-1},610:{},611:{T:1},612:{T:-1},613:{T:1},614:{T:-1},615:{T:1},616:{T:-1},617:{T:1},618:{T:-1},619:{T:1},620:{T:-1},625:{},626:{T:1},627:{T:-1},628:{T:1},629:{T:-1},630:{T:1},631:{T:-1},632:{f:vh},633:{T:1},634:{T:-1},635:{T:1,f:uh},636:{T:-1},637:{f:$a},638:{T:1},639:{},640:{T:-1},641:{T:1},642:{T:-1},643:{T:1},644:{},645:{T:-1},646:{T:1},648:{T:1},649:{},650:{T:-1},651:{f:Up},652:{},653:{T:1},654:{T:-1},655:{T:1},656:{T:-1},657:{T:1},658:{T:-1},659:{},660:{T:1},661:{},662:{T:-1},663:{},664:{T:1},665:{},666:{T:-1},667:{},668:{},669:{},671:{T:1},672:{T:-1},673:{T:1},674:{T:-1},675:{},676:{},677:{},678:{},679:{},680:{},681:{},1024:{},1025:{},1026:{T:1},1027:{T:-1},1028:{T:1},1029:{T:-1},1030:{},1031:{T:1},1032:{T:-1},1033:{T:1},1034:{T:-1},1035:{},1036:{},1037:{},1038:{T:1},1039:{T:-1},1040:{},1041:{T:1},1042:{T:-1},1043:{},1044:{},1045:{},1046:{T:1},1047:{T:-1},1048:{T:1},1049:{T:-1},1050:{},1051:{T:1},1052:{T:1},1053:{f:kp},1054:{T:1},1055:{},1056:{T:1},1057:{T:-1},1058:{T:1},1059:{T:-1},1061:{},1062:{T:1},1063:{T:-1},1064:{T:1},1065:{T:-1},1066:{T:1},1067:{T:-1},1068:{T:1},1069:{T:-1},1070:{T:1},1071:{T:-1},1072:{T:1},1073:{T:-1},1075:{T:1},1076:{T:-1},1077:{T:1},1078:{T:-1},1079:{T:1},1080:{T:-1},1081:{T:1},1082:{T:-1},1083:{T:1},1084:{T:-1},1085:{},1086:{T:1},1087:{T:-1},1088:{T:1},1089:{T:-1},1090:{T:1},1091:{T:-1},1092:{T:1},1093:{T:-1},1094:{T:1},1095:{T:-1},1096:{},1097:{T:1},1098:{},1099:{T:-1},1100:{T:1},1101:{T:-1},1102:{},1103:{},1104:{},1105:{},1111:{},1112:{},1113:{T:1},1114:{T:-1},1115:{T:1},1116:{T:-1},1117:{},1118:{T:1},1119:{T:-1},1120:{T:1},1121:{T:-1},1122:{T:1},1123:{T:-1},1124:{T:1},1125:{T:-1},1126:{},1128:{T:1},1129:{T:-1},1130:{},1131:{T:1},1132:{T:-1},1133:{T:1},1134:{T:-1},1135:{T:1},1136:{T:-1},1137:{T:1},1138:{T:-1},1139:{T:1},1140:{T:-1},1141:{},1142:{T:1},1143:{T:-1},1144:{T:1},1145:{T:-1},1146:{},1147:{T:1},1148:{T:-1},1149:{T:1},1150:{T:-1},1152:{T:1},1153:{T:-1},1154:{T:-1},1155:{T:-1},1156:{T:-1},1157:{T:1},1158:{T:-1},1159:{T:1},1160:{T:-1},1161:{T:1},1162:{T:-1},1163:{T:1},1164:{T:-1},1165:{T:1},1166:{T:-1},1167:{T:1},1168:{T:-1},1169:{T:1},1170:{T:-1},1171:{},1172:{T:1},1173:{T:-1},1177:{},1178:{T:1},1180:{},1181:{},1182:{},2048:{T:1},2049:{T:-1},2050:{},2051:{T:1},2052:{T:-1},2053:{},2054:{},2055:{T:1},2056:{T:-1},2057:{T:1},2058:{T:-1},2060:{},2067:{},2068:{T:1},2069:{T:-1},2070:{},2071:{},2072:{T:1},2073:{T:-1},2075:{},2076:{},2077:{T:1},2078:{T:-1},2079:{},2080:{T:1},2081:{T:-1},2082:{},2083:{T:1},2084:{T:-1},2085:{T:1},2086:{T:-1},2087:{T:1},2088:{T:-1},2089:{T:1},2090:{T:-1},2091:{},2092:{},2093:{T:1},2094:{T:-1},2095:{},2096:{T:1},2097:{T:-1},2098:{T:1},2099:{T:-1},2100:{T:1},2101:{T:-1},2102:{},2103:{T:1},2104:{T:-1},2105:{},2106:{T:1},2107:{T:-1},2108:{},2109:{T:1},2110:{T:-1},2111:{T:1},2112:{T:-1},2113:{T:1},2114:{T:-1},2115:{},2116:{},2117:{},2118:{T:1},2119:{T:-1},2120:{},2121:{T:1},2122:{T:-1},2123:{T:1},2124:{T:-1},2125:{},2126:{T:1},2127:{T:-1},2128:{},2129:{T:1},2130:{T:-1},2131:{T:1},2132:{T:-1},2133:{T:1},2134:{},2135:{},2136:{},2137:{T:1},2138:{T:-1},2139:{T:1},2140:{T:-1},2141:{},3072:{},3073:{},4096:{T:1},4097:{T:-1},5002:{T:1},5003:{T:-1},5081:{T:1},5082:{T:-1},5083:{},5084:{T:1},5085:{T:-1},5086:{T:1},5087:{T:-1},5088:{},5089:{},5090:{},5092:{T:1},5093:{T:-1},5094:{},5095:{T:1},5096:{T:-1},5097:{},5099:{},65535:{n:""}};var mm={6:{f:vd},10:{f:Ki},12:{f:es},13:{f:es},14:{f:Zi},15:{f:Zi},16:{f:dn},17:{f:Zi},18:{f:Zi},19:{f:es},20:{f:Of},21:{f:Of},23:{f:Ff},24:{f:Df},25:{f:Zi},26:{},27:{},28:{f:Hf},29:{},34:{f:Zi},35:{f:If},38:{f:dn},39:{f:dn},40:{f:dn},41:{f:dn},42:{f:Zi},43:{f:Zi},47:{f:pl},49:{f:sf},51:{f:es},60:{},61:{f:ef},64:{f:Zi},65:{f:nf},66:{f:es},77:{},80:{},81:{},82:{},85:{f:es},89:{},90:{},91:{},92:{f:zs},93:{f:Gf},94:{},95:{f:Zi},96:{},97:{},99:{f:Zi},125:{f:ao},128:{f:Ef},129:{f:Gs},130:{f:es},131:{f:Zi},132:{f:Zi},133:{f:js},134:{},140:{f:Zf},141:{f:es},144:{},146:{f:ro},151:{},152:{},153:{},154:{},155:{},156:{f:es},157:{},158:{},160:{f:lo},161:{f:io},174:{},175:{},176:{},177:{},178:{},180:{},181:{},182:{},184:{},185:{},189:{f:bf},190:{f:wf},193:{f:Ki},197:{},198:{},199:{},200:{},201:{},202:{f:Zi},203:{},204:{},205:{},206:{},207:{},208:{},209:{},210:{},211:{},213:{},215:{},216:{},217:{},218:{f:es},220:{},221:{f:Zi},222:{},224:{f:Tf},225:{f:Hs},226:{f:Ki},227:{},229:{f:zf},233:{},235:{},236:{},237:{},239:{},240:{},241:{},242:{},244:{},245:{},246:{},247:{},248:{},249:{},251:{},252:{f:$s},253:{f:of},255:{f:Ks},256:{},259:{},290:{},311:{},312:{},315:{},317:{f:ts},318:{},319:{},320:{},330:{},331:{},333:{},334:{},335:{},336:{},337:{},338:{},339:{},340:{},351:{},352:{f:Zi},353:{f:Ki},401:{},402:{},403:{},404:{},405:{},406:{},407:{},408:{},425:{},426:{},427:{},428:{},429:{},430:{f:Rf},431:{f:Zi},432:{},433:{},434:{},437:{},438:{f:$f},439:{f:Zi},440:{f:Yf},441:{},442:{f:ls},443:{},444:{f:es},445:{},446:{},448:{f:Ki},449:{f:Zs,r:2},450:{f:Ki},512:{f:pf},513:{f:oo},515:{f:_f},516:{f:cf},517:{f:yf},519:{f:co},520:{f:Js},523:{},545:{f:Uf},549:{f:Qs},566:{},574:{f:tf},638:{f:mf},659:{},1048:{},1054:{f:uf},1084:{},1212:{f:Mf},2048:{f:Jf},2049:{},2050:{},2051:{},2052:{},2053:{},2054:{},2055:{},2056:{},2057:{f:Bs},2058:{},2059:{},2060:{},2061:{},2062:{},2063:{},2064:{},2066:{},2067:{},2128:{},2129:{},2130:{},2131:{},2132:{},2133:{},2134:{},2135:{},2136:{},2137:{},2138:{},2146:{},2147:{r:12},2148:{},2149:{},2150:{},2151:{f:Ki},2152:{},2154:{},2155:{},2156:{},2161:{},2162:{},2164:{},2165:{},2166:{},2167:{},2168:{},2169:{},2170:{},2171:{},2172:{f:to,r:12},2173:{f:Uc,r:12},2174:{},2175:{},2180:{},2181:{},2182:{},2183:{},2184:{},2185:{},2186:{},2187:{},2188:{f:Zi,r:12},2189:{},2190:{r:12},2191:{},2192:{},2194:{},2195:{},2196:{f:Lf,r:12},2197:{},2198:{f:Nc,r:12},2199:{},2200:{},2201:{},2202:{f:Bf,r:12},2203:{f:Ki},2204:{},2205:{},2206:{},2207:{},2211:{f:qs},2212:{},2213:{},2214:{},2215:{},4097:{},4098:{},4099:{},4102:{},4103:{},4105:{},4106:{},4107:{},4108:{},4109:{},4116:{},4117:{},4118:{},4119:{},4120:{},4121:{},4122:{},4123:{},4124:{},4125:{},4126:{},4127:{},4128:{},4129:{},4130:{},4132:{},4133:{},4134:{f:es},4135:{},4146:{},4147:{},4148:{},4149:{},4154:{},4156:{},4157:{},4158:{},4159:{},4160:{},4161:{},4163:{},4164:{f:so},4165:{},4166:{},4168:{},4170:{},4171:{},4174:{},4175:{},4176:{},4177:{},4187:{},4188:{f:eo},4189:{},4191:{},4192:{},4193:{},4194:{},4195:{},4196:{},4197:{},4198:{},4199:{},4200:{},0:{f:pf},1:{},2:{f:go},3:{f:vo},4:{f:uo},5:{f:yf},7:{f:bo},8:{},9:{f:Bs},11:{},22:{f:es},30:{f:vf},31:{},32:{},33:{f:Uf},36:{},37:{f:Qs},50:{f:wo},62:{},52:{},67:{},68:{f:es},69:{},86:{},126:{},127:{f:ho},135:{},136:{},137:{},145:{},148:{},149:{},150:{},169:{},171:{},188:{},191:{},192:{},194:{},195:{},214:{f:ko},223:{},234:{},354:{},421:{},518:{f:vd},521:{f:Bs},536:{f:Df},547:{f:If},561:{},579:{},1030:{f:vd},1033:{f:Bs},1091:{},2157:{},2163:{},2177:{},2240:{},2241:{},2242:{},2243:{},2244:{},2245:{},2246:{},2247:{},2248:{},2249:{},2250:{},2251:{},2262:{r:12},29282:{}};function bm(e,r,t,a){var n=r;if(isNaN(n))return;var i=a||(t||[]).length||0;var s=e.next(4);s._W(2,n);s._W(2,i);if(i>0&&Jt(t))e.push(t)}function wm(e,r,t,a){var n=a||(t||[]).length||0;if(n<=8224)return bm(e,r,t,n);var i=r;if(isNaN(i))return;var s=t.parts||[],f=0;var o=0,l=0;while(l+(s[f]||8224)<=8224){l+=s[f]||8224;f++}var c=e.next(4);c._W(2,i);c._W(2,l);e.push(t.slice(o,o+l));o+=l;while(o=0&&n<65536)bm(e,2,mo(t,a,n));else bm(e,3,po(t,a,n));return;case"b":;case"e":bm(e,5,Tm(t,a,r.v,r.t));return;case"s":;case"str":bm(e,4,Am(t,a,(r.v||"").slice(0,255)));return;}bm(e,1,km(null,t,a))}function Cm(e,r,t,a){var n=Array.isArray(r);var i=Da(r["!ref"]||"A1"),s,f="",o=[];if(i.e.c>255||i.e.r>16383){if(a.WTF)throw new Error("Range "+(r["!ref"]||"A1")+" exceeds format limit A1:IV16384");i.e.c=Math.min(i.e.c,255);i.e.r=Math.min(i.e.c,16383);s=Na(i)}for(var l=i.s.r;l<=i.e.r;++l){f=Ta(l);for(var c=i.s.c;c<=i.e.c;++c){if(l===i.s.r)o[c]=ya(c);s=o[c]+f;var h=n?(r[l]||[])[c]:r[s];if(!h)continue;Em(e,h,l,c,a)}}}function ym(e,r){var t=r||{};if(g!=null&&t.dense==null)t.dense=g;var a=va();var n=0;for(var i=0;i255||d.e.r>=v){if(r.WTF)throw new Error("Range "+(i["!ref"]||"A1")+" exceeds format limit A1:IV16384");d.e.c=Math.min(d.e.c,255);d.e.r=Math.min(d.e.c,v-1)}bm(a,2057,Ws(t,16,r));bm(a,13,rs(1));bm(a,12,rs(100));bm(a,15,Qi(true));bm(a,17,Qi(false));bm(a,16,vn(.001));bm(a,95,Qi(true));bm(a,42,Qi(false));bm(a,43,Qi(false));bm(a,130,rs(1));bm(a,128,Cf([0,0]));bm(a,131,Qi(false));bm(a,132,Qi(false));if(l)Im(a,i["!cols"]);bm(a,512,gf(d,r));if(l)i["!links"]=[];for(var p=d.s.r;p<=d.e.r;++p){h=Ta(p);for(var g=d.s.c;g<=d.e.c;++g){if(p===d.s.r)u[g]=ya(g);c=u[g]+h;var m=o?(i[p]||[])[g]:i[c];if(!m)continue;Nm(a,m,p,g,r);if(l&&m.l)i["!links"].push([c,m.l])}}var b=f.CodeName||f.name||n;if(l)bm(a,574,af((s.Views||[])[0]));if(l&&(i["!merges"]||[]).length)bm(a,229,Vf(i["!merges"]));if(l)Rm(a,i);bm(a,442,hs(b,r));if(l)xm(a,i);bm(a,10);return a.end()}function Fm(e,r,t){var a=va();var n=(e||{}).Workbook||{};var i=n.Sheets||[];var s=n.WBProps||{};var f=t.biff==8,o=t.biff==5;bm(a,2057,Ws(e,5,t));if(t.bookType=="xla")bm(a,135);bm(a,225,f?rs(1200):null);bm(a,193,Ji(2));if(o)bm(a,191);if(o)bm(a,192);bm(a,226);bm(a,92,Vs("SheetJS",t));bm(a,66,rs(f?1200:1252));if(f)bm(a,353,rs(0));if(f)bm(a,448);bm(a,317,fo(e.SheetNames.length));if(f&&e.vbaraw)bm(a,211);if(f&&e.vbaraw){var l=s.CodeName||"ThisWorkbook";bm(a,442,hs(l,t))}bm(a,156,rs(17));bm(a,25,Qi(false));bm(a,18,Qi(false));bm(a,19,rs(0));if(f)bm(a,431,Qi(false));if(f)bm(a,444,rs(0));bm(a,61,rf(t));bm(a,64,Qi(false));bm(a,141,rs(0));bm(a,34,Qi(Yp(e)=="true"));bm(a,14,Qi(true));if(f)bm(a,439,Qi(false));bm(a,218,rs(0));Sm(a,e,t);_m(a,e.SSF,t);Om(a,t);if(f)bm(a,352,Qi(false));var c=a.end();var h=va();if(f)bm(h,140,Qf());if(f&&t.Strings)wm(h,252,Ys(t.Strings,t));bm(h,10);var u=h.end();var d=va();var v=0,p=0;for(p=0;p255){if(typeof console!="undefined"&&console.error)console.error("Worksheet '"+e.SheetNames[t]+"' extends beyond column IV (255). Data may be lost.")}}var i=r||{};switch(i.biff||2){case 8:;case 5:return Pm(e,r);case 4:;case 3:;case 2:return ym(e,r);}throw new Error("invalid type "+i.bookType+" for BIFF")}function Mm(e,r){var t=r||{};if(g!=null&&t.dense==null)t.dense=g;var a=t.dense?[]:{};e=e.replace(//g,"");var n=e.match(/");var i=e.match(/<\/table/i);var s=n.index,f=i&&i.index||e.length;var o=Er(e.slice(s,f),/(:?]*>)/i,"");var l=-1,c=0,h=0,u=0;var d={s:{r:1e7,c:1e7},e:{r:0,c:0}};var v=[];for(s=0;s/i);for(f=0;f"))>-1)k=k.slice(T+1);for(var A=0;A")));u=C.colspan?+C.colspan:1;if((h=+C.rowspan)>1||u>1)v.push({s:{r:l,c:c},e:{r:l+(h||1)-1,c:c+u-1}});var y=C.t||C["data-t"]||"";if(!k.length){c+=u;continue}k=ut(k);if(d.s.r>l)d.s.r=l;if(d.e.rc)d.s.c=c;if(d.e.ct||n[l].s.c>s)continue;if(n[l].e.r1)d.rowspan=f;if(o>1)d.colspan=o;if(a.editable)u=''+u+"";else if(h){d["data-t"]=h&&h.t||"z";if(h.v!=null)d["data-v"]=h.v;if(h.z!=null)d["data-z"]=h.z;if(h.l&&(h.l.Target||"#").charAt(0)!="#")u=''+u+""}d.id=(a.id||"sjs")+"-"+c;i.push(kt("td",u,d))}var v="";return v+i.join("")+""}var Bm='SheetJS Table Export';var Wm="";function Hm(e,r){var t=e.match(/[\s\S]*?<\/table>/gi);if(!t||t.length==0)throw new Error("Invalid HTML: could not find
    ");if(t.length==1)return La(Mm(t[0],r),r);var a=Nw();t.forEach(function(e,t){Dw(a,Mm(e,r),"Sheet"+(t+1))});return a}function zm(e,r,t){var a=[];return a.join("")+""}function Vm(e,r){var t=r||{};var a=t.header!=null?t.header:Bm;var n=t.footer!=null?t.footer:Wm;var i=[a];var s=Ia(e["!ref"]);t.dense=Array.isArray(e);i.push(zm(e,s,t));for(var f=s.s.r;f<=s.e.r;++f)i.push(Um(e,s,f,t));i.push("
    "+n);return i.join("")}function Gm(e,r,t){var a=t||{};if(g!=null)a.dense=g;var n=0,i=0;if(a.origin!=null){if(typeof a.origin=="number")n=a.origin;else{var s=typeof a.origin=="string"?Oa(a.origin):a.origin;n=s.r;i=s.c}}var f=r.getElementsByTagName("tr"); +var o=Math.min(a.sheetRows||1e7,f.length);var l={s:{r:0,c:0},e:{r:n,c:i}};if(e["!ref"]){var c=Ia(e["!ref"]);l.s.r=Math.min(l.s.r,c.s.r);l.s.c=Math.min(l.s.c,c.s.c);l.e.r=Math.max(l.e.r,c.e.r);l.e.c=Math.max(l.e.c,c.e.c);if(n==-1)l.e.r=n=c.e.r+1}var h=[],u=0;var d=e["!rows"]||(e["!rows"]=[]);var v=0,p=0,m=0,b=0,w=0,k=0;if(!e["!cols"])e["!cols"]=[];for(;v1||k>1)h.push({s:{r:p+n,c:b+i},e:{r:p+n+(w||1)-1,c:b+i+(k||1)-1}});var _={t:"s",v:C};var x=E.getAttribute("data-t")||E.getAttribute("t")||"";if(C!=null){if(C.length==0)_.t=x||"z";else if(a.raw||C.trim().length==0||x=="s"){}else if(C==="TRUE")_={t:"b",v:true};else if(C==="FALSE")_={t:"b",v:false};else if(!isNaN(kr(C)))_={t:"n",v:kr(C)};else if(!isNaN(Ar(C).getDate())){_={t:"d",v:gr(C)};if(!a.cellDates)_={t:"n",v:fr(_.v)};_.z=a.dateNF||X[14]}}if(_.z===undefined&&y!=null)_.z=y;var O="",R=E.getElementsByTagName("A");if(R&&R.length)for(var I=0;I=o)e["!fullref"]=Na((l.e.r=f.length-v+p-1+n,l));return e}function jm(e,r){var t=r||{};var a=t.dense?[]:{};return Gm(a,e,r)}function Xm(e,r){return La(jm(e,r),r)}function $m(e){var r="";var t=Ym(e);if(t)r=t(e).getPropertyValue("display");if(!r)r=e.style&&e.style.display;return r==="none"}function Ym(e){if(e.ownerDocument.defaultView&&typeof e.ownerDocument.defaultView.getComputedStyle==="function")return e.ownerDocument.defaultView.getComputedStyle;if(typeof getComputedStyle==="function")return getComputedStyle;return null}function Km(e){var r=e.replace(/[\t\r\n]/g," ").trim().replace(/ +/g," ").replace(//g," ").replace(//g,function(e,r){return Array(parseInt(r,10)+1).join(" ")}).replace(/]*\/>/g,"\t").replace(//g,"\n");var t=Yr(r.replace(/<[^>]*>/g,""));return[t]}var Jm={day:["d","dd"],month:["m","mm"],year:["y","yy"],hours:["h","hh"],minutes:["m","mm"],seconds:["s","ss"],"am-pm":["A/P","AM/PM"],"day-of-week":["ddd","dddd"],era:["e","ee"],quarter:["\\Qm",'m\\"th quarter"']};function qm(e,r){var t=r||{};if(g!=null&&t.dense==null)t.dense=g;var a=Et(e);var n=[],i;var s;var f={name:""},o="",l=0;var c;var h;var u={},d=[];var v=t.dense?[]:{};var p,m;var b={value:""};var w="",k=0,T;var A=[];var E=-1,C=-1,y={s:{r:1e6,c:1e7},e:{r:0,c:0}};var S=0;var _={};var x=[],O={},R=0,I=0;var N=[],D=1,F=1;var P=[];var L={Names:[]};var M={};var U=["",""];var B=[],W={};var H="",z=0;var V=false,G=false;var j=0;Ct.lastIndex=0;a=a.replace(//gm,"").replace(//gm,"");while(p=Ct.exec(a))switch(p[3]=p[3].replace(/_.*$/,"")){case"table":;case"工作表":if(p[1]==="/"){if(y.e.c>=y.s.c&&y.e.r>=y.s.r)v["!ref"]=Na(y);else v["!ref"]="A1:A1";if(t.sheetRows>0&&t.sheetRows<=y.e.r){v["!fullref"]=v["!ref"];y.e.r=t.sheetRows-1;v["!ref"]=Na(y)}if(x.length)v["!merges"]=x;if(N.length)v["!rows"]=N;c.name=c["名称"]||c.name;if(typeof JSON!=="undefined")JSON.stringify(c);d.push(c.name);u[c.name]=v;G=false}else if(p[0].charAt(p[0].length-2)!=="/"){c=Gr(p[0],false);E=C=-1;y.s.r=y.s.c=1e7;y.e.r=y.e.c=0;v=t.dense?[]:{};x=[];N=[];G=true}break;case"table-row-group":if(p[1]==="/")--S;else++S;break;case"table-row":;case"行":if(p[1]==="/"){E+=D;D=1;break}h=Gr(p[0],false);if(h["行号"])E=h["行号"]-1;else if(E==-1)E=0;D=+h["number-rows-repeated"]||1;if(D<10)for(j=0;j0)N[E+j]={level:S};C=-1;break;case"covered-table-cell":if(p[1]!=="/")++C;if(t.sheetStubs){if(t.dense){if(!v[E])v[E]=[];v[E][C]={t:"z"}}else v[Ra({r:E,c:C})]={t:"z"}}w="";A=[];break;case"table-cell":;case"数据":if(p[0].charAt(p[0].length-2)==="/"){++C;b=Gr(p[0],false);F=parseInt(b["number-columns-repeated"]||"1",10);m={t:"z",v:null};if(b.formula&&t.cellFormula!=false)m.f=Cd(Yr(b.formula));if((b["数据类型"]||b["value-type"])=="string"){m.t="s";m.v=Yr(b["string-value"]||"");if(t.dense){if(!v[E])v[E]=[];v[E][C]=m}else{v[Ra({r:E,c:C})]=m}}C+=F-1}else if(p[1]!=="/"){++C;w="";k=0;A=[];F=1;var X=D?E+D-1:E;if(C>y.e.c)y.e.c=C;if(Cy.e.r)y.e.r=X;b=Gr(p[0],false);B=[];W={};m={t:b["数据类型"]||b["value-type"],v:null};if(t.cellFormula){if(b.formula)b.formula=Yr(b.formula);if(b["number-matrix-columns-spanned"]&&b["number-matrix-rows-spanned"]){R=parseInt(b["number-matrix-rows-spanned"],10)||0;I=parseInt(b["number-matrix-columns-spanned"],10)||0;O={s:{r:E,c:C},e:{r:E+R-1,c:C+I-1}};m.F=Na(O);P.push([O,m.F])}if(b.formula)m.f=Cd(b.formula);else for(j=0;j=P[j][0].s.r&&E<=P[j][0].e.r)if(C>=P[j][0].s.c&&C<=P[j][0].e.c)m.F=P[j][1]}if(b["number-columns-spanned"]||b["number-rows-spanned"]){R=parseInt(b["number-rows-spanned"],10)||0;I=parseInt(b["number-columns-spanned"],10)||0;O={s:{r:E,c:C},e:{r:E+R-1,c:C+I-1}};x.push(O)}if(b["number-columns-repeated"])F=parseInt(b["number-columns-repeated"],10);switch(m.t){case"boolean":m.t="b";m.v=nt(b["boolean-value"]);break;case"float":m.t="n";m.v=parseFloat(b.value);break;case"percentage":m.t="n";m.v=parseFloat(b.value);break;case"currency":m.t="n";m.v=parseFloat(b.value);break;case"date":m.t="d";m.v=gr(b["date-value"]);if(!t.cellDates){m.t="n";m.v=fr(m.v)}m.z="m/d/yy";break;case"time":m.t="n";m.v=ur(b["time-value"])/86400;if(t.cellDates){m.t="d";m.v=hr(m.v)}m.z="HH:MM:SS";break;case"number":m.t="n";m.v=parseFloat(b["数据数值"]);break;default:if(m.t==="string"||m.t==="text"||!m.t){m.t="s";if(b["string-value"]!=null){w=Yr(b["string-value"]);A=[]}}else throw new Error("Unsupported value type "+m.t);}}else{V=false;if(m.t==="s"){m.v=w||"";if(A.length)m.R=A;V=k==0}if(M.Target)m.l=M;if(B.length>0){m.c=B;B=[]}if(w&&t.cellText!==false)m.w=w;if(V){m.t="z";delete m.v}if(!V||t.sheetStubs){if(!(t.sheetRows&&t.sheetRows<=E)){for(var $=0;$0)v[E+$][C+F]=br(m)}else{v[Ra({r:E+$,c:C})]=m;while(--F>0)v[Ra({r:E+$,c:C+F})]=br(m)}if(y.e.c<=C)y.e.c=C}}}F=parseInt(b["number-columns-repeated"]||"1",10);C+=F-1;F=0;m={};w="";A=[]}M={};break;case"document":;case"document-content":;case"电子表格文档":;case"spreadsheet":;case"主体":;case"scripts":;case"styles":;case"font-face-decls":;case"master-styles":if(p[1]==="/"){if((i=n.pop())[0]!==p[3])throw"Bad state: "+i}else if(p[0].charAt(p[0].length-2)!=="/")n.push([p[3],true]);break;case"annotation":if(p[1]==="/"){if((i=n.pop())[0]!==p[3])throw"Bad state: "+i;W.t=w;if(A.length)W.R=A;W.a=H;B.push(W)}else if(p[0].charAt(p[0].length-2)!=="/"){n.push([p[3],false])}H="";z=0;w="";k=0;A=[];break;case"creator":if(p[1]==="/"){H=a.slice(z,p.index)}else z=p.index+p[0].length;break;case"meta":;case"元数据":;case"settings":;case"config-item-set":;case"config-item-map-indexed":;case"config-item-map-entry":;case"config-item-map-named":;case"shapes":;case"frame":;case"text-box":;case"image":;case"data-pilot-tables":;case"list-style":;case"form":;case"dde-links":;case"event-listeners":;case"chart":if(p[1]==="/"){if((i=n.pop())[0]!==p[3])throw"Bad state: "+i}else if(p[0].charAt(p[0].length-2)!=="/")n.push([p[3],false]);w="";k=0;A=[];break;case"scientific-number":break;case"currency-symbol":break;case"currency-style":break;case"number-style":;case"percentage-style":;case"date-style":;case"time-style":if(p[1]==="/"){_[f.name]=o;if((i=n.pop())[0]!==p[3])throw"Bad state: "+i}else if(p[0].charAt(p[0].length-2)!=="/"){o="";f=Gr(p[0],false);n.push([p[3],true])}break;case"script":break;case"libraries":break;case"automatic-styles":break;case"default-style":;case"page-layout":break;case"style":break;case"map":break;case"font-face":break;case"paragraph-properties":break;case"table-properties":break;case"table-column-properties":break;case"table-row-properties":break;case"table-cell-properties":break;case"number":switch(n[n.length-1][0]){case"time-style":;case"date-style":s=Gr(p[0],false);o+=Jm[p[3]][s.style==="long"?1:0];break;}break;case"fraction":break;case"day":;case"month":;case"year":;case"era":;case"day-of-week":;case"week-of-year":;case"quarter":;case"hours":;case"minutes":;case"seconds":;case"am-pm":switch(n[n.length-1][0]){case"time-style":;case"date-style":s=Gr(p[0],false);o+=Jm[p[3]][s.style==="long"?1:0];break;}break;case"boolean-style":break;case"boolean":break;case"text-style":break;case"text":if(p[0].slice(-2)==="/>")break;else if(p[1]==="/")switch(n[n.length-1][0]){case"number-style":;case"date-style":;case"time-style":o+=a.slice(l,p.index);break;}else l=p.index+p[0].length;break;case"named-range":s=Gr(p[0],false);U=Sd(s["cell-range-address"]);var Y={Name:s.name,Ref:U[0]+"!"+U[1]};if(G)Y.Sheet=d.length;L.Names.push(Y);break;case"text-content":break;case"text-properties":break;case"embedded-text":break;case"body":;case"电子表格":break;case"forms":break;case"table-column":break;case"table-header-rows":break;case"table-rows":break;case"table-column-group":break;case"table-header-columns":break;case"table-columns":break;case"null-date":break;case"graphic-properties":break;case"calculation-settings":break;case"named-expressions":break;case"label-range":break;case"label-ranges":break;case"named-expression":break;case"sort":break;case"sort-by":break;case"sort-groups":break;case"tab":break;case"line-break":break;case"span":break;case"p":;case"文本串":if(["master-styles"].indexOf(n[n.length-1][0])>-1)break;if(p[1]==="/"&&(!b||!b["string-value"])){var K=Km(a.slice(k,p.index),T);w=(w.length>0?w+"\n":"")+K[0]}else{T=Gr(p[0],false);k=p.index+p[0].length}break;case"s":break;case"database-range":if(p[1]==="/")break;try{U=Sd(Gr(p[0])["target-range-address"]);u[U[0]]["!autofilter"]={ref:U[1]}}catch(J){}break;case"date":break;case"object":break;case"title":;case"标题":break;case"desc":break;case"binary-data":break;case"table-source":break;case"scenario":break;case"iteration":break;case"content-validations":break;case"content-validation":break;case"help-message":break;case"error-message":break;case"database-ranges":break;case"filter":break;case"filter-and":break;case"filter-or":break;case"filter-condition":break;case"list-level-style-bullet":break;case"list-level-style-number":break;case"list-level-properties":break;case"sender-firstname":;case"sender-lastname":;case"sender-initials":;case"sender-title":;case"sender-position":;case"sender-email":;case"sender-phone-private":;case"sender-fax":;case"sender-company":;case"sender-phone-work":;case"sender-street":;case"sender-city":;case"sender-postal-code":;case"sender-country":;case"sender-state-or-province":;case"author-name":;case"author-initials":;case"chapter":;case"file-name":;case"template-name":;case"sheet-name":break;case"event-listener":break;case"initial-creator":;case"creation-date":;case"print-date":;case"generator":;case"document-statistic":;case"user-defined":;case"editing-duration":;case"editing-cycles":break;case"config-item":break;case"page-number":break;case"page-count":break;case"time":break;case"cell-range-source":break;case"detective":break;case"operation":break;case"highlighted-range":break;case"data-pilot-table":;case"source-cell-range":;case"source-service":;case"data-pilot-field":;case"data-pilot-level":;case"data-pilot-subtotals":;case"data-pilot-subtotal":;case"data-pilot-members":;case"data-pilot-member":;case"data-pilot-display-info":;case"data-pilot-sort-info":;case"data-pilot-layout-info":;case"data-pilot-field-reference":;case"data-pilot-groups":;case"data-pilot-group":;case"data-pilot-group-member":break;case"rect":break;case"dde-connection-decls":;case"dde-connection-decl":;case"dde-link":;case"dde-source":break;case"properties":break;case"property":break;case"a":if(p[1]!=="/"){M=Gr(p[0],false);if(!M.href)break;M.Target=Yr(M.href);delete M.href;if(M.Target.charAt(0)=="#"&&M.Target.indexOf(".")>-1){U=Sd(M.Target.slice(1));M.Target="#"+U[0]+"!"+U[1]}else if(M.Target.match(/^\.\.[\\\/]/))M.Target=M.Target.slice(3)}break;case"table-protection":break;case"data-pilot-grand-total":break;case"office-document-common-attrs":break;default:switch(p[2]){case"dc:":;case"calcext:":;case"loext:":;case"ooo:":;case"chartooo:":;case"draw:":;case"style:":;case"chart:":;case"form:":;case"uof:":;case"表:":;case"字:":break;default:if(t.WTF)throw new Error(p);};}var q={Sheets:u,SheetNames:d,Workbook:L};if(t.bookSheets)delete q.Sheets;return q}function Zm(e,r){r=r||{};if(_r(e,"META-INF/manifest.xml"))ai(Or(e,"META-INF/manifest.xml"),r);var t=Rr(e,"content.xml");if(!t)throw new Error("Missing content.xml in ODS / UOF file");var a=qm(lt(t),r);if(_r(e,"meta.xml"))a.Props=hi(Or(e,"meta.xml"));return a}function Qm(e,r){return qm(e,r)}var eb=function(){var e=["",'',"",'',"",'',"",""].join("");var r=""+e+"";return function t(){return Mr+r}}();var rb=function(){var e=function(e){return qr(e).replace(/ +/g,function(e){return''}).replace(/\t/g,"").replace(/\n/g,"").replace(/^ /,"").replace(/ $/,"")};var r=" \n";var t=" \n";var a=function(a,n,i){var s=[];s.push(' \n');var f=0,o=0,l=Ia(a["!ref"]||"A1");var c=a["!merges"]||[],h=0;var u=Array.isArray(a);if(a["!cols"]){for(o=0;o<=l.e.c;++o)s.push(" \n")}var d="",v=a["!rows"]||[];for(f=0;f\n")}for(;f<=l.e.r;++f){d=v[f]?' table:style-name="ro'+v[f].ods+'"':"";s.push(" \n");for(o=0;oo)continue;if(c[h].s.r>f)continue;if(c[h].e.c\n")}s.push(" \n");return s.join("")};var n=function(e,r){e.push(" \n");e.push(' \n');e.push(' \n');e.push(" /\n");e.push(' \n');e.push(" /\n");e.push(" \n");e.push(" \n");var t=0;r.SheetNames.map(function(e){return r.Sheets[e]}).forEach(function(r){if(!r)return;if(r["!cols"]){for(var a=0;a\n');e.push(' \n');e.push(" \n");++t}}});var a=0;r.SheetNames.map(function(e){return r.Sheets[e]}).forEach(function(r){if(!r)return;if(r["!rows"]){for(var t=0;t\n');e.push(' \n');e.push(" \n");++a}}});e.push(' \n');e.push(' \n');e.push(" \n");e.push(' \n');e.push(" \n")};return function i(e,r){var t=[Mr];var i=wt({"xmlns:office":"urn:oasis:names:tc:opendocument:xmlns:office:1.0","xmlns:table":"urn:oasis:names:tc:opendocument:xmlns:table:1.0","xmlns:style":"urn:oasis:names:tc:opendocument:xmlns:style:1.0","xmlns:text":"urn:oasis:names:tc:opendocument:xmlns:text:1.0","xmlns:draw":"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0","xmlns:fo":"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0","xmlns:xlink":"http://www.w3.org/1999/xlink","xmlns:dc":"http://purl.org/dc/elements/1.1/","xmlns:meta":"urn:oasis:names:tc:opendocument:xmlns:meta:1.0","xmlns:number":"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0","xmlns:presentation":"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0","xmlns:svg":"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0","xmlns:chart":"urn:oasis:names:tc:opendocument:xmlns:chart:1.0","xmlns:dr3d":"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0","xmlns:math":"http://www.w3.org/1998/Math/MathML","xmlns:form":"urn:oasis:names:tc:opendocument:xmlns:form:1.0","xmlns:script":"urn:oasis:names:tc:opendocument:xmlns:script:1.0","xmlns:ooo":"http://openoffice.org/2004/office","xmlns:ooow":"http://openoffice.org/2004/writer","xmlns:oooc":"http://openoffice.org/2004/calc","xmlns:dom":"http://www.w3.org/2001/xml-events","xmlns:xforms":"http://www.w3.org/2002/xforms","xmlns:xsd":"http://www.w3.org/2001/XMLSchema","xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","xmlns:sheet":"urn:oasis:names:tc:opendocument:sh33tjs:1.0","xmlns:rpt":"http://openoffice.org/2005/report","xmlns:of":"urn:oasis:names:tc:opendocument:xmlns:of:1.2","xmlns:xhtml":"http://www.w3.org/1999/xhtml","xmlns:grddl":"http://www.w3.org/2003/g/data-view#","xmlns:tableooo":"http://openoffice.org/2009/table","xmlns:drawooo":"http://openoffice.org/2010/draw","xmlns:calcext":"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0","xmlns:loext":"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0","xmlns:field":"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0","xmlns:formx":"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0","xmlns:css3t":"http://www.w3.org/TR/css3-text/","office:version":"1.2"});var s=wt({"xmlns:config":"urn:oasis:names:tc:opendocument:xmlns:config:1.0","office:mimetype":"application/vnd.oasis.opendocument.spreadsheet"});if(r.bookType=="fods"){t.push("\n");t.push(oi().replace(/office:document-meta/g,"office:meta"))}else t.push("\n");n(t,e);t.push(" \n");t.push(" \n");for(var f=0;f!=e.SheetNames.length;++f)t.push(a(e.Sheets[e.SheetNames[f]],e,f,r));t.push(" \n");t.push(" \n");if(r.bookType=="fods")t.push("");else t.push("");return t.join("")}}();function tb(e,r){if(r.bookType=="fods")return rb(e,r);var t=Fr();var a="";var n=[];var i=[];a="mimetype";Dr(t,a,"application/vnd.oasis.opendocument.spreadsheet");a="content.xml";Dr(t,a,rb(e,r));n.push([a,"text/xml"]);i.push([a,"ContentFile"]);a="styles.xml";Dr(t,a,eb(e,r));n.push([a,"text/xml"]);i.push([a,"StylesFile"]);a="meta.xml";Dr(t,a,Mr+oi());n.push([a,"text/xml"]);i.push([a,"MetadataFile"]);a="manifest.rdf";Dr(t,a,fi(i));n.push([a,"application/rdf+xml"]);a="META-INF/manifest.xml";Dr(t,a,ni(n));return t}function ab(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function nb(e){return typeof TextDecoder!="undefined"?(new TextDecoder).decode(e):lt(_(e))}function ib(e){return typeof TextEncoder!="undefined"?(new TextEncoder).encode(e):y(ct(e))}function sb(e,r){e:for(var t=0;t<=e.length-r.length;++t){for(var a=0;a>1&1431655765;e=(e&858993459)+(e>>2&858993459);return(e+(e>>4)&252645135)*16843009>>>24}function lb(e,r){var t=(e[r+15]&127)<<7|e[r+14]>>1;var a=e[r+14]&1;for(var n=r+13;n>=r;--n)a=a*256+e[n];return(e[r+15]&128?-a:a)*Math.pow(10,t-6176)}function cb(e,r,t){var a=Math.floor(t==0?0:Math.LOG10E*Math.log(Math.abs(t)))+6176-20;var n=t/Math.pow(10,a-6176);e[r+15]|=a>>7;e[r+14]|=(a&127)<<1;for(var i=0;n>=1;++i,n/=256)e[r+i]=n&255;e[r+15]|=t>=0?0:128}function hb(e,r){var t=r?r[0]:0;var a=e[t]&127;e:if(e[t++]>=128){a|=(e[t]&127)<<7;if(e[t++]<128)break e;a|=(e[t]&127)<<14;if(e[t++]<128)break e;a|=(e[t]&127)<<21;if(e[t++]<128)break e;a+=(e[t]&127)*Math.pow(2,28);++t;if(e[t++]<128)break e;a+=(e[t]&127)*Math.pow(2,35);++t;if(e[t++]<128)break e;a+=(e[t]&127)*Math.pow(2,42);++t;if(e[t++]<128)break e}if(r)r[0]=t;return a}function ub(e){var r=new Uint8Array(7);r[0]=e&127;var t=1;e:if(e>127){r[t-1]|=128;r[t]=e>>7&127;++t;if(e<=16383)break e;r[t-1]|=128;r[t]=e>>14&127;++t;if(e<=2097151)break e;r[t-1]|=128;r[t]=e>>21&127;++t;if(e<=268435455)break e;r[t-1]|=128;r[t]=e/256>>>21&127;++t;if(e<=34359738367)break e;r[t-1]|=128;r[t]=e/65536>>>21&127;++t;if(e<=4398046511103)break e;r[t-1]|=128;r[t]=e/16777216>>>21&127;++t}return r.slice(0,t)}function db(e){var r=0,t=e[r]&127;e:if(e[r++]>=128){t|=(e[r]&127)<<7;if(e[r++]<128)break e;t|=(e[r]&127)<<14;if(e[r++]<128)break e;t|=(e[r]&127)<<21;if(e[r++]<128)break e;t|=(e[r]&127)<<28}return t}function vb(e){var r=[],t=[0];while(t[0]=128);f=e.slice(o,t[0])}break;case 5:s=4;f=e.slice(t[0],t[0]+s);t[0]+=s;break;case 1:s=8;f=e.slice(t[0],t[0]+s);t[0]+=s;break;case 2:s=hb(e,t);f=e.slice(t[0],t[0]+s);t[0]+=s;break;case 3:;case 4:;default:throw new Error("PB Type ".concat(i," for Field ").concat(n," at offset ").concat(a));}var l={data:f,type:i};if(r[n]==null)r[n]=[l];else r[n].push(l)}return r}function pb(e){var r=[];e.forEach(function(e,t){e.forEach(function(e){if(!e.data)return;r.push(ub(t*8+e.type));if(e.type==2)r.push(ub(e.data.length));r.push(e.data)})});return fb(r)}function gb(e,r){return(e==null?void 0:e.map(function(e){return r(e.data)}))||[]}function mb(e){var r;var t=[],a=[0];while(a[0]>>0>0;t.push(s)}return t}function bb(e){var r=[];e.forEach(function(e){var t=[];t[1]=[{data:ub(e.id),type:0}];t[2]=[];if(e.merge!=null)t[3]=[{data:ub(+!!e.merge),type:0}];var a=[];e.messages.forEach(function(e){a.push(e.data);e.meta[3]=[{type:0,data:ub(e.data.length)}];t[2].push({data:pb(e.meta),type:2})});var n=pb(t);r.push(ub(n.length));r.push(n);a.forEach(function(e){return r.push(e)})});return fb(r)}function wb(e,r){if(e!=0)throw new Error("Unexpected Snappy chunk type ".concat(e));var t=[0];var a=hb(r,t);var n=[];while(t[0]>2;if(s<60)++s;else{var f=s-59;s=r[t[0]];if(f>1)s|=r[t[0]+1]<<8;if(f>2)s|=r[t[0]+2]<<16;if(f>3)s|=r[t[0]+3]<<24;s>>>=0;s++;t[0]+=f}n.push(r.slice(t[0],t[0]+s));t[0]+=s;continue}else{var o=0,l=0;if(i==1){l=(r[t[0]]>>2&7)+4;o=(r[t[0]++]&224)<<3;o|=r[t[0]++]}else{l=(r[t[0]++]>>2)+1;if(i==2){o=r[t[0]]|r[t[0]+1]<<8;t[0]+=2}else{o=(r[t[0]]|r[t[0]+1]<<8|r[t[0]+2]<<16|r[t[0]+3]<<24)>>>0;t[0]+=4}}n=[fb(n)];if(o==0)throw new Error("Invalid offset 0");if(o>n[0].length)throw new Error("Invalid offset beyond length");if(l>=o){n.push(n[0].slice(-o));l-=o;while(l>=n[n.length-1].length){n.push(n[n.length-1]);l-=n[n.length-1].length}}n.push(n[0].slice(-o,-o+l))}}var c=fb(n);if(c.length!=a)throw new Error("Unexpected length: ".concat(c.length," != ").concat(a));return c}function kb(e){var r=[];var t=0;while(t>8&255]))}else if(a<=16777216){s+=4;r.push(new Uint8Array([248,a-1&255,a-1>>8&255,a-1>>16&255]))}else if(a<=4294967296){s+=5;r.push(new Uint8Array([252,a-1&255,a-1>>8&255,a-1>>16&255,a-1>>>24&255]))}r.push(e.slice(t,t+a));s+=a;n[0]=0;n[1]=s&255;n[2]=s>>8&255;n[3]=s>>16&255;t+=a}return fb(r)}function Ab(e,r,t,a){var n=ab(e);var i=n.getUint32(4,true);var s=(a>1?12:8)+ob(i&(a>1?3470:398))*4;var f=-1,o=-1,l=NaN,c=new Date(2001,0,1);if(i&512){f=n.getUint32(s,true);s+=4}s+=ob(i&(a>1?12288:4096))*4;if(i&16){o=n.getUint32(s,true);s+=4}if(i&32){l=n.getFloat64(s,true);s+=8}if(i&64){c.setTime(c.getTime()+n.getFloat64(s,true)*1e3);s+=8}var h;switch(e[2]){case 0:break;case 2:h={t:"n",v:l};break;case 3:h={t:"s",v:r[o]};break;case 5:h={t:"d",v:c};break;case 6:h={t:"b",v:l>0};break;case 7:h={t:"n",v:l/86400};break;case 8:h={t:"e",v:0};break;case 9:{if(f>-1)h={t:"s",v:t[f]};else if(o>-1)h={t:"s",v:r[o]};else if(!isNaN(l))h={t:"n",v:l};else throw new Error("Unsupported cell type ".concat(e.slice(0,4)))}break;default:throw new Error("Unsupported cell type ".concat(e.slice(0,4)));}return h}function Eb(e,r,t){var a=ab(e);var n=a.getUint32(8,true);var i=12;var s=-1,f=-1,o=NaN,l=NaN,c=new Date(2001,0,1);if(n&1){o=lb(e,i);i+=16}if(n&2){l=a.getFloat64(i,true);i+=8}if(n&4){c.setTime(c.getTime()+a.getFloat64(i,true)*1e3);i+=8}if(n&8){f=a.getUint32(i,true);i+=4}if(n&16){s=a.getUint32(i,true);i+=4}var h;switch(e[1]){case 0:break;case 2:h={t:"n",v:o};break;case 3:h={t:"s",v:r[f]};break;case 5:h={t:"d",v:c};break;case 6:h={t:"b",v:l>0};break;case 7:h={t:"n",v:l/86400};break;case 8:h={t:"e",v:0};break;case 9:{if(s>-1)h={t:"s",v:t[s]};else throw new Error("Unsupported cell type ".concat(e[1]," : ").concat(n&31," : ").concat(e.slice(0,4)))}break;case 10:h={t:"n",v:o};break;default:throw new Error("Unsupported cell type ".concat(e[1]," : ").concat(n&31," : ").concat(e.slice(0,4)));}return h}function Cb(e,r){var t=new Uint8Array(32),a=ab(t),n=12,i=0;t[0]=5;switch(e.t){case"n":t[1]=2;cb(t,n,e.v);i|=1;n+=16;break;case"b":t[1]=6;a.setFloat64(n,e.v?1:0,true);i|=2;n+=8;break;case"s":if(r.indexOf(e.v)==-1)throw new Error("Value ".concat(e.v," missing from SST!"));t[1]=3;a.setUint32(n,r.indexOf(e.v),true);i|=8;n+=4;break;default:throw"unsupported cell type "+e.t;}a.setUint32(8,i,true);return t.slice(0,n)}function yb(e,r){var t=new Uint8Array(32),a=ab(t),n=12,i=0;t[0]=3;switch(e.t){case"n":t[2]=2;a.setFloat64(n,e.v,true);i|=32;n+=8;break;case"b":t[2]=6;a.setFloat64(n,e.v?1:0,true);i|=32;n+=8;break;case"s":if(r.indexOf(e.v)==-1)throw new Error("Value ".concat(e.v," missing from SST!"));t[2]=3;a.setUint32(n,r.indexOf(e.v),true);i|=16;n+=4;break;default:throw"unsupported cell type "+e.t;}a.setUint32(4,i,true);return t.slice(0,n)}function Sb(e,r,t){switch(e[0]){case 0:;case 1:;case 2:;case 3:return Ab(e,r,t,e[0]);case 5:return Eb(e,r,t);default:throw new Error("Unsupported payload version ".concat(e[0]));}}function _b(e){var r=vb(e);return hb(r[1][0].data)}function xb(e){var r=[];r[1]=[{type:0,data:ub(e)}];return pb(r)}function Ob(e,r){var t=vb(r.data);var a=db(t[1][0].data);var n=t[3];var i=[];(n||[]).forEach(function(r){var t=vb(r.data);var n=db(t[1][0].data)>>>0;switch(a){case 1:i[n]=nb(t[3][0].data);break;case 8:{var s=e[_b(t[9][0].data)][0];var f=vb(s.data);var o=e[_b(f[1][0].data)][0];var l=db(o.meta[1][0].data);if(l!=2001)throw new Error("2000 unexpected reference to ".concat(l));var c=vb(o.data);i[n]=c[3].map(function(e){return nb(e.data)}).join("")}break;}});return i}function Rb(e,r){var t,a,n,i,s,f,o,l,c,h,u,d,v,p;var g=vb(e);var m=db(g[1][0].data)>>>0;var b=db(g[2][0].data)>>>0;var w=((a=(t=g[8])==null?void 0:t[0])==null?void 0:a.data)&&db(g[8][0].data)>0||false;var k,T;if(((i=(n=g[7])==null?void 0:n[0])==null?void 0:i.data)&&r!=0){k=(f=(s=g[7])==null?void 0:s[0])==null?void 0:f.data;T=(l=(o=g[6])==null?void 0:o[0])==null?void 0:l.data}else if(((h=(c=g[4])==null?void 0:c[0])==null?void 0:h.data)&&r!=1){k=(d=(u=g[4])==null?void 0:u[0])==null?void 0:d.data;T=(p=(v=g[3])==null?void 0:v[0])==null?void 0:p.data}else throw"NUMBERS Tile missing ".concat(r," cell storage");var A=w?4:1;var E=ab(k);var C=[];for(var y=0;y=1)_[C[C.length-1][0]]=T.subarray(C[C.length-1][1]*A);return{R:m,cells:_}}function Ib(e,r){var t;var a=vb(r.data);var n=((t=a==null?void 0:a[7])==null?void 0:t[0])?db(a[7][0].data)>>>0>0?1:0:-1;var i=gb(a[5],function(e){return Rb(e,n)});return{nrows:db(a[4][0].data)>>>0,data:i.reduce(function(e,r){if(!e[r.R])e[r.R]=[];r.cells.forEach(function(t,a){if(e[r.R][a])throw new Error("Duplicate cell r=".concat(r.R," c=").concat(a));e[r.R][a]=t});return e},[])}}function Nb(e,r,t){var a;var n=vb(r.data);var i={s:{r:0,c:0},e:{r:0,c:0}};i.e.r=(db(n[6][0].data)>>>0)-1;if(i.e.r<0)throw new Error("Invalid row varint ".concat(n[6][0].data));i.e.c=(db(n[7][0].data)>>>0)-1;if(i.e.c<0)throw new Error("Invalid col varint ".concat(n[7][0].data));t["!ref"]=Na(i);var s=vb(n[4][0].data);var f=Ob(e,e[_b(s[4][0].data)][0]); +var o=((a=s[17])==null?void 0:a[0])?Ob(e,e[_b(s[17][0].data)][0]):[];var l=vb(s[3][0].data);var c=0;l[1].forEach(function(r){var a=vb(r.data);var n=e[_b(a[2][0].data)][0];var i=db(n.meta[1][0].data);if(i!=6002)throw new Error("6001 unexpected reference to ".concat(i));var s=Ib(e,n);s.data.forEach(function(e,r){e.forEach(function(e,a){var n=Ra({r:c+r,c:a});var i=Sb(e,f,o);if(i)t[n]=i})});c+=s.nrows})}function Db(e,r){var t=vb(r.data);var a={"!ref":"A1"};var n=e[_b(t[2][0].data)];var i=db(n[0].meta[1][0].data);if(i!=6001)throw new Error("6000 unexpected reference to ".concat(i));Nb(e,n[0],a);return a}function Fb(e,r){var t;var a=vb(r.data);var n={name:((t=a[1])==null?void 0:t[0])?nb(a[1][0].data):"",sheets:[]};var i=gb(a[2],_b);i.forEach(function(r){e[r].forEach(function(r){var t=db(r.meta[1][0].data);if(t==6e3)n.sheets.push(Db(e,r))})});return n}function Pb(e,r){var t=Nw();var a=vb(r.data);var n=gb(a[1],_b);n.forEach(function(r){e[r].forEach(function(r){var a=db(r.meta[1][0].data);if(a==2){var n=Fb(e,r);n.sheets.forEach(function(e,r){Dw(t,e,r==0?n.name:n.name+"_"+r,true)})}})});if(t.SheetNames.length==0)throw new Error("Empty NUMBERS file");return t}function Lb(e){var r,t,a,n;var i={},s=[];e.FullPaths.forEach(function(e){if(e.match(/\.iwpv2/))throw new Error("Unsupported password protection")});e.FileIndex.forEach(function(e){if(!e.name.match(/\.iwa$/))return;var r;try{r=kb(e.content)}catch(t){return console.log("?? "+e.content.length+" "+(t.message||t))}var a;try{a=mb(r)}catch(t){return console.log("## "+(t.message||t))}a.forEach(function(e){i[e.id]=e.messages;s.push(e.id)})});if(!s.length)throw new Error("File has no messages");var f=((n=(a=(t=(r=i==null?void 0:i[1])==null?void 0:r[0])==null?void 0:t.meta)==null?void 0:a[1])==null?void 0:n[0].data)&&db(i[1][0].meta[1][0].data)==1&&i[1][0];if(!f)s.forEach(function(e){i[e].forEach(function(e){var r=db(e.meta[1][0].data)>>>0;if(r==1){if(!f)f=e;else throw new Error("Document has multiple roots")}})});if(!f)throw new Error("Cannot find Document root");return Pb(i,f)}function Mb(e,r,t){var a,n,i,s;if(!((a=e[6])==null?void 0:a[0])||!((n=e[7])==null?void 0:n[0]))throw"Mutation only works on post-BNC storages!";var f=((s=(i=e[8])==null?void 0:i[0])==null?void 0:s.data)&&db(e[8][0].data)>0||false;if(f)throw"Math only works with normal offsets";var o=0;var l=ab(e[7][0].data),c=0,h=[];var u=ab(e[4][0].data),d=0,v=[];for(var p=0;p1)console.error("The Numbers writer currently writes only the first table");var a=Ia(t["!ref"]);a.s.r=a.s.c=0;var n=false;if(a.e.c>9){n=true;a.e.c=9}if(a.e.r>49){n=true;a.e.r=49}if(n)console.error("The Numbers writer is currently limited to ".concat(Na(a)));var i=Aw(t,{range:a,header:1});var s=["~Sh33tJ5~"];i.forEach(function(e){return e.forEach(function(e){if(typeof e=="string")s.push(e)})});var f={};var o=[];var l=Ke.read(r.numbers,{type:"base64"});l.FileIndex.map(function(e,r){return[e,l.FullPaths[r]]}).forEach(function(e){var r=e[0],t=e[1];if(r.type!=2)return;if(!r.name.match(/\.iwa/))return;var a=r.content;var n=kb(a);var i=mb(n);i.forEach(function(e){o.push(e.id);f[e.id]={deps:[],location:t,type:db(e.messages[0].meta[1][0].data)}})});o.sort(function(e,r){return e-r});var c=o.filter(function(e){return e>1}).map(function(e){return[e,ub(e)]});l.FileIndex.map(function(e,r){return[e,l.FullPaths[r]]}).forEach(function(e){var r=e[0],t=e[1];if(!r.name.match(/\.iwa/))return;var a=mb(kb(r.content));a.forEach(function(e){e.messages.forEach(function(r){c.forEach(function(r){if(e.messages.some(function(e){return db(e.meta[1][0].data)!=11006&&sb(e.data,r[1])})){f[r[0]].deps.push(e.id)}})})})});function h(){for(var e=927262;e<2e6;++e)if(!f[e])return e;throw new Error("Too many messages")}var u=Ke.find(l,f[1].location);var d=mb(kb(u.content));var v;for(var p=0;p-1)return"sheet";if(qn.CS&&e==qn.CS)return"chart";if(qn.DS&&e==qn.DS)return"dialog";if(qn.MS&&e==qn.MS)return"macro";return e&&e.length?e:"sheet"}function Vb(e,r){if(!e)return 0;try{e=r.map(function a(r){if(!r.id)r.id=r.strRelID;return[r.name,e["!id"][r.id].Target,zb(e["!id"][r.id].Type)]})}catch(t){return null}return!e||e.length===0?null:e}function Gb(e,r,t,a,n,i,s,f,o,l,c,h){try{i[a]=Qn(Rr(e,t,true),r);var u=Or(e,r);var d;switch(f){case"sheet":d=pg(u,r,n,o,i[a],l,c,h);break;case"chart":d=gg(u,r,n,o,i[a],l,c,h);if(!d||!d["!drawel"])break;var v=Lr(d["!drawel"].Target,r);var p=Zn(v);var g=th(Rr(e,v,true),Qn(Rr(e,p,true),v));var m=Lr(g,v);var b=Zn(m);d=Pp(Rr(e,m,true),m,o,Qn(Rr(e,b,true),m),l,d);break;case"macro":d=mg(u,r,n,o,i[a],l,c,h);break;case"dialog":d=bg(u,r,n,o,i[a],l,c,h);break;default:throw new Error("Unrecognized sheet type "+f);}s[a]=d;var w=[];if(i&&i[a])rr(i[a]).forEach(function(t){var n="";if(i[a][t].Type==qn.CMNT){n=Lr(i[a][t].Target,r);var s=Ag(Or(e,n,true),n,o);if(!s||!s.length)return;ih(d,s,false)}if(i[a][t].Type==qn.TCMNT){n=Lr(i[a][t].Target,r);w=w.concat(oh(Or(e,n,true),o))}});if(w&&w.length)ih(d,w,true,o.people||[])}catch(k){if(o.WTF)throw k}}function jb(e){return e.charAt(0)=="/"?e.slice(1):e}function Xb(e,r){ze();r=r||{};Wb(r);if(_r(e,"META-INF/manifest.xml"))return Zm(e,r);if(_r(e,"objectdata.xml"))return Zm(e,r);if(_r(e,"Index/Document.iwa")){if(typeof Uint8Array=="undefined")throw new Error("NUMBERS file parsing requires Uint8Array support");if(typeof Lb!="undefined"){if(e.FileIndex)return Lb(e);var t=Ke.utils.cfb_new();Nr(e).forEach(function(r){Dr(t,r,Ir(e,r))});return Lb(t)}throw new Error("Unsupported NUMBERS file")}if(!_r(e,"[Content_Types].xml")){if(_r(e,"index.xml.gz"))throw new Error("Unsupported NUMBERS 08 file");if(_r(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Error("Unsupported ZIP file")}var a=Nr(e);var n=Kn(Rr(e,"[Content_Types].xml"));var i=false;var s,f;if(n.workbooks.length===0){f="xl/workbook.xml";if(Or(e,f,true))n.workbooks.push(f)}if(n.workbooks.length===0){f="xl/workbook.bin";if(!Or(e,f,true))throw new Error("Could not find workbook");n.workbooks.push(f);i=true}if(n.workbooks[0].slice(-3)=="bin")i=true;var o={};var l={};if(!r.bookSheets&&!r.bookProps){xd=[];if(n.sst)try{xd=Tg(Or(e,jb(n.sst)),n.sst,r)}catch(c){if(r.WTF)throw c}if(r.cellStyles&&n.themes.length)o=kg(Rr(e,n.themes[0].replace(/^\//,""),true)||"",n.themes[0],r);if(n.style)l=wg(Or(e,jb(n.style)),n.style,o,r)}n.links.map(function(t){try{var a=Qn(Rr(e,Zn(jb(t))),t);return Cg(Or(e,jb(t)),a,t,r)}catch(n){}});var h=vg(Or(e,jb(n.workbooks[0])),n.workbooks[0],r);var u={},d="";if(n.coreprops.length){d=Or(e,jb(n.coreprops[0]),true);if(d)u=hi(d);if(n.extprops.length!==0){d=Or(e,jb(n.extprops[0]),true);if(d)mi(d,u,r)}}var v={};if(!r.bookSheets||r.bookProps){if(n.custprops.length!==0){d=Rr(e,jb(n.custprops[0]),true);if(d)v=ki(d,r)}}var p={};if(r.bookSheets||r.bookProps){if(h.Sheets)s=h.Sheets.map(function I(e){return e.name});else if(u.Worksheets&&u.SheetNames.length>0)s=u.SheetNames;if(r.bookProps){p.Props=u;p.Custprops=v}if(r.bookSheets&&typeof s!=="undefined")p.SheetNames=s;if(r.bookSheets?p.SheetNames:r.bookProps)return p}s={};var g={};if(r.bookDeps&&n.calcchain)g=Eg(Or(e,jb(n.calcchain)),n.calcchain,r);var m=0;var b={};var w,k;{var T=h.Sheets;u.Worksheets=T.length;u.SheetNames=[];for(var A=0;A!=T.length;++A){u.SheetNames[A]=T[A].name}}var E=i?"bin":"xml";var C=n.workbooks[0].lastIndexOf("/");var y=(n.workbooks[0].slice(0,C+1)+"_rels/"+n.workbooks[0].slice(C+1)+".rels").replace(/^\//,"");if(!_r(e,y))y="xl/_rels/workbook."+E+".rels";var S=Qn(Rr(e,y,true),y.replace(/_rels.*/,"s5s"));if((n.metadata||[]).length>=1){r.xlmeta=yg(Or(e,jb(n.metadata[0])),n.metadata[0],r)}if((n.people||[]).length>=1){r.people=ch(Or(e,jb(n.people[0])),r)}if(S)S=Vb(S,h.Sheets);var _=Or(e,"xl/worksheets/sheet.xml",true)?1:0;e:for(m=0;m!=u.Worksheets;++m){var x="sheet";if(S&&S[m]){w="xl/"+S[m][1].replace(/[\/]?xl\//,"");if(!_r(e,w))w=S[m][1];if(!_r(e,w))w=y.replace(/_rels\/.*$/,"")+S[m][1];x=S[m][2]}else{w="xl/worksheets/sheet"+(m+1-_)+"."+E;w=w.replace(/sheet0\./,"sheet.")}k=w.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels");if(r&&r.sheets!=null)switch(typeof r.sheets){case"number":if(m!=r.sheets)continue e;break;case"string":if(u.SheetNames[m].toLowerCase()!=r.sheets.toLowerCase())continue e;break;default:if(Array.isArray&&Array.isArray(r.sheets)){var O=false;for(var R=0;R!=r.sheets.length;++R){if(typeof r.sheets[R]=="number"&&r.sheets[R]==m)O=1;if(typeof r.sheets[R]=="string"&&r.sheets[R].toLowerCase()==u.SheetNames[m].toLowerCase())O=1}if(!O)continue e};}Gb(e,w,k,u.SheetNames[m],m,b,s,x,r,h,o,l)}p={Directory:n,Workbook:h,Props:u,Custprops:v,Deps:g,Sheets:s,SheetNames:u.SheetNames,Strings:xd,Styles:l,Themes:o,SSF:br(X)};if(r&&r.bookFiles){if(e.files){p.keys=a;p.files=e.files}else{p.keys=[];p.files={};e.FullPaths.forEach(function(r,t){r=r.replace(/^Root Entry[\/]/,"");p.keys.push(r);p.files[r]=e.FileIndex[t]})}}if(r&&r.bookVBA){if(n.vba.length>0)p.vbaraw=Or(e,jb(n.vba[0]),true);else if(n.defaults&&n.defaults.bin===bh)p.vbaraw=Or(e,"xl/vbaProject.bin",true)}return p}function $b(e,r){var t=r||{};var a="Workbook",n=Ke.find(e,a);try{a="/!DataSpaces/Version";n=Ke.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);Ko(n.content);a="/!DataSpaces/DataSpaceMap";n=Ke.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var i=qo(n.content);if(i.length!==1||i[0].comps.length!==1||i[0].comps[0].t!==0||i[0].name!=="StrongEncryptionDataSpace"||i[0].comps[0].v!=="EncryptedPackage")throw new Error("ECMA-376 Encrypted file bad "+a);a="/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace";n=Ke.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var s=Zo(n.content);if(s.length!=1||s[0]!="StrongEncryptionTransform")throw new Error("ECMA-376 Encrypted file bad "+a);a="/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary";n=Ke.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);el(n.content)}catch(f){}a="/EncryptionInfo";n=Ke.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var o=al(n.content);a="/EncryptedPackage";n=Ke.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);if(o[0]==4&&typeof decrypt_agile!=="undefined")return decrypt_agile(o[1],n.content,t.password||"",t);if(o[0]==2&&typeof decrypt_std76!=="undefined")return decrypt_std76(o[1],n.content,t.password||"",t);throw new Error("File is password-protected")}function Yb(e,r){if(r.bookType=="ods")return tb(e,r);if(r.bookType=="numbers")return Ub(e,r);if(r.bookType=="xlsb")return Kb(e,r);return Jb(e,r)}function Kb(e,r){ah=1024;if(e&&!e.SSF){e.SSF=br(X)}if(e&&e.SSF){ze();He(e.SSF);r.revssf=nr(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF}r.rels={};r.wbrels={};r.Strings=[];r.Strings.Count=0;r.Strings.Unique=0;if(Rd)r.revStrings=new Map;else{r.revStrings={};r.revStrings.foo=[];delete r.revStrings.foo}var t=r.bookType=="xlsb"?"bin":"xml";var a=Th.indexOf(r.bookType)>-1;var n=Yn();Hb(r=r||{});var i=Fr();var s="",f=0;r.cellXfs=[];Fd(r.cellXfs,{},{revssf:{General:0}});if(!e.Props)e.Props={};s="docProps/core.xml";Dr(i,s,di(e.Props,r));n.coreprops.push(s);ri(r.rels,2,s,qn.CORE_PROPS);s="docProps/app.xml";if(e.Props&&e.Props.SheetNames){}else if(!e.Workbook||!e.Workbook.Sheets)e.Props.SheetNames=e.SheetNames;else{var o=[];for(var l=0;l0){s="docProps/custom.xml";Dr(i,s,Ti(e.Custprops,r));n.custprops.push(s);ri(r.rels,4,s,qn.CUST_PROPS)}for(f=1;f<=e.SheetNames.length;++f){var c={"!id":{}};var h=e.Sheets[e.SheetNames[f-1]];var u=(h||{})["!type"]||"sheet";switch(u){case"chart":;default:s="xl/worksheets/sheet"+f+"."+t;Dr(i,s,_g(f-1,s,r,e,c));n.sheets.push(s);ri(r.wbrels,-1,"worksheets/sheet"+f+"."+t,qn.WS[0]);}if(h){var d=h["!comments"];var v=false;var p="";if(d&&d.length>0){p="xl/comments"+f+"."+t;Dr(i,p,Ig(d,p,r));n.comments.push(p);ri(c,-1,"../comments"+f+"."+t,qn.CMNT);v=true}if(h["!legacy"]){if(v)Dr(i,"xl/drawings/vmlDrawing"+f+".vml",nh(f,h["!comments"]))}delete h["!comments"];delete h["!legacy"]}if(c["!id"].rId1)Dr(i,Zn(s),ei(c))}if(r.Strings!=null&&r.Strings.length>0){s="xl/sharedStrings."+t;Dr(i,s,Rg(r.Strings,s,r));n.strs.push(s);ri(r.wbrels,-1,"sharedStrings."+t,qn.SST)}s="xl/workbook."+t;Dr(i,s,Sg(e,s,r));n.workbooks.push(s);ri(r.rels,1,s,qn.WB);s="xl/theme/theme1.xml";Dr(i,s,Ic(e.Themes,r));n.themes.push(s);ri(r.wbrels,-1,"theme/theme1.xml",qn.THEME);s="xl/styles."+t;Dr(i,s,Og(e,s,r));n.styles.push(s);ri(r.wbrels,-1,"styles."+t,qn.STY);if(e.vbaraw&&a){s="xl/vbaProject.bin";Dr(i,s,e.vbaraw);n.vba.push(s);ri(r.wbrels,-1,"vbaProject.bin",qn.VBA)}s="xl/metadata."+t;Dr(i,s,Ng(s));n.metadata.push(s);ri(r.wbrels,-1,"metadata."+t,qn.XLMETA);Dr(i,"[Content_Types].xml",Jn(n,r));Dr(i,"_rels/.rels",ei(r.rels));Dr(i,"xl/_rels/workbook."+t+".rels",ei(r.wbrels));delete r.revssf;delete r.ssf;return i}function Jb(e,r){ah=1024;if(e&&!e.SSF){e.SSF=br(X)}if(e&&e.SSF){ze();He(e.SSF);r.revssf=nr(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF}r.rels={};r.wbrels={};r.Strings=[];r.Strings.Count=0;r.Strings.Unique=0;if(Rd)r.revStrings=new Map;else{r.revStrings={};r.revStrings.foo=[];delete r.revStrings.foo}var t="xml";var a=Th.indexOf(r.bookType)>-1;var n=Yn();Hb(r=r||{});var i=Fr();var s="",f=0;r.cellXfs=[];Fd(r.cellXfs,{},{revssf:{General:0}});if(!e.Props)e.Props={};s="docProps/core.xml";Dr(i,s,di(e.Props,r));n.coreprops.push(s);ri(r.rels,2,s,qn.CORE_PROPS);s="docProps/app.xml";if(e.Props&&e.Props.SheetNames){}else if(!e.Workbook||!e.Workbook.Sheets)e.Props.SheetNames=e.SheetNames;else{var o=[];for(var l=0;l0){s="docProps/custom.xml";Dr(i,s,Ti(e.Custprops,r));n.custprops.push(s);ri(r.rels,4,s,qn.CUST_PROPS)}var c=["SheetJ5"];r.tcid=0;for(f=1;f<=e.SheetNames.length;++f){var h={"!id":{}};var u=e.Sheets[e.SheetNames[f-1]];var d=(u||{})["!type"]||"sheet";switch(d){case"chart":;default:s="xl/worksheets/sheet"+f+"."+t;Dr(i,s,pv(f-1,r,e,h));n.sheets.push(s);ri(r.wbrels,-1,"worksheets/sheet"+f+"."+t,qn.WS[0]);}if(u){var v=u["!comments"];var p=false;var g="";if(v&&v.length>0){var m=false;v.forEach(function(e){e[1].forEach(function(e){if(e.T==true)m=true})});if(m){g="xl/threadedComments/threadedComment"+f+"."+t;Dr(i,g,lh(v,c,r));n.threadedcomments.push(g);ri(h,-1,"../threadedComments/threadedComment"+f+"."+t,qn.TCMNT)}g="xl/comments"+f+"."+t;Dr(i,g,fh(v,r));n.comments.push(g);ri(h,-1,"../comments"+f+"."+t,qn.CMNT);p=true}if(u["!legacy"]){if(p)Dr(i,"xl/drawings/vmlDrawing"+f+".vml",nh(f,u["!comments"]))}delete u["!comments"];delete u["!legacy"]}if(h["!id"].rId1)Dr(i,Zn(s),ei(h))}if(r.Strings!=null&&r.Strings.length>0){s="xl/sharedStrings."+t;Dr(i,s,Ho(r.Strings,r));n.strs.push(s);ri(r.wbrels,-1,"sharedStrings."+t,qn.SST)}s="xl/workbook."+t;Dr(i,s,rg(e,r));n.workbooks.push(s);ri(r.rels,1,s,qn.WB);s="xl/theme/theme1.xml";Dr(i,s,Ic(e.Themes,r));n.themes.push(s);ri(r.wbrels,-1,"theme/theme1.xml",qn.THEME);s="xl/styles."+t;Dr(i,s,$l(e,r));n.styles.push(s);ri(r.wbrels,-1,"styles."+t,qn.STY);if(e.vbaraw&&a){s="xl/vbaProject.bin";Dr(i,s,e.vbaraw);n.vba.push(s);ri(r.wbrels,-1,"vbaProject.bin",qn.VBA)}s="xl/metadata."+t;Dr(i,s,Jc());n.metadata.push(s);ri(r.wbrels,-1,"metadata."+t,qn.XLMETA);if(c.length>1){s="xl/persons/person.xml";Dr(i,s,hh(c,r));n.people.push(s);ri(r.wbrels,-1,"persons/person.xml",qn.PEOPLE)}Dr(i,"[Content_Types].xml",Jn(n,r));Dr(i,"_rels/.rels",ei(r.rels));Dr(i,"xl/_rels/workbook."+t+".rels",ei(r.wbrels));delete r.revssf;delete r.ssf;return i}function qb(e,r){var t="";switch((r||{}).type||"base64"){case"buffer":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];case"base64":t=k(e.slice(0,12));break;case"binary":t=e;break;case"array":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];default:throw new Error("Unrecognized type "+(r&&r.type||"undefined"));}return[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3),t.charCodeAt(4),t.charCodeAt(5),t.charCodeAt(6),t.charCodeAt(7)]}function Zb(e,r){if(Ke.find(e,"EncryptedPackage"))return $b(e,r);return vm(e,r)}function Qb(e,r){var t,a=e;var n=r||{};if(!n.type)n.type=T&&Buffer.isBuffer(e)?"buffer":"base64";t=Pr(a,n);return Xb(t,n)}function ew(e,r){var t=0;e:while(t=2&&n[3]===0)return xo.to_workbook(a,t);if(n[2]===0&&(n[3]===8||n[3]===9))return xo.to_workbook(a,t)}break;case 3:;case 131:;case 139:;case 140:return Ao.to_workbook(a,t);case 123:if(n[1]===92&&n[2]===114&&n[3]===116)return gl.to_workbook(a,t);break;case 10:;case 13:;case 32:return rw(a,t);case 137:if(n[1]===80&&n[2]===78&&n[3]===71)throw new Error("PNG Image File is not a spreadsheet");break;}if(To.indexOf(n[0])>-1&&n[2]<=12&&n[3]<=31)return Ao.to_workbook(a,t);return nw(e,a,t,i)}function sw(e,r){var t=r||{};t.type="file";return iw(e,t)}function fw(e,r){switch(r.type){case"base64":;case"binary":break;case"buffer":;case"array":r.type="";break;case"file":return Qe(r.file,Ke.write(e,{type:T?"buffer":""}));case"string":throw new Error("'string' output type invalid for '"+r.bookType+"' files");default:throw new Error("Unrecognized type "+r.type);}return Ke.write(e,r)}function ow(e,r){var t=br(r||{});var a=Yb(e,t);return cw(a,t)}function lw(e,r){var t=br(r||{});var a=Jb(e,t);return cw(a,t)}function cw(e,r){var t={};var a=T?"nodebuffer":typeof Uint8Array!=="undefined"?"array":"string";if(r.compression)t.compression="DEFLATE";if(r.password)t.type=a;else switch(r.type){case"base64":t.type="base64";break;case"binary":t.type="string";break;case"string":throw new Error("'string' output type invalid for '"+r.bookType+"' files");case"buffer":;case"file":t.type=a;break;default:throw new Error("Unrecognized type "+r.type);}var n=e.FullPaths?Ke.write(e,{fileType:"zip",type:{nodebuffer:"buffer",string:"binary"}[t.type]||t.type,compression:!!r.compression}):e.generate(t);if(typeof Deno!=="undefined"){if(typeof n=="string"){if(r.type=="binary"||r.type=="base64")return n;n=new Uint8Array(S(n))}}if(r.password&&typeof encrypt_agile!=="undefined")return fw(encrypt_agile(n,r.password),r);if(r.type==="file")return Qe(r.file,n);return r.type=="string"?lt(n):n}function hw(e,r){var t=r||{};var a=pm(e,t);return fw(a,t)}function uw(e,r,t){if(!t)t="";var a=t+e;switch(r.type){case"base64":return w(ct(a));case"binary":return ct(a);case"string":return e;case"file":return Qe(r.file,a,"utf8");case"buffer":{if(T)return A(a,"utf8");else if(typeof TextEncoder!=="undefined")return(new TextEncoder).encode(a);else return uw(a,{type:"binary"}).split("").map(function(e){return e.charCodeAt(0)})};}throw new Error("Unrecognized type "+r.type)}function dw(e,r){switch(r.type){case"base64":return w(e);case"binary":return e;case"string":return e;case"file":return Qe(r.file,e,"binary");case"buffer":{if(T)return A(e,"binary");else return e.split("").map(function(e){return e.charCodeAt(0)})};}throw new Error("Unrecognized type "+r.type)}function vw(e,r){switch(r.type){case"string":;case"base64":;case"binary":var t="";for(var a=0;a0)n=0;var h=Ta(o.s.r);var u=[];var d=[];var v=0,p=0;var g=Array.isArray(e);var m=o.s.r,b=0;var w={};if(g&&!e[m])e[m]=[];var k=l.skipHidden&&e["!cols"]||[];var T=l.skipHidden&&e["!rows"]||[];for(b=o.s.c;b<=o.e.c;++b){if((k[b]||{}).hidden)continue;u[b]=ya(b);t=g?e[m][b]:e[u[b]+h];switch(a){case 1:i[b]=b-o.s.c;break;case 2:i[b]=u[b];break;case 3:i[b]=l.header[b-o.s.c];break;default:if(t==null)t={w:"__EMPTY",t:"s"};f=s=Pa(t,null,l);p=w[s]||0;if(!p)w[s]=1;else{do{f=s+"_"+p++}while(w[f]);w[s]=p;w[f]=1}i[b]=f;}}for(m=o.s.r+n;m<=o.e.r;++m){if((T[m]||{}).hidden)continue;var A=Tw(e,o,m,u,a,i,g,l);if(A.isempty===false||(a===1?l.blankrows!==false:!!l.blankrows))d[v++]=A.row}d.length=v;return d}var Ew=/"/g;function Cw(e,r,t,a,n,i,s,f){var o=true;var l=[],c="",h=Ta(t);for(var u=r.s.c;u<=r.e.c;++u){if(!a[u])continue;var d=f.dense?(e[t]||[])[u]:e[a[u]+h];if(d==null)c="";else if(d.v!=null){o=false;c=""+(f.rawNumbers&&d.t=="n"?d.v:Pa(d,null,f));for(var v=0,p=0;v!==c.length;++v)if((p=c.charCodeAt(v))===n||p===i||p===34||f.forceQuotes){c='"'+c.replace(Ew,'""')+'"';break}if(c=="ID")c='"ID"'}else if(d.f!=null&&!d.F){o=false;c="="+d.f;if(c.indexOf(",")>=0)c='"'+c.replace(Ew,'""')+'"'}else c="";l.push(c)}if(f.blankrows===false&&o)return null;return l.join(s)}function yw(e,r){var t=[];var a=r==null?{}:r;if(e==null||e["!ref"]==null)return"";var n=Da(e["!ref"]);var i=a.FS!==undefined?a.FS:",",s=i.charCodeAt(0);var f=a.RS!==undefined?a.RS:"\n",o=f.charCodeAt(0);var l=new RegExp((i=="|"?"\\|":i)+"+$");var c="",h=[];a.dense=Array.isArray(e);var u=a.skipHidden&&e["!cols"]||[];var d=a.skipHidden&&e["!rows"]||[];for(var v=n.s.c;v<=n.e.c;++v)if(!(u[v]||{}).hidden)h[v]=ya(v);var p=0;for(var g=n.s.r;g<=n.e.r;++g){if((d[g]||{}).hidden)continue;c=Cw(e,n,g,h,s,o,i,a);if(c==null){continue}if(a.strip)c=c.replace(l,"");if(c||a.blankrows!==false)t.push((p++?f:"")+c)}delete a.dense;return t.join("")}function Sw(e,r){if(!r)r={};r.FS="\t";r.RS="\n";var t=yw(e,r);if(typeof a=="undefined"||r.type=="string")return t;var n=a.utils.encode(1200,t,"str");return String.fromCharCode(255)+String.fromCharCode(254)+n}function _w(e){var r="",t,a="";if(e==null||e["!ref"]==null)return[];var n=Da(e["!ref"]),i="",s=[],f; +var o=[];var l=Array.isArray(e);for(f=n.s.c;f<=n.e.c;++f)s[f]=ya(f);for(var c=n.s.r;c<=n.e.r;++c){i=Ta(c);for(f=n.s.c;f<=n.e.c;++f){r=s[f]+i;t=l?(e[c]||[])[f]:e[r];a="";if(t===undefined)continue;else if(t.F!=null){r=t.F;if(!t.f)continue;a=t.f;if(r.indexOf(":")==-1)r=r+":"+r}if(t.f!=null)a=t.f;else if(t.t=="z")continue;else if(t.t=="n"&&t.v!=null)a=""+t.v;else if(t.t=="b")a=t.v?"TRUE":"FALSE";else if(t.w!==undefined)a="'"+t.w;else if(t.v===undefined)continue;else if(t.t=="s")a="'"+t.v;else a=""+t.v;o[o.length]=r+"="+a}}return o}function xw(e,r,t){var a=t||{};var n=+!a.skipHeader;var i=e||{};var s=0,f=0;if(i&&a.origin!=null){if(typeof a.origin=="number")s=a.origin;else{var o=typeof a.origin=="string"?Oa(a.origin):a.origin;s=o.r;f=o.c}}var l;var c={s:{c:0,r:0},e:{c:f,r:s+r.length-1+n}};if(i["!ref"]){var h=Da(i["!ref"]);c.e.c=Math.max(c.e.c,h.e.c);c.e.r=Math.max(c.e.r,h.e.r);if(s==-1){s=h.e.r+1;c.e.r=s+r.length-1+n}}else{if(s==-1){s=0;c.e.r=r.length-1+n}}var u=a.header||[],d=0;r.forEach(function(e,r){rr(e).forEach(function(t){if((d=u.indexOf(t))==-1)u[d=u.length]=t;var o=e[t];var c="z";var h="";var v=Ra({c:f+d,r:s+r+n});l=Rw(i,v);if(o&&typeof o==="object"&&!(o instanceof Date)){i[v]=o}else{if(typeof o=="number")c="n";else if(typeof o=="boolean")c="b";else if(typeof o=="string")c="s";else if(o instanceof Date){c="d";if(!a.cellDates){c="n";o=fr(o)}h=a.dateNF||X[14]}else if(o===null&&a.nullError){c="e";o=0}if(!l)i[v]=l={t:c,v:o};else{l.t=c;l.v=o;delete l.w;delete l.R;if(h)l.z=h}if(h)l.z=h}})});c.e.c=Math.max(c.e.c,f+u.length-1);var v=Ta(s);if(n)for(d=0;d=0&&e.SheetNames.length>r)return r;throw new Error("Cannot find sheet # "+r)}else if(typeof r=="string"){var t=e.SheetNames.indexOf(r);if(t>-1)return t;throw new Error("Cannot find sheet name |"+r+"|")}else throw new Error("Cannot find sheet |"+r+"|")}function Nw(){return{SheetNames:[],Sheets:{}}}function Dw(e,r,t,a){var n=1;if(!t)for(;n<=65535;++n,t=undefined)if(e.SheetNames.indexOf(t="Sheet"+n)==-1)break;if(!t||e.SheetNames.length>=65535)throw new Error("Too many worksheets");if(a&&e.SheetNames.indexOf(t)>=0){var i=t.match(/(^.*?)(\d+)$/);n=i&&+i[2]||0;var s=i&&i[1]||t;for(++n;n<=65535;++n)if(e.SheetNames.indexOf(t=s+n)==-1)break}Jp(t);if(e.SheetNames.indexOf(t)>=0)throw new Error("Worksheet with name |"+t+"| already exists!");e.SheetNames.push(t);e.Sheets[t]=r;return t}function Fw(e,r,t){if(!e.Workbook)e.Workbook={};if(!e.Workbook.Sheets)e.Workbook.Sheets=[];var a=Iw(e,r);if(!e.Workbook.Sheets[a])e.Workbook.Sheets[a]={};switch(t){case 0:;case 1:;case 2:break;default:throw new Error("Bad sheet visibility setting "+t);}e.Workbook.Sheets[a].Hidden=t}function Pw(e,r){e.z=r;return e}function Lw(e,r,t){if(!r){delete e.l}else{e.l={Target:r};if(t)e.l.Tooltip=t}return e}function Mw(e,r,t){return Lw(e,"#"+r,t)}function Uw(e,r,t){if(!e.c)e.c=[];e.c.push({t:r,a:t||"SheetJS"})}function Bw(e,r,t,a){var n=typeof r!="string"?r:Da(r);var i=typeof r=="string"?r:Na(r);for(var s=n.s.r;s<=n.e.r;++s)for(var f=n.s.c;f<=n.e.c;++f){var o=Rw(e,s,f);o.t="n";o.F=i;delete o.v;if(s==n.s.r&&f==n.s.c){o.f=t;if(a)o.D=true}}return e}var Ww={encode_col:ya,encode_row:Ta,encode_cell:Ra,encode_range:Na,decode_col:Ca,decode_row:ka,split_cell:xa,decode_cell:Oa,decode_range:Ia,format_cell:Pa,sheet_add_aoa:Ma,sheet_add_json:xw,sheet_add_dom:Gm,aoa_to_sheet:Ua,json_to_sheet:Ow,table_to_sheet:jm,table_to_book:Xm,sheet_to_csv:yw,sheet_to_txt:Sw,sheet_to_json:Aw,sheet_to_html:Vm,sheet_to_formulae:_w,sheet_to_row_object_array:Aw,sheet_get_cell:Rw,book_new:Nw,book_append_sheet:Dw,book_set_sheet_visibility:Fw,cell_set_number_format:Pw,cell_set_hyperlink:Lw,cell_set_internal_link:Mw,cell_add_comment:Uw,sheet_set_array_formula:Bw,consts:{SHEET_VISIBLE:0,SHEET_HIDDEN:1,SHEET_VERY_HIDDEN:2}};var Hw;function zw(e){Hw=e}function Vw(e,r){var t=Hw();var a=r==null?{}:r;if(e==null||e["!ref"]==null){t.push(null);return t}var n=Da(e["!ref"]);var i=a.FS!==undefined?a.FS:",",s=i.charCodeAt(0);var f=a.RS!==undefined?a.RS:"\n",o=f.charCodeAt(0);var l=new RegExp((i=="|"?"\\|":i)+"+$");var c="",h=[];a.dense=Array.isArray(e);var u=a.skipHidden&&e["!cols"]||[];var d=a.skipHidden&&e["!rows"]||[];for(var v=n.s.c;v<=n.e.c;++v)if(!(u[v]||{}).hidden)h[v]=ya(v);var p=n.s.r;var g=false,m=0;t._read=function(){if(!g){g=true;return t.push("\ufeff")}while(p<=n.e.r){++p;if((d[p-1]||{}).hidden)continue;c=Cw(e,n,p-1,h,s,o,i,a);if(c!=null){if(a.strip)c=c.replace(l,"");if(c||a.blankrows!==false)return t.push((m++?f:"")+c)}}return t.push(null)};return t}function Gw(e,r){var t=Hw();var a=r||{};var n=a.header!=null?a.header:Bm;var i=a.footer!=null?a.footer:Wm;t.push(n);var s=Ia(e["!ref"]);a.dense=Array.isArray(e);t.push(zm(e,s,a));var f=s.s.r;var o=false;t._read=function(){if(f>s.e.r){if(!o){o=true;t.push(""+i)}return t.push(null)}while(f<=s.e.r){t.push(Um(e,s,f,a));++f;break}};return t}function jw(e,r){var t=Hw({objectMode:true});if(e==null||e["!ref"]==null){t.push(null);return t}var a={t:"n",v:0},n=0,i=1,s=[],f=0,o="";var l={s:{r:0,c:0},e:{r:0,c:0}};var c=r||{};var h=c.range!=null?c.range:e["!ref"];if(c.header===1)n=1;else if(c.header==="A")n=2;else if(Array.isArray(c.header))n=3;switch(typeof h){case"string":l=Da(h);break;case"number":l=Da(e["!ref"]);l.s.r=h;break;default:l=h;}if(n>0)i=0;var u=Ta(l.s.r);var d=[];var v=0;var p=Array.isArray(e);var g=l.s.r,m=0;var b={};if(p&&!e[g])e[g]=[];var w=c.skipHidden&&e["!cols"]||[];var k=c.skipHidden&&e["!rows"]||[];for(m=l.s.c;m<=l.e.c;++m){if((w[m]||{}).hidden)continue;d[m]=ya(m);a=p?e[g][m]:e[d[m]+u];switch(n){case 1:s[m]=m-l.s.c;break;case 2:s[m]=d[m];break;case 3:s[m]=c.header[m-l.s.c];break;default:if(a==null)a={w:"__EMPTY",t:"s"};o=f=Pa(a,null,c);v=b[f]||0;if(!v)b[f]=1;else{do{o=f+"_"+v++}while(b[o]);b[f]=v;b[o]=1}s[m]=o;}}g=l.s.r+i;t._read=function(){while(g<=l.e.r){if((k[g-1]||{}).hidden)continue;var r=Tw(e,l,g,d,n,s,p,c);++g;if(r.isempty===false||(n===1?c.blankrows!==false:!!c.blankrows)){t.push(r.row);return}}return t.push(null)};return t}var Xw={to_json:jw,to_html:Gw,to_csv:Vw,set_readable:zw};if(typeof vm!=="undefined")e.parse_xlscfb=vm;e.parse_zip=Xb;e.read=iw;e.readFile=sw;e.readFileSync=sw;e.write=gw;e.writeFile=bw;e.writeFileSync=bw;e.writeFileAsync=kw;e.utils=Ww;e.writeXLSX=pw;e.writeFileXLSX=ww;e.SSF=Ve;if(typeof Xw!=="undefined")e.stream=Xw;if(typeof Ke!=="undefined")e.CFB=Ke;if(typeof require!=="undefined"){var $w=undefined;if(($w||{}).Readable)zw($w.Readable)}}if(typeof exports!=="undefined")make_xlsx_lib(exports);else if(typeof module!=="undefined"&&module.exports)make_xlsx_lib(module.exports);else if(typeof define==="function"&&define.amd)define("xlsx",function(){if(!XLSX.version)make_xlsx_lib(XLSX);return XLSX});else make_xlsx_lib(XLSX);if(typeof window!=="undefined"&&!window.XLSX)try{window.XLSX=XLSX}catch(e){} diff --git a/public/tools/style_check/index.html b/public/tools/style_check/index.html new file mode 100644 index 0000000..d96825f --- /dev/null +++ b/public/tools/style_check/index.html @@ -0,0 +1,500 @@ + + + + + + 穿搭镜检 + + + + +
    +
    +
    +
    +

    穿搭镜检

    +

    +
    + + + + + + +
    +
    + +
    +

    今日建议

    +

    独立工具 · 双版本隔离 · 温区优先

    +
    + + + + + + + +
    +
    +
    + +
    +

    智能图像 + AI审核

    +
    + + + + + + +
    +
    +
    + 待审核图片预览 +
    +
    +
    +
    +
    +
    +
    + +
    +

    搭配库

    +
    + + + + + + +
    +
    + + + + + + + + + + + + + + + + + +
    名称场景温区标签上衣下装鞋外搭配饰备注服饰库匹配操作
    +
    +
    + +
    +

    服饰库(基础数据来源)

    +
    + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + +
    名称槽位类别温区品牌价位图片关键词说明操作
    +
    +
    + +

    新增 / 编辑服饰库条目

    +
    + + + + + + + + + + + + +
    +
    + + +
    +
    + +
    +

    新增/更新搭配

    +
    + + + + + + + + + + + + +
    +
    + + +
    +
    +
    + +
    +

    30秒镜检

    +
    +
    + +
    +
    +
    +
    + + + + + + + + + +
    + + + + + + + + + +
    + + + + + + + + + +
    +
    +
    +
    +
    +
    +
    + + + + + + + diff --git a/public/tools/style_check/style_check.css b/public/tools/style_check/style_check.css new file mode 100644 index 0000000..7d61881 --- /dev/null +++ b/public/tools/style_check/style_check.css @@ -0,0 +1,843 @@ +:root { + --sc-bg: #0f172a; + --sc-text: #e5e7eb; + --sc-card: #111827; + --sc-card-border: #1f2937; + --sc-field-bg: #0b1220; + --sc-field-border: #374151; + --sc-subtitle: #9ca3af; + --sc-primary: #1d4ed8; + --sc-ghost: #374151; + --sc-info: #93c5fd; + --sc-mask: rgba(2, 6, 23, 0.72); +} + +body { + margin: 0; + background: var(--sc-bg); + color: var(--sc-text); + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; +} + +body[data-profile='mature_fashion40'] { + --sc-bg: #1a1229; + --sc-text: #f7f3ff; + --sc-card: #221739; + --sc-card-border: #3a285f; + --sc-field-bg: #2b1d46; + --sc-field-border: #594080; + --sc-subtitle: #ccb8f2; + --sc-primary: #a855f7; + --sc-ghost: #4b3a71; + --sc-info: #f9a8d4; + --sc-mask: rgba(19, 8, 36, 0.76); +} + +body.full-width-mode .sc-page { + max-width: 100%; + margin: 0; + padding: 0; + display: block; +} + +body.full-width-mode .sc-card { + border: none; + border-radius: 0; + margin: 0; + padding: 0; +} + +body.full-width-mode #waveSection, +body.full-width-mode #koreanSection { + padding: 24px 40px; +} + +body.full-width-mode #zhihuSection { + min-height: 100vh; + border-radius: 0; +} + +body.full-width-mode .zhihu-content-area { + height: 100vh; +} + +body.full-width-mode .ztext, +body.full-width-mode .zhihu-placeholder { + max-width: 800px; + width: 100%; + margin: 0 auto; +} + +body.full-width-mode .x-layout { + height: 100vh; + justify-content: center; +} + +body.full-width-mode .zhihu-toc:hover { + height: calc(100vh - 40px); +} + +.sc-page { + max-width: 100%; + margin: 0; + padding: 0; + display: block; +} + +body.full-width-mode .sc-card { + border: none; + border-radius: 0; + margin: 0; + padding: 0; +} + +body.full-width-mode #zhihuSection { + min-height: 100vh; + border-radius: 0; +} + +body.full-width-mode .zhihu-content-area { + height: 100vh; +} + +body.full-width-mode .x-layout { + height: 100vh; +} + +.sc-page { + max-width: 1280px; + margin: 0 auto; + padding: 20px; + display: grid; + gap: 16px; +} + +.sc-card { + background: var(--sc-card); + border: 1px solid var(--sc-card-border); + border-radius: 12px; + padding: 16px; +} + +h1, h2 { + margin: 0 0 10px; +} + +.sc-subtitle { + margin: 0 0 12px; + color: var(--sc-subtitle); +} + +.sc-inline { + display: flex; + flex-wrap: wrap; + gap: 10px; + align-items: center; + margin-bottom: 10px; +} + +.sc-inline label { + color: var(--sc-subtitle); + font-size: 13px; +} + +input, select, button { + height: 34px; + border-radius: 8px; + border: 1px solid var(--sc-field-border); + background: var(--sc-field-bg); + color: var(--sc-text); + padding: 0 10px; +} + +button { + background: var(--sc-primary); + border: none; + cursor: pointer; +} + +button.ghost { + background: var(--sc-ghost); +} + +.sc-result { + padding: 10px; + border-radius: 8px; + background: var(--sc-field-bg); + border: 1px solid var(--sc-card-border); + white-space: pre-wrap; +} + +.sc-table-wrap { + overflow: auto; +} + +.sc-table { + width: 100%; + border-collapse: collapse; + min-width: 1100px; +} + +.sc-table th, .sc-table td { + border-bottom: 1px solid var(--sc-card-border); + padding: 8px; + text-align: left; + vertical-align: top; + font-size: 13px; +} + +.sc-form-grid { + display: grid; + grid-template-columns: 90px 1fr 90px 1fr; + gap: 10px; + margin-bottom: 10px; +} + +.sc-msg { + min-height: 20px; + color: var(--sc-info); +} + +.sc-rule-list { + display: grid; + gap: 8px; + margin-bottom: 10px; +} + +.sc-rule-item { + padding: 8px 10px; + border: 1px solid var(--sc-card-border); + border-radius: 8px; + background: var(--sc-field-bg); + display: flex; + align-items: center; + gap: 8px; +} + +.row-actions { + display: flex; + gap: 6px; +} + +.row-actions button { + height: 28px; + font-size: 12px; + padding: 0 8px; +} + +.sc-ai-layout { + display: grid; + grid-template-columns: 320px 1fr; + gap: 12px; +} + +.sc-ai-preview { + width: 100%; + min-height: 220px; + object-fit: cover; + border: 1px solid var(--sc-card-border); + border-radius: 10px; + background: var(--sc-field-bg); +} + +.sc-ai-right { + display: grid; + gap: 10px; +} + +.sc-modal-mask { + position: fixed; + inset: 0; + background: var(--sc-mask); + display: none; + align-items: center; + justify-content: center; + z-index: 2000; + padding: 16px; +} + +.sc-modal-mask.show { + display: flex; +} + +.sc-modal-panel { + width: min(760px, 96vw); + max-height: 88vh; + overflow: auto; + background: var(--sc-field-bg); + border: 1px solid var(--sc-card-border); + border-radius: 12px; + padding: 14px; +} + +.sc-modal-title { + font-size: 18px; + font-weight: 600; + margin-bottom: 10px; +} + +.sc-modal-message { + border: 1px solid var(--sc-card-border); + border-radius: 8px; + background: var(--sc-card); + padding: 10px; + min-height: 64px; + white-space: pre-wrap; + line-height: 1.5; +} + +.sc-modal-actions { + margin-top: 12px; + display: flex; + gap: 8px; + justify-content: flex-end; +} + +.sc-modal-actions button.secondary { + background: var(--sc-ghost); +} + +.sc-modal-actions button.danger { + background: #dc2626; +} + +.sc-profile-card { + display: grid; + gap: 8px; +} + +.sc-profile-tabs { + display: flex; + gap: 8px; + flex-wrap: wrap; +} + +.sc-tab-btn { + height: 32px; + border-radius: 999px; + padding: 0 14px; + border: 1px solid var(--sc-field-border); + background: var(--sc-field-bg); + color: var(--sc-text); +} + +.sc-tab-btn.active { + background: var(--sc-primary); + color: #ffffff; + border-color: transparent; +} + +/* WAVE */ +.wave-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); + gap: 16px; + margin-top: 16px; +} +.wave-card { + background: rgba(30, 41, 59, 0.6); + border-radius: 12px; + overflow: hidden; + cursor: pointer; + transition: transform 0.2s, box-shadow 0.2s; + border: 1px solid rgba(148, 163, 184, 0.2); +} +.wave-card:hover { + transform: translateY(-4px); + box-shadow: 0 12px 24px rgba(0, 0, 0, 0.4); +} +.wave-card img { + width: 100%; + height: 360px; + display: block; + object-fit: cover; +} +.wave-card-text { + padding: 12px; + font-size: 13px; + color: #cbd5e1; + display: -webkit-box; + -webkit-line-clamp: 2; + line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; + text-overflow: ellipsis; +} + +.wave-lightbox { + position: fixed; + top: 0; left: 0; right: 0; bottom: 0; + background: rgba(15, 23, 42, 0.95); + z-index: 9999; + display: flex; + align-items: center; + justify-content: center; + backdrop-filter: blur(10px); +} +.wave-lb-close { + position: absolute; + top: 20px; right: 24px; + background: transparent; + border: none; + color: #fff; + font-size: 36px; + cursor: pointer; + z-index: 10000; +} +.wave-lb-nav { + position: absolute; + top: 50%; + transform: translateY(-50%); + background: rgba(255, 255, 255, 0.1); + border: none; + color: #fff; + font-size: 48px; + padding: 10px 16px; + cursor: pointer; + border-radius: 8px; + z-index: 10000; + transition: background 0.2s; +} +.wave-lb-nav:hover { background: rgba(255, 255, 255, 0.3); } +.wave-lb-nav.prev { left: 24px; } +.wave-lb-nav.next { right: 24px; } + +.wave-lb-content { + display: flex; + max-width: 1100px; + width: 90%; + height: 80vh; + background: #1e293b; + border-radius: 16px; + overflow: hidden; + box-shadow: 0 24px 60px rgba(0, 0, 0, 0.6); +} +.wave-lb-img-wrap { + flex: 1; + background: #0f172a; + display: flex; + align-items: center; + justify-content: center; + padding: 20px; +} +.wave-lb-img-wrap img { + max-width: 100%; + max-height: 100%; + object-fit: contain; + border-radius: 8px; +} +.wave-lb-info { + width: 400px; + padding: 32px 24px; + overflow-y: auto; + background: #1e293b; + border-left: 1px solid rgba(148, 163, 184, 0.2); + display: flex; + flex-direction: column; +} +.wave-lb-badge { + display: inline-block; + background: rgba(59, 130, 246, 0.2); + color: #60a5fa; + padding: 4px 10px; + border-radius: 999px; + font-size: 12px; + margin-bottom: 20px; + align-self: flex-start; + border: 1px solid rgba(59, 130, 246, 0.4); +} +.wave-lb-info h4 { + margin: 0 0 12px 0; + color: #e2e8f0; + font-size: 16px; + font-weight: 600; +} +.wave-lb-info p { + margin: 0; + color: #94a3b8; + font-size: 14px; + line-height: 1.8; +} + +/* Zhihu Styles */ +#zhihuSection { + position: relative; + min-height: calc(100vh - 120px); + padding: 0; + display: flex; + background: #f6f6f6; + border-radius: 8px; + overflow: hidden; + color: #121212; +} + +.zhihu-toc { + position: absolute; + top: 20px; + left: 20px; + z-index: 999; + width: 48px; + height: 48px; + background: #ffffff; + border-radius: 8px; + box-shadow: 0 4px 12px rgba(0,0,0,0.15); + overflow: hidden; + transition: width 0.3s ease, height 0.3s ease; + display: flex; + flex-direction: column; +} + +.zhihu-toc:hover { + width: 260px; + height: calc(100vh - 160px); +} + +.toc-header { + width: 48px; + height: 48px; + line-height: 48px; + text-align: center; + font-size: 20px; + color: #0084ff; + cursor: default; + flex-shrink: 0; + white-space: nowrap; +} + +.zhihu-toc:hover .toc-header { + width: 100%; + text-align: left; + padding-left: 20px; + border-bottom: 1px solid #ebebeb; +} + +.toc-body { + opacity: 0; + visibility: hidden; + transition: opacity 0.3s ease; + flex: 1; + overflow-y: auto; + padding: 10px 0; +} + +.zhihu-toc:hover .toc-body { + opacity: 1; + visibility: visible; +} + +.toc-group { + padding: 8px 20px; + font-size: 13px; + font-weight: bold; + color: #8590a6; + margin-top: 8px; +} + +.toc-item { + padding: 8px 20px 8px 32px; + font-size: 14px; + color: #444; + cursor: pointer; + transition: background 0.2s; +} + +.toc-item:hover { + background: #f6f6f6; + color: #0084ff; +} + +.toc-item.active { + background: #e6f3ff; + color: #0084ff; + font-weight: 500; +} + +.toc-item.disabled { + color: #ccc; + cursor: not-allowed; +} + +.zhihu-content-area { + flex: 1; + padding: 40px 60px 40px 100px; + overflow-y: auto; + height: calc(100vh - 120px); + background: #ffffff; +} + +.zhihu-placeholder { + display: flex; + justify-content: center; + align-items: center; + height: 100%; + color: #8590a6; +} + +/* Zhihu Rich Text Styles */ +.ztext { + word-break: break-word; + line-height: 1.6; + font-size: 16px; + color: #121212; + font-family: -apple-system,BlinkMacSystemFont,Helvetica Neue,PingFang SC,Microsoft YaHei,Source Han Sans SC,Noto Sans CJK SC,WenQuanYi Micro Hei,sans-serif; +} + +.ztext p { + margin: 1.4em 0; +} + +.ztext h2, .ztext h3 { + margin: 1.5em 0 0.8em; + font-weight: 600; +} + +.ztext figure { + margin: 1.4em 0; + text-align: center; +} + +.ztext img { + max-width: 100%; + height: auto; + border-radius: 4px; + display: block; + margin: 0 auto; +} + +.ztext figcaption { + margin-top: 8px; + font-size: 14px; + color: #8590a6; + line-height: 1.5; +} + +.ztext blockquote { + margin: 1.4em 0; + padding: 10px 20px; + border-left: 4px solid #ebebeb; + color: #646464; + background: #f6f6f6; +} + +.ztext a { + color: #175199; + text-decoration: none; +} + +.ztext a:hover { + text-decoration: underline; +} + +.ztext hr { + margin: 2em 0; + border: 0; + border-top: 1px solid #ebebeb; +} + +.ztext ul, .ztext ol { + margin: 1.4em 0; + padding-left: 2em; +} + +.ztext li { + margin-bottom: 0.5em; +} + +/* X (Twitter) Styles */ +.x-layout { + display: flex; + height: calc(100vh - 120px); + background: #000; + color: #e7e9ea; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; +} + +.x-sidebar { + width: 275px; + border-right: 1px solid #2f3336; + display: flex; + flex-direction: column; + padding: 0 12px; +} + +.x-logo { + padding: 12px; + width: 50px; + height: 50px; + display: flex; + align-items: center; + justify-content: center; + border-radius: 50%; + cursor: pointer; + transition: background 0.2s; +} + +.x-logo:hover { + background: rgba(231, 233, 234, 0.1); +} + +.x-nav { + margin-top: 16px; +} + +.x-nav-item { + display: flex; + align-items: center; + padding: 12px; + border-radius: 9999px; + background: transparent; + border: none; + color: #e7e9ea; + font-size: 20px; + cursor: pointer; + transition: background 0.2s; + width: fit-content; + margin-bottom: 8px; +} + +.x-nav-item:hover { + background: rgba(231, 233, 234, 0.1); +} + +.x-nav-item.active { + font-weight: bold; +} + +.x-nav-item .x-label { + margin-left: 20px; +} + +.x-timeline { + flex: 1; + max-width: 100%; + border-right: none; + display: flex; + flex-direction: column; + overflow: hidden; +} + +.x-header { + height: 53px; + padding: 0 16px; + display: flex; + align-items: center; + border-bottom: 1px solid #2f3336; + background: rgba(0, 0, 0, 0.65); + backdrop-filter: blur(12px); + position: sticky; + top: 0; + z-index: 2; +} + +.x-header h2 { + font-size: 20px; + font-weight: bold; + margin: 0; +} + +.x-feed { + flex: 1; + overflow-y: auto; +} + +.x-tweet { + padding: 12px 16px; + border-bottom: 1px solid #2f3336; + display: flex; + transition: background 0.2s; + cursor: pointer; +} + +.x-tweet:hover { + background: rgba(255, 255, 255, 0.03); +} + +.x-tweet-avatar { + width: 40px; + height: 40px; + border-radius: 50%; + background: #333639; + margin-right: 12px; + flex-shrink: 0; +} + +.x-tweet-body { + flex: 1; + min-width: 0; +} + +.x-tweet-meta { + display: flex; + align-items: center; + margin-bottom: 4px; + font-size: 15px; +} + +.x-tweet-name { + font-weight: bold; + color: #e7e9ea; +} + +.x-tweet-handle, .x-tweet-dot, .x-tweet-time { + color: #71767b; + margin-left: 4px; +} + +.x-tweet-text { + font-size: 15px; + line-height: 20px; + margin-bottom: 12px; + word-wrap: break-word; +} + +.x-tweet-images { + border-radius: 16px; + overflow: hidden; + border: 1px solid #2f3336; + margin-top: 12px; + display: grid; + gap: 2px; + background: #16181c; +} + +.x-tweet-images.count-1 { + grid-template-columns: 1fr; +} +.x-tweet-images.count-2, +.x-tweet-images.count-3, +.x-tweet-images.count-4 { + aspect-ratio: 16 / 9; +} +.x-tweet-images.count-2 { grid-template-columns: 1fr 1fr; } +.x-tweet-images.count-3 { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; } +.x-tweet-images.count-3 img:first-child { grid-row: 1 / 3; } +.x-tweet-images.count-4 { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; } + +.x-tweet-images img { + width: 100%; + height: 100%; + object-fit: contain; +} + +.x-tweet-images.count-1 img { + height: auto; + max-height: 80vh; +} + +.x-tweet-actions { + display: flex; + justify-content: space-between; + max-width: 425px; + margin-top: 12px; + color: #71767b; + font-size: 13px; +} + +.x-placeholder { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + padding: 40px; + color: #71767b; +} diff --git a/public/tools/style_check/style_check.js b/public/tools/style_check/style_check.js new file mode 100644 index 0000000..7151a58 --- /dev/null +++ b/public/tools/style_check/style_check.js @@ -0,0 +1,1359 @@ +(() => { + const apiBase = '/api/style_check' + // 自动化接口走相对路径,由 8976 web 引擎内部反代到 8977;如需直连可改为 'http://host:8977' + const AUTOMATION_API = '' + const el = id => document.getElementById(id) + const state = { + modalResolver: null, + aiCountdownTimer: 0, + profileKey: 'mature_relaxed', + profiles: { + mature_relaxed: { name: '中老年休闲沉稳版', slogan: '稳重有质感,低饱和、利落、耐看' }, + mature_fashion40: { name: '中老年流行时尚版', slogan: '50岁按40岁时尚审美:懂流行、有表达、不另类' } + } + } + + const sceneText = v => ({ commute: '通勤', weekend: '周末轻运动', business_light: '轻商务会面' }[v] || v || '') + const slotText = v => ({ top: '上衣', bottom: '下装', shoes: '鞋', outer: '外搭', accessory: '配饰' }[v] || v || '') + const profileText = v => (state.profiles[v] ? state.profiles[v].name : v) + + const withProfileUrl = rawUrl => { + const u = new URL(rawUrl, window.location.origin) + u.searchParams.set('profile_key', state.profileKey) + return `${u.pathname}${u.search}` + } + + const req = async (url, options = {}) => { + const res = await fetch(url, { credentials: 'same-origin', cache: 'no-store', ...options }) + const data = await res.json().catch(() => ({})) + if (!res.ok || !data.ok) throw new Error(data.error || `HTTP_${res.status}`) + return data + } + + // ===== 调试跟踪模态窗:记录爬虫开关请求的完整响应链 ===== + const trace = { + open(title) { + const m = el('debugTraceModal') + if (!m) return + el('debugTraceTitle').textContent = title || '调试跟踪' + el('debugTraceStatus').textContent = '运行中...' + el('debugTraceStatus').style.color = '#64748b' + el('debugTraceContent').textContent = '' + m.style.display = 'flex' + }, + line(text) { + const pre = el('debugTraceContent') + if (!pre) return + const ts = new Date().toISOString().slice(11, 23) + pre.textContent += `[${ts}] ${text}\n` + pre.scrollTop = pre.scrollHeight + }, + json(label, obj) { + let s + try { s = JSON.stringify(obj, null, 2) } catch { s = String(obj) } + this.line(label + ' →\n' + s) + }, + done(ok, msg) { + const st = el('debugTraceStatus') + if (st) { + st.textContent = ok ? ('✅ ' + (msg || '完成')) : ('❌ ' + (msg || '已中断')) + st.style.color = ok ? '#16a34a' : '#dc2626' + } + this.line(ok ? '===== END (OK) =====' : '===== END (ERROR,保留现场以供拷贝) =====') + } + } + + // 带详细跟踪的 fetch:打印请求 URL/method/status/headers/raw body。任意环节出错报错并保留模态窗 + const traceFetch = async (label, url, options = {}) => { + trace.line(`→ ${label}`) + trace.line(` URL : ${url}`) + trace.line(` Method : ${(options.method || 'GET').toUpperCase()}`) + if (options.body) trace.line(` Body : ${options.body}`) + let res + try { + res = await fetch(url, { credentials: 'same-origin', cache: 'no-store', ...options }) + } catch (netErr) { + trace.line(` ❌ NETWORK ERROR: ${netErr.name} - ${netErr.message}`) + trace.line(` 可能原因:8976 web 引擎未启动、IIS 反代未生效、请求被防火墙拦截、URL 有误`) + throw netErr + } + trace.line(` Status : ${res.status} ${res.statusText}`) + trace.line(` CT : ${res.headers.get('content-type') || '(none)'}`) + const raw = await res.text() + trace.line(` RawLen : ${raw.length}`) + if (raw.length <= 2000) { + trace.line(` RawBody: ${raw || '(empty)'}`) + } else { + trace.line(` RawBody(前2000字): ${raw.slice(0, 2000)} ...`) + } + let json = null + try { json = raw ? JSON.parse(raw) : null } catch (e) { + trace.line(` ⚠ 响应不是合法 JSON:${e.message}`) + } + if (json) trace.json(' JSON', json) + return { res, raw, json } + } + + const showMsg = (text) => { + el('msg').textContent = text || '' + } + + const applyProfileTheme = () => { + document.body.setAttribute('data-profile', state.profileKey) + const relaxedBtn = el('tabRelaxed') + const fashionBtn = el('tabFashion40') + const waveBtn = el('tabWave') + const koreanBtn = el('tabKorean') + const zhihuBtn = el('tabZhihu') + const xBtn = el('tabX') + if (relaxedBtn) relaxedBtn.classList.toggle('active', state.profileKey === 'mature_relaxed') + if (fashionBtn) fashionBtn.classList.toggle('active', state.profileKey === 'mature_fashion40') + if (waveBtn) waveBtn.classList.remove('active') + if (koreanBtn) koreanBtn.classList.remove('active') + if (zhihuBtn) zhihuBtn.classList.remove('active') + if (xBtn) xBtn.classList.remove('active') + + el('mainSections').style.display = 'block' + el('waveSection').style.display = 'none' + el('koreanSection').style.display = 'none' + el('zhihuSection').style.display = 'none' + el('xSection').style.display = 'none' + + const sloganEl = el('profileSlogan') + if (sloganEl) { + const p = state.profiles[state.profileKey] || {} + sloganEl.textContent = `${p.name || ''} · ${p.slogan || ''}` + } + } + + const setProfile = async profileKey => { + const nextKey = profileKey === 'mature_fashion40' ? 'mature_fashion40' : 'mature_relaxed' + state.profileKey = nextKey + localStorage.setItem('style_check_profile_key', nextKey) + applyProfileTheme() + resetForm() + resetLibForm() + el('aiAuditResult').textContent = `请上传穿搭照片后开始AI审核(当前:${profileText(nextKey)})` + el('aiAuditIssues').textContent = '' + await Promise.all([loadRules(), loadOutfits(), loadRecentChecks(), loadToday(), loadLibrary(), loadUnmatchedReport()]) + } + + const closeModal = (value) => { + const mask = el('appModal') + if (!mask) return + mask.classList.remove('show') + const resolver = state.modalResolver + state.modalResolver = null + if (resolver) resolver(value) + } + + const openModal = ({ title, message, okText = '确定', cancelText = '', danger = false, allowHtml = false }) => { + const mask = el('appModal') + const titleBox = el('modalTitle') + const msgBox = el('modalMessage') + const actions = el('modalActions') + if (!mask || !titleBox || !msgBox || !actions) return Promise.resolve(true) + titleBox.textContent = String(title || '') + if (allowHtml) msgBox.innerHTML = String(message || '') + else msgBox.textContent = String(message || '') + actions.innerHTML = '' + const okBtn = document.createElement('button') + okBtn.textContent = okText + if (danger) okBtn.className = 'danger' + okBtn.onclick = () => closeModal(true) + if (cancelText) { + const cancelBtn = document.createElement('button') + cancelBtn.textContent = cancelText + cancelBtn.className = 'secondary' + cancelBtn.onclick = () => closeModal(false) + actions.appendChild(cancelBtn) + } + actions.appendChild(okBtn) + mask.classList.add('show') + return new Promise(resolve => { + state.modalResolver = resolve + }) + } + + const modalAlert = (title, message) => openModal({ title, message, okText: '我知道了' }) + const modalConfirm = (title, message, okText = '确认', cancelText = '取消', danger = false) => openModal({ title, message, okText, cancelText, danger }) + + const showProgressModal = title => { + const mask = el('appModal') + const titleBox = el('modalTitle') + const msgBox = el('modalMessage') + const actions = el('modalActions') + if (!mask || !titleBox || !msgBox || !actions) return { log: () => {}, success: () => Promise.resolve(), fail: () => {} } + titleBox.textContent = String(title || '') + msgBox.textContent = '' + actions.innerHTML = '' + const closeBtn = document.createElement('button') + closeBtn.textContent = '关闭' + closeBtn.className = 'secondary' + closeBtn.style.display = 'none' + closeBtn.onclick = () => closeModal(false) + actions.appendChild(closeBtn) + mask.classList.add('show') + const logLines = [] + const render = () => { + msgBox.textContent = logLines.join('\n') + } + const api = { + log: line => { + logLines.push(String(line || '')) + render() + }, + async success(finalLine, countdownSec = 3) { + if (finalLine) { + logLines.push(String(finalLine)) + render() + } + for (let s = countdownSec; s > 0; s -= 1) { + logLines.push(`成功,${s}s 后自动关闭...`) + render() + await new Promise(resolve => { state.aiCountdownTimer = window.setTimeout(resolve, 1000) }) + logLines.pop() + } + closeModal(true) + }, + fail(errLine) { + if (state.aiCountdownTimer) { + clearTimeout(state.aiCountdownTimer) + state.aiCountdownTimer = 0 + } + logLines.push(String(errLine || '处理失败')) + logLines.push('请根据以上错误信息排查。') + render() + closeBtn.style.display = '' + } + } + return api + } + + const toDataUrl = file => new Promise((resolve, reject) => { + const reader = new FileReader() + reader.onload = () => resolve(String(reader.result || '')) + reader.onerror = () => reject(new Error('读取图片失败')) + reader.readAsDataURL(file) + }) + + const resetForm = () => { + el('fId').value = '' + el('fName').value = '' + el('fScene').value = 'commute' + el('fTempZone').value = '12-22℃' + el('fTop').value = '' + el('fBottom').value = '' + el('fShoes').value = '' + el('fOuter').value = '' + el('fAccessory').value = '' + el('fNotes').value = '' + } + + const resetLibForm = () => { + el('libItemId').value = '' + el('libItemName').value = '' + el('libItemSlot').value = 'top' + el('libItemCategory').value = '' + el('libItemTempZone').value = 'ALL' + el('libItemBrands').value = '' + el('libItemPriceMin').value = '' + el('libItemPriceMax').value = '' + el('libItemKeywords').value = '' + el('libItemNotes').value = '' + } + + const fillLibForm = (row) => { + el('libItemId').value = row.id || '' + el('libItemName').value = row.item_name || '' + el('libItemSlot').value = row.slot || 'top' + el('libItemCategory').value = row.category || '' + el('libItemTempZone').value = row.temp_zone || 'ALL' + el('libItemBrands').value = row.brand_options || '' + el('libItemPriceMin').value = Number.isFinite(Number(row.price_min)) ? row.price_min : '' + el('libItemPriceMax').value = Number.isFinite(Number(row.price_max)) ? row.price_max : '' + el('libItemKeywords').value = row.keywords || '' + el('libItemNotes').value = row.notes || '' + } + + const fillForm = (row) => { + el('fId').value = row.id + el('fName').value = row.name || '' + el('fScene').value = row.scene || 'commute' + el('fTempZone').value = row.temp_zone || '12-22℃' + el('fTop').value = row.top_desc || '' + el('fBottom').value = row.bottom_desc || '' + el('fShoes').value = row.shoes_desc || '' + el('fOuter').value = row.outer_desc || '' + el('fAccessory').value = row.accessory_desc || '' + el('fNotes').value = row.notes || '' + } + + const loadOutfits = async () => { + const scene = el('filterScene').value + const tempZone = el('filterTempZone').value + const q = el('filterQ').value.trim() + const sp = new URLSearchParams() + if (scene) sp.set('scene', scene) + if (tempZone) sp.set('temp_zone', tempZone) + if (q) sp.set('q', q) + sp.set('include_links', '1') + const data = await req(withProfileUrl(`${apiBase}/outfits?${sp.toString()}`)) + const tbody = el('outfitBody') + tbody.innerHTML = '' + data.rows.forEach(row => { + const tr = document.createElement('tr') + tr.innerHTML = ` + ${row.name || ''} + ${sceneText(row.scene)} + ${row.temp_zone || ''} + ${row.top_desc || ''} + ${row.bottom_desc || ''} + ${row.shoes_desc || ''} + ${row.outer_desc || ''} + ${row.accessory_desc || ''} + ${row.notes || ''} + ${row.linked_items_summary || '-'} + +
    + + +
    + + ` + tbody.appendChild(tr) + }) + tbody.querySelectorAll('button[data-act="edit"]').forEach(btn => { + btn.onclick = () => { + const id = Number(btn.getAttribute('data-id')) + const row = data.rows.find(r => Number(r.id) === id) + if (row) fillForm(row) + } + }) + tbody.querySelectorAll('button[data-act="del"]').forEach(btn => { + btn.onclick = async () => { + const id = Number(btn.getAttribute('data-id')) + if (!id) return + const ok = await modalConfirm('确认删除', '确认删除这条搭配吗?删除后不可恢复。', '确定删除', '再想想', true) + if (!ok) return + try { + await req(withProfileUrl(`${apiBase}/outfits/${id}`), { method: 'DELETE' }) + await modalAlert('删除成功', '这条搭配已删除。') + await loadOutfits() + await loadUnmatchedReport() + } catch (e) { + await modalAlert('删除失败', String(e.message || e)) + } + } + }) + } + + const loadRules = async () => { + const data = await req(withProfileUrl(`${apiBase}/rules`)) + const box = el('ruleList') + box.innerHTML = '' + data.rows.forEach(r => { + const div = document.createElement('label') + div.className = 'sc-rule-item' + div.innerHTML = ` + + [${r.rule_group}] ${r.rule_text} + ` + box.appendChild(div) + }) + } + + const loadLibrary = async () => { + const slot = el('libSlot').value + const tempZone = el('libTempZone').value + const q = el('libQ').value.trim() + const sp = new URLSearchParams() + if (slot) sp.set('slot', slot) + if (tempZone) sp.set('temp_zone', tempZone) + if (q) sp.set('q', q) + const data = await req(withProfileUrl(`${apiBase}/library/items?${sp.toString()}`)) + const tbody = el('libBody') + tbody.innerHTML = '' + data.rows.forEach(row => { + const tr = document.createElement('tr') + tr.innerHTML = ` + ${row.item_name || ''} + ${slotText(row.slot)} + ${row.category || ''} + ${row.temp_zone || ''} + ${row.brand_options || ''} + ${Number.isFinite(Number(row.price_min)) && Number.isFinite(Number(row.price_max)) ? `${row.price_min}-${row.price_max}` : '-'} + ${Number(row.image_count || 0)} 张 + ${row.keywords || ''} + ${row.notes || ''} + +
    + + + +
    + + ` + tbody.appendChild(tr) + }) + tbody.querySelectorAll('button[data-act="viewimg"]').forEach(btn => { + btn.onclick = async () => { + const id = Number(btn.getAttribute('data-id')) + const row = data.rows.find(r => Number(r.id) === id) + if (!row) return + await showItemImages(row) + } + }) + tbody.querySelectorAll('button[data-act="uploadimg"]').forEach(btn => { + btn.onclick = async () => { + const id = Number(btn.getAttribute('data-id')) + const row = data.rows.find(r => Number(r.id) === id) + if (!row) return + await uploadLibraryImage(row) + } + }) + tbody.querySelectorAll('button[data-act="edititem"]').forEach(btn => { + btn.onclick = () => { + const id = Number(btn.getAttribute('data-id')) + const row = data.rows.find(r => Number(r.id) === id) + if (row) fillLibForm(row) + } + }) + } + + const showItemImages = async (itemRow) => { + const data = await req(withProfileUrl(`${apiBase}/library/items/${itemRow.id}/images`)) + const rows = Array.isArray(data.rows) ? data.rows : [] + if (!rows.length) { + await modalAlert('图片为空', `【${itemRow.item_name}】暂时没有图片,建议先上传。`) + return + } + const cards = rows.map((r, idx) => { + const url = String(r.image_url || '') + return ` + +
    + img-${idx + 1} +
    #${idx + 1} · ${r.source_type || ''}
    +
    +
    + ` + }).join('') + await openModal({ + title: `${itemRow.item_name} · 图片附件(${rows.length})`, + message: `
    ${cards}
    `, + okText: '关闭', + allowHtml: true + }) + } + + const uploadLibraryImage = async (itemRow) => { + const input = el('libUploadInput') + if (!input) return + input.value = '' + const picked = await new Promise(resolve => { + input.onchange = () => { + const file = input.files && input.files[0] + resolve(file || null) + } + input.click() + }) + if (!picked) return + const imageDataUrl = await toDataUrl(picked) + await req(`${apiBase}/library/items/${itemRow.id}/images`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ + profile_key: state.profileKey, + image_data_url: imageDataUrl, + caption: `${itemRow.item_name} 上传图片` + }) + }) + await modalAlert('上传成功', `【${itemRow.item_name}】图片已上传。`) + await loadLibrary() + } + + const saveLibraryItem = async () => { + const id = Number(el('libItemId').value || 0) + const payload = { + profile_key: state.profileKey, + item_name: el('libItemName').value.trim(), + slot: el('libItemSlot').value, + category: el('libItemCategory').value.trim(), + temp_zone: el('libItemTempZone').value, + brand_options: el('libItemBrands').value.trim(), + price_min: el('libItemPriceMin').value === '' ? null : Number(el('libItemPriceMin').value), + price_max: el('libItemPriceMax').value === '' ? null : Number(el('libItemPriceMax').value), + keywords: el('libItemKeywords').value.trim(), + notes: el('libItemNotes').value.trim() + } + if (!payload.item_name) { + await modalAlert('无法保存', '服饰名称不能为空。') + return + } + if (!payload.category) { + await modalAlert('无法保存', '服饰类别不能为空。') + return + } + if (id > 0) { + await req(`${apiBase}/library/items/${id}`, { + method: 'PUT', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(payload) + }) + await modalAlert('保存成功', '服饰条目已更新。') + } else { + await req(`${apiBase}/library/items`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(payload) + }) + await modalAlert('新增成功', '服饰条目已新增。') + } + resetLibForm() + await loadLibrary() + await loadUnmatchedReport() + } + + const loadUnmatchedReport = async () => { + const data = await req(withProfileUrl(`${apiBase}/library/unmatched_report`)) + if (!data.rows || !data.rows.length) { + el('unmatchedReport').textContent = '未匹配报告:当前全部已匹配' + return + } + const text = data.rows.map(r => `${r.outfit_name}|${slotText(r.slot)}|${r.text}`).join('\n') + el('unmatchedReport').textContent = `未匹配报告(${data.unmatched_count}条):\n${text}` + } + + const rebuildLinks = async () => { + const data = await req(`${apiBase}/library/rebuild_links`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ profile_key: state.profileKey }) + }) + const rows = Array.isArray(data.unmatched) ? data.unmatched : [] + if (!rows.length) { + el('unmatchedReport').textContent = `重建完成:已匹配 ${data.matched_count} 条链接,未匹配 0 条` + return + } + const text = rows.map(r => `${r.outfit_name}|${slotText(r.slot)}|${r.text}`).join('\n') + el('unmatchedReport').textContent = `重建完成:已匹配 ${data.matched_count} 条链接,未匹配 ${data.unmatched_count} 条\n${text}` + await modalAlert('重建完成', `已匹配 ${data.matched_count} 条链接,未匹配 ${data.unmatched_count} 条。`) + } + + const fetchLocalImages = async () => { + const progress = showProgressModal('本地化找图处理中') + try { + progress.log(`已开始:按当前版本(${profileText(state.profileKey)})逐条服饰抓取图片并保存到本地...`) + const data = await req(`${apiBase}/library/images/fetch_local`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ profile_key: state.profileKey, target_per_item: 5, force: 1 }) + }) + progress.log(`处理完成:共 ${data.item_count || 0} 条服饰,缺失(<3张) ${data.missing_count || 0} 条`) + if (Array.isArray(data.missing) && data.missing.length) { + const text = data.missing.map(x => `- ${x.item_name}(${slotText(x.slot)}): ${x.image_count}张`).join('\n') + progress.log(`缺失明细:\n${text}`) + } + await loadLibrary() + await progress.success('本地化找图完成。', 3) + } catch (e) { + progress.fail(`本地化找图失败:${String((e && e.message) || e)}`) + } + } + + const renderAiReport = (report) => { + const r = report || {} + const ruleResult = r.rule_result || {} + const lib = r.library_result || {} + const rules = Array.isArray(ruleResult.rules) ? ruleResult.rules : [] + const failRules = rules.filter(x => !x.pass).map(x => `- ${x.title}|${x.detail}`).join('\n') + const conflicts = Array.isArray(lib.conflict_list) ? lib.conflict_list.map(x => `- ${x}`).join('\n') : '' + const similar = Array.isArray(lib.similar_outfits) ? lib.similar_outfits.map(x => `- ${x.name}(重叠${x.overlap_count})`).join('\n') : '' + el('aiAuditResult').textContent = [ + `结论:${r.result_level || '-'}`, + `分数:${r.total_score || 0}`, + `温区:${r.temp_zone || '-'}`, + `摘要:${r.summary || '-'}`, + similar ? `近似搭配:\n${similar}` : '近似搭配:无' + ].join('\n') + el('aiAuditIssues').textContent = [ + failRules ? `规则未通过:\n${failRules}` : '规则未通过:无', + conflicts ? `库冲突/未匹配:\n${conflicts}` : '库冲突/未匹配:无' + ].join('\n\n') + } + + const runAiAudit = async () => { + const file = el('aiImage').files && el('aiImage').files[0] + if (!file) { + await modalAlert('缺少照片', '请先选择穿搭照片,再开始AI审核。') + return + } + const progress = showProgressModal('AI审核处理中') + try { + progress.log('已开始处理。') + progress.log('1/4 正在读取图片...') + const imageDataUrl = await toDataUrl(file) + progress.log('2/4 正在调用AI识别(上衣/下装/鞋/外搭/配饰、颜色、版型、LOGO)...') + const payload = { + profile_key: state.profileKey, + scene: el('aiScene').value, + temp_zone: el('aiTempZone').value || el('tempZone').value, + temp_c: Number(el('tempC').value || NaN), + image_data_url: imageDataUrl + } + const data = await req(`${apiBase}/ai/audit`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(payload) + }) + progress.log('3/4 正在执行规则校验与库冲突匹配...') + renderAiReport(data.report) + progress.log('4/4 已完成结果渲染。') + await progress.success('AI审核完成。', 3) + } catch (e) { + progress.fail(`AI审核失败:${String((e && e.message) || e)}`) + } + } + + const loadRecentChecks = async () => { + const data = await req(withProfileUrl(`${apiBase}/checks/recent?limit=7`)) + if (!data.rows.length) { + el('recentChecks').textContent = '最近暂无镜检记录' + return + } + const text = data.rows.map(r => { + const issues = Array.isArray(r.issues) ? r.issues.join(';') : '' + return `${r.check_date}|${sceneText(r.scene)}|${r.temp_zone}|评分${r.total_score}|${r.result_level}${issues ? `|问题:${issues}` : ''}` + }).join('\n') + el('recentChecks').textContent = text + } + + const loadToday = async () => { + const scene = el('scene').value + const tempC = el('tempC').value.trim() + const tempZone = el('tempZone').value + const sp = new URLSearchParams() + sp.set('scene', scene) + if (tempC) sp.set('temp_c', tempC) + if (tempZone) sp.set('temp_zone', tempZone) + const data = await req(withProfileUrl(`${apiBase}/today?${sp.toString()}`)) + const c = data.chosen + if (!c) { + el('todayBox').textContent = '当前条件暂无可用搭配,请在搭配库新增。' + return + } + const alts = (data.alternatives || []).map(x => `- ${x.name}(${x.temp_zone})`).join('\n') + el('todayBox').textContent = [ + `推荐:${c.name}`, + `场景:${sceneText(c.scene)},温区:${c.temp_zone}`, + `上衣:${c.top_desc || '-'}`, + `下装:${c.bottom_desc || '-'}`, + `鞋:${c.shoes_desc || '-'}`, + `外搭:${c.outer_desc || '-'}`, + `配饰:${c.accessory_desc || '-'}`, + `备注:${c.notes || '-'}`, + alts ? `备选:\n${alts}` : '' + ].filter(Boolean).join('\n') + } + + // === WAVE Gallery & Crawler === + const loadWaveGallery = async () => { + try { + const data = await req(`${apiBase}/wave?page=1&limit=500`) + state.waveList = data.rows || [] + renderWaveGrid() + } catch (e) { + console.error(e) + } + } + + const renderWaveGrid = () => { + const grid = el('waveGrid') + grid.innerHTML = '' + state.waveList.forEach((w, idx) => { + const card = document.createElement('div') + card.className = 'wave-card' + card.innerHTML = ` + +
    ${w.evaluation || 'AI 正在解析中...'}
    + ` + card.onclick = () => openWaveLightbox(idx) + grid.appendChild(card) + }) + } + + const openWaveLightbox = (idx) => { + if (!state.waveList || !state.waveList[idx]) return + state.waveIndex = idx + const w = state.waveList[idx] + el('waveLbImg').src = w.image_url + el('waveLbEval').textContent = w.evaluation || '暂无评价' + el('waveLbNotes').textContent = w.notes || '暂无注意事项' + el('waveLbSource').href = w.source_url || '#' + el('waveLightbox').style.display = 'flex' + } + + const closeWaveLightbox = () => { + el('waveLightbox').style.display = 'none' + } + + const switchWaveLightbox = (dir) => { + let nextIdx = state.waveIndex + dir + if (nextIdx < 0) nextIdx = state.waveList.length - 1 + if (nextIdx >= state.waveList.length) nextIdx = 0 + openWaveLightbox(nextIdx) + } + + const checkWaveCrawlerStatus = async () => { + try { + const data = await req(`${apiBase}/wave/status`) + const btn = el('btnWaveToggleCrawler') + const st = el('waveCrawlerStatus') + const logs = data.logs || [] + + if (el('waveLogsModal').style.display === 'flex') { + const pre = el('waveLogsContent') + pre.textContent = logs.join('\n') + pre.scrollTop = pre.scrollHeight + } + + if (data.isRunning) { + btn.textContent = '⏹ 停止佛系爬虫' + btn.style.background = 'rgba(239, 68, 68, 0.8)' + st.innerHTML = `爬虫运行中 (第${data.currentPage}页)
    已处理 ${data.totalProcessed},AI 采纳 ${data.totalApproved} 条` + state.waveCrawlerTimer = setTimeout(checkWaveCrawlerStatus, 5000) // Poll every 5s if running + } else { + btn.textContent = '▶ 启动佛系爬虫 (每页缓爬)' + btn.style.background = 'rgba(37, 99, 235, 0.8)' + st.innerHTML = `爬虫已停止
    已处理 ${data.totalProcessed},AI 采纳 ${data.totalApproved} 条` + if (state.waveCrawlerTimer) { + clearTimeout(state.waveCrawlerTimer) + state.waveCrawlerTimer = null + } + } + } catch (e) { + console.error(e) + } + } + + const toggleWaveCrawler = async () => { + trace.open('佛系爬虫开关 (wave) - 全链跟踪') + trace.line(`Page Origin: ${window.location.origin}`) + trace.line(`AUTOMATION_API: ${AUTOMATION_API || '(空串,走相对路径,由 8976 反代到 8977)'}`) + const toggleUrl = `${AUTOMATION_API}${apiBase}/wave/toggle` + const statusUrl = `${apiBase}/wave/status` + try { + // 1) 切换状态 + const r1 = await traceFetch('Step 1 切换爬虫状态', toggleUrl, { method: 'POST' }) + if (!r1.res.ok) throw new Error(`HTTP_${r1.res.status} (切换接口返回非 2xx)`) + if (!r1.json || r1.json.ok !== true) throw new Error((r1.json && r1.json.error) || '切换接口 ok=false') + trace.line(`✓ 服务端 isRunning = ${r1.json.isRunning}`) + + // 2) 拉一次状态确认 + const r2 = await traceFetch('Step 2 读取爬虫状态', statusUrl) + if (!r2.res.ok) throw new Error(`HTTP_${r2.res.status} (状态接口返回非 2xx)`) + if (!r2.json || r2.json.ok !== true) throw new Error((r2.json && r2.json.error) || '状态接口 ok=false') + + trace.done(true, `isRunning=${r2.json.isRunning}、page=${r2.json.currentPage}、processed=${r2.json.totalProcessed}`) + checkWaveCrawlerStatus() + } catch (e) { + trace.line(`❌ 异常: ${e.name || 'Error'} - ${e.message}`) + if (e.stack) trace.line(`Stack:\n${e.stack}`) + trace.done(false, e.message) + // 不弹 alert,全部信息保留在调试模态窗内,点“复制全部”拷贝即可 + } + } + + const loadKoreanGallery = async () => { + try { + const data = await req(`${apiBase}/korean?page=1&limit=500`) + state.koreanList = data.rows || [] + renderKoreanGrid() + } catch (e) { + console.error(e) + } + } + + const renderKoreanGrid = () => { + const grid = el('koreanGrid') + grid.innerHTML = '' + state.koreanList.forEach((w, idx) => { + const card = document.createElement('div') + card.className = 'wave-card' + card.innerHTML = ` + +
    ${w.evaluation || 'AI 正在解析中...'}
    + ` + card.onclick = () => openKoreanLightbox(idx) + grid.appendChild(card) + }) + } + + const openKoreanLightbox = (idx) => { + if (!state.koreanList || !state.koreanList[idx]) return + state.koreanIndex = idx + const w = state.koreanList[idx] + el('koreanLbImg').src = w.image_url + el('koreanLbEval').textContent = w.evaluation || '暂无评价' + el('koreanLbNotes').textContent = w.notes || '暂无注意事项' + el('koreanLbSource').href = w.source_url || '#' + el('koreanLightbox').style.display = 'flex' + } + + const closeKoreanLightbox = () => { + el('koreanLightbox').style.display = 'none' + } + + const switchKoreanLightbox = (dir) => { + let nextIdx = state.koreanIndex + dir + if (nextIdx < 0) nextIdx = state.koreanList.length - 1 + if (nextIdx >= state.koreanList.length) nextIdx = 0 + openKoreanLightbox(nextIdx) + } + + const checkKoreanCrawlerStatus = async () => { + try { + const data = await req(`${apiBase}/korean/status`) + const btn = el('btnKoreanToggleCrawler') + const st = el('koreanCrawlerStatus') + const logs = data.logs || [] + + if (el('koreanLogsModal').style.display === 'flex') { + const pre = el('koreanLogsContent') + pre.textContent = logs.join('\n') + pre.scrollTop = pre.scrollHeight + } + + if (data.isRunning) { + btn.textContent = '⏹ 停止佛系爬虫' + btn.style.background = 'rgba(239, 68, 68, 0.8)' + st.innerHTML = `爬虫运行中 (第${data.currentPage}页)
    已处理 ${data.totalProcessed},AI 采纳 ${data.totalApproved} 条` + state.koreanCrawlerTimer = setTimeout(checkKoreanCrawlerStatus, 5000) + } else { + btn.textContent = '▶ 启动佛系爬虫' + btn.style.background = 'rgba(37, 99, 235, 0.8)' + st.innerHTML = `爬虫已停止
    已处理 ${data.totalProcessed},AI 采纳 ${data.totalApproved} 条` + if (state.koreanCrawlerTimer) { + clearTimeout(state.koreanCrawlerTimer) + state.koreanCrawlerTimer = null + } + } + } catch (e) { + console.error(e) + } + } + + const toggleKoreanCrawler = async () => { + trace.open('佛系爬虫开关 (korean) - 全链跟踪') + trace.line(`Page Origin: ${window.location.origin}`) + trace.line(`AUTOMATION_API: ${AUTOMATION_API || '(空串,走相对路径,由 8976 反代到 8977)'}`) + const toggleUrl = `${AUTOMATION_API}${apiBase}/korean/toggle` + const statusUrl = `${apiBase}/korean/status` + try { + const r1 = await traceFetch('Step 1 切换爬虫状态', toggleUrl, { method: 'POST' }) + if (!r1.res.ok) throw new Error(`HTTP_${r1.res.status} (切换接口返回非 2xx)`) + if (!r1.json || r1.json.ok !== true) throw new Error((r1.json && r1.json.error) || '切换接口 ok=false') + trace.line(`✓ 服务端 isRunning = ${r1.json.isRunning}`) + + const r2 = await traceFetch('Step 2 读取爬虫状态', statusUrl) + if (!r2.res.ok) throw new Error(`HTTP_${r2.res.status} (状态接口返回非 2xx)`) + if (!r2.json || r2.json.ok !== true) throw new Error((r2.json && r2.json.error) || '状态接口 ok=false') + + trace.done(true, `isRunning=${r2.json.isRunning}、page=${r2.json.currentPage}、processed=${r2.json.totalProcessed}`) + checkKoreanCrawlerStatus() + } catch (e) { + trace.line(`❌ 异常: ${e.name || 'Error'} - ${e.message}`) + if (e.stack) trace.line(`Stack:\n${e.stack}`) + trace.done(false, e.message) + } + } + + const loadZhihuIndex = async () => { + try { + const res = await fetch('/data/zhihu_articles/index.json', { cache: 'no-store' }) + if (!res.ok) { + el('zhihuTocBody').innerHTML = '
    暂无数据,请先运行抓取脚本
    ' + return + } + const data = await res.json() + + const grouped = {} + data.forEach((item, i) => { + if (!grouped[item.group]) grouped[item.group] = [] + grouped[item.group].push({ ...item, index: i }) + }) + + let html = '' + for (const group in grouped) { + html += `
    ${group}
    ` + grouped[group].forEach(item => { + if (!item.contentHtml) { + html += `
    ${item.title}
    ` + } else { + html += `
    ${item.title}
    ` + } + }) + } + el('zhihuTocBody').innerHTML = html + + window.loadZhihuArticle = async (index) => { + document.querySelectorAll('.toc-item').forEach(el => el.classList.remove('active')) + event.currentTarget.classList.add('active') + try { + const aRes = await fetch(`/data/zhihu_articles/article_${index}.html`, { cache: 'no-store' }) + if (!aRes.ok) throw new Error('Load failed') + const aHtml = await aRes.text() + el('zhihuContentArea').innerHTML = `
    ${aHtml}
    ` + el('zhihuContentArea').scrollTop = 0 + } catch (e) { + el('zhihuContentArea').innerHTML = `

    加载文章失败

    ` + } + } + } catch (e) { + console.error('Failed to load zhihu index', e) + } + } + + window.openXLightbox = (src) => { + el('xLbImg').src = src + el('xLightbox').style.display = 'flex' + } + + window.closeXLightbox = () => { + el('xLightbox').style.display = 'none' + } + + window.loadXAccount = async (account) => { + document.querySelectorAll('.x-nav-item').forEach(el => el.classList.remove('active')) + if (event && event.currentTarget) { + event.currentTarget.classList.add('active') + } + el('xHeaderTitle').textContent = `@${account}` + el('xFeed').innerHTML = ` +
    +
    +

    正在加载推文...

    +
    + ` + + try { + const res = await fetch(`/data/x_fashion/${account}/data.json`, { cache: 'no-store' }) + if (!res.ok) { + el('xFeed').innerHTML = '

    暂无数据,请先运行抓取脚本

    ' + return + } + const data = await res.json() + if (data.length === 0) { + el('xFeed').innerHTML = '

    还没有推文

    ' + return + } + + let html = '' + data.forEach(tweet => { + const time = new Date(tweet.timestamp).toLocaleString() + let imagesHtml = '' + if (tweet.localImages && tweet.localImages.length > 0) { + imagesHtml = `
    ` + tweet.localImages.forEach(img => { + imagesHtml += `` + }) + imagesHtml += `
    ` + } + + html += ` +
    +
    +
    +
    + ${account} + @${account} + · + ${time} +
    +
    ${tweet.text.replace(/\n/g, '
    ')}
    + ${imagesHtml} +
    + 💬 + 🔁 + ❤️ + 📊 +
    +
    +
    + ` + }) + el('xFeed').innerHTML = html + } catch (e) { + console.error(e) + el('xFeed').innerHTML = '

    加载数据失败

    ' + } + } + + const saveOutfit = async () => { + const id = Number(el('fId').value || 0) + const payload = { + profile_key: state.profileKey, + name: el('fName').value.trim(), + scene: el('fScene').value, + temp_zone: el('fTempZone').value, + top_desc: el('fTop').value.trim(), + bottom_desc: el('fBottom').value.trim(), + shoes_desc: el('fShoes').value.trim(), + outer_desc: el('fOuter').value.trim(), + accessory_desc: el('fAccessory').value.trim(), + notes: el('fNotes').value.trim() + } + if (!payload.name) { + await modalAlert('无法保存', '名称不能为空。') + return + } + if (id > 0) { + await req(`${apiBase}/outfits/${id}`, { + method: 'PUT', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(payload) + }) + await modalAlert('保存成功', '搭配已更新。') + } else { + await req(`${apiBase}/outfits`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(payload) + }) + await modalAlert('新增成功', '搭配已新增。') + } + resetForm() + await loadOutfits() + await loadUnmatchedReport() + } + + const submitCheck = async () => { + const checkboxes = [...document.querySelectorAll('#ruleList input[type="checkbox"]')] + const passed = checkboxes.filter(x => x.checked) + const failed = checkboxes.filter(x => !x.checked) + const fullScore = checkboxes.reduce((s, x) => s + Number(x.getAttribute('data-weight') || 0), 0) + const score = passed.reduce((s, x) => s + Number(x.getAttribute('data-weight') || 0), 0) + const totalScore = fullScore > 0 ? Math.round(score * 100 / fullScore) : 0 + const resultLevel = totalScore >= 80 ? 'pass' : totalScore >= 60 ? 'warn' : 'fail' + const issues = failed.map(x => { + const text = x.parentElement ? x.parentElement.textContent : '' + return String(text || '').trim() + }) + const payload = { + profile_key: state.profileKey, + check_date: new Date().toISOString().slice(0, 10), + scene: el('scene').value, + temp_c: Number(el('tempC').value || NaN), + temp_zone: el('tempZone').value, + total_score: totalScore, + result_level: resultLevel, + issues + } + await req(`${apiBase}/checks`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(payload) + }) + el('recentChecks').textContent = `本次评分:${totalScore}(${resultLevel})` + await loadRecentChecks() + await modalAlert('镜检已提交', `本次评分:${totalScore}(${resultLevel})`) + } + + const init = async () => { + const saved = localStorage.getItem('style_check_profile_key') + state.profileKey = saved === 'mature_fashion40' ? 'mature_fashion40' : 'mature_relaxed' + applyProfileTheme() + + const urlParams = new URLSearchParams(window.location.search) + const currentTab = urlParams.get('tab') + + el('tabRelaxed').onclick = () => { + if (currentTab) { + localStorage.setItem('style_check_profile_key', 'mature_relaxed') + window.location.href = '/tools/style_check' + } else { + setProfile('mature_relaxed').catch(async e => { await modalAlert('切换失败', String(e.message || e)) }) + } + } + el('tabFashion40').onclick = () => { + if (currentTab) { + localStorage.setItem('style_check_profile_key', 'mature_fashion40') + window.location.href = '/tools/style_check' + } else { + setProfile('mature_fashion40').catch(async e => { await modalAlert('切换失败', String(e.message || e)) }) + } + } + + const showWaveTab = () => { + el('tabRelaxed').classList.remove('active') + el('tabFashion40').classList.remove('active') + el('tabKorean').classList.remove('active') + el('tabZhihu').classList.remove('active') + el('tabX').classList.remove('active') + el('tabWave').classList.add('active') + el('mainSections').style.display = 'none' + el('koreanSection').style.display = 'none' + el('zhihuSection').style.display = 'none' + el('xSection').style.display = 'none' + el('waveSection').style.display = 'block' + loadWaveGallery() + checkWaveCrawlerStatus() + } + + const showKoreanTab = () => { + el('tabRelaxed').classList.remove('active') + el('tabFashion40').classList.remove('active') + el('tabWave').classList.remove('active') + el('tabZhihu').classList.remove('active') + el('tabX').classList.remove('active') + el('tabKorean').classList.add('active') + el('mainSections').style.display = 'none' + el('waveSection').style.display = 'none' + el('zhihuSection').style.display = 'none' + el('xSection').style.display = 'none' + el('koreanSection').style.display = 'block' + loadKoreanGallery() + checkKoreanCrawlerStatus() + } + + const showZhihuTab = () => { + el('tabRelaxed').classList.remove('active') + el('tabFashion40').classList.remove('active') + el('tabWave').classList.remove('active') + el('tabKorean').classList.remove('active') + el('tabX').classList.remove('active') + el('tabZhihu').classList.add('active') + el('mainSections').style.display = 'none' + el('waveSection').style.display = 'none' + el('koreanSection').style.display = 'none' + el('xSection').style.display = 'none' + el('zhihuSection').style.display = 'block' + loadZhihuIndex() + } + + const showXTab = () => { + el('tabRelaxed').classList.remove('active') + el('tabFashion40').classList.remove('active') + el('tabWave').classList.remove('active') + el('tabKorean').classList.remove('active') + el('tabZhihu').classList.remove('active') + el('tabX').classList.add('active') + el('mainSections').style.display = 'none' + el('waveSection').style.display = 'none' + el('koreanSection').style.display = 'none' + el('zhihuSection').style.display = 'none' + el('xSection').style.display = 'block' + window.loadXAccount('mensgrinding') + } + + // WAVE + el('tabWave').onclick = () => { + if (currentTab !== 'wave') window.open('/tools/style_check?tab=wave', '_blank') + } + el('btnWaveToggleCrawler').onclick = toggleWaveCrawler + + // Wave manual links upload + const uploadInput = el('waveLinkFile') + const uploadBtn = el('btnWaveUploadLinks') + if (uploadBtn && uploadInput) { + uploadBtn.onclick = () => uploadInput.click() + uploadInput.onchange = async (e) => { + const file = e.target.files && e.target.files[0] + if (!file) return + try { + const text = await file.text() + let links = [] + try { + links = JSON.parse(text) + if (!Array.isArray(links)) throw new Error('Not an array') + } catch { + // fallback to split by newline + links = text.split('\n').map(l => l.trim()).filter(l => l.startsWith('http')) + } + if (links.length === 0) { + alert('文件中没有找到有效的图片链接') + return + } + const res = await req(`${AUTOMATION_API}${apiBase}/wave/upload_links`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ links }) + }) + alert(`成功投喂 ${links.length} 条链接!目前队列中还有 ${res.queueLength} 张图片等待后台佛系下载和AI审核。`) + checkWaveCrawlerStatus() + } catch (err) { + alert('读取文件失败: ' + err.message + '\n请确认 8977 自动化服务已启动') + } + uploadInput.value = '' + } + } + + el('btnWaveShowLogs').onclick = async () => { + el('waveLogsModal').style.display = 'flex' + await checkWaveCrawlerStatus() + } + el('btnWaveLogsClose').onclick = () => { + el('waveLogsModal').style.display = 'none' + } + + // 调试跟踪模态窗:关闭 / 复制全部 + const btnTraceClose = el('btnDebugTraceClose') + if (btnTraceClose) btnTraceClose.onclick = () => { + el('debugTraceModal').style.display = 'none' + } + const btnTraceCopy = el('btnDebugTraceCopy') + if (btnTraceCopy) btnTraceCopy.onclick = async () => { + const text = el('debugTraceContent').textContent || '' + try { + await navigator.clipboard.writeText(text) + btnTraceCopy.textContent = '✓ 已复制' + setTimeout(() => { btnTraceCopy.textContent = '复制全部' }, 1500) + } catch { + // 降级:选中让用户手动 Ctrl+C + const range = document.createRange() + range.selectNodeContents(el('debugTraceContent')) + const sel = window.getSelection() + sel.removeAllRanges(); sel.addRange(range) + btnTraceCopy.textContent = '已选中,请 Ctrl+C' + setTimeout(() => { btnTraceCopy.textContent = '复制全部' }, 2000) + } + } + el('waveLbClose').onclick = closeWaveLightbox + el('waveLbPrev').onclick = () => switchWaveLightbox(-1) + el('waveLbNext').onclick = () => switchWaveLightbox(1) + + // KOREAN + el('tabKorean').onclick = () => { + if (currentTab !== 'korean') window.open('/tools/style_check?tab=korean', '_blank') + } + el('btnKoreanToggleCrawler').onclick = toggleKoreanCrawler + + // ZHIHU + el('tabZhihu').onclick = () => { + if (currentTab !== 'zhihu') window.open('/tools/style_check?tab=zhihu', '_blank') + } + + // X (Twitter) + el('tabX').onclick = () => { + if (currentTab !== 'x') window.open('/tools/style_check?tab=x', '_blank') + } + + if (el('xLbClose')) { + el('xLbClose').addEventListener('click', window.closeXLightbox) + el('xLightbox').addEventListener('click', (e) => { + if (e.target === el('xLightbox')) window.closeXLightbox() + }) + } + + if (el('btnXHelp')) { + el('btnXHelp').addEventListener('click', () => { + el('xHelpModal').style.display = 'flex' + }) + } + + if (el('btnXHelpClose')) { + el('btnXHelpClose').addEventListener('click', () => { + el('xHelpModal').style.display = 'none' + }) + } + + const uploadInputK = el('koreanLinkFile') + const uploadBtnK = el('btnKoreanUploadLinks') + if (uploadBtnK && uploadInputK) { + uploadBtnK.onclick = () => uploadInputK.click() + uploadInputK.onchange = async (e) => { + const file = e.target.files && e.target.files[0] + if (!file) return + try { + const text = await file.text() + let links = [] + try { + links = JSON.parse(text) + if (!Array.isArray(links)) throw new Error('Not an array') + } catch { + links = text.split('\n').map(l => l.trim()).filter(l => l.startsWith('http')) + } + if (links.length === 0) { + alert('文件中没有找到有效的图片链接') + return + } + const res = await req(`${AUTOMATION_API}${apiBase}/korean/upload_links`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ links }) + }) + alert(`成功投喂 ${links.length} 条链接!目前队列中还有 ${res.queueLength} 张图片等待后台佛系下载和AI审核。`) + checkKoreanCrawlerStatus() + } catch (err) { + alert('读取文件失败: ' + err.message + '\n请确认 8977 自动化服务已启动') + } + uploadInputK.value = '' + } + } + + el('btnKoreanShowLogs').onclick = async () => { + el('koreanLogsModal').style.display = 'flex' + await checkKoreanCrawlerStatus() + } + el('btnKoreanLogsClose').onclick = () => { + el('koreanLogsModal').style.display = 'none' + } + el('koreanLbClose').onclick = closeKoreanLightbox + el('koreanLbPrev').onclick = () => switchKoreanLightbox(-1) + el('koreanLbNext').onclick = () => switchKoreanLightbox(1) + + el('btnToday').onclick = () => loadToday().catch(async e => { await modalAlert('获取失败', String(e.message || e)) }) + el('btnSearch').onclick = () => loadOutfits().catch(async e => { await modalAlert('查询失败', String(e.message || e)) }) + el('btnLibSearch').onclick = () => loadLibrary().catch(async e => { await modalAlert('服饰库查询失败', String(e.message || e)) }) + el('btnRebuildLinks').onclick = () => rebuildLinks().then(() => loadOutfits()).catch(async e => { await modalAlert('重建失败', String(e.message || e)) }) + const btnFetch = el('btnFetchLocalImages') + if (btnFetch) btnFetch.onclick = () => fetchLocalImages().catch(async e => { await modalAlert('找图失败', String(e.message || e)) }) + el('btnLibSave').onclick = () => saveLibraryItem().catch(async e => { await modalAlert('服饰保存失败', String(e.message || e)) }) + el('btnLibReset').onclick = () => resetLibForm() + el('btnAiAudit').onclick = () => runAiAudit().catch(async e => { await modalAlert('AI审核失败', String(e.message || e)) }) + el('aiImage').onchange = () => { + const f = el('aiImage').files && el('aiImage').files[0] + if (!f) { + el('aiPreview').removeAttribute('src') + return + } + toDataUrl(f).then(url => { + el('aiPreview').src = url + }).catch(() => {}) + } + el('btnSave').onclick = () => saveOutfit().catch(async e => { await modalAlert('保存失败', String(e.message || e)) }) + el('btnReset').onclick = () => { + resetForm() + showMsg('') + } + el('btnCheck').onclick = () => submitCheck().catch(async e => { await modalAlert('提交失败', String(e.message || e)) }) + + if (currentTab === 'wave') { + document.body.classList.add('full-width-mode') + showWaveTab() + } else if (currentTab === 'korean') { + document.body.classList.add('full-width-mode') + showKoreanTab() + } else if (currentTab === 'zhihu') { + document.body.classList.add('full-width-mode') + showZhihuTab() + } else if (currentTab === 'x') { + document.body.classList.add('full-width-mode') + showXTab() + } else { + resetForm() + resetLibForm() + el('aiScene').value = 'commute' + el('aiTempZone').value = '' + el('aiAuditResult').textContent = `请上传穿搭照片后开始AI审核(当前:${profileText(state.profileKey)})` + el('aiAuditIssues').textContent = '' + await loadRules() + await Promise.all([loadOutfits(), loadRecentChecks(), loadToday(), loadLibrary(), loadUnmatchedReport()]) + } + } + + init().catch(e => { + modalAlert('初始化失败', String((e && e.message) || e)) + }) +})() diff --git a/public/tools/wall/auth_config.json b/public/tools/wall/auth_config.json new file mode 100644 index 0000000..d3480c4 --- /dev/null +++ b/public/tools/wall/auth_config.json @@ -0,0 +1,7 @@ +{ + "_comment": "墙(Wall)工具的前端鉴权配置", + "enable_auth_comment": "true:启用鉴权(需要从导航登录);false:完全放开访问", + "enable_auth": true, + "max_age_days_comment": "鉴权 cookie 的最大有效天数(1~365)", + "max_age_days": 30 +} diff --git a/public/tools/wall/bjt.jpg b/public/tools/wall/bjt.jpg new file mode 100644 index 0000000..5227696 Binary files /dev/null and b/public/tools/wall/bjt.jpg differ diff --git a/public/tools/wall/bjt_0.jpg b/public/tools/wall/bjt_0.jpg new file mode 100644 index 0000000..4fb69ee Binary files /dev/null and b/public/tools/wall/bjt_0.jpg differ diff --git a/public/tools/wall/bjt_1.jpg b/public/tools/wall/bjt_1.jpg new file mode 100644 index 0000000..25d6936 Binary files /dev/null and b/public/tools/wall/bjt_1.jpg differ diff --git a/public/tools/wall/bjt_2.jpg b/public/tools/wall/bjt_2.jpg new file mode 100644 index 0000000..ad5f77f Binary files /dev/null and b/public/tools/wall/bjt_2.jpg differ diff --git a/public/tools/wall/bjt_3.jpg b/public/tools/wall/bjt_3.jpg new file mode 100644 index 0000000..d14d60f Binary files /dev/null and b/public/tools/wall/bjt_3.jpg differ diff --git a/public/tools/wall/bjt_4.jpg b/public/tools/wall/bjt_4.jpg new file mode 100644 index 0000000..685bf09 Binary files /dev/null and b/public/tools/wall/bjt_4.jpg differ diff --git a/public/tools/wall/index.html b/public/tools/wall/index.html new file mode 100644 index 0000000..db5b8cd --- /dev/null +++ b/public/tools/wall/index.html @@ -0,0 +1,111 @@ + + + + + + Yang's Toolbox · 告知墙 + + + + + +
    + +
    +
    +
    +
    + + + + + +
    +
    + + + +
    + + + + + diff --git a/public/tools/wall/wall.css b/public/tools/wall/wall.css new file mode 100644 index 0000000..39d6637 --- /dev/null +++ b/public/tools/wall/wall.css @@ -0,0 +1,205 @@ +.root, :root { --card-title-size: 32px; --card-list-size: 24px; --card-padding: 24px } +.html, body { height: 100%; overflow: hidden } +.wall { display: grid; gap: 12px; padding: 8px; min-height: calc(100vh - 60px); height: 100vh; box-sizing: border-box } +.cards { display: grid; grid-template-columns: 1fr; grid-auto-rows: 1fr; height: 100%; gap: 0; align-content: stretch; overflow: hidden } +.cards-inner { display: flex; height: 100%; gap: 12px; will-change: transform; transition: transform 300ms ease } +.cards-inner .card { flex: 0 0 calc(50% - 6px) } +.cards { position: relative } +.card { border: 2px solid #111; border-radius: 16px; padding: var(--card-padding); background: rgba(255,255,255,0.96) } +.card { height: 100%; display: flex; flex-direction: column; position: relative; z-index: 1; overflow: hidden } +.card::before { content: ""; position: absolute; inset: 0; border-radius: 16px; background-image: var(--card-bg-image, none); background-repeat: var(--card-bg-repeat, repeat); background-size: var(--card-bg-size, 120px 120px); background-position: center; opacity: var(--card-bg-opacity, 0.08); z-index: 0 } +.card > * { position: relative; z-index: 1 } +.card .list { flex: 1; font-size: var(--card-list-size) } +.card .lines { flex: 1; font-size: var(--card-list-size); line-height: 1.5 } +.card .lines div { margin: 6px 0 } +.card .title { font-size: var(--card-title-size) } +.card .title { font-size: 32px; font-weight: 700; margin-bottom: 12px } +.card .list { font-size: 24px; line-height: 1.5 } +.card .list li { margin: 6px 0 } +.card .meta { margin-top: 8px; font-size: 16px; color: #666 } +.status { margin: 8px 0; padding: 8px; border: 1px solid #ffd666; background: #fffbe6; color: #a87000; border-radius: 8px } +.controls { display: flex; gap: 8px; align-items: center } +.preview { display: grid; grid-template-columns: repeat(auto-fill, minmax(105px, 1fr)); gap: 6px; max-height: 100%; overflow-y: auto } +.thumb { border: 1px solid #bbb; border-radius: 10px; padding: 6px; background: #fff; cursor: pointer } +.thumb .title { font-size: 12px; font-weight: 600; margin-bottom: 4px } +.preview .title { display: block; max-width: 6em; word-break: break-all; overflow-wrap: anywhere; white-space: normal } +.thumb .list { display: none } +.thumb.active { border-color: #1677ff } +.debug { margin: 12px 0; padding: 8px; border: 1px dashed #aaa; } +.debug-actions { display: flex; gap: 8px; margin-bottom: 8px } +.debug-output { height: 240px; overflow: auto; background: #fafafa; padding: 8px; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size: 12px; white-space: pre-wrap } + +/* Landscape preference */ +@media (orientation: landscape) { + .wall { + grid-template-columns: 1fr auto; + grid-template-rows: 1fr auto; + grid-template-areas: + "cards preview" + "controls controls"; + align-items: start; + } + .preview { display: grid; grid-template-columns: 1fr; grid-auto-rows: min-content; gap: 6px; overflow: auto; width: 8em; box-sizing: border-box } + .thumb { min-width: unset; width: 100% } + .preview .title { max-width: 8em } + .weather { grid-column: 1 / -1 !important } + .controls { grid-column: 1 / -1 !important; width: 100% } +} + +/* Portrait phones (iPhone 14/Pro/Max widths ~393–430px) */ +@media (max-width: 480px) { + .wall { gap: 8px; padding: 6px; min-height: 100vh } + .cards { gap: 8px } + .card { padding: var(--card-padding) } + .card .title { font-size: var(--card-title-size) } + .card .list { font-size: var(--card-list-size) } + .preview { display: flex; gap: 6px; overflow: hidden; flex-wrap: nowrap } + .thumb { min-width: 90px; padding: 4px } + .thumb .title { font-size: 11px } + .thumb .list { font-size: 9px; line-height: 1.25 } + .controls { gap: 6px } +} + +/* Portrait mobile: allow vertical scroll */ +@media (max-width: 480px) and (orientation: portrait) { + html, body { overflow-y: auto; overflow-x: hidden; -webkit-overflow-scrolling: touch } + .wall { min-height: auto } +} + +/* Mobile iPad/iPhone friendly */ +@media (max-width: 800px) { + .card .title { font-size: 28px } + .card .list { font-size: 20px } + .debug-output { height: 160px } + .controls { flex-wrap: wrap } +} +/* Portrait strict sizing for preview and weather */ +@media (orientation: portrait) { + .preview { height: 4em; display: flex; gap: 6px; overflow-x: auto; overflow-y: hidden; align-items: center } + .thumb { height: 3.6em; padding: 4px 6px; display: flex; align-items: center } + .preview .title { line-height: 1em; max-width: 8em; max-height: 4em; word-break: break-all; overflow: hidden; white-space: normal } +} + +.wall-settings-modal { + max-width: 640px; + width: 90vw; + box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18); + border-radius: 14px; + padding: 20px; + gap: 12px; +} + +.wall-settings-modal h3 { + margin: 0 0 8px 0; + font-size: 18px; +} + +.wall-settings-modal label { + display: block; + margin-bottom: 4px; + font-size: 13px; + color: #555; +} + +.wall-settings-modal input, +.wall-settings-modal select { + width: 100%; +} + +.wall-cards-modal { + width: 80vw; + max-width: 80vw; + max-height: 80vh; + height: 80vh; + padding: 20px; + border-radius: 14px; + box-shadow: 0 16px 40px rgba(0, 0, 0, 0.22); + display: grid; + grid-template-rows: auto auto 1fr auto; + gap: 12px; +} + +.wall-cards-modal h3 { + margin: 0; + font-size: 18px; +} + +.cards-modal-toolbar { + display: flex; + justify-content: flex-start; + align-items: center; +} + +.cards-modal-main { + display: grid; + grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.4fr); + gap: 12px; + min-height: 0; +} + +.cards-modal-list { + border: 1px solid #e5e5e5; + border-radius: 8px; + padding: 8px; + background: #fafafa; + overflow: auto; +} + +.cards-modal-editor { + display: grid; + grid-template-rows: auto 1fr auto; + gap: 8px; + min-height: 0; +} + +.cards-modal-textarea { + display: grid; + grid-template-rows: auto 1fr; + min-height: 0; +} + +.cards-modal-textarea textarea { + width: 100%; + height: 100%; + resize: none; +} + +.cards-table { + width: 100%; + border-collapse: collapse; + font-size: 13px; +} + +.cards-table th, +.cards-table td { + padding: 4px 6px; + border-bottom: 1px solid #e5e5e5; +} + +.cards-table tr:hover { + background: #f5f5f5; +} + +.wall-cards-modal label { + display: block; + margin-bottom: 4px; + font-size: 13px; + color: #555; +} + +.wall-cards-modal input, +.wall-cards-modal textarea { + width: 100%; +} + +@media (max-width: 800px) { + .wall-cards-modal { + width: 96vw; + max-width: 96vw; + grid-template-rows: auto auto 1fr auto; + } + .cards-modal-main { + grid-template-columns: 1fr; + grid-template-rows: minmax(0, 0.9fr) minmax(0, 1.1fr); + } +} diff --git a/public/tools/wall/wall.js b/public/tools/wall/wall.js new file mode 100644 index 0000000..7182e31 --- /dev/null +++ b/public/tools/wall/wall.js @@ -0,0 +1,386 @@ +let WALL_CONF = { autoplay_ms: 45000, swipe_pause_ms: 5 * 60 * 1000, max_cards_on_screen: 2 } +let SCENES = [] +let editingCardId = null + +const elCards = () => document.getElementById('cards') +const elStatus = () => document.getElementById('status') + +let carouselTimer = null +let pausedUntil = 0 +let currentIndex = 0 + +const fmtTime = d => (window.fmtCNSimpleTime ? window.fmtCNSimpleTime(d) : `${String(d.getHours()).padStart(2,'0')}:${String(d.getMinutes()).padStart(2,'0')}`) +const dayIndex = () => Math.floor((Date.now() / (24*3600*1000))) % 3 + +const buildCardEl = (c) => { + const card = document.createElement('div') + card.className = 'card' + const title = document.createElement('div') + title.className = 'title' + title.textContent = c.title + const lines = document.createElement('div') + lines.className = 'lines' + for (const s of c.items) { const ln = document.createElement('div'); ln.textContent = s; lines.appendChild(ln) } + const meta = document.createElement('div') + meta.className = 'meta' + meta.textContent = c.meta + card.appendChild(title) + card.appendChild(lines) + card.appendChild(meta) + return card +} + +const renderCards = (mode = 'normal') => { + const box = elCards(); if (!box) return + let inner = document.getElementById('cards-inner') + if (!inner) { inner = document.createElement('div'); inner.id = 'cards-inner'; inner.className = 'cards-inner'; box.innerHTML = ''; box.appendChild(inner) } else { inner.innerHTML = '' } + const idx = currentIndex + if (mode === 'prevPrep') { + const prev = SCENES[(idx - 1 + SCENES.length) % SCENES.length] + const cur = SCENES[idx % SCENES.length] + const next = SCENES[(idx + 1) % SCENES.length] + inner.appendChild(buildCardEl(prev)) + inner.appendChild(buildCardEl(cur)) + inner.appendChild(buildCardEl(next)) + inner.style.transform = 'translateX(-50%)' + } else if (mode === 'nextPrep') { + const cur = SCENES[idx % SCENES.length] + const next = SCENES[(idx + 1) % SCENES.length] + const next2 = SCENES[(idx + 2) % SCENES.length] + inner.appendChild(buildCardEl(cur)) + inner.appendChild(buildCardEl(next)) + inner.appendChild(buildCardEl(next2)) + inner.style.transform = 'translateX(0)' + } else { + const cur = SCENES[idx % SCENES.length] + const next = SCENES[(idx + 1) % SCENES.length] + inner.appendChild(buildCardEl(cur)) + inner.appendChild(buildCardEl(next)) + inner.style.transform = 'translateX(0)' + } + updatePreviewActive() + fitLayout() +} + +const rotate = () => { currentIndex = (currentIndex + 1) % SCENES.length; renderCards(); updatePreviewActive() } +const rotatePrev = () => { currentIndex = (currentIndex - 1 + SCENES.length) % SCENES.length; renderCards(); updatePreviewActive() } + +const updatePreviewActive = () => { + const box = document.getElementById('preview'); if (!box) return + box.querySelectorAll('.thumb').forEach(node => { + const i = parseInt(node.getAttribute('data-idx') || '0', 10) + if (i === currentIndex) node.classList.add('active'); else node.classList.remove('active') + }) +} + +const startAutoplay = () => { + if (carouselTimer) clearInterval(carouselTimer) + const status = elStatus(); if (status) { status.style.display = 'none'; status.textContent = '' } + carouselTimer = setInterval(() => { + if (Date.now() < pausedUntil) return + rotate() + }, WALL_CONF.autoplay_ms) +} + +const pauseAutoplay = ms => { pausedUntil = Date.now() + ms; const status = elStatus(); if (status) { status.style.display = ''; const t = new Date(pausedUntil); status.textContent = `已暂停自动播放,至 ${fmtTime(t)}` } } + +const bindSwipe = () => { + const area = elCards(); if (!area) return + let x0 = 0, y0 = 0, dragging = false + area.addEventListener('touchstart', (e) => { const t = e.touches[0]; x0 = t.clientX; y0 = t.clientY; dragging = true; const inner = document.getElementById('cards-inner'); if (inner) inner.style.transition = 'none' }, { passive: true }) + area.addEventListener('touchmove', (e) => { if (!dragging) return; const t = e.touches[0]; const dx = t.clientX - x0; const dy = t.clientY - y0; if (Math.abs(dx) > Math.abs(dy)) { const inner = document.getElementById('cards-inner'); if (inner) inner.style.transform = `translateX(${dx}px)` } }, { passive: true }) + area.addEventListener('touchend', (e) => { + dragging = false + const t = e.changedTouches[0]; const dx = t.clientX - x0; const dy = t.clientY - y0 + const inner = document.getElementById('cards-inner') + const threshold = 40 + if (Math.abs(dx) > Math.abs(dy) && Math.abs(dx) > threshold) { if (dx < 0) animateRotate('next'); else animateRotate('prev'); pauseAutoplay(WALL_CONF.swipe_pause_ms) } + else { if (inner) { inner.style.transition = 'transform 300ms ease'; inner.style.transform = 'translateX(0px)'; setTimeout(() => { inner.style.transition = ''; inner.style.transform = '' }, 300) } } + }) +} + +const animateRotate = (dir) => { + const inner = document.getElementById('cards-inner') + const box = elCards() + if (!inner || !box) { if (dir === 'next') rotate(); else rotatePrev(); return } + const step = Math.round(box.clientWidth / 2) + inner.style.transition = 'transform 300ms ease' + inner.style.transform = dir === 'next' ? `translateX(-${step}px)` : `translateX(${step}px)` + setTimeout(() => { inner.style.transition = ''; inner.style.transform = ''; if (dir === 'next') rotate(); else rotatePrev() }, 300) +} + +const renderPreview = () => { + const box = document.getElementById('preview'); if (!box) return + box.innerHTML = '' + for (let i = 0; i < SCENES.length; i++) { + const c = SCENES[i] + const t = document.createElement('div') + t.className = 'thumb' + t.setAttribute('data-idx', String(i)) + const title = document.createElement('div'); title.className = 'title'; title.textContent = c.title + t.appendChild(title) + t.addEventListener('click', () => { currentIndex = i; renderCards(); updatePreviewActive(); pauseAutoplay(WALL_CONF.swipe_pause_ms) }) + box.appendChild(t) + } + updatePreviewActive() + fitLayout() +} + +const openSettings = async () => { + const res = await fetch('/api/wall/config') + const data = await res.json() + if (data.ok) { + const cfg = data.config || {} + document.getElementById('autoplay-ms').value = cfg.autoplay_ms || WALL_CONF.autoplay_ms + document.getElementById('swipe-pause-ms').value = cfg.swipe_pause_ms || WALL_CONF.swipe_pause_ms + document.getElementById('max-cards').value = cfg.max_cards_on_screen || WALL_CONF.max_cards_on_screen + const bg = cfg.background || {} + document.getElementById('bg-url').value = bg.url || '' + document.getElementById('bg-mode').value = bg.mode || 'tile' + document.getElementById('bg-size').value = bg.size || 120 + document.getElementById('bg-opacity').value = bg.opacity || 0.08 + } + document.getElementById('settings-modal').classList.remove('hidden') +} + +const saveSettings = async () => { + const body = { + autoplay_ms: parseInt(document.getElementById('autoplay-ms').value, 10) || WALL_CONF.autoplay_ms, + swipe_pause_ms: parseInt(document.getElementById('swipe-pause-ms').value, 10) || WALL_CONF.swipe_pause_ms, + max_cards_on_screen: parseInt(document.getElementById('max-cards').value, 10) || WALL_CONF.max_cards_on_screen, + background: { + url: String(document.getElementById('bg-url').value || ''), + mode: String(document.getElementById('bg-mode').value || 'tile'), + size: parseInt(document.getElementById('bg-size').value || '120', 10), + opacity: Number(document.getElementById('bg-opacity').value || '0.08') + } + } + await fetch('/api/wall/config', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(body) }) + document.getElementById('settings-modal').classList.add('hidden') + await initWall() +} + +const resetCardForm = () => { + const title = document.getElementById('cards-edit-title'); if (title) title.value = '' + const items = document.getElementById('cards-edit-items'); if (items) items.value = '' + const meta = document.getElementById('cards-edit-meta'); if (meta) meta.value = '' +} + +const reloadCardsTable = async () => { + try { + const res = await fetch('/api/wall/cards') + const data = await res.json() + if (!data.ok) return + const tbody = document.getElementById('cards-table-body') + if (!tbody) return + tbody.innerHTML = '' + const rows = Array.isArray(data.rows) ? data.rows : [] + rows.forEach(row => { + const tr = document.createElement('tr') + const tdTitle = document.createElement('td') + tdTitle.textContent = row.title || '' + const tdMeta = document.createElement('td') + tdMeta.textContent = row.meta || '' + const tdOps = document.createElement('td') + const btnEdit = document.createElement('button') + btnEdit.className = 'btn' + btnEdit.textContent = '编辑' + btnEdit.addEventListener('click', () => fillCardForm(row)) + const btnDel = document.createElement('button') + btnDel.className = 'btn' + btnDel.textContent = '删除' + btnDel.style.marginLeft = '4px' + btnDel.addEventListener('click', async () => { + if (!confirm('确定删除该卡片?')) return + await fetch(`/api/wall/cards/${row.id}`, { method: 'DELETE' }) + await reloadCardsTable() + await initWall() + }) + tdOps.appendChild(btnEdit) + tdOps.appendChild(btnDel) + tr.appendChild(tdTitle) + tr.appendChild(tdMeta) + tr.appendChild(tdOps) + tbody.appendChild(tr) + }) + } catch {} +} + +const openCardsMaintain = async () => { + editingCardId = null + resetCardForm() + await reloadCardsTable() + const m = document.getElementById('cards-modal') + if (m) m.classList.remove('hidden') +} + +const closeCardsMaintain = () => { + const m = document.getElementById('cards-modal') + if (m) m.classList.add('hidden') + initWall() +} + +const fillCardForm = (row) => { + editingCardId = row.id + const title = document.getElementById('cards-edit-title'); if (title) title.value = row.title || '' + const items = document.getElementById('cards-edit-items'); if (items) items.value = (Array.isArray(row.items) ? row.items : []).join('\n') + const meta = document.getElementById('cards-edit-meta'); if (meta) meta.value = row.meta || '' +} + +const saveCardFromForm = async () => { + const titleEl = document.getElementById('cards-edit-title') + const itemsEl = document.getElementById('cards-edit-items') + const metaEl = document.getElementById('cards-edit-meta') + if (!titleEl || !itemsEl || !metaEl) return + const title = String(titleEl.value || '').trim() + const meta = String(metaEl.value || '') + const items = String(itemsEl.value || '').split(/\r?\n/).map(s => s.trim()).filter(Boolean) + if (!title) return + const payload = { title, meta, items } + if (editingCardId) { + await fetch(`/api/wall/cards/${editingCardId}`, { method: 'PUT', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payload) }) + } else { + await fetch('/api/wall/cards', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payload) }) + } + await reloadCardsTable() + await initWall() +} + +const initWall = async () => { + let cfg = null + let scenes = [] + try { + const cfgResp = await fetch('/api/wall/config') + const cardsResp = await fetch('/api/wall/cards').catch(() => null) + const cfgData = await cfgResp.json() + if (cfgData.ok) { + cfg = cfgData.config || {} + WALL_CONF = { + autoplay_ms: cfg.autoplay_ms || WALL_CONF.autoplay_ms, + swipe_pause_ms: cfg.swipe_pause_ms || WALL_CONF.swipe_pause_ms, + max_cards_on_screen: cfg.max_cards_on_screen || WALL_CONF.max_cards_on_screen + } + } + if (cardsResp) { + const cardsData = await cardsResp.json() + if (cardsData.ok && Array.isArray(cardsData.rows)) { + scenes = cardsData.rows.map(r => ({ + title: String(r.title || ''), + items: Array.isArray(r.items) ? r.items.map(x => String(x || '')) : [], + meta: String(r.meta || '') + })) + } + } + if ((!scenes || scenes.length === 0) && cfg && Array.isArray(cfg.cards)) { + scenes = cfg.cards.map(c => ({ + title: String(c.title || ''), + items: Array.isArray(c.items) ? c.items.map(x => String(x || '')) : [], + meta: String(c.meta || '') + })) + } + } catch {} + SCENES = Array.isArray(scenes) ? scenes : [] + if (SCENES.length === 0) SCENES = [{ title: '示例卡片', items: ['在设置中添加你的提醒'], meta: '示例' }] + currentIndex = 0 + renderCards() + renderPreview() + startAutoplay() + bindSwipe() + loadLogs() + fitLayout() + applyScrollPolicy() + applyCardsBackground() +} + +const fitLayout = () => { + const wall = document.getElementById('wall') + const cards = elCards() + const preview = document.getElementById('preview') + const controls = document.querySelector('.controls') + if (!wall || !cards) return + const avail = wall.clientHeight - ((preview && preview.offsetHeight) || 0) - ((controls && controls.offsetHeight) || 0) - 16 + const needed = cards.scrollHeight + let scale = 1 + if (avail > 0 && needed > avail) { + scale = Math.max(0.7, Math.min(1, avail / needed)) + } + const isPhone = window.innerWidth <= 480 + const baseTitle = isPhone ? 22 : 32 + const baseList = isPhone ? 16 : 24 + const basePad = isPhone ? 12 : 24 + const baseWeatherPad = isPhone ? 8 : 12 + const set = (k, v) => document.documentElement.style.setProperty(k, `${Math.round(v)}px`) + set('--card-title-size', baseTitle * scale) + set('--card-list-size', baseList * scale) + set('--card-padding', basePad * scale) + set('--weather-padding', baseWeatherPad * scale) +} + +document.addEventListener('DOMContentLoaded', () => { + initWall() + const bs = document.getElementById('btn-settings'); if (bs) bs.addEventListener('click', openSettings) + const bl = document.getElementById('btn-prev-card'); if (bl) bl.addEventListener('click', () => { animateRotate('prev'); pauseAutoplay(WALL_CONF.swipe_pause_ms) }) + const br = document.getElementById('btn-next-card'); if (br) br.addEventListener('click', () => { animateRotate('next'); pauseAutoplay(WALL_CONF.swipe_pause_ms) }) + const bsv = document.getElementById('btn-save'); if (bsv) bsv.addEventListener('click', saveSettings) + const bc = document.getElementById('btn-close'); if (bc) bc.addEventListener('click', () => document.getElementById('settings-modal').classList.add('hidden')) + const bm = document.getElementById('btn-cards-maintain'); if (bm) bm.addEventListener('click', openCardsMaintain) + const bAdd = document.getElementById('cards-btn-add'); if (bAdd) bAdd.addEventListener('click', () => { editingCardId = null; resetCardForm() }) + const bCardSave = document.getElementById('cards-btn-save'); if (bCardSave) bCardSave.addEventListener('click', () => { saveCardFromForm() }) + const bCardCancel = document.getElementById('cards-btn-cancel'); if (bCardCancel) bCardCancel.addEventListener('click', () => { closeCardsMaintain() }) + window.wallOpenSettings = openSettings + const bcp = document.getElementById('w-btn-copy'); if (bcp) bcp.addEventListener('click', async () => { try { await navigator.clipboard.writeText((wOut() && wOut().textContent) || '') } catch {} }) + const brf = document.getElementById('w-btn-refresh'); if (brf) brf.addEventListener('click', loadLogs) + const bcl = document.getElementById('w-btn-clear'); if (bcl) bcl.addEventListener('click', async () => { try { await fetch('/api/debug/clear?channel=wall', { method: 'POST' }) } catch {}; loadLogs() }) + window.addEventListener('resize', () => fitLayout()) + window.addEventListener('resize', () => applyScrollPolicy()) + window.addEventListener('orientationchange', () => applyScrollPolicy()) + window.addEventListener('resize', () => applyCardsBackground()) +}) +const wOut = () => document.getElementById('w-debug-output') +const mts = () => (window.fmtCNDateTime ? window.fmtCNDateTime(new Date()) : new Date().toLocaleString('zh-CN')) +const logLocal = msg => { const out = wOut(); if (!out) return; const line = `${mts()} ${msg}`; const c = out.textContent || ''; out.textContent = c ? c + "\n" + line : line; out.scrollTop = out.scrollHeight } +const loadLogs = async () => { try { const res = await fetch('/api/debug/logs?limit=5000&channel=wall'); const data = await res.json(); const out = wOut(); if (data.ok && out) { out.textContent = (data.lines || []).join('\n'); out.scrollTop = out.scrollHeight } } catch {} +} + +const applyScrollPolicy = () => { + const ua = navigator.userAgent || '' + const isPhoneUA = /iPhone|Android.+Mobile/i.test(ua) + const portraitSmall = window.innerWidth <= 480 && window.matchMedia('(orientation: portrait)').matches + const allowScroll = isPhoneUA || portraitSmall + const html = document.documentElement + const body = document.body + if (allowScroll) { html.style.overflowY = 'auto'; html.style.overflowX = 'hidden'; body.style.overflowY = 'auto'; body.style.overflowX = 'hidden' } + else { html.style.overflow = 'hidden'; body.style.overflow = 'hidden' } +} + +const applyCardsBackground = async () => { + try { + const [cfgResp, listResp] = await Promise.all([ + fetch('/api/wall/config'), + fetch('/api/wall/backgrounds') + ]) + const data = await cfgResp.json() + const listData = await listResp.json().catch(() => ({ ok:false, images: [] })) + const cfg = (data && data.config) || {} + const bg = cfg.background || {} + let url = String(bg.url || '') + if (!url) { + const arr = Array.isArray(listData.images) ? listData.images : [] + if (arr.length > 0) url = arr[Math.floor(Math.random() * arr.length)] + else url = '/tools/wall/bjt.jpg' + } + const mode = String(bg.mode || 'tile') + const isPhone = window.innerWidth <= 480 + const size = parseInt(bg.size || (isPhone ? 72 : 120), 10) + const opacity = Math.max(0, Math.min(1, Number(bg.opacity || 0.12))) + // apply to CSS variables for card pseudo background + const root = document.documentElement.style + root.setProperty('--card-bg-image', `url(${url})`) + root.setProperty('--card-bg-repeat', mode === 'cover' ? 'no-repeat' : 'repeat') + root.setProperty('--card-bg-size', mode === 'cover' ? 'cover' : `${size}px ${size}px`) + root.setProperty('--card-bg-opacity', String(opacity)) + // remove legacy overlay if exists + const ov = document.getElementById('cards-bg') + if (ov && ov.parentNode) ov.parentNode.removeChild(ov) + } catch {} +} diff --git a/public/tools/weekly/auth_config.json b/public/tools/weekly/auth_config.json new file mode 100644 index 0000000..145493b --- /dev/null +++ b/public/tools/weekly/auth_config.json @@ -0,0 +1,7 @@ +{ + "_comment": "周报工具的前端鉴权配置", + "enable_auth_comment": "true:启用鉴权(需要从导航登录);false:完全放开访问周报工具", + "enable_auth": true, + "max_age_days_comment": "鉴权 cookie 的最大有效天数(1~365),30 天过期后从导航页重新握手", + "max_age_days": 30 +} diff --git a/public/tools/weekly/index.html b/public/tools/weekly/index.html new file mode 100644 index 0000000..6675c1d --- /dev/null +++ b/public/tools/weekly/index.html @@ -0,0 +1,391 @@ + + + + + + 工作周报 + + + + + + + + +
    + +
    +

    登录

    +
    + + + +
    + +
    + + + +